[
  {
    "path": ".gitignore",
    "content": "# See http://help.github.com/ignore-files/ for more about ignoring files.\n\n# IDEs and editors\n/.idea\n*.iml\n/.vscode\n\n#System Files\n.DS_Store\n\n# Ignore everything in vendor/, except for *.go files,\n# LICENSE and COPYING. Ignore Go tests.\n# https://github.com/golang/dep/issues/120#issuecomment-306518546\nvendor/**/*\n!vendor/**/\n!vendor/**/*.go\n!vendor/**/*.c\n!vendor/**/*.cpp\n!vendor/**/*.s\n!vendor/**/COPYING*\n!vendor/**/PATENTS*\n!vendor/**/NOTICE*\n!vendor/**/LICENSE*\nvendor/**/*_test.go\n"
  },
  {
    "path": ".travis.yml",
    "content": "language: go\n\nsudo: false\n\ngo:\n- 1.10.3\n\nscript:\n- ./scripts/tests.sh\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# How to Contribute\n\nCoreOS projects are [Apache 2.0 licensed](LICENSE) and accept contributions via\nGitHub pull requests.  This document outlines some of the conventions on\ndevelopment workflow, commit message formatting, contact points and other\nresources to make it easier to get your contribution accepted.\n\n# Certificate of Origin\n\nBy contributing to this project you agree to the Developer Certificate of\nOrigin (DCO). This document was created by the Linux Kernel community and is a\nsimple statement that you, as a contributor, have the legal right to make the\ncontribution. See the [DCO](DCO) file for details.\n\n# Email and Chat\n\nThe project currently uses the general etcd email list and Slack channel:\n- Email: [etcd-dev](https://groups.google.com/g/etcd-dev)\n- Slack: [#etcd](https://kubernetes.slack.com/messages/C3HD8ARJ5/details/) channel on Kubernetes ([get an invite](http://slack.kubernetes.io/))\n\nPlease avoid emailing maintainers found in the MAINTAINERS file directly. They\nare very busy and read the mailing lists.\n\n## Getting Started\n\n- Fork the repository on GitHub\n- Read the [README](README.md) for build and test instructions\n- Play with the project, submit bugs, submit patches!\n\n## Contribution Flow\n\nThis is a rough outline of what a contributor's workflow looks like:\n\n- Create a topic branch from where you want to base your work (usually master).\n- Make commits of logical units.\n- Make sure your commit messages are in the proper format (see below).\n- Push your changes to a topic branch in your fork of the repository.\n- Make sure the tests pass, and add any new tests as appropriate.\n- Submit a pull request to the original repository.\n\nThanks for your contributions!\n\n### Coding Style\n\nCoreOS projects written in Go follow a set of style guidelines that we've documented \n[here](https://github.com/coreos/docs/tree/master/golang). Please follow them when \nworking on your contributions.\n\n### Format of the Commit Message\n\nWe follow a rough convention for commit messages that is designed to answer two\nquestions: what changed and why. The subject line should feature the what and\nthe body of the commit should describe the why.\n\n```\nscripts: add the test-cluster command\n\nthis uses tmux to setup a test cluster that you can easily kill and\nstart for debugging.\n\nFixes #38\n```\n\nThe format can be described more formally as follows:\n\n```\n<subsystem>: <what changed>\n<BLANK LINE>\n<why this change was made>\n<BLANK LINE>\n<footer>\n```\n\nThe first line is the subject and should be no longer than 70 characters, the\nsecond line is always blank, and other lines should be wrapped at 80 characters.\nThis allows the message to be easier to read on GitHub as well as in various\ngit tools.\n"
  },
  {
    "path": "DCO",
    "content": "Developer Certificate of Origin\nVersion 1.1\n\nCopyright (C) 2004, 2006 The Linux Foundation and its contributors.\n660 York Street, Suite 102,\nSan Francisco, CA 94110 USA\n\nEveryone is permitted to copy and distribute verbatim copies of this\nlicense document, but changing it is not allowed.\n\n\nDeveloper's Certificate of Origin 1.1\n\nBy making a contribution to this project, I certify that:\n\n(a) The contribution was created in whole or in part by me and I\n    have the right to submit it under the open source license\n    indicated in the file; or\n\n(b) The contribution is based upon previous work that, to the best\n    of my knowledge, is covered under an appropriate open source\n    license and I have the right under that license to submit that\n    work with modifications, whether created in whole or in part\n    by me, under the same open source license (unless I am\n    permitted to submit under a different license), as indicated\n    in the file; or\n\n(c) The contribution was provided directly to me by some other\n    person who certified (a), (b) or (c) and I have not modified\n    it.\n\n(d) I understand and agree that this project and the contribution\n    are public and that a record of the contribution (including all\n    personal information I submit with it, including my sign-off) is\n    maintained indefinitely and may be redistributed consistent with\n    this project or the open source license(s) involved.\n"
  },
  {
    "path": "Gopkg.toml",
    "content": "################################\n# Direct dependencies\n\n\n# master\n[[constraint]]\n  name = \"github.com/coreos/etcd\"\n  source = \"https://github.com/coreos/etcd\"\n  revision = \"b241e383fde587fb5b5f5f9188589f4a7e467ccc\"\n\n# v1.7.5\n[[constraint]]\n  name = \"google.golang.org/grpc\"\n  source = \"https://github.com/grpc/grpc-go\"\n  revision = \"5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e\"\n\n\n[[constraint]]\n  name = \"go.uber.org/zap\"\n  version = \"v1.8.0\"\n\n[[constraint]]\n  name = \"github.com/gogo/protobuf\"\n  source = \"https://github.com/gogo/protobuf\"\n  revision = \"160de10b2537169b5ae3e7e221d28269ef40d311\"\n\n[[constraint]]\n  name = \"github.com/golang/protobuf\"\n  source = \"https://github.com/golang/protobuf\"\n  revision = \"1e59b77b52bf8e4b449a57e6f79f21226d571845\"\n\n\n[[constraint]]\n  name = \"golang.org/x/net\"\n  source = \"https://github.com/golang/net\"\n  revision = \"434ec0c7fe3742c984919a691b2018a6e9694425\"\n\n[[constraint]]\n  name = \"golang.org/x/time\"\n  source = \"https://github.com/golang/time\"\n  revision = \"6dc17368e09b0e8634d71cac8168d853e869a0c7\"\n\n\n[[constraint]]\n  name = \"gopkg.in/yaml.v2\"\n  source = \"https://github.com/go-yaml/yaml\"\n  revision = \"d670f9405373e636a5a2765eea47fac0c9bc91a4\"\n\n[[constraint]]\n  name = \"github.com/dustin/go-humanize\"\n  source = \"https://github.com/dustin/go-humanize\"\n  revision = \"02af3965c54e8cacf948b97fef38925c4120652c\"\n\n[[constraint]]\n  name = \"github.com/spf13/cobra\"\n  source = \"https://github.com/spf13/cobra\"\n  revision = \"b95ab734e27d33e0d8fbabf71ca990568d4e2020\"\n\n[[constraint]]\n  name = \"github.com/olekukonko/tablewriter\"\n  source = \"https://github.com/olekukonko/tablewriter\"\n  revision = \"d4647c9c7a84d847478d890b816b7d8b62b0b279\"\n\n[[constraint]]\n  name = \"github.com/cheggaaa/pb\"\n  source = \"https://github.com/cheggaaa/pb\"\n  revision = \"18d384da9bdc1e5a08fc2a62a494c321d9ae74ea\"\n\n\n\n[[constraint]]\n  name = \"github.com/samuel/go-zookeeper\"\n  source = \"https://github.com/samuel/go-zookeeper\"\n  revision = \"471cd4e61d7a78ece1791fa5faa0345dc8c7d5a5\"\n\n\n[[constraint]]\n  name = \"github.com/hashicorp/consul\"\n  source = \"https://github.com/hashicorp/consul\"\n  revision = \"b55059fc3d0327c92c41431e57dfd2df3f956b03\"\n\n\n[[constraint]]\n  name = \"github.com/gyuho/dataframe\"\n  source = \"https://github.com/gyuho/dataframe\"\n  revision = \"008fc241adc41d4bd5c54b9f6564ef16407c030e\"\n\n[[constraint]]\n  name = \"github.com/gyuho/linux-inspect\"\n  source = \"https://github.com/gyuho/linux-inspect\"\n  revision = \"997067d2074a699295cf069e19e745e14db9bcf3\"\n\n\n[[constraint]]\n  name = \"gonum.org/v1/plot\"\n  source = \"https://github.com/gonum/plot\"\n  revision = \"8e90bd1840aacc281e54298e39ac0ae2be794419\"\n\n\n[[constraint]]\n  name = \"github.com/coreos/pkg\"\n  source = \"https://github.com/coreos/pkg\"\n  revision = \"97fdf19511ea361ae1c100dd393cc47f8dcfa1e1\"\n\n\n[[constraint]]\n  name = \"golang.org/x/oauth2\"\n  source = \"https://github.com/golang/oauth2\"\n  revision = \"30785a2c434e431ef7c507b54617d6a951d5f2b4\"\n\n[[constraint]]\n  name = \"google.golang.org/api\"\n  source = \"https://github.com/google/google-api-go-client\"\n  revision = \"e5c227fa33ebccc5a430d863efae400431fc0e85\"\n\n[[constraint]]\n  name = \"google.golang.org/appengine\"\n  source = \"https://github.com/golang/appengine\"\n  revision = \"5bee14b453b4c71be47ec1781b0fa61c2ea182db\"\n\n[[constraint]]\n  name = \"cloud.google.com/go\"\n  source = \"https://github.com/GoogleCloudPlatform/google-cloud-go\"\n  revision = \"2a6493c7a9214bf56c1003bd97443d505cc7e952\"\n\n\n################################\n\n\n################################\n# Transitive dependencies, and overrides\n\n\n# v1.3.1-coreos.6\n[[override]]\n  name = \"github.com/coreos/bbolt\"\n  source = \"https://github.com/coreos/bbolt\"\n  revision = \"48ea1b39c25fc1bab3506fbc712ecbaa842c4d2d\"\n\n# v1.3.0\n[[override]]\n  name = \"github.com/grpc-ecosystem/grpc-gateway\"\n  source = \"https://github.com/grpc-ecosystem/grpc-gateway\"\n  revision = \"92583770e3f01b09a0d3e9bdf64321d8bebd48f2\"\n\n\n################################\n"
  },
  {
    "path": "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 {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\n"
  },
  {
    "path": "NOTICE",
    "content": "CoreOS Project\nCopyright 2015 CoreOS, Inc\n\nThis product includes software developed at CoreOS, Inc.\n(http://www.coreos.com/).\n"
  },
  {
    "path": "README.md",
    "content": "# dbtester\n\n[![Build Status](https://img.shields.io/travis/etcd-io/dbtester.svg?style=flat-square)](https://travis-ci.com/etcd-io/dbtester) [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://godoc.org/github.com/etcd-io/dbtester)\n\nDistributed database benchmark tester: etcd, Zookeeper, Consul, zetcd, cetcd\n\nIt includes github.com/golang/freetype, which is based in part on the work of the FreeType Team.\n\n<br><br><hr>\n##### Performance Analysis\n\n- Latest test results can be found at https://github.com/etcd-io/dbtester/tree/master/test-results\n- Exploring Performance of etcd, Zookeeper and Consul Consistent Key-value Datastores (February 17, 2017)\n  - https://coreos.com/blog/performance-of-etcd.html\n\n\n<br><br><hr>\n##### Project\n\n![dbtester system architecture](./dbtester.png)\n\n- Database Agent\n  - https://github.com/etcd-io/dbtester/tree/master/agent\n- Database Client\n  - https://github.com/etcd-io/dbtester/tree/master/control\n- System Metrics\n  - https://github.com/gyuho/linux-inspect\n- Test Data Analysis\n  - https://github.com/etcd-io/dbtester/tree/master/analyze\n  - https://github.com/gyuho/dataframe\n  - https://github.com/gonum/plot\n\nFor etcd, we recommend [etcd benchmark tool](https://github.com/coreos/etcd/tree/master/tools/benchmark).\n\nAll logs and results can be found at https://github.com/etcd-io/dbtester/tree/master/test-results or https://console.cloud.google.com/storage/browser/dbtester-results/?authuser=0&project=etcd-development.\n\n\n<br><br><hr>\n##### Noticeable Warnings: Zookeeper\n\nSnapshot, when writing 1-million entries (256-byte key, 1KB value value), with 500 concurrent clients\n\n```\n# snapshot warnings\ncd 2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput\ngrep -r -i fsync-ing\\ the zookeeper-r3.4.9-java8-* | less\n\n2017-02-10 18:55:38,997 [myid:3] - WARN  [SyncThread:3:SyncRequestProcessor@148] - Too busy to snap, skipping\n2017-02-10 18:55:38,998 [myid:3] - INFO  [SyncThread:3:FileTxnLog@203] - Creating new log file: log.1000c0c51\n2017-02-10 18:55:40,855 [myid:3] - INFO  [SyncThread:3:FileTxnLog@203] - Creating new log file: log.1000cd2e6\n2017-02-10 18:55:40,855 [myid:3] - INFO  [Snapshot Thread:FileTxnSnapLog@240] - Snapshotting: 0x1000cd1ca to /home/gyuho/zookeeper/zookeeper.data/version-2/snapshot.1000cd1ca\n2017-02-10 18:55:46,382 [myid:3] - WARN  [SyncThread:3:FileTxnLog@338] - fsync-ing the write ahead log in SyncThread:3 took 1062ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide\n2017-02-10 18:55:47,471 [myid:3] - WARN  [SyncThread:3:FileTxnLog@338] - fsync-ing the write ahead log in SyncThread:3 took 1084ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide\n2017-02-10 18:55:49,425 [myid:3] - WARN  [SyncThread:3:FileTxnLog@338] - fsync-ing the write ahead log in SyncThread:3 took 1142ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide\n2017-02-10 18:55:51,188 [myid:3] - WARN  [SyncThread:3:FileTxnLog@338] - fsync-ing the write ahead log in SyncThread:3 took 1201ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide\n2017-02-10 18:55:52,292 [myid:3] - WARN  [SyncThread:3:FileTxnLog@338] - fsync-ing the write ahead log in SyncThread:3 took 1102ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide\n```\n\nWhen writing more than 2-million entries (256-byte key, 1KB value value) with 500 concurrent clients\n\n```\n# leader election\ncd 2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys\ngrep -r -i election\\ took  zookeeper-r3.4.9-java8-* | less\n\n# leader election is taking more than 10 seconds...\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:22:16,549 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Follower@61] - FOLLOWING - LEADER ELECTION TOOK - 22978\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:23:02,279 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 10210\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:23:14,498 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 203\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:23:36,303 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 9791\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:23:52,151 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 3836\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:24:13,849 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 9686\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:24:29,694 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 3573\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:24:51,392 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 8686\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:25:07,231 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 3827\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:25:28,940 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 9697\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:25:44,772 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 3820\n```\n\n\n<br><br><hr>\n##### Noticeable Warnings: Consul\n\nSnapshot, when writing 1-million entries (256-byte key, 1KB value value), with 500 concurrent clients\n\n```\n# snapshot warnings\ncd 2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput\ngrep -r -i installed\\ remote consul-v0.7.4-go1.7.5-* | less\n\n    2017/02/10 18:58:43 [INFO] snapshot: Creating new snapshot at /home/gyuho/consul.data/raft/snapshots/2-900345-1486753123478.tmp\n    2017/02/10 18:58:45 [INFO] snapshot: reaping snapshot /home/gyuho/consul.data/raft/snapshots/2-849399-1486753096972\n    2017/02/10 18:58:46 [INFO] raft: Copied 1223270573 bytes to local snapshot\n    2017/02/10 18:58:55 [INFO] raft: Compacting logs from 868354 to 868801\n    2017/02/10 18:58:56 [INFO] raft: Installed remote snapshot\n    2017/02/10 18:58:57 [INFO] snapshot: Creating new snapshot at /home/gyuho/consul.data/raft/snapshots/2-911546-1486753137827.tmp\n    2017/02/10 18:58:59 [INFO] consul.fsm: snapshot created in 32.255µs\n    2017/02/10 18:59:01 [INFO] snapshot: reaping snapshot /home/gyuho/consul.data/raft/snapshots/2-873921-1486753116619\n    2017/02/10 18:59:02 [INFO] raft: Copied 1238491373 bytes to local snapshot\n    2017/02/10 18:59:11 [INFO] raft: Compacting logs from 868802 to 868801\n    2017/02/10 18:59:11 [INFO] raft: Installed remote snapshot\n```\n\nLogs do not tell much but average latency spikes (e.g. from 70.27517 ms to 10407.900082 ms)\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/2017Q2-01-write-1M-cpu-client-scaling.png\" alt=\"2017Q2-01-write-1M-cpu-client-scaling\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/2017Q2-02-write-1M-network-traffic-best-throughput.png\" alt=\"2017Q2-02-write-1M-network-traffic-best-throughput\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/2017Q2-01-write-1M-throughput-client-scaling.png\" alt=\"2017Q2-01-write-1M-throughput-client-scaling\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/2017Q2-02-write-1M-latency-best-throughput.png\" alt=\"2017Q2-02-write-1M-latency-best-throughput\">\n\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns, Zookeeper 700, Consul 500 clients)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n- `ulimit -n` is 120000\n- etcd v3.3.0 (Go 1.9.2)\n- Zookeeper r3.5.3-beta\n  - Java 8\n  - javac 1.8.0_151\n  - Java(TM) SE Runtime Environment (build 1.8.0_151-b12)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n- Consul v1.0.2 (Go 1.9.2)\n\n\n```\n+---------------------------------------+---------------------+-----------------------------+-----------------------+\n|                                       | etcd-v3.3.0-go1.9.2 | zookeeper-r3.5.3-beta-java8 | consul-v1.0.2-go1.9.2 |\n+---------------------------------------+---------------------+-----------------------------+-----------------------+\n|                         TOTAL-SECONDS |         28.3623 sec |                 59.2167 sec |          178.9443 sec |\n|                  TOTAL-REQUEST-NUMBER |           1,000,000 |                   1,000,000 |             1,000,000 |\n|                        MAX-THROUGHPUT |      37,330 req/sec |              25,124 req/sec |        15,865 req/sec |\n|                        AVG-THROUGHPUT |      35,258 req/sec |              16,842 req/sec |         5,588 req/sec |\n|                        MIN-THROUGHPUT |      13,505 req/sec |                  20 req/sec |             0 req/sec |\n|                       FASTEST-LATENCY |           4.6073 ms |                   2.9094 ms |            11.6604 ms |\n|                           AVG-LATENCY |          28.2625 ms |                  30.9499 ms |            89.4351 ms |\n|                       SLOWEST-LATENCY |         117.4918 ms |                4564.6788 ms |          4616.2947 ms |\n|                           Latency p10 |        13.508626 ms |                 9.068163 ms |          30.408863 ms |\n|                           Latency p25 |        16.869586 ms |                 9.351597 ms |          34.224021 ms |\n|                           Latency p50 |        22.167478 ms |                10.093377 ms |          39.881181 ms |\n|                           Latency p75 |        34.855941 ms |                14.951189 ms |          52.644787 ms |\n|                           Latency p90 |        54.613394 ms |                28.497256 ms |         118.340402 ms |\n|                           Latency p95 |        59.785127 ms |                72.671788 ms |         229.129526 ms |\n|                           Latency p99 |        74.139638 ms |               273.218523 ms |        1495.660763 ms |\n|                         Latency p99.9 |        97.385495 ms |              2526.873285 ms |        3499.225138 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |              5.1 GB |                      4.6 GB |                5.6 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |              3.8 GB |                      3.6 GB |                4.4 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |              252 MB |                      357 MB |                206 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |              1.5 GB |                      1.4 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |            446.83 % |                   1122.00 % |              426.33 % |\n|               SERVER-MAX-MEMORY-USAGE |              1.1 GB |                       15 GB |                4.6 GB |\n|                  CLIENT-MAX-CPU-USAGE |            606.00 % |                    314.00 % |              215.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |               96 MB |                      2.4 GB |                 86 MB |\n|                    CLIENT-ERROR-COUNT |                   0 |                       2,652 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                   0 |                         237 |                     2 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                   0 |                           0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |             108,067 |                     157,034 |               675,072 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |          20,449,360 |                  16,480,488 |           106,836,768 |\n|           SERVER-AVG-DISK-SPACE-USAGE |              2.6 GB |                      6.9 GB |                2.9 GB |\n+---------------------------------------+---------------------+-----------------------------+-----------------------+\n\n\nzookeeper__r3_5_3_beta errors:\n\"zk: connection closed\" (count 2,264)\n\"zk: could not connect to a server\" (count 388)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-CPU.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/MAX-CPU.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n"
  },
  {
    "path": "agent/agent_cetcd.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage agent\n\nimport (\n\t\"fmt\"\n\t\"os/exec\"\n\t\"strings\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\n\t\"go.uber.org/zap\"\n)\n\n// startCetcd starts cetcd. This assumes that etcd is already started.\nfunc startCetcd(fs *flags, t *transporterServer) error {\n\tif !exist(fs.cetcdExec) {\n\t\treturn fmt.Errorf(\"cetcd binary %q does not exist\", globalFlags.cetcdExec)\n\t}\n\n\tpeerIPs := strings.Split(t.req.PeerIPsString, \"___\")\n\tclientURLs := make([]string, len(peerIPs))\n\tfor i, u := range peerIPs {\n\t\tclientURLs[i] = fmt.Sprintf(\"http://%s:2379\", u)\n\t}\n\n\tvar flags []string\n\tswitch t.req.DatabaseID {\n\tcase dbtesterpb.DatabaseID_cetcd__beta:\n\t\tflags = []string{\n\t\t\t// \"-consuladdr\", \"0.0.0.0:8500\",\n\t\t\t\"-consuladdr\", fmt.Sprintf(\"%s:8500\", peerIPs[t.req.IPIndex]),\n\t\t\t\"-etcd\", clientURLs[t.req.IPIndex], // etcd endpoint\n\t\t}\n\n\tdefault:\n\t\treturn fmt.Errorf(\"database ID %q is not supported\", t.req.DatabaseID)\n\t}\n\n\tflagString := strings.Join(flags, \" \")\n\n\tcmd := exec.Command(fs.cetcdExec, flags...)\n\tcmd.Stdout = t.proxyDatabaseLogfile\n\tcmd.Stderr = t.proxyDatabaseLogfile\n\tcs := fmt.Sprintf(\"%s %s\", cmd.Path, flagString)\n\n\tt.lg.Info(\"starting database\", zap.String(\"command\", cs))\n\tif err := cmd.Start(); err != nil {\n\t\treturn err\n\t}\n\tt.proxyCmd = cmd\n\tt.proxyCmdWait = make(chan struct{})\n\tt.proxyPid = int64(cmd.Process.Pid)\n\tt.lg.Info(\"started database\", zap.String(\"command\", cs), zap.Int64(\"pid\", t.pid))\n\n\treturn nil\n}\n"
  },
  {
    "path": "agent/agent_consul.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage agent\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"os/exec\"\n\t\"strings\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\n\t\"go.uber.org/zap\"\n)\n\n// startConsul starts Consul.\nfunc startConsul(fs *flags, t *transporterServer) error {\n\tif !exist(fs.consulExec) {\n\t\treturn fmt.Errorf(\"Consul binary %q does not exist\", globalFlags.consulExec)\n\t}\n\n\tif err := os.RemoveAll(fs.consulDataDir); err != nil {\n\t\treturn err\n\t}\n\n\tpeerIPs := strings.Split(t.req.PeerIPsString, \"___\")\n\n\tvar flags []string\n\tswitch t.req.DatabaseID {\n\tcase dbtesterpb.DatabaseID_consul__v1_0_2:\n\t\tswitch t.req.IPIndex {\n\t\tcase 0: // leader\n\t\t\tflags = []string{\n\t\t\t\t\"agent\",\n\t\t\t\t\"-server\",\n\t\t\t\t\"-data-dir\", fs.consulDataDir,\n\t\t\t\t\"-bind\", peerIPs[t.req.IPIndex],\n\t\t\t\t\"-client\", peerIPs[t.req.IPIndex],\n\t\t\t\t\"-bootstrap-expect\", fmt.Sprintf(\"%d\", len(peerIPs)),\n\t\t\t}\n\t\tdefault:\n\t\t\tflags = []string{\n\t\t\t\t\"agent\",\n\t\t\t\t\"-server\",\n\t\t\t\t\"-data-dir\", fs.consulDataDir,\n\t\t\t\t\"-bind\", peerIPs[t.req.IPIndex],\n\t\t\t\t\"-client\", peerIPs[t.req.IPIndex],\n\t\t\t\t\"-join\", peerIPs[0],\n\t\t\t}\n\t\t}\n\n\tdefault:\n\t\treturn fmt.Errorf(\"database ID %q is not supported\", t.req.DatabaseID)\n\t}\n\n\tflagString := strings.Join(flags, \" \")\n\n\tcmd := exec.Command(fs.consulExec, flags...)\n\tcmd.Stdout = t.databaseLogFile\n\tcmd.Stderr = t.databaseLogFile\n\tcs := fmt.Sprintf(\"%s %s\", cmd.Path, flagString)\n\n\tt.lg.Info(\"starting database\", zap.String(\"command\", cs))\n\tif err := cmd.Start(); err != nil {\n\t\treturn err\n\t}\n\tt.cmd = cmd\n\tt.cmdWait = make(chan struct{})\n\tt.pid = int64(cmd.Process.Pid)\n\tt.lg.Info(\"started database\", zap.String(\"command\", cs), zap.Int64(\"pid\", t.pid))\n\n\treturn nil\n}\n"
  },
  {
    "path": "agent/agent_etcd.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage agent\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"os/exec\"\n\t\"strings\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\n\t\"go.uber.org/zap\"\n)\n\n// startEtcd starts etcd v3.\nfunc startEtcd(fs *flags, t *transporterServer) error {\n\tif !exist(fs.etcdExec) {\n\t\treturn fmt.Errorf(\"etcd binary %q does not exist\", globalFlags.etcdExec)\n\t}\n\n\tif err := os.RemoveAll(fs.etcdDataDir); err != nil {\n\t\treturn err\n\t}\n\n\tpeerIPs := strings.Split(t.req.PeerIPsString, \"___\")\n\n\tnames := make([]string, len(peerIPs))\n\tclientURLs := make([]string, len(peerIPs))\n\tpeerURLs := make([]string, len(peerIPs))\n\tmembers := make([]string, len(peerIPs))\n\tfor i, u := range peerIPs {\n\t\tnames[i] = fmt.Sprintf(\"etcd-%d\", i+1)\n\t\tclientURLs[i] = fmt.Sprintf(\"http://%s:2379\", u)\n\t\tpeerURLs[i] = fmt.Sprintf(\"http://%s:2380\", u)\n\t\tmembers[i] = fmt.Sprintf(\"%s=%s\", names[i], peerURLs[i])\n\t}\n\n\tvar flags []string\n\tswitch t.req.DatabaseID {\n\tcase dbtesterpb.DatabaseID_etcd__other:\n\t\tflags = []string{\n\t\t\t\"--name\", names[t.req.IPIndex],\n\t\t\t\"--data-dir\", fs.etcdDataDir,\n\t\t\t\"--quota-backend-bytes\", fmt.Sprintf(\"%d\", t.req.Flag_Etcd_Other.QuotaSizeBytes),\n\n\t\t\t\"--snapshot-count\", fmt.Sprintf(\"%d\", t.req.Flag_Etcd_Other.SnapshotCount),\n\n\t\t\t\"--listen-client-urls\", clientURLs[t.req.IPIndex],\n\t\t\t\"--advertise-client-urls\", clientURLs[t.req.IPIndex],\n\n\t\t\t\"--listen-peer-urls\", peerURLs[t.req.IPIndex],\n\t\t\t\"--initial-advertise-peer-urls\", peerURLs[t.req.IPIndex],\n\n\t\t\t\"--initial-cluster-token\", \"mytoken\",\n\t\t\t\"--initial-cluster\", strings.Join(members, \",\"),\n\t\t\t\"--initial-cluster-state\", \"new\",\n\t\t\t\"--logger\", \"zap\",\n\t\t\t\"--log-outputs\", \"stderr\",\n\t\t}\n\n\tcase dbtesterpb.DatabaseID_etcd__tip:\n\t\tflags = []string{\n\t\t\t\"--name\", names[t.req.IPIndex],\n\t\t\t\"--data-dir\", fs.etcdDataDir,\n\t\t\t\"--quota-backend-bytes\", fmt.Sprintf(\"%d\", t.req.Flag_Etcd_Tip.QuotaSizeBytes),\n\n\t\t\t\"--snapshot-count\", fmt.Sprintf(\"%d\", t.req.Flag_Etcd_Tip.SnapshotCount),\n\n\t\t\t\"--listen-client-urls\", clientURLs[t.req.IPIndex],\n\t\t\t\"--advertise-client-urls\", clientURLs[t.req.IPIndex],\n\n\t\t\t\"--listen-peer-urls\", peerURLs[t.req.IPIndex],\n\t\t\t\"--initial-advertise-peer-urls\", peerURLs[t.req.IPIndex],\n\n\t\t\t\"--initial-cluster-token\", \"mytoken\",\n\t\t\t\"--initial-cluster\", strings.Join(members, \",\"),\n\t\t\t\"--initial-cluster-state\", \"new\",\n\t\t\t\"--logger\", \"zap\",\n\t\t\t\"--log-outputs\", \"stderr\",\n\t\t}\n\n\tcase dbtesterpb.DatabaseID_etcd__v3_2:\n\t\tflags = []string{\n\t\t\t\"--name\", names[t.req.IPIndex],\n\t\t\t\"--data-dir\", fs.etcdDataDir,\n\t\t\t\"--quota-backend-bytes\", fmt.Sprintf(\"%d\", t.req.Flag_Etcd_V3_2.QuotaSizeBytes),\n\n\t\t\t\"--snapshot-count\", fmt.Sprintf(\"%d\", t.req.Flag_Etcd_V3_2.SnapshotCount),\n\n\t\t\t\"--listen-client-urls\", clientURLs[t.req.IPIndex],\n\t\t\t\"--advertise-client-urls\", clientURLs[t.req.IPIndex],\n\n\t\t\t\"--listen-peer-urls\", peerURLs[t.req.IPIndex],\n\t\t\t\"--initial-advertise-peer-urls\", peerURLs[t.req.IPIndex],\n\n\t\t\t\"--initial-cluster-token\", \"mytoken\",\n\t\t\t\"--initial-cluster\", strings.Join(members, \",\"),\n\t\t\t\"--initial-cluster-state\", \"new\",\n\t\t}\n\n\tcase dbtesterpb.DatabaseID_etcd__v3_3:\n\t\tflags = []string{\n\t\t\t\"--name\", names[t.req.IPIndex],\n\t\t\t\"--data-dir\", fs.etcdDataDir,\n\t\t\t\"--quota-backend-bytes\", fmt.Sprintf(\"%d\", t.req.Flag_Etcd_V3_3.QuotaSizeBytes),\n\n\t\t\t\"--snapshot-count\", fmt.Sprintf(\"%d\", t.req.Flag_Etcd_V3_3.SnapshotCount),\n\n\t\t\t\"--listen-client-urls\", clientURLs[t.req.IPIndex],\n\t\t\t\"--advertise-client-urls\", clientURLs[t.req.IPIndex],\n\n\t\t\t\"--listen-peer-urls\", peerURLs[t.req.IPIndex],\n\t\t\t\"--initial-advertise-peer-urls\", peerURLs[t.req.IPIndex],\n\n\t\t\t\"--initial-cluster-token\", \"mytoken\",\n\t\t\t\"--initial-cluster\", strings.Join(members, \",\"),\n\t\t\t\"--initial-cluster-state\", \"new\",\n\t\t}\n\n\tdefault:\n\t\treturn fmt.Errorf(\"database ID %q is not supported\", t.req.DatabaseID)\n\t}\n\n\tflagString := strings.Join(flags, \" \")\n\n\tcmd := exec.Command(fs.etcdExec, flags...)\n\tcmd.Stdout = t.databaseLogFile\n\tcmd.Stderr = t.databaseLogFile\n\tcs := fmt.Sprintf(\"%s %s\", cmd.Path, flagString)\n\n\tt.lg.Info(\"starting database\", zap.String(\"command\", cs))\n\tif err := cmd.Start(); err != nil {\n\t\treturn err\n\t}\n\tt.cmd = cmd\n\tt.cmdWait = make(chan struct{})\n\tt.pid = int64(cmd.Process.Pid)\n\tt.lg.Info(\"started database\", zap.String(\"command\", cs), zap.Int64(\"pid\", t.pid))\n\n\treturn nil\n}\n"
  },
  {
    "path": "agent/agent_zetcd.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage agent\n\nimport (\n\t\"fmt\"\n\t\"os/exec\"\n\t\"strings\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\n\t\"go.uber.org/zap\"\n)\n\n// startZetcd starts zetcd. This assumes that etcd is already started.\nfunc startZetcd(fs *flags, t *transporterServer) error {\n\tif !exist(fs.zetcdExec) {\n\t\treturn fmt.Errorf(\"zetcd binary %q does not exist\", globalFlags.zetcdExec)\n\t}\n\n\tpeerIPs := strings.Split(t.req.PeerIPsString, \"___\")\n\tclientURLs := make([]string, len(peerIPs))\n\tfor i, u := range peerIPs {\n\t\tclientURLs[i] = fmt.Sprintf(\"http://%s:2379\", u)\n\t}\n\n\tvar flags []string\n\tswitch t.req.DatabaseID {\n\tcase dbtesterpb.DatabaseID_zetcd__beta:\n\t\tflags = []string{\n\t\t\t// \"-zkaddr\", \"0.0.0.0:2181\",\n\t\t\t\"-zkaddr\", fmt.Sprintf(\"%s:2181\", peerIPs[t.req.IPIndex]),\n\t\t\t\"-endpoint\", clientURLs[t.req.IPIndex],\n\t\t}\n\n\tdefault:\n\t\treturn fmt.Errorf(\"database ID %q is not supported\", t.req.DatabaseID)\n\t}\n\n\tflagString := strings.Join(flags, \" \")\n\n\tcmd := exec.Command(fs.zetcdExec, flags...)\n\tcmd.Stdout = t.proxyDatabaseLogfile\n\tcmd.Stderr = t.proxyDatabaseLogfile\n\tcs := fmt.Sprintf(\"%s %s\", cmd.Path, flagString)\n\n\tt.lg.Info(\"starting database\", zap.String(\"command\", cs))\n\tif err := cmd.Start(); err != nil {\n\t\treturn err\n\t}\n\tt.proxyCmd = cmd\n\tt.proxyCmdWait = make(chan struct{})\n\tt.proxyPid = int64(cmd.Process.Pid)\n\tt.lg.Info(\"started database\", zap.String(\"command\", cs), zap.Int64(\"pid\", t.proxyPid))\n\n\treturn nil\n}\n"
  },
  {
    "path": "agent/agent_zookeeper.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage agent\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path/filepath\"\n\t\"strings\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\n\t\"go.uber.org/zap\"\n)\n\nvar (\n\tzkTemplate = `tickTime={{.TickTime}}\ndataDir={{.DataDir}}\nclientPort={{.ClientPort}}\ninitLimit={{.InitLimit}}\nsyncLimit={{.SyncLimit}}\nmaxClientCnxns={{.MaxClientConnections}}\nsnapCount={{.SnapCount}}\n{{range .Peers}}server.{{.MyID}}={{.IP}}:2888:3888\n{{end}}\n`\n)\n\n// ZookeeperConfig is zookeeper configuration.\n// http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html\ntype ZookeeperConfig struct {\n\tTickTime             int64\n\tDataDir              string\n\tClientPort           int64\n\tInitLimit            int64\n\tSyncLimit            int64\n\tMaxClientConnections int64\n\tSnapCount            int64\n\tPeers                []ZookeeperPeer\n}\n\n// ZookeeperPeer defines Zookeeper peer configuration.\ntype ZookeeperPeer struct {\n\tMyID int\n\tIP   string\n}\n\nvar shell = os.Getenv(\"SHELL\")\n\nfunc init() {\n\tif len(shell) == 0 {\n\t\tshell = \"sh\"\n\t}\n}\n\n// Java class paths for Zookeeper.\n// '-cp' is for 'class search path of directories and zip/jar files'.\n// See https://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html for more.\n// UPDATE FOR EACH ZOOKEEPER RELEASES!\n// Search correct paths with 'find ./zookeeper/lib | sort'.\nconst (\n\t// JavaClassPathZookeeperr353beta is the Java class paths of Zookeeper r3.5.3-beta.\n\t// http://zookeeper.apache.org/doc/r3.5.3-beta/zookeeperAdmin.html#sc_zkMulitServerSetup\n\tJavaClassPathZookeeperr353beta = `-cp zookeeper-3.5.3-beta.jar:lib/slf4j-api-1.7.5.jar:lib/slf4j-log4j12-1.7.5.jar:lib/log4j-1.2.17.jar:conf org.apache.zookeeper.server.quorum.QuorumPeerMain`\n)\n\n// startZookeeper starts Zookeeper.\nfunc startZookeeper(fs *flags, t *transporterServer) error {\n\tif !exist(fs.javaExec) {\n\t\treturn fmt.Errorf(\"Java binary %q does not exist\", globalFlags.javaExec)\n\t}\n\tif err := os.RemoveAll(fs.zkDataDir); err != nil {\n\t\treturn err\n\t}\n\tif err := os.MkdirAll(fs.zkDataDir, 0777); err != nil {\n\t\treturn err\n\t}\n\n\t// Zookeeper requires correct relative-path for runtime\n\t// needs manual 'cd' into the Zookeeper working directory!\n\tif err := os.Chdir(fs.zkWorkDir); err != nil {\n\t\treturn err\n\t}\n\n\tipath := filepath.Join(fs.zkDataDir, \"myid\")\n\tswitch t.req.DatabaseID {\n\tcase dbtesterpb.DatabaseID_zookeeper__r3_5_3_beta:\n\t\tif t.req.Flag_Zookeeper_R3_5_3Beta == nil {\n\t\t\treturn fmt.Errorf(\"request 'Flag_Zookeeper_R3_5_3Beta' is nil\")\n\t\t}\n\t\tt.lg.Info(\n\t\t\t\"writing Zookeeper myid file\",\n\t\t\tzap.Int(\"myid\", int(t.req.Flag_Zookeeper_R3_5_3Beta.MyID)),\n\t\t\tzap.String(\"path\", ipath),\n\t\t)\n\t\tif err := toFile(fmt.Sprintf(\"%d\", t.req.Flag_Zookeeper_R3_5_3Beta.MyID), ipath); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tdefault:\n\t\treturn fmt.Errorf(\"database ID %q is not supported\", t.req.DatabaseID)\n\t}\n\n\tvar cfg ZookeeperConfig\n\tpeerIPs := strings.Split(t.req.PeerIPsString, \"___\")\n\tpeers := []ZookeeperPeer{}\n\tfor i := range peerIPs {\n\t\tpeers = append(peers, ZookeeperPeer{MyID: i + 1, IP: peerIPs[i]})\n\t}\n\tswitch t.req.DatabaseID {\n\tcase dbtesterpb.DatabaseID_zookeeper__r3_5_3_beta:\n\t\tcfg = ZookeeperConfig{\n\t\t\tTickTime:             t.req.Flag_Zookeeper_R3_5_3Beta.TickTime,\n\t\t\tDataDir:              fs.zkDataDir,\n\t\t\tClientPort:           t.req.Flag_Zookeeper_R3_5_3Beta.ClientPort,\n\t\t\tInitLimit:            t.req.Flag_Zookeeper_R3_5_3Beta.InitLimit,\n\t\t\tSyncLimit:            t.req.Flag_Zookeeper_R3_5_3Beta.SyncLimit,\n\t\t\tMaxClientConnections: t.req.Flag_Zookeeper_R3_5_3Beta.MaxClientConnections,\n\t\t\tPeers:                peers,\n\t\t\tSnapCount:            t.req.Flag_Zookeeper_R3_5_3Beta.SnapCount,\n\t\t}\n\tdefault:\n\t\treturn fmt.Errorf(\"database ID %q is not supported\", t.req.DatabaseID)\n\t}\n\ttpl := template.Must(template.New(\"zkTemplate\").Parse(zkTemplate))\n\tbuf := new(bytes.Buffer)\n\tif err := tpl.Execute(buf, cfg); err != nil {\n\t\treturn err\n\t}\n\tzctxt := buf.String()\n\tt.lg.Info(\"writing Zookeeper config file\", zap.String(\"path\", fs.zkConfig))\n\tif err := toFile(zctxt, fs.zkConfig); err != nil {\n\t\treturn err\n\t}\n\n\tvar flagString string\n\tswitch t.req.DatabaseID {\n\tcase dbtesterpb.DatabaseID_zookeeper__r3_5_3_beta:\n\t\tif t.req.Flag_Zookeeper_R3_5_3Beta.JavaDJuteMaxBuffer != 0 {\n\t\t\tif len(flagString) > 0 {\n\t\t\t\tflagString += \" \"\n\t\t\t}\n\t\t\tflagString += fmt.Sprintf(\"-Djute.maxbuffer=%d\", t.req.Flag_Zookeeper_R3_5_3Beta.JavaDJuteMaxBuffer)\n\t\t}\n\t\tif t.req.Flag_Zookeeper_R3_5_3Beta.JavaDJuteMaxBuffer != 0 {\n\t\t\tif len(flagString) > 0 {\n\t\t\t\tflagString += \" \"\n\t\t\t}\n\t\t\tflagString += fmt.Sprintf(\"-Xms%s\", t.req.Flag_Zookeeper_R3_5_3Beta.JavaXms)\n\t\t}\n\t\tif t.req.Flag_Zookeeper_R3_5_3Beta.JavaDJuteMaxBuffer != 0 {\n\t\t\tif len(flagString) > 0 {\n\t\t\t\tflagString += \" \"\n\t\t\t}\n\t\t\tflagString += fmt.Sprintf(\"-Xmx%s\", t.req.Flag_Zookeeper_R3_5_3Beta.JavaXmx)\n\t\t}\n\t\t// -Djute.maxbuffer=33554432 -Xms50G -Xmx50G\n\t\tif len(flagString) > 0 {\n\t\t\tflagString += \" \"\n\t\t}\n\t\tflagString += JavaClassPathZookeeperr353beta\n\n\tdefault:\n\t\treturn fmt.Errorf(\"database ID %q is not supported\", t.req.DatabaseID)\n\t}\n\n\targs := []string{shell, \"-c\", fs.javaExec + \" \" + flagString + \" \" + fs.zkConfig}\n\tcmd := exec.Command(args[0], args[1:]...)\n\tcmd.Stdout = t.databaseLogFile\n\tcmd.Stderr = t.databaseLogFile\n\tcs := fmt.Sprintf(\"%s %s\", cmd.Path, strings.Join(args[1:], \" \"))\n\n\tt.lg.Info(\"starting database\", zap.String(\"command\", cs))\n\tif err := cmd.Start(); err != nil {\n\t\treturn err\n\t}\n\tt.cmd = cmd\n\tt.cmdWait = make(chan struct{})\n\tt.pid = int64(cmd.Process.Pid)\n\tt.lg.Info(\"started database\", zap.String(\"command\", cs), zap.Int64(\"pid\", t.pid))\n\n\treturn nil\n}\n"
  },
  {
    "path": "agent/command.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage agent\n\nimport (\n\t\"fmt\"\n\t\"net\"\n\t\"os\"\n\t\"path/filepath\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\t\"github.com/etcd-io/dbtester/pkg/ntp\"\n\t\"go.uber.org/zap\"\n\n\t\"github.com/coreos/etcd/pkg/netutil\"\n\t\"github.com/gyuho/linux-inspect/df\"\n\t\"github.com/spf13/cobra\"\n\t\"google.golang.org/grpc\"\n)\n\ntype flags struct {\n\tagentLog                     string\n\tdatabaseLog                  string\n\tsystemMetricsCSV             string\n\tsystemMetricsCSVInterpolated string\n\n\tjavaExec   string\n\tetcdExec   string\n\tzetcdExec  string\n\tcetcdExec  string\n\tconsulExec string\n\n\tzkWorkDir     string\n\tzkDataDir     string\n\tzkConfig      string\n\tetcdDataDir   string\n\tconsulDataDir string\n\n\tgrpcPort         string\n\tdiskDevice       string\n\tnetworkInterface string\n\tclientNumPath    string\n}\n\nvar globalFlags flags\n\nfunc init() {\n\tdn, err := df.GetDevice(\"/\")\n\tif err != nil {\n\t\tfmt.Printf(\"cannot get disk device mounted at '/' (%v)\\n\", err)\n\t}\n\tnm, err := netutil.GetDefaultInterfaces()\n\tif err != nil {\n\t\tfmt.Printf(\"cannot detect default network interface (%v)\\n\", err)\n\t}\n\tvar nt string\n\tfor k := range nm {\n\t\tnt = k\n\t\tbreak\n\t}\n\n\tCommand.PersistentFlags().StringVar(&globalFlags.agentLog, \"agent-log\", filepath.Join(homeDir(), \"agent.log\"), \"agent log path.\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.databaseLog, \"database-log\", filepath.Join(homeDir(), \"database.log\"), \"Database log path.\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.systemMetricsCSV, \"system-metrics-csv\", filepath.Join(homeDir(), \"server-system-metrics.csv\"), \"Raw system metrics data path.\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.systemMetricsCSVInterpolated, \"system-metrics-csv-interpolated\", filepath.Join(homeDir(), \"server-system-metrics-interpolated.csv\"), \"Interpolated system metrics data path.\")\n\n\tCommand.PersistentFlags().StringVar(&globalFlags.javaExec, \"java-exec\", \"/usr/bin/java\", \"Java executable binary path (needed for Zookeeper).\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.etcdExec, \"etcd-exec\", filepath.Join(os.Getenv(\"GOPATH\"), \"bin/etcd\"), \"etcd executable binary path.\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.zetcdExec, \"zetcd-exec\", filepath.Join(os.Getenv(\"GOPATH\"), \"bin/zetcd\"), \"zetcd executable binary path .\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.cetcdExec, \"cetcd-exec\", filepath.Join(os.Getenv(\"GOPATH\"), \"bin/cetcd\"), \"cetcd executable binary path .\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.consulExec, \"consul-exec\", filepath.Join(os.Getenv(\"GOPATH\"), \"bin/consul\"), \"Consul executable binary path.\")\n\n\tCommand.PersistentFlags().StringVar(&globalFlags.zkWorkDir, \"zookeeper-work-dir\", filepath.Join(homeDir(), \"zookeeper\"), \"Zookeeper working directory.\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.zkDataDir, \"zookeeper-data-dir\", filepath.Join(homeDir(), \"zookeeper/zookeeper.data\"), \"Zookeeper data directory.\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.zkConfig, \"zookeeper-config\", filepath.Join(homeDir(), \"zookeeper/zookeeper.config\"), \"Zookeeper configuration file path.\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.etcdDataDir, \"etcd-data-dir\", filepath.Join(homeDir(), \"etcd.data\"), \"etcd data directory.\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.consulDataDir, \"consul-data-dir\", filepath.Join(homeDir(), \"consul.data\"), \"Consul data directory.\")\n\n\tCommand.PersistentFlags().StringVar(&globalFlags.grpcPort, \"agent-port\", \":3500\", \"Port to server agent gRPC server.\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.diskDevice, \"disk-device\", dn, \"Disk device to collect disk statistics metrics from.\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.networkInterface, \"network-interface\", nt, \"Network interface to record in/outgoing packets.\")\n\tCommand.PersistentFlags().StringVar(&globalFlags.clientNumPath, \"client-num-path\", filepath.Join(homeDir(), \"client-num\"), \"File path to store client number.\")\n}\n\n// Command implements 'agent' command.\nvar Command = &cobra.Command{\n\tUse:   \"agent\",\n\tShort: \"Database 'agent' in remote servers.\",\n\tRunE:  commandFunc,\n}\n\nfunc commandFunc(cmd *cobra.Command, args []string) error {\n\tno, nerr := ntp.DefaultSync()\n\tfmt.Printf(\"npt update output: %q\\n\", no)\n\tif nerr != nil {\n\t\tfmt.Printf(\"npt update error: %v\\n\", nerr)\n\t}\n\n\tlcfg := zap.Config{\n\t\tLevel:       zap.NewAtomicLevelAt(zap.InfoLevel),\n\t\tDevelopment: false,\n\t\tSampling: &zap.SamplingConfig{\n\t\t\tInitial:    100,\n\t\t\tThereafter: 100,\n\t\t},\n\t\tEncoding:      \"json\",\n\t\tEncoderConfig: zap.NewProductionEncoderConfig(),\n\n\t\tOutputPaths:      []string{globalFlags.agentLog},\n\t\tErrorOutputPaths: []string{globalFlags.agentLog},\n\t}\n\tlg, lerr := lcfg.Build()\n\tif lerr != nil {\n\t\treturn lerr\n\t}\n\n\tvar (\n\t\tgrpcServer = grpc.NewServer()\n\t\tsender     = NewServer(lg)\n\t)\n\tln, err := net.Listen(\"tcp\", globalFlags.grpcPort)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdbtesterpb.RegisterTransporterServer(grpcServer, sender)\n\n\tlg.Info(\"agent started\", zap.String(\"grpc-server-port\", globalFlags.grpcPort), zap.String(\"agent-log\", globalFlags.agentLog))\n\treturn grpcServer.Serve(ln)\n}\n"
  },
  {
    "path": "agent/doc.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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// Package agent is a database agent in remote servers.\npackage agent\n"
  },
  {
    "path": "agent/server.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage agent\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"os/exec\"\n\t\"os/signal\"\n\t\"syscall\"\n\t\"time\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\t\"github.com/etcd-io/dbtester/pkg/fileinspect\"\n\n\t\"github.com/gyuho/linux-inspect/inspect\"\n\t\"go.uber.org/zap\"\n\t\"golang.org/x/net/context\"\n)\n\n// implements dbtesterpb.TransporterServer\ntype transporterServer struct {\n\tlg  *zap.Logger\n\treq dbtesterpb.Request\n\n\tdatabaseLogFile      *os.File\n\tproxyDatabaseLogfile *os.File\n\tclientNumPath        string\n\n\t// cmd is the main process that's running the database\n\tcmd *exec.Cmd\n\t// cmdWait channel is closed\n\t// after database process is closed\n\tcmdWait chan struct{}\n\n\tpid int64\n\n\tproxyCmd     *exec.Cmd\n\tproxyCmdWait chan struct{}\n\tproxyPid     int64\n\n\tmetricsCSV *inspect.CSV\n\n\t// trigger log uploads to cloud storage\n\t// this should be triggered before we shut down\n\t// the agent server\n\tuploadSig chan struct{}\n\tcsvReady  chan struct{}\n\n\t// notified after all tests finish\n\tnotifier chan os.Signal\n}\n\n// NewServer returns a new server that implements gRPC interface.\nfunc NewServer(lg *zap.Logger) dbtesterpb.TransporterServer {\n\tnotifier := make(chan os.Signal, 1)\n\tsignal.Notify(notifier, syscall.SIGINT, syscall.SIGTERM)\n\n\treturn &transporterServer{\n\t\tlg:            lg,\n\t\tclientNumPath: globalFlags.clientNumPath,\n\t\tuploadSig:     make(chan struct{}, 1),\n\t\tcsvReady:      make(chan struct{}),\n\t\tnotifier:      notifier,\n\t}\n}\n\nfunc (t *transporterServer) Transfer(ctx context.Context, req *dbtesterpb.Request) (*dbtesterpb.Response, error) {\n\tif req != nil {\n\t\tt.lg.Info(\n\t\t\t\"received gRPC request\",\n\t\t\tzap.String(\"operation\", req.Operation.String()),\n\t\t\tzap.String(\"database-id\", req.DatabaseID.String()),\n\t\t\tzap.Int64(\"client-number\", req.CurrentClientNumber),\n\t\t)\n\t}\n\n\tif req.Operation == dbtesterpb.Operation_Start {\n\t\tf, err := openToAppend(globalFlags.databaseLog)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tt.databaseLogFile = f\n\t\tt.lg.Info(\"created database log file\", zap.String(\"path\", globalFlags.databaseLog))\n\n\t\tif req.DatabaseID == dbtesterpb.DatabaseID_zetcd__beta || req.DatabaseID == dbtesterpb.DatabaseID_cetcd__beta {\n\t\t\tproxyLog := globalFlags.databaseLog + \"-\" + t.req.DatabaseID.String()\n\t\t\tpf, err := openToAppend(proxyLog)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tt.proxyDatabaseLogfile = pf\n\t\t\tt.lg.Info(\"created database proxy log file\", zap.String(\"path\", proxyLog))\n\t\t}\n\n\t\tswitch req.DatabaseID {\n\t\tcase dbtesterpb.DatabaseID_etcd__other,\n\t\t\tdbtesterpb.DatabaseID_etcd__tip,\n\t\t\tdbtesterpb.DatabaseID_etcd__v3_2,\n\t\t\tdbtesterpb.DatabaseID_etcd__v3_3:\n\t\t\tt.lg.Info(\n\t\t\t\t\"requested on etcd\",\n\t\t\t\tzap.String(\"executable-binary-path\", globalFlags.etcdExec),\n\t\t\t\tzap.String(\"data-directory\", globalFlags.etcdDataDir),\n\t\t\t)\n\n\t\tcase dbtesterpb.DatabaseID_zookeeper__r3_5_3_beta:\n\t\t\tt.lg.Info(\n\t\t\t\t\"requested on Zookeeper\",\n\t\t\t\tzap.String(\"working-directory\", globalFlags.zkWorkDir),\n\t\t\t\tzap.String(\"data-directory\", globalFlags.zkDataDir),\n\t\t\t\tzap.String(\"configuration-file\", globalFlags.zkConfig),\n\t\t\t)\n\n\t\tcase dbtesterpb.DatabaseID_consul__v1_0_2:\n\t\t\tt.lg.Info(\n\t\t\t\t\"requested on Consul\",\n\t\t\t\tzap.String(\"executable-binary-path\", globalFlags.consulExec),\n\t\t\t\tzap.String(\"data-directory\", globalFlags.consulDataDir),\n\t\t\t)\n\n\t\tcase dbtesterpb.DatabaseID_zetcd__beta:\n\t\t\tt.lg.Info(\n\t\t\t\t\"requested on zetcd\",\n\t\t\t\tzap.String(\"executable-binary-path\", globalFlags.zetcdExec),\n\t\t\t\tzap.String(\"data-directory\", globalFlags.etcdDataDir),\n\t\t\t)\n\n\t\tcase dbtesterpb.DatabaseID_cetcd__beta:\n\t\t\tt.lg.Info(\n\t\t\t\t\"requested on cetcd\",\n\t\t\t\tzap.String(\"executable-binary-path\", globalFlags.cetcdExec),\n\t\t\t\tzap.String(\"data-directory\", globalFlags.etcdDataDir),\n\t\t\t)\n\t\t}\n\n\t\t// re-use configurations for next requests\n\t\tt.req = *req\n\t}\n\tif req.Operation == dbtesterpb.Operation_Heartbeat {\n\t\tt.req.CurrentClientNumber = req.CurrentClientNumber\n\t}\n\n\tvar diskSpaceUsageBytes int64\n\tswitch req.Operation {\n\tcase dbtesterpb.Operation_Start:\n\t\tswitch t.req.DatabaseID {\n\t\tcase dbtesterpb.DatabaseID_etcd__other,\n\t\t\tdbtesterpb.DatabaseID_etcd__tip,\n\t\t\tdbtesterpb.DatabaseID_etcd__v3_2,\n\t\t\tdbtesterpb.DatabaseID_etcd__v3_3,\n\t\t\tdbtesterpb.DatabaseID_zetcd__beta,\n\t\t\tdbtesterpb.DatabaseID_cetcd__beta:\n\t\t\tif err := startEtcd(&globalFlags, t); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tswitch t.req.DatabaseID {\n\t\t\tcase dbtesterpb.DatabaseID_zetcd__beta:\n\t\t\t\tif err := startZetcd(&globalFlags, t); err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\tgo func() {\n\t\t\t\t\tdefer close(t.proxyCmdWait)\n\t\t\t\t\tif err := t.proxyCmd.Wait(); err != nil {\n\t\t\t\t\t\tt.lg.Warn(\"zetcd t.proxyCmd.Wait() returned error\", zap.Error(err))\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tt.lg.Info(\"exiting zetcd\", zap.String(\"executable-path\", t.proxyCmd.Path))\n\t\t\t\t}()\n\n\t\t\tcase dbtesterpb.DatabaseID_cetcd__beta:\n\t\t\t\tif err := startCetcd(&globalFlags, t); err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\tgo func() {\n\t\t\t\t\tdefer close(t.proxyCmdWait)\n\t\t\t\t\tif err := t.proxyCmd.Wait(); err != nil {\n\t\t\t\t\t\tt.lg.Warn(\"cetcd t.proxyCmd.Wait() returned error\", zap.Error(err))\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tt.lg.Info(\"exiting cetcd\", zap.String(\"executable-path\", t.proxyCmd.Path))\n\t\t\t\t}()\n\t\t\t}\n\n\t\tcase dbtesterpb.DatabaseID_zookeeper__r3_5_3_beta:\n\t\t\tif err := startZookeeper(&globalFlags, t); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\n\t\tcase dbtesterpb.DatabaseID_consul__v1_0_2:\n\t\t\tif err := startConsul(&globalFlags, t); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\n\t\tdefault:\n\t\t\treturn nil, fmt.Errorf(\"unknown database %q\", t.req.DatabaseID)\n\t\t}\n\n\t\tgo func() {\n\t\t\tdefer close(t.cmdWait)\n\t\t\tif err := t.cmd.Wait(); err != nil {\n\t\t\t\tt.lg.Warn(\"t.cmd.Wait() returned error\", zap.Error(err))\n\t\t\t\treturn\n\t\t\t}\n\t\t\tt.lg.Info(\"exiting\", zap.String(\"executable-path\", t.cmd.Path))\n\t\t}()\n\t\tif err := startMetrics(&globalFlags, t); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\tcase dbtesterpb.Operation_Stop:\n\t\tif t.cmd == nil {\n\t\t\treturn nil, fmt.Errorf(\"nil command\")\n\t\t}\n\n\t\t// to collect more monitoring data\n\t\tt.lg.Info(\"waiting a few more seconds before stopping\", zap.String(\"executable-path\", t.cmd.Path))\n\t\ttime.Sleep(3 * time.Second)\n\n\t\t// TODO: https://github.com/etcd-io/dbtester/issues/330\n\t\tt.lg.Info(\"sending\", zap.String(\"syscall\", syscall.SIGINT.String()), zap.Int64(\"pid\", t.pid), zap.String(\"executable-path\", t.cmd.Path))\n\t\tif err := t.cmd.Process.Signal(syscall.SIGINT); err != nil {\n\t\t\tt.lg.Warn(\"syscall.SIGINT failed\", zap.Error(err))\n\n\t\t\ttime.Sleep(3 * time.Second)\n\t\t\tt.lg.Info(\"sending\", zap.String(\"syscall\", syscall.SIGTERM.String()), zap.Int64(\"pid\", t.pid), zap.String(\"executable-path\", t.cmd.Path))\n\t\t\tif err := syscall.Kill(int(t.pid), syscall.SIGTERM); err != nil {\n\t\t\t\tt.lg.Warn(\"syscall.Kill failed\", zap.Error(err))\n\t\t\t}\n\t\t}\n\n\t\ttime.Sleep(time.Second)\n\t\t<-t.cmdWait\n\n\t\tif t.databaseLogFile != nil {\n\t\t\tt.databaseLogFile.Sync()\n\t\t\tt.databaseLogFile.Close()\n\t\t}\n\t\tt.lg.Info(\"stopped\", zap.String(\"database\", t.req.DatabaseID.String()), zap.Int64(\"pid\", t.pid))\n\n\t\tif t.proxyCmd != nil {\n\t\t\tt.lg.Info(\"sending\", zap.String(\"syscall\", syscall.SIGINT.String()), zap.Int64(\"pid\", t.proxyPid), zap.String(\"executable-path\", t.proxyCmd.Path))\n\t\t\tif err := t.proxyCmd.Process.Signal(syscall.SIGINT); err != nil {\n\t\t\t\tt.lg.Warn(\"syscall.SIGINT failed\", zap.Error(err))\n\n\t\t\t\ttime.Sleep(3 * time.Second)\n\t\t\t\tt.lg.Info(\"sending\", zap.String(\"syscall\", syscall.SIGTERM.String()), zap.Int64(\"pid\", t.proxyPid), zap.String(\"executable-path\", t.proxyCmd.Path))\n\t\t\t\tif err := syscall.Kill(int(t.proxyPid), syscall.SIGTERM); err != nil {\n\t\t\t\t\tt.lg.Warn(\"syscall.Kill failed\", zap.Error(err))\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t<-t.proxyCmdWait\n\t\t\tt.lg.Info(\"stopped\", zap.String(\"database\", t.req.DatabaseID.String()), zap.Int64(\"pid\", t.proxyPid))\n\n\t\t\tif t.proxyDatabaseLogfile != nil {\n\t\t\t\tt.proxyDatabaseLogfile.Sync()\n\t\t\t\tt.proxyDatabaseLogfile.Close()\n\t\t\t}\n\t\t}\n\n\t\tt.uploadSig <- struct{}{}\n\t\t<-t.csvReady\n\n\t\tif t.req.TriggerLogUpload {\n\t\t\tif err := uploadLog(&globalFlags, t); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\n\t\tdbs, err := measureDatabasSize(globalFlags, req.DatabaseID)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tdiskSpaceUsageBytes = dbs\n\n\tcase dbtesterpb.Operation_Heartbeat:\n\t\tt.lg.Info(\"overwriting clients number\", zap.Int64(\"number\", t.req.CurrentClientNumber), zap.String(\"number-path\", t.clientNumPath))\n\t\tif err := toFile(fmt.Sprintf(\"%d\", t.req.CurrentClientNumber), t.clientNumPath); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"Not implemented %v\", req.Operation)\n\t}\n\n\tt.lg.Info(\"Transfer success!\")\n\treturn &dbtesterpb.Response{Success: true, DiskSpaceUsageBytes: diskSpaceUsageBytes}, nil\n}\n\nfunc measureDatabasSize(flg flags, rdb dbtesterpb.DatabaseID) (int64, error) {\n\tswitch rdb {\n\tcase dbtesterpb.DatabaseID_etcd__other,\n\t\tdbtesterpb.DatabaseID_etcd__tip,\n\t\tdbtesterpb.DatabaseID_etcd__v3_2,\n\t\tdbtesterpb.DatabaseID_etcd__v3_3,\n\t\tdbtesterpb.DatabaseID_cetcd__beta,\n\t\tdbtesterpb.DatabaseID_zetcd__beta:\n\t\treturn fileinspect.Size(flg.etcdDataDir)\n\n\tcase dbtesterpb.DatabaseID_zookeeper__r3_5_3_beta:\n\t\treturn fileinspect.Size(flg.zkDataDir)\n\n\tcase dbtesterpb.DatabaseID_consul__v1_0_2:\n\t\treturn fileinspect.Size(flg.consulDataDir)\n\n\tdefault:\n\t\treturn 0, fmt.Errorf(\"uknown %q\", rdb)\n\t}\n}\n"
  },
  {
    "path": "agent/server_system_metrics.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage agent\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"time\"\n\n\t\"github.com/gyuho/linux-inspect/inspect\"\n\t\"github.com/gyuho/linux-inspect/top\"\n\t\"go.uber.org/zap\"\n)\n\n// startMetrics starts collecting metrics.\nfunc startMetrics(fs *flags, t *transporterServer) (err error) {\n\tif fs == nil || t == nil || t.cmd == nil {\n\t\treturn fmt.Errorf(\"cannot find process to track (%+v, %+v)\", fs, t)\n\t}\n\n\tt.lg.Info(\n\t\t\"starting collecting system metrics\",\n\t\tzap.String(\"database\", t.req.DatabaseID.String()),\n\t\tzap.String(\"disk-device\", fs.diskDevice),\n\t\tzap.String(\"network-device\", fs.networkInterface),\n\t\tzap.Int64(\"pid\", t.pid),\n\t)\n\tif err = os.RemoveAll(fs.systemMetricsCSV); err != nil {\n\t\treturn err\n\t}\n\tif err = toFile(fmt.Sprintf(\"%d\", t.req.CurrentClientNumber), t.clientNumPath); err != nil {\n\t\treturn err\n\t}\n\n\ttcfg := &top.Config{\n\t\tExec:           top.DefaultExecPath,\n\t\tIntervalSecond: 1,\n\t\tPID:            t.pid,\n\t}\n\tt.metricsCSV, err = inspect.NewCSV(\n\t\tfs.systemMetricsCSV,\n\t\tt.pid,\n\t\tfs.diskDevice,\n\t\tfs.networkInterface,\n\t\tt.clientNumPath,\n\t\ttcfg,\n\t)\n\tif err := t.metricsCSV.Add(); err != nil {\n\t\treturn err\n\t}\n\n\tgo func() {\n\t\tfor {\n\t\t\tselect {\n\t\t\tcase <-time.After(time.Second):\n\t\t\t\tif err := t.metricsCSV.Add(); err != nil {\n\t\t\t\t\tt.lg.Warn(\"inspect.CSV.Add error\", zap.Error(err))\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\tcase <-t.uploadSig:\n\t\t\t\tt.lg.Info(\"upload requested, saving CSV\", zap.String(\"path\", t.metricsCSV.FilePath))\n\t\t\t\tif err := t.metricsCSV.Save(); err != nil {\n\t\t\t\t\tt.lg.Warn(\"failed to save CSV\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tt.lg.Info(\"saved CSV\", zap.String(\"path\", t.metricsCSV.FilePath))\n\t\t\t\t}\n\n\t\t\t\tinterpolated, err := t.metricsCSV.Interpolate()\n\t\t\t\tif err != nil {\n\t\t\t\t\tt.lg.Fatal(\"failed to inspect.CSV.Interpolate\", zap.Error(err))\n\t\t\t\t}\n\t\t\t\tinterpolated.FilePath = fs.systemMetricsCSVInterpolated\n\n\t\t\t\tif err := interpolated.Save(); err != nil {\n\t\t\t\t\tt.lg.Warn(\"failed to save CSV\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tt.lg.Info(\"saved CSV\", zap.String(\"path\", interpolated.FilePath))\n\t\t\t\t}\n\n\t\t\t\tclose(t.csvReady)\n\t\t\t\treturn\n\n\t\t\tcase sig := <-t.notifier:\n\t\t\t\tt.lg.Info(\"received a signal\", zap.String(\"signal\", sig.String()))\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}()\n\treturn nil\n}\n"
  },
  {
    "path": "agent/upload_log.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage agent\n\nimport (\n\t\"fmt\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\t\"github.com/etcd-io/dbtester/pkg/remotestorage\"\n\n\t\"go.uber.org/zap\"\n)\n\n// uploadLog starts cetcd. This assumes that etcd is already started.\nfunc uploadLog(fs *flags, t *transporterServer) error {\n\tt.lg.Info(\n\t\t\"stopped collecting metrics, now uploading logs to storage\",\n\t\tzap.String(\"gcp-project-name\", t.req.ConfigClientMachineInitial.GoogleCloudProjectName),\n\t)\n\tu, err := remotestorage.NewGoogleCloudStorage(t.lg, []byte(t.req.ConfigClientMachineInitial.GoogleCloudStorageKey), t.req.ConfigClientMachineInitial.GoogleCloudProjectName)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tvar uerr error\n\n\t{\n\t\tsrcDatabaseLogPath := fs.databaseLog\n\t\tdstDatabaseLogPath := filepath.Base(fs.databaseLog)\n\t\tif !strings.HasPrefix(filepath.Base(fs.databaseLog), t.req.DatabaseTag) {\n\t\t\tdstDatabaseLogPath = fmt.Sprintf(\"%s-%d-%s\", t.req.DatabaseTag, t.req.IPIndex+1, filepath.Base(fs.databaseLog))\n\t\t}\n\t\tdstDatabaseLogPath = filepath.Join(t.req.ConfigClientMachineInitial.GoogleCloudStorageSubDirectory, dstDatabaseLogPath)\n\t\tt.lg.Info(\"uploading database log\", zap.String(\"source\", srcDatabaseLogPath), zap.String(\"destination\", dstDatabaseLogPath))\n\t\tfor k := 0; k < 30; k++ {\n\t\t\tif uerr = u.UploadFile(t.req.ConfigClientMachineInitial.GoogleCloudStorageBucketName, srcDatabaseLogPath, dstDatabaseLogPath); uerr != nil {\n\t\t\t\tt.lg.Warn(\"upload error; retrying...\", zap.Error(uerr))\n\t\t\t\ttime.Sleep(2 * time.Second)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tif uerr != nil {\n\t\t\treturn uerr\n\t\t}\n\t}\n\n\t{\n\t\tif t.req.DatabaseID == dbtesterpb.DatabaseID_zetcd__beta ||\n\t\t\tt.req.DatabaseID == dbtesterpb.DatabaseID_cetcd__beta {\n\t\t\tdpath := fs.databaseLog + \"-\" + t.req.DatabaseID.String()\n\t\t\tsrcDatabaseLogPath2 := dpath\n\t\t\tdstDatabaseLogPath2 := filepath.Base(dpath)\n\t\t\tif !strings.HasPrefix(filepath.Base(dpath), t.req.DatabaseTag) {\n\t\t\t\tdstDatabaseLogPath2 = fmt.Sprintf(\"%s-%d-%s\", t.req.DatabaseTag, t.req.IPIndex+1, filepath.Base(dpath))\n\t\t\t}\n\t\t\tdstDatabaseLogPath2 = filepath.Join(t.req.ConfigClientMachineInitial.GoogleCloudStorageSubDirectory, dstDatabaseLogPath2)\n\t\t\tt.lg.Info(\"uploading proxy database log\", zap.String(\"source\", srcDatabaseLogPath2), zap.String(\"destination\", dstDatabaseLogPath2))\n\t\t\tfor k := 0; k < 30; k++ {\n\t\t\t\tif uerr = u.UploadFile(t.req.ConfigClientMachineInitial.GoogleCloudStorageBucketName, srcDatabaseLogPath2, dstDatabaseLogPath2); uerr != nil {\n\t\t\t\t\tt.lg.Warn(\"upload error; retrying...\", zap.Error(uerr))\n\t\t\t\t\ttime.Sleep(2 * time.Second)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif uerr != nil {\n\t\t\t\treturn uerr\n\t\t\t}\n\t\t}\n\t}\n\n\t{\n\t\tsrcSysMetricsDataPath := fs.systemMetricsCSV\n\t\tdstSysMetricsDataPath := filepath.Base(fs.systemMetricsCSV)\n\t\tif !strings.HasPrefix(filepath.Base(fs.systemMetricsCSV), t.req.DatabaseTag) {\n\t\t\tdstSysMetricsDataPath = fmt.Sprintf(\"%s-%d-%s\", t.req.DatabaseTag, t.req.IPIndex+1, filepath.Base(fs.systemMetricsCSV))\n\t\t}\n\t\tdstSysMetricsDataPath = filepath.Join(t.req.ConfigClientMachineInitial.GoogleCloudStorageSubDirectory, dstSysMetricsDataPath)\n\t\tt.lg.Info(\"uploading system metrics\", zap.String(\"source\", srcSysMetricsDataPath), zap.String(\"destination\", dstSysMetricsDataPath))\n\t\tfor k := 0; k < 30; k++ {\n\t\t\tif uerr := u.UploadFile(t.req.ConfigClientMachineInitial.GoogleCloudStorageBucketName, srcSysMetricsDataPath, dstSysMetricsDataPath); uerr != nil {\n\t\t\t\tt.lg.Warn(\"upload error; retrying...\", zap.Error(uerr))\n\t\t\t\ttime.Sleep(2 * time.Second)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tif uerr != nil {\n\t\t\treturn uerr\n\t\t}\n\t}\n\n\t{\n\t\tsrcSysMetricsInterpolatedDataPath := fs.systemMetricsCSVInterpolated\n\t\tdstSysMetricsInterpolatedDataPath := filepath.Base(fs.systemMetricsCSVInterpolated)\n\t\tif !strings.HasPrefix(filepath.Base(fs.systemMetricsCSVInterpolated), t.req.DatabaseTag) {\n\t\t\tdstSysMetricsInterpolatedDataPath = fmt.Sprintf(\"%s-%d-%s\", t.req.DatabaseTag, t.req.IPIndex+1, filepath.Base(fs.systemMetricsCSVInterpolated))\n\t\t}\n\t\tdstSysMetricsInterpolatedDataPath = filepath.Join(t.req.ConfigClientMachineInitial.GoogleCloudStorageSubDirectory, dstSysMetricsInterpolatedDataPath)\n\t\tt.lg.Info(\"uploading interpolated system metrics\", zap.String(\"source\", srcSysMetricsInterpolatedDataPath), zap.String(\"destination\", dstSysMetricsInterpolatedDataPath))\n\t\tfor k := 0; k < 30; k++ {\n\t\t\tif uerr := u.UploadFile(t.req.ConfigClientMachineInitial.GoogleCloudStorageBucketName, srcSysMetricsInterpolatedDataPath, dstSysMetricsInterpolatedDataPath); uerr != nil {\n\t\t\t\tt.lg.Warn(\"upload error; retrying...\", zap.Error(uerr))\n\t\t\t\ttime.Sleep(2 * time.Second)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tif uerr != nil {\n\t\t\treturn uerr\n\t\t}\n\t}\n\n\t{\n\t\tsrcAgentLogPath := fs.agentLog\n\t\tdstAgentLogPath := filepath.Base(fs.agentLog)\n\t\tif !strings.HasPrefix(filepath.Base(fs.agentLog), t.req.DatabaseTag) {\n\t\t\tdstAgentLogPath = fmt.Sprintf(\"%s-%d-%s\", t.req.DatabaseTag, t.req.IPIndex+1, filepath.Base(fs.agentLog))\n\t\t}\n\t\tdstAgentLogPath = filepath.Join(t.req.ConfigClientMachineInitial.GoogleCloudStorageSubDirectory, dstAgentLogPath)\n\t\tt.lg.Info(\"uploading agent log\", zap.String(\"source\", srcAgentLogPath), zap.String(\"destination\", dstAgentLogPath))\n\t\tfor k := 0; k < 30; k++ {\n\t\t\tif uerr := u.UploadFile(t.req.ConfigClientMachineInitial.GoogleCloudStorageBucketName, srcAgentLogPath, dstAgentLogPath); uerr != nil {\n\t\t\t\tt.lg.Warn(\"upload error; retrying...\", zap.Error(uerr))\n\t\t\t\ttime.Sleep(2 * time.Second)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\n\treturn uerr\n}\n"
  },
  {
    "path": "agent/util.go",
    "content": "// Copyright 2016 CoreOS, Inc.\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\npackage agent\n\nimport (\n\t\"os\"\n\t\"runtime\"\n)\n\nfunc openToAppend(fpath string) (*os.File, error) {\n\tf, err := os.OpenFile(fpath, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0777)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn f, nil\n}\n\nfunc openToOverwrite(fpath string) (*os.File, error) {\n\tf, err := os.OpenFile(fpath, os.O_RDWR|os.O_TRUNC|os.O_CREATE, 0777)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn f, nil\n}\n\nfunc toFile(txt, fpath string) error {\n\tf, err := openToOverwrite(fpath)\n\tif err != nil {\n\t\tf, err = os.Create(fpath)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tdefer f.Close()\n\t_, err = f.WriteString(txt)\n\treturn err\n}\n\nfunc homeDir() string {\n\tif runtime.GOOS == \"windows\" {\n\t\thome := os.Getenv(\"HOMEDRIVE\") + os.Getenv(\"HOMEPATH\")\n\t\tif home == \"\" {\n\t\t\thome = os.Getenv(\"USERPROFILE\")\n\t\t}\n\t\treturn home\n\t}\n\treturn os.Getenv(\"HOME\")\n}\n\n// exist returns true if the file or directory exists.\nfunc exist(fpath string) bool {\n\tst, err := os.Stat(fpath)\n\tif err != nil {\n\t\tif os.IsNotExist(err) {\n\t\t\treturn false\n\t\t}\n\t}\n\tif st.IsDir() {\n\t\treturn true\n\t}\n\tif _, err := os.Stat(fpath); err != nil {\n\t\tif os.IsNotExist(err) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "analyze/01_read_raw_data_to_test_data.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage analyze\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\n\t\"github.com/gyuho/dataframe\"\n)\n\n// sysMetricsColumnsToRead is already aggregated\n// and interpolated by unix second.\nvar sysMetricsColumnsToRead = []string{\n\t\"UNIX-SECOND\",\n\t\"VOLUNTARY-CTXT-SWITCHES\",\n\t\"NON-VOLUNTARY-CTXT-SWITCHES\",\n\t\"CPU-NUM\",\n\t\"LOAD-AVERAGE-1-MINUTE\",\n\t\"VMRSS-NUM\",\n\t\"READS-COMPLETED\",\n\t\"READS-COMPLETED-DELTA\",\n\t\"SECTORS-READ\",\n\t\"SECTORS-READ-DELTA\",\n\t\"WRITES-COMPLETED\",\n\t\"WRITES-COMPLETED-DELTA\",\n\t\"SECTORS-WRITTEN\",\n\t\"SECTORS-WRITTEN-DELTA\",\n\t\"READ-BYTES-DELTA\",\n\t\"WRITE-BYTES-DELTA\",\n\t\"RECEIVE-BYTES-NUM\",\n\t\"RECEIVE-BYTES-NUM-DELTA\",\n\t\"TRANSMIT-BYTES-NUM\",\n\t\"TRANSMIT-BYTES-NUM-DELTA\",\n\t\"EXTRA\", // will be converted to 'CLIENT-NUM'\n}\n\ntype testData struct {\n\tfilePath        string\n\tfrontUnixSecond int64\n\tlastUnixSecond  int64\n\tframe           dataframe.Frame\n}\n\n// readSystemMetrics extracts only the columns that we need for analyze.\nfunc readSystemMetrics(fpath string) (data testData, err error) {\n\toriginalFrame, err := dataframe.NewFromCSV(nil, fpath)\n\tif err != nil {\n\t\treturn testData{}, err\n\t}\n\n\tdata.filePath = fpath\n\tdata.frame = dataframe.New()\n\tvar unixSecondCol dataframe.Column\n\tfor _, name := range sysMetricsColumnsToRead {\n\t\tvar column dataframe.Column\n\t\tcolumn, err = originalFrame.Column(name)\n\t\tif err != nil {\n\t\t\treturn testData{}, err\n\t\t}\n\t\tif err = data.frame.AddColumn(column); err != nil {\n\t\t\treturn testData{}, err\n\t\t}\n\t\tif name == \"UNIX-SECOND\" {\n\t\t\tunixSecondCol = column\n\t\t}\n\t}\n\n\t// get first(minimum) unix second\n\tfv, ok := unixSecondCol.FrontNonNil()\n\tif !ok {\n\t\treturn testData{}, fmt.Errorf(\"FrontNonNil %s has empty Unix time %v\", fpath, fv)\n\t}\n\tfs, ok := fv.String()\n\tif !ok {\n\t\treturn testData{}, fmt.Errorf(\"cannot String %v\", fv)\n\t}\n\tdata.frontUnixSecond, err = strconv.ParseInt(fs, 10, 64)\n\tif err != nil {\n\t\treturn testData{}, err\n\t}\n\n\t// get last(maximum) unix second\n\tbv, ok := unixSecondCol.BackNonNil()\n\tif !ok {\n\t\treturn testData{}, fmt.Errorf(\"BackNonNil %s has empty Unix time %v\", fpath, fv)\n\t}\n\tbs, ok := bv.String()\n\tif !ok {\n\t\treturn testData{}, fmt.Errorf(\"cannot String %v\", bv)\n\t}\n\tdata.lastUnixSecond, err = strconv.ParseInt(bs, 10, 64)\n\tif err != nil {\n\t\treturn testData{}, err\n\t}\n\n\treturn\n}\n"
  },
  {
    "path": "analyze/02_read_all_metrics_to_analyze_data.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage analyze\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/gyuho/dataframe\"\n)\n\ntype analyzeData struct {\n\tdatabaseTag string\n\tlegend      string\n\n\tminUnixSecond int64\n\tmaxUnixSecond int64\n\tsys           []testData\n\n\t// aggregated frame within [min,maxUnixSecond] from sys\n\tsysAgg               dataframe.Frame\n\tbenchMetricsFilePath string\n\tbenchMetrics         testData\n\n\t// aggregated from sysAgg and benchMetrics\n\taggregated dataframe.Frame\n\n\tallAggregatedOutputPath string\n}\n\n// readSystemMetricsAll reads all system metric files\n// (e.g. if cluster is 3-node, read all 3 files).\n// It returns minimum and maximum common unix second and a list of frames.\nfunc readSystemMetricsAll(fpaths ...string) (data *analyzeData, err error) {\n\tdata = &analyzeData{}\n\tfor i, fpath := range fpaths {\n\t\tsm, err := readSystemMetrics(fpath)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tif i == 0 {\n\t\t\tdata.minUnixSecond = sm.frontUnixSecond\n\t\t\tdata.maxUnixSecond = sm.lastUnixSecond\n\t\t}\n\t\tif data.minUnixSecond < sm.frontUnixSecond {\n\t\t\tdata.minUnixSecond = sm.frontUnixSecond\n\t\t}\n\t\tif data.maxUnixSecond > sm.lastUnixSecond {\n\t\t\tdata.maxUnixSecond = sm.lastUnixSecond\n\t\t}\n\t\tdata.sys = append(data.sys, sm)\n\t}\n\treturn\n}\n\n// aggSystemMetrics aggregates all system metrics from 3+ nodes.\nfunc (data *analyzeData) aggSystemMetrics() error {\n\t// monitor CSVs from multiple servers, and want them to have equal number of rows\n\t// Truncate all rows before data.minUnixSecond and after data.maxUnixSecond\n\tminTS := fmt.Sprintf(\"%d\", data.minUnixSecond)\n\tmaxTS := fmt.Sprintf(\"%d\", data.maxUnixSecond)\n\tdata.sysAgg = dataframe.New()\n\tfor i := range data.sys {\n\t\tuc, err := data.sys[i].frame.Column(\"UNIX-SECOND\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tminTSIdx, ok := uc.FindFirst(dataframe.NewStringValue(minTS))\n\t\tif !ok {\n\t\t\treturn fmt.Errorf(\"%v does not exist in %s\", minTS, data.sys[i].filePath)\n\t\t}\n\t\tmaxTSIdx, ok := uc.FindFirst(dataframe.NewStringValue(maxTS))\n\t\tif !ok {\n\t\t\treturn fmt.Errorf(\"%v does not exist in %s\", maxTS, data.sys[i].filePath)\n\t\t}\n\n\t\tfor _, header := range data.sys[i].frame.Headers() {\n\t\t\tif i > 0 && header == \"UNIX-SECOND\" {\n\t\t\t\t// skip for other databases; we want to keep just one UNIX-SECOND column\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tvar col dataframe.Column\n\t\t\tcol, err = data.sys[i].frame.Column(header)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\t// just keep rows from [min,maxUnixSecond]\n\t\t\tif err = col.Keep(minTSIdx, maxTSIdx+1); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\tif header == \"UNIX-SECOND\" {\n\t\t\t\tif err = data.sysAgg.AddColumn(col); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tswitch header {\n\t\t\tcase \"CPU-NUM\":\n\t\t\t\theader = \"CPU\"\n\n\t\t\tcase \"VMRSS-NUM\":\n\t\t\t\theader = \"VMRSS-MB\"\n\n\t\t\t\t// convert bytes to mb\n\t\t\t\tcolN := col.Count()\n\t\t\t\tfor rowIdx := 0; rowIdx < colN; rowIdx++ {\n\t\t\t\t\tvar rowV dataframe.Value\n\t\t\t\t\trowV, err = col.Value(rowIdx)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tfv, _ := rowV.Float64()\n\t\t\t\t\tfrv := float64(fv) * 0.000001\n\t\t\t\t\tif err = col.Set(rowIdx, dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", frv))); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\tcase \"EXTRA\":\n\t\t\t\t// dbtester uses linux-inspect 'EXTRA' column as 'CLIENT-NUM'\n\t\t\t\theader = \"CLIENT-NUM\"\n\t\t\t}\n\n\t\t\t// since we are aggregating multiple system-metrics CSV files\n\t\t\t// suffix header with the index\n\t\t\tcol.UpdateHeader(fmt.Sprintf(\"%s-%d\", header, i+1))\n\t\t\tif err = data.sysAgg.AddColumn(col); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "analyze/03_read_benchmark_metrics_to_analyze_data.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage analyze\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/gyuho/dataframe\"\n)\n\n// importBenchMetrics adds benchmark metrics from client-side\n// and aggregates this to system metrics by unix timestamps.\nfunc (data *analyzeData) importBenchMetrics(fpath string) (err error) {\n\tdata.benchMetricsFilePath = fpath\n\n\tvar tdf dataframe.Frame\n\ttdf, err = dataframe.NewFromCSV(nil, fpath)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tvar oldTSCol dataframe.Column\n\toldTSCol, err = tdf.Column(\"UNIX-SECOND\")\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// get first(minimum) unix second\n\tfv1, ok := oldTSCol.FrontNonNil()\n\tif !ok {\n\t\treturn fmt.Errorf(\"FrontNonNil %s has empty Unix time %v\", fpath, fv1)\n\t}\n\tivv1, ok := fv1.Int64()\n\tif !ok {\n\t\treturn fmt.Errorf(\"cannot Int64 %v\", fv1)\n\t}\n\tdata.benchMetrics.frontUnixSecond = int64(ivv1)\n\n\t// get last(maximum) unix second\n\tfv2, ok := oldTSCol.BackNonNil()\n\tif !ok {\n\t\treturn fmt.Errorf(\"BackNonNil %s has empty Unix time %v\", fpath, fv2)\n\t}\n\tivv2, ok := fv2.Int64()\n\tif !ok {\n\t\treturn fmt.Errorf(\"cannot Int64 %v\", fv2)\n\t}\n\tdata.benchMetrics.lastUnixSecond = int64(ivv2)\n\n\t// UNIX-SECOND, CONTROL-CLIENT-NUM, MIN-LATENCY-MS, AVG-LATENCY-MS, MAX-LATENCY-MS, AVG-THROUGHPUT\n\tvar oldControlClientNumCol dataframe.Column\n\toldControlClientNumCol, err = tdf.Column(\"CONTROL-CLIENT-NUM\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tvar oldMinLatencyMSCol dataframe.Column\n\toldMinLatencyMSCol, err = tdf.Column(\"MIN-LATENCY-MS\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tvar oldAvgLatencyMSCol dataframe.Column\n\toldAvgLatencyMSCol, err = tdf.Column(\"AVG-LATENCY-MS\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tvar oldMaxLatencyMSCol dataframe.Column\n\toldMaxLatencyMSCol, err = tdf.Column(\"MAX-LATENCY-MS\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tvar oldAvgThroughputCol dataframe.Column\n\toldAvgThroughputCol, err = tdf.Column(\"AVG-THROUGHPUT\")\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tsec2Data := make(map[int64]rowData)\n\tfor i := 0; i < oldTSCol.Count(); i++ {\n\t\ttv, err := oldTSCol.Value(i)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tts, ok := tv.Int64()\n\t\tif !ok {\n\t\t\treturn fmt.Errorf(\"cannot Int64 %v\", tv)\n\t\t}\n\n\t\tcv, err := oldControlClientNumCol.Value(i)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclientN, ok := cv.Int64()\n\t\tif !ok {\n\t\t\treturn fmt.Errorf(\"cannot Int64 %v\", cv)\n\t\t}\n\t\tcn := int64(clientN)\n\n\t\tlv1, err1 := oldMinLatencyMSCol.Value(i)\n\t\tif err1 != nil {\n\t\t\treturn err1\n\t\t}\n\t\tminLat, ok1 := lv1.Float64()\n\t\tif !ok1 {\n\t\t\treturn fmt.Errorf(\"cannot Float64 %v\", lv1)\n\t\t}\n\n\t\tlv2, err2 := oldAvgLatencyMSCol.Value(i)\n\t\tif err2 != nil {\n\t\t\treturn err2\n\t\t}\n\t\tavgLat, ok2 := lv2.Float64()\n\t\tif !ok2 {\n\t\t\treturn fmt.Errorf(\"cannot Float64 %v\", lv2)\n\t\t}\n\n\t\tlv3, err3 := oldMaxLatencyMSCol.Value(i)\n\t\tif err3 != nil {\n\t\t\treturn err3\n\t\t}\n\t\tmaxLat, ok3 := lv3.Float64()\n\t\tif !ok3 {\n\t\t\treturn fmt.Errorf(\"cannot Float64 %v\", lv3)\n\t\t}\n\n\t\thv, err := oldAvgThroughputCol.Value(i)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdataThr, ok := hv.Float64()\n\t\tif !ok {\n\t\t\treturn fmt.Errorf(\"cannot Float64 %v\", hv)\n\t\t}\n\n\t\t// handle duplicate timestamps\n\t\tif v, ok := sec2Data[ts]; !ok {\n\t\t\tsec2Data[ts] = rowData{clientN: cn, minLat: minLat, avgLat: avgLat, maxLat: maxLat, throughput: dataThr}\n\t\t} else {\n\t\t\t// it is possible that there are duplicate timestamps with\n\t\t\t// different client numbers, when clients number bump up\n\t\t\t// these requests happen within this unix second, add up the\n\t\t\t// throughput, and select min,max and avg of latencies\n\t\t\tsec2Data[ts] = rowData{\n\t\t\t\tclientN:    cn,\n\t\t\t\tminLat:     minFloat64(v.minLat, minLat),\n\t\t\t\tavgLat:     (v.avgLat + avgLat) / 2.0,\n\t\t\t\tmaxLat:     maxFloat64(v.maxLat, maxLat),\n\t\t\t\tthroughput: v.throughput + dataThr,\n\t\t\t}\n\t\t}\n\t}\n\n\t// UNIX-SECOND, CONTROL-CLIENT-NUM, MIN-LATENCY-MS, AVG-LATENCY-MS, MAX-LATENCY-MS, AVG-THROUGHPUT\n\t// aggregate duplicate benchmark timestamps with average values\n\t// OR fill in missing timestamps with zero values\n\t//\n\t// expected row number\n\texpectedRowN := data.benchMetrics.lastUnixSecond - data.benchMetrics.frontUnixSecond + 1\n\tnewSecondCol := dataframe.NewColumn(\"UNIX-SECOND\")\n\tnewControlClientNumCol := dataframe.NewColumn(\"CONTROL-CLIENT-NUM\")\n\tnewMinLatencyCol := dataframe.NewColumn(\"MIN-LATENCY-MS\")\n\tnewAvgLatencyCol := dataframe.NewColumn(\"AVG-LATENCY-MS\")\n\tnewMaxLatencyCol := dataframe.NewColumn(\"MAX-LATENCY-MS\")\n\tnewAvgThroughputCol := dataframe.NewColumn(\"AVG-THROUGHPUT\")\n\tfor i := int64(0); i < expectedRowN; i++ {\n\t\tsecond := data.benchMetrics.frontUnixSecond + i\n\t\tnewSecondCol.PushBack(dataframe.NewStringValue(second))\n\n\t\tv, ok := sec2Data[second]\n\t\tif !ok {\n\t\t\t// fill-in missing rows with closest row\n\t\t\tclosest := findClosest(second, sec2Data)\n\t\t\tnewControlClientNumCol.PushBack(dataframe.NewStringValue(closest.clientN))\n\t\t\tnewMinLatencyCol.PushBack(dataframe.NewStringValue(0.0))\n\t\t\tnewAvgLatencyCol.PushBack(dataframe.NewStringValue(0.0))\n\t\t\tnewMaxLatencyCol.PushBack(dataframe.NewStringValue(0.0))\n\t\t\tnewAvgThroughputCol.PushBack(dataframe.NewStringValue(0))\n\t\t\tcontinue\n\t\t}\n\n\t\tnewControlClientNumCol.PushBack(dataframe.NewStringValue(v.clientN))\n\t\tnewMinLatencyCol.PushBack(dataframe.NewStringValue(v.minLat))\n\t\tnewAvgLatencyCol.PushBack(dataframe.NewStringValue(v.avgLat))\n\t\tnewMaxLatencyCol.PushBack(dataframe.NewStringValue(v.maxLat))\n\t\tnewAvgThroughputCol.PushBack(dataframe.NewStringValue(v.throughput))\n\t}\n\n\tdf := dataframe.New()\n\tif err = df.AddColumn(newSecondCol); err != nil {\n\t\treturn err\n\t}\n\tif err = df.AddColumn(newControlClientNumCol); err != nil {\n\t\treturn err\n\t}\n\tif err = df.AddColumn(newMinLatencyCol); err != nil {\n\t\treturn err\n\t}\n\tif err = df.AddColumn(newAvgLatencyCol); err != nil {\n\t\treturn err\n\t}\n\tif err = df.AddColumn(newMaxLatencyCol); err != nil {\n\t\treturn err\n\t}\n\tif err = df.AddColumn(newAvgThroughputCol); err != nil {\n\t\treturn err\n\t}\n\n\tdata.benchMetrics.frame = df\n\treturn\n}\n\ntype rowData struct {\n\tclientN    int64\n\tminLat     float64\n\tavgLat     float64\n\tmaxLat     float64\n\tthroughput float64\n}\n\nfunc findClosest(second int64, sec2Data map[int64]rowData) rowData {\n\tv, ok := sec2Data[second]\n\tif ok {\n\t\treturn v\n\t}\n\tvar min int64\n\tvar max int64\n\tfor k := range sec2Data {\n\t\tif min == 0 || min > k {\n\t\t\tmin = k\n\t\t}\n\t\tif max == 0 || max < k {\n\t\t\tmax = k\n\t\t}\n\t}\n\tr, ok := _findClosestLower(second, sec2Data, min, max)\n\tif ok {\n\t\treturn r\n\t}\n\tr, ok = _findClosestUpper(second, sec2Data, min, max)\n\tif !ok {\n\t\tpanic(fmt.Errorf(\"something wrong with benchmark data... too many data points are missing\"))\n\t}\n\treturn r\n}\n\nfunc _findClosestUpper(second int64, sec2Data map[int64]rowData, min, max int64) (rowData, bool) {\n\tif second < min || second > max {\n\t\treturn rowData{}, false\n\t}\n\tv, ok := sec2Data[second]\n\tif ok {\n\t\treturn v, true\n\t}\n\treturn _findClosestUpper(second+1, sec2Data, min, max)\n}\n\nfunc _findClosestLower(second int64, sec2Data map[int64]rowData, min, max int64) (rowData, bool) {\n\tif second < min || second > max {\n\t\treturn rowData{}, false\n\t}\n\tv, ok := sec2Data[second]\n\tif ok {\n\t\treturn v, true\n\t}\n\treturn _findClosestLower(second-1, sec2Data, min, max)\n}\n"
  },
  {
    "path": "analyze/04_aggregate_all_analyze_data.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage analyze\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\n\t\"github.com/etcd-io/dbtester\"\n\n\thumanize \"github.com/dustin/go-humanize\"\n\t\"github.com/gyuho/dataframe\"\n)\n\n// aggregateAll aggregates all system metrics from 3+ nodes.\nfunc (data *analyzeData) aggregateAll(memoryByKeyPath string, readBytesDeltaByKeyPath string, writeBytesDeltaByKeyPath string, totalRequests int64) error {\n\tcolSys, err := data.sysAgg.Column(\"UNIX-SECOND\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tcolBench, err := data.benchMetrics.frame.Column(\"UNIX-SECOND\")\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tfv, ok := colBench.FrontNonNil()\n\tif !ok {\n\t\treturn fmt.Errorf(\"FrontNonNil %s has empty Unix time %v\", data.benchMetrics.filePath, fv)\n\t}\n\tsysStartIdx, ok := colSys.FindFirst(fv)\n\tif !ok {\n\t\treturn fmt.Errorf(\"%v is not found in system metrics results\", fv)\n\t}\n\n\tbv, ok := colBench.BackNonNil()\n\tif !ok {\n\t\treturn fmt.Errorf(\"BackNonNil %s has empty Unix time %v\", data.benchMetrics.filePath, fv)\n\t}\n\tsysEndIdx, ok := colSys.FindFirst(bv)\n\tif !ok {\n\t\treturn fmt.Errorf(\"%v is not found in system metrics results\", fv)\n\t}\n\n\texpectedSysRowN := sysEndIdx - sysStartIdx + 1\n\n\tvar minBenchEndIdx int\n\tfor _, col := range data.benchMetrics.frame.Columns() {\n\t\tif minBenchEndIdx == 0 {\n\t\t\tminBenchEndIdx = col.Count()\n\t\t}\n\t\tif minBenchEndIdx > col.Count() {\n\t\t\tminBenchEndIdx = col.Count()\n\t\t}\n\t}\n\t// this is index, so decrement by 1 to make it as valid index\n\tminBenchEndIdx--\n\n\t// sysStartIdx 3, sysEndIdx 9, expectedSysRowN 7, minBenchEndIdx 5 (5+1 < 7)\n\t// so benchmark has 6 rows, but system metrics has 7 rows; benchmark is short of rows\n\t// so we should keep system metrics [3, 9)\n\t// THEN sysEndIdx = 3 + 5 = 8 (keep [3, 8+1))\n\t//\n\t// sysStartIdx 3, sysEndIdx 7, expectedSysRowN 5, minBenchEndIdx 5 (5+1 > 5)\n\t// so benchmark has 6 rows, but system metrics has 5 rows; system metrics is short of rows\n\t// so we should keep benchmark [0, 5)\n\t// THEN minBenchEndIdx = 7 - 3 = 4 (keep [0, 4+1))\n\tif minBenchEndIdx+1 < expectedSysRowN {\n\t\t// benchmark is short of rows\n\t\t// adjust system metrics rows to benchmark-metrics\n\t\t// will truncate front of system metrics rows\n\t\tsysEndIdx = sysStartIdx + minBenchEndIdx\n\t} else {\n\t\t// system metrics is short of rows\n\t\t// adjust benchmark metrics to system-metrics\n\t\t// will truncate front of benchmark metrics rows\n\t\tminBenchEndIdx = sysEndIdx - sysStartIdx\n\t}\n\n\t// aggregate all system-metrics and benchmark-metrics\n\tdata.aggregated = dataframe.New()\n\n\t// first, add bench metrics data\n\t// UNIX-SECOND, MIN-LATENCY-MS, AVG-LATENCY-MS, MAX-LATENCY-MS, AVG-THROUGHPUT\n\tfor _, col := range data.benchMetrics.frame.Columns() {\n\t\t// ALWAYS KEEP FROM FIRST ROW OF BENCHMARKS\n\t\t// keeps from [a, b)\n\t\tif err = col.Keep(0, minBenchEndIdx+1); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = data.aggregated.AddColumn(col); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tfor _, col := range data.sysAgg.Columns() {\n\t\tif col.Header() == \"UNIX-SECOND\" {\n\t\t\tcontinue\n\t\t}\n\t\tif err = col.Keep(sysStartIdx, sysEndIdx+1); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = data.aggregated.AddColumn(col); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tvar (\n\t\trequestSum              int\n\t\tcumulativeThroughputCol = dataframe.NewColumn(\"CUMULATIVE-THROUGHPUT\") // from AVG-THROUGHPUT\n\n\t\tsampleSize = float64(len(data.sys))\n\n\t\tavgClientNumCol             = dataframe.NewColumn(\"AVG-CLIENT-NUM\")                  // from CLIENT-NUM\n\t\tavgVolCtxSwitchCol          = dataframe.NewColumn(\"AVG-VOLUNTARY-CTXT-SWITCHES\")     // from VOLUNTARY-CTXT-SWITCHES\n\t\tavgNonVolCtxSwitchCol       = dataframe.NewColumn(\"AVG-NON-VOLUNTARY-CTXT-SWITCHES\") // from NON-VOLUNTARY-CTXT-SWITCHES\n\t\tavgCPUCol                   = dataframe.NewColumn(\"AVG-CPU\")                         // from CPU-NUM\n\t\tmaxCPUCol                   = dataframe.NewColumn(\"MAX-CPU\")                         // from CPU-NUM\n\t\tavgSystemLoadCol            = dataframe.NewColumn(\"AVG-SYSTEM-LOAD-1-MIN\")           // from LOAD-AVERAGE-1-MINUTE\n\t\tavgVMRSSMBCol               = dataframe.NewColumn(\"AVG-VMRSS-MB\")                    // from VMRSS-NUM\n\t\tavgReadsCompletedCol        = dataframe.NewColumn(\"AVG-READS-COMPLETED\")             // from READS-COMPLETED\n\t\tavgReadsCompletedDeltaCol   = dataframe.NewColumn(\"AVG-READS-COMPLETED-DELTA\")       // from READS-COMPLETED-DELTA\n\t\tavgSectorsReadCol           = dataframe.NewColumn(\"AVG-SECTORS-READ\")                // from SECTORS-READ\n\t\tavgSectorsReadDeltaCol      = dataframe.NewColumn(\"AVG-SECTORS-READ-DELTA\")          // from SECTORS-READ-DELTA\n\t\tavgWritesCompletedCol       = dataframe.NewColumn(\"AVG-WRITES-COMPLETED\")            // from WRITES-COMPLETED\n\t\tavgWritesCompletedDeltaCol  = dataframe.NewColumn(\"AVG-WRITES-COMPLETED-DELTA\")      // from WRITES-COMPLETED-DELTA\n\t\tavgSectorsWrittenCol        = dataframe.NewColumn(\"AVG-SECTORS-WRITTEN\")             // from SECTORS-WRITTEN\n\t\tavgSectorsWrittenDeltaCol   = dataframe.NewColumn(\"AVG-SECTORS-WRITTEN-DELTA\")       // from SECTORS-WRITTEN-DELTA\n\t\tavgReadBytesNumDeltaCol     = dataframe.NewColumn(\"AVG-READ-BYTES-NUM-DELTA\")        // from READ-BYTES-DELTA\n\t\tavgWriteBytesNumDeltaCol    = dataframe.NewColumn(\"AVG-WRITE-BYTES-NUM-DELTA\")       // from WRITE-BYTES-DELTA\n\t\tavgReceiveBytesNumCol       = dataframe.NewColumn(\"AVG-RECEIVE-BYTES-NUM\")           // from RECEIVE-BYTES-NUM\n\t\tavgReceiveBytesNumDeltaCol  = dataframe.NewColumn(\"AVG-RECEIVE-BYTES-NUM-DELTA\")     // from RECEIVE-BYTES-NUM-DELTA\n\t\tavgTransmitBytesNumCol      = dataframe.NewColumn(\"AVG-TRANSMIT-BYTES-NUM\")          // from TRANSMIT-BYTES-NUM\n\t\tavgTransmitBytesNumDeltaCol = dataframe.NewColumn(\"AVG-TRANSMIT-BYTES-NUM-DELTA\")    // from TRANSMIT-BYTES-NUM-DELTA\n\t)\n\n\tsec2minVMRSSMB := make(map[int64]float64)\n\tsec2maxVMRSSMB := make(map[int64]float64)\n\n\t// compute average value of 3+ nodes\n\t// by iterating each row (horizontally) for all the columns\n\tfor rowIdx := 0; rowIdx < minBenchEndIdx+1; rowIdx++ {\n\t\tvar (\n\t\t\tclientNumSum             float64\n\t\t\tvolCtxSwitchSum          float64\n\t\t\tnonVolCtxSwitchSum       float64\n\t\t\tcpuSum                   float64\n\t\t\tcpuMax                   float64\n\t\t\tloadAvgSum               float64\n\t\t\tvmrssMBSum               float64\n\t\t\treadsCompletedSum        float64\n\t\t\treadsCompletedDeltaSum   float64\n\t\t\tsectorsReadSum           float64\n\t\t\tsectorsReadDeltaSum      float64\n\t\t\twritesCompletedSum       float64\n\t\t\twritesCompletedDeltaSum  float64\n\t\t\tsectorsWrittenSum        float64\n\t\t\tsectorsWrittenDeltaSum   float64\n\t\t\treadBytesDeltaSum        float64\n\t\t\twriteBytesDeltaSum       float64\n\t\t\treceiveBytesNumSum       float64\n\t\t\treceiveBytesNumDeltaSum  float64\n\t\t\ttransmitBytesNumSum      float64\n\t\t\ttransmitBytesNumDeltaSum float64\n\t\t)\n\t\tsc, err := data.aggregated.Column(\"UNIX-SECOND\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfor _, col := range data.aggregated.Columns() {\n\t\t\trv, err := col.Value(rowIdx)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvv, _ := rv.Float64()\n\n\t\t\thd := col.Header()\n\t\t\tswitch {\n\t\t\t// cumulative values\n\t\t\tcase hd == \"AVG-THROUGHPUT\":\n\t\t\t\trequestSum += int(vv)\n\t\t\t\tcumulativeThroughputCol.PushBack(dataframe.NewStringValue(requestSum))\n\n\t\t\t// average values (need sume first!)\n\t\t\tcase strings.HasPrefix(hd, \"CLIENT-NUM-\"):\n\t\t\t\tclientNumSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"VOLUNTARY-CTXT-SWITCHES-\"):\n\t\t\t\tvolCtxSwitchSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"NON-VOLUNTARY-CTXT-SWITCHES-\"):\n\t\t\t\tnonVolCtxSwitchSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"CPU-\"): // CPU-NUM was converted to CPU-1, CPU-2, CPU-3\n\t\t\t\tcpuSum += vv\n\t\t\t\tif cpuMax == 0.0 || cpuMax < vv {\n\t\t\t\t\tcpuMax = vv\n\t\t\t\t}\n\t\t\tcase strings.HasPrefix(hd, \"LOAD-AVERAGE-1-\"): // LOAD-AVERAGE-1-MINUTE\n\t\t\t\tloadAvgSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"VMRSS-MB-\"): // VMRSS-NUM-NUM was converted to VMRSS-MB-1, VMRSS-MB-2, VMRSS-MB-3\n\t\t\t\tvmrssMBSum += vv\n\n\t\t\t\tsvv, err := sc.Value(rowIdx)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tts, _ := svv.Int64()\n\n\t\t\t\tif v, ok := sec2minVMRSSMB[ts]; !ok {\n\t\t\t\t\tsec2minVMRSSMB[ts] = vv\n\t\t\t\t} else if v > vv || (v == 0.0 && vv != 0.0) {\n\t\t\t\t\tsec2minVMRSSMB[ts] = vv\n\t\t\t\t}\n\t\t\t\tif v, ok := sec2maxVMRSSMB[ts]; !ok {\n\t\t\t\t\tsec2maxVMRSSMB[ts] = vv\n\t\t\t\t} else if v < vv {\n\t\t\t\t\tsec2maxVMRSSMB[ts] = vv\n\t\t\t\t}\n\n\t\t\tcase strings.HasPrefix(hd, \"READS-COMPLETED-DELTA-\"): // match this first!\n\t\t\t\treadsCompletedDeltaSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"READS-COMPLETED-\"):\n\t\t\t\treadsCompletedSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"SECTORS-READ-DELTA-\"):\n\t\t\t\tsectorsReadDeltaSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"SECTORS-READ-\"):\n\t\t\t\tsectorsReadSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"WRITES-COMPLETED-DELTA-\"):\n\t\t\t\twritesCompletedDeltaSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"WRITES-COMPLETED-\"):\n\t\t\t\twritesCompletedSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"SECTORS-WRITTEN-DELTA-\"):\n\t\t\t\tsectorsWrittenDeltaSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"SECTORS-WRITTEN-\"):\n\t\t\t\tsectorsWrittenSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"READ-BYTES-DELTA-\"):\n\t\t\t\treadBytesDeltaSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"WRITE-BYTES-DELTA-\"):\n\t\t\t\twriteBytesDeltaSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"RECEIVE-BYTES-NUM-DELTA-\"):\n\t\t\t\treceiveBytesNumDeltaSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"RECEIVE-BYTES-NUM-\"):\n\t\t\t\treceiveBytesNumSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"TRANSMIT-BYTES-NUM-DELTA-\"):\n\t\t\t\ttransmitBytesNumDeltaSum += vv\n\t\t\tcase strings.HasPrefix(hd, \"TRANSMIT-BYTES-NUM-\"):\n\t\t\t\ttransmitBytesNumSum += vv\n\t\t\t}\n\t\t}\n\n\t\tavgClientNumCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", clientNumSum/sampleSize)))\n\t\tavgVolCtxSwitchCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", volCtxSwitchSum/sampleSize)))\n\t\tavgNonVolCtxSwitchCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", nonVolCtxSwitchSum/sampleSize)))\n\t\tavgCPUCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", cpuSum/sampleSize)))\n\t\tmaxCPUCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", cpuMax)))\n\t\tavgSystemLoadCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", loadAvgSum/sampleSize)))\n\t\tavgVMRSSMBCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", vmrssMBSum/sampleSize)))\n\t\tavgReadsCompletedCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", readsCompletedSum/sampleSize)))\n\t\tavgReadsCompletedDeltaCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", readsCompletedDeltaSum/sampleSize)))\n\t\tavgSectorsReadCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", sectorsReadSum/sampleSize)))\n\t\tavgSectorsReadDeltaCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", sectorsReadDeltaSum/sampleSize)))\n\t\tavgWritesCompletedCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", writesCompletedSum/sampleSize)))\n\t\tavgWritesCompletedDeltaCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", writesCompletedDeltaSum/sampleSize)))\n\t\tavgSectorsWrittenCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", sectorsWrittenSum/sampleSize)))\n\t\tavgSectorsWrittenDeltaCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", sectorsWrittenDeltaSum/sampleSize)))\n\t\tavgReadBytesNumDeltaCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", readBytesDeltaSum/sampleSize)))\n\t\tavgWriteBytesNumDeltaCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", writeBytesDeltaSum/sampleSize)))\n\t\tavgReceiveBytesNumCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", receiveBytesNumSum/sampleSize)))\n\t\tavgReceiveBytesNumDeltaCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", receiveBytesNumDeltaSum/sampleSize)))\n\t\tavgTransmitBytesNumCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", transmitBytesNumSum/sampleSize)))\n\t\tavgTransmitBytesNumDeltaCol.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", transmitBytesNumDeltaSum/sampleSize)))\n\t}\n\n\t// add all cumulative, average columns\n\tif err = data.aggregated.AddColumn(cumulativeThroughputCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgClientNumCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgVolCtxSwitchCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgNonVolCtxSwitchCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgCPUCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(maxCPUCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgSystemLoadCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgVMRSSMBCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgReadsCompletedCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgReadsCompletedDeltaCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgSectorsReadCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgSectorsReadDeltaCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgWritesCompletedCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgWritesCompletedDeltaCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgSectorsWrittenCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgSectorsWrittenDeltaCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgReadBytesNumDeltaCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgWriteBytesNumDeltaCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgReceiveBytesNumCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgReceiveBytesNumDeltaCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgTransmitBytesNumCol); err != nil {\n\t\treturn err\n\t}\n\tif err = data.aggregated.AddColumn(avgTransmitBytesNumDeltaCol); err != nil {\n\t\treturn err\n\t}\n\n\t// add SECOND column\n\tuc, err := data.aggregated.Column(\"UNIX-SECOND\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tsecondCol := dataframe.NewColumn(\"SECOND\")\n\tfor i := 0; i < uc.Count(); i++ {\n\t\tsecondCol.PushBack(dataframe.NewStringValue(i))\n\t}\n\tif err = data.aggregated.AddColumn(secondCol); err != nil {\n\t\treturn err\n\t}\n\t// move to 2th column\n\tif err = data.aggregated.MoveColumn(\"SECOND\", 1); err != nil {\n\t\treturn err\n\t}\n\t// move to 3th column\n\tif err = data.aggregated.MoveColumn(\"CONTROL-CLIENT-NUM\", 2); err != nil {\n\t\treturn err\n\t}\n\t// move to 3th column\n\tif err = data.aggregated.MoveColumn(\"AVG-CLIENT-NUM\", 2); err != nil {\n\t\treturn err\n\t}\n\t// move to 6th column\n\tif err = data.aggregated.MoveColumn(\"AVG-THROUGHPUT\", 5); err != nil {\n\t\treturn err\n\t}\n\n\t// currently first columns are ordered as:\n\t// UNIX-SECOND, SECOND, AVG-CLIENT-NUM, MIN-LATENCY-MS, AVG-LATENCY-MS, MAX-LATENCY-MS, AVG-THROUGHPUT\n\t//\n\t// re-order columns in the following order, to make it more readable\n\treorder := []string{\n\t\t\"CUMULATIVE-THROUGHPUT\",\n\t\t\"AVG-CPU\",\n\t\t\"MAX-CPU\",\n\t\t\"AVG-SYSTEM-LOAD-1-MIN\",\n\t\t\"AVG-VMRSS-MB\",\n\t\t\"AVG-WRITES-COMPLETED\",\n\t\t\"AVG-WRITES-COMPLETED-DELTA\",\n\t\t\"AVG-SECTORS-WRITTEN\",\n\t\t\"AVG-SECTORS-WRITTEN-DELTA\",\n\t\t\"AVG-READS-COMPLETED\",\n\t\t\"AVG-READS-COMPLETED-DELTA\",\n\t\t\"AVG-SECTORS-READ\",\n\t\t\"AVG-SECTORS-READ-DELTA\",\n\t\t\"AVG-READ-BYTES-NUM-DELTA\",\n\t\t\"AVG-WRITE-BYTES-NUM-DELTA\",\n\t\t\"AVG-RECEIVE-BYTES-NUM\",\n\t\t\"AVG-RECEIVE-BYTES-NUM-DELTA\",\n\t\t\"AVG-TRANSMIT-BYTES-NUM\",\n\t\t\"AVG-TRANSMIT-BYTES-NUM-DELTA\",\n\t\t\"AVG-VOLUNTARY-CTXT-SWITCHES\",\n\t\t\"AVG-NON-VOLUNTARY-CTXT-SWITCHES\",\n\t}\n\t// move to 9th\n\tfor i := len(reorder) - 1; i >= 0; i-- {\n\t\tif err = data.aggregated.MoveColumn(reorder[i], 8); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tfor _, col := range data.aggregated.Columns() {\n\t\t// since we will have same headers from different databases\n\t\tcol.UpdateHeader(makeHeader(col.Header(), data.databaseTag))\n\t}\n\n\t// aggregate memory usage by number of keys\n\tcolUnixSecond, err := data.aggregated.Column(\"UNIX-SECOND\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tcolMemoryMB, err := data.aggregated.Column(\"AVG-VMRSS-MB\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tcolAvgThroughput, err := data.aggregated.Column(\"AVG-THROUGHPUT\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tcolReadBytesNumDelta, err := data.aggregated.Column(\"AVG-READ-BYTES-NUM-DELTA\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tcolWriteBytesNumDelta, err := data.aggregated.Column(\"AVG-WRITE-BYTES-NUM-DELTA\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tif colUnixSecond.Count() != colMemoryMB.Count() {\n\t\treturn fmt.Errorf(\"SECOND column count %d, AVG-VMRSS-MB column count %d\", colUnixSecond.Count(), colMemoryMB.Count())\n\t}\n\tif colAvgThroughput.Count() != colMemoryMB.Count() {\n\t\treturn fmt.Errorf(\"AVG-THROUGHPUT column count %d, AVG-VMRSS-MB column count %d\", colAvgThroughput.Count(), colMemoryMB.Count())\n\t}\n\tif colUnixSecond.Count() != colAvgThroughput.Count() {\n\t\treturn fmt.Errorf(\"SECOND column count %d, AVG-THROUGHPUT column count %d\", colUnixSecond.Count(), colAvgThroughput.Count())\n\t}\n\tif colReadBytesNumDelta.Count() != colAvgThroughput.Count() {\n\t\treturn fmt.Errorf(\"AVG-READ-BYTES-NUM-DELTA column count %d, AVG-THROUGHPUT column count %d\", colReadBytesNumDelta.Count(), colAvgThroughput.Count())\n\t}\n\tif colWriteBytesNumDelta.Count() != colAvgThroughput.Count() {\n\t\treturn fmt.Errorf(\"AVG-WRITE-BYTES-NUM-DELTA column count %d, AVG-THROUGHPUT column count %d\", colWriteBytesNumDelta.Count(), colAvgThroughput.Count())\n\t}\n\n\tvar cdata []dbtester.CumulativeKeyNumAndOtherData\n\tfor i := 0; i < colUnixSecond.Count(); i++ {\n\t\tvv0, err := colUnixSecond.Value(i)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tv0, _ := vv0.Int64()\n\n\t\tvv1, err := colMemoryMB.Value(i)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvf1, _ := vv1.Float64()\n\n\t\tvv2, err := colAvgThroughput.Value(i)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvf2, _ := vv2.Float64()\n\n\t\tvv3, err := colReadBytesNumDelta.Value(i)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvf3, _ := vv3.Float64()\n\n\t\tvv4, err := colWriteBytesNumDelta.Value(i)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvf4, _ := vv4.Float64()\n\n\t\tpoint := dbtester.CumulativeKeyNumAndOtherData{\n\t\t\tUnixSecond: v0,\n\t\t\tThroughput: int64(vf2),\n\n\t\t\tMinMemoryMB: sec2minVMRSSMB[v0],\n\t\t\tAvgMemoryMB: vf1,\n\t\t\tMaxMemoryMB: sec2maxVMRSSMB[v0],\n\n\t\t\tAvgReadBytesDelta:  vf3,\n\t\t\tAvgWriteBytesDelta: vf4,\n\t\t}\n\t\tcdata = append(cdata, point)\n\t}\n\n\t// aggregate memory,write/read bytes by number of keys\n\tknms := dbtester.FindRangesData(cdata, 1000, totalRequests)\n\n\tckk1 := dataframe.NewColumn(\"KEYS\")\n\tckk2 := dataframe.NewColumn(\"MIN-VMRSS-MB\")\n\tckk3 := dataframe.NewColumn(\"AVG-VMRSS-MB\")\n\tckk4 := dataframe.NewColumn(\"MAX-VMRSS-MB\")\n\tckk5 := dataframe.NewColumn(\"AVG-READ-BYTES-NUM-DELTA\")\n\tckk6 := dataframe.NewColumn(\"AVG-READ-BYTES\")\n\tckk7 := dataframe.NewColumn(\"AVG-WRITE-BYTES-NUM-DELTA\")\n\tckk8 := dataframe.NewColumn(\"AVG-WRITE-BYTES\")\n\tfor i := range knms {\n\t\tckk1.PushBack(dataframe.NewStringValue(knms[i].CumulativeKeyNum))\n\t\tckk2.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", knms[i].MinMemoryMB)))\n\t\tckk3.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", knms[i].AvgMemoryMB)))\n\t\tckk4.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", knms[i].MaxMemoryMB)))\n\t\tckk5.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", knms[i].AvgReadBytesDelta)))\n\t\tckk6.PushBack(dataframe.NewStringValue(humanize.Bytes(uint64(knms[i].AvgReadBytesDelta))))\n\t\tckk7.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.2f\", knms[i].AvgWriteBytesDelta)))\n\t\tckk8.PushBack(dataframe.NewStringValue(humanize.Bytes(uint64(knms[i].AvgWriteBytesDelta))))\n\t}\n\n\tfr1 := dataframe.New()\n\tif err := fr1.AddColumn(ckk1); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr1.AddColumn(ckk2); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr1.AddColumn(ckk3); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr1.AddColumn(ckk4); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr1.CSV(memoryByKeyPath); err != nil {\n\t\tpanic(err)\n\t}\n\n\t// aggregate read bytes by number of keys\n\tfr2 := dataframe.New()\n\tif err := fr2.AddColumn(ckk1); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr2.AddColumn(ckk5); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr2.AddColumn(ckk6); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr2.CSV(readBytesDeltaByKeyPath); err != nil {\n\t\tpanic(err)\n\t}\n\n\t// aggregate write bytes by number of keys\n\tfr3 := dataframe.New()\n\tif err := fr3.AddColumn(ckk1); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr3.AddColumn(ckk7); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr3.AddColumn(ckk8); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr3.CSV(writeBytesDeltaByKeyPath); err != nil {\n\t\tpanic(err)\n\t}\n\n\treturn nil\n}\n\nfunc (data *analyzeData) save() error {\n\treturn data.aggregated.CSV(data.allAggregatedOutputPath)\n}\n"
  },
  {
    "path": "analyze/05_plot.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage analyze\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\n\t\"github.com/gyuho/dataframe\"\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/plotter\"\n\t\"gonum.org/v1/plot/plotutil\"\n\t\"gonum.org/v1/plot/vg\"\n)\n\nvar (\n\tplotWidth  = 12 * vg.Inch\n\tplotHeight = 8 * vg.Inch\n)\n\nfunc init() {\n\tplot.DefaultFont = \"Helvetica\"\n\tplotter.DefaultLineStyle.Width = vg.Points(1.5)\n\tplotter.DefaultGlyphStyle.Radius = vg.Points(2.0)\n}\n\ntype pair struct {\n\tx dataframe.Column\n\ty dataframe.Column\n}\n\ntype triplet struct {\n\tx      dataframe.Column\n\tminCol dataframe.Column\n\tavgCol dataframe.Column\n\tmaxCol dataframe.Column\n}\n\nfunc (all *allAggregatedData) draw(cfg dbtesterpb.ConfigAnalyzeMachinePlot, pairs ...pair) error {\n\t// frame now contains\n\t// AVG-LATENCY-MS-etcd-v3.1-go1.7.4, AVG-LATENCY-MS-zookeeper-r3.4.9-java8, AVG-LATENCY-MS-consul-v0.7.2-go1.7.4\n\tplt, err := plot.New()\n\tif err != nil {\n\t\treturn err\n\t}\n\tplt.Title.Text = fmt.Sprintf(\"%s, %s\", all.title, cfg.YAxis)\n\tplt.X.Label.Text = cfg.XAxis\n\tplt.Y.Label.Text = cfg.YAxis\n\tplt.Legend.Top = true\n\n\tvar ps []plot.Plotter\n\tfor i, p := range pairs {\n\t\tpt, err := points(p.y)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tl, err := plotter.NewLine(pt)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tl.Color = dbtesterpb.GetRGBI(all.headerToDatabaseID[p.y.Header()], i)\n\t\tl.Dashes = plotutil.Dashes(i)\n\t\tps = append(ps, l)\n\n\t\tplt.Legend.Add(all.headerToDatabaseDescription[p.y.Header()], l)\n\t}\n\tplt.Add(ps...)\n\n\tfor _, outputPath := range cfg.OutputPathList {\n\t\tif err = plt.Save(plotWidth, plotHeight, outputPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (all *allAggregatedData) drawXY(cfg dbtesterpb.ConfigAnalyzeMachinePlot, pairs ...pair) error {\n\t// frame now contains\n\t// KEYS-DB-TAG-X, AVG-LATENCY-MS-DB-TAG-Y, ...\n\tplt, err := plot.New()\n\tif err != nil {\n\t\treturn err\n\t}\n\tplt.Title.Text = fmt.Sprintf(\"%s, %s\", all.title, cfg.YAxis)\n\tplt.X.Label.Text = cfg.XAxis\n\tplt.Y.Label.Text = cfg.YAxis\n\tplt.Legend.Top = true\n\n\tvar ps []plot.Plotter\n\tfor i, p := range pairs {\n\t\tpt, err := pointsXY(p.x, p.y)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tl, err := plotter.NewLine(pt)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tl.Color = dbtesterpb.GetRGBI(all.headerToDatabaseID[p.y.Header()], i)\n\t\tl.Dashes = plotutil.Dashes(i)\n\t\tps = append(ps, l)\n\n\t\tplt.Legend.Add(all.headerToDatabaseDescription[p.y.Header()], l)\n\t}\n\tplt.Add(ps...)\n\n\tfor _, outputPath := range cfg.OutputPathList {\n\t\tif err = plt.Save(plotWidth, plotHeight, outputPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (all *allAggregatedData) drawXYWithErrorPoints(cfg dbtesterpb.ConfigAnalyzeMachinePlot, triplets ...triplet) error {\n\t// frame now contains\n\t// KEYS-DB-TAG-X, MIN-LATENCY-MS-DB-TAG-Y, AVG-LATENCY-MS-DB-TAG-Y, MAX-LATENCY-MS-DB-TAG-Y, ...\n\tplt, err := plot.New()\n\tif err != nil {\n\t\treturn err\n\t}\n\tplt.Title.Text = fmt.Sprintf(\"%s, %s\", all.title, cfg.YAxis)\n\tplt.X.Label.Text = cfg.XAxis\n\tplt.Y.Label.Text = cfg.YAxis\n\tplt.Legend.Top = true\n\n\tvar ps []plot.Plotter\n\tfor i, triplet := range triplets {\n\t\t{\n\t\t\tpt, err := pointsXY(triplet.x, triplet.minCol)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tl, err := plotter.NewLine(pt)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tl.Color = dbtesterpb.GetRGBII(all.headerToDatabaseID[triplet.avgCol.Header()], i)\n\t\t\tl.Dashes = plotutil.Dashes(i)\n\t\t\tps = append(ps, l)\n\t\t\tplt.Legend.Add(all.headerToDatabaseDescription[triplet.avgCol.Header()]+\" MIN\", l)\n\t\t}\n\t\t{\n\t\t\tpt, err := pointsXY(triplet.x, triplet.avgCol)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tl, err := plotter.NewLine(pt)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tl.Color = dbtesterpb.GetRGBI(all.headerToDatabaseID[triplet.avgCol.Header()], i)\n\t\t\tl.Dashes = plotutil.Dashes(i)\n\t\t\tps = append(ps, l)\n\t\t\tplt.Legend.Add(all.headerToDatabaseDescription[triplet.avgCol.Header()], l)\n\t\t}\n\t\t{\n\t\t\tpt, err := pointsXY(triplet.x, triplet.maxCol)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tl, err := plotter.NewLine(pt)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tl.Color = dbtesterpb.GetRGBIII(all.headerToDatabaseID[triplet.avgCol.Header()], i)\n\t\t\tl.Dashes = plotutil.Dashes(i)\n\t\t\tps = append(ps, l)\n\t\t\tplt.Legend.Add(all.headerToDatabaseDescription[triplet.avgCol.Header()]+\" MAX\", l)\n\t\t}\n\t}\n\tplt.Add(ps...)\n\n\tfor _, outputPath := range cfg.OutputPathList {\n\t\tif err = plt.Save(plotWidth, plotHeight, outputPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc points(col dataframe.Column) (plotter.XYs, error) {\n\tbv, ok := col.BackNonNil()\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"BackNonNil not found\")\n\t}\n\trowN, ok := col.FindLast(bv)\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"not found %v\", bv)\n\t}\n\tpts := make(plotter.XYs, rowN)\n\tfor i := range pts {\n\t\tv, err := col.Value(i)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tn, _ := v.Float64()\n\t\tpts[i].X = float64(i)\n\t\tpts[i].Y = n\n\t}\n\treturn pts, nil\n}\n\nfunc pointsXY(colX, colY dataframe.Column) (plotter.XYs, error) {\n\tbv, ok := colX.BackNonNil()\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"BackNonNil not found\")\n\t}\n\trowN, ok := colX.FindLast(bv)\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"not found %v\", bv)\n\t}\n\tpts := make(plotter.XYs, rowN)\n\tfor i := range pts {\n\t\tvx, err := colX.Value(i)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tx, _ := vx.Float64()\n\n\t\tvy, err := colY.Value(i)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ty, _ := vy.Float64()\n\n\t\tpts[i].X = x\n\t\tpts[i].Y = y\n\t}\n\treturn pts, nil\n}\n"
  },
  {
    "path": "analyze/command.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage analyze\n\nimport (\n\t\"bytes\"\n\t\"encoding/csv\"\n\t\"fmt\"\n\t\"path/filepath\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/etcd-io/dbtester\"\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\n\thumanize \"github.com/dustin/go-humanize\"\n\t\"github.com/gyuho/dataframe\"\n\t\"github.com/olekukonko/tablewriter\"\n\t\"github.com/spf13/cobra\"\n)\n\n// Command implements 'analyze' command.\nvar Command = &cobra.Command{\n\tUse:   \"analyze\",\n\tShort: \"Analyzes test dbtester test results.\",\n\tRunE:  commandFunc,\n}\n\nvar configPath string\n\nfunc init() {\n\tCommand.PersistentFlags().StringVarP(&configPath, \"config\", \"c\", \"\", \"YAML configuration file path.\")\n}\n\nfunc commandFunc(cmd *cobra.Command, args []string) error {\n\treturn do(configPath)\n}\n\ntype allAggregatedData struct {\n\ttitle                       string\n\tdata                        []*analyzeData\n\theaderToDatabaseID          map[string]string\n\theaderToDatabaseDescription map[string]string\n\tallDatabaseIDList           []string\n}\n\nfunc do(configPath string) error {\n\tcfg, err := dbtester.ReadConfig(configPath, true)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tall := &allAggregatedData{\n\t\ttitle:                       cfg.TestTitle,\n\t\tdata:                        make([]*analyzeData, 0, len(cfg.DatabaseIDToConfigAnalyzeMachineInitial)),\n\t\theaderToDatabaseID:          make(map[string]string),\n\t\theaderToDatabaseDescription: make(map[string]string),\n\t\tallDatabaseIDList:           cfg.AllDatabaseIDList,\n\t}\n\tfor _, databaseID := range cfg.AllDatabaseIDList {\n\t\ttestgroup := cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID]\n\t\ttestdata := cfg.DatabaseIDToConfigAnalyzeMachineInitial[databaseID]\n\n\t\tlg.Sugar().Info(\"reading system metrics data for %s\", databaseID)\n\t\tad, err := readSystemMetricsAll(testdata.ServerSystemMetricsInterpolatedPathList...)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tad.databaseTag = testgroup.DatabaseTag\n\t\tad.legend = testgroup.DatabaseDescription\n\t\tad.allAggregatedOutputPath = testdata.AllAggregatedOutputPath\n\n\t\tif err = ad.aggSystemMetrics(); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = ad.importBenchMetrics(testdata.ClientLatencyThroughputTimeseriesPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = ad.aggregateAll(testdata.ServerMemoryByKeyNumberPath, testdata.ServerReadBytesDeltaByKeyNumberPath, testdata.ServerWriteBytesDeltaByKeyNumberPath, testgroup.ConfigClientMachineBenchmarkOptions.RequestNumber); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = ad.save(); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tall.data = append(all.data, ad)\n\t\tfor _, hd := range ad.aggregated.Headers() {\n\t\t\tall.headerToDatabaseID[makeHeader(hd, testgroup.DatabaseTag)] = databaseID\n\t\t\tall.headerToDatabaseDescription[makeHeader(hd, testgroup.DatabaseTag)] = testgroup.DatabaseDescription\n\t\t}\n\t}\n\n\t// aggregated everything\n\t// 1. sum of all network usage per database\n\t// 2. throughput, latency percentiles distribution\n\t//\n\t// FIRST ROW FOR HEADER: etcd, Zookeeper, Consul, ...\n\t// FIRST COLUMN FOR LABELS: READS-COMPLETED-DELTA, ...\n\t// SECOND COLUMNS ~ FOR DATA\n\trow00Header := []string{\"\"} // first is empty\n\tfor _, ad := range all.data {\n\t\t// per database\n\t\tfor _, col := range ad.aggregated.Columns() {\n\t\t\tdatabaseID := all.headerToDatabaseID[col.Header()]\n\t\t\trow00Header = append(row00Header, cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID].DatabaseTag)\n\t\t\tbreak\n\t\t}\n\t}\n\n\trow17ServerReceiveBytesSum := []string{\"SERVER-TOTAL-NETWORK-RX-DATA-SUM\"}\n\trow17ServerReceiveBytesSumRaw := []string{\"SERVER-TOTAL-NETWORK-RX-DATA-BYTES-SUM-RAW\"}\n\trow18ServerTransmitBytesSum := []string{\"SERVER-TOTAL-NETWORK-TX-DATA-SUM\"}\n\trow18ServerTransmitBytesSumRaw := []string{\"SERVER-TOTAL-NETWORK-TX-DATA-BYTES-SUM-RAW\"}\n\trow21ServerMaxCPUUsage := []string{\"SERVER-MAX-CPU-USAGE\"}\n\trow22ServerMaxMemoryUsage := []string{\"SERVER-MAX-MEMORY-USAGE\"}\n\trow26ReadsCompletedDeltaSum := []string{\"SERVER-AVG-READS-COMPLETED-DELTA-SUM\"}\n\trow27SectorsReadDeltaSum := []string{\"SERVER-AVG-SECTORS-READS-DELTA-SUM\"}\n\trow28WritesCompletedDeltaSum := []string{\"SERVER-AVG-WRITES-COMPLETED-DELTA-SUM\"}\n\trow29SectorsWrittenDeltaSum := []string{\"SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM\"}\n\n\t// iterate each database's all data\n\tfor _, ad := range all.data {\n\t\t// per database\n\t\tvar (\n\t\t\treadsCompletedDeltaSum   float64\n\t\t\tsectorsReadDeltaSum      float64\n\t\t\twritesCompletedDeltaSum  float64\n\t\t\tsectorsWrittenDeltaSum   float64\n\t\t\treceiveBytesNumDeltaSum  float64\n\t\t\ttransmitBytesNumDeltaSum float64\n\t\t\tmaxAvgCPU                float64\n\t\t\tmaxAvgVMRSSMBs           []float64\n\t\t)\n\t\tfor _, col := range ad.aggregated.Columns() {\n\t\t\thdr := col.Header()\n\t\t\tswitch {\n\t\t\tcase strings.HasPrefix(hdr, \"RECEIVE-BYTES-NUM-DELTA-\"):\n\t\t\t\tcnt := col.Count()\n\t\t\t\tfor j := 0; j < cnt; j++ {\n\t\t\t\t\tvv, err := col.Value(j)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tfv, _ := vv.Float64()\n\t\t\t\t\treceiveBytesNumDeltaSum += fv\n\t\t\t\t}\n\t\t\tcase strings.HasPrefix(hdr, \"TRANSMIT-BYTES-NUM-DELTA-\"):\n\t\t\t\tcnt := col.Count()\n\t\t\t\tfor j := 0; j < cnt; j++ {\n\t\t\t\t\tvv, err := col.Value(j)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tfv, _ := vv.Float64()\n\t\t\t\t\ttransmitBytesNumDeltaSum += fv\n\t\t\t\t}\n\t\t\tcase strings.HasPrefix(hdr, \"READS-COMPLETED-DELTA-\"):\n\t\t\t\tcnt := col.Count()\n\t\t\t\tfor j := 0; j < cnt; j++ {\n\t\t\t\t\tvv, err := col.Value(j)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tfv, _ := vv.Float64()\n\t\t\t\t\treadsCompletedDeltaSum += fv\n\t\t\t\t}\n\t\t\tcase strings.HasPrefix(hdr, \"SECTORS-READS-DELTA-\"):\n\t\t\t\tcnt := col.Count()\n\t\t\t\tfor j := 0; j < cnt; j++ {\n\t\t\t\t\tvv, err := col.Value(j)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tfv, _ := vv.Float64()\n\t\t\t\t\tsectorsReadDeltaSum += fv\n\t\t\t\t}\n\t\t\tcase strings.HasPrefix(hdr, \"WRITES-COMPLETED-DELTA-\"):\n\t\t\t\tcnt := col.Count()\n\t\t\t\tfor j := 0; j < cnt; j++ {\n\t\t\t\t\tvv, err := col.Value(j)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tfv, _ := vv.Float64()\n\t\t\t\t\twritesCompletedDeltaSum += fv\n\t\t\t\t}\n\t\t\tcase strings.HasPrefix(hdr, \"SECTORS-WRITTEN-DELTA-\"):\n\t\t\t\tcnt := col.Count()\n\t\t\t\tfor j := 0; j < cnt; j++ {\n\t\t\t\t\tvv, err := col.Value(j)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tfv, _ := vv.Float64()\n\t\t\t\t\tsectorsWrittenDeltaSum += fv\n\t\t\t\t}\n\t\t\tcase strings.HasPrefix(hdr, \"AVG-CPU-\"):\n\t\t\t\tcnt := col.Count()\n\t\t\t\tfor j := 0; j < cnt; j++ {\n\t\t\t\t\tvv, err := col.Value(j)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tfv, _ := vv.Float64()\n\t\t\t\t\tmaxAvgCPU = maxFloat64(maxAvgCPU, fv)\n\t\t\t\t}\n\t\t\tcase strings.HasPrefix(hdr, \"AVG-VMRSS-MB-\"):\n\t\t\t\tcnt := col.Count()\n\t\t\t\tfor j := 0; j < cnt; j++ {\n\t\t\t\t\tvv, err := col.Value(j)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tfv, _ := vv.Float64()\n\t\t\t\t\tmaxAvgVMRSSMBs = append(maxAvgVMRSSMBs, fv)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\trow17ServerReceiveBytesSum = append(row17ServerReceiveBytesSum, humanize.Bytes(uint64(receiveBytesNumDeltaSum)))\n\t\trow17ServerReceiveBytesSumRaw = append(row17ServerReceiveBytesSumRaw, fmt.Sprintf(\"%.2f\", receiveBytesNumDeltaSum))\n\t\trow18ServerTransmitBytesSum = append(row18ServerTransmitBytesSum, humanize.Bytes(uint64(transmitBytesNumDeltaSum)))\n\t\trow18ServerTransmitBytesSumRaw = append(row18ServerTransmitBytesSumRaw, fmt.Sprintf(\"%.2f\", transmitBytesNumDeltaSum))\n\t\trow21ServerMaxCPUUsage = append(row21ServerMaxCPUUsage, fmt.Sprintf(\"%.2f %%\", maxAvgCPU))\n\t\trow26ReadsCompletedDeltaSum = append(row26ReadsCompletedDeltaSum, humanize.Comma(int64(readsCompletedDeltaSum)))\n\t\trow27SectorsReadDeltaSum = append(row27SectorsReadDeltaSum, humanize.Comma(int64(sectorsReadDeltaSum)))\n\t\trow28WritesCompletedDeltaSum = append(row28WritesCompletedDeltaSum, humanize.Comma(int64(writesCompletedDeltaSum)))\n\t\trow29SectorsWrittenDeltaSum = append(row29SectorsWrittenDeltaSum, humanize.Comma(int64(sectorsWrittenDeltaSum)))\n\n\t\tsort.Float64s(maxAvgVMRSSMBs)\n\t\tmv := maxAvgVMRSSMBs[len(maxAvgVMRSSMBs)-1]\n\t\tmb := uint64(mv * 1000000)\n\t\trow22ServerMaxMemoryUsage = append(row22ServerMaxMemoryUsage, humanize.Bytes(mb))\n\t}\n\n\trow01TotalSeconds := []string{\"TOTAL-SECONDS\"} // TOTAL-SECONDS\n\trow02TotalRequestNumber := []string{\"TOTAL-REQUEST-NUMBER\"}\n\trow03MaxThroughput := []string{\"MAX-THROUGHPUT\"}                                    // MAX AVG-THROUGHPUT\n\trow04AverageThroughput := []string{\"AVG-THROUGHPUT\"}                                // REQUESTS-PER-SECOND\n\trow05MinThroughput := []string{\"MIN-THROUGHPUT\"}                                    // MIN AVG-THROUGHPUT\n\trow06FastestLatency := []string{\"FASTEST-LATENCY\"}                                  // FASTEST-LATENCY-MS\n\trow07AverageLatency := []string{\"AVG-LATENCY\"}                                      // AVERAGE-LATENCY-MS\n\trow08SlowestLatency := []string{\"SLOWEST-LATENCY\"}                                  // SLOWEST-LATENCY-MS\n\trow09p10 := []string{\"Latency p10\"}                                                 // p10\n\trow10p25 := []string{\"Latency p25\"}                                                 // p25\n\trow11p50 := []string{\"Latency p50\"}                                                 // p50\n\trow12p75 := []string{\"Latency p75\"}                                                 // p75\n\trow13p90 := []string{\"Latency p90\"}                                                 // p90\n\trow14p95 := []string{\"Latency p95\"}                                                 // p95\n\trow15p99 := []string{\"Latency p99\"}                                                 // p99\n\trow16p999 := []string{\"Latency p99.9\"}                                              // p99.9\n\trow19ClientReceiveBytesSum := []string{\"CLIENT-TOTAL-NETWORK-RX-SUM\"}               // RECEIVE-BYTES-NUM-DELTA\n\trow19ClientReceiveBytesSumRaw := []string{\"CLIENT-TOTAL-NETWORK-RX-BYTES-SUM-RAW\"}  // RECEIVE-BYTES-NUM-DELTA\n\trow20ClientTransmitBytesSum := []string{\"CLIENT-TOTAL-NETWORK-TX-SUM\"}              // TRANSMIT-BYTES-DELTA\n\trow20ClientTransmitBytesSumRaw := []string{\"CLIENT-TOTAL-NETWORK-TX-BYTES-SUM-RAW\"} // TRANSMIT-BYTES-DELTA\n\trow23ClientMaxCPU := []string{\"CLIENT-MAX-CPU-USAGE\"}                               // CPU-NUM\n\trow24ClientMaxMemory := []string{\"CLIENT-MAX-MEMORY-USAGE\"}                         // VMRSS-NUM\n\trow25ClientErrorCount := []string{\"CLIENT-ERROR-COUNT\"}                             // ERROR:\n\trow30AvgDiskSpaceUsage := []string{\"SERVER-AVG-DISK-SPACE-USAGE\"}                   // DISK-SPACE-USAGE\n\n\tdatabaseIDToErrs := make(map[string][]string)\n\tfor i, databaseID := range cfg.AllDatabaseIDList {\n\t\ttestgroup := cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID]\n\t\ttestdata := cfg.DatabaseIDToConfigAnalyzeMachineInitial[databaseID]\n\n\t\ttag := testdata.DatabaseTag\n\t\tif tag != row00Header[i+1] {\n\t\t\treturn fmt.Errorf(\"analyze config has different order; expected %q, got %q\", row00Header[i+1], tag)\n\t\t}\n\t\trow02TotalRequestNumber = append(row02TotalRequestNumber, humanize.Comma(testgroup.ConfigClientMachineBenchmarkOptions.RequestNumber))\n\n\t\t{\n\t\t\tfr, err := dataframe.NewFromCSV(nil, testdata.ClientSystemMetricsInterpolatedPath)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\tvar receiveBytesNumDeltaSum float64\n\t\t\tcol, err := fr.Column(\"RECEIVE-BYTES-NUM-DELTA\")\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tfor i := 0; i < col.Count(); i++ {\n\t\t\t\tv, err := col.Value(i)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tfv, _ := v.Float64()\n\t\t\t\treceiveBytesNumDeltaSum += fv\n\t\t\t}\n\n\t\t\tvar transmitBytesNumDeltaSum float64\n\t\t\tcol, err = fr.Column(\"TRANSMIT-BYTES-NUM-DELTA\")\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tfor i := 0; i < col.Count(); i++ {\n\t\t\t\tv, err := col.Value(i)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tfv, _ := v.Float64()\n\t\t\t\ttransmitBytesNumDeltaSum += fv\n\t\t\t}\n\n\t\t\tvar maxAvgCPU float64\n\t\t\tcol, err = fr.Column(\"CPU-NUM\")\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tfor i := 0; i < col.Count(); i++ {\n\t\t\t\tv, err := col.Value(i)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tfv, _ := v.Float64()\n\t\t\t\tif maxAvgCPU == 0 || fv > maxAvgCPU {\n\t\t\t\t\tmaxAvgCPU = fv\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar maxVMRSSNum uint64\n\t\t\tcol, err = fr.Column(\"VMRSS-NUM\")\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tfor i := 0; i < col.Count(); i++ {\n\t\t\t\tv, err := col.Value(i)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tiv, _ := v.Uint64()\n\t\t\t\tif maxVMRSSNum == 0 || iv > maxVMRSSNum {\n\t\t\t\t\tmaxVMRSSNum = iv\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trow19ClientReceiveBytesSum = append(row19ClientReceiveBytesSum, humanize.Bytes(uint64(receiveBytesNumDeltaSum)))\n\t\t\trow19ClientReceiveBytesSumRaw = append(row19ClientReceiveBytesSumRaw, fmt.Sprintf(\"%.2f\", receiveBytesNumDeltaSum))\n\t\t\trow20ClientTransmitBytesSum = append(row20ClientTransmitBytesSum, humanize.Bytes(uint64(transmitBytesNumDeltaSum)))\n\t\t\trow20ClientTransmitBytesSumRaw = append(row20ClientTransmitBytesSumRaw, fmt.Sprintf(\"%.2f\", transmitBytesNumDeltaSum))\n\t\t\trow23ClientMaxCPU = append(row23ClientMaxCPU, fmt.Sprintf(\"%.2f %%\", maxAvgCPU))\n\t\t\trow24ClientMaxMemory = append(row24ClientMaxMemory, humanize.Bytes(maxVMRSSNum))\n\t\t}\n\t\t{\n\t\t\tf, err := openToRead(testdata.ClientLatencyDistributionSummaryPath)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefer f.Close()\n\n\t\t\trd := csv.NewReader(f)\n\n\t\t\t// FieldsPerRecord is the number of expected fields per record.\n\t\t\t// If FieldsPerRecord is positive, Read requires each record to\n\t\t\t// have the given number of fields. If FieldsPerRecord is 0, Read sets it to\n\t\t\t// the number of fields in the first record, so that future records must\n\t\t\t// have the same field count. If FieldsPerRecord is negative, no check is\n\t\t\t// made and records may have a variable number of fields.\n\t\t\trd.FieldsPerRecord = -1\n\n\t\t\trows, err := rd.ReadAll()\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\tvar totalErrCnt int64\n\t\t\tfor _, row := range rows {\n\t\t\t\tswitch row[0] {\n\t\t\t\tcase \"TOTAL-SECONDS\":\n\t\t\t\t\trow01TotalSeconds = append(row01TotalSeconds, fmt.Sprintf(\"%s sec\", row[1]))\n\t\t\t\tcase \"REQUESTS-PER-SECOND\":\n\t\t\t\t\tfv, err := strconv.ParseFloat(row[1], 64)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tavg := int64(fv)\n\t\t\t\t\trow04AverageThroughput = append(row04AverageThroughput, fmt.Sprintf(\"%s req/sec\", humanize.Comma(avg)))\n\t\t\t\tcase \"SLOWEST-LATENCY-MS\":\n\t\t\t\t\trow08SlowestLatency = append(row08SlowestLatency, fmt.Sprintf(\"%s ms\", row[1]))\n\t\t\t\tcase \"FASTEST-LATENCY-MS\":\n\t\t\t\t\trow06FastestLatency = append(row06FastestLatency, fmt.Sprintf(\"%s ms\", row[1]))\n\t\t\t\tcase \"AVERAGE-LATENCY-MS\":\n\t\t\t\t\trow07AverageLatency = append(row07AverageLatency, fmt.Sprintf(\"%s ms\", row[1]))\n\t\t\t\t}\n\n\t\t\t\tif strings.HasPrefix(row[0], \"ERROR:\") {\n\t\t\t\t\tiv, err := strconv.ParseInt(row[1], 10, 64)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\ttotalErrCnt += iv\n\n\t\t\t\t\tc1 := strings.TrimSpace(strings.Replace(row[0], \"ERROR:\", \"\", -1))\n\t\t\t\t\tc2 := humanize.Comma(iv)\n\t\t\t\t\tes := fmt.Sprintf(\"%s (count %s)\", c1, c2)\n\t\t\t\t\tif _, ok := databaseIDToErrs[databaseID]; !ok {\n\t\t\t\t\t\tdatabaseIDToErrs[databaseID] = []string{es}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdatabaseIDToErrs[databaseID] = append(databaseIDToErrs[databaseID], es)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\trow25ClientErrorCount = append(row25ClientErrorCount, humanize.Comma(totalErrCnt))\n\t\t}\n\t\t{\n\t\t\tfr, err := dataframe.NewFromCSV(nil, testdata.ClientLatencyThroughputTimeseriesPath)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcol, err := fr.Column(\"AVG-THROUGHPUT\")\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvar min int64\n\t\t\tvar max int64\n\t\t\tfor i := 0; i < col.Count(); i++ {\n\t\t\t\tval, err := col.Value(i)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tfv, _ := val.Float64()\n\n\t\t\t\tif i == 0 {\n\t\t\t\t\tmin = int64(fv)\n\t\t\t\t}\n\t\t\t\tif max < int64(fv) {\n\t\t\t\t\tmax = int64(fv)\n\t\t\t\t}\n\t\t\t\tif min > int64(fv) {\n\t\t\t\t\tmin = int64(fv)\n\t\t\t\t}\n\t\t\t}\n\t\t\trow03MaxThroughput = append(row03MaxThroughput, fmt.Sprintf(\"%s req/sec\", humanize.Comma(max)))\n\t\t\trow05MinThroughput = append(row05MinThroughput, fmt.Sprintf(\"%s req/sec\", humanize.Comma(min)))\n\t\t}\n\t\t{\n\t\t\tfr, err := dataframe.NewFromCSV(nil, testdata.ServerDiskSpaceUsageSummaryPath)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcol, err := fr.Column(dbtester.DiskSpaceUsageSummaryColumns[3]) // datasize in bytes\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvar sum float64\n\t\t\tfor i := 0; i < col.Count(); i++ {\n\t\t\t\tval, err := col.Value(i)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tfv, _ := val.Float64()\n\t\t\t\tsum += fv\n\t\t\t}\n\t\t\tavg := uint64(sum / float64(col.Count()))\n\t\t\trow30AvgDiskSpaceUsage = append(row30AvgDiskSpaceUsage, humanize.Bytes(avg))\n\t\t}\n\t\t{\n\t\t\tf, err := openToRead(testdata.ClientLatencyDistributionPercentilePath)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefer f.Close()\n\n\t\t\trd := csv.NewReader(f)\n\n\t\t\t// FieldsPerRecord is the number of expected fields per record.\n\t\t\t// If FieldsPerRecord is positive, Read requires each record to\n\t\t\t// have the given number of fields. If FieldsPerRecord is 0, Read sets it to\n\t\t\t// the number of fields in the first record, so that future records must\n\t\t\t// have the same field count. If FieldsPerRecord is negative, no check is\n\t\t\t// made and records may have a variable number of fields.\n\t\t\trd.FieldsPerRecord = -1\n\n\t\t\trows, err := rd.ReadAll()\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\tfor ri, row := range rows {\n\t\t\t\tif ri == 0 {\n\t\t\t\t\tcontinue // skip header\n\t\t\t\t}\n\t\t\t\tswitch row[0] {\n\t\t\t\tcase \"p10\":\n\t\t\t\t\trow09p10 = append(row09p10, fmt.Sprintf(\"%s ms\", row[1]))\n\t\t\t\tcase \"p25\":\n\t\t\t\t\trow10p25 = append(row10p25, fmt.Sprintf(\"%s ms\", row[1]))\n\t\t\t\tcase \"p50\":\n\t\t\t\t\trow11p50 = append(row11p50, fmt.Sprintf(\"%s ms\", row[1]))\n\t\t\t\tcase \"p75\":\n\t\t\t\t\trow12p75 = append(row12p75, fmt.Sprintf(\"%s ms\", row[1]))\n\t\t\t\tcase \"p90\":\n\t\t\t\t\trow13p90 = append(row13p90, fmt.Sprintf(\"%s ms\", row[1]))\n\t\t\t\tcase \"p95\":\n\t\t\t\t\trow14p95 = append(row14p95, fmt.Sprintf(\"%s ms\", row[1]))\n\t\t\t\tcase \"p99\":\n\t\t\t\t\trow15p99 = append(row15p99, fmt.Sprintf(\"%s ms\", row[1]))\n\t\t\t\tcase \"p99.9\":\n\t\t\t\t\trow16p999 = append(row16p999, fmt.Sprintf(\"%s ms\", row[1]))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tlg.Sugar().Info(\"saving summary data to %q\", cfg.ConfigAnalyzeMachineAllAggregatedOutput.AllAggregatedOutputPathCSV)\n\taggRowsForSummaryCSV := [][]string{\n\t\trow00Header,\n\t\trow01TotalSeconds,\n\t\trow02TotalRequestNumber,\n\t\trow03MaxThroughput,\n\t\trow04AverageThroughput,\n\t\trow05MinThroughput,\n\n\t\trow06FastestLatency,\n\t\trow07AverageLatency,\n\t\trow08SlowestLatency,\n\n\t\trow09p10,\n\t\trow10p25,\n\t\trow11p50,\n\t\trow12p75,\n\t\trow13p90,\n\t\trow14p95,\n\t\trow15p99,\n\t\trow16p999,\n\n\t\trow17ServerReceiveBytesSum,\n\t\trow17ServerReceiveBytesSumRaw,\n\t\trow18ServerTransmitBytesSum,\n\t\trow18ServerTransmitBytesSumRaw,\n\t\trow19ClientReceiveBytesSum,\n\t\trow19ClientReceiveBytesSumRaw,\n\t\trow20ClientTransmitBytesSum,\n\t\trow20ClientTransmitBytesSumRaw,\n\n\t\trow21ServerMaxCPUUsage,\n\t\trow22ServerMaxMemoryUsage,\n\t\trow23ClientMaxCPU,\n\t\trow24ClientMaxMemory,\n\n\t\trow25ClientErrorCount,\n\n\t\trow26ReadsCompletedDeltaSum,\n\t\trow27SectorsReadDeltaSum,\n\t\trow28WritesCompletedDeltaSum,\n\t\trow29SectorsWrittenDeltaSum,\n\t\trow30AvgDiskSpaceUsage,\n\t}\n\tfile, err := openToOverwrite(cfg.ConfigAnalyzeMachineAllAggregatedOutput.AllAggregatedOutputPathCSV)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer file.Close()\n\twr := csv.NewWriter(file)\n\tif err := wr.WriteAll(aggRowsForSummaryCSV); err != nil {\n\t\treturn err\n\t}\n\twr.Flush()\n\tif err := wr.Error(); err != nil {\n\t\treturn err\n\t}\n\n\tlg.Sugar().Info(\"saving summary data to %q\", cfg.ConfigAnalyzeMachineAllAggregatedOutput.AllAggregatedOutputPathTXT)\n\taggRowsForSummaryTXT := [][]string{\n\t\trow00Header,\n\t\trow01TotalSeconds,\n\t\trow02TotalRequestNumber,\n\t\trow03MaxThroughput,\n\t\trow04AverageThroughput,\n\t\trow05MinThroughput,\n\n\t\trow06FastestLatency,\n\t\trow07AverageLatency,\n\t\trow08SlowestLatency,\n\n\t\trow09p10,\n\t\trow10p25,\n\t\trow11p50,\n\t\trow12p75,\n\t\trow13p90,\n\t\trow14p95,\n\t\trow15p99,\n\t\trow16p999,\n\n\t\trow17ServerReceiveBytesSum,\n\t\trow18ServerTransmitBytesSum,\n\t\trow19ClientReceiveBytesSum,\n\t\trow20ClientTransmitBytesSum,\n\n\t\trow21ServerMaxCPUUsage,\n\t\trow22ServerMaxMemoryUsage,\n\t\trow23ClientMaxCPU,\n\t\trow24ClientMaxMemory,\n\n\t\trow25ClientErrorCount,\n\n\t\trow26ReadsCompletedDeltaSum,\n\t\trow27SectorsReadDeltaSum,\n\t\trow28WritesCompletedDeltaSum,\n\t\trow29SectorsWrittenDeltaSum,\n\t\trow30AvgDiskSpaceUsage,\n\t}\n\tbuf := new(bytes.Buffer)\n\ttw := tablewriter.NewWriter(buf)\n\ttw.SetHeader(aggRowsForSummaryTXT[0])\n\tfor _, row := range aggRowsForSummaryTXT[1:] {\n\t\ttw.Append(row)\n\t}\n\ttw.SetAutoFormatHeaders(false)\n\ttw.SetAlignment(tablewriter.ALIGN_RIGHT)\n\ttw.Render()\n\terrs := \"\"\n\tfor _, databaseID := range cfg.AllDatabaseIDList {\n\t\tes, ok := databaseIDToErrs[databaseID]\n\t\tif !ok {\n\t\t\tcontinue\n\t\t}\n\t\terrs = databaseID + \" \" + \"errors:\\n\" + strings.Join(es, \"\\n\") + \"\\n\"\n\t}\n\tstxt := buf.String()\n\tif errs != \"\" {\n\t\tstxt += \"\\n\" + \"\\n\" + errs\n\t}\n\tif err := toFile(stxt, changeExtToTxt(cfg.ConfigAnalyzeMachineAllAggregatedOutput.AllAggregatedOutputPathTXT)); err != nil {\n\t\treturn err\n\t}\n\n\t// KEYS, MIN-LATENCY-MS, AVG-LATENCY-MS, MAX-LATENCY-MS\n\tlg.Sugar().Info(\"combining all latency data by keys\")\n\tallLatencyFrame := dataframe.New()\n\tfor _, databaseID := range cfg.AllDatabaseIDList {\n\t\ttestdata := cfg.DatabaseIDToConfigAnalyzeMachineInitial[databaseID]\n\n\t\tfr, err := dataframe.NewFromCSV(nil, testdata.ClientLatencyByKeyNumberPath)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolKeys, err := fr.Column(\"KEYS\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolKeys.UpdateHeader(makeHeader(\"KEYS\", testdata.DatabaseTag))\n\t\tif err = allLatencyFrame.AddColumn(colKeys); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tcolMinLatency, err := fr.Column(\"MIN-LATENCY-MS\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolMinLatency.UpdateHeader(makeHeader(\"MIN-LATENCY-MS\", testdata.DatabaseTag))\n\t\tif err = allLatencyFrame.AddColumn(colMinLatency); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tcolAvgLatency, err := fr.Column(\"AVG-LATENCY-MS\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolAvgLatency.UpdateHeader(makeHeader(\"AVG-LATENCY-MS\", testdata.DatabaseTag))\n\t\tif err = allLatencyFrame.AddColumn(colAvgLatency); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tcolMaxLatency, err := fr.Column(\"MAX-LATENCY-MS\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolMaxLatency.UpdateHeader(makeHeader(\"MAX-LATENCY-MS\", testdata.DatabaseTag))\n\t\tif err = allLatencyFrame.AddColumn(colMaxLatency); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\t// KEYS, MIN-VMRSS-MB, AVG-VMRSS-MB, MAX-VMRSS-MB\n\tlg.Sugar().Info(\"combining all server memory usage by keys\")\n\tallMemoryFrame := dataframe.New()\n\tfor _, databaseID := range cfg.AllDatabaseIDList {\n\t\ttestdata := cfg.DatabaseIDToConfigAnalyzeMachineInitial[databaseID]\n\n\t\tfr, err := dataframe.NewFromCSV(nil, testdata.ServerMemoryByKeyNumberPath)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolKeys, err := fr.Column(\"KEYS\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolKeys.UpdateHeader(makeHeader(\"KEYS\", testdata.DatabaseTag))\n\t\tif err = allMemoryFrame.AddColumn(colKeys); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tcolMemMin, err := fr.Column(\"MIN-VMRSS-MB\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolMemMin.UpdateHeader(makeHeader(\"MIN-VMRSS-MB\", testdata.DatabaseTag))\n\t\tif err = allMemoryFrame.AddColumn(colMemMin); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tcolMem, err := fr.Column(\"AVG-VMRSS-MB\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolMem.UpdateHeader(makeHeader(\"AVG-VMRSS-MB\", testdata.DatabaseTag))\n\t\tif err = allMemoryFrame.AddColumn(colMem); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tcolMemMax, err := fr.Column(\"MAX-VMRSS-MB\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolMemMax.UpdateHeader(makeHeader(\"MAX-VMRSS-MB\", testdata.DatabaseTag))\n\t\tif err = allMemoryFrame.AddColumn(colMemMax); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\t// KEYS, AVG-READ-BYTES-NUM-DELTA, AVG-READ-BYTES\n\tlg.Sugar().Info(\"combining all server read bytes delta by keys\")\n\tallReadBytesDeltaFrame := dataframe.New()\n\tfor _, databaseID := range cfg.AllDatabaseIDList {\n\t\ttestdata := cfg.DatabaseIDToConfigAnalyzeMachineInitial[databaseID]\n\n\t\tfr, err := dataframe.NewFromCSV(nil, testdata.ServerReadBytesDeltaByKeyNumberPath)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolKeys, err := fr.Column(\"KEYS\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolKeys.UpdateHeader(makeHeader(\"KEYS\", testdata.DatabaseTag))\n\t\tif err = allReadBytesDeltaFrame.AddColumn(colKeys); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tcol1, err := fr.Column(\"AVG-READ-BYTES-NUM-DELTA\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcol1.UpdateHeader(makeHeader(\"AVG-READ-BYTES-NUM-DELTA\", testdata.DatabaseTag))\n\t\tif err = allReadBytesDeltaFrame.AddColumn(col1); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tcol2, err := fr.Column(\"AVG-READ-BYTES\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcol2.UpdateHeader(makeHeader(\"AVG-READ-BYTES\", testdata.DatabaseTag))\n\t\tif err = allReadBytesDeltaFrame.AddColumn(col2); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\t// KEYS, AVG-WRITE-BYTES-NUM-DELTA, AVG-WRITE-BYTES\n\tlg.Sugar().Info(\"combining all server write bytes delta by keys\")\n\tallWriteBytesDeltaFrame := dataframe.New()\n\tfor _, databaseID := range cfg.AllDatabaseIDList {\n\t\ttestdata := cfg.DatabaseIDToConfigAnalyzeMachineInitial[databaseID]\n\n\t\tfr, err := dataframe.NewFromCSV(nil, testdata.ServerWriteBytesDeltaByKeyNumberPath)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolKeys, err := fr.Column(\"KEYS\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcolKeys.UpdateHeader(makeHeader(\"KEYS\", testdata.DatabaseTag))\n\t\tif err = allWriteBytesDeltaFrame.AddColumn(colKeys); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tcol1, err := fr.Column(\"AVG-WRITE-BYTES-NUM-DELTA\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcol1.UpdateHeader(makeHeader(\"AVG-WRITE-BYTES-NUM-DELTA\", testdata.DatabaseTag))\n\t\tif err = allWriteBytesDeltaFrame.AddColumn(col1); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tcol2, err := fr.Column(\"AVG-WRITE-BYTES\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcol2.UpdateHeader(makeHeader(\"AVG-WRITE-BYTES\", testdata.DatabaseTag))\n\t\tif err = allWriteBytesDeltaFrame.AddColumn(col2); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t{\n\t\tallLatencyFrameCfg := dbtesterpb.ConfigAnalyzeMachinePlot{\n\t\t\tColumn:         \"AVG-LATENCY-MS\",\n\t\t\tXAxis:          \"Cumulative Number of Keys\",\n\t\t\tYAxis:          \"Latency(millisecond) by Keys\",\n\t\t\tOutputPathList: make([]string, len(cfg.AnalyzePlotList[0].OutputPathList)),\n\t\t}\n\t\tallLatencyFrameCfg.OutputPathList[0] = filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-LATENCY-MS-BY-KEY.svg\")\n\t\tallLatencyFrameCfg.OutputPathList[1] = filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-LATENCY-MS-BY-KEY.png\")\n\t\tlg.Sugar().Info(\"plotting %v\", allLatencyFrameCfg.OutputPathList)\n\t\tvar pairs []pair\n\t\tallCols := allLatencyFrame.Columns()\n\t\tfor i := 0; i < len(allCols)-3; i += 4 {\n\t\t\tpairs = append(pairs, pair{\n\t\t\t\tx: allCols[i],   // x\n\t\t\t\ty: allCols[i+2], // avg\n\t\t\t})\n\t\t}\n\t\tif err = all.drawXY(allLatencyFrameCfg, pairs...); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnewCSV := dataframe.New()\n\t\tfor _, p := range pairs {\n\t\t\tif err = newCSV.AddColumn(p.x); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif err = newCSV.AddColumn(p.y); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tcsvPath := filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-LATENCY-MS-BY-KEY.csv\")\n\t\tif err := newCSV.CSV(csvPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\t{\n\t\t// with error points\n\t\tallLatencyFrameCfg := dbtesterpb.ConfigAnalyzeMachinePlot{\n\t\t\tColumn:         \"AVG-LATENCY-MS\",\n\t\t\tXAxis:          \"Cumulative Number of Keys\",\n\t\t\tYAxis:          \"Latency(millisecond) by Keys\",\n\t\t\tOutputPathList: make([]string, len(cfg.AnalyzePlotList[0].OutputPathList)),\n\t\t}\n\t\tallLatencyFrameCfg.OutputPathList[0] = filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\")\n\t\tallLatencyFrameCfg.OutputPathList[1] = filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.png\")\n\t\tlg.Sugar().Info(\"plotting %v\", allLatencyFrameCfg.OutputPathList)\n\t\tvar triplets []triplet\n\t\tallCols := allLatencyFrame.Columns()\n\t\tfor i := 0; i < len(allCols)-3; i += 4 {\n\t\t\ttriplets = append(triplets, triplet{\n\t\t\t\tx:      allCols[i],\n\t\t\t\tminCol: allCols[i+1],\n\t\t\t\tavgCol: allCols[i+2],\n\t\t\t\tmaxCol: allCols[i+3],\n\t\t\t})\n\t\t}\n\t\tif err = all.drawXYWithErrorPoints(allLatencyFrameCfg, triplets...); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnewCSV := dataframe.New()\n\t\tfor _, tri := range triplets {\n\t\t\tif err = newCSV.AddColumn(tri.x); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif err = newCSV.AddColumn(tri.minCol); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif err = newCSV.AddColumn(tri.avgCol); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif err = newCSV.AddColumn(tri.maxCol); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tcsvPath := filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.csv\")\n\t\tif err := newCSV.CSV(csvPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\t{\n\t\tallMemoryFrameCfg := dbtesterpb.ConfigAnalyzeMachinePlot{\n\t\t\tColumn:         \"AVG-VMRSS-MB\",\n\t\t\tXAxis:          \"Cumulative Number of Keys\",\n\t\t\tYAxis:          \"Memory(MB) by Keys\",\n\t\t\tOutputPathList: make([]string, len(cfg.AnalyzePlotList[0].OutputPathList)),\n\t\t}\n\t\tallMemoryFrameCfg.OutputPathList[0] = filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-VMRSS-MB-BY-KEY.svg\")\n\t\tallMemoryFrameCfg.OutputPathList[1] = filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-VMRSS-MB-BY-KEY.png\")\n\t\tlg.Sugar().Info(\"plotting %v\", allMemoryFrameCfg.OutputPathList)\n\t\tvar pairs []pair\n\t\tallCols := allMemoryFrame.Columns()\n\t\tfor i := 0; i < len(allCols)-3; i += 4 {\n\t\t\tpairs = append(pairs, pair{\n\t\t\t\tx: allCols[i],   // x\n\t\t\t\ty: allCols[i+2], // avg\n\t\t\t})\n\t\t}\n\t\tif err = all.drawXY(allMemoryFrameCfg, pairs...); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnewCSV := dataframe.New()\n\t\tfor _, p := range pairs {\n\t\t\tif err = newCSV.AddColumn(p.x); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif err = newCSV.AddColumn(p.y); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tcsvPath := filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-VMRSS-MB-BY-KEY.csv\")\n\t\tif err := newCSV.CSV(csvPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\t{\n\t\t// with error points\n\t\tallMemoryFrameCfg := dbtesterpb.ConfigAnalyzeMachinePlot{\n\t\t\tColumn:         \"AVG-VMRSS-MB\",\n\t\t\tXAxis:          \"Cumulative Number of Keys\",\n\t\t\tYAxis:          \"Memory(MB) by Keys\",\n\t\t\tOutputPathList: make([]string, len(cfg.AnalyzePlotList[0].OutputPathList)),\n\t\t}\n\t\tallMemoryFrameCfg.OutputPathList[0] = filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\")\n\t\tallMemoryFrameCfg.OutputPathList[1] = filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.png\")\n\t\tlg.Sugar().Info(\"plotting %v\", allMemoryFrameCfg.OutputPathList)\n\t\tvar triplets []triplet\n\t\tallCols := allMemoryFrame.Columns()\n\t\tfor i := 0; i < len(allCols)-3; i += 4 {\n\t\t\ttriplets = append(triplets, triplet{\n\t\t\t\tx:      allCols[i],\n\t\t\t\tminCol: allCols[i+1],\n\t\t\t\tavgCol: allCols[i+2],\n\t\t\t\tmaxCol: allCols[i+3],\n\t\t\t})\n\t\t}\n\t\tif err = all.drawXYWithErrorPoints(allMemoryFrameCfg, triplets...); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnewCSV := dataframe.New()\n\t\tfor _, tri := range triplets {\n\t\t\tif err = newCSV.AddColumn(tri.x); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif err = newCSV.AddColumn(tri.minCol); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif err = newCSV.AddColumn(tri.avgCol); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif err = newCSV.AddColumn(tri.maxCol); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tcsvPath := filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.csv\")\n\t\tif err := newCSV.CSV(csvPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\t{\n\t\tallReadBytesDeltaFrameCfg := dbtesterpb.ConfigAnalyzeMachinePlot{\n\t\t\tColumn:         \"AVG-READ-BYTES-NUM-DELTA\",\n\t\t\tXAxis:          \"Cumulative Number of Keys\",\n\t\t\tYAxis:          \"Average Read Bytes Delta by Keys\",\n\t\t\tOutputPathList: make([]string, len(cfg.AnalyzePlotList[0].OutputPathList)),\n\t\t}\n\t\tallReadBytesDeltaFrameCfg.OutputPathList[0] = filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-READ-BYTES-NUM-DELTA-BY-KEY.svg\")\n\t\tallReadBytesDeltaFrameCfg.OutputPathList[1] = filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-READ-BYTES-NUM-DELTA-BY-KEY.png\")\n\t\tlg.Sugar().Info(\"plotting %v\", allReadBytesDeltaFrameCfg.OutputPathList)\n\t\tvar pairs []pair\n\t\tallCols := allReadBytesDeltaFrame.Columns()\n\t\tfor i := 0; i < len(allCols)-2; i += 3 {\n\t\t\tpairs = append(pairs, pair{\n\t\t\t\tx: allCols[i],   // x\n\t\t\t\ty: allCols[i+1], // avg\n\t\t\t})\n\t\t}\n\t\tif err = all.drawXY(allReadBytesDeltaFrameCfg, pairs...); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcsvPath := filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-READ-BYTES-NUM-DELTA-BY-KEY.csv\")\n\t\tif err := allReadBytesDeltaFrame.CSV(csvPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\t{\n\t\tallWriteBytesDeltaFrameCfg := dbtesterpb.ConfigAnalyzeMachinePlot{\n\t\t\tColumn:         \"AVG-WRITE-BYTES-NUM-DELTA\",\n\t\t\tXAxis:          \"Cumulative Number of Keys\",\n\t\t\tYAxis:          \"Average Write Bytes Delta by Keys\",\n\t\t\tOutputPathList: make([]string, len(cfg.AnalyzePlotList[0].OutputPathList)),\n\t\t}\n\t\tallWriteBytesDeltaFrameCfg.OutputPathList[0] = filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-WRITE-BYTES-NUM-DELTA-BY-KEY.svg\")\n\t\tallWriteBytesDeltaFrameCfg.OutputPathList[1] = filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-WRITE-BYTES-NUM-DELTA-BY-KEY.png\")\n\t\tlg.Sugar().Info(\"plotting %v\", allWriteBytesDeltaFrameCfg.OutputPathList)\n\t\tvar pairs []pair\n\t\tallCols := allWriteBytesDeltaFrame.Columns()\n\t\tfor i := 0; i < len(allCols)-2; i += 3 {\n\t\t\tpairs = append(pairs, pair{\n\t\t\t\tx: allCols[i],   // x\n\t\t\t\ty: allCols[i+1], // avg\n\t\t\t})\n\t\t}\n\t\tif err = all.drawXY(allWriteBytesDeltaFrameCfg, pairs...); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcsvPath := filepath.Join(filepath.Dir(cfg.AnalyzePlotList[0].OutputPathList[0]), \"AVG-WRITE-BYTES-NUM-DELTA-BY-KEY.csv\")\n\t\tif err := allWriteBytesDeltaFrame.CSV(csvPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tlg.Info(\"combining data for plotting\")\n\tfor _, plotConfig := range cfg.AnalyzePlotList {\n\t\tlg.Sugar().Info(\"plotting %q\", plotConfig.Column)\n\t\tvar clientNumColumns []dataframe.Column\n\t\tvar pairs []pair\n\t\tvar dataColumns []dataframe.Column\n\t\tfor i, ad := range all.data {\n\t\t\tdatabaseID := all.allDatabaseIDList[i]\n\t\t\ttag := cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID].DatabaseTag\n\n\t\t\tavgCol, err := ad.aggregated.Column(\"CONTROL-CLIENT-NUM\")\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tavgCol.UpdateHeader(makeHeader(\"CONTROL-CLIENT-NUM\", tag))\n\t\t\tclientNumColumns = append(clientNumColumns, avgCol)\n\n\t\t\tcol, err := ad.aggregated.Column(plotConfig.Column)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcol.UpdateHeader(makeHeader(plotConfig.Column, tag))\n\t\t\tpairs = append(pairs, pair{y: col})\n\t\t\tdataColumns = append(dataColumns, col)\n\t\t}\n\t\tif err = all.draw(plotConfig, pairs...); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tlg.Sugar().Info(\"saving data for %q of all database\", plotConfig.Column)\n\t\tnf1, err := dataframe.NewFromColumns(nil, dataColumns...)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = nf1.CSV(plotConfig.OutputPathCSV); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tlg.Sugar().Info(\"saving data for %q of all database (by client number)\", plotConfig.Column)\n\t\tnf2 := dataframe.New()\n\t\tfor i := range clientNumColumns {\n\t\t\tif clientNumColumns[i].Count() != dataColumns[i].Count() {\n\t\t\t\treturn fmt.Errorf(\"%q row count %d != %q row count %d\",\n\t\t\t\t\tclientNumColumns[i].Header(),\n\t\t\t\t\tclientNumColumns[i].Count(),\n\t\t\t\t\tdataColumns[i].Header(),\n\t\t\t\t\tdataColumns[i].Count(),\n\t\t\t\t)\n\t\t\t}\n\t\t\tif err := nf2.AddColumn(clientNumColumns[i]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif err := nf2.AddColumn(dataColumns[i]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tif err = nf2.CSV(filepath.Join(filepath.Dir(plotConfig.OutputPathCSV), plotConfig.Column+\"-BY-CLIENT-NUM\"+\".csv\")); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tif len(cfg.DatabaseIDToConfigClientMachineAgentControl[cfg.AllDatabaseIDList[0]].ConfigClientMachineBenchmarkOptions.ConnectionClientNumbers) > 0 {\n\t\t\tlg.Sugar().Info(\"aggregating data for %q of all database (by client number)\", plotConfig.Column)\n\t\t\tnf3 := dataframe.New()\n\t\t\tvar firstKeys []int\n\t\t\tfor i := range clientNumColumns {\n\t\t\t\tn := clientNumColumns[i].Count()\n\t\t\t\tallData := make(map[int]float64)\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\tv1, err := clientNumColumns[i].Value(j)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tnum, _ := v1.Int64()\n\n\t\t\t\t\tv2, err := dataColumns[i].Value(j)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tdata, _ := v2.Float64()\n\n\t\t\t\t\tif v, ok := allData[int(num)]; ok {\n\t\t\t\t\t\tallData[int(num)] = (v + data) / 2\n\t\t\t\t\t} else {\n\t\t\t\t\t\tallData[int(num)] = data\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar allKeys []int\n\t\t\t\tfor k := range allData {\n\t\t\t\t\tallKeys = append(allKeys, k)\n\t\t\t\t}\n\t\t\t\tsort.Ints(allKeys)\n\n\t\t\t\tif i == 0 {\n\t\t\t\t\tfirstKeys = allKeys\n\t\t\t\t}\n\t\t\t\tif !reflect.DeepEqual(firstKeys, allKeys) {\n\t\t\t\t\treturn fmt.Errorf(\"all keys must be %+v, got %+v\", firstKeys, allKeys)\n\t\t\t\t}\n\n\t\t\t\tif i == 0 {\n\t\t\t\t\tcol1 := dataframe.NewColumn(\"CONTROL-CLIENT-NUM\")\n\t\t\t\t\tfor j := range allKeys {\n\t\t\t\t\t\tcol1.PushBack(dataframe.NewStringValue(allKeys[j]))\n\t\t\t\t\t}\n\t\t\t\t\tif err := nf3.AddColumn(col1); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcol2 := dataframe.NewColumn(dataColumns[i].Header())\n\t\t\t\tfor j := range allKeys {\n\t\t\t\t\tcol2.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%.4f\", allData[allKeys[j]])))\n\t\t\t\t}\n\t\t\t\tif err := nf3.AddColumn(col2); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tif err = nf3.CSV(filepath.Join(filepath.Dir(plotConfig.OutputPathCSV), plotConfig.Column+\"-BY-CLIENT-NUM-aggregated\"+\".csv\")); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t}\n\n\treturn cfg.WriteREADME(stxt)\n}\n\nfunc changeExtToTxt(fpath string) string {\n\text := filepath.Ext(fpath)\n\treturn strings.Replace(fpath, ext, \".txt\", -1)\n}\n"
  },
  {
    "path": "analyze/doc.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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// Package analyze analyzes the bench test results, specific to dbtester tests.\npackage analyze\n"
  },
  {
    "path": "analyze/logger.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage analyze\n\nimport \"go.uber.org/zap\"\n\nvar lg *zap.Logger\n\nfunc init() {\n\tvar err error\n\tlg, err = zap.NewProduction()\n\tif err != nil {\n\t\tpanic(err)\n\t}\n}\n"
  },
  {
    "path": "analyze/util.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage analyze\n\nimport (\n\t\"fmt\"\n\t\"os\"\n)\n\nfunc minFloat64(a, b float64) float64 {\n\tif a < b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc maxFloat64(a, b float64) float64 {\n\tif a > b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc makeHeader(column string, tag string) string {\n\treturn fmt.Sprintf(\"%s-%s\", column, tag)\n}\n\nfunc openToRead(fpath string) (*os.File, error) {\n\tf, err := os.OpenFile(fpath, os.O_RDONLY, 0444)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn f, nil\n}\n\nfunc openToOverwrite(fpath string) (*os.File, error) {\n\tf, err := os.OpenFile(fpath, os.O_RDWR|os.O_TRUNC|os.O_CREATE, 0777)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn f, nil\n}\n\nfunc toFile(txt, fpath string) error {\n\tf, err := openToOverwrite(fpath)\n\tif err != nil {\n\t\tf, err = os.Create(fpath)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tdefer f.Close()\n\t_, err = f.WriteString(txt)\n\treturn err\n}\n"
  },
  {
    "path": "broadcast_request.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"time\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\n\t\"go.uber.org/zap\"\n\t\"google.golang.org/grpc\"\n)\n\n// BroadcaseRequest sends request to all endpoints.\nfunc (cfg *Config) BroadcaseRequest(databaseID string, op dbtesterpb.Operation) (map[int]dbtesterpb.Response, error) {\n\tgcfg, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID]\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"database id %q does not exist\", databaseID)\n\t}\n\n\ttype result struct {\n\t\tidx int\n\t\tr   dbtesterpb.Response\n\t}\n\tdonec, errc := make(chan result), make(chan error)\n\tfor i := range gcfg.AgentEndpoints {\n\t\treq, err := cfg.ToRequest(databaseID, op, i)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tep := gcfg.AgentEndpoints[i]\n\n\t\tgo func(i int, ep string, req *dbtesterpb.Request) {\n\t\t\tcfg.lg.Info(\"sending message\",\n\t\t\t\tzap.Int(\"index\", i),\n\t\t\t\tzap.String(\"endpoint\", ep),\n\t\t\t\tzap.String(\"operation\", op.String()),\n\t\t\t\tzap.String(\"database\", req.DatabaseID.String()),\n\t\t\t)\n\t\t\tconn, err := grpc.Dial(ep, grpc.WithInsecure())\n\t\t\tif err != nil {\n\t\t\t\terrc <- fmt.Errorf(\"%v (%q)\", err, ep)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tdefer conn.Close()\n\n\t\t\t// give enough timeout\n\t\t\t// e.g. uploading logs takes longer\n\t\t\tcli := dbtesterpb.NewTransporterClient(conn)\n\t\t\tctx, cancel := context.WithTimeout(context.Background(), 2*time.Minute)\n\t\t\tresp, err := cli.Transfer(ctx, req)\n\t\t\tcancel()\n\t\t\tif err != nil {\n\t\t\t\terrc <- fmt.Errorf(\"%v (%q)\", err, ep)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tcfg.lg.Info(\"received response\",\n\t\t\t\tzap.Int(\"index\", i),\n\t\t\t\tzap.String(\"endpoint\", ep),\n\t\t\t\tzap.String(\"operation\", op.String()),\n\t\t\t\tzap.String(\"database\", req.DatabaseID.String()),\n\t\t\t\tzap.String(\"response\", fmt.Sprintf(\"%+v\", resp)),\n\t\t\t)\n\n\t\t\tdonec <- result{idx: i, r: *resp}\n\t\t}(i, ep, req)\n\n\t\ttime.Sleep(time.Second)\n\t}\n\n\tim := make(map[int]dbtesterpb.Response)\n\tvar errs []error\n\tfor cnt := 0; cnt != len(gcfg.AgentEndpoints); cnt++ {\n\t\tselect {\n\t\tcase rs := <-donec:\n\t\t\tim[rs.idx] = rs.r\n\t\tcase err := <-errc:\n\t\t\terrs = append(errs, err)\n\t\t}\n\t}\n\tif len(errs) > 0 {\n\t\treturn nil, errs[0]\n\t}\n\treturn im, nil\n}\n"
  },
  {
    "path": "cmd/dbtester/main.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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// dbtester is distributed database tester.\n//\n//\tUsage:\n//\tdbtester [command]\n//\n//\tAvailable Commands:\n//\tagent       Database 'agent' in remote servers.\n//\tanalyze     Analyzes test dbtester test results.\n//\tcontrol     Controls tests.\n//\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/etcd-io/dbtester/agent\"\n\t\"github.com/etcd-io/dbtester/analyze\"\n\t\"github.com/etcd-io/dbtester/control\"\n\t\"github.com/spf13/cobra\"\n)\n\nvar (\n\trootCommand = &cobra.Command{\n\t\tUse:        \"dbtester\",\n\t\tShort:      \"dbtester is distributed database tester.\",\n\t\tSuggestFor: []string{\"dbtstetr\", \"dbtes\", \"dbtesters\"},\n\t}\n)\n\nfunc init() {\n\tcobra.EnablePrefixMatching = true\n}\n\nfunc init() {\n\trootCommand.AddCommand(agent.Command)\n\trootCommand.AddCommand(analyze.Command)\n\trootCommand.AddCommand(control.Command)\n}\n\nfunc main() {\n\tif err := rootCommand.Execute(); err != nil {\n\t\tfmt.Fprintln(os.Stdout, err)\n\t\tos.Exit(1)\n\t}\n}\n"
  },
  {
    "path": "code-of-conduct.md",
    "content": "## CoreOS Community Code of Conduct\n\n### Contributor Code of Conduct\n\nAs contributors and maintainers of this project, and in the interest of\nfostering an open and welcoming community, we pledge to respect all people who\ncontribute through reporting issues, posting feature requests, updating\ndocumentation, submitting pull requests or patches, and other activities.\n\nWe are committed to making participation in this project a harassment-free\nexperience for everyone, regardless of level of experience, gender, gender\nidentity and expression, sexual orientation, disability, personal appearance,\nbody size, race, ethnicity, age, religion, or nationality.\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery\n* Personal attacks\n* Trolling or insulting/derogatory comments\n* Public or private harassment\n* Publishing others' private information, such as physical or electronic addresses, without explicit permission\n* Other unethical or unprofessional conduct.\n\nProject maintainers have the right and responsibility to remove, edit, or\nreject comments, commits, code, wiki edits, issues, and other contributions\nthat are not aligned to this Code of Conduct. By adopting this Code of Conduct,\nproject maintainers commit themselves to fairly and consistently applying these\nprinciples to every aspect of managing this project. Project maintainers who do\nnot follow or enforce the Code of Conduct may be permanently removed from the\nproject team.\n\nThis code of conduct applies both within project spaces and in public spaces\nwhen an individual is representing the project or its community.\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported by contacting a project maintainer, Brandon Philips\n<brandon.philips@coreos.com>, and/or Rithu John <rithu.john@coreos.com>.\n\nThis Code of Conduct is adapted from the Contributor Covenant\n(http://contributor-covenant.org), version 1.2.0, available at\nhttp://contributor-covenant.org/version/1/2/0/\n\n### CoreOS Events Code of Conduct\n\nCoreOS events are working conferences intended for professional networking and\ncollaboration in the CoreOS community. Attendees are expected to behave\naccording to professional standards and in accordance with their employer’s\npolicies on appropriate workplace behavior.\n\nWhile at CoreOS events or related social networking opportunities, attendees\nshould not engage in discriminatory or offensive speech or actions including\nbut not limited to gender, sexuality, race, age, disability, or religion.\nSpeakers should be especially aware of these concerns.\n\nCoreOS does not condone any statements by speakers contrary to these standards.\nCoreOS reserves the right to deny entrance and/or eject from an event (without\nrefund) any individual found to be engaging in discriminatory or offensive\nspeech or actions.\n\nPlease bring any concerns to the immediate attention of designated on-site\nstaff, Brandon Philips <brandon.philips@coreos.com>, and/or Rithu John <rithu.john@coreos.com>.\n"
  },
  {
    "path": "config-dbtester-gcloud-key.json",
    "content": "test-key"
  },
  {
    "path": "config_dbtester.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"path/filepath\"\n\t\"strings\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\n\t\"go.uber.org/zap\"\n\t\"gopkg.in/yaml.v2\"\n)\n\n// MakeTag converts database description to database tag.\nfunc MakeTag(desc string) string {\n\ts := strings.ToLower(desc)\n\ts = strings.Replace(s, \"go \", \"go\", -1)\n\ts = strings.Replace(s, \"java \", \"java\", -1)\n\ts = strings.Replace(s, \"(\", \"\", -1)\n\ts = strings.Replace(s, \")\", \"\", -1)\n\treturn strings.Replace(s, \" \", \"-\", -1)\n}\n\n// Config configures dbtester control clients.\ntype Config struct {\n\tlg *zap.Logger\n\n\tTestTitle       string `yaml:\"test_title\"`\n\tTestDescription string `yaml:\"test_description\"`\n\n\tdbtesterpb.ConfigClientMachineInitial `yaml:\"config_client_machine_initial\"`\n\n\tAllDatabaseIDList                           []string                                              `yaml:\"all_database_id_list\"`\n\tDatabaseIDToConfigClientMachineAgentControl map[string]dbtesterpb.ConfigClientMachineAgentControl `yaml:\"datatbase_id_to_config_client_machine_agent_control\"`\n\tDatabaseIDToConfigAnalyzeMachineInitial     map[string]dbtesterpb.ConfigAnalyzeMachineInitial     `yaml:\"datatbase_id_to_config_analyze_machine_initial\"`\n\n\tdbtesterpb.ConfigAnalyzeMachineAllAggregatedOutput `yaml:\"analyze_all_aggregated_output\"`\n\tAnalyzePlotPathPrefix                              string                                `yaml:\"analyze_plot_path_prefix\"`\n\tAnalyzePlotList                                    []dbtesterpb.ConfigAnalyzeMachinePlot `yaml:\"analyze_plot_list\"`\n\tdbtesterpb.ConfigAnalyzeMachineREADME              `yaml:\"analyze_readme\"`\n}\n\n// ReadConfig reads control configuration file.\nfunc ReadConfig(fpath string, analyze bool) (*Config, error) {\n\tbts, err := ioutil.ReadFile(fpath)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tcfg := Config{}\n\tif err = yaml.Unmarshal(bts, &cfg); err != nil {\n\t\treturn nil, err\n\t}\n\n\tlg, lerr := zap.NewProduction()\n\tif lerr != nil {\n\t\treturn nil, lerr\n\t}\n\tcfg.lg = lg\n\n\tfor _, id := range cfg.AllDatabaseIDList {\n\t\tif !dbtesterpb.IsValidDatabaseID(id) {\n\t\t\treturn nil, fmt.Errorf(\"databaseID %q is unknown\", id)\n\t\t}\n\t}\n\n\tif cfg.ConfigClientMachineInitial.PathPrefix != \"\" {\n\t\tcfg.ConfigClientMachineInitial.LogPath = filepath.Join(cfg.ConfigClientMachineInitial.PathPrefix, cfg.ConfigClientMachineInitial.LogPath)\n\t\tcfg.ConfigClientMachineInitial.ClientSystemMetricsPath = filepath.Join(cfg.ConfigClientMachineInitial.PathPrefix, cfg.ConfigClientMachineInitial.ClientSystemMetricsPath)\n\t\tcfg.ConfigClientMachineInitial.ClientSystemMetricsInterpolatedPath = filepath.Join(cfg.ConfigClientMachineInitial.PathPrefix, cfg.ConfigClientMachineInitial.ClientSystemMetricsInterpolatedPath)\n\t\tcfg.ConfigClientMachineInitial.ClientLatencyThroughputTimeseriesPath = filepath.Join(cfg.ConfigClientMachineInitial.PathPrefix, cfg.ConfigClientMachineInitial.ClientLatencyThroughputTimeseriesPath)\n\t\tcfg.ConfigClientMachineInitial.ClientLatencyDistributionAllPath = filepath.Join(cfg.ConfigClientMachineInitial.PathPrefix, cfg.ConfigClientMachineInitial.ClientLatencyDistributionAllPath)\n\t\tcfg.ConfigClientMachineInitial.ClientLatencyDistributionPercentilePath = filepath.Join(cfg.ConfigClientMachineInitial.PathPrefix, cfg.ConfigClientMachineInitial.ClientLatencyDistributionPercentilePath)\n\t\tcfg.ConfigClientMachineInitial.ClientLatencyDistributionSummaryPath = filepath.Join(cfg.ConfigClientMachineInitial.PathPrefix, cfg.ConfigClientMachineInitial.ClientLatencyDistributionSummaryPath)\n\t\tcfg.ConfigClientMachineInitial.ClientLatencyByKeyNumberPath = filepath.Join(cfg.ConfigClientMachineInitial.PathPrefix, cfg.ConfigClientMachineInitial.ClientLatencyByKeyNumberPath)\n\t\tcfg.ConfigClientMachineInitial.ServerDiskSpaceUsageSummaryPath = filepath.Join(cfg.ConfigClientMachineInitial.PathPrefix, cfg.ConfigClientMachineInitial.ServerDiskSpaceUsageSummaryPath)\n\t}\n\n\tfor databaseID, group := range cfg.DatabaseIDToConfigClientMachineAgentControl {\n\t\tif !dbtesterpb.IsValidDatabaseID(databaseID) {\n\t\t\treturn nil, fmt.Errorf(\"databaseID %q is unknown\", databaseID)\n\t\t}\n\n\t\tgroup.DatabaseID = databaseID\n\t\tgroup.DatabaseTag = MakeTag(group.DatabaseDescription)\n\t\tgroup.PeerIPsString = strings.Join(group.PeerIPs, \"___\")\n\t\tgroup.DatabaseEndpoints = make([]string, len(group.PeerIPs))\n\t\tgroup.AgentEndpoints = make([]string, len(group.PeerIPs))\n\t\tfor j := range group.PeerIPs {\n\t\t\tgroup.DatabaseEndpoints[j] = fmt.Sprintf(\"%s:%d\", group.PeerIPs[j], group.DatabasePortToConnect)\n\t\t\tgroup.AgentEndpoints[j] = fmt.Sprintf(\"%s:%d\", group.PeerIPs[j], group.AgentPortToConnect)\n\t\t}\n\t\tcfg.DatabaseIDToConfigClientMachineAgentControl[databaseID] = group\n\t}\n\n\tfor databaseID, amc := range cfg.DatabaseIDToConfigAnalyzeMachineInitial {\n\t\tamc.PathPrefix = strings.TrimSpace(amc.PathPrefix)\n\t\tamc.DatabaseID = databaseID\n\t\tamc.DatabaseTag = cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID].DatabaseTag\n\t\tamc.DatabaseDescription = cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID].DatabaseDescription\n\n\t\tif amc.PathPrefix != \"\" {\n\t\t\tamc.ClientSystemMetricsInterpolatedPath = amc.PathPrefix + \"-\" + amc.ClientSystemMetricsInterpolatedPath\n\t\t\tamc.ClientLatencyThroughputTimeseriesPath = amc.PathPrefix + \"-\" + amc.ClientLatencyThroughputTimeseriesPath\n\t\t\tamc.ClientLatencyDistributionAllPath = amc.PathPrefix + \"-\" + amc.ClientLatencyDistributionAllPath\n\t\t\tamc.ClientLatencyDistributionPercentilePath = amc.PathPrefix + \"-\" + amc.ClientLatencyDistributionPercentilePath\n\t\t\tamc.ClientLatencyDistributionSummaryPath = amc.PathPrefix + \"-\" + amc.ClientLatencyDistributionSummaryPath\n\t\t\tamc.ClientLatencyByKeyNumberPath = amc.PathPrefix + \"-\" + amc.ClientLatencyByKeyNumberPath\n\t\t\tamc.ServerDiskSpaceUsageSummaryPath = amc.PathPrefix + \"-\" + amc.ServerDiskSpaceUsageSummaryPath\n\t\t\tamc.ServerMemoryByKeyNumberPath = amc.PathPrefix + \"-\" + amc.ServerMemoryByKeyNumberPath\n\t\t\tamc.ServerReadBytesDeltaByKeyNumberPath = amc.PathPrefix + \"-\" + amc.ServerReadBytesDeltaByKeyNumberPath\n\t\t\tamc.ServerWriteBytesDeltaByKeyNumberPath = amc.PathPrefix + \"-\" + amc.ServerWriteBytesDeltaByKeyNumberPath\n\t\t\tfor i := range amc.ServerSystemMetricsInterpolatedPathList {\n\t\t\t\tamc.ServerSystemMetricsInterpolatedPathList[i] = amc.PathPrefix + \"-\" + amc.ServerSystemMetricsInterpolatedPathList[i]\n\t\t\t}\n\t\t\tamc.AllAggregatedOutputPath = amc.PathPrefix + \"-\" + amc.AllAggregatedOutputPath\n\t\t}\n\n\t\tcfg.DatabaseIDToConfigAnalyzeMachineInitial[databaseID] = amc\n\t}\n\n\tfor databaseID, ctrl := range cfg.DatabaseIDToConfigClientMachineAgentControl {\n\t\tif databaseID != dbtesterpb.DatabaseID_etcd__other.String() &&\n\t\t\tdatabaseID != dbtesterpb.DatabaseID_etcd__tip.String() &&\n\t\t\tdatabaseID != dbtesterpb.DatabaseID_etcd__v3_2.String() &&\n\t\t\tdatabaseID != dbtesterpb.DatabaseID_etcd__v3_3.String() &&\n\t\t\tctrl.ConfigClientMachineBenchmarkOptions.ConnectionNumber != ctrl.ConfigClientMachineBenchmarkOptions.ClientNumber {\n\t\t\treturn nil, fmt.Errorf(\"%q got connected %d != clients %d\", databaseID, ctrl.ConfigClientMachineBenchmarkOptions.ConnectionNumber, ctrl.ConfigClientMachineBenchmarkOptions.ClientNumber)\n\t\t}\n\t}\n\n\tconst (\n\t\tdefaultAgentPort           int64 = 3500\n\t\tdefaultEtcdClientPort      int64 = 2379\n\t\tdefaultZookeeperClientPort int64 = 2181\n\t\tdefaultConsulClientPort    int64 = 8500\n\n\t\tdefaultEtcdSnapshotCount             int64 = 100000\n\t\tdefaultEtcdQuotaSizeBytes            int64 = 8000000000\n\t\tdefaultZookeeperSnapCount            int64 = 100000\n\t\tdefaultZookeeperTickTime             int64 = 2000\n\t\tdefaultZookeeperInitLimit            int64 = 5\n\t\tdefaultZookeeperSyncLimit            int64 = 5\n\t\tdefaultZookeeperMaxClientConnections int64 = 5000\n\t)\n\n\tif v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__other.String()]; ok {\n\t\tif v.AgentPortToConnect == 0 {\n\t\t\tv.AgentPortToConnect = defaultAgentPort\n\t\t}\n\t\tif v.DatabasePortToConnect == 0 {\n\t\t\tv.DatabasePortToConnect = defaultEtcdClientPort\n\t\t}\n\t\tif v.Flag_Etcd_Other.SnapshotCount == 0 {\n\t\t\tv.Flag_Etcd_Other.SnapshotCount = defaultEtcdSnapshotCount\n\t\t}\n\t\tif v.Flag_Etcd_Other.QuotaSizeBytes == 0 {\n\t\t\tv.Flag_Etcd_Other.QuotaSizeBytes = defaultEtcdQuotaSizeBytes\n\t\t}\n\t\tcfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__other.String()] = v\n\t}\n\tif v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__tip.String()]; ok {\n\t\tif v.AgentPortToConnect == 0 {\n\t\t\tv.AgentPortToConnect = defaultAgentPort\n\t\t}\n\t\tif v.DatabasePortToConnect == 0 {\n\t\t\tv.DatabasePortToConnect = defaultEtcdClientPort\n\t\t}\n\t\tif v.Flag_Etcd_Tip.SnapshotCount == 0 {\n\t\t\tv.Flag_Etcd_Tip.SnapshotCount = defaultEtcdSnapshotCount\n\t\t}\n\t\tif v.Flag_Etcd_Tip.QuotaSizeBytes == 0 {\n\t\t\tv.Flag_Etcd_Tip.QuotaSizeBytes = defaultEtcdQuotaSizeBytes\n\t\t}\n\t\tcfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__tip.String()] = v\n\t}\n\tif v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_2.String()]; ok {\n\t\tif v.AgentPortToConnect == 0 {\n\t\t\tv.AgentPortToConnect = defaultAgentPort\n\t\t}\n\t\tif v.DatabasePortToConnect == 0 {\n\t\t\tv.DatabasePortToConnect = defaultEtcdClientPort\n\t\t}\n\t\tif v.Flag_Etcd_V3_2.SnapshotCount == 0 {\n\t\t\tv.Flag_Etcd_V3_2.SnapshotCount = defaultEtcdSnapshotCount\n\t\t}\n\t\tif v.Flag_Etcd_V3_2.QuotaSizeBytes == 0 {\n\t\t\tv.Flag_Etcd_V3_2.QuotaSizeBytes = defaultEtcdQuotaSizeBytes\n\t\t}\n\t\tcfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_2.String()] = v\n\t}\n\tif v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_3.String()]; ok {\n\t\tif v.AgentPortToConnect == 0 {\n\t\t\tv.AgentPortToConnect = defaultAgentPort\n\t\t}\n\t\tif v.DatabasePortToConnect == 0 {\n\t\t\tv.DatabasePortToConnect = defaultEtcdClientPort\n\t\t}\n\t\tif v.Flag_Etcd_V3_3.SnapshotCount == 0 {\n\t\t\tv.Flag_Etcd_V3_3.SnapshotCount = defaultEtcdSnapshotCount\n\t\t}\n\t\tif v.Flag_Etcd_V3_3.QuotaSizeBytes == 0 {\n\t\t\tv.Flag_Etcd_V3_3.QuotaSizeBytes = defaultEtcdQuotaSizeBytes\n\t\t}\n\t\tcfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_3.String()] = v\n\t}\n\n\tif v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_zookeeper__r3_5_3_beta.String()]; ok {\n\t\tif v.AgentPortToConnect == 0 {\n\t\t\tv.AgentPortToConnect = defaultAgentPort\n\t\t}\n\t\tif v.DatabasePortToConnect == 0 {\n\t\t\tv.DatabasePortToConnect = defaultZookeeperClientPort\n\t\t}\n\t\tv.Flag_Zookeeper_R3_5_3Beta.ClientPort = v.DatabasePortToConnect\n\t\tif v.Flag_Zookeeper_R3_5_3Beta.TickTime == 0 {\n\t\t\tv.Flag_Zookeeper_R3_5_3Beta.TickTime = defaultZookeeperTickTime\n\t\t}\n\t\tif v.Flag_Zookeeper_R3_5_3Beta.TickTime == 0 {\n\t\t\tv.Flag_Zookeeper_R3_5_3Beta.TickTime = defaultZookeeperTickTime\n\t\t}\n\t\tif v.Flag_Zookeeper_R3_5_3Beta.InitLimit == 0 {\n\t\t\tv.Flag_Zookeeper_R3_5_3Beta.InitLimit = defaultZookeeperInitLimit\n\t\t}\n\t\tif v.Flag_Zookeeper_R3_5_3Beta.SyncLimit == 0 {\n\t\t\tv.Flag_Zookeeper_R3_5_3Beta.SyncLimit = defaultZookeeperSyncLimit\n\t\t}\n\t\tif v.Flag_Zookeeper_R3_5_3Beta.SnapCount == 0 {\n\t\t\tv.Flag_Zookeeper_R3_5_3Beta.SnapCount = defaultZookeeperSnapCount\n\t\t}\n\t\tif v.Flag_Zookeeper_R3_5_3Beta.MaxClientConnections == 0 {\n\t\t\tv.Flag_Zookeeper_R3_5_3Beta.MaxClientConnections = defaultZookeeperMaxClientConnections\n\t\t}\n\t\tcfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_zookeeper__r3_5_3_beta.String()] = v\n\t}\n\n\tif v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_consul__v1_0_2.String()]; ok {\n\t\tif v.AgentPortToConnect == 0 {\n\t\t\tv.AgentPortToConnect = defaultAgentPort\n\t\t}\n\t\tif v.DatabasePortToConnect == 0 {\n\t\t\tv.DatabasePortToConnect = defaultConsulClientPort\n\t\t}\n\t\tcfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_consul__v1_0_2.String()] = v\n\t}\n\n\t// need etcd configs since it's backed by etcd\n\tif _, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_zetcd__beta.String()]; ok {\n\t\t_, okOther := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__other.String()]\n\t\t_, okTip := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__tip.String()]\n\t\t_, ok32 := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_2.String()]\n\t\t_, ok33 := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_3.String()]\n\t\tif !okOther && !okTip && !ok32 && !ok33 {\n\t\t\treturn nil, fmt.Errorf(\"got %q config, but no etcd config is given\", dbtesterpb.DatabaseID_zetcd__beta.String())\n\t\t}\n\t}\n\tif _, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_cetcd__beta.String()]; ok {\n\t\t_, okOther := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__other.String()]\n\t\t_, okTip := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__tip.String()]\n\t\t_, ok32 := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_2.String()]\n\t\t_, ok33 := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_3.String()]\n\t\tif !okOther && !okTip && !ok32 && !ok33 {\n\t\t\treturn nil, fmt.Errorf(\"got %q config, but no etcd config is given\", dbtesterpb.DatabaseID_cetcd__beta.String())\n\t\t}\n\t}\n\n\tif cfg.ConfigClientMachineInitial.GoogleCloudStorageKeyPath != \"\" && !analyze {\n\t\tbts, err = ioutil.ReadFile(cfg.ConfigClientMachineInitial.GoogleCloudStorageKeyPath)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tcfg.ConfigClientMachineInitial.GoogleCloudStorageKey = string(bts)\n\t}\n\n\tfor i := range cfg.AnalyzePlotList {\n\t\tcfg.AnalyzePlotList[i].OutputPathCSV = filepath.Join(cfg.AnalyzePlotPathPrefix, cfg.AnalyzePlotList[i].Column+\".csv\")\n\t\tcfg.AnalyzePlotList[i].OutputPathList = make([]string, 2)\n\t\tcfg.AnalyzePlotList[i].OutputPathList[0] = filepath.Join(cfg.AnalyzePlotPathPrefix, cfg.AnalyzePlotList[i].Column+\".svg\")\n\t\tcfg.AnalyzePlotList[i].OutputPathList[1] = filepath.Join(cfg.AnalyzePlotPathPrefix, cfg.AnalyzePlotList[i].Column+\".png\")\n\t}\n\n\treturn &cfg, nil\n}\n\nconst maxEtcdQuotaSize = 8000000000\n\n// ToRequest converts configuration to 'dbtesterpb.Request'.\nfunc (cfg *Config) ToRequest(databaseID string, op dbtesterpb.Operation, idx int) (req *dbtesterpb.Request, err error) {\n\tgcfg, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID]\n\tif !ok {\n\t\terr = fmt.Errorf(\"database ID %q is not defined\", databaseID)\n\t\treturn\n\t}\n\tdid := dbtesterpb.DatabaseID(dbtesterpb.DatabaseID_value[databaseID])\n\n\treq = &dbtesterpb.Request{\n\t\tOperation:           op,\n\t\tTriggerLogUpload:    gcfg.ConfigClientMachineBenchmarkSteps.Step4UploadLogs,\n\t\tDatabaseID:          did,\n\t\tDatabaseTag:         gcfg.DatabaseTag,\n\t\tPeerIPsString:       gcfg.PeerIPsString,\n\t\tIPIndex:             uint32(idx),\n\t\tCurrentClientNumber: gcfg.ConfigClientMachineBenchmarkOptions.ClientNumber,\n\t\tConfigClientMachineInitial: &dbtesterpb.ConfigClientMachineInitial{\n\t\t\tGoogleCloudProjectName:         cfg.ConfigClientMachineInitial.GoogleCloudProjectName,\n\t\t\tGoogleCloudStorageKey:          cfg.ConfigClientMachineInitial.GoogleCloudStorageKey,\n\t\t\tGoogleCloudStorageBucketName:   cfg.ConfigClientMachineInitial.GoogleCloudStorageBucketName,\n\t\t\tGoogleCloudStorageSubDirectory: cfg.ConfigClientMachineInitial.GoogleCloudStorageSubDirectory,\n\t\t},\n\t}\n\n\tswitch req.DatabaseID {\n\tcase dbtesterpb.DatabaseID_etcd__other:\n\t\tif gcfg.Flag_Etcd_Other.QuotaSizeBytes > maxEtcdQuotaSize {\n\t\t\terr = fmt.Errorf(\"maximum etcd quota is 8 GB (%d), got %d\", maxEtcdQuotaSize, gcfg.Flag_Etcd_Other.QuotaSizeBytes)\n\t\t\treturn\n\t\t}\n\t\treq.Flag_Etcd_Other = &dbtesterpb.Flag_Etcd_Other{\n\t\t\tSnapshotCount:  gcfg.Flag_Etcd_Other.SnapshotCount,\n\t\t\tQuotaSizeBytes: gcfg.Flag_Etcd_Other.QuotaSizeBytes,\n\t\t}\n\tcase dbtesterpb.DatabaseID_etcd__tip:\n\t\tif gcfg.Flag_Etcd_Tip.QuotaSizeBytes > maxEtcdQuotaSize {\n\t\t\terr = fmt.Errorf(\"maximum etcd quota is 8 GB (%d), got %d\", maxEtcdQuotaSize, gcfg.Flag_Etcd_Tip.QuotaSizeBytes)\n\t\t\treturn\n\t\t}\n\t\treq.Flag_Etcd_Tip = &dbtesterpb.Flag_Etcd_Tip{\n\t\t\tSnapshotCount:  gcfg.Flag_Etcd_Tip.SnapshotCount,\n\t\t\tQuotaSizeBytes: gcfg.Flag_Etcd_Tip.QuotaSizeBytes,\n\t\t}\n\tcase dbtesterpb.DatabaseID_etcd__v3_2:\n\t\tif gcfg.Flag_Etcd_V3_2.QuotaSizeBytes > maxEtcdQuotaSize {\n\t\t\terr = fmt.Errorf(\"maximum etcd quota is 8 GB (%d), got %d\", maxEtcdQuotaSize, gcfg.Flag_Etcd_V3_2.QuotaSizeBytes)\n\t\t\treturn\n\t\t}\n\t\treq.Flag_Etcd_V3_2 = &dbtesterpb.Flag_Etcd_V3_2{\n\t\t\tSnapshotCount:  gcfg.Flag_Etcd_V3_2.SnapshotCount,\n\t\t\tQuotaSizeBytes: gcfg.Flag_Etcd_V3_2.QuotaSizeBytes,\n\t\t}\n\tcase dbtesterpb.DatabaseID_etcd__v3_3:\n\t\tif gcfg.Flag_Etcd_V3_3.QuotaSizeBytes > maxEtcdQuotaSize {\n\t\t\terr = fmt.Errorf(\"maximum etcd quota is 8 GB (%d), got %d\", maxEtcdQuotaSize, gcfg.Flag_Etcd_V3_3.QuotaSizeBytes)\n\t\t\treturn\n\t\t}\n\t\treq.Flag_Etcd_V3_3 = &dbtesterpb.Flag_Etcd_V3_3{\n\t\t\tSnapshotCount:  gcfg.Flag_Etcd_V3_3.SnapshotCount,\n\t\t\tQuotaSizeBytes: gcfg.Flag_Etcd_V3_3.QuotaSizeBytes,\n\t\t}\n\n\tcase dbtesterpb.DatabaseID_zookeeper__r3_5_3_beta:\n\t\treq.Flag_Zookeeper_R3_5_3Beta = &dbtesterpb.Flag_Zookeeper_R3_5_3Beta{\n\t\t\tJavaDJuteMaxBuffer:   gcfg.Flag_Zookeeper_R3_5_3Beta.JavaDJuteMaxBuffer,\n\t\t\tJavaXms:              gcfg.Flag_Zookeeper_R3_5_3Beta.JavaXms,\n\t\t\tJavaXmx:              gcfg.Flag_Zookeeper_R3_5_3Beta.JavaXmx,\n\t\t\tMyID:                 uint32(idx + 1),\n\t\t\tClientPort:           gcfg.Flag_Zookeeper_R3_5_3Beta.ClientPort,\n\t\t\tTickTime:             gcfg.Flag_Zookeeper_R3_5_3Beta.TickTime,\n\t\t\tInitLimit:            gcfg.Flag_Zookeeper_R3_5_3Beta.InitLimit,\n\t\t\tSyncLimit:            gcfg.Flag_Zookeeper_R3_5_3Beta.SyncLimit,\n\t\t\tSnapCount:            gcfg.Flag_Zookeeper_R3_5_3Beta.SnapCount,\n\t\t\tMaxClientConnections: gcfg.Flag_Zookeeper_R3_5_3Beta.MaxClientConnections,\n\t\t}\n\n\tcase dbtesterpb.DatabaseID_consul__v1_0_2:\n\n\tcase dbtesterpb.DatabaseID_zetcd__beta:\n\tcase dbtesterpb.DatabaseID_cetcd__beta:\n\n\tdefault:\n\t\terr = fmt.Errorf(\"unknown %v\", req.DatabaseID)\n\t}\n\n\treturn\n}\n"
  },
  {
    "path": "config_dbtester_test.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"reflect\"\n\t\"testing\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n)\n\nfunc TestConfig(t *testing.T) {\n\tcfg, err := ReadConfig(\"config_dbtester_test.yaml\", false)\n\tif err != nil {\n\t\tt.Fatal(err)\n\t}\n\texpected := &Config{\n\t\tTestTitle: \"Write 1M keys, 256-byte key, 1KB value value, clients 1 to 1,000\",\n\t\tTestDescription: `- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10\n- etcd tip (Go 1.8.0)\n- Zookeeper r3.5.3-beta\n  - Java 8\n  - javac 1.8.0_121\n  - Java(TM) SE Runtime Environment (build 1.8.0_121-b13)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)\n  - ` + \"`/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\" + `\n- Consul v1.0.2 (Go 1.8.0)\n`,\n\t\tConfigClientMachineInitial: dbtesterpb.ConfigClientMachineInitial{\n\t\t\tPathPrefix:                              \"/home/gyuho\",\n\t\t\tLogPath:                                 \"/home/gyuho/client-control.log\",\n\t\t\tClientSystemMetricsPath:                 \"/home/gyuho/client-system-metrics.csv\",\n\t\t\tClientSystemMetricsInterpolatedPath:     \"/home/gyuho/client-system-metrics-interpolated.csv\",\n\t\t\tClientLatencyThroughputTimeseriesPath:   \"/home/gyuho/client-latency-throughput-timeseries.csv\",\n\t\t\tClientLatencyDistributionAllPath:        \"/home/gyuho/client-latency-distribution-all.csv\",\n\t\t\tClientLatencyDistributionPercentilePath: \"/home/gyuho/client-latency-distribution-percentile.csv\",\n\t\t\tClientLatencyDistributionSummaryPath:    \"/home/gyuho/client-latency-distribution-summary.csv\",\n\t\t\tClientLatencyByKeyNumberPath:            \"/home/gyuho/client-latency-by-key-number.csv\",\n\t\t\tServerDiskSpaceUsageSummaryPath:         \"/home/gyuho/server-disk-space-usage-summary.csv\",\n\t\t\tGoogleCloudProjectName:                  \"etcd-development\",\n\t\t\tGoogleCloudStorageKeyPath:               \"config-dbtester-gcloud-key.json\",\n\t\t\tGoogleCloudStorageKey:                   \"test-key\",\n\t\t\tGoogleCloudStorageBucketName:            \"dbtester-results\",\n\t\t\tGoogleCloudStorageSubDirectory:          \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable\",\n\t\t},\n\t\tAllDatabaseIDList: []string{\"etcd__tip\", \"zookeeper__r3_5_3_beta\", \"consul__v1_0_2\"},\n\t\tDatabaseIDToConfigClientMachineAgentControl: map[string]dbtesterpb.ConfigClientMachineAgentControl{\n\t\t\t\"etcd__tip\": {\n\t\t\t\tDatabaseID:            \"etcd__tip\",\n\t\t\t\tDatabaseTag:           \"etcd-tip-go1.8.0\",\n\t\t\t\tDatabaseDescription:   \"etcd tip (Go 1.8.0)\",\n\t\t\t\tPeerIPs:               []string{\"10.240.0.7\", \"10.240.0.8\", \"10.240.0.12\"},\n\t\t\t\tPeerIPsString:         \"10.240.0.7___10.240.0.8___10.240.0.12\",\n\t\t\t\tDatabasePortToConnect: 2379,\n\t\t\t\tDatabaseEndpoints:     []string{\"10.240.0.7:2379\", \"10.240.0.8:2379\", \"10.240.0.12:2379\"},\n\t\t\t\tAgentPortToConnect:    3500,\n\t\t\t\tAgentEndpoints:        []string{\"10.240.0.7:3500\", \"10.240.0.8:3500\", \"10.240.0.12:3500\"},\n\t\t\t\tFlag_Etcd_Tip: &dbtesterpb.Flag_Etcd_Tip{\n\t\t\t\t\tSnapshotCount:  100000,\n\t\t\t\t\tQuotaSizeBytes: 8000000000,\n\t\t\t\t},\n\t\t\t\tConfigClientMachineBenchmarkOptions: &dbtesterpb.ConfigClientMachineBenchmarkOptions{\n\t\t\t\t\tType:                       \"write\",\n\t\t\t\t\tRequestNumber:              1000000,\n\t\t\t\t\tConnectionNumber:           0,\n\t\t\t\t\tClientNumber:               0,\n\t\t\t\t\tConnectionClientNumbers:    []int64{1, 10, 50, 100, 300, 500, 700, 1000},\n\t\t\t\t\tRateLimitRequestsPerSecond: 0,\n\t\t\t\t\tSameKey:                    false,\n\t\t\t\t\tKeySizeBytes:               256,\n\t\t\t\t\tValueSizeBytes:             1024,\n\t\t\t\t\tStaleRead:                  false,\n\t\t\t\t},\n\t\t\t\tConfigClientMachineBenchmarkSteps: &dbtesterpb.ConfigClientMachineBenchmarkSteps{\n\t\t\t\t\tStep1StartDatabase:  true,\n\t\t\t\t\tStep2StressDatabase: true,\n\t\t\t\t\tStep3StopDatabase:   true,\n\t\t\t\t\tStep4UploadLogs:     true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"zookeeper__r3_5_3_beta\": {\n\t\t\t\tDatabaseID:            \"zookeeper__r3_5_3_beta\",\n\t\t\t\tDatabaseTag:           \"zookeeper-r3.5.3-beta-java8\",\n\t\t\t\tDatabaseDescription:   \"Zookeeper r3.5.3-beta (Java 8)\",\n\t\t\t\tPeerIPs:               []string{\"10.240.0.21\", \"10.240.0.22\", \"10.240.0.23\"},\n\t\t\t\tPeerIPsString:         \"10.240.0.21___10.240.0.22___10.240.0.23\",\n\t\t\t\tDatabasePortToConnect: 2181,\n\t\t\t\tDatabaseEndpoints:     []string{\"10.240.0.21:2181\", \"10.240.0.22:2181\", \"10.240.0.23:2181\"},\n\t\t\t\tAgentPortToConnect:    3500,\n\t\t\t\tAgentEndpoints:        []string{\"10.240.0.21:3500\", \"10.240.0.22:3500\", \"10.240.0.23:3500\"},\n\t\t\t\tFlag_Zookeeper_R3_5_3Beta: &dbtesterpb.Flag_Zookeeper_R3_5_3Beta{\n\t\t\t\t\tJavaDJuteMaxBuffer:   33554432,\n\t\t\t\t\tJavaXms:              \"50G\",\n\t\t\t\t\tJavaXmx:              \"50G\",\n\t\t\t\t\tClientPort:           2181,\n\t\t\t\t\tTickTime:             2000,\n\t\t\t\t\tInitLimit:            5,\n\t\t\t\t\tSyncLimit:            5,\n\t\t\t\t\tSnapCount:            100000,\n\t\t\t\t\tMaxClientConnections: 5000,\n\t\t\t\t},\n\t\t\t\tConfigClientMachineBenchmarkOptions: &dbtesterpb.ConfigClientMachineBenchmarkOptions{\n\t\t\t\t\tType:                       \"write\",\n\t\t\t\t\tRequestNumber:              1000000,\n\t\t\t\t\tConnectionNumber:           0,\n\t\t\t\t\tClientNumber:               0,\n\t\t\t\t\tConnectionClientNumbers:    []int64{1, 10, 50, 100, 300, 500, 700, 1000},\n\t\t\t\t\tRateLimitRequestsPerSecond: 0,\n\t\t\t\t\tSameKey:                    false,\n\t\t\t\t\tKeySizeBytes:               256,\n\t\t\t\t\tValueSizeBytes:             1024,\n\t\t\t\t\tStaleRead:                  false,\n\t\t\t\t},\n\t\t\t\tConfigClientMachineBenchmarkSteps: &dbtesterpb.ConfigClientMachineBenchmarkSteps{\n\t\t\t\t\tStep1StartDatabase:  true,\n\t\t\t\t\tStep2StressDatabase: true,\n\t\t\t\t\tStep3StopDatabase:   true,\n\t\t\t\t\tStep4UploadLogs:     true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"consul__v1_0_2\": {\n\t\t\t\tDatabaseID:            \"consul__v1_0_2\",\n\t\t\t\tDatabaseTag:           \"consul-v1.0.2-go1.8.0\",\n\t\t\t\tDatabaseDescription:   \"Consul v1.0.2 (Go 1.8.0)\",\n\t\t\t\tPeerIPs:               []string{\"10.240.0.27\", \"10.240.0.28\", \"10.240.0.29\"},\n\t\t\t\tPeerIPsString:         \"10.240.0.27___10.240.0.28___10.240.0.29\",\n\t\t\t\tDatabasePortToConnect: 8500,\n\t\t\t\tDatabaseEndpoints:     []string{\"10.240.0.27:8500\", \"10.240.0.28:8500\", \"10.240.0.29:8500\"},\n\t\t\t\tAgentPortToConnect:    3500,\n\t\t\t\tAgentEndpoints:        []string{\"10.240.0.27:3500\", \"10.240.0.28:3500\", \"10.240.0.29:3500\"},\n\t\t\t\tConfigClientMachineBenchmarkOptions: &dbtesterpb.ConfigClientMachineBenchmarkOptions{\n\t\t\t\t\tType:                       \"write\",\n\t\t\t\t\tRequestNumber:              1000000,\n\t\t\t\t\tConnectionNumber:           0,\n\t\t\t\t\tClientNumber:               0,\n\t\t\t\t\tConnectionClientNumbers:    []int64{1, 10, 50, 100, 300, 500, 700, 1000},\n\t\t\t\t\tRateLimitRequestsPerSecond: 0,\n\t\t\t\t\tSameKey:                    false,\n\t\t\t\t\tKeySizeBytes:               256,\n\t\t\t\t\tValueSizeBytes:             1024,\n\t\t\t\t\tStaleRead:                  false,\n\t\t\t\t},\n\t\t\t\tConfigClientMachineBenchmarkSteps: &dbtesterpb.ConfigClientMachineBenchmarkSteps{\n\t\t\t\t\tStep1StartDatabase:  true,\n\t\t\t\t\tStep2StressDatabase: true,\n\t\t\t\t\tStep3StopDatabase:   true,\n\t\t\t\t\tStep4UploadLogs:     true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tDatabaseIDToConfigAnalyzeMachineInitial: map[string]dbtesterpb.ConfigAnalyzeMachineInitial{\n\t\t\t\"etcd__tip\": {\n\t\t\t\tDatabaseID:          \"etcd__tip\",\n\t\t\t\tDatabaseTag:         \"etcd-tip-go1.8.0\",\n\t\t\t\tDatabaseDescription: \"etcd tip (Go 1.8.0)\",\n\t\t\t\tPathPrefix:          \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0\",\n\n\t\t\t\tClientSystemMetricsInterpolatedPath:     \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-client-system-metrics-interpolated.csv\",\n\t\t\t\tClientLatencyThroughputTimeseriesPath:   \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-client-latency-throughput-timeseries.csv\",\n\t\t\t\tClientLatencyDistributionAllPath:        \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-client-latency-distribution-all.csv\",\n\t\t\t\tClientLatencyDistributionPercentilePath: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-client-latency-distribution-percentile.csv\",\n\t\t\t\tClientLatencyDistributionSummaryPath:    \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-client-latency-distribution-summary.csv\",\n\t\t\t\tClientLatencyByKeyNumberPath:            \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-client-latency-by-key-number.csv\",\n\t\t\t\tServerMemoryByKeyNumberPath:             \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-server-memory-by-key-number.csv\",\n\t\t\t\tServerReadBytesDeltaByKeyNumberPath:     \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-server-read-bytes-delta-by-key-number.csv\",\n\t\t\t\tServerWriteBytesDeltaByKeyNumberPath:    \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-server-write-bytes-delta-by-key-number.csv\",\n\t\t\t\tServerDiskSpaceUsageSummaryPath:         \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-server-disk-space-usage-summary.csv\",\n\t\t\t\tServerSystemMetricsInterpolatedPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-1-server-system-metrics-interpolated.csv\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-2-server-system-metrics-interpolated.csv\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-3-server-system-metrics-interpolated.csv\",\n\t\t\t\t},\n\t\t\t\tAllAggregatedOutputPath: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0-all-aggregated.csv\",\n\t\t\t},\n\t\t\t\"zookeeper__r3_5_3_beta\": {\n\t\t\t\tDatabaseID:          \"zookeeper__r3_5_3_beta\",\n\t\t\t\tDatabaseTag:         \"zookeeper-r3.5.3-beta-java8\",\n\t\t\t\tDatabaseDescription: \"Zookeeper r3.5.3-beta (Java 8)\",\n\t\t\t\tPathPrefix:          \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8\",\n\n\t\t\t\tClientSystemMetricsInterpolatedPath:     \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-client-system-metrics-interpolated.csv\",\n\t\t\t\tClientLatencyThroughputTimeseriesPath:   \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-client-latency-throughput-timeseries.csv\",\n\t\t\t\tClientLatencyDistributionAllPath:        \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-client-latency-distribution-all.csv\",\n\t\t\t\tClientLatencyDistributionPercentilePath: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-client-latency-distribution-percentile.csv\",\n\t\t\t\tClientLatencyDistributionSummaryPath:    \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-client-latency-distribution-summary.csv\",\n\t\t\t\tClientLatencyByKeyNumberPath:            \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-client-latency-by-key-number.csv\",\n\t\t\t\tServerMemoryByKeyNumberPath:             \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-server-memory-by-key-number.csv\",\n\t\t\t\tServerReadBytesDeltaByKeyNumberPath:     \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-server-read-bytes-delta-by-key-number.csv\",\n\t\t\t\tServerWriteBytesDeltaByKeyNumberPath:    \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-server-write-bytes-delta-by-key-number.csv\",\n\t\t\t\tServerDiskSpaceUsageSummaryPath:         \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-server-disk-space-usage-summary.csv\",\n\t\t\t\tServerSystemMetricsInterpolatedPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-1-server-system-metrics-interpolated.csv\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-2-server-system-metrics-interpolated.csv\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-3-server-system-metrics-interpolated.csv\",\n\t\t\t\t},\n\t\t\t\tAllAggregatedOutputPath: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8-all-aggregated.csv\",\n\t\t\t},\n\t\t\t\"consul__v1_0_2\": {\n\t\t\t\tDatabaseID:          \"consul__v1_0_2\",\n\t\t\t\tDatabaseTag:         \"consul-v1.0.2-go1.8.0\",\n\t\t\t\tDatabaseDescription: \"Consul v1.0.2 (Go 1.8.0)\",\n\t\t\t\tPathPrefix:          \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0\",\n\n\t\t\t\tClientSystemMetricsInterpolatedPath:     \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-client-system-metrics-interpolated.csv\",\n\t\t\t\tClientLatencyThroughputTimeseriesPath:   \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-client-latency-throughput-timeseries.csv\",\n\t\t\t\tClientLatencyDistributionAllPath:        \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-client-latency-distribution-all.csv\",\n\t\t\t\tClientLatencyDistributionPercentilePath: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-client-latency-distribution-percentile.csv\",\n\t\t\t\tClientLatencyDistributionSummaryPath:    \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-client-latency-distribution-summary.csv\",\n\t\t\t\tClientLatencyByKeyNumberPath:            \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-client-latency-by-key-number.csv\",\n\t\t\t\tServerMemoryByKeyNumberPath:             \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-server-memory-by-key-number.csv\",\n\t\t\t\tServerReadBytesDeltaByKeyNumberPath:     \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-server-read-bytes-delta-by-key-number.csv\",\n\t\t\t\tServerWriteBytesDeltaByKeyNumberPath:    \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-server-write-bytes-delta-by-key-number.csv\",\n\t\t\t\tServerDiskSpaceUsageSummaryPath:         \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-server-disk-space-usage-summary.csv\",\n\t\t\t\tServerSystemMetricsInterpolatedPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-1-server-system-metrics-interpolated.csv\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-2-server-system-metrics-interpolated.csv\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-3-server-system-metrics-interpolated.csv\",\n\t\t\t\t},\n\t\t\t\tAllAggregatedOutputPath: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0-all-aggregated.csv\",\n\t\t\t},\n\t\t},\n\t\tConfigAnalyzeMachineAllAggregatedOutput: dbtesterpb.ConfigAnalyzeMachineAllAggregatedOutput{\n\t\t\tAllAggregatedOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/all-aggregated.csv\",\n\t\t\tAllAggregatedOutputPathTXT: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/all-aggregated.txt\",\n\t\t},\n\t\tAnalyzePlotPathPrefix: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable\",\n\t\tAnalyzePlotList: []dbtesterpb.ConfigAnalyzeMachinePlot{\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-LATENCY-MS\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Latency(millisecond)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-THROUGHPUT\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Throughput(Requests/Second)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-VOLUNTARY-CTXT-SWITCHES\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Voluntary Context Switches\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-NON-VOLUNTARY-CTXT-SWITCHES\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Non-voluntary Context Switches\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-CPU\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"CPU(%)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"MAX-CPU\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"CPU(%)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/MAX-CPU.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/MAX-CPU.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/MAX-CPU.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-VMRSS-MB\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Memory(MB)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-READS-COMPLETED-DELTA\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Disk Reads (Delta per Second)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-SECTORS-READ-DELTA\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Sectors Read (Delta per Second)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-WRITES-COMPLETED-DELTA\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Disk Writes (Delta per Second)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-SECTORS-WRITTEN-DELTA\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Sectors Written (Delta per Second)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-READ-BYTES-DELTA\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Read Bytes (Delta per Second)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READ-BYTES-DELTA.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READ-BYTES-DELTA.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READ-BYTES-DELTA.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-WRITE-BYTES-DELTA\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Write Bytes (Delta per Second)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITE-BYTES-DELTA.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITE-BYTES-DELTA.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITE-BYTES-DELTA.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-RECEIVE-BYTES-NUM-DELTA\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Network Receive(bytes) (Delta per Second)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tColumn:        \"AVG-TRANSMIT-BYTES-NUM-DELTA\",\n\t\t\t\tXAxis:         \"Second\",\n\t\t\t\tYAxis:         \"Network Transmit(bytes) (Delta per Second)\",\n\t\t\t\tOutputPathCSV: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA.csv\",\n\t\t\t\tOutputPathList: []string{\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\",\n\t\t\t\t\t\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA.png\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tConfigAnalyzeMachineREADME: dbtesterpb.ConfigAnalyzeMachineREADME{\n\t\t\tOutputPath: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/README.md\",\n\n\t\t\tImages: []*dbtesterpb.ConfigAnalyzeMachineImage{\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/MAX-CPU\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/MAX-CPU.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READ-BYTES-DELTA\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READ-BYTES-DELTA.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITE-BYTES-DELTA\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITE-BYTES-DELTA.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA\",\n\t\t\t\t\tPath:  \"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\",\n\t\t\t\t\tType:  \"remote\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t}\n\tif !reflect.DeepEqual(cfg, expected) {\n\t\tt.Fatalf(\"configuration expected\\n%+v\\n, got\\n%+v\\n\", expected, cfg)\n\t}\n\n\treq1, err := cfg.ToRequest(\"etcd__tip\", dbtesterpb.Operation_Start, 0)\n\tif err != nil {\n\t\tt.Fatal(err)\n\t}\n\texpected1 := &dbtesterpb.Request{\n\t\tOperation:           dbtesterpb.Operation_Start,\n\t\tTriggerLogUpload:    true,\n\t\tDatabaseID:          dbtesterpb.DatabaseID_etcd__tip,\n\t\tDatabaseTag:         \"etcd-tip-go1.8.0\",\n\t\tPeerIPsString:       \"10.240.0.7___10.240.0.8___10.240.0.12\",\n\t\tIPIndex:             0,\n\t\tCurrentClientNumber: 0,\n\t\tConfigClientMachineInitial: &dbtesterpb.ConfigClientMachineInitial{\n\t\t\tGoogleCloudProjectName:         \"etcd-development\",\n\t\t\tGoogleCloudStorageKey:          \"test-key\",\n\t\t\tGoogleCloudStorageBucketName:   \"dbtester-results\",\n\t\t\tGoogleCloudStorageSubDirectory: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable\",\n\t\t},\n\t\tFlag_Etcd_Tip: &dbtesterpb.Flag_Etcd_Tip{\n\t\t\tSnapshotCount:  100000,\n\t\t\tQuotaSizeBytes: 8000000000,\n\t\t},\n\t}\n\tif !reflect.DeepEqual(req1, expected1) {\n\t\tt.Fatalf(\"configuration expected\\n%+v\\n, got\\n%+v\\n\", expected1, req1)\n\t}\n\n\treq2, err := cfg.ToRequest(\"zookeeper__r3_5_3_beta\", dbtesterpb.Operation_Start, 2)\n\tif err != nil {\n\t\tt.Fatal(err)\n\t}\n\texpected2 := &dbtesterpb.Request{\n\t\tOperation:           dbtesterpb.Operation_Start,\n\t\tTriggerLogUpload:    true,\n\t\tDatabaseID:          dbtesterpb.DatabaseID_zookeeper__r3_5_3_beta,\n\t\tDatabaseTag:         \"zookeeper-r3.5.3-beta-java8\",\n\t\tPeerIPsString:       \"10.240.0.21___10.240.0.22___10.240.0.23\",\n\t\tIPIndex:             2,\n\t\tCurrentClientNumber: 0,\n\t\tConfigClientMachineInitial: &dbtesterpb.ConfigClientMachineInitial{\n\t\t\tGoogleCloudProjectName:         \"etcd-development\",\n\t\t\tGoogleCloudStorageKey:          \"test-key\",\n\t\t\tGoogleCloudStorageBucketName:   \"dbtester-results\",\n\t\t\tGoogleCloudStorageSubDirectory: \"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable\",\n\t\t},\n\t\tFlag_Zookeeper_R3_5_3Beta: &dbtesterpb.Flag_Zookeeper_R3_5_3Beta{\n\t\t\tJavaDJuteMaxBuffer:   33554432,\n\t\t\tJavaXms:              \"50G\",\n\t\t\tJavaXmx:              \"50G\",\n\t\t\tMyID:                 3,\n\t\t\tClientPort:           2181,\n\t\t\tTickTime:             2000,\n\t\t\tInitLimit:            5,\n\t\t\tSyncLimit:            5,\n\t\t\tSnapCount:            100000,\n\t\t\tMaxClientConnections: 5000,\n\t\t},\n\t}\n\tif !reflect.DeepEqual(req2, expected2) {\n\t\tt.Fatalf(\"configuration expected\\n%+v\\n, got\\n%+v\\n\", expected2, req2)\n\t}\n}\n"
  },
  {
    "path": "config_dbtester_test.yaml",
    "content": "test_title: Write 1M keys, 256-byte key, 1KB value value, clients 1 to 1,000\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 16.10\n  - etcd tip (Go 1.8.0)\n  - Zookeeper r3.5.3-beta\n    - Java 8\n    - javac 1.8.0_121\n    - Java(TM) SE Runtime Environment (build 1.8.0_121-b13)\n    - Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)\n    - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n  - Consul v1.0.2 (Go 1.8.0)\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: config-dbtester-gcloud-key.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable\n\nall_database_id_list: [etcd__tip, zookeeper__r3_5_3_beta, consul__v1_0_2]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__tip:\n    database_description: etcd tip (Go 1.8.0)\n    peer_ips:\n    - 10.240.0.7\n    - 10.240.0.8\n    - 10.240.0.12\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__tip:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 0\n      client_number: 0\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: [1, 10, 50, 100, 300, 500, 700, 1000]\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  zookeeper__r3_5_3_beta:\n    database_description: Zookeeper r3.5.3-beta (Java 8)\n    peer_ips:\n    - 10.240.0.21\n    - 10.240.0.22\n    - 10.240.0.23\n    database_port_to_connect: 2181\n    agent_port_to_connect: 3500\n\n    # http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html\n    zookeeper__r3_5_3_beta:\n      # maximum size, in bytes, of a request or response\n      # set it to 33 MB\n      java_d_jute_max_buffer: 33554432\n\n      # JVM min,max heap size\n      java_xms: 50G\n      java_xmx: 50G\n\n      # tickTime; the length of a single tick, which is the basic time unit used by ZooKeeper,\n      # as measured in milliseconds.\n      tick_time: 2000\n\n      # initLimit; Amount of time, in ticks to allow followers to connect and sync to a leader\n      # increased this value as needed, if the amount of data managed by ZooKeeper is large.\n      # (default 5)\n      init_limit: 5\n\n      # syncLimit; Amount of time, in ticks to allow followers to sync with ZooKeeper.\n      # (default 5)\n      sync_limit: 5\n\n      # snapCount; After snapCount transactions are written to a log file a snapshot\n      # is started and a new transaction log file is created. The default snapCount is 100,000.\n      snap_count: 100000\n\n      # maxClientCnxns; Limits the number of concurrent connections (at the socket level)\n      # that a single client, identified by IP address, may make to a single member of the ZooKeeper ensemble.\n      max_client_connections: 5000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 0\n      client_number: 0\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: [1, 10, 50, 100, 300, 500, 700, 1000]\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  consul__v1_0_2:\n    database_description: Consul v1.0.2 (Go 1.8.0)\n    peer_ips:\n    - 10.240.0.27\n    - 10.240.0.28\n    - 10.240.0.29\n    database_port_to_connect: 8500\n    agent_port_to_connect: 3500\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 0\n      client_number: 0\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: [1, 10, 50, 100, 300, 500, 700, 1000]\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__tip:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/etcd-tip-go1.8.0\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  zookeeper__r3_5_3_beta:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  consul__v1_0_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/consul-v1.0.2-go1.8.0\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/all-aggregated.csv\n  all_aggregated_output_path_txt: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/README.md\n\n  images:\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/MAX-CPU.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READ-BYTES-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READ-BYTES-DELTA.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITE-BYTES-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITE-BYTES-DELTA.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "control/command.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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// Package control controls the database agents and benchmark testers.\npackage control\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/etcd-io/dbtester\"\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\t\"github.com/etcd-io/dbtester/pkg/ntp\"\n\n\t\"github.com/coreos/etcd/pkg/netutil\"\n\t\"github.com/gyuho/linux-inspect/df\"\n\t\"github.com/gyuho/linux-inspect/inspect\"\n\t\"github.com/gyuho/linux-inspect/top\"\n\t\"github.com/spf13/cobra\"\n\t\"go.uber.org/zap\"\n)\n\n// Command implements 'control' command.\nvar Command = &cobra.Command{\n\tUse:   \"control\",\n\tShort: \"Controls tests.\",\n\tRunE:  commandFunc,\n}\n\nvar databaseID string\nvar configPath string\nvar diskDevice string\nvar networkInterface string\n\nfunc init() {\n\tdn, err := df.GetDevice(\"/\")\n\tif err != nil {\n\t\tlg.Warn(\"cannot get disk device mounted at '/'\", zap.Error(err))\n\t}\n\tnm, err := netutil.GetDefaultInterfaces()\n\tif err != nil {\n\t\tlg.Warn(\"cannot detect default network interface\", zap.Error(err))\n\t}\n\tvar nt string\n\tfor k := range nm {\n\t\tnt = k\n\t\tbreak\n\t}\n\n\tids := dbtesterpb.GetAllDatabaseIDs()\n\tCommand.PersistentFlags().StringVar(&databaseID, \"database-id\", ids[0], strings.Join(ids, \", \"))\n\tCommand.PersistentFlags().StringVarP(&configPath, \"config\", \"c\", \"\", \"YAML configuration file path.\")\n\tCommand.PersistentFlags().StringVar(&diskDevice, \"disk-device\", dn, \"Disk device to collect disk statistics metrics from.\")\n\tCommand.PersistentFlags().StringVar(&networkInterface, \"network-interface\", nt, \"Network interface to record in/outgoing packets.\")\n}\n\nfunc commandFunc(cmd *cobra.Command, args []string) error {\n\tif !dbtesterpb.IsValidDatabaseID(databaseID) {\n\t\treturn fmt.Errorf(\"database id %q is unknown\", databaseID)\n\t}\n\n\tcfg, err := dbtester.ReadConfig(configPath, false)\n\tif err != nil {\n\t\treturn err\n\t}\n\tgcfg, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID]\n\tif !ok {\n\t\treturn fmt.Errorf(\"%q is not found\", databaseID)\n\t}\n\n\tif gcfg.ConfigClientMachineBenchmarkSteps.Step2StressDatabase {\n\t\tswitch gcfg.ConfigClientMachineBenchmarkOptions.Type {\n\t\tcase \"write\":\n\t\tcase \"read\":\n\t\tcase \"read-oneshot\":\n\t\tdefault:\n\t\t\treturn fmt.Errorf(\"%q is not supported\", gcfg.ConfigClientMachineBenchmarkOptions.Type)\n\t\t}\n\t}\n\n\tpid := int64(os.Getpid())\n\tlg.Info(\n\t\t\"starting collecting system metrics\",\n\t\tzap.String(\"system-metrics-path\", cfg.ConfigClientMachineInitial.ClientSystemMetricsPath),\n\t\tzap.String(\"disk-device\", diskDevice),\n\t\tzap.String(\"network-device\", networkInterface),\n\t\tzap.Int64(\"pid\", pid),\n\t)\n\tif err = os.RemoveAll(cfg.ConfigClientMachineInitial.ClientSystemMetricsPath); err != nil {\n\t\treturn err\n\t}\n\ttcfg := &top.Config{\n\t\tExec:           top.DefaultExecPath,\n\t\tIntervalSecond: 1,\n\t\tPID:            pid,\n\t}\n\tvar metricsCSV *inspect.CSV\n\tmetricsCSV, err = inspect.NewCSV(\n\t\tcfg.ConfigClientMachineInitial.ClientSystemMetricsPath,\n\t\tpid,\n\t\tdiskDevice,\n\t\tnetworkInterface,\n\t\t\"\",\n\t\ttcfg,\n\t)\n\tif err = metricsCSV.Add(); err != nil {\n\t\treturn err\n\t}\n\n\tdonec, sysdonec := make(chan struct{}), make(chan struct{})\n\tgo func() {\n\t\tfor {\n\t\t\tselect {\n\t\t\tcase <-time.After(time.Second):\n\t\t\t\tif err := metricsCSV.Add(); err != nil {\n\t\t\t\t\tlg.Warn(\"inspect.CSV.Add error\", zap.Error(err))\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\tcase <-donec:\n\t\t\t\tlg.Info(\"finishing collecting system metrics; saving CSV\", zap.String(\"path\", cfg.ConfigClientMachineInitial.ClientSystemMetricsPath))\n\n\t\t\t\tif err := metricsCSV.Save(); err != nil {\n\t\t\t\t\tlg.Warn(\"inspect.CSV.Save failed\", zap.String(\"path\", metricsCSV.FilePath), zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tlg.Info(\"saved CSV\", zap.String(\"path\", metricsCSV.FilePath))\n\t\t\t\t}\n\n\t\t\t\tinterpolated, err := metricsCSV.Interpolate()\n\t\t\t\tif err != nil {\n\t\t\t\t\tlg.Fatal(\"inspect.CSV.Interpolate failed\", zap.String(\"path\", metricsCSV.FilePath), zap.Error(err))\n\t\t\t\t}\n\t\t\t\tinterpolated.FilePath = cfg.ConfigClientMachineInitial.ClientSystemMetricsInterpolatedPath\n\t\t\t\tif err := interpolated.Save(); err != nil {\n\t\t\t\t\tlg.Warn(\"inspect.CSV.Save failed\", zap.String(\"path\", interpolated.FilePath), zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tlg.Info(\"saved CSV\", zap.String(\"path\", interpolated.FilePath))\n\t\t\t\t}\n\n\t\t\t\tclose(sysdonec)\n\n\t\t\t\tlg.Info(\"finished collecting system metrics\")\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}()\n\n\tno, nerr := ntp.DefaultSync()\n\tlg.Info(\"npt update output\", zap.String(\"output\", no))\n\tif nerr != nil {\n\t\tlg.Warn(\"ntp update failed\", zap.Error(nerr))\n\t}\n\n\tprintln()\n\tif gcfg.ConfigClientMachineBenchmarkSteps.Step1StartDatabase {\n\t\tlg.Info(\"step 1: starting databases...\")\n\t\tif _, err = cfg.BroadcaseRequest(databaseID, dbtesterpb.Operation_Start); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tif gcfg.ConfigClientMachineBenchmarkSteps.Step2StressDatabase {\n\t\tprintln()\n\t\ttime.Sleep(5 * time.Second)\n\t\tprintln()\n\t\tlg.Info(\"step 2: starting tests...\")\n\t\tif err = cfg.Stress(databaseID); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tif gcfg.ConfigClientMachineBenchmarkSteps.Step3StopDatabase {\n\t\tprintln()\n\t\ttime.Sleep(5 * time.Second)\n\t\tprintln()\n\t\tlg.Info(\"step 3: stopping tests...\")\n\t\tvar idxToResp map[int]dbtesterpb.Response\n\t\tfor i := 0; i < 5; i++ {\n\t\t\tidxToResp, err = cfg.BroadcaseRequest(databaseID, dbtesterpb.Operation_Stop)\n\t\t\tif err != nil {\n\t\t\t\tlg.Warn(\"STOP failed\", zap.Int(\"i\", i), zap.Error(err))\n\t\t\t\ttime.Sleep(300 * time.Millisecond)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tfor idx := range gcfg.AgentEndpoints {\n\t\t\tlg.Info(\"stop response\", zap.String(\"response\", fmt.Sprintf(\"%+v\", idxToResp[idx])))\n\t\t}\n\n\t\tprintln()\n\t\ttime.Sleep(time.Second)\n\t\tprintln()\n\t\tlg.Info(\"step 3: saving responses...\")\n\t\tif err = cfg.SaveDiskSpaceUsageSummary(databaseID, idxToResp); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tclose(donec)\n\t<-sysdonec\n\n\tif gcfg.ConfigClientMachineBenchmarkSteps.Step4UploadLogs {\n\t\tprintln()\n\t\ttime.Sleep(3 * time.Second)\n\t\tprintln()\n\t\tlg.Info(\"step 4: uploading logs...\")\n\t\tif err = cfg.UploadToGoogle(databaseID, cfg.ConfigClientMachineInitial.LogPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = cfg.UploadToGoogle(databaseID, cfg.ConfigClientMachineInitial.ClientSystemMetricsPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = cfg.UploadToGoogle(databaseID, cfg.ConfigClientMachineInitial.ClientSystemMetricsInterpolatedPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = cfg.UploadToGoogle(databaseID, cfg.ConfigClientMachineInitial.ClientLatencyThroughputTimeseriesPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = cfg.UploadToGoogle(databaseID, cfg.ConfigClientMachineInitial.ClientLatencyDistributionAllPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = cfg.UploadToGoogle(databaseID, cfg.ConfigClientMachineInitial.ClientLatencyDistributionPercentilePath); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = cfg.UploadToGoogle(databaseID, cfg.ConfigClientMachineInitial.ClientLatencyDistributionSummaryPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = cfg.UploadToGoogle(databaseID, cfg.ConfigClientMachineInitial.ClientLatencyByKeyNumberPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = cfg.UploadToGoogle(databaseID, cfg.ConfigClientMachineInitial.ServerDiskSpaceUsageSummaryPath); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tlg.Info(\"all done!\")\n\treturn nil\n}\n"
  },
  {
    "path": "control/logger.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage control\n\nimport \"go.uber.org/zap\"\n\nvar lg *zap.Logger\n\nfunc init() {\n\tvar err error\n\tlg, err = zap.NewProduction()\n\tif err != nil {\n\t\tpanic(err)\n\t}\n}\n"
  },
  {
    "path": "dbtesterpb/config_analyze_machine.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: dbtesterpb/config_analyze_machine.proto\n\n/*\n\tPackage dbtesterpb is a generated protocol buffer package.\n\n\tIt is generated from these files:\n\t\tdbtesterpb/config_analyze_machine.proto\n\t\tdbtesterpb/config_client_machine.proto\n\t\tdbtesterpb/database_id.proto\n\t\tdbtesterpb/flag_cetcd.proto\n\t\tdbtesterpb/flag_consul.proto\n\t\tdbtesterpb/flag_etcd.proto\n\t\tdbtesterpb/flag_zetcd.proto\n\t\tdbtesterpb/flag_zookeeper.proto\n\t\tdbtesterpb/message.proto\n\n\tIt has these top-level messages:\n\t\tConfigAnalyzeMachineInitial\n\t\tConfigAnalyzeMachineAllAggregatedOutput\n\t\tConfigAnalyzeMachinePlot\n\t\tConfigAnalyzeMachineImage\n\t\tConfigAnalyzeMachineREADME\n\t\tConfigClientMachineInitial\n\t\tConfigClientMachineBenchmarkOptions\n\t\tConfigClientMachineBenchmarkSteps\n\t\tConfigClientMachineAgentControl\n\t\tFlag_Cetcd_Beta\n\t\tFlag_Consul_V1_0_2\n\t\tFlag_Etcd_Other\n\t\tFlag_Etcd_Tip\n\t\tFlag_Etcd_V3_2\n\t\tFlag_Etcd_V3_3\n\t\tFlag_Zetcd_Beta\n\t\tFlag_Zookeeper_R3_5_3Beta\n\t\tRequest\n\t\tResponse\n*/\npackage dbtesterpb\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"github.com/gogo/protobuf/gogoproto\"\n\nimport io \"io\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\n// ConfigAnalyzeMachineInitial represents common control options and test data information for analyzer machine.\ntype ConfigAnalyzeMachineInitial struct {\n\tDatabaseID                              string   `protobuf:\"bytes,1,opt,name=DatabaseID,proto3\" json:\"DatabaseID,omitempty\"`\n\tDatabaseTag                             string   `protobuf:\"bytes,2,opt,name=DatabaseTag,proto3\" json:\"DatabaseTag,omitempty\"`\n\tDatabaseDescription                     string   `protobuf:\"bytes,3,opt,name=DatabaseDescription,proto3\" json:\"DatabaseDescription,omitempty\"`\n\tPathPrefix                              string   `protobuf:\"bytes,4,opt,name=PathPrefix,proto3\" json:\"PathPrefix,omitempty\" yaml:\"path_prefix\"`\n\tClientSystemMetricsInterpolatedPath     string   `protobuf:\"bytes,5,opt,name=ClientSystemMetricsInterpolatedPath,proto3\" json:\"ClientSystemMetricsInterpolatedPath,omitempty\" yaml:\"client_system_metrics_interpolated_path\"`\n\tClientLatencyThroughputTimeseriesPath   string   `protobuf:\"bytes,6,opt,name=ClientLatencyThroughputTimeseriesPath,proto3\" json:\"ClientLatencyThroughputTimeseriesPath,omitempty\" yaml:\"client_latency_throughput_timeseries_path\"`\n\tClientLatencyDistributionAllPath        string   `protobuf:\"bytes,7,opt,name=ClientLatencyDistributionAllPath,proto3\" json:\"ClientLatencyDistributionAllPath,omitempty\" yaml:\"client_latency_distribution_all_path\"`\n\tClientLatencyDistributionPercentilePath string   `protobuf:\"bytes,8,opt,name=ClientLatencyDistributionPercentilePath,proto3\" json:\"ClientLatencyDistributionPercentilePath,omitempty\" yaml:\"client_latency_distribution_percentile_path\"`\n\tClientLatencyDistributionSummaryPath    string   `protobuf:\"bytes,9,opt,name=ClientLatencyDistributionSummaryPath,proto3\" json:\"ClientLatencyDistributionSummaryPath,omitempty\" yaml:\"client_latency_distribution_summary_path\"`\n\tClientLatencyByKeyNumberPath            string   `protobuf:\"bytes,10,opt,name=ClientLatencyByKeyNumberPath,proto3\" json:\"ClientLatencyByKeyNumberPath,omitempty\" yaml:\"client_latency_by_key_number_path\"`\n\tServerDiskSpaceUsageSummaryPath         string   `protobuf:\"bytes,11,opt,name=ServerDiskSpaceUsageSummaryPath,proto3\" json:\"ServerDiskSpaceUsageSummaryPath,omitempty\" yaml:\"server_disk_space_usage_summary_path\"`\n\tServerMemoryByKeyNumberPath             string   `protobuf:\"bytes,12,opt,name=ServerMemoryByKeyNumberPath,proto3\" json:\"ServerMemoryByKeyNumberPath,omitempty\" yaml:\"server_memory_by_key_number_path\"`\n\tServerReadBytesDeltaByKeyNumberPath     string   `protobuf:\"bytes,13,opt,name=ServerReadBytesDeltaByKeyNumberPath,proto3\" json:\"ServerReadBytesDeltaByKeyNumberPath,omitempty\" yaml:\"server_read_bytes_delta_by_key_number_path\"`\n\tServerWriteBytesDeltaByKeyNumberPath    string   `protobuf:\"bytes,14,opt,name=ServerWriteBytesDeltaByKeyNumberPath,proto3\" json:\"ServerWriteBytesDeltaByKeyNumberPath,omitempty\" yaml:\"server_write_bytes_delta_by_key_number_path\"`\n\tServerSystemMetricsInterpolatedPathList []string `protobuf:\"bytes,15,rep,name=ServerSystemMetricsInterpolatedPathList\" json:\"ServerSystemMetricsInterpolatedPathList,omitempty\" yaml:\"server_system_metrics_interpolated_path_list\"`\n\tAllAggregatedOutputPath                 string   `protobuf:\"bytes,16,opt,name=AllAggregatedOutputPath,proto3\" json:\"AllAggregatedOutputPath,omitempty\" yaml:\"all_aggregated_output_path\"`\n}\n\nfunc (m *ConfigAnalyzeMachineInitial) Reset()         { *m = ConfigAnalyzeMachineInitial{} }\nfunc (m *ConfigAnalyzeMachineInitial) String() string { return proto.CompactTextString(m) }\nfunc (*ConfigAnalyzeMachineInitial) ProtoMessage()    {}\nfunc (*ConfigAnalyzeMachineInitial) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorConfigAnalyzeMachine, []int{0}\n}\n\ntype ConfigAnalyzeMachineAllAggregatedOutput struct {\n\tAllAggregatedOutputPathCSV string `protobuf:\"bytes,1,opt,name=AllAggregatedOutputPathCSV,proto3\" json:\"AllAggregatedOutputPathCSV,omitempty\" yaml:\"all_aggregated_output_path_csv\"`\n\tAllAggregatedOutputPathTXT string `protobuf:\"bytes,2,opt,name=AllAggregatedOutputPathTXT,proto3\" json:\"AllAggregatedOutputPathTXT,omitempty\" yaml:\"all_aggregated_output_path_txt\"`\n}\n\nfunc (m *ConfigAnalyzeMachineAllAggregatedOutput) Reset() {\n\t*m = ConfigAnalyzeMachineAllAggregatedOutput{}\n}\nfunc (m *ConfigAnalyzeMachineAllAggregatedOutput) String() string { return proto.CompactTextString(m) }\nfunc (*ConfigAnalyzeMachineAllAggregatedOutput) ProtoMessage()    {}\nfunc (*ConfigAnalyzeMachineAllAggregatedOutput) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorConfigAnalyzeMachine, []int{1}\n}\n\n// ConfigAnalyzeMachinePlot defines plot configuration.\ntype ConfigAnalyzeMachinePlot struct {\n\tColumn         string   `protobuf:\"bytes,1,opt,name=Column,proto3\" json:\"Column,omitempty\" yaml:\"column\"`\n\tXAxis          string   `protobuf:\"bytes,2,opt,name=XAxis,proto3\" json:\"XAxis,omitempty\" yaml:\"x_axis\"`\n\tYAxis          string   `protobuf:\"bytes,3,opt,name=YAxis,proto3\" json:\"YAxis,omitempty\" yaml:\"y_axis\"`\n\tOutputPathCSV  string   `protobuf:\"bytes,4,opt,name=OutputPathCSV,proto3\" json:\"OutputPathCSV,omitempty\" yaml:\"output_path_csv\"`\n\tOutputPathList []string `protobuf:\"bytes,5,rep,name=OutputPathList\" json:\"OutputPathList,omitempty\" yaml:\"output_path_list\"`\n}\n\nfunc (m *ConfigAnalyzeMachinePlot) Reset()         { *m = ConfigAnalyzeMachinePlot{} }\nfunc (m *ConfigAnalyzeMachinePlot) String() string { return proto.CompactTextString(m) }\nfunc (*ConfigAnalyzeMachinePlot) ProtoMessage()    {}\nfunc (*ConfigAnalyzeMachinePlot) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorConfigAnalyzeMachine, []int{2}\n}\n\n// ConfigAnalyzeMachineImage defines image configuration.\ntype ConfigAnalyzeMachineImage struct {\n\tTitle string `protobuf:\"bytes,1,opt,name=Title,proto3\" json:\"Title,omitempty\" yaml:\"title\"`\n\tPath  string `protobuf:\"bytes,2,opt,name=Path,proto3\" json:\"Path,omitempty\" yaml:\"path\"`\n\tType  string `protobuf:\"bytes,3,opt,name=Type,proto3\" json:\"Type,omitempty\" yaml:\"type\"`\n}\n\nfunc (m *ConfigAnalyzeMachineImage) Reset()         { *m = ConfigAnalyzeMachineImage{} }\nfunc (m *ConfigAnalyzeMachineImage) String() string { return proto.CompactTextString(m) }\nfunc (*ConfigAnalyzeMachineImage) ProtoMessage()    {}\nfunc (*ConfigAnalyzeMachineImage) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorConfigAnalyzeMachine, []int{3}\n}\n\n// ConfigAnalyzeMachineREADME defines read configuration.\ntype ConfigAnalyzeMachineREADME struct {\n\tOutputPath string                       `protobuf:\"bytes,1,opt,name=OutputPath,proto3\" json:\"OutputPath,omitempty\" yaml:\"output_path\"`\n\tImages     []*ConfigAnalyzeMachineImage `protobuf:\"bytes,2,rep,name=Images\" json:\"Images,omitempty\" yaml:\"images\"`\n}\n\nfunc (m *ConfigAnalyzeMachineREADME) Reset()         { *m = ConfigAnalyzeMachineREADME{} }\nfunc (m *ConfigAnalyzeMachineREADME) String() string { return proto.CompactTextString(m) }\nfunc (*ConfigAnalyzeMachineREADME) ProtoMessage()    {}\nfunc (*ConfigAnalyzeMachineREADME) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorConfigAnalyzeMachine, []int{4}\n}\n\nfunc init() {\n\tproto.RegisterType((*ConfigAnalyzeMachineInitial)(nil), \"dbtesterpb.ConfigAnalyzeMachineInitial\")\n\tproto.RegisterType((*ConfigAnalyzeMachineAllAggregatedOutput)(nil), \"dbtesterpb.ConfigAnalyzeMachineAllAggregatedOutput\")\n\tproto.RegisterType((*ConfigAnalyzeMachinePlot)(nil), \"dbtesterpb.ConfigAnalyzeMachinePlot\")\n\tproto.RegisterType((*ConfigAnalyzeMachineImage)(nil), \"dbtesterpb.ConfigAnalyzeMachineImage\")\n\tproto.RegisterType((*ConfigAnalyzeMachineREADME)(nil), \"dbtesterpb.ConfigAnalyzeMachineREADME\")\n}\nfunc (m *ConfigAnalyzeMachineInitial) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ConfigAnalyzeMachineInitial) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.DatabaseID) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.DatabaseID)))\n\t\ti += copy(dAtA[i:], m.DatabaseID)\n\t}\n\tif len(m.DatabaseTag) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.DatabaseTag)))\n\t\ti += copy(dAtA[i:], m.DatabaseTag)\n\t}\n\tif len(m.DatabaseDescription) > 0 {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.DatabaseDescription)))\n\t\ti += copy(dAtA[i:], m.DatabaseDescription)\n\t}\n\tif len(m.PathPrefix) > 0 {\n\t\tdAtA[i] = 0x22\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.PathPrefix)))\n\t\ti += copy(dAtA[i:], m.PathPrefix)\n\t}\n\tif len(m.ClientSystemMetricsInterpolatedPath) > 0 {\n\t\tdAtA[i] = 0x2a\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.ClientSystemMetricsInterpolatedPath)))\n\t\ti += copy(dAtA[i:], m.ClientSystemMetricsInterpolatedPath)\n\t}\n\tif len(m.ClientLatencyThroughputTimeseriesPath) > 0 {\n\t\tdAtA[i] = 0x32\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.ClientLatencyThroughputTimeseriesPath)))\n\t\ti += copy(dAtA[i:], m.ClientLatencyThroughputTimeseriesPath)\n\t}\n\tif len(m.ClientLatencyDistributionAllPath) > 0 {\n\t\tdAtA[i] = 0x3a\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.ClientLatencyDistributionAllPath)))\n\t\ti += copy(dAtA[i:], m.ClientLatencyDistributionAllPath)\n\t}\n\tif len(m.ClientLatencyDistributionPercentilePath) > 0 {\n\t\tdAtA[i] = 0x42\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.ClientLatencyDistributionPercentilePath)))\n\t\ti += copy(dAtA[i:], m.ClientLatencyDistributionPercentilePath)\n\t}\n\tif len(m.ClientLatencyDistributionSummaryPath) > 0 {\n\t\tdAtA[i] = 0x4a\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.ClientLatencyDistributionSummaryPath)))\n\t\ti += copy(dAtA[i:], m.ClientLatencyDistributionSummaryPath)\n\t}\n\tif len(m.ClientLatencyByKeyNumberPath) > 0 {\n\t\tdAtA[i] = 0x52\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.ClientLatencyByKeyNumberPath)))\n\t\ti += copy(dAtA[i:], m.ClientLatencyByKeyNumberPath)\n\t}\n\tif len(m.ServerDiskSpaceUsageSummaryPath) > 0 {\n\t\tdAtA[i] = 0x5a\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.ServerDiskSpaceUsageSummaryPath)))\n\t\ti += copy(dAtA[i:], m.ServerDiskSpaceUsageSummaryPath)\n\t}\n\tif len(m.ServerMemoryByKeyNumberPath) > 0 {\n\t\tdAtA[i] = 0x62\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.ServerMemoryByKeyNumberPath)))\n\t\ti += copy(dAtA[i:], m.ServerMemoryByKeyNumberPath)\n\t}\n\tif len(m.ServerReadBytesDeltaByKeyNumberPath) > 0 {\n\t\tdAtA[i] = 0x6a\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.ServerReadBytesDeltaByKeyNumberPath)))\n\t\ti += copy(dAtA[i:], m.ServerReadBytesDeltaByKeyNumberPath)\n\t}\n\tif len(m.ServerWriteBytesDeltaByKeyNumberPath) > 0 {\n\t\tdAtA[i] = 0x72\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.ServerWriteBytesDeltaByKeyNumberPath)))\n\t\ti += copy(dAtA[i:], m.ServerWriteBytesDeltaByKeyNumberPath)\n\t}\n\tif len(m.ServerSystemMetricsInterpolatedPathList) > 0 {\n\t\tfor _, s := range m.ServerSystemMetricsInterpolatedPathList {\n\t\t\tdAtA[i] = 0x7a\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\tif len(m.AllAggregatedOutputPath) > 0 {\n\t\tdAtA[i] = 0x82\n\t\ti++\n\t\tdAtA[i] = 0x1\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.AllAggregatedOutputPath)))\n\t\ti += copy(dAtA[i:], m.AllAggregatedOutputPath)\n\t}\n\treturn i, nil\n}\n\nfunc (m *ConfigAnalyzeMachineAllAggregatedOutput) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ConfigAnalyzeMachineAllAggregatedOutput) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.AllAggregatedOutputPathCSV) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.AllAggregatedOutputPathCSV)))\n\t\ti += copy(dAtA[i:], m.AllAggregatedOutputPathCSV)\n\t}\n\tif len(m.AllAggregatedOutputPathTXT) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.AllAggregatedOutputPathTXT)))\n\t\ti += copy(dAtA[i:], m.AllAggregatedOutputPathTXT)\n\t}\n\treturn i, nil\n}\n\nfunc (m *ConfigAnalyzeMachinePlot) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ConfigAnalyzeMachinePlot) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Column) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.Column)))\n\t\ti += copy(dAtA[i:], m.Column)\n\t}\n\tif len(m.XAxis) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.XAxis)))\n\t\ti += copy(dAtA[i:], m.XAxis)\n\t}\n\tif len(m.YAxis) > 0 {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.YAxis)))\n\t\ti += copy(dAtA[i:], m.YAxis)\n\t}\n\tif len(m.OutputPathCSV) > 0 {\n\t\tdAtA[i] = 0x22\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.OutputPathCSV)))\n\t\ti += copy(dAtA[i:], m.OutputPathCSV)\n\t}\n\tif len(m.OutputPathList) > 0 {\n\t\tfor _, s := range m.OutputPathList {\n\t\t\tdAtA[i] = 0x2a\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *ConfigAnalyzeMachineImage) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ConfigAnalyzeMachineImage) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Title) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.Title)))\n\t\ti += copy(dAtA[i:], m.Title)\n\t}\n\tif len(m.Path) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.Path)))\n\t\ti += copy(dAtA[i:], m.Path)\n\t}\n\tif len(m.Type) > 0 {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.Type)))\n\t\ti += copy(dAtA[i:], m.Type)\n\t}\n\treturn i, nil\n}\n\nfunc (m *ConfigAnalyzeMachineREADME) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ConfigAnalyzeMachineREADME) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.OutputPath) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(len(m.OutputPath)))\n\t\ti += copy(dAtA[i:], m.OutputPath)\n\t}\n\tif len(m.Images) > 0 {\n\t\tfor _, msg := range m.Images {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\ti = encodeVarintConfigAnalyzeMachine(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc encodeVarintConfigAnalyzeMachine(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *ConfigAnalyzeMachineInitial) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.DatabaseID)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.DatabaseTag)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.DatabaseDescription)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.PathPrefix)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.ClientSystemMetricsInterpolatedPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.ClientLatencyThroughputTimeseriesPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.ClientLatencyDistributionAllPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.ClientLatencyDistributionPercentilePath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.ClientLatencyDistributionSummaryPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.ClientLatencyByKeyNumberPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.ServerDiskSpaceUsageSummaryPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.ServerMemoryByKeyNumberPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.ServerReadBytesDeltaByKeyNumberPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.ServerWriteBytesDeltaByKeyNumberPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tif len(m.ServerSystemMetricsInterpolatedPathList) > 0 {\n\t\tfor _, s := range m.ServerSystemMetricsInterpolatedPathList {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t\t}\n\t}\n\tl = len(m.AllAggregatedOutputPath)\n\tif l > 0 {\n\t\tn += 2 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *ConfigAnalyzeMachineAllAggregatedOutput) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.AllAggregatedOutputPathCSV)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.AllAggregatedOutputPathTXT)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *ConfigAnalyzeMachinePlot) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Column)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.XAxis)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.YAxis)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.OutputPathCSV)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tif len(m.OutputPathList) > 0 {\n\t\tfor _, s := range m.OutputPathList {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *ConfigAnalyzeMachineImage) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Title)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.Path)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tl = len(m.Type)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *ConfigAnalyzeMachineREADME) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.OutputPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t}\n\tif len(m.Images) > 0 {\n\t\tfor _, e := range m.Images {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovConfigAnalyzeMachine(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc sovConfigAnalyzeMachine(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozConfigAnalyzeMachine(x uint64) (n int) {\n\treturn sovConfigAnalyzeMachine(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *ConfigAnalyzeMachineInitial) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigAnalyzeMachineInitial: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigAnalyzeMachineInitial: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DatabaseID\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.DatabaseID = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DatabaseTag\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.DatabaseTag = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DatabaseDescription\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.DatabaseDescription = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PathPrefix\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.PathPrefix = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 5:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientSystemMetricsInterpolatedPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientSystemMetricsInterpolatedPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 6:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientLatencyThroughputTimeseriesPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientLatencyThroughputTimeseriesPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 7:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientLatencyDistributionAllPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientLatencyDistributionAllPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 8:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientLatencyDistributionPercentilePath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientLatencyDistributionPercentilePath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 9:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientLatencyDistributionSummaryPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientLatencyDistributionSummaryPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 10:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientLatencyByKeyNumberPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientLatencyByKeyNumberPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 11:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ServerDiskSpaceUsageSummaryPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ServerDiskSpaceUsageSummaryPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 12:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ServerMemoryByKeyNumberPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ServerMemoryByKeyNumberPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 13:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ServerReadBytesDeltaByKeyNumberPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ServerReadBytesDeltaByKeyNumberPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 14:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ServerWriteBytesDeltaByKeyNumberPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ServerWriteBytesDeltaByKeyNumberPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 15:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ServerSystemMetricsInterpolatedPathList\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ServerSystemMetricsInterpolatedPathList = append(m.ServerSystemMetricsInterpolatedPathList, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tcase 16:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AllAggregatedOutputPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.AllAggregatedOutputPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipConfigAnalyzeMachine(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *ConfigAnalyzeMachineAllAggregatedOutput) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigAnalyzeMachineAllAggregatedOutput: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigAnalyzeMachineAllAggregatedOutput: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AllAggregatedOutputPathCSV\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.AllAggregatedOutputPathCSV = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AllAggregatedOutputPathTXT\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.AllAggregatedOutputPathTXT = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipConfigAnalyzeMachine(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *ConfigAnalyzeMachinePlot) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigAnalyzeMachinePlot: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigAnalyzeMachinePlot: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Column\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Column = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field XAxis\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.XAxis = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field YAxis\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.YAxis = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field OutputPathCSV\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.OutputPathCSV = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 5:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field OutputPathList\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.OutputPathList = append(m.OutputPathList, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipConfigAnalyzeMachine(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *ConfigAnalyzeMachineImage) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigAnalyzeMachineImage: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigAnalyzeMachineImage: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Title\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Title = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Path\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Path = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Type\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Type = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipConfigAnalyzeMachine(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *ConfigAnalyzeMachineREADME) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigAnalyzeMachineREADME: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigAnalyzeMachineREADME: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field OutputPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.OutputPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Images\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Images = append(m.Images, &ConfigAnalyzeMachineImage{})\n\t\t\tif err := m.Images[len(m.Images)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipConfigAnalyzeMachine(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipConfigAnalyzeMachine(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowConfigAnalyzeMachine\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthConfigAnalyzeMachine\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowConfigAnalyzeMachine\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipConfigAnalyzeMachine(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthConfigAnalyzeMachine = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowConfigAnalyzeMachine   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() {\n\tproto.RegisterFile(\"dbtesterpb/config_analyze_machine.proto\", fileDescriptorConfigAnalyzeMachine)\n}\n\nvar fileDescriptorConfigAnalyzeMachine = []byte{\n\t// 999 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0xcf, 0x6e, 0xdc, 0x44,\n\t0x18, 0xaf, 0x9b, 0x26, 0x90, 0x49, 0xd3, 0x96, 0x01, 0xb5, 0x4b, 0x82, 0xd6, 0xc1, 0x69, 0x48,\n\t0xaa, 0x42, 0x52, 0x12, 0x28, 0x12, 0x27, 0x76, 0xb3, 0x3d, 0x44, 0x34, 0x10, 0x39, 0x0b, 0x84,\n\t0xd3, 0x68, 0xec, 0x9d, 0x78, 0x47, 0xf1, 0x3f, 0x79, 0xc6, 0x65, 0x0d, 0x57, 0x24, 0x24, 0x24,\n\t0x24, 0xb8, 0x71, 0xe2, 0xc8, 0xb3, 0xf4, 0xc8, 0x13, 0x18, 0x08, 0x6f, 0xe0, 0x17, 0xa0, 0x9a,\n\t0x6f, 0x9c, 0xc4, 0xbb, 0xf1, 0xfe, 0xb9, 0xad, 0xe7, 0xfb, 0xfd, 0xfb, 0x3e, 0xcf, 0x8e, 0x07,\n\t0x6d, 0xf6, 0x1c, 0xc9, 0x84, 0x64, 0x49, 0xec, 0xec, 0xb8, 0x51, 0x78, 0xca, 0x3d, 0x42, 0x43,\n\t0xea, 0x67, 0xdf, 0x33, 0x12, 0x50, 0xb7, 0xcf, 0x43, 0xb6, 0x1d, 0x27, 0x91, 0x8c, 0x30, 0xba,\n\t0x02, 0xae, 0x7c, 0xe0, 0x71, 0xd9, 0x4f, 0x9d, 0x6d, 0x37, 0x0a, 0x76, 0xbc, 0xc8, 0x8b, 0x76,\n\t0x00, 0xe2, 0xa4, 0xa7, 0xf0, 0x04, 0x0f, 0xf0, 0x4b, 0x53, 0xad, 0xbf, 0x97, 0xd1, 0xea, 0x3e,\n\t0x68, 0xb7, 0xb4, 0xf4, 0xa1, 0x56, 0x3e, 0x08, 0xb9, 0xe4, 0xd4, 0xc7, 0x4d, 0x84, 0x3a, 0x54,\n\t0x52, 0x87, 0x0a, 0x76, 0xd0, 0x69, 0x18, 0x6b, 0xc6, 0xd6, 0xa2, 0x5d, 0x59, 0xc1, 0x6b, 0x68,\n\t0xe9, 0xe2, 0xa9, 0x4b, 0xbd, 0xc6, 0x4d, 0x00, 0x54, 0x97, 0xf0, 0x13, 0xf4, 0xe6, 0xc5, 0x63,\n\t0x87, 0x09, 0x37, 0xe1, 0xb1, 0xe4, 0x51, 0xd8, 0x98, 0x03, 0x64, 0x5d, 0x09, 0x3f, 0x45, 0xe8,\n\t0x88, 0xca, 0xfe, 0x51, 0xc2, 0x4e, 0xf9, 0xa0, 0x71, 0x4b, 0x01, 0xdb, 0xf7, 0x8b, 0xdc, 0xc4,\n\t0x19, 0x0d, 0xfc, 0x4f, 0xad, 0x98, 0xca, 0x3e, 0x89, 0xa1, 0x68, 0xd9, 0x15, 0x24, 0xfe, 0xd1,\n\t0x40, 0xeb, 0xfb, 0x3e, 0x67, 0xa1, 0x3c, 0xce, 0x84, 0x64, 0xc1, 0x21, 0x93, 0x09, 0x77, 0xc5,\n\t0x41, 0xa8, 0x26, 0x13, 0xf9, 0x54, 0xb2, 0x9e, 0x42, 0x37, 0xe6, 0x41, 0x71, 0xb7, 0xc8, 0xcd,\n\t0x6d, 0xad, 0xe8, 0x02, 0x89, 0x08, 0x60, 0x91, 0x40, 0xd3, 0x08, 0xaf, 0xf0, 0x88, 0x32, 0xb5,\n\t0xec, 0x59, 0xe4, 0xf1, 0xcf, 0x06, 0xda, 0xd0, 0xb8, 0xe7, 0x54, 0xb2, 0xd0, 0xcd, 0xba, 0xfd,\n\t0x24, 0x4a, 0xbd, 0x7e, 0x9c, 0xca, 0x2e, 0x0f, 0x98, 0x60, 0x09, 0x67, 0x02, 0x82, 0x2c, 0x40,\n\t0x90, 0x8f, 0x8a, 0xdc, 0x7c, 0x32, 0x14, 0xc4, 0xd7, 0x3c, 0x22, 0x2f, 0x89, 0x44, 0x5e, 0x32,\n\t0xcb, 0x28, 0xb3, 0x59, 0xe0, 0x1f, 0xd0, 0xda, 0x10, 0xb0, 0xc3, 0x85, 0x4c, 0xb8, 0x93, 0xaa,\n\t0x41, 0xb7, 0x7c, 0x1f, 0x62, 0xbc, 0x06, 0x31, 0x76, 0x8a, 0xdc, 0x7c, 0x5c, 0x1b, 0xa3, 0x57,\n\t0xe1, 0x10, 0xea, 0xfb, 0x65, 0x82, 0xa9, 0xc2, 0xf8, 0x57, 0x03, 0x6d, 0x8e, 0x05, 0x1d, 0xb1,\n\t0xc4, 0x65, 0xa1, 0xe4, 0x3e, 0x83, 0x10, 0xaf, 0x43, 0x88, 0xa7, 0x45, 0x6e, 0xee, 0x4e, 0x0f,\n\t0x11, 0x5f, 0x72, 0xcb, 0x2c, 0xb3, 0xda, 0xe0, 0x9f, 0x0c, 0xf4, 0x70, 0x2c, 0xf6, 0x38, 0x0d,\n\t0x02, 0x9a, 0x64, 0x90, 0x67, 0x11, 0xf2, 0xec, 0x15, 0xb9, 0xb9, 0x33, 0x3d, 0x8f, 0xd0, 0xc4,\n\t0x32, 0xcc, 0x4c, 0x06, 0x38, 0x46, 0xef, 0x0c, 0xe1, 0xda, 0xd9, 0xe7, 0x2c, 0xfb, 0x22, 0x0d,\n\t0x1c, 0x96, 0x40, 0x00, 0x04, 0x01, 0xde, 0x2f, 0x72, 0x73, 0xab, 0x36, 0x80, 0x93, 0x91, 0x33,\n\t0x96, 0x91, 0x10, 0x18, 0xa5, 0xf3, 0x44, 0x45, 0x9c, 0x21, 0xf3, 0x98, 0x25, 0x2f, 0x58, 0xd2,\n\t0xe1, 0xe2, 0xec, 0x38, 0xa6, 0x2e, 0xfb, 0x4a, 0x50, 0x8f, 0x55, 0xbb, 0x5e, 0x1a, 0xdd, 0x0a,\n\t0x02, 0x08, 0xaa, 0xdb, 0x33, 0x22, 0x14, 0x85, 0xa4, 0x8a, 0x33, 0xd2, 0xf1, 0x34, 0x5d, 0x1c,\n\t0xa0, 0x55, 0x0d, 0x39, 0x64, 0x41, 0x94, 0x5c, 0xeb, 0xf5, 0x36, 0xd8, 0x3e, 0x2e, 0x72, 0x73,\n\t0x73, 0xc8, 0x36, 0x00, 0x74, 0x6d, 0xab, 0x93, 0xf4, 0xd4, 0x5b, 0x5e, 0xd7, 0x75, 0x9b, 0xd1,\n\t0x5e, 0x3b, 0x93, 0x4c, 0x74, 0x98, 0x2f, 0xe9, 0xa8, 0xef, 0x32, 0xf8, 0x7e, 0x5c, 0xe4, 0xe6,\n\t0x87, 0x43, 0xbe, 0x09, 0xa3, 0x3d, 0xe2, 0x28, 0x1a, 0xe9, 0x29, 0x5e, 0x6d, 0x82, 0x59, 0x1c,\n\t0xd4, 0x61, 0xf0, 0x50, 0xe3, 0xbe, 0x49, 0xb8, 0x64, 0xe3, 0xa3, 0xdc, 0x19, 0xdd, 0xff, 0x65,\n\t0x94, 0xef, 0x14, 0x6d, 0x6a, 0x96, 0x99, 0x3c, 0xf0, 0x6f, 0x06, 0xda, 0xd4, 0xc0, 0x89, 0x27,\n\t0xd8, 0x73, 0x2e, 0x64, 0xe3, 0xee, 0xda, 0xdc, 0xd6, 0x62, 0xfb, 0x93, 0x22, 0x37, 0xf7, 0x86,\n\t0xf2, 0x4c, 0x3b, 0x24, 0x89, 0xcf, 0x85, 0xb4, 0xec, 0x59, 0x7d, 0x30, 0x41, 0x0f, 0x5a, 0xbe,\n\t0xdf, 0xf2, 0xbc, 0x84, 0x79, 0xaa, 0xf0, 0x65, 0x2a, 0xe3, 0x54, 0xc2, 0x48, 0xee, 0xc1, 0x48,\n\t0x36, 0x8a, 0xdc, 0x7c, 0x57, 0x47, 0x50, 0x67, 0x0f, 0xbd, 0x44, 0x92, 0x08, 0xa0, 0xe5, 0x04,\n\t0xc6, 0xa9, 0x58, 0xff, 0xab, 0x43, 0xa8, 0xe6, 0x0b, 0x57, 0x83, 0xc7, 0x1c, 0xad, 0x8c, 0x91,\n\t0xd9, 0x3f, 0xfe, 0x5a, 0x7f, 0xfd, 0xda, 0x8f, 0x8a, 0xdc, 0xdc, 0x98, 0x96, 0x87, 0xb8, 0xe2,\n\t0x85, 0x65, 0x4f, 0x10, 0x9b, 0x60, 0xd5, 0x3d, 0xe9, 0xea, 0xef, 0xe8, 0x8c, 0x56, 0x72, 0x20,\n\t0xc7, 0x5b, 0x75, 0x4f, 0xba, 0xd6, 0x1f, 0x37, 0x51, 0xa3, 0x6e, 0x02, 0x47, 0x7e, 0x24, 0xf1,\n\t0x23, 0xb4, 0xb0, 0x1f, 0xf9, 0x69, 0x10, 0x96, 0xed, 0xbd, 0x51, 0xe4, 0xe6, 0x72, 0x79, 0xe0,\n\t0xc0, 0xba, 0x65, 0x97, 0x00, 0xbc, 0x89, 0xe6, 0x4f, 0x5a, 0x03, 0x2e, 0xca, 0x74, 0x15, 0xe4,\n\t0x80, 0xd0, 0x01, 0x17, 0x96, 0xad, 0xeb, 0x0a, 0xf8, 0x2d, 0x00, 0xe7, 0x46, 0x81, 0xd9, 0x05,\n\t0x10, 0xea, 0xf8, 0x33, 0xb4, 0x3c, 0x3c, 0x62, 0xfd, 0xb1, 0x5f, 0x29, 0x72, 0xf3, 0xbe, 0x26,\n\t0x5c, 0x9b, 0xe9, 0x30, 0x01, 0xef, 0xa3, 0x3b, 0x57, 0x0b, 0xb0, 0x71, 0xe7, 0x61, 0xe3, 0xae,\n\t0x16, 0xb9, 0xf9, 0xe0, 0xba, 0x84, 0xde, 0x9c, 0x23, 0x14, 0xeb, 0x17, 0x03, 0xbd, 0x5d, 0x7b,\n\t0x09, 0x0a, 0xa8, 0xc7, 0xf0, 0x7b, 0x68, 0xbe, 0xcb, 0xa5, 0xcf, 0xca, 0x01, 0xdd, 0x2b, 0x72,\n\t0xf3, 0xb6, 0x56, 0x96, 0x6a, 0xd9, 0xb2, 0x75, 0x19, 0xaf, 0xa3, 0x5b, 0xb0, 0x6d, 0xf5, 0x74,\n\t0xee, 0x16, 0xb9, 0xb9, 0x74, 0x75, 0x61, 0xb1, 0x6c, 0x28, 0x2a, 0x50, 0x37, 0x8b, 0x59, 0x39,\n\t0x99, 0x0a, 0x48, 0x66, 0x31, 0xb3, 0x6c, 0x28, 0x5a, 0x7f, 0x1a, 0x68, 0xa5, 0x2e, 0x8f, 0xfd,\n\t0xac, 0xd5, 0x39, 0x7c, 0xa6, 0xee, 0x47, 0x95, 0x7f, 0x89, 0x31, 0x7a, 0x3f, 0x1a, 0xfa, 0x5b,\n\t0x54, 0x90, 0xf8, 0x08, 0x2d, 0x40, 0x47, 0xea, 0x05, 0xce, 0x6d, 0x2d, 0xed, 0x6e, 0x6c, 0x5f,\n\t0xdd, 0x1b, 0xb7, 0xc7, 0xf6, 0x5f, 0x7d, 0x7d, 0x1c, 0xe8, 0x96, 0x5d, 0xea, 0xb4, 0xdf, 0x7a,\n\t0xf9, 0x6f, 0xf3, 0xc6, 0xcb, 0xf3, 0xa6, 0xf1, 0xd7, 0x79, 0xd3, 0xf8, 0xe7, 0xbc, 0x69, 0xfc,\n\t0xfe, 0x5f, 0xf3, 0x86, 0xb3, 0x00, 0x57, 0xcb, 0xbd, 0x57, 0x01, 0x00, 0x00, 0xff, 0xff, 0x47,\n\t0x8f, 0xbe, 0x24, 0xc0, 0x0a, 0x00, 0x00,\n}\n"
  },
  {
    "path": "dbtesterpb/config_analyze_machine.proto",
    "content": "syntax = \"proto3\";\npackage dbtesterpb;\n\nimport \"github.com/gogo/protobuf/gogoproto/gogo.proto\";\n\noption (gogoproto.marshaler_all) = true;\noption (gogoproto.sizer_all) = true;\noption (gogoproto.unmarshaler_all) = true;\noption (gogoproto.goproto_getters_all) = false;\n\n// ConfigAnalyzeMachineInitial represents common control options and test data information for analyzer machine.\nmessage ConfigAnalyzeMachineInitial {\n  string DatabaseID = 1;\n  string DatabaseTag = 2;\n  string DatabaseDescription = 3;\n\n  string PathPrefix = 4 [(gogoproto.moretags) = \"yaml:\\\"path_prefix\\\"\"];\n  string ClientSystemMetricsInterpolatedPath = 5 [(gogoproto.moretags) = \"yaml:\\\"client_system_metrics_interpolated_path\\\"\"];\n  string ClientLatencyThroughputTimeseriesPath = 6 [(gogoproto.moretags) = \"yaml:\\\"client_latency_throughput_timeseries_path\\\"\"];\n  string ClientLatencyDistributionAllPath = 7 [(gogoproto.moretags) = \"yaml:\\\"client_latency_distribution_all_path\\\"\"];\n  string ClientLatencyDistributionPercentilePath = 8 [(gogoproto.moretags) = \"yaml:\\\"client_latency_distribution_percentile_path\\\"\"];\n  string ClientLatencyDistributionSummaryPath = 9 [(gogoproto.moretags) = \"yaml:\\\"client_latency_distribution_summary_path\\\"\"];\n  string ClientLatencyByKeyNumberPath = 10 [(gogoproto.moretags) = \"yaml:\\\"client_latency_by_key_number_path\\\"\"];\n  string ServerDiskSpaceUsageSummaryPath = 11 [(gogoproto.moretags) = \"yaml:\\\"server_disk_space_usage_summary_path\\\"\"];\n  string ServerMemoryByKeyNumberPath = 12 [(gogoproto.moretags) = \"yaml:\\\"server_memory_by_key_number_path\\\"\"];\n  string ServerReadBytesDeltaByKeyNumberPath = 13 [(gogoproto.moretags) = \"yaml:\\\"server_read_bytes_delta_by_key_number_path\\\"\"];\n  string ServerWriteBytesDeltaByKeyNumberPath = 14 [(gogoproto.moretags) = \"yaml:\\\"server_write_bytes_delta_by_key_number_path\\\"\"];\n  repeated string ServerSystemMetricsInterpolatedPathList = 15 [(gogoproto.moretags) = \"yaml:\\\"server_system_metrics_interpolated_path_list\\\"\"];\n  string AllAggregatedOutputPath = 16 [(gogoproto.moretags) = \"yaml:\\\"all_aggregated_output_path\\\"\"];\n}\n\nmessage ConfigAnalyzeMachineAllAggregatedOutput {\n  string AllAggregatedOutputPathCSV = 1 [(gogoproto.moretags) = \"yaml:\\\"all_aggregated_output_path_csv\\\"\"];\n  string AllAggregatedOutputPathTXT = 2 [(gogoproto.moretags) = \"yaml:\\\"all_aggregated_output_path_txt\\\"\"];\n}\n\n// ConfigAnalyzeMachinePlot defines plot configuration.\nmessage ConfigAnalyzeMachinePlot {\n  string Column = 1 [(gogoproto.moretags) = \"yaml:\\\"column\\\"\"];\n  string XAxis = 2 [(gogoproto.moretags) = \"yaml:\\\"x_axis\\\"\"];\n  string YAxis = 3 [(gogoproto.moretags) = \"yaml:\\\"y_axis\\\"\"];\n  string OutputPathCSV = 4 [(gogoproto.moretags) = \"yaml:\\\"output_path_csv\\\"\"];\n  repeated string OutputPathList = 5 [(gogoproto.moretags) = \"yaml:\\\"output_path_list\\\"\"];\n}\n\n// ConfigAnalyzeMachineImage defines image configuration.\nmessage ConfigAnalyzeMachineImage {\n  string Title = 1 [(gogoproto.moretags) = \"yaml:\\\"title\\\"\"];\n  string Path = 2 [(gogoproto.moretags) = \"yaml:\\\"path\\\"\"];\n  string Type = 3 [(gogoproto.moretags) = \"yaml:\\\"type\\\"\"];\n}\n\n// ConfigAnalyzeMachineREADME defines read configuration.\nmessage ConfigAnalyzeMachineREADME {\n  string OutputPath = 1 [(gogoproto.moretags) = \"yaml:\\\"output_path\\\"\"];\n  repeated ConfigAnalyzeMachineImage Images = 2 [(gogoproto.moretags) = \"yaml:\\\"images\\\"\"];\n}\n"
  },
  {
    "path": "dbtesterpb/config_client_machine.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: dbtesterpb/config_client_machine.proto\n\npackage dbtesterpb\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"github.com/gogo/protobuf/gogoproto\"\n\nimport io \"io\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// ConfigClientMachineInitial represents common control options on client machine.\ntype ConfigClientMachineInitial struct {\n\tPathPrefix                              string `protobuf:\"bytes,1,opt,name=PathPrefix,proto3\" json:\"PathPrefix,omitempty\" yaml:\"path_prefix\"`\n\tLogPath                                 string `protobuf:\"bytes,2,opt,name=LogPath,proto3\" json:\"LogPath,omitempty\" yaml:\"log_path\"`\n\tClientSystemMetricsPath                 string `protobuf:\"bytes,3,opt,name=ClientSystemMetricsPath,proto3\" json:\"ClientSystemMetricsPath,omitempty\" yaml:\"client_system_metrics_path\"`\n\tClientSystemMetricsInterpolatedPath     string `protobuf:\"bytes,4,opt,name=ClientSystemMetricsInterpolatedPath,proto3\" json:\"ClientSystemMetricsInterpolatedPath,omitempty\" yaml:\"client_system_metrics_interpolated_path\"`\n\tClientLatencyThroughputTimeseriesPath   string `protobuf:\"bytes,5,opt,name=ClientLatencyThroughputTimeseriesPath,proto3\" json:\"ClientLatencyThroughputTimeseriesPath,omitempty\" yaml:\"client_latency_throughput_timeseries_path\"`\n\tClientLatencyDistributionAllPath        string `protobuf:\"bytes,6,opt,name=ClientLatencyDistributionAllPath,proto3\" json:\"ClientLatencyDistributionAllPath,omitempty\" yaml:\"client_latency_distribution_all_path\"`\n\tClientLatencyDistributionPercentilePath string `protobuf:\"bytes,7,opt,name=ClientLatencyDistributionPercentilePath,proto3\" json:\"ClientLatencyDistributionPercentilePath,omitempty\" yaml:\"client_latency_distribution_percentile_path\"`\n\tClientLatencyDistributionSummaryPath    string `protobuf:\"bytes,8,opt,name=ClientLatencyDistributionSummaryPath,proto3\" json:\"ClientLatencyDistributionSummaryPath,omitempty\" yaml:\"client_latency_distribution_summary_path\"`\n\tClientLatencyByKeyNumberPath            string `protobuf:\"bytes,9,opt,name=ClientLatencyByKeyNumberPath,proto3\" json:\"ClientLatencyByKeyNumberPath,omitempty\" yaml:\"client_latency_by_key_number_path\"`\n\tServerDiskSpaceUsageSummaryPath         string `protobuf:\"bytes,10,opt,name=ServerDiskSpaceUsageSummaryPath,proto3\" json:\"ServerDiskSpaceUsageSummaryPath,omitempty\" yaml:\"server_disk_space_usage_summary_path\"`\n\tGoogleCloudProjectName                  string `protobuf:\"bytes,100,opt,name=GoogleCloudProjectName,proto3\" json:\"GoogleCloudProjectName,omitempty\" yaml:\"google_cloud_project_name\"`\n\tGoogleCloudStorageKeyPath               string `protobuf:\"bytes,101,opt,name=GoogleCloudStorageKeyPath,proto3\" json:\"GoogleCloudStorageKeyPath,omitempty\" yaml:\"google_cloud_storage_key_path\"`\n\tGoogleCloudStorageKey                   string `protobuf:\"bytes,102,opt,name=GoogleCloudStorageKey,proto3\" json:\"GoogleCloudStorageKey,omitempty\"`\n\tGoogleCloudStorageBucketName            string `protobuf:\"bytes,103,opt,name=GoogleCloudStorageBucketName,proto3\" json:\"GoogleCloudStorageBucketName,omitempty\" yaml:\"google_cloud_storage_bucket_name\"`\n\tGoogleCloudStorageSubDirectory          string `protobuf:\"bytes,104,opt,name=GoogleCloudStorageSubDirectory,proto3\" json:\"GoogleCloudStorageSubDirectory,omitempty\" yaml:\"google_cloud_storage_sub_directory\"`\n}\n\nfunc (m *ConfigClientMachineInitial) Reset()         { *m = ConfigClientMachineInitial{} }\nfunc (m *ConfigClientMachineInitial) String() string { return proto.CompactTextString(m) }\nfunc (*ConfigClientMachineInitial) ProtoMessage()    {}\nfunc (*ConfigClientMachineInitial) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorConfigClientMachine, []int{0}\n}\n\n// ConfigClientMachineBenchmarkOptions represents benchmark options.\ntype ConfigClientMachineBenchmarkOptions struct {\n\tType                       string  `protobuf:\"bytes,1,opt,name=Type,proto3\" json:\"Type,omitempty\" yaml:\"type\"`\n\tRequestNumber              int64   `protobuf:\"varint,2,opt,name=RequestNumber,proto3\" json:\"RequestNumber,omitempty\" yaml:\"request_number\"`\n\tConnectionNumber           int64   `protobuf:\"varint,3,opt,name=ConnectionNumber,proto3\" json:\"ConnectionNumber,omitempty\" yaml:\"connection_number\"`\n\tClientNumber               int64   `protobuf:\"varint,4,opt,name=ClientNumber,proto3\" json:\"ClientNumber,omitempty\" yaml:\"client_number\"`\n\tConnectionClientNumbers    []int64 `protobuf:\"varint,5,rep,packed,name=ConnectionClientNumbers\" json:\"ConnectionClientNumbers,omitempty\" yaml:\"connection_client_numbers\"`\n\tRateLimitRequestsPerSecond int64   `protobuf:\"varint,6,opt,name=RateLimitRequestsPerSecond,proto3\" json:\"RateLimitRequestsPerSecond,omitempty\" yaml:\"rate_limit_requests_per_second\"`\n\tSameKey                    bool    `protobuf:\"varint,7,opt,name=SameKey,proto3\" json:\"SameKey,omitempty\" yaml:\"same_key\"`\n\tKeySizeBytes               int64   `protobuf:\"varint,8,opt,name=KeySizeBytes,proto3\" json:\"KeySizeBytes,omitempty\" yaml:\"key_size_bytes\"`\n\tValueSizeBytes             int64   `protobuf:\"varint,9,opt,name=ValueSizeBytes,proto3\" json:\"ValueSizeBytes,omitempty\" yaml:\"value_size_bytes\"`\n\tStaleRead                  bool    `protobuf:\"varint,10,opt,name=StaleRead,proto3\" json:\"StaleRead,omitempty\" yaml:\"stale_read\"`\n}\n\nfunc (m *ConfigClientMachineBenchmarkOptions) Reset()         { *m = ConfigClientMachineBenchmarkOptions{} }\nfunc (m *ConfigClientMachineBenchmarkOptions) String() string { return proto.CompactTextString(m) }\nfunc (*ConfigClientMachineBenchmarkOptions) ProtoMessage()    {}\nfunc (*ConfigClientMachineBenchmarkOptions) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorConfigClientMachine, []int{1}\n}\n\n// ConfigClientMachineBenchmarkSteps represents benchmark steps.\ntype ConfigClientMachineBenchmarkSteps struct {\n\tStep1StartDatabase  bool `protobuf:\"varint,1,opt,name=Step1StartDatabase,proto3\" json:\"Step1StartDatabase,omitempty\" yaml:\"step1_start_database\"`\n\tStep2StressDatabase bool `protobuf:\"varint,2,opt,name=Step2StressDatabase,proto3\" json:\"Step2StressDatabase,omitempty\" yaml:\"step2_stress_database\"`\n\tStep3StopDatabase   bool `protobuf:\"varint,3,opt,name=Step3StopDatabase,proto3\" json:\"Step3StopDatabase,omitempty\" yaml:\"step3_stop_database\"`\n\tStep4UploadLogs     bool `protobuf:\"varint,4,opt,name=Step4UploadLogs,proto3\" json:\"Step4UploadLogs,omitempty\" yaml:\"step4_upload_logs\"`\n}\n\nfunc (m *ConfigClientMachineBenchmarkSteps) Reset()         { *m = ConfigClientMachineBenchmarkSteps{} }\nfunc (m *ConfigClientMachineBenchmarkSteps) String() string { return proto.CompactTextString(m) }\nfunc (*ConfigClientMachineBenchmarkSteps) ProtoMessage()    {}\nfunc (*ConfigClientMachineBenchmarkSteps) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorConfigClientMachine, []int{2}\n}\n\n// ConfigClientMachineAgentControl represents control options on client machine.\ntype ConfigClientMachineAgentControl struct {\n\tDatabaseID                          string                               `protobuf:\"bytes,1,opt,name=DatabaseID,proto3\" json:\"DatabaseID,omitempty\" yaml:\"database_id\"`\n\tDatabaseDescription                 string                               `protobuf:\"bytes,2,opt,name=DatabaseDescription,proto3\" json:\"DatabaseDescription,omitempty\" yaml:\"database_description\"`\n\tDatabaseTag                         string                               `protobuf:\"bytes,3,opt,name=DatabaseTag,proto3\" json:\"DatabaseTag,omitempty\" yaml:\"database_tag\"`\n\tPeerIPs                             []string                             `protobuf:\"bytes,4,rep,name=PeerIPs\" json:\"PeerIPs,omitempty\" yaml:\"peer_ips\"`\n\tPeerIPsString                       string                               `protobuf:\"bytes,5,opt,name=PeerIPsString,proto3\" json:\"PeerIPsString,omitempty\" yaml:\"peer_ips_string\"`\n\tAgentPortToConnect                  int64                                `protobuf:\"varint,6,opt,name=AgentPortToConnect,proto3\" json:\"AgentPortToConnect,omitempty\" yaml:\"agent_port_to_connect\"`\n\tAgentEndpoints                      []string                             `protobuf:\"bytes,7,rep,name=AgentEndpoints\" json:\"AgentEndpoints,omitempty\" yaml:\"agent_endpoints\"`\n\tDatabasePortToConnect               int64                                `protobuf:\"varint,8,opt,name=DatabasePortToConnect,proto3\" json:\"DatabasePortToConnect,omitempty\" yaml:\"database_port_to_connect\"`\n\tDatabaseEndpoints                   []string                             `protobuf:\"bytes,9,rep,name=DatabaseEndpoints\" json:\"DatabaseEndpoints,omitempty\" yaml:\"database_endpoints\"`\n\tFlag_Etcd_Other                     *Flag_Etcd_Other                     `protobuf:\"bytes,100,opt,name=flag__etcd__other,json=flagEtcdOther\" json:\"flag__etcd__other,omitempty\" yaml:\"etcd__other\"`\n\tFlag_Etcd_Tip                       *Flag_Etcd_Tip                       `protobuf:\"bytes,101,opt,name=flag__etcd__tip,json=flagEtcdTip\" json:\"flag__etcd__tip,omitempty\" yaml:\"etcd__tip\"`\n\tFlag_Etcd_V3_2                      *Flag_Etcd_V3_2                      `protobuf:\"bytes,102,opt,name=flag__etcd__v3_2,json=flagEtcdV32\" json:\"flag__etcd__v3_2,omitempty\" yaml:\"etcd__v3_2\"`\n\tFlag_Etcd_V3_3                      *Flag_Etcd_V3_3                      `protobuf:\"bytes,103,opt,name=flag__etcd__v3_3,json=flagEtcdV33\" json:\"flag__etcd__v3_3,omitempty\" yaml:\"etcd__v3_3\"`\n\tFlag_Zookeeper_R3_5_3Beta           *Flag_Zookeeper_R3_5_3Beta           `protobuf:\"bytes,200,opt,name=flag__zookeeper__r3_5_3_beta,json=flagZookeeperR353Beta\" json:\"flag__zookeeper__r3_5_3_beta,omitempty\" yaml:\"zookeeper__r3_5_3_beta\"`\n\tFlag_Consul_V1_0_2                  *Flag_Consul_V1_0_2                  `protobuf:\"bytes,300,opt,name=flag__consul__v1_0_2,json=flagConsulV102\" json:\"flag__consul__v1_0_2,omitempty\" yaml:\"consul__v1_0_2\"`\n\tFlag_Cetcd_Beta                     *Flag_Cetcd_Beta                     `protobuf:\"bytes,400,opt,name=flag__cetcd__beta,json=flagCetcdBeta\" json:\"flag__cetcd__beta,omitempty\" yaml:\"cetcd__beta\"`\n\tFlag_Zetcd_Beta                     *Flag_Zetcd_Beta                     `protobuf:\"bytes,500,opt,name=flag__zetcd__beta,json=flagZetcdBeta\" json:\"flag__zetcd__beta,omitempty\" yaml:\"zetcd__beta\"`\n\tConfigClientMachineBenchmarkOptions *ConfigClientMachineBenchmarkOptions `protobuf:\"bytes,1000,opt,name=ConfigClientMachineBenchmarkOptions\" json:\"ConfigClientMachineBenchmarkOptions,omitempty\" yaml:\"benchmark_options\"`\n\tConfigClientMachineBenchmarkSteps   *ConfigClientMachineBenchmarkSteps   `protobuf:\"bytes,1001,opt,name=ConfigClientMachineBenchmarkSteps\" json:\"ConfigClientMachineBenchmarkSteps,omitempty\" yaml:\"benchmark_steps\"`\n}\n\nfunc (m *ConfigClientMachineAgentControl) Reset()         { *m = ConfigClientMachineAgentControl{} }\nfunc (m *ConfigClientMachineAgentControl) String() string { return proto.CompactTextString(m) }\nfunc (*ConfigClientMachineAgentControl) ProtoMessage()    {}\nfunc (*ConfigClientMachineAgentControl) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorConfigClientMachine, []int{3}\n}\n\nfunc init() {\n\tproto.RegisterType((*ConfigClientMachineInitial)(nil), \"dbtesterpb.ConfigClientMachineInitial\")\n\tproto.RegisterType((*ConfigClientMachineBenchmarkOptions)(nil), \"dbtesterpb.ConfigClientMachineBenchmarkOptions\")\n\tproto.RegisterType((*ConfigClientMachineBenchmarkSteps)(nil), \"dbtesterpb.ConfigClientMachineBenchmarkSteps\")\n\tproto.RegisterType((*ConfigClientMachineAgentControl)(nil), \"dbtesterpb.ConfigClientMachineAgentControl\")\n}\nfunc (m *ConfigClientMachineInitial) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ConfigClientMachineInitial) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.PathPrefix) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.PathPrefix)))\n\t\ti += copy(dAtA[i:], m.PathPrefix)\n\t}\n\tif len(m.LogPath) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.LogPath)))\n\t\ti += copy(dAtA[i:], m.LogPath)\n\t}\n\tif len(m.ClientSystemMetricsPath) > 0 {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.ClientSystemMetricsPath)))\n\t\ti += copy(dAtA[i:], m.ClientSystemMetricsPath)\n\t}\n\tif len(m.ClientSystemMetricsInterpolatedPath) > 0 {\n\t\tdAtA[i] = 0x22\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.ClientSystemMetricsInterpolatedPath)))\n\t\ti += copy(dAtA[i:], m.ClientSystemMetricsInterpolatedPath)\n\t}\n\tif len(m.ClientLatencyThroughputTimeseriesPath) > 0 {\n\t\tdAtA[i] = 0x2a\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.ClientLatencyThroughputTimeseriesPath)))\n\t\ti += copy(dAtA[i:], m.ClientLatencyThroughputTimeseriesPath)\n\t}\n\tif len(m.ClientLatencyDistributionAllPath) > 0 {\n\t\tdAtA[i] = 0x32\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.ClientLatencyDistributionAllPath)))\n\t\ti += copy(dAtA[i:], m.ClientLatencyDistributionAllPath)\n\t}\n\tif len(m.ClientLatencyDistributionPercentilePath) > 0 {\n\t\tdAtA[i] = 0x3a\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.ClientLatencyDistributionPercentilePath)))\n\t\ti += copy(dAtA[i:], m.ClientLatencyDistributionPercentilePath)\n\t}\n\tif len(m.ClientLatencyDistributionSummaryPath) > 0 {\n\t\tdAtA[i] = 0x42\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.ClientLatencyDistributionSummaryPath)))\n\t\ti += copy(dAtA[i:], m.ClientLatencyDistributionSummaryPath)\n\t}\n\tif len(m.ClientLatencyByKeyNumberPath) > 0 {\n\t\tdAtA[i] = 0x4a\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.ClientLatencyByKeyNumberPath)))\n\t\ti += copy(dAtA[i:], m.ClientLatencyByKeyNumberPath)\n\t}\n\tif len(m.ServerDiskSpaceUsageSummaryPath) > 0 {\n\t\tdAtA[i] = 0x52\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.ServerDiskSpaceUsageSummaryPath)))\n\t\ti += copy(dAtA[i:], m.ServerDiskSpaceUsageSummaryPath)\n\t}\n\tif len(m.GoogleCloudProjectName) > 0 {\n\t\tdAtA[i] = 0xa2\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.GoogleCloudProjectName)))\n\t\ti += copy(dAtA[i:], m.GoogleCloudProjectName)\n\t}\n\tif len(m.GoogleCloudStorageKeyPath) > 0 {\n\t\tdAtA[i] = 0xaa\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.GoogleCloudStorageKeyPath)))\n\t\ti += copy(dAtA[i:], m.GoogleCloudStorageKeyPath)\n\t}\n\tif len(m.GoogleCloudStorageKey) > 0 {\n\t\tdAtA[i] = 0xb2\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.GoogleCloudStorageKey)))\n\t\ti += copy(dAtA[i:], m.GoogleCloudStorageKey)\n\t}\n\tif len(m.GoogleCloudStorageBucketName) > 0 {\n\t\tdAtA[i] = 0xba\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.GoogleCloudStorageBucketName)))\n\t\ti += copy(dAtA[i:], m.GoogleCloudStorageBucketName)\n\t}\n\tif len(m.GoogleCloudStorageSubDirectory) > 0 {\n\t\tdAtA[i] = 0xc2\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.GoogleCloudStorageSubDirectory)))\n\t\ti += copy(dAtA[i:], m.GoogleCloudStorageSubDirectory)\n\t}\n\treturn i, nil\n}\n\nfunc (m *ConfigClientMachineBenchmarkOptions) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ConfigClientMachineBenchmarkOptions) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Type) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.Type)))\n\t\ti += copy(dAtA[i:], m.Type)\n\t}\n\tif m.RequestNumber != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.RequestNumber))\n\t}\n\tif m.ConnectionNumber != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.ConnectionNumber))\n\t}\n\tif m.ClientNumber != 0 {\n\t\tdAtA[i] = 0x20\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.ClientNumber))\n\t}\n\tif len(m.ConnectionClientNumbers) > 0 {\n\t\tdAtA2 := make([]byte, len(m.ConnectionClientNumbers)*10)\n\t\tvar j1 int\n\t\tfor _, num1 := range m.ConnectionClientNumbers {\n\t\t\tnum := uint64(num1)\n\t\t\tfor num >= 1<<7 {\n\t\t\t\tdAtA2[j1] = uint8(uint64(num)&0x7f | 0x80)\n\t\t\t\tnum >>= 7\n\t\t\t\tj1++\n\t\t\t}\n\t\t\tdAtA2[j1] = uint8(num)\n\t\t\tj1++\n\t\t}\n\t\tdAtA[i] = 0x2a\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(j1))\n\t\ti += copy(dAtA[i:], dAtA2[:j1])\n\t}\n\tif m.RateLimitRequestsPerSecond != 0 {\n\t\tdAtA[i] = 0x30\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.RateLimitRequestsPerSecond))\n\t}\n\tif m.SameKey {\n\t\tdAtA[i] = 0x38\n\t\ti++\n\t\tif m.SameKey {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.KeySizeBytes != 0 {\n\t\tdAtA[i] = 0x40\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.KeySizeBytes))\n\t}\n\tif m.ValueSizeBytes != 0 {\n\t\tdAtA[i] = 0x48\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.ValueSizeBytes))\n\t}\n\tif m.StaleRead {\n\t\tdAtA[i] = 0x50\n\t\ti++\n\t\tif m.StaleRead {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\treturn i, nil\n}\n\nfunc (m *ConfigClientMachineBenchmarkSteps) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ConfigClientMachineBenchmarkSteps) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Step1StartDatabase {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\tif m.Step1StartDatabase {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.Step2StressDatabase {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\tif m.Step2StressDatabase {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.Step3StopDatabase {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\tif m.Step3StopDatabase {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.Step4UploadLogs {\n\t\tdAtA[i] = 0x20\n\t\ti++\n\t\tif m.Step4UploadLogs {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\treturn i, nil\n}\n\nfunc (m *ConfigClientMachineAgentControl) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ConfigClientMachineAgentControl) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.DatabaseID) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.DatabaseID)))\n\t\ti += copy(dAtA[i:], m.DatabaseID)\n\t}\n\tif len(m.DatabaseDescription) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.DatabaseDescription)))\n\t\ti += copy(dAtA[i:], m.DatabaseDescription)\n\t}\n\tif len(m.DatabaseTag) > 0 {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.DatabaseTag)))\n\t\ti += copy(dAtA[i:], m.DatabaseTag)\n\t}\n\tif len(m.PeerIPs) > 0 {\n\t\tfor _, s := range m.PeerIPs {\n\t\t\tdAtA[i] = 0x22\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\tif len(m.PeerIPsString) > 0 {\n\t\tdAtA[i] = 0x2a\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(len(m.PeerIPsString)))\n\t\ti += copy(dAtA[i:], m.PeerIPsString)\n\t}\n\tif m.AgentPortToConnect != 0 {\n\t\tdAtA[i] = 0x30\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.AgentPortToConnect))\n\t}\n\tif len(m.AgentEndpoints) > 0 {\n\t\tfor _, s := range m.AgentEndpoints {\n\t\t\tdAtA[i] = 0x3a\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\tif m.DatabasePortToConnect != 0 {\n\t\tdAtA[i] = 0x40\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.DatabasePortToConnect))\n\t}\n\tif len(m.DatabaseEndpoints) > 0 {\n\t\tfor _, s := range m.DatabaseEndpoints {\n\t\t\tdAtA[i] = 0x4a\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\tif m.Flag_Etcd_Other != nil {\n\t\tdAtA[i] = 0xa2\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.Flag_Etcd_Other.Size()))\n\t\tn3, err := m.Flag_Etcd_Other.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n3\n\t}\n\tif m.Flag_Etcd_Tip != nil {\n\t\tdAtA[i] = 0xaa\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.Flag_Etcd_Tip.Size()))\n\t\tn4, err := m.Flag_Etcd_Tip.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n4\n\t}\n\tif m.Flag_Etcd_V3_2 != nil {\n\t\tdAtA[i] = 0xb2\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.Flag_Etcd_V3_2.Size()))\n\t\tn5, err := m.Flag_Etcd_V3_2.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n5\n\t}\n\tif m.Flag_Etcd_V3_3 != nil {\n\t\tdAtA[i] = 0xba\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.Flag_Etcd_V3_3.Size()))\n\t\tn6, err := m.Flag_Etcd_V3_3.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n6\n\t}\n\tif m.Flag_Zookeeper_R3_5_3Beta != nil {\n\t\tdAtA[i] = 0xc2\n\t\ti++\n\t\tdAtA[i] = 0xc\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.Flag_Zookeeper_R3_5_3Beta.Size()))\n\t\tn7, err := m.Flag_Zookeeper_R3_5_3Beta.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n7\n\t}\n\tif m.Flag_Consul_V1_0_2 != nil {\n\t\tdAtA[i] = 0xe2\n\t\ti++\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.Flag_Consul_V1_0_2.Size()))\n\t\tn8, err := m.Flag_Consul_V1_0_2.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n8\n\t}\n\tif m.Flag_Cetcd_Beta != nil {\n\t\tdAtA[i] = 0x82\n\t\ti++\n\t\tdAtA[i] = 0x19\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.Flag_Cetcd_Beta.Size()))\n\t\tn9, err := m.Flag_Cetcd_Beta.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n9\n\t}\n\tif m.Flag_Zetcd_Beta != nil {\n\t\tdAtA[i] = 0xa2\n\t\ti++\n\t\tdAtA[i] = 0x1f\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.Flag_Zetcd_Beta.Size()))\n\t\tn10, err := m.Flag_Zetcd_Beta.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n10\n\t}\n\tif m.ConfigClientMachineBenchmarkOptions != nil {\n\t\tdAtA[i] = 0xc2\n\t\ti++\n\t\tdAtA[i] = 0x3e\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.ConfigClientMachineBenchmarkOptions.Size()))\n\t\tn11, err := m.ConfigClientMachineBenchmarkOptions.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n11\n\t}\n\tif m.ConfigClientMachineBenchmarkSteps != nil {\n\t\tdAtA[i] = 0xca\n\t\ti++\n\t\tdAtA[i] = 0x3e\n\t\ti++\n\t\ti = encodeVarintConfigClientMachine(dAtA, i, uint64(m.ConfigClientMachineBenchmarkSteps.Size()))\n\t\tn12, err := m.ConfigClientMachineBenchmarkSteps.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n12\n\t}\n\treturn i, nil\n}\n\nfunc encodeVarintConfigClientMachine(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *ConfigClientMachineInitial) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.PathPrefix)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.LogPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.ClientSystemMetricsPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.ClientSystemMetricsInterpolatedPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.ClientLatencyThroughputTimeseriesPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.ClientLatencyDistributionAllPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.ClientLatencyDistributionPercentilePath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.ClientLatencyDistributionSummaryPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.ClientLatencyByKeyNumberPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.ServerDiskSpaceUsageSummaryPath)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.GoogleCloudProjectName)\n\tif l > 0 {\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.GoogleCloudStorageKeyPath)\n\tif l > 0 {\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.GoogleCloudStorageKey)\n\tif l > 0 {\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.GoogleCloudStorageBucketName)\n\tif l > 0 {\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.GoogleCloudStorageSubDirectory)\n\tif l > 0 {\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *ConfigClientMachineBenchmarkOptions) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Type)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tif m.RequestNumber != 0 {\n\t\tn += 1 + sovConfigClientMachine(uint64(m.RequestNumber))\n\t}\n\tif m.ConnectionNumber != 0 {\n\t\tn += 1 + sovConfigClientMachine(uint64(m.ConnectionNumber))\n\t}\n\tif m.ClientNumber != 0 {\n\t\tn += 1 + sovConfigClientMachine(uint64(m.ClientNumber))\n\t}\n\tif len(m.ConnectionClientNumbers) > 0 {\n\t\tl = 0\n\t\tfor _, e := range m.ConnectionClientNumbers {\n\t\t\tl += sovConfigClientMachine(uint64(e))\n\t\t}\n\t\tn += 1 + sovConfigClientMachine(uint64(l)) + l\n\t}\n\tif m.RateLimitRequestsPerSecond != 0 {\n\t\tn += 1 + sovConfigClientMachine(uint64(m.RateLimitRequestsPerSecond))\n\t}\n\tif m.SameKey {\n\t\tn += 2\n\t}\n\tif m.KeySizeBytes != 0 {\n\t\tn += 1 + sovConfigClientMachine(uint64(m.KeySizeBytes))\n\t}\n\tif m.ValueSizeBytes != 0 {\n\t\tn += 1 + sovConfigClientMachine(uint64(m.ValueSizeBytes))\n\t}\n\tif m.StaleRead {\n\t\tn += 2\n\t}\n\treturn n\n}\n\nfunc (m *ConfigClientMachineBenchmarkSteps) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Step1StartDatabase {\n\t\tn += 2\n\t}\n\tif m.Step2StressDatabase {\n\t\tn += 2\n\t}\n\tif m.Step3StopDatabase {\n\t\tn += 2\n\t}\n\tif m.Step4UploadLogs {\n\t\tn += 2\n\t}\n\treturn n\n}\n\nfunc (m *ConfigClientMachineAgentControl) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.DatabaseID)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.DatabaseDescription)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tl = len(m.DatabaseTag)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tif len(m.PeerIPs) > 0 {\n\t\tfor _, s := range m.PeerIPs {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t\t}\n\t}\n\tl = len(m.PeerIPsString)\n\tif l > 0 {\n\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tif m.AgentPortToConnect != 0 {\n\t\tn += 1 + sovConfigClientMachine(uint64(m.AgentPortToConnect))\n\t}\n\tif len(m.AgentEndpoints) > 0 {\n\t\tfor _, s := range m.AgentEndpoints {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t\t}\n\t}\n\tif m.DatabasePortToConnect != 0 {\n\t\tn += 1 + sovConfigClientMachine(uint64(m.DatabasePortToConnect))\n\t}\n\tif len(m.DatabaseEndpoints) > 0 {\n\t\tfor _, s := range m.DatabaseEndpoints {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovConfigClientMachine(uint64(l))\n\t\t}\n\t}\n\tif m.Flag_Etcd_Other != nil {\n\t\tl = m.Flag_Etcd_Other.Size()\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tif m.Flag_Etcd_Tip != nil {\n\t\tl = m.Flag_Etcd_Tip.Size()\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tif m.Flag_Etcd_V3_2 != nil {\n\t\tl = m.Flag_Etcd_V3_2.Size()\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tif m.Flag_Etcd_V3_3 != nil {\n\t\tl = m.Flag_Etcd_V3_3.Size()\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tif m.Flag_Zookeeper_R3_5_3Beta != nil {\n\t\tl = m.Flag_Zookeeper_R3_5_3Beta.Size()\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tif m.Flag_Consul_V1_0_2 != nil {\n\t\tl = m.Flag_Consul_V1_0_2.Size()\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tif m.Flag_Cetcd_Beta != nil {\n\t\tl = m.Flag_Cetcd_Beta.Size()\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tif m.Flag_Zetcd_Beta != nil {\n\t\tl = m.Flag_Zetcd_Beta.Size()\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tif m.ConfigClientMachineBenchmarkOptions != nil {\n\t\tl = m.ConfigClientMachineBenchmarkOptions.Size()\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\tif m.ConfigClientMachineBenchmarkSteps != nil {\n\t\tl = m.ConfigClientMachineBenchmarkSteps.Size()\n\t\tn += 2 + l + sovConfigClientMachine(uint64(l))\n\t}\n\treturn n\n}\n\nfunc sovConfigClientMachine(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozConfigClientMachine(x uint64) (n int) {\n\treturn sovConfigClientMachine(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *ConfigClientMachineInitial) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigClientMachineInitial: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigClientMachineInitial: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PathPrefix\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.PathPrefix = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field LogPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.LogPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientSystemMetricsPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientSystemMetricsPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientSystemMetricsInterpolatedPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientSystemMetricsInterpolatedPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 5:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientLatencyThroughputTimeseriesPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientLatencyThroughputTimeseriesPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 6:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientLatencyDistributionAllPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientLatencyDistributionAllPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 7:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientLatencyDistributionPercentilePath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientLatencyDistributionPercentilePath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 8:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientLatencyDistributionSummaryPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientLatencyDistributionSummaryPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 9:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientLatencyByKeyNumberPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientLatencyByKeyNumberPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 10:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ServerDiskSpaceUsageSummaryPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ServerDiskSpaceUsageSummaryPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 100:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field GoogleCloudProjectName\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.GoogleCloudProjectName = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 101:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field GoogleCloudStorageKeyPath\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.GoogleCloudStorageKeyPath = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 102:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field GoogleCloudStorageKey\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.GoogleCloudStorageKey = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 103:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field GoogleCloudStorageBucketName\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.GoogleCloudStorageBucketName = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 104:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field GoogleCloudStorageSubDirectory\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.GoogleCloudStorageSubDirectory = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipConfigClientMachine(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *ConfigClientMachineBenchmarkOptions) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigClientMachineBenchmarkOptions: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigClientMachineBenchmarkOptions: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Type\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Type = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RequestNumber\", wireType)\n\t\t\t}\n\t\t\tm.RequestNumber = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.RequestNumber |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ConnectionNumber\", wireType)\n\t\t\t}\n\t\t\tm.ConnectionNumber = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ConnectionNumber |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientNumber\", wireType)\n\t\t\t}\n\t\t\tm.ClientNumber = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ClientNumber |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 5:\n\t\t\tif wireType == 0 {\n\t\t\t\tvar v int64\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tv |= (int64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tm.ConnectionClientNumbers = append(m.ConnectionClientNumbers, v)\n\t\t\t} else if wireType == 2 {\n\t\t\t\tvar packedLen int\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tpackedLen |= (int(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif packedLen < 0 {\n\t\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t\t}\n\t\t\t\tpostIndex := iNdEx + packedLen\n\t\t\t\tif postIndex > l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tfor iNdEx < postIndex {\n\t\t\t\t\tvar v int64\n\t\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t\t\t}\n\t\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\t\tiNdEx++\n\t\t\t\t\t\tv |= (int64(b) & 0x7F) << shift\n\t\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tm.ConnectionClientNumbers = append(m.ConnectionClientNumbers, v)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ConnectionClientNumbers\", wireType)\n\t\t\t}\n\t\tcase 6:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RateLimitRequestsPerSecond\", wireType)\n\t\t\t}\n\t\t\tm.RateLimitRequestsPerSecond = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.RateLimitRequestsPerSecond |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 7:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field SameKey\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.SameKey = bool(v != 0)\n\t\tcase 8:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field KeySizeBytes\", wireType)\n\t\t\t}\n\t\t\tm.KeySizeBytes = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.KeySizeBytes |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 9:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ValueSizeBytes\", wireType)\n\t\t\t}\n\t\t\tm.ValueSizeBytes = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ValueSizeBytes |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 10:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field StaleRead\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.StaleRead = bool(v != 0)\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipConfigClientMachine(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *ConfigClientMachineBenchmarkSteps) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigClientMachineBenchmarkSteps: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigClientMachineBenchmarkSteps: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Step1StartDatabase\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Step1StartDatabase = bool(v != 0)\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Step2StressDatabase\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Step2StressDatabase = bool(v != 0)\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Step3StopDatabase\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Step3StopDatabase = bool(v != 0)\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Step4UploadLogs\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Step4UploadLogs = bool(v != 0)\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipConfigClientMachine(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *ConfigClientMachineAgentControl) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigClientMachineAgentControl: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ConfigClientMachineAgentControl: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DatabaseID\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.DatabaseID = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DatabaseDescription\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.DatabaseDescription = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DatabaseTag\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.DatabaseTag = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PeerIPs\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.PeerIPs = append(m.PeerIPs, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tcase 5:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PeerIPsString\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.PeerIPsString = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 6:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AgentPortToConnect\", wireType)\n\t\t\t}\n\t\t\tm.AgentPortToConnect = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.AgentPortToConnect |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 7:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AgentEndpoints\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.AgentEndpoints = append(m.AgentEndpoints, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tcase 8:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DatabasePortToConnect\", wireType)\n\t\t\t}\n\t\t\tm.DatabasePortToConnect = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.DatabasePortToConnect |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 9:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DatabaseEndpoints\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.DatabaseEndpoints = append(m.DatabaseEndpoints, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tcase 100:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Etcd_Other\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Etcd_Other == nil {\n\t\t\t\tm.Flag_Etcd_Other = &Flag_Etcd_Other{}\n\t\t\t}\n\t\t\tif err := m.Flag_Etcd_Other.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 101:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Etcd_Tip\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Etcd_Tip == nil {\n\t\t\t\tm.Flag_Etcd_Tip = &Flag_Etcd_Tip{}\n\t\t\t}\n\t\t\tif err := m.Flag_Etcd_Tip.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 102:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Etcd_V3_2\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Etcd_V3_2 == nil {\n\t\t\t\tm.Flag_Etcd_V3_2 = &Flag_Etcd_V3_2{}\n\t\t\t}\n\t\t\tif err := m.Flag_Etcd_V3_2.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 103:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Etcd_V3_3\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Etcd_V3_3 == nil {\n\t\t\t\tm.Flag_Etcd_V3_3 = &Flag_Etcd_V3_3{}\n\t\t\t}\n\t\t\tif err := m.Flag_Etcd_V3_3.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 200:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Zookeeper_R3_5_3Beta\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Zookeeper_R3_5_3Beta == nil {\n\t\t\t\tm.Flag_Zookeeper_R3_5_3Beta = &Flag_Zookeeper_R3_5_3Beta{}\n\t\t\t}\n\t\t\tif err := m.Flag_Zookeeper_R3_5_3Beta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 300:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Consul_V1_0_2\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Consul_V1_0_2 == nil {\n\t\t\t\tm.Flag_Consul_V1_0_2 = &Flag_Consul_V1_0_2{}\n\t\t\t}\n\t\t\tif err := m.Flag_Consul_V1_0_2.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 400:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Cetcd_Beta\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Cetcd_Beta == nil {\n\t\t\t\tm.Flag_Cetcd_Beta = &Flag_Cetcd_Beta{}\n\t\t\t}\n\t\t\tif err := m.Flag_Cetcd_Beta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 500:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Zetcd_Beta\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Zetcd_Beta == nil {\n\t\t\t\tm.Flag_Zetcd_Beta = &Flag_Zetcd_Beta{}\n\t\t\t}\n\t\t\tif err := m.Flag_Zetcd_Beta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1000:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ConfigClientMachineBenchmarkOptions\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.ConfigClientMachineBenchmarkOptions == nil {\n\t\t\t\tm.ConfigClientMachineBenchmarkOptions = &ConfigClientMachineBenchmarkOptions{}\n\t\t\t}\n\t\t\tif err := m.ConfigClientMachineBenchmarkOptions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1001:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ConfigClientMachineBenchmarkSteps\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.ConfigClientMachineBenchmarkSteps == nil {\n\t\t\t\tm.ConfigClientMachineBenchmarkSteps = &ConfigClientMachineBenchmarkSteps{}\n\t\t\t}\n\t\t\tif err := m.ConfigClientMachineBenchmarkSteps.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipConfigClientMachine(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipConfigClientMachine(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowConfigClientMachine\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowConfigClientMachine\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthConfigClientMachine\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowConfigClientMachine\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipConfigClientMachine(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthConfigClientMachine = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowConfigClientMachine   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() {\n\tproto.RegisterFile(\"dbtesterpb/config_client_machine.proto\", fileDescriptorConfigClientMachine)\n}\n\nvar fileDescriptorConfigClientMachine = []byte{\n\t// 1711 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x58, 0xcd, 0x6e, 0xdb, 0xc8,\n\t0x1d, 0x5f, 0x45, 0xc9, 0xc6, 0x1e, 0xe7, 0x73, 0x12, 0x27, 0x8a, 0xe3, 0x78, 0x1c, 0x26, 0xe9,\n\t0x7a, 0xb1, 0x8d, 0x9d, 0x48, 0xd9, 0x05, 0x5a, 0xb4, 0x68, 0x57, 0xf6, 0xb6, 0x0d, 0xe2, 0xdd,\n\t0xa8, 0x94, 0x37, 0x45, 0x83, 0xa2, 0xd3, 0x11, 0x35, 0xa6, 0xb8, 0xa6, 0x38, 0x2c, 0x67, 0x18,\n\t0x54, 0xee, 0xad, 0x28, 0x50, 0xb4, 0xa7, 0x3d, 0xee, 0xb1, 0x0f, 0xd0, 0xe7, 0x28, 0x72, 0xec,\n\t0x13, 0x10, 0x6d, 0xf6, 0xd2, 0x5e, 0x89, 0x3e, 0xc0, 0x62, 0xfe, 0x24, 0xa5, 0xa1, 0x44, 0xc9,\n\t0xba, 0x89, 0xf3, 0xff, 0x7d, 0xcd, 0x70, 0xbe, 0x28, 0xf4, 0xbd, 0x7e, 0x4f, 0x71, 0xa9, 0x78,\n\t0x14, 0xf6, 0xf6, 0x1c, 0x11, 0x1c, 0x7b, 0x2e, 0x75, 0x7c, 0x8f, 0x07, 0x8a, 0x0e, 0x99, 0x33,\n\t0xf0, 0x02, 0xbe, 0x1b, 0x46, 0x42, 0x09, 0x8c, 0x26, 0xb8, 0x8d, 0xc7, 0xae, 0xa7, 0x06, 0x71,\n\t0x6f, 0xd7, 0x11, 0xc3, 0x3d, 0x57, 0xb8, 0x62, 0x0f, 0x20, 0xbd, 0xf8, 0x18, 0x9e, 0xe0, 0x01,\n\t0x7e, 0x65, 0xd4, 0x8d, 0x0d, 0xc3, 0xe2, 0xd8, 0x67, 0x2e, 0xe5, 0xca, 0xe9, 0xe7, 0x35, 0x32,\n\t0x5d, 0x3b, 0x15, 0xe2, 0x84, 0xf3, 0x90, 0x47, 0x39, 0x60, 0x73, 0x1a, 0xe0, 0x88, 0x40, 0xc6,\n\t0x7e, 0x5e, 0xbd, 0x3b, 0x43, 0x37, 0xb4, 0x67, 0x8a, 0xce, 0xa4, 0x68, 0x7d, 0x7b, 0x09, 0x6d,\n\t0xec, 0x43, 0x7f, 0xf7, 0xa1, 0xbb, 0x9f, 0x67, 0xbd, 0x7d, 0x1e, 0x78, 0xca, 0x63, 0x3e, 0xfe,\n\t0x04, 0xa1, 0x0e, 0x53, 0x83, 0x4e, 0xc4, 0x8f, 0xbd, 0x3f, 0x34, 0x6a, 0xdb, 0xb5, 0x9d, 0xd5,\n\t0xf6, 0xad, 0x34, 0x21, 0x78, 0xc4, 0x86, 0xfe, 0x0f, 0xad, 0x90, 0xa9, 0x01, 0x0d, 0xa1, 0x68,\n\t0xd9, 0x06, 0x12, 0x3f, 0x46, 0x17, 0x0f, 0x85, 0xab, 0x1b, 0x1a, 0xe7, 0x80, 0x74, 0x23, 0x4d,\n\t0xc8, 0xd5, 0x8c, 0xe4, 0x0b, 0x97, 0x6a, 0xa2, 0x65, 0x17, 0x18, 0x4c, 0xd1, 0xed, 0xcc, 0xbe,\n\t0x3b, 0x92, 0x8a, 0x0f, 0x3f, 0xe7, 0x2a, 0xf2, 0x1c, 0x09, 0xf4, 0x3a, 0xd0, 0x1f, 0xa5, 0x09,\n\t0xb9, 0x9f, 0xd1, 0xf3, 0xd7, 0x22, 0x01, 0x49, 0x87, 0x19, 0x34, 0x17, 0x9c, 0xa7, 0x82, 0xff,\n\t0x5c, 0x43, 0x0f, 0x2a, 0x6a, 0xcf, 0x03, 0x3d, 0x2c, 0xc2, 0x67, 0x8a, 0xf7, 0xc1, 0xed, 0x3c,\n\t0xb8, 0x35, 0xd3, 0x84, 0xec, 0x2e, 0x72, 0xf3, 0x0c, 0x5e, 0x6e, 0xbd, 0x8c, 0x3c, 0xfe, 0x5b,\n\t0x0d, 0x3d, 0xca, 0x70, 0x87, 0x4c, 0xf1, 0xc0, 0x19, 0x1d, 0x0d, 0x22, 0x11, 0xbb, 0x83, 0x30,\n\t0x56, 0x47, 0xde, 0x90, 0x4b, 0x1e, 0x79, 0x3c, 0xeb, 0xf6, 0x05, 0x08, 0xf2, 0x2c, 0x4d, 0xc8,\n\t0x93, 0x52, 0x10, 0x3f, 0xe3, 0x51, 0x35, 0x26, 0x52, 0x35, 0x66, 0xe6, 0x51, 0x96, 0xb3, 0xc0,\n\t0x7f, 0x44, 0xdb, 0x25, 0xe0, 0x81, 0x27, 0x55, 0xe4, 0xf5, 0x62, 0xe5, 0x89, 0xe0, 0x53, 0xdf,\n\t0x87, 0x18, 0xef, 0x43, 0x8c, 0xbd, 0x34, 0x21, 0x1f, 0x55, 0xc6, 0xe8, 0x1b, 0x1c, 0xca, 0x7c,\n\t0x3f, 0x4f, 0x70, 0xa6, 0x30, 0xfe, 0xba, 0x86, 0x3e, 0x98, 0x0b, 0xea, 0xf0, 0xc8, 0xe1, 0x81,\n\t0xf2, 0x7c, 0x0e, 0x21, 0x2e, 0x42, 0x88, 0x4f, 0xd2, 0x84, 0x34, 0xcf, 0x0e, 0x11, 0x8e, 0xb9,\n\t0x79, 0x96, 0x65, 0x6d, 0xf0, 0x5f, 0x6a, 0xe8, 0xe1, 0x5c, 0x6c, 0x37, 0x1e, 0x0e, 0x59, 0x34,\n\t0x82, 0x3c, 0x2b, 0x90, 0xa7, 0x95, 0x26, 0x64, 0xef, 0xec, 0x3c, 0x32, 0x23, 0xe6, 0x61, 0x96,\n\t0x32, 0xc0, 0x21, 0xda, 0x2c, 0xe1, 0xda, 0xa3, 0x17, 0x7c, 0xf4, 0x45, 0x3c, 0xec, 0xf1, 0x08,\n\t0x02, 0xac, 0x42, 0x80, 0xef, 0xa7, 0x09, 0xd9, 0xa9, 0x0c, 0xd0, 0x1b, 0xd1, 0x13, 0x3e, 0xa2,\n\t0x01, 0x30, 0x72, 0xe7, 0x85, 0x8a, 0x78, 0x84, 0x48, 0x97, 0x47, 0x6f, 0x78, 0x74, 0xe0, 0xc9,\n\t0x93, 0x6e, 0xc8, 0x1c, 0xfe, 0xa5, 0x64, 0x2e, 0x37, 0x7b, 0x8d, 0xa6, 0xa7, 0x82, 0x04, 0x82,\n\t0xee, 0xed, 0x09, 0x95, 0x9a, 0x42, 0x63, 0xcd, 0x99, 0xea, 0xf1, 0x59, 0xba, 0xf8, 0x37, 0xe8,\n\t0xd6, 0xcf, 0x85, 0x70, 0x7d, 0xbe, 0xef, 0x8b, 0xb8, 0xdf, 0x89, 0xc4, 0x57, 0xdc, 0x51, 0x5f,\n\t0xb0, 0x21, 0x6f, 0xf4, 0xc1, 0xf1, 0x61, 0x9a, 0x90, 0xed, 0xcc, 0xd1, 0x05, 0x1c, 0x75, 0x34,\n\t0x90, 0x86, 0x19, 0x92, 0x06, 0x6c, 0xc8, 0x2d, 0x7b, 0x8e, 0x06, 0x3e, 0x46, 0x77, 0x8c, 0x4a,\n\t0x57, 0x89, 0x88, 0xb9, 0xfc, 0x05, 0xcf, 0xba, 0xc4, 0xc1, 0x60, 0x27, 0x4d, 0xc8, 0xc3, 0x0a,\n\t0x03, 0x99, 0x81, 0x61, 0x28, 0xb3, 0xbe, 0xcc, 0x97, 0xc2, 0xcf, 0xd0, 0x7a, 0x65, 0xb1, 0x71,\n\t0xac, 0x3d, 0xec, 0xea, 0x22, 0x16, 0x68, 0x73, 0xb6, 0xd0, 0x8e, 0x9d, 0x13, 0x9e, 0x8d, 0x80,\n\t0x0b, 0x01, 0x3f, 0x4a, 0x13, 0xf2, 0xc1, 0x82, 0x80, 0x3d, 0x20, 0xe4, 0x03, 0xb1, 0x50, 0x10,\n\t0xc7, 0x68, 0x6b, 0xb6, 0xde, 0x8d, 0x7b, 0x07, 0x5e, 0xc4, 0x1d, 0x25, 0xa2, 0x51, 0x63, 0x00,\n\t0x96, 0x8f, 0xd3, 0x84, 0x7c, 0xb8, 0xc0, 0x52, 0xc6, 0x3d, 0xda, 0x2f, 0x38, 0x96, 0x7d, 0x86,\n\t0xa8, 0xf5, 0xcf, 0x0b, 0xe8, 0x41, 0xc5, 0x29, 0xd3, 0xe6, 0x81, 0x33, 0x18, 0xb2, 0xe8, 0xe4,\n\t0x65, 0xa8, 0x97, 0x80, 0xc4, 0x0f, 0xd0, 0xf9, 0xa3, 0x51, 0xc8, 0xf3, 0x83, 0xe6, 0x6a, 0x9a,\n\t0x90, 0xb5, 0x2c, 0x84, 0x1a, 0x85, 0xdc, 0xb2, 0xa1, 0x88, 0x7f, 0x82, 0x2e, 0xdb, 0xfc, 0xf7,\n\t0x31, 0x97, 0x2a, 0x9b, 0xc0, 0x70, 0xc2, 0xd4, 0xdb, 0x77, 0xd2, 0x84, 0xac, 0x67, 0xe8, 0x28,\n\t0x2b, 0xe7, 0x0b, 0xc0, 0xb2, 0xcb, 0x78, 0xfc, 0x0b, 0x74, 0x6d, 0x5f, 0x04, 0x01, 0x77, 0xb4,\n\t0x69, 0xae, 0x51, 0x07, 0x8d, 0xcd, 0x34, 0x21, 0x8d, 0x7c, 0x49, 0x8d, 0x11, 0x63, 0x99, 0x19,\n\t0x16, 0xfe, 0x11, 0xba, 0x94, 0x75, 0x28, 0x57, 0x39, 0x0f, 0x2a, 0x8d, 0x34, 0x21, 0x37, 0x4b,\n\t0x0b, 0xb3, 0x50, 0x28, 0xa1, 0xf1, 0x6f, 0xd1, 0xed, 0x89, 0xa2, 0x59, 0x91, 0x8d, 0x0b, 0xdb,\n\t0xf5, 0x9d, 0xba, 0x39, 0xf5, 0x8d, 0x38, 0x25, 0x4d, 0xa9, 0x0f, 0xbd, 0x6a, 0x11, 0xec, 0xa1,\n\t0x0d, 0x9b, 0x29, 0x7e, 0xe8, 0x0d, 0x3d, 0x95, 0x8f, 0x80, 0xec, 0xf0, 0xa8, 0xcb, 0x1d, 0x11,\n\t0xf4, 0x61, 0x6b, 0xaf, 0xb7, 0x3f, 0x4c, 0x13, 0xf2, 0x28, 0x1f, 0x35, 0xa6, 0x38, 0xf5, 0x35,\n\t0x98, 0xe6, 0x03, 0x28, 0xf5, 0x6e, 0x4a, 0x25, 0xe0, 0x2d, 0x7b, 0x81, 0x98, 0x3e, 0xef, 0xbb,\n\t0x6c, 0x08, 0x13, 0x5e, 0xef, 0xd6, 0x2b, 0xe6, 0x79, 0x2f, 0xd9, 0x10, 0x16, 0x91, 0x65, 0x17,\n\t0x18, 0xfc, 0x63, 0x74, 0xe9, 0x05, 0x1f, 0x75, 0xbd, 0x53, 0xde, 0x1e, 0x29, 0x2e, 0x61, 0x47,\n\t0x2d, 0xbd, 0x41, 0xbd, 0xe6, 0xa4, 0x77, 0xca, 0x69, 0x4f, 0xd7, 0x2d, 0xbb, 0x04, 0xc7, 0xfb,\n\t0xe8, 0xca, 0x2b, 0xe6, 0xc7, 0x7c, 0x22, 0xb0, 0x0a, 0x02, 0x77, 0xd3, 0x84, 0xdc, 0xce, 0x04,\n\t0xde, 0xe8, 0x7a, 0x49, 0x62, 0x8a, 0x82, 0x5b, 0x68, 0xb5, 0xab, 0x98, 0xcf, 0x6d, 0xce, 0xfa,\n\t0xb0, 0xb9, 0xad, 0xb4, 0xd7, 0xd3, 0x84, 0x5c, 0xcf, 0x43, 0xeb, 0x12, 0x8d, 0x38, 0xeb, 0x5b,\n\t0xf6, 0x04, 0x67, 0x25, 0xe7, 0xd0, 0xfd, 0x45, 0x13, 0xb9, 0xab, 0x78, 0x28, 0xf1, 0x4b, 0x84,\n\t0xf5, 0x8f, 0xa7, 0x5d, 0xc5, 0x22, 0x75, 0xc0, 0x14, 0xeb, 0x31, 0x99, 0x4d, 0xea, 0x95, 0x36,\n\t0x49, 0x13, 0x72, 0xb7, 0xf0, 0xe0, 0xe1, 0x53, 0x2a, 0x35, 0x88, 0xf6, 0x73, 0x94, 0x65, 0x57,\n\t0x50, 0xb1, 0x8d, 0x6e, 0xe8, 0xd6, 0x66, 0x57, 0x45, 0x5c, 0xca, 0xb1, 0xe2, 0x39, 0x50, 0xdc,\n\t0x4e, 0x13, 0xb2, 0x39, 0x51, 0x6c, 0x52, 0x09, 0x28, 0x43, 0xb2, 0x8a, 0x8c, 0x0f, 0xd1, 0x75,\n\t0xdd, 0xdc, 0xea, 0x2a, 0x11, 0x8e, 0x15, 0xeb, 0xa0, 0xb8, 0x95, 0x26, 0x64, 0x63, 0xa2, 0xd8,\n\t0xd2, 0xcb, 0x3e, 0x34, 0xf4, 0x66, 0x89, 0xf8, 0x67, 0xe8, 0xaa, 0x6e, 0x7c, 0xf6, 0x65, 0xe8,\n\t0x0b, 0xd6, 0x3f, 0x14, 0xae, 0x84, 0xc5, 0xb0, 0x62, 0x2e, 0x29, 0xad, 0xf5, 0x8c, 0xc6, 0x80,\n\t0xa0, 0xbe, 0x70, 0xa5, 0x65, 0x4f, 0x93, 0xac, 0x3f, 0x5d, 0x41, 0xa4, 0x62, 0x80, 0x3f, 0x75,\n\t0x79, 0xa0, 0xf6, 0x45, 0xa0, 0x22, 0x01, 0x97, 0xd2, 0xc2, 0xf7, 0xf9, 0xc1, 0xec, 0xa5, 0xb4,\n\t0xc8, 0x49, 0xbd, 0xbe, 0x65, 0x1b, 0x48, 0xfc, 0x4b, 0x74, 0xa3, 0x78, 0x3a, 0xe0, 0xd2, 0x89,\n\t0x3c, 0xd8, 0x75, 0xf2, 0x0b, 0xaa, 0xf1, 0x5e, 0xc6, 0x02, 0xfd, 0x09, 0xca, 0xb2, 0xab, 0xb8,\n\t0xf8, 0x07, 0x68, 0xad, 0x68, 0x3e, 0x62, 0x6e, 0x7e, 0x59, 0xbd, 0x9d, 0x26, 0xe4, 0xc6, 0x94,\n\t0x94, 0x62, 0xae, 0x65, 0x9b, 0x58, 0xbd, 0x64, 0x3a, 0x9c, 0x47, 0xcf, 0x3b, 0x7a, 0xa4, 0xea,\n\t0xe5, 0x2b, 0x72, 0xc8, 0x79, 0x44, 0xbd, 0x50, 0x5a, 0x76, 0x81, 0xc1, 0x3f, 0x45, 0x97, 0xf3,\n\t0x9f, 0x5d, 0x15, 0x79, 0x81, 0x9b, 0xdf, 0x10, 0x37, 0xd2, 0x84, 0xdc, 0x2a, 0x93, 0xf4, 0xfb,\n\t0xf7, 0x02, 0xd7, 0xb2, 0xcb, 0x04, 0xdc, 0x41, 0x18, 0x86, 0xb1, 0x23, 0x22, 0x75, 0x24, 0xf2,\n\t0x4d, 0x23, 0xdf, 0x06, 0x8c, 0x39, 0xc4, 0x34, 0x86, 0x86, 0x22, 0x52, 0x54, 0x09, 0x9a, 0xef,\n\t0x3b, 0x96, 0x5d, 0xc1, 0xc5, 0x6d, 0x74, 0x05, 0x5a, 0x3f, 0x0b, 0xfa, 0xa1, 0xf0, 0x02, 0x25,\n\t0x1b, 0x17, 0xa1, 0x27, 0x46, 0xa8, 0x4c, 0x8d, 0x17, 0x00, 0xcb, 0x9e, 0x62, 0xe0, 0x5f, 0xa3,\n\t0xf5, 0x62, 0x54, 0xca, 0xc1, 0xb2, 0x3d, 0xe1, 0x41, 0x9a, 0x10, 0x32, 0x35, 0x96, 0x33, 0xd9,\n\t0xaa, 0x15, 0xf0, 0x0b, 0x74, 0xbd, 0x28, 0x4c, 0x12, 0xae, 0x42, 0xc2, 0x7b, 0x69, 0x42, 0xee,\n\t0x4c, 0xc9, 0x1a, 0x21, 0x67, 0x79, 0x98, 0xa2, 0xeb, 0xf0, 0xf1, 0x04, 0x5f, 0x6d, 0x94, 0x0a,\n\t0x35, 0xe0, 0x11, 0xdc, 0x50, 0xd6, 0x9a, 0xf7, 0x76, 0x27, 0x5f, 0x58, 0xbb, 0x33, 0x20, 0x73,\n\t0x6a, 0x1a, 0xcd, 0x96, 0x7d, 0x59, 0x43, 0x3f, 0x53, 0x4e, 0xff, 0xa5, 0x7e, 0xc6, 0xbf, 0x42,\n\t0x57, 0x4d, 0xae, 0xf2, 0x42, 0xb8, 0x9f, 0xac, 0x35, 0xef, 0xce, 0x93, 0x57, 0x5e, 0xd8, 0xbe,\n\t0x99, 0x26, 0xe4, 0x9a, 0x29, 0xae, 0xbc, 0xd0, 0xb2, 0xd7, 0x0a, 0xe9, 0x23, 0x2f, 0xc4, 0xaf,\n\t0xd1, 0x35, 0x93, 0xf5, 0xa6, 0x45, 0x9b, 0x70, 0x2b, 0x59, 0x6b, 0x6e, 0xce, 0x53, 0xd6, 0x18,\n\t0x73, 0x37, 0x9c, 0xb4, 0x1a, 0xda, 0xaf, 0x5a, 0xcd, 0x0a, 0xed, 0x16, 0x5c, 0x5a, 0x16, 0x6b,\n\t0xb7, 0x2a, 0xb5, 0x5b, 0x25, 0xed, 0x16, 0xfe, 0x6b, 0x0d, 0x6d, 0x66, 0xc4, 0xf1, 0xc7, 0x30,\n\t0xa5, 0x51, 0x8b, 0x7e, 0x4c, 0x5b, 0xb4, 0xc7, 0x15, 0x6b, 0xbc, 0xad, 0x81, 0xd3, 0xce, 0xac,\n\t0x53, 0x35, 0xa1, 0x7d, 0x3f, 0x4d, 0xc8, 0xbd, 0xcc, 0xb5, 0x1a, 0x61, 0xd9, 0xeb, 0x5a, 0xe0,\n\t0x75, 0x51, 0xb4, 0x5b, 0x1f, 0xb7, 0xda, 0x5c, 0x31, 0xfc, 0x15, 0xba, 0x99, 0x29, 0x67, 0x9f,\n\t0xdd, 0x94, 0xbe, 0x79, 0x4a, 0x9f, 0xd0, 0x66, 0xe3, 0x1f, 0xe7, 0x20, 0xc2, 0xf6, 0x6c, 0x84,\n\t0x32, 0xd0, 0x3c, 0xdb, 0xca, 0x15, 0xcb, 0xbe, 0xa2, 0x09, 0xfb, 0xd0, 0xf8, 0xea, 0xe9, 0x93,\n\t0x26, 0xfe, 0x5d, 0x31, 0xd3, 0x9c, 0x6c, 0x68, 0xa0, 0xaf, 0x5f, 0xd7, 0xe7, 0x4d, 0x35, 0x03,\n\t0x65, 0x4e, 0x35, 0xa3, 0x39, 0x9f, 0x6a, 0xfb, 0xba, 0x05, 0x7a, 0x33, 0x76, 0x38, 0x35, 0x1c,\n\t0xfe, 0x3f, 0xd7, 0xe1, 0xb4, 0xda, 0xe1, 0x74, 0xc6, 0xe1, 0xf5, 0xd8, 0xe1, 0xef, 0xb5, 0xa5,\n\t0x2e, 0x7c, 0x8d, 0xff, 0x5e, 0x04, 0xd3, 0x3d, 0xd3, 0x74, 0x09, 0x9e, 0x79, 0xaa, 0xf4, 0x8a,\n\t0x1a, 0x15, 0x59, 0x51, 0x7f, 0x8b, 0x2f, 0x71, 0xd7, 0xfc, 0xa6, 0xb6, 0xc4, 0x51, 0xde, 0xf8,\n\t0x5f, 0x16, 0xf0, 0xf1, 0xb2, 0x01, 0x81, 0x65, 0x6e, 0x80, 0x93, 0x78, 0xfa, 0xf8, 0x93, 0x96,\n\t0x7d, 0xb6, 0x69, 0xfb, 0xe6, 0xdb, 0xff, 0x6c, 0xbd, 0xf7, 0xf6, 0xdd, 0x56, 0xed, 0x5f, 0xef,\n\t0xb6, 0x6a, 0xff, 0x7e, 0xb7, 0x55, 0xfb, 0xe6, 0xdb, 0xad, 0xf7, 0x7a, 0xef, 0xc3, 0x3f, 0x36,\n\t0xad, 0xef, 0x02, 0x00, 0x00, 0xff, 0xff, 0x25, 0x94, 0x69, 0xa1, 0xab, 0x12, 0x00, 0x00,\n}\n"
  },
  {
    "path": "dbtesterpb/config_client_machine.proto",
    "content": "syntax = \"proto3\";\npackage dbtesterpb;\n\nimport \"github.com/gogo/protobuf/gogoproto/gogo.proto\";\n\nimport \"dbtesterpb/flag_etcd.proto\";\nimport \"dbtesterpb/flag_zookeeper.proto\";\nimport \"dbtesterpb/flag_consul.proto\";\nimport \"dbtesterpb/flag_zetcd.proto\";\nimport \"dbtesterpb/flag_cetcd.proto\";\n\noption (gogoproto.marshaler_all) = true;\noption (gogoproto.sizer_all) = true;\noption (gogoproto.unmarshaler_all) = true;\noption (gogoproto.goproto_getters_all) = false;\n\n// ConfigClientMachineInitial represents common control options on client machine.\nmessage ConfigClientMachineInitial {\n  string PathPrefix = 1 [(gogoproto.moretags) = \"yaml:\\\"path_prefix\\\"\"];\n  string LogPath = 2 [(gogoproto.moretags) = \"yaml:\\\"log_path\\\"\"];\n  string ClientSystemMetricsPath = 3 [(gogoproto.moretags) = \"yaml:\\\"client_system_metrics_path\\\"\"];\n  string ClientSystemMetricsInterpolatedPath = 4 [(gogoproto.moretags) = \"yaml:\\\"client_system_metrics_interpolated_path\\\"\"];\n  string ClientLatencyThroughputTimeseriesPath = 5 [(gogoproto.moretags) = \"yaml:\\\"client_latency_throughput_timeseries_path\\\"\"];\n  string ClientLatencyDistributionAllPath = 6 [(gogoproto.moretags) = \"yaml:\\\"client_latency_distribution_all_path\\\"\"];\n  string ClientLatencyDistributionPercentilePath = 7 [(gogoproto.moretags) = \"yaml:\\\"client_latency_distribution_percentile_path\\\"\"];\n  string ClientLatencyDistributionSummaryPath = 8 [(gogoproto.moretags) = \"yaml:\\\"client_latency_distribution_summary_path\\\"\"];\n  string ClientLatencyByKeyNumberPath = 9 [(gogoproto.moretags) = \"yaml:\\\"client_latency_by_key_number_path\\\"\"];\n  string ServerDiskSpaceUsageSummaryPath = 10 [(gogoproto.moretags) = \"yaml:\\\"server_disk_space_usage_summary_path\\\"\"];\n\n  string GoogleCloudProjectName = 100 [(gogoproto.moretags) = \"yaml:\\\"google_cloud_project_name\\\"\"];\n  string GoogleCloudStorageKeyPath = 101 [(gogoproto.moretags) = \"yaml:\\\"google_cloud_storage_key_path\\\"\"];\n  string GoogleCloudStorageKey = 102;\n  string GoogleCloudStorageBucketName = 103 [(gogoproto.moretags) = \"yaml:\\\"google_cloud_storage_bucket_name\\\"\"];\n  string GoogleCloudStorageSubDirectory = 104 [(gogoproto.moretags) = \"yaml:\\\"google_cloud_storage_sub_directory\\\"\"];\n}\n\n// ConfigClientMachineBenchmarkOptions represents benchmark options.\nmessage ConfigClientMachineBenchmarkOptions {\n  string Type = 1 [(gogoproto.moretags) = \"yaml:\\\"type\\\"\"];\n  int64 RequestNumber = 2 [(gogoproto.moretags) = \"yaml:\\\"request_number\\\"\"];\n  int64 ConnectionNumber = 3 [(gogoproto.moretags) = \"yaml:\\\"connection_number\\\"\"];\n  int64 ClientNumber = 4 [(gogoproto.moretags) = \"yaml:\\\"client_number\\\"\"];\n  repeated int64 ConnectionClientNumbers = 5 [(gogoproto.moretags) = \"yaml:\\\"connection_client_numbers\\\"\"];\n  int64 RateLimitRequestsPerSecond = 6 [(gogoproto.moretags) = \"yaml:\\\"rate_limit_requests_per_second\\\"\"];\n\n  bool SameKey = 7 [(gogoproto.moretags) = \"yaml:\\\"same_key\\\"\"];\n  int64 KeySizeBytes = 8 [(gogoproto.moretags) = \"yaml:\\\"key_size_bytes\\\"\"];\n  int64 ValueSizeBytes = 9 [(gogoproto.moretags) = \"yaml:\\\"value_size_bytes\\\"\"];\n\n  bool StaleRead = 10 [(gogoproto.moretags) = \"yaml:\\\"stale_read\\\"\"];\n}\n\n// ConfigClientMachineBenchmarkSteps represents benchmark steps.\nmessage ConfigClientMachineBenchmarkSteps {\n  bool Step1StartDatabase = 1 [(gogoproto.moretags) = \"yaml:\\\"step1_start_database\\\"\"];\n  bool Step2StressDatabase = 2 [(gogoproto.moretags) = \"yaml:\\\"step2_stress_database\\\"\"];\n  bool Step3StopDatabase = 3 [(gogoproto.moretags) = \"yaml:\\\"step3_stop_database\\\"\"];\n  bool Step4UploadLogs = 4 [(gogoproto.moretags) = \"yaml:\\\"step4_upload_logs\\\"\"];\n}\n\n// ConfigClientMachineAgentControl represents control options on client machine.\nmessage ConfigClientMachineAgentControl {\n  string DatabaseID = 1 [(gogoproto.moretags) = \"yaml:\\\"database_id\\\"\"];\n  string DatabaseDescription = 2 [(gogoproto.moretags) = \"yaml:\\\"database_description\\\"\"];\n  string DatabaseTag = 3 [(gogoproto.moretags) = \"yaml:\\\"database_tag\\\"\"];\n\n  repeated string PeerIPs = 4 [(gogoproto.moretags) = \"yaml:\\\"peer_ips\\\"\"];\n  string PeerIPsString = 5 [(gogoproto.moretags) = \"yaml:\\\"peer_ips_string\\\"\"];\n\n  int64 AgentPortToConnect = 6 [(gogoproto.moretags) = \"yaml:\\\"agent_port_to_connect\\\"\"];\n  repeated string AgentEndpoints = 7 [(gogoproto.moretags) = \"yaml:\\\"agent_endpoints\\\"\"];\n\n  int64 DatabasePortToConnect = 8 [(gogoproto.moretags) = \"yaml:\\\"database_port_to_connect\\\"\"];\n  repeated string DatabaseEndpoints = 9 [(gogoproto.moretags) = \"yaml:\\\"database_endpoints\\\"\"];\n\n  flag__etcd__other flag__etcd__other = 100 [(gogoproto.moretags) = \"yaml:\\\"etcd__other\\\"\"];\n  flag__etcd__tip   flag__etcd__tip   = 101 [(gogoproto.moretags) = \"yaml:\\\"etcd__tip\\\"\"];\n  flag__etcd__v3_2  flag__etcd__v3_2  = 102 [(gogoproto.moretags) = \"yaml:\\\"etcd__v3_2\\\"\"];\n  flag__etcd__v3_3  flag__etcd__v3_3  = 103 [(gogoproto.moretags) = \"yaml:\\\"etcd__v3_3\\\"\"];\n\n  flag__zookeeper__r3_5_3_beta flag__zookeeper__r3_5_3_beta = 200 [(gogoproto.moretags) = \"yaml:\\\"zookeeper__r3_5_3_beta\\\"\"];\n\n  flag__consul__v1_0_2 flag__consul__v1_0_2 = 300 [(gogoproto.moretags) = \"yaml:\\\"consul__v1_0_2\\\"\"];\n\n  flag__cetcd__beta flag__cetcd__beta = 400 [(gogoproto.moretags) = \"yaml:\\\"cetcd__beta\\\"\"];\n  flag__zetcd__beta flag__zetcd__beta = 500 [(gogoproto.moretags) = \"yaml:\\\"zetcd__beta\\\"\"];\n\n  ConfigClientMachineBenchmarkOptions ConfigClientMachineBenchmarkOptions = 1000 [(gogoproto.moretags) = \"yaml:\\\"benchmark_options\\\"\"];\n  ConfigClientMachineBenchmarkSteps ConfigClientMachineBenchmarkSteps = 1001 [(gogoproto.moretags) = \"yaml:\\\"benchmark_steps\\\"\"];\n}\n"
  },
  {
    "path": "dbtesterpb/database_id.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: dbtesterpb/database_id.proto\n\npackage dbtesterpb\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"github.com/gogo/protobuf/gogoproto\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// DatabaseID differentiates between major or minor releases (possibly different APIs)\n// of each database. Make sure to make accordingn changes in 'flag_*' whenever an ID\n// is added/removed.\ntype DatabaseID int32\n\nconst (\n\t// https://github.com/coreos/etcd/releases\n\tDatabaseID_etcd__other DatabaseID = 0\n\tDatabaseID_etcd__tip   DatabaseID = 1\n\tDatabaseID_etcd__v3_2  DatabaseID = 2\n\tDatabaseID_etcd__v3_3  DatabaseID = 3\n\t// https://zookeeper.apache.org/releases.html\n\tDatabaseID_zookeeper__r3_5_3_beta DatabaseID = 100\n\t// https://github.com/hashicorp/consul/releases\n\tDatabaseID_consul__v1_0_2 DatabaseID = 200\n\t// https://github.com/coreos/zetcd/releases\n\tDatabaseID_zetcd__beta DatabaseID = 300\n\t// https://github.com/coreos/cetcd/releases\n\tDatabaseID_cetcd__beta DatabaseID = 400\n)\n\nvar DatabaseID_name = map[int32]string{\n\t0:   \"etcd__other\",\n\t1:   \"etcd__tip\",\n\t2:   \"etcd__v3_2\",\n\t3:   \"etcd__v3_3\",\n\t100: \"zookeeper__r3_5_3_beta\",\n\t200: \"consul__v1_0_2\",\n\t300: \"zetcd__beta\",\n\t400: \"cetcd__beta\",\n}\nvar DatabaseID_value = map[string]int32{\n\t\"etcd__other\":            0,\n\t\"etcd__tip\":              1,\n\t\"etcd__v3_2\":             2,\n\t\"etcd__v3_3\":             3,\n\t\"zookeeper__r3_5_3_beta\": 100,\n\t\"consul__v1_0_2\":         200,\n\t\"zetcd__beta\":            300,\n\t\"cetcd__beta\":            400,\n}\n\nfunc (x DatabaseID) String() string {\n\treturn proto.EnumName(DatabaseID_name, int32(x))\n}\nfunc (DatabaseID) EnumDescriptor() ([]byte, []int) { return fileDescriptorDatabaseId, []int{0} }\n\nfunc init() {\n\tproto.RegisterEnum(\"dbtesterpb.DatabaseID\", DatabaseID_name, DatabaseID_value)\n}\n\nfunc init() { proto.RegisterFile(\"dbtesterpb/database_id.proto\", fileDescriptorDatabaseId) }\n\nvar fileDescriptorDatabaseId = []byte{\n\t// 237 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0x4d, 0x4a, 0xc4, 0x40,\n\t0x10, 0x85, 0xd3, 0x33, 0x20, 0x58, 0x83, 0x63, 0xd3, 0x8a, 0x8b, 0x41, 0xfa, 0x00, 0x82, 0x13,\n\t0x9d, 0xc6, 0x0b, 0xc8, 0x6c, 0x3c, 0x45, 0x91, 0x4e, 0x97, 0x99, 0xe0, 0x4f, 0x85, 0x4e, 0x65,\n\t0x16, 0x73, 0x0a, 0x97, 0x6e, 0xdd, 0x7b, 0x90, 0x2c, 0x3d, 0x82, 0xc6, 0x8b, 0x88, 0x1d, 0x41,\n\t0xdd, 0xd5, 0xf7, 0xd5, 0xab, 0x07, 0x05, 0xa7, 0xc1, 0x0b, 0xb5, 0x42, 0xb1, 0xf1, 0x79, 0x28,\n\t0xa4, 0xf0, 0x45, 0x4b, 0x58, 0x87, 0x65, 0x13, 0x59, 0xd8, 0xc0, 0xef, 0x76, 0x71, 0x5e, 0xd5,\n\t0xb2, 0xe9, 0xfc, 0xb2, 0xe4, 0x87, 0xbc, 0xe2, 0x8a, 0xf3, 0x14, 0xf1, 0xdd, 0x6d, 0xa2, 0x04,\n\t0x69, 0x1a, 0x4f, 0xcf, 0x5e, 0x14, 0xc0, 0xfa, 0xa7, 0xf0, 0x66, 0x6d, 0x0e, 0x61, 0x46, 0x52,\n\t0x06, 0x44, 0x96, 0x0d, 0x45, 0x9d, 0x99, 0x03, 0xd8, 0x1f, 0x85, 0xd4, 0x8d, 0x56, 0x66, 0x0e,\n\t0x30, 0xe2, 0xd6, 0xe1, 0x4a, 0x4f, 0xfe, 0xb1, 0xd3, 0x53, 0xb3, 0x80, 0x93, 0x1d, 0xf3, 0x1d,\n\t0x51, 0x43, 0x11, 0x31, 0x3a, 0xbc, 0x42, 0x87, 0x9e, 0xa4, 0xd0, 0xc1, 0x1c, 0xc1, 0xbc, 0xe4,\n\t0xc7, 0xb6, 0xbb, 0x47, 0xdc, 0x5e, 0xe2, 0x05, 0xae, 0x74, 0xaf, 0x8c, 0x86, 0xd9, 0x6e, 0x6c,\n\t0x48, 0xa9, 0xd7, 0xc9, 0xb7, 0x29, 0xff, 0x98, 0xa7, 0xe9, 0xf5, 0x71, 0xff, 0x61, 0xb3, 0x7e,\n\t0xb0, 0xea, 0x6d, 0xb0, 0xea, 0x7d, 0xb0, 0xea, 0xf9, 0xd3, 0x66, 0x7e, 0x2f, 0x3d, 0xe0, 0xbe,\n\t0x02, 0x00, 0x00, 0xff, 0xff, 0xe8, 0xf3, 0x61, 0x28, 0x1b, 0x01, 0x00, 0x00,\n}\n"
  },
  {
    "path": "dbtesterpb/database_id.proto",
    "content": "syntax = \"proto3\";\npackage dbtesterpb;\n\nimport \"github.com/gogo/protobuf/gogoproto/gogo.proto\";\n\noption (gogoproto.marshaler_all) = true;\noption (gogoproto.sizer_all) = true;\noption (gogoproto.unmarshaler_all) = true;\noption (gogoproto.goproto_getters_all) = false;\n\n// DatabaseID differentiates between major or minor releases (possibly different APIs)\n// of each database. Make sure to make accordingn changes in 'flag_*' whenever an ID\n// is added/removed.\nenum DatabaseID {\n  // https://github.com/coreos/etcd/releases\n  etcd__other = 0;\n  etcd__tip   = 1;\n  etcd__v3_2  = 2;\n  etcd__v3_3  = 3;\n\n  // https://zookeeper.apache.org/releases.html\n  zookeeper__r3_5_3_beta = 100;\n\n  // https://github.com/hashicorp/consul/releases\n  consul__v1_0_2 = 200;\n\n  // https://github.com/coreos/zetcd/releases\n  zetcd__beta = 300;\n\n  // https://github.com/coreos/cetcd/releases\n  cetcd__beta = 400;\n}\n"
  },
  {
    "path": "dbtesterpb/flag_cetcd.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: dbtesterpb/flag_cetcd.proto\n\npackage dbtesterpb\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"github.com/gogo/protobuf/gogoproto\"\n\nimport io \"io\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// Flag_Cetcd_Beta is cetcd-specific flags\n// (https://github.com/coreos/cetcd).\ntype Flag_Cetcd_Beta struct {\n}\n\nfunc (m *Flag_Cetcd_Beta) Reset()                    { *m = Flag_Cetcd_Beta{} }\nfunc (m *Flag_Cetcd_Beta) String() string            { return proto.CompactTextString(m) }\nfunc (*Flag_Cetcd_Beta) ProtoMessage()               {}\nfunc (*Flag_Cetcd_Beta) Descriptor() ([]byte, []int) { return fileDescriptorFlagCetcd, []int{0} }\n\nfunc init() {\n\tproto.RegisterType((*Flag_Cetcd_Beta)(nil), \"dbtesterpb.flag__cetcd__beta\")\n}\nfunc (m *Flag_Cetcd_Beta) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Flag_Cetcd_Beta) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc encodeVarintFlagCetcd(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *Flag_Cetcd_Beta) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc sovFlagCetcd(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozFlagCetcd(x uint64) (n int) {\n\treturn sovFlagCetcd(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *Flag_Cetcd_Beta) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowFlagCetcd\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: flag__cetcd__beta: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: flag__cetcd__beta: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipFlagCetcd(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthFlagCetcd\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipFlagCetcd(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowFlagCetcd\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowFlagCetcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowFlagCetcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthFlagCetcd\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowFlagCetcd\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipFlagCetcd(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthFlagCetcd = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowFlagCetcd   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"dbtesterpb/flag_cetcd.proto\", fileDescriptorFlagCetcd) }\n\nvar fileDescriptorFlagCetcd = []byte{\n\t// 130 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0x49, 0x2a, 0x49,\n\t0x2d, 0x2e, 0x49, 0x2d, 0x2a, 0x48, 0xd2, 0x4f, 0xcb, 0x49, 0x4c, 0x8f, 0x4f, 0x4e, 0x2d, 0x49,\n\t0x4e, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x42, 0x48, 0x4a, 0xe9, 0xa6, 0x67, 0x96,\n\t0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0xe7, 0xeb, 0x83, 0x95, 0x24,\n\t0x95, 0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xaa, 0x24, 0xcc, 0x25, 0x08, 0x36, 0x0e,\n\t0x62, 0x5e, 0x7c, 0x7c, 0x52, 0x6a, 0x49, 0xa2, 0x93, 0xc8, 0x89, 0x87, 0x72, 0x0c, 0x27, 0x1e,\n\t0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8c, 0xc7, 0x72, 0x0c, 0x49,\n\t0x6c, 0x60, 0x1d, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x7e, 0x95, 0x6e, 0x8b, 0x00,\n\t0x00, 0x00,\n}\n"
  },
  {
    "path": "dbtesterpb/flag_cetcd.proto",
    "content": "syntax = \"proto3\";\npackage dbtesterpb;\n\nimport \"github.com/gogo/protobuf/gogoproto/gogo.proto\";\n\noption (gogoproto.marshaler_all) = true;\noption (gogoproto.sizer_all) = true;\noption (gogoproto.unmarshaler_all) = true;\noption (gogoproto.goproto_getters_all) = false;\n\n// Flag_Cetcd_Beta is cetcd-specific flags\n// (https://github.com/coreos/cetcd).\nmessage flag__cetcd__beta {\n}\n"
  },
  {
    "path": "dbtesterpb/flag_consul.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: dbtesterpb/flag_consul.proto\n\npackage dbtesterpb\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"github.com/gogo/protobuf/gogoproto\"\n\nimport io \"io\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// See https://github.com/hashicorp/consul for more.\ntype Flag_Consul_V1_0_2 struct {\n}\n\nfunc (m *Flag_Consul_V1_0_2) Reset()                    { *m = Flag_Consul_V1_0_2{} }\nfunc (m *Flag_Consul_V1_0_2) String() string            { return proto.CompactTextString(m) }\nfunc (*Flag_Consul_V1_0_2) ProtoMessage()               {}\nfunc (*Flag_Consul_V1_0_2) Descriptor() ([]byte, []int) { return fileDescriptorFlagConsul, []int{0} }\n\nfunc init() {\n\tproto.RegisterType((*Flag_Consul_V1_0_2)(nil), \"dbtesterpb.flag__consul__v1_0_2\")\n}\nfunc (m *Flag_Consul_V1_0_2) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Flag_Consul_V1_0_2) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc encodeVarintFlagConsul(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *Flag_Consul_V1_0_2) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc sovFlagConsul(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozFlagConsul(x uint64) (n int) {\n\treturn sovFlagConsul(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *Flag_Consul_V1_0_2) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowFlagConsul\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: flag__consul__v1_0_2: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: flag__consul__v1_0_2: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipFlagConsul(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthFlagConsul\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipFlagConsul(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowFlagConsul\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowFlagConsul\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowFlagConsul\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthFlagConsul\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowFlagConsul\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipFlagConsul(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthFlagConsul = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowFlagConsul   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"dbtesterpb/flag_consul.proto\", fileDescriptorFlagConsul) }\n\nvar fileDescriptorFlagConsul = []byte{\n\t// 133 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0x49, 0x2a, 0x49,\n\t0x2d, 0x2e, 0x49, 0x2d, 0x2a, 0x48, 0xd2, 0x4f, 0xcb, 0x49, 0x4c, 0x8f, 0x4f, 0xce, 0xcf, 0x2b,\n\t0x2e, 0xcd, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x42, 0xc8, 0x4a, 0xe9, 0xa6, 0x67,\n\t0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0xe7, 0xeb, 0x83, 0x95,\n\t0x24, 0x95, 0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xaa, 0x24, 0xc6, 0x25, 0x02, 0x36,\n\t0x0f, 0x6a, 0x60, 0x7c, 0x7c, 0x99, 0x61, 0xbc, 0x41, 0xbc, 0x91, 0x93, 0xc8, 0x89, 0x87, 0x72,\n\t0x0c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8c, 0xc7,\n\t0x72, 0x0c, 0x49, 0x6c, 0x60, 0x4d, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x25, 0xe5, 0xaa,\n\t0xa0, 0x8f, 0x00, 0x00, 0x00,\n}\n"
  },
  {
    "path": "dbtesterpb/flag_consul.proto",
    "content": "syntax = \"proto3\";\npackage dbtesterpb;\n\nimport \"github.com/gogo/protobuf/gogoproto/gogo.proto\";\n\noption (gogoproto.marshaler_all) = true;\noption (gogoproto.sizer_all) = true;\noption (gogoproto.unmarshaler_all) = true;\noption (gogoproto.goproto_getters_all) = false;\n\n// See https://github.com/hashicorp/consul for more.\nmessage flag__consul__v1_0_2 {\n}\n"
  },
  {
    "path": "dbtesterpb/flag_etcd.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: dbtesterpb/flag_etcd.proto\n\npackage dbtesterpb\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"github.com/gogo/protobuf/gogoproto\"\n\nimport io \"io\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// See https://github.com/coreos/etcd/blob/master/etcdmain/help.go for more.\ntype Flag_Etcd_Other struct {\n\tSnapshotCount  int64 `protobuf:\"varint,1,opt,name=SnapshotCount,proto3\" json:\"SnapshotCount,omitempty\" yaml:\"snapshot_count\"`\n\tQuotaSizeBytes int64 `protobuf:\"varint,2,opt,name=QuotaSizeBytes,proto3\" json:\"QuotaSizeBytes,omitempty\" yaml:\"quota_size_bytes\"`\n}\n\nfunc (m *Flag_Etcd_Other) Reset()                    { *m = Flag_Etcd_Other{} }\nfunc (m *Flag_Etcd_Other) String() string            { return proto.CompactTextString(m) }\nfunc (*Flag_Etcd_Other) ProtoMessage()               {}\nfunc (*Flag_Etcd_Other) Descriptor() ([]byte, []int) { return fileDescriptorFlagEtcd, []int{0} }\n\n// See https://github.com/coreos/etcd/blob/master/etcdmain/help.go for more.\ntype Flag_Etcd_Tip struct {\n\tSnapshotCount  int64 `protobuf:\"varint,1,opt,name=SnapshotCount,proto3\" json:\"SnapshotCount,omitempty\" yaml:\"snapshot_count\"`\n\tQuotaSizeBytes int64 `protobuf:\"varint,2,opt,name=QuotaSizeBytes,proto3\" json:\"QuotaSizeBytes,omitempty\" yaml:\"quota_size_bytes\"`\n}\n\nfunc (m *Flag_Etcd_Tip) Reset()                    { *m = Flag_Etcd_Tip{} }\nfunc (m *Flag_Etcd_Tip) String() string            { return proto.CompactTextString(m) }\nfunc (*Flag_Etcd_Tip) ProtoMessage()               {}\nfunc (*Flag_Etcd_Tip) Descriptor() ([]byte, []int) { return fileDescriptorFlagEtcd, []int{1} }\n\n// See https://github.com/coreos/etcd/blob/master/etcdmain/help.go for more.\ntype Flag_Etcd_V3_2 struct {\n\tSnapshotCount  int64 `protobuf:\"varint,1,opt,name=SnapshotCount,proto3\" json:\"SnapshotCount,omitempty\" yaml:\"snapshot_count\"`\n\tQuotaSizeBytes int64 `protobuf:\"varint,2,opt,name=QuotaSizeBytes,proto3\" json:\"QuotaSizeBytes,omitempty\" yaml:\"quota_size_bytes\"`\n}\n\nfunc (m *Flag_Etcd_V3_2) Reset()                    { *m = Flag_Etcd_V3_2{} }\nfunc (m *Flag_Etcd_V3_2) String() string            { return proto.CompactTextString(m) }\nfunc (*Flag_Etcd_V3_2) ProtoMessage()               {}\nfunc (*Flag_Etcd_V3_2) Descriptor() ([]byte, []int) { return fileDescriptorFlagEtcd, []int{2} }\n\n// See https://github.com/coreos/etcd/blob/master/etcdmain/help.go for more.\ntype Flag_Etcd_V3_3 struct {\n\tSnapshotCount  int64 `protobuf:\"varint,1,opt,name=SnapshotCount,proto3\" json:\"SnapshotCount,omitempty\" yaml:\"snapshot_count\"`\n\tQuotaSizeBytes int64 `protobuf:\"varint,2,opt,name=QuotaSizeBytes,proto3\" json:\"QuotaSizeBytes,omitempty\" yaml:\"quota_size_bytes\"`\n}\n\nfunc (m *Flag_Etcd_V3_3) Reset()                    { *m = Flag_Etcd_V3_3{} }\nfunc (m *Flag_Etcd_V3_3) String() string            { return proto.CompactTextString(m) }\nfunc (*Flag_Etcd_V3_3) ProtoMessage()               {}\nfunc (*Flag_Etcd_V3_3) Descriptor() ([]byte, []int) { return fileDescriptorFlagEtcd, []int{3} }\n\nfunc init() {\n\tproto.RegisterType((*Flag_Etcd_Other)(nil), \"dbtesterpb.flag__etcd__other\")\n\tproto.RegisterType((*Flag_Etcd_Tip)(nil), \"dbtesterpb.flag__etcd__tip\")\n\tproto.RegisterType((*Flag_Etcd_V3_2)(nil), \"dbtesterpb.flag__etcd__v3_2\")\n\tproto.RegisterType((*Flag_Etcd_V3_3)(nil), \"dbtesterpb.flag__etcd__v3_3\")\n}\nfunc (m *Flag_Etcd_Other) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Flag_Etcd_Other) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.SnapshotCount != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintFlagEtcd(dAtA, i, uint64(m.SnapshotCount))\n\t}\n\tif m.QuotaSizeBytes != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintFlagEtcd(dAtA, i, uint64(m.QuotaSizeBytes))\n\t}\n\treturn i, nil\n}\n\nfunc (m *Flag_Etcd_Tip) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Flag_Etcd_Tip) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.SnapshotCount != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintFlagEtcd(dAtA, i, uint64(m.SnapshotCount))\n\t}\n\tif m.QuotaSizeBytes != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintFlagEtcd(dAtA, i, uint64(m.QuotaSizeBytes))\n\t}\n\treturn i, nil\n}\n\nfunc (m *Flag_Etcd_V3_2) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Flag_Etcd_V3_2) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.SnapshotCount != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintFlagEtcd(dAtA, i, uint64(m.SnapshotCount))\n\t}\n\tif m.QuotaSizeBytes != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintFlagEtcd(dAtA, i, uint64(m.QuotaSizeBytes))\n\t}\n\treturn i, nil\n}\n\nfunc (m *Flag_Etcd_V3_3) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Flag_Etcd_V3_3) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.SnapshotCount != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintFlagEtcd(dAtA, i, uint64(m.SnapshotCount))\n\t}\n\tif m.QuotaSizeBytes != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintFlagEtcd(dAtA, i, uint64(m.QuotaSizeBytes))\n\t}\n\treturn i, nil\n}\n\nfunc encodeVarintFlagEtcd(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *Flag_Etcd_Other) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.SnapshotCount != 0 {\n\t\tn += 1 + sovFlagEtcd(uint64(m.SnapshotCount))\n\t}\n\tif m.QuotaSizeBytes != 0 {\n\t\tn += 1 + sovFlagEtcd(uint64(m.QuotaSizeBytes))\n\t}\n\treturn n\n}\n\nfunc (m *Flag_Etcd_Tip) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.SnapshotCount != 0 {\n\t\tn += 1 + sovFlagEtcd(uint64(m.SnapshotCount))\n\t}\n\tif m.QuotaSizeBytes != 0 {\n\t\tn += 1 + sovFlagEtcd(uint64(m.QuotaSizeBytes))\n\t}\n\treturn n\n}\n\nfunc (m *Flag_Etcd_V3_2) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.SnapshotCount != 0 {\n\t\tn += 1 + sovFlagEtcd(uint64(m.SnapshotCount))\n\t}\n\tif m.QuotaSizeBytes != 0 {\n\t\tn += 1 + sovFlagEtcd(uint64(m.QuotaSizeBytes))\n\t}\n\treturn n\n}\n\nfunc (m *Flag_Etcd_V3_3) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.SnapshotCount != 0 {\n\t\tn += 1 + sovFlagEtcd(uint64(m.SnapshotCount))\n\t}\n\tif m.QuotaSizeBytes != 0 {\n\t\tn += 1 + sovFlagEtcd(uint64(m.QuotaSizeBytes))\n\t}\n\treturn n\n}\n\nfunc sovFlagEtcd(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozFlagEtcd(x uint64) (n int) {\n\treturn sovFlagEtcd(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *Flag_Etcd_Other) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowFlagEtcd\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: flag__etcd__other: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: flag__etcd__other: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field SnapshotCount\", wireType)\n\t\t\t}\n\t\t\tm.SnapshotCount = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagEtcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.SnapshotCount |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field QuotaSizeBytes\", wireType)\n\t\t\t}\n\t\t\tm.QuotaSizeBytes = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagEtcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.QuotaSizeBytes |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipFlagEtcd(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthFlagEtcd\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *Flag_Etcd_Tip) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowFlagEtcd\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: flag__etcd__tip: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: flag__etcd__tip: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field SnapshotCount\", wireType)\n\t\t\t}\n\t\t\tm.SnapshotCount = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagEtcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.SnapshotCount |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field QuotaSizeBytes\", wireType)\n\t\t\t}\n\t\t\tm.QuotaSizeBytes = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagEtcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.QuotaSizeBytes |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipFlagEtcd(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthFlagEtcd\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *Flag_Etcd_V3_2) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowFlagEtcd\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: flag__etcd__v3_2: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: flag__etcd__v3_2: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field SnapshotCount\", wireType)\n\t\t\t}\n\t\t\tm.SnapshotCount = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagEtcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.SnapshotCount |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field QuotaSizeBytes\", wireType)\n\t\t\t}\n\t\t\tm.QuotaSizeBytes = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagEtcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.QuotaSizeBytes |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipFlagEtcd(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthFlagEtcd\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *Flag_Etcd_V3_3) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowFlagEtcd\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: flag__etcd__v3_3: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: flag__etcd__v3_3: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field SnapshotCount\", wireType)\n\t\t\t}\n\t\t\tm.SnapshotCount = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagEtcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.SnapshotCount |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field QuotaSizeBytes\", wireType)\n\t\t\t}\n\t\t\tm.QuotaSizeBytes = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagEtcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.QuotaSizeBytes |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipFlagEtcd(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthFlagEtcd\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipFlagEtcd(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowFlagEtcd\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowFlagEtcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowFlagEtcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthFlagEtcd\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowFlagEtcd\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipFlagEtcd(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthFlagEtcd = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowFlagEtcd   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"dbtesterpb/flag_etcd.proto\", fileDescriptorFlagEtcd) }\n\nvar fileDescriptorFlagEtcd = []byte{\n\t// 254 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4a, 0x49, 0x2a, 0x49,\n\t0x2d, 0x2e, 0x49, 0x2d, 0x2a, 0x48, 0xd2, 0x4f, 0xcb, 0x49, 0x4c, 0x8f, 0x4f, 0x2d, 0x49, 0x4e,\n\t0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x42, 0xc8, 0x49, 0xe9, 0xa6, 0x67, 0x96, 0x64,\n\t0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0xe7, 0xeb, 0x83, 0x95, 0x24, 0x95,\n\t0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xaa, 0x34, 0x93, 0x91, 0x4b, 0x10, 0x6c, 0x1c,\n\t0xd8, 0xbc, 0xf8, 0xf8, 0xfc, 0x92, 0x8c, 0xd4, 0x22, 0x21, 0x7b, 0x2e, 0xde, 0xe0, 0xbc, 0xc4,\n\t0x82, 0xe2, 0x8c, 0xfc, 0x12, 0xe7, 0xfc, 0xd2, 0xbc, 0x12, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x66,\n\t0x27, 0xc9, 0x4f, 0xf7, 0xe4, 0x45, 0x2b, 0x13, 0x73, 0x73, 0xac, 0x94, 0x8a, 0xa1, 0xd2, 0xf1,\n\t0xc9, 0x20, 0x79, 0xa5, 0x20, 0x54, 0xf5, 0x42, 0xce, 0x5c, 0x7c, 0x81, 0xa5, 0xf9, 0x25, 0x89,\n\t0xc1, 0x99, 0x55, 0xa9, 0x4e, 0x95, 0x25, 0xa9, 0xc5, 0x12, 0x4c, 0x60, 0x13, 0xa4, 0x3f, 0xdd,\n\t0x93, 0x17, 0x87, 0x98, 0x50, 0x08, 0x92, 0x8f, 0x2f, 0xce, 0xac, 0x4a, 0x8d, 0x4f, 0x02, 0xa9,\n\t0x50, 0x0a, 0x42, 0xd3, 0xa2, 0x34, 0x9d, 0x91, 0x8b, 0x1f, 0xd9, 0x6d, 0x25, 0x99, 0x05, 0x83,\n\t0xc4, 0x65, 0x33, 0x18, 0xb9, 0x04, 0x90, 0x5d, 0x56, 0x66, 0x1c, 0x6f, 0x34, 0x78, 0x9d, 0x66,\n\t0x3c, 0x38, 0x9c, 0xe6, 0x24, 0x72, 0xe2, 0xa1, 0x1c, 0xc3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e,\n\t0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe3, 0xb1, 0x1c, 0x43, 0x12, 0x1b, 0x38, 0x21, 0x1a,\n\t0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa0, 0x3f, 0x04, 0x0f, 0xe1, 0x02, 0x00, 0x00,\n}\n"
  },
  {
    "path": "dbtesterpb/flag_etcd.proto",
    "content": "syntax = \"proto3\";\npackage dbtesterpb;\n\nimport \"github.com/gogo/protobuf/gogoproto/gogo.proto\";\n\noption (gogoproto.marshaler_all) = true;\noption (gogoproto.sizer_all) = true;\noption (gogoproto.unmarshaler_all) = true;\noption (gogoproto.goproto_getters_all) = false;\n\n// See https://github.com/coreos/etcd/blob/master/etcdmain/help.go for more.\nmessage flag__etcd__other {\n  int64 SnapshotCount = 1 [(gogoproto.moretags) = \"yaml:\\\"snapshot_count\\\"\"];\n  int64 QuotaSizeBytes = 2 [(gogoproto.moretags) = \"yaml:\\\"quota_size_bytes\\\"\"];\n}\n\n// See https://github.com/coreos/etcd/blob/master/etcdmain/help.go for more.\nmessage flag__etcd__tip {\n  int64 SnapshotCount = 1 [(gogoproto.moretags) = \"yaml:\\\"snapshot_count\\\"\"];\n  int64 QuotaSizeBytes = 2 [(gogoproto.moretags) = \"yaml:\\\"quota_size_bytes\\\"\"];\n}\n\n// See https://github.com/coreos/etcd/blob/master/etcdmain/help.go for more.\nmessage flag__etcd__v3_2 {\n  int64 SnapshotCount = 1 [(gogoproto.moretags) = \"yaml:\\\"snapshot_count\\\"\"];\n  int64 QuotaSizeBytes = 2 [(gogoproto.moretags) = \"yaml:\\\"quota_size_bytes\\\"\"];\n}\n\n// See https://github.com/coreos/etcd/blob/master/etcdmain/help.go for more.\nmessage flag__etcd__v3_3 {\n  int64 SnapshotCount = 1 [(gogoproto.moretags) = \"yaml:\\\"snapshot_count\\\"\"];\n  int64 QuotaSizeBytes = 2 [(gogoproto.moretags) = \"yaml:\\\"quota_size_bytes\\\"\"];\n}\n"
  },
  {
    "path": "dbtesterpb/flag_zetcd.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: dbtesterpb/flag_zetcd.proto\n\npackage dbtesterpb\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"github.com/gogo/protobuf/gogoproto\"\n\nimport io \"io\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// Flag_Zetcd_Beta is zetcd-specific flags\n// (https://github.com/coreos/zetcd).\ntype Flag_Zetcd_Beta struct {\n}\n\nfunc (m *Flag_Zetcd_Beta) Reset()                    { *m = Flag_Zetcd_Beta{} }\nfunc (m *Flag_Zetcd_Beta) String() string            { return proto.CompactTextString(m) }\nfunc (*Flag_Zetcd_Beta) ProtoMessage()               {}\nfunc (*Flag_Zetcd_Beta) Descriptor() ([]byte, []int) { return fileDescriptorFlagZetcd, []int{0} }\n\nfunc init() {\n\tproto.RegisterType((*Flag_Zetcd_Beta)(nil), \"dbtesterpb.flag__zetcd__beta\")\n}\nfunc (m *Flag_Zetcd_Beta) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Flag_Zetcd_Beta) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc encodeVarintFlagZetcd(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *Flag_Zetcd_Beta) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc sovFlagZetcd(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozFlagZetcd(x uint64) (n int) {\n\treturn sovFlagZetcd(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *Flag_Zetcd_Beta) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowFlagZetcd\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: flag__zetcd__beta: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: flag__zetcd__beta: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipFlagZetcd(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthFlagZetcd\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipFlagZetcd(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowFlagZetcd\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowFlagZetcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowFlagZetcd\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthFlagZetcd\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowFlagZetcd\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipFlagZetcd(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthFlagZetcd = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowFlagZetcd   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"dbtesterpb/flag_zetcd.proto\", fileDescriptorFlagZetcd) }\n\nvar fileDescriptorFlagZetcd = []byte{\n\t// 130 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0x49, 0x2a, 0x49,\n\t0x2d, 0x2e, 0x49, 0x2d, 0x2a, 0x48, 0xd2, 0x4f, 0xcb, 0x49, 0x4c, 0x8f, 0xaf, 0x4a, 0x2d, 0x49,\n\t0x4e, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x42, 0x48, 0x4a, 0xe9, 0xa6, 0x67, 0x96,\n\t0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0xe7, 0xeb, 0x83, 0x95, 0x24,\n\t0x95, 0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xaa, 0x24, 0xcc, 0x25, 0x08, 0x36, 0x0e,\n\t0x62, 0x5e, 0x7c, 0x7c, 0x52, 0x6a, 0x49, 0xa2, 0x93, 0xc8, 0x89, 0x87, 0x72, 0x0c, 0x27, 0x1e,\n\t0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8c, 0xc7, 0x72, 0x0c, 0x49,\n\t0x6c, 0x60, 0x1d, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7e, 0xb7, 0x0d, 0x03, 0x8b, 0x00,\n\t0x00, 0x00,\n}\n"
  },
  {
    "path": "dbtesterpb/flag_zetcd.proto",
    "content": "syntax = \"proto3\";\npackage dbtesterpb;\n\nimport \"github.com/gogo/protobuf/gogoproto/gogo.proto\";\n\noption (gogoproto.marshaler_all) = true;\noption (gogoproto.sizer_all) = true;\noption (gogoproto.unmarshaler_all) = true;\noption (gogoproto.goproto_getters_all) = false;\n\n// Flag_Zetcd_Beta is zetcd-specific flags\n// (https://github.com/coreos/zetcd).\nmessage flag__zetcd__beta {\n}\n"
  },
  {
    "path": "dbtesterpb/flag_zookeeper.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: dbtesterpb/flag_zookeeper.proto\n\npackage dbtesterpb\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"github.com/gogo/protobuf/gogoproto\"\n\nimport io \"io\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\ntype Flag_Zookeeper_R3_5_3Beta struct {\n\t// JavaDJuteMaxBuffer is for '-Djute.maxbuffer' flag.\n\t// It is the maximum size, in bytes, of a request or response.\n\t// See http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#Unsafe+Options for more.\n\tJavaDJuteMaxBuffer uint64 `protobuf:\"varint,1,opt,name=JavaDJuteMaxBuffer,proto3\" json:\"JavaDJuteMaxBuffer,omitempty\" yaml:\"java_d_jute_max_buffer\"`\n\t// JavaXms is for '-Xms' flag (minimum Java heap size).\n\t// See https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html for more.\n\tJavaXms string `protobuf:\"bytes,2,opt,name=JavaXms,proto3\" json:\"JavaXms,omitempty\" yaml:\"java_xms\"`\n\t// JavaXmx is for '-Xmx' flag (maximum Java heap size).\n\t// See https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html for more.\n\tJavaXmx string `protobuf:\"bytes,3,opt,name=JavaXmx,proto3\" json:\"JavaXmx,omitempty\" yaml:\"java_xmx\"`\n\t// MyID contains a single integer in human readable ASCII text that represents the server id.\n\t// Each ZooKeeper server has a unique id. This id is used in two places: the myid file and the\n\t// configuration file. The myid file identifies the server that corresponds to the given data directory.\n\t// See http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_dataFileManagement for more.\n\tMyID uint32 `protobuf:\"varint,100,opt,name=MyID,proto3\" json:\"MyID,omitempty\"`\n\t// ClientPort is by default '2181'.\n\t// No need to set manually. Inherited from 'database_port_to_connect'.\n\tClientPort int64 `protobuf:\"varint,101,opt,name=ClientPort,proto3\" json:\"ClientPort,omitempty\"`\n\t// See http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html for more.\n\tTickTime             int64 `protobuf:\"varint,102,opt,name=TickTime,proto3\" json:\"TickTime,omitempty\" yaml:\"tick_time\"`\n\tInitLimit            int64 `protobuf:\"varint,103,opt,name=InitLimit,proto3\" json:\"InitLimit,omitempty\" yaml:\"init_limit\"`\n\tSyncLimit            int64 `protobuf:\"varint,104,opt,name=SyncLimit,proto3\" json:\"SyncLimit,omitempty\" yaml:\"sync_limit\"`\n\tSnapCount            int64 `protobuf:\"varint,105,opt,name=SnapCount,proto3\" json:\"SnapCount,omitempty\" yaml:\"snap_count\"`\n\tMaxClientConnections int64 `protobuf:\"varint,106,opt,name=MaxClientConnections,proto3\" json:\"MaxClientConnections,omitempty\" yaml:\"max_client_connections\"`\n}\n\nfunc (m *Flag_Zookeeper_R3_5_3Beta) Reset()         { *m = Flag_Zookeeper_R3_5_3Beta{} }\nfunc (m *Flag_Zookeeper_R3_5_3Beta) String() string { return proto.CompactTextString(m) }\nfunc (*Flag_Zookeeper_R3_5_3Beta) ProtoMessage()    {}\nfunc (*Flag_Zookeeper_R3_5_3Beta) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorFlagZookeeper, []int{0}\n}\n\nfunc init() {\n\tproto.RegisterType((*Flag_Zookeeper_R3_5_3Beta)(nil), \"dbtesterpb.flag__zookeeper__r3_5_3_beta\")\n}\nfunc (m *Flag_Zookeeper_R3_5_3Beta) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Flag_Zookeeper_R3_5_3Beta) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.JavaDJuteMaxBuffer != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintFlagZookeeper(dAtA, i, uint64(m.JavaDJuteMaxBuffer))\n\t}\n\tif len(m.JavaXms) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintFlagZookeeper(dAtA, i, uint64(len(m.JavaXms)))\n\t\ti += copy(dAtA[i:], m.JavaXms)\n\t}\n\tif len(m.JavaXmx) > 0 {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintFlagZookeeper(dAtA, i, uint64(len(m.JavaXmx)))\n\t\ti += copy(dAtA[i:], m.JavaXmx)\n\t}\n\tif m.MyID != 0 {\n\t\tdAtA[i] = 0xa0\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintFlagZookeeper(dAtA, i, uint64(m.MyID))\n\t}\n\tif m.ClientPort != 0 {\n\t\tdAtA[i] = 0xa8\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintFlagZookeeper(dAtA, i, uint64(m.ClientPort))\n\t}\n\tif m.TickTime != 0 {\n\t\tdAtA[i] = 0xb0\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintFlagZookeeper(dAtA, i, uint64(m.TickTime))\n\t}\n\tif m.InitLimit != 0 {\n\t\tdAtA[i] = 0xb8\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintFlagZookeeper(dAtA, i, uint64(m.InitLimit))\n\t}\n\tif m.SyncLimit != 0 {\n\t\tdAtA[i] = 0xc0\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintFlagZookeeper(dAtA, i, uint64(m.SyncLimit))\n\t}\n\tif m.SnapCount != 0 {\n\t\tdAtA[i] = 0xc8\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintFlagZookeeper(dAtA, i, uint64(m.SnapCount))\n\t}\n\tif m.MaxClientConnections != 0 {\n\t\tdAtA[i] = 0xd0\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintFlagZookeeper(dAtA, i, uint64(m.MaxClientConnections))\n\t}\n\treturn i, nil\n}\n\nfunc encodeVarintFlagZookeeper(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *Flag_Zookeeper_R3_5_3Beta) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.JavaDJuteMaxBuffer != 0 {\n\t\tn += 1 + sovFlagZookeeper(uint64(m.JavaDJuteMaxBuffer))\n\t}\n\tl = len(m.JavaXms)\n\tif l > 0 {\n\t\tn += 1 + l + sovFlagZookeeper(uint64(l))\n\t}\n\tl = len(m.JavaXmx)\n\tif l > 0 {\n\t\tn += 1 + l + sovFlagZookeeper(uint64(l))\n\t}\n\tif m.MyID != 0 {\n\t\tn += 2 + sovFlagZookeeper(uint64(m.MyID))\n\t}\n\tif m.ClientPort != 0 {\n\t\tn += 2 + sovFlagZookeeper(uint64(m.ClientPort))\n\t}\n\tif m.TickTime != 0 {\n\t\tn += 2 + sovFlagZookeeper(uint64(m.TickTime))\n\t}\n\tif m.InitLimit != 0 {\n\t\tn += 2 + sovFlagZookeeper(uint64(m.InitLimit))\n\t}\n\tif m.SyncLimit != 0 {\n\t\tn += 2 + sovFlagZookeeper(uint64(m.SyncLimit))\n\t}\n\tif m.SnapCount != 0 {\n\t\tn += 2 + sovFlagZookeeper(uint64(m.SnapCount))\n\t}\n\tif m.MaxClientConnections != 0 {\n\t\tn += 2 + sovFlagZookeeper(uint64(m.MaxClientConnections))\n\t}\n\treturn n\n}\n\nfunc sovFlagZookeeper(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozFlagZookeeper(x uint64) (n int) {\n\treturn sovFlagZookeeper(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *Flag_Zookeeper_R3_5_3Beta) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowFlagZookeeper\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: flag__zookeeper__r3_5_3_beta: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: flag__zookeeper__r3_5_3_beta: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field JavaDJuteMaxBuffer\", wireType)\n\t\t\t}\n\t\t\tm.JavaDJuteMaxBuffer = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagZookeeper\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.JavaDJuteMaxBuffer |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field JavaXms\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagZookeeper\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthFlagZookeeper\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.JavaXms = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field JavaXmx\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagZookeeper\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthFlagZookeeper\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.JavaXmx = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 100:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field MyID\", wireType)\n\t\t\t}\n\t\t\tm.MyID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagZookeeper\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.MyID |= (uint32(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 101:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientPort\", wireType)\n\t\t\t}\n\t\t\tm.ClientPort = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagZookeeper\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ClientPort |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 102:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field TickTime\", wireType)\n\t\t\t}\n\t\t\tm.TickTime = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagZookeeper\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.TickTime |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 103:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field InitLimit\", wireType)\n\t\t\t}\n\t\t\tm.InitLimit = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagZookeeper\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.InitLimit |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 104:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field SyncLimit\", wireType)\n\t\t\t}\n\t\t\tm.SyncLimit = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagZookeeper\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.SyncLimit |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 105:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field SnapCount\", wireType)\n\t\t\t}\n\t\t\tm.SnapCount = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagZookeeper\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.SnapCount |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 106:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field MaxClientConnections\", wireType)\n\t\t\t}\n\t\t\tm.MaxClientConnections = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowFlagZookeeper\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.MaxClientConnections |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipFlagZookeeper(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthFlagZookeeper\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipFlagZookeeper(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowFlagZookeeper\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowFlagZookeeper\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowFlagZookeeper\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthFlagZookeeper\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowFlagZookeeper\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipFlagZookeeper(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthFlagZookeeper = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowFlagZookeeper   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"dbtesterpb/flag_zookeeper.proto\", fileDescriptorFlagZookeeper) }\n\nvar fileDescriptorFlagZookeeper = []byte{\n\t// 419 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0x4f, 0x8e, 0xd3, 0x30,\n\t0x14, 0x87, 0xc7, 0x4c, 0x05, 0x8c, 0x25, 0x04, 0x98, 0x22, 0x59, 0x08, 0x92, 0x92, 0x55, 0x37,\n\t0x33, 0x45, 0xaa, 0xd8, 0xb0, 0x4c, 0x67, 0x33, 0x23, 0x2a, 0x41, 0x18, 0x24, 0x76, 0x96, 0xe3,\n\t0x3a, 0x19, 0xb7, 0xb5, 0x1d, 0x25, 0x2f, 0xa3, 0x94, 0x93, 0x70, 0x07, 0x2e, 0x32, 0x4b, 0x4e,\n\t0x50, 0x41, 0xb9, 0x41, 0x4e, 0x80, 0xe2, 0x68, 0x92, 0x0a, 0xca, 0xee, 0xfd, 0xf9, 0xbe, 0x5f,\n\t0x14, 0x3d, 0x63, 0x7f, 0x11, 0x83, 0x2c, 0x40, 0xe6, 0x59, 0x3c, 0x49, 0xd6, 0x3c, 0x65, 0x5f,\n\t0xad, 0x5d, 0x49, 0x99, 0xc9, 0xfc, 0x2c, 0xcb, 0x2d, 0x58, 0x82, 0x7b, 0xe0, 0xc5, 0x69, 0xaa,\n\t0xe0, 0xba, 0x8c, 0xcf, 0x84, 0xd5, 0x93, 0xd4, 0xa6, 0x76, 0xe2, 0x90, 0xb8, 0x4c, 0x5c, 0xe7,\n\t0x1a, 0x57, 0xb5, 0x6a, 0xf0, 0x7d, 0x80, 0x5f, 0xba, 0xcc, 0x3e, 0x94, 0xb1, 0x7c, 0xca, 0xde,\n\t0xb2, 0x29, 0x8b, 0x25, 0x70, 0xf2, 0x11, 0x93, 0x4b, 0x7e, 0xc3, 0xcf, 0x2f, 0x4b, 0x90, 0x73,\n\t0x5e, 0x85, 0x65, 0x92, 0xc8, 0x9c, 0xa2, 0x11, 0x1a, 0x0f, 0xc2, 0xd7, 0xf5, 0xd6, 0x7f, 0xb5,\n\t0xe1, 0x7a, 0xfd, 0x2e, 0x58, 0xf2, 0x1b, 0xce, 0x16, 0x6c, 0x59, 0x82, 0x64, 0x9a, 0x57, 0x2c,\n\t0x76, 0x5c, 0x10, 0x1d, 0x90, 0xc9, 0x29, 0x7e, 0xd0, 0x4c, 0xbf, 0xe8, 0x82, 0xde, 0x1b, 0xa1,\n\t0xf1, 0x49, 0xf8, 0xac, 0xde, 0xfa, 0x8f, 0xf7, 0x72, 0x2a, 0x5d, 0x04, 0xd1, 0x1d, 0xd3, 0xe3,\n\t0x15, 0x3d, 0xfe, 0x0f, 0x5e, 0x75, 0x78, 0x45, 0x08, 0x1e, 0xcc, 0x37, 0x17, 0xe7, 0x74, 0x31,\n\t0x42, 0xe3, 0x47, 0x91, 0xab, 0x89, 0x87, 0xf1, 0x6c, 0xad, 0xa4, 0x81, 0x0f, 0x36, 0x07, 0x2a,\n\t0x47, 0x68, 0x7c, 0x1c, 0xed, 0x4d, 0xc8, 0x1b, 0xfc, 0xf0, 0x4a, 0x89, 0xd5, 0x95, 0xd2, 0x92,\n\t0x26, 0xcd, 0x36, 0x1c, 0xd6, 0x5b, 0xff, 0x49, 0xfb, 0x0d, 0x50, 0x62, 0xc5, 0x40, 0x69, 0x19,\n\t0x44, 0x1d, 0x45, 0xa6, 0xf8, 0xe4, 0xc2, 0x28, 0x78, 0xaf, 0xb4, 0x02, 0x9a, 0x3a, 0xe5, 0x79,\n\t0xbd, 0xf5, 0x9f, 0xb6, 0x8a, 0x32, 0x0a, 0xd8, 0xba, 0xd9, 0x05, 0x51, 0xcf, 0x35, 0xd2, 0xa7,\n\t0x8d, 0x11, 0xad, 0x74, 0xfd, 0xb7, 0x54, 0x6c, 0x8c, 0xe8, 0xa4, 0x8e, 0x73, 0x92, 0xe1, 0xd9,\n\t0xcc, 0x96, 0x06, 0xa8, 0xfa, 0x47, 0x32, 0x3c, 0x63, 0xa2, 0xd9, 0x35, 0xd2, 0x1d, 0x47, 0x3e,\n\t0xe3, 0xe1, 0x9c, 0x57, 0xed, 0x1f, 0xce, 0xac, 0x31, 0x52, 0x80, 0xb2, 0xa6, 0xa0, 0x4b, 0xe7,\n\t0xef, 0xdd, 0xad, 0xb9, 0x95, 0x70, 0x18, 0x13, 0x3d, 0x17, 0x44, 0x07, 0xf5, 0x70, 0x78, 0xfb,\n\t0xcb, 0x3b, 0xba, 0xdd, 0x79, 0xe8, 0xc7, 0xce, 0x43, 0x3f, 0x77, 0x1e, 0xfa, 0xf6, 0xdb, 0x3b,\n\t0x8a, 0xef, 0xbb, 0xa7, 0x34, 0xfd, 0x13, 0x00, 0x00, 0xff, 0xff, 0x63, 0xdf, 0x89, 0x1b, 0xa8,\n\t0x02, 0x00, 0x00,\n}\n"
  },
  {
    "path": "dbtesterpb/flag_zookeeper.proto",
    "content": "syntax = \"proto3\";\npackage dbtesterpb;\n\nimport \"github.com/gogo/protobuf/gogoproto/gogo.proto\";\n\noption (gogoproto.marshaler_all) = true;\noption (gogoproto.sizer_all) = true;\noption (gogoproto.unmarshaler_all) = true;\noption (gogoproto.goproto_getters_all) = false;\n\nmessage flag__zookeeper__r3_5_3_beta {\n  // JavaDJuteMaxBuffer is for '-Djute.maxbuffer' flag.\n  // It is the maximum size, in bytes, of a request or response.\n  // See http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#Unsafe+Options for more.\n  uint64 JavaDJuteMaxBuffer = 1 [(gogoproto.moretags) = \"yaml:\\\"java_d_jute_max_buffer\\\"\"];\n\n  // JavaXms is for '-Xms' flag (minimum Java heap size).\n  // See https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html for more.\n  string JavaXms = 2 [(gogoproto.moretags) = \"yaml:\\\"java_xms\\\"\"];\n\n  // JavaXmx is for '-Xmx' flag (maximum Java heap size).\n  // See https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html for more.\n  string JavaXmx = 3 [(gogoproto.moretags) = \"yaml:\\\"java_xmx\\\"\"];\n\n  // MyID contains a single integer in human readable ASCII text that represents the server id.\n  // Each ZooKeeper server has a unique id. This id is used in two places: the myid file and the\n  // configuration file. The myid file identifies the server that corresponds to the given data directory.\n  // See http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_dataFileManagement for more.\n  uint32 MyID = 100;\n\n  // ClientPort is by default '2181'.\n  // No need to set manually. Inherited from 'database_port_to_connect'.\n  int64 ClientPort = 101;\n\n  // See http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html for more.\n  int64 TickTime = 102 [(gogoproto.moretags) = \"yaml:\\\"tick_time\\\"\"];\n  int64 InitLimit = 103 [(gogoproto.moretags) = \"yaml:\\\"init_limit\\\"\"];\n  int64 SyncLimit = 104 [(gogoproto.moretags) = \"yaml:\\\"sync_limit\\\"\"];\n  int64 SnapCount = 105 [(gogoproto.moretags) = \"yaml:\\\"snap_count\\\"\"];\n  int64 MaxClientConnections = 106 [(gogoproto.moretags) = \"yaml:\\\"max_client_connections\\\"\"];\n}\n"
  },
  {
    "path": "dbtesterpb/message.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: dbtesterpb/message.proto\n\npackage dbtesterpb\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"github.com/gogo/protobuf/gogoproto\"\n\nimport context \"golang.org/x/net/context\"\nimport grpc \"google.golang.org/grpc\"\n\nimport io \"io\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\ntype Operation int32\n\nconst (\n\tOperation_Start     Operation = 0\n\tOperation_Stop      Operation = 1\n\tOperation_Heartbeat Operation = 2\n)\n\nvar Operation_name = map[int32]string{\n\t0: \"Start\",\n\t1: \"Stop\",\n\t2: \"Heartbeat\",\n}\nvar Operation_value = map[string]int32{\n\t\"Start\":     0,\n\t\"Stop\":      1,\n\t\"Heartbeat\": 2,\n}\n\nfunc (x Operation) String() string {\n\treturn proto.EnumName(Operation_name, int32(x))\n}\nfunc (Operation) EnumDescriptor() ([]byte, []int) { return fileDescriptorMessage, []int{0} }\n\ntype Request struct {\n\tOperation        Operation  `protobuf:\"varint,1,opt,name=Operation,proto3,enum=dbtesterpb.Operation\" json:\"Operation,omitempty\"`\n\tTriggerLogUpload bool       `protobuf:\"varint,2,opt,name=TriggerLogUpload,proto3\" json:\"TriggerLogUpload,omitempty\"`\n\tDatabaseID       DatabaseID `protobuf:\"varint,3,opt,name=DatabaseID,proto3,enum=dbtesterpb.DatabaseID\" json:\"DatabaseID,omitempty\"`\n\tDatabaseTag      string     `protobuf:\"bytes,4,opt,name=DatabaseTag,proto3\" json:\"DatabaseTag,omitempty\"`\n\t// PeerIPsString encodes a list of endpoints in string\n\t// because Protocol Buffer does not have a list or array datatype\n\t// which is ordered. 'repeated' does not guarantee the ordering.\n\tPeerIPsString              string                      `protobuf:\"bytes,5,opt,name=PeerIPsString,proto3\" json:\"PeerIPsString,omitempty\"`\n\tIPIndex                    uint32                      `protobuf:\"varint,6,opt,name=IPIndex,proto3\" json:\"IPIndex,omitempty\"`\n\tCurrentClientNumber        int64                       `protobuf:\"varint,7,opt,name=CurrentClientNumber,proto3\" json:\"CurrentClientNumber,omitempty\"`\n\tConfigClientMachineInitial *ConfigClientMachineInitial `protobuf:\"bytes,8,opt,name=ConfigClientMachineInitial\" json:\"ConfigClientMachineInitial,omitempty\"`\n\tFlag_Etcd_Other            *Flag_Etcd_Other            `protobuf:\"bytes,100,opt,name=flag__etcd__other,json=flagEtcdOther\" json:\"flag__etcd__other,omitempty\"`\n\tFlag_Etcd_Tip              *Flag_Etcd_Tip              `protobuf:\"bytes,101,opt,name=flag__etcd__tip,json=flagEtcdTip\" json:\"flag__etcd__tip,omitempty\"`\n\tFlag_Etcd_V3_2             *Flag_Etcd_V3_2             `protobuf:\"bytes,102,opt,name=flag__etcd__v3_2,json=flagEtcdV32\" json:\"flag__etcd__v3_2,omitempty\"`\n\tFlag_Etcd_V3_3             *Flag_Etcd_V3_3             `protobuf:\"bytes,103,opt,name=flag__etcd__v3_3,json=flagEtcdV33\" json:\"flag__etcd__v3_3,omitempty\"`\n\tFlag_Zookeeper_R3_5_3Beta  *Flag_Zookeeper_R3_5_3Beta  `protobuf:\"bytes,200,opt,name=flag__zookeeper__r3_5_3_beta,json=flagZookeeperR353Beta\" json:\"flag__zookeeper__r3_5_3_beta,omitempty\"`\n\tFlag_Consul_V1_0_2         *Flag_Consul_V1_0_2         `protobuf:\"bytes,300,opt,name=flag__consul__v1_0_2,json=flagConsulV102\" json:\"flag__consul__v1_0_2,omitempty\"`\n\tFlag_Cetcd_Beta            *Flag_Cetcd_Beta            `protobuf:\"bytes,400,opt,name=flag__cetcd__beta,json=flagCetcdBeta\" json:\"flag__cetcd__beta,omitempty\"`\n\tFlag_Zetcd_Beta            *Flag_Zetcd_Beta            `protobuf:\"bytes,500,opt,name=flag__zetcd__beta,json=flagZetcdBeta\" json:\"flag__zetcd__beta,omitempty\"`\n}\n\nfunc (m *Request) Reset()                    { *m = Request{} }\nfunc (m *Request) String() string            { return proto.CompactTextString(m) }\nfunc (*Request) ProtoMessage()               {}\nfunc (*Request) Descriptor() ([]byte, []int) { return fileDescriptorMessage, []int{0} }\n\ntype Response struct {\n\tSuccess bool `protobuf:\"varint,1,opt,name=Success,proto3\" json:\"Success,omitempty\"`\n\t// DiskSpaceUsageBytes is the data size of the database on disk in bytes.\n\t// It measures after database is requested to stop.\n\tDiskSpaceUsageBytes int64 `protobuf:\"varint,2,opt,name=DiskSpaceUsageBytes,proto3\" json:\"DiskSpaceUsageBytes,omitempty\"`\n}\n\nfunc (m *Response) Reset()                    { *m = Response{} }\nfunc (m *Response) String() string            { return proto.CompactTextString(m) }\nfunc (*Response) ProtoMessage()               {}\nfunc (*Response) Descriptor() ([]byte, []int) { return fileDescriptorMessage, []int{1} }\n\nfunc init() {\n\tproto.RegisterType((*Request)(nil), \"dbtesterpb.Request\")\n\tproto.RegisterType((*Response)(nil), \"dbtesterpb.Response\")\n\tproto.RegisterEnum(\"dbtesterpb.Operation\", Operation_name, Operation_value)\n}\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ context.Context\nvar _ grpc.ClientConn\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the grpc package it is being compiled against.\nconst _ = grpc.SupportPackageIsVersion4\n\n// Client API for Transporter service\n\ntype TransporterClient interface {\n\tTransfer(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error)\n}\n\ntype transporterClient struct {\n\tcc *grpc.ClientConn\n}\n\nfunc NewTransporterClient(cc *grpc.ClientConn) TransporterClient {\n\treturn &transporterClient{cc}\n}\n\nfunc (c *transporterClient) Transfer(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error) {\n\tout := new(Response)\n\terr := grpc.Invoke(ctx, \"/dbtesterpb.Transporter/Transfer\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Server API for Transporter service\n\ntype TransporterServer interface {\n\tTransfer(context.Context, *Request) (*Response, error)\n}\n\nfunc RegisterTransporterServer(s *grpc.Server, srv TransporterServer) {\n\ts.RegisterService(&_Transporter_serviceDesc, srv)\n}\n\nfunc _Transporter_Transfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(Request)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(TransporterServer).Transfer(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/dbtesterpb.Transporter/Transfer\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(TransporterServer).Transfer(ctx, req.(*Request))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nvar _Transporter_serviceDesc = grpc.ServiceDesc{\n\tServiceName: \"dbtesterpb.Transporter\",\n\tHandlerType: (*TransporterServer)(nil),\n\tMethods: []grpc.MethodDesc{\n\t\t{\n\t\t\tMethodName: \"Transfer\",\n\t\t\tHandler:    _Transporter_Transfer_Handler,\n\t\t},\n\t},\n\tStreams:  []grpc.StreamDesc{},\n\tMetadata: \"dbtesterpb/message.proto\",\n}\n\nfunc (m *Request) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Request) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Operation != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.Operation))\n\t}\n\tif m.TriggerLogUpload {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\tif m.TriggerLogUpload {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.DatabaseID != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.DatabaseID))\n\t}\n\tif len(m.DatabaseTag) > 0 {\n\t\tdAtA[i] = 0x22\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(len(m.DatabaseTag)))\n\t\ti += copy(dAtA[i:], m.DatabaseTag)\n\t}\n\tif len(m.PeerIPsString) > 0 {\n\t\tdAtA[i] = 0x2a\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(len(m.PeerIPsString)))\n\t\ti += copy(dAtA[i:], m.PeerIPsString)\n\t}\n\tif m.IPIndex != 0 {\n\t\tdAtA[i] = 0x30\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.IPIndex))\n\t}\n\tif m.CurrentClientNumber != 0 {\n\t\tdAtA[i] = 0x38\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.CurrentClientNumber))\n\t}\n\tif m.ConfigClientMachineInitial != nil {\n\t\tdAtA[i] = 0x42\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.ConfigClientMachineInitial.Size()))\n\t\tn1, err := m.ConfigClientMachineInitial.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n1\n\t}\n\tif m.Flag_Etcd_Other != nil {\n\t\tdAtA[i] = 0xa2\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.Flag_Etcd_Other.Size()))\n\t\tn2, err := m.Flag_Etcd_Other.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n2\n\t}\n\tif m.Flag_Etcd_Tip != nil {\n\t\tdAtA[i] = 0xaa\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.Flag_Etcd_Tip.Size()))\n\t\tn3, err := m.Flag_Etcd_Tip.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n3\n\t}\n\tif m.Flag_Etcd_V3_2 != nil {\n\t\tdAtA[i] = 0xb2\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.Flag_Etcd_V3_2.Size()))\n\t\tn4, err := m.Flag_Etcd_V3_2.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n4\n\t}\n\tif m.Flag_Etcd_V3_3 != nil {\n\t\tdAtA[i] = 0xba\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.Flag_Etcd_V3_3.Size()))\n\t\tn5, err := m.Flag_Etcd_V3_3.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n5\n\t}\n\tif m.Flag_Zookeeper_R3_5_3Beta != nil {\n\t\tdAtA[i] = 0xc2\n\t\ti++\n\t\tdAtA[i] = 0xc\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.Flag_Zookeeper_R3_5_3Beta.Size()))\n\t\tn6, err := m.Flag_Zookeeper_R3_5_3Beta.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n6\n\t}\n\tif m.Flag_Consul_V1_0_2 != nil {\n\t\tdAtA[i] = 0xe2\n\t\ti++\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.Flag_Consul_V1_0_2.Size()))\n\t\tn7, err := m.Flag_Consul_V1_0_2.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n7\n\t}\n\tif m.Flag_Cetcd_Beta != nil {\n\t\tdAtA[i] = 0x82\n\t\ti++\n\t\tdAtA[i] = 0x19\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.Flag_Cetcd_Beta.Size()))\n\t\tn8, err := m.Flag_Cetcd_Beta.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n8\n\t}\n\tif m.Flag_Zetcd_Beta != nil {\n\t\tdAtA[i] = 0xa2\n\t\ti++\n\t\tdAtA[i] = 0x1f\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.Flag_Zetcd_Beta.Size()))\n\t\tn9, err := m.Flag_Zetcd_Beta.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n9\n\t}\n\treturn i, nil\n}\n\nfunc (m *Response) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Response) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Success {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\tif m.Success {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.DiskSpaceUsageBytes != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintMessage(dAtA, i, uint64(m.DiskSpaceUsageBytes))\n\t}\n\treturn i, nil\n}\n\nfunc encodeVarintMessage(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *Request) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Operation != 0 {\n\t\tn += 1 + sovMessage(uint64(m.Operation))\n\t}\n\tif m.TriggerLogUpload {\n\t\tn += 2\n\t}\n\tif m.DatabaseID != 0 {\n\t\tn += 1 + sovMessage(uint64(m.DatabaseID))\n\t}\n\tl = len(m.DatabaseTag)\n\tif l > 0 {\n\t\tn += 1 + l + sovMessage(uint64(l))\n\t}\n\tl = len(m.PeerIPsString)\n\tif l > 0 {\n\t\tn += 1 + l + sovMessage(uint64(l))\n\t}\n\tif m.IPIndex != 0 {\n\t\tn += 1 + sovMessage(uint64(m.IPIndex))\n\t}\n\tif m.CurrentClientNumber != 0 {\n\t\tn += 1 + sovMessage(uint64(m.CurrentClientNumber))\n\t}\n\tif m.ConfigClientMachineInitial != nil {\n\t\tl = m.ConfigClientMachineInitial.Size()\n\t\tn += 1 + l + sovMessage(uint64(l))\n\t}\n\tif m.Flag_Etcd_Other != nil {\n\t\tl = m.Flag_Etcd_Other.Size()\n\t\tn += 2 + l + sovMessage(uint64(l))\n\t}\n\tif m.Flag_Etcd_Tip != nil {\n\t\tl = m.Flag_Etcd_Tip.Size()\n\t\tn += 2 + l + sovMessage(uint64(l))\n\t}\n\tif m.Flag_Etcd_V3_2 != nil {\n\t\tl = m.Flag_Etcd_V3_2.Size()\n\t\tn += 2 + l + sovMessage(uint64(l))\n\t}\n\tif m.Flag_Etcd_V3_3 != nil {\n\t\tl = m.Flag_Etcd_V3_3.Size()\n\t\tn += 2 + l + sovMessage(uint64(l))\n\t}\n\tif m.Flag_Zookeeper_R3_5_3Beta != nil {\n\t\tl = m.Flag_Zookeeper_R3_5_3Beta.Size()\n\t\tn += 2 + l + sovMessage(uint64(l))\n\t}\n\tif m.Flag_Consul_V1_0_2 != nil {\n\t\tl = m.Flag_Consul_V1_0_2.Size()\n\t\tn += 2 + l + sovMessage(uint64(l))\n\t}\n\tif m.Flag_Cetcd_Beta != nil {\n\t\tl = m.Flag_Cetcd_Beta.Size()\n\t\tn += 2 + l + sovMessage(uint64(l))\n\t}\n\tif m.Flag_Zetcd_Beta != nil {\n\t\tl = m.Flag_Zetcd_Beta.Size()\n\t\tn += 2 + l + sovMessage(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *Response) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Success {\n\t\tn += 2\n\t}\n\tif m.DiskSpaceUsageBytes != 0 {\n\t\tn += 1 + sovMessage(uint64(m.DiskSpaceUsageBytes))\n\t}\n\treturn n\n}\n\nfunc sovMessage(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozMessage(x uint64) (n int) {\n\treturn sovMessage(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *Request) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: Request: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: Request: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Operation\", wireType)\n\t\t\t}\n\t\t\tm.Operation = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Operation |= (Operation(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field TriggerLogUpload\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.TriggerLogUpload = bool(v != 0)\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DatabaseID\", wireType)\n\t\t\t}\n\t\t\tm.DatabaseID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.DatabaseID |= (DatabaseID(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DatabaseTag\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.DatabaseTag = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 5:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PeerIPsString\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.PeerIPsString = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 6:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field IPIndex\", wireType)\n\t\t\t}\n\t\t\tm.IPIndex = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.IPIndex |= (uint32(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 7:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field CurrentClientNumber\", wireType)\n\t\t\t}\n\t\t\tm.CurrentClientNumber = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.CurrentClientNumber |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 8:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ConfigClientMachineInitial\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.ConfigClientMachineInitial == nil {\n\t\t\t\tm.ConfigClientMachineInitial = &ConfigClientMachineInitial{}\n\t\t\t}\n\t\t\tif err := m.ConfigClientMachineInitial.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 100:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Etcd_Other\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Etcd_Other == nil {\n\t\t\t\tm.Flag_Etcd_Other = &Flag_Etcd_Other{}\n\t\t\t}\n\t\t\tif err := m.Flag_Etcd_Other.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 101:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Etcd_Tip\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Etcd_Tip == nil {\n\t\t\t\tm.Flag_Etcd_Tip = &Flag_Etcd_Tip{}\n\t\t\t}\n\t\t\tif err := m.Flag_Etcd_Tip.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 102:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Etcd_V3_2\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Etcd_V3_2 == nil {\n\t\t\t\tm.Flag_Etcd_V3_2 = &Flag_Etcd_V3_2{}\n\t\t\t}\n\t\t\tif err := m.Flag_Etcd_V3_2.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 103:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Etcd_V3_3\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Etcd_V3_3 == nil {\n\t\t\t\tm.Flag_Etcd_V3_3 = &Flag_Etcd_V3_3{}\n\t\t\t}\n\t\t\tif err := m.Flag_Etcd_V3_3.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 200:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Zookeeper_R3_5_3Beta\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Zookeeper_R3_5_3Beta == nil {\n\t\t\t\tm.Flag_Zookeeper_R3_5_3Beta = &Flag_Zookeeper_R3_5_3Beta{}\n\t\t\t}\n\t\t\tif err := m.Flag_Zookeeper_R3_5_3Beta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 300:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Consul_V1_0_2\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Consul_V1_0_2 == nil {\n\t\t\t\tm.Flag_Consul_V1_0_2 = &Flag_Consul_V1_0_2{}\n\t\t\t}\n\t\t\tif err := m.Flag_Consul_V1_0_2.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 400:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Cetcd_Beta\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Cetcd_Beta == nil {\n\t\t\t\tm.Flag_Cetcd_Beta = &Flag_Cetcd_Beta{}\n\t\t\t}\n\t\t\tif err := m.Flag_Cetcd_Beta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 500:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Flag_Zetcd_Beta\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Flag_Zetcd_Beta == nil {\n\t\t\t\tm.Flag_Zetcd_Beta = &Flag_Zetcd_Beta{}\n\t\t\t}\n\t\t\tif err := m.Flag_Zetcd_Beta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipMessage(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *Response) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: Response: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: Response: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Success\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Success = bool(v != 0)\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DiskSpaceUsageBytes\", wireType)\n\t\t\t}\n\t\t\tm.DiskSpaceUsageBytes = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.DiskSpaceUsageBytes |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipMessage(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthMessage\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipMessage(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowMessage\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowMessage\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthMessage\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowMessage\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipMessage(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthMessage = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowMessage   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"dbtesterpb/message.proto\", fileDescriptorMessage) }\n\nvar fileDescriptorMessage = []byte{\n\t// 712 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x94, 0xdf, 0x4e, 0x1b, 0x47,\n\t0x14, 0xc6, 0xbd, 0x98, 0x3f, 0xf6, 0x58, 0xa6, 0xee, 0x00, 0xd5, 0xc8, 0x50, 0x77, 0x85, 0x2a,\n\t0x64, 0x21, 0xd5, 0x06, 0xaf, 0x68, 0xaf, 0x8b, 0x69, 0x8b, 0xa5, 0x26, 0xa0, 0xb1, 0xe1, 0x82,\n\t0x9b, 0xd1, 0xec, 0xfa, 0x78, 0x59, 0x61, 0xef, 0x6c, 0x66, 0xc7, 0x28, 0xe1, 0x2e, 0x6f, 0x90,\n\t0xcb, 0x3c, 0x44, 0x1e, 0x84, 0xcb, 0x3c, 0x42, 0x42, 0x5e, 0x21, 0x0f, 0x10, 0xed, 0xac, 0x17,\n\t0x0f, 0xd8, 0x4e, 0xee, 0x7c, 0xbe, 0xef, 0x9b, 0xdf, 0xce, 0x1f, 0x9f, 0x83, 0x48, 0xdf, 0x55,\n\t0x10, 0x2b, 0x90, 0x91, 0xdb, 0x1c, 0x41, 0x1c, 0x73, 0x1f, 0x1a, 0x91, 0x14, 0x4a, 0x60, 0x34,\n\t0x75, 0xaa, 0x7f, 0xf8, 0x81, 0xba, 0x1e, 0xbb, 0x0d, 0x4f, 0x8c, 0x9a, 0xbe, 0xf0, 0x45, 0x53,\n\t0x47, 0xdc, 0xf1, 0x40, 0x57, 0xba, 0xd0, 0xbf, 0xd2, 0xa5, 0xd5, 0x1d, 0x03, 0xda, 0xe7, 0x8a,\n\t0xbb, 0x3c, 0x06, 0x16, 0xf4, 0x27, 0x6e, 0xd5, 0x70, 0x07, 0x43, 0xee, 0x33, 0x50, 0x5e, 0xe6,\n\t0xfd, 0xf6, 0xdc, 0xbb, 0x13, 0xe2, 0x06, 0x20, 0x02, 0x39, 0x07, 0xad, 0x03, 0x9e, 0x08, 0xe3,\n\t0xf1, 0x70, 0xe2, 0x6e, 0xcf, 0x2c, 0x37, 0xd8, 0x33, 0xa6, 0x67, 0x98, 0x7b, 0x86, 0xe9, 0x89,\n\t0x70, 0x10, 0xf8, 0xcc, 0x1b, 0x06, 0x10, 0x2a, 0x36, 0xe2, 0xde, 0x75, 0x10, 0x4e, 0x6e, 0x65,\n\t0xf7, 0x6d, 0x01, 0xad, 0x51, 0x78, 0x35, 0x86, 0x58, 0x61, 0x07, 0x15, 0xcf, 0x22, 0x90, 0x5c,\n\t0x05, 0x22, 0x24, 0x96, 0x6d, 0xd5, 0xd7, 0x5b, 0x5b, 0x8d, 0x29, 0xa7, 0xf1, 0x68, 0xd2, 0x69,\n\t0x0e, 0xef, 0xa3, 0x4a, 0x4f, 0x06, 0xbe, 0x0f, 0xf2, 0x7f, 0xe1, 0x5f, 0x44, 0x43, 0xc1, 0xfb,\n\t0x64, 0xc9, 0xb6, 0xea, 0x05, 0x3a, 0xa3, 0xe3, 0x3f, 0x11, 0x3a, 0x99, 0x5c, 0x5f, 0xe7, 0x84,\n\t0xe4, 0xf5, 0x17, 0x7e, 0x31, 0xbf, 0x30, 0x75, 0xa9, 0x91, 0xc4, 0x36, 0x2a, 0x65, 0x55, 0x8f,\n\t0xfb, 0x64, 0xd9, 0xb6, 0xea, 0x45, 0x6a, 0x4a, 0xf8, 0x77, 0x54, 0x3e, 0x07, 0x90, 0x9d, 0xf3,\n\t0xb8, 0xab, 0x64, 0x10, 0xfa, 0x64, 0x45, 0x67, 0x9e, 0x8a, 0x98, 0xa0, 0xb5, 0xce, 0x79, 0x27,\n\t0xec, 0xc3, 0x6b, 0xb2, 0x6a, 0x5b, 0xf5, 0x32, 0xcd, 0x4a, 0x7c, 0x80, 0x36, 0xda, 0x63, 0x29,\n\t0x21, 0x54, 0x6d, 0x7d, 0x4b, 0x2f, 0xc7, 0x23, 0x17, 0x24, 0x59, 0xb3, 0xad, 0x7a, 0x9e, 0xce,\n\t0xb3, 0xf0, 0x00, 0x55, 0xdb, 0xfa, 0x5e, 0x53, 0xf5, 0x45, 0x7a, 0xab, 0x9d, 0x30, 0x50, 0x01,\n\t0x1f, 0x92, 0x82, 0x6d, 0xd5, 0x4b, 0xad, 0x3d, 0xf3, 0x6c, 0x8b, 0xd3, 0xf4, 0x3b, 0x24, 0xfc,\n\t0x1f, 0xfa, 0x59, 0x3f, 0xae, 0xfe, 0x57, 0x31, 0x26, 0xd4, 0x35, 0x48, 0xd2, 0xd7, 0xf8, 0x5f,\n\t0x4d, 0xfc, 0x4c, 0x88, 0x96, 0x13, 0xe9, 0x1f, 0xe5, 0xf5, 0xcf, 0x92, 0x12, 0xff, 0x8d, 0x7e,\n\t0x32, 0x33, 0x2a, 0x88, 0x08, 0x68, 0xcc, 0xf6, 0x22, 0x8c, 0x0a, 0x22, 0x5a, 0xca, 0x20, 0xbd,\n\t0x20, 0xc2, 0x6d, 0x54, 0x31, 0xfd, 0x5b, 0x87, 0xb5, 0xc8, 0x40, 0x33, 0x76, 0x16, 0x31, 0x92,\n\t0xcc, 0x14, 0x72, 0xe9, 0xb4, 0xe6, 0x40, 0x1c, 0xe2, 0xff, 0x10, 0xe2, 0x98, 0x10, 0x07, 0x0f,\n\t0xd0, 0x4e, 0x1a, 0x78, 0xec, 0x27, 0xc6, 0xa4, 0xc3, 0x8e, 0x98, 0xc3, 0x5c, 0x50, 0x9c, 0xdc,\n\t0x5b, 0x9a, 0x58, 0x9f, 0x25, 0xce, 0x5f, 0x40, 0xb7, 0x12, 0xf7, 0x2a, 0xf3, 0xa8, 0x73, 0xe4,\n\t0x1c, 0x83, 0xe2, 0xf8, 0x0c, 0x6d, 0xa6, 0xcb, 0xd2, 0xb6, 0x64, 0xec, 0xf6, 0x90, 0x1d, 0xb0,\n\t0x16, 0xf9, 0xb0, 0xa4, 0xf9, 0xf6, 0x2c, 0xff, 0x69, 0x90, 0xae, 0x27, 0x6a, 0x5b, 0x6b, 0x97,\n\t0x87, 0x07, 0x2d, 0x7c, 0x9a, 0x3d, 0xa7, 0x97, 0x1e, 0x4d, 0xef, 0xf6, 0x5d, 0x7e, 0xd1, 0x7b,\n\t0x1a, 0xa9, 0xf4, 0x3d, 0xdb, 0x89, 0xa0, 0xb7, 0xf6, 0x48, 0xba, 0x33, 0x48, 0x5f, 0x17, 0x92,\n\t0xee, 0x9e, 0x93, 0xae, 0x32, 0xd2, 0xee, 0x25, 0x2a, 0x50, 0x88, 0x23, 0x11, 0xc6, 0x90, 0xb4,\n\t0x48, 0x77, 0xec, 0x79, 0x10, 0xc7, 0x7a, 0x02, 0x14, 0x68, 0x56, 0x26, 0x2d, 0x72, 0x12, 0xc4,\n\t0x37, 0xdd, 0x88, 0x7b, 0x70, 0x91, 0xcc, 0xd5, 0xe3, 0x37, 0x0a, 0x62, 0xdd, 0xeb, 0x79, 0x3a,\n\t0xcf, 0xda, 0x6f, 0x1a, 0xf3, 0x04, 0x17, 0xd1, 0x4a, 0x57, 0x71, 0xa9, 0x2a, 0x39, 0x5c, 0x40,\n\t0xcb, 0x5d, 0x25, 0xa2, 0x8a, 0x85, 0xcb, 0xa8, 0x78, 0x0a, 0x5c, 0x2a, 0x17, 0xb8, 0xaa, 0x2c,\n\t0xb5, 0xfe, 0x45, 0xa5, 0x9e, 0xe4, 0x61, 0x1c, 0x09, 0xa9, 0x40, 0xe2, 0xbf, 0x50, 0x41, 0x97,\n\t0x03, 0x90, 0x78, 0xc3, 0x3c, 0xd1, 0x64, 0x60, 0x55, 0x37, 0x9f, 0x8a, 0xe9, 0x11, 0x76, 0x73,\n\t0xc7, 0x9b, 0xf7, 0x9f, 0x6b, 0xb9, 0xfb, 0x87, 0x9a, 0xf5, 0xf1, 0xa1, 0x66, 0x7d, 0x7a, 0xa8,\n\t0x59, 0xef, 0xbf, 0xd4, 0x72, 0xee, 0xaa, 0x9e, 0x78, 0xce, 0xb7, 0x00, 0x00, 0x00, 0xff, 0xff,\n\t0x9b, 0x7a, 0x8c, 0xc2, 0x23, 0x06, 0x00, 0x00,\n}\n"
  },
  {
    "path": "dbtesterpb/message.proto",
    "content": "syntax = \"proto3\";\npackage dbtesterpb;\n\nimport \"github.com/gogo/protobuf/gogoproto/gogo.proto\";\n\nimport \"dbtesterpb/database_id.proto\";\n\nimport \"dbtesterpb/flag_etcd.proto\";\nimport \"dbtesterpb/flag_zookeeper.proto\";\nimport \"dbtesterpb/flag_consul.proto\";\nimport \"dbtesterpb/flag_zetcd.proto\";\nimport \"dbtesterpb/flag_cetcd.proto\";\n\nimport \"dbtesterpb/config_client_machine.proto\";\n\noption (gogoproto.marshaler_all) = true;\noption (gogoproto.sizer_all) = true;\noption (gogoproto.unmarshaler_all) = true;\noption (gogoproto.goproto_getters_all) = false;\n\nservice Transporter {\n  rpc Transfer(Request) returns (Response) {}\n}\n\nenum Operation {\n  Start = 0;\n  Stop = 1;\n  Heartbeat = 2;\n}\n\nmessage Request {\n  Operation Operation = 1;\n  bool TriggerLogUpload = 2;\n\n  DatabaseID DatabaseID = 3;\n  string DatabaseTag = 4;\n\n  // PeerIPsString encodes a list of endpoints in string\n  // because Protocol Buffer does not have a list or array datatype\n  // which is ordered. 'repeated' does not guarantee the ordering.\n  string PeerIPsString = 5;\n  uint32 IPIndex = 6;\n\n  int64 CurrentClientNumber = 7;\n\n  ConfigClientMachineInitial ConfigClientMachineInitial = 8;\n\n  flag__etcd__other  flag__etcd__other  = 100;\n  flag__etcd__tip    flag__etcd__tip    = 101;\n  flag__etcd__v3_2   flag__etcd__v3_2   = 102;\n  flag__etcd__v3_3   flag__etcd__v3_3   = 103;\n\n  flag__zookeeper__r3_5_3_beta flag__zookeeper__r3_5_3_beta = 200;\n\n  flag__consul__v1_0_2 flag__consul__v1_0_2 = 300;\n\n  flag__cetcd__beta flag__cetcd__beta = 400;\n  flag__zetcd__beta flag__zetcd__beta = 500;\n}\n\nmessage Response {\n  bool Success = 1;\n\n  // DiskSpaceUsageBytes is the data size of the database on disk in bytes.\n  // It measures after database is requested to stop.\n  int64 DiskSpaceUsageBytes = 2;\n}\n"
  },
  {
    "path": "dbtesterpb/util.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtesterpb\n\nimport (\n\t\"image/color\"\n\t\"sort\"\n\n\t\"gonum.org/v1/plot/plotutil\"\n)\n\n// IsValidDatabaseID returns false if the database id is not supported.\nfunc IsValidDatabaseID(id string) bool {\n\t_, ok := DatabaseID_value[id]\n\treturn ok\n}\n\n// GetAllDatabaseIDs returns all database ids.\nfunc GetAllDatabaseIDs() []string {\n\tvar ids []string\n\tfor k := range DatabaseID_value {\n\t\tids = append(ids, k)\n\t}\n\tsort.Strings(ids)\n\treturn ids\n}\n\nfunc GetRGBI(databaseID string, i int) color.Color {\n\tswitch databaseID {\n\tcase \"etcd__other\":\n\t\treturn color.RGBA{94, 191, 30, 255} // green\n\tcase \"etcd__tip\":\n\t\treturn color.RGBA{24, 90, 169, 255} // blue\n\tcase \"etcd__v3_2\":\n\t\treturn color.RGBA{0, 229, 255, 255} // cyan\n\tcase \"etcd__v3_3\":\n\t\treturn color.RGBA{63, 81, 181, 255} // indigo\n\tcase \"zookeeper__r3_5_3_beta\":\n\t\treturn color.RGBA{94, 191, 30, 255} // green\n\tcase \"consul__v1_0_2\":\n\t\treturn color.RGBA{254, 25, 102, 255} // red\n\tcase \"zetcd__beta\":\n\t\treturn color.RGBA{251, 206, 0, 255} // yellow\n\tcase \"cetcd__beta\":\n\t\treturn color.RGBA{205, 220, 57, 255} // lime\n\t}\n\treturn plotutil.Color(i)\n}\n\nfunc GetRGBII(databaseID string, i int) color.Color {\n\tswitch databaseID {\n\tcase \"etcd__other\":\n\t\treturn color.RGBA{155, 176, 29, 255} // light-green\n\tcase \"etcd__tip\":\n\t\treturn color.RGBA{129, 212, 247, 255} // light-blue\n\tcase \"etcd__v3_2\":\n\t\treturn color.RGBA{132, 255, 255, 255} // light-cyan\n\tcase \"etcd__v3_3\":\n\t\treturn color.RGBA{159, 168, 218, 255} // light-indigo\n\tcase \"zookeeper__r3_5_3_beta\":\n\t\treturn color.RGBA{155, 176, 29, 255} // light-green\n\tcase \"consul__v1_0_2\":\n\t\treturn color.RGBA{255, 202, 178, 255} // light-red\n\tcase \"zetcd__beta\":\n\t\treturn color.RGBA{245, 247, 166, 255} // light-yellow\n\tcase \"cetcd__beta\":\n\t\treturn color.RGBA{238, 255, 65, 255} // light-lime\n\t}\n\treturn plotutil.Color(i)\n}\n\nfunc GetRGBIII(databaseID string, i int) color.Color {\n\tswitch databaseID {\n\tcase \"etcd__other\":\n\t\treturn color.RGBA{129, 210, 178, 255} // mid-cyan\n\tcase \"etcd__tip\":\n\t\treturn color.RGBA{37, 29, 191, 255} // deep-blue\n\tcase \"etcd__v3_2\":\n\t\treturn color.RGBA{0, 96, 100, 255} // deep-cyan\n\tcase \"etcd__v3_3\":\n\t\treturn color.RGBA{26, 35, 126, 255} // deep-indigo\n\tcase \"zookeeper__r3_5_3_beta\":\n\t\treturn color.RGBA{129, 210, 178, 255} // mid-cyan\n\tcase \"consul__v1_0_2\":\n\t\treturn color.RGBA{245, 144, 84, 255} // deep-red\n\tcase \"zetcd__beta\":\n\t\treturn color.RGBA{229, 255, 0, 255} // deep-yellow\n\tcase \"cetcd__beta\":\n\t\treturn color.RGBA{205, 220, 57, 255} // deep-lime\n\t}\n\treturn plotutil.Color(i)\n}\n"
  },
  {
    "path": "find_ranges.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"sort\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/pkg/report\"\n)\n\n// CumulativeKeyNumToAvgLatency wraps the cumulative number of keys\n// and according latency data. So the higher 'CumulativeKeyNum' is,\n// the later the data points are in the time series.\ntype CumulativeKeyNumToAvgLatency struct {\n\tCumulativeKeyNum int64\n\n\tMinLatency time.Duration\n\tAvgLatency time.Duration\n\tMaxLatency time.Duration\n}\n\n// CumulativeKeyNumToAvgLatencySlice is a slice of CumulativeKeyNumToAvgLatency to sort by CumulativeKeyNum.\ntype CumulativeKeyNumToAvgLatencySlice []CumulativeKeyNumToAvgLatency\n\nfunc (t CumulativeKeyNumToAvgLatencySlice) Swap(i, j int) { t[i], t[j] = t[j], t[i] }\nfunc (t CumulativeKeyNumToAvgLatencySlice) Len() int      { return len(t) }\nfunc (t CumulativeKeyNumToAvgLatencySlice) Less(i, j int) bool {\n\treturn t[i].CumulativeKeyNum < t[j].CumulativeKeyNum\n}\n\n// FindRangesLatency sorts all data points by its timestamp.\n// And then aggregate by the cumulative throughput,\n// in order to map the number of keys to the average latency.\n//\n//\ttype DataPoint struct {\n//\t\tTimestamp  int64\n//\t\tMinLatency time.Duration\n//\t\tAvgLatency time.Duration\n//\t\tMaxLatency time.Duration\n//\t\tThroughPut int64\n//\t}\n//\n// If unit is 1000 and the average throughput per second is 30,000\n// and its average latency is 10ms, it will have 30 data points with\n// latency 10ms.\nfunc FindRangesLatency(data report.TimeSeries, unit int64, totalRequests int64) CumulativeKeyNumToAvgLatencySlice {\n\t// need to sort by timestamps because we want the 'cumulative'\n\t// trends as we write more keys, 'report.TimeSeries' already implements\n\t// sort interface, so just sort.Sort(data)\n\tsort.Sort(data)\n\n\tcumulKeyN := int64(0)\n\tmaxKey := int64(0)\n\n\trm := make(map[int64]CumulativeKeyNumToAvgLatency)\n\n\t// this data is aggregated by second\n\t// and we want to map number of keys to latency\n\t// so the range is the key\n\t// and the value is the cumulative throughput\n\tfor _, ts := range data {\n\t\tcumulKeyN += ts.ThroughPut\n\t\tif cumulKeyN < unit {\n\t\t\t// not enough data points yet\n\t\t\tcontinue\n\t\t}\n\n\t\t// cumulKeyN >= unit\n\t\tfor cumulKeyN > maxKey {\n\t\t\tmaxKey += unit\n\t\t\trm[maxKey] = CumulativeKeyNumToAvgLatency{\n\t\t\t\tMinLatency: ts.MinLatency,\n\t\t\t\tAvgLatency: ts.AvgLatency,\n\t\t\t\tMaxLatency: ts.MaxLatency,\n\t\t\t}\n\t\t}\n\t}\n\n\t// fill-in empty rows\n\tfor i := maxKey; i < totalRequests; i += unit {\n\t\tif _, ok := rm[i]; !ok {\n\t\t\trm[i] = CumulativeKeyNumToAvgLatency{}\n\t\t}\n\t}\n\tif _, ok := rm[totalRequests]; !ok {\n\t\trm[totalRequests] = CumulativeKeyNumToAvgLatency{}\n\t}\n\n\tkss := []CumulativeKeyNumToAvgLatency{}\n\tdelete(rm, 0) // drop data at beginning\n\n\tfor k, v := range rm {\n\t\t// make sure to use 'k' as CumulativeKeyNum\n\t\tkss = append(kss, CumulativeKeyNumToAvgLatency{\n\t\t\tCumulativeKeyNum: k,\n\t\t\tMinLatency:       v.MinLatency,\n\t\t\tAvgLatency:       v.AvgLatency,\n\t\t\tMaxLatency:       v.MaxLatency,\n\t\t})\n\t}\n\n\t// sort by cumulative throughput (number of keys) in ascending order\n\tsort.Sort(CumulativeKeyNumToAvgLatencySlice(kss))\n\treturn kss\n}\n\n// CumulativeKeyNumAndOtherData wraps the cumulative number of keys\n// and according memory data. So the higher 'CumulativeKeyNum' is,\n// the later the data points are in the time series.\ntype CumulativeKeyNumAndOtherData struct {\n\tUnixSecond int64\n\tThroughput int64\n\n\tCumulativeKeyNum int64\n\n\tMinMemoryMB float64\n\tAvgMemoryMB float64\n\tMaxMemoryMB float64\n\n\tAvgReadBytesDelta  float64\n\tAvgWriteBytesDelta float64\n}\n\n// CumulativeKeyNumAndOtherDataSlice is a slice of CumulativeKeyNumAndOtherData to sort by CumulativeKeyNum.\ntype CumulativeKeyNumAndOtherDataSlice []CumulativeKeyNumAndOtherData\n\nfunc (t CumulativeKeyNumAndOtherDataSlice) Swap(i, j int) { t[i], t[j] = t[j], t[i] }\nfunc (t CumulativeKeyNumAndOtherDataSlice) Len() int      { return len(t) }\nfunc (t CumulativeKeyNumAndOtherDataSlice) Less(i, j int) bool {\n\treturn t[i].CumulativeKeyNum < t[j].CumulativeKeyNum\n}\n\n// CumulativeKeyNumAndOtherDataByUnixSecond is a slice of CumulativeKeyNumAndOtherData to sort by UnixSecond.\ntype CumulativeKeyNumAndOtherDataByUnixSecond []CumulativeKeyNumAndOtherData\n\nfunc (t CumulativeKeyNumAndOtherDataByUnixSecond) Swap(i, j int) { t[i], t[j] = t[j], t[i] }\nfunc (t CumulativeKeyNumAndOtherDataByUnixSecond) Len() int      { return len(t) }\nfunc (t CumulativeKeyNumAndOtherDataByUnixSecond) Less(i, j int) bool {\n\treturn t[i].UnixSecond < t[j].UnixSecond\n}\n\n// FindRangesData sorts all data points by its timestamp.\n// And then aggregate by the cumulative throughput,\n// in order to map the number of keys to the average memory usage.\nfunc FindRangesData(data []CumulativeKeyNumAndOtherData, unit int64, totalRequests int64) CumulativeKeyNumAndOtherDataSlice {\n\t// need to sort by timestamps because we want the 'cumulative'\n\t// trends as we write more keys, 'report.TimeSeries' already implements\n\t// sort interface, so just sort.Sort(data)\n\tsort.Sort(CumulativeKeyNumAndOtherDataByUnixSecond(data))\n\n\tcumulKeyN := int64(0)\n\tmaxKey := int64(0)\n\n\trm := make(map[int64]CumulativeKeyNumAndOtherData)\n\n\t// this data is aggregated by second\n\t// and we want to map number of keys to memory usage\n\t// so the range is the key\n\t// and the value is the cumulative throughput\n\tfor _, ts := range data {\n\t\tcumulKeyN += ts.Throughput\n\t\tif cumulKeyN < unit {\n\t\t\t// not enough data points yet\n\t\t\tcontinue\n\t\t}\n\n\t\t// cumulKeyN >= unit\n\t\tfor cumulKeyN > maxKey {\n\t\t\tmaxKey += unit\n\t\t\trm[maxKey] = ts\n\t\t}\n\t}\n\n\t// fill-in empty rows\n\tfor i := maxKey; i < int64(totalRequests); i += unit {\n\t\tif _, ok := rm[i]; !ok {\n\t\t\trm[i] = CumulativeKeyNumAndOtherData{}\n\t\t}\n\t}\n\tif _, ok := rm[int64(totalRequests)]; !ok {\n\t\trm[int64(totalRequests)] = CumulativeKeyNumAndOtherData{}\n\t}\n\n\tkss := []CumulativeKeyNumAndOtherData{}\n\tdelete(rm, 0) // drop data at beginning\n\n\tfor k, v := range rm {\n\t\t// make sure to use 'k' as keyNum\n\t\tkss = append(kss, CumulativeKeyNumAndOtherData{\n\t\t\tCumulativeKeyNum:   k,\n\t\t\tMinMemoryMB:        v.MinMemoryMB,\n\t\t\tAvgMemoryMB:        v.AvgMemoryMB,\n\t\t\tMaxMemoryMB:        v.MaxMemoryMB,\n\t\t\tAvgReadBytesDelta:  v.AvgReadBytesDelta,\n\t\t\tAvgWriteBytesDelta: v.AvgWriteBytesDelta,\n\t\t})\n\t}\n\n\t// sort by cumulative throughput (number of keys) in ascending order\n\tsort.Sort(CumulativeKeyNumAndOtherDataSlice(kss))\n\treturn kss\n}\n"
  },
  {
    "path": "find_ranges_test.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"reflect\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/pkg/report\"\n)\n\nfunc TestFindRangesLatency(t *testing.T) {\n\tvar data report.TimeSeries\n\tfor i := int64(0); i < 10; i++ {\n\t\tdp := report.DataPoint{\n\t\t\tTimestamp:  i,\n\t\t\tAvgLatency: time.Duration(i + 1),\n\t\t\tThroughPut: 50,\n\t\t}\n\t\tdata = append(data, dp)\n\t}\n\n\tpss := FindRangesLatency(data, 20, 555)\n\texpexcted := []CumulativeKeyNumToAvgLatency{\n\t\t{CumulativeKeyNum: 20, AvgLatency: 1},\n\t\t{CumulativeKeyNum: 40, AvgLatency: 1},\n\t\t{CumulativeKeyNum: 60, AvgLatency: 1},\n\t\t{CumulativeKeyNum: 80, AvgLatency: 2},\n\t\t{CumulativeKeyNum: 100, AvgLatency: 2},\n\t\t{CumulativeKeyNum: 120, AvgLatency: 3},\n\t\t{CumulativeKeyNum: 140, AvgLatency: 3},\n\t\t{CumulativeKeyNum: 160, AvgLatency: 3},\n\t\t{CumulativeKeyNum: 180, AvgLatency: 4},\n\t\t{CumulativeKeyNum: 200, AvgLatency: 4},\n\t\t{CumulativeKeyNum: 220, AvgLatency: 5},\n\t\t{CumulativeKeyNum: 240, AvgLatency: 5},\n\t\t{CumulativeKeyNum: 260, AvgLatency: 5},\n\t\t{CumulativeKeyNum: 280, AvgLatency: 6},\n\t\t{CumulativeKeyNum: 300, AvgLatency: 6},\n\t\t{CumulativeKeyNum: 320, AvgLatency: 7},\n\t\t{CumulativeKeyNum: 340, AvgLatency: 7},\n\t\t{CumulativeKeyNum: 360, AvgLatency: 7},\n\t\t{CumulativeKeyNum: 380, AvgLatency: 8},\n\t\t{CumulativeKeyNum: 400, AvgLatency: 8},\n\t\t{CumulativeKeyNum: 420, AvgLatency: 9},\n\t\t{CumulativeKeyNum: 440, AvgLatency: 9},\n\t\t{CumulativeKeyNum: 460, AvgLatency: 9},\n\t\t{CumulativeKeyNum: 480, AvgLatency: 10},\n\t\t{CumulativeKeyNum: 500, AvgLatency: 10},\n\t\t{CumulativeKeyNum: 520, AvgLatency: 0},\n\t\t{CumulativeKeyNum: 540, AvgLatency: 0},\n\t\t{CumulativeKeyNum: 555, AvgLatency: 0},\n\t}\n\tif len(pss) != len(expexcted) {\n\t\tt.Fatalf(\"expected %+v, got %+v\", expexcted, pss)\n\t}\n\tfor i, elem := range pss {\n\t\tif !reflect.DeepEqual(elem, expexcted[i]) {\n\t\t\tt.Fatalf(\"#%d: processed data point expected %+v, got %+v\", i, expexcted[i], elem)\n\t\t}\n\t}\n}\n\nfunc TestFindRangesData(t *testing.T) {\n\tvar data []CumulativeKeyNumAndOtherData\n\tfor i := int64(0); i < 10; i++ {\n\t\tdp := CumulativeKeyNumAndOtherData{\n\t\t\tUnixSecond:  i + 1,\n\t\t\tThroughput:  50,\n\t\t\tAvgMemoryMB: float64(i + 1),\n\t\t}\n\t\tdata = append(data, dp)\n\t}\n\n\tpss := FindRangesData(data, 20, 555)\n\texpexcted := []CumulativeKeyNumAndOtherData{\n\t\t{CumulativeKeyNum: 20, AvgMemoryMB: 1},\n\t\t{CumulativeKeyNum: 40, AvgMemoryMB: 1},\n\t\t{CumulativeKeyNum: 60, AvgMemoryMB: 1},\n\t\t{CumulativeKeyNum: 80, AvgMemoryMB: 2},\n\t\t{CumulativeKeyNum: 100, AvgMemoryMB: 2},\n\t\t{CumulativeKeyNum: 120, AvgMemoryMB: 3},\n\t\t{CumulativeKeyNum: 140, AvgMemoryMB: 3},\n\t\t{CumulativeKeyNum: 160, AvgMemoryMB: 3},\n\t\t{CumulativeKeyNum: 180, AvgMemoryMB: 4},\n\t\t{CumulativeKeyNum: 200, AvgMemoryMB: 4},\n\t\t{CumulativeKeyNum: 220, AvgMemoryMB: 5},\n\t\t{CumulativeKeyNum: 240, AvgMemoryMB: 5},\n\t\t{CumulativeKeyNum: 260, AvgMemoryMB: 5},\n\t\t{CumulativeKeyNum: 280, AvgMemoryMB: 6},\n\t\t{CumulativeKeyNum: 300, AvgMemoryMB: 6},\n\t\t{CumulativeKeyNum: 320, AvgMemoryMB: 7},\n\t\t{CumulativeKeyNum: 340, AvgMemoryMB: 7},\n\t\t{CumulativeKeyNum: 360, AvgMemoryMB: 7},\n\t\t{CumulativeKeyNum: 380, AvgMemoryMB: 8},\n\t\t{CumulativeKeyNum: 400, AvgMemoryMB: 8},\n\t\t{CumulativeKeyNum: 420, AvgMemoryMB: 9},\n\t\t{CumulativeKeyNum: 440, AvgMemoryMB: 9},\n\t\t{CumulativeKeyNum: 460, AvgMemoryMB: 9},\n\t\t{CumulativeKeyNum: 480, AvgMemoryMB: 10},\n\t\t{CumulativeKeyNum: 500, AvgMemoryMB: 10},\n\t\t{CumulativeKeyNum: 520, AvgMemoryMB: 0},\n\t\t{CumulativeKeyNum: 540, AvgMemoryMB: 0},\n\t\t{CumulativeKeyNum: 555, AvgMemoryMB: 0},\n\t}\n\tif len(pss) != len(expexcted) {\n\t\tt.Fatalf(\"expected %+v, got %+v\", expexcted, pss)\n\t}\n\tfor i, elem := range pss {\n\t\tif !reflect.DeepEqual(elem, expexcted[i]) {\n\t\t\tt.Fatalf(\"#%d: processed data point expected %+v, got %+v\", i, expexcted[i], elem)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "pkg/fileinspect/fileinspect.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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// Package fileinspect implements various file inspecting utils.\npackage fileinspect\n\nimport (\n\t\"os\"\n\t\"path/filepath\"\n\t\"sort\"\n\t\"strings\"\n\n\thumanize \"github.com/dustin/go-humanize\"\n)\n\n// Walk walks all files in the target directory.\nfunc Walk(targetDir string) (map[string]os.FileInfo, error) {\n\trm := make(map[string]os.FileInfo)\n\tvisit := func(path string, f os.FileInfo, err error) error {\n\t\tif f != nil {\n\t\t\tif !f.IsDir() {\n\t\t\t\twd, err := os.Getwd()\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\trm[filepath.Join(wd, strings.Replace(path, wd, \"\", -1))] = f\n\t\t\t}\n\t\t}\n\t\treturn nil\n\t}\n\terr := filepath.Walk(targetDir, visit)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn rm, nil\n}\n\n// Size returns the size of target directory, in bytes.\n// Same as 'du -sh $DIR'.\nfunc Size(targetDir string) (int64, error) {\n\tfm, err := Walk(targetDir)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tvar size int64\n\tfor _, v := range fm {\n\t\tsize += v.Size()\n\t}\n\treturn size, nil\n}\n\nfunc walk(targetDir string) (map[string]os.FileInfo, error) {\n\trm := make(map[string]os.FileInfo)\n\tvisit := func(path string, f os.FileInfo, err error) error {\n\t\tif f != nil {\n\t\t\tif !f.IsDir() {\n\t\t\t\tif !filepath.HasPrefix(path, \".\") && !strings.Contains(path, \"/.\") {\n\t\t\t\t\twd, err := os.Getwd()\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\trm[filepath.Join(wd, strings.Replace(path, wd, \"\", -1))] = f\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn nil\n\t}\n\terr := filepath.Walk(targetDir, visit)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn rm, nil\n}\n\ntype filepathSize struct {\n\tpath    string\n\tsize    uint64\n\tsizeTxt string\n}\n\nfunc filterByKbs(fs []filepathSize, kbLimit int) []filepathSize {\n\tvar ns []filepathSize\n\tfor _, v := range fs {\n\t\tif v.size > uint64(kbLimit*1024) {\n\t\t\tcontinue\n\t\t}\n\t\tns = append(ns, v)\n\t}\n\treturn ns\n}\n\ntype filepathSizeSlice []filepathSize\n\nfunc (f filepathSizeSlice) Len() int           { return len(f) }\nfunc (f filepathSizeSlice) Swap(i, j int)      { f[i], f[j] = f[j], f[i] }\nfunc (f filepathSizeSlice) Less(i, j int) bool { return f[i].size < f[j].size }\n\nfunc walkDir(targetDir string) ([]filepathSize, error) {\n\trm, err := walk(targetDir)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar fs []filepathSize\n\tfor k, v := range rm {\n\t\tfv := filepathSize{\n\t\t\tpath:    k,\n\t\t\tsize:    uint64(v.Size()),\n\t\t\tsizeTxt: humanize.Bytes(uint64(v.Size())),\n\t\t}\n\t\tfs = append(fs, fv)\n\t}\n\tsort.Sort(filepathSizeSlice(fs))\n\n\treturn fs, nil\n}\n"
  },
  {
    "path": "pkg/fileinspect/fileinspect_test.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage fileinspect\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"testing\"\n)\n\nfunc openToOverwrite(fpath string) (*os.File, error) {\n\tf, err := os.OpenFile(fpath, os.O_RDWR|os.O_TRUNC|os.O_CREATE, 0777)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn f, nil\n}\n\nfunc writeData(fpath string, data []byte) (n int, err error) {\n\tf, err := openToOverwrite(fpath)\n\tif err != nil {\n\t\tf, err = os.Create(fpath)\n\t\tif err != nil {\n\t\t\treturn -1, err\n\t\t}\n\t}\n\tdefer f.Close()\n\tn, err = f.Write(data)\n\treturn\n}\n\nfunc createData() (dir string, n int64, err error) {\n\tdir, err = ioutil.TempDir(os.TempDir(), \"fileinspect-write-test\")\n\tif err != nil {\n\t\treturn\n\t}\n\tfor i := 0; i < 5; i++ {\n\t\tdirpath := filepath.Join(dir, fmt.Sprint(i))\n\t\tif err = os.MkdirAll(dirpath, 0777); err != nil {\n\t\t\treturn\n\t\t}\n\t\tfor j := 0; j < 10; j++ {\n\t\t\tfpath := filepath.Join(dirpath, fmt.Sprint(j))\n\t\t\tvar written int\n\t\t\tif written, err = writeData(fpath, bytes.Repeat([]byte(\"a\"), j)); err != nil {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tn += int64(written)\n\t\t}\n\t}\n\treturn\n}\n\nfunc TestWalkSize(t *testing.T) {\n\tdir, n, err := createData()\n\tdefer os.RemoveAll(dir)\n\tif err != nil {\n\t\tt.Fatal(err)\n\t}\n\tfm, err := Walk(dir)\n\tif err != nil {\n\t\tt.Fatal(err)\n\t}\n\tfmt.Printf(\"walking %q (written %d bytes)\\n\", dir, n)\n\tfor k, v := range fm {\n\t\tfmt.Printf(\"%q : %+v\\n\", k, v)\n\t}\n\n\tsize, err := Size(dir)\n\tif err != nil {\n\t\tt.Fatal(err)\n\t}\n\tif n != size {\n\t\tt.Fatalf(\"size expected %d, got %d\", n, size)\n\t}\n}\n"
  },
  {
    "path": "pkg/ntp/ntp.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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// Package ntp syncs system time with NTP server.\npackage ntp\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"os/exec\"\n\t\"strings\"\n)\n\nvar (\n\tDefaultNTP    = \"/usr/sbin/ntpdate\"\n\tDefaultServer = \"time.google.com\"\n)\n\n// DefaultSync syncs system time with NTP server.\nfunc DefaultSync() (string, error) {\n\treturn Sync(DefaultNTP, DefaultServer)\n}\n\nvar inUseErr = \"NTP socket is in use\"\n\n// Sync syncs system time with NTP server.\n//\n//    sudo service ntp stop\n//    sudo ntpdate time.google.com\n//    sudo service ntp start\n//\nfunc Sync(ntpPath string, server string) (string, error) {\n\tbuf := new(bytes.Buffer)\n\terr := startNTP(ntpPath, server, buf)\n\to := strings.TrimSpace(buf.String())\n\tif err == nil && strings.Contains(o, \"adjust time server\") {\n\t\treturn o, nil\n\t}\n\n\tif !strings.Contains(o, inUseErr) && (err != nil && !strings.Contains(err.Error(), inUseErr)) {\n\t\treturn o, err\n\t}\n\n\tso, err := serviceNTP(\"stop\")\n\tif err != nil {\n\t\treturn so, err\n\t}\n\n\tbuf.Reset()\n\terr = startNTP(ntpPath, server, buf)\n\to = strings.TrimSpace(buf.String())\n\tif err != nil {\n\t\treturn o, err\n\t}\n\n\tso, err = serviceNTP(\"start\")\n\tif err != nil {\n\t\treturn so, err\n\t}\n\tif so != \"\" {\n\t\to += \";\" + so\n\t}\n\treturn o, nil\n}\n\nfunc startNTP(ntpPath string, server string, w io.Writer) error {\n\tif !exist(ntpPath) {\n\t\treturn fmt.Errorf(\"%q does not exist\", ntpPath)\n\t}\n\tcmd := exec.Command(\"sudo\", ntpPath, server)\n\tcmd.Stdout = w\n\tcmd.Stderr = w\n\treturn cmd.Run()\n}\n\n// when 'NTP socket is in use' error is returned\nfunc serviceNTP(command string) (string, error) {\n\tbuf := new(bytes.Buffer)\n\tcmd := exec.Command(\"sudo\", \"service\", \"ntp\", command)\n\tcmd.Stdout = buf\n\tcmd.Stderr = buf\n\terr := cmd.Run()\n\treturn strings.TrimSpace(buf.String()), err\n}\n\n// exist returns true if the file or directory exists.\nfunc exist(fpath string) bool {\n\tst, err := os.Stat(fpath)\n\tif err != nil {\n\t\tif os.IsNotExist(err) {\n\t\t\treturn false\n\t\t}\n\t}\n\tif st.IsDir() {\n\t\treturn true\n\t}\n\tif _, err := os.Stat(fpath); err != nil {\n\t\tif os.IsNotExist(err) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "pkg/ntp/ntp_test.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage ntp\n\nimport (\n\t\"fmt\"\n\t\"testing\"\n)\n\nfunc TestSync(t *testing.T) {\n\to, err := DefaultSync()\n\tif err != nil {\n\t\tt.Log(err)\n\t}\n\tfmt.Println(o)\n}\n"
  },
  {
    "path": "pkg/remotestorage/doc.go",
    "content": "// Copyright 2016 CoreOS, Inc.\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// Package remotestorage wraps cloud storage API.\npackage remotestorage\n"
  },
  {
    "path": "pkg/remotestorage/example/agent.log",
    "content": ""
  },
  {
    "path": "pkg/remotestorage/example/key.json",
    "content": "a\n"
  },
  {
    "path": "pkg/remotestorage/example/main.go",
    "content": "// Copyright 2018 CoreOS, Inc.\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\npackage main\n\nimport (\n\t\"io/ioutil\"\n\t\"log\"\n\n\t\"github.com/etcd-io/dbtester/pkg/remotestorage\"\n\n\t\"go.uber.org/zap\"\n)\n\nfunc main() {\n\tkbs, err := ioutil.ReadFile(\"key.json\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tu, err := remotestorage.NewGoogleCloudStorage(zap.NewExample(), kbs, \"etcd-development\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tif err := u.UploadFile(\"dbtester-results\", \"agent.log\", \"dir/agent.log\", remotestorage.WithContentType(\"text/plain\")); err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\t// upload directories\n\t// kbs, err := ioutil.ReadFile(\"key.json\")\n\t// if err != nil {\n\t// \tlog.Fatal(err)\n\t// }\n\t// u, err := remotestorage.NewGoogleCloudStorage(kbs, \"my-project\")\n\t// if err != nil {\n\t// \tlog.Fatal(err)\n\t// }\n\t// if err := u.UploadDir(\"test-bucket\", \"articles\", \"articles\"); err != nil {\n\t// \tlog.Fatal(err)\n\t// }\n}\n"
  },
  {
    "path": "pkg/remotestorage/op.go",
    "content": "// Copyright 2016 CoreOS, Inc.\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\npackage remotestorage\n\ntype Op struct {\n\tContentType string\n}\n\ntype OpOption func(*Op)\n\nfunc WithContentType(t string) OpOption {\n\treturn func(op *Op) {\n\t\top.ContentType = t\n\t}\n}\n\nfunc (op *Op) applyOpts(opts []OpOption) {\n\tfor _, opt := range opts {\n\t\topt(op)\n\t}\n}\n"
  },
  {
    "path": "pkg/remotestorage/uploader.go",
    "content": "// Copyright 2016 CoreOS, Inc.\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\npackage remotestorage\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"path/filepath\"\n\t\"strings\"\n\n\t\"cloud.google.com/go/storage\"\n\t\"go.uber.org/zap\"\n\t\"golang.org/x/oauth2/google\"\n\t\"golang.org/x/oauth2/jwt\"\n\t\"google.golang.org/api/option\"\n)\n\n// Uploader defines storage uploader.\ntype Uploader interface {\n\t// UploadFile uploads a file.\n\tUploadFile(bucket, src, dst string, opts ...OpOption) error\n\n\t// UploadDir uploads a directory.\n\tUploadDir(bucket, src, dst string, opts ...OpOption) error\n}\n\n// GoogleCloudStorage wraps Google Cloud Storage API.\ntype GoogleCloudStorage struct {\n\tlg      *zap.Logger\n\tJSONKey []byte\n\tProject string\n\tConfig  *jwt.Config\n}\n\n// NewGoogleCloudStorage creates a new uploader.\nfunc NewGoogleCloudStorage(lg *zap.Logger, key []byte, project string) (Uploader, error) {\n\tconf, err := google.JWTConfigFromJSON(\n\t\tkey,\n\t\tstorage.ScopeFullControl,\n\t)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &GoogleCloudStorage{\n\t\tlg:      lg,\n\t\tJSONKey: key,\n\t\tProject: project,\n\t\tConfig:  conf,\n\t}, nil\n}\n\n// UploadFile uploads a file to Google Cloud Storage.\nfunc (g *GoogleCloudStorage) UploadFile(bucket, src, dst string, opts ...OpOption) error {\n\tif g == nil {\n\t\treturn fmt.Errorf(\"GoogleCloudStorage is nil\")\n\t}\n\tret := &Op{}\n\tret.applyOpts(opts)\n\n\tctx := context.Background()\n\n\tclient, err := storage.NewClient(ctx, option.WithTokenSource(g.Config.TokenSource(ctx)))\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer client.Close()\n\n\tbkt := client.Bucket(bucket)\n\tif err := bkt.Create(ctx, g.Project, nil); err != nil {\n\t\tif err.Error() != \"googleapi: Error 409: Sorry, that name is not available. Please try a different one., conflict\" {\n\t\t\treturn err\n\t\t}\n\t}\n\n\twc := client.Bucket(bucket).Object(dst).NewWriter(context.Background())\n\tif ret.ContentType != \"\" {\n\t\twc.ContentType = ret.ContentType\n\t}\n\n\tg.lg.Info(\"uploading\", zap.String(\"source\", src), zap.String(\"destination\", dst))\n\tbts, err := ioutil.ReadFile(src)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"ioutil.ReadFile(%s) %v\", src, err)\n\t}\n\tif _, err := wc.Write(bts); err != nil {\n\t\treturn err\n\t}\n\tif err := wc.Close(); err != nil {\n\t\treturn err\n\t}\n\tg.lg.Info(\"uploaded\", zap.String(\"source\", src), zap.String(\"destination\", dst))\n\n\treturn nil\n}\n\n// UploadDir uploads a directory to Google Cloud Storage.\nfunc (g *GoogleCloudStorage) UploadDir(bucket, src, dst string, opts ...OpOption) error {\n\tif g == nil {\n\t\treturn fmt.Errorf(\"GoogleCloudStorage is nil\")\n\t}\n\tret := &Op{}\n\tret.applyOpts(opts)\n\n\tctx := context.Background()\n\n\tclient, err := storage.NewClient(ctx, option.WithTokenSource(g.Config.TokenSource(ctx)))\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer client.Close()\n\n\tbkt := client.Bucket(bucket)\n\tif err := bkt.Create(ctx, g.Project, nil); err != nil {\n\t\tif err.Error() != \"googleapi: Error 409: Sorry, that name is not available. Please try a different one., conflict\" {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tfmap, err := walkRecursive(src)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tdonec, errc := make(chan struct{}), make(chan error)\n\tfor fpath := range fmap {\n\t\tgo func(fpath string) {\n\t\t\ttargetPath := filepath.Join(dst, strings.Replace(fpath, src, \"\", -1))\n\n\t\t\tg.lg.Info(\"uploading\", zap.String(\"source\", fpath), zap.String(\"destination\", targetPath))\n\t\t\twc := client.Bucket(bucket).Object(targetPath).NewWriter(context.Background())\n\t\t\tif ret.ContentType != \"\" {\n\t\t\t\twc.ContentType = ret.ContentType\n\t\t\t}\n\t\t\tbts, err := ioutil.ReadFile(fpath)\n\t\t\tif err != nil {\n\t\t\t\terrc <- fmt.Errorf(\"ioutil.ReadFile(%s) %v\", fpath, err)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif _, err := wc.Write(bts); err != nil {\n\t\t\t\terrc <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif err := wc.Close(); err != nil {\n\t\t\t\terrc <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tg.lg.Info(\"uploaded\", zap.String(\"source\", fpath), zap.String(\"destination\", targetPath))\n\n\t\t\tdonec <- struct{}{}\n\t\t}(fpath)\n\t}\n\n\tcnt, num := 0, len(fmap)\n\tfor cnt != num {\n\t\tselect {\n\t\tcase <-donec:\n\t\tcase err := <-errc:\n\t\t\treturn err\n\t\t}\n\t\tcnt++\n\t}\n\n\tg.lg.Info(\"finished uploading\", zap.String(\"source\", src))\n\treturn nil\n}\n"
  },
  {
    "path": "pkg/remotestorage/util.go",
    "content": "// Copyright 2016 CoreOS, Inc.\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\npackage remotestorage\n\nimport (\n\t\"os\"\n\t\"path/filepath\"\n\t\"strings\"\n)\n\nfunc walkRecursive(dir string) (map[string]string, error) {\n\tfmap := make(map[string]string)\n\tvisit := func(path string, f os.FileInfo, err error) error {\n\t\tif f != nil {\n\t\t\tif !f.IsDir() {\n\t\t\t\tif !filepath.HasPrefix(path, \".\") && !strings.Contains(path, \"/.\") {\n\t\t\t\t\twd, err := os.Getwd()\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tfmap[filepath.Join(wd, strings.Replace(path, wd, \"\", -1))] = path\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn nil\n\t}\n\tif err := filepath.Walk(dir, visit); err != nil {\n\t\treturn nil, err\n\t}\n\treturn fmap, nil\n}\n"
  },
  {
    "path": "readme.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"path/filepath\"\n)\n\n// WriteREADME writes README.\nfunc (cfg *Config) WriteREADME(summary string) error {\n\tcfg.lg.Sugar().Infof(\"writing README at %q\", cfg.ConfigAnalyzeMachineREADME.OutputPath)\n\n\tbuf := new(bytes.Buffer)\n\tbuf.WriteString(\"\\n\\n\")\n\tbuf.WriteString(fmt.Sprintf(\"<br><br><hr>\\n##### %s\", cfg.TestTitle))\n\tbuf.WriteString(\"\\n\\n\")\n\tbuf.WriteString(cfg.TestDescription)\n\tbuf.WriteString(\"\\n\\n```\\n\")\n\tbuf.WriteString(summary)\n\tbuf.WriteString(\"```\\n\\n\\n\")\n\n\tfor _, img := range cfg.Images {\n\t\tswitch img.Type {\n\t\tcase \"local\":\n\t\t\timgPath := \"./\" + filepath.Base(img.Path)\n\t\t\tbuf.WriteString(fmt.Sprintf(\"![%s](%s)\\n\\n\", img.Title, imgPath))\n\t\tcase \"remote\":\n\t\t\tbuf.WriteString(fmt.Sprintf(`<img src=\"%s\" alt=\"%s\">`, img.Path, img.Title))\n\t\t\tbuf.WriteString(\"\\n\\n\")\n\t\tdefault:\n\t\t\treturn fmt.Errorf(\"%s is not supported\", img.Type)\n\t\t}\n\t\tbuf.WriteString(\"\\n\\n\")\n\t}\n\n\treturn toFile(buf.String(), cfg.ConfigAnalyzeMachineREADME.OutputPath)\n}\n"
  },
  {
    "path": "report.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"fmt\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/cheggaaa/pb\"\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\t\"github.com/coreos/etcd/pkg/report\"\n\t\"golang.org/x/net/context\"\n)\n\ntype benchmark struct {\n\tbar        *pb.ProgressBar\n\treport     report.Report\n\treportDone <-chan report.Stats\n\tstats      report.Stats\n\n\treqHandlers []ReqHandler\n\treqGen      func(chan<- request)\n\treqDone     func()\n\twg          sync.WaitGroup\n\n\tmu           sync.RWMutex\n\tinflightReqs chan request\n}\n\n// pass totalN in case that 'cfg' is manipulated\nfunc newBenchmark(totalN int64, clientsN int64, reqHandlers []ReqHandler, reqDone func(), reqGen func(chan<- request)) (b *benchmark) {\n\tb = &benchmark{\n\t\tbar:         pb.New(int(totalN)),\n\t\treqHandlers: reqHandlers,\n\t\treqGen:      reqGen,\n\t\treqDone:     reqDone,\n\t\twg:          sync.WaitGroup{},\n\t}\n\tb.inflightReqs = make(chan request, clientsN)\n\n\tb.bar.Format(\"Bom !\")\n\tb.bar.Start()\n\tb.report = report.NewReportSample(\"%4.4f\")\n\treturn\n}\n\n// only useful when multiple ranges of requests are run with one report\nfunc (b *benchmark) reset(clientsN int64, reqHandlers []ReqHandler, reqDone func(), reqGen func(chan<- request)) {\n\tif len(reqHandlers) == 0 {\n\t\tpanic(fmt.Errorf(\"got 0 reqHandlers\"))\n\t}\n\tb.reqHandlers = reqHandlers\n\tb.reqDone = reqDone\n\tb.reqGen = reqGen\n\n\t// inflight requests will be dropped!\n\tb.mu.Lock()\n\tb.inflightReqs = make(chan request, clientsN)\n\tb.mu.Unlock()\n}\n\nfunc (b *benchmark) getInflightsReqs() (ch chan request) {\n\tb.mu.RLock()\n\tch = b.inflightReqs\n\tb.mu.RUnlock()\n\treturn\n}\n\nfunc (b *benchmark) startRequests() {\n\tfor i := range b.reqHandlers {\n\t\tb.wg.Add(1)\n\t\tgo func(rh ReqHandler) {\n\t\t\tdefer b.wg.Done()\n\t\t\tfor req := range b.getInflightsReqs() {\n\t\t\t\tif rh == nil {\n\t\t\t\t\tpanic(fmt.Errorf(\"got nil rh\"))\n\t\t\t\t}\n\t\t\t\tst := time.Now()\n\t\t\t\terr := rh(context.Background(), &req)\n\t\t\t\tb.report.Results() <- report.Result{Err: err, Start: st, End: time.Now()}\n\t\t\t\tb.bar.Increment()\n\t\t\t}\n\t\t}(b.reqHandlers[i])\n\t}\n\tgo b.reqGen(b.getInflightsReqs())\n\tb.reportDone = b.report.Stats()\n}\n\nfunc (b *benchmark) waitRequestsEnd() {\n\tb.wg.Wait()\n\tif b.reqDone != nil {\n\t\tb.reqDone() // cancel connections\n\t}\n}\n\nfunc (b *benchmark) finishReports() {\n\tclose(b.report.Results())\n\tb.bar.Finish()\n\tst := <-b.reportDone\n\tb.stats = st\n}\n\nfunc (b *benchmark) waitAll() {\n\tb.waitRequestsEnd()\n\tb.finishReports()\n}\n\nfunc printStats(st report.Stats) {\n\t// to be piped to cfg.Log via stdout when dbtester executed\n\tif len(st.Lats) > 0 {\n\t\tfmt.Printf(\"Total: %v\\n\", st.Total)\n\t\tfmt.Printf(\"Slowest: %f secs\\n\", st.Slowest)\n\t\tfmt.Printf(\"Fastest: %f secs\\n\", st.Fastest)\n\t\tfmt.Printf(\"Average: %f secs\\n\", st.Average)\n\t\tfmt.Printf(\"Requests/sec: %4.4f\\n\", st.RPS)\n\t}\n\tif len(st.ErrorDist) > 0 {\n\t\tfor k, v := range st.ErrorDist {\n\t\t\tfmt.Printf(\"ERROR %q : %d\\n\", k, v)\n\t\t}\n\t} else {\n\t\tfmt.Println(\"ERRRO: 0\")\n\t}\n}\n\nfunc (cfg *Config) generateReport(gcfg dbtesterpb.ConfigClientMachineAgentControl, h []ReqHandler, reqDone func(), reqGen func(chan<- request)) {\n\tb := newBenchmark(gcfg.ConfigClientMachineBenchmarkOptions.RequestNumber, gcfg.ConfigClientMachineBenchmarkOptions.ClientNumber, h, reqDone, reqGen)\n\tb.startRequests()\n\tb.waitAll()\n\n\tprintStats(b.stats)\n\tcfg.saveAllStats(gcfg, b.stats, nil)\n}\n"
  },
  {
    "path": "report_save_upload.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\t\"github.com/etcd-io/dbtester/pkg/remotestorage\"\n\n\t\"github.com/coreos/etcd/pkg/report\"\n\thumanize \"github.com/dustin/go-humanize\"\n\t\"github.com/gyuho/dataframe\"\n)\n\n// DiskSpaceUsageSummaryColumns defines summary columns.\nvar DiskSpaceUsageSummaryColumns = []string{\n\t\"INDEX\",\n\t\"DATABASE-ENDPOINT\",\n\t\"DISK-SPACE-USAGE\",\n\t\"DISK-SPACE-USAGE-BYTES-NUM\",\n}\n\n// SaveDiskSpaceUsageSummary saves data size summary.\nfunc (cfg *Config) SaveDiskSpaceUsageSummary(databaseID string, idxToResponse map[int]dbtesterpb.Response) error {\n\tgcfg, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID]\n\tif !ok {\n\t\treturn fmt.Errorf(\"%q does not exist\", databaseID)\n\t}\n\n\tc1 := dataframe.NewColumn(DiskSpaceUsageSummaryColumns[0])\n\tc2 := dataframe.NewColumn(DiskSpaceUsageSummaryColumns[1])\n\tc3 := dataframe.NewColumn(DiskSpaceUsageSummaryColumns[2])\n\tc4 := dataframe.NewColumn(DiskSpaceUsageSummaryColumns[3])\n\tfor i := range gcfg.DatabaseEndpoints {\n\t\tc1.PushBack(dataframe.NewStringValue(i))\n\t\tc2.PushBack(dataframe.NewStringValue(gcfg.DatabaseEndpoints[i]))\n\t\tc3.PushBack(dataframe.NewStringValue(humanize.Bytes(uint64(idxToResponse[i].DiskSpaceUsageBytes))))\n\t\tc4.PushBack(dataframe.NewStringValue(idxToResponse[i].DiskSpaceUsageBytes))\n\t}\n\n\tfr := dataframe.New()\n\tif err := fr.AddColumn(c1); err != nil {\n\t\treturn err\n\t}\n\tif err := fr.AddColumn(c2); err != nil {\n\t\treturn err\n\t}\n\tif err := fr.AddColumn(c3); err != nil {\n\t\treturn err\n\t}\n\tif err := fr.AddColumn(c4); err != nil {\n\t\treturn err\n\t}\n\n\treturn fr.CSV(cfg.ConfigClientMachineInitial.ServerDiskSpaceUsageSummaryPath)\n}\n\nfunc (cfg *Config) saveDataLatencyDistributionSummary(st report.Stats) {\n\tfr := dataframe.New()\n\n\tc1 := dataframe.NewColumn(\"TOTAL-SECONDS\")\n\tc1.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%4.4f\", st.Total.Seconds())))\n\tif err := fr.AddColumn(c1); err != nil {\n\t\tpanic(err)\n\t}\n\n\tc2 := dataframe.NewColumn(\"REQUESTS-PER-SECOND\")\n\tc2.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%4.4f\", st.RPS)))\n\tif err := fr.AddColumn(c2); err != nil {\n\t\tpanic(err)\n\t}\n\n\tc3 := dataframe.NewColumn(\"SLOWEST-LATENCY-MS\")\n\tc3.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%4.4f\", 1000*st.Slowest)))\n\tif err := fr.AddColumn(c3); err != nil {\n\t\tpanic(err)\n\t}\n\n\tc4 := dataframe.NewColumn(\"FASTEST-LATENCY-MS\")\n\tc4.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%4.4f\", 1000*st.Fastest)))\n\tif err := fr.AddColumn(c4); err != nil {\n\t\tpanic(err)\n\t}\n\n\tc5 := dataframe.NewColumn(\"AVERAGE-LATENCY-MS\")\n\tc5.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%4.4f\", 1000*st.Average)))\n\tif err := fr.AddColumn(c5); err != nil {\n\t\tpanic(err)\n\t}\n\n\tc6 := dataframe.NewColumn(\"STDDEV-LATENCY-MS\")\n\tc6.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%4.4f\", 1000*st.Stddev)))\n\tif err := fr.AddColumn(c6); err != nil {\n\t\tpanic(err)\n\t}\n\n\tif len(st.ErrorDist) > 0 {\n\t\tfor errName, errN := range st.ErrorDist {\n\t\t\terrcol := dataframe.NewColumn(fmt.Sprintf(\"ERROR: %q\", errName))\n\t\t\terrcol.PushBack(dataframe.NewStringValue(errN))\n\t\t\tif err := fr.AddColumn(errcol); err != nil {\n\t\t\t\tpanic(err)\n\t\t\t}\n\t\t}\n\t} else {\n\t\terrcol := dataframe.NewColumn(\"ERROR\")\n\t\terrcol.PushBack(dataframe.NewStringValue(\"0\"))\n\t\tif err := fr.AddColumn(errcol); err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t}\n\n\tif err := fr.CSVHorizontal(cfg.ConfigClientMachineInitial.ClientLatencyDistributionSummaryPath); err != nil {\n\t\tpanic(err)\n\t}\n}\n\nfunc (cfg *Config) saveDataLatencyDistributionPercentile(st report.Stats) {\n\tpctls, seconds := report.Percentiles(st.Lats)\n\tc1 := dataframe.NewColumn(\"LATENCY-PERCENTILE\")\n\tc2 := dataframe.NewColumn(\"LATENCY-MS\")\n\tfor i := range pctls {\n\t\tpct := fmt.Sprintf(\"p%.1f\", pctls[i])\n\t\tif strings.HasSuffix(pct, \".0\") {\n\t\t\tpct = strings.Replace(pct, \".0\", \"\", -1)\n\t\t}\n\n\t\tc1.PushBack(dataframe.NewStringValue(pct))\n\t\tc2.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%f\", 1000*seconds[i])))\n\t}\n\n\tfr := dataframe.New()\n\tif err := fr.AddColumn(c1); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr.AddColumn(c2); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr.CSV(cfg.ConfigClientMachineInitial.ClientLatencyDistributionPercentilePath); err != nil {\n\t\tpanic(err)\n\t}\n}\n\nfunc (cfg *Config) saveDataLatencyDistributionAll(st report.Stats) {\n\tmin := int64(math.MaxInt64)\n\tmax := int64(-100000)\n\trm := make(map[int64]int64)\n\tfor _, lt := range st.Lats {\n\t\t// convert second(float64) to millisecond\n\t\tms := lt * 1000\n\n\t\t// truncate all digits below 10ms\n\t\t// (e.g. 125.11ms becomes 120ms)\n\t\tv := int64(math.Trunc(ms/10) * 10)\n\t\tif _, ok := rm[v]; !ok {\n\t\t\trm[v] = 1\n\t\t} else {\n\t\t\trm[v]++\n\t\t}\n\n\t\tif min > v {\n\t\t\tmin = v\n\t\t}\n\t\tif max < v {\n\t\t\tmax = v\n\t\t}\n\t}\n\n\tc1 := dataframe.NewColumn(\"LATENCY-MS\")\n\tc2 := dataframe.NewColumn(\"COUNT\")\n\tcur := min\n\tfor {\n\t\tc1.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%d\", int64(cur))))\n\t\tv, ok := rm[cur]\n\t\tif ok {\n\t\t\tc2.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%d\", v)))\n\t\t} else {\n\t\t\tc2.PushBack(dataframe.NewStringValue(\"0\"))\n\t\t}\n\t\tcur += 10\n\t\tif cur-10 == max { // was last point\n\t\t\tbreak\n\t\t}\n\t}\n\tfr := dataframe.New()\n\tif err := fr.AddColumn(c1); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr.AddColumn(c2); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr.CSV(cfg.ConfigClientMachineInitial.ClientLatencyDistributionAllPath); err != nil {\n\t\tpanic(err)\n\t}\n}\n\nfunc (cfg *Config) saveDataLatencyThroughputTimeseries(gcfg dbtesterpb.ConfigClientMachineAgentControl, st report.Stats, clientNs []int64) {\n\tif len(clientNs) == 0 && len(gcfg.ConfigClientMachineBenchmarkOptions.ConnectionClientNumbers) == 0 {\n\t\tclientNs = make([]int64, len(st.TimeSeries))\n\t\tfor i := range clientNs {\n\t\t\tclientNs[i] = gcfg.ConfigClientMachineBenchmarkOptions.ClientNumber\n\t\t}\n\t}\n\tc1 := dataframe.NewColumn(\"UNIX-SECOND\")\n\tc2 := dataframe.NewColumn(\"CONTROL-CLIENT-NUM\")\n\tc3 := dataframe.NewColumn(\"MIN-LATENCY-MS\")\n\tc4 := dataframe.NewColumn(\"AVG-LATENCY-MS\")\n\tc5 := dataframe.NewColumn(\"MAX-LATENCY-MS\")\n\tc6 := dataframe.NewColumn(\"AVG-THROUGHPUT\")\n\tfor i := range st.TimeSeries {\n\t\t// this Timestamp is unix seconds\n\t\tc1.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%d\", st.TimeSeries[i].Timestamp)))\n\t\tc2.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%d\", clientNs[i])))\n\t\tc3.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%f\", toMillisecond(st.TimeSeries[i].MinLatency))))\n\t\tc4.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%f\", toMillisecond(st.TimeSeries[i].AvgLatency))))\n\t\tc5.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%f\", toMillisecond(st.TimeSeries[i].MaxLatency))))\n\t\tc6.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%d\", st.TimeSeries[i].ThroughPut)))\n\t}\n\n\tfr := dataframe.New()\n\tif err := fr.AddColumn(c1); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr.AddColumn(c2); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr.AddColumn(c3); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr.AddColumn(c4); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr.AddColumn(c5); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := fr.AddColumn(c6); err != nil {\n\t\tpanic(err)\n\t}\n\n\tif err := fr.CSV(cfg.ConfigClientMachineInitial.ClientLatencyThroughputTimeseriesPath); err != nil {\n\t\tpanic(err)\n\t}\n\n\t// aggregate latency by the number of keys\n\ttss := FindRangesLatency(st.TimeSeries, 1000, gcfg.ConfigClientMachineBenchmarkOptions.RequestNumber)\n\tctt1 := dataframe.NewColumn(\"KEYS\")\n\tctt2 := dataframe.NewColumn(\"MIN-LATENCY-MS\")\n\tctt3 := dataframe.NewColumn(\"AVG-LATENCY-MS\")\n\tctt4 := dataframe.NewColumn(\"MAX-LATENCY-MS\")\n\tfor i := range tss {\n\t\tctt1.PushBack(dataframe.NewStringValue(tss[i].CumulativeKeyNum))\n\t\tctt2.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%f\", toMillisecond(tss[i].MinLatency))))\n\t\tctt3.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%f\", toMillisecond(tss[i].AvgLatency))))\n\t\tctt4.PushBack(dataframe.NewStringValue(fmt.Sprintf(\"%f\", toMillisecond(tss[i].MaxLatency))))\n\t}\n\n\tfrr := dataframe.New()\n\tif err := frr.AddColumn(ctt1); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := frr.AddColumn(ctt2); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := frr.AddColumn(ctt3); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := frr.AddColumn(ctt4); err != nil {\n\t\tpanic(err)\n\t}\n\n\tif err := frr.CSV(cfg.ConfigClientMachineInitial.ClientLatencyByKeyNumberPath); err != nil {\n\t\tpanic(err)\n\t}\n}\n\nfunc (cfg *Config) saveAllStats(gcfg dbtesterpb.ConfigClientMachineAgentControl, stats report.Stats, clientNs []int64) {\n\tcfg.saveDataLatencyDistributionSummary(stats)\n\tcfg.saveDataLatencyDistributionPercentile(stats)\n\tcfg.saveDataLatencyDistributionAll(stats)\n\tcfg.saveDataLatencyThroughputTimeseries(gcfg, stats, clientNs)\n}\n\n// UploadToGoogle uploads target file to Google Cloud Storage.\nfunc (cfg *Config) UploadToGoogle(databaseID string, targetPath string) error {\n\tgcfg, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID]\n\tif !ok {\n\t\treturn fmt.Errorf(\"%q does not exist\", databaseID)\n\t}\n\tif !exist(targetPath) {\n\t\treturn fmt.Errorf(\"%q does not exist\", targetPath)\n\t}\n\tu, err := remotestorage.NewGoogleCloudStorage(cfg.lg, []byte(cfg.ConfigClientMachineInitial.GoogleCloudStorageKey), cfg.ConfigClientMachineInitial.GoogleCloudProjectName)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tsrcPath := targetPath\n\tdstPath := filepath.Base(targetPath)\n\tif !strings.HasPrefix(dstPath, gcfg.DatabaseTag) {\n\t\tdstPath = fmt.Sprintf(\"%s-%s\", gcfg.DatabaseTag, dstPath)\n\t}\n\tdstPath = filepath.Join(cfg.ConfigClientMachineInitial.GoogleCloudStorageSubDirectory, dstPath)\n\n\tvar uerr error\n\tfor k := 0; k < 30; k++ {\n\t\tif uerr = u.UploadFile(cfg.ConfigClientMachineInitial.GoogleCloudStorageBucketName, srcPath, dstPath); uerr != nil {\n\t\t\tcfg.lg.Sugar().Infof(\"#%d: error %v while uploading %q\", k, uerr, targetPath)\n\t\t\ttime.Sleep(2 * time.Second)\n\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn uerr\n}\n"
  },
  {
    "path": "scripts/dbtester-google-cloud.sh",
    "content": "#!/usr/bin/env bash\nset -e\n\n##################################################\n# create compute instances\n\ngcloud compute instances create \\\n  bench-agent-a-1 \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure\n\ngcloud compute instances create \\\n  bench-agent-a-2 \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure\n\ngcloud compute instances create \\\n  bench-agent-a-3 \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure\n\nexport GCP_KEY_PATH=/etc/gcp-key-etcd-development.json\ngcloud compute instances create \\\n  bench-tester-a \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure \\\n  --metadata-from-file gcp-key-etcd=${GCP_KEY_PATH}\n\n\n\ngcloud compute instances create \\\n  bench-agent-b-1 \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure\n\ngcloud compute instances create \\\n  bench-agent-b-2 \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure\n\ngcloud compute instances create \\\n  bench-agent-b-3 \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure\n\nexport GCP_KEY_PATH=/etc/gcp-key-etcd-development.json\ngcloud compute instances create \\\n  bench-tester-b \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure \\\n  --metadata-from-file gcp-key-etcd=${GCP_KEY_PATH}\n\n\n\ngcloud compute instances create \\\n  bench-agent-c-1 \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure\n\ngcloud compute instances create \\\n  bench-agent-c-2 \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure\n\ngcloud compute instances create \\\n  bench-agent-c-3 \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure\n\nexport GCP_KEY_PATH=/etc/gcp-key-etcd-development.json\ngcloud compute instances create \\\n  bench-tester-c \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure \\\n  --metadata-from-file gcp-key-etcd=${GCP_KEY_PATH}\n\n\n\ngcloud compute instances create \\\n  bench-agent-d-1 \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure\n\ngcloud compute instances create \\\n  bench-agent-d-2 \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure\n\ngcloud compute instances create \\\n  bench-agent-d-3 \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure\n\nexport GCP_KEY_PATH=/etc/gcp-key-etcd-development.json\ngcloud compute instances create \\\n  bench-tester-d \\\n  --custom-cpu=16 \\\n  --custom-memory=60 \\\n  --image-family=ubuntu-1710 \\\n  --image-project=ubuntu-os-cloud \\\n  --boot-disk-size=300 \\\n  --boot-disk-type=\"pd-ssd\" \\\n  --network dbtester \\\n  --zone us-west1-a \\\n  --maintenance-policy=MIGRATE \\\n  --restart-on-failure \\\n  --metadata-from-file gcp-key-etcd=${GCP_KEY_PATH}\n##################################################\n\n\n##################################################\ngcloud compute ssh --zone=us-west1-a bench-agent-a-1\ngcloud compute ssh --zone=us-west1-a bench-agent-a-2\ngcloud compute ssh --zone=us-west1-a bench-agent-a-3\ngcloud compute ssh --zone=us-west1-a bench-tester-a\n\ngcloud compute ssh --zone=us-west1-a bench-agent-b-1\ngcloud compute ssh --zone=us-west1-a bench-agent-b-2\ngcloud compute ssh --zone=us-west1-a bench-agent-b-3\ngcloud compute ssh --zone=us-west1-a bench-tester-b\n\ngcloud compute ssh --zone=us-west1-a bench-agent-c-1\ngcloud compute ssh --zone=us-west1-a bench-agent-c-2\ngcloud compute ssh --zone=us-west1-a bench-agent-c-3\ngcloud compute ssh --zone=us-west1-a bench-tester-c\n\ngcloud compute ssh --zone=us-west1-a bench-agent-d-1\ngcloud compute ssh --zone=us-west1-a bench-agent-d-2\ngcloud compute ssh --zone=us-west1-a bench-agent-d-3\ngcloud compute ssh --zone=us-west1-a bench-tester-d\n\ngcloud compute instances list\n\n<<COMMENT\n10.138.0.2\n10.138.0.3\n10.138.0.4\n10.138.0.5\n\n10.138.0.6\n10.138.0.7\n10.138.0.8\n10.138.0.9\n\n10.138.0.10\n10.138.0.11\n10.138.0.12\n10.138.0.13\n\n10.138.0.14\n10.138.0.15\n10.138.0.16\n10.138.0.17\nCOMMENT\n\n<<COMMENT\n\nsudo apt update -y\n\nsudo apt install -y \\\n  build-essential \\\n  apt-utils \\\n  gcc \\\n  bash \\\n  bash-completion \\\n  tar \\\n  unzip \\\n  curl \\\n  wget \\\n  git \\\n  apt-transport-https \\\n  software-properties-common \\\n  libssl-dev \\\n  ntpdate\n\nsudo apt upgrade -y\n\nsudo apt autoremove -y\nsudo apt autoclean -y\n\nsudo service ntp stop\nsudo ntpdate time.google.com\nsudo service ntp start\n\nCOMMENT\n##################################################\n\n\n##################################################\nulimit -n\n# ulimit -v unlimited\n\nsudo vi /etc/security/limits.conf;\n\n# add the following lines\n* soft nofile 120000\n* hard nofile 120000\n\nsudo reboot\n##################################################\n\n\nsudo service ntp stop\nsudo ntpdate time.google.com\nsudo service ntp start\n\n\n##################################################\nGO_VERSION=1.10.3\n\n\nsudo rm -rf ${HOME}/*\nsudo rm -f /usr/local/go/bin/go && sudo rm -rf /usr/local/go && sudo rm -f /bin/go\n\nGOOGLE_URL=https://storage.googleapis.com/golang\nDOWNLOAD_URL=${GOOGLE_URL}\n\nsudo curl -s ${DOWNLOAD_URL}/go$GO_VERSION.linux-amd64.tar.gz | sudo tar -v -C /usr/local/ -xz\n\nif grep -q GOPATH \"$(echo $HOME)/.bashrc\"; then\n  echo \"bashrc already has GOPATH\";\nelse\n  echo \"adding GOPATH to bashrc\";\n  echo \"export GOPATH=$(echo $HOME)/go\" >> ${HOME}/.bashrc;\n  PATH_VAR=$PATH\":/usr/local/go/bin:$(echo $HOME)/go/bin\";\n  echo \"export PATH=$(echo $PATH_VAR)\" >> ${HOME}/.bashrc;\n  source ${HOME}/.bashrc;\nfi\n\nmkdir -p ${GOPATH}/bin/\nsource ${HOME}/.bashrc\ngo version\n##################################################\n\n\n##################################################\nUSER_NAME=coreos\nBRANCH_NAME=master\n\n\nGIT_PATH=github.com/coreos/etcd\nrm -rf ${GOPATH}/src/${GIT_PATH}\nmkdir -p ${GOPATH}/src/github.com/coreos\n\ngit clone https://github.com/${USER_NAME}/etcd \\\n  --branch ${BRANCH_NAME} \\\n  ${GOPATH}/src/${GIT_PATH}\n\ncd ${GOPATH}/src/${GIT_PATH}\n\n<<COMMENT\ngit reset --hard HEAD\ngit reset --hard 67b1ff6724637f0a00f693471ddb17b5adde38cf\nCOMMENT\n\nGO_BUILD_FLAGS=\"-v\" ./build\n\n${GOPATH}/src/${GIT_PATH}/bin/etcd --version\n${GOPATH}/src/${GIT_PATH}/bin/etcdctl --version\n\ncp ${GOPATH}/src/${GIT_PATH}/bin/etcd ${GOPATH}/bin/etcd\nsudo cp ${GOPATH}/src/${GIT_PATH}/bin/etcd /etcd\n\ncp ${GOPATH}/src/${GIT_PATH}/bin/etcdctl ${GOPATH}/bin/etcdctl\nsudo cp ${GOPATH}/src/${GIT_PATH}/bin/etcdctl /etcdctl\n\n${GOPATH}/bin/etcd --version\nETCDCTL_API=3 ${GOPATH}/bin/etcdctl version\netcd --version\nETCDCTL_API=3 etcdctl version\n##################################################\n\n# reinstall Go 1.9+ for context imports\n\n##################################################\nUSER_NAME=coreos\nBRANCH_NAME=master\n\n\ncd ${HOME}\nrm -rf ${HOME}/go/src/github.com/etcd-io/dbtester\ngit clone https://github.com/$USER_NAME/dbtester --branch $BRANCH_NAME ${HOME}/go/src/github.com/etcd-io/dbtester\n\ncd ${HOME}\ngo install -v ./go/src/github.com/etcd-io/dbtester/cmd/dbtester\n\ndbtester -h\ndbtester agent -h\ndbtester control -h\n##################################################\n\n\n##################################################\n# agent on each machine\n# specify network interface, disk device of host machine,\n# this starts the database on host machine, when 'control' signals\n\n\nsudo service ntp stop\nsudo ntpdate time.google.com\nsudo service ntp start\n\nrm -f ${HOME}/agent.log\nnohup dbtester agent \\\n  --agent-log ${HOME}/agent.log \\\n  --network-interface ens4 \\\n  --disk-device sda \\\n  --agent-port :3500 &\n\nsleep 7s\ncat ${HOME}/agent.log\n##################################################\n\n\n\n\n##################################################\n# control on tester machine\n# specify 'control' configuration file\n# (client number, key number, key-value size)\n# starts/shuts down database agents, send stress requests through RPCs\n\ncurl -L http://metadata.google.internal/computeMetadata/v1/instance/attributes/gcp-key-etcd -H 'Metadata-Flavor:Google' > /tmp/gcp-key-etcd-development.json\nsudo mv /tmp/gcp-key-etcd-development.json /etc/gcp-key-etcd-development.json\nhead -10 /etc/gcp-key-etcd-development.json\n\n# copy the tester configuration from git repository\ncp ${HOME}/go/src/github.com/etcd-io/dbtester/test-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput.yaml ${HOME}/config.yaml\n# cp ${HOME}/go/src/github.com/etcd-io/dbtester/test-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput.yaml ${HOME}/config.yaml\ncat ${HOME}/config.yaml\n\n\n\nsudo service ntp stop\nsudo ntpdate time.google.com\nsudo service ntp start\n\nnohup dbtester control \\\n  --database-id etcd__other \\\n  --config config.yaml > ${HOME}/client-control.log 2>&1 &\n\nsleep 7s\n\ntail -f ${HOME}/client-control.log\n\n<<COMMENT\nnohup dbtester control \\\n  --database-id etcd__v3_2 \\\n  --config config.yaml > ${HOME}/client-control.log 2>&1 &\n\nnohup dbtester control \\\n  --database-id etcd__v3_3 \\\n  --config config.yaml > ${HOME}/client-control.log 2>&1 &\n\nnohup dbtester control \\\n  --database-id etcd__tip \\\n  --config config.yaml > ${HOME}/client-control.log 2>&1 &\n\nnohup dbtester control \\\n  --database-id etcd__other \\\n  --config config.yaml > ${HOME}/client-control.log 2>&1 &\n\nnohup dbtester control \\\n  --database-id zookeeper__r3_5_3_beta \\\n  --config config.yaml > ${HOME}/client-control.log 2>&1 &\n\nnohup dbtester control \\\n  --database-id consul__v1_0_2 \\\n  --config config.yaml > ${HOME}/client-control.log 2>&1 &\nCOMMENT\n##################################################\n\n\n##################################################\n# analyze; get all data from remote machines\n# and specify 'analyze' configuration file,\n# this aggregates data, generates all graphs, texts\n\ncd ${HOME}/go/src/github.com/etcd-io/dbtester\ngo install -v ./cmd/dbtester\n\n\ngsutil -m cp -R gs://dbtester-results/2018Q2-02-etcd-client-balancer .\n\ncp ./test-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput.yaml ./2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/\ndbtester analyze --config 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/read-3M-same-keys-best-throughput.yaml\n\ncp ./test-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput.yaml ./2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/\ndbtester analyze --config 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/write-1M-keys-best-throughput.yaml\n\ngsutil -m cp -R 2018Q2-02-etcd-client-balancer gs://dbtester-results/\ngsutil -m acl ch -u allUsers:R -r gs://dbtester-results/2018Q2-02-etcd-client-balancer\n##################################################\n\n\n<<COMMENT\n########################\netcd v3.2.0 (1,000 clients)\netcd v3.3.0 (1,000 clients)\n\nZookeeper r3.5.3-beta (500 clients)\nConsul v1.0.2 (500 clients)\n########################\n\n########################\ncurl -X PURGE https://camo.githubusercontent.com/a6e057c6a9cff6a8d49f4c5b83a2b471bfc86817/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f64627465737465722d726573756c74732f3230313751322d30312d657463642d7a6f6f6b65657065722d636f6e73756c2f30312d77726974652d314d2d6b6579732d636c69656e742d7661726961626c652f4156472d4c4154454e43592d4d532d42592d4b45592e737667\n########################\n\n########################\nplotly\n\netcd v3.2.0 (Go 1.8.3)\netcd v3.3.0 (Go 1.9.6)\nZookeeper r3.5.3-beta (Java 8)\nConsul v1.0.2 (Go 1.9.6)\n\nGraph BoxPlot\nTraces\nOutlier, Show Statistics Mean\n\nFilter\n>0\n\nLayout->Title and Fonts\nWrite 2M 256-byte key-value pairs, Latency\nWrite 500K 256-byte key-value pairs, Latency (1-connection)\nfont 30\n\nAxes->Title->X\nempty\n\nAxes->Titles->Y\nLatency (millisecond)\nfont 18\n\nAxes->Tick Labels->X\nAxes->Tick Labels->Y\nfont 17\n\nAxes->Range\nAuto Range, Log\n\nLegend\nfont 22\n\nLayout->Margins\nTop 200px\n########################\nCOMMENT\n\n"
  },
  {
    "path": "scripts/genproto.sh",
    "content": "#!/usr/bin/env bash\nset -e\n\nif ! [[ \"$0\" =~ \"scripts/genproto.sh\" ]]; then\n  echo \"must be run from repository root\"\n  exit 255\nfi\n\n# for now, be conservative about what version of protoc we expect\nif ! [[ $(protoc --version) =~ \"3.5.1\" ]]; then\n  echo \"could not find protoc 3.5.1, is it installed + in PATH?\"\n  exit 255\nfi\n\necho \"Installing gogo/protobuf...\"\nGOGOPROTO_ROOT=\"$GOPATH/src/github.com/gogo/protobuf\"\nrm -rf $GOGOPROTO_ROOT\ngo get -v github.com/gogo/protobuf/{proto,protoc-gen-gogo,gogoproto,protoc-gen-gofast}\ngo get -v golang.org/x/tools/cmd/goimports\npushd \"${GOGOPROTO_ROOT}\"\n  git reset --hard HEAD\n  make install\npopd\n\nprintf \"Generating agent\\n\"\nprotoc --gofast_out=plugins=grpc:. \\\n  --proto_path=$GOPATH/src:$GOPATH/src/github.com/gogo/protobuf/protobuf:. \\\n  dbtesterpb/*.proto;\n"
  },
  {
    "path": "scripts/install-cetcd.sh",
    "content": "#!/usr/bin/env bash\nset -e\n\ngo get -v github.com/coreos/cetcd/cmd/cetcd\ncetcd -h\n"
  },
  {
    "path": "scripts/install-consul.sh",
    "content": "#!/usr/bin/env bash\nset -e\n\nrm -f /tmp/consul.zip\ncurl -sf -o /tmp/consul.zip https://releases.hashicorp.com/consul/1.0.2/consul_1.0.2_linux_amd64.zip\n\nrm -f ${GOPATH}/bin/consul\nunzip /tmp/consul.zip -d ${GOPATH}/bin\nrm -f /tmp/consul.zip\n\nconsul version\n\n<<COMMENT\nhttps://github.com/hashicorp/consul/releases\nCOMMENT\n"
  },
  {
    "path": "scripts/install-etcd.sh",
    "content": "#!/usr/bin/env bash\nset -e\n\nGIT_PATH=github.com/coreos/etcd\n\nUSER_NAME=coreos\nBRANCH_NAME=release-3.2\nBRANCH_NAME=release-3.3\nBRANCH_NAME=master\n\n<<COMMENT\nUSER_NAME=gyuho\nBRANCH_NAME=new-balancer-april-2018\nCOMMENT\n\nrm -rf ${GOPATH}/src/${GIT_PATH}\nmkdir -p ${GOPATH}/src/github.com/coreos\n\ngit clone https://github.com/${USER_NAME}/etcd \\\n  --branch ${BRANCH_NAME} \\\n  ${GOPATH}/src/${GIT_PATH}\n\ncd ${GOPATH}/src/${GIT_PATH}\n\n<<COMMENT\ngit reset --hard 67b1ff6724637f0a00f693471ddb17b5adde38cf\nCOMMENT\n\nmake build\n\n${GOPATH}/src/${GIT_PATH}/bin/etcd --version\n${GOPATH}/src/${GIT_PATH}/bin/etcdctl --version\n\ncp ${GOPATH}/src/${GIT_PATH}/bin/etcd ${GOPATH}/bin/etcd\nsudo cp ${GOPATH}/src/${GIT_PATH}/bin/etcd /etcd\n\ncp ${GOPATH}/src/${GIT_PATH}/bin/etcdctl ${GOPATH}/bin/etcdctl\nsudo cp ${GOPATH}/src/${GIT_PATH}/bin/etcdctl /etcdctl\n\n${GOPATH}/bin/etcd --version\nETCDCTL_API=3 ${GOPATH}/bin/etcdctl version\netc\nETCDCTL_API=3 etcdctl ersion\n"
  },
  {
    "path": "scripts/install-go.sh",
    "content": "#!/usr/bin/env bash\nset -e\n\nGO_VERSION=1.8.7\n\nsudo rm -f /usr/local/go/bin/go && sudo rm -rf /usr/local/go && sudo rm -f /bin/go\n\nGOOGLE_URL=https://storage.googleapis.com/golang\nDOWNLOAD_URL=${GOOGLE_URL}\n\nsudo curl -s ${DOWNLOAD_URL}/go$GO_VERSION.linux-amd64.tar.gz | sudo tar -v -C /usr/local/ -xz\n\nif grep -q GOPATH \"$(echo $HOME)/.bashrc\"; then\n  echo \"bashrc already has GOPATH\";\nelse\n  echo \"adding GOPATH to bashrc\";\n  echo \"export GOPATH=$(echo $HOME)/go\" >> $HOME/.bashrc;\n  PATH_VAR=$PATH\":/usr/local/go/bin:$(echo $HOME)/go/bin\";\n  echo \"export PATH=$(echo $PATH_VAR)\" >> $HOME/.bashrc;\n  source $HOME/.bashrc;\nfi\n\nmkdir -p $GOPATH/bin/\nsource $HOME/.bashrc\ngo version\n\nunset GOROOT\necho $GOPATH\nexport GOROOT=/usr/local/go\ngo version\n"
  },
  {
    "path": "scripts/install-zetcd.sh",
    "content": "#!/usr/bin/env bash\nset -e\n\ngo get -v github.com/coreos/zetcd/cmd/zetcd\nzetcd -h\n"
  },
  {
    "path": "scripts/install-zookeeper-ubuntu.sh",
    "content": "#!/usr/bin/env bash\nset -e\n\nsudo apt install -y ansible\n\ncat > /tmp/install-java.yml <<EOF\n---\n- name: a play that runs entirely on the ansible host\n  hosts: localhost\n  connection: local\n  tasks:\n  - name: Install add-apt-repostory\n    become: yes\n    apt: name=software-properties-common state=latest\n\n  - name: Add Oracle Java Repository\n    become: yes\n    apt_repository: repo='ppa:webupd8team/java'\n\n  - name: Accept Java 8 License\n    become: yes\n    debconf: name='oracle-java8-installer' question='shared/accepted-oracle-license-v1-1' value='true' vtype='select'\n\n  - name: Install Oracle Java 8\n    become: yes\n    apt: name={{item}} state=latest\n    with_items:\n      - oracle-java8-installer\n      - ca-certificates\n      - oracle-java8-set-default\n\n  - name: Print Java version\n    command: java -version\n    register: result\n  - debug:\n      var: result.stderr\n\n  - name: Print JDK version\n    command: javac -version\n    register: result\n  - debug:\n      var: result.stderr\nEOF\nansible-playbook /tmp/install-java.yml\n\njava -version\njavac -version\n\n<<COMMENT\nZK_VERSION=3.4.9\nrm -rf $HOME/zookeeper\ncurl -sf -o /tmp/zookeeper-$ZK_VERSION.tar.gz -L https://www.apache.o-zookeeper-consulrg/dist/zookeeper/zookeeper-$ZK_VERSION/zookeeper-$ZK_VERSION.tar.gz\ntar -xzf /tmp/zookeeper-$ZK_VERSION.tar.gz -C /tmp/\nmv /tmp/zookeeper-$ZK_VERSION /tmp/zookeeper\nmv /tmp/zookeeper $HOME/\nchmod -R 777 $HOME/zookeeper/\nmkdir -p $HOME/zookeeper/zookeeper.data\ntouch $HOME/zookeeper/zookeeper.data/myid\nchmod -R 777 $HOME/zookeeper/zookeeper.data/\nCOMMENT\n\n# official zookeeper-3.5.3-beta.tar.gz is corrupted\n# errors when tar out, just use temporary zipped files\nrm -rf $HOME/zookeeper\nrm -rf $HOME/zookeeper-tmp\nrm -f $HOME/zookeeper-tmp.zip\ncurl -sf -o $HOME/zookeeper-tmp.zip https://storage.googleapis.com/dbtester-results/zookeeper-3.5.3-beta.zip\nunzip $HOME/zookeeper-tmp.zip -d $HOME/zookeeper-tmp\nmv $HOME/zookeeper-tmp/zookeeper-3.5.3-beta $HOME/zookeeper\nrm -f $HOME/zookeeper-tmp.zip\nchmod -R 777 $HOME/zookeeper/\nmkdir -p $HOME/zookeeper/zookeeper.data\ntouch $HOME/zookeeper/zookeeper.data/myid\nchmod -R 777 $HOME/zookeeper/zookeeper.data/\n\ncd $HOME/zookeeper\nls $HOME/zookeeper\n\necho \"Done!\"\n"
  },
  {
    "path": "scripts/tests.sh",
    "content": "#!/usr/bin/env bash\nset -e\n\nif ! [[ \"$0\" =~ \"scripts/tests.sh\" ]]; then\n    echo \"must be run from repository root\"\n    exit 255\nfi\ngofmt -l -s -d *.go\nTESTS=\"./analyze ./pkg/fileinspect ./pkg/ntp\"\n\necho \"Checking gofmt...\"\nfmtRes=$(gofmt -l -s -d $TESTS)\nif [ -n \"${fmtRes}\" ]; then\n\techo -e \"gofmt checking failed:\\n${fmtRes}\"\n\texit 255\nfi\n\necho \"Checking govet...\"\nvetRes=$(go vet $TESTS 2>&1 >/dev/null)\nif [ -n \"${vetRes}\" ]; then\n\techo -e \"govet checking failed:\\n${vetRes}\"\n\texit 255\nfi\n\necho \"Running tests...\";\ngo test -v $TESTS;\ngo test -v -race $TESTS;\n\necho \"Success\";\n"
  },
  {
    "path": "scripts/updatedep.sh",
    "content": "#!/usr/bin/env bash\nset -e\n\nif ! [[ \"$0\" =~ \"./scripts/updatedep.sh\" ]]; then\n  echo \"must be run from repository root\"\n  exit 255\nfi\n\ngo get -v -u github.com/golang/dep/cmd/dep\ndep ensure -v\ndep prune\n"
  },
  {
    "path": "stress.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"os\"\n\t\"sort\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/etcd-io/dbtester/dbtesterpb\"\n\n\t\"github.com/coreos/etcd/clientv3\"\n\t\"github.com/coreos/etcd/pkg/report\"\n\tconsulapi \"github.com/hashicorp/consul/api\"\n\t\"go.uber.org/zap\"\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/time/rate\"\n)\n\ntype values struct {\n\tbytes      [][]byte\n\tstrings    []string\n\tsampleSize int\n}\n\nfunc newValues(gcfg dbtesterpb.ConfigClientMachineAgentControl) (v values, rerr error) {\n\tv.bytes = [][]byte{randBytes(gcfg.ConfigClientMachineBenchmarkOptions.ValueSizeBytes)}\n\tv.strings = []string{string(v.bytes[0])}\n\tv.sampleSize = 1\n\treturn\n}\n\n// Stress stresses the database.\nfunc (cfg *Config) Stress(databaseID string) error {\n\tgcfg, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID]\n\tif !ok {\n\t\treturn fmt.Errorf(\"%q does not exist\", databaseID)\n\t}\n\n\tvals, err := newValues(gcfg)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tswitch gcfg.ConfigClientMachineBenchmarkOptions.Type {\n\tcase \"write\":\n\t\tcfg.lg.Info(\"write generateReport is started...\")\n\n\t\t// fixed number of client numbers\n\t\tif len(gcfg.ConfigClientMachineBenchmarkOptions.ConnectionClientNumbers) == 0 {\n\t\t\th, done := newWriteHandlers(cfg.lg, gcfg)\n\t\t\treqGen := func(inflightReqs chan<- request) { generateWrites(gcfg, 0, vals, inflightReqs) }\n\t\t\tcfg.generateReport(gcfg, h, done, reqGen)\n\n\t\t} else {\n\t\t\t// variable client numbers\n\t\t\trs := assignRequest(gcfg.ConfigClientMachineBenchmarkOptions.ConnectionClientNumbers, gcfg.ConfigClientMachineBenchmarkOptions.RequestNumber)\n\n\t\t\tvar stats []report.Stats\n\t\t\treqCompleted := int64(0)\n\t\t\tfor i := 0; i < len(rs); i++ {\n\t\t\t\tcopied := gcfg\n\t\t\t\tcopied.ConfigClientMachineBenchmarkOptions.ConnectionNumber = gcfg.ConfigClientMachineBenchmarkOptions.ConnectionClientNumbers[i]\n\t\t\t\tcopied.ConfigClientMachineBenchmarkOptions.ClientNumber = gcfg.ConfigClientMachineBenchmarkOptions.ConnectionClientNumbers[i]\n\t\t\t\tcopied.ConfigClientMachineBenchmarkOptions.RequestNumber = rs[i]\n\t\t\t\tncfg := *cfg\n\t\t\t\tncfg.DatabaseIDToConfigClientMachineAgentControl[databaseID] = copied\n\n\t\t\t\tgo func() {\n\t\t\t\t\tcfg.lg.Sugar().Infof(\"signaling agent with client number %d\", copied.ConfigClientMachineBenchmarkOptions.ClientNumber)\n\t\t\t\t\tif _, err := (&ncfg).BroadcaseRequest(databaseID, dbtesterpb.Operation_Heartbeat); err != nil {\n\t\t\t\t\t\tpanic(err)\n\t\t\t\t\t}\n\t\t\t\t}()\n\n\t\t\t\th, done := newWriteHandlers(cfg.lg, copied)\n\t\t\t\treqGen := func(inflightReqs chan<- request) { generateWrites(copied, reqCompleted, vals, inflightReqs) }\n\t\t\t\tb := newBenchmark(copied.ConfigClientMachineBenchmarkOptions.RequestNumber, copied.ConfigClientMachineBenchmarkOptions.ClientNumber, h, done, reqGen)\n\n\t\t\t\t// wait until rs[i] requests are finished\n\t\t\t\t// do not end reports yet\n\t\t\t\tb.startRequests()\n\t\t\t\tb.waitRequestsEnd()\n\n\t\t\t\tcfg.lg.Info(\"finishing reports...\")\n\t\t\t\tnow := time.Now()\n\t\t\t\tb.finishReports()\n\t\t\t\tcfg.lg.Sugar().Infof(\"finished reports... took %v\", time.Since(now))\n\n\t\t\t\treqCompleted += rs[i]\n\t\t\t\tstats = append(stats, b.stats)\n\t\t\t}\n\t\t\tcfg.lg.Info(\"combining all reports\")\n\n\t\t\tcombined := report.Stats{ErrorDist: make(map[string]int)}\n\t\t\tcombinedClientNumber := make([]int64, 0, gcfg.ConfigClientMachineBenchmarkOptions.RequestNumber)\n\t\t\tfor i, st := range stats {\n\t\t\t\tcombined.AvgTotal += st.AvgTotal\n\t\t\t\tcombined.Total += st.Total\n\t\t\t\tcombined.Lats = append(combined.Lats, st.Lats...)\n\t\t\t\tcombined.TimeSeries = append(combined.TimeSeries, st.TimeSeries...)\n\t\t\t\t//\n\t\t\t\t// Need to handle duplicate unix second timestamps when two ranges are merged.\n\t\t\t\t// This can happen when the following run happens within the same unix timesecond,\n\t\t\t\t// since finishing up the previous report and restarting the next range of requests\n\t\t\t\t// with different number of clients takes only 100+/- ms.\n\t\t\t\t//\n\t\t\t\t// For instance, we have the following raw data:\n\t\t\t\t//\n\t\t\t\t//   unix-second, client-number, throughput\n\t\t\t\t//   1486389257,       700,         30335  === ending of previous combined.TimeSeries\n\t\t\t\t//   1486389258,      \"700\",        23188  === ending of previous combined.TimeSeries\n\t\t\t\t//   1486389258,       1000,         5739  === beginning of current st.TimeSeries\n\t\t\t\t//\n\t\t\t\t// So now we have two duplicate unix time seconds.\n\t\t\t\t// This will be handled in aggregating by keys.\n\t\t\t\t//\n\t\t\t\tclientN := gcfg.ConfigClientMachineBenchmarkOptions.ConnectionClientNumbers[i]\n\t\t\t\tclientNs := make([]int64, len(st.TimeSeries))\n\t\t\t\tfor i := range st.TimeSeries {\n\t\t\t\t\tclientNs[i] = clientN\n\t\t\t\t}\n\t\t\t\tcombinedClientNumber = append(combinedClientNumber, clientNs...)\n\n\t\t\t\tfor k, v := range st.ErrorDist {\n\t\t\t\t\tif _, ok := combined.ErrorDist[k]; !ok {\n\t\t\t\t\t\tcombined.ErrorDist[k] = v\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcombined.ErrorDist[k] += v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif len(combined.TimeSeries) != len(combinedClientNumber) {\n\t\t\t\treturn fmt.Errorf(\"len(combined.TimeSeries) %d != len(combinedClientNumber) %d\", len(combined.TimeSeries), len(combinedClientNumber))\n\t\t\t}\n\n\t\t\tcombined.Average = combined.AvgTotal / float64(len(combined.Lats))\n\t\t\tcombined.RPS = float64(len(combined.Lats)) / combined.Total.Seconds()\n\t\t\tcfg.lg.Sugar().Infof(\"got total %d data points and total %f seconds (RPS %f)\", len(combined.Lats), combined.Total.Seconds(), combined.RPS)\n\n\t\t\tfor i := range combined.Lats {\n\t\t\t\tdev := combined.Lats[i] - combined.Average\n\t\t\t\tcombined.Stddev += dev * dev\n\t\t\t}\n\t\t\tcombined.Stddev = math.Sqrt(combined.Stddev / float64(len(combined.Lats)))\n\n\t\t\tsort.Float64s(combined.Lats)\n\t\t\tif len(combined.Lats) > 0 {\n\t\t\t\tcombined.Fastest = combined.Lats[0]\n\t\t\t\tcombined.Slowest = combined.Lats[len(combined.Lats)-1]\n\t\t\t}\n\n\t\t\tcfg.lg.Info(\"combined all reports\")\n\t\t\tprintStats(combined)\n\t\t\tcfg.saveAllStats(gcfg, combined, combinedClientNumber)\n\t\t}\n\n\t\tcfg.lg.Info(\"write generateReport is finished...\")\n\n\t\tcfg.lg.Info(\"checking total keys on\", zap.Strings(\"endpoints\", gcfg.DatabaseEndpoints))\n\t\tvar totalKeysFunc func(*zap.Logger, []string) map[string]int64\n\t\tswitch gcfg.DatabaseID {\n\t\tcase \"etcd__other\", \"etcd__tip\", \"etcd__v3_2\", \"etcd__v3_3\":\n\t\t\ttotalKeysFunc = getTotalKeysEtcdv3\n\t\tcase \"zookeeper__r3_5_3_beta\", \"zetcd__beta\":\n\t\t\ttotalKeysFunc = getTotalKeysZk\n\t\tcase \"consul__v1_0_2\", \"cetcd__beta\":\n\t\t\ttotalKeysFunc = getTotalKeysConsul\n\t\tdefault:\n\t\t\tcfg.lg.Fatal(\"unknown database ID\", zap.String(\"database\", gcfg.DatabaseID))\n\t\t}\n\t\tfor k, v := range totalKeysFunc(cfg.lg, gcfg.DatabaseEndpoints) {\n\t\t\tcfg.lg.Sugar().Infof(\"expected write total results [expected_total: %d | database: %q | endpoint: %q | number_of_keys: %d]\",\n\t\t\t\tgcfg.ConfigClientMachineBenchmarkOptions.RequestNumber, gcfg.DatabaseID, k, v)\n\t\t}\n\n\tcase \"read\":\n\t\tkey, value := sameKey(gcfg.ConfigClientMachineBenchmarkOptions.KeySizeBytes), vals.strings[0]\n\n\t\tswitch gcfg.DatabaseID {\n\t\tcase \"etcd__other\", \"etcd__tip\", \"etcd__v3_2\", \"etcd__v3_3\":\n\t\t\tcfg.lg.Sugar().Infof(\"write started [request: PUT | key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\t\tvar err error\n\t\t\tfor i := 0; i < 7; i++ {\n\t\t\t\tclients := mustCreateClientsEtcdv3(gcfg.DatabaseEndpoints, etcdv3ClientCfg{\n\t\t\t\t\ttotalConns:   1,\n\t\t\t\t\ttotalClients: 1,\n\t\t\t\t})\n\t\t\t\t_, err = clients[0].Do(context.Background(), clientv3.OpPut(key, value))\n\t\t\t\tif err != nil {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tcfg.lg.Sugar().Infof(\"write done [request: PUT | key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\tcfg.lg.Sugar().Fatalf(\"write error [request: PUT | key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\t\t\tos.Exit(1)\n\t\t\t}\n\n\t\tcase \"zookeeper__r3_5_3_beta\", \"zetcd__beta\":\n\t\t\tcfg.lg.Sugar().Infof(\"write started [request: PUT | key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\t\tvar err error\n\t\t\tfor i := 0; i < 7; i++ {\n\t\t\t\tconns := mustCreateConnsZk(gcfg.DatabaseEndpoints, gcfg.ConfigClientMachineBenchmarkOptions.ConnectionNumber)\n\t\t\t\t_, err = conns[0].Create(\"/\"+key, vals.bytes[0], zkCreateFlags, zkCreateACL)\n\t\t\t\tif err != nil {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfor j := range conns {\n\t\t\t\t\tconns[j].Close()\n\t\t\t\t}\n\t\t\t\tcfg.lg.Sugar().Infof(\"write done [request: PUT | key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\tcfg.lg.Sugar().Fatalf(\"write error [request: PUT | key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\t\t\tos.Exit(1)\n\t\t\t}\n\n\t\tcase \"consul__v1_0_2\", \"cetcd__beta\":\n\t\t\tcfg.lg.Sugar().Infof(\"write started [request: PUT | key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\t\tvar err error\n\t\t\tfor i := 0; i < 7; i++ {\n\t\t\t\tclients := mustCreateConnsConsul(gcfg.DatabaseEndpoints, gcfg.ConfigClientMachineBenchmarkOptions.ConnectionNumber)\n\t\t\t\t_, err = clients[0].Put(&consulapi.KVPair{Key: key, Value: vals.bytes[0]}, nil)\n\t\t\t\tif err != nil {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tcfg.lg.Sugar().Infof(\"write done [request: PUT | key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\tcfg.lg.Sugar().Fatalf(\"write done [request: PUT | key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\t\t\tos.Exit(1)\n\t\t\t}\n\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"%q is unknown database ID\", gcfg.DatabaseID))\n\t\t}\n\n\t\th, done := newReadHandlers(gcfg)\n\t\treqGen := func(inflightReqs chan<- request) { generateReads(gcfg, key, inflightReqs) }\n\t\tcfg.generateReport(gcfg, h, done, reqGen)\n\t\tcfg.lg.Info(\"read generateReport is finished...\")\n\n\tcase \"read-oneshot\":\n\t\tkey, value := sameKey(gcfg.ConfigClientMachineBenchmarkOptions.KeySizeBytes), vals.strings[0]\n\t\tcfg.lg.Sugar().Infof(\"writing key for read-oneshot [key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\tvar err error\n\t\tswitch gcfg.DatabaseID {\n\t\tcase \"etcd__other\", \"etcd__tip\", \"etcd__v3_2\", \"etcd__v3_3\":\n\t\t\tclients := mustCreateClientsEtcdv3(gcfg.DatabaseEndpoints, etcdv3ClientCfg{\n\t\t\t\ttotalConns:   1,\n\t\t\t\ttotalClients: 1,\n\t\t\t})\n\t\t\t_, err = clients[0].Do(context.Background(), clientv3.OpPut(key, value))\n\t\t\tclients[0].Close()\n\n\t\tcase \"zookeeper__r3_5_3_beta\", \"zetcd__beta\":\n\t\t\tconns := mustCreateConnsZk(gcfg.DatabaseEndpoints, 1)\n\t\t\t_, err = conns[0].Create(\"/\"+key, vals.bytes[0], zkCreateFlags, zkCreateACL)\n\t\t\tconns[0].Close()\n\n\t\tcase \"consul__v1_0_2\", \"cetcd__beta\":\n\t\t\tclients := mustCreateConnsConsul(gcfg.DatabaseEndpoints, 1)\n\t\t\t_, err = clients[0].Put(&consulapi.KVPair{Key: key, Value: vals.bytes[0]}, nil)\n\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"%q is unknown database ID\", gcfg.DatabaseID))\n\t\t}\n\t\tif err != nil {\n\t\t\tcfg.lg.Sugar().Fatalf(\"write error on read-oneshot (%v)\", err)\n\t\t\tos.Exit(1)\n\t\t}\n\n\t\th := newReadOneshotHandlers(cfg.lg, gcfg)\n\t\treqGen := func(inflightReqs chan<- request) { generateReads(gcfg, key, inflightReqs) }\n\t\tcfg.generateReport(gcfg, h, nil, reqGen)\n\t\tcfg.lg.Info(\"read-oneshot generateReport is finished...\")\n\t}\n\n\treturn nil\n}\n\nfunc newReadHandlers(gcfg dbtesterpb.ConfigClientMachineAgentControl) (rhs []ReqHandler, done func()) {\n\trhs = make([]ReqHandler, gcfg.ConfigClientMachineBenchmarkOptions.ClientNumber)\n\tswitch gcfg.DatabaseID {\n\tcase \"etcd__other\", \"etcd__tip\", \"etcd__v3_2\", \"etcd__v3_3\":\n\t\tclients := mustCreateClientsEtcdv3(gcfg.DatabaseEndpoints, etcdv3ClientCfg{\n\t\t\ttotalConns:   gcfg.ConfigClientMachineBenchmarkOptions.ConnectionNumber,\n\t\t\ttotalClients: gcfg.ConfigClientMachineBenchmarkOptions.ClientNumber,\n\t\t})\n\t\tfor i := range clients {\n\t\t\trhs[i] = newGetEtcd3(clients[i].KV)\n\t\t}\n\t\tdone = func() {\n\t\t\tfor i := range clients {\n\t\t\t\tclients[i].Close()\n\t\t\t}\n\t\t}\n\n\tcase \"zookeeper__r3_5_3_beta\", \"zetcd__beta\":\n\t\tconns := mustCreateConnsZk(gcfg.DatabaseEndpoints, gcfg.ConfigClientMachineBenchmarkOptions.ConnectionNumber)\n\t\tfor i := range conns {\n\t\t\trhs[i] = newGetZK(conns[i])\n\t\t}\n\t\tdone = func() {\n\t\t\tfor i := range conns {\n\t\t\t\tconns[i].Close()\n\t\t\t}\n\t\t}\n\n\tcase \"consul__v1_0_2\", \"cetcd__beta\":\n\t\tconns := mustCreateConnsConsul(gcfg.DatabaseEndpoints, gcfg.ConfigClientMachineBenchmarkOptions.ConnectionNumber)\n\t\tfor i := range conns {\n\t\t\trhs[i] = newGetConsul(conns[i])\n\t\t}\n\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"%q is unknown database ID\", gcfg.DatabaseID))\n\t}\n\treturn rhs, done\n}\n\nfunc newWriteHandlers(lg *zap.Logger, gcfg dbtesterpb.ConfigClientMachineAgentControl) (rhs []ReqHandler, done func()) {\n\trhs = make([]ReqHandler, gcfg.ConfigClientMachineBenchmarkOptions.ClientNumber)\n\tswitch gcfg.DatabaseID {\n\tcase \"etcd__other\", \"etcd__tip\", \"etcd__v3_2\", \"etcd__v3_3\":\n\t\tetcdClients := mustCreateClientsEtcdv3(gcfg.DatabaseEndpoints, etcdv3ClientCfg{\n\t\t\ttotalConns:   gcfg.ConfigClientMachineBenchmarkOptions.ConnectionNumber,\n\t\t\ttotalClients: gcfg.ConfigClientMachineBenchmarkOptions.ClientNumber,\n\t\t})\n\t\tfor i := range etcdClients {\n\t\t\trhs[i] = newPutEtcd3(etcdClients[i])\n\t\t}\n\n\t\tdone = func() {\n\t\t\t// this \"done\" function may decrease throughput at the end\n\t\t\tfor i := range etcdClients {\n\t\t\t\tgo func(idx int) {\n\t\t\t\t\tetcdClients[idx].Close()\n\t\t\t\t}(i)\n\t\t\t}\n\t\t}\n\n\tcase \"zookeeper__r3_5_3_beta\", \"zetcd__beta\":\n\t\tif gcfg.ConfigClientMachineBenchmarkOptions.SameKey {\n\t\t\tkey := sameKey(gcfg.ConfigClientMachineBenchmarkOptions.KeySizeBytes)\n\t\t\tvalueBts := randBytes(gcfg.ConfigClientMachineBenchmarkOptions.ValueSizeBytes)\n\t\t\tlg.Sugar().Infof(\"write started [request: PUT | key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\t\tvar err error\n\t\t\tfor i := 0; i < 7; i++ {\n\t\t\t\tconns := mustCreateConnsZk(gcfg.DatabaseEndpoints, gcfg.ConfigClientMachineBenchmarkOptions.ConnectionNumber)\n\t\t\t\t_, err = conns[0].Create(\"/\"+key, valueBts, zkCreateFlags, zkCreateACL)\n\t\t\t\tif err != nil {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfor j := range conns {\n\t\t\t\t\tconns[j].Close()\n\t\t\t\t}\n\t\t\t\tlg.Sugar().Infof(\"write done [request: PUT | key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\tlg.Sugar().Fatalf(\"write error [request: PUT | key: %q | database: %q]\", key, gcfg.DatabaseID)\n\t\t\t\tos.Exit(1)\n\t\t\t}\n\t\t}\n\n\t\tconns := mustCreateConnsZk(gcfg.DatabaseEndpoints, gcfg.ConfigClientMachineBenchmarkOptions.ConnectionNumber)\n\t\tfor i := range conns {\n\t\t\tif gcfg.ConfigClientMachineBenchmarkOptions.SameKey {\n\t\t\t\trhs[i] = newPutOverwriteZK(conns[i])\n\t\t\t} else {\n\t\t\t\trhs[i] = newPutCreateZK(conns[i])\n\t\t\t}\n\t\t}\n\t\tdone = func() {\n\t\t\tfor i := range conns {\n\t\t\t\tgo func(idx int) {\n\t\t\t\t\tconns[idx].Close()\n\t\t\t\t}(i)\n\t\t\t}\n\t\t}\n\n\tcase \"consul__v1_0_2\", \"cetcd__beta\":\n\t\tconns := mustCreateConnsConsul(gcfg.DatabaseEndpoints, gcfg.ConfigClientMachineBenchmarkOptions.ConnectionNumber)\n\t\tfor i := range conns {\n\t\t\trhs[i] = newPutConsul(conns[i])\n\t\t}\n\n\tdefault:\n\t\tlg.Sugar().Fatalf(\"%q is unknown database ID\", gcfg.DatabaseID)\n\t}\n\n\tfor k := range rhs {\n\t\tif rhs[k] == nil {\n\t\t\tlg.Sugar().Fatalf(\"%d-th write handler is nil (out of %d)\", k, len(rhs))\n\t\t}\n\t}\n\treturn\n}\n\nfunc newReadOneshotHandlers(lg *zap.Logger, gcfg dbtesterpb.ConfigClientMachineAgentControl) []ReqHandler {\n\trhs := make([]ReqHandler, gcfg.ConfigClientMachineBenchmarkOptions.ClientNumber)\n\tswitch gcfg.DatabaseID {\n\tcase \"etcd__other\", \"etcd__tip\", \"etcd__v3_2\", \"etcd__v3_3\":\n\t\tfor i := range rhs {\n\t\t\trhs[i] = func(ctx context.Context, req *request) error {\n\t\t\t\tconns := mustCreateClientsEtcdv3(gcfg.DatabaseEndpoints, etcdv3ClientCfg{\n\t\t\t\t\ttotalConns:   1,\n\t\t\t\t\ttotalClients: 1,\n\t\t\t\t})\n\t\t\t\tdefer conns[0].Close()\n\t\t\t\treturn newGetEtcd3(conns[0])(ctx, req)\n\t\t\t}\n\t\t}\n\n\tcase \"zookeeper__r3_5_3_beta\", \"zetcd__beta\":\n\t\tfor i := range rhs {\n\t\t\trhs[i] = func(ctx context.Context, req *request) error {\n\t\t\t\tconns := mustCreateConnsZk(gcfg.DatabaseEndpoints, gcfg.ConfigClientMachineBenchmarkOptions.ConnectionNumber)\n\t\t\t\tdefer conns[0].Close()\n\t\t\t\treturn newGetZK(conns[0])(ctx, req)\n\t\t\t}\n\t\t}\n\n\tcase \"consul__v1_0_2\", \"cetcd__beta\":\n\t\tfor i := range rhs {\n\t\t\trhs[i] = func(ctx context.Context, req *request) error {\n\t\t\t\tconns := mustCreateConnsConsul(gcfg.DatabaseEndpoints, 1)\n\t\t\t\treturn newGetConsul(conns[0])(ctx, req)\n\t\t\t}\n\t\t}\n\tdefault:\n\t\tlg.Sugar().Fatalf(\"%q is unknown database ID\", gcfg.DatabaseID)\n\t}\n\treturn rhs\n}\n\nfunc generateReads(gcfg dbtesterpb.ConfigClientMachineAgentControl, key string, inflightReqs chan<- request) {\n\tdefer close(inflightReqs)\n\n\tvar rateLimiter *rate.Limiter\n\tif gcfg.ConfigClientMachineBenchmarkOptions.RateLimitRequestsPerSecond > 0 {\n\t\trateLimiter = rate.NewLimiter(\n\t\t\trate.Limit(gcfg.ConfigClientMachineBenchmarkOptions.RateLimitRequestsPerSecond),\n\t\t\tint(gcfg.ConfigClientMachineBenchmarkOptions.RateLimitRequestsPerSecond),\n\t\t)\n\t}\n\n\tfor i := int64(0); i < gcfg.ConfigClientMachineBenchmarkOptions.RequestNumber; i++ {\n\t\tif rateLimiter != nil {\n\t\t\trateLimiter.Wait(context.TODO())\n\t\t}\n\n\t\tswitch gcfg.DatabaseID {\n\t\tcase \"etcd__other\", \"etcd__tip\", \"etcd__v3_2\", \"etcd__v3_3\":\n\t\t\topts := []clientv3.OpOption{clientv3.WithRange(\"\")}\n\t\t\tif gcfg.ConfigClientMachineBenchmarkOptions.StaleRead {\n\t\t\t\topts = append(opts, clientv3.WithSerializable())\n\t\t\t}\n\t\t\tinflightReqs <- request{etcdv3Op: clientv3.OpGet(key, opts...)}\n\n\t\tcase \"zookeeper__r3_5_3_beta\", \"zetcd__beta\":\n\t\t\top := zkOp{key: key}\n\t\t\tif gcfg.ConfigClientMachineBenchmarkOptions.StaleRead {\n\t\t\t\top.staleRead = true\n\t\t\t}\n\t\t\tinflightReqs <- request{zkOp: op}\n\n\t\tcase \"consul__v1_0_2\", \"cetcd__beta\":\n\t\t\top := consulOp{key: key}\n\t\t\tif gcfg.ConfigClientMachineBenchmarkOptions.StaleRead {\n\t\t\t\top.staleRead = true\n\t\t\t}\n\t\t\tinflightReqs <- request{consulOp: op}\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"%q is unknown database ID\", gcfg.DatabaseID))\n\t\t}\n\t}\n}\n\nfunc generateWrites(gcfg dbtesterpb.ConfigClientMachineAgentControl, startIdx int64, vals values, inflightReqs chan<- request) {\n\tvar rateLimiter *rate.Limiter\n\tif gcfg.ConfigClientMachineBenchmarkOptions.RateLimitRequestsPerSecond > 0 {\n\t\trateLimiter = rate.NewLimiter(\n\t\t\trate.Limit(gcfg.ConfigClientMachineBenchmarkOptions.RateLimitRequestsPerSecond),\n\t\t\tint(gcfg.ConfigClientMachineBenchmarkOptions.RateLimitRequestsPerSecond),\n\t\t)\n\t}\n\n\tvar wg sync.WaitGroup\n\tdefer func() {\n\t\tclose(inflightReqs)\n\t\twg.Wait()\n\t}()\n\n\tfor i := int64(0); i < gcfg.ConfigClientMachineBenchmarkOptions.RequestNumber; i++ {\n\t\tk := sequentialKey(gcfg.ConfigClientMachineBenchmarkOptions.KeySizeBytes, i+startIdx)\n\t\tif gcfg.ConfigClientMachineBenchmarkOptions.SameKey {\n\t\t\tk = sameKey(gcfg.ConfigClientMachineBenchmarkOptions.KeySizeBytes)\n\t\t}\n\n\t\tv := vals.bytes[i%int64(vals.sampleSize)]\n\t\tvs := vals.strings[i%int64(vals.sampleSize)]\n\n\t\tif rateLimiter != nil {\n\t\t\trateLimiter.Wait(context.TODO())\n\t\t}\n\n\t\tswitch gcfg.DatabaseID {\n\t\tcase \"etcd__other\", \"etcd__tip\", \"etcd__v3_2\", \"etcd__v3_3\":\n\t\t\tinflightReqs <- request{etcdv3Op: clientv3.OpPut(k, vs)}\n\n\t\tcase \"zookeeper__r3_5_3_beta\", \"zetcd__beta\":\n\t\t\tinflightReqs <- request{zkOp: zkOp{key: \"/\" + k, value: v}}\n\n\t\tcase \"consul__v1_0_2\", \"cetcd__beta\":\n\t\t\tinflightReqs <- request{consulOp: consulOp{key: k, value: v}}\n\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"%q is unknown database ID\", gcfg.DatabaseID))\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "stress_client.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"github.com/coreos/etcd/clientv3\"\n\t\"golang.org/x/net/context\"\n)\n\ntype request struct {\n\tetcdv3Op clientv3.Op\n\tzkOp     zkOp\n\tconsulOp consulOp\n}\n\n// ReqHandler wraps request handler.\ntype ReqHandler func(ctx context.Context, req *request) error\n"
  },
  {
    "path": "stress_client_consul.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\tconsulapi \"github.com/hashicorp/consul/api\"\n\t\"go.uber.org/zap\"\n\t\"golang.org/x/net/context\"\n)\n\ntype consulOp struct {\n\tkey       string\n\tvalue     []byte\n\tstaleRead bool\n}\n\nfunc mustCreateConnsConsul(endpoints []string, total int64) []*consulapi.KV {\n\tcss := make([]*consulapi.KV, total)\n\tfor i := range css {\n\t\tendpoint := endpoints[dialTotal%len(endpoints)]\n\t\tdialTotal++\n\n\t\tdcfg := consulapi.DefaultConfig()\n\t\tdcfg.Address = endpoint // x.x.x.x:8500\n\t\tcli, err := consulapi.NewClient(dcfg)\n\t\tif err != nil {\n\t\t\tpanic(err)\n\t\t}\n\n\t\tcss[i] = cli.KV()\n\t}\n\treturn css\n}\n\nfunc newPutConsul(conn *consulapi.KV) ReqHandler {\n\treturn func(ctx context.Context, req *request) error {\n\t\top := req.consulOp\n\t\t_, err := conn.Put(&consulapi.KVPair{Key: op.key, Value: op.value}, nil)\n\t\treturn err\n\t}\n}\n\nfunc newGetConsul(conn *consulapi.KV) ReqHandler {\n\treturn func(ctx context.Context, req *request) error {\n\t\topt := &consulapi.QueryOptions{}\n\t\tif req.consulOp.staleRead {\n\t\t\topt.AllowStale = true\n\t\t\topt.RequireConsistent = false\n\t\t}\n\t\tif !req.consulOp.staleRead {\n\t\t\topt.AllowStale = false\n\t\t\topt.RequireConsistent = true\n\t\t}\n\t\t_, _, err := conn.Get(req.consulOp.key, opt)\n\t\treturn err\n\t}\n}\n\nfunc getTotalKeysConsul(lg *zap.Logger, endpoints []string) map[string]int64 {\n\trs := make(map[string]int64)\n\tfor _, ep := range endpoints {\n\t\trs[ep] = 0 // not supported in consul\n\t}\n\treturn rs\n}\n"
  },
  {
    "path": "stress_client_etcdv3.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"bufio\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"os\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/coreos/etcd/clientv3\"\n\t\"go.uber.org/zap\"\n\t\"golang.org/x/net/context\"\n)\n\nfunc newPutEtcd3(conn clientv3.KV) ReqHandler {\n\treturn func(ctx context.Context, req *request) error {\n\t\t_, err := conn.Do(ctx, req.etcdv3Op)\n\t\treturn err\n\t}\n}\n\n// dialTotal counts the number of mustCreateConn calls so that endpoint\n// connections can be handed out in round-robin order\nvar dialTotal int\n\nfunc mustCreateConnEtcdv3(endpoints []string) *clientv3.Client {\n\t// For parity with consul:\n\t// endpoint := endpoints[dialTotal%len(endpoints)]\n\t// dialTotal++\n\t// cfg := clientv3.Config{\n\t// \tEndpoints: []string{endpoint},\n\t// }\n\n\t// let etcd client v3 balancer handle round robin\n\tcfg := clientv3.Config{\n\t\tEndpoints: endpoints,\n\t}\n\n\tclient, err := clientv3.New(cfg)\n\tif err != nil {\n\t\tfmt.Fprintf(os.Stderr, \"dial error: %v\\n\", err)\n\t\tos.Exit(1)\n\t}\n\treturn client\n}\n\ntype etcdv3ClientCfg struct {\n\ttotalConns   int64\n\ttotalClients int64\n}\n\nfunc mustCreateClientsEtcdv3(endpoints []string, cfg etcdv3ClientCfg) []*clientv3.Client {\n\tconns := make([]*clientv3.Client, cfg.totalConns)\n\tfor i := range conns {\n\t\tconns[i] = mustCreateConnEtcdv3(endpoints)\n\t}\n\n\tclients := make([]*clientv3.Client, cfg.totalClients)\n\tfor i := range clients {\n\t\tclients[i] = conns[i%int(cfg.totalConns)]\n\t}\n\treturn clients\n}\n\nfunc newGetEtcd3(conn clientv3.KV) ReqHandler {\n\treturn func(ctx context.Context, req *request) error {\n\t\t_, err := conn.Do(ctx, req.etcdv3Op)\n\t\treturn err\n\t}\n}\n\nfunc getTotalKeysEtcdv3(lg *zap.Logger, endpoints []string) map[string]int64 {\n\trs := make(map[string]int64)\n\tfor _, ep := range endpoints {\n\t\tif !strings.HasPrefix(ep, \"http://\") {\n\t\t\tep = \"http://\" + ep\n\t\t}\n\n\t\tlg.Info(\"GET\", zap.String(\"path\", ep+\"/metrics\"))\n\t\tresp, err := http.Get(ep + \"/metrics\")\n\t\tif err != nil {\n\t\t\tlg.Warn(\"failed to get /metrics\", zap.Error(err))\n\t\t\trs[ep] = 0\n\t\t}\n\t\tscanner := bufio.NewScanner(resp.Body)\n\t\tfor scanner.Scan() {\n\t\t\ttxt := scanner.Text()\n\t\t\tif strings.HasPrefix(txt, \"#\") {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tts := strings.SplitN(txt, \" \", 2)\n\t\t\tfv := 0.0\n\t\t\tif len(ts) == 2 {\n\t\t\t\tv, err := strconv.ParseFloat(ts[1], 64)\n\t\t\t\tif err == nil {\n\t\t\t\t\tfv = v\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ts[0] == \"etcd_debugging_mvcc_keys_total\" {\n\t\t\t\trs[ep] = int64(fv)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tgracefulClose(resp)\n\t}\n\n\tlg.Info(\"getTotalKeysEtcdv3\", zap.String(\"response\", fmt.Sprintf(\"%+v\", rs)))\n\treturn rs\n}\n"
  },
  {
    "path": "stress_client_zookeeper.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"time\"\n\n\t\"github.com/samuel/go-zookeeper/zk\"\n\t\"go.uber.org/zap\"\n\t\"golang.org/x/net/context\"\n)\n\nvar (\n\tzkCreateFlags = int32(0)\n\tzkCreateACL   = zk.WorldACL(zk.PermAll)\n)\n\ntype zkOp struct {\n\tkey       string\n\tvalue     []byte\n\tstaleRead bool\n}\n\nfunc mustCreateConnsZk(endpoints []string, total int64) []*zk.Conn {\n\tzks := make([]*zk.Conn, total)\n\tfor i := range zks {\n\t\tendpoint := endpoints[dialTotal%len(endpoints)]\n\t\tdialTotal++\n\t\tconn, _, err := zk.Connect([]string{endpoint}, time.Second)\n\t\tif err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t\tzks[i] = conn\n\t}\n\treturn zks\n}\n\nfunc newPutCreateZK(conn *zk.Conn) ReqHandler {\n\treturn func(ctx context.Context, req *request) error {\n\t\top := req.zkOp\n\t\t_, err := conn.Create(op.key, op.value, zkCreateFlags, zkCreateACL)\n\t\treturn err\n\t}\n}\n\nfunc newPutOverwriteZK(conn *zk.Conn) ReqHandler {\n\t// samekey\n\treturn func(ctx context.Context, req *request) error {\n\t\top := req.zkOp\n\t\t_, err := conn.Set(op.key, op.value, int32(-1))\n\t\treturn err\n\t}\n}\n\nfunc newGetZK(conn *zk.Conn) ReqHandler {\n\treturn func(ctx context.Context, req *request) error {\n\t\terrt := \"\"\n\t\tif !req.zkOp.staleRead {\n\t\t\t_, err := conn.Sync(\"/\" + req.zkOp.key)\n\t\t\tif err != nil {\n\t\t\t\terrt += err.Error()\n\t\t\t}\n\t\t}\n\t\t_, _, err := conn.Get(\"/\" + req.zkOp.key)\n\t\tif err != nil {\n\t\t\tif errt != \"\" {\n\t\t\t\terrt += \"; \"\n\t\t\t}\n\t\t\terrt += fmt.Sprintf(\"%q while getting %q\", err.Error(), \"/\"+req.zkOp.key)\n\t\t}\n\t\tif errt != \"\" {\n\t\t\treturn errors.New(errt)\n\t\t}\n\t\treturn nil\n\t}\n}\n\nfunc getTotalKeysZk(lg *zap.Logger, endpoints []string) map[string]int64 {\n\trs := make(map[string]int64)\n\tstats, ok := zk.FLWSrvr(endpoints, 5*time.Second)\n\tif !ok {\n\t\tlg.Sugar().Infof(\"getTotalKeysZk failed with %+v\", stats)\n\t\tfor _, ep := range endpoints {\n\t\t\trs[ep] = 0\n\t\t}\n\t\treturn rs\n\t}\n\tfor i, s := range stats {\n\t\trs[endpoints[i]] = s.NodeCount\n\t}\n\treturn rs\n}\n"
  },
  {
    "path": "test-configs/read-3M-same-keys-1K-client.yaml",
    "content": "test_title: Read 3M same keys, 256-byte key, 1KB value, 1,000 clients\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n  - `ulimit -n` is 120000\n  - etcd v3.2.0 (Go 1.8.3)\n  - etcd v3.3.0 (Go 1.9.3)\n  - Zookeeper r3.5.3-beta\n    - Java 8\n    - javac 1.8.0_151\n    - Java(TM) SE Runtime Environment (build 1.8.0_151-b12)\n    - Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)\n    - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n  - Consul v1.0.2 (Go 1.9.3)\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: /etc/gcp-key-etcd-development.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2018Q1-01-etcd/read-3M-same-keys-1K-client\n\nall_database_id_list: [etcd__v3_2, etcd__v3_3, zookeeper__r3_5_3_beta, consul__v1_0_2]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__v3_2:\n    database_description: etcd v3.2.0 (Go 1.8.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_2:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 1000 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__v3_3:\n    database_description: etcd v3.3.0 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_3:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 1000 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  zookeeper__r3_5_3_beta:\n    database_description: Zookeeper r3.5.3-beta (Java 8)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2181\n    agent_port_to_connect: 3500\n\n    # http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html\n    zookeeper__r3_5_3_beta:\n      # maximum size, in bytes, of a request or response\n      # set it to 33 MB\n      java_d_jute_max_buffer: 33554432\n\n      # JVM min,max heap size\n      java_xms: 50G\n      java_xmx: 50G\n\n      # tickTime; the length of a single tick, which is the basic time unit used by ZooKeeper,\n      # as measured in milliseconds.\n      tick_time: 2000\n\n      # initLimit; Amount of time, in ticks to allow followers to connect and sync to a leader\n      # increased this value as needed, if the amount of data managed by ZooKeeper is large.\n      # (default 5)\n      init_limit: 5\n\n      # syncLimit; Amount of time, in ticks to allow followers to sync with ZooKeeper.\n      # (default 5)\n      sync_limit: 5\n\n      # snapCount; After snapCount transactions are written to a log file a snapshot\n      # is started and a new transaction log file is created. The default snapCount is 100,000.\n      snap_count: 100000\n\n      # maxClientCnxns; Limits the number of concurrent connections (at the socket level)\n      # that a single client, identified by IP address, may make to a single member of the ZooKeeper ensemble.\n      max_client_connections: 5000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 1000 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  consul__v1_0_2:\n    database_description: Consul v1.0.2 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 8500\n    agent_port_to_connect: 3500\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 1000 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__v3_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/read-3M-same-keys-1K-client/etcd-v3.2.0-go1.8.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__v3_3:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/read-3M-same-keys-1K-client/etcd-v3.3.0-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  zookeeper__r3_5_3_beta:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/read-3M-same-keys-1K-client/zookeeper-r3.5.3-beta-java8\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  consul__v1_0_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/read-3M-same-keys-1K-client/consul-v1.0.2-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2018Q1-01-etcd/read-3M-same-keys-1K-client/all-aggregated.csv\n  all_aggregated_output_path_txt: 2018Q1-01-etcd/read-3M-same-keys-1K-client/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2018Q1-01-etcd/read-3M-same-keys-1K-client\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: Average CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: Maximum CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2018Q1-01-etcd/read-3M-same-keys-1K-client/README.md\n\n  images:\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-CPU.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/MAX-CPU.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-READ-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-READ-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-WRITE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-WRITE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-1K-client/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "test-configs/read-3M-same-keys-best-throughput-etcd.yaml",
    "content": "test_title: Read 3M same keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns)\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n  - `ulimit -n` is 120000\n  - etcd v3.2.0 (Go 1.8.3)\n  - etcd v3.3.0 (Go 1.9.3)\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: /etc/gcp-key-etcd-development.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2018Q1-01-etcd/read-3M-same-keys-best-throughput\n\nall_database_id_list: [etcd__v3_2, etcd__v3_3]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__v3_2:\n    database_description: etcd v3.2.0 (Go 1.8.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_2:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__v3_3:\n    database_description: etcd v3.3.0 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_3:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__v3_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/etcd-v3.2.0-go1.8.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__v3_3:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/etcd-v3.3.0-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/all-aggregated.csv\n  all_aggregated_output_path_txt: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2018Q1-01-etcd/read-3M-same-keys-best-throughput\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: Average CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: Maximum CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/README.md\n\n  images:\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-CPU.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/MAX-CPU.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "test-configs/read-3M-same-keys-best-throughput.yaml",
    "content": "test_title: Read 3M same keys, 256-byte key, 1KB value, Best Throughput (etcd 1,000, Zookeeper 700, Consul 500 clients)\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n  - `ulimit -n` is 120000\n  - etcd v3.2.0 (Go 1.8.3)\n  - etcd v3.3.0 (Go 1.9.3)\n  - Zookeeper r3.5.3-beta\n    - Java 8\n    - javac 1.8.0_151\n    - Java(TM) SE Runtime Environment (build 1.8.0_151-b12)\n    - Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)\n    - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n  - Consul v1.0.2 (Go 1.9.3)\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: /etc/gcp-key-etcd-development.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2018Q1-01-etcd/read-3M-same-keys-best-throughput\n\nall_database_id_list: [etcd__v3_2, etcd__v3_3, zookeeper__r3_5_3_beta, consul__v1_0_2]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__v3_2:\n    database_description: etcd v3.2.0 (Go 1.8.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_2:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 1000 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__v3_3:\n    database_description: etcd v3.3.0 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_3:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 1000 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  zookeeper__r3_5_3_beta:\n    database_description: Zookeeper r3.5.3-beta (Java 8)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2181\n    agent_port_to_connect: 3500\n\n    # http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html\n    zookeeper__r3_5_3_beta:\n      # maximum size, in bytes, of a request or response\n      # set it to 33 MB\n      java_d_jute_max_buffer: 33554432\n\n      # JVM min,max heap size\n      java_xms: 50G\n      java_xmx: 50G\n\n      # tickTime; the length of a single tick, which is the basic time unit used by ZooKeeper,\n      # as measured in milliseconds.\n      tick_time: 2000\n\n      # initLimit; Amount of time, in ticks to allow followers to connect and sync to a leader\n      # increased this value as needed, if the amount of data managed by ZooKeeper is large.\n      # (default 5)\n      init_limit: 5\n\n      # syncLimit; Amount of time, in ticks to allow followers to sync with ZooKeeper.\n      # (default 5)\n      sync_limit: 5\n\n      # snapCount; After snapCount transactions are written to a log file a snapshot\n      # is started and a new transaction log file is created. The default snapCount is 100,000.\n      snap_count: 100000\n\n      # maxClientCnxns; Limits the number of concurrent connections (at the socket level)\n      # that a single client, identified by IP address, may make to a single member of the ZooKeeper ensemble.\n      max_client_connections: 5000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 700 # for best throughput\n      client_number: 700 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  consul__v1_0_2:\n    database_description: Consul v1.0.2 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 8500\n    agent_port_to_connect: 3500\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 500 # for best throughput\n      client_number: 500 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__v3_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/etcd-v3.2.0-go1.8.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__v3_3:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/etcd-v3.3.0-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  zookeeper__r3_5_3_beta:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/zookeeper-r3.5.3-beta-java8\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  consul__v1_0_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/consul-v1.0.2-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/all-aggregated.csv\n  all_aggregated_output_path_txt: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2018Q1-01-etcd/read-3M-same-keys-best-throughput\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: Average CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: Maximum CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/README.md\n\n  images:\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-CPU.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/MAX-CPU.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "test-configs/write-100K-keys-1-client.yaml",
    "content": "test_title: Write 100K keys, 256-byte key, 1KB value, 1 client\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n  - `ulimit -n` is 120000\n  - etcd v3.3.0 (Go 1.9.3)\n  - Zookeeper r3.5.3-beta\n    - Java 8\n    - javac 1.8.0_151\n    - Java(TM) SE Runtime Environment (build 1.8.0_151-b12)\n    - Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)\n    - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: /etc/gcp-key-etcd-development.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client\n\nall_database_id_list: [etcd__v3_3, zookeeper__r3_5_3_beta]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__v3_3:\n    database_description: etcd v3.3.0 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_3:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 100000\n      connection_number: 1\n      client_number: 1\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  zookeeper__r3_5_3_beta:\n    database_description: Zookeeper r3.5.3-beta (Java 8)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2181\n    agent_port_to_connect: 3500\n\n    # http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html\n    zookeeper__r3_5_3_beta:\n      # maximum size, in bytes, of a request or response\n      # set it to 33 MB\n      java_d_jute_max_buffer: 33554432\n\n      # JVM min,max heap size\n      java_xms: 50G\n      java_xmx: 50G\n\n      # tickTime; the length of a single tick, which is the basic time unit used by ZooKeeper,\n      # as measured in milliseconds.\n      tick_time: 2000\n\n      # initLimit; Amount of time, in ticks to allow followers to connect and sync to a leader\n      # increased this value as needed, if the amount of data managed by ZooKeeper is large.\n      # (default 5)\n      init_limit: 5\n\n      # syncLimit; Amount of time, in ticks to allow followers to sync with ZooKeeper.\n      # (default 5)\n      sync_limit: 5\n\n      # snapCount; After snapCount transactions are written to a log file a snapshot\n      # is started and a new transaction log file is created. The default snapCount is 100,000.\n      snap_count: 100000\n\n      # maxClientCnxns; Limits the number of concurrent connections (at the socket level)\n      # that a single client, identified by IP address, may make to a single member of the ZooKeeper ensemble.\n      max_client_connections: 5000\n\n    benchmark_options:\n      type: write\n      request_number: 100000\n      connection_number: 1\n      client_number: 1\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__v3_3:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/etcd-v3.3.0-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  zookeeper__r3_5_3_beta:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/zookeeper-r3.5.3-beta-java8\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/all-aggregated.csv\n  all_aggregated_output_path_txt: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: Average CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: Maximum CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/README.md\n\n  images:\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-CPU.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/MAX-CPU.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-READ-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-READ-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-WRITE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-WRITE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "test-configs/write-1M-keys-1000QPS.yaml",
    "content": "test_title: Write 1M keys, 256-byte key, 1KB value, 100 clients, 1000 QPS Limit\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n  - `ulimit -n` is 120000\n  - etcd v3.2.0 (Go 1.8.3)\n  - etcd v3.3.0 (Go 1.9.3)\n  - Zookeeper r3.5.3-beta\n    - Java 8\n    - javac 1.8.0_151\n    - Java(TM) SE Runtime Environment (build 1.8.0_151-b12)\n    - Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)\n    - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n  - Consul v1.0.2 (Go 1.9.3)\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: /etc/gcp-key-etcd-development.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2018Q1-01-etcd/write-1M-keys-1000QPS\n\nall_database_id_list: [etcd__v3_2, etcd__v3_3, zookeeper__r3_5_3_beta, consul__v1_0_2]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__v3_2:\n    database_description: etcd v3.2.0 (Go 1.8.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_2:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 100\n      client_number: 100\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 1000\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__v3_3:\n    database_description: etcd v3.3.0 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_3:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 100\n      client_number: 100\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 1000\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  zookeeper__r3_5_3_beta:\n    database_description: Zookeeper r3.5.3-beta (Java 8)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2181\n    agent_port_to_connect: 3500\n\n    # http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html\n    zookeeper__r3_5_3_beta:\n      # maximum size, in bytes, of a request or response\n      # set it to 33 MB\n      java_d_jute_max_buffer: 33554432\n\n      # JVM min,max heap size\n      java_xms: 50G\n      java_xmx: 50G\n\n      # tickTime; the length of a single tick, which is the basic time unit used by ZooKeeper,\n      # as measured in milliseconds.\n      tick_time: 2000\n\n      # initLimit; Amount of time, in ticks to allow followers to connect and sync to a leader\n      # increased this value as needed, if the amount of data managed by ZooKeeper is large.\n      # (default 5)\n      init_limit: 5\n\n      # syncLimit; Amount of time, in ticks to allow followers to sync with ZooKeeper.\n      # (default 5)\n      sync_limit: 5\n\n      # snapCount; After snapCount transactions are written to a log file a snapshot\n      # is started and a new transaction log file is created. The default snapCount is 100,000.\n      snap_count: 100000\n\n      # maxClientCnxns; Limits the number of concurrent connections (at the socket level)\n      # that a single client, identified by IP address, may make to a single member of the ZooKeeper ensemble.\n      max_client_connections: 5000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 100\n      client_number: 100\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 1000\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  consul__v1_0_2:\n    database_description: Consul v1.0.2 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 8500\n    agent_port_to_connect: 3500\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 100\n      client_number: 100\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 1000\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__v3_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/write-1M-keys-1000QPS/etcd-v3.2.0-go1.8.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__v3_3:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/write-1M-keys-1000QPS/etcd-v3.3.0-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  zookeeper__r3_5_3_beta:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/write-1M-keys-1000QPS/zookeeper-r3.5.3-beta-java8\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  consul__v1_0_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/write-1M-keys-1000QPS/consul-v1.0.2-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2018Q1-01-etcd/write-1M-keys-1000QPS/all-aggregated.csv\n  all_aggregated_output_path_txt: 2018Q1-01-etcd/write-1M-keys-1000QPS/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2018Q1-01-etcd/write-1M-keys-1000QPS\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: Average CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: Maximum CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2018Q1-01-etcd/write-1M-keys-1000QPS/README.md\n\n  images:\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-CPU.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/MAX-CPU.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-READ-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-READ-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-WRITE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-WRITE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-1000QPS/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-1000QPS/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "test-configs/write-1M-keys-best-throughput.yaml",
    "content": "test_title: Write 1M keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns, Zookeeper 700, Consul 500 clients)\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n  - `ulimit -n` is 120000\n  - etcd v3.3.0 (Go 1.9.3)\n  - Zookeeper r3.5.3-beta\n    - Java 8\n    - javac 1.8.0_151\n    - Java(TM) SE Runtime Environment (build 1.8.0_151-b12)\n    - Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)\n    - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n  - Consul v1.0.2 (Go 1.9.3)\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: /etc/gcp-key-etcd-development.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput\n\nall_database_id_list: [etcd__v3_3, zookeeper__r3_5_3_beta, consul__v1_0_2]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__v3_3:\n    database_description: etcd v3.3.0 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_3:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      # connection_number: 1000 # for best throughput\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  zookeeper__r3_5_3_beta:\n    database_description: Zookeeper r3.5.3-beta (Java 8)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2181\n    agent_port_to_connect: 3500\n\n    # http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html\n    zookeeper__r3_5_3_beta:\n      # maximum size, in bytes, of a request or response\n      # set it to 33 MB\n      java_d_jute_max_buffer: 33554432\n\n      # JVM min,max heap size\n      java_xms: 50G\n      java_xmx: 50G\n\n      # tickTime; the length of a single tick, which is the basic time unit used by ZooKeeper,\n      # as measured in milliseconds.\n      tick_time: 2000\n\n      # initLimit; Amount of time, in ticks to allow followers to connect and sync to a leader\n      # increased this value as needed, if the amount of data managed by ZooKeeper is large.\n      # (default 5)\n      init_limit: 5\n\n      # syncLimit; Amount of time, in ticks to allow followers to sync with ZooKeeper.\n      # (default 5)\n      sync_limit: 5\n\n      # snapCount; After snapCount transactions are written to a log file a snapshot\n      # is started and a new transaction log file is created. The default snapCount is 100,000.\n      snap_count: 100000\n\n      # maxClientCnxns; Limits the number of concurrent connections (at the socket level)\n      # that a single client, identified by IP address, may make to a single member of the ZooKeeper ensemble.\n      max_client_connections: 5000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 700 # for best throughput\n      client_number: 700 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  consul__v1_0_2:\n    database_description: Consul v1.0.2 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 8500\n    agent_port_to_connect: 3500\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 500 # for best throughput\n      client_number: 500 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__v3_3:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/etcd-v3.3.0-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  zookeeper__r3_5_3_beta:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/zookeeper-r3.5.3-beta-java8\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  consul__v1_0_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/consul-v1.0.2-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/all-aggregated.csv\n  all_aggregated_output_path_txt: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: Average CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: Maximum CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/README.md\n\n  images:\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-CPU.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/MAX-CPU.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "test-configs/write-1M-keys-client-variable.yaml",
    "content": "test_title: Write 1M keys, 256-byte key, 1KB value value, clients 1 to 1,000\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n  - `ulimit -n` is 120000\n  - etcd v3.2.0 (Go 1.8.3)\n  - etcd v3.3.0 (Go 1.9.3)\n  - Zookeeper r3.5.3-beta\n    - Java 8\n    - javac 1.8.0_151\n    - Java(TM) SE Runtime Environment (build 1.8.0_151-b12)\n    - Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)\n    - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n  - Consul v1.0.2 (Go 1.9.3)\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: /etc/gcp-key-etcd-development.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2018Q1-01-etcd/write-1M-keys-client-variable\n\nall_database_id_list: [etcd__v3_2, etcd__v3_3, zookeeper__r3_5_3_beta, consul__v1_0_2]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__v3_2:\n    database_description: etcd v3.2.0 (Go 1.8.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_2:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 0\n      client_number: 0\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: [1, 10, 50, 100, 300, 500, 700, 1000]\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__v3_3:\n    database_description: etcd v3.3.0 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_3:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 0\n      client_number: 0\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: [1, 10, 50, 100, 300, 500, 700, 1000]\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  zookeeper__r3_5_3_beta:\n    database_description: Zookeeper r3.5.3-beta (Java 8)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2181\n    agent_port_to_connect: 3500\n\n    # http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html\n    zookeeper__r3_5_3_beta:\n      # maximum size, in bytes, of a request or response\n      # set it to 33 MB\n      java_d_jute_max_buffer: 33554432\n\n      # JVM min,max heap size\n      java_xms: 50G\n      java_xmx: 50G\n\n      # tickTime; the length of a single tick, which is the basic time unit used by ZooKeeper,\n      # as measured in milliseconds.\n      tick_time: 2000\n\n      # initLimit; Amount of time, in ticks to allow followers to connect and sync to a leader\n      # increased this value as needed, if the amount of data managed by ZooKeeper is large.\n      # (default 5)\n      init_limit: 5\n\n      # syncLimit; Amount of time, in ticks to allow followers to sync with ZooKeeper.\n      # (default 5)\n      sync_limit: 5\n\n      # snapCount; After snapCount transactions are written to a log file a snapshot\n      # is started and a new transaction log file is created. The default snapCount is 100,000.\n      snap_count: 100000\n\n      # maxClientCnxns; Limits the number of concurrent connections (at the socket level)\n      # that a single client, identified by IP address, may make to a single member of the ZooKeeper ensemble.\n      max_client_connections: 5000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 0\n      client_number: 0\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: [1, 10, 50, 100, 300, 500, 700, 1000]\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  consul__v1_0_2:\n    database_description: Consul v1.0.2 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 8500\n    agent_port_to_connect: 3500\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 0\n      client_number: 0\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: [1, 10, 50, 100, 300, 500, 700, 1000]\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__v3_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/write-1M-keys-client-variable/etcd-v3.2.0-go1.8.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__v3_3:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/write-1M-keys-client-variable/etcd-v3.3.0-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  zookeeper__r3_5_3_beta:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/write-1M-keys-client-variable/zookeeper-r3.5.3-beta-java8\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  consul__v1_0_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/write-1M-keys-client-variable/consul-v1.0.2-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2018Q1-01-etcd/write-1M-keys-client-variable/all-aggregated.csv\n  all_aggregated_output_path_txt: 2018Q1-01-etcd/write-1M-keys-client-variable/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2018Q1-01-etcd/write-1M-keys-client-variable\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: Average CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: Maximum CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2018Q1-01-etcd/write-1M-keys-client-variable/README.md\n\n  images:\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-CPU.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/MAX-CPU.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-READ-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-READ-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-WRITE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-WRITE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "test-configs/write-too-many-keys.yaml",
    "content": "test_title: Write 3-million keys, 256-byte key, 1KB value, Best Throughput (etcd 1,000)\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n  - `ulimit -n` is 120000\n  - etcd v3.2.0 (Go 1.8.3)\n  - etcd v3.3.0 (Go 1.9.3)\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: /etc/gcp-key-etcd-development.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2018Q1-01-etcd/write-too-many-keys\n\nall_database_id_list: [etcd__v3_2, etcd__v3_3]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__v3_2:\n    database_description: etcd v3.2.0 (Go 1.8.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_2:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 3000000\n      connection_number: 1000 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__v3_3:\n    database_description: etcd v3.3.0 (Go 1.9.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_3:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 3000000\n      connection_number: 1000 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__v3_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/write-too-many-keys/etcd-v3.2.0-go1.8.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__v3_3:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q1-01-etcd/write-too-many-keys/etcd-v3.3.0-go1.9.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2018Q1-01-etcd/write-too-many-keys/all-aggregated.csv\n  all_aggregated_output_path_txt: 2018Q1-01-etcd/write-too-many-keys/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2018Q1-01-etcd/write-too-many-keys\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: Average CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: Maximum CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2018Q1-01-etcd/write-too-many-keys/README.md\n\n  images:\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-CPU.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/MAX-CPU.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-READ-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-READ-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-WRITE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-WRITE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q1-01-etcd/write-too-many-keys/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "test-results/2017Q1-00-etcd-zookeeper-consul/README.md",
    "content": "\n\n\n<br><br><hr>\n##### Noticeable Warnings: Zookeeper\n\nSnapshot, when writing 1-million entries (256-byte key, 1KB value value), with 500 concurrent clients\n\n```\n# snapshot warnings\ncd 2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput\ngrep -r -i fsync-ing\\ the zookeeper-r3.4.9-java8-* | less\n\n2017-02-10 18:55:38,997 [myid:3] - WARN  [SyncThread:3:SyncRequestProcessor@148] - Too busy to snap, skipping\n2017-02-10 18:55:38,998 [myid:3] - INFO  [SyncThread:3:FileTxnLog@203] - Creating new log file: log.1000c0c51\n2017-02-10 18:55:40,855 [myid:3] - INFO  [SyncThread:3:FileTxnLog@203] - Creating new log file: log.1000cd2e6\n2017-02-10 18:55:40,855 [myid:3] - INFO  [Snapshot Thread:FileTxnSnapLog@240] - Snapshotting: 0x1000cd1ca to /home/gyuho/zookeeper/zookeeper.data/version-2/snapshot.1000cd1ca\n2017-02-10 18:55:46,382 [myid:3] - WARN  [SyncThread:3:FileTxnLog@338] - fsync-ing the write ahead log in SyncThread:3 took 1062ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide\n2017-02-10 18:55:47,471 [myid:3] - WARN  [SyncThread:3:FileTxnLog@338] - fsync-ing the write ahead log in SyncThread:3 took 1084ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide\n2017-02-10 18:55:49,425 [myid:3] - WARN  [SyncThread:3:FileTxnLog@338] - fsync-ing the write ahead log in SyncThread:3 took 1142ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide\n2017-02-10 18:55:51,188 [myid:3] - WARN  [SyncThread:3:FileTxnLog@338] - fsync-ing the write ahead log in SyncThread:3 took 1201ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide\n2017-02-10 18:55:52,292 [myid:3] - WARN  [SyncThread:3:FileTxnLog@338] - fsync-ing the write ahead log in SyncThread:3 took 1102ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide\n```\n\nWhen writing more than 2-million entries (256-byte key, 1KB value value) with 500 concurrent clients\n\n```\n# leader election\ncd 2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys\ngrep -r -i election\\ took  zookeeper-r3.4.9-java8-* | less\n\n# leader election is taking more than 10 seconds...\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:22:16,549 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Follower@61] - FOLLOWING - LEADER ELECTION TOOK - 22978\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:23:02,279 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 10210\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:23:14,498 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 203\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:23:36,303 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 9791\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:23:52,151 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 3836\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:24:13,849 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 9686\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:24:29,694 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 3573\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:24:51,392 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 8686\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:25:07,231 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 3827\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:25:28,940 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 9697\nzookeeper-r3.4.9-java8-2-database.log:2017-02-10 19:25:44,772 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 3820\n```\n\n\n<br><br><hr>\n##### Noticeable Warnings: Consul\n\nSnapshot, when writing 1-million entries (256-byte key, 1KB value value), with 500 concurrent clients\n\n```\n# snapshot warnings\ncd 2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput\ngrep -r -i installed\\ remote consul-v0.7.4-go1.7.5-* | less\n\n    2017/02/10 18:58:43 [INFO] snapshot: Creating new snapshot at /home/gyuho/consul.data/raft/snapshots/2-900345-1486753123478.tmp\n    2017/02/10 18:58:45 [INFO] snapshot: reaping snapshot /home/gyuho/consul.data/raft/snapshots/2-849399-1486753096972\n    2017/02/10 18:58:46 [INFO] raft: Copied 1223270573 bytes to local snapshot\n    2017/02/10 18:58:55 [INFO] raft: Compacting logs from 868354 to 868801\n    2017/02/10 18:58:56 [INFO] raft: Installed remote snapshot\n    2017/02/10 18:58:57 [INFO] snapshot: Creating new snapshot at /home/gyuho/consul.data/raft/snapshots/2-911546-1486753137827.tmp\n    2017/02/10 18:58:59 [INFO] consul.fsm: snapshot created in 32.255µs\n    2017/02/10 18:59:01 [INFO] snapshot: reaping snapshot /home/gyuho/consul.data/raft/snapshots/2-873921-1486753116619\n    2017/02/10 18:59:02 [INFO] raft: Copied 1238491373 bytes to local snapshot\n    2017/02/10 18:59:11 [INFO] raft: Compacting logs from 868802 to 868801\n    2017/02/10 18:59:11 [INFO] raft: Installed remote snapshot\n```\n\nLogs do not tell much but average latency spikes (e.g. from 70.27517 ms to 10407.900082 ms)\n\n\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value value, clients 1 to 1,000\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 30 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10\n- etcd v3.1 (Go 1.7.5)\n- Zookeeper r3.4.9\n  - Java 8\n  - javac 1.8.0_121\n  - Java(TM) SE Runtime Environment (build 1.8.0_121-b13)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)\n- Consul v0.7.4 (Go 1.7.5)\n\n\n```\n+---------------------------------------+-------------------+------------------------+-----------------------+\n|                                       | etcd-v3.1-go1.7.5 | zookeeper-r3.4.9-java8 | consul-v0.7.4-go1.7.5 |\n+---------------------------------------+-------------------+------------------------+-----------------------+\n|                         TOTAL-SECONDS |      342.2984 sec |           320.9968 sec |          888.9235 sec |\n|                  TOTAL-REQUEST-NUMBER |         1,000,000 |              1,000,000 |             1,000,000 |\n|                        MAX-THROUGHPUT |    34,747 req/sec |         43,558 req/sec |        16,486 req/sec |\n|                        AVG-THROUGHPUT |     2,921 req/sec |          3,115 req/sec |         1,124 req/sec |\n|                        MIN-THROUGHPUT |        29 req/sec |              0 req/sec |             0 req/sec |\n|                       FASTEST-LATENCY |         1.1239 ms |              1.1194 ms |             3.1083 ms |\n|                           AVG-LATENCY |        13.9400 ms |             36.2980 ms |           152.1034 ms |\n|                       SLOWEST-LATENCY |       115.2305 ms |           2626.1766 ms |         20615.4531 ms |\n|                           Latency p10 |       2.309089 ms |            2.512687 ms |           3.992750 ms |\n|                           Latency p25 |       5.936953 ms |            3.853528 ms |           8.522133 ms |\n|                           Latency p50 |      10.201295 ms |            6.619094 ms |          36.083945 ms |\n|                           Latency p75 |      16.895621 ms |           13.507464 ms |         107.288320 ms |\n|                           Latency p90 |      28.576840 ms |           20.348043 ms |         313.922534 ms |\n|                           Latency p95 |      44.602367 ms |           28.054291 ms |         478.639678 ms |\n|                           Latency p99 |      60.177421 ms |         1108.928408 ms |         623.624914 ms |\n|                         Latency p99.9 |      92.142990 ms |         2619.595630 ms |       14534.009968 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |            5.0 GB |                 5.4 GB |                6.7 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |            3.9 GB |                 4.3 GB |                5.4 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |            270 MB |                 356 MB |                210 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |            1.5 GB |                 1.4 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |          431.33 % |               601.67 % |              466.00 % |\n|               SERVER-MAX-MEMORY-USAGE |            1.3 GB |                 3.9 GB |                5.0 GB |\n|                  CLIENT-MAX-CPU-USAGE |          559.00 % |               685.00 % |              231.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |            327 MB |                 4.4 GB |                201 MB |\n|                    CLIENT-ERROR-COUNT |                 0 |                     13 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                72 |                    389 |                   255 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                 0 |                      0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |         1,525,739 |              1,199,135 |             4,434,402 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |        32,134,464 |             40,860,544 |           183,627,904 |\n|           SERVER-AVG-DISK-SPACE-USAGE |            3.1 GB |                 7.6 GB |                2.8 GB |\n+---------------------------------------+-------------------+------------------------+-----------------------+\n\n\nzookeeper errors:\n\"zk: could not connect to a server\" (count 13)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value, Best Throughput (etcd 1,000, Zookeeper 500, Consul 500 clients)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 30 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10\n- etcd v3.1 (Go 1.7.5)\n- Zookeeper r3.4.9\n  - Java 8\n  - javac 1.8.0_121\n  - Java(TM) SE Runtime Environment (build 1.8.0_121-b13)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)\n- Consul v0.7.4 (Go 1.7.5)\n\n\n```\n+---------------------------------------+-------------------+------------------------+-----------------------+\n|                                       | etcd-v3.1-go1.7.5 | zookeeper-r3.4.9-java8 | consul-v0.7.4-go1.7.5 |\n+---------------------------------------+-------------------+------------------------+-----------------------+\n|                         TOTAL-SECONDS |       36.5583 sec |            63.6203 sec |          261.0246 sec |\n|                  TOTAL-REQUEST-NUMBER |         1,000,000 |              1,000,000 |             1,000,000 |\n|                        MAX-THROUGHPUT |    35,187 req/sec |         44,883 req/sec |        15,009 req/sec |\n|                        AVG-THROUGHPUT |    27,353 req/sec |         15,684 req/sec |         3,831 req/sec |\n|                        MIN-THROUGHPUT |    13,891 req/sec |              0 req/sec |             0 req/sec |\n|                       FASTEST-LATENCY |         4.7388 ms |              2.4777 ms |            14.0583 ms |\n|                           AVG-LATENCY |        36.3305 ms |             22.5664 ms |           130.4658 ms |\n|                       SLOWEST-LATENCY |       346.3847 ms |           3517.8313 ms |         19316.7564 ms |\n|                           Latency p10 |      15.483941 ms |            7.766447 ms |          32.229589 ms |\n|                           Latency p25 |      18.596901 ms |            9.156112 ms |          37.179339 ms |\n|                           Latency p50 |      23.920164 ms |           10.532408 ms |          47.314383 ms |\n|                           Latency p75 |      44.685986 ms |           12.228320 ms |          70.740623 ms |\n|                           Latency p90 |      64.373404 ms |           14.214414 ms |         104.953131 ms |\n|                           Latency p95 |     113.441501 ms |           16.216272 ms |         282.116427 ms |\n|                           Latency p99 |     167.148590 ms |          340.373624 ms |        1092.781013 ms |\n|                         Latency p99.9 |     194.350987 ms |         2151.870409 ms |       11587.696623 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |            5.0 GB |                 5.4 GB |                 10 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |            3.8 GB |                 4.3 GB |                9.1 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |            282 MB |                 352 MB |                218 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |            1.4 GB |                 1.4 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |          446.67 % |               731.27 % |              379.33 % |\n|               SERVER-MAX-MEMORY-USAGE |            1.2 GB |                 4.6 GB |                5.8 GB |\n|                  CLIENT-MAX-CPU-USAGE |          568.00 % |               404.00 % |              223.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |            248 MB |                 3.1 GB |                 81 MB |\n|                    CLIENT-ERROR-COUNT |                 0 |                  2,150 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                 2 |                    213 |                   147 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                 0 |                      0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |           102,486 |                 86,871 |               641,255 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |        20,504,912 |             26,252,736 |           110,850,712 |\n|           SERVER-AVG-DISK-SPACE-USAGE |            2.7 GB |                 6.9 GB |                3.0 GB |\n+---------------------------------------+-------------------+------------------------+-----------------------+\n\n\nzookeeper errors:\n\"zk: could not connect to a server\" (count 765)\n\"zk: connection closed\" (count 1,385)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-CPU.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value, 1,000 client\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 30 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10\n- etcd v3.1 (Go 1.7.5)\n- Zookeeper r3.4.9\n  - Java 8\n  - javac 1.8.0_121\n  - Java(TM) SE Runtime Environment (build 1.8.0_121-b13)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)\n- Consul v0.7.4 (Go 1.7.5)\n\n\n```\n+---------------------------------------+-------------------+------------------------+-----------------------+\n|                                       | etcd-v3.1-go1.7.5 | zookeeper-r3.4.9-java8 | consul-v0.7.4-go1.7.5 |\n+---------------------------------------+-------------------+------------------------+-----------------------+\n|                         TOTAL-SECONDS |       36.5091 sec |            59.0429 sec |          116.4349 sec |\n|                  TOTAL-REQUEST-NUMBER |         1,000,000 |              1,000,000 |             1,000,000 |\n|                        MAX-THROUGHPUT |    35,162 req/sec |         50,196 req/sec |        14,615 req/sec |\n|                        AVG-THROUGHPUT |    27,390 req/sec |         16,854 req/sec |         8,588 req/sec |\n|                        MIN-THROUGHPUT |    14,654 req/sec |              0 req/sec |             0 req/sec |\n|                       FASTEST-LATENCY |         4.9384 ms |              1.4337 ms |            15.3309 ms |\n|                           AVG-LATENCY |        36.3098 ms |             44.2298 ms |           115.8624 ms |\n|                       SLOWEST-LATENCY |       353.6275 ms |           7585.4064 ms |         12902.7031 ms |\n|                           Latency p10 |      14.627933 ms |           12.299326 ms |          67.088002 ms |\n|                           Latency p25 |      17.957404 ms |           15.830300 ms |          73.441500 ms |\n|                           Latency p50 |      23.290321 ms |           18.660221 ms |          82.581044 ms |\n|                           Latency p75 |      43.118899 ms |           21.623243 ms |          96.395872 ms |\n|                           Latency p90 |      64.488242 ms |           26.143493 ms |         166.706106 ms |\n|                           Latency p95 |     126.257124 ms |           77.780210 ms |         218.288165 ms |\n|                           Latency p99 |     173.468949 ms |          843.928907 ms |         323.392356 ms |\n|                         Latency p99.9 |     194.822900 ms |         2909.696060 ms |        7179.211229 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |            5.0 GB |                 5.3 GB |                5.6 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |            3.8 GB |                 4.3 GB |                4.4 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |            282 MB |                 371 MB |                243 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |            1.4 GB |                 1.5 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |          433.67 % |               634.40 % |              478.67 % |\n|               SERVER-MAX-MEMORY-USAGE |            1.1 GB |                 4.9 GB |                5.1 GB |\n|                  CLIENT-MAX-CPU-USAGE |          582.00 % |               422.00 % |              219.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |            266 MB |                 4.9 GB |                115 MB |\n|                    CLIENT-ERROR-COUNT |                 0 |                  4,886 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                70 |                    217 |                    46 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                 0 |                      0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |           102,259 |                 80,718 |               377,108 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |        20,520,584 |             27,706,344 |            48,882,704 |\n|           SERVER-AVG-DISK-SPACE-USAGE |            2.7 GB |                 5.9 GB |                3.1 GB |\n+---------------------------------------+-------------------+------------------------+-----------------------+\n\n\nzookeeper errors:\n\"zk: connection closed\" (count 2,381)\n\"zk: could not connect to a server\" (count 2,505)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-LATENCY-MS.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-THROUGHPUT.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-CPU.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-VMRSS-MB.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/03-write-1M-keys-1000-client/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Write 3-million keys, 256-byte key, 1KB value, Best Throughput (etcd 1,000, Zookeeper 500, Consul 500 clients)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 30 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10\n- etcd v3.1 (Go 1.7.5)\n- Zookeeper r3.4.9\n  - Java 8\n  - javac 1.8.0_121\n  - Java(TM) SE Runtime Environment (build 1.8.0_121-b13)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)\n- Consul v0.7.4 (Go 1.7.5)\n\n\n```\n+---------------------------------------+-------------------+------------------------+-----------------------+\n|                                       | etcd-v3.1-go1.7.5 | zookeeper-r3.4.9-java8 | consul-v0.7.4-go1.7.5 |\n+---------------------------------------+-------------------+------------------------+-----------------------+\n|                         TOTAL-SECONDS |      138.0049 sec |          2242.5513 sec |         2361.4227 sec |\n|                  TOTAL-REQUEST-NUMBER |         3,000,000 |              3,000,000 |             3,000,000 |\n|                        MAX-THROUGHPUT |    33,963 req/sec |         42,804 req/sec |        16,033 req/sec |\n|                        AVG-THROUGHPUT |    21,738 req/sec |            906 req/sec |         1,270 req/sec |\n|                        MIN-THROUGHPUT |     7,006 req/sec |              0 req/sec |             0 req/sec |\n|                       FASTEST-LATENCY |         3.2812 ms |              1.2984 ms |            16.9263 ms |\n|                           AVG-LATENCY |        45.9259 ms |             42.7162 ms |           393.5551 ms |\n|                       SLOWEST-LATENCY |       259.3153 ms |           6921.5532 ms |         30425.8070 ms |\n|                           Latency p10 |      15.658060 ms |            8.200137 ms |          34.534783 ms |\n|                           Latency p25 |      18.852826 ms |            9.417761 ms |          42.917753 ms |\n|                           Latency p50 |      23.711419 ms |           10.902322 ms |          64.087200 ms |\n|                           Latency p75 |      53.911600 ms |           12.742504 ms |          91.427820 ms |\n|                           Latency p90 |     130.485283 ms |           15.178863 ms |         167.938406 ms |\n|                           Latency p95 |     151.376530 ms |           38.140465 ms |         951.339409 ms |\n|                           Latency p99 |     171.722975 ms |         1540.586327 ms |       10968.875166 ms |\n|                         Latency p99.9 |     188.102916 ms |         2276.156658 ms |       18546.023298 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |             15 GB |                  12 GB |                 89 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |             12 GB |                  10 GB |                 85 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |            852 MB |                 997 MB |                685 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |            4.3 GB |                 3.4 GB |                4.4 GB |\n|                  SERVER-MAX-CPU-USAGE |          442.00 % |               785.67 % |              439.33 % |\n|               SERVER-MAX-MEMORY-USAGE |            2.8 GB |                 7.4 GB |                 15 GB |\n|                  CLIENT-MAX-CPU-USAGE |          554.00 % |               368.00 % |              222.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |            348 MB |                 3.1 GB |                157 MB |\n|                    CLIENT-ERROR-COUNT |                 0 |                967,222 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |               168 |                    443 |                23,290 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                 0 |                      0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |           303,974 |                231,817 |             2,976,074 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |        62,193,472 |             84,808,712 |           990,569,940 |\n|           SERVER-AVG-DISK-SPACE-USAGE |            6.5 GB |                  21 GB |                8.3 GB |\n+---------------------------------------+-------------------+------------------------+-----------------------+\n\n\nzookeeper errors:\n\"zk: could not connect to a server\" (count 963,503)\n\"zk: connection closed\" (count 3,719)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-LATENCY-MS.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-THROUGHPUT.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-CPU.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-VMRSS-MB.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-00-etcd-zookeeper-consul/04-write-too-many-keys/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n"
  },
  {
    "path": "test-results/2017Q1-01-etcd-zookeeper-consul/README.md",
    "content": "\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value value, clients 1 to 1,000\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10 (GNU/Linux kernel 4.8.0-42-generic)\n- `ulimit -n` is 120000\n- etcd tip (Go 1.8.1, git SHA f4641accc34be80c255ff87673a1cb92342abedd)\n- Zookeeper r3.5.2-alpha\n  - Java 8\n  - javac 1.8.0_121\n  - Java(TM) SE Runtime Environment (build 1.8.0_121-b13)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n- Consul v0.7.5 (Go 1.8.0)\n\n\n```\n+---------------------------------------+------------------+------------------------------+-----------------------+\n|                                       | etcd-tip-go1.8.0 | zookeeper-r3.5.2-alpha-java8 | consul-v0.7.5-go1.8.0 |\n+---------------------------------------+------------------+------------------------------+-----------------------+\n|                         TOTAL-SECONDS |     377.2927 sec |                 327.6324 sec |          698.7478 sec |\n|                  TOTAL-REQUEST-NUMBER |        1,000,000 |                    1,000,000 |             1,000,000 |\n|                        MAX-THROUGHPUT |   37,106 req/sec |               25,009 req/sec |        16,003 req/sec |\n|                        AVG-THROUGHPUT |    2,650 req/sec |                3,048 req/sec |         1,431 req/sec |\n|                        MIN-THROUGHPUT |      201 req/sec |                    0 req/sec |             0 req/sec |\n|                       FASTEST-LATENCY |        1.1514 ms |                    1.0570 ms |             3.1691 ms |\n|                           AVG-LATENCY |       13.9042 ms |                   22.0313 ms |            47.5751 ms |\n|                       SLOWEST-LATENCY |      112.1736 ms |                 2662.2537 ms |          3416.4836 ms |\n|                           Latency p10 |      2.590518 ms |                  2.554608 ms |           4.120475 ms |\n|                           Latency p25 |      6.222186 ms |                  3.882311 ms |           7.906411 ms |\n|                           Latency p50 |     10.331986 ms |                  6.389982 ms |          19.743291 ms |\n|                           Latency p75 |     16.628607 ms |                 22.490612 ms |          61.329955 ms |\n|                           Latency p90 |     28.355336 ms |                 34.082148 ms |          89.313236 ms |\n|                           Latency p95 |     43.345061 ms |                 51.386743 ms |         122.111399 ms |\n|                           Latency p99 |     60.595924 ms |                224.327398 ms |         309.823246 ms |\n|                         Latency p99.9 |     95.336990 ms |               1549.797635 ms |        2714.083344 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |           5.1 GB |                       5.4 GB |                5.6 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |           3.9 GB |                       4.3 GB |                4.3 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |           270 MB |                       356 MB |                202 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |           1.5 GB |                       1.4 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |         425.80 % |                     257.00 % |              424.53 % |\n|               SERVER-MAX-MEMORY-USAGE |           1.4 GB |                        16 GB |                4.9 GB |\n|                  CLIENT-MAX-CPU-USAGE |         462.00 % |                     354.50 % |              425.70 % |\n|               CLIENT-MAX-MEMORY-USAGE |           308 MB |                       4.8 GB |                201 MB |\n|                    CLIENT-ERROR-COUNT |                0 |                        1,194 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |               30 |                          207 |                    31 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                0 |                            0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |        1,525,546 |                    1,234,154 |             3,352,596 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |       32,521,080 |                   35,044,520 |           106,551,704 |\n|           SERVER-AVG-DISK-SPACE-USAGE |           2.4 GB |                          0 B |                2.9 GB |\n+---------------------------------------+------------------+------------------------------+-----------------------+\n\n\nzookeeper__r3_5_2_alpha errors:\n\"zk: could not connect to a server\" (count 195)\n\"zk: connection closed\" (count 999)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/MAX-CPU.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value, Best Throughput (etcd 1,000, Zookeeper 500, Consul 500 clients)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10 (GNU/Linux kernel 4.8.0-42-generic)\n- `ulimit -n` is 120000\n- etcd tip (Go 1.8.1, git SHA f4641accc34be80c255ff87673a1cb92342abedd)\n- Zookeeper r3.5.2-alpha\n  - Java 8\n  - javac 1.8.0_121\n  - Java(TM) SE Runtime Environment (build 1.8.0_121-b13)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n- Consul v0.7.5 (Go 1.8.0)\n\n\n```\n+---------------------------------------+------------------+------------------------------+-----------------------+\n|                                       | etcd-tip-go1.8.0 | zookeeper-r3.5.2-alpha-java8 | consul-v0.7.5-go1.8.0 |\n+---------------------------------------+------------------+------------------------------+-----------------------+\n|                         TOTAL-SECONDS |      27.9354 sec |                  51.7589 sec |          482.4360 sec |\n|                  TOTAL-REQUEST-NUMBER |        1,000,000 |                    1,000,000 |             1,000,000 |\n|                        MAX-THROUGHPUT |   38,791 req/sec |               24,142 req/sec |        15,858 req/sec |\n|                        AVG-THROUGHPUT |   35,796 req/sec |               19,319 req/sec |         2,072 req/sec |\n|                        MIN-THROUGHPUT |   12,028 req/sec |                   47 req/sec |             0 req/sec |\n|                       FASTEST-LATENCY |        4.0583 ms |                    3.6546 ms |            13.9067 ms |\n|                           AVG-LATENCY |       27.7560 ms |                   25.2746 ms |           241.1081 ms |\n|                       SLOWEST-LATENCY |     1084.3727 ms |                 1690.0324 ms |          2829.0558 ms |\n|                           Latency p10 |     12.653617 ms |                  7.775213 ms |          32.308527 ms |\n|                           Latency p25 |     15.548106 ms |                  8.989187 ms |          45.157053 ms |\n|                           Latency p50 |     21.642950 ms |                 11.920882 ms |         306.531596 ms |\n|                           Latency p75 |     34.058936 ms |                 18.416282 ms |         383.361003 ms |\n|                           Latency p90 |     54.289308 ms |                 30.998200 ms |         399.483213 ms |\n|                           Latency p95 |     59.761141 ms |                 42.943748 ms |         407.839444 ms |\n|                           Latency p99 |     76.450636 ms |                340.584561 ms |         426.220478 ms |\n|                         Latency p99.9 |     94.377491 ms |               1198.611571 ms |        1792.641180 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |           5.0 GB |                       4.9 GB |                5.7 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |           3.8 GB |                       3.9 GB |                4.4 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |           279 MB |                       353 MB |                228 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |           1.4 GB |                       1.4 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |         448.33 % |                     580.70 % |              406.00 % |\n|               SERVER-MAX-MEMORY-USAGE |           1.1 GB |                        16 GB |                4.7 GB |\n|                  CLIENT-MAX-CPU-USAGE |         464.40 % |                     220.00 % |              255.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |           244 MB |                       2.5 GB |                 90 MB |\n|                    CLIENT-ERROR-COUNT |                0 |                           20 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |               11 |                          212 |                    16 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                0 |                            0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |          100,970 |                      151,117 |             3,254,568 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |       20,736,456 |                   16,501,248 |           285,723,776 |\n|           SERVER-AVG-DISK-SPACE-USAGE |           2.6 GB |                          0 B |                2.8 GB |\n+---------------------------------------+------------------+------------------------------+-----------------------+\n\n\nzookeeper__r3_5_2_alpha errors:\n\"zk: could not connect to a server\" (count 20)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-CPU.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/MAX-CPU.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Write 3-million keys, 256-byte key, 1KB value, Best Throughput (etcd 1,000, Zookeeper 500, Consul 500 clients)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10 (GNU/Linux kernel 4.8.0-42-generic)\n- `ulimit -n` is 120000\n- etcd tip (Go 1.8.1, git SHA f4641accc34be80c255ff87673a1cb92342abedd)\n- Zookeeper r3.5.2-alpha\n  - Java 8\n  - javac 1.8.0_121\n  - Java(TM) SE Runtime Environment (build 1.8.0_121-b13)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n- Consul v0.7.5 (Go 1.8.0)\n\n\n```\n+---------------------------------------+------------------+------------------------------+-----------------------+\n|                                       | etcd-tip-go1.8.0 | zookeeper-r3.5.2-alpha-java8 | consul-v0.7.5-go1.8.0 |\n+---------------------------------------+------------------+------------------------------+-----------------------+\n|                         TOTAL-SECONDS |      84.2543 sec |                 305.1659 sec |         1206.0352 sec |\n|                  TOTAL-REQUEST-NUMBER |        3,000,000 |                    3,000,000 |             3,000,000 |\n|                        MAX-THROUGHPUT |   39,973 req/sec |               23,847 req/sec |        15,016 req/sec |\n|                        AVG-THROUGHPUT |   35,606 req/sec |                9,723 req/sec |         2,487 req/sec |\n|                        MIN-THROUGHPUT |    8,413 req/sec |                    0 req/sec |             0 req/sec |\n|                       FASTEST-LATENCY |        3.6522 ms |                    1.7530 ms |             9.3109 ms |\n|                           AVG-LATENCY |       28.0355 ms |                   35.8848 ms |           200.9806 ms |\n|                       SLOWEST-LATENCY |     1045.7943 ms |                 4200.7088 ms |         24326.9072 ms |\n|                           Latency p10 |     12.163786 ms |                  7.437302 ms |          33.257408 ms |\n|                           Latency p25 |     14.799691 ms |                  8.277894 ms |          37.723426 ms |\n|                           Latency p50 |     21.589291 ms |                 10.689390 ms |          44.522580 ms |\n|                           Latency p75 |     34.128977 ms |                 15.809325 ms |          57.370064 ms |\n|                           Latency p90 |     55.153568 ms |                 30.973644 ms |         153.991054 ms |\n|                           Latency p95 |     62.265352 ms |                 68.815970 ms |         459.915452 ms |\n|                           Latency p99 |     95.655432 ms |                656.062715 ms |        4503.134832 ms |\n|                         Latency p99.9 |    151.005460 ms |               2498.386467 ms |       12409.886568 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |            15 GB |                        14 GB |                100 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |            11 GB |                        11 GB |                 97 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |           834 MB |                       1.1 GB |                647 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |           4.3 GB |                       4.2 GB |                4.4 GB |\n|                  SERVER-MAX-CPU-USAGE |         489.00 % |                     495.67 % |              462.00 % |\n|               SERVER-MAX-MEMORY-USAGE |           2.8 GB |                        26 GB |                 19 GB |\n|                  CLIENT-MAX-CPU-USAGE |         490.00 % |                     252.00 % |              225.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |           301 MB |                       3.3 GB |                156 MB |\n|                    CLIENT-ERROR-COUNT |                0 |                       32,647 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |              147 |                          792 |                 2,141 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                0 |                            0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |          301,127 |                      672,380 |             2,944,882 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |       61,959,344 |                  196,435,376 |           958,732,432 |\n|           SERVER-AVG-DISK-SPACE-USAGE |           6.6 GB |                          0 B |                8.5 GB |\n+---------------------------------------+------------------+------------------------------+-----------------------+\n\n\nzookeeper__r3_5_2_alpha errors:\n\"zk: could not connect to a server\" (count 27,419)\n\"zk: connection closed\" (count 5,228)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-LATENCY-MS.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-THROUGHPUT.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-CPU.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/MAX-CPU.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-VMRSS-MB.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/03-write-too-many-keys/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value, 100 clients, 1000 QPS Limit\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10 (GNU/Linux kernel 4.8.0-42-generic)\n- `ulimit -n` is 120000\n- etcd tip (Go 1.8.1, git SHA f4641accc34be80c255ff87673a1cb92342abedd)\n- Zookeeper r3.5.2-alpha\n  - Java 8\n  - javac 1.8.0_121\n  - Java(TM) SE Runtime Environment (build 1.8.0_121-b13)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n- Consul v0.7.5 (Go 1.8.0)\n\n\n```\n+---------------------------------------+------------------+------------------------------+-----------------------+\n|                                       | etcd-tip-go1.8.0 | zookeeper-r3.5.2-alpha-java8 | consul-v0.7.5-go1.8.0 |\n+---------------------------------------+------------------+------------------------------+-----------------------+\n|                         TOTAL-SECONDS |     999.0088 sec |                1002.8312 sec |         1010.3055 sec |\n|                  TOTAL-REQUEST-NUMBER |        1,000,000 |                    1,000,000 |             1,000,000 |\n|                        MAX-THROUGHPUT |    1,181 req/sec |                1,975 req/sec |         2,064 req/sec |\n|                        AVG-THROUGHPUT |    1,000 req/sec |                  997 req/sec |           989 req/sec |\n|                        MIN-THROUGHPUT |      819 req/sec |                    0 req/sec |           100 req/sec |\n|                       FASTEST-LATENCY |        1.1741 ms |                    1.0934 ms |             3.7535 ms |\n|                           AVG-LATENCY |        4.6191 ms |                    3.2957 ms |            63.9923 ms |\n|                       SLOWEST-LATENCY |      213.1974 ms |                 2801.7577 ms |          1837.6108 ms |\n|                           Latency p10 |      2.690404 ms |                  1.722341 ms |           8.356415 ms |\n|                           Latency p25 |      3.402413 ms |                  1.947233 ms |          19.390184 ms |\n|                           Latency p50 |      4.436716 ms |                  2.237011 ms |          71.852670 ms |\n|                           Latency p75 |      5.603319 ms |                  2.531433 ms |          94.524931 ms |\n|                           Latency p90 |      6.684710 ms |                  2.764637 ms |         105.113648 ms |\n|                           Latency p95 |      7.463689 ms |                  2.944441 ms |         112.451436 ms |\n|                           Latency p99 |      9.220852 ms |                  4.915394 ms |         143.747948 ms |\n|                         Latency p99.9 |     15.102828 ms |                299.410120 ms |         864.272976 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |           5.7 GB |                       5.8 GB |                5.9 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |           4.5 GB |                       4.6 GB |                4.7 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |           264 MB |                       354 MB |                221 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |           1.5 GB |                       1.5 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |          92.17 % |                     191.33 % |              278.60 % |\n|               SERVER-MAX-MEMORY-USAGE |           1.6 GB |                        17 GB |                4.3 GB |\n|                  CLIENT-MAX-CPU-USAGE |          51.00 % |                      59.40 % |               53.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |            92 MB |                       662 MB |                 73 MB |\n|                    CLIENT-ERROR-COUNT |                0 |                            4 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |              183 |                          312 |                   339 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                0 |                            0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |        5,703,724 |                    6,488,292 |            10,385,551 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |       64,969,512 |                  123,190,708 |           266,572,140 |\n|           SERVER-AVG-DISK-SPACE-USAGE |           2.5 GB |                          0 B |                2.8 GB |\n+---------------------------------------+------------------+------------------------------+-----------------------+\n\n\nzookeeper__r3_5_2_alpha errors:\n\"zk: connection closed\" (count 4)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-LATENCY-MS.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-THROUGHPUT.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-CPU.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/MAX-CPU.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-VMRSS-MB.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q1-01-etcd-zookeeper-consul/04-write-1M-keys-1000QPS/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n"
  },
  {
    "path": "test-results/2017Q2-01-etcd-zookeeper-consul/README.md",
    "content": "\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/2017Q2-01-write-1M-cpu-client-scaling.png\" alt=\"2017Q2-01-write-1M-cpu-client-scaling\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/2017Q2-01-write-1M-latency-best-throughput.png\" alt=\"2017Q2-01-write-1M-latency-best-throughput\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/2017Q2-01-write-1M-latency-by-key-best-throughput.png\" alt=\"2017Q2-01-write-1M-latency-by-key-best-throughput\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/2017Q2-01-write-1M-memory-by-key-best-throughput.png\" alt=\"2017Q2-01-write-1M-memory-by-key-best-throughput\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/2017Q2-01-write-1M-network-traffic-best-throughput.png\" alt=\"2017Q2-01-write-1M-network-traffic-throughput\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/2017Q2-01-write-1M-sector-writes-client-scaling.png\" alt=\"2017Q2-01-write-1M-sector-writes-client-scaling\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/2017Q2-01-write-1M-throughput-client-scaling.png\" alt=\"2017Q2-01-write-1M-throughput-client-scaling\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/2017Q2-01-read-3M-latency-1000-clients.png\" alt=\"2017Q2-01-read-3M-latency-1000-clients\">\n\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value value, clients 1 to 1,000\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10 (GNU/Linux kernel 4.8.0-49-generic)\n- `ulimit -n` is 120000\n- etcd tip (Go 1.8.1, git SHA f4641accc34be80c255ff87673a1cb92342abedd)\n- Zookeeper r3.5.3-beta\n  - Java 8\n  - javac 1.8.0_131\n  - Java(TM) SE Runtime Environment (build 1.8.0_131-b11)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n- Consul v0.8.3 (Go 1.8.1)\n\n\n```\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n|                                       | etcd-tip-go1.8.1 | zookeeper-r3.5.3-beta-java8 | consul-v0.8.3-go1.8.1 |\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n|                         TOTAL-SECONDS |     351.6020 sec |                312.1674 sec |          693.4096 sec |\n|                  TOTAL-REQUEST-NUMBER |        1,000,000 |                   1,000,000 |             1,000,000 |\n|                        MAX-THROUGHPUT |   38,664 req/sec |              26,396 req/sec |        16,112 req/sec |\n|                        AVG-THROUGHPUT |    2,844 req/sec |               3,203 req/sec |         1,442 req/sec |\n|                        MIN-THROUGHPUT |        0 req/sec |                 322 req/sec |             7 req/sec |\n|                       FASTEST-LATENCY |        1.0256 ms |                   1.0387 ms |             3.1768 ms |\n|                           AVG-LATENCY |       13.5717 ms |                  19.3475 ms |            43.1156 ms |\n|                       SLOWEST-LATENCY |     1691.4180 ms |                2227.7036 ms |           606.1826 ms |\n|                           Latency p10 |      2.402266 ms |                 2.591794 ms |           4.077258 ms |\n|                           Latency p25 |      6.143995 ms |                 4.015241 ms |           8.037402 ms |\n|                           Latency p50 |     10.108521 ms |                 6.376892 ms |          21.082171 ms |\n|                           Latency p75 |     16.263905 ms |                14.289960 ms |          57.802632 ms |\n|                           Latency p90 |     26.587891 ms |                35.872999 ms |          92.286646 ms |\n|                           Latency p95 |     43.256411 ms |                54.634488 ms |         146.055426 ms |\n|                           Latency p99 |     59.931281 ms |               207.573536 ms |         345.999896 ms |\n|                         Latency p99.9 |     85.660538 ms |              1645.054495 ms |         434.422801 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |           4.9 GB |                      5.6 GB |                5.6 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |           3.8 GB |                      4.6 GB |                4.3 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |           270 MB |                      356 MB |                202 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |           1.5 GB |                      1.4 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |         378.67 % |                    486.67 % |              478.47 % |\n|               SERVER-MAX-MEMORY-USAGE |           1.4 GB |                       17 GB |                4.7 GB |\n|                  CLIENT-MAX-CPU-USAGE |         430.00 % |                    553.50 % |              226.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |           302 MB |                      3.5 GB |                192 MB |\n|                    CLIENT-ERROR-COUNT |                0 |                           0 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |               80 |                         325 |                   245 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                0 |                           0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |        1,477,712 |                   1,207,585 |             3,470,004 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |       31,450,244 |                  29,392,728 |           100,575,608 |\n|           SERVER-AVG-DISK-SPACE-USAGE |           2.4 GB |                      7.2 GB |                3.0 GB |\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/MAX-CPU.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/01-write-1M-keys-client-variable/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value, Best Throughput (etcd 1,000, Zookeeper 700, Consul 500 clients)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10 (GNU/Linux kernel 4.8.0-49-generic)\n- `ulimit -n` is 120000\n- etcd tip (Go 1.8.1, git SHA f4641accc34be80c255ff87673a1cb92342abedd)\n- Zookeeper r3.5.3-beta\n  - Java 8\n  - javac 1.8.0_131\n  - Java(TM) SE Runtime Environment (build 1.8.0_131-b11)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n- Consul v0.8.3 (Go 1.8.1)\n\n\n```\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n|                                       | etcd-tip-go1.8.1 | zookeeper-r3.5.3-beta-java8 | consul-v0.8.3-go1.8.1 |\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n|                         TOTAL-SECONDS |      27.1129 sec |                 73.7509 sec |          104.7749 sec |\n|                  TOTAL-REQUEST-NUMBER |        1,000,000 |                   1,000,000 |             1,000,000 |\n|                        MAX-THROUGHPUT |   39,310 req/sec |              25,609 req/sec |        16,187 req/sec |\n|                        AVG-THROUGHPUT |   36,882 req/sec |              13,527 req/sec |         9,544 req/sec |\n|                        MIN-THROUGHPUT |   11,832 req/sec |                   0 req/sec |         1,153 req/sec |\n|                       FASTEST-LATENCY |        5.4015 ms |                   3.6710 ms |            17.5701 ms |\n|                           AVG-LATENCY |       27.0628 ms |                  40.5812 ms |            52.3596 ms |\n|                       SLOWEST-LATENCY |      259.4610 ms |                6730.8732 ms |           726.8671 ms |\n|                           Latency p10 |     12.479063 ms |                10.913450 ms |          30.501150 ms |\n|                           Latency p25 |     15.698429 ms |                13.308653 ms |          34.493203 ms |\n|                           Latency p50 |     21.313025 ms |                22.341612 ms |          40.393695 ms |\n|                           Latency p75 |     32.893052 ms |                38.831905 ms |          49.501634 ms |\n|                           Latency p90 |     53.129533 ms |                55.978192 ms |          78.371086 ms |\n|                           Latency p95 |     58.230130 ms |                86.862387 ms |         113.602111 ms |\n|                           Latency p99 |     69.868009 ms |               396.844374 ms |         302.290504 ms |\n|                         Latency p99.9 |     86.566285 ms |              1509.821322 ms |         428.773213 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |           5.0 GB |                      5.3 GB |                5.6 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |           3.8 GB |                      4.3 GB |                4.3 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |           278 MB |                      365 MB |                206 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |           1.4 GB |                      1.4 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |         405.77 % |                    509.00 % |              467.00 % |\n|               SERVER-MAX-MEMORY-USAGE |           1.2 GB |                       17 GB |                5.0 GB |\n|                  CLIENT-MAX-CPU-USAGE |         446.00 % |                    199.00 % |              212.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |           229 MB |                      4.0 GB |                 94 MB |\n|                    CLIENT-ERROR-COUNT |                0 |                       2,358 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                8 |                         270 |                    12 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                0 |                           0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |           96,781 |                     201,371 |               455,890 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |       20,479,856 |                  31,624,496 |            46,815,008 |\n|           SERVER-AVG-DISK-SPACE-USAGE |           2.6 GB |                      8.6 GB |                3.0 GB |\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n\n\nzookeeper__r3_5_3_beta errors:\n\"zk: could not connect to a server\" (count 808)\n\"zk: connection closed\" (count 1,550)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-CPU.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/MAX-CPU.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/02-write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value, 100 clients, 1000 QPS Limit\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10 (GNU/Linux kernel 4.8.0-49-generic)\n- `ulimit -n` is 120000\n- etcd tip (Go 1.8.1, git SHA f4641accc34be80c255ff87673a1cb92342abedd)\n- Zookeeper r3.5.3-beta\n  - Java 8\n  - javac 1.8.0_131\n  - Java(TM) SE Runtime Environment (build 1.8.0_131-b11)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n- Consul v0.8.3 (Go 1.8.1)\n\n\n```\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n|                                       | etcd-tip-go1.8.1 | zookeeper-r3.5.3-beta-java8 | consul-v0.8.3-go1.8.1 |\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n|                         TOTAL-SECONDS |     999.0049 sec |               1000.5826 sec |         1013.0493 sec |\n|                  TOTAL-REQUEST-NUMBER |        1,000,000 |                   1,000,000 |             1,000,000 |\n|                        MAX-THROUGHPUT |    1,889 req/sec |               1,758 req/sec |         2,095 req/sec |\n|                        AVG-THROUGHPUT |    1,000 req/sec |                 999 req/sec |           987 req/sec |\n|                        MIN-THROUGHPUT |      111 req/sec |                   0 req/sec |            66 req/sec |\n|                       FASTEST-LATENCY |        1.0461 ms |                   1.0048 ms |             3.7279 ms |\n|                           AVG-LATENCY |        4.5826 ms |                   2.8069 ms |            49.6017 ms |\n|                       SLOWEST-LATENCY |       49.1574 ms |                2309.1645 ms |          1467.9840 ms |\n|                           Latency p10 |      2.660425 ms |                 1.673224 ms |           6.966911 ms |\n|                           Latency p25 |      3.375709 ms |                 1.929275 ms |           9.864446 ms |\n|                           Latency p50 |      4.379026 ms |                 2.243025 ms |          38.349274 ms |\n|                           Latency p75 |      5.552898 ms |                 2.502263 ms |          84.282425 ms |\n|                           Latency p90 |      6.651107 ms |                 2.702043 ms |         100.327132 ms |\n|                           Latency p95 |      7.509832 ms |                 2.846511 ms |         108.347549 ms |\n|                           Latency p99 |      9.331735 ms |                 3.849668 ms |         135.330942 ms |\n|                         Latency p99.9 |     14.513159 ms |               115.777978 ms |         899.092677 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |           5.7 GB |                      5.7 GB |                6.0 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |           4.5 GB |                      4.6 GB |                4.7 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |           264 MB |                      355 MB |                209 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |           1.5 GB |                      1.5 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |          77.23 % |                    269.33 % |              271.60 % |\n|               SERVER-MAX-MEMORY-USAGE |           1.6 GB |                       17 GB |                4.3 GB |\n|                  CLIENT-MAX-CPU-USAGE |          48.00 % |                     38.00 % |               51.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |            90 MB |                      647 MB |                 75 MB |\n|                    CLIENT-ERROR-COUNT |                0 |                           0 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |              115 |                         539 |                   213 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                0 |                           0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |        5,648,559 |                   6,255,113 |            10,048,916 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |       64,808,440 |                 116,857,296 |           256,791,472 |\n|           SERVER-AVG-DISK-SPACE-USAGE |           2.5 GB |                       11 GB |                2.8 GB |\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-LATENCY-MS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-THROUGHPUT.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-CPU.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/MAX-CPU.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-VMRSS-MB.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/03-write-1M-keys-1000QPS/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Read 3M same keys, 256-byte key, 1KB value, Best Throughput (etcd 1,000, Zookeeper 700, Consul 500 clients)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10 (GNU/Linux kernel 4.8.0-49-generic)\n- `ulimit -n` is 120000\n- etcd tip (Go 1.8.1, git SHA f4641accc34be80c255ff87673a1cb92342abedd)\n- Zookeeper r3.5.3-beta\n  - Java 8\n  - javac 1.8.0_131\n  - Java(TM) SE Runtime Environment (build 1.8.0_131-b11)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n- Consul v0.8.3 (Go 1.8.1)\n\n\n```\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n|                                       | etcd-tip-go1.8.1 | zookeeper-r3.5.3-beta-java8 | consul-v0.8.3-go1.8.1 |\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n|                         TOTAL-SECONDS |      25.5649 sec |                 33.3964 sec |           42.7809 sec |\n|                  TOTAL-REQUEST-NUMBER |        3,000,000 |                   3,000,000 |             3,000,000 |\n|                        MAX-THROUGHPUT |  129,450 req/sec |             105,215 req/sec |        75,899 req/sec |\n|                        AVG-THROUGHPUT |  117,348 req/sec |              89,830 req/sec |        70,124 req/sec |\n|                        MIN-THROUGHPUT |   24,852 req/sec |              20,212 req/sec |        55,371 req/sec |\n|                       FASTEST-LATENCY |        0.4735 ms |                   0.8851 ms |             0.3436 ms |\n|                           AVG-LATENCY |        8.1089 ms |                   7.4485 ms |             6.1135 ms |\n|                       SLOWEST-LATENCY |      878.4009 ms |                 226.4025 ms |            79.0516 ms |\n|                           Latency p10 |      3.528392 ms |                 2.801653 ms |           2.347963 ms |\n|                           Latency p25 |      4.954795 ms |                 3.205985 ms |           3.477169 ms |\n|                           Latency p50 |      6.985102 ms |                 4.003191 ms |           5.524614 ms |\n|                           Latency p75 |      8.392994 ms |                12.555739 ms |           7.989689 ms |\n|                           Latency p90 |     12.082250 ms |                15.000391 ms |          10.686574 ms |\n|                           Latency p95 |     15.594535 ms |                17.438278 ms |          12.588298 ms |\n|                           Latency p99 |     35.948728 ms |                26.880671 ms |          16.373871 ms |\n|                         Latency p99.9 |    223.739181 ms |                44.972673 ms |          22.810455 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |           1.3 GB |                      2.4 GB |                5.2 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |           4.8 GB |                      4.9 GB |                9.5 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |           4.7 GB |                      4.6 GB |                5.9 GB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |           1.3 GB |                      2.0 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |         669.27 % |                    622.67 % |              883.00 % |\n|               SERVER-MAX-MEMORY-USAGE |            84 MB |                       11 GB |                 38 MB |\n|                  CLIENT-MAX-CPU-USAGE |        1112.00 % |                   1386.00 % |             1358.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |           287 MB |                      4.5 GB |                158 MB |\n|                    CLIENT-ERROR-COUNT |                0 |                           0 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                0 |                          15 |                     1 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                0 |                           0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |               81 |                       5,151 |                   182 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |              912 |                      26,496 |                 2,096 |\n|           SERVER-AVG-DISK-SPACE-USAGE |            81 MB |                       67 MB |                 69 kB |\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-CPU.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/MAX-CPU.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/04-read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Read 3M same keys, 256-byte key, 1KB value, 1,000 clients\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10 (GNU/Linux kernel 4.8.0-49-generic)\n- `ulimit -n` is 120000\n- etcd tip (Go 1.8.1, git SHA f4641accc34be80c255ff87673a1cb92342abedd)\n- Zookeeper r3.5.3-beta\n  - Java 8\n  - javac 1.8.0_131\n  - Java(TM) SE Runtime Environment (build 1.8.0_131-b11)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n- Consul v0.8.3 (Go 1.8.1)\n\n\n```\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n|                                       | etcd-tip-go1.8.1 | zookeeper-r3.5.3-beta-java8 | consul-v0.8.3-go1.8.1 |\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n|                         TOTAL-SECONDS |      25.5690 sec |                 32.5781 sec |           45.3777 sec |\n|                  TOTAL-REQUEST-NUMBER |        3,000,000 |                   3,000,000 |             3,000,000 |\n|                        MAX-THROUGHPUT |  131,842 req/sec |             108,889 req/sec |        70,944 req/sec |\n|                        AVG-THROUGHPUT |  117,329 req/sec |              92,078 req/sec |        66,111 req/sec |\n|                        MIN-THROUGHPUT |   25,889 req/sec |               4,444 req/sec |           902 req/sec |\n|                       FASTEST-LATENCY |        0.4944 ms |                   0.5857 ms |             0.3899 ms |\n|                           AVG-LATENCY |        8.1291 ms |                  10.0708 ms |            13.2565 ms |\n|                       SLOWEST-LATENCY |      888.7094 ms |                 499.0320 ms |          1073.5244 ms |\n|                           Latency p10 |      3.644467 ms |                 3.666637 ms |           4.953445 ms |\n|                           Latency p25 |      4.999142 ms |                 4.307426 ms |           7.085859 ms |\n|                           Latency p50 |      6.981474 ms |                 5.416655 ms |          11.658595 ms |\n|                           Latency p75 |      8.258696 ms |                17.228526 ms |          17.624440 ms |\n|                           Latency p90 |     11.807836 ms |                19.635761 ms |          24.435628 ms |\n|                           Latency p95 |     15.451811 ms |                20.759451 ms |          28.323236 ms |\n|                           Latency p99 |     36.775950 ms |                23.300235 ms |          34.916833 ms |\n|                         Latency p99.9 |    223.901331 ms |               223.894715 ms |          42.851037 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |           1.3 GB |                      2.5 GB |                5.2 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |           4.8 GB |                      5.1 GB |                9.6 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |           4.7 GB |                      4.6 GB |                5.9 GB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |           1.3 GB |                      2.0 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |         665.00 % |                    693.67 % |              848.63 % |\n|               SERVER-MAX-MEMORY-USAGE |            84 MB |                       12 GB |                 52 MB |\n|                  CLIENT-MAX-CPU-USAGE |        1122.00 % |                   1306.00 % |             1261.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |           311 MB |                      6.3 GB |                181 MB |\n|                    CLIENT-ERROR-COUNT |                0 |                         272 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                0 |                           9 |                     0 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                0 |                           0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |               47 |                       3,908 |                   342 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |              504 |                      23,192 |                 3,328 |\n|           SERVER-AVG-DISK-SPACE-USAGE |            81 MB |                       67 MB |                 69 kB |\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n\n\nzookeeper__r3_5_3_beta errors:\n\"zk: could not connect to a server\" (count 272)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-LATENCY-MS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-THROUGHPUT.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-CPU.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/MAX-CPU.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-VMRSS-MB.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-01-etcd-zookeeper-consul/05-read-3M-same-keys-1K-client/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n"
  },
  {
    "path": "test-results/2017Q2-02-etcd-zookeeper-consul/README.md",
    "content": "\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/2017Q2-01-write-1M-cpu-client-scaling.png\" alt=\"2017Q2-01-write-1M-cpu-client-scaling\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/2017Q2-02-write-1M-network-traffic-best-throughput.png\" alt=\"2017Q2-02-write-1M-network-traffic-best-throughput\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/2017Q2-01-write-1M-throughput-client-scaling.png\" alt=\"2017Q2-01-write-1M-throughput-client-scaling\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/2017Q2-02-write-1M-latency-best-throughput.png\" alt=\"2017Q2-02-write-1M-latency-best-throughput\">\n\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns, Zookeeper 700, Consul 500 clients)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 16.10 (GNU/Linux kernel 4.8.0-49-generic)\n- `ulimit -n` is 120000\n- etcd tip (Go 1.8.3, git SHA 47a8156851b5a59665421661edb7c813f8a7993e)\n- Zookeeper r3.5.3-beta\n  - Java 8\n  - javac 1.8.0_131\n  - Java(TM) SE Runtime Environment (build 1.8.0_131-b11)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n- Consul v0.8.4 (Go 1.8.3)\n\n\n```\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n|                                       | etcd-tip-go1.8.3 | zookeeper-r3.5.3-beta-java8 | consul-v0.8.4-go1.8.3 |\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n|                         TOTAL-SECONDS |      27.9797 sec |                143.8585 sec |          135.7728 sec |\n|                  TOTAL-REQUEST-NUMBER |        1,000,000 |                   1,000,000 |             1,000,000 |\n|                        MAX-THROUGHPUT |   38,526 req/sec |              25,103 req/sec |        15,424 req/sec |\n|                        AVG-THROUGHPUT |   35,740 req/sec |               6,913 req/sec |         7,365 req/sec |\n|                        MIN-THROUGHPUT |   13,418 req/sec |                   0 req/sec |           195 req/sec |\n|                       FASTEST-LATENCY |        5.1907 ms |                   6.7527 ms |            17.7190 ms |\n|                           AVG-LATENCY |       27.9170 ms |                  55.4371 ms |            67.8635 ms |\n|                       SLOWEST-LATENCY |      129.6517 ms |                4427.4805 ms |          2665.0249 ms |\n|                           Latency p10 |     12.783090 ms |                15.327740 ms |          29.877078 ms |\n|                           Latency p25 |     16.081346 ms |                21.706332 ms |          33.992948 ms |\n|                           Latency p50 |     22.047040 ms |                37.275107 ms |          40.148835 ms |\n|                           Latency p75 |     35.297635 ms |                57.453429 ms |          54.282575 ms |\n|                           Latency p90 |     53.916881 ms |                79.224931 ms |         109.468689 ms |\n|                           Latency p95 |     60.144462 ms |                93.233345 ms |         235.236038 ms |\n|                           Latency p99 |     73.229996 ms |               456.307896 ms |         464.681161 ms |\n|                         Latency p99.9 |     94.903421 ms |              2128.132040 ms |         801.018344 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |           5.0 GB |                      5.8 GB |                5.6 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |           3.8 GB |                      4.7 GB |                4.4 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |           277 MB |                      384 MB |                207 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |           1.4 GB |                      1.4 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |         406.67 % |                    492.00 % |              405.40 % |\n|               SERVER-MAX-MEMORY-USAGE |           1.2 GB |                       17 GB |                4.9 GB |\n|                  CLIENT-MAX-CPU-USAGE |         468.00 % |                    208.00 % |              189.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |           112 MB |                      4.2 GB |                 87 MB |\n|                    CLIENT-ERROR-COUNT |                0 |                       5,451 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |               78 |                         247 |                    12 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                0 |                           0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |           97,145 |                     335,863 |               660,796 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |       20,655,776 |                  48,217,560 |            71,342,952 |\n|           SERVER-AVG-DISK-SPACE-USAGE |           2.6 GB |                       10 GB |                2.9 GB |\n+---------------------------------------+------------------+-----------------------------+-----------------------+\n\n\nzookeeper__r3_5_3_beta errors:\n\"zk: could not connect to a server\" (count 805)\n\"zk: connection closed\" (count 4,646)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-CPU.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/MAX-CPU.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2017Q2-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n"
  },
  {
    "path": "test-results/2018Q1-01-etcd/README.md",
    "content": "\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-3m-avg-latency.png\" alt=\"write-3m-avg-latency\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-3m-avg-latency-by-key.png\" alt=\"write-3m-avg-latency-by-key\">\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3m-avg-latency.png\" alt=\"read-3m-avg-latency\">\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n- `ulimit -n` is 120000\n- etcd v3.2.0 (Go 1.8.3)\n- etcd v3.3.0 (Go 1.9.2)\n\n\n```\n+---------------------------------------+---------------------+---------------------+\n|                                       | etcd-v3.2.0-go1.8.3 | etcd-v3.3.0-go1.9.2 |\n+---------------------------------------+---------------------+---------------------+\n|                         TOTAL-SECONDS |         28.2484 sec |         27.6024 sec |\n|                  TOTAL-REQUEST-NUMBER |           1,000,000 |           1,000,000 |\n|                        MAX-THROUGHPUT |      36,917 req/sec |      38,830 req/sec |\n|                        AVG-THROUGHPUT |      35,400 req/sec |      36,228 req/sec |\n|                        MIN-THROUGHPUT |       2,826 req/sec |      23,191 req/sec |\n|                       FASTEST-LATENCY |           5.4766 ms |           5.0665 ms |\n|                           AVG-LATENCY |          28.1631 ms |          27.5046 ms |\n|                       SLOWEST-LATENCY |         169.7880 ms |         137.9128 ms |\n|                           Latency p10 |        13.171913 ms |        12.482529 ms |\n|                           Latency p25 |        16.340837 ms |        15.299216 ms |\n|                           Latency p50 |        21.839763 ms |        21.250243 ms |\n|                           Latency p75 |        34.903072 ms |        32.857025 ms |\n|                           Latency p90 |        54.765537 ms |        55.143954 ms |\n|                           Latency p95 |        60.558651 ms |        61.219371 ms |\n|                           Latency p99 |        78.386660 ms |        75.881935 ms |\n|                         Latency p99.9 |       100.343567 ms |       100.020188 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |              5.1 GB |              5.0 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |              3.9 GB |              3.7 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |              333 MB |              251 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |              1.5 GB |              1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |            443.00 % |            485.00 % |\n|               SERVER-MAX-MEMORY-USAGE |              1.1 GB |              1.2 GB |\n|                  CLIENT-MAX-CPU-USAGE |            597.00 % |            639.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |               82 MB |               93 MB |\n|                    CLIENT-ERROR-COUNT |                   0 |                   0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                   2 |                   1 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                   0 |                   0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |             107,342 |             104,710 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |          20,746,024 |          20,265,400 |\n|           SERVER-AVG-DISK-SPACE-USAGE |              2.6 GB |              2.6 GB |\n+---------------------------------------+---------------------+---------------------+\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-CPU.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/MAX-CPU.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-01-etcd/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Write 3-million keys, 256-byte key, 1KB value, Best Throughput (etcd 1,000)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n- `ulimit -n` is 120000\n- etcd v3.2.0 (Go 1.8.3)\n- etcd v3.3.0 (Go 1.9.2)\n\n\n```\n+---------------------------------------+---------------------+---------------------+\n|                                       | etcd-v3.2.0-go1.8.3 | etcd-v3.3.0-go1.9.2 |\n+---------------------------------------+---------------------+---------------------+\n|                         TOTAL-SECONDS |         88.5767 sec |         84.0750 sec |\n|                  TOTAL-REQUEST-NUMBER |           3,000,000 |           3,000,000 |\n|                        MAX-THROUGHPUT |      37,110 req/sec |      39,478 req/sec |\n|                        AVG-THROUGHPUT |      32,976 req/sec |      35,682 req/sec |\n|                        MIN-THROUGHPUT |      16,075 req/sec |       8,116 req/sec |\n|                       FASTEST-LATENCY |           3.5655 ms |           3.1295 ms |\n|                           AVG-LATENCY |          30.1489 ms |          27.9304 ms |\n|                       SLOWEST-LATENCY |         346.7163 ms |         270.7468 ms |\n|                           Latency p10 |        12.991756 ms |        13.338154 ms |\n|                           Latency p25 |        15.870495 ms |        16.324596 ms |\n|                           Latency p50 |        22.419681 ms |        21.073518 ms |\n|                           Latency p75 |        37.436826 ms |        33.602292 ms |\n|                           Latency p90 |        58.439201 ms |        53.845497 ms |\n|                           Latency p95 |        68.347220 ms |        59.987225 ms |\n|                           Latency p99 |       113.337461 ms |        87.168222 ms |\n|                         Latency p99.9 |       185.483190 ms |       134.969831 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |               15 GB |               16 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |               11 GB |               12 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |              1.2 GB |              1.0 GB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |              4.7 GB |              4.8 GB |\n|                  SERVER-MAX-CPU-USAGE |            602.33 % |            550.00 % |\n|               SERVER-MAX-MEMORY-USAGE |              2.7 GB |              2.9 GB |\n|                  CLIENT-MAX-CPU-USAGE |            896.00 % |            713.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |              323 MB |              316 MB |\n|                    CLIENT-ERROR-COUNT |              79,079 |                   0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                  62 |                   7 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                   0 |                   0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |             308,267 |             333,907 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |          60,593,932 |          62,305,992 |\n|           SERVER-AVG-DISK-SPACE-USAGE |              6.6 GB |              6.6 GB |\n+---------------------------------------+---------------------+---------------------+\n\n\netcd__v3_2 errors:\n\"etcdserver: too many requests\" (count 79,079)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-LATENCY-MS.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-THROUGHPUT.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-CPU.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/MAX-CPU.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-VMRSS-MB.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-SECTORS-READ-DELTA.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/write-too-many-keys/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-01-etcd/write-too-many-keys/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n<br><br><hr>\n##### Read 3M same keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n- `ulimit -n` is 120000\n- etcd v3.2.0 (Go 1.8.3)\n- etcd v3.3.0 (Go 1.9.2)\n\n\n```\n+---------------------------------------+---------------------+---------------------+\n|                                       | etcd-v3.2.0-go1.8.3 | etcd-v3.3.0-go1.9.2 |\n+---------------------------------------+---------------------+---------------------+\n|                         TOTAL-SECONDS |         19.7093 sec |         19.1632 sec |\n|                  TOTAL-REQUEST-NUMBER |           3,000,000 |           3,000,000 |\n|                        MAX-THROUGHPUT |     167,224 req/sec |     171,500 req/sec |\n|                        AVG-THROUGHPUT |     152,212 req/sec |     156,549 req/sec |\n|                        MIN-THROUGHPUT |       7,792 req/sec |      87,028 req/sec |\n|                       FASTEST-LATENCY |           0.5423 ms |           0.5970 ms |\n|                           AVG-LATENCY |           5.3364 ms |           4.8534 ms |\n|                       SLOWEST-LATENCY |         659.9911 ms |         215.0872 ms |\n|                           Latency p10 |         2.132814 ms |         2.028502 ms |\n|                           Latency p25 |         2.851045 ms |         2.705135 ms |\n|                           Latency p50 |         4.488098 ms |         4.167273 ms |\n|                           Latency p75 |         6.742433 ms |         6.396360 ms |\n|                           Latency p90 |         8.985732 ms |         8.496297 ms |\n|                           Latency p95 |        10.723795 ms |        10.039053 ms |\n|                           Latency p99 |        15.161416 ms |        13.638065 ms |\n|                         Latency p99.9 |        33.201151 ms |        20.599315 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |              1.2 GB |              1.2 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |              4.8 GB |              4.5 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |              4.7 GB |              4.4 GB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |              1.2 GB |              1.2 GB |\n|                  SERVER-MAX-CPU-USAGE |            824.00 % |            908.67 % |\n|               SERVER-MAX-MEMORY-USAGE |               50 MB |               54 MB |\n|                  CLIENT-MAX-CPU-USAGE |           1438.00 % |           1461.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |              171 MB |              167 MB |\n|                    CLIENT-ERROR-COUNT |                   0 |                   0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                   0 |                   0 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                   0 |                   0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |                  97 |                  30 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |               1,280 |                 376 |\n|           SERVER-AVG-DISK-SPACE-USAGE |               81 MB |               64 MB |\n+---------------------------------------+---------------------+---------------------+\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-CPU.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/MAX-CPU.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-01-etcd/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n"
  },
  {
    "path": "test-results/2018Q1-02-etcd-zookeeper-consul/README.md",
    "content": "\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns, Zookeeper 700, Consul 500 clients)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n- `ulimit -n` is 120000\n- etcd v3.3.0 (Go 1.9.2)\n- Zookeeper r3.5.3-beta\n  - Java 8\n  - javac 1.8.0_151\n  - Java(TM) SE Runtime Environment (build 1.8.0_151-b12)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n- Consul v1.0.2 (Go 1.9.2)\n\n\n```\n+---------------------------------------+---------------------+-----------------------------+-----------------------+\n|                                       | etcd-v3.3.0-go1.9.2 | zookeeper-r3.5.3-beta-java8 | consul-v1.0.2-go1.9.2 |\n+---------------------------------------+---------------------+-----------------------------+-----------------------+\n|                         TOTAL-SECONDS |         28.3623 sec |                 59.2167 sec |          178.9443 sec |\n|                  TOTAL-REQUEST-NUMBER |           1,000,000 |                   1,000,000 |             1,000,000 |\n|                        MAX-THROUGHPUT |      37,330 req/sec |              25,124 req/sec |        15,865 req/sec |\n|                        AVG-THROUGHPUT |      35,258 req/sec |              16,842 req/sec |         5,588 req/sec |\n|                        MIN-THROUGHPUT |      13,505 req/sec |                  20 req/sec |             0 req/sec |\n|                       FASTEST-LATENCY |           4.6073 ms |                   2.9094 ms |            11.6604 ms |\n|                           AVG-LATENCY |          28.2625 ms |                  30.9499 ms |            89.4351 ms |\n|                       SLOWEST-LATENCY |         117.4918 ms |                4564.6788 ms |          4616.2947 ms |\n|                           Latency p10 |        13.508626 ms |                 9.068163 ms |          30.408863 ms |\n|                           Latency p25 |        16.869586 ms |                 9.351597 ms |          34.224021 ms |\n|                           Latency p50 |        22.167478 ms |                10.093377 ms |          39.881181 ms |\n|                           Latency p75 |        34.855941 ms |                14.951189 ms |          52.644787 ms |\n|                           Latency p90 |        54.613394 ms |                28.497256 ms |         118.340402 ms |\n|                           Latency p95 |        59.785127 ms |                72.671788 ms |         229.129526 ms |\n|                           Latency p99 |        74.139638 ms |               273.218523 ms |        1495.660763 ms |\n|                         Latency p99.9 |        97.385495 ms |              2526.873285 ms |        3499.225138 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |              5.1 GB |                      4.6 GB |                5.6 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |              3.8 GB |                      3.6 GB |                4.4 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |              252 MB |                      357 MB |                206 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |              1.5 GB |                      1.4 GB |                1.5 GB |\n|                  SERVER-MAX-CPU-USAGE |            446.83 % |                   1122.00 % |              426.33 % |\n|               SERVER-MAX-MEMORY-USAGE |              1.1 GB |                       15 GB |                4.6 GB |\n|                  CLIENT-MAX-CPU-USAGE |            606.00 % |                    314.00 % |              215.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |               96 MB |                      2.4 GB |                 86 MB |\n|                    CLIENT-ERROR-COUNT |                   0 |                       2,652 |                     0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                   0 |                         237 |                     2 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                   0 |                           0 |                     0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |             108,067 |                     157,034 |               675,072 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |          20,449,360 |                  16,480,488 |           106,836,768 |\n|           SERVER-AVG-DISK-SPACE-USAGE |              2.6 GB |                      6.9 GB |                2.9 GB |\n+---------------------------------------+---------------------+-----------------------------+-----------------------+\n\n\nzookeeper__r3_5_3_beta errors:\n\"zk: connection closed\" (count 2,264)\n\"zk: could not connect to a server\" (count 388)\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-CPU.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/MAX-CPU.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-02-etcd-zookeeper-consul/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n"
  },
  {
    "path": "test-results/2018Q1-03-etcd-kubemark/README.md",
    "content": "\n\n![v3.2.0-kubemark-500-node](./v3.2.0-kubemark-500-node.png)\n\n![v3.3.0-kubemark-500-node](./v3.3.0-kubemark-500-node.png)\n\n\n"
  },
  {
    "path": "test-results/2018Q1-04-etcd-zookeeper/README.md",
    "content": "\n\n<br><br><hr>\n##### Write 100K keys, 256-byte key, 1KB value, 1 client\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 17.10 (GNU/Linux kernel 4.13.0-25-generic)\n- `ulimit -n` is 120000\n- etcd v3.3.0 (Go 1.9.3)\n- Zookeeper r3.5.3-beta\n  - Java 8\n  - javac 1.8.0_151\n  - Java(TM) SE Runtime Environment (build 1.8.0_151-b12)\n  - Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)\n  - `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`\n\n\n```\n+---------------------------------------+---------------------+-----------------------------+\n|                                       | etcd-v3.3.0-go1.9.3 | zookeeper-r3.5.3-beta-java8 |\n+---------------------------------------+---------------------+-----------------------------+\n|                         TOTAL-SECONDS |        175.1067 sec |                193.2046 sec |\n|                  TOTAL-REQUEST-NUMBER |             100,000 |                     100,000 |\n|                        MAX-THROUGHPUT |         632 req/sec |                 594 req/sec |\n|                        AVG-THROUGHPUT |         571 req/sec |                 517 req/sec |\n|                        MIN-THROUGHPUT |         166 req/sec |                 213 req/sec |\n|                       FASTEST-LATENCY |           0.9618 ms |                   1.1486 ms |\n|                           AVG-LATENCY |           1.7462 ms |                   1.9308 ms |\n|                       SLOWEST-LATENCY |          17.2672 ms |                 110.7389 ms |\n|                           Latency p10 |         1.218092 ms |                 1.402825 ms |\n|                           Latency p25 |         1.305288 ms |                 1.478765 ms |\n|                           Latency p50 |         1.513458 ms |                 1.600954 ms |\n|                           Latency p75 |         2.123979 ms |                 2.601295 ms |\n|                           Latency p90 |         2.366836 ms |                 2.793483 ms |\n|                           Latency p95 |         2.499598 ms |                 2.890841 ms |\n|                           Latency p99 |         3.991311 ms |                 3.223381 ms |\n|                         Latency p99.9 |         5.451962 ms |                 3.994881 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |              557 MB |                      617 MB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |              427 MB |                      511 MB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |               31 MB |                       35 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |              161 MB |                      140 MB |\n|                  SERVER-MAX-CPU-USAGE |             53.20 % |                     91.33 % |\n|               SERVER-MAX-MEMORY-USAGE |              456 MB |                      3.4 GB |\n|                  CLIENT-MAX-CPU-USAGE |             24.00 % |                     10.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |               19 MB |                       22 MB |\n|                    CLIENT-ERROR-COUNT |                   0 |                           0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                  18 |                          70 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                   0 |                           0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |             729,968 |                     699,827 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |           7,266,272 |                   7,540,328 |\n|           SERVER-AVG-DISK-SPACE-USAGE |              399 MB |                      317 MB |\n+---------------------------------------+---------------------+-----------------------------+\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-LATENCY-MS.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-THROUGHPUT.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-CPU.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/MAX-CPU.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VMRSS-MB.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-SECTORS-READ-DELTA.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2018Q1-04-etcd-zookeeper/write-100K-keys-1-client/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n"
  },
  {
    "path": "test-results/2018Q2-01-etcd-client-balancer/README.md",
    "content": "\n\n<br><br><hr>\n##### Read 3M same keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 17.10 (GNU/Linux kernel 4.13.0-41-generic)\n- `ulimit -n` is 120000\n- etcd v3.2.20 (Go 1.8.7)\n- etcd v3.3.5 (Go 1.9.6)\n- etcd v3.4 67b1ff672 (Go 1.10.2)\n- etcd v3.4 new balancer (Go 1.10.2)\n\n\n```\n+---------------------------------------+----------------------+---------------------+------------------------------+---------------------------------+\n|                                       | etcd-v3.2.20-go1.8.7 | etcd-v3.3.5-go1.9.6 | etcd-v3.4-67b1ff672-go1.10.2 | etcd-v3.4-balancer0511-go1.10.2 |\n+---------------------------------------+----------------------+---------------------+------------------------------+---------------------------------+\n|                         TOTAL-SECONDS |          18.1562 sec |         18.3415 sec |                  18.0028 sec |                     17.8095 sec |\n|                  TOTAL-REQUEST-NUMBER |            3,000,000 |           3,000,000 |                    3,000,000 |                       3,000,000 |\n|                        MAX-THROUGHPUT |      176,854 req/sec |     176,783 req/sec |              179,961 req/sec |                 187,593 req/sec |\n|                        AVG-THROUGHPUT |      165,233 req/sec |     163,563 req/sec |              166,640 req/sec |                 168,449 req/sec |\n|                        MIN-THROUGHPUT |       62,416 req/sec |      15,304 req/sec |               64,844 req/sec |                  42,215 req/sec |\n|                       FASTEST-LATENCY |            0.4388 ms |           0.4826 ms |                    0.4670 ms |                       0.4871 ms |\n|                           AVG-LATENCY |            4.2135 ms |           4.3606 ms |                    4.4632 ms |                       4.5614 ms |\n|                       SLOWEST-LATENCY |           61.7597 ms |         215.6992 ms |                   38.3503 ms |                      39.4441 ms |\n|                           Latency p10 |          1.661360 ms |         1.752339 ms |                  1.763714 ms |                     1.892650 ms |\n|                           Latency p25 |          2.307997 ms |         2.379004 ms |                  2.416912 ms |                     2.545477 ms |\n|                           Latency p50 |          3.593472 ms |         3.651454 ms |                  3.811588 ms |                     3.966304 ms |\n|                           Latency p75 |          5.587801 ms |         5.735338 ms |                  5.994316 ms |                     6.080458 ms |\n|                           Latency p90 |          7.469498 ms |         7.795259 ms |                  7.904383 ms |                     7.884734 ms |\n|                           Latency p95 |          8.925745 ms |         9.357837 ms |                  9.325560 ms |                     9.214828 ms |\n|                           Latency p99 |         12.104650 ms |        13.055879 ms |                 12.643542 ms |                    12.341674 ms |\n|                         Latency p99.9 |         18.393202 ms |        19.234115 ms |                 18.204708 ms |                    20.965550 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |               1.2 GB |              1.2 GB |                       1.2 GB |                          1.2 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |               4.5 GB |              4.5 GB |                       4.5 GB |                          4.5 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |               4.4 GB |              4.7 GB |                       4.4 GB |                          4.4 GB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |               1.1 GB |              1.2 GB |                       1.2 GB |                          1.2 GB |\n|                  SERVER-MAX-CPU-USAGE |             941.00 % |            914.67 % |                     913.67 % |                        860.00 % |\n|               SERVER-MAX-MEMORY-USAGE |                52 MB |               54 MB |                        59 MB |                           57 MB |\n|                  CLIENT-MAX-CPU-USAGE |            1456.00 % |           1477.00 % |                    1461.00 % |                       1438.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |               166 MB |              185 MB |                       171 MB |                          160 MB |\n|                    CLIENT-ERROR-COUNT |                    0 |                   0 |                            0 |                               0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                   27 |                  16 |                            0 |                               0 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                    0 |                   0 |                            0 |                               0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |                   30 |                 120 |                           91 |                             115 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |                  400 |               1,280 |                        1,016 |                           1,288 |\n|           SERVER-AVG-DISK-SPACE-USAGE |                81 MB |               64 MB |                        64 MB |                           64 MB |\n+---------------------------------------+----------------------+---------------------+------------------------------+---------------------------------+\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-CPU.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/MAX-CPU.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 17.10 (GNU/Linux kernel 4.13.0-41-generic)\n- `ulimit -n` is 120000\n- etcd v3.2.20 (Go 1.8.7)\n- etcd v3.3.5 (Go 1.9.6)\n- etcd v3.4 67b1ff672 (Go 1.10.2)\n- etcd v3.4 new balancer (Go 1.10.2)\n\n\n```\n+---------------------------------------+----------------------+---------------------+------------------------------+---------------------------------+\n|                                       | etcd-v3.2.20-go1.8.7 | etcd-v3.3.5-go1.9.6 | etcd-v3.4-67b1ff672-go1.10.2 | etcd-v3.4-balancer0511-go1.10.2 |\n+---------------------------------------+----------------------+---------------------+------------------------------+---------------------------------+\n|                         TOTAL-SECONDS |          28.3191 sec |         29.8842 sec |                  28.1384 sec |                     28.7298 sec |\n|                  TOTAL-REQUEST-NUMBER |            1,000,000 |           1,000,000 |                    1,000,000 |                       1,000,000 |\n|                        MAX-THROUGHPUT |       37,372 req/sec |      36,660 req/sec |               37,100 req/sec |                  37,574 req/sec |\n|                        AVG-THROUGHPUT |       35,311 req/sec |      33,462 req/sec |               35,538 req/sec |                  34,807 req/sec |\n|                        MIN-THROUGHPUT |       12,599 req/sec |      11,135 req/sec |               18,686 req/sec |                   1,353 req/sec |\n|                       FASTEST-LATENCY |            4.4390 ms |           4.5028 ms |                    4.4703 ms |                       1.5290 ms |\n|                           AVG-LATENCY |           28.2084 ms |          29.7919 ms |                   28.0337 ms |                      28.6681 ms |\n|                       SLOWEST-LATENCY |          145.3477 ms |         121.5527 ms |                  120.5386 ms |                     122.6241 ms |\n|                           Latency p10 |         11.936935 ms |        12.359409 ms |                 11.845129 ms |                    11.773927 ms |\n|                           Latency p25 |         14.582232 ms |        15.363413 ms |                 14.208263 ms |                    16.379649 ms |\n|                           Latency p50 |         21.711737 ms |        23.324211 ms |                 21.912266 ms |                    23.166898 ms |\n|                           Latency p75 |         35.140638 ms |        38.881637 ms |                 34.065757 ms |                    39.052418 ms |\n|                           Latency p90 |         57.640700 ms |        61.135803 ms |                 59.341919 ms |                    53.821186 ms |\n|                           Latency p95 |         65.274153 ms |        67.717201 ms |                 65.998481 ms |                    60.028769 ms |\n|                           Latency p99 |         83.692351 ms |        85.296525 ms |                 81.303646 ms |                    74.864572 ms |\n|                         Latency p99.9 |        115.552287 ms |       109.913571 ms |                104.323381 ms |                   102.394398 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |               4.9 GB |              5.1 GB |                       5.0 GB |                          5.3 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |               3.7 GB |              3.8 GB |                       3.7 GB |                          4.0 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |               252 MB |              256 MB |                       254 MB |                          329 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |               1.5 GB |              1.5 GB |                       1.5 GB |                          1.6 GB |\n|                  SERVER-MAX-CPU-USAGE |             491.83 % |            477.67 % |                     504.67 % |                        540.00 % |\n|               SERVER-MAX-MEMORY-USAGE |               1.1 GB |              1.2 GB |                       1.2 GB |                          1.2 GB |\n|                  CLIENT-MAX-CPU-USAGE |             622.00 % |            625.70 % |                     663.00 % |                        673.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |                97 MB |              101 MB |                        93 MB |                          104 MB |\n|                    CLIENT-ERROR-COUNT |                    0 |                   0 |                            0 |                               0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                    0 |                   2 |                            1 |                               0 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                    0 |                   0 |                            0 |                               0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |              104,308 |             105,480 |                      103,923 |                         113,568 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |           20,456,512 |          20,718,432 |                   20,575,208 |                      20,831,256 |\n|           SERVER-AVG-DISK-SPACE-USAGE |               2.7 GB |              2.7 GB |                       2.6 GB |                          2.6 GB |\n+---------------------------------------+----------------------+---------------------+------------------------------+---------------------------------+\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-CPU.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/MAX-CPU.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n"
  },
  {
    "path": "test-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput.yaml",
    "content": "test_title: Read 3M same keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns)\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 17.10 (GNU/Linux kernel 4.13.0-41-generic)\n  - `ulimit -n` is 120000\n  - etcd v3.2.20 (Go 1.8.7)\n  - etcd v3.3.5 (Go 1.9.6)\n  - etcd v3.4 67b1ff672 (Go 1.10.2)\n  - etcd v3.4 new balancer (Go 1.10.2)\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: /etc/gcp-key-etcd-development.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput\n\nall_database_id_list: [etcd__v3_2, etcd__v3_3, etcd__tip, etcd__other]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__v3_2:\n    database_description: etcd v3.2.20 (Go 1.8.7)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_2:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__v3_3:\n    database_description: etcd v3.3.5 (Go 1.9.6)\n    peer_ips:\n    - 10.138.0.6\n    - 10.138.0.7\n    - 10.138.0.8\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_3:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__tip:\n    database_description: etcd v3.4-67b1ff672 (Go 1.10.2)\n    peer_ips:\n    - 10.138.0.10\n    - 10.138.0.11\n    - 10.138.0.12\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__tip:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__other:\n    database_description: etcd v3.4-balancer0511 (Go 1.10.2)\n    peer_ips:\n    - 10.138.0.14\n    - 10.138.0.15\n    - 10.138.0.16\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__other:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__v3_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/etcd-v3.2.20-go1.8.7\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__v3_3:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/etcd-v3.3.5-go1.9.6\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__tip:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/etcd-v3.4-67b1ff672-go1.10.2\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__other:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/etcd-v3.4-balancer0511-go1.10.2\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/all-aggregated.csv\n  all_aggregated_output_path_txt: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: Average CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: Maximum CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/README.md\n\n  images:\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-CPU.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/MAX-CPU.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "test-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput.yaml",
    "content": "test_title: Write 1M keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns)\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 17.10 (GNU/Linux kernel 4.13.0-41-generic)\n  - `ulimit -n` is 120000\n  - etcd v3.2.20 (Go 1.8.7)\n  - etcd v3.3.5 (Go 1.9.6)\n  - etcd v3.4 67b1ff672 (Go 1.10.2)\n  - etcd v3.4 new balancer (Go 1.10.2)\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: /etc/gcp-key-etcd-development.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput\n\nall_database_id_list: [etcd__v3_2, etcd__v3_3, etcd__tip, etcd__other]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__v3_2:\n    database_description: etcd v3.2.20 (Go 1.8.7)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_2:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__v3_3:\n    database_description: etcd v3.3.5 (Go 1.9.6)\n    peer_ips:\n    - 10.138.0.6\n    - 10.138.0.7\n    - 10.138.0.8\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__v3_3:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__tip:\n    database_description: etcd v3.4-67b1ff672 (Go 1.10.2)\n    peer_ips:\n    - 10.138.0.10\n    - 10.138.0.11\n    - 10.138.0.12\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__tip:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__other:\n    database_description: etcd v3.4-balancer0511 (Go 1.10.2)\n    peer_ips:\n    - 10.138.0.14\n    - 10.138.0.15\n    - 10.138.0.16\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__other:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__v3_2:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/etcd-v3.2.20-go1.8.7\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__v3_3:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/etcd-v3.3.5-go1.9.6\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__tip:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/etcd-v3.4-67b1ff672-go1.10.2\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__other:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/etcd-v3.4-balancer0511-go1.10.2\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/all-aggregated.csv\n  all_aggregated_output_path_txt: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: Average CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: Maximum CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/README.md\n\n  images:\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-CPU.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/MAX-CPU.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-01-etcd-client-balancer/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "test-results/2018Q2-02-etcd-client-balancer/README.md",
    "content": "\n\n<br><br><hr>\n##### Write 1M keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 17.10 (GNU/Linux kernel 4.13.0-45-generic)\n- `ulimit -n` is 120000\n- etcd v3.4 b241e383 (Go 1.10.3)\n- etcd v3.4 new balancer (Go 1.10.3)\n\n\n```\n+---------------------------------------+-----------------------------+---------------------------------+\n|                                       | etcd-v3.4-b241e383-go1.10.3 | etcd-v3.4-balancer0615-go1.10.3 |\n+---------------------------------------+-----------------------------+---------------------------------+\n|                         TOTAL-SECONDS |                 31.1256 sec |                     31.2477 sec |\n|                  TOTAL-REQUEST-NUMBER |                   1,000,000 |                       1,000,000 |\n|                        MAX-THROUGHPUT |              33,760 req/sec |                  34,587 req/sec |\n|                        AVG-THROUGHPUT |              32,127 req/sec |                  32,002 req/sec |\n|                        MIN-THROUGHPUT |               4,965 req/sec |                  10,454 req/sec |\n|                       FASTEST-LATENCY |                   4.6587 ms |                       2.4888 ms |\n|                           AVG-LATENCY |                  31.0604 ms |                      31.2033 ms |\n|                       SLOWEST-LATENCY |                 117.5620 ms |                     114.9492 ms |\n|                           Latency p10 |                13.431526 ms |                    14.691959 ms |\n|                           Latency p25 |                17.993337 ms |                    19.586467 ms |\n|                           Latency p50 |                24.734914 ms |                    25.571253 ms |\n|                           Latency p75 |                42.801499 ms |                    42.138762 ms |\n|                           Latency p90 |                57.777309 ms |                    55.289961 ms |\n|                           Latency p95 |                65.311487 ms |                    60.855029 ms |\n|                           Latency p99 |                78.819013 ms |                    75.192049 ms |\n|                         Latency p99.9 |                97.808156 ms |                    92.254135 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |                      5.2 GB |                          5.2 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |                      3.9 GB |                          4.0 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |                      258 MB |                          324 MB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |                      1.5 GB |                          1.6 GB |\n|                  SERVER-MAX-CPU-USAGE |                    440.30 % |                        537.67 % |\n|               SERVER-MAX-MEMORY-USAGE |                      1.2 GB |                          1.2 GB |\n|                  CLIENT-MAX-CPU-USAGE |                    570.00 % |                        593.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |                       95 MB |                          171 MB |\n|                    CLIENT-ERROR-COUNT |                           0 |                               0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                           0 |                              73 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                           0 |                               0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |                     103,846 |                         109,864 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |                  23,873,928 |                      20,586,688 |\n|           SERVER-AVG-DISK-SPACE-USAGE |                      2.7 GB |                          2.7 GB |\n+---------------------------------------+-----------------------------+---------------------------------+\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-CPU.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/MAX-CPU.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n\n\n<br><br><hr>\n##### Read 3M same keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns)\n\n- Google Cloud Compute Engine\n- 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n- Ubuntu 17.10 (GNU/Linux kernel 4.13.0-45-generic)\n- `ulimit -n` is 120000\n- etcd v3.4 b241e383 (Go 1.10.3)\n- etcd v3.4 new balancer (Go 1.10.3)\n\n\n```\n+---------------------------------------+-----------------------------+---------------------------------+\n|                                       | etcd-v3.4-b241e383-go1.10.3 | etcd-v3.4-balancer0615-go1.10.3 |\n+---------------------------------------+-----------------------------+---------------------------------+\n|                         TOTAL-SECONDS |                 17.8744 sec |                     17.8226 sec |\n|                  TOTAL-REQUEST-NUMBER |                   3,000,000 |                       3,000,000 |\n|                        MAX-THROUGHPUT |             176,763 req/sec |                 172,164 req/sec |\n|                        AVG-THROUGHPUT |             167,837 req/sec |                 168,325 req/sec |\n|                        MIN-THROUGHPUT |              38,290 req/sec |                   7,453 req/sec |\n|                       FASTEST-LATENCY |                   0.5131 ms |                       0.5025 ms |\n|                           AVG-LATENCY |                   4.6043 ms |                       4.6358 ms |\n|                       SLOWEST-LATENCY |                  37.8623 ms |                      29.7872 ms |\n|                           Latency p10 |                 1.729814 ms |                     2.372096 ms |\n|                           Latency p25 |                 2.383698 ms |                     3.036887 ms |\n|                           Latency p50 |                 3.961112 ms |                     4.055946 ms |\n|                           Latency p75 |                 6.137971 ms |                     5.684766 ms |\n|                           Latency p90 |                 8.458589 ms |                     7.767217 ms |\n|                           Latency p95 |                10.006860 ms |                     9.068512 ms |\n|                           Latency p99 |                13.232563 ms |                    12.085174 ms |\n|                         Latency p99.9 |                18.042299 ms |                    16.128133 ms |\n|      SERVER-TOTAL-NETWORK-RX-DATA-SUM |                      1.2 GB |                          1.3 GB |\n|      SERVER-TOTAL-NETWORK-TX-DATA-SUM |                      4.5 GB |                          4.6 GB |\n|           CLIENT-TOTAL-NETWORK-RX-SUM |                      4.4 GB |                          4.8 GB |\n|           CLIENT-TOTAL-NETWORK-TX-SUM |                      1.2 GB |                          1.3 GB |\n|                  SERVER-MAX-CPU-USAGE |                    891.33 % |                        867.33 % |\n|               SERVER-MAX-MEMORY-USAGE |                       58 MB |                           68 MB |\n|                  CLIENT-MAX-CPU-USAGE |                   1453.00 % |                       1510.00 % |\n|               CLIENT-MAX-MEMORY-USAGE |                      158 MB |                          255 MB |\n|                    CLIENT-ERROR-COUNT |                           0 |                               0 |\n|  SERVER-AVG-READS-COMPLETED-DELTA-SUM |                           0 |                               0 |\n|    SERVER-AVG-SECTORS-READS-DELTA-SUM |                           0 |                               0 |\n| SERVER-AVG-WRITES-COMPLETED-DELTA-SUM |                          51 |                              96 |\n|  SERVER-AVG-SECTORS-WRITTEN-DELTA-SUM |                         448 |                           1,112 |\n|           SERVER-AVG-DISK-SPACE-USAGE |                       64 MB |                           64 MB |\n+---------------------------------------+-----------------------------+---------------------------------+\n```\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-THROUGHPUT.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-THROUGHPUT\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-CPU.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/MAX-CPU.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/MAX-CPU\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\">\n\n\n\n<img src=\"https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\" alt=\"2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\">\n\n\n\n"
  },
  {
    "path": "test-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput.yaml",
    "content": "test_title: Read 3M same keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns)\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 17.10 (GNU/Linux kernel 4.13.0-45-generic)\n  - `ulimit -n` is 120000\n  - etcd v3.4 b241e383 (Go 1.10.3)\n  - etcd v3.4 new balancer (Go 1.10.3)\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: /etc/gcp-key-etcd-development.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput\n\nall_database_id_list: [etcd__tip, etcd__other]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__tip:\n    database_description: etcd v3.4-b241e383 (Go 1.10.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__tip:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__other:\n    database_description: etcd v3.4-balancer0615 (Go 1.10.3)\n    peer_ips:\n    - 10.138.0.6\n    - 10.138.0.7\n    - 10.138.0.8\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__other:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: read\n      request_number: 3000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: true\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__tip:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/etcd-v3.4-b241e383-go1.10.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__other:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/etcd-v3.4-balancer0615-go1.10.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/all-aggregated.csv\n  all_aggregated_output_path_txt: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: Average CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: Maximum CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/README.md\n\n  images:\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-CPU.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/MAX-CPU.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/read-3M-same-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "test-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput.yaml",
    "content": "test_title: Write 1M keys, 256-byte key, 1KB value, Best Throughput (etcd 1K clients with 100 conns)\ntest_description: |\n  - Google Cloud Compute Engine\n  - 4 machines of 16 vCPUs + 60 GB Memory + 300 GB SSD (1 for client)\n  - Ubuntu 17.10 (GNU/Linux kernel 4.13.0-45-generic)\n  - `ulimit -n` is 120000\n  - etcd v3.4 b241e383 (Go 1.10.3)\n  - etcd v3.4 new balancer (Go 1.10.3)\n\n# common control options for all client machines\nconfig_client_machine_initial:\n  # if not empty, all test data paths are prefixed\n  path_prefix: /home/gyuho\n  log_path: client-control.log\n  client_system_metrics_path: client-system-metrics.csv\n  client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n  client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n  client_latency_distribution_all_path: client-latency-distribution-all.csv\n  client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n  client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n  client_latency_by_key_number_path: client-latency-by-key-number.csv\n  server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n\n  # (optional) to automatically upload all files in client machine\n  google_cloud_project_name: etcd-development\n  # set this in 'control' machine, to automate log uploading in remote 'agent' machines\n  google_cloud_storage_key_path: /etc/gcp-key-etcd-development.json\n  google_cloud_storage_bucket_name: dbtester-results\n  google_cloud_storage_sub_directory: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput\n\nall_database_id_list: [etcd__tip, etcd__other]\n\ndatatbase_id_to_config_client_machine_agent_control:\n  etcd__tip:\n    database_description: etcd v3.4-b241e383 (Go 1.10.3)\n    peer_ips:\n    - 10.138.0.2\n    - 10.138.0.3\n    - 10.138.0.4\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__tip:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n  etcd__other:\n    database_description: etcd v3.4-balancer0615 (Go 1.10.3)\n    peer_ips:\n    - 10.138.0.6\n    - 10.138.0.7\n    - 10.138.0.8\n    database_port_to_connect: 2379\n    agent_port_to_connect: 3500\n\n    etcd__other:\n      # --snapshot-count\n      snap_count: 100000\n      # --quota-backend-bytes; 8 GB\n      quota_size_bytes: 8000000000\n\n    benchmark_options:\n      type: write\n      request_number: 1000000\n      connection_number: 100 # for best throughput\n      client_number: 1000 # for best throughput\n      # if specified, overwrite 'connection_number', 'connection_number'\n      connection_client_numbers: []\n\n      # 0, to not rate limit\n      rate_limit_requests_per_second: 0\n\n      # for 'write', 'read'\n      same_key: false\n      key_size_bytes: 256\n      value_size_bytes: 1024\n\n      stale_read: false\n\n    benchmark_steps:\n      step1_start_database: true\n      step2_stress_database: true\n      step3_stop_database: true\n      step4_upload_logs: true\n\n\ndatatbase_id_to_config_analyze_machine_initial:\n  etcd__tip:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/etcd-v3.4-b241e383-go1.10.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n  etcd__other:\n    # if not empty, all test data paths are prefixed\n    path_prefix: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/etcd-v3.4-balancer0615-go1.10.3\n    client_system_metrics_interpolated_path: client-system-metrics-interpolated.csv\n    client_latency_throughput_timeseries_path: client-latency-throughput-timeseries.csv\n    client_latency_distribution_all_path: client-latency-distribution-all.csv\n    client_latency_distribution_percentile_path: client-latency-distribution-percentile.csv\n    client_latency_distribution_summary_path: client-latency-distribution-summary.csv\n    client_latency_by_key_number_path: client-latency-by-key-number.csv\n    server_disk_space_usage_summary_path: server-disk-space-usage-summary.csv\n    server_memory_by_key_number_path: server-memory-by-key-number.csv\n    server_read_bytes_delta_by_key_number_path: server-read-bytes-delta-by-key-number.csv\n    server_write_bytes_delta_by_key_number_path: server-write-bytes-delta-by-key-number.csv\n    server_system_metrics_interpolated_path_list:\n    - 1-server-system-metrics-interpolated.csv\n    - 2-server-system-metrics-interpolated.csv\n    - 3-server-system-metrics-interpolated.csv\n    all_aggregated_output_path: all-aggregated.csv\n\n\nanalyze_all_aggregated_output:\n  all_aggregated_output_path_csv: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/all-aggregated.csv\n  all_aggregated_output_path_txt: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/all-aggregated.txt\n\nanalyze_plot_path_prefix: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput\nanalyze_plot_list:\n- column: AVG-LATENCY-MS\n  x_axis: Second\n  y_axis: Latency(millisecond)\n\n- column: AVG-THROUGHPUT\n  x_axis: Second\n  y_axis: Throughput(Requests/Second)\n\n- column: AVG-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Voluntary Context Switches\n\n- column: AVG-NON-VOLUNTARY-CTXT-SWITCHES\n  x_axis: Second\n  y_axis: Non-voluntary Context Switches\n\n- column: AVG-CPU\n  x_axis: Second\n  y_axis: Average CPU(%)\n\n- column: MAX-CPU\n  x_axis: Second\n  y_axis: Maximum CPU(%)\n\n- column: AVG-VMRSS-MB\n  x_axis: Second\n  y_axis: Memory(MB)\n\n- column: AVG-READS-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Reads (Delta per Second)\n\n- column: AVG-SECTORS-READ-DELTA\n  x_axis: Second\n  y_axis: Sectors Read (Delta per Second)\n\n- column: AVG-WRITES-COMPLETED-DELTA\n  x_axis: Second\n  y_axis: Disk Writes (Delta per Second)\n\n- column: AVG-SECTORS-WRITTEN-DELTA\n  x_axis: Second\n  y_axis: Sectors Written (Delta per Second)\n\n- column: AVG-READ-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Read Bytes (Delta per Second)\n\n- column: AVG-WRITE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Write Bytes (Delta per Second)\n\n- column: AVG-RECEIVE-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Receive(bytes) (Delta per Second)\n\n- column: AVG-TRANSMIT-BYTES-NUM-DELTA\n  x_axis: Second\n  y_axis: Network Transmit(bytes) (Delta per Second)\n\nanalyze_readme:\n  output_path: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/README.md\n\n  images:\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-LATENCY-MS-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-THROUGHPUT\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-THROUGHPUT.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-NON-VOLUNTARY-CTXT-SWITCHES.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-CPU.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/MAX-CPU\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/MAX-CPU.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-VMRSS-MB-BY-KEY-ERROR-POINTS.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READS-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-READ-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITES-COMPLETED-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-SECTORS-WRITTEN-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-READ-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-WRITE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-RECEIVE-BYTES-NUM-DELTA.svg\n    type: remote\n\n  - title: 2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA\n    path: https://storage.googleapis.com/dbtester-results/2018Q2-02-etcd-client-balancer/write-1M-keys-best-throughput/AVG-TRANSMIT-BYTES-NUM-DELTA.svg\n    type: remote\n"
  },
  {
    "path": "util.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\tmrand \"math/rand\"\n\t\"net/http\"\n\t\"os\"\n\t\"strings\"\n\t\"time\"\n)\n\nfunc toMillisecond(d time.Duration) float64 {\n\treturn d.Seconds() * 1000\n}\n\nfunc assignRequest(ranges []int64, total int64) (rs []int64) {\n\treqEach := int(float64(total) / float64(len(ranges)))\n\t// truncate 10000th digits\n\tif reqEach > 10000 {\n\t\treqEach = (reqEach / 10000) * 10000\n\t}\n\t// truncate 1000th digits\n\tif reqEach > 1000 {\n\t\treqEach = (reqEach / 1000) * 1000\n\t}\n\n\tcurSum := int64(0)\n\trs = make([]int64, len(ranges))\n\tfor i := range ranges {\n\t\tif i < len(ranges)-1 {\n\t\t\trs[i] = int64(reqEach)\n\t\t\tcurSum += int64(reqEach)\n\t\t} else {\n\t\t\trs[i] = int64(total) - curSum\n\t\t}\n\t}\n\treturn\n}\n\nfunc toFile(txt, fpath string) error {\n\tf, err := os.OpenFile(fpath, os.O_RDWR|os.O_TRUNC, 0777)\n\tif err != nil {\n\t\tf, err = os.Create(fpath)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tdefer f.Close()\n\n\t_, err = f.WriteString(txt)\n\treturn err\n}\n\n// exist returns true if the file or directory exists.\nfunc exist(fpath string) bool {\n\tst, err := os.Stat(fpath)\n\tif err != nil {\n\t\tif os.IsNotExist(err) {\n\t\t\treturn false\n\t\t}\n\t}\n\tif st.IsDir() {\n\t\treturn true\n\t}\n\tif _, err := os.Stat(fpath); err != nil {\n\t\tif os.IsNotExist(err) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// gracefulClose drains http.Response.Body until it hits EOF\n// and closes it. This prevents TCP/TLS connections from closing,\n// therefore available for reuse.\nfunc gracefulClose(resp *http.Response) {\n\tio.Copy(ioutil.Discard, resp.Body)\n\tresp.Body.Close()\n}\n\n// sequentialKey returns '00012' when size is 5 and num is 12.\nfunc sequentialKey(size, num int64) string {\n\ttxt := fmt.Sprintf(\"%d\", num)\n\tif len(txt) > int(size) {\n\t\treturn txt\n\t}\n\tdelta := int(size) - len(txt)\n\treturn strings.Repeat(\"0\", delta) + txt\n}\n\nfunc sameKey(size int64) string {\n\treturn strings.Repeat(\"a\", int(size))\n}\n\nfunc randBytes(bytesN int64) []byte {\n\tconst (\n\t\tletterBytes   = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"\n\t\tletterIdxBits = 6                    // 6 bits to represent a letter index\n\t\tletterIdxMask = 1<<letterIdxBits - 1 // All 1-bits, as many as letterIdxBits\n\t\tletterIdxMax  = 63 / letterIdxBits   // # of letter indices fitting in 63 bits\n\t)\n\tsrc := mrand.NewSource(time.Now().UnixNano())\n\tb := make([]byte, bytesN)\n\tfor i, cache, remain := bytesN-1, src.Int63(), letterIdxMax; i >= 0; {\n\t\tif remain == 0 {\n\t\t\tcache, remain = src.Int63(), letterIdxMax\n\t\t}\n\t\tif idx := int(cache & letterIdxMask); idx < len(letterBytes) {\n\t\t\tb[i] = letterBytes[idx]\n\t\t\ti--\n\t\t}\n\t\tcache >>= letterIdxBits\n\t\tremain--\n\t}\n\treturn b\n}\n"
  },
  {
    "path": "util_test.go",
    "content": "// Copyright 2017 CoreOS, Inc.\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\npackage dbtester\n\nimport (\n\t\"reflect\"\n\t\"testing\"\n)\n\nfunc Test_assignRequest(t *testing.T) {\n\tranges := []int64{1, 10, 50, 100, 300, 500, 700, 1000}\n\ttotal := int64(1000000)\n\trs := assignRequest(ranges, total)\n\texpected := []int64{120000, 120000, 120000, 120000, 120000, 120000, 120000, 160000}\n\tif !reflect.DeepEqual(rs, expected) {\n\t\tt.Fatalf(\"expected %+v, got %+v\", expected, rs)\n\t}\n\n\tcur := int64(0)\n\tfor _, v := range expected {\n\t\tcur += v\n\t}\n\tif cur != total {\n\t\tt.Fatalf(\"sum must be %d, got %d\", total, cur)\n\t}\n}\n"
  },
  {
    "path": "vendor/bitbucket.org/zombiezen/gopdf/LICENSE",
    "content": "Copyright (c) 2011, The gopdf Authors\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare 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\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS 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 COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, 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 ON\nANY 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": "vendor/bitbucket.org/zombiezen/gopdf/pdf/canvas.go",
    "content": "// Copyright (C) 2011, Ross Light\n\npackage pdf\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"image\"\n\t\"io\"\n\t\"math\"\n)\n\n// writeCommand writes a PDF graphics command.\nfunc writeCommand(w io.Writer, op string, args ...interface{}) error {\n\tfor _, arg := range args {\n\t\t// TODO: Use the same buffer for all arguments\n\t\tif m, err := marshal(nil, arg); err == nil {\n\t\t\tif _, err := w.Write(append(m, ' ')); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else {\n\t\t\treturn err\n\t\t}\n\t}\n\tif _, err := io.WriteString(w, op); err != nil {\n\t\treturn err\n\t}\n\tif _, err := w.Write([]byte{'\\n'}); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// Canvas is a two-dimensional drawing region on a single page.  You can obtain\n// a canvas once you have created a document.\ntype Canvas struct {\n\tdoc          *Document\n\tpage         *pageDict\n\tref          Reference\n\tcontents     *stream\n\timageCounter uint\n}\n\n// Document returns the document the canvas is attached to.\nfunc (canvas *Canvas) Document() *Document {\n\treturn canvas.doc\n}\n\n// Close flushes the page's stream to the document.  This must be called once\n// drawing has completed or else the document will be inconsistent.\nfunc (canvas *Canvas) Close() error {\n\treturn canvas.contents.Close()\n}\n\n// Size returns the page's media box (the size of the physical medium).\nfunc (canvas *Canvas) Size() (width, height Unit) {\n\tmbox := canvas.page.MediaBox\n\treturn mbox.Dx(), mbox.Dy()\n}\n\n// SetSize changes the page's media box (the size of the physical medium).\nfunc (canvas *Canvas) SetSize(width, height Unit) {\n\tcanvas.page.MediaBox = Rectangle{Point{0, 0}, Point{width, height}}\n}\n\n// CropBox returns the page's crop box.\nfunc (canvas *Canvas) CropBox() Rectangle {\n\treturn canvas.page.CropBox\n}\n\n// SetCropBox changes the page's crop box.\nfunc (canvas *Canvas) SetCropBox(crop Rectangle) {\n\tcanvas.page.CropBox = crop\n}\n\n// FillStroke fills then strokes the given path.  This operation has the same\n// effect as performing a fill then a stroke, but does not repeat the path in\n// the file.\nfunc (canvas *Canvas) FillStroke(p *Path) {\n\tio.Copy(canvas.contents, &p.buf)\n\twriteCommand(canvas.contents, \"B\")\n}\n\n// Fill paints the area enclosed by the given path using the current fill color.\nfunc (canvas *Canvas) Fill(p *Path) {\n\tio.Copy(canvas.contents, &p.buf)\n\twriteCommand(canvas.contents, \"f\")\n}\n\n// Stroke paints a line along the given path using the current stroke color.\nfunc (canvas *Canvas) Stroke(p *Path) {\n\tio.Copy(canvas.contents, &p.buf)\n\twriteCommand(canvas.contents, \"S\")\n}\n\n// SetLineWidth changes the stroke width to the given value.\nfunc (canvas *Canvas) SetLineWidth(w Unit) {\n\twriteCommand(canvas.contents, \"w\", w)\n}\n\n// SetLineDash changes the line dash pattern in the current graphics state.\n// Examples:\n//\n//   c.SetLineDash(0, []Unit{})     // solid line\n//   c.SetLineDash(0, []Unit{3})    // 3 units on, 3 units off...\n//   c.SetLineDash(0, []Unit{2, 1}) // 2 units on, 1 unit off...\n//   c.SetLineDash(1, []Unit{2})    // 1 unit on, 2 units off, 2 units on...\nfunc (canvas *Canvas) SetLineDash(phase Unit, dash []Unit) {\n\twriteCommand(canvas.contents, \"d\", dash, phase)\n}\n\n// SetColor changes the current fill color to the given RGB triple (in device\n// RGB space).\nfunc (canvas *Canvas) SetColor(r, g, b float32) {\n\twriteCommand(canvas.contents, \"rg\", r, g, b)\n}\n\n// SetStrokeColor changes the current stroke color to the given RGB triple (in\n// device RGB space).\nfunc (canvas *Canvas) SetStrokeColor(r, g, b float32) {\n\twriteCommand(canvas.contents, \"RG\", r, g, b)\n}\n\n// Push saves a copy of the current graphics state.  The state can later be\n// restored using Pop.\nfunc (canvas *Canvas) Push() {\n\twriteCommand(canvas.contents, \"q\")\n}\n\n// Pop restores the most recently saved graphics state by popping it from the\n// stack.\nfunc (canvas *Canvas) Pop() {\n\twriteCommand(canvas.contents, \"Q\")\n}\n\n// Translate moves the canvas's coordinates system by the given offset.\nfunc (canvas *Canvas) Translate(x, y Unit) {\n\twriteCommand(canvas.contents, \"cm\", 1, 0, 0, 1, x, y)\n}\n\n// Rotate rotates the canvas's coordinate system by a given angle (in radians).\nfunc (canvas *Canvas) Rotate(theta float32) {\n\ts, c := math.Sin(float64(theta)), math.Cos(float64(theta))\n\twriteCommand(canvas.contents, \"cm\", c, s, -s, c, 0, 0)\n}\n\n// Scale multiplies the canvas's coordinate system by the given scalars.\nfunc (canvas *Canvas) Scale(x, y float32) {\n\twriteCommand(canvas.contents, \"cm\", x, 0, 0, y, 0, 0)\n}\n\n// Transform concatenates a 3x3 matrix with the current transformation matrix.\n// The arguments map to values in the matrix as shown below:\n//\n//  / a b 0 \\\n//  | c d 0 |\n//  \\ e f 1 /\n//\n// For more information, see Section 8.3.4 of ISO 32000-1.\nfunc (canvas *Canvas) Transform(a, b, c, d, e, f float32) {\n\twriteCommand(canvas.contents, \"cm\", a, b, c, d, e, f)\n}\n\n// DrawText paints a text object onto the canvas.\nfunc (canvas *Canvas) DrawText(text *Text) {\n\tfor fontName := range text.fonts {\n\t\tif _, ok := canvas.page.Resources.Font[fontName]; !ok {\n\t\t\tcanvas.page.Resources.Font[fontName] = canvas.doc.standardFont(fontName)\n\t\t}\n\t}\n\twriteCommand(canvas.contents, \"BT\")\n\tio.Copy(canvas.contents, &text.buf)\n\twriteCommand(canvas.contents, \"ET\")\n}\n\n// DrawImage paints a raster image at the given location and scaled to the\n// given dimensions.  If you want to render the same image multiple times in\n// the same document, use DrawImageReference.\nfunc (canvas *Canvas) DrawImage(img image.Image, rect Rectangle) {\n\tcanvas.DrawImageReference(canvas.doc.AddImage(img), rect)\n}\n\n// DrawImageReference paints the raster image referenced in the document at the\n// given location and scaled to the given dimensions.\nfunc (canvas *Canvas) DrawImageReference(ref Reference, rect Rectangle) {\n\tname := canvas.nextImageName()\n\tcanvas.page.Resources.XObject[name] = ref\n\n\tcanvas.Push()\n\tcanvas.Transform(float32(rect.Dx()), 0, 0, float32(rect.Dy()), float32(rect.Min.X), float32(rect.Min.Y))\n\twriteCommand(canvas.contents, \"Do\", name)\n\tcanvas.Pop()\n}\n\n// DrawLine paints a straight line from pt1 to pt2 using the current stroke\n// color and line width.\nfunc (canvas *Canvas) DrawLine(pt1, pt2 Point) {\n\tvar path Path\n\tpath.Move(pt1)\n\tpath.Line(pt2)\n\tcanvas.Stroke(&path)\n}\n\nconst anonymousImageFormat = \"__image%d__\"\n\nfunc (canvas *Canvas) nextImageName() name {\n\tvar n name\n\tfor {\n\t\tn = name(fmt.Sprintf(anonymousImageFormat, canvas.imageCounter))\n\t\tcanvas.imageCounter++\n\t\tif _, ok := canvas.page.Resources.XObject[n]; !ok {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\n\n// Path is a shape that can be painted on a canvas.  The zero value is an empty\n// path.\ntype Path struct {\n\tbuf bytes.Buffer\n}\n\n// Move begins a new subpath by moving the current point to the given location.\nfunc (path *Path) Move(pt Point) {\n\twriteCommand(&path.buf, \"m\", pt.X, pt.Y)\n}\n\n// Line appends a line segment from the current point to the given location.\nfunc (path *Path) Line(pt Point) {\n\twriteCommand(&path.buf, \"l\", pt.X, pt.Y)\n}\n\n// Curve appends a cubic Bezier curve to the path.\nfunc (path *Path) Curve(pt1, pt2, pt3 Point) {\n\twriteCommand(&path.buf, \"c\", pt1.X, pt1.Y, pt2.X, pt2.Y, pt3.X, pt3.Y)\n}\n\n// Rectangle appends a complete rectangle to the path.\nfunc (path *Path) Rectangle(rect Rectangle) {\n\twriteCommand(&path.buf, \"re\", rect.Min.X, rect.Min.Y, rect.Dx(), rect.Dy())\n}\n\n// Close appends a line segment from the current point to the starting point of\n// the subpath.\nfunc (path *Path) Close() {\n\twriteCommand(&path.buf, \"h\")\n}\n"
  },
  {
    "path": "vendor/bitbucket.org/zombiezen/gopdf/pdf/doc.go",
    "content": "// Copyright (C) 2011, Ross Light\n\n/*\n\tPackage pdf implements a Portable Document Format writer, as defined in ISO 32000-1.\n\n\tAn example of basic usage:\n\n\t\tpackage main\n\n\t\timport (\n\t\t\t\"bitbucket.org/zombiezen/gopdf/pdf\"\n\t\t\t\"fmt\"\n\t\t\t\"os\"\n\t\t)\n\n\t\tfunc main() {\n\t\t\tdoc := pdf.New()\n\t\t\tcanvas := doc.NewPage(pdf.USLetterWidth, pdf.USLetterHeight)\n\t\t\tcanvas.Translate(100, 100)\n\n\t\t\tpath := new(pdf.Path)\n\t\t\tpath.Move(pdf.Point{0, 0})\n\t\t\tpath.Line(pdf.Point{100, 0})\n\t\t\tcanvas.Stroke(path)\n\n\t\t\ttext := new(pdf.Text)\n\t\t\ttext.SetFont(pdf.Helvetica, 14)\n\t\t\ttext.Text(\"Hello, World!\")\n\t\t\tcanvas.DrawText(text)\n\n\t\t\tcanvas.Close()\n\n\t\t\terr := doc.Encode(os.Stdout)\n\t\t\tif err != nil {\n\t\t\t\tfmt.Fprintln(os.Stderr, err)\n\t\t\t\tos.Exit(1)\n\t\t\t}\n\t\t}\n*/\npackage pdf\n"
  },
  {
    "path": "vendor/bitbucket.org/zombiezen/gopdf/pdf/encode.go",
    "content": "// Copyright (C) 2011, Ross Light\n\npackage pdf\n\nimport (\n\t\"fmt\"\n\t\"io\"\n)\n\n// encoder writes the PDF file format structure.\ntype encoder struct {\n\tobjects []interface{}\n\troot    Reference\n}\n\ntype trailer struct {\n\tSize int\n\tRoot Reference\n}\n\n// add appends an object to the file.  The object is marshalled only when an\n// encoding is requested.\nfunc (enc *encoder) add(v interface{}) Reference {\n\tenc.objects = append(enc.objects, v)\n\treturn Reference{uint(len(enc.objects)), 0}\n}\n\nconst (\n\theader  = \"%PDF-1.7\" + newline + \"%\\x93\\x8c\\x8b\\x9e\" + newline\n\tnewline = \"\\r\\n\"\n)\n\n// Cross reference strings\nconst (\n\tcrossReferenceSectionHeader    = \"xref\" + newline\n\tcrossReferenceSubsectionFormat = \"%d %d\" + newline\n\tcrossReferenceFormat           = \"%010d %05d n\" + newline\n\tcrossReferenceFreeFormat       = \"%010d %05d f\" + newline\n)\n\nconst trailerHeader = \"trailer\" + newline\n\nconst startxrefFormat = \"startxref\" + newline + \"%d\" + newline\n\nconst eofString = \"%%EOF\" + newline\n\n// encode writes an entire PDF document by marshalling the added objects.\nfunc (enc *encoder) encode(wr io.Writer) error {\n\tw := &offsetWriter{Writer: wr}\n\tif err := enc.writeHeader(w); err != nil {\n\t\treturn err\n\t}\n\tobjectOffsets, err := enc.writeBody(w)\n\tif err != nil {\n\t\treturn err\n\t}\n\ttableOffset := w.offset\n\tif err := enc.writeXrefTable(w, objectOffsets); err != nil {\n\t\treturn err\n\t}\n\tif err := enc.writeTrailer(w); err != nil {\n\t\treturn err\n\t}\n\tif err := enc.writeStartxref(w, tableOffset); err != nil {\n\t\treturn err\n\t}\n\tif err := enc.writeEOF(w); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc (enc *encoder) writeHeader(w *offsetWriter) error {\n\t_, err := io.WriteString(w, header)\n\treturn err\n}\n\nfunc (enc *encoder) writeBody(w *offsetWriter) ([]int64, error) {\n\tobjectOffsets := make([]int64, len(enc.objects))\n\tfor i, obj := range enc.objects {\n\t\t// TODO: Use same buffer for writing across objects\n\t\tobjectOffsets[i] = w.offset\n\t\tdata, err := marshal(nil, indirectObject{Reference{uint(i + 1), 0}, obj})\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tif _, err = w.Write(append(data, newline...)); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn objectOffsets, nil\n}\n\nfunc (enc *encoder) writeXrefTable(w *offsetWriter, objectOffsets []int64) error {\n\tif _, err := io.WriteString(w, crossReferenceSectionHeader); err != nil {\n\t\treturn err\n\t}\n\tif _, err := fmt.Fprintf(w, crossReferenceSubsectionFormat, 0, len(enc.objects)+1); err != nil {\n\t\treturn err\n\t}\n\tif _, err := fmt.Fprintf(w, crossReferenceFreeFormat, 0, 65535); err != nil {\n\t\treturn err\n\t}\n\tfor _, offset := range objectOffsets {\n\t\tif _, err := fmt.Fprintf(w, crossReferenceFormat, offset, 0); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (enc *encoder) writeTrailer(w *offsetWriter) error {\n\tvar err error\n\tdict := trailer{\n\t\tSize: len(enc.objects) + 1,\n\t\tRoot: enc.root,\n\t}\n\tdata := make([]byte, 0, len(trailerHeader)+len(newline))\n\tdata = append(data, trailerHeader...)\n\tif data, err = marshal(data, dict); err != nil {\n\t\treturn err\n\t}\n\tdata = append(data, newline...)\n\n\t_, err = w.Write(data)\n\treturn err\n}\n\nfunc (enc *encoder) writeStartxref(w *offsetWriter, tableOffset int64) error {\n\t_, err := fmt.Fprintf(w, startxrefFormat, tableOffset)\n\treturn err\n}\n\nfunc (enc *encoder) writeEOF(w *offsetWriter) error {\n\t_, err := io.WriteString(w, eofString)\n\treturn err\n}\n\n// offsetWriter tracks how many bytes have been written to it.\ntype offsetWriter struct {\n\tio.Writer\n\toffset int64\n}\n\nfunc (w *offsetWriter) Write(p []byte) (n int, err error) {\n\tn, err = w.Writer.Write(p)\n\tw.offset += int64(n)\n\treturn\n}\n"
  },
  {
    "path": "vendor/bitbucket.org/zombiezen/gopdf/pdf/image.go",
    "content": "// Copyright (C) 2011, Ross Light\n\npackage pdf\n\nimport (\n\t\"image\"\n\t\"image/color\"\n\t\"io\"\n)\n\nconst (\n\tdeviceRGBColorSpace name = \"DeviceRGB\"\n)\n\ntype imageStream struct {\n\t*stream\n\tWidth            int\n\tHeight           int\n\tBitsPerComponent int\n\tColorSpace       name\n}\n\ntype imageStreamInfo struct {\n\tType             name\n\tSubtype          name\n\tLength           int\n\tFilter           name `pdf:\",omitempty\"`\n\tWidth            int\n\tHeight           int\n\tBitsPerComponent int\n\tColorSpace       name\n}\n\nfunc newImageStream(filter name, w, h int) *imageStream {\n\treturn &imageStream{\n\t\tstream:           newStream(filter),\n\t\tWidth:            w,\n\t\tHeight:           h,\n\t\tBitsPerComponent: 8,\n\t\tColorSpace:       deviceRGBColorSpace,\n\t}\n}\n\nfunc (st *imageStream) marshalPDF(dst []byte) ([]byte, error) {\n\treturn marshalStream(dst, imageStreamInfo{\n\t\tType:             xobjectType,\n\t\tSubtype:          imageSubtype,\n\t\tLength:           st.Len(),\n\t\tFilter:           st.filter,\n\t\tWidth:            st.Width,\n\t\tHeight:           st.Height,\n\t\tBitsPerComponent: st.BitsPerComponent,\n\t\tColorSpace:       st.ColorSpace,\n\t}, st.Bytes())\n}\n\n// encodeImageStream writes RGB data from an image in PDF format.\nfunc encodeImageStream(w io.Writer, img image.Image) error {\n\tbd := img.Bounds()\n\trow := make([]byte, bd.Dx()*3)\n\tfor y := bd.Min.Y; y < bd.Max.Y; y++ {\n\t\ti := 0\n\t\tfor x := bd.Min.X; x < bd.Max.X; x++ {\n\t\t\tr, g, b, a := img.At(x, y).RGBA()\n\t\t\tif a != 0 {\n\t\t\t\trow[i+0] = uint8((r * 65535 / a) >> 8)\n\t\t\t\trow[i+1] = uint8((g * 65535 / a) >> 8)\n\t\t\t\trow[i+2] = uint8((b * 65535 / a) >> 8)\n\t\t\t} else {\n\t\t\t\trow[i+0] = 0\n\t\t\t\trow[i+1] = 0\n\t\t\t\trow[i+2] = 0\n\t\t\t}\n\t\t\ti += 3\n\t\t}\n\t\tif _, err := w.Write(row); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc encodeRGBAStream(w io.Writer, img *image.RGBA) error {\n\tbuf := make([]byte, 3*img.Rect.Dx()*img.Rect.Dy())\n\tvar a uint16\n\tfor i, j := 0, 0; i < len(img.Pix); i, j = i+4, j+3 {\n\t\ta = uint16(img.Pix[i+3])\n\t\tif a != 0 {\n\t\t\tbuf[j+0] = byte(uint16(img.Pix[i+0]) * 0xff / a)\n\t\t\tbuf[j+1] = byte(uint16(img.Pix[i+1]) * 0xff / a)\n\t\t\tbuf[j+2] = byte(uint16(img.Pix[i+2]) * 0xff / a)\n\t\t}\n\t}\n\t_, err := w.Write(buf)\n\treturn err\n}\n\nfunc encodeNRGBAStream(w io.Writer, img *image.NRGBA) error {\n\tbuf := make([]byte, 3*img.Rect.Dx()*img.Rect.Dy())\n\tfor i, j := 0, 0; i < len(img.Pix); i, j = i+4, j+3 {\n\t\tbuf[j+0] = img.Pix[i+0]\n\t\tbuf[j+1] = img.Pix[i+1]\n\t\tbuf[j+2] = img.Pix[i+2]\n\t}\n\t_, err := w.Write(buf)\n\treturn err\n}\n\nfunc encodeYCbCrStream(w io.Writer, img *image.YCbCr) error {\n\tvar yy, cb, cr uint8\n\tvar i, j int\n\tdx, dy := img.Rect.Dx(), img.Rect.Dy()\n\tbuf := make([]byte, 3*dx*dy)\n\tbi := 0\n\tfor y := 0; y < dy; y++ {\n\t\tfor x := 0; x < dx; x++ {\n\t\t\ti, j = x, y\n\t\t\tswitch img.SubsampleRatio {\n\t\t\tcase image.YCbCrSubsampleRatio420:\n\t\t\t\tj /= 2\n\t\t\t\tfallthrough\n\t\t\tcase image.YCbCrSubsampleRatio422:\n\t\t\t\ti /= 2\n\t\t\t}\n\t\t\tyy = img.Y[y*img.YStride+x]\n\t\t\tcb = img.Cb[j*img.CStride+i]\n\t\t\tcr = img.Cr[j*img.CStride+i]\n\n\t\t\tbuf[bi+0], buf[bi+1], buf[bi+2] = color.YCbCrToRGB(yy, cb, cr)\n\t\t\tbi += 3\n\t\t}\n\t}\n\t_, err := w.Write(buf)\n\treturn err\n}\n"
  },
  {
    "path": "vendor/bitbucket.org/zombiezen/gopdf/pdf/marshal.go",
    "content": "// Copyright (C) 2011, Ross Light\n\npackage pdf\n\nimport (\n\t\"errors\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"strings\"\n)\n\n// A marshaler can produce a PDF object.\ntype marshaler interface {\n\tmarshalPDF(dst []byte) ([]byte, error)\n}\n\n// marshal returns the PDF encoding of v.\n//\n// If the value implements the marshaler interface, then its marshalPDF method\n// is called.  ints, strings, and floats will be marshalled according to the PDF\n// standard.\nfunc marshal(dst []byte, v interface{}) ([]byte, error) {\n\tstate := marshalState{dst}\n\tif err := state.marshalValue(reflect.ValueOf(v)); err != nil {\n\t\treturn nil, err\n\t}\n\treturn state.data, nil\n}\n\ntype marshalState struct {\n\tdata []byte\n}\n\nconst marshalFloatPrec = 5\n\nfunc (state *marshalState) writeString(s string) {\n\tstate.data = append(state.data, s...)\n}\n\nfunc (state *marshalState) marshalValue(v reflect.Value) error {\n\tif !v.IsValid() {\n\t\tstate.writeString(\"null\")\n\t\treturn nil\n\t}\n\n\tif m, ok := v.Interface().(marshaler); ok {\n\t\tslice, err := m.marshalPDF(state.data)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstate.data = slice\n\t\treturn nil\n\t}\n\n\tswitch v.Kind() {\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:\n\t\tstate.writeString(strconv.FormatInt(v.Int(), 10))\n\t\treturn nil\n\tcase reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:\n\t\tstate.writeString(strconv.FormatUint(v.Uint(), 10))\n\t\treturn nil\n\tcase reflect.Float32, reflect.Float64:\n\t\tstate.writeString(strconv.FormatFloat(v.Float(), 'f', marshalFloatPrec, 64))\n\t\treturn nil\n\tcase reflect.String:\n\t\tstate.writeString(quote(v.String()))\n\t\treturn nil\n\tcase reflect.Ptr, reflect.Interface:\n\t\treturn state.marshalValue(v.Elem())\n\tcase reflect.Array, reflect.Slice:\n\t\treturn state.marshalSlice(v)\n\tcase reflect.Map:\n\t\treturn state.marshalDictionary(v)\n\tcase reflect.Struct:\n\t\treturn state.marshalStruct(v)\n\t}\n\n\treturn errors.New(\"pdf: unsupported type: \" + v.Type().String())\n}\n\n// quote escapes a string and returns a PDF string literal.\nfunc quote(s string) string {\n\tr := strings.NewReplacer(\n\t\t\"\\r\", `\\r`,\n\t\t\"\\t\", `\\t`,\n\t\t\"\\b\", `\\b`,\n\t\t\"\\f\", `\\f`,\n\t\t\"(\", `\\(`,\n\t\t\")\", `\\)`,\n\t\t`\\`, `\\\\`,\n\t)\n\treturn \"(\" + r.Replace(s) + \")\"\n}\n\nfunc (state *marshalState) marshalSlice(v reflect.Value) error {\n\tstate.writeString(\"[ \")\n\tfor i := 0; i < v.Len(); i++ {\n\t\tif err := state.marshalValue(v.Index(i)); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstate.writeString(\" \")\n\t}\n\tstate.writeString(\"]\")\n\treturn nil\n}\n\nfunc (state *marshalState) marshalDictionary(v reflect.Value) error {\n\tif v.Type().Key() != reflect.TypeOf(name(\"\")) {\n\t\treturn errors.New(\"pdf: cannot marshal dictionary with key type: \" + v.Type().Key().String())\n\t}\n\n\tstate.writeString(\"<< \")\n\tfor _, k := range v.MapKeys() {\n\t\tstate.marshalKeyValue(k.Interface().(name), v.MapIndex(k))\n\t}\n\tstate.writeString(\">>\")\n\treturn nil\n}\n\nfunc (state *marshalState) marshalStruct(v reflect.Value) error {\n\tstate.writeString(\"<< \")\n\tt := v.Type()\n\tn := v.NumField()\n\tfor i := 0; i < n; i++ {\n\t\tf := t.Field(i)\n\t\tif f.PkgPath != \"\" {\n\t\t\tcontinue\n\t\t}\n\n\t\ttag, omitEmpty := f.Name, false\n\t\tif tv := f.Tag.Get(\"pdf\"); tv != \"\" {\n\t\t\tif tv == \"-\" {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tname, options := parseTag(tv)\n\t\t\tif name != \"\" {\n\t\t\t\ttag = name\n\t\t\t}\n\t\t\tomitEmpty = options.Contains(\"omitempty\")\n\t\t}\n\n\t\tfieldValue := v.Field(i)\n\t\tif omitEmpty && isEmptyValue(fieldValue) {\n\t\t\tcontinue\n\t\t}\n\n\t\tstate.marshalKeyValue(name(tag), fieldValue)\n\t}\n\tstate.writeString(\">>\")\n\treturn nil\n}\n\nfunc (state *marshalState) marshalKeyValue(k name, v reflect.Value) error {\n\tslice, err := k.marshalPDF(state.data)\n\tif err != nil {\n\t\treturn err\n\t}\n\tstate.data = slice\n\tstate.writeString(\" \")\n\n\tif err := state.marshalValue(v); err != nil {\n\t\treturn err\n\t}\n\tstate.writeString(\" \")\n\n\treturn nil\n}\n\ntype tagOptions []string\n\nfunc parseTag(tag string) (name string, options tagOptions) {\n\tresult := strings.Split(tag, \",\")\n\treturn result[0], tagOptions(result[1:])\n}\n\nfunc (options tagOptions) Contains(opt string) bool {\n\tfor _, o := range options {\n\t\tif opt == o {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunc isEmptyValue(v reflect.Value) bool {\n\tswitch v.Kind() {\n\tcase reflect.Array, reflect.Map, reflect.Slice, reflect.String:\n\t\treturn v.Len() == 0\n\tcase reflect.Bool:\n\t\treturn !v.Bool()\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:\n\t\treturn v.Int() == 0\n\tcase reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:\n\t\treturn v.Uint() == 0\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v.Float() == 0\n\tcase reflect.Interface, reflect.Ptr:\n\t\treturn v.IsNil()\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/bitbucket.org/zombiezen/gopdf/pdf/metrics.go",
    "content": "package pdf\n\n// Courier\nvar courierWidths = []uint16{\n\t32:  600, // space\n\t33:  600, // exclam\n\t34:  600, // quotedbl\n\t35:  600, // numbersign\n\t36:  600, // dollar\n\t37:  600, // percent\n\t38:  600, // ampersand\n\t39:  600, // quoteright\n\t40:  600, // parenleft\n\t41:  600, // parenright\n\t42:  600, // asterisk\n\t43:  600, // plus\n\t44:  600, // comma\n\t45:  600, // hyphen\n\t46:  600, // period\n\t47:  600, // slash\n\t48:  600, // zero\n\t49:  600, // one\n\t50:  600, // two\n\t51:  600, // three\n\t52:  600, // four\n\t53:  600, // five\n\t54:  600, // six\n\t55:  600, // seven\n\t56:  600, // eight\n\t57:  600, // nine\n\t58:  600, // colon\n\t59:  600, // semicolon\n\t60:  600, // less\n\t61:  600, // equal\n\t62:  600, // greater\n\t63:  600, // question\n\t64:  600, // at\n\t65:  600, // A\n\t66:  600, // B\n\t67:  600, // C\n\t68:  600, // D\n\t69:  600, // E\n\t70:  600, // F\n\t71:  600, // G\n\t72:  600, // H\n\t73:  600, // I\n\t74:  600, // J\n\t75:  600, // K\n\t76:  600, // L\n\t77:  600, // M\n\t78:  600, // N\n\t79:  600, // O\n\t80:  600, // P\n\t81:  600, // Q\n\t82:  600, // R\n\t83:  600, // S\n\t84:  600, // T\n\t85:  600, // U\n\t86:  600, // V\n\t87:  600, // W\n\t88:  600, // X\n\t89:  600, // Y\n\t90:  600, // Z\n\t91:  600, // bracketleft\n\t92:  600, // backslash\n\t93:  600, // bracketright\n\t94:  600, // asciicircum\n\t95:  600, // underscore\n\t96:  600, // quoteleft\n\t97:  600, // a\n\t98:  600, // b\n\t99:  600, // c\n\t100: 600, // d\n\t101: 600, // e\n\t102: 600, // f\n\t103: 600, // g\n\t104: 600, // h\n\t105: 600, // i\n\t106: 600, // j\n\t107: 600, // k\n\t108: 600, // l\n\t109: 600, // m\n\t110: 600, // n\n\t111: 600, // o\n\t112: 600, // p\n\t113: 600, // q\n\t114: 600, // r\n\t115: 600, // s\n\t116: 600, // t\n\t117: 600, // u\n\t118: 600, // v\n\t119: 600, // w\n\t120: 600, // x\n\t121: 600, // y\n\t122: 600, // z\n\t123: 600, // braceleft\n\t124: 600, // bar\n\t125: 600, // braceright\n\t126: 600, // asciitilde\n}\n\n// Courier-Bold\nvar courierBoldWidths = []uint16{\n\t32:  600, // space\n\t33:  600, // exclam\n\t34:  600, // quotedbl\n\t35:  600, // numbersign\n\t36:  600, // dollar\n\t37:  600, // percent\n\t38:  600, // ampersand\n\t39:  600, // quoteright\n\t40:  600, // parenleft\n\t41:  600, // parenright\n\t42:  600, // asterisk\n\t43:  600, // plus\n\t44:  600, // comma\n\t45:  600, // hyphen\n\t46:  600, // period\n\t47:  600, // slash\n\t48:  600, // zero\n\t49:  600, // one\n\t50:  600, // two\n\t51:  600, // three\n\t52:  600, // four\n\t53:  600, // five\n\t54:  600, // six\n\t55:  600, // seven\n\t56:  600, // eight\n\t57:  600, // nine\n\t58:  600, // colon\n\t59:  600, // semicolon\n\t60:  600, // less\n\t61:  600, // equal\n\t62:  600, // greater\n\t63:  600, // question\n\t64:  600, // at\n\t65:  600, // A\n\t66:  600, // B\n\t67:  600, // C\n\t68:  600, // D\n\t69:  600, // E\n\t70:  600, // F\n\t71:  600, // G\n\t72:  600, // H\n\t73:  600, // I\n\t74:  600, // J\n\t75:  600, // K\n\t76:  600, // L\n\t77:  600, // M\n\t78:  600, // N\n\t79:  600, // O\n\t80:  600, // P\n\t81:  600, // Q\n\t82:  600, // R\n\t83:  600, // S\n\t84:  600, // T\n\t85:  600, // U\n\t86:  600, // V\n\t87:  600, // W\n\t88:  600, // X\n\t89:  600, // Y\n\t90:  600, // Z\n\t91:  600, // bracketleft\n\t92:  600, // backslash\n\t93:  600, // bracketright\n\t94:  600, // asciicircum\n\t95:  600, // underscore\n\t96:  600, // quoteleft\n\t97:  600, // a\n\t98:  600, // b\n\t99:  600, // c\n\t100: 600, // d\n\t101: 600, // e\n\t102: 600, // f\n\t103: 600, // g\n\t104: 600, // h\n\t105: 600, // i\n\t106: 600, // j\n\t107: 600, // k\n\t108: 600, // l\n\t109: 600, // m\n\t110: 600, // n\n\t111: 600, // o\n\t112: 600, // p\n\t113: 600, // q\n\t114: 600, // r\n\t115: 600, // s\n\t116: 600, // t\n\t117: 600, // u\n\t118: 600, // v\n\t119: 600, // w\n\t120: 600, // x\n\t121: 600, // y\n\t122: 600, // z\n\t123: 600, // braceleft\n\t124: 600, // bar\n\t125: 600, // braceright\n\t126: 600, // asciitilde\n}\n\n// Courier-BoldOblique\nvar courierBoldObliqueWidths = []uint16{\n\t32:  600, // space\n\t33:  600, // exclam\n\t34:  600, // quotedbl\n\t35:  600, // numbersign\n\t36:  600, // dollar\n\t37:  600, // percent\n\t38:  600, // ampersand\n\t39:  600, // quoteright\n\t40:  600, // parenleft\n\t41:  600, // parenright\n\t42:  600, // asterisk\n\t43:  600, // plus\n\t44:  600, // comma\n\t45:  600, // hyphen\n\t46:  600, // period\n\t47:  600, // slash\n\t48:  600, // zero\n\t49:  600, // one\n\t50:  600, // two\n\t51:  600, // three\n\t52:  600, // four\n\t53:  600, // five\n\t54:  600, // six\n\t55:  600, // seven\n\t56:  600, // eight\n\t57:  600, // nine\n\t58:  600, // colon\n\t59:  600, // semicolon\n\t60:  600, // less\n\t61:  600, // equal\n\t62:  600, // greater\n\t63:  600, // question\n\t64:  600, // at\n\t65:  600, // A\n\t66:  600, // B\n\t67:  600, // C\n\t68:  600, // D\n\t69:  600, // E\n\t70:  600, // F\n\t71:  600, // G\n\t72:  600, // H\n\t73:  600, // I\n\t74:  600, // J\n\t75:  600, // K\n\t76:  600, // L\n\t77:  600, // M\n\t78:  600, // N\n\t79:  600, // O\n\t80:  600, // P\n\t81:  600, // Q\n\t82:  600, // R\n\t83:  600, // S\n\t84:  600, // T\n\t85:  600, // U\n\t86:  600, // V\n\t87:  600, // W\n\t88:  600, // X\n\t89:  600, // Y\n\t90:  600, // Z\n\t91:  600, // bracketleft\n\t92:  600, // backslash\n\t93:  600, // bracketright\n\t94:  600, // asciicircum\n\t95:  600, // underscore\n\t96:  600, // quoteleft\n\t97:  600, // a\n\t98:  600, // b\n\t99:  600, // c\n\t100: 600, // d\n\t101: 600, // e\n\t102: 600, // f\n\t103: 600, // g\n\t104: 600, // h\n\t105: 600, // i\n\t106: 600, // j\n\t107: 600, // k\n\t108: 600, // l\n\t109: 600, // m\n\t110: 600, // n\n\t111: 600, // o\n\t112: 600, // p\n\t113: 600, // q\n\t114: 600, // r\n\t115: 600, // s\n\t116: 600, // t\n\t117: 600, // u\n\t118: 600, // v\n\t119: 600, // w\n\t120: 600, // x\n\t121: 600, // y\n\t122: 600, // z\n\t123: 600, // braceleft\n\t124: 600, // bar\n\t125: 600, // braceright\n\t126: 600, // asciitilde\n}\n\n// Courier-Oblique\nvar courierObliqueWidths = []uint16{\n\t32:  600, // space\n\t33:  600, // exclam\n\t34:  600, // quotedbl\n\t35:  600, // numbersign\n\t36:  600, // dollar\n\t37:  600, // percent\n\t38:  600, // ampersand\n\t39:  600, // quoteright\n\t40:  600, // parenleft\n\t41:  600, // parenright\n\t42:  600, // asterisk\n\t43:  600, // plus\n\t44:  600, // comma\n\t45:  600, // hyphen\n\t46:  600, // period\n\t47:  600, // slash\n\t48:  600, // zero\n\t49:  600, // one\n\t50:  600, // two\n\t51:  600, // three\n\t52:  600, // four\n\t53:  600, // five\n\t54:  600, // six\n\t55:  600, // seven\n\t56:  600, // eight\n\t57:  600, // nine\n\t58:  600, // colon\n\t59:  600, // semicolon\n\t60:  600, // less\n\t61:  600, // equal\n\t62:  600, // greater\n\t63:  600, // question\n\t64:  600, // at\n\t65:  600, // A\n\t66:  600, // B\n\t67:  600, // C\n\t68:  600, // D\n\t69:  600, // E\n\t70:  600, // F\n\t71:  600, // G\n\t72:  600, // H\n\t73:  600, // I\n\t74:  600, // J\n\t75:  600, // K\n\t76:  600, // L\n\t77:  600, // M\n\t78:  600, // N\n\t79:  600, // O\n\t80:  600, // P\n\t81:  600, // Q\n\t82:  600, // R\n\t83:  600, // S\n\t84:  600, // T\n\t85:  600, // U\n\t86:  600, // V\n\t87:  600, // W\n\t88:  600, // X\n\t89:  600, // Y\n\t90:  600, // Z\n\t91:  600, // bracketleft\n\t92:  600, // backslash\n\t93:  600, // bracketright\n\t94:  600, // asciicircum\n\t95:  600, // underscore\n\t96:  600, // quoteleft\n\t97:  600, // a\n\t98:  600, // b\n\t99:  600, // c\n\t100: 600, // d\n\t101: 600, // e\n\t102: 600, // f\n\t103: 600, // g\n\t104: 600, // h\n\t105: 600, // i\n\t106: 600, // j\n\t107: 600, // k\n\t108: 600, // l\n\t109: 600, // m\n\t110: 600, // n\n\t111: 600, // o\n\t112: 600, // p\n\t113: 600, // q\n\t114: 600, // r\n\t115: 600, // s\n\t116: 600, // t\n\t117: 600, // u\n\t118: 600, // v\n\t119: 600, // w\n\t120: 600, // x\n\t121: 600, // y\n\t122: 600, // z\n\t123: 600, // braceleft\n\t124: 600, // bar\n\t125: 600, // braceright\n\t126: 600, // asciitilde\n}\n\n// Helvetica\nvar helveticaWidths = []uint16{\n\t32:  278,  // space\n\t33:  278,  // exclam\n\t34:  355,  // quotedbl\n\t35:  556,  // numbersign\n\t36:  556,  // dollar\n\t37:  889,  // percent\n\t38:  667,  // ampersand\n\t39:  222,  // quoteright\n\t40:  333,  // parenleft\n\t41:  333,  // parenright\n\t42:  389,  // asterisk\n\t43:  584,  // plus\n\t44:  278,  // comma\n\t45:  333,  // hyphen\n\t46:  278,  // period\n\t47:  278,  // slash\n\t48:  556,  // zero\n\t49:  556,  // one\n\t50:  556,  // two\n\t51:  556,  // three\n\t52:  556,  // four\n\t53:  556,  // five\n\t54:  556,  // six\n\t55:  556,  // seven\n\t56:  556,  // eight\n\t57:  556,  // nine\n\t58:  278,  // colon\n\t59:  278,  // semicolon\n\t60:  584,  // less\n\t61:  584,  // equal\n\t62:  584,  // greater\n\t63:  556,  // question\n\t64:  1015, // at\n\t65:  667,  // A\n\t66:  667,  // B\n\t67:  722,  // C\n\t68:  722,  // D\n\t69:  667,  // E\n\t70:  611,  // F\n\t71:  778,  // G\n\t72:  722,  // H\n\t73:  278,  // I\n\t74:  500,  // J\n\t75:  667,  // K\n\t76:  556,  // L\n\t77:  833,  // M\n\t78:  722,  // N\n\t79:  778,  // O\n\t80:  667,  // P\n\t81:  778,  // Q\n\t82:  722,  // R\n\t83:  667,  // S\n\t84:  611,  // T\n\t85:  722,  // U\n\t86:  667,  // V\n\t87:  944,  // W\n\t88:  667,  // X\n\t89:  667,  // Y\n\t90:  611,  // Z\n\t91:  278,  // bracketleft\n\t92:  278,  // backslash\n\t93:  278,  // bracketright\n\t94:  469,  // asciicircum\n\t95:  556,  // underscore\n\t96:  222,  // quoteleft\n\t97:  556,  // a\n\t98:  556,  // b\n\t99:  500,  // c\n\t100: 556,  // d\n\t101: 556,  // e\n\t102: 278,  // f\n\t103: 556,  // g\n\t104: 556,  // h\n\t105: 222,  // i\n\t106: 222,  // j\n\t107: 500,  // k\n\t108: 222,  // l\n\t109: 833,  // m\n\t110: 556,  // n\n\t111: 556,  // o\n\t112: 556,  // p\n\t113: 556,  // q\n\t114: 333,  // r\n\t115: 500,  // s\n\t116: 278,  // t\n\t117: 556,  // u\n\t118: 500,  // v\n\t119: 722,  // w\n\t120: 500,  // x\n\t121: 500,  // y\n\t122: 500,  // z\n\t123: 334,  // braceleft\n\t124: 260,  // bar\n\t125: 334,  // braceright\n\t126: 584,  // asciitilde\n}\n\n// Helvetica-Bold\nvar helveticaBoldWidths = []uint16{\n\t32:  278, // space\n\t33:  333, // exclam\n\t34:  474, // quotedbl\n\t35:  556, // numbersign\n\t36:  556, // dollar\n\t37:  889, // percent\n\t38:  722, // ampersand\n\t39:  278, // quoteright\n\t40:  333, // parenleft\n\t41:  333, // parenright\n\t42:  389, // asterisk\n\t43:  584, // plus\n\t44:  278, // comma\n\t45:  333, // hyphen\n\t46:  278, // period\n\t47:  278, // slash\n\t48:  556, // zero\n\t49:  556, // one\n\t50:  556, // two\n\t51:  556, // three\n\t52:  556, // four\n\t53:  556, // five\n\t54:  556, // six\n\t55:  556, // seven\n\t56:  556, // eight\n\t57:  556, // nine\n\t58:  333, // colon\n\t59:  333, // semicolon\n\t60:  584, // less\n\t61:  584, // equal\n\t62:  584, // greater\n\t63:  611, // question\n\t64:  975, // at\n\t65:  722, // A\n\t66:  722, // B\n\t67:  722, // C\n\t68:  722, // D\n\t69:  667, // E\n\t70:  611, // F\n\t71:  778, // G\n\t72:  722, // H\n\t73:  278, // I\n\t74:  556, // J\n\t75:  722, // K\n\t76:  611, // L\n\t77:  833, // M\n\t78:  722, // N\n\t79:  778, // O\n\t80:  667, // P\n\t81:  778, // Q\n\t82:  722, // R\n\t83:  667, // S\n\t84:  611, // T\n\t85:  722, // U\n\t86:  667, // V\n\t87:  944, // W\n\t88:  667, // X\n\t89:  667, // Y\n\t90:  611, // Z\n\t91:  333, // bracketleft\n\t92:  278, // backslash\n\t93:  333, // bracketright\n\t94:  584, // asciicircum\n\t95:  556, // underscore\n\t96:  278, // quoteleft\n\t97:  556, // a\n\t98:  611, // b\n\t99:  556, // c\n\t100: 611, // d\n\t101: 556, // e\n\t102: 333, // f\n\t103: 611, // g\n\t104: 611, // h\n\t105: 278, // i\n\t106: 278, // j\n\t107: 556, // k\n\t108: 278, // l\n\t109: 889, // m\n\t110: 611, // n\n\t111: 611, // o\n\t112: 611, // p\n\t113: 611, // q\n\t114: 389, // r\n\t115: 556, // s\n\t116: 333, // t\n\t117: 611, // u\n\t118: 556, // v\n\t119: 778, // w\n\t120: 556, // x\n\t121: 556, // y\n\t122: 500, // z\n\t123: 389, // braceleft\n\t124: 280, // bar\n\t125: 389, // braceright\n\t126: 584, // asciitilde\n}\n\n// Helvetica-BoldOblique\nvar helveticaBoldObliqueWidths = []uint16{\n\t32:  278, // space\n\t33:  333, // exclam\n\t34:  474, // quotedbl\n\t35:  556, // numbersign\n\t36:  556, // dollar\n\t37:  889, // percent\n\t38:  722, // ampersand\n\t39:  278, // quoteright\n\t40:  333, // parenleft\n\t41:  333, // parenright\n\t42:  389, // asterisk\n\t43:  584, // plus\n\t44:  278, // comma\n\t45:  333, // hyphen\n\t46:  278, // period\n\t47:  278, // slash\n\t48:  556, // zero\n\t49:  556, // one\n\t50:  556, // two\n\t51:  556, // three\n\t52:  556, // four\n\t53:  556, // five\n\t54:  556, // six\n\t55:  556, // seven\n\t56:  556, // eight\n\t57:  556, // nine\n\t58:  333, // colon\n\t59:  333, // semicolon\n\t60:  584, // less\n\t61:  584, // equal\n\t62:  584, // greater\n\t63:  611, // question\n\t64:  975, // at\n\t65:  722, // A\n\t66:  722, // B\n\t67:  722, // C\n\t68:  722, // D\n\t69:  667, // E\n\t70:  611, // F\n\t71:  778, // G\n\t72:  722, // H\n\t73:  278, // I\n\t74:  556, // J\n\t75:  722, // K\n\t76:  611, // L\n\t77:  833, // M\n\t78:  722, // N\n\t79:  778, // O\n\t80:  667, // P\n\t81:  778, // Q\n\t82:  722, // R\n\t83:  667, // S\n\t84:  611, // T\n\t85:  722, // U\n\t86:  667, // V\n\t87:  944, // W\n\t88:  667, // X\n\t89:  667, // Y\n\t90:  611, // Z\n\t91:  333, // bracketleft\n\t92:  278, // backslash\n\t93:  333, // bracketright\n\t94:  584, // asciicircum\n\t95:  556, // underscore\n\t96:  278, // quoteleft\n\t97:  556, // a\n\t98:  611, // b\n\t99:  556, // c\n\t100: 611, // d\n\t101: 556, // e\n\t102: 333, // f\n\t103: 611, // g\n\t104: 611, // h\n\t105: 278, // i\n\t106: 278, // j\n\t107: 556, // k\n\t108: 278, // l\n\t109: 889, // m\n\t110: 611, // n\n\t111: 611, // o\n\t112: 611, // p\n\t113: 611, // q\n\t114: 389, // r\n\t115: 556, // s\n\t116: 333, // t\n\t117: 611, // u\n\t118: 556, // v\n\t119: 778, // w\n\t120: 556, // x\n\t121: 556, // y\n\t122: 500, // z\n\t123: 389, // braceleft\n\t124: 280, // bar\n\t125: 389, // braceright\n\t126: 584, // asciitilde\n}\n\n// Helvetica-Oblique\nvar helveticaObliqueWidths = []uint16{\n\t32:  278,  // space\n\t33:  278,  // exclam\n\t34:  355,  // quotedbl\n\t35:  556,  // numbersign\n\t36:  556,  // dollar\n\t37:  889,  // percent\n\t38:  667,  // ampersand\n\t39:  222,  // quoteright\n\t40:  333,  // parenleft\n\t41:  333,  // parenright\n\t42:  389,  // asterisk\n\t43:  584,  // plus\n\t44:  278,  // comma\n\t45:  333,  // hyphen\n\t46:  278,  // period\n\t47:  278,  // slash\n\t48:  556,  // zero\n\t49:  556,  // one\n\t50:  556,  // two\n\t51:  556,  // three\n\t52:  556,  // four\n\t53:  556,  // five\n\t54:  556,  // six\n\t55:  556,  // seven\n\t56:  556,  // eight\n\t57:  556,  // nine\n\t58:  278,  // colon\n\t59:  278,  // semicolon\n\t60:  584,  // less\n\t61:  584,  // equal\n\t62:  584,  // greater\n\t63:  556,  // question\n\t64:  1015, // at\n\t65:  667,  // A\n\t66:  667,  // B\n\t67:  722,  // C\n\t68:  722,  // D\n\t69:  667,  // E\n\t70:  611,  // F\n\t71:  778,  // G\n\t72:  722,  // H\n\t73:  278,  // I\n\t74:  500,  // J\n\t75:  667,  // K\n\t76:  556,  // L\n\t77:  833,  // M\n\t78:  722,  // N\n\t79:  778,  // O\n\t80:  667,  // P\n\t81:  778,  // Q\n\t82:  722,  // R\n\t83:  667,  // S\n\t84:  611,  // T\n\t85:  722,  // U\n\t86:  667,  // V\n\t87:  944,  // W\n\t88:  667,  // X\n\t89:  667,  // Y\n\t90:  611,  // Z\n\t91:  278,  // bracketleft\n\t92:  278,  // backslash\n\t93:  278,  // bracketright\n\t94:  469,  // asciicircum\n\t95:  556,  // underscore\n\t96:  222,  // quoteleft\n\t97:  556,  // a\n\t98:  556,  // b\n\t99:  500,  // c\n\t100: 556,  // d\n\t101: 556,  // e\n\t102: 278,  // f\n\t103: 556,  // g\n\t104: 556,  // h\n\t105: 222,  // i\n\t106: 222,  // j\n\t107: 500,  // k\n\t108: 222,  // l\n\t109: 833,  // m\n\t110: 556,  // n\n\t111: 556,  // o\n\t112: 556,  // p\n\t113: 556,  // q\n\t114: 333,  // r\n\t115: 500,  // s\n\t116: 278,  // t\n\t117: 556,  // u\n\t118: 500,  // v\n\t119: 722,  // w\n\t120: 500,  // x\n\t121: 500,  // y\n\t122: 500,  // z\n\t123: 334,  // braceleft\n\t124: 260,  // bar\n\t125: 334,  // braceright\n\t126: 584,  // asciitilde\n}\n\n// Symbol\nvar symbolWidths = []uint16{\n\t32:  250, // space\n\t33:  333, // exclam\n\t34:  713, // universal\n\t35:  500, // numbersign\n\t36:  549, // existential\n\t37:  833, // percent\n\t38:  778, // ampersand\n\t39:  439, // suchthat\n\t40:  333, // parenleft\n\t41:  333, // parenright\n\t42:  500, // asteriskmath\n\t43:  549, // plus\n\t44:  250, // comma\n\t45:  549, // minus\n\t46:  250, // period\n\t47:  278, // slash\n\t48:  500, // zero\n\t49:  500, // one\n\t50:  500, // two\n\t51:  500, // three\n\t52:  500, // four\n\t53:  500, // five\n\t54:  500, // six\n\t55:  500, // seven\n\t56:  500, // eight\n\t57:  500, // nine\n\t58:  278, // colon\n\t59:  278, // semicolon\n\t60:  549, // less\n\t61:  549, // equal\n\t62:  549, // greater\n\t63:  444, // question\n\t64:  549, // congruent\n\t65:  722, // Alpha\n\t66:  667, // Beta\n\t67:  722, // Chi\n\t68:  612, // Delta\n\t69:  611, // Epsilon\n\t70:  763, // Phi\n\t71:  603, // Gamma\n\t72:  722, // Eta\n\t73:  333, // Iota\n\t74:  631, // theta\n\t75:  722, // Kappa\n\t76:  686, // Lambda\n\t77:  889, // Mu\n\t78:  722, // Nu\n\t79:  722, // Omicron\n\t80:  768, // Pi\n\t81:  741, // Theta\n\t82:  556, // Rho\n\t83:  592, // Sigma\n\t84:  611, // Tau\n\t85:  690, // Upsilon\n\t86:  439, // sigma\n\t87:  768, // Omega\n\t88:  645, // Xi\n\t89:  795, // Psi\n\t90:  611, // Zeta\n\t91:  333, // bracketleft\n\t92:  863, // therefore\n\t93:  333, // bracketright\n\t94:  658, // perpendicular\n\t95:  500, // underscore\n\t96:  500, // radicalex\n\t97:  631, // alpha\n\t98:  549, // beta\n\t99:  549, // chi\n\t100: 494, // delta\n\t101: 439, // epsilon\n\t102: 521, // phi\n\t103: 411, // gamma\n\t104: 603, // eta\n\t105: 329, // iota\n\t106: 603, // phi\n\t107: 549, // kappa\n\t108: 549, // lambda\n\t109: 576, // mu\n\t110: 521, // nu\n\t111: 549, // omicron\n\t112: 549, // pi\n\t113: 521, // theta\n\t114: 549, // rho\n\t115: 603, // sigma\n\t116: 439, // tau\n\t117: 576, // upsilon\n\t118: 713, // omega\n\t119: 686, // omega\n\t120: 493, // xi\n\t121: 686, // psi\n\t122: 494, // zeta\n\t123: 480, // braceleft\n\t124: 200, // bar\n\t125: 480, // braceright\n\t126: 549, // similar\n}\n\n// Times-Bold\nvar timesBoldWidths = []uint16{\n\t32:  250,  // space\n\t33:  333,  // exclam\n\t34:  555,  // quotedbl\n\t35:  500,  // numbersign\n\t36:  500,  // dollar\n\t37:  1000, // percent\n\t38:  833,  // ampersand\n\t39:  333,  // quoteright\n\t40:  333,  // parenleft\n\t41:  333,  // parenright\n\t42:  500,  // asterisk\n\t43:  570,  // plus\n\t44:  250,  // comma\n\t45:  333,  // hyphen\n\t46:  250,  // period\n\t47:  278,  // slash\n\t48:  500,  // zero\n\t49:  500,  // one\n\t50:  500,  // two\n\t51:  500,  // three\n\t52:  500,  // four\n\t53:  500,  // five\n\t54:  500,  // six\n\t55:  500,  // seven\n\t56:  500,  // eight\n\t57:  500,  // nine\n\t58:  333,  // colon\n\t59:  333,  // semicolon\n\t60:  570,  // less\n\t61:  570,  // equal\n\t62:  570,  // greater\n\t63:  500,  // question\n\t64:  930,  // at\n\t65:  722,  // A\n\t66:  667,  // B\n\t67:  722,  // C\n\t68:  722,  // D\n\t69:  667,  // E\n\t70:  611,  // F\n\t71:  778,  // G\n\t72:  778,  // H\n\t73:  389,  // I\n\t74:  500,  // J\n\t75:  778,  // K\n\t76:  667,  // L\n\t77:  944,  // M\n\t78:  722,  // N\n\t79:  778,  // O\n\t80:  611,  // P\n\t81:  778,  // Q\n\t82:  722,  // R\n\t83:  556,  // S\n\t84:  667,  // T\n\t85:  722,  // U\n\t86:  722,  // V\n\t87:  1000, // W\n\t88:  722,  // X\n\t89:  722,  // Y\n\t90:  667,  // Z\n\t91:  333,  // bracketleft\n\t92:  278,  // backslash\n\t93:  333,  // bracketright\n\t94:  581,  // asciicircum\n\t95:  500,  // underscore\n\t96:  333,  // quoteleft\n\t97:  500,  // a\n\t98:  556,  // b\n\t99:  444,  // c\n\t100: 556,  // d\n\t101: 444,  // e\n\t102: 333,  // f\n\t103: 500,  // g\n\t104: 556,  // h\n\t105: 278,  // i\n\t106: 333,  // j\n\t107: 556,  // k\n\t108: 278,  // l\n\t109: 833,  // m\n\t110: 556,  // n\n\t111: 500,  // o\n\t112: 556,  // p\n\t113: 556,  // q\n\t114: 444,  // r\n\t115: 389,  // s\n\t116: 333,  // t\n\t117: 556,  // u\n\t118: 500,  // v\n\t119: 722,  // w\n\t120: 500,  // x\n\t121: 500,  // y\n\t122: 444,  // z\n\t123: 394,  // braceleft\n\t124: 220,  // bar\n\t125: 394,  // braceright\n\t126: 520,  // asciitilde\n}\n\n// Times-BoldItalic\nvar timesBoldItalicWidths = []uint16{\n\t32:  250, // space\n\t33:  389, // exclam\n\t34:  555, // quotedbl\n\t35:  500, // numbersign\n\t36:  500, // dollar\n\t37:  833, // percent\n\t38:  778, // ampersand\n\t39:  333, // quoteright\n\t40:  333, // parenleft\n\t41:  333, // parenright\n\t42:  500, // asterisk\n\t43:  570, // plus\n\t44:  250, // comma\n\t45:  333, // hyphen\n\t46:  250, // period\n\t47:  278, // slash\n\t48:  500, // zero\n\t49:  500, // one\n\t50:  500, // two\n\t51:  500, // three\n\t52:  500, // four\n\t53:  500, // five\n\t54:  500, // six\n\t55:  500, // seven\n\t56:  500, // eight\n\t57:  500, // nine\n\t58:  333, // colon\n\t59:  333, // semicolon\n\t60:  570, // less\n\t61:  570, // equal\n\t62:  570, // greater\n\t63:  500, // question\n\t64:  832, // at\n\t65:  667, // A\n\t66:  667, // B\n\t67:  667, // C\n\t68:  722, // D\n\t69:  667, // E\n\t70:  667, // F\n\t71:  722, // G\n\t72:  778, // H\n\t73:  389, // I\n\t74:  500, // J\n\t75:  667, // K\n\t76:  611, // L\n\t77:  889, // M\n\t78:  722, // N\n\t79:  722, // O\n\t80:  611, // P\n\t81:  722, // Q\n\t82:  667, // R\n\t83:  556, // S\n\t84:  611, // T\n\t85:  722, // U\n\t86:  667, // V\n\t87:  889, // W\n\t88:  667, // X\n\t89:  611, // Y\n\t90:  611, // Z\n\t91:  333, // bracketleft\n\t92:  278, // backslash\n\t93:  333, // bracketright\n\t94:  570, // asciicircum\n\t95:  500, // underscore\n\t96:  333, // quoteleft\n\t97:  500, // a\n\t98:  500, // b\n\t99:  444, // c\n\t100: 500, // d\n\t101: 444, // e\n\t102: 333, // f\n\t103: 500, // g\n\t104: 556, // h\n\t105: 278, // i\n\t106: 278, // j\n\t107: 500, // k\n\t108: 278, // l\n\t109: 778, // m\n\t110: 556, // n\n\t111: 500, // o\n\t112: 500, // p\n\t113: 500, // q\n\t114: 389, // r\n\t115: 389, // s\n\t116: 278, // t\n\t117: 556, // u\n\t118: 444, // v\n\t119: 667, // w\n\t120: 500, // x\n\t121: 444, // y\n\t122: 389, // z\n\t123: 348, // braceleft\n\t124: 220, // bar\n\t125: 348, // braceright\n\t126: 570, // asciitilde\n}\n\n// Times-Italic\nvar timesItalicWidths = []uint16{\n\t32:  250, // space\n\t33:  333, // exclam\n\t34:  420, // quotedbl\n\t35:  500, // numbersign\n\t36:  500, // dollar\n\t37:  833, // percent\n\t38:  778, // ampersand\n\t39:  333, // quoteright\n\t40:  333, // parenleft\n\t41:  333, // parenright\n\t42:  500, // asterisk\n\t43:  675, // plus\n\t44:  250, // comma\n\t45:  333, // hyphen\n\t46:  250, // period\n\t47:  278, // slash\n\t48:  500, // zero\n\t49:  500, // one\n\t50:  500, // two\n\t51:  500, // three\n\t52:  500, // four\n\t53:  500, // five\n\t54:  500, // six\n\t55:  500, // seven\n\t56:  500, // eight\n\t57:  500, // nine\n\t58:  333, // colon\n\t59:  333, // semicolon\n\t60:  675, // less\n\t61:  675, // equal\n\t62:  675, // greater\n\t63:  500, // question\n\t64:  920, // at\n\t65:  611, // A\n\t66:  611, // B\n\t67:  667, // C\n\t68:  722, // D\n\t69:  611, // E\n\t70:  611, // F\n\t71:  722, // G\n\t72:  722, // H\n\t73:  333, // I\n\t74:  444, // J\n\t75:  667, // K\n\t76:  556, // L\n\t77:  833, // M\n\t78:  667, // N\n\t79:  722, // O\n\t80:  611, // P\n\t81:  722, // Q\n\t82:  611, // R\n\t83:  500, // S\n\t84:  556, // T\n\t85:  722, // U\n\t86:  611, // V\n\t87:  833, // W\n\t88:  611, // X\n\t89:  556, // Y\n\t90:  556, // Z\n\t91:  389, // bracketleft\n\t92:  278, // backslash\n\t93:  389, // bracketright\n\t94:  422, // asciicircum\n\t95:  500, // underscore\n\t96:  333, // quoteleft\n\t97:  500, // a\n\t98:  500, // b\n\t99:  444, // c\n\t100: 500, // d\n\t101: 444, // e\n\t102: 278, // f\n\t103: 500, // g\n\t104: 500, // h\n\t105: 278, // i\n\t106: 278, // j\n\t107: 444, // k\n\t108: 278, // l\n\t109: 722, // m\n\t110: 500, // n\n\t111: 500, // o\n\t112: 500, // p\n\t113: 500, // q\n\t114: 389, // r\n\t115: 389, // s\n\t116: 278, // t\n\t117: 500, // u\n\t118: 444, // v\n\t119: 667, // w\n\t120: 444, // x\n\t121: 444, // y\n\t122: 389, // z\n\t123: 400, // braceleft\n\t124: 275, // bar\n\t125: 400, // braceright\n\t126: 541, // asciitilde\n}\n\n// Times-Roman\nvar timesRomanWidths = []uint16{\n\t32:  250, // space\n\t33:  333, // exclam\n\t34:  408, // quotedbl\n\t35:  500, // numbersign\n\t36:  500, // dollar\n\t37:  833, // percent\n\t38:  778, // ampersand\n\t39:  333, // quoteright\n\t40:  333, // parenleft\n\t41:  333, // parenright\n\t42:  500, // asterisk\n\t43:  564, // plus\n\t44:  250, // comma\n\t45:  333, // hyphen\n\t46:  250, // period\n\t47:  278, // slash\n\t48:  500, // zero\n\t49:  500, // one\n\t50:  500, // two\n\t51:  500, // three\n\t52:  500, // four\n\t53:  500, // five\n\t54:  500, // six\n\t55:  500, // seven\n\t56:  500, // eight\n\t57:  500, // nine\n\t58:  278, // colon\n\t59:  278, // semicolon\n\t60:  564, // less\n\t61:  564, // equal\n\t62:  564, // greater\n\t63:  444, // question\n\t64:  921, // at\n\t65:  722, // A\n\t66:  667, // B\n\t67:  667, // C\n\t68:  722, // D\n\t69:  611, // E\n\t70:  556, // F\n\t71:  722, // G\n\t72:  722, // H\n\t73:  333, // I\n\t74:  389, // J\n\t75:  722, // K\n\t76:  611, // L\n\t77:  889, // M\n\t78:  722, // N\n\t79:  722, // O\n\t80:  556, // P\n\t81:  722, // Q\n\t82:  667, // R\n\t83:  556, // S\n\t84:  611, // T\n\t85:  722, // U\n\t86:  722, // V\n\t87:  944, // W\n\t88:  722, // X\n\t89:  722, // Y\n\t90:  611, // Z\n\t91:  333, // bracketleft\n\t92:  278, // backslash\n\t93:  333, // bracketright\n\t94:  469, // asciicircum\n\t95:  500, // underscore\n\t96:  333, // quoteleft\n\t97:  444, // a\n\t98:  500, // b\n\t99:  444, // c\n\t100: 500, // d\n\t101: 444, // e\n\t102: 333, // f\n\t103: 500, // g\n\t104: 500, // h\n\t105: 278, // i\n\t106: 278, // j\n\t107: 500, // k\n\t108: 278, // l\n\t109: 778, // m\n\t110: 500, // n\n\t111: 500, // o\n\t112: 500, // p\n\t113: 500, // q\n\t114: 333, // r\n\t115: 389, // s\n\t116: 278, // t\n\t117: 500, // u\n\t118: 500, // v\n\t119: 722, // w\n\t120: 500, // x\n\t121: 500, // y\n\t122: 444, // z\n\t123: 480, // braceleft\n\t124: 200, // bar\n\t125: 480, // braceright\n\t126: 541, // asciitilde\n}\n\n// ZapfDingbats\nvar zapfDingbatsWidths = []uint16{\n\t32:  278, // space\n\t33:  974, // a\n\t34:  961, // a\n\t35:  974, // a\n\t36:  980, // a\n\t37:  719, // a\n\t38:  789, // a\n\t39:  790, // a\n\t40:  791, // a\n\t41:  690, // a\n\t42:  960, // a\n\t43:  939, // a\n\t44:  549, // a\n\t45:  855, // a\n\t46:  911, // a\n\t47:  933, // a\n\t48:  911, // a\n\t49:  945, // a\n\t50:  974, // a\n\t51:  755, // a\n\t52:  846, // a\n\t53:  762, // a\n\t54:  761, // a\n\t55:  571, // a\n\t56:  677, // a\n\t57:  763, // a\n\t58:  760, // a\n\t59:  759, // a\n\t60:  754, // a\n\t61:  494, // a\n\t62:  552, // a\n\t63:  537, // a\n\t64:  577, // a\n\t65:  692, // a\n\t66:  786, // a\n\t67:  788, // a\n\t68:  788, // a\n\t69:  790, // a\n\t70:  793, // a\n\t71:  794, // a\n\t72:  816, // a\n\t73:  823, // a\n\t74:  789, // a\n\t75:  841, // a\n\t76:  823, // a\n\t77:  833, // a\n\t78:  816, // a\n\t79:  831, // a\n\t80:  923, // a\n\t81:  744, // a\n\t82:  723, // a\n\t83:  749, // a\n\t84:  790, // a\n\t85:  792, // a\n\t86:  695, // a\n\t87:  776, // a\n\t88:  768, // a\n\t89:  792, // a\n\t90:  759, // a\n\t91:  707, // a\n\t92:  708, // a\n\t93:  682, // a\n\t94:  701, // a\n\t95:  826, // a\n\t96:  815, // a\n\t97:  789, // a\n\t98:  789, // a\n\t99:  707, // a\n\t100: 687, // a\n\t101: 696, // a\n\t102: 689, // a\n\t103: 786, // a\n\t104: 787, // a\n\t105: 713, // a\n\t106: 791, // a\n\t107: 785, // a\n\t108: 791, // a\n\t109: 873, // a\n\t110: 761, // a\n\t111: 762, // a\n\t112: 762, // a\n\t113: 759, // a\n\t114: 759, // a\n\t115: 892, // a\n\t116: 892, // a\n\t117: 788, // a\n\t118: 784, // a\n\t119: 438, // a\n\t120: 138, // a\n\t121: 277, // a\n\t122: 415, // a\n\t123: 392, // a\n\t124: 392, // a\n\t125: 668, // a\n\t126: 668, // a\n\t128: 390, // a\n\t129: 390, // a\n}\n"
  },
  {
    "path": "vendor/bitbucket.org/zombiezen/gopdf/pdf/objects.go",
    "content": "// Copyright (C) 2011, Ross Light\n\npackage pdf\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n)\n\n// name is a PDF name object, which is used as an identifier.\ntype name string\n\nfunc (n name) String() string {\n\treturn string(n)\n}\n\nfunc (n name) marshalPDF(dst []byte) ([]byte, error) {\n\t// TODO: escape characters\n\tdst = append(dst, '/')\n\treturn append(dst, []byte(n)...), nil\n}\n\ntype indirectObject struct {\n\tReference\n\tObject interface{}\n}\n\nconst (\n\tobjectBegin = \" obj\\r\\n\"\n\tobjectEnd   = \"\\r\\nendobj\"\n)\n\nfunc (obj indirectObject) marshalPDF(dst []byte) ([]byte, error) {\n\tvar err error\n\tmn, mg := strconv.FormatUint(uint64(obj.Number), 10), strconv.FormatUint(uint64(obj.Generation), 10)\n\tdst = append(dst, mn...)\n\tdst = append(dst, ' ')\n\tdst = append(dst, mg...)\n\tdst = append(dst, objectBegin...)\n\tif dst, err = marshal(dst, obj.Object); err != nil {\n\t\treturn nil, err\n\t}\n\tdst = append(dst, objectEnd...)\n\treturn dst, nil\n}\n\n// Reference holds a PDF indirect reference.\ntype Reference struct {\n\tNumber     uint\n\tGeneration uint\n}\n\nfunc (ref Reference) marshalPDF(dst []byte) ([]byte, error) {\n\treturn append(dst, fmt.Sprintf(\"%d %d R\", ref.Number, ref.Generation)...), nil\n}\n"
  },
  {
    "path": "vendor/bitbucket.org/zombiezen/gopdf/pdf/pdf.go",
    "content": "// Copyright (C) 2011, Ross Light\n\npackage pdf\n\nimport (\n\t\"image\"\n\t\"io\"\n\t\"strconv\"\n)\n\n// Unit is a device-independent dimensional type.  On a new canvas, this\n// represents 1/72 of an inch.\ntype Unit float32\n\nfunc (unit Unit) String() string {\n\treturn strconv.FormatFloat(float64(unit), 'f', marshalFloatPrec, 32)\n}\n\n// Common unit scales\nconst (\n\tPt   Unit = 1\n\tInch Unit = 72\n\tCm   Unit = 28.35\n)\n\n// Common page sizes\nconst (\n\tUSLetterWidth  Unit = 8.5 * Inch\n\tUSLetterHeight Unit = 11.0 * Inch\n\n\tA4Width  Unit = 21.0 * Cm\n\tA4Height Unit = 29.7 * Cm\n)\n\n// Document provides a high-level drawing interface for the PDF format.\ntype Document struct {\n\tencoder\n\tcatalog *catalog\n\tpages   []indirectObject\n\tfonts   map[name]Reference\n}\n\n// New creates a new document with no pages.\nfunc New() *Document {\n\tdoc := new(Document)\n\tdoc.catalog = &catalog{\n\t\tType: catalogType,\n\t}\n\tdoc.root = doc.add(doc.catalog)\n\tdoc.fonts = make(map[name]Reference, 14)\n\treturn doc\n}\n\n// NewPage creates a new canvas with the given dimensions.\nfunc (doc *Document) NewPage(width, height Unit) *Canvas {\n\tpage := &pageDict{\n\t\tType:     pageType,\n\t\tMediaBox: Rectangle{Point{0, 0}, Point{width, height}},\n\t\tCropBox:  Rectangle{Point{0, 0}, Point{width, height}},\n\t\tResources: resources{\n\t\t\tProcSet: []name{pdfProcSet, textProcSet, imageCProcSet},\n\t\t\tFont:    make(map[name]interface{}),\n\t\t\tXObject: make(map[name]interface{}),\n\t\t},\n\t}\n\tpageRef := doc.add(page)\n\tdoc.pages = append(doc.pages, indirectObject{pageRef, page})\n\n\tstream := newStream(streamFlateDecode)\n\tpage.Contents = doc.add(stream)\n\n\treturn &Canvas{\n\t\tdoc:      doc,\n\t\tpage:     page,\n\t\tref:      pageRef,\n\t\tcontents: stream,\n\t}\n}\n\n// standardFont returns a reference to a standard font dictionary.  If there is\n// no font dictionary for the font in the document yet, it is added\n// automatically.\nfunc (doc *Document) standardFont(fontName name) Reference {\n\tif ref, ok := doc.fonts[fontName]; ok {\n\t\treturn ref\n\t}\n\n\t// TODO: check name is standard?\n\tref := doc.add(standardFontDict{\n\t\tType:     fontType,\n\t\tSubtype:  fontType1Subtype,\n\t\tBaseFont: fontName,\n\t})\n\tdoc.fonts[fontName] = ref\n\treturn ref\n}\n\n// AddImage encodes an image into the document's stream and returns its PDF\n// file reference.  This reference can be used to draw the image multiple times\n// without storing the image multiple times.\nfunc (doc *Document) AddImage(img image.Image) Reference {\n\tbd := img.Bounds()\n\tst := newImageStream(streamFlateDecode, bd.Dx(), bd.Dy())\n\tdefer st.Close()\n\n\tswitch i := img.(type) {\n\tcase *image.RGBA:\n\t\tencodeRGBAStream(st, i)\n\tcase *image.NRGBA:\n\t\tencodeNRGBAStream(st, i)\n\tcase *image.YCbCr:\n\t\tencodeYCbCrStream(st, i)\n\tdefault:\n\t\tencodeImageStream(st, i)\n\t}\n\treturn doc.add(st)\n}\n\n// Encode writes the document to a writer in the PDF format.\nfunc (doc *Document) Encode(w io.Writer) error {\n\tpageRoot := &pageRootNode{\n\t\tType:  pageNodeType,\n\t\tCount: len(doc.pages),\n\t}\n\tdoc.catalog.Pages = doc.add(pageRoot)\n\tfor _, p := range doc.pages {\n\t\tpage := p.Object.(*pageDict)\n\t\tpage.Parent = doc.catalog.Pages\n\t\tpageRoot.Kids = append(pageRoot.Kids, p.Reference)\n\t}\n\n\treturn doc.encoder.encode(w)\n}\n\n// PDF object types\nconst (\n\tcatalogType  name = \"Catalog\"\n\tpageNodeType name = \"Pages\"\n\tpageType     name = \"Page\"\n\tfontType     name = \"Font\"\n\txobjectType  name = \"XObject\"\n)\n\n// PDF object subtypes\nconst (\n\timageSubtype name = \"Image\"\n\n\tfontType1Subtype name = \"Type1\"\n)\n\ntype catalog struct {\n\tType  name\n\tPages Reference\n}\n\ntype pageRootNode struct {\n\tType  name\n\tKids  []Reference\n\tCount int\n}\n\ntype pageNode struct {\n\tType   name\n\tParent Reference\n\tKids   []Reference\n\tCount  int\n}\n\ntype pageDict struct {\n\tType      name\n\tParent    Reference\n\tResources resources\n\tMediaBox  Rectangle\n\tCropBox   Rectangle\n\tContents  Reference\n}\n\n// Point is a 2D point.\ntype Point struct {\n\tX, Y Unit\n}\n\n// A Rectangle defines a rectangle with two points.\ntype Rectangle struct {\n\tMin, Max Point\n}\n\n// Dx returns the rectangle's width.\nfunc (r Rectangle) Dx() Unit {\n\treturn r.Max.X - r.Min.X\n}\n\n// Dy returns the rectangle's height.\nfunc (r Rectangle) Dy() Unit {\n\treturn r.Max.Y - r.Min.Y\n}\n\nfunc (r Rectangle) marshalPDF(dst []byte) ([]byte, error) {\n\tdst = append(dst, '[', ' ')\n\tdst, _ = marshal(dst, r.Min.X)\n\tdst = append(dst, ' ')\n\tdst, _ = marshal(dst, r.Min.Y)\n\tdst = append(dst, ' ')\n\tdst, _ = marshal(dst, r.Max.X)\n\tdst = append(dst, ' ')\n\tdst, _ = marshal(dst, r.Max.Y)\n\tdst = append(dst, ' ', ']')\n\treturn dst, nil\n}\n\ntype resources struct {\n\tProcSet []name\n\tFont    map[name]interface{}\n\tXObject map[name]interface{}\n}\n\n// Predefined procedure sets\nconst (\n\tpdfProcSet    name = \"PDF\"\n\ttextProcSet   name = \"Text\"\n\timageBProcSet name = \"ImageB\"\n\timageCProcSet name = \"ImageC\"\n\timageIProcSet name = \"ImageI\"\n)\n\ntype standardFontDict struct {\n\tType     name\n\tSubtype  name\n\tBaseFont name\n}\n"
  },
  {
    "path": "vendor/bitbucket.org/zombiezen/gopdf/pdf/stream.go",
    "content": "package pdf\n\nimport (\n\t\"bytes\"\n\t\"compress/lzw\"\n\t\"compress/zlib\"\n\t\"io\"\n)\n\nconst (\n\tstreamNoFilter    name = \"\"\n\tstreamLZWDecode   name = \"LZWDecode\"\n\tstreamFlateDecode name = \"FlateDecode\"\n)\n\n// stream is a blob of data stored in a PDF file.\ntype stream struct {\n\tbytes.Buffer\n\twriter io.Writer\n\tfilter name\n}\n\ntype streamInfo struct {\n\tLength int\n\tFilter name `pdf:\",omitempty\"`\n}\n\nfunc newStream(filter name) *stream {\n\tst := new(stream)\n\tst.filter = filter\n\tswitch filter {\n\tcase streamLZWDecode:\n\t\tst.writer = lzw.NewWriter(&st.Buffer, lzw.MSB, 8)\n\tcase streamFlateDecode:\n\t\tst.writer = zlib.NewWriter(&st.Buffer)\n\tdefault:\n\t\t// TODO: warn about bad filter names?\n\t\tst.writer = &st.Buffer\n\t}\n\treturn st\n}\n\nfunc (st *stream) ReadFrom(r io.Reader) (n int64, err error) {\n\treturn io.Copy(st.writer, r)\n}\n\nfunc (st *stream) Write(p []byte) (n int, err error) {\n\treturn st.writer.Write(p)\n}\n\nfunc (st *stream) WriteByte(c byte) error {\n\t_, err := st.writer.Write([]byte{c})\n\treturn err\n}\n\nfunc (st *stream) WriteString(s string) (n int, err error) {\n\treturn io.WriteString(st.writer, s)\n}\n\nfunc (st *stream) Close() error {\n\tif wc, ok := st.writer.(io.WriteCloser); ok {\n\t\treturn wc.Close()\n\t}\n\treturn nil\n}\n\nfunc (st *stream) marshalPDF(dst []byte) ([]byte, error) {\n\treturn marshalStream(dst, streamInfo{\n\t\tLength: st.Len(),\n\t\tFilter: st.filter,\n\t}, st.Bytes())\n}\n\nconst (\n\tstreamBegin = \" stream\\r\\n\"\n\tstreamEnd   = \"\\r\\nendstream\"\n)\n\n// marshalStream encodes a generic stream.  The resulting data encodes the\n// given object and a sequence of bytes.  This function does not enforce any\n// rules about the object being encoded.\nfunc marshalStream(dst []byte, obj interface{}, data []byte) ([]byte, error) {\n\tvar err error\n\tif dst, err = marshal(dst, obj); err != nil {\n\t\treturn nil, err\n\t}\n\tdst = append(dst, streamBegin...)\n\tdst = append(dst, data...)\n\tdst = append(dst, streamEnd...)\n\treturn dst, nil\n}\n"
  },
  {
    "path": "vendor/bitbucket.org/zombiezen/gopdf/pdf/text.go",
    "content": "// Copyright (C) 2011, Ross Light\n\npackage pdf\n\nimport (\n\t\"bytes\"\n)\n\n// Text is a PDF text object.  The zero value is an empty text object.\ntype Text struct {\n\tbuf   bytes.Buffer\n\tfonts map[name]bool\n\n\tx, y        Unit\n\tcurrFont    name\n\tcurrSize    Unit\n\tcurrLeading Unit\n}\n\n// Text adds a string to the text object.\nfunc (text *Text) Text(s string) {\n\twriteCommand(&text.buf, \"Tj\", s)\n\tif widths := getFontWidths(text.currFont); widths != nil {\n\t\ttext.x += computeStringWidth(s, widths, text.currSize)\n\t}\n}\n\nconst defaultLeadingScalar = 1.2\n\n// SetFont changes the current font to a standard font.  This also changes the\n// leading to 1.2 times the font size.\nfunc (text *Text) SetFont(fontName string, size Unit) {\n\tif text.fonts == nil {\n\t\ttext.fonts = make(map[name]bool)\n\t}\n\ttext.fonts[name(fontName)] = true\n\ttext.currFont, text.currSize = name(fontName), size\n\twriteCommand(&text.buf, \"Tf\", name(fontName), size)\n\ttext.SetLeading(size * defaultLeadingScalar)\n}\n\n// SetLeading changes the amount of space between lines.\nfunc (text *Text) SetLeading(leading Unit) {\n\twriteCommand(&text.buf, \"TL\", leading)\n\ttext.currLeading = leading\n}\n\n// NextLine advances the current text position to the next line, based on the\n// current leading.\nfunc (text *Text) NextLine() {\n\twriteCommand(&text.buf, \"T*\")\n\ttext.x = 0\n\ttext.y -= text.currLeading\n}\n\n// NextLineOffset moves the current text position to an offset relative to the\n// beginning of the line.\nfunc (text *Text) NextLineOffset(tx, ty Unit) {\n\twriteCommand(&text.buf, \"Td\", tx, ty)\n\ttext.x = tx\n\ttext.y += ty\n}\n\n// X returns the current x position of the text cursor.\nfunc (text *Text) X() Unit {\n\treturn text.x\n}\n\n// Y returns the current y position of the text cursor.\nfunc (text *Text) Y() Unit {\n\treturn text.y\n}\n\n// Standard 14 fonts\nconst (\n\tCourier            = \"Courier\"\n\tCourierBold        = \"Courier-Bold\"\n\tCourierOblique     = \"Courier-Oblique\"\n\tCourierBoldOblique = \"Courier-BoldOblique\"\n\n\tHelvetica            = \"Helvetica\"\n\tHelveticaBold        = \"Helvetica-Bold\"\n\tHelveticaOblique     = \"Helvetica-Oblique\"\n\tHelveticaBoldOblique = \"Helvetica-BoldOblique\"\n\n\tSymbol = \"Symbol\"\n\n\tTimes           = \"Times-Roman\"\n\tTimesBold       = \"Times-Bold\"\n\tTimesItalic     = \"Times-Italic\"\n\tTimesBoldItalic = \"Times-BoldItalic\"\n\n\tZapfDingbats = \"ZapfDingbats\"\n)\n\nfunc getFontWidths(fontName name) []uint16 {\n\tswitch fontName {\n\tcase Courier:\n\t\treturn courierWidths\n\tcase CourierBold:\n\t\treturn courierBoldWidths\n\tcase CourierOblique:\n\t\treturn courierObliqueWidths\n\tcase CourierBoldOblique:\n\t\treturn courierBoldObliqueWidths\n\tcase Helvetica:\n\t\treturn helveticaWidths\n\tcase HelveticaBold:\n\t\treturn helveticaBoldWidths\n\tcase HelveticaOblique:\n\t\treturn helveticaObliqueWidths\n\tcase HelveticaBoldOblique:\n\t\treturn helveticaBoldObliqueWidths\n\tcase Symbol:\n\t\treturn symbolWidths\n\tcase Times:\n\t\treturn timesRomanWidths\n\tcase TimesBold:\n\t\treturn timesBoldWidths\n\tcase TimesItalic:\n\t\treturn timesItalicWidths\n\tcase TimesBoldItalic:\n\t\treturn timesBoldItalicWidths\n\tcase ZapfDingbats:\n\t\treturn zapfDingbatsWidths\n\t}\n\treturn nil\n}\n\nfunc computeStringWidth(s string, widths []uint16, fontSize Unit) Unit {\n\twidth := Unit(0)\n\tfor _, r := range s {\n\t\tif int(r) < len(widths) {\n\t\t\twidth += Unit(widths[r])\n\t\t}\n\t}\n\treturn width * fontSize / 1000\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/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": "vendor/cloud.google.com/go/cloud.go",
    "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// Package cloud is the root of the packages used to access Google Cloud\n// Services. See https://godoc.org/cloud.google.com/go for a full list\n// of sub-packages.\n//\n// This package documents how to authorize and authenticate the sub packages.\npackage cloud // import \"cloud.google.com/go\"\n"
  },
  {
    "path": "vendor/cloud.google.com/go/compute/metadata/metadata.go",
    "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// Package metadata provides access to Google Compute Engine (GCE)\n// metadata and API service accounts.\n//\n// This package is a wrapper around the GCE metadata service,\n// as documented at https://developers.google.com/compute/docs/metadata.\npackage metadata // import \"cloud.google.com/go/compute/metadata\"\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"net\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"os\"\n\t\"runtime\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/context/ctxhttp\"\n)\n\nconst (\n\t// metadataIP is the documented metadata server IP address.\n\tmetadataIP = \"169.254.169.254\"\n\n\t// metadataHostEnv is the environment variable specifying the\n\t// GCE metadata hostname.  If empty, the default value of\n\t// metadataIP (\"169.254.169.254\") is used instead.\n\t// This is variable name is not defined by any spec, as far as\n\t// I know; it was made up for the Go package.\n\tmetadataHostEnv = \"GCE_METADATA_HOST\"\n\n\tuserAgent = \"gcloud-golang/0.1\"\n)\n\ntype cachedValue struct {\n\tk    string\n\ttrim bool\n\tmu   sync.Mutex\n\tv    string\n}\n\nvar (\n\tprojID  = &cachedValue{k: \"project/project-id\", trim: true}\n\tprojNum = &cachedValue{k: \"project/numeric-project-id\", trim: true}\n\tinstID  = &cachedValue{k: \"instance/id\", trim: true}\n)\n\nvar (\n\tmetaClient = &http.Client{\n\t\tTransport: &http.Transport{\n\t\t\tDial: (&net.Dialer{\n\t\t\t\tTimeout:   2 * time.Second,\n\t\t\t\tKeepAlive: 30 * time.Second,\n\t\t\t}).Dial,\n\t\t\tResponseHeaderTimeout: 2 * time.Second,\n\t\t},\n\t}\n\tsubscribeClient = &http.Client{\n\t\tTransport: &http.Transport{\n\t\t\tDial: (&net.Dialer{\n\t\t\t\tTimeout:   2 * time.Second,\n\t\t\t\tKeepAlive: 30 * time.Second,\n\t\t\t}).Dial,\n\t\t},\n\t}\n)\n\n// NotDefinedError is returned when requested metadata is not defined.\n//\n// The underlying string is the suffix after \"/computeMetadata/v1/\".\n//\n// This error is not returned if the value is defined to be the empty\n// string.\ntype NotDefinedError string\n\nfunc (suffix NotDefinedError) Error() string {\n\treturn fmt.Sprintf(\"metadata: GCE metadata %q not defined\", string(suffix))\n}\n\n// Get returns a value from the metadata service.\n// The suffix is appended to \"http://${GCE_METADATA_HOST}/computeMetadata/v1/\".\n//\n// If the GCE_METADATA_HOST environment variable is not defined, a default of\n// 169.254.169.254 will be used instead.\n//\n// If the requested metadata is not defined, the returned error will\n// be of type NotDefinedError.\nfunc Get(suffix string) (string, error) {\n\tval, _, err := getETag(metaClient, suffix)\n\treturn val, err\n}\n\n// getETag returns a value from the metadata service as well as the associated\n// ETag using the provided client. This func is otherwise equivalent to Get.\nfunc getETag(client *http.Client, suffix string) (value, etag string, err error) {\n\t// Using a fixed IP makes it very difficult to spoof the metadata service in\n\t// a container, which is an important use-case for local testing of cloud\n\t// deployments. To enable spoofing of the metadata service, the environment\n\t// variable GCE_METADATA_HOST is first inspected to decide where metadata\n\t// requests shall go.\n\thost := os.Getenv(metadataHostEnv)\n\tif host == \"\" {\n\t\t// Using 169.254.169.254 instead of \"metadata\" here because Go\n\t\t// binaries built with the \"netgo\" tag and without cgo won't\n\t\t// know the search suffix for \"metadata\" is\n\t\t// \".google.internal\", and this IP address is documented as\n\t\t// being stable anyway.\n\t\thost = metadataIP\n\t}\n\turl := \"http://\" + host + \"/computeMetadata/v1/\" + suffix\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\treq.Header.Set(\"Metadata-Flavor\", \"Google\")\n\treq.Header.Set(\"User-Agent\", userAgent)\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\treturn \"\", \"\", err\n\t}\n\tdefer res.Body.Close()\n\tif res.StatusCode == http.StatusNotFound {\n\t\treturn \"\", \"\", NotDefinedError(suffix)\n\t}\n\tif res.StatusCode != 200 {\n\t\treturn \"\", \"\", fmt.Errorf(\"status code %d trying to fetch %s\", res.StatusCode, url)\n\t}\n\tall, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\treturn \"\", \"\", err\n\t}\n\treturn string(all), res.Header.Get(\"Etag\"), nil\n}\n\nfunc getTrimmed(suffix string) (s string, err error) {\n\ts, err = Get(suffix)\n\ts = strings.TrimSpace(s)\n\treturn\n}\n\nfunc (c *cachedValue) get() (v string, err error) {\n\tdefer c.mu.Unlock()\n\tc.mu.Lock()\n\tif c.v != \"\" {\n\t\treturn c.v, nil\n\t}\n\tif c.trim {\n\t\tv, err = getTrimmed(c.k)\n\t} else {\n\t\tv, err = Get(c.k)\n\t}\n\tif err == nil {\n\t\tc.v = v\n\t}\n\treturn\n}\n\nvar (\n\tonGCEOnce sync.Once\n\tonGCE     bool\n)\n\n// OnGCE reports whether this process is running on Google Compute Engine.\nfunc OnGCE() bool {\n\tonGCEOnce.Do(initOnGCE)\n\treturn onGCE\n}\n\nfunc initOnGCE() {\n\tonGCE = testOnGCE()\n}\n\nfunc testOnGCE() bool {\n\t// The user explicitly said they're on GCE, so trust them.\n\tif os.Getenv(metadataHostEnv) != \"\" {\n\t\treturn true\n\t}\n\n\tctx, cancel := context.WithCancel(context.Background())\n\tdefer cancel()\n\n\tresc := make(chan bool, 2)\n\n\t// Try two strategies in parallel.\n\t// See https://github.com/GoogleCloudPlatform/google-cloud-go/issues/194\n\tgo func() {\n\t\treq, _ := http.NewRequest(\"GET\", \"http://\"+metadataIP, nil)\n\t\treq.Header.Set(\"User-Agent\", userAgent)\n\t\tres, err := ctxhttp.Do(ctx, metaClient, req)\n\t\tif err != nil {\n\t\t\tresc <- false\n\t\t\treturn\n\t\t}\n\t\tdefer res.Body.Close()\n\t\tresc <- res.Header.Get(\"Metadata-Flavor\") == \"Google\"\n\t}()\n\n\tgo func() {\n\t\taddrs, err := net.LookupHost(\"metadata.google.internal\")\n\t\tif err != nil || len(addrs) == 0 {\n\t\t\tresc <- false\n\t\t\treturn\n\t\t}\n\t\tresc <- strsContains(addrs, metadataIP)\n\t}()\n\n\ttryHarder := systemInfoSuggestsGCE()\n\tif tryHarder {\n\t\tres := <-resc\n\t\tif res {\n\t\t\t// The first strategy succeeded, so let's use it.\n\t\t\treturn true\n\t\t}\n\t\t// Wait for either the DNS or metadata server probe to\n\t\t// contradict the other one and say we are running on\n\t\t// GCE. Give it a lot of time to do so, since the system\n\t\t// info already suggests we're running on a GCE BIOS.\n\t\ttimer := time.NewTimer(5 * time.Second)\n\t\tdefer timer.Stop()\n\t\tselect {\n\t\tcase res = <-resc:\n\t\t\treturn res\n\t\tcase <-timer.C:\n\t\t\t// Too slow. Who knows what this system is.\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// There's no hint from the system info that we're running on\n\t// GCE, so use the first probe's result as truth, whether it's\n\t// true or false. The goal here is to optimize for speed for\n\t// users who are NOT running on GCE. We can't assume that\n\t// either a DNS lookup or an HTTP request to a blackholed IP\n\t// address is fast. Worst case this should return when the\n\t// metaClient's Transport.ResponseHeaderTimeout or\n\t// Transport.Dial.Timeout fires (in two seconds).\n\treturn <-resc\n}\n\n// systemInfoSuggestsGCE reports whether the local system (without\n// doing network requests) suggests that we're running on GCE. If this\n// returns true, testOnGCE tries a bit harder to reach its metadata\n// server.\nfunc systemInfoSuggestsGCE() bool {\n\tif runtime.GOOS != \"linux\" {\n\t\t// We don't have any non-Linux clues available, at least yet.\n\t\treturn false\n\t}\n\tslurp, _ := ioutil.ReadFile(\"/sys/class/dmi/id/product_name\")\n\tname := strings.TrimSpace(string(slurp))\n\treturn name == \"Google\" || name == \"Google Compute Engine\"\n}\n\n// Subscribe subscribes to a value from the metadata service.\n// The suffix is appended to \"http://${GCE_METADATA_HOST}/computeMetadata/v1/\".\n// The suffix may contain query parameters.\n//\n// Subscribe calls fn with the latest metadata value indicated by the provided\n// suffix. If the metadata value is deleted, fn is called with the empty string\n// and ok false. Subscribe blocks until fn returns a non-nil error or the value\n// is deleted. Subscribe returns the error value returned from the last call to\n// fn, which may be nil when ok == false.\nfunc Subscribe(suffix string, fn func(v string, ok bool) error) error {\n\tconst failedSubscribeSleep = time.Second * 5\n\n\t// First check to see if the metadata value exists at all.\n\tval, lastETag, err := getETag(subscribeClient, suffix)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif err := fn(val, true); err != nil {\n\t\treturn err\n\t}\n\n\tok := true\n\tif strings.ContainsRune(suffix, '?') {\n\t\tsuffix += \"&wait_for_change=true&last_etag=\"\n\t} else {\n\t\tsuffix += \"?wait_for_change=true&last_etag=\"\n\t}\n\tfor {\n\t\tval, etag, err := getETag(subscribeClient, suffix+url.QueryEscape(lastETag))\n\t\tif err != nil {\n\t\t\tif _, deleted := err.(NotDefinedError); !deleted {\n\t\t\t\ttime.Sleep(failedSubscribeSleep)\n\t\t\t\tcontinue // Retry on other errors.\n\t\t\t}\n\t\t\tok = false\n\t\t}\n\t\tlastETag = etag\n\n\t\tif err := fn(val, ok); err != nil || !ok {\n\t\t\treturn err\n\t\t}\n\t}\n}\n\n// ProjectID returns the current instance's project ID string.\nfunc ProjectID() (string, error) { return projID.get() }\n\n// NumericProjectID returns the current instance's numeric project ID.\nfunc NumericProjectID() (string, error) { return projNum.get() }\n\n// InternalIP returns the instance's primary internal IP address.\nfunc InternalIP() (string, error) {\n\treturn getTrimmed(\"instance/network-interfaces/0/ip\")\n}\n\n// ExternalIP returns the instance's primary external (public) IP address.\nfunc ExternalIP() (string, error) {\n\treturn getTrimmed(\"instance/network-interfaces/0/access-configs/0/external-ip\")\n}\n\n// Hostname returns the instance's hostname. This will be of the form\n// \"<instanceID>.c.<projID>.internal\".\nfunc Hostname() (string, error) {\n\treturn getTrimmed(\"instance/hostname\")\n}\n\n// InstanceTags returns the list of user-defined instance tags,\n// assigned when initially creating a GCE instance.\nfunc InstanceTags() ([]string, error) {\n\tvar s []string\n\tj, err := Get(\"instance/tags\")\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif err := json.NewDecoder(strings.NewReader(j)).Decode(&s); err != nil {\n\t\treturn nil, err\n\t}\n\treturn s, nil\n}\n\n// InstanceID returns the current VM's numeric instance ID.\nfunc InstanceID() (string, error) {\n\treturn instID.get()\n}\n\n// InstanceName returns the current VM's instance ID string.\nfunc InstanceName() (string, error) {\n\thost, err := Hostname()\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn strings.Split(host, \".\")[0], nil\n}\n\n// Zone returns the current VM's zone, such as \"us-central1-b\".\nfunc Zone() (string, error) {\n\tzone, err := getTrimmed(\"instance/zone\")\n\t// zone is of the form \"projects/<projNum>/zones/<zoneName>\".\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn zone[strings.LastIndex(zone, \"/\")+1:], nil\n}\n\n// InstanceAttributes returns the list of user-defined attributes,\n// assigned when initially creating a GCE VM instance. The value of an\n// attribute can be obtained with InstanceAttributeValue.\nfunc InstanceAttributes() ([]string, error) { return lines(\"instance/attributes/\") }\n\n// ProjectAttributes returns the list of user-defined attributes\n// applying to the project as a whole, not just this VM.  The value of\n// an attribute can be obtained with ProjectAttributeValue.\nfunc ProjectAttributes() ([]string, error) { return lines(\"project/attributes/\") }\n\nfunc lines(suffix string) ([]string, error) {\n\tj, err := Get(suffix)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\ts := strings.Split(strings.TrimSpace(j), \"\\n\")\n\tfor i := range s {\n\t\ts[i] = strings.TrimSpace(s[i])\n\t}\n\treturn s, nil\n}\n\n// InstanceAttributeValue returns the value of the provided VM\n// instance attribute.\n//\n// If the requested attribute is not defined, the returned error will\n// be of type NotDefinedError.\n//\n// InstanceAttributeValue may return (\"\", nil) if the attribute was\n// defined to be the empty string.\nfunc InstanceAttributeValue(attr string) (string, error) {\n\treturn Get(\"instance/attributes/\" + attr)\n}\n\n// ProjectAttributeValue returns the value of the provided\n// project attribute.\n//\n// If the requested attribute is not defined, the returned error will\n// be of type NotDefinedError.\n//\n// ProjectAttributeValue may return (\"\", nil) if the attribute was\n// defined to be the empty string.\nfunc ProjectAttributeValue(attr string) (string, error) {\n\treturn Get(\"project/attributes/\" + attr)\n}\n\n// Scopes returns the service account scopes for the given account.\n// The account may be empty or the string \"default\" to use the instance's\n// main account.\nfunc Scopes(serviceAccount string) ([]string, error) {\n\tif serviceAccount == \"\" {\n\t\tserviceAccount = \"default\"\n\t}\n\treturn lines(\"instance/service-accounts/\" + serviceAccount + \"/scopes\")\n}\n\nfunc strsContains(ss []string, s string) bool {\n\tfor _, v := range ss {\n\t\tif v == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/iam/iam.go",
    "content": "// Copyright 2016 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// Package iam supports the resource-specific operations of Google Cloud\n// IAM (Identity and Access Management) for the Google Cloud Libraries.\n// See https://cloud.google.com/iam for more about IAM.\n//\n// Users of the Google Cloud Libraries will typically not use this package\n// directly. Instead they will begin with some resource that supports IAM, like\n// a pubsub topic, and call its IAM method to get a Handle for that resource.\npackage iam\n\nimport (\n\t\"golang.org/x/net/context\"\n\tpb \"google.golang.org/genproto/googleapis/iam/v1\"\n\t\"google.golang.org/grpc\"\n)\n\n// client abstracts the IAMPolicy API to allow multiple implementations.\ntype client interface {\n\tGet(ctx context.Context, resource string) (*pb.Policy, error)\n\tSet(ctx context.Context, resource string, p *pb.Policy) error\n\tTest(ctx context.Context, resource string, perms []string) ([]string, error)\n}\n\n// grpcClient implements client for the standard gRPC-based IAMPolicy service.\ntype grpcClient struct {\n\tc pb.IAMPolicyClient\n}\n\nfunc (g *grpcClient) Get(ctx context.Context, resource string) (*pb.Policy, error) {\n\tproto, err := g.c.GetIamPolicy(ctx, &pb.GetIamPolicyRequest{Resource: resource})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn proto, nil\n}\nfunc (g *grpcClient) Set(ctx context.Context, resource string, p *pb.Policy) error {\n\t_, err := g.c.SetIamPolicy(ctx, &pb.SetIamPolicyRequest{\n\t\tResource: resource,\n\t\tPolicy:   p,\n\t})\n\treturn err\n}\n\nfunc (g *grpcClient) Test(ctx context.Context, resource string, perms []string) ([]string, error) {\n\tres, err := g.c.TestIamPermissions(ctx, &pb.TestIamPermissionsRequest{\n\t\tResource:    resource,\n\t\tPermissions: perms,\n\t})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn res.Permissions, nil\n}\n\n// A Handle provides IAM operations for a resource.\ntype Handle struct {\n\tc        client\n\tresource string\n}\n\n// InternalNewHandle is for use by the Google Cloud Libraries only.\n//\n// InternalNewHandle returns a Handle for resource.\n// The conn parameter refers to a server that must support the IAMPolicy service.\nfunc InternalNewHandle(conn *grpc.ClientConn, resource string) *Handle {\n\treturn InternalNewHandleClient(&grpcClient{c: pb.NewIAMPolicyClient(conn)}, resource)\n}\n\n// InternalNewHandleClient is for use by the Google Cloud Libraries only.\n//\n// InternalNewHandleClient returns a Handle for resource using the given\n// client implementation.\nfunc InternalNewHandleClient(c client, resource string) *Handle {\n\treturn &Handle{\n\t\tc:        c,\n\t\tresource: resource,\n\t}\n}\n\n// Policy retrieves the IAM policy for the resource.\nfunc (h *Handle) Policy(ctx context.Context) (*Policy, error) {\n\tproto, err := h.c.Get(ctx, h.resource)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &Policy{InternalProto: proto}, nil\n}\n\n// SetPolicy replaces the resource's current policy with the supplied Policy.\n//\n// If policy was created from a prior call to Get, then the modification will\n// only succeed if the policy has not changed since the Get.\nfunc (h *Handle) SetPolicy(ctx context.Context, policy *Policy) error {\n\treturn h.c.Set(ctx, h.resource, policy.InternalProto)\n}\n\n// TestPermissions returns the subset of permissions that the caller has on the resource.\nfunc (h *Handle) TestPermissions(ctx context.Context, permissions []string) ([]string, error) {\n\treturn h.c.Test(ctx, h.resource, permissions)\n}\n\n// A RoleName is a name representing a collection of permissions.\ntype RoleName string\n\n// Common role names.\nconst (\n\tOwner  RoleName = \"roles/owner\"\n\tEditor RoleName = \"roles/editor\"\n\tViewer RoleName = \"roles/viewer\"\n)\n\nconst (\n\t// AllUsers is a special member that denotes all users, even unauthenticated ones.\n\tAllUsers = \"allUsers\"\n\n\t// AllAuthenticatedUsers is a special member that denotes all authenticated users.\n\tAllAuthenticatedUsers = \"allAuthenticatedUsers\"\n)\n\n// A Policy is a list of Bindings representing roles\n// granted to members.\n//\n// The zero Policy is a valid policy with no bindings.\ntype Policy struct {\n\t// TODO(jba): when type aliases are available, put Policy into an internal package\n\t// and provide an exported alias here.\n\n\t// This field is exported for use by the Google Cloud Libraries only.\n\t// It may become unexported in a future release.\n\tInternalProto *pb.Policy\n}\n\n// Members returns the list of members with the supplied role.\n// The return value should not be modified. Use Add and Remove\n// to modify the members of a role.\nfunc (p *Policy) Members(r RoleName) []string {\n\tb := p.binding(r)\n\tif b == nil {\n\t\treturn nil\n\t}\n\treturn b.Members\n}\n\n// HasRole reports whether member has role r.\nfunc (p *Policy) HasRole(member string, r RoleName) bool {\n\treturn memberIndex(member, p.binding(r)) >= 0\n}\n\n// Add adds member member to role r if it is not already present.\n// A new binding is created if there is no binding for the role.\nfunc (p *Policy) Add(member string, r RoleName) {\n\tb := p.binding(r)\n\tif b == nil {\n\t\tif p.InternalProto == nil {\n\t\t\tp.InternalProto = &pb.Policy{}\n\t\t}\n\t\tp.InternalProto.Bindings = append(p.InternalProto.Bindings, &pb.Binding{\n\t\t\tRole:    string(r),\n\t\t\tMembers: []string{member},\n\t\t})\n\t\treturn\n\t}\n\tif memberIndex(member, b) < 0 {\n\t\tb.Members = append(b.Members, member)\n\t\treturn\n\t}\n}\n\n// Remove removes member from role r if it is present.\nfunc (p *Policy) Remove(member string, r RoleName) {\n\tbi := p.bindingIndex(r)\n\tif bi < 0 {\n\t\treturn\n\t}\n\tbindings := p.InternalProto.Bindings\n\tb := bindings[bi]\n\tmi := memberIndex(member, b)\n\tif mi < 0 {\n\t\treturn\n\t}\n\t// Order doesn't matter for bindings or members, so to remove, move the last item\n\t// into the removed spot and shrink the slice.\n\tif len(b.Members) == 1 {\n\t\t// Remove binding.\n\t\tlast := len(bindings) - 1\n\t\tbindings[bi] = bindings[last]\n\t\tbindings[last] = nil\n\t\tp.InternalProto.Bindings = bindings[:last]\n\t\treturn\n\t}\n\t// Remove member.\n\t// TODO(jba): worry about multiple copies of m?\n\tlast := len(b.Members) - 1\n\tb.Members[mi] = b.Members[last]\n\tb.Members[last] = \"\"\n\tb.Members = b.Members[:last]\n}\n\n// Roles returns the names of all the roles that appear in the Policy.\nfunc (p *Policy) Roles() []RoleName {\n\tif p.InternalProto == nil {\n\t\treturn nil\n\t}\n\tvar rns []RoleName\n\tfor _, b := range p.InternalProto.Bindings {\n\t\trns = append(rns, RoleName(b.Role))\n\t}\n\treturn rns\n}\n\n// binding returns the Binding for the suppied role, or nil if there isn't one.\nfunc (p *Policy) binding(r RoleName) *pb.Binding {\n\ti := p.bindingIndex(r)\n\tif i < 0 {\n\t\treturn nil\n\t}\n\treturn p.InternalProto.Bindings[i]\n}\n\nfunc (p *Policy) bindingIndex(r RoleName) int {\n\tif p.InternalProto == nil {\n\t\treturn -1\n\t}\n\tfor i, b := range p.InternalProto.Bindings {\n\t\tif b.Role == string(r) {\n\t\t\treturn i\n\t\t}\n\t}\n\treturn -1\n}\n\n// memberIndex returns the index of m in b's Members, or -1 if not found.\nfunc memberIndex(m string, b *pb.Binding) int {\n\tif b == nil {\n\t\treturn -1\n\t}\n\tfor i, mm := range b.Members {\n\t\tif mm == m {\n\t\t\treturn i\n\t\t}\n\t}\n\treturn -1\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/internal/annotate.go",
    "content": "// Copyright 2017 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\npackage internal\n\nimport (\n\t\"fmt\"\n\n\t\"google.golang.org/api/googleapi\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// Annotate prepends msg to the error message in err, attempting\n// to preserve other information in err, like an error code.\n//\n// Annotate panics if err is nil.\n//\n// Annotate knows about these error types:\n// - \"google.golang.org/grpc/status\".Status\n// - \"google.golang.org/api/googleapi\".Error\n// If the error is not one of these types, Annotate behaves\n// like\n//   fmt.Errorf(\"%s: %v\", msg, err)\nfunc Annotate(err error, msg string) error {\n\tif err == nil {\n\t\tpanic(\"Annotate called with nil\")\n\t}\n\tif s, ok := status.FromError(err); ok {\n\t\tp := s.Proto()\n\t\tp.Message = msg + \": \" + p.Message\n\t\treturn status.ErrorProto(p)\n\t}\n\tif g, ok := err.(*googleapi.Error); ok {\n\t\tg.Message = msg + \": \" + g.Message\n\t\treturn g\n\t}\n\treturn fmt.Errorf(\"%s: %v\", msg, err)\n}\n\n// Annotatef uses format and args to format a string, then calls Annotate.\nfunc Annotatef(err error, format string, args ...interface{}) error {\n\treturn Annotate(err, fmt.Sprintf(format, args...))\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/internal/optional/optional.go",
    "content": "// Copyright 2016 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// Package optional provides versions of primitive types that can\n// be nil. These are useful in methods that update some of an API object's\n// fields.\npackage optional\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"time\"\n)\n\ntype (\n\t// Bool is either a bool or nil.\n\tBool interface{}\n\n\t// String is either a string or nil.\n\tString interface{}\n\n\t// Int is either an int or nil.\n\tInt interface{}\n\n\t// Uint is either a uint or nil.\n\tUint interface{}\n\n\t// Float64 is either a float64 or nil.\n\tFloat64 interface{}\n\n\t// Duration is either a time.Duration or nil.\n\tDuration interface{}\n)\n\n// ToBool returns its argument as a bool.\n// It panics if its argument is nil or not a bool.\nfunc ToBool(v Bool) bool {\n\tx, ok := v.(bool)\n\tif !ok {\n\t\tdoPanic(\"Bool\", v)\n\t}\n\treturn x\n}\n\n// ToString returns its argument as a string.\n// It panics if its argument is nil or not a string.\nfunc ToString(v String) string {\n\tx, ok := v.(string)\n\tif !ok {\n\t\tdoPanic(\"String\", v)\n\t}\n\treturn x\n}\n\n// ToInt returns its argument as an int.\n// It panics if its argument is nil or not an int.\nfunc ToInt(v Int) int {\n\tx, ok := v.(int)\n\tif !ok {\n\t\tdoPanic(\"Int\", v)\n\t}\n\treturn x\n}\n\n// ToUint returns its argument as a uint.\n// It panics if its argument is nil or not a uint.\nfunc ToUint(v Uint) uint {\n\tx, ok := v.(uint)\n\tif !ok {\n\t\tdoPanic(\"Uint\", v)\n\t}\n\treturn x\n}\n\n// ToFloat64 returns its argument as a float64.\n// It panics if its argument is nil or not a float64.\nfunc ToFloat64(v Float64) float64 {\n\tx, ok := v.(float64)\n\tif !ok {\n\t\tdoPanic(\"Float64\", v)\n\t}\n\treturn x\n}\n\n// ToDuration returns its argument as a time.Duration.\n// It panics if its argument is nil or not a time.Duration.\nfunc ToDuration(v Duration) time.Duration {\n\tx, ok := v.(time.Duration)\n\tif !ok {\n\t\tdoPanic(\"Duration\", v)\n\t}\n\treturn x\n}\n\nfunc doPanic(capType string, v interface{}) {\n\tpanic(fmt.Sprintf(\"optional.%s value should be %s, got %T\", capType, strings.ToLower(capType), v))\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/internal/retry.go",
    "content": "// Copyright 2016 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\npackage internal\n\nimport (\n\t\"time\"\n\n\tgax \"github.com/googleapis/gax-go\"\n\n\t\"golang.org/x/net/context\"\n)\n\n// Retry calls the supplied function f repeatedly according to the provided\n// backoff parameters. It returns when one of the following occurs:\n// When f's first return value is true, Retry immediately returns with f's second\n// return value.\n// When the provided context is done, Retry returns with an error that\n// includes both ctx.Error() and the last error returned by f.\nfunc Retry(ctx context.Context, bo gax.Backoff, f func() (stop bool, err error)) error {\n\treturn retry(ctx, bo, f, gax.Sleep)\n}\n\nfunc retry(ctx context.Context, bo gax.Backoff, f func() (stop bool, err error),\n\tsleep func(context.Context, time.Duration) error) error {\n\tvar lastErr error\n\tfor {\n\t\tstop, err := f()\n\t\tif stop {\n\t\t\treturn err\n\t\t}\n\t\t// Remember the last \"real\" error from f.\n\t\tif err != nil && err != context.Canceled && err != context.DeadlineExceeded {\n\t\t\tlastErr = err\n\t\t}\n\t\tp := bo.Pause()\n\t\tif cerr := sleep(ctx, p); cerr != nil {\n\t\t\tif lastErr != nil {\n\t\t\t\treturn Annotatef(lastErr, \"retry failed with %v; last error\", cerr)\n\t\t\t}\n\t\t\treturn cerr\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/internal/version/version.go",
    "content": "// Copyright 2016 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//go:generate ./update_version.sh\n\n// Package version contains version information for Google Cloud Client\n// Libraries for Go, as reported in request headers.\npackage version\n\nimport (\n\t\"runtime\"\n\t\"strings\"\n\t\"unicode\"\n)\n\n// Repo is the current version of the client libraries in this\n// repo. It should be a date in YYYYMMDD format.\nconst Repo = \"20171211\"\n\n// Go returns the Go runtime version. The returned string\n// has no whitespace.\nfunc Go() string {\n\treturn goVersion\n}\n\nvar goVersion = goVer(runtime.Version())\n\nconst develPrefix = \"devel +\"\n\nfunc goVer(s string) string {\n\tif strings.HasPrefix(s, develPrefix) {\n\t\ts = s[len(develPrefix):]\n\t\tif p := strings.IndexFunc(s, unicode.IsSpace); p >= 0 {\n\t\t\ts = s[:p]\n\t\t}\n\t\treturn s\n\t}\n\n\tif strings.HasPrefix(s, \"go1\") {\n\t\ts = s[2:]\n\t\tvar prerelease string\n\t\tif p := strings.IndexFunc(s, notSemverRune); p >= 0 {\n\t\t\ts, prerelease = s[:p], s[p:]\n\t\t}\n\t\tif strings.HasSuffix(s, \".\") {\n\t\t\ts += \"0\"\n\t\t} else if strings.Count(s, \".\") < 2 {\n\t\t\ts += \".0\"\n\t\t}\n\t\tif prerelease != \"\" {\n\t\t\ts += \"-\" + prerelease\n\t\t}\n\t\treturn s\n\t}\n\treturn \"\"\n}\n\nfunc notSemverRune(r rune) bool {\n\treturn strings.IndexRune(\"0123456789.\", r) < 0\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/acl.go",
    "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\npackage storage\n\nimport (\n\t\"net/http\"\n\t\"reflect\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/api/googleapi\"\n\traw \"google.golang.org/api/storage/v1\"\n)\n\n// ACLRole is the level of access to grant.\ntype ACLRole string\n\nconst (\n\tRoleOwner  ACLRole = \"OWNER\"\n\tRoleReader ACLRole = \"READER\"\n\tRoleWriter ACLRole = \"WRITER\"\n)\n\n// ACLEntity refers to a user or group.\n// They are sometimes referred to as grantees.\n//\n// It could be in the form of:\n// \"user-<userId>\", \"user-<email>\", \"group-<groupId>\", \"group-<email>\",\n// \"domain-<domain>\" and \"project-team-<projectId>\".\n//\n// Or one of the predefined constants: AllUsers, AllAuthenticatedUsers.\ntype ACLEntity string\n\nconst (\n\tAllUsers              ACLEntity = \"allUsers\"\n\tAllAuthenticatedUsers ACLEntity = \"allAuthenticatedUsers\"\n)\n\n// ACLRule represents a grant for a role to an entity (user, group or team) for a Google Cloud Storage object or bucket.\ntype ACLRule struct {\n\tEntity ACLEntity\n\tRole   ACLRole\n}\n\n// ACLHandle provides operations on an access control list for a Google Cloud Storage bucket or object.\ntype ACLHandle struct {\n\tc           *Client\n\tbucket      string\n\tobject      string\n\tisDefault   bool\n\tuserProject string // for requester-pays buckets\n}\n\n// Delete permanently deletes the ACL entry for the given entity.\nfunc (a *ACLHandle) Delete(ctx context.Context, entity ACLEntity) error {\n\tif a.object != \"\" {\n\t\treturn a.objectDelete(ctx, entity)\n\t}\n\tif a.isDefault {\n\t\treturn a.bucketDefaultDelete(ctx, entity)\n\t}\n\treturn a.bucketDelete(ctx, entity)\n}\n\n// Set sets the permission level for the given entity.\nfunc (a *ACLHandle) Set(ctx context.Context, entity ACLEntity, role ACLRole) error {\n\tif a.object != \"\" {\n\t\treturn a.objectSet(ctx, entity, role, false)\n\t}\n\tif a.isDefault {\n\t\treturn a.objectSet(ctx, entity, role, true)\n\t}\n\treturn a.bucketSet(ctx, entity, role)\n}\n\n// List retrieves ACL entries.\nfunc (a *ACLHandle) List(ctx context.Context) ([]ACLRule, error) {\n\tif a.object != \"\" {\n\t\treturn a.objectList(ctx)\n\t}\n\tif a.isDefault {\n\t\treturn a.bucketDefaultList(ctx)\n\t}\n\treturn a.bucketList(ctx)\n}\n\nfunc (a *ACLHandle) bucketDefaultList(ctx context.Context) ([]ACLRule, error) {\n\tvar acls *raw.ObjectAccessControls\n\tvar err error\n\terr = runWithRetry(ctx, func() error {\n\t\treq := a.c.raw.DefaultObjectAccessControls.List(a.bucket)\n\t\ta.configureCall(req, ctx)\n\t\tacls, err = req.Do()\n\t\treturn err\n\t})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn toACLRules(acls.Items), nil\n}\n\nfunc (a *ACLHandle) bucketDefaultDelete(ctx context.Context, entity ACLEntity) error {\n\treturn runWithRetry(ctx, func() error {\n\t\treq := a.c.raw.DefaultObjectAccessControls.Delete(a.bucket, string(entity))\n\t\ta.configureCall(req, ctx)\n\t\treturn req.Do()\n\t})\n}\n\nfunc (a *ACLHandle) bucketList(ctx context.Context) ([]ACLRule, error) {\n\tvar acls *raw.BucketAccessControls\n\tvar err error\n\terr = runWithRetry(ctx, func() error {\n\t\treq := a.c.raw.BucketAccessControls.List(a.bucket)\n\t\ta.configureCall(req, ctx)\n\t\tacls, err = req.Do()\n\t\treturn err\n\t})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tr := make([]ACLRule, len(acls.Items))\n\tfor i, v := range acls.Items {\n\t\tr[i].Entity = ACLEntity(v.Entity)\n\t\tr[i].Role = ACLRole(v.Role)\n\t}\n\treturn r, nil\n}\n\nfunc (a *ACLHandle) bucketSet(ctx context.Context, entity ACLEntity, role ACLRole) error {\n\tacl := &raw.BucketAccessControl{\n\t\tBucket: a.bucket,\n\t\tEntity: string(entity),\n\t\tRole:   string(role),\n\t}\n\terr := runWithRetry(ctx, func() error {\n\t\treq := a.c.raw.BucketAccessControls.Update(a.bucket, string(entity), acl)\n\t\ta.configureCall(req, ctx)\n\t\t_, err := req.Do()\n\t\treturn err\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc (a *ACLHandle) bucketDelete(ctx context.Context, entity ACLEntity) error {\n\terr := runWithRetry(ctx, func() error {\n\t\treq := a.c.raw.BucketAccessControls.Delete(a.bucket, string(entity))\n\t\ta.configureCall(req, ctx)\n\t\treturn req.Do()\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc (a *ACLHandle) objectList(ctx context.Context) ([]ACLRule, error) {\n\tvar acls *raw.ObjectAccessControls\n\tvar err error\n\terr = runWithRetry(ctx, func() error {\n\t\treq := a.c.raw.ObjectAccessControls.List(a.bucket, a.object)\n\t\ta.configureCall(req, ctx)\n\t\tacls, err = req.Do()\n\t\treturn err\n\t})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn toACLRules(acls.Items), nil\n}\n\nfunc (a *ACLHandle) objectSet(ctx context.Context, entity ACLEntity, role ACLRole, isBucketDefault bool) error {\n\ttype setRequest interface {\n\t\tDo(opts ...googleapi.CallOption) (*raw.ObjectAccessControl, error)\n\t\tHeader() http.Header\n\t}\n\n\tacl := &raw.ObjectAccessControl{\n\t\tBucket: a.bucket,\n\t\tEntity: string(entity),\n\t\tRole:   string(role),\n\t}\n\tvar req setRequest\n\tif isBucketDefault {\n\t\treq = a.c.raw.DefaultObjectAccessControls.Update(a.bucket, string(entity), acl)\n\t} else {\n\t\treq = a.c.raw.ObjectAccessControls.Update(a.bucket, a.object, string(entity), acl)\n\t}\n\ta.configureCall(req, ctx)\n\treturn runWithRetry(ctx, func() error {\n\t\t_, err := req.Do()\n\t\treturn err\n\t})\n}\n\nfunc (a *ACLHandle) objectDelete(ctx context.Context, entity ACLEntity) error {\n\treturn runWithRetry(ctx, func() error {\n\t\treq := a.c.raw.ObjectAccessControls.Delete(a.bucket, a.object, string(entity))\n\t\ta.configureCall(req, ctx)\n\t\treturn req.Do()\n\t})\n}\n\nfunc (a *ACLHandle) configureCall(call interface {\n\tHeader() http.Header\n}, ctx context.Context) {\n\tvc := reflect.ValueOf(call)\n\tvc.MethodByName(\"Context\").Call([]reflect.Value{reflect.ValueOf(ctx)})\n\tif a.userProject != \"\" {\n\t\tvc.MethodByName(\"UserProject\").Call([]reflect.Value{reflect.ValueOf(a.userProject)})\n\t}\n\tsetClientHeader(call.Header())\n}\n\nfunc toACLRules(items []*raw.ObjectAccessControl) []ACLRule {\n\tr := make([]ACLRule, 0, len(items))\n\tfor _, item := range items {\n\t\tr = append(r, ACLRule{Entity: ACLEntity(item.Entity), Role: ACLRole(item.Role)})\n\t}\n\treturn r\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/bucket.go",
    "content": "// Copyright 2014 Google Inc. LiveAndArchived 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\npackage storage\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"reflect\"\n\t\"time\"\n\n\t\"cloud.google.com/go/internal/optional\"\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/api/googleapi\"\n\t\"google.golang.org/api/iterator\"\n\traw \"google.golang.org/api/storage/v1\"\n)\n\n// BucketHandle provides operations on a Google Cloud Storage bucket.\n// Use Client.Bucket to get a handle.\ntype BucketHandle struct {\n\tc                *Client\n\tname             string\n\tacl              ACLHandle\n\tdefaultObjectACL ACLHandle\n\tconds            *BucketConditions\n\tuserProject      string // project for Requester Pays buckets\n}\n\n// Bucket returns a BucketHandle, which provides operations on the named bucket.\n// This call does not perform any network operations.\n//\n// The supplied name must contain only lowercase letters, numbers, dashes,\n// underscores, and dots. The full specification for valid bucket names can be\n// found at:\n//   https://cloud.google.com/storage/docs/bucket-naming\nfunc (c *Client) Bucket(name string) *BucketHandle {\n\treturn &BucketHandle{\n\t\tc:    c,\n\t\tname: name,\n\t\tacl: ACLHandle{\n\t\t\tc:      c,\n\t\t\tbucket: name,\n\t\t},\n\t\tdefaultObjectACL: ACLHandle{\n\t\t\tc:         c,\n\t\t\tbucket:    name,\n\t\t\tisDefault: true,\n\t\t},\n\t}\n}\n\n// Create creates the Bucket in the project.\n// If attrs is nil the API defaults will be used.\nfunc (b *BucketHandle) Create(ctx context.Context, projectID string, attrs *BucketAttrs) error {\n\tvar bkt *raw.Bucket\n\tif attrs != nil {\n\t\tbkt = attrs.toRawBucket()\n\t} else {\n\t\tbkt = &raw.Bucket{}\n\t}\n\tbkt.Name = b.name\n\t// If there is lifecycle information but no location, explicitly set\n\t// the location. This is a GCS quirk/bug.\n\tif bkt.Location == \"\" && bkt.Lifecycle != nil {\n\t\tbkt.Location = \"US\"\n\t}\n\treq := b.c.raw.Buckets.Insert(projectID, bkt)\n\tsetClientHeader(req.Header())\n\treturn runWithRetry(ctx, func() error { _, err := req.Context(ctx).Do(); return err })\n}\n\n// Delete deletes the Bucket.\nfunc (b *BucketHandle) Delete(ctx context.Context) error {\n\treq, err := b.newDeleteCall()\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn runWithRetry(ctx, func() error { return req.Context(ctx).Do() })\n}\n\nfunc (b *BucketHandle) newDeleteCall() (*raw.BucketsDeleteCall, error) {\n\treq := b.c.raw.Buckets.Delete(b.name)\n\tsetClientHeader(req.Header())\n\tif err := applyBucketConds(\"BucketHandle.Delete\", b.conds, req); err != nil {\n\t\treturn nil, err\n\t}\n\tif b.userProject != \"\" {\n\t\treq.UserProject(b.userProject)\n\t}\n\treturn req, nil\n}\n\n// ACL returns an ACLHandle, which provides access to the bucket's access control list.\n// This controls who can list, create or overwrite the objects in a bucket.\n// This call does not perform any network operations.\nfunc (b *BucketHandle) ACL() *ACLHandle {\n\treturn &b.acl\n}\n\n// DefaultObjectACL returns an ACLHandle, which provides access to the bucket's default object ACLs.\n// These ACLs are applied to newly created objects in this bucket that do not have a defined ACL.\n// This call does not perform any network operations.\nfunc (b *BucketHandle) DefaultObjectACL() *ACLHandle {\n\treturn &b.defaultObjectACL\n}\n\n// Object returns an ObjectHandle, which provides operations on the named object.\n// This call does not perform any network operations.\n//\n// name must consist entirely of valid UTF-8-encoded runes. The full specification\n// for valid object names can be found at:\n//   https://cloud.google.com/storage/docs/bucket-naming\nfunc (b *BucketHandle) Object(name string) *ObjectHandle {\n\treturn &ObjectHandle{\n\t\tc:      b.c,\n\t\tbucket: b.name,\n\t\tobject: name,\n\t\tacl: ACLHandle{\n\t\t\tc:           b.c,\n\t\t\tbucket:      b.name,\n\t\t\tobject:      name,\n\t\t\tuserProject: b.userProject,\n\t\t},\n\t\tgen:         -1,\n\t\tuserProject: b.userProject,\n\t}\n}\n\n// Attrs returns the metadata for the bucket.\nfunc (b *BucketHandle) Attrs(ctx context.Context) (*BucketAttrs, error) {\n\treq, err := b.newGetCall()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tvar resp *raw.Bucket\n\terr = runWithRetry(ctx, func() error {\n\t\tresp, err = req.Context(ctx).Do()\n\t\treturn err\n\t})\n\tif e, ok := err.(*googleapi.Error); ok && e.Code == http.StatusNotFound {\n\t\treturn nil, ErrBucketNotExist\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn newBucket(resp), nil\n}\n\nfunc (b *BucketHandle) newGetCall() (*raw.BucketsGetCall, error) {\n\treq := b.c.raw.Buckets.Get(b.name).Projection(\"full\")\n\tsetClientHeader(req.Header())\n\tif err := applyBucketConds(\"BucketHandle.Attrs\", b.conds, req); err != nil {\n\t\treturn nil, err\n\t}\n\tif b.userProject != \"\" {\n\t\treq.UserProject(b.userProject)\n\t}\n\treturn req, nil\n}\n\nfunc (b *BucketHandle) Update(ctx context.Context, uattrs BucketAttrsToUpdate) (*BucketAttrs, error) {\n\treq, err := b.newPatchCall(&uattrs)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\t// TODO(jba): retry iff metagen is set?\n\trb, err := req.Context(ctx).Do()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn newBucket(rb), nil\n}\n\nfunc (b *BucketHandle) newPatchCall(uattrs *BucketAttrsToUpdate) (*raw.BucketsPatchCall, error) {\n\trb := uattrs.toRawBucket()\n\treq := b.c.raw.Buckets.Patch(b.name, rb).Projection(\"full\")\n\tsetClientHeader(req.Header())\n\tif err := applyBucketConds(\"BucketHandle.Update\", b.conds, req); err != nil {\n\t\treturn nil, err\n\t}\n\tif b.userProject != \"\" {\n\t\treq.UserProject(b.userProject)\n\t}\n\treturn req, nil\n}\n\n// BucketAttrs represents the metadata for a Google Cloud Storage bucket.\n// Read-only fields are ignored by BucketHandle.Create.\ntype BucketAttrs struct {\n\t// Name is the name of the bucket.\n\t// This field is read-only.\n\tName string\n\n\t// ACL is the list of access control rules on the bucket.\n\tACL []ACLRule\n\n\t// DefaultObjectACL is the list of access controls to\n\t// apply to new objects when no object ACL is provided.\n\tDefaultObjectACL []ACLRule\n\n\t// Location is the location of the bucket. It defaults to \"US\".\n\tLocation string\n\n\t// MetaGeneration is the metadata generation of the bucket.\n\t// This field is read-only.\n\tMetaGeneration int64\n\n\t// StorageClass is the default storage class of the bucket. This defines\n\t// how objects in the bucket are stored and determines the SLA\n\t// and the cost of storage. Typical values are \"MULTI_REGIONAL\",\n\t// \"REGIONAL\", \"NEARLINE\", \"COLDLINE\", \"STANDARD\" and\n\t// \"DURABLE_REDUCED_AVAILABILITY\". Defaults to \"STANDARD\", which\n\t// is equivalent to \"MULTI_REGIONAL\" or \"REGIONAL\" depending on\n\t// the bucket's location settings.\n\tStorageClass string\n\n\t// Created is the creation time of the bucket.\n\t// This field is read-only.\n\tCreated time.Time\n\n\t// VersioningEnabled reports whether this bucket has versioning enabled.\n\tVersioningEnabled bool\n\n\t// Labels are the bucket's labels.\n\tLabels map[string]string\n\n\t// RequesterPays reports whether the bucket is a Requester Pays bucket.\n\t// Clients performing operations on Requester Pays buckets must provide\n\t// a user project (see BucketHandle.UserProject), which will be billed\n\t// for the operations.\n\tRequesterPays bool\n\t// Lifecycle is the lifecycle configuration for objects in the bucket.\n\tLifecycle Lifecycle\n}\n\n// Lifecycle is the lifecycle configuration for objects in the bucket.\ntype Lifecycle struct {\n\tRules []LifecycleRule\n}\n\nconst (\n\t// RFC3339 date with only the date segment, used for CreatedBefore in LifecycleRule.\n\trfc3339Date = \"2006-01-02\"\n\n\t// DeleteAction is a lifecycle action that deletes a live and/or archived\n\t// objects. Takes precendence over SetStorageClass actions.\n\tDeleteAction = \"Delete\"\n\n\t// SetStorageClassAction changes the storage class of live and/or archived\n\t// objects.\n\tSetStorageClassAction = \"SetStorageClass\"\n)\n\n// LifecycleRule is a lifecycle configuration rule.\n//\n// When all the configured conditions are met by an object in the bucket, the\n// configured action will automatically be taken on that object.\ntype LifecycleRule struct {\n\t// Action is the action to take when all of the associated conditions are\n\t// met.\n\tAction LifecycleAction\n\n\t// Condition is the set of conditions that must be met for the associated\n\t// action to be taken.\n\tCondition LifecycleCondition\n}\n\n// LifecycleAction is a lifecycle configuration action.\ntype LifecycleAction struct {\n\t// Type is the type of action to take on matching objects.\n\t//\n\t// Acceptable values are \"Delete\" to delete matching objects and\n\t// \"SetStorageClass\" to set the storage class defined in StorageClass on\n\t// matching objects.\n\tType string\n\n\t// StorageClass is the storage class to set on matching objects if the Action\n\t// is \"SetStorageClass\".\n\tStorageClass string\n}\n\n// Liveness specifies whether the object is live or not.\ntype Liveness int\n\nconst (\n\t// LiveAndArchived includes both live and archived objects.\n\tLiveAndArchived Liveness = iota\n\t// Live specifies that the object is still live.\n\tLive\n\t// Archived specifies that the object is archived.\n\tArchived\n)\n\n// LifecycleCondition is a set of conditions used to match objects and take an\n// action automatically.\n//\n// All configured conditions must be met for the associated action to be taken.\ntype LifecycleCondition struct {\n\t// AgeInDays is the age of the object in days.\n\tAgeInDays int64\n\n\t// CreatedBefore is the time the object was created.\n\t//\n\t// This condition is satisfied when an object is created before midnight of\n\t// the specified date in UTC.\n\tCreatedBefore time.Time\n\n\t// Liveness specifies the object's liveness. Relevant only for versioned objects\n\tLiveness Liveness\n\n\t// MatchesStorageClasses is the condition matching the object's storage\n\t// class.\n\t//\n\t// Values include \"MULTI_REGIONAL\", \"REGIONAL\", \"NEARLINE\", \"COLDLINE\",\n\t// \"STANDARD\", and \"DURABLE_REDUCED_AVAILABILITY\".\n\tMatchesStorageClasses []string\n\n\t// NumNewerVersions is the condition matching objects with a number of newer versions.\n\t//\n\t// If the value is N, this condition is satisfied when there are at least N\n\t// versions (including the live version) newer than this version of the\n\t// object.\n\tNumNewerVersions int64\n}\n\nfunc newBucket(b *raw.Bucket) *BucketAttrs {\n\tif b == nil {\n\t\treturn nil\n\t}\n\tbucket := &BucketAttrs{\n\t\tName:              b.Name,\n\t\tLocation:          b.Location,\n\t\tMetaGeneration:    b.Metageneration,\n\t\tStorageClass:      b.StorageClass,\n\t\tCreated:           convertTime(b.TimeCreated),\n\t\tVersioningEnabled: b.Versioning != nil && b.Versioning.Enabled,\n\t\tLabels:            b.Labels,\n\t\tRequesterPays:     b.Billing != nil && b.Billing.RequesterPays,\n\t\tLifecycle:         toLifecycle(b.Lifecycle),\n\t}\n\tacl := make([]ACLRule, len(b.Acl))\n\tfor i, rule := range b.Acl {\n\t\tacl[i] = ACLRule{\n\t\t\tEntity: ACLEntity(rule.Entity),\n\t\t\tRole:   ACLRole(rule.Role),\n\t\t}\n\t}\n\tbucket.ACL = acl\n\tobjACL := make([]ACLRule, len(b.DefaultObjectAcl))\n\tfor i, rule := range b.DefaultObjectAcl {\n\t\tobjACL[i] = ACLRule{\n\t\t\tEntity: ACLEntity(rule.Entity),\n\t\t\tRole:   ACLRole(rule.Role),\n\t\t}\n\t}\n\tbucket.DefaultObjectACL = objACL\n\treturn bucket\n}\n\n// toRawBucket copies the editable attribute from b to the raw library's Bucket type.\nfunc (b *BucketAttrs) toRawBucket() *raw.Bucket {\n\tvar acl []*raw.BucketAccessControl\n\tif len(b.ACL) > 0 {\n\t\tacl = make([]*raw.BucketAccessControl, len(b.ACL))\n\t\tfor i, rule := range b.ACL {\n\t\t\tacl[i] = &raw.BucketAccessControl{\n\t\t\t\tEntity: string(rule.Entity),\n\t\t\t\tRole:   string(rule.Role),\n\t\t\t}\n\t\t}\n\t}\n\tdACL := toRawObjectACL(b.DefaultObjectACL)\n\t// Copy label map.\n\tvar labels map[string]string\n\tif len(b.Labels) > 0 {\n\t\tlabels = make(map[string]string, len(b.Labels))\n\t\tfor k, v := range b.Labels {\n\t\t\tlabels[k] = v\n\t\t}\n\t}\n\t// Ignore VersioningEnabled if it is false. This is OK because\n\t// we only call this method when creating a bucket, and by default\n\t// new buckets have versioning off.\n\tvar v *raw.BucketVersioning\n\tif b.VersioningEnabled {\n\t\tv = &raw.BucketVersioning{Enabled: true}\n\t}\n\tvar bb *raw.BucketBilling\n\tif b.RequesterPays {\n\t\tbb = &raw.BucketBilling{RequesterPays: true}\n\t}\n\treturn &raw.Bucket{\n\t\tName:             b.Name,\n\t\tDefaultObjectAcl: dACL,\n\t\tLocation:         b.Location,\n\t\tStorageClass:     b.StorageClass,\n\t\tAcl:              acl,\n\t\tVersioning:       v,\n\t\tLabels:           labels,\n\t\tBilling:          bb,\n\t\tLifecycle:        toRawLifecycle(b.Lifecycle),\n\t}\n}\n\ntype BucketAttrsToUpdate struct {\n\t// VersioningEnabled, if set, updates whether the bucket uses versioning.\n\tVersioningEnabled optional.Bool\n\n\t// RequesterPays, if set, updates whether the bucket is a Requester Pays bucket.\n\tRequesterPays optional.Bool\n\n\tsetLabels    map[string]string\n\tdeleteLabels map[string]bool\n}\n\n// SetLabel causes a label to be added or modified when ua is used\n// in a call to Bucket.Update.\nfunc (ua *BucketAttrsToUpdate) SetLabel(name, value string) {\n\tif ua.setLabels == nil {\n\t\tua.setLabels = map[string]string{}\n\t}\n\tua.setLabels[name] = value\n}\n\n// DeleteLabel causes a label to be deleted when ua is used in a\n// call to Bucket.Update.\nfunc (ua *BucketAttrsToUpdate) DeleteLabel(name string) {\n\tif ua.deleteLabels == nil {\n\t\tua.deleteLabels = map[string]bool{}\n\t}\n\tua.deleteLabels[name] = true\n}\n\nfunc (ua *BucketAttrsToUpdate) toRawBucket() *raw.Bucket {\n\trb := &raw.Bucket{}\n\tif ua.VersioningEnabled != nil {\n\t\trb.Versioning = &raw.BucketVersioning{\n\t\t\tEnabled:         optional.ToBool(ua.VersioningEnabled),\n\t\t\tForceSendFields: []string{\"Enabled\"},\n\t\t}\n\t}\n\tif ua.RequesterPays != nil {\n\t\trb.Billing = &raw.BucketBilling{\n\t\t\tRequesterPays:   optional.ToBool(ua.RequesterPays),\n\t\t\tForceSendFields: []string{\"RequesterPays\"},\n\t\t}\n\t}\n\tif ua.setLabels != nil || ua.deleteLabels != nil {\n\t\trb.Labels = map[string]string{}\n\t\tfor k, v := range ua.setLabels {\n\t\t\trb.Labels[k] = v\n\t\t}\n\t\tif len(rb.Labels) == 0 && len(ua.deleteLabels) > 0 {\n\t\t\trb.ForceSendFields = append(rb.ForceSendFields, \"Labels\")\n\t\t}\n\t\tfor l := range ua.deleteLabels {\n\t\t\trb.NullFields = append(rb.NullFields, \"Labels.\"+l)\n\t\t}\n\t}\n\treturn rb\n}\n\n// If returns a new BucketHandle that applies a set of preconditions.\n// Preconditions already set on the BucketHandle are ignored.\n// Operations on the new handle will only occur if the preconditions are\n// satisfied. The only valid preconditions for buckets are MetagenerationMatch\n// and MetagenerationNotMatch.\nfunc (b *BucketHandle) If(conds BucketConditions) *BucketHandle {\n\tb2 := *b\n\tb2.conds = &conds\n\treturn &b2\n}\n\n// BucketConditions constrain bucket methods to act on specific metagenerations.\n//\n// The zero value is an empty set of constraints.\ntype BucketConditions struct {\n\t// MetagenerationMatch specifies that the bucket must have the given\n\t// metageneration for the operation to occur.\n\t// If MetagenerationMatch is zero, it has no effect.\n\tMetagenerationMatch int64\n\n\t// MetagenerationNotMatch specifies that the bucket must not have the given\n\t// metageneration for the operation to occur.\n\t// If MetagenerationNotMatch is zero, it has no effect.\n\tMetagenerationNotMatch int64\n}\n\nfunc (c *BucketConditions) validate(method string) error {\n\tif *c == (BucketConditions{}) {\n\t\treturn fmt.Errorf(\"storage: %s: empty conditions\", method)\n\t}\n\tif c.MetagenerationMatch != 0 && c.MetagenerationNotMatch != 0 {\n\t\treturn fmt.Errorf(\"storage: %s: multiple conditions specified for metageneration\", method)\n\t}\n\treturn nil\n}\n\n// UserProject returns a new BucketHandle that passes the project ID as the user\n// project for all subsequent calls. Calls with a user project will be billed to that\n// project rather than to the bucket's owning project.\n//\n// A user project is required for all operations on Requester Pays buckets.\nfunc (b *BucketHandle) UserProject(projectID string) *BucketHandle {\n\tb2 := *b\n\tb2.userProject = projectID\n\tb2.acl.userProject = projectID\n\tb2.defaultObjectACL.userProject = projectID\n\treturn &b2\n}\n\n// applyBucketConds modifies the provided call using the conditions in conds.\n// call is something that quacks like a *raw.WhateverCall.\nfunc applyBucketConds(method string, conds *BucketConditions, call interface{}) error {\n\tif conds == nil {\n\t\treturn nil\n\t}\n\tif err := conds.validate(method); err != nil {\n\t\treturn err\n\t}\n\tcval := reflect.ValueOf(call)\n\tswitch {\n\tcase conds.MetagenerationMatch != 0:\n\t\tif !setConditionField(cval, \"IfMetagenerationMatch\", conds.MetagenerationMatch) {\n\t\t\treturn fmt.Errorf(\"storage: %s: ifMetagenerationMatch not supported\", method)\n\t\t}\n\tcase conds.MetagenerationNotMatch != 0:\n\t\tif !setConditionField(cval, \"IfMetagenerationNotMatch\", conds.MetagenerationNotMatch) {\n\t\t\treturn fmt.Errorf(\"storage: %s: ifMetagenerationNotMatch not supported\", method)\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc toRawLifecycle(l Lifecycle) *raw.BucketLifecycle {\n\tvar rl raw.BucketLifecycle\n\tif len(l.Rules) == 0 {\n\t\treturn nil\n\t}\n\tfor _, r := range l.Rules {\n\t\trr := &raw.BucketLifecycleRule{\n\t\t\tAction: &raw.BucketLifecycleRuleAction{\n\t\t\t\tType:         r.Action.Type,\n\t\t\t\tStorageClass: r.Action.StorageClass,\n\t\t\t},\n\t\t\tCondition: &raw.BucketLifecycleRuleCondition{\n\t\t\t\tAge:                 r.Condition.AgeInDays,\n\t\t\t\tMatchesStorageClass: r.Condition.MatchesStorageClasses,\n\t\t\t\tNumNewerVersions:    r.Condition.NumNewerVersions,\n\t\t\t},\n\t\t}\n\n\t\tswitch r.Condition.Liveness {\n\t\tcase LiveAndArchived:\n\t\t\trr.Condition.IsLive = nil\n\t\tcase Live:\n\t\t\trr.Condition.IsLive = googleapi.Bool(true)\n\t\tcase Archived:\n\t\t\trr.Condition.IsLive = googleapi.Bool(false)\n\t\t}\n\n\t\tif !r.Condition.CreatedBefore.IsZero() {\n\t\t\trr.Condition.CreatedBefore = r.Condition.CreatedBefore.Format(rfc3339Date)\n\t\t}\n\t\trl.Rule = append(rl.Rule, rr)\n\t}\n\treturn &rl\n}\n\nfunc toLifecycle(rl *raw.BucketLifecycle) Lifecycle {\n\tvar l Lifecycle\n\tif rl == nil {\n\t\treturn l\n\t}\n\tfor _, rr := range rl.Rule {\n\t\tr := LifecycleRule{\n\t\t\tAction: LifecycleAction{\n\t\t\t\tType:         rr.Action.Type,\n\t\t\t\tStorageClass: rr.Action.StorageClass,\n\t\t\t},\n\t\t\tCondition: LifecycleCondition{\n\t\t\t\tAgeInDays:             rr.Condition.Age,\n\t\t\t\tMatchesStorageClasses: rr.Condition.MatchesStorageClass,\n\t\t\t\tNumNewerVersions:      rr.Condition.NumNewerVersions,\n\t\t\t},\n\t\t}\n\n\t\tswitch {\n\t\tcase rr.Condition.IsLive == nil:\n\t\t\tr.Condition.Liveness = LiveAndArchived\n\t\tcase *rr.Condition.IsLive == true:\n\t\t\tr.Condition.Liveness = Live\n\t\tcase *rr.Condition.IsLive == false:\n\t\t\tr.Condition.Liveness = Archived\n\t\t}\n\n\t\tif rr.Condition.CreatedBefore != \"\" {\n\t\t\tr.Condition.CreatedBefore, _ = time.Parse(rfc3339Date, rr.Condition.CreatedBefore)\n\t\t}\n\t\tl.Rules = append(l.Rules, r)\n\t}\n\treturn l\n}\n\n// Objects returns an iterator over the objects in the bucket that match the Query q.\n// If q is nil, no filtering is done.\nfunc (b *BucketHandle) Objects(ctx context.Context, q *Query) *ObjectIterator {\n\tit := &ObjectIterator{\n\t\tctx:    ctx,\n\t\tbucket: b,\n\t}\n\tit.pageInfo, it.nextFunc = iterator.NewPageInfo(\n\t\tit.fetch,\n\t\tfunc() int { return len(it.items) },\n\t\tfunc() interface{} { b := it.items; it.items = nil; return b })\n\tif q != nil {\n\t\tit.query = *q\n\t}\n\treturn it\n}\n\n// An ObjectIterator is an iterator over ObjectAttrs.\ntype ObjectIterator struct {\n\tctx      context.Context\n\tbucket   *BucketHandle\n\tquery    Query\n\tpageInfo *iterator.PageInfo\n\tnextFunc func() error\n\titems    []*ObjectAttrs\n}\n\n// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.\nfunc (it *ObjectIterator) PageInfo() *iterator.PageInfo { return it.pageInfo }\n\n// Next returns the next result. Its second return value is iterator.Done if\n// there are no more results. Once Next returns iterator.Done, all subsequent\n// calls will return iterator.Done.\n//\n// If Query.Delimiter is non-empty, some of the ObjectAttrs returned by Next will\n// have a non-empty Prefix field, and a zero value for all other fields. These\n// represent prefixes.\nfunc (it *ObjectIterator) Next() (*ObjectAttrs, error) {\n\tif err := it.nextFunc(); err != nil {\n\t\treturn nil, err\n\t}\n\titem := it.items[0]\n\tit.items = it.items[1:]\n\treturn item, nil\n}\n\nfunc (it *ObjectIterator) fetch(pageSize int, pageToken string) (string, error) {\n\treq := it.bucket.c.raw.Objects.List(it.bucket.name)\n\tsetClientHeader(req.Header())\n\treq.Projection(\"full\")\n\treq.Delimiter(it.query.Delimiter)\n\treq.Prefix(it.query.Prefix)\n\treq.Versions(it.query.Versions)\n\treq.PageToken(pageToken)\n\tif it.bucket.userProject != \"\" {\n\t\treq.UserProject(it.bucket.userProject)\n\t}\n\tif pageSize > 0 {\n\t\treq.MaxResults(int64(pageSize))\n\t}\n\tvar resp *raw.Objects\n\tvar err error\n\terr = runWithRetry(it.ctx, func() error {\n\t\tresp, err = req.Context(it.ctx).Do()\n\t\treturn err\n\t})\n\tif err != nil {\n\t\tif e, ok := err.(*googleapi.Error); ok && e.Code == http.StatusNotFound {\n\t\t\terr = ErrBucketNotExist\n\t\t}\n\t\treturn \"\", err\n\t}\n\tfor _, item := range resp.Items {\n\t\tit.items = append(it.items, newObject(item))\n\t}\n\tfor _, prefix := range resp.Prefixes {\n\t\tit.items = append(it.items, &ObjectAttrs{Prefix: prefix})\n\t}\n\treturn resp.NextPageToken, nil\n}\n\n// TODO(jbd): Add storage.buckets.update.\n\n// Buckets returns an iterator over the buckets in the project. You may\n// optionally set the iterator's Prefix field to restrict the list to buckets\n// whose names begin with the prefix. By default, all buckets in the project\n// are returned.\nfunc (c *Client) Buckets(ctx context.Context, projectID string) *BucketIterator {\n\tit := &BucketIterator{\n\t\tctx:       ctx,\n\t\tclient:    c,\n\t\tprojectID: projectID,\n\t}\n\tit.pageInfo, it.nextFunc = iterator.NewPageInfo(\n\t\tit.fetch,\n\t\tfunc() int { return len(it.buckets) },\n\t\tfunc() interface{} { b := it.buckets; it.buckets = nil; return b })\n\treturn it\n}\n\n// A BucketIterator is an iterator over BucketAttrs.\ntype BucketIterator struct {\n\t// Prefix restricts the iterator to buckets whose names begin with it.\n\tPrefix string\n\n\tctx       context.Context\n\tclient    *Client\n\tprojectID string\n\tbuckets   []*BucketAttrs\n\tpageInfo  *iterator.PageInfo\n\tnextFunc  func() error\n}\n\n// Next returns the next result. Its second return value is iterator.Done if\n// there are no more results. Once Next returns iterator.Done, all subsequent\n// calls will return iterator.Done.\nfunc (it *BucketIterator) Next() (*BucketAttrs, error) {\n\tif err := it.nextFunc(); err != nil {\n\t\treturn nil, err\n\t}\n\tb := it.buckets[0]\n\tit.buckets = it.buckets[1:]\n\treturn b, nil\n}\n\n// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.\nfunc (it *BucketIterator) PageInfo() *iterator.PageInfo { return it.pageInfo }\n\nfunc (it *BucketIterator) fetch(pageSize int, pageToken string) (string, error) {\n\treq := it.client.raw.Buckets.List(it.projectID)\n\tsetClientHeader(req.Header())\n\treq.Projection(\"full\")\n\treq.Prefix(it.Prefix)\n\treq.PageToken(pageToken)\n\tif pageSize > 0 {\n\t\treq.MaxResults(int64(pageSize))\n\t}\n\tvar resp *raw.Buckets\n\tvar err error\n\terr = runWithRetry(it.ctx, func() error {\n\t\tresp, err = req.Context(it.ctx).Do()\n\t\treturn err\n\t})\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tfor _, item := range resp.Items {\n\t\tit.buckets = append(it.buckets, newBucket(item))\n\t}\n\treturn resp.NextPageToken, nil\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/copy.go",
    "content": "// Copyright 2016 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\npackage storage\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\n\t\"golang.org/x/net/context\"\n\traw \"google.golang.org/api/storage/v1\"\n)\n\n// CopierFrom creates a Copier that can copy src to dst.\n// You can immediately call Run on the returned Copier, or\n// you can configure it first.\n//\n// For Requester Pays buckets, the user project of dst is billed, unless it is empty,\n// in which case the user project of src is billed.\nfunc (dst *ObjectHandle) CopierFrom(src *ObjectHandle) *Copier {\n\treturn &Copier{dst: dst, src: src}\n}\n\n// A Copier copies a source object to a destination.\ntype Copier struct {\n\t// ObjectAttrs are optional attributes to set on the destination object.\n\t// Any attributes must be initialized before any calls on the Copier. Nil\n\t// or zero-valued attributes are ignored.\n\tObjectAttrs\n\n\t// RewriteToken can be set before calling Run to resume a copy\n\t// operation. After Run returns a non-nil error, RewriteToken will\n\t// have been updated to contain the value needed to resume the copy.\n\tRewriteToken string\n\n\t// ProgressFunc can be used to monitor the progress of a multi-RPC copy\n\t// operation. If ProgressFunc is not nil and copying requires multiple\n\t// calls to the underlying service (see\n\t// https://cloud.google.com/storage/docs/json_api/v1/objects/rewrite), then\n\t// ProgressFunc will be invoked after each call with the number of bytes of\n\t// content copied so far and the total size in bytes of the source object.\n\t//\n\t// ProgressFunc is intended to make upload progress available to the\n\t// application. For example, the implementation of ProgressFunc may update\n\t// a progress bar in the application's UI, or log the result of\n\t// float64(copiedBytes)/float64(totalBytes).\n\t//\n\t// ProgressFunc should return quickly without blocking.\n\tProgressFunc func(copiedBytes, totalBytes uint64)\n\n\tdst, src *ObjectHandle\n}\n\n// Run performs the copy.\nfunc (c *Copier) Run(ctx context.Context) (*ObjectAttrs, error) {\n\tif err := c.src.validate(); err != nil {\n\t\treturn nil, err\n\t}\n\tif err := c.dst.validate(); err != nil {\n\t\treturn nil, err\n\t}\n\t// Convert destination attributes to raw form, omitting the bucket.\n\t// If the bucket is included but name or content-type aren't, the service\n\t// returns a 400 with \"Required\" as the only message. Omitting the bucket\n\t// does not cause any problems.\n\trawObject := c.ObjectAttrs.toRawObject(\"\")\n\tfor {\n\t\tres, err := c.callRewrite(ctx, rawObject)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tif c.ProgressFunc != nil {\n\t\t\tc.ProgressFunc(uint64(res.TotalBytesRewritten), uint64(res.ObjectSize))\n\t\t}\n\t\tif res.Done { // Finished successfully.\n\t\t\treturn newObject(res.Resource), nil\n\t\t}\n\t}\n}\n\nfunc (c *Copier) callRewrite(ctx context.Context, rawObj *raw.Object) (*raw.RewriteResponse, error) {\n\tcall := c.dst.c.raw.Objects.Rewrite(c.src.bucket, c.src.object, c.dst.bucket, c.dst.object, rawObj)\n\n\tcall.Context(ctx).Projection(\"full\")\n\tif c.RewriteToken != \"\" {\n\t\tcall.RewriteToken(c.RewriteToken)\n\t}\n\tif err := applyConds(\"Copy destination\", c.dst.gen, c.dst.conds, call); err != nil {\n\t\treturn nil, err\n\t}\n\tif c.dst.userProject != \"\" {\n\t\tcall.UserProject(c.dst.userProject)\n\t} else if c.src.userProject != \"\" {\n\t\tcall.UserProject(c.src.userProject)\n\t}\n\tif err := applySourceConds(c.src.gen, c.src.conds, call); err != nil {\n\t\treturn nil, err\n\t}\n\tif err := setEncryptionHeaders(call.Header(), c.dst.encryptionKey, false); err != nil {\n\t\treturn nil, err\n\t}\n\tif err := setEncryptionHeaders(call.Header(), c.src.encryptionKey, true); err != nil {\n\t\treturn nil, err\n\t}\n\tvar res *raw.RewriteResponse\n\tvar err error\n\tsetClientHeader(call.Header())\n\terr = runWithRetry(ctx, func() error { res, err = call.Do(); return err })\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tc.RewriteToken = res.RewriteToken\n\treturn res, nil\n}\n\n// ComposerFrom creates a Composer that can compose srcs into dst.\n// You can immediately call Run on the returned Composer, or you can\n// configure it first.\n//\n// The encryption key for the destination object will be used to decrypt all\n// source objects and encrypt the destination object. It is an error\n// to specify an encryption key for any of the source objects.\nfunc (dst *ObjectHandle) ComposerFrom(srcs ...*ObjectHandle) *Composer {\n\treturn &Composer{dst: dst, srcs: srcs}\n}\n\n// A Composer composes source objects into a destination object.\n//\n// For Requester Pays buckets, the user project of dst is billed.\ntype Composer struct {\n\t// ObjectAttrs are optional attributes to set on the destination object.\n\t// Any attributes must be initialized before any calls on the Composer. Nil\n\t// or zero-valued attributes are ignored.\n\tObjectAttrs\n\n\tdst  *ObjectHandle\n\tsrcs []*ObjectHandle\n}\n\n// Run performs the compose operation.\nfunc (c *Composer) Run(ctx context.Context) (*ObjectAttrs, error) {\n\tif err := c.dst.validate(); err != nil {\n\t\treturn nil, err\n\t}\n\tif len(c.srcs) == 0 {\n\t\treturn nil, errors.New(\"storage: at least one source object must be specified\")\n\t}\n\n\treq := &raw.ComposeRequest{}\n\t// Compose requires a non-empty Destination, so we always set it,\n\t// even if the caller-provided ObjectAttrs is the zero value.\n\treq.Destination = c.ObjectAttrs.toRawObject(c.dst.bucket)\n\tfor _, src := range c.srcs {\n\t\tif err := src.validate(); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tif src.bucket != c.dst.bucket {\n\t\t\treturn nil, fmt.Errorf(\"storage: all source objects must be in bucket %q, found %q\", c.dst.bucket, src.bucket)\n\t\t}\n\t\tif src.encryptionKey != nil {\n\t\t\treturn nil, fmt.Errorf(\"storage: compose source %s.%s must not have encryption key\", src.bucket, src.object)\n\t\t}\n\t\tsrcObj := &raw.ComposeRequestSourceObjects{\n\t\t\tName: src.object,\n\t\t}\n\t\tif err := applyConds(\"ComposeFrom source\", src.gen, src.conds, composeSourceObj{srcObj}); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treq.SourceObjects = append(req.SourceObjects, srcObj)\n\t}\n\n\tcall := c.dst.c.raw.Objects.Compose(c.dst.bucket, c.dst.object, req).Context(ctx)\n\tif err := applyConds(\"ComposeFrom destination\", c.dst.gen, c.dst.conds, call); err != nil {\n\t\treturn nil, err\n\t}\n\tif c.dst.userProject != \"\" {\n\t\tcall.UserProject(c.dst.userProject)\n\t}\n\tif err := setEncryptionHeaders(call.Header(), c.dst.encryptionKey, false); err != nil {\n\t\treturn nil, err\n\t}\n\tvar obj *raw.Object\n\tvar err error\n\tsetClientHeader(call.Header())\n\terr = runWithRetry(ctx, func() error { obj, err = call.Do(); return err })\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn newObject(obj), nil\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/doc.go",
    "content": "// Copyright 2016 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/*\nPackage storage provides an easy way to work with Google Cloud Storage.\nGoogle Cloud Storage stores data in named objects, which are grouped into buckets.\n\nMore information about Google Cloud Storage is available at\nhttps://cloud.google.com/storage/docs.\n\nAll of the methods of this package use exponential backoff to retry calls\nthat fail with certain errors, as described in\nhttps://cloud.google.com/storage/docs/exponential-backoff.\n\n\nCreating a Client\n\nTo start working with this package, create a client:\n\n    ctx := context.Background()\n    client, err := storage.NewClient(ctx)\n    if err != nil {\n        // TODO: Handle error.\n    }\n\nThe client will use your default application credentials.\n\nIf you only wish to access public data, you can create\nan unauthenticated client with\n\n    client, err := storage.NewClient(ctx, option.WithoutAuthentication())\n\nBuckets\n\nA Google Cloud Storage bucket is a collection of objects. To work with a\nbucket, make a bucket handle:\n\n    bkt := client.Bucket(bucketName)\n\nA handle is a reference to a bucket. You can have a handle even if the\nbucket doesn't exist yet. To create a bucket in Google Cloud Storage,\ncall Create on the handle:\n\n    if err := bkt.Create(ctx, projectID, nil); err != nil {\n        // TODO: Handle error.\n    }\n\nNote that although buckets are associated with projects, bucket names are\nglobal across all projects.\n\nEach bucket has associated metadata, represented in this package by\nBucketAttrs. The third argument to BucketHandle.Create allows you to set\nthe intial BucketAttrs of a bucket. To retrieve a bucket's attributes, use\nAttrs:\n\n    attrs, err := bkt.Attrs(ctx)\n    if err != nil {\n        // TODO: Handle error.\n    }\n    fmt.Printf(\"bucket %s, created at %s, is located in %s with storage class %s\\n\",\n        attrs.Name, attrs.Created, attrs.Location, attrs.StorageClass)\n\nObjects\n\nAn object holds arbitrary data as a sequence of bytes, like a file. You\nrefer to objects using a handle, just as with buckets. You can use the\nstandard Go io.Reader and io.Writer interfaces to read and write\nobject data:\n\n    obj := bkt.Object(\"data\")\n    // Write something to obj.\n    // w implements io.Writer.\n    w := obj.NewWriter(ctx)\n    // Write some text to obj. This will overwrite whatever is there.\n    if _, err := fmt.Fprintf(w, \"This object contains text.\\n\"); err != nil {\n        // TODO: Handle error.\n    }\n    // Close, just like writing a file.\n    if err := w.Close(); err != nil {\n        // TODO: Handle error.\n    }\n\n    // Read it back.\n    r, err := obj.NewReader(ctx)\n    if err != nil {\n        // TODO: Handle error.\n    }\n    defer r.Close()\n    if _, err := io.Copy(os.Stdout, r); err != nil {\n        // TODO: Handle error.\n    }\n    // Prints \"This object contains text.\"\n\nObjects also have attributes, which you can fetch with Attrs:\n\n    objAttrs, err := obj.Attrs(ctx)\n    if err != nil {\n        // TODO: Handle error.\n    }\n    fmt.Printf(\"object %s has size %d and can be read using %s\\n\",\n        objAttrs.Name, objAttrs.Size, objAttrs.MediaLink)\n\nACLs\n\nBoth objects and buckets have ACLs (Access Control Lists). An ACL is a list of\nACLRules, each of which specifies the role of a user, group or project. ACLs\nare suitable for fine-grained control, but you may prefer using IAM to control\naccess at the project level (see\nhttps://cloud.google.com/storage/docs/access-control/iam).\n\nTo list the ACLs of a bucket or object, obtain an ACLHandle and call its List method:\n\n    acls, err := obj.ACL().List(ctx)\n    if err != nil {\n        // TODO: Handle error.\n    }\n    for _, rule := range acls {\n        fmt.Printf(\"%s has role %s\\n\", rule.Entity, rule.Role)\n    }\n\nYou can also set and delete ACLs.\n\nConditions\n\nEvery object has a generation and a metageneration. The generation changes\nwhenever the content changes, and the metageneration changes whenever the\nmetadata changes. Conditions let you check these values before an operation;\nthe operation only executes if the conditions match. You can use conditions to\nprevent race conditions in read-modify-write operations.\n\nFor example, say you've read an object's metadata into objAttrs. Now\nyou want to write to that object, but only if its contents haven't changed\nsince you read it. Here is how to express that:\n\n    w = obj.If(storage.Conditions{GenerationMatch: objAttrs.Generation}).NewWriter(ctx)\n    // Proceed with writing as above.\n\nSigned URLs\n\nYou can obtain a URL that lets anyone read or write an object for a limited time.\nYou don't need to create a client to do this. See the documentation of\nSignedURL for details.\n\n    url, err := storage.SignedURL(bucketName, \"shared-object\", opts)\n    if err != nil {\n        // TODO: Handle error.\n    }\n    fmt.Println(url)\n\nAuthentication\n\nSee examples of authorization and authentication at\nhttps://godoc.org/cloud.google.com/go#pkg-examples.\n*/\npackage storage // import \"cloud.google.com/go/storage\"\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/go110.go",
    "content": "// Copyright 2017 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// +build go1.10\n\npackage storage\n\nimport \"google.golang.org/api/googleapi\"\n\nfunc shouldRetry(err error) bool {\n\tswitch e := err.(type) {\n\tcase *googleapi.Error:\n\t\t// Retry on 429 and 5xx, according to\n\t\t// https://cloud.google.com/storage/docs/exponential-backoff.\n\t\treturn e.Code == 429 || (e.Code >= 500 && e.Code < 600)\n\tdefault:\n\t\treturn false\n\t}\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/go17.go",
    "content": "// Copyright 2017 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// +build go1.7\n\npackage storage\n\nimport (\n\t\"context\"\n\t\"net/http\"\n)\n\nfunc withContext(r *http.Request, ctx context.Context) *http.Request {\n\treturn r.WithContext(ctx)\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/iam.go",
    "content": "// Copyright 2017 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\npackage storage\n\nimport (\n\t\"cloud.google.com/go/iam\"\n\t\"golang.org/x/net/context\"\n\traw \"google.golang.org/api/storage/v1\"\n\tiampb \"google.golang.org/genproto/googleapis/iam/v1\"\n)\n\n// IAM provides access to IAM access control for the bucket.\nfunc (b *BucketHandle) IAM() *iam.Handle {\n\treturn iam.InternalNewHandleClient(&iamClient{\n\t\traw:         b.c.raw,\n\t\tuserProject: b.userProject,\n\t}, b.name)\n}\n\n// iamClient implements the iam.client interface.\ntype iamClient struct {\n\traw         *raw.Service\n\tuserProject string\n}\n\nfunc (c *iamClient) Get(ctx context.Context, resource string) (*iampb.Policy, error) {\n\tcall := c.raw.Buckets.GetIamPolicy(resource)\n\tsetClientHeader(call.Header())\n\tif c.userProject != \"\" {\n\t\tcall.UserProject(c.userProject)\n\t}\n\tvar rp *raw.Policy\n\tvar err error\n\terr = runWithRetry(ctx, func() error {\n\t\trp, err = call.Context(ctx).Do()\n\t\treturn err\n\t})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn iamFromStoragePolicy(rp), nil\n}\n\nfunc (c *iamClient) Set(ctx context.Context, resource string, p *iampb.Policy) error {\n\trp := iamToStoragePolicy(p)\n\tcall := c.raw.Buckets.SetIamPolicy(resource, rp)\n\tsetClientHeader(call.Header())\n\tif c.userProject != \"\" {\n\t\tcall.UserProject(c.userProject)\n\t}\n\treturn runWithRetry(ctx, func() error {\n\t\t_, err := call.Context(ctx).Do()\n\t\treturn err\n\t})\n}\n\nfunc (c *iamClient) Test(ctx context.Context, resource string, perms []string) ([]string, error) {\n\tcall := c.raw.Buckets.TestIamPermissions(resource, perms)\n\tsetClientHeader(call.Header())\n\tif c.userProject != \"\" {\n\t\tcall.UserProject(c.userProject)\n\t}\n\tvar res *raw.TestIamPermissionsResponse\n\tvar err error\n\terr = runWithRetry(ctx, func() error {\n\t\tres, err = call.Context(ctx).Do()\n\t\treturn err\n\t})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn res.Permissions, nil\n}\n\nfunc iamToStoragePolicy(ip *iampb.Policy) *raw.Policy {\n\treturn &raw.Policy{\n\t\tBindings: iamToStorageBindings(ip.Bindings),\n\t\tEtag:     string(ip.Etag),\n\t}\n}\n\nfunc iamToStorageBindings(ibs []*iampb.Binding) []*raw.PolicyBindings {\n\tvar rbs []*raw.PolicyBindings\n\tfor _, ib := range ibs {\n\t\trbs = append(rbs, &raw.PolicyBindings{\n\t\t\tRole:    ib.Role,\n\t\t\tMembers: ib.Members,\n\t\t})\n\t}\n\treturn rbs\n}\n\nfunc iamFromStoragePolicy(rp *raw.Policy) *iampb.Policy {\n\treturn &iampb.Policy{\n\t\tBindings: iamFromStorageBindings(rp.Bindings),\n\t\tEtag:     []byte(rp.Etag),\n\t}\n}\n\nfunc iamFromStorageBindings(rbs []*raw.PolicyBindings) []*iampb.Binding {\n\tvar ibs []*iampb.Binding\n\tfor _, rb := range rbs {\n\t\tibs = append(ibs, &iampb.Binding{\n\t\t\tRole:    rb.Role,\n\t\t\tMembers: rb.Members,\n\t\t})\n\t}\n\treturn ibs\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/invoke.go",
    "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\npackage storage\n\nimport (\n\t\"cloud.google.com/go/internal\"\n\tgax \"github.com/googleapis/gax-go\"\n\t\"golang.org/x/net/context\"\n)\n\n// runWithRetry calls the function until it returns nil or a non-retryable error, or\n// the context is done.\nfunc runWithRetry(ctx context.Context, call func() error) error {\n\treturn internal.Retry(ctx, gax.Backoff{}, func() (stop bool, err error) {\n\t\terr = call()\n\t\tif err == nil {\n\t\t\treturn true, nil\n\t\t}\n\t\tif shouldRetry(err) {\n\t\t\treturn false, nil\n\t\t}\n\t\treturn true, err\n\t})\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/not_go110.go",
    "content": "// Copyright 2017 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// +build !go1.10\n\npackage storage\n\nimport (\n\t\"net/url\"\n\t\"strings\"\n\n\t\"google.golang.org/api/googleapi\"\n)\n\nfunc shouldRetry(err error) bool {\n\tswitch e := err.(type) {\n\tcase *googleapi.Error:\n\t\t// Retry on 429 and 5xx, according to\n\t\t// https://cloud.google.com/storage/docs/exponential-backoff.\n\t\treturn e.Code == 429 || (e.Code >= 500 && e.Code < 600)\n\tcase *url.Error:\n\t\t// Retry on REFUSED_STREAM.\n\t\t// Unfortunately the error type is unexported, so we resort to string\n\t\t// matching.\n\t\treturn strings.Contains(e.Error(), \"REFUSED_STREAM\")\n\tdefault:\n\t\treturn false\n\t}\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/not_go17.go",
    "content": "// Copyright 2017 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// +build !go1.7\n\npackage storage\n\nimport (\n\t\"net/http\"\n)\n\nfunc withContext(r *http.Request, _ interface{}) *http.Request {\n\t// In Go 1.6 and below, ignore the context.\n\treturn r\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/notifications.go",
    "content": "// Copyright 2017 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\npackage storage\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"regexp\"\n\n\t\"golang.org/x/net/context\"\n\traw \"google.golang.org/api/storage/v1\"\n)\n\n// A Notification describes how to send Cloud PubSub messages when certain\n// events occur in a bucket.\ntype Notification struct {\n\t//The ID of the notification.\n\tID string\n\n\t// The ID of the topic to which this subscription publishes.\n\tTopicID string\n\n\t// The ID of the project to which the topic belongs.\n\tTopicProjectID string\n\n\t// Only send notifications about listed event types. If empty, send notifications\n\t// for all event types.\n\t// See https://cloud.google.com/storage/docs/pubsub-notifications#events.\n\tEventTypes []string\n\n\t// If present, only apply this notification configuration to object names that\n\t// begin with this prefix.\n\tObjectNamePrefix string\n\n\t// An optional list of additional attributes to attach to each Cloud PubSub\n\t// message published for this notification subscription.\n\tCustomAttributes map[string]string\n\n\t// The contents of the message payload.\n\t// See https://cloud.google.com/storage/docs/pubsub-notifications#payload.\n\tPayloadFormat string\n}\n\n// Values for Notification.PayloadFormat.\nconst (\n\t// Send no payload with notification messages.\n\tNoPayload = \"NONE\"\n\n\t// Send object metadata as JSON with notification messages.\n\tJSONPayload = \"JSON_API_V1\"\n)\n\n// Values for Notification.EventTypes.\nconst (\n\t// Event that occurs when an object is successfully created.\n\tObjectFinalizeEvent = \"OBJECT_FINALIZE\"\n\n\t// Event that occurs when the metadata of an existing object changes.\n\tObjectMetadataUpdateEvent = \"OBJECT_METADATA_UPDATE\"\n\n\t// Event that occurs when an object is permanently deleted.\n\tObjectDeleteEvent = \"OBJECT_DELETE\"\n\n\t// Event that occurs when the live version of an object becomes an\n\t// archived version.\n\tObjectArchiveEvent = \"OBJECT_ARCHIVE\"\n)\n\nfunc toNotification(rn *raw.Notification) *Notification {\n\tn := &Notification{\n\t\tID:               rn.Id,\n\t\tEventTypes:       rn.EventTypes,\n\t\tObjectNamePrefix: rn.ObjectNamePrefix,\n\t\tCustomAttributes: rn.CustomAttributes,\n\t\tPayloadFormat:    rn.PayloadFormat,\n\t}\n\tn.TopicProjectID, n.TopicID = parseNotificationTopic(rn.Topic)\n\treturn n\n}\n\nvar topicRE = regexp.MustCompile(\"^//pubsub.googleapis.com/projects/([^/]+)/topics/([^/]+)\")\n\n// parseNotificationTopic extracts the project and topic IDs from from the full\n// resource name returned by the service. If the name is malformed, it returns\n// \"?\" for both IDs.\nfunc parseNotificationTopic(nt string) (projectID, topicID string) {\n\tmatches := topicRE.FindStringSubmatch(nt)\n\tif matches == nil {\n\t\treturn \"?\", \"?\"\n\t}\n\treturn matches[1], matches[2]\n}\n\nfunc toRawNotification(n *Notification) *raw.Notification {\n\treturn &raw.Notification{\n\t\tId: n.ID,\n\t\tTopic: fmt.Sprintf(\"//pubsub.googleapis.com/projects/%s/topics/%s\",\n\t\t\tn.TopicProjectID, n.TopicID),\n\t\tEventTypes:       n.EventTypes,\n\t\tObjectNamePrefix: n.ObjectNamePrefix,\n\t\tCustomAttributes: n.CustomAttributes,\n\t\tPayloadFormat:    string(n.PayloadFormat),\n\t}\n}\n\n// AddNotification adds a notification to b. You must set n's TopicProjectID, TopicID\n// and PayloadFormat, and must not set its ID. The other fields are all optional. The\n// returned Notification's ID can be used to refer to it.\nfunc (b *BucketHandle) AddNotification(ctx context.Context, n *Notification) (*Notification, error) {\n\tif n.ID != \"\" {\n\t\treturn nil, errors.New(\"storage: AddNotification: ID must not be set\")\n\t}\n\tif n.TopicProjectID == \"\" {\n\t\treturn nil, errors.New(\"storage: AddNotification: missing TopicProjectID\")\n\t}\n\tif n.TopicID == \"\" {\n\t\treturn nil, errors.New(\"storage: AddNotification: missing TopicID\")\n\t}\n\tcall := b.c.raw.Notifications.Insert(b.name, toRawNotification(n))\n\tsetClientHeader(call.Header())\n\tif b.userProject != \"\" {\n\t\tcall.UserProject(b.userProject)\n\t}\n\trn, err := call.Context(ctx).Do()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn toNotification(rn), nil\n}\n\n// Notifications returns all the Notifications configured for this bucket, as a map\n// indexed by notification ID.\nfunc (b *BucketHandle) Notifications(ctx context.Context) (map[string]*Notification, error) {\n\tcall := b.c.raw.Notifications.List(b.name)\n\tsetClientHeader(call.Header())\n\tif b.userProject != \"\" {\n\t\tcall.UserProject(b.userProject)\n\t}\n\tvar res *raw.Notifications\n\tvar err error\n\terr = runWithRetry(ctx, func() error {\n\t\tres, err = call.Context(ctx).Do()\n\t\treturn err\n\t})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn notificationsToMap(res.Items), nil\n}\n\nfunc notificationsToMap(rns []*raw.Notification) map[string]*Notification {\n\tm := map[string]*Notification{}\n\tfor _, rn := range rns {\n\t\tm[rn.Id] = toNotification(rn)\n\t}\n\treturn m\n}\n\n// DeleteNotification deletes the notification with the given ID.\nfunc (b *BucketHandle) DeleteNotification(ctx context.Context, id string) error {\n\tcall := b.c.raw.Notifications.Delete(b.name, id)\n\tsetClientHeader(call.Header())\n\tif b.userProject != \"\" {\n\t\tcall.UserProject(b.userProject)\n\t}\n\treturn call.Context(ctx).Do()\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/reader.go",
    "content": "// Copyright 2016 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\npackage storage\n\nimport (\n\t\"fmt\"\n\t\"hash/crc32\"\n\t\"io\"\n)\n\nvar crc32cTable = crc32.MakeTable(crc32.Castagnoli)\n\n// Reader reads a Cloud Storage object.\n// It implements io.Reader.\n//\n// Typically, a Reader computes the CRC of the downloaded content and compares it to\n// the stored CRC, returning an error from Read if there is a mismatch. This integrity check\n// is skipped if transcoding occurs. See https://cloud.google.com/storage/docs/transcoding.\ntype Reader struct {\n\tbody            io.ReadCloser\n\tremain, size    int64\n\tcontentType     string\n\tcontentEncoding string\n\tcacheControl    string\n\tcheckCRC        bool   // should we check the CRC?\n\twantCRC         uint32 // the CRC32c value the server sent in the header\n\tgotCRC          uint32 // running crc\n\tcheckedCRC      bool   // did we check the CRC? (For tests.)\n}\n\n// Close closes the Reader. It must be called when done reading.\nfunc (r *Reader) Close() error {\n\treturn r.body.Close()\n}\n\nfunc (r *Reader) Read(p []byte) (int, error) {\n\tn, err := r.body.Read(p)\n\tif r.remain != -1 {\n\t\tr.remain -= int64(n)\n\t}\n\tif r.checkCRC {\n\t\tr.gotCRC = crc32.Update(r.gotCRC, crc32cTable, p[:n])\n\t\t// Check CRC here. It would be natural to check it in Close, but\n\t\t// everybody defers Close on the assumption that it doesn't return\n\t\t// anything worth looking at.\n\t\tif r.remain == 0 { // Only check if we have Content-Length.\n\t\t\tr.checkedCRC = true\n\t\t\tif r.gotCRC != r.wantCRC {\n\t\t\t\treturn n, fmt.Errorf(\"storage: bad CRC on read: got %d, want %d\",\n\t\t\t\t\tr.gotCRC, r.wantCRC)\n\t\t\t}\n\t\t}\n\t}\n\treturn n, err\n}\n\n// Size returns the size of the object in bytes.\n// The returned value is always the same and is not affected by\n// calls to Read or Close.\nfunc (r *Reader) Size() int64 {\n\treturn r.size\n}\n\n// Remain returns the number of bytes left to read, or -1 if unknown.\nfunc (r *Reader) Remain() int64 {\n\treturn r.remain\n}\n\n// ContentType returns the content type of the object.\nfunc (r *Reader) ContentType() string {\n\treturn r.contentType\n}\n\n// ContentEncoding returns the content encoding of the object.\nfunc (r *Reader) ContentEncoding() string {\n\treturn r.contentEncoding\n}\n\n// CacheControl returns the cache control of the object.\nfunc (r *Reader) CacheControl() string {\n\treturn r.cacheControl\n}\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/storage.go",
    "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\npackage storage\n\nimport (\n\t\"bytes\"\n\t\"crypto\"\n\t\"crypto/rand\"\n\t\"crypto/rsa\"\n\t\"crypto/sha256\"\n\t\"crypto/x509\"\n\t\"encoding/base64\"\n\t\"encoding/pem\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"reflect\"\n\t\"regexp\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\t\"unicode/utf8\"\n\n\t\"google.golang.org/api/option\"\n\thtransport \"google.golang.org/api/transport/http\"\n\n\t\"cloud.google.com/go/internal/optional\"\n\t\"cloud.google.com/go/internal/version\"\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/api/googleapi\"\n\traw \"google.golang.org/api/storage/v1\"\n)\n\nvar (\n\tErrBucketNotExist = errors.New(\"storage: bucket doesn't exist\")\n\tErrObjectNotExist = errors.New(\"storage: object doesn't exist\")\n)\n\nconst userAgent = \"gcloud-golang-storage/20151204\"\n\nconst (\n\t// ScopeFullControl grants permissions to manage your\n\t// data and permissions in Google Cloud Storage.\n\tScopeFullControl = raw.DevstorageFullControlScope\n\n\t// ScopeReadOnly grants permissions to\n\t// view your data in Google Cloud Storage.\n\tScopeReadOnly = raw.DevstorageReadOnlyScope\n\n\t// ScopeReadWrite grants permissions to manage your\n\t// data in Google Cloud Storage.\n\tScopeReadWrite = raw.DevstorageReadWriteScope\n)\n\nvar xGoogHeader = fmt.Sprintf(\"gl-go/%s gccl/%s\", version.Go(), version.Repo)\n\nfunc setClientHeader(headers http.Header) {\n\theaders.Set(\"x-goog-api-client\", xGoogHeader)\n}\n\n// Client is a client for interacting with Google Cloud Storage.\n//\n// Clients should be reused instead of created as needed.\n// The methods of Client are safe for concurrent use by multiple goroutines.\ntype Client struct {\n\thc  *http.Client\n\traw *raw.Service\n}\n\n// NewClient creates a new Google Cloud Storage client.\n// The default scope is ScopeFullControl. To use a different scope, like ScopeReadOnly, use option.WithScopes.\nfunc NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) {\n\to := []option.ClientOption{\n\t\toption.WithScopes(ScopeFullControl),\n\t\toption.WithUserAgent(userAgent),\n\t}\n\topts = append(o, opts...)\n\thc, ep, err := htransport.NewClient(ctx, opts...)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"dialing: %v\", err)\n\t}\n\trawService, err := raw.New(hc)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"storage client: %v\", err)\n\t}\n\tif ep != \"\" {\n\t\trawService.BasePath = ep\n\t}\n\treturn &Client{\n\t\thc:  hc,\n\t\traw: rawService,\n\t}, nil\n}\n\n// Close closes the Client.\n//\n// Close need not be called at program exit.\nfunc (c *Client) Close() error {\n\t// Set fields to nil so that subsequent uses\n\t// will panic.\n\tc.hc = nil\n\tc.raw = nil\n\treturn nil\n}\n\n// SignedURLOptions allows you to restrict the access to the signed URL.\ntype SignedURLOptions struct {\n\t// GoogleAccessID represents the authorizer of the signed URL generation.\n\t// It is typically the Google service account client email address from\n\t// the Google Developers Console in the form of \"xxx@developer.gserviceaccount.com\".\n\t// Required.\n\tGoogleAccessID string\n\n\t// PrivateKey is the Google service account private key. It is obtainable\n\t// from the Google Developers Console.\n\t// At https://console.developers.google.com/project/<your-project-id>/apiui/credential,\n\t// create a service account client ID or reuse one of your existing service account\n\t// credentials. Click on the \"Generate new P12 key\" to generate and download\n\t// a new private key. Once you download the P12 file, use the following command\n\t// to convert it into a PEM file.\n\t//\n\t//    $ openssl pkcs12 -in key.p12 -passin pass:notasecret -out key.pem -nodes\n\t//\n\t// Provide the contents of the PEM file as a byte slice.\n\t// Exactly one of PrivateKey or SignBytes must be non-nil.\n\tPrivateKey []byte\n\n\t// SignBytes is a function for implementing custom signing.\n\t// If your application is running on Google App Engine, you can use appengine's internal signing function:\n\t//     ctx := appengine.NewContext(request)\n\t//     acc, _ := appengine.ServiceAccount(ctx)\n\t//     url, err := SignedURL(\"bucket\", \"object\", &SignedURLOptions{\n\t//     \tGoogleAccessID: acc,\n\t//     \tSignBytes: func(b []byte) ([]byte, error) {\n\t//     \t\t_, signedBytes, err := appengine.SignBytes(ctx, b)\n\t//     \t\treturn signedBytes, err\n\t//     \t},\n\t//     \t// etc.\n\t//     })\n\t//\n\t// Exactly one of PrivateKey or SignBytes must be non-nil.\n\tSignBytes func([]byte) ([]byte, error)\n\n\t// Method is the HTTP method to be used with the signed URL.\n\t// Signed URLs can be used with GET, HEAD, PUT, and DELETE requests.\n\t// Required.\n\tMethod string\n\n\t// Expires is the expiration time on the signed URL. It must be\n\t// a datetime in the future.\n\t// Required.\n\tExpires time.Time\n\n\t// ContentType is the content type header the client must provide\n\t// to use the generated signed URL.\n\t// Optional.\n\tContentType string\n\n\t// Headers is a list of extension headers the client must provide\n\t// in order to use the generated signed URL.\n\t// Optional.\n\tHeaders []string\n\n\t// MD5 is the base64 encoded MD5 checksum of the file.\n\t// If provided, the client should provide the exact value on the request\n\t// header in order to use the signed URL.\n\t// Optional.\n\tMD5 string\n}\n\nvar (\n\tcanonicalHeaderRegexp    = regexp.MustCompile(`(?i)^(x-goog-[^:]+):(.*)?$`)\n\texcludedCanonicalHeaders = map[string]bool{\n\t\t\"x-goog-encryption-key\":        true,\n\t\t\"x-goog-encryption-key-sha256\": true,\n\t}\n)\n\n// sanitizeHeaders applies the specifications for canonical extension headers at\n// https://cloud.google.com/storage/docs/access-control/signed-urls#about-canonical-extension-headers.\nfunc sanitizeHeaders(hdrs []string) []string {\n\theaderMap := map[string][]string{}\n\tfor _, hdr := range hdrs {\n\t\t// No leading or trailing whitespaces.\n\t\tsanitizedHeader := strings.TrimSpace(hdr)\n\n\t\t// Only keep canonical headers, discard any others.\n\t\theaderMatches := canonicalHeaderRegexp.FindStringSubmatch(sanitizedHeader)\n\t\tif len(headerMatches) == 0 {\n\t\t\tcontinue\n\t\t}\n\n\t\theader := strings.ToLower(strings.TrimSpace(headerMatches[1]))\n\t\tif excludedCanonicalHeaders[headerMatches[1]] {\n\t\t\t// Do not keep any deliberately excluded canonical headers when signing.\n\t\t\tcontinue\n\t\t}\n\t\tvalue := strings.TrimSpace(headerMatches[2])\n\t\tif len(value) > 0 {\n\t\t\t// Remove duplicate headers by appending the values of duplicates\n\t\t\t// in their order of appearance.\n\t\t\theaderMap[header] = append(headerMap[header], value)\n\t\t}\n\t}\n\n\tvar sanitizedHeaders []string\n\tfor header, values := range headerMap {\n\t\t// There should be no spaces around the colon separating the\n\t\t// header name from the header value or around the values\n\t\t// themselves. The values should be separated by commas.\n\t\t// NOTE: The semantics for headers without a value are not clear.\n\t\t//       However from specifications these should be edge-cases\n\t\t//       anyway and we should assume that there will be no\n\t\t//       canonical headers using empty values. Any such headers\n\t\t//       are discarded at the regexp stage above.\n\t\tsanitizedHeaders = append(\n\t\t\tsanitizedHeaders,\n\t\t\tfmt.Sprintf(\"%s:%s\", header, strings.Join(values, \",\")),\n\t\t)\n\t}\n\tsort.Strings(sanitizedHeaders)\n\treturn sanitizedHeaders\n}\n\n// SignedURL returns a URL for the specified object. Signed URLs allow\n// the users access to a restricted resource for a limited time without having a\n// Google account or signing in. For more information about the signed\n// URLs, see https://cloud.google.com/storage/docs/accesscontrol#Signed-URLs.\nfunc SignedURL(bucket, name string, opts *SignedURLOptions) (string, error) {\n\tif opts == nil {\n\t\treturn \"\", errors.New(\"storage: missing required SignedURLOptions\")\n\t}\n\tif opts.GoogleAccessID == \"\" {\n\t\treturn \"\", errors.New(\"storage: missing required GoogleAccessID\")\n\t}\n\tif (opts.PrivateKey == nil) == (opts.SignBytes == nil) {\n\t\treturn \"\", errors.New(\"storage: exactly one of PrivateKey or SignedBytes must be set\")\n\t}\n\tif opts.Method == \"\" {\n\t\treturn \"\", errors.New(\"storage: missing required method option\")\n\t}\n\tif opts.Expires.IsZero() {\n\t\treturn \"\", errors.New(\"storage: missing required expires option\")\n\t}\n\tif opts.MD5 != \"\" {\n\t\tmd5, err := base64.StdEncoding.DecodeString(opts.MD5)\n\t\tif err != nil || len(md5) != 16 {\n\t\t\treturn \"\", errors.New(\"storage: invalid MD5 checksum\")\n\t\t}\n\t}\n\topts.Headers = sanitizeHeaders(opts.Headers)\n\n\tsignBytes := opts.SignBytes\n\tif opts.PrivateKey != nil {\n\t\tkey, err := parseKey(opts.PrivateKey)\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t\tsignBytes = func(b []byte) ([]byte, error) {\n\t\t\tsum := sha256.Sum256(b)\n\t\t\treturn rsa.SignPKCS1v15(\n\t\t\t\trand.Reader,\n\t\t\t\tkey,\n\t\t\t\tcrypto.SHA256,\n\t\t\t\tsum[:],\n\t\t\t)\n\t\t}\n\t}\n\n\tu := &url.URL{\n\t\tPath: fmt.Sprintf(\"/%s/%s\", bucket, name),\n\t}\n\n\tbuf := &bytes.Buffer{}\n\tfmt.Fprintf(buf, \"%s\\n\", opts.Method)\n\tfmt.Fprintf(buf, \"%s\\n\", opts.MD5)\n\tfmt.Fprintf(buf, \"%s\\n\", opts.ContentType)\n\tfmt.Fprintf(buf, \"%d\\n\", opts.Expires.Unix())\n\tif len(opts.Headers) > 0 {\n\t\tfmt.Fprintf(buf, \"%s\\n\", strings.Join(opts.Headers, \"\\n\"))\n\t}\n\tfmt.Fprintf(buf, \"%s\", u.String())\n\n\tb, err := signBytes(buf.Bytes())\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tencoded := base64.StdEncoding.EncodeToString(b)\n\tu.Scheme = \"https\"\n\tu.Host = \"storage.googleapis.com\"\n\tq := u.Query()\n\tq.Set(\"GoogleAccessId\", opts.GoogleAccessID)\n\tq.Set(\"Expires\", fmt.Sprintf(\"%d\", opts.Expires.Unix()))\n\tq.Set(\"Signature\", string(encoded))\n\tu.RawQuery = q.Encode()\n\treturn u.String(), nil\n}\n\n// ObjectHandle provides operations on an object in a Google Cloud Storage bucket.\n// Use BucketHandle.Object to get a handle.\ntype ObjectHandle struct {\n\tc              *Client\n\tbucket         string\n\tobject         string\n\tacl            ACLHandle\n\tgen            int64 // a negative value indicates latest\n\tconds          *Conditions\n\tencryptionKey  []byte // AES-256 key\n\tuserProject    string // for requester-pays buckets\n\treadCompressed bool   // Accept-Encoding: gzip\n}\n\n// ACL provides access to the object's access control list.\n// This controls who can read and write this object.\n// This call does not perform any network operations.\nfunc (o *ObjectHandle) ACL() *ACLHandle {\n\treturn &o.acl\n}\n\n// Generation returns a new ObjectHandle that operates on a specific generation\n// of the object.\n// By default, the handle operates on the latest generation. Not\n// all operations work when given a specific generation; check the API\n// endpoints at https://cloud.google.com/storage/docs/json_api/ for details.\nfunc (o *ObjectHandle) Generation(gen int64) *ObjectHandle {\n\to2 := *o\n\to2.gen = gen\n\treturn &o2\n}\n\n// If returns a new ObjectHandle that applies a set of preconditions.\n// Preconditions already set on the ObjectHandle are ignored.\n// Operations on the new handle will only occur if the preconditions are\n// satisfied. See https://cloud.google.com/storage/docs/generations-preconditions\n// for more details.\nfunc (o *ObjectHandle) If(conds Conditions) *ObjectHandle {\n\to2 := *o\n\to2.conds = &conds\n\treturn &o2\n}\n\n// Key returns a new ObjectHandle that uses the supplied encryption\n// key to encrypt and decrypt the object's contents.\n//\n// Encryption key must be a 32-byte AES-256 key.\n// See https://cloud.google.com/storage/docs/encryption for details.\nfunc (o *ObjectHandle) Key(encryptionKey []byte) *ObjectHandle {\n\to2 := *o\n\to2.encryptionKey = encryptionKey\n\treturn &o2\n}\n\n// Attrs returns meta information about the object.\n// ErrObjectNotExist will be returned if the object is not found.\nfunc (o *ObjectHandle) Attrs(ctx context.Context) (*ObjectAttrs, error) {\n\tif err := o.validate(); err != nil {\n\t\treturn nil, err\n\t}\n\tcall := o.c.raw.Objects.Get(o.bucket, o.object).Projection(\"full\").Context(ctx)\n\tif err := applyConds(\"Attrs\", o.gen, o.conds, call); err != nil {\n\t\treturn nil, err\n\t}\n\tif o.userProject != \"\" {\n\t\tcall.UserProject(o.userProject)\n\t}\n\tif err := setEncryptionHeaders(call.Header(), o.encryptionKey, false); err != nil {\n\t\treturn nil, err\n\t}\n\tvar obj *raw.Object\n\tvar err error\n\tsetClientHeader(call.Header())\n\terr = runWithRetry(ctx, func() error { obj, err = call.Do(); return err })\n\tif e, ok := err.(*googleapi.Error); ok && e.Code == http.StatusNotFound {\n\t\treturn nil, ErrObjectNotExist\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn newObject(obj), nil\n}\n\n// Update updates an object with the provided attributes.\n// All zero-value attributes are ignored.\n// ErrObjectNotExist will be returned if the object is not found.\nfunc (o *ObjectHandle) Update(ctx context.Context, uattrs ObjectAttrsToUpdate) (*ObjectAttrs, error) {\n\tif err := o.validate(); err != nil {\n\t\treturn nil, err\n\t}\n\tvar attrs ObjectAttrs\n\t// Lists of fields to send, and set to null, in the JSON.\n\tvar forceSendFields, nullFields []string\n\tif uattrs.ContentType != nil {\n\t\tattrs.ContentType = optional.ToString(uattrs.ContentType)\n\t\t// For ContentType, sending the empty string is a no-op.\n\t\t// Instead we send a null.\n\t\tif attrs.ContentType == \"\" {\n\t\t\tnullFields = append(nullFields, \"ContentType\")\n\t\t} else {\n\t\t\tforceSendFields = append(forceSendFields, \"ContentType\")\n\t\t}\n\t}\n\tif uattrs.ContentLanguage != nil {\n\t\tattrs.ContentLanguage = optional.ToString(uattrs.ContentLanguage)\n\t\t// For ContentLanguage it's an error to send the empty string.\n\t\t// Instead we send a null.\n\t\tif attrs.ContentLanguage == \"\" {\n\t\t\tnullFields = append(nullFields, \"ContentLanguage\")\n\t\t} else {\n\t\t\tforceSendFields = append(forceSendFields, \"ContentLanguage\")\n\t\t}\n\t}\n\tif uattrs.ContentEncoding != nil {\n\t\tattrs.ContentEncoding = optional.ToString(uattrs.ContentEncoding)\n\t\tforceSendFields = append(forceSendFields, \"ContentEncoding\")\n\t}\n\tif uattrs.ContentDisposition != nil {\n\t\tattrs.ContentDisposition = optional.ToString(uattrs.ContentDisposition)\n\t\tforceSendFields = append(forceSendFields, \"ContentDisposition\")\n\t}\n\tif uattrs.CacheControl != nil {\n\t\tattrs.CacheControl = optional.ToString(uattrs.CacheControl)\n\t\tforceSendFields = append(forceSendFields, \"CacheControl\")\n\t}\n\tif uattrs.Metadata != nil {\n\t\tattrs.Metadata = uattrs.Metadata\n\t\tif len(attrs.Metadata) == 0 {\n\t\t\t// Sending the empty map is a no-op. We send null instead.\n\t\t\tnullFields = append(nullFields, \"Metadata\")\n\t\t} else {\n\t\t\tforceSendFields = append(forceSendFields, \"Metadata\")\n\t\t}\n\t}\n\tif uattrs.ACL != nil {\n\t\tattrs.ACL = uattrs.ACL\n\t\t// It's an error to attempt to delete the ACL, so\n\t\t// we don't append to nullFields here.\n\t\tforceSendFields = append(forceSendFields, \"Acl\")\n\t}\n\trawObj := attrs.toRawObject(o.bucket)\n\trawObj.ForceSendFields = forceSendFields\n\trawObj.NullFields = nullFields\n\tcall := o.c.raw.Objects.Patch(o.bucket, o.object, rawObj).Projection(\"full\").Context(ctx)\n\tif err := applyConds(\"Update\", o.gen, o.conds, call); err != nil {\n\t\treturn nil, err\n\t}\n\tif o.userProject != \"\" {\n\t\tcall.UserProject(o.userProject)\n\t}\n\tif err := setEncryptionHeaders(call.Header(), o.encryptionKey, false); err != nil {\n\t\treturn nil, err\n\t}\n\tvar obj *raw.Object\n\tvar err error\n\tsetClientHeader(call.Header())\n\terr = runWithRetry(ctx, func() error { obj, err = call.Do(); return err })\n\tif e, ok := err.(*googleapi.Error); ok && e.Code == http.StatusNotFound {\n\t\treturn nil, ErrObjectNotExist\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn newObject(obj), nil\n}\n\n// ObjectAttrsToUpdate is used to update the attributes of an object.\n// Only fields set to non-nil values will be updated.\n// Set a field to its zero value to delete it.\n//\n// For example, to change ContentType and delete ContentEncoding and\n// Metadata, use\n//    ObjectAttrsToUpdate{\n//        ContentType: \"text/html\",\n//        ContentEncoding: \"\",\n//        Metadata: map[string]string{},\n//    }\ntype ObjectAttrsToUpdate struct {\n\tContentType        optional.String\n\tContentLanguage    optional.String\n\tContentEncoding    optional.String\n\tContentDisposition optional.String\n\tCacheControl       optional.String\n\tMetadata           map[string]string // set to map[string]string{} to delete\n\tACL                []ACLRule\n}\n\n// Delete deletes the single specified object.\nfunc (o *ObjectHandle) Delete(ctx context.Context) error {\n\tif err := o.validate(); err != nil {\n\t\treturn err\n\t}\n\tcall := o.c.raw.Objects.Delete(o.bucket, o.object).Context(ctx)\n\tif err := applyConds(\"Delete\", o.gen, o.conds, call); err != nil {\n\t\treturn err\n\t}\n\tif o.userProject != \"\" {\n\t\tcall.UserProject(o.userProject)\n\t}\n\t// Encryption doesn't apply to Delete.\n\tsetClientHeader(call.Header())\n\terr := runWithRetry(ctx, func() error { return call.Do() })\n\tswitch e := err.(type) {\n\tcase nil:\n\t\treturn nil\n\tcase *googleapi.Error:\n\t\tif e.Code == http.StatusNotFound {\n\t\t\treturn ErrObjectNotExist\n\t\t}\n\t}\n\treturn err\n}\n\n// ReadCompressed when true causes the read to happen without decompressing.\nfunc (o *ObjectHandle) ReadCompressed(compressed bool) *ObjectHandle {\n\to2 := *o\n\to2.readCompressed = compressed\n\treturn &o2\n}\n\n// NewReader creates a new Reader to read the contents of the\n// object.\n// ErrObjectNotExist will be returned if the object is not found.\n//\n// The caller must call Close on the returned Reader when done reading.\nfunc (o *ObjectHandle) NewReader(ctx context.Context) (*Reader, error) {\n\treturn o.NewRangeReader(ctx, 0, -1)\n}\n\n// NewRangeReader reads part of an object, reading at most length bytes\n// starting at the given offset. If length is negative, the object is read\n// until the end.\nfunc (o *ObjectHandle) NewRangeReader(ctx context.Context, offset, length int64) (*Reader, error) {\n\tif err := o.validate(); err != nil {\n\t\treturn nil, err\n\t}\n\tif offset < 0 {\n\t\treturn nil, fmt.Errorf(\"storage: invalid offset %d < 0\", offset)\n\t}\n\tif o.conds != nil {\n\t\tif err := o.conds.validate(\"NewRangeReader\"); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tu := &url.URL{\n\t\tScheme:   \"https\",\n\t\tHost:     \"storage.googleapis.com\",\n\t\tPath:     fmt.Sprintf(\"/%s/%s\", o.bucket, o.object),\n\t\tRawQuery: conditionsQuery(o.gen, o.conds),\n\t}\n\tverb := \"GET\"\n\tif length == 0 {\n\t\tverb = \"HEAD\"\n\t}\n\treq, err := http.NewRequest(verb, u.String(), nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treq = withContext(req, ctx)\n\tif length < 0 && offset > 0 {\n\t\treq.Header.Set(\"Range\", fmt.Sprintf(\"bytes=%d-\", offset))\n\t} else if length > 0 {\n\t\treq.Header.Set(\"Range\", fmt.Sprintf(\"bytes=%d-%d\", offset, offset+length-1))\n\t}\n\tif o.userProject != \"\" {\n\t\treq.Header.Set(\"X-Goog-User-Project\", o.userProject)\n\t}\n\tif o.readCompressed {\n\t\treq.Header.Set(\"Accept-Encoding\", \"gzip\")\n\t}\n\tif err := setEncryptionHeaders(req.Header, o.encryptionKey, false); err != nil {\n\t\treturn nil, err\n\t}\n\tvar res *http.Response\n\terr = runWithRetry(ctx, func() error {\n\t\tres, err = o.c.hc.Do(req)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif res.StatusCode == http.StatusNotFound {\n\t\t\tres.Body.Close()\n\t\t\treturn ErrObjectNotExist\n\t\t}\n\t\tif res.StatusCode < 200 || res.StatusCode > 299 {\n\t\t\tbody, _ := ioutil.ReadAll(res.Body)\n\t\t\tres.Body.Close()\n\t\t\treturn &googleapi.Error{\n\t\t\t\tCode:   res.StatusCode,\n\t\t\t\tHeader: res.Header,\n\t\t\t\tBody:   string(body),\n\t\t\t}\n\t\t}\n\t\tif offset > 0 && length != 0 && res.StatusCode != http.StatusPartialContent {\n\t\t\tres.Body.Close()\n\t\t\treturn errors.New(\"storage: partial request not satisfied\")\n\t\t}\n\t\treturn nil\n\t})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar size int64 // total size of object, even if a range was requested.\n\tif res.StatusCode == http.StatusPartialContent {\n\t\tcr := strings.TrimSpace(res.Header.Get(\"Content-Range\"))\n\t\tif !strings.HasPrefix(cr, \"bytes \") || !strings.Contains(cr, \"/\") {\n\t\t\treturn nil, fmt.Errorf(\"storage: invalid Content-Range %q\", cr)\n\t\t}\n\t\tsize, err = strconv.ParseInt(cr[strings.LastIndex(cr, \"/\")+1:], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"storage: invalid Content-Range %q\", cr)\n\t\t}\n\t} else {\n\t\tsize = res.ContentLength\n\t}\n\n\tremain := res.ContentLength\n\tbody := res.Body\n\tif length == 0 {\n\t\tremain = 0\n\t\tbody.Close()\n\t\tbody = emptyBody\n\t}\n\tvar (\n\t\tcheckCRC bool\n\t\tcrc      uint32\n\t)\n\t// Even if there is a CRC header, we can't compute the hash on partial data.\n\tif remain == size {\n\t\tcrc, checkCRC = parseCRC32c(res)\n\t}\n\treturn &Reader{\n\t\tbody:            body,\n\t\tsize:            size,\n\t\tremain:          remain,\n\t\tcontentType:     res.Header.Get(\"Content-Type\"),\n\t\tcontentEncoding: res.Header.Get(\"Content-Encoding\"),\n\t\tcacheControl:    res.Header.Get(\"Cache-Control\"),\n\t\twantCRC:         crc,\n\t\tcheckCRC:        checkCRC,\n\t}, nil\n}\n\nfunc parseCRC32c(res *http.Response) (uint32, bool) {\n\tconst prefix = \"crc32c=\"\n\tfor _, spec := range res.Header[\"X-Goog-Hash\"] {\n\t\tif strings.HasPrefix(spec, prefix) {\n\t\t\tc, err := decodeUint32(spec[len(prefix):])\n\t\t\tif err == nil {\n\t\t\t\treturn c, true\n\t\t\t}\n\t\t}\n\t}\n\treturn 0, false\n}\n\nvar emptyBody = ioutil.NopCloser(strings.NewReader(\"\"))\n\n// NewWriter returns a storage Writer that writes to the GCS object\n// associated with this ObjectHandle.\n//\n// A new object will be created unless an object with this name already exists.\n// Otherwise any previous object with the same name will be replaced.\n// The object will not be available (and any previous object will remain)\n// until Close has been called.\n//\n// Attributes can be set on the object by modifying the returned Writer's\n// ObjectAttrs field before the first call to Write. If no ContentType\n// attribute is specified, the content type will be automatically sniffed\n// using net/http.DetectContentType.\n//\n// It is the caller's responsibility to call Close when writing is done.\nfunc (o *ObjectHandle) NewWriter(ctx context.Context) *Writer {\n\treturn &Writer{\n\t\tctx:         ctx,\n\t\to:           o,\n\t\tdonec:       make(chan struct{}),\n\t\tObjectAttrs: ObjectAttrs{Name: o.object},\n\t\tChunkSize:   googleapi.DefaultUploadChunkSize,\n\t}\n}\n\nfunc (o *ObjectHandle) validate() error {\n\tif o.bucket == \"\" {\n\t\treturn errors.New(\"storage: bucket name is empty\")\n\t}\n\tif o.object == \"\" {\n\t\treturn errors.New(\"storage: object name is empty\")\n\t}\n\tif !utf8.ValidString(o.object) {\n\t\treturn fmt.Errorf(\"storage: object name %q is not valid UTF-8\", o.object)\n\t}\n\treturn nil\n}\n\n// parseKey converts the binary contents of a private key file to an\n// *rsa.PrivateKey. It detects whether the private key is in a PEM container or\n// not. If so, it extracts the private key from PEM container before\n// conversion. It only supports PEM containers with no passphrase.\nfunc parseKey(key []byte) (*rsa.PrivateKey, error) {\n\tif block, _ := pem.Decode(key); block != nil {\n\t\tkey = block.Bytes\n\t}\n\tparsedKey, err := x509.ParsePKCS8PrivateKey(key)\n\tif err != nil {\n\t\tparsedKey, err = x509.ParsePKCS1PrivateKey(key)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tparsed, ok := parsedKey.(*rsa.PrivateKey)\n\tif !ok {\n\t\treturn nil, errors.New(\"oauth2: private key is invalid\")\n\t}\n\treturn parsed, nil\n}\n\nfunc toRawObjectACL(oldACL []ACLRule) []*raw.ObjectAccessControl {\n\tvar acl []*raw.ObjectAccessControl\n\tif len(oldACL) > 0 {\n\t\tacl = make([]*raw.ObjectAccessControl, len(oldACL))\n\t\tfor i, rule := range oldACL {\n\t\t\tacl[i] = &raw.ObjectAccessControl{\n\t\t\t\tEntity: string(rule.Entity),\n\t\t\t\tRole:   string(rule.Role),\n\t\t\t}\n\t\t}\n\t}\n\treturn acl\n}\n\n// toRawObject copies the editable attributes from o to the raw library's Object type.\nfunc (o *ObjectAttrs) toRawObject(bucket string) *raw.Object {\n\tacl := toRawObjectACL(o.ACL)\n\treturn &raw.Object{\n\t\tBucket:             bucket,\n\t\tName:               o.Name,\n\t\tContentType:        o.ContentType,\n\t\tContentEncoding:    o.ContentEncoding,\n\t\tContentLanguage:    o.ContentLanguage,\n\t\tCacheControl:       o.CacheControl,\n\t\tContentDisposition: o.ContentDisposition,\n\t\tStorageClass:       o.StorageClass,\n\t\tAcl:                acl,\n\t\tMetadata:           o.Metadata,\n\t}\n}\n\n// ObjectAttrs represents the metadata for a Google Cloud Storage (GCS) object.\ntype ObjectAttrs struct {\n\t// Bucket is the name of the bucket containing this GCS object.\n\t// This field is read-only.\n\tBucket string\n\n\t// Name is the name of the object within the bucket.\n\t// This field is read-only.\n\tName string\n\n\t// ContentType is the MIME type of the object's content.\n\tContentType string\n\n\t// ContentLanguage is the content language of the object's content.\n\tContentLanguage string\n\n\t// CacheControl is the Cache-Control header to be sent in the response\n\t// headers when serving the object data.\n\tCacheControl string\n\n\t// ACL is the list of access control rules for the object.\n\tACL []ACLRule\n\n\t// Owner is the owner of the object. This field is read-only.\n\t//\n\t// If non-zero, it is in the form of \"user-<userId>\".\n\tOwner string\n\n\t// Size is the length of the object's content. This field is read-only.\n\tSize int64\n\n\t// ContentEncoding is the encoding of the object's content.\n\tContentEncoding string\n\n\t// ContentDisposition is the optional Content-Disposition header of the object\n\t// sent in the response headers.\n\tContentDisposition string\n\n\t// MD5 is the MD5 hash of the object's content. This field is read-only,\n\t// except when used from a Writer. If set on a Writer, the uploaded\n\t// data is rejected if its MD5 hash does not match this field.\n\tMD5 []byte\n\n\t// CRC32C is the CRC32 checksum of the object's content using\n\t// the Castagnoli93 polynomial. This field is read-only, except when\n\t// used from a Writer. If set on a Writer and Writer.SendCRC32C\n\t// is true, the uploaded data is rejected if its CRC32c hash does not\n\t// match this field.\n\tCRC32C uint32\n\n\t// MediaLink is an URL to the object's content. This field is read-only.\n\tMediaLink string\n\n\t// Metadata represents user-provided metadata, in key/value pairs.\n\t// It can be nil if no metadata is provided.\n\tMetadata map[string]string\n\n\t// Generation is the generation number of the object's content.\n\t// This field is read-only.\n\tGeneration int64\n\n\t// Metageneration is the version of the metadata for this\n\t// object at this generation. This field is used for preconditions\n\t// and for detecting changes in metadata. A metageneration number\n\t// is only meaningful in the context of a particular generation\n\t// of a particular object. This field is read-only.\n\tMetageneration int64\n\n\t// StorageClass is the storage class of the object.\n\t// This value defines how objects in the bucket are stored and\n\t// determines the SLA and the cost of storage. Typical values are\n\t// \"MULTI_REGIONAL\", \"REGIONAL\", \"NEARLINE\", \"COLDLINE\", \"STANDARD\"\n\t// and \"DURABLE_REDUCED_AVAILABILITY\".\n\t// It defaults to \"STANDARD\", which is equivalent to \"MULTI_REGIONAL\"\n\t// or \"REGIONAL\" depending on the bucket's location settings.\n\tStorageClass string\n\n\t// Created is the time the object was created. This field is read-only.\n\tCreated time.Time\n\n\t// Deleted is the time the object was deleted.\n\t// If not deleted, it is the zero value. This field is read-only.\n\tDeleted time.Time\n\n\t// Updated is the creation or modification time of the object.\n\t// For buckets with versioning enabled, changing an object's\n\t// metadata does not change this property. This field is read-only.\n\tUpdated time.Time\n\n\t// CustomerKeySHA256 is the base64-encoded SHA-256 hash of the\n\t// customer-supplied encryption key for the object. It is empty if there is\n\t// no customer-supplied encryption key.\n\t// See // https://cloud.google.com/storage/docs/encryption for more about\n\t// encryption in Google Cloud Storage.\n\tCustomerKeySHA256 string\n\n\t// Prefix is set only for ObjectAttrs which represent synthetic \"directory\n\t// entries\" when iterating over buckets using Query.Delimiter. See\n\t// ObjectIterator.Next. When set, no other fields in ObjectAttrs will be\n\t// populated.\n\tPrefix string\n}\n\n// convertTime converts a time in RFC3339 format to time.Time.\n// If any error occurs in parsing, the zero-value time.Time is silently returned.\nfunc convertTime(t string) time.Time {\n\tvar r time.Time\n\tif t != \"\" {\n\t\tr, _ = time.Parse(time.RFC3339, t)\n\t}\n\treturn r\n}\n\nfunc newObject(o *raw.Object) *ObjectAttrs {\n\tif o == nil {\n\t\treturn nil\n\t}\n\tacl := make([]ACLRule, len(o.Acl))\n\tfor i, rule := range o.Acl {\n\t\tacl[i] = ACLRule{\n\t\t\tEntity: ACLEntity(rule.Entity),\n\t\t\tRole:   ACLRole(rule.Role),\n\t\t}\n\t}\n\towner := \"\"\n\tif o.Owner != nil {\n\t\towner = o.Owner.Entity\n\t}\n\tmd5, _ := base64.StdEncoding.DecodeString(o.Md5Hash)\n\tcrc32c, _ := decodeUint32(o.Crc32c)\n\tvar sha256 string\n\tif o.CustomerEncryption != nil {\n\t\tsha256 = o.CustomerEncryption.KeySha256\n\t}\n\treturn &ObjectAttrs{\n\t\tBucket:             o.Bucket,\n\t\tName:               o.Name,\n\t\tContentType:        o.ContentType,\n\t\tContentLanguage:    o.ContentLanguage,\n\t\tCacheControl:       o.CacheControl,\n\t\tACL:                acl,\n\t\tOwner:              owner,\n\t\tContentEncoding:    o.ContentEncoding,\n\t\tContentDisposition: o.ContentDisposition,\n\t\tSize:               int64(o.Size),\n\t\tMD5:                md5,\n\t\tCRC32C:             crc32c,\n\t\tMediaLink:          o.MediaLink,\n\t\tMetadata:           o.Metadata,\n\t\tGeneration:         o.Generation,\n\t\tMetageneration:     o.Metageneration,\n\t\tStorageClass:       o.StorageClass,\n\t\tCustomerKeySHA256:  sha256,\n\t\tCreated:            convertTime(o.TimeCreated),\n\t\tDeleted:            convertTime(o.TimeDeleted),\n\t\tUpdated:            convertTime(o.Updated),\n\t}\n}\n\n// Decode a uint32 encoded in Base64 in big-endian byte order.\nfunc decodeUint32(b64 string) (uint32, error) {\n\td, err := base64.StdEncoding.DecodeString(b64)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tif len(d) != 4 {\n\t\treturn 0, fmt.Errorf(\"storage: %q does not encode a 32-bit value\", d)\n\t}\n\treturn uint32(d[0])<<24 + uint32(d[1])<<16 + uint32(d[2])<<8 + uint32(d[3]), nil\n}\n\n// Encode a uint32 as Base64 in big-endian byte order.\nfunc encodeUint32(u uint32) string {\n\tb := []byte{byte(u >> 24), byte(u >> 16), byte(u >> 8), byte(u)}\n\treturn base64.StdEncoding.EncodeToString(b)\n}\n\n// Query represents a query to filter objects from a bucket.\ntype Query struct {\n\t// Delimiter returns results in a directory-like fashion.\n\t// Results will contain only objects whose names, aside from the\n\t// prefix, do not contain delimiter. Objects whose names,\n\t// aside from the prefix, contain delimiter will have their name,\n\t// truncated after the delimiter, returned in prefixes.\n\t// Duplicate prefixes are omitted.\n\t// Optional.\n\tDelimiter string\n\n\t// Prefix is the prefix filter to query objects\n\t// whose names begin with this prefix.\n\t// Optional.\n\tPrefix string\n\n\t// Versions indicates whether multiple versions of the same\n\t// object will be included in the results.\n\tVersions bool\n}\n\n// contentTyper implements ContentTyper to enable an\n// io.ReadCloser to specify its MIME type.\ntype contentTyper struct {\n\tio.Reader\n\tt string\n}\n\nfunc (c *contentTyper) ContentType() string {\n\treturn c.t\n}\n\n// Conditions constrain methods to act on specific generations of\n// objects.\n//\n// The zero value is an empty set of constraints. Not all conditions or\n// combinations of conditions are applicable to all methods.\n// See https://cloud.google.com/storage/docs/generations-preconditions\n// for details on how these operate.\ntype Conditions struct {\n\t// Generation constraints.\n\t// At most one of the following can be set to a non-zero value.\n\n\t// GenerationMatch specifies that the object must have the given generation\n\t// for the operation to occur.\n\t// If GenerationMatch is zero, it has no effect.\n\t// Use DoesNotExist to specify that the object does not exist in the bucket.\n\tGenerationMatch int64\n\n\t// GenerationNotMatch specifies that the object must not have the given\n\t// generation for the operation to occur.\n\t// If GenerationNotMatch is zero, it has no effect.\n\tGenerationNotMatch int64\n\n\t// DoesNotExist specifies that the object must not exist in the bucket for\n\t// the operation to occur.\n\t// If DoesNotExist is false, it has no effect.\n\tDoesNotExist bool\n\n\t// Metadata generation constraints.\n\t// At most one of the following can be set to a non-zero value.\n\n\t// MetagenerationMatch specifies that the object must have the given\n\t// metageneration for the operation to occur.\n\t// If MetagenerationMatch is zero, it has no effect.\n\tMetagenerationMatch int64\n\n\t// MetagenerationNotMatch specifies that the object must not have the given\n\t// metageneration for the operation to occur.\n\t// If MetagenerationNotMatch is zero, it has no effect.\n\tMetagenerationNotMatch int64\n}\n\nfunc (c *Conditions) validate(method string) error {\n\tif *c == (Conditions{}) {\n\t\treturn fmt.Errorf(\"storage: %s: empty conditions\", method)\n\t}\n\tif !c.isGenerationValid() {\n\t\treturn fmt.Errorf(\"storage: %s: multiple conditions specified for generation\", method)\n\t}\n\tif !c.isMetagenerationValid() {\n\t\treturn fmt.Errorf(\"storage: %s: multiple conditions specified for metageneration\", method)\n\t}\n\treturn nil\n}\n\nfunc (c *Conditions) isGenerationValid() bool {\n\tn := 0\n\tif c.GenerationMatch != 0 {\n\t\tn++\n\t}\n\tif c.GenerationNotMatch != 0 {\n\t\tn++\n\t}\n\tif c.DoesNotExist {\n\t\tn++\n\t}\n\treturn n <= 1\n}\n\nfunc (c *Conditions) isMetagenerationValid() bool {\n\treturn c.MetagenerationMatch == 0 || c.MetagenerationNotMatch == 0\n}\n\n// applyConds modifies the provided call using the conditions in conds.\n// call is something that quacks like a *raw.WhateverCall.\nfunc applyConds(method string, gen int64, conds *Conditions, call interface{}) error {\n\tcval := reflect.ValueOf(call)\n\tif gen >= 0 {\n\t\tif !setConditionField(cval, \"Generation\", gen) {\n\t\t\treturn fmt.Errorf(\"storage: %s: generation not supported\", method)\n\t\t}\n\t}\n\tif conds == nil {\n\t\treturn nil\n\t}\n\tif err := conds.validate(method); err != nil {\n\t\treturn err\n\t}\n\tswitch {\n\tcase conds.GenerationMatch != 0:\n\t\tif !setConditionField(cval, \"IfGenerationMatch\", conds.GenerationMatch) {\n\t\t\treturn fmt.Errorf(\"storage: %s: ifGenerationMatch not supported\", method)\n\t\t}\n\tcase conds.GenerationNotMatch != 0:\n\t\tif !setConditionField(cval, \"IfGenerationNotMatch\", conds.GenerationNotMatch) {\n\t\t\treturn fmt.Errorf(\"storage: %s: ifGenerationNotMatch not supported\", method)\n\t\t}\n\tcase conds.DoesNotExist:\n\t\tif !setConditionField(cval, \"IfGenerationMatch\", int64(0)) {\n\t\t\treturn fmt.Errorf(\"storage: %s: DoesNotExist not supported\", method)\n\t\t}\n\t}\n\tswitch {\n\tcase conds.MetagenerationMatch != 0:\n\t\tif !setConditionField(cval, \"IfMetagenerationMatch\", conds.MetagenerationMatch) {\n\t\t\treturn fmt.Errorf(\"storage: %s: ifMetagenerationMatch not supported\", method)\n\t\t}\n\tcase conds.MetagenerationNotMatch != 0:\n\t\tif !setConditionField(cval, \"IfMetagenerationNotMatch\", conds.MetagenerationNotMatch) {\n\t\t\treturn fmt.Errorf(\"storage: %s: ifMetagenerationNotMatch not supported\", method)\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc applySourceConds(gen int64, conds *Conditions, call *raw.ObjectsRewriteCall) error {\n\tif gen >= 0 {\n\t\tcall.SourceGeneration(gen)\n\t}\n\tif conds == nil {\n\t\treturn nil\n\t}\n\tif err := conds.validate(\"CopyTo source\"); err != nil {\n\t\treturn err\n\t}\n\tswitch {\n\tcase conds.GenerationMatch != 0:\n\t\tcall.IfSourceGenerationMatch(conds.GenerationMatch)\n\tcase conds.GenerationNotMatch != 0:\n\t\tcall.IfSourceGenerationNotMatch(conds.GenerationNotMatch)\n\tcase conds.DoesNotExist:\n\t\tcall.IfSourceGenerationMatch(0)\n\t}\n\tswitch {\n\tcase conds.MetagenerationMatch != 0:\n\t\tcall.IfSourceMetagenerationMatch(conds.MetagenerationMatch)\n\tcase conds.MetagenerationNotMatch != 0:\n\t\tcall.IfSourceMetagenerationNotMatch(conds.MetagenerationNotMatch)\n\t}\n\treturn nil\n}\n\n// setConditionField sets a field on a *raw.WhateverCall.\n// We can't use anonymous interfaces because the return type is\n// different, since the field setters are builders.\nfunc setConditionField(call reflect.Value, name string, value interface{}) bool {\n\tm := call.MethodByName(name)\n\tif !m.IsValid() {\n\t\treturn false\n\t}\n\tm.Call([]reflect.Value{reflect.ValueOf(value)})\n\treturn true\n}\n\n// conditionsQuery returns the generation and conditions as a URL query\n// string suitable for URL.RawQuery.  It assumes that the conditions\n// have been validated.\nfunc conditionsQuery(gen int64, conds *Conditions) string {\n\t// URL escapes are elided because integer strings are URL-safe.\n\tvar buf []byte\n\n\tappendParam := func(s string, n int64) {\n\t\tif len(buf) > 0 {\n\t\t\tbuf = append(buf, '&')\n\t\t}\n\t\tbuf = append(buf, s...)\n\t\tbuf = strconv.AppendInt(buf, n, 10)\n\t}\n\n\tif gen >= 0 {\n\t\tappendParam(\"generation=\", gen)\n\t}\n\tif conds == nil {\n\t\treturn string(buf)\n\t}\n\tswitch {\n\tcase conds.GenerationMatch != 0:\n\t\tappendParam(\"ifGenerationMatch=\", conds.GenerationMatch)\n\tcase conds.GenerationNotMatch != 0:\n\t\tappendParam(\"ifGenerationNotMatch=\", conds.GenerationNotMatch)\n\tcase conds.DoesNotExist:\n\t\tappendParam(\"ifGenerationMatch=\", 0)\n\t}\n\tswitch {\n\tcase conds.MetagenerationMatch != 0:\n\t\tappendParam(\"ifMetagenerationMatch=\", conds.MetagenerationMatch)\n\tcase conds.MetagenerationNotMatch != 0:\n\t\tappendParam(\"ifMetagenerationNotMatch=\", conds.MetagenerationNotMatch)\n\t}\n\treturn string(buf)\n}\n\n// composeSourceObj wraps a *raw.ComposeRequestSourceObjects, but adds the methods\n// that modifyCall searches for by name.\ntype composeSourceObj struct {\n\tsrc *raw.ComposeRequestSourceObjects\n}\n\nfunc (c composeSourceObj) Generation(gen int64) {\n\tc.src.Generation = gen\n}\n\nfunc (c composeSourceObj) IfGenerationMatch(gen int64) {\n\t// It's safe to overwrite ObjectPreconditions, since its only field is\n\t// IfGenerationMatch.\n\tc.src.ObjectPreconditions = &raw.ComposeRequestSourceObjectsObjectPreconditions{\n\t\tIfGenerationMatch: gen,\n\t}\n}\n\nfunc setEncryptionHeaders(headers http.Header, key []byte, copySource bool) error {\n\tif key == nil {\n\t\treturn nil\n\t}\n\t// TODO(jbd): Ask the API team to return a more user-friendly error\n\t// and avoid doing this check at the client level.\n\tif len(key) != 32 {\n\t\treturn errors.New(\"storage: not a 32-byte AES-256 key\")\n\t}\n\tvar cs string\n\tif copySource {\n\t\tcs = \"copy-source-\"\n\t}\n\theaders.Set(\"x-goog-\"+cs+\"encryption-algorithm\", \"AES256\")\n\theaders.Set(\"x-goog-\"+cs+\"encryption-key\", base64.StdEncoding.EncodeToString(key))\n\tkeyHash := sha256.Sum256(key)\n\theaders.Set(\"x-goog-\"+cs+\"encryption-key-sha256\", base64.StdEncoding.EncodeToString(keyHash[:]))\n\treturn nil\n}\n\n// TODO(jbd): Add storage.objects.watch.\n"
  },
  {
    "path": "vendor/cloud.google.com/go/storage/writer.go",
    "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\npackage storage\n\nimport (\n\t\"encoding/base64\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/api/googleapi\"\n\traw \"google.golang.org/api/storage/v1\"\n)\n\n// A Writer writes a Cloud Storage object.\ntype Writer struct {\n\t// ObjectAttrs are optional attributes to set on the object. Any attributes\n\t// must be initialized before the first Write call. Nil or zero-valued\n\t// attributes are ignored.\n\tObjectAttrs\n\n\t// SendCRC specifies whether to transmit a CRC32C field. It should be set\n\t// to true in addition to setting the Writer's CRC32C field, because zero\n\t// is a valid CRC and normally a zero would not be transmitted.\n\t// If a CRC32C is sent, and the data written does not match the checksum,\n\t// the write will be rejected.\n\tSendCRC32C bool\n\n\t// ChunkSize controls the maximum number of bytes of the object that the\n\t// Writer will attempt to send to the server in a single request. Objects\n\t// smaller than the size will be sent in a single request, while larger\n\t// objects will be split over multiple requests. The size will be rounded up\n\t// to the nearest multiple of 256K. If zero, chunking will be disabled and\n\t// the object will be uploaded in a single request.\n\t//\n\t// ChunkSize will default to a reasonable value. Any custom configuration\n\t// must be done before the first Write call.\n\tChunkSize int\n\n\t// ProgressFunc can be used to monitor the progress of a large write.\n\t// operation. If ProgressFunc is not nil and writing requires multiple\n\t// calls to the underlying service (see\n\t// https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload),\n\t// then ProgressFunc will be invoked after each call with the number of bytes of\n\t// content copied so far.\n\t//\n\t// ProgressFunc should return quickly without blocking.\n\tProgressFunc func(int64)\n\n\tctx context.Context\n\to   *ObjectHandle\n\n\topened bool\n\tpw     *io.PipeWriter\n\n\tdonec chan struct{} // closed after err and obj are set.\n\terr   error\n\tobj   *ObjectAttrs\n}\n\nfunc (w *Writer) open() error {\n\tattrs := w.ObjectAttrs\n\t// Check the developer didn't change the object Name (this is unfortunate, but\n\t// we don't want to store an object under the wrong name).\n\tif attrs.Name != w.o.object {\n\t\treturn fmt.Errorf(\"storage: Writer.Name %q does not match object name %q\", attrs.Name, w.o.object)\n\t}\n\tif !utf8.ValidString(attrs.Name) {\n\t\treturn fmt.Errorf(\"storage: object name %q is not valid UTF-8\", attrs.Name)\n\t}\n\tpr, pw := io.Pipe()\n\tw.pw = pw\n\tw.opened = true\n\n\tif w.ChunkSize < 0 {\n\t\treturn errors.New(\"storage: Writer.ChunkSize must be non-negative\")\n\t}\n\tmediaOpts := []googleapi.MediaOption{\n\t\tgoogleapi.ChunkSize(w.ChunkSize),\n\t}\n\tif c := attrs.ContentType; c != \"\" {\n\t\tmediaOpts = append(mediaOpts, googleapi.ContentType(c))\n\t}\n\n\tgo func() {\n\t\tdefer close(w.donec)\n\n\t\trawObj := attrs.toRawObject(w.o.bucket)\n\t\tif w.SendCRC32C {\n\t\t\trawObj.Crc32c = encodeUint32(attrs.CRC32C)\n\t\t}\n\t\tif w.MD5 != nil {\n\t\t\trawObj.Md5Hash = base64.StdEncoding.EncodeToString(w.MD5)\n\t\t}\n\t\tcall := w.o.c.raw.Objects.Insert(w.o.bucket, rawObj).\n\t\t\tMedia(pr, mediaOpts...).\n\t\t\tProjection(\"full\").\n\t\t\tContext(w.ctx)\n\t\tif w.ProgressFunc != nil {\n\t\t\tcall.ProgressUpdater(func(n, _ int64) { w.ProgressFunc(n) })\n\t\t}\n\t\tif err := setEncryptionHeaders(call.Header(), w.o.encryptionKey, false); err != nil {\n\t\t\tw.err = err\n\t\t\tpr.CloseWithError(w.err)\n\t\t\treturn\n\t\t}\n\t\tvar resp *raw.Object\n\t\terr := applyConds(\"NewWriter\", w.o.gen, w.o.conds, call)\n\t\tif err == nil {\n\t\t\tif w.o.userProject != \"\" {\n\t\t\t\tcall.UserProject(w.o.userProject)\n\t\t\t}\n\t\t\tsetClientHeader(call.Header())\n\t\t\t// If the chunk size is zero, then no chunking is done on the Reader,\n\t\t\t// which means we cannot retry: the first call will read the data, and if\n\t\t\t// it fails, there is no way to re-read.\n\t\t\tif w.ChunkSize == 0 {\n\t\t\t\tresp, err = call.Do()\n\t\t\t} else {\n\t\t\t\t// We will only retry here if the initial POST, which obtains a URI for\n\t\t\t\t// the resumable upload, fails with a retryable error. The upload itself\n\t\t\t\t// has its own retry logic.\n\t\t\t\terr = runWithRetry(w.ctx, func() error {\n\t\t\t\t\tvar err2 error\n\t\t\t\t\tresp, err2 = call.Do()\n\t\t\t\t\treturn err2\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tif err != nil {\n\t\t\tw.err = err\n\t\t\tpr.CloseWithError(w.err)\n\t\t\treturn\n\t\t}\n\t\tw.obj = newObject(resp)\n\t}()\n\treturn nil\n}\n\n// Write appends to w. It implements the io.Writer interface.\n//\n// Since writes happen asynchronously, Write may return a nil\n// error even though the write failed (or will fail). Always\n// use the error returned from Writer.Close to determine if\n// the upload was successful.\nfunc (w *Writer) Write(p []byte) (n int, err error) {\n\tif w.err != nil {\n\t\treturn 0, w.err\n\t}\n\tif !w.opened {\n\t\tif err := w.open(); err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t}\n\treturn w.pw.Write(p)\n}\n\n// Close completes the write operation and flushes any buffered data.\n// If Close doesn't return an error, metadata about the written object\n// can be retrieved by calling Attrs.\nfunc (w *Writer) Close() error {\n\tif !w.opened {\n\t\tif err := w.open(); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tif err := w.pw.Close(); err != nil {\n\t\treturn err\n\t}\n\t<-w.donec\n\treturn w.err\n}\n\n// CloseWithError aborts the write operation with the provided error.\n// CloseWithError always returns nil.\n//\n// Deprecated: cancel the context passed to NewWriter instead.\nfunc (w *Writer) CloseWithError(err error) error {\n\tif !w.opened {\n\t\treturn nil\n\t}\n\treturn w.pw.CloseWithError(err)\n}\n\n// Attrs returns metadata about a successfully-written object.\n// It's only valid to call it after Close returns nil.\nfunc (w *Writer) Attrs() *ObjectAttrs {\n\treturn w.obj\n}\n"
  },
  {
    "path": "vendor/github.com/ajstarks/svgo/LICENSE",
    "content": "The contents of this repository are Licensed under \nthe Creative Commons Attribution 3.0 license as described in\nhttp://creativecommons.org/licenses/by/3.0/us/\n"
  },
  {
    "path": "vendor/github.com/ajstarks/svgo/doc.go",
    "content": "/*\nPackage svg generates SVG as defined by the Scalable Vector Graphics 1.1 Specification (<http://www.w3.org/TR/SVG11/>).\nOutput goes to the specified io.Writer.\n\nSupported SVG elements and functions\n\nShapes, lines, text\n\n circle, ellipse, polygon, polyline, rect (including roundrects), line, text\n\nPaths\n\n general, arc, cubic and quadratic bezier paths,\n\nImage and Gradients\n\n image, linearGradient, radialGradient,\n\nTransforms\n\n translate, rotate, scale, skewX, skewY\n\nFilter Effects\n\n filter, feBlend, feColorMatrix, feColorMatrix, feComponentTransfer, feComposite, feConvolveMatrix, feDiffuseLighting,\n feDisplacementMap, feDistantLight, feFlood, feGaussianBlur, feImage, feMerge, feMorphology, feOffset, fePointLight,\n feSpecularLighting, feSpotLight,feTile, feTurbulence\n\n\nMetadata elements\n\n desc, defs, g (style, transform, id), mask, marker, pattern, title, (a)ddress, link, script, style, use\n\nUsage: (assuming GOPATH is set)\n\n\tgo get github.com/ajstarks/svgo\n\tgo install github.com/ajstarks/svgo/...\n\n\nYou can use godoc to browse the documentation from the command line:\n\n\t$ godoc github.com/ajstarks/svgo\n\n\na minimal program, to generate SVG to standard output.\n\n\tpackage main\n\n\timport (\n\t\t\"github.com/ajstarks/svgo\"\n\t\t\"os\"\n\t)\n\n\tfunc main() {\n\t\twidth := 500\n\t\theight := 500\n\t\tcanvas := svg.New(os.Stdout)\n\t\tcanvas.Start(width, height)\n\t\tcanvas.Circle(width/2, height/2, 100)\n\t\tcanvas.Text(width/2, height/2, \"Hello, SVG\", \"text-anchor:middle;font-size:30px;fill:white\")\n\t\tcanvas.End()\n\t}\n\nDrawing in a web server: (http://localhost:2003/circle)\n\n\tpackage main\n\n\timport (\n\t\t\"log\"\n\t\t\"github.com/ajstarks/svgo\"\n\t\t\"net/http\"\n\t)\n\n\tfunc main() {\n\t\thttp.Handle(\"/circle\", http.HandlerFunc(circle))\n\t\terr := http.ListenAndServe(\":2003\", nil)\n\t\tif err != nil {\n\t\t\tlog.Fatal(\"ListenAndServe:\", err)\n\t\t}\n\t}\n\n\tfunc circle(w http.ResponseWriter, req *http.Request) {\n\t  w.Header().Set(\"Content-Type\", \"image/svg+xml\")\n\t  s := svg.New(w)\n\t  s.Start(500, 500)\n\t  s.Circle(250, 250, 125, \"fill:none;stroke:black\")\n\t  s.End()\n\t}\n\nFunctions and types\n\nMany functions use x, y to specify an object's location, and w, h to specify the object's width and height.\nWhere applicable, a final optional argument specifies the style to be applied to the object.\nThe style strings follow the SVG standard; name:value pairs delimited by semicolons, or a\nseries of name=\"value\" pairs. For example: `\"fill:none; opacity:0.3\"` or  `fill=\"none\" opacity=\"0.3\"` (see: <http://www.w3.org/TR/SVG11/styling.html>)\n\nThe SVG type:\n\n\ttype SVG struct {\n        Writer   io.Writer\n\t}\n\t\nMost operations are methods on this type, specifying the destination io.Writer.\n\nThe Offcolor type:\n\n\ttype Offcolor struct {\n\t\tOffset  uint8\n\t\tColor   string\n\t\tOpacity float64\n\t}\n\nis used to specify the offset, color, and opacity of stop colors in linear and radial gradients\n\nThe Filterspec type:\n\n\ttype Filterspec struct {\n\t\tIn string\n\t\tIn2 string\n\t\tResult string\n\t}\n\nis used to specify inputs and results for filter effects\n\n*/\npackage svg\n"
  },
  {
    "path": "vendor/github.com/ajstarks/svgo/svg.go",
    "content": "// Package svg provides an API for generating Scalable Vector Graphics (SVG)\npackage svg\n\n// package main\n//\n// \timport (\n// \t\t\"github.com/ajstarks/svgo\"\n// \t\t\"os\"\n// \t)\n//\n// \tvar (\n// \t\twidth = 500\n// \t\theight = 500\n// \t\tcanvas = svg.New(os.Stdout)\n// \t)\n//\n// \tfunc main() {\n// \t\tcanvas.Start(width, height)\n// \t\tcanvas.Circle(width/2, height/2, 100)\n// \t\tcanvas.Text(width/2, height/2, \"Hello, SVG\",\n//                   \"text-anchor:middle;font-size:30px;fill:white\")\n// \t\tcanvas.End()\n// \t}\n//\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\n\t\"encoding/xml\"\n\t\"strings\"\n)\n\n// SVG defines the location of the generated SVG\ntype SVG struct {\n\tWriter io.Writer\n}\n\n// Offcolor defines the offset and color for gradients\ntype Offcolor struct {\n\tOffset  uint8\n\tColor   string\n\tOpacity float64\n}\n\n// Filterspec defines the specification of SVG filters\ntype Filterspec struct {\n\tIn, In2, Result string\n}\n\nconst (\n\tsvgtop = `<?xml version=\"1.0\"?>\n<!-- Generated by SVGo -->\n<svg`\n\tsvginitfmt = `%s width=\"%d%s\" height=\"%d%s\"`\n\tsvgns      = `\n     xmlns=\"http://www.w3.org/2000/svg\"\n     xmlns:xlink=\"http://www.w3.org/1999/xlink\">`\n\tvbfmt = `viewBox=\"%d %d %d %d\"`\n\n\temptyclose = \"/>\\n\"\n)\n\n// New is the SVG constructor, specifying the io.Writer where the generated SVG is written.\nfunc New(w io.Writer) *SVG { return &SVG{w} }\n\nfunc (svg *SVG) print(a ...interface{}) (n int, errno error) {\n\treturn fmt.Fprint(svg.Writer, a...)\n}\n\nfunc (svg *SVG) println(a ...interface{}) (n int, errno error) {\n\treturn fmt.Fprintln(svg.Writer, a...)\n}\n\nfunc (svg *SVG) printf(format string, a ...interface{}) (n int, errno error) {\n\treturn fmt.Fprintf(svg.Writer, format, a...)\n}\n\nfunc (svg *SVG) genattr(ns []string) {\n\tfor _, v := range ns {\n\t\tsvg.printf(\"\\n     %s\", v)\n\t}\n\tsvg.println(svgns)\n}\n\n// Structure, Metadata, Scripting, Style, Transformation, and Links\n\n// Start begins the SVG document with the width w and height h.\n// Other attributes may be optionally added, for example viewbox or additional namespaces\n// Standard Reference: http://www.w3.org/TR/SVG11/struct.html#SVGElement\nfunc (svg *SVG) Start(w int, h int, ns ...string) {\n\tsvg.printf(svginitfmt, svgtop, w, \"\", h, \"\")\n\tsvg.genattr(ns)\n}\n\n// Startunit begins the SVG document, with width and height in the specified units\n// Other attributes may be optionally added, for example viewbox or additional namespaces\nfunc (svg *SVG) Startunit(w int, h int, unit string, ns ...string) {\n\tsvg.printf(svginitfmt, svgtop, w, unit, h, unit)\n\tsvg.genattr(ns)\n}\n\n// Startpercent begins the SVG document, with width and height as percentages\n// Other attributes may be optionally added, for example viewbox or additional namespaces\nfunc (svg *SVG) Startpercent(w int, h int, ns ...string) {\n\tsvg.printf(svginitfmt, svgtop, w, \"%\", h, \"%\")\n\tsvg.genattr(ns)\n}\n\n// Startview begins the SVG document, with the specified width, height, and viewbox\n// Other attributes may be optionally added, for example viewbox or additional namespaces\nfunc (svg *SVG) Startview(w, h, minx, miny, vw, vh int) {\n\tsvg.Start(w, h, fmt.Sprintf(vbfmt, minx, miny, vw, vh))\n}\n\nfunc (svg *SVG) StartviewUnit(w, h int, unit string, minx, miny, vw, vh int) {\n\tsvg.Startunit(w, h, unit, fmt.Sprintf(vbfmt, minx, miny, vw, vh))\n}\n\n// Startraw begins the SVG document, passing arbitrary attributes\nfunc (svg *SVG) Startraw(ns ...string) {\n\tsvg.printf(svgtop)\n\tsvg.genattr(ns)\n}\n\n// End the SVG document\nfunc (svg *SVG) End() { svg.println(\"</svg>\") }\n\n// linkembed defines an element with a specified type, \n// (for example \"application/javascript\", or \"text/css\").\n// if the first variadic argument is a link, use only the link reference.\n// Otherwise, treat those arguments as the text of the script (marked up as CDATA).\n// if no data is specified, just close the element\nfunc (svg *SVG) linkembed(tag string, scriptype string, data ...string) {\n\tsvg.printf(`<%s type=\"%s\"`, tag, scriptype)\n\tswitch {\n\tcase len(data) == 1 && islink(data[0]):\n\t\tsvg.printf(\" %s/>\\n\", href(data[0]))\n\n\tcase len(data) > 0:\n\t\tsvg.printf(\">\\n<![CDATA[\\n\")\n\t\tfor _, v := range data {\n\t\t\tsvg.println(v)\n\t\t}\n\t\tsvg.printf(\"]]>\\n</%s>\\n\", tag)\n\n\tdefault:\n\t\tsvg.println(`/>`)\n\t}\n}\n\n// Script defines a script with a specified type, (for example \"application/javascript\").\nfunc (svg *SVG) Script(scriptype string, data ...string) {\n\tsvg.linkembed(\"script\", scriptype, data...)\n}\n\n// Style defines the specified style (for example \"text/css\")\nfunc (svg *SVG) Style(scriptype string, data ...string) {\n\tsvg.linkembed(\"style\", scriptype, data...)\n}\n\n// Gstyle begins a group, with the specified style.\n// Standard Reference: http://www.w3.org/TR/SVG11/struct.html#GElement\nfunc (svg *SVG) Gstyle(s string) { svg.println(group(\"style\", s)) }\n\n// Gtransform begins a group, with the specified transform\n// Standard Reference: http://www.w3.org/TR/SVG11/coords.html#TransformAttribute\nfunc (svg *SVG) Gtransform(s string) { svg.println(group(\"transform\", s)) }\n\n// Translate begins coordinate translation, end with Gend()\n// Standard Reference: http://www.w3.org/TR/SVG11/coords.html#TransformAttribute\nfunc (svg *SVG) Translate(x, y int) { svg.Gtransform(translate(x, y)) }\n\n// Scale scales the coordinate system by n, end with Gend()\n// Standard Reference: http://www.w3.org/TR/SVG11/coords.html#TransformAttribute\nfunc (svg *SVG) Scale(n float64) { svg.Gtransform(scale(n)) }\n\n// ScaleXY scales the coordinate system by dx and dy, end with Gend()\n// Standard Reference: http://www.w3.org/TR/SVG11/coords.html#TransformAttribute\nfunc (svg *SVG) ScaleXY(dx, dy float64) { svg.Gtransform(scaleXY(dx, dy)) }\n\n// SkewX skews the x coordinate system by angle a, end with Gend()\n// Standard Reference: http://www.w3.org/TR/SVG11/coords.html#TransformAttribute\nfunc (svg *SVG) SkewX(a float64) { svg.Gtransform(skewX(a)) }\n\n// SkewY skews the y coordinate system by angle a, end with Gend()\n// Standard Reference: http://www.w3.org/TR/SVG11/coords.html#TransformAttribute\nfunc (svg *SVG) SkewY(a float64) { svg.Gtransform(skewY(a)) }\n\n// SkewXY skews x and y coordinates by ax, ay respectively, end with Gend()\n// Standard Reference: http://www.w3.org/TR/SVG11/coords.html#TransformAttribute\nfunc (svg *SVG) SkewXY(ax, ay float64) { svg.Gtransform(skewX(ax) + \" \" + skewY(ay)) }\n\n// Rotate rotates the coordinate system by r degrees, end with Gend()\n// Standard Reference: http://www.w3.org/TR/SVG11/coords.html#TransformAttribute\nfunc (svg *SVG) Rotate(r float64) { svg.Gtransform(rotate(r)) }\n\n// TranslateRotate translates the coordinate system to (x,y), then rotates to r degrees, end with Gend()\nfunc (svg *SVG) TranslateRotate(x, y int, r float64) {\n\tsvg.Gtransform(translate(x, y) + \" \" + rotate(r))\n}\n\n// RotateTranslate rotates the coordinate system r degrees, then translates to (x,y), end with Gend()\nfunc (svg *SVG) RotateTranslate(x, y int, r float64) {\n\tsvg.Gtransform(rotate(r) + \" \" + translate(x, y))\n}\n\n// Group begins a group with arbitrary attributes\nfunc (svg *SVG) Group(s ...string) { svg.printf(\"<g %s\\n\", endstyle(s, `>`)) }\n\n// Gid begins a group, with the specified id\nfunc (svg *SVG) Gid(s string) {\n\tsvg.print(`<g id=\"`)\n\txml.Escape(svg.Writer, []byte(s))\n\tsvg.println(`\">`)\n}\n\n// Gend ends a group (must be paired with Gsttyle, Gtransform, Gid).\nfunc (svg *SVG) Gend() { svg.println(`</g>`) }\n\n// ClipPath defines a clip path\nfunc (svg *SVG) ClipPath(s ...string) { svg.printf(`<clipPath %s`, endstyle(s, `>`)) }\n\n// ClipEnd ends a ClipPath\nfunc (svg *SVG) ClipEnd() {\n\tsvg.println(`</clipPath>`)\n}\n\n// Def begins a defintion block.\n// Standard Reference: http://www.w3.org/TR/SVG11/struct.html#DefsElement\nfunc (svg *SVG) Def() { svg.println(`<defs>`) }\n\n// DefEnd ends a defintion block.\nfunc (svg *SVG) DefEnd() { svg.println(`</defs>`) }\n\n// Marker defines a marker\n// Standard reference: http://www.w3.org/TR/SVG11/painting.html#MarkerElement\nfunc (svg *SVG) Marker(id string, x, y, width, height int, s ...string) {\n\tsvg.printf(`<marker id=\"%s\" refX=\"%d\" refY=\"%d\" markerWidth=\"%d\" markerHeight=\"%d\" %s`,\n\t\tid, x, y, width, height, endstyle(s, \">\\n\"))\n}\n\n// MarkEnd ends a marker\nfunc (svg *SVG) MarkerEnd() { svg.println(`</marker>`) }\n\n// Pattern defines a pattern with the specified dimensions.\n// The putype can be either \"user\" or \"obj\", which sets the patternUnits\n// attribute to be either userSpaceOnUse or objectBoundingBox\n// Standard reference: http://www.w3.org/TR/SVG11/pservers.html#Patterns\nfunc (svg *SVG) Pattern(id string, x, y, width, height int, putype string, s ...string) {\n\tpuattr := \"userSpaceOnUse\"\n\tif putype != \"user\" {\n\t\tpuattr = \"objectBoundingBox\"\n\t}\n\tsvg.printf(`<pattern id=\"%s\" x=\"%d\" y=\"%d\" width=\"%d\" height=\"%d\" patternUnits=\"%s\" %s`,\n\t\tid, x, y, width, height, puattr, endstyle(s, \">\\n\"))\n}\n\n// PatternEnd ends a marker\nfunc (svg *SVG) PatternEnd() { svg.println(`</pattern>`) }\n\n// Desc specified the text of the description tag.\n// Standard Reference: http://www.w3.org/TR/SVG11/struct.html#DescElement\nfunc (svg *SVG) Desc(s string) { svg.tt(\"desc\", s) }\n\n// Title specified the text of the title tag.\n// Standard Reference: http://www.w3.org/TR/SVG11/struct.html#TitleElement\nfunc (svg *SVG) Title(s string) { svg.tt(\"title\", s) }\n\n// Link begins a link named \"name\", with the specified title.\n// Standard Reference: http://www.w3.org/TR/SVG11/linking.html#Links\nfunc (svg *SVG) Link(href string, title string) {\n\tsvg.printf(\"<a xlink:href=\\\"%s\\\" xlink:title=\\\"\", href)\n\txml.Escape(svg.Writer, []byte(title))\n\tsvg.println(\"\\\">\")\n}\n\n// LinkEnd ends a link.\nfunc (svg *SVG) LinkEnd() { svg.println(`</a>`) }\n\n// Use places the object referenced at link at the location x, y, with optional style.\n// Standard Reference: http://www.w3.org/TR/SVG11/struct.html#UseElement\nfunc (svg *SVG) Use(x int, y int, link string, s ...string) {\n\tsvg.printf(`<use %s %s %s`, loc(x, y), href(link), endstyle(s, emptyclose))\n}\n\n// Mask creates a mask with a specified id, dimension, and optional style.\nfunc (svg *SVG) Mask(id string, x int, y int, w int, h int, s ...string) {\n\tsvg.printf(`<mask id=\"%s\" x=\"%d\" y=\"%d\" width=\"%d\" height=\"%d\" %s`, id, x, y, w, h, endstyle(s, `>`))\n}\n\n// MaskEnd ends a Mask.\nfunc (svg *SVG) MaskEnd() { svg.println(`</mask>`) }\n\n// Shapes\n\n// Circle centered at x,y, with radius r, with optional style.\n// Standard Reference: http://www.w3.org/TR/SVG11/shapes.html#CircleElement\nfunc (svg *SVG) Circle(x int, y int, r int, s ...string) {\n\tsvg.printf(`<circle cx=\"%d\" cy=\"%d\" r=\"%d\" %s`, x, y, r, endstyle(s, emptyclose))\n}\n\n// Ellipse centered at x,y, centered at x,y with radii w, and h, with optional style.\n// Standard Reference: http://www.w3.org/TR/SVG11/shapes.html#EllipseElement\nfunc (svg *SVG) Ellipse(x int, y int, w int, h int, s ...string) {\n\tsvg.printf(`<ellipse cx=\"%d\" cy=\"%d\" rx=\"%d\" ry=\"%d\" %s`,\n\t\tx, y, w, h, endstyle(s, emptyclose))\n}\n\n// Polygon draws a series of line segments using an array of x, y coordinates, with optional style.\n// Standard Reference: http://www.w3.org/TR/SVG11/shapes.html#PolygonElement\nfunc (svg *SVG) Polygon(x []int, y []int, s ...string) {\n\tsvg.poly(x, y, \"polygon\", s...)\n}\n\n// Rect draws a rectangle with upper left-hand corner at x,y, with width w, and height h, with optional style\n// Standard Reference: http://www.w3.org/TR/SVG11/shapes.html#RectElement\nfunc (svg *SVG) Rect(x int, y int, w int, h int, s ...string) {\n\tsvg.printf(`<rect %s %s`, dim(x, y, w, h), endstyle(s, emptyclose))\n}\n\n// CenterRect draws a rectangle with its center at x,y, with width w, and height h, with optional style\nfunc (svg *SVG) CenterRect(x int, y int, w int, h int, s ...string) {\n\tsvg.Rect(x-(w/2), y-(h/2), w, h, s...)\n}\n\n// Roundrect draws a rounded rectangle with upper the left-hand corner at x,y,\n// with width w, and height h. The radii for the rounded portion\n// are specified by rx (width), and ry (height).\n// Style is optional.\n// Standard Reference: http://www.w3.org/TR/SVG11/shapes.html#RectElement\nfunc (svg *SVG) Roundrect(x int, y int, w int, h int, rx int, ry int, s ...string) {\n\tsvg.printf(`<rect %s rx=\"%d\" ry=\"%d\" %s`, dim(x, y, w, h), rx, ry, endstyle(s, emptyclose))\n}\n\n// Square draws a square with upper left corner at x,y with sides of length l, with optional style.\nfunc (svg *SVG) Square(x int, y int, l int, s ...string) {\n\tsvg.Rect(x, y, l, l, s...)\n}\n\n// Paths\n\n// Path draws an arbitrary path, the caller is responsible for structuring the path data\nfunc (svg *SVG) Path(d string, s ...string) {\n\tsvg.printf(`<path d=\"%s\" %s`, d, endstyle(s, emptyclose))\n}\n\n// Arc draws an elliptical arc, with optional style, beginning coordinate at sx,sy, ending coordinate at ex, ey\n// width and height of the arc are specified by ax, ay, the x axis rotation is r\n// if sweep is true, then the arc will be drawn in a \"positive-angle\" direction (clockwise), if false,\n// the arc is drawn counterclockwise.\n// if large is true, the arc sweep angle is greater than or equal to 180 degrees,\n// otherwise the arc sweep is less than 180 degrees\n// http://www.w3.org/TR/SVG11/paths.html#PathDataEllipticalArcCommands\nfunc (svg *SVG) Arc(sx int, sy int, ax int, ay int, r int, large bool, sweep bool, ex int, ey int, s ...string) {\n\tsvg.printf(`%s A%s %d %s %s %s\" %s`,\n\t\tptag(sx, sy), coord(ax, ay), r, onezero(large), onezero(sweep), coord(ex, ey), endstyle(s, emptyclose))\n}\n\n// Bezier draws a cubic bezier curve, with optional style, beginning at sx,sy, ending at ex,ey\n// with control points at cx,cy and px,py.\n// Standard Reference: http://www.w3.org/TR/SVG11/paths.html#PathDataCubicBezierCommands\nfunc (svg *SVG) Bezier(sx int, sy int, cx int, cy int, px int, py int, ex int, ey int, s ...string) {\n\tsvg.printf(`%s C%s %s %s\" %s`,\n\t\tptag(sx, sy), coord(cx, cy), coord(px, py), coord(ex, ey), endstyle(s, emptyclose))\n}\n\n// Qbez draws a quadratic bezier curver, with optional style\n// beginning at sx,sy, ending at ex, sy with control points at cx, cy\n// Standard Reference: http://www.w3.org/TR/SVG11/paths.html#PathDataQuadraticBezierCommands\nfunc (svg *SVG) Qbez(sx int, sy int, cx int, cy int, ex int, ey int, s ...string) {\n\tsvg.printf(`%s Q%s %s\" %s`,\n\t\tptag(sx, sy), coord(cx, cy), coord(ex, ey), endstyle(s, emptyclose))\n}\n\n// Qbezier draws a Quadratic Bezier curve, with optional style, beginning at sx, sy, ending at tx,ty\n// with control points are at cx,cy, ex,ey.\n// Standard Reference: http://www.w3.org/TR/SVG11/paths.html#PathDataQuadraticBezierCommands\nfunc (svg *SVG) Qbezier(sx int, sy int, cx int, cy int, ex int, ey int, tx int, ty int, s ...string) {\n\tsvg.printf(`%s Q%s %s T%s\" %s`,\n\t\tptag(sx, sy), coord(cx, cy), coord(ex, ey), coord(tx, ty), endstyle(s, emptyclose))\n}\n\n// Lines\n\n// Line draws a straight line between two points, with optional style.\n// Standard Reference: http://www.w3.org/TR/SVG11/shapes.html#LineElement\nfunc (svg *SVG) Line(x1 int, y1 int, x2 int, y2 int, s ...string) {\n\tsvg.printf(`<line x1=\"%d\" y1=\"%d\" x2=\"%d\" y2=\"%d\" %s`, x1, y1, x2, y2, endstyle(s, emptyclose))\n}\n\n// Polyline draws connected lines between coordinates, with optional style.\n// Standard Reference: http://www.w3.org/TR/SVG11/shapes.html#PolylineElement\nfunc (svg *SVG) Polyline(x []int, y []int, s ...string) {\n\tsvg.poly(x, y, \"polyline\", s...)\n}\n\n// Image places at x,y (upper left hand corner), the image with\n// width w, and height h, referenced at link, with optional style.\n// Standard Reference: http://www.w3.org/TR/SVG11/struct.html#ImageElement\nfunc (svg *SVG) Image(x int, y int, w int, h int, link string, s ...string) {\n\tsvg.printf(`<image %s %s %s`, dim(x, y, w, h), href(link), endstyle(s, emptyclose))\n}\n\n// Text places the specified text, t at x,y according to the style specified in s\n// Standard Reference: http://www.w3.org/TR/SVG11/text.html#TextElement\nfunc (svg *SVG) Text(x int, y int, t string, s ...string) {\n\tsvg.printf(`<text %s %s`, loc(x, y), endstyle(s, \">\"))\n\txml.Escape(svg.Writer, []byte(t))\n\tsvg.println(`</text>`)\n}\n\n// Textpath places text optionally styled text along a previously defined path\n// Standard Reference: http://www.w3.org/TR/SVG11/text.html#TextPathElement\nfunc (svg *SVG) Textpath(t string, pathid string, s ...string) {\n\tsvg.printf(\"<text %s<textPath xlink:href=\\\"%s\\\">\", endstyle(s, \">\"), pathid)\n\txml.Escape(svg.Writer, []byte(t))\n\tsvg.println(`</textPath></text>`)\n}\n\n// Textlines places a series of lines of text starting at x,y, at the specified size, fill, and alignment.\n// Each line is spaced according to the spacing argument\nfunc (svg *SVG) Textlines(x, y int, s []string, size, spacing int, fill, align string) {\n\tsvg.Gstyle(fmt.Sprintf(\"font-size:%dpx;fill:%s;text-anchor:%s\", size, fill, align))\n\tfor _, t := range s {\n\t\tsvg.Text(x, y, t)\n\t\ty += spacing\n\t}\n\tsvg.Gend()\n}\n\n// Colors\n\n// RGB specifies a fill color in terms of a (r)ed, (g)reen, (b)lue triple.\n// Standard reference: http://www.w3.org/TR/css3-color/\nfunc (svg *SVG) RGB(r int, g int, b int) string {\n\treturn fmt.Sprintf(`fill:rgb(%d,%d,%d)`, r, g, b)\n}\n\n// RGBA specifies a fill color in terms of a (r)ed, (g)reen, (b)lue triple and opacity.\nfunc (svg *SVG) RGBA(r int, g int, b int, a float64) string {\n\treturn fmt.Sprintf(`fill-opacity:%.2f; %s`, a, svg.RGB(r, g, b))\n}\n\n// Gradients\n\n// LinearGradient constructs a linear color gradient identified by id,\n// along the vector defined by (x1,y1), and (x2,y2).\n// The stop color sequence defined in sc. Coordinates are expressed as percentages.\nfunc (svg *SVG) LinearGradient(id string, x1, y1, x2, y2 uint8, sc []Offcolor) {\n\tsvg.printf(\"<linearGradient id=\\\"%s\\\" x1=\\\"%d%%\\\" y1=\\\"%d%%\\\" x2=\\\"%d%%\\\" y2=\\\"%d%%\\\">\\n\",\n\t\tid, pct(x1), pct(y1), pct(x2), pct(y2))\n\tsvg.stopcolor(sc)\n\tsvg.println(\"</linearGradient>\")\n}\n\n// RadialGradient constructs a radial color gradient identified by id,\n// centered at (cx,cy), with a radius of r.\n// (fx, fy) define the location of the focal point of the light source.\n// The stop color sequence defined in sc.\n// Coordinates are expressed as percentages.\nfunc (svg *SVG) RadialGradient(id string, cx, cy, r, fx, fy uint8, sc []Offcolor) {\n\tsvg.printf(\"<radialGradient id=\\\"%s\\\" cx=\\\"%d%%\\\" cy=\\\"%d%%\\\" r=\\\"%d%%\\\" fx=\\\"%d%%\\\" fy=\\\"%d%%\\\">\\n\",\n\t\tid, pct(cx), pct(cy), pct(r), pct(fx), pct(fy))\n\tsvg.stopcolor(sc)\n\tsvg.println(\"</radialGradient>\")\n}\n\n// stopcolor is a utility function used by the gradient functions\n// to define a sequence of offsets (expressed as percentages) and colors\nfunc (svg *SVG) stopcolor(oc []Offcolor) {\n\tfor _, v := range oc {\n\t\tsvg.printf(\"<stop offset=\\\"%d%%\\\" stop-color=\\\"%s\\\" stop-opacity=\\\"%.2f\\\"/>\\n\",\n\t\t\tpct(v.Offset), v.Color, v.Opacity)\n\t}\n}\n\n// Filter Effects:\n// Most functions have common attributes (in, in2, result) defined in type Filterspec\n// used as a common first argument.\n\n// Filter begins a filter set\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#FilterElement\nfunc (svg *SVG) Filter(id string, s ...string) {\n\tsvg.printf(`<filter id=\"%s\" %s`, id, endstyle(s, \">\\n\"))\n}\n\n// Fend ends a filter set\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#FilterElement\nfunc (svg *SVG) Fend() {\n\tsvg.println(`</filter>`)\n}\n\n// FeBlend specifies a Blend filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feBlendElement\nfunc (svg *SVG) FeBlend(fs Filterspec, mode string, s ...string) {\n\tswitch mode {\n\tcase \"normal\", \"multiply\", \"screen\", \"darken\", \"lighten\":\n\t\tbreak\n\tdefault:\n\t\tmode = \"normal\"\n\t}\n\tsvg.printf(`<feBlend %s mode=\"%s\" %s`,\n\t\tfsattr(fs), mode, endstyle(s, emptyclose))\n}\n\n// FeColorMatrix specifies a color matrix filter primitive, with matrix values\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feColorMatrixElement\nfunc (svg *SVG) FeColorMatrix(fs Filterspec, values [20]float64, s ...string) {\n\tsvg.printf(`<feColorMatrix %s type=\"matrix\" values=\"`, fsattr(fs))\n\tfor _, v := range values {\n\t\tsvg.printf(`%g `, v)\n\t}\n\tsvg.printf(`\" %s`, endstyle(s, emptyclose))\n}\n\n// FeColorMatrixHue specifies a color matrix filter primitive, with hue rotation values\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feColorMatrixElement\nfunc (svg *SVG) FeColorMatrixHue(fs Filterspec, value float64, s ...string) {\n\tif value < -360 || value > 360 {\n\t\tvalue = 0\n\t}\n\tsvg.printf(`<feColorMatrix %s type=\"hueRotate\" values=\"%g\" %s`,\n\t\tfsattr(fs), value, endstyle(s, emptyclose))\n}\n\n// FeColorMatrixSaturate specifies a color matrix filter primitive, with saturation values\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feColorMatrixElement\nfunc (svg *SVG) FeColorMatrixSaturate(fs Filterspec, value float64, s ...string) {\n\tif value < 0 || value > 1 {\n\t\tvalue = 1\n\t}\n\tsvg.printf(`<feColorMatrix %s type=\"saturate\" values=\"%g\" %s`,\n\t\tfsattr(fs), value, endstyle(s, emptyclose))\n}\n\n// FeColorMatrixLuminence specifies a color matrix filter primitive, with luminence values\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feColorMatrixElement\nfunc (svg *SVG) FeColorMatrixLuminence(fs Filterspec, s ...string) {\n\tsvg.printf(`<feColorMatrix %s type=\"luminenceToAlpha\" %s`,\n\t\tfsattr(fs), endstyle(s, emptyclose))\n}\n\n// FeComponentTransfer begins a feComponent filter element\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feComponentTransferElement\nfunc (svg *SVG) FeComponentTransfer() {\n\tsvg.println(`<feComponentTransfer>`)\n}\n\n// FeCompEnd ends a feComponent filter element\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feComponentTransferElement\nfunc (svg *SVG) FeCompEnd() {\n\tsvg.println(`</feComponentTransfer>`)\n}\n\n// FeComposite specifies a feComposite filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feCompositeElement\nfunc (svg *SVG) FeComposite(fs Filterspec, operator string, k1, k2, k3, k4 int, s ...string) {\n\tswitch operator {\n\tcase \"over\", \"in\", \"out\", \"atop\", \"xor\", \"arithmetic\":\n\t\tbreak\n\tdefault:\n\t\toperator = \"over\"\n\t}\n\tsvg.printf(`<feComposite %s operator=\"%s\" k1=\"%d\" k2=\"%d\" k3=\"%d\" k4=\"%d\" %s`,\n\t\tfsattr(fs), operator, k1, k2, k3, k4, endstyle(s, emptyclose))\n}\n\n// FeConvolveMatrix specifies a feConvolveMatrix filter primitive\n// Standard referencd: http://www.w3.org/TR/SVG11/filters.html#feConvolveMatrixElement\nfunc (svg *SVG) FeConvolveMatrix(fs Filterspec, matrix [9]int, s ...string) {\n\tsvg.printf(`<feConvolveMatrix %s kernelMatrix=\"%d %d %d %d %d %d %d %d %d\" %s`,\n\t\tfsattr(fs),\n\t\tmatrix[0], matrix[1], matrix[2],\n\t\tmatrix[3], matrix[4], matrix[5],\n\t\tmatrix[6], matrix[7], matrix[8], endstyle(s, emptyclose))\n}\n\n// FeDiffuseLighting specifies a diffuse lighting filter primitive,\n// a container for light source elements, end with DiffuseEnd()\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feComponentTransferElement\nfunc (svg *SVG) FeDiffuseLighting(fs Filterspec, scale, constant float64, s ...string) {\n\tsvg.printf(`<feDiffuseLighting %s surfaceScale=\"%g\" diffuseConstant=\"%g\" %s`,\n\t\tfsattr(fs), scale, constant, endstyle(s, `>`))\n}\n\n// FeDiffEnd ends a diffuse lighting filter primitive container\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feDiffuseLightingElement\nfunc (svg *SVG) FeDiffEnd() {\n\tsvg.println(`</feDiffuseLighting>`)\n}\n\n// FeDisplacementMap specifies a feDisplacementMap filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feDisplacementMapElement\nfunc (svg *SVG) FeDisplacementMap(fs Filterspec, scale float64, xchannel, ychannel string, s ...string) {\n\tsvg.printf(`<feDisplacementMap %s scale=\"%g\" xChannelSelector=\"%s\" yChannelSelector=\"%s\" %s`,\n\t\tfsattr(fs), scale, imgchannel(xchannel), ychannel, endstyle(s, emptyclose))\n}\n\n// FeDistantLight specifies a feDistantLight filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feDistantLightElement\nfunc (svg *SVG) FeDistantLight(fs Filterspec, azimuth, elevation float64, s ...string) {\n\tsvg.printf(`<feDistantLight %s azimuth=\"%g\" elevation=\"%g\" %s`,\n\t\tfsattr(fs), azimuth, elevation, endstyle(s, emptyclose))\n}\n\n// FeFlood specifies a flood filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feFloodElement\nfunc (svg *SVG) FeFlood(fs Filterspec, color string, opacity float64, s ...string) {\n\tsvg.printf(`<feFlood %s flood-fill-color=\"%s\" flood-fill-opacity=\"%g\" %s`,\n\t\tfsattr(fs), color, opacity, endstyle(s, emptyclose))\n}\n\n// FeFunc{linear|Gamma|Table|Discrete} specify various types of feFunc{R|G|B|A} filter primitives\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feComponentTransferElement\n\n// FeFuncLinear specifies a linear style function for the feFunc{R|G|B|A} filter element\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feComponentTransferElement\nfunc (svg *SVG) FeFuncLinear(channel string, slope, intercept float64) {\n\tsvg.printf(`<feFunc%s type=\"linear\" slope=\"%g\" intercept=\"%g\"%s`,\n\t\timgchannel(channel), slope, intercept, emptyclose)\n}\n\n// FeFuncGamma specifies the curve values for gamma correction for the feFunc{R|G|B|A} filter element\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feComponentTransferElement\nfunc (svg *SVG) FeFuncGamma(channel string, amplitude, exponent, offset float64) {\n\tsvg.printf(`<feFunc%s type=\"gamma\" amplitude=\"%g\" exponent=\"%g\" offset=\"%g\"%s`,\n\t\timgchannel(channel), amplitude, exponent, offset, emptyclose)\n}\n\n// FeFuncTable specifies the table of values for the feFunc{R|G|B|A} filter element\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feComponentTransferElement\nfunc (svg *SVG) FeFuncTable(channel string, tv []float64) {\n\tsvg.printf(`<feFunc%s type=\"table\"`, imgchannel(channel))\n\tsvg.tablevalues(`tableValues`, tv)\n}\n\n// FeFuncDiscrete specifies the discrete values for the feFunc{R|G|B|A} filter element\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feComponentTransferElement\nfunc (svg *SVG) FeFuncDiscrete(channel string, tv []float64) {\n\tsvg.printf(`<feFunc%s type=\"discrete\"`, imgchannel(channel))\n\tsvg.tablevalues(`tableValues`, tv)\n}\n\n// FeGaussianBlur specifies a Gaussian Blur filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feGaussianBlurElement\nfunc (svg *SVG) FeGaussianBlur(fs Filterspec, stdx, stdy float64, s ...string) {\n\tif stdx < 0 {\n\t\tstdx = 0\n\t}\n\tif stdy < 0 {\n\t\tstdy = 0\n\t}\n\tsvg.printf(`<feGaussianBlur %s stdDeviation=\"%g %g\" %s`,\n\t\tfsattr(fs), stdx, stdy, endstyle(s, emptyclose))\n}\n\n// FeImage specifies a feImage filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feImageElement\nfunc (svg *SVG) FeImage(href string, result string, s ...string) {\n\tsvg.printf(`<feImage xlink:href=\"%s\" result=\"%s\" %s`,\n\t\thref, result, endstyle(s, emptyclose))\n}\n\n// FeMerge specifies a feMerge filter primitive, containing feMerge elements\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feMergeElement\nfunc (svg *SVG) FeMerge(nodes []string, s ...string) {\n\tsvg.println(`<feMerge>`)\n\tfor _, n := range nodes {\n\t\tsvg.printf(\"<feMergeNode in=\\\"%s\\\"/>\\n\", n)\n\t}\n\tsvg.println(`</feMerge>`)\n}\n\n// FeMorphology specifies a feMorphologyLight filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feMorphologyElement\nfunc (svg *SVG) FeMorphology(fs Filterspec, operator string, xradius, yradius float64, s ...string) {\n\tswitch operator {\n\tcase \"erode\", \"dilate\":\n\t\tbreak\n\tdefault:\n\t\toperator = \"erode\"\n\t}\n\tsvg.printf(`<feMorphology %s operator=\"%s\" radius=\"%g %g\" %s`,\n\t\tfsattr(fs), operator, xradius, yradius, endstyle(s, emptyclose))\n}\n\n// FeOffset specifies the feOffset filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feOffsetElement\nfunc (svg *SVG) FeOffset(fs Filterspec, dx, dy int, s ...string) {\n\tsvg.printf(`<feOffset %s dx=\"%d\" dy=\"%d\" %s`,\n\t\tfsattr(fs), dx, dy, endstyle(s, emptyclose))\n}\n\n// FePointLight specifies a fePpointLight filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#fePointLightElement\nfunc (svg *SVG) FePointLight(x, y, z float64, s ...string) {\n\tsvg.printf(`<fePointLight x=\"%g\" y=\"%g\" z=\"%g\" %s`,\n\t\tx, y, z, endstyle(s, emptyclose))\n}\n\n// FeSpecularLighting specifies a specular lighting filter primitive,\n// a container for light source elements, end with SpecularEnd()\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feSpecularLightingElement\nfunc (svg *SVG) FeSpecularLighting(fs Filterspec, scale, constant float64, exponent int, color string, s ...string) {\n\tsvg.printf(`<feSpecularLighting %s surfaceScale=\"%g\" specularConstant=\"%g\" specularExponent=\"%d\" lighting-color=\"%s\" %s`,\n\t\tfsattr(fs), scale, constant, exponent, color, endstyle(s, \">\\n\"))\n}\n\n// FeSpecEnd ends a specular lighting filter primitive container\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feSpecularLightingElement\nfunc (svg *SVG) FeSpecEnd() {\n\tsvg.println(`</feSpecularLighting>`)\n}\n\n// FeSpotLight specifies a feSpotLight filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feSpotLightElement\nfunc (svg *SVG) FeSpotLight(fs Filterspec, x, y, z, px, py, pz float64, s ...string) {\n\tsvg.printf(`<feSpotLight %s x=\"%g\" y=\"%g\" z=\"%g\" pointsAtX=\"%g\" pointsAtY=\"%g\" pointsAtZ=\"%g\" %s`,\n\t\tfsattr(fs), x, y, z, px, py, pz, endstyle(s, emptyclose))\n}\n\n// FeTile specifies the tile utility filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feTileElement\nfunc (svg *SVG) FeTile(fs Filterspec, in string, s ...string) {\n\tsvg.printf(`<feTile %s %s`, fsattr(fs), endstyle(s, emptyclose))\n}\n\n// FeTurbulence specifies a turbulence filter primitive\n// Standard reference: http://www.w3.org/TR/SVG11/filters.html#feTurbulenceElement\nfunc (svg *SVG) FeTurbulence(fs Filterspec, ftype string, bfx, bfy float64, octaves int, seed int64, stitch bool, s ...string) {\n\tif bfx < 0 || bfx > 1 {\n\t\tbfx = 0\n\t}\n\tif bfy < 0 || bfy > 1 {\n\t\tbfy = 0\n\t}\n\tswitch ftype[0:1] {\n\tcase \"f\", \"F\":\n\t\tftype = \"fractalNoise\"\n\tcase \"t\", \"T\":\n\t\tftype = \"turbulence\"\n\tdefault:\n\t\tftype = \"turbulence\"\n\t}\n\n\tvar ss string\n\tif stitch {\n\t\tss = \"stitch\"\n\t} else {\n\t\tss = \"noStitch\"\n\t}\n\tsvg.printf(`<feTurbulence %s type=\"%s\" baseFrequency=\"%.2f %.2f\" numOctaves=\"%d\" seed=\"%d\" stitchTiles=\"%s\" %s`,\n\t\tfsattr(fs), ftype, bfx, bfy, octaves, seed, ss, endstyle(s, emptyclose))\n}\n\n// Filter Effects convenience functions, modeled after CSS versions\n\n// Blur emulates the CSS blur filter\nfunc (svg *SVG) Blur(p float64) {\n\tsvg.FeGaussianBlur(Filterspec{}, p, p)\n}\n\n// Brightness emulates the CSS brightness filter\nfunc (svg *SVG) Brightness(p float64) {\n\tsvg.FeComponentTransfer()\n\tsvg.FeFuncLinear(\"R\", p, 0)\n\tsvg.FeFuncLinear(\"G\", p, 0)\n\tsvg.FeFuncLinear(\"B\", p, 0)\n\tsvg.FeCompEnd()\n}\n\n// Contrast emulates the CSS contrast filter\n//func (svg *SVG) Contrast(p float64) {\n//}\n\n// Dropshadow emulates the CSS dropshadow filter\n//func (svg *SVG) Dropshadow(p float64) {\n//}\n\n// Grayscale eumulates the CSS grayscale filter\nfunc (svg *SVG) Grayscale() {\n\tsvg.FeColorMatrixSaturate(Filterspec{}, 0)\n}\n\n// HueRotate eumulates the CSS huerotate filter\nfunc (svg *SVG) HueRotate(a float64) {\n\tsvg.FeColorMatrixHue(Filterspec{}, a)\n}\n\n// Invert eumulates the CSS invert filter\nfunc (svg *SVG) Invert() {\n\tsvg.FeComponentTransfer()\n\tsvg.FeFuncTable(\"R\", []float64{1, 0})\n\tsvg.FeFuncTable(\"G\", []float64{1, 0})\n\tsvg.FeFuncTable(\"B\", []float64{1, 0})\n\tsvg.FeCompEnd()\n}\n\n// Saturate eumulates the CSS saturate filter\nfunc (svg *SVG) Saturate(p float64) {\n\tsvg.FeColorMatrixSaturate(Filterspec{}, p)\n}\n\n// Sepia applies a sepia tone, emulating the CSS sepia filter\nfunc (svg *SVG) Sepia() {\n\tvar sepiamatrix = [20]float64{\n\t\t0.280, 0.450, 0.05, 0, 0,\n\t\t0.140, 0.390, 0.04, 0, 0,\n\t\t0.080, 0.280, 0.03, 0, 0,\n\t\t0, 0, 0, 1, 0,\n\t}\n\tsvg.FeColorMatrix(Filterspec{}, sepiamatrix)\n}\n\n// Utility\n\n// Grid draws a grid at the specified coordinate, dimensions, and spacing, with optional style.\nfunc (svg *SVG) Grid(x int, y int, w int, h int, n int, s ...string) {\n\n\tif len(s) > 0 {\n\t\tsvg.Gstyle(s[0])\n\t}\n\tfor ix := x; ix <= x+w; ix += n {\n\t\tsvg.Line(ix, y, ix, y+h)\n\t}\n\n\tfor iy := y; iy <= y+h; iy += n {\n\t\tsvg.Line(x, iy, x+w, iy)\n\t}\n\tif len(s) > 0 {\n\t\tsvg.Gend()\n\t}\n\n}\n\n// Support functions\n\n// style returns a style name,attribute string\nfunc style(s string) string {\n\tif len(s) > 0 {\n\t\treturn fmt.Sprintf(`style=\"%s\"`, s)\n\t}\n\treturn s\n}\n\n// pp returns a series of polygon points\nfunc (svg *SVG) pp(x []int, y []int, tag string) {\n\tsvg.print(tag)\n\tif len(x) != len(y) {\n\t\tsvg.print(\" \")\n\t\treturn\n\t}\n\tlx := len(x) - 1\n\tfor i := 0; i < lx; i++ {\n\t\tsvg.print(coord(x[i], y[i]) + \" \")\n\t}\n\tsvg.print(coord(x[lx], y[lx]))\n}\n\n// endstyle modifies an SVG object, with either a series of name=\"value\" pairs,\n// or a single string containing a style\nfunc endstyle(s []string, endtag string) string {\n\tif len(s) > 0 {\n\t\tnv := \"\"\n\t\tfor i := 0; i < len(s); i++ {\n\t\t\tif strings.Index(s[i], \"=\") > 0 {\n\t\t\t\tnv += (s[i]) + \" \"\n\t\t\t} else {\n\t\t\t\tnv += style(s[i])\n\t\t\t}\n\t\t}\n\t\treturn nv + endtag\n\t}\n\treturn endtag\n\n}\n\n// tt creates a xml element, tag containing s\nfunc (svg *SVG) tt(tag string, s string) {\n\tsvg.print(\"<\" + tag + \">\")\n\txml.Escape(svg.Writer, []byte(s))\n\tsvg.println(\"</\" + tag + \">\")\n}\n\n// poly compiles the polygon element\nfunc (svg *SVG) poly(x []int, y []int, tag string, s ...string) {\n\tsvg.pp(x, y, \"<\"+tag+\" points=\\\"\")\n\tsvg.print(`\" ` + endstyle(s, \"/>\\n\"))\n}\n\n// onezero returns \"0\" or \"1\"\nfunc onezero(flag bool) string {\n\tif flag {\n\t\treturn \"1\"\n\t}\n\treturn \"0\"\n}\n\n// pct returns a percetage, capped at 100\nfunc pct(n uint8) uint8 {\n\tif n > 100 {\n\t\treturn 100\n\t}\n\treturn n\n}\n\n// islink determines if a string is a script reference\nfunc islink(link string) bool {\n\treturn strings.HasPrefix(link, \"http://\") || strings.HasPrefix(link, \"#\") ||\n\t\tstrings.HasPrefix(link, \"../\") || strings.HasPrefix(link, \"./\")\n}\n\n// group returns a group element\nfunc group(tag string, value string) string { return fmt.Sprintf(`<g %s=\"%s\">`, tag, value) }\n\n// scale return the scale string for the transform\nfunc scale(n float64) string { return fmt.Sprintf(`scale(%g)`, n) }\n\n// scaleXY return the scale string for the transform\nfunc scaleXY(dx, dy float64) string { return fmt.Sprintf(`scale(%g,%g)`, dx, dy) }\n\n// skewx returns the skewX string for the transform\nfunc skewX(angle float64) string { return fmt.Sprintf(`skewX(%g)`, angle) }\n\n// skewx returns the skewX string for the transform\nfunc skewY(angle float64) string { return fmt.Sprintf(`skewY(%g)`, angle) }\n\n// rotate returns the rotate string for the transform\nfunc rotate(r float64) string { return fmt.Sprintf(`rotate(%g)`, r) }\n\n// translate returns the translate string for the transform\nfunc translate(x, y int) string { return fmt.Sprintf(`translate(%d,%d)`, x, y) }\n\n// coord returns a coordinate string\nfunc coord(x int, y int) string { return fmt.Sprintf(`%d,%d`, x, y) }\n\n// ptag returns the beginning of the path element\nfunc ptag(x int, y int) string { return fmt.Sprintf(`<path d=\"M%s`, coord(x, y)) }\n\n// loc returns the x and y coordinate attributes\nfunc loc(x int, y int) string { return fmt.Sprintf(`x=\"%d\" y=\"%d\"`, x, y) }\n\n// href returns the href name and attribute\nfunc href(s string) string { return fmt.Sprintf(`xlink:href=\"%s\"`, s) }\n\n// dim returns the dimension string (x, y coordinates and width, height)\nfunc dim(x int, y int, w int, h int) string {\n\treturn fmt.Sprintf(`x=\"%d\" y=\"%d\" width=\"%d\" height=\"%d\"`, x, y, w, h)\n}\n\n// fsattr returns the XML attribute representation of a filterspec, ignoring empty attributes\nfunc fsattr(s Filterspec) string {\n\tattrs := \"\"\n\tif len(s.In) > 0 {\n\t\tattrs += fmt.Sprintf(`in=\"%s\" `, s.In)\n\t}\n\tif len(s.In2) > 0 {\n\t\tattrs += fmt.Sprintf(`in2=\"%s\" `, s.In2)\n\t}\n\tif len(s.Result) > 0 {\n\t\tattrs += fmt.Sprintf(`result=\"%s\" `, s.Result)\n\t}\n\treturn attrs\n}\n\n// tablevalues outputs a series of values as a XML attribute\nfunc (svg *SVG) tablevalues(s string, t []float64) {\n\tsvg.printf(` %s=\"`, s)\n\tfor i := 0; i < len(t)-1; i++ {\n\t\tsvg.printf(\"%g \", t[i])\n\t}\n\tsvg.printf(`%g\"%s`, t[len(t)-1], emptyclose)\n}\n\n// imgchannel validates the image channel indicator\nfunc imgchannel(c string) string {\n\tswitch c {\n\tcase \"R\", \"G\", \"B\", \"A\":\n\t\treturn c\n\tcase \"r\", \"g\", \"b\", \"a\":\n\t\treturn strings.ToUpper(c)\n\tcase \"red\", \"green\", \"blue\", \"alpha\":\n\t\treturn strings.ToUpper(c[0:1])\n\tcase \"Red\", \"Green\", \"Blue\", \"Alpha\":\n\t\treturn c[0:1]\n\t}\n\treturn \"R\"\n}\n"
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/LICENSE",
    "content": "Copyright (c) 2012-2015, Sergey Cherepanov\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n* Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/format.go",
    "content": "package pb\n\nimport (\n\t\"fmt\"\n\t\"time\"\n)\n\ntype Units int\n\nconst (\n\t// U_NO are default units, they represent a simple value and are not formatted at all.\n\tU_NO Units = iota\n\t// U_BYTES units are formatted in a human readable way (B, KiB, MiB, ...)\n\tU_BYTES\n\t// U_BYTES_DEC units are like U_BYTES, but base 10 (B, KB, MB, ...)\n\tU_BYTES_DEC\n\t// U_DURATION units are formatted in a human readable way (3h14m15s)\n\tU_DURATION\n)\n\nconst (\n\tKiB = 1024\n\tMiB = 1048576\n\tGiB = 1073741824\n\tTiB = 1099511627776\n\n\tKB = 1e3\n\tMB = 1e6\n\tGB = 1e9\n\tTB = 1e12\n)\n\nfunc Format(i int64) *formatter {\n\treturn &formatter{n: i}\n}\n\ntype formatter struct {\n\tn      int64\n\tunit   Units\n\twidth  int\n\tperSec bool\n}\n\nfunc (f *formatter) To(unit Units) *formatter {\n\tf.unit = unit\n\treturn f\n}\n\nfunc (f *formatter) Width(width int) *formatter {\n\tf.width = width\n\treturn f\n}\n\nfunc (f *formatter) PerSec() *formatter {\n\tf.perSec = true\n\treturn f\n}\n\nfunc (f *formatter) String() (out string) {\n\tswitch f.unit {\n\tcase U_BYTES:\n\t\tout = formatBytes(f.n)\n\tcase U_BYTES_DEC:\n\t\tout = formatBytesDec(f.n)\n\tcase U_DURATION:\n\t\tout = formatDuration(f.n)\n\tdefault:\n\t\tout = fmt.Sprintf(fmt.Sprintf(\"%%%dd\", f.width), f.n)\n\t}\n\tif f.perSec {\n\t\tout += \"/s\"\n\t}\n\treturn\n}\n\n// Convert bytes to human readable string. Like 2 MiB, 64.2 KiB, 52 B\nfunc formatBytes(i int64) (result string) {\n\tswitch {\n\tcase i >= TiB:\n\t\tresult = fmt.Sprintf(\"%.02f TiB\", float64(i)/TiB)\n\tcase i >= GiB:\n\t\tresult = fmt.Sprintf(\"%.02f GiB\", float64(i)/GiB)\n\tcase i >= MiB:\n\t\tresult = fmt.Sprintf(\"%.02f MiB\", float64(i)/MiB)\n\tcase i >= KiB:\n\t\tresult = fmt.Sprintf(\"%.02f KiB\", float64(i)/KiB)\n\tdefault:\n\t\tresult = fmt.Sprintf(\"%d B\", i)\n\t}\n\treturn\n}\n\n// Convert bytes to base-10 human readable string. Like 2 MB, 64.2 KB, 52 B\nfunc formatBytesDec(i int64) (result string) {\n\tswitch {\n\tcase i >= TB:\n\t\tresult = fmt.Sprintf(\"%.02f TB\", float64(i)/TB)\n\tcase i >= GB:\n\t\tresult = fmt.Sprintf(\"%.02f GB\", float64(i)/GB)\n\tcase i >= MB:\n\t\tresult = fmt.Sprintf(\"%.02f MB\", float64(i)/MB)\n\tcase i >= KB:\n\t\tresult = fmt.Sprintf(\"%.02f KB\", float64(i)/KB)\n\tdefault:\n\t\tresult = fmt.Sprintf(\"%d B\", i)\n\t}\n\treturn\n}\n\nfunc formatDuration(n int64) (result string) {\n\td := time.Duration(n)\n\tif d > time.Hour*24 {\n\t\tresult = fmt.Sprintf(\"%dd\", d/24/time.Hour)\n\t\td -= (d / time.Hour / 24) * (time.Hour * 24)\n\t}\n\tresult = fmt.Sprintf(\"%s%v\", result, d)\n\treturn\n}\n"
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/pb.go",
    "content": "// Simple console progress bars\npackage pb\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"math\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\t\"unicode/utf8\"\n)\n\n// Current version\nconst Version = \"1.0.19\"\n\nconst (\n\t// Default refresh rate - 200ms\n\tDEFAULT_REFRESH_RATE = time.Millisecond * 200\n\tFORMAT               = \"[=>-]\"\n)\n\n// DEPRECATED\n// variables for backward compatibility, from now do not work\n// use pb.Format and pb.SetRefreshRate\nvar (\n\tDefaultRefreshRate                         = DEFAULT_REFRESH_RATE\n\tBarStart, BarEnd, Empty, Current, CurrentN string\n)\n\n// Create new progress bar object\nfunc New(total int) *ProgressBar {\n\treturn New64(int64(total))\n}\n\n// Create new progress bar object using int64 as total\nfunc New64(total int64) *ProgressBar {\n\tpb := &ProgressBar{\n\t\tTotal:         total,\n\t\tRefreshRate:   DEFAULT_REFRESH_RATE,\n\t\tShowPercent:   true,\n\t\tShowCounters:  true,\n\t\tShowBar:       true,\n\t\tShowTimeLeft:  true,\n\t\tShowFinalTime: true,\n\t\tUnits:         U_NO,\n\t\tManualUpdate:  false,\n\t\tfinish:        make(chan struct{}),\n\t}\n\treturn pb.Format(FORMAT)\n}\n\n// Create new object and start\nfunc StartNew(total int) *ProgressBar {\n\treturn New(total).Start()\n}\n\n// Callback for custom output\n// For example:\n// bar.Callback = func(s string) {\n//     mySuperPrint(s)\n// }\n//\ntype Callback func(out string)\n\ntype ProgressBar struct {\n\tcurrent  int64 // current must be first member of struct (https://code.google.com/p/go/issues/detail?id=5278)\n\tprevious int64\n\n\tTotal                            int64\n\tRefreshRate                      time.Duration\n\tShowPercent, ShowCounters        bool\n\tShowSpeed, ShowTimeLeft, ShowBar bool\n\tShowFinalTime                    bool\n\tOutput                           io.Writer\n\tCallback                         Callback\n\tNotPrint                         bool\n\tUnits                            Units\n\tWidth                            int\n\tForceWidth                       bool\n\tManualUpdate                     bool\n\tAutoStat                         bool\n\n\t// Default width for the time box.\n\tUnitsWidth   int\n\tTimeBoxWidth int\n\n\tfinishOnce sync.Once //Guards isFinish\n\tfinish     chan struct{}\n\tisFinish   bool\n\n\tstartTime  time.Time\n\tstartValue int64\n\n\tchangeTime time.Time\n\n\tprefix, postfix string\n\n\tmu        sync.Mutex\n\tlastPrint string\n\n\tBarStart string\n\tBarEnd   string\n\tEmpty    string\n\tCurrent  string\n\tCurrentN string\n\n\tAlwaysUpdate bool\n}\n\n// Start print\nfunc (pb *ProgressBar) Start() *ProgressBar {\n\tpb.startTime = time.Now()\n\tpb.startValue = atomic.LoadInt64(&pb.current)\n\tif pb.Total == 0 {\n\t\tpb.ShowTimeLeft = false\n\t\tpb.ShowPercent = false\n\t\tpb.AutoStat = false\n\t}\n\tif !pb.ManualUpdate {\n\t\tpb.Update() // Initial printing of the bar before running the bar refresher.\n\t\tgo pb.refresher()\n\t}\n\treturn pb\n}\n\n// Increment current value\nfunc (pb *ProgressBar) Increment() int {\n\treturn pb.Add(1)\n}\n\n// Get current value\nfunc (pb *ProgressBar) Get() int64 {\n\tc := atomic.LoadInt64(&pb.current)\n\treturn c\n}\n\n// Set current value\nfunc (pb *ProgressBar) Set(current int) *ProgressBar {\n\treturn pb.Set64(int64(current))\n}\n\n// Set64 sets the current value as int64\nfunc (pb *ProgressBar) Set64(current int64) *ProgressBar {\n\tatomic.StoreInt64(&pb.current, current)\n\treturn pb\n}\n\n// Add to current value\nfunc (pb *ProgressBar) Add(add int) int {\n\treturn int(pb.Add64(int64(add)))\n}\n\nfunc (pb *ProgressBar) Add64(add int64) int64 {\n\treturn atomic.AddInt64(&pb.current, add)\n}\n\n// Set prefix string\nfunc (pb *ProgressBar) Prefix(prefix string) *ProgressBar {\n\tpb.prefix = prefix\n\treturn pb\n}\n\n// Set postfix string\nfunc (pb *ProgressBar) Postfix(postfix string) *ProgressBar {\n\tpb.postfix = postfix\n\treturn pb\n}\n\n// Set custom format for bar\n// Example: bar.Format(\"[=>_]\")\n// Example: bar.Format(\"[\\x00=\\x00>\\x00-\\x00]\") // \\x00 is the delimiter\nfunc (pb *ProgressBar) Format(format string) *ProgressBar {\n\tvar formatEntries []string\n\tif utf8.RuneCountInString(format) == 5 {\n\t\tformatEntries = strings.Split(format, \"\")\n\t} else {\n\t\tformatEntries = strings.Split(format, \"\\x00\")\n\t}\n\tif len(formatEntries) == 5 {\n\t\tpb.BarStart = formatEntries[0]\n\t\tpb.BarEnd = formatEntries[4]\n\t\tpb.Empty = formatEntries[3]\n\t\tpb.Current = formatEntries[1]\n\t\tpb.CurrentN = formatEntries[2]\n\t}\n\treturn pb\n}\n\n// Set bar refresh rate\nfunc (pb *ProgressBar) SetRefreshRate(rate time.Duration) *ProgressBar {\n\tpb.RefreshRate = rate\n\treturn pb\n}\n\n// Set units\n// bar.SetUnits(U_NO) - by default\n// bar.SetUnits(U_BYTES) - for Mb, Kb, etc\nfunc (pb *ProgressBar) SetUnits(units Units) *ProgressBar {\n\tpb.Units = units\n\treturn pb\n}\n\n// Set max width, if width is bigger than terminal width, will be ignored\nfunc (pb *ProgressBar) SetMaxWidth(width int) *ProgressBar {\n\tpb.Width = width\n\tpb.ForceWidth = false\n\treturn pb\n}\n\n// Set bar width\nfunc (pb *ProgressBar) SetWidth(width int) *ProgressBar {\n\tpb.Width = width\n\tpb.ForceWidth = true\n\treturn pb\n}\n\n// End print\nfunc (pb *ProgressBar) Finish() {\n\t//Protect multiple calls\n\tpb.finishOnce.Do(func() {\n\t\tclose(pb.finish)\n\t\tpb.write(atomic.LoadInt64(&pb.current))\n\t\tpb.mu.Lock()\n\t\tdefer pb.mu.Unlock()\n\t\tswitch {\n\t\tcase pb.Output != nil:\n\t\t\tfmt.Fprintln(pb.Output)\n\t\tcase !pb.NotPrint:\n\t\t\tfmt.Println()\n\t\t}\n\t\tpb.isFinish = true\n\t})\n}\n\n// IsFinished return boolean\nfunc (pb *ProgressBar) IsFinished() bool {\n\tpb.mu.Lock()\n\tdefer pb.mu.Unlock()\n\treturn pb.isFinish\n}\n\n// End print and write string 'str'\nfunc (pb *ProgressBar) FinishPrint(str string) {\n\tpb.Finish()\n\tif pb.Output != nil {\n\t\tfmt.Fprintln(pb.Output, str)\n\t} else {\n\t\tfmt.Println(str)\n\t}\n}\n\n// implement io.Writer\nfunc (pb *ProgressBar) Write(p []byte) (n int, err error) {\n\tn = len(p)\n\tpb.Add(n)\n\treturn\n}\n\n// implement io.Reader\nfunc (pb *ProgressBar) Read(p []byte) (n int, err error) {\n\tn = len(p)\n\tpb.Add(n)\n\treturn\n}\n\n// Create new proxy reader over bar\n// Takes io.Reader or io.ReadCloser\nfunc (pb *ProgressBar) NewProxyReader(r io.Reader) *Reader {\n\treturn &Reader{r, pb}\n}\n\nfunc (pb *ProgressBar) write(current int64) {\n\twidth := pb.GetWidth()\n\n\tvar percentBox, countersBox, timeLeftBox, speedBox, barBox, end, out string\n\n\t// percents\n\tif pb.ShowPercent {\n\t\tvar percent float64\n\t\tif pb.Total > 0 {\n\t\t\tpercent = float64(current) / (float64(pb.Total) / float64(100))\n\t\t} else {\n\t\t\tpercent = float64(current) / float64(100)\n\t\t}\n\t\tpercentBox = fmt.Sprintf(\" %6.02f%%\", percent)\n\t}\n\n\t// counters\n\tif pb.ShowCounters {\n\t\tcurrent := Format(current).To(pb.Units).Width(pb.UnitsWidth)\n\t\tif pb.Total > 0 {\n\t\t\ttotal := Format(pb.Total).To(pb.Units).Width(pb.UnitsWidth)\n\t\t\tcountersBox = fmt.Sprintf(\" %s / %s \", current, total)\n\t\t} else {\n\t\t\tcountersBox = fmt.Sprintf(\" %s / ? \", current)\n\t\t}\n\t}\n\n\t// time left\n\tpb.mu.Lock()\n\tcurrentFromStart := current - pb.startValue\n\tfromStart := time.Now().Sub(pb.startTime)\n\tlastChangeTime := pb.changeTime\n\tfromChange := lastChangeTime.Sub(pb.startTime)\n\tpb.mu.Unlock()\n\tselect {\n\tcase <-pb.finish:\n\t\tif pb.ShowFinalTime {\n\t\t\tvar left time.Duration\n\t\t\tleft = (fromStart / time.Second) * time.Second\n\t\t\ttimeLeftBox = fmt.Sprintf(\" %s\", left.String())\n\t\t}\n\tdefault:\n\t\tif pb.ShowTimeLeft && currentFromStart > 0 {\n\t\t\tperEntry := fromChange / time.Duration(currentFromStart)\n\t\t\tvar left time.Duration\n\t\t\tif pb.Total > 0 {\n\t\t\t\tleft = time.Duration(pb.Total-currentFromStart) * perEntry\n\t\t\t\tleft -= time.Since(lastChangeTime)\n\t\t\t\tleft = (left / time.Second) * time.Second\n\t\t\t} else {\n\t\t\t\tleft = time.Duration(currentFromStart) * perEntry\n\t\t\t\tleft = (left / time.Second) * time.Second\n\t\t\t}\n\t\t\tif left > 0 {\n\t\t\t\ttimeLeft := Format(int64(left)).To(U_DURATION).String()\n\t\t\t\ttimeLeftBox = fmt.Sprintf(\" %s\", timeLeft)\n\t\t\t}\n\t\t}\n\t}\n\n\tif len(timeLeftBox) < pb.TimeBoxWidth {\n\t\ttimeLeftBox = fmt.Sprintf(\"%s%s\", strings.Repeat(\" \", pb.TimeBoxWidth-len(timeLeftBox)), timeLeftBox)\n\t}\n\n\t// speed\n\tif pb.ShowSpeed && currentFromStart > 0 {\n\t\tfromStart := time.Now().Sub(pb.startTime)\n\t\tspeed := float64(currentFromStart) / (float64(fromStart) / float64(time.Second))\n\t\tspeedBox = \" \" + Format(int64(speed)).To(pb.Units).Width(pb.UnitsWidth).PerSec().String()\n\t}\n\n\tbarWidth := escapeAwareRuneCountInString(countersBox + pb.BarStart + pb.BarEnd + percentBox + timeLeftBox + speedBox + pb.prefix + pb.postfix)\n\t// bar\n\tif pb.ShowBar {\n\t\tsize := width - barWidth\n\t\tif size > 0 {\n\t\t\tif pb.Total > 0 {\n\t\t\t\tcurSize := int(math.Ceil((float64(current) / float64(pb.Total)) * float64(size)))\n\t\t\t\temptySize := size - curSize\n\t\t\t\tbarBox = pb.BarStart\n\t\t\t\tif emptySize < 0 {\n\t\t\t\t\temptySize = 0\n\t\t\t\t}\n\t\t\t\tif curSize > size {\n\t\t\t\t\tcurSize = size\n\t\t\t\t}\n\n\t\t\t\tcursorLen := escapeAwareRuneCountInString(pb.Current)\n\t\t\t\tif emptySize <= 0 {\n\t\t\t\t\tbarBox += strings.Repeat(pb.Current, curSize/cursorLen)\n\t\t\t\t} else if curSize > 0 {\n\t\t\t\t\tcursorEndLen := escapeAwareRuneCountInString(pb.CurrentN)\n\t\t\t\t\tcursorRepetitions := (curSize - cursorEndLen) / cursorLen\n\t\t\t\t\tbarBox += strings.Repeat(pb.Current, cursorRepetitions)\n\t\t\t\t\tbarBox += pb.CurrentN\n\t\t\t\t}\n\n\t\t\t\temptyLen := escapeAwareRuneCountInString(pb.Empty)\n\t\t\t\tbarBox += strings.Repeat(pb.Empty, emptySize/emptyLen)\n\t\t\t\tbarBox += pb.BarEnd\n\t\t\t} else {\n\t\t\t\tpos := size - int(current)%int(size)\n\t\t\t\tbarBox = pb.BarStart\n\t\t\t\tif pos-1 > 0 {\n\t\t\t\t\tbarBox += strings.Repeat(pb.Empty, pos-1)\n\t\t\t\t}\n\t\t\t\tbarBox += pb.Current\n\t\t\t\tif size-pos-1 > 0 {\n\t\t\t\t\tbarBox += strings.Repeat(pb.Empty, size-pos-1)\n\t\t\t\t}\n\t\t\t\tbarBox += pb.BarEnd\n\t\t\t}\n\t\t}\n\t}\n\n\t// check len\n\tout = pb.prefix + countersBox + barBox + percentBox + speedBox + timeLeftBox + pb.postfix\n\tif cl := escapeAwareRuneCountInString(out); cl < width {\n\t\tend = strings.Repeat(\" \", width-cl)\n\t}\n\n\t// and print!\n\tpb.mu.Lock()\n\tpb.lastPrint = out + end\n\tisFinish := pb.isFinish\n\tpb.mu.Unlock()\n\tswitch {\n\tcase isFinish:\n\t\treturn\n\tcase pb.Output != nil:\n\t\tfmt.Fprint(pb.Output, \"\\r\"+out+end)\n\tcase pb.Callback != nil:\n\t\tpb.Callback(out + end)\n\tcase !pb.NotPrint:\n\t\tfmt.Print(\"\\r\" + out + end)\n\t}\n}\n\n// GetTerminalWidth - returns terminal width for all platforms.\nfunc GetTerminalWidth() (int, error) {\n\treturn terminalWidth()\n}\n\nfunc (pb *ProgressBar) GetWidth() int {\n\tif pb.ForceWidth {\n\t\treturn pb.Width\n\t}\n\n\twidth := pb.Width\n\ttermWidth, _ := terminalWidth()\n\tif width == 0 || termWidth <= width {\n\t\twidth = termWidth\n\t}\n\n\treturn width\n}\n\n// Write the current state of the progressbar\nfunc (pb *ProgressBar) Update() {\n\tc := atomic.LoadInt64(&pb.current)\n\tp := atomic.LoadInt64(&pb.previous)\n\tif p != c {\n\t\tpb.mu.Lock()\n\t\tpb.changeTime = time.Now()\n\t\tpb.mu.Unlock()\n\t\tatomic.StoreInt64(&pb.previous, c)\n\t}\n\tpb.write(c)\n\tif pb.AutoStat {\n\t\tif c == 0 {\n\t\t\tpb.startTime = time.Now()\n\t\t\tpb.startValue = 0\n\t\t} else if c >= pb.Total && pb.isFinish != true {\n\t\t\tpb.Finish()\n\t\t}\n\t}\n}\n\n// String return the last bar print\nfunc (pb *ProgressBar) String() string {\n\tpb.mu.Lock()\n\tdefer pb.mu.Unlock()\n\treturn pb.lastPrint\n}\n\n// Internal loop for refreshing the progressbar\nfunc (pb *ProgressBar) refresher() {\n\tfor {\n\t\tselect {\n\t\tcase <-pb.finish:\n\t\t\treturn\n\t\tcase <-time.After(pb.RefreshRate):\n\t\t\tpb.Update()\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/pb_appengine.go",
    "content": "// +build appengine\n\npackage pb\n\nimport \"errors\"\n\n// terminalWidth returns width of the terminal, which is not supported\n// and should always failed on appengine classic which is a sandboxed PaaS.\nfunc terminalWidth() (int, error) {\n\treturn 0, errors.New(\"Not supported\")\n}\n"
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/pb_win.go",
    "content": "// +build windows\n\npackage pb\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\t\"sync\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar tty = os.Stdin\n\nvar (\n\tkernel32 = syscall.NewLazyDLL(\"kernel32.dll\")\n\n\t// GetConsoleScreenBufferInfo retrieves information about the\n\t// specified console screen buffer.\n\t// http://msdn.microsoft.com/en-us/library/windows/desktop/ms683171(v=vs.85).aspx\n\tprocGetConsoleScreenBufferInfo = kernel32.NewProc(\"GetConsoleScreenBufferInfo\")\n\n\t// GetConsoleMode retrieves the current input mode of a console's\n\t// input buffer or the current output mode of a console screen buffer.\n\t// https://msdn.microsoft.com/en-us/library/windows/desktop/ms683167(v=vs.85).aspx\n\tgetConsoleMode = kernel32.NewProc(\"GetConsoleMode\")\n\n\t// SetConsoleMode sets the input mode of a console's input buffer\n\t// or the output mode of a console screen buffer.\n\t// https://msdn.microsoft.com/en-us/library/windows/desktop/ms686033(v=vs.85).aspx\n\tsetConsoleMode = kernel32.NewProc(\"SetConsoleMode\")\n\n\t// SetConsoleCursorPosition sets the cursor position in the\n\t// specified console screen buffer.\n\t// https://msdn.microsoft.com/en-us/library/windows/desktop/ms686025(v=vs.85).aspx\n\tsetConsoleCursorPosition = kernel32.NewProc(\"SetConsoleCursorPosition\")\n)\n\ntype (\n\t// Defines the coordinates of the upper left and lower right corners\n\t// of a rectangle.\n\t// See\n\t// http://msdn.microsoft.com/en-us/library/windows/desktop/ms686311(v=vs.85).aspx\n\tsmallRect struct {\n\t\tLeft, Top, Right, Bottom int16\n\t}\n\n\t// Defines the coordinates of a character cell in a console screen\n\t// buffer. The origin of the coordinate system (0,0) is at the top, left cell\n\t// of the buffer.\n\t// See\n\t// http://msdn.microsoft.com/en-us/library/windows/desktop/ms682119(v=vs.85).aspx\n\tcoordinates struct {\n\t\tX, Y int16\n\t}\n\n\tword int16\n\n\t// Contains information about a console screen buffer.\n\t// http://msdn.microsoft.com/en-us/library/windows/desktop/ms682093(v=vs.85).aspx\n\tconsoleScreenBufferInfo struct {\n\t\tdwSize              coordinates\n\t\tdwCursorPosition    coordinates\n\t\twAttributes         word\n\t\tsrWindow            smallRect\n\t\tdwMaximumWindowSize coordinates\n\t}\n)\n\n// terminalWidth returns width of the terminal.\nfunc terminalWidth() (width int, err error) {\n\tvar info consoleScreenBufferInfo\n\t_, _, e := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(syscall.Stdout), uintptr(unsafe.Pointer(&info)), 0)\n\tif e != 0 {\n\t\treturn 0, error(e)\n\t}\n\treturn int(info.dwSize.X) - 1, nil\n}\n\nfunc getCursorPos() (pos coordinates, err error) {\n\tvar info consoleScreenBufferInfo\n\t_, _, e := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(syscall.Stdout), uintptr(unsafe.Pointer(&info)), 0)\n\tif e != 0 {\n\t\treturn info.dwCursorPosition, error(e)\n\t}\n\treturn info.dwCursorPosition, nil\n}\n\nfunc setCursorPos(pos coordinates) error {\n\t_, _, e := syscall.Syscall(setConsoleCursorPosition.Addr(), 2, uintptr(syscall.Stdout), uintptr(uint32(uint16(pos.Y))<<16|uint32(uint16(pos.X))), 0)\n\tif e != 0 {\n\t\treturn error(e)\n\t}\n\treturn nil\n}\n\nvar ErrPoolWasStarted = errors.New(\"Bar pool was started\")\n\nvar echoLocked bool\nvar echoLockMutex sync.Mutex\n\nvar oldState word\n\nfunc lockEcho() (quit chan int, err error) {\n\techoLockMutex.Lock()\n\tdefer echoLockMutex.Unlock()\n\tif echoLocked {\n\t\terr = ErrPoolWasStarted\n\t\treturn\n\t}\n\techoLocked = true\n\n\tif _, _, e := syscall.Syscall(getConsoleMode.Addr(), 2, uintptr(syscall.Stdout), uintptr(unsafe.Pointer(&oldState)), 0); e != 0 {\n\t\terr = fmt.Errorf(\"Can't get terminal settings: %v\", e)\n\t\treturn\n\t}\n\n\tnewState := oldState\n\tconst ENABLE_ECHO_INPUT = 0x0004\n\tconst ENABLE_LINE_INPUT = 0x0002\n\tnewState = newState & (^(ENABLE_LINE_INPUT | ENABLE_ECHO_INPUT))\n\tif _, _, e := syscall.Syscall(setConsoleMode.Addr(), 2, uintptr(syscall.Stdout), uintptr(newState), 0); e != 0 {\n\t\terr = fmt.Errorf(\"Can't set terminal settings: %v\", e)\n\t\treturn\n\t}\n\treturn\n}\n\nfunc unlockEcho() (err error) {\n\techoLockMutex.Lock()\n\tdefer echoLockMutex.Unlock()\n\tif !echoLocked {\n\t\treturn\n\t}\n\techoLocked = false\n\tif _, _, e := syscall.Syscall(setConsoleMode.Addr(), 2, uintptr(syscall.Stdout), uintptr(oldState), 0); e != 0 {\n\t\terr = fmt.Errorf(\"Can't set terminal settings\")\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/pb_x.go",
    "content": "// +build linux darwin freebsd netbsd openbsd solaris dragonfly\n// +build !appengine\n\npackage pb\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\t\"os/signal\"\n\t\"sync\"\n\t\"syscall\"\n\n\t\"golang.org/x/sys/unix\"\n)\n\nvar ErrPoolWasStarted = errors.New(\"Bar pool was started\")\n\nvar (\n\techoLockMutex    sync.Mutex\n\torigTermStatePtr *unix.Termios\n\ttty              *os.File\n)\n\nfunc init() {\n\techoLockMutex.Lock()\n\tdefer echoLockMutex.Unlock()\n\n\tvar err error\n\ttty, err = os.Open(\"/dev/tty\")\n\tif err != nil {\n\t\ttty = os.Stdin\n\t}\n}\n\n// terminalWidth returns width of the terminal.\nfunc terminalWidth() (int, error) {\n\techoLockMutex.Lock()\n\tdefer echoLockMutex.Unlock()\n\n\tfd := int(tty.Fd())\n\n\tws, err := unix.IoctlGetWinsize(fd, unix.TIOCGWINSZ)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\n\treturn int(ws.Col), nil\n}\n\nfunc lockEcho() (quit chan int, err error) {\n\techoLockMutex.Lock()\n\tdefer echoLockMutex.Unlock()\n\tif origTermStatePtr != nil {\n\t\treturn quit, ErrPoolWasStarted\n\t}\n\n\tfd := int(tty.Fd())\n\n\toldTermStatePtr, err := unix.IoctlGetTermios(fd, ioctlReadTermios)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"Can't get terminal settings: %v\", err)\n\t}\n\n\toldTermios := *oldTermStatePtr\n\tnewTermios := oldTermios\n\tnewTermios.Lflag &^= syscall.ECHO\n\tnewTermios.Lflag |= syscall.ICANON | syscall.ISIG\n\tnewTermios.Iflag |= syscall.ICRNL\n\tif err := unix.IoctlSetTermios(fd, ioctlWriteTermios, &newTermios); err != nil {\n\t\treturn nil, fmt.Errorf(\"Can't set terminal settings: %v\", err)\n\t}\n\n\tquit = make(chan int, 1)\n\tgo catchTerminate(quit)\n\treturn\n}\n\nfunc unlockEcho() error {\n\techoLockMutex.Lock()\n\tdefer echoLockMutex.Unlock()\n\tif origTermStatePtr == nil {\n\t\treturn nil\n\t}\n\n\tfd := int(tty.Fd())\n\n\tif err := unix.IoctlSetTermios(fd, ioctlWriteTermios, origTermStatePtr); err != nil {\n\t\treturn fmt.Errorf(\"Can't set terminal settings: %v\", err)\n\t}\n\n\torigTermStatePtr = nil\n\n\treturn nil\n}\n\n// listen exit signals and restore terminal state\nfunc catchTerminate(quit chan int) {\n\tsig := make(chan os.Signal, 1)\n\tsignal.Notify(sig, os.Interrupt, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGKILL)\n\tdefer signal.Stop(sig)\n\tselect {\n\tcase <-quit:\n\t\tunlockEcho()\n\tcase <-sig:\n\t\tunlockEcho()\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/pool.go",
    "content": "// +build linux darwin freebsd netbsd openbsd solaris dragonfly windows\n\npackage pb\n\nimport (\n\t\"io\"\n\t\"sync\"\n\t\"time\"\n)\n\n// Create and start new pool with given bars\n// You need call pool.Stop() after work\nfunc StartPool(pbs ...*ProgressBar) (pool *Pool, err error) {\n\tpool = new(Pool)\n\tif err = pool.start(); err != nil {\n\t\treturn\n\t}\n\tpool.Add(pbs...)\n\treturn\n}\n\ntype Pool struct {\n\tOutput        io.Writer\n\tRefreshRate   time.Duration\n\tbars          []*ProgressBar\n\tlastBarsCount int\n\tquit          chan int\n\tm             sync.Mutex\n\tfinishOnce    sync.Once\n}\n\n// Add progress bars.\nfunc (p *Pool) Add(pbs ...*ProgressBar) {\n\tp.m.Lock()\n\tdefer p.m.Unlock()\n\tfor _, bar := range pbs {\n\t\tbar.ManualUpdate = true\n\t\tbar.NotPrint = true\n\t\tbar.Start()\n\t\tp.bars = append(p.bars, bar)\n\t}\n}\n\nfunc (p *Pool) start() (err error) {\n\tp.RefreshRate = DefaultRefreshRate\n\tquit, err := lockEcho()\n\tif err != nil {\n\t\treturn\n\t}\n\tp.quit = make(chan int)\n\tgo p.writer(quit)\n\treturn\n}\n\nfunc (p *Pool) writer(finish chan int) {\n\tvar first = true\n\tfor {\n\t\tselect {\n\t\tcase <-time.After(p.RefreshRate):\n\t\t\tif p.print(first) {\n\t\t\t\tp.print(false)\n\t\t\t\tfinish <- 1\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfirst = false\n\t\tcase <-p.quit:\n\t\t\tfinish <- 1\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// Restore terminal state and close pool\nfunc (p *Pool) Stop() error {\n\t// Wait until one final refresh has passed.\n\ttime.Sleep(p.RefreshRate)\n\n\tp.finishOnce.Do(func() {\n\t\tclose(p.quit)\n\t})\n\treturn unlockEcho()\n}\n"
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/pool_win.go",
    "content": "// +build windows\n\npackage pb\n\nimport (\n\t\"fmt\"\n\t\"log\"\n)\n\nfunc (p *Pool) print(first bool) bool {\n\tp.m.Lock()\n\tdefer p.m.Unlock()\n\tvar out string\n\tif !first {\n\t\tcoords, err := getCursorPos()\n\t\tif err != nil {\n\t\t\tlog.Panic(err)\n\t\t}\n\t\tcoords.Y -= int16(p.lastBarsCount)\n\t\tif coords.Y < 0 {\n\t\t\tcoords.Y = 0\n\t\t}\n\t\tcoords.X = 0\n\n\t\terr = setCursorPos(coords)\n\t\tif err != nil {\n\t\t\tlog.Panic(err)\n\t\t}\n\t}\n\tisFinished := true\n\tfor _, bar := range p.bars {\n\t\tif !bar.IsFinished() {\n\t\t\tisFinished = false\n\t\t}\n\t\tbar.Update()\n\t\tout += fmt.Sprintf(\"\\r%s\\n\", bar.String())\n\t}\n\tif p.Output != nil {\n\t\tfmt.Fprint(p.Output, out)\n\t} else {\n\t\tfmt.Print(out)\n\t}\n\tp.lastBarsCount = len(p.bars)\n\treturn isFinished\n}\n"
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/pool_x.go",
    "content": "// +build linux darwin freebsd netbsd openbsd solaris dragonfly\n\npackage pb\n\nimport \"fmt\"\n\nfunc (p *Pool) print(first bool) bool {\n\tp.m.Lock()\n\tdefer p.m.Unlock()\n\tvar out string\n\tif !first {\n\t\tout = fmt.Sprintf(\"\\033[%dA\", p.lastBarsCount)\n\t}\n\tisFinished := true\n\tfor _, bar := range p.bars {\n\t\tif !bar.IsFinished() {\n\t\t\tisFinished = false\n\t\t}\n\t\tbar.Update()\n\t\tout += fmt.Sprintf(\"\\r%s\\n\", bar.String())\n\t}\n\tif p.Output != nil {\n\t\tfmt.Fprint(p.Output, out)\n\t} else {\n\t\tfmt.Print(out)\n\t}\n\tp.lastBarsCount = len(p.bars)\n\treturn isFinished\n}\n"
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/reader.go",
    "content": "package pb\n\nimport (\n\t\"io\"\n)\n\n// It's proxy reader, implement io.Reader\ntype Reader struct {\n\tio.Reader\n\tbar *ProgressBar\n}\n\nfunc (r *Reader) Read(p []byte) (n int, err error) {\n\tn, err = r.Reader.Read(p)\n\tr.bar.Add(n)\n\treturn\n}\n\n// Close the reader when it implements io.Closer\nfunc (r *Reader) Close() (err error) {\n\tif closer, ok := r.Reader.(io.Closer); ok {\n\t\treturn closer.Close()\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/runecount.go",
    "content": "package pb\n\nimport (\n\t\"github.com/mattn/go-runewidth\"\n\t\"regexp\"\n)\n\n// Finds the control character sequences (like colors)\nvar ctrlFinder = regexp.MustCompile(\"\\x1b\\x5b[0-9]+\\x6d\")\n\nfunc escapeAwareRuneCountInString(s string) int {\n\tn := runewidth.StringWidth(s)\n\tfor _, sm := range ctrlFinder.FindAllString(s, -1) {\n\t\tn -= runewidth.StringWidth(sm)\n\t}\n\treturn n\n}\n"
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/termios_bsd.go",
    "content": "// +build darwin freebsd netbsd openbsd dragonfly\n// +build !appengine\n\npackage pb\n\nimport \"syscall\"\n\nconst ioctlReadTermios = syscall.TIOCGETA\nconst ioctlWriteTermios = syscall.TIOCSETA\n"
  },
  {
    "path": "vendor/github.com/cheggaaa/pb/termios_sysv.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux solaris\n// +build !appengine\n\npackage pb\n\nimport \"golang.org/x/sys/unix\"\n\nconst ioctlReadTermios = unix.TCGETS\nconst ioctlWriteTermios = unix.TCSETS\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/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": "vendor/github.com/coreos/etcd/NOTICE",
    "content": "CoreOS Project\nCopyright 2014 CoreOS, Inc\n\nThis product includes software developed at CoreOS, Inc.\n(http://www.coreos.com/).\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/auth/authpb/auth.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: auth.proto\n\n/*\n\tPackage authpb is a generated protocol buffer package.\n\n\tIt is generated from these files:\n\t\tauth.proto\n\n\tIt has these top-level messages:\n\t\tUser\n\t\tPermission\n\t\tRole\n*/\npackage authpb\n\nimport (\n\t\"fmt\"\n\n\tproto \"github.com/golang/protobuf/proto\"\n\n\tmath \"math\"\n\n\t_ \"github.com/gogo/protobuf/gogoproto\"\n\n\tio \"io\"\n)\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\ntype Permission_Type int32\n\nconst (\n\tREAD      Permission_Type = 0\n\tWRITE     Permission_Type = 1\n\tREADWRITE Permission_Type = 2\n)\n\nvar Permission_Type_name = map[int32]string{\n\t0: \"READ\",\n\t1: \"WRITE\",\n\t2: \"READWRITE\",\n}\nvar Permission_Type_value = map[string]int32{\n\t\"READ\":      0,\n\t\"WRITE\":     1,\n\t\"READWRITE\": 2,\n}\n\nfunc (x Permission_Type) String() string {\n\treturn proto.EnumName(Permission_Type_name, int32(x))\n}\nfunc (Permission_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptorAuth, []int{1, 0} }\n\n// User is a single entry in the bucket authUsers\ntype User struct {\n\tName     []byte   `protobuf:\"bytes,1,opt,name=name,proto3\" json:\"name,omitempty\"`\n\tPassword []byte   `protobuf:\"bytes,2,opt,name=password,proto3\" json:\"password,omitempty\"`\n\tRoles    []string `protobuf:\"bytes,3,rep,name=roles\" json:\"roles,omitempty\"`\n}\n\nfunc (m *User) Reset()                    { *m = User{} }\nfunc (m *User) String() string            { return proto.CompactTextString(m) }\nfunc (*User) ProtoMessage()               {}\nfunc (*User) Descriptor() ([]byte, []int) { return fileDescriptorAuth, []int{0} }\n\n// Permission is a single entity\ntype Permission struct {\n\tPermType Permission_Type `protobuf:\"varint,1,opt,name=permType,proto3,enum=authpb.Permission_Type\" json:\"permType,omitempty\"`\n\tKey      []byte          `protobuf:\"bytes,2,opt,name=key,proto3\" json:\"key,omitempty\"`\n\tRangeEnd []byte          `protobuf:\"bytes,3,opt,name=range_end,json=rangeEnd,proto3\" json:\"range_end,omitempty\"`\n}\n\nfunc (m *Permission) Reset()                    { *m = Permission{} }\nfunc (m *Permission) String() string            { return proto.CompactTextString(m) }\nfunc (*Permission) ProtoMessage()               {}\nfunc (*Permission) Descriptor() ([]byte, []int) { return fileDescriptorAuth, []int{1} }\n\n// Role is a single entry in the bucket authRoles\ntype Role struct {\n\tName          []byte        `protobuf:\"bytes,1,opt,name=name,proto3\" json:\"name,omitempty\"`\n\tKeyPermission []*Permission `protobuf:\"bytes,2,rep,name=keyPermission\" json:\"keyPermission,omitempty\"`\n}\n\nfunc (m *Role) Reset()                    { *m = Role{} }\nfunc (m *Role) String() string            { return proto.CompactTextString(m) }\nfunc (*Role) ProtoMessage()               {}\nfunc (*Role) Descriptor() ([]byte, []int) { return fileDescriptorAuth, []int{2} }\n\nfunc init() {\n\tproto.RegisterType((*User)(nil), \"authpb.User\")\n\tproto.RegisterType((*Permission)(nil), \"authpb.Permission\")\n\tproto.RegisterType((*Role)(nil), \"authpb.Role\")\n\tproto.RegisterEnum(\"authpb.Permission_Type\", Permission_Type_name, Permission_Type_value)\n}\nfunc (m *User) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *User) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Name) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintAuth(dAtA, i, uint64(len(m.Name)))\n\t\ti += copy(dAtA[i:], m.Name)\n\t}\n\tif len(m.Password) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintAuth(dAtA, i, uint64(len(m.Password)))\n\t\ti += copy(dAtA[i:], m.Password)\n\t}\n\tif len(m.Roles) > 0 {\n\t\tfor _, s := range m.Roles {\n\t\t\tdAtA[i] = 0x1a\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *Permission) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Permission) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.PermType != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintAuth(dAtA, i, uint64(m.PermType))\n\t}\n\tif len(m.Key) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintAuth(dAtA, i, uint64(len(m.Key)))\n\t\ti += copy(dAtA[i:], m.Key)\n\t}\n\tif len(m.RangeEnd) > 0 {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintAuth(dAtA, i, uint64(len(m.RangeEnd)))\n\t\ti += copy(dAtA[i:], m.RangeEnd)\n\t}\n\treturn i, nil\n}\n\nfunc (m *Role) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Role) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Name) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintAuth(dAtA, i, uint64(len(m.Name)))\n\t\ti += copy(dAtA[i:], m.Name)\n\t}\n\tif len(m.KeyPermission) > 0 {\n\t\tfor _, msg := range m.KeyPermission {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\ti = encodeVarintAuth(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc encodeVarintAuth(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *User) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Name)\n\tif l > 0 {\n\t\tn += 1 + l + sovAuth(uint64(l))\n\t}\n\tl = len(m.Password)\n\tif l > 0 {\n\t\tn += 1 + l + sovAuth(uint64(l))\n\t}\n\tif len(m.Roles) > 0 {\n\t\tfor _, s := range m.Roles {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovAuth(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *Permission) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.PermType != 0 {\n\t\tn += 1 + sovAuth(uint64(m.PermType))\n\t}\n\tl = len(m.Key)\n\tif l > 0 {\n\t\tn += 1 + l + sovAuth(uint64(l))\n\t}\n\tl = len(m.RangeEnd)\n\tif l > 0 {\n\t\tn += 1 + l + sovAuth(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *Role) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Name)\n\tif l > 0 {\n\t\tn += 1 + l + sovAuth(uint64(l))\n\t}\n\tif len(m.KeyPermission) > 0 {\n\t\tfor _, e := range m.KeyPermission {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovAuth(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc sovAuth(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozAuth(x uint64) (n int) {\n\treturn sovAuth(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *User) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowAuth\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: User: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: User: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Name\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowAuth\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthAuth\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Name = append(m.Name[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Name == nil {\n\t\t\t\tm.Name = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Password\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowAuth\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthAuth\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Password = append(m.Password[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Password == nil {\n\t\t\t\tm.Password = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Roles\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowAuth\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthAuth\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Roles = append(m.Roles, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipAuth(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthAuth\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *Permission) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowAuth\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: Permission: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: Permission: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PermType\", wireType)\n\t\t\t}\n\t\t\tm.PermType = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowAuth\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.PermType |= (Permission_Type(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Key\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowAuth\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthAuth\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Key == nil {\n\t\t\t\tm.Key = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RangeEnd\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowAuth\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthAuth\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.RangeEnd = append(m.RangeEnd[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.RangeEnd == nil {\n\t\t\t\tm.RangeEnd = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipAuth(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthAuth\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *Role) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowAuth\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: Role: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: Role: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Name\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowAuth\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthAuth\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Name = append(m.Name[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Name == nil {\n\t\t\t\tm.Name = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field KeyPermission\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowAuth\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthAuth\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.KeyPermission = append(m.KeyPermission, &Permission{})\n\t\t\tif err := m.KeyPermission[len(m.KeyPermission)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipAuth(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthAuth\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipAuth(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowAuth\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowAuth\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowAuth\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthAuth\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowAuth\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipAuth(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthAuth = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowAuth   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"auth.proto\", fileDescriptorAuth) }\n\nvar fileDescriptorAuth = []byte{\n\t// 288 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xc1, 0x4a, 0xc3, 0x30,\n\t0x1c, 0xc6, 0x9b, 0xb6, 0x1b, 0xed, 0x5f, 0x27, 0x25, 0x0c, 0x0c, 0x13, 0x42, 0xe9, 0xa9, 0x78,\n\t0xa8, 0xb0, 0x5d, 0xbc, 0x2a, 0xf6, 0x20, 0x78, 0x90, 0x50, 0xf1, 0x28, 0x1d, 0x0d, 0x75, 0x6c,\n\t0x6d, 0x4a, 0x32, 0x91, 0xbe, 0x89, 0x07, 0x1f, 0x68, 0xc7, 0x3d, 0x82, 0xab, 0x2f, 0x22, 0x4d,\n\t0x64, 0x43, 0xdc, 0xed, 0xfb, 0xbe, 0xff, 0x97, 0xe4, 0x97, 0x3f, 0x40, 0xfe, 0xb6, 0x7e, 0x4d,\n\t0x1a, 0x29, 0xd6, 0x02, 0x0f, 0x7b, 0xdd, 0xcc, 0x27, 0xe3, 0x52, 0x94, 0x42, 0x47, 0x57, 0xbd,\n\t0x32, 0xd3, 0xe8, 0x01, 0xdc, 0x27, 0xc5, 0x25, 0xc6, 0xe0, 0xd6, 0x79, 0xc5, 0x09, 0x0a, 0x51,\n\t0x7c, 0xca, 0xb4, 0xc6, 0x13, 0xf0, 0x9a, 0x5c, 0xa9, 0x77, 0x21, 0x0b, 0x62, 0xeb, 0x7c, 0xef,\n\t0xf1, 0x18, 0x06, 0x52, 0xac, 0xb8, 0x22, 0x4e, 0xe8, 0xc4, 0x3e, 0x33, 0x26, 0xfa, 0x44, 0x00,\n\t0x8f, 0x5c, 0x56, 0x0b, 0xa5, 0x16, 0xa2, 0xc6, 0x33, 0xf0, 0x1a, 0x2e, 0xab, 0xac, 0x6d, 0xcc,\n\t0xc5, 0x67, 0xd3, 0xf3, 0xc4, 0xd0, 0x24, 0x87, 0x56, 0xd2, 0x8f, 0xd9, 0xbe, 0x88, 0x03, 0x70,\n\t0x96, 0xbc, 0xfd, 0x7d, 0xb0, 0x97, 0xf8, 0x02, 0x7c, 0x99, 0xd7, 0x25, 0x7f, 0xe1, 0x75, 0x41,\n\t0x1c, 0x03, 0xa2, 0x83, 0xb4, 0x2e, 0xa2, 0x4b, 0x70, 0xf5, 0x31, 0x0f, 0x5c, 0x96, 0xde, 0xdc,\n\t0x05, 0x16, 0xf6, 0x61, 0xf0, 0xcc, 0xee, 0xb3, 0x34, 0x40, 0x78, 0x04, 0x7e, 0x1f, 0x1a, 0x6b,\n\t0x47, 0x19, 0xb8, 0x4c, 0xac, 0xf8, 0xd1, 0xcf, 0x5e, 0xc3, 0x68, 0xc9, 0xdb, 0x03, 0x16, 0xb1,\n\t0x43, 0x27, 0x3e, 0x99, 0xe2, 0xff, 0xc0, 0xec, 0x6f, 0xf1, 0x96, 0x6c, 0x76, 0xd4, 0xda, 0xee,\n\t0xa8, 0xb5, 0xe9, 0x28, 0xda, 0x76, 0x14, 0x7d, 0x75, 0x14, 0x7d, 0x7c, 0x53, 0x6b, 0x3e, 0xd4,\n\t0x3b, 0x9e, 0xfd, 0x04, 0x00, 0x00, 0xff, 0xff, 0xcc, 0x76, 0x8d, 0x4f, 0x8f, 0x01, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/auth/doc.go",
    "content": "// Copyright 2016 The etcd Authors\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// Package auth provides client role authentication for accessing keys in etcd.\npackage auth\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/auth/jwt.go",
    "content": "// Copyright 2017 The etcd Authors\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\npackage auth\n\nimport (\n\t\"context\"\n\t\"crypto/rsa\"\n\t\"io/ioutil\"\n\t\"time\"\n\n\tjwt \"github.com/dgrijalva/jwt-go\"\n\t\"go.uber.org/zap\"\n)\n\ntype tokenJWT struct {\n\tlg         *zap.Logger\n\tsignMethod string\n\tsignKey    *rsa.PrivateKey\n\tverifyKey  *rsa.PublicKey\n\tttl        time.Duration\n}\n\nfunc (t *tokenJWT) enable()                         {}\nfunc (t *tokenJWT) disable()                        {}\nfunc (t *tokenJWT) invalidateUser(string)           {}\nfunc (t *tokenJWT) genTokenPrefix() (string, error) { return \"\", nil }\n\nfunc (t *tokenJWT) info(ctx context.Context, token string, rev uint64) (*AuthInfo, bool) {\n\t// rev isn't used in JWT, it is only used in simple token\n\tvar (\n\t\tusername string\n\t\trevision uint64\n\t)\n\n\tparsed, err := jwt.Parse(token, func(token *jwt.Token) (interface{}, error) {\n\t\treturn t.verifyKey, nil\n\t})\n\n\tswitch err.(type) {\n\tcase nil:\n\t\tif !parsed.Valid {\n\t\t\tif t.lg != nil {\n\t\t\t\tt.lg.Warn(\"invalid JWT token\", zap.String(\"token\", token))\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"invalid jwt token: %s\", token)\n\t\t\t}\n\t\t\treturn nil, false\n\t\t}\n\n\t\tclaims := parsed.Claims.(jwt.MapClaims)\n\n\t\tusername = claims[\"username\"].(string)\n\t\trevision = uint64(claims[\"revision\"].(float64))\n\tdefault:\n\t\tif t.lg != nil {\n\t\t\tt.lg.Warn(\n\t\t\t\t\"failed to parse a JWT token\",\n\t\t\t\tzap.String(\"token\", token),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Warningf(\"failed to parse jwt token: %s\", err)\n\t\t}\n\t\treturn nil, false\n\t}\n\n\treturn &AuthInfo{Username: username, Revision: revision}, true\n}\n\nfunc (t *tokenJWT) assign(ctx context.Context, username string, revision uint64) (string, error) {\n\t// Future work: let a jwt token include permission information would be useful for\n\t// permission checking in proxy side.\n\ttk := jwt.NewWithClaims(jwt.GetSigningMethod(t.signMethod),\n\t\tjwt.MapClaims{\n\t\t\t\"username\": username,\n\t\t\t\"revision\": revision,\n\t\t\t\"exp\":      time.Now().Add(t.ttl).Unix(),\n\t\t})\n\n\ttoken, err := tk.SignedString(t.signKey)\n\tif err != nil {\n\t\tif t.lg != nil {\n\t\t\tt.lg.Warn(\n\t\t\t\t\"failed to sign a JWT token\",\n\t\t\t\tzap.String(\"user-name\", username),\n\t\t\t\tzap.Uint64(\"revision\", revision),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Debugf(\"failed to sign jwt token: %s\", err)\n\t\t}\n\t\treturn \"\", err\n\t}\n\n\tif t.lg != nil {\n\t\tt.lg.Info(\n\t\t\t\"created/assigned a new JWT token\",\n\t\t\tzap.String(\"user-name\", username),\n\t\t\tzap.Uint64(\"revision\", revision),\n\t\t\tzap.String(\"token\", token),\n\t\t)\n\t} else {\n\t\tplog.Debugf(\"jwt token: %s\", token)\n\t}\n\treturn token, err\n}\n\nfunc prepareOpts(lg *zap.Logger, opts map[string]string) (jwtSignMethod, jwtPubKeyPath, jwtPrivKeyPath string, ttl time.Duration, err error) {\n\tfor k, v := range opts {\n\t\tswitch k {\n\t\tcase \"sign-method\":\n\t\t\tjwtSignMethod = v\n\t\tcase \"pub-key\":\n\t\t\tjwtPubKeyPath = v\n\t\tcase \"priv-key\":\n\t\t\tjwtPrivKeyPath = v\n\t\tcase \"ttl\":\n\t\t\tttl, err = time.ParseDuration(v)\n\t\t\tif err != nil {\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Warn(\n\t\t\t\t\t\t\"failed to parse JWT TTL option\",\n\t\t\t\t\t\tzap.String(\"ttl-value\", v),\n\t\t\t\t\t\tzap.Error(err),\n\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\tplog.Errorf(\"failed to parse ttl option (%s)\", err)\n\t\t\t\t}\n\t\t\t\treturn \"\", \"\", \"\", 0, ErrInvalidAuthOpts\n\t\t\t}\n\t\tdefault:\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\"unknown JWT token option\", zap.String(\"option\", k))\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"unknown token specific option: %s\", k)\n\t\t\t}\n\t\t\treturn \"\", \"\", \"\", 0, ErrInvalidAuthOpts\n\t\t}\n\t}\n\tif len(jwtSignMethod) == 0 {\n\t\treturn \"\", \"\", \"\", 0, ErrInvalidAuthOpts\n\t}\n\treturn jwtSignMethod, jwtPubKeyPath, jwtPrivKeyPath, ttl, nil\n}\n\nfunc newTokenProviderJWT(lg *zap.Logger, opts map[string]string) (*tokenJWT, error) {\n\tjwtSignMethod, jwtPubKeyPath, jwtPrivKeyPath, ttl, err := prepareOpts(lg, opts)\n\tif err != nil {\n\t\treturn nil, ErrInvalidAuthOpts\n\t}\n\n\tif ttl == 0 {\n\t\tttl = 5 * time.Minute\n\t}\n\n\tt := &tokenJWT{\n\t\tlg:  lg,\n\t\tttl: ttl,\n\t}\n\n\tt.signMethod = jwtSignMethod\n\n\tverifyBytes, err := ioutil.ReadFile(jwtPubKeyPath)\n\tif err != nil {\n\t\tif lg != nil {\n\t\t\tlg.Warn(\n\t\t\t\t\"failed to read JWT public key\",\n\t\t\t\tzap.String(\"public-key-path\", jwtPubKeyPath),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Errorf(\"failed to read public key (%s) for jwt: %s\", jwtPubKeyPath, err)\n\t\t}\n\t\treturn nil, err\n\t}\n\tt.verifyKey, err = jwt.ParseRSAPublicKeyFromPEM(verifyBytes)\n\tif err != nil {\n\t\tif lg != nil {\n\t\t\tlg.Warn(\n\t\t\t\t\"failed to parse JWT public key\",\n\t\t\t\tzap.String(\"public-key-path\", jwtPubKeyPath),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Errorf(\"failed to parse public key (%s): %s\", jwtPubKeyPath, err)\n\t\t}\n\t\treturn nil, err\n\t}\n\n\tsignBytes, err := ioutil.ReadFile(jwtPrivKeyPath)\n\tif err != nil {\n\t\tif lg != nil {\n\t\t\tlg.Warn(\n\t\t\t\t\"failed to read JWT private key\",\n\t\t\t\tzap.String(\"private-key-path\", jwtPrivKeyPath),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Errorf(\"failed to read private key (%s) for jwt: %s\", jwtPrivKeyPath, err)\n\t\t}\n\t\treturn nil, err\n\t}\n\tt.signKey, err = jwt.ParseRSAPrivateKeyFromPEM(signBytes)\n\tif err != nil {\n\t\tif lg != nil {\n\t\t\tlg.Warn(\n\t\t\t\t\"failed to parse JWT private key\",\n\t\t\t\tzap.String(\"private-key-path\", jwtPrivKeyPath),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Errorf(\"failed to parse private key (%s): %s\", jwtPrivKeyPath, err)\n\t\t}\n\t\treturn nil, err\n\t}\n\n\treturn t, nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/auth/nop.go",
    "content": "// Copyright 2018 The etcd Authors\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\npackage auth\n\nimport (\n\t\"context\"\n)\n\ntype tokenNop struct{}\n\nfunc (t *tokenNop) enable()                         {}\nfunc (t *tokenNop) disable()                        {}\nfunc (t *tokenNop) invalidateUser(string)           {}\nfunc (t *tokenNop) genTokenPrefix() (string, error) { return \"\", nil }\nfunc (t *tokenNop) info(ctx context.Context, token string, rev uint64) (*AuthInfo, bool) {\n\treturn nil, false\n}\nfunc (t *tokenNop) assign(ctx context.Context, username string, revision uint64) (string, error) {\n\treturn \"\", ErrAuthFailed\n}\nfunc newTokenProviderNop() (*tokenNop, error) {\n\treturn &tokenNop{}, nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/auth/range_perm_cache.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage auth\n\nimport (\n\t\"github.com/coreos/etcd/auth/authpb\"\n\t\"github.com/coreos/etcd/mvcc/backend\"\n\t\"github.com/coreos/etcd/pkg/adt\"\n\n\t\"go.uber.org/zap\"\n)\n\nfunc getMergedPerms(lg *zap.Logger, tx backend.BatchTx, userName string) *unifiedRangePermissions {\n\tuser := getUser(lg, tx, userName)\n\tif user == nil {\n\t\treturn nil\n\t}\n\n\treadPerms := &adt.IntervalTree{}\n\twritePerms := &adt.IntervalTree{}\n\n\tfor _, roleName := range user.Roles {\n\t\trole := getRole(tx, roleName)\n\t\tif role == nil {\n\t\t\tcontinue\n\t\t}\n\n\t\tfor _, perm := range role.KeyPermission {\n\t\t\tvar ivl adt.Interval\n\t\t\tvar rangeEnd []byte\n\n\t\t\tif len(perm.RangeEnd) != 1 || perm.RangeEnd[0] != 0 {\n\t\t\t\trangeEnd = perm.RangeEnd\n\t\t\t}\n\n\t\t\tif len(perm.RangeEnd) != 0 {\n\t\t\t\tivl = adt.NewBytesAffineInterval(perm.Key, rangeEnd)\n\t\t\t} else {\n\t\t\t\tivl = adt.NewBytesAffinePoint(perm.Key)\n\t\t\t}\n\n\t\t\tswitch perm.PermType {\n\t\t\tcase authpb.READWRITE:\n\t\t\t\treadPerms.Insert(ivl, struct{}{})\n\t\t\t\twritePerms.Insert(ivl, struct{}{})\n\n\t\t\tcase authpb.READ:\n\t\t\t\treadPerms.Insert(ivl, struct{}{})\n\n\t\t\tcase authpb.WRITE:\n\t\t\t\twritePerms.Insert(ivl, struct{}{})\n\t\t\t}\n\t\t}\n\t}\n\n\treturn &unifiedRangePermissions{\n\t\treadPerms:  readPerms,\n\t\twritePerms: writePerms,\n\t}\n}\n\nfunc checkKeyInterval(\n\tlg *zap.Logger,\n\tcachedPerms *unifiedRangePermissions,\n\tkey, rangeEnd []byte,\n\tpermtyp authpb.Permission_Type) bool {\n\tif len(rangeEnd) == 1 && rangeEnd[0] == 0 {\n\t\trangeEnd = nil\n\t}\n\n\tivl := adt.NewBytesAffineInterval(key, rangeEnd)\n\tswitch permtyp {\n\tcase authpb.READ:\n\t\treturn cachedPerms.readPerms.Contains(ivl)\n\tcase authpb.WRITE:\n\t\treturn cachedPerms.writePerms.Contains(ivl)\n\tdefault:\n\t\tif lg != nil {\n\t\t\tlg.Panic(\"unknown auth type\", zap.String(\"auth-type\", permtyp.String()))\n\t\t} else {\n\t\t\tplog.Panicf(\"unknown auth type: %v\", permtyp)\n\t\t}\n\t}\n\treturn false\n}\n\nfunc checkKeyPoint(lg *zap.Logger, cachedPerms *unifiedRangePermissions, key []byte, permtyp authpb.Permission_Type) bool {\n\tpt := adt.NewBytesAffinePoint(key)\n\tswitch permtyp {\n\tcase authpb.READ:\n\t\treturn cachedPerms.readPerms.Intersects(pt)\n\tcase authpb.WRITE:\n\t\treturn cachedPerms.writePerms.Intersects(pt)\n\tdefault:\n\t\tif lg != nil {\n\t\t\tlg.Panic(\"unknown auth type\", zap.String(\"auth-type\", permtyp.String()))\n\t\t} else {\n\t\t\tplog.Panicf(\"unknown auth type: %v\", permtyp)\n\t\t}\n\t}\n\treturn false\n}\n\nfunc (as *authStore) isRangeOpPermitted(tx backend.BatchTx, userName string, key, rangeEnd []byte, permtyp authpb.Permission_Type) bool {\n\t// assumption: tx is Lock()ed\n\t_, ok := as.rangePermCache[userName]\n\tif !ok {\n\t\tperms := getMergedPerms(as.lg, tx, userName)\n\t\tif perms == nil {\n\t\t\tif as.lg != nil {\n\t\t\t\tas.lg.Warn(\n\t\t\t\t\t\"failed to create a merged permission\",\n\t\t\t\t\tzap.String(\"user-name\", userName),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"failed to create a unified permission of user %s\", userName)\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\t\tas.rangePermCache[userName] = perms\n\t}\n\n\tif len(rangeEnd) == 0 {\n\t\treturn checkKeyPoint(as.lg, as.rangePermCache[userName], key, permtyp)\n\t}\n\n\treturn checkKeyInterval(as.lg, as.rangePermCache[userName], key, rangeEnd, permtyp)\n}\n\nfunc (as *authStore) clearCachedPerm() {\n\tas.rangePermCache = make(map[string]*unifiedRangePermissions)\n}\n\nfunc (as *authStore) invalidateCachedPerm(userName string) {\n\tdelete(as.rangePermCache, userName)\n}\n\ntype unifiedRangePermissions struct {\n\treadPerms  *adt.IntervalTree\n\twritePerms *adt.IntervalTree\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/auth/simple_token.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage auth\n\n// CAUTION: This randum number based token mechanism is only for testing purpose.\n// JWT based mechanism will be added in the near future.\n\nimport (\n\t\"context\"\n\t\"crypto/rand\"\n\t\"fmt\"\n\t\"math/big\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"go.uber.org/zap\"\n)\n\nconst (\n\tletters                  = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"\n\tdefaultSimpleTokenLength = 16\n)\n\n// var for testing purposes\nvar (\n\tsimpleTokenTTL           = 5 * time.Minute\n\tsimpleTokenTTLResolution = 1 * time.Second\n)\n\ntype simpleTokenTTLKeeper struct {\n\ttokens          map[string]time.Time\n\tdonec           chan struct{}\n\tstopc           chan struct{}\n\tdeleteTokenFunc func(string)\n\tmu              *sync.Mutex\n}\n\nfunc (tm *simpleTokenTTLKeeper) stop() {\n\tselect {\n\tcase tm.stopc <- struct{}{}:\n\tcase <-tm.donec:\n\t}\n\t<-tm.donec\n}\n\nfunc (tm *simpleTokenTTLKeeper) addSimpleToken(token string) {\n\ttm.tokens[token] = time.Now().Add(simpleTokenTTL)\n}\n\nfunc (tm *simpleTokenTTLKeeper) resetSimpleToken(token string) {\n\tif _, ok := tm.tokens[token]; ok {\n\t\ttm.tokens[token] = time.Now().Add(simpleTokenTTL)\n\t}\n}\n\nfunc (tm *simpleTokenTTLKeeper) deleteSimpleToken(token string) {\n\tdelete(tm.tokens, token)\n}\n\nfunc (tm *simpleTokenTTLKeeper) run() {\n\ttokenTicker := time.NewTicker(simpleTokenTTLResolution)\n\tdefer func() {\n\t\ttokenTicker.Stop()\n\t\tclose(tm.donec)\n\t}()\n\tfor {\n\t\tselect {\n\t\tcase <-tokenTicker.C:\n\t\t\tnowtime := time.Now()\n\t\t\ttm.mu.Lock()\n\t\t\tfor t, tokenendtime := range tm.tokens {\n\t\t\t\tif nowtime.After(tokenendtime) {\n\t\t\t\t\ttm.deleteTokenFunc(t)\n\t\t\t\t\tdelete(tm.tokens, t)\n\t\t\t\t}\n\t\t\t}\n\t\t\ttm.mu.Unlock()\n\t\tcase <-tm.stopc:\n\t\t\treturn\n\t\t}\n\t}\n}\n\ntype tokenSimple struct {\n\tlg                *zap.Logger\n\tindexWaiter       func(uint64) <-chan struct{}\n\tsimpleTokenKeeper *simpleTokenTTLKeeper\n\tsimpleTokensMu    sync.Mutex\n\tsimpleTokens      map[string]string // token -> username\n}\n\nfunc (t *tokenSimple) genTokenPrefix() (string, error) {\n\tret := make([]byte, defaultSimpleTokenLength)\n\n\tfor i := 0; i < defaultSimpleTokenLength; i++ {\n\t\tbInt, err := rand.Int(rand.Reader, big.NewInt(int64(len(letters))))\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\n\t\tret[i] = letters[bInt.Int64()]\n\t}\n\n\treturn string(ret), nil\n}\n\nfunc (t *tokenSimple) assignSimpleTokenToUser(username, token string) {\n\tt.simpleTokensMu.Lock()\n\tdefer t.simpleTokensMu.Unlock()\n\tif t.simpleTokenKeeper == nil {\n\t\treturn\n\t}\n\n\t_, ok := t.simpleTokens[token]\n\tif ok {\n\t\tif t.lg != nil {\n\t\t\tt.lg.Panic(\n\t\t\t\t\"failed to assign already-used simple token to a user\",\n\t\t\t\tzap.String(\"user-name\", username),\n\t\t\t\tzap.String(\"token\", token),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Panicf(\"token %s is alredy used\", token)\n\t\t}\n\t}\n\n\tt.simpleTokens[token] = username\n\tt.simpleTokenKeeper.addSimpleToken(token)\n}\n\nfunc (t *tokenSimple) invalidateUser(username string) {\n\tif t.simpleTokenKeeper == nil {\n\t\treturn\n\t}\n\tt.simpleTokensMu.Lock()\n\tfor token, name := range t.simpleTokens {\n\t\tif name == username {\n\t\t\tdelete(t.simpleTokens, token)\n\t\t\tt.simpleTokenKeeper.deleteSimpleToken(token)\n\t\t}\n\t}\n\tt.simpleTokensMu.Unlock()\n}\n\nfunc (t *tokenSimple) enable() {\n\tdelf := func(tk string) {\n\t\tif username, ok := t.simpleTokens[tk]; ok {\n\t\t\tif t.lg != nil {\n\t\t\t\tt.lg.Info(\n\t\t\t\t\t\"deleted a simple token\",\n\t\t\t\t\tzap.String(\"user-name\", username),\n\t\t\t\t\tzap.String(\"token\", tk),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Infof(\"deleting token %s for user %s\", tk, username)\n\t\t\t}\n\t\t\tdelete(t.simpleTokens, tk)\n\t\t}\n\t}\n\tt.simpleTokenKeeper = &simpleTokenTTLKeeper{\n\t\ttokens:          make(map[string]time.Time),\n\t\tdonec:           make(chan struct{}),\n\t\tstopc:           make(chan struct{}),\n\t\tdeleteTokenFunc: delf,\n\t\tmu:              &t.simpleTokensMu,\n\t}\n\tgo t.simpleTokenKeeper.run()\n}\n\nfunc (t *tokenSimple) disable() {\n\tt.simpleTokensMu.Lock()\n\ttk := t.simpleTokenKeeper\n\tt.simpleTokenKeeper = nil\n\tt.simpleTokens = make(map[string]string) // invalidate all tokens\n\tt.simpleTokensMu.Unlock()\n\tif tk != nil {\n\t\ttk.stop()\n\t}\n}\n\nfunc (t *tokenSimple) info(ctx context.Context, token string, revision uint64) (*AuthInfo, bool) {\n\tif !t.isValidSimpleToken(ctx, token) {\n\t\treturn nil, false\n\t}\n\tt.simpleTokensMu.Lock()\n\tusername, ok := t.simpleTokens[token]\n\tif ok && t.simpleTokenKeeper != nil {\n\t\tt.simpleTokenKeeper.resetSimpleToken(token)\n\t}\n\tt.simpleTokensMu.Unlock()\n\treturn &AuthInfo{Username: username, Revision: revision}, ok\n}\n\nfunc (t *tokenSimple) assign(ctx context.Context, username string, rev uint64) (string, error) {\n\t// rev isn't used in simple token, it is only used in JWT\n\tindex := ctx.Value(AuthenticateParamIndex{}).(uint64)\n\tsimpleTokenPrefix := ctx.Value(AuthenticateParamSimpleTokenPrefix{}).(string)\n\ttoken := fmt.Sprintf(\"%s.%d\", simpleTokenPrefix, index)\n\tt.assignSimpleTokenToUser(username, token)\n\n\treturn token, nil\n}\n\nfunc (t *tokenSimple) isValidSimpleToken(ctx context.Context, token string) bool {\n\tsplitted := strings.Split(token, \".\")\n\tif len(splitted) != 2 {\n\t\treturn false\n\t}\n\tindex, err := strconv.Atoi(splitted[1])\n\tif err != nil {\n\t\treturn false\n\t}\n\n\tselect {\n\tcase <-t.indexWaiter(uint64(index)):\n\t\treturn true\n\tcase <-ctx.Done():\n\t}\n\n\treturn false\n}\n\nfunc newTokenProviderSimple(lg *zap.Logger, indexWaiter func(uint64) <-chan struct{}) *tokenSimple {\n\treturn &tokenSimple{\n\t\tlg:           lg,\n\t\tsimpleTokens: make(map[string]string),\n\t\tindexWaiter:  indexWaiter,\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/auth/store.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage auth\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"encoding/binary\"\n\t\"errors\"\n\t\"sort\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\n\t\"github.com/coreos/etcd/auth/authpb\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/mvcc/backend\"\n\n\t\"github.com/coreos/pkg/capnslog\"\n\t\"go.uber.org/zap\"\n\t\"golang.org/x/crypto/bcrypt\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/peer\"\n)\n\nvar (\n\tenableFlagKey = []byte(\"authEnabled\")\n\tauthEnabled   = []byte{1}\n\tauthDisabled  = []byte{0}\n\n\trevisionKey = []byte(\"authRevision\")\n\n\tauthBucketName      = []byte(\"auth\")\n\tauthUsersBucketName = []byte(\"authUsers\")\n\tauthRolesBucketName = []byte(\"authRoles\")\n\n\tplog = capnslog.NewPackageLogger(\"github.com/coreos/etcd\", \"auth\")\n\n\tErrRootUserNotExist     = errors.New(\"auth: root user does not exist\")\n\tErrRootRoleNotExist     = errors.New(\"auth: root user does not have root role\")\n\tErrUserAlreadyExist     = errors.New(\"auth: user already exists\")\n\tErrUserEmpty            = errors.New(\"auth: user name is empty\")\n\tErrUserNotFound         = errors.New(\"auth: user not found\")\n\tErrRoleAlreadyExist     = errors.New(\"auth: role already exists\")\n\tErrRoleNotFound         = errors.New(\"auth: role not found\")\n\tErrAuthFailed           = errors.New(\"auth: authentication failed, invalid user ID or password\")\n\tErrPermissionDenied     = errors.New(\"auth: permission denied\")\n\tErrRoleNotGranted       = errors.New(\"auth: role is not granted to the user\")\n\tErrPermissionNotGranted = errors.New(\"auth: permission is not granted to the role\")\n\tErrAuthNotEnabled       = errors.New(\"auth: authentication is not enabled\")\n\tErrAuthOldRevision      = errors.New(\"auth: revision in header is old\")\n\tErrInvalidAuthToken     = errors.New(\"auth: invalid auth token\")\n\tErrInvalidAuthOpts      = errors.New(\"auth: invalid auth options\")\n\tErrInvalidAuthMgmt      = errors.New(\"auth: invalid auth management\")\n)\n\nconst (\n\trootUser = \"root\"\n\trootRole = \"root\"\n\n\ttokenTypeSimple = \"simple\"\n\ttokenTypeJWT    = \"jwt\"\n\n\trevBytesLen = 8\n)\n\ntype AuthInfo struct {\n\tUsername string\n\tRevision uint64\n}\n\n// AuthenticateParamIndex is used for a key of context in the parameters of Authenticate()\ntype AuthenticateParamIndex struct{}\n\n// AuthenticateParamSimpleTokenPrefix is used for a key of context in the parameters of Authenticate()\ntype AuthenticateParamSimpleTokenPrefix struct{}\n\n// AuthStore defines auth storage interface.\ntype AuthStore interface {\n\t// AuthEnable turns on the authentication feature\n\tAuthEnable() error\n\n\t// AuthDisable turns off the authentication feature\n\tAuthDisable()\n\n\t// IsAuthEnabled returns true if the authentication feature is enabled.\n\tIsAuthEnabled() bool\n\n\t// Authenticate does authentication based on given user name and password\n\tAuthenticate(ctx context.Context, username, password string) (*pb.AuthenticateResponse, error)\n\n\t// Recover recovers the state of auth store from the given backend\n\tRecover(b backend.Backend)\n\n\t// UserAdd adds a new user\n\tUserAdd(r *pb.AuthUserAddRequest) (*pb.AuthUserAddResponse, error)\n\n\t// UserDelete deletes a user\n\tUserDelete(r *pb.AuthUserDeleteRequest) (*pb.AuthUserDeleteResponse, error)\n\n\t// UserChangePassword changes a password of a user\n\tUserChangePassword(r *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error)\n\n\t// UserGrantRole grants a role to the user\n\tUserGrantRole(r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error)\n\n\t// UserGet gets the detailed information of a users\n\tUserGet(r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error)\n\n\t// UserRevokeRole revokes a role of a user\n\tUserRevokeRole(r *pb.AuthUserRevokeRoleRequest) (*pb.AuthUserRevokeRoleResponse, error)\n\n\t// RoleAdd adds a new role\n\tRoleAdd(r *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error)\n\n\t// RoleGrantPermission grants a permission to a role\n\tRoleGrantPermission(r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error)\n\n\t// RoleGet gets the detailed information of a role\n\tRoleGet(r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error)\n\n\t// RoleRevokePermission gets the detailed information of a role\n\tRoleRevokePermission(r *pb.AuthRoleRevokePermissionRequest) (*pb.AuthRoleRevokePermissionResponse, error)\n\n\t// RoleDelete gets the detailed information of a role\n\tRoleDelete(r *pb.AuthRoleDeleteRequest) (*pb.AuthRoleDeleteResponse, error)\n\n\t// UserList gets a list of all users\n\tUserList(r *pb.AuthUserListRequest) (*pb.AuthUserListResponse, error)\n\n\t// RoleList gets a list of all roles\n\tRoleList(r *pb.AuthRoleListRequest) (*pb.AuthRoleListResponse, error)\n\n\t// IsPutPermitted checks put permission of the user\n\tIsPutPermitted(authInfo *AuthInfo, key []byte) error\n\n\t// IsRangePermitted checks range permission of the user\n\tIsRangePermitted(authInfo *AuthInfo, key, rangeEnd []byte) error\n\n\t// IsDeleteRangePermitted checks delete-range permission of the user\n\tIsDeleteRangePermitted(authInfo *AuthInfo, key, rangeEnd []byte) error\n\n\t// IsAdminPermitted checks admin permission of the user\n\tIsAdminPermitted(authInfo *AuthInfo) error\n\n\t// GenTokenPrefix produces a random string in a case of simple token\n\t// in a case of JWT, it produces an empty string\n\tGenTokenPrefix() (string, error)\n\n\t// Revision gets current revision of authStore\n\tRevision() uint64\n\n\t// CheckPassword checks a given pair of username and password is correct\n\tCheckPassword(username, password string) (uint64, error)\n\n\t// Close does cleanup of AuthStore\n\tClose() error\n\n\t// AuthInfoFromCtx gets AuthInfo from gRPC's context\n\tAuthInfoFromCtx(ctx context.Context) (*AuthInfo, error)\n\n\t// AuthInfoFromTLS gets AuthInfo from TLS info of gRPC's context\n\tAuthInfoFromTLS(ctx context.Context) *AuthInfo\n\n\t// WithRoot generates and installs a token that can be used as a root credential\n\tWithRoot(ctx context.Context) context.Context\n\n\t// HasRole checks that user has role\n\tHasRole(user, role string) bool\n}\n\ntype TokenProvider interface {\n\tinfo(ctx context.Context, token string, revision uint64) (*AuthInfo, bool)\n\tassign(ctx context.Context, username string, revision uint64) (string, error)\n\tenable()\n\tdisable()\n\n\tinvalidateUser(string)\n\tgenTokenPrefix() (string, error)\n}\n\ntype authStore struct {\n\t// atomic operations; need 64-bit align, or 32-bit tests will crash\n\trevision uint64\n\n\tlg        *zap.Logger\n\tbe        backend.Backend\n\tenabled   bool\n\tenabledMu sync.RWMutex\n\n\trangePermCache map[string]*unifiedRangePermissions // username -> unifiedRangePermissions\n\n\ttokenProvider TokenProvider\n\tbcryptCost    int // the algorithm cost / strength for hashing auth passwords\n}\n\nfunc (as *authStore) AuthEnable() error {\n\tas.enabledMu.Lock()\n\tdefer as.enabledMu.Unlock()\n\tif as.enabled {\n\t\tif as.lg != nil {\n\t\t\tas.lg.Info(\"authentication is already enabled; ignored auth enable request\")\n\t\t} else {\n\t\t\tplog.Noticef(\"Authentication already enabled\")\n\t\t}\n\t\treturn nil\n\t}\n\tb := as.be\n\ttx := b.BatchTx()\n\ttx.Lock()\n\tdefer func() {\n\t\ttx.Unlock()\n\t\tb.ForceCommit()\n\t}()\n\n\tu := getUser(as.lg, tx, rootUser)\n\tif u == nil {\n\t\treturn ErrRootUserNotExist\n\t}\n\n\tif !hasRootRole(u) {\n\t\treturn ErrRootRoleNotExist\n\t}\n\n\ttx.UnsafePut(authBucketName, enableFlagKey, authEnabled)\n\n\tas.enabled = true\n\tas.tokenProvider.enable()\n\n\tas.rangePermCache = make(map[string]*unifiedRangePermissions)\n\n\tas.setRevision(getRevision(tx))\n\n\tif as.lg != nil {\n\t\tas.lg.Info(\"enabled authentication\")\n\t} else {\n\t\tplog.Noticef(\"Authentication enabled\")\n\t}\n\treturn nil\n}\n\nfunc (as *authStore) AuthDisable() {\n\tas.enabledMu.Lock()\n\tdefer as.enabledMu.Unlock()\n\tif !as.enabled {\n\t\treturn\n\t}\n\tb := as.be\n\ttx := b.BatchTx()\n\ttx.Lock()\n\ttx.UnsafePut(authBucketName, enableFlagKey, authDisabled)\n\tas.commitRevision(tx)\n\ttx.Unlock()\n\tb.ForceCommit()\n\n\tas.enabled = false\n\tas.tokenProvider.disable()\n\n\tif as.lg != nil {\n\t\tas.lg.Info(\"disabled authentication\")\n\t} else {\n\t\tplog.Noticef(\"Authentication disabled\")\n\t}\n}\n\nfunc (as *authStore) Close() error {\n\tas.enabledMu.Lock()\n\tdefer as.enabledMu.Unlock()\n\tif !as.enabled {\n\t\treturn nil\n\t}\n\tas.tokenProvider.disable()\n\treturn nil\n}\n\nfunc (as *authStore) Authenticate(ctx context.Context, username, password string) (*pb.AuthenticateResponse, error) {\n\tif !as.IsAuthEnabled() {\n\t\treturn nil, ErrAuthNotEnabled\n\t}\n\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\tuser := getUser(as.lg, tx, username)\n\tif user == nil {\n\t\treturn nil, ErrAuthFailed\n\t}\n\n\t// Password checking is already performed in the API layer, so we don't need to check for now.\n\t// Staleness of password can be detected with OCC in the API layer, too.\n\n\ttoken, err := as.tokenProvider.assign(ctx, username, as.Revision())\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif as.lg != nil {\n\t\tas.lg.Debug(\n\t\t\t\"authenticated a user\",\n\t\t\tzap.String(\"user-name\", username),\n\t\t\tzap.String(\"token\", token),\n\t\t)\n\t} else {\n\t\tplog.Debugf(\"authorized %s, token is %s\", username, token)\n\t}\n\treturn &pb.AuthenticateResponse{Token: token}, nil\n}\n\nfunc (as *authStore) CheckPassword(username, password string) (uint64, error) {\n\tif !as.IsAuthEnabled() {\n\t\treturn 0, ErrAuthNotEnabled\n\t}\n\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\tuser := getUser(as.lg, tx, username)\n\tif user == nil {\n\t\treturn 0, ErrAuthFailed\n\t}\n\n\tif bcrypt.CompareHashAndPassword(user.Password, []byte(password)) != nil {\n\t\tif as.lg != nil {\n\t\t\tas.lg.Info(\"invalid password\", zap.String(\"user-name\", username))\n\t\t} else {\n\t\t\tplog.Noticef(\"authentication failed, invalid password for user %s\", username)\n\t\t}\n\t\treturn 0, ErrAuthFailed\n\t}\n\treturn getRevision(tx), nil\n}\n\nfunc (as *authStore) Recover(be backend.Backend) {\n\tenabled := false\n\tas.be = be\n\ttx := be.BatchTx()\n\ttx.Lock()\n\t_, vs := tx.UnsafeRange(authBucketName, enableFlagKey, nil, 0)\n\tif len(vs) == 1 {\n\t\tif bytes.Equal(vs[0], authEnabled) {\n\t\t\tenabled = true\n\t\t}\n\t}\n\n\tas.setRevision(getRevision(tx))\n\n\ttx.Unlock()\n\n\tas.enabledMu.Lock()\n\tas.enabled = enabled\n\tas.enabledMu.Unlock()\n}\n\nfunc (as *authStore) UserAdd(r *pb.AuthUserAddRequest) (*pb.AuthUserAddResponse, error) {\n\tif len(r.Name) == 0 {\n\t\treturn nil, ErrUserEmpty\n\t}\n\n\thashed, err := bcrypt.GenerateFromPassword([]byte(r.Password), as.bcryptCost)\n\tif err != nil {\n\t\tif as.lg != nil {\n\t\t\tas.lg.Warn(\n\t\t\t\t\"failed to bcrypt hash password\",\n\t\t\t\tzap.String(\"user-name\", r.Name),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Errorf(\"failed to hash password: %s\", err)\n\t\t}\n\t\treturn nil, err\n\t}\n\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\tuser := getUser(as.lg, tx, r.Name)\n\tif user != nil {\n\t\treturn nil, ErrUserAlreadyExist\n\t}\n\n\tnewUser := &authpb.User{\n\t\tName:     []byte(r.Name),\n\t\tPassword: hashed,\n\t}\n\n\tputUser(as.lg, tx, newUser)\n\n\tas.commitRevision(tx)\n\n\tif as.lg != nil {\n\t\tas.lg.Info(\"added a user\", zap.String(\"user-name\", r.Name))\n\t} else {\n\t\tplog.Noticef(\"added a new user: %s\", r.Name)\n\t}\n\treturn &pb.AuthUserAddResponse{}, nil\n}\n\nfunc (as *authStore) UserDelete(r *pb.AuthUserDeleteRequest) (*pb.AuthUserDeleteResponse, error) {\n\tif as.enabled && r.Name == rootUser {\n\t\tif as.lg != nil {\n\t\t\tas.lg.Warn(\"cannot delete 'root' user\", zap.String(\"user-name\", r.Name))\n\t\t} else {\n\t\t\tplog.Errorf(\"the user root must not be deleted\")\n\t\t}\n\t\treturn nil, ErrInvalidAuthMgmt\n\t}\n\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\tuser := getUser(as.lg, tx, r.Name)\n\tif user == nil {\n\t\treturn nil, ErrUserNotFound\n\t}\n\n\tdelUser(tx, r.Name)\n\n\tas.commitRevision(tx)\n\n\tas.invalidateCachedPerm(r.Name)\n\tas.tokenProvider.invalidateUser(r.Name)\n\n\tif as.lg != nil {\n\t\tas.lg.Info(\n\t\t\t\"deleted a user\",\n\t\t\tzap.String(\"user-name\", r.Name),\n\t\t\tzap.Strings(\"user-roles\", user.Roles),\n\t\t)\n\t} else {\n\t\tplog.Noticef(\"deleted a user: %s\", r.Name)\n\t}\n\treturn &pb.AuthUserDeleteResponse{}, nil\n}\n\nfunc (as *authStore) UserChangePassword(r *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error) {\n\t// TODO(mitake): measure the cost of bcrypt.GenerateFromPassword()\n\t// If the cost is too high, we should move the encryption to outside of the raft\n\thashed, err := bcrypt.GenerateFromPassword([]byte(r.Password), as.bcryptCost)\n\tif err != nil {\n\t\tif as.lg != nil {\n\t\t\tas.lg.Warn(\n\t\t\t\t\"failed to bcrypt hash password\",\n\t\t\t\tzap.String(\"user-name\", r.Name),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Errorf(\"failed to hash password: %s\", err)\n\t\t}\n\t\treturn nil, err\n\t}\n\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\tuser := getUser(as.lg, tx, r.Name)\n\tif user == nil {\n\t\treturn nil, ErrUserNotFound\n\t}\n\n\tupdatedUser := &authpb.User{\n\t\tName:     []byte(r.Name),\n\t\tRoles:    user.Roles,\n\t\tPassword: hashed,\n\t}\n\n\tputUser(as.lg, tx, updatedUser)\n\n\tas.commitRevision(tx)\n\n\tas.invalidateCachedPerm(r.Name)\n\tas.tokenProvider.invalidateUser(r.Name)\n\n\tif as.lg != nil {\n\t\tas.lg.Info(\n\t\t\t\"changed a password of a user\",\n\t\t\tzap.String(\"user-name\", r.Name),\n\t\t\tzap.Strings(\"user-roles\", user.Roles),\n\t\t)\n\t} else {\n\t\tplog.Noticef(\"changed a password of a user: %s\", r.Name)\n\t}\n\treturn &pb.AuthUserChangePasswordResponse{}, nil\n}\n\nfunc (as *authStore) UserGrantRole(r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error) {\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\tuser := getUser(as.lg, tx, r.User)\n\tif user == nil {\n\t\treturn nil, ErrUserNotFound\n\t}\n\n\tif r.Role != rootRole {\n\t\trole := getRole(tx, r.Role)\n\t\tif role == nil {\n\t\t\treturn nil, ErrRoleNotFound\n\t\t}\n\t}\n\n\tidx := sort.SearchStrings(user.Roles, r.Role)\n\tif idx < len(user.Roles) && user.Roles[idx] == r.Role {\n\t\tif as.lg != nil {\n\t\t\tas.lg.Warn(\n\t\t\t\t\"ignored grant role request to a user\",\n\t\t\t\tzap.String(\"user-name\", r.User),\n\t\t\t\tzap.Strings(\"user-roles\", user.Roles),\n\t\t\t\tzap.String(\"duplicate-role-name\", r.Role),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Warningf(\"user %s is already granted role %s\", r.User, r.Role)\n\t\t}\n\t\treturn &pb.AuthUserGrantRoleResponse{}, nil\n\t}\n\n\tuser.Roles = append(user.Roles, r.Role)\n\tsort.Strings(user.Roles)\n\n\tputUser(as.lg, tx, user)\n\n\tas.invalidateCachedPerm(r.User)\n\n\tas.commitRevision(tx)\n\n\tif as.lg != nil {\n\t\tas.lg.Info(\n\t\t\t\"granted a role to a user\",\n\t\t\tzap.String(\"user-name\", r.User),\n\t\t\tzap.Strings(\"user-roles\", user.Roles),\n\t\t\tzap.String(\"added-role-name\", r.Role),\n\t\t)\n\t} else {\n\t\tplog.Noticef(\"granted role %s to user %s\", r.Role, r.User)\n\t}\n\treturn &pb.AuthUserGrantRoleResponse{}, nil\n}\n\nfunc (as *authStore) UserGet(r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error) {\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tuser := getUser(as.lg, tx, r.Name)\n\ttx.Unlock()\n\n\tif user == nil {\n\t\treturn nil, ErrUserNotFound\n\t}\n\n\tvar resp pb.AuthUserGetResponse\n\tresp.Roles = append(resp.Roles, user.Roles...)\n\treturn &resp, nil\n}\n\nfunc (as *authStore) UserList(r *pb.AuthUserListRequest) (*pb.AuthUserListResponse, error) {\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tusers := getAllUsers(as.lg, tx)\n\ttx.Unlock()\n\n\tresp := &pb.AuthUserListResponse{Users: make([]string, len(users))}\n\tfor i := range users {\n\t\tresp.Users[i] = string(users[i].Name)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *authStore) UserRevokeRole(r *pb.AuthUserRevokeRoleRequest) (*pb.AuthUserRevokeRoleResponse, error) {\n\tif as.enabled && r.Name == rootUser && r.Role == rootRole {\n\t\tif as.lg != nil {\n\t\t\tas.lg.Warn(\n\t\t\t\t\"'root' user cannot revoke 'root' role\",\n\t\t\t\tzap.String(\"user-name\", r.Name),\n\t\t\t\tzap.String(\"role-name\", r.Role),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Errorf(\"the role root must not be revoked from the user root\")\n\t\t}\n\t\treturn nil, ErrInvalidAuthMgmt\n\t}\n\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\tuser := getUser(as.lg, tx, r.Name)\n\tif user == nil {\n\t\treturn nil, ErrUserNotFound\n\t}\n\n\tupdatedUser := &authpb.User{\n\t\tName:     user.Name,\n\t\tPassword: user.Password,\n\t}\n\n\tfor _, role := range user.Roles {\n\t\tif role != r.Role {\n\t\t\tupdatedUser.Roles = append(updatedUser.Roles, role)\n\t\t}\n\t}\n\n\tif len(updatedUser.Roles) == len(user.Roles) {\n\t\treturn nil, ErrRoleNotGranted\n\t}\n\n\tputUser(as.lg, tx, updatedUser)\n\n\tas.invalidateCachedPerm(r.Name)\n\n\tas.commitRevision(tx)\n\n\tif as.lg != nil {\n\t\tas.lg.Info(\n\t\t\t\"revoked a role from a user\",\n\t\t\tzap.String(\"user-name\", r.Name),\n\t\t\tzap.Strings(\"old-user-roles\", user.Roles),\n\t\t\tzap.Strings(\"new-user-roles\", updatedUser.Roles),\n\t\t\tzap.String(\"revoked-role-name\", r.Role),\n\t\t)\n\t} else {\n\t\tplog.Noticef(\"revoked role %s from user %s\", r.Role, r.Name)\n\t}\n\treturn &pb.AuthUserRevokeRoleResponse{}, nil\n}\n\nfunc (as *authStore) RoleGet(r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error) {\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\tvar resp pb.AuthRoleGetResponse\n\n\trole := getRole(tx, r.Role)\n\tif role == nil {\n\t\treturn nil, ErrRoleNotFound\n\t}\n\tresp.Perm = append(resp.Perm, role.KeyPermission...)\n\treturn &resp, nil\n}\n\nfunc (as *authStore) RoleList(r *pb.AuthRoleListRequest) (*pb.AuthRoleListResponse, error) {\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\troles := getAllRoles(as.lg, tx)\n\ttx.Unlock()\n\n\tresp := &pb.AuthRoleListResponse{Roles: make([]string, len(roles))}\n\tfor i := range roles {\n\t\tresp.Roles[i] = string(roles[i].Name)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *authStore) RoleRevokePermission(r *pb.AuthRoleRevokePermissionRequest) (*pb.AuthRoleRevokePermissionResponse, error) {\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\trole := getRole(tx, r.Role)\n\tif role == nil {\n\t\treturn nil, ErrRoleNotFound\n\t}\n\n\tupdatedRole := &authpb.Role{\n\t\tName: role.Name,\n\t}\n\n\tfor _, perm := range role.KeyPermission {\n\t\tif !bytes.Equal(perm.Key, r.Key) || !bytes.Equal(perm.RangeEnd, r.RangeEnd) {\n\t\t\tupdatedRole.KeyPermission = append(updatedRole.KeyPermission, perm)\n\t\t}\n\t}\n\n\tif len(role.KeyPermission) == len(updatedRole.KeyPermission) {\n\t\treturn nil, ErrPermissionNotGranted\n\t}\n\n\tputRole(as.lg, tx, updatedRole)\n\n\t// TODO(mitake): currently single role update invalidates every cache\n\t// It should be optimized.\n\tas.clearCachedPerm()\n\n\tas.commitRevision(tx)\n\n\tif as.lg != nil {\n\t\tas.lg.Info(\n\t\t\t\"revoked a permission on range\",\n\t\t\tzap.String(\"role-name\", r.Role),\n\t\t\tzap.String(\"key\", string(r.Key)),\n\t\t\tzap.String(\"range-end\", string(r.RangeEnd)),\n\t\t)\n\t} else {\n\t\tplog.Noticef(\"revoked key %s from role %s\", r.Key, r.Role)\n\t}\n\treturn &pb.AuthRoleRevokePermissionResponse{}, nil\n}\n\nfunc (as *authStore) RoleDelete(r *pb.AuthRoleDeleteRequest) (*pb.AuthRoleDeleteResponse, error) {\n\tif as.enabled && r.Role == rootRole {\n\t\tif as.lg != nil {\n\t\t\tas.lg.Warn(\"cannot delete 'root' role\", zap.String(\"role-name\", r.Role))\n\t\t} else {\n\t\t\tplog.Errorf(\"the role root must not be deleted\")\n\t\t}\n\t\treturn nil, ErrInvalidAuthMgmt\n\t}\n\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\trole := getRole(tx, r.Role)\n\tif role == nil {\n\t\treturn nil, ErrRoleNotFound\n\t}\n\n\tdelRole(tx, r.Role)\n\n\tusers := getAllUsers(as.lg, tx)\n\tfor _, user := range users {\n\t\tupdatedUser := &authpb.User{\n\t\t\tName:     user.Name,\n\t\t\tPassword: user.Password,\n\t\t}\n\n\t\tfor _, role := range user.Roles {\n\t\t\tif role != r.Role {\n\t\t\t\tupdatedUser.Roles = append(updatedUser.Roles, role)\n\t\t\t}\n\t\t}\n\n\t\tif len(updatedUser.Roles) == len(user.Roles) {\n\t\t\tcontinue\n\t\t}\n\n\t\tputUser(as.lg, tx, updatedUser)\n\n\t\tas.invalidateCachedPerm(string(user.Name))\n\t}\n\n\tas.commitRevision(tx)\n\n\tif as.lg != nil {\n\t\tas.lg.Info(\"deleted a role\", zap.String(\"role-name\", r.Role))\n\t} else {\n\t\tplog.Noticef(\"deleted role %s\", r.Role)\n\t}\n\treturn &pb.AuthRoleDeleteResponse{}, nil\n}\n\nfunc (as *authStore) RoleAdd(r *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error) {\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\trole := getRole(tx, r.Name)\n\tif role != nil {\n\t\treturn nil, ErrRoleAlreadyExist\n\t}\n\n\tnewRole := &authpb.Role{\n\t\tName: []byte(r.Name),\n\t}\n\n\tputRole(as.lg, tx, newRole)\n\n\tas.commitRevision(tx)\n\n\tif as.lg != nil {\n\t\tas.lg.Info(\"created a role\", zap.String(\"role-name\", r.Name))\n\t} else {\n\t\tplog.Noticef(\"Role %s is created\", r.Name)\n\t}\n\treturn &pb.AuthRoleAddResponse{}, nil\n}\n\nfunc (as *authStore) authInfoFromToken(ctx context.Context, token string) (*AuthInfo, bool) {\n\treturn as.tokenProvider.info(ctx, token, as.Revision())\n}\n\ntype permSlice []*authpb.Permission\n\nfunc (perms permSlice) Len() int {\n\treturn len(perms)\n}\n\nfunc (perms permSlice) Less(i, j int) bool {\n\treturn bytes.Compare(perms[i].Key, perms[j].Key) < 0\n}\n\nfunc (perms permSlice) Swap(i, j int) {\n\tperms[i], perms[j] = perms[j], perms[i]\n}\n\nfunc (as *authStore) RoleGrantPermission(r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error) {\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\trole := getRole(tx, r.Name)\n\tif role == nil {\n\t\treturn nil, ErrRoleNotFound\n\t}\n\n\tidx := sort.Search(len(role.KeyPermission), func(i int) bool {\n\t\treturn bytes.Compare(role.KeyPermission[i].Key, r.Perm.Key) >= 0\n\t})\n\n\tif idx < len(role.KeyPermission) && bytes.Equal(role.KeyPermission[idx].Key, r.Perm.Key) && bytes.Equal(role.KeyPermission[idx].RangeEnd, r.Perm.RangeEnd) {\n\t\t// update existing permission\n\t\trole.KeyPermission[idx].PermType = r.Perm.PermType\n\t} else {\n\t\t// append new permission to the role\n\t\tnewPerm := &authpb.Permission{\n\t\t\tKey:      r.Perm.Key,\n\t\t\tRangeEnd: r.Perm.RangeEnd,\n\t\t\tPermType: r.Perm.PermType,\n\t\t}\n\n\t\trole.KeyPermission = append(role.KeyPermission, newPerm)\n\t\tsort.Sort(permSlice(role.KeyPermission))\n\t}\n\n\tputRole(as.lg, tx, role)\n\n\t// TODO(mitake): currently single role update invalidates every cache\n\t// It should be optimized.\n\tas.clearCachedPerm()\n\n\tas.commitRevision(tx)\n\n\tif as.lg != nil {\n\t\tas.lg.Info(\n\t\t\t\"granted/updated a permission to a user\",\n\t\t\tzap.String(\"user-name\", r.Name),\n\t\t\tzap.String(\"permission-name\", authpb.Permission_Type_name[int32(r.Perm.PermType)]),\n\t\t)\n\t} else {\n\t\tplog.Noticef(\"role %s's permission of key %s is updated as %s\", r.Name, r.Perm.Key, authpb.Permission_Type_name[int32(r.Perm.PermType)])\n\t}\n\treturn &pb.AuthRoleGrantPermissionResponse{}, nil\n}\n\nfunc (as *authStore) isOpPermitted(userName string, revision uint64, key, rangeEnd []byte, permTyp authpb.Permission_Type) error {\n\t// TODO(mitake): this function would be costly so we need a caching mechanism\n\tif !as.IsAuthEnabled() {\n\t\treturn nil\n\t}\n\n\t// only gets rev == 0 when passed AuthInfo{}; no user given\n\tif revision == 0 {\n\t\treturn ErrUserEmpty\n\t}\n\n\tif revision < as.Revision() {\n\t\treturn ErrAuthOldRevision\n\t}\n\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\tuser := getUser(as.lg, tx, userName)\n\tif user == nil {\n\t\tif as.lg != nil {\n\t\t\tas.lg.Warn(\"cannot find a user for permission check\", zap.String(\"user-name\", userName))\n\t\t} else {\n\t\t\tplog.Errorf(\"invalid user name %s for permission checking\", userName)\n\t\t}\n\t\treturn ErrPermissionDenied\n\t}\n\n\t// root role should have permission on all ranges\n\tif hasRootRole(user) {\n\t\treturn nil\n\t}\n\n\tif as.isRangeOpPermitted(tx, userName, key, rangeEnd, permTyp) {\n\t\treturn nil\n\t}\n\n\treturn ErrPermissionDenied\n}\n\nfunc (as *authStore) IsPutPermitted(authInfo *AuthInfo, key []byte) error {\n\treturn as.isOpPermitted(authInfo.Username, authInfo.Revision, key, nil, authpb.WRITE)\n}\n\nfunc (as *authStore) IsRangePermitted(authInfo *AuthInfo, key, rangeEnd []byte) error {\n\treturn as.isOpPermitted(authInfo.Username, authInfo.Revision, key, rangeEnd, authpb.READ)\n}\n\nfunc (as *authStore) IsDeleteRangePermitted(authInfo *AuthInfo, key, rangeEnd []byte) error {\n\treturn as.isOpPermitted(authInfo.Username, authInfo.Revision, key, rangeEnd, authpb.WRITE)\n}\n\nfunc (as *authStore) IsAdminPermitted(authInfo *AuthInfo) error {\n\tif !as.IsAuthEnabled() {\n\t\treturn nil\n\t}\n\tif authInfo == nil {\n\t\treturn ErrUserEmpty\n\t}\n\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tu := getUser(as.lg, tx, authInfo.Username)\n\ttx.Unlock()\n\n\tif u == nil {\n\t\treturn ErrUserNotFound\n\t}\n\n\tif !hasRootRole(u) {\n\t\treturn ErrPermissionDenied\n\t}\n\n\treturn nil\n}\n\nfunc getUser(lg *zap.Logger, tx backend.BatchTx, username string) *authpb.User {\n\t_, vs := tx.UnsafeRange(authUsersBucketName, []byte(username), nil, 0)\n\tif len(vs) == 0 {\n\t\treturn nil\n\t}\n\n\tuser := &authpb.User{}\n\terr := user.Unmarshal(vs[0])\n\tif err != nil {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\n\t\t\t\t\"failed to unmarshal 'authpb.User'\",\n\t\t\t\tzap.String(\"user-name\", username),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Panicf(\"failed to unmarshal user struct (name: %s): %s\", username, err)\n\t\t}\n\t}\n\treturn user\n}\n\nfunc getAllUsers(lg *zap.Logger, tx backend.BatchTx) []*authpb.User {\n\t_, vs := tx.UnsafeRange(authUsersBucketName, []byte{0}, []byte{0xff}, -1)\n\tif len(vs) == 0 {\n\t\treturn nil\n\t}\n\n\tusers := make([]*authpb.User, len(vs))\n\tfor i := range vs {\n\t\tuser := &authpb.User{}\n\t\terr := user.Unmarshal(vs[i])\n\t\tif err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"failed to unmarshal 'authpb.User'\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"failed to unmarshal user struct: %s\", err)\n\t\t\t}\n\t\t}\n\t\tusers[i] = user\n\t}\n\treturn users\n}\n\nfunc putUser(lg *zap.Logger, tx backend.BatchTx, user *authpb.User) {\n\tb, err := user.Marshal()\n\tif err != nil {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\"failed to unmarshal 'authpb.User'\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Panicf(\"failed to marshal user struct (name: %s): %s\", user.Name, err)\n\t\t}\n\t}\n\ttx.UnsafePut(authUsersBucketName, user.Name, b)\n}\n\nfunc delUser(tx backend.BatchTx, username string) {\n\ttx.UnsafeDelete(authUsersBucketName, []byte(username))\n}\n\nfunc getRole(tx backend.BatchTx, rolename string) *authpb.Role {\n\t_, vs := tx.UnsafeRange(authRolesBucketName, []byte(rolename), nil, 0)\n\tif len(vs) == 0 {\n\t\treturn nil\n\t}\n\n\trole := &authpb.Role{}\n\terr := role.Unmarshal(vs[0])\n\tif err != nil {\n\t\tplog.Panicf(\"failed to unmarshal role struct (name: %s): %s\", rolename, err)\n\t}\n\treturn role\n}\n\nfunc getAllRoles(lg *zap.Logger, tx backend.BatchTx) []*authpb.Role {\n\t_, vs := tx.UnsafeRange(authRolesBucketName, []byte{0}, []byte{0xff}, -1)\n\tif len(vs) == 0 {\n\t\treturn nil\n\t}\n\n\troles := make([]*authpb.Role, len(vs))\n\tfor i := range vs {\n\t\trole := &authpb.Role{}\n\t\terr := role.Unmarshal(vs[i])\n\t\tif err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"failed to unmarshal 'authpb.Role'\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"failed to unmarshal role struct: %s\", err)\n\t\t\t}\n\t\t}\n\t\troles[i] = role\n\t}\n\treturn roles\n}\n\nfunc putRole(lg *zap.Logger, tx backend.BatchTx, role *authpb.Role) {\n\tb, err := role.Marshal()\n\tif err != nil {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\n\t\t\t\t\"failed to marshal 'authpb.Role'\",\n\t\t\t\tzap.String(\"role-name\", string(role.Name)),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Panicf(\"failed to marshal role struct (name: %s): %s\", role.Name, err)\n\t\t}\n\t}\n\n\ttx.UnsafePut(authRolesBucketName, role.Name, b)\n}\n\nfunc delRole(tx backend.BatchTx, rolename string) {\n\ttx.UnsafeDelete(authRolesBucketName, []byte(rolename))\n}\n\nfunc (as *authStore) IsAuthEnabled() bool {\n\tas.enabledMu.RLock()\n\tdefer as.enabledMu.RUnlock()\n\treturn as.enabled\n}\n\n// NewAuthStore creates a new AuthStore.\nfunc NewAuthStore(lg *zap.Logger, be backend.Backend, tp TokenProvider, bcryptCost int) *authStore {\n\tif bcryptCost < bcrypt.MinCost || bcryptCost > bcrypt.MaxCost {\n\t\tif lg != nil {\n\t\t\tlg.Warn(\n\t\t\t\t\"use default bcrypt cost instead of the invalid given cost\",\n\t\t\t\tzap.Int(\"min-cost\", bcrypt.MinCost),\n\t\t\t\tzap.Int(\"max-cost\", bcrypt.MaxCost),\n\t\t\t\tzap.Int(\"default-cost\", bcrypt.DefaultCost),\n\t\t\t\tzap.Int(\"given-cost\", bcryptCost))\n\t\t} else {\n\t\t\tplog.Warningf(\"Use default bcrypt-cost %d instead of the invalid value %d\",\n\t\t\t\tbcrypt.DefaultCost, bcryptCost)\n\t\t}\n\n\t\tbcryptCost = bcrypt.DefaultCost\n\t}\n\n\ttx := be.BatchTx()\n\ttx.Lock()\n\n\ttx.UnsafeCreateBucket(authBucketName)\n\ttx.UnsafeCreateBucket(authUsersBucketName)\n\ttx.UnsafeCreateBucket(authRolesBucketName)\n\n\tenabled := false\n\t_, vs := tx.UnsafeRange(authBucketName, enableFlagKey, nil, 0)\n\tif len(vs) == 1 {\n\t\tif bytes.Equal(vs[0], authEnabled) {\n\t\t\tenabled = true\n\t\t}\n\t}\n\n\tas := &authStore{\n\t\trevision:       getRevision(tx),\n\t\tlg:             lg,\n\t\tbe:             be,\n\t\tenabled:        enabled,\n\t\trangePermCache: make(map[string]*unifiedRangePermissions),\n\t\ttokenProvider:  tp,\n\t\tbcryptCost:     bcryptCost,\n\t}\n\n\tif enabled {\n\t\tas.tokenProvider.enable()\n\t}\n\n\tif as.Revision() == 0 {\n\t\tas.commitRevision(tx)\n\t}\n\n\ttx.Unlock()\n\tbe.ForceCommit()\n\n\treturn as\n}\n\nfunc hasRootRole(u *authpb.User) bool {\n\t// u.Roles is sorted in UserGrantRole(), so we can use binary search.\n\tidx := sort.SearchStrings(u.Roles, rootRole)\n\treturn idx != len(u.Roles) && u.Roles[idx] == rootRole\n}\n\nfunc (as *authStore) commitRevision(tx backend.BatchTx) {\n\tatomic.AddUint64(&as.revision, 1)\n\trevBytes := make([]byte, revBytesLen)\n\tbinary.BigEndian.PutUint64(revBytes, as.Revision())\n\ttx.UnsafePut(authBucketName, revisionKey, revBytes)\n}\n\nfunc getRevision(tx backend.BatchTx) uint64 {\n\t_, vs := tx.UnsafeRange(authBucketName, revisionKey, nil, 0)\n\tif len(vs) != 1 {\n\t\t// this can happen in the initialization phase\n\t\treturn 0\n\t}\n\treturn binary.BigEndian.Uint64(vs[0])\n}\n\nfunc (as *authStore) setRevision(rev uint64) {\n\tatomic.StoreUint64(&as.revision, rev)\n}\n\nfunc (as *authStore) Revision() uint64 {\n\treturn atomic.LoadUint64(&as.revision)\n}\n\nfunc (as *authStore) AuthInfoFromTLS(ctx context.Context) (ai *AuthInfo) {\n\tpeer, ok := peer.FromContext(ctx)\n\tif !ok || peer == nil || peer.AuthInfo == nil {\n\t\treturn nil\n\t}\n\n\ttlsInfo := peer.AuthInfo.(credentials.TLSInfo)\n\tfor _, chains := range tlsInfo.State.VerifiedChains {\n\t\tif len(chains) < 1 {\n\t\t\tcontinue\n\t\t}\n\t\tai = &AuthInfo{\n\t\t\tUsername: chains[0].Subject.CommonName,\n\t\t\tRevision: as.Revision(),\n\t\t}\n\t\tif as.lg != nil {\n\t\t\tas.lg.Debug(\n\t\t\t\t\"found command name\",\n\t\t\t\tzap.String(\"common-name\", ai.Username),\n\t\t\t\tzap.String(\"user-name\", ai.Username),\n\t\t\t\tzap.Uint64(\"revision\", ai.Revision),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Debugf(\"found common name %s\", ai.Username)\n\t\t}\n\t\tbreak\n\t}\n\treturn ai\n}\n\nfunc (as *authStore) AuthInfoFromCtx(ctx context.Context) (*AuthInfo, error) {\n\tmd, ok := metadata.FromIncomingContext(ctx)\n\tif !ok {\n\t\treturn nil, nil\n\t}\n\n\t//TODO(mitake|hexfusion) review unifying key names\n\tts, ok := md[rpctypes.TokenFieldNameGRPC]\n\tif !ok {\n\t\tts, ok = md[rpctypes.TokenFieldNameSwagger]\n\t}\n\tif !ok {\n\t\treturn nil, nil\n\t}\n\n\ttoken := ts[0]\n\tauthInfo, uok := as.authInfoFromToken(ctx, token)\n\tif !uok {\n\t\tif as.lg != nil {\n\t\t\tas.lg.Warn(\"invalid auth token\", zap.String(\"token\", token))\n\t\t} else {\n\t\t\tplog.Warningf(\"invalid auth token: %s\", token)\n\t\t}\n\t\treturn nil, ErrInvalidAuthToken\n\t}\n\n\treturn authInfo, nil\n}\n\nfunc (as *authStore) GenTokenPrefix() (string, error) {\n\treturn as.tokenProvider.genTokenPrefix()\n}\n\nfunc decomposeOpts(lg *zap.Logger, optstr string) (string, map[string]string, error) {\n\topts := strings.Split(optstr, \",\")\n\ttokenType := opts[0]\n\n\ttypeSpecificOpts := make(map[string]string)\n\tfor i := 1; i < len(opts); i++ {\n\t\tpair := strings.Split(opts[i], \"=\")\n\n\t\tif len(pair) != 2 {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\"invalid token option\", zap.String(\"option\", optstr))\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"invalid token specific option: %s\", optstr)\n\t\t\t}\n\t\t\treturn \"\", nil, ErrInvalidAuthOpts\n\t\t}\n\n\t\tif _, ok := typeSpecificOpts[pair[0]]; ok {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"invalid token option\",\n\t\t\t\t\tzap.String(\"option\", optstr),\n\t\t\t\t\tzap.String(\"duplicate-parameter\", pair[0]),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"invalid token specific option, duplicated parameters (%s): %s\", pair[0], optstr)\n\t\t\t}\n\t\t\treturn \"\", nil, ErrInvalidAuthOpts\n\t\t}\n\n\t\ttypeSpecificOpts[pair[0]] = pair[1]\n\t}\n\n\treturn tokenType, typeSpecificOpts, nil\n\n}\n\n// NewTokenProvider creates a new token provider.\nfunc NewTokenProvider(\n\tlg *zap.Logger,\n\ttokenOpts string,\n\tindexWaiter func(uint64) <-chan struct{}) (TokenProvider, error) {\n\ttokenType, typeSpecificOpts, err := decomposeOpts(lg, tokenOpts)\n\tif err != nil {\n\t\treturn nil, ErrInvalidAuthOpts\n\t}\n\n\tswitch tokenType {\n\tcase tokenTypeSimple:\n\t\tif lg != nil {\n\t\t\tlg.Warn(\"simple token is not cryptographically signed\")\n\t\t} else {\n\t\t\tplog.Warningf(\"simple token is not cryptographically signed\")\n\t\t}\n\t\treturn newTokenProviderSimple(lg, indexWaiter), nil\n\n\tcase tokenTypeJWT:\n\t\treturn newTokenProviderJWT(lg, typeSpecificOpts)\n\n\tcase \"\":\n\t\treturn newTokenProviderNop()\n\n\tdefault:\n\t\tif lg != nil {\n\t\t\tlg.Warn(\n\t\t\t\t\"unknown token type\",\n\t\t\t\tzap.String(\"type\", tokenType),\n\t\t\t\tzap.Error(ErrInvalidAuthOpts),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Errorf(\"unknown token type: %s\", tokenType)\n\t\t}\n\t\treturn nil, ErrInvalidAuthOpts\n\t}\n}\n\nfunc (as *authStore) WithRoot(ctx context.Context) context.Context {\n\tif !as.IsAuthEnabled() {\n\t\treturn ctx\n\t}\n\n\tvar ctxForAssign context.Context\n\tif ts, ok := as.tokenProvider.(*tokenSimple); ok && ts != nil {\n\t\tctx1 := context.WithValue(ctx, AuthenticateParamIndex{}, uint64(0))\n\t\tprefix, err := ts.genTokenPrefix()\n\t\tif err != nil {\n\t\t\tif as.lg != nil {\n\t\t\t\tas.lg.Warn(\n\t\t\t\t\t\"failed to generate prefix of internally used token\",\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"failed to generate prefix of internally used token\")\n\t\t\t}\n\t\t\treturn ctx\n\t\t}\n\t\tctxForAssign = context.WithValue(ctx1, AuthenticateParamSimpleTokenPrefix{}, prefix)\n\t} else {\n\t\tctxForAssign = ctx\n\t}\n\n\ttoken, err := as.tokenProvider.assign(ctxForAssign, \"root\", as.Revision())\n\tif err != nil {\n\t\t// this must not happen\n\t\tif as.lg != nil {\n\t\t\tas.lg.Warn(\n\t\t\t\t\"failed to assign token for lease revoking\",\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Errorf(\"failed to assign token for lease revoking: %s\", err)\n\t\t}\n\t\treturn ctx\n\t}\n\n\tmdMap := map[string]string{\n\t\trpctypes.TokenFieldNameGRPC: token,\n\t}\n\ttokenMD := metadata.New(mdMap)\n\n\t// use \"mdIncomingKey{}\" since it's called from local etcdserver\n\treturn metadata.NewIncomingContext(ctx, tokenMD)\n}\n\nfunc (as *authStore) HasRole(user, role string) bool {\n\ttx := as.be.BatchTx()\n\ttx.Lock()\n\tu := getUser(as.lg, tx, user)\n\ttx.Unlock()\n\n\tif u == nil {\n\t\tif as.lg != nil {\n\t\t\tas.lg.Warn(\n\t\t\t\t\"'has-role' requested for non-existing user\",\n\t\t\t\tzap.String(\"user-name\", user),\n\t\t\t\tzap.String(\"role-name\", role),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Warningf(\"tried to check user %s has role %s, but user %s doesn't exist\", user, role, user)\n\t\t}\n\t\treturn false\n\t}\n\n\tfor _, r := range u.Roles {\n\t\tif role == r {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunc (as *authStore) BcryptCost() int {\n\treturn as.bcryptCost\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/client/auth_role.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage client\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"encoding/json\"\n\t\"net/http\"\n\t\"net/url\"\n)\n\ntype Role struct {\n\tRole        string       `json:\"role\"`\n\tPermissions Permissions  `json:\"permissions\"`\n\tGrant       *Permissions `json:\"grant,omitempty\"`\n\tRevoke      *Permissions `json:\"revoke,omitempty\"`\n}\n\ntype Permissions struct {\n\tKV rwPermission `json:\"kv\"`\n}\n\ntype rwPermission struct {\n\tRead  []string `json:\"read\"`\n\tWrite []string `json:\"write\"`\n}\n\ntype PermissionType int\n\nconst (\n\tReadPermission PermissionType = iota\n\tWritePermission\n\tReadWritePermission\n)\n\n// NewAuthRoleAPI constructs a new AuthRoleAPI that uses HTTP to\n// interact with etcd's role creation and modification features.\nfunc NewAuthRoleAPI(c Client) AuthRoleAPI {\n\treturn &httpAuthRoleAPI{\n\t\tclient: c,\n\t}\n}\n\ntype AuthRoleAPI interface {\n\t// AddRole adds a role.\n\tAddRole(ctx context.Context, role string) error\n\n\t// RemoveRole removes a role.\n\tRemoveRole(ctx context.Context, role string) error\n\n\t// GetRole retrieves role details.\n\tGetRole(ctx context.Context, role string) (*Role, error)\n\n\t// GrantRoleKV grants a role some permission prefixes for the KV store.\n\tGrantRoleKV(ctx context.Context, role string, prefixes []string, permType PermissionType) (*Role, error)\n\n\t// RevokeRoleKV revokes some permission prefixes for a role on the KV store.\n\tRevokeRoleKV(ctx context.Context, role string, prefixes []string, permType PermissionType) (*Role, error)\n\n\t// ListRoles lists roles.\n\tListRoles(ctx context.Context) ([]string, error)\n}\n\ntype httpAuthRoleAPI struct {\n\tclient httpClient\n}\n\ntype authRoleAPIAction struct {\n\tverb string\n\tname string\n\trole *Role\n}\n\ntype authRoleAPIList struct{}\n\nfunc (list *authRoleAPIList) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2AuthURL(ep, \"roles\", \"\")\n\treq, _ := http.NewRequest(\"GET\", u.String(), nil)\n\treq.Header.Set(\"Content-Type\", \"application/json\")\n\treturn req\n}\n\nfunc (l *authRoleAPIAction) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2AuthURL(ep, \"roles\", l.name)\n\tif l.role == nil {\n\t\treq, _ := http.NewRequest(l.verb, u.String(), nil)\n\t\treturn req\n\t}\n\tb, err := json.Marshal(l.role)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tbody := bytes.NewReader(b)\n\treq, _ := http.NewRequest(l.verb, u.String(), body)\n\treq.Header.Set(\"Content-Type\", \"application/json\")\n\treturn req\n}\n\nfunc (r *httpAuthRoleAPI) ListRoles(ctx context.Context) ([]string, error) {\n\tresp, body, err := r.client.Do(ctx, &authRoleAPIList{})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif err = assertStatusCode(resp.StatusCode, http.StatusOK); err != nil {\n\t\treturn nil, err\n\t}\n\tvar roleList struct {\n\t\tRoles []Role `json:\"roles\"`\n\t}\n\tif err = json.Unmarshal(body, &roleList); err != nil {\n\t\treturn nil, err\n\t}\n\tret := make([]string, 0, len(roleList.Roles))\n\tfor _, r := range roleList.Roles {\n\t\tret = append(ret, r.Role)\n\t}\n\treturn ret, nil\n}\n\nfunc (r *httpAuthRoleAPI) AddRole(ctx context.Context, rolename string) error {\n\trole := &Role{\n\t\tRole: rolename,\n\t}\n\treturn r.addRemoveRole(ctx, &authRoleAPIAction{\n\t\tverb: \"PUT\",\n\t\tname: rolename,\n\t\trole: role,\n\t})\n}\n\nfunc (r *httpAuthRoleAPI) RemoveRole(ctx context.Context, rolename string) error {\n\treturn r.addRemoveRole(ctx, &authRoleAPIAction{\n\t\tverb: \"DELETE\",\n\t\tname: rolename,\n\t})\n}\n\nfunc (r *httpAuthRoleAPI) addRemoveRole(ctx context.Context, req *authRoleAPIAction) error {\n\tresp, body, err := r.client.Do(ctx, req)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif err := assertStatusCode(resp.StatusCode, http.StatusOK, http.StatusCreated); err != nil {\n\t\tvar sec authError\n\t\terr := json.Unmarshal(body, &sec)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn sec\n\t}\n\treturn nil\n}\n\nfunc (r *httpAuthRoleAPI) GetRole(ctx context.Context, rolename string) (*Role, error) {\n\treturn r.modRole(ctx, &authRoleAPIAction{\n\t\tverb: \"GET\",\n\t\tname: rolename,\n\t})\n}\n\nfunc buildRWPermission(prefixes []string, permType PermissionType) rwPermission {\n\tvar out rwPermission\n\tswitch permType {\n\tcase ReadPermission:\n\t\tout.Read = prefixes\n\tcase WritePermission:\n\t\tout.Write = prefixes\n\tcase ReadWritePermission:\n\t\tout.Read = prefixes\n\t\tout.Write = prefixes\n\t}\n\treturn out\n}\n\nfunc (r *httpAuthRoleAPI) GrantRoleKV(ctx context.Context, rolename string, prefixes []string, permType PermissionType) (*Role, error) {\n\trwp := buildRWPermission(prefixes, permType)\n\trole := &Role{\n\t\tRole: rolename,\n\t\tGrant: &Permissions{\n\t\t\tKV: rwp,\n\t\t},\n\t}\n\treturn r.modRole(ctx, &authRoleAPIAction{\n\t\tverb: \"PUT\",\n\t\tname: rolename,\n\t\trole: role,\n\t})\n}\n\nfunc (r *httpAuthRoleAPI) RevokeRoleKV(ctx context.Context, rolename string, prefixes []string, permType PermissionType) (*Role, error) {\n\trwp := buildRWPermission(prefixes, permType)\n\trole := &Role{\n\t\tRole: rolename,\n\t\tRevoke: &Permissions{\n\t\t\tKV: rwp,\n\t\t},\n\t}\n\treturn r.modRole(ctx, &authRoleAPIAction{\n\t\tverb: \"PUT\",\n\t\tname: rolename,\n\t\trole: role,\n\t})\n}\n\nfunc (r *httpAuthRoleAPI) modRole(ctx context.Context, req *authRoleAPIAction) (*Role, error) {\n\tresp, body, err := r.client.Do(ctx, req)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif err = assertStatusCode(resp.StatusCode, http.StatusOK); err != nil {\n\t\tvar sec authError\n\t\terr = json.Unmarshal(body, &sec)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treturn nil, sec\n\t}\n\tvar role Role\n\tif err = json.Unmarshal(body, &role); err != nil {\n\t\treturn nil, err\n\t}\n\treturn &role, nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/client/auth_user.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage client\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"encoding/json\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"path\"\n)\n\nvar (\n\tdefaultV2AuthPrefix = \"/v2/auth\"\n)\n\ntype User struct {\n\tUser     string   `json:\"user\"`\n\tPassword string   `json:\"password,omitempty\"`\n\tRoles    []string `json:\"roles\"`\n\tGrant    []string `json:\"grant,omitempty\"`\n\tRevoke   []string `json:\"revoke,omitempty\"`\n}\n\n// userListEntry is the user representation given by the server for ListUsers\ntype userListEntry struct {\n\tUser  string `json:\"user\"`\n\tRoles []Role `json:\"roles\"`\n}\n\ntype UserRoles struct {\n\tUser  string `json:\"user\"`\n\tRoles []Role `json:\"roles\"`\n}\n\nfunc v2AuthURL(ep url.URL, action string, name string) *url.URL {\n\tif name != \"\" {\n\t\tep.Path = path.Join(ep.Path, defaultV2AuthPrefix, action, name)\n\t\treturn &ep\n\t}\n\tep.Path = path.Join(ep.Path, defaultV2AuthPrefix, action)\n\treturn &ep\n}\n\n// NewAuthAPI constructs a new AuthAPI that uses HTTP to\n// interact with etcd's general auth features.\nfunc NewAuthAPI(c Client) AuthAPI {\n\treturn &httpAuthAPI{\n\t\tclient: c,\n\t}\n}\n\ntype AuthAPI interface {\n\t// Enable auth.\n\tEnable(ctx context.Context) error\n\n\t// Disable auth.\n\tDisable(ctx context.Context) error\n}\n\ntype httpAuthAPI struct {\n\tclient httpClient\n}\n\nfunc (s *httpAuthAPI) Enable(ctx context.Context) error {\n\treturn s.enableDisable(ctx, &authAPIAction{\"PUT\"})\n}\n\nfunc (s *httpAuthAPI) Disable(ctx context.Context) error {\n\treturn s.enableDisable(ctx, &authAPIAction{\"DELETE\"})\n}\n\nfunc (s *httpAuthAPI) enableDisable(ctx context.Context, req httpAction) error {\n\tresp, body, err := s.client.Do(ctx, req)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif err = assertStatusCode(resp.StatusCode, http.StatusOK, http.StatusCreated); err != nil {\n\t\tvar sec authError\n\t\terr = json.Unmarshal(body, &sec)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn sec\n\t}\n\treturn nil\n}\n\ntype authAPIAction struct {\n\tverb string\n}\n\nfunc (l *authAPIAction) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2AuthURL(ep, \"enable\", \"\")\n\treq, _ := http.NewRequest(l.verb, u.String(), nil)\n\treturn req\n}\n\ntype authError struct {\n\tMessage string `json:\"message\"`\n\tCode    int    `json:\"-\"`\n}\n\nfunc (e authError) Error() string {\n\treturn e.Message\n}\n\n// NewAuthUserAPI constructs a new AuthUserAPI that uses HTTP to\n// interact with etcd's user creation and modification features.\nfunc NewAuthUserAPI(c Client) AuthUserAPI {\n\treturn &httpAuthUserAPI{\n\t\tclient: c,\n\t}\n}\n\ntype AuthUserAPI interface {\n\t// AddUser adds a user.\n\tAddUser(ctx context.Context, username string, password string) error\n\n\t// RemoveUser removes a user.\n\tRemoveUser(ctx context.Context, username string) error\n\n\t// GetUser retrieves user details.\n\tGetUser(ctx context.Context, username string) (*User, error)\n\n\t// GrantUser grants a user some permission roles.\n\tGrantUser(ctx context.Context, username string, roles []string) (*User, error)\n\n\t// RevokeUser revokes some permission roles from a user.\n\tRevokeUser(ctx context.Context, username string, roles []string) (*User, error)\n\n\t// ChangePassword changes the user's password.\n\tChangePassword(ctx context.Context, username string, password string) (*User, error)\n\n\t// ListUsers lists the users.\n\tListUsers(ctx context.Context) ([]string, error)\n}\n\ntype httpAuthUserAPI struct {\n\tclient httpClient\n}\n\ntype authUserAPIAction struct {\n\tverb     string\n\tusername string\n\tuser     *User\n}\n\ntype authUserAPIList struct{}\n\nfunc (list *authUserAPIList) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2AuthURL(ep, \"users\", \"\")\n\treq, _ := http.NewRequest(\"GET\", u.String(), nil)\n\treq.Header.Set(\"Content-Type\", \"application/json\")\n\treturn req\n}\n\nfunc (l *authUserAPIAction) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2AuthURL(ep, \"users\", l.username)\n\tif l.user == nil {\n\t\treq, _ := http.NewRequest(l.verb, u.String(), nil)\n\t\treturn req\n\t}\n\tb, err := json.Marshal(l.user)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tbody := bytes.NewReader(b)\n\treq, _ := http.NewRequest(l.verb, u.String(), body)\n\treq.Header.Set(\"Content-Type\", \"application/json\")\n\treturn req\n}\n\nfunc (u *httpAuthUserAPI) ListUsers(ctx context.Context) ([]string, error) {\n\tresp, body, err := u.client.Do(ctx, &authUserAPIList{})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif err = assertStatusCode(resp.StatusCode, http.StatusOK); err != nil {\n\t\tvar sec authError\n\t\terr = json.Unmarshal(body, &sec)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treturn nil, sec\n\t}\n\n\tvar userList struct {\n\t\tUsers []userListEntry `json:\"users\"`\n\t}\n\n\tif err = json.Unmarshal(body, &userList); err != nil {\n\t\treturn nil, err\n\t}\n\n\tret := make([]string, 0, len(userList.Users))\n\tfor _, u := range userList.Users {\n\t\tret = append(ret, u.User)\n\t}\n\treturn ret, nil\n}\n\nfunc (u *httpAuthUserAPI) AddUser(ctx context.Context, username string, password string) error {\n\tuser := &User{\n\t\tUser:     username,\n\t\tPassword: password,\n\t}\n\treturn u.addRemoveUser(ctx, &authUserAPIAction{\n\t\tverb:     \"PUT\",\n\t\tusername: username,\n\t\tuser:     user,\n\t})\n}\n\nfunc (u *httpAuthUserAPI) RemoveUser(ctx context.Context, username string) error {\n\treturn u.addRemoveUser(ctx, &authUserAPIAction{\n\t\tverb:     \"DELETE\",\n\t\tusername: username,\n\t})\n}\n\nfunc (u *httpAuthUserAPI) addRemoveUser(ctx context.Context, req *authUserAPIAction) error {\n\tresp, body, err := u.client.Do(ctx, req)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif err = assertStatusCode(resp.StatusCode, http.StatusOK, http.StatusCreated); err != nil {\n\t\tvar sec authError\n\t\terr = json.Unmarshal(body, &sec)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn sec\n\t}\n\treturn nil\n}\n\nfunc (u *httpAuthUserAPI) GetUser(ctx context.Context, username string) (*User, error) {\n\treturn u.modUser(ctx, &authUserAPIAction{\n\t\tverb:     \"GET\",\n\t\tusername: username,\n\t})\n}\n\nfunc (u *httpAuthUserAPI) GrantUser(ctx context.Context, username string, roles []string) (*User, error) {\n\tuser := &User{\n\t\tUser:  username,\n\t\tGrant: roles,\n\t}\n\treturn u.modUser(ctx, &authUserAPIAction{\n\t\tverb:     \"PUT\",\n\t\tusername: username,\n\t\tuser:     user,\n\t})\n}\n\nfunc (u *httpAuthUserAPI) RevokeUser(ctx context.Context, username string, roles []string) (*User, error) {\n\tuser := &User{\n\t\tUser:   username,\n\t\tRevoke: roles,\n\t}\n\treturn u.modUser(ctx, &authUserAPIAction{\n\t\tverb:     \"PUT\",\n\t\tusername: username,\n\t\tuser:     user,\n\t})\n}\n\nfunc (u *httpAuthUserAPI) ChangePassword(ctx context.Context, username string, password string) (*User, error) {\n\tuser := &User{\n\t\tUser:     username,\n\t\tPassword: password,\n\t}\n\treturn u.modUser(ctx, &authUserAPIAction{\n\t\tverb:     \"PUT\",\n\t\tusername: username,\n\t\tuser:     user,\n\t})\n}\n\nfunc (u *httpAuthUserAPI) modUser(ctx context.Context, req *authUserAPIAction) (*User, error) {\n\tresp, body, err := u.client.Do(ctx, req)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif err = assertStatusCode(resp.StatusCode, http.StatusOK); err != nil {\n\t\tvar sec authError\n\t\terr = json.Unmarshal(body, &sec)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treturn nil, sec\n\t}\n\tvar user User\n\tif err = json.Unmarshal(body, &user); err != nil {\n\t\tvar userR UserRoles\n\t\tif urerr := json.Unmarshal(body, &userR); urerr != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tuser.User = userR.User\n\t\tfor _, r := range userR.Roles {\n\t\t\tuser.Roles = append(user.Roles, r.Role)\n\t\t}\n\t}\n\treturn &user, nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/client/cancelreq.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// borrowed from golang/net/context/ctxhttp/cancelreq.go\n\npackage client\n\nimport \"net/http\"\n\nfunc requestCanceler(tr CancelableTransport, req *http.Request) func() {\n\tch := make(chan struct{})\n\treq.Cancel = ch\n\n\treturn func() {\n\t\tclose(ch)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/client/client.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage client\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"math/rand\"\n\t\"net\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"sort\"\n\t\"strconv\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/version\"\n)\n\nvar (\n\tErrNoEndpoints           = errors.New(\"client: no endpoints available\")\n\tErrTooManyRedirects      = errors.New(\"client: too many redirects\")\n\tErrClusterUnavailable    = errors.New(\"client: etcd cluster is unavailable or misconfigured\")\n\tErrNoLeaderEndpoint      = errors.New(\"client: no leader endpoint available\")\n\terrTooManyRedirectChecks = errors.New(\"client: too many redirect checks\")\n\n\t// oneShotCtxValue is set on a context using WithValue(&oneShotValue) so\n\t// that Do() will not retry a request\n\toneShotCtxValue interface{}\n)\n\nvar DefaultRequestTimeout = 5 * time.Second\n\nvar DefaultTransport CancelableTransport = &http.Transport{\n\tProxy: http.ProxyFromEnvironment,\n\tDial: (&net.Dialer{\n\t\tTimeout:   30 * time.Second,\n\t\tKeepAlive: 30 * time.Second,\n\t}).Dial,\n\tTLSHandshakeTimeout: 10 * time.Second,\n}\n\ntype EndpointSelectionMode int\n\nconst (\n\t// EndpointSelectionRandom is the default value of the 'SelectionMode'.\n\t// As the name implies, the client object will pick a node from the members\n\t// of the cluster in a random fashion. If the cluster has three members, A, B,\n\t// and C, the client picks any node from its three members as its request\n\t// destination.\n\tEndpointSelectionRandom EndpointSelectionMode = iota\n\n\t// If 'SelectionMode' is set to 'EndpointSelectionPrioritizeLeader',\n\t// requests are sent directly to the cluster leader. This reduces\n\t// forwarding roundtrips compared to making requests to etcd followers\n\t// who then forward them to the cluster leader. In the event of a leader\n\t// failure, however, clients configured this way cannot prioritize among\n\t// the remaining etcd followers. Therefore, when a client sets 'SelectionMode'\n\t// to 'EndpointSelectionPrioritizeLeader', it must use 'client.AutoSync()' to\n\t// maintain its knowledge of current cluster state.\n\t//\n\t// This mode should be used with Client.AutoSync().\n\tEndpointSelectionPrioritizeLeader\n)\n\ntype Config struct {\n\t// Endpoints defines a set of URLs (schemes, hosts and ports only)\n\t// that can be used to communicate with a logical etcd cluster. For\n\t// example, a three-node cluster could be provided like so:\n\t//\n\t// \tEndpoints: []string{\n\t//\t\t\"http://node1.example.com:2379\",\n\t//\t\t\"http://node2.example.com:2379\",\n\t//\t\t\"http://node3.example.com:2379\",\n\t//\t}\n\t//\n\t// If multiple endpoints are provided, the Client will attempt to\n\t// use them all in the event that one or more of them are unusable.\n\t//\n\t// If Client.Sync is ever called, the Client may cache an alternate\n\t// set of endpoints to continue operation.\n\tEndpoints []string\n\n\t// Transport is used by the Client to drive HTTP requests. If not\n\t// provided, DefaultTransport will be used.\n\tTransport CancelableTransport\n\n\t// CheckRedirect specifies the policy for handling HTTP redirects.\n\t// If CheckRedirect is not nil, the Client calls it before\n\t// following an HTTP redirect. The sole argument is the number of\n\t// requests that have already been made. If CheckRedirect returns\n\t// an error, Client.Do will not make any further requests and return\n\t// the error back it to the caller.\n\t//\n\t// If CheckRedirect is nil, the Client uses its default policy,\n\t// which is to stop after 10 consecutive requests.\n\tCheckRedirect CheckRedirectFunc\n\n\t// Username specifies the user credential to add as an authorization header\n\tUsername string\n\n\t// Password is the password for the specified user to add as an authorization header\n\t// to the request.\n\tPassword string\n\n\t// HeaderTimeoutPerRequest specifies the time limit to wait for response\n\t// header in a single request made by the Client. The timeout includes\n\t// connection time, any redirects, and header wait time.\n\t//\n\t// For non-watch GET request, server returns the response body immediately.\n\t// For PUT/POST/DELETE request, server will attempt to commit request\n\t// before responding, which is expected to take `100ms + 2 * RTT`.\n\t// For watch request, server returns the header immediately to notify Client\n\t// watch start. But if server is behind some kind of proxy, the response\n\t// header may be cached at proxy, and Client cannot rely on this behavior.\n\t//\n\t// Especially, wait request will ignore this timeout.\n\t//\n\t// One API call may send multiple requests to different etcd servers until it\n\t// succeeds. Use context of the API to specify the overall timeout.\n\t//\n\t// A HeaderTimeoutPerRequest of zero means no timeout.\n\tHeaderTimeoutPerRequest time.Duration\n\n\t// SelectionMode is an EndpointSelectionMode enum that specifies the\n\t// policy for choosing the etcd cluster node to which requests are sent.\n\tSelectionMode EndpointSelectionMode\n}\n\nfunc (cfg *Config) transport() CancelableTransport {\n\tif cfg.Transport == nil {\n\t\treturn DefaultTransport\n\t}\n\treturn cfg.Transport\n}\n\nfunc (cfg *Config) checkRedirect() CheckRedirectFunc {\n\tif cfg.CheckRedirect == nil {\n\t\treturn DefaultCheckRedirect\n\t}\n\treturn cfg.CheckRedirect\n}\n\n// CancelableTransport mimics net/http.Transport, but requires that\n// the object also support request cancellation.\ntype CancelableTransport interface {\n\thttp.RoundTripper\n\tCancelRequest(req *http.Request)\n}\n\ntype CheckRedirectFunc func(via int) error\n\n// DefaultCheckRedirect follows up to 10 redirects, but no more.\nvar DefaultCheckRedirect CheckRedirectFunc = func(via int) error {\n\tif via > 10 {\n\t\treturn ErrTooManyRedirects\n\t}\n\treturn nil\n}\n\ntype Client interface {\n\t// Sync updates the internal cache of the etcd cluster's membership.\n\tSync(context.Context) error\n\n\t// AutoSync periodically calls Sync() every given interval.\n\t// The recommended sync interval is 10 seconds to 1 minute, which does\n\t// not bring too much overhead to server and makes client catch up the\n\t// cluster change in time.\n\t//\n\t// The example to use it:\n\t//\n\t//  for {\n\t//      err := client.AutoSync(ctx, 10*time.Second)\n\t//      if err == context.DeadlineExceeded || err == context.Canceled {\n\t//          break\n\t//      }\n\t//      log.Print(err)\n\t//  }\n\tAutoSync(context.Context, time.Duration) error\n\n\t// Endpoints returns a copy of the current set of API endpoints used\n\t// by Client to resolve HTTP requests. If Sync has ever been called,\n\t// this may differ from the initial Endpoints provided in the Config.\n\tEndpoints() []string\n\n\t// SetEndpoints sets the set of API endpoints used by Client to resolve\n\t// HTTP requests. If the given endpoints are not valid, an error will be\n\t// returned\n\tSetEndpoints(eps []string) error\n\n\t// GetVersion retrieves the current etcd server and cluster version\n\tGetVersion(ctx context.Context) (*version.Versions, error)\n\n\thttpClient\n}\n\nfunc New(cfg Config) (Client, error) {\n\tc := &httpClusterClient{\n\t\tclientFactory: newHTTPClientFactory(cfg.transport(), cfg.checkRedirect(), cfg.HeaderTimeoutPerRequest),\n\t\trand:          rand.New(rand.NewSource(int64(time.Now().Nanosecond()))),\n\t\tselectionMode: cfg.SelectionMode,\n\t}\n\tif cfg.Username != \"\" {\n\t\tc.credentials = &credentials{\n\t\t\tusername: cfg.Username,\n\t\t\tpassword: cfg.Password,\n\t\t}\n\t}\n\tif err := c.SetEndpoints(cfg.Endpoints); err != nil {\n\t\treturn nil, err\n\t}\n\treturn c, nil\n}\n\ntype httpClient interface {\n\tDo(context.Context, httpAction) (*http.Response, []byte, error)\n}\n\nfunc newHTTPClientFactory(tr CancelableTransport, cr CheckRedirectFunc, headerTimeout time.Duration) httpClientFactory {\n\treturn func(ep url.URL) httpClient {\n\t\treturn &redirectFollowingHTTPClient{\n\t\t\tcheckRedirect: cr,\n\t\t\tclient: &simpleHTTPClient{\n\t\t\t\ttransport:     tr,\n\t\t\t\tendpoint:      ep,\n\t\t\t\theaderTimeout: headerTimeout,\n\t\t\t},\n\t\t}\n\t}\n}\n\ntype credentials struct {\n\tusername string\n\tpassword string\n}\n\ntype httpClientFactory func(url.URL) httpClient\n\ntype httpAction interface {\n\tHTTPRequest(url.URL) *http.Request\n}\n\ntype httpClusterClient struct {\n\tclientFactory httpClientFactory\n\tendpoints     []url.URL\n\tpinned        int\n\tcredentials   *credentials\n\tsync.RWMutex\n\trand          *rand.Rand\n\tselectionMode EndpointSelectionMode\n}\n\nfunc (c *httpClusterClient) getLeaderEndpoint(ctx context.Context, eps []url.URL) (string, error) {\n\tceps := make([]url.URL, len(eps))\n\tcopy(ceps, eps)\n\n\t// To perform a lookup on the new endpoint list without using the current\n\t// client, we'll copy it\n\tclientCopy := &httpClusterClient{\n\t\tclientFactory: c.clientFactory,\n\t\tcredentials:   c.credentials,\n\t\trand:          c.rand,\n\n\t\tpinned:    0,\n\t\tendpoints: ceps,\n\t}\n\n\tmAPI := NewMembersAPI(clientCopy)\n\tleader, err := mAPI.Leader(ctx)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tif len(leader.ClientURLs) == 0 {\n\t\treturn \"\", ErrNoLeaderEndpoint\n\t}\n\n\treturn leader.ClientURLs[0], nil // TODO: how to handle multiple client URLs?\n}\n\nfunc (c *httpClusterClient) parseEndpoints(eps []string) ([]url.URL, error) {\n\tif len(eps) == 0 {\n\t\treturn []url.URL{}, ErrNoEndpoints\n\t}\n\n\tneps := make([]url.URL, len(eps))\n\tfor i, ep := range eps {\n\t\tu, err := url.Parse(ep)\n\t\tif err != nil {\n\t\t\treturn []url.URL{}, err\n\t\t}\n\t\tneps[i] = *u\n\t}\n\treturn neps, nil\n}\n\nfunc (c *httpClusterClient) SetEndpoints(eps []string) error {\n\tneps, err := c.parseEndpoints(eps)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tc.Lock()\n\tdefer c.Unlock()\n\n\tc.endpoints = shuffleEndpoints(c.rand, neps)\n\t// We're not doing anything for PrioritizeLeader here. This is\n\t// due to not having a context meaning we can't call getLeaderEndpoint\n\t// However, if you're using PrioritizeLeader, you've already been told\n\t// to regularly call sync, where we do have a ctx, and can figure the\n\t// leader. PrioritizeLeader is also quite a loose guarantee, so deal\n\t// with it\n\tc.pinned = 0\n\n\treturn nil\n}\n\nfunc (c *httpClusterClient) Do(ctx context.Context, act httpAction) (*http.Response, []byte, error) {\n\taction := act\n\tc.RLock()\n\tleps := len(c.endpoints)\n\teps := make([]url.URL, leps)\n\tn := copy(eps, c.endpoints)\n\tpinned := c.pinned\n\n\tif c.credentials != nil {\n\t\taction = &authedAction{\n\t\t\tact:         act,\n\t\t\tcredentials: *c.credentials,\n\t\t}\n\t}\n\tc.RUnlock()\n\n\tif leps == 0 {\n\t\treturn nil, nil, ErrNoEndpoints\n\t}\n\n\tif leps != n {\n\t\treturn nil, nil, errors.New(\"unable to pick endpoint: copy failed\")\n\t}\n\n\tvar resp *http.Response\n\tvar body []byte\n\tvar err error\n\tcerr := &ClusterError{}\n\tisOneShot := ctx.Value(&oneShotCtxValue) != nil\n\n\tfor i := pinned; i < leps+pinned; i++ {\n\t\tk := i % leps\n\t\thc := c.clientFactory(eps[k])\n\t\tresp, body, err = hc.Do(ctx, action)\n\t\tif err != nil {\n\t\t\tcerr.Errors = append(cerr.Errors, err)\n\t\t\tif err == ctx.Err() {\n\t\t\t\treturn nil, nil, ctx.Err()\n\t\t\t}\n\t\t\tif err == context.Canceled || err == context.DeadlineExceeded {\n\t\t\t\treturn nil, nil, err\n\t\t\t}\n\t\t} else if resp.StatusCode/100 == 5 {\n\t\t\tswitch resp.StatusCode {\n\t\t\tcase http.StatusInternalServerError, http.StatusServiceUnavailable:\n\t\t\t\t// TODO: make sure this is a no leader response\n\t\t\t\tcerr.Errors = append(cerr.Errors, fmt.Errorf(\"client: etcd member %s has no leader\", eps[k].String()))\n\t\t\tdefault:\n\t\t\t\tcerr.Errors = append(cerr.Errors, fmt.Errorf(\"client: etcd member %s returns server error [%s]\", eps[k].String(), http.StatusText(resp.StatusCode)))\n\t\t\t}\n\t\t\terr = cerr.Errors[0]\n\t\t}\n\t\tif err != nil {\n\t\t\tif !isOneShot {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tc.Lock()\n\t\t\tc.pinned = (k + 1) % leps\n\t\t\tc.Unlock()\n\t\t\treturn nil, nil, err\n\t\t}\n\t\tif k != pinned {\n\t\t\tc.Lock()\n\t\t\tc.pinned = k\n\t\t\tc.Unlock()\n\t\t}\n\t\treturn resp, body, nil\n\t}\n\n\treturn nil, nil, cerr\n}\n\nfunc (c *httpClusterClient) Endpoints() []string {\n\tc.RLock()\n\tdefer c.RUnlock()\n\n\teps := make([]string, len(c.endpoints))\n\tfor i, ep := range c.endpoints {\n\t\teps[i] = ep.String()\n\t}\n\n\treturn eps\n}\n\nfunc (c *httpClusterClient) Sync(ctx context.Context) error {\n\tmAPI := NewMembersAPI(c)\n\tms, err := mAPI.List(ctx)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tvar eps []string\n\tfor _, m := range ms {\n\t\teps = append(eps, m.ClientURLs...)\n\t}\n\n\tneps, err := c.parseEndpoints(eps)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tnpin := 0\n\n\tswitch c.selectionMode {\n\tcase EndpointSelectionRandom:\n\t\tc.RLock()\n\t\teq := endpointsEqual(c.endpoints, neps)\n\t\tc.RUnlock()\n\n\t\tif eq {\n\t\t\treturn nil\n\t\t}\n\t\t// When items in the endpoint list changes, we choose a new pin\n\t\tneps = shuffleEndpoints(c.rand, neps)\n\tcase EndpointSelectionPrioritizeLeader:\n\t\tnle, err := c.getLeaderEndpoint(ctx, neps)\n\t\tif err != nil {\n\t\t\treturn ErrNoLeaderEndpoint\n\t\t}\n\n\t\tfor i, n := range neps {\n\t\t\tif n.String() == nle {\n\t\t\t\tnpin = i\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\tdefault:\n\t\treturn fmt.Errorf(\"invalid endpoint selection mode: %d\", c.selectionMode)\n\t}\n\n\tc.Lock()\n\tdefer c.Unlock()\n\tc.endpoints = neps\n\tc.pinned = npin\n\n\treturn nil\n}\n\nfunc (c *httpClusterClient) AutoSync(ctx context.Context, interval time.Duration) error {\n\tticker := time.NewTicker(interval)\n\tdefer ticker.Stop()\n\tfor {\n\t\terr := c.Sync(ctx)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\treturn ctx.Err()\n\t\tcase <-ticker.C:\n\t\t}\n\t}\n}\n\nfunc (c *httpClusterClient) GetVersion(ctx context.Context) (*version.Versions, error) {\n\tact := &getAction{Prefix: \"/version\"}\n\n\tresp, body, err := c.Do(ctx, act)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tswitch resp.StatusCode {\n\tcase http.StatusOK:\n\t\tif len(body) == 0 {\n\t\t\treturn nil, ErrEmptyBody\n\t\t}\n\t\tvar vresp version.Versions\n\t\tif err := json.Unmarshal(body, &vresp); err != nil {\n\t\t\treturn nil, ErrInvalidJSON\n\t\t}\n\t\treturn &vresp, nil\n\tdefault:\n\t\tvar etcdErr Error\n\t\tif err := json.Unmarshal(body, &etcdErr); err != nil {\n\t\t\treturn nil, ErrInvalidJSON\n\t\t}\n\t\treturn nil, etcdErr\n\t}\n}\n\ntype roundTripResponse struct {\n\tresp *http.Response\n\terr  error\n}\n\ntype simpleHTTPClient struct {\n\ttransport     CancelableTransport\n\tendpoint      url.URL\n\theaderTimeout time.Duration\n}\n\nfunc (c *simpleHTTPClient) Do(ctx context.Context, act httpAction) (*http.Response, []byte, error) {\n\treq := act.HTTPRequest(c.endpoint)\n\n\tif err := printcURL(req); err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tisWait := false\n\tif req != nil && req.URL != nil {\n\t\tws := req.URL.Query().Get(\"wait\")\n\t\tif len(ws) != 0 {\n\t\t\tvar err error\n\t\t\tisWait, err = strconv.ParseBool(ws)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, nil, fmt.Errorf(\"wrong wait value %s (%v for %+v)\", ws, err, req)\n\t\t\t}\n\t\t}\n\t}\n\n\tvar hctx context.Context\n\tvar hcancel context.CancelFunc\n\tif !isWait && c.headerTimeout > 0 {\n\t\thctx, hcancel = context.WithTimeout(ctx, c.headerTimeout)\n\t} else {\n\t\thctx, hcancel = context.WithCancel(ctx)\n\t}\n\tdefer hcancel()\n\n\treqcancel := requestCanceler(c.transport, req)\n\n\trtchan := make(chan roundTripResponse, 1)\n\tgo func() {\n\t\tresp, err := c.transport.RoundTrip(req)\n\t\trtchan <- roundTripResponse{resp: resp, err: err}\n\t\tclose(rtchan)\n\t}()\n\n\tvar resp *http.Response\n\tvar err error\n\n\tselect {\n\tcase rtresp := <-rtchan:\n\t\tresp, err = rtresp.resp, rtresp.err\n\tcase <-hctx.Done():\n\t\t// cancel and wait for request to actually exit before continuing\n\t\treqcancel()\n\t\trtresp := <-rtchan\n\t\tresp = rtresp.resp\n\t\tswitch {\n\t\tcase ctx.Err() != nil:\n\t\t\terr = ctx.Err()\n\t\tcase hctx.Err() != nil:\n\t\t\terr = fmt.Errorf(\"client: endpoint %s exceeded header timeout\", c.endpoint.String())\n\t\tdefault:\n\t\t\tpanic(\"failed to get error from context\")\n\t\t}\n\t}\n\n\t// always check for resp nil-ness to deal with possible\n\t// race conditions between channels above\n\tdefer func() {\n\t\tif resp != nil {\n\t\t\tresp.Body.Close()\n\t\t}\n\t}()\n\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tvar body []byte\n\tdone := make(chan struct{})\n\tgo func() {\n\t\tbody, err = ioutil.ReadAll(resp.Body)\n\t\tdone <- struct{}{}\n\t}()\n\n\tselect {\n\tcase <-ctx.Done():\n\t\tresp.Body.Close()\n\t\t<-done\n\t\treturn nil, nil, ctx.Err()\n\tcase <-done:\n\t}\n\n\treturn resp, body, err\n}\n\ntype authedAction struct {\n\tact         httpAction\n\tcredentials credentials\n}\n\nfunc (a *authedAction) HTTPRequest(url url.URL) *http.Request {\n\tr := a.act.HTTPRequest(url)\n\tr.SetBasicAuth(a.credentials.username, a.credentials.password)\n\treturn r\n}\n\ntype redirectFollowingHTTPClient struct {\n\tclient        httpClient\n\tcheckRedirect CheckRedirectFunc\n}\n\nfunc (r *redirectFollowingHTTPClient) Do(ctx context.Context, act httpAction) (*http.Response, []byte, error) {\n\tnext := act\n\tfor i := 0; i < 100; i++ {\n\t\tif i > 0 {\n\t\t\tif err := r.checkRedirect(i); err != nil {\n\t\t\t\treturn nil, nil, err\n\t\t\t}\n\t\t}\n\t\tresp, body, err := r.client.Do(ctx, next)\n\t\tif err != nil {\n\t\t\treturn nil, nil, err\n\t\t}\n\t\tif resp.StatusCode/100 == 3 {\n\t\t\thdr := resp.Header.Get(\"Location\")\n\t\t\tif hdr == \"\" {\n\t\t\t\treturn nil, nil, fmt.Errorf(\"Location header not set\")\n\t\t\t}\n\t\t\tloc, err := url.Parse(hdr)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, nil, fmt.Errorf(\"Location header not valid URL: %s\", hdr)\n\t\t\t}\n\t\t\tnext = &redirectedHTTPAction{\n\t\t\t\taction:   act,\n\t\t\t\tlocation: *loc,\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\treturn resp, body, nil\n\t}\n\n\treturn nil, nil, errTooManyRedirectChecks\n}\n\ntype redirectedHTTPAction struct {\n\taction   httpAction\n\tlocation url.URL\n}\n\nfunc (r *redirectedHTTPAction) HTTPRequest(ep url.URL) *http.Request {\n\torig := r.action.HTTPRequest(ep)\n\torig.URL = &r.location\n\treturn orig\n}\n\nfunc shuffleEndpoints(r *rand.Rand, eps []url.URL) []url.URL {\n\t// copied from Go 1.9<= rand.Rand.Perm\n\tn := len(eps)\n\tp := make([]int, n)\n\tfor i := 0; i < n; i++ {\n\t\tj := r.Intn(i + 1)\n\t\tp[i] = p[j]\n\t\tp[j] = i\n\t}\n\tneps := make([]url.URL, n)\n\tfor i, k := range p {\n\t\tneps[i] = eps[k]\n\t}\n\treturn neps\n}\n\nfunc endpointsEqual(left, right []url.URL) bool {\n\tif len(left) != len(right) {\n\t\treturn false\n\t}\n\n\tsLeft := make([]string, len(left))\n\tsRight := make([]string, len(right))\n\tfor i, l := range left {\n\t\tsLeft[i] = l.String()\n\t}\n\tfor i, r := range right {\n\t\tsRight[i] = r.String()\n\t}\n\n\tsort.Strings(sLeft)\n\tsort.Strings(sRight)\n\tfor i := range sLeft {\n\t\tif sLeft[i] != sRight[i] {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/client/cluster_error.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage client\n\nimport \"fmt\"\n\ntype ClusterError struct {\n\tErrors []error\n}\n\nfunc (ce *ClusterError) Error() string {\n\ts := ErrClusterUnavailable.Error()\n\tfor i, e := range ce.Errors {\n\t\ts += fmt.Sprintf(\"; error #%d: %s\\n\", i, e)\n\t}\n\treturn s\n}\n\nfunc (ce *ClusterError) Detail() string {\n\ts := \"\"\n\tfor i, e := range ce.Errors {\n\t\ts += fmt.Sprintf(\"error #%d: %s\\n\", i, e)\n\t}\n\treturn s\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/client/curl.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage client\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"net/http\"\n\t\"os\"\n)\n\nvar (\n\tcURLDebug = false\n)\n\nfunc EnablecURLDebug() {\n\tcURLDebug = true\n}\n\nfunc DisablecURLDebug() {\n\tcURLDebug = false\n}\n\n// printcURL prints the cURL equivalent request to stderr.\n// It returns an error if the body of the request cannot\n// be read.\n// The caller MUST cancel the request if there is an error.\nfunc printcURL(req *http.Request) error {\n\tif !cURLDebug {\n\t\treturn nil\n\t}\n\tvar (\n\t\tcommand string\n\t\tb       []byte\n\t\terr     error\n\t)\n\n\tif req.URL != nil {\n\t\tcommand = fmt.Sprintf(\"curl -X %s %s\", req.Method, req.URL.String())\n\t}\n\n\tif req.Body != nil {\n\t\tb, err = ioutil.ReadAll(req.Body)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcommand += fmt.Sprintf(\" -d %q\", string(b))\n\t}\n\n\tfmt.Fprintf(os.Stderr, \"cURL Command: %s\\n\", command)\n\n\t// reset body\n\tbody := bytes.NewBuffer(b)\n\treq.Body = ioutil.NopCloser(body)\n\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/client/discover.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage client\n\nimport (\n\t\"github.com/coreos/etcd/pkg/srv\"\n)\n\n// Discoverer is an interface that wraps the Discover method.\ntype Discoverer interface {\n\t// Discover looks up the etcd servers for the domain.\n\tDiscover(domain string) ([]string, error)\n}\n\ntype srvDiscover struct{}\n\n// NewSRVDiscover constructs a new Discoverer that uses the stdlib to lookup SRV records.\nfunc NewSRVDiscover() Discoverer {\n\treturn &srvDiscover{}\n}\n\nfunc (d *srvDiscover) Discover(domain string) ([]string, error) {\n\tsrvs, err := srv.GetClient(\"etcd-client\", domain)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn srvs.Endpoints, nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/client/doc.go",
    "content": "// Copyright 2015 The etcd Authors\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/*\nPackage client provides bindings for the etcd APIs.\n\nCreate a Config and exchange it for a Client:\n\n\timport (\n\t\t\"net/http\"\n\t\t\"context\"\n\n\t\t\"github.com/coreos/etcd/client\"\n\t)\n\n\tcfg := client.Config{\n\t\tEndpoints: []string{\"http://127.0.0.1:2379\"},\n\t\tTransport: DefaultTransport,\n\t}\n\n\tc, err := client.New(cfg)\n\tif err != nil {\n\t\t// handle error\n\t}\n\nClients are safe for concurrent use by multiple goroutines.\n\nCreate a KeysAPI using the Client, then use it to interact with etcd:\n\n\tkAPI := client.NewKeysAPI(c)\n\n\t// create a new key /foo with the value \"bar\"\n\t_, err = kAPI.Create(context.Background(), \"/foo\", \"bar\")\n\tif err != nil {\n\t\t// handle error\n\t}\n\n\t// delete the newly created key only if the value is still \"bar\"\n\t_, err = kAPI.Delete(context.Background(), \"/foo\", &DeleteOptions{PrevValue: \"bar\"})\n\tif err != nil {\n\t\t// handle error\n\t}\n\nUse a custom context to set timeouts on your operations:\n\n\timport \"time\"\n\n\tctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)\n\tdefer cancel()\n\n\t// set a new key, ignoring its previous state\n\t_, err := kAPI.Set(ctx, \"/ping\", \"pong\", nil)\n\tif err != nil {\n\t\tif err == context.DeadlineExceeded {\n\t\t\t// request took longer than 5s\n\t\t} else {\n\t\t\t// handle error\n\t\t}\n\t}\n\n*/\npackage client\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/client/keys.generated.go",
    "content": "// Code generated by codecgen - DO NOT EDIT.\n\npackage client\n\nimport (\n\t\"errors\"\n\t\"runtime\"\n\t\"strconv\"\n\t\"time\"\n\n\tcodec1978 \"github.com/ugorji/go/codec\"\n)\n\nconst (\n\t// ----- content types ----\n\tcodecSelferCcUTF86628 = 1\n\tcodecSelferCcRAW6628  = 0\n\t// ----- value types used ----\n\tcodecSelferValueTypeArray6628  = 10\n\tcodecSelferValueTypeMap6628    = 9\n\tcodecSelferValueTypeString6628 = 6\n\tcodecSelferValueTypeInt6628    = 2\n\tcodecSelferValueTypeUint6628   = 3\n\tcodecSelferValueTypeFloat6628  = 4\n\tcodecSelferBitsize6628         = uint8(32 << (^uint(0) >> 63))\n)\n\nvar (\n\terrCodecSelferOnlyMapOrArrayEncodeToStruct6628 = errors.New(`only encoded map or array can be decoded into a struct`)\n)\n\ntype codecSelfer6628 struct{}\n\nfunc init() {\n\tif codec1978.GenVersion != 8 {\n\t\t_, file, _, _ := runtime.Caller(0)\n\t\tpanic(\"codecgen version mismatch: current: 8, need \" + strconv.FormatInt(int64(codec1978.GenVersion), 10) + \". Re-generate file: \" + file)\n\t}\n\tif false { // reference the types, but skip this branch at build/run time\n\t\tvar v0 time.Duration\n\t\t_ = v0\n\t}\n}\n\nfunc (x *Error) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(4)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(4)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeInt(int64(x.Code))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `errorCode`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeInt(int64(x.Code))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Message))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `message`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Message))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Cause))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `cause`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Cause))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.Index))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `index`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.Index))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *Error) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *Error) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"errorCode\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Code = 0\n\t\t\t} else {\n\t\t\t\tx.Code = (int)(z.C.IntV(r.DecodeInt64(), codecSelferBitsize6628))\n\t\t\t}\n\t\tcase \"message\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Message = \"\"\n\t\t\t} else {\n\t\t\t\tx.Message = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"cause\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Cause = \"\"\n\t\t\t} else {\n\t\t\t\tx.Cause = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"index\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Index = 0\n\t\t\t} else {\n\t\t\t\tx.Index = (uint64)(r.DecodeUint64())\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *Error) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj8 int\n\tvar yyb8 bool\n\tvar yyhl8 bool = l >= 0\n\tyyj8++\n\tif yyhl8 {\n\t\tyyb8 = yyj8 > l\n\t} else {\n\t\tyyb8 = r.CheckBreak()\n\t}\n\tif yyb8 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Code = 0\n\t} else {\n\t\tx.Code = (int)(z.C.IntV(r.DecodeInt64(), codecSelferBitsize6628))\n\t}\n\tyyj8++\n\tif yyhl8 {\n\t\tyyb8 = yyj8 > l\n\t} else {\n\t\tyyb8 = r.CheckBreak()\n\t}\n\tif yyb8 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Message = \"\"\n\t} else {\n\t\tx.Message = (string)(r.DecodeString())\n\t}\n\tyyj8++\n\tif yyhl8 {\n\t\tyyb8 = yyj8 > l\n\t} else {\n\t\tyyb8 = r.CheckBreak()\n\t}\n\tif yyb8 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Cause = \"\"\n\t} else {\n\t\tx.Cause = (string)(r.DecodeString())\n\t}\n\tyyj8++\n\tif yyhl8 {\n\t\tyyb8 = yyj8 > l\n\t} else {\n\t\tyyb8 = r.CheckBreak()\n\t}\n\tif yyb8 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Index = 0\n\t} else {\n\t\tx.Index = (uint64)(r.DecodeUint64())\n\t}\n\tfor {\n\t\tyyj8++\n\t\tif yyhl8 {\n\t\t\tyyb8 = yyj8 > l\n\t\t} else {\n\t\t\tyyb8 = r.CheckBreak()\n\t\t}\n\t\tif yyb8 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj8-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x PrevExistType) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.EncExtension(x, yyxt1)\n\t} else {\n\t\tr.EncodeString(codecSelferCcUTF86628, string(x))\n\t}\n}\n\nfunc (x *PrevExistType) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\t*x = (PrevExistType)(r.DecodeString())\n\t}\n}\n\nfunc (x *WatcherOptions) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(2)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(2)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.AfterIndex))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `AfterIndex`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.AfterIndex))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Recursive))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Recursive`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Recursive))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *WatcherOptions) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *WatcherOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"AfterIndex\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.AfterIndex = 0\n\t\t\t} else {\n\t\t\t\tx.AfterIndex = (uint64)(r.DecodeUint64())\n\t\t\t}\n\t\tcase \"Recursive\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Recursive = false\n\t\t\t} else {\n\t\t\t\tx.Recursive = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *WatcherOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj6 int\n\tvar yyb6 bool\n\tvar yyhl6 bool = l >= 0\n\tyyj6++\n\tif yyhl6 {\n\t\tyyb6 = yyj6 > l\n\t} else {\n\t\tyyb6 = r.CheckBreak()\n\t}\n\tif yyb6 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.AfterIndex = 0\n\t} else {\n\t\tx.AfterIndex = (uint64)(r.DecodeUint64())\n\t}\n\tyyj6++\n\tif yyhl6 {\n\t\tyyb6 = yyj6 > l\n\t} else {\n\t\tyyb6 = r.CheckBreak()\n\t}\n\tif yyb6 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Recursive = false\n\t} else {\n\t\tx.Recursive = (bool)(r.DecodeBool())\n\t}\n\tfor {\n\t\tyyj6++\n\t\tif yyhl6 {\n\t\t\tyyb6 = yyj6 > l\n\t\t} else {\n\t\t\tyyb6 = r.CheckBreak()\n\t\t}\n\t\tif yyb6 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj6-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x *CreateInOrderOptions) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(1)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(1)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else if yyxt4 := z.Extension(z.I2Rtid(x.TTL)); yyxt4 != nil {\n\t\t\t\t\tz.EncExtension(x.TTL, yyxt4)\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeInt(int64(x.TTL))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `TTL`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else if yyxt5 := z.Extension(z.I2Rtid(x.TTL)); yyxt5 != nil {\n\t\t\t\t\tz.EncExtension(x.TTL, yyxt5)\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeInt(int64(x.TTL))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *CreateInOrderOptions) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *CreateInOrderOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"TTL\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.TTL = 0\n\t\t\t} else {\n\t\t\t\tif false {\n\t\t\t\t} else if yyxt5 := z.Extension(z.I2Rtid(x.TTL)); yyxt5 != nil {\n\t\t\t\t\tz.DecExtension(x.TTL, yyxt5)\n\t\t\t\t} else {\n\t\t\t\t\tx.TTL = (time.Duration)(r.DecodeInt64())\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *CreateInOrderOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj6 int\n\tvar yyb6 bool\n\tvar yyhl6 bool = l >= 0\n\tyyj6++\n\tif yyhl6 {\n\t\tyyb6 = yyj6 > l\n\t} else {\n\t\tyyb6 = r.CheckBreak()\n\t}\n\tif yyb6 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.TTL = 0\n\t} else {\n\t\tif false {\n\t\t} else if yyxt8 := z.Extension(z.I2Rtid(x.TTL)); yyxt8 != nil {\n\t\t\tz.DecExtension(x.TTL, yyxt8)\n\t\t} else {\n\t\t\tx.TTL = (time.Duration)(r.DecodeInt64())\n\t\t}\n\t}\n\tfor {\n\t\tyyj6++\n\t\tif yyhl6 {\n\t\t\tyyb6 = yyj6 > l\n\t\t} else {\n\t\t\tyyb6 = r.CheckBreak()\n\t\t}\n\t\tif yyb6 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj6-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x *SetOptions) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(7)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(7)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.PrevValue))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `PrevValue`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.PrevValue))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.PrevIndex))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `PrevIndex`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.PrevIndex))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tx.PrevExist.CodecEncodeSelf(e)\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `PrevExist`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tx.PrevExist.CodecEncodeSelf(e)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else if yyxt13 := z.Extension(z.I2Rtid(x.TTL)); yyxt13 != nil {\n\t\t\t\t\tz.EncExtension(x.TTL, yyxt13)\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeInt(int64(x.TTL))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `TTL`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else if yyxt14 := z.Extension(z.I2Rtid(x.TTL)); yyxt14 != nil {\n\t\t\t\t\tz.EncExtension(x.TTL, yyxt14)\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeInt(int64(x.TTL))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Refresh))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Refresh`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Refresh))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Dir))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Dir`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Dir))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.NoValueOnSuccess))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `NoValueOnSuccess`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.NoValueOnSuccess))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *SetOptions) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *SetOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"PrevValue\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.PrevValue = \"\"\n\t\t\t} else {\n\t\t\t\tx.PrevValue = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"PrevIndex\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.PrevIndex = 0\n\t\t\t} else {\n\t\t\t\tx.PrevIndex = (uint64)(r.DecodeUint64())\n\t\t\t}\n\t\tcase \"PrevExist\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.PrevExist = \"\"\n\t\t\t} else {\n\t\t\t\tx.PrevExist.CodecDecodeSelf(d)\n\t\t\t}\n\t\tcase \"TTL\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.TTL = 0\n\t\t\t} else {\n\t\t\t\tif false {\n\t\t\t\t} else if yyxt8 := z.Extension(z.I2Rtid(x.TTL)); yyxt8 != nil {\n\t\t\t\t\tz.DecExtension(x.TTL, yyxt8)\n\t\t\t\t} else {\n\t\t\t\t\tx.TTL = (time.Duration)(r.DecodeInt64())\n\t\t\t\t}\n\t\t\t}\n\t\tcase \"Refresh\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Refresh = false\n\t\t\t} else {\n\t\t\t\tx.Refresh = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tcase \"Dir\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Dir = false\n\t\t\t} else {\n\t\t\t\tx.Dir = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tcase \"NoValueOnSuccess\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.NoValueOnSuccess = false\n\t\t\t} else {\n\t\t\t\tx.NoValueOnSuccess = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *SetOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj12 int\n\tvar yyb12 bool\n\tvar yyhl12 bool = l >= 0\n\tyyj12++\n\tif yyhl12 {\n\t\tyyb12 = yyj12 > l\n\t} else {\n\t\tyyb12 = r.CheckBreak()\n\t}\n\tif yyb12 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.PrevValue = \"\"\n\t} else {\n\t\tx.PrevValue = (string)(r.DecodeString())\n\t}\n\tyyj12++\n\tif yyhl12 {\n\t\tyyb12 = yyj12 > l\n\t} else {\n\t\tyyb12 = r.CheckBreak()\n\t}\n\tif yyb12 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.PrevIndex = 0\n\t} else {\n\t\tx.PrevIndex = (uint64)(r.DecodeUint64())\n\t}\n\tyyj12++\n\tif yyhl12 {\n\t\tyyb12 = yyj12 > l\n\t} else {\n\t\tyyb12 = r.CheckBreak()\n\t}\n\tif yyb12 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.PrevExist = \"\"\n\t} else {\n\t\tx.PrevExist.CodecDecodeSelf(d)\n\t}\n\tyyj12++\n\tif yyhl12 {\n\t\tyyb12 = yyj12 > l\n\t} else {\n\t\tyyb12 = r.CheckBreak()\n\t}\n\tif yyb12 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.TTL = 0\n\t} else {\n\t\tif false {\n\t\t} else if yyxt17 := z.Extension(z.I2Rtid(x.TTL)); yyxt17 != nil {\n\t\t\tz.DecExtension(x.TTL, yyxt17)\n\t\t} else {\n\t\t\tx.TTL = (time.Duration)(r.DecodeInt64())\n\t\t}\n\t}\n\tyyj12++\n\tif yyhl12 {\n\t\tyyb12 = yyj12 > l\n\t} else {\n\t\tyyb12 = r.CheckBreak()\n\t}\n\tif yyb12 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Refresh = false\n\t} else {\n\t\tx.Refresh = (bool)(r.DecodeBool())\n\t}\n\tyyj12++\n\tif yyhl12 {\n\t\tyyb12 = yyj12 > l\n\t} else {\n\t\tyyb12 = r.CheckBreak()\n\t}\n\tif yyb12 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Dir = false\n\t} else {\n\t\tx.Dir = (bool)(r.DecodeBool())\n\t}\n\tyyj12++\n\tif yyhl12 {\n\t\tyyb12 = yyj12 > l\n\t} else {\n\t\tyyb12 = r.CheckBreak()\n\t}\n\tif yyb12 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.NoValueOnSuccess = false\n\t} else {\n\t\tx.NoValueOnSuccess = (bool)(r.DecodeBool())\n\t}\n\tfor {\n\t\tyyj12++\n\t\tif yyhl12 {\n\t\t\tyyb12 = yyj12 > l\n\t\t} else {\n\t\t\tyyb12 = r.CheckBreak()\n\t\t}\n\t\tif yyb12 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj12-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x *GetOptions) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(3)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(3)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Recursive))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Recursive`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Recursive))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Sort))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Sort`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Sort))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Quorum))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Quorum`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Quorum))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *GetOptions) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *GetOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"Recursive\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Recursive = false\n\t\t\t} else {\n\t\t\t\tx.Recursive = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tcase \"Sort\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Sort = false\n\t\t\t} else {\n\t\t\t\tx.Sort = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tcase \"Quorum\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Quorum = false\n\t\t\t} else {\n\t\t\t\tx.Quorum = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *GetOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj7 int\n\tvar yyb7 bool\n\tvar yyhl7 bool = l >= 0\n\tyyj7++\n\tif yyhl7 {\n\t\tyyb7 = yyj7 > l\n\t} else {\n\t\tyyb7 = r.CheckBreak()\n\t}\n\tif yyb7 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Recursive = false\n\t} else {\n\t\tx.Recursive = (bool)(r.DecodeBool())\n\t}\n\tyyj7++\n\tif yyhl7 {\n\t\tyyb7 = yyj7 > l\n\t} else {\n\t\tyyb7 = r.CheckBreak()\n\t}\n\tif yyb7 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Sort = false\n\t} else {\n\t\tx.Sort = (bool)(r.DecodeBool())\n\t}\n\tyyj7++\n\tif yyhl7 {\n\t\tyyb7 = yyj7 > l\n\t} else {\n\t\tyyb7 = r.CheckBreak()\n\t}\n\tif yyb7 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Quorum = false\n\t} else {\n\t\tx.Quorum = (bool)(r.DecodeBool())\n\t}\n\tfor {\n\t\tyyj7++\n\t\tif yyhl7 {\n\t\t\tyyb7 = yyj7 > l\n\t\t} else {\n\t\t\tyyb7 = r.CheckBreak()\n\t\t}\n\t\tif yyb7 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj7-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x *DeleteOptions) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(4)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(4)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.PrevValue))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `PrevValue`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.PrevValue))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.PrevIndex))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `PrevIndex`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.PrevIndex))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Recursive))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Recursive`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Recursive))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Dir))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Dir`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Dir))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *DeleteOptions) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *DeleteOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"PrevValue\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.PrevValue = \"\"\n\t\t\t} else {\n\t\t\t\tx.PrevValue = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"PrevIndex\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.PrevIndex = 0\n\t\t\t} else {\n\t\t\t\tx.PrevIndex = (uint64)(r.DecodeUint64())\n\t\t\t}\n\t\tcase \"Recursive\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Recursive = false\n\t\t\t} else {\n\t\t\t\tx.Recursive = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tcase \"Dir\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Dir = false\n\t\t\t} else {\n\t\t\t\tx.Dir = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *DeleteOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj8 int\n\tvar yyb8 bool\n\tvar yyhl8 bool = l >= 0\n\tyyj8++\n\tif yyhl8 {\n\t\tyyb8 = yyj8 > l\n\t} else {\n\t\tyyb8 = r.CheckBreak()\n\t}\n\tif yyb8 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.PrevValue = \"\"\n\t} else {\n\t\tx.PrevValue = (string)(r.DecodeString())\n\t}\n\tyyj8++\n\tif yyhl8 {\n\t\tyyb8 = yyj8 > l\n\t} else {\n\t\tyyb8 = r.CheckBreak()\n\t}\n\tif yyb8 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.PrevIndex = 0\n\t} else {\n\t\tx.PrevIndex = (uint64)(r.DecodeUint64())\n\t}\n\tyyj8++\n\tif yyhl8 {\n\t\tyyb8 = yyj8 > l\n\t} else {\n\t\tyyb8 = r.CheckBreak()\n\t}\n\tif yyb8 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Recursive = false\n\t} else {\n\t\tx.Recursive = (bool)(r.DecodeBool())\n\t}\n\tyyj8++\n\tif yyhl8 {\n\t\tyyb8 = yyj8 > l\n\t} else {\n\t\tyyb8 = r.CheckBreak()\n\t}\n\tif yyb8 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Dir = false\n\t} else {\n\t\tx.Dir = (bool)(r.DecodeBool())\n\t}\n\tfor {\n\t\tyyj8++\n\t\tif yyhl8 {\n\t\t\tyyb8 = yyj8 > l\n\t\t} else {\n\t\t\tyyb8 = r.CheckBreak()\n\t\t}\n\t\tif yyb8 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj8-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x *Response) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(3)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(3)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Action))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `action`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Action))\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar yyn6 bool\n\t\t\tif x.Node == nil {\n\t\t\t\tyyn6 = true\n\t\t\t\tgoto LABEL6\n\t\t\t}\n\t\tLABEL6:\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tif yyn6 {\n\t\t\t\t\tr.WriteArrayElem()\n\t\t\t\t\tr.EncodeNil()\n\t\t\t\t} else {\n\t\t\t\t\tr.WriteArrayElem()\n\t\t\t\t\tif x.Node == nil {\n\t\t\t\t\t\tr.EncodeNil()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tx.Node.CodecEncodeSelf(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `node`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif yyn6 {\n\t\t\t\t\tr.EncodeNil()\n\t\t\t\t} else {\n\t\t\t\t\tif x.Node == nil {\n\t\t\t\t\t\tr.EncodeNil()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tx.Node.CodecEncodeSelf(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar yyn9 bool\n\t\t\tif x.PrevNode == nil {\n\t\t\t\tyyn9 = true\n\t\t\t\tgoto LABEL9\n\t\t\t}\n\t\tLABEL9:\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tif yyn9 {\n\t\t\t\t\tr.WriteArrayElem()\n\t\t\t\t\tr.EncodeNil()\n\t\t\t\t} else {\n\t\t\t\t\tr.WriteArrayElem()\n\t\t\t\t\tif x.PrevNode == nil {\n\t\t\t\t\t\tr.EncodeNil()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tx.PrevNode.CodecEncodeSelf(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `prevNode`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif yyn9 {\n\t\t\t\t\tr.EncodeNil()\n\t\t\t\t} else {\n\t\t\t\t\tif x.PrevNode == nil {\n\t\t\t\t\t\tr.EncodeNil()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tx.PrevNode.CodecEncodeSelf(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *Response) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *Response) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"action\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Action = \"\"\n\t\t\t} else {\n\t\t\t\tx.Action = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"node\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tif true && x.Node != nil {\n\t\t\t\t\tx.Node = nil\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif x.Node == nil {\n\t\t\t\t\tx.Node = new(Node)\n\t\t\t\t}\n\n\t\t\t\tx.Node.CodecDecodeSelf(d)\n\t\t\t}\n\t\tcase \"prevNode\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tif true && x.PrevNode != nil {\n\t\t\t\t\tx.PrevNode = nil\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif x.PrevNode == nil {\n\t\t\t\t\tx.PrevNode = new(Node)\n\t\t\t\t}\n\n\t\t\t\tx.PrevNode.CodecDecodeSelf(d)\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *Response) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj7 int\n\tvar yyb7 bool\n\tvar yyhl7 bool = l >= 0\n\tyyj7++\n\tif yyhl7 {\n\t\tyyb7 = yyj7 > l\n\t} else {\n\t\tyyb7 = r.CheckBreak()\n\t}\n\tif yyb7 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Action = \"\"\n\t} else {\n\t\tx.Action = (string)(r.DecodeString())\n\t}\n\tyyj7++\n\tif yyhl7 {\n\t\tyyb7 = yyj7 > l\n\t} else {\n\t\tyyb7 = r.CheckBreak()\n\t}\n\tif yyb7 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tif true && x.Node != nil {\n\t\t\tx.Node = nil\n\t\t}\n\t} else {\n\t\tif x.Node == nil {\n\t\t\tx.Node = new(Node)\n\t\t}\n\n\t\tx.Node.CodecDecodeSelf(d)\n\t}\n\tyyj7++\n\tif yyhl7 {\n\t\tyyb7 = yyj7 > l\n\t} else {\n\t\tyyb7 = r.CheckBreak()\n\t}\n\tif yyb7 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tif true && x.PrevNode != nil {\n\t\t\tx.PrevNode = nil\n\t\t}\n\t} else {\n\t\tif x.PrevNode == nil {\n\t\t\tx.PrevNode = new(Node)\n\t\t}\n\n\t\tx.PrevNode.CodecDecodeSelf(d)\n\t}\n\tfor {\n\t\tyyj7++\n\t\tif yyhl7 {\n\t\t\tyyb7 = yyj7 > l\n\t\t} else {\n\t\t\tyyb7 = r.CheckBreak()\n\t\t}\n\t\tif yyb7 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj7-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x *Node) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tvar yyq2 = [8]bool{     // should field at this index be written?\n\t\t\t\ttrue,                // Key\n\t\t\t\tx.Dir,               // Dir\n\t\t\t\ttrue,                // Value\n\t\t\t\ttrue,                // Nodes\n\t\t\t\ttrue,                // CreatedIndex\n\t\t\t\ttrue,                // ModifiedIndex\n\t\t\t\tx.Expiration != nil, // Expiration\n\t\t\t\tx.TTL != 0,          // TTL\n\t\t\t}\n\t\t\t_ = yyq2\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(8)\n\t\t\t} else {\n\t\t\t\tvar yynn2 int\n\t\t\t\tfor _, b := range yyq2 {\n\t\t\t\t\tif b {\n\t\t\t\t\t\tyynn2++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tr.WriteMapStart(yynn2)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Key))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `key`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Key))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif yyq2[1] {\n\t\t\t\t\tif false {\n\t\t\t\t\t} else {\n\t\t\t\t\t\tr.EncodeBool(bool(x.Dir))\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(false)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif yyq2[1] {\n\t\t\t\t\tr.WriteMapElemKey()\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `dir`)\n\t\t\t\t\tr.WriteMapElemValue()\n\t\t\t\t\tif false {\n\t\t\t\t\t} else {\n\t\t\t\t\t\tr.EncodeBool(bool(x.Dir))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Value))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `value`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Value))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif x.Nodes == nil {\n\t\t\t\t\tr.EncodeNil()\n\t\t\t\t} else {\n\t\t\t\t\tx.Nodes.CodecEncodeSelf(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `nodes`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif x.Nodes == nil {\n\t\t\t\t\tr.EncodeNil()\n\t\t\t\t} else {\n\t\t\t\t\tx.Nodes.CodecEncodeSelf(e)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.CreatedIndex))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `createdIndex`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.CreatedIndex))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.ModifiedIndex))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `modifiedIndex`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.ModifiedIndex))\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar yyn21 bool\n\t\t\tif x.Expiration == nil {\n\t\t\t\tyyn21 = true\n\t\t\t\tgoto LABEL21\n\t\t\t}\n\t\tLABEL21:\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tif yyn21 {\n\t\t\t\t\tr.WriteArrayElem()\n\t\t\t\t\tr.EncodeNil()\n\t\t\t\t} else {\n\t\t\t\t\tr.WriteArrayElem()\n\t\t\t\t\tif yyq2[6] {\n\t\t\t\t\t\tif x.Expiration == nil {\n\t\t\t\t\t\t\tr.EncodeNil()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tyy22 := *x.Expiration\n\t\t\t\t\t\t\tif false {\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tr.EncodeTime(yy22)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tr.EncodeNil()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif yyq2[6] {\n\t\t\t\t\tr.WriteMapElemKey()\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `expiration`)\n\t\t\t\t\tr.WriteMapElemValue()\n\t\t\t\t\tif yyn21 {\n\t\t\t\t\t\tr.EncodeNil()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif x.Expiration == nil {\n\t\t\t\t\t\t\tr.EncodeNil()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tyy24 := *x.Expiration\n\t\t\t\t\t\t\tif false {\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tr.EncodeTime(yy24)\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\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif yyq2[7] {\n\t\t\t\t\tif false {\n\t\t\t\t\t} else {\n\t\t\t\t\t\tr.EncodeInt(int64(x.TTL))\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeInt(0)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif yyq2[7] {\n\t\t\t\t\tr.WriteMapElemKey()\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `ttl`)\n\t\t\t\t\tr.WriteMapElemValue()\n\t\t\t\t\tif false {\n\t\t\t\t\t} else {\n\t\t\t\t\t\tr.EncodeInt(int64(x.TTL))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *Node) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *Node) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"key\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Key = \"\"\n\t\t\t} else {\n\t\t\t\tx.Key = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"dir\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Dir = false\n\t\t\t} else {\n\t\t\t\tx.Dir = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tcase \"value\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Value = \"\"\n\t\t\t} else {\n\t\t\t\tx.Value = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"nodes\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Nodes = nil\n\t\t\t} else {\n\t\t\t\tx.Nodes.CodecDecodeSelf(d)\n\t\t\t}\n\t\tcase \"createdIndex\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.CreatedIndex = 0\n\t\t\t} else {\n\t\t\t\tx.CreatedIndex = (uint64)(r.DecodeUint64())\n\t\t\t}\n\t\tcase \"modifiedIndex\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.ModifiedIndex = 0\n\t\t\t} else {\n\t\t\t\tx.ModifiedIndex = (uint64)(r.DecodeUint64())\n\t\t\t}\n\t\tcase \"expiration\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tif true && x.Expiration != nil {\n\t\t\t\t\tx.Expiration = nil\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif x.Expiration == nil {\n\t\t\t\t\tx.Expiration = new(time.Time)\n\t\t\t\t}\n\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\t*x.Expiration = r.DecodeTime()\n\t\t\t\t}\n\t\t\t}\n\t\tcase \"ttl\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.TTL = 0\n\t\t\t} else {\n\t\t\t\tx.TTL = (int64)(r.DecodeInt64())\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *Node) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj13 int\n\tvar yyb13 bool\n\tvar yyhl13 bool = l >= 0\n\tyyj13++\n\tif yyhl13 {\n\t\tyyb13 = yyj13 > l\n\t} else {\n\t\tyyb13 = r.CheckBreak()\n\t}\n\tif yyb13 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Key = \"\"\n\t} else {\n\t\tx.Key = (string)(r.DecodeString())\n\t}\n\tyyj13++\n\tif yyhl13 {\n\t\tyyb13 = yyj13 > l\n\t} else {\n\t\tyyb13 = r.CheckBreak()\n\t}\n\tif yyb13 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Dir = false\n\t} else {\n\t\tx.Dir = (bool)(r.DecodeBool())\n\t}\n\tyyj13++\n\tif yyhl13 {\n\t\tyyb13 = yyj13 > l\n\t} else {\n\t\tyyb13 = r.CheckBreak()\n\t}\n\tif yyb13 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Value = \"\"\n\t} else {\n\t\tx.Value = (string)(r.DecodeString())\n\t}\n\tyyj13++\n\tif yyhl13 {\n\t\tyyb13 = yyj13 > l\n\t} else {\n\t\tyyb13 = r.CheckBreak()\n\t}\n\tif yyb13 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Nodes = nil\n\t} else {\n\t\tx.Nodes.CodecDecodeSelf(d)\n\t}\n\tyyj13++\n\tif yyhl13 {\n\t\tyyb13 = yyj13 > l\n\t} else {\n\t\tyyb13 = r.CheckBreak()\n\t}\n\tif yyb13 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.CreatedIndex = 0\n\t} else {\n\t\tx.CreatedIndex = (uint64)(r.DecodeUint64())\n\t}\n\tyyj13++\n\tif yyhl13 {\n\t\tyyb13 = yyj13 > l\n\t} else {\n\t\tyyb13 = r.CheckBreak()\n\t}\n\tif yyb13 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.ModifiedIndex = 0\n\t} else {\n\t\tx.ModifiedIndex = (uint64)(r.DecodeUint64())\n\t}\n\tyyj13++\n\tif yyhl13 {\n\t\tyyb13 = yyj13 > l\n\t} else {\n\t\tyyb13 = r.CheckBreak()\n\t}\n\tif yyb13 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tif true && x.Expiration != nil {\n\t\t\tx.Expiration = nil\n\t\t}\n\t} else {\n\t\tif x.Expiration == nil {\n\t\t\tx.Expiration = new(time.Time)\n\t\t}\n\n\t\tif false {\n\t\t} else {\n\t\t\t*x.Expiration = r.DecodeTime()\n\t\t}\n\t}\n\tyyj13++\n\tif yyhl13 {\n\t\tyyb13 = yyj13 > l\n\t} else {\n\t\tyyb13 = r.CheckBreak()\n\t}\n\tif yyb13 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.TTL = 0\n\t} else {\n\t\tx.TTL = (int64)(r.DecodeInt64())\n\t}\n\tfor {\n\t\tyyj13++\n\t\tif yyhl13 {\n\t\t\tyyb13 = yyj13 > l\n\t\t} else {\n\t\t\tyyb13 = r.CheckBreak()\n\t\t}\n\t\tif yyb13 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj13-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x Nodes) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\th.encNodes((Nodes)(x), e)\n\t\t}\n\t}\n}\n\nfunc (x *Nodes) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\th.decNodes((*Nodes)(x), d)\n\t}\n}\n\nfunc (x *httpKeysAPI) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(0)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(0)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *httpKeysAPI) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *httpKeysAPI) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *httpKeysAPI) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj4 int\n\tvar yyb4 bool\n\tvar yyhl4 bool = l >= 0\n\tfor {\n\t\tyyj4++\n\t\tif yyhl4 {\n\t\t\tyyb4 = yyj4 > l\n\t\t} else {\n\t\t\tyyb4 = r.CheckBreak()\n\t\t}\n\t\tif yyb4 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj4-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x *httpWatcher) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(0)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(0)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *httpWatcher) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *httpWatcher) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *httpWatcher) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj4 int\n\tvar yyb4 bool\n\tvar yyhl4 bool = l >= 0\n\tfor {\n\t\tyyj4++\n\t\tif yyhl4 {\n\t\t\tyyb4 = yyj4 > l\n\t\t} else {\n\t\t\tyyb4 = r.CheckBreak()\n\t\t}\n\t\tif yyb4 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj4-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x *getAction) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(5)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(5)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Prefix))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Prefix`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Prefix))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Key))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Key`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Key))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Recursive))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Recursive`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Recursive))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Sorted))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Sorted`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Sorted))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Quorum))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Quorum`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Quorum))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *getAction) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *getAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"Prefix\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Prefix = \"\"\n\t\t\t} else {\n\t\t\t\tx.Prefix = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"Key\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Key = \"\"\n\t\t\t} else {\n\t\t\t\tx.Key = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"Recursive\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Recursive = false\n\t\t\t} else {\n\t\t\t\tx.Recursive = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tcase \"Sorted\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Sorted = false\n\t\t\t} else {\n\t\t\t\tx.Sorted = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tcase \"Quorum\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Quorum = false\n\t\t\t} else {\n\t\t\t\tx.Quorum = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *getAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj9 int\n\tvar yyb9 bool\n\tvar yyhl9 bool = l >= 0\n\tyyj9++\n\tif yyhl9 {\n\t\tyyb9 = yyj9 > l\n\t} else {\n\t\tyyb9 = r.CheckBreak()\n\t}\n\tif yyb9 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Prefix = \"\"\n\t} else {\n\t\tx.Prefix = (string)(r.DecodeString())\n\t}\n\tyyj9++\n\tif yyhl9 {\n\t\tyyb9 = yyj9 > l\n\t} else {\n\t\tyyb9 = r.CheckBreak()\n\t}\n\tif yyb9 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Key = \"\"\n\t} else {\n\t\tx.Key = (string)(r.DecodeString())\n\t}\n\tyyj9++\n\tif yyhl9 {\n\t\tyyb9 = yyj9 > l\n\t} else {\n\t\tyyb9 = r.CheckBreak()\n\t}\n\tif yyb9 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Recursive = false\n\t} else {\n\t\tx.Recursive = (bool)(r.DecodeBool())\n\t}\n\tyyj9++\n\tif yyhl9 {\n\t\tyyb9 = yyj9 > l\n\t} else {\n\t\tyyb9 = r.CheckBreak()\n\t}\n\tif yyb9 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Sorted = false\n\t} else {\n\t\tx.Sorted = (bool)(r.DecodeBool())\n\t}\n\tyyj9++\n\tif yyhl9 {\n\t\tyyb9 = yyj9 > l\n\t} else {\n\t\tyyb9 = r.CheckBreak()\n\t}\n\tif yyb9 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Quorum = false\n\t} else {\n\t\tx.Quorum = (bool)(r.DecodeBool())\n\t}\n\tfor {\n\t\tyyj9++\n\t\tif yyhl9 {\n\t\t\tyyb9 = yyj9 > l\n\t\t} else {\n\t\t\tyyb9 = r.CheckBreak()\n\t\t}\n\t\tif yyb9 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj9-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x *waitAction) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(4)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(4)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Prefix))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Prefix`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Prefix))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Key))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Key`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Key))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.WaitIndex))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `WaitIndex`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.WaitIndex))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Recursive))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Recursive`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Recursive))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *waitAction) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *waitAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"Prefix\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Prefix = \"\"\n\t\t\t} else {\n\t\t\t\tx.Prefix = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"Key\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Key = \"\"\n\t\t\t} else {\n\t\t\t\tx.Key = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"WaitIndex\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.WaitIndex = 0\n\t\t\t} else {\n\t\t\t\tx.WaitIndex = (uint64)(r.DecodeUint64())\n\t\t\t}\n\t\tcase \"Recursive\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Recursive = false\n\t\t\t} else {\n\t\t\t\tx.Recursive = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *waitAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj8 int\n\tvar yyb8 bool\n\tvar yyhl8 bool = l >= 0\n\tyyj8++\n\tif yyhl8 {\n\t\tyyb8 = yyj8 > l\n\t} else {\n\t\tyyb8 = r.CheckBreak()\n\t}\n\tif yyb8 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Prefix = \"\"\n\t} else {\n\t\tx.Prefix = (string)(r.DecodeString())\n\t}\n\tyyj8++\n\tif yyhl8 {\n\t\tyyb8 = yyj8 > l\n\t} else {\n\t\tyyb8 = r.CheckBreak()\n\t}\n\tif yyb8 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Key = \"\"\n\t} else {\n\t\tx.Key = (string)(r.DecodeString())\n\t}\n\tyyj8++\n\tif yyhl8 {\n\t\tyyb8 = yyj8 > l\n\t} else {\n\t\tyyb8 = r.CheckBreak()\n\t}\n\tif yyb8 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.WaitIndex = 0\n\t} else {\n\t\tx.WaitIndex = (uint64)(r.DecodeUint64())\n\t}\n\tyyj8++\n\tif yyhl8 {\n\t\tyyb8 = yyj8 > l\n\t} else {\n\t\tyyb8 = r.CheckBreak()\n\t}\n\tif yyb8 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Recursive = false\n\t} else {\n\t\tx.Recursive = (bool)(r.DecodeBool())\n\t}\n\tfor {\n\t\tyyj8++\n\t\tif yyhl8 {\n\t\t\tyyb8 = yyj8 > l\n\t\t} else {\n\t\t\tyyb8 = r.CheckBreak()\n\t\t}\n\t\tif yyb8 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj8-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x *setAction) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(10)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(10)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Prefix))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Prefix`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Prefix))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Key))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Key`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Key))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Value))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Value`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Value))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.PrevValue))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `PrevValue`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.PrevValue))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.PrevIndex))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `PrevIndex`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.PrevIndex))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tx.PrevExist.CodecEncodeSelf(e)\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `PrevExist`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tx.PrevExist.CodecEncodeSelf(e)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else if yyxt22 := z.Extension(z.I2Rtid(x.TTL)); yyxt22 != nil {\n\t\t\t\t\tz.EncExtension(x.TTL, yyxt22)\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeInt(int64(x.TTL))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `TTL`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else if yyxt23 := z.Extension(z.I2Rtid(x.TTL)); yyxt23 != nil {\n\t\t\t\t\tz.EncExtension(x.TTL, yyxt23)\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeInt(int64(x.TTL))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Refresh))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Refresh`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Refresh))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Dir))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Dir`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Dir))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.NoValueOnSuccess))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `NoValueOnSuccess`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.NoValueOnSuccess))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *setAction) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *setAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"Prefix\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Prefix = \"\"\n\t\t\t} else {\n\t\t\t\tx.Prefix = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"Key\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Key = \"\"\n\t\t\t} else {\n\t\t\t\tx.Key = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"Value\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Value = \"\"\n\t\t\t} else {\n\t\t\t\tx.Value = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"PrevValue\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.PrevValue = \"\"\n\t\t\t} else {\n\t\t\t\tx.PrevValue = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"PrevIndex\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.PrevIndex = 0\n\t\t\t} else {\n\t\t\t\tx.PrevIndex = (uint64)(r.DecodeUint64())\n\t\t\t}\n\t\tcase \"PrevExist\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.PrevExist = \"\"\n\t\t\t} else {\n\t\t\t\tx.PrevExist.CodecDecodeSelf(d)\n\t\t\t}\n\t\tcase \"TTL\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.TTL = 0\n\t\t\t} else {\n\t\t\t\tif false {\n\t\t\t\t} else if yyxt11 := z.Extension(z.I2Rtid(x.TTL)); yyxt11 != nil {\n\t\t\t\t\tz.DecExtension(x.TTL, yyxt11)\n\t\t\t\t} else {\n\t\t\t\t\tx.TTL = (time.Duration)(r.DecodeInt64())\n\t\t\t\t}\n\t\t\t}\n\t\tcase \"Refresh\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Refresh = false\n\t\t\t} else {\n\t\t\t\tx.Refresh = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tcase \"Dir\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Dir = false\n\t\t\t} else {\n\t\t\t\tx.Dir = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tcase \"NoValueOnSuccess\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.NoValueOnSuccess = false\n\t\t\t} else {\n\t\t\t\tx.NoValueOnSuccess = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *setAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj15 int\n\tvar yyb15 bool\n\tvar yyhl15 bool = l >= 0\n\tyyj15++\n\tif yyhl15 {\n\t\tyyb15 = yyj15 > l\n\t} else {\n\t\tyyb15 = r.CheckBreak()\n\t}\n\tif yyb15 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Prefix = \"\"\n\t} else {\n\t\tx.Prefix = (string)(r.DecodeString())\n\t}\n\tyyj15++\n\tif yyhl15 {\n\t\tyyb15 = yyj15 > l\n\t} else {\n\t\tyyb15 = r.CheckBreak()\n\t}\n\tif yyb15 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Key = \"\"\n\t} else {\n\t\tx.Key = (string)(r.DecodeString())\n\t}\n\tyyj15++\n\tif yyhl15 {\n\t\tyyb15 = yyj15 > l\n\t} else {\n\t\tyyb15 = r.CheckBreak()\n\t}\n\tif yyb15 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Value = \"\"\n\t} else {\n\t\tx.Value = (string)(r.DecodeString())\n\t}\n\tyyj15++\n\tif yyhl15 {\n\t\tyyb15 = yyj15 > l\n\t} else {\n\t\tyyb15 = r.CheckBreak()\n\t}\n\tif yyb15 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.PrevValue = \"\"\n\t} else {\n\t\tx.PrevValue = (string)(r.DecodeString())\n\t}\n\tyyj15++\n\tif yyhl15 {\n\t\tyyb15 = yyj15 > l\n\t} else {\n\t\tyyb15 = r.CheckBreak()\n\t}\n\tif yyb15 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.PrevIndex = 0\n\t} else {\n\t\tx.PrevIndex = (uint64)(r.DecodeUint64())\n\t}\n\tyyj15++\n\tif yyhl15 {\n\t\tyyb15 = yyj15 > l\n\t} else {\n\t\tyyb15 = r.CheckBreak()\n\t}\n\tif yyb15 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.PrevExist = \"\"\n\t} else {\n\t\tx.PrevExist.CodecDecodeSelf(d)\n\t}\n\tyyj15++\n\tif yyhl15 {\n\t\tyyb15 = yyj15 > l\n\t} else {\n\t\tyyb15 = r.CheckBreak()\n\t}\n\tif yyb15 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.TTL = 0\n\t} else {\n\t\tif false {\n\t\t} else if yyxt23 := z.Extension(z.I2Rtid(x.TTL)); yyxt23 != nil {\n\t\t\tz.DecExtension(x.TTL, yyxt23)\n\t\t} else {\n\t\t\tx.TTL = (time.Duration)(r.DecodeInt64())\n\t\t}\n\t}\n\tyyj15++\n\tif yyhl15 {\n\t\tyyb15 = yyj15 > l\n\t} else {\n\t\tyyb15 = r.CheckBreak()\n\t}\n\tif yyb15 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Refresh = false\n\t} else {\n\t\tx.Refresh = (bool)(r.DecodeBool())\n\t}\n\tyyj15++\n\tif yyhl15 {\n\t\tyyb15 = yyj15 > l\n\t} else {\n\t\tyyb15 = r.CheckBreak()\n\t}\n\tif yyb15 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Dir = false\n\t} else {\n\t\tx.Dir = (bool)(r.DecodeBool())\n\t}\n\tyyj15++\n\tif yyhl15 {\n\t\tyyb15 = yyj15 > l\n\t} else {\n\t\tyyb15 = r.CheckBreak()\n\t}\n\tif yyb15 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.NoValueOnSuccess = false\n\t} else {\n\t\tx.NoValueOnSuccess = (bool)(r.DecodeBool())\n\t}\n\tfor {\n\t\tyyj15++\n\t\tif yyhl15 {\n\t\t\tyyb15 = yyj15 > l\n\t\t} else {\n\t\t\tyyb15 = r.CheckBreak()\n\t\t}\n\t\tif yyb15 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj15-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x *deleteAction) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(6)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(6)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Prefix))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Prefix`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Prefix))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Key))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Key`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Key))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.PrevValue))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `PrevValue`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.PrevValue))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.PrevIndex))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `PrevIndex`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeUint(uint64(x.PrevIndex))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Dir))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Dir`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Dir))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Recursive))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Recursive`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeBool(bool(x.Recursive))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *deleteAction) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *deleteAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"Prefix\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Prefix = \"\"\n\t\t\t} else {\n\t\t\t\tx.Prefix = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"Key\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Key = \"\"\n\t\t\t} else {\n\t\t\t\tx.Key = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"PrevValue\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.PrevValue = \"\"\n\t\t\t} else {\n\t\t\t\tx.PrevValue = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"PrevIndex\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.PrevIndex = 0\n\t\t\t} else {\n\t\t\t\tx.PrevIndex = (uint64)(r.DecodeUint64())\n\t\t\t}\n\t\tcase \"Dir\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Dir = false\n\t\t\t} else {\n\t\t\t\tx.Dir = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tcase \"Recursive\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Recursive = false\n\t\t\t} else {\n\t\t\t\tx.Recursive = (bool)(r.DecodeBool())\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *deleteAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj10 int\n\tvar yyb10 bool\n\tvar yyhl10 bool = l >= 0\n\tyyj10++\n\tif yyhl10 {\n\t\tyyb10 = yyj10 > l\n\t} else {\n\t\tyyb10 = r.CheckBreak()\n\t}\n\tif yyb10 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Prefix = \"\"\n\t} else {\n\t\tx.Prefix = (string)(r.DecodeString())\n\t}\n\tyyj10++\n\tif yyhl10 {\n\t\tyyb10 = yyj10 > l\n\t} else {\n\t\tyyb10 = r.CheckBreak()\n\t}\n\tif yyb10 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Key = \"\"\n\t} else {\n\t\tx.Key = (string)(r.DecodeString())\n\t}\n\tyyj10++\n\tif yyhl10 {\n\t\tyyb10 = yyj10 > l\n\t} else {\n\t\tyyb10 = r.CheckBreak()\n\t}\n\tif yyb10 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.PrevValue = \"\"\n\t} else {\n\t\tx.PrevValue = (string)(r.DecodeString())\n\t}\n\tyyj10++\n\tif yyhl10 {\n\t\tyyb10 = yyj10 > l\n\t} else {\n\t\tyyb10 = r.CheckBreak()\n\t}\n\tif yyb10 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.PrevIndex = 0\n\t} else {\n\t\tx.PrevIndex = (uint64)(r.DecodeUint64())\n\t}\n\tyyj10++\n\tif yyhl10 {\n\t\tyyb10 = yyj10 > l\n\t} else {\n\t\tyyb10 = r.CheckBreak()\n\t}\n\tif yyb10 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Dir = false\n\t} else {\n\t\tx.Dir = (bool)(r.DecodeBool())\n\t}\n\tyyj10++\n\tif yyhl10 {\n\t\tyyb10 = yyj10 > l\n\t} else {\n\t\tyyb10 = r.CheckBreak()\n\t}\n\tif yyb10 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Recursive = false\n\t} else {\n\t\tx.Recursive = (bool)(r.DecodeBool())\n\t}\n\tfor {\n\t\tyyj10++\n\t\tif yyhl10 {\n\t\t\tyyb10 = yyj10 > l\n\t\t} else {\n\t\t\tyyb10 = r.CheckBreak()\n\t\t}\n\t\tif yyb10 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj10-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x *createInOrderAction) CodecEncodeSelf(e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tif x == nil {\n\t\tr.EncodeNil()\n\t} else {\n\t\tif false {\n\t\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\t\tz.EncExtension(x, yyxt1)\n\t\t} else {\n\t\t\tyysep2 := !z.EncBinary()\n\t\t\tyy2arr2 := z.EncBasicHandle().StructToArray\n\t\t\t_, _ = yysep2, yy2arr2\n\t\t\tconst yyr2 bool = false // struct tag has 'toArray'\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayStart(4)\n\t\t\t} else {\n\t\t\t\tr.WriteMapStart(4)\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Prefix))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Prefix`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Prefix))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Dir))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Dir`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Dir))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Value))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `Value`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeString(codecSelferCcUTF86628, string(x.Value))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayElem()\n\t\t\t\tif false {\n\t\t\t\t} else if yyxt13 := z.Extension(z.I2Rtid(x.TTL)); yyxt13 != nil {\n\t\t\t\t\tz.EncExtension(x.TTL, yyxt13)\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeInt(int64(x.TTL))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.WriteMapElemKey()\n\t\t\t\tr.EncodeString(codecSelferCcUTF86628, `TTL`)\n\t\t\t\tr.WriteMapElemValue()\n\t\t\t\tif false {\n\t\t\t\t} else if yyxt14 := z.Extension(z.I2Rtid(x.TTL)); yyxt14 != nil {\n\t\t\t\t\tz.EncExtension(x.TTL, yyxt14)\n\t\t\t\t} else {\n\t\t\t\t\tr.EncodeInt(int64(x.TTL))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif yyr2 || yy2arr2 {\n\t\t\t\tr.WriteArrayEnd()\n\t\t\t} else {\n\t\t\t\tr.WriteMapEnd()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (x *createInOrderAction) CodecDecodeSelf(d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tif false {\n\t} else if yyxt1 := z.Extension(z.I2Rtid(x)); yyxt1 != nil {\n\t\tz.DecExtension(x, yyxt1)\n\t} else {\n\t\tyyct2 := r.ContainerType()\n\t\tif yyct2 == codecSelferValueTypeMap6628 {\n\t\t\tyyl2 := r.ReadMapStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadMapEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromMap(yyl2, d)\n\t\t\t}\n\t\t} else if yyct2 == codecSelferValueTypeArray6628 {\n\t\t\tyyl2 := r.ReadArrayStart()\n\t\t\tif yyl2 == 0 {\n\t\t\t\tr.ReadArrayEnd()\n\t\t\t} else {\n\t\t\t\tx.codecDecodeSelfFromArray(yyl2, d)\n\t\t\t}\n\t\t} else {\n\t\t\tpanic(errCodecSelferOnlyMapOrArrayEncodeToStruct6628)\n\t\t}\n\t}\n}\n\nfunc (x *createInOrderAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyhl3 bool = l >= 0\n\tfor yyj3 := 0; ; yyj3++ {\n\t\tif yyhl3 {\n\t\t\tif yyj3 >= l {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif r.CheckBreak() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr.ReadMapElemKey()\n\t\tyys3 := z.StringView(r.DecodeStringAsBytes())\n\t\tr.ReadMapElemValue()\n\t\tswitch yys3 {\n\t\tcase \"Prefix\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Prefix = \"\"\n\t\t\t} else {\n\t\t\t\tx.Prefix = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"Dir\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Dir = \"\"\n\t\t\t} else {\n\t\t\t\tx.Dir = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"Value\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.Value = \"\"\n\t\t\t} else {\n\t\t\t\tx.Value = (string)(r.DecodeString())\n\t\t\t}\n\t\tcase \"TTL\":\n\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\tx.TTL = 0\n\t\t\t} else {\n\t\t\t\tif false {\n\t\t\t\t} else if yyxt8 := z.Extension(z.I2Rtid(x.TTL)); yyxt8 != nil {\n\t\t\t\t\tz.DecExtension(x.TTL, yyxt8)\n\t\t\t\t} else {\n\t\t\t\t\tx.TTL = (time.Duration)(r.DecodeInt64())\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tz.DecStructFieldNotFound(-1, yys3)\n\t\t} // end switch yys3\n\t} // end for yyj3\n\tr.ReadMapEnd()\n}\n\nfunc (x *createInOrderAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\tvar yyj9 int\n\tvar yyb9 bool\n\tvar yyhl9 bool = l >= 0\n\tyyj9++\n\tif yyhl9 {\n\t\tyyb9 = yyj9 > l\n\t} else {\n\t\tyyb9 = r.CheckBreak()\n\t}\n\tif yyb9 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Prefix = \"\"\n\t} else {\n\t\tx.Prefix = (string)(r.DecodeString())\n\t}\n\tyyj9++\n\tif yyhl9 {\n\t\tyyb9 = yyj9 > l\n\t} else {\n\t\tyyb9 = r.CheckBreak()\n\t}\n\tif yyb9 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Dir = \"\"\n\t} else {\n\t\tx.Dir = (string)(r.DecodeString())\n\t}\n\tyyj9++\n\tif yyhl9 {\n\t\tyyb9 = yyj9 > l\n\t} else {\n\t\tyyb9 = r.CheckBreak()\n\t}\n\tif yyb9 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.Value = \"\"\n\t} else {\n\t\tx.Value = (string)(r.DecodeString())\n\t}\n\tyyj9++\n\tif yyhl9 {\n\t\tyyb9 = yyj9 > l\n\t} else {\n\t\tyyb9 = r.CheckBreak()\n\t}\n\tif yyb9 {\n\t\tr.ReadArrayEnd()\n\t\treturn\n\t}\n\tr.ReadArrayElem()\n\tif r.TryDecodeAsNil() {\n\t\tx.TTL = 0\n\t} else {\n\t\tif false {\n\t\t} else if yyxt14 := z.Extension(z.I2Rtid(x.TTL)); yyxt14 != nil {\n\t\t\tz.DecExtension(x.TTL, yyxt14)\n\t\t} else {\n\t\t\tx.TTL = (time.Duration)(r.DecodeInt64())\n\t\t}\n\t}\n\tfor {\n\t\tyyj9++\n\t\tif yyhl9 {\n\t\t\tyyb9 = yyj9 > l\n\t\t} else {\n\t\t\tyyb9 = r.CheckBreak()\n\t\t}\n\t\tif yyb9 {\n\t\t\tbreak\n\t\t}\n\t\tr.ReadArrayElem()\n\t\tz.DecStructFieldNotFound(yyj9-1, \"\")\n\t}\n\tr.ReadArrayEnd()\n}\n\nfunc (x codecSelfer6628) encNodes(v Nodes, e *codec1978.Encoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperEncoder(e)\n\t_, _, _ = h, z, r\n\tr.WriteArrayStart(len(v))\n\tfor _, yyv1 := range v {\n\t\tr.WriteArrayElem()\n\t\tif yyv1 == nil {\n\t\t\tr.EncodeNil()\n\t\t} else {\n\t\t\tyyv1.CodecEncodeSelf(e)\n\t\t}\n\t}\n\tr.WriteArrayEnd()\n}\n\nfunc (x codecSelfer6628) decNodes(v *Nodes, d *codec1978.Decoder) {\n\tvar h codecSelfer6628\n\tz, r := codec1978.GenHelperDecoder(d)\n\t_, _, _ = h, z, r\n\n\tyyv1 := *v\n\tyyh1, yyl1 := z.DecSliceHelperStart()\n\tvar yyc1 bool\n\t_ = yyc1\n\tif yyl1 == 0 {\n\t\tif yyv1 == nil {\n\t\t\tyyv1 = []*Node{}\n\t\t\tyyc1 = true\n\t\t} else if len(yyv1) != 0 {\n\t\t\tyyv1 = yyv1[:0]\n\t\t\tyyc1 = true\n\t\t}\n\t} else {\n\t\tyyhl1 := yyl1 > 0\n\t\tvar yyrl1 int\n\t\t_ = yyrl1\n\t\tif yyhl1 {\n\t\t\tif yyl1 > cap(yyv1) {\n\t\t\t\tyyrl1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 8)\n\t\t\t\tif yyrl1 <= cap(yyv1) {\n\t\t\t\t\tyyv1 = yyv1[:yyrl1]\n\t\t\t\t} else {\n\t\t\t\t\tyyv1 = make([]*Node, yyrl1)\n\t\t\t\t}\n\t\t\t\tyyc1 = true\n\t\t\t} else if yyl1 != len(yyv1) {\n\t\t\t\tyyv1 = yyv1[:yyl1]\n\t\t\t\tyyc1 = true\n\t\t\t}\n\t\t}\n\t\tvar yyj1 int\n\t\t// var yydn1 bool\n\t\tfor ; (yyhl1 && yyj1 < yyl1) || !(yyhl1 || r.CheckBreak()); yyj1++ {\n\t\t\tif yyj1 == 0 && yyv1 == nil {\n\t\t\t\tif yyhl1 {\n\t\t\t\t\tyyrl1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 8)\n\t\t\t\t} else {\n\t\t\t\t\tyyrl1 = 8\n\t\t\t\t}\n\t\t\t\tyyv1 = make([]*Node, yyrl1)\n\t\t\t\tyyc1 = true\n\t\t\t}\n\t\t\tyyh1.ElemContainerState(yyj1)\n\n\t\t\tvar yydb1 bool\n\t\t\tif yyj1 >= len(yyv1) {\n\t\t\t\tyyv1 = append(yyv1, nil)\n\t\t\t\tyyc1 = true\n\n\t\t\t}\n\t\t\tif yydb1 {\n\t\t\t\tz.DecSwallow()\n\t\t\t} else {\n\t\t\t\tif r.TryDecodeAsNil() {\n\t\t\t\t\tyyv1[yyj1] = nil\n\t\t\t\t} else {\n\t\t\t\t\tif yyv1[yyj1] == nil {\n\t\t\t\t\t\tyyv1[yyj1] = new(Node)\n\t\t\t\t\t}\n\t\t\t\t\tyyv1[yyj1].CodecDecodeSelf(d)\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\t\tif yyj1 < len(yyv1) {\n\t\t\tyyv1 = yyv1[:yyj1]\n\t\t\tyyc1 = true\n\t\t} else if yyj1 == 0 && yyv1 == nil {\n\t\t\tyyv1 = make([]*Node, 0)\n\t\t\tyyc1 = true\n\t\t}\n\t}\n\tyyh1.End()\n\tif yyc1 {\n\t\t*v = yyv1\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/client/keys.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage client\n\n//go:generate codecgen -d 1819 -r \"Node|Response|Nodes\" -o keys.generated.go keys.go\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/pkg/pathutil\"\n\t\"github.com/ugorji/go/codec\"\n)\n\nconst (\n\tErrorCodeKeyNotFound  = 100\n\tErrorCodeTestFailed   = 101\n\tErrorCodeNotFile      = 102\n\tErrorCodeNotDir       = 104\n\tErrorCodeNodeExist    = 105\n\tErrorCodeRootROnly    = 107\n\tErrorCodeDirNotEmpty  = 108\n\tErrorCodeUnauthorized = 110\n\n\tErrorCodePrevValueRequired = 201\n\tErrorCodeTTLNaN            = 202\n\tErrorCodeIndexNaN          = 203\n\tErrorCodeInvalidField      = 209\n\tErrorCodeInvalidForm       = 210\n\n\tErrorCodeRaftInternal = 300\n\tErrorCodeLeaderElect  = 301\n\n\tErrorCodeWatcherCleared    = 400\n\tErrorCodeEventIndexCleared = 401\n)\n\ntype Error struct {\n\tCode    int    `json:\"errorCode\"`\n\tMessage string `json:\"message\"`\n\tCause   string `json:\"cause\"`\n\tIndex   uint64 `json:\"index\"`\n}\n\nfunc (e Error) Error() string {\n\treturn fmt.Sprintf(\"%v: %v (%v) [%v]\", e.Code, e.Message, e.Cause, e.Index)\n}\n\nvar (\n\tErrInvalidJSON = errors.New(\"client: response is invalid json. The endpoint is probably not valid etcd cluster endpoint.\")\n\tErrEmptyBody   = errors.New(\"client: response body is empty\")\n)\n\n// PrevExistType is used to define an existence condition when setting\n// or deleting Nodes.\ntype PrevExistType string\n\nconst (\n\tPrevIgnore  = PrevExistType(\"\")\n\tPrevExist   = PrevExistType(\"true\")\n\tPrevNoExist = PrevExistType(\"false\")\n)\n\nvar (\n\tdefaultV2KeysPrefix = \"/v2/keys\"\n)\n\n// NewKeysAPI builds a KeysAPI that interacts with etcd's key-value\n// API over HTTP.\nfunc NewKeysAPI(c Client) KeysAPI {\n\treturn NewKeysAPIWithPrefix(c, defaultV2KeysPrefix)\n}\n\n// NewKeysAPIWithPrefix acts like NewKeysAPI, but allows the caller\n// to provide a custom base URL path. This should only be used in\n// very rare cases.\nfunc NewKeysAPIWithPrefix(c Client, p string) KeysAPI {\n\treturn &httpKeysAPI{\n\t\tclient: c,\n\t\tprefix: p,\n\t}\n}\n\ntype KeysAPI interface {\n\t// Get retrieves a set of Nodes from etcd\n\tGet(ctx context.Context, key string, opts *GetOptions) (*Response, error)\n\n\t// Set assigns a new value to a Node identified by a given key. The caller\n\t// may define a set of conditions in the SetOptions. If SetOptions.Dir=true\n\t// then value is ignored.\n\tSet(ctx context.Context, key, value string, opts *SetOptions) (*Response, error)\n\n\t// Delete removes a Node identified by the given key, optionally destroying\n\t// all of its children as well. The caller may define a set of required\n\t// conditions in an DeleteOptions object.\n\tDelete(ctx context.Context, key string, opts *DeleteOptions) (*Response, error)\n\n\t// Create is an alias for Set w/ PrevExist=false\n\tCreate(ctx context.Context, key, value string) (*Response, error)\n\n\t// CreateInOrder is used to atomically create in-order keys within the given directory.\n\tCreateInOrder(ctx context.Context, dir, value string, opts *CreateInOrderOptions) (*Response, error)\n\n\t// Update is an alias for Set w/ PrevExist=true\n\tUpdate(ctx context.Context, key, value string) (*Response, error)\n\n\t// Watcher builds a new Watcher targeted at a specific Node identified\n\t// by the given key. The Watcher may be configured at creation time\n\t// through a WatcherOptions object. The returned Watcher is designed\n\t// to emit events that happen to a Node, and optionally to its children.\n\tWatcher(key string, opts *WatcherOptions) Watcher\n}\n\ntype WatcherOptions struct {\n\t// AfterIndex defines the index after-which the Watcher should\n\t// start emitting events. For example, if a value of 5 is\n\t// provided, the first event will have an index >= 6.\n\t//\n\t// Setting AfterIndex to 0 (default) means that the Watcher\n\t// should start watching for events starting at the current\n\t// index, whatever that may be.\n\tAfterIndex uint64\n\n\t// Recursive specifies whether or not the Watcher should emit\n\t// events that occur in children of the given keyspace. If set\n\t// to false (default), events will be limited to those that\n\t// occur for the exact key.\n\tRecursive bool\n}\n\ntype CreateInOrderOptions struct {\n\t// TTL defines a period of time after-which the Node should\n\t// expire and no longer exist. Values <= 0 are ignored. Given\n\t// that the zero-value is ignored, TTL cannot be used to set\n\t// a TTL of 0.\n\tTTL time.Duration\n}\n\ntype SetOptions struct {\n\t// PrevValue specifies what the current value of the Node must\n\t// be in order for the Set operation to succeed.\n\t//\n\t// Leaving this field empty means that the caller wishes to\n\t// ignore the current value of the Node. This cannot be used\n\t// to compare the Node's current value to an empty string.\n\t//\n\t// PrevValue is ignored if Dir=true\n\tPrevValue string\n\n\t// PrevIndex indicates what the current ModifiedIndex of the\n\t// Node must be in order for the Set operation to succeed.\n\t//\n\t// If PrevIndex is set to 0 (default), no comparison is made.\n\tPrevIndex uint64\n\n\t// PrevExist specifies whether the Node must currently exist\n\t// (PrevExist) or not (PrevNoExist). If the caller does not\n\t// care about existence, set PrevExist to PrevIgnore, or simply\n\t// leave it unset.\n\tPrevExist PrevExistType\n\n\t// TTL defines a period of time after-which the Node should\n\t// expire and no longer exist. Values <= 0 are ignored. Given\n\t// that the zero-value is ignored, TTL cannot be used to set\n\t// a TTL of 0.\n\tTTL time.Duration\n\n\t// Refresh set to true means a TTL value can be updated\n\t// without firing a watch or changing the node value. A\n\t// value must not be provided when refreshing a key.\n\tRefresh bool\n\n\t// Dir specifies whether or not this Node should be created as a directory.\n\tDir bool\n\n\t// NoValueOnSuccess specifies whether the response contains the current value of the Node.\n\t// If set, the response will only contain the current value when the request fails.\n\tNoValueOnSuccess bool\n}\n\ntype GetOptions struct {\n\t// Recursive defines whether or not all children of the Node\n\t// should be returned.\n\tRecursive bool\n\n\t// Sort instructs the server whether or not to sort the Nodes.\n\t// If true, the Nodes are sorted alphabetically by key in\n\t// ascending order (A to z). If false (default), the Nodes will\n\t// not be sorted and the ordering used should not be considered\n\t// predictable.\n\tSort bool\n\n\t// Quorum specifies whether it gets the latest committed value that\n\t// has been applied in quorum of members, which ensures external\n\t// consistency (or linearizability).\n\tQuorum bool\n}\n\ntype DeleteOptions struct {\n\t// PrevValue specifies what the current value of the Node must\n\t// be in order for the Delete operation to succeed.\n\t//\n\t// Leaving this field empty means that the caller wishes to\n\t// ignore the current value of the Node. This cannot be used\n\t// to compare the Node's current value to an empty string.\n\tPrevValue string\n\n\t// PrevIndex indicates what the current ModifiedIndex of the\n\t// Node must be in order for the Delete operation to succeed.\n\t//\n\t// If PrevIndex is set to 0 (default), no comparison is made.\n\tPrevIndex uint64\n\n\t// Recursive defines whether or not all children of the Node\n\t// should be deleted. If set to true, all children of the Node\n\t// identified by the given key will be deleted. If left unset\n\t// or explicitly set to false, only a single Node will be\n\t// deleted.\n\tRecursive bool\n\n\t// Dir specifies whether or not this Node should be removed as a directory.\n\tDir bool\n}\n\ntype Watcher interface {\n\t// Next blocks until an etcd event occurs, then returns a Response\n\t// representing that event. The behavior of Next depends on the\n\t// WatcherOptions used to construct the Watcher. Next is designed to\n\t// be called repeatedly, each time blocking until a subsequent event\n\t// is available.\n\t//\n\t// If the provided context is cancelled, Next will return a non-nil\n\t// error. Any other failures encountered while waiting for the next\n\t// event (connection issues, deserialization failures, etc) will\n\t// also result in a non-nil error.\n\tNext(context.Context) (*Response, error)\n}\n\ntype Response struct {\n\t// Action is the name of the operation that occurred. Possible values\n\t// include get, set, delete, update, create, compareAndSwap,\n\t// compareAndDelete and expire.\n\tAction string `json:\"action\"`\n\n\t// Node represents the state of the relevant etcd Node.\n\tNode *Node `json:\"node\"`\n\n\t// PrevNode represents the previous state of the Node. PrevNode is non-nil\n\t// only if the Node existed before the action occurred and the action\n\t// caused a change to the Node.\n\tPrevNode *Node `json:\"prevNode\"`\n\n\t// Index holds the cluster-level index at the time the Response was generated.\n\t// This index is not tied to the Node(s) contained in this Response.\n\tIndex uint64 `json:\"-\"`\n\n\t// ClusterID holds the cluster-level ID reported by the server.  This\n\t// should be different for different etcd clusters.\n\tClusterID string `json:\"-\"`\n}\n\ntype Node struct {\n\t// Key represents the unique location of this Node (e.g. \"/foo/bar\").\n\tKey string `json:\"key\"`\n\n\t// Dir reports whether node describes a directory.\n\tDir bool `json:\"dir,omitempty\"`\n\n\t// Value is the current data stored on this Node. If this Node\n\t// is a directory, Value will be empty.\n\tValue string `json:\"value\"`\n\n\t// Nodes holds the children of this Node, only if this Node is a directory.\n\t// This slice of will be arbitrarily deep (children, grandchildren, great-\n\t// grandchildren, etc.) if a recursive Get or Watch request were made.\n\tNodes Nodes `json:\"nodes\"`\n\n\t// CreatedIndex is the etcd index at-which this Node was created.\n\tCreatedIndex uint64 `json:\"createdIndex\"`\n\n\t// ModifiedIndex is the etcd index at-which this Node was last modified.\n\tModifiedIndex uint64 `json:\"modifiedIndex\"`\n\n\t// Expiration is the server side expiration time of the key.\n\tExpiration *time.Time `json:\"expiration,omitempty\"`\n\n\t// TTL is the time to live of the key in second.\n\tTTL int64 `json:\"ttl,omitempty\"`\n}\n\nfunc (n *Node) String() string {\n\treturn fmt.Sprintf(\"{Key: %s, CreatedIndex: %d, ModifiedIndex: %d, TTL: %d}\", n.Key, n.CreatedIndex, n.ModifiedIndex, n.TTL)\n}\n\n// TTLDuration returns the Node's TTL as a time.Duration object\nfunc (n *Node) TTLDuration() time.Duration {\n\treturn time.Duration(n.TTL) * time.Second\n}\n\ntype Nodes []*Node\n\n// interfaces for sorting\n\nfunc (ns Nodes) Len() int           { return len(ns) }\nfunc (ns Nodes) Less(i, j int) bool { return ns[i].Key < ns[j].Key }\nfunc (ns Nodes) Swap(i, j int)      { ns[i], ns[j] = ns[j], ns[i] }\n\ntype httpKeysAPI struct {\n\tclient httpClient\n\tprefix string\n}\n\nfunc (k *httpKeysAPI) Set(ctx context.Context, key, val string, opts *SetOptions) (*Response, error) {\n\tact := &setAction{\n\t\tPrefix: k.prefix,\n\t\tKey:    key,\n\t\tValue:  val,\n\t}\n\n\tif opts != nil {\n\t\tact.PrevValue = opts.PrevValue\n\t\tact.PrevIndex = opts.PrevIndex\n\t\tact.PrevExist = opts.PrevExist\n\t\tact.TTL = opts.TTL\n\t\tact.Refresh = opts.Refresh\n\t\tact.Dir = opts.Dir\n\t\tact.NoValueOnSuccess = opts.NoValueOnSuccess\n\t}\n\n\tdoCtx := ctx\n\tif act.PrevExist == PrevNoExist {\n\t\tdoCtx = context.WithValue(doCtx, &oneShotCtxValue, &oneShotCtxValue)\n\t}\n\tresp, body, err := k.client.Do(doCtx, act)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn unmarshalHTTPResponse(resp.StatusCode, resp.Header, body)\n}\n\nfunc (k *httpKeysAPI) Create(ctx context.Context, key, val string) (*Response, error) {\n\treturn k.Set(ctx, key, val, &SetOptions{PrevExist: PrevNoExist})\n}\n\nfunc (k *httpKeysAPI) CreateInOrder(ctx context.Context, dir, val string, opts *CreateInOrderOptions) (*Response, error) {\n\tact := &createInOrderAction{\n\t\tPrefix: k.prefix,\n\t\tDir:    dir,\n\t\tValue:  val,\n\t}\n\n\tif opts != nil {\n\t\tact.TTL = opts.TTL\n\t}\n\n\tresp, body, err := k.client.Do(ctx, act)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn unmarshalHTTPResponse(resp.StatusCode, resp.Header, body)\n}\n\nfunc (k *httpKeysAPI) Update(ctx context.Context, key, val string) (*Response, error) {\n\treturn k.Set(ctx, key, val, &SetOptions{PrevExist: PrevExist})\n}\n\nfunc (k *httpKeysAPI) Delete(ctx context.Context, key string, opts *DeleteOptions) (*Response, error) {\n\tact := &deleteAction{\n\t\tPrefix: k.prefix,\n\t\tKey:    key,\n\t}\n\n\tif opts != nil {\n\t\tact.PrevValue = opts.PrevValue\n\t\tact.PrevIndex = opts.PrevIndex\n\t\tact.Dir = opts.Dir\n\t\tact.Recursive = opts.Recursive\n\t}\n\n\tdoCtx := context.WithValue(ctx, &oneShotCtxValue, &oneShotCtxValue)\n\tresp, body, err := k.client.Do(doCtx, act)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn unmarshalHTTPResponse(resp.StatusCode, resp.Header, body)\n}\n\nfunc (k *httpKeysAPI) Get(ctx context.Context, key string, opts *GetOptions) (*Response, error) {\n\tact := &getAction{\n\t\tPrefix: k.prefix,\n\t\tKey:    key,\n\t}\n\n\tif opts != nil {\n\t\tact.Recursive = opts.Recursive\n\t\tact.Sorted = opts.Sort\n\t\tact.Quorum = opts.Quorum\n\t}\n\n\tresp, body, err := k.client.Do(ctx, act)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn unmarshalHTTPResponse(resp.StatusCode, resp.Header, body)\n}\n\nfunc (k *httpKeysAPI) Watcher(key string, opts *WatcherOptions) Watcher {\n\tact := waitAction{\n\t\tPrefix: k.prefix,\n\t\tKey:    key,\n\t}\n\n\tif opts != nil {\n\t\tact.Recursive = opts.Recursive\n\t\tif opts.AfterIndex > 0 {\n\t\t\tact.WaitIndex = opts.AfterIndex + 1\n\t\t}\n\t}\n\n\treturn &httpWatcher{\n\t\tclient:   k.client,\n\t\tnextWait: act,\n\t}\n}\n\ntype httpWatcher struct {\n\tclient   httpClient\n\tnextWait waitAction\n}\n\nfunc (hw *httpWatcher) Next(ctx context.Context) (*Response, error) {\n\tfor {\n\t\thttpresp, body, err := hw.client.Do(ctx, &hw.nextWait)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tresp, err := unmarshalHTTPResponse(httpresp.StatusCode, httpresp.Header, body)\n\t\tif err != nil {\n\t\t\tif err == ErrEmptyBody {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\treturn nil, err\n\t\t}\n\n\t\thw.nextWait.WaitIndex = resp.Node.ModifiedIndex + 1\n\t\treturn resp, nil\n\t}\n}\n\n// v2KeysURL forms a URL representing the location of a key.\n// The endpoint argument represents the base URL of an etcd\n// server. The prefix is the path needed to route from the\n// provided endpoint's path to the root of the keys API\n// (typically \"/v2/keys\").\nfunc v2KeysURL(ep url.URL, prefix, key string) *url.URL {\n\t// We concatenate all parts together manually. We cannot use\n\t// path.Join because it does not reserve trailing slash.\n\t// We call CanonicalURLPath to further cleanup the path.\n\tif prefix != \"\" && prefix[0] != '/' {\n\t\tprefix = \"/\" + prefix\n\t}\n\tif key != \"\" && key[0] != '/' {\n\t\tkey = \"/\" + key\n\t}\n\tep.Path = pathutil.CanonicalURLPath(ep.Path + prefix + key)\n\treturn &ep\n}\n\ntype getAction struct {\n\tPrefix    string\n\tKey       string\n\tRecursive bool\n\tSorted    bool\n\tQuorum    bool\n}\n\nfunc (g *getAction) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2KeysURL(ep, g.Prefix, g.Key)\n\n\tparams := u.Query()\n\tparams.Set(\"recursive\", strconv.FormatBool(g.Recursive))\n\tparams.Set(\"sorted\", strconv.FormatBool(g.Sorted))\n\tparams.Set(\"quorum\", strconv.FormatBool(g.Quorum))\n\tu.RawQuery = params.Encode()\n\n\treq, _ := http.NewRequest(\"GET\", u.String(), nil)\n\treturn req\n}\n\ntype waitAction struct {\n\tPrefix    string\n\tKey       string\n\tWaitIndex uint64\n\tRecursive bool\n}\n\nfunc (w *waitAction) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2KeysURL(ep, w.Prefix, w.Key)\n\n\tparams := u.Query()\n\tparams.Set(\"wait\", \"true\")\n\tparams.Set(\"waitIndex\", strconv.FormatUint(w.WaitIndex, 10))\n\tparams.Set(\"recursive\", strconv.FormatBool(w.Recursive))\n\tu.RawQuery = params.Encode()\n\n\treq, _ := http.NewRequest(\"GET\", u.String(), nil)\n\treturn req\n}\n\ntype setAction struct {\n\tPrefix           string\n\tKey              string\n\tValue            string\n\tPrevValue        string\n\tPrevIndex        uint64\n\tPrevExist        PrevExistType\n\tTTL              time.Duration\n\tRefresh          bool\n\tDir              bool\n\tNoValueOnSuccess bool\n}\n\nfunc (a *setAction) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2KeysURL(ep, a.Prefix, a.Key)\n\n\tparams := u.Query()\n\tform := url.Values{}\n\n\t// we're either creating a directory or setting a key\n\tif a.Dir {\n\t\tparams.Set(\"dir\", strconv.FormatBool(a.Dir))\n\t} else {\n\t\t// These options are only valid for setting a key\n\t\tif a.PrevValue != \"\" {\n\t\t\tparams.Set(\"prevValue\", a.PrevValue)\n\t\t}\n\t\tform.Add(\"value\", a.Value)\n\t}\n\n\t// Options which apply to both setting a key and creating a dir\n\tif a.PrevIndex != 0 {\n\t\tparams.Set(\"prevIndex\", strconv.FormatUint(a.PrevIndex, 10))\n\t}\n\tif a.PrevExist != PrevIgnore {\n\t\tparams.Set(\"prevExist\", string(a.PrevExist))\n\t}\n\tif a.TTL > 0 {\n\t\tform.Add(\"ttl\", strconv.FormatUint(uint64(a.TTL.Seconds()), 10))\n\t}\n\n\tif a.Refresh {\n\t\tform.Add(\"refresh\", \"true\")\n\t}\n\tif a.NoValueOnSuccess {\n\t\tparams.Set(\"noValueOnSuccess\", strconv.FormatBool(a.NoValueOnSuccess))\n\t}\n\n\tu.RawQuery = params.Encode()\n\tbody := strings.NewReader(form.Encode())\n\n\treq, _ := http.NewRequest(\"PUT\", u.String(), body)\n\treq.Header.Set(\"Content-Type\", \"application/x-www-form-urlencoded\")\n\n\treturn req\n}\n\ntype deleteAction struct {\n\tPrefix    string\n\tKey       string\n\tPrevValue string\n\tPrevIndex uint64\n\tDir       bool\n\tRecursive bool\n}\n\nfunc (a *deleteAction) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2KeysURL(ep, a.Prefix, a.Key)\n\n\tparams := u.Query()\n\tif a.PrevValue != \"\" {\n\t\tparams.Set(\"prevValue\", a.PrevValue)\n\t}\n\tif a.PrevIndex != 0 {\n\t\tparams.Set(\"prevIndex\", strconv.FormatUint(a.PrevIndex, 10))\n\t}\n\tif a.Dir {\n\t\tparams.Set(\"dir\", \"true\")\n\t}\n\tif a.Recursive {\n\t\tparams.Set(\"recursive\", \"true\")\n\t}\n\tu.RawQuery = params.Encode()\n\n\treq, _ := http.NewRequest(\"DELETE\", u.String(), nil)\n\treq.Header.Set(\"Content-Type\", \"application/x-www-form-urlencoded\")\n\n\treturn req\n}\n\ntype createInOrderAction struct {\n\tPrefix string\n\tDir    string\n\tValue  string\n\tTTL    time.Duration\n}\n\nfunc (a *createInOrderAction) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2KeysURL(ep, a.Prefix, a.Dir)\n\n\tform := url.Values{}\n\tform.Add(\"value\", a.Value)\n\tif a.TTL > 0 {\n\t\tform.Add(\"ttl\", strconv.FormatUint(uint64(a.TTL.Seconds()), 10))\n\t}\n\tbody := strings.NewReader(form.Encode())\n\n\treq, _ := http.NewRequest(\"POST\", u.String(), body)\n\treq.Header.Set(\"Content-Type\", \"application/x-www-form-urlencoded\")\n\treturn req\n}\n\nfunc unmarshalHTTPResponse(code int, header http.Header, body []byte) (res *Response, err error) {\n\tswitch code {\n\tcase http.StatusOK, http.StatusCreated:\n\t\tif len(body) == 0 {\n\t\t\treturn nil, ErrEmptyBody\n\t\t}\n\t\tres, err = unmarshalSuccessfulKeysResponse(header, body)\n\tdefault:\n\t\terr = unmarshalFailedKeysResponse(body)\n\t}\n\treturn res, err\n}\n\nfunc unmarshalSuccessfulKeysResponse(header http.Header, body []byte) (*Response, error) {\n\tvar res Response\n\terr := codec.NewDecoderBytes(body, new(codec.JsonHandle)).Decode(&res)\n\tif err != nil {\n\t\treturn nil, ErrInvalidJSON\n\t}\n\tif header.Get(\"X-Etcd-Index\") != \"\" {\n\t\tres.Index, err = strconv.ParseUint(header.Get(\"X-Etcd-Index\"), 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tres.ClusterID = header.Get(\"X-Etcd-Cluster-ID\")\n\treturn &res, nil\n}\n\nfunc unmarshalFailedKeysResponse(body []byte) error {\n\tvar etcdErr Error\n\tif err := json.Unmarshal(body, &etcdErr); err != nil {\n\t\treturn ErrInvalidJSON\n\t}\n\treturn etcdErr\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/client/members.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage client\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"path\"\n\n\t\"github.com/coreos/etcd/pkg/types\"\n)\n\nvar (\n\tdefaultV2MembersPrefix = \"/v2/members\"\n\tdefaultLeaderSuffix    = \"/leader\"\n)\n\ntype Member struct {\n\t// ID is the unique identifier of this Member.\n\tID string `json:\"id\"`\n\n\t// Name is a human-readable, non-unique identifier of this Member.\n\tName string `json:\"name\"`\n\n\t// PeerURLs represents the HTTP(S) endpoints this Member uses to\n\t// participate in etcd's consensus protocol.\n\tPeerURLs []string `json:\"peerURLs\"`\n\n\t// ClientURLs represents the HTTP(S) endpoints on which this Member\n\t// serves its client-facing APIs.\n\tClientURLs []string `json:\"clientURLs\"`\n}\n\ntype memberCollection []Member\n\nfunc (c *memberCollection) UnmarshalJSON(data []byte) error {\n\td := struct {\n\t\tMembers []Member\n\t}{}\n\n\tif err := json.Unmarshal(data, &d); err != nil {\n\t\treturn err\n\t}\n\n\tif d.Members == nil {\n\t\t*c = make([]Member, 0)\n\t\treturn nil\n\t}\n\n\t*c = d.Members\n\treturn nil\n}\n\ntype memberCreateOrUpdateRequest struct {\n\tPeerURLs types.URLs\n}\n\nfunc (m *memberCreateOrUpdateRequest) MarshalJSON() ([]byte, error) {\n\ts := struct {\n\t\tPeerURLs []string `json:\"peerURLs\"`\n\t}{\n\t\tPeerURLs: make([]string, len(m.PeerURLs)),\n\t}\n\n\tfor i, u := range m.PeerURLs {\n\t\ts.PeerURLs[i] = u.String()\n\t}\n\n\treturn json.Marshal(&s)\n}\n\n// NewMembersAPI constructs a new MembersAPI that uses HTTP to\n// interact with etcd's membership API.\nfunc NewMembersAPI(c Client) MembersAPI {\n\treturn &httpMembersAPI{\n\t\tclient: c,\n\t}\n}\n\ntype MembersAPI interface {\n\t// List enumerates the current cluster membership.\n\tList(ctx context.Context) ([]Member, error)\n\n\t// Add instructs etcd to accept a new Member into the cluster.\n\tAdd(ctx context.Context, peerURL string) (*Member, error)\n\n\t// Remove demotes an existing Member out of the cluster.\n\tRemove(ctx context.Context, mID string) error\n\n\t// Update instructs etcd to update an existing Member in the cluster.\n\tUpdate(ctx context.Context, mID string, peerURLs []string) error\n\n\t// Leader gets current leader of the cluster\n\tLeader(ctx context.Context) (*Member, error)\n}\n\ntype httpMembersAPI struct {\n\tclient httpClient\n}\n\nfunc (m *httpMembersAPI) List(ctx context.Context) ([]Member, error) {\n\treq := &membersAPIActionList{}\n\tresp, body, err := m.client.Do(ctx, req)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif err := assertStatusCode(resp.StatusCode, http.StatusOK); err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar mCollection memberCollection\n\tif err := json.Unmarshal(body, &mCollection); err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn []Member(mCollection), nil\n}\n\nfunc (m *httpMembersAPI) Add(ctx context.Context, peerURL string) (*Member, error) {\n\turls, err := types.NewURLs([]string{peerURL})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treq := &membersAPIActionAdd{peerURLs: urls}\n\tresp, body, err := m.client.Do(ctx, req)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif err := assertStatusCode(resp.StatusCode, http.StatusCreated, http.StatusConflict); err != nil {\n\t\treturn nil, err\n\t}\n\n\tif resp.StatusCode != http.StatusCreated {\n\t\tvar merr membersError\n\t\tif err := json.Unmarshal(body, &merr); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treturn nil, merr\n\t}\n\n\tvar memb Member\n\tif err := json.Unmarshal(body, &memb); err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn &memb, nil\n}\n\nfunc (m *httpMembersAPI) Update(ctx context.Context, memberID string, peerURLs []string) error {\n\turls, err := types.NewURLs(peerURLs)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treq := &membersAPIActionUpdate{peerURLs: urls, memberID: memberID}\n\tresp, body, err := m.client.Do(ctx, req)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif err := assertStatusCode(resp.StatusCode, http.StatusNoContent, http.StatusNotFound, http.StatusConflict); err != nil {\n\t\treturn err\n\t}\n\n\tif resp.StatusCode != http.StatusNoContent {\n\t\tvar merr membersError\n\t\tif err := json.Unmarshal(body, &merr); err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn merr\n\t}\n\n\treturn nil\n}\n\nfunc (m *httpMembersAPI) Remove(ctx context.Context, memberID string) error {\n\treq := &membersAPIActionRemove{memberID: memberID}\n\tresp, _, err := m.client.Do(ctx, req)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn assertStatusCode(resp.StatusCode, http.StatusNoContent, http.StatusGone)\n}\n\nfunc (m *httpMembersAPI) Leader(ctx context.Context) (*Member, error) {\n\treq := &membersAPIActionLeader{}\n\tresp, body, err := m.client.Do(ctx, req)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif err := assertStatusCode(resp.StatusCode, http.StatusOK); err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar leader Member\n\tif err := json.Unmarshal(body, &leader); err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn &leader, nil\n}\n\ntype membersAPIActionList struct{}\n\nfunc (l *membersAPIActionList) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2MembersURL(ep)\n\treq, _ := http.NewRequest(\"GET\", u.String(), nil)\n\treturn req\n}\n\ntype membersAPIActionRemove struct {\n\tmemberID string\n}\n\nfunc (d *membersAPIActionRemove) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2MembersURL(ep)\n\tu.Path = path.Join(u.Path, d.memberID)\n\treq, _ := http.NewRequest(\"DELETE\", u.String(), nil)\n\treturn req\n}\n\ntype membersAPIActionAdd struct {\n\tpeerURLs types.URLs\n}\n\nfunc (a *membersAPIActionAdd) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2MembersURL(ep)\n\tm := memberCreateOrUpdateRequest{PeerURLs: a.peerURLs}\n\tb, _ := json.Marshal(&m)\n\treq, _ := http.NewRequest(\"POST\", u.String(), bytes.NewReader(b))\n\treq.Header.Set(\"Content-Type\", \"application/json\")\n\treturn req\n}\n\ntype membersAPIActionUpdate struct {\n\tmemberID string\n\tpeerURLs types.URLs\n}\n\nfunc (a *membersAPIActionUpdate) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2MembersURL(ep)\n\tm := memberCreateOrUpdateRequest{PeerURLs: a.peerURLs}\n\tu.Path = path.Join(u.Path, a.memberID)\n\tb, _ := json.Marshal(&m)\n\treq, _ := http.NewRequest(\"PUT\", u.String(), bytes.NewReader(b))\n\treq.Header.Set(\"Content-Type\", \"application/json\")\n\treturn req\n}\n\nfunc assertStatusCode(got int, want ...int) (err error) {\n\tfor _, w := range want {\n\t\tif w == got {\n\t\t\treturn nil\n\t\t}\n\t}\n\treturn fmt.Errorf(\"unexpected status code %d\", got)\n}\n\ntype membersAPIActionLeader struct{}\n\nfunc (l *membersAPIActionLeader) HTTPRequest(ep url.URL) *http.Request {\n\tu := v2MembersURL(ep)\n\tu.Path = path.Join(u.Path, defaultLeaderSuffix)\n\treq, _ := http.NewRequest(\"GET\", u.String(), nil)\n\treturn req\n}\n\n// v2MembersURL add the necessary path to the provided endpoint\n// to route requests to the default v2 members API.\nfunc v2MembersURL(ep url.URL) *url.URL {\n\tep.Path = path.Join(ep.Path, defaultV2MembersPrefix)\n\treturn &ep\n}\n\ntype membersError struct {\n\tMessage string `json:\"message\"`\n\tCode    int    `json:\"-\"`\n}\n\nfunc (e membersError) Error() string {\n\treturn e.Message\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/client/util.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage client\n\nimport (\n\t\"regexp\"\n)\n\nvar (\n\troleNotFoundRegExp *regexp.Regexp\n\tuserNotFoundRegExp *regexp.Regexp\n)\n\nfunc init() {\n\troleNotFoundRegExp = regexp.MustCompile(\"auth: Role .* does not exist.\")\n\tuserNotFoundRegExp = regexp.MustCompile(\"auth: User .* does not exist.\")\n}\n\n// IsKeyNotFound returns true if the error code is ErrorCodeKeyNotFound.\nfunc IsKeyNotFound(err error) bool {\n\tif cErr, ok := err.(Error); ok {\n\t\treturn cErr.Code == ErrorCodeKeyNotFound\n\t}\n\treturn false\n}\n\n// IsRoleNotFound returns true if the error means role not found of v2 API.\nfunc IsRoleNotFound(err error) bool {\n\tif ae, ok := err.(authError); ok {\n\t\treturn roleNotFoundRegExp.MatchString(ae.Message)\n\t}\n\treturn false\n}\n\n// IsUserNotFound returns true if the error means user not found of v2 API.\nfunc IsUserNotFound(err error) bool {\n\tif ae, ok := err.(authError); ok {\n\t\treturn userNotFoundRegExp.MatchString(ae.Message)\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/auth.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"strings\"\n\n\t\"github.com/coreos/etcd/auth/authpb\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\n\t\"google.golang.org/grpc\"\n)\n\ntype (\n\tAuthEnableResponse               pb.AuthEnableResponse\n\tAuthDisableResponse              pb.AuthDisableResponse\n\tAuthenticateResponse             pb.AuthenticateResponse\n\tAuthUserAddResponse              pb.AuthUserAddResponse\n\tAuthUserDeleteResponse           pb.AuthUserDeleteResponse\n\tAuthUserChangePasswordResponse   pb.AuthUserChangePasswordResponse\n\tAuthUserGrantRoleResponse        pb.AuthUserGrantRoleResponse\n\tAuthUserGetResponse              pb.AuthUserGetResponse\n\tAuthUserRevokeRoleResponse       pb.AuthUserRevokeRoleResponse\n\tAuthRoleAddResponse              pb.AuthRoleAddResponse\n\tAuthRoleGrantPermissionResponse  pb.AuthRoleGrantPermissionResponse\n\tAuthRoleGetResponse              pb.AuthRoleGetResponse\n\tAuthRoleRevokePermissionResponse pb.AuthRoleRevokePermissionResponse\n\tAuthRoleDeleteResponse           pb.AuthRoleDeleteResponse\n\tAuthUserListResponse             pb.AuthUserListResponse\n\tAuthRoleListResponse             pb.AuthRoleListResponse\n\n\tPermissionType authpb.Permission_Type\n\tPermission     authpb.Permission\n)\n\nconst (\n\tPermRead      = authpb.READ\n\tPermWrite     = authpb.WRITE\n\tPermReadWrite = authpb.READWRITE\n)\n\ntype Auth interface {\n\t// AuthEnable enables auth of an etcd cluster.\n\tAuthEnable(ctx context.Context) (*AuthEnableResponse, error)\n\n\t// AuthDisable disables auth of an etcd cluster.\n\tAuthDisable(ctx context.Context) (*AuthDisableResponse, error)\n\n\t// UserAdd adds a new user to an etcd cluster.\n\tUserAdd(ctx context.Context, name string, password string) (*AuthUserAddResponse, error)\n\n\t// UserDelete deletes a user from an etcd cluster.\n\tUserDelete(ctx context.Context, name string) (*AuthUserDeleteResponse, error)\n\n\t// UserChangePassword changes a password of a user.\n\tUserChangePassword(ctx context.Context, name string, password string) (*AuthUserChangePasswordResponse, error)\n\n\t// UserGrantRole grants a role to a user.\n\tUserGrantRole(ctx context.Context, user string, role string) (*AuthUserGrantRoleResponse, error)\n\n\t// UserGet gets a detailed information of a user.\n\tUserGet(ctx context.Context, name string) (*AuthUserGetResponse, error)\n\n\t// UserList gets a list of all users.\n\tUserList(ctx context.Context) (*AuthUserListResponse, error)\n\n\t// UserRevokeRole revokes a role of a user.\n\tUserRevokeRole(ctx context.Context, name string, role string) (*AuthUserRevokeRoleResponse, error)\n\n\t// RoleAdd adds a new role to an etcd cluster.\n\tRoleAdd(ctx context.Context, name string) (*AuthRoleAddResponse, error)\n\n\t// RoleGrantPermission grants a permission to a role.\n\tRoleGrantPermission(ctx context.Context, name string, key, rangeEnd string, permType PermissionType) (*AuthRoleGrantPermissionResponse, error)\n\n\t// RoleGet gets a detailed information of a role.\n\tRoleGet(ctx context.Context, role string) (*AuthRoleGetResponse, error)\n\n\t// RoleList gets a list of all roles.\n\tRoleList(ctx context.Context) (*AuthRoleListResponse, error)\n\n\t// RoleRevokePermission revokes a permission from a role.\n\tRoleRevokePermission(ctx context.Context, role string, key, rangeEnd string) (*AuthRoleRevokePermissionResponse, error)\n\n\t// RoleDelete deletes a role.\n\tRoleDelete(ctx context.Context, role string) (*AuthRoleDeleteResponse, error)\n}\n\ntype authClient struct {\n\tremote   pb.AuthClient\n\tcallOpts []grpc.CallOption\n}\n\nfunc NewAuth(c *Client) Auth {\n\tapi := &authClient{remote: RetryAuthClient(c)}\n\tif c != nil {\n\t\tapi.callOpts = c.callOpts\n\t}\n\treturn api\n}\n\nfunc (auth *authClient) AuthEnable(ctx context.Context) (*AuthEnableResponse, error) {\n\tresp, err := auth.remote.AuthEnable(ctx, &pb.AuthEnableRequest{}, auth.callOpts...)\n\treturn (*AuthEnableResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) AuthDisable(ctx context.Context) (*AuthDisableResponse, error) {\n\tresp, err := auth.remote.AuthDisable(ctx, &pb.AuthDisableRequest{}, auth.callOpts...)\n\treturn (*AuthDisableResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) UserAdd(ctx context.Context, name string, password string) (*AuthUserAddResponse, error) {\n\tresp, err := auth.remote.UserAdd(ctx, &pb.AuthUserAddRequest{Name: name, Password: password}, auth.callOpts...)\n\treturn (*AuthUserAddResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) UserDelete(ctx context.Context, name string) (*AuthUserDeleteResponse, error) {\n\tresp, err := auth.remote.UserDelete(ctx, &pb.AuthUserDeleteRequest{Name: name}, auth.callOpts...)\n\treturn (*AuthUserDeleteResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) UserChangePassword(ctx context.Context, name string, password string) (*AuthUserChangePasswordResponse, error) {\n\tresp, err := auth.remote.UserChangePassword(ctx, &pb.AuthUserChangePasswordRequest{Name: name, Password: password}, auth.callOpts...)\n\treturn (*AuthUserChangePasswordResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) UserGrantRole(ctx context.Context, user string, role string) (*AuthUserGrantRoleResponse, error) {\n\tresp, err := auth.remote.UserGrantRole(ctx, &pb.AuthUserGrantRoleRequest{User: user, Role: role}, auth.callOpts...)\n\treturn (*AuthUserGrantRoleResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) UserGet(ctx context.Context, name string) (*AuthUserGetResponse, error) {\n\tresp, err := auth.remote.UserGet(ctx, &pb.AuthUserGetRequest{Name: name}, auth.callOpts...)\n\treturn (*AuthUserGetResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) UserList(ctx context.Context) (*AuthUserListResponse, error) {\n\tresp, err := auth.remote.UserList(ctx, &pb.AuthUserListRequest{}, auth.callOpts...)\n\treturn (*AuthUserListResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) UserRevokeRole(ctx context.Context, name string, role string) (*AuthUserRevokeRoleResponse, error) {\n\tresp, err := auth.remote.UserRevokeRole(ctx, &pb.AuthUserRevokeRoleRequest{Name: name, Role: role}, auth.callOpts...)\n\treturn (*AuthUserRevokeRoleResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) RoleAdd(ctx context.Context, name string) (*AuthRoleAddResponse, error) {\n\tresp, err := auth.remote.RoleAdd(ctx, &pb.AuthRoleAddRequest{Name: name}, auth.callOpts...)\n\treturn (*AuthRoleAddResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) RoleGrantPermission(ctx context.Context, name string, key, rangeEnd string, permType PermissionType) (*AuthRoleGrantPermissionResponse, error) {\n\tperm := &authpb.Permission{\n\t\tKey:      []byte(key),\n\t\tRangeEnd: []byte(rangeEnd),\n\t\tPermType: authpb.Permission_Type(permType),\n\t}\n\tresp, err := auth.remote.RoleGrantPermission(ctx, &pb.AuthRoleGrantPermissionRequest{Name: name, Perm: perm}, auth.callOpts...)\n\treturn (*AuthRoleGrantPermissionResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) RoleGet(ctx context.Context, role string) (*AuthRoleGetResponse, error) {\n\tresp, err := auth.remote.RoleGet(ctx, &pb.AuthRoleGetRequest{Role: role}, auth.callOpts...)\n\treturn (*AuthRoleGetResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) RoleList(ctx context.Context) (*AuthRoleListResponse, error) {\n\tresp, err := auth.remote.RoleList(ctx, &pb.AuthRoleListRequest{}, auth.callOpts...)\n\treturn (*AuthRoleListResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) RoleRevokePermission(ctx context.Context, role string, key, rangeEnd string) (*AuthRoleRevokePermissionResponse, error) {\n\tresp, err := auth.remote.RoleRevokePermission(ctx, &pb.AuthRoleRevokePermissionRequest{Role: role, Key: []byte(key), RangeEnd: []byte(rangeEnd)}, auth.callOpts...)\n\treturn (*AuthRoleRevokePermissionResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authClient) RoleDelete(ctx context.Context, role string) (*AuthRoleDeleteResponse, error) {\n\tresp, err := auth.remote.RoleDelete(ctx, &pb.AuthRoleDeleteRequest{Role: role}, auth.callOpts...)\n\treturn (*AuthRoleDeleteResponse)(resp), toErr(ctx, err)\n}\n\nfunc StrToPermissionType(s string) (PermissionType, error) {\n\tval, ok := authpb.Permission_Type_value[strings.ToUpper(s)]\n\tif ok {\n\t\treturn PermissionType(val), nil\n\t}\n\treturn PermissionType(-1), fmt.Errorf(\"invalid permission type: %s\", s)\n}\n\ntype authenticator struct {\n\tconn     *grpc.ClientConn // conn in-use\n\tremote   pb.AuthClient\n\tcallOpts []grpc.CallOption\n}\n\nfunc (auth *authenticator) authenticate(ctx context.Context, name string, password string) (*AuthenticateResponse, error) {\n\tresp, err := auth.remote.Authenticate(ctx, &pb.AuthenticateRequest{Name: name, Password: password}, auth.callOpts...)\n\treturn (*AuthenticateResponse)(resp), toErr(ctx, err)\n}\n\nfunc (auth *authenticator) close() {\n\tauth.conn.Close()\n}\n\nfunc newAuthenticator(endpoint string, opts []grpc.DialOption, c *Client) (*authenticator, error) {\n\tconn, err := grpc.Dial(endpoint, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tapi := &authenticator{\n\t\tconn:   conn,\n\t\tremote: pb.NewAuthClient(conn),\n\t}\n\tif c != nil {\n\t\tapi.callOpts = c.callOpts\n\t}\n\treturn api, nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/balancer/doc.go",
    "content": "// Copyright 2018 The etcd Authors\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// Package balancer implements client balancer.\npackage balancer\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/balancer/grpc1.7-health.go",
    "content": "// Copyright 2018 The etcd Authors\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\npackage balancer\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"io/ioutil\"\n\t\"net/url\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"google.golang.org/grpc\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/grpclog\"\n\thealthpb \"google.golang.org/grpc/health/grpc_health_v1\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// TODO: replace with something better\nvar lg = grpclog.NewLoggerV2(ioutil.Discard, ioutil.Discard, ioutil.Discard)\n\nconst (\n\tminHealthRetryDuration = 3 * time.Second\n\tunknownService         = \"unknown service grpc.health.v1.Health\"\n)\n\n// ErrNoAddrAvilable is returned by Get() when the balancer does not have\n// any active connection to endpoints at the time.\n// This error is returned only when opts.BlockingWait is true.\nvar ErrNoAddrAvilable = status.Error(codes.Unavailable, \"there is no address available\")\n\ntype NotifyMsg int\n\nconst (\n\tNotifyReset NotifyMsg = iota\n\tNotifyNext\n)\n\n// GRPC17Health does the bare minimum to expose multiple eps\n// to the grpc reconnection code path\ntype GRPC17Health struct {\n\t// addrs are the client's endpoint addresses for grpc\n\taddrs []grpc.Address\n\n\t// eps holds the raw endpoints from the client\n\teps []string\n\n\t// notifyCh notifies grpc of the set of addresses for connecting\n\tnotifyCh chan []grpc.Address\n\n\t// readyc closes once the first connection is up\n\treadyc    chan struct{}\n\treadyOnce sync.Once\n\n\t// healthCheck checks an endpoint's health.\n\thealthCheck        func(ep string) (bool, error)\n\thealthCheckTimeout time.Duration\n\n\tunhealthyMu        sync.RWMutex\n\tunhealthyHostPorts map[string]time.Time\n\n\t// mu protects all fields below.\n\tmu sync.RWMutex\n\n\t// upc closes when pinAddr transitions from empty to non-empty or the balancer closes.\n\tupc chan struct{}\n\n\t// downc closes when grpc calls down() on pinAddr\n\tdownc chan struct{}\n\n\t// stopc is closed to signal updateNotifyLoop should stop.\n\tstopc    chan struct{}\n\tstopOnce sync.Once\n\twg       sync.WaitGroup\n\n\t// donec closes when all goroutines are exited\n\tdonec chan struct{}\n\n\t// updateAddrsC notifies updateNotifyLoop to update addrs.\n\tupdateAddrsC chan NotifyMsg\n\n\t// grpc issues TLS cert checks using the string passed into dial so\n\t// that string must be the host. To recover the full scheme://host URL,\n\t// have a map from hosts to the original endpoint.\n\thostPort2ep map[string]string\n\n\t// pinAddr is the currently pinned address; set to the empty string on\n\t// initialization and shutdown.\n\tpinAddr string\n\n\tclosed bool\n}\n\n// DialFunc defines gRPC dial function.\ntype DialFunc func(ep string, dopts ...grpc.DialOption) (*grpc.ClientConn, error)\n\n// NewGRPC17Health returns a new health balancer with gRPC v1.7.\nfunc NewGRPC17Health(\n\teps []string,\n\ttimeout time.Duration,\n\tdialFunc DialFunc,\n) *GRPC17Health {\n\tnotifyCh := make(chan []grpc.Address)\n\taddrs := eps2addrs(eps)\n\thb := &GRPC17Health{\n\t\taddrs:              addrs,\n\t\teps:                eps,\n\t\tnotifyCh:           notifyCh,\n\t\treadyc:             make(chan struct{}),\n\t\thealthCheck:        func(ep string) (bool, error) { return grpcHealthCheck(ep, dialFunc) },\n\t\tunhealthyHostPorts: make(map[string]time.Time),\n\t\tupc:                make(chan struct{}),\n\t\tstopc:              make(chan struct{}),\n\t\tdownc:              make(chan struct{}),\n\t\tdonec:              make(chan struct{}),\n\t\tupdateAddrsC:       make(chan NotifyMsg),\n\t\thostPort2ep:        getHostPort2ep(eps),\n\t}\n\tif timeout < minHealthRetryDuration {\n\t\ttimeout = minHealthRetryDuration\n\t}\n\thb.healthCheckTimeout = timeout\n\n\tclose(hb.downc)\n\tgo hb.updateNotifyLoop()\n\thb.wg.Add(1)\n\tgo func() {\n\t\tdefer hb.wg.Done()\n\t\thb.updateUnhealthy()\n\t}()\n\treturn hb\n}\n\nfunc (b *GRPC17Health) Start(target string, config grpc.BalancerConfig) error { return nil }\n\nfunc (b *GRPC17Health) ConnectNotify() <-chan struct{} {\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\treturn b.upc\n}\n\nfunc (b *GRPC17Health) UpdateAddrsC() chan NotifyMsg { return b.updateAddrsC }\nfunc (b *GRPC17Health) StopC() chan struct{}         { return b.stopc }\n\nfunc (b *GRPC17Health) Ready() <-chan struct{} { return b.readyc }\n\nfunc (b *GRPC17Health) Endpoint(hostPort string) string {\n\tb.mu.RLock()\n\tdefer b.mu.RUnlock()\n\treturn b.hostPort2ep[hostPort]\n}\n\nfunc (b *GRPC17Health) Pinned() string {\n\tb.mu.RLock()\n\tdefer b.mu.RUnlock()\n\treturn b.pinAddr\n}\n\nfunc (b *GRPC17Health) HostPortError(hostPort string, err error) {\n\tif b.Endpoint(hostPort) == \"\" {\n\t\tlg.Infof(\"clientv3/balancer: %q is stale (skip marking as unhealthy on %q)\", hostPort, err.Error())\n\t\treturn\n\t}\n\n\tb.unhealthyMu.Lock()\n\tb.unhealthyHostPorts[hostPort] = time.Now()\n\tb.unhealthyMu.Unlock()\n\tlg.Infof(\"clientv3/balancer: %q is marked unhealthy (%q)\", hostPort, err.Error())\n}\n\nfunc (b *GRPC17Health) removeUnhealthy(hostPort, msg string) {\n\tif b.Endpoint(hostPort) == \"\" {\n\t\tlg.Infof(\"clientv3/balancer: %q was not in unhealthy (%q)\", hostPort, msg)\n\t\treturn\n\t}\n\n\tb.unhealthyMu.Lock()\n\tdelete(b.unhealthyHostPorts, hostPort)\n\tb.unhealthyMu.Unlock()\n\tlg.Infof(\"clientv3/balancer: %q is removed from unhealthy (%q)\", hostPort, msg)\n}\n\nfunc (b *GRPC17Health) countUnhealthy() (count int) {\n\tb.unhealthyMu.RLock()\n\tcount = len(b.unhealthyHostPorts)\n\tb.unhealthyMu.RUnlock()\n\treturn count\n}\n\nfunc (b *GRPC17Health) isUnhealthy(hostPort string) (unhealthy bool) {\n\tb.unhealthyMu.RLock()\n\t_, unhealthy = b.unhealthyHostPorts[hostPort]\n\tb.unhealthyMu.RUnlock()\n\treturn unhealthy\n}\n\nfunc (b *GRPC17Health) cleanupUnhealthy() {\n\tb.unhealthyMu.Lock()\n\tfor k, v := range b.unhealthyHostPorts {\n\t\tif time.Since(v) > b.healthCheckTimeout {\n\t\t\tdelete(b.unhealthyHostPorts, k)\n\t\t\tlg.Infof(\"clientv3/balancer: removed %q from unhealthy after %v\", k, b.healthCheckTimeout)\n\t\t}\n\t}\n\tb.unhealthyMu.Unlock()\n}\n\nfunc (b *GRPC17Health) liveAddrs() ([]grpc.Address, map[string]struct{}) {\n\tunhealthyCnt := b.countUnhealthy()\n\n\tb.mu.RLock()\n\tdefer b.mu.RUnlock()\n\n\thbAddrs := b.addrs\n\tif len(b.addrs) == 1 || unhealthyCnt == 0 || unhealthyCnt == len(b.addrs) {\n\t\tliveHostPorts := make(map[string]struct{}, len(b.hostPort2ep))\n\t\tfor k := range b.hostPort2ep {\n\t\t\tliveHostPorts[k] = struct{}{}\n\t\t}\n\t\treturn hbAddrs, liveHostPorts\n\t}\n\n\taddrs := make([]grpc.Address, 0, len(b.addrs)-unhealthyCnt)\n\tliveHostPorts := make(map[string]struct{}, len(addrs))\n\tfor _, addr := range b.addrs {\n\t\tif !b.isUnhealthy(addr.Addr) {\n\t\t\taddrs = append(addrs, addr)\n\t\t\tliveHostPorts[addr.Addr] = struct{}{}\n\t\t}\n\t}\n\treturn addrs, liveHostPorts\n}\n\nfunc (b *GRPC17Health) updateUnhealthy() {\n\tfor {\n\t\tselect {\n\t\tcase <-time.After(b.healthCheckTimeout):\n\t\t\tb.cleanupUnhealthy()\n\t\t\tpinned := b.Pinned()\n\t\t\tif pinned == \"\" || b.isUnhealthy(pinned) {\n\t\t\t\tselect {\n\t\t\t\tcase b.updateAddrsC <- NotifyNext:\n\t\t\t\tcase <-b.stopc:\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\tcase <-b.stopc:\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// NeedUpdate returns true if all connections are down or\n// addresses do not include current pinned address.\nfunc (b *GRPC17Health) NeedUpdate() bool {\n\t// updating notifyCh can trigger new connections,\n\t// need update addrs if all connections are down\n\t// or addrs does not include pinAddr.\n\tb.mu.RLock()\n\tupdate := !hasAddr(b.addrs, b.pinAddr)\n\tb.mu.RUnlock()\n\treturn update\n}\n\nfunc (b *GRPC17Health) UpdateAddrs(eps ...string) {\n\tnp := getHostPort2ep(eps)\n\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\n\tmatch := len(np) == len(b.hostPort2ep)\n\tif match {\n\t\tfor k, v := range np {\n\t\t\tif b.hostPort2ep[k] != v {\n\t\t\t\tmatch = false\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tif match {\n\t\t// same endpoints, so no need to update address\n\t\treturn\n\t}\n\n\tb.hostPort2ep = np\n\tb.addrs, b.eps = eps2addrs(eps), eps\n\n\tb.unhealthyMu.Lock()\n\tb.unhealthyHostPorts = make(map[string]time.Time)\n\tb.unhealthyMu.Unlock()\n}\n\nfunc (b *GRPC17Health) Next() {\n\tb.mu.RLock()\n\tdownc := b.downc\n\tb.mu.RUnlock()\n\tselect {\n\tcase b.updateAddrsC <- NotifyNext:\n\tcase <-b.stopc:\n\t}\n\t// wait until disconnect so new RPCs are not issued on old connection\n\tselect {\n\tcase <-downc:\n\tcase <-b.stopc:\n\t}\n}\n\nfunc (b *GRPC17Health) updateNotifyLoop() {\n\tdefer close(b.donec)\n\n\tfor {\n\t\tb.mu.RLock()\n\t\tupc, downc, addr := b.upc, b.downc, b.pinAddr\n\t\tb.mu.RUnlock()\n\t\t// downc or upc should be closed\n\t\tselect {\n\t\tcase <-downc:\n\t\t\tdownc = nil\n\t\tdefault:\n\t\t}\n\t\tselect {\n\t\tcase <-upc:\n\t\t\tupc = nil\n\t\tdefault:\n\t\t}\n\t\tswitch {\n\t\tcase downc == nil && upc == nil:\n\t\t\t// stale\n\t\t\tselect {\n\t\t\tcase <-b.stopc:\n\t\t\t\treturn\n\t\t\tdefault:\n\t\t\t}\n\t\tcase downc == nil:\n\t\t\tb.notifyAddrs(NotifyReset)\n\t\t\tselect {\n\t\t\tcase <-upc:\n\t\t\tcase msg := <-b.updateAddrsC:\n\t\t\t\tb.notifyAddrs(msg)\n\t\t\tcase <-b.stopc:\n\t\t\t\treturn\n\t\t\t}\n\t\tcase upc == nil:\n\t\t\tselect {\n\t\t\t// close connections that are not the pinned address\n\t\t\tcase b.notifyCh <- []grpc.Address{{Addr: addr}}:\n\t\t\tcase <-downc:\n\t\t\tcase <-b.stopc:\n\t\t\t\treturn\n\t\t\t}\n\t\t\tselect {\n\t\t\tcase <-downc:\n\t\t\t\tb.notifyAddrs(NotifyReset)\n\t\t\tcase msg := <-b.updateAddrsC:\n\t\t\t\tb.notifyAddrs(msg)\n\t\t\tcase <-b.stopc:\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (b *GRPC17Health) notifyAddrs(msg NotifyMsg) {\n\tif msg == NotifyNext {\n\t\tselect {\n\t\tcase b.notifyCh <- []grpc.Address{}:\n\t\tcase <-b.stopc:\n\t\t\treturn\n\t\t}\n\t}\n\tb.mu.RLock()\n\tpinAddr := b.pinAddr\n\tdownc := b.downc\n\tb.mu.RUnlock()\n\taddrs, hostPorts := b.liveAddrs()\n\n\tvar waitDown bool\n\tif pinAddr != \"\" {\n\t\t_, ok := hostPorts[pinAddr]\n\t\twaitDown = !ok\n\t}\n\n\tselect {\n\tcase b.notifyCh <- addrs:\n\t\tif waitDown {\n\t\t\tselect {\n\t\t\tcase <-downc:\n\t\t\tcase <-b.stopc:\n\t\t\t}\n\t\t}\n\tcase <-b.stopc:\n\t}\n}\n\nfunc (b *GRPC17Health) Up(addr grpc.Address) func(error) {\n\tif !b.mayPin(addr) {\n\t\treturn func(err error) {}\n\t}\n\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\n\t// gRPC might call Up after it called Close. We add this check\n\t// to \"fix\" it up at application layer. Otherwise, will panic\n\t// if b.upc is already closed.\n\tif b.closed {\n\t\treturn func(err error) {}\n\t}\n\n\t// gRPC might call Up on a stale address.\n\t// Prevent updating pinAddr with a stale address.\n\tif !hasAddr(b.addrs, addr.Addr) {\n\t\treturn func(err error) {}\n\t}\n\n\tif b.pinAddr != \"\" {\n\t\tlg.Infof(\"clientv3/balancer: %q is up but not pinned (already pinned %q)\", addr.Addr, b.pinAddr)\n\t\treturn func(err error) {}\n\t}\n\n\t// notify waiting Get()s and pin first connected address\n\tclose(b.upc)\n\tb.downc = make(chan struct{})\n\tb.pinAddr = addr.Addr\n\tlg.Infof(\"clientv3/balancer: pin %q\", addr.Addr)\n\n\t// notify client that a connection is up\n\tb.readyOnce.Do(func() { close(b.readyc) })\n\n\treturn func(err error) {\n\t\t// If connected to a black hole endpoint or a killed server, the gRPC ping\n\t\t// timeout will induce a network I/O error, and retrying until success;\n\t\t// finding healthy endpoint on retry could take several timeouts and redials.\n\t\t// To avoid wasting retries, gray-list unhealthy endpoints.\n\t\tb.HostPortError(addr.Addr, err)\n\n\t\tb.mu.Lock()\n\t\tb.upc = make(chan struct{})\n\t\tclose(b.downc)\n\t\tb.pinAddr = \"\"\n\t\tb.mu.Unlock()\n\t\tlg.Infof(\"clientv3/balancer: unpin %q (%q)\", addr.Addr, err.Error())\n\t}\n}\n\nfunc (b *GRPC17Health) mayPin(addr grpc.Address) bool {\n\tif b.Endpoint(addr.Addr) == \"\" { // stale host:port\n\t\treturn false\n\t}\n\n\tb.unhealthyMu.RLock()\n\tunhealthyCnt := len(b.unhealthyHostPorts)\n\tfailedTime, bad := b.unhealthyHostPorts[addr.Addr]\n\tb.unhealthyMu.RUnlock()\n\n\tb.mu.RLock()\n\tskip := len(b.addrs) == 1 || unhealthyCnt == 0 || len(b.addrs) == unhealthyCnt\n\tb.mu.RUnlock()\n\tif skip || !bad {\n\t\treturn true\n\t}\n\n\t// prevent isolated member's endpoint from being infinitely retried, as follows:\n\t//   1. keepalive pings detects GoAway with http2.ErrCodeEnhanceYourCalm\n\t//   2. balancer 'Up' unpins with grpc: failed with network I/O error\n\t//   3. grpc-healthcheck still SERVING, thus retry to pin\n\t// instead, return before grpc-healthcheck if failed within healthcheck timeout\n\tif elapsed := time.Since(failedTime); elapsed < b.healthCheckTimeout {\n\t\tlg.Infof(\"clientv3/balancer: %q is up but not pinned (failed %v ago, require minimum %v after failure)\", addr.Addr, elapsed, b.healthCheckTimeout)\n\t\treturn false\n\t}\n\n\tif ok, _ := b.healthCheck(addr.Addr); ok {\n\t\tb.removeUnhealthy(addr.Addr, \"health check success\")\n\t\treturn true\n\t}\n\n\tb.HostPortError(addr.Addr, errors.New(\"health check failed\"))\n\treturn false\n}\n\nfunc (b *GRPC17Health) Get(ctx context.Context, opts grpc.BalancerGetOptions) (grpc.Address, func(), error) {\n\tvar (\n\t\taddr   string\n\t\tclosed bool\n\t)\n\n\t// If opts.BlockingWait is false (for fail-fast RPCs), it should return\n\t// an address it has notified via Notify immediately instead of blocking.\n\tif !opts.BlockingWait {\n\t\tb.mu.RLock()\n\t\tclosed = b.closed\n\t\taddr = b.pinAddr\n\t\tb.mu.RUnlock()\n\t\tif closed {\n\t\t\treturn grpc.Address{Addr: \"\"}, nil, grpc.ErrClientConnClosing\n\t\t}\n\t\tif addr == \"\" {\n\t\t\treturn grpc.Address{Addr: \"\"}, nil, ErrNoAddrAvilable\n\t\t}\n\t\treturn grpc.Address{Addr: addr}, func() {}, nil\n\t}\n\n\tfor {\n\t\tb.mu.RLock()\n\t\tch := b.upc\n\t\tb.mu.RUnlock()\n\t\tselect {\n\t\tcase <-ch:\n\t\tcase <-b.donec:\n\t\t\treturn grpc.Address{Addr: \"\"}, nil, grpc.ErrClientConnClosing\n\t\tcase <-ctx.Done():\n\t\t\treturn grpc.Address{Addr: \"\"}, nil, ctx.Err()\n\t\t}\n\t\tb.mu.RLock()\n\t\tclosed = b.closed\n\t\taddr = b.pinAddr\n\t\tb.mu.RUnlock()\n\t\t// Close() which sets b.closed = true can be called before Get(), Get() must exit if balancer is closed.\n\t\tif closed {\n\t\t\treturn grpc.Address{Addr: \"\"}, nil, grpc.ErrClientConnClosing\n\t\t}\n\t\tif addr != \"\" {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn grpc.Address{Addr: addr}, func() {}, nil\n}\n\nfunc (b *GRPC17Health) Notify() <-chan []grpc.Address { return b.notifyCh }\n\nfunc (b *GRPC17Health) Close() error {\n\tb.mu.Lock()\n\t// In case gRPC calls close twice. TODO: remove the checking\n\t// when we are sure that gRPC wont call close twice.\n\tif b.closed {\n\t\tb.mu.Unlock()\n\t\t<-b.donec\n\t\treturn nil\n\t}\n\tb.closed = true\n\tb.stopOnce.Do(func() { close(b.stopc) })\n\tb.pinAddr = \"\"\n\n\t// In the case of following scenario:\n\t//\t1. upc is not closed; no pinned address\n\t// \t2. client issues an RPC, calling invoke(), which calls Get(), enters for loop, blocks\n\t// \t3. client.conn.Close() calls balancer.Close(); closed = true\n\t// \t4. for loop in Get() never exits since ctx is the context passed in by the client and may not be canceled\n\t// we must close upc so Get() exits from blocking on upc\n\tselect {\n\tcase <-b.upc:\n\tdefault:\n\t\t// terminate all waiting Get()s\n\t\tclose(b.upc)\n\t}\n\n\tb.mu.Unlock()\n\tb.wg.Wait()\n\n\t// wait for updateNotifyLoop to finish\n\t<-b.donec\n\tclose(b.notifyCh)\n\n\treturn nil\n}\n\nfunc grpcHealthCheck(ep string, dialFunc func(ep string, dopts ...grpc.DialOption) (*grpc.ClientConn, error)) (bool, error) {\n\tconn, err := dialFunc(ep)\n\tif err != nil {\n\t\treturn false, err\n\t}\n\tdefer conn.Close()\n\tcli := healthpb.NewHealthClient(conn)\n\tctx, cancel := context.WithTimeout(context.Background(), time.Second)\n\tresp, err := cli.Check(ctx, &healthpb.HealthCheckRequest{})\n\tcancel()\n\tif err != nil {\n\t\tif s, ok := status.FromError(err); ok && s.Code() == codes.Unavailable {\n\t\t\tif s.Message() == unknownService { // etcd < v3.3.0\n\t\t\t\treturn true, nil\n\t\t\t}\n\t\t}\n\t\treturn false, err\n\t}\n\treturn resp.Status == healthpb.HealthCheckResponse_SERVING, nil\n}\n\nfunc hasAddr(addrs []grpc.Address, targetAddr string) bool {\n\tfor _, addr := range addrs {\n\t\tif targetAddr == addr.Addr {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunc getHost(ep string) string {\n\turl, uerr := url.Parse(ep)\n\tif uerr != nil || !strings.Contains(ep, \"://\") {\n\t\treturn ep\n\t}\n\treturn url.Host\n}\n\nfunc eps2addrs(eps []string) []grpc.Address {\n\taddrs := make([]grpc.Address, len(eps))\n\tfor i := range eps {\n\t\taddrs[i].Addr = getHost(eps[i])\n\t}\n\treturn addrs\n}\n\nfunc getHostPort2ep(eps []string) map[string]string {\n\thm := make(map[string]string, len(eps))\n\tfor i := range eps {\n\t\t_, host, _ := parseEndpoint(eps[i])\n\t\thm[host] = eps[i]\n\t}\n\treturn hm\n}\n\nfunc parseEndpoint(endpoint string) (proto string, host string, scheme string) {\n\tproto = \"tcp\"\n\thost = endpoint\n\turl, uerr := url.Parse(endpoint)\n\tif uerr != nil || !strings.Contains(endpoint, \"://\") {\n\t\treturn proto, host, scheme\n\t}\n\tscheme = url.Scheme\n\n\t// strip scheme:// prefix since grpc dials by host\n\thost = url.Host\n\tswitch url.Scheme {\n\tcase \"http\", \"https\":\n\tcase \"unix\", \"unixs\":\n\t\tproto = \"unix\"\n\t\thost = url.Host + url.Path\n\tdefault:\n\t\tproto, host = \"\", \"\"\n\t}\n\treturn proto, host, scheme\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/client.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport (\n\t\"context\"\n\t\"crypto/tls\"\n\t\"errors\"\n\t\"fmt\"\n\t\"net\"\n\t\"net/url\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/clientv3/balancer\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\n\t\"google.golang.org/grpc\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/keepalive\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/status\"\n)\n\nvar (\n\tErrNoAvailableEndpoints = errors.New(\"etcdclient: no available endpoints\")\n\tErrOldCluster           = errors.New(\"etcdclient: old cluster version\")\n)\n\n// Client provides and manages an etcd v3 client session.\ntype Client struct {\n\tCluster\n\tKV\n\tLease\n\tWatcher\n\tAuth\n\tMaintenance\n\n\tconn     *grpc.ClientConn\n\tdialerrc chan error\n\n\tcfg      Config\n\tcreds    *credentials.TransportCredentials\n\tbalancer *balancer.GRPC17Health\n\tmu       *sync.Mutex\n\n\tctx    context.Context\n\tcancel context.CancelFunc\n\n\t// Username is a user name for authentication.\n\tUsername string\n\t// Password is a password for authentication.\n\tPassword string\n\t// tokenCred is an instance of WithPerRPCCredentials()'s argument\n\ttokenCred *authTokenCredential\n\n\tcallOpts []grpc.CallOption\n}\n\n// New creates a new etcdv3 client from a given configuration.\nfunc New(cfg Config) (*Client, error) {\n\tif len(cfg.Endpoints) == 0 {\n\t\treturn nil, ErrNoAvailableEndpoints\n\t}\n\n\treturn newClient(&cfg)\n}\n\n// NewCtxClient creates a client with a context but no underlying grpc\n// connection. This is useful for embedded cases that override the\n// service interface implementations and do not need connection management.\nfunc NewCtxClient(ctx context.Context) *Client {\n\tcctx, cancel := context.WithCancel(ctx)\n\treturn &Client{ctx: cctx, cancel: cancel}\n}\n\n// NewFromURL creates a new etcdv3 client from a URL.\nfunc NewFromURL(url string) (*Client, error) {\n\treturn New(Config{Endpoints: []string{url}})\n}\n\n// NewFromURLs creates a new etcdv3 client from URLs.\nfunc NewFromURLs(urls []string) (*Client, error) {\n\treturn New(Config{Endpoints: urls})\n}\n\n// Close shuts down the client's etcd connections.\nfunc (c *Client) Close() error {\n\tc.cancel()\n\tc.Watcher.Close()\n\tc.Lease.Close()\n\tif c.conn != nil {\n\t\treturn toErr(c.ctx, c.conn.Close())\n\t}\n\treturn c.ctx.Err()\n}\n\n// Ctx is a context for \"out of band\" messages (e.g., for sending\n// \"clean up\" message when another context is canceled). It is\n// canceled on client Close().\nfunc (c *Client) Ctx() context.Context { return c.ctx }\n\n// Endpoints lists the registered endpoints for the client.\nfunc (c *Client) Endpoints() (eps []string) {\n\t// copy the slice; protect original endpoints from being changed\n\teps = make([]string, len(c.cfg.Endpoints))\n\tcopy(eps, c.cfg.Endpoints)\n\treturn\n}\n\n// SetEndpoints updates client's endpoints.\nfunc (c *Client) SetEndpoints(eps ...string) {\n\tc.mu.Lock()\n\tc.cfg.Endpoints = eps\n\tc.mu.Unlock()\n\tc.balancer.UpdateAddrs(eps...)\n\n\tif c.balancer.NeedUpdate() {\n\t\tselect {\n\t\tcase c.balancer.UpdateAddrsC() <- balancer.NotifyNext:\n\t\tcase <-c.balancer.StopC():\n\t\t}\n\t}\n}\n\n// Sync synchronizes client's endpoints with the known endpoints from the etcd membership.\nfunc (c *Client) Sync(ctx context.Context) error {\n\tmresp, err := c.MemberList(ctx)\n\tif err != nil {\n\t\treturn err\n\t}\n\tvar eps []string\n\tfor _, m := range mresp.Members {\n\t\teps = append(eps, m.ClientURLs...)\n\t}\n\tc.SetEndpoints(eps...)\n\treturn nil\n}\n\nfunc (c *Client) autoSync() {\n\tif c.cfg.AutoSyncInterval == time.Duration(0) {\n\t\treturn\n\t}\n\n\tfor {\n\t\tselect {\n\t\tcase <-c.ctx.Done():\n\t\t\treturn\n\t\tcase <-time.After(c.cfg.AutoSyncInterval):\n\t\t\tctx, cancel := context.WithTimeout(c.ctx, 5*time.Second)\n\t\t\terr := c.Sync(ctx)\n\t\t\tcancel()\n\t\t\tif err != nil && err != c.ctx.Err() {\n\t\t\t\tlg.Lvl(4).Infof(\"Auto sync endpoints failed: %v\", err)\n\t\t\t}\n\t\t}\n\t}\n}\n\ntype authTokenCredential struct {\n\ttoken   string\n\ttokenMu *sync.RWMutex\n}\n\nfunc (cred authTokenCredential) RequireTransportSecurity() bool {\n\treturn false\n}\n\nfunc (cred authTokenCredential) GetRequestMetadata(ctx context.Context, s ...string) (map[string]string, error) {\n\tcred.tokenMu.RLock()\n\tdefer cred.tokenMu.RUnlock()\n\treturn map[string]string{\n\t\trpctypes.TokenFieldNameGRPC: cred.token,\n\t}, nil\n}\n\nfunc parseEndpoint(endpoint string) (proto string, host string, scheme string) {\n\tproto = \"tcp\"\n\thost = endpoint\n\turl, uerr := url.Parse(endpoint)\n\tif uerr != nil || !strings.Contains(endpoint, \"://\") {\n\t\treturn proto, host, scheme\n\t}\n\tscheme = url.Scheme\n\n\t// strip scheme:// prefix since grpc dials by host\n\thost = url.Host\n\tswitch url.Scheme {\n\tcase \"http\", \"https\":\n\tcase \"unix\", \"unixs\":\n\t\tproto = \"unix\"\n\t\thost = url.Host + url.Path\n\tdefault:\n\t\tproto, host = \"\", \"\"\n\t}\n\treturn proto, host, scheme\n}\n\nfunc (c *Client) processCreds(scheme string) (creds *credentials.TransportCredentials) {\n\tcreds = c.creds\n\tswitch scheme {\n\tcase \"unix\":\n\tcase \"http\":\n\t\tcreds = nil\n\tcase \"https\", \"unixs\":\n\t\tif creds != nil {\n\t\t\tbreak\n\t\t}\n\t\ttlsconfig := &tls.Config{}\n\t\temptyCreds := credentials.NewTLS(tlsconfig)\n\t\tcreds = &emptyCreds\n\tdefault:\n\t\tcreds = nil\n\t}\n\treturn creds\n}\n\n// dialSetupOpts gives the dial opts prior to any authentication\nfunc (c *Client) dialSetupOpts(endpoint string, dopts ...grpc.DialOption) (opts []grpc.DialOption) {\n\tif c.cfg.DialTimeout > 0 {\n\t\topts = []grpc.DialOption{grpc.WithTimeout(c.cfg.DialTimeout)}\n\t}\n\tif c.cfg.DialKeepAliveTime > 0 {\n\t\tparams := keepalive.ClientParameters{\n\t\t\tTime:    c.cfg.DialKeepAliveTime,\n\t\t\tTimeout: c.cfg.DialKeepAliveTimeout,\n\t\t}\n\t\topts = append(opts, grpc.WithKeepaliveParams(params))\n\t}\n\topts = append(opts, dopts...)\n\n\tf := func(host string, t time.Duration) (net.Conn, error) {\n\t\tproto, host, _ := parseEndpoint(c.balancer.Endpoint(host))\n\t\tif host == \"\" && endpoint != \"\" {\n\t\t\t// dialing an endpoint not in the balancer; use\n\t\t\t// endpoint passed into dial\n\t\t\tproto, host, _ = parseEndpoint(endpoint)\n\t\t}\n\t\tif proto == \"\" {\n\t\t\treturn nil, fmt.Errorf(\"unknown scheme for %q\", host)\n\t\t}\n\t\tselect {\n\t\tcase <-c.ctx.Done():\n\t\t\treturn nil, c.ctx.Err()\n\t\tdefault:\n\t\t}\n\t\tdialer := &net.Dialer{Timeout: t}\n\t\tconn, err := dialer.DialContext(c.ctx, proto, host)\n\t\tif err != nil {\n\t\t\tselect {\n\t\t\tcase c.dialerrc <- err:\n\t\t\tdefault:\n\t\t\t}\n\t\t}\n\t\treturn conn, err\n\t}\n\topts = append(opts, grpc.WithDialer(f))\n\n\tcreds := c.creds\n\tif _, _, scheme := parseEndpoint(endpoint); len(scheme) != 0 {\n\t\tcreds = c.processCreds(scheme)\n\t}\n\tif creds != nil {\n\t\topts = append(opts, grpc.WithTransportCredentials(*creds))\n\t} else {\n\t\topts = append(opts, grpc.WithInsecure())\n\t}\n\n\treturn opts\n}\n\n// Dial connects to a single endpoint using the client's config.\nfunc (c *Client) Dial(endpoint string) (*grpc.ClientConn, error) {\n\treturn c.dial(endpoint)\n}\n\nfunc (c *Client) getToken(ctx context.Context) error {\n\tvar err error // return last error in a case of fail\n\tvar auth *authenticator\n\n\tfor i := 0; i < len(c.cfg.Endpoints); i++ {\n\t\tendpoint := c.cfg.Endpoints[i]\n\t\thost := getHost(endpoint)\n\t\t// use dial options without dopts to avoid reusing the client balancer\n\t\tauth, err = newAuthenticator(host, c.dialSetupOpts(endpoint), c)\n\t\tif err != nil {\n\t\t\tcontinue\n\t\t}\n\t\tdefer auth.close()\n\n\t\tvar resp *AuthenticateResponse\n\t\tresp, err = auth.authenticate(ctx, c.Username, c.Password)\n\t\tif err != nil {\n\t\t\tcontinue\n\t\t}\n\n\t\tc.tokenCred.tokenMu.Lock()\n\t\tc.tokenCred.token = resp.Token\n\t\tc.tokenCred.tokenMu.Unlock()\n\n\t\treturn nil\n\t}\n\n\treturn err\n}\n\nfunc (c *Client) dial(endpoint string, dopts ...grpc.DialOption) (*grpc.ClientConn, error) {\n\topts := c.dialSetupOpts(endpoint, dopts...)\n\thost := getHost(endpoint)\n\tif c.Username != \"\" && c.Password != \"\" {\n\t\tc.tokenCred = &authTokenCredential{\n\t\t\ttokenMu: &sync.RWMutex{},\n\t\t}\n\n\t\tctx := c.ctx\n\t\tif c.cfg.DialTimeout > 0 {\n\t\t\tcctx, cancel := context.WithTimeout(ctx, c.cfg.DialTimeout)\n\t\t\tdefer cancel()\n\t\t\tctx = cctx\n\t\t}\n\n\t\terr := c.getToken(ctx)\n\t\tif err != nil {\n\t\t\tif toErr(ctx, err) != rpctypes.ErrAuthNotEnabled {\n\t\t\t\tif err == ctx.Err() && ctx.Err() != c.ctx.Err() {\n\t\t\t\t\terr = context.DeadlineExceeded\n\t\t\t\t}\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t} else {\n\t\t\topts = append(opts, grpc.WithPerRPCCredentials(c.tokenCred))\n\t\t}\n\t}\n\n\topts = append(opts, c.cfg.DialOptions...)\n\n\tconn, err := grpc.DialContext(c.ctx, host, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn conn, nil\n}\n\n// WithRequireLeader requires client requests to only succeed\n// when the cluster has a leader.\nfunc WithRequireLeader(ctx context.Context) context.Context {\n\tmd := metadata.Pairs(rpctypes.MetadataRequireLeaderKey, rpctypes.MetadataHasLeader)\n\treturn metadata.NewOutgoingContext(ctx, md)\n}\n\nfunc newClient(cfg *Config) (*Client, error) {\n\tif cfg == nil {\n\t\tcfg = &Config{}\n\t}\n\tvar creds *credentials.TransportCredentials\n\tif cfg.TLS != nil {\n\t\tc := credentials.NewTLS(cfg.TLS)\n\t\tcreds = &c\n\t}\n\n\t// use a temporary skeleton client to bootstrap first connection\n\tbaseCtx := context.TODO()\n\tif cfg.Context != nil {\n\t\tbaseCtx = cfg.Context\n\t}\n\n\tctx, cancel := context.WithCancel(baseCtx)\n\tclient := &Client{\n\t\tconn:     nil,\n\t\tdialerrc: make(chan error, 1),\n\t\tcfg:      *cfg,\n\t\tcreds:    creds,\n\t\tctx:      ctx,\n\t\tcancel:   cancel,\n\t\tmu:       new(sync.Mutex),\n\t\tcallOpts: defaultCallOpts,\n\t}\n\tif cfg.Username != \"\" && cfg.Password != \"\" {\n\t\tclient.Username = cfg.Username\n\t\tclient.Password = cfg.Password\n\t}\n\tif cfg.MaxCallSendMsgSize > 0 || cfg.MaxCallRecvMsgSize > 0 {\n\t\tif cfg.MaxCallRecvMsgSize > 0 && cfg.MaxCallSendMsgSize > cfg.MaxCallRecvMsgSize {\n\t\t\treturn nil, fmt.Errorf(\"gRPC message recv limit (%d bytes) must be greater than send limit (%d bytes)\", cfg.MaxCallRecvMsgSize, cfg.MaxCallSendMsgSize)\n\t\t}\n\t\tcallOpts := []grpc.CallOption{\n\t\t\tdefaultFailFast,\n\t\t\tdefaultMaxCallSendMsgSize,\n\t\t\tdefaultMaxCallRecvMsgSize,\n\t\t}\n\t\tif cfg.MaxCallSendMsgSize > 0 {\n\t\t\tcallOpts[1] = grpc.MaxCallSendMsgSize(cfg.MaxCallSendMsgSize)\n\t\t}\n\t\tif cfg.MaxCallRecvMsgSize > 0 {\n\t\t\tcallOpts[2] = grpc.MaxCallRecvMsgSize(cfg.MaxCallRecvMsgSize)\n\t\t}\n\t\tclient.callOpts = callOpts\n\t}\n\n\tclient.balancer = balancer.NewGRPC17Health(cfg.Endpoints, cfg.DialTimeout, client.dial)\n\n\t// use Endpoints[0] so that for https:// without any tls config given, then\n\t// grpc will assume the certificate server name is the endpoint host.\n\tconn, err := client.dial(cfg.Endpoints[0], grpc.WithBalancer(client.balancer))\n\tif err != nil {\n\t\tclient.cancel()\n\t\tclient.balancer.Close()\n\t\treturn nil, err\n\t}\n\tclient.conn = conn\n\n\t// wait for a connection\n\tif cfg.DialTimeout > 0 {\n\t\thasConn := false\n\t\twaitc := time.After(cfg.DialTimeout)\n\t\tselect {\n\t\tcase <-client.balancer.Ready():\n\t\t\thasConn = true\n\t\tcase <-ctx.Done():\n\t\tcase <-waitc:\n\t\t}\n\t\tif !hasConn {\n\t\t\terr := context.DeadlineExceeded\n\t\t\tselect {\n\t\t\tcase err = <-client.dialerrc:\n\t\t\tdefault:\n\t\t\t}\n\t\t\tclient.cancel()\n\t\t\tclient.balancer.Close()\n\t\t\tconn.Close()\n\t\t\treturn nil, err\n\t\t}\n\t}\n\n\tclient.Cluster = NewCluster(client)\n\tclient.KV = NewKV(client)\n\tclient.Lease = NewLease(client)\n\tclient.Watcher = NewWatcher(client)\n\tclient.Auth = NewAuth(client)\n\tclient.Maintenance = NewMaintenance(client)\n\n\tif cfg.RejectOldCluster {\n\t\tif err := client.checkVersion(); err != nil {\n\t\t\tclient.Close()\n\t\t\treturn nil, err\n\t\t}\n\t}\n\n\tgo client.autoSync()\n\treturn client, nil\n}\n\nfunc (c *Client) checkVersion() (err error) {\n\tvar wg sync.WaitGroup\n\terrc := make(chan error, len(c.cfg.Endpoints))\n\tctx, cancel := context.WithCancel(c.ctx)\n\tif c.cfg.DialTimeout > 0 {\n\t\tctx, cancel = context.WithTimeout(ctx, c.cfg.DialTimeout)\n\t}\n\twg.Add(len(c.cfg.Endpoints))\n\tfor _, ep := range c.cfg.Endpoints {\n\t\t// if cluster is current, any endpoint gives a recent version\n\t\tgo func(e string) {\n\t\t\tdefer wg.Done()\n\t\t\tresp, rerr := c.Status(ctx, e)\n\t\t\tif rerr != nil {\n\t\t\t\terrc <- rerr\n\t\t\t\treturn\n\t\t\t}\n\t\t\tvs := strings.Split(resp.Version, \".\")\n\t\t\tmaj, min := 0, 0\n\t\t\tif len(vs) >= 2 {\n\t\t\t\tmaj, _ = strconv.Atoi(vs[0])\n\t\t\t\tmin, rerr = strconv.Atoi(vs[1])\n\t\t\t}\n\t\t\tif maj < 3 || (maj == 3 && min < 2) {\n\t\t\t\trerr = ErrOldCluster\n\t\t\t}\n\t\t\terrc <- rerr\n\t\t}(ep)\n\t}\n\t// wait for success\n\tfor i := 0; i < len(c.cfg.Endpoints); i++ {\n\t\tif err = <-errc; err == nil {\n\t\t\tbreak\n\t\t}\n\t}\n\tcancel()\n\twg.Wait()\n\treturn err\n}\n\n// ActiveConnection returns the current in-use connection\nfunc (c *Client) ActiveConnection() *grpc.ClientConn { return c.conn }\n\n// isHaltErr returns true if the given error and context indicate no forward\n// progress can be made, even after reconnecting.\nfunc isHaltErr(ctx context.Context, err error) bool {\n\tif ctx != nil && ctx.Err() != nil {\n\t\treturn true\n\t}\n\tif err == nil {\n\t\treturn false\n\t}\n\tev, _ := status.FromError(err)\n\t// Unavailable codes mean the system will be right back.\n\t// (e.g., can't connect, lost leader)\n\t// Treat Internal codes as if something failed, leaving the\n\t// system in an inconsistent state, but retrying could make progress.\n\t// (e.g., failed in middle of send, corrupted frame)\n\t// TODO: are permanent Internal errors possible from grpc?\n\treturn ev.Code() != codes.Unavailable && ev.Code() != codes.Internal\n}\n\n// isUnavailableErr returns true if the given error is an unavailable error\nfunc isUnavailableErr(ctx context.Context, err error) bool {\n\tif ctx != nil && ctx.Err() != nil {\n\t\treturn false\n\t}\n\tif err == nil {\n\t\treturn false\n\t}\n\tev, _ := status.FromError(err)\n\t// Unavailable codes mean the system will be right back.\n\t// (e.g., can't connect, lost leader)\n\treturn ev.Code() == codes.Unavailable\n}\n\nfunc toErr(ctx context.Context, err error) error {\n\tif err == nil {\n\t\treturn nil\n\t}\n\terr = rpctypes.Error(err)\n\tif _, ok := err.(rpctypes.EtcdError); ok {\n\t\treturn err\n\t}\n\tif ev, ok := status.FromError(err); ok {\n\t\tcode := ev.Code()\n\t\tswitch code {\n\t\tcase codes.DeadlineExceeded:\n\t\t\tfallthrough\n\t\tcase codes.Canceled:\n\t\t\tif ctx.Err() != nil {\n\t\t\t\terr = ctx.Err()\n\t\t\t}\n\t\tcase codes.Unavailable:\n\t\tcase codes.FailedPrecondition:\n\t\t\terr = grpc.ErrClientConnClosing\n\t\t}\n\t}\n\treturn err\n}\n\nfunc canceledByCaller(stopCtx context.Context, err error) bool {\n\tif stopCtx.Err() == nil || err == nil {\n\t\treturn false\n\t}\n\n\treturn err == context.Canceled || err == context.DeadlineExceeded\n}\n\nfunc getHost(ep string) string {\n\turl, uerr := url.Parse(ep)\n\tif uerr != nil || !strings.Contains(ep, \"://\") {\n\t\treturn ep\n\t}\n\treturn url.Host\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/cluster.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport (\n\t\"context\"\n\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/pkg/types\"\n\n\t\"google.golang.org/grpc\"\n)\n\ntype (\n\tMember               pb.Member\n\tMemberListResponse   pb.MemberListResponse\n\tMemberAddResponse    pb.MemberAddResponse\n\tMemberRemoveResponse pb.MemberRemoveResponse\n\tMemberUpdateResponse pb.MemberUpdateResponse\n)\n\ntype Cluster interface {\n\t// MemberList lists the current cluster membership.\n\tMemberList(ctx context.Context) (*MemberListResponse, error)\n\n\t// MemberAdd adds a new member into the cluster.\n\tMemberAdd(ctx context.Context, peerAddrs []string) (*MemberAddResponse, error)\n\n\t// MemberRemove removes an existing member from the cluster.\n\tMemberRemove(ctx context.Context, id uint64) (*MemberRemoveResponse, error)\n\n\t// MemberUpdate updates the peer addresses of the member.\n\tMemberUpdate(ctx context.Context, id uint64, peerAddrs []string) (*MemberUpdateResponse, error)\n}\n\ntype cluster struct {\n\tremote   pb.ClusterClient\n\tcallOpts []grpc.CallOption\n}\n\nfunc NewCluster(c *Client) Cluster {\n\tapi := &cluster{remote: RetryClusterClient(c)}\n\tif c != nil {\n\t\tapi.callOpts = c.callOpts\n\t}\n\treturn api\n}\n\nfunc NewClusterFromClusterClient(remote pb.ClusterClient, c *Client) Cluster {\n\tapi := &cluster{remote: remote}\n\tif c != nil {\n\t\tapi.callOpts = c.callOpts\n\t}\n\treturn api\n}\n\nfunc (c *cluster) MemberAdd(ctx context.Context, peerAddrs []string) (*MemberAddResponse, error) {\n\t// fail-fast before panic in rafthttp\n\tif _, err := types.NewURLs(peerAddrs); err != nil {\n\t\treturn nil, err\n\t}\n\n\tr := &pb.MemberAddRequest{PeerURLs: peerAddrs}\n\tresp, err := c.remote.MemberAdd(ctx, r, c.callOpts...)\n\tif err != nil {\n\t\treturn nil, toErr(ctx, err)\n\t}\n\treturn (*MemberAddResponse)(resp), nil\n}\n\nfunc (c *cluster) MemberRemove(ctx context.Context, id uint64) (*MemberRemoveResponse, error) {\n\tr := &pb.MemberRemoveRequest{ID: id}\n\tresp, err := c.remote.MemberRemove(ctx, r, c.callOpts...)\n\tif err != nil {\n\t\treturn nil, toErr(ctx, err)\n\t}\n\treturn (*MemberRemoveResponse)(resp), nil\n}\n\nfunc (c *cluster) MemberUpdate(ctx context.Context, id uint64, peerAddrs []string) (*MemberUpdateResponse, error) {\n\t// fail-fast before panic in rafthttp\n\tif _, err := types.NewURLs(peerAddrs); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// it is safe to retry on update.\n\tr := &pb.MemberUpdateRequest{ID: id, PeerURLs: peerAddrs}\n\tresp, err := c.remote.MemberUpdate(ctx, r, c.callOpts...)\n\tif err == nil {\n\t\treturn (*MemberUpdateResponse)(resp), nil\n\t}\n\treturn nil, toErr(ctx, err)\n}\n\nfunc (c *cluster) MemberList(ctx context.Context) (*MemberListResponse, error) {\n\t// it is safe to retry on list.\n\tresp, err := c.remote.MemberList(ctx, &pb.MemberListRequest{}, c.callOpts...)\n\tif err == nil {\n\t\treturn (*MemberListResponse)(resp), nil\n\t}\n\treturn nil, toErr(ctx, err)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/compact_op.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport (\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n)\n\n// CompactOp represents a compact operation.\ntype CompactOp struct {\n\trevision int64\n\tphysical bool\n}\n\n// CompactOption configures compact operation.\ntype CompactOption func(*CompactOp)\n\nfunc (op *CompactOp) applyCompactOpts(opts []CompactOption) {\n\tfor _, opt := range opts {\n\t\topt(op)\n\t}\n}\n\n// OpCompact wraps slice CompactOption to create a CompactOp.\nfunc OpCompact(rev int64, opts ...CompactOption) CompactOp {\n\tret := CompactOp{revision: rev}\n\tret.applyCompactOpts(opts)\n\treturn ret\n}\n\nfunc (op CompactOp) toRequest() *pb.CompactionRequest {\n\treturn &pb.CompactionRequest{Revision: op.revision, Physical: op.physical}\n}\n\n// WithCompactPhysical makes Compact wait until all compacted entries are\n// removed from the etcd server's storage.\nfunc WithCompactPhysical() CompactOption {\n\treturn func(op *CompactOp) { op.physical = true }\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/compare.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport (\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n)\n\ntype CompareTarget int\ntype CompareResult int\n\nconst (\n\tCompareVersion CompareTarget = iota\n\tCompareCreated\n\tCompareModified\n\tCompareValue\n)\n\ntype Cmp pb.Compare\n\nfunc Compare(cmp Cmp, result string, v interface{}) Cmp {\n\tvar r pb.Compare_CompareResult\n\n\tswitch result {\n\tcase \"=\":\n\t\tr = pb.Compare_EQUAL\n\tcase \"!=\":\n\t\tr = pb.Compare_NOT_EQUAL\n\tcase \">\":\n\t\tr = pb.Compare_GREATER\n\tcase \"<\":\n\t\tr = pb.Compare_LESS\n\tdefault:\n\t\tpanic(\"Unknown result op\")\n\t}\n\n\tcmp.Result = r\n\tswitch cmp.Target {\n\tcase pb.Compare_VALUE:\n\t\tval, ok := v.(string)\n\t\tif !ok {\n\t\t\tpanic(\"bad compare value\")\n\t\t}\n\t\tcmp.TargetUnion = &pb.Compare_Value{Value: []byte(val)}\n\tcase pb.Compare_VERSION:\n\t\tcmp.TargetUnion = &pb.Compare_Version{Version: mustInt64(v)}\n\tcase pb.Compare_CREATE:\n\t\tcmp.TargetUnion = &pb.Compare_CreateRevision{CreateRevision: mustInt64(v)}\n\tcase pb.Compare_MOD:\n\t\tcmp.TargetUnion = &pb.Compare_ModRevision{ModRevision: mustInt64(v)}\n\tcase pb.Compare_LEASE:\n\t\tcmp.TargetUnion = &pb.Compare_Lease{Lease: mustInt64orLeaseID(v)}\n\tdefault:\n\t\tpanic(\"Unknown compare type\")\n\t}\n\treturn cmp\n}\n\nfunc Value(key string) Cmp {\n\treturn Cmp{Key: []byte(key), Target: pb.Compare_VALUE}\n}\n\nfunc Version(key string) Cmp {\n\treturn Cmp{Key: []byte(key), Target: pb.Compare_VERSION}\n}\n\nfunc CreateRevision(key string) Cmp {\n\treturn Cmp{Key: []byte(key), Target: pb.Compare_CREATE}\n}\n\nfunc ModRevision(key string) Cmp {\n\treturn Cmp{Key: []byte(key), Target: pb.Compare_MOD}\n}\n\n// LeaseValue compares a key's LeaseID to a value of your choosing. The empty\n// LeaseID is 0, otherwise known as `NoLease`.\nfunc LeaseValue(key string) Cmp {\n\treturn Cmp{Key: []byte(key), Target: pb.Compare_LEASE}\n}\n\n// KeyBytes returns the byte slice holding with the comparison key.\nfunc (cmp *Cmp) KeyBytes() []byte { return cmp.Key }\n\n// WithKeyBytes sets the byte slice for the comparison key.\nfunc (cmp *Cmp) WithKeyBytes(key []byte) { cmp.Key = key }\n\n// ValueBytes returns the byte slice holding the comparison value, if any.\nfunc (cmp *Cmp) ValueBytes() []byte {\n\tif tu, ok := cmp.TargetUnion.(*pb.Compare_Value); ok {\n\t\treturn tu.Value\n\t}\n\treturn nil\n}\n\n// WithValueBytes sets the byte slice for the comparison's value.\nfunc (cmp *Cmp) WithValueBytes(v []byte) { cmp.TargetUnion.(*pb.Compare_Value).Value = v }\n\n// WithRange sets the comparison to scan the range [key, end).\nfunc (cmp Cmp) WithRange(end string) Cmp {\n\tcmp.RangeEnd = []byte(end)\n\treturn cmp\n}\n\n// WithPrefix sets the comparison to scan all keys prefixed by the key.\nfunc (cmp Cmp) WithPrefix() Cmp {\n\tcmp.RangeEnd = getPrefix(cmp.Key)\n\treturn cmp\n}\n\n// mustInt64 panics if val isn't an int or int64. It returns an int64 otherwise.\nfunc mustInt64(val interface{}) int64 {\n\tif v, ok := val.(int64); ok {\n\t\treturn v\n\t}\n\tif v, ok := val.(int); ok {\n\t\treturn int64(v)\n\t}\n\tpanic(\"bad value\")\n}\n\n// mustInt64orLeaseID panics if val isn't a LeaseID, int or int64. It returns an\n// int64 otherwise.\nfunc mustInt64orLeaseID(val interface{}) int64 {\n\tif v, ok := val.(LeaseID); ok {\n\t\treturn int64(v)\n\t}\n\treturn mustInt64(val)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/config.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport (\n\t\"context\"\n\t\"crypto/tls\"\n\t\"time\"\n\n\t\"google.golang.org/grpc\"\n)\n\ntype Config struct {\n\t// Endpoints is a list of URLs.\n\tEndpoints []string `json:\"endpoints\"`\n\n\t// AutoSyncInterval is the interval to update endpoints with its latest members.\n\t// 0 disables auto-sync. By default auto-sync is disabled.\n\tAutoSyncInterval time.Duration `json:\"auto-sync-interval\"`\n\n\t// DialTimeout is the timeout for failing to establish a connection.\n\tDialTimeout time.Duration `json:\"dial-timeout\"`\n\n\t// DialKeepAliveTime is the time after which client pings the server to see if\n\t// transport is alive.\n\tDialKeepAliveTime time.Duration `json:\"dial-keep-alive-time\"`\n\n\t// DialKeepAliveTimeout is the time that the client waits for a response for the\n\t// keep-alive probe. If the response is not received in this time, the connection is closed.\n\tDialKeepAliveTimeout time.Duration `json:\"dial-keep-alive-timeout\"`\n\n\t// MaxCallSendMsgSize is the client-side request send limit in bytes.\n\t// If 0, it defaults to 2.0 MiB (2 * 1024 * 1024).\n\t// Make sure that \"MaxCallSendMsgSize\" < server-side default send/recv limit.\n\t// (\"--max-request-bytes\" flag to etcd or \"embed.Config.MaxRequestBytes\").\n\tMaxCallSendMsgSize int\n\n\t// MaxCallRecvMsgSize is the client-side response receive limit.\n\t// If 0, it defaults to \"math.MaxInt32\", because range response can\n\t// easily exceed request send limits.\n\t// Make sure that \"MaxCallRecvMsgSize\" >= server-side default send/recv limit.\n\t// (\"--max-request-bytes\" flag to etcd or \"embed.Config.MaxRequestBytes\").\n\tMaxCallRecvMsgSize int\n\n\t// TLS holds the client secure credentials, if any.\n\tTLS *tls.Config\n\n\t// Username is a user name for authentication.\n\tUsername string `json:\"username\"`\n\n\t// Password is a password for authentication.\n\tPassword string `json:\"password\"`\n\n\t// RejectOldCluster when set will refuse to create a client against an outdated cluster.\n\tRejectOldCluster bool `json:\"reject-old-cluster\"`\n\n\t// DialOptions is a list of dial options for the grpc client (e.g., for interceptors).\n\tDialOptions []grpc.DialOption\n\n\t// Context is the default client context; it can be used to cancel grpc dial out and\n\t// other operations that do not have an explicit context.\n\tContext context.Context\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/doc.go",
    "content": "// Copyright 2016 The etcd Authors\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// Package clientv3 implements the official Go etcd client for v3.\n//\n// Create client using `clientv3.New`:\n//\n//\t// expect dial time-out on ipv4 blackhole\n//\t_, err := clientv3.New(clientv3.Config{\n//\t\tEndpoints:   []string{\"http://254.0.0.1:12345\"},\n//\t\tDialTimeout: 2 * time.Second\n//\t})\n//\n//\t// etcd clientv3 >= v3.2.10, grpc/grpc-go >= v1.7.3\n//\tif err == context.DeadlineExceeded {\n//\t\t// handle errors\n//\t}\n//\n//\t// etcd clientv3 <= v3.2.9, grpc/grpc-go <= v1.2.1\n//\tif err == grpc.ErrClientConnTimeout {\n//\t\t// handle errors\n//\t}\n//\n//\tcli, err := clientv3.New(clientv3.Config{\n//\t\tEndpoints:   []string{\"localhost:2379\", \"localhost:22379\", \"localhost:32379\"},\n//\t\tDialTimeout: 5 * time.Second,\n//\t})\n//\tif err != nil {\n//\t\t// handle error!\n//\t}\n//\tdefer cli.Close()\n//\n// Make sure to close the client after using it. If the client is not closed, the\n// connection will have leaky goroutines.\n//\n// To specify a client request timeout, wrap the context with context.WithTimeout:\n//\n//\tctx, cancel := context.WithTimeout(context.Background(), timeout)\n//\tresp, err := kvc.Put(ctx, \"sample_key\", \"sample_value\")\n//\tcancel()\n//\tif err != nil {\n//\t    // handle error!\n//\t}\n//\t// use the response\n//\n// The Client has internal state (watchers and leases), so Clients should be reused instead of created as needed.\n// Clients are safe for concurrent use by multiple goroutines.\n//\n// etcd client returns 3 types of errors:\n//\n//  1. context error: canceled or deadline exceeded.\n//  2. gRPC status error: e.g. when clock drifts in server-side before client's context deadline exceeded.\n//  3. gRPC error: see https://github.com/coreos/etcd/blob/master/etcdserver/api/v3rpc/rpctypes/error.go\n//\n// Here is the example code to handle client errors:\n//\n//\tresp, err := kvc.Put(ctx, \"\", \"\")\n//\tif err != nil {\n//\t\tif err == context.Canceled {\n//\t\t\t// ctx is canceled by another routine\n//\t\t} else if err == context.DeadlineExceeded {\n//\t\t\t// ctx is attached with a deadline and it exceeded\n//\t\t} else if ev, ok := status.FromError(err); ok {\n//\t\t\tcode := ev.Code()\n//\t\t\tif code == codes.DeadlineExceeded {\n//\t\t\t\t// server-side context might have timed-out first (due to clock skew)\n//\t\t\t\t// while original client-side context is not timed-out yet\n//\t\t\t}\n//\t\t} else if verr, ok := err.(*v3rpc.ErrEmptyKey); ok {\n//\t\t\t// process (verr.Errors)\n//\t\t} else {\n//\t\t\t// bad cluster endpoints, which are not etcd servers\n//\t\t}\n//\t}\n//\n//\tgo func() { cli.Close() }()\n//\t_, err := kvc.Get(ctx, \"a\")\n//\tif err != nil {\n//\t\tif err == context.Canceled {\n//\t\t\t// grpc balancer calls 'Get' with an inflight client.Close\n//\t\t} else if err == grpc.ErrClientConnClosing {\n//\t\t\t// grpc balancer calls 'Get' after client.Close.\n//\t\t}\n//\t}\n//\npackage clientv3\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/kv.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage clientv3\n\nimport (\n\t\"context\"\n\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\n\t\"google.golang.org/grpc\"\n)\n\ntype (\n\tCompactResponse pb.CompactionResponse\n\tPutResponse     pb.PutResponse\n\tGetResponse     pb.RangeResponse\n\tDeleteResponse  pb.DeleteRangeResponse\n\tTxnResponse     pb.TxnResponse\n)\n\ntype KV interface {\n\t// Put puts a key-value pair into etcd.\n\t// Note that key,value can be plain bytes array and string is\n\t// an immutable representation of that bytes array.\n\t// To get a string of bytes, do string([]byte{0x10, 0x20}).\n\tPut(ctx context.Context, key, val string, opts ...OpOption) (*PutResponse, error)\n\n\t// Get retrieves keys.\n\t// By default, Get will return the value for \"key\", if any.\n\t// When passed WithRange(end), Get will return the keys in the range [key, end).\n\t// When passed WithFromKey(), Get returns keys greater than or equal to key.\n\t// When passed WithRev(rev) with rev > 0, Get retrieves keys at the given revision;\n\t// if the required revision is compacted, the request will fail with ErrCompacted .\n\t// When passed WithLimit(limit), the number of returned keys is bounded by limit.\n\t// When passed WithSort(), the keys will be sorted.\n\tGet(ctx context.Context, key string, opts ...OpOption) (*GetResponse, error)\n\n\t// Delete deletes a key, or optionally using WithRange(end), [key, end).\n\tDelete(ctx context.Context, key string, opts ...OpOption) (*DeleteResponse, error)\n\n\t// Compact compacts etcd KV history before the given rev.\n\tCompact(ctx context.Context, rev int64, opts ...CompactOption) (*CompactResponse, error)\n\n\t// Do applies a single Op on KV without a transaction.\n\t// Do is useful when creating arbitrary operations to be issued at a\n\t// later time; the user can range over the operations, calling Do to\n\t// execute them. Get/Put/Delete, on the other hand, are best suited\n\t// for when the operation should be issued at the time of declaration.\n\tDo(ctx context.Context, op Op) (OpResponse, error)\n\n\t// Txn creates a transaction.\n\tTxn(ctx context.Context) Txn\n}\n\ntype OpResponse struct {\n\tput *PutResponse\n\tget *GetResponse\n\tdel *DeleteResponse\n\ttxn *TxnResponse\n}\n\nfunc (op OpResponse) Put() *PutResponse    { return op.put }\nfunc (op OpResponse) Get() *GetResponse    { return op.get }\nfunc (op OpResponse) Del() *DeleteResponse { return op.del }\nfunc (op OpResponse) Txn() *TxnResponse    { return op.txn }\n\nfunc (resp *PutResponse) OpResponse() OpResponse {\n\treturn OpResponse{put: resp}\n}\nfunc (resp *GetResponse) OpResponse() OpResponse {\n\treturn OpResponse{get: resp}\n}\nfunc (resp *DeleteResponse) OpResponse() OpResponse {\n\treturn OpResponse{del: resp}\n}\nfunc (resp *TxnResponse) OpResponse() OpResponse {\n\treturn OpResponse{txn: resp}\n}\n\ntype kv struct {\n\tremote   pb.KVClient\n\tcallOpts []grpc.CallOption\n}\n\nfunc NewKV(c *Client) KV {\n\tapi := &kv{remote: RetryKVClient(c)}\n\tif c != nil {\n\t\tapi.callOpts = c.callOpts\n\t}\n\treturn api\n}\n\nfunc NewKVFromKVClient(remote pb.KVClient, c *Client) KV {\n\tapi := &kv{remote: remote}\n\tif c != nil {\n\t\tapi.callOpts = c.callOpts\n\t}\n\treturn api\n}\n\nfunc (kv *kv) Put(ctx context.Context, key, val string, opts ...OpOption) (*PutResponse, error) {\n\tr, err := kv.Do(ctx, OpPut(key, val, opts...))\n\treturn r.put, toErr(ctx, err)\n}\n\nfunc (kv *kv) Get(ctx context.Context, key string, opts ...OpOption) (*GetResponse, error) {\n\tr, err := kv.Do(ctx, OpGet(key, opts...))\n\treturn r.get, toErr(ctx, err)\n}\n\nfunc (kv *kv) Delete(ctx context.Context, key string, opts ...OpOption) (*DeleteResponse, error) {\n\tr, err := kv.Do(ctx, OpDelete(key, opts...))\n\treturn r.del, toErr(ctx, err)\n}\n\nfunc (kv *kv) Compact(ctx context.Context, rev int64, opts ...CompactOption) (*CompactResponse, error) {\n\tresp, err := kv.remote.Compact(ctx, OpCompact(rev, opts...).toRequest(), kv.callOpts...)\n\tif err != nil {\n\t\treturn nil, toErr(ctx, err)\n\t}\n\treturn (*CompactResponse)(resp), err\n}\n\nfunc (kv *kv) Txn(ctx context.Context) Txn {\n\treturn &txn{\n\t\tkv:       kv,\n\t\tctx:      ctx,\n\t\tcallOpts: kv.callOpts,\n\t}\n}\n\nfunc (kv *kv) Do(ctx context.Context, op Op) (OpResponse, error) {\n\tvar err error\n\tswitch op.t {\n\tcase tRange:\n\t\tvar resp *pb.RangeResponse\n\t\tresp, err = kv.remote.Range(ctx, op.toRangeRequest(), kv.callOpts...)\n\t\tif err == nil {\n\t\t\treturn OpResponse{get: (*GetResponse)(resp)}, nil\n\t\t}\n\tcase tPut:\n\t\tvar resp *pb.PutResponse\n\t\tr := &pb.PutRequest{Key: op.key, Value: op.val, Lease: int64(op.leaseID), PrevKv: op.prevKV, IgnoreValue: op.ignoreValue, IgnoreLease: op.ignoreLease}\n\t\tresp, err = kv.remote.Put(ctx, r, kv.callOpts...)\n\t\tif err == nil {\n\t\t\treturn OpResponse{put: (*PutResponse)(resp)}, nil\n\t\t}\n\tcase tDeleteRange:\n\t\tvar resp *pb.DeleteRangeResponse\n\t\tr := &pb.DeleteRangeRequest{Key: op.key, RangeEnd: op.end, PrevKv: op.prevKV}\n\t\tresp, err = kv.remote.DeleteRange(ctx, r, kv.callOpts...)\n\t\tif err == nil {\n\t\t\treturn OpResponse{del: (*DeleteResponse)(resp)}, nil\n\t\t}\n\tcase tTxn:\n\t\tvar resp *pb.TxnResponse\n\t\tresp, err = kv.remote.Txn(ctx, op.toTxnRequest(), kv.callOpts...)\n\t\tif err == nil {\n\t\t\treturn OpResponse{txn: (*TxnResponse)(resp)}, nil\n\t\t}\n\tdefault:\n\t\tpanic(\"Unknown op\")\n\t}\n\treturn OpResponse{}, toErr(ctx, err)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/lease.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport (\n\t\"context\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\n\t\"google.golang.org/grpc\"\n\t\"google.golang.org/grpc/metadata\"\n)\n\ntype (\n\tLeaseRevokeResponse pb.LeaseRevokeResponse\n\tLeaseID             int64\n)\n\n// LeaseGrantResponse wraps the protobuf message LeaseGrantResponse.\ntype LeaseGrantResponse struct {\n\t*pb.ResponseHeader\n\tID    LeaseID\n\tTTL   int64\n\tError string\n}\n\n// LeaseKeepAliveResponse wraps the protobuf message LeaseKeepAliveResponse.\ntype LeaseKeepAliveResponse struct {\n\t*pb.ResponseHeader\n\tID  LeaseID\n\tTTL int64\n}\n\n// LeaseTimeToLiveResponse wraps the protobuf message LeaseTimeToLiveResponse.\ntype LeaseTimeToLiveResponse struct {\n\t*pb.ResponseHeader\n\tID LeaseID `json:\"id\"`\n\n\t// TTL is the remaining TTL in seconds for the lease; the lease will expire in under TTL+1 seconds. Expired lease will return -1.\n\tTTL int64 `json:\"ttl\"`\n\n\t// GrantedTTL is the initial granted time in seconds upon lease creation/renewal.\n\tGrantedTTL int64 `json:\"granted-ttl\"`\n\n\t// Keys is the list of keys attached to this lease.\n\tKeys [][]byte `json:\"keys\"`\n}\n\n// LeaseStatus represents a lease status.\ntype LeaseStatus struct {\n\tID LeaseID `json:\"id\"`\n\t// TODO: TTL int64\n}\n\n// LeaseLeasesResponse wraps the protobuf message LeaseLeasesResponse.\ntype LeaseLeasesResponse struct {\n\t*pb.ResponseHeader\n\tLeases []LeaseStatus `json:\"leases\"`\n}\n\nconst (\n\t// defaultTTL is the assumed lease TTL used for the first keepalive\n\t// deadline before the actual TTL is known to the client.\n\tdefaultTTL = 5 * time.Second\n\t// a small buffer to store unsent lease responses.\n\tleaseResponseChSize = 16\n\t// NoLease is a lease ID for the absence of a lease.\n\tNoLease LeaseID = 0\n\n\t// retryConnWait is how long to wait before retrying request due to an error\n\tretryConnWait = 500 * time.Millisecond\n)\n\n// ErrKeepAliveHalted is returned if client keep alive loop halts with an unexpected error.\n//\n// This usually means that automatic lease renewal via KeepAlive is broken, but KeepAliveOnce will still work as expected.\ntype ErrKeepAliveHalted struct {\n\tReason error\n}\n\nfunc (e ErrKeepAliveHalted) Error() string {\n\ts := \"etcdclient: leases keep alive halted\"\n\tif e.Reason != nil {\n\t\ts += \": \" + e.Reason.Error()\n\t}\n\treturn s\n}\n\ntype Lease interface {\n\t// Grant creates a new lease.\n\tGrant(ctx context.Context, ttl int64) (*LeaseGrantResponse, error)\n\n\t// Revoke revokes the given lease.\n\tRevoke(ctx context.Context, id LeaseID) (*LeaseRevokeResponse, error)\n\n\t// TimeToLive retrieves the lease information of the given lease ID.\n\tTimeToLive(ctx context.Context, id LeaseID, opts ...LeaseOption) (*LeaseTimeToLiveResponse, error)\n\n\t// Leases retrieves all leases.\n\tLeases(ctx context.Context) (*LeaseLeasesResponse, error)\n\n\t// KeepAlive keeps the given lease alive forever. If the keepalive response\n\t// posted to the channel is not consumed immediately, the lease client will\n\t// continue sending keep alive requests to the etcd server at least every\n\t// second until latest response is consumed.\n\t//\n\t// The returned \"LeaseKeepAliveResponse\" channel closes if underlying keep\n\t// alive stream is interrupted in some way the client cannot handle itself;\n\t// given context \"ctx\" is canceled or timed out. \"LeaseKeepAliveResponse\"\n\t// from this closed channel is nil.\n\t//\n\t// If client keep alive loop halts with an unexpected error (e.g. \"etcdserver:\n\t// no leader\") or canceled by the caller (e.g. context.Canceled), the error\n\t// is returned. Otherwise, it retries.\n\t//\n\t// TODO(v4.0): post errors to last keep alive message before closing\n\t// (see https://github.com/coreos/etcd/pull/7866)\n\tKeepAlive(ctx context.Context, id LeaseID) (<-chan *LeaseKeepAliveResponse, error)\n\n\t// KeepAliveOnce renews the lease once. The response corresponds to the\n\t// first message from calling KeepAlive. If the response has a recoverable\n\t// error, KeepAliveOnce will retry the RPC with a new keep alive message.\n\t//\n\t// In most of the cases, Keepalive should be used instead of KeepAliveOnce.\n\tKeepAliveOnce(ctx context.Context, id LeaseID) (*LeaseKeepAliveResponse, error)\n\n\t// Close releases all resources Lease keeps for efficient communication\n\t// with the etcd server.\n\tClose() error\n}\n\ntype lessor struct {\n\tmu sync.Mutex // guards all fields\n\n\t// donec is closed and loopErr is set when recvKeepAliveLoop stops\n\tdonec   chan struct{}\n\tloopErr error\n\n\tremote pb.LeaseClient\n\n\tstream       pb.Lease_LeaseKeepAliveClient\n\tstreamCancel context.CancelFunc\n\n\tstopCtx    context.Context\n\tstopCancel context.CancelFunc\n\n\tkeepAlives map[LeaseID]*keepAlive\n\n\t// firstKeepAliveTimeout is the timeout for the first keepalive request\n\t// before the actual TTL is known to the lease client\n\tfirstKeepAliveTimeout time.Duration\n\n\t// firstKeepAliveOnce ensures stream starts after first KeepAlive call.\n\tfirstKeepAliveOnce sync.Once\n\n\tcallOpts []grpc.CallOption\n}\n\n// keepAlive multiplexes a keepalive for a lease over multiple channels\ntype keepAlive struct {\n\tchs  []chan<- *LeaseKeepAliveResponse\n\tctxs []context.Context\n\t// deadline is the time the keep alive channels close if no response\n\tdeadline time.Time\n\t// nextKeepAlive is when to send the next keep alive message\n\tnextKeepAlive time.Time\n\t// donec is closed on lease revoke, expiration, or cancel.\n\tdonec chan struct{}\n}\n\nfunc NewLease(c *Client) Lease {\n\treturn NewLeaseFromLeaseClient(RetryLeaseClient(c), c, c.cfg.DialTimeout+time.Second)\n}\n\nfunc NewLeaseFromLeaseClient(remote pb.LeaseClient, c *Client, keepAliveTimeout time.Duration) Lease {\n\tl := &lessor{\n\t\tdonec:                 make(chan struct{}),\n\t\tkeepAlives:            make(map[LeaseID]*keepAlive),\n\t\tremote:                remote,\n\t\tfirstKeepAliveTimeout: keepAliveTimeout,\n\t}\n\tif l.firstKeepAliveTimeout == time.Second {\n\t\tl.firstKeepAliveTimeout = defaultTTL\n\t}\n\tif c != nil {\n\t\tl.callOpts = c.callOpts\n\t}\n\treqLeaderCtx := WithRequireLeader(context.Background())\n\tl.stopCtx, l.stopCancel = context.WithCancel(reqLeaderCtx)\n\treturn l\n}\n\nfunc (l *lessor) Grant(ctx context.Context, ttl int64) (*LeaseGrantResponse, error) {\n\tr := &pb.LeaseGrantRequest{TTL: ttl}\n\tresp, err := l.remote.LeaseGrant(ctx, r, l.callOpts...)\n\tif err == nil {\n\t\tgresp := &LeaseGrantResponse{\n\t\t\tResponseHeader: resp.GetHeader(),\n\t\t\tID:             LeaseID(resp.ID),\n\t\t\tTTL:            resp.TTL,\n\t\t\tError:          resp.Error,\n\t\t}\n\t\treturn gresp, nil\n\t}\n\treturn nil, toErr(ctx, err)\n}\n\nfunc (l *lessor) Revoke(ctx context.Context, id LeaseID) (*LeaseRevokeResponse, error) {\n\tr := &pb.LeaseRevokeRequest{ID: int64(id)}\n\tresp, err := l.remote.LeaseRevoke(ctx, r, l.callOpts...)\n\tif err == nil {\n\t\treturn (*LeaseRevokeResponse)(resp), nil\n\t}\n\treturn nil, toErr(ctx, err)\n}\n\nfunc (l *lessor) TimeToLive(ctx context.Context, id LeaseID, opts ...LeaseOption) (*LeaseTimeToLiveResponse, error) {\n\tr := toLeaseTimeToLiveRequest(id, opts...)\n\tresp, err := l.remote.LeaseTimeToLive(ctx, r, l.callOpts...)\n\tif err == nil {\n\t\tgresp := &LeaseTimeToLiveResponse{\n\t\t\tResponseHeader: resp.GetHeader(),\n\t\t\tID:             LeaseID(resp.ID),\n\t\t\tTTL:            resp.TTL,\n\t\t\tGrantedTTL:     resp.GrantedTTL,\n\t\t\tKeys:           resp.Keys,\n\t\t}\n\t\treturn gresp, nil\n\t}\n\treturn nil, toErr(ctx, err)\n}\n\nfunc (l *lessor) Leases(ctx context.Context) (*LeaseLeasesResponse, error) {\n\tresp, err := l.remote.LeaseLeases(ctx, &pb.LeaseLeasesRequest{}, l.callOpts...)\n\tif err == nil {\n\t\tleases := make([]LeaseStatus, len(resp.Leases))\n\t\tfor i := range resp.Leases {\n\t\t\tleases[i] = LeaseStatus{ID: LeaseID(resp.Leases[i].ID)}\n\t\t}\n\t\treturn &LeaseLeasesResponse{ResponseHeader: resp.GetHeader(), Leases: leases}, nil\n\t}\n\treturn nil, toErr(ctx, err)\n}\n\nfunc (l *lessor) KeepAlive(ctx context.Context, id LeaseID) (<-chan *LeaseKeepAliveResponse, error) {\n\tch := make(chan *LeaseKeepAliveResponse, leaseResponseChSize)\n\n\tl.mu.Lock()\n\t// ensure that recvKeepAliveLoop is still running\n\tselect {\n\tcase <-l.donec:\n\t\terr := l.loopErr\n\t\tl.mu.Unlock()\n\t\tclose(ch)\n\t\treturn ch, ErrKeepAliveHalted{Reason: err}\n\tdefault:\n\t}\n\tka, ok := l.keepAlives[id]\n\tif !ok {\n\t\t// create fresh keep alive\n\t\tka = &keepAlive{\n\t\t\tchs:           []chan<- *LeaseKeepAliveResponse{ch},\n\t\t\tctxs:          []context.Context{ctx},\n\t\t\tdeadline:      time.Now().Add(l.firstKeepAliveTimeout),\n\t\t\tnextKeepAlive: time.Now(),\n\t\t\tdonec:         make(chan struct{}),\n\t\t}\n\t\tl.keepAlives[id] = ka\n\t} else {\n\t\t// add channel and context to existing keep alive\n\t\tka.ctxs = append(ka.ctxs, ctx)\n\t\tka.chs = append(ka.chs, ch)\n\t}\n\tl.mu.Unlock()\n\n\tgo l.keepAliveCtxCloser(id, ctx, ka.donec)\n\tl.firstKeepAliveOnce.Do(func() {\n\t\tgo l.recvKeepAliveLoop()\n\t\tgo l.deadlineLoop()\n\t})\n\n\treturn ch, nil\n}\n\nfunc (l *lessor) KeepAliveOnce(ctx context.Context, id LeaseID) (*LeaseKeepAliveResponse, error) {\n\tfor {\n\t\tresp, err := l.keepAliveOnce(ctx, id)\n\t\tif err == nil {\n\t\t\tif resp.TTL <= 0 {\n\t\t\t\terr = rpctypes.ErrLeaseNotFound\n\t\t\t}\n\t\t\treturn resp, err\n\t\t}\n\t\tif isHaltErr(ctx, err) {\n\t\t\treturn nil, toErr(ctx, err)\n\t\t}\n\t}\n}\n\nfunc (l *lessor) Close() error {\n\tl.stopCancel()\n\t// close for synchronous teardown if stream goroutines never launched\n\tl.firstKeepAliveOnce.Do(func() { close(l.donec) })\n\t<-l.donec\n\treturn nil\n}\n\nfunc (l *lessor) keepAliveCtxCloser(id LeaseID, ctx context.Context, donec <-chan struct{}) {\n\tselect {\n\tcase <-donec:\n\t\treturn\n\tcase <-l.donec:\n\t\treturn\n\tcase <-ctx.Done():\n\t}\n\n\tl.mu.Lock()\n\tdefer l.mu.Unlock()\n\n\tka, ok := l.keepAlives[id]\n\tif !ok {\n\t\treturn\n\t}\n\n\t// close channel and remove context if still associated with keep alive\n\tfor i, c := range ka.ctxs {\n\t\tif c == ctx {\n\t\t\tclose(ka.chs[i])\n\t\t\tka.ctxs = append(ka.ctxs[:i], ka.ctxs[i+1:]...)\n\t\t\tka.chs = append(ka.chs[:i], ka.chs[i+1:]...)\n\t\t\tbreak\n\t\t}\n\t}\n\t// remove if no one more listeners\n\tif len(ka.chs) == 0 {\n\t\tdelete(l.keepAlives, id)\n\t}\n}\n\n// closeRequireLeader scans keepAlives for ctxs that have require leader\n// and closes the associated channels.\nfunc (l *lessor) closeRequireLeader() {\n\tl.mu.Lock()\n\tdefer l.mu.Unlock()\n\tfor _, ka := range l.keepAlives {\n\t\treqIdxs := 0\n\t\t// find all required leader channels, close, mark as nil\n\t\tfor i, ctx := range ka.ctxs {\n\t\t\tmd, ok := metadata.FromOutgoingContext(ctx)\n\t\t\tif !ok {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tks := md[rpctypes.MetadataRequireLeaderKey]\n\t\t\tif len(ks) < 1 || ks[0] != rpctypes.MetadataHasLeader {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tclose(ka.chs[i])\n\t\t\tka.chs[i] = nil\n\t\t\treqIdxs++\n\t\t}\n\t\tif reqIdxs == 0 {\n\t\t\tcontinue\n\t\t}\n\t\t// remove all channels that required a leader from keepalive\n\t\tnewChs := make([]chan<- *LeaseKeepAliveResponse, len(ka.chs)-reqIdxs)\n\t\tnewCtxs := make([]context.Context, len(newChs))\n\t\tnewIdx := 0\n\t\tfor i := range ka.chs {\n\t\t\tif ka.chs[i] == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tnewChs[newIdx], newCtxs[newIdx] = ka.chs[i], ka.ctxs[newIdx]\n\t\t\tnewIdx++\n\t\t}\n\t\tka.chs, ka.ctxs = newChs, newCtxs\n\t}\n}\n\nfunc (l *lessor) keepAliveOnce(ctx context.Context, id LeaseID) (*LeaseKeepAliveResponse, error) {\n\tcctx, cancel := context.WithCancel(ctx)\n\tdefer cancel()\n\n\tstream, err := l.remote.LeaseKeepAlive(cctx, l.callOpts...)\n\tif err != nil {\n\t\treturn nil, toErr(ctx, err)\n\t}\n\n\terr = stream.Send(&pb.LeaseKeepAliveRequest{ID: int64(id)})\n\tif err != nil {\n\t\treturn nil, toErr(ctx, err)\n\t}\n\n\tresp, rerr := stream.Recv()\n\tif rerr != nil {\n\t\treturn nil, toErr(ctx, rerr)\n\t}\n\n\tkaresp := &LeaseKeepAliveResponse{\n\t\tResponseHeader: resp.GetHeader(),\n\t\tID:             LeaseID(resp.ID),\n\t\tTTL:            resp.TTL,\n\t}\n\treturn karesp, nil\n}\n\nfunc (l *lessor) recvKeepAliveLoop() (gerr error) {\n\tdefer func() {\n\t\tl.mu.Lock()\n\t\tclose(l.donec)\n\t\tl.loopErr = gerr\n\t\tfor _, ka := range l.keepAlives {\n\t\t\tka.close()\n\t\t}\n\t\tl.keepAlives = make(map[LeaseID]*keepAlive)\n\t\tl.mu.Unlock()\n\t}()\n\n\tfor {\n\t\tstream, err := l.resetRecv()\n\t\tif err != nil {\n\t\t\tif canceledByCaller(l.stopCtx, err) {\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else {\n\t\t\tfor {\n\t\t\t\tresp, err := stream.Recv()\n\t\t\t\tif err != nil {\n\t\t\t\t\tif canceledByCaller(l.stopCtx, err) {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\n\t\t\t\t\tif toErr(l.stopCtx, err) == rpctypes.ErrNoLeader {\n\t\t\t\t\t\tl.closeRequireLeader()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\n\t\t\t\tl.recvKeepAlive(resp)\n\t\t\t}\n\t\t}\n\n\t\tselect {\n\t\tcase <-time.After(retryConnWait):\n\t\t\tcontinue\n\t\tcase <-l.stopCtx.Done():\n\t\t\treturn l.stopCtx.Err()\n\t\t}\n\t}\n}\n\n// resetRecv opens a new lease stream and starts sending keep alive requests.\nfunc (l *lessor) resetRecv() (pb.Lease_LeaseKeepAliveClient, error) {\n\tsctx, cancel := context.WithCancel(l.stopCtx)\n\tstream, err := l.remote.LeaseKeepAlive(sctx, l.callOpts...)\n\tif err != nil {\n\t\tcancel()\n\t\treturn nil, err\n\t}\n\n\tl.mu.Lock()\n\tdefer l.mu.Unlock()\n\tif l.stream != nil && l.streamCancel != nil {\n\t\tl.streamCancel()\n\t}\n\n\tl.streamCancel = cancel\n\tl.stream = stream\n\n\tgo l.sendKeepAliveLoop(stream)\n\treturn stream, nil\n}\n\n// recvKeepAlive updates a lease based on its LeaseKeepAliveResponse\nfunc (l *lessor) recvKeepAlive(resp *pb.LeaseKeepAliveResponse) {\n\tkaresp := &LeaseKeepAliveResponse{\n\t\tResponseHeader: resp.GetHeader(),\n\t\tID:             LeaseID(resp.ID),\n\t\tTTL:            resp.TTL,\n\t}\n\n\tl.mu.Lock()\n\tdefer l.mu.Unlock()\n\n\tka, ok := l.keepAlives[karesp.ID]\n\tif !ok {\n\t\treturn\n\t}\n\n\tif karesp.TTL <= 0 {\n\t\t// lease expired; close all keep alive channels\n\t\tdelete(l.keepAlives, karesp.ID)\n\t\tka.close()\n\t\treturn\n\t}\n\n\t// send update to all channels\n\tnextKeepAlive := time.Now().Add((time.Duration(karesp.TTL) * time.Second) / 3.0)\n\tka.deadline = time.Now().Add(time.Duration(karesp.TTL) * time.Second)\n\tfor _, ch := range ka.chs {\n\t\tselect {\n\t\tcase ch <- karesp:\n\t\t\tka.nextKeepAlive = nextKeepAlive\n\t\tdefault:\n\t\t}\n\t}\n}\n\n// deadlineLoop reaps any keep alive channels that have not received a response\n// within the lease TTL\nfunc (l *lessor) deadlineLoop() {\n\tfor {\n\t\tselect {\n\t\tcase <-time.After(time.Second):\n\t\tcase <-l.donec:\n\t\t\treturn\n\t\t}\n\t\tnow := time.Now()\n\t\tl.mu.Lock()\n\t\tfor id, ka := range l.keepAlives {\n\t\t\tif ka.deadline.Before(now) {\n\t\t\t\t// waited too long for response; lease may be expired\n\t\t\t\tka.close()\n\t\t\t\tdelete(l.keepAlives, id)\n\t\t\t}\n\t\t}\n\t\tl.mu.Unlock()\n\t}\n}\n\n// sendKeepAliveLoop sends keep alive requests for the lifetime of the given stream.\nfunc (l *lessor) sendKeepAliveLoop(stream pb.Lease_LeaseKeepAliveClient) {\n\tfor {\n\t\tvar tosend []LeaseID\n\n\t\tnow := time.Now()\n\t\tl.mu.Lock()\n\t\tfor id, ka := range l.keepAlives {\n\t\t\tif ka.nextKeepAlive.Before(now) {\n\t\t\t\ttosend = append(tosend, id)\n\t\t\t}\n\t\t}\n\t\tl.mu.Unlock()\n\n\t\tfor _, id := range tosend {\n\t\t\tr := &pb.LeaseKeepAliveRequest{ID: int64(id)}\n\t\t\tif err := stream.Send(r); err != nil {\n\t\t\t\t// TODO do something with this error?\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tselect {\n\t\tcase <-time.After(500 * time.Millisecond):\n\t\tcase <-stream.Context().Done():\n\t\t\treturn\n\t\tcase <-l.donec:\n\t\t\treturn\n\t\tcase <-l.stopCtx.Done():\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (ka *keepAlive) close() {\n\tclose(ka.donec)\n\tfor _, ch := range ka.chs {\n\t\tclose(ch)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/logger.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport (\n\t\"io/ioutil\"\n\t\"sync\"\n\n\t\"github.com/coreos/etcd/pkg/logutil\"\n\n\t\"google.golang.org/grpc/grpclog\"\n)\n\nvar (\n\tlgMu sync.RWMutex\n\tlg   logutil.Logger\n)\n\ntype settableLogger struct {\n\tl  grpclog.LoggerV2\n\tmu sync.RWMutex\n}\n\nfunc init() {\n\t// disable client side logs by default\n\tlg = &settableLogger{}\n\tSetLogger(grpclog.NewLoggerV2(ioutil.Discard, ioutil.Discard, ioutil.Discard))\n}\n\n// SetLogger sets client-side Logger.\nfunc SetLogger(l grpclog.LoggerV2) {\n\tlgMu.Lock()\n\tlg = logutil.NewLogger(l)\n\t// override grpclog so that any changes happen with locking\n\tgrpclog.SetLoggerV2(lg)\n\tlgMu.Unlock()\n}\n\n// GetLogger returns the current logutil.Logger.\nfunc GetLogger() logutil.Logger {\n\tlgMu.RLock()\n\tl := lg\n\tlgMu.RUnlock()\n\treturn l\n}\n\n// NewLogger returns a new Logger with logutil.Logger.\nfunc NewLogger(gl grpclog.LoggerV2) logutil.Logger {\n\treturn &settableLogger{l: gl}\n}\n\nfunc (s *settableLogger) get() grpclog.LoggerV2 {\n\ts.mu.RLock()\n\tl := s.l\n\ts.mu.RUnlock()\n\treturn l\n}\n\n// implement the grpclog.LoggerV2 interface\n\nfunc (s *settableLogger) Info(args ...interface{})                 { s.get().Info(args...) }\nfunc (s *settableLogger) Infof(format string, args ...interface{}) { s.get().Infof(format, args...) }\nfunc (s *settableLogger) Infoln(args ...interface{})               { s.get().Infoln(args...) }\nfunc (s *settableLogger) Warning(args ...interface{})              { s.get().Warning(args...) }\nfunc (s *settableLogger) Warningf(format string, args ...interface{}) {\n\ts.get().Warningf(format, args...)\n}\nfunc (s *settableLogger) Warningln(args ...interface{}) { s.get().Warningln(args...) }\nfunc (s *settableLogger) Error(args ...interface{})     { s.get().Error(args...) }\nfunc (s *settableLogger) Errorf(format string, args ...interface{}) {\n\ts.get().Errorf(format, args...)\n}\nfunc (s *settableLogger) Errorln(args ...interface{})               { s.get().Errorln(args...) }\nfunc (s *settableLogger) Fatal(args ...interface{})                 { s.get().Fatal(args...) }\nfunc (s *settableLogger) Fatalf(format string, args ...interface{}) { s.get().Fatalf(format, args...) }\nfunc (s *settableLogger) Fatalln(args ...interface{})               { s.get().Fatalln(args...) }\nfunc (s *settableLogger) Print(args ...interface{})                 { s.get().Info(args...) }\nfunc (s *settableLogger) Printf(format string, args ...interface{}) { s.get().Infof(format, args...) }\nfunc (s *settableLogger) Println(args ...interface{})               { s.get().Infoln(args...) }\nfunc (s *settableLogger) V(l int) bool                              { return s.get().V(l) }\nfunc (s *settableLogger) Lvl(lvl int) grpclog.LoggerV2 {\n\ts.mu.RLock()\n\tl := s.l\n\ts.mu.RUnlock()\n\tif l.V(lvl) {\n\t\treturn s\n\t}\n\treturn logutil.NewDiscardLogger()\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/maintenance.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport (\n\t\"context\"\n\t\"io\"\n\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\n\t\"google.golang.org/grpc\"\n)\n\ntype (\n\tDefragmentResponse pb.DefragmentResponse\n\tAlarmResponse      pb.AlarmResponse\n\tAlarmMember        pb.AlarmMember\n\tStatusResponse     pb.StatusResponse\n\tHashKVResponse     pb.HashKVResponse\n\tMoveLeaderResponse pb.MoveLeaderResponse\n)\n\ntype Maintenance interface {\n\t// AlarmList gets all active alarms.\n\tAlarmList(ctx context.Context) (*AlarmResponse, error)\n\n\t// AlarmDisarm disarms a given alarm.\n\tAlarmDisarm(ctx context.Context, m *AlarmMember) (*AlarmResponse, error)\n\n\t// Defragment releases wasted space from internal fragmentation on a given etcd member.\n\t// Defragment is only needed when deleting a large number of keys and want to reclaim\n\t// the resources.\n\t// Defragment is an expensive operation. User should avoid defragmenting multiple members\n\t// at the same time.\n\t// To defragment multiple members in the cluster, user need to call defragment multiple\n\t// times with different endpoints.\n\tDefragment(ctx context.Context, endpoint string) (*DefragmentResponse, error)\n\n\t// Status gets the status of the endpoint.\n\tStatus(ctx context.Context, endpoint string) (*StatusResponse, error)\n\n\t// HashKV returns a hash of the KV state at the time of the RPC.\n\t// If revision is zero, the hash is computed on all keys. If the revision\n\t// is non-zero, the hash is computed on all keys at or below the given revision.\n\tHashKV(ctx context.Context, endpoint string, rev int64) (*HashKVResponse, error)\n\n\t// Snapshot provides a reader for a point-in-time snapshot of etcd.\n\t// If the context \"ctx\" is canceled or timed out, reading from returned\n\t// \"io.ReadCloser\" would error out (e.g. context.Canceled, context.DeadlineExceeded).\n\tSnapshot(ctx context.Context) (io.ReadCloser, error)\n\n\t// MoveLeader requests current leader to transfer its leadership to the transferee.\n\t// Request must be made to the leader.\n\tMoveLeader(ctx context.Context, transfereeID uint64) (*MoveLeaderResponse, error)\n}\n\ntype maintenance struct {\n\tdial     func(endpoint string) (pb.MaintenanceClient, func(), error)\n\tremote   pb.MaintenanceClient\n\tcallOpts []grpc.CallOption\n}\n\nfunc NewMaintenance(c *Client) Maintenance {\n\tapi := &maintenance{\n\t\tdial: func(endpoint string) (pb.MaintenanceClient, func(), error) {\n\t\t\tconn, err := c.dial(endpoint)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, nil, err\n\t\t\t}\n\t\t\tcancel := func() { conn.Close() }\n\t\t\treturn RetryMaintenanceClient(c, conn), cancel, nil\n\t\t},\n\t\tremote: RetryMaintenanceClient(c, c.conn),\n\t}\n\tif c != nil {\n\t\tapi.callOpts = c.callOpts\n\t}\n\treturn api\n}\n\nfunc NewMaintenanceFromMaintenanceClient(remote pb.MaintenanceClient, c *Client) Maintenance {\n\tapi := &maintenance{\n\t\tdial: func(string) (pb.MaintenanceClient, func(), error) {\n\t\t\treturn remote, func() {}, nil\n\t\t},\n\t\tremote: remote,\n\t}\n\tif c != nil {\n\t\tapi.callOpts = c.callOpts\n\t}\n\treturn api\n}\n\nfunc (m *maintenance) AlarmList(ctx context.Context) (*AlarmResponse, error) {\n\treq := &pb.AlarmRequest{\n\t\tAction:   pb.AlarmRequest_GET,\n\t\tMemberID: 0,                 // all\n\t\tAlarm:    pb.AlarmType_NONE, // all\n\t}\n\tresp, err := m.remote.Alarm(ctx, req, m.callOpts...)\n\tif err == nil {\n\t\treturn (*AlarmResponse)(resp), nil\n\t}\n\treturn nil, toErr(ctx, err)\n}\n\nfunc (m *maintenance) AlarmDisarm(ctx context.Context, am *AlarmMember) (*AlarmResponse, error) {\n\treq := &pb.AlarmRequest{\n\t\tAction:   pb.AlarmRequest_DEACTIVATE,\n\t\tMemberID: am.MemberID,\n\t\tAlarm:    am.Alarm,\n\t}\n\n\tif req.MemberID == 0 && req.Alarm == pb.AlarmType_NONE {\n\t\tar, err := m.AlarmList(ctx)\n\t\tif err != nil {\n\t\t\treturn nil, toErr(ctx, err)\n\t\t}\n\t\tret := AlarmResponse{}\n\t\tfor _, am := range ar.Alarms {\n\t\t\tdresp, derr := m.AlarmDisarm(ctx, (*AlarmMember)(am))\n\t\t\tif derr != nil {\n\t\t\t\treturn nil, toErr(ctx, derr)\n\t\t\t}\n\t\t\tret.Alarms = append(ret.Alarms, dresp.Alarms...)\n\t\t}\n\t\treturn &ret, nil\n\t}\n\n\tresp, err := m.remote.Alarm(ctx, req, m.callOpts...)\n\tif err == nil {\n\t\treturn (*AlarmResponse)(resp), nil\n\t}\n\treturn nil, toErr(ctx, err)\n}\n\nfunc (m *maintenance) Defragment(ctx context.Context, endpoint string) (*DefragmentResponse, error) {\n\tremote, cancel, err := m.dial(endpoint)\n\tif err != nil {\n\t\treturn nil, toErr(ctx, err)\n\t}\n\tdefer cancel()\n\tresp, err := remote.Defragment(ctx, &pb.DefragmentRequest{}, m.callOpts...)\n\tif err != nil {\n\t\treturn nil, toErr(ctx, err)\n\t}\n\treturn (*DefragmentResponse)(resp), nil\n}\n\nfunc (m *maintenance) Status(ctx context.Context, endpoint string) (*StatusResponse, error) {\n\tremote, cancel, err := m.dial(endpoint)\n\tif err != nil {\n\t\treturn nil, toErr(ctx, err)\n\t}\n\tdefer cancel()\n\tresp, err := remote.Status(ctx, &pb.StatusRequest{}, m.callOpts...)\n\tif err != nil {\n\t\treturn nil, toErr(ctx, err)\n\t}\n\treturn (*StatusResponse)(resp), nil\n}\n\nfunc (m *maintenance) HashKV(ctx context.Context, endpoint string, rev int64) (*HashKVResponse, error) {\n\tremote, cancel, err := m.dial(endpoint)\n\tif err != nil {\n\t\treturn nil, toErr(ctx, err)\n\t}\n\tdefer cancel()\n\tresp, err := remote.HashKV(ctx, &pb.HashKVRequest{Revision: rev}, m.callOpts...)\n\tif err != nil {\n\t\treturn nil, toErr(ctx, err)\n\t}\n\treturn (*HashKVResponse)(resp), nil\n}\n\nfunc (m *maintenance) Snapshot(ctx context.Context) (io.ReadCloser, error) {\n\tss, err := m.remote.Snapshot(ctx, &pb.SnapshotRequest{}, m.callOpts...)\n\tif err != nil {\n\t\treturn nil, toErr(ctx, err)\n\t}\n\n\tpr, pw := io.Pipe()\n\tgo func() {\n\t\tfor {\n\t\t\tresp, err := ss.Recv()\n\t\t\tif err != nil {\n\t\t\t\tpw.CloseWithError(err)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif resp == nil && err == nil {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif _, werr := pw.Write(resp.Blob); werr != nil {\n\t\t\t\tpw.CloseWithError(werr)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tpw.Close()\n\t}()\n\treturn &snapshotReadCloser{ctx: ctx, ReadCloser: pr}, nil\n}\n\ntype snapshotReadCloser struct {\n\tctx context.Context\n\tio.ReadCloser\n}\n\nfunc (rc *snapshotReadCloser) Read(p []byte) (n int, err error) {\n\tn, err = rc.ReadCloser.Read(p)\n\treturn n, toErr(rc.ctx, err)\n}\n\nfunc (m *maintenance) MoveLeader(ctx context.Context, transfereeID uint64) (*MoveLeaderResponse, error) {\n\tresp, err := m.remote.MoveLeader(ctx, &pb.MoveLeaderRequest{TargetID: transfereeID}, m.callOpts...)\n\treturn (*MoveLeaderResponse)(resp), toErr(ctx, err)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/op.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport pb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\ntype opType int\n\nconst (\n\t// A default Op has opType 0, which is invalid.\n\ttRange opType = iota + 1\n\ttPut\n\ttDeleteRange\n\ttTxn\n)\n\nvar noPrefixEnd = []byte{0}\n\n// Op represents an Operation that kv can execute.\ntype Op struct {\n\tt   opType\n\tkey []byte\n\tend []byte\n\n\t// for range\n\tlimit        int64\n\tsort         *SortOption\n\tserializable bool\n\tkeysOnly     bool\n\tcountOnly    bool\n\tminModRev    int64\n\tmaxModRev    int64\n\tminCreateRev int64\n\tmaxCreateRev int64\n\n\t// for range, watch\n\trev int64\n\n\t// for watch, put, delete\n\tprevKV bool\n\n\t// for watch\n\t// fragmentation should be disabled by default\n\t// if true, split watch events when total exceeds\n\t// \"--max-request-bytes\" flag value + 512-byte\n\tfragment bool\n\n\t// for put\n\tignoreValue bool\n\tignoreLease bool\n\n\t// progressNotify is for progress updates.\n\tprogressNotify bool\n\t// createdNotify is for created event\n\tcreatedNotify bool\n\t// filters for watchers\n\tfilterPut    bool\n\tfilterDelete bool\n\n\t// for put\n\tval     []byte\n\tleaseID LeaseID\n\n\t// txn\n\tcmps    []Cmp\n\tthenOps []Op\n\telseOps []Op\n}\n\n// accessors / mutators\n\n// IsTxn returns true if the \"Op\" type is transaction.\nfunc (op Op) IsTxn() bool {\n\treturn op.t == tTxn\n}\n\n// Txn returns the comparison(if) operations, \"then\" operations, and \"else\" operations.\nfunc (op Op) Txn() ([]Cmp, []Op, []Op) {\n\treturn op.cmps, op.thenOps, op.elseOps\n}\n\n// KeyBytes returns the byte slice holding the Op's key.\nfunc (op Op) KeyBytes() []byte { return op.key }\n\n// WithKeyBytes sets the byte slice for the Op's key.\nfunc (op *Op) WithKeyBytes(key []byte) { op.key = key }\n\n// RangeBytes returns the byte slice holding with the Op's range end, if any.\nfunc (op Op) RangeBytes() []byte { return op.end }\n\n// Rev returns the requested revision, if any.\nfunc (op Op) Rev() int64 { return op.rev }\n\n// IsPut returns true iff the operation is a Put.\nfunc (op Op) IsPut() bool { return op.t == tPut }\n\n// IsGet returns true iff the operation is a Get.\nfunc (op Op) IsGet() bool { return op.t == tRange }\n\n// IsDelete returns true iff the operation is a Delete.\nfunc (op Op) IsDelete() bool { return op.t == tDeleteRange }\n\n// IsSerializable returns true if the serializable field is true.\nfunc (op Op) IsSerializable() bool { return op.serializable == true }\n\n// IsKeysOnly returns whether keysOnly is set.\nfunc (op Op) IsKeysOnly() bool { return op.keysOnly == true }\n\n// IsCountOnly returns whether countOnly is set.\nfunc (op Op) IsCountOnly() bool { return op.countOnly == true }\n\n// MinModRev returns the operation's minimum modify revision.\nfunc (op Op) MinModRev() int64 { return op.minModRev }\n\n// MaxModRev returns the operation's maximum modify revision.\nfunc (op Op) MaxModRev() int64 { return op.maxModRev }\n\n// MinCreateRev returns the operation's minimum create revision.\nfunc (op Op) MinCreateRev() int64 { return op.minCreateRev }\n\n// MaxCreateRev returns the operation's maximum create revision.\nfunc (op Op) MaxCreateRev() int64 { return op.maxCreateRev }\n\n// WithRangeBytes sets the byte slice for the Op's range end.\nfunc (op *Op) WithRangeBytes(end []byte) { op.end = end }\n\n// ValueBytes returns the byte slice holding the Op's value, if any.\nfunc (op Op) ValueBytes() []byte { return op.val }\n\n// WithValueBytes sets the byte slice for the Op's value.\nfunc (op *Op) WithValueBytes(v []byte) { op.val = v }\n\nfunc (op Op) toRangeRequest() *pb.RangeRequest {\n\tif op.t != tRange {\n\t\tpanic(\"op.t != tRange\")\n\t}\n\tr := &pb.RangeRequest{\n\t\tKey:               op.key,\n\t\tRangeEnd:          op.end,\n\t\tLimit:             op.limit,\n\t\tRevision:          op.rev,\n\t\tSerializable:      op.serializable,\n\t\tKeysOnly:          op.keysOnly,\n\t\tCountOnly:         op.countOnly,\n\t\tMinModRevision:    op.minModRev,\n\t\tMaxModRevision:    op.maxModRev,\n\t\tMinCreateRevision: op.minCreateRev,\n\t\tMaxCreateRevision: op.maxCreateRev,\n\t}\n\tif op.sort != nil {\n\t\tr.SortOrder = pb.RangeRequest_SortOrder(op.sort.Order)\n\t\tr.SortTarget = pb.RangeRequest_SortTarget(op.sort.Target)\n\t}\n\treturn r\n}\n\nfunc (op Op) toTxnRequest() *pb.TxnRequest {\n\tthenOps := make([]*pb.RequestOp, len(op.thenOps))\n\tfor i, tOp := range op.thenOps {\n\t\tthenOps[i] = tOp.toRequestOp()\n\t}\n\telseOps := make([]*pb.RequestOp, len(op.elseOps))\n\tfor i, eOp := range op.elseOps {\n\t\telseOps[i] = eOp.toRequestOp()\n\t}\n\tcmps := make([]*pb.Compare, len(op.cmps))\n\tfor i := range op.cmps {\n\t\tcmps[i] = (*pb.Compare)(&op.cmps[i])\n\t}\n\treturn &pb.TxnRequest{Compare: cmps, Success: thenOps, Failure: elseOps}\n}\n\nfunc (op Op) toRequestOp() *pb.RequestOp {\n\tswitch op.t {\n\tcase tRange:\n\t\treturn &pb.RequestOp{Request: &pb.RequestOp_RequestRange{RequestRange: op.toRangeRequest()}}\n\tcase tPut:\n\t\tr := &pb.PutRequest{Key: op.key, Value: op.val, Lease: int64(op.leaseID), PrevKv: op.prevKV, IgnoreValue: op.ignoreValue, IgnoreLease: op.ignoreLease}\n\t\treturn &pb.RequestOp{Request: &pb.RequestOp_RequestPut{RequestPut: r}}\n\tcase tDeleteRange:\n\t\tr := &pb.DeleteRangeRequest{Key: op.key, RangeEnd: op.end, PrevKv: op.prevKV}\n\t\treturn &pb.RequestOp{Request: &pb.RequestOp_RequestDeleteRange{RequestDeleteRange: r}}\n\tcase tTxn:\n\t\treturn &pb.RequestOp{Request: &pb.RequestOp_RequestTxn{RequestTxn: op.toTxnRequest()}}\n\tdefault:\n\t\tpanic(\"Unknown Op\")\n\t}\n}\n\nfunc (op Op) isWrite() bool {\n\tif op.t == tTxn {\n\t\tfor _, tOp := range op.thenOps {\n\t\t\tif tOp.isWrite() {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\tfor _, tOp := range op.elseOps {\n\t\t\tif tOp.isWrite() {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}\n\treturn op.t != tRange\n}\n\n// OpGet returns \"get\" operation based on given key and operation options.\nfunc OpGet(key string, opts ...OpOption) Op {\n\tret := Op{t: tRange, key: []byte(key)}\n\tret.applyOpts(opts)\n\treturn ret\n}\n\n// OpDelete returns \"delete\" operation based on given key and operation options.\nfunc OpDelete(key string, opts ...OpOption) Op {\n\tret := Op{t: tDeleteRange, key: []byte(key)}\n\tret.applyOpts(opts)\n\tswitch {\n\tcase ret.leaseID != 0:\n\t\tpanic(\"unexpected lease in delete\")\n\tcase ret.limit != 0:\n\t\tpanic(\"unexpected limit in delete\")\n\tcase ret.rev != 0:\n\t\tpanic(\"unexpected revision in delete\")\n\tcase ret.sort != nil:\n\t\tpanic(\"unexpected sort in delete\")\n\tcase ret.serializable:\n\t\tpanic(\"unexpected serializable in delete\")\n\tcase ret.countOnly:\n\t\tpanic(\"unexpected countOnly in delete\")\n\tcase ret.minModRev != 0, ret.maxModRev != 0:\n\t\tpanic(\"unexpected mod revision filter in delete\")\n\tcase ret.minCreateRev != 0, ret.maxCreateRev != 0:\n\t\tpanic(\"unexpected create revision filter in delete\")\n\tcase ret.filterDelete, ret.filterPut:\n\t\tpanic(\"unexpected filter in delete\")\n\tcase ret.createdNotify:\n\t\tpanic(\"unexpected createdNotify in delete\")\n\t}\n\treturn ret\n}\n\n// OpPut returns \"put\" operation based on given key-value and operation options.\nfunc OpPut(key, val string, opts ...OpOption) Op {\n\tret := Op{t: tPut, key: []byte(key), val: []byte(val)}\n\tret.applyOpts(opts)\n\tswitch {\n\tcase ret.end != nil:\n\t\tpanic(\"unexpected range in put\")\n\tcase ret.limit != 0:\n\t\tpanic(\"unexpected limit in put\")\n\tcase ret.rev != 0:\n\t\tpanic(\"unexpected revision in put\")\n\tcase ret.sort != nil:\n\t\tpanic(\"unexpected sort in put\")\n\tcase ret.serializable:\n\t\tpanic(\"unexpected serializable in put\")\n\tcase ret.countOnly:\n\t\tpanic(\"unexpected countOnly in put\")\n\tcase ret.minModRev != 0, ret.maxModRev != 0:\n\t\tpanic(\"unexpected mod revision filter in put\")\n\tcase ret.minCreateRev != 0, ret.maxCreateRev != 0:\n\t\tpanic(\"unexpected create revision filter in put\")\n\tcase ret.filterDelete, ret.filterPut:\n\t\tpanic(\"unexpected filter in put\")\n\tcase ret.createdNotify:\n\t\tpanic(\"unexpected createdNotify in put\")\n\t}\n\treturn ret\n}\n\n// OpTxn returns \"txn\" operation based on given transaction conditions.\nfunc OpTxn(cmps []Cmp, thenOps []Op, elseOps []Op) Op {\n\treturn Op{t: tTxn, cmps: cmps, thenOps: thenOps, elseOps: elseOps}\n}\n\nfunc opWatch(key string, opts ...OpOption) Op {\n\tret := Op{t: tRange, key: []byte(key)}\n\tret.applyOpts(opts)\n\tswitch {\n\tcase ret.leaseID != 0:\n\t\tpanic(\"unexpected lease in watch\")\n\tcase ret.limit != 0:\n\t\tpanic(\"unexpected limit in watch\")\n\tcase ret.sort != nil:\n\t\tpanic(\"unexpected sort in watch\")\n\tcase ret.serializable:\n\t\tpanic(\"unexpected serializable in watch\")\n\tcase ret.countOnly:\n\t\tpanic(\"unexpected countOnly in watch\")\n\tcase ret.minModRev != 0, ret.maxModRev != 0:\n\t\tpanic(\"unexpected mod revision filter in watch\")\n\tcase ret.minCreateRev != 0, ret.maxCreateRev != 0:\n\t\tpanic(\"unexpected create revision filter in watch\")\n\t}\n\treturn ret\n}\n\nfunc (op *Op) applyOpts(opts []OpOption) {\n\tfor _, opt := range opts {\n\t\topt(op)\n\t}\n}\n\n// OpOption configures Operations like Get, Put, Delete.\ntype OpOption func(*Op)\n\n// WithLease attaches a lease ID to a key in 'Put' request.\nfunc WithLease(leaseID LeaseID) OpOption {\n\treturn func(op *Op) { op.leaseID = leaseID }\n}\n\n// WithLimit limits the number of results to return from 'Get' request.\n// If WithLimit is given a 0 limit, it is treated as no limit.\nfunc WithLimit(n int64) OpOption { return func(op *Op) { op.limit = n } }\n\n// WithRev specifies the store revision for 'Get' request.\n// Or the start revision of 'Watch' request.\nfunc WithRev(rev int64) OpOption { return func(op *Op) { op.rev = rev } }\n\n// WithSort specifies the ordering in 'Get' request. It requires\n// 'WithRange' and/or 'WithPrefix' to be specified too.\n// 'target' specifies the target to sort by: key, version, revisions, value.\n// 'order' can be either 'SortNone', 'SortAscend', 'SortDescend'.\nfunc WithSort(target SortTarget, order SortOrder) OpOption {\n\treturn func(op *Op) {\n\t\tif target == SortByKey && order == SortAscend {\n\t\t\t// If order != SortNone, server fetches the entire key-space,\n\t\t\t// and then applies the sort and limit, if provided.\n\t\t\t// Since by default the server returns results sorted by keys\n\t\t\t// in lexicographically ascending order, the client should ignore\n\t\t\t// SortOrder if the target is SortByKey.\n\t\t\torder = SortNone\n\t\t}\n\t\top.sort = &SortOption{target, order}\n\t}\n}\n\n// GetPrefixRangeEnd gets the range end of the prefix.\n// 'Get(foo, WithPrefix())' is equal to 'Get(foo, WithRange(GetPrefixRangeEnd(foo))'.\nfunc GetPrefixRangeEnd(prefix string) string {\n\treturn string(getPrefix([]byte(prefix)))\n}\n\nfunc getPrefix(key []byte) []byte {\n\tend := make([]byte, len(key))\n\tcopy(end, key)\n\tfor i := len(end) - 1; i >= 0; i-- {\n\t\tif end[i] < 0xff {\n\t\t\tend[i] = end[i] + 1\n\t\t\tend = end[:i+1]\n\t\t\treturn end\n\t\t}\n\t}\n\t// next prefix does not exist (e.g., 0xffff);\n\t// default to WithFromKey policy\n\treturn noPrefixEnd\n}\n\n// WithPrefix enables 'Get', 'Delete', or 'Watch' requests to operate\n// on the keys with matching prefix. For example, 'Get(foo, WithPrefix())'\n// can return 'foo1', 'foo2', and so on.\nfunc WithPrefix() OpOption {\n\treturn func(op *Op) {\n\t\tif len(op.key) == 0 {\n\t\t\top.key, op.end = []byte{0}, []byte{0}\n\t\t\treturn\n\t\t}\n\t\top.end = getPrefix(op.key)\n\t}\n}\n\n// WithRange specifies the range of 'Get', 'Delete', 'Watch' requests.\n// For example, 'Get' requests with 'WithRange(end)' returns\n// the keys in the range [key, end).\n// endKey must be lexicographically greater than start key.\nfunc WithRange(endKey string) OpOption {\n\treturn func(op *Op) { op.end = []byte(endKey) }\n}\n\n// WithFromKey specifies the range of 'Get', 'Delete', 'Watch' requests\n// to be equal or greater than the key in the argument.\nfunc WithFromKey() OpOption { return WithRange(\"\\x00\") }\n\n// WithSerializable makes 'Get' request serializable. By default,\n// it's linearizable. Serializable requests are better for lower latency\n// requirement.\nfunc WithSerializable() OpOption {\n\treturn func(op *Op) { op.serializable = true }\n}\n\n// WithKeysOnly makes the 'Get' request return only the keys and the corresponding\n// values will be omitted.\nfunc WithKeysOnly() OpOption {\n\treturn func(op *Op) { op.keysOnly = true }\n}\n\n// WithCountOnly makes the 'Get' request return only the count of keys.\nfunc WithCountOnly() OpOption {\n\treturn func(op *Op) { op.countOnly = true }\n}\n\n// WithMinModRev filters out keys for Get with modification revisions less than the given revision.\nfunc WithMinModRev(rev int64) OpOption { return func(op *Op) { op.minModRev = rev } }\n\n// WithMaxModRev filters out keys for Get with modification revisions greater than the given revision.\nfunc WithMaxModRev(rev int64) OpOption { return func(op *Op) { op.maxModRev = rev } }\n\n// WithMinCreateRev filters out keys for Get with creation revisions less than the given revision.\nfunc WithMinCreateRev(rev int64) OpOption { return func(op *Op) { op.minCreateRev = rev } }\n\n// WithMaxCreateRev filters out keys for Get with creation revisions greater than the given revision.\nfunc WithMaxCreateRev(rev int64) OpOption { return func(op *Op) { op.maxCreateRev = rev } }\n\n// WithFirstCreate gets the key with the oldest creation revision in the request range.\nfunc WithFirstCreate() []OpOption { return withTop(SortByCreateRevision, SortAscend) }\n\n// WithLastCreate gets the key with the latest creation revision in the request range.\nfunc WithLastCreate() []OpOption { return withTop(SortByCreateRevision, SortDescend) }\n\n// WithFirstKey gets the lexically first key in the request range.\nfunc WithFirstKey() []OpOption { return withTop(SortByKey, SortAscend) }\n\n// WithLastKey gets the lexically last key in the request range.\nfunc WithLastKey() []OpOption { return withTop(SortByKey, SortDescend) }\n\n// WithFirstRev gets the key with the oldest modification revision in the request range.\nfunc WithFirstRev() []OpOption { return withTop(SortByModRevision, SortAscend) }\n\n// WithLastRev gets the key with the latest modification revision in the request range.\nfunc WithLastRev() []OpOption { return withTop(SortByModRevision, SortDescend) }\n\n// withTop gets the first key over the get's prefix given a sort order\nfunc withTop(target SortTarget, order SortOrder) []OpOption {\n\treturn []OpOption{WithPrefix(), WithSort(target, order), WithLimit(1)}\n}\n\n// WithProgressNotify makes watch server send periodic progress updates\n// every 10 minutes when there is no incoming events.\n// Progress updates have zero events in WatchResponse.\nfunc WithProgressNotify() OpOption {\n\treturn func(op *Op) {\n\t\top.progressNotify = true\n\t}\n}\n\n// WithCreatedNotify makes watch server sends the created event.\nfunc WithCreatedNotify() OpOption {\n\treturn func(op *Op) {\n\t\top.createdNotify = true\n\t}\n}\n\n// WithFilterPut discards PUT events from the watcher.\nfunc WithFilterPut() OpOption {\n\treturn func(op *Op) { op.filterPut = true }\n}\n\n// WithFilterDelete discards DELETE events from the watcher.\nfunc WithFilterDelete() OpOption {\n\treturn func(op *Op) { op.filterDelete = true }\n}\n\n// WithPrevKV gets the previous key-value pair before the event happens. If the previous KV is already compacted,\n// nothing will be returned.\nfunc WithPrevKV() OpOption {\n\treturn func(op *Op) {\n\t\top.prevKV = true\n\t}\n}\n\n// WithFragment to receive raw watch response with fragmentation.\n// Fragmentation is disabled by default. If fragmentation is enabled,\n// etcd watch server will split watch response before sending to clients\n// when the total size of watch events exceed server-side request limit.\n// The default server-side request limit is 1.5 MiB, which can be configured\n// as \"--max-request-bytes\" flag value + gRPC-overhead 512 bytes.\n// See \"etcdserver/api/v3rpc/watch.go\" for more details.\nfunc WithFragment() OpOption {\n\treturn func(op *Op) { op.fragment = true }\n}\n\n// WithIgnoreValue updates the key using its current value.\n// This option can not be combined with non-empty values.\n// Returns an error if the key does not exist.\nfunc WithIgnoreValue() OpOption {\n\treturn func(op *Op) {\n\t\top.ignoreValue = true\n\t}\n}\n\n// WithIgnoreLease updates the key using its current lease.\n// This option can not be combined with WithLease.\n// Returns an error if the key does not exist.\nfunc WithIgnoreLease() OpOption {\n\treturn func(op *Op) {\n\t\top.ignoreLease = true\n\t}\n}\n\n// LeaseOp represents an Operation that lease can execute.\ntype LeaseOp struct {\n\tid LeaseID\n\n\t// for TimeToLive\n\tattachedKeys bool\n}\n\n// LeaseOption configures lease operations.\ntype LeaseOption func(*LeaseOp)\n\nfunc (op *LeaseOp) applyOpts(opts []LeaseOption) {\n\tfor _, opt := range opts {\n\t\topt(op)\n\t}\n}\n\n// WithAttachedKeys makes TimeToLive list the keys attached to the given lease ID.\nfunc WithAttachedKeys() LeaseOption {\n\treturn func(op *LeaseOp) { op.attachedKeys = true }\n}\n\nfunc toLeaseTimeToLiveRequest(id LeaseID, opts ...LeaseOption) *pb.LeaseTimeToLiveRequest {\n\tret := &LeaseOp{id: id}\n\tret.applyOpts(opts)\n\treturn &pb.LeaseTimeToLiveRequest{ID: int64(id), Keys: ret.attachedKeys}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/options.go",
    "content": "// Copyright 2017 The etcd Authors\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\npackage clientv3\n\nimport (\n\t\"math\"\n\n\t\"google.golang.org/grpc\"\n)\n\nvar (\n\t// Disable gRPC internal retrial logic\n\t// TODO: enable when gRPC retry is stable (FailFast=false)\n\t// Reference:\n\t//  - https://github.com/grpc/grpc-go/issues/1532\n\t//  - https://github.com/grpc/proposal/blob/master/A6-client-retries.md\n\tdefaultFailFast = grpc.FailFast(true)\n\n\t// client-side request send limit, gRPC default is math.MaxInt32\n\t// Make sure that \"client-side send limit < server-side default send/recv limit\"\n\t// Same value as \"embed.DefaultMaxRequestBytes\" plus gRPC overhead bytes\n\tdefaultMaxCallSendMsgSize = grpc.MaxCallSendMsgSize(2 * 1024 * 1024)\n\n\t// client-side response receive limit, gRPC default is 4MB\n\t// Make sure that \"client-side receive limit >= server-side default send/recv limit\"\n\t// because range response can easily exceed request send limits\n\t// Default to math.MaxInt32; writes exceeding server-side send limit fails anyway\n\tdefaultMaxCallRecvMsgSize = grpc.MaxCallRecvMsgSize(math.MaxInt32)\n)\n\n// defaultCallOpts defines a list of default \"gRPC.CallOption\".\n// Some options are exposed to \"clientv3.Config\".\n// Defaults will be overridden by the settings in \"clientv3.Config\".\nvar defaultCallOpts = []grpc.CallOption{defaultFailFast, defaultMaxCallSendMsgSize, defaultMaxCallRecvMsgSize}\n\n// MaxLeaseTTL is the maximum lease TTL value\nconst MaxLeaseTTL = 9000000000\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/ready_wait.go",
    "content": "// Copyright 2017 The etcd Authors\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\npackage clientv3\n\nimport \"context\"\n\n// TODO: remove this when \"FailFast=false\" is fixed.\n// See https://github.com/grpc/grpc-go/issues/1532.\nfunc readyWait(rpcCtx, clientCtx context.Context, ready <-chan struct{}) error {\n\tselect {\n\tcase <-ready:\n\t\treturn nil\n\tcase <-rpcCtx.Done():\n\t\treturn rpcCtx.Err()\n\tcase <-clientCtx.Done():\n\t\treturn clientCtx.Err()\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/retry.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport (\n\t\"context\"\n\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\n\t\"google.golang.org/grpc\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/status\"\n)\n\ntype retryPolicy uint8\n\nconst (\n\trepeatable retryPolicy = iota\n\tnonRepeatable\n)\n\ntype rpcFunc func(ctx context.Context) error\ntype retryRPCFunc func(context.Context, rpcFunc, retryPolicy) error\ntype retryStopErrFunc func(error) bool\n\n// immutable requests (e.g. Get) should be retried unless it's\n// an obvious server-side error (e.g. rpctypes.ErrRequestTooLarge).\n//\n// \"isRepeatableStopError\" returns \"true\" when an immutable request\n// is interrupted by server-side or gRPC-side error and its status\n// code is not transient (!= codes.Unavailable).\n//\n// Returning \"true\" means retry should stop, since client cannot\n// handle itself even with retries.\nfunc isRepeatableStopError(err error) bool {\n\teErr := rpctypes.Error(err)\n\t// always stop retry on etcd errors\n\tif serverErr, ok := eErr.(rpctypes.EtcdError); ok && serverErr.Code() != codes.Unavailable {\n\t\treturn true\n\t}\n\t// only retry if unavailable\n\tev, ok := status.FromError(err)\n\tif !ok {\n\t\treturn false\n\t}\n\treturn ev.Code() != codes.Unavailable\n}\n\n// mutable requests (e.g. Put, Delete, Txn) should only be retried\n// when the status code is codes.Unavailable when initial connection\n// has not been established (no pinned endpoint).\n//\n// \"isNonRepeatableStopError\" returns \"true\" when a mutable request\n// is interrupted by non-transient error that client cannot handle itself,\n// or transient error while the connection has already been established\n// (pinned endpoint exists).\n//\n// Returning \"true\" means retry should stop, otherwise it violates\n// write-at-most-once semantics.\nfunc isNonRepeatableStopError(err error) bool {\n\tif ev, ok := status.FromError(err); ok && ev.Code() != codes.Unavailable {\n\t\treturn true\n\t}\n\tdesc := rpctypes.ErrorDesc(err)\n\treturn desc != \"there is no address available\" && desc != \"there is no connection available\"\n}\n\nfunc (c *Client) newRetryWrapper() retryRPCFunc {\n\treturn func(rpcCtx context.Context, f rpcFunc, rp retryPolicy) error {\n\t\tvar isStop retryStopErrFunc\n\t\tswitch rp {\n\t\tcase repeatable:\n\t\t\tisStop = isRepeatableStopError\n\t\tcase nonRepeatable:\n\t\t\tisStop = isNonRepeatableStopError\n\t\t}\n\t\tfor {\n\t\t\tif err := readyWait(rpcCtx, c.ctx, c.balancer.ConnectNotify()); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tpinned := c.balancer.Pinned()\n\t\t\terr := f(rpcCtx)\n\t\t\tif err == nil {\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\tlg.Lvl(4).Infof(\"clientv3/retry: error %q on pinned endpoint %q\", err.Error(), pinned)\n\n\t\t\tif s, ok := status.FromError(err); ok && (s.Code() == codes.Unavailable || s.Code() == codes.DeadlineExceeded || s.Code() == codes.Internal) {\n\t\t\t\t// mark this before endpoint switch is triggered\n\t\t\t\tc.balancer.HostPortError(pinned, err)\n\t\t\t\tc.balancer.Next()\n\t\t\t\tlg.Lvl(4).Infof(\"clientv3/retry: switching from %q due to error %q\", pinned, err.Error())\n\t\t\t}\n\n\t\t\tif isStop(err) {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (c *Client) newAuthRetryWrapper(retryf retryRPCFunc) retryRPCFunc {\n\treturn func(rpcCtx context.Context, f rpcFunc, rp retryPolicy) error {\n\t\tfor {\n\t\t\tpinned := c.balancer.Pinned()\n\t\t\terr := retryf(rpcCtx, f, rp)\n\t\t\tif err == nil {\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\tlg.Lvl(4).Infof(\"clientv3/auth-retry: error %q on pinned endpoint %q\", err.Error(), pinned)\n\t\t\t// always stop retry on etcd errors other than invalid auth token\n\t\t\tif rpctypes.Error(err) == rpctypes.ErrInvalidAuthToken {\n\t\t\t\tgterr := c.getToken(rpcCtx)\n\t\t\t\tif gterr != nil {\n\t\t\t\t\tlg.Lvl(4).Infof(\"clientv3/auth-retry: cannot retry due to error %q(%q) on pinned endpoint %q\", err.Error(), gterr.Error(), pinned)\n\t\t\t\t\treturn err // return the original error for simplicity\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\t}\n}\n\ntype retryKVClient struct {\n\tkc     pb.KVClient\n\tretryf retryRPCFunc\n}\n\n// RetryKVClient implements a KVClient.\nfunc RetryKVClient(c *Client) pb.KVClient {\n\treturn &retryKVClient{\n\t\tkc:     pb.NewKVClient(c.conn),\n\t\tretryf: c.newAuthRetryWrapper(c.newRetryWrapper()),\n\t}\n}\nfunc (rkv *retryKVClient) Range(ctx context.Context, in *pb.RangeRequest, opts ...grpc.CallOption) (resp *pb.RangeResponse, err error) {\n\terr = rkv.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rkv.kc.Range(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rkv *retryKVClient) Put(ctx context.Context, in *pb.PutRequest, opts ...grpc.CallOption) (resp *pb.PutResponse, err error) {\n\terr = rkv.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rkv.kc.Put(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rkv *retryKVClient) DeleteRange(ctx context.Context, in *pb.DeleteRangeRequest, opts ...grpc.CallOption) (resp *pb.DeleteRangeResponse, err error) {\n\terr = rkv.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rkv.kc.DeleteRange(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rkv *retryKVClient) Txn(ctx context.Context, in *pb.TxnRequest, opts ...grpc.CallOption) (resp *pb.TxnResponse, err error) {\n\t// TODO: \"repeatable\" for read-only txn\n\terr = rkv.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rkv.kc.Txn(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rkv *retryKVClient) Compact(ctx context.Context, in *pb.CompactionRequest, opts ...grpc.CallOption) (resp *pb.CompactionResponse, err error) {\n\terr = rkv.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rkv.kc.Compact(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\ntype retryLeaseClient struct {\n\tlc     pb.LeaseClient\n\tretryf retryRPCFunc\n}\n\n// RetryLeaseClient implements a LeaseClient.\nfunc RetryLeaseClient(c *Client) pb.LeaseClient {\n\treturn &retryLeaseClient{\n\t\tlc:     pb.NewLeaseClient(c.conn),\n\t\tretryf: c.newAuthRetryWrapper(c.newRetryWrapper()),\n\t}\n}\n\nfunc (rlc *retryLeaseClient) LeaseTimeToLive(ctx context.Context, in *pb.LeaseTimeToLiveRequest, opts ...grpc.CallOption) (resp *pb.LeaseTimeToLiveResponse, err error) {\n\terr = rlc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rlc.lc.LeaseTimeToLive(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rlc *retryLeaseClient) LeaseLeases(ctx context.Context, in *pb.LeaseLeasesRequest, opts ...grpc.CallOption) (resp *pb.LeaseLeasesResponse, err error) {\n\terr = rlc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rlc.lc.LeaseLeases(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rlc *retryLeaseClient) LeaseGrant(ctx context.Context, in *pb.LeaseGrantRequest, opts ...grpc.CallOption) (resp *pb.LeaseGrantResponse, err error) {\n\terr = rlc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rlc.lc.LeaseGrant(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n\n}\n\nfunc (rlc *retryLeaseClient) LeaseRevoke(ctx context.Context, in *pb.LeaseRevokeRequest, opts ...grpc.CallOption) (resp *pb.LeaseRevokeResponse, err error) {\n\terr = rlc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rlc.lc.LeaseRevoke(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rlc *retryLeaseClient) LeaseKeepAlive(ctx context.Context, opts ...grpc.CallOption) (stream pb.Lease_LeaseKeepAliveClient, err error) {\n\terr = rlc.retryf(ctx, func(rctx context.Context) error {\n\t\tstream, err = rlc.lc.LeaseKeepAlive(rctx, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn stream, err\n}\n\ntype retryClusterClient struct {\n\tcc     pb.ClusterClient\n\tretryf retryRPCFunc\n}\n\n// RetryClusterClient implements a ClusterClient.\nfunc RetryClusterClient(c *Client) pb.ClusterClient {\n\treturn &retryClusterClient{\n\t\tcc:     pb.NewClusterClient(c.conn),\n\t\tretryf: c.newRetryWrapper(),\n\t}\n}\n\nfunc (rcc *retryClusterClient) MemberList(ctx context.Context, in *pb.MemberListRequest, opts ...grpc.CallOption) (resp *pb.MemberListResponse, err error) {\n\terr = rcc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rcc.cc.MemberList(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rcc *retryClusterClient) MemberAdd(ctx context.Context, in *pb.MemberAddRequest, opts ...grpc.CallOption) (resp *pb.MemberAddResponse, err error) {\n\terr = rcc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rcc.cc.MemberAdd(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rcc *retryClusterClient) MemberRemove(ctx context.Context, in *pb.MemberRemoveRequest, opts ...grpc.CallOption) (resp *pb.MemberRemoveResponse, err error) {\n\terr = rcc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rcc.cc.MemberRemove(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rcc *retryClusterClient) MemberUpdate(ctx context.Context, in *pb.MemberUpdateRequest, opts ...grpc.CallOption) (resp *pb.MemberUpdateResponse, err error) {\n\terr = rcc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rcc.cc.MemberUpdate(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\ntype retryMaintenanceClient struct {\n\tmc     pb.MaintenanceClient\n\tretryf retryRPCFunc\n}\n\n// RetryMaintenanceClient implements a Maintenance.\nfunc RetryMaintenanceClient(c *Client, conn *grpc.ClientConn) pb.MaintenanceClient {\n\treturn &retryMaintenanceClient{\n\t\tmc:     pb.NewMaintenanceClient(conn),\n\t\tretryf: c.newRetryWrapper(),\n\t}\n}\n\nfunc (rmc *retryMaintenanceClient) Alarm(ctx context.Context, in *pb.AlarmRequest, opts ...grpc.CallOption) (resp *pb.AlarmResponse, err error) {\n\terr = rmc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rmc.mc.Alarm(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rmc *retryMaintenanceClient) Status(ctx context.Context, in *pb.StatusRequest, opts ...grpc.CallOption) (resp *pb.StatusResponse, err error) {\n\terr = rmc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rmc.mc.Status(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rmc *retryMaintenanceClient) Hash(ctx context.Context, in *pb.HashRequest, opts ...grpc.CallOption) (resp *pb.HashResponse, err error) {\n\terr = rmc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rmc.mc.Hash(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rmc *retryMaintenanceClient) HashKV(ctx context.Context, in *pb.HashKVRequest, opts ...grpc.CallOption) (resp *pb.HashKVResponse, err error) {\n\terr = rmc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rmc.mc.HashKV(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rmc *retryMaintenanceClient) Snapshot(ctx context.Context, in *pb.SnapshotRequest, opts ...grpc.CallOption) (stream pb.Maintenance_SnapshotClient, err error) {\n\terr = rmc.retryf(ctx, func(rctx context.Context) error {\n\t\tstream, err = rmc.mc.Snapshot(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn stream, err\n}\n\nfunc (rmc *retryMaintenanceClient) MoveLeader(ctx context.Context, in *pb.MoveLeaderRequest, opts ...grpc.CallOption) (resp *pb.MoveLeaderResponse, err error) {\n\terr = rmc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rmc.mc.MoveLeader(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rmc *retryMaintenanceClient) Defragment(ctx context.Context, in *pb.DefragmentRequest, opts ...grpc.CallOption) (resp *pb.DefragmentResponse, err error) {\n\terr = rmc.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rmc.mc.Defragment(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\ntype retryAuthClient struct {\n\tac     pb.AuthClient\n\tretryf retryRPCFunc\n}\n\n// RetryAuthClient implements a AuthClient.\nfunc RetryAuthClient(c *Client) pb.AuthClient {\n\treturn &retryAuthClient{\n\t\tac:     pb.NewAuthClient(c.conn),\n\t\tretryf: c.newRetryWrapper(),\n\t}\n}\n\nfunc (rac *retryAuthClient) UserList(ctx context.Context, in *pb.AuthUserListRequest, opts ...grpc.CallOption) (resp *pb.AuthUserListResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.UserList(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) UserGet(ctx context.Context, in *pb.AuthUserGetRequest, opts ...grpc.CallOption) (resp *pb.AuthUserGetResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.UserGet(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) RoleGet(ctx context.Context, in *pb.AuthRoleGetRequest, opts ...grpc.CallOption) (resp *pb.AuthRoleGetResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.RoleGet(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) RoleList(ctx context.Context, in *pb.AuthRoleListRequest, opts ...grpc.CallOption) (resp *pb.AuthRoleListResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.RoleList(rctx, in, opts...)\n\t\treturn err\n\t}, repeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) AuthEnable(ctx context.Context, in *pb.AuthEnableRequest, opts ...grpc.CallOption) (resp *pb.AuthEnableResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.AuthEnable(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) AuthDisable(ctx context.Context, in *pb.AuthDisableRequest, opts ...grpc.CallOption) (resp *pb.AuthDisableResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.AuthDisable(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) UserAdd(ctx context.Context, in *pb.AuthUserAddRequest, opts ...grpc.CallOption) (resp *pb.AuthUserAddResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.UserAdd(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) UserDelete(ctx context.Context, in *pb.AuthUserDeleteRequest, opts ...grpc.CallOption) (resp *pb.AuthUserDeleteResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.UserDelete(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) UserChangePassword(ctx context.Context, in *pb.AuthUserChangePasswordRequest, opts ...grpc.CallOption) (resp *pb.AuthUserChangePasswordResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.UserChangePassword(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) UserGrantRole(ctx context.Context, in *pb.AuthUserGrantRoleRequest, opts ...grpc.CallOption) (resp *pb.AuthUserGrantRoleResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.UserGrantRole(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) UserRevokeRole(ctx context.Context, in *pb.AuthUserRevokeRoleRequest, opts ...grpc.CallOption) (resp *pb.AuthUserRevokeRoleResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.UserRevokeRole(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) RoleAdd(ctx context.Context, in *pb.AuthRoleAddRequest, opts ...grpc.CallOption) (resp *pb.AuthRoleAddResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.RoleAdd(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) RoleDelete(ctx context.Context, in *pb.AuthRoleDeleteRequest, opts ...grpc.CallOption) (resp *pb.AuthRoleDeleteResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.RoleDelete(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) RoleGrantPermission(ctx context.Context, in *pb.AuthRoleGrantPermissionRequest, opts ...grpc.CallOption) (resp *pb.AuthRoleGrantPermissionResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.RoleGrantPermission(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) RoleRevokePermission(ctx context.Context, in *pb.AuthRoleRevokePermissionRequest, opts ...grpc.CallOption) (resp *pb.AuthRoleRevokePermissionResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.RoleRevokePermission(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n\nfunc (rac *retryAuthClient) Authenticate(ctx context.Context, in *pb.AuthenticateRequest, opts ...grpc.CallOption) (resp *pb.AuthenticateResponse, err error) {\n\terr = rac.retryf(ctx, func(rctx context.Context) error {\n\t\tresp, err = rac.ac.Authenticate(rctx, in, opts...)\n\t\treturn err\n\t}, nonRepeatable)\n\treturn resp, err\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/sort.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\ntype SortTarget int\ntype SortOrder int\n\nconst (\n\tSortNone SortOrder = iota\n\tSortAscend\n\tSortDescend\n)\n\nconst (\n\tSortByKey SortTarget = iota\n\tSortByVersion\n\tSortByCreateRevision\n\tSortByModRevision\n\tSortByValue\n)\n\ntype SortOption struct {\n\tTarget SortTarget\n\tOrder  SortOrder\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/txn.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport (\n\t\"context\"\n\t\"sync\"\n\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\n\t\"google.golang.org/grpc\"\n)\n\n// Txn is the interface that wraps mini-transactions.\n//\n//\t Txn(context.TODO()).If(\n//\t  Compare(Value(k1), \">\", v1),\n//\t  Compare(Version(k1), \"=\", 2)\n//\t ).Then(\n//\t  OpPut(k2,v2), OpPut(k3,v3)\n//\t ).Else(\n//\t  OpPut(k4,v4), OpPut(k5,v5)\n//\t ).Commit()\n//\ntype Txn interface {\n\t// If takes a list of comparison. If all comparisons passed in succeed,\n\t// the operations passed into Then() will be executed. Or the operations\n\t// passed into Else() will be executed.\n\tIf(cs ...Cmp) Txn\n\n\t// Then takes a list of operations. The Ops list will be executed, if the\n\t// comparisons passed in If() succeed.\n\tThen(ops ...Op) Txn\n\n\t// Else takes a list of operations. The Ops list will be executed, if the\n\t// comparisons passed in If() fail.\n\tElse(ops ...Op) Txn\n\n\t// Commit tries to commit the transaction.\n\tCommit() (*TxnResponse, error)\n}\n\ntype txn struct {\n\tkv  *kv\n\tctx context.Context\n\n\tmu    sync.Mutex\n\tcif   bool\n\tcthen bool\n\tcelse bool\n\n\tisWrite bool\n\n\tcmps []*pb.Compare\n\n\tsus []*pb.RequestOp\n\tfas []*pb.RequestOp\n\n\tcallOpts []grpc.CallOption\n}\n\nfunc (txn *txn) If(cs ...Cmp) Txn {\n\ttxn.mu.Lock()\n\tdefer txn.mu.Unlock()\n\n\tif txn.cif {\n\t\tpanic(\"cannot call If twice!\")\n\t}\n\n\tif txn.cthen {\n\t\tpanic(\"cannot call If after Then!\")\n\t}\n\n\tif txn.celse {\n\t\tpanic(\"cannot call If after Else!\")\n\t}\n\n\ttxn.cif = true\n\n\tfor i := range cs {\n\t\ttxn.cmps = append(txn.cmps, (*pb.Compare)(&cs[i]))\n\t}\n\n\treturn txn\n}\n\nfunc (txn *txn) Then(ops ...Op) Txn {\n\ttxn.mu.Lock()\n\tdefer txn.mu.Unlock()\n\n\tif txn.cthen {\n\t\tpanic(\"cannot call Then twice!\")\n\t}\n\tif txn.celse {\n\t\tpanic(\"cannot call Then after Else!\")\n\t}\n\n\ttxn.cthen = true\n\n\tfor _, op := range ops {\n\t\ttxn.isWrite = txn.isWrite || op.isWrite()\n\t\ttxn.sus = append(txn.sus, op.toRequestOp())\n\t}\n\n\treturn txn\n}\n\nfunc (txn *txn) Else(ops ...Op) Txn {\n\ttxn.mu.Lock()\n\tdefer txn.mu.Unlock()\n\n\tif txn.celse {\n\t\tpanic(\"cannot call Else twice!\")\n\t}\n\n\ttxn.celse = true\n\n\tfor _, op := range ops {\n\t\ttxn.isWrite = txn.isWrite || op.isWrite()\n\t\ttxn.fas = append(txn.fas, op.toRequestOp())\n\t}\n\n\treturn txn\n}\n\nfunc (txn *txn) Commit() (*TxnResponse, error) {\n\ttxn.mu.Lock()\n\tdefer txn.mu.Unlock()\n\n\tr := &pb.TxnRequest{Compare: txn.cmps, Success: txn.sus, Failure: txn.fas}\n\n\tvar resp *pb.TxnResponse\n\tvar err error\n\tresp, err = txn.kv.remote.Txn(txn.ctx, r, txn.callOpts...)\n\tif err != nil {\n\t\treturn nil, toErr(txn.ctx, err)\n\t}\n\treturn (*TxnResponse)(resp), nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/clientv3/watch.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage clientv3\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"sync\"\n\t\"time\"\n\n\tv3rpc \"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\tmvccpb \"github.com/coreos/etcd/mvcc/mvccpb\"\n\n\t\"google.golang.org/grpc\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/status\"\n)\n\nconst (\n\tEventTypeDelete = mvccpb.DELETE\n\tEventTypePut    = mvccpb.PUT\n\n\tcloseSendErrTimeout = 250 * time.Millisecond\n)\n\ntype Event mvccpb.Event\n\ntype WatchChan <-chan WatchResponse\n\ntype Watcher interface {\n\t// Watch watches on a key or prefix. The watched events will be returned\n\t// through the returned channel. If revisions waiting to be sent over the\n\t// watch are compacted, then the watch will be canceled by the server, the\n\t// client will post a compacted error watch response, and the channel will close.\n\t// If the context \"ctx\" is canceled or timed out, returned \"WatchChan\" is closed,\n\t// and \"WatchResponse\" from this closed channel has zero events and nil \"Err()\".\n\t// The context \"ctx\" MUST be canceled, as soon as watcher is no longer being used,\n\t// to release the associated resources.\n\t// If the context is \"context.Background/TODO\", returned \"WatchChan\" will not be closed\n\t// and wait until events happen, except when server returns a non-recoverable error.\n\t// For example, when context passed with \"WithRequireLeader\" and the connected server\n\t// has no leader, error \"etcdserver: no leader\" is returned, and then \"WatchChan\" is\n\t// closed with non-nil \"Err()\".\n\t// Otherwise, as long as the context has not been canceled or timed out, watch will\n\t// retry on other recoverable errors forever until reconnected.\n\t//\n\t// TODO: explicitly set context error in the last \"WatchResponse\" message and close channel?\n\t// Currently, client contexts are overwritten with \"valCtx\" that never closes.\n\t// TODO(v3.4): configure watch retry policy, limit maximum retry number\n\t// (see https://github.com/coreos/etcd/issues/8980)\n\tWatch(ctx context.Context, key string, opts ...OpOption) WatchChan\n\n\t// Close closes the watcher and cancels all watch requests.\n\tClose() error\n}\n\ntype WatchResponse struct {\n\tHeader pb.ResponseHeader\n\tEvents []*Event\n\n\t// CompactRevision is the minimum revision the watcher may receive.\n\tCompactRevision int64\n\n\t// Canceled is used to indicate watch failure.\n\t// If the watch failed and the stream was about to close, before the channel is closed,\n\t// the channel sends a final response that has Canceled set to true with a non-nil Err().\n\tCanceled bool\n\n\t// Created is used to indicate the creation of the watcher.\n\tCreated bool\n\n\tcloseErr error\n\n\t// cancelReason is a reason of canceling watch\n\tcancelReason string\n}\n\n// IsCreate returns true if the event tells that the key is newly created.\nfunc (e *Event) IsCreate() bool {\n\treturn e.Type == EventTypePut && e.Kv.CreateRevision == e.Kv.ModRevision\n}\n\n// IsModify returns true if the event tells that a new value is put on existing key.\nfunc (e *Event) IsModify() bool {\n\treturn e.Type == EventTypePut && e.Kv.CreateRevision != e.Kv.ModRevision\n}\n\n// Err is the error value if this WatchResponse holds an error.\nfunc (wr *WatchResponse) Err() error {\n\tswitch {\n\tcase wr.closeErr != nil:\n\t\treturn v3rpc.Error(wr.closeErr)\n\tcase wr.CompactRevision != 0:\n\t\treturn v3rpc.ErrCompacted\n\tcase wr.Canceled:\n\t\tif len(wr.cancelReason) != 0 {\n\t\t\treturn v3rpc.Error(status.Error(codes.FailedPrecondition, wr.cancelReason))\n\t\t}\n\t\treturn v3rpc.ErrFutureRev\n\t}\n\treturn nil\n}\n\n// IsProgressNotify returns true if the WatchResponse is progress notification.\nfunc (wr *WatchResponse) IsProgressNotify() bool {\n\treturn len(wr.Events) == 0 && !wr.Canceled && !wr.Created && wr.CompactRevision == 0 && wr.Header.Revision != 0\n}\n\n// watcher implements the Watcher interface\ntype watcher struct {\n\tremote   pb.WatchClient\n\tcallOpts []grpc.CallOption\n\n\t// mu protects the grpc streams map\n\tmu sync.RWMutex\n\n\t// streams holds all the active grpc streams keyed by ctx value.\n\tstreams map[string]*watchGrpcStream\n}\n\n// watchGrpcStream tracks all watch resources attached to a single grpc stream.\ntype watchGrpcStream struct {\n\towner    *watcher\n\tremote   pb.WatchClient\n\tcallOpts []grpc.CallOption\n\n\t// ctx controls internal remote.Watch requests\n\tctx context.Context\n\t// ctxKey is the key used when looking up this stream's context\n\tctxKey string\n\tcancel context.CancelFunc\n\n\t// substreams holds all active watchers on this grpc stream\n\tsubstreams map[int64]*watcherStream\n\t// resuming holds all resuming watchers on this grpc stream\n\tresuming []*watcherStream\n\n\t// reqc sends a watch request from Watch() to the main goroutine\n\treqc chan *watchRequest\n\t// respc receives data from the watch client\n\trespc chan *pb.WatchResponse\n\t// donec closes to broadcast shutdown\n\tdonec chan struct{}\n\t// errc transmits errors from grpc Recv to the watch stream reconnect logic\n\terrc chan error\n\t// closingc gets the watcherStream of closing watchers\n\tclosingc chan *watcherStream\n\t// wg is Done when all substream goroutines have exited\n\twg sync.WaitGroup\n\n\t// resumec closes to signal that all substreams should begin resuming\n\tresumec chan struct{}\n\t// closeErr is the error that closed the watch stream\n\tcloseErr error\n}\n\n// watchRequest is issued by the subscriber to start a new watcher\ntype watchRequest struct {\n\tctx context.Context\n\tkey string\n\tend string\n\trev int64\n\n\t// send created notification event if this field is true\n\tcreatedNotify bool\n\t// progressNotify is for progress updates\n\tprogressNotify bool\n\t// fragmentation should be disabled by default\n\t// if true, split watch events when total exceeds\n\t// \"--max-request-bytes\" flag value + 512-byte\n\tfragment bool\n\n\t// filters is the list of events to filter out\n\tfilters []pb.WatchCreateRequest_FilterType\n\t// get the previous key-value pair before the event happens\n\tprevKV bool\n\t// retc receives a chan WatchResponse once the watcher is established\n\tretc chan chan WatchResponse\n}\n\n// watcherStream represents a registered watcher\ntype watcherStream struct {\n\t// initReq is the request that initiated this request\n\tinitReq watchRequest\n\n\t// outc publishes watch responses to subscriber\n\toutc chan WatchResponse\n\t// recvc buffers watch responses before publishing\n\trecvc chan *WatchResponse\n\t// donec closes when the watcherStream goroutine stops.\n\tdonec chan struct{}\n\t// closing is set to true when stream should be scheduled to shutdown.\n\tclosing bool\n\t// id is the registered watch id on the grpc stream\n\tid int64\n\n\t// buf holds all events received from etcd but not yet consumed by the client\n\tbuf []*WatchResponse\n}\n\nfunc NewWatcher(c *Client) Watcher {\n\treturn NewWatchFromWatchClient(pb.NewWatchClient(c.conn), c)\n}\n\nfunc NewWatchFromWatchClient(wc pb.WatchClient, c *Client) Watcher {\n\tw := &watcher{\n\t\tremote:  wc,\n\t\tstreams: make(map[string]*watchGrpcStream),\n\t}\n\tif c != nil {\n\t\tw.callOpts = c.callOpts\n\t}\n\treturn w\n}\n\n// never closes\nvar valCtxCh = make(chan struct{})\nvar zeroTime = time.Unix(0, 0)\n\n// ctx with only the values; never Done\ntype valCtx struct{ context.Context }\n\nfunc (vc *valCtx) Deadline() (time.Time, bool) { return zeroTime, false }\nfunc (vc *valCtx) Done() <-chan struct{}       { return valCtxCh }\nfunc (vc *valCtx) Err() error                  { return nil }\n\nfunc (w *watcher) newWatcherGrpcStream(inctx context.Context) *watchGrpcStream {\n\tctx, cancel := context.WithCancel(&valCtx{inctx})\n\twgs := &watchGrpcStream{\n\t\towner:      w,\n\t\tremote:     w.remote,\n\t\tcallOpts:   w.callOpts,\n\t\tctx:        ctx,\n\t\tctxKey:     streamKeyFromCtx(inctx),\n\t\tcancel:     cancel,\n\t\tsubstreams: make(map[int64]*watcherStream),\n\t\trespc:      make(chan *pb.WatchResponse),\n\t\treqc:       make(chan *watchRequest),\n\t\tdonec:      make(chan struct{}),\n\t\terrc:       make(chan error, 1),\n\t\tclosingc:   make(chan *watcherStream),\n\t\tresumec:    make(chan struct{}),\n\t}\n\tgo wgs.run()\n\treturn wgs\n}\n\n// Watch posts a watch request to run() and waits for a new watcher channel\nfunc (w *watcher) Watch(ctx context.Context, key string, opts ...OpOption) WatchChan {\n\tow := opWatch(key, opts...)\n\n\tvar filters []pb.WatchCreateRequest_FilterType\n\tif ow.filterPut {\n\t\tfilters = append(filters, pb.WatchCreateRequest_NOPUT)\n\t}\n\tif ow.filterDelete {\n\t\tfilters = append(filters, pb.WatchCreateRequest_NODELETE)\n\t}\n\n\twr := &watchRequest{\n\t\tctx:            ctx,\n\t\tcreatedNotify:  ow.createdNotify,\n\t\tkey:            string(ow.key),\n\t\tend:            string(ow.end),\n\t\trev:            ow.rev,\n\t\tprogressNotify: ow.progressNotify,\n\t\tfragment:       ow.fragment,\n\t\tfilters:        filters,\n\t\tprevKV:         ow.prevKV,\n\t\tretc:           make(chan chan WatchResponse, 1),\n\t}\n\n\tok := false\n\tctxKey := streamKeyFromCtx(ctx)\n\n\t// find or allocate appropriate grpc watch stream\n\tw.mu.Lock()\n\tif w.streams == nil {\n\t\t// closed\n\t\tw.mu.Unlock()\n\t\tch := make(chan WatchResponse)\n\t\tclose(ch)\n\t\treturn ch\n\t}\n\twgs := w.streams[ctxKey]\n\tif wgs == nil {\n\t\twgs = w.newWatcherGrpcStream(ctx)\n\t\tw.streams[ctxKey] = wgs\n\t}\n\tdonec := wgs.donec\n\treqc := wgs.reqc\n\tw.mu.Unlock()\n\n\t// couldn't create channel; return closed channel\n\tcloseCh := make(chan WatchResponse, 1)\n\n\t// submit request\n\tselect {\n\tcase reqc <- wr:\n\t\tok = true\n\tcase <-wr.ctx.Done():\n\tcase <-donec:\n\t\tif wgs.closeErr != nil {\n\t\t\tcloseCh <- WatchResponse{closeErr: wgs.closeErr}\n\t\t\tbreak\n\t\t}\n\t\t// retry; may have dropped stream from no ctxs\n\t\treturn w.Watch(ctx, key, opts...)\n\t}\n\n\t// receive channel\n\tif ok {\n\t\tselect {\n\t\tcase ret := <-wr.retc:\n\t\t\treturn ret\n\t\tcase <-ctx.Done():\n\t\tcase <-donec:\n\t\t\tif wgs.closeErr != nil {\n\t\t\t\tcloseCh <- WatchResponse{closeErr: wgs.closeErr}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// retry; may have dropped stream from no ctxs\n\t\t\treturn w.Watch(ctx, key, opts...)\n\t\t}\n\t}\n\n\tclose(closeCh)\n\treturn closeCh\n}\n\nfunc (w *watcher) Close() (err error) {\n\tw.mu.Lock()\n\tstreams := w.streams\n\tw.streams = nil\n\tw.mu.Unlock()\n\tfor _, wgs := range streams {\n\t\tif werr := wgs.close(); werr != nil {\n\t\t\terr = werr\n\t\t}\n\t}\n\treturn err\n}\n\nfunc (w *watchGrpcStream) close() (err error) {\n\tw.cancel()\n\t<-w.donec\n\tselect {\n\tcase err = <-w.errc:\n\tdefault:\n\t}\n\treturn toErr(w.ctx, err)\n}\n\nfunc (w *watcher) closeStream(wgs *watchGrpcStream) {\n\tw.mu.Lock()\n\tclose(wgs.donec)\n\twgs.cancel()\n\tif w.streams != nil {\n\t\tdelete(w.streams, wgs.ctxKey)\n\t}\n\tw.mu.Unlock()\n}\n\nfunc (w *watchGrpcStream) addSubstream(resp *pb.WatchResponse, ws *watcherStream) {\n\t// check watch ID for backward compatibility (<= v3.3)\n\tif resp.WatchId == -1 || (resp.Canceled && resp.CancelReason != \"\") {\n\t\t// failed; no channel\n\t\tclose(ws.recvc)\n\t\treturn\n\t}\n\tws.id = resp.WatchId\n\tw.substreams[ws.id] = ws\n}\n\nfunc (w *watchGrpcStream) sendCloseSubstream(ws *watcherStream, resp *WatchResponse) {\n\tselect {\n\tcase ws.outc <- *resp:\n\tcase <-ws.initReq.ctx.Done():\n\tcase <-time.After(closeSendErrTimeout):\n\t}\n\tclose(ws.outc)\n}\n\nfunc (w *watchGrpcStream) closeSubstream(ws *watcherStream) {\n\t// send channel response in case stream was never established\n\tselect {\n\tcase ws.initReq.retc <- ws.outc:\n\tdefault:\n\t}\n\t// close subscriber's channel\n\tif closeErr := w.closeErr; closeErr != nil && ws.initReq.ctx.Err() == nil {\n\t\tgo w.sendCloseSubstream(ws, &WatchResponse{closeErr: w.closeErr})\n\t} else if ws.outc != nil {\n\t\tclose(ws.outc)\n\t}\n\tif ws.id != -1 {\n\t\tdelete(w.substreams, ws.id)\n\t\treturn\n\t}\n\tfor i := range w.resuming {\n\t\tif w.resuming[i] == ws {\n\t\t\tw.resuming[i] = nil\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// run is the root of the goroutines for managing a watcher client\nfunc (w *watchGrpcStream) run() {\n\tvar wc pb.Watch_WatchClient\n\tvar closeErr error\n\n\t// substreams marked to close but goroutine still running; needed for\n\t// avoiding double-closing recvc on grpc stream teardown\n\tclosing := make(map[*watcherStream]struct{})\n\n\tdefer func() {\n\t\tw.closeErr = closeErr\n\t\t// shutdown substreams and resuming substreams\n\t\tfor _, ws := range w.substreams {\n\t\t\tif _, ok := closing[ws]; !ok {\n\t\t\t\tclose(ws.recvc)\n\t\t\t\tclosing[ws] = struct{}{}\n\t\t\t}\n\t\t}\n\t\tfor _, ws := range w.resuming {\n\t\t\tif _, ok := closing[ws]; ws != nil && !ok {\n\t\t\t\tclose(ws.recvc)\n\t\t\t\tclosing[ws] = struct{}{}\n\t\t\t}\n\t\t}\n\t\tw.joinSubstreams()\n\t\tfor range closing {\n\t\t\tw.closeSubstream(<-w.closingc)\n\t\t}\n\t\tw.wg.Wait()\n\t\tw.owner.closeStream(w)\n\t}()\n\n\t// start a stream with the etcd grpc server\n\tif wc, closeErr = w.newWatchClient(); closeErr != nil {\n\t\treturn\n\t}\n\n\tcancelSet := make(map[int64]struct{})\n\n\tvar cur *pb.WatchResponse\n\tfor {\n\t\tselect {\n\t\t// Watch() requested\n\t\tcase wreq := <-w.reqc:\n\t\t\toutc := make(chan WatchResponse, 1)\n\t\t\t// TODO: pass custom watch ID?\n\t\t\tws := &watcherStream{\n\t\t\t\tinitReq: *wreq,\n\t\t\t\tid:      -1,\n\t\t\t\toutc:    outc,\n\t\t\t\t// unbuffered so resumes won't cause repeat events\n\t\t\t\trecvc: make(chan *WatchResponse),\n\t\t\t}\n\n\t\t\tws.donec = make(chan struct{})\n\t\t\tw.wg.Add(1)\n\t\t\tgo w.serveSubstream(ws, w.resumec)\n\n\t\t\t// queue up for watcher creation/resume\n\t\t\tw.resuming = append(w.resuming, ws)\n\t\t\tif len(w.resuming) == 1 {\n\t\t\t\t// head of resume queue, can register a new watcher\n\t\t\t\twc.Send(ws.initReq.toPB())\n\t\t\t}\n\n\t\t// new events from the watch client\n\t\tcase pbresp := <-w.respc:\n\t\t\tif cur == nil || pbresp.Created || pbresp.Canceled {\n\t\t\t\tcur = pbresp\n\t\t\t} else if cur != nil && cur.WatchId == pbresp.WatchId {\n\t\t\t\t// merge new events\n\t\t\t\tcur.Events = append(cur.Events, pbresp.Events...)\n\t\t\t\t// update \"Fragment\" field; last response with \"Fragment\" == false\n\t\t\t\tcur.Fragment = pbresp.Fragment\n\t\t\t}\n\n\t\t\tswitch {\n\t\t\tcase pbresp.Created:\n\t\t\t\t// response to head of queue creation\n\t\t\t\tif ws := w.resuming[0]; ws != nil {\n\t\t\t\t\tw.addSubstream(pbresp, ws)\n\t\t\t\t\tw.dispatchEvent(pbresp)\n\t\t\t\t\tw.resuming[0] = nil\n\t\t\t\t}\n\n\t\t\t\tif ws := w.nextResume(); ws != nil {\n\t\t\t\t\twc.Send(ws.initReq.toPB())\n\t\t\t\t}\n\n\t\t\t\t// reset for next iteration\n\t\t\t\tcur = nil\n\n\t\t\tcase pbresp.Canceled && pbresp.CompactRevision == 0:\n\t\t\t\tdelete(cancelSet, pbresp.WatchId)\n\t\t\t\tif ws, ok := w.substreams[pbresp.WatchId]; ok {\n\t\t\t\t\t// signal to stream goroutine to update closingc\n\t\t\t\t\tclose(ws.recvc)\n\t\t\t\t\tclosing[ws] = struct{}{}\n\t\t\t\t}\n\n\t\t\t\t// reset for next iteration\n\t\t\t\tcur = nil\n\n\t\t\tcase cur.Fragment:\n\t\t\t\t// watch response events are still fragmented\n\t\t\t\t// continue to fetch next fragmented event arrival\n\t\t\t\tcontinue\n\n\t\t\tdefault:\n\t\t\t\t// dispatch to appropriate watch stream\n\t\t\t\tok := w.dispatchEvent(cur)\n\n\t\t\t\t// reset for next iteration\n\t\t\t\tcur = nil\n\n\t\t\t\tif ok {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\n\t\t\t\t// watch response on unexpected watch id; cancel id\n\t\t\t\tif _, ok := cancelSet[pbresp.WatchId]; ok {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\n\t\t\t\tcancelSet[pbresp.WatchId] = struct{}{}\n\t\t\t\tcr := &pb.WatchRequest_CancelRequest{\n\t\t\t\t\tCancelRequest: &pb.WatchCancelRequest{\n\t\t\t\t\t\tWatchId: pbresp.WatchId,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t\treq := &pb.WatchRequest{RequestUnion: cr}\n\t\t\t\twc.Send(req)\n\t\t\t}\n\n\t\t// watch client failed on Recv; spawn another if possible\n\t\tcase err := <-w.errc:\n\t\t\tif isHaltErr(w.ctx, err) || toErr(w.ctx, err) == v3rpc.ErrNoLeader {\n\t\t\t\tcloseErr = err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif wc, closeErr = w.newWatchClient(); closeErr != nil {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif ws := w.nextResume(); ws != nil {\n\t\t\t\twc.Send(ws.initReq.toPB())\n\t\t\t}\n\t\t\tcancelSet = make(map[int64]struct{})\n\n\t\tcase <-w.ctx.Done():\n\t\t\treturn\n\n\t\tcase ws := <-w.closingc:\n\t\t\tw.closeSubstream(ws)\n\t\t\tdelete(closing, ws)\n\t\t\t// no more watchers on this stream, shutdown\n\t\t\tif len(w.substreams)+len(w.resuming) == 0 {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}\n}\n\n// nextResume chooses the next resuming to register with the grpc stream. Abandoned\n// streams are marked as nil in the queue since the head must wait for its inflight registration.\nfunc (w *watchGrpcStream) nextResume() *watcherStream {\n\tfor len(w.resuming) != 0 {\n\t\tif w.resuming[0] != nil {\n\t\t\treturn w.resuming[0]\n\t\t}\n\t\tw.resuming = w.resuming[1:len(w.resuming)]\n\t}\n\treturn nil\n}\n\n// dispatchEvent sends a WatchResponse to the appropriate watcher stream\nfunc (w *watchGrpcStream) dispatchEvent(pbresp *pb.WatchResponse) bool {\n\tevents := make([]*Event, len(pbresp.Events))\n\tfor i, ev := range pbresp.Events {\n\t\tevents[i] = (*Event)(ev)\n\t}\n\t// TODO: return watch ID?\n\twr := &WatchResponse{\n\t\tHeader:          *pbresp.Header,\n\t\tEvents:          events,\n\t\tCompactRevision: pbresp.CompactRevision,\n\t\tCreated:         pbresp.Created,\n\t\tCanceled:        pbresp.Canceled,\n\t\tcancelReason:    pbresp.CancelReason,\n\t}\n\tws, ok := w.substreams[pbresp.WatchId]\n\tif !ok {\n\t\treturn false\n\t}\n\tselect {\n\tcase ws.recvc <- wr:\n\tcase <-ws.donec:\n\t\treturn false\n\t}\n\treturn true\n}\n\n// serveWatchClient forwards messages from the grpc stream to run()\nfunc (w *watchGrpcStream) serveWatchClient(wc pb.Watch_WatchClient) {\n\tfor {\n\t\tresp, err := wc.Recv()\n\t\tif err != nil {\n\t\t\tselect {\n\t\t\tcase w.errc <- err:\n\t\t\tcase <-w.donec:\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tselect {\n\t\tcase w.respc <- resp:\n\t\tcase <-w.donec:\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// serveSubstream forwards watch responses from run() to the subscriber\nfunc (w *watchGrpcStream) serveSubstream(ws *watcherStream, resumec chan struct{}) {\n\tif ws.closing {\n\t\tpanic(\"created substream goroutine but substream is closing\")\n\t}\n\n\t// nextRev is the minimum expected next revision\n\tnextRev := ws.initReq.rev\n\tresuming := false\n\tdefer func() {\n\t\tif !resuming {\n\t\t\tws.closing = true\n\t\t}\n\t\tclose(ws.donec)\n\t\tif !resuming {\n\t\t\tw.closingc <- ws\n\t\t}\n\t\tw.wg.Done()\n\t}()\n\n\temptyWr := &WatchResponse{}\n\tfor {\n\t\tcurWr := emptyWr\n\t\toutc := ws.outc\n\n\t\tif len(ws.buf) > 0 {\n\t\t\tcurWr = ws.buf[0]\n\t\t} else {\n\t\t\toutc = nil\n\t\t}\n\t\tselect {\n\t\tcase outc <- *curWr:\n\t\t\tif ws.buf[0].Err() != nil {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tws.buf[0] = nil\n\t\t\tws.buf = ws.buf[1:]\n\t\tcase wr, ok := <-ws.recvc:\n\t\t\tif !ok {\n\t\t\t\t// shutdown from closeSubstream\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif wr.Created {\n\t\t\t\tif ws.initReq.retc != nil {\n\t\t\t\t\tws.initReq.retc <- ws.outc\n\t\t\t\t\t// to prevent next write from taking the slot in buffered channel\n\t\t\t\t\t// and posting duplicate create events\n\t\t\t\t\tws.initReq.retc = nil\n\n\t\t\t\t\t// send first creation event only if requested\n\t\t\t\t\tif ws.initReq.createdNotify {\n\t\t\t\t\t\tws.outc <- *wr\n\t\t\t\t\t}\n\t\t\t\t\t// once the watch channel is returned, a current revision\n\t\t\t\t\t// watch must resume at the store revision. This is necessary\n\t\t\t\t\t// for the following case to work as expected:\n\t\t\t\t\t//\twch := m1.Watch(\"a\")\n\t\t\t\t\t//\tm2.Put(\"a\", \"b\")\n\t\t\t\t\t//\t<-wch\n\t\t\t\t\t// If the revision is only bound on the first observed event,\n\t\t\t\t\t// if wch is disconnected before the Put is issued, then reconnects\n\t\t\t\t\t// after it is committed, it'll miss the Put.\n\t\t\t\t\tif ws.initReq.rev == 0 {\n\t\t\t\t\t\tnextRev = wr.Header.Revision\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// current progress of watch; <= store revision\n\t\t\t\tnextRev = wr.Header.Revision\n\t\t\t}\n\n\t\t\tif len(wr.Events) > 0 {\n\t\t\t\tnextRev = wr.Events[len(wr.Events)-1].Kv.ModRevision + 1\n\t\t\t}\n\t\t\tws.initReq.rev = nextRev\n\n\t\t\t// created event is already sent above,\n\t\t\t// watcher should not post duplicate events\n\t\t\tif wr.Created {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO pause channel if buffer gets too large\n\t\t\tws.buf = append(ws.buf, wr)\n\t\tcase <-w.ctx.Done():\n\t\t\treturn\n\t\tcase <-ws.initReq.ctx.Done():\n\t\t\treturn\n\t\tcase <-resumec:\n\t\t\tresuming = true\n\t\t\treturn\n\t\t}\n\t}\n\t// lazily send cancel message if events on missing id\n}\n\nfunc (w *watchGrpcStream) newWatchClient() (pb.Watch_WatchClient, error) {\n\t// mark all substreams as resuming\n\tclose(w.resumec)\n\tw.resumec = make(chan struct{})\n\tw.joinSubstreams()\n\tfor _, ws := range w.substreams {\n\t\tws.id = -1\n\t\tw.resuming = append(w.resuming, ws)\n\t}\n\t// strip out nils, if any\n\tvar resuming []*watcherStream\n\tfor _, ws := range w.resuming {\n\t\tif ws != nil {\n\t\t\tresuming = append(resuming, ws)\n\t\t}\n\t}\n\tw.resuming = resuming\n\tw.substreams = make(map[int64]*watcherStream)\n\n\t// connect to grpc stream while accepting watcher cancelation\n\tstopc := make(chan struct{})\n\tdonec := w.waitCancelSubstreams(stopc)\n\twc, err := w.openWatchClient()\n\tclose(stopc)\n\t<-donec\n\n\t// serve all non-closing streams, even if there's a client error\n\t// so that the teardown path can shutdown the streams as expected.\n\tfor _, ws := range w.resuming {\n\t\tif ws.closing {\n\t\t\tcontinue\n\t\t}\n\t\tws.donec = make(chan struct{})\n\t\tw.wg.Add(1)\n\t\tgo w.serveSubstream(ws, w.resumec)\n\t}\n\n\tif err != nil {\n\t\treturn nil, v3rpc.Error(err)\n\t}\n\n\t// receive data from new grpc stream\n\tgo w.serveWatchClient(wc)\n\treturn wc, nil\n}\n\nfunc (w *watchGrpcStream) waitCancelSubstreams(stopc <-chan struct{}) <-chan struct{} {\n\tvar wg sync.WaitGroup\n\twg.Add(len(w.resuming))\n\tdonec := make(chan struct{})\n\tfor i := range w.resuming {\n\t\tgo func(ws *watcherStream) {\n\t\t\tdefer wg.Done()\n\t\t\tif ws.closing {\n\t\t\t\tif ws.initReq.ctx.Err() != nil && ws.outc != nil {\n\t\t\t\t\tclose(ws.outc)\n\t\t\t\t\tws.outc = nil\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tselect {\n\t\t\tcase <-ws.initReq.ctx.Done():\n\t\t\t\t// closed ws will be removed from resuming\n\t\t\t\tws.closing = true\n\t\t\t\tclose(ws.outc)\n\t\t\t\tws.outc = nil\n\t\t\t\tw.wg.Add(1)\n\t\t\t\tgo func() {\n\t\t\t\t\tdefer w.wg.Done()\n\t\t\t\t\tw.closingc <- ws\n\t\t\t\t}()\n\t\t\tcase <-stopc:\n\t\t\t}\n\t\t}(w.resuming[i])\n\t}\n\tgo func() {\n\t\tdefer close(donec)\n\t\twg.Wait()\n\t}()\n\treturn donec\n}\n\n// joinSubstreams waits for all substream goroutines to complete.\nfunc (w *watchGrpcStream) joinSubstreams() {\n\tfor _, ws := range w.substreams {\n\t\t<-ws.donec\n\t}\n\tfor _, ws := range w.resuming {\n\t\tif ws != nil {\n\t\t\t<-ws.donec\n\t\t}\n\t}\n}\n\nvar maxBackoff = 100 * time.Millisecond\n\n// openWatchClient retries opening a watch client until success or halt.\n// manually retry in case \"ws==nil && err==nil\"\n// TODO: remove FailFast=false\nfunc (w *watchGrpcStream) openWatchClient() (ws pb.Watch_WatchClient, err error) {\n\tbackoff := time.Millisecond\n\tfor {\n\t\tselect {\n\t\tcase <-w.ctx.Done():\n\t\t\tif err == nil {\n\t\t\t\treturn nil, w.ctx.Err()\n\t\t\t}\n\t\t\treturn nil, err\n\t\tdefault:\n\t\t}\n\t\tif ws, err = w.remote.Watch(w.ctx, w.callOpts...); ws != nil && err == nil {\n\t\t\tbreak\n\t\t}\n\t\tif isHaltErr(w.ctx, err) {\n\t\t\treturn nil, v3rpc.Error(err)\n\t\t}\n\t\tif isUnavailableErr(w.ctx, err) {\n\t\t\t// retry, but backoff\n\t\t\tif backoff < maxBackoff {\n\t\t\t\t// 25% backoff factor\n\t\t\t\tbackoff = backoff + backoff/4\n\t\t\t\tif backoff > maxBackoff {\n\t\t\t\t\tbackoff = maxBackoff\n\t\t\t\t}\n\t\t\t}\n\t\t\ttime.Sleep(backoff)\n\t\t}\n\t}\n\treturn ws, nil\n}\n\n// toPB converts an internal watch request structure to its protobuf WatchRequest structure.\nfunc (wr *watchRequest) toPB() *pb.WatchRequest {\n\treq := &pb.WatchCreateRequest{\n\t\tStartRevision:  wr.rev,\n\t\tKey:            []byte(wr.key),\n\t\tRangeEnd:       []byte(wr.end),\n\t\tProgressNotify: wr.progressNotify,\n\t\tFilters:        wr.filters,\n\t\tPrevKv:         wr.prevKV,\n\t\tFragment:       wr.fragment,\n\t}\n\tcr := &pb.WatchRequest_CreateRequest{CreateRequest: req}\n\treturn &pb.WatchRequest{RequestUnion: cr}\n}\n\nfunc streamKeyFromCtx(ctx context.Context) string {\n\tif md, ok := metadata.FromOutgoingContext(ctx); ok {\n\t\treturn fmt.Sprintf(\"%+v\", md)\n\t}\n\treturn \"\"\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/capability.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage api\n\nimport (\n\t\"sync\"\n\n\t\"github.com/coreos/etcd/version\"\n\t\"go.uber.org/zap\"\n\n\t\"github.com/coreos/go-semver/semver\"\n\t\"github.com/coreos/pkg/capnslog\"\n)\n\ntype Capability string\n\nconst (\n\tAuthCapability  Capability = \"auth\"\n\tV3rpcCapability Capability = \"v3rpc\"\n)\n\nvar (\n\tplog = capnslog.NewPackageLogger(\"github.com/coreos/etcd\", \"etcdserver/api\")\n\n\t// capabilityMaps is a static map of version to capability map.\n\tcapabilityMaps = map[string]map[Capability]bool{\n\t\t\"3.0.0\": {AuthCapability: true, V3rpcCapability: true},\n\t\t\"3.1.0\": {AuthCapability: true, V3rpcCapability: true},\n\t\t\"3.2.0\": {AuthCapability: true, V3rpcCapability: true},\n\t\t\"3.3.0\": {AuthCapability: true, V3rpcCapability: true},\n\t}\n\n\tenableMapMu sync.RWMutex\n\t// enabledMap points to a map in capabilityMaps\n\tenabledMap map[Capability]bool\n\n\tcurVersion *semver.Version\n)\n\nfunc init() {\n\tenabledMap = map[Capability]bool{\n\t\tAuthCapability:  true,\n\t\tV3rpcCapability: true,\n\t}\n}\n\n// UpdateCapability updates the enabledMap when the cluster version increases.\nfunc UpdateCapability(lg *zap.Logger, v *semver.Version) {\n\tif v == nil {\n\t\t// if recovered but version was never set by cluster\n\t\treturn\n\t}\n\tenableMapMu.Lock()\n\tif curVersion != nil && !curVersion.LessThan(*v) {\n\t\tenableMapMu.Unlock()\n\t\treturn\n\t}\n\tcurVersion = v\n\tenabledMap = capabilityMaps[curVersion.String()]\n\tenableMapMu.Unlock()\n\n\tif lg != nil {\n\t\tlg.Info(\n\t\t\t\"enabled capabilities for version\",\n\t\t\tzap.String(\"cluster-version\", version.Cluster(v.String())),\n\t\t)\n\t} else {\n\t\tplog.Infof(\"enabled capabilities for version %s\", version.Cluster(v.String()))\n\t}\n}\n\nfunc IsCapabilityEnabled(c Capability) bool {\n\tenableMapMu.RLock()\n\tdefer enableMapMu.RUnlock()\n\tif enabledMap == nil {\n\t\treturn false\n\t}\n\treturn enabledMap[c]\n}\n\nfunc EnableCapability(c Capability) {\n\tenableMapMu.Lock()\n\tdefer enableMapMu.Unlock()\n\tenabledMap[c] = true\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/cluster.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage api\n\nimport (\n\t\"github.com/coreos/etcd/etcdserver/api/membership\"\n\t\"github.com/coreos/etcd/pkg/types\"\n\n\t\"github.com/coreos/go-semver/semver\"\n)\n\n// Cluster is an interface representing a collection of members in one etcd cluster.\ntype Cluster interface {\n\t// ID returns the cluster ID\n\tID() types.ID\n\t// ClientURLs returns an aggregate set of all URLs on which this\n\t// cluster is listening for client requests\n\tClientURLs() []string\n\t// Members returns a slice of members sorted by their ID\n\tMembers() []*membership.Member\n\t// Member retrieves a particular member based on ID, or nil if the\n\t// member does not exist in the cluster\n\tMember(id types.ID) *membership.Member\n\t// Version is the cluster-wide minimum major.minor version.\n\tVersion() *semver.Version\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/doc.go",
    "content": "// Copyright 2016 The etcd Authors\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// Package api manages the capabilities and features that are exposed to clients by the etcd cluster.\npackage api\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/auth.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage v3rpc\n\nimport (\n\t\"context\"\n\n\t\"github.com/coreos/etcd/etcdserver\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n)\n\ntype AuthServer struct {\n\tauthenticator etcdserver.Authenticator\n}\n\nfunc NewAuthServer(s *etcdserver.EtcdServer) *AuthServer {\n\treturn &AuthServer{authenticator: s}\n}\n\nfunc (as *AuthServer) AuthEnable(ctx context.Context, r *pb.AuthEnableRequest) (*pb.AuthEnableResponse, error) {\n\tresp, err := as.authenticator.AuthEnable(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) AuthDisable(ctx context.Context, r *pb.AuthDisableRequest) (*pb.AuthDisableResponse, error) {\n\tresp, err := as.authenticator.AuthDisable(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) Authenticate(ctx context.Context, r *pb.AuthenticateRequest) (*pb.AuthenticateResponse, error) {\n\tresp, err := as.authenticator.Authenticate(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) RoleAdd(ctx context.Context, r *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error) {\n\tresp, err := as.authenticator.RoleAdd(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) RoleDelete(ctx context.Context, r *pb.AuthRoleDeleteRequest) (*pb.AuthRoleDeleteResponse, error) {\n\tresp, err := as.authenticator.RoleDelete(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) RoleGet(ctx context.Context, r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error) {\n\tresp, err := as.authenticator.RoleGet(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) RoleList(ctx context.Context, r *pb.AuthRoleListRequest) (*pb.AuthRoleListResponse, error) {\n\tresp, err := as.authenticator.RoleList(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) RoleRevokePermission(ctx context.Context, r *pb.AuthRoleRevokePermissionRequest) (*pb.AuthRoleRevokePermissionResponse, error) {\n\tresp, err := as.authenticator.RoleRevokePermission(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) RoleGrantPermission(ctx context.Context, r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error) {\n\tresp, err := as.authenticator.RoleGrantPermission(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) UserAdd(ctx context.Context, r *pb.AuthUserAddRequest) (*pb.AuthUserAddResponse, error) {\n\tresp, err := as.authenticator.UserAdd(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) UserDelete(ctx context.Context, r *pb.AuthUserDeleteRequest) (*pb.AuthUserDeleteResponse, error) {\n\tresp, err := as.authenticator.UserDelete(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) UserGet(ctx context.Context, r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error) {\n\tresp, err := as.authenticator.UserGet(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) UserList(ctx context.Context, r *pb.AuthUserListRequest) (*pb.AuthUserListResponse, error) {\n\tresp, err := as.authenticator.UserList(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) UserGrantRole(ctx context.Context, r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error) {\n\tresp, err := as.authenticator.UserGrantRole(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) UserRevokeRole(ctx context.Context, r *pb.AuthUserRevokeRoleRequest) (*pb.AuthUserRevokeRoleResponse, error) {\n\tresp, err := as.authenticator.UserRevokeRole(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n\nfunc (as *AuthServer) UserChangePassword(ctx context.Context, r *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error) {\n\tresp, err := as.authenticator.UserChangePassword(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn resp, nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/codec.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage v3rpc\n\nimport \"github.com/gogo/protobuf/proto\"\n\ntype codec struct{}\n\nfunc (c *codec) Marshal(v interface{}) ([]byte, error) {\n\tb, err := proto.Marshal(v.(proto.Message))\n\tsentBytes.Add(float64(len(b)))\n\treturn b, err\n}\n\nfunc (c *codec) Unmarshal(data []byte, v interface{}) error {\n\treceivedBytes.Add(float64(len(data)))\n\treturn proto.Unmarshal(data, v.(proto.Message))\n}\n\nfunc (c *codec) String() string {\n\treturn \"proto\"\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/grpc.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage v3rpc\n\nimport (\n\t\"crypto/tls\"\n\t\"io/ioutil\"\n\t\"math\"\n\t\"os\"\n\t\"sync\"\n\n\t\"github.com/coreos/etcd/etcdserver\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\n\t\"github.com/grpc-ecosystem/go-grpc-prometheus\"\n\t\"google.golang.org/grpc\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/health\"\n\thealthpb \"google.golang.org/grpc/health/grpc_health_v1\"\n)\n\nconst (\n\tgrpcOverheadBytes = 512 * 1024\n\tmaxStreams        = math.MaxUint32\n\tmaxSendBytes      = math.MaxInt32\n)\n\n// integration tests call this multiple times, which is racey in gRPC side\nvar grpclogOnce sync.Once\n\nfunc Server(s *etcdserver.EtcdServer, tls *tls.Config, gopts ...grpc.ServerOption) *grpc.Server {\n\tvar opts []grpc.ServerOption\n\topts = append(opts, grpc.CustomCodec(&codec{}))\n\tif tls != nil {\n\t\topts = append(opts, grpc.Creds(credentials.NewTLS(tls)))\n\t}\n\topts = append(opts, grpc.UnaryInterceptor(newUnaryInterceptor(s)))\n\topts = append(opts, grpc.StreamInterceptor(newStreamInterceptor(s)))\n\topts = append(opts, grpc.MaxRecvMsgSize(int(s.Cfg.MaxRequestBytes+grpcOverheadBytes)))\n\topts = append(opts, grpc.MaxSendMsgSize(maxSendBytes))\n\topts = append(opts, grpc.MaxConcurrentStreams(maxStreams))\n\tgrpcServer := grpc.NewServer(append(opts, gopts...)...)\n\n\tpb.RegisterKVServer(grpcServer, NewQuotaKVServer(s))\n\tpb.RegisterWatchServer(grpcServer, NewWatchServer(s))\n\tpb.RegisterLeaseServer(grpcServer, NewQuotaLeaseServer(s))\n\tpb.RegisterClusterServer(grpcServer, NewClusterServer(s))\n\tpb.RegisterAuthServer(grpcServer, NewAuthServer(s))\n\tpb.RegisterMaintenanceServer(grpcServer, NewMaintenanceServer(s))\n\n\t// server should register all the services manually\n\t// use empty service name for all etcd services' health status,\n\t// see https://github.com/grpc/grpc/blob/master/doc/health-checking.md for more\n\thsrv := health.NewServer()\n\thsrv.SetServingStatus(\"\", healthpb.HealthCheckResponse_SERVING)\n\thealthpb.RegisterHealthServer(grpcServer, hsrv)\n\n\t// set zero values for metrics registered for this grpc server\n\tgrpc_prometheus.Register(grpcServer)\n\n\tgrpclogOnce.Do(func() {\n\t\tif s.Cfg.Debug {\n\t\t\tgrpc.EnableTracing = true\n\t\t\t// enable info, warning, error\n\t\t\tgrpclog.SetLoggerV2(grpclog.NewLoggerV2(os.Stderr, os.Stderr, os.Stderr))\n\t\t} else {\n\t\t\t// only discard info\n\t\t\tgrpclog.SetLoggerV2(grpclog.NewLoggerV2(ioutil.Discard, os.Stderr, os.Stderr))\n\t\t}\n\t})\n\n\treturn grpcServer\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/header.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage v3rpc\n\nimport (\n\t\"github.com/coreos/etcd/etcdserver\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n)\n\ntype header struct {\n\tclusterID int64\n\tmemberID  int64\n\tsg        etcdserver.RaftStatusGetter\n\trev       func() int64\n}\n\nfunc newHeader(s *etcdserver.EtcdServer) header {\n\treturn header{\n\t\tclusterID: int64(s.Cluster().ID()),\n\t\tmemberID:  int64(s.ID()),\n\t\tsg:        s,\n\t\trev:       func() int64 { return s.KV().Rev() },\n\t}\n}\n\n// fill populates pb.ResponseHeader using etcdserver information\nfunc (h *header) fill(rh *pb.ResponseHeader) {\n\tif rh == nil {\n\t\tplog.Panic(\"unexpected nil resp.Header\")\n\t}\n\trh.ClusterId = uint64(h.clusterID)\n\trh.MemberId = uint64(h.memberID)\n\trh.RaftTerm = h.sg.Term()\n\tif rh.Revision == 0 {\n\t\trh.Revision = h.rev()\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/interceptor.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage v3rpc\n\nimport (\n\t\"context\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/etcdserver\"\n\t\"github.com/coreos/etcd/etcdserver/api\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\t\"github.com/coreos/etcd/pkg/types\"\n\t\"github.com/coreos/etcd/raft\"\n\n\tprometheus \"github.com/grpc-ecosystem/go-grpc-prometheus\"\n\t\"google.golang.org/grpc\"\n\t\"google.golang.org/grpc/metadata\"\n)\n\nconst (\n\tmaxNoLeaderCnt = 3\n)\n\ntype streamsMap struct {\n\tmu      sync.Mutex\n\tstreams map[grpc.ServerStream]struct{}\n}\n\nfunc newUnaryInterceptor(s *etcdserver.EtcdServer) grpc.UnaryServerInterceptor {\n\treturn func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) {\n\t\tif !api.IsCapabilityEnabled(api.V3rpcCapability) {\n\t\t\treturn nil, rpctypes.ErrGRPCNotCapable\n\t\t}\n\n\t\tmd, ok := metadata.FromIncomingContext(ctx)\n\t\tif ok {\n\t\t\tif ks := md[rpctypes.MetadataRequireLeaderKey]; len(ks) > 0 && ks[0] == rpctypes.MetadataHasLeader {\n\t\t\t\tif s.Leader() == types.ID(raft.None) {\n\t\t\t\t\treturn nil, rpctypes.ErrGRPCNoLeader\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn prometheus.UnaryServerInterceptor(ctx, req, info, handler)\n\t}\n}\n\nfunc newStreamInterceptor(s *etcdserver.EtcdServer) grpc.StreamServerInterceptor {\n\tsmap := monitorLeader(s)\n\n\treturn func(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error {\n\t\tif !api.IsCapabilityEnabled(api.V3rpcCapability) {\n\t\t\treturn rpctypes.ErrGRPCNotCapable\n\t\t}\n\n\t\tmd, ok := metadata.FromIncomingContext(ss.Context())\n\t\tif ok {\n\t\t\tif ks := md[rpctypes.MetadataRequireLeaderKey]; len(ks) > 0 && ks[0] == rpctypes.MetadataHasLeader {\n\t\t\t\tif s.Leader() == types.ID(raft.None) {\n\t\t\t\t\treturn rpctypes.ErrGRPCNoLeader\n\t\t\t\t}\n\n\t\t\t\tcctx, cancel := context.WithCancel(ss.Context())\n\t\t\t\tss = serverStreamWithCtx{ctx: cctx, cancel: &cancel, ServerStream: ss}\n\n\t\t\t\tsmap.mu.Lock()\n\t\t\t\tsmap.streams[ss] = struct{}{}\n\t\t\t\tsmap.mu.Unlock()\n\n\t\t\t\tdefer func() {\n\t\t\t\t\tsmap.mu.Lock()\n\t\t\t\t\tdelete(smap.streams, ss)\n\t\t\t\t\tsmap.mu.Unlock()\n\t\t\t\t\tcancel()\n\t\t\t\t}()\n\n\t\t\t}\n\t\t}\n\n\t\treturn prometheus.StreamServerInterceptor(srv, ss, info, handler)\n\t}\n}\n\ntype serverStreamWithCtx struct {\n\tgrpc.ServerStream\n\tctx    context.Context\n\tcancel *context.CancelFunc\n}\n\nfunc (ssc serverStreamWithCtx) Context() context.Context { return ssc.ctx }\n\nfunc monitorLeader(s *etcdserver.EtcdServer) *streamsMap {\n\tsmap := &streamsMap{\n\t\tstreams: make(map[grpc.ServerStream]struct{}),\n\t}\n\n\tgo func() {\n\t\telection := time.Duration(s.Cfg.TickMs) * time.Duration(s.Cfg.ElectionTicks) * time.Millisecond\n\t\tnoLeaderCnt := 0\n\n\t\tfor {\n\t\t\tselect {\n\t\t\tcase <-s.StopNotify():\n\t\t\t\treturn\n\t\t\tcase <-time.After(election):\n\t\t\t\tif s.Leader() == types.ID(raft.None) {\n\t\t\t\t\tnoLeaderCnt++\n\t\t\t\t} else {\n\t\t\t\t\tnoLeaderCnt = 0\n\t\t\t\t}\n\n\t\t\t\t// We are more conservative on canceling existing streams. Reconnecting streams\n\t\t\t\t// cost much more than just rejecting new requests. So we wait until the member\n\t\t\t\t// cannot find a leader for maxNoLeaderCnt election timeouts to cancel existing streams.\n\t\t\t\tif noLeaderCnt >= maxNoLeaderCnt {\n\t\t\t\t\tsmap.mu.Lock()\n\t\t\t\t\tfor ss := range smap.streams {\n\t\t\t\t\t\tif ssWithCtx, ok := ss.(serverStreamWithCtx); ok {\n\t\t\t\t\t\t\t(*ssWithCtx.cancel)()\n\t\t\t\t\t\t\t<-ss.Context().Done()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tsmap.streams = make(map[grpc.ServerStream]struct{})\n\t\t\t\t\tsmap.mu.Unlock()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}()\n\n\treturn smap\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/key.go",
    "content": "// Copyright 2015 The etcd Authors\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// Package v3rpc implements etcd v3 RPC system based on gRPC.\npackage v3rpc\n\nimport (\n\t\"context\"\n\n\t\"github.com/coreos/etcd/etcdserver\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/pkg/adt\"\n\n\t\"github.com/coreos/pkg/capnslog\"\n)\n\nvar (\n\tplog = capnslog.NewPackageLogger(\"github.com/coreos/etcd\", \"etcdserver/api/v3rpc\")\n)\n\ntype kvServer struct {\n\thdr header\n\tkv  etcdserver.RaftKV\n\t// maxTxnOps is the max operations per txn.\n\t// e.g suppose maxTxnOps = 128.\n\t// Txn.Success can have at most 128 operations,\n\t// and Txn.Failure can have at most 128 operations.\n\tmaxTxnOps uint\n}\n\nfunc NewKVServer(s *etcdserver.EtcdServer) pb.KVServer {\n\treturn &kvServer{hdr: newHeader(s), kv: s, maxTxnOps: s.Cfg.MaxTxnOps}\n}\n\nfunc (s *kvServer) Range(ctx context.Context, r *pb.RangeRequest) (*pb.RangeResponse, error) {\n\tif err := checkRangeRequest(r); err != nil {\n\t\treturn nil, err\n\t}\n\n\tresp, err := s.kv.Range(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\n\ts.hdr.fill(resp.Header)\n\treturn resp, nil\n}\n\nfunc (s *kvServer) Put(ctx context.Context, r *pb.PutRequest) (*pb.PutResponse, error) {\n\tif err := checkPutRequest(r); err != nil {\n\t\treturn nil, err\n\t}\n\n\tresp, err := s.kv.Put(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\n\ts.hdr.fill(resp.Header)\n\treturn resp, nil\n}\n\nfunc (s *kvServer) DeleteRange(ctx context.Context, r *pb.DeleteRangeRequest) (*pb.DeleteRangeResponse, error) {\n\tif err := checkDeleteRequest(r); err != nil {\n\t\treturn nil, err\n\t}\n\n\tresp, err := s.kv.DeleteRange(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\n\ts.hdr.fill(resp.Header)\n\treturn resp, nil\n}\n\nfunc (s *kvServer) Txn(ctx context.Context, r *pb.TxnRequest) (*pb.TxnResponse, error) {\n\tif err := checkTxnRequest(r, int(s.maxTxnOps)); err != nil {\n\t\treturn nil, err\n\t}\n\t// check for forbidden put/del overlaps after checking request to avoid quadratic blowup\n\tif _, _, err := checkIntervals(r.Success); err != nil {\n\t\treturn nil, err\n\t}\n\tif _, _, err := checkIntervals(r.Failure); err != nil {\n\t\treturn nil, err\n\t}\n\n\tresp, err := s.kv.Txn(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\n\ts.hdr.fill(resp.Header)\n\treturn resp, nil\n}\n\nfunc (s *kvServer) Compact(ctx context.Context, r *pb.CompactionRequest) (*pb.CompactionResponse, error) {\n\tresp, err := s.kv.Compact(ctx, r)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\n\ts.hdr.fill(resp.Header)\n\treturn resp, nil\n}\n\nfunc checkRangeRequest(r *pb.RangeRequest) error {\n\tif len(r.Key) == 0 {\n\t\treturn rpctypes.ErrGRPCEmptyKey\n\t}\n\treturn nil\n}\n\nfunc checkPutRequest(r *pb.PutRequest) error {\n\tif len(r.Key) == 0 {\n\t\treturn rpctypes.ErrGRPCEmptyKey\n\t}\n\tif r.IgnoreValue && len(r.Value) != 0 {\n\t\treturn rpctypes.ErrGRPCValueProvided\n\t}\n\tif r.IgnoreLease && r.Lease != 0 {\n\t\treturn rpctypes.ErrGRPCLeaseProvided\n\t}\n\treturn nil\n}\n\nfunc checkDeleteRequest(r *pb.DeleteRangeRequest) error {\n\tif len(r.Key) == 0 {\n\t\treturn rpctypes.ErrGRPCEmptyKey\n\t}\n\treturn nil\n}\n\nfunc checkTxnRequest(r *pb.TxnRequest, maxTxnOps int) error {\n\topc := len(r.Compare)\n\tif opc < len(r.Success) {\n\t\topc = len(r.Success)\n\t}\n\tif opc < len(r.Failure) {\n\t\topc = len(r.Failure)\n\t}\n\tif opc > maxTxnOps {\n\t\treturn rpctypes.ErrGRPCTooManyOps\n\t}\n\n\tfor _, c := range r.Compare {\n\t\tif len(c.Key) == 0 {\n\t\t\treturn rpctypes.ErrGRPCEmptyKey\n\t\t}\n\t}\n\tfor _, u := range r.Success {\n\t\tif err := checkRequestOp(u, maxTxnOps-opc); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tfor _, u := range r.Failure {\n\t\tif err := checkRequestOp(u, maxTxnOps-opc); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// checkIntervals tests whether puts and deletes overlap for a list of ops. If\n// there is an overlap, returns an error. If no overlap, return put and delete\n// sets for recursive evaluation.\nfunc checkIntervals(reqs []*pb.RequestOp) (map[string]struct{}, adt.IntervalTree, error) {\n\tvar dels adt.IntervalTree\n\n\t// collect deletes from this level; build first to check lower level overlapped puts\n\tfor _, req := range reqs {\n\t\ttv, ok := req.Request.(*pb.RequestOp_RequestDeleteRange)\n\t\tif !ok {\n\t\t\tcontinue\n\t\t}\n\t\tdreq := tv.RequestDeleteRange\n\t\tif dreq == nil {\n\t\t\tcontinue\n\t\t}\n\t\tvar iv adt.Interval\n\t\tif len(dreq.RangeEnd) != 0 {\n\t\t\tiv = adt.NewStringAffineInterval(string(dreq.Key), string(dreq.RangeEnd))\n\t\t} else {\n\t\t\tiv = adt.NewStringAffinePoint(string(dreq.Key))\n\t\t}\n\t\tdels.Insert(iv, struct{}{})\n\t}\n\n\t// collect children puts/deletes\n\tputs := make(map[string]struct{})\n\tfor _, req := range reqs {\n\t\ttv, ok := req.Request.(*pb.RequestOp_RequestTxn)\n\t\tif !ok {\n\t\t\tcontinue\n\t\t}\n\t\tputsThen, delsThen, err := checkIntervals(tv.RequestTxn.Success)\n\t\tif err != nil {\n\t\t\treturn nil, dels, err\n\t\t}\n\t\tputsElse, delsElse, err := checkIntervals(tv.RequestTxn.Failure)\n\t\tif err != nil {\n\t\t\treturn nil, dels, err\n\t\t}\n\t\tfor k := range putsThen {\n\t\t\tif _, ok := puts[k]; ok {\n\t\t\t\treturn nil, dels, rpctypes.ErrGRPCDuplicateKey\n\t\t\t}\n\t\t\tif dels.Intersects(adt.NewStringAffinePoint(k)) {\n\t\t\t\treturn nil, dels, rpctypes.ErrGRPCDuplicateKey\n\t\t\t}\n\t\t\tputs[k] = struct{}{}\n\t\t}\n\t\tfor k := range putsElse {\n\t\t\tif _, ok := puts[k]; ok {\n\t\t\t\t// if key is from putsThen, overlap is OK since\n\t\t\t\t// either then/else are mutually exclusive\n\t\t\t\tif _, isSafe := putsThen[k]; !isSafe {\n\t\t\t\t\treturn nil, dels, rpctypes.ErrGRPCDuplicateKey\n\t\t\t\t}\n\t\t\t}\n\t\t\tif dels.Intersects(adt.NewStringAffinePoint(k)) {\n\t\t\t\treturn nil, dels, rpctypes.ErrGRPCDuplicateKey\n\t\t\t}\n\t\t\tputs[k] = struct{}{}\n\t\t}\n\t\tdels.Union(delsThen, adt.NewStringAffineInterval(\"\\x00\", \"\"))\n\t\tdels.Union(delsElse, adt.NewStringAffineInterval(\"\\x00\", \"\"))\n\t}\n\n\t// collect and check this level's puts\n\tfor _, req := range reqs {\n\t\ttv, ok := req.Request.(*pb.RequestOp_RequestPut)\n\t\tif !ok || tv.RequestPut == nil {\n\t\t\tcontinue\n\t\t}\n\t\tk := string(tv.RequestPut.Key)\n\t\tif _, ok := puts[k]; ok {\n\t\t\treturn nil, dels, rpctypes.ErrGRPCDuplicateKey\n\t\t}\n\t\tif dels.Intersects(adt.NewStringAffinePoint(k)) {\n\t\t\treturn nil, dels, rpctypes.ErrGRPCDuplicateKey\n\t\t}\n\t\tputs[k] = struct{}{}\n\t}\n\treturn puts, dels, nil\n}\n\nfunc checkRequestOp(u *pb.RequestOp, maxTxnOps int) error {\n\t// TODO: ensure only one of the field is set.\n\tswitch uv := u.Request.(type) {\n\tcase *pb.RequestOp_RequestRange:\n\t\treturn checkRangeRequest(uv.RequestRange)\n\tcase *pb.RequestOp_RequestPut:\n\t\treturn checkPutRequest(uv.RequestPut)\n\tcase *pb.RequestOp_RequestDeleteRange:\n\t\treturn checkDeleteRequest(uv.RequestDeleteRange)\n\tcase *pb.RequestOp_RequestTxn:\n\t\treturn checkTxnRequest(uv.RequestTxn, maxTxnOps)\n\tdefault:\n\t\t// empty op / nil entry\n\t\treturn rpctypes.ErrGRPCKeyNotFound\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/lease.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage v3rpc\n\nimport (\n\t\"context\"\n\t\"io\"\n\n\t\"github.com/coreos/etcd/etcdserver\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/lease\"\n\n\t\"go.uber.org/zap\"\n)\n\ntype LeaseServer struct {\n\tlg  *zap.Logger\n\thdr header\n\tle  etcdserver.Lessor\n}\n\nfunc NewLeaseServer(s *etcdserver.EtcdServer) pb.LeaseServer {\n\treturn &LeaseServer{lg: s.Cfg.Logger, le: s, hdr: newHeader(s)}\n}\n\nfunc (ls *LeaseServer) LeaseGrant(ctx context.Context, cr *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error) {\n\tresp, err := ls.le.LeaseGrant(ctx, cr)\n\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\tls.hdr.fill(resp.Header)\n\treturn resp, nil\n}\n\nfunc (ls *LeaseServer) LeaseRevoke(ctx context.Context, rr *pb.LeaseRevokeRequest) (*pb.LeaseRevokeResponse, error) {\n\tresp, err := ls.le.LeaseRevoke(ctx, rr)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\tls.hdr.fill(resp.Header)\n\treturn resp, nil\n}\n\nfunc (ls *LeaseServer) LeaseTimeToLive(ctx context.Context, rr *pb.LeaseTimeToLiveRequest) (*pb.LeaseTimeToLiveResponse, error) {\n\tresp, err := ls.le.LeaseTimeToLive(ctx, rr)\n\tif err != nil && err != lease.ErrLeaseNotFound {\n\t\treturn nil, togRPCError(err)\n\t}\n\tif err == lease.ErrLeaseNotFound {\n\t\tresp = &pb.LeaseTimeToLiveResponse{\n\t\t\tHeader: &pb.ResponseHeader{},\n\t\t\tID:     rr.ID,\n\t\t\tTTL:    -1,\n\t\t}\n\t}\n\tls.hdr.fill(resp.Header)\n\treturn resp, nil\n}\n\nfunc (ls *LeaseServer) LeaseLeases(ctx context.Context, rr *pb.LeaseLeasesRequest) (*pb.LeaseLeasesResponse, error) {\n\tresp, err := ls.le.LeaseLeases(ctx, rr)\n\tif err != nil && err != lease.ErrLeaseNotFound {\n\t\treturn nil, togRPCError(err)\n\t}\n\tif err == lease.ErrLeaseNotFound {\n\t\tresp = &pb.LeaseLeasesResponse{\n\t\t\tHeader: &pb.ResponseHeader{},\n\t\t\tLeases: []*pb.LeaseStatus{},\n\t\t}\n\t}\n\tls.hdr.fill(resp.Header)\n\treturn resp, nil\n}\n\nfunc (ls *LeaseServer) LeaseKeepAlive(stream pb.Lease_LeaseKeepAliveServer) (err error) {\n\terrc := make(chan error, 1)\n\tgo func() {\n\t\terrc <- ls.leaseKeepAlive(stream)\n\t}()\n\tselect {\n\tcase err = <-errc:\n\tcase <-stream.Context().Done():\n\t\t// the only server-side cancellation is noleader for now.\n\t\terr = stream.Context().Err()\n\t\tif err == context.Canceled {\n\t\t\terr = rpctypes.ErrGRPCNoLeader\n\t\t}\n\t}\n\treturn err\n}\n\nfunc (ls *LeaseServer) leaseKeepAlive(stream pb.Lease_LeaseKeepAliveServer) error {\n\tfor {\n\t\treq, err := stream.Recv()\n\t\tif err == io.EOF {\n\t\t\treturn nil\n\t\t}\n\t\tif err != nil {\n\t\t\tif isClientCtxErr(stream.Context().Err(), err) {\n\t\t\t\tif ls.lg != nil {\n\t\t\t\t\tls.lg.Debug(\"failed to receive lease keepalive request from gRPC stream\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Debugf(\"failed to receive lease keepalive request from gRPC stream (%q)\", err.Error())\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ls.lg != nil {\n\t\t\t\t\tls.lg.Warn(\"failed to receive lease keepalive request from gRPC stream\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Warningf(\"failed to receive lease keepalive request from gRPC stream (%q)\", err.Error())\n\t\t\t\t}\n\t\t\t\tstreamFailures.WithLabelValues(\"receive\", \"lease-keepalive\").Inc()\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\n\t\t// Create header before we sent out the renew request.\n\t\t// This can make sure that the revision is strictly smaller or equal to\n\t\t// when the keepalive happened at the local server (when the local server is the leader)\n\t\t// or remote leader.\n\t\t// Without this, a lease might be revoked at rev 3 but client can see the keepalive succeeded\n\t\t// at rev 4.\n\t\tresp := &pb.LeaseKeepAliveResponse{ID: req.ID, Header: &pb.ResponseHeader{}}\n\t\tls.hdr.fill(resp.Header)\n\n\t\tttl, err := ls.le.LeaseRenew(stream.Context(), lease.LeaseID(req.ID))\n\t\tif err == lease.ErrLeaseNotFound {\n\t\t\terr = nil\n\t\t\tttl = 0\n\t\t}\n\n\t\tif err != nil {\n\t\t\treturn togRPCError(err)\n\t\t}\n\n\t\tresp.TTL = ttl\n\t\terr = stream.Send(resp)\n\t\tif err != nil {\n\t\t\tif isClientCtxErr(stream.Context().Err(), err) {\n\t\t\t\tif ls.lg != nil {\n\t\t\t\t\tls.lg.Debug(\"failed to send lease keepalive response to gRPC stream\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Debugf(\"failed to send lease keepalive response to gRPC stream (%q)\", err.Error())\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ls.lg != nil {\n\t\t\t\t\tls.lg.Warn(\"failed to send lease keepalive response to gRPC stream\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Warningf(\"failed to send lease keepalive response to gRPC stream (%q)\", err.Error())\n\t\t\t\t}\n\t\t\t\tstreamFailures.WithLabelValues(\"send\", \"lease-keepalive\").Inc()\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/maintenance.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage v3rpc\n\nimport (\n\t\"context\"\n\t\"crypto/sha256\"\n\t\"io\"\n\n\t\"github.com/coreos/etcd/auth\"\n\t\"github.com/coreos/etcd/etcdserver\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/mvcc\"\n\t\"github.com/coreos/etcd/mvcc/backend\"\n\t\"github.com/coreos/etcd/raft\"\n\t\"github.com/coreos/etcd/version\"\n\n\t\"go.uber.org/zap\"\n)\n\ntype KVGetter interface {\n\tKV() mvcc.ConsistentWatchableKV\n}\n\ntype BackendGetter interface {\n\tBackend() backend.Backend\n}\n\ntype Alarmer interface {\n\t// Alarms is implemented in Server interface located in etcdserver/server.go\n\t// It returns a list of alarms present in the AlarmStore\n\tAlarms() []*pb.AlarmMember\n\tAlarm(ctx context.Context, ar *pb.AlarmRequest) (*pb.AlarmResponse, error)\n}\n\ntype LeaderTransferrer interface {\n\tMoveLeader(ctx context.Context, lead, target uint64) error\n}\n\ntype AuthGetter interface {\n\tAuthInfoFromCtx(ctx context.Context) (*auth.AuthInfo, error)\n\tAuthStore() auth.AuthStore\n}\n\ntype maintenanceServer struct {\n\tlg  *zap.Logger\n\trg  etcdserver.RaftStatusGetter\n\tkg  KVGetter\n\tbg  BackendGetter\n\ta   Alarmer\n\tlt  LeaderTransferrer\n\thdr header\n}\n\nfunc NewMaintenanceServer(s *etcdserver.EtcdServer) pb.MaintenanceServer {\n\tsrv := &maintenanceServer{lg: s.Cfg.Logger, rg: s, kg: s, bg: s, a: s, lt: s, hdr: newHeader(s)}\n\treturn &authMaintenanceServer{srv, s}\n}\n\nfunc (ms *maintenanceServer) Defragment(ctx context.Context, sr *pb.DefragmentRequest) (*pb.DefragmentResponse, error) {\n\tif ms.lg != nil {\n\t\tms.lg.Info(\"starting defragment\")\n\t} else {\n\t\tplog.Noticef(\"starting to defragment the storage backend...\")\n\t}\n\terr := ms.bg.Backend().Defrag()\n\tif err != nil {\n\t\tif ms.lg != nil {\n\t\t\tms.lg.Warn(\"failed to defragment\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Errorf(\"failed to defragment the storage backend (%v)\", err)\n\t\t}\n\t\treturn nil, err\n\t}\n\tif ms.lg != nil {\n\t\tms.lg.Info(\"finished defragment\")\n\t} else {\n\t\tplog.Noticef(\"finished defragmenting the storage backend\")\n\t}\n\treturn &pb.DefragmentResponse{}, nil\n}\n\nfunc (ms *maintenanceServer) Snapshot(sr *pb.SnapshotRequest, srv pb.Maintenance_SnapshotServer) error {\n\tsnap := ms.bg.Backend().Snapshot()\n\tpr, pw := io.Pipe()\n\n\tdefer pr.Close()\n\n\tgo func() {\n\t\tsnap.WriteTo(pw)\n\t\tif err := snap.Close(); err != nil {\n\t\t\tif ms.lg != nil {\n\t\t\t\tms.lg.Warn(\"failed to close snapshot\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"error closing snapshot (%v)\", err)\n\t\t\t}\n\t\t}\n\t\tpw.Close()\n\t}()\n\n\t// send file data\n\th := sha256.New()\n\tbr := int64(0)\n\tbuf := make([]byte, 32*1024)\n\tsz := snap.Size()\n\tfor br < sz {\n\t\tn, err := io.ReadFull(pr, buf)\n\t\tif err != nil && err != io.EOF && err != io.ErrUnexpectedEOF {\n\t\t\treturn togRPCError(err)\n\t\t}\n\t\tbr += int64(n)\n\t\tresp := &pb.SnapshotResponse{\n\t\t\tRemainingBytes: uint64(sz - br),\n\t\t\tBlob:           buf[:n],\n\t\t}\n\t\tif err = srv.Send(resp); err != nil {\n\t\t\treturn togRPCError(err)\n\t\t}\n\t\th.Write(buf[:n])\n\t}\n\n\t// send sha\n\tsha := h.Sum(nil)\n\thresp := &pb.SnapshotResponse{RemainingBytes: 0, Blob: sha}\n\tif err := srv.Send(hresp); err != nil {\n\t\treturn togRPCError(err)\n\t}\n\n\treturn nil\n}\n\nfunc (ms *maintenanceServer) Hash(ctx context.Context, r *pb.HashRequest) (*pb.HashResponse, error) {\n\th, rev, err := ms.kg.KV().Hash()\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\tresp := &pb.HashResponse{Header: &pb.ResponseHeader{Revision: rev}, Hash: h}\n\tms.hdr.fill(resp.Header)\n\treturn resp, nil\n}\n\nfunc (ms *maintenanceServer) HashKV(ctx context.Context, r *pb.HashKVRequest) (*pb.HashKVResponse, error) {\n\th, rev, compactRev, err := ms.kg.KV().HashByRev(r.Revision)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\n\tresp := &pb.HashKVResponse{Header: &pb.ResponseHeader{Revision: rev}, Hash: h, CompactRevision: compactRev}\n\tms.hdr.fill(resp.Header)\n\treturn resp, nil\n}\n\nfunc (ms *maintenanceServer) Alarm(ctx context.Context, ar *pb.AlarmRequest) (*pb.AlarmResponse, error) {\n\treturn ms.a.Alarm(ctx, ar)\n}\n\nfunc (ms *maintenanceServer) Status(ctx context.Context, ar *pb.StatusRequest) (*pb.StatusResponse, error) {\n\thdr := &pb.ResponseHeader{}\n\tms.hdr.fill(hdr)\n\tresp := &pb.StatusResponse{\n\t\tHeader:           hdr,\n\t\tVersion:          version.Version,\n\t\tLeader:           uint64(ms.rg.Leader()),\n\t\tRaftIndex:        ms.rg.CommittedIndex(),\n\t\tRaftAppliedIndex: ms.rg.AppliedIndex(),\n\t\tRaftTerm:         ms.rg.Term(),\n\t\tDbSize:           ms.bg.Backend().Size(),\n\t\tDbSizeInUse:      ms.bg.Backend().SizeInUse(),\n\t}\n\tif resp.Leader == raft.None {\n\t\tresp.Errors = append(resp.Errors, etcdserver.ErrNoLeader.Error())\n\t}\n\tfor _, a := range ms.a.Alarms() {\n\t\tresp.Errors = append(resp.Errors, a.String())\n\t}\n\treturn resp, nil\n}\n\nfunc (ms *maintenanceServer) MoveLeader(ctx context.Context, tr *pb.MoveLeaderRequest) (*pb.MoveLeaderResponse, error) {\n\tif ms.rg.ID() != ms.rg.Leader() {\n\t\treturn nil, rpctypes.ErrGRPCNotLeader\n\t}\n\n\tif err := ms.lt.MoveLeader(ctx, uint64(ms.rg.Leader()), tr.TargetID); err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn &pb.MoveLeaderResponse{}, nil\n}\n\ntype authMaintenanceServer struct {\n\t*maintenanceServer\n\tag AuthGetter\n}\n\nfunc (ams *authMaintenanceServer) isAuthenticated(ctx context.Context) error {\n\tauthInfo, err := ams.ag.AuthInfoFromCtx(ctx)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn ams.ag.AuthStore().IsAdminPermitted(authInfo)\n}\n\nfunc (ams *authMaintenanceServer) Defragment(ctx context.Context, sr *pb.DefragmentRequest) (*pb.DefragmentResponse, error) {\n\tif err := ams.isAuthenticated(ctx); err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn ams.maintenanceServer.Defragment(ctx, sr)\n}\n\nfunc (ams *authMaintenanceServer) Snapshot(sr *pb.SnapshotRequest, srv pb.Maintenance_SnapshotServer) error {\n\tif err := ams.isAuthenticated(srv.Context()); err != nil {\n\t\treturn err\n\t}\n\n\treturn ams.maintenanceServer.Snapshot(sr, srv)\n}\n\nfunc (ams *authMaintenanceServer) Hash(ctx context.Context, r *pb.HashRequest) (*pb.HashResponse, error) {\n\tif err := ams.isAuthenticated(ctx); err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn ams.maintenanceServer.Hash(ctx, r)\n}\n\nfunc (ams *authMaintenanceServer) HashKV(ctx context.Context, r *pb.HashKVRequest) (*pb.HashKVResponse, error) {\n\tif err := ams.isAuthenticated(ctx); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ams.maintenanceServer.HashKV(ctx, r)\n}\n\nfunc (ams *authMaintenanceServer) Status(ctx context.Context, ar *pb.StatusRequest) (*pb.StatusResponse, error) {\n\treturn ams.maintenanceServer.Status(ctx, ar)\n}\n\nfunc (ams *authMaintenanceServer) MoveLeader(ctx context.Context, tr *pb.MoveLeaderRequest) (*pb.MoveLeaderResponse, error) {\n\treturn ams.maintenanceServer.MoveLeader(ctx, tr)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/member.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage v3rpc\n\nimport (\n\t\"context\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/etcdserver\"\n\t\"github.com/coreos/etcd/etcdserver/api\"\n\t\"github.com/coreos/etcd/etcdserver/api/membership\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/pkg/types\"\n)\n\ntype ClusterServer struct {\n\tcluster api.Cluster\n\tserver  etcdserver.ServerV3\n}\n\nfunc NewClusterServer(s etcdserver.ServerV3) *ClusterServer {\n\treturn &ClusterServer{\n\t\tcluster: s.Cluster(),\n\t\tserver:  s,\n\t}\n}\n\nfunc (cs *ClusterServer) MemberAdd(ctx context.Context, r *pb.MemberAddRequest) (*pb.MemberAddResponse, error) {\n\turls, err := types.NewURLs(r.PeerURLs)\n\tif err != nil {\n\t\treturn nil, rpctypes.ErrGRPCMemberBadURLs\n\t}\n\n\tnow := time.Now()\n\tm := membership.NewMember(\"\", urls, \"\", &now)\n\tmembs, merr := cs.server.AddMember(ctx, *m)\n\tif merr != nil {\n\t\treturn nil, togRPCError(merr)\n\t}\n\n\treturn &pb.MemberAddResponse{\n\t\tHeader:  cs.header(),\n\t\tMember:  &pb.Member{ID: uint64(m.ID), PeerURLs: m.PeerURLs},\n\t\tMembers: membersToProtoMembers(membs),\n\t}, nil\n}\n\nfunc (cs *ClusterServer) MemberRemove(ctx context.Context, r *pb.MemberRemoveRequest) (*pb.MemberRemoveResponse, error) {\n\tmembs, err := cs.server.RemoveMember(ctx, r.ID)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn &pb.MemberRemoveResponse{Header: cs.header(), Members: membersToProtoMembers(membs)}, nil\n}\n\nfunc (cs *ClusterServer) MemberUpdate(ctx context.Context, r *pb.MemberUpdateRequest) (*pb.MemberUpdateResponse, error) {\n\tm := membership.Member{\n\t\tID:             types.ID(r.ID),\n\t\tRaftAttributes: membership.RaftAttributes{PeerURLs: r.PeerURLs},\n\t}\n\tmembs, err := cs.server.UpdateMember(ctx, m)\n\tif err != nil {\n\t\treturn nil, togRPCError(err)\n\t}\n\treturn &pb.MemberUpdateResponse{Header: cs.header(), Members: membersToProtoMembers(membs)}, nil\n}\n\nfunc (cs *ClusterServer) MemberList(ctx context.Context, r *pb.MemberListRequest) (*pb.MemberListResponse, error) {\n\tmembs := membersToProtoMembers(cs.cluster.Members())\n\treturn &pb.MemberListResponse{Header: cs.header(), Members: membs}, nil\n}\n\nfunc (cs *ClusterServer) header() *pb.ResponseHeader {\n\treturn &pb.ResponseHeader{ClusterId: uint64(cs.cluster.ID()), MemberId: uint64(cs.server.ID()), RaftTerm: cs.server.Term()}\n}\n\nfunc membersToProtoMembers(membs []*membership.Member) []*pb.Member {\n\tprotoMembs := make([]*pb.Member, len(membs))\n\tfor i := range membs {\n\t\tprotoMembs[i] = &pb.Member{\n\t\t\tName:       membs[i].Name,\n\t\t\tID:         uint64(membs[i].ID),\n\t\t\tPeerURLs:   membs[i].PeerURLs,\n\t\t\tClientURLs: membs[i].ClientURLs,\n\t\t}\n\t}\n\treturn protoMembs\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/metrics.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage v3rpc\n\nimport \"github.com/prometheus/client_golang/prometheus\"\n\nvar (\n\tsentBytes = prometheus.NewCounter(prometheus.CounterOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"network\",\n\t\tName:      \"client_grpc_sent_bytes_total\",\n\t\tHelp:      \"The total number of bytes sent to grpc clients.\",\n\t})\n\n\treceivedBytes = prometheus.NewCounter(prometheus.CounterOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"network\",\n\t\tName:      \"client_grpc_received_bytes_total\",\n\t\tHelp:      \"The total number of bytes received from grpc clients.\",\n\t})\n\n\tstreamFailures = prometheus.NewCounterVec(prometheus.CounterOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"network\",\n\t\tName:      \"server_stream_failures_total\",\n\t\tHelp:      \"The total number of stream failures from the local server.\",\n\t},\n\t\t[]string{\"Type\", \"API\"},\n\t)\n)\n\nfunc init() {\n\tprometheus.MustRegister(sentBytes)\n\tprometheus.MustRegister(receivedBytes)\n\tprometheus.MustRegister(streamFailures)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/quota.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage v3rpc\n\nimport (\n\t\"context\"\n\n\t\"github.com/coreos/etcd/etcdserver\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/pkg/types\"\n)\n\ntype quotaKVServer struct {\n\tpb.KVServer\n\tqa quotaAlarmer\n}\n\ntype quotaAlarmer struct {\n\tq  etcdserver.Quota\n\ta  Alarmer\n\tid types.ID\n}\n\n// check whether request satisfies the quota. If there is not enough space,\n// ignore request and raise the free space alarm.\nfunc (qa *quotaAlarmer) check(ctx context.Context, r interface{}) error {\n\tif qa.q.Available(r) {\n\t\treturn nil\n\t}\n\treq := &pb.AlarmRequest{\n\t\tMemberID: uint64(qa.id),\n\t\tAction:   pb.AlarmRequest_ACTIVATE,\n\t\tAlarm:    pb.AlarmType_NOSPACE,\n\t}\n\tqa.a.Alarm(ctx, req)\n\treturn rpctypes.ErrGRPCNoSpace\n}\n\nfunc NewQuotaKVServer(s *etcdserver.EtcdServer) pb.KVServer {\n\treturn &quotaKVServer{\n\t\tNewKVServer(s),\n\t\tquotaAlarmer{etcdserver.NewBackendQuota(s, \"kv\"), s, s.ID()},\n\t}\n}\n\nfunc (s *quotaKVServer) Put(ctx context.Context, r *pb.PutRequest) (*pb.PutResponse, error) {\n\tif err := s.qa.check(ctx, r); err != nil {\n\t\treturn nil, err\n\t}\n\treturn s.KVServer.Put(ctx, r)\n}\n\nfunc (s *quotaKVServer) Txn(ctx context.Context, r *pb.TxnRequest) (*pb.TxnResponse, error) {\n\tif err := s.qa.check(ctx, r); err != nil {\n\t\treturn nil, err\n\t}\n\treturn s.KVServer.Txn(ctx, r)\n}\n\ntype quotaLeaseServer struct {\n\tpb.LeaseServer\n\tqa quotaAlarmer\n}\n\nfunc (s *quotaLeaseServer) LeaseGrant(ctx context.Context, cr *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error) {\n\tif err := s.qa.check(ctx, cr); err != nil {\n\t\treturn nil, err\n\t}\n\treturn s.LeaseServer.LeaseGrant(ctx, cr)\n}\n\nfunc NewQuotaLeaseServer(s *etcdserver.EtcdServer) pb.LeaseServer {\n\treturn &quotaLeaseServer{\n\t\tNewLeaseServer(s),\n\t\tquotaAlarmer{etcdserver.NewBackendQuota(s, \"lease\"), s, s.ID()},\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes/doc.go",
    "content": "// Copyright 2016 The etcd Authors\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// Package rpctypes has types and values shared by the etcd server and client for v3 RPC interaction.\npackage rpctypes\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes/error.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage rpctypes\n\nimport (\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// server-side error\nvar (\n\tErrGRPCEmptyKey      = status.New(codes.InvalidArgument, \"etcdserver: key is not provided\").Err()\n\tErrGRPCKeyNotFound   = status.New(codes.InvalidArgument, \"etcdserver: key not found\").Err()\n\tErrGRPCValueProvided = status.New(codes.InvalidArgument, \"etcdserver: value is provided\").Err()\n\tErrGRPCLeaseProvided = status.New(codes.InvalidArgument, \"etcdserver: lease is provided\").Err()\n\tErrGRPCTooManyOps    = status.New(codes.InvalidArgument, \"etcdserver: too many operations in txn request\").Err()\n\tErrGRPCDuplicateKey  = status.New(codes.InvalidArgument, \"etcdserver: duplicate key given in txn request\").Err()\n\tErrGRPCCompacted     = status.New(codes.OutOfRange, \"etcdserver: mvcc: required revision has been compacted\").Err()\n\tErrGRPCFutureRev     = status.New(codes.OutOfRange, \"etcdserver: mvcc: required revision is a future revision\").Err()\n\tErrGRPCNoSpace       = status.New(codes.ResourceExhausted, \"etcdserver: mvcc: database space exceeded\").Err()\n\n\tErrGRPCLeaseNotFound    = status.New(codes.NotFound, \"etcdserver: requested lease not found\").Err()\n\tErrGRPCLeaseExist       = status.New(codes.FailedPrecondition, \"etcdserver: lease already exists\").Err()\n\tErrGRPCLeaseTTLTooLarge = status.New(codes.OutOfRange, \"etcdserver: too large lease TTL\").Err()\n\n\tErrGRPCMemberExist            = status.New(codes.FailedPrecondition, \"etcdserver: member ID already exist\").Err()\n\tErrGRPCPeerURLExist           = status.New(codes.FailedPrecondition, \"etcdserver: Peer URLs already exists\").Err()\n\tErrGRPCMemberNotEnoughStarted = status.New(codes.FailedPrecondition, \"etcdserver: re-configuration failed due to not enough started members\").Err()\n\tErrGRPCMemberBadURLs          = status.New(codes.InvalidArgument, \"etcdserver: given member URLs are invalid\").Err()\n\tErrGRPCMemberNotFound         = status.New(codes.NotFound, \"etcdserver: member not found\").Err()\n\n\tErrGRPCRequestTooLarge        = status.New(codes.InvalidArgument, \"etcdserver: request is too large\").Err()\n\tErrGRPCRequestTooManyRequests = status.New(codes.ResourceExhausted, \"etcdserver: too many requests\").Err()\n\n\tErrGRPCRootUserNotExist     = status.New(codes.FailedPrecondition, \"etcdserver: root user does not exist\").Err()\n\tErrGRPCRootRoleNotExist     = status.New(codes.FailedPrecondition, \"etcdserver: root user does not have root role\").Err()\n\tErrGRPCUserAlreadyExist     = status.New(codes.FailedPrecondition, \"etcdserver: user name already exists\").Err()\n\tErrGRPCUserEmpty            = status.New(codes.InvalidArgument, \"etcdserver: user name is empty\").Err()\n\tErrGRPCUserNotFound         = status.New(codes.FailedPrecondition, \"etcdserver: user name not found\").Err()\n\tErrGRPCRoleAlreadyExist     = status.New(codes.FailedPrecondition, \"etcdserver: role name already exists\").Err()\n\tErrGRPCRoleNotFound         = status.New(codes.FailedPrecondition, \"etcdserver: role name not found\").Err()\n\tErrGRPCAuthFailed           = status.New(codes.InvalidArgument, \"etcdserver: authentication failed, invalid user ID or password\").Err()\n\tErrGRPCPermissionDenied     = status.New(codes.PermissionDenied, \"etcdserver: permission denied\").Err()\n\tErrGRPCRoleNotGranted       = status.New(codes.FailedPrecondition, \"etcdserver: role is not granted to the user\").Err()\n\tErrGRPCPermissionNotGranted = status.New(codes.FailedPrecondition, \"etcdserver: permission is not granted to the role\").Err()\n\tErrGRPCAuthNotEnabled       = status.New(codes.FailedPrecondition, \"etcdserver: authentication is not enabled\").Err()\n\tErrGRPCInvalidAuthToken     = status.New(codes.Unauthenticated, \"etcdserver: invalid auth token\").Err()\n\tErrGRPCInvalidAuthMgmt      = status.New(codes.InvalidArgument, \"etcdserver: invalid auth management\").Err()\n\n\tErrGRPCNoLeader                   = status.New(codes.Unavailable, \"etcdserver: no leader\").Err()\n\tErrGRPCNotLeader                  = status.New(codes.FailedPrecondition, \"etcdserver: not leader\").Err()\n\tErrGRPCNotCapable                 = status.New(codes.Unavailable, \"etcdserver: not capable\").Err()\n\tErrGRPCStopped                    = status.New(codes.Unavailable, \"etcdserver: server stopped\").Err()\n\tErrGRPCTimeout                    = status.New(codes.Unavailable, \"etcdserver: request timed out\").Err()\n\tErrGRPCTimeoutDueToLeaderFail     = status.New(codes.Unavailable, \"etcdserver: request timed out, possibly due to previous leader failure\").Err()\n\tErrGRPCTimeoutDueToConnectionLost = status.New(codes.Unavailable, \"etcdserver: request timed out, possibly due to connection lost\").Err()\n\tErrGRPCUnhealthy                  = status.New(codes.Unavailable, \"etcdserver: unhealthy cluster\").Err()\n\tErrGRPCCorrupt                    = status.New(codes.DataLoss, \"etcdserver: corrupt cluster\").Err()\n\n\terrStringToError = map[string]error{\n\t\tErrorDesc(ErrGRPCEmptyKey):      ErrGRPCEmptyKey,\n\t\tErrorDesc(ErrGRPCKeyNotFound):   ErrGRPCKeyNotFound,\n\t\tErrorDesc(ErrGRPCValueProvided): ErrGRPCValueProvided,\n\t\tErrorDesc(ErrGRPCLeaseProvided): ErrGRPCLeaseProvided,\n\n\t\tErrorDesc(ErrGRPCTooManyOps):   ErrGRPCTooManyOps,\n\t\tErrorDesc(ErrGRPCDuplicateKey): ErrGRPCDuplicateKey,\n\t\tErrorDesc(ErrGRPCCompacted):    ErrGRPCCompacted,\n\t\tErrorDesc(ErrGRPCFutureRev):    ErrGRPCFutureRev,\n\t\tErrorDesc(ErrGRPCNoSpace):      ErrGRPCNoSpace,\n\n\t\tErrorDesc(ErrGRPCLeaseNotFound):    ErrGRPCLeaseNotFound,\n\t\tErrorDesc(ErrGRPCLeaseExist):       ErrGRPCLeaseExist,\n\t\tErrorDesc(ErrGRPCLeaseTTLTooLarge): ErrGRPCLeaseTTLTooLarge,\n\n\t\tErrorDesc(ErrGRPCMemberExist):            ErrGRPCMemberExist,\n\t\tErrorDesc(ErrGRPCPeerURLExist):           ErrGRPCPeerURLExist,\n\t\tErrorDesc(ErrGRPCMemberNotEnoughStarted): ErrGRPCMemberNotEnoughStarted,\n\t\tErrorDesc(ErrGRPCMemberBadURLs):          ErrGRPCMemberBadURLs,\n\t\tErrorDesc(ErrGRPCMemberNotFound):         ErrGRPCMemberNotFound,\n\n\t\tErrorDesc(ErrGRPCRequestTooLarge):        ErrGRPCRequestTooLarge,\n\t\tErrorDesc(ErrGRPCRequestTooManyRequests): ErrGRPCRequestTooManyRequests,\n\n\t\tErrorDesc(ErrGRPCRootUserNotExist):     ErrGRPCRootUserNotExist,\n\t\tErrorDesc(ErrGRPCRootRoleNotExist):     ErrGRPCRootRoleNotExist,\n\t\tErrorDesc(ErrGRPCUserAlreadyExist):     ErrGRPCUserAlreadyExist,\n\t\tErrorDesc(ErrGRPCUserEmpty):            ErrGRPCUserEmpty,\n\t\tErrorDesc(ErrGRPCUserNotFound):         ErrGRPCUserNotFound,\n\t\tErrorDesc(ErrGRPCRoleAlreadyExist):     ErrGRPCRoleAlreadyExist,\n\t\tErrorDesc(ErrGRPCRoleNotFound):         ErrGRPCRoleNotFound,\n\t\tErrorDesc(ErrGRPCAuthFailed):           ErrGRPCAuthFailed,\n\t\tErrorDesc(ErrGRPCPermissionDenied):     ErrGRPCPermissionDenied,\n\t\tErrorDesc(ErrGRPCRoleNotGranted):       ErrGRPCRoleNotGranted,\n\t\tErrorDesc(ErrGRPCPermissionNotGranted): ErrGRPCPermissionNotGranted,\n\t\tErrorDesc(ErrGRPCAuthNotEnabled):       ErrGRPCAuthNotEnabled,\n\t\tErrorDesc(ErrGRPCInvalidAuthToken):     ErrGRPCInvalidAuthToken,\n\t\tErrorDesc(ErrGRPCInvalidAuthMgmt):      ErrGRPCInvalidAuthMgmt,\n\n\t\tErrorDesc(ErrGRPCNoLeader):                   ErrGRPCNoLeader,\n\t\tErrorDesc(ErrGRPCNotLeader):                  ErrGRPCNotLeader,\n\t\tErrorDesc(ErrGRPCNotCapable):                 ErrGRPCNotCapable,\n\t\tErrorDesc(ErrGRPCStopped):                    ErrGRPCStopped,\n\t\tErrorDesc(ErrGRPCTimeout):                    ErrGRPCTimeout,\n\t\tErrorDesc(ErrGRPCTimeoutDueToLeaderFail):     ErrGRPCTimeoutDueToLeaderFail,\n\t\tErrorDesc(ErrGRPCTimeoutDueToConnectionLost): ErrGRPCTimeoutDueToConnectionLost,\n\t\tErrorDesc(ErrGRPCUnhealthy):                  ErrGRPCUnhealthy,\n\t\tErrorDesc(ErrGRPCCorrupt):                    ErrGRPCCorrupt,\n\t}\n)\n\n// client-side error\nvar (\n\tErrEmptyKey      = Error(ErrGRPCEmptyKey)\n\tErrKeyNotFound   = Error(ErrGRPCKeyNotFound)\n\tErrValueProvided = Error(ErrGRPCValueProvided)\n\tErrLeaseProvided = Error(ErrGRPCLeaseProvided)\n\tErrTooManyOps    = Error(ErrGRPCTooManyOps)\n\tErrDuplicateKey  = Error(ErrGRPCDuplicateKey)\n\tErrCompacted     = Error(ErrGRPCCompacted)\n\tErrFutureRev     = Error(ErrGRPCFutureRev)\n\tErrNoSpace       = Error(ErrGRPCNoSpace)\n\n\tErrLeaseNotFound    = Error(ErrGRPCLeaseNotFound)\n\tErrLeaseExist       = Error(ErrGRPCLeaseExist)\n\tErrLeaseTTLTooLarge = Error(ErrGRPCLeaseTTLTooLarge)\n\n\tErrMemberExist            = Error(ErrGRPCMemberExist)\n\tErrPeerURLExist           = Error(ErrGRPCPeerURLExist)\n\tErrMemberNotEnoughStarted = Error(ErrGRPCMemberNotEnoughStarted)\n\tErrMemberBadURLs          = Error(ErrGRPCMemberBadURLs)\n\tErrMemberNotFound         = Error(ErrGRPCMemberNotFound)\n\n\tErrRequestTooLarge = Error(ErrGRPCRequestTooLarge)\n\tErrTooManyRequests = Error(ErrGRPCRequestTooManyRequests)\n\n\tErrRootUserNotExist     = Error(ErrGRPCRootUserNotExist)\n\tErrRootRoleNotExist     = Error(ErrGRPCRootRoleNotExist)\n\tErrUserAlreadyExist     = Error(ErrGRPCUserAlreadyExist)\n\tErrUserEmpty            = Error(ErrGRPCUserEmpty)\n\tErrUserNotFound         = Error(ErrGRPCUserNotFound)\n\tErrRoleAlreadyExist     = Error(ErrGRPCRoleAlreadyExist)\n\tErrRoleNotFound         = Error(ErrGRPCRoleNotFound)\n\tErrAuthFailed           = Error(ErrGRPCAuthFailed)\n\tErrPermissionDenied     = Error(ErrGRPCPermissionDenied)\n\tErrRoleNotGranted       = Error(ErrGRPCRoleNotGranted)\n\tErrPermissionNotGranted = Error(ErrGRPCPermissionNotGranted)\n\tErrAuthNotEnabled       = Error(ErrGRPCAuthNotEnabled)\n\tErrInvalidAuthToken     = Error(ErrGRPCInvalidAuthToken)\n\tErrInvalidAuthMgmt      = Error(ErrGRPCInvalidAuthMgmt)\n\n\tErrNoLeader                   = Error(ErrGRPCNoLeader)\n\tErrNotLeader                  = Error(ErrGRPCNotLeader)\n\tErrNotCapable                 = Error(ErrGRPCNotCapable)\n\tErrStopped                    = Error(ErrGRPCStopped)\n\tErrTimeout                    = Error(ErrGRPCTimeout)\n\tErrTimeoutDueToLeaderFail     = Error(ErrGRPCTimeoutDueToLeaderFail)\n\tErrTimeoutDueToConnectionLost = Error(ErrGRPCTimeoutDueToConnectionLost)\n\tErrUnhealthy                  = Error(ErrGRPCUnhealthy)\n\tErrCorrupt                    = Error(ErrGRPCCorrupt)\n)\n\n// EtcdError defines gRPC server errors.\n// (https://github.com/grpc/grpc-go/blob/master/rpc_util.go#L319-L323)\ntype EtcdError struct {\n\tcode codes.Code\n\tdesc string\n}\n\n// Code returns grpc/codes.Code.\n// TODO: define clientv3/codes.Code.\nfunc (e EtcdError) Code() codes.Code {\n\treturn e.code\n}\n\nfunc (e EtcdError) Error() string {\n\treturn e.desc\n}\n\nfunc Error(err error) error {\n\tif err == nil {\n\t\treturn nil\n\t}\n\tverr, ok := errStringToError[ErrorDesc(err)]\n\tif !ok { // not gRPC error\n\t\treturn err\n\t}\n\tev, ok := status.FromError(verr)\n\tvar desc string\n\tif ok {\n\t\tdesc = ev.Message()\n\t} else {\n\t\tdesc = verr.Error()\n\t}\n\treturn EtcdError{code: ev.Code(), desc: desc}\n}\n\nfunc ErrorDesc(err error) string {\n\tif s, ok := status.FromError(err); ok {\n\t\treturn s.Message()\n\t}\n\treturn err.Error()\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes/md.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage rpctypes\n\nvar (\n\tMetadataRequireLeaderKey = \"hasleader\"\n\tMetadataHasLeader        = \"true\"\n)\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes/metadatafields.go",
    "content": "// Copyright 2018 The etcd Authors\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\npackage rpctypes\n\nvar (\n\tTokenFieldNameGRPC    = \"token\"\n\tTokenFieldNameSwagger = \"authorization\"\n)\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/util.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage v3rpc\n\nimport (\n\t\"context\"\n\t\"strings\"\n\n\t\"github.com/coreos/etcd/auth\"\n\t\"github.com/coreos/etcd/etcdserver\"\n\t\"github.com/coreos/etcd/etcdserver/api/membership\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\t\"github.com/coreos/etcd/lease\"\n\t\"github.com/coreos/etcd/mvcc\"\n\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/status\"\n)\n\nvar toGRPCErrorMap = map[error]error{\n\tmembership.ErrIDRemoved:               rpctypes.ErrGRPCMemberNotFound,\n\tmembership.ErrIDNotFound:              rpctypes.ErrGRPCMemberNotFound,\n\tmembership.ErrIDExists:                rpctypes.ErrGRPCMemberExist,\n\tmembership.ErrPeerURLexists:           rpctypes.ErrGRPCPeerURLExist,\n\tetcdserver.ErrNotEnoughStartedMembers: rpctypes.ErrMemberNotEnoughStarted,\n\n\tmvcc.ErrCompacted:             rpctypes.ErrGRPCCompacted,\n\tmvcc.ErrFutureRev:             rpctypes.ErrGRPCFutureRev,\n\tetcdserver.ErrRequestTooLarge: rpctypes.ErrGRPCRequestTooLarge,\n\tetcdserver.ErrNoSpace:         rpctypes.ErrGRPCNoSpace,\n\tetcdserver.ErrTooManyRequests: rpctypes.ErrTooManyRequests,\n\n\tetcdserver.ErrNoLeader:                   rpctypes.ErrGRPCNoLeader,\n\tetcdserver.ErrNotLeader:                  rpctypes.ErrGRPCNotLeader,\n\tetcdserver.ErrStopped:                    rpctypes.ErrGRPCStopped,\n\tetcdserver.ErrTimeout:                    rpctypes.ErrGRPCTimeout,\n\tetcdserver.ErrTimeoutDueToLeaderFail:     rpctypes.ErrGRPCTimeoutDueToLeaderFail,\n\tetcdserver.ErrTimeoutDueToConnectionLost: rpctypes.ErrGRPCTimeoutDueToConnectionLost,\n\tetcdserver.ErrUnhealthy:                  rpctypes.ErrGRPCUnhealthy,\n\tetcdserver.ErrKeyNotFound:                rpctypes.ErrGRPCKeyNotFound,\n\tetcdserver.ErrCorrupt:                    rpctypes.ErrGRPCCorrupt,\n\n\tlease.ErrLeaseNotFound:    rpctypes.ErrGRPCLeaseNotFound,\n\tlease.ErrLeaseExists:      rpctypes.ErrGRPCLeaseExist,\n\tlease.ErrLeaseTTLTooLarge: rpctypes.ErrGRPCLeaseTTLTooLarge,\n\n\tauth.ErrRootUserNotExist:     rpctypes.ErrGRPCRootUserNotExist,\n\tauth.ErrRootRoleNotExist:     rpctypes.ErrGRPCRootRoleNotExist,\n\tauth.ErrUserAlreadyExist:     rpctypes.ErrGRPCUserAlreadyExist,\n\tauth.ErrUserEmpty:            rpctypes.ErrGRPCUserEmpty,\n\tauth.ErrUserNotFound:         rpctypes.ErrGRPCUserNotFound,\n\tauth.ErrRoleAlreadyExist:     rpctypes.ErrGRPCRoleAlreadyExist,\n\tauth.ErrRoleNotFound:         rpctypes.ErrGRPCRoleNotFound,\n\tauth.ErrAuthFailed:           rpctypes.ErrGRPCAuthFailed,\n\tauth.ErrPermissionDenied:     rpctypes.ErrGRPCPermissionDenied,\n\tauth.ErrRoleNotGranted:       rpctypes.ErrGRPCRoleNotGranted,\n\tauth.ErrPermissionNotGranted: rpctypes.ErrGRPCPermissionNotGranted,\n\tauth.ErrAuthNotEnabled:       rpctypes.ErrGRPCAuthNotEnabled,\n\tauth.ErrInvalidAuthToken:     rpctypes.ErrGRPCInvalidAuthToken,\n\tauth.ErrInvalidAuthMgmt:      rpctypes.ErrGRPCInvalidAuthMgmt,\n}\n\nfunc togRPCError(err error) error {\n\t// let gRPC server convert to codes.Canceled, codes.DeadlineExceeded\n\tif err == context.Canceled || err == context.DeadlineExceeded {\n\t\treturn err\n\t}\n\tgrpcErr, ok := toGRPCErrorMap[err]\n\tif !ok {\n\t\treturn status.Error(codes.Unknown, err.Error())\n\t}\n\treturn grpcErr\n}\n\nfunc isClientCtxErr(ctxErr error, err error) bool {\n\tif ctxErr != nil {\n\t\treturn true\n\t}\n\n\tev, ok := status.FromError(err)\n\tif !ok {\n\t\treturn false\n\t}\n\n\tswitch ev.Code() {\n\tcase codes.Canceled, codes.DeadlineExceeded:\n\t\t// client-side context cancel or deadline exceeded\n\t\t// \"rpc error: code = Canceled desc = context canceled\"\n\t\t// \"rpc error: code = DeadlineExceeded desc = context deadline exceeded\"\n\t\treturn true\n\tcase codes.Unavailable:\n\t\tmsg := ev.Message()\n\t\t// client-side context cancel or deadline exceeded with TLS (\"http2.errClientDisconnected\")\n\t\t// \"rpc error: code = Unavailable desc = client disconnected\"\n\t\tif msg == \"client disconnected\" {\n\t\t\treturn true\n\t\t}\n\t\t// \"grpc/transport.ClientTransport.CloseStream\" on canceled streams\n\t\t// \"rpc error: code = Unavailable desc = stream error: stream ID 21; CANCEL\")\n\t\tif strings.HasPrefix(msg, \"stream error: \") && strings.HasSuffix(msg, \"; CANCEL\") {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/watch.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage v3rpc\n\nimport (\n\t\"context\"\n\t\"io\"\n\t\"math/rand\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/auth\"\n\t\"github.com/coreos/etcd/etcdserver\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/mvcc\"\n\t\"github.com/coreos/etcd/mvcc/mvccpb\"\n\n\t\"go.uber.org/zap\"\n)\n\ntype watchServer struct {\n\tlg *zap.Logger\n\n\tclusterID int64\n\tmemberID  int64\n\n\tmaxRequestBytes int\n\n\tsg        etcdserver.RaftStatusGetter\n\twatchable mvcc.WatchableKV\n\tag        AuthGetter\n}\n\n// NewWatchServer returns a new watch server.\nfunc NewWatchServer(s *etcdserver.EtcdServer) pb.WatchServer {\n\treturn &watchServer{\n\t\tlg: s.Cfg.Logger,\n\n\t\tclusterID: int64(s.Cluster().ID()),\n\t\tmemberID:  int64(s.ID()),\n\n\t\tmaxRequestBytes: int(s.Cfg.MaxRequestBytes + grpcOverheadBytes),\n\n\t\tsg:        s,\n\t\twatchable: s.Watchable(),\n\t\tag:        s,\n\t}\n}\n\nvar (\n\t// External test can read this with GetProgressReportInterval()\n\t// and change this to a small value to finish fast with\n\t// SetProgressReportInterval().\n\tprogressReportInterval   = 10 * time.Minute\n\tprogressReportIntervalMu sync.RWMutex\n)\n\n// GetProgressReportInterval returns the current progress report interval (for testing).\nfunc GetProgressReportInterval() time.Duration {\n\tprogressReportIntervalMu.RLock()\n\tinterval := progressReportInterval\n\tprogressReportIntervalMu.RUnlock()\n\n\t// add rand(1/10*progressReportInterval) as jitter so that etcdserver will not\n\t// send progress notifications to watchers around the same time even when watchers\n\t// are created around the same time (which is common when a client restarts itself).\n\tjitter := time.Duration(rand.Int63n(int64(interval) / 10))\n\n\treturn interval + jitter\n}\n\n// SetProgressReportInterval updates the current progress report interval (for testing).\nfunc SetProgressReportInterval(newTimeout time.Duration) {\n\tprogressReportIntervalMu.Lock()\n\tprogressReportInterval = newTimeout\n\tprogressReportIntervalMu.Unlock()\n}\n\n// We send ctrl response inside the read loop. We do not want\n// send to block read, but we still want ctrl response we sent to\n// be serialized. Thus we use a buffered chan to solve the problem.\n// A small buffer should be OK for most cases, since we expect the\n// ctrl requests are infrequent.\nconst ctrlStreamBufLen = 16\n\n// serverWatchStream is an etcd server side stream. It receives requests\n// from client side gRPC stream. It receives watch events from mvcc.WatchStream,\n// and creates responses that forwarded to gRPC stream.\n// It also forwards control message like watch created and canceled.\ntype serverWatchStream struct {\n\tlg *zap.Logger\n\n\tclusterID int64\n\tmemberID  int64\n\n\tmaxRequestBytes int\n\n\tsg        etcdserver.RaftStatusGetter\n\twatchable mvcc.WatchableKV\n\tag        AuthGetter\n\n\tgRPCStream  pb.Watch_WatchServer\n\twatchStream mvcc.WatchStream\n\tctrlStream  chan *pb.WatchResponse\n\n\t// mu protects progress, prevKV, fragment\n\tmu sync.RWMutex\n\t// tracks the watchID that stream might need to send progress to\n\t// TODO: combine progress and prevKV into a single struct?\n\tprogress map[mvcc.WatchID]bool\n\t// record watch IDs that need return previous key-value pair\n\tprevKV map[mvcc.WatchID]bool\n\t// records fragmented watch IDs\n\tfragment map[mvcc.WatchID]bool\n\n\t// closec indicates the stream is closed.\n\tclosec chan struct{}\n\n\t// wg waits for the send loop to complete\n\twg sync.WaitGroup\n}\n\nfunc (ws *watchServer) Watch(stream pb.Watch_WatchServer) (err error) {\n\tsws := serverWatchStream{\n\t\tlg: ws.lg,\n\n\t\tclusterID: ws.clusterID,\n\t\tmemberID:  ws.memberID,\n\n\t\tmaxRequestBytes: ws.maxRequestBytes,\n\n\t\tsg:        ws.sg,\n\t\twatchable: ws.watchable,\n\t\tag:        ws.ag,\n\n\t\tgRPCStream:  stream,\n\t\twatchStream: ws.watchable.NewWatchStream(),\n\t\t// chan for sending control response like watcher created and canceled.\n\t\tctrlStream: make(chan *pb.WatchResponse, ctrlStreamBufLen),\n\n\t\tprogress: make(map[mvcc.WatchID]bool),\n\t\tprevKV:   make(map[mvcc.WatchID]bool),\n\t\tfragment: make(map[mvcc.WatchID]bool),\n\n\t\tclosec: make(chan struct{}),\n\t}\n\n\tsws.wg.Add(1)\n\tgo func() {\n\t\tsws.sendLoop()\n\t\tsws.wg.Done()\n\t}()\n\n\terrc := make(chan error, 1)\n\t// Ideally recvLoop would also use sws.wg to signal its completion\n\t// but when stream.Context().Done() is closed, the stream's recv\n\t// may continue to block since it uses a different context, leading to\n\t// deadlock when calling sws.close().\n\tgo func() {\n\t\tif rerr := sws.recvLoop(); rerr != nil {\n\t\t\tif isClientCtxErr(stream.Context().Err(), rerr) {\n\t\t\t\tif sws.lg != nil {\n\t\t\t\t\tsws.lg.Debug(\"failed to receive watch request from gRPC stream\", zap.Error(rerr))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Debugf(\"failed to receive watch request from gRPC stream (%q)\", rerr.Error())\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif sws.lg != nil {\n\t\t\t\t\tsws.lg.Warn(\"failed to receive watch request from gRPC stream\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Warningf(\"failed to receive watch request from gRPC stream (%q)\", rerr.Error())\n\t\t\t\t}\n\t\t\t\tstreamFailures.WithLabelValues(\"receive\", \"watch\").Inc()\n\t\t\t}\n\t\t\terrc <- rerr\n\t\t}\n\t}()\n\n\tselect {\n\tcase err = <-errc:\n\t\tclose(sws.ctrlStream)\n\n\tcase <-stream.Context().Done():\n\t\terr = stream.Context().Err()\n\t\t// the only server-side cancellation is noleader for now.\n\t\tif err == context.Canceled {\n\t\t\terr = rpctypes.ErrGRPCNoLeader\n\t\t}\n\t}\n\n\tsws.close()\n\treturn err\n}\n\nfunc (sws *serverWatchStream) isWatchPermitted(wcr *pb.WatchCreateRequest) bool {\n\tauthInfo, err := sws.ag.AuthInfoFromCtx(sws.gRPCStream.Context())\n\tif err != nil {\n\t\treturn false\n\t}\n\tif authInfo == nil {\n\t\t// if auth is enabled, IsRangePermitted() can cause an error\n\t\tauthInfo = &auth.AuthInfo{}\n\t}\n\treturn sws.ag.AuthStore().IsRangePermitted(authInfo, wcr.Key, wcr.RangeEnd) == nil\n}\n\nfunc (sws *serverWatchStream) recvLoop() error {\n\tfor {\n\t\treq, err := sws.gRPCStream.Recv()\n\t\tif err == io.EOF {\n\t\t\treturn nil\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tswitch uv := req.RequestUnion.(type) {\n\t\tcase *pb.WatchRequest_CreateRequest:\n\t\t\tif uv.CreateRequest == nil {\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\tcreq := uv.CreateRequest\n\t\t\tif len(creq.Key) == 0 {\n\t\t\t\t// \\x00 is the smallest key\n\t\t\t\tcreq.Key = []byte{0}\n\t\t\t}\n\t\t\tif len(creq.RangeEnd) == 0 {\n\t\t\t\t// force nil since watchstream.Watch distinguishes\n\t\t\t\t// between nil and []byte{} for single key / >=\n\t\t\t\tcreq.RangeEnd = nil\n\t\t\t}\n\t\t\tif len(creq.RangeEnd) == 1 && creq.RangeEnd[0] == 0 {\n\t\t\t\t// support  >= key queries\n\t\t\t\tcreq.RangeEnd = []byte{}\n\t\t\t}\n\n\t\t\tif !sws.isWatchPermitted(creq) {\n\t\t\t\twr := &pb.WatchResponse{\n\t\t\t\t\tHeader:       sws.newResponseHeader(sws.watchStream.Rev()),\n\t\t\t\t\tWatchId:      creq.WatchId,\n\t\t\t\t\tCanceled:     true,\n\t\t\t\t\tCreated:      true,\n\t\t\t\t\tCancelReason: rpctypes.ErrGRPCPermissionDenied.Error(),\n\t\t\t\t}\n\n\t\t\t\tselect {\n\t\t\t\tcase sws.ctrlStream <- wr:\n\t\t\t\tcase <-sws.closec:\n\t\t\t\t}\n\t\t\t\treturn nil\n\t\t\t}\n\n\t\t\tfilters := FiltersFromRequest(creq)\n\n\t\t\twsrev := sws.watchStream.Rev()\n\t\t\trev := creq.StartRevision\n\t\t\tif rev == 0 {\n\t\t\t\trev = wsrev + 1\n\t\t\t}\n\t\t\tid, err := sws.watchStream.Watch(mvcc.WatchID(creq.WatchId), creq.Key, creq.RangeEnd, rev, filters...)\n\t\t\tif err == nil {\n\t\t\t\tsws.mu.Lock()\n\t\t\t\tif creq.ProgressNotify {\n\t\t\t\t\tsws.progress[id] = true\n\t\t\t\t}\n\t\t\t\tif creq.PrevKv {\n\t\t\t\t\tsws.prevKV[id] = true\n\t\t\t\t}\n\t\t\t\tif creq.Fragment {\n\t\t\t\t\tsws.fragment[id] = true\n\t\t\t\t}\n\t\t\t\tsws.mu.Unlock()\n\t\t\t}\n\t\t\twr := &pb.WatchResponse{\n\t\t\t\tHeader:   sws.newResponseHeader(wsrev),\n\t\t\t\tWatchId:  int64(id),\n\t\t\t\tCreated:  true,\n\t\t\t\tCanceled: err != nil,\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\twr.CancelReason = err.Error()\n\t\t\t}\n\t\t\tselect {\n\t\t\tcase sws.ctrlStream <- wr:\n\t\t\tcase <-sws.closec:\n\t\t\t\treturn nil\n\t\t\t}\n\n\t\tcase *pb.WatchRequest_CancelRequest:\n\t\t\tif uv.CancelRequest != nil {\n\t\t\t\tid := uv.CancelRequest.WatchId\n\t\t\t\terr := sws.watchStream.Cancel(mvcc.WatchID(id))\n\t\t\t\tif err == nil {\n\t\t\t\t\tsws.ctrlStream <- &pb.WatchResponse{\n\t\t\t\t\t\tHeader:   sws.newResponseHeader(sws.watchStream.Rev()),\n\t\t\t\t\t\tWatchId:  id,\n\t\t\t\t\t\tCanceled: true,\n\t\t\t\t\t}\n\t\t\t\t\tsws.mu.Lock()\n\t\t\t\t\tdelete(sws.progress, mvcc.WatchID(id))\n\t\t\t\t\tdelete(sws.prevKV, mvcc.WatchID(id))\n\t\t\t\t\tdelete(sws.fragment, mvcc.WatchID(id))\n\t\t\t\t\tsws.mu.Unlock()\n\t\t\t\t}\n\t\t\t}\n\n\t\tdefault:\n\t\t\t// we probably should not shutdown the entire stream when\n\t\t\t// receive an valid command.\n\t\t\t// so just do nothing instead.\n\t\t\tcontinue\n\t\t}\n\t}\n}\n\nfunc (sws *serverWatchStream) sendLoop() {\n\t// watch ids that are currently active\n\tids := make(map[mvcc.WatchID]struct{})\n\t// watch responses pending on a watch id creation message\n\tpending := make(map[mvcc.WatchID][]*pb.WatchResponse)\n\n\tinterval := GetProgressReportInterval()\n\tprogressTicker := time.NewTicker(interval)\n\n\tdefer func() {\n\t\tprogressTicker.Stop()\n\t\t// drain the chan to clean up pending events\n\t\tfor ws := range sws.watchStream.Chan() {\n\t\t\tmvcc.ReportEventReceived(len(ws.Events))\n\t\t}\n\t\tfor _, wrs := range pending {\n\t\t\tfor _, ws := range wrs {\n\t\t\t\tmvcc.ReportEventReceived(len(ws.Events))\n\t\t\t}\n\t\t}\n\t}()\n\n\tfor {\n\t\tselect {\n\t\tcase wresp, ok := <-sws.watchStream.Chan():\n\t\t\tif !ok {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// TODO: evs is []mvccpb.Event type\n\t\t\t// either return []*mvccpb.Event from the mvcc package\n\t\t\t// or define protocol buffer with []mvccpb.Event.\n\t\t\tevs := wresp.Events\n\t\t\tevents := make([]*mvccpb.Event, len(evs))\n\t\t\tsws.mu.RLock()\n\t\t\tneedPrevKV := sws.prevKV[wresp.WatchID]\n\t\t\tsws.mu.RUnlock()\n\t\t\tfor i := range evs {\n\t\t\t\tevents[i] = &evs[i]\n\t\t\t\tif needPrevKV {\n\t\t\t\t\topt := mvcc.RangeOptions{Rev: evs[i].Kv.ModRevision - 1}\n\t\t\t\t\tr, err := sws.watchable.Range(evs[i].Kv.Key, nil, opt)\n\t\t\t\t\tif err == nil && len(r.KVs) != 0 {\n\t\t\t\t\t\tevents[i].PrevKv = &(r.KVs[0])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcanceled := wresp.CompactRevision != 0\n\t\t\twr := &pb.WatchResponse{\n\t\t\t\tHeader:          sws.newResponseHeader(wresp.Revision),\n\t\t\t\tWatchId:         int64(wresp.WatchID),\n\t\t\t\tEvents:          events,\n\t\t\t\tCompactRevision: wresp.CompactRevision,\n\t\t\t\tCanceled:        canceled,\n\t\t\t}\n\n\t\t\tif _, okID := ids[wresp.WatchID]; !okID {\n\t\t\t\t// buffer if id not yet announced\n\t\t\t\twrs := append(pending[wresp.WatchID], wr)\n\t\t\t\tpending[wresp.WatchID] = wrs\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tmvcc.ReportEventReceived(len(evs))\n\n\t\t\tsws.mu.RLock()\n\t\t\tfragmented, ok := sws.fragment[wresp.WatchID]\n\t\t\tsws.mu.RUnlock()\n\n\t\t\tvar serr error\n\t\t\tif !fragmented && !ok {\n\t\t\t\tserr = sws.gRPCStream.Send(wr)\n\t\t\t} else {\n\t\t\t\tserr = sendFragments(wr, sws.maxRequestBytes, sws.gRPCStream.Send)\n\t\t\t}\n\n\t\t\tif serr != nil {\n\t\t\t\tif isClientCtxErr(sws.gRPCStream.Context().Err(), serr) {\n\t\t\t\t\tif sws.lg != nil {\n\t\t\t\t\t\tsws.lg.Debug(\"failed to send watch response to gRPC stream\", zap.Error(serr))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tplog.Debugf(\"failed to send watch response to gRPC stream (%q)\", serr.Error())\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif sws.lg != nil {\n\t\t\t\t\t\tsws.lg.Warn(\"failed to send watch response to gRPC stream\", zap.Error(serr))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tplog.Warningf(\"failed to send watch response to gRPC stream (%q)\", serr.Error())\n\t\t\t\t\t}\n\t\t\t\t\tstreamFailures.WithLabelValues(\"send\", \"watch\").Inc()\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tsws.mu.Lock()\n\t\t\tif len(evs) > 0 && sws.progress[wresp.WatchID] {\n\t\t\t\t// elide next progress update if sent a key update\n\t\t\t\tsws.progress[wresp.WatchID] = false\n\t\t\t}\n\t\t\tsws.mu.Unlock()\n\n\t\tcase c, ok := <-sws.ctrlStream:\n\t\t\tif !ok {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif err := sws.gRPCStream.Send(c); err != nil {\n\t\t\t\tif isClientCtxErr(sws.gRPCStream.Context().Err(), err) {\n\t\t\t\t\tif sws.lg != nil {\n\t\t\t\t\t\tsws.lg.Debug(\"failed to send watch control response to gRPC stream\", zap.Error(err))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tplog.Debugf(\"failed to send watch control response to gRPC stream (%q)\", err.Error())\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif sws.lg != nil {\n\t\t\t\t\t\tsws.lg.Warn(\"failed to send watch control response to gRPC stream\", zap.Error(err))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tplog.Warningf(\"failed to send watch control response to gRPC stream (%q)\", err.Error())\n\t\t\t\t\t}\n\t\t\t\t\tstreamFailures.WithLabelValues(\"send\", \"watch\").Inc()\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// track id creation\n\t\t\twid := mvcc.WatchID(c.WatchId)\n\t\t\tif c.Canceled {\n\t\t\t\tdelete(ids, wid)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif c.Created {\n\t\t\t\t// flush buffered events\n\t\t\t\tids[wid] = struct{}{}\n\t\t\t\tfor _, v := range pending[wid] {\n\t\t\t\t\tmvcc.ReportEventReceived(len(v.Events))\n\t\t\t\t\tif err := sws.gRPCStream.Send(v); err != nil {\n\t\t\t\t\t\tif isClientCtxErr(sws.gRPCStream.Context().Err(), err) {\n\t\t\t\t\t\t\tif sws.lg != nil {\n\t\t\t\t\t\t\t\tsws.lg.Debug(\"failed to send pending watch response to gRPC stream\", zap.Error(err))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tplog.Debugf(\"failed to send pending watch response to gRPC stream (%q)\", err.Error())\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif sws.lg != nil {\n\t\t\t\t\t\t\t\tsws.lg.Warn(\"failed to send pending watch response to gRPC stream\", zap.Error(err))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tplog.Warningf(\"failed to send pending watch response to gRPC stream (%q)\", err.Error())\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tstreamFailures.WithLabelValues(\"send\", \"watch\").Inc()\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdelete(pending, wid)\n\t\t\t}\n\n\t\tcase <-progressTicker.C:\n\t\t\tsws.mu.Lock()\n\t\t\tfor id, ok := range sws.progress {\n\t\t\t\tif ok {\n\t\t\t\t\tsws.watchStream.RequestProgress(id)\n\t\t\t\t}\n\t\t\t\tsws.progress[id] = true\n\t\t\t}\n\t\t\tsws.mu.Unlock()\n\n\t\tcase <-sws.closec:\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc sendFragments(\n\twr *pb.WatchResponse,\n\tmaxRequestBytes int,\n\tsendFunc func(*pb.WatchResponse) error) error {\n\t// no need to fragment if total request size is smaller\n\t// than max request limit or response contains only one event\n\tif wr.Size() < maxRequestBytes || len(wr.Events) < 2 {\n\t\treturn sendFunc(wr)\n\t}\n\n\tow := *wr\n\tow.Events = make([]*mvccpb.Event, 0)\n\tow.Fragment = true\n\n\tvar idx int\n\tfor {\n\t\tcur := ow\n\t\tfor _, ev := range wr.Events[idx:] {\n\t\t\tcur.Events = append(cur.Events, ev)\n\t\t\tif len(cur.Events) > 1 && cur.Size() >= maxRequestBytes {\n\t\t\t\tcur.Events = cur.Events[:len(cur.Events)-1]\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tidx++\n\t\t}\n\t\tif idx == len(wr.Events) {\n\t\t\t// last response has no more fragment\n\t\t\tcur.Fragment = false\n\t\t}\n\t\tif err := sendFunc(&cur); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !cur.Fragment {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (sws *serverWatchStream) close() {\n\tsws.watchStream.Close()\n\tclose(sws.closec)\n\tsws.wg.Wait()\n}\n\nfunc (sws *serverWatchStream) newResponseHeader(rev int64) *pb.ResponseHeader {\n\treturn &pb.ResponseHeader{\n\t\tClusterId: uint64(sws.clusterID),\n\t\tMemberId:  uint64(sws.memberID),\n\t\tRevision:  rev,\n\t\tRaftTerm:  sws.sg.Term(),\n\t}\n}\n\nfunc filterNoDelete(e mvccpb.Event) bool {\n\treturn e.Type == mvccpb.DELETE\n}\n\nfunc filterNoPut(e mvccpb.Event) bool {\n\treturn e.Type == mvccpb.PUT\n}\n\n// FiltersFromRequest returns \"mvcc.FilterFunc\" from a given watch create request.\nfunc FiltersFromRequest(creq *pb.WatchCreateRequest) []mvcc.FilterFunc {\n\tfilters := make([]mvcc.FilterFunc, 0, len(creq.Filters))\n\tfor _, ft := range creq.Filters {\n\t\tswitch ft {\n\t\tcase pb.WatchCreateRequest_NOPUT:\n\t\t\tfilters = append(filters, filterNoPut)\n\t\tcase pb.WatchCreateRequest_NODELETE:\n\t\t\tfilters = append(filters, filterNoDelete)\n\t\tdefault:\n\t\t}\n\t}\n\treturn filters\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/apply.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"fmt\"\n\t\"sort\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/auth\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/lease\"\n\t\"github.com/coreos/etcd/mvcc\"\n\t\"github.com/coreos/etcd/mvcc/mvccpb\"\n\t\"github.com/coreos/etcd/pkg/types\"\n\n\t\"github.com/gogo/protobuf/proto\"\n\t\"go.uber.org/zap\"\n)\n\nconst (\n\twarnApplyDuration = 100 * time.Millisecond\n)\n\ntype applyResult struct {\n\tresp proto.Message\n\terr  error\n\t// physc signals the physical effect of the request has completed in addition\n\t// to being logically reflected by the node. Currently only used for\n\t// Compaction requests.\n\tphysc <-chan struct{}\n}\n\n// applierV3 is the interface for processing V3 raft messages\ntype applierV3 interface {\n\tApply(r *pb.InternalRaftRequest) *applyResult\n\n\tPut(txn mvcc.TxnWrite, p *pb.PutRequest) (*pb.PutResponse, error)\n\tRange(txn mvcc.TxnRead, r *pb.RangeRequest) (*pb.RangeResponse, error)\n\tDeleteRange(txn mvcc.TxnWrite, dr *pb.DeleteRangeRequest) (*pb.DeleteRangeResponse, error)\n\tTxn(rt *pb.TxnRequest) (*pb.TxnResponse, error)\n\tCompaction(compaction *pb.CompactionRequest) (*pb.CompactionResponse, <-chan struct{}, error)\n\n\tLeaseGrant(lc *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error)\n\tLeaseRevoke(lc *pb.LeaseRevokeRequest) (*pb.LeaseRevokeResponse, error)\n\n\tAlarm(*pb.AlarmRequest) (*pb.AlarmResponse, error)\n\n\tAuthenticate(r *pb.InternalAuthenticateRequest) (*pb.AuthenticateResponse, error)\n\n\tAuthEnable() (*pb.AuthEnableResponse, error)\n\tAuthDisable() (*pb.AuthDisableResponse, error)\n\n\tUserAdd(ua *pb.AuthUserAddRequest) (*pb.AuthUserAddResponse, error)\n\tUserDelete(ua *pb.AuthUserDeleteRequest) (*pb.AuthUserDeleteResponse, error)\n\tUserChangePassword(ua *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error)\n\tUserGrantRole(ua *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error)\n\tUserGet(ua *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error)\n\tUserRevokeRole(ua *pb.AuthUserRevokeRoleRequest) (*pb.AuthUserRevokeRoleResponse, error)\n\tRoleAdd(ua *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error)\n\tRoleGrantPermission(ua *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error)\n\tRoleGet(ua *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error)\n\tRoleRevokePermission(ua *pb.AuthRoleRevokePermissionRequest) (*pb.AuthRoleRevokePermissionResponse, error)\n\tRoleDelete(ua *pb.AuthRoleDeleteRequest) (*pb.AuthRoleDeleteResponse, error)\n\tUserList(ua *pb.AuthUserListRequest) (*pb.AuthUserListResponse, error)\n\tRoleList(ua *pb.AuthRoleListRequest) (*pb.AuthRoleListResponse, error)\n}\n\ntype checkReqFunc func(mvcc.ReadView, *pb.RequestOp) error\n\ntype applierV3backend struct {\n\ts *EtcdServer\n\n\tcheckPut   checkReqFunc\n\tcheckRange checkReqFunc\n}\n\nfunc (s *EtcdServer) newApplierV3Backend() applierV3 {\n\tbase := &applierV3backend{s: s}\n\tbase.checkPut = func(rv mvcc.ReadView, req *pb.RequestOp) error {\n\t\treturn base.checkRequestPut(rv, req)\n\t}\n\tbase.checkRange = func(rv mvcc.ReadView, req *pb.RequestOp) error {\n\t\treturn base.checkRequestRange(rv, req)\n\t}\n\treturn base\n}\n\nfunc (s *EtcdServer) newApplierV3() applierV3 {\n\treturn newAuthApplierV3(\n\t\ts.AuthStore(),\n\t\tnewQuotaApplierV3(s, s.newApplierV3Backend()),\n\t\ts.lessor,\n\t)\n}\n\nfunc (a *applierV3backend) Apply(r *pb.InternalRaftRequest) *applyResult {\n\tar := &applyResult{}\n\tdefer func(start time.Time) {\n\t\twarnOfExpensiveRequest(a.s.getLogger(), start, &pb.InternalRaftStringer{Request: r}, ar.resp, ar.err)\n\t}(time.Now())\n\n\t// call into a.s.applyV3.F instead of a.F so upper appliers can check individual calls\n\tswitch {\n\tcase r.Range != nil:\n\t\tar.resp, ar.err = a.s.applyV3.Range(nil, r.Range)\n\tcase r.Put != nil:\n\t\tar.resp, ar.err = a.s.applyV3.Put(nil, r.Put)\n\tcase r.DeleteRange != nil:\n\t\tar.resp, ar.err = a.s.applyV3.DeleteRange(nil, r.DeleteRange)\n\tcase r.Txn != nil:\n\t\tar.resp, ar.err = a.s.applyV3.Txn(r.Txn)\n\tcase r.Compaction != nil:\n\t\tar.resp, ar.physc, ar.err = a.s.applyV3.Compaction(r.Compaction)\n\tcase r.LeaseGrant != nil:\n\t\tar.resp, ar.err = a.s.applyV3.LeaseGrant(r.LeaseGrant)\n\tcase r.LeaseRevoke != nil:\n\t\tar.resp, ar.err = a.s.applyV3.LeaseRevoke(r.LeaseRevoke)\n\tcase r.Alarm != nil:\n\t\tar.resp, ar.err = a.s.applyV3.Alarm(r.Alarm)\n\tcase r.Authenticate != nil:\n\t\tar.resp, ar.err = a.s.applyV3.Authenticate(r.Authenticate)\n\tcase r.AuthEnable != nil:\n\t\tar.resp, ar.err = a.s.applyV3.AuthEnable()\n\tcase r.AuthDisable != nil:\n\t\tar.resp, ar.err = a.s.applyV3.AuthDisable()\n\tcase r.AuthUserAdd != nil:\n\t\tar.resp, ar.err = a.s.applyV3.UserAdd(r.AuthUserAdd)\n\tcase r.AuthUserDelete != nil:\n\t\tar.resp, ar.err = a.s.applyV3.UserDelete(r.AuthUserDelete)\n\tcase r.AuthUserChangePassword != nil:\n\t\tar.resp, ar.err = a.s.applyV3.UserChangePassword(r.AuthUserChangePassword)\n\tcase r.AuthUserGrantRole != nil:\n\t\tar.resp, ar.err = a.s.applyV3.UserGrantRole(r.AuthUserGrantRole)\n\tcase r.AuthUserGet != nil:\n\t\tar.resp, ar.err = a.s.applyV3.UserGet(r.AuthUserGet)\n\tcase r.AuthUserRevokeRole != nil:\n\t\tar.resp, ar.err = a.s.applyV3.UserRevokeRole(r.AuthUserRevokeRole)\n\tcase r.AuthRoleAdd != nil:\n\t\tar.resp, ar.err = a.s.applyV3.RoleAdd(r.AuthRoleAdd)\n\tcase r.AuthRoleGrantPermission != nil:\n\t\tar.resp, ar.err = a.s.applyV3.RoleGrantPermission(r.AuthRoleGrantPermission)\n\tcase r.AuthRoleGet != nil:\n\t\tar.resp, ar.err = a.s.applyV3.RoleGet(r.AuthRoleGet)\n\tcase r.AuthRoleRevokePermission != nil:\n\t\tar.resp, ar.err = a.s.applyV3.RoleRevokePermission(r.AuthRoleRevokePermission)\n\tcase r.AuthRoleDelete != nil:\n\t\tar.resp, ar.err = a.s.applyV3.RoleDelete(r.AuthRoleDelete)\n\tcase r.AuthUserList != nil:\n\t\tar.resp, ar.err = a.s.applyV3.UserList(r.AuthUserList)\n\tcase r.AuthRoleList != nil:\n\t\tar.resp, ar.err = a.s.applyV3.RoleList(r.AuthRoleList)\n\tdefault:\n\t\tpanic(\"not implemented\")\n\t}\n\treturn ar\n}\n\nfunc (a *applierV3backend) Put(txn mvcc.TxnWrite, p *pb.PutRequest) (resp *pb.PutResponse, err error) {\n\tresp = &pb.PutResponse{}\n\tresp.Header = &pb.ResponseHeader{}\n\n\tval, leaseID := p.Value, lease.LeaseID(p.Lease)\n\tif txn == nil {\n\t\tif leaseID != lease.NoLease {\n\t\t\tif l := a.s.lessor.Lookup(leaseID); l == nil {\n\t\t\t\treturn nil, lease.ErrLeaseNotFound\n\t\t\t}\n\t\t}\n\t\ttxn = a.s.KV().Write()\n\t\tdefer txn.End()\n\t}\n\n\tvar rr *mvcc.RangeResult\n\tif p.IgnoreValue || p.IgnoreLease || p.PrevKv {\n\t\trr, err = txn.Range(p.Key, nil, mvcc.RangeOptions{})\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tif p.IgnoreValue || p.IgnoreLease {\n\t\tif rr == nil || len(rr.KVs) == 0 {\n\t\t\t// ignore_{lease,value} flag expects previous key-value pair\n\t\t\treturn nil, ErrKeyNotFound\n\t\t}\n\t}\n\tif p.IgnoreValue {\n\t\tval = rr.KVs[0].Value\n\t}\n\tif p.IgnoreLease {\n\t\tleaseID = lease.LeaseID(rr.KVs[0].Lease)\n\t}\n\tif p.PrevKv {\n\t\tif rr != nil && len(rr.KVs) != 0 {\n\t\t\tresp.PrevKv = &rr.KVs[0]\n\t\t}\n\t}\n\n\tresp.Header.Revision = txn.Put(p.Key, val, leaseID)\n\treturn resp, nil\n}\n\nfunc (a *applierV3backend) DeleteRange(txn mvcc.TxnWrite, dr *pb.DeleteRangeRequest) (*pb.DeleteRangeResponse, error) {\n\tresp := &pb.DeleteRangeResponse{}\n\tresp.Header = &pb.ResponseHeader{}\n\tend := mkGteRange(dr.RangeEnd)\n\n\tif txn == nil {\n\t\ttxn = a.s.kv.Write()\n\t\tdefer txn.End()\n\t}\n\n\tif dr.PrevKv {\n\t\trr, err := txn.Range(dr.Key, end, mvcc.RangeOptions{})\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tif rr != nil {\n\t\t\tresp.PrevKvs = make([]*mvccpb.KeyValue, len(rr.KVs))\n\t\t\tfor i := range rr.KVs {\n\t\t\t\tresp.PrevKvs[i] = &rr.KVs[i]\n\t\t\t}\n\t\t}\n\t}\n\n\tresp.Deleted, resp.Header.Revision = txn.DeleteRange(dr.Key, end)\n\treturn resp, nil\n}\n\nfunc (a *applierV3backend) Range(txn mvcc.TxnRead, r *pb.RangeRequest) (*pb.RangeResponse, error) {\n\tresp := &pb.RangeResponse{}\n\tresp.Header = &pb.ResponseHeader{}\n\n\tif txn == nil {\n\t\ttxn = a.s.kv.Read()\n\t\tdefer txn.End()\n\t}\n\n\tlimit := r.Limit\n\tif r.SortOrder != pb.RangeRequest_NONE ||\n\t\tr.MinModRevision != 0 || r.MaxModRevision != 0 ||\n\t\tr.MinCreateRevision != 0 || r.MaxCreateRevision != 0 {\n\t\t// fetch everything; sort and truncate afterwards\n\t\tlimit = 0\n\t}\n\tif limit > 0 {\n\t\t// fetch one extra for 'more' flag\n\t\tlimit = limit + 1\n\t}\n\n\tro := mvcc.RangeOptions{\n\t\tLimit: limit,\n\t\tRev:   r.Revision,\n\t\tCount: r.CountOnly,\n\t}\n\n\trr, err := txn.Range(r.Key, mkGteRange(r.RangeEnd), ro)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif r.MaxModRevision != 0 {\n\t\tf := func(kv *mvccpb.KeyValue) bool { return kv.ModRevision > r.MaxModRevision }\n\t\tpruneKVs(rr, f)\n\t}\n\tif r.MinModRevision != 0 {\n\t\tf := func(kv *mvccpb.KeyValue) bool { return kv.ModRevision < r.MinModRevision }\n\t\tpruneKVs(rr, f)\n\t}\n\tif r.MaxCreateRevision != 0 {\n\t\tf := func(kv *mvccpb.KeyValue) bool { return kv.CreateRevision > r.MaxCreateRevision }\n\t\tpruneKVs(rr, f)\n\t}\n\tif r.MinCreateRevision != 0 {\n\t\tf := func(kv *mvccpb.KeyValue) bool { return kv.CreateRevision < r.MinCreateRevision }\n\t\tpruneKVs(rr, f)\n\t}\n\n\tsortOrder := r.SortOrder\n\tif r.SortTarget != pb.RangeRequest_KEY && sortOrder == pb.RangeRequest_NONE {\n\t\t// Since current mvcc.Range implementation returns results\n\t\t// sorted by keys in lexiographically ascending order,\n\t\t// sort ASCEND by default only when target is not 'KEY'\n\t\tsortOrder = pb.RangeRequest_ASCEND\n\t}\n\tif sortOrder != pb.RangeRequest_NONE {\n\t\tvar sorter sort.Interface\n\t\tswitch {\n\t\tcase r.SortTarget == pb.RangeRequest_KEY:\n\t\t\tsorter = &kvSortByKey{&kvSort{rr.KVs}}\n\t\tcase r.SortTarget == pb.RangeRequest_VERSION:\n\t\t\tsorter = &kvSortByVersion{&kvSort{rr.KVs}}\n\t\tcase r.SortTarget == pb.RangeRequest_CREATE:\n\t\t\tsorter = &kvSortByCreate{&kvSort{rr.KVs}}\n\t\tcase r.SortTarget == pb.RangeRequest_MOD:\n\t\t\tsorter = &kvSortByMod{&kvSort{rr.KVs}}\n\t\tcase r.SortTarget == pb.RangeRequest_VALUE:\n\t\t\tsorter = &kvSortByValue{&kvSort{rr.KVs}}\n\t\t}\n\t\tswitch {\n\t\tcase sortOrder == pb.RangeRequest_ASCEND:\n\t\t\tsort.Sort(sorter)\n\t\tcase sortOrder == pb.RangeRequest_DESCEND:\n\t\t\tsort.Sort(sort.Reverse(sorter))\n\t\t}\n\t}\n\n\tif r.Limit > 0 && len(rr.KVs) > int(r.Limit) {\n\t\trr.KVs = rr.KVs[:r.Limit]\n\t\tresp.More = true\n\t}\n\n\tresp.Header.Revision = rr.Rev\n\tresp.Count = int64(rr.Count)\n\tresp.Kvs = make([]*mvccpb.KeyValue, len(rr.KVs))\n\tfor i := range rr.KVs {\n\t\tif r.KeysOnly {\n\t\t\trr.KVs[i].Value = nil\n\t\t}\n\t\tresp.Kvs[i] = &rr.KVs[i]\n\t}\n\treturn resp, nil\n}\n\nfunc (a *applierV3backend) Txn(rt *pb.TxnRequest) (*pb.TxnResponse, error) {\n\tisWrite := !isTxnReadonly(rt)\n\ttxn := mvcc.NewReadOnlyTxnWrite(a.s.KV().Read())\n\n\ttxnPath := compareToPath(txn, rt)\n\tif isWrite {\n\t\tif _, err := checkRequests(txn, rt, txnPath, a.checkPut); err != nil {\n\t\t\ttxn.End()\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tif _, err := checkRequests(txn, rt, txnPath, a.checkRange); err != nil {\n\t\ttxn.End()\n\t\treturn nil, err\n\t}\n\n\ttxnResp, _ := newTxnResp(rt, txnPath)\n\n\t// When executing mutable txn ops, etcd must hold the txn lock so\n\t// readers do not see any intermediate results. Since writes are\n\t// serialized on the raft loop, the revision in the read view will\n\t// be the revision of the write txn.\n\tif isWrite {\n\t\ttxn.End()\n\t\ttxn = a.s.KV().Write()\n\t}\n\ta.applyTxn(txn, rt, txnPath, txnResp)\n\trev := txn.Rev()\n\tif len(txn.Changes()) != 0 {\n\t\trev++\n\t}\n\ttxn.End()\n\n\ttxnResp.Header.Revision = rev\n\treturn txnResp, nil\n}\n\n// newTxnResp allocates a txn response for a txn request given a path.\nfunc newTxnResp(rt *pb.TxnRequest, txnPath []bool) (txnResp *pb.TxnResponse, txnCount int) {\n\treqs := rt.Success\n\tif !txnPath[0] {\n\t\treqs = rt.Failure\n\t}\n\tresps := make([]*pb.ResponseOp, len(reqs))\n\ttxnResp = &pb.TxnResponse{\n\t\tResponses: resps,\n\t\tSucceeded: txnPath[0],\n\t\tHeader:    &pb.ResponseHeader{},\n\t}\n\tfor i, req := range reqs {\n\t\tswitch tv := req.Request.(type) {\n\t\tcase *pb.RequestOp_RequestRange:\n\t\t\tresps[i] = &pb.ResponseOp{Response: &pb.ResponseOp_ResponseRange{}}\n\t\tcase *pb.RequestOp_RequestPut:\n\t\t\tresps[i] = &pb.ResponseOp{Response: &pb.ResponseOp_ResponsePut{}}\n\t\tcase *pb.RequestOp_RequestDeleteRange:\n\t\t\tresps[i] = &pb.ResponseOp{Response: &pb.ResponseOp_ResponseDeleteRange{}}\n\t\tcase *pb.RequestOp_RequestTxn:\n\t\t\tresp, txns := newTxnResp(tv.RequestTxn, txnPath[1:])\n\t\t\tresps[i] = &pb.ResponseOp{Response: &pb.ResponseOp_ResponseTxn{ResponseTxn: resp}}\n\t\t\ttxnPath = txnPath[1+txns:]\n\t\t\ttxnCount += txns + 1\n\t\tdefault:\n\t\t}\n\t}\n\treturn txnResp, txnCount\n}\n\nfunc compareToPath(rv mvcc.ReadView, rt *pb.TxnRequest) []bool {\n\ttxnPath := make([]bool, 1)\n\tops := rt.Success\n\tif txnPath[0] = applyCompares(rv, rt.Compare); !txnPath[0] {\n\t\tops = rt.Failure\n\t}\n\tfor _, op := range ops {\n\t\ttv, ok := op.Request.(*pb.RequestOp_RequestTxn)\n\t\tif !ok || tv.RequestTxn == nil {\n\t\t\tcontinue\n\t\t}\n\t\ttxnPath = append(txnPath, compareToPath(rv, tv.RequestTxn)...)\n\t}\n\treturn txnPath\n}\n\nfunc applyCompares(rv mvcc.ReadView, cmps []*pb.Compare) bool {\n\tfor _, c := range cmps {\n\t\tif !applyCompare(rv, c) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// applyCompare applies the compare request.\n// If the comparison succeeds, it returns true. Otherwise, returns false.\nfunc applyCompare(rv mvcc.ReadView, c *pb.Compare) bool {\n\t// TODO: possible optimizations\n\t// * chunk reads for large ranges to conserve memory\n\t// * rewrite rules for common patterns:\n\t//\tex. \"[a, b) createrev > 0\" => \"limit 1 /\\ kvs > 0\"\n\t// * caching\n\trr, err := rv.Range(c.Key, mkGteRange(c.RangeEnd), mvcc.RangeOptions{})\n\tif err != nil {\n\t\treturn false\n\t}\n\tif len(rr.KVs) == 0 {\n\t\tif c.Target == pb.Compare_VALUE {\n\t\t\t// Always fail if comparing a value on a key/keys that doesn't exist;\n\t\t\t// nil == empty string in grpc; no way to represent missing value\n\t\t\treturn false\n\t\t}\n\t\treturn compareKV(c, mvccpb.KeyValue{})\n\t}\n\tfor _, kv := range rr.KVs {\n\t\tif !compareKV(c, kv) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nfunc compareKV(c *pb.Compare, ckv mvccpb.KeyValue) bool {\n\tvar result int\n\trev := int64(0)\n\tswitch c.Target {\n\tcase pb.Compare_VALUE:\n\t\tv := []byte{}\n\t\tif tv, _ := c.TargetUnion.(*pb.Compare_Value); tv != nil {\n\t\t\tv = tv.Value\n\t\t}\n\t\tresult = bytes.Compare(ckv.Value, v)\n\tcase pb.Compare_CREATE:\n\t\tif tv, _ := c.TargetUnion.(*pb.Compare_CreateRevision); tv != nil {\n\t\t\trev = tv.CreateRevision\n\t\t}\n\t\tresult = compareInt64(ckv.CreateRevision, rev)\n\tcase pb.Compare_MOD:\n\t\tif tv, _ := c.TargetUnion.(*pb.Compare_ModRevision); tv != nil {\n\t\t\trev = tv.ModRevision\n\t\t}\n\t\tresult = compareInt64(ckv.ModRevision, rev)\n\tcase pb.Compare_VERSION:\n\t\tif tv, _ := c.TargetUnion.(*pb.Compare_Version); tv != nil {\n\t\t\trev = tv.Version\n\t\t}\n\t\tresult = compareInt64(ckv.Version, rev)\n\tcase pb.Compare_LEASE:\n\t\tif tv, _ := c.TargetUnion.(*pb.Compare_Lease); tv != nil {\n\t\t\trev = tv.Lease\n\t\t}\n\t\tresult = compareInt64(ckv.Lease, rev)\n\t}\n\tswitch c.Result {\n\tcase pb.Compare_EQUAL:\n\t\treturn result == 0\n\tcase pb.Compare_NOT_EQUAL:\n\t\treturn result != 0\n\tcase pb.Compare_GREATER:\n\t\treturn result > 0\n\tcase pb.Compare_LESS:\n\t\treturn result < 0\n\t}\n\treturn true\n}\n\nfunc (a *applierV3backend) applyTxn(txn mvcc.TxnWrite, rt *pb.TxnRequest, txnPath []bool, tresp *pb.TxnResponse) (txns int) {\n\treqs := rt.Success\n\tif !txnPath[0] {\n\t\treqs = rt.Failure\n\t}\n\n\tlg := a.s.getLogger()\n\tfor i, req := range reqs {\n\t\trespi := tresp.Responses[i].Response\n\t\tswitch tv := req.Request.(type) {\n\t\tcase *pb.RequestOp_RequestRange:\n\t\t\tresp, err := a.Range(txn, tv.RequestRange)\n\t\t\tif err != nil {\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Panic(\"unexpected error during txn\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Panicf(\"unexpected error during txn: %v\", err)\n\t\t\t\t}\n\t\t\t}\n\t\t\trespi.(*pb.ResponseOp_ResponseRange).ResponseRange = resp\n\t\tcase *pb.RequestOp_RequestPut:\n\t\t\tresp, err := a.Put(txn, tv.RequestPut)\n\t\t\tif err != nil {\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Panic(\"unexpected error during txn\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Panicf(\"unexpected error during txn: %v\", err)\n\t\t\t\t}\n\t\t\t}\n\t\t\trespi.(*pb.ResponseOp_ResponsePut).ResponsePut = resp\n\t\tcase *pb.RequestOp_RequestDeleteRange:\n\t\t\tresp, err := a.DeleteRange(txn, tv.RequestDeleteRange)\n\t\t\tif err != nil {\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Panic(\"unexpected error during txn\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Panicf(\"unexpected error during txn: %v\", err)\n\t\t\t\t}\n\t\t\t}\n\t\t\trespi.(*pb.ResponseOp_ResponseDeleteRange).ResponseDeleteRange = resp\n\t\tcase *pb.RequestOp_RequestTxn:\n\t\t\tresp := respi.(*pb.ResponseOp_ResponseTxn).ResponseTxn\n\t\t\tapplyTxns := a.applyTxn(txn, tv.RequestTxn, txnPath[1:], resp)\n\t\t\ttxns += applyTxns + 1\n\t\t\ttxnPath = txnPath[applyTxns+1:]\n\t\tdefault:\n\t\t\t// empty union\n\t\t}\n\t}\n\treturn txns\n}\n\nfunc (a *applierV3backend) Compaction(compaction *pb.CompactionRequest) (*pb.CompactionResponse, <-chan struct{}, error) {\n\tresp := &pb.CompactionResponse{}\n\tresp.Header = &pb.ResponseHeader{}\n\tch, err := a.s.KV().Compact(compaction.Revision)\n\tif err != nil {\n\t\treturn nil, ch, err\n\t}\n\t// get the current revision. which key to get is not important.\n\trr, _ := a.s.KV().Range([]byte(\"compaction\"), nil, mvcc.RangeOptions{})\n\tresp.Header.Revision = rr.Rev\n\treturn resp, ch, err\n}\n\nfunc (a *applierV3backend) LeaseGrant(lc *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error) {\n\tl, err := a.s.lessor.Grant(lease.LeaseID(lc.ID), lc.TTL)\n\tresp := &pb.LeaseGrantResponse{}\n\tif err == nil {\n\t\tresp.ID = int64(l.ID)\n\t\tresp.TTL = l.TTL()\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) LeaseRevoke(lc *pb.LeaseRevokeRequest) (*pb.LeaseRevokeResponse, error) {\n\terr := a.s.lessor.Revoke(lease.LeaseID(lc.ID))\n\treturn &pb.LeaseRevokeResponse{Header: newHeader(a.s)}, err\n}\n\nfunc (a *applierV3backend) Alarm(ar *pb.AlarmRequest) (*pb.AlarmResponse, error) {\n\tresp := &pb.AlarmResponse{}\n\toldCount := len(a.s.alarmStore.Get(ar.Alarm))\n\n\tlg := a.s.getLogger()\n\tswitch ar.Action {\n\tcase pb.AlarmRequest_GET:\n\t\tresp.Alarms = a.s.alarmStore.Get(ar.Alarm)\n\tcase pb.AlarmRequest_ACTIVATE:\n\t\tm := a.s.alarmStore.Activate(types.ID(ar.MemberID), ar.Alarm)\n\t\tif m == nil {\n\t\t\tbreak\n\t\t}\n\t\tresp.Alarms = append(resp.Alarms, m)\n\t\tactivated := oldCount == 0 && len(a.s.alarmStore.Get(m.Alarm)) == 1\n\t\tif !activated {\n\t\t\tbreak\n\t\t}\n\n\t\tif lg != nil {\n\t\t\tlg.Warn(\"alarm raised\", zap.String(\"alarm\", m.Alarm.String()), zap.String(\"from\", types.ID(m.MemberID).String()))\n\t\t} else {\n\t\t\tplog.Warningf(\"alarm %v raised by peer %s\", m.Alarm, types.ID(m.MemberID))\n\t\t}\n\t\tswitch m.Alarm {\n\t\tcase pb.AlarmType_CORRUPT:\n\t\t\ta.s.applyV3 = newApplierV3Corrupt(a)\n\t\tcase pb.AlarmType_NOSPACE:\n\t\t\ta.s.applyV3 = newApplierV3Capped(a)\n\t\tdefault:\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\"unimplemented alarm activation\", zap.String(\"alarm\", fmt.Sprintf(\"%+v\", m)))\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"unimplemented alarm activation (%+v)\", m)\n\t\t\t}\n\t\t}\n\tcase pb.AlarmRequest_DEACTIVATE:\n\t\tm := a.s.alarmStore.Deactivate(types.ID(ar.MemberID), ar.Alarm)\n\t\tif m == nil {\n\t\t\tbreak\n\t\t}\n\t\tresp.Alarms = append(resp.Alarms, m)\n\t\tdeactivated := oldCount > 0 && len(a.s.alarmStore.Get(ar.Alarm)) == 0\n\t\tif !deactivated {\n\t\t\tbreak\n\t\t}\n\n\t\tswitch m.Alarm {\n\t\tcase pb.AlarmType_NOSPACE, pb.AlarmType_CORRUPT:\n\t\t\t// TODO: check kv hash before deactivating CORRUPT?\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\"alarm disarmed\", zap.String(\"alarm\", m.Alarm.String()), zap.String(\"from\", types.ID(m.MemberID).String()))\n\t\t\t} else {\n\t\t\t\tplog.Infof(\"alarm disarmed %+v\", ar)\n\t\t\t}\n\t\t\ta.s.applyV3 = a.s.newApplierV3()\n\t\tdefault:\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\"unimplemented alarm deactivation\", zap.String(\"alarm\", fmt.Sprintf(\"%+v\", m)))\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"unimplemented alarm deactivation (%+v)\", m)\n\t\t\t}\n\t\t}\n\tdefault:\n\t\treturn nil, nil\n\t}\n\treturn resp, nil\n}\n\ntype applierV3Capped struct {\n\tapplierV3\n\tq backendQuota\n}\n\n// newApplierV3Capped creates an applyV3 that will reject Puts and transactions\n// with Puts so that the number of keys in the store is capped.\nfunc newApplierV3Capped(base applierV3) applierV3 { return &applierV3Capped{applierV3: base} }\n\nfunc (a *applierV3Capped) Put(txn mvcc.TxnWrite, p *pb.PutRequest) (*pb.PutResponse, error) {\n\treturn nil, ErrNoSpace\n}\n\nfunc (a *applierV3Capped) Txn(r *pb.TxnRequest) (*pb.TxnResponse, error) {\n\tif a.q.Cost(r) > 0 {\n\t\treturn nil, ErrNoSpace\n\t}\n\treturn a.applierV3.Txn(r)\n}\n\nfunc (a *applierV3Capped) LeaseGrant(lc *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error) {\n\treturn nil, ErrNoSpace\n}\n\nfunc (a *applierV3backend) AuthEnable() (*pb.AuthEnableResponse, error) {\n\terr := a.s.AuthStore().AuthEnable()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &pb.AuthEnableResponse{Header: newHeader(a.s)}, nil\n}\n\nfunc (a *applierV3backend) AuthDisable() (*pb.AuthDisableResponse, error) {\n\ta.s.AuthStore().AuthDisable()\n\treturn &pb.AuthDisableResponse{Header: newHeader(a.s)}, nil\n}\n\nfunc (a *applierV3backend) Authenticate(r *pb.InternalAuthenticateRequest) (*pb.AuthenticateResponse, error) {\n\tctx := context.WithValue(context.WithValue(a.s.ctx, auth.AuthenticateParamIndex{}, a.s.consistIndex.ConsistentIndex()), auth.AuthenticateParamSimpleTokenPrefix{}, r.SimpleToken)\n\tresp, err := a.s.AuthStore().Authenticate(ctx, r.Name, r.Password)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) UserAdd(r *pb.AuthUserAddRequest) (*pb.AuthUserAddResponse, error) {\n\tresp, err := a.s.AuthStore().UserAdd(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) UserDelete(r *pb.AuthUserDeleteRequest) (*pb.AuthUserDeleteResponse, error) {\n\tresp, err := a.s.AuthStore().UserDelete(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) UserChangePassword(r *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error) {\n\tresp, err := a.s.AuthStore().UserChangePassword(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) UserGrantRole(r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error) {\n\tresp, err := a.s.AuthStore().UserGrantRole(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) UserGet(r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error) {\n\tresp, err := a.s.AuthStore().UserGet(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) UserRevokeRole(r *pb.AuthUserRevokeRoleRequest) (*pb.AuthUserRevokeRoleResponse, error) {\n\tresp, err := a.s.AuthStore().UserRevokeRole(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) RoleAdd(r *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error) {\n\tresp, err := a.s.AuthStore().RoleAdd(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) RoleGrantPermission(r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error) {\n\tresp, err := a.s.AuthStore().RoleGrantPermission(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) RoleGet(r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error) {\n\tresp, err := a.s.AuthStore().RoleGet(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) RoleRevokePermission(r *pb.AuthRoleRevokePermissionRequest) (*pb.AuthRoleRevokePermissionResponse, error) {\n\tresp, err := a.s.AuthStore().RoleRevokePermission(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) RoleDelete(r *pb.AuthRoleDeleteRequest) (*pb.AuthRoleDeleteResponse, error) {\n\tresp, err := a.s.AuthStore().RoleDelete(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) UserList(r *pb.AuthUserListRequest) (*pb.AuthUserListResponse, error) {\n\tresp, err := a.s.AuthStore().UserList(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\nfunc (a *applierV3backend) RoleList(r *pb.AuthRoleListRequest) (*pb.AuthRoleListResponse, error) {\n\tresp, err := a.s.AuthStore().RoleList(r)\n\tif resp != nil {\n\t\tresp.Header = newHeader(a.s)\n\t}\n\treturn resp, err\n}\n\ntype quotaApplierV3 struct {\n\tapplierV3\n\tq Quota\n}\n\nfunc newQuotaApplierV3(s *EtcdServer, app applierV3) applierV3 {\n\treturn &quotaApplierV3{app, NewBackendQuota(s, \"v3-applier\")}\n}\n\nfunc (a *quotaApplierV3) Put(txn mvcc.TxnWrite, p *pb.PutRequest) (*pb.PutResponse, error) {\n\tok := a.q.Available(p)\n\tresp, err := a.applierV3.Put(txn, p)\n\tif err == nil && !ok {\n\t\terr = ErrNoSpace\n\t}\n\treturn resp, err\n}\n\nfunc (a *quotaApplierV3) Txn(rt *pb.TxnRequest) (*pb.TxnResponse, error) {\n\tok := a.q.Available(rt)\n\tresp, err := a.applierV3.Txn(rt)\n\tif err == nil && !ok {\n\t\terr = ErrNoSpace\n\t}\n\treturn resp, err\n}\n\nfunc (a *quotaApplierV3) LeaseGrant(lc *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error) {\n\tok := a.q.Available(lc)\n\tresp, err := a.applierV3.LeaseGrant(lc)\n\tif err == nil && !ok {\n\t\terr = ErrNoSpace\n\t}\n\treturn resp, err\n}\n\ntype kvSort struct{ kvs []mvccpb.KeyValue }\n\nfunc (s *kvSort) Swap(i, j int) {\n\tt := s.kvs[i]\n\ts.kvs[i] = s.kvs[j]\n\ts.kvs[j] = t\n}\nfunc (s *kvSort) Len() int { return len(s.kvs) }\n\ntype kvSortByKey struct{ *kvSort }\n\nfunc (s *kvSortByKey) Less(i, j int) bool {\n\treturn bytes.Compare(s.kvs[i].Key, s.kvs[j].Key) < 0\n}\n\ntype kvSortByVersion struct{ *kvSort }\n\nfunc (s *kvSortByVersion) Less(i, j int) bool {\n\treturn (s.kvs[i].Version - s.kvs[j].Version) < 0\n}\n\ntype kvSortByCreate struct{ *kvSort }\n\nfunc (s *kvSortByCreate) Less(i, j int) bool {\n\treturn (s.kvs[i].CreateRevision - s.kvs[j].CreateRevision) < 0\n}\n\ntype kvSortByMod struct{ *kvSort }\n\nfunc (s *kvSortByMod) Less(i, j int) bool {\n\treturn (s.kvs[i].ModRevision - s.kvs[j].ModRevision) < 0\n}\n\ntype kvSortByValue struct{ *kvSort }\n\nfunc (s *kvSortByValue) Less(i, j int) bool {\n\treturn bytes.Compare(s.kvs[i].Value, s.kvs[j].Value) < 0\n}\n\nfunc checkRequests(rv mvcc.ReadView, rt *pb.TxnRequest, txnPath []bool, f checkReqFunc) (int, error) {\n\ttxnCount := 0\n\treqs := rt.Success\n\tif !txnPath[0] {\n\t\treqs = rt.Failure\n\t}\n\tfor _, req := range reqs {\n\t\tif tv, ok := req.Request.(*pb.RequestOp_RequestTxn); ok && tv.RequestTxn != nil {\n\t\t\ttxns, err := checkRequests(rv, tv.RequestTxn, txnPath[1:], f)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ttxnCount += txns + 1\n\t\t\ttxnPath = txnPath[txns+1:]\n\t\t\tcontinue\n\t\t}\n\t\tif err := f(rv, req); err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t}\n\treturn txnCount, nil\n}\n\nfunc (a *applierV3backend) checkRequestPut(rv mvcc.ReadView, reqOp *pb.RequestOp) error {\n\ttv, ok := reqOp.Request.(*pb.RequestOp_RequestPut)\n\tif !ok || tv.RequestPut == nil {\n\t\treturn nil\n\t}\n\treq := tv.RequestPut\n\tif req.IgnoreValue || req.IgnoreLease {\n\t\t// expects previous key-value, error if not exist\n\t\trr, err := rv.Range(req.Key, nil, mvcc.RangeOptions{})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif rr == nil || len(rr.KVs) == 0 {\n\t\t\treturn ErrKeyNotFound\n\t\t}\n\t}\n\tif lease.LeaseID(req.Lease) != lease.NoLease {\n\t\tif l := a.s.lessor.Lookup(lease.LeaseID(req.Lease)); l == nil {\n\t\t\treturn lease.ErrLeaseNotFound\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (a *applierV3backend) checkRequestRange(rv mvcc.ReadView, reqOp *pb.RequestOp) error {\n\ttv, ok := reqOp.Request.(*pb.RequestOp_RequestRange)\n\tif !ok || tv.RequestRange == nil {\n\t\treturn nil\n\t}\n\treq := tv.RequestRange\n\tswitch {\n\tcase req.Revision == 0:\n\t\treturn nil\n\tcase req.Revision > rv.Rev():\n\t\treturn mvcc.ErrFutureRev\n\tcase req.Revision < rv.FirstRev():\n\t\treturn mvcc.ErrCompacted\n\t}\n\treturn nil\n}\n\nfunc compareInt64(a, b int64) int {\n\tswitch {\n\tcase a < b:\n\t\treturn -1\n\tcase a > b:\n\t\treturn 1\n\tdefault:\n\t\treturn 0\n\t}\n}\n\n// mkGteRange determines if the range end is a >= range. This works around grpc\n// sending empty byte strings as nil; >= is encoded in the range end as '\\0'.\n// If it is a GTE range, then []byte{} is returned to indicate the empty byte\n// string (vs nil being no byte string).\nfunc mkGteRange(rangeEnd []byte) []byte {\n\tif len(rangeEnd) == 1 && rangeEnd[0] == 0 {\n\t\treturn []byte{}\n\t}\n\treturn rangeEnd\n}\n\nfunc noSideEffect(r *pb.InternalRaftRequest) bool {\n\treturn r.Range != nil || r.AuthUserGet != nil || r.AuthRoleGet != nil\n}\n\nfunc removeNeedlessRangeReqs(txn *pb.TxnRequest) {\n\tf := func(ops []*pb.RequestOp) []*pb.RequestOp {\n\t\tj := 0\n\t\tfor i := 0; i < len(ops); i++ {\n\t\t\tif _, ok := ops[i].Request.(*pb.RequestOp_RequestRange); ok {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tops[j] = ops[i]\n\t\t\tj++\n\t\t}\n\n\t\treturn ops[:j]\n\t}\n\n\ttxn.Success = f(txn.Success)\n\ttxn.Failure = f(txn.Failure)\n}\n\nfunc pruneKVs(rr *mvcc.RangeResult, isPrunable func(*mvccpb.KeyValue) bool) {\n\tj := 0\n\tfor i := range rr.KVs {\n\t\trr.KVs[j] = rr.KVs[i]\n\t\tif !isPrunable(&rr.KVs[i]) {\n\t\t\tj++\n\t\t}\n\t}\n\trr.KVs = rr.KVs[:j]\n}\n\nfunc newHeader(s *EtcdServer) *pb.ResponseHeader {\n\treturn &pb.ResponseHeader{\n\t\tClusterId: uint64(s.Cluster().ID()),\n\t\tMemberId:  uint64(s.ID()),\n\t\tRevision:  s.KV().Rev(),\n\t\tRaftTerm:  s.Term(),\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/apply_auth.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"sync\"\n\n\t\"github.com/coreos/etcd/auth\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/lease\"\n\t\"github.com/coreos/etcd/mvcc\"\n)\n\ntype authApplierV3 struct {\n\tapplierV3\n\tas     auth.AuthStore\n\tlessor lease.Lessor\n\n\t// mu serializes Apply so that user isn't corrupted and so that\n\t// serialized requests don't leak data from TOCTOU errors\n\tmu sync.Mutex\n\n\tauthInfo auth.AuthInfo\n}\n\nfunc newAuthApplierV3(as auth.AuthStore, base applierV3, lessor lease.Lessor) *authApplierV3 {\n\treturn &authApplierV3{applierV3: base, as: as, lessor: lessor}\n}\n\nfunc (aa *authApplierV3) Apply(r *pb.InternalRaftRequest) *applyResult {\n\taa.mu.Lock()\n\tdefer aa.mu.Unlock()\n\tif r.Header != nil {\n\t\t// backward-compatible with pre-3.0 releases when internalRaftRequest\n\t\t// does not have header field\n\t\taa.authInfo.Username = r.Header.Username\n\t\taa.authInfo.Revision = r.Header.AuthRevision\n\t}\n\tif needAdminPermission(r) {\n\t\tif err := aa.as.IsAdminPermitted(&aa.authInfo); err != nil {\n\t\t\taa.authInfo.Username = \"\"\n\t\t\taa.authInfo.Revision = 0\n\t\t\treturn &applyResult{err: err}\n\t\t}\n\t}\n\tret := aa.applierV3.Apply(r)\n\taa.authInfo.Username = \"\"\n\taa.authInfo.Revision = 0\n\treturn ret\n}\n\nfunc (aa *authApplierV3) Put(txn mvcc.TxnWrite, r *pb.PutRequest) (*pb.PutResponse, error) {\n\tif err := aa.as.IsPutPermitted(&aa.authInfo, r.Key); err != nil {\n\t\treturn nil, err\n\t}\n\n\tif err := aa.checkLeasePuts(lease.LeaseID(r.Lease)); err != nil {\n\t\t// The specified lease is already attached with a key that cannot\n\t\t// be written by this user. It means the user cannot revoke the\n\t\t// lease so attaching the lease to the newly written key should\n\t\t// be forbidden.\n\t\treturn nil, err\n\t}\n\n\tif r.PrevKv {\n\t\terr := aa.as.IsRangePermitted(&aa.authInfo, r.Key, nil)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn aa.applierV3.Put(txn, r)\n}\n\nfunc (aa *authApplierV3) Range(txn mvcc.TxnRead, r *pb.RangeRequest) (*pb.RangeResponse, error) {\n\tif err := aa.as.IsRangePermitted(&aa.authInfo, r.Key, r.RangeEnd); err != nil {\n\t\treturn nil, err\n\t}\n\treturn aa.applierV3.Range(txn, r)\n}\n\nfunc (aa *authApplierV3) DeleteRange(txn mvcc.TxnWrite, r *pb.DeleteRangeRequest) (*pb.DeleteRangeResponse, error) {\n\tif err := aa.as.IsDeleteRangePermitted(&aa.authInfo, r.Key, r.RangeEnd); err != nil {\n\t\treturn nil, err\n\t}\n\tif r.PrevKv {\n\t\terr := aa.as.IsRangePermitted(&aa.authInfo, r.Key, r.RangeEnd)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\n\treturn aa.applierV3.DeleteRange(txn, r)\n}\n\nfunc checkTxnReqsPermission(as auth.AuthStore, ai *auth.AuthInfo, reqs []*pb.RequestOp) error {\n\tfor _, requ := range reqs {\n\t\tswitch tv := requ.Request.(type) {\n\t\tcase *pb.RequestOp_RequestRange:\n\t\t\tif tv.RequestRange == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tif err := as.IsRangePermitted(ai, tv.RequestRange.Key, tv.RequestRange.RangeEnd); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\tcase *pb.RequestOp_RequestPut:\n\t\t\tif tv.RequestPut == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tif err := as.IsPutPermitted(ai, tv.RequestPut.Key); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\tcase *pb.RequestOp_RequestDeleteRange:\n\t\t\tif tv.RequestDeleteRange == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tif tv.RequestDeleteRange.PrevKv {\n\t\t\t\terr := as.IsRangePermitted(ai, tv.RequestDeleteRange.Key, tv.RequestDeleteRange.RangeEnd)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\n\t\t\terr := as.IsDeleteRangePermitted(ai, tv.RequestDeleteRange.Key, tv.RequestDeleteRange.RangeEnd)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc checkTxnAuth(as auth.AuthStore, ai *auth.AuthInfo, rt *pb.TxnRequest) error {\n\tfor _, c := range rt.Compare {\n\t\tif err := as.IsRangePermitted(ai, c.Key, c.RangeEnd); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tif err := checkTxnReqsPermission(as, ai, rt.Success); err != nil {\n\t\treturn err\n\t}\n\tif err := checkTxnReqsPermission(as, ai, rt.Failure); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc (aa *authApplierV3) Txn(rt *pb.TxnRequest) (*pb.TxnResponse, error) {\n\tif err := checkTxnAuth(aa.as, &aa.authInfo, rt); err != nil {\n\t\treturn nil, err\n\t}\n\treturn aa.applierV3.Txn(rt)\n}\n\nfunc (aa *authApplierV3) LeaseRevoke(lc *pb.LeaseRevokeRequest) (*pb.LeaseRevokeResponse, error) {\n\tif err := aa.checkLeasePuts(lease.LeaseID(lc.ID)); err != nil {\n\t\treturn nil, err\n\t}\n\treturn aa.applierV3.LeaseRevoke(lc)\n}\n\nfunc (aa *authApplierV3) checkLeasePuts(leaseID lease.LeaseID) error {\n\tlease := aa.lessor.Lookup(leaseID)\n\tif lease != nil {\n\t\tfor _, key := range lease.Keys() {\n\t\t\tif err := aa.as.IsPutPermitted(&aa.authInfo, []byte(key)); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc (aa *authApplierV3) UserGet(r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error) {\n\terr := aa.as.IsAdminPermitted(&aa.authInfo)\n\tif err != nil && r.Name != aa.authInfo.Username {\n\t\taa.authInfo.Username = \"\"\n\t\taa.authInfo.Revision = 0\n\t\treturn &pb.AuthUserGetResponse{}, err\n\t}\n\n\treturn aa.applierV3.UserGet(r)\n}\n\nfunc (aa *authApplierV3) RoleGet(r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error) {\n\terr := aa.as.IsAdminPermitted(&aa.authInfo)\n\tif err != nil && !aa.as.HasRole(aa.authInfo.Username, r.Role) {\n\t\taa.authInfo.Username = \"\"\n\t\taa.authInfo.Revision = 0\n\t\treturn &pb.AuthRoleGetResponse{}, err\n\t}\n\n\treturn aa.applierV3.RoleGet(r)\n}\n\nfunc needAdminPermission(r *pb.InternalRaftRequest) bool {\n\tswitch {\n\tcase r.AuthEnable != nil:\n\t\treturn true\n\tcase r.AuthDisable != nil:\n\t\treturn true\n\tcase r.AuthUserAdd != nil:\n\t\treturn true\n\tcase r.AuthUserDelete != nil:\n\t\treturn true\n\tcase r.AuthUserChangePassword != nil:\n\t\treturn true\n\tcase r.AuthUserGrantRole != nil:\n\t\treturn true\n\tcase r.AuthUserRevokeRole != nil:\n\t\treturn true\n\tcase r.AuthRoleAdd != nil:\n\t\treturn true\n\tcase r.AuthRoleGrantPermission != nil:\n\t\treturn true\n\tcase r.AuthRoleRevokePermission != nil:\n\t\treturn true\n\tcase r.AuthRoleDelete != nil:\n\t\treturn true\n\tcase r.AuthUserList != nil:\n\t\treturn true\n\tcase r.AuthRoleList != nil:\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/apply_v2.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"encoding/json\"\n\t\"path\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/etcdserver/api\"\n\t\"github.com/coreos/etcd/etcdserver/api/membership\"\n\t\"github.com/coreos/etcd/etcdserver/api/v2store\"\n\t\"github.com/coreos/etcd/pkg/pbutil\"\n\n\t\"github.com/coreos/go-semver/semver\"\n\t\"go.uber.org/zap\"\n)\n\n// ApplierV2 is the interface for processing V2 raft messages\ntype ApplierV2 interface {\n\tDelete(r *RequestV2) Response\n\tPost(r *RequestV2) Response\n\tPut(r *RequestV2) Response\n\tQGet(r *RequestV2) Response\n\tSync(r *RequestV2) Response\n}\n\nfunc NewApplierV2(lg *zap.Logger, s v2store.Store, c *membership.RaftCluster) ApplierV2 {\n\treturn &applierV2store{store: s, cluster: c}\n}\n\ntype applierV2store struct {\n\tlg      *zap.Logger\n\tstore   v2store.Store\n\tcluster *membership.RaftCluster\n}\n\nfunc (a *applierV2store) Delete(r *RequestV2) Response {\n\tswitch {\n\tcase r.PrevIndex > 0 || r.PrevValue != \"\":\n\t\treturn toResponse(a.store.CompareAndDelete(r.Path, r.PrevValue, r.PrevIndex))\n\tdefault:\n\t\treturn toResponse(a.store.Delete(r.Path, r.Dir, r.Recursive))\n\t}\n}\n\nfunc (a *applierV2store) Post(r *RequestV2) Response {\n\treturn toResponse(a.store.Create(r.Path, r.Dir, r.Val, true, r.TTLOptions()))\n}\n\nfunc (a *applierV2store) Put(r *RequestV2) Response {\n\tttlOptions := r.TTLOptions()\n\texists, existsSet := pbutil.GetBool(r.PrevExist)\n\tswitch {\n\tcase existsSet:\n\t\tif exists {\n\t\t\tif r.PrevIndex == 0 && r.PrevValue == \"\" {\n\t\t\t\treturn toResponse(a.store.Update(r.Path, r.Val, ttlOptions))\n\t\t\t}\n\t\t\treturn toResponse(a.store.CompareAndSwap(r.Path, r.PrevValue, r.PrevIndex, r.Val, ttlOptions))\n\t\t}\n\t\treturn toResponse(a.store.Create(r.Path, r.Dir, r.Val, false, ttlOptions))\n\tcase r.PrevIndex > 0 || r.PrevValue != \"\":\n\t\treturn toResponse(a.store.CompareAndSwap(r.Path, r.PrevValue, r.PrevIndex, r.Val, ttlOptions))\n\tdefault:\n\t\tif storeMemberAttributeRegexp.MatchString(r.Path) {\n\t\t\tid := membership.MustParseMemberIDFromKey(path.Dir(r.Path))\n\t\t\tvar attr membership.Attributes\n\t\t\tif err := json.Unmarshal([]byte(r.Val), &attr); err != nil {\n\t\t\t\tif a.lg != nil {\n\t\t\t\t\ta.lg.Panic(\"failed to unmarshal\", zap.String(\"value\", r.Val), zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Panicf(\"unmarshal %s should never fail: %v\", r.Val, err)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif a.cluster != nil {\n\t\t\t\ta.cluster.UpdateAttributes(id, attr)\n\t\t\t}\n\t\t\t// return an empty response since there is no consumer.\n\t\t\treturn Response{}\n\t\t}\n\t\tif r.Path == membership.StoreClusterVersionKey() {\n\t\t\tif a.cluster != nil {\n\t\t\t\ta.cluster.SetVersion(semver.Must(semver.NewVersion(r.Val)), api.UpdateCapability)\n\t\t\t}\n\t\t\t// return an empty response since there is no consumer.\n\t\t\treturn Response{}\n\t\t}\n\t\treturn toResponse(a.store.Set(r.Path, r.Dir, r.Val, ttlOptions))\n\t}\n}\n\nfunc (a *applierV2store) QGet(r *RequestV2) Response {\n\treturn toResponse(a.store.Get(r.Path, r.Recursive, r.Sorted))\n}\n\nfunc (a *applierV2store) Sync(r *RequestV2) Response {\n\ta.store.DeleteExpiredKeys(time.Unix(0, r.Time))\n\treturn Response{}\n}\n\n// applyV2Request interprets r as a call to v2store.X\n// and returns a Response interpreted from v2store.Event\nfunc (s *EtcdServer) applyV2Request(r *RequestV2) Response {\n\tdefer warnOfExpensiveRequest(s.getLogger(), time.Now(), r, nil, nil)\n\n\tswitch r.Method {\n\tcase \"POST\":\n\t\treturn s.applyV2.Post(r)\n\tcase \"PUT\":\n\t\treturn s.applyV2.Put(r)\n\tcase \"DELETE\":\n\t\treturn s.applyV2.Delete(r)\n\tcase \"QGET\":\n\t\treturn s.applyV2.QGet(r)\n\tcase \"SYNC\":\n\t\treturn s.applyV2.Sync(r)\n\tdefault:\n\t\t// This should never be reached, but just in case:\n\t\treturn Response{Err: ErrUnknownMethod}\n\t}\n}\n\nfunc (r *RequestV2) TTLOptions() v2store.TTLOptionSet {\n\trefresh, _ := pbutil.GetBool(r.Refresh)\n\tttlOptions := v2store.TTLOptionSet{Refresh: refresh}\n\tif r.Expiration != 0 {\n\t\tttlOptions.ExpireTime = time.Unix(0, r.Expiration)\n\t}\n\treturn ttlOptions\n}\n\nfunc toResponse(ev *v2store.Event, err error) Response {\n\treturn Response{Event: ev, Err: err}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/backend.go",
    "content": "// Copyright 2017 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/etcdserver/api/snap\"\n\t\"github.com/coreos/etcd/lease\"\n\t\"github.com/coreos/etcd/mvcc\"\n\t\"github.com/coreos/etcd/mvcc/backend\"\n\t\"github.com/coreos/etcd/raft/raftpb\"\n\n\t\"go.uber.org/zap\"\n)\n\nfunc newBackend(cfg ServerConfig) backend.Backend {\n\tbcfg := backend.DefaultBackendConfig()\n\tbcfg.Path = cfg.backendPath()\n\tbcfg.Logger = cfg.Logger\n\tif cfg.QuotaBackendBytes > 0 && cfg.QuotaBackendBytes != DefaultQuotaBytes {\n\t\t// permit 10% excess over quota for disarm\n\t\tbcfg.MmapSize = uint64(cfg.QuotaBackendBytes + cfg.QuotaBackendBytes/10)\n\t}\n\treturn backend.New(bcfg)\n}\n\n// openSnapshotBackend renames a snapshot db to the current etcd db and opens it.\nfunc openSnapshotBackend(cfg ServerConfig, ss *snap.Snapshotter, snapshot raftpb.Snapshot) (backend.Backend, error) {\n\tsnapPath, err := ss.DBFilePath(snapshot.Metadata.Index)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to find database snapshot file (%v)\", err)\n\t}\n\tif err := os.Rename(snapPath, cfg.backendPath()); err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to rename database snapshot file (%v)\", err)\n\t}\n\treturn openBackend(cfg), nil\n}\n\n// openBackend returns a backend using the current etcd db.\nfunc openBackend(cfg ServerConfig) backend.Backend {\n\tfn := cfg.backendPath()\n\n\tnow, beOpened := time.Now(), make(chan backend.Backend)\n\tgo func() {\n\t\tbeOpened <- newBackend(cfg)\n\t}()\n\n\tselect {\n\tcase be := <-beOpened:\n\t\tif cfg.Logger != nil {\n\t\t\tcfg.Logger.Info(\"opened backend db\", zap.String(\"path\", fn), zap.Duration(\"took\", time.Since(now)))\n\t\t}\n\t\treturn be\n\n\tcase <-time.After(10 * time.Second):\n\t\tif cfg.Logger != nil {\n\t\t\tcfg.Logger.Info(\n\t\t\t\t\"db file is flocked by another process, or taking too long\",\n\t\t\t\tzap.String(\"path\", fn),\n\t\t\t\tzap.Duration(\"took\", time.Since(now)),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Warningf(\"another etcd process is using %q and holds the file lock, or loading backend file is taking >10 seconds\", fn)\n\t\t\tplog.Warningf(\"waiting for it to exit before starting...\")\n\t\t}\n\t}\n\n\treturn <-beOpened\n}\n\n// recoverBackendSnapshot recovers the DB from a snapshot in case etcd crashes\n// before updating the backend db after persisting raft snapshot to disk,\n// violating the invariant snapshot.Metadata.Index < db.consistentIndex. In this\n// case, replace the db with the snapshot db sent by the leader.\nfunc recoverSnapshotBackend(cfg ServerConfig, oldbe backend.Backend, snapshot raftpb.Snapshot) (backend.Backend, error) {\n\tvar cIndex consistentIndex\n\tkv := mvcc.New(cfg.Logger, oldbe, &lease.FakeLessor{}, &cIndex)\n\tdefer kv.Close()\n\tif snapshot.Metadata.Index <= kv.ConsistentIndex() {\n\t\treturn oldbe, nil\n\t}\n\toldbe.Close()\n\treturn openSnapshotBackend(cfg, snap.New(cfg.Logger, cfg.SnapDir()), snapshot)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/cluster_util.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"net/http\"\n\t\"sort\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/etcdserver/api/membership\"\n\t\"github.com/coreos/etcd/pkg/types\"\n\t\"github.com/coreos/etcd/version\"\n\n\t\"github.com/coreos/go-semver/semver\"\n\t\"go.uber.org/zap\"\n)\n\n// isMemberBootstrapped tries to check if the given member has been bootstrapped\n// in the given cluster.\nfunc isMemberBootstrapped(lg *zap.Logger, cl *membership.RaftCluster, member string, rt http.RoundTripper, timeout time.Duration) bool {\n\trcl, err := getClusterFromRemotePeers(lg, getRemotePeerURLs(cl, member), timeout, false, rt)\n\tif err != nil {\n\t\treturn false\n\t}\n\tid := cl.MemberByName(member).ID\n\tm := rcl.Member(id)\n\tif m == nil {\n\t\treturn false\n\t}\n\tif len(m.ClientURLs) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\n// GetClusterFromRemotePeers takes a set of URLs representing etcd peers, and\n// attempts to construct a Cluster by accessing the members endpoint on one of\n// these URLs. The first URL to provide a response is used. If no URLs provide\n// a response, or a Cluster cannot be successfully created from a received\n// response, an error is returned.\n// Each request has a 10-second timeout. Because the upper limit of TTL is 5s,\n// 10 second is enough for building connection and finishing request.\nfunc GetClusterFromRemotePeers(lg *zap.Logger, urls []string, rt http.RoundTripper) (*membership.RaftCluster, error) {\n\treturn getClusterFromRemotePeers(lg, urls, 10*time.Second, true, rt)\n}\n\n// If logerr is true, it prints out more error messages.\nfunc getClusterFromRemotePeers(lg *zap.Logger, urls []string, timeout time.Duration, logerr bool, rt http.RoundTripper) (*membership.RaftCluster, error) {\n\tcc := &http.Client{\n\t\tTransport: rt,\n\t\tTimeout:   timeout,\n\t}\n\tfor _, u := range urls {\n\t\taddr := u + \"/members\"\n\t\tresp, err := cc.Get(addr)\n\t\tif err != nil {\n\t\t\tif logerr {\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Warn(\"failed to get cluster response\", zap.String(\"address\", addr), zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Warningf(\"could not get cluster response from %s: %v\", u, err)\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tb, err := ioutil.ReadAll(resp.Body)\n\t\tresp.Body.Close()\n\t\tif err != nil {\n\t\t\tif logerr {\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Warn(\"failed to read body of cluster response\", zap.String(\"address\", addr), zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Warningf(\"could not read the body of cluster response: %v\", err)\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tvar membs []*membership.Member\n\t\tif err = json.Unmarshal(b, &membs); err != nil {\n\t\t\tif logerr {\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Warn(\"failed to unmarshal cluster response\", zap.String(\"address\", addr), zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Warningf(\"could not unmarshal cluster response: %v\", err)\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tid, err := types.IDFromString(resp.Header.Get(\"X-Etcd-Cluster-ID\"))\n\t\tif err != nil {\n\t\t\tif logerr {\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Warn(\n\t\t\t\t\t\t\"failed to parse cluster ID\",\n\t\t\t\t\t\tzap.String(\"address\", addr),\n\t\t\t\t\t\tzap.String(\"header\", resp.Header.Get(\"X-Etcd-Cluster-ID\")),\n\t\t\t\t\t\tzap.Error(err),\n\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\tplog.Warningf(\"could not parse the cluster ID from cluster res: %v\", err)\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// check the length of membership members\n\t\t// if the membership members are present then prepare and return raft cluster\n\t\t// if membership members are not present then the raft cluster formed will be\n\t\t// an invalid empty cluster hence return failed to get raft cluster member(s) from the given urls error\n\t\tif len(membs) > 0 {\n\t\t\treturn membership.NewClusterFromMembers(lg, \"\", id, membs), nil\n\t\t}\n\t\treturn nil, fmt.Errorf(\"failed to get raft cluster member(s) from the given URLs\")\n\t}\n\treturn nil, fmt.Errorf(\"could not retrieve cluster information from the given URLs\")\n}\n\n// getRemotePeerURLs returns peer urls of remote members in the cluster. The\n// returned list is sorted in ascending lexicographical order.\nfunc getRemotePeerURLs(cl *membership.RaftCluster, local string) []string {\n\tus := make([]string, 0)\n\tfor _, m := range cl.Members() {\n\t\tif m.Name == local {\n\t\t\tcontinue\n\t\t}\n\t\tus = append(us, m.PeerURLs...)\n\t}\n\tsort.Strings(us)\n\treturn us\n}\n\n// getVersions returns the versions of the members in the given cluster.\n// The key of the returned map is the member's ID. The value of the returned map\n// is the semver versions string, including server and cluster.\n// If it fails to get the version of a member, the key will be nil.\nfunc getVersions(lg *zap.Logger, cl *membership.RaftCluster, local types.ID, rt http.RoundTripper) map[string]*version.Versions {\n\tmembers := cl.Members()\n\tvers := make(map[string]*version.Versions)\n\tfor _, m := range members {\n\t\tif m.ID == local {\n\t\t\tcv := \"not_decided\"\n\t\t\tif cl.Version() != nil {\n\t\t\t\tcv = cl.Version().String()\n\t\t\t}\n\t\t\tvers[m.ID.String()] = &version.Versions{Server: version.Version, Cluster: cv}\n\t\t\tcontinue\n\t\t}\n\t\tver, err := getVersion(lg, m, rt)\n\t\tif err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\"failed to get version\", zap.String(\"remote-peer-id\", m.ID.String()), zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"cannot get the version of member %s (%v)\", m.ID, err)\n\t\t\t}\n\t\t\tvers[m.ID.String()] = nil\n\t\t} else {\n\t\t\tvers[m.ID.String()] = ver\n\t\t}\n\t}\n\treturn vers\n}\n\n// decideClusterVersion decides the cluster version based on the versions map.\n// The returned version is the min server version in the map, or nil if the min\n// version in unknown.\nfunc decideClusterVersion(lg *zap.Logger, vers map[string]*version.Versions) *semver.Version {\n\tvar cv *semver.Version\n\tlv := semver.Must(semver.NewVersion(version.Version))\n\n\tfor mid, ver := range vers {\n\t\tif ver == nil {\n\t\t\treturn nil\n\t\t}\n\t\tv, err := semver.NewVersion(ver.Server)\n\t\tif err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"failed to parse server version of remote member\",\n\t\t\t\t\tzap.String(\"remote-peer-id\", mid),\n\t\t\t\t\tzap.String(\"remote-peer-version\", ver.Server),\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"cannot understand the version of member %s (%v)\", mid, err)\n\t\t\t}\n\t\t\treturn nil\n\t\t}\n\t\tif lv.LessThan(*v) {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"local etcd version is not up-to-date\",\n\t\t\t\t\tzap.String(\"local-member-version\", lv.String()),\n\t\t\t\t\tzap.String(\"remote-peer-id\", mid),\n\t\t\t\t\tzap.String(\"remote-peer-version\", ver.Server),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"the local etcd version %s is not up-to-date\", lv.String())\n\t\t\t\tplog.Warningf(\"member %s has a higher version %s\", mid, ver.Server)\n\t\t\t}\n\t\t}\n\t\tif cv == nil {\n\t\t\tcv = v\n\t\t} else if v.LessThan(*cv) {\n\t\t\tcv = v\n\t\t}\n\t}\n\treturn cv\n}\n\n// isCompatibleWithCluster return true if the local member has a compatible version with\n// the current running cluster.\n// The version is considered as compatible when at least one of the other members in the cluster has a\n// cluster version in the range of [MinClusterVersion, Version] and no known members has a cluster version\n// out of the range.\n// We set this rule since when the local member joins, another member might be offline.\nfunc isCompatibleWithCluster(lg *zap.Logger, cl *membership.RaftCluster, local types.ID, rt http.RoundTripper) bool {\n\tvers := getVersions(lg, cl, local, rt)\n\tminV := semver.Must(semver.NewVersion(version.MinClusterVersion))\n\tmaxV := semver.Must(semver.NewVersion(version.Version))\n\tmaxV = &semver.Version{\n\t\tMajor: maxV.Major,\n\t\tMinor: maxV.Minor,\n\t}\n\treturn isCompatibleWithVers(lg, vers, local, minV, maxV)\n}\n\nfunc isCompatibleWithVers(lg *zap.Logger, vers map[string]*version.Versions, local types.ID, minV, maxV *semver.Version) bool {\n\tvar ok bool\n\tfor id, v := range vers {\n\t\t// ignore comparison with local version\n\t\tif id == local.String() {\n\t\t\tcontinue\n\t\t}\n\t\tif v == nil {\n\t\t\tcontinue\n\t\t}\n\t\tclusterv, err := semver.NewVersion(v.Cluster)\n\t\tif err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"failed to parse cluster version of remote member\",\n\t\t\t\t\tzap.String(\"remote-peer-id\", id),\n\t\t\t\t\tzap.String(\"remote-peer-cluster-version\", v.Cluster),\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"cannot understand the cluster version of member %s (%v)\", id, err)\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif clusterv.LessThan(*minV) {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"cluster version of remote member is not compatible; too low\",\n\t\t\t\t\tzap.String(\"remote-peer-id\", id),\n\t\t\t\t\tzap.String(\"remote-peer-cluster-version\", clusterv.String()),\n\t\t\t\t\tzap.String(\"minimum-cluster-version-supported\", minV.String()),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"the running cluster version(%v) is lower than the minimal cluster version(%v) supported\", clusterv.String(), minV.String())\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\t\tif maxV.LessThan(*clusterv) {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"cluster version of remote member is not compatible; too high\",\n\t\t\t\t\tzap.String(\"remote-peer-id\", id),\n\t\t\t\t\tzap.String(\"remote-peer-cluster-version\", clusterv.String()),\n\t\t\t\t\tzap.String(\"minimum-cluster-version-supported\", minV.String()),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"the running cluster version(%v) is higher than the maximum cluster version(%v) supported\", clusterv.String(), maxV.String())\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\t\tok = true\n\t}\n\treturn ok\n}\n\n// getVersion returns the Versions of the given member via its\n// peerURLs. Returns the last error if it fails to get the version.\nfunc getVersion(lg *zap.Logger, m *membership.Member, rt http.RoundTripper) (*version.Versions, error) {\n\tcc := &http.Client{\n\t\tTransport: rt,\n\t}\n\tvar (\n\t\terr  error\n\t\tresp *http.Response\n\t)\n\n\tfor _, u := range m.PeerURLs {\n\t\taddr := u + \"/version\"\n\t\tresp, err = cc.Get(addr)\n\t\tif err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"failed to reach the peer URL\",\n\t\t\t\t\tzap.String(\"address\", addr),\n\t\t\t\t\tzap.String(\"remote-peer-id\", m.ID.String()),\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"failed to reach the peerURL(%s) of member %s (%v)\", u, m.ID, err)\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tvar b []byte\n\t\tb, err = ioutil.ReadAll(resp.Body)\n\t\tresp.Body.Close()\n\t\tif err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"failed to read body of response\",\n\t\t\t\t\tzap.String(\"address\", addr),\n\t\t\t\t\tzap.String(\"remote-peer-id\", m.ID.String()),\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"failed to read out the response body from the peerURL(%s) of member %s (%v)\", u, m.ID, err)\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tvar vers version.Versions\n\t\tif err = json.Unmarshal(b, &vers); err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"failed to unmarshal response\",\n\t\t\t\t\tzap.String(\"address\", addr),\n\t\t\t\t\tzap.String(\"remote-peer-id\", m.ID.String()),\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"failed to unmarshal the response body got from the peerURL(%s) of member %s (%v)\", u, m.ID, err)\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\treturn &vers, nil\n\t}\n\treturn nil, err\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/config.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"path/filepath\"\n\t\"sort\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/pkg/netutil\"\n\t\"github.com/coreos/etcd/pkg/transport\"\n\t\"github.com/coreos/etcd/pkg/types\"\n\n\t\"go.uber.org/zap\"\n\t\"go.uber.org/zap/zapcore\"\n)\n\n// ServerConfig holds the configuration of etcd as taken from the command line or discovery.\ntype ServerConfig struct {\n\tName           string\n\tDiscoveryURL   string\n\tDiscoveryProxy string\n\tClientURLs     types.URLs\n\tPeerURLs       types.URLs\n\tDataDir        string\n\t// DedicatedWALDir config will make the etcd to write the WAL to the WALDir\n\t// rather than the dataDir/member/wal.\n\tDedicatedWALDir string\n\n\tSnapshotCount uint64\n\n\t// SnapshotCatchUpEntries is the number of entries for a slow follower\n\t// to catch-up after compacting the raft storage entries.\n\t// We expect the follower has a millisecond level latency with the leader.\n\t// The max throughput is around 10K. Keep a 5K entries is enough for helping\n\t// follower to catch up.\n\t// WARNING: only change this for tests. Always use \"DefaultSnapshotCatchUpEntries\"\n\tSnapshotCatchUpEntries uint64\n\n\tMaxSnapFiles uint\n\tMaxWALFiles  uint\n\n\tInitialPeerURLsMap  types.URLsMap\n\tInitialClusterToken string\n\tNewCluster          bool\n\tPeerTLSInfo         transport.TLSInfo\n\n\tCORS map[string]struct{}\n\n\t// HostWhitelist lists acceptable hostnames from client requests.\n\t// If server is insecure (no TLS), server only accepts requests\n\t// whose Host header value exists in this white list.\n\tHostWhitelist map[string]struct{}\n\n\tTickMs        uint\n\tElectionTicks int\n\n\t// InitialElectionTickAdvance is true, then local member fast-forwards\n\t// election ticks to speed up \"initial\" leader election trigger. This\n\t// benefits the case of larger election ticks. For instance, cross\n\t// datacenter deployment may require longer election timeout of 10-second.\n\t// If true, local node does not need wait up to 10-second. Instead,\n\t// forwards its election ticks to 8-second, and have only 2-second left\n\t// before leader election.\n\t//\n\t// Major assumptions are that:\n\t//  - cluster has no active leader thus advancing ticks enables faster\n\t//    leader election, or\n\t//  - cluster already has an established leader, and rejoining follower\n\t//    is likely to receive heartbeats from the leader after tick advance\n\t//    and before election timeout.\n\t//\n\t// However, when network from leader to rejoining follower is congested,\n\t// and the follower does not receive leader heartbeat within left election\n\t// ticks, disruptive election has to happen thus affecting cluster\n\t// availabilities.\n\t//\n\t// Disabling this would slow down initial bootstrap process for cross\n\t// datacenter deployments. Make your own tradeoffs by configuring\n\t// --initial-election-tick-advance at the cost of slow initial bootstrap.\n\t//\n\t// If single-node, it advances ticks regardless.\n\t//\n\t// See https://github.com/coreos/etcd/issues/9333 for more detail.\n\tInitialElectionTickAdvance bool\n\n\tBootstrapTimeout time.Duration\n\n\tAutoCompactionRetention time.Duration\n\tAutoCompactionMode      string\n\tQuotaBackendBytes       int64\n\tMaxTxnOps               uint\n\n\t// MaxRequestBytes is the maximum request size to send over raft.\n\tMaxRequestBytes uint\n\n\tStrictReconfigCheck bool\n\n\t// ClientCertAuthEnabled is true when cert has been signed by the client CA.\n\tClientCertAuthEnabled bool\n\n\tAuthToken  string\n\tBcryptCost uint\n\n\t// InitialCorruptCheck is true to check data corruption on boot\n\t// before serving any peer/client traffic.\n\tInitialCorruptCheck bool\n\tCorruptCheckTime    time.Duration\n\n\t// PreVote is true to enable Raft Pre-Vote.\n\tPreVote bool\n\n\t// Logger logs server-side operations.\n\t// If not nil, it disables \"capnslog\" and uses the given logger.\n\tLogger *zap.Logger\n\n\t// LoggerConfig is server logger configuration for Raft logger.\n\t// Must be either: \"LoggerConfig != nil\" or \"LoggerCore != nil && LoggerWriteSyncer != nil\".\n\tLoggerConfig *zap.Config\n\t// LoggerCore is \"zapcore.Core\" for raft logger.\n\t// Must be either: \"LoggerConfig != nil\" or \"LoggerCore != nil && LoggerWriteSyncer != nil\".\n\tLoggerCore        zapcore.Core\n\tLoggerWriteSyncer zapcore.WriteSyncer\n\n\tDebug bool\n\n\tForceNewCluster bool\n}\n\n// VerifyBootstrap sanity-checks the initial config for bootstrap case\n// and returns an error for things that should never happen.\nfunc (c *ServerConfig) VerifyBootstrap() error {\n\tif err := c.hasLocalMember(); err != nil {\n\t\treturn err\n\t}\n\tif err := c.advertiseMatchesCluster(); err != nil {\n\t\treturn err\n\t}\n\tif checkDuplicateURL(c.InitialPeerURLsMap) {\n\t\treturn fmt.Errorf(\"initial cluster %s has duplicate url\", c.InitialPeerURLsMap)\n\t}\n\tif c.InitialPeerURLsMap.String() == \"\" && c.DiscoveryURL == \"\" {\n\t\treturn fmt.Errorf(\"initial cluster unset and no discovery URL found\")\n\t}\n\treturn nil\n}\n\n// VerifyJoinExisting sanity-checks the initial config for join existing cluster\n// case and returns an error for things that should never happen.\nfunc (c *ServerConfig) VerifyJoinExisting() error {\n\t// The member has announced its peer urls to the cluster before starting; no need to\n\t// set the configuration again.\n\tif err := c.hasLocalMember(); err != nil {\n\t\treturn err\n\t}\n\tif checkDuplicateURL(c.InitialPeerURLsMap) {\n\t\treturn fmt.Errorf(\"initial cluster %s has duplicate url\", c.InitialPeerURLsMap)\n\t}\n\tif c.DiscoveryURL != \"\" {\n\t\treturn fmt.Errorf(\"discovery URL should not be set when joining existing initial cluster\")\n\t}\n\treturn nil\n}\n\n// hasLocalMember checks that the cluster at least contains the local server.\nfunc (c *ServerConfig) hasLocalMember() error {\n\tif urls := c.InitialPeerURLsMap[c.Name]; urls == nil {\n\t\treturn fmt.Errorf(\"couldn't find local name %q in the initial cluster configuration\", c.Name)\n\t}\n\treturn nil\n}\n\n// advertiseMatchesCluster confirms peer URLs match those in the cluster peer list.\nfunc (c *ServerConfig) advertiseMatchesCluster() error {\n\turls, apurls := c.InitialPeerURLsMap[c.Name], c.PeerURLs.StringSlice()\n\turls.Sort()\n\tsort.Strings(apurls)\n\tctx, cancel := context.WithTimeout(context.TODO(), 30*time.Second)\n\tdefer cancel()\n\tok, err := netutil.URLStringsEqual(ctx, c.Logger, apurls, urls.StringSlice())\n\tif ok {\n\t\treturn nil\n\t}\n\n\tinitMap, apMap := make(map[string]struct{}), make(map[string]struct{})\n\tfor _, url := range c.PeerURLs {\n\t\tapMap[url.String()] = struct{}{}\n\t}\n\tfor _, url := range c.InitialPeerURLsMap[c.Name] {\n\t\tinitMap[url.String()] = struct{}{}\n\t}\n\n\tmissing := []string{}\n\tfor url := range initMap {\n\t\tif _, ok := apMap[url]; !ok {\n\t\t\tmissing = append(missing, url)\n\t\t}\n\t}\n\tif len(missing) > 0 {\n\t\tfor i := range missing {\n\t\t\tmissing[i] = c.Name + \"=\" + missing[i]\n\t\t}\n\t\tmstr := strings.Join(missing, \",\")\n\t\tapStr := strings.Join(apurls, \",\")\n\t\treturn fmt.Errorf(\"--initial-cluster has %s but missing from --initial-advertise-peer-urls=%s (%v)\", mstr, apStr, err)\n\t}\n\n\tfor url := range apMap {\n\t\tif _, ok := initMap[url]; !ok {\n\t\t\tmissing = append(missing, url)\n\t\t}\n\t}\n\tif len(missing) > 0 {\n\t\tmstr := strings.Join(missing, \",\")\n\t\tumap := types.URLsMap(map[string]types.URLs{c.Name: c.PeerURLs})\n\t\treturn fmt.Errorf(\"--initial-advertise-peer-urls has %s but missing from --initial-cluster=%s\", mstr, umap.String())\n\t}\n\n\t// resolved URLs from \"--initial-advertise-peer-urls\" and \"--initial-cluster\" did not match or failed\n\tapStr := strings.Join(apurls, \",\")\n\tumap := types.URLsMap(map[string]types.URLs{c.Name: c.PeerURLs})\n\treturn fmt.Errorf(\"failed to resolve %s to match --initial-cluster=%s (%v)\", apStr, umap.String(), err)\n}\n\nfunc (c *ServerConfig) MemberDir() string { return filepath.Join(c.DataDir, \"member\") }\n\nfunc (c *ServerConfig) WALDir() string {\n\tif c.DedicatedWALDir != \"\" {\n\t\treturn c.DedicatedWALDir\n\t}\n\treturn filepath.Join(c.MemberDir(), \"wal\")\n}\n\nfunc (c *ServerConfig) SnapDir() string { return filepath.Join(c.MemberDir(), \"snap\") }\n\nfunc (c *ServerConfig) ShouldDiscover() bool { return c.DiscoveryURL != \"\" }\n\n// ReqTimeout returns timeout for request to finish.\nfunc (c *ServerConfig) ReqTimeout() time.Duration {\n\t// 5s for queue waiting, computation and disk IO delay\n\t// + 2 * election timeout for possible leader election\n\treturn 5*time.Second + 2*time.Duration(c.ElectionTicks*int(c.TickMs))*time.Millisecond\n}\n\nfunc (c *ServerConfig) electionTimeout() time.Duration {\n\treturn time.Duration(c.ElectionTicks*int(c.TickMs)) * time.Millisecond\n}\n\nfunc (c *ServerConfig) peerDialTimeout() time.Duration {\n\t// 1s for queue wait and election timeout\n\treturn time.Second + time.Duration(c.ElectionTicks*int(c.TickMs))*time.Millisecond\n}\n\nfunc (c *ServerConfig) PrintWithInitial() { c.print(true) }\n\nfunc (c *ServerConfig) Print() { c.print(false) }\n\nfunc (c *ServerConfig) print(initial bool) {\n\t// TODO: remove this after dropping \"capnslog\"\n\tif c.Logger == nil {\n\t\tplog.Infof(\"name = %s\", c.Name)\n\t\tif c.ForceNewCluster {\n\t\t\tplog.Infof(\"force new cluster\")\n\t\t}\n\t\tplog.Infof(\"data dir = %s\", c.DataDir)\n\t\tplog.Infof(\"member dir = %s\", c.MemberDir())\n\t\tif c.DedicatedWALDir != \"\" {\n\t\t\tplog.Infof(\"dedicated WAL dir = %s\", c.DedicatedWALDir)\n\t\t}\n\t\tplog.Infof(\"heartbeat = %dms\", c.TickMs)\n\t\tplog.Infof(\"election = %dms\", c.ElectionTicks*int(c.TickMs))\n\t\tplog.Infof(\"snapshot count = %d\", c.SnapshotCount)\n\t\tif len(c.DiscoveryURL) != 0 {\n\t\t\tplog.Infof(\"discovery URL= %s\", c.DiscoveryURL)\n\t\t\tif len(c.DiscoveryProxy) != 0 {\n\t\t\t\tplog.Infof(\"discovery proxy = %s\", c.DiscoveryProxy)\n\t\t\t}\n\t\t}\n\t\tplog.Infof(\"advertise client URLs = %s\", c.ClientURLs)\n\t\tif initial {\n\t\t\tplog.Infof(\"initial advertise peer URLs = %s\", c.PeerURLs)\n\t\t\tplog.Infof(\"initial cluster = %s\", c.InitialPeerURLsMap)\n\t\t}\n\t} else {\n\t\tstate := \"new\"\n\t\tif !c.NewCluster {\n\t\t\tstate = \"existing\"\n\t\t}\n\t\tc.Logger.Info(\n\t\t\t\"server configuration\",\n\t\t\tzap.String(\"name\", c.Name),\n\t\t\tzap.String(\"data-dir\", c.DataDir),\n\t\t\tzap.String(\"member-dir\", c.MemberDir()),\n\t\t\tzap.String(\"dedicated-wal-dir\", c.DedicatedWALDir),\n\t\t\tzap.Bool(\"force-new-cluster\", c.ForceNewCluster),\n\t\t\tzap.String(\"heartbeat-interval\", fmt.Sprintf(\"%v\", time.Duration(c.TickMs)*time.Millisecond)),\n\t\t\tzap.String(\"election-timeout\", fmt.Sprintf(\"%v\", time.Duration(c.ElectionTicks*int(c.TickMs))*time.Millisecond)),\n\t\t\tzap.Bool(\"initial-election-tick-advance\", c.InitialElectionTickAdvance),\n\t\t\tzap.Uint64(\"snapshot-count\", c.SnapshotCount),\n\t\t\tzap.Uint64(\"snapshot-catchup-entries\", c.SnapshotCatchUpEntries),\n\t\t\tzap.Strings(\"advertise-client-urls\", c.getACURLs()),\n\t\t\tzap.Strings(\"initial-advertise-peer-urls\", c.getAPURLs()),\n\t\t\tzap.Bool(\"initial\", initial),\n\t\t\tzap.String(\"initial-cluster\", c.InitialPeerURLsMap.String()),\n\t\t\tzap.String(\"initial-cluster-state\", state),\n\t\t\tzap.String(\"initial-cluster-token\", c.InitialClusterToken),\n\t\t\tzap.Bool(\"pre-vote\", c.PreVote),\n\t\t\tzap.Bool(\"initial-corrupt-check\", c.InitialCorruptCheck),\n\t\t\tzap.String(\"corrupt-check-time-interval\", c.CorruptCheckTime.String()),\n\t\t\tzap.String(\"auto-compaction-mode\", c.AutoCompactionMode),\n\t\t\tzap.Duration(\"auto-compaction-retention\", c.AutoCompactionRetention),\n\t\t\tzap.String(\"auto-compaction-interval\", c.AutoCompactionRetention.String()),\n\t\t\tzap.String(\"discovery-url\", c.DiscoveryURL),\n\t\t\tzap.String(\"discovery-proxy\", c.DiscoveryProxy),\n\t\t)\n\t}\n}\n\nfunc checkDuplicateURL(urlsmap types.URLsMap) bool {\n\tum := make(map[string]bool)\n\tfor _, urls := range urlsmap {\n\t\tfor _, url := range urls {\n\t\t\tu := url.String()\n\t\t\tif um[u] {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tum[u] = true\n\t\t}\n\t}\n\treturn false\n}\n\nfunc (c *ServerConfig) bootstrapTimeout() time.Duration {\n\tif c.BootstrapTimeout != 0 {\n\t\treturn c.BootstrapTimeout\n\t}\n\treturn time.Second\n}\n\nfunc (c *ServerConfig) backendPath() string { return filepath.Join(c.SnapDir(), \"db\") }\n\nfunc (c *ServerConfig) getAPURLs() (ss []string) {\n\tss = make([]string, len(c.PeerURLs))\n\tfor i := range c.PeerURLs {\n\t\tss[i] = c.PeerURLs[i].String()\n\t}\n\treturn ss\n}\n\nfunc (c *ServerConfig) getACURLs() (ss []string) {\n\tss = make([]string, len(c.ClientURLs))\n\tfor i := range c.ClientURLs {\n\t\tss[i] = c.ClientURLs[i].String()\n\t}\n\treturn ss\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/consistent_index.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"sync/atomic\"\n)\n\n// consistentIndex represents the offset of an entry in a consistent replica log.\n// It implements the mvcc.ConsistentIndexGetter interface.\n// It is always set to the offset of current entry before executing the entry,\n// so ConsistentWatchableKV could get the consistent index from it.\ntype consistentIndex uint64\n\nfunc (i *consistentIndex) setConsistentIndex(v uint64) {\n\tatomic.StoreUint64((*uint64)(i), v)\n}\n\nfunc (i *consistentIndex) ConsistentIndex() uint64 {\n\treturn atomic.LoadUint64((*uint64)(i))\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/corrupt.go",
    "content": "// Copyright 2017 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/clientv3\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/mvcc\"\n\t\"github.com/coreos/etcd/pkg/types\"\n\n\t\"go.uber.org/zap\"\n)\n\n// CheckInitialHashKV compares initial hash values with its peers\n// before serving any peer/client traffic. Only mismatch when hashes\n// are different at requested revision, with same compact revision.\nfunc (s *EtcdServer) CheckInitialHashKV() error {\n\tif !s.Cfg.InitialCorruptCheck {\n\t\treturn nil\n\t}\n\n\tlg := s.getLogger()\n\n\tif lg != nil {\n\t\tlg.Info(\n\t\t\t\"starting initial corruption check\",\n\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\tzap.Duration(\"timeout\", s.Cfg.ReqTimeout()),\n\t\t)\n\t} else {\n\t\tplog.Infof(\"%s starting initial corruption check with timeout %v...\", s.ID(), s.Cfg.ReqTimeout())\n\t}\n\n\th, rev, crev, err := s.kv.HashByRev(0)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"%s failed to fetch hash (%v)\", s.ID(), err)\n\t}\n\tpeers := s.getPeerHashKVs(rev)\n\tmismatch := 0\n\tfor _, p := range peers {\n\t\tif p.resp != nil {\n\t\t\tpeerID := types.ID(p.resp.Header.MemberId)\n\t\t\tfields := []zap.Field{\n\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\tzap.Int64(\"local-member-revision\", rev),\n\t\t\t\tzap.Int64(\"local-member-compact-revision\", crev),\n\t\t\t\tzap.Uint32(\"local-member-hash\", h),\n\t\t\t\tzap.String(\"remote-peer-id\", peerID.String()),\n\t\t\t\tzap.Strings(\"remote-peer-endpoints\", p.eps),\n\t\t\t\tzap.Int64(\"remote-peer-revision\", p.resp.Header.Revision),\n\t\t\t\tzap.Int64(\"remote-peer-compact-revision\", p.resp.CompactRevision),\n\t\t\t\tzap.Uint32(\"remote-peer-hash\", p.resp.Hash),\n\t\t\t}\n\n\t\t\tif h != p.resp.Hash {\n\t\t\t\tif crev == p.resp.CompactRevision {\n\t\t\t\t\tif lg != nil {\n\t\t\t\t\t\tlg.Warn(\"found different hash values from remote peer\", fields...)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tplog.Errorf(\"%s's hash %d != %s's hash %d (revision %d, peer revision %d, compact revision %d)\", s.ID(), h, peerID, p.resp.Hash, rev, p.resp.Header.Revision, crev)\n\t\t\t\t\t}\n\t\t\t\t\tmismatch++\n\t\t\t\t} else {\n\t\t\t\t\tif lg != nil {\n\t\t\t\t\t\tlg.Warn(\"found different compact revision values from remote peer\", fields...)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tplog.Warningf(\"%s cannot check hash of peer(%s): peer has a different compact revision %d (revision:%d)\", s.ID(), peerID, p.resp.CompactRevision, rev)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\tif p.err != nil {\n\t\t\tswitch p.err {\n\t\t\tcase rpctypes.ErrFutureRev:\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Warn(\n\t\t\t\t\t\t\"cannot fetch hash from slow remote peer\",\n\t\t\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\t\t\tzap.Int64(\"local-member-revision\", rev),\n\t\t\t\t\t\tzap.Int64(\"local-member-compact-revision\", crev),\n\t\t\t\t\t\tzap.Uint32(\"local-member-hash\", h),\n\t\t\t\t\t\tzap.String(\"remote-peer-id\", p.id.String()),\n\t\t\t\t\t\tzap.Strings(\"remote-peer-endpoints\", p.eps),\n\t\t\t\t\t\tzap.Error(err),\n\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\tplog.Warningf(\"%s cannot check the hash of peer(%q) at revision %d: peer is lagging behind(%q)\", s.ID(), p.eps, rev, p.err.Error())\n\t\t\t\t}\n\t\t\tcase rpctypes.ErrCompacted:\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Warn(\n\t\t\t\t\t\t\"cannot fetch hash from remote peer; local member is behind\",\n\t\t\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\t\t\tzap.Int64(\"local-member-revision\", rev),\n\t\t\t\t\t\tzap.Int64(\"local-member-compact-revision\", crev),\n\t\t\t\t\t\tzap.Uint32(\"local-member-hash\", h),\n\t\t\t\t\t\tzap.String(\"remote-peer-id\", p.id.String()),\n\t\t\t\t\t\tzap.Strings(\"remote-peer-endpoints\", p.eps),\n\t\t\t\t\t\tzap.Error(err),\n\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\tplog.Warningf(\"%s cannot check the hash of peer(%q) at revision %d: local node is lagging behind(%q)\", s.ID(), p.eps, rev, p.err.Error())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif mismatch > 0 {\n\t\treturn fmt.Errorf(\"%s found data inconsistency with peers\", s.ID())\n\t}\n\n\tif lg != nil {\n\t\tlg.Info(\n\t\t\t\"initial corruption checking passed; no corruption\",\n\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t)\n\t} else {\n\t\tplog.Infof(\"%s succeeded on initial corruption checking: no corruption\", s.ID())\n\t}\n\treturn nil\n}\n\nfunc (s *EtcdServer) monitorKVHash() {\n\tt := s.Cfg.CorruptCheckTime\n\tif t == 0 {\n\t\treturn\n\t}\n\n\tlg := s.getLogger()\n\tif lg != nil {\n\t\tlg.Info(\n\t\t\t\"enabled corruption checking\",\n\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\tzap.Duration(\"interval\", t),\n\t\t)\n\t} else {\n\t\tplog.Infof(\"enabled corruption checking with %s interval\", t)\n\t}\n\n\tfor {\n\t\tselect {\n\t\tcase <-s.stopping:\n\t\t\treturn\n\t\tcase <-time.After(t):\n\t\t}\n\t\tif !s.isLeader() {\n\t\t\tcontinue\n\t\t}\n\t\tif err := s.checkHashKV(); err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\"failed to check hash KV\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Debugf(\"check hash kv failed %v\", err)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (s *EtcdServer) checkHashKV() error {\n\tlg := s.getLogger()\n\n\th, rev, crev, err := s.kv.HashByRev(0)\n\tif err != nil {\n\t\treturn err\n\t}\n\tpeers := s.getPeerHashKVs(rev)\n\n\tctx, cancel := context.WithTimeout(context.Background(), s.Cfg.ReqTimeout())\n\terr = s.linearizableReadNotify(ctx)\n\tcancel()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\th2, rev2, crev2, err := s.kv.HashByRev(0)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\talarmed := false\n\tmismatch := func(id uint64) {\n\t\tif alarmed {\n\t\t\treturn\n\t\t}\n\t\talarmed = true\n\t\ta := &pb.AlarmRequest{\n\t\t\tMemberID: id,\n\t\t\tAction:   pb.AlarmRequest_ACTIVATE,\n\t\t\tAlarm:    pb.AlarmType_CORRUPT,\n\t\t}\n\t\ts.goAttach(func() {\n\t\t\ts.raftRequest(s.ctx, pb.InternalRaftRequest{Alarm: a})\n\t\t})\n\t}\n\n\tif h2 != h && rev2 == rev && crev == crev2 {\n\t\tif lg != nil {\n\t\t\tlg.Warn(\n\t\t\t\t\"found hash mismatch\",\n\t\t\t\tzap.Int64(\"revision-1\", rev),\n\t\t\t\tzap.Int64(\"compact-revision-1\", crev),\n\t\t\t\tzap.Uint32(\"hash-1\", h),\n\t\t\t\tzap.Int64(\"revision-2\", rev2),\n\t\t\t\tzap.Int64(\"compact-revision-2\", crev2),\n\t\t\t\tzap.Uint32(\"hash-2\", h2),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Warningf(\"mismatched hashes %d and %d for revision %d\", h, h2, rev)\n\t\t}\n\t\tmismatch(uint64(s.ID()))\n\t}\n\n\tfor _, p := range peers {\n\t\tif p.resp == nil {\n\t\t\tcontinue\n\t\t}\n\t\tid := p.resp.Header.MemberId\n\n\t\t// leader expects follower's latest revision less than or equal to leader's\n\t\tif p.resp.Header.Revision > rev2 {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"revision from follower must be less than or equal to leader's\",\n\t\t\t\t\tzap.Int64(\"leader-revision\", rev2),\n\t\t\t\t\tzap.Int64(\"follower-revision\", p.resp.Header.Revision),\n\t\t\t\t\tzap.String(\"follower-peer-id\", types.ID(id).String()),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\n\t\t\t\t\t\"revision %d from member %v, expected at most %d\",\n\t\t\t\t\tp.resp.Header.Revision,\n\t\t\t\t\ttypes.ID(id),\n\t\t\t\t\trev2)\n\t\t\t}\n\t\t\tmismatch(id)\n\t\t}\n\n\t\t// leader expects follower's latest compact revision less than or equal to leader's\n\t\tif p.resp.CompactRevision > crev2 {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"compact revision from follower must be less than or equal to leader's\",\n\t\t\t\t\tzap.Int64(\"leader-compact-revision\", crev2),\n\t\t\t\t\tzap.Int64(\"follower-compact-revision\", p.resp.CompactRevision),\n\t\t\t\t\tzap.String(\"follower-peer-id\", types.ID(id).String()),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\n\t\t\t\t\t\"compact revision %d from member %v, expected at most %d\",\n\t\t\t\t\tp.resp.CompactRevision,\n\t\t\t\t\ttypes.ID(id),\n\t\t\t\t\tcrev2,\n\t\t\t\t)\n\t\t\t}\n\t\t\tmismatch(id)\n\t\t}\n\n\t\t// follower's compact revision is leader's old one, then hashes must match\n\t\tif p.resp.CompactRevision == crev && p.resp.Hash != h {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"same compact revision then hashes must match\",\n\t\t\t\t\tzap.Int64(\"leader-compact-revision\", crev2),\n\t\t\t\t\tzap.Uint32(\"leader-hash\", h),\n\t\t\t\t\tzap.Int64(\"follower-compact-revision\", p.resp.CompactRevision),\n\t\t\t\t\tzap.Uint32(\"follower-hash\", p.resp.Hash),\n\t\t\t\t\tzap.String(\"follower-peer-id\", types.ID(id).String()),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\n\t\t\t\t\t\"hash %d at revision %d from member %v, expected hash %d\",\n\t\t\t\t\tp.resp.Hash,\n\t\t\t\t\trev,\n\t\t\t\t\ttypes.ID(id),\n\t\t\t\t\th,\n\t\t\t\t)\n\t\t\t}\n\t\t\tmismatch(id)\n\t\t}\n\t}\n\treturn nil\n}\n\ntype peerHashKVResp struct {\n\tid  types.ID\n\teps []string\n\n\tresp *clientv3.HashKVResponse\n\terr  error\n}\n\nfunc (s *EtcdServer) getPeerHashKVs(rev int64) (resps []*peerHashKVResp) {\n\t// TODO: handle the case when \"s.cluster.Members\" have not\n\t// been populated (e.g. no snapshot to load from disk)\n\tmbs := s.cluster.Members()\n\tpss := make([]peerHashKVResp, len(mbs))\n\tfor _, m := range mbs {\n\t\tif m.ID == s.ID() {\n\t\t\tcontinue\n\t\t}\n\t\tpss = append(pss, peerHashKVResp{id: m.ID, eps: m.PeerURLs})\n\t}\n\n\tlg := s.getLogger()\n\n\tfor _, p := range pss {\n\t\tif len(p.eps) == 0 {\n\t\t\tcontinue\n\t\t}\n\t\tcli, cerr := clientv3.New(clientv3.Config{\n\t\t\tDialTimeout: s.Cfg.ReqTimeout(),\n\t\t\tEndpoints:   p.eps,\n\t\t})\n\t\tif cerr != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"failed to create client to peer URL\",\n\t\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\t\tzap.String(\"remote-peer-id\", p.id.String()),\n\t\t\t\t\tzap.Strings(\"remote-peer-endpoints\", p.eps),\n\t\t\t\t\tzap.Error(cerr),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"%s failed to create client to peer %q for hash checking (%q)\", s.ID(), p.eps, cerr.Error())\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\trespsLen := len(resps)\n\t\tfor _, c := range cli.Endpoints() {\n\t\t\tctx, cancel := context.WithTimeout(context.Background(), s.Cfg.ReqTimeout())\n\t\t\tvar resp *clientv3.HashKVResponse\n\t\t\tresp, cerr = cli.HashKV(ctx, c, rev)\n\t\t\tcancel()\n\t\t\tif cerr == nil {\n\t\t\t\tresps = append(resps, &peerHashKVResp{id: p.id, eps: p.eps, resp: resp, err: nil})\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"failed hash kv request\",\n\t\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\t\tzap.Int64(\"requested-revision\", rev),\n\t\t\t\t\tzap.String(\"remote-peer-endpoint\", c),\n\t\t\t\t\tzap.Error(cerr),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"%s hash-kv error %q on peer %q with revision %d\", s.ID(), cerr.Error(), c, rev)\n\t\t\t}\n\t\t}\n\t\tcli.Close()\n\n\t\tif respsLen == len(resps) {\n\t\t\tresps = append(resps, &peerHashKVResp{id: p.id, eps: p.eps, resp: nil, err: cerr})\n\t\t}\n\t}\n\treturn resps\n}\n\ntype applierV3Corrupt struct {\n\tapplierV3\n}\n\nfunc newApplierV3Corrupt(a applierV3) *applierV3Corrupt { return &applierV3Corrupt{a} }\n\nfunc (a *applierV3Corrupt) Put(txn mvcc.TxnWrite, p *pb.PutRequest) (*pb.PutResponse, error) {\n\treturn nil, ErrCorrupt\n}\n\nfunc (a *applierV3Corrupt) Range(txn mvcc.TxnRead, p *pb.RangeRequest) (*pb.RangeResponse, error) {\n\treturn nil, ErrCorrupt\n}\n\nfunc (a *applierV3Corrupt) DeleteRange(txn mvcc.TxnWrite, p *pb.DeleteRangeRequest) (*pb.DeleteRangeResponse, error) {\n\treturn nil, ErrCorrupt\n}\n\nfunc (a *applierV3Corrupt) Txn(rt *pb.TxnRequest) (*pb.TxnResponse, error) {\n\treturn nil, ErrCorrupt\n}\n\nfunc (a *applierV3Corrupt) Compaction(compaction *pb.CompactionRequest) (*pb.CompactionResponse, <-chan struct{}, error) {\n\treturn nil, nil, ErrCorrupt\n}\n\nfunc (a *applierV3Corrupt) LeaseGrant(lc *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error) {\n\treturn nil, ErrCorrupt\n}\n\nfunc (a *applierV3Corrupt) LeaseRevoke(lc *pb.LeaseRevokeRequest) (*pb.LeaseRevokeResponse, error) {\n\treturn nil, ErrCorrupt\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/doc.go",
    "content": "// Copyright 2015 The etcd Authors\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// Package etcdserver defines how etcd servers interact and store their states.\npackage etcdserver\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/errors.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n)\n\nvar (\n\tErrUnknownMethod              = errors.New(\"etcdserver: unknown method\")\n\tErrStopped                    = errors.New(\"etcdserver: server stopped\")\n\tErrCanceled                   = errors.New(\"etcdserver: request cancelled\")\n\tErrTimeout                    = errors.New(\"etcdserver: request timed out\")\n\tErrTimeoutDueToLeaderFail     = errors.New(\"etcdserver: request timed out, possibly due to previous leader failure\")\n\tErrTimeoutDueToConnectionLost = errors.New(\"etcdserver: request timed out, possibly due to connection lost\")\n\tErrTimeoutLeaderTransfer      = errors.New(\"etcdserver: request timed out, leader transfer took too long\")\n\tErrNotEnoughStartedMembers    = errors.New(\"etcdserver: re-configuration failed due to not enough started members\")\n\tErrNoLeader                   = errors.New(\"etcdserver: no leader\")\n\tErrNotLeader                  = errors.New(\"etcdserver: not leader\")\n\tErrRequestTooLarge            = errors.New(\"etcdserver: request is too large\")\n\tErrNoSpace                    = errors.New(\"etcdserver: no space\")\n\tErrTooManyRequests            = errors.New(\"etcdserver: too many requests\")\n\tErrUnhealthy                  = errors.New(\"etcdserver: unhealthy cluster\")\n\tErrKeyNotFound                = errors.New(\"etcdserver: key not found\")\n\tErrCorrupt                    = errors.New(\"etcdserver: corrupt cluster\")\n)\n\ntype DiscoveryError struct {\n\tOp  string\n\tErr error\n}\n\nfunc (e DiscoveryError) Error() string {\n\treturn fmt.Sprintf(\"failed to %s discovery cluster (%v)\", e.Op, e.Err)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/etcdserverpb/etcdserver.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: etcdserver.proto\n\n/*\n\tPackage etcdserverpb is a generated protocol buffer package.\n\n\tIt is generated from these files:\n\t\tetcdserver.proto\n\t\traft_internal.proto\n\t\trpc.proto\n\n\tIt has these top-level messages:\n\t\tRequest\n\t\tMetadata\n\t\tRequestHeader\n\t\tInternalRaftRequest\n\t\tEmptyResponse\n\t\tInternalAuthenticateRequest\n\t\tResponseHeader\n\t\tRangeRequest\n\t\tRangeResponse\n\t\tPutRequest\n\t\tPutResponse\n\t\tDeleteRangeRequest\n\t\tDeleteRangeResponse\n\t\tRequestOp\n\t\tResponseOp\n\t\tCompare\n\t\tTxnRequest\n\t\tTxnResponse\n\t\tCompactionRequest\n\t\tCompactionResponse\n\t\tHashRequest\n\t\tHashKVRequest\n\t\tHashKVResponse\n\t\tHashResponse\n\t\tSnapshotRequest\n\t\tSnapshotResponse\n\t\tWatchRequest\n\t\tWatchCreateRequest\n\t\tWatchCancelRequest\n\t\tWatchResponse\n\t\tLeaseGrantRequest\n\t\tLeaseGrantResponse\n\t\tLeaseRevokeRequest\n\t\tLeaseRevokeResponse\n\t\tLeaseKeepAliveRequest\n\t\tLeaseKeepAliveResponse\n\t\tLeaseTimeToLiveRequest\n\t\tLeaseTimeToLiveResponse\n\t\tLeaseLeasesRequest\n\t\tLeaseStatus\n\t\tLeaseLeasesResponse\n\t\tMember\n\t\tMemberAddRequest\n\t\tMemberAddResponse\n\t\tMemberRemoveRequest\n\t\tMemberRemoveResponse\n\t\tMemberUpdateRequest\n\t\tMemberUpdateResponse\n\t\tMemberListRequest\n\t\tMemberListResponse\n\t\tDefragmentRequest\n\t\tDefragmentResponse\n\t\tMoveLeaderRequest\n\t\tMoveLeaderResponse\n\t\tAlarmRequest\n\t\tAlarmMember\n\t\tAlarmResponse\n\t\tStatusRequest\n\t\tStatusResponse\n\t\tAuthEnableRequest\n\t\tAuthDisableRequest\n\t\tAuthenticateRequest\n\t\tAuthUserAddRequest\n\t\tAuthUserGetRequest\n\t\tAuthUserDeleteRequest\n\t\tAuthUserChangePasswordRequest\n\t\tAuthUserGrantRoleRequest\n\t\tAuthUserRevokeRoleRequest\n\t\tAuthRoleAddRequest\n\t\tAuthRoleGetRequest\n\t\tAuthUserListRequest\n\t\tAuthRoleListRequest\n\t\tAuthRoleDeleteRequest\n\t\tAuthRoleGrantPermissionRequest\n\t\tAuthRoleRevokePermissionRequest\n\t\tAuthEnableResponse\n\t\tAuthDisableResponse\n\t\tAuthenticateResponse\n\t\tAuthUserAddResponse\n\t\tAuthUserGetResponse\n\t\tAuthUserDeleteResponse\n\t\tAuthUserChangePasswordResponse\n\t\tAuthUserGrantRoleResponse\n\t\tAuthUserRevokeRoleResponse\n\t\tAuthRoleAddResponse\n\t\tAuthRoleGetResponse\n\t\tAuthRoleListResponse\n\t\tAuthUserListResponse\n\t\tAuthRoleDeleteResponse\n\t\tAuthRoleGrantPermissionResponse\n\t\tAuthRoleRevokePermissionResponse\n*/\npackage etcdserverpb\n\nimport (\n\t\"fmt\"\n\n\tproto \"github.com/golang/protobuf/proto\"\n\n\tmath \"math\"\n\n\t_ \"github.com/gogo/protobuf/gogoproto\"\n\n\tio \"io\"\n)\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\ntype Request struct {\n\tID               uint64 `protobuf:\"varint,1,opt,name=ID\" json:\"ID\"`\n\tMethod           string `protobuf:\"bytes,2,opt,name=Method\" json:\"Method\"`\n\tPath             string `protobuf:\"bytes,3,opt,name=Path\" json:\"Path\"`\n\tVal              string `protobuf:\"bytes,4,opt,name=Val\" json:\"Val\"`\n\tDir              bool   `protobuf:\"varint,5,opt,name=Dir\" json:\"Dir\"`\n\tPrevValue        string `protobuf:\"bytes,6,opt,name=PrevValue\" json:\"PrevValue\"`\n\tPrevIndex        uint64 `protobuf:\"varint,7,opt,name=PrevIndex\" json:\"PrevIndex\"`\n\tPrevExist        *bool  `protobuf:\"varint,8,opt,name=PrevExist\" json:\"PrevExist,omitempty\"`\n\tExpiration       int64  `protobuf:\"varint,9,opt,name=Expiration\" json:\"Expiration\"`\n\tWait             bool   `protobuf:\"varint,10,opt,name=Wait\" json:\"Wait\"`\n\tSince            uint64 `protobuf:\"varint,11,opt,name=Since\" json:\"Since\"`\n\tRecursive        bool   `protobuf:\"varint,12,opt,name=Recursive\" json:\"Recursive\"`\n\tSorted           bool   `protobuf:\"varint,13,opt,name=Sorted\" json:\"Sorted\"`\n\tQuorum           bool   `protobuf:\"varint,14,opt,name=Quorum\" json:\"Quorum\"`\n\tTime             int64  `protobuf:\"varint,15,opt,name=Time\" json:\"Time\"`\n\tStream           bool   `protobuf:\"varint,16,opt,name=Stream\" json:\"Stream\"`\n\tRefresh          *bool  `protobuf:\"varint,17,opt,name=Refresh\" json:\"Refresh,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *Request) Reset()                    { *m = Request{} }\nfunc (m *Request) String() string            { return proto.CompactTextString(m) }\nfunc (*Request) ProtoMessage()               {}\nfunc (*Request) Descriptor() ([]byte, []int) { return fileDescriptorEtcdserver, []int{0} }\n\ntype Metadata struct {\n\tNodeID           uint64 `protobuf:\"varint,1,opt,name=NodeID\" json:\"NodeID\"`\n\tClusterID        uint64 `protobuf:\"varint,2,opt,name=ClusterID\" json:\"ClusterID\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *Metadata) Reset()                    { *m = Metadata{} }\nfunc (m *Metadata) String() string            { return proto.CompactTextString(m) }\nfunc (*Metadata) ProtoMessage()               {}\nfunc (*Metadata) Descriptor() ([]byte, []int) { return fileDescriptorEtcdserver, []int{1} }\n\nfunc init() {\n\tproto.RegisterType((*Request)(nil), \"etcdserverpb.Request\")\n\tproto.RegisterType((*Metadata)(nil), \"etcdserverpb.Metadata\")\n}\nfunc (m *Request) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Request) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tdAtA[i] = 0x8\n\ti++\n\ti = encodeVarintEtcdserver(dAtA, i, uint64(m.ID))\n\tdAtA[i] = 0x12\n\ti++\n\ti = encodeVarintEtcdserver(dAtA, i, uint64(len(m.Method)))\n\ti += copy(dAtA[i:], m.Method)\n\tdAtA[i] = 0x1a\n\ti++\n\ti = encodeVarintEtcdserver(dAtA, i, uint64(len(m.Path)))\n\ti += copy(dAtA[i:], m.Path)\n\tdAtA[i] = 0x22\n\ti++\n\ti = encodeVarintEtcdserver(dAtA, i, uint64(len(m.Val)))\n\ti += copy(dAtA[i:], m.Val)\n\tdAtA[i] = 0x28\n\ti++\n\tif m.Dir {\n\t\tdAtA[i] = 1\n\t} else {\n\t\tdAtA[i] = 0\n\t}\n\ti++\n\tdAtA[i] = 0x32\n\ti++\n\ti = encodeVarintEtcdserver(dAtA, i, uint64(len(m.PrevValue)))\n\ti += copy(dAtA[i:], m.PrevValue)\n\tdAtA[i] = 0x38\n\ti++\n\ti = encodeVarintEtcdserver(dAtA, i, uint64(m.PrevIndex))\n\tif m.PrevExist != nil {\n\t\tdAtA[i] = 0x40\n\t\ti++\n\t\tif *m.PrevExist {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tdAtA[i] = 0x48\n\ti++\n\ti = encodeVarintEtcdserver(dAtA, i, uint64(m.Expiration))\n\tdAtA[i] = 0x50\n\ti++\n\tif m.Wait {\n\t\tdAtA[i] = 1\n\t} else {\n\t\tdAtA[i] = 0\n\t}\n\ti++\n\tdAtA[i] = 0x58\n\ti++\n\ti = encodeVarintEtcdserver(dAtA, i, uint64(m.Since))\n\tdAtA[i] = 0x60\n\ti++\n\tif m.Recursive {\n\t\tdAtA[i] = 1\n\t} else {\n\t\tdAtA[i] = 0\n\t}\n\ti++\n\tdAtA[i] = 0x68\n\ti++\n\tif m.Sorted {\n\t\tdAtA[i] = 1\n\t} else {\n\t\tdAtA[i] = 0\n\t}\n\ti++\n\tdAtA[i] = 0x70\n\ti++\n\tif m.Quorum {\n\t\tdAtA[i] = 1\n\t} else {\n\t\tdAtA[i] = 0\n\t}\n\ti++\n\tdAtA[i] = 0x78\n\ti++\n\ti = encodeVarintEtcdserver(dAtA, i, uint64(m.Time))\n\tdAtA[i] = 0x80\n\ti++\n\tdAtA[i] = 0x1\n\ti++\n\tif m.Stream {\n\t\tdAtA[i] = 1\n\t} else {\n\t\tdAtA[i] = 0\n\t}\n\ti++\n\tif m.Refresh != nil {\n\t\tdAtA[i] = 0x88\n\t\ti++\n\t\tdAtA[i] = 0x1\n\t\ti++\n\t\tif *m.Refresh {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.XXX_unrecognized != nil {\n\t\ti += copy(dAtA[i:], m.XXX_unrecognized)\n\t}\n\treturn i, nil\n}\n\nfunc (m *Metadata) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Metadata) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tdAtA[i] = 0x8\n\ti++\n\ti = encodeVarintEtcdserver(dAtA, i, uint64(m.NodeID))\n\tdAtA[i] = 0x10\n\ti++\n\ti = encodeVarintEtcdserver(dAtA, i, uint64(m.ClusterID))\n\tif m.XXX_unrecognized != nil {\n\t\ti += copy(dAtA[i:], m.XXX_unrecognized)\n\t}\n\treturn i, nil\n}\n\nfunc encodeVarintEtcdserver(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *Request) Size() (n int) {\n\tvar l int\n\t_ = l\n\tn += 1 + sovEtcdserver(uint64(m.ID))\n\tl = len(m.Method)\n\tn += 1 + l + sovEtcdserver(uint64(l))\n\tl = len(m.Path)\n\tn += 1 + l + sovEtcdserver(uint64(l))\n\tl = len(m.Val)\n\tn += 1 + l + sovEtcdserver(uint64(l))\n\tn += 2\n\tl = len(m.PrevValue)\n\tn += 1 + l + sovEtcdserver(uint64(l))\n\tn += 1 + sovEtcdserver(uint64(m.PrevIndex))\n\tif m.PrevExist != nil {\n\t\tn += 2\n\t}\n\tn += 1 + sovEtcdserver(uint64(m.Expiration))\n\tn += 2\n\tn += 1 + sovEtcdserver(uint64(m.Since))\n\tn += 2\n\tn += 2\n\tn += 2\n\tn += 1 + sovEtcdserver(uint64(m.Time))\n\tn += 3\n\tif m.Refresh != nil {\n\t\tn += 3\n\t}\n\tif m.XXX_unrecognized != nil {\n\t\tn += len(m.XXX_unrecognized)\n\t}\n\treturn n\n}\n\nfunc (m *Metadata) Size() (n int) {\n\tvar l int\n\t_ = l\n\tn += 1 + sovEtcdserver(uint64(m.NodeID))\n\tn += 1 + sovEtcdserver(uint64(m.ClusterID))\n\tif m.XXX_unrecognized != nil {\n\t\tn += len(m.XXX_unrecognized)\n\t}\n\treturn n\n}\n\nfunc sovEtcdserver(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozEtcdserver(x uint64) (n int) {\n\treturn sovEtcdserver(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *Request) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: Request: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: Request: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Method\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthEtcdserver\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Method = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Path\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthEtcdserver\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Path = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Val\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthEtcdserver\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Val = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 5:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Dir\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Dir = bool(v != 0)\n\t\tcase 6:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PrevValue\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthEtcdserver\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.PrevValue = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 7:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PrevIndex\", wireType)\n\t\t\t}\n\t\t\tm.PrevIndex = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.PrevIndex |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 8:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PrevExist\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tb := bool(v != 0)\n\t\t\tm.PrevExist = &b\n\t\tcase 9:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Expiration\", wireType)\n\t\t\t}\n\t\t\tm.Expiration = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Expiration |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 10:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Wait\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Wait = bool(v != 0)\n\t\tcase 11:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Since\", wireType)\n\t\t\t}\n\t\t\tm.Since = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Since |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 12:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Recursive\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Recursive = bool(v != 0)\n\t\tcase 13:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Sorted\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Sorted = bool(v != 0)\n\t\tcase 14:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Quorum\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Quorum = bool(v != 0)\n\t\tcase 15:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Time\", wireType)\n\t\t\t}\n\t\t\tm.Time = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Time |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 16:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Stream\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Stream = bool(v != 0)\n\t\tcase 17:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Refresh\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tb := bool(v != 0)\n\t\t\tm.Refresh = &b\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipEtcdserver(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthEtcdserver\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *Metadata) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: Metadata: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: Metadata: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field NodeID\", wireType)\n\t\t\t}\n\t\t\tm.NodeID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.NodeID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClusterID\", wireType)\n\t\t\t}\n\t\t\tm.ClusterID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ClusterID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipEtcdserver(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthEtcdserver\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipEtcdserver(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowEtcdserver\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowEtcdserver\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthEtcdserver\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowEtcdserver\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipEtcdserver(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthEtcdserver = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowEtcdserver   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"etcdserver.proto\", fileDescriptorEtcdserver) }\n\nvar fileDescriptorEtcdserver = []byte{\n\t// 380 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0xd2, 0xdd, 0x6e, 0xda, 0x30,\n\t0x14, 0x07, 0x70, 0x0c, 0xe1, 0xcb, 0x63, 0x1b, 0xb3, 0xd0, 0x74, 0x84, 0xa6, 0x2c, 0x42, 0xbb,\n\t0xc8, 0xd5, 0xf6, 0x0e, 0x2c, 0x5c, 0x44, 0x2a, 0x15, 0x0d, 0x15, 0xbd, 0x76, 0xc9, 0x29, 0x58,\n\t0x02, 0x4c, 0x1d, 0x07, 0xf1, 0x06, 0x7d, 0x85, 0x3e, 0x12, 0x97, 0x7d, 0x82, 0xaa, 0xa5, 0x2f,\n\t0x52, 0x39, 0x24, 0xc4, 0xed, 0x5d, 0xf4, 0xfb, 0x9f, 0x1c, 0x1f, 0x7f, 0xd0, 0x2e, 0xea, 0x79,\n\t0x9c, 0xa0, 0xda, 0xa1, 0xfa, 0xbb, 0x55, 0x52, 0x4b, 0xd6, 0x29, 0x65, 0x7b, 0xdb, 0xef, 0x2d,\n\t0xe4, 0x42, 0x66, 0xc1, 0x3f, 0xf3, 0x75, 0xaa, 0x19, 0x3c, 0x38, 0xb4, 0x19, 0xe1, 0x7d, 0x8a,\n\t0x89, 0x66, 0x3d, 0x5a, 0x0d, 0x03, 0x20, 0x1e, 0xf1, 0x9d, 0xa1, 0x73, 0x78, 0xfe, 0x5d, 0x89,\n\t0xaa, 0x61, 0xc0, 0x7e, 0xd1, 0xc6, 0x18, 0xf5, 0x52, 0xc6, 0x50, 0xf5, 0x88, 0xdf, 0xce, 0x93,\n\t0xdc, 0x18, 0x50, 0x67, 0xc2, 0xf5, 0x12, 0x6a, 0x56, 0x96, 0x09, 0xfb, 0x49, 0x6b, 0x33, 0xbe,\n\t0x02, 0xc7, 0x0a, 0x0c, 0x18, 0x0f, 0x84, 0x82, 0xba, 0x47, 0xfc, 0x56, 0xe1, 0x81, 0x50, 0x6c,\n\t0x40, 0xdb, 0x13, 0x85, 0xbb, 0x19, 0x5f, 0xa5, 0x08, 0x0d, 0xeb, 0xaf, 0x92, 0x8b, 0x9a, 0x70,\n\t0x13, 0xe3, 0x1e, 0x9a, 0xd6, 0xa0, 0x25, 0x17, 0x35, 0xa3, 0xbd, 0x48, 0x34, 0xb4, 0xce, 0xab,\n\t0x90, 0xa8, 0x64, 0xf6, 0x87, 0xd2, 0xd1, 0x7e, 0x2b, 0x14, 0xd7, 0x42, 0x6e, 0xa0, 0xed, 0x11,\n\t0xbf, 0x96, 0x37, 0xb2, 0xdc, 0xec, 0xed, 0x86, 0x0b, 0x0d, 0xd4, 0x1a, 0x35, 0x13, 0xd6, 0xa7,\n\t0xf5, 0xa9, 0xd8, 0xcc, 0x11, 0xbe, 0x58, 0x33, 0x9c, 0xc8, 0xac, 0x1f, 0xe1, 0x3c, 0x55, 0x89,\n\t0xd8, 0x21, 0x74, 0xac, 0x5f, 0x4b, 0x36, 0x67, 0x3a, 0x95, 0x4a, 0x63, 0x0c, 0x5f, 0xad, 0x82,\n\t0xdc, 0x4c, 0x7a, 0x95, 0x4a, 0x95, 0xae, 0xe1, 0x9b, 0x9d, 0x9e, 0xcc, 0x4c, 0x75, 0x2d, 0xd6,\n\t0x08, 0xdf, 0xad, 0xa9, 0x33, 0xc9, 0xba, 0x6a, 0x85, 0x7c, 0x0d, 0xdd, 0x0f, 0x5d, 0x33, 0x63,\n\t0xae, 0xb9, 0xe8, 0x3b, 0x85, 0xc9, 0x12, 0x7e, 0x58, 0xa7, 0x52, 0xe0, 0xe0, 0x82, 0xb6, 0xc6,\n\t0xa8, 0x79, 0xcc, 0x35, 0x37, 0x9d, 0x2e, 0x65, 0x8c, 0x9f, 0x5e, 0x43, 0x6e, 0x66, 0x87, 0xff,\n\t0x57, 0x69, 0xa2, 0x51, 0x85, 0x41, 0xf6, 0x28, 0xce, 0xb7, 0x70, 0xe6, 0x61, 0xef, 0xf0, 0xea,\n\t0x56, 0x0e, 0x47, 0x97, 0x3c, 0x1d, 0x5d, 0xf2, 0x72, 0x74, 0xc9, 0xe3, 0x9b, 0x5b, 0x79, 0x0f,\n\t0x00, 0x00, 0xff, 0xff, 0xee, 0x40, 0xba, 0xd6, 0xa4, 0x02, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/etcdserverpb/raft_internal.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: raft_internal.proto\n\npackage etcdserverpb\n\nimport (\n\t\"fmt\"\n\n\tproto \"github.com/golang/protobuf/proto\"\n\n\tmath \"math\"\n\n\t_ \"github.com/gogo/protobuf/gogoproto\"\n\n\tio \"io\"\n)\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\ntype RequestHeader struct {\n\tID uint64 `protobuf:\"varint,1,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n\t// username is a username that is associated with an auth token of gRPC connection\n\tUsername string `protobuf:\"bytes,2,opt,name=username,proto3\" json:\"username,omitempty\"`\n\t// auth_revision is a revision number of auth.authStore. It is not related to mvcc\n\tAuthRevision uint64 `protobuf:\"varint,3,opt,name=auth_revision,json=authRevision,proto3\" json:\"auth_revision,omitempty\"`\n}\n\nfunc (m *RequestHeader) Reset()                    { *m = RequestHeader{} }\nfunc (m *RequestHeader) String() string            { return proto.CompactTextString(m) }\nfunc (*RequestHeader) ProtoMessage()               {}\nfunc (*RequestHeader) Descriptor() ([]byte, []int) { return fileDescriptorRaftInternal, []int{0} }\n\n// An InternalRaftRequest is the union of all requests which can be\n// sent via raft.\ntype InternalRaftRequest struct {\n\tHeader                   *RequestHeader                   `protobuf:\"bytes,100,opt,name=header\" json:\"header,omitempty\"`\n\tID                       uint64                           `protobuf:\"varint,1,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n\tV2                       *Request                         `protobuf:\"bytes,2,opt,name=v2\" json:\"v2,omitempty\"`\n\tRange                    *RangeRequest                    `protobuf:\"bytes,3,opt,name=range\" json:\"range,omitempty\"`\n\tPut                      *PutRequest                      `protobuf:\"bytes,4,opt,name=put\" json:\"put,omitempty\"`\n\tDeleteRange              *DeleteRangeRequest              `protobuf:\"bytes,5,opt,name=delete_range,json=deleteRange\" json:\"delete_range,omitempty\"`\n\tTxn                      *TxnRequest                      `protobuf:\"bytes,6,opt,name=txn\" json:\"txn,omitempty\"`\n\tCompaction               *CompactionRequest               `protobuf:\"bytes,7,opt,name=compaction\" json:\"compaction,omitempty\"`\n\tLeaseGrant               *LeaseGrantRequest               `protobuf:\"bytes,8,opt,name=lease_grant,json=leaseGrant\" json:\"lease_grant,omitempty\"`\n\tLeaseRevoke              *LeaseRevokeRequest              `protobuf:\"bytes,9,opt,name=lease_revoke,json=leaseRevoke\" json:\"lease_revoke,omitempty\"`\n\tAlarm                    *AlarmRequest                    `protobuf:\"bytes,10,opt,name=alarm\" json:\"alarm,omitempty\"`\n\tAuthEnable               *AuthEnableRequest               `protobuf:\"bytes,1000,opt,name=auth_enable,json=authEnable\" json:\"auth_enable,omitempty\"`\n\tAuthDisable              *AuthDisableRequest              `protobuf:\"bytes,1011,opt,name=auth_disable,json=authDisable\" json:\"auth_disable,omitempty\"`\n\tAuthenticate             *InternalAuthenticateRequest     `protobuf:\"bytes,1012,opt,name=authenticate\" json:\"authenticate,omitempty\"`\n\tAuthUserAdd              *AuthUserAddRequest              `protobuf:\"bytes,1100,opt,name=auth_user_add,json=authUserAdd\" json:\"auth_user_add,omitempty\"`\n\tAuthUserDelete           *AuthUserDeleteRequest           `protobuf:\"bytes,1101,opt,name=auth_user_delete,json=authUserDelete\" json:\"auth_user_delete,omitempty\"`\n\tAuthUserGet              *AuthUserGetRequest              `protobuf:\"bytes,1102,opt,name=auth_user_get,json=authUserGet\" json:\"auth_user_get,omitempty\"`\n\tAuthUserChangePassword   *AuthUserChangePasswordRequest   `protobuf:\"bytes,1103,opt,name=auth_user_change_password,json=authUserChangePassword\" json:\"auth_user_change_password,omitempty\"`\n\tAuthUserGrantRole        *AuthUserGrantRoleRequest        `protobuf:\"bytes,1104,opt,name=auth_user_grant_role,json=authUserGrantRole\" json:\"auth_user_grant_role,omitempty\"`\n\tAuthUserRevokeRole       *AuthUserRevokeRoleRequest       `protobuf:\"bytes,1105,opt,name=auth_user_revoke_role,json=authUserRevokeRole\" json:\"auth_user_revoke_role,omitempty\"`\n\tAuthUserList             *AuthUserListRequest             `protobuf:\"bytes,1106,opt,name=auth_user_list,json=authUserList\" json:\"auth_user_list,omitempty\"`\n\tAuthRoleList             *AuthRoleListRequest             `protobuf:\"bytes,1107,opt,name=auth_role_list,json=authRoleList\" json:\"auth_role_list,omitempty\"`\n\tAuthRoleAdd              *AuthRoleAddRequest              `protobuf:\"bytes,1200,opt,name=auth_role_add,json=authRoleAdd\" json:\"auth_role_add,omitempty\"`\n\tAuthRoleDelete           *AuthRoleDeleteRequest           `protobuf:\"bytes,1201,opt,name=auth_role_delete,json=authRoleDelete\" json:\"auth_role_delete,omitempty\"`\n\tAuthRoleGet              *AuthRoleGetRequest              `protobuf:\"bytes,1202,opt,name=auth_role_get,json=authRoleGet\" json:\"auth_role_get,omitempty\"`\n\tAuthRoleGrantPermission  *AuthRoleGrantPermissionRequest  `protobuf:\"bytes,1203,opt,name=auth_role_grant_permission,json=authRoleGrantPermission\" json:\"auth_role_grant_permission,omitempty\"`\n\tAuthRoleRevokePermission *AuthRoleRevokePermissionRequest `protobuf:\"bytes,1204,opt,name=auth_role_revoke_permission,json=authRoleRevokePermission\" json:\"auth_role_revoke_permission,omitempty\"`\n}\n\nfunc (m *InternalRaftRequest) Reset()                    { *m = InternalRaftRequest{} }\nfunc (m *InternalRaftRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*InternalRaftRequest) ProtoMessage()               {}\nfunc (*InternalRaftRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaftInternal, []int{1} }\n\ntype EmptyResponse struct {\n}\n\nfunc (m *EmptyResponse) Reset()                    { *m = EmptyResponse{} }\nfunc (m *EmptyResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*EmptyResponse) ProtoMessage()               {}\nfunc (*EmptyResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaftInternal, []int{2} }\n\n// What is the difference between AuthenticateRequest (defined in rpc.proto) and InternalAuthenticateRequest?\n// InternalAuthenticateRequest has a member that is filled by etcdserver and shouldn't be user-facing.\n// For avoiding misusage the field, we have an internal version of AuthenticateRequest.\ntype InternalAuthenticateRequest struct {\n\tName     string `protobuf:\"bytes,1,opt,name=name,proto3\" json:\"name,omitempty\"`\n\tPassword string `protobuf:\"bytes,2,opt,name=password,proto3\" json:\"password,omitempty\"`\n\t// simple_token is generated in API layer (etcdserver/v3_server.go)\n\tSimpleToken string `protobuf:\"bytes,3,opt,name=simple_token,json=simpleToken,proto3\" json:\"simple_token,omitempty\"`\n}\n\nfunc (m *InternalAuthenticateRequest) Reset()         { *m = InternalAuthenticateRequest{} }\nfunc (m *InternalAuthenticateRequest) String() string { return proto.CompactTextString(m) }\nfunc (*InternalAuthenticateRequest) ProtoMessage()    {}\nfunc (*InternalAuthenticateRequest) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorRaftInternal, []int{3}\n}\n\nfunc init() {\n\tproto.RegisterType((*RequestHeader)(nil), \"etcdserverpb.RequestHeader\")\n\tproto.RegisterType((*InternalRaftRequest)(nil), \"etcdserverpb.InternalRaftRequest\")\n\tproto.RegisterType((*EmptyResponse)(nil), \"etcdserverpb.EmptyResponse\")\n\tproto.RegisterType((*InternalAuthenticateRequest)(nil), \"etcdserverpb.InternalAuthenticateRequest\")\n}\nfunc (m *RequestHeader) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *RequestHeader) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.ID))\n\t}\n\tif len(m.Username) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(len(m.Username)))\n\t\ti += copy(dAtA[i:], m.Username)\n\t}\n\tif m.AuthRevision != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthRevision))\n\t}\n\treturn i, nil\n}\n\nfunc (m *InternalRaftRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *InternalRaftRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.ID))\n\t}\n\tif m.V2 != nil {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.V2.Size()))\n\t\tn1, err := m.V2.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n1\n\t}\n\tif m.Range != nil {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.Range.Size()))\n\t\tn2, err := m.Range.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n2\n\t}\n\tif m.Put != nil {\n\t\tdAtA[i] = 0x22\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.Put.Size()))\n\t\tn3, err := m.Put.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n3\n\t}\n\tif m.DeleteRange != nil {\n\t\tdAtA[i] = 0x2a\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.DeleteRange.Size()))\n\t\tn4, err := m.DeleteRange.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n4\n\t}\n\tif m.Txn != nil {\n\t\tdAtA[i] = 0x32\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.Txn.Size()))\n\t\tn5, err := m.Txn.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n5\n\t}\n\tif m.Compaction != nil {\n\t\tdAtA[i] = 0x3a\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.Compaction.Size()))\n\t\tn6, err := m.Compaction.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n6\n\t}\n\tif m.LeaseGrant != nil {\n\t\tdAtA[i] = 0x42\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.LeaseGrant.Size()))\n\t\tn7, err := m.LeaseGrant.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n7\n\t}\n\tif m.LeaseRevoke != nil {\n\t\tdAtA[i] = 0x4a\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.LeaseRevoke.Size()))\n\t\tn8, err := m.LeaseRevoke.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n8\n\t}\n\tif m.Alarm != nil {\n\t\tdAtA[i] = 0x52\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.Alarm.Size()))\n\t\tn9, err := m.Alarm.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n9\n\t}\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa2\n\t\ti++\n\t\tdAtA[i] = 0x6\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.Header.Size()))\n\t\tn10, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n10\n\t}\n\tif m.AuthEnable != nil {\n\t\tdAtA[i] = 0xc2\n\t\ti++\n\t\tdAtA[i] = 0x3e\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthEnable.Size()))\n\t\tn11, err := m.AuthEnable.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n11\n\t}\n\tif m.AuthDisable != nil {\n\t\tdAtA[i] = 0x9a\n\t\ti++\n\t\tdAtA[i] = 0x3f\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthDisable.Size()))\n\t\tn12, err := m.AuthDisable.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n12\n\t}\n\tif m.Authenticate != nil {\n\t\tdAtA[i] = 0xa2\n\t\ti++\n\t\tdAtA[i] = 0x3f\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.Authenticate.Size()))\n\t\tn13, err := m.Authenticate.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n13\n\t}\n\tif m.AuthUserAdd != nil {\n\t\tdAtA[i] = 0xe2\n\t\ti++\n\t\tdAtA[i] = 0x44\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthUserAdd.Size()))\n\t\tn14, err := m.AuthUserAdd.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n14\n\t}\n\tif m.AuthUserDelete != nil {\n\t\tdAtA[i] = 0xea\n\t\ti++\n\t\tdAtA[i] = 0x44\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthUserDelete.Size()))\n\t\tn15, err := m.AuthUserDelete.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n15\n\t}\n\tif m.AuthUserGet != nil {\n\t\tdAtA[i] = 0xf2\n\t\ti++\n\t\tdAtA[i] = 0x44\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthUserGet.Size()))\n\t\tn16, err := m.AuthUserGet.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n16\n\t}\n\tif m.AuthUserChangePassword != nil {\n\t\tdAtA[i] = 0xfa\n\t\ti++\n\t\tdAtA[i] = 0x44\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthUserChangePassword.Size()))\n\t\tn17, err := m.AuthUserChangePassword.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n17\n\t}\n\tif m.AuthUserGrantRole != nil {\n\t\tdAtA[i] = 0x82\n\t\ti++\n\t\tdAtA[i] = 0x45\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthUserGrantRole.Size()))\n\t\tn18, err := m.AuthUserGrantRole.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n18\n\t}\n\tif m.AuthUserRevokeRole != nil {\n\t\tdAtA[i] = 0x8a\n\t\ti++\n\t\tdAtA[i] = 0x45\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthUserRevokeRole.Size()))\n\t\tn19, err := m.AuthUserRevokeRole.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n19\n\t}\n\tif m.AuthUserList != nil {\n\t\tdAtA[i] = 0x92\n\t\ti++\n\t\tdAtA[i] = 0x45\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthUserList.Size()))\n\t\tn20, err := m.AuthUserList.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n20\n\t}\n\tif m.AuthRoleList != nil {\n\t\tdAtA[i] = 0x9a\n\t\ti++\n\t\tdAtA[i] = 0x45\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthRoleList.Size()))\n\t\tn21, err := m.AuthRoleList.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n21\n\t}\n\tif m.AuthRoleAdd != nil {\n\t\tdAtA[i] = 0x82\n\t\ti++\n\t\tdAtA[i] = 0x4b\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthRoleAdd.Size()))\n\t\tn22, err := m.AuthRoleAdd.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n22\n\t}\n\tif m.AuthRoleDelete != nil {\n\t\tdAtA[i] = 0x8a\n\t\ti++\n\t\tdAtA[i] = 0x4b\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthRoleDelete.Size()))\n\t\tn23, err := m.AuthRoleDelete.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n23\n\t}\n\tif m.AuthRoleGet != nil {\n\t\tdAtA[i] = 0x92\n\t\ti++\n\t\tdAtA[i] = 0x4b\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthRoleGet.Size()))\n\t\tn24, err := m.AuthRoleGet.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n24\n\t}\n\tif m.AuthRoleGrantPermission != nil {\n\t\tdAtA[i] = 0x9a\n\t\ti++\n\t\tdAtA[i] = 0x4b\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthRoleGrantPermission.Size()))\n\t\tn25, err := m.AuthRoleGrantPermission.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n25\n\t}\n\tif m.AuthRoleRevokePermission != nil {\n\t\tdAtA[i] = 0xa2\n\t\ti++\n\t\tdAtA[i] = 0x4b\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(m.AuthRoleRevokePermission.Size()))\n\t\tn26, err := m.AuthRoleRevokePermission.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n26\n\t}\n\treturn i, nil\n}\n\nfunc (m *EmptyResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *EmptyResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc (m *InternalAuthenticateRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *InternalAuthenticateRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Name) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(len(m.Name)))\n\t\ti += copy(dAtA[i:], m.Name)\n\t}\n\tif len(m.Password) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(len(m.Password)))\n\t\ti += copy(dAtA[i:], m.Password)\n\t}\n\tif len(m.SimpleToken) > 0 {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintRaftInternal(dAtA, i, uint64(len(m.SimpleToken)))\n\t\ti += copy(dAtA[i:], m.SimpleToken)\n\t}\n\treturn i, nil\n}\n\nfunc encodeVarintRaftInternal(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *RequestHeader) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tn += 1 + sovRaftInternal(uint64(m.ID))\n\t}\n\tl = len(m.Username)\n\tif l > 0 {\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthRevision != 0 {\n\t\tn += 1 + sovRaftInternal(uint64(m.AuthRevision))\n\t}\n\treturn n\n}\n\nfunc (m *InternalRaftRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tn += 1 + sovRaftInternal(uint64(m.ID))\n\t}\n\tif m.V2 != nil {\n\t\tl = m.V2.Size()\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.Range != nil {\n\t\tl = m.Range.Size()\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.Put != nil {\n\t\tl = m.Put.Size()\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.DeleteRange != nil {\n\t\tl = m.DeleteRange.Size()\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.Txn != nil {\n\t\tl = m.Txn.Size()\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.Compaction != nil {\n\t\tl = m.Compaction.Size()\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.LeaseGrant != nil {\n\t\tl = m.LeaseGrant.Size()\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.LeaseRevoke != nil {\n\t\tl = m.LeaseRevoke.Size()\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.Alarm != nil {\n\t\tl = m.Alarm.Size()\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthEnable != nil {\n\t\tl = m.AuthEnable.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthDisable != nil {\n\t\tl = m.AuthDisable.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.Authenticate != nil {\n\t\tl = m.Authenticate.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthUserAdd != nil {\n\t\tl = m.AuthUserAdd.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthUserDelete != nil {\n\t\tl = m.AuthUserDelete.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthUserGet != nil {\n\t\tl = m.AuthUserGet.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthUserChangePassword != nil {\n\t\tl = m.AuthUserChangePassword.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthUserGrantRole != nil {\n\t\tl = m.AuthUserGrantRole.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthUserRevokeRole != nil {\n\t\tl = m.AuthUserRevokeRole.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthUserList != nil {\n\t\tl = m.AuthUserList.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthRoleList != nil {\n\t\tl = m.AuthRoleList.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthRoleAdd != nil {\n\t\tl = m.AuthRoleAdd.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthRoleDelete != nil {\n\t\tl = m.AuthRoleDelete.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthRoleGet != nil {\n\t\tl = m.AuthRoleGet.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthRoleGrantPermission != nil {\n\t\tl = m.AuthRoleGrantPermission.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\tif m.AuthRoleRevokePermission != nil {\n\t\tl = m.AuthRoleRevokePermission.Size()\n\t\tn += 2 + l + sovRaftInternal(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *EmptyResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc (m *InternalAuthenticateRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Name)\n\tif l > 0 {\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\tl = len(m.Password)\n\tif l > 0 {\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\tl = len(m.SimpleToken)\n\tif l > 0 {\n\t\tn += 1 + l + sovRaftInternal(uint64(l))\n\t}\n\treturn n\n}\n\nfunc sovRaftInternal(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozRaftInternal(x uint64) (n int) {\n\treturn sovRaftInternal(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *RequestHeader) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: RequestHeader: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: RequestHeader: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Username\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Username = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthRevision\", wireType)\n\t\t\t}\n\t\t\tm.AuthRevision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.AuthRevision |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRaftInternal(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *InternalRaftRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: InternalRaftRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: InternalRaftRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field V2\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.V2 == nil {\n\t\t\t\tm.V2 = &Request{}\n\t\t\t}\n\t\t\tif err := m.V2.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Range\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Range == nil {\n\t\t\t\tm.Range = &RangeRequest{}\n\t\t\t}\n\t\t\tif err := m.Range.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Put\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Put == nil {\n\t\t\t\tm.Put = &PutRequest{}\n\t\t\t}\n\t\t\tif err := m.Put.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 5:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DeleteRange\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.DeleteRange == nil {\n\t\t\t\tm.DeleteRange = &DeleteRangeRequest{}\n\t\t\t}\n\t\t\tif err := m.DeleteRange.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 6:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Txn\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Txn == nil {\n\t\t\t\tm.Txn = &TxnRequest{}\n\t\t\t}\n\t\t\tif err := m.Txn.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 7:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Compaction\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Compaction == nil {\n\t\t\t\tm.Compaction = &CompactionRequest{}\n\t\t\t}\n\t\t\tif err := m.Compaction.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 8:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field LeaseGrant\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.LeaseGrant == nil {\n\t\t\t\tm.LeaseGrant = &LeaseGrantRequest{}\n\t\t\t}\n\t\t\tif err := m.LeaseGrant.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 9:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field LeaseRevoke\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.LeaseRevoke == nil {\n\t\t\t\tm.LeaseRevoke = &LeaseRevokeRequest{}\n\t\t\t}\n\t\t\tif err := m.LeaseRevoke.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 10:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Alarm\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Alarm == nil {\n\t\t\t\tm.Alarm = &AlarmRequest{}\n\t\t\t}\n\t\t\tif err := m.Alarm.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 100:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &RequestHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1000:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthEnable\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthEnable == nil {\n\t\t\t\tm.AuthEnable = &AuthEnableRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthEnable.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1011:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthDisable\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthDisable == nil {\n\t\t\t\tm.AuthDisable = &AuthDisableRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthDisable.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1012:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Authenticate\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Authenticate == nil {\n\t\t\t\tm.Authenticate = &InternalAuthenticateRequest{}\n\t\t\t}\n\t\t\tif err := m.Authenticate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1100:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthUserAdd\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthUserAdd == nil {\n\t\t\t\tm.AuthUserAdd = &AuthUserAddRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthUserAdd.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1101:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthUserDelete\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthUserDelete == nil {\n\t\t\t\tm.AuthUserDelete = &AuthUserDeleteRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthUserDelete.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1102:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthUserGet\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthUserGet == nil {\n\t\t\t\tm.AuthUserGet = &AuthUserGetRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthUserGet.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1103:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthUserChangePassword\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthUserChangePassword == nil {\n\t\t\t\tm.AuthUserChangePassword = &AuthUserChangePasswordRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthUserChangePassword.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1104:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthUserGrantRole\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthUserGrantRole == nil {\n\t\t\t\tm.AuthUserGrantRole = &AuthUserGrantRoleRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthUserGrantRole.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1105:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthUserRevokeRole\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthUserRevokeRole == nil {\n\t\t\t\tm.AuthUserRevokeRole = &AuthUserRevokeRoleRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthUserRevokeRole.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1106:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthUserList\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthUserList == nil {\n\t\t\t\tm.AuthUserList = &AuthUserListRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthUserList.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1107:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthRoleList\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthRoleList == nil {\n\t\t\t\tm.AuthRoleList = &AuthRoleListRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthRoleList.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1200:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthRoleAdd\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthRoleAdd == nil {\n\t\t\t\tm.AuthRoleAdd = &AuthRoleAddRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthRoleAdd.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1201:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthRoleDelete\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthRoleDelete == nil {\n\t\t\t\tm.AuthRoleDelete = &AuthRoleDeleteRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthRoleDelete.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1202:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthRoleGet\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthRoleGet == nil {\n\t\t\t\tm.AuthRoleGet = &AuthRoleGetRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthRoleGet.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1203:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthRoleGrantPermission\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthRoleGrantPermission == nil {\n\t\t\t\tm.AuthRoleGrantPermission = &AuthRoleGrantPermissionRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthRoleGrantPermission.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 1204:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field AuthRoleRevokePermission\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.AuthRoleRevokePermission == nil {\n\t\t\t\tm.AuthRoleRevokePermission = &AuthRoleRevokePermissionRequest{}\n\t\t\t}\n\t\t\tif err := m.AuthRoleRevokePermission.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRaftInternal(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *EmptyResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: EmptyResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: EmptyResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRaftInternal(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *InternalAuthenticateRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: InternalAuthenticateRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: InternalAuthenticateRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Name\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Name = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Password\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Password = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field SimpleToken\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.SimpleToken = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRaftInternal(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipRaftInternal(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowRaftInternal\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowRaftInternal\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthRaftInternal\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowRaftInternal\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipRaftInternal(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthRaftInternal = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowRaftInternal   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"raft_internal.proto\", fileDescriptorRaftInternal) }\n\nvar fileDescriptorRaftInternal = []byte{\n\t// 837 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x96, 0xdd, 0x52, 0xd3, 0x40,\n\t0x14, 0xc7, 0x69, 0xf9, 0xec, 0xb6, 0x54, 0x5c, 0x40, 0xd7, 0x32, 0x53, 0xa1, 0x8c, 0x8a, 0x5f,\n\t0xe8, 0x94, 0x07, 0xd0, 0x4a, 0x19, 0x60, 0x86, 0x61, 0x98, 0x0c, 0xce, 0x38, 0xe3, 0x45, 0x5c,\n\t0x9a, 0x43, 0x1b, 0x49, 0x93, 0xb8, 0xd9, 0x56, 0x7c, 0x13, 0x1f, 0xc3, 0xaf, 0x87, 0xe0, 0xc2,\n\t0x0f, 0xd4, 0x17, 0x50, 0xbc, 0xf1, 0xca, 0x1b, 0x7d, 0x00, 0x67, 0x3f, 0x92, 0x34, 0x6d, 0xca,\n\t0x5d, 0x72, 0xce, 0xff, 0xfc, 0xce, 0xd9, 0xec, 0x7f, 0xbb, 0x45, 0xb3, 0x8c, 0x1e, 0x72, 0xd3,\n\t0x76, 0x39, 0x30, 0x97, 0x3a, 0xab, 0x3e, 0xf3, 0xb8, 0x87, 0x0b, 0xc0, 0x1b, 0x56, 0x00, 0xac,\n\t0x0b, 0xcc, 0x3f, 0x28, 0xcd, 0x35, 0xbd, 0xa6, 0x27, 0x13, 0xf7, 0xc4, 0x93, 0xd2, 0x94, 0x66,\n\t0x62, 0x8d, 0x8e, 0xe4, 0x98, 0xdf, 0x50, 0x8f, 0x95, 0x67, 0x68, 0xda, 0x80, 0x17, 0x1d, 0x08,\n\t0xf8, 0x16, 0x50, 0x0b, 0x18, 0x2e, 0xa2, 0xec, 0x76, 0x9d, 0x64, 0x16, 0x33, 0x2b, 0x63, 0x46,\n\t0x76, 0xbb, 0x8e, 0x4b, 0x68, 0xaa, 0x13, 0x88, 0x96, 0x6d, 0x20, 0xd9, 0xc5, 0xcc, 0x4a, 0xce,\n\t0x88, 0xde, 0xf1, 0x32, 0x9a, 0xa6, 0x1d, 0xde, 0x32, 0x19, 0x74, 0xed, 0xc0, 0xf6, 0x5c, 0x32,\n\t0x2a, 0xcb, 0x0a, 0x22, 0x68, 0xe8, 0x58, 0xe5, 0x4f, 0x11, 0xcd, 0x6e, 0xeb, 0xa9, 0x0d, 0x7a,\n\t0xc8, 0x75, 0xbb, 0x81, 0x46, 0xd7, 0x50, 0xb6, 0x5b, 0x95, 0x2d, 0xf2, 0xd5, 0xf9, 0xd5, 0xde,\n\t0x75, 0xad, 0xea, 0x12, 0x23, 0xdb, 0xad, 0xe2, 0xfb, 0x68, 0x9c, 0x51, 0xb7, 0x09, 0xb2, 0x57,\n\t0xbe, 0x5a, 0xea, 0x53, 0x8a, 0x54, 0x28, 0x57, 0x42, 0x7c, 0x0b, 0x8d, 0xfa, 0x1d, 0x4e, 0xc6,\n\t0xa4, 0x9e, 0x24, 0xf5, 0x7b, 0x9d, 0x70, 0x1e, 0x43, 0x88, 0xf0, 0x3a, 0x2a, 0x58, 0xe0, 0x00,\n\t0x07, 0x53, 0x35, 0x19, 0x97, 0x45, 0x8b, 0xc9, 0xa2, 0xba, 0x54, 0x24, 0x5a, 0xe5, 0xad, 0x38,\n\t0x26, 0x1a, 0xf2, 0x63, 0x97, 0x4c, 0xa4, 0x35, 0xdc, 0x3f, 0x76, 0xa3, 0x86, 0xfc, 0xd8, 0xc5,\n\t0x0f, 0x10, 0x6a, 0x78, 0x6d, 0x9f, 0x36, 0xb8, 0xf8, 0x7e, 0x93, 0xb2, 0xe4, 0x6a, 0xb2, 0x64,\n\t0x3d, 0xca, 0x87, 0x95, 0x3d, 0x25, 0xf8, 0x21, 0xca, 0x3b, 0x40, 0x03, 0x30, 0x9b, 0x8c, 0xba,\n\t0x9c, 0x4c, 0xa5, 0x11, 0x76, 0x84, 0x60, 0x53, 0xe4, 0x23, 0x82, 0x13, 0x85, 0xc4, 0x9a, 0x15,\n\t0x81, 0x41, 0xd7, 0x3b, 0x02, 0x92, 0x4b, 0x5b, 0xb3, 0x44, 0x18, 0x52, 0x10, 0xad, 0xd9, 0x89,\n\t0x63, 0x62, 0x5b, 0xa8, 0x43, 0x59, 0x9b, 0xa0, 0xb4, 0x6d, 0xa9, 0x89, 0x54, 0xb4, 0x2d, 0x52,\n\t0x88, 0xd7, 0xd0, 0x44, 0x4b, 0x5a, 0x8e, 0x58, 0xb2, 0x64, 0x21, 0x75, 0xcf, 0x95, 0x2b, 0x0d,\n\t0x2d, 0xc5, 0x35, 0x94, 0x97, 0x8e, 0x03, 0x97, 0x1e, 0x38, 0x40, 0x7e, 0xa7, 0x7e, 0xb0, 0x5a,\n\t0x87, 0xb7, 0x36, 0xa4, 0x20, 0x5a, 0x2e, 0x8d, 0x42, 0xb8, 0x8e, 0xa4, 0x3f, 0x4d, 0xcb, 0x0e,\n\t0x24, 0xe3, 0xef, 0x64, 0xda, 0x7a, 0x05, 0xa3, 0xae, 0x14, 0xd1, 0x7a, 0x69, 0x1c, 0xc3, 0xbb,\n\t0x8a, 0x02, 0x2e, 0xb7, 0x1b, 0x94, 0x03, 0xf9, 0xa7, 0x28, 0x37, 0x93, 0x94, 0xd0, 0xf7, 0xb5,\n\t0x1e, 0x69, 0x88, 0x4b, 0xd4, 0xe3, 0x0d, 0x7d, 0x94, 0xc4, 0xd9, 0x32, 0xa9, 0x65, 0x91, 0x8f,\n\t0x53, 0xc3, 0xc6, 0x7a, 0x1c, 0x00, 0xab, 0x59, 0x56, 0x62, 0x2c, 0x1d, 0xc3, 0xbb, 0x68, 0x26,\n\t0xc6, 0x28, 0x4f, 0x92, 0x4f, 0x8a, 0xb4, 0x9c, 0x4e, 0xd2, 0x66, 0xd6, 0xb0, 0x22, 0x4d, 0x84,\n\t0x93, 0x63, 0x35, 0x81, 0x93, 0xcf, 0xe7, 0x8e, 0xb5, 0x09, 0x7c, 0x60, 0xac, 0x4d, 0xe0, 0xb8,\n\t0x89, 0xae, 0xc4, 0x98, 0x46, 0x4b, 0x9c, 0x12, 0xd3, 0xa7, 0x41, 0xf0, 0xd2, 0x63, 0x16, 0xf9,\n\t0xa2, 0x90, 0xb7, 0xd3, 0x91, 0xeb, 0x52, 0xbd, 0xa7, 0xc5, 0x21, 0xfd, 0x12, 0x4d, 0x4d, 0xe3,\n\t0x27, 0x68, 0xae, 0x67, 0x5e, 0x61, 0x6f, 0x93, 0x79, 0x0e, 0x90, 0x53, 0xd5, 0xe3, 0xfa, 0x90,\n\t0xb1, 0xe5, 0xd1, 0xf0, 0xe2, 0xad, 0xbe, 0x48, 0xfb, 0x33, 0xf8, 0x29, 0x9a, 0x8f, 0xc9, 0xea,\n\t0xa4, 0x28, 0xf4, 0x57, 0x85, 0xbe, 0x91, 0x8e, 0xd6, 0x47, 0xa6, 0x87, 0x8d, 0xe9, 0x40, 0x0a,\n\t0x6f, 0xa1, 0x62, 0x0c, 0x77, 0xec, 0x80, 0x93, 0x6f, 0x8a, 0xba, 0x94, 0x4e, 0xdd, 0xb1, 0x03,\n\t0x9e, 0xf0, 0x51, 0x18, 0x8c, 0x48, 0x62, 0x34, 0x45, 0xfa, 0x3e, 0x94, 0x24, 0x5a, 0x0f, 0x90,\n\t0xc2, 0x60, 0xb4, 0xf5, 0x92, 0x24, 0x1c, 0xf9, 0x26, 0x37, 0x6c, 0xeb, 0x45, 0x4d, 0xbf, 0x23,\n\t0x75, 0x2c, 0x72, 0xa4, 0xc4, 0x68, 0x47, 0xbe, 0xcd, 0x0d, 0x73, 0xa4, 0xa8, 0x4a, 0x71, 0x64,\n\t0x1c, 0x4e, 0x8e, 0x25, 0x1c, 0xf9, 0xee, 0xdc, 0xb1, 0xfa, 0x1d, 0xa9, 0x63, 0xf8, 0x39, 0x2a,\n\t0xf5, 0x60, 0xa4, 0x51, 0x7c, 0x60, 0x6d, 0x3b, 0x90, 0xf7, 0xd8, 0x7b, 0xc5, 0xbc, 0x33, 0x84,\n\t0x29, 0xe4, 0x7b, 0x91, 0x3a, 0xe4, 0x5f, 0xa6, 0xe9, 0x79, 0xdc, 0x46, 0x0b, 0x71, 0x2f, 0x6d,\n\t0x9d, 0x9e, 0x66, 0x1f, 0x54, 0xb3, 0xbb, 0xe9, 0xcd, 0x94, 0x4b, 0x06, 0xbb, 0x11, 0x3a, 0x44,\n\t0x50, 0xb9, 0x80, 0xa6, 0x37, 0xda, 0x3e, 0x7f, 0x65, 0x40, 0xe0, 0x7b, 0x6e, 0x00, 0x15, 0x1f,\n\t0x2d, 0x9c, 0xf3, 0x43, 0x84, 0x31, 0x1a, 0x93, 0xb7, 0x7b, 0x46, 0xde, 0xee, 0xf2, 0x59, 0xdc,\n\t0xfa, 0xd1, 0xf9, 0xd4, 0xb7, 0x7e, 0xf8, 0x8e, 0x97, 0x50, 0x21, 0xb0, 0xdb, 0xbe, 0x03, 0x26,\n\t0xf7, 0x8e, 0x40, 0x5d, 0xfa, 0x39, 0x23, 0xaf, 0x62, 0xfb, 0x22, 0xf4, 0x68, 0xee, 0xe4, 0x67,\n\t0x79, 0xe4, 0xe4, 0xac, 0x9c, 0x39, 0x3d, 0x2b, 0x67, 0x7e, 0x9c, 0x95, 0x33, 0xaf, 0x7f, 0x95,\n\t0x47, 0x0e, 0x26, 0xe4, 0x5f, 0x8e, 0xb5, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc9, 0xfc,\n\t0x0e, 0xca, 0x08, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/etcdserverpb/raft_internal_stringer.go",
    "content": "// Copyright 2018 The etcd Authors\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\npackage etcdserverpb\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\n\tproto \"github.com/golang/protobuf/proto\"\n)\n\n// InternalRaftStringer implements custom proto Stringer:\n// redact password, replace value fields with value_size fields.\ntype InternalRaftStringer struct {\n\tRequest *InternalRaftRequest\n}\n\nfunc (as *InternalRaftStringer) String() string {\n\tswitch {\n\tcase as.Request.LeaseGrant != nil:\n\t\treturn fmt.Sprintf(\"header:<%s> lease_grant:<ttl:%d-second id:%016x>\",\n\t\t\tas.Request.Header.String(),\n\t\t\tas.Request.LeaseGrant.TTL,\n\t\t\tas.Request.LeaseGrant.ID,\n\t\t)\n\tcase as.Request.LeaseRevoke != nil:\n\t\treturn fmt.Sprintf(\"header:<%s> lease_revoke:<id:%016x>\",\n\t\t\tas.Request.Header.String(),\n\t\t\tas.Request.LeaseRevoke.ID,\n\t\t)\n\tcase as.Request.Authenticate != nil:\n\t\treturn fmt.Sprintf(\"header:<%s> authenticate:<name:%s simple_token:%s>\",\n\t\t\tas.Request.Header.String(),\n\t\t\tas.Request.Authenticate.Name,\n\t\t\tas.Request.Authenticate.SimpleToken,\n\t\t)\n\tcase as.Request.AuthUserAdd != nil:\n\t\treturn fmt.Sprintf(\"header:<%s> auth_user_add:<name:%s>\",\n\t\t\tas.Request.Header.String(),\n\t\t\tas.Request.AuthUserAdd.Name,\n\t\t)\n\tcase as.Request.AuthUserChangePassword != nil:\n\t\treturn fmt.Sprintf(\"header:<%s> auth_user_change_password:<name:%s>\",\n\t\t\tas.Request.Header.String(),\n\t\t\tas.Request.AuthUserChangePassword.Name,\n\t\t)\n\tcase as.Request.Put != nil:\n\t\treturn fmt.Sprintf(\"header:<%s> put:<%s>\",\n\t\t\tas.Request.Header.String(),\n\t\t\tnewLoggablePutRequest(as.Request.Put).String(),\n\t\t)\n\tcase as.Request.Txn != nil:\n\t\treturn fmt.Sprintf(\"header:<%s> txn:<%s>\",\n\t\t\tas.Request.Header.String(),\n\t\t\tNewLoggableTxnRequest(as.Request.Txn).String(),\n\t\t)\n\tdefault:\n\t\t// nothing to redact\n\t}\n\treturn as.Request.String()\n}\n\n// txnRequestStringer implements a custom proto String to replace value bytes fields with value size\n// fields in any nested txn and put operations.\ntype txnRequestStringer struct {\n\tRequest *TxnRequest\n}\n\nfunc NewLoggableTxnRequest(request *TxnRequest) *txnRequestStringer {\n\treturn &txnRequestStringer{request}\n}\n\nfunc (as *txnRequestStringer) String() string {\n\tvar compare []string\n\tfor _, c := range as.Request.Compare {\n\t\tswitch cv := c.TargetUnion.(type) {\n\t\tcase *Compare_Value:\n\t\t\tcompare = append(compare, newLoggableValueCompare(c, cv).String())\n\t\tdefault:\n\t\t\t// nothing to redact\n\t\t\tcompare = append(compare, c.String())\n\t\t}\n\t}\n\tvar success []string\n\tfor _, s := range as.Request.Success {\n\t\tsuccess = append(success, newLoggableRequestOp(s).String())\n\t}\n\tvar failure []string\n\tfor _, f := range as.Request.Failure {\n\t\tfailure = append(failure, newLoggableRequestOp(f).String())\n\t}\n\treturn fmt.Sprintf(\"compare:<%s> success:<%s> failure:<%s>\",\n\t\tstrings.Join(compare, \" \"),\n\t\tstrings.Join(success, \" \"),\n\t\tstrings.Join(failure, \" \"),\n\t)\n}\n\n// requestOpStringer implements a custom proto String to replace value bytes fields with value\n// size fields in any nested txn and put operations.\ntype requestOpStringer struct {\n\tOp *RequestOp\n}\n\nfunc newLoggableRequestOp(op *RequestOp) *requestOpStringer {\n\treturn &requestOpStringer{op}\n}\n\nfunc (as *requestOpStringer) String() string {\n\tswitch op := as.Op.Request.(type) {\n\tcase *RequestOp_RequestPut:\n\t\treturn fmt.Sprintf(\"request_put:<%s>\", newLoggablePutRequest(op.RequestPut).String())\n\tcase *RequestOp_RequestTxn:\n\t\treturn fmt.Sprintf(\"request_txn:<%s>\", NewLoggableTxnRequest(op.RequestTxn).String())\n\tdefault:\n\t\t// nothing to redact\n\t}\n\treturn as.Op.String()\n}\n\n// loggableValueCompare implements a custom proto String for Compare.Value union member types to\n// replace the value bytes field with a value size field.\n// To preserve proto encoding of the key and range_end bytes, a faked out proto type is used here.\ntype loggableValueCompare struct {\n\tResult    Compare_CompareResult `protobuf:\"varint,1,opt,name=result,proto3,enum=etcdserverpb.Compare_CompareResult\"`\n\tTarget    Compare_CompareTarget `protobuf:\"varint,2,opt,name=target,proto3,enum=etcdserverpb.Compare_CompareTarget\"`\n\tKey       []byte                `protobuf:\"bytes,3,opt,name=key,proto3\"`\n\tValueSize int                   `protobuf:\"bytes,7,opt,name=value_size,proto3\"`\n\tRangeEnd  []byte                `protobuf:\"bytes,64,opt,name=range_end,proto3\"`\n}\n\nfunc newLoggableValueCompare(c *Compare, cv *Compare_Value) *loggableValueCompare {\n\treturn &loggableValueCompare{\n\t\tc.Result,\n\t\tc.Target,\n\t\tc.Key,\n\t\tlen(cv.Value),\n\t\tc.RangeEnd,\n\t}\n}\n\nfunc (m *loggableValueCompare) Reset()         { *m = loggableValueCompare{} }\nfunc (m *loggableValueCompare) String() string { return proto.CompactTextString(m) }\nfunc (*loggableValueCompare) ProtoMessage()    {}\n\n// loggablePutRequest implements a custom proto String to replace value bytes field with a value\n// size field.\n// To preserve proto encoding of the key bytes, a faked out proto type is used here.\ntype loggablePutRequest struct {\n\tKey         []byte `protobuf:\"bytes,1,opt,name=key,proto3\"`\n\tValueSize   int    `protobuf:\"varint,2,opt,name=value_size,proto3\"`\n\tLease       int64  `protobuf:\"varint,3,opt,name=lease,proto3\"`\n\tPrevKv      bool   `protobuf:\"varint,4,opt,name=prev_kv,proto3\"`\n\tIgnoreValue bool   `protobuf:\"varint,5,opt,name=ignore_value,proto3\"`\n\tIgnoreLease bool   `protobuf:\"varint,6,opt,name=ignore_lease,proto3\"`\n}\n\nfunc newLoggablePutRequest(request *PutRequest) *loggablePutRequest {\n\treturn &loggablePutRequest{\n\t\trequest.Key,\n\t\tlen(request.Value),\n\t\trequest.Lease,\n\t\trequest.PrevKv,\n\t\trequest.IgnoreValue,\n\t\trequest.IgnoreLease,\n\t}\n}\n\nfunc (m *loggablePutRequest) Reset()         { *m = loggablePutRequest{} }\nfunc (m *loggablePutRequest) String() string { return proto.CompactTextString(m) }\nfunc (*loggablePutRequest) ProtoMessage()    {}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/etcdserverpb/rpc.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: rpc.proto\n\npackage etcdserverpb\n\nimport (\n\t\"fmt\"\n\n\tproto \"github.com/golang/protobuf/proto\"\n\n\tmath \"math\"\n\n\t_ \"github.com/gogo/protobuf/gogoproto\"\n\n\tmvccpb \"github.com/coreos/etcd/mvcc/mvccpb\"\n\n\tauthpb \"github.com/coreos/etcd/auth/authpb\"\n\n\tcontext \"golang.org/x/net/context\"\n\n\tgrpc \"google.golang.org/grpc\"\n\n\tio \"io\"\n)\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\ntype AlarmType int32\n\nconst (\n\tAlarmType_NONE    AlarmType = 0\n\tAlarmType_NOSPACE AlarmType = 1\n\tAlarmType_CORRUPT AlarmType = 2\n)\n\nvar AlarmType_name = map[int32]string{\n\t0: \"NONE\",\n\t1: \"NOSPACE\",\n\t2: \"CORRUPT\",\n}\nvar AlarmType_value = map[string]int32{\n\t\"NONE\":    0,\n\t\"NOSPACE\": 1,\n\t\"CORRUPT\": 2,\n}\n\nfunc (x AlarmType) String() string {\n\treturn proto.EnumName(AlarmType_name, int32(x))\n}\nfunc (AlarmType) EnumDescriptor() ([]byte, []int) { return fileDescriptorRpc, []int{0} }\n\ntype RangeRequest_SortOrder int32\n\nconst (\n\tRangeRequest_NONE    RangeRequest_SortOrder = 0\n\tRangeRequest_ASCEND  RangeRequest_SortOrder = 1\n\tRangeRequest_DESCEND RangeRequest_SortOrder = 2\n)\n\nvar RangeRequest_SortOrder_name = map[int32]string{\n\t0: \"NONE\",\n\t1: \"ASCEND\",\n\t2: \"DESCEND\",\n}\nvar RangeRequest_SortOrder_value = map[string]int32{\n\t\"NONE\":    0,\n\t\"ASCEND\":  1,\n\t\"DESCEND\": 2,\n}\n\nfunc (x RangeRequest_SortOrder) String() string {\n\treturn proto.EnumName(RangeRequest_SortOrder_name, int32(x))\n}\nfunc (RangeRequest_SortOrder) EnumDescriptor() ([]byte, []int) { return fileDescriptorRpc, []int{1, 0} }\n\ntype RangeRequest_SortTarget int32\n\nconst (\n\tRangeRequest_KEY     RangeRequest_SortTarget = 0\n\tRangeRequest_VERSION RangeRequest_SortTarget = 1\n\tRangeRequest_CREATE  RangeRequest_SortTarget = 2\n\tRangeRequest_MOD     RangeRequest_SortTarget = 3\n\tRangeRequest_VALUE   RangeRequest_SortTarget = 4\n)\n\nvar RangeRequest_SortTarget_name = map[int32]string{\n\t0: \"KEY\",\n\t1: \"VERSION\",\n\t2: \"CREATE\",\n\t3: \"MOD\",\n\t4: \"VALUE\",\n}\nvar RangeRequest_SortTarget_value = map[string]int32{\n\t\"KEY\":     0,\n\t\"VERSION\": 1,\n\t\"CREATE\":  2,\n\t\"MOD\":     3,\n\t\"VALUE\":   4,\n}\n\nfunc (x RangeRequest_SortTarget) String() string {\n\treturn proto.EnumName(RangeRequest_SortTarget_name, int32(x))\n}\nfunc (RangeRequest_SortTarget) EnumDescriptor() ([]byte, []int) { return fileDescriptorRpc, []int{1, 1} }\n\ntype Compare_CompareResult int32\n\nconst (\n\tCompare_EQUAL     Compare_CompareResult = 0\n\tCompare_GREATER   Compare_CompareResult = 1\n\tCompare_LESS      Compare_CompareResult = 2\n\tCompare_NOT_EQUAL Compare_CompareResult = 3\n)\n\nvar Compare_CompareResult_name = map[int32]string{\n\t0: \"EQUAL\",\n\t1: \"GREATER\",\n\t2: \"LESS\",\n\t3: \"NOT_EQUAL\",\n}\nvar Compare_CompareResult_value = map[string]int32{\n\t\"EQUAL\":     0,\n\t\"GREATER\":   1,\n\t\"LESS\":      2,\n\t\"NOT_EQUAL\": 3,\n}\n\nfunc (x Compare_CompareResult) String() string {\n\treturn proto.EnumName(Compare_CompareResult_name, int32(x))\n}\nfunc (Compare_CompareResult) EnumDescriptor() ([]byte, []int) { return fileDescriptorRpc, []int{9, 0} }\n\ntype Compare_CompareTarget int32\n\nconst (\n\tCompare_VERSION Compare_CompareTarget = 0\n\tCompare_CREATE  Compare_CompareTarget = 1\n\tCompare_MOD     Compare_CompareTarget = 2\n\tCompare_VALUE   Compare_CompareTarget = 3\n\tCompare_LEASE   Compare_CompareTarget = 4\n)\n\nvar Compare_CompareTarget_name = map[int32]string{\n\t0: \"VERSION\",\n\t1: \"CREATE\",\n\t2: \"MOD\",\n\t3: \"VALUE\",\n\t4: \"LEASE\",\n}\nvar Compare_CompareTarget_value = map[string]int32{\n\t\"VERSION\": 0,\n\t\"CREATE\":  1,\n\t\"MOD\":     2,\n\t\"VALUE\":   3,\n\t\"LEASE\":   4,\n}\n\nfunc (x Compare_CompareTarget) String() string {\n\treturn proto.EnumName(Compare_CompareTarget_name, int32(x))\n}\nfunc (Compare_CompareTarget) EnumDescriptor() ([]byte, []int) { return fileDescriptorRpc, []int{9, 1} }\n\ntype WatchCreateRequest_FilterType int32\n\nconst (\n\t// filter out put event.\n\tWatchCreateRequest_NOPUT WatchCreateRequest_FilterType = 0\n\t// filter out delete event.\n\tWatchCreateRequest_NODELETE WatchCreateRequest_FilterType = 1\n)\n\nvar WatchCreateRequest_FilterType_name = map[int32]string{\n\t0: \"NOPUT\",\n\t1: \"NODELETE\",\n}\nvar WatchCreateRequest_FilterType_value = map[string]int32{\n\t\"NOPUT\":    0,\n\t\"NODELETE\": 1,\n}\n\nfunc (x WatchCreateRequest_FilterType) String() string {\n\treturn proto.EnumName(WatchCreateRequest_FilterType_name, int32(x))\n}\nfunc (WatchCreateRequest_FilterType) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptorRpc, []int{21, 0}\n}\n\ntype AlarmRequest_AlarmAction int32\n\nconst (\n\tAlarmRequest_GET        AlarmRequest_AlarmAction = 0\n\tAlarmRequest_ACTIVATE   AlarmRequest_AlarmAction = 1\n\tAlarmRequest_DEACTIVATE AlarmRequest_AlarmAction = 2\n)\n\nvar AlarmRequest_AlarmAction_name = map[int32]string{\n\t0: \"GET\",\n\t1: \"ACTIVATE\",\n\t2: \"DEACTIVATE\",\n}\nvar AlarmRequest_AlarmAction_value = map[string]int32{\n\t\"GET\":        0,\n\t\"ACTIVATE\":   1,\n\t\"DEACTIVATE\": 2,\n}\n\nfunc (x AlarmRequest_AlarmAction) String() string {\n\treturn proto.EnumName(AlarmRequest_AlarmAction_name, int32(x))\n}\nfunc (AlarmRequest_AlarmAction) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptorRpc, []int{48, 0}\n}\n\ntype ResponseHeader struct {\n\t// cluster_id is the ID of the cluster which sent the response.\n\tClusterId uint64 `protobuf:\"varint,1,opt,name=cluster_id,json=clusterId,proto3\" json:\"cluster_id,omitempty\"`\n\t// member_id is the ID of the member which sent the response.\n\tMemberId uint64 `protobuf:\"varint,2,opt,name=member_id,json=memberId,proto3\" json:\"member_id,omitempty\"`\n\t// revision is the key-value store revision when the request was applied.\n\tRevision int64 `protobuf:\"varint,3,opt,name=revision,proto3\" json:\"revision,omitempty\"`\n\t// raft_term is the raft term when the request was applied.\n\tRaftTerm uint64 `protobuf:\"varint,4,opt,name=raft_term,json=raftTerm,proto3\" json:\"raft_term,omitempty\"`\n}\n\nfunc (m *ResponseHeader) Reset()                    { *m = ResponseHeader{} }\nfunc (m *ResponseHeader) String() string            { return proto.CompactTextString(m) }\nfunc (*ResponseHeader) ProtoMessage()               {}\nfunc (*ResponseHeader) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{0} }\n\nfunc (m *ResponseHeader) GetClusterId() uint64 {\n\tif m != nil {\n\t\treturn m.ClusterId\n\t}\n\treturn 0\n}\n\nfunc (m *ResponseHeader) GetMemberId() uint64 {\n\tif m != nil {\n\t\treturn m.MemberId\n\t}\n\treturn 0\n}\n\nfunc (m *ResponseHeader) GetRevision() int64 {\n\tif m != nil {\n\t\treturn m.Revision\n\t}\n\treturn 0\n}\n\nfunc (m *ResponseHeader) GetRaftTerm() uint64 {\n\tif m != nil {\n\t\treturn m.RaftTerm\n\t}\n\treturn 0\n}\n\ntype RangeRequest struct {\n\t// key is the first key for the range. If range_end is not given, the request only looks up key.\n\tKey []byte `protobuf:\"bytes,1,opt,name=key,proto3\" json:\"key,omitempty\"`\n\t// range_end is the upper bound on the requested range [key, range_end).\n\t// If range_end is '\\0', the range is all keys >= key.\n\t// If range_end is key plus one (e.g., \"aa\"+1 == \"ab\", \"a\\xff\"+1 == \"b\"),\n\t// then the range request gets all keys prefixed with key.\n\t// If both key and range_end are '\\0', then the range request returns all keys.\n\tRangeEnd []byte `protobuf:\"bytes,2,opt,name=range_end,json=rangeEnd,proto3\" json:\"range_end,omitempty\"`\n\t// limit is a limit on the number of keys returned for the request. When limit is set to 0,\n\t// it is treated as no limit.\n\tLimit int64 `protobuf:\"varint,3,opt,name=limit,proto3\" json:\"limit,omitempty\"`\n\t// revision is the point-in-time of the key-value store to use for the range.\n\t// If revision is less or equal to zero, the range is over the newest key-value store.\n\t// If the revision has been compacted, ErrCompacted is returned as a response.\n\tRevision int64 `protobuf:\"varint,4,opt,name=revision,proto3\" json:\"revision,omitempty\"`\n\t// sort_order is the order for returned sorted results.\n\tSortOrder RangeRequest_SortOrder `protobuf:\"varint,5,opt,name=sort_order,json=sortOrder,proto3,enum=etcdserverpb.RangeRequest_SortOrder\" json:\"sort_order,omitempty\"`\n\t// sort_target is the key-value field to use for sorting.\n\tSortTarget RangeRequest_SortTarget `protobuf:\"varint,6,opt,name=sort_target,json=sortTarget,proto3,enum=etcdserverpb.RangeRequest_SortTarget\" json:\"sort_target,omitempty\"`\n\t// serializable sets the range request to use serializable member-local reads.\n\t// Range requests are linearizable by default; linearizable requests have higher\n\t// latency and lower throughput than serializable requests but reflect the current\n\t// consensus of the cluster. For better performance, in exchange for possible stale reads,\n\t// a serializable range request is served locally without needing to reach consensus\n\t// with other nodes in the cluster.\n\tSerializable bool `protobuf:\"varint,7,opt,name=serializable,proto3\" json:\"serializable,omitempty\"`\n\t// keys_only when set returns only the keys and not the values.\n\tKeysOnly bool `protobuf:\"varint,8,opt,name=keys_only,json=keysOnly,proto3\" json:\"keys_only,omitempty\"`\n\t// count_only when set returns only the count of the keys in the range.\n\tCountOnly bool `protobuf:\"varint,9,opt,name=count_only,json=countOnly,proto3\" json:\"count_only,omitempty\"`\n\t// min_mod_revision is the lower bound for returned key mod revisions; all keys with\n\t// lesser mod revisions will be filtered away.\n\tMinModRevision int64 `protobuf:\"varint,10,opt,name=min_mod_revision,json=minModRevision,proto3\" json:\"min_mod_revision,omitempty\"`\n\t// max_mod_revision is the upper bound for returned key mod revisions; all keys with\n\t// greater mod revisions will be filtered away.\n\tMaxModRevision int64 `protobuf:\"varint,11,opt,name=max_mod_revision,json=maxModRevision,proto3\" json:\"max_mod_revision,omitempty\"`\n\t// min_create_revision is the lower bound for returned key create revisions; all keys with\n\t// lesser create revisions will be filtered away.\n\tMinCreateRevision int64 `protobuf:\"varint,12,opt,name=min_create_revision,json=minCreateRevision,proto3\" json:\"min_create_revision,omitempty\"`\n\t// max_create_revision is the upper bound for returned key create revisions; all keys with\n\t// greater create revisions will be filtered away.\n\tMaxCreateRevision int64 `protobuf:\"varint,13,opt,name=max_create_revision,json=maxCreateRevision,proto3\" json:\"max_create_revision,omitempty\"`\n}\n\nfunc (m *RangeRequest) Reset()                    { *m = RangeRequest{} }\nfunc (m *RangeRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*RangeRequest) ProtoMessage()               {}\nfunc (*RangeRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{1} }\n\nfunc (m *RangeRequest) GetKey() []byte {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *RangeRequest) GetRangeEnd() []byte {\n\tif m != nil {\n\t\treturn m.RangeEnd\n\t}\n\treturn nil\n}\n\nfunc (m *RangeRequest) GetLimit() int64 {\n\tif m != nil {\n\t\treturn m.Limit\n\t}\n\treturn 0\n}\n\nfunc (m *RangeRequest) GetRevision() int64 {\n\tif m != nil {\n\t\treturn m.Revision\n\t}\n\treturn 0\n}\n\nfunc (m *RangeRequest) GetSortOrder() RangeRequest_SortOrder {\n\tif m != nil {\n\t\treturn m.SortOrder\n\t}\n\treturn RangeRequest_NONE\n}\n\nfunc (m *RangeRequest) GetSortTarget() RangeRequest_SortTarget {\n\tif m != nil {\n\t\treturn m.SortTarget\n\t}\n\treturn RangeRequest_KEY\n}\n\nfunc (m *RangeRequest) GetSerializable() bool {\n\tif m != nil {\n\t\treturn m.Serializable\n\t}\n\treturn false\n}\n\nfunc (m *RangeRequest) GetKeysOnly() bool {\n\tif m != nil {\n\t\treturn m.KeysOnly\n\t}\n\treturn false\n}\n\nfunc (m *RangeRequest) GetCountOnly() bool {\n\tif m != nil {\n\t\treturn m.CountOnly\n\t}\n\treturn false\n}\n\nfunc (m *RangeRequest) GetMinModRevision() int64 {\n\tif m != nil {\n\t\treturn m.MinModRevision\n\t}\n\treturn 0\n}\n\nfunc (m *RangeRequest) GetMaxModRevision() int64 {\n\tif m != nil {\n\t\treturn m.MaxModRevision\n\t}\n\treturn 0\n}\n\nfunc (m *RangeRequest) GetMinCreateRevision() int64 {\n\tif m != nil {\n\t\treturn m.MinCreateRevision\n\t}\n\treturn 0\n}\n\nfunc (m *RangeRequest) GetMaxCreateRevision() int64 {\n\tif m != nil {\n\t\treturn m.MaxCreateRevision\n\t}\n\treturn 0\n}\n\ntype RangeResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// kvs is the list of key-value pairs matched by the range request.\n\t// kvs is empty when count is requested.\n\tKvs []*mvccpb.KeyValue `protobuf:\"bytes,2,rep,name=kvs\" json:\"kvs,omitempty\"`\n\t// more indicates if there are more keys to return in the requested range.\n\tMore bool `protobuf:\"varint,3,opt,name=more,proto3\" json:\"more,omitempty\"`\n\t// count is set to the number of keys within the range when requested.\n\tCount int64 `protobuf:\"varint,4,opt,name=count,proto3\" json:\"count,omitempty\"`\n}\n\nfunc (m *RangeResponse) Reset()                    { *m = RangeResponse{} }\nfunc (m *RangeResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*RangeResponse) ProtoMessage()               {}\nfunc (*RangeResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{2} }\n\nfunc (m *RangeResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *RangeResponse) GetKvs() []*mvccpb.KeyValue {\n\tif m != nil {\n\t\treturn m.Kvs\n\t}\n\treturn nil\n}\n\nfunc (m *RangeResponse) GetMore() bool {\n\tif m != nil {\n\t\treturn m.More\n\t}\n\treturn false\n}\n\nfunc (m *RangeResponse) GetCount() int64 {\n\tif m != nil {\n\t\treturn m.Count\n\t}\n\treturn 0\n}\n\ntype PutRequest struct {\n\t// key is the key, in bytes, to put into the key-value store.\n\tKey []byte `protobuf:\"bytes,1,opt,name=key,proto3\" json:\"key,omitempty\"`\n\t// value is the value, in bytes, to associate with the key in the key-value store.\n\tValue []byte `protobuf:\"bytes,2,opt,name=value,proto3\" json:\"value,omitempty\"`\n\t// lease is the lease ID to associate with the key in the key-value store. A lease\n\t// value of 0 indicates no lease.\n\tLease int64 `protobuf:\"varint,3,opt,name=lease,proto3\" json:\"lease,omitempty\"`\n\t// If prev_kv is set, etcd gets the previous key-value pair before changing it.\n\t// The previous key-value pair will be returned in the put response.\n\tPrevKv bool `protobuf:\"varint,4,opt,name=prev_kv,json=prevKv,proto3\" json:\"prev_kv,omitempty\"`\n\t// If ignore_value is set, etcd updates the key using its current value.\n\t// Returns an error if the key does not exist.\n\tIgnoreValue bool `protobuf:\"varint,5,opt,name=ignore_value,json=ignoreValue,proto3\" json:\"ignore_value,omitempty\"`\n\t// If ignore_lease is set, etcd updates the key using its current lease.\n\t// Returns an error if the key does not exist.\n\tIgnoreLease bool `protobuf:\"varint,6,opt,name=ignore_lease,json=ignoreLease,proto3\" json:\"ignore_lease,omitempty\"`\n}\n\nfunc (m *PutRequest) Reset()                    { *m = PutRequest{} }\nfunc (m *PutRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*PutRequest) ProtoMessage()               {}\nfunc (*PutRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{3} }\n\nfunc (m *PutRequest) GetKey() []byte {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *PutRequest) GetValue() []byte {\n\tif m != nil {\n\t\treturn m.Value\n\t}\n\treturn nil\n}\n\nfunc (m *PutRequest) GetLease() int64 {\n\tif m != nil {\n\t\treturn m.Lease\n\t}\n\treturn 0\n}\n\nfunc (m *PutRequest) GetPrevKv() bool {\n\tif m != nil {\n\t\treturn m.PrevKv\n\t}\n\treturn false\n}\n\nfunc (m *PutRequest) GetIgnoreValue() bool {\n\tif m != nil {\n\t\treturn m.IgnoreValue\n\t}\n\treturn false\n}\n\nfunc (m *PutRequest) GetIgnoreLease() bool {\n\tif m != nil {\n\t\treturn m.IgnoreLease\n\t}\n\treturn false\n}\n\ntype PutResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// if prev_kv is set in the request, the previous key-value pair will be returned.\n\tPrevKv *mvccpb.KeyValue `protobuf:\"bytes,2,opt,name=prev_kv,json=prevKv\" json:\"prev_kv,omitempty\"`\n}\n\nfunc (m *PutResponse) Reset()                    { *m = PutResponse{} }\nfunc (m *PutResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*PutResponse) ProtoMessage()               {}\nfunc (*PutResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{4} }\n\nfunc (m *PutResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *PutResponse) GetPrevKv() *mvccpb.KeyValue {\n\tif m != nil {\n\t\treturn m.PrevKv\n\t}\n\treturn nil\n}\n\ntype DeleteRangeRequest struct {\n\t// key is the first key to delete in the range.\n\tKey []byte `protobuf:\"bytes,1,opt,name=key,proto3\" json:\"key,omitempty\"`\n\t// range_end is the key following the last key to delete for the range [key, range_end).\n\t// If range_end is not given, the range is defined to contain only the key argument.\n\t// If range_end is one bit larger than the given key, then the range is all the keys\n\t// with the prefix (the given key).\n\t// If range_end is '\\0', the range is all keys greater than or equal to the key argument.\n\tRangeEnd []byte `protobuf:\"bytes,2,opt,name=range_end,json=rangeEnd,proto3\" json:\"range_end,omitempty\"`\n\t// If prev_kv is set, etcd gets the previous key-value pairs before deleting it.\n\t// The previous key-value pairs will be returned in the delete response.\n\tPrevKv bool `protobuf:\"varint,3,opt,name=prev_kv,json=prevKv,proto3\" json:\"prev_kv,omitempty\"`\n}\n\nfunc (m *DeleteRangeRequest) Reset()                    { *m = DeleteRangeRequest{} }\nfunc (m *DeleteRangeRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*DeleteRangeRequest) ProtoMessage()               {}\nfunc (*DeleteRangeRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{5} }\n\nfunc (m *DeleteRangeRequest) GetKey() []byte {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *DeleteRangeRequest) GetRangeEnd() []byte {\n\tif m != nil {\n\t\treturn m.RangeEnd\n\t}\n\treturn nil\n}\n\nfunc (m *DeleteRangeRequest) GetPrevKv() bool {\n\tif m != nil {\n\t\treturn m.PrevKv\n\t}\n\treturn false\n}\n\ntype DeleteRangeResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// deleted is the number of keys deleted by the delete range request.\n\tDeleted int64 `protobuf:\"varint,2,opt,name=deleted,proto3\" json:\"deleted,omitempty\"`\n\t// if prev_kv is set in the request, the previous key-value pairs will be returned.\n\tPrevKvs []*mvccpb.KeyValue `protobuf:\"bytes,3,rep,name=prev_kvs,json=prevKvs\" json:\"prev_kvs,omitempty\"`\n}\n\nfunc (m *DeleteRangeResponse) Reset()                    { *m = DeleteRangeResponse{} }\nfunc (m *DeleteRangeResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*DeleteRangeResponse) ProtoMessage()               {}\nfunc (*DeleteRangeResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{6} }\n\nfunc (m *DeleteRangeResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *DeleteRangeResponse) GetDeleted() int64 {\n\tif m != nil {\n\t\treturn m.Deleted\n\t}\n\treturn 0\n}\n\nfunc (m *DeleteRangeResponse) GetPrevKvs() []*mvccpb.KeyValue {\n\tif m != nil {\n\t\treturn m.PrevKvs\n\t}\n\treturn nil\n}\n\ntype RequestOp struct {\n\t// request is a union of request types accepted by a transaction.\n\t//\n\t// Types that are valid to be assigned to Request:\n\t//\t*RequestOp_RequestRange\n\t//\t*RequestOp_RequestPut\n\t//\t*RequestOp_RequestDeleteRange\n\t//\t*RequestOp_RequestTxn\n\tRequest isRequestOp_Request `protobuf_oneof:\"request\"`\n}\n\nfunc (m *RequestOp) Reset()                    { *m = RequestOp{} }\nfunc (m *RequestOp) String() string            { return proto.CompactTextString(m) }\nfunc (*RequestOp) ProtoMessage()               {}\nfunc (*RequestOp) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{7} }\n\ntype isRequestOp_Request interface {\n\tisRequestOp_Request()\n\tMarshalTo([]byte) (int, error)\n\tSize() int\n}\n\ntype RequestOp_RequestRange struct {\n\tRequestRange *RangeRequest `protobuf:\"bytes,1,opt,name=request_range,json=requestRange,oneof\"`\n}\ntype RequestOp_RequestPut struct {\n\tRequestPut *PutRequest `protobuf:\"bytes,2,opt,name=request_put,json=requestPut,oneof\"`\n}\ntype RequestOp_RequestDeleteRange struct {\n\tRequestDeleteRange *DeleteRangeRequest `protobuf:\"bytes,3,opt,name=request_delete_range,json=requestDeleteRange,oneof\"`\n}\ntype RequestOp_RequestTxn struct {\n\tRequestTxn *TxnRequest `protobuf:\"bytes,4,opt,name=request_txn,json=requestTxn,oneof\"`\n}\n\nfunc (*RequestOp_RequestRange) isRequestOp_Request()       {}\nfunc (*RequestOp_RequestPut) isRequestOp_Request()         {}\nfunc (*RequestOp_RequestDeleteRange) isRequestOp_Request() {}\nfunc (*RequestOp_RequestTxn) isRequestOp_Request()         {}\n\nfunc (m *RequestOp) GetRequest() isRequestOp_Request {\n\tif m != nil {\n\t\treturn m.Request\n\t}\n\treturn nil\n}\n\nfunc (m *RequestOp) GetRequestRange() *RangeRequest {\n\tif x, ok := m.GetRequest().(*RequestOp_RequestRange); ok {\n\t\treturn x.RequestRange\n\t}\n\treturn nil\n}\n\nfunc (m *RequestOp) GetRequestPut() *PutRequest {\n\tif x, ok := m.GetRequest().(*RequestOp_RequestPut); ok {\n\t\treturn x.RequestPut\n\t}\n\treturn nil\n}\n\nfunc (m *RequestOp) GetRequestDeleteRange() *DeleteRangeRequest {\n\tif x, ok := m.GetRequest().(*RequestOp_RequestDeleteRange); ok {\n\t\treturn x.RequestDeleteRange\n\t}\n\treturn nil\n}\n\nfunc (m *RequestOp) GetRequestTxn() *TxnRequest {\n\tif x, ok := m.GetRequest().(*RequestOp_RequestTxn); ok {\n\t\treturn x.RequestTxn\n\t}\n\treturn nil\n}\n\n// XXX_OneofFuncs is for the internal use of the proto package.\nfunc (*RequestOp) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {\n\treturn _RequestOp_OneofMarshaler, _RequestOp_OneofUnmarshaler, _RequestOp_OneofSizer, []interface{}{\n\t\t(*RequestOp_RequestRange)(nil),\n\t\t(*RequestOp_RequestPut)(nil),\n\t\t(*RequestOp_RequestDeleteRange)(nil),\n\t\t(*RequestOp_RequestTxn)(nil),\n\t}\n}\n\nfunc _RequestOp_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {\n\tm := msg.(*RequestOp)\n\t// request\n\tswitch x := m.Request.(type) {\n\tcase *RequestOp_RequestRange:\n\t\t_ = b.EncodeVarint(1<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.RequestRange); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase *RequestOp_RequestPut:\n\t\t_ = b.EncodeVarint(2<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.RequestPut); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase *RequestOp_RequestDeleteRange:\n\t\t_ = b.EncodeVarint(3<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.RequestDeleteRange); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase *RequestOp_RequestTxn:\n\t\t_ = b.EncodeVarint(4<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.RequestTxn); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase nil:\n\tdefault:\n\t\treturn fmt.Errorf(\"RequestOp.Request has unexpected type %T\", x)\n\t}\n\treturn nil\n}\n\nfunc _RequestOp_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {\n\tm := msg.(*RequestOp)\n\tswitch tag {\n\tcase 1: // request.request_range\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(RangeRequest)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.Request = &RequestOp_RequestRange{msg}\n\t\treturn true, err\n\tcase 2: // request.request_put\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(PutRequest)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.Request = &RequestOp_RequestPut{msg}\n\t\treturn true, err\n\tcase 3: // request.request_delete_range\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(DeleteRangeRequest)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.Request = &RequestOp_RequestDeleteRange{msg}\n\t\treturn true, err\n\tcase 4: // request.request_txn\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(TxnRequest)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.Request = &RequestOp_RequestTxn{msg}\n\t\treturn true, err\n\tdefault:\n\t\treturn false, nil\n\t}\n}\n\nfunc _RequestOp_OneofSizer(msg proto.Message) (n int) {\n\tm := msg.(*RequestOp)\n\t// request\n\tswitch x := m.Request.(type) {\n\tcase *RequestOp_RequestRange:\n\t\ts := proto.Size(x.RequestRange)\n\t\tn += proto.SizeVarint(1<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase *RequestOp_RequestPut:\n\t\ts := proto.Size(x.RequestPut)\n\t\tn += proto.SizeVarint(2<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase *RequestOp_RequestDeleteRange:\n\t\ts := proto.Size(x.RequestDeleteRange)\n\t\tn += proto.SizeVarint(3<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase *RequestOp_RequestTxn:\n\t\ts := proto.Size(x.RequestTxn)\n\t\tn += proto.SizeVarint(4<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase nil:\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"proto: unexpected type %T in oneof\", x))\n\t}\n\treturn n\n}\n\ntype ResponseOp struct {\n\t// response is a union of response types returned by a transaction.\n\t//\n\t// Types that are valid to be assigned to Response:\n\t//\t*ResponseOp_ResponseRange\n\t//\t*ResponseOp_ResponsePut\n\t//\t*ResponseOp_ResponseDeleteRange\n\t//\t*ResponseOp_ResponseTxn\n\tResponse isResponseOp_Response `protobuf_oneof:\"response\"`\n}\n\nfunc (m *ResponseOp) Reset()                    { *m = ResponseOp{} }\nfunc (m *ResponseOp) String() string            { return proto.CompactTextString(m) }\nfunc (*ResponseOp) ProtoMessage()               {}\nfunc (*ResponseOp) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{8} }\n\ntype isResponseOp_Response interface {\n\tisResponseOp_Response()\n\tMarshalTo([]byte) (int, error)\n\tSize() int\n}\n\ntype ResponseOp_ResponseRange struct {\n\tResponseRange *RangeResponse `protobuf:\"bytes,1,opt,name=response_range,json=responseRange,oneof\"`\n}\ntype ResponseOp_ResponsePut struct {\n\tResponsePut *PutResponse `protobuf:\"bytes,2,opt,name=response_put,json=responsePut,oneof\"`\n}\ntype ResponseOp_ResponseDeleteRange struct {\n\tResponseDeleteRange *DeleteRangeResponse `protobuf:\"bytes,3,opt,name=response_delete_range,json=responseDeleteRange,oneof\"`\n}\ntype ResponseOp_ResponseTxn struct {\n\tResponseTxn *TxnResponse `protobuf:\"bytes,4,opt,name=response_txn,json=responseTxn,oneof\"`\n}\n\nfunc (*ResponseOp_ResponseRange) isResponseOp_Response()       {}\nfunc (*ResponseOp_ResponsePut) isResponseOp_Response()         {}\nfunc (*ResponseOp_ResponseDeleteRange) isResponseOp_Response() {}\nfunc (*ResponseOp_ResponseTxn) isResponseOp_Response()         {}\n\nfunc (m *ResponseOp) GetResponse() isResponseOp_Response {\n\tif m != nil {\n\t\treturn m.Response\n\t}\n\treturn nil\n}\n\nfunc (m *ResponseOp) GetResponseRange() *RangeResponse {\n\tif x, ok := m.GetResponse().(*ResponseOp_ResponseRange); ok {\n\t\treturn x.ResponseRange\n\t}\n\treturn nil\n}\n\nfunc (m *ResponseOp) GetResponsePut() *PutResponse {\n\tif x, ok := m.GetResponse().(*ResponseOp_ResponsePut); ok {\n\t\treturn x.ResponsePut\n\t}\n\treturn nil\n}\n\nfunc (m *ResponseOp) GetResponseDeleteRange() *DeleteRangeResponse {\n\tif x, ok := m.GetResponse().(*ResponseOp_ResponseDeleteRange); ok {\n\t\treturn x.ResponseDeleteRange\n\t}\n\treturn nil\n}\n\nfunc (m *ResponseOp) GetResponseTxn() *TxnResponse {\n\tif x, ok := m.GetResponse().(*ResponseOp_ResponseTxn); ok {\n\t\treturn x.ResponseTxn\n\t}\n\treturn nil\n}\n\n// XXX_OneofFuncs is for the internal use of the proto package.\nfunc (*ResponseOp) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {\n\treturn _ResponseOp_OneofMarshaler, _ResponseOp_OneofUnmarshaler, _ResponseOp_OneofSizer, []interface{}{\n\t\t(*ResponseOp_ResponseRange)(nil),\n\t\t(*ResponseOp_ResponsePut)(nil),\n\t\t(*ResponseOp_ResponseDeleteRange)(nil),\n\t\t(*ResponseOp_ResponseTxn)(nil),\n\t}\n}\n\nfunc _ResponseOp_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {\n\tm := msg.(*ResponseOp)\n\t// response\n\tswitch x := m.Response.(type) {\n\tcase *ResponseOp_ResponseRange:\n\t\t_ = b.EncodeVarint(1<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.ResponseRange); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase *ResponseOp_ResponsePut:\n\t\t_ = b.EncodeVarint(2<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.ResponsePut); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase *ResponseOp_ResponseDeleteRange:\n\t\t_ = b.EncodeVarint(3<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.ResponseDeleteRange); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase *ResponseOp_ResponseTxn:\n\t\t_ = b.EncodeVarint(4<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.ResponseTxn); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase nil:\n\tdefault:\n\t\treturn fmt.Errorf(\"ResponseOp.Response has unexpected type %T\", x)\n\t}\n\treturn nil\n}\n\nfunc _ResponseOp_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {\n\tm := msg.(*ResponseOp)\n\tswitch tag {\n\tcase 1: // response.response_range\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(RangeResponse)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.Response = &ResponseOp_ResponseRange{msg}\n\t\treturn true, err\n\tcase 2: // response.response_put\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(PutResponse)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.Response = &ResponseOp_ResponsePut{msg}\n\t\treturn true, err\n\tcase 3: // response.response_delete_range\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(DeleteRangeResponse)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.Response = &ResponseOp_ResponseDeleteRange{msg}\n\t\treturn true, err\n\tcase 4: // response.response_txn\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(TxnResponse)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.Response = &ResponseOp_ResponseTxn{msg}\n\t\treturn true, err\n\tdefault:\n\t\treturn false, nil\n\t}\n}\n\nfunc _ResponseOp_OneofSizer(msg proto.Message) (n int) {\n\tm := msg.(*ResponseOp)\n\t// response\n\tswitch x := m.Response.(type) {\n\tcase *ResponseOp_ResponseRange:\n\t\ts := proto.Size(x.ResponseRange)\n\t\tn += proto.SizeVarint(1<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase *ResponseOp_ResponsePut:\n\t\ts := proto.Size(x.ResponsePut)\n\t\tn += proto.SizeVarint(2<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase *ResponseOp_ResponseDeleteRange:\n\t\ts := proto.Size(x.ResponseDeleteRange)\n\t\tn += proto.SizeVarint(3<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase *ResponseOp_ResponseTxn:\n\t\ts := proto.Size(x.ResponseTxn)\n\t\tn += proto.SizeVarint(4<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase nil:\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"proto: unexpected type %T in oneof\", x))\n\t}\n\treturn n\n}\n\ntype Compare struct {\n\t// result is logical comparison operation for this comparison.\n\tResult Compare_CompareResult `protobuf:\"varint,1,opt,name=result,proto3,enum=etcdserverpb.Compare_CompareResult\" json:\"result,omitempty\"`\n\t// target is the key-value field to inspect for the comparison.\n\tTarget Compare_CompareTarget `protobuf:\"varint,2,opt,name=target,proto3,enum=etcdserverpb.Compare_CompareTarget\" json:\"target,omitempty\"`\n\t// key is the subject key for the comparison operation.\n\tKey []byte `protobuf:\"bytes,3,opt,name=key,proto3\" json:\"key,omitempty\"`\n\t// Types that are valid to be assigned to TargetUnion:\n\t//\t*Compare_Version\n\t//\t*Compare_CreateRevision\n\t//\t*Compare_ModRevision\n\t//\t*Compare_Value\n\t//\t*Compare_Lease\n\tTargetUnion isCompare_TargetUnion `protobuf_oneof:\"target_union\"`\n\t// range_end compares the given target to all keys in the range [key, range_end).\n\t// See RangeRequest for more details on key ranges.\n\tRangeEnd []byte `protobuf:\"bytes,64,opt,name=range_end,json=rangeEnd,proto3\" json:\"range_end,omitempty\"`\n}\n\nfunc (m *Compare) Reset()                    { *m = Compare{} }\nfunc (m *Compare) String() string            { return proto.CompactTextString(m) }\nfunc (*Compare) ProtoMessage()               {}\nfunc (*Compare) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{9} }\n\ntype isCompare_TargetUnion interface {\n\tisCompare_TargetUnion()\n\tMarshalTo([]byte) (int, error)\n\tSize() int\n}\n\ntype Compare_Version struct {\n\tVersion int64 `protobuf:\"varint,4,opt,name=version,proto3,oneof\"`\n}\ntype Compare_CreateRevision struct {\n\tCreateRevision int64 `protobuf:\"varint,5,opt,name=create_revision,json=createRevision,proto3,oneof\"`\n}\ntype Compare_ModRevision struct {\n\tModRevision int64 `protobuf:\"varint,6,opt,name=mod_revision,json=modRevision,proto3,oneof\"`\n}\ntype Compare_Value struct {\n\tValue []byte `protobuf:\"bytes,7,opt,name=value,proto3,oneof\"`\n}\ntype Compare_Lease struct {\n\tLease int64 `protobuf:\"varint,8,opt,name=lease,proto3,oneof\"`\n}\n\nfunc (*Compare_Version) isCompare_TargetUnion()        {}\nfunc (*Compare_CreateRevision) isCompare_TargetUnion() {}\nfunc (*Compare_ModRevision) isCompare_TargetUnion()    {}\nfunc (*Compare_Value) isCompare_TargetUnion()          {}\nfunc (*Compare_Lease) isCompare_TargetUnion()          {}\n\nfunc (m *Compare) GetTargetUnion() isCompare_TargetUnion {\n\tif m != nil {\n\t\treturn m.TargetUnion\n\t}\n\treturn nil\n}\n\nfunc (m *Compare) GetResult() Compare_CompareResult {\n\tif m != nil {\n\t\treturn m.Result\n\t}\n\treturn Compare_EQUAL\n}\n\nfunc (m *Compare) GetTarget() Compare_CompareTarget {\n\tif m != nil {\n\t\treturn m.Target\n\t}\n\treturn Compare_VERSION\n}\n\nfunc (m *Compare) GetKey() []byte {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *Compare) GetVersion() int64 {\n\tif x, ok := m.GetTargetUnion().(*Compare_Version); ok {\n\t\treturn x.Version\n\t}\n\treturn 0\n}\n\nfunc (m *Compare) GetCreateRevision() int64 {\n\tif x, ok := m.GetTargetUnion().(*Compare_CreateRevision); ok {\n\t\treturn x.CreateRevision\n\t}\n\treturn 0\n}\n\nfunc (m *Compare) GetModRevision() int64 {\n\tif x, ok := m.GetTargetUnion().(*Compare_ModRevision); ok {\n\t\treturn x.ModRevision\n\t}\n\treturn 0\n}\n\nfunc (m *Compare) GetValue() []byte {\n\tif x, ok := m.GetTargetUnion().(*Compare_Value); ok {\n\t\treturn x.Value\n\t}\n\treturn nil\n}\n\nfunc (m *Compare) GetLease() int64 {\n\tif x, ok := m.GetTargetUnion().(*Compare_Lease); ok {\n\t\treturn x.Lease\n\t}\n\treturn 0\n}\n\nfunc (m *Compare) GetRangeEnd() []byte {\n\tif m != nil {\n\t\treturn m.RangeEnd\n\t}\n\treturn nil\n}\n\n// XXX_OneofFuncs is for the internal use of the proto package.\nfunc (*Compare) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {\n\treturn _Compare_OneofMarshaler, _Compare_OneofUnmarshaler, _Compare_OneofSizer, []interface{}{\n\t\t(*Compare_Version)(nil),\n\t\t(*Compare_CreateRevision)(nil),\n\t\t(*Compare_ModRevision)(nil),\n\t\t(*Compare_Value)(nil),\n\t\t(*Compare_Lease)(nil),\n\t}\n}\n\nfunc _Compare_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {\n\tm := msg.(*Compare)\n\t// target_union\n\tswitch x := m.TargetUnion.(type) {\n\tcase *Compare_Version:\n\t\t_ = b.EncodeVarint(4<<3 | proto.WireVarint)\n\t\t_ = b.EncodeVarint(uint64(x.Version))\n\tcase *Compare_CreateRevision:\n\t\t_ = b.EncodeVarint(5<<3 | proto.WireVarint)\n\t\t_ = b.EncodeVarint(uint64(x.CreateRevision))\n\tcase *Compare_ModRevision:\n\t\t_ = b.EncodeVarint(6<<3 | proto.WireVarint)\n\t\t_ = b.EncodeVarint(uint64(x.ModRevision))\n\tcase *Compare_Value:\n\t\t_ = b.EncodeVarint(7<<3 | proto.WireBytes)\n\t\t_ = b.EncodeRawBytes(x.Value)\n\tcase *Compare_Lease:\n\t\t_ = b.EncodeVarint(8<<3 | proto.WireVarint)\n\t\t_ = b.EncodeVarint(uint64(x.Lease))\n\tcase nil:\n\tdefault:\n\t\treturn fmt.Errorf(\"Compare.TargetUnion has unexpected type %T\", x)\n\t}\n\treturn nil\n}\n\nfunc _Compare_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {\n\tm := msg.(*Compare)\n\tswitch tag {\n\tcase 4: // target_union.version\n\t\tif wire != proto.WireVarint {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tx, err := b.DecodeVarint()\n\t\tm.TargetUnion = &Compare_Version{int64(x)}\n\t\treturn true, err\n\tcase 5: // target_union.create_revision\n\t\tif wire != proto.WireVarint {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tx, err := b.DecodeVarint()\n\t\tm.TargetUnion = &Compare_CreateRevision{int64(x)}\n\t\treturn true, err\n\tcase 6: // target_union.mod_revision\n\t\tif wire != proto.WireVarint {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tx, err := b.DecodeVarint()\n\t\tm.TargetUnion = &Compare_ModRevision{int64(x)}\n\t\treturn true, err\n\tcase 7: // target_union.value\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tx, err := b.DecodeRawBytes(true)\n\t\tm.TargetUnion = &Compare_Value{x}\n\t\treturn true, err\n\tcase 8: // target_union.lease\n\t\tif wire != proto.WireVarint {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tx, err := b.DecodeVarint()\n\t\tm.TargetUnion = &Compare_Lease{int64(x)}\n\t\treturn true, err\n\tdefault:\n\t\treturn false, nil\n\t}\n}\n\nfunc _Compare_OneofSizer(msg proto.Message) (n int) {\n\tm := msg.(*Compare)\n\t// target_union\n\tswitch x := m.TargetUnion.(type) {\n\tcase *Compare_Version:\n\t\tn += proto.SizeVarint(4<<3 | proto.WireVarint)\n\t\tn += proto.SizeVarint(uint64(x.Version))\n\tcase *Compare_CreateRevision:\n\t\tn += proto.SizeVarint(5<<3 | proto.WireVarint)\n\t\tn += proto.SizeVarint(uint64(x.CreateRevision))\n\tcase *Compare_ModRevision:\n\t\tn += proto.SizeVarint(6<<3 | proto.WireVarint)\n\t\tn += proto.SizeVarint(uint64(x.ModRevision))\n\tcase *Compare_Value:\n\t\tn += proto.SizeVarint(7<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(len(x.Value)))\n\t\tn += len(x.Value)\n\tcase *Compare_Lease:\n\t\tn += proto.SizeVarint(8<<3 | proto.WireVarint)\n\t\tn += proto.SizeVarint(uint64(x.Lease))\n\tcase nil:\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"proto: unexpected type %T in oneof\", x))\n\t}\n\treturn n\n}\n\n// From google paxosdb paper:\n// Our implementation hinges around a powerful primitive which we call MultiOp. All other database\n// operations except for iteration are implemented as a single call to MultiOp. A MultiOp is applied atomically\n// and consists of three components:\n// 1. A list of tests called guard. Each test in guard checks a single entry in the database. It may check\n// for the absence or presence of a value, or compare with a given value. Two different tests in the guard\n// may apply to the same or different entries in the database. All tests in the guard are applied and\n// MultiOp returns the results. If all tests are true, MultiOp executes t op (see item 2 below), otherwise\n// it executes f op (see item 3 below).\n// 2. A list of database operations called t op. Each operation in the list is either an insert, delete, or\n// lookup operation, and applies to a single database entry. Two different operations in the list may apply\n// to the same or different entries in the database. These operations are executed\n// if guard evaluates to\n// true.\n// 3. A list of database operations called f op. Like t op, but executed if guard evaluates to false.\ntype TxnRequest struct {\n\t// compare is a list of predicates representing a conjunction of terms.\n\t// If the comparisons succeed, then the success requests will be processed in order,\n\t// and the response will contain their respective responses in order.\n\t// If the comparisons fail, then the failure requests will be processed in order,\n\t// and the response will contain their respective responses in order.\n\tCompare []*Compare `protobuf:\"bytes,1,rep,name=compare\" json:\"compare,omitempty\"`\n\t// success is a list of requests which will be applied when compare evaluates to true.\n\tSuccess []*RequestOp `protobuf:\"bytes,2,rep,name=success\" json:\"success,omitempty\"`\n\t// failure is a list of requests which will be applied when compare evaluates to false.\n\tFailure []*RequestOp `protobuf:\"bytes,3,rep,name=failure\" json:\"failure,omitempty\"`\n}\n\nfunc (m *TxnRequest) Reset()                    { *m = TxnRequest{} }\nfunc (m *TxnRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*TxnRequest) ProtoMessage()               {}\nfunc (*TxnRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{10} }\n\nfunc (m *TxnRequest) GetCompare() []*Compare {\n\tif m != nil {\n\t\treturn m.Compare\n\t}\n\treturn nil\n}\n\nfunc (m *TxnRequest) GetSuccess() []*RequestOp {\n\tif m != nil {\n\t\treturn m.Success\n\t}\n\treturn nil\n}\n\nfunc (m *TxnRequest) GetFailure() []*RequestOp {\n\tif m != nil {\n\t\treturn m.Failure\n\t}\n\treturn nil\n}\n\ntype TxnResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// succeeded is set to true if the compare evaluated to true or false otherwise.\n\tSucceeded bool `protobuf:\"varint,2,opt,name=succeeded,proto3\" json:\"succeeded,omitempty\"`\n\t// responses is a list of responses corresponding to the results from applying\n\t// success if succeeded is true or failure if succeeded is false.\n\tResponses []*ResponseOp `protobuf:\"bytes,3,rep,name=responses\" json:\"responses,omitempty\"`\n}\n\nfunc (m *TxnResponse) Reset()                    { *m = TxnResponse{} }\nfunc (m *TxnResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*TxnResponse) ProtoMessage()               {}\nfunc (*TxnResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{11} }\n\nfunc (m *TxnResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *TxnResponse) GetSucceeded() bool {\n\tif m != nil {\n\t\treturn m.Succeeded\n\t}\n\treturn false\n}\n\nfunc (m *TxnResponse) GetResponses() []*ResponseOp {\n\tif m != nil {\n\t\treturn m.Responses\n\t}\n\treturn nil\n}\n\n// CompactionRequest compacts the key-value store up to a given revision. All superseded keys\n// with a revision less than the compaction revision will be removed.\ntype CompactionRequest struct {\n\t// revision is the key-value store revision for the compaction operation.\n\tRevision int64 `protobuf:\"varint,1,opt,name=revision,proto3\" json:\"revision,omitempty\"`\n\t// physical is set so the RPC will wait until the compaction is physically\n\t// applied to the local database such that compacted entries are totally\n\t// removed from the backend database.\n\tPhysical bool `protobuf:\"varint,2,opt,name=physical,proto3\" json:\"physical,omitempty\"`\n}\n\nfunc (m *CompactionRequest) Reset()                    { *m = CompactionRequest{} }\nfunc (m *CompactionRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*CompactionRequest) ProtoMessage()               {}\nfunc (*CompactionRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{12} }\n\nfunc (m *CompactionRequest) GetRevision() int64 {\n\tif m != nil {\n\t\treturn m.Revision\n\t}\n\treturn 0\n}\n\nfunc (m *CompactionRequest) GetPhysical() bool {\n\tif m != nil {\n\t\treturn m.Physical\n\t}\n\treturn false\n}\n\ntype CompactionResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *CompactionResponse) Reset()                    { *m = CompactionResponse{} }\nfunc (m *CompactionResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*CompactionResponse) ProtoMessage()               {}\nfunc (*CompactionResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{13} }\n\nfunc (m *CompactionResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype HashRequest struct {\n}\n\nfunc (m *HashRequest) Reset()                    { *m = HashRequest{} }\nfunc (m *HashRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*HashRequest) ProtoMessage()               {}\nfunc (*HashRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{14} }\n\ntype HashKVRequest struct {\n\t// revision is the key-value store revision for the hash operation.\n\tRevision int64 `protobuf:\"varint,1,opt,name=revision,proto3\" json:\"revision,omitempty\"`\n}\n\nfunc (m *HashKVRequest) Reset()                    { *m = HashKVRequest{} }\nfunc (m *HashKVRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*HashKVRequest) ProtoMessage()               {}\nfunc (*HashKVRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{15} }\n\nfunc (m *HashKVRequest) GetRevision() int64 {\n\tif m != nil {\n\t\treturn m.Revision\n\t}\n\treturn 0\n}\n\ntype HashKVResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// hash is the hash value computed from the responding member's MVCC keys up to a given revision.\n\tHash uint32 `protobuf:\"varint,2,opt,name=hash,proto3\" json:\"hash,omitempty\"`\n\t// compact_revision is the compacted revision of key-value store when hash begins.\n\tCompactRevision int64 `protobuf:\"varint,3,opt,name=compact_revision,json=compactRevision,proto3\" json:\"compact_revision,omitempty\"`\n}\n\nfunc (m *HashKVResponse) Reset()                    { *m = HashKVResponse{} }\nfunc (m *HashKVResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*HashKVResponse) ProtoMessage()               {}\nfunc (*HashKVResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{16} }\n\nfunc (m *HashKVResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *HashKVResponse) GetHash() uint32 {\n\tif m != nil {\n\t\treturn m.Hash\n\t}\n\treturn 0\n}\n\nfunc (m *HashKVResponse) GetCompactRevision() int64 {\n\tif m != nil {\n\t\treturn m.CompactRevision\n\t}\n\treturn 0\n}\n\ntype HashResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// hash is the hash value computed from the responding member's KV's backend.\n\tHash uint32 `protobuf:\"varint,2,opt,name=hash,proto3\" json:\"hash,omitempty\"`\n}\n\nfunc (m *HashResponse) Reset()                    { *m = HashResponse{} }\nfunc (m *HashResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*HashResponse) ProtoMessage()               {}\nfunc (*HashResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{17} }\n\nfunc (m *HashResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *HashResponse) GetHash() uint32 {\n\tif m != nil {\n\t\treturn m.Hash\n\t}\n\treturn 0\n}\n\ntype SnapshotRequest struct {\n}\n\nfunc (m *SnapshotRequest) Reset()                    { *m = SnapshotRequest{} }\nfunc (m *SnapshotRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*SnapshotRequest) ProtoMessage()               {}\nfunc (*SnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{18} }\n\ntype SnapshotResponse struct {\n\t// header has the current key-value store information. The first header in the snapshot\n\t// stream indicates the point in time of the snapshot.\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// remaining_bytes is the number of blob bytes to be sent after this message\n\tRemainingBytes uint64 `protobuf:\"varint,2,opt,name=remaining_bytes,json=remainingBytes,proto3\" json:\"remaining_bytes,omitempty\"`\n\t// blob contains the next chunk of the snapshot in the snapshot stream.\n\tBlob []byte `protobuf:\"bytes,3,opt,name=blob,proto3\" json:\"blob,omitempty\"`\n}\n\nfunc (m *SnapshotResponse) Reset()                    { *m = SnapshotResponse{} }\nfunc (m *SnapshotResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*SnapshotResponse) ProtoMessage()               {}\nfunc (*SnapshotResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{19} }\n\nfunc (m *SnapshotResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *SnapshotResponse) GetRemainingBytes() uint64 {\n\tif m != nil {\n\t\treturn m.RemainingBytes\n\t}\n\treturn 0\n}\n\nfunc (m *SnapshotResponse) GetBlob() []byte {\n\tif m != nil {\n\t\treturn m.Blob\n\t}\n\treturn nil\n}\n\ntype WatchRequest struct {\n\t// request_union is a request to either create a new watcher or cancel an existing watcher.\n\t//\n\t// Types that are valid to be assigned to RequestUnion:\n\t//\t*WatchRequest_CreateRequest\n\t//\t*WatchRequest_CancelRequest\n\tRequestUnion isWatchRequest_RequestUnion `protobuf_oneof:\"request_union\"`\n}\n\nfunc (m *WatchRequest) Reset()                    { *m = WatchRequest{} }\nfunc (m *WatchRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*WatchRequest) ProtoMessage()               {}\nfunc (*WatchRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{20} }\n\ntype isWatchRequest_RequestUnion interface {\n\tisWatchRequest_RequestUnion()\n\tMarshalTo([]byte) (int, error)\n\tSize() int\n}\n\ntype WatchRequest_CreateRequest struct {\n\tCreateRequest *WatchCreateRequest `protobuf:\"bytes,1,opt,name=create_request,json=createRequest,oneof\"`\n}\ntype WatchRequest_CancelRequest struct {\n\tCancelRequest *WatchCancelRequest `protobuf:\"bytes,2,opt,name=cancel_request,json=cancelRequest,oneof\"`\n}\n\nfunc (*WatchRequest_CreateRequest) isWatchRequest_RequestUnion() {}\nfunc (*WatchRequest_CancelRequest) isWatchRequest_RequestUnion() {}\n\nfunc (m *WatchRequest) GetRequestUnion() isWatchRequest_RequestUnion {\n\tif m != nil {\n\t\treturn m.RequestUnion\n\t}\n\treturn nil\n}\n\nfunc (m *WatchRequest) GetCreateRequest() *WatchCreateRequest {\n\tif x, ok := m.GetRequestUnion().(*WatchRequest_CreateRequest); ok {\n\t\treturn x.CreateRequest\n\t}\n\treturn nil\n}\n\nfunc (m *WatchRequest) GetCancelRequest() *WatchCancelRequest {\n\tif x, ok := m.GetRequestUnion().(*WatchRequest_CancelRequest); ok {\n\t\treturn x.CancelRequest\n\t}\n\treturn nil\n}\n\n// XXX_OneofFuncs is for the internal use of the proto package.\nfunc (*WatchRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {\n\treturn _WatchRequest_OneofMarshaler, _WatchRequest_OneofUnmarshaler, _WatchRequest_OneofSizer, []interface{}{\n\t\t(*WatchRequest_CreateRequest)(nil),\n\t\t(*WatchRequest_CancelRequest)(nil),\n\t}\n}\n\nfunc _WatchRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {\n\tm := msg.(*WatchRequest)\n\t// request_union\n\tswitch x := m.RequestUnion.(type) {\n\tcase *WatchRequest_CreateRequest:\n\t\t_ = b.EncodeVarint(1<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.CreateRequest); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase *WatchRequest_CancelRequest:\n\t\t_ = b.EncodeVarint(2<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.CancelRequest); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase nil:\n\tdefault:\n\t\treturn fmt.Errorf(\"WatchRequest.RequestUnion has unexpected type %T\", x)\n\t}\n\treturn nil\n}\n\nfunc _WatchRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {\n\tm := msg.(*WatchRequest)\n\tswitch tag {\n\tcase 1: // request_union.create_request\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(WatchCreateRequest)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.RequestUnion = &WatchRequest_CreateRequest{msg}\n\t\treturn true, err\n\tcase 2: // request_union.cancel_request\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(WatchCancelRequest)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.RequestUnion = &WatchRequest_CancelRequest{msg}\n\t\treturn true, err\n\tdefault:\n\t\treturn false, nil\n\t}\n}\n\nfunc _WatchRequest_OneofSizer(msg proto.Message) (n int) {\n\tm := msg.(*WatchRequest)\n\t// request_union\n\tswitch x := m.RequestUnion.(type) {\n\tcase *WatchRequest_CreateRequest:\n\t\ts := proto.Size(x.CreateRequest)\n\t\tn += proto.SizeVarint(1<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase *WatchRequest_CancelRequest:\n\t\ts := proto.Size(x.CancelRequest)\n\t\tn += proto.SizeVarint(2<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase nil:\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"proto: unexpected type %T in oneof\", x))\n\t}\n\treturn n\n}\n\ntype WatchCreateRequest struct {\n\t// key is the key to register for watching.\n\tKey []byte `protobuf:\"bytes,1,opt,name=key,proto3\" json:\"key,omitempty\"`\n\t// range_end is the end of the range [key, range_end) to watch. If range_end is not given,\n\t// only the key argument is watched. If range_end is equal to '\\0', all keys greater than\n\t// or equal to the key argument are watched.\n\t// If the range_end is one bit larger than the given key,\n\t// then all keys with the prefix (the given key) will be watched.\n\tRangeEnd []byte `protobuf:\"bytes,2,opt,name=range_end,json=rangeEnd,proto3\" json:\"range_end,omitempty\"`\n\t// start_revision is an optional revision to watch from (inclusive). No start_revision is \"now\".\n\tStartRevision int64 `protobuf:\"varint,3,opt,name=start_revision,json=startRevision,proto3\" json:\"start_revision,omitempty\"`\n\t// progress_notify is set so that the etcd server will periodically send a WatchResponse with\n\t// no events to the new watcher if there are no recent events. It is useful when clients\n\t// wish to recover a disconnected watcher starting from a recent known revision.\n\t// The etcd server may decide how often it will send notifications based on current load.\n\tProgressNotify bool `protobuf:\"varint,4,opt,name=progress_notify,json=progressNotify,proto3\" json:\"progress_notify,omitempty\"`\n\t// filters filter the events at server side before it sends back to the watcher.\n\tFilters []WatchCreateRequest_FilterType `protobuf:\"varint,5,rep,packed,name=filters,enum=etcdserverpb.WatchCreateRequest_FilterType\" json:\"filters,omitempty\"`\n\t// If prev_kv is set, created watcher gets the previous KV before the event happens.\n\t// If the previous KV is already compacted, nothing will be returned.\n\tPrevKv bool `protobuf:\"varint,6,opt,name=prev_kv,json=prevKv,proto3\" json:\"prev_kv,omitempty\"`\n\t// If watch_id is provided and non-zero, it will be assigned to this watcher.\n\t// Since creating a watcher in etcd is not a synchronous operation,\n\t// this can be used ensure that ordering is correct when creating multiple\n\t// watchers on the same stream. Creating a watcher with an ID already in\n\t// use on the stream will cause an error to be returned.\n\tWatchId int64 `protobuf:\"varint,7,opt,name=watch_id,json=watchId,proto3\" json:\"watch_id,omitempty\"`\n\t// fragment enables splitting large revisions into multiple watch responses.\n\tFragment bool `protobuf:\"varint,8,opt,name=fragment,proto3\" json:\"fragment,omitempty\"`\n}\n\nfunc (m *WatchCreateRequest) Reset()                    { *m = WatchCreateRequest{} }\nfunc (m *WatchCreateRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*WatchCreateRequest) ProtoMessage()               {}\nfunc (*WatchCreateRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{21} }\n\nfunc (m *WatchCreateRequest) GetKey() []byte {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *WatchCreateRequest) GetRangeEnd() []byte {\n\tif m != nil {\n\t\treturn m.RangeEnd\n\t}\n\treturn nil\n}\n\nfunc (m *WatchCreateRequest) GetStartRevision() int64 {\n\tif m != nil {\n\t\treturn m.StartRevision\n\t}\n\treturn 0\n}\n\nfunc (m *WatchCreateRequest) GetProgressNotify() bool {\n\tif m != nil {\n\t\treturn m.ProgressNotify\n\t}\n\treturn false\n}\n\nfunc (m *WatchCreateRequest) GetFilters() []WatchCreateRequest_FilterType {\n\tif m != nil {\n\t\treturn m.Filters\n\t}\n\treturn nil\n}\n\nfunc (m *WatchCreateRequest) GetPrevKv() bool {\n\tif m != nil {\n\t\treturn m.PrevKv\n\t}\n\treturn false\n}\n\nfunc (m *WatchCreateRequest) GetWatchId() int64 {\n\tif m != nil {\n\t\treturn m.WatchId\n\t}\n\treturn 0\n}\n\nfunc (m *WatchCreateRequest) GetFragment() bool {\n\tif m != nil {\n\t\treturn m.Fragment\n\t}\n\treturn false\n}\n\ntype WatchCancelRequest struct {\n\t// watch_id is the watcher id to cancel so that no more events are transmitted.\n\tWatchId int64 `protobuf:\"varint,1,opt,name=watch_id,json=watchId,proto3\" json:\"watch_id,omitempty\"`\n}\n\nfunc (m *WatchCancelRequest) Reset()                    { *m = WatchCancelRequest{} }\nfunc (m *WatchCancelRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*WatchCancelRequest) ProtoMessage()               {}\nfunc (*WatchCancelRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{22} }\n\nfunc (m *WatchCancelRequest) GetWatchId() int64 {\n\tif m != nil {\n\t\treturn m.WatchId\n\t}\n\treturn 0\n}\n\ntype WatchResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// watch_id is the ID of the watcher that corresponds to the response.\n\tWatchId int64 `protobuf:\"varint,2,opt,name=watch_id,json=watchId,proto3\" json:\"watch_id,omitempty\"`\n\t// created is set to true if the response is for a create watch request.\n\t// The client should record the watch_id and expect to receive events for\n\t// the created watcher from the same stream.\n\t// All events sent to the created watcher will attach with the same watch_id.\n\tCreated bool `protobuf:\"varint,3,opt,name=created,proto3\" json:\"created,omitempty\"`\n\t// canceled is set to true if the response is for a cancel watch request.\n\t// No further events will be sent to the canceled watcher.\n\tCanceled bool `protobuf:\"varint,4,opt,name=canceled,proto3\" json:\"canceled,omitempty\"`\n\t// compact_revision is set to the minimum index if a watcher tries to watch\n\t// at a compacted index.\n\t//\n\t// This happens when creating a watcher at a compacted revision or the watcher cannot\n\t// catch up with the progress of the key-value store.\n\t//\n\t// The client should treat the watcher as canceled and should not try to create any\n\t// watcher with the same start_revision again.\n\tCompactRevision int64 `protobuf:\"varint,5,opt,name=compact_revision,json=compactRevision,proto3\" json:\"compact_revision,omitempty\"`\n\t// cancel_reason indicates the reason for canceling the watcher.\n\tCancelReason string `protobuf:\"bytes,6,opt,name=cancel_reason,json=cancelReason,proto3\" json:\"cancel_reason,omitempty\"`\n\t// framgment is true if large watch response was split over multiple responses.\n\tFragment bool            `protobuf:\"varint,7,opt,name=fragment,proto3\" json:\"fragment,omitempty\"`\n\tEvents   []*mvccpb.Event `protobuf:\"bytes,11,rep,name=events\" json:\"events,omitempty\"`\n}\n\nfunc (m *WatchResponse) Reset()                    { *m = WatchResponse{} }\nfunc (m *WatchResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*WatchResponse) ProtoMessage()               {}\nfunc (*WatchResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{23} }\n\nfunc (m *WatchResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *WatchResponse) GetWatchId() int64 {\n\tif m != nil {\n\t\treturn m.WatchId\n\t}\n\treturn 0\n}\n\nfunc (m *WatchResponse) GetCreated() bool {\n\tif m != nil {\n\t\treturn m.Created\n\t}\n\treturn false\n}\n\nfunc (m *WatchResponse) GetCanceled() bool {\n\tif m != nil {\n\t\treturn m.Canceled\n\t}\n\treturn false\n}\n\nfunc (m *WatchResponse) GetCompactRevision() int64 {\n\tif m != nil {\n\t\treturn m.CompactRevision\n\t}\n\treturn 0\n}\n\nfunc (m *WatchResponse) GetCancelReason() string {\n\tif m != nil {\n\t\treturn m.CancelReason\n\t}\n\treturn \"\"\n}\n\nfunc (m *WatchResponse) GetFragment() bool {\n\tif m != nil {\n\t\treturn m.Fragment\n\t}\n\treturn false\n}\n\nfunc (m *WatchResponse) GetEvents() []*mvccpb.Event {\n\tif m != nil {\n\t\treturn m.Events\n\t}\n\treturn nil\n}\n\ntype LeaseGrantRequest struct {\n\t// TTL is the advisory time-to-live in seconds. Expired lease will return -1.\n\tTTL int64 `protobuf:\"varint,1,opt,name=TTL,proto3\" json:\"TTL,omitempty\"`\n\t// ID is the requested ID for the lease. If ID is set to 0, the lessor chooses an ID.\n\tID int64 `protobuf:\"varint,2,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n}\n\nfunc (m *LeaseGrantRequest) Reset()                    { *m = LeaseGrantRequest{} }\nfunc (m *LeaseGrantRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*LeaseGrantRequest) ProtoMessage()               {}\nfunc (*LeaseGrantRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{24} }\n\nfunc (m *LeaseGrantRequest) GetTTL() int64 {\n\tif m != nil {\n\t\treturn m.TTL\n\t}\n\treturn 0\n}\n\nfunc (m *LeaseGrantRequest) GetID() int64 {\n\tif m != nil {\n\t\treturn m.ID\n\t}\n\treturn 0\n}\n\ntype LeaseGrantResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// ID is the lease ID for the granted lease.\n\tID int64 `protobuf:\"varint,2,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n\t// TTL is the server chosen lease time-to-live in seconds.\n\tTTL   int64  `protobuf:\"varint,3,opt,name=TTL,proto3\" json:\"TTL,omitempty\"`\n\tError string `protobuf:\"bytes,4,opt,name=error,proto3\" json:\"error,omitempty\"`\n}\n\nfunc (m *LeaseGrantResponse) Reset()                    { *m = LeaseGrantResponse{} }\nfunc (m *LeaseGrantResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*LeaseGrantResponse) ProtoMessage()               {}\nfunc (*LeaseGrantResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{25} }\n\nfunc (m *LeaseGrantResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *LeaseGrantResponse) GetID() int64 {\n\tif m != nil {\n\t\treturn m.ID\n\t}\n\treturn 0\n}\n\nfunc (m *LeaseGrantResponse) GetTTL() int64 {\n\tif m != nil {\n\t\treturn m.TTL\n\t}\n\treturn 0\n}\n\nfunc (m *LeaseGrantResponse) GetError() string {\n\tif m != nil {\n\t\treturn m.Error\n\t}\n\treturn \"\"\n}\n\ntype LeaseRevokeRequest struct {\n\t// ID is the lease ID to revoke. When the ID is revoked, all associated keys will be deleted.\n\tID int64 `protobuf:\"varint,1,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n}\n\nfunc (m *LeaseRevokeRequest) Reset()                    { *m = LeaseRevokeRequest{} }\nfunc (m *LeaseRevokeRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*LeaseRevokeRequest) ProtoMessage()               {}\nfunc (*LeaseRevokeRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{26} }\n\nfunc (m *LeaseRevokeRequest) GetID() int64 {\n\tif m != nil {\n\t\treturn m.ID\n\t}\n\treturn 0\n}\n\ntype LeaseRevokeResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *LeaseRevokeResponse) Reset()                    { *m = LeaseRevokeResponse{} }\nfunc (m *LeaseRevokeResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*LeaseRevokeResponse) ProtoMessage()               {}\nfunc (*LeaseRevokeResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{27} }\n\nfunc (m *LeaseRevokeResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype LeaseKeepAliveRequest struct {\n\t// ID is the lease ID for the lease to keep alive.\n\tID int64 `protobuf:\"varint,1,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n}\n\nfunc (m *LeaseKeepAliveRequest) Reset()                    { *m = LeaseKeepAliveRequest{} }\nfunc (m *LeaseKeepAliveRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*LeaseKeepAliveRequest) ProtoMessage()               {}\nfunc (*LeaseKeepAliveRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{28} }\n\nfunc (m *LeaseKeepAliveRequest) GetID() int64 {\n\tif m != nil {\n\t\treturn m.ID\n\t}\n\treturn 0\n}\n\ntype LeaseKeepAliveResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// ID is the lease ID from the keep alive request.\n\tID int64 `protobuf:\"varint,2,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n\t// TTL is the new time-to-live for the lease.\n\tTTL int64 `protobuf:\"varint,3,opt,name=TTL,proto3\" json:\"TTL,omitempty\"`\n}\n\nfunc (m *LeaseKeepAliveResponse) Reset()                    { *m = LeaseKeepAliveResponse{} }\nfunc (m *LeaseKeepAliveResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*LeaseKeepAliveResponse) ProtoMessage()               {}\nfunc (*LeaseKeepAliveResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{29} }\n\nfunc (m *LeaseKeepAliveResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *LeaseKeepAliveResponse) GetID() int64 {\n\tif m != nil {\n\t\treturn m.ID\n\t}\n\treturn 0\n}\n\nfunc (m *LeaseKeepAliveResponse) GetTTL() int64 {\n\tif m != nil {\n\t\treturn m.TTL\n\t}\n\treturn 0\n}\n\ntype LeaseTimeToLiveRequest struct {\n\t// ID is the lease ID for the lease.\n\tID int64 `protobuf:\"varint,1,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n\t// keys is true to query all the keys attached to this lease.\n\tKeys bool `protobuf:\"varint,2,opt,name=keys,proto3\" json:\"keys,omitempty\"`\n}\n\nfunc (m *LeaseTimeToLiveRequest) Reset()                    { *m = LeaseTimeToLiveRequest{} }\nfunc (m *LeaseTimeToLiveRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*LeaseTimeToLiveRequest) ProtoMessage()               {}\nfunc (*LeaseTimeToLiveRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{30} }\n\nfunc (m *LeaseTimeToLiveRequest) GetID() int64 {\n\tif m != nil {\n\t\treturn m.ID\n\t}\n\treturn 0\n}\n\nfunc (m *LeaseTimeToLiveRequest) GetKeys() bool {\n\tif m != nil {\n\t\treturn m.Keys\n\t}\n\treturn false\n}\n\ntype LeaseTimeToLiveResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// ID is the lease ID from the keep alive request.\n\tID int64 `protobuf:\"varint,2,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n\t// TTL is the remaining TTL in seconds for the lease; the lease will expire in under TTL+1 seconds.\n\tTTL int64 `protobuf:\"varint,3,opt,name=TTL,proto3\" json:\"TTL,omitempty\"`\n\t// GrantedTTL is the initial granted time in seconds upon lease creation/renewal.\n\tGrantedTTL int64 `protobuf:\"varint,4,opt,name=grantedTTL,proto3\" json:\"grantedTTL,omitempty\"`\n\t// Keys is the list of keys attached to this lease.\n\tKeys [][]byte `protobuf:\"bytes,5,rep,name=keys\" json:\"keys,omitempty\"`\n}\n\nfunc (m *LeaseTimeToLiveResponse) Reset()                    { *m = LeaseTimeToLiveResponse{} }\nfunc (m *LeaseTimeToLiveResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*LeaseTimeToLiveResponse) ProtoMessage()               {}\nfunc (*LeaseTimeToLiveResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{31} }\n\nfunc (m *LeaseTimeToLiveResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *LeaseTimeToLiveResponse) GetID() int64 {\n\tif m != nil {\n\t\treturn m.ID\n\t}\n\treturn 0\n}\n\nfunc (m *LeaseTimeToLiveResponse) GetTTL() int64 {\n\tif m != nil {\n\t\treturn m.TTL\n\t}\n\treturn 0\n}\n\nfunc (m *LeaseTimeToLiveResponse) GetGrantedTTL() int64 {\n\tif m != nil {\n\t\treturn m.GrantedTTL\n\t}\n\treturn 0\n}\n\nfunc (m *LeaseTimeToLiveResponse) GetKeys() [][]byte {\n\tif m != nil {\n\t\treturn m.Keys\n\t}\n\treturn nil\n}\n\ntype LeaseLeasesRequest struct {\n}\n\nfunc (m *LeaseLeasesRequest) Reset()                    { *m = LeaseLeasesRequest{} }\nfunc (m *LeaseLeasesRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*LeaseLeasesRequest) ProtoMessage()               {}\nfunc (*LeaseLeasesRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{32} }\n\ntype LeaseStatus struct {\n\tID int64 `protobuf:\"varint,1,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n}\n\nfunc (m *LeaseStatus) Reset()                    { *m = LeaseStatus{} }\nfunc (m *LeaseStatus) String() string            { return proto.CompactTextString(m) }\nfunc (*LeaseStatus) ProtoMessage()               {}\nfunc (*LeaseStatus) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{33} }\n\nfunc (m *LeaseStatus) GetID() int64 {\n\tif m != nil {\n\t\treturn m.ID\n\t}\n\treturn 0\n}\n\ntype LeaseLeasesResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\tLeases []*LeaseStatus  `protobuf:\"bytes,2,rep,name=leases\" json:\"leases,omitempty\"`\n}\n\nfunc (m *LeaseLeasesResponse) Reset()                    { *m = LeaseLeasesResponse{} }\nfunc (m *LeaseLeasesResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*LeaseLeasesResponse) ProtoMessage()               {}\nfunc (*LeaseLeasesResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{34} }\n\nfunc (m *LeaseLeasesResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *LeaseLeasesResponse) GetLeases() []*LeaseStatus {\n\tif m != nil {\n\t\treturn m.Leases\n\t}\n\treturn nil\n}\n\ntype Member struct {\n\t// ID is the member ID for this member.\n\tID uint64 `protobuf:\"varint,1,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n\t// name is the human-readable name of the member. If the member is not started, the name will be an empty string.\n\tName string `protobuf:\"bytes,2,opt,name=name,proto3\" json:\"name,omitempty\"`\n\t// peerURLs is the list of URLs the member exposes to the cluster for communication.\n\tPeerURLs []string `protobuf:\"bytes,3,rep,name=peerURLs\" json:\"peerURLs,omitempty\"`\n\t// clientURLs is the list of URLs the member exposes to clients for communication. If the member is not started, clientURLs will be empty.\n\tClientURLs []string `protobuf:\"bytes,4,rep,name=clientURLs\" json:\"clientURLs,omitempty\"`\n}\n\nfunc (m *Member) Reset()                    { *m = Member{} }\nfunc (m *Member) String() string            { return proto.CompactTextString(m) }\nfunc (*Member) ProtoMessage()               {}\nfunc (*Member) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{35} }\n\nfunc (m *Member) GetID() uint64 {\n\tif m != nil {\n\t\treturn m.ID\n\t}\n\treturn 0\n}\n\nfunc (m *Member) GetName() string {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *Member) GetPeerURLs() []string {\n\tif m != nil {\n\t\treturn m.PeerURLs\n\t}\n\treturn nil\n}\n\nfunc (m *Member) GetClientURLs() []string {\n\tif m != nil {\n\t\treturn m.ClientURLs\n\t}\n\treturn nil\n}\n\ntype MemberAddRequest struct {\n\t// peerURLs is the list of URLs the added member will use to communicate with the cluster.\n\tPeerURLs []string `protobuf:\"bytes,1,rep,name=peerURLs\" json:\"peerURLs,omitempty\"`\n}\n\nfunc (m *MemberAddRequest) Reset()                    { *m = MemberAddRequest{} }\nfunc (m *MemberAddRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*MemberAddRequest) ProtoMessage()               {}\nfunc (*MemberAddRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{36} }\n\nfunc (m *MemberAddRequest) GetPeerURLs() []string {\n\tif m != nil {\n\t\treturn m.PeerURLs\n\t}\n\treturn nil\n}\n\ntype MemberAddResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// member is the member information for the added member.\n\tMember *Member `protobuf:\"bytes,2,opt,name=member\" json:\"member,omitempty\"`\n\t// members is a list of all members after adding the new member.\n\tMembers []*Member `protobuf:\"bytes,3,rep,name=members\" json:\"members,omitempty\"`\n}\n\nfunc (m *MemberAddResponse) Reset()                    { *m = MemberAddResponse{} }\nfunc (m *MemberAddResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*MemberAddResponse) ProtoMessage()               {}\nfunc (*MemberAddResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{37} }\n\nfunc (m *MemberAddResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *MemberAddResponse) GetMember() *Member {\n\tif m != nil {\n\t\treturn m.Member\n\t}\n\treturn nil\n}\n\nfunc (m *MemberAddResponse) GetMembers() []*Member {\n\tif m != nil {\n\t\treturn m.Members\n\t}\n\treturn nil\n}\n\ntype MemberRemoveRequest struct {\n\t// ID is the member ID of the member to remove.\n\tID uint64 `protobuf:\"varint,1,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n}\n\nfunc (m *MemberRemoveRequest) Reset()                    { *m = MemberRemoveRequest{} }\nfunc (m *MemberRemoveRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*MemberRemoveRequest) ProtoMessage()               {}\nfunc (*MemberRemoveRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{38} }\n\nfunc (m *MemberRemoveRequest) GetID() uint64 {\n\tif m != nil {\n\t\treturn m.ID\n\t}\n\treturn 0\n}\n\ntype MemberRemoveResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// members is a list of all members after removing the member.\n\tMembers []*Member `protobuf:\"bytes,2,rep,name=members\" json:\"members,omitempty\"`\n}\n\nfunc (m *MemberRemoveResponse) Reset()                    { *m = MemberRemoveResponse{} }\nfunc (m *MemberRemoveResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*MemberRemoveResponse) ProtoMessage()               {}\nfunc (*MemberRemoveResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{39} }\n\nfunc (m *MemberRemoveResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *MemberRemoveResponse) GetMembers() []*Member {\n\tif m != nil {\n\t\treturn m.Members\n\t}\n\treturn nil\n}\n\ntype MemberUpdateRequest struct {\n\t// ID is the member ID of the member to update.\n\tID uint64 `protobuf:\"varint,1,opt,name=ID,proto3\" json:\"ID,omitempty\"`\n\t// peerURLs is the new list of URLs the member will use to communicate with the cluster.\n\tPeerURLs []string `protobuf:\"bytes,2,rep,name=peerURLs\" json:\"peerURLs,omitempty\"`\n}\n\nfunc (m *MemberUpdateRequest) Reset()                    { *m = MemberUpdateRequest{} }\nfunc (m *MemberUpdateRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*MemberUpdateRequest) ProtoMessage()               {}\nfunc (*MemberUpdateRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{40} }\n\nfunc (m *MemberUpdateRequest) GetID() uint64 {\n\tif m != nil {\n\t\treturn m.ID\n\t}\n\treturn 0\n}\n\nfunc (m *MemberUpdateRequest) GetPeerURLs() []string {\n\tif m != nil {\n\t\treturn m.PeerURLs\n\t}\n\treturn nil\n}\n\ntype MemberUpdateResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// members is a list of all members after updating the member.\n\tMembers []*Member `protobuf:\"bytes,2,rep,name=members\" json:\"members,omitempty\"`\n}\n\nfunc (m *MemberUpdateResponse) Reset()                    { *m = MemberUpdateResponse{} }\nfunc (m *MemberUpdateResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*MemberUpdateResponse) ProtoMessage()               {}\nfunc (*MemberUpdateResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{41} }\n\nfunc (m *MemberUpdateResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *MemberUpdateResponse) GetMembers() []*Member {\n\tif m != nil {\n\t\treturn m.Members\n\t}\n\treturn nil\n}\n\ntype MemberListRequest struct {\n}\n\nfunc (m *MemberListRequest) Reset()                    { *m = MemberListRequest{} }\nfunc (m *MemberListRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*MemberListRequest) ProtoMessage()               {}\nfunc (*MemberListRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{42} }\n\ntype MemberListResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// members is a list of all members associated with the cluster.\n\tMembers []*Member `protobuf:\"bytes,2,rep,name=members\" json:\"members,omitempty\"`\n}\n\nfunc (m *MemberListResponse) Reset()                    { *m = MemberListResponse{} }\nfunc (m *MemberListResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*MemberListResponse) ProtoMessage()               {}\nfunc (*MemberListResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{43} }\n\nfunc (m *MemberListResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *MemberListResponse) GetMembers() []*Member {\n\tif m != nil {\n\t\treturn m.Members\n\t}\n\treturn nil\n}\n\ntype DefragmentRequest struct {\n}\n\nfunc (m *DefragmentRequest) Reset()                    { *m = DefragmentRequest{} }\nfunc (m *DefragmentRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*DefragmentRequest) ProtoMessage()               {}\nfunc (*DefragmentRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{44} }\n\ntype DefragmentResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *DefragmentResponse) Reset()                    { *m = DefragmentResponse{} }\nfunc (m *DefragmentResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*DefragmentResponse) ProtoMessage()               {}\nfunc (*DefragmentResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{45} }\n\nfunc (m *DefragmentResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype MoveLeaderRequest struct {\n\t// targetID is the node ID for the new leader.\n\tTargetID uint64 `protobuf:\"varint,1,opt,name=targetID,proto3\" json:\"targetID,omitempty\"`\n}\n\nfunc (m *MoveLeaderRequest) Reset()                    { *m = MoveLeaderRequest{} }\nfunc (m *MoveLeaderRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*MoveLeaderRequest) ProtoMessage()               {}\nfunc (*MoveLeaderRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{46} }\n\nfunc (m *MoveLeaderRequest) GetTargetID() uint64 {\n\tif m != nil {\n\t\treturn m.TargetID\n\t}\n\treturn 0\n}\n\ntype MoveLeaderResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *MoveLeaderResponse) Reset()                    { *m = MoveLeaderResponse{} }\nfunc (m *MoveLeaderResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*MoveLeaderResponse) ProtoMessage()               {}\nfunc (*MoveLeaderResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{47} }\n\nfunc (m *MoveLeaderResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype AlarmRequest struct {\n\t// action is the kind of alarm request to issue. The action\n\t// may GET alarm statuses, ACTIVATE an alarm, or DEACTIVATE a\n\t// raised alarm.\n\tAction AlarmRequest_AlarmAction `protobuf:\"varint,1,opt,name=action,proto3,enum=etcdserverpb.AlarmRequest_AlarmAction\" json:\"action,omitempty\"`\n\t// memberID is the ID of the member associated with the alarm. If memberID is 0, the\n\t// alarm request covers all members.\n\tMemberID uint64 `protobuf:\"varint,2,opt,name=memberID,proto3\" json:\"memberID,omitempty\"`\n\t// alarm is the type of alarm to consider for this request.\n\tAlarm AlarmType `protobuf:\"varint,3,opt,name=alarm,proto3,enum=etcdserverpb.AlarmType\" json:\"alarm,omitempty\"`\n}\n\nfunc (m *AlarmRequest) Reset()                    { *m = AlarmRequest{} }\nfunc (m *AlarmRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AlarmRequest) ProtoMessage()               {}\nfunc (*AlarmRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{48} }\n\nfunc (m *AlarmRequest) GetAction() AlarmRequest_AlarmAction {\n\tif m != nil {\n\t\treturn m.Action\n\t}\n\treturn AlarmRequest_GET\n}\n\nfunc (m *AlarmRequest) GetMemberID() uint64 {\n\tif m != nil {\n\t\treturn m.MemberID\n\t}\n\treturn 0\n}\n\nfunc (m *AlarmRequest) GetAlarm() AlarmType {\n\tif m != nil {\n\t\treturn m.Alarm\n\t}\n\treturn AlarmType_NONE\n}\n\ntype AlarmMember struct {\n\t// memberID is the ID of the member associated with the raised alarm.\n\tMemberID uint64 `protobuf:\"varint,1,opt,name=memberID,proto3\" json:\"memberID,omitempty\"`\n\t// alarm is the type of alarm which has been raised.\n\tAlarm AlarmType `protobuf:\"varint,2,opt,name=alarm,proto3,enum=etcdserverpb.AlarmType\" json:\"alarm,omitempty\"`\n}\n\nfunc (m *AlarmMember) Reset()                    { *m = AlarmMember{} }\nfunc (m *AlarmMember) String() string            { return proto.CompactTextString(m) }\nfunc (*AlarmMember) ProtoMessage()               {}\nfunc (*AlarmMember) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{49} }\n\nfunc (m *AlarmMember) GetMemberID() uint64 {\n\tif m != nil {\n\t\treturn m.MemberID\n\t}\n\treturn 0\n}\n\nfunc (m *AlarmMember) GetAlarm() AlarmType {\n\tif m != nil {\n\t\treturn m.Alarm\n\t}\n\treturn AlarmType_NONE\n}\n\ntype AlarmResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// alarms is a list of alarms associated with the alarm request.\n\tAlarms []*AlarmMember `protobuf:\"bytes,2,rep,name=alarms\" json:\"alarms,omitempty\"`\n}\n\nfunc (m *AlarmResponse) Reset()                    { *m = AlarmResponse{} }\nfunc (m *AlarmResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AlarmResponse) ProtoMessage()               {}\nfunc (*AlarmResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{50} }\n\nfunc (m *AlarmResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *AlarmResponse) GetAlarms() []*AlarmMember {\n\tif m != nil {\n\t\treturn m.Alarms\n\t}\n\treturn nil\n}\n\ntype StatusRequest struct {\n}\n\nfunc (m *StatusRequest) Reset()                    { *m = StatusRequest{} }\nfunc (m *StatusRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*StatusRequest) ProtoMessage()               {}\nfunc (*StatusRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{51} }\n\ntype StatusResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// version is the cluster protocol version used by the responding member.\n\tVersion string `protobuf:\"bytes,2,opt,name=version,proto3\" json:\"version,omitempty\"`\n\t// dbSize is the size of the backend database physically allocated, in bytes, of the responding member.\n\tDbSize int64 `protobuf:\"varint,3,opt,name=dbSize,proto3\" json:\"dbSize,omitempty\"`\n\t// leader is the member ID which the responding member believes is the current leader.\n\tLeader uint64 `protobuf:\"varint,4,opt,name=leader,proto3\" json:\"leader,omitempty\"`\n\t// raftIndex is the current raft committed index of the responding member.\n\tRaftIndex uint64 `protobuf:\"varint,5,opt,name=raftIndex,proto3\" json:\"raftIndex,omitempty\"`\n\t// raftTerm is the current raft term of the responding member.\n\tRaftTerm uint64 `protobuf:\"varint,6,opt,name=raftTerm,proto3\" json:\"raftTerm,omitempty\"`\n\t// raftAppliedIndex is the current raft applied index of the responding member.\n\tRaftAppliedIndex uint64 `protobuf:\"varint,7,opt,name=raftAppliedIndex,proto3\" json:\"raftAppliedIndex,omitempty\"`\n\t// errors contains alarm/health information and status.\n\tErrors []string `protobuf:\"bytes,8,rep,name=errors\" json:\"errors,omitempty\"`\n\t// dbSizeInUse is the size of the backend database logically in use, in bytes, of the responding member.\n\tDbSizeInUse int64 `protobuf:\"varint,9,opt,name=dbSizeInUse,proto3\" json:\"dbSizeInUse,omitempty\"`\n}\n\nfunc (m *StatusResponse) Reset()                    { *m = StatusResponse{} }\nfunc (m *StatusResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*StatusResponse) ProtoMessage()               {}\nfunc (*StatusResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{52} }\n\nfunc (m *StatusResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *StatusResponse) GetVersion() string {\n\tif m != nil {\n\t\treturn m.Version\n\t}\n\treturn \"\"\n}\n\nfunc (m *StatusResponse) GetDbSize() int64 {\n\tif m != nil {\n\t\treturn m.DbSize\n\t}\n\treturn 0\n}\n\nfunc (m *StatusResponse) GetLeader() uint64 {\n\tif m != nil {\n\t\treturn m.Leader\n\t}\n\treturn 0\n}\n\nfunc (m *StatusResponse) GetRaftIndex() uint64 {\n\tif m != nil {\n\t\treturn m.RaftIndex\n\t}\n\treturn 0\n}\n\nfunc (m *StatusResponse) GetRaftTerm() uint64 {\n\tif m != nil {\n\t\treturn m.RaftTerm\n\t}\n\treturn 0\n}\n\nfunc (m *StatusResponse) GetRaftAppliedIndex() uint64 {\n\tif m != nil {\n\t\treturn m.RaftAppliedIndex\n\t}\n\treturn 0\n}\n\nfunc (m *StatusResponse) GetErrors() []string {\n\tif m != nil {\n\t\treturn m.Errors\n\t}\n\treturn nil\n}\n\nfunc (m *StatusResponse) GetDbSizeInUse() int64 {\n\tif m != nil {\n\t\treturn m.DbSizeInUse\n\t}\n\treturn 0\n}\n\ntype AuthEnableRequest struct {\n}\n\nfunc (m *AuthEnableRequest) Reset()                    { *m = AuthEnableRequest{} }\nfunc (m *AuthEnableRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthEnableRequest) ProtoMessage()               {}\nfunc (*AuthEnableRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{53} }\n\ntype AuthDisableRequest struct {\n}\n\nfunc (m *AuthDisableRequest) Reset()                    { *m = AuthDisableRequest{} }\nfunc (m *AuthDisableRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthDisableRequest) ProtoMessage()               {}\nfunc (*AuthDisableRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{54} }\n\ntype AuthenticateRequest struct {\n\tName     string `protobuf:\"bytes,1,opt,name=name,proto3\" json:\"name,omitempty\"`\n\tPassword string `protobuf:\"bytes,2,opt,name=password,proto3\" json:\"password,omitempty\"`\n}\n\nfunc (m *AuthenticateRequest) Reset()                    { *m = AuthenticateRequest{} }\nfunc (m *AuthenticateRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthenticateRequest) ProtoMessage()               {}\nfunc (*AuthenticateRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{55} }\n\nfunc (m *AuthenticateRequest) GetName() string {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *AuthenticateRequest) GetPassword() string {\n\tif m != nil {\n\t\treturn m.Password\n\t}\n\treturn \"\"\n}\n\ntype AuthUserAddRequest struct {\n\tName     string `protobuf:\"bytes,1,opt,name=name,proto3\" json:\"name,omitempty\"`\n\tPassword string `protobuf:\"bytes,2,opt,name=password,proto3\" json:\"password,omitempty\"`\n}\n\nfunc (m *AuthUserAddRequest) Reset()                    { *m = AuthUserAddRequest{} }\nfunc (m *AuthUserAddRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthUserAddRequest) ProtoMessage()               {}\nfunc (*AuthUserAddRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{56} }\n\nfunc (m *AuthUserAddRequest) GetName() string {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *AuthUserAddRequest) GetPassword() string {\n\tif m != nil {\n\t\treturn m.Password\n\t}\n\treturn \"\"\n}\n\ntype AuthUserGetRequest struct {\n\tName string `protobuf:\"bytes,1,opt,name=name,proto3\" json:\"name,omitempty\"`\n}\n\nfunc (m *AuthUserGetRequest) Reset()                    { *m = AuthUserGetRequest{} }\nfunc (m *AuthUserGetRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthUserGetRequest) ProtoMessage()               {}\nfunc (*AuthUserGetRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{57} }\n\nfunc (m *AuthUserGetRequest) GetName() string {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn \"\"\n}\n\ntype AuthUserDeleteRequest struct {\n\t// name is the name of the user to delete.\n\tName string `protobuf:\"bytes,1,opt,name=name,proto3\" json:\"name,omitempty\"`\n}\n\nfunc (m *AuthUserDeleteRequest) Reset()                    { *m = AuthUserDeleteRequest{} }\nfunc (m *AuthUserDeleteRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthUserDeleteRequest) ProtoMessage()               {}\nfunc (*AuthUserDeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{58} }\n\nfunc (m *AuthUserDeleteRequest) GetName() string {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn \"\"\n}\n\ntype AuthUserChangePasswordRequest struct {\n\t// name is the name of the user whose password is being changed.\n\tName string `protobuf:\"bytes,1,opt,name=name,proto3\" json:\"name,omitempty\"`\n\t// password is the new password for the user.\n\tPassword string `protobuf:\"bytes,2,opt,name=password,proto3\" json:\"password,omitempty\"`\n}\n\nfunc (m *AuthUserChangePasswordRequest) Reset()         { *m = AuthUserChangePasswordRequest{} }\nfunc (m *AuthUserChangePasswordRequest) String() string { return proto.CompactTextString(m) }\nfunc (*AuthUserChangePasswordRequest) ProtoMessage()    {}\nfunc (*AuthUserChangePasswordRequest) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorRpc, []int{59}\n}\n\nfunc (m *AuthUserChangePasswordRequest) GetName() string {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *AuthUserChangePasswordRequest) GetPassword() string {\n\tif m != nil {\n\t\treturn m.Password\n\t}\n\treturn \"\"\n}\n\ntype AuthUserGrantRoleRequest struct {\n\t// user is the name of the user which should be granted a given role.\n\tUser string `protobuf:\"bytes,1,opt,name=user,proto3\" json:\"user,omitempty\"`\n\t// role is the name of the role to grant to the user.\n\tRole string `protobuf:\"bytes,2,opt,name=role,proto3\" json:\"role,omitempty\"`\n}\n\nfunc (m *AuthUserGrantRoleRequest) Reset()                    { *m = AuthUserGrantRoleRequest{} }\nfunc (m *AuthUserGrantRoleRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthUserGrantRoleRequest) ProtoMessage()               {}\nfunc (*AuthUserGrantRoleRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{60} }\n\nfunc (m *AuthUserGrantRoleRequest) GetUser() string {\n\tif m != nil {\n\t\treturn m.User\n\t}\n\treturn \"\"\n}\n\nfunc (m *AuthUserGrantRoleRequest) GetRole() string {\n\tif m != nil {\n\t\treturn m.Role\n\t}\n\treturn \"\"\n}\n\ntype AuthUserRevokeRoleRequest struct {\n\tName string `protobuf:\"bytes,1,opt,name=name,proto3\" json:\"name,omitempty\"`\n\tRole string `protobuf:\"bytes,2,opt,name=role,proto3\" json:\"role,omitempty\"`\n}\n\nfunc (m *AuthUserRevokeRoleRequest) Reset()                    { *m = AuthUserRevokeRoleRequest{} }\nfunc (m *AuthUserRevokeRoleRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthUserRevokeRoleRequest) ProtoMessage()               {}\nfunc (*AuthUserRevokeRoleRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{61} }\n\nfunc (m *AuthUserRevokeRoleRequest) GetName() string {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *AuthUserRevokeRoleRequest) GetRole() string {\n\tif m != nil {\n\t\treturn m.Role\n\t}\n\treturn \"\"\n}\n\ntype AuthRoleAddRequest struct {\n\t// name is the name of the role to add to the authentication system.\n\tName string `protobuf:\"bytes,1,opt,name=name,proto3\" json:\"name,omitempty\"`\n}\n\nfunc (m *AuthRoleAddRequest) Reset()                    { *m = AuthRoleAddRequest{} }\nfunc (m *AuthRoleAddRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthRoleAddRequest) ProtoMessage()               {}\nfunc (*AuthRoleAddRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{62} }\n\nfunc (m *AuthRoleAddRequest) GetName() string {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn \"\"\n}\n\ntype AuthRoleGetRequest struct {\n\tRole string `protobuf:\"bytes,1,opt,name=role,proto3\" json:\"role,omitempty\"`\n}\n\nfunc (m *AuthRoleGetRequest) Reset()                    { *m = AuthRoleGetRequest{} }\nfunc (m *AuthRoleGetRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthRoleGetRequest) ProtoMessage()               {}\nfunc (*AuthRoleGetRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{63} }\n\nfunc (m *AuthRoleGetRequest) GetRole() string {\n\tif m != nil {\n\t\treturn m.Role\n\t}\n\treturn \"\"\n}\n\ntype AuthUserListRequest struct {\n}\n\nfunc (m *AuthUserListRequest) Reset()                    { *m = AuthUserListRequest{} }\nfunc (m *AuthUserListRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthUserListRequest) ProtoMessage()               {}\nfunc (*AuthUserListRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{64} }\n\ntype AuthRoleListRequest struct {\n}\n\nfunc (m *AuthRoleListRequest) Reset()                    { *m = AuthRoleListRequest{} }\nfunc (m *AuthRoleListRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthRoleListRequest) ProtoMessage()               {}\nfunc (*AuthRoleListRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{65} }\n\ntype AuthRoleDeleteRequest struct {\n\tRole string `protobuf:\"bytes,1,opt,name=role,proto3\" json:\"role,omitempty\"`\n}\n\nfunc (m *AuthRoleDeleteRequest) Reset()                    { *m = AuthRoleDeleteRequest{} }\nfunc (m *AuthRoleDeleteRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthRoleDeleteRequest) ProtoMessage()               {}\nfunc (*AuthRoleDeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{66} }\n\nfunc (m *AuthRoleDeleteRequest) GetRole() string {\n\tif m != nil {\n\t\treturn m.Role\n\t}\n\treturn \"\"\n}\n\ntype AuthRoleGrantPermissionRequest struct {\n\t// name is the name of the role which will be granted the permission.\n\tName string `protobuf:\"bytes,1,opt,name=name,proto3\" json:\"name,omitempty\"`\n\t// perm is the permission to grant to the role.\n\tPerm *authpb.Permission `protobuf:\"bytes,2,opt,name=perm\" json:\"perm,omitempty\"`\n}\n\nfunc (m *AuthRoleGrantPermissionRequest) Reset()         { *m = AuthRoleGrantPermissionRequest{} }\nfunc (m *AuthRoleGrantPermissionRequest) String() string { return proto.CompactTextString(m) }\nfunc (*AuthRoleGrantPermissionRequest) ProtoMessage()    {}\nfunc (*AuthRoleGrantPermissionRequest) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorRpc, []int{67}\n}\n\nfunc (m *AuthRoleGrantPermissionRequest) GetName() string {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *AuthRoleGrantPermissionRequest) GetPerm() *authpb.Permission {\n\tif m != nil {\n\t\treturn m.Perm\n\t}\n\treturn nil\n}\n\ntype AuthRoleRevokePermissionRequest struct {\n\tRole     string `protobuf:\"bytes,1,opt,name=role,proto3\" json:\"role,omitempty\"`\n\tKey      []byte `protobuf:\"bytes,2,opt,name=key,proto3\" json:\"key,omitempty\"`\n\tRangeEnd []byte `protobuf:\"bytes,3,opt,name=range_end,json=rangeEnd,proto3\" json:\"range_end,omitempty\"`\n}\n\nfunc (m *AuthRoleRevokePermissionRequest) Reset()         { *m = AuthRoleRevokePermissionRequest{} }\nfunc (m *AuthRoleRevokePermissionRequest) String() string { return proto.CompactTextString(m) }\nfunc (*AuthRoleRevokePermissionRequest) ProtoMessage()    {}\nfunc (*AuthRoleRevokePermissionRequest) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorRpc, []int{68}\n}\n\nfunc (m *AuthRoleRevokePermissionRequest) GetRole() string {\n\tif m != nil {\n\t\treturn m.Role\n\t}\n\treturn \"\"\n}\n\nfunc (m *AuthRoleRevokePermissionRequest) GetKey() []byte {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *AuthRoleRevokePermissionRequest) GetRangeEnd() []byte {\n\tif m != nil {\n\t\treturn m.RangeEnd\n\t}\n\treturn nil\n}\n\ntype AuthEnableResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *AuthEnableResponse) Reset()                    { *m = AuthEnableResponse{} }\nfunc (m *AuthEnableResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthEnableResponse) ProtoMessage()               {}\nfunc (*AuthEnableResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{69} }\n\nfunc (m *AuthEnableResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype AuthDisableResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *AuthDisableResponse) Reset()                    { *m = AuthDisableResponse{} }\nfunc (m *AuthDisableResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthDisableResponse) ProtoMessage()               {}\nfunc (*AuthDisableResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{70} }\n\nfunc (m *AuthDisableResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype AuthenticateResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\t// token is an authorized token that can be used in succeeding RPCs\n\tToken string `protobuf:\"bytes,2,opt,name=token,proto3\" json:\"token,omitempty\"`\n}\n\nfunc (m *AuthenticateResponse) Reset()                    { *m = AuthenticateResponse{} }\nfunc (m *AuthenticateResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthenticateResponse) ProtoMessage()               {}\nfunc (*AuthenticateResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{71} }\n\nfunc (m *AuthenticateResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *AuthenticateResponse) GetToken() string {\n\tif m != nil {\n\t\treturn m.Token\n\t}\n\treturn \"\"\n}\n\ntype AuthUserAddResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *AuthUserAddResponse) Reset()                    { *m = AuthUserAddResponse{} }\nfunc (m *AuthUserAddResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthUserAddResponse) ProtoMessage()               {}\nfunc (*AuthUserAddResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{72} }\n\nfunc (m *AuthUserAddResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype AuthUserGetResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\tRoles  []string        `protobuf:\"bytes,2,rep,name=roles\" json:\"roles,omitempty\"`\n}\n\nfunc (m *AuthUserGetResponse) Reset()                    { *m = AuthUserGetResponse{} }\nfunc (m *AuthUserGetResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthUserGetResponse) ProtoMessage()               {}\nfunc (*AuthUserGetResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{73} }\n\nfunc (m *AuthUserGetResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *AuthUserGetResponse) GetRoles() []string {\n\tif m != nil {\n\t\treturn m.Roles\n\t}\n\treturn nil\n}\n\ntype AuthUserDeleteResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *AuthUserDeleteResponse) Reset()                    { *m = AuthUserDeleteResponse{} }\nfunc (m *AuthUserDeleteResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthUserDeleteResponse) ProtoMessage()               {}\nfunc (*AuthUserDeleteResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{74} }\n\nfunc (m *AuthUserDeleteResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype AuthUserChangePasswordResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *AuthUserChangePasswordResponse) Reset()         { *m = AuthUserChangePasswordResponse{} }\nfunc (m *AuthUserChangePasswordResponse) String() string { return proto.CompactTextString(m) }\nfunc (*AuthUserChangePasswordResponse) ProtoMessage()    {}\nfunc (*AuthUserChangePasswordResponse) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorRpc, []int{75}\n}\n\nfunc (m *AuthUserChangePasswordResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype AuthUserGrantRoleResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *AuthUserGrantRoleResponse) Reset()                    { *m = AuthUserGrantRoleResponse{} }\nfunc (m *AuthUserGrantRoleResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthUserGrantRoleResponse) ProtoMessage()               {}\nfunc (*AuthUserGrantRoleResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{76} }\n\nfunc (m *AuthUserGrantRoleResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype AuthUserRevokeRoleResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *AuthUserRevokeRoleResponse) Reset()                    { *m = AuthUserRevokeRoleResponse{} }\nfunc (m *AuthUserRevokeRoleResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthUserRevokeRoleResponse) ProtoMessage()               {}\nfunc (*AuthUserRevokeRoleResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{77} }\n\nfunc (m *AuthUserRevokeRoleResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype AuthRoleAddResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *AuthRoleAddResponse) Reset()                    { *m = AuthRoleAddResponse{} }\nfunc (m *AuthRoleAddResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthRoleAddResponse) ProtoMessage()               {}\nfunc (*AuthRoleAddResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{78} }\n\nfunc (m *AuthRoleAddResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype AuthRoleGetResponse struct {\n\tHeader *ResponseHeader      `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\tPerm   []*authpb.Permission `protobuf:\"bytes,2,rep,name=perm\" json:\"perm,omitempty\"`\n}\n\nfunc (m *AuthRoleGetResponse) Reset()                    { *m = AuthRoleGetResponse{} }\nfunc (m *AuthRoleGetResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthRoleGetResponse) ProtoMessage()               {}\nfunc (*AuthRoleGetResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{79} }\n\nfunc (m *AuthRoleGetResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *AuthRoleGetResponse) GetPerm() []*authpb.Permission {\n\tif m != nil {\n\t\treturn m.Perm\n\t}\n\treturn nil\n}\n\ntype AuthRoleListResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\tRoles  []string        `protobuf:\"bytes,2,rep,name=roles\" json:\"roles,omitempty\"`\n}\n\nfunc (m *AuthRoleListResponse) Reset()                    { *m = AuthRoleListResponse{} }\nfunc (m *AuthRoleListResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthRoleListResponse) ProtoMessage()               {}\nfunc (*AuthRoleListResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{80} }\n\nfunc (m *AuthRoleListResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *AuthRoleListResponse) GetRoles() []string {\n\tif m != nil {\n\t\treturn m.Roles\n\t}\n\treturn nil\n}\n\ntype AuthUserListResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n\tUsers  []string        `protobuf:\"bytes,2,rep,name=users\" json:\"users,omitempty\"`\n}\n\nfunc (m *AuthUserListResponse) Reset()                    { *m = AuthUserListResponse{} }\nfunc (m *AuthUserListResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthUserListResponse) ProtoMessage()               {}\nfunc (*AuthUserListResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{81} }\n\nfunc (m *AuthUserListResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *AuthUserListResponse) GetUsers() []string {\n\tif m != nil {\n\t\treturn m.Users\n\t}\n\treturn nil\n}\n\ntype AuthRoleDeleteResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *AuthRoleDeleteResponse) Reset()                    { *m = AuthRoleDeleteResponse{} }\nfunc (m *AuthRoleDeleteResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthRoleDeleteResponse) ProtoMessage()               {}\nfunc (*AuthRoleDeleteResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{82} }\n\nfunc (m *AuthRoleDeleteResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype AuthRoleGrantPermissionResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *AuthRoleGrantPermissionResponse) Reset()         { *m = AuthRoleGrantPermissionResponse{} }\nfunc (m *AuthRoleGrantPermissionResponse) String() string { return proto.CompactTextString(m) }\nfunc (*AuthRoleGrantPermissionResponse) ProtoMessage()    {}\nfunc (*AuthRoleGrantPermissionResponse) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorRpc, []int{83}\n}\n\nfunc (m *AuthRoleGrantPermissionResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\ntype AuthRoleRevokePermissionResponse struct {\n\tHeader *ResponseHeader `protobuf:\"bytes,1,opt,name=header\" json:\"header,omitempty\"`\n}\n\nfunc (m *AuthRoleRevokePermissionResponse) Reset()         { *m = AuthRoleRevokePermissionResponse{} }\nfunc (m *AuthRoleRevokePermissionResponse) String() string { return proto.CompactTextString(m) }\nfunc (*AuthRoleRevokePermissionResponse) ProtoMessage()    {}\nfunc (*AuthRoleRevokePermissionResponse) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorRpc, []int{84}\n}\n\nfunc (m *AuthRoleRevokePermissionResponse) GetHeader() *ResponseHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc init() {\n\tproto.RegisterType((*ResponseHeader)(nil), \"etcdserverpb.ResponseHeader\")\n\tproto.RegisterType((*RangeRequest)(nil), \"etcdserverpb.RangeRequest\")\n\tproto.RegisterType((*RangeResponse)(nil), \"etcdserverpb.RangeResponse\")\n\tproto.RegisterType((*PutRequest)(nil), \"etcdserverpb.PutRequest\")\n\tproto.RegisterType((*PutResponse)(nil), \"etcdserverpb.PutResponse\")\n\tproto.RegisterType((*DeleteRangeRequest)(nil), \"etcdserverpb.DeleteRangeRequest\")\n\tproto.RegisterType((*DeleteRangeResponse)(nil), \"etcdserverpb.DeleteRangeResponse\")\n\tproto.RegisterType((*RequestOp)(nil), \"etcdserverpb.RequestOp\")\n\tproto.RegisterType((*ResponseOp)(nil), \"etcdserverpb.ResponseOp\")\n\tproto.RegisterType((*Compare)(nil), \"etcdserverpb.Compare\")\n\tproto.RegisterType((*TxnRequest)(nil), \"etcdserverpb.TxnRequest\")\n\tproto.RegisterType((*TxnResponse)(nil), \"etcdserverpb.TxnResponse\")\n\tproto.RegisterType((*CompactionRequest)(nil), \"etcdserverpb.CompactionRequest\")\n\tproto.RegisterType((*CompactionResponse)(nil), \"etcdserverpb.CompactionResponse\")\n\tproto.RegisterType((*HashRequest)(nil), \"etcdserverpb.HashRequest\")\n\tproto.RegisterType((*HashKVRequest)(nil), \"etcdserverpb.HashKVRequest\")\n\tproto.RegisterType((*HashKVResponse)(nil), \"etcdserverpb.HashKVResponse\")\n\tproto.RegisterType((*HashResponse)(nil), \"etcdserverpb.HashResponse\")\n\tproto.RegisterType((*SnapshotRequest)(nil), \"etcdserverpb.SnapshotRequest\")\n\tproto.RegisterType((*SnapshotResponse)(nil), \"etcdserverpb.SnapshotResponse\")\n\tproto.RegisterType((*WatchRequest)(nil), \"etcdserverpb.WatchRequest\")\n\tproto.RegisterType((*WatchCreateRequest)(nil), \"etcdserverpb.WatchCreateRequest\")\n\tproto.RegisterType((*WatchCancelRequest)(nil), \"etcdserverpb.WatchCancelRequest\")\n\tproto.RegisterType((*WatchResponse)(nil), \"etcdserverpb.WatchResponse\")\n\tproto.RegisterType((*LeaseGrantRequest)(nil), \"etcdserverpb.LeaseGrantRequest\")\n\tproto.RegisterType((*LeaseGrantResponse)(nil), \"etcdserverpb.LeaseGrantResponse\")\n\tproto.RegisterType((*LeaseRevokeRequest)(nil), \"etcdserverpb.LeaseRevokeRequest\")\n\tproto.RegisterType((*LeaseRevokeResponse)(nil), \"etcdserverpb.LeaseRevokeResponse\")\n\tproto.RegisterType((*LeaseKeepAliveRequest)(nil), \"etcdserverpb.LeaseKeepAliveRequest\")\n\tproto.RegisterType((*LeaseKeepAliveResponse)(nil), \"etcdserverpb.LeaseKeepAliveResponse\")\n\tproto.RegisterType((*LeaseTimeToLiveRequest)(nil), \"etcdserverpb.LeaseTimeToLiveRequest\")\n\tproto.RegisterType((*LeaseTimeToLiveResponse)(nil), \"etcdserverpb.LeaseTimeToLiveResponse\")\n\tproto.RegisterType((*LeaseLeasesRequest)(nil), \"etcdserverpb.LeaseLeasesRequest\")\n\tproto.RegisterType((*LeaseStatus)(nil), \"etcdserverpb.LeaseStatus\")\n\tproto.RegisterType((*LeaseLeasesResponse)(nil), \"etcdserverpb.LeaseLeasesResponse\")\n\tproto.RegisterType((*Member)(nil), \"etcdserverpb.Member\")\n\tproto.RegisterType((*MemberAddRequest)(nil), \"etcdserverpb.MemberAddRequest\")\n\tproto.RegisterType((*MemberAddResponse)(nil), \"etcdserverpb.MemberAddResponse\")\n\tproto.RegisterType((*MemberRemoveRequest)(nil), \"etcdserverpb.MemberRemoveRequest\")\n\tproto.RegisterType((*MemberRemoveResponse)(nil), \"etcdserverpb.MemberRemoveResponse\")\n\tproto.RegisterType((*MemberUpdateRequest)(nil), \"etcdserverpb.MemberUpdateRequest\")\n\tproto.RegisterType((*MemberUpdateResponse)(nil), \"etcdserverpb.MemberUpdateResponse\")\n\tproto.RegisterType((*MemberListRequest)(nil), \"etcdserverpb.MemberListRequest\")\n\tproto.RegisterType((*MemberListResponse)(nil), \"etcdserverpb.MemberListResponse\")\n\tproto.RegisterType((*DefragmentRequest)(nil), \"etcdserverpb.DefragmentRequest\")\n\tproto.RegisterType((*DefragmentResponse)(nil), \"etcdserverpb.DefragmentResponse\")\n\tproto.RegisterType((*MoveLeaderRequest)(nil), \"etcdserverpb.MoveLeaderRequest\")\n\tproto.RegisterType((*MoveLeaderResponse)(nil), \"etcdserverpb.MoveLeaderResponse\")\n\tproto.RegisterType((*AlarmRequest)(nil), \"etcdserverpb.AlarmRequest\")\n\tproto.RegisterType((*AlarmMember)(nil), \"etcdserverpb.AlarmMember\")\n\tproto.RegisterType((*AlarmResponse)(nil), \"etcdserverpb.AlarmResponse\")\n\tproto.RegisterType((*StatusRequest)(nil), \"etcdserverpb.StatusRequest\")\n\tproto.RegisterType((*StatusResponse)(nil), \"etcdserverpb.StatusResponse\")\n\tproto.RegisterType((*AuthEnableRequest)(nil), \"etcdserverpb.AuthEnableRequest\")\n\tproto.RegisterType((*AuthDisableRequest)(nil), \"etcdserverpb.AuthDisableRequest\")\n\tproto.RegisterType((*AuthenticateRequest)(nil), \"etcdserverpb.AuthenticateRequest\")\n\tproto.RegisterType((*AuthUserAddRequest)(nil), \"etcdserverpb.AuthUserAddRequest\")\n\tproto.RegisterType((*AuthUserGetRequest)(nil), \"etcdserverpb.AuthUserGetRequest\")\n\tproto.RegisterType((*AuthUserDeleteRequest)(nil), \"etcdserverpb.AuthUserDeleteRequest\")\n\tproto.RegisterType((*AuthUserChangePasswordRequest)(nil), \"etcdserverpb.AuthUserChangePasswordRequest\")\n\tproto.RegisterType((*AuthUserGrantRoleRequest)(nil), \"etcdserverpb.AuthUserGrantRoleRequest\")\n\tproto.RegisterType((*AuthUserRevokeRoleRequest)(nil), \"etcdserverpb.AuthUserRevokeRoleRequest\")\n\tproto.RegisterType((*AuthRoleAddRequest)(nil), \"etcdserverpb.AuthRoleAddRequest\")\n\tproto.RegisterType((*AuthRoleGetRequest)(nil), \"etcdserverpb.AuthRoleGetRequest\")\n\tproto.RegisterType((*AuthUserListRequest)(nil), \"etcdserverpb.AuthUserListRequest\")\n\tproto.RegisterType((*AuthRoleListRequest)(nil), \"etcdserverpb.AuthRoleListRequest\")\n\tproto.RegisterType((*AuthRoleDeleteRequest)(nil), \"etcdserverpb.AuthRoleDeleteRequest\")\n\tproto.RegisterType((*AuthRoleGrantPermissionRequest)(nil), \"etcdserverpb.AuthRoleGrantPermissionRequest\")\n\tproto.RegisterType((*AuthRoleRevokePermissionRequest)(nil), \"etcdserverpb.AuthRoleRevokePermissionRequest\")\n\tproto.RegisterType((*AuthEnableResponse)(nil), \"etcdserverpb.AuthEnableResponse\")\n\tproto.RegisterType((*AuthDisableResponse)(nil), \"etcdserverpb.AuthDisableResponse\")\n\tproto.RegisterType((*AuthenticateResponse)(nil), \"etcdserverpb.AuthenticateResponse\")\n\tproto.RegisterType((*AuthUserAddResponse)(nil), \"etcdserverpb.AuthUserAddResponse\")\n\tproto.RegisterType((*AuthUserGetResponse)(nil), \"etcdserverpb.AuthUserGetResponse\")\n\tproto.RegisterType((*AuthUserDeleteResponse)(nil), \"etcdserverpb.AuthUserDeleteResponse\")\n\tproto.RegisterType((*AuthUserChangePasswordResponse)(nil), \"etcdserverpb.AuthUserChangePasswordResponse\")\n\tproto.RegisterType((*AuthUserGrantRoleResponse)(nil), \"etcdserverpb.AuthUserGrantRoleResponse\")\n\tproto.RegisterType((*AuthUserRevokeRoleResponse)(nil), \"etcdserverpb.AuthUserRevokeRoleResponse\")\n\tproto.RegisterType((*AuthRoleAddResponse)(nil), \"etcdserverpb.AuthRoleAddResponse\")\n\tproto.RegisterType((*AuthRoleGetResponse)(nil), \"etcdserverpb.AuthRoleGetResponse\")\n\tproto.RegisterType((*AuthRoleListResponse)(nil), \"etcdserverpb.AuthRoleListResponse\")\n\tproto.RegisterType((*AuthUserListResponse)(nil), \"etcdserverpb.AuthUserListResponse\")\n\tproto.RegisterType((*AuthRoleDeleteResponse)(nil), \"etcdserverpb.AuthRoleDeleteResponse\")\n\tproto.RegisterType((*AuthRoleGrantPermissionResponse)(nil), \"etcdserverpb.AuthRoleGrantPermissionResponse\")\n\tproto.RegisterType((*AuthRoleRevokePermissionResponse)(nil), \"etcdserverpb.AuthRoleRevokePermissionResponse\")\n\tproto.RegisterEnum(\"etcdserverpb.AlarmType\", AlarmType_name, AlarmType_value)\n\tproto.RegisterEnum(\"etcdserverpb.RangeRequest_SortOrder\", RangeRequest_SortOrder_name, RangeRequest_SortOrder_value)\n\tproto.RegisterEnum(\"etcdserverpb.RangeRequest_SortTarget\", RangeRequest_SortTarget_name, RangeRequest_SortTarget_value)\n\tproto.RegisterEnum(\"etcdserverpb.Compare_CompareResult\", Compare_CompareResult_name, Compare_CompareResult_value)\n\tproto.RegisterEnum(\"etcdserverpb.Compare_CompareTarget\", Compare_CompareTarget_name, Compare_CompareTarget_value)\n\tproto.RegisterEnum(\"etcdserverpb.WatchCreateRequest_FilterType\", WatchCreateRequest_FilterType_name, WatchCreateRequest_FilterType_value)\n\tproto.RegisterEnum(\"etcdserverpb.AlarmRequest_AlarmAction\", AlarmRequest_AlarmAction_name, AlarmRequest_AlarmAction_value)\n}\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ context.Context\nvar _ grpc.ClientConn\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the grpc package it is being compiled against.\nconst _ = grpc.SupportPackageIsVersion4\n\n// Client API for KV service\n\ntype KVClient interface {\n\t// Range gets the keys in the range from the key-value store.\n\tRange(ctx context.Context, in *RangeRequest, opts ...grpc.CallOption) (*RangeResponse, error)\n\t// Put puts the given key into the key-value store.\n\t// A put request increments the revision of the key-value store\n\t// and generates one event in the event history.\n\tPut(ctx context.Context, in *PutRequest, opts ...grpc.CallOption) (*PutResponse, error)\n\t// DeleteRange deletes the given range from the key-value store.\n\t// A delete request increments the revision of the key-value store\n\t// and generates a delete event in the event history for every deleted key.\n\tDeleteRange(ctx context.Context, in *DeleteRangeRequest, opts ...grpc.CallOption) (*DeleteRangeResponse, error)\n\t// Txn processes multiple requests in a single transaction.\n\t// A txn request increments the revision of the key-value store\n\t// and generates events with the same revision for every completed request.\n\t// It is not allowed to modify the same key several times within one txn.\n\tTxn(ctx context.Context, in *TxnRequest, opts ...grpc.CallOption) (*TxnResponse, error)\n\t// Compact compacts the event history in the etcd key-value store. The key-value\n\t// store should be periodically compacted or the event history will continue to grow\n\t// indefinitely.\n\tCompact(ctx context.Context, in *CompactionRequest, opts ...grpc.CallOption) (*CompactionResponse, error)\n}\n\ntype kVClient struct {\n\tcc *grpc.ClientConn\n}\n\nfunc NewKVClient(cc *grpc.ClientConn) KVClient {\n\treturn &kVClient{cc}\n}\n\nfunc (c *kVClient) Range(ctx context.Context, in *RangeRequest, opts ...grpc.CallOption) (*RangeResponse, error) {\n\tout := new(RangeResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.KV/Range\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *kVClient) Put(ctx context.Context, in *PutRequest, opts ...grpc.CallOption) (*PutResponse, error) {\n\tout := new(PutResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.KV/Put\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *kVClient) DeleteRange(ctx context.Context, in *DeleteRangeRequest, opts ...grpc.CallOption) (*DeleteRangeResponse, error) {\n\tout := new(DeleteRangeResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.KV/DeleteRange\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *kVClient) Txn(ctx context.Context, in *TxnRequest, opts ...grpc.CallOption) (*TxnResponse, error) {\n\tout := new(TxnResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.KV/Txn\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *kVClient) Compact(ctx context.Context, in *CompactionRequest, opts ...grpc.CallOption) (*CompactionResponse, error) {\n\tout := new(CompactionResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.KV/Compact\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Server API for KV service\n\ntype KVServer interface {\n\t// Range gets the keys in the range from the key-value store.\n\tRange(context.Context, *RangeRequest) (*RangeResponse, error)\n\t// Put puts the given key into the key-value store.\n\t// A put request increments the revision of the key-value store\n\t// and generates one event in the event history.\n\tPut(context.Context, *PutRequest) (*PutResponse, error)\n\t// DeleteRange deletes the given range from the key-value store.\n\t// A delete request increments the revision of the key-value store\n\t// and generates a delete event in the event history for every deleted key.\n\tDeleteRange(context.Context, *DeleteRangeRequest) (*DeleteRangeResponse, error)\n\t// Txn processes multiple requests in a single transaction.\n\t// A txn request increments the revision of the key-value store\n\t// and generates events with the same revision for every completed request.\n\t// It is not allowed to modify the same key several times within one txn.\n\tTxn(context.Context, *TxnRequest) (*TxnResponse, error)\n\t// Compact compacts the event history in the etcd key-value store. The key-value\n\t// store should be periodically compacted or the event history will continue to grow\n\t// indefinitely.\n\tCompact(context.Context, *CompactionRequest) (*CompactionResponse, error)\n}\n\nfunc RegisterKVServer(s *grpc.Server, srv KVServer) {\n\ts.RegisterService(&_KV_serviceDesc, srv)\n}\n\nfunc _KV_Range_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(RangeRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(KVServer).Range(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.KV/Range\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(KVServer).Range(ctx, req.(*RangeRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _KV_Put_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(PutRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(KVServer).Put(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.KV/Put\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(KVServer).Put(ctx, req.(*PutRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _KV_DeleteRange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(DeleteRangeRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(KVServer).DeleteRange(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.KV/DeleteRange\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(KVServer).DeleteRange(ctx, req.(*DeleteRangeRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _KV_Txn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(TxnRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(KVServer).Txn(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.KV/Txn\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(KVServer).Txn(ctx, req.(*TxnRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _KV_Compact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(CompactionRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(KVServer).Compact(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.KV/Compact\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(KVServer).Compact(ctx, req.(*CompactionRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nvar _KV_serviceDesc = grpc.ServiceDesc{\n\tServiceName: \"etcdserverpb.KV\",\n\tHandlerType: (*KVServer)(nil),\n\tMethods: []grpc.MethodDesc{\n\t\t{\n\t\t\tMethodName: \"Range\",\n\t\t\tHandler:    _KV_Range_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"Put\",\n\t\t\tHandler:    _KV_Put_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"DeleteRange\",\n\t\t\tHandler:    _KV_DeleteRange_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"Txn\",\n\t\t\tHandler:    _KV_Txn_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"Compact\",\n\t\t\tHandler:    _KV_Compact_Handler,\n\t\t},\n\t},\n\tStreams:  []grpc.StreamDesc{},\n\tMetadata: \"rpc.proto\",\n}\n\n// Client API for Watch service\n\ntype WatchClient interface {\n\t// Watch watches for events happening or that have happened. Both input and output\n\t// are streams; the input stream is for creating and canceling watchers and the output\n\t// stream sends events. One watch RPC can watch on multiple key ranges, streaming events\n\t// for several watches at once. The entire event history can be watched starting from the\n\t// last compaction revision.\n\tWatch(ctx context.Context, opts ...grpc.CallOption) (Watch_WatchClient, error)\n}\n\ntype watchClient struct {\n\tcc *grpc.ClientConn\n}\n\nfunc NewWatchClient(cc *grpc.ClientConn) WatchClient {\n\treturn &watchClient{cc}\n}\n\nfunc (c *watchClient) Watch(ctx context.Context, opts ...grpc.CallOption) (Watch_WatchClient, error) {\n\tstream, err := grpc.NewClientStream(ctx, &_Watch_serviceDesc.Streams[0], c.cc, \"/etcdserverpb.Watch/Watch\", opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tx := &watchWatchClient{stream}\n\treturn x, nil\n}\n\ntype Watch_WatchClient interface {\n\tSend(*WatchRequest) error\n\tRecv() (*WatchResponse, error)\n\tgrpc.ClientStream\n}\n\ntype watchWatchClient struct {\n\tgrpc.ClientStream\n}\n\nfunc (x *watchWatchClient) Send(m *WatchRequest) error {\n\treturn x.ClientStream.SendMsg(m)\n}\n\nfunc (x *watchWatchClient) Recv() (*WatchResponse, error) {\n\tm := new(WatchResponse)\n\tif err := x.ClientStream.RecvMsg(m); err != nil {\n\t\treturn nil, err\n\t}\n\treturn m, nil\n}\n\n// Server API for Watch service\n\ntype WatchServer interface {\n\t// Watch watches for events happening or that have happened. Both input and output\n\t// are streams; the input stream is for creating and canceling watchers and the output\n\t// stream sends events. One watch RPC can watch on multiple key ranges, streaming events\n\t// for several watches at once. The entire event history can be watched starting from the\n\t// last compaction revision.\n\tWatch(Watch_WatchServer) error\n}\n\nfunc RegisterWatchServer(s *grpc.Server, srv WatchServer) {\n\ts.RegisterService(&_Watch_serviceDesc, srv)\n}\n\nfunc _Watch_Watch_Handler(srv interface{}, stream grpc.ServerStream) error {\n\treturn srv.(WatchServer).Watch(&watchWatchServer{stream})\n}\n\ntype Watch_WatchServer interface {\n\tSend(*WatchResponse) error\n\tRecv() (*WatchRequest, error)\n\tgrpc.ServerStream\n}\n\ntype watchWatchServer struct {\n\tgrpc.ServerStream\n}\n\nfunc (x *watchWatchServer) Send(m *WatchResponse) error {\n\treturn x.ServerStream.SendMsg(m)\n}\n\nfunc (x *watchWatchServer) Recv() (*WatchRequest, error) {\n\tm := new(WatchRequest)\n\tif err := x.ServerStream.RecvMsg(m); err != nil {\n\t\treturn nil, err\n\t}\n\treturn m, nil\n}\n\nvar _Watch_serviceDesc = grpc.ServiceDesc{\n\tServiceName: \"etcdserverpb.Watch\",\n\tHandlerType: (*WatchServer)(nil),\n\tMethods:     []grpc.MethodDesc{},\n\tStreams: []grpc.StreamDesc{\n\t\t{\n\t\t\tStreamName:    \"Watch\",\n\t\t\tHandler:       _Watch_Watch_Handler,\n\t\t\tServerStreams: true,\n\t\t\tClientStreams: true,\n\t\t},\n\t},\n\tMetadata: \"rpc.proto\",\n}\n\n// Client API for Lease service\n\ntype LeaseClient interface {\n\t// LeaseGrant creates a lease which expires if the server does not receive a keepAlive\n\t// within a given time to live period. All keys attached to the lease will be expired and\n\t// deleted if the lease expires. Each expired key generates a delete event in the event history.\n\tLeaseGrant(ctx context.Context, in *LeaseGrantRequest, opts ...grpc.CallOption) (*LeaseGrantResponse, error)\n\t// LeaseRevoke revokes a lease. All keys attached to the lease will expire and be deleted.\n\tLeaseRevoke(ctx context.Context, in *LeaseRevokeRequest, opts ...grpc.CallOption) (*LeaseRevokeResponse, error)\n\t// LeaseKeepAlive keeps the lease alive by streaming keep alive requests from the client\n\t// to the server and streaming keep alive responses from the server to the client.\n\tLeaseKeepAlive(ctx context.Context, opts ...grpc.CallOption) (Lease_LeaseKeepAliveClient, error)\n\t// LeaseTimeToLive retrieves lease information.\n\tLeaseTimeToLive(ctx context.Context, in *LeaseTimeToLiveRequest, opts ...grpc.CallOption) (*LeaseTimeToLiveResponse, error)\n\t// LeaseLeases lists all existing leases.\n\tLeaseLeases(ctx context.Context, in *LeaseLeasesRequest, opts ...grpc.CallOption) (*LeaseLeasesResponse, error)\n}\n\ntype leaseClient struct {\n\tcc *grpc.ClientConn\n}\n\nfunc NewLeaseClient(cc *grpc.ClientConn) LeaseClient {\n\treturn &leaseClient{cc}\n}\n\nfunc (c *leaseClient) LeaseGrant(ctx context.Context, in *LeaseGrantRequest, opts ...grpc.CallOption) (*LeaseGrantResponse, error) {\n\tout := new(LeaseGrantResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Lease/LeaseGrant\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *leaseClient) LeaseRevoke(ctx context.Context, in *LeaseRevokeRequest, opts ...grpc.CallOption) (*LeaseRevokeResponse, error) {\n\tout := new(LeaseRevokeResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Lease/LeaseRevoke\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *leaseClient) LeaseKeepAlive(ctx context.Context, opts ...grpc.CallOption) (Lease_LeaseKeepAliveClient, error) {\n\tstream, err := grpc.NewClientStream(ctx, &_Lease_serviceDesc.Streams[0], c.cc, \"/etcdserverpb.Lease/LeaseKeepAlive\", opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tx := &leaseLeaseKeepAliveClient{stream}\n\treturn x, nil\n}\n\ntype Lease_LeaseKeepAliveClient interface {\n\tSend(*LeaseKeepAliveRequest) error\n\tRecv() (*LeaseKeepAliveResponse, error)\n\tgrpc.ClientStream\n}\n\ntype leaseLeaseKeepAliveClient struct {\n\tgrpc.ClientStream\n}\n\nfunc (x *leaseLeaseKeepAliveClient) Send(m *LeaseKeepAliveRequest) error {\n\treturn x.ClientStream.SendMsg(m)\n}\n\nfunc (x *leaseLeaseKeepAliveClient) Recv() (*LeaseKeepAliveResponse, error) {\n\tm := new(LeaseKeepAliveResponse)\n\tif err := x.ClientStream.RecvMsg(m); err != nil {\n\t\treturn nil, err\n\t}\n\treturn m, nil\n}\n\nfunc (c *leaseClient) LeaseTimeToLive(ctx context.Context, in *LeaseTimeToLiveRequest, opts ...grpc.CallOption) (*LeaseTimeToLiveResponse, error) {\n\tout := new(LeaseTimeToLiveResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Lease/LeaseTimeToLive\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *leaseClient) LeaseLeases(ctx context.Context, in *LeaseLeasesRequest, opts ...grpc.CallOption) (*LeaseLeasesResponse, error) {\n\tout := new(LeaseLeasesResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Lease/LeaseLeases\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Server API for Lease service\n\ntype LeaseServer interface {\n\t// LeaseGrant creates a lease which expires if the server does not receive a keepAlive\n\t// within a given time to live period. All keys attached to the lease will be expired and\n\t// deleted if the lease expires. Each expired key generates a delete event in the event history.\n\tLeaseGrant(context.Context, *LeaseGrantRequest) (*LeaseGrantResponse, error)\n\t// LeaseRevoke revokes a lease. All keys attached to the lease will expire and be deleted.\n\tLeaseRevoke(context.Context, *LeaseRevokeRequest) (*LeaseRevokeResponse, error)\n\t// LeaseKeepAlive keeps the lease alive by streaming keep alive requests from the client\n\t// to the server and streaming keep alive responses from the server to the client.\n\tLeaseKeepAlive(Lease_LeaseKeepAliveServer) error\n\t// LeaseTimeToLive retrieves lease information.\n\tLeaseTimeToLive(context.Context, *LeaseTimeToLiveRequest) (*LeaseTimeToLiveResponse, error)\n\t// LeaseLeases lists all existing leases.\n\tLeaseLeases(context.Context, *LeaseLeasesRequest) (*LeaseLeasesResponse, error)\n}\n\nfunc RegisterLeaseServer(s *grpc.Server, srv LeaseServer) {\n\ts.RegisterService(&_Lease_serviceDesc, srv)\n}\n\nfunc _Lease_LeaseGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(LeaseGrantRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(LeaseServer).LeaseGrant(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Lease/LeaseGrant\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(LeaseServer).LeaseGrant(ctx, req.(*LeaseGrantRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Lease_LeaseRevoke_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(LeaseRevokeRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(LeaseServer).LeaseRevoke(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Lease/LeaseRevoke\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(LeaseServer).LeaseRevoke(ctx, req.(*LeaseRevokeRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Lease_LeaseKeepAlive_Handler(srv interface{}, stream grpc.ServerStream) error {\n\treturn srv.(LeaseServer).LeaseKeepAlive(&leaseLeaseKeepAliveServer{stream})\n}\n\ntype Lease_LeaseKeepAliveServer interface {\n\tSend(*LeaseKeepAliveResponse) error\n\tRecv() (*LeaseKeepAliveRequest, error)\n\tgrpc.ServerStream\n}\n\ntype leaseLeaseKeepAliveServer struct {\n\tgrpc.ServerStream\n}\n\nfunc (x *leaseLeaseKeepAliveServer) Send(m *LeaseKeepAliveResponse) error {\n\treturn x.ServerStream.SendMsg(m)\n}\n\nfunc (x *leaseLeaseKeepAliveServer) Recv() (*LeaseKeepAliveRequest, error) {\n\tm := new(LeaseKeepAliveRequest)\n\tif err := x.ServerStream.RecvMsg(m); err != nil {\n\t\treturn nil, err\n\t}\n\treturn m, nil\n}\n\nfunc _Lease_LeaseTimeToLive_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(LeaseTimeToLiveRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(LeaseServer).LeaseTimeToLive(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Lease/LeaseTimeToLive\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(LeaseServer).LeaseTimeToLive(ctx, req.(*LeaseTimeToLiveRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Lease_LeaseLeases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(LeaseLeasesRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(LeaseServer).LeaseLeases(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Lease/LeaseLeases\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(LeaseServer).LeaseLeases(ctx, req.(*LeaseLeasesRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nvar _Lease_serviceDesc = grpc.ServiceDesc{\n\tServiceName: \"etcdserverpb.Lease\",\n\tHandlerType: (*LeaseServer)(nil),\n\tMethods: []grpc.MethodDesc{\n\t\t{\n\t\t\tMethodName: \"LeaseGrant\",\n\t\t\tHandler:    _Lease_LeaseGrant_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"LeaseRevoke\",\n\t\t\tHandler:    _Lease_LeaseRevoke_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"LeaseTimeToLive\",\n\t\t\tHandler:    _Lease_LeaseTimeToLive_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"LeaseLeases\",\n\t\t\tHandler:    _Lease_LeaseLeases_Handler,\n\t\t},\n\t},\n\tStreams: []grpc.StreamDesc{\n\t\t{\n\t\t\tStreamName:    \"LeaseKeepAlive\",\n\t\t\tHandler:       _Lease_LeaseKeepAlive_Handler,\n\t\t\tServerStreams: true,\n\t\t\tClientStreams: true,\n\t\t},\n\t},\n\tMetadata: \"rpc.proto\",\n}\n\n// Client API for Cluster service\n\ntype ClusterClient interface {\n\t// MemberAdd adds a member into the cluster.\n\tMemberAdd(ctx context.Context, in *MemberAddRequest, opts ...grpc.CallOption) (*MemberAddResponse, error)\n\t// MemberRemove removes an existing member from the cluster.\n\tMemberRemove(ctx context.Context, in *MemberRemoveRequest, opts ...grpc.CallOption) (*MemberRemoveResponse, error)\n\t// MemberUpdate updates the member configuration.\n\tMemberUpdate(ctx context.Context, in *MemberUpdateRequest, opts ...grpc.CallOption) (*MemberUpdateResponse, error)\n\t// MemberList lists all the members in the cluster.\n\tMemberList(ctx context.Context, in *MemberListRequest, opts ...grpc.CallOption) (*MemberListResponse, error)\n}\n\ntype clusterClient struct {\n\tcc *grpc.ClientConn\n}\n\nfunc NewClusterClient(cc *grpc.ClientConn) ClusterClient {\n\treturn &clusterClient{cc}\n}\n\nfunc (c *clusterClient) MemberAdd(ctx context.Context, in *MemberAddRequest, opts ...grpc.CallOption) (*MemberAddResponse, error) {\n\tout := new(MemberAddResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Cluster/MemberAdd\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *clusterClient) MemberRemove(ctx context.Context, in *MemberRemoveRequest, opts ...grpc.CallOption) (*MemberRemoveResponse, error) {\n\tout := new(MemberRemoveResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Cluster/MemberRemove\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *clusterClient) MemberUpdate(ctx context.Context, in *MemberUpdateRequest, opts ...grpc.CallOption) (*MemberUpdateResponse, error) {\n\tout := new(MemberUpdateResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Cluster/MemberUpdate\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *clusterClient) MemberList(ctx context.Context, in *MemberListRequest, opts ...grpc.CallOption) (*MemberListResponse, error) {\n\tout := new(MemberListResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Cluster/MemberList\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Server API for Cluster service\n\ntype ClusterServer interface {\n\t// MemberAdd adds a member into the cluster.\n\tMemberAdd(context.Context, *MemberAddRequest) (*MemberAddResponse, error)\n\t// MemberRemove removes an existing member from the cluster.\n\tMemberRemove(context.Context, *MemberRemoveRequest) (*MemberRemoveResponse, error)\n\t// MemberUpdate updates the member configuration.\n\tMemberUpdate(context.Context, *MemberUpdateRequest) (*MemberUpdateResponse, error)\n\t// MemberList lists all the members in the cluster.\n\tMemberList(context.Context, *MemberListRequest) (*MemberListResponse, error)\n}\n\nfunc RegisterClusterServer(s *grpc.Server, srv ClusterServer) {\n\ts.RegisterService(&_Cluster_serviceDesc, srv)\n}\n\nfunc _Cluster_MemberAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(MemberAddRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(ClusterServer).MemberAdd(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Cluster/MemberAdd\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(ClusterServer).MemberAdd(ctx, req.(*MemberAddRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Cluster_MemberRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(MemberRemoveRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(ClusterServer).MemberRemove(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Cluster/MemberRemove\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(ClusterServer).MemberRemove(ctx, req.(*MemberRemoveRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Cluster_MemberUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(MemberUpdateRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(ClusterServer).MemberUpdate(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Cluster/MemberUpdate\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(ClusterServer).MemberUpdate(ctx, req.(*MemberUpdateRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Cluster_MemberList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(MemberListRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(ClusterServer).MemberList(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Cluster/MemberList\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(ClusterServer).MemberList(ctx, req.(*MemberListRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nvar _Cluster_serviceDesc = grpc.ServiceDesc{\n\tServiceName: \"etcdserverpb.Cluster\",\n\tHandlerType: (*ClusterServer)(nil),\n\tMethods: []grpc.MethodDesc{\n\t\t{\n\t\t\tMethodName: \"MemberAdd\",\n\t\t\tHandler:    _Cluster_MemberAdd_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"MemberRemove\",\n\t\t\tHandler:    _Cluster_MemberRemove_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"MemberUpdate\",\n\t\t\tHandler:    _Cluster_MemberUpdate_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"MemberList\",\n\t\t\tHandler:    _Cluster_MemberList_Handler,\n\t\t},\n\t},\n\tStreams:  []grpc.StreamDesc{},\n\tMetadata: \"rpc.proto\",\n}\n\n// Client API for Maintenance service\n\ntype MaintenanceClient interface {\n\t// Alarm activates, deactivates, and queries alarms regarding cluster health.\n\tAlarm(ctx context.Context, in *AlarmRequest, opts ...grpc.CallOption) (*AlarmResponse, error)\n\t// Status gets the status of the member.\n\tStatus(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error)\n\t// Defragment defragments a member's backend database to recover storage space.\n\tDefragment(ctx context.Context, in *DefragmentRequest, opts ...grpc.CallOption) (*DefragmentResponse, error)\n\t// Hash computes the hash of whole backend keyspace,\n\t// including key, lease, and other buckets in storage.\n\t// This is designed for testing ONLY!\n\t// Do not rely on this in production with ongoing transactions,\n\t// since Hash operation does not hold MVCC locks.\n\t// Use \"HashKV\" API instead for \"key\" bucket consistency checks.\n\tHash(ctx context.Context, in *HashRequest, opts ...grpc.CallOption) (*HashResponse, error)\n\t// HashKV computes the hash of all MVCC keys up to a given revision.\n\t// It only iterates \"key\" bucket in backend storage.\n\tHashKV(ctx context.Context, in *HashKVRequest, opts ...grpc.CallOption) (*HashKVResponse, error)\n\t// Snapshot sends a snapshot of the entire backend from a member over a stream to a client.\n\tSnapshot(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (Maintenance_SnapshotClient, error)\n\t// MoveLeader requests current leader node to transfer its leadership to transferee.\n\tMoveLeader(ctx context.Context, in *MoveLeaderRequest, opts ...grpc.CallOption) (*MoveLeaderResponse, error)\n}\n\ntype maintenanceClient struct {\n\tcc *grpc.ClientConn\n}\n\nfunc NewMaintenanceClient(cc *grpc.ClientConn) MaintenanceClient {\n\treturn &maintenanceClient{cc}\n}\n\nfunc (c *maintenanceClient) Alarm(ctx context.Context, in *AlarmRequest, opts ...grpc.CallOption) (*AlarmResponse, error) {\n\tout := new(AlarmResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Maintenance/Alarm\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *maintenanceClient) Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error) {\n\tout := new(StatusResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Maintenance/Status\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *maintenanceClient) Defragment(ctx context.Context, in *DefragmentRequest, opts ...grpc.CallOption) (*DefragmentResponse, error) {\n\tout := new(DefragmentResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Maintenance/Defragment\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *maintenanceClient) Hash(ctx context.Context, in *HashRequest, opts ...grpc.CallOption) (*HashResponse, error) {\n\tout := new(HashResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Maintenance/Hash\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *maintenanceClient) HashKV(ctx context.Context, in *HashKVRequest, opts ...grpc.CallOption) (*HashKVResponse, error) {\n\tout := new(HashKVResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Maintenance/HashKV\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *maintenanceClient) Snapshot(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (Maintenance_SnapshotClient, error) {\n\tstream, err := grpc.NewClientStream(ctx, &_Maintenance_serviceDesc.Streams[0], c.cc, \"/etcdserverpb.Maintenance/Snapshot\", opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tx := &maintenanceSnapshotClient{stream}\n\tif err := x.ClientStream.SendMsg(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif err := x.ClientStream.CloseSend(); err != nil {\n\t\treturn nil, err\n\t}\n\treturn x, nil\n}\n\ntype Maintenance_SnapshotClient interface {\n\tRecv() (*SnapshotResponse, error)\n\tgrpc.ClientStream\n}\n\ntype maintenanceSnapshotClient struct {\n\tgrpc.ClientStream\n}\n\nfunc (x *maintenanceSnapshotClient) Recv() (*SnapshotResponse, error) {\n\tm := new(SnapshotResponse)\n\tif err := x.ClientStream.RecvMsg(m); err != nil {\n\t\treturn nil, err\n\t}\n\treturn m, nil\n}\n\nfunc (c *maintenanceClient) MoveLeader(ctx context.Context, in *MoveLeaderRequest, opts ...grpc.CallOption) (*MoveLeaderResponse, error) {\n\tout := new(MoveLeaderResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Maintenance/MoveLeader\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Server API for Maintenance service\n\ntype MaintenanceServer interface {\n\t// Alarm activates, deactivates, and queries alarms regarding cluster health.\n\tAlarm(context.Context, *AlarmRequest) (*AlarmResponse, error)\n\t// Status gets the status of the member.\n\tStatus(context.Context, *StatusRequest) (*StatusResponse, error)\n\t// Defragment defragments a member's backend database to recover storage space.\n\tDefragment(context.Context, *DefragmentRequest) (*DefragmentResponse, error)\n\t// Hash computes the hash of whole backend keyspace,\n\t// including key, lease, and other buckets in storage.\n\t// This is designed for testing ONLY!\n\t// Do not rely on this in production with ongoing transactions,\n\t// since Hash operation does not hold MVCC locks.\n\t// Use \"HashKV\" API instead for \"key\" bucket consistency checks.\n\tHash(context.Context, *HashRequest) (*HashResponse, error)\n\t// HashKV computes the hash of all MVCC keys up to a given revision.\n\t// It only iterates \"key\" bucket in backend storage.\n\tHashKV(context.Context, *HashKVRequest) (*HashKVResponse, error)\n\t// Snapshot sends a snapshot of the entire backend from a member over a stream to a client.\n\tSnapshot(*SnapshotRequest, Maintenance_SnapshotServer) error\n\t// MoveLeader requests current leader node to transfer its leadership to transferee.\n\tMoveLeader(context.Context, *MoveLeaderRequest) (*MoveLeaderResponse, error)\n}\n\nfunc RegisterMaintenanceServer(s *grpc.Server, srv MaintenanceServer) {\n\ts.RegisterService(&_Maintenance_serviceDesc, srv)\n}\n\nfunc _Maintenance_Alarm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AlarmRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(MaintenanceServer).Alarm(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Maintenance/Alarm\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(MaintenanceServer).Alarm(ctx, req.(*AlarmRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Maintenance_Status_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(StatusRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(MaintenanceServer).Status(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Maintenance/Status\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(MaintenanceServer).Status(ctx, req.(*StatusRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Maintenance_Defragment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(DefragmentRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(MaintenanceServer).Defragment(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Maintenance/Defragment\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(MaintenanceServer).Defragment(ctx, req.(*DefragmentRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Maintenance_Hash_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(HashRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(MaintenanceServer).Hash(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Maintenance/Hash\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(MaintenanceServer).Hash(ctx, req.(*HashRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Maintenance_HashKV_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(HashKVRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(MaintenanceServer).HashKV(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Maintenance/HashKV\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(MaintenanceServer).HashKV(ctx, req.(*HashKVRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Maintenance_Snapshot_Handler(srv interface{}, stream grpc.ServerStream) error {\n\tm := new(SnapshotRequest)\n\tif err := stream.RecvMsg(m); err != nil {\n\t\treturn err\n\t}\n\treturn srv.(MaintenanceServer).Snapshot(m, &maintenanceSnapshotServer{stream})\n}\n\ntype Maintenance_SnapshotServer interface {\n\tSend(*SnapshotResponse) error\n\tgrpc.ServerStream\n}\n\ntype maintenanceSnapshotServer struct {\n\tgrpc.ServerStream\n}\n\nfunc (x *maintenanceSnapshotServer) Send(m *SnapshotResponse) error {\n\treturn x.ServerStream.SendMsg(m)\n}\n\nfunc _Maintenance_MoveLeader_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(MoveLeaderRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(MaintenanceServer).MoveLeader(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Maintenance/MoveLeader\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(MaintenanceServer).MoveLeader(ctx, req.(*MoveLeaderRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nvar _Maintenance_serviceDesc = grpc.ServiceDesc{\n\tServiceName: \"etcdserverpb.Maintenance\",\n\tHandlerType: (*MaintenanceServer)(nil),\n\tMethods: []grpc.MethodDesc{\n\t\t{\n\t\t\tMethodName: \"Alarm\",\n\t\t\tHandler:    _Maintenance_Alarm_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"Status\",\n\t\t\tHandler:    _Maintenance_Status_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"Defragment\",\n\t\t\tHandler:    _Maintenance_Defragment_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"Hash\",\n\t\t\tHandler:    _Maintenance_Hash_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"HashKV\",\n\t\t\tHandler:    _Maintenance_HashKV_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"MoveLeader\",\n\t\t\tHandler:    _Maintenance_MoveLeader_Handler,\n\t\t},\n\t},\n\tStreams: []grpc.StreamDesc{\n\t\t{\n\t\t\tStreamName:    \"Snapshot\",\n\t\t\tHandler:       _Maintenance_Snapshot_Handler,\n\t\t\tServerStreams: true,\n\t\t},\n\t},\n\tMetadata: \"rpc.proto\",\n}\n\n// Client API for Auth service\n\ntype AuthClient interface {\n\t// AuthEnable enables authentication.\n\tAuthEnable(ctx context.Context, in *AuthEnableRequest, opts ...grpc.CallOption) (*AuthEnableResponse, error)\n\t// AuthDisable disables authentication.\n\tAuthDisable(ctx context.Context, in *AuthDisableRequest, opts ...grpc.CallOption) (*AuthDisableResponse, error)\n\t// Authenticate processes an authenticate request.\n\tAuthenticate(ctx context.Context, in *AuthenticateRequest, opts ...grpc.CallOption) (*AuthenticateResponse, error)\n\t// UserAdd adds a new user.\n\tUserAdd(ctx context.Context, in *AuthUserAddRequest, opts ...grpc.CallOption) (*AuthUserAddResponse, error)\n\t// UserGet gets detailed user information.\n\tUserGet(ctx context.Context, in *AuthUserGetRequest, opts ...grpc.CallOption) (*AuthUserGetResponse, error)\n\t// UserList gets a list of all users.\n\tUserList(ctx context.Context, in *AuthUserListRequest, opts ...grpc.CallOption) (*AuthUserListResponse, error)\n\t// UserDelete deletes a specified user.\n\tUserDelete(ctx context.Context, in *AuthUserDeleteRequest, opts ...grpc.CallOption) (*AuthUserDeleteResponse, error)\n\t// UserChangePassword changes the password of a specified user.\n\tUserChangePassword(ctx context.Context, in *AuthUserChangePasswordRequest, opts ...grpc.CallOption) (*AuthUserChangePasswordResponse, error)\n\t// UserGrant grants a role to a specified user.\n\tUserGrantRole(ctx context.Context, in *AuthUserGrantRoleRequest, opts ...grpc.CallOption) (*AuthUserGrantRoleResponse, error)\n\t// UserRevokeRole revokes a role of specified user.\n\tUserRevokeRole(ctx context.Context, in *AuthUserRevokeRoleRequest, opts ...grpc.CallOption) (*AuthUserRevokeRoleResponse, error)\n\t// RoleAdd adds a new role.\n\tRoleAdd(ctx context.Context, in *AuthRoleAddRequest, opts ...grpc.CallOption) (*AuthRoleAddResponse, error)\n\t// RoleGet gets detailed role information.\n\tRoleGet(ctx context.Context, in *AuthRoleGetRequest, opts ...grpc.CallOption) (*AuthRoleGetResponse, error)\n\t// RoleList gets lists of all roles.\n\tRoleList(ctx context.Context, in *AuthRoleListRequest, opts ...grpc.CallOption) (*AuthRoleListResponse, error)\n\t// RoleDelete deletes a specified role.\n\tRoleDelete(ctx context.Context, in *AuthRoleDeleteRequest, opts ...grpc.CallOption) (*AuthRoleDeleteResponse, error)\n\t// RoleGrantPermission grants a permission of a specified key or range to a specified role.\n\tRoleGrantPermission(ctx context.Context, in *AuthRoleGrantPermissionRequest, opts ...grpc.CallOption) (*AuthRoleGrantPermissionResponse, error)\n\t// RoleRevokePermission revokes a key or range permission of a specified role.\n\tRoleRevokePermission(ctx context.Context, in *AuthRoleRevokePermissionRequest, opts ...grpc.CallOption) (*AuthRoleRevokePermissionResponse, error)\n}\n\ntype authClient struct {\n\tcc *grpc.ClientConn\n}\n\nfunc NewAuthClient(cc *grpc.ClientConn) AuthClient {\n\treturn &authClient{cc}\n}\n\nfunc (c *authClient) AuthEnable(ctx context.Context, in *AuthEnableRequest, opts ...grpc.CallOption) (*AuthEnableResponse, error) {\n\tout := new(AuthEnableResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/AuthEnable\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) AuthDisable(ctx context.Context, in *AuthDisableRequest, opts ...grpc.CallOption) (*AuthDisableResponse, error) {\n\tout := new(AuthDisableResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/AuthDisable\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) Authenticate(ctx context.Context, in *AuthenticateRequest, opts ...grpc.CallOption) (*AuthenticateResponse, error) {\n\tout := new(AuthenticateResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/Authenticate\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) UserAdd(ctx context.Context, in *AuthUserAddRequest, opts ...grpc.CallOption) (*AuthUserAddResponse, error) {\n\tout := new(AuthUserAddResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/UserAdd\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) UserGet(ctx context.Context, in *AuthUserGetRequest, opts ...grpc.CallOption) (*AuthUserGetResponse, error) {\n\tout := new(AuthUserGetResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/UserGet\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) UserList(ctx context.Context, in *AuthUserListRequest, opts ...grpc.CallOption) (*AuthUserListResponse, error) {\n\tout := new(AuthUserListResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/UserList\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) UserDelete(ctx context.Context, in *AuthUserDeleteRequest, opts ...grpc.CallOption) (*AuthUserDeleteResponse, error) {\n\tout := new(AuthUserDeleteResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/UserDelete\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) UserChangePassword(ctx context.Context, in *AuthUserChangePasswordRequest, opts ...grpc.CallOption) (*AuthUserChangePasswordResponse, error) {\n\tout := new(AuthUserChangePasswordResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/UserChangePassword\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) UserGrantRole(ctx context.Context, in *AuthUserGrantRoleRequest, opts ...grpc.CallOption) (*AuthUserGrantRoleResponse, error) {\n\tout := new(AuthUserGrantRoleResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/UserGrantRole\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) UserRevokeRole(ctx context.Context, in *AuthUserRevokeRoleRequest, opts ...grpc.CallOption) (*AuthUserRevokeRoleResponse, error) {\n\tout := new(AuthUserRevokeRoleResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/UserRevokeRole\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) RoleAdd(ctx context.Context, in *AuthRoleAddRequest, opts ...grpc.CallOption) (*AuthRoleAddResponse, error) {\n\tout := new(AuthRoleAddResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/RoleAdd\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) RoleGet(ctx context.Context, in *AuthRoleGetRequest, opts ...grpc.CallOption) (*AuthRoleGetResponse, error) {\n\tout := new(AuthRoleGetResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/RoleGet\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) RoleList(ctx context.Context, in *AuthRoleListRequest, opts ...grpc.CallOption) (*AuthRoleListResponse, error) {\n\tout := new(AuthRoleListResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/RoleList\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) RoleDelete(ctx context.Context, in *AuthRoleDeleteRequest, opts ...grpc.CallOption) (*AuthRoleDeleteResponse, error) {\n\tout := new(AuthRoleDeleteResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/RoleDelete\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) RoleGrantPermission(ctx context.Context, in *AuthRoleGrantPermissionRequest, opts ...grpc.CallOption) (*AuthRoleGrantPermissionResponse, error) {\n\tout := new(AuthRoleGrantPermissionResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/RoleGrantPermission\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *authClient) RoleRevokePermission(ctx context.Context, in *AuthRoleRevokePermissionRequest, opts ...grpc.CallOption) (*AuthRoleRevokePermissionResponse, error) {\n\tout := new(AuthRoleRevokePermissionResponse)\n\terr := grpc.Invoke(ctx, \"/etcdserverpb.Auth/RoleRevokePermission\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Server API for Auth service\n\ntype AuthServer interface {\n\t// AuthEnable enables authentication.\n\tAuthEnable(context.Context, *AuthEnableRequest) (*AuthEnableResponse, error)\n\t// AuthDisable disables authentication.\n\tAuthDisable(context.Context, *AuthDisableRequest) (*AuthDisableResponse, error)\n\t// Authenticate processes an authenticate request.\n\tAuthenticate(context.Context, *AuthenticateRequest) (*AuthenticateResponse, error)\n\t// UserAdd adds a new user.\n\tUserAdd(context.Context, *AuthUserAddRequest) (*AuthUserAddResponse, error)\n\t// UserGet gets detailed user information.\n\tUserGet(context.Context, *AuthUserGetRequest) (*AuthUserGetResponse, error)\n\t// UserList gets a list of all users.\n\tUserList(context.Context, *AuthUserListRequest) (*AuthUserListResponse, error)\n\t// UserDelete deletes a specified user.\n\tUserDelete(context.Context, *AuthUserDeleteRequest) (*AuthUserDeleteResponse, error)\n\t// UserChangePassword changes the password of a specified user.\n\tUserChangePassword(context.Context, *AuthUserChangePasswordRequest) (*AuthUserChangePasswordResponse, error)\n\t// UserGrant grants a role to a specified user.\n\tUserGrantRole(context.Context, *AuthUserGrantRoleRequest) (*AuthUserGrantRoleResponse, error)\n\t// UserRevokeRole revokes a role of specified user.\n\tUserRevokeRole(context.Context, *AuthUserRevokeRoleRequest) (*AuthUserRevokeRoleResponse, error)\n\t// RoleAdd adds a new role.\n\tRoleAdd(context.Context, *AuthRoleAddRequest) (*AuthRoleAddResponse, error)\n\t// RoleGet gets detailed role information.\n\tRoleGet(context.Context, *AuthRoleGetRequest) (*AuthRoleGetResponse, error)\n\t// RoleList gets lists of all roles.\n\tRoleList(context.Context, *AuthRoleListRequest) (*AuthRoleListResponse, error)\n\t// RoleDelete deletes a specified role.\n\tRoleDelete(context.Context, *AuthRoleDeleteRequest) (*AuthRoleDeleteResponse, error)\n\t// RoleGrantPermission grants a permission of a specified key or range to a specified role.\n\tRoleGrantPermission(context.Context, *AuthRoleGrantPermissionRequest) (*AuthRoleGrantPermissionResponse, error)\n\t// RoleRevokePermission revokes a key or range permission of a specified role.\n\tRoleRevokePermission(context.Context, *AuthRoleRevokePermissionRequest) (*AuthRoleRevokePermissionResponse, error)\n}\n\nfunc RegisterAuthServer(s *grpc.Server, srv AuthServer) {\n\ts.RegisterService(&_Auth_serviceDesc, srv)\n}\n\nfunc _Auth_AuthEnable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthEnableRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).AuthEnable(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/AuthEnable\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).AuthEnable(ctx, req.(*AuthEnableRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_AuthDisable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthDisableRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).AuthDisable(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/AuthDisable\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).AuthDisable(ctx, req.(*AuthDisableRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_Authenticate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthenticateRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).Authenticate(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/Authenticate\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).Authenticate(ctx, req.(*AuthenticateRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_UserAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthUserAddRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).UserAdd(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/UserAdd\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).UserAdd(ctx, req.(*AuthUserAddRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_UserGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthUserGetRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).UserGet(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/UserGet\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).UserGet(ctx, req.(*AuthUserGetRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_UserList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthUserListRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).UserList(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/UserList\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).UserList(ctx, req.(*AuthUserListRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_UserDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthUserDeleteRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).UserDelete(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/UserDelete\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).UserDelete(ctx, req.(*AuthUserDeleteRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_UserChangePassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthUserChangePasswordRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).UserChangePassword(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/UserChangePassword\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).UserChangePassword(ctx, req.(*AuthUserChangePasswordRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_UserGrantRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthUserGrantRoleRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).UserGrantRole(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/UserGrantRole\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).UserGrantRole(ctx, req.(*AuthUserGrantRoleRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_UserRevokeRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthUserRevokeRoleRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).UserRevokeRole(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/UserRevokeRole\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).UserRevokeRole(ctx, req.(*AuthUserRevokeRoleRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_RoleAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthRoleAddRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).RoleAdd(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/RoleAdd\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).RoleAdd(ctx, req.(*AuthRoleAddRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_RoleGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthRoleGetRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).RoleGet(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/RoleGet\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).RoleGet(ctx, req.(*AuthRoleGetRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_RoleList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthRoleListRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).RoleList(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/RoleList\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).RoleList(ctx, req.(*AuthRoleListRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_RoleDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthRoleDeleteRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).RoleDelete(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/RoleDelete\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).RoleDelete(ctx, req.(*AuthRoleDeleteRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_RoleGrantPermission_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthRoleGrantPermissionRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).RoleGrantPermission(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/RoleGrantPermission\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).RoleGrantPermission(ctx, req.(*AuthRoleGrantPermissionRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Auth_RoleRevokePermission_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AuthRoleRevokePermissionRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(AuthServer).RoleRevokePermission(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/etcdserverpb.Auth/RoleRevokePermission\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(AuthServer).RoleRevokePermission(ctx, req.(*AuthRoleRevokePermissionRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nvar _Auth_serviceDesc = grpc.ServiceDesc{\n\tServiceName: \"etcdserverpb.Auth\",\n\tHandlerType: (*AuthServer)(nil),\n\tMethods: []grpc.MethodDesc{\n\t\t{\n\t\t\tMethodName: \"AuthEnable\",\n\t\t\tHandler:    _Auth_AuthEnable_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"AuthDisable\",\n\t\t\tHandler:    _Auth_AuthDisable_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"Authenticate\",\n\t\t\tHandler:    _Auth_Authenticate_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"UserAdd\",\n\t\t\tHandler:    _Auth_UserAdd_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"UserGet\",\n\t\t\tHandler:    _Auth_UserGet_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"UserList\",\n\t\t\tHandler:    _Auth_UserList_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"UserDelete\",\n\t\t\tHandler:    _Auth_UserDelete_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"UserChangePassword\",\n\t\t\tHandler:    _Auth_UserChangePassword_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"UserGrantRole\",\n\t\t\tHandler:    _Auth_UserGrantRole_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"UserRevokeRole\",\n\t\t\tHandler:    _Auth_UserRevokeRole_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"RoleAdd\",\n\t\t\tHandler:    _Auth_RoleAdd_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"RoleGet\",\n\t\t\tHandler:    _Auth_RoleGet_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"RoleList\",\n\t\t\tHandler:    _Auth_RoleList_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"RoleDelete\",\n\t\t\tHandler:    _Auth_RoleDelete_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"RoleGrantPermission\",\n\t\t\tHandler:    _Auth_RoleGrantPermission_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"RoleRevokePermission\",\n\t\t\tHandler:    _Auth_RoleRevokePermission_Handler,\n\t\t},\n\t},\n\tStreams:  []grpc.StreamDesc{},\n\tMetadata: \"rpc.proto\",\n}\n\nfunc (m *ResponseHeader) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ResponseHeader) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.ClusterId != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ClusterId))\n\t}\n\tif m.MemberId != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.MemberId))\n\t}\n\tif m.Revision != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Revision))\n\t}\n\tif m.RaftTerm != 0 {\n\t\tdAtA[i] = 0x20\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.RaftTerm))\n\t}\n\treturn i, nil\n}\n\nfunc (m *RangeRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *RangeRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Key) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Key)))\n\t\ti += copy(dAtA[i:], m.Key)\n\t}\n\tif len(m.RangeEnd) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.RangeEnd)))\n\t\ti += copy(dAtA[i:], m.RangeEnd)\n\t}\n\tif m.Limit != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Limit))\n\t}\n\tif m.Revision != 0 {\n\t\tdAtA[i] = 0x20\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Revision))\n\t}\n\tif m.SortOrder != 0 {\n\t\tdAtA[i] = 0x28\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.SortOrder))\n\t}\n\tif m.SortTarget != 0 {\n\t\tdAtA[i] = 0x30\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.SortTarget))\n\t}\n\tif m.Serializable {\n\t\tdAtA[i] = 0x38\n\t\ti++\n\t\tif m.Serializable {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.KeysOnly {\n\t\tdAtA[i] = 0x40\n\t\ti++\n\t\tif m.KeysOnly {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.CountOnly {\n\t\tdAtA[i] = 0x48\n\t\ti++\n\t\tif m.CountOnly {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.MinModRevision != 0 {\n\t\tdAtA[i] = 0x50\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.MinModRevision))\n\t}\n\tif m.MaxModRevision != 0 {\n\t\tdAtA[i] = 0x58\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.MaxModRevision))\n\t}\n\tif m.MinCreateRevision != 0 {\n\t\tdAtA[i] = 0x60\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.MinCreateRevision))\n\t}\n\tif m.MaxCreateRevision != 0 {\n\t\tdAtA[i] = 0x68\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.MaxCreateRevision))\n\t}\n\treturn i, nil\n}\n\nfunc (m *RangeResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *RangeResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn1, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n1\n\t}\n\tif len(m.Kvs) > 0 {\n\t\tfor _, msg := range m.Kvs {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\tif m.More {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\tif m.More {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.Count != 0 {\n\t\tdAtA[i] = 0x20\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Count))\n\t}\n\treturn i, nil\n}\n\nfunc (m *PutRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *PutRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Key) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Key)))\n\t\ti += copy(dAtA[i:], m.Key)\n\t}\n\tif len(m.Value) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Value)))\n\t\ti += copy(dAtA[i:], m.Value)\n\t}\n\tif m.Lease != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Lease))\n\t}\n\tif m.PrevKv {\n\t\tdAtA[i] = 0x20\n\t\ti++\n\t\tif m.PrevKv {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.IgnoreValue {\n\t\tdAtA[i] = 0x28\n\t\ti++\n\t\tif m.IgnoreValue {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.IgnoreLease {\n\t\tdAtA[i] = 0x30\n\t\ti++\n\t\tif m.IgnoreLease {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\treturn i, nil\n}\n\nfunc (m *PutResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *PutResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn2, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n2\n\t}\n\tif m.PrevKv != nil {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.PrevKv.Size()))\n\t\tn3, err := m.PrevKv.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n3\n\t}\n\treturn i, nil\n}\n\nfunc (m *DeleteRangeRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *DeleteRangeRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Key) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Key)))\n\t\ti += copy(dAtA[i:], m.Key)\n\t}\n\tif len(m.RangeEnd) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.RangeEnd)))\n\t\ti += copy(dAtA[i:], m.RangeEnd)\n\t}\n\tif m.PrevKv {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\tif m.PrevKv {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\treturn i, nil\n}\n\nfunc (m *DeleteRangeResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *DeleteRangeResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn4, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n4\n\t}\n\tif m.Deleted != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Deleted))\n\t}\n\tif len(m.PrevKvs) > 0 {\n\t\tfor _, msg := range m.PrevKvs {\n\t\t\tdAtA[i] = 0x1a\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *RequestOp) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *RequestOp) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Request != nil {\n\t\tnn5, err := m.Request.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += nn5\n\t}\n\treturn i, nil\n}\n\nfunc (m *RequestOp_RequestRange) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tif m.RequestRange != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.RequestRange.Size()))\n\t\tn6, err := m.RequestRange.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n6\n\t}\n\treturn i, nil\n}\nfunc (m *RequestOp_RequestPut) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tif m.RequestPut != nil {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.RequestPut.Size()))\n\t\tn7, err := m.RequestPut.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n7\n\t}\n\treturn i, nil\n}\nfunc (m *RequestOp_RequestDeleteRange) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tif m.RequestDeleteRange != nil {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.RequestDeleteRange.Size()))\n\t\tn8, err := m.RequestDeleteRange.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n8\n\t}\n\treturn i, nil\n}\nfunc (m *RequestOp_RequestTxn) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tif m.RequestTxn != nil {\n\t\tdAtA[i] = 0x22\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.RequestTxn.Size()))\n\t\tn9, err := m.RequestTxn.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n9\n\t}\n\treturn i, nil\n}\nfunc (m *ResponseOp) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ResponseOp) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Response != nil {\n\t\tnn10, err := m.Response.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += nn10\n\t}\n\treturn i, nil\n}\n\nfunc (m *ResponseOp_ResponseRange) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tif m.ResponseRange != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ResponseRange.Size()))\n\t\tn11, err := m.ResponseRange.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n11\n\t}\n\treturn i, nil\n}\nfunc (m *ResponseOp_ResponsePut) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tif m.ResponsePut != nil {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ResponsePut.Size()))\n\t\tn12, err := m.ResponsePut.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n12\n\t}\n\treturn i, nil\n}\nfunc (m *ResponseOp_ResponseDeleteRange) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tif m.ResponseDeleteRange != nil {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ResponseDeleteRange.Size()))\n\t\tn13, err := m.ResponseDeleteRange.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n13\n\t}\n\treturn i, nil\n}\nfunc (m *ResponseOp_ResponseTxn) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tif m.ResponseTxn != nil {\n\t\tdAtA[i] = 0x22\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ResponseTxn.Size()))\n\t\tn14, err := m.ResponseTxn.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n14\n\t}\n\treturn i, nil\n}\nfunc (m *Compare) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Compare) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Result != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Result))\n\t}\n\tif m.Target != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Target))\n\t}\n\tif len(m.Key) > 0 {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Key)))\n\t\ti += copy(dAtA[i:], m.Key)\n\t}\n\tif m.TargetUnion != nil {\n\t\tnn15, err := m.TargetUnion.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += nn15\n\t}\n\tif len(m.RangeEnd) > 0 {\n\t\tdAtA[i] = 0x82\n\t\ti++\n\t\tdAtA[i] = 0x4\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.RangeEnd)))\n\t\ti += copy(dAtA[i:], m.RangeEnd)\n\t}\n\treturn i, nil\n}\n\nfunc (m *Compare_Version) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tdAtA[i] = 0x20\n\ti++\n\ti = encodeVarintRpc(dAtA, i, uint64(m.Version))\n\treturn i, nil\n}\nfunc (m *Compare_CreateRevision) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tdAtA[i] = 0x28\n\ti++\n\ti = encodeVarintRpc(dAtA, i, uint64(m.CreateRevision))\n\treturn i, nil\n}\nfunc (m *Compare_ModRevision) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tdAtA[i] = 0x30\n\ti++\n\ti = encodeVarintRpc(dAtA, i, uint64(m.ModRevision))\n\treturn i, nil\n}\nfunc (m *Compare_Value) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tif m.Value != nil {\n\t\tdAtA[i] = 0x3a\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Value)))\n\t\ti += copy(dAtA[i:], m.Value)\n\t}\n\treturn i, nil\n}\nfunc (m *Compare_Lease) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tdAtA[i] = 0x40\n\ti++\n\ti = encodeVarintRpc(dAtA, i, uint64(m.Lease))\n\treturn i, nil\n}\nfunc (m *TxnRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *TxnRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Compare) > 0 {\n\t\tfor _, msg := range m.Compare {\n\t\t\tdAtA[i] = 0xa\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\tif len(m.Success) > 0 {\n\t\tfor _, msg := range m.Success {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\tif len(m.Failure) > 0 {\n\t\tfor _, msg := range m.Failure {\n\t\t\tdAtA[i] = 0x1a\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *TxnResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *TxnResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn16, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n16\n\t}\n\tif m.Succeeded {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\tif m.Succeeded {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif len(m.Responses) > 0 {\n\t\tfor _, msg := range m.Responses {\n\t\t\tdAtA[i] = 0x1a\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *CompactionRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *CompactionRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Revision != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Revision))\n\t}\n\tif m.Physical {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\tif m.Physical {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\treturn i, nil\n}\n\nfunc (m *CompactionResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *CompactionResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn17, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n17\n\t}\n\treturn i, nil\n}\n\nfunc (m *HashRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *HashRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc (m *HashKVRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *HashKVRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Revision != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Revision))\n\t}\n\treturn i, nil\n}\n\nfunc (m *HashKVResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *HashKVResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn18, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n18\n\t}\n\tif m.Hash != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Hash))\n\t}\n\tif m.CompactRevision != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.CompactRevision))\n\t}\n\treturn i, nil\n}\n\nfunc (m *HashResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *HashResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn19, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n19\n\t}\n\tif m.Hash != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Hash))\n\t}\n\treturn i, nil\n}\n\nfunc (m *SnapshotRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *SnapshotRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc (m *SnapshotResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *SnapshotResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn20, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n20\n\t}\n\tif m.RemainingBytes != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.RemainingBytes))\n\t}\n\tif len(m.Blob) > 0 {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Blob)))\n\t\ti += copy(dAtA[i:], m.Blob)\n\t}\n\treturn i, nil\n}\n\nfunc (m *WatchRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *WatchRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.RequestUnion != nil {\n\t\tnn21, err := m.RequestUnion.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += nn21\n\t}\n\treturn i, nil\n}\n\nfunc (m *WatchRequest_CreateRequest) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tif m.CreateRequest != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.CreateRequest.Size()))\n\t\tn22, err := m.CreateRequest.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n22\n\t}\n\treturn i, nil\n}\nfunc (m *WatchRequest_CancelRequest) MarshalTo(dAtA []byte) (int, error) {\n\ti := 0\n\tif m.CancelRequest != nil {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.CancelRequest.Size()))\n\t\tn23, err := m.CancelRequest.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n23\n\t}\n\treturn i, nil\n}\nfunc (m *WatchCreateRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *WatchCreateRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Key) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Key)))\n\t\ti += copy(dAtA[i:], m.Key)\n\t}\n\tif len(m.RangeEnd) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.RangeEnd)))\n\t\ti += copy(dAtA[i:], m.RangeEnd)\n\t}\n\tif m.StartRevision != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.StartRevision))\n\t}\n\tif m.ProgressNotify {\n\t\tdAtA[i] = 0x20\n\t\ti++\n\t\tif m.ProgressNotify {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif len(m.Filters) > 0 {\n\t\tdAtA25 := make([]byte, len(m.Filters)*10)\n\t\tvar j24 int\n\t\tfor _, num := range m.Filters {\n\t\t\tfor num >= 1<<7 {\n\t\t\t\tdAtA25[j24] = uint8(uint64(num)&0x7f | 0x80)\n\t\t\t\tnum >>= 7\n\t\t\t\tj24++\n\t\t\t}\n\t\t\tdAtA25[j24] = uint8(num)\n\t\t\tj24++\n\t\t}\n\t\tdAtA[i] = 0x2a\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(j24))\n\t\ti += copy(dAtA[i:], dAtA25[:j24])\n\t}\n\tif m.PrevKv {\n\t\tdAtA[i] = 0x30\n\t\ti++\n\t\tif m.PrevKv {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.WatchId != 0 {\n\t\tdAtA[i] = 0x38\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.WatchId))\n\t}\n\tif m.Fragment {\n\t\tdAtA[i] = 0x40\n\t\ti++\n\t\tif m.Fragment {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\treturn i, nil\n}\n\nfunc (m *WatchCancelRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *WatchCancelRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.WatchId != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.WatchId))\n\t}\n\treturn i, nil\n}\n\nfunc (m *WatchResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *WatchResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn26, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n26\n\t}\n\tif m.WatchId != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.WatchId))\n\t}\n\tif m.Created {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\tif m.Created {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.Canceled {\n\t\tdAtA[i] = 0x20\n\t\ti++\n\t\tif m.Canceled {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif m.CompactRevision != 0 {\n\t\tdAtA[i] = 0x28\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.CompactRevision))\n\t}\n\tif len(m.CancelReason) > 0 {\n\t\tdAtA[i] = 0x32\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.CancelReason)))\n\t\ti += copy(dAtA[i:], m.CancelReason)\n\t}\n\tif m.Fragment {\n\t\tdAtA[i] = 0x38\n\t\ti++\n\t\tif m.Fragment {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\tif len(m.Events) > 0 {\n\t\tfor _, msg := range m.Events {\n\t\t\tdAtA[i] = 0x5a\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *LeaseGrantRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *LeaseGrantRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.TTL != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.TTL))\n\t}\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ID))\n\t}\n\treturn i, nil\n}\n\nfunc (m *LeaseGrantResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *LeaseGrantResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn27, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n27\n\t}\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ID))\n\t}\n\tif m.TTL != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.TTL))\n\t}\n\tif len(m.Error) > 0 {\n\t\tdAtA[i] = 0x22\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Error)))\n\t\ti += copy(dAtA[i:], m.Error)\n\t}\n\treturn i, nil\n}\n\nfunc (m *LeaseRevokeRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *LeaseRevokeRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ID))\n\t}\n\treturn i, nil\n}\n\nfunc (m *LeaseRevokeResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *LeaseRevokeResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn28, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n28\n\t}\n\treturn i, nil\n}\n\nfunc (m *LeaseKeepAliveRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *LeaseKeepAliveRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ID))\n\t}\n\treturn i, nil\n}\n\nfunc (m *LeaseKeepAliveResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *LeaseKeepAliveResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn29, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n29\n\t}\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ID))\n\t}\n\tif m.TTL != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.TTL))\n\t}\n\treturn i, nil\n}\n\nfunc (m *LeaseTimeToLiveRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *LeaseTimeToLiveRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ID))\n\t}\n\tif m.Keys {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\tif m.Keys {\n\t\t\tdAtA[i] = 1\n\t\t} else {\n\t\t\tdAtA[i] = 0\n\t\t}\n\t\ti++\n\t}\n\treturn i, nil\n}\n\nfunc (m *LeaseTimeToLiveResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *LeaseTimeToLiveResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn30, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n30\n\t}\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ID))\n\t}\n\tif m.TTL != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.TTL))\n\t}\n\tif m.GrantedTTL != 0 {\n\t\tdAtA[i] = 0x20\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.GrantedTTL))\n\t}\n\tif len(m.Keys) > 0 {\n\t\tfor _, b := range m.Keys {\n\t\t\tdAtA[i] = 0x2a\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(len(b)))\n\t\t\ti += copy(dAtA[i:], b)\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *LeaseLeasesRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *LeaseLeasesRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc (m *LeaseStatus) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *LeaseStatus) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ID))\n\t}\n\treturn i, nil\n}\n\nfunc (m *LeaseLeasesResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *LeaseLeasesResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn31, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n31\n\t}\n\tif len(m.Leases) > 0 {\n\t\tfor _, msg := range m.Leases {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *Member) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Member) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ID))\n\t}\n\tif len(m.Name) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Name)))\n\t\ti += copy(dAtA[i:], m.Name)\n\t}\n\tif len(m.PeerURLs) > 0 {\n\t\tfor _, s := range m.PeerURLs {\n\t\t\tdAtA[i] = 0x1a\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\tif len(m.ClientURLs) > 0 {\n\t\tfor _, s := range m.ClientURLs {\n\t\t\tdAtA[i] = 0x22\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *MemberAddRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *MemberAddRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.PeerURLs) > 0 {\n\t\tfor _, s := range m.PeerURLs {\n\t\t\tdAtA[i] = 0xa\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *MemberAddResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *MemberAddResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn32, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n32\n\t}\n\tif m.Member != nil {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Member.Size()))\n\t\tn33, err := m.Member.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n33\n\t}\n\tif len(m.Members) > 0 {\n\t\tfor _, msg := range m.Members {\n\t\t\tdAtA[i] = 0x1a\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *MemberRemoveRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *MemberRemoveRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ID))\n\t}\n\treturn i, nil\n}\n\nfunc (m *MemberRemoveResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *MemberRemoveResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn34, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n34\n\t}\n\tif len(m.Members) > 0 {\n\t\tfor _, msg := range m.Members {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *MemberUpdateRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *MemberUpdateRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.ID))\n\t}\n\tif len(m.PeerURLs) > 0 {\n\t\tfor _, s := range m.PeerURLs {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *MemberUpdateResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *MemberUpdateResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn35, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n35\n\t}\n\tif len(m.Members) > 0 {\n\t\tfor _, msg := range m.Members {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *MemberListRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *MemberListRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc (m *MemberListResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *MemberListResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn36, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n36\n\t}\n\tif len(m.Members) > 0 {\n\t\tfor _, msg := range m.Members {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *DefragmentRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *DefragmentRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc (m *DefragmentResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *DefragmentResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn37, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n37\n\t}\n\treturn i, nil\n}\n\nfunc (m *MoveLeaderRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *MoveLeaderRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.TargetID != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.TargetID))\n\t}\n\treturn i, nil\n}\n\nfunc (m *MoveLeaderResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *MoveLeaderResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn38, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n38\n\t}\n\treturn i, nil\n}\n\nfunc (m *AlarmRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AlarmRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Action != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Action))\n\t}\n\tif m.MemberID != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.MemberID))\n\t}\n\tif m.Alarm != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Alarm))\n\t}\n\treturn i, nil\n}\n\nfunc (m *AlarmMember) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AlarmMember) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.MemberID != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.MemberID))\n\t}\n\tif m.Alarm != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Alarm))\n\t}\n\treturn i, nil\n}\n\nfunc (m *AlarmResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AlarmResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn39, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n39\n\t}\n\tif len(m.Alarms) > 0 {\n\t\tfor _, msg := range m.Alarms {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *StatusRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *StatusRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc (m *StatusResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *StatusResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn40, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n40\n\t}\n\tif len(m.Version) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Version)))\n\t\ti += copy(dAtA[i:], m.Version)\n\t}\n\tif m.DbSize != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.DbSize))\n\t}\n\tif m.Leader != 0 {\n\t\tdAtA[i] = 0x20\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Leader))\n\t}\n\tif m.RaftIndex != 0 {\n\t\tdAtA[i] = 0x28\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.RaftIndex))\n\t}\n\tif m.RaftTerm != 0 {\n\t\tdAtA[i] = 0x30\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.RaftTerm))\n\t}\n\tif m.RaftAppliedIndex != 0 {\n\t\tdAtA[i] = 0x38\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.RaftAppliedIndex))\n\t}\n\tif len(m.Errors) > 0 {\n\t\tfor _, s := range m.Errors {\n\t\t\tdAtA[i] = 0x42\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\tif m.DbSizeInUse != 0 {\n\t\tdAtA[i] = 0x48\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.DbSizeInUse))\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthEnableRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthEnableRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc (m *AuthDisableRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthDisableRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc (m *AuthenticateRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthenticateRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Name) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Name)))\n\t\ti += copy(dAtA[i:], m.Name)\n\t}\n\tif len(m.Password) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Password)))\n\t\ti += copy(dAtA[i:], m.Password)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserAddRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserAddRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Name) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Name)))\n\t\ti += copy(dAtA[i:], m.Name)\n\t}\n\tif len(m.Password) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Password)))\n\t\ti += copy(dAtA[i:], m.Password)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserGetRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserGetRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Name) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Name)))\n\t\ti += copy(dAtA[i:], m.Name)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserDeleteRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserDeleteRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Name) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Name)))\n\t\ti += copy(dAtA[i:], m.Name)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserChangePasswordRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserChangePasswordRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Name) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Name)))\n\t\ti += copy(dAtA[i:], m.Name)\n\t}\n\tif len(m.Password) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Password)))\n\t\ti += copy(dAtA[i:], m.Password)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserGrantRoleRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserGrantRoleRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.User) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.User)))\n\t\ti += copy(dAtA[i:], m.User)\n\t}\n\tif len(m.Role) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Role)))\n\t\ti += copy(dAtA[i:], m.Role)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserRevokeRoleRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserRevokeRoleRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Name) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Name)))\n\t\ti += copy(dAtA[i:], m.Name)\n\t}\n\tif len(m.Role) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Role)))\n\t\ti += copy(dAtA[i:], m.Role)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthRoleAddRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthRoleAddRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Name) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Name)))\n\t\ti += copy(dAtA[i:], m.Name)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthRoleGetRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthRoleGetRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Role) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Role)))\n\t\ti += copy(dAtA[i:], m.Role)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserListRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserListRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc (m *AuthRoleListRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthRoleListRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc (m *AuthRoleDeleteRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthRoleDeleteRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Role) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Role)))\n\t\ti += copy(dAtA[i:], m.Role)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthRoleGrantPermissionRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthRoleGrantPermissionRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Name) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Name)))\n\t\ti += copy(dAtA[i:], m.Name)\n\t}\n\tif m.Perm != nil {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Perm.Size()))\n\t\tn41, err := m.Perm.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n41\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthRoleRevokePermissionRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthRoleRevokePermissionRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Role) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Role)))\n\t\ti += copy(dAtA[i:], m.Role)\n\t}\n\tif len(m.Key) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Key)))\n\t\ti += copy(dAtA[i:], m.Key)\n\t}\n\tif len(m.RangeEnd) > 0 {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.RangeEnd)))\n\t\ti += copy(dAtA[i:], m.RangeEnd)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthEnableResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthEnableResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn42, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n42\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthDisableResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthDisableResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn43, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n43\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthenticateResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthenticateResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn44, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n44\n\t}\n\tif len(m.Token) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(len(m.Token)))\n\t\ti += copy(dAtA[i:], m.Token)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserAddResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserAddResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn45, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n45\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserGetResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserGetResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn46, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n46\n\t}\n\tif len(m.Roles) > 0 {\n\t\tfor _, s := range m.Roles {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserDeleteResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserDeleteResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn47, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n47\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserChangePasswordResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserChangePasswordResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn48, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n48\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserGrantRoleResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserGrantRoleResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn49, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n49\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserRevokeRoleResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserRevokeRoleResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn50, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n50\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthRoleAddResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthRoleAddResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn51, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n51\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthRoleGetResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthRoleGetResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn52, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n52\n\t}\n\tif len(m.Perm) > 0 {\n\t\tfor _, msg := range m.Perm {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\ti = encodeVarintRpc(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthRoleListResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthRoleListResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn53, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n53\n\t}\n\tif len(m.Roles) > 0 {\n\t\tfor _, s := range m.Roles {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthUserListResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthUserListResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn54, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n54\n\t}\n\tif len(m.Users) > 0 {\n\t\tfor _, s := range m.Users {\n\t\t\tdAtA[i] = 0x12\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthRoleDeleteResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthRoleDeleteResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn55, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n55\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthRoleGrantPermissionResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthRoleGrantPermissionResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn56, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n56\n\t}\n\treturn i, nil\n}\n\nfunc (m *AuthRoleRevokePermissionResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AuthRoleRevokePermissionResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRpc(dAtA, i, uint64(m.Header.Size()))\n\t\tn57, err := m.Header.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n57\n\t}\n\treturn i, nil\n}\n\nfunc encodeVarintRpc(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *ResponseHeader) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ClusterId != 0 {\n\t\tn += 1 + sovRpc(uint64(m.ClusterId))\n\t}\n\tif m.MemberId != 0 {\n\t\tn += 1 + sovRpc(uint64(m.MemberId))\n\t}\n\tif m.Revision != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Revision))\n\t}\n\tif m.RaftTerm != 0 {\n\t\tn += 1 + sovRpc(uint64(m.RaftTerm))\n\t}\n\treturn n\n}\n\nfunc (m *RangeRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Key)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.RangeEnd)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.Limit != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Limit))\n\t}\n\tif m.Revision != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Revision))\n\t}\n\tif m.SortOrder != 0 {\n\t\tn += 1 + sovRpc(uint64(m.SortOrder))\n\t}\n\tif m.SortTarget != 0 {\n\t\tn += 1 + sovRpc(uint64(m.SortTarget))\n\t}\n\tif m.Serializable {\n\t\tn += 2\n\t}\n\tif m.KeysOnly {\n\t\tn += 2\n\t}\n\tif m.CountOnly {\n\t\tn += 2\n\t}\n\tif m.MinModRevision != 0 {\n\t\tn += 1 + sovRpc(uint64(m.MinModRevision))\n\t}\n\tif m.MaxModRevision != 0 {\n\t\tn += 1 + sovRpc(uint64(m.MaxModRevision))\n\t}\n\tif m.MinCreateRevision != 0 {\n\t\tn += 1 + sovRpc(uint64(m.MinCreateRevision))\n\t}\n\tif m.MaxCreateRevision != 0 {\n\t\tn += 1 + sovRpc(uint64(m.MaxCreateRevision))\n\t}\n\treturn n\n}\n\nfunc (m *RangeResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif len(m.Kvs) > 0 {\n\t\tfor _, e := range m.Kvs {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\tif m.More {\n\t\tn += 2\n\t}\n\tif m.Count != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Count))\n\t}\n\treturn n\n}\n\nfunc (m *PutRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Key)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.Value)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.Lease != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Lease))\n\t}\n\tif m.PrevKv {\n\t\tn += 2\n\t}\n\tif m.IgnoreValue {\n\t\tn += 2\n\t}\n\tif m.IgnoreLease {\n\t\tn += 2\n\t}\n\treturn n\n}\n\nfunc (m *PutResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.PrevKv != nil {\n\t\tl = m.PrevKv.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *DeleteRangeRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Key)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.RangeEnd)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.PrevKv {\n\t\tn += 2\n\t}\n\treturn n\n}\n\nfunc (m *DeleteRangeResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.Deleted != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Deleted))\n\t}\n\tif len(m.PrevKvs) > 0 {\n\t\tfor _, e := range m.PrevKvs {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *RequestOp) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Request != nil {\n\t\tn += m.Request.Size()\n\t}\n\treturn n\n}\n\nfunc (m *RequestOp_RequestRange) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.RequestRange != nil {\n\t\tl = m.RequestRange.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\nfunc (m *RequestOp_RequestPut) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.RequestPut != nil {\n\t\tl = m.RequestPut.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\nfunc (m *RequestOp_RequestDeleteRange) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.RequestDeleteRange != nil {\n\t\tl = m.RequestDeleteRange.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\nfunc (m *RequestOp_RequestTxn) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.RequestTxn != nil {\n\t\tl = m.RequestTxn.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\nfunc (m *ResponseOp) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Response != nil {\n\t\tn += m.Response.Size()\n\t}\n\treturn n\n}\n\nfunc (m *ResponseOp_ResponseRange) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ResponseRange != nil {\n\t\tl = m.ResponseRange.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\nfunc (m *ResponseOp_ResponsePut) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ResponsePut != nil {\n\t\tl = m.ResponsePut.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\nfunc (m *ResponseOp_ResponseDeleteRange) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ResponseDeleteRange != nil {\n\t\tl = m.ResponseDeleteRange.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\nfunc (m *ResponseOp_ResponseTxn) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ResponseTxn != nil {\n\t\tl = m.ResponseTxn.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\nfunc (m *Compare) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Result != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Result))\n\t}\n\tif m.Target != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Target))\n\t}\n\tl = len(m.Key)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.TargetUnion != nil {\n\t\tn += m.TargetUnion.Size()\n\t}\n\tl = len(m.RangeEnd)\n\tif l > 0 {\n\t\tn += 2 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *Compare_Version) Size() (n int) {\n\tvar l int\n\t_ = l\n\tn += 1 + sovRpc(uint64(m.Version))\n\treturn n\n}\nfunc (m *Compare_CreateRevision) Size() (n int) {\n\tvar l int\n\t_ = l\n\tn += 1 + sovRpc(uint64(m.CreateRevision))\n\treturn n\n}\nfunc (m *Compare_ModRevision) Size() (n int) {\n\tvar l int\n\t_ = l\n\tn += 1 + sovRpc(uint64(m.ModRevision))\n\treturn n\n}\nfunc (m *Compare_Value) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Value != nil {\n\t\tl = len(m.Value)\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\nfunc (m *Compare_Lease) Size() (n int) {\n\tvar l int\n\t_ = l\n\tn += 1 + sovRpc(uint64(m.Lease))\n\treturn n\n}\nfunc (m *TxnRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif len(m.Compare) > 0 {\n\t\tfor _, e := range m.Compare {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\tif len(m.Success) > 0 {\n\t\tfor _, e := range m.Success {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\tif len(m.Failure) > 0 {\n\t\tfor _, e := range m.Failure {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *TxnResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.Succeeded {\n\t\tn += 2\n\t}\n\tif len(m.Responses) > 0 {\n\t\tfor _, e := range m.Responses {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *CompactionRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Revision != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Revision))\n\t}\n\tif m.Physical {\n\t\tn += 2\n\t}\n\treturn n\n}\n\nfunc (m *CompactionResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *HashRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc (m *HashKVRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Revision != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Revision))\n\t}\n\treturn n\n}\n\nfunc (m *HashKVResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.Hash != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Hash))\n\t}\n\tif m.CompactRevision != 0 {\n\t\tn += 1 + sovRpc(uint64(m.CompactRevision))\n\t}\n\treturn n\n}\n\nfunc (m *HashResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.Hash != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Hash))\n\t}\n\treturn n\n}\n\nfunc (m *SnapshotRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc (m *SnapshotResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.RemainingBytes != 0 {\n\t\tn += 1 + sovRpc(uint64(m.RemainingBytes))\n\t}\n\tl = len(m.Blob)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *WatchRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.RequestUnion != nil {\n\t\tn += m.RequestUnion.Size()\n\t}\n\treturn n\n}\n\nfunc (m *WatchRequest_CreateRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.CreateRequest != nil {\n\t\tl = m.CreateRequest.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\nfunc (m *WatchRequest_CancelRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.CancelRequest != nil {\n\t\tl = m.CancelRequest.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\nfunc (m *WatchCreateRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Key)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.RangeEnd)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.StartRevision != 0 {\n\t\tn += 1 + sovRpc(uint64(m.StartRevision))\n\t}\n\tif m.ProgressNotify {\n\t\tn += 2\n\t}\n\tif len(m.Filters) > 0 {\n\t\tl = 0\n\t\tfor _, e := range m.Filters {\n\t\t\tl += sovRpc(uint64(e))\n\t\t}\n\t\tn += 1 + sovRpc(uint64(l)) + l\n\t}\n\tif m.PrevKv {\n\t\tn += 2\n\t}\n\tif m.WatchId != 0 {\n\t\tn += 1 + sovRpc(uint64(m.WatchId))\n\t}\n\tif m.Fragment {\n\t\tn += 2\n\t}\n\treturn n\n}\n\nfunc (m *WatchCancelRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.WatchId != 0 {\n\t\tn += 1 + sovRpc(uint64(m.WatchId))\n\t}\n\treturn n\n}\n\nfunc (m *WatchResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.WatchId != 0 {\n\t\tn += 1 + sovRpc(uint64(m.WatchId))\n\t}\n\tif m.Created {\n\t\tn += 2\n\t}\n\tif m.Canceled {\n\t\tn += 2\n\t}\n\tif m.CompactRevision != 0 {\n\t\tn += 1 + sovRpc(uint64(m.CompactRevision))\n\t}\n\tl = len(m.CancelReason)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.Fragment {\n\t\tn += 2\n\t}\n\tif len(m.Events) > 0 {\n\t\tfor _, e := range m.Events {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *LeaseGrantRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.TTL != 0 {\n\t\tn += 1 + sovRpc(uint64(m.TTL))\n\t}\n\tif m.ID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.ID))\n\t}\n\treturn n\n}\n\nfunc (m *LeaseGrantResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.ID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.ID))\n\t}\n\tif m.TTL != 0 {\n\t\tn += 1 + sovRpc(uint64(m.TTL))\n\t}\n\tl = len(m.Error)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *LeaseRevokeRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.ID))\n\t}\n\treturn n\n}\n\nfunc (m *LeaseRevokeResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *LeaseKeepAliveRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.ID))\n\t}\n\treturn n\n}\n\nfunc (m *LeaseKeepAliveResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.ID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.ID))\n\t}\n\tif m.TTL != 0 {\n\t\tn += 1 + sovRpc(uint64(m.TTL))\n\t}\n\treturn n\n}\n\nfunc (m *LeaseTimeToLiveRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.ID))\n\t}\n\tif m.Keys {\n\t\tn += 2\n\t}\n\treturn n\n}\n\nfunc (m *LeaseTimeToLiveResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.ID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.ID))\n\t}\n\tif m.TTL != 0 {\n\t\tn += 1 + sovRpc(uint64(m.TTL))\n\t}\n\tif m.GrantedTTL != 0 {\n\t\tn += 1 + sovRpc(uint64(m.GrantedTTL))\n\t}\n\tif len(m.Keys) > 0 {\n\t\tfor _, b := range m.Keys {\n\t\t\tl = len(b)\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *LeaseLeasesRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc (m *LeaseStatus) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.ID))\n\t}\n\treturn n\n}\n\nfunc (m *LeaseLeasesResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif len(m.Leases) > 0 {\n\t\tfor _, e := range m.Leases {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *Member) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.ID))\n\t}\n\tl = len(m.Name)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif len(m.PeerURLs) > 0 {\n\t\tfor _, s := range m.PeerURLs {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\tif len(m.ClientURLs) > 0 {\n\t\tfor _, s := range m.ClientURLs {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *MemberAddRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif len(m.PeerURLs) > 0 {\n\t\tfor _, s := range m.PeerURLs {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *MemberAddResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.Member != nil {\n\t\tl = m.Member.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif len(m.Members) > 0 {\n\t\tfor _, e := range m.Members {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *MemberRemoveRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.ID))\n\t}\n\treturn n\n}\n\nfunc (m *MemberRemoveResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif len(m.Members) > 0 {\n\t\tfor _, e := range m.Members {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *MemberUpdateRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.ID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.ID))\n\t}\n\tif len(m.PeerURLs) > 0 {\n\t\tfor _, s := range m.PeerURLs {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *MemberUpdateResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif len(m.Members) > 0 {\n\t\tfor _, e := range m.Members {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *MemberListRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc (m *MemberListResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif len(m.Members) > 0 {\n\t\tfor _, e := range m.Members {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *DefragmentRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc (m *DefragmentResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *MoveLeaderRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.TargetID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.TargetID))\n\t}\n\treturn n\n}\n\nfunc (m *MoveLeaderResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AlarmRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Action != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Action))\n\t}\n\tif m.MemberID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.MemberID))\n\t}\n\tif m.Alarm != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Alarm))\n\t}\n\treturn n\n}\n\nfunc (m *AlarmMember) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.MemberID != 0 {\n\t\tn += 1 + sovRpc(uint64(m.MemberID))\n\t}\n\tif m.Alarm != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Alarm))\n\t}\n\treturn n\n}\n\nfunc (m *AlarmResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif len(m.Alarms) > 0 {\n\t\tfor _, e := range m.Alarms {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *StatusRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc (m *StatusResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.Version)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.DbSize != 0 {\n\t\tn += 1 + sovRpc(uint64(m.DbSize))\n\t}\n\tif m.Leader != 0 {\n\t\tn += 1 + sovRpc(uint64(m.Leader))\n\t}\n\tif m.RaftIndex != 0 {\n\t\tn += 1 + sovRpc(uint64(m.RaftIndex))\n\t}\n\tif m.RaftTerm != 0 {\n\t\tn += 1 + sovRpc(uint64(m.RaftTerm))\n\t}\n\tif m.RaftAppliedIndex != 0 {\n\t\tn += 1 + sovRpc(uint64(m.RaftAppliedIndex))\n\t}\n\tif len(m.Errors) > 0 {\n\t\tfor _, s := range m.Errors {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\tif m.DbSizeInUse != 0 {\n\t\tn += 1 + sovRpc(uint64(m.DbSizeInUse))\n\t}\n\treturn n\n}\n\nfunc (m *AuthEnableRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc (m *AuthDisableRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc (m *AuthenticateRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Name)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.Password)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserAddRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Name)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.Password)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserGetRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Name)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserDeleteRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Name)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserChangePasswordRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Name)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.Password)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserGrantRoleRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.User)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.Role)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserRevokeRoleRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Name)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.Role)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthRoleAddRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Name)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthRoleGetRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Role)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserListRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc (m *AuthRoleListRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc (m *AuthRoleDeleteRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Role)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthRoleGrantPermissionRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Name)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif m.Perm != nil {\n\t\tl = m.Perm.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthRoleRevokePermissionRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Role)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.Key)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.RangeEnd)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthEnableResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthDisableResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthenticateResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tl = len(m.Token)\n\tif l > 0 {\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserAddResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserGetResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif len(m.Roles) > 0 {\n\t\tfor _, s := range m.Roles {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserDeleteResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserChangePasswordResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserGrantRoleResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserRevokeRoleResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthRoleAddResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthRoleGetResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif len(m.Perm) > 0 {\n\t\tfor _, e := range m.Perm {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *AuthRoleListResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif len(m.Roles) > 0 {\n\t\tfor _, s := range m.Roles {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *AuthUserListResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\tif len(m.Users) > 0 {\n\t\tfor _, s := range m.Users {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovRpc(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *AuthRoleDeleteResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthRoleGrantPermissionResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AuthRoleRevokePermissionResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Header != nil {\n\t\tl = m.Header.Size()\n\t\tn += 1 + l + sovRpc(uint64(l))\n\t}\n\treturn n\n}\n\nfunc sovRpc(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozRpc(x uint64) (n int) {\n\treturn sovRpc(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *ResponseHeader) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ResponseHeader: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ResponseHeader: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClusterId\", wireType)\n\t\t\t}\n\t\t\tm.ClusterId = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ClusterId |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field MemberId\", wireType)\n\t\t\t}\n\t\t\tm.MemberId = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.MemberId |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Revision\", wireType)\n\t\t\t}\n\t\t\tm.Revision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Revision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RaftTerm\", wireType)\n\t\t\t}\n\t\t\tm.RaftTerm = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.RaftTerm |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *RangeRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: RangeRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: RangeRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Key\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Key == nil {\n\t\t\t\tm.Key = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RangeEnd\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.RangeEnd = append(m.RangeEnd[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.RangeEnd == nil {\n\t\t\t\tm.RangeEnd = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Limit\", wireType)\n\t\t\t}\n\t\t\tm.Limit = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Limit |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Revision\", wireType)\n\t\t\t}\n\t\t\tm.Revision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Revision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 5:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field SortOrder\", wireType)\n\t\t\t}\n\t\t\tm.SortOrder = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.SortOrder |= (RangeRequest_SortOrder(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 6:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field SortTarget\", wireType)\n\t\t\t}\n\t\t\tm.SortTarget = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.SortTarget |= (RangeRequest_SortTarget(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 7:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Serializable\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Serializable = bool(v != 0)\n\t\tcase 8:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field KeysOnly\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.KeysOnly = bool(v != 0)\n\t\tcase 9:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field CountOnly\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.CountOnly = bool(v != 0)\n\t\tcase 10:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field MinModRevision\", wireType)\n\t\t\t}\n\t\t\tm.MinModRevision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.MinModRevision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 11:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field MaxModRevision\", wireType)\n\t\t\t}\n\t\t\tm.MaxModRevision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.MaxModRevision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 12:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field MinCreateRevision\", wireType)\n\t\t\t}\n\t\t\tm.MinCreateRevision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.MinCreateRevision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 13:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field MaxCreateRevision\", wireType)\n\t\t\t}\n\t\t\tm.MaxCreateRevision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.MaxCreateRevision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *RangeResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: RangeResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: RangeResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Kvs\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Kvs = append(m.Kvs, &mvccpb.KeyValue{})\n\t\t\tif err := m.Kvs[len(m.Kvs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field More\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.More = bool(v != 0)\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Count\", wireType)\n\t\t\t}\n\t\t\tm.Count = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Count |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *PutRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: PutRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: PutRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Key\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Key == nil {\n\t\t\t\tm.Key = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Value\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Value == nil {\n\t\t\t\tm.Value = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Lease\", wireType)\n\t\t\t}\n\t\t\tm.Lease = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Lease |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PrevKv\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.PrevKv = bool(v != 0)\n\t\tcase 5:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field IgnoreValue\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.IgnoreValue = bool(v != 0)\n\t\tcase 6:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field IgnoreLease\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.IgnoreLease = bool(v != 0)\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *PutResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: PutResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: PutResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PrevKv\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.PrevKv == nil {\n\t\t\t\tm.PrevKv = &mvccpb.KeyValue{}\n\t\t\t}\n\t\t\tif err := m.PrevKv.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *DeleteRangeRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: DeleteRangeRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: DeleteRangeRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Key\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Key == nil {\n\t\t\t\tm.Key = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RangeEnd\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.RangeEnd = append(m.RangeEnd[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.RangeEnd == nil {\n\t\t\t\tm.RangeEnd = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PrevKv\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.PrevKv = bool(v != 0)\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *DeleteRangeResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: DeleteRangeResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: DeleteRangeResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Deleted\", wireType)\n\t\t\t}\n\t\t\tm.Deleted = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Deleted |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PrevKvs\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.PrevKvs = append(m.PrevKvs, &mvccpb.KeyValue{})\n\t\t\tif err := m.PrevKvs[len(m.PrevKvs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *RequestOp) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: RequestOp: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: RequestOp: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RequestRange\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := &RangeRequest{}\n\t\t\tif err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tm.Request = &RequestOp_RequestRange{v}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RequestPut\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := &PutRequest{}\n\t\t\tif err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tm.Request = &RequestOp_RequestPut{v}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RequestDeleteRange\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := &DeleteRangeRequest{}\n\t\t\tif err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tm.Request = &RequestOp_RequestDeleteRange{v}\n\t\t\tiNdEx = postIndex\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RequestTxn\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := &TxnRequest{}\n\t\t\tif err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tm.Request = &RequestOp_RequestTxn{v}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *ResponseOp) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ResponseOp: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ResponseOp: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ResponseRange\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := &RangeResponse{}\n\t\t\tif err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tm.Response = &ResponseOp_ResponseRange{v}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ResponsePut\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := &PutResponse{}\n\t\t\tif err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tm.Response = &ResponseOp_ResponsePut{v}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ResponseDeleteRange\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := &DeleteRangeResponse{}\n\t\t\tif err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tm.Response = &ResponseOp_ResponseDeleteRange{v}\n\t\t\tiNdEx = postIndex\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ResponseTxn\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := &TxnResponse{}\n\t\t\tif err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tm.Response = &ResponseOp_ResponseTxn{v}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *Compare) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: Compare: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: Compare: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Result\", wireType)\n\t\t\t}\n\t\t\tm.Result = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Result |= (Compare_CompareResult(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Target\", wireType)\n\t\t\t}\n\t\t\tm.Target = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Target |= (Compare_CompareTarget(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Key\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Key == nil {\n\t\t\t\tm.Key = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Version\", wireType)\n\t\t\t}\n\t\t\tvar v int64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.TargetUnion = &Compare_Version{v}\n\t\tcase 5:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field CreateRevision\", wireType)\n\t\t\t}\n\t\t\tvar v int64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.TargetUnion = &Compare_CreateRevision{v}\n\t\tcase 6:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ModRevision\", wireType)\n\t\t\t}\n\t\t\tvar v int64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.TargetUnion = &Compare_ModRevision{v}\n\t\tcase 7:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Value\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := make([]byte, postIndex-iNdEx)\n\t\t\tcopy(v, dAtA[iNdEx:postIndex])\n\t\t\tm.TargetUnion = &Compare_Value{v}\n\t\t\tiNdEx = postIndex\n\t\tcase 8:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Lease\", wireType)\n\t\t\t}\n\t\t\tvar v int64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.TargetUnion = &Compare_Lease{v}\n\t\tcase 64:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RangeEnd\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.RangeEnd = append(m.RangeEnd[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.RangeEnd == nil {\n\t\t\t\tm.RangeEnd = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *TxnRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: TxnRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: TxnRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Compare\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Compare = append(m.Compare, &Compare{})\n\t\t\tif err := m.Compare[len(m.Compare)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Success\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Success = append(m.Success, &RequestOp{})\n\t\t\tif err := m.Success[len(m.Success)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Failure\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Failure = append(m.Failure, &RequestOp{})\n\t\t\tif err := m.Failure[len(m.Failure)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *TxnResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: TxnResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: TxnResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Succeeded\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Succeeded = bool(v != 0)\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Responses\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Responses = append(m.Responses, &ResponseOp{})\n\t\t\tif err := m.Responses[len(m.Responses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *CompactionRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: CompactionRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: CompactionRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Revision\", wireType)\n\t\t\t}\n\t\t\tm.Revision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Revision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Physical\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Physical = bool(v != 0)\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *CompactionResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: CompactionResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: CompactionResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *HashRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: HashRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: HashRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *HashKVRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: HashKVRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: HashKVRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Revision\", wireType)\n\t\t\t}\n\t\t\tm.Revision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Revision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *HashKVResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: HashKVResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: HashKVResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Hash\", wireType)\n\t\t\t}\n\t\t\tm.Hash = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Hash |= (uint32(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field CompactRevision\", wireType)\n\t\t\t}\n\t\t\tm.CompactRevision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.CompactRevision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *HashResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: HashResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: HashResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Hash\", wireType)\n\t\t\t}\n\t\t\tm.Hash = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Hash |= (uint32(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *SnapshotRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: SnapshotRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: SnapshotRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *SnapshotResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: SnapshotResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: SnapshotResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RemainingBytes\", wireType)\n\t\t\t}\n\t\t\tm.RemainingBytes = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.RemainingBytes |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Blob\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Blob = append(m.Blob[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Blob == nil {\n\t\t\t\tm.Blob = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *WatchRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: WatchRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: WatchRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field CreateRequest\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := &WatchCreateRequest{}\n\t\t\tif err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tm.RequestUnion = &WatchRequest_CreateRequest{v}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field CancelRequest\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := &WatchCancelRequest{}\n\t\t\tif err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tm.RequestUnion = &WatchRequest_CancelRequest{v}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *WatchCreateRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: WatchCreateRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: WatchCreateRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Key\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Key == nil {\n\t\t\t\tm.Key = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RangeEnd\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.RangeEnd = append(m.RangeEnd[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.RangeEnd == nil {\n\t\t\t\tm.RangeEnd = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field StartRevision\", wireType)\n\t\t\t}\n\t\t\tm.StartRevision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.StartRevision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ProgressNotify\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.ProgressNotify = bool(v != 0)\n\t\tcase 5:\n\t\t\tif wireType == 0 {\n\t\t\t\tvar v WatchCreateRequest_FilterType\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tv |= (WatchCreateRequest_FilterType(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tm.Filters = append(m.Filters, v)\n\t\t\t} else if wireType == 2 {\n\t\t\t\tvar packedLen int\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tpackedLen |= (int(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif packedLen < 0 {\n\t\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t\t}\n\t\t\t\tpostIndex := iNdEx + packedLen\n\t\t\t\tif postIndex > l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tfor iNdEx < postIndex {\n\t\t\t\t\tvar v WatchCreateRequest_FilterType\n\t\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t\t\t}\n\t\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\t\tiNdEx++\n\t\t\t\t\t\tv |= (WatchCreateRequest_FilterType(b) & 0x7F) << shift\n\t\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tm.Filters = append(m.Filters, v)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Filters\", wireType)\n\t\t\t}\n\t\tcase 6:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PrevKv\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.PrevKv = bool(v != 0)\n\t\tcase 7:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field WatchId\", wireType)\n\t\t\t}\n\t\t\tm.WatchId = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.WatchId |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 8:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Fragment\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Fragment = bool(v != 0)\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *WatchCancelRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: WatchCancelRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: WatchCancelRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field WatchId\", wireType)\n\t\t\t}\n\t\t\tm.WatchId = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.WatchId |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *WatchResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: WatchResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: WatchResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field WatchId\", wireType)\n\t\t\t}\n\t\t\tm.WatchId = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.WatchId |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Created\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Created = bool(v != 0)\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Canceled\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Canceled = bool(v != 0)\n\t\tcase 5:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field CompactRevision\", wireType)\n\t\t\t}\n\t\t\tm.CompactRevision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.CompactRevision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 6:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field CancelReason\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.CancelReason = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 7:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Fragment\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Fragment = bool(v != 0)\n\t\tcase 11:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Events\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Events = append(m.Events, &mvccpb.Event{})\n\t\t\tif err := m.Events[len(m.Events)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *LeaseGrantRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseGrantRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseGrantRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field TTL\", wireType)\n\t\t\t}\n\t\t\tm.TTL = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.TTL |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *LeaseGrantResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseGrantResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseGrantResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field TTL\", wireType)\n\t\t\t}\n\t\t\tm.TTL = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.TTL |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Error\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Error = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *LeaseRevokeRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseRevokeRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseRevokeRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *LeaseRevokeResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseRevokeResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseRevokeResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *LeaseKeepAliveRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseKeepAliveRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseKeepAliveRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *LeaseKeepAliveResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseKeepAliveResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseKeepAliveResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field TTL\", wireType)\n\t\t\t}\n\t\t\tm.TTL = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.TTL |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *LeaseTimeToLiveRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseTimeToLiveRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseTimeToLiveRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Keys\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Keys = bool(v != 0)\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *LeaseTimeToLiveResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseTimeToLiveResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseTimeToLiveResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field TTL\", wireType)\n\t\t\t}\n\t\t\tm.TTL = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.TTL |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field GrantedTTL\", wireType)\n\t\t\t}\n\t\t\tm.GrantedTTL = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.GrantedTTL |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 5:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Keys\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Keys = append(m.Keys, make([]byte, postIndex-iNdEx))\n\t\t\tcopy(m.Keys[len(m.Keys)-1], dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *LeaseLeasesRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseLeasesRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseLeasesRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *LeaseStatus) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseStatus: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseStatus: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *LeaseLeasesResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseLeasesResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: LeaseLeasesResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Leases\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Leases = append(m.Leases, &LeaseStatus{})\n\t\t\tif err := m.Leases[len(m.Leases)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *Member) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: Member: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: Member: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Name\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Name = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PeerURLs\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.PeerURLs = append(m.PeerURLs, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ClientURLs\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.ClientURLs = append(m.ClientURLs, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *MemberAddRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: MemberAddRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: MemberAddRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PeerURLs\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.PeerURLs = append(m.PeerURLs, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *MemberAddResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: MemberAddResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: MemberAddResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Member\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Member == nil {\n\t\t\t\tm.Member = &Member{}\n\t\t\t}\n\t\t\tif err := m.Member.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Members\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Members = append(m.Members, &Member{})\n\t\t\tif err := m.Members[len(m.Members)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *MemberRemoveRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: MemberRemoveRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: MemberRemoveRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *MemberRemoveResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: MemberRemoveResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: MemberRemoveResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Members\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Members = append(m.Members, &Member{})\n\t\t\tif err := m.Members[len(m.Members)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *MemberUpdateRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: MemberUpdateRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: MemberUpdateRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PeerURLs\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.PeerURLs = append(m.PeerURLs, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *MemberUpdateResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: MemberUpdateResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: MemberUpdateResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Members\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Members = append(m.Members, &Member{})\n\t\t\tif err := m.Members[len(m.Members)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *MemberListRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: MemberListRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: MemberListRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *MemberListResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: MemberListResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: MemberListResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Members\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Members = append(m.Members, &Member{})\n\t\t\tif err := m.Members[len(m.Members)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *DefragmentRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: DefragmentRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: DefragmentRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *DefragmentResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: DefragmentResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: DefragmentResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *MoveLeaderRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: MoveLeaderRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: MoveLeaderRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field TargetID\", wireType)\n\t\t\t}\n\t\t\tm.TargetID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.TargetID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *MoveLeaderResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: MoveLeaderResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: MoveLeaderResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AlarmRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AlarmRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AlarmRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Action\", wireType)\n\t\t\t}\n\t\t\tm.Action = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Action |= (AlarmRequest_AlarmAction(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field MemberID\", wireType)\n\t\t\t}\n\t\t\tm.MemberID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.MemberID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Alarm\", wireType)\n\t\t\t}\n\t\t\tm.Alarm = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Alarm |= (AlarmType(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AlarmMember) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AlarmMember: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AlarmMember: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field MemberID\", wireType)\n\t\t\t}\n\t\t\tm.MemberID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.MemberID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Alarm\", wireType)\n\t\t\t}\n\t\t\tm.Alarm = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Alarm |= (AlarmType(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AlarmResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AlarmResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AlarmResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Alarms\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Alarms = append(m.Alarms, &AlarmMember{})\n\t\t\tif err := m.Alarms[len(m.Alarms)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *StatusRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: StatusRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: StatusRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *StatusResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: StatusResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: StatusResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Version\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Version = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DbSize\", wireType)\n\t\t\t}\n\t\t\tm.DbSize = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.DbSize |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Leader\", wireType)\n\t\t\t}\n\t\t\tm.Leader = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Leader |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 5:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RaftIndex\", wireType)\n\t\t\t}\n\t\t\tm.RaftIndex = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.RaftIndex |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 6:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RaftTerm\", wireType)\n\t\t\t}\n\t\t\tm.RaftTerm = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.RaftTerm |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 7:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RaftAppliedIndex\", wireType)\n\t\t\t}\n\t\t\tm.RaftAppliedIndex = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.RaftAppliedIndex |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 8:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Errors\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Errors = append(m.Errors, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tcase 9:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field DbSizeInUse\", wireType)\n\t\t\t}\n\t\t\tm.DbSizeInUse = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.DbSizeInUse |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthEnableRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthEnableRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthEnableRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthDisableRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthDisableRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthDisableRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthenticateRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthenticateRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthenticateRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Name\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Name = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Password\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Password = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserAddRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserAddRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserAddRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Name\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Name = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Password\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Password = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserGetRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserGetRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserGetRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Name\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Name = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserDeleteRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserDeleteRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserDeleteRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Name\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Name = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserChangePasswordRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserChangePasswordRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserChangePasswordRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Name\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Name = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Password\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Password = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserGrantRoleRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserGrantRoleRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserGrantRoleRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field User\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.User = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Role\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Role = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserRevokeRoleRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserRevokeRoleRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserRevokeRoleRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Name\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Name = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Role\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Role = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthRoleAddRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleAddRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleAddRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Name\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Name = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthRoleGetRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleGetRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleGetRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Role\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Role = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserListRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserListRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserListRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthRoleListRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleListRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleListRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthRoleDeleteRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleDeleteRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleDeleteRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Role\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Role = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthRoleGrantPermissionRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleGrantPermissionRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleGrantPermissionRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Name\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Name = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Perm\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Perm == nil {\n\t\t\t\tm.Perm = &authpb.Permission{}\n\t\t\t}\n\t\t\tif err := m.Perm.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthRoleRevokePermissionRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleRevokePermissionRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleRevokePermissionRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Role\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Role = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Key\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Key == nil {\n\t\t\t\tm.Key = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RangeEnd\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.RangeEnd = append(m.RangeEnd[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.RangeEnd == nil {\n\t\t\t\tm.RangeEnd = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthEnableResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthEnableResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthEnableResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthDisableResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthDisableResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthDisableResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthenticateResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthenticateResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthenticateResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Token\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Token = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserAddResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserAddResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserAddResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserGetResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserGetResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserGetResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Roles\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Roles = append(m.Roles, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserDeleteResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserDeleteResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserDeleteResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserChangePasswordResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserChangePasswordResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserChangePasswordResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserGrantRoleResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserGrantRoleResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserGrantRoleResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserRevokeRoleResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserRevokeRoleResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserRevokeRoleResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthRoleAddResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleAddResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleAddResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthRoleGetResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleGetResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleGetResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Perm\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Perm = append(m.Perm, &authpb.Permission{})\n\t\t\tif err := m.Perm[len(m.Perm)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthRoleListResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleListResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleListResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Roles\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Roles = append(m.Roles, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthUserListResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserListResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthUserListResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Users\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Users = append(m.Users, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthRoleDeleteResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleDeleteResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleDeleteResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthRoleGrantPermissionResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleGrantPermissionResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleGrantPermissionResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AuthRoleRevokePermissionResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleRevokePermissionResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AuthRoleRevokePermissionResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Header\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Header == nil {\n\t\t\t\tm.Header = &ResponseHeader{}\n\t\t\t}\n\t\t\tif err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRpc(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRpc\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipRpc(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowRpc\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowRpc\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthRpc\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowRpc\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipRpc(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthRpc = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowRpc   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"rpc.proto\", fileDescriptorRpc) }\n\nvar fileDescriptorRpc = []byte{\n\t// 3750 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x5b, 0xcd, 0x6f, 0x1c, 0x47,\n\t0x76, 0x67, 0xcf, 0x70, 0xbe, 0xde, 0x7c, 0x70, 0x58, 0x24, 0xa5, 0xd1, 0x48, 0xa2, 0xa8, 0x92,\n\t0x64, 0xd1, 0x92, 0xcd, 0xb1, 0x69, 0x3b, 0x01, 0x94, 0xc4, 0x30, 0x45, 0x8e, 0x45, 0x9a, 0x14,\n\t0x49, 0x37, 0x87, 0xf2, 0x07, 0x8c, 0x10, 0xcd, 0x99, 0x22, 0xd9, 0xe1, 0x4c, 0xf7, 0xb8, 0xbb,\n\t0x67, 0x44, 0x3a, 0x41, 0x1c, 0x18, 0xce, 0x21, 0x39, 0xda, 0x40, 0x90, 0x1c, 0x72, 0x0a, 0x82,\n\t0xc0, 0x87, 0x00, 0x7b, 0x59, 0x2c, 0xb0, 0x7f, 0xc1, 0xde, 0x76, 0x17, 0xfb, 0x0f, 0x2c, 0xbc,\n\t0xbe, 0xec, 0x7f, 0xb1, 0xa8, 0xaf, 0xee, 0xea, 0x9e, 0x6e, 0x52, 0xf6, 0xd8, 0xbe, 0x50, 0x5d,\n\t0x55, 0xaf, 0xde, 0xef, 0xd5, 0xab, 0xaa, 0xf7, 0xaa, 0x7e, 0x35, 0x82, 0x82, 0xd3, 0x6f, 0x2f,\n\t0xf5, 0x1d, 0xdb, 0xb3, 0x51, 0x89, 0x78, 0xed, 0x8e, 0x4b, 0x9c, 0x21, 0x71, 0xfa, 0x87, 0xf5,\n\t0xd9, 0x63, 0xfb, 0xd8, 0x66, 0x0d, 0x0d, 0xfa, 0xc5, 0x65, 0xea, 0xd7, 0xa8, 0x4c, 0xa3, 0x37,\n\t0x6c, 0xb7, 0xd9, 0x9f, 0xfe, 0x61, 0xe3, 0x74, 0x28, 0x9a, 0xae, 0xb3, 0x26, 0x63, 0xe0, 0x9d,\n\t0xb0, 0x3f, 0xfd, 0x43, 0xf6, 0x8f, 0x68, 0xbc, 0x71, 0x6c, 0xdb, 0xc7, 0x5d, 0xd2, 0x30, 0xfa,\n\t0x66, 0xc3, 0xb0, 0x2c, 0xdb, 0x33, 0x3c, 0xd3, 0xb6, 0x5c, 0xde, 0x8a, 0xff, 0x55, 0x83, 0x8a,\n\t0x4e, 0xdc, 0xbe, 0x6d, 0xb9, 0x64, 0x9d, 0x18, 0x1d, 0xe2, 0xa0, 0x9b, 0x00, 0xed, 0xee, 0xc0,\n\t0xf5, 0x88, 0x73, 0x60, 0x76, 0x6a, 0xda, 0x82, 0xb6, 0x38, 0xa9, 0x17, 0x44, 0xcd, 0x46, 0x07,\n\t0x5d, 0x87, 0x42, 0x8f, 0xf4, 0x0e, 0x79, 0x6b, 0x8a, 0xb5, 0xe6, 0x79, 0xc5, 0x46, 0x07, 0xd5,\n\t0x21, 0xef, 0x90, 0xa1, 0xe9, 0x9a, 0xb6, 0x55, 0x4b, 0x2f, 0x68, 0x8b, 0x69, 0xdd, 0x2f, 0xd3,\n\t0x8e, 0x8e, 0x71, 0xe4, 0x1d, 0x78, 0xc4, 0xe9, 0xd5, 0x26, 0x79, 0x47, 0x5a, 0xd1, 0x22, 0x4e,\n\t0x0f, 0x7f, 0x99, 0x81, 0x92, 0x6e, 0x58, 0xc7, 0x44, 0x27, 0x9f, 0x0e, 0x88, 0xeb, 0xa1, 0x2a,\n\t0xa4, 0x4f, 0xc9, 0x39, 0x83, 0x2f, 0xe9, 0xf4, 0x93, 0xf7, 0xb7, 0x8e, 0xc9, 0x01, 0xb1, 0x38,\n\t0x70, 0x89, 0xf6, 0xb7, 0x8e, 0x49, 0xd3, 0xea, 0xa0, 0x59, 0xc8, 0x74, 0xcd, 0x9e, 0xe9, 0x09,\n\t0x54, 0x5e, 0x08, 0x99, 0x33, 0x19, 0x31, 0x67, 0x15, 0xc0, 0xb5, 0x1d, 0xef, 0xc0, 0x76, 0x3a,\n\t0xc4, 0xa9, 0x65, 0x16, 0xb4, 0xc5, 0xca, 0xf2, 0xdd, 0x25, 0x75, 0x22, 0x96, 0x54, 0x83, 0x96,\n\t0xf6, 0x6c, 0xc7, 0xdb, 0xa1, 0xb2, 0x7a, 0xc1, 0x95, 0x9f, 0xe8, 0x5d, 0x28, 0x32, 0x25, 0x9e,\n\t0xe1, 0x1c, 0x13, 0xaf, 0x96, 0x65, 0x5a, 0xee, 0x5d, 0xa2, 0xa5, 0xc5, 0x84, 0x75, 0x06, 0xcf,\n\t0xbf, 0x11, 0x86, 0x92, 0x4b, 0x1c, 0xd3, 0xe8, 0x9a, 0x9f, 0x19, 0x87, 0x5d, 0x52, 0xcb, 0x2d,\n\t0x68, 0x8b, 0x79, 0x3d, 0x54, 0x47, 0xc7, 0x7f, 0x4a, 0xce, 0xdd, 0x03, 0xdb, 0xea, 0x9e, 0xd7,\n\t0xf2, 0x4c, 0x20, 0x4f, 0x2b, 0x76, 0xac, 0xee, 0x39, 0x9b, 0x34, 0x7b, 0x60, 0x79, 0xbc, 0xb5,\n\t0xc0, 0x5a, 0x0b, 0xac, 0x86, 0x35, 0x2f, 0x42, 0xb5, 0x67, 0x5a, 0x07, 0x3d, 0xbb, 0x73, 0xe0,\n\t0x3b, 0x04, 0x98, 0x43, 0x2a, 0x3d, 0xd3, 0x7a, 0x6a, 0x77, 0x74, 0xe9, 0x16, 0x2a, 0x69, 0x9c,\n\t0x85, 0x25, 0x8b, 0x42, 0xd2, 0x38, 0x53, 0x25, 0x97, 0x60, 0x86, 0xea, 0x6c, 0x3b, 0xc4, 0xf0,\n\t0x48, 0x20, 0x5c, 0x62, 0xc2, 0xd3, 0x3d, 0xd3, 0x5a, 0x65, 0x2d, 0x21, 0x79, 0xe3, 0x6c, 0x44,\n\t0xbe, 0x2c, 0xe4, 0x8d, 0xb3, 0xb0, 0x3c, 0x5e, 0x82, 0x82, 0xef, 0x73, 0x94, 0x87, 0xc9, 0xed,\n\t0x9d, 0xed, 0x66, 0x75, 0x02, 0x01, 0x64, 0x57, 0xf6, 0x56, 0x9b, 0xdb, 0x6b, 0x55, 0x0d, 0x15,\n\t0x21, 0xb7, 0xd6, 0xe4, 0x85, 0x14, 0x7e, 0x0c, 0x10, 0x78, 0x17, 0xe5, 0x20, 0xbd, 0xd9, 0xfc,\n\t0xa8, 0x3a, 0x41, 0x65, 0x9e, 0x35, 0xf5, 0xbd, 0x8d, 0x9d, 0xed, 0xaa, 0x46, 0x3b, 0xaf, 0xea,\n\t0xcd, 0x95, 0x56, 0xb3, 0x9a, 0xa2, 0x12, 0x4f, 0x77, 0xd6, 0xaa, 0x69, 0x54, 0x80, 0xcc, 0xb3,\n\t0x95, 0xad, 0xfd, 0x66, 0x75, 0x12, 0x7f, 0xad, 0x41, 0x59, 0xcc, 0x17, 0xdf, 0x13, 0xe8, 0x4d,\n\t0xc8, 0x9e, 0xb0, 0x7d, 0xc1, 0x96, 0x62, 0x71, 0xf9, 0x46, 0x64, 0x72, 0x43, 0x7b, 0x47, 0x17,\n\t0xb2, 0x08, 0x43, 0xfa, 0x74, 0xe8, 0xd6, 0x52, 0x0b, 0xe9, 0xc5, 0xe2, 0x72, 0x75, 0x89, 0x6f,\n\t0xd8, 0xa5, 0x4d, 0x72, 0xfe, 0xcc, 0xe8, 0x0e, 0x88, 0x4e, 0x1b, 0x11, 0x82, 0xc9, 0x9e, 0xed,\n\t0x10, 0xb6, 0x62, 0xf3, 0x3a, 0xfb, 0xa6, 0xcb, 0x98, 0x4d, 0x9a, 0x58, 0xad, 0xbc, 0x80, 0xbf,\n\t0xd1, 0x00, 0x76, 0x07, 0x5e, 0xf2, 0xd6, 0x98, 0x85, 0xcc, 0x90, 0x2a, 0x16, 0xdb, 0x82, 0x17,\n\t0xd8, 0x9e, 0x20, 0x86, 0x4b, 0xfc, 0x3d, 0x41, 0x0b, 0xe8, 0x2a, 0xe4, 0xfa, 0x0e, 0x19, 0x1e,\n\t0x9c, 0x0e, 0x19, 0x48, 0x5e, 0xcf, 0xd2, 0xe2, 0xe6, 0x10, 0xdd, 0x86, 0x92, 0x79, 0x6c, 0xd9,\n\t0x0e, 0x39, 0xe0, 0xba, 0x32, 0xac, 0xb5, 0xc8, 0xeb, 0x98, 0xdd, 0x8a, 0x08, 0x57, 0x9c, 0x55,\n\t0x45, 0xb6, 0x68, 0x15, 0xb6, 0xa0, 0xc8, 0x4c, 0x1d, 0xcb, 0x7d, 0x2f, 0x07, 0x36, 0xa6, 0x58,\n\t0xb7, 0x51, 0x17, 0x0a, 0xab, 0xf1, 0x27, 0x80, 0xd6, 0x48, 0x97, 0x78, 0x64, 0x9c, 0xe8, 0xa1,\n\t0xf8, 0x24, 0xad, 0xfa, 0x04, 0x7f, 0xa5, 0xc1, 0x4c, 0x48, 0xfd, 0x58, 0xc3, 0xaa, 0x41, 0xae,\n\t0xc3, 0x94, 0x71, 0x0b, 0xd2, 0xba, 0x2c, 0xa2, 0x87, 0x90, 0x17, 0x06, 0xb8, 0xb5, 0x74, 0xc2,\n\t0xa2, 0xc9, 0x71, 0x9b, 0x5c, 0xfc, 0x4d, 0x0a, 0x0a, 0x62, 0xa0, 0x3b, 0x7d, 0xb4, 0x02, 0x65,\n\t0x87, 0x17, 0x0e, 0xd8, 0x78, 0x84, 0x45, 0xf5, 0xe4, 0x20, 0xb4, 0x3e, 0xa1, 0x97, 0x44, 0x17,\n\t0x56, 0x8d, 0xfe, 0x06, 0x8a, 0x52, 0x45, 0x7f, 0xe0, 0x09, 0x97, 0xd7, 0xc2, 0x0a, 0x82, 0xf5,\n\t0xb7, 0x3e, 0xa1, 0x83, 0x10, 0xdf, 0x1d, 0x78, 0xa8, 0x05, 0xb3, 0xb2, 0x33, 0x1f, 0x8d, 0x30,\n\t0x23, 0xcd, 0xb4, 0x2c, 0x84, 0xb5, 0x8c, 0x4e, 0xd5, 0xfa, 0x84, 0x8e, 0x44, 0x7f, 0xa5, 0x51,\n\t0x35, 0xc9, 0x3b, 0xe3, 0xc1, 0x7b, 0xc4, 0xa4, 0xd6, 0x99, 0x35, 0x6a, 0x52, 0xeb, 0xcc, 0x7a,\n\t0x5c, 0x80, 0x9c, 0x28, 0xe1, 0x5f, 0xa5, 0x00, 0xe4, 0x6c, 0xec, 0xf4, 0xd1, 0x1a, 0x54, 0x1c,\n\t0x51, 0x0a, 0x79, 0xeb, 0x7a, 0xac, 0xb7, 0xc4, 0x24, 0x4e, 0xe8, 0x65, 0xd9, 0x89, 0x1b, 0xf7,\n\t0x36, 0x94, 0x7c, 0x2d, 0x81, 0xc3, 0xae, 0xc5, 0x38, 0xcc, 0xd7, 0x50, 0x94, 0x1d, 0xa8, 0xcb,\n\t0x3e, 0x80, 0x39, 0xbf, 0x7f, 0x8c, 0xcf, 0x6e, 0x5f, 0xe0, 0x33, 0x5f, 0xe1, 0x8c, 0xd4, 0xa0,\n\t0x7a, 0x4d, 0x35, 0x2c, 0x70, 0xdb, 0xb5, 0x18, 0xb7, 0x8d, 0x1a, 0x46, 0x1d, 0x07, 0x34, 0x5f,\n\t0xf2, 0x22, 0xfe, 0x73, 0x1a, 0x72, 0xab, 0x76, 0xaf, 0x6f, 0x38, 0x74, 0x36, 0xb2, 0x0e, 0x71,\n\t0x07, 0x5d, 0x8f, 0xb9, 0xab, 0xb2, 0x7c, 0x27, 0xac, 0x51, 0x88, 0xc9, 0x7f, 0x75, 0x26, 0xaa,\n\t0x8b, 0x2e, 0xb4, 0xb3, 0x48, 0x8f, 0xa9, 0x17, 0xe8, 0x2c, 0x92, 0xa3, 0xe8, 0x22, 0x37, 0x72,\n\t0x3a, 0xd8, 0xc8, 0x75, 0xc8, 0x0d, 0x89, 0x13, 0xa4, 0xf4, 0xf5, 0x09, 0x5d, 0x56, 0xa0, 0x97,\n\t0x61, 0x2a, 0x9a, 0x5e, 0x32, 0x42, 0xa6, 0xd2, 0x0e, 0x67, 0xa3, 0x3b, 0x50, 0x0a, 0xe5, 0xb8,\n\t0xac, 0x90, 0x2b, 0xf6, 0x94, 0x14, 0x77, 0x45, 0xc6, 0x55, 0x9a, 0x8f, 0x4b, 0xeb, 0x13, 0x32,\n\t0xb2, 0x5e, 0x91, 0x91, 0x35, 0x2f, 0x7a, 0x89, 0xd8, 0x1a, 0x0a, 0x32, 0xef, 0x84, 0x83, 0x0c,\n\t0x7e, 0x07, 0xca, 0x21, 0x07, 0xd1, 0xbc, 0xd3, 0x7c, 0x7f, 0x7f, 0x65, 0x8b, 0x27, 0xa9, 0x27,\n\t0x2c, 0x2f, 0xe9, 0x55, 0x8d, 0xe6, 0xba, 0xad, 0xe6, 0xde, 0x5e, 0x35, 0x85, 0xca, 0x50, 0xd8,\n\t0xde, 0x69, 0x1d, 0x70, 0xa9, 0x34, 0x7e, 0xe2, 0x6b, 0x10, 0x49, 0x4e, 0xc9, 0x6d, 0x13, 0x4a,\n\t0x6e, 0xd3, 0x64, 0x6e, 0x4b, 0x05, 0xb9, 0x8d, 0xa5, 0xb9, 0xad, 0xe6, 0xca, 0x5e, 0xb3, 0x3a,\n\t0xf9, 0xb8, 0x02, 0x25, 0xee, 0xdf, 0x83, 0x81, 0x45, 0x53, 0xed, 0xff, 0x68, 0x00, 0xc1, 0x6e,\n\t0x42, 0x0d, 0xc8, 0xb5, 0x39, 0x4e, 0x4d, 0x63, 0xc1, 0x68, 0x2e, 0x76, 0xca, 0x74, 0x29, 0x85,\n\t0x5e, 0x87, 0x9c, 0x3b, 0x68, 0xb7, 0x89, 0x2b, 0x53, 0xde, 0xd5, 0x68, 0x3c, 0x14, 0xd1, 0x4a,\n\t0x97, 0x72, 0xb4, 0xcb, 0x91, 0x61, 0x76, 0x07, 0x2c, 0x01, 0x5e, 0xdc, 0x45, 0xc8, 0xe1, 0xff,\n\t0xd2, 0xa0, 0xa8, 0x2c, 0xde, 0x1f, 0x18, 0x84, 0x6f, 0x40, 0x81, 0xd9, 0x40, 0x3a, 0x22, 0x0c,\n\t0xe7, 0xf5, 0xa0, 0x02, 0xfd, 0x15, 0x14, 0xe4, 0x0e, 0x90, 0x91, 0xb8, 0x16, 0xaf, 0x76, 0xa7,\n\t0xaf, 0x07, 0xa2, 0x78, 0x13, 0xa6, 0x99, 0x57, 0xda, 0xf4, 0x70, 0x2d, 0xfd, 0xa8, 0x1e, 0x3f,\n\t0xb5, 0xc8, 0xf1, 0xb3, 0x0e, 0xf9, 0xfe, 0xc9, 0xb9, 0x6b, 0xb6, 0x8d, 0xae, 0xb0, 0xc2, 0x2f,\n\t0xe3, 0xf7, 0x00, 0xa9, 0xca, 0xc6, 0x19, 0x2e, 0x2e, 0x43, 0x71, 0xdd, 0x70, 0x4f, 0x84, 0x49,\n\t0xf8, 0x21, 0x94, 0x69, 0x71, 0xf3, 0xd9, 0x0b, 0xd8, 0xc8, 0x2e, 0x07, 0x52, 0x7a, 0x2c, 0x9f,\n\t0x23, 0x98, 0x3c, 0x31, 0xdc, 0x13, 0x36, 0xd0, 0xb2, 0xce, 0xbe, 0xd1, 0xcb, 0x50, 0x6d, 0xf3,\n\t0x41, 0x1e, 0x44, 0xae, 0x0c, 0x53, 0xa2, 0xde, 0x3f, 0x09, 0x7e, 0x08, 0x25, 0x3e, 0x86, 0x1f,\n\t0xdb, 0x08, 0x3c, 0x0d, 0x53, 0x7b, 0x96, 0xd1, 0x77, 0x4f, 0x6c, 0x99, 0xdd, 0xe8, 0xa0, 0xab,\n\t0x41, 0xdd, 0x58, 0x88, 0xf7, 0x61, 0xca, 0x21, 0x3d, 0xc3, 0xb4, 0x4c, 0xeb, 0xf8, 0xe0, 0xf0,\n\t0xdc, 0x23, 0xae, 0xb8, 0x30, 0x55, 0xfc, 0xea, 0xc7, 0xb4, 0x96, 0x9a, 0x76, 0xd8, 0xb5, 0x0f,\n\t0x45, 0x98, 0x63, 0xdf, 0xf8, 0x97, 0x1a, 0x94, 0x3e, 0x30, 0xbc, 0xb6, 0x9c, 0x3a, 0xb4, 0x01,\n\t0x15, 0x3f, 0xb8, 0xb1, 0x1a, 0x61, 0x4b, 0x24, 0xc5, 0xb2, 0x3e, 0xf2, 0x28, 0x2d, 0xb3, 0x63,\n\t0xb9, 0xad, 0x56, 0x30, 0x55, 0x86, 0xd5, 0x26, 0x5d, 0x5f, 0x55, 0x2a, 0x59, 0x15, 0x13, 0x54,\n\t0x55, 0xa9, 0x15, 0x8f, 0xa7, 0x82, 0xe3, 0x07, 0x8f, 0x25, 0xbf, 0x4f, 0x01, 0x1a, 0xb5, 0xe1,\n\t0xfb, 0x9e, 0xc8, 0xee, 0x41, 0xc5, 0xf5, 0x0c, 0x67, 0x64, 0x6d, 0x94, 0x59, 0xad, 0x1f, 0xa0,\n\t0xef, 0xc3, 0x54, 0xdf, 0xb1, 0x8f, 0x1d, 0xe2, 0xba, 0x07, 0x96, 0xed, 0x99, 0x47, 0xe7, 0xe2,\n\t0x50, 0x5b, 0x91, 0xd5, 0xdb, 0xac, 0x16, 0x35, 0x21, 0x77, 0x64, 0x76, 0x3d, 0xe2, 0xb8, 0xb5,\n\t0xcc, 0x42, 0x7a, 0xb1, 0xb2, 0xfc, 0xf0, 0x32, 0xaf, 0x2d, 0xbd, 0xcb, 0xe4, 0x5b, 0xe7, 0x7d,\n\t0xa2, 0xcb, 0xbe, 0xea, 0x41, 0x31, 0x1b, 0x3a, 0x3c, 0x5f, 0x83, 0xfc, 0x73, 0xaa, 0x82, 0x5e,\n\t0x8a, 0x73, 0xfc, 0x6c, 0xc7, 0xca, 0xfc, 0x4e, 0x7c, 0xe4, 0x18, 0xc7, 0x3d, 0x62, 0x79, 0xf2,\n\t0xda, 0x26, 0xcb, 0xf8, 0x1e, 0x40, 0x00, 0x43, 0x23, 0xf4, 0xf6, 0xce, 0xee, 0x7e, 0xab, 0x3a,\n\t0x81, 0x4a, 0x90, 0xdf, 0xde, 0x59, 0x6b, 0x6e, 0x35, 0x69, 0x38, 0xc7, 0x0d, 0xe9, 0x52, 0xd5,\n\t0xf5, 0x21, 0x4c, 0x2d, 0x84, 0x49, 0x8f, 0x88, 0x65, 0xb1, 0x78, 0xc6, 0x5a, 0xc1, 0x2a, 0x44,\n\t0x2a, 0x3c, 0xac, 0x1a, 0xe4, 0xf8, 0xa2, 0xea, 0x88, 0x33, 0xb3, 0x2c, 0xd2, 0x01, 0xf3, 0x35,\n\t0x42, 0x3a, 0x62, 0x36, 0xfc, 0x72, 0xec, 0xae, 0xcf, 0xc4, 0xee, 0x7a, 0x74, 0x07, 0xca, 0xfe,\n\t0x22, 0x35, 0x5c, 0x91, 0xa2, 0x0b, 0x7a, 0x49, 0xae, 0x3f, 0x5a, 0x17, 0x72, 0x6e, 0x2e, 0xec,\n\t0x5c, 0x74, 0x0f, 0xb2, 0x64, 0x48, 0x2c, 0xcf, 0xad, 0x15, 0x59, 0x20, 0x2f, 0xcb, 0x23, 0x75,\n\t0x93, 0xd6, 0xea, 0xa2, 0x11, 0xbf, 0x05, 0xd3, 0xec, 0xea, 0xf2, 0xc4, 0x31, 0x2c, 0xf5, 0x8e,\n\t0xd5, 0x6a, 0x6d, 0x09, 0xb7, 0xd2, 0x4f, 0x54, 0x81, 0xd4, 0xc6, 0x9a, 0x70, 0x42, 0x6a, 0x63,\n\t0x0d, 0x7f, 0xa1, 0x01, 0x52, 0xfb, 0x8d, 0xe5, 0xe7, 0x88, 0x72, 0x09, 0x9f, 0x0e, 0xe0, 0x67,\n\t0x21, 0x43, 0x1c, 0xc7, 0x76, 0x98, 0x47, 0x0b, 0x3a, 0x2f, 0xe0, 0xbb, 0xc2, 0x06, 0x9d, 0x0c,\n\t0xed, 0x53, 0x7f, 0xaf, 0x71, 0x6d, 0x9a, 0x6f, 0xea, 0x26, 0xcc, 0x84, 0xa4, 0xc6, 0x4a, 0x28,\n\t0xf7, 0x61, 0x8e, 0x29, 0xdb, 0x24, 0xa4, 0xbf, 0xd2, 0x35, 0x87, 0x89, 0xa8, 0x7d, 0xb8, 0x12,\n\t0x15, 0xfc, 0x69, 0x7d, 0x84, 0xff, 0x56, 0x20, 0xb6, 0xcc, 0x1e, 0x69, 0xd9, 0x5b, 0xc9, 0xb6,\n\t0xd1, 0x80, 0x7b, 0x4a, 0xce, 0x5d, 0x91, 0x79, 0xd9, 0x37, 0xfe, 0x5f, 0x0d, 0xae, 0x8e, 0x74,\n\t0xff, 0x89, 0x67, 0x75, 0x1e, 0xe0, 0x98, 0x2e, 0x1f, 0xd2, 0xa1, 0x0d, 0xfc, 0xd2, 0xaf, 0xd4,\n\t0xf8, 0x76, 0xd2, 0x98, 0x55, 0x12, 0x76, 0xce, 0x8a, 0x39, 0x67, 0x7f, 0x5c, 0x99, 0xb6, 0x6e,\n\t0x42, 0x91, 0x55, 0xec, 0x79, 0x86, 0x37, 0x70, 0x47, 0x26, 0xe3, 0x9f, 0xc5, 0x12, 0x90, 0x9d,\n\t0xc6, 0x1a, 0xd7, 0xeb, 0x90, 0x65, 0xe7, 0x5d, 0x79, 0xda, 0x8b, 0x5c, 0x30, 0x14, 0x3b, 0x74,\n\t0x21, 0x88, 0x4f, 0x20, 0xfb, 0x94, 0x91, 0x84, 0x8a, 0x65, 0x93, 0x72, 0x2a, 0x2c, 0xa3, 0xc7,\n\t0xa9, 0x8b, 0x82, 0xce, 0xbe, 0xd9, 0xe1, 0x88, 0x10, 0x67, 0x5f, 0xdf, 0xe2, 0x87, 0xb0, 0x82,\n\t0xee, 0x97, 0xa9, 0xcb, 0xda, 0x5d, 0x93, 0x58, 0x1e, 0x6b, 0x9d, 0x64, 0xad, 0x4a, 0x0d, 0x5e,\n\t0x82, 0x2a, 0x47, 0x5a, 0xe9, 0x74, 0x94, 0x43, 0x8e, 0xaf, 0x4f, 0x0b, 0xeb, 0xc3, 0xff, 0xa7,\n\t0xc1, 0xb4, 0xd2, 0x61, 0x2c, 0xc7, 0xbc, 0x02, 0x59, 0x4e, 0x85, 0x8a, 0x7c, 0x3a, 0x1b, 0xee,\n\t0xc5, 0x61, 0x74, 0x21, 0x83, 0x96, 0x20, 0xc7, 0xbf, 0xe4, 0x49, 0x33, 0x5e, 0x5c, 0x0a, 0xe1,\n\t0x7b, 0x30, 0x23, 0xaa, 0x48, 0xcf, 0x8e, 0x5b, 0xdb, 0xcc, 0xa1, 0xf8, 0x9f, 0x60, 0x36, 0x2c,\n\t0x36, 0xd6, 0x90, 0x14, 0x23, 0x53, 0x2f, 0x62, 0xe4, 0x8a, 0x34, 0x72, 0xbf, 0xdf, 0x51, 0xd2,\n\t0x7f, 0x74, 0xd6, 0xd5, 0x19, 0x49, 0x45, 0x66, 0xc4, 0x1f, 0x80, 0x54, 0xf1, 0xb3, 0x0e, 0x60,\n\t0x46, 0x2e, 0x87, 0x2d, 0xd3, 0xf5, 0x0f, 0x85, 0x9f, 0x01, 0x52, 0x2b, 0x7f, 0x6e, 0x83, 0xd6,\n\t0x88, 0x4c, 0x6a, 0xd2, 0xa0, 0xf7, 0x00, 0xa9, 0x95, 0x63, 0x45, 0xf4, 0x06, 0x4c, 0x3f, 0xb5,\n\t0x87, 0x34, 0x34, 0xd0, 0xda, 0x60, 0xcb, 0xf0, 0x2b, 0xa2, 0x3f, 0x6d, 0x7e, 0x99, 0x82, 0xab,\n\t0x1d, 0xc6, 0x02, 0xff, 0xad, 0x06, 0xa5, 0x95, 0xae, 0xe1, 0xf4, 0x24, 0xf0, 0xdb, 0x90, 0xe5,\n\t0x17, 0x1f, 0xc1, 0x35, 0xbc, 0x14, 0x56, 0xa3, 0xca, 0xf2, 0xc2, 0x0a, 0xbf, 0x26, 0x89, 0x5e,\n\t0xd4, 0x70, 0xf1, 0x1c, 0xb1, 0x16, 0x79, 0x9e, 0x58, 0x43, 0xaf, 0x42, 0xc6, 0xa0, 0x5d, 0x58,\n\t0x08, 0xae, 0x44, 0xaf, 0x9c, 0x4c, 0x1b, 0x3b, 0xef, 0x71, 0x29, 0xfc, 0x26, 0x14, 0x15, 0x04,\n\t0x7a, 0xa9, 0x7e, 0xd2, 0x14, 0x87, 0xb3, 0x95, 0xd5, 0xd6, 0xc6, 0x33, 0x7e, 0xd7, 0xae, 0x00,\n\t0xac, 0x35, 0xfd, 0x72, 0x0a, 0x7f, 0x28, 0x7a, 0x89, 0x78, 0xa7, 0xda, 0xa3, 0x25, 0xd9, 0x93,\n\t0x7a, 0x21, 0x7b, 0xce, 0xa0, 0x2c, 0x86, 0x3f, 0x6e, 0xf8, 0x66, 0xfa, 0x12, 0xc2, 0xb7, 0x62,\n\t0xbc, 0x2e, 0x04, 0xf1, 0x14, 0x94, 0x45, 0x40, 0x17, 0xeb, 0xef, 0x17, 0x29, 0xa8, 0xc8, 0x9a,\n\t0x71, 0x39, 0x51, 0x49, 0xe7, 0xf0, 0x0c, 0xe0, 0x93, 0x39, 0x57, 0x20, 0xdb, 0x39, 0xdc, 0x33,\n\t0x3f, 0x93, 0xfc, 0xb5, 0x28, 0xd1, 0xfa, 0x2e, 0xc7, 0xe1, 0x8f, 0x48, 0xa2, 0x44, 0x2f, 0xf6,\n\t0x8e, 0x71, 0xe4, 0x6d, 0x58, 0x1d, 0x72, 0xc6, 0xce, 0x94, 0x93, 0x7a, 0x50, 0xc1, 0xee, 0xb9,\n\t0xe2, 0xb1, 0x89, 0x1d, 0x24, 0x95, 0xc7, 0x27, 0xf4, 0x00, 0xaa, 0xf4, 0x7b, 0xa5, 0xdf, 0xef,\n\t0x9a, 0xa4, 0xc3, 0x15, 0xe4, 0x98, 0xcc, 0x48, 0x3d, 0x45, 0x67, 0x47, 0x2f, 0xb7, 0x96, 0x67,\n\t0x61, 0x4b, 0x94, 0xd0, 0x02, 0x14, 0xb9, 0x7d, 0x1b, 0xd6, 0xbe, 0x4b, 0xd8, 0x0b, 0x4c, 0x5a,\n\t0x57, 0xab, 0xe8, 0x3e, 0x5e, 0x19, 0x78, 0x27, 0x4d, 0xcb, 0x38, 0xec, 0xca, 0xb8, 0x48, 0x93,\n\t0x39, 0xad, 0x5c, 0x33, 0x5d, 0xb5, 0xb6, 0x09, 0x33, 0xb4, 0x96, 0x58, 0x9e, 0xd9, 0x56, 0x82,\n\t0xa8, 0x4c, 0x95, 0x5a, 0x24, 0x55, 0x1a, 0xae, 0xfb, 0xdc, 0x76, 0x3a, 0xc2, 0x81, 0x7e, 0x19,\n\t0xaf, 0x71, 0xe5, 0xfb, 0x6e, 0x28, 0x19, 0x7e, 0x5f, 0x2d, 0x8b, 0x81, 0x96, 0x27, 0xc4, 0xbb,\n\t0x40, 0x0b, 0x7e, 0x08, 0x73, 0x52, 0x52, 0xb0, 0x92, 0x17, 0x08, 0xef, 0xc0, 0x4d, 0x29, 0xbc,\n\t0x7a, 0x42, 0xaf, 0x7d, 0xbb, 0x02, 0xf0, 0x87, 0xda, 0xf9, 0x18, 0x6a, 0xbe, 0x9d, 0xec, 0x48,\n\t0x6e, 0x77, 0x55, 0x03, 0x06, 0xae, 0x58, 0x99, 0x05, 0x9d, 0x7d, 0xd3, 0x3a, 0xc7, 0xee, 0xfa,\n\t0x07, 0x0f, 0xfa, 0x8d, 0x57, 0xe1, 0x9a, 0xd4, 0x21, 0x0e, 0xcb, 0x61, 0x25, 0x23, 0x06, 0xc5,\n\t0x29, 0x11, 0x0e, 0xa3, 0x5d, 0x2f, 0x76, 0xbb, 0x2a, 0x19, 0x76, 0x2d, 0xd3, 0xa9, 0x29, 0x3a,\n\t0xe7, 0xf8, 0x8a, 0xa0, 0x86, 0xa9, 0x79, 0x49, 0x54, 0x53, 0x05, 0x6a, 0xb5, 0x98, 0x08, 0x5a,\n\t0x3d, 0x32, 0x11, 0x23, 0xaa, 0x3f, 0x81, 0x79, 0xdf, 0x08, 0xea, 0xb7, 0x5d, 0xe2, 0xf4, 0x4c,\n\t0xd7, 0x55, 0x78, 0xac, 0xb8, 0x81, 0xbf, 0x04, 0x93, 0x7d, 0x22, 0x22, 0x57, 0x71, 0x19, 0x2d,\n\t0xf1, 0x87, 0xe7, 0x25, 0xa5, 0x33, 0x6b, 0xc7, 0x1d, 0xb8, 0x25, 0xb5, 0x73, 0x8f, 0xc6, 0xaa,\n\t0x8f, 0x1a, 0x25, 0xe9, 0x82, 0x54, 0x02, 0x5d, 0x90, 0x8e, 0x70, 0xab, 0xef, 0x71, 0x47, 0xca,\n\t0xbd, 0x35, 0x56, 0x46, 0xda, 0xe4, 0x3e, 0xf5, 0xb7, 0xe4, 0x58, 0xca, 0x0e, 0x61, 0x36, 0xbc,\n\t0x93, 0xc7, 0x0a, 0x96, 0xb3, 0x90, 0xf1, 0xec, 0x53, 0x22, 0x43, 0x25, 0x2f, 0x48, 0x83, 0xfd,\n\t0x6d, 0x3e, 0x96, 0xc1, 0x46, 0xa0, 0x8c, 0x2d, 0xc9, 0x71, 0xed, 0xa5, 0xb3, 0x29, 0x8f, 0x78,\n\t0xbc, 0x80, 0xb7, 0xe1, 0x4a, 0x34, 0x4c, 0x8c, 0x65, 0xf2, 0x33, 0xbe, 0x80, 0xe3, 0x22, 0xc9,\n\t0x58, 0x7a, 0xdf, 0x0f, 0x82, 0x81, 0x12, 0x50, 0xc6, 0x52, 0xa9, 0x43, 0x3d, 0x2e, 0xbe, 0xfc,\n\t0x18, 0xeb, 0xd5, 0x0f, 0x37, 0x63, 0x29, 0x73, 0x03, 0x65, 0xe3, 0x4f, 0x7f, 0x10, 0x23, 0xd2,\n\t0x17, 0xc6, 0x08, 0xb1, 0x49, 0x82, 0x28, 0xf6, 0x13, 0x2c, 0x3a, 0x81, 0x11, 0x04, 0xd0, 0x71,\n\t0x31, 0x68, 0x0e, 0xf1, 0x31, 0x58, 0x41, 0x2e, 0x6c, 0x35, 0xec, 0x8e, 0x35, 0x19, 0x1f, 0x04,\n\t0xb1, 0x73, 0x24, 0x32, 0x8f, 0xa5, 0xf8, 0x43, 0x58, 0x48, 0x0e, 0xca, 0xe3, 0x68, 0x7e, 0xd0,\n\t0x80, 0x82, 0x7f, 0x6c, 0x55, 0x7e, 0xb4, 0x51, 0x84, 0xdc, 0xf6, 0xce, 0xde, 0xee, 0xca, 0x6a,\n\t0x93, 0xff, 0x6a, 0x63, 0x75, 0x47, 0xd7, 0xf7, 0x77, 0x5b, 0xd5, 0xd4, 0xf2, 0x77, 0x69, 0x48,\n\t0x6d, 0x3e, 0x43, 0x1f, 0x41, 0x86, 0x3f, 0x61, 0x5e, 0xf0, 0x6e, 0x5d, 0xbf, 0xe8, 0x95, 0x16,\n\t0x5f, 0xfd, 0xe2, 0x0f, 0xdf, 0x7d, 0x9d, 0x9a, 0xc6, 0xa5, 0xc6, 0xf0, 0x8d, 0xc6, 0xe9, 0xb0,\n\t0xc1, 0x72, 0xc3, 0x23, 0xed, 0x01, 0x7a, 0x1f, 0xd2, 0xbb, 0x03, 0x0f, 0x25, 0xbe, 0x67, 0xd7,\n\t0x93, 0x1f, 0x6e, 0xf1, 0x1c, 0x53, 0x3a, 0x85, 0x41, 0x28, 0xed, 0x0f, 0x3c, 0xaa, 0xf2, 0x53,\n\t0x28, 0xaa, 0xcf, 0xae, 0x97, 0x3e, 0x72, 0xd7, 0x2f, 0x7f, 0xd2, 0xc5, 0x37, 0x19, 0xd4, 0x55,\n\t0x8c, 0x04, 0x14, 0x7f, 0x18, 0x56, 0x47, 0xd1, 0x3a, 0xb3, 0x50, 0xe2, 0x13, 0x78, 0x3d, 0xf9,\n\t0x95, 0x77, 0x64, 0x14, 0xde, 0x99, 0x45, 0x55, 0xfe, 0x83, 0x78, 0xe0, 0x6d, 0x7b, 0xe8, 0x56,\n\t0xcc, 0x03, 0x9f, 0xfa, 0x94, 0x55, 0x5f, 0x48, 0x16, 0x10, 0x20, 0x37, 0x18, 0xc8, 0x15, 0x3c,\n\t0x2d, 0x40, 0xda, 0xbe, 0xc8, 0x23, 0xed, 0xc1, 0x72, 0x1b, 0x32, 0x8c, 0x8f, 0x46, 0x1f, 0xcb,\n\t0x8f, 0x7a, 0x0c, 0x01, 0x9f, 0x30, 0xd1, 0x21, 0x26, 0x1b, 0xcf, 0x32, 0xa0, 0x0a, 0x2e, 0x50,\n\t0x20, 0xc6, 0x46, 0x3f, 0xd2, 0x1e, 0x2c, 0x6a, 0xaf, 0x69, 0xcb, 0xff, 0x9f, 0x81, 0x0c, 0x23,\n\t0x9f, 0xd0, 0x29, 0x40, 0xc0, 0xcd, 0x46, 0x47, 0x37, 0xc2, 0xf6, 0x46, 0x47, 0x37, 0x4a, 0xeb,\n\t0xe2, 0x3a, 0x03, 0x9d, 0xc5, 0x53, 0x14, 0x94, 0x71, 0x5a, 0x0d, 0x46, 0xd3, 0x51, 0x3f, 0xfe,\n\t0x9b, 0x26, 0xb8, 0x37, 0xbe, 0x97, 0x50, 0x9c, 0xb6, 0x10, 0x41, 0x1b, 0x5d, 0x0e, 0x31, 0xe4,\n\t0x2c, 0x7e, 0x8b, 0x01, 0x36, 0x70, 0x35, 0x00, 0x74, 0x98, 0xc4, 0x23, 0xed, 0xc1, 0xc7, 0x35,\n\t0x3c, 0x23, 0xbc, 0x1c, 0x69, 0x41, 0x9f, 0x43, 0x25, 0x4c, 0xba, 0xa2, 0x3b, 0x31, 0x58, 0x51,\n\t0xee, 0xb6, 0x7e, 0xf7, 0x62, 0x21, 0x61, 0xd3, 0x3c, 0xb3, 0x49, 0x80, 0x73, 0xe4, 0x53, 0x42,\n\t0xfa, 0x06, 0x15, 0x12, 0x73, 0x80, 0xfe, 0x5b, 0x83, 0xa9, 0x08, 0x8b, 0x8a, 0xe2, 0xb4, 0x8f,\n\t0x70, 0xb4, 0xf5, 0x7b, 0x97, 0x48, 0x09, 0x23, 0xfe, 0x8e, 0x19, 0xf1, 0xd7, 0x78, 0x36, 0x30,\n\t0xc2, 0x33, 0x7b, 0xc4, 0xb3, 0x85, 0x15, 0x1f, 0xdf, 0xc0, 0x57, 0x43, 0xce, 0x09, 0xb5, 0x06,\n\t0x93, 0xc5, 0x99, 0xd0, 0xd8, 0xc9, 0x0a, 0x31, 0xab, 0xb1, 0x93, 0x15, 0xa6, 0x51, 0xe3, 0x26,\n\t0x8b, 0xf3, 0x9e, 0x71, 0x93, 0xe5, 0xb7, 0x2c, 0xb3, 0x9f, 0x58, 0xf0, 0x1f, 0x56, 0x22, 0x1b,\n\t0x0a, 0x3e, 0x0b, 0x89, 0xe6, 0xe3, 0x18, 0xa1, 0xe0, 0x2e, 0x51, 0xbf, 0x95, 0xd8, 0x2e, 0x0c,\n\t0xba, 0xcd, 0x0c, 0xba, 0x8e, 0xaf, 0x50, 0x64, 0xf1, 0xdb, 0xcd, 0x06, 0xa7, 0x1d, 0x1a, 0x46,\n\t0xa7, 0x43, 0x1d, 0xf1, 0x8f, 0x50, 0x52, 0x69, 0x42, 0x74, 0x3b, 0x96, 0x85, 0x52, 0x99, 0xc6,\n\t0x3a, 0xbe, 0x48, 0x44, 0x20, 0xdf, 0x65, 0xc8, 0xf3, 0xf8, 0x5a, 0x0c, 0xb2, 0xc3, 0x44, 0x43,\n\t0xe0, 0x9c, 0xe2, 0x8b, 0x07, 0x0f, 0x31, 0x88, 0xf1, 0xe0, 0x61, 0x86, 0xf0, 0x42, 0xf0, 0x01,\n\t0x13, 0xa5, 0xe0, 0x2e, 0x40, 0x40, 0xe6, 0xa1, 0x58, 0x5f, 0x2a, 0x97, 0xa9, 0x68, 0x70, 0x18,\n\t0xe5, 0x01, 0x31, 0x66, 0xb0, 0x62, 0xdd, 0x45, 0x60, 0xbb, 0xa6, 0x4b, 0x83, 0xc4, 0xf2, 0xbf,\n\t0x67, 0xa1, 0xf8, 0xd4, 0x30, 0x2d, 0x8f, 0x58, 0x86, 0xd5, 0x26, 0xe8, 0x10, 0x32, 0x2c, 0x51,\n\t0x46, 0xe3, 0xa0, 0xca, 0x6f, 0x45, 0xe3, 0x60, 0x88, 0xfc, 0xc1, 0x0b, 0x0c, 0xb5, 0x8e, 0xe7,\n\t0x28, 0x6a, 0x2f, 0x50, 0xdd, 0x60, 0x9c, 0x0d, 0x1d, 0xe8, 0x11, 0x64, 0xc5, 0x73, 0x40, 0x44,\n\t0x51, 0x88, 0xcb, 0xa9, 0xdf, 0x88, 0x6f, 0x8c, 0x5b, 0x4a, 0x2a, 0x8c, 0xcb, 0xe4, 0x28, 0xce,\n\t0x10, 0x20, 0x20, 0x23, 0xa3, 0x0e, 0x1d, 0xe1, 0x2e, 0xeb, 0x0b, 0xc9, 0x02, 0x02, 0xf3, 0x1e,\n\t0xc3, 0xbc, 0x85, 0xeb, 0x51, 0xcc, 0x8e, 0x2f, 0x4b, 0x71, 0xff, 0x1e, 0x26, 0xd7, 0x0d, 0xf7,\n\t0x04, 0x45, 0x52, 0x9f, 0xf2, 0x7b, 0x87, 0x7a, 0x3d, 0xae, 0x49, 0xa0, 0xdc, 0x62, 0x28, 0xd7,\n\t0x78, 0x24, 0x51, 0x51, 0x4e, 0x0c, 0x97, 0xe6, 0x14, 0xd4, 0x81, 0x2c, 0xff, 0xf9, 0x43, 0xd4,\n\t0x7f, 0xa1, 0x9f, 0x50, 0x44, 0xfd, 0x17, 0xfe, 0xc5, 0xc4, 0xe5, 0x28, 0x7d, 0xc8, 0xcb, 0xdf,\n\t0x1b, 0xa0, 0x9b, 0x91, 0xa9, 0x08, 0xff, 0x36, 0xa1, 0x3e, 0x9f, 0xd4, 0x2c, 0xb0, 0xee, 0x30,\n\t0xac, 0x9b, 0xb8, 0x36, 0x32, 0x57, 0x42, 0xf2, 0x91, 0xf6, 0xe0, 0x35, 0x0d, 0x7d, 0x0e, 0x10,\n\t0xf0, 0xb7, 0x23, 0x1b, 0x20, 0x4a, 0x05, 0x8f, 0x6c, 0x80, 0x11, 0xea, 0x17, 0x2f, 0x31, 0xdc,\n\t0x45, 0x7c, 0x27, 0x8a, 0xeb, 0x39, 0x86, 0xe5, 0x1e, 0x11, 0xe7, 0x55, 0xce, 0xd1, 0xb9, 0x27,\n\t0x66, 0x9f, 0x6e, 0x86, 0x5f, 0x4f, 0xc1, 0x24, 0x3d, 0x80, 0xd2, 0x3c, 0x1d, 0xdc, 0xdb, 0xa3,\n\t0x96, 0x8c, 0xb0, 0x65, 0x51, 0x4b, 0x46, 0xaf, 0xfc, 0xe1, 0x3c, 0xcd, 0x7e, 0x11, 0x4f, 0x98,\n\t0x00, 0x75, 0xb4, 0x0d, 0x45, 0xe5, 0x62, 0x8f, 0x62, 0x94, 0x85, 0x69, 0xb8, 0x68, 0xe4, 0x8f,\n\t0x61, 0x05, 0xf0, 0x75, 0x86, 0x37, 0xc7, 0x23, 0x3f, 0xc3, 0xeb, 0x70, 0x09, 0x0a, 0xf8, 0x1c,\n\t0x4a, 0xea, 0xe5, 0x1f, 0xc5, 0xe8, 0x8b, 0x50, 0x7c, 0xd1, 0x28, 0x17, 0xc7, 0x1d, 0x84, 0x37,\n\t0xbe, 0xff, 0xab, 0x7f, 0x29, 0x46, 0x81, 0xbb, 0x90, 0x13, 0x6c, 0x40, 0xdc, 0x28, 0xc3, 0x7c,\n\t0x60, 0xdc, 0x28, 0x23, 0x54, 0x42, 0xf8, 0x6c, 0xc7, 0x10, 0xe9, 0x85, 0x47, 0x66, 0x12, 0x81,\n\t0xf6, 0x84, 0x78, 0x49, 0x68, 0x01, 0xb9, 0x95, 0x84, 0xa6, 0x5c, 0x36, 0x93, 0xd0, 0x8e, 0x89,\n\t0x27, 0xb6, 0x8b, 0xbc, 0xc4, 0xa1, 0x04, 0x65, 0x6a, 0xf4, 0xc6, 0x17, 0x89, 0xc4, 0x1d, 0xbd,\n\t0x03, 0x40, 0x11, 0xba, 0xd1, 0x19, 0x40, 0xc0, 0x55, 0x44, 0xcf, 0x53, 0xb1, 0x84, 0x67, 0xf4,\n\t0x3c, 0x15, 0x4f, 0x77, 0x84, 0x43, 0x43, 0x80, 0xcb, 0x4f, 0xfe, 0x14, 0xf9, 0x2b, 0x0d, 0xd0,\n\t0x28, 0xad, 0x81, 0x1e, 0xc6, 0x6b, 0x8f, 0xa5, 0x51, 0xeb, 0xaf, 0xbc, 0x98, 0x70, 0x5c, 0xb4,\n\t0x0f, 0x4c, 0x6a, 0x33, 0xe9, 0xfe, 0x73, 0x6a, 0xd4, 0xbf, 0x68, 0x50, 0x0e, 0x71, 0x22, 0xe8,\n\t0xa5, 0x84, 0x39, 0x8d, 0xb0, 0xb0, 0xf5, 0xfb, 0x97, 0xca, 0xc5, 0x1d, 0x34, 0x95, 0x15, 0x20,\n\t0x4f, 0xdc, 0x5f, 0x6a, 0x50, 0x09, 0x73, 0x28, 0x28, 0x41, 0xf7, 0x08, 0x8b, 0x5b, 0x5f, 0xbc,\n\t0x5c, 0xf0, 0xe2, 0xe9, 0x09, 0x0e, 0xdb, 0x5d, 0xc8, 0x09, 0xd6, 0x25, 0x6e, 0xe1, 0x87, 0xf9,\n\t0xdf, 0xb8, 0x85, 0x1f, 0xa1, 0x6c, 0x62, 0x16, 0xbe, 0x63, 0x77, 0x89, 0xb2, 0xcd, 0x04, 0x2d,\n\t0x93, 0x84, 0x76, 0xf1, 0x36, 0x8b, 0x70, 0x3a, 0x49, 0x68, 0xc1, 0x36, 0x93, 0x7c, 0x0c, 0x4a,\n\t0x50, 0x76, 0xc9, 0x36, 0x8b, 0xd2, 0x39, 0x31, 0xdb, 0x8c, 0x01, 0x2a, 0xdb, 0x2c, 0x60, 0x4e,\n\t0xe2, 0xb6, 0xd9, 0x08, 0x9d, 0x1d, 0xb7, 0xcd, 0x46, 0xc9, 0x97, 0x98, 0x79, 0x64, 0xb8, 0xa1,\n\t0x6d, 0x36, 0x13, 0x43, 0xb2, 0xa0, 0x57, 0x12, 0x9c, 0x18, 0xcb, 0x92, 0xd7, 0x5f, 0x7d, 0x41,\n\t0xe9, 0xc4, 0x35, 0xce, 0xdd, 0x2f, 0xd7, 0xf8, 0x7f, 0x68, 0x30, 0x1b, 0x47, 0xd0, 0xa0, 0x04,\n\t0x9c, 0x04, 0x76, 0xbd, 0xbe, 0xf4, 0xa2, 0xe2, 0x17, 0x7b, 0xcb, 0x5f, 0xf5, 0x8f, 0xab, 0xbf,\n\t0xf9, 0x76, 0x5e, 0xfb, 0xdd, 0xb7, 0xf3, 0xda, 0x1f, 0xbf, 0x9d, 0xd7, 0xfe, 0xf3, 0x4f, 0xf3,\n\t0x13, 0x87, 0x59, 0xf6, 0x7f, 0xc9, 0xde, 0xf8, 0x4b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x91, 0xd4,\n\t0xc1, 0xf9, 0xd2, 0x36, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/metrics.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"time\"\n\n\t\"github.com/coreos/etcd/pkg/runtime\"\n\t\"github.com/coreos/etcd/version\"\n\n\t\"github.com/prometheus/client_golang/prometheus\"\n)\n\nvar (\n\thasLeader = prometheus.NewGauge(prometheus.GaugeOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"server\",\n\t\tName:      \"has_leader\",\n\t\tHelp:      \"Whether or not a leader exists. 1 is existence, 0 is not.\",\n\t})\n\tisLeader = prometheus.NewGauge(prometheus.GaugeOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"server\",\n\t\tName:      \"is_leader\",\n\t\tHelp:      \"Whether or not this member is a leader. 1 if is, 0 otherwise.\",\n\t})\n\tleaderChanges = prometheus.NewCounter(prometheus.CounterOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"server\",\n\t\tName:      \"leader_changes_seen_total\",\n\t\tHelp:      \"The number of leader changes seen.\",\n\t})\n\theartbeatSendFailures = prometheus.NewCounter(prometheus.CounterOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"server\",\n\t\tName:      \"heartbeat_send_failures_total\",\n\t\tHelp:      \"The total number of leader heartbeat send failures (likely overloaded from slow disk).\",\n\t})\n\tslowApplies = prometheus.NewCounter(prometheus.CounterOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"server\",\n\t\tName:      \"slow_apply_total\",\n\t\tHelp:      \"The total number of slow apply requests (likely overloaded from slow disk).\",\n\t})\n\tproposalsCommitted = prometheus.NewGauge(prometheus.GaugeOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"server\",\n\t\tName:      \"proposals_committed_total\",\n\t\tHelp:      \"The total number of consensus proposals committed.\",\n\t})\n\tproposalsApplied = prometheus.NewGauge(prometheus.GaugeOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"server\",\n\t\tName:      \"proposals_applied_total\",\n\t\tHelp:      \"The total number of consensus proposals applied.\",\n\t})\n\tproposalsPending = prometheus.NewGauge(prometheus.GaugeOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"server\",\n\t\tName:      \"proposals_pending\",\n\t\tHelp:      \"The current number of pending proposals to commit.\",\n\t})\n\tproposalsFailed = prometheus.NewCounter(prometheus.CounterOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"server\",\n\t\tName:      \"proposals_failed_total\",\n\t\tHelp:      \"The total number of failed proposals seen.\",\n\t})\n\tleaseExpired = prometheus.NewCounter(prometheus.CounterOpts{\n\t\tNamespace: \"etcd_debugging\",\n\t\tSubsystem: \"server\",\n\t\tName:      \"lease_expired_total\",\n\t\tHelp:      \"The total number of expired leases.\",\n\t})\n\tquotaBackendBytes = prometheus.NewGauge(prometheus.GaugeOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"server\",\n\t\tName:      \"quota_backend_bytes\",\n\t\tHelp:      \"Current backend storage quota size in bytes.\",\n\t})\n\tcurrentVersion = prometheus.NewGaugeVec(prometheus.GaugeOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"server\",\n\t\tName:      \"version\",\n\t\tHelp:      \"Which version is running. 1 for 'server_version' label with current version.\",\n\t},\n\t\t[]string{\"server_version\"})\n)\n\nfunc init() {\n\tprometheus.MustRegister(hasLeader)\n\tprometheus.MustRegister(isLeader)\n\tprometheus.MustRegister(leaderChanges)\n\tprometheus.MustRegister(heartbeatSendFailures)\n\tprometheus.MustRegister(slowApplies)\n\tprometheus.MustRegister(proposalsCommitted)\n\tprometheus.MustRegister(proposalsApplied)\n\tprometheus.MustRegister(proposalsPending)\n\tprometheus.MustRegister(proposalsFailed)\n\tprometheus.MustRegister(leaseExpired)\n\tprometheus.MustRegister(quotaBackendBytes)\n\tprometheus.MustRegister(currentVersion)\n\n\tcurrentVersion.With(prometheus.Labels{\n\t\t\"server_version\": version.Version,\n\t}).Set(1)\n}\n\nfunc monitorFileDescriptor(done <-chan struct{}) {\n\tticker := time.NewTicker(5 * time.Second)\n\tdefer ticker.Stop()\n\tfor {\n\t\tused, err := runtime.FDUsage()\n\t\tif err != nil {\n\t\t\tplog.Errorf(\"cannot monitor file descriptor usage (%v)\", err)\n\t\t\treturn\n\t\t}\n\t\tlimit, err := runtime.FDLimit()\n\t\tif err != nil {\n\t\t\tplog.Errorf(\"cannot monitor file descriptor usage (%v)\", err)\n\t\t\treturn\n\t\t}\n\t\tif used >= limit/5*4 {\n\t\t\tplog.Warningf(\"80%% of the file descriptor limit is used [used = %d, limit = %d]\", used, limit)\n\t\t}\n\t\tselect {\n\t\tcase <-ticker.C:\n\t\tcase <-done:\n\t\t\treturn\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/quota.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"sync\"\n\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\n\thumanize \"github.com/dustin/go-humanize\"\n\t\"go.uber.org/zap\"\n)\n\nconst (\n\t// DefaultQuotaBytes is the number of bytes the backend Size may\n\t// consume before exceeding the space quota.\n\tDefaultQuotaBytes = int64(2 * 1024 * 1024 * 1024) // 2GB\n\t// MaxQuotaBytes is the maximum number of bytes suggested for a backend\n\t// quota. A larger quota may lead to degraded performance.\n\tMaxQuotaBytes = int64(8 * 1024 * 1024 * 1024) // 8GB\n)\n\n// Quota represents an arbitrary quota against arbitrary requests. Each request\n// costs some charge; if there is not enough remaining charge, then there are\n// too few resources available within the quota to apply the request.\ntype Quota interface {\n\t// Available judges whether the given request fits within the quota.\n\tAvailable(req interface{}) bool\n\t// Cost computes the charge against the quota for a given request.\n\tCost(req interface{}) int\n\t// Remaining is the amount of charge left for the quota.\n\tRemaining() int64\n}\n\ntype passthroughQuota struct{}\n\nfunc (*passthroughQuota) Available(interface{}) bool { return true }\nfunc (*passthroughQuota) Cost(interface{}) int       { return 0 }\nfunc (*passthroughQuota) Remaining() int64           { return 1 }\n\ntype backendQuota struct {\n\ts               *EtcdServer\n\tmaxBackendBytes int64\n}\n\nconst (\n\t// leaseOverhead is an estimate for the cost of storing a lease\n\tleaseOverhead = 64\n\t// kvOverhead is an estimate for the cost of storing a key's metadata\n\tkvOverhead = 256\n)\n\nvar (\n\t// only log once\n\tquotaLogOnce sync.Once\n\n\tdefaultQuotaSize = humanize.Bytes(uint64(DefaultQuotaBytes))\n\tmaxQuotaSize     = humanize.Bytes(uint64(MaxQuotaBytes))\n)\n\n// NewBackendQuota creates a quota layer with the given storage limit.\nfunc NewBackendQuota(s *EtcdServer, name string) Quota {\n\tlg := s.getLogger()\n\tquotaBackendBytes.Set(float64(s.Cfg.QuotaBackendBytes))\n\n\tif s.Cfg.QuotaBackendBytes < 0 {\n\t\t// disable quotas if negative\n\t\tquotaLogOnce.Do(func() {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Info(\n\t\t\t\t\t\"disabled backend quota\",\n\t\t\t\t\tzap.String(\"quota-name\", name),\n\t\t\t\t\tzap.Int64(\"quota-size-bytes\", s.Cfg.QuotaBackendBytes),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"disabling backend quota\")\n\t\t\t}\n\t\t})\n\t\treturn &passthroughQuota{}\n\t}\n\n\tif s.Cfg.QuotaBackendBytes == 0 {\n\t\t// use default size if no quota size given\n\t\tquotaLogOnce.Do(func() {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Info(\n\t\t\t\t\t\"enabled backend quota with default value\",\n\t\t\t\t\tzap.String(\"quota-name\", name),\n\t\t\t\t\tzap.Int64(\"quota-size-bytes\", DefaultQuotaBytes),\n\t\t\t\t\tzap.String(\"quota-size\", defaultQuotaSize),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t\tquotaBackendBytes.Set(float64(DefaultQuotaBytes))\n\t\treturn &backendQuota{s, DefaultQuotaBytes}\n\t}\n\n\tquotaLogOnce.Do(func() {\n\t\tif s.Cfg.QuotaBackendBytes > MaxQuotaBytes {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"quota exceeds the maximum value\",\n\t\t\t\t\tzap.String(\"quota-name\", name),\n\t\t\t\t\tzap.Int64(\"quota-size-bytes\", s.Cfg.QuotaBackendBytes),\n\t\t\t\t\tzap.String(\"quota-size\", humanize.Bytes(uint64(s.Cfg.QuotaBackendBytes))),\n\t\t\t\t\tzap.Int64(\"quota-maximum-size-bytes\", MaxQuotaBytes),\n\t\t\t\t\tzap.String(\"quota-maximum-size\", maxQuotaSize),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"backend quota %v exceeds maximum recommended quota %v\", s.Cfg.QuotaBackendBytes, MaxQuotaBytes)\n\t\t\t}\n\t\t}\n\t\tif lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"enabled backend quota\",\n\t\t\t\tzap.String(\"quota-name\", name),\n\t\t\t\tzap.Int64(\"quota-size-bytes\", s.Cfg.QuotaBackendBytes),\n\t\t\t\tzap.String(\"quota-size\", humanize.Bytes(uint64(s.Cfg.QuotaBackendBytes))),\n\t\t\t)\n\t\t}\n\t})\n\treturn &backendQuota{s, s.Cfg.QuotaBackendBytes}\n}\n\nfunc (b *backendQuota) Available(v interface{}) bool {\n\t// TODO: maybe optimize backend.Size()\n\treturn b.s.Backend().Size()+int64(b.Cost(v)) < b.maxBackendBytes\n}\n\nfunc (b *backendQuota) Cost(v interface{}) int {\n\tswitch r := v.(type) {\n\tcase *pb.PutRequest:\n\t\treturn costPut(r)\n\tcase *pb.TxnRequest:\n\t\treturn costTxn(r)\n\tcase *pb.LeaseGrantRequest:\n\t\treturn leaseOverhead\n\tdefault:\n\t\tpanic(\"unexpected cost\")\n\t}\n}\n\nfunc costPut(r *pb.PutRequest) int { return kvOverhead + len(r.Key) + len(r.Value) }\n\nfunc costTxnReq(u *pb.RequestOp) int {\n\tr := u.GetRequestPut()\n\tif r == nil {\n\t\treturn 0\n\t}\n\treturn costPut(r)\n}\n\nfunc costTxn(r *pb.TxnRequest) int {\n\tsizeSuccess := 0\n\tfor _, u := range r.Success {\n\t\tsizeSuccess += costTxnReq(u)\n\t}\n\tsizeFailure := 0\n\tfor _, u := range r.Failure {\n\t\tsizeFailure += costTxnReq(u)\n\t}\n\tif sizeFailure > sizeSuccess {\n\t\treturn sizeFailure\n\t}\n\treturn sizeSuccess\n}\n\nfunc (b *backendQuota) Remaining() int64 {\n\treturn b.maxBackendBytes - b.s.Backend().Size()\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/raft.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"encoding/json\"\n\t\"expvar\"\n\t\"log\"\n\t\"sort\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/etcdserver/api/membership\"\n\t\"github.com/coreos/etcd/etcdserver/api/rafthttp\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/pkg/contention\"\n\t\"github.com/coreos/etcd/pkg/logutil\"\n\t\"github.com/coreos/etcd/pkg/pbutil\"\n\t\"github.com/coreos/etcd/pkg/types\"\n\t\"github.com/coreos/etcd/raft\"\n\t\"github.com/coreos/etcd/raft/raftpb\"\n\t\"github.com/coreos/etcd/wal\"\n\t\"github.com/coreos/etcd/wal/walpb\"\n\n\t\"go.uber.org/zap\"\n)\n\nconst (\n\t// The max throughput of etcd will not exceed 100MB/s (100K * 1KB value).\n\t// Assuming the RTT is around 10ms, 1MB max size is large enough.\n\tmaxSizePerMsg = 1 * 1024 * 1024\n\t// Never overflow the rafthttp buffer, which is 4096.\n\t// TODO: a better const?\n\tmaxInflightMsgs = 4096 / 8\n)\n\nvar (\n\t// protects raftStatus\n\traftStatusMu sync.Mutex\n\t// indirection for expvar func interface\n\t// expvar panics when publishing duplicate name\n\t// expvar does not support remove a registered name\n\t// so only register a func that calls raftStatus\n\t// and change raftStatus as we need.\n\traftStatus func() raft.Status\n)\n\nfunc init() {\n\tlcfg := &zap.Config{\n\t\tLevel:       zap.NewAtomicLevelAt(zap.InfoLevel),\n\t\tDevelopment: false,\n\t\tSampling: &zap.SamplingConfig{\n\t\t\tInitial:    100,\n\t\t\tThereafter: 100,\n\t\t},\n\t\tEncoding:      \"json\",\n\t\tEncoderConfig: zap.NewProductionEncoderConfig(),\n\n\t\tOutputPaths:      []string{\"stderr\"},\n\t\tErrorOutputPaths: []string{\"stderr\"},\n\t}\n\tlg, err := logutil.NewRaftLogger(lcfg)\n\tif err != nil {\n\t\tlog.Fatalf(\"cannot create raft logger %v\", err)\n\t}\n\traft.SetLogger(lg)\n\n\texpvar.Publish(\"raft.status\", expvar.Func(func() interface{} {\n\t\traftStatusMu.Lock()\n\t\tdefer raftStatusMu.Unlock()\n\t\treturn raftStatus()\n\t}))\n}\n\n// apply contains entries, snapshot to be applied. Once\n// an apply is consumed, the entries will be persisted to\n// to raft storage concurrently; the application must read\n// raftDone before assuming the raft messages are stable.\ntype apply struct {\n\tentries  []raftpb.Entry\n\tsnapshot raftpb.Snapshot\n\t// notifyc synchronizes etcd server applies with the raft node\n\tnotifyc chan struct{}\n}\n\ntype raftNode struct {\n\tlg *zap.Logger\n\n\ttickMu *sync.Mutex\n\traftNodeConfig\n\n\t// a chan to send/receive snapshot\n\tmsgSnapC chan raftpb.Message\n\n\t// a chan to send out apply\n\tapplyc chan apply\n\n\t// a chan to send out readState\n\treadStateC chan raft.ReadState\n\n\t// utility\n\tticker *time.Ticker\n\t// contention detectors for raft heartbeat message\n\ttd *contention.TimeoutDetector\n\n\tstopped chan struct{}\n\tdone    chan struct{}\n}\n\ntype raftNodeConfig struct {\n\tlg *zap.Logger\n\n\t// to check if msg receiver is removed from cluster\n\tisIDRemoved func(id uint64) bool\n\traft.Node\n\traftStorage *raft.MemoryStorage\n\tstorage     Storage\n\theartbeat   time.Duration // for logging\n\t// transport specifies the transport to send and receive msgs to members.\n\t// Sending messages MUST NOT block. It is okay to drop messages, since\n\t// clients should timeout and reissue their messages.\n\t// If transport is nil, server will panic.\n\ttransport rafthttp.Transporter\n}\n\nfunc newRaftNode(cfg raftNodeConfig) *raftNode {\n\tr := &raftNode{\n\t\tlg:             cfg.lg,\n\t\ttickMu:         new(sync.Mutex),\n\t\traftNodeConfig: cfg,\n\t\t// set up contention detectors for raft heartbeat message.\n\t\t// expect to send a heartbeat within 2 heartbeat intervals.\n\t\ttd:         contention.NewTimeoutDetector(2 * cfg.heartbeat),\n\t\treadStateC: make(chan raft.ReadState, 1),\n\t\tmsgSnapC:   make(chan raftpb.Message, maxInFlightMsgSnap),\n\t\tapplyc:     make(chan apply),\n\t\tstopped:    make(chan struct{}),\n\t\tdone:       make(chan struct{}),\n\t}\n\tif r.heartbeat == 0 {\n\t\tr.ticker = &time.Ticker{}\n\t} else {\n\t\tr.ticker = time.NewTicker(r.heartbeat)\n\t}\n\treturn r\n}\n\n// raft.Node does not have locks in Raft package\nfunc (r *raftNode) tick() {\n\tr.tickMu.Lock()\n\tr.Tick()\n\tr.tickMu.Unlock()\n}\n\n// start prepares and starts raftNode in a new goroutine. It is no longer safe\n// to modify the fields after it has been started.\nfunc (r *raftNode) start(rh *raftReadyHandler) {\n\tinternalTimeout := time.Second\n\n\tgo func() {\n\t\tdefer r.onStop()\n\t\tislead := false\n\n\t\tfor {\n\t\t\tselect {\n\t\t\tcase <-r.ticker.C:\n\t\t\t\tr.tick()\n\t\t\tcase rd := <-r.Ready():\n\t\t\t\tif rd.SoftState != nil {\n\t\t\t\t\tnewLeader := rd.SoftState.Lead != raft.None && rh.getLead() != rd.SoftState.Lead\n\t\t\t\t\tif newLeader {\n\t\t\t\t\t\tleaderChanges.Inc()\n\t\t\t\t\t}\n\n\t\t\t\t\tif rd.SoftState.Lead == raft.None {\n\t\t\t\t\t\thasLeader.Set(0)\n\t\t\t\t\t} else {\n\t\t\t\t\t\thasLeader.Set(1)\n\t\t\t\t\t}\n\n\t\t\t\t\trh.updateLead(rd.SoftState.Lead)\n\t\t\t\t\tislead = rd.RaftState == raft.StateLeader\n\t\t\t\t\tif islead {\n\t\t\t\t\t\tisLeader.Set(1)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisLeader.Set(0)\n\t\t\t\t\t}\n\t\t\t\t\trh.updateLeadership(newLeader)\n\t\t\t\t\tr.td.Reset()\n\t\t\t\t}\n\n\t\t\t\tif len(rd.ReadStates) != 0 {\n\t\t\t\t\tselect {\n\t\t\t\t\tcase r.readStateC <- rd.ReadStates[len(rd.ReadStates)-1]:\n\t\t\t\t\tcase <-time.After(internalTimeout):\n\t\t\t\t\t\tif r.lg != nil {\n\t\t\t\t\t\t\tr.lg.Warn(\"timed out sending read state\", zap.Duration(\"timeout\", internalTimeout))\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tplog.Warningf(\"timed out sending read state\")\n\t\t\t\t\t\t}\n\t\t\t\t\tcase <-r.stopped:\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tnotifyc := make(chan struct{}, 1)\n\t\t\t\tap := apply{\n\t\t\t\t\tentries:  rd.CommittedEntries,\n\t\t\t\t\tsnapshot: rd.Snapshot,\n\t\t\t\t\tnotifyc:  notifyc,\n\t\t\t\t}\n\n\t\t\t\tupdateCommittedIndex(&ap, rh)\n\n\t\t\t\tselect {\n\t\t\t\tcase r.applyc <- ap:\n\t\t\t\tcase <-r.stopped:\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\t// the leader can write to its disk in parallel with replicating to the followers and them\n\t\t\t\t// writing to their disks.\n\t\t\t\t// For more details, check raft thesis 10.2.1\n\t\t\t\tif islead {\n\t\t\t\t\t// gofail: var raftBeforeLeaderSend struct{}\n\t\t\t\t\tr.transport.Send(r.processMessages(rd.Messages))\n\t\t\t\t}\n\n\t\t\t\t// gofail: var raftBeforeSave struct{}\n\t\t\t\tif err := r.storage.Save(rd.HardState, rd.Entries); err != nil {\n\t\t\t\t\tif r.lg != nil {\n\t\t\t\t\t\tr.lg.Fatal(\"failed to save Raft hard state and entries\", zap.Error(err))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tplog.Fatalf(\"raft save state and entries error: %v\", err)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif !raft.IsEmptyHardState(rd.HardState) {\n\t\t\t\t\tproposalsCommitted.Set(float64(rd.HardState.Commit))\n\t\t\t\t}\n\t\t\t\t// gofail: var raftAfterSave struct{}\n\n\t\t\t\tif !raft.IsEmptySnap(rd.Snapshot) {\n\t\t\t\t\t// gofail: var raftBeforeSaveSnap struct{}\n\t\t\t\t\tif err := r.storage.SaveSnap(rd.Snapshot); err != nil {\n\t\t\t\t\t\tif r.lg != nil {\n\t\t\t\t\t\t\tr.lg.Fatal(\"failed to save Raft snapshot\", zap.Error(err))\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tplog.Fatalf(\"raft save snapshot error: %v\", err)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// etcdserver now claim the snapshot has been persisted onto the disk\n\t\t\t\t\tnotifyc <- struct{}{}\n\n\t\t\t\t\t// gofail: var raftAfterSaveSnap struct{}\n\t\t\t\t\tr.raftStorage.ApplySnapshot(rd.Snapshot)\n\t\t\t\t\tif r.lg != nil {\n\t\t\t\t\t\tr.lg.Info(\"applied incoming Raft snapshot\", zap.Uint64(\"snapshot-index\", rd.Snapshot.Metadata.Index))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tplog.Infof(\"raft applied incoming snapshot at index %d\", rd.Snapshot.Metadata.Index)\n\t\t\t\t\t}\n\t\t\t\t\t// gofail: var raftAfterApplySnap struct{}\n\t\t\t\t}\n\n\t\t\t\tr.raftStorage.Append(rd.Entries)\n\n\t\t\t\tif !islead {\n\t\t\t\t\t// finish processing incoming messages before we signal raftdone chan\n\t\t\t\t\tmsgs := r.processMessages(rd.Messages)\n\n\t\t\t\t\t// now unblocks 'applyAll' that waits on Raft log disk writes before triggering snapshots\n\t\t\t\t\tnotifyc <- struct{}{}\n\n\t\t\t\t\t// Candidate or follower needs to wait for all pending configuration\n\t\t\t\t\t// changes to be applied before sending messages.\n\t\t\t\t\t// Otherwise we might incorrectly count votes (e.g. votes from removed members).\n\t\t\t\t\t// Also slow machine's follower raft-layer could proceed to become the leader\n\t\t\t\t\t// on its own single-node cluster, before apply-layer applies the config change.\n\t\t\t\t\t// We simply wait for ALL pending entries to be applied for now.\n\t\t\t\t\t// We might improve this later on if it causes unnecessary long blocking issues.\n\t\t\t\t\twaitApply := false\n\t\t\t\t\tfor _, ent := range rd.CommittedEntries {\n\t\t\t\t\t\tif ent.Type == raftpb.EntryConfChange {\n\t\t\t\t\t\t\twaitApply = true\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif waitApply {\n\t\t\t\t\t\t// blocks until 'applyAll' calls 'applyWait.Trigger'\n\t\t\t\t\t\t// to be in sync with scheduled config-change job\n\t\t\t\t\t\t// (assume notifyc has cap of 1)\n\t\t\t\t\t\tselect {\n\t\t\t\t\t\tcase notifyc <- struct{}{}:\n\t\t\t\t\t\tcase <-r.stopped:\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// gofail: var raftBeforeFollowerSend struct{}\n\t\t\t\t\tr.transport.Send(msgs)\n\t\t\t\t} else {\n\t\t\t\t\t// leader already processed 'MsgSnap' and signaled\n\t\t\t\t\tnotifyc <- struct{}{}\n\t\t\t\t}\n\n\t\t\t\tr.Advance()\n\t\t\tcase <-r.stopped:\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}()\n}\n\nfunc updateCommittedIndex(ap *apply, rh *raftReadyHandler) {\n\tvar ci uint64\n\tif len(ap.entries) != 0 {\n\t\tci = ap.entries[len(ap.entries)-1].Index\n\t}\n\tif ap.snapshot.Metadata.Index > ci {\n\t\tci = ap.snapshot.Metadata.Index\n\t}\n\tif ci != 0 {\n\t\trh.updateCommittedIndex(ci)\n\t}\n}\n\nfunc (r *raftNode) processMessages(ms []raftpb.Message) []raftpb.Message {\n\tsentAppResp := false\n\tfor i := len(ms) - 1; i >= 0; i-- {\n\t\tif r.isIDRemoved(ms[i].To) {\n\t\t\tms[i].To = 0\n\t\t}\n\n\t\tif ms[i].Type == raftpb.MsgAppResp {\n\t\t\tif sentAppResp {\n\t\t\t\tms[i].To = 0\n\t\t\t} else {\n\t\t\t\tsentAppResp = true\n\t\t\t}\n\t\t}\n\n\t\tif ms[i].Type == raftpb.MsgSnap {\n\t\t\t// There are two separate data store: the store for v2, and the KV for v3.\n\t\t\t// The msgSnap only contains the most recent snapshot of store without KV.\n\t\t\t// So we need to redirect the msgSnap to etcd server main loop for merging in the\n\t\t\t// current store snapshot and KV snapshot.\n\t\t\tselect {\n\t\t\tcase r.msgSnapC <- ms[i]:\n\t\t\tdefault:\n\t\t\t\t// drop msgSnap if the inflight chan if full.\n\t\t\t}\n\t\t\tms[i].To = 0\n\t\t}\n\t\tif ms[i].Type == raftpb.MsgHeartbeat {\n\t\t\tok, exceed := r.td.Observe(ms[i].To)\n\t\t\tif !ok {\n\t\t\t\t// TODO: limit request rate.\n\t\t\t\tif r.lg != nil {\n\t\t\t\t\tr.lg.Warn(\n\t\t\t\t\t\t\"leader failed to send out heartbeat on time; took too long, leader is overloaded likely from slow disk\",\n\t\t\t\t\t\tzap.Duration(\"heartbeat-interval\", r.heartbeat),\n\t\t\t\t\t\tzap.Duration(\"expected-duration\", 2*r.heartbeat),\n\t\t\t\t\t\tzap.Duration(\"exceeded-duration\", exceed),\n\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\tplog.Warningf(\"failed to send out heartbeat on time (exceeded the %v timeout for %v)\", r.heartbeat, exceed)\n\t\t\t\t\tplog.Warningf(\"server is likely overloaded\")\n\t\t\t\t}\n\t\t\t\theartbeatSendFailures.Inc()\n\t\t\t}\n\t\t}\n\t}\n\treturn ms\n}\n\nfunc (r *raftNode) apply() chan apply {\n\treturn r.applyc\n}\n\nfunc (r *raftNode) stop() {\n\tr.stopped <- struct{}{}\n\t<-r.done\n}\n\nfunc (r *raftNode) onStop() {\n\tr.Stop()\n\tr.ticker.Stop()\n\tr.transport.Stop()\n\tif err := r.storage.Close(); err != nil {\n\t\tif r.lg != nil {\n\t\t\tr.lg.Panic(\"failed to close Raft storage\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Panicf(\"raft close storage error: %v\", err)\n\t\t}\n\t}\n\tclose(r.done)\n}\n\n// for testing\nfunc (r *raftNode) pauseSending() {\n\tp := r.transport.(rafthttp.Pausable)\n\tp.Pause()\n}\n\nfunc (r *raftNode) resumeSending() {\n\tp := r.transport.(rafthttp.Pausable)\n\tp.Resume()\n}\n\n// advanceTicks advances ticks of Raft node.\n// This can be used for fast-forwarding election\n// ticks in multi data-center deployments, thus\n// speeding up election process.\nfunc (r *raftNode) advanceTicks(ticks int) {\n\tfor i := 0; i < ticks; i++ {\n\t\tr.tick()\n\t}\n}\n\nfunc startNode(cfg ServerConfig, cl *membership.RaftCluster, ids []types.ID) (id types.ID, n raft.Node, s *raft.MemoryStorage, w *wal.WAL) {\n\tvar err error\n\tmember := cl.MemberByName(cfg.Name)\n\tmetadata := pbutil.MustMarshal(\n\t\t&pb.Metadata{\n\t\t\tNodeID:    uint64(member.ID),\n\t\t\tClusterID: uint64(cl.ID()),\n\t\t},\n\t)\n\tif w, err = wal.Create(cfg.Logger, cfg.WALDir(), metadata); err != nil {\n\t\tif cfg.Logger != nil {\n\t\t\tcfg.Logger.Fatal(\"failed to create WAL\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Fatalf(\"create wal error: %v\", err)\n\t\t}\n\t}\n\tpeers := make([]raft.Peer, len(ids))\n\tfor i, id := range ids {\n\t\tvar ctx []byte\n\t\tctx, err = json.Marshal((*cl).Member(id))\n\t\tif err != nil {\n\t\t\tif cfg.Logger != nil {\n\t\t\t\tcfg.Logger.Panic(\"failed to marshal member\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"marshal member should never fail: %v\", err)\n\t\t\t}\n\t\t}\n\t\tpeers[i] = raft.Peer{ID: uint64(id), Context: ctx}\n\t}\n\tid = member.ID\n\tif cfg.Logger != nil {\n\t\tcfg.Logger.Info(\n\t\t\t\"starting local member\",\n\t\t\tzap.String(\"local-member-id\", id.String()),\n\t\t\tzap.String(\"cluster-id\", cl.ID().String()),\n\t\t)\n\t} else {\n\t\tplog.Infof(\"starting member %s in cluster %s\", id, cl.ID())\n\t}\n\ts = raft.NewMemoryStorage()\n\tc := &raft.Config{\n\t\tID:              uint64(id),\n\t\tElectionTick:    cfg.ElectionTicks,\n\t\tHeartbeatTick:   1,\n\t\tStorage:         s,\n\t\tMaxSizePerMsg:   maxSizePerMsg,\n\t\tMaxInflightMsgs: maxInflightMsgs,\n\t\tCheckQuorum:     true,\n\t\tPreVote:         cfg.PreVote,\n\t}\n\tif cfg.Logger != nil {\n\t\t// called after capnslog setting in \"init\" function\n\t\tif cfg.LoggerConfig != nil {\n\t\t\tc.Logger, err = logutil.NewRaftLogger(cfg.LoggerConfig)\n\t\t\tif err != nil {\n\t\t\t\tlog.Fatalf(\"cannot create raft logger %v\", err)\n\t\t\t}\n\t\t} else if cfg.LoggerCore != nil && cfg.LoggerWriteSyncer != nil {\n\t\t\tc.Logger = logutil.NewRaftLoggerFromZapCore(cfg.LoggerCore, cfg.LoggerWriteSyncer)\n\t\t}\n\t}\n\n\tn = raft.StartNode(c, peers)\n\traftStatusMu.Lock()\n\traftStatus = n.Status\n\traftStatusMu.Unlock()\n\treturn id, n, s, w\n}\n\nfunc restartNode(cfg ServerConfig, snapshot *raftpb.Snapshot) (types.ID, *membership.RaftCluster, raft.Node, *raft.MemoryStorage, *wal.WAL) {\n\tvar walsnap walpb.Snapshot\n\tif snapshot != nil {\n\t\twalsnap.Index, walsnap.Term = snapshot.Metadata.Index, snapshot.Metadata.Term\n\t}\n\tw, id, cid, st, ents := readWAL(cfg.Logger, cfg.WALDir(), walsnap)\n\n\tif cfg.Logger != nil {\n\t\tcfg.Logger.Info(\n\t\t\t\"restarting local member\",\n\t\t\tzap.String(\"cluster-id\", cid.String()),\n\t\t\tzap.String(\"local-member-id\", id.String()),\n\t\t\tzap.Uint64(\"commit-index\", st.Commit),\n\t\t)\n\t} else {\n\t\tplog.Infof(\"restarting member %s in cluster %s at commit index %d\", id, cid, st.Commit)\n\t}\n\tcl := membership.NewCluster(cfg.Logger, \"\")\n\tcl.SetID(id, cid)\n\ts := raft.NewMemoryStorage()\n\tif snapshot != nil {\n\t\ts.ApplySnapshot(*snapshot)\n\t}\n\ts.SetHardState(st)\n\ts.Append(ents)\n\tc := &raft.Config{\n\t\tID:              uint64(id),\n\t\tElectionTick:    cfg.ElectionTicks,\n\t\tHeartbeatTick:   1,\n\t\tStorage:         s,\n\t\tMaxSizePerMsg:   maxSizePerMsg,\n\t\tMaxInflightMsgs: maxInflightMsgs,\n\t\tCheckQuorum:     true,\n\t\tPreVote:         cfg.PreVote,\n\t}\n\tif cfg.Logger != nil {\n\t\t// called after capnslog setting in \"init\" function\n\t\tvar err error\n\t\tif cfg.LoggerConfig != nil {\n\t\t\tc.Logger, err = logutil.NewRaftLogger(cfg.LoggerConfig)\n\t\t\tif err != nil {\n\t\t\t\tlog.Fatalf(\"cannot create raft logger %v\", err)\n\t\t\t}\n\t\t} else if cfg.LoggerCore != nil && cfg.LoggerWriteSyncer != nil {\n\t\t\tc.Logger = logutil.NewRaftLoggerFromZapCore(cfg.LoggerCore, cfg.LoggerWriteSyncer)\n\t\t}\n\t}\n\n\tn := raft.RestartNode(c)\n\traftStatusMu.Lock()\n\traftStatus = n.Status\n\traftStatusMu.Unlock()\n\treturn id, cl, n, s, w\n}\n\nfunc restartAsStandaloneNode(cfg ServerConfig, snapshot *raftpb.Snapshot) (types.ID, *membership.RaftCluster, raft.Node, *raft.MemoryStorage, *wal.WAL) {\n\tvar walsnap walpb.Snapshot\n\tif snapshot != nil {\n\t\twalsnap.Index, walsnap.Term = snapshot.Metadata.Index, snapshot.Metadata.Term\n\t}\n\tw, id, cid, st, ents := readWAL(cfg.Logger, cfg.WALDir(), walsnap)\n\n\t// discard the previously uncommitted entries\n\tfor i, ent := range ents {\n\t\tif ent.Index > st.Commit {\n\t\t\tif cfg.Logger != nil {\n\t\t\t\tcfg.Logger.Info(\n\t\t\t\t\t\"discarding uncommitted WAL entries\",\n\t\t\t\t\tzap.Uint64(\"entry-index\", ent.Index),\n\t\t\t\t\tzap.Uint64(\"commit-index-from-wal\", st.Commit),\n\t\t\t\t\tzap.Int(\"number-of-discarded-entries\", len(ents)-i),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Infof(\"discarding %d uncommitted WAL entries \", len(ents)-i)\n\t\t\t}\n\t\t\tents = ents[:i]\n\t\t\tbreak\n\t\t}\n\t}\n\n\t// force append the configuration change entries\n\ttoAppEnts := createConfigChangeEnts(\n\t\tcfg.Logger,\n\t\tgetIDs(cfg.Logger, snapshot, ents),\n\t\tuint64(id),\n\t\tst.Term,\n\t\tst.Commit,\n\t)\n\tents = append(ents, toAppEnts...)\n\n\t// force commit newly appended entries\n\terr := w.Save(raftpb.HardState{}, toAppEnts)\n\tif err != nil {\n\t\tif cfg.Logger != nil {\n\t\t\tcfg.Logger.Fatal(\"failed to save hard state and entries\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Fatalf(\"%v\", err)\n\t\t}\n\t}\n\tif len(ents) != 0 {\n\t\tst.Commit = ents[len(ents)-1].Index\n\t}\n\n\tif cfg.Logger != nil {\n\t\tcfg.Logger.Info(\n\t\t\t\"forcing restart member\",\n\t\t\tzap.String(\"cluster-id\", cid.String()),\n\t\t\tzap.String(\"local-member-id\", id.String()),\n\t\t\tzap.Uint64(\"commit-index\", st.Commit),\n\t\t)\n\t} else {\n\t\tplog.Printf(\"forcing restart of member %s in cluster %s at commit index %d\", id, cid, st.Commit)\n\t}\n\n\tcl := membership.NewCluster(cfg.Logger, \"\")\n\tcl.SetID(id, cid)\n\ts := raft.NewMemoryStorage()\n\tif snapshot != nil {\n\t\ts.ApplySnapshot(*snapshot)\n\t}\n\ts.SetHardState(st)\n\ts.Append(ents)\n\tc := &raft.Config{\n\t\tID:              uint64(id),\n\t\tElectionTick:    cfg.ElectionTicks,\n\t\tHeartbeatTick:   1,\n\t\tStorage:         s,\n\t\tMaxSizePerMsg:   maxSizePerMsg,\n\t\tMaxInflightMsgs: maxInflightMsgs,\n\t\tCheckQuorum:     true,\n\t\tPreVote:         cfg.PreVote,\n\t}\n\tif cfg.Logger != nil {\n\t\t// called after capnslog setting in \"init\" function\n\t\tif cfg.LoggerConfig != nil {\n\t\t\tc.Logger, err = logutil.NewRaftLogger(cfg.LoggerConfig)\n\t\t\tif err != nil {\n\t\t\t\tlog.Fatalf(\"cannot create raft logger %v\", err)\n\t\t\t}\n\t\t} else if cfg.LoggerCore != nil && cfg.LoggerWriteSyncer != nil {\n\t\t\tc.Logger = logutil.NewRaftLoggerFromZapCore(cfg.LoggerCore, cfg.LoggerWriteSyncer)\n\t\t}\n\t}\n\n\tn := raft.RestartNode(c)\n\traftStatus = n.Status\n\treturn id, cl, n, s, w\n}\n\n// getIDs returns an ordered set of IDs included in the given snapshot and\n// the entries. The given snapshot/entries can contain two kinds of\n// ID-related entry:\n// - ConfChangeAddNode, in which case the contained ID will be added into the set.\n// - ConfChangeRemoveNode, in which case the contained ID will be removed from the set.\nfunc getIDs(lg *zap.Logger, snap *raftpb.Snapshot, ents []raftpb.Entry) []uint64 {\n\tids := make(map[uint64]bool)\n\tif snap != nil {\n\t\tfor _, id := range snap.Metadata.ConfState.Nodes {\n\t\t\tids[id] = true\n\t\t}\n\t}\n\tfor _, e := range ents {\n\t\tif e.Type != raftpb.EntryConfChange {\n\t\t\tcontinue\n\t\t}\n\t\tvar cc raftpb.ConfChange\n\t\tpbutil.MustUnmarshal(&cc, e.Data)\n\t\tswitch cc.Type {\n\t\tcase raftpb.ConfChangeAddNode:\n\t\t\tids[cc.NodeID] = true\n\t\tcase raftpb.ConfChangeRemoveNode:\n\t\t\tdelete(ids, cc.NodeID)\n\t\tcase raftpb.ConfChangeUpdateNode:\n\t\t\t// do nothing\n\t\tdefault:\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"unknown ConfChange Type\", zap.String(\"type\", cc.Type.String()))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"ConfChange Type should be either ConfChangeAddNode or ConfChangeRemoveNode!\")\n\t\t\t}\n\t\t}\n\t}\n\tsids := make(types.Uint64Slice, 0, len(ids))\n\tfor id := range ids {\n\t\tsids = append(sids, id)\n\t}\n\tsort.Sort(sids)\n\treturn []uint64(sids)\n}\n\n// createConfigChangeEnts creates a series of Raft entries (i.e.\n// EntryConfChange) to remove the set of given IDs from the cluster. The ID\n// `self` is _not_ removed, even if present in the set.\n// If `self` is not inside the given ids, it creates a Raft entry to add a\n// default member with the given `self`.\nfunc createConfigChangeEnts(lg *zap.Logger, ids []uint64, self uint64, term, index uint64) []raftpb.Entry {\n\tents := make([]raftpb.Entry, 0)\n\tnext := index + 1\n\tfound := false\n\tfor _, id := range ids {\n\t\tif id == self {\n\t\t\tfound = true\n\t\t\tcontinue\n\t\t}\n\t\tcc := &raftpb.ConfChange{\n\t\t\tType:   raftpb.ConfChangeRemoveNode,\n\t\t\tNodeID: id,\n\t\t}\n\t\te := raftpb.Entry{\n\t\t\tType:  raftpb.EntryConfChange,\n\t\t\tData:  pbutil.MustMarshal(cc),\n\t\t\tTerm:  term,\n\t\t\tIndex: next,\n\t\t}\n\t\tents = append(ents, e)\n\t\tnext++\n\t}\n\tif !found {\n\t\tm := membership.Member{\n\t\t\tID:             types.ID(self),\n\t\t\tRaftAttributes: membership.RaftAttributes{PeerURLs: []string{\"http://localhost:2380\"}},\n\t\t}\n\t\tctx, err := json.Marshal(m)\n\t\tif err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"failed to marshal member\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"marshal member should never fail: %v\", err)\n\t\t\t}\n\t\t}\n\t\tcc := &raftpb.ConfChange{\n\t\t\tType:    raftpb.ConfChangeAddNode,\n\t\t\tNodeID:  self,\n\t\t\tContext: ctx,\n\t\t}\n\t\te := raftpb.Entry{\n\t\t\tType:  raftpb.EntryConfChange,\n\t\t\tData:  pbutil.MustMarshal(cc),\n\t\t\tTerm:  term,\n\t\t\tIndex: next,\n\t\t}\n\t\tents = append(ents, e)\n\t}\n\treturn ents\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/server.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"expvar\"\n\t\"fmt\"\n\t\"math\"\n\t\"math/rand\"\n\t\"net/http\"\n\t\"os\"\n\t\"path\"\n\t\"regexp\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/auth\"\n\t\"github.com/coreos/etcd/etcdserver/api\"\n\t\"github.com/coreos/etcd/etcdserver/api/membership\"\n\t\"github.com/coreos/etcd/etcdserver/api/rafthttp\"\n\t\"github.com/coreos/etcd/etcdserver/api/snap\"\n\t\"github.com/coreos/etcd/etcdserver/api/v2discovery\"\n\t\"github.com/coreos/etcd/etcdserver/api/v2http/httptypes\"\n\tstats \"github.com/coreos/etcd/etcdserver/api/v2stats\"\n\t\"github.com/coreos/etcd/etcdserver/api/v2store\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3alarm\"\n\t\"github.com/coreos/etcd/etcdserver/api/v3compactor\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/lease\"\n\t\"github.com/coreos/etcd/lease/leasehttp\"\n\t\"github.com/coreos/etcd/mvcc\"\n\t\"github.com/coreos/etcd/mvcc/backend\"\n\t\"github.com/coreos/etcd/pkg/fileutil\"\n\t\"github.com/coreos/etcd/pkg/idutil\"\n\t\"github.com/coreos/etcd/pkg/pbutil\"\n\t\"github.com/coreos/etcd/pkg/runtime\"\n\t\"github.com/coreos/etcd/pkg/schedule\"\n\t\"github.com/coreos/etcd/pkg/types\"\n\t\"github.com/coreos/etcd/pkg/wait\"\n\t\"github.com/coreos/etcd/raft\"\n\t\"github.com/coreos/etcd/raft/raftpb\"\n\t\"github.com/coreos/etcd/version\"\n\t\"github.com/coreos/etcd/wal\"\n\n\t\"github.com/coreos/go-semver/semver\"\n\t\"github.com/coreos/pkg/capnslog\"\n\thumanize \"github.com/dustin/go-humanize\"\n\t\"go.uber.org/zap\"\n)\n\nconst (\n\tDefaultSnapshotCount = 100000\n\n\t// DefaultSnapshotCatchUpEntries is the number of entries for a slow follower\n\t// to catch-up after compacting the raft storage entries.\n\t// We expect the follower has a millisecond level latency with the leader.\n\t// The max throughput is around 10K. Keep a 5K entries is enough for helping\n\t// follower to catch up.\n\tDefaultSnapshotCatchUpEntries uint64 = 5000\n\n\tStoreClusterPrefix = \"/0\"\n\tStoreKeysPrefix    = \"/1\"\n\n\t// HealthInterval is the minimum time the cluster should be healthy\n\t// before accepting add member requests.\n\tHealthInterval = 5 * time.Second\n\n\tpurgeFileInterval = 30 * time.Second\n\t// monitorVersionInterval should be smaller than the timeout\n\t// on the connection. Or we will not be able to reuse the connection\n\t// (since it will timeout).\n\tmonitorVersionInterval = rafthttp.ConnWriteTimeout - time.Second\n\n\t// max number of in-flight snapshot messages etcdserver allows to have\n\t// This number is more than enough for most clusters with 5 machines.\n\tmaxInFlightMsgSnap = 16\n\n\treleaseDelayAfterSnapshot = 30 * time.Second\n\n\t// maxPendingRevokes is the maximum number of outstanding expired lease revocations.\n\tmaxPendingRevokes = 16\n\n\trecommendedMaxRequestBytes = 10 * 1024 * 1024\n)\n\nvar (\n\tplog = capnslog.NewPackageLogger(\"github.com/coreos/etcd\", \"etcdserver\")\n\n\tstoreMemberAttributeRegexp = regexp.MustCompile(path.Join(membership.StoreMembersPrefix, \"[[:xdigit:]]{1,16}\", \"attributes\"))\n)\n\nfunc init() {\n\trand.Seed(time.Now().UnixNano())\n\n\texpvar.Publish(\n\t\t\"file_descriptor_limit\",\n\t\texpvar.Func(\n\t\t\tfunc() interface{} {\n\t\t\t\tn, _ := runtime.FDLimit()\n\t\t\t\treturn n\n\t\t\t},\n\t\t),\n\t)\n}\n\ntype Response struct {\n\tTerm    uint64\n\tIndex   uint64\n\tEvent   *v2store.Event\n\tWatcher v2store.Watcher\n\tErr     error\n}\n\ntype ServerV2 interface {\n\tServer\n\tLeader() types.ID\n\n\t// Do takes a V2 request and attempts to fulfill it, returning a Response.\n\tDo(ctx context.Context, r pb.Request) (Response, error)\n\tstats.Stats\n\tClientCertAuthEnabled() bool\n}\n\ntype ServerV3 interface {\n\tServer\n\tRaftStatusGetter\n}\n\nfunc (s *EtcdServer) ClientCertAuthEnabled() bool { return s.Cfg.ClientCertAuthEnabled }\n\ntype Server interface {\n\t// AddMember attempts to add a member into the cluster. It will return\n\t// ErrIDRemoved if member ID is removed from the cluster, or return\n\t// ErrIDExists if member ID exists in the cluster.\n\tAddMember(ctx context.Context, memb membership.Member) ([]*membership.Member, error)\n\t// RemoveMember attempts to remove a member from the cluster. It will\n\t// return ErrIDRemoved if member ID is removed from the cluster, or return\n\t// ErrIDNotFound if member ID is not in the cluster.\n\tRemoveMember(ctx context.Context, id uint64) ([]*membership.Member, error)\n\t// UpdateMember attempts to update an existing member in the cluster. It will\n\t// return ErrIDNotFound if the member ID does not exist.\n\tUpdateMember(ctx context.Context, updateMemb membership.Member) ([]*membership.Member, error)\n\n\t// ClusterVersion is the cluster-wide minimum major.minor version.\n\t// Cluster version is set to the min version that an etcd member is\n\t// compatible with when first bootstrap.\n\t//\n\t// ClusterVersion is nil until the cluster is bootstrapped (has a quorum).\n\t//\n\t// During a rolling upgrades, the ClusterVersion will be updated\n\t// automatically after a sync. (5 second by default)\n\t//\n\t// The API/raft component can utilize ClusterVersion to determine if\n\t// it can accept a client request or a raft RPC.\n\t// NOTE: ClusterVersion might be nil when etcd 2.1 works with etcd 2.0 and\n\t// the leader is etcd 2.0. etcd 2.0 leader will not update clusterVersion since\n\t// this feature is introduced post 2.0.\n\tClusterVersion() *semver.Version\n\tCluster() api.Cluster\n\tAlarms() []*pb.AlarmMember\n}\n\n// EtcdServer is the production implementation of the Server interface\ntype EtcdServer struct {\n\t// inflightSnapshots holds count the number of snapshots currently inflight.\n\tinflightSnapshots int64  // must use atomic operations to access; keep 64-bit aligned.\n\tappliedIndex      uint64 // must use atomic operations to access; keep 64-bit aligned.\n\tcommittedIndex    uint64 // must use atomic operations to access; keep 64-bit aligned.\n\tterm              uint64 // must use atomic operations to access; keep 64-bit aligned.\n\tlead              uint64 // must use atomic operations to access; keep 64-bit aligned.\n\n\t// consistIndex used to hold the offset of current executing entry\n\t// It is initialized to 0 before executing any entry.\n\tconsistIndex consistentIndex // must use atomic operations to access; keep 64-bit aligned.\n\tr            raftNode        // uses 64-bit atomics; keep 64-bit aligned.\n\n\treadych chan struct{}\n\tCfg     ServerConfig\n\n\tlgMu *sync.RWMutex\n\tlg   *zap.Logger\n\n\tw wait.Wait\n\n\treadMu sync.RWMutex\n\t// read routine notifies etcd server that it waits for reading by sending an empty struct to\n\t// readwaitC\n\treadwaitc chan struct{}\n\t// readNotifier is used to notify the read routine that it can process the request\n\t// when there is no error\n\treadNotifier *notifier\n\n\t// stop signals the run goroutine should shutdown.\n\tstop chan struct{}\n\t// stopping is closed by run goroutine on shutdown.\n\tstopping chan struct{}\n\t// done is closed when all goroutines from start() complete.\n\tdone chan struct{}\n\n\terrorc     chan error\n\tid         types.ID\n\tattributes membership.Attributes\n\n\tcluster *membership.RaftCluster\n\n\tv2store     v2store.Store\n\tsnapshotter *snap.Snapshotter\n\n\tapplyV2 ApplierV2\n\n\t// applyV3 is the applier with auth and quotas\n\tapplyV3 applierV3\n\t// applyV3Base is the core applier without auth or quotas\n\tapplyV3Base applierV3\n\tapplyWait   wait.WaitTime\n\n\tkv         mvcc.ConsistentWatchableKV\n\tlessor     lease.Lessor\n\tbemu       sync.Mutex\n\tbe         backend.Backend\n\tauthStore  auth.AuthStore\n\talarmStore *v3alarm.AlarmStore\n\n\tstats  *stats.ServerStats\n\tlstats *stats.LeaderStats\n\n\tSyncTicker *time.Ticker\n\t// compactor is used to auto-compact the KV.\n\tcompactor v3compactor.Compactor\n\n\t// peerRt used to send requests (version, lease) to peers.\n\tpeerRt   http.RoundTripper\n\treqIDGen *idutil.Generator\n\n\t// forceVersionC is used to force the version monitor loop\n\t// to detect the cluster version immediately.\n\tforceVersionC chan struct{}\n\n\t// wgMu blocks concurrent waitgroup mutation while server stopping\n\twgMu sync.RWMutex\n\t// wg is used to wait for the go routines that depends on the server state\n\t// to exit when stopping the server.\n\twg sync.WaitGroup\n\n\t// ctx is used for etcd-initiated requests that may need to be canceled\n\t// on etcd server shutdown.\n\tctx    context.Context\n\tcancel context.CancelFunc\n\n\tleadTimeMu      sync.RWMutex\n\tleadElectedTime time.Time\n\n\t*AccessController\n}\n\n// NewServer creates a new EtcdServer from the supplied configuration. The\n// configuration is considered static for the lifetime of the EtcdServer.\nfunc NewServer(cfg ServerConfig) (srv *EtcdServer, err error) {\n\tst := v2store.New(StoreClusterPrefix, StoreKeysPrefix)\n\n\tvar (\n\t\tw  *wal.WAL\n\t\tn  raft.Node\n\t\ts  *raft.MemoryStorage\n\t\tid types.ID\n\t\tcl *membership.RaftCluster\n\t)\n\n\tif cfg.MaxRequestBytes > recommendedMaxRequestBytes {\n\t\tif cfg.Logger != nil {\n\t\t\tcfg.Logger.Warn(\n\t\t\t\t\"exceeded recommended requet limit\",\n\t\t\t\tzap.Uint(\"max-request-bytes\", cfg.MaxRequestBytes),\n\t\t\t\tzap.String(\"max-request-size\", humanize.Bytes(uint64(cfg.MaxRequestBytes))),\n\t\t\t\tzap.Int(\"recommended-request-bytes\", recommendedMaxRequestBytes),\n\t\t\t\tzap.String(\"recommended-request-size\", humanize.Bytes(uint64(recommendedMaxRequestBytes))),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Warningf(\"MaxRequestBytes %v exceeds maximum recommended size %v\", cfg.MaxRequestBytes, recommendedMaxRequestBytes)\n\t\t}\n\t}\n\n\tif terr := fileutil.TouchDirAll(cfg.DataDir); terr != nil {\n\t\treturn nil, fmt.Errorf(\"cannot access data directory: %v\", terr)\n\t}\n\n\thaveWAL := wal.Exist(cfg.WALDir())\n\n\tif err = fileutil.TouchDirAll(cfg.SnapDir()); err != nil {\n\t\tif cfg.Logger != nil {\n\t\t\tcfg.Logger.Fatal(\n\t\t\t\t\"failed to create snapshot directory\",\n\t\t\t\tzap.String(\"path\", cfg.SnapDir()),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Fatalf(\"create snapshot directory error: %v\", err)\n\t\t}\n\t}\n\tss := snap.New(cfg.Logger, cfg.SnapDir())\n\n\tbepath := cfg.backendPath()\n\tbeExist := fileutil.Exist(bepath)\n\tbe := openBackend(cfg)\n\n\tdefer func() {\n\t\tif err != nil {\n\t\t\tbe.Close()\n\t\t}\n\t}()\n\n\tprt, err := rafthttp.NewRoundTripper(cfg.PeerTLSInfo, cfg.peerDialTimeout())\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tvar (\n\t\tremotes  []*membership.Member\n\t\tsnapshot *raftpb.Snapshot\n\t)\n\n\tswitch {\n\tcase !haveWAL && !cfg.NewCluster:\n\t\tif err = cfg.VerifyJoinExisting(); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tcl, err = membership.NewClusterFromURLsMap(cfg.Logger, cfg.InitialClusterToken, cfg.InitialPeerURLsMap)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\texistingCluster, gerr := GetClusterFromRemotePeers(cfg.Logger, getRemotePeerURLs(cl, cfg.Name), prt)\n\t\tif gerr != nil {\n\t\t\treturn nil, fmt.Errorf(\"cannot fetch cluster info from peer urls: %v\", gerr)\n\t\t}\n\t\tif err = membership.ValidateClusterAndAssignIDs(cfg.Logger, cl, existingCluster); err != nil {\n\t\t\treturn nil, fmt.Errorf(\"error validating peerURLs %s: %v\", existingCluster, err)\n\t\t}\n\t\tif !isCompatibleWithCluster(cfg.Logger, cl, cl.MemberByName(cfg.Name).ID, prt) {\n\t\t\treturn nil, fmt.Errorf(\"incompatible with current running cluster\")\n\t\t}\n\n\t\tremotes = existingCluster.Members()\n\t\tcl.SetID(types.ID(0), existingCluster.ID())\n\t\tcl.SetStore(st)\n\t\tcl.SetBackend(be)\n\t\tcfg.Print()\n\t\tid, n, s, w = startNode(cfg, cl, nil)\n\t\tcl.SetID(id, existingCluster.ID())\n\n\tcase !haveWAL && cfg.NewCluster:\n\t\tif err = cfg.VerifyBootstrap(); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tcl, err = membership.NewClusterFromURLsMap(cfg.Logger, cfg.InitialClusterToken, cfg.InitialPeerURLsMap)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tm := cl.MemberByName(cfg.Name)\n\t\tif isMemberBootstrapped(cfg.Logger, cl, cfg.Name, prt, cfg.bootstrapTimeout()) {\n\t\t\treturn nil, fmt.Errorf(\"member %s has already been bootstrapped\", m.ID)\n\t\t}\n\t\tif cfg.ShouldDiscover() {\n\t\t\tvar str string\n\t\t\tstr, err = v2discovery.JoinCluster(cfg.Logger, cfg.DiscoveryURL, cfg.DiscoveryProxy, m.ID, cfg.InitialPeerURLsMap.String())\n\t\t\tif err != nil {\n\t\t\t\treturn nil, &DiscoveryError{Op: \"join\", Err: err}\n\t\t\t}\n\t\t\tvar urlsmap types.URLsMap\n\t\t\turlsmap, err = types.NewURLsMap(str)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tif checkDuplicateURL(urlsmap) {\n\t\t\t\treturn nil, fmt.Errorf(\"discovery cluster %s has duplicate url\", urlsmap)\n\t\t\t}\n\t\t\tif cl, err = membership.NewClusterFromURLsMap(cfg.Logger, cfg.InitialClusterToken, urlsmap); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\tcl.SetStore(st)\n\t\tcl.SetBackend(be)\n\t\tcfg.PrintWithInitial()\n\t\tid, n, s, w = startNode(cfg, cl, cl.MemberIDs())\n\t\tcl.SetID(id, cl.ID())\n\n\tcase haveWAL:\n\t\tif err = fileutil.IsDirWriteable(cfg.MemberDir()); err != nil {\n\t\t\treturn nil, fmt.Errorf(\"cannot write to member directory: %v\", err)\n\t\t}\n\n\t\tif err = fileutil.IsDirWriteable(cfg.WALDir()); err != nil {\n\t\t\treturn nil, fmt.Errorf(\"cannot write to WAL directory: %v\", err)\n\t\t}\n\n\t\tif cfg.ShouldDiscover() {\n\t\t\tif cfg.Logger != nil {\n\t\t\t\tcfg.Logger.Warn(\n\t\t\t\t\t\"discovery token is ignored since cluster already initialized; valid logs are found\",\n\t\t\t\t\tzap.String(\"wal-dir\", cfg.WALDir()),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"discovery token ignored since a cluster has already been initialized. Valid log found at %q\", cfg.WALDir())\n\t\t\t}\n\t\t}\n\t\tsnapshot, err = ss.Load()\n\t\tif err != nil && err != snap.ErrNoSnapshot {\n\t\t\treturn nil, err\n\t\t}\n\t\tif snapshot != nil {\n\t\t\tif err = st.Recovery(snapshot.Data); err != nil {\n\t\t\t\tif cfg.Logger != nil {\n\t\t\t\t\tcfg.Logger.Panic(\"failed to recover from snapshot\")\n\t\t\t\t} else {\n\t\t\t\t\tplog.Panicf(\"recovered store from snapshot error: %v\", err)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif cfg.Logger != nil {\n\t\t\t\tcfg.Logger.Info(\n\t\t\t\t\t\"recovered v2 store from snapshot\",\n\t\t\t\t\tzap.Uint64(\"snapshot-index\", snapshot.Metadata.Index),\n\t\t\t\t\tzap.String(\"snapshot-size\", humanize.Bytes(uint64(snapshot.Size()))),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Infof(\"recovered store from snapshot at index %d\", snapshot.Metadata.Index)\n\t\t\t}\n\n\t\t\tif be, err = recoverSnapshotBackend(cfg, be, *snapshot); err != nil {\n\t\t\t\tif cfg.Logger != nil {\n\t\t\t\t\tcfg.Logger.Panic(\"failed to recover v3 backend from snapshot\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Panicf(\"recovering backend from snapshot error: %v\", err)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif cfg.Logger != nil {\n\t\t\t\ts1, s2 := be.Size(), be.SizeInUse()\n\t\t\t\tcfg.Logger.Info(\n\t\t\t\t\t\"recovered v3 backend from snapshot\",\n\t\t\t\t\tzap.Int64(\"backend-size-bytes\", s1),\n\t\t\t\t\tzap.String(\"backend-size\", humanize.Bytes(uint64(s1))),\n\t\t\t\t\tzap.Int64(\"backend-size-in-use-bytes\", s2),\n\t\t\t\t\tzap.String(\"backend-size-in-use\", humanize.Bytes(uint64(s2))),\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\tcfg.Print()\n\n\t\tif !cfg.ForceNewCluster {\n\t\t\tid, cl, n, s, w = restartNode(cfg, snapshot)\n\t\t} else {\n\t\t\tid, cl, n, s, w = restartAsStandaloneNode(cfg, snapshot)\n\t\t}\n\n\t\tcl.SetStore(st)\n\t\tcl.SetBackend(be)\n\t\tcl.Recover(api.UpdateCapability)\n\t\tif cl.Version() != nil && !cl.Version().LessThan(semver.Version{Major: 3}) && !beExist {\n\t\t\tos.RemoveAll(bepath)\n\t\t\treturn nil, fmt.Errorf(\"database file (%v) of the backend is missing\", bepath)\n\t\t}\n\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"unsupported bootstrap config\")\n\t}\n\n\tif terr := fileutil.TouchDirAll(cfg.MemberDir()); terr != nil {\n\t\treturn nil, fmt.Errorf(\"cannot access member directory: %v\", terr)\n\t}\n\n\tsstats := stats.NewServerStats(cfg.Name, id.String())\n\tlstats := stats.NewLeaderStats(id.String())\n\n\theartbeat := time.Duration(cfg.TickMs) * time.Millisecond\n\tsrv = &EtcdServer{\n\t\treadych:     make(chan struct{}),\n\t\tCfg:         cfg,\n\t\tlgMu:        new(sync.RWMutex),\n\t\tlg:          cfg.Logger,\n\t\terrorc:      make(chan error, 1),\n\t\tv2store:     st,\n\t\tsnapshotter: ss,\n\t\tr: *newRaftNode(\n\t\t\traftNodeConfig{\n\t\t\t\tlg:          cfg.Logger,\n\t\t\t\tisIDRemoved: func(id uint64) bool { return cl.IsIDRemoved(types.ID(id)) },\n\t\t\t\tNode:        n,\n\t\t\t\theartbeat:   heartbeat,\n\t\t\t\traftStorage: s,\n\t\t\t\tstorage:     NewStorage(w, ss),\n\t\t\t},\n\t\t),\n\t\tid:               id,\n\t\tattributes:       membership.Attributes{Name: cfg.Name, ClientURLs: cfg.ClientURLs.StringSlice()},\n\t\tcluster:          cl,\n\t\tstats:            sstats,\n\t\tlstats:           lstats,\n\t\tSyncTicker:       time.NewTicker(500 * time.Millisecond),\n\t\tpeerRt:           prt,\n\t\treqIDGen:         idutil.NewGenerator(uint16(id), time.Now()),\n\t\tforceVersionC:    make(chan struct{}),\n\t\tAccessController: &AccessController{CORS: cfg.CORS, HostWhitelist: cfg.HostWhitelist},\n\t}\n\n\tsrv.applyV2 = &applierV2store{store: srv.v2store, cluster: srv.cluster}\n\n\tsrv.be = be\n\tminTTL := time.Duration((3*cfg.ElectionTicks)/2) * heartbeat\n\n\t// always recover lessor before kv. When we recover the mvcc.KV it will reattach keys to its leases.\n\t// If we recover mvcc.KV first, it will attach the keys to the wrong lessor before it recovers.\n\tsrv.lessor = lease.NewLessor(srv.be, int64(math.Ceil(minTTL.Seconds())))\n\tsrv.kv = mvcc.New(srv.getLogger(), srv.be, srv.lessor, &srv.consistIndex)\n\tif beExist {\n\t\tkvindex := srv.kv.ConsistentIndex()\n\t\t// TODO: remove kvindex != 0 checking when we do not expect users to upgrade\n\t\t// etcd from pre-3.0 release.\n\t\tif snapshot != nil && kvindex < snapshot.Metadata.Index {\n\t\t\tif kvindex != 0 {\n\t\t\t\treturn nil, fmt.Errorf(\"database file (%v index %d) does not match with snapshot (index %d)\", bepath, kvindex, snapshot.Metadata.Index)\n\t\t\t}\n\t\t\tif cfg.Logger != nil {\n\t\t\t\tcfg.Logger.Warn(\n\t\t\t\t\t\"consistent index was never saved\",\n\t\t\t\t\tzap.Uint64(\"snapshot-index\", snapshot.Metadata.Index),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"consistent index never saved (snapshot index=%d)\", snapshot.Metadata.Index)\n\t\t\t}\n\t\t}\n\t}\n\tnewSrv := srv // since srv == nil in defer if srv is returned as nil\n\tdefer func() {\n\t\t// closing backend without first closing kv can cause\n\t\t// resumed compactions to fail with closed tx errors\n\t\tif err != nil {\n\t\t\tnewSrv.kv.Close()\n\t\t}\n\t}()\n\n\tsrv.consistIndex.setConsistentIndex(srv.kv.ConsistentIndex())\n\ttp, err := auth.NewTokenProvider(cfg.Logger, cfg.AuthToken,\n\t\tfunc(index uint64) <-chan struct{} {\n\t\t\treturn srv.applyWait.Wait(index)\n\t\t},\n\t)\n\tif err != nil {\n\t\tif cfg.Logger != nil {\n\t\t\tcfg.Logger.Warn(\"failed to create token provider\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Errorf(\"failed to create token provider: %s\", err)\n\t\t}\n\t\treturn nil, err\n\t}\n\tsrv.authStore = auth.NewAuthStore(srv.getLogger(), srv.be, tp, int(cfg.BcryptCost))\n\tif num := cfg.AutoCompactionRetention; num != 0 {\n\t\tsrv.compactor, err = v3compactor.New(cfg.Logger, cfg.AutoCompactionMode, num, srv.kv, srv)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tsrv.compactor.Run()\n\t}\n\n\tsrv.applyV3Base = srv.newApplierV3Backend()\n\tif err = srv.restoreAlarms(); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// TODO: move transport initialization near the definition of remote\n\ttr := &rafthttp.Transport{\n\t\tLogger:      cfg.Logger,\n\t\tTLSInfo:     cfg.PeerTLSInfo,\n\t\tDialTimeout: cfg.peerDialTimeout(),\n\t\tID:          id,\n\t\tURLs:        cfg.PeerURLs,\n\t\tClusterID:   cl.ID(),\n\t\tRaft:        srv,\n\t\tSnapshotter: ss,\n\t\tServerStats: sstats,\n\t\tLeaderStats: lstats,\n\t\tErrorC:      srv.errorc,\n\t}\n\tif err = tr.Start(); err != nil {\n\t\treturn nil, err\n\t}\n\t// add all remotes into transport\n\tfor _, m := range remotes {\n\t\tif m.ID != id {\n\t\t\ttr.AddRemote(m.ID, m.PeerURLs)\n\t\t}\n\t}\n\tfor _, m := range cl.Members() {\n\t\tif m.ID != id {\n\t\t\ttr.AddPeer(m.ID, m.PeerURLs)\n\t\t}\n\t}\n\tsrv.r.transport = tr\n\n\treturn srv, nil\n}\n\nfunc (s *EtcdServer) getLogger() *zap.Logger {\n\ts.lgMu.RLock()\n\tl := s.lg\n\ts.lgMu.RUnlock()\n\treturn l\n}\n\nfunc tickToDur(ticks int, tickMs uint) string {\n\treturn fmt.Sprintf(\"%v\", time.Duration(ticks)*time.Duration(tickMs)*time.Millisecond)\n}\n\nfunc (s *EtcdServer) adjustTicks() {\n\tlg := s.getLogger()\n\tclusterN := len(s.cluster.Members())\n\n\t// single-node fresh start, or single-node recovers from snapshot\n\tif clusterN == 1 {\n\t\tticks := s.Cfg.ElectionTicks - 1\n\t\tif lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"started as single-node; fast-forwarding election ticks\",\n\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\tzap.Int(\"forward-ticks\", ticks),\n\t\t\t\tzap.String(\"forward-duration\", tickToDur(ticks, s.Cfg.TickMs)),\n\t\t\t\tzap.Int(\"election-ticks\", s.Cfg.ElectionTicks),\n\t\t\t\tzap.String(\"election-timeout\", tickToDur(s.Cfg.ElectionTicks, s.Cfg.TickMs)),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Infof(\"%s as single-node; fast-forwarding %d ticks (election ticks %d)\", s.ID(), ticks, s.Cfg.ElectionTicks)\n\t\t}\n\t\ts.r.advanceTicks(ticks)\n\t\treturn\n\t}\n\n\tif !s.Cfg.InitialElectionTickAdvance {\n\t\tif lg != nil {\n\t\t\tlg.Info(\"skipping initial election tick advance\", zap.Int(\"election-ticks\", s.Cfg.ElectionTicks))\n\t\t}\n\t\treturn\n\t}\n\tif lg != nil {\n\t\tlg.Info(\"starting initial election tick advance\", zap.Int(\"election-ticks\", s.Cfg.ElectionTicks))\n\t}\n\n\t// retry up to \"rafthttp.ConnReadTimeout\", which is 5-sec\n\t// until peer connection reports; otherwise:\n\t// 1. all connections failed, or\n\t// 2. no active peers, or\n\t// 3. restarted single-node with no snapshot\n\t// then, do nothing, because advancing ticks would have no effect\n\twaitTime := rafthttp.ConnReadTimeout\n\titv := 50 * time.Millisecond\n\tfor i := int64(0); i < int64(waitTime/itv); i++ {\n\t\tselect {\n\t\tcase <-time.After(itv):\n\t\tcase <-s.stopping:\n\t\t\treturn\n\t\t}\n\n\t\tpeerN := s.r.transport.ActivePeers()\n\t\tif peerN > 1 {\n\t\t\t// multi-node received peer connection reports\n\t\t\t// adjust ticks, in case slow leader message receive\n\t\t\tticks := s.Cfg.ElectionTicks - 2\n\n\t\t\tif lg != nil {\n\t\t\t\tlg.Info(\n\t\t\t\t\t\"initialized peer connections; fast-forwarding election ticks\",\n\t\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\t\tzap.Int(\"forward-ticks\", ticks),\n\t\t\t\t\tzap.String(\"forward-duration\", tickToDur(ticks, s.Cfg.TickMs)),\n\t\t\t\t\tzap.Int(\"election-ticks\", s.Cfg.ElectionTicks),\n\t\t\t\t\tzap.String(\"election-timeout\", tickToDur(s.Cfg.ElectionTicks, s.Cfg.TickMs)),\n\t\t\t\t\tzap.Int(\"active-remote-members\", peerN),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Infof(\"%s initialized peer connection; fast-forwarding %d ticks (election ticks %d) with %d active peer(s)\", s.ID(), ticks, s.Cfg.ElectionTicks, peerN)\n\t\t\t}\n\n\t\t\ts.r.advanceTicks(ticks)\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// Start performs any initialization of the Server necessary for it to\n// begin serving requests. It must be called before Do or Process.\n// Start must be non-blocking; any long-running server functionality\n// should be implemented in goroutines.\nfunc (s *EtcdServer) Start() {\n\ts.start()\n\ts.goAttach(func() { s.adjustTicks() })\n\ts.goAttach(func() { s.publish(s.Cfg.ReqTimeout()) })\n\ts.goAttach(s.purgeFile)\n\ts.goAttach(func() { monitorFileDescriptor(s.stopping) })\n\ts.goAttach(s.monitorVersions)\n\ts.goAttach(s.linearizableReadLoop)\n\ts.goAttach(s.monitorKVHash)\n}\n\n// start prepares and starts server in a new goroutine. It is no longer safe to\n// modify a server's fields after it has been sent to Start.\n// This function is just used for testing.\nfunc (s *EtcdServer) start() {\n\tlg := s.getLogger()\n\n\tif s.Cfg.SnapshotCount == 0 {\n\t\tif lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"updating snapshot-count to default\",\n\t\t\t\tzap.Uint64(\"given-snapshot-count\", s.Cfg.SnapshotCount),\n\t\t\t\tzap.Uint64(\"updated-snapshot-count\", DefaultSnapshotCount),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Infof(\"set snapshot count to default %d\", DefaultSnapshotCount)\n\t\t}\n\t\ts.Cfg.SnapshotCount = DefaultSnapshotCount\n\t}\n\tif s.Cfg.SnapshotCatchUpEntries == 0 {\n\t\tif lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"updating snapshot catch-up entries to default\",\n\t\t\t\tzap.Uint64(\"given-snapshot-catchup-entries\", s.Cfg.SnapshotCatchUpEntries),\n\t\t\t\tzap.Uint64(\"updated-snapshot-catchup-entries\", DefaultSnapshotCatchUpEntries),\n\t\t\t)\n\t\t}\n\t\ts.Cfg.SnapshotCatchUpEntries = DefaultSnapshotCatchUpEntries\n\t}\n\n\ts.w = wait.New()\n\ts.applyWait = wait.NewTimeList()\n\ts.done = make(chan struct{})\n\ts.stop = make(chan struct{})\n\ts.stopping = make(chan struct{})\n\ts.ctx, s.cancel = context.WithCancel(context.Background())\n\ts.readwaitc = make(chan struct{}, 1)\n\ts.readNotifier = newNotifier()\n\tif s.ClusterVersion() != nil {\n\t\tif lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"starting etcd server\",\n\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\tzap.String(\"local-server-version\", version.Version),\n\t\t\t\tzap.String(\"cluster-id\", s.Cluster().ID().String()),\n\t\t\t\tzap.String(\"cluster-version\", version.Cluster(s.ClusterVersion().String())),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Infof(\"starting server... [version: %v, cluster version: %v]\", version.Version, version.Cluster(s.ClusterVersion().String()))\n\t\t}\n\t} else {\n\t\tif lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"starting etcd server\",\n\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\tzap.String(\"local-server-version\", version.Version),\n\t\t\t\tzap.String(\"cluster-version\", \"to_be_decided\"),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Infof(\"starting server... [version: %v, cluster version: to_be_decided]\", version.Version)\n\t\t}\n\t}\n\n\t// TODO: if this is an empty log, writes all peer infos\n\t// into the first entry\n\tgo s.run()\n}\n\nfunc (s *EtcdServer) purgeFile() {\n\tvar dberrc, serrc, werrc <-chan error\n\tif s.Cfg.MaxSnapFiles > 0 {\n\t\tdberrc = fileutil.PurgeFile(s.getLogger(), s.Cfg.SnapDir(), \"snap.db\", s.Cfg.MaxSnapFiles, purgeFileInterval, s.done)\n\t\tserrc = fileutil.PurgeFile(s.getLogger(), s.Cfg.SnapDir(), \"snap\", s.Cfg.MaxSnapFiles, purgeFileInterval, s.done)\n\t}\n\tif s.Cfg.MaxWALFiles > 0 {\n\t\twerrc = fileutil.PurgeFile(s.getLogger(), s.Cfg.WALDir(), \"wal\", s.Cfg.MaxWALFiles, purgeFileInterval, s.done)\n\t}\n\n\tlg := s.getLogger()\n\tselect {\n\tcase e := <-dberrc:\n\t\tif lg != nil {\n\t\t\tlg.Fatal(\"failed to purge snap db file\", zap.Error(e))\n\t\t} else {\n\t\t\tplog.Fatalf(\"failed to purge snap db file %v\", e)\n\t\t}\n\tcase e := <-serrc:\n\t\tif lg != nil {\n\t\t\tlg.Fatal(\"failed to purge snap file\", zap.Error(e))\n\t\t} else {\n\t\t\tplog.Fatalf(\"failed to purge snap file %v\", e)\n\t\t}\n\tcase e := <-werrc:\n\t\tif lg != nil {\n\t\t\tlg.Fatal(\"failed to purge wal file\", zap.Error(e))\n\t\t} else {\n\t\t\tplog.Fatalf(\"failed to purge wal file %v\", e)\n\t\t}\n\tcase <-s.stopping:\n\t\treturn\n\t}\n}\n\nfunc (s *EtcdServer) Cluster() api.Cluster { return s.cluster }\n\nfunc (s *EtcdServer) ApplyWait() <-chan struct{} { return s.applyWait.Wait(s.getCommittedIndex()) }\n\ntype ServerPeer interface {\n\tServerV2\n\tRaftHandler() http.Handler\n\tLeaseHandler() http.Handler\n}\n\nfunc (s *EtcdServer) LeaseHandler() http.Handler {\n\tif s.lessor == nil {\n\t\treturn nil\n\t}\n\treturn leasehttp.NewHandler(s.lessor, s.ApplyWait)\n}\n\nfunc (s *EtcdServer) RaftHandler() http.Handler { return s.r.transport.Handler() }\n\n// Process takes a raft message and applies it to the server's raft state\n// machine, respecting any timeout of the given context.\nfunc (s *EtcdServer) Process(ctx context.Context, m raftpb.Message) error {\n\tif s.cluster.IsIDRemoved(types.ID(m.From)) {\n\t\tif lg := s.getLogger(); lg != nil {\n\t\t\tlg.Warn(\n\t\t\t\t\"rejected Raft message from removed member\",\n\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\tzap.String(\"removed-member-id\", types.ID(m.From).String()),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Warningf(\"reject message from removed member %s\", types.ID(m.From).String())\n\t\t}\n\t\treturn httptypes.NewHTTPError(http.StatusForbidden, \"cannot process message from removed member\")\n\t}\n\tif m.Type == raftpb.MsgApp {\n\t\ts.stats.RecvAppendReq(types.ID(m.From).String(), m.Size())\n\t}\n\treturn s.r.Step(ctx, m)\n}\n\nfunc (s *EtcdServer) IsIDRemoved(id uint64) bool { return s.cluster.IsIDRemoved(types.ID(id)) }\n\nfunc (s *EtcdServer) ReportUnreachable(id uint64) { s.r.ReportUnreachable(id) }\n\n// ReportSnapshot reports snapshot sent status to the raft state machine,\n// and clears the used snapshot from the snapshot store.\nfunc (s *EtcdServer) ReportSnapshot(id uint64, status raft.SnapshotStatus) {\n\ts.r.ReportSnapshot(id, status)\n}\n\ntype etcdProgress struct {\n\tconfState raftpb.ConfState\n\tsnapi     uint64\n\tappliedt  uint64\n\tappliedi  uint64\n}\n\n// raftReadyHandler contains a set of EtcdServer operations to be called by raftNode,\n// and helps decouple state machine logic from Raft algorithms.\n// TODO: add a state machine interface to apply the commit entries and do snapshot/recover\ntype raftReadyHandler struct {\n\tgetLead              func() (lead uint64)\n\tupdateLead           func(lead uint64)\n\tupdateLeadership     func(newLeader bool)\n\tupdateCommittedIndex func(uint64)\n}\n\nfunc (s *EtcdServer) run() {\n\tlg := s.getLogger()\n\n\tsn, err := s.r.raftStorage.Snapshot()\n\tif err != nil {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\"failed to get snapshot from Raft storage\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Panicf(\"get snapshot from raft storage error: %v\", err)\n\t\t}\n\t}\n\n\t// asynchronously accept apply packets, dispatch progress in-order\n\tsched := schedule.NewFIFOScheduler()\n\n\tvar (\n\t\tsmu   sync.RWMutex\n\t\tsyncC <-chan time.Time\n\t)\n\tsetSyncC := func(ch <-chan time.Time) {\n\t\tsmu.Lock()\n\t\tsyncC = ch\n\t\tsmu.Unlock()\n\t}\n\tgetSyncC := func() (ch <-chan time.Time) {\n\t\tsmu.RLock()\n\t\tch = syncC\n\t\tsmu.RUnlock()\n\t\treturn\n\t}\n\trh := &raftReadyHandler{\n\t\tgetLead:    func() (lead uint64) { return s.getLead() },\n\t\tupdateLead: func(lead uint64) { s.setLead(lead) },\n\t\tupdateLeadership: func(newLeader bool) {\n\t\t\tif !s.isLeader() {\n\t\t\t\tif s.lessor != nil {\n\t\t\t\t\ts.lessor.Demote()\n\t\t\t\t}\n\t\t\t\tif s.compactor != nil {\n\t\t\t\t\ts.compactor.Pause()\n\t\t\t\t}\n\t\t\t\tsetSyncC(nil)\n\t\t\t} else {\n\t\t\t\tif newLeader {\n\t\t\t\t\tt := time.Now()\n\t\t\t\t\ts.leadTimeMu.Lock()\n\t\t\t\t\ts.leadElectedTime = t\n\t\t\t\t\ts.leadTimeMu.Unlock()\n\t\t\t\t}\n\t\t\t\tsetSyncC(s.SyncTicker.C)\n\t\t\t\tif s.compactor != nil {\n\t\t\t\t\ts.compactor.Resume()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// TODO: remove the nil checking\n\t\t\t// current test utility does not provide the stats\n\t\t\tif s.stats != nil {\n\t\t\t\ts.stats.BecomeLeader()\n\t\t\t}\n\t\t},\n\t\tupdateCommittedIndex: func(ci uint64) {\n\t\t\tcci := s.getCommittedIndex()\n\t\t\tif ci > cci {\n\t\t\t\ts.setCommittedIndex(ci)\n\t\t\t}\n\t\t},\n\t}\n\ts.r.start(rh)\n\n\tep := etcdProgress{\n\t\tconfState: sn.Metadata.ConfState,\n\t\tsnapi:     sn.Metadata.Index,\n\t\tappliedt:  sn.Metadata.Term,\n\t\tappliedi:  sn.Metadata.Index,\n\t}\n\n\tdefer func() {\n\t\ts.wgMu.Lock() // block concurrent waitgroup adds in goAttach while stopping\n\t\tclose(s.stopping)\n\t\ts.wgMu.Unlock()\n\t\ts.cancel()\n\n\t\tsched.Stop()\n\n\t\t// wait for gouroutines before closing raft so wal stays open\n\t\ts.wg.Wait()\n\n\t\ts.SyncTicker.Stop()\n\n\t\t// must stop raft after scheduler-- etcdserver can leak rafthttp pipelines\n\t\t// by adding a peer after raft stops the transport\n\t\ts.r.stop()\n\n\t\t// kv, lessor and backend can be nil if running without v3 enabled\n\t\t// or running unit tests.\n\t\tif s.lessor != nil {\n\t\t\ts.lessor.Stop()\n\t\t}\n\t\tif s.kv != nil {\n\t\t\ts.kv.Close()\n\t\t}\n\t\tif s.authStore != nil {\n\t\t\ts.authStore.Close()\n\t\t}\n\t\tif s.be != nil {\n\t\t\ts.be.Close()\n\t\t}\n\t\tif s.compactor != nil {\n\t\t\ts.compactor.Stop()\n\t\t}\n\t\tclose(s.done)\n\t}()\n\n\tvar expiredLeaseC <-chan []*lease.Lease\n\tif s.lessor != nil {\n\t\texpiredLeaseC = s.lessor.ExpiredLeasesC()\n\t}\n\n\tfor {\n\t\tselect {\n\t\tcase ap := <-s.r.apply():\n\t\t\tf := func(context.Context) { s.applyAll(&ep, &ap) }\n\t\t\tsched.Schedule(f)\n\t\tcase leases := <-expiredLeaseC:\n\t\t\ts.goAttach(func() {\n\t\t\t\t// Increases throughput of expired leases deletion process through parallelization\n\t\t\t\tc := make(chan struct{}, maxPendingRevokes)\n\t\t\t\tfor _, lease := range leases {\n\t\t\t\t\tselect {\n\t\t\t\t\tcase c <- struct{}{}:\n\t\t\t\t\tcase <-s.stopping:\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tlid := lease.ID\n\t\t\t\t\ts.goAttach(func() {\n\t\t\t\t\t\tctx := s.authStore.WithRoot(s.ctx)\n\t\t\t\t\t\t_, lerr := s.LeaseRevoke(ctx, &pb.LeaseRevokeRequest{ID: int64(lid)})\n\t\t\t\t\t\tif lerr == nil {\n\t\t\t\t\t\t\tleaseExpired.Inc()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif lg != nil {\n\t\t\t\t\t\t\t\tlg.Warn(\n\t\t\t\t\t\t\t\t\t\"failed to revoke lease\",\n\t\t\t\t\t\t\t\t\tzap.String(\"lease-id\", fmt.Sprintf(\"%016x\", lid)),\n\t\t\t\t\t\t\t\t\tzap.Error(lerr),\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\tplog.Warningf(\"failed to revoke %016x (%q)\", lid, lerr.Error())\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t<-c\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\tcase err := <-s.errorc:\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\"server error\", zap.Error(err))\n\t\t\t\tlg.Warn(\"data-dir used by this member must be removed\")\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"%s\", err)\n\t\t\t\tplog.Infof(\"the data-dir used by this member must be removed.\")\n\t\t\t}\n\t\t\treturn\n\t\tcase <-getSyncC():\n\t\t\tif s.v2store.HasTTLKeys() {\n\t\t\t\ts.sync(s.Cfg.ReqTimeout())\n\t\t\t}\n\t\tcase <-s.stop:\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (s *EtcdServer) applyAll(ep *etcdProgress, apply *apply) {\n\ts.applySnapshot(ep, apply)\n\ts.applyEntries(ep, apply)\n\n\tproposalsApplied.Set(float64(ep.appliedi))\n\ts.applyWait.Trigger(ep.appliedi)\n\n\t// wait for the raft routine to finish the disk writes before triggering a\n\t// snapshot. or applied index might be greater than the last index in raft\n\t// storage, since the raft routine might be slower than apply routine.\n\t<-apply.notifyc\n\n\ts.triggerSnapshot(ep)\n\tselect {\n\t// snapshot requested via send()\n\tcase m := <-s.r.msgSnapC:\n\t\tmerged := s.createMergedSnapshotMessage(m, ep.appliedt, ep.appliedi, ep.confState)\n\t\ts.sendMergedSnap(merged)\n\tdefault:\n\t}\n}\n\nfunc (s *EtcdServer) applySnapshot(ep *etcdProgress, apply *apply) {\n\tif raft.IsEmptySnap(apply.snapshot) {\n\t\treturn\n\t}\n\n\tlg := s.getLogger()\n\tif lg != nil {\n\t\tlg.Info(\n\t\t\t\"applying snapshot\",\n\t\t\tzap.Uint64(\"current-snapshot-index\", ep.snapi),\n\t\t\tzap.Uint64(\"current-applied-index\", ep.appliedi),\n\t\t\tzap.Uint64(\"incoming-leader-snapshot-index\", apply.snapshot.Metadata.Index),\n\t\t\tzap.Uint64(\"incoming-leader-snapshot-term\", apply.snapshot.Metadata.Term),\n\t\t)\n\t} else {\n\t\tplog.Infof(\"applying snapshot at index %d...\", ep.snapi)\n\t}\n\tdefer func() {\n\t\tif lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"applied snapshot\",\n\t\t\t\tzap.Uint64(\"current-snapshot-index\", ep.snapi),\n\t\t\t\tzap.Uint64(\"current-applied-index\", ep.appliedi),\n\t\t\t\tzap.Uint64(\"incoming-leader-snapshot-index\", apply.snapshot.Metadata.Index),\n\t\t\t\tzap.Uint64(\"incoming-leader-snapshot-term\", apply.snapshot.Metadata.Term),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Infof(\"finished applying incoming snapshot at index %d\", ep.snapi)\n\t\t}\n\t}()\n\n\tif apply.snapshot.Metadata.Index <= ep.appliedi {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\n\t\t\t\t\"unexpected leader snapshot from outdated index\",\n\t\t\t\tzap.Uint64(\"current-snapshot-index\", ep.snapi),\n\t\t\t\tzap.Uint64(\"current-applied-index\", ep.appliedi),\n\t\t\t\tzap.Uint64(\"incoming-leader-snapshot-index\", apply.snapshot.Metadata.Index),\n\t\t\t\tzap.Uint64(\"incoming-leader-snapshot-term\", apply.snapshot.Metadata.Term),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Panicf(\"snapshot index [%d] should > appliedi[%d] + 1\",\n\t\t\t\tapply.snapshot.Metadata.Index, ep.appliedi)\n\t\t}\n\t}\n\n\t// wait for raftNode to persist snapshot onto the disk\n\t<-apply.notifyc\n\n\tnewbe, err := openSnapshotBackend(s.Cfg, s.snapshotter, apply.snapshot)\n\tif err != nil {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\"failed to open snapshot backend\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Panic(err)\n\t\t}\n\t}\n\n\t// always recover lessor before kv. When we recover the mvcc.KV it will reattach keys to its leases.\n\t// If we recover mvcc.KV first, it will attach the keys to the wrong lessor before it recovers.\n\tif s.lessor != nil {\n\t\tif lg != nil {\n\t\t\tlg.Info(\"restoring lease store\")\n\t\t} else {\n\t\t\tplog.Info(\"recovering lessor...\")\n\t\t}\n\n\t\ts.lessor.Recover(newbe, func() lease.TxnDelete { return s.kv.Write() })\n\n\t\tif lg != nil {\n\t\t\tlg.Info(\"restored lease store\")\n\t\t} else {\n\t\t\tplog.Info(\"finished recovering lessor\")\n\t\t}\n\t}\n\n\tif lg != nil {\n\t\tlg.Info(\"restoring mvcc store\")\n\t} else {\n\t\tplog.Info(\"restoring mvcc store...\")\n\t}\n\n\tif err := s.kv.Restore(newbe); err != nil {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\"failed to restore mvcc store\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Panicf(\"restore KV error: %v\", err)\n\t\t}\n\t}\n\n\ts.consistIndex.setConsistentIndex(s.kv.ConsistentIndex())\n\tif lg != nil {\n\t\tlg.Info(\"restored mvcc store\")\n\t} else {\n\t\tplog.Info(\"finished restoring mvcc store\")\n\t}\n\n\t// Closing old backend might block until all the txns\n\t// on the backend are finished.\n\t// We do not want to wait on closing the old backend.\n\ts.bemu.Lock()\n\toldbe := s.be\n\tgo func() {\n\t\tif lg != nil {\n\t\t\tlg.Info(\"closing old backend file\")\n\t\t} else {\n\t\t\tplog.Info(\"closing old backend...\")\n\t\t}\n\t\tdefer func() {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Info(\"closed old backend file\")\n\t\t\t} else {\n\t\t\t\tplog.Info(\"finished closing old backend\")\n\t\t\t}\n\t\t}()\n\t\tif err := oldbe.Close(); err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"failed to close old backend\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"close backend error: %v\", err)\n\t\t\t}\n\t\t}\n\t}()\n\n\ts.be = newbe\n\ts.bemu.Unlock()\n\n\tif lg != nil {\n\t\tlg.Info(\"restoring alarm store\")\n\t} else {\n\t\tplog.Info(\"recovering alarms...\")\n\t}\n\n\tif err := s.restoreAlarms(); err != nil {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\"failed to restore alarm store\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Panicf(\"restore alarms error: %v\", err)\n\t\t}\n\t}\n\n\tif lg != nil {\n\t\tlg.Info(\"restored alarm store\")\n\t} else {\n\t\tplog.Info(\"finished recovering alarms\")\n\t}\n\n\tif s.authStore != nil {\n\t\tif lg != nil {\n\t\t\tlg.Info(\"restoring auth store\")\n\t\t} else {\n\t\t\tplog.Info(\"recovering auth store...\")\n\t\t}\n\n\t\ts.authStore.Recover(newbe)\n\n\t\tif lg != nil {\n\t\t\tlg.Info(\"restored auth store\")\n\t\t} else {\n\t\t\tplog.Info(\"finished recovering auth store\")\n\t\t}\n\t}\n\n\tif lg != nil {\n\t\tlg.Info(\"restoring v2 store\")\n\t} else {\n\t\tplog.Info(\"recovering store v2...\")\n\t}\n\tif err := s.v2store.Recovery(apply.snapshot.Data); err != nil {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\"failed to restore v2 store\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Panicf(\"recovery store error: %v\", err)\n\t\t}\n\t}\n\n\tif lg != nil {\n\t\tlg.Info(\"restored v2 store\")\n\t} else {\n\t\tplog.Info(\"finished recovering store v2\")\n\t}\n\n\ts.cluster.SetBackend(s.be)\n\n\tif lg != nil {\n\t\tlg.Info(\"restoring cluster configuration\")\n\t} else {\n\t\tplog.Info(\"recovering cluster configuration...\")\n\t}\n\n\ts.cluster.Recover(api.UpdateCapability)\n\n\tif lg != nil {\n\t\tlg.Info(\"restored cluster configuration\")\n\t\tlg.Info(\"removing old peers from network\")\n\t} else {\n\t\tplog.Info(\"finished recovering cluster configuration\")\n\t\tplog.Info(\"removing old peers from network...\")\n\t}\n\n\t// recover raft transport\n\ts.r.transport.RemoveAllPeers()\n\n\tif lg != nil {\n\t\tlg.Info(\"removed old peers from network\")\n\t\tlg.Info(\"adding peers from new cluster configuration\")\n\t} else {\n\t\tplog.Info(\"finished removing old peers from network\")\n\t\tplog.Info(\"adding peers from new cluster configuration into network...\")\n\t}\n\n\tfor _, m := range s.cluster.Members() {\n\t\tif m.ID == s.ID() {\n\t\t\tcontinue\n\t\t}\n\t\ts.r.transport.AddPeer(m.ID, m.PeerURLs)\n\t}\n\n\tif lg != nil {\n\t\tlg.Info(\"added peers from new cluster configuration\")\n\t} else {\n\t\tplog.Info(\"finished adding peers from new cluster configuration into network...\")\n\t}\n\n\tep.appliedt = apply.snapshot.Metadata.Term\n\tep.appliedi = apply.snapshot.Metadata.Index\n\tep.snapi = ep.appliedi\n\tep.confState = apply.snapshot.Metadata.ConfState\n}\n\nfunc (s *EtcdServer) applyEntries(ep *etcdProgress, apply *apply) {\n\tif len(apply.entries) == 0 {\n\t\treturn\n\t}\n\tfirsti := apply.entries[0].Index\n\tif firsti > ep.appliedi+1 {\n\t\tif lg := s.getLogger(); lg != nil {\n\t\t\tlg.Panic(\n\t\t\t\t\"unexpected committed entry index\",\n\t\t\t\tzap.Uint64(\"current-applied-index\", ep.appliedi),\n\t\t\t\tzap.Uint64(\"first-committed-entry-index\", firsti),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Panicf(\"first index of committed entry[%d] should <= appliedi[%d] + 1\", firsti, ep.appliedi)\n\t\t}\n\t}\n\tvar ents []raftpb.Entry\n\tif ep.appliedi+1-firsti < uint64(len(apply.entries)) {\n\t\tents = apply.entries[ep.appliedi+1-firsti:]\n\t}\n\tif len(ents) == 0 {\n\t\treturn\n\t}\n\tvar shouldstop bool\n\tif ep.appliedt, ep.appliedi, shouldstop = s.apply(ents, &ep.confState); shouldstop {\n\t\tgo s.stopWithDelay(10*100*time.Millisecond, fmt.Errorf(\"the member has been permanently removed from the cluster\"))\n\t}\n}\n\nfunc (s *EtcdServer) triggerSnapshot(ep *etcdProgress) {\n\tif ep.appliedi-ep.snapi <= s.Cfg.SnapshotCount {\n\t\treturn\n\t}\n\n\tif lg := s.getLogger(); lg != nil {\n\t\tlg.Info(\n\t\t\t\"triggering snapshot\",\n\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\tzap.Uint64(\"local-member-applied-index\", ep.appliedi),\n\t\t\tzap.Uint64(\"local-member-snapshot-index\", ep.snapi),\n\t\t\tzap.Uint64(\"local-member-snapshot-count\", s.Cfg.SnapshotCount),\n\t\t)\n\t} else {\n\t\tplog.Infof(\"start to snapshot (applied: %d, lastsnap: %d)\", ep.appliedi, ep.snapi)\n\t}\n\n\ts.snapshot(ep.appliedi, ep.confState)\n\tep.snapi = ep.appliedi\n}\n\nfunc (s *EtcdServer) isMultiNode() bool {\n\treturn s.cluster != nil && len(s.cluster.MemberIDs()) > 1\n}\n\nfunc (s *EtcdServer) isLeader() bool {\n\treturn uint64(s.ID()) == s.Lead()\n}\n\n// MoveLeader transfers the leader to the given transferee.\nfunc (s *EtcdServer) MoveLeader(ctx context.Context, lead, transferee uint64) error {\n\tnow := time.Now()\n\tinterval := time.Duration(s.Cfg.TickMs) * time.Millisecond\n\n\tif lg := s.getLogger(); lg != nil {\n\t\tlg.Info(\n\t\t\t\"leadership transfer starting\",\n\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\tzap.String(\"current-leader-member-id\", types.ID(lead).String()),\n\t\t\tzap.String(\"transferee-member-id\", types.ID(transferee).String()),\n\t\t)\n\t} else {\n\t\tplog.Infof(\"%s starts leadership transfer from %s to %s\", s.ID(), types.ID(lead), types.ID(transferee))\n\t}\n\n\ts.r.TransferLeadership(ctx, lead, transferee)\n\tfor s.Lead() != transferee {\n\t\tselect {\n\t\tcase <-ctx.Done(): // time out\n\t\t\treturn ErrTimeoutLeaderTransfer\n\t\tcase <-time.After(interval):\n\t\t}\n\t}\n\n\t// TODO: drain all requests, or drop all messages to the old leader\n\tif lg := s.getLogger(); lg != nil {\n\t\tlg.Info(\n\t\t\t\"leadership transfer finished\",\n\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\tzap.String(\"old-leader-member-id\", types.ID(lead).String()),\n\t\t\tzap.String(\"new-leader-member-id\", types.ID(transferee).String()),\n\t\t\tzap.Duration(\"took\", time.Since(now)),\n\t\t)\n\t} else {\n\t\tplog.Infof(\"%s finished leadership transfer from %s to %s (took %v)\", s.ID(), types.ID(lead), types.ID(transferee), time.Since(now))\n\t}\n\treturn nil\n}\n\n// TransferLeadership transfers the leader to the chosen transferee.\nfunc (s *EtcdServer) TransferLeadership() error {\n\tif !s.isLeader() {\n\t\tif lg := s.getLogger(); lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"skipped leadership transfer; local server is not leader\",\n\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\tzap.String(\"current-leader-member-id\", types.ID(s.Lead()).String()),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Printf(\"skipped leadership transfer for stopping non-leader member\")\n\t\t}\n\t\treturn nil\n\t}\n\n\tif !s.isMultiNode() {\n\t\tif lg := s.getLogger(); lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"skipped leadership transfer; it's a single-node cluster\",\n\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\tzap.String(\"current-leader-member-id\", types.ID(s.Lead()).String()),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Printf(\"skipped leadership transfer for single member cluster\")\n\t\t}\n\t\treturn nil\n\t}\n\n\ttransferee, ok := longestConnected(s.r.transport, s.cluster.MemberIDs())\n\tif !ok {\n\t\treturn ErrUnhealthy\n\t}\n\n\ttm := s.Cfg.ReqTimeout()\n\tctx, cancel := context.WithTimeout(s.ctx, tm)\n\terr := s.MoveLeader(ctx, s.Lead(), uint64(transferee))\n\tcancel()\n\treturn err\n}\n\n// HardStop stops the server without coordination with other members in the cluster.\nfunc (s *EtcdServer) HardStop() {\n\tselect {\n\tcase s.stop <- struct{}{}:\n\tcase <-s.done:\n\t\treturn\n\t}\n\t<-s.done\n}\n\n// Stop stops the server gracefully, and shuts down the running goroutine.\n// Stop should be called after a Start(s), otherwise it will block forever.\n// When stopping leader, Stop transfers its leadership to one of its peers\n// before stopping the server.\n// Stop terminates the Server and performs any necessary finalization.\n// Do and Process cannot be called after Stop has been invoked.\nfunc (s *EtcdServer) Stop() {\n\tif err := s.TransferLeadership(); err != nil {\n\t\tif lg := s.getLogger(); lg != nil {\n\t\t\tlg.Warn(\"leadership transfer failed\", zap.String(\"local-member-id\", s.ID().String()), zap.Error(err))\n\t\t} else {\n\t\t\tplog.Warningf(\"%s failed to transfer leadership (%v)\", s.ID(), err)\n\t\t}\n\t}\n\ts.HardStop()\n}\n\n// ReadyNotify returns a channel that will be closed when the server\n// is ready to serve client requests\nfunc (s *EtcdServer) ReadyNotify() <-chan struct{} { return s.readych }\n\nfunc (s *EtcdServer) stopWithDelay(d time.Duration, err error) {\n\tselect {\n\tcase <-time.After(d):\n\tcase <-s.done:\n\t}\n\tselect {\n\tcase s.errorc <- err:\n\tdefault:\n\t}\n}\n\n// StopNotify returns a channel that receives a empty struct\n// when the server is stopped.\nfunc (s *EtcdServer) StopNotify() <-chan struct{} { return s.done }\n\nfunc (s *EtcdServer) SelfStats() []byte { return s.stats.JSON() }\n\nfunc (s *EtcdServer) LeaderStats() []byte {\n\tlead := s.getLead()\n\tif lead != uint64(s.id) {\n\t\treturn nil\n\t}\n\treturn s.lstats.JSON()\n}\n\nfunc (s *EtcdServer) StoreStats() []byte { return s.v2store.JsonStats() }\n\nfunc (s *EtcdServer) checkMembershipOperationPermission(ctx context.Context) error {\n\tif s.authStore == nil {\n\t\t// In the context of ordinary etcd process, s.authStore will never be nil.\n\t\t// This branch is for handling cases in server_test.go\n\t\treturn nil\n\t}\n\n\t// Note that this permission check is done in the API layer,\n\t// so TOCTOU problem can be caused potentially in a schedule like this:\n\t// update membership with user A -> revoke root role of A -> apply membership change\n\t// in the state machine layer\n\t// However, both of membership change and role management requires the root privilege.\n\t// So careful operation by admins can prevent the problem.\n\tauthInfo, err := s.AuthInfoFromCtx(ctx)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn s.AuthStore().IsAdminPermitted(authInfo)\n}\n\nfunc (s *EtcdServer) AddMember(ctx context.Context, memb membership.Member) ([]*membership.Member, error) {\n\tif err := s.checkMembershipOperationPermission(ctx); err != nil {\n\t\treturn nil, err\n\t}\n\n\tif s.Cfg.StrictReconfigCheck {\n\t\t// by default StrictReconfigCheck is enabled; reject new members if unhealthy\n\t\tif !s.cluster.IsReadyToAddNewMember() {\n\t\t\tif lg := s.getLogger(); lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"rejecting member add request; not enough healthy members\",\n\t\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\t\tzap.String(\"requested-member-add\", fmt.Sprintf(\"%+v\", memb)),\n\t\t\t\t\tzap.Error(ErrNotEnoughStartedMembers),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"not enough started members, rejecting member add %+v\", memb)\n\t\t\t}\n\t\t\treturn nil, ErrNotEnoughStartedMembers\n\t\t}\n\n\t\tif !isConnectedFullySince(s.r.transport, time.Now().Add(-HealthInterval), s.ID(), s.cluster.Members()) {\n\t\t\tif lg := s.getLogger(); lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"rejecting member add request; local member has not been connected to all peers, reconfigure breaks active quorum\",\n\t\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\t\tzap.String(\"requested-member-add\", fmt.Sprintf(\"%+v\", memb)),\n\t\t\t\t\tzap.Error(ErrUnhealthy),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"not healthy for reconfigure, rejecting member add %+v\", memb)\n\t\t\t}\n\t\t\treturn nil, ErrUnhealthy\n\t\t}\n\t}\n\n\t// TODO: move Member to protobuf type\n\tb, err := json.Marshal(memb)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tcc := raftpb.ConfChange{\n\t\tType:    raftpb.ConfChangeAddNode,\n\t\tNodeID:  uint64(memb.ID),\n\t\tContext: b,\n\t}\n\treturn s.configure(ctx, cc)\n}\n\nfunc (s *EtcdServer) RemoveMember(ctx context.Context, id uint64) ([]*membership.Member, error) {\n\tif err := s.checkMembershipOperationPermission(ctx); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// by default StrictReconfigCheck is enabled; reject removal if leads to quorum loss\n\tif err := s.mayRemoveMember(types.ID(id)); err != nil {\n\t\treturn nil, err\n\t}\n\n\tcc := raftpb.ConfChange{\n\t\tType:   raftpb.ConfChangeRemoveNode,\n\t\tNodeID: id,\n\t}\n\treturn s.configure(ctx, cc)\n}\n\nfunc (s *EtcdServer) mayRemoveMember(id types.ID) error {\n\tif !s.Cfg.StrictReconfigCheck {\n\t\treturn nil\n\t}\n\n\tif !s.cluster.IsReadyToRemoveMember(uint64(id)) {\n\t\tif lg := s.getLogger(); lg != nil {\n\t\t\tlg.Warn(\n\t\t\t\t\"rejecting member remove request; not enough healthy members\",\n\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\tzap.String(\"requested-member-remove-id\", id.String()),\n\t\t\t\tzap.Error(ErrNotEnoughStartedMembers),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Warningf(\"not enough started members, rejecting remove member %s\", id)\n\t\t}\n\t\treturn ErrNotEnoughStartedMembers\n\t}\n\n\t// downed member is safe to remove since it's not part of the active quorum\n\tif t := s.r.transport.ActiveSince(id); id != s.ID() && t.IsZero() {\n\t\treturn nil\n\t}\n\n\t// protect quorum if some members are down\n\tm := s.cluster.Members()\n\tactive := numConnectedSince(s.r.transport, time.Now().Add(-HealthInterval), s.ID(), m)\n\tif (active - 1) < 1+((len(m)-1)/2) {\n\t\tif lg := s.getLogger(); lg != nil {\n\t\t\tlg.Warn(\n\t\t\t\t\"rejecting member remove request; local member has not been connected to all peers, reconfigure breaks active quorum\",\n\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\tzap.String(\"requested-member-remove\", id.String()),\n\t\t\t\tzap.Int(\"active-peers\", active),\n\t\t\t\tzap.Error(ErrUnhealthy),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Warningf(\"reconfigure breaks active quorum, rejecting remove member %s\", id)\n\t\t}\n\t\treturn ErrUnhealthy\n\t}\n\n\treturn nil\n}\n\nfunc (s *EtcdServer) UpdateMember(ctx context.Context, memb membership.Member) ([]*membership.Member, error) {\n\tb, merr := json.Marshal(memb)\n\tif merr != nil {\n\t\treturn nil, merr\n\t}\n\n\tif err := s.checkMembershipOperationPermission(ctx); err != nil {\n\t\treturn nil, err\n\t}\n\tcc := raftpb.ConfChange{\n\t\tType:    raftpb.ConfChangeUpdateNode,\n\t\tNodeID:  uint64(memb.ID),\n\t\tContext: b,\n\t}\n\treturn s.configure(ctx, cc)\n}\n\nfunc (s *EtcdServer) setCommittedIndex(v uint64) {\n\tatomic.StoreUint64(&s.committedIndex, v)\n}\n\nfunc (s *EtcdServer) getCommittedIndex() uint64 {\n\treturn atomic.LoadUint64(&s.committedIndex)\n}\n\nfunc (s *EtcdServer) setAppliedIndex(v uint64) {\n\tatomic.StoreUint64(&s.appliedIndex, v)\n}\n\nfunc (s *EtcdServer) getAppliedIndex() uint64 {\n\treturn atomic.LoadUint64(&s.appliedIndex)\n}\n\nfunc (s *EtcdServer) setTerm(v uint64) {\n\tatomic.StoreUint64(&s.term, v)\n}\n\nfunc (s *EtcdServer) getTerm() uint64 {\n\treturn atomic.LoadUint64(&s.term)\n}\n\nfunc (s *EtcdServer) setLead(v uint64) {\n\tatomic.StoreUint64(&s.lead, v)\n}\n\nfunc (s *EtcdServer) getLead() uint64 {\n\treturn atomic.LoadUint64(&s.lead)\n}\n\n// RaftStatusGetter represents etcd server and Raft progress.\ntype RaftStatusGetter interface {\n\tID() types.ID\n\tLeader() types.ID\n\tCommittedIndex() uint64\n\tAppliedIndex() uint64\n\tTerm() uint64\n}\n\nfunc (s *EtcdServer) ID() types.ID { return s.id }\n\nfunc (s *EtcdServer) Leader() types.ID { return types.ID(s.getLead()) }\n\nfunc (s *EtcdServer) Lead() uint64 { return s.getLead() }\n\nfunc (s *EtcdServer) CommittedIndex() uint64 { return s.getCommittedIndex() }\n\nfunc (s *EtcdServer) AppliedIndex() uint64 { return s.getAppliedIndex() }\n\nfunc (s *EtcdServer) Term() uint64 { return s.getTerm() }\n\ntype confChangeResponse struct {\n\tmembs []*membership.Member\n\terr   error\n}\n\n// configure sends a configuration change through consensus and\n// then waits for it to be applied to the server. It\n// will block until the change is performed or there is an error.\nfunc (s *EtcdServer) configure(ctx context.Context, cc raftpb.ConfChange) ([]*membership.Member, error) {\n\tcc.ID = s.reqIDGen.Next()\n\tch := s.w.Register(cc.ID)\n\n\tstart := time.Now()\n\tif err := s.r.ProposeConfChange(ctx, cc); err != nil {\n\t\ts.w.Trigger(cc.ID, nil)\n\t\treturn nil, err\n\t}\n\n\tselect {\n\tcase x := <-ch:\n\t\tif x == nil {\n\t\t\tif lg := s.getLogger(); lg != nil {\n\t\t\t\tlg.Panic(\"failed to configure\")\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"configure trigger value should never be nil\")\n\t\t\t}\n\t\t}\n\t\tresp := x.(*confChangeResponse)\n\t\tif lg := s.getLogger(); lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"applied a configuration change through raft\",\n\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\tzap.String(\"raft-conf-change\", cc.Type.String()),\n\t\t\t\tzap.String(\"raft-conf-change-node-id\", types.ID(cc.NodeID).String()),\n\t\t\t)\n\t\t}\n\t\treturn resp.membs, resp.err\n\n\tcase <-ctx.Done():\n\t\ts.w.Trigger(cc.ID, nil) // GC wait\n\t\treturn nil, s.parseProposeCtxErr(ctx.Err(), start)\n\n\tcase <-s.stopping:\n\t\treturn nil, ErrStopped\n\t}\n}\n\n// sync proposes a SYNC request and is non-blocking.\n// This makes no guarantee that the request will be proposed or performed.\n// The request will be canceled after the given timeout.\nfunc (s *EtcdServer) sync(timeout time.Duration) {\n\treq := pb.Request{\n\t\tMethod: \"SYNC\",\n\t\tID:     s.reqIDGen.Next(),\n\t\tTime:   time.Now().UnixNano(),\n\t}\n\tdata := pbutil.MustMarshal(&req)\n\t// There is no promise that node has leader when do SYNC request,\n\t// so it uses goroutine to propose.\n\tctx, cancel := context.WithTimeout(s.ctx, timeout)\n\ts.goAttach(func() {\n\t\ts.r.Propose(ctx, data)\n\t\tcancel()\n\t})\n}\n\n// publish registers server information into the cluster. The information\n// is the JSON representation of this server's member struct, updated with the\n// static clientURLs of the server.\n// The function keeps attempting to register until it succeeds,\n// or its server is stopped.\nfunc (s *EtcdServer) publish(timeout time.Duration) {\n\tb, err := json.Marshal(s.attributes)\n\tif err != nil {\n\t\tif lg := s.getLogger(); lg != nil {\n\t\t\tlg.Panic(\"failed to marshal JSON\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Panicf(\"json marshal error: %v\", err)\n\t\t}\n\t\treturn\n\t}\n\treq := pb.Request{\n\t\tMethod: \"PUT\",\n\t\tPath:   membership.MemberAttributesStorePath(s.id),\n\t\tVal:    string(b),\n\t}\n\n\tfor {\n\t\tctx, cancel := context.WithTimeout(s.ctx, timeout)\n\t\t_, err := s.Do(ctx, req)\n\t\tcancel()\n\t\tswitch err {\n\t\tcase nil:\n\t\t\tclose(s.readych)\n\t\t\tif lg := s.getLogger(); lg != nil {\n\t\t\t\tlg.Info(\n\t\t\t\t\t\"published local member to cluster through raft\",\n\t\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\t\tzap.String(\"local-member-attributes\", fmt.Sprintf(\"%+v\", s.attributes)),\n\t\t\t\t\tzap.String(\"request-path\", req.Path),\n\t\t\t\t\tzap.String(\"cluster-id\", s.cluster.ID().String()),\n\t\t\t\t\tzap.Duration(\"publish-timeout\", timeout),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Infof(\"published %+v to cluster %s\", s.attributes, s.cluster.ID())\n\t\t\t}\n\t\t\treturn\n\n\t\tcase ErrStopped:\n\t\t\tif lg := s.getLogger(); lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"stopped publish because server is stopped\",\n\t\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\t\tzap.String(\"local-member-attributes\", fmt.Sprintf(\"%+v\", s.attributes)),\n\t\t\t\t\tzap.Duration(\"publish-timeout\", timeout),\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Infof(\"aborting publish because server is stopped\")\n\t\t\t}\n\t\t\treturn\n\n\t\tdefault:\n\t\t\tif lg := s.getLogger(); lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"failed to publish local member to cluster through raft\",\n\t\t\t\t\tzap.String(\"local-member-id\", s.ID().String()),\n\t\t\t\t\tzap.String(\"local-member-attributes\", fmt.Sprintf(\"%+v\", s.attributes)),\n\t\t\t\t\tzap.String(\"request-path\", req.Path),\n\t\t\t\t\tzap.Duration(\"publish-timeout\", timeout),\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"publish error: %v\", err)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (s *EtcdServer) sendMergedSnap(merged snap.Message) {\n\tatomic.AddInt64(&s.inflightSnapshots, 1)\n\n\tlg := s.getLogger()\n\tfields := []zap.Field{\n\t\tzap.String(\"from\", s.ID().String()),\n\t\tzap.String(\"to\", types.ID(merged.To).String()),\n\t\tzap.Int64(\"bytes\", merged.TotalSize),\n\t\tzap.String(\"size\", humanize.Bytes(uint64(merged.TotalSize))),\n\t}\n\n\tnow := time.Now()\n\ts.r.transport.SendSnapshot(merged)\n\tif lg != nil {\n\t\tlg.Info(\"sending merged snapshot\", fields...)\n\t}\n\n\ts.goAttach(func() {\n\t\tselect {\n\t\tcase ok := <-merged.CloseNotify():\n\t\t\t// delay releasing inflight snapshot for another 30 seconds to\n\t\t\t// block log compaction.\n\t\t\t// If the follower still fails to catch up, it is probably just too slow\n\t\t\t// to catch up. We cannot avoid the snapshot cycle anyway.\n\t\t\tif ok {\n\t\t\t\tselect {\n\t\t\t\tcase <-time.After(releaseDelayAfterSnapshot):\n\t\t\t\tcase <-s.stopping:\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tatomic.AddInt64(&s.inflightSnapshots, -1)\n\n\t\t\tif lg != nil {\n\t\t\t\tlg.Info(\"sent merged snapshot\", append(fields, zap.Duration(\"took\", time.Since(now)))...)\n\t\t\t}\n\n\t\tcase <-s.stopping:\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\"canceled sending merged snapshot; server stopping\", fields...)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t})\n}\n\n// apply takes entries received from Raft (after it has been committed) and\n// applies them to the current state of the EtcdServer.\n// The given entries should not be empty.\nfunc (s *EtcdServer) apply(\n\tes []raftpb.Entry,\n\tconfState *raftpb.ConfState,\n) (appliedt uint64, appliedi uint64, shouldStop bool) {\n\tfor i := range es {\n\t\te := es[i]\n\t\tswitch e.Type {\n\t\tcase raftpb.EntryNormal:\n\t\t\ts.applyEntryNormal(&e)\n\t\t\ts.setAppliedIndex(e.Index)\n\t\t\ts.setTerm(e.Term)\n\n\t\tcase raftpb.EntryConfChange:\n\t\t\t// set the consistent index of current executing entry\n\t\t\tif e.Index > s.consistIndex.ConsistentIndex() {\n\t\t\t\ts.consistIndex.setConsistentIndex(e.Index)\n\t\t\t}\n\t\t\tvar cc raftpb.ConfChange\n\t\t\tpbutil.MustUnmarshal(&cc, e.Data)\n\t\t\tremovedSelf, err := s.applyConfChange(cc, confState)\n\t\t\ts.setAppliedIndex(e.Index)\n\t\t\ts.setTerm(e.Term)\n\t\t\tshouldStop = shouldStop || removedSelf\n\t\t\ts.w.Trigger(cc.ID, &confChangeResponse{s.cluster.Members(), err})\n\n\t\tdefault:\n\t\t\tif lg := s.getLogger(); lg != nil {\n\t\t\t\tlg.Panic(\n\t\t\t\t\t\"unknown entry type; must be either EntryNormal or EntryConfChange\",\n\t\t\t\t\tzap.String(\"type\", e.Type.String()),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"entry type should be either EntryNormal or EntryConfChange\")\n\t\t\t}\n\t\t}\n\t\tappliedi, appliedt = e.Index, e.Term\n\t}\n\treturn appliedt, appliedi, shouldStop\n}\n\n// applyEntryNormal apples an EntryNormal type raftpb request to the EtcdServer\nfunc (s *EtcdServer) applyEntryNormal(e *raftpb.Entry) {\n\tshouldApplyV3 := false\n\tif e.Index > s.consistIndex.ConsistentIndex() {\n\t\t// set the consistent index of current executing entry\n\t\ts.consistIndex.setConsistentIndex(e.Index)\n\t\tshouldApplyV3 = true\n\t}\n\n\t// raft state machine may generate noop entry when leader confirmation.\n\t// skip it in advance to avoid some potential bug in the future\n\tif len(e.Data) == 0 {\n\t\tselect {\n\t\tcase s.forceVersionC <- struct{}{}:\n\t\tdefault:\n\t\t}\n\t\t// promote lessor when the local member is leader and finished\n\t\t// applying all entries from the last term.\n\t\tif s.isLeader() {\n\t\t\ts.lessor.Promote(s.Cfg.electionTimeout())\n\t\t}\n\t\treturn\n\t}\n\n\tvar raftReq pb.InternalRaftRequest\n\tif !pbutil.MaybeUnmarshal(&raftReq, e.Data) { // backward compatible\n\t\tvar r pb.Request\n\t\trp := &r\n\t\tpbutil.MustUnmarshal(rp, e.Data)\n\t\ts.w.Trigger(r.ID, s.applyV2Request((*RequestV2)(rp)))\n\t\treturn\n\t}\n\tif raftReq.V2 != nil {\n\t\treq := (*RequestV2)(raftReq.V2)\n\t\ts.w.Trigger(req.ID, s.applyV2Request(req))\n\t\treturn\n\t}\n\n\t// do not re-apply applied entries.\n\tif !shouldApplyV3 {\n\t\treturn\n\t}\n\n\tid := raftReq.ID\n\tif id == 0 {\n\t\tid = raftReq.Header.ID\n\t}\n\n\tvar ar *applyResult\n\tneedResult := s.w.IsRegistered(id)\n\tif needResult || !noSideEffect(&raftReq) {\n\t\tif !needResult && raftReq.Txn != nil {\n\t\t\tremoveNeedlessRangeReqs(raftReq.Txn)\n\t\t}\n\t\tar = s.applyV3.Apply(&raftReq)\n\t}\n\n\tif ar == nil {\n\t\treturn\n\t}\n\n\tif ar.err != ErrNoSpace || len(s.alarmStore.Get(pb.AlarmType_NOSPACE)) > 0 {\n\t\ts.w.Trigger(id, ar)\n\t\treturn\n\t}\n\n\tif lg := s.getLogger(); lg != nil {\n\t\tlg.Warn(\n\t\t\t\"message exceeded backend quota; raising alarm\",\n\t\t\tzap.Int64(\"quota-size-bytes\", s.Cfg.QuotaBackendBytes),\n\t\t\tzap.String(\"quota-size\", humanize.Bytes(uint64(s.Cfg.QuotaBackendBytes))),\n\t\t\tzap.Error(ar.err),\n\t\t)\n\t} else {\n\t\tplog.Errorf(\"applying raft message exceeded backend quota\")\n\t}\n\n\ts.goAttach(func() {\n\t\ta := &pb.AlarmRequest{\n\t\t\tMemberID: uint64(s.ID()),\n\t\t\tAction:   pb.AlarmRequest_ACTIVATE,\n\t\t\tAlarm:    pb.AlarmType_NOSPACE,\n\t\t}\n\t\ts.raftRequest(s.ctx, pb.InternalRaftRequest{Alarm: a})\n\t\ts.w.Trigger(id, ar)\n\t})\n}\n\n// applyConfChange applies a ConfChange to the server. It is only\n// invoked with a ConfChange that has already passed through Raft\nfunc (s *EtcdServer) applyConfChange(cc raftpb.ConfChange, confState *raftpb.ConfState) (bool, error) {\n\tif err := s.cluster.ValidateConfigurationChange(cc); err != nil {\n\t\tcc.NodeID = raft.None\n\t\ts.r.ApplyConfChange(cc)\n\t\treturn false, err\n\t}\n\n\tlg := s.getLogger()\n\t*confState = *s.r.ApplyConfChange(cc)\n\tswitch cc.Type {\n\tcase raftpb.ConfChangeAddNode:\n\t\tm := new(membership.Member)\n\t\tif err := json.Unmarshal(cc.Context, m); err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"failed to unmarshal member\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"unmarshal member should never fail: %v\", err)\n\t\t\t}\n\t\t}\n\t\tif cc.NodeID != uint64(m.ID) {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\n\t\t\t\t\t\"got different member ID\",\n\t\t\t\t\tzap.String(\"member-id-from-config-change-entry\", types.ID(cc.NodeID).String()),\n\t\t\t\t\tzap.String(\"member-id-from-message\", m.ID.String()),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"nodeID should always be equal to member ID\")\n\t\t\t}\n\t\t}\n\t\ts.cluster.AddMember(m)\n\t\tif m.ID != s.id {\n\t\t\ts.r.transport.AddPeer(m.ID, m.PeerURLs)\n\t\t}\n\n\tcase raftpb.ConfChangeRemoveNode:\n\t\tid := types.ID(cc.NodeID)\n\t\ts.cluster.RemoveMember(id)\n\t\tif id == s.id {\n\t\t\treturn true, nil\n\t\t}\n\t\ts.r.transport.RemovePeer(id)\n\n\tcase raftpb.ConfChangeUpdateNode:\n\t\tm := new(membership.Member)\n\t\tif err := json.Unmarshal(cc.Context, m); err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"failed to unmarshal member\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"unmarshal member should never fail: %v\", err)\n\t\t\t}\n\t\t}\n\t\tif cc.NodeID != uint64(m.ID) {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\n\t\t\t\t\t\"got different member ID\",\n\t\t\t\t\tzap.String(\"member-id-from-config-change-entry\", types.ID(cc.NodeID).String()),\n\t\t\t\t\tzap.String(\"member-id-from-message\", m.ID.String()),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"nodeID should always be equal to member ID\")\n\t\t\t}\n\t\t}\n\t\ts.cluster.UpdateRaftAttributes(m.ID, m.RaftAttributes)\n\t\tif m.ID != s.id {\n\t\t\ts.r.transport.UpdatePeer(m.ID, m.PeerURLs)\n\t\t}\n\t}\n\treturn false, nil\n}\n\n// TODO: non-blocking snapshot\nfunc (s *EtcdServer) snapshot(snapi uint64, confState raftpb.ConfState) {\n\tclone := s.v2store.Clone()\n\t// commit kv to write metadata (for example: consistent index) to disk.\n\t// KV().commit() updates the consistent index in backend.\n\t// All operations that update consistent index must be called sequentially\n\t// from applyAll function.\n\t// So KV().Commit() cannot run in parallel with apply. It has to be called outside\n\t// the go routine created below.\n\ts.KV().Commit()\n\n\ts.goAttach(func() {\n\t\tlg := s.getLogger()\n\n\t\td, err := clone.SaveNoCopy()\n\t\t// TODO: current store will never fail to do a snapshot\n\t\t// what should we do if the store might fail?\n\t\tif err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"failed to save v2 store\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"store save should never fail: %v\", err)\n\t\t\t}\n\t\t}\n\t\tsnap, err := s.r.raftStorage.CreateSnapshot(snapi, &confState, d)\n\t\tif err != nil {\n\t\t\t// the snapshot was done asynchronously with the progress of raft.\n\t\t\t// raft might have already got a newer snapshot.\n\t\t\tif err == raft.ErrSnapOutOfDate {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"failed to create snapshot\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"unexpected create snapshot error %v\", err)\n\t\t\t}\n\t\t}\n\t\t// SaveSnap saves the snapshot and releases the locked wal files\n\t\t// to the snapshot index.\n\t\tif err = s.r.storage.SaveSnap(snap); err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"failed to save snapshot\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Fatalf(\"save snapshot error: %v\", err)\n\t\t\t}\n\t\t}\n\t\tif lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"saved snapshot\",\n\t\t\t\tzap.Uint64(\"snapshot-index\", snap.Metadata.Index),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Infof(\"saved snapshot at index %d\", snap.Metadata.Index)\n\t\t}\n\n\t\t// When sending a snapshot, etcd will pause compaction.\n\t\t// After receives a snapshot, the slow follower needs to get all the entries right after\n\t\t// the snapshot sent to catch up. If we do not pause compaction, the log entries right after\n\t\t// the snapshot sent might already be compacted. It happens when the snapshot takes long time\n\t\t// to send and save. Pausing compaction avoids triggering a snapshot sending cycle.\n\t\tif atomic.LoadInt64(&s.inflightSnapshots) != 0 {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Info(\"skip compaction since there is an inflight snapshot\")\n\t\t\t} else {\n\t\t\t\tplog.Infof(\"skip compaction since there is an inflight snapshot\")\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\t// keep some in memory log entries for slow followers.\n\t\tcompacti := uint64(1)\n\t\tif snapi > s.Cfg.SnapshotCatchUpEntries {\n\t\t\tcompacti = snapi - s.Cfg.SnapshotCatchUpEntries\n\t\t}\n\n\t\terr = s.r.raftStorage.Compact(compacti)\n\t\tif err != nil {\n\t\t\t// the compaction was done asynchronously with the progress of raft.\n\t\t\t// raft log might already been compact.\n\t\t\tif err == raft.ErrCompacted {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"failed to compact\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"unexpected compaction error %v\", err)\n\t\t\t}\n\t\t}\n\t\tif lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"compacted Raft logs\",\n\t\t\t\tzap.Uint64(\"compact-index\", compacti),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Infof(\"compacted raft log at %d\", compacti)\n\t\t}\n\t})\n}\n\n// CutPeer drops messages to the specified peer.\nfunc (s *EtcdServer) CutPeer(id types.ID) {\n\ttr, ok := s.r.transport.(*rafthttp.Transport)\n\tif ok {\n\t\ttr.CutPeer(id)\n\t}\n}\n\n// MendPeer recovers the message dropping behavior of the given peer.\nfunc (s *EtcdServer) MendPeer(id types.ID) {\n\ttr, ok := s.r.transport.(*rafthttp.Transport)\n\tif ok {\n\t\ttr.MendPeer(id)\n\t}\n}\n\nfunc (s *EtcdServer) PauseSending() { s.r.pauseSending() }\n\nfunc (s *EtcdServer) ResumeSending() { s.r.resumeSending() }\n\nfunc (s *EtcdServer) ClusterVersion() *semver.Version {\n\tif s.cluster == nil {\n\t\treturn nil\n\t}\n\treturn s.cluster.Version()\n}\n\n// monitorVersions checks the member's version every monitorVersionInterval.\n// It updates the cluster version if all members agrees on a higher one.\n// It prints out log if there is a member with a higher version than the\n// local version.\nfunc (s *EtcdServer) monitorVersions() {\n\tfor {\n\t\tselect {\n\t\tcase <-s.forceVersionC:\n\t\tcase <-time.After(monitorVersionInterval):\n\t\tcase <-s.stopping:\n\t\t\treturn\n\t\t}\n\n\t\tif s.Leader() != s.ID() {\n\t\t\tcontinue\n\t\t}\n\n\t\tv := decideClusterVersion(s.getLogger(), getVersions(s.getLogger(), s.cluster, s.id, s.peerRt))\n\t\tif v != nil {\n\t\t\t// only keep major.minor version for comparison\n\t\t\tv = &semver.Version{\n\t\t\t\tMajor: v.Major,\n\t\t\t\tMinor: v.Minor,\n\t\t\t}\n\t\t}\n\n\t\t// if the current version is nil:\n\t\t// 1. use the decided version if possible\n\t\t// 2. or use the min cluster version\n\t\tif s.cluster.Version() == nil {\n\t\t\tverStr := version.MinClusterVersion\n\t\t\tif v != nil {\n\t\t\t\tverStr = v.String()\n\t\t\t}\n\t\t\ts.goAttach(func() { s.updateClusterVersion(verStr) })\n\t\t\tcontinue\n\t\t}\n\n\t\t// update cluster version only if the decided version is greater than\n\t\t// the current cluster version\n\t\tif v != nil && s.cluster.Version().LessThan(*v) {\n\t\t\ts.goAttach(func() { s.updateClusterVersion(v.String()) })\n\t\t}\n\t}\n}\n\nfunc (s *EtcdServer) updateClusterVersion(ver string) {\n\tlg := s.getLogger()\n\n\tif s.cluster.Version() == nil {\n\t\tif lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"setting up initial cluster version\",\n\t\t\t\tzap.String(\"cluster-version\", version.Cluster(ver)),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Infof(\"setting up the initial cluster version to %s\", version.Cluster(ver))\n\t\t}\n\t} else {\n\t\tif lg != nil {\n\t\t\tlg.Info(\n\t\t\t\t\"updating cluster version\",\n\t\t\t\tzap.String(\"from\", version.Cluster(s.cluster.Version().String())),\n\t\t\t\tzap.String(\"to\", version.Cluster(ver)),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Infof(\"updating the cluster version from %s to %s\", version.Cluster(s.cluster.Version().String()), version.Cluster(ver))\n\t\t}\n\t}\n\n\treq := pb.Request{\n\t\tMethod: \"PUT\",\n\t\tPath:   membership.StoreClusterVersionKey(),\n\t\tVal:    ver,\n\t}\n\n\tctx, cancel := context.WithTimeout(s.ctx, s.Cfg.ReqTimeout())\n\t_, err := s.Do(ctx, req)\n\tcancel()\n\n\tswitch err {\n\tcase nil:\n\t\tif lg != nil {\n\t\t\tlg.Info(\"cluster version is updated\", zap.String(\"cluster-version\", version.Cluster(ver)))\n\t\t}\n\t\treturn\n\n\tcase ErrStopped:\n\t\tif lg != nil {\n\t\t\tlg.Warn(\"aborting cluster version update; server is stopped\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Infof(\"aborting update cluster version because server is stopped\")\n\t\t}\n\t\treturn\n\n\tdefault:\n\t\tif lg != nil {\n\t\t\tlg.Warn(\"failed to update cluster version\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Errorf(\"error updating cluster version (%v)\", err)\n\t\t}\n\t}\n}\n\nfunc (s *EtcdServer) parseProposeCtxErr(err error, start time.Time) error {\n\tswitch err {\n\tcase context.Canceled:\n\t\treturn ErrCanceled\n\n\tcase context.DeadlineExceeded:\n\t\ts.leadTimeMu.RLock()\n\t\tcurLeadElected := s.leadElectedTime\n\t\ts.leadTimeMu.RUnlock()\n\t\tprevLeadLost := curLeadElected.Add(-2 * time.Duration(s.Cfg.ElectionTicks) * time.Duration(s.Cfg.TickMs) * time.Millisecond)\n\t\tif start.After(prevLeadLost) && start.Before(curLeadElected) {\n\t\t\treturn ErrTimeoutDueToLeaderFail\n\t\t}\n\t\tlead := types.ID(s.getLead())\n\t\tswitch lead {\n\t\tcase types.ID(raft.None):\n\t\t\t// TODO: return error to specify it happens because the cluster does not have leader now\n\t\tcase s.ID():\n\t\t\tif !isConnectedToQuorumSince(s.r.transport, start, s.ID(), s.cluster.Members()) {\n\t\t\t\treturn ErrTimeoutDueToConnectionLost\n\t\t\t}\n\t\tdefault:\n\t\t\tif !isConnectedSince(s.r.transport, start, lead) {\n\t\t\t\treturn ErrTimeoutDueToConnectionLost\n\t\t\t}\n\t\t}\n\t\treturn ErrTimeout\n\n\tdefault:\n\t\treturn err\n\t}\n}\n\nfunc (s *EtcdServer) KV() mvcc.ConsistentWatchableKV { return s.kv }\nfunc (s *EtcdServer) Backend() backend.Backend {\n\ts.bemu.Lock()\n\tdefer s.bemu.Unlock()\n\treturn s.be\n}\n\nfunc (s *EtcdServer) AuthStore() auth.AuthStore { return s.authStore }\n\nfunc (s *EtcdServer) restoreAlarms() error {\n\ts.applyV3 = s.newApplierV3()\n\tas, err := v3alarm.NewAlarmStore(s)\n\tif err != nil {\n\t\treturn err\n\t}\n\ts.alarmStore = as\n\tif len(as.Get(pb.AlarmType_NOSPACE)) > 0 {\n\t\ts.applyV3 = newApplierV3Capped(s.applyV3)\n\t}\n\tif len(as.Get(pb.AlarmType_CORRUPT)) > 0 {\n\t\ts.applyV3 = newApplierV3Corrupt(s.applyV3)\n\t}\n\treturn nil\n}\n\n// goAttach creates a goroutine on a given function and tracks it using\n// the etcdserver waitgroup.\nfunc (s *EtcdServer) goAttach(f func()) {\n\ts.wgMu.RLock() // this blocks with ongoing close(s.stopping)\n\tdefer s.wgMu.RUnlock()\n\tselect {\n\tcase <-s.stopping:\n\t\tif lg := s.getLogger(); lg != nil {\n\t\t\tlg.Warn(\"server has stopped; skipping goAttach\")\n\t\t} else {\n\t\t\tplog.Warning(\"server has stopped (skipping goAttach)\")\n\t\t}\n\t\treturn\n\tdefault:\n\t}\n\n\t// now safe to add since waitgroup wait has not started yet\n\ts.wg.Add(1)\n\tgo func() {\n\t\tdefer s.wg.Done()\n\t\tf()\n\t}()\n}\n\nfunc (s *EtcdServer) Alarms() []*pb.AlarmMember {\n\treturn s.alarmStore.Get(pb.AlarmType_NONE)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/server_access_control.go",
    "content": "// Copyright 2018 The etcd Authors\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\npackage etcdserver\n\nimport \"sync\"\n\n// AccessController controls etcd server HTTP request access.\ntype AccessController struct {\n\tcorsMu          sync.RWMutex\n\tCORS            map[string]struct{}\n\thostWhitelistMu sync.RWMutex\n\tHostWhitelist   map[string]struct{}\n}\n\n// NewAccessController returns a new \"AccessController\" with default \"*\" values.\nfunc NewAccessController() *AccessController {\n\treturn &AccessController{\n\t\tCORS:          map[string]struct{}{\"*\": {}},\n\t\tHostWhitelist: map[string]struct{}{\"*\": {}},\n\t}\n}\n\n// OriginAllowed determines whether the server will allow a given CORS origin.\n// If CORS is empty, allow all.\nfunc (ac *AccessController) OriginAllowed(origin string) bool {\n\tac.corsMu.RLock()\n\tdefer ac.corsMu.RUnlock()\n\tif len(ac.CORS) == 0 { // allow all\n\t\treturn true\n\t}\n\t_, ok := ac.CORS[\"*\"]\n\tif ok {\n\t\treturn true\n\t}\n\t_, ok = ac.CORS[origin]\n\treturn ok\n}\n\n// IsHostWhitelisted returns true if the host is whitelisted.\n// If whitelist is empty, allow all.\nfunc (ac *AccessController) IsHostWhitelisted(host string) bool {\n\tac.hostWhitelistMu.RLock()\n\tdefer ac.hostWhitelistMu.RUnlock()\n\tif len(ac.HostWhitelist) == 0 { // allow all\n\t\treturn true\n\t}\n\t_, ok := ac.HostWhitelist[\"*\"]\n\tif ok {\n\t\treturn true\n\t}\n\t_, ok = ac.HostWhitelist[host]\n\treturn ok\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/snapshot_merge.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"io\"\n\n\t\"github.com/coreos/etcd/etcdserver/api/snap\"\n\t\"github.com/coreos/etcd/mvcc/backend\"\n\t\"github.com/coreos/etcd/raft/raftpb\"\n\n\thumanize \"github.com/dustin/go-humanize\"\n\t\"go.uber.org/zap\"\n)\n\n// createMergedSnapshotMessage creates a snapshot message that contains: raft status (term, conf),\n// a snapshot of v2 store inside raft.Snapshot as []byte, a snapshot of v3 KV in the top level message\n// as ReadCloser.\nfunc (s *EtcdServer) createMergedSnapshotMessage(m raftpb.Message, snapt, snapi uint64, confState raftpb.ConfState) snap.Message {\n\t// get a snapshot of v2 store as []byte\n\tclone := s.v2store.Clone()\n\td, err := clone.SaveNoCopy()\n\tif err != nil {\n\t\tif lg := s.getLogger(); lg != nil {\n\t\t\tlg.Panic(\"failed to save v2 store data\", zap.Error(err))\n\t\t} else {\n\t\t\tplog.Panicf(\"store save should never fail: %v\", err)\n\t\t}\n\t}\n\n\t// commit kv to write metadata(for example: consistent index).\n\ts.KV().Commit()\n\tdbsnap := s.be.Snapshot()\n\t// get a snapshot of v3 KV as readCloser\n\trc := newSnapshotReaderCloser(s.getLogger(), dbsnap)\n\n\t// put the []byte snapshot of store into raft snapshot and return the merged snapshot with\n\t// KV readCloser snapshot.\n\tsnapshot := raftpb.Snapshot{\n\t\tMetadata: raftpb.SnapshotMetadata{\n\t\t\tIndex:     snapi,\n\t\t\tTerm:      snapt,\n\t\t\tConfState: confState,\n\t\t},\n\t\tData: d,\n\t}\n\tm.Snapshot = snapshot\n\n\treturn *snap.NewMessage(m, rc, dbsnap.Size())\n}\n\nfunc newSnapshotReaderCloser(lg *zap.Logger, snapshot backend.Snapshot) io.ReadCloser {\n\tpr, pw := io.Pipe()\n\tgo func() {\n\t\tn, err := snapshot.WriteTo(pw)\n\t\tif err == nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Info(\n\t\t\t\t\t\"sent database snapshot to writer\",\n\t\t\t\t\tzap.Int64(\"bytes\", n),\n\t\t\t\t\tzap.String(\"size\", humanize.Bytes(uint64(n))),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Infof(\"wrote database snapshot out [total bytes: %d]\", n)\n\t\t\t}\n\t\t} else {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\n\t\t\t\t\t\"failed to send database snapshot to writer\",\n\t\t\t\t\tzap.String(\"size\", humanize.Bytes(uint64(n))),\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Warningf(\"failed to write database snapshot out [written bytes: %d]: %v\", n, err)\n\t\t\t}\n\t\t}\n\t\tpw.CloseWithError(err)\n\t\terr = snapshot.Close()\n\t\tif err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"failed to close database snapshot\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"failed to close database snapshot: %v\", err)\n\t\t\t}\n\t\t}\n\t}()\n\treturn pr\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/storage.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"io\"\n\n\t\"github.com/coreos/etcd/etcdserver/api/snap\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/pkg/pbutil\"\n\t\"github.com/coreos/etcd/pkg/types\"\n\t\"github.com/coreos/etcd/raft/raftpb\"\n\t\"github.com/coreos/etcd/wal\"\n\t\"github.com/coreos/etcd/wal/walpb\"\n\n\t\"go.uber.org/zap\"\n)\n\ntype Storage interface {\n\t// Save function saves ents and state to the underlying stable storage.\n\t// Save MUST block until st and ents are on stable storage.\n\tSave(st raftpb.HardState, ents []raftpb.Entry) error\n\t// SaveSnap function saves snapshot to the underlying stable storage.\n\tSaveSnap(snap raftpb.Snapshot) error\n\t// Close closes the Storage and performs finalization.\n\tClose() error\n}\n\ntype storage struct {\n\t*wal.WAL\n\t*snap.Snapshotter\n}\n\nfunc NewStorage(w *wal.WAL, s *snap.Snapshotter) Storage {\n\treturn &storage{w, s}\n}\n\n// SaveSnap saves the snapshot to disk and release the locked\n// wal files since they will not be used.\nfunc (st *storage) SaveSnap(snap raftpb.Snapshot) error {\n\twalsnap := walpb.Snapshot{\n\t\tIndex: snap.Metadata.Index,\n\t\tTerm:  snap.Metadata.Term,\n\t}\n\terr := st.WAL.SaveSnapshot(walsnap)\n\tif err != nil {\n\t\treturn err\n\t}\n\terr = st.Snapshotter.SaveSnap(snap)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn st.WAL.ReleaseLockTo(snap.Metadata.Index)\n}\n\nfunc readWAL(lg *zap.Logger, waldir string, snap walpb.Snapshot) (w *wal.WAL, id, cid types.ID, st raftpb.HardState, ents []raftpb.Entry) {\n\tvar (\n\t\terr       error\n\t\twmetadata []byte\n\t)\n\n\trepaired := false\n\tfor {\n\t\tif w, err = wal.Open(lg, waldir, snap); err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Fatal(\"failed to open WAL\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Fatalf(\"open wal error: %v\", err)\n\t\t\t}\n\t\t}\n\t\tif wmetadata, st, ents, err = w.ReadAll(); err != nil {\n\t\t\tw.Close()\n\t\t\t// we can only repair ErrUnexpectedEOF and we never repair twice.\n\t\t\tif repaired || err != io.ErrUnexpectedEOF {\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Fatal(\"failed to read WAL, cannot be repaired\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Fatalf(\"read wal error (%v) and cannot be repaired\", err)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !wal.Repair(lg, waldir) {\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Fatal(\"failed to repair WAL\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Fatalf(\"WAL error (%v) cannot be repaired\", err)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Info(\"repaired WAL\", zap.Error(err))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Infof(\"repaired WAL error (%v)\", err)\n\t\t\t\t}\n\t\t\t\trepaired = true\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\tvar metadata pb.Metadata\n\tpbutil.MustUnmarshal(&metadata, wmetadata)\n\tid = types.ID(metadata.NodeID)\n\tcid = types.ID(metadata.ClusterID)\n\treturn w, id, cid, st, ents\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/util.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"fmt\"\n\t\"reflect\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/etcdserver/api/membership\"\n\t\"github.com/coreos/etcd/etcdserver/api/rafthttp\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/pkg/types\"\n\t\"github.com/golang/protobuf/proto\"\n\n\t\"go.uber.org/zap\"\n)\n\n// isConnectedToQuorumSince checks whether the local member is connected to the\n// quorum of the cluster since the given time.\nfunc isConnectedToQuorumSince(transport rafthttp.Transporter, since time.Time, self types.ID, members []*membership.Member) bool {\n\treturn numConnectedSince(transport, since, self, members) >= (len(members)/2)+1\n}\n\n// isConnectedSince checks whether the local member is connected to the\n// remote member since the given time.\nfunc isConnectedSince(transport rafthttp.Transporter, since time.Time, remote types.ID) bool {\n\tt := transport.ActiveSince(remote)\n\treturn !t.IsZero() && t.Before(since)\n}\n\n// isConnectedFullySince checks whether the local member is connected to all\n// members in the cluster since the given time.\nfunc isConnectedFullySince(transport rafthttp.Transporter, since time.Time, self types.ID, members []*membership.Member) bool {\n\treturn numConnectedSince(transport, since, self, members) == len(members)\n}\n\n// numConnectedSince counts how many members are connected to the local member\n// since the given time.\nfunc numConnectedSince(transport rafthttp.Transporter, since time.Time, self types.ID, members []*membership.Member) int {\n\tconnectedNum := 0\n\tfor _, m := range members {\n\t\tif m.ID == self || isConnectedSince(transport, since, m.ID) {\n\t\t\tconnectedNum++\n\t\t}\n\t}\n\treturn connectedNum\n}\n\n// longestConnected chooses the member with longest active-since-time.\n// It returns false, if nothing is active.\nfunc longestConnected(tp rafthttp.Transporter, membs []types.ID) (types.ID, bool) {\n\tvar longest types.ID\n\tvar oldest time.Time\n\tfor _, id := range membs {\n\t\ttm := tp.ActiveSince(id)\n\t\tif tm.IsZero() { // inactive\n\t\t\tcontinue\n\t\t}\n\n\t\tif oldest.IsZero() { // first longest candidate\n\t\t\toldest = tm\n\t\t\tlongest = id\n\t\t}\n\n\t\tif tm.Before(oldest) {\n\t\t\toldest = tm\n\t\t\tlongest = id\n\t\t}\n\t}\n\tif uint64(longest) == 0 {\n\t\treturn longest, false\n\t}\n\treturn longest, true\n}\n\ntype notifier struct {\n\tc   chan struct{}\n\terr error\n}\n\nfunc newNotifier() *notifier {\n\treturn &notifier{\n\t\tc: make(chan struct{}),\n\t}\n}\n\nfunc (nc *notifier) notify(err error) {\n\tnc.err = err\n\tclose(nc.c)\n}\n\nfunc warnOfExpensiveRequest(lg *zap.Logger, now time.Time, reqStringer fmt.Stringer, respMsg proto.Message, err error) {\n\tvar resp string\n\tif !isNil(respMsg) {\n\t\tresp = fmt.Sprintf(\"size:%d\", proto.Size(respMsg))\n\t}\n\twarnOfExpensiveGenericRequest(lg, now, reqStringer, \"\", resp, err)\n}\n\nfunc warnOfExpensiveReadOnlyTxnRequest(lg *zap.Logger, now time.Time, r *pb.TxnRequest, txnResponse *pb.TxnResponse, err error) {\n\treqStringer := pb.NewLoggableTxnRequest(r)\n\tvar resp string\n\tif !isNil(txnResponse) {\n\t\tvar resps []string\n\t\tfor _, r := range txnResponse.Responses {\n\t\t\tswitch op := r.Response.(type) {\n\t\t\tcase *pb.ResponseOp_ResponseRange:\n\t\t\t\tresps = append(resps, fmt.Sprintf(\"range_response_count:%d\", len(op.ResponseRange.Kvs)))\n\t\t\tdefault:\n\t\t\t\t// only range responses should be in a read only txn request\n\t\t\t}\n\t\t}\n\t\tresp = fmt.Sprintf(\"responses:<%s> size:%d\", strings.Join(resps, \" \"), proto.Size(txnResponse))\n\t}\n\twarnOfExpensiveGenericRequest(lg, now, reqStringer, \"read-only range \", resp, err)\n}\n\nfunc warnOfExpensiveReadOnlyRangeRequest(lg *zap.Logger, now time.Time, reqStringer fmt.Stringer, rangeResponse *pb.RangeResponse, err error) {\n\tvar resp string\n\tif !isNil(rangeResponse) {\n\t\tresp = fmt.Sprintf(\"range_response_count:%d size:%d\", len(rangeResponse.Kvs), proto.Size(rangeResponse))\n\t}\n\twarnOfExpensiveGenericRequest(lg, now, reqStringer, \"read-only range \", resp, err)\n}\n\nfunc warnOfExpensiveGenericRequest(lg *zap.Logger, now time.Time, reqStringer fmt.Stringer, prefix string, resp string, err error) {\n\td := time.Since(now)\n\tif d > warnApplyDuration {\n\t\tif lg != nil {\n\t\t\tlg.Warn(\n\t\t\t\t\"apply request took too long\",\n\t\t\t\tzap.Duration(\"took\", d),\n\t\t\t\tzap.Duration(\"expected-duration\", warnApplyDuration),\n\t\t\t\tzap.String(\"prefix\", prefix),\n\t\t\t\tzap.String(\"request\", reqStringer.String()),\n\t\t\t\tzap.String(\"response\", resp),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tvar result string\n\t\t\tif err != nil {\n\t\t\t\tresult = fmt.Sprintf(\"error:%v\", err)\n\t\t\t} else {\n\t\t\t\tresult = resp\n\t\t\t}\n\t\t\tplog.Warningf(\"%srequest %q with result %q took too long (%v) to execute\", prefix, reqStringer.String(), result, d)\n\t\t}\n\t\tslowApplies.Inc()\n\t}\n}\n\nfunc isNil(msg proto.Message) bool {\n\treturn msg == nil || reflect.ValueOf(msg).IsNil()\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/v2_server.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"context\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/etcdserver/api/v2store\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n)\n\ntype RequestV2 pb.Request\n\ntype RequestV2Handler interface {\n\tPost(ctx context.Context, r *RequestV2) (Response, error)\n\tPut(ctx context.Context, r *RequestV2) (Response, error)\n\tDelete(ctx context.Context, r *RequestV2) (Response, error)\n\tQGet(ctx context.Context, r *RequestV2) (Response, error)\n\tGet(ctx context.Context, r *RequestV2) (Response, error)\n\tHead(ctx context.Context, r *RequestV2) (Response, error)\n}\n\ntype reqV2HandlerEtcdServer struct {\n\treqV2HandlerStore\n\ts *EtcdServer\n}\n\ntype reqV2HandlerStore struct {\n\tstore   v2store.Store\n\tapplier ApplierV2\n}\n\nfunc NewStoreRequestV2Handler(s v2store.Store, applier ApplierV2) RequestV2Handler {\n\treturn &reqV2HandlerStore{s, applier}\n}\n\nfunc (a *reqV2HandlerStore) Post(ctx context.Context, r *RequestV2) (Response, error) {\n\treturn a.applier.Post(r), nil\n}\n\nfunc (a *reqV2HandlerStore) Put(ctx context.Context, r *RequestV2) (Response, error) {\n\treturn a.applier.Put(r), nil\n}\n\nfunc (a *reqV2HandlerStore) Delete(ctx context.Context, r *RequestV2) (Response, error) {\n\treturn a.applier.Delete(r), nil\n}\n\nfunc (a *reqV2HandlerStore) QGet(ctx context.Context, r *RequestV2) (Response, error) {\n\treturn a.applier.QGet(r), nil\n}\n\nfunc (a *reqV2HandlerStore) Get(ctx context.Context, r *RequestV2) (Response, error) {\n\tif r.Wait {\n\t\twc, err := a.store.Watch(r.Path, r.Recursive, r.Stream, r.Since)\n\t\treturn Response{Watcher: wc}, err\n\t}\n\tev, err := a.store.Get(r.Path, r.Recursive, r.Sorted)\n\treturn Response{Event: ev}, err\n}\n\nfunc (a *reqV2HandlerStore) Head(ctx context.Context, r *RequestV2) (Response, error) {\n\tev, err := a.store.Get(r.Path, r.Recursive, r.Sorted)\n\treturn Response{Event: ev}, err\n}\n\nfunc (a *reqV2HandlerEtcdServer) Post(ctx context.Context, r *RequestV2) (Response, error) {\n\treturn a.processRaftRequest(ctx, r)\n}\n\nfunc (a *reqV2HandlerEtcdServer) Put(ctx context.Context, r *RequestV2) (Response, error) {\n\treturn a.processRaftRequest(ctx, r)\n}\n\nfunc (a *reqV2HandlerEtcdServer) Delete(ctx context.Context, r *RequestV2) (Response, error) {\n\treturn a.processRaftRequest(ctx, r)\n}\n\nfunc (a *reqV2HandlerEtcdServer) QGet(ctx context.Context, r *RequestV2) (Response, error) {\n\treturn a.processRaftRequest(ctx, r)\n}\n\nfunc (a *reqV2HandlerEtcdServer) processRaftRequest(ctx context.Context, r *RequestV2) (Response, error) {\n\tdata, err := ((*pb.Request)(r)).Marshal()\n\tif err != nil {\n\t\treturn Response{}, err\n\t}\n\tch := a.s.w.Register(r.ID)\n\n\tstart := time.Now()\n\ta.s.r.Propose(ctx, data)\n\tproposalsPending.Inc()\n\tdefer proposalsPending.Dec()\n\n\tselect {\n\tcase x := <-ch:\n\t\tresp := x.(Response)\n\t\treturn resp, resp.Err\n\tcase <-ctx.Done():\n\t\tproposalsFailed.Inc()\n\t\ta.s.w.Trigger(r.ID, nil) // GC wait\n\t\treturn Response{}, a.s.parseProposeCtxErr(ctx.Err(), start)\n\tcase <-a.s.stopping:\n\t}\n\treturn Response{}, ErrStopped\n}\n\nfunc (s *EtcdServer) Do(ctx context.Context, r pb.Request) (Response, error) {\n\tr.ID = s.reqIDGen.Next()\n\th := &reqV2HandlerEtcdServer{\n\t\treqV2HandlerStore: reqV2HandlerStore{\n\t\t\tstore:   s.v2store,\n\t\t\tapplier: s.applyV2,\n\t\t},\n\t\ts: s,\n\t}\n\trp := &r\n\tresp, err := ((*RequestV2)(rp)).Handle(ctx, h)\n\tresp.Term, resp.Index = s.Term(), s.CommittedIndex()\n\treturn resp, err\n}\n\n// Handle interprets r and performs an operation on s.store according to r.Method\n// and other fields. If r.Method is \"POST\", \"PUT\", \"DELETE\", or a \"GET\" with\n// Quorum == true, r will be sent through consensus before performing its\n// respective operation. Do will block until an action is performed or there is\n// an error.\nfunc (r *RequestV2) Handle(ctx context.Context, v2api RequestV2Handler) (Response, error) {\n\tif r.Method == \"GET\" && r.Quorum {\n\t\tr.Method = \"QGET\"\n\t}\n\tswitch r.Method {\n\tcase \"POST\":\n\t\treturn v2api.Post(ctx, r)\n\tcase \"PUT\":\n\t\treturn v2api.Put(ctx, r)\n\tcase \"DELETE\":\n\t\treturn v2api.Delete(ctx, r)\n\tcase \"QGET\":\n\t\treturn v2api.QGet(ctx, r)\n\tcase \"GET\":\n\t\treturn v2api.Get(ctx, r)\n\tcase \"HEAD\":\n\t\treturn v2api.Head(ctx, r)\n\t}\n\treturn Response{}, ErrUnknownMethod\n}\n\nfunc (r *RequestV2) String() string {\n\trpb := pb.Request(*r)\n\treturn rpb.String()\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/etcdserver/v3_server.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage etcdserver\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"encoding/binary\"\n\t\"fmt\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/auth\"\n\t\"github.com/coreos/etcd/etcdserver/api/membership\"\n\tpb \"github.com/coreos/etcd/etcdserver/etcdserverpb\"\n\t\"github.com/coreos/etcd/lease\"\n\t\"github.com/coreos/etcd/lease/leasehttp\"\n\t\"github.com/coreos/etcd/mvcc\"\n\t\"github.com/coreos/etcd/raft\"\n\n\t\"github.com/gogo/protobuf/proto\"\n\t\"go.uber.org/zap\"\n)\n\nconst (\n\t// In the health case, there might be a small gap (10s of entries) between\n\t// the applied index and committed index.\n\t// However, if the committed entries are very heavy to apply, the gap might grow.\n\t// We should stop accepting new proposals if the gap growing to a certain point.\n\tmaxGapBetweenApplyAndCommitIndex = 5000\n)\n\ntype RaftKV interface {\n\tRange(ctx context.Context, r *pb.RangeRequest) (*pb.RangeResponse, error)\n\tPut(ctx context.Context, r *pb.PutRequest) (*pb.PutResponse, error)\n\tDeleteRange(ctx context.Context, r *pb.DeleteRangeRequest) (*pb.DeleteRangeResponse, error)\n\tTxn(ctx context.Context, r *pb.TxnRequest) (*pb.TxnResponse, error)\n\tCompact(ctx context.Context, r *pb.CompactionRequest) (*pb.CompactionResponse, error)\n}\n\ntype Lessor interface {\n\t// LeaseGrant sends LeaseGrant request to raft and apply it after committed.\n\tLeaseGrant(ctx context.Context, r *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error)\n\t// LeaseRevoke sends LeaseRevoke request to raft and apply it after committed.\n\tLeaseRevoke(ctx context.Context, r *pb.LeaseRevokeRequest) (*pb.LeaseRevokeResponse, error)\n\n\t// LeaseRenew renews the lease with given ID. The renewed TTL is returned. Or an error\n\t// is returned.\n\tLeaseRenew(ctx context.Context, id lease.LeaseID) (int64, error)\n\n\t// LeaseTimeToLive retrieves lease information.\n\tLeaseTimeToLive(ctx context.Context, r *pb.LeaseTimeToLiveRequest) (*pb.LeaseTimeToLiveResponse, error)\n\n\t// LeaseLeases lists all leases.\n\tLeaseLeases(ctx context.Context, r *pb.LeaseLeasesRequest) (*pb.LeaseLeasesResponse, error)\n}\n\ntype Authenticator interface {\n\tAuthEnable(ctx context.Context, r *pb.AuthEnableRequest) (*pb.AuthEnableResponse, error)\n\tAuthDisable(ctx context.Context, r *pb.AuthDisableRequest) (*pb.AuthDisableResponse, error)\n\tAuthenticate(ctx context.Context, r *pb.AuthenticateRequest) (*pb.AuthenticateResponse, error)\n\tUserAdd(ctx context.Context, r *pb.AuthUserAddRequest) (*pb.AuthUserAddResponse, error)\n\tUserDelete(ctx context.Context, r *pb.AuthUserDeleteRequest) (*pb.AuthUserDeleteResponse, error)\n\tUserChangePassword(ctx context.Context, r *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error)\n\tUserGrantRole(ctx context.Context, r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error)\n\tUserGet(ctx context.Context, r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error)\n\tUserRevokeRole(ctx context.Context, r *pb.AuthUserRevokeRoleRequest) (*pb.AuthUserRevokeRoleResponse, error)\n\tRoleAdd(ctx context.Context, r *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error)\n\tRoleGrantPermission(ctx context.Context, r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error)\n\tRoleGet(ctx context.Context, r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error)\n\tRoleRevokePermission(ctx context.Context, r *pb.AuthRoleRevokePermissionRequest) (*pb.AuthRoleRevokePermissionResponse, error)\n\tRoleDelete(ctx context.Context, r *pb.AuthRoleDeleteRequest) (*pb.AuthRoleDeleteResponse, error)\n\tUserList(ctx context.Context, r *pb.AuthUserListRequest) (*pb.AuthUserListResponse, error)\n\tRoleList(ctx context.Context, r *pb.AuthRoleListRequest) (*pb.AuthRoleListResponse, error)\n}\n\nfunc (s *EtcdServer) Range(ctx context.Context, r *pb.RangeRequest) (*pb.RangeResponse, error) {\n\tvar resp *pb.RangeResponse\n\tvar err error\n\tdefer func(start time.Time) {\n\t\twarnOfExpensiveReadOnlyRangeRequest(s.getLogger(), start, r, resp, err)\n\t}(time.Now())\n\n\tif !r.Serializable {\n\t\terr = s.linearizableReadNotify(ctx)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tchk := func(ai *auth.AuthInfo) error {\n\t\treturn s.authStore.IsRangePermitted(ai, r.Key, r.RangeEnd)\n\t}\n\n\tget := func() { resp, err = s.applyV3Base.Range(nil, r) }\n\tif serr := s.doSerialize(ctx, chk, get); serr != nil {\n\t\terr = serr\n\t\treturn nil, err\n\t}\n\treturn resp, err\n}\n\nfunc (s *EtcdServer) Put(ctx context.Context, r *pb.PutRequest) (*pb.PutResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{Put: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.PutResponse), nil\n}\n\nfunc (s *EtcdServer) DeleteRange(ctx context.Context, r *pb.DeleteRangeRequest) (*pb.DeleteRangeResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{DeleteRange: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.DeleteRangeResponse), nil\n}\n\nfunc (s *EtcdServer) Txn(ctx context.Context, r *pb.TxnRequest) (*pb.TxnResponse, error) {\n\tif isTxnReadonly(r) {\n\t\tif !isTxnSerializable(r) {\n\t\t\terr := s.linearizableReadNotify(ctx)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\tvar resp *pb.TxnResponse\n\t\tvar err error\n\t\tchk := func(ai *auth.AuthInfo) error {\n\t\t\treturn checkTxnAuth(s.authStore, ai, r)\n\t\t}\n\n\t\tdefer func(start time.Time) {\n\t\t\twarnOfExpensiveReadOnlyTxnRequest(s.getLogger(), start, r, resp, err)\n\t\t}(time.Now())\n\n\t\tget := func() { resp, err = s.applyV3Base.Txn(r) }\n\t\tif serr := s.doSerialize(ctx, chk, get); serr != nil {\n\t\t\treturn nil, serr\n\t\t}\n\t\treturn resp, err\n\t}\n\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{Txn: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.TxnResponse), nil\n}\n\nfunc isTxnSerializable(r *pb.TxnRequest) bool {\n\tfor _, u := range r.Success {\n\t\tif r := u.GetRequestRange(); r == nil || !r.Serializable {\n\t\t\treturn false\n\t\t}\n\t}\n\tfor _, u := range r.Failure {\n\t\tif r := u.GetRequestRange(); r == nil || !r.Serializable {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nfunc isTxnReadonly(r *pb.TxnRequest) bool {\n\tfor _, u := range r.Success {\n\t\tif r := u.GetRequestRange(); r == nil {\n\t\t\treturn false\n\t\t}\n\t}\n\tfor _, u := range r.Failure {\n\t\tif r := u.GetRequestRange(); r == nil {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nfunc (s *EtcdServer) Compact(ctx context.Context, r *pb.CompactionRequest) (*pb.CompactionResponse, error) {\n\tresult, err := s.processInternalRaftRequestOnce(ctx, pb.InternalRaftRequest{Compaction: r})\n\tif r.Physical && result != nil && result.physc != nil {\n\t\t<-result.physc\n\t\t// The compaction is done deleting keys; the hash is now settled\n\t\t// but the data is not necessarily committed. If there's a crash,\n\t\t// the hash may revert to a hash prior to compaction completing\n\t\t// if the compaction resumes. Force the finished compaction to\n\t\t// commit so it won't resume following a crash.\n\t\ts.be.ForceCommit()\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif result.err != nil {\n\t\treturn nil, result.err\n\t}\n\tresp := result.resp.(*pb.CompactionResponse)\n\tif resp == nil {\n\t\tresp = &pb.CompactionResponse{}\n\t}\n\tif resp.Header == nil {\n\t\tresp.Header = &pb.ResponseHeader{}\n\t}\n\tresp.Header.Revision = s.kv.Rev()\n\treturn resp, nil\n}\n\nfunc (s *EtcdServer) LeaseGrant(ctx context.Context, r *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error) {\n\t// no id given? choose one\n\tfor r.ID == int64(lease.NoLease) {\n\t\t// only use positive int64 id's\n\t\tr.ID = int64(s.reqIDGen.Next() & ((1 << 63) - 1))\n\t}\n\tresp, err := s.raftRequestOnce(ctx, pb.InternalRaftRequest{LeaseGrant: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.LeaseGrantResponse), nil\n}\n\nfunc (s *EtcdServer) LeaseRevoke(ctx context.Context, r *pb.LeaseRevokeRequest) (*pb.LeaseRevokeResponse, error) {\n\tresp, err := s.raftRequestOnce(ctx, pb.InternalRaftRequest{LeaseRevoke: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.LeaseRevokeResponse), nil\n}\n\nfunc (s *EtcdServer) LeaseRenew(ctx context.Context, id lease.LeaseID) (int64, error) {\n\tttl, err := s.lessor.Renew(id)\n\tif err == nil { // already requested to primary lessor(leader)\n\t\treturn ttl, nil\n\t}\n\tif err != lease.ErrNotPrimary {\n\t\treturn -1, err\n\t}\n\n\tcctx, cancel := context.WithTimeout(ctx, s.Cfg.ReqTimeout())\n\tdefer cancel()\n\n\t// renewals don't go through raft; forward to leader manually\n\tfor cctx.Err() == nil && err != nil {\n\t\tleader, lerr := s.waitLeader(cctx)\n\t\tif lerr != nil {\n\t\t\treturn -1, lerr\n\t\t}\n\t\tfor _, url := range leader.PeerURLs {\n\t\t\tlurl := url + leasehttp.LeasePrefix\n\t\t\tttl, err = leasehttp.RenewHTTP(cctx, id, lurl, s.peerRt)\n\t\t\tif err == nil || err == lease.ErrLeaseNotFound {\n\t\t\t\treturn ttl, err\n\t\t\t}\n\t\t}\n\t}\n\treturn -1, ErrTimeout\n}\n\nfunc (s *EtcdServer) LeaseTimeToLive(ctx context.Context, r *pb.LeaseTimeToLiveRequest) (*pb.LeaseTimeToLiveResponse, error) {\n\tif s.Leader() == s.ID() {\n\t\t// primary; timetolive directly from leader\n\t\tle := s.lessor.Lookup(lease.LeaseID(r.ID))\n\t\tif le == nil {\n\t\t\treturn nil, lease.ErrLeaseNotFound\n\t\t}\n\t\t// TODO: fill out ResponseHeader\n\t\tresp := &pb.LeaseTimeToLiveResponse{Header: &pb.ResponseHeader{}, ID: r.ID, TTL: int64(le.Remaining().Seconds()), GrantedTTL: le.TTL()}\n\t\tif r.Keys {\n\t\t\tks := le.Keys()\n\t\t\tkbs := make([][]byte, len(ks))\n\t\t\tfor i := range ks {\n\t\t\t\tkbs[i] = []byte(ks[i])\n\t\t\t}\n\t\t\tresp.Keys = kbs\n\t\t}\n\t\treturn resp, nil\n\t}\n\n\tcctx, cancel := context.WithTimeout(ctx, s.Cfg.ReqTimeout())\n\tdefer cancel()\n\n\t// forward to leader\n\tfor cctx.Err() == nil {\n\t\tleader, err := s.waitLeader(cctx)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tfor _, url := range leader.PeerURLs {\n\t\t\tlurl := url + leasehttp.LeaseInternalPrefix\n\t\t\tresp, err := leasehttp.TimeToLiveHTTP(cctx, lease.LeaseID(r.ID), r.Keys, lurl, s.peerRt)\n\t\t\tif err == nil {\n\t\t\t\treturn resp.LeaseTimeToLiveResponse, nil\n\t\t\t}\n\t\t\tif err == lease.ErrLeaseNotFound {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t}\n\treturn nil, ErrTimeout\n}\n\nfunc (s *EtcdServer) LeaseLeases(ctx context.Context, r *pb.LeaseLeasesRequest) (*pb.LeaseLeasesResponse, error) {\n\tls := s.lessor.Leases()\n\tlss := make([]*pb.LeaseStatus, len(ls))\n\tfor i := range ls {\n\t\tlss[i] = &pb.LeaseStatus{ID: int64(ls[i].ID)}\n\t}\n\treturn &pb.LeaseLeasesResponse{Header: newHeader(s), Leases: lss}, nil\n}\n\nfunc (s *EtcdServer) waitLeader(ctx context.Context) (*membership.Member, error) {\n\tleader := s.cluster.Member(s.Leader())\n\tfor leader == nil {\n\t\t// wait an election\n\t\tdur := time.Duration(s.Cfg.ElectionTicks) * time.Duration(s.Cfg.TickMs) * time.Millisecond\n\t\tselect {\n\t\tcase <-time.After(dur):\n\t\t\tleader = s.cluster.Member(s.Leader())\n\t\tcase <-s.stopping:\n\t\t\treturn nil, ErrStopped\n\t\tcase <-ctx.Done():\n\t\t\treturn nil, ErrNoLeader\n\t\t}\n\t}\n\tif leader == nil || len(leader.PeerURLs) == 0 {\n\t\treturn nil, ErrNoLeader\n\t}\n\treturn leader, nil\n}\n\nfunc (s *EtcdServer) Alarm(ctx context.Context, r *pb.AlarmRequest) (*pb.AlarmResponse, error) {\n\tresp, err := s.raftRequestOnce(ctx, pb.InternalRaftRequest{Alarm: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AlarmResponse), nil\n}\n\nfunc (s *EtcdServer) AuthEnable(ctx context.Context, r *pb.AuthEnableRequest) (*pb.AuthEnableResponse, error) {\n\tresp, err := s.raftRequestOnce(ctx, pb.InternalRaftRequest{AuthEnable: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthEnableResponse), nil\n}\n\nfunc (s *EtcdServer) AuthDisable(ctx context.Context, r *pb.AuthDisableRequest) (*pb.AuthDisableResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthDisable: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthDisableResponse), nil\n}\n\nfunc (s *EtcdServer) Authenticate(ctx context.Context, r *pb.AuthenticateRequest) (*pb.AuthenticateResponse, error) {\n\tif err := s.linearizableReadNotify(ctx); err != nil {\n\t\treturn nil, err\n\t}\n\n\tlg := s.getLogger()\n\n\tvar resp proto.Message\n\tfor {\n\t\tcheckedRevision, err := s.AuthStore().CheckPassword(r.Name, r.Password)\n\t\tif err != nil {\n\t\t\tif err != auth.ErrAuthNotEnabled {\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Warn(\n\t\t\t\t\t\t\"invalid authentication was requested\",\n\t\t\t\t\t\tzap.String(\"user\", r.Name),\n\t\t\t\t\t\tzap.Error(err),\n\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\tplog.Errorf(\"invalid authentication request to user %s was issued\", r.Name)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn nil, err\n\t\t}\n\n\t\tst, err := s.AuthStore().GenTokenPrefix()\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tinternalReq := &pb.InternalAuthenticateRequest{\n\t\t\tName:        r.Name,\n\t\t\tPassword:    r.Password,\n\t\t\tSimpleToken: st,\n\t\t}\n\n\t\tresp, err = s.raftRequestOnce(ctx, pb.InternalRaftRequest{Authenticate: internalReq})\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tif checkedRevision == s.AuthStore().Revision() {\n\t\t\tbreak\n\t\t}\n\n\t\tif lg != nil {\n\t\t\tlg.Info(\"revision when password checked became stale; retrying\")\n\t\t} else {\n\t\t\tplog.Infof(\"revision when password checked is obsolete, retrying\")\n\t\t}\n\t}\n\n\treturn resp.(*pb.AuthenticateResponse), nil\n}\n\nfunc (s *EtcdServer) UserAdd(ctx context.Context, r *pb.AuthUserAddRequest) (*pb.AuthUserAddResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthUserAdd: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthUserAddResponse), nil\n}\n\nfunc (s *EtcdServer) UserDelete(ctx context.Context, r *pb.AuthUserDeleteRequest) (*pb.AuthUserDeleteResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthUserDelete: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthUserDeleteResponse), nil\n}\n\nfunc (s *EtcdServer) UserChangePassword(ctx context.Context, r *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthUserChangePassword: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthUserChangePasswordResponse), nil\n}\n\nfunc (s *EtcdServer) UserGrantRole(ctx context.Context, r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthUserGrantRole: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthUserGrantRoleResponse), nil\n}\n\nfunc (s *EtcdServer) UserGet(ctx context.Context, r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthUserGet: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthUserGetResponse), nil\n}\n\nfunc (s *EtcdServer) UserList(ctx context.Context, r *pb.AuthUserListRequest) (*pb.AuthUserListResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthUserList: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthUserListResponse), nil\n}\n\nfunc (s *EtcdServer) UserRevokeRole(ctx context.Context, r *pb.AuthUserRevokeRoleRequest) (*pb.AuthUserRevokeRoleResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthUserRevokeRole: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthUserRevokeRoleResponse), nil\n}\n\nfunc (s *EtcdServer) RoleAdd(ctx context.Context, r *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthRoleAdd: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthRoleAddResponse), nil\n}\n\nfunc (s *EtcdServer) RoleGrantPermission(ctx context.Context, r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthRoleGrantPermission: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthRoleGrantPermissionResponse), nil\n}\n\nfunc (s *EtcdServer) RoleGet(ctx context.Context, r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthRoleGet: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthRoleGetResponse), nil\n}\n\nfunc (s *EtcdServer) RoleList(ctx context.Context, r *pb.AuthRoleListRequest) (*pb.AuthRoleListResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthRoleList: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthRoleListResponse), nil\n}\n\nfunc (s *EtcdServer) RoleRevokePermission(ctx context.Context, r *pb.AuthRoleRevokePermissionRequest) (*pb.AuthRoleRevokePermissionResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthRoleRevokePermission: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthRoleRevokePermissionResponse), nil\n}\n\nfunc (s *EtcdServer) RoleDelete(ctx context.Context, r *pb.AuthRoleDeleteRequest) (*pb.AuthRoleDeleteResponse, error) {\n\tresp, err := s.raftRequest(ctx, pb.InternalRaftRequest{AuthRoleDelete: r})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn resp.(*pb.AuthRoleDeleteResponse), nil\n}\n\nfunc (s *EtcdServer) raftRequestOnce(ctx context.Context, r pb.InternalRaftRequest) (proto.Message, error) {\n\tresult, err := s.processInternalRaftRequestOnce(ctx, r)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif result.err != nil {\n\t\treturn nil, result.err\n\t}\n\treturn result.resp, nil\n}\n\nfunc (s *EtcdServer) raftRequest(ctx context.Context, r pb.InternalRaftRequest) (proto.Message, error) {\n\tfor {\n\t\tresp, err := s.raftRequestOnce(ctx, r)\n\t\tif err != auth.ErrAuthOldRevision {\n\t\t\treturn resp, err\n\t\t}\n\t}\n}\n\n// doSerialize handles the auth logic, with permissions checked by \"chk\", for a serialized request \"get\". Returns a non-nil error on authentication failure.\nfunc (s *EtcdServer) doSerialize(ctx context.Context, chk func(*auth.AuthInfo) error, get func()) error {\n\tfor {\n\t\tai, err := s.AuthInfoFromCtx(ctx)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif ai == nil {\n\t\t\t// chk expects non-nil AuthInfo; use empty credentials\n\t\t\tai = &auth.AuthInfo{}\n\t\t}\n\t\tif err = chk(ai); err != nil {\n\t\t\tif err == auth.ErrAuthOldRevision {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\t\t// fetch response for serialized request\n\t\tget()\n\t\t//  empty credentials or current auth info means no need to retry\n\t\tif ai.Revision == 0 || ai.Revision == s.authStore.Revision() {\n\t\t\treturn nil\n\t\t}\n\t\t// avoid TOCTOU error, retry of the request is required.\n\t}\n}\n\nfunc (s *EtcdServer) processInternalRaftRequestOnce(ctx context.Context, r pb.InternalRaftRequest) (*applyResult, error) {\n\tai := s.getAppliedIndex()\n\tci := s.getCommittedIndex()\n\tif ci > ai+maxGapBetweenApplyAndCommitIndex {\n\t\treturn nil, ErrTooManyRequests\n\t}\n\n\tr.Header = &pb.RequestHeader{\n\t\tID: s.reqIDGen.Next(),\n\t}\n\n\tauthInfo, err := s.AuthInfoFromCtx(ctx)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif authInfo != nil {\n\t\tr.Header.Username = authInfo.Username\n\t\tr.Header.AuthRevision = authInfo.Revision\n\t}\n\n\tdata, err := r.Marshal()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif len(data) > int(s.Cfg.MaxRequestBytes) {\n\t\treturn nil, ErrRequestTooLarge\n\t}\n\n\tid := r.ID\n\tif id == 0 {\n\t\tid = r.Header.ID\n\t}\n\tch := s.w.Register(id)\n\n\tcctx, cancel := context.WithTimeout(ctx, s.Cfg.ReqTimeout())\n\tdefer cancel()\n\n\tstart := time.Now()\n\terr = s.r.Propose(cctx, data)\n\tif err != nil {\n\t\tproposalsFailed.Inc()\n\t\ts.w.Trigger(id, nil) // GC wait\n\t\treturn nil, err\n\t}\n\tproposalsPending.Inc()\n\tdefer proposalsPending.Dec()\n\n\tselect {\n\tcase x := <-ch:\n\t\treturn x.(*applyResult), nil\n\tcase <-cctx.Done():\n\t\tproposalsFailed.Inc()\n\t\ts.w.Trigger(id, nil) // GC wait\n\t\treturn nil, s.parseProposeCtxErr(cctx.Err(), start)\n\tcase <-s.done:\n\t\treturn nil, ErrStopped\n\t}\n}\n\n// Watchable returns a watchable interface attached to the etcdserver.\nfunc (s *EtcdServer) Watchable() mvcc.WatchableKV { return s.KV() }\n\nfunc (s *EtcdServer) linearizableReadLoop() {\n\tvar rs raft.ReadState\n\n\tfor {\n\t\tctx := make([]byte, 8)\n\t\tbinary.BigEndian.PutUint64(ctx, s.reqIDGen.Next())\n\n\t\tselect {\n\t\tcase <-s.readwaitc:\n\t\tcase <-s.stopping:\n\t\t\treturn\n\t\t}\n\n\t\tnextnr := newNotifier()\n\n\t\ts.readMu.Lock()\n\t\tnr := s.readNotifier\n\t\ts.readNotifier = nextnr\n\t\ts.readMu.Unlock()\n\n\t\tlg := s.getLogger()\n\t\tcctx, cancel := context.WithTimeout(context.Background(), s.Cfg.ReqTimeout())\n\t\tif err := s.r.ReadIndex(cctx, ctx); err != nil {\n\t\t\tcancel()\n\t\t\tif err == raft.ErrStopped {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif lg != nil {\n\t\t\t\tlg.Warn(\"failed to get read index from Raft\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"failed to get read index from raft: %v\", err)\n\t\t\t}\n\t\t\tnr.notify(err)\n\t\t\tcontinue\n\t\t}\n\t\tcancel()\n\n\t\tvar (\n\t\t\ttimeout bool\n\t\t\tdone    bool\n\t\t)\n\t\tfor !timeout && !done {\n\t\t\tselect {\n\t\t\tcase rs = <-s.r.readStateC:\n\t\t\t\tdone = bytes.Equal(rs.RequestCtx, ctx)\n\t\t\t\tif !done {\n\t\t\t\t\t// a previous request might time out. now we should ignore the response of it and\n\t\t\t\t\t// continue waiting for the response of the current requests.\n\t\t\t\t\tif lg != nil {\n\t\t\t\t\t\tlg.Warn(\n\t\t\t\t\t\t\t\"ignored out-of-date read index response\",\n\t\t\t\t\t\t\tzap.String(\"ctx-expected\", fmt.Sprintf(\"%+v\", string(rs.RequestCtx))),\n\t\t\t\t\t\t\tzap.String(\"ctx-got\", fmt.Sprintf(\"%+v\", string(ctx))),\n\t\t\t\t\t\t)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tplog.Warningf(\"ignored out-of-date read index response (want %v, got %v)\", rs.RequestCtx, ctx)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase <-time.After(s.Cfg.ReqTimeout()):\n\t\t\t\tif lg != nil {\n\t\t\t\t\tlg.Warn(\"timed out waiting for read index response\", zap.Duration(\"timeout\", s.Cfg.ReqTimeout()))\n\t\t\t\t} else {\n\t\t\t\t\tplog.Warningf(\"timed out waiting for read index response\")\n\t\t\t\t}\n\t\t\t\tnr.notify(ErrTimeout)\n\t\t\t\ttimeout = true\n\t\t\tcase <-s.stopping:\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tif !done {\n\t\t\tcontinue\n\t\t}\n\n\t\tif ai := s.getAppliedIndex(); ai < rs.Index {\n\t\t\tselect {\n\t\t\tcase <-s.applyWait.Wait(rs.Index):\n\t\t\tcase <-s.stopping:\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\t// unblock all l-reads requested at indices before rs.Index\n\t\tnr.notify(nil)\n\t}\n}\n\nfunc (s *EtcdServer) linearizableReadNotify(ctx context.Context) error {\n\ts.readMu.RLock()\n\tnc := s.readNotifier\n\ts.readMu.RUnlock()\n\n\t// signal linearizable loop for current notify if it hasn't been already\n\tselect {\n\tcase s.readwaitc <- struct{}{}:\n\tdefault:\n\t}\n\n\t// wait for read state notification\n\tselect {\n\tcase <-nc.c:\n\t\treturn nc.err\n\tcase <-ctx.Done():\n\t\treturn ctx.Err()\n\tcase <-s.done:\n\t\treturn ErrStopped\n\t}\n}\n\nfunc (s *EtcdServer) AuthInfoFromCtx(ctx context.Context) (*auth.AuthInfo, error) {\n\tauthInfo, err := s.AuthStore().AuthInfoFromCtx(ctx)\n\tif authInfo != nil || err != nil {\n\t\treturn authInfo, err\n\t}\n\tif !s.Cfg.ClientCertAuthEnabled {\n\t\treturn nil, nil\n\t}\n\tauthInfo = s.AuthStore().AuthInfoFromTLS(ctx)\n\treturn authInfo, nil\n\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/main.go",
    "content": "// Copyright 2015 The etcd Authors\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// Package main is a simple wrapper of the real etcd entrypoint package\n// (located at github.com/coreos/etcd/etcdmain) to ensure that etcd is still\n// \"go getable\"; e.g. `go get github.com/coreos/etcd` works as expected and\n// builds a binary in $GOBIN/etcd\n//\n// This package should NOT be extended or modified in any way; to modify the\n// etcd binary, work in the `github.com/coreos/etcd/etcdmain` package.\n//\npackage main\n\nimport \"github.com/coreos/etcd/etcdmain\"\n\nfunc main() {\n\tetcdmain.Main()\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/doc.go",
    "content": "// Copyright 2015 The etcd Authors\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// Package mvcc defines etcd's stable MVCC storage.\npackage mvcc\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/index.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage mvcc\n\nimport (\n\t\"sort\"\n\t\"sync\"\n\n\t\"github.com/google/btree\"\n\t\"go.uber.org/zap\"\n)\n\ntype index interface {\n\tGet(key []byte, atRev int64) (rev, created revision, ver int64, err error)\n\tRange(key, end []byte, atRev int64) ([][]byte, []revision)\n\tRevisions(key, end []byte, atRev int64) []revision\n\tPut(key []byte, rev revision)\n\tTombstone(key []byte, rev revision) error\n\tRangeSince(key, end []byte, rev int64) []revision\n\tCompact(rev int64) map[revision]struct{}\n\tKeep(rev int64) map[revision]struct{}\n\tEqual(b index) bool\n\n\tInsert(ki *keyIndex)\n\tKeyIndex(ki *keyIndex) *keyIndex\n}\n\ntype treeIndex struct {\n\tsync.RWMutex\n\ttree *btree.BTree\n\tlg   *zap.Logger\n}\n\nfunc newTreeIndex(lg *zap.Logger) index {\n\treturn &treeIndex{\n\t\ttree: btree.New(32),\n\t\tlg:   lg,\n\t}\n}\n\nfunc (ti *treeIndex) Put(key []byte, rev revision) {\n\tkeyi := &keyIndex{key: key}\n\n\tti.Lock()\n\tdefer ti.Unlock()\n\titem := ti.tree.Get(keyi)\n\tif item == nil {\n\t\tkeyi.put(ti.lg, rev.main, rev.sub)\n\t\tti.tree.ReplaceOrInsert(keyi)\n\t\treturn\n\t}\n\tokeyi := item.(*keyIndex)\n\tokeyi.put(ti.lg, rev.main, rev.sub)\n}\n\nfunc (ti *treeIndex) Get(key []byte, atRev int64) (modified, created revision, ver int64, err error) {\n\tkeyi := &keyIndex{key: key}\n\tti.RLock()\n\tdefer ti.RUnlock()\n\tif keyi = ti.keyIndex(keyi); keyi == nil {\n\t\treturn revision{}, revision{}, 0, ErrRevisionNotFound\n\t}\n\treturn keyi.get(ti.lg, atRev)\n}\n\nfunc (ti *treeIndex) KeyIndex(keyi *keyIndex) *keyIndex {\n\tti.RLock()\n\tdefer ti.RUnlock()\n\treturn ti.keyIndex(keyi)\n}\n\nfunc (ti *treeIndex) keyIndex(keyi *keyIndex) *keyIndex {\n\tif item := ti.tree.Get(keyi); item != nil {\n\t\treturn item.(*keyIndex)\n\t}\n\treturn nil\n}\n\nfunc (ti *treeIndex) visit(key, end []byte, f func(ki *keyIndex)) {\n\tkeyi, endi := &keyIndex{key: key}, &keyIndex{key: end}\n\n\tti.RLock()\n\tdefer ti.RUnlock()\n\n\tti.tree.AscendGreaterOrEqual(keyi, func(item btree.Item) bool {\n\t\tif len(endi.key) > 0 && !item.Less(endi) {\n\t\t\treturn false\n\t\t}\n\t\tf(item.(*keyIndex))\n\t\treturn true\n\t})\n}\n\nfunc (ti *treeIndex) Revisions(key, end []byte, atRev int64) (revs []revision) {\n\tif end == nil {\n\t\trev, _, _, err := ti.Get(key, atRev)\n\t\tif err != nil {\n\t\t\treturn nil\n\t\t}\n\t\treturn []revision{rev}\n\t}\n\tti.visit(key, end, func(ki *keyIndex) {\n\t\tif rev, _, _, err := ki.get(ti.lg, atRev); err == nil {\n\t\t\trevs = append(revs, rev)\n\t\t}\n\t})\n\treturn revs\n}\n\nfunc (ti *treeIndex) Range(key, end []byte, atRev int64) (keys [][]byte, revs []revision) {\n\tif end == nil {\n\t\trev, _, _, err := ti.Get(key, atRev)\n\t\tif err != nil {\n\t\t\treturn nil, nil\n\t\t}\n\t\treturn [][]byte{key}, []revision{rev}\n\t}\n\tti.visit(key, end, func(ki *keyIndex) {\n\t\tif rev, _, _, err := ki.get(ti.lg, atRev); err == nil {\n\t\t\trevs = append(revs, rev)\n\t\t\tkeys = append(keys, ki.key)\n\t\t}\n\t})\n\treturn keys, revs\n}\n\nfunc (ti *treeIndex) Tombstone(key []byte, rev revision) error {\n\tkeyi := &keyIndex{key: key}\n\n\tti.Lock()\n\tdefer ti.Unlock()\n\titem := ti.tree.Get(keyi)\n\tif item == nil {\n\t\treturn ErrRevisionNotFound\n\t}\n\n\tki := item.(*keyIndex)\n\treturn ki.tombstone(ti.lg, rev.main, rev.sub)\n}\n\n// RangeSince returns all revisions from key(including) to end(excluding)\n// at or after the given rev. The returned slice is sorted in the order\n// of revision.\nfunc (ti *treeIndex) RangeSince(key, end []byte, rev int64) []revision {\n\tkeyi := &keyIndex{key: key}\n\n\tti.RLock()\n\tdefer ti.RUnlock()\n\n\tif end == nil {\n\t\titem := ti.tree.Get(keyi)\n\t\tif item == nil {\n\t\t\treturn nil\n\t\t}\n\t\tkeyi = item.(*keyIndex)\n\t\treturn keyi.since(ti.lg, rev)\n\t}\n\n\tendi := &keyIndex{key: end}\n\tvar revs []revision\n\tti.tree.AscendGreaterOrEqual(keyi, func(item btree.Item) bool {\n\t\tif len(endi.key) > 0 && !item.Less(endi) {\n\t\t\treturn false\n\t\t}\n\t\tcurKeyi := item.(*keyIndex)\n\t\trevs = append(revs, curKeyi.since(ti.lg, rev)...)\n\t\treturn true\n\t})\n\tsort.Sort(revisions(revs))\n\n\treturn revs\n}\n\nfunc (ti *treeIndex) Compact(rev int64) map[revision]struct{} {\n\tavailable := make(map[revision]struct{})\n\tif ti.lg != nil {\n\t\tti.lg.Info(\"compact tree index\", zap.Int64(\"revision\", rev))\n\t} else {\n\t\tplog.Printf(\"store.index: compact %d\", rev)\n\t}\n\tti.Lock()\n\tclone := ti.tree.Clone()\n\tti.Unlock()\n\n\tclone.Ascend(func(item btree.Item) bool {\n\t\tkeyi := item.(*keyIndex)\n\t\t//Lock is needed here to prevent modification to the keyIndex while\n\t\t//compaction is going on or revision added to empty before deletion\n\t\tti.Lock()\n\t\tkeyi.compact(ti.lg, rev, available)\n\t\tif keyi.isEmpty() {\n\t\t\titem := ti.tree.Delete(keyi)\n\t\t\tif item == nil {\n\t\t\t\tif ti.lg != nil {\n\t\t\t\t\tti.lg.Panic(\"failed to delete during compaction\")\n\t\t\t\t} else {\n\t\t\t\t\tplog.Panic(\"store.index: unexpected delete failure during compaction\")\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tti.Unlock()\n\t\treturn true\n\t})\n\treturn available\n}\n\n// Keep finds all revisions to be kept for a Compaction at the given rev.\nfunc (ti *treeIndex) Keep(rev int64) map[revision]struct{} {\n\tavailable := make(map[revision]struct{})\n\tti.RLock()\n\tdefer ti.RUnlock()\n\tti.tree.Ascend(func(i btree.Item) bool {\n\t\tkeyi := i.(*keyIndex)\n\t\tkeyi.keep(rev, available)\n\t\treturn true\n\t})\n\treturn available\n}\n\nfunc (ti *treeIndex) Equal(bi index) bool {\n\tb := bi.(*treeIndex)\n\n\tif ti.tree.Len() != b.tree.Len() {\n\t\treturn false\n\t}\n\n\tequal := true\n\n\tti.tree.Ascend(func(item btree.Item) bool {\n\t\taki := item.(*keyIndex)\n\t\tbki := b.tree.Get(item).(*keyIndex)\n\t\tif !aki.equal(bki) {\n\t\t\tequal = false\n\t\t\treturn false\n\t\t}\n\t\treturn true\n\t})\n\n\treturn equal\n}\n\nfunc (ti *treeIndex) Insert(ki *keyIndex) {\n\tti.Lock()\n\tdefer ti.Unlock()\n\tti.tree.ReplaceOrInsert(ki)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/key_index.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage mvcc\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\n\t\"github.com/google/btree\"\n\t\"go.uber.org/zap\"\n)\n\nvar (\n\tErrRevisionNotFound = errors.New(\"mvcc: revision not found\")\n)\n\n// keyIndex stores the revisions of a key in the backend.\n// Each keyIndex has at least one key generation.\n// Each generation might have several key versions.\n// Tombstone on a key appends an tombstone version at the end\n// of the current generation and creates a new empty generation.\n// Each version of a key has an index pointing to the backend.\n//\n// For example: put(1.0);put(2.0);tombstone(3.0);put(4.0);tombstone(5.0) on key \"foo\"\n// generate a keyIndex:\n// key:     \"foo\"\n// rev: 5\n// generations:\n//    {empty}\n//    {4.0, 5.0(t)}\n//    {1.0, 2.0, 3.0(t)}\n//\n// Compact a keyIndex removes the versions with smaller or equal to\n// rev except the largest one. If the generation becomes empty\n// during compaction, it will be removed. if all the generations get\n// removed, the keyIndex should be removed.\n//\n// For example:\n// compact(2) on the previous example\n// generations:\n//    {empty}\n//    {4.0, 5.0(t)}\n//    {2.0, 3.0(t)}\n//\n// compact(4)\n// generations:\n//    {empty}\n//    {4.0, 5.0(t)}\n//\n// compact(5):\n// generations:\n//    {empty} -> key SHOULD be removed.\n//\n// compact(6):\n// generations:\n//    {empty} -> key SHOULD be removed.\ntype keyIndex struct {\n\tkey         []byte\n\tmodified    revision // the main rev of the last modification\n\tgenerations []generation\n}\n\n// put puts a revision to the keyIndex.\nfunc (ki *keyIndex) put(lg *zap.Logger, main int64, sub int64) {\n\trev := revision{main: main, sub: sub}\n\n\tif !rev.GreaterThan(ki.modified) {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\n\t\t\t\t\"'put' with an unexpected smaller revision\",\n\t\t\t\tzap.Int64(\"given-revision-main\", rev.main),\n\t\t\t\tzap.Int64(\"given-revision-sub\", rev.sub),\n\t\t\t\tzap.Int64(\"modified-revision-main\", ki.modified.main),\n\t\t\t\tzap.Int64(\"modified-revision-sub\", ki.modified.sub),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Panicf(\"store.keyindex: put with unexpected smaller revision [%v / %v]\", rev, ki.modified)\n\t\t}\n\t}\n\tif len(ki.generations) == 0 {\n\t\tki.generations = append(ki.generations, generation{})\n\t}\n\tg := &ki.generations[len(ki.generations)-1]\n\tif len(g.revs) == 0 { // create a new key\n\t\tkeysGauge.Inc()\n\t\tg.created = rev\n\t}\n\tg.revs = append(g.revs, rev)\n\tg.ver++\n\tki.modified = rev\n}\n\nfunc (ki *keyIndex) restore(lg *zap.Logger, created, modified revision, ver int64) {\n\tif len(ki.generations) != 0 {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\n\t\t\t\t\"'restore' got an unexpected non-empty generations\",\n\t\t\t\tzap.Int(\"generations-size\", len(ki.generations)),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Panicf(\"store.keyindex: cannot restore non-empty keyIndex\")\n\t\t}\n\t}\n\n\tki.modified = modified\n\tg := generation{created: created, ver: ver, revs: []revision{modified}}\n\tki.generations = append(ki.generations, g)\n\tkeysGauge.Inc()\n}\n\n// tombstone puts a revision, pointing to a tombstone, to the keyIndex.\n// It also creates a new empty generation in the keyIndex.\n// It returns ErrRevisionNotFound when tombstone on an empty generation.\nfunc (ki *keyIndex) tombstone(lg *zap.Logger, main int64, sub int64) error {\n\tif ki.isEmpty() {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\n\t\t\t\t\"'tombstone' got an unexpected empty keyIndex\",\n\t\t\t\tzap.String(\"key\", string(ki.key)),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Panicf(\"store.keyindex: unexpected tombstone on empty keyIndex %s\", string(ki.key))\n\t\t}\n\t}\n\tif ki.generations[len(ki.generations)-1].isEmpty() {\n\t\treturn ErrRevisionNotFound\n\t}\n\tki.put(lg, main, sub)\n\tki.generations = append(ki.generations, generation{})\n\tkeysGauge.Dec()\n\treturn nil\n}\n\n// get gets the modified, created revision and version of the key that satisfies the given atRev.\n// Rev must be higher than or equal to the given atRev.\nfunc (ki *keyIndex) get(lg *zap.Logger, atRev int64) (modified, created revision, ver int64, err error) {\n\tif ki.isEmpty() {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\n\t\t\t\t\"'get' got an unexpected empty keyIndex\",\n\t\t\t\tzap.String(\"key\", string(ki.key)),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Panicf(\"store.keyindex: unexpected get on empty keyIndex %s\", string(ki.key))\n\t\t}\n\t}\n\tg := ki.findGeneration(atRev)\n\tif g.isEmpty() {\n\t\treturn revision{}, revision{}, 0, ErrRevisionNotFound\n\t}\n\n\tn := g.walk(func(rev revision) bool { return rev.main > atRev })\n\tif n != -1 {\n\t\treturn g.revs[n], g.created, g.ver - int64(len(g.revs)-n-1), nil\n\t}\n\n\treturn revision{}, revision{}, 0, ErrRevisionNotFound\n}\n\n// since returns revisions since the given rev. Only the revision with the\n// largest sub revision will be returned if multiple revisions have the same\n// main revision.\nfunc (ki *keyIndex) since(lg *zap.Logger, rev int64) []revision {\n\tif ki.isEmpty() {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\n\t\t\t\t\"'since' got an unexpected empty keyIndex\",\n\t\t\t\tzap.String(\"key\", string(ki.key)),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Panicf(\"store.keyindex: unexpected get on empty keyIndex %s\", string(ki.key))\n\t\t}\n\t}\n\tsince := revision{rev, 0}\n\tvar gi int\n\t// find the generations to start checking\n\tfor gi = len(ki.generations) - 1; gi > 0; gi-- {\n\t\tg := ki.generations[gi]\n\t\tif g.isEmpty() {\n\t\t\tcontinue\n\t\t}\n\t\tif since.GreaterThan(g.created) {\n\t\t\tbreak\n\t\t}\n\t}\n\n\tvar revs []revision\n\tvar last int64\n\tfor ; gi < len(ki.generations); gi++ {\n\t\tfor _, r := range ki.generations[gi].revs {\n\t\t\tif since.GreaterThan(r) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif r.main == last {\n\t\t\t\t// replace the revision with a new one that has higher sub value,\n\t\t\t\t// because the original one should not be seen by external\n\t\t\t\trevs[len(revs)-1] = r\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\trevs = append(revs, r)\n\t\t\tlast = r.main\n\t\t}\n\t}\n\treturn revs\n}\n\n// compact compacts a keyIndex by removing the versions with smaller or equal\n// revision than the given atRev except the largest one (If the largest one is\n// a tombstone, it will not be kept).\n// If a generation becomes empty during compaction, it will be removed.\nfunc (ki *keyIndex) compact(lg *zap.Logger, atRev int64, available map[revision]struct{}) {\n\tif ki.isEmpty() {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\n\t\t\t\t\"'compact' got an unexpected empty keyIndex\",\n\t\t\t\tzap.String(\"key\", string(ki.key)),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Panicf(\"store.keyindex: unexpected compact on empty keyIndex %s\", string(ki.key))\n\t\t}\n\t}\n\n\tgenIdx, revIndex := ki.doCompact(atRev, available)\n\n\tg := &ki.generations[genIdx]\n\tif !g.isEmpty() {\n\t\t// remove the previous contents.\n\t\tif revIndex != -1 {\n\t\t\tg.revs = g.revs[revIndex:]\n\t\t}\n\t\t// remove any tombstone\n\t\tif len(g.revs) == 1 && genIdx != len(ki.generations)-1 {\n\t\t\tdelete(available, g.revs[0])\n\t\t\tgenIdx++\n\t\t}\n\t}\n\n\t// remove the previous generations.\n\tki.generations = ki.generations[genIdx:]\n}\n\n// keep finds the revision to be kept if compact is called at given atRev.\nfunc (ki *keyIndex) keep(atRev int64, available map[revision]struct{}) {\n\tif ki.isEmpty() {\n\t\treturn\n\t}\n\n\tgenIdx, revIndex := ki.doCompact(atRev, available)\n\tg := &ki.generations[genIdx]\n\tif !g.isEmpty() {\n\t\t// remove any tombstone\n\t\tif revIndex == len(g.revs)-1 && genIdx != len(ki.generations)-1 {\n\t\t\tdelete(available, g.revs[revIndex])\n\t\t}\n\t}\n}\n\nfunc (ki *keyIndex) doCompact(atRev int64, available map[revision]struct{}) (genIdx int, revIndex int) {\n\t// walk until reaching the first revision smaller or equal to \"atRev\",\n\t// and add the revision to the available map\n\tf := func(rev revision) bool {\n\t\tif rev.main <= atRev {\n\t\t\tavailable[rev] = struct{}{}\n\t\t\treturn false\n\t\t}\n\t\treturn true\n\t}\n\n\tgenIdx, g := 0, &ki.generations[0]\n\t// find first generation includes atRev or created after atRev\n\tfor genIdx < len(ki.generations)-1 {\n\t\tif tomb := g.revs[len(g.revs)-1].main; tomb > atRev {\n\t\t\tbreak\n\t\t}\n\t\tgenIdx++\n\t\tg = &ki.generations[genIdx]\n\t}\n\n\trevIndex = g.walk(f)\n\n\treturn genIdx, revIndex\n}\n\nfunc (ki *keyIndex) isEmpty() bool {\n\treturn len(ki.generations) == 1 && ki.generations[0].isEmpty()\n}\n\n// findGeneration finds out the generation of the keyIndex that the\n// given rev belongs to. If the given rev is at the gap of two generations,\n// which means that the key does not exist at the given rev, it returns nil.\nfunc (ki *keyIndex) findGeneration(rev int64) *generation {\n\tlastg := len(ki.generations) - 1\n\tcg := lastg\n\n\tfor cg >= 0 {\n\t\tif len(ki.generations[cg].revs) == 0 {\n\t\t\tcg--\n\t\t\tcontinue\n\t\t}\n\t\tg := ki.generations[cg]\n\t\tif cg != lastg {\n\t\t\tif tomb := g.revs[len(g.revs)-1].main; tomb <= rev {\n\t\t\t\treturn nil\n\t\t\t}\n\t\t}\n\t\tif g.revs[0].main <= rev {\n\t\t\treturn &ki.generations[cg]\n\t\t}\n\t\tcg--\n\t}\n\treturn nil\n}\n\nfunc (a *keyIndex) Less(b btree.Item) bool {\n\treturn bytes.Compare(a.key, b.(*keyIndex).key) == -1\n}\n\nfunc (a *keyIndex) equal(b *keyIndex) bool {\n\tif !bytes.Equal(a.key, b.key) {\n\t\treturn false\n\t}\n\tif a.modified != b.modified {\n\t\treturn false\n\t}\n\tif len(a.generations) != len(b.generations) {\n\t\treturn false\n\t}\n\tfor i := range a.generations {\n\t\tag, bg := a.generations[i], b.generations[i]\n\t\tif !ag.equal(bg) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nfunc (ki *keyIndex) String() string {\n\tvar s string\n\tfor _, g := range ki.generations {\n\t\ts += g.String()\n\t}\n\treturn s\n}\n\n// generation contains multiple revisions of a key.\ntype generation struct {\n\tver     int64\n\tcreated revision // when the generation is created (put in first revision).\n\trevs    []revision\n}\n\nfunc (g *generation) isEmpty() bool { return g == nil || len(g.revs) == 0 }\n\n// walk walks through the revisions in the generation in descending order.\n// It passes the revision to the given function.\n// walk returns until: 1. it finishes walking all pairs 2. the function returns false.\n// walk returns the position at where it stopped. If it stopped after\n// finishing walking, -1 will be returned.\nfunc (g *generation) walk(f func(rev revision) bool) int {\n\tl := len(g.revs)\n\tfor i := range g.revs {\n\t\tok := f(g.revs[l-i-1])\n\t\tif !ok {\n\t\t\treturn l - i - 1\n\t\t}\n\t}\n\treturn -1\n}\n\nfunc (g *generation) String() string {\n\treturn fmt.Sprintf(\"g: created[%d] ver[%d], revs %#v\\n\", g.created, g.ver, g.revs)\n}\n\nfunc (a generation) equal(b generation) bool {\n\tif a.ver != b.ver {\n\t\treturn false\n\t}\n\tif len(a.revs) != len(b.revs) {\n\t\treturn false\n\t}\n\n\tfor i := range a.revs {\n\t\tar, br := a.revs[i], b.revs[i]\n\t\tif ar != br {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/kv.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage mvcc\n\nimport (\n\t\"github.com/coreos/etcd/lease\"\n\t\"github.com/coreos/etcd/mvcc/backend\"\n\t\"github.com/coreos/etcd/mvcc/mvccpb\"\n)\n\ntype RangeOptions struct {\n\tLimit int64\n\tRev   int64\n\tCount bool\n}\n\ntype RangeResult struct {\n\tKVs   []mvccpb.KeyValue\n\tRev   int64\n\tCount int\n}\n\ntype ReadView interface {\n\t// FirstRev returns the first KV revision at the time of opening the txn.\n\t// After a compaction, the first revision increases to the compaction\n\t// revision.\n\tFirstRev() int64\n\n\t// Rev returns the revision of the KV at the time of opening the txn.\n\tRev() int64\n\n\t// Range gets the keys in the range at rangeRev.\n\t// The returned rev is the current revision of the KV when the operation is executed.\n\t// If rangeRev <=0, range gets the keys at currentRev.\n\t// If `end` is nil, the request returns the key.\n\t// If `end` is not nil and not empty, it gets the keys in range [key, range_end).\n\t// If `end` is not nil and empty, it gets the keys greater than or equal to key.\n\t// Limit limits the number of keys returned.\n\t// If the required rev is compacted, ErrCompacted will be returned.\n\tRange(key, end []byte, ro RangeOptions) (r *RangeResult, err error)\n}\n\n// TxnRead represents a read-only transaction with operations that will not\n// block other read transactions.\ntype TxnRead interface {\n\tReadView\n\t// End marks the transaction is complete and ready to commit.\n\tEnd()\n}\n\ntype WriteView interface {\n\t// DeleteRange deletes the given range from the store.\n\t// A deleteRange increases the rev of the store if any key in the range exists.\n\t// The number of key deleted will be returned.\n\t// The returned rev is the current revision of the KV when the operation is executed.\n\t// It also generates one event for each key delete in the event history.\n\t// if the `end` is nil, deleteRange deletes the key.\n\t// if the `end` is not nil, deleteRange deletes the keys in range [key, range_end).\n\tDeleteRange(key, end []byte) (n, rev int64)\n\n\t// Put puts the given key, value into the store. Put also takes additional argument lease to\n\t// attach a lease to a key-value pair as meta-data. KV implementation does not validate the lease\n\t// id.\n\t// A put also increases the rev of the store, and generates one event in the event history.\n\t// The returned rev is the current revision of the KV when the operation is executed.\n\tPut(key, value []byte, lease lease.LeaseID) (rev int64)\n}\n\n// TxnWrite represents a transaction that can modify the store.\ntype TxnWrite interface {\n\tTxnRead\n\tWriteView\n\t// Changes gets the changes made since opening the write txn.\n\tChanges() []mvccpb.KeyValue\n}\n\n// txnReadWrite coerces a read txn to a write, panicking on any write operation.\ntype txnReadWrite struct{ TxnRead }\n\nfunc (trw *txnReadWrite) DeleteRange(key, end []byte) (n, rev int64) { panic(\"unexpected DeleteRange\") }\nfunc (trw *txnReadWrite) Put(key, value []byte, lease lease.LeaseID) (rev int64) {\n\tpanic(\"unexpected Put\")\n}\nfunc (trw *txnReadWrite) Changes() []mvccpb.KeyValue { return nil }\n\nfunc NewReadOnlyTxnWrite(txn TxnRead) TxnWrite { return &txnReadWrite{txn} }\n\ntype KV interface {\n\tReadView\n\tWriteView\n\n\t// Read creates a read transaction.\n\tRead() TxnRead\n\n\t// Write creates a write transaction.\n\tWrite() TxnWrite\n\n\t// Hash computes the hash of the KV's backend.\n\tHash() (hash uint32, revision int64, err error)\n\n\t// HashByRev computes the hash of all MVCC revisions up to a given revision.\n\tHashByRev(rev int64) (hash uint32, revision int64, compactRev int64, err error)\n\n\t// Compact frees all superseded keys with revisions less than rev.\n\tCompact(rev int64) (<-chan struct{}, error)\n\n\t// Commit commits outstanding txns into the underlying backend.\n\tCommit()\n\n\t// Restore restores the KV store from a backend.\n\tRestore(b backend.Backend) error\n\tClose() error\n}\n\n// WatchableKV is a KV that can be watched.\ntype WatchableKV interface {\n\tKV\n\tWatchable\n}\n\n// Watchable is the interface that wraps the NewWatchStream function.\ntype Watchable interface {\n\t// NewWatchStream returns a WatchStream that can be used to\n\t// watch events happened or happening on the KV.\n\tNewWatchStream() WatchStream\n}\n\n// ConsistentWatchableKV is a WatchableKV that understands the consistency\n// algorithm and consistent index.\n// If the consistent index of executing entry is not larger than the\n// consistent index of ConsistentWatchableKV, all operations in\n// this entry are skipped and return empty response.\ntype ConsistentWatchableKV interface {\n\tWatchableKV\n\t// ConsistentIndex returns the current consistent index of the KV.\n\tConsistentIndex() uint64\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/kv_view.go",
    "content": "// Copyright 2017 The etcd Authors\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\npackage mvcc\n\nimport \"github.com/coreos/etcd/lease\"\n\ntype readView struct{ kv KV }\n\nfunc (rv *readView) FirstRev() int64 {\n\ttr := rv.kv.Read()\n\tdefer tr.End()\n\treturn tr.FirstRev()\n}\n\nfunc (rv *readView) Rev() int64 {\n\ttr := rv.kv.Read()\n\tdefer tr.End()\n\treturn tr.Rev()\n}\n\nfunc (rv *readView) Range(key, end []byte, ro RangeOptions) (r *RangeResult, err error) {\n\ttr := rv.kv.Read()\n\tdefer tr.End()\n\treturn tr.Range(key, end, ro)\n}\n\ntype writeView struct{ kv KV }\n\nfunc (wv *writeView) DeleteRange(key, end []byte) (n, rev int64) {\n\ttw := wv.kv.Write()\n\tdefer tw.End()\n\treturn tw.DeleteRange(key, end)\n}\n\nfunc (wv *writeView) Put(key, value []byte, lease lease.LeaseID) (rev int64) {\n\ttw := wv.kv.Write()\n\tdefer tw.End()\n\treturn tw.Put(key, value, lease)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/kvstore.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage mvcc\n\nimport (\n\t\"context\"\n\t\"encoding/binary\"\n\t\"errors\"\n\t\"fmt\"\n\t\"hash/crc32\"\n\t\"math\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/lease\"\n\t\"github.com/coreos/etcd/mvcc/backend\"\n\t\"github.com/coreos/etcd/mvcc/mvccpb\"\n\t\"github.com/coreos/etcd/pkg/schedule\"\n\n\t\"github.com/coreos/pkg/capnslog\"\n\t\"go.uber.org/zap\"\n)\n\nvar (\n\tkeyBucketName  = []byte(\"key\")\n\tmetaBucketName = []byte(\"meta\")\n\n\tconsistentIndexKeyName  = []byte(\"consistent_index\")\n\tscheduledCompactKeyName = []byte(\"scheduledCompactRev\")\n\tfinishedCompactKeyName  = []byte(\"finishedCompactRev\")\n\n\tErrCompacted = errors.New(\"mvcc: required revision has been compacted\")\n\tErrFutureRev = errors.New(\"mvcc: required revision is a future revision\")\n\tErrCanceled  = errors.New(\"mvcc: watcher is canceled\")\n\tErrClosed    = errors.New(\"mvcc: closed\")\n\n\tplog = capnslog.NewPackageLogger(\"github.com/coreos/etcd\", \"mvcc\")\n)\n\nconst (\n\t// markedRevBytesLen is the byte length of marked revision.\n\t// The first `revBytesLen` bytes represents a normal revision. The last\n\t// one byte is the mark.\n\tmarkedRevBytesLen      = revBytesLen + 1\n\tmarkBytePosition       = markedRevBytesLen - 1\n\tmarkTombstone     byte = 't'\n)\n\nvar restoreChunkKeys = 10000 // non-const for testing\n\n// ConsistentIndexGetter is an interface that wraps the Get method.\n// Consistent index is the offset of an entry in a consistent replicated log.\ntype ConsistentIndexGetter interface {\n\t// ConsistentIndex returns the consistent index of current executing entry.\n\tConsistentIndex() uint64\n}\n\ntype store struct {\n\tReadView\n\tWriteView\n\n\t// consistentIndex caches the \"consistent_index\" key's value. Accessed\n\t// through atomics so must be 64-bit aligned.\n\tconsistentIndex uint64\n\n\t// mu read locks for txns and write locks for non-txn store changes.\n\tmu sync.RWMutex\n\n\tig ConsistentIndexGetter\n\n\tb       backend.Backend\n\tkvindex index\n\n\tle lease.Lessor\n\n\t// revMuLock protects currentRev and compactMainRev.\n\t// Locked at end of write txn and released after write txn unlock lock.\n\t// Locked before locking read txn and released after locking.\n\trevMu sync.RWMutex\n\t// currentRev is the revision of the last completed transaction.\n\tcurrentRev int64\n\t// compactMainRev is the main revision of the last compaction.\n\tcompactMainRev int64\n\n\t// bytesBuf8 is a byte slice of length 8\n\t// to avoid a repetitive allocation in saveIndex.\n\tbytesBuf8 []byte\n\n\tfifoSched schedule.Scheduler\n\n\tstopc chan struct{}\n\n\tlg *zap.Logger\n}\n\n// NewStore returns a new store. It is useful to create a store inside\n// mvcc pkg. It should only be used for testing externally.\nfunc NewStore(lg *zap.Logger, b backend.Backend, le lease.Lessor, ig ConsistentIndexGetter) *store {\n\ts := &store{\n\t\tb:       b,\n\t\tig:      ig,\n\t\tkvindex: newTreeIndex(lg),\n\n\t\tle: le,\n\n\t\tcurrentRev:     1,\n\t\tcompactMainRev: -1,\n\n\t\tbytesBuf8: make([]byte, 8),\n\t\tfifoSched: schedule.NewFIFOScheduler(),\n\n\t\tstopc: make(chan struct{}),\n\n\t\tlg: lg,\n\t}\n\ts.ReadView = &readView{s}\n\ts.WriteView = &writeView{s}\n\tif s.le != nil {\n\t\ts.le.SetRangeDeleter(func() lease.TxnDelete { return s.Write() })\n\t}\n\n\ttx := s.b.BatchTx()\n\ttx.Lock()\n\ttx.UnsafeCreateBucket(keyBucketName)\n\ttx.UnsafeCreateBucket(metaBucketName)\n\ttx.Unlock()\n\ts.b.ForceCommit()\n\n\tif err := s.restore(); err != nil {\n\t\t// TODO: return the error instead of panic here?\n\t\tpanic(\"failed to recover store from backend\")\n\t}\n\n\treturn s\n}\n\nfunc (s *store) compactBarrier(ctx context.Context, ch chan struct{}) {\n\tif ctx == nil || ctx.Err() != nil {\n\t\ts.mu.Lock()\n\t\tselect {\n\t\tcase <-s.stopc:\n\t\tdefault:\n\t\t\tf := func(ctx context.Context) { s.compactBarrier(ctx, ch) }\n\t\t\ts.fifoSched.Schedule(f)\n\t\t}\n\t\ts.mu.Unlock()\n\t\treturn\n\t}\n\tclose(ch)\n}\n\nfunc (s *store) Hash() (hash uint32, revision int64, err error) {\n\tstart := time.Now()\n\n\ts.b.ForceCommit()\n\th, err := s.b.Hash(DefaultIgnores)\n\n\thashSec.Observe(time.Since(start).Seconds())\n\treturn h, s.currentRev, err\n}\n\nfunc (s *store) HashByRev(rev int64) (hash uint32, currentRev int64, compactRev int64, err error) {\n\tstart := time.Now()\n\n\ts.mu.RLock()\n\ts.revMu.RLock()\n\tcompactRev, currentRev = s.compactMainRev, s.currentRev\n\ts.revMu.RUnlock()\n\n\tif rev > 0 && rev <= compactRev {\n\t\ts.mu.RUnlock()\n\t\treturn 0, 0, compactRev, ErrCompacted\n\t} else if rev > 0 && rev > currentRev {\n\t\ts.mu.RUnlock()\n\t\treturn 0, currentRev, 0, ErrFutureRev\n\t}\n\n\tif rev == 0 {\n\t\trev = currentRev\n\t}\n\tkeep := s.kvindex.Keep(rev)\n\n\ttx := s.b.ReadTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\ts.mu.RUnlock()\n\n\tupper := revision{main: rev + 1}\n\tlower := revision{main: compactRev + 1}\n\th := crc32.New(crc32.MakeTable(crc32.Castagnoli))\n\n\th.Write(keyBucketName)\n\terr = tx.UnsafeForEach(keyBucketName, func(k, v []byte) error {\n\t\tkr := bytesToRev(k)\n\t\tif !upper.GreaterThan(kr) {\n\t\t\treturn nil\n\t\t}\n\t\t// skip revisions that are scheduled for deletion\n\t\t// due to compacting; don't skip if there isn't one.\n\t\tif lower.GreaterThan(kr) && len(keep) > 0 {\n\t\t\tif _, ok := keep[kr]; !ok {\n\t\t\t\treturn nil\n\t\t\t}\n\t\t}\n\t\th.Write(k)\n\t\th.Write(v)\n\t\treturn nil\n\t})\n\thash = h.Sum32()\n\n\thashRevSec.Observe(time.Since(start).Seconds())\n\treturn hash, currentRev, compactRev, err\n}\n\nfunc (s *store) Compact(rev int64) (<-chan struct{}, error) {\n\ts.mu.Lock()\n\ts.revMu.Lock()\n\tif rev <= s.compactMainRev {\n\t\tch := make(chan struct{})\n\t\tf := func(ctx context.Context) { s.compactBarrier(ctx, ch) }\n\t\ts.fifoSched.Schedule(f)\n\t\ts.mu.Unlock()\n\t\ts.revMu.Unlock()\n\t\treturn ch, ErrCompacted\n\t}\n\tif rev > s.currentRev {\n\t\ts.mu.Unlock()\n\t\ts.revMu.Unlock()\n\t\treturn nil, ErrFutureRev\n\t}\n\n\tstart := time.Now()\n\n\ts.compactMainRev = rev\n\n\trbytes := newRevBytes()\n\trevToBytes(revision{main: rev}, rbytes)\n\n\ttx := s.b.BatchTx()\n\ttx.Lock()\n\ttx.UnsafePut(metaBucketName, scheduledCompactKeyName, rbytes)\n\ttx.Unlock()\n\t// ensure that desired compaction is persisted\n\ts.b.ForceCommit()\n\n\ts.mu.Unlock()\n\ts.revMu.Unlock()\n\tkeep := s.kvindex.Compact(rev)\n\tch := make(chan struct{})\n\tvar j = func(ctx context.Context) {\n\t\tif ctx.Err() != nil {\n\t\t\ts.compactBarrier(ctx, ch)\n\t\t\treturn\n\t\t}\n\t\tif !s.scheduleCompaction(rev, keep) {\n\t\t\ts.compactBarrier(nil, ch)\n\t\t\treturn\n\t\t}\n\t\tclose(ch)\n\t}\n\n\ts.fifoSched.Schedule(j)\n\n\tindexCompactionPauseMs.Observe(float64(time.Since(start) / time.Millisecond))\n\treturn ch, nil\n}\n\n// DefaultIgnores is a map of keys to ignore in hash checking.\nvar DefaultIgnores map[backend.IgnoreKey]struct{}\n\nfunc init() {\n\tDefaultIgnores = map[backend.IgnoreKey]struct{}{\n\t\t// consistent index might be changed due to v2 internal sync, which\n\t\t// is not controllable by the user.\n\t\t{Bucket: string(metaBucketName), Key: string(consistentIndexKeyName)}: {},\n\t}\n}\n\nfunc (s *store) Commit() {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\n\ttx := s.b.BatchTx()\n\ttx.Lock()\n\ts.saveIndex(tx)\n\ttx.Unlock()\n\ts.b.ForceCommit()\n}\n\nfunc (s *store) Restore(b backend.Backend) error {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\n\tclose(s.stopc)\n\ts.fifoSched.Stop()\n\n\tatomic.StoreUint64(&s.consistentIndex, 0)\n\ts.b = b\n\ts.kvindex = newTreeIndex(s.lg)\n\ts.currentRev = 1\n\ts.compactMainRev = -1\n\ts.fifoSched = schedule.NewFIFOScheduler()\n\ts.stopc = make(chan struct{})\n\n\treturn s.restore()\n}\n\nfunc (s *store) restore() error {\n\tb := s.b\n\treportDbTotalSizeInBytesMu.Lock()\n\treportDbTotalSizeInBytes = func() float64 { return float64(b.Size()) }\n\treportDbTotalSizeInBytesMu.Unlock()\n\treportDbTotalSizeInBytesDebuggingMu.Lock()\n\treportDbTotalSizeInBytesDebugging = func() float64 { return float64(b.Size()) }\n\treportDbTotalSizeInBytesDebuggingMu.Unlock()\n\treportDbTotalSizeInUseInBytesMu.Lock()\n\treportDbTotalSizeInUseInBytes = func() float64 { return float64(b.SizeInUse()) }\n\treportDbTotalSizeInUseInBytesMu.Unlock()\n\n\tmin, max := newRevBytes(), newRevBytes()\n\trevToBytes(revision{main: 1}, min)\n\trevToBytes(revision{main: math.MaxInt64, sub: math.MaxInt64}, max)\n\n\tkeyToLease := make(map[string]lease.LeaseID)\n\n\t// restore index\n\ttx := s.b.BatchTx()\n\ttx.Lock()\n\n\t_, finishedCompactBytes := tx.UnsafeRange(metaBucketName, finishedCompactKeyName, nil, 0)\n\tif len(finishedCompactBytes) != 0 {\n\t\ts.compactMainRev = bytesToRev(finishedCompactBytes[0]).main\n\n\t\tif s.lg != nil {\n\t\t\ts.lg.Info(\n\t\t\t\t\"restored last compact revision\",\n\t\t\t\tzap.String(\"meta-bucket-name\", string(metaBucketName)),\n\t\t\t\tzap.String(\"meta-bucket-name-key\", string(finishedCompactKeyName)),\n\t\t\t\tzap.Int64(\"restored-compact-revision\", s.compactMainRev),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Printf(\"restore compact to %d\", s.compactMainRev)\n\t\t}\n\t}\n\t_, scheduledCompactBytes := tx.UnsafeRange(metaBucketName, scheduledCompactKeyName, nil, 0)\n\tscheduledCompact := int64(0)\n\tif len(scheduledCompactBytes) != 0 {\n\t\tscheduledCompact = bytesToRev(scheduledCompactBytes[0]).main\n\t}\n\n\t// index keys concurrently as they're loaded in from tx\n\tkeysGauge.Set(0)\n\trkvc, revc := restoreIntoIndex(s.lg, s.kvindex)\n\tfor {\n\t\tkeys, vals := tx.UnsafeRange(keyBucketName, min, max, int64(restoreChunkKeys))\n\t\tif len(keys) == 0 {\n\t\t\tbreak\n\t\t}\n\t\t// rkvc blocks if the total pending keys exceeds the restore\n\t\t// chunk size to keep keys from consuming too much memory.\n\t\trestoreChunk(s.lg, rkvc, keys, vals, keyToLease)\n\t\tif len(keys) < restoreChunkKeys {\n\t\t\t// partial set implies final set\n\t\t\tbreak\n\t\t}\n\t\t// next set begins after where this one ended\n\t\tnewMin := bytesToRev(keys[len(keys)-1][:revBytesLen])\n\t\tnewMin.sub++\n\t\trevToBytes(newMin, min)\n\t}\n\tclose(rkvc)\n\ts.currentRev = <-revc\n\n\t// keys in the range [compacted revision -N, compaction] might all be deleted due to compaction.\n\t// the correct revision should be set to compaction revision in the case, not the largest revision\n\t// we have seen.\n\tif s.currentRev < s.compactMainRev {\n\t\ts.currentRev = s.compactMainRev\n\t}\n\tif scheduledCompact <= s.compactMainRev {\n\t\tscheduledCompact = 0\n\t}\n\n\tfor key, lid := range keyToLease {\n\t\tif s.le == nil {\n\t\t\tpanic(\"no lessor to attach lease\")\n\t\t}\n\t\terr := s.le.Attach(lid, []lease.LeaseItem{{Key: key}})\n\t\tif err != nil {\n\t\t\tif s.lg != nil {\n\t\t\t\ts.lg.Warn(\n\t\t\t\t\t\"failed to attach a lease\",\n\t\t\t\t\tzap.String(\"lease-id\", fmt.Sprintf(\"%016x\", lid)),\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"unexpected Attach error: %v\", err)\n\t\t\t}\n\t\t}\n\t}\n\n\ttx.Unlock()\n\n\tif scheduledCompact != 0 {\n\t\ts.Compact(scheduledCompact)\n\n\t\tif s.lg != nil {\n\t\t\ts.lg.Info(\n\t\t\t\t\"resume scheduled compaction\",\n\t\t\t\tzap.String(\"meta-bucket-name\", string(metaBucketName)),\n\t\t\t\tzap.String(\"meta-bucket-name-key\", string(scheduledCompactKeyName)),\n\t\t\t\tzap.Int64(\"scheduled-compact-revision\", scheduledCompact),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Printf(\"resume scheduled compaction at %d\", scheduledCompact)\n\t\t}\n\t}\n\n\treturn nil\n}\n\ntype revKeyValue struct {\n\tkey  []byte\n\tkv   mvccpb.KeyValue\n\tkstr string\n}\n\nfunc restoreIntoIndex(lg *zap.Logger, idx index) (chan<- revKeyValue, <-chan int64) {\n\trkvc, revc := make(chan revKeyValue, restoreChunkKeys), make(chan int64, 1)\n\tgo func() {\n\t\tcurrentRev := int64(1)\n\t\tdefer func() { revc <- currentRev }()\n\t\t// restore the tree index from streaming the unordered index.\n\t\tkiCache := make(map[string]*keyIndex, restoreChunkKeys)\n\t\tfor rkv := range rkvc {\n\t\t\tki, ok := kiCache[rkv.kstr]\n\t\t\t// purge kiCache if many keys but still missing in the cache\n\t\t\tif !ok && len(kiCache) >= restoreChunkKeys {\n\t\t\t\ti := 10\n\t\t\t\tfor k := range kiCache {\n\t\t\t\t\tdelete(kiCache, k)\n\t\t\t\t\tif i--; i == 0 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// cache miss, fetch from tree index if there\n\t\t\tif !ok {\n\t\t\t\tki = &keyIndex{key: rkv.kv.Key}\n\t\t\t\tif idxKey := idx.KeyIndex(ki); idxKey != nil {\n\t\t\t\t\tkiCache[rkv.kstr], ki = idxKey, idxKey\n\t\t\t\t\tok = true\n\t\t\t\t}\n\t\t\t}\n\t\t\trev := bytesToRev(rkv.key)\n\t\t\tcurrentRev = rev.main\n\t\t\tif ok {\n\t\t\t\tif isTombstone(rkv.key) {\n\t\t\t\t\tki.tombstone(lg, rev.main, rev.sub)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tki.put(lg, rev.main, rev.sub)\n\t\t\t} else if !isTombstone(rkv.key) {\n\t\t\t\tki.restore(lg, revision{rkv.kv.CreateRevision, 0}, rev, rkv.kv.Version)\n\t\t\t\tidx.Insert(ki)\n\t\t\t\tkiCache[rkv.kstr] = ki\n\t\t\t}\n\t\t}\n\t}()\n\treturn rkvc, revc\n}\n\nfunc restoreChunk(lg *zap.Logger, kvc chan<- revKeyValue, keys, vals [][]byte, keyToLease map[string]lease.LeaseID) {\n\tfor i, key := range keys {\n\t\trkv := revKeyValue{key: key}\n\t\tif err := rkv.kv.Unmarshal(vals[i]); err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Fatal(\"failed to unmarshal mvccpb.KeyValue\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Fatalf(\"cannot unmarshal event: %v\", err)\n\t\t\t}\n\t\t}\n\t\trkv.kstr = string(rkv.kv.Key)\n\t\tif isTombstone(key) {\n\t\t\tdelete(keyToLease, rkv.kstr)\n\t\t} else if lid := lease.LeaseID(rkv.kv.Lease); lid != lease.NoLease {\n\t\t\tkeyToLease[rkv.kstr] = lid\n\t\t} else {\n\t\t\tdelete(keyToLease, rkv.kstr)\n\t\t}\n\t\tkvc <- rkv\n\t}\n}\n\nfunc (s *store) Close() error {\n\tclose(s.stopc)\n\ts.fifoSched.Stop()\n\treturn nil\n}\n\nfunc (s *store) saveIndex(tx backend.BatchTx) {\n\tif s.ig == nil {\n\t\treturn\n\t}\n\tbs := s.bytesBuf8\n\tci := s.ig.ConsistentIndex()\n\tbinary.BigEndian.PutUint64(bs, ci)\n\t// put the index into the underlying backend\n\t// tx has been locked in TxnBegin, so there is no need to lock it again\n\ttx.UnsafePut(metaBucketName, consistentIndexKeyName, bs)\n\tatomic.StoreUint64(&s.consistentIndex, ci)\n}\n\nfunc (s *store) ConsistentIndex() uint64 {\n\tif ci := atomic.LoadUint64(&s.consistentIndex); ci > 0 {\n\t\treturn ci\n\t}\n\ttx := s.b.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\t_, vs := tx.UnsafeRange(metaBucketName, consistentIndexKeyName, nil, 0)\n\tif len(vs) == 0 {\n\t\treturn 0\n\t}\n\tv := binary.BigEndian.Uint64(vs[0])\n\tatomic.StoreUint64(&s.consistentIndex, v)\n\treturn v\n}\n\n// appendMarkTombstone appends tombstone mark to normal revision bytes.\nfunc appendMarkTombstone(lg *zap.Logger, b []byte) []byte {\n\tif len(b) != revBytesLen {\n\t\tif lg != nil {\n\t\t\tlg.Panic(\n\t\t\t\t\"cannot append tombstone mark to non-normal revision bytes\",\n\t\t\t\tzap.Int(\"expected-revision-bytes-size\", revBytesLen),\n\t\t\t\tzap.Int(\"given-revision-bytes-size\", len(b)),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Panicf(\"cannot append mark to non normal revision bytes\")\n\t\t}\n\t}\n\treturn append(b, markTombstone)\n}\n\n// isTombstone checks whether the revision bytes is a tombstone.\nfunc isTombstone(b []byte) bool {\n\treturn len(b) == markedRevBytesLen && b[markBytePosition] == markTombstone\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/kvstore_compaction.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage mvcc\n\nimport (\n\t\"encoding/binary\"\n\t\"time\"\n\n\t\"go.uber.org/zap\"\n)\n\nfunc (s *store) scheduleCompaction(compactMainRev int64, keep map[revision]struct{}) bool {\n\ttotalStart := time.Now()\n\tdefer dbCompactionTotalMs.Observe(float64(time.Since(totalStart) / time.Millisecond))\n\tkeyCompactions := 0\n\tdefer func() { dbCompactionKeysCounter.Add(float64(keyCompactions)) }()\n\n\tend := make([]byte, 8)\n\tbinary.BigEndian.PutUint64(end, uint64(compactMainRev+1))\n\n\tbatchsize := int64(10000)\n\tlast := make([]byte, 8+1+8)\n\tfor {\n\t\tvar rev revision\n\n\t\tstart := time.Now()\n\t\ttx := s.b.BatchTx()\n\t\ttx.Lock()\n\n\t\tkeys, _ := tx.UnsafeRange(keyBucketName, last, end, batchsize)\n\t\tfor _, key := range keys {\n\t\t\trev = bytesToRev(key)\n\t\t\tif _, ok := keep[rev]; !ok {\n\t\t\t\ttx.UnsafeDelete(keyBucketName, key)\n\t\t\t\tkeyCompactions++\n\t\t\t}\n\t\t}\n\n\t\tif len(keys) < int(batchsize) {\n\t\t\trbytes := make([]byte, 8+1+8)\n\t\t\trevToBytes(revision{main: compactMainRev}, rbytes)\n\t\t\ttx.UnsafePut(metaBucketName, finishedCompactKeyName, rbytes)\n\t\t\ttx.Unlock()\n\t\t\tif s.lg != nil {\n\t\t\t\ts.lg.Info(\n\t\t\t\t\t\"finished scheduled compaction\",\n\t\t\t\t\tzap.Int64(\"compact-revision\", compactMainRev),\n\t\t\t\t\tzap.Duration(\"took\", time.Since(totalStart)),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Printf(\"finished scheduled compaction at %d (took %v)\", compactMainRev, time.Since(totalStart))\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\n\t\t// update last\n\t\trevToBytes(revision{main: rev.main, sub: rev.sub + 1}, last)\n\t\ttx.Unlock()\n\t\tdbCompactionPauseMs.Observe(float64(time.Since(start) / time.Millisecond))\n\n\t\tselect {\n\t\tcase <-time.After(100 * time.Millisecond):\n\t\tcase <-s.stopc:\n\t\t\treturn false\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/kvstore_txn.go",
    "content": "// Copyright 2017 The etcd Authors\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\npackage mvcc\n\nimport (\n\t\"github.com/coreos/etcd/lease\"\n\t\"github.com/coreos/etcd/mvcc/backend\"\n\t\"github.com/coreos/etcd/mvcc/mvccpb\"\n\t\"go.uber.org/zap\"\n)\n\ntype storeTxnRead struct {\n\ts  *store\n\ttx backend.ReadTx\n\n\tfirstRev int64\n\trev      int64\n}\n\nfunc (s *store) Read() TxnRead {\n\ts.mu.RLock()\n\ttx := s.b.ReadTx()\n\ts.revMu.RLock()\n\ttx.Lock()\n\tfirstRev, rev := s.compactMainRev, s.currentRev\n\ts.revMu.RUnlock()\n\treturn newMetricsTxnRead(&storeTxnRead{s, tx, firstRev, rev})\n}\n\nfunc (tr *storeTxnRead) FirstRev() int64 { return tr.firstRev }\nfunc (tr *storeTxnRead) Rev() int64      { return tr.rev }\n\nfunc (tr *storeTxnRead) Range(key, end []byte, ro RangeOptions) (r *RangeResult, err error) {\n\treturn tr.rangeKeys(key, end, tr.Rev(), ro)\n}\n\nfunc (tr *storeTxnRead) End() {\n\ttr.tx.Unlock()\n\ttr.s.mu.RUnlock()\n}\n\ntype storeTxnWrite struct {\n\tstoreTxnRead\n\ttx backend.BatchTx\n\t// beginRev is the revision where the txn begins; it will write to the next revision.\n\tbeginRev int64\n\tchanges  []mvccpb.KeyValue\n}\n\nfunc (s *store) Write() TxnWrite {\n\ts.mu.RLock()\n\ttx := s.b.BatchTx()\n\ttx.Lock()\n\ttw := &storeTxnWrite{\n\t\tstoreTxnRead: storeTxnRead{s, tx, 0, 0},\n\t\ttx:           tx,\n\t\tbeginRev:     s.currentRev,\n\t\tchanges:      make([]mvccpb.KeyValue, 0, 4),\n\t}\n\treturn newMetricsTxnWrite(tw)\n}\n\nfunc (tw *storeTxnWrite) Rev() int64 { return tw.beginRev }\n\nfunc (tw *storeTxnWrite) Range(key, end []byte, ro RangeOptions) (r *RangeResult, err error) {\n\trev := tw.beginRev\n\tif len(tw.changes) > 0 {\n\t\trev++\n\t}\n\treturn tw.rangeKeys(key, end, rev, ro)\n}\n\nfunc (tw *storeTxnWrite) DeleteRange(key, end []byte) (int64, int64) {\n\tif n := tw.deleteRange(key, end); n != 0 || len(tw.changes) > 0 {\n\t\treturn n, tw.beginRev + 1\n\t}\n\treturn 0, tw.beginRev\n}\n\nfunc (tw *storeTxnWrite) Put(key, value []byte, lease lease.LeaseID) int64 {\n\ttw.put(key, value, lease)\n\treturn tw.beginRev + 1\n}\n\nfunc (tw *storeTxnWrite) End() {\n\t// only update index if the txn modifies the mvcc state.\n\tif len(tw.changes) != 0 {\n\t\ttw.s.saveIndex(tw.tx)\n\t\t// hold revMu lock to prevent new read txns from opening until writeback.\n\t\ttw.s.revMu.Lock()\n\t\ttw.s.currentRev++\n\t}\n\ttw.tx.Unlock()\n\tif len(tw.changes) != 0 {\n\t\ttw.s.revMu.Unlock()\n\t}\n\ttw.s.mu.RUnlock()\n}\n\nfunc (tr *storeTxnRead) rangeKeys(key, end []byte, curRev int64, ro RangeOptions) (*RangeResult, error) {\n\trev := ro.Rev\n\tif rev > curRev {\n\t\treturn &RangeResult{KVs: nil, Count: -1, Rev: curRev}, ErrFutureRev\n\t}\n\tif rev <= 0 {\n\t\trev = curRev\n\t}\n\tif rev < tr.s.compactMainRev {\n\t\treturn &RangeResult{KVs: nil, Count: -1, Rev: 0}, ErrCompacted\n\t}\n\n\trevpairs := tr.s.kvindex.Revisions(key, end, rev)\n\tif len(revpairs) == 0 {\n\t\treturn &RangeResult{KVs: nil, Count: 0, Rev: curRev}, nil\n\t}\n\tif ro.Count {\n\t\treturn &RangeResult{KVs: nil, Count: len(revpairs), Rev: curRev}, nil\n\t}\n\n\tlimit := int(ro.Limit)\n\tif limit <= 0 || limit > len(revpairs) {\n\t\tlimit = len(revpairs)\n\t}\n\n\tkvs := make([]mvccpb.KeyValue, limit)\n\trevBytes := newRevBytes()\n\tfor i, revpair := range revpairs[:len(kvs)] {\n\t\trevToBytes(revpair, revBytes)\n\t\t_, vs := tr.tx.UnsafeRange(keyBucketName, revBytes, nil, 0)\n\t\tif len(vs) != 1 {\n\t\t\tif tr.s.lg != nil {\n\t\t\t\ttr.s.lg.Fatal(\n\t\t\t\t\t\"range failed to find revision pair\",\n\t\t\t\t\tzap.Int64(\"revision-main\", revpair.main),\n\t\t\t\t\tzap.Int64(\"revision-sub\", revpair.sub),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Fatalf(\"range cannot find rev (%d,%d)\", revpair.main, revpair.sub)\n\t\t\t}\n\t\t}\n\t\tif err := kvs[i].Unmarshal(vs[0]); err != nil {\n\t\t\tif tr.s.lg != nil {\n\t\t\t\ttr.s.lg.Fatal(\n\t\t\t\t\t\"failed to unmarshal mvccpb.KeyValue\",\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Fatalf(\"cannot unmarshal event: %v\", err)\n\t\t\t}\n\t\t}\n\t}\n\treturn &RangeResult{KVs: kvs, Count: len(revpairs), Rev: curRev}, nil\n}\n\nfunc (tw *storeTxnWrite) put(key, value []byte, leaseID lease.LeaseID) {\n\trev := tw.beginRev + 1\n\tc := rev\n\toldLease := lease.NoLease\n\n\t// if the key exists before, use its previous created and\n\t// get its previous leaseID\n\t_, created, ver, err := tw.s.kvindex.Get(key, rev)\n\tif err == nil {\n\t\tc = created.main\n\t\toldLease = tw.s.le.GetLease(lease.LeaseItem{Key: string(key)})\n\t}\n\n\tibytes := newRevBytes()\n\tidxRev := revision{main: rev, sub: int64(len(tw.changes))}\n\trevToBytes(idxRev, ibytes)\n\n\tver = ver + 1\n\tkv := mvccpb.KeyValue{\n\t\tKey:            key,\n\t\tValue:          value,\n\t\tCreateRevision: c,\n\t\tModRevision:    rev,\n\t\tVersion:        ver,\n\t\tLease:          int64(leaseID),\n\t}\n\n\td, err := kv.Marshal()\n\tif err != nil {\n\t\tif tw.storeTxnRead.s.lg != nil {\n\t\t\ttw.storeTxnRead.s.lg.Fatal(\n\t\t\t\t\"failed to marshal mvccpb.KeyValue\",\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Fatalf(\"cannot marshal event: %v\", err)\n\t\t}\n\t}\n\n\ttw.tx.UnsafeSeqPut(keyBucketName, ibytes, d)\n\ttw.s.kvindex.Put(key, idxRev)\n\ttw.changes = append(tw.changes, kv)\n\n\tif oldLease != lease.NoLease {\n\t\tif tw.s.le == nil {\n\t\t\tpanic(\"no lessor to detach lease\")\n\t\t}\n\t\terr = tw.s.le.Detach(oldLease, []lease.LeaseItem{{Key: string(key)}})\n\t\tif err != nil {\n\t\t\tif tw.storeTxnRead.s.lg != nil {\n\t\t\t\ttw.storeTxnRead.s.lg.Fatal(\n\t\t\t\t\t\"failed to detach old lease from a key\",\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"unexpected error from lease detach: %v\", err)\n\t\t\t}\n\t\t}\n\t}\n\tif leaseID != lease.NoLease {\n\t\tif tw.s.le == nil {\n\t\t\tpanic(\"no lessor to attach lease\")\n\t\t}\n\t\terr = tw.s.le.Attach(leaseID, []lease.LeaseItem{{Key: string(key)}})\n\t\tif err != nil {\n\t\t\tpanic(\"unexpected error from lease Attach\")\n\t\t}\n\t}\n}\n\nfunc (tw *storeTxnWrite) deleteRange(key, end []byte) int64 {\n\trrev := tw.beginRev\n\tif len(tw.changes) > 0 {\n\t\trrev += 1\n\t}\n\tkeys, _ := tw.s.kvindex.Range(key, end, rrev)\n\tif len(keys) == 0 {\n\t\treturn 0\n\t}\n\tfor _, key := range keys {\n\t\ttw.delete(key)\n\t}\n\treturn int64(len(keys))\n}\n\nfunc (tw *storeTxnWrite) delete(key []byte) {\n\tibytes := newRevBytes()\n\tidxRev := revision{main: tw.beginRev + 1, sub: int64(len(tw.changes))}\n\trevToBytes(idxRev, ibytes)\n\n\tif tw.storeTxnRead.s != nil && tw.storeTxnRead.s.lg != nil {\n\t\tibytes = appendMarkTombstone(tw.storeTxnRead.s.lg, ibytes)\n\t} else {\n\t\t// TODO: remove this in v3.5\n\t\tibytes = appendMarkTombstone(nil, ibytes)\n\t}\n\n\tkv := mvccpb.KeyValue{Key: key}\n\n\td, err := kv.Marshal()\n\tif err != nil {\n\t\tif tw.storeTxnRead.s.lg != nil {\n\t\t\ttw.storeTxnRead.s.lg.Fatal(\n\t\t\t\t\"failed to marshal mvccpb.KeyValue\",\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Fatalf(\"cannot marshal event: %v\", err)\n\t\t}\n\t}\n\n\ttw.tx.UnsafeSeqPut(keyBucketName, ibytes, d)\n\terr = tw.s.kvindex.Tombstone(key, idxRev)\n\tif err != nil {\n\t\tif tw.storeTxnRead.s.lg != nil {\n\t\t\ttw.storeTxnRead.s.lg.Fatal(\n\t\t\t\t\"failed to tombstone an existing key\",\n\t\t\t\tzap.String(\"key\", string(key)),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t} else {\n\t\t\tplog.Fatalf(\"cannot tombstone an existing key (%s): %v\", string(key), err)\n\t\t}\n\t}\n\ttw.changes = append(tw.changes, kv)\n\n\titem := lease.LeaseItem{Key: string(key)}\n\tleaseID := tw.s.le.GetLease(item)\n\n\tif leaseID != lease.NoLease {\n\t\terr = tw.s.le.Detach(leaseID, []lease.LeaseItem{item})\n\t\tif err != nil {\n\t\t\tif tw.storeTxnRead.s.lg != nil {\n\t\t\t\ttw.storeTxnRead.s.lg.Fatal(\n\t\t\t\t\t\"failed to detach old lease from a key\",\n\t\t\t\t\tzap.Error(err),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Errorf(\"cannot detach %v\", err)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (tw *storeTxnWrite) Changes() []mvccpb.KeyValue { return tw.changes }\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/metrics.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage mvcc\n\nimport (\n\t\"sync\"\n\n\t\"github.com/prometheus/client_golang/prometheus\"\n)\n\nvar (\n\trangeCounter = prometheus.NewCounter(\n\t\tprometheus.CounterOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"range_total\",\n\t\t\tHelp:      \"Total number of ranges seen by this member.\",\n\t\t})\n\n\tputCounter = prometheus.NewCounter(\n\t\tprometheus.CounterOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"put_total\",\n\t\t\tHelp:      \"Total number of puts seen by this member.\",\n\t\t})\n\n\tdeleteCounter = prometheus.NewCounter(\n\t\tprometheus.CounterOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"delete_total\",\n\t\t\tHelp:      \"Total number of deletes seen by this member.\",\n\t\t})\n\n\ttxnCounter = prometheus.NewCounter(\n\t\tprometheus.CounterOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"txn_total\",\n\t\t\tHelp:      \"Total number of txns seen by this member.\",\n\t\t})\n\n\tkeysGauge = prometheus.NewGauge(\n\t\tprometheus.GaugeOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"keys_total\",\n\t\t\tHelp:      \"Total number of keys.\",\n\t\t})\n\n\twatchStreamGauge = prometheus.NewGauge(\n\t\tprometheus.GaugeOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"watch_stream_total\",\n\t\t\tHelp:      \"Total number of watch streams.\",\n\t\t})\n\n\twatcherGauge = prometheus.NewGauge(\n\t\tprometheus.GaugeOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"watcher_total\",\n\t\t\tHelp:      \"Total number of watchers.\",\n\t\t})\n\n\tslowWatcherGauge = prometheus.NewGauge(\n\t\tprometheus.GaugeOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"slow_watcher_total\",\n\t\t\tHelp:      \"Total number of unsynced slow watchers.\",\n\t\t})\n\n\ttotalEventsCounter = prometheus.NewCounter(\n\t\tprometheus.CounterOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"events_total\",\n\t\t\tHelp:      \"Total number of events sent by this member.\",\n\t\t})\n\n\tpendingEventsGauge = prometheus.NewGauge(\n\t\tprometheus.GaugeOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"pending_events_total\",\n\t\t\tHelp:      \"Total number of pending events to be sent.\",\n\t\t})\n\n\tindexCompactionPauseMs = prometheus.NewHistogram(\n\t\tprometheus.HistogramOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"index_compaction_pause_duration_milliseconds\",\n\t\t\tHelp:      \"Bucketed histogram of index compaction pause duration.\",\n\n\t\t\t// lowest bucket start of upper bound 0.5 ms with factor 2\n\t\t\t// highest bucket start of 0.5 ms * 2^13 == 4.096 sec\n\t\t\tBuckets: prometheus.ExponentialBuckets(0.5, 2, 14),\n\t\t})\n\n\tdbCompactionPauseMs = prometheus.NewHistogram(\n\t\tprometheus.HistogramOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"db_compaction_pause_duration_milliseconds\",\n\t\t\tHelp:      \"Bucketed histogram of db compaction pause duration.\",\n\n\t\t\t// lowest bucket start of upper bound 1 ms with factor 2\n\t\t\t// highest bucket start of 1 ms * 2^12 == 4.096 sec\n\t\t\tBuckets: prometheus.ExponentialBuckets(1, 2, 13),\n\t\t})\n\n\tdbCompactionTotalMs = prometheus.NewHistogram(\n\t\tprometheus.HistogramOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"db_compaction_total_duration_milliseconds\",\n\t\t\tHelp:      \"Bucketed histogram of db compaction total duration.\",\n\n\t\t\t// lowest bucket start of upper bound 100 ms with factor 2\n\t\t\t// highest bucket start of 100 ms * 2^13 == 8.192 sec\n\t\t\tBuckets: prometheus.ExponentialBuckets(100, 2, 14),\n\t\t})\n\n\tdbCompactionKeysCounter = prometheus.NewCounter(\n\t\tprometheus.CounterOpts{\n\t\t\tNamespace: \"etcd_debugging\",\n\t\t\tSubsystem: \"mvcc\",\n\t\t\tName:      \"db_compaction_keys_total\",\n\t\t\tHelp:      \"Total number of db keys compacted.\",\n\t\t})\n\n\tdbTotalSize = prometheus.NewGaugeFunc(prometheus.GaugeOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"mvcc\",\n\t\tName:      \"db_total_size_in_bytes\",\n\t\tHelp:      \"Total size of the underlying database physically allocated in bytes.\",\n\t},\n\t\tfunc() float64 {\n\t\t\treportDbTotalSizeInBytesMu.RLock()\n\t\t\tdefer reportDbTotalSizeInBytesMu.RUnlock()\n\t\t\treturn reportDbTotalSizeInBytes()\n\t\t},\n\t)\n\t// overridden by mvcc initialization\n\treportDbTotalSizeInBytesMu sync.RWMutex\n\treportDbTotalSizeInBytes   = func() float64 { return 0 }\n\n\t// TODO: remove this in v3.5\n\tdbTotalSizeDebugging = prometheus.NewGaugeFunc(prometheus.GaugeOpts{\n\t\tNamespace: \"etcd_debugging\",\n\t\tSubsystem: \"mvcc\",\n\t\tName:      \"db_total_size_in_bytes\",\n\t\tHelp:      \"Total size of the underlying database physically allocated in bytes.\",\n\t},\n\t\tfunc() float64 {\n\t\t\treportDbTotalSizeInBytesDebuggingMu.RLock()\n\t\t\tdefer reportDbTotalSizeInBytesDebuggingMu.RUnlock()\n\t\t\treturn reportDbTotalSizeInBytesDebugging()\n\t\t},\n\t)\n\t// overridden by mvcc initialization\n\treportDbTotalSizeInBytesDebuggingMu sync.RWMutex\n\treportDbTotalSizeInBytesDebugging   = func() float64 { return 0 }\n\n\tdbTotalSizeInUse = prometheus.NewGaugeFunc(prometheus.GaugeOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"mvcc\",\n\t\tName:      \"db_total_size_in_use_in_bytes\",\n\t\tHelp:      \"Total size of the underlying database logically in use in bytes.\",\n\t},\n\t\tfunc() float64 {\n\t\t\treportDbTotalSizeInUseInBytesMu.RLock()\n\t\t\tdefer reportDbTotalSizeInUseInBytesMu.RUnlock()\n\t\t\treturn reportDbTotalSizeInUseInBytes()\n\t\t},\n\t)\n\t// overridden by mvcc initialization\n\treportDbTotalSizeInUseInBytesMu sync.RWMutex\n\treportDbTotalSizeInUseInBytes   = func() float64 { return 0 }\n\n\thashSec = prometheus.NewHistogram(prometheus.HistogramOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"mvcc\",\n\t\tName:      \"hash_duration_seconds\",\n\t\tHelp:      \"The latency distribution of storage hash operation.\",\n\n\t\t// 100 MB usually takes 100 ms, so start with 10 MB of 10 ms\n\t\t// lowest bucket start of upper bound 0.01 sec (10 ms) with factor 2\n\t\t// highest bucket start of 0.01 sec * 2^14 == 163.84 sec\n\t\tBuckets: prometheus.ExponentialBuckets(.01, 2, 15),\n\t})\n\n\thashRevSec = prometheus.NewHistogram(prometheus.HistogramOpts{\n\t\tNamespace: \"etcd\",\n\t\tSubsystem: \"mvcc\",\n\t\tName:      \"hash_rev_duration_seconds\",\n\t\tHelp:      \"The latency distribution of storage hash by revision operation.\",\n\n\t\t// 100 MB usually takes 100 ms, so start with 10 MB of 10 ms\n\t\t// lowest bucket start of upper bound 0.01 sec (10 ms) with factor 2\n\t\t// highest bucket start of 0.01 sec * 2^14 == 163.84 sec\n\t\tBuckets: prometheus.ExponentialBuckets(.01, 2, 15),\n\t})\n)\n\nfunc init() {\n\tprometheus.MustRegister(rangeCounter)\n\tprometheus.MustRegister(putCounter)\n\tprometheus.MustRegister(deleteCounter)\n\tprometheus.MustRegister(txnCounter)\n\tprometheus.MustRegister(keysGauge)\n\tprometheus.MustRegister(watchStreamGauge)\n\tprometheus.MustRegister(watcherGauge)\n\tprometheus.MustRegister(slowWatcherGauge)\n\tprometheus.MustRegister(totalEventsCounter)\n\tprometheus.MustRegister(pendingEventsGauge)\n\tprometheus.MustRegister(indexCompactionPauseMs)\n\tprometheus.MustRegister(dbCompactionPauseMs)\n\tprometheus.MustRegister(dbCompactionTotalMs)\n\tprometheus.MustRegister(dbCompactionKeysCounter)\n\tprometheus.MustRegister(dbTotalSize)\n\tprometheus.MustRegister(dbTotalSizeDebugging)\n\tprometheus.MustRegister(dbTotalSizeInUse)\n\tprometheus.MustRegister(hashSec)\n\tprometheus.MustRegister(hashRevSec)\n}\n\n// ReportEventReceived reports that an event is received.\n// This function should be called when the external systems received an\n// event from mvcc.Watcher.\nfunc ReportEventReceived(n int) {\n\tpendingEventsGauge.Sub(float64(n))\n\ttotalEventsCounter.Add(float64(n))\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/metrics_txn.go",
    "content": "// Copyright 2017 The etcd Authors\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\npackage mvcc\n\nimport \"github.com/coreos/etcd/lease\"\n\ntype metricsTxnWrite struct {\n\tTxnWrite\n\tranges  uint\n\tputs    uint\n\tdeletes uint\n}\n\nfunc newMetricsTxnRead(tr TxnRead) TxnRead {\n\treturn &metricsTxnWrite{&txnReadWrite{tr}, 0, 0, 0}\n}\n\nfunc newMetricsTxnWrite(tw TxnWrite) TxnWrite {\n\treturn &metricsTxnWrite{tw, 0, 0, 0}\n}\n\nfunc (tw *metricsTxnWrite) Range(key, end []byte, ro RangeOptions) (*RangeResult, error) {\n\ttw.ranges++\n\treturn tw.TxnWrite.Range(key, end, ro)\n}\n\nfunc (tw *metricsTxnWrite) DeleteRange(key, end []byte) (n, rev int64) {\n\ttw.deletes++\n\treturn tw.TxnWrite.DeleteRange(key, end)\n}\n\nfunc (tw *metricsTxnWrite) Put(key, value []byte, lease lease.LeaseID) (rev int64) {\n\ttw.puts++\n\treturn tw.TxnWrite.Put(key, value, lease)\n}\n\nfunc (tw *metricsTxnWrite) End() {\n\tdefer tw.TxnWrite.End()\n\tif sum := tw.ranges + tw.puts + tw.deletes; sum > 1 {\n\t\ttxnCounter.Inc()\n\t}\n\trangeCounter.Add(float64(tw.ranges))\n\tputCounter.Add(float64(tw.puts))\n\tdeleteCounter.Add(float64(tw.deletes))\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/mvccpb/kv.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: kv.proto\n\n/*\n\tPackage mvccpb is a generated protocol buffer package.\n\n\tIt is generated from these files:\n\t\tkv.proto\n\n\tIt has these top-level messages:\n\t\tKeyValue\n\t\tEvent\n*/\npackage mvccpb\n\nimport (\n\t\"fmt\"\n\n\tproto \"github.com/golang/protobuf/proto\"\n\n\tmath \"math\"\n\n\t_ \"github.com/gogo/protobuf/gogoproto\"\n\n\tio \"io\"\n)\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\ntype Event_EventType int32\n\nconst (\n\tPUT    Event_EventType = 0\n\tDELETE Event_EventType = 1\n)\n\nvar Event_EventType_name = map[int32]string{\n\t0: \"PUT\",\n\t1: \"DELETE\",\n}\nvar Event_EventType_value = map[string]int32{\n\t\"PUT\":    0,\n\t\"DELETE\": 1,\n}\n\nfunc (x Event_EventType) String() string {\n\treturn proto.EnumName(Event_EventType_name, int32(x))\n}\nfunc (Event_EventType) EnumDescriptor() ([]byte, []int) { return fileDescriptorKv, []int{1, 0} }\n\ntype KeyValue struct {\n\t// key is the key in bytes. An empty key is not allowed.\n\tKey []byte `protobuf:\"bytes,1,opt,name=key,proto3\" json:\"key,omitempty\"`\n\t// create_revision is the revision of last creation on this key.\n\tCreateRevision int64 `protobuf:\"varint,2,opt,name=create_revision,json=createRevision,proto3\" json:\"create_revision,omitempty\"`\n\t// mod_revision is the revision of last modification on this key.\n\tModRevision int64 `protobuf:\"varint,3,opt,name=mod_revision,json=modRevision,proto3\" json:\"mod_revision,omitempty\"`\n\t// version is the version of the key. A deletion resets\n\t// the version to zero and any modification of the key\n\t// increases its version.\n\tVersion int64 `protobuf:\"varint,4,opt,name=version,proto3\" json:\"version,omitempty\"`\n\t// value is the value held by the key, in bytes.\n\tValue []byte `protobuf:\"bytes,5,opt,name=value,proto3\" json:\"value,omitempty\"`\n\t// lease is the ID of the lease that attached to key.\n\t// When the attached lease expires, the key will be deleted.\n\t// If lease is 0, then no lease is attached to the key.\n\tLease int64 `protobuf:\"varint,6,opt,name=lease,proto3\" json:\"lease,omitempty\"`\n}\n\nfunc (m *KeyValue) Reset()                    { *m = KeyValue{} }\nfunc (m *KeyValue) String() string            { return proto.CompactTextString(m) }\nfunc (*KeyValue) ProtoMessage()               {}\nfunc (*KeyValue) Descriptor() ([]byte, []int) { return fileDescriptorKv, []int{0} }\n\ntype Event struct {\n\t// type is the kind of event. If type is a PUT, it indicates\n\t// new data has been stored to the key. If type is a DELETE,\n\t// it indicates the key was deleted.\n\tType Event_EventType `protobuf:\"varint,1,opt,name=type,proto3,enum=mvccpb.Event_EventType\" json:\"type,omitempty\"`\n\t// kv holds the KeyValue for the event.\n\t// A PUT event contains current kv pair.\n\t// A PUT event with kv.Version=1 indicates the creation of a key.\n\t// A DELETE/EXPIRE event contains the deleted key with\n\t// its modification revision set to the revision of deletion.\n\tKv *KeyValue `protobuf:\"bytes,2,opt,name=kv\" json:\"kv,omitempty\"`\n\t// prev_kv holds the key-value pair before the event happens.\n\tPrevKv *KeyValue `protobuf:\"bytes,3,opt,name=prev_kv,json=prevKv\" json:\"prev_kv,omitempty\"`\n}\n\nfunc (m *Event) Reset()                    { *m = Event{} }\nfunc (m *Event) String() string            { return proto.CompactTextString(m) }\nfunc (*Event) ProtoMessage()               {}\nfunc (*Event) Descriptor() ([]byte, []int) { return fileDescriptorKv, []int{1} }\n\nfunc init() {\n\tproto.RegisterType((*KeyValue)(nil), \"mvccpb.KeyValue\")\n\tproto.RegisterType((*Event)(nil), \"mvccpb.Event\")\n\tproto.RegisterEnum(\"mvccpb.Event_EventType\", Event_EventType_name, Event_EventType_value)\n}\nfunc (m *KeyValue) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *KeyValue) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Key) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintKv(dAtA, i, uint64(len(m.Key)))\n\t\ti += copy(dAtA[i:], m.Key)\n\t}\n\tif m.CreateRevision != 0 {\n\t\tdAtA[i] = 0x10\n\t\ti++\n\t\ti = encodeVarintKv(dAtA, i, uint64(m.CreateRevision))\n\t}\n\tif m.ModRevision != 0 {\n\t\tdAtA[i] = 0x18\n\t\ti++\n\t\ti = encodeVarintKv(dAtA, i, uint64(m.ModRevision))\n\t}\n\tif m.Version != 0 {\n\t\tdAtA[i] = 0x20\n\t\ti++\n\t\ti = encodeVarintKv(dAtA, i, uint64(m.Version))\n\t}\n\tif len(m.Value) > 0 {\n\t\tdAtA[i] = 0x2a\n\t\ti++\n\t\ti = encodeVarintKv(dAtA, i, uint64(len(m.Value)))\n\t\ti += copy(dAtA[i:], m.Value)\n\t}\n\tif m.Lease != 0 {\n\t\tdAtA[i] = 0x30\n\t\ti++\n\t\ti = encodeVarintKv(dAtA, i, uint64(m.Lease))\n\t}\n\treturn i, nil\n}\n\nfunc (m *Event) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Event) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Type != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintKv(dAtA, i, uint64(m.Type))\n\t}\n\tif m.Kv != nil {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintKv(dAtA, i, uint64(m.Kv.Size()))\n\t\tn1, err := m.Kv.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n1\n\t}\n\tif m.PrevKv != nil {\n\t\tdAtA[i] = 0x1a\n\t\ti++\n\t\ti = encodeVarintKv(dAtA, i, uint64(m.PrevKv.Size()))\n\t\tn2, err := m.PrevKv.MarshalTo(dAtA[i:])\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\ti += n2\n\t}\n\treturn i, nil\n}\n\nfunc encodeVarintKv(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *KeyValue) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Key)\n\tif l > 0 {\n\t\tn += 1 + l + sovKv(uint64(l))\n\t}\n\tif m.CreateRevision != 0 {\n\t\tn += 1 + sovKv(uint64(m.CreateRevision))\n\t}\n\tif m.ModRevision != 0 {\n\t\tn += 1 + sovKv(uint64(m.ModRevision))\n\t}\n\tif m.Version != 0 {\n\t\tn += 1 + sovKv(uint64(m.Version))\n\t}\n\tl = len(m.Value)\n\tif l > 0 {\n\t\tn += 1 + l + sovKv(uint64(l))\n\t}\n\tif m.Lease != 0 {\n\t\tn += 1 + sovKv(uint64(m.Lease))\n\t}\n\treturn n\n}\n\nfunc (m *Event) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Type != 0 {\n\t\tn += 1 + sovKv(uint64(m.Type))\n\t}\n\tif m.Kv != nil {\n\t\tl = m.Kv.Size()\n\t\tn += 1 + l + sovKv(uint64(l))\n\t}\n\tif m.PrevKv != nil {\n\t\tl = m.PrevKv.Size()\n\t\tn += 1 + l + sovKv(uint64(l))\n\t}\n\treturn n\n}\n\nfunc sovKv(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozKv(x uint64) (n int) {\n\treturn sovKv(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *KeyValue) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowKv\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: KeyValue: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: KeyValue: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Key\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowKv\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthKv\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Key == nil {\n\t\t\t\tm.Key = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field CreateRevision\", wireType)\n\t\t\t}\n\t\t\tm.CreateRevision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowKv\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.CreateRevision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ModRevision\", wireType)\n\t\t\t}\n\t\t\tm.ModRevision = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowKv\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ModRevision |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Version\", wireType)\n\t\t\t}\n\t\t\tm.Version = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowKv\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Version |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 5:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Value\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowKv\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthKv\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Value == nil {\n\t\t\t\tm.Value = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 6:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Lease\", wireType)\n\t\t\t}\n\t\t\tm.Lease = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowKv\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Lease |= (int64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipKv(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthKv\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *Event) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowKv\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: Event: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: Event: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Type\", wireType)\n\t\t\t}\n\t\t\tm.Type = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowKv\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Type |= (Event_EventType(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Kv\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowKv\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthKv\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.Kv == nil {\n\t\t\t\tm.Kv = &KeyValue{}\n\t\t\t}\n\t\t\tif err := m.Kv.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field PrevKv\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowKv\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthKv\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif m.PrevKv == nil {\n\t\t\t\tm.PrevKv = &KeyValue{}\n\t\t\t}\n\t\t\tif err := m.PrevKv.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipKv(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthKv\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipKv(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowKv\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowKv\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowKv\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthKv\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowKv\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipKv(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthKv = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowKv   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"kv.proto\", fileDescriptorKv) }\n\nvar fileDescriptorKv = []byte{\n\t// 303 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0x41, 0x4e, 0xc2, 0x40,\n\t0x14, 0x86, 0x3b, 0x14, 0x0a, 0x3e, 0x08, 0x36, 0x13, 0x12, 0x27, 0x2e, 0x26, 0x95, 0x8d, 0x18,\n\t0x13, 0x4c, 0xf0, 0x06, 0xc6, 0xae, 0x70, 0x61, 0x1a, 0x74, 0x4b, 0x4a, 0x79, 0x21, 0xa4, 0x94,\n\t0x69, 0x4a, 0x9d, 0xa4, 0x37, 0x71, 0xef, 0xde, 0x73, 0xb0, 0xe4, 0x08, 0x52, 0x2f, 0x62, 0xfa,\n\t0xc6, 0xe2, 0xc6, 0xcd, 0xe4, 0xfd, 0xff, 0xff, 0x65, 0xe6, 0x7f, 0x03, 0x9d, 0x58, 0x8f, 0xd3,\n\t0x4c, 0xe5, 0x8a, 0x3b, 0x89, 0x8e, 0xa2, 0x74, 0x71, 0x39, 0x58, 0xa9, 0x95, 0x22, 0xeb, 0xae,\n\t0x9a, 0x4c, 0x3a, 0xfc, 0x64, 0xd0, 0x99, 0x62, 0xf1, 0x1a, 0x6e, 0xde, 0x90, 0xbb, 0x60, 0xc7,\n\t0x58, 0x08, 0xe6, 0xb1, 0x51, 0x2f, 0xa8, 0x46, 0x7e, 0x0d, 0xe7, 0x51, 0x86, 0x61, 0x8e, 0xf3,\n\t0x0c, 0xf5, 0x7a, 0xb7, 0x56, 0x5b, 0xd1, 0xf0, 0xd8, 0xc8, 0x0e, 0xfa, 0xc6, 0x0e, 0x7e, 0x5d,\n\t0x7e, 0x05, 0xbd, 0x44, 0x2d, 0xff, 0x28, 0x9b, 0xa8, 0x6e, 0xa2, 0x96, 0x27, 0x44, 0x40, 0x5b,\n\t0x63, 0x46, 0x69, 0x93, 0xd2, 0x5a, 0xf2, 0x01, 0xb4, 0x74, 0x55, 0x40, 0xb4, 0xe8, 0x65, 0x23,\n\t0x2a, 0x77, 0x83, 0xe1, 0x0e, 0x85, 0x43, 0xb4, 0x11, 0xc3, 0x0f, 0x06, 0x2d, 0x5f, 0xe3, 0x36,\n\t0xe7, 0xb7, 0xd0, 0xcc, 0x8b, 0x14, 0xa9, 0x6e, 0x7f, 0x72, 0x31, 0x36, 0x7b, 0x8e, 0x29, 0x34,\n\t0xe7, 0xac, 0x48, 0x31, 0x20, 0x88, 0x7b, 0xd0, 0x88, 0x35, 0x75, 0xef, 0x4e, 0xdc, 0x1a, 0xad,\n\t0x17, 0x0f, 0x1a, 0xb1, 0xe6, 0x37, 0xd0, 0x4e, 0x33, 0xd4, 0xf3, 0x58, 0x53, 0xf9, 0xff, 0x30,\n\t0xa7, 0x02, 0xa6, 0x7a, 0xe8, 0xc1, 0xd9, 0xe9, 0x7e, 0xde, 0x06, 0xfb, 0xf9, 0x65, 0xe6, 0x5a,\n\t0x1c, 0xc0, 0x79, 0xf4, 0x9f, 0xfc, 0x99, 0xef, 0xb2, 0x07, 0xb1, 0x3f, 0x4a, 0xeb, 0x70, 0x94,\n\t0xd6, 0xbe, 0x94, 0xec, 0x50, 0x4a, 0xf6, 0x55, 0x4a, 0xf6, 0xfe, 0x2d, 0xad, 0x85, 0x43, 0xff,\n\t0x7e, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xb5, 0x45, 0x92, 0x5d, 0xa1, 0x01, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/revision.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage mvcc\n\nimport \"encoding/binary\"\n\n// revBytesLen is the byte length of a normal revision.\n// First 8 bytes is the revision.main in big-endian format. The 9th byte\n// is a '_'. The last 8 bytes is the revision.sub in big-endian format.\nconst revBytesLen = 8 + 1 + 8\n\n// A revision indicates modification of the key-value space.\n// The set of changes that share same main revision changes the key-value space atomically.\ntype revision struct {\n\t// main is the main revision of a set of changes that happen atomically.\n\tmain int64\n\n\t// sub is the the sub revision of a change in a set of changes that happen\n\t// atomically. Each change has different increasing sub revision in that\n\t// set.\n\tsub int64\n}\n\nfunc (a revision) GreaterThan(b revision) bool {\n\tif a.main > b.main {\n\t\treturn true\n\t}\n\tif a.main < b.main {\n\t\treturn false\n\t}\n\treturn a.sub > b.sub\n}\n\nfunc newRevBytes() []byte {\n\treturn make([]byte, revBytesLen, markedRevBytesLen)\n}\n\nfunc revToBytes(rev revision, bytes []byte) {\n\tbinary.BigEndian.PutUint64(bytes, uint64(rev.main))\n\tbytes[8] = '_'\n\tbinary.BigEndian.PutUint64(bytes[9:], uint64(rev.sub))\n}\n\nfunc bytesToRev(bytes []byte) revision {\n\treturn revision{\n\t\tmain: int64(binary.BigEndian.Uint64(bytes[0:8])),\n\t\tsub:  int64(binary.BigEndian.Uint64(bytes[9:])),\n\t}\n}\n\ntype revisions []revision\n\nfunc (a revisions) Len() int           { return len(a) }\nfunc (a revisions) Less(i, j int) bool { return a[j].GreaterThan(a[i]) }\nfunc (a revisions) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/util.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage mvcc\n\nimport (\n\t\"encoding/binary\"\n\t\"fmt\"\n\n\t\"github.com/coreos/etcd/mvcc/backend\"\n\t\"github.com/coreos/etcd/mvcc/mvccpb\"\n)\n\nfunc UpdateConsistentIndex(be backend.Backend, index uint64) {\n\ttx := be.BatchTx()\n\ttx.Lock()\n\tdefer tx.Unlock()\n\n\tvar oldi uint64\n\t_, vs := tx.UnsafeRange(metaBucketName, consistentIndexKeyName, nil, 0)\n\tif len(vs) != 0 {\n\t\toldi = binary.BigEndian.Uint64(vs[0])\n\t}\n\n\tif index <= oldi {\n\t\treturn\n\t}\n\n\tbs := make([]byte, 8)\n\tbinary.BigEndian.PutUint64(bs, index)\n\ttx.UnsafePut(metaBucketName, consistentIndexKeyName, bs)\n}\n\nfunc WriteKV(be backend.Backend, kv mvccpb.KeyValue) {\n\tibytes := newRevBytes()\n\trevToBytes(revision{main: kv.ModRevision}, ibytes)\n\n\td, err := kv.Marshal()\n\tif err != nil {\n\t\tpanic(fmt.Errorf(\"cannot marshal event: %v\", err))\n\t}\n\n\tbe.BatchTx().Lock()\n\tbe.BatchTx().UnsafePut(keyBucketName, ibytes, d)\n\tbe.BatchTx().Unlock()\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/watchable_store.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage mvcc\n\nimport (\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/lease\"\n\t\"github.com/coreos/etcd/mvcc/backend\"\n\t\"github.com/coreos/etcd/mvcc/mvccpb\"\n\t\"go.uber.org/zap\"\n)\n\n// non-const so modifiable by tests\nvar (\n\t// chanBufLen is the length of the buffered chan\n\t// for sending out watched events.\n\t// TODO: find a good buf value. 1024 is just a random one that\n\t// seems to be reasonable.\n\tchanBufLen = 1024\n\n\t// maxWatchersPerSync is the number of watchers to sync in a single batch\n\tmaxWatchersPerSync = 512\n)\n\ntype watchable interface {\n\twatch(key, end []byte, startRev int64, id WatchID, ch chan<- WatchResponse, fcs ...FilterFunc) (*watcher, cancelFunc)\n\tprogress(w *watcher)\n\trev() int64\n}\n\ntype watchableStore struct {\n\t*store\n\n\t// mu protects watcher groups and batches. It should never be locked\n\t// before locking store.mu to avoid deadlock.\n\tmu sync.RWMutex\n\n\t// victims are watcher batches that were blocked on the watch channel\n\tvictims []watcherBatch\n\tvictimc chan struct{}\n\n\t// contains all unsynced watchers that needs to sync with events that have happened\n\tunsynced watcherGroup\n\n\t// contains all synced watchers that are in sync with the progress of the store.\n\t// The key of the map is the key that the watcher watches on.\n\tsynced watcherGroup\n\n\tstopc chan struct{}\n\twg    sync.WaitGroup\n}\n\n// cancelFunc updates unsynced and synced maps when running\n// cancel operations.\ntype cancelFunc func()\n\nfunc New(lg *zap.Logger, b backend.Backend, le lease.Lessor, ig ConsistentIndexGetter) ConsistentWatchableKV {\n\treturn newWatchableStore(lg, b, le, ig)\n}\n\nfunc newWatchableStore(lg *zap.Logger, b backend.Backend, le lease.Lessor, ig ConsistentIndexGetter) *watchableStore {\n\ts := &watchableStore{\n\t\tstore:    NewStore(lg, b, le, ig),\n\t\tvictimc:  make(chan struct{}, 1),\n\t\tunsynced: newWatcherGroup(),\n\t\tsynced:   newWatcherGroup(),\n\t\tstopc:    make(chan struct{}),\n\t}\n\ts.store.ReadView = &readView{s}\n\ts.store.WriteView = &writeView{s}\n\tif s.le != nil {\n\t\t// use this store as the deleter so revokes trigger watch events\n\t\ts.le.SetRangeDeleter(func() lease.TxnDelete { return s.Write() })\n\t}\n\ts.wg.Add(2)\n\tgo s.syncWatchersLoop()\n\tgo s.syncVictimsLoop()\n\treturn s\n}\n\nfunc (s *watchableStore) Close() error {\n\tclose(s.stopc)\n\ts.wg.Wait()\n\treturn s.store.Close()\n}\n\nfunc (s *watchableStore) NewWatchStream() WatchStream {\n\twatchStreamGauge.Inc()\n\treturn &watchStream{\n\t\twatchable: s,\n\t\tch:        make(chan WatchResponse, chanBufLen),\n\t\tcancels:   make(map[WatchID]cancelFunc),\n\t\twatchers:  make(map[WatchID]*watcher),\n\t}\n}\n\nfunc (s *watchableStore) watch(key, end []byte, startRev int64, id WatchID, ch chan<- WatchResponse, fcs ...FilterFunc) (*watcher, cancelFunc) {\n\twa := &watcher{\n\t\tkey:    key,\n\t\tend:    end,\n\t\tminRev: startRev,\n\t\tid:     id,\n\t\tch:     ch,\n\t\tfcs:    fcs,\n\t}\n\n\ts.mu.Lock()\n\ts.revMu.RLock()\n\tsynced := startRev > s.store.currentRev || startRev == 0\n\tif synced {\n\t\twa.minRev = s.store.currentRev + 1\n\t\tif startRev > wa.minRev {\n\t\t\twa.minRev = startRev\n\t\t}\n\t}\n\tif synced {\n\t\ts.synced.add(wa)\n\t} else {\n\t\tslowWatcherGauge.Inc()\n\t\ts.unsynced.add(wa)\n\t}\n\ts.revMu.RUnlock()\n\ts.mu.Unlock()\n\n\twatcherGauge.Inc()\n\n\treturn wa, func() { s.cancelWatcher(wa) }\n}\n\n// cancelWatcher removes references of the watcher from the watchableStore\nfunc (s *watchableStore) cancelWatcher(wa *watcher) {\n\tfor {\n\t\ts.mu.Lock()\n\t\tif s.unsynced.delete(wa) {\n\t\t\tslowWatcherGauge.Dec()\n\t\t\tbreak\n\t\t} else if s.synced.delete(wa) {\n\t\t\tbreak\n\t\t} else if wa.compacted {\n\t\t\tbreak\n\t\t} else if wa.ch == nil {\n\t\t\t// already canceled (e.g., cancel/close race)\n\t\t\tbreak\n\t\t}\n\n\t\tif !wa.victim {\n\t\t\tpanic(\"watcher not victim but not in watch groups\")\n\t\t}\n\n\t\tvar victimBatch watcherBatch\n\t\tfor _, wb := range s.victims {\n\t\t\tif wb[wa] != nil {\n\t\t\t\tvictimBatch = wb\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif victimBatch != nil {\n\t\t\tslowWatcherGauge.Dec()\n\t\t\tdelete(victimBatch, wa)\n\t\t\tbreak\n\t\t}\n\n\t\t// victim being processed so not accessible; retry\n\t\ts.mu.Unlock()\n\t\ttime.Sleep(time.Millisecond)\n\t}\n\n\twatcherGauge.Dec()\n\twa.ch = nil\n\ts.mu.Unlock()\n}\n\nfunc (s *watchableStore) Restore(b backend.Backend) error {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\terr := s.store.Restore(b)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tfor wa := range s.synced.watchers {\n\t\twa.restore = true\n\t\ts.unsynced.add(wa)\n\t}\n\ts.synced = newWatcherGroup()\n\treturn nil\n}\n\n// syncWatchersLoop syncs the watcher in the unsynced map every 100ms.\nfunc (s *watchableStore) syncWatchersLoop() {\n\tdefer s.wg.Done()\n\n\tfor {\n\t\ts.mu.RLock()\n\t\tst := time.Now()\n\t\tlastUnsyncedWatchers := s.unsynced.size()\n\t\ts.mu.RUnlock()\n\n\t\tunsyncedWatchers := 0\n\t\tif lastUnsyncedWatchers > 0 {\n\t\t\tunsyncedWatchers = s.syncWatchers()\n\t\t}\n\t\tsyncDuration := time.Since(st)\n\n\t\twaitDuration := 100 * time.Millisecond\n\t\t// more work pending?\n\t\tif unsyncedWatchers != 0 && lastUnsyncedWatchers > unsyncedWatchers {\n\t\t\t// be fair to other store operations by yielding time taken\n\t\t\twaitDuration = syncDuration\n\t\t}\n\n\t\tselect {\n\t\tcase <-time.After(waitDuration):\n\t\tcase <-s.stopc:\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// syncVictimsLoop tries to write precomputed watcher responses to\n// watchers that had a blocked watcher channel\nfunc (s *watchableStore) syncVictimsLoop() {\n\tdefer s.wg.Done()\n\n\tfor {\n\t\tfor s.moveVictims() != 0 {\n\t\t\t// try to update all victim watchers\n\t\t}\n\t\ts.mu.RLock()\n\t\tisEmpty := len(s.victims) == 0\n\t\ts.mu.RUnlock()\n\n\t\tvar tickc <-chan time.Time\n\t\tif !isEmpty {\n\t\t\ttickc = time.After(10 * time.Millisecond)\n\t\t}\n\n\t\tselect {\n\t\tcase <-tickc:\n\t\tcase <-s.victimc:\n\t\tcase <-s.stopc:\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// moveVictims tries to update watches with already pending event data\nfunc (s *watchableStore) moveVictims() (moved int) {\n\ts.mu.Lock()\n\tvictims := s.victims\n\ts.victims = nil\n\ts.mu.Unlock()\n\n\tvar newVictim watcherBatch\n\tfor _, wb := range victims {\n\t\t// try to send responses again\n\t\tfor w, eb := range wb {\n\t\t\t// watcher has observed the store up to, but not including, w.minRev\n\t\t\trev := w.minRev - 1\n\t\t\tif w.send(WatchResponse{WatchID: w.id, Events: eb.evs, Revision: rev}) {\n\t\t\t\tpendingEventsGauge.Add(float64(len(eb.evs)))\n\t\t\t} else {\n\t\t\t\tif newVictim == nil {\n\t\t\t\t\tnewVictim = make(watcherBatch)\n\t\t\t\t}\n\t\t\t\tnewVictim[w] = eb\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tmoved++\n\t\t}\n\n\t\t// assign completed victim watchers to unsync/sync\n\t\ts.mu.Lock()\n\t\ts.store.revMu.RLock()\n\t\tcurRev := s.store.currentRev\n\t\tfor w, eb := range wb {\n\t\t\tif newVictim != nil && newVictim[w] != nil {\n\t\t\t\t// couldn't send watch response; stays victim\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tw.victim = false\n\t\t\tif eb.moreRev != 0 {\n\t\t\t\tw.minRev = eb.moreRev\n\t\t\t}\n\t\t\tif w.minRev <= curRev {\n\t\t\t\ts.unsynced.add(w)\n\t\t\t} else {\n\t\t\t\tslowWatcherGauge.Dec()\n\t\t\t\ts.synced.add(w)\n\t\t\t}\n\t\t}\n\t\ts.store.revMu.RUnlock()\n\t\ts.mu.Unlock()\n\t}\n\n\tif len(newVictim) > 0 {\n\t\ts.mu.Lock()\n\t\ts.victims = append(s.victims, newVictim)\n\t\ts.mu.Unlock()\n\t}\n\n\treturn moved\n}\n\n// syncWatchers syncs unsynced watchers by:\n//\t1. choose a set of watchers from the unsynced watcher group\n//\t2. iterate over the set to get the minimum revision and remove compacted watchers\n//\t3. use minimum revision to get all key-value pairs and send those events to watchers\n//\t4. remove synced watchers in set from unsynced group and move to synced group\nfunc (s *watchableStore) syncWatchers() int {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\n\tif s.unsynced.size() == 0 {\n\t\treturn 0\n\t}\n\n\ts.store.revMu.RLock()\n\tdefer s.store.revMu.RUnlock()\n\n\t// in order to find key-value pairs from unsynced watchers, we need to\n\t// find min revision index, and these revisions can be used to\n\t// query the backend store of key-value pairs\n\tcurRev := s.store.currentRev\n\tcompactionRev := s.store.compactMainRev\n\n\twg, minRev := s.unsynced.choose(maxWatchersPerSync, curRev, compactionRev)\n\tminBytes, maxBytes := newRevBytes(), newRevBytes()\n\trevToBytes(revision{main: minRev}, minBytes)\n\trevToBytes(revision{main: curRev + 1}, maxBytes)\n\n\t// UnsafeRange returns keys and values. And in boltdb, keys are revisions.\n\t// values are actual key-value pairs in backend.\n\ttx := s.store.b.ReadTx()\n\ttx.Lock()\n\trevs, vs := tx.UnsafeRange(keyBucketName, minBytes, maxBytes, 0)\n\tvar evs []mvccpb.Event\n\tif s.store != nil && s.store.lg != nil {\n\t\tevs = kvsToEvents(s.store.lg, wg, revs, vs)\n\t} else {\n\t\t// TODO: remove this in v3.5\n\t\tevs = kvsToEvents(nil, wg, revs, vs)\n\t}\n\ttx.Unlock()\n\n\tvar victims watcherBatch\n\twb := newWatcherBatch(wg, evs)\n\tfor w := range wg.watchers {\n\t\tw.minRev = curRev + 1\n\n\t\teb, ok := wb[w]\n\t\tif !ok {\n\t\t\t// bring un-notified watcher to synced\n\t\t\ts.synced.add(w)\n\t\t\ts.unsynced.delete(w)\n\t\t\tcontinue\n\t\t}\n\n\t\tif eb.moreRev != 0 {\n\t\t\tw.minRev = eb.moreRev\n\t\t}\n\n\t\tif w.send(WatchResponse{WatchID: w.id, Events: eb.evs, Revision: curRev}) {\n\t\t\tpendingEventsGauge.Add(float64(len(eb.evs)))\n\t\t} else {\n\t\t\tif victims == nil {\n\t\t\t\tvictims = make(watcherBatch)\n\t\t\t}\n\t\t\tw.victim = true\n\t\t}\n\n\t\tif w.victim {\n\t\t\tvictims[w] = eb\n\t\t} else {\n\t\t\tif eb.moreRev != 0 {\n\t\t\t\t// stay unsynced; more to read\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\ts.synced.add(w)\n\t\t}\n\t\ts.unsynced.delete(w)\n\t}\n\ts.addVictim(victims)\n\n\tvsz := 0\n\tfor _, v := range s.victims {\n\t\tvsz += len(v)\n\t}\n\tslowWatcherGauge.Set(float64(s.unsynced.size() + vsz))\n\n\treturn s.unsynced.size()\n}\n\n// kvsToEvents gets all events for the watchers from all key-value pairs\nfunc kvsToEvents(lg *zap.Logger, wg *watcherGroup, revs, vals [][]byte) (evs []mvccpb.Event) {\n\tfor i, v := range vals {\n\t\tvar kv mvccpb.KeyValue\n\t\tif err := kv.Unmarshal(v); err != nil {\n\t\t\tif lg != nil {\n\t\t\t\tlg.Panic(\"failed to unmarshal mvccpb.KeyValue\", zap.Error(err))\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"cannot unmarshal event: %v\", err)\n\t\t\t}\n\t\t}\n\n\t\tif !wg.contains(string(kv.Key)) {\n\t\t\tcontinue\n\t\t}\n\n\t\tty := mvccpb.PUT\n\t\tif isTombstone(revs[i]) {\n\t\t\tty = mvccpb.DELETE\n\t\t\t// patch in mod revision so watchers won't skip\n\t\t\tkv.ModRevision = bytesToRev(revs[i]).main\n\t\t}\n\t\tevs = append(evs, mvccpb.Event{Kv: &kv, Type: ty})\n\t}\n\treturn evs\n}\n\n// notify notifies the fact that given event at the given rev just happened to\n// watchers that watch on the key of the event.\nfunc (s *watchableStore) notify(rev int64, evs []mvccpb.Event) {\n\tvar victim watcherBatch\n\tfor w, eb := range newWatcherBatch(&s.synced, evs) {\n\t\tif eb.revs != 1 {\n\t\t\tif s.store != nil && s.store.lg != nil {\n\t\t\t\ts.store.lg.Panic(\n\t\t\t\t\t\"unexpected multiple revisions in watch notification\",\n\t\t\t\t\tzap.Int(\"number-of-revisions\", eb.revs),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tplog.Panicf(\"unexpected multiple revisions in notification\")\n\t\t\t}\n\t\t}\n\t\tif w.send(WatchResponse{WatchID: w.id, Events: eb.evs, Revision: rev}) {\n\t\t\tpendingEventsGauge.Add(float64(len(eb.evs)))\n\t\t} else {\n\t\t\t// move slow watcher to victims\n\t\t\tw.minRev = rev + 1\n\t\t\tif victim == nil {\n\t\t\t\tvictim = make(watcherBatch)\n\t\t\t}\n\t\t\tw.victim = true\n\t\t\tvictim[w] = eb\n\t\t\ts.synced.delete(w)\n\t\t\tslowWatcherGauge.Inc()\n\t\t}\n\t}\n\ts.addVictim(victim)\n}\n\nfunc (s *watchableStore) addVictim(victim watcherBatch) {\n\tif victim == nil {\n\t\treturn\n\t}\n\ts.victims = append(s.victims, victim)\n\tselect {\n\tcase s.victimc <- struct{}{}:\n\tdefault:\n\t}\n}\n\nfunc (s *watchableStore) rev() int64 { return s.store.Rev() }\n\nfunc (s *watchableStore) progress(w *watcher) {\n\ts.mu.RLock()\n\tdefer s.mu.RUnlock()\n\n\tif _, ok := s.synced.watchers[w]; ok {\n\t\tw.send(WatchResponse{WatchID: w.id, Revision: s.rev()})\n\t\t// If the ch is full, this watcher is receiving events.\n\t\t// We do not need to send progress at all.\n\t}\n}\n\ntype watcher struct {\n\t// the watcher key\n\tkey []byte\n\t// end indicates the end of the range to watch.\n\t// If end is set, the watcher is on a range.\n\tend []byte\n\n\t// victim is set when ch is blocked and undergoing victim processing\n\tvictim bool\n\n\t// compacted is set when the watcher is removed because of compaction\n\tcompacted bool\n\n\t// restore is true when the watcher is being restored from leader snapshot\n\t// which means that this watcher has just been moved from \"synced\" to \"unsynced\"\n\t// watcher group, possibly with a future revision when it was first added\n\t// to the synced watcher\n\t// \"unsynced\" watcher revision must always be <= current revision,\n\t// except when the watcher were to be moved from \"synced\" watcher group\n\trestore bool\n\n\t// minRev is the minimum revision update the watcher will accept\n\tminRev int64\n\tid     WatchID\n\n\tfcs []FilterFunc\n\t// a chan to send out the watch response.\n\t// The chan might be shared with other watchers.\n\tch chan<- WatchResponse\n}\n\nfunc (w *watcher) send(wr WatchResponse) bool {\n\tprogressEvent := len(wr.Events) == 0\n\n\tif len(w.fcs) != 0 {\n\t\tne := make([]mvccpb.Event, 0, len(wr.Events))\n\t\tfor i := range wr.Events {\n\t\t\tfiltered := false\n\t\t\tfor _, filter := range w.fcs {\n\t\t\t\tif filter(wr.Events[i]) {\n\t\t\t\t\tfiltered = true\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !filtered {\n\t\t\t\tne = append(ne, wr.Events[i])\n\t\t\t}\n\t\t}\n\t\twr.Events = ne\n\t}\n\n\t// if all events are filtered out, we should send nothing.\n\tif !progressEvent && len(wr.Events) == 0 {\n\t\treturn true\n\t}\n\tselect {\n\tcase w.ch <- wr:\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/watchable_store_txn.go",
    "content": "// Copyright 2017 The etcd Authors\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\npackage mvcc\n\nimport \"github.com/coreos/etcd/mvcc/mvccpb\"\n\nfunc (tw *watchableStoreTxnWrite) End() {\n\tchanges := tw.Changes()\n\tif len(changes) == 0 {\n\t\ttw.TxnWrite.End()\n\t\treturn\n\t}\n\n\trev := tw.Rev() + 1\n\tevs := make([]mvccpb.Event, len(changes))\n\tfor i, change := range changes {\n\t\tevs[i].Kv = &changes[i]\n\t\tif change.CreateRevision == 0 {\n\t\t\tevs[i].Type = mvccpb.DELETE\n\t\t\tevs[i].Kv.ModRevision = rev\n\t\t} else {\n\t\t\tevs[i].Type = mvccpb.PUT\n\t\t}\n\t}\n\n\t// end write txn under watchable store lock so the updates are visible\n\t// when asynchronous event posting checks the current store revision\n\ttw.s.mu.Lock()\n\ttw.s.notify(rev, evs)\n\ttw.TxnWrite.End()\n\ttw.s.mu.Unlock()\n}\n\ntype watchableStoreTxnWrite struct {\n\tTxnWrite\n\ts *watchableStore\n}\n\nfunc (s *watchableStore) Write() TxnWrite { return &watchableStoreTxnWrite{s.store.Write(), s} }\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/watcher.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage mvcc\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"sync\"\n\n\t\"github.com/coreos/etcd/mvcc/mvccpb\"\n)\n\n// AutoWatchID is the watcher ID passed in WatchStream.Watch when no\n// user-provided ID is available. If pass, an ID will automatically be assigned.\nconst AutoWatchID WatchID = 0\n\nvar (\n\tErrWatcherNotExist    = errors.New(\"mvcc: watcher does not exist\")\n\tErrEmptyWatcherRange  = errors.New(\"mvcc: watcher range is empty\")\n\tErrWatcherDuplicateID = errors.New(\"mvcc: duplicate watch ID provided on the WatchStream\")\n)\n\ntype WatchID int64\n\n// FilterFunc returns true if the given event should be filtered out.\ntype FilterFunc func(e mvccpb.Event) bool\n\ntype WatchStream interface {\n\t// Watch creates a watcher. The watcher watches the events happening or\n\t// happened on the given key or range [key, end) from the given startRev.\n\t//\n\t// The whole event history can be watched unless compacted.\n\t// If \"startRev\" <=0, watch observes events after currentRev.\n\t//\n\t// The returned \"id\" is the ID of this watcher. It appears as WatchID\n\t// in events that are sent to the created watcher through stream channel.\n\t// The watch ID is used when it's not equal to AutoWatchID. Otherwise,\n\t// an auto-generated watch ID is returned.\n\tWatch(id WatchID, key, end []byte, startRev int64, fcs ...FilterFunc) (WatchID, error)\n\n\t// Chan returns a chan. All watch response will be sent to the returned chan.\n\tChan() <-chan WatchResponse\n\n\t// RequestProgress requests the progress of the watcher with given ID. The response\n\t// will only be sent if the watcher is currently synced.\n\t// The responses will be sent through the WatchRespone Chan attached\n\t// with this stream to ensure correct ordering.\n\t// The responses contains no events. The revision in the response is the progress\n\t// of the watchers since the watcher is currently synced.\n\tRequestProgress(id WatchID)\n\n\t// Cancel cancels a watcher by giving its ID. If watcher does not exist, an error will be\n\t// returned.\n\tCancel(id WatchID) error\n\n\t// Close closes Chan and release all related resources.\n\tClose()\n\n\t// Rev returns the current revision of the KV the stream watches on.\n\tRev() int64\n}\n\ntype WatchResponse struct {\n\t// WatchID is the WatchID of the watcher this response sent to.\n\tWatchID WatchID\n\n\t// Events contains all the events that needs to send.\n\tEvents []mvccpb.Event\n\n\t// Revision is the revision of the KV when the watchResponse is created.\n\t// For a normal response, the revision should be the same as the last\n\t// modified revision inside Events. For a delayed response to a unsynced\n\t// watcher, the revision is greater than the last modified revision\n\t// inside Events.\n\tRevision int64\n\n\t// CompactRevision is set when the watcher is cancelled due to compaction.\n\tCompactRevision int64\n}\n\n// watchStream contains a collection of watchers that share\n// one streaming chan to send out watched events and other control events.\ntype watchStream struct {\n\twatchable watchable\n\tch        chan WatchResponse\n\n\tmu sync.Mutex // guards fields below it\n\t// nextID is the ID pre-allocated for next new watcher in this stream\n\tnextID   WatchID\n\tclosed   bool\n\tcancels  map[WatchID]cancelFunc\n\twatchers map[WatchID]*watcher\n}\n\n// Watch creates a new watcher in the stream and returns its WatchID.\nfunc (ws *watchStream) Watch(id WatchID, key, end []byte, startRev int64, fcs ...FilterFunc) (WatchID, error) {\n\t// prevent wrong range where key >= end lexicographically\n\t// watch request with 'WithFromKey' has empty-byte range end\n\tif len(end) != 0 && bytes.Compare(key, end) != -1 {\n\t\treturn -1, ErrEmptyWatcherRange\n\t}\n\n\tws.mu.Lock()\n\tdefer ws.mu.Unlock()\n\tif ws.closed {\n\t\treturn -1, ErrEmptyWatcherRange\n\t}\n\n\tif id == AutoWatchID {\n\t\tfor ws.watchers[ws.nextID] != nil {\n\t\t\tws.nextID++\n\t\t}\n\t\tid = ws.nextID\n\t\tws.nextID++\n\t} else if _, ok := ws.watchers[id]; ok {\n\t\treturn -1, ErrWatcherDuplicateID\n\t}\n\n\tw, c := ws.watchable.watch(key, end, startRev, id, ws.ch, fcs...)\n\n\tws.cancels[id] = c\n\tws.watchers[id] = w\n\treturn id, nil\n}\n\nfunc (ws *watchStream) Chan() <-chan WatchResponse {\n\treturn ws.ch\n}\n\nfunc (ws *watchStream) Cancel(id WatchID) error {\n\tws.mu.Lock()\n\tcancel, ok := ws.cancels[id]\n\tw := ws.watchers[id]\n\tok = ok && !ws.closed\n\tws.mu.Unlock()\n\n\tif !ok {\n\t\treturn ErrWatcherNotExist\n\t}\n\tcancel()\n\n\tws.mu.Lock()\n\t// The watch isn't removed until cancel so that if Close() is called,\n\t// it will wait for the cancel. Otherwise, Close() could close the\n\t// watch channel while the store is still posting events.\n\tif ww := ws.watchers[id]; ww == w {\n\t\tdelete(ws.cancels, id)\n\t\tdelete(ws.watchers, id)\n\t}\n\tws.mu.Unlock()\n\n\treturn nil\n}\n\nfunc (ws *watchStream) Close() {\n\tws.mu.Lock()\n\tdefer ws.mu.Unlock()\n\n\tfor _, cancel := range ws.cancels {\n\t\tcancel()\n\t}\n\tws.closed = true\n\tclose(ws.ch)\n\twatchStreamGauge.Dec()\n}\n\nfunc (ws *watchStream) Rev() int64 {\n\tws.mu.Lock()\n\tdefer ws.mu.Unlock()\n\treturn ws.watchable.rev()\n}\n\nfunc (ws *watchStream) RequestProgress(id WatchID) {\n\tws.mu.Lock()\n\tw, ok := ws.watchers[id]\n\tws.mu.Unlock()\n\tif !ok {\n\t\treturn\n\t}\n\tws.watchable.progress(w)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/mvcc/watcher_group.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage mvcc\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\n\t\"github.com/coreos/etcd/mvcc/mvccpb\"\n\t\"github.com/coreos/etcd/pkg/adt\"\n)\n\nvar (\n\t// watchBatchMaxRevs is the maximum distinct revisions that\n\t// may be sent to an unsynced watcher at a time. Declared as\n\t// var instead of const for testing purposes.\n\twatchBatchMaxRevs = 1000\n)\n\ntype eventBatch struct {\n\t// evs is a batch of revision-ordered events\n\tevs []mvccpb.Event\n\t// revs is the minimum unique revisions observed for this batch\n\trevs int\n\t// moreRev is first revision with more events following this batch\n\tmoreRev int64\n}\n\nfunc (eb *eventBatch) add(ev mvccpb.Event) {\n\tif eb.revs > watchBatchMaxRevs {\n\t\t// maxed out batch size\n\t\treturn\n\t}\n\n\tif len(eb.evs) == 0 {\n\t\t// base case\n\t\teb.revs = 1\n\t\teb.evs = append(eb.evs, ev)\n\t\treturn\n\t}\n\n\t// revision accounting\n\tebRev := eb.evs[len(eb.evs)-1].Kv.ModRevision\n\tevRev := ev.Kv.ModRevision\n\tif evRev > ebRev {\n\t\teb.revs++\n\t\tif eb.revs > watchBatchMaxRevs {\n\t\t\teb.moreRev = evRev\n\t\t\treturn\n\t\t}\n\t}\n\n\teb.evs = append(eb.evs, ev)\n}\n\ntype watcherBatch map[*watcher]*eventBatch\n\nfunc (wb watcherBatch) add(w *watcher, ev mvccpb.Event) {\n\teb := wb[w]\n\tif eb == nil {\n\t\teb = &eventBatch{}\n\t\twb[w] = eb\n\t}\n\teb.add(ev)\n}\n\n// newWatcherBatch maps watchers to their matched events. It enables quick\n// events look up by watcher.\nfunc newWatcherBatch(wg *watcherGroup, evs []mvccpb.Event) watcherBatch {\n\tif len(wg.watchers) == 0 {\n\t\treturn nil\n\t}\n\n\twb := make(watcherBatch)\n\tfor _, ev := range evs {\n\t\tfor w := range wg.watcherSetByKey(string(ev.Kv.Key)) {\n\t\t\tif ev.Kv.ModRevision >= w.minRev {\n\t\t\t\t// don't double notify\n\t\t\t\twb.add(w, ev)\n\t\t\t}\n\t\t}\n\t}\n\treturn wb\n}\n\ntype watcherSet map[*watcher]struct{}\n\nfunc (w watcherSet) add(wa *watcher) {\n\tif _, ok := w[wa]; ok {\n\t\tpanic(\"add watcher twice!\")\n\t}\n\tw[wa] = struct{}{}\n}\n\nfunc (w watcherSet) union(ws watcherSet) {\n\tfor wa := range ws {\n\t\tw.add(wa)\n\t}\n}\n\nfunc (w watcherSet) delete(wa *watcher) {\n\tif _, ok := w[wa]; !ok {\n\t\tpanic(\"removing missing watcher!\")\n\t}\n\tdelete(w, wa)\n}\n\ntype watcherSetByKey map[string]watcherSet\n\nfunc (w watcherSetByKey) add(wa *watcher) {\n\tset := w[string(wa.key)]\n\tif set == nil {\n\t\tset = make(watcherSet)\n\t\tw[string(wa.key)] = set\n\t}\n\tset.add(wa)\n}\n\nfunc (w watcherSetByKey) delete(wa *watcher) bool {\n\tk := string(wa.key)\n\tif v, ok := w[k]; ok {\n\t\tif _, ok := v[wa]; ok {\n\t\t\tdelete(v, wa)\n\t\t\tif len(v) == 0 {\n\t\t\t\t// remove the set; nothing left\n\t\t\t\tdelete(w, k)\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// watcherGroup is a collection of watchers organized by their ranges\ntype watcherGroup struct {\n\t// keyWatchers has the watchers that watch on a single key\n\tkeyWatchers watcherSetByKey\n\t// ranges has the watchers that watch a range; it is sorted by interval\n\tranges adt.IntervalTree\n\t// watchers is the set of all watchers\n\twatchers watcherSet\n}\n\nfunc newWatcherGroup() watcherGroup {\n\treturn watcherGroup{\n\t\tkeyWatchers: make(watcherSetByKey),\n\t\twatchers:    make(watcherSet),\n\t}\n}\n\n// add puts a watcher in the group.\nfunc (wg *watcherGroup) add(wa *watcher) {\n\twg.watchers.add(wa)\n\tif wa.end == nil {\n\t\twg.keyWatchers.add(wa)\n\t\treturn\n\t}\n\n\t// interval already registered?\n\tivl := adt.NewStringAffineInterval(string(wa.key), string(wa.end))\n\tif iv := wg.ranges.Find(ivl); iv != nil {\n\t\tiv.Val.(watcherSet).add(wa)\n\t\treturn\n\t}\n\n\t// not registered, put in interval tree\n\tws := make(watcherSet)\n\tws.add(wa)\n\twg.ranges.Insert(ivl, ws)\n}\n\n// contains is whether the given key has a watcher in the group.\nfunc (wg *watcherGroup) contains(key string) bool {\n\t_, ok := wg.keyWatchers[key]\n\treturn ok || wg.ranges.Intersects(adt.NewStringAffinePoint(key))\n}\n\n// size gives the number of unique watchers in the group.\nfunc (wg *watcherGroup) size() int { return len(wg.watchers) }\n\n// delete removes a watcher from the group.\nfunc (wg *watcherGroup) delete(wa *watcher) bool {\n\tif _, ok := wg.watchers[wa]; !ok {\n\t\treturn false\n\t}\n\twg.watchers.delete(wa)\n\tif wa.end == nil {\n\t\twg.keyWatchers.delete(wa)\n\t\treturn true\n\t}\n\n\tivl := adt.NewStringAffineInterval(string(wa.key), string(wa.end))\n\tiv := wg.ranges.Find(ivl)\n\tif iv == nil {\n\t\treturn false\n\t}\n\n\tws := iv.Val.(watcherSet)\n\tdelete(ws, wa)\n\tif len(ws) == 0 {\n\t\t// remove interval missing watchers\n\t\tif ok := wg.ranges.Delete(ivl); !ok {\n\t\t\tpanic(\"could not remove watcher from interval tree\")\n\t\t}\n\t}\n\n\treturn true\n}\n\n// choose selects watchers from the watcher group to update\nfunc (wg *watcherGroup) choose(maxWatchers int, curRev, compactRev int64) (*watcherGroup, int64) {\n\tif len(wg.watchers) < maxWatchers {\n\t\treturn wg, wg.chooseAll(curRev, compactRev)\n\t}\n\tret := newWatcherGroup()\n\tfor w := range wg.watchers {\n\t\tif maxWatchers <= 0 {\n\t\t\tbreak\n\t\t}\n\t\tmaxWatchers--\n\t\tret.add(w)\n\t}\n\treturn &ret, ret.chooseAll(curRev, compactRev)\n}\n\nfunc (wg *watcherGroup) chooseAll(curRev, compactRev int64) int64 {\n\tminRev := int64(math.MaxInt64)\n\tfor w := range wg.watchers {\n\t\tif w.minRev > curRev {\n\t\t\t// after network partition, possibly choosing future revision watcher from restore operation\n\t\t\t// with watch key \"proxy-namespace__lostleader\" and revision \"math.MaxInt64 - 2\"\n\t\t\t// do not panic when such watcher had been moved from \"synced\" watcher during restore operation\n\t\t\tif !w.restore {\n\t\t\t\tpanic(fmt.Errorf(\"watcher minimum revision %d should not exceed current revision %d\", w.minRev, curRev))\n\t\t\t}\n\n\t\t\t// mark 'restore' done, since it's chosen\n\t\t\tw.restore = false\n\t\t}\n\t\tif w.minRev < compactRev {\n\t\t\tselect {\n\t\t\tcase w.ch <- WatchResponse{WatchID: w.id, CompactRevision: compactRev}:\n\t\t\t\tw.compacted = true\n\t\t\t\twg.delete(w)\n\t\t\tdefault:\n\t\t\t\t// retry next time\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif minRev > w.minRev {\n\t\t\tminRev = w.minRev\n\t\t}\n\t}\n\treturn minRev\n}\n\n// watcherSetByKey gets the set of watchers that receive events on the given key.\nfunc (wg *watcherGroup) watcherSetByKey(key string) watcherSet {\n\twkeys := wg.keyWatchers[key]\n\twranges := wg.ranges.Stab(adt.NewStringAffinePoint(key))\n\n\t// zero-copy cases\n\tswitch {\n\tcase len(wranges) == 0:\n\t\t// no need to merge ranges or copy; reuse single-key set\n\t\treturn wkeys\n\tcase len(wranges) == 0 && len(wkeys) == 0:\n\t\treturn nil\n\tcase len(wranges) == 1 && len(wkeys) == 0:\n\t\treturn wranges[0].Val.(watcherSet)\n\t}\n\n\t// copy case\n\tret := make(watcherSet)\n\tret.union(wg.keyWatchers[key])\n\tfor _, item := range wranges {\n\t\tret.union(item.Val.(watcherSet))\n\t}\n\treturn ret\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/cpuutil/doc.go",
    "content": "// Copyright 2017 The etcd Authors\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// Package cpuutil provides facilities for detecting cpu-specific features.\npackage cpuutil\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/cpuutil/endian.go",
    "content": "// Copyright 2017 The etcd Authors\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\npackage cpuutil\n\nimport (\n\t\"encoding/binary\"\n\t\"unsafe\"\n)\n\nconst intWidth int = int(unsafe.Sizeof(0))\n\nvar byteOrder binary.ByteOrder\n\n// ByteOrder returns the byte order for the CPU's native endianness.\nfunc ByteOrder() binary.ByteOrder { return byteOrder }\n\nfunc init() {\n\tvar i int = 0x1\n\tif v := (*[intWidth]byte)(unsafe.Pointer(&i)); v[0] == 0 {\n\t\tbyteOrder = binary.BigEndian\n\t} else {\n\t\tbyteOrder = binary.LittleEndian\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/logutil/discard_logger.go",
    "content": "// Copyright 2018 The etcd Authors\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\npackage logutil\n\nimport (\n\t\"log\"\n\n\t\"google.golang.org/grpc/grpclog\"\n)\n\n// assert that \"discardLogger\" satisfy \"Logger\" interface\nvar _ Logger = &discardLogger{}\n\n// NewDiscardLogger returns a new Logger that discards everything except \"fatal\".\nfunc NewDiscardLogger() Logger { return &discardLogger{} }\n\ntype discardLogger struct{}\n\nfunc (l *discardLogger) Info(args ...interface{})                    {}\nfunc (l *discardLogger) Infoln(args ...interface{})                  {}\nfunc (l *discardLogger) Infof(format string, args ...interface{})    {}\nfunc (l *discardLogger) Warning(args ...interface{})                 {}\nfunc (l *discardLogger) Warningln(args ...interface{})               {}\nfunc (l *discardLogger) Warningf(format string, args ...interface{}) {}\nfunc (l *discardLogger) Error(args ...interface{})                   {}\nfunc (l *discardLogger) Errorln(args ...interface{})                 {}\nfunc (l *discardLogger) Errorf(format string, args ...interface{})   {}\nfunc (l *discardLogger) Fatal(args ...interface{})                   { log.Fatal(args...) }\nfunc (l *discardLogger) Fatalln(args ...interface{})                 { log.Fatalln(args...) }\nfunc (l *discardLogger) Fatalf(format string, args ...interface{})   { log.Fatalf(format, args...) }\nfunc (l *discardLogger) V(lvl int) bool {\n\treturn false\n}\nfunc (l *discardLogger) Lvl(lvl int) grpclog.LoggerV2 { return l }\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/logutil/doc.go",
    "content": "// Copyright 2018 The etcd Authors\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// Package logutil includes utilities to facilitate logging.\npackage logutil\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/logutil/logger.go",
    "content": "// Copyright 2018 The etcd Authors\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\npackage logutil\n\nimport \"google.golang.org/grpc/grpclog\"\n\n// Logger defines logging interface.\n// TODO: deprecate in v3.5.\ntype Logger interface {\n\tgrpclog.LoggerV2\n\n\t// Lvl returns logger if logger's verbosity level >= \"lvl\".\n\t// Otherwise, logger that discards everything.\n\tLvl(lvl int) grpclog.LoggerV2\n}\n\n// assert that \"defaultLogger\" satisfy \"Logger\" interface\nvar _ Logger = &defaultLogger{}\n\n// NewLogger wraps \"grpclog.LoggerV2\" that implements \"Logger\" interface.\n//\n// For example:\n//\n//  var defaultLogger Logger\n//  g := grpclog.NewLoggerV2WithVerbosity(os.Stderr, os.Stderr, os.Stderr, 4)\n//  defaultLogger = NewLogger(g)\n//\nfunc NewLogger(g grpclog.LoggerV2) Logger { return &defaultLogger{g: g} }\n\ntype defaultLogger struct {\n\tg grpclog.LoggerV2\n}\n\nfunc (l *defaultLogger) Info(args ...interface{})                    { l.g.Info(args...) }\nfunc (l *defaultLogger) Infoln(args ...interface{})                  { l.g.Info(args...) }\nfunc (l *defaultLogger) Infof(format string, args ...interface{})    { l.g.Infof(format, args...) }\nfunc (l *defaultLogger) Warning(args ...interface{})                 { l.g.Warning(args...) }\nfunc (l *defaultLogger) Warningln(args ...interface{})               { l.g.Warning(args...) }\nfunc (l *defaultLogger) Warningf(format string, args ...interface{}) { l.g.Warningf(format, args...) }\nfunc (l *defaultLogger) Error(args ...interface{})                   { l.g.Error(args...) }\nfunc (l *defaultLogger) Errorln(args ...interface{})                 { l.g.Error(args...) }\nfunc (l *defaultLogger) Errorf(format string, args ...interface{})   { l.g.Errorf(format, args...) }\nfunc (l *defaultLogger) Fatal(args ...interface{})                   { l.g.Fatal(args...) }\nfunc (l *defaultLogger) Fatalln(args ...interface{})                 { l.g.Fatal(args...) }\nfunc (l *defaultLogger) Fatalf(format string, args ...interface{})   { l.g.Fatalf(format, args...) }\nfunc (l *defaultLogger) V(lvl int) bool                              { return l.g.V(lvl) }\nfunc (l *defaultLogger) Lvl(lvl int) grpclog.LoggerV2 {\n\tif l.g.V(lvl) {\n\t\treturn l\n\t}\n\treturn &discardLogger{}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/logutil/merge_logger.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage logutil\n\nimport (\n\t\"fmt\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/coreos/pkg/capnslog\"\n)\n\nvar (\n\tdefaultMergePeriod     = time.Second\n\tdefaultTimeOutputScale = 10 * time.Millisecond\n\n\toutputInterval = time.Second\n)\n\n// line represents a log line that can be printed out\n// through capnslog.PackageLogger.\ntype line struct {\n\tlevel capnslog.LogLevel\n\tstr   string\n}\n\nfunc (l line) append(s string) line {\n\treturn line{\n\t\tlevel: l.level,\n\t\tstr:   l.str + \" \" + s,\n\t}\n}\n\n// status represents the merge status of a line.\ntype status struct {\n\tperiod time.Duration\n\n\tstart time.Time // start time of latest merge period\n\tcount int       // number of merged lines from starting\n}\n\nfunc (s *status) isInMergePeriod(now time.Time) bool {\n\treturn s.period == 0 || s.start.Add(s.period).After(now)\n}\n\nfunc (s *status) isEmpty() bool { return s.count == 0 }\n\nfunc (s *status) summary(now time.Time) string {\n\tts := s.start.Round(defaultTimeOutputScale)\n\ttook := now.Round(defaultTimeOutputScale).Sub(ts)\n\treturn fmt.Sprintf(\"[merged %d repeated lines in %s]\", s.count, took)\n}\n\nfunc (s *status) reset(now time.Time) {\n\ts.start = now\n\ts.count = 0\n}\n\n// MergeLogger supports merge logging, which merges repeated log lines\n// and prints summary log lines instead.\n//\n// For merge logging, MergeLogger prints out the line when the line appears\n// at the first time. MergeLogger holds the same log line printed within\n// defaultMergePeriod, and prints out summary log line at the end of defaultMergePeriod.\n// It stops merging when the line doesn't appear within the\n// defaultMergePeriod.\ntype MergeLogger struct {\n\t*capnslog.PackageLogger\n\n\tmu      sync.Mutex // protect statusm\n\tstatusm map[line]*status\n}\n\nfunc NewMergeLogger(logger *capnslog.PackageLogger) *MergeLogger {\n\tl := &MergeLogger{\n\t\tPackageLogger: logger,\n\t\tstatusm:       make(map[line]*status),\n\t}\n\tgo l.outputLoop()\n\treturn l\n}\n\nfunc (l *MergeLogger) MergeInfo(entries ...interface{}) {\n\tl.merge(line{\n\t\tlevel: capnslog.INFO,\n\t\tstr:   fmt.Sprint(entries...),\n\t})\n}\n\nfunc (l *MergeLogger) MergeInfof(format string, args ...interface{}) {\n\tl.merge(line{\n\t\tlevel: capnslog.INFO,\n\t\tstr:   fmt.Sprintf(format, args...),\n\t})\n}\n\nfunc (l *MergeLogger) MergeNotice(entries ...interface{}) {\n\tl.merge(line{\n\t\tlevel: capnslog.NOTICE,\n\t\tstr:   fmt.Sprint(entries...),\n\t})\n}\n\nfunc (l *MergeLogger) MergeNoticef(format string, args ...interface{}) {\n\tl.merge(line{\n\t\tlevel: capnslog.NOTICE,\n\t\tstr:   fmt.Sprintf(format, args...),\n\t})\n}\n\nfunc (l *MergeLogger) MergeWarning(entries ...interface{}) {\n\tl.merge(line{\n\t\tlevel: capnslog.WARNING,\n\t\tstr:   fmt.Sprint(entries...),\n\t})\n}\n\nfunc (l *MergeLogger) MergeWarningf(format string, args ...interface{}) {\n\tl.merge(line{\n\t\tlevel: capnslog.WARNING,\n\t\tstr:   fmt.Sprintf(format, args...),\n\t})\n}\n\nfunc (l *MergeLogger) MergeError(entries ...interface{}) {\n\tl.merge(line{\n\t\tlevel: capnslog.ERROR,\n\t\tstr:   fmt.Sprint(entries...),\n\t})\n}\n\nfunc (l *MergeLogger) MergeErrorf(format string, args ...interface{}) {\n\tl.merge(line{\n\t\tlevel: capnslog.ERROR,\n\t\tstr:   fmt.Sprintf(format, args...),\n\t})\n}\n\nfunc (l *MergeLogger) merge(ln line) {\n\tl.mu.Lock()\n\n\t// increase count if the logger is merging the line\n\tif status, ok := l.statusm[ln]; ok {\n\t\tstatus.count++\n\t\tl.mu.Unlock()\n\t\treturn\n\t}\n\n\t// initialize status of the line\n\tl.statusm[ln] = &status{\n\t\tperiod: defaultMergePeriod,\n\t\tstart:  time.Now(),\n\t}\n\t// release the lock before IO operation\n\tl.mu.Unlock()\n\t// print out the line at its first time\n\tl.PackageLogger.Logf(ln.level, ln.str)\n}\n\nfunc (l *MergeLogger) outputLoop() {\n\tfor now := range time.Tick(outputInterval) {\n\t\tvar outputs []line\n\n\t\tl.mu.Lock()\n\t\tfor ln, status := range l.statusm {\n\t\t\tif status.isInMergePeriod(now) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif status.isEmpty() {\n\t\t\t\tdelete(l.statusm, ln)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\toutputs = append(outputs, ln.append(status.summary(now)))\n\t\t\tstatus.reset(now)\n\t\t}\n\t\tl.mu.Unlock()\n\n\t\tfor _, o := range outputs {\n\t\t\tl.PackageLogger.Logf(o.level, o.str)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/logutil/package_logger.go",
    "content": "// Copyright 2018 The etcd Authors\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\npackage logutil\n\nimport (\n\t\"github.com/coreos/pkg/capnslog\"\n\t\"google.golang.org/grpc/grpclog\"\n)\n\n// assert that \"packageLogger\" satisfy \"Logger\" interface\nvar _ Logger = &packageLogger{}\n\n// NewPackageLogger wraps \"*capnslog.PackageLogger\" that implements \"Logger\" interface.\n//\n// For example:\n//\n//  var defaultLogger Logger\n//  defaultLogger = NewPackageLogger(\"github.com/coreos/etcd\", \"snapshot\")\n//\nfunc NewPackageLogger(repo, pkg string) Logger {\n\treturn &packageLogger{p: capnslog.NewPackageLogger(repo, pkg)}\n}\n\ntype packageLogger struct {\n\tp *capnslog.PackageLogger\n}\n\nfunc (l *packageLogger) Info(args ...interface{})                    { l.p.Info(args...) }\nfunc (l *packageLogger) Infoln(args ...interface{})                  { l.p.Info(args...) }\nfunc (l *packageLogger) Infof(format string, args ...interface{})    { l.p.Infof(format, args...) }\nfunc (l *packageLogger) Warning(args ...interface{})                 { l.p.Warning(args...) }\nfunc (l *packageLogger) Warningln(args ...interface{})               { l.p.Warning(args...) }\nfunc (l *packageLogger) Warningf(format string, args ...interface{}) { l.p.Warningf(format, args...) }\nfunc (l *packageLogger) Error(args ...interface{})                   { l.p.Error(args...) }\nfunc (l *packageLogger) Errorln(args ...interface{})                 { l.p.Error(args...) }\nfunc (l *packageLogger) Errorf(format string, args ...interface{})   { l.p.Errorf(format, args...) }\nfunc (l *packageLogger) Fatal(args ...interface{})                   { l.p.Fatal(args...) }\nfunc (l *packageLogger) Fatalln(args ...interface{})                 { l.p.Fatal(args...) }\nfunc (l *packageLogger) Fatalf(format string, args ...interface{})   { l.p.Fatalf(format, args...) }\nfunc (l *packageLogger) V(lvl int) bool {\n\treturn l.p.LevelAt(capnslog.LogLevel(lvl))\n}\nfunc (l *packageLogger) Lvl(lvl int) grpclog.LoggerV2 {\n\tif l.p.LevelAt(capnslog.LogLevel(lvl)) {\n\t\treturn l\n\t}\n\treturn &discardLogger{}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/logutil/zap_grpc.go",
    "content": "// Copyright 2018 The etcd Authors\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\npackage logutil\n\nimport (\n\t\"go.uber.org/zap\"\n\t\"go.uber.org/zap/zapcore\"\n\t\"google.golang.org/grpc/grpclog\"\n)\n\n// NewGRPCLoggerV2 converts \"*zap.Logger\" to \"grpclog.LoggerV2\".\n// It discards all INFO level logging in gRPC, if debug level\n// is not enabled in \"*zap.Logger\".\nfunc NewGRPCLoggerV2(lcfg zap.Config) (grpclog.LoggerV2, error) {\n\tlg, err := lcfg.Build(zap.AddCallerSkip(1)) // to annotate caller outside of \"logutil\"\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &zapGRPCLogger{lg: lg, sugar: lg.Sugar()}, nil\n}\n\n// NewGRPCLoggerV2FromZapCore creates \"grpclog.LoggerV2\" from \"zap.Core\"\n// and \"zapcore.WriteSyncer\". It discards all INFO level logging in gRPC,\n// if debug level is not enabled in \"*zap.Logger\".\nfunc NewGRPCLoggerV2FromZapCore(cr zapcore.Core, syncer zapcore.WriteSyncer) grpclog.LoggerV2 {\n\t// \"AddCallerSkip\" to annotate caller outside of \"logutil\"\n\tlg := zap.New(cr, zap.AddCaller(), zap.AddCallerSkip(1), zap.ErrorOutput(syncer))\n\treturn &zapGRPCLogger{lg: lg, sugar: lg.Sugar()}\n}\n\ntype zapGRPCLogger struct {\n\tlg    *zap.Logger\n\tsugar *zap.SugaredLogger\n}\n\nfunc (zl *zapGRPCLogger) Info(args ...interface{}) {\n\tif !zl.lg.Core().Enabled(zapcore.DebugLevel) {\n\t\treturn\n\t}\n\tzl.sugar.Info(args...)\n}\n\nfunc (zl *zapGRPCLogger) Infoln(args ...interface{}) {\n\tif !zl.lg.Core().Enabled(zapcore.DebugLevel) {\n\t\treturn\n\t}\n\tzl.sugar.Info(args...)\n}\n\nfunc (zl *zapGRPCLogger) Infof(format string, args ...interface{}) {\n\tif !zl.lg.Core().Enabled(zapcore.DebugLevel) {\n\t\treturn\n\t}\n\tzl.sugar.Infof(format, args...)\n}\n\nfunc (zl *zapGRPCLogger) Warning(args ...interface{}) {\n\tzl.sugar.Warn(args...)\n}\n\nfunc (zl *zapGRPCLogger) Warningln(args ...interface{}) {\n\tzl.sugar.Warn(args...)\n}\n\nfunc (zl *zapGRPCLogger) Warningf(format string, args ...interface{}) {\n\tzl.sugar.Warnf(format, args...)\n}\n\nfunc (zl *zapGRPCLogger) Error(args ...interface{}) {\n\tzl.sugar.Error(args...)\n}\n\nfunc (zl *zapGRPCLogger) Errorln(args ...interface{}) {\n\tzl.sugar.Error(args...)\n}\n\nfunc (zl *zapGRPCLogger) Errorf(format string, args ...interface{}) {\n\tzl.sugar.Errorf(format, args...)\n}\n\nfunc (zl *zapGRPCLogger) Fatal(args ...interface{}) {\n\tzl.sugar.Fatal(args...)\n}\n\nfunc (zl *zapGRPCLogger) Fatalln(args ...interface{}) {\n\tzl.sugar.Fatal(args...)\n}\n\nfunc (zl *zapGRPCLogger) Fatalf(format string, args ...interface{}) {\n\tzl.sugar.Fatalf(format, args...)\n}\n\nfunc (zl *zapGRPCLogger) V(l int) bool {\n\t// infoLog == 0\n\tif l <= 0 { // debug level, then we ignore info level in gRPC\n\t\treturn !zl.lg.Core().Enabled(zapcore.DebugLevel)\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/logutil/zap_journal.go",
    "content": "// Copyright 2018 The etcd Authors\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// +build !windows\n\npackage logutil\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"path/filepath\"\n\n\t\"github.com/coreos/etcd/pkg/systemd\"\n\n\t\"github.com/coreos/go-systemd/journal\"\n\t\"go.uber.org/zap/zapcore\"\n)\n\n// NewJournalWriter wraps \"io.Writer\" to redirect log output\n// to the local systemd journal. If journald send fails, it fails\n// back to writing to the original writer.\n// The decode overhead is only <30µs per write.\n// Reference: https://github.com/coreos/pkg/blob/master/capnslog/journald_formatter.go\nfunc NewJournalWriter(wr io.Writer) (io.Writer, error) {\n\treturn &journalWriter{Writer: wr}, systemd.DialJournal()\n}\n\ntype journalWriter struct {\n\tio.Writer\n}\n\n// WARN: assume that etcd uses default field names in zap encoder config\n// make sure to keep this up-to-date!\ntype logLine struct {\n\tLevel  string `json:\"level\"`\n\tCaller string `json:\"caller\"`\n}\n\nfunc (w *journalWriter) Write(p []byte) (int, error) {\n\tline := &logLine{}\n\tif err := json.NewDecoder(bytes.NewReader(p)).Decode(line); err != nil {\n\t\treturn 0, err\n\t}\n\n\tvar pri journal.Priority\n\tswitch line.Level {\n\tcase zapcore.DebugLevel.String():\n\t\tpri = journal.PriDebug\n\tcase zapcore.InfoLevel.String():\n\t\tpri = journal.PriInfo\n\n\tcase zapcore.WarnLevel.String():\n\t\tpri = journal.PriWarning\n\tcase zapcore.ErrorLevel.String():\n\t\tpri = journal.PriErr\n\n\tcase zapcore.DPanicLevel.String():\n\t\tpri = journal.PriCrit\n\tcase zapcore.PanicLevel.String():\n\t\tpri = journal.PriCrit\n\tcase zapcore.FatalLevel.String():\n\t\tpri = journal.PriCrit\n\n\tdefault:\n\t\tpanic(fmt.Errorf(\"unknown log level: %q\", line.Level))\n\t}\n\n\terr := journal.Send(string(p), pri, map[string]string{\n\t\t\"PACKAGE\":           filepath.Dir(line.Caller),\n\t\t\"SYSLOG_IDENTIFIER\": filepath.Base(os.Args[0]),\n\t})\n\tif err != nil {\n\t\t// \"journal\" also falls back to stderr\n\t\t// \"fmt.Fprintln(os.Stderr, s)\"\n\t\treturn w.Writer.Write(p)\n\t}\n\treturn 0, nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/logutil/zap_raft.go",
    "content": "// Copyright 2018 The etcd Authors\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\npackage logutil\n\nimport (\n\t\"errors\"\n\n\t\"github.com/coreos/etcd/raft\"\n\n\t\"go.uber.org/zap\"\n\t\"go.uber.org/zap/zapcore\"\n)\n\n// NewRaftLogger converts \"*zap.Logger\" to \"raft.Logger\".\nfunc NewRaftLogger(lcfg *zap.Config) (raft.Logger, error) {\n\tif lcfg == nil {\n\t\treturn nil, errors.New(\"nil zap.Config\")\n\t}\n\tlg, err := lcfg.Build(zap.AddCallerSkip(1)) // to annotate caller outside of \"logutil\"\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &zapRaftLogger{lg: lg, sugar: lg.Sugar()}, nil\n}\n\n// NewRaftLoggerFromZapCore creates \"raft.Logger\" from \"zap.Core\"\n// and \"zapcore.WriteSyncer\".\nfunc NewRaftLoggerFromZapCore(cr zapcore.Core, syncer zapcore.WriteSyncer) raft.Logger {\n\t// \"AddCallerSkip\" to annotate caller outside of \"logutil\"\n\tlg := zap.New(cr, zap.AddCaller(), zap.AddCallerSkip(1), zap.ErrorOutput(syncer))\n\treturn &zapRaftLogger{lg: lg, sugar: lg.Sugar()}\n}\n\ntype zapRaftLogger struct {\n\tlg    *zap.Logger\n\tsugar *zap.SugaredLogger\n}\n\nfunc (zl *zapRaftLogger) Debug(args ...interface{}) {\n\tzl.sugar.Debug(args...)\n}\n\nfunc (zl *zapRaftLogger) Debugf(format string, args ...interface{}) {\n\tzl.sugar.Debugf(format, args...)\n}\n\nfunc (zl *zapRaftLogger) Error(args ...interface{}) {\n\tzl.sugar.Error(args...)\n}\n\nfunc (zl *zapRaftLogger) Errorf(format string, args ...interface{}) {\n\tzl.sugar.Errorf(format, args...)\n}\n\nfunc (zl *zapRaftLogger) Info(args ...interface{}) {\n\tzl.sugar.Info(args...)\n}\n\nfunc (zl *zapRaftLogger) Infof(format string, args ...interface{}) {\n\tzl.sugar.Infof(format, args...)\n}\n\nfunc (zl *zapRaftLogger) Warning(args ...interface{}) {\n\tzl.sugar.Warn(args...)\n}\n\nfunc (zl *zapRaftLogger) Warningf(format string, args ...interface{}) {\n\tzl.sugar.Warnf(format, args...)\n}\n\nfunc (zl *zapRaftLogger) Fatal(args ...interface{}) {\n\tzl.sugar.Fatal(args...)\n}\n\nfunc (zl *zapRaftLogger) Fatalf(format string, args ...interface{}) {\n\tzl.sugar.Fatalf(format, args...)\n}\n\nfunc (zl *zapRaftLogger) Panic(args ...interface{}) {\n\tzl.sugar.Panic(args...)\n}\n\nfunc (zl *zapRaftLogger) Panicf(format string, args ...interface{}) {\n\tzl.sugar.Panicf(format, args...)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/netutil/doc.go",
    "content": "// Copyright 2018 The etcd Authors\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// Package netutil implements network-related utility functions.\npackage netutil\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/netutil/isolate_linux.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage netutil\n\nimport (\n\t\"fmt\"\n\t\"os/exec\"\n)\n\n// DropPort drops all tcp packets that are received from the given port and sent to the given port.\nfunc DropPort(port int) error {\n\tcmdStr := fmt.Sprintf(\"sudo iptables -A OUTPUT -p tcp --destination-port %d -j DROP\", port)\n\tif _, err := exec.Command(\"/bin/sh\", \"-c\", cmdStr).Output(); err != nil {\n\t\treturn err\n\t}\n\tcmdStr = fmt.Sprintf(\"sudo iptables -A INPUT -p tcp --destination-port %d -j DROP\", port)\n\t_, err := exec.Command(\"/bin/sh\", \"-c\", cmdStr).Output()\n\treturn err\n}\n\n// RecoverPort stops dropping tcp packets at given port.\nfunc RecoverPort(port int) error {\n\tcmdStr := fmt.Sprintf(\"sudo iptables -D OUTPUT -p tcp --destination-port %d -j DROP\", port)\n\tif _, err := exec.Command(\"/bin/sh\", \"-c\", cmdStr).Output(); err != nil {\n\t\treturn err\n\t}\n\tcmdStr = fmt.Sprintf(\"sudo iptables -D INPUT -p tcp --destination-port %d -j DROP\", port)\n\t_, err := exec.Command(\"/bin/sh\", \"-c\", cmdStr).Output()\n\treturn err\n}\n\n// SetLatency adds latency in millisecond scale with random variations.\nfunc SetLatency(ms, rv int) error {\n\tifces, err := GetDefaultInterfaces()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif rv > ms {\n\t\trv = 1\n\t}\n\tfor ifce := range ifces {\n\t\tcmdStr := fmt.Sprintf(\"sudo tc qdisc add dev %s root netem delay %dms %dms distribution normal\", ifce, ms, rv)\n\t\t_, err = exec.Command(\"/bin/sh\", \"-c\", cmdStr).Output()\n\t\tif err != nil {\n\t\t\t// the rule has already been added. Overwrite it.\n\t\t\tcmdStr = fmt.Sprintf(\"sudo tc qdisc change dev %s root netem delay %dms %dms distribution normal\", ifce, ms, rv)\n\t\t\t_, err = exec.Command(\"/bin/sh\", \"-c\", cmdStr).Output()\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\n// RemoveLatency resets latency configurations.\nfunc RemoveLatency() error {\n\tifces, err := GetDefaultInterfaces()\n\tif err != nil {\n\t\treturn err\n\t}\n\tfor ifce := range ifces {\n\t\t_, err = exec.Command(\"/bin/sh\", \"-c\", fmt.Sprintf(\"sudo tc qdisc del dev %s root netem\", ifce)).Output()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/netutil/isolate_stub.go",
    "content": "// Copyright 2015 The etcd Authors\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// +build !linux\n\npackage netutil\n\nfunc DropPort(port int) error { return nil }\n\nfunc RecoverPort(port int) error { return nil }\n\nfunc SetLatency(ms, rv int) error { return nil }\n\nfunc RemoveLatency() error { return nil }\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/netutil/netutil.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage netutil\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net\"\n\t\"net/url\"\n\t\"reflect\"\n\t\"sort\"\n\t\"time\"\n\n\t\"github.com/coreos/etcd/pkg/types\"\n\n\t\"go.uber.org/zap\"\n)\n\n// indirection for testing\nvar resolveTCPAddr = resolveTCPAddrDefault\n\nconst retryInterval = time.Second\n\n// taken from go's ResolveTCP code but uses configurable ctx\nfunc resolveTCPAddrDefault(ctx context.Context, addr string) (*net.TCPAddr, error) {\n\thost, port, serr := net.SplitHostPort(addr)\n\tif serr != nil {\n\t\treturn nil, serr\n\t}\n\tportnum, perr := net.DefaultResolver.LookupPort(ctx, \"tcp\", port)\n\tif perr != nil {\n\t\treturn nil, perr\n\t}\n\n\tvar ips []net.IPAddr\n\tif ip := net.ParseIP(host); ip != nil {\n\t\tips = []net.IPAddr{{IP: ip}}\n\t} else {\n\t\t// Try as a DNS name.\n\t\tipss, err := net.DefaultResolver.LookupIPAddr(ctx, host)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tips = ipss\n\t}\n\t// randomize?\n\tip := ips[0]\n\treturn &net.TCPAddr{IP: ip.IP, Port: portnum, Zone: ip.Zone}, nil\n}\n\n// resolveTCPAddrs is a convenience wrapper for net.ResolveTCPAddr.\n// resolveTCPAddrs return a new set of url.URLs, in which all DNS hostnames\n// are resolved.\nfunc resolveTCPAddrs(ctx context.Context, lg *zap.Logger, urls [][]url.URL) ([][]url.URL, error) {\n\tnewurls := make([][]url.URL, 0)\n\tfor _, us := range urls {\n\t\tnus := make([]url.URL, len(us))\n\t\tfor i, u := range us {\n\t\t\tnu, err := url.Parse(u.String())\n\t\t\tif err != nil {\n\t\t\t\treturn nil, fmt.Errorf(\"failed to parse %q (%v)\", u.String(), err)\n\t\t\t}\n\t\t\tnus[i] = *nu\n\t\t}\n\t\tfor i, u := range nus {\n\t\t\th, err := resolveURL(ctx, lg, u)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, fmt.Errorf(\"failed to resolve %q (%v)\", u.String(), err)\n\t\t\t}\n\t\t\tif h != \"\" {\n\t\t\t\tnus[i].Host = h\n\t\t\t}\n\t\t}\n\t\tnewurls = append(newurls, nus)\n\t}\n\treturn newurls, nil\n}\n\nfunc resolveURL(ctx context.Context, lg *zap.Logger, u url.URL) (string, error) {\n\tif u.Scheme == \"unix\" || u.Scheme == \"unixs\" {\n\t\t// unix sockets don't resolve over TCP\n\t\treturn \"\", nil\n\t}\n\thost, _, err := net.SplitHostPort(u.Host)\n\tif err != nil {\n\t\tlg.Warn(\n\t\t\t\"failed to parse URL Host while resolving URL\",\n\t\t\tzap.String(\"url\", u.String()),\n\t\t\tzap.String(\"host\", u.Host),\n\t\t\tzap.Error(err),\n\t\t)\n\t\treturn \"\", err\n\t}\n\tif host == \"localhost\" || net.ParseIP(host) != nil {\n\t\treturn \"\", nil\n\t}\n\tfor ctx.Err() == nil {\n\t\ttcpAddr, err := resolveTCPAddr(ctx, u.Host)\n\t\tif err == nil {\n\t\t\tlg.Info(\n\t\t\t\t\"resolved URL Host\",\n\t\t\t\tzap.String(\"url\", u.String()),\n\t\t\t\tzap.String(\"host\", u.Host),\n\t\t\t\tzap.String(\"resolved-addr\", tcpAddr.String()),\n\t\t\t)\n\t\t\treturn tcpAddr.String(), nil\n\t\t}\n\n\t\tlg.Warn(\n\t\t\t\"failed to resolve URL Host\",\n\t\t\tzap.String(\"url\", u.String()),\n\t\t\tzap.String(\"host\", u.Host),\n\t\t\tzap.Duration(\"retry-interval\", retryInterval),\n\t\t\tzap.Error(err),\n\t\t)\n\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\tlg.Warn(\n\t\t\t\t\"failed to resolve URL Host; returning\",\n\t\t\t\tzap.String(\"url\", u.String()),\n\t\t\t\tzap.String(\"host\", u.Host),\n\t\t\t\tzap.Duration(\"retry-interval\", retryInterval),\n\t\t\t\tzap.Error(err),\n\t\t\t)\n\t\t\treturn \"\", err\n\t\tcase <-time.After(retryInterval):\n\t\t}\n\t}\n\treturn \"\", ctx.Err()\n}\n\n// urlsEqual checks equality of url.URLS between two arrays.\n// This check pass even if an URL is in hostname and opposite is in IP address.\nfunc urlsEqual(ctx context.Context, lg *zap.Logger, a []url.URL, b []url.URL) (bool, error) {\n\tif len(a) != len(b) {\n\t\treturn false, fmt.Errorf(\"len(%q) != len(%q)\", urlsToStrings(a), urlsToStrings(b))\n\t}\n\turls, err := resolveTCPAddrs(ctx, lg, [][]url.URL{a, b})\n\tif err != nil {\n\t\treturn false, err\n\t}\n\tpreva, prevb := a, b\n\ta, b = urls[0], urls[1]\n\tsort.Sort(types.URLs(a))\n\tsort.Sort(types.URLs(b))\n\tfor i := range a {\n\t\tif !reflect.DeepEqual(a[i], b[i]) {\n\t\t\treturn false, fmt.Errorf(\"%q(resolved from %q) != %q(resolved from %q)\",\n\t\t\t\ta[i].String(), preva[i].String(),\n\t\t\t\tb[i].String(), prevb[i].String(),\n\t\t\t)\n\t\t}\n\t}\n\treturn true, nil\n}\n\n// URLStringsEqual returns \"true\" if given URLs are valid\n// and resolved to same IP addresses. Otherwise, return \"false\"\n// and error, if any.\nfunc URLStringsEqual(ctx context.Context, lg *zap.Logger, a []string, b []string) (bool, error) {\n\tif len(a) != len(b) {\n\t\treturn false, fmt.Errorf(\"len(%q) != len(%q)\", a, b)\n\t}\n\turlsA := make([]url.URL, 0)\n\tfor _, str := range a {\n\t\tu, err := url.Parse(str)\n\t\tif err != nil {\n\t\t\treturn false, fmt.Errorf(\"failed to parse %q\", str)\n\t\t}\n\t\turlsA = append(urlsA, *u)\n\t}\n\turlsB := make([]url.URL, 0)\n\tfor _, str := range b {\n\t\tu, err := url.Parse(str)\n\t\tif err != nil {\n\t\t\treturn false, fmt.Errorf(\"failed to parse %q\", str)\n\t\t}\n\t\turlsB = append(urlsB, *u)\n\t}\n\tif lg == nil {\n\t\tlg, _ = zap.NewProduction()\n\t\tif lg == nil {\n\t\t\tlg = zap.NewExample()\n\t\t}\n\t}\n\treturn urlsEqual(ctx, lg, urlsA, urlsB)\n}\n\nfunc urlsToStrings(us []url.URL) []string {\n\trs := make([]string, len(us))\n\tfor i := range us {\n\t\trs[i] = us[i].String()\n\t}\n\treturn rs\n}\n\nfunc IsNetworkTimeoutError(err error) bool {\n\tnerr, ok := err.(net.Error)\n\treturn ok && nerr.Timeout()\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/netutil/routes.go",
    "content": "// Copyright 2016 The etcd Authors\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// +build !linux\n\npackage netutil\n\nimport (\n\t\"fmt\"\n\t\"runtime\"\n)\n\n// GetDefaultHost fetches the a resolvable name that corresponds\n// to the machine's default routable interface\nfunc GetDefaultHost() (string, error) {\n\treturn \"\", fmt.Errorf(\"default host not supported on %s_%s\", runtime.GOOS, runtime.GOARCH)\n}\n\n// GetDefaultInterfaces fetches the device name of default routable interface.\nfunc GetDefaultInterfaces() (map[string]uint8, error) {\n\treturn nil, fmt.Errorf(\"default host not supported on %s_%s\", runtime.GOOS, runtime.GOARCH)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/netutil/routes_linux.go",
    "content": "// Copyright 2016 The etcd Authors\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// +build linux\n\npackage netutil\n\nimport (\n\t\"bytes\"\n\t\"encoding/binary\"\n\t\"fmt\"\n\t\"net\"\n\t\"sort\"\n\t\"syscall\"\n\n\t\"github.com/coreos/etcd/pkg/cpuutil\"\n)\n\nvar errNoDefaultRoute = fmt.Errorf(\"could not find default route\")\nvar errNoDefaultHost = fmt.Errorf(\"could not find default host\")\nvar errNoDefaultInterface = fmt.Errorf(\"could not find default interface\")\n\n// GetDefaultHost obtains the first IP address of machine from the routing table and returns the IP address as string.\n// An IPv4 address is preferred to an IPv6 address for backward compatibility.\nfunc GetDefaultHost() (string, error) {\n\trmsgs, rerr := getDefaultRoutes()\n\tif rerr != nil {\n\t\treturn \"\", rerr\n\t}\n\n\t// prioritize IPv4\n\tif rmsg, ok := rmsgs[syscall.AF_INET]; ok {\n\t\tif host, err := chooseHost(syscall.AF_INET, rmsg); host != \"\" || err != nil {\n\t\t\treturn host, err\n\t\t}\n\t\tdelete(rmsgs, syscall.AF_INET)\n\t}\n\n\t// sort so choice is deterministic\n\tvar families []int\n\tfor family := range rmsgs {\n\t\tfamilies = append(families, int(family))\n\t}\n\tsort.Ints(families)\n\n\tfor _, f := range families {\n\t\tfamily := uint8(f)\n\t\tif host, err := chooseHost(family, rmsgs[family]); host != \"\" || err != nil {\n\t\t\treturn host, err\n\t\t}\n\t}\n\n\treturn \"\", errNoDefaultHost\n}\n\nfunc chooseHost(family uint8, rmsg *syscall.NetlinkMessage) (string, error) {\n\thost, oif, err := parsePREFSRC(rmsg)\n\tif host != \"\" || err != nil {\n\t\treturn host, err\n\t}\n\n\t// prefsrc not detected, fall back to getting address from iface\n\tifmsg, ierr := getIfaceAddr(oif, family)\n\tif ierr != nil {\n\t\treturn \"\", ierr\n\t}\n\n\tattrs, aerr := syscall.ParseNetlinkRouteAttr(ifmsg)\n\tif aerr != nil {\n\t\treturn \"\", aerr\n\t}\n\n\tfor _, attr := range attrs {\n\t\t// search for RTA_DST because ipv6 doesn't have RTA_SRC\n\t\tif attr.Attr.Type == syscall.RTA_DST {\n\t\t\treturn net.IP(attr.Value).String(), nil\n\t\t}\n\t}\n\n\treturn \"\", nil\n}\n\nfunc getDefaultRoutes() (map[uint8]*syscall.NetlinkMessage, error) {\n\tdat, err := syscall.NetlinkRIB(syscall.RTM_GETROUTE, syscall.AF_UNSPEC)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tmsgs, msgErr := syscall.ParseNetlinkMessage(dat)\n\tif msgErr != nil {\n\t\treturn nil, msgErr\n\t}\n\n\troutes := make(map[uint8]*syscall.NetlinkMessage)\n\trtmsg := syscall.RtMsg{}\n\tfor _, m := range msgs {\n\t\tif m.Header.Type != syscall.RTM_NEWROUTE {\n\t\t\tcontinue\n\t\t}\n\t\tbuf := bytes.NewBuffer(m.Data[:syscall.SizeofRtMsg])\n\t\tif rerr := binary.Read(buf, cpuutil.ByteOrder(), &rtmsg); rerr != nil {\n\t\t\tcontinue\n\t\t}\n\t\tif rtmsg.Dst_len == 0 && rtmsg.Table == syscall.RT_TABLE_MAIN {\n\t\t\t// zero-length Dst_len implies default route\n\t\t\tmsg := m\n\t\t\troutes[rtmsg.Family] = &msg\n\t\t}\n\t}\n\n\tif len(routes) > 0 {\n\t\treturn routes, nil\n\t}\n\n\treturn nil, errNoDefaultRoute\n}\n\n// Used to get an address of interface.\nfunc getIfaceAddr(idx uint32, family uint8) (*syscall.NetlinkMessage, error) {\n\tdat, err := syscall.NetlinkRIB(syscall.RTM_GETADDR, int(family))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tmsgs, msgErr := syscall.ParseNetlinkMessage(dat)\n\tif msgErr != nil {\n\t\treturn nil, msgErr\n\t}\n\n\tifaddrmsg := syscall.IfAddrmsg{}\n\tfor _, m := range msgs {\n\t\tif m.Header.Type != syscall.RTM_NEWADDR {\n\t\t\tcontinue\n\t\t}\n\t\tbuf := bytes.NewBuffer(m.Data[:syscall.SizeofIfAddrmsg])\n\t\tif rerr := binary.Read(buf, cpuutil.ByteOrder(), &ifaddrmsg); rerr != nil {\n\t\t\tcontinue\n\t\t}\n\t\tif ifaddrmsg.Index == idx {\n\t\t\treturn &m, nil\n\t\t}\n\t}\n\n\treturn nil, fmt.Errorf(\"could not find address for interface index %v\", idx)\n\n}\n\n// Used to get a name of interface.\nfunc getIfaceLink(idx uint32) (*syscall.NetlinkMessage, error) {\n\tdat, err := syscall.NetlinkRIB(syscall.RTM_GETLINK, syscall.AF_UNSPEC)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tmsgs, msgErr := syscall.ParseNetlinkMessage(dat)\n\tif msgErr != nil {\n\t\treturn nil, msgErr\n\t}\n\n\tifinfomsg := syscall.IfInfomsg{}\n\tfor _, m := range msgs {\n\t\tif m.Header.Type != syscall.RTM_NEWLINK {\n\t\t\tcontinue\n\t\t}\n\t\tbuf := bytes.NewBuffer(m.Data[:syscall.SizeofIfInfomsg])\n\t\tif rerr := binary.Read(buf, cpuutil.ByteOrder(), &ifinfomsg); rerr != nil {\n\t\t\tcontinue\n\t\t}\n\t\tif ifinfomsg.Index == int32(idx) {\n\t\t\treturn &m, nil\n\t\t}\n\t}\n\n\treturn nil, fmt.Errorf(\"could not find link for interface index %v\", idx)\n}\n\n// GetDefaultInterfaces gets names of interfaces and returns a map[interface]families.\nfunc GetDefaultInterfaces() (map[string]uint8, error) {\n\tinterfaces := make(map[string]uint8)\n\trmsgs, rerr := getDefaultRoutes()\n\tif rerr != nil {\n\t\treturn interfaces, rerr\n\t}\n\n\tfor family, rmsg := range rmsgs {\n\t\t_, oif, err := parsePREFSRC(rmsg)\n\t\tif err != nil {\n\t\t\treturn interfaces, err\n\t\t}\n\n\t\tifmsg, ierr := getIfaceLink(oif)\n\t\tif ierr != nil {\n\t\t\treturn interfaces, ierr\n\t\t}\n\n\t\tattrs, aerr := syscall.ParseNetlinkRouteAttr(ifmsg)\n\t\tif aerr != nil {\n\t\t\treturn interfaces, aerr\n\t\t}\n\n\t\tfor _, attr := range attrs {\n\t\t\tif attr.Attr.Type == syscall.IFLA_IFNAME {\n\t\t\t\t// key is an interface name\n\t\t\t\t// possible values: 2 - AF_INET, 10 - AF_INET6, 12 - dualstack\n\t\t\t\tinterfaces[string(attr.Value[:len(attr.Value)-1])] += family\n\t\t\t}\n\t\t}\n\t}\n\tif len(interfaces) > 0 {\n\t\treturn interfaces, nil\n\t}\n\treturn interfaces, errNoDefaultInterface\n}\n\n// parsePREFSRC returns preferred source address and output interface index (RTA_OIF).\nfunc parsePREFSRC(m *syscall.NetlinkMessage) (host string, oif uint32, err error) {\n\tvar attrs []syscall.NetlinkRouteAttr\n\tattrs, err = syscall.ParseNetlinkRouteAttr(m)\n\tif err != nil {\n\t\treturn \"\", 0, err\n\t}\n\n\tfor _, attr := range attrs {\n\t\tif attr.Attr.Type == syscall.RTA_PREFSRC {\n\t\t\thost = net.IP(attr.Value).String()\n\t\t}\n\t\tif attr.Attr.Type == syscall.RTA_OIF {\n\t\t\toif = cpuutil.ByteOrder().Uint32(attr.Value)\n\t\t}\n\t\tif host != \"\" && oif != uint32(0) {\n\t\t\tbreak\n\t\t}\n\t}\n\n\tif oif == 0 {\n\t\terr = errNoDefaultRoute\n\t}\n\treturn host, oif, err\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/report/doc.go",
    "content": "// Copyright 2016 The etcd Authors\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// Package report generates human-readable benchmark reports.\npackage report\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/report/report.go",
    "content": "// Copyright 2014 The etcd Authors\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// the file is borrowed from github.com/rakyll/boom/boomer/print.go\n\npackage report\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"sort\"\n\t\"strings\"\n\t\"time\"\n)\n\nconst (\n\tbarChar = \"∎\"\n)\n\n// Result describes the timings for an operation.\ntype Result struct {\n\tStart  time.Time\n\tEnd    time.Time\n\tErr    error\n\tWeight float64\n}\n\nfunc (res *Result) Duration() time.Duration { return res.End.Sub(res.Start) }\n\ntype report struct {\n\tresults   chan Result\n\tprecision string\n\n\tstats Stats\n\tsps   *secondPoints\n}\n\n// Stats exposes results raw data.\ntype Stats struct {\n\tAvgTotal   float64\n\tFastest    float64\n\tSlowest    float64\n\tAverage    float64\n\tStddev     float64\n\tRPS        float64\n\tTotal      time.Duration\n\tErrorDist  map[string]int\n\tLats       []float64\n\tTimeSeries TimeSeries\n}\n\nfunc (s *Stats) copy() Stats {\n\tss := *s\n\tss.ErrorDist = copyMap(ss.ErrorDist)\n\tss.Lats = copyFloats(ss.Lats)\n\treturn ss\n}\n\n// Report processes a result stream until it is closed, then produces a\n// string with information about the consumed result data.\ntype Report interface {\n\tResults() chan<- Result\n\n\t// Run returns results in print-friendly format.\n\tRun() <-chan string\n\n\t// Stats returns results in raw data.\n\tStats() <-chan Stats\n}\n\nfunc NewReport(precision string) Report { return newReport(precision) }\n\nfunc newReport(precision string) *report {\n\tr := &report{\n\t\tresults:   make(chan Result, 16),\n\t\tprecision: precision,\n\t}\n\tr.stats.ErrorDist = make(map[string]int)\n\treturn r\n}\n\nfunc NewReportSample(precision string) Report {\n\tr := NewReport(precision).(*report)\n\tr.sps = newSecondPoints()\n\treturn r\n}\n\nfunc (r *report) Results() chan<- Result { return r.results }\n\nfunc (r *report) Run() <-chan string {\n\tdonec := make(chan string, 1)\n\tgo func() {\n\t\tdefer close(donec)\n\t\tr.processResults()\n\t\tdonec <- r.String()\n\t}()\n\treturn donec\n}\n\nfunc (r *report) Stats() <-chan Stats {\n\tdonec := make(chan Stats, 1)\n\tgo func() {\n\t\tdefer close(donec)\n\t\tr.processResults()\n\t\ts := r.stats.copy()\n\t\tif r.sps != nil {\n\t\t\ts.TimeSeries = r.sps.getTimeSeries()\n\t\t}\n\t\tdonec <- s\n\t}()\n\treturn donec\n}\n\nfunc copyMap(m map[string]int) (c map[string]int) {\n\tc = make(map[string]int, len(m))\n\tfor k, v := range m {\n\t\tc[k] = v\n\t}\n\treturn c\n}\n\nfunc copyFloats(s []float64) (c []float64) {\n\tc = make([]float64, len(s))\n\tcopy(c, s)\n\treturn c\n}\n\nfunc (r *report) String() (s string) {\n\tif len(r.stats.Lats) > 0 {\n\t\ts += fmt.Sprintf(\"\\nSummary:\\n\")\n\t\ts += fmt.Sprintf(\"  Total:\\t%s.\\n\", r.sec2str(r.stats.Total.Seconds()))\n\t\ts += fmt.Sprintf(\"  Slowest:\\t%s.\\n\", r.sec2str(r.stats.Slowest))\n\t\ts += fmt.Sprintf(\"  Fastest:\\t%s.\\n\", r.sec2str(r.stats.Fastest))\n\t\ts += fmt.Sprintf(\"  Average:\\t%s.\\n\", r.sec2str(r.stats.Average))\n\t\ts += fmt.Sprintf(\"  Stddev:\\t%s.\\n\", r.sec2str(r.stats.Stddev))\n\t\ts += fmt.Sprintf(\"  Requests/sec:\\t\"+r.precision+\"\\n\", r.stats.RPS)\n\t\ts += r.histogram()\n\t\ts += r.sprintLatencies()\n\t\tif r.sps != nil {\n\t\t\ts += fmt.Sprintf(\"%v\\n\", r.sps.getTimeSeries())\n\t\t}\n\t}\n\tif len(r.stats.ErrorDist) > 0 {\n\t\ts += r.errors()\n\t}\n\treturn s\n}\n\nfunc (r *report) sec2str(sec float64) string { return fmt.Sprintf(r.precision+\" secs\", sec) }\n\ntype reportRate struct{ *report }\n\nfunc NewReportRate(precision string) Report {\n\treturn &reportRate{NewReport(precision).(*report)}\n}\n\nfunc (r *reportRate) String() string {\n\treturn fmt.Sprintf(\" Requests/sec:\\t\"+r.precision+\"\\n\", r.stats.RPS)\n}\n\nfunc (r *report) processResult(res *Result) {\n\tif res.Err != nil {\n\t\tr.stats.ErrorDist[res.Err.Error()]++\n\t\treturn\n\t}\n\tdur := res.Duration()\n\tr.stats.Lats = append(r.stats.Lats, dur.Seconds())\n\tr.stats.AvgTotal += dur.Seconds()\n\tif r.sps != nil {\n\t\tr.sps.Add(res.Start, dur)\n\t}\n}\n\nfunc (r *report) processResults() {\n\tst := time.Now()\n\tfor res := range r.results {\n\t\tr.processResult(&res)\n\t}\n\tr.stats.Total = time.Since(st)\n\n\tr.stats.RPS = float64(len(r.stats.Lats)) / r.stats.Total.Seconds()\n\tr.stats.Average = r.stats.AvgTotal / float64(len(r.stats.Lats))\n\tfor i := range r.stats.Lats {\n\t\tdev := r.stats.Lats[i] - r.stats.Average\n\t\tr.stats.Stddev += dev * dev\n\t}\n\tr.stats.Stddev = math.Sqrt(r.stats.Stddev / float64(len(r.stats.Lats)))\n\tsort.Float64s(r.stats.Lats)\n\tif len(r.stats.Lats) > 0 {\n\t\tr.stats.Fastest = r.stats.Lats[0]\n\t\tr.stats.Slowest = r.stats.Lats[len(r.stats.Lats)-1]\n\t}\n}\n\nvar pctls = []float64{10, 25, 50, 75, 90, 95, 99, 99.9}\n\n// Percentiles returns percentile distribution of float64 slice.\nfunc Percentiles(nums []float64) (pcs []float64, data []float64) {\n\treturn pctls, percentiles(nums)\n}\n\nfunc percentiles(nums []float64) (data []float64) {\n\tdata = make([]float64, len(pctls))\n\tj := 0\n\tn := len(nums)\n\tfor i := 0; i < n && j < len(pctls); i++ {\n\t\tcurrent := float64(i) * 100.0 / float64(n)\n\t\tif current >= pctls[j] {\n\t\t\tdata[j] = nums[i]\n\t\t\tj++\n\t\t}\n\t}\n\treturn data\n}\n\nfunc (r *report) sprintLatencies() string {\n\tdata := percentiles(r.stats.Lats)\n\ts := fmt.Sprintf(\"\\nLatency distribution:\\n\")\n\tfor i := 0; i < len(pctls); i++ {\n\t\tif data[i] > 0 {\n\t\t\ts += fmt.Sprintf(\"  %v%% in %s.\\n\", pctls[i], r.sec2str(data[i]))\n\t\t}\n\t}\n\treturn s\n}\n\nfunc (r *report) histogram() string {\n\tbc := 10\n\tbuckets := make([]float64, bc+1)\n\tcounts := make([]int, bc+1)\n\tbs := (r.stats.Slowest - r.stats.Fastest) / float64(bc)\n\tfor i := 0; i < bc; i++ {\n\t\tbuckets[i] = r.stats.Fastest + bs*float64(i)\n\t}\n\tbuckets[bc] = r.stats.Slowest\n\tvar bi int\n\tvar max int\n\tfor i := 0; i < len(r.stats.Lats); {\n\t\tif r.stats.Lats[i] <= buckets[bi] {\n\t\t\ti++\n\t\t\tcounts[bi]++\n\t\t\tif max < counts[bi] {\n\t\t\t\tmax = counts[bi]\n\t\t\t}\n\t\t} else if bi < len(buckets)-1 {\n\t\t\tbi++\n\t\t}\n\t}\n\ts := fmt.Sprintf(\"\\nResponse time histogram:\\n\")\n\tfor i := 0; i < len(buckets); i++ {\n\t\t// Normalize bar lengths.\n\t\tvar barLen int\n\t\tif max > 0 {\n\t\t\tbarLen = counts[i] * 40 / max\n\t\t}\n\t\ts += fmt.Sprintf(\"  \"+r.precision+\" [%v]\\t|%v\\n\", buckets[i], counts[i], strings.Repeat(barChar, barLen))\n\t}\n\treturn s\n}\n\nfunc (r *report) errors() string {\n\ts := fmt.Sprintf(\"\\nError distribution:\\n\")\n\tfor err, num := range r.stats.ErrorDist {\n\t\ts += fmt.Sprintf(\"  [%d]\\t%s\\n\", num, err)\n\t}\n\treturn s\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/report/timeseries.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage report\n\nimport (\n\t\"bytes\"\n\t\"encoding/csv\"\n\t\"fmt\"\n\t\"log\"\n\t\"math\"\n\t\"sort\"\n\t\"sync\"\n\t\"time\"\n)\n\ntype DataPoint struct {\n\tTimestamp  int64\n\tMinLatency time.Duration\n\tAvgLatency time.Duration\n\tMaxLatency time.Duration\n\tThroughPut int64\n}\n\ntype TimeSeries []DataPoint\n\nfunc (t TimeSeries) Swap(i, j int)      { t[i], t[j] = t[j], t[i] }\nfunc (t TimeSeries) Len() int           { return len(t) }\nfunc (t TimeSeries) Less(i, j int) bool { return t[i].Timestamp < t[j].Timestamp }\n\ntype secondPoint struct {\n\tminLatency   time.Duration\n\tmaxLatency   time.Duration\n\ttotalLatency time.Duration\n\tcount        int64\n}\n\ntype secondPoints struct {\n\tmu sync.Mutex\n\ttm map[int64]secondPoint\n}\n\nfunc newSecondPoints() *secondPoints {\n\treturn &secondPoints{tm: make(map[int64]secondPoint)}\n}\n\nfunc (sp *secondPoints) Add(ts time.Time, lat time.Duration) {\n\tsp.mu.Lock()\n\tdefer sp.mu.Unlock()\n\n\ttk := ts.Unix()\n\tif v, ok := sp.tm[tk]; !ok {\n\t\tsp.tm[tk] = secondPoint{minLatency: lat, maxLatency: lat, totalLatency: lat, count: 1}\n\t} else {\n\t\tif lat != time.Duration(0) {\n\t\t\tv.minLatency = minDuration(v.minLatency, lat)\n\t\t}\n\t\tv.maxLatency = maxDuration(v.maxLatency, lat)\n\t\tv.totalLatency += lat\n\t\tv.count++\n\t\tsp.tm[tk] = v\n\t}\n}\n\nfunc (sp *secondPoints) getTimeSeries() TimeSeries {\n\tsp.mu.Lock()\n\tdefer sp.mu.Unlock()\n\n\tvar (\n\t\tminTs int64 = math.MaxInt64\n\t\tmaxTs int64 = -1\n\t)\n\tfor k := range sp.tm {\n\t\tif minTs > k {\n\t\t\tminTs = k\n\t\t}\n\t\tif maxTs < k {\n\t\t\tmaxTs = k\n\t\t}\n\t}\n\tfor ti := minTs; ti < maxTs; ti++ {\n\t\tif _, ok := sp.tm[ti]; !ok { // fill-in empties\n\t\t\tsp.tm[ti] = secondPoint{totalLatency: 0, count: 0}\n\t\t}\n\t}\n\n\tvar (\n\t\ttslice = make(TimeSeries, len(sp.tm))\n\t\ti      int\n\t)\n\tfor k, v := range sp.tm {\n\t\tvar lat time.Duration\n\t\tif v.count > 0 {\n\t\t\tlat = v.totalLatency / time.Duration(v.count)\n\t\t}\n\t\ttslice[i] = DataPoint{\n\t\t\tTimestamp:  k,\n\t\t\tMinLatency: v.minLatency,\n\t\t\tAvgLatency: lat,\n\t\t\tMaxLatency: v.maxLatency,\n\t\t\tThroughPut: v.count,\n\t\t}\n\t\ti++\n\t}\n\n\tsort.Sort(tslice)\n\treturn tslice\n}\n\nfunc (t TimeSeries) String() string {\n\tbuf := new(bytes.Buffer)\n\twr := csv.NewWriter(buf)\n\tif err := wr.Write([]string{\"UNIX-SECOND\", \"MIN-LATENCY-MS\", \"AVG-LATENCY-MS\", \"MAX-LATENCY-MS\", \"AVG-THROUGHPUT\"}); err != nil {\n\t\tlog.Fatal(err)\n\t}\n\trows := [][]string{}\n\tfor i := range t {\n\t\trow := []string{\n\t\t\tfmt.Sprintf(\"%d\", t[i].Timestamp),\n\t\t\tt[i].MinLatency.String(),\n\t\t\tt[i].AvgLatency.String(),\n\t\t\tt[i].MaxLatency.String(),\n\t\t\tfmt.Sprintf(\"%d\", t[i].ThroughPut),\n\t\t}\n\t\trows = append(rows, row)\n\t}\n\tif err := wr.WriteAll(rows); err != nil {\n\t\tlog.Fatal(err)\n\t}\n\twr.Flush()\n\tif err := wr.Error(); err != nil {\n\t\tlog.Fatal(err)\n\t}\n\treturn fmt.Sprintf(\"\\nSample in one second (unix latency throughput):\\n%s\", buf.String())\n}\n\nfunc minDuration(a, b time.Duration) time.Duration {\n\tif a < b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc maxDuration(a, b time.Duration) time.Duration {\n\tif a > b {\n\t\treturn a\n\t}\n\treturn b\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/report/weighted.go",
    "content": "// Copyright 2017 The etcd Authors\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// the file is borrowed from github.com/rakyll/boom/boomer/print.go\n\npackage report\n\nimport (\n\t\"time\"\n)\n\ntype weightedReport struct {\n\tbaseReport Report\n\n\treport      *report\n\tresults     chan Result\n\tweightTotal float64\n}\n\n// NewWeightedReport returns a report that includes\n// both weighted and unweighted statistics.\nfunc NewWeightedReport(r Report, precision string) Report {\n\treturn &weightedReport{\n\t\tbaseReport: r,\n\t\treport:     newReport(precision),\n\t\tresults:    make(chan Result, 16),\n\t}\n}\n\nfunc (wr *weightedReport) Results() chan<- Result { return wr.results }\n\nfunc (wr *weightedReport) Run() <-chan string {\n\tdonec := make(chan string, 2)\n\tgo func() {\n\t\tdefer close(donec)\n\t\tbasec, rc := make(chan string, 1), make(chan Stats, 1)\n\t\tgo func() { basec <- (<-wr.baseReport.Run()) }()\n\t\tgo func() { rc <- (<-wr.report.Stats()) }()\n\t\tgo wr.processResults()\n\t\twr.report.stats = wr.reweighStat(<-rc)\n\t\tdonec <- wr.report.String()\n\t\tdonec <- (<-basec)\n\t}()\n\treturn donec\n}\n\nfunc (wr *weightedReport) Stats() <-chan Stats {\n\tdonec := make(chan Stats, 2)\n\tgo func() {\n\t\tdefer close(donec)\n\t\tbasec, rc := make(chan Stats, 1), make(chan Stats, 1)\n\t\tgo func() { basec <- (<-wr.baseReport.Stats()) }()\n\t\tgo func() { rc <- (<-wr.report.Stats()) }()\n\t\tgo wr.processResults()\n\t\tdonec <- wr.reweighStat(<-rc)\n\t\tdonec <- (<-basec)\n\t}()\n\treturn donec\n}\n\nfunc (wr *weightedReport) processResults() {\n\tdefer close(wr.report.results)\n\tdefer close(wr.baseReport.Results())\n\tfor res := range wr.results {\n\t\twr.processResult(res)\n\t\twr.baseReport.Results() <- res\n\t}\n}\n\nfunc (wr *weightedReport) processResult(res Result) {\n\tif res.Err != nil {\n\t\twr.report.results <- res\n\t\treturn\n\t}\n\tif res.Weight == 0 {\n\t\tres.Weight = 1.0\n\t}\n\twr.weightTotal += res.Weight\n\tres.End = res.Start.Add(time.Duration(float64(res.End.Sub(res.Start)) / res.Weight))\n\tres.Weight = 1.0\n\twr.report.results <- res\n}\n\nfunc (wr *weightedReport) reweighStat(s Stats) Stats {\n\tweightCoef := wr.weightTotal / float64(len(s.Lats))\n\t// weight > 1 => processing more than one request\n\ts.RPS *= weightCoef\n\ts.AvgTotal *= weightCoef * weightCoef\n\treturn s\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/systemd/doc.go",
    "content": "// Copyright 2018 The etcd Authors\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// Package systemd provides utility functions for systemd.\npackage systemd\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/systemd/journal.go",
    "content": "// Copyright 2018 The etcd Authors\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\npackage systemd\n\nimport \"net\"\n\n// DialJournal returns no error if the process can dial journal socket.\n// Returns an error if dial failed, whichi indicates journald is not available\n// (e.g. run embedded etcd as docker daemon).\n// Reference: https://github.com/coreos/go-systemd/blob/master/journal/journal.go.\nfunc DialJournal() error {\n\tconn, err := net.Dial(\"unixgram\", \"/run/systemd/journal/socket\")\n\tif conn != nil {\n\t\tdefer conn.Close()\n\t}\n\treturn err\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/types/doc.go",
    "content": "// Copyright 2015 The etcd Authors\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// Package types declares various data types and implements type-checking\n// functions.\npackage types\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/types/id.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage types\n\nimport \"strconv\"\n\n// ID represents a generic identifier which is canonically\n// stored as a uint64 but is typically represented as a\n// base-16 string for input/output\ntype ID uint64\n\nfunc (i ID) String() string {\n\treturn strconv.FormatUint(uint64(i), 16)\n}\n\n// IDFromString attempts to create an ID from a base-16 string.\nfunc IDFromString(s string) (ID, error) {\n\ti, err := strconv.ParseUint(s, 16, 64)\n\treturn ID(i), err\n}\n\n// IDSlice implements the sort interface\ntype IDSlice []ID\n\nfunc (p IDSlice) Len() int           { return len(p) }\nfunc (p IDSlice) Less(i, j int) bool { return uint64(p[i]) < uint64(p[j]) }\nfunc (p IDSlice) Swap(i, j int)      { p[i], p[j] = p[j], p[i] }\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/types/set.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage types\n\nimport (\n\t\"reflect\"\n\t\"sort\"\n\t\"sync\"\n)\n\ntype Set interface {\n\tAdd(string)\n\tRemove(string)\n\tContains(string) bool\n\tEquals(Set) bool\n\tLength() int\n\tValues() []string\n\tCopy() Set\n\tSub(Set) Set\n}\n\nfunc NewUnsafeSet(values ...string) *unsafeSet {\n\tset := &unsafeSet{make(map[string]struct{})}\n\tfor _, v := range values {\n\t\tset.Add(v)\n\t}\n\treturn set\n}\n\nfunc NewThreadsafeSet(values ...string) *tsafeSet {\n\tus := NewUnsafeSet(values...)\n\treturn &tsafeSet{us, sync.RWMutex{}}\n}\n\ntype unsafeSet struct {\n\td map[string]struct{}\n}\n\n// Add adds a new value to the set (no-op if the value is already present)\nfunc (us *unsafeSet) Add(value string) {\n\tus.d[value] = struct{}{}\n}\n\n// Remove removes the given value from the set\nfunc (us *unsafeSet) Remove(value string) {\n\tdelete(us.d, value)\n}\n\n// Contains returns whether the set contains the given value\nfunc (us *unsafeSet) Contains(value string) (exists bool) {\n\t_, exists = us.d[value]\n\treturn exists\n}\n\n// ContainsAll returns whether the set contains all given values\nfunc (us *unsafeSet) ContainsAll(values []string) bool {\n\tfor _, s := range values {\n\t\tif !us.Contains(s) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// Equals returns whether the contents of two sets are identical\nfunc (us *unsafeSet) Equals(other Set) bool {\n\tv1 := sort.StringSlice(us.Values())\n\tv2 := sort.StringSlice(other.Values())\n\tv1.Sort()\n\tv2.Sort()\n\treturn reflect.DeepEqual(v1, v2)\n}\n\n// Length returns the number of elements in the set\nfunc (us *unsafeSet) Length() int {\n\treturn len(us.d)\n}\n\n// Values returns the values of the Set in an unspecified order.\nfunc (us *unsafeSet) Values() (values []string) {\n\tvalues = make([]string, 0)\n\tfor val := range us.d {\n\t\tvalues = append(values, val)\n\t}\n\treturn values\n}\n\n// Copy creates a new Set containing the values of the first\nfunc (us *unsafeSet) Copy() Set {\n\tcp := NewUnsafeSet()\n\tfor val := range us.d {\n\t\tcp.Add(val)\n\t}\n\n\treturn cp\n}\n\n// Sub removes all elements in other from the set\nfunc (us *unsafeSet) Sub(other Set) Set {\n\toValues := other.Values()\n\tresult := us.Copy().(*unsafeSet)\n\n\tfor _, val := range oValues {\n\t\tif _, ok := result.d[val]; !ok {\n\t\t\tcontinue\n\t\t}\n\t\tdelete(result.d, val)\n\t}\n\n\treturn result\n}\n\ntype tsafeSet struct {\n\tus *unsafeSet\n\tm  sync.RWMutex\n}\n\nfunc (ts *tsafeSet) Add(value string) {\n\tts.m.Lock()\n\tdefer ts.m.Unlock()\n\tts.us.Add(value)\n}\n\nfunc (ts *tsafeSet) Remove(value string) {\n\tts.m.Lock()\n\tdefer ts.m.Unlock()\n\tts.us.Remove(value)\n}\n\nfunc (ts *tsafeSet) Contains(value string) (exists bool) {\n\tts.m.RLock()\n\tdefer ts.m.RUnlock()\n\treturn ts.us.Contains(value)\n}\n\nfunc (ts *tsafeSet) Equals(other Set) bool {\n\tts.m.RLock()\n\tdefer ts.m.RUnlock()\n\treturn ts.us.Equals(other)\n}\n\nfunc (ts *tsafeSet) Length() int {\n\tts.m.RLock()\n\tdefer ts.m.RUnlock()\n\treturn ts.us.Length()\n}\n\nfunc (ts *tsafeSet) Values() (values []string) {\n\tts.m.RLock()\n\tdefer ts.m.RUnlock()\n\treturn ts.us.Values()\n}\n\nfunc (ts *tsafeSet) Copy() Set {\n\tts.m.RLock()\n\tdefer ts.m.RUnlock()\n\tusResult := ts.us.Copy().(*unsafeSet)\n\treturn &tsafeSet{usResult, sync.RWMutex{}}\n}\n\nfunc (ts *tsafeSet) Sub(other Set) Set {\n\tts.m.RLock()\n\tdefer ts.m.RUnlock()\n\tusResult := ts.us.Sub(other).(*unsafeSet)\n\treturn &tsafeSet{usResult, sync.RWMutex{}}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/types/slice.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage types\n\n// Uint64Slice implements sort interface\ntype Uint64Slice []uint64\n\nfunc (p Uint64Slice) Len() int           { return len(p) }\nfunc (p Uint64Slice) Less(i, j int) bool { return p[i] < p[j] }\nfunc (p Uint64Slice) Swap(i, j int)      { p[i], p[j] = p[j], p[i] }\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/types/urls.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage types\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"net\"\n\t\"net/url\"\n\t\"sort\"\n\t\"strings\"\n)\n\ntype URLs []url.URL\n\nfunc NewURLs(strs []string) (URLs, error) {\n\tall := make([]url.URL, len(strs))\n\tif len(all) == 0 {\n\t\treturn nil, errors.New(\"no valid URLs given\")\n\t}\n\tfor i, in := range strs {\n\t\tin = strings.TrimSpace(in)\n\t\tu, err := url.Parse(in)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tif u.Scheme != \"http\" && u.Scheme != \"https\" && u.Scheme != \"unix\" && u.Scheme != \"unixs\" {\n\t\t\treturn nil, fmt.Errorf(\"URL scheme must be http, https, unix, or unixs: %s\", in)\n\t\t}\n\t\tif _, _, err := net.SplitHostPort(u.Host); err != nil {\n\t\t\treturn nil, fmt.Errorf(`URL address does not have the form \"host:port\": %s`, in)\n\t\t}\n\t\tif u.Path != \"\" {\n\t\t\treturn nil, fmt.Errorf(\"URL must not contain a path: %s\", in)\n\t\t}\n\t\tall[i] = *u\n\t}\n\tus := URLs(all)\n\tus.Sort()\n\n\treturn us, nil\n}\n\nfunc MustNewURLs(strs []string) URLs {\n\turls, err := NewURLs(strs)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn urls\n}\n\nfunc (us URLs) String() string {\n\treturn strings.Join(us.StringSlice(), \",\")\n}\n\nfunc (us *URLs) Sort() {\n\tsort.Sort(us)\n}\nfunc (us URLs) Len() int           { return len(us) }\nfunc (us URLs) Less(i, j int) bool { return us[i].String() < us[j].String() }\nfunc (us URLs) Swap(i, j int)      { us[i], us[j] = us[j], us[i] }\n\nfunc (us URLs) StringSlice() []string {\n\tout := make([]string, len(us))\n\tfor i := range us {\n\t\tout[i] = us[i].String()\n\t}\n\n\treturn out\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/pkg/types/urlsmap.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage types\n\nimport (\n\t\"fmt\"\n\t\"sort\"\n\t\"strings\"\n)\n\n// URLsMap is a map from a name to its URLs.\ntype URLsMap map[string]URLs\n\n// NewURLsMap returns a URLsMap instantiated from the given string,\n// which consists of discovery-formatted names-to-URLs, like:\n// mach0=http://1.1.1.1:2380,mach0=http://2.2.2.2::2380,mach1=http://3.3.3.3:2380,mach2=http://4.4.4.4:2380\nfunc NewURLsMap(s string) (URLsMap, error) {\n\tm := parse(s)\n\n\tcl := URLsMap{}\n\tfor name, urls := range m {\n\t\tus, err := NewURLs(urls)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tcl[name] = us\n\t}\n\treturn cl, nil\n}\n\n// NewURLsMapFromStringMap takes a map of strings and returns a URLsMap. The\n// string values in the map can be multiple values separated by the sep string.\nfunc NewURLsMapFromStringMap(m map[string]string, sep string) (URLsMap, error) {\n\tvar err error\n\tum := URLsMap{}\n\tfor k, v := range m {\n\t\tum[k], err = NewURLs(strings.Split(v, sep))\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn um, nil\n}\n\n// String turns URLsMap into discovery-formatted name-to-URLs sorted by name.\nfunc (c URLsMap) String() string {\n\tvar pairs []string\n\tfor name, urls := range c {\n\t\tfor _, url := range urls {\n\t\t\tpairs = append(pairs, fmt.Sprintf(\"%s=%s\", name, url.String()))\n\t\t}\n\t}\n\tsort.Strings(pairs)\n\treturn strings.Join(pairs, \",\")\n}\n\n// URLs returns a list of all URLs.\n// The returned list is sorted in ascending lexicographical order.\nfunc (c URLsMap) URLs() []string {\n\tvar urls []string\n\tfor _, us := range c {\n\t\tfor _, u := range us {\n\t\t\turls = append(urls, u.String())\n\t\t}\n\t}\n\tsort.Strings(urls)\n\treturn urls\n}\n\n// Len returns the size of URLsMap.\nfunc (c URLsMap) Len() int {\n\treturn len(c)\n}\n\n// parse parses the given string and returns a map listing the values specified for each key.\nfunc parse(s string) map[string][]string {\n\tm := make(map[string][]string)\n\tfor s != \"\" {\n\t\tkey := s\n\t\tif i := strings.IndexAny(key, \",\"); i >= 0 {\n\t\t\tkey, s = key[:i], key[i+1:]\n\t\t} else {\n\t\t\ts = \"\"\n\t\t}\n\t\tif key == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tvalue := \"\"\n\t\tif i := strings.Index(key, \"=\"); i >= 0 {\n\t\t\tkey, value = key[:i], key[i+1:]\n\t\t}\n\t\tm[key] = append(m[key], value)\n\t}\n\treturn m\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/doc.go",
    "content": "// Copyright 2015 The etcd Authors\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/*\nPackage raft sends and receives messages in the Protocol Buffer format\ndefined in the raftpb package.\n\nRaft is a protocol with which a cluster of nodes can maintain a replicated state machine.\nThe state machine is kept in sync through the use of a replicated log.\nFor more details on Raft, see \"In Search of an Understandable Consensus Algorithm\"\n(https://ramcloud.stanford.edu/raft.pdf) by Diego Ongaro and John Ousterhout.\n\nA simple example application, _raftexample_, is also available to help illustrate\nhow to use this package in practice:\nhttps://github.com/coreos/etcd/tree/master/contrib/raftexample\n\nUsage\n\nThe primary object in raft is a Node. You either start a Node from scratch\nusing raft.StartNode or start a Node from some initial state using raft.RestartNode.\n\nTo start a node from scratch:\n\n  storage := raft.NewMemoryStorage()\n  c := &Config{\n    ID:              0x01,\n    ElectionTick:    10,\n    HeartbeatTick:   1,\n    Storage:         storage,\n    MaxSizePerMsg:   4096,\n    MaxInflightMsgs: 256,\n  }\n  n := raft.StartNode(c, []raft.Peer{{ID: 0x02}, {ID: 0x03}})\n\nTo restart a node from previous state:\n\n  storage := raft.NewMemoryStorage()\n\n  // recover the in-memory storage from persistent\n  // snapshot, state and entries.\n  storage.ApplySnapshot(snapshot)\n  storage.SetHardState(state)\n  storage.Append(entries)\n\n  c := &Config{\n    ID:              0x01,\n    ElectionTick:    10,\n    HeartbeatTick:   1,\n    Storage:         storage,\n    MaxSizePerMsg:   4096,\n    MaxInflightMsgs: 256,\n  }\n\n  // restart raft without peer information.\n  // peer information is already included in the storage.\n  n := raft.RestartNode(c)\n\nNow that you are holding onto a Node you have a few responsibilities:\n\nFirst, you must read from the Node.Ready() channel and process the updates\nit contains. These steps may be performed in parallel, except as noted in step\n2.\n\n1. Write HardState, Entries, and Snapshot to persistent storage if they are\nnot empty. Note that when writing an Entry with Index i, any\npreviously-persisted entries with Index >= i must be discarded.\n\n2. Send all Messages to the nodes named in the To field. It is important that\nno messages be sent until the latest HardState has been persisted to disk,\nand all Entries written by any previous Ready batch (Messages may be sent while\nentries from the same batch are being persisted). To reduce the I/O latency, an\noptimization can be applied to make leader write to disk in parallel with its\nfollowers (as explained at section 10.2.1 in Raft thesis). If any Message has type\nMsgSnap, call Node.ReportSnapshot() after it has been sent (these messages may be\nlarge).\n\nNote: Marshalling messages is not thread-safe; it is important that you\nmake sure that no new entries are persisted while marshalling.\nThe easiest way to achieve this is to serialise the messages directly inside\nyour main raft loop.\n\n3. Apply Snapshot (if any) and CommittedEntries to the state machine.\nIf any committed Entry has Type EntryConfChange, call Node.ApplyConfChange()\nto apply it to the node. The configuration change may be cancelled at this point\nby setting the NodeID field to zero before calling ApplyConfChange\n(but ApplyConfChange must be called one way or the other, and the decision to cancel\nmust be based solely on the state machine and not external information such as\nthe observed health of the node).\n\n4. Call Node.Advance() to signal readiness for the next batch of updates.\nThis may be done at any time after step 1, although all updates must be processed\nin the order they were returned by Ready.\n\nSecond, all persisted log entries must be made available via an\nimplementation of the Storage interface. The provided MemoryStorage\ntype can be used for this (if you repopulate its state upon a\nrestart), or you can supply your own disk-backed implementation.\n\nThird, when you receive a message from another node, pass it to Node.Step:\n\n\tfunc recvRaftRPC(ctx context.Context, m raftpb.Message) {\n\t\tn.Step(ctx, m)\n\t}\n\nFinally, you need to call Node.Tick() at regular intervals (probably\nvia a time.Ticker). Raft has two important timeouts: heartbeat and the\nelection timeout. However, internally to the raft package time is\nrepresented by an abstract \"tick\".\n\nThe total state machine handling loop will look something like this:\n\n  for {\n    select {\n    case <-s.Ticker:\n      n.Tick()\n    case rd := <-s.Node.Ready():\n      saveToStorage(rd.State, rd.Entries, rd.Snapshot)\n      send(rd.Messages)\n      if !raft.IsEmptySnap(rd.Snapshot) {\n        processSnapshot(rd.Snapshot)\n      }\n      for _, entry := range rd.CommittedEntries {\n        process(entry)\n        if entry.Type == raftpb.EntryConfChange {\n          var cc raftpb.ConfChange\n          cc.Unmarshal(entry.Data)\n          s.Node.ApplyConfChange(cc)\n        }\n      }\n      s.Node.Advance()\n    case <-s.done:\n      return\n    }\n  }\n\nTo propose changes to the state machine from your node take your application\ndata, serialize it into a byte slice and call:\n\n\tn.Propose(ctx, data)\n\nIf the proposal is committed, data will appear in committed entries with type\nraftpb.EntryNormal. There is no guarantee that a proposed command will be\ncommitted; you may have to re-propose after a timeout.\n\nTo add or remove node in a cluster, build ConfChange struct 'cc' and call:\n\n\tn.ProposeConfChange(ctx, cc)\n\nAfter config change is committed, some committed entry with type\nraftpb.EntryConfChange will be returned. You must apply it to node through:\n\n\tvar cc raftpb.ConfChange\n\tcc.Unmarshal(data)\n\tn.ApplyConfChange(cc)\n\nNote: An ID represents a unique node in a cluster for all time. A\ngiven ID MUST be used only once even if the old node has been removed.\nThis means that for example IP addresses make poor node IDs since they\nmay be reused. Node IDs must be non-zero.\n\nImplementation notes\n\nThis implementation is up to date with the final Raft thesis\n(https://ramcloud.stanford.edu/~ongaro/thesis.pdf), although our\nimplementation of the membership change protocol differs somewhat from\nthat described in chapter 4. The key invariant that membership changes\nhappen one node at a time is preserved, but in our implementation the\nmembership change takes effect when its entry is applied, not when it\nis added to the log (so the entry is committed under the old\nmembership instead of the new). This is equivalent in terms of safety,\nsince the old and new configurations are guaranteed to overlap.\n\nTo ensure that we do not attempt to commit two membership changes at\nonce by matching log positions (which would be unsafe since they\nshould have different quorum requirements), we simply disallow any\nproposed membership change while any uncommitted change appears in\nthe leader's log.\n\nThis approach introduces a problem when you try to remove a member\nfrom a two-member cluster: If one of the members dies before the\nother one receives the commit of the confchange entry, then the member\ncannot be removed any more since the cluster cannot make progress.\nFor this reason it is highly recommended to use three or more nodes in\nevery cluster.\n\nMessageType\n\nPackage raft sends and receives message in Protocol Buffer format (defined\nin raftpb package). Each state (follower, candidate, leader) implements its\nown 'step' method ('stepFollower', 'stepCandidate', 'stepLeader') when\nadvancing with the given raftpb.Message. Each step is determined by its\nraftpb.MessageType. Note that every step is checked by one common method\n'Step' that safety-checks the terms of node and incoming message to prevent\nstale log entries:\n\n\t'MsgHup' is used for election. If a node is a follower or candidate, the\n\t'tick' function in 'raft' struct is set as 'tickElection'. If a follower or\n\tcandidate has not received any heartbeat before the election timeout, it\n\tpasses 'MsgHup' to its Step method and becomes (or remains) a candidate to\n\tstart a new election.\n\n\t'MsgBeat' is an internal type that signals the leader to send a heartbeat of\n\tthe 'MsgHeartbeat' type. If a node is a leader, the 'tick' function in\n\tthe 'raft' struct is set as 'tickHeartbeat', and triggers the leader to\n\tsend periodic 'MsgHeartbeat' messages to its followers.\n\n\t'MsgProp' proposes to append data to its log entries. This is a special\n\ttype to redirect proposals to leader. Therefore, send method overwrites\n\traftpb.Message's term with its HardState's term to avoid attaching its\n\tlocal term to 'MsgProp'. When 'MsgProp' is passed to the leader's 'Step'\n\tmethod, the leader first calls the 'appendEntry' method to append entries\n\tto its log, and then calls 'bcastAppend' method to send those entries to\n\tits peers. When passed to candidate, 'MsgProp' is dropped. When passed to\n\tfollower, 'MsgProp' is stored in follower's mailbox(msgs) by the send\n\tmethod. It is stored with sender's ID and later forwarded to leader by\n\trafthttp package.\n\n\t'MsgApp' contains log entries to replicate. A leader calls bcastAppend,\n\twhich calls sendAppend, which sends soon-to-be-replicated logs in 'MsgApp'\n\ttype. When 'MsgApp' is passed to candidate's Step method, candidate reverts\n\tback to follower, because it indicates that there is a valid leader sending\n\t'MsgApp' messages. Candidate and follower respond to this message in\n\t'MsgAppResp' type.\n\n\t'MsgAppResp' is response to log replication request('MsgApp'). When\n\t'MsgApp' is passed to candidate or follower's Step method, it responds by\n\tcalling 'handleAppendEntries' method, which sends 'MsgAppResp' to raft\n\tmailbox.\n\n\t'MsgVote' requests votes for election. When a node is a follower or\n\tcandidate and 'MsgHup' is passed to its Step method, then the node calls\n\t'campaign' method to campaign itself to become a leader. Once 'campaign'\n\tmethod is called, the node becomes candidate and sends 'MsgVote' to peers\n\tin cluster to request votes. When passed to leader or candidate's Step\n\tmethod and the message's Term is lower than leader's or candidate's,\n\t'MsgVote' will be rejected ('MsgVoteResp' is returned with Reject true).\n\tIf leader or candidate receives 'MsgVote' with higher term, it will revert\n\tback to follower. When 'MsgVote' is passed to follower, it votes for the\n\tsender only when sender's last term is greater than MsgVote's term or\n\tsender's last term is equal to MsgVote's term but sender's last committed\n\tindex is greater than or equal to follower's.\n\n\t'MsgVoteResp' contains responses from voting request. When 'MsgVoteResp' is\n\tpassed to candidate, the candidate calculates how many votes it has won. If\n\tit's more than majority (quorum), it becomes leader and calls 'bcastAppend'.\n\tIf candidate receives majority of votes of denials, it reverts back to\n\tfollower.\n\n\t'MsgPreVote' and 'MsgPreVoteResp' are used in an optional two-phase election\n\tprotocol. When Config.PreVote is true, a pre-election is carried out first\n\t(using the same rules as a regular election), and no node increases its term\n\tnumber unless the pre-election indicates that the campaigining node would win.\n\tThis minimizes disruption when a partitioned node rejoins the cluster.\n\n\t'MsgSnap' requests to install a snapshot message. When a node has just\n\tbecome a leader or the leader receives 'MsgProp' message, it calls\n\t'bcastAppend' method, which then calls 'sendAppend' method to each\n\tfollower. In 'sendAppend', if a leader fails to get term or entries,\n\tthe leader requests snapshot by sending 'MsgSnap' type message.\n\n\t'MsgSnapStatus' tells the result of snapshot install message. When a\n\tfollower rejected 'MsgSnap', it indicates the snapshot request with\n\t'MsgSnap' had failed from network issues which causes the network layer\n\tto fail to send out snapshots to its followers. Then leader considers\n\tfollower's progress as probe. When 'MsgSnap' were not rejected, it\n\tindicates that the snapshot succeeded and the leader sets follower's\n\tprogress to probe and resumes its log replication.\n\n\t'MsgHeartbeat' sends heartbeat from leader. When 'MsgHeartbeat' is passed\n\tto candidate and message's term is higher than candidate's, the candidate\n\treverts back to follower and updates its committed index from the one in\n\tthis heartbeat. And it sends the message to its mailbox. When\n\t'MsgHeartbeat' is passed to follower's Step method and message's term is\n\thigher than follower's, the follower updates its leaderID with the ID\n\tfrom the message.\n\n\t'MsgHeartbeatResp' is a response to 'MsgHeartbeat'. When 'MsgHeartbeatResp'\n\tis passed to leader's Step method, the leader knows which follower\n\tresponded. And only when the leader's last committed index is greater than\n\tfollower's Match index, the leader runs 'sendAppend` method.\n\n\t'MsgUnreachable' tells that request(message) wasn't delivered. When\n\t'MsgUnreachable' is passed to leader's Step method, the leader discovers\n\tthat the follower that sent this 'MsgUnreachable' is not reachable, often\n\tindicating 'MsgApp' is lost. When follower's progress state is replicate,\n\tthe leader sets it back to probe.\n\n*/\npackage raft\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/log.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage raft\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\n\tpb \"github.com/coreos/etcd/raft/raftpb\"\n)\n\ntype raftLog struct {\n\t// storage contains all stable entries since the last snapshot.\n\tstorage Storage\n\n\t// unstable contains all unstable entries and snapshot.\n\t// they will be saved into storage.\n\tunstable unstable\n\n\t// committed is the highest log position that is known to be in\n\t// stable storage on a quorum of nodes.\n\tcommitted uint64\n\t// applied is the highest log position that the application has\n\t// been instructed to apply to its state machine.\n\t// Invariant: applied <= committed\n\tapplied uint64\n\n\tlogger Logger\n}\n\n// newLog returns log using the given storage. It recovers the log to the state\n// that it just commits and applies the latest snapshot.\nfunc newLog(storage Storage, logger Logger) *raftLog {\n\tif storage == nil {\n\t\tlog.Panic(\"storage must not be nil\")\n\t}\n\tlog := &raftLog{\n\t\tstorage: storage,\n\t\tlogger:  logger,\n\t}\n\tfirstIndex, err := storage.FirstIndex()\n\tif err != nil {\n\t\tpanic(err) // TODO(bdarnell)\n\t}\n\tlastIndex, err := storage.LastIndex()\n\tif err != nil {\n\t\tpanic(err) // TODO(bdarnell)\n\t}\n\tlog.unstable.offset = lastIndex + 1\n\tlog.unstable.logger = logger\n\t// Initialize our committed and applied pointers to the time of the last compaction.\n\tlog.committed = firstIndex - 1\n\tlog.applied = firstIndex - 1\n\n\treturn log\n}\n\nfunc (l *raftLog) String() string {\n\treturn fmt.Sprintf(\"committed=%d, applied=%d, unstable.offset=%d, len(unstable.Entries)=%d\", l.committed, l.applied, l.unstable.offset, len(l.unstable.entries))\n}\n\n// maybeAppend returns (0, false) if the entries cannot be appended. Otherwise,\n// it returns (last index of new entries, true).\nfunc (l *raftLog) maybeAppend(index, logTerm, committed uint64, ents ...pb.Entry) (lastnewi uint64, ok bool) {\n\tif l.matchTerm(index, logTerm) {\n\t\tlastnewi = index + uint64(len(ents))\n\t\tci := l.findConflict(ents)\n\t\tswitch {\n\t\tcase ci == 0:\n\t\tcase ci <= l.committed:\n\t\t\tl.logger.Panicf(\"entry %d conflict with committed entry [committed(%d)]\", ci, l.committed)\n\t\tdefault:\n\t\t\toffset := index + 1\n\t\t\tl.append(ents[ci-offset:]...)\n\t\t}\n\t\tl.commitTo(min(committed, lastnewi))\n\t\treturn lastnewi, true\n\t}\n\treturn 0, false\n}\n\nfunc (l *raftLog) append(ents ...pb.Entry) uint64 {\n\tif len(ents) == 0 {\n\t\treturn l.lastIndex()\n\t}\n\tif after := ents[0].Index - 1; after < l.committed {\n\t\tl.logger.Panicf(\"after(%d) is out of range [committed(%d)]\", after, l.committed)\n\t}\n\tl.unstable.truncateAndAppend(ents)\n\treturn l.lastIndex()\n}\n\n// findConflict finds the index of the conflict.\n// It returns the first pair of conflicting entries between the existing\n// entries and the given entries, if there are any.\n// If there is no conflicting entries, and the existing entries contains\n// all the given entries, zero will be returned.\n// If there is no conflicting entries, but the given entries contains new\n// entries, the index of the first new entry will be returned.\n// An entry is considered to be conflicting if it has the same index but\n// a different term.\n// The first entry MUST have an index equal to the argument 'from'.\n// The index of the given entries MUST be continuously increasing.\nfunc (l *raftLog) findConflict(ents []pb.Entry) uint64 {\n\tfor _, ne := range ents {\n\t\tif !l.matchTerm(ne.Index, ne.Term) {\n\t\t\tif ne.Index <= l.lastIndex() {\n\t\t\t\tl.logger.Infof(\"found conflict at index %d [existing term: %d, conflicting term: %d]\",\n\t\t\t\t\tne.Index, l.zeroTermOnErrCompacted(l.term(ne.Index)), ne.Term)\n\t\t\t}\n\t\t\treturn ne.Index\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc (l *raftLog) unstableEntries() []pb.Entry {\n\tif len(l.unstable.entries) == 0 {\n\t\treturn nil\n\t}\n\treturn l.unstable.entries\n}\n\n// nextEnts returns all the available entries for execution.\n// If applied is smaller than the index of snapshot, it returns all committed\n// entries after the index of snapshot.\nfunc (l *raftLog) nextEnts() (ents []pb.Entry) {\n\toff := max(l.applied+1, l.firstIndex())\n\tif l.committed+1 > off {\n\t\tents, err := l.slice(off, l.committed+1, noLimit)\n\t\tif err != nil {\n\t\t\tl.logger.Panicf(\"unexpected error when getting unapplied entries (%v)\", err)\n\t\t}\n\t\treturn ents\n\t}\n\treturn nil\n}\n\n// hasNextEnts returns if there is any available entries for execution. This\n// is a fast check without heavy raftLog.slice() in raftLog.nextEnts().\nfunc (l *raftLog) hasNextEnts() bool {\n\toff := max(l.applied+1, l.firstIndex())\n\treturn l.committed+1 > off\n}\n\nfunc (l *raftLog) snapshot() (pb.Snapshot, error) {\n\tif l.unstable.snapshot != nil {\n\t\treturn *l.unstable.snapshot, nil\n\t}\n\treturn l.storage.Snapshot()\n}\n\nfunc (l *raftLog) firstIndex() uint64 {\n\tif i, ok := l.unstable.maybeFirstIndex(); ok {\n\t\treturn i\n\t}\n\tindex, err := l.storage.FirstIndex()\n\tif err != nil {\n\t\tpanic(err) // TODO(bdarnell)\n\t}\n\treturn index\n}\n\nfunc (l *raftLog) lastIndex() uint64 {\n\tif i, ok := l.unstable.maybeLastIndex(); ok {\n\t\treturn i\n\t}\n\ti, err := l.storage.LastIndex()\n\tif err != nil {\n\t\tpanic(err) // TODO(bdarnell)\n\t}\n\treturn i\n}\n\nfunc (l *raftLog) commitTo(tocommit uint64) {\n\t// never decrease commit\n\tif l.committed < tocommit {\n\t\tif l.lastIndex() < tocommit {\n\t\t\tl.logger.Panicf(\"tocommit(%d) is out of range [lastIndex(%d)]. Was the raft log corrupted, truncated, or lost?\", tocommit, l.lastIndex())\n\t\t}\n\t\tl.committed = tocommit\n\t}\n}\n\nfunc (l *raftLog) appliedTo(i uint64) {\n\tif i == 0 {\n\t\treturn\n\t}\n\tif l.committed < i || i < l.applied {\n\t\tl.logger.Panicf(\"applied(%d) is out of range [prevApplied(%d), committed(%d)]\", i, l.applied, l.committed)\n\t}\n\tl.applied = i\n}\n\nfunc (l *raftLog) stableTo(i, t uint64) { l.unstable.stableTo(i, t) }\n\nfunc (l *raftLog) stableSnapTo(i uint64) { l.unstable.stableSnapTo(i) }\n\nfunc (l *raftLog) lastTerm() uint64 {\n\tt, err := l.term(l.lastIndex())\n\tif err != nil {\n\t\tl.logger.Panicf(\"unexpected error when getting the last term (%v)\", err)\n\t}\n\treturn t\n}\n\nfunc (l *raftLog) term(i uint64) (uint64, error) {\n\t// the valid term range is [index of dummy entry, last index]\n\tdummyIndex := l.firstIndex() - 1\n\tif i < dummyIndex || i > l.lastIndex() {\n\t\t// TODO: return an error instead?\n\t\treturn 0, nil\n\t}\n\n\tif t, ok := l.unstable.maybeTerm(i); ok {\n\t\treturn t, nil\n\t}\n\n\tt, err := l.storage.Term(i)\n\tif err == nil {\n\t\treturn t, nil\n\t}\n\tif err == ErrCompacted || err == ErrUnavailable {\n\t\treturn 0, err\n\t}\n\tpanic(err) // TODO(bdarnell)\n}\n\nfunc (l *raftLog) entries(i, maxsize uint64) ([]pb.Entry, error) {\n\tif i > l.lastIndex() {\n\t\treturn nil, nil\n\t}\n\treturn l.slice(i, l.lastIndex()+1, maxsize)\n}\n\n// allEntries returns all entries in the log.\nfunc (l *raftLog) allEntries() []pb.Entry {\n\tents, err := l.entries(l.firstIndex(), noLimit)\n\tif err == nil {\n\t\treturn ents\n\t}\n\tif err == ErrCompacted { // try again if there was a racing compaction\n\t\treturn l.allEntries()\n\t}\n\t// TODO (xiangli): handle error?\n\tpanic(err)\n}\n\n// isUpToDate determines if the given (lastIndex,term) log is more up-to-date\n// by comparing the index and term of the last entries in the existing logs.\n// If the logs have last entries with different terms, then the log with the\n// later term is more up-to-date. If the logs end with the same term, then\n// whichever log has the larger lastIndex is more up-to-date. If the logs are\n// the same, the given log is up-to-date.\nfunc (l *raftLog) isUpToDate(lasti, term uint64) bool {\n\treturn term > l.lastTerm() || (term == l.lastTerm() && lasti >= l.lastIndex())\n}\n\nfunc (l *raftLog) matchTerm(i, term uint64) bool {\n\tt, err := l.term(i)\n\tif err != nil {\n\t\treturn false\n\t}\n\treturn t == term\n}\n\nfunc (l *raftLog) maybeCommit(maxIndex, term uint64) bool {\n\tif maxIndex > l.committed && l.zeroTermOnErrCompacted(l.term(maxIndex)) == term {\n\t\tl.commitTo(maxIndex)\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc (l *raftLog) restore(s pb.Snapshot) {\n\tl.logger.Infof(\"log [%s] starts to restore snapshot [index: %d, term: %d]\", l, s.Metadata.Index, s.Metadata.Term)\n\tl.committed = s.Metadata.Index\n\tl.unstable.restore(s)\n}\n\n// slice returns a slice of log entries from lo through hi-1, inclusive.\nfunc (l *raftLog) slice(lo, hi, maxSize uint64) ([]pb.Entry, error) {\n\terr := l.mustCheckOutOfBounds(lo, hi)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif lo == hi {\n\t\treturn nil, nil\n\t}\n\tvar ents []pb.Entry\n\tif lo < l.unstable.offset {\n\t\tstoredEnts, err := l.storage.Entries(lo, min(hi, l.unstable.offset), maxSize)\n\t\tif err == ErrCompacted {\n\t\t\treturn nil, err\n\t\t} else if err == ErrUnavailable {\n\t\t\tl.logger.Panicf(\"entries[%d:%d) is unavailable from storage\", lo, min(hi, l.unstable.offset))\n\t\t} else if err != nil {\n\t\t\tpanic(err) // TODO(bdarnell)\n\t\t}\n\n\t\t// check if ents has reached the size limitation\n\t\tif uint64(len(storedEnts)) < min(hi, l.unstable.offset)-lo {\n\t\t\treturn storedEnts, nil\n\t\t}\n\n\t\tents = storedEnts\n\t}\n\tif hi > l.unstable.offset {\n\t\tunstable := l.unstable.slice(max(lo, l.unstable.offset), hi)\n\t\tif len(ents) > 0 {\n\t\t\tents = append([]pb.Entry{}, ents...)\n\t\t\tents = append(ents, unstable...)\n\t\t} else {\n\t\t\tents = unstable\n\t\t}\n\t}\n\treturn limitSize(ents, maxSize), nil\n}\n\n// l.firstIndex <= lo <= hi <= l.firstIndex + len(l.entries)\nfunc (l *raftLog) mustCheckOutOfBounds(lo, hi uint64) error {\n\tif lo > hi {\n\t\tl.logger.Panicf(\"invalid slice %d > %d\", lo, hi)\n\t}\n\tfi := l.firstIndex()\n\tif lo < fi {\n\t\treturn ErrCompacted\n\t}\n\n\tlength := l.lastIndex() + 1 - fi\n\tif lo < fi || hi > fi+length {\n\t\tl.logger.Panicf(\"slice[%d,%d) out of bound [%d,%d]\", lo, hi, fi, l.lastIndex())\n\t}\n\treturn nil\n}\n\nfunc (l *raftLog) zeroTermOnErrCompacted(t uint64, err error) uint64 {\n\tif err == nil {\n\t\treturn t\n\t}\n\tif err == ErrCompacted {\n\t\treturn 0\n\t}\n\tl.logger.Panicf(\"unexpected error (%v)\", err)\n\treturn 0\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/log_unstable.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage raft\n\nimport pb \"github.com/coreos/etcd/raft/raftpb\"\n\n// unstable.entries[i] has raft log position i+unstable.offset.\n// Note that unstable.offset may be less than the highest log\n// position in storage; this means that the next write to storage\n// might need to truncate the log before persisting unstable.entries.\ntype unstable struct {\n\t// the incoming unstable snapshot, if any.\n\tsnapshot *pb.Snapshot\n\t// all entries that have not yet been written to storage.\n\tentries []pb.Entry\n\toffset  uint64\n\n\tlogger Logger\n}\n\n// maybeFirstIndex returns the index of the first possible entry in entries\n// if it has a snapshot.\nfunc (u *unstable) maybeFirstIndex() (uint64, bool) {\n\tif u.snapshot != nil {\n\t\treturn u.snapshot.Metadata.Index + 1, true\n\t}\n\treturn 0, false\n}\n\n// maybeLastIndex returns the last index if it has at least one\n// unstable entry or snapshot.\nfunc (u *unstable) maybeLastIndex() (uint64, bool) {\n\tif l := len(u.entries); l != 0 {\n\t\treturn u.offset + uint64(l) - 1, true\n\t}\n\tif u.snapshot != nil {\n\t\treturn u.snapshot.Metadata.Index, true\n\t}\n\treturn 0, false\n}\n\n// maybeTerm returns the term of the entry at index i, if there\n// is any.\nfunc (u *unstable) maybeTerm(i uint64) (uint64, bool) {\n\tif i < u.offset {\n\t\tif u.snapshot == nil {\n\t\t\treturn 0, false\n\t\t}\n\t\tif u.snapshot.Metadata.Index == i {\n\t\t\treturn u.snapshot.Metadata.Term, true\n\t\t}\n\t\treturn 0, false\n\t}\n\n\tlast, ok := u.maybeLastIndex()\n\tif !ok {\n\t\treturn 0, false\n\t}\n\tif i > last {\n\t\treturn 0, false\n\t}\n\treturn u.entries[i-u.offset].Term, true\n}\n\nfunc (u *unstable) stableTo(i, t uint64) {\n\tgt, ok := u.maybeTerm(i)\n\tif !ok {\n\t\treturn\n\t}\n\t// if i < offset, term is matched with the snapshot\n\t// only update the unstable entries if term is matched with\n\t// an unstable entry.\n\tif gt == t && i >= u.offset {\n\t\tu.entries = u.entries[i+1-u.offset:]\n\t\tu.offset = i + 1\n\t\tu.shrinkEntriesArray()\n\t}\n}\n\n// shrinkEntriesArray discards the underlying array used by the entries slice\n// if most of it isn't being used. This avoids holding references to a bunch of\n// potentially large entries that aren't needed anymore. Simply clearing the\n// entries wouldn't be safe because clients might still be using them.\nfunc (u *unstable) shrinkEntriesArray() {\n\t// We replace the array if we're using less than half of the space in\n\t// it. This number is fairly arbitrary, chosen as an attempt to balance\n\t// memory usage vs number of allocations. It could probably be improved\n\t// with some focused tuning.\n\tconst lenMultiple = 2\n\tif len(u.entries) == 0 {\n\t\tu.entries = nil\n\t} else if len(u.entries)*lenMultiple < cap(u.entries) {\n\t\tnewEntries := make([]pb.Entry, len(u.entries))\n\t\tcopy(newEntries, u.entries)\n\t\tu.entries = newEntries\n\t}\n}\n\nfunc (u *unstable) stableSnapTo(i uint64) {\n\tif u.snapshot != nil && u.snapshot.Metadata.Index == i {\n\t\tu.snapshot = nil\n\t}\n}\n\nfunc (u *unstable) restore(s pb.Snapshot) {\n\tu.offset = s.Metadata.Index + 1\n\tu.entries = nil\n\tu.snapshot = &s\n}\n\nfunc (u *unstable) truncateAndAppend(ents []pb.Entry) {\n\tafter := ents[0].Index\n\tswitch {\n\tcase after == u.offset+uint64(len(u.entries)):\n\t\t// after is the next index in the u.entries\n\t\t// directly append\n\t\tu.entries = append(u.entries, ents...)\n\tcase after <= u.offset:\n\t\tu.logger.Infof(\"replace the unstable entries from index %d\", after)\n\t\t// The log is being truncated to before our current offset\n\t\t// portion, so set the offset and replace the entries\n\t\tu.offset = after\n\t\tu.entries = ents\n\tdefault:\n\t\t// truncate to after and copy to u.entries\n\t\t// then append\n\t\tu.logger.Infof(\"truncate the unstable entries before index %d\", after)\n\t\tu.entries = append([]pb.Entry{}, u.slice(u.offset, after)...)\n\t\tu.entries = append(u.entries, ents...)\n\t}\n}\n\nfunc (u *unstable) slice(lo uint64, hi uint64) []pb.Entry {\n\tu.mustCheckOutOfBounds(lo, hi)\n\treturn u.entries[lo-u.offset : hi-u.offset]\n}\n\n// u.offset <= lo <= hi <= u.offset+len(u.entries)\nfunc (u *unstable) mustCheckOutOfBounds(lo, hi uint64) {\n\tif lo > hi {\n\t\tu.logger.Panicf(\"invalid unstable.slice %d > %d\", lo, hi)\n\t}\n\tupper := u.offset + uint64(len(u.entries))\n\tif lo < u.offset || hi > upper {\n\t\tu.logger.Panicf(\"unstable.slice[%d,%d) out of bound [%d,%d]\", lo, hi, u.offset, upper)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/logger.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage raft\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n)\n\ntype Logger interface {\n\tDebug(v ...interface{})\n\tDebugf(format string, v ...interface{})\n\n\tError(v ...interface{})\n\tErrorf(format string, v ...interface{})\n\n\tInfo(v ...interface{})\n\tInfof(format string, v ...interface{})\n\n\tWarning(v ...interface{})\n\tWarningf(format string, v ...interface{})\n\n\tFatal(v ...interface{})\n\tFatalf(format string, v ...interface{})\n\n\tPanic(v ...interface{})\n\tPanicf(format string, v ...interface{})\n}\n\nfunc SetLogger(l Logger) { raftLogger = l }\n\nvar (\n\tdefaultLogger = &DefaultLogger{Logger: log.New(os.Stderr, \"raft\", log.LstdFlags)}\n\tdiscardLogger = &DefaultLogger{Logger: log.New(ioutil.Discard, \"\", 0)}\n\traftLogger    = Logger(defaultLogger)\n)\n\nconst (\n\tcalldepth = 2\n)\n\n// DefaultLogger is a default implementation of the Logger interface.\ntype DefaultLogger struct {\n\t*log.Logger\n\tdebug bool\n}\n\nfunc (l *DefaultLogger) EnableTimestamps() {\n\tl.SetFlags(l.Flags() | log.Ldate | log.Ltime)\n}\n\nfunc (l *DefaultLogger) EnableDebug() {\n\tl.debug = true\n}\n\nfunc (l *DefaultLogger) Debug(v ...interface{}) {\n\tif l.debug {\n\t\tl.Output(calldepth, header(\"DEBUG\", fmt.Sprint(v...)))\n\t}\n}\n\nfunc (l *DefaultLogger) Debugf(format string, v ...interface{}) {\n\tif l.debug {\n\t\tl.Output(calldepth, header(\"DEBUG\", fmt.Sprintf(format, v...)))\n\t}\n}\n\nfunc (l *DefaultLogger) Info(v ...interface{}) {\n\tl.Output(calldepth, header(\"INFO\", fmt.Sprint(v...)))\n}\n\nfunc (l *DefaultLogger) Infof(format string, v ...interface{}) {\n\tl.Output(calldepth, header(\"INFO\", fmt.Sprintf(format, v...)))\n}\n\nfunc (l *DefaultLogger) Error(v ...interface{}) {\n\tl.Output(calldepth, header(\"ERROR\", fmt.Sprint(v...)))\n}\n\nfunc (l *DefaultLogger) Errorf(format string, v ...interface{}) {\n\tl.Output(calldepth, header(\"ERROR\", fmt.Sprintf(format, v...)))\n}\n\nfunc (l *DefaultLogger) Warning(v ...interface{}) {\n\tl.Output(calldepth, header(\"WARN\", fmt.Sprint(v...)))\n}\n\nfunc (l *DefaultLogger) Warningf(format string, v ...interface{}) {\n\tl.Output(calldepth, header(\"WARN\", fmt.Sprintf(format, v...)))\n}\n\nfunc (l *DefaultLogger) Fatal(v ...interface{}) {\n\tl.Output(calldepth, header(\"FATAL\", fmt.Sprint(v...)))\n\tos.Exit(1)\n}\n\nfunc (l *DefaultLogger) Fatalf(format string, v ...interface{}) {\n\tl.Output(calldepth, header(\"FATAL\", fmt.Sprintf(format, v...)))\n\tos.Exit(1)\n}\n\nfunc (l *DefaultLogger) Panic(v ...interface{}) {\n\tl.Logger.Panic(v...)\n}\n\nfunc (l *DefaultLogger) Panicf(format string, v ...interface{}) {\n\tl.Logger.Panicf(format, v...)\n}\n\nfunc header(lvl, msg string) string {\n\treturn fmt.Sprintf(\"%s: %s\", lvl, msg)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/node.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage raft\n\nimport (\n\t\"context\"\n\t\"errors\"\n\n\tpb \"github.com/coreos/etcd/raft/raftpb\"\n)\n\ntype SnapshotStatus int\n\nconst (\n\tSnapshotFinish  SnapshotStatus = 1\n\tSnapshotFailure SnapshotStatus = 2\n)\n\nvar (\n\temptyState = pb.HardState{}\n\n\t// ErrStopped is returned by methods on Nodes that have been stopped.\n\tErrStopped = errors.New(\"raft: stopped\")\n)\n\n// SoftState provides state that is useful for logging and debugging.\n// The state is volatile and does not need to be persisted to the WAL.\ntype SoftState struct {\n\tLead      uint64 // must use atomic operations to access; keep 64-bit aligned.\n\tRaftState StateType\n}\n\nfunc (a *SoftState) equal(b *SoftState) bool {\n\treturn a.Lead == b.Lead && a.RaftState == b.RaftState\n}\n\n// Ready encapsulates the entries and messages that are ready to read,\n// be saved to stable storage, committed or sent to other peers.\n// All fields in Ready are read-only.\ntype Ready struct {\n\t// The current volatile state of a Node.\n\t// SoftState will be nil if there is no update.\n\t// It is not required to consume or store SoftState.\n\t*SoftState\n\n\t// The current state of a Node to be saved to stable storage BEFORE\n\t// Messages are sent.\n\t// HardState will be equal to empty state if there is no update.\n\tpb.HardState\n\n\t// ReadStates can be used for node to serve linearizable read requests locally\n\t// when its applied index is greater than the index in ReadState.\n\t// Note that the readState will be returned when raft receives msgReadIndex.\n\t// The returned is only valid for the request that requested to read.\n\tReadStates []ReadState\n\n\t// Entries specifies entries to be saved to stable storage BEFORE\n\t// Messages are sent.\n\tEntries []pb.Entry\n\n\t// Snapshot specifies the snapshot to be saved to stable storage.\n\tSnapshot pb.Snapshot\n\n\t// CommittedEntries specifies entries to be committed to a\n\t// store/state-machine. These have previously been committed to stable\n\t// store.\n\tCommittedEntries []pb.Entry\n\n\t// Messages specifies outbound messages to be sent AFTER Entries are\n\t// committed to stable storage.\n\t// If it contains a MsgSnap message, the application MUST report back to raft\n\t// when the snapshot has been received or has failed by calling ReportSnapshot.\n\tMessages []pb.Message\n\n\t// MustSync indicates whether the HardState and Entries must be synchronously\n\t// written to disk or if an asynchronous write is permissible.\n\tMustSync bool\n}\n\nfunc isHardStateEqual(a, b pb.HardState) bool {\n\treturn a.Term == b.Term && a.Vote == b.Vote && a.Commit == b.Commit\n}\n\n// IsEmptyHardState returns true if the given HardState is empty.\nfunc IsEmptyHardState(st pb.HardState) bool {\n\treturn isHardStateEqual(st, emptyState)\n}\n\n// IsEmptySnap returns true if the given Snapshot is empty.\nfunc IsEmptySnap(sp pb.Snapshot) bool {\n\treturn sp.Metadata.Index == 0\n}\n\nfunc (rd Ready) containsUpdates() bool {\n\treturn rd.SoftState != nil || !IsEmptyHardState(rd.HardState) ||\n\t\t!IsEmptySnap(rd.Snapshot) || len(rd.Entries) > 0 ||\n\t\tlen(rd.CommittedEntries) > 0 || len(rd.Messages) > 0 || len(rd.ReadStates) != 0\n}\n\n// Node represents a node in a raft cluster.\ntype Node interface {\n\t// Tick increments the internal logical clock for the Node by a single tick. Election\n\t// timeouts and heartbeat timeouts are in units of ticks.\n\tTick()\n\t// Campaign causes the Node to transition to candidate state and start campaigning to become leader.\n\tCampaign(ctx context.Context) error\n\t// Propose proposes that data be appended to the log.\n\tPropose(ctx context.Context, data []byte) error\n\t// ProposeConfChange proposes config change.\n\t// At most one ConfChange can be in the process of going through consensus.\n\t// Application needs to call ApplyConfChange when applying EntryConfChange type entry.\n\tProposeConfChange(ctx context.Context, cc pb.ConfChange) error\n\t// Step advances the state machine using the given message. ctx.Err() will be returned, if any.\n\tStep(ctx context.Context, msg pb.Message) error\n\n\t// Ready returns a channel that returns the current point-in-time state.\n\t// Users of the Node must call Advance after retrieving the state returned by Ready.\n\t//\n\t// NOTE: No committed entries from the next Ready may be applied until all committed entries\n\t// and snapshots from the previous one have finished.\n\tReady() <-chan Ready\n\n\t// Advance notifies the Node that the application has saved progress up to the last Ready.\n\t// It prepares the node to return the next available Ready.\n\t//\n\t// The application should generally call Advance after it applies the entries in last Ready.\n\t//\n\t// However, as an optimization, the application may call Advance while it is applying the\n\t// commands. For example. when the last Ready contains a snapshot, the application might take\n\t// a long time to apply the snapshot data. To continue receiving Ready without blocking raft\n\t// progress, it can call Advance before finishing applying the last ready.\n\tAdvance()\n\t// ApplyConfChange applies config change to the local node.\n\t// Returns an opaque ConfState protobuf which must be recorded\n\t// in snapshots. Will never return nil; it returns a pointer only\n\t// to match MemoryStorage.Compact.\n\tApplyConfChange(cc pb.ConfChange) *pb.ConfState\n\n\t// TransferLeadership attempts to transfer leadership to the given transferee.\n\tTransferLeadership(ctx context.Context, lead, transferee uint64)\n\n\t// ReadIndex request a read state. The read state will be set in the ready.\n\t// Read state has a read index. Once the application advances further than the read\n\t// index, any linearizable read requests issued before the read request can be\n\t// processed safely. The read state will have the same rctx attached.\n\tReadIndex(ctx context.Context, rctx []byte) error\n\n\t// Status returns the current status of the raft state machine.\n\tStatus() Status\n\t// ReportUnreachable reports the given node is not reachable for the last send.\n\tReportUnreachable(id uint64)\n\t// ReportSnapshot reports the status of the sent snapshot.\n\tReportSnapshot(id uint64, status SnapshotStatus)\n\t// Stop performs any necessary termination of the Node.\n\tStop()\n}\n\ntype Peer struct {\n\tID      uint64\n\tContext []byte\n}\n\n// StartNode returns a new Node given configuration and a list of raft peers.\n// It appends a ConfChangeAddNode entry for each given peer to the initial log.\nfunc StartNode(c *Config, peers []Peer) Node {\n\tr := newRaft(c)\n\t// become the follower at term 1 and apply initial configuration\n\t// entries of term 1\n\tr.becomeFollower(1, None)\n\tfor _, peer := range peers {\n\t\tcc := pb.ConfChange{Type: pb.ConfChangeAddNode, NodeID: peer.ID, Context: peer.Context}\n\t\td, err := cc.Marshal()\n\t\tif err != nil {\n\t\t\tpanic(\"unexpected marshal error\")\n\t\t}\n\t\te := pb.Entry{Type: pb.EntryConfChange, Term: 1, Index: r.raftLog.lastIndex() + 1, Data: d}\n\t\tr.raftLog.append(e)\n\t}\n\t// Mark these initial entries as committed.\n\t// TODO(bdarnell): These entries are still unstable; do we need to preserve\n\t// the invariant that committed < unstable?\n\tr.raftLog.committed = r.raftLog.lastIndex()\n\t// Now apply them, mainly so that the application can call Campaign\n\t// immediately after StartNode in tests. Note that these nodes will\n\t// be added to raft twice: here and when the application's Ready\n\t// loop calls ApplyConfChange. The calls to addNode must come after\n\t// all calls to raftLog.append so progress.next is set after these\n\t// bootstrapping entries (it is an error if we try to append these\n\t// entries since they have already been committed).\n\t// We do not set raftLog.applied so the application will be able\n\t// to observe all conf changes via Ready.CommittedEntries.\n\tfor _, peer := range peers {\n\t\tr.addNode(peer.ID)\n\t}\n\n\tn := newNode()\n\tn.logger = c.Logger\n\tgo n.run(r)\n\treturn &n\n}\n\n// RestartNode is similar to StartNode but does not take a list of peers.\n// The current membership of the cluster will be restored from the Storage.\n// If the caller has an existing state machine, pass in the last log index that\n// has been applied to it; otherwise use zero.\nfunc RestartNode(c *Config) Node {\n\tr := newRaft(c)\n\n\tn := newNode()\n\tn.logger = c.Logger\n\tgo n.run(r)\n\treturn &n\n}\n\ntype msgWithResult struct {\n\tm      pb.Message\n\tresult chan error\n}\n\n// node is the canonical implementation of the Node interface\ntype node struct {\n\tpropc      chan msgWithResult\n\trecvc      chan pb.Message\n\tconfc      chan pb.ConfChange\n\tconfstatec chan pb.ConfState\n\treadyc     chan Ready\n\tadvancec   chan struct{}\n\ttickc      chan struct{}\n\tdone       chan struct{}\n\tstop       chan struct{}\n\tstatus     chan chan Status\n\n\tlogger Logger\n}\n\nfunc newNode() node {\n\treturn node{\n\t\tpropc:      make(chan msgWithResult),\n\t\trecvc:      make(chan pb.Message),\n\t\tconfc:      make(chan pb.ConfChange),\n\t\tconfstatec: make(chan pb.ConfState),\n\t\treadyc:     make(chan Ready),\n\t\tadvancec:   make(chan struct{}),\n\t\t// make tickc a buffered chan, so raft node can buffer some ticks when the node\n\t\t// is busy processing raft messages. Raft node will resume process buffered\n\t\t// ticks when it becomes idle.\n\t\ttickc:  make(chan struct{}, 128),\n\t\tdone:   make(chan struct{}),\n\t\tstop:   make(chan struct{}),\n\t\tstatus: make(chan chan Status),\n\t}\n}\n\nfunc (n *node) Stop() {\n\tselect {\n\tcase n.stop <- struct{}{}:\n\t\t// Not already stopped, so trigger it\n\tcase <-n.done:\n\t\t// Node has already been stopped - no need to do anything\n\t\treturn\n\t}\n\t// Block until the stop has been acknowledged by run()\n\t<-n.done\n}\n\nfunc (n *node) run(r *raft) {\n\tvar propc chan msgWithResult\n\tvar readyc chan Ready\n\tvar advancec chan struct{}\n\tvar prevLastUnstablei, prevLastUnstablet uint64\n\tvar havePrevLastUnstablei bool\n\tvar prevSnapi uint64\n\tvar rd Ready\n\n\tlead := None\n\tprevSoftSt := r.softState()\n\tprevHardSt := emptyState\n\n\tfor {\n\t\tif advancec != nil {\n\t\t\treadyc = nil\n\t\t} else {\n\t\t\trd = newReady(r, prevSoftSt, prevHardSt)\n\t\t\tif rd.containsUpdates() {\n\t\t\t\treadyc = n.readyc\n\t\t\t} else {\n\t\t\t\treadyc = nil\n\t\t\t}\n\t\t}\n\n\t\tif lead != r.lead {\n\t\t\tif r.hasLeader() {\n\t\t\t\tif lead == None {\n\t\t\t\t\tr.logger.Infof(\"raft.node: %x elected leader %x at term %d\", r.id, r.lead, r.Term)\n\t\t\t\t} else {\n\t\t\t\t\tr.logger.Infof(\"raft.node: %x changed leader from %x to %x at term %d\", r.id, lead, r.lead, r.Term)\n\t\t\t\t}\n\t\t\t\tpropc = n.propc\n\t\t\t} else {\n\t\t\t\tr.logger.Infof(\"raft.node: %x lost leader %x at term %d\", r.id, lead, r.Term)\n\t\t\t\tpropc = nil\n\t\t\t}\n\t\t\tlead = r.lead\n\t\t}\n\n\t\tselect {\n\t\t// TODO: maybe buffer the config propose if there exists one (the way\n\t\t// described in raft dissertation)\n\t\t// Currently it is dropped in Step silently.\n\t\tcase pm := <-propc:\n\t\t\tm := pm.m\n\t\t\tm.From = r.id\n\t\t\terr := r.Step(m)\n\t\t\tif pm.result != nil {\n\t\t\t\tpm.result <- err\n\t\t\t\tclose(pm.result)\n\t\t\t}\n\t\tcase m := <-n.recvc:\n\t\t\t// filter out response message from unknown From.\n\t\t\tif pr := r.getProgress(m.From); pr != nil || !IsResponseMsg(m.Type) {\n\t\t\t\tr.Step(m)\n\t\t\t}\n\t\tcase cc := <-n.confc:\n\t\t\tif cc.NodeID == None {\n\t\t\t\tselect {\n\t\t\t\tcase n.confstatec <- pb.ConfState{\n\t\t\t\t\tNodes:    r.nodes(),\n\t\t\t\t\tLearners: r.learnerNodes()}:\n\t\t\t\tcase <-n.done:\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tswitch cc.Type {\n\t\t\tcase pb.ConfChangeAddNode:\n\t\t\t\tr.addNode(cc.NodeID)\n\t\t\tcase pb.ConfChangeAddLearnerNode:\n\t\t\t\tr.addLearner(cc.NodeID)\n\t\t\tcase pb.ConfChangeRemoveNode:\n\t\t\t\t// block incoming proposal when local node is\n\t\t\t\t// removed\n\t\t\t\tif cc.NodeID == r.id {\n\t\t\t\t\tpropc = nil\n\t\t\t\t}\n\t\t\t\tr.removeNode(cc.NodeID)\n\t\t\tcase pb.ConfChangeUpdateNode:\n\t\t\tdefault:\n\t\t\t\tpanic(\"unexpected conf type\")\n\t\t\t}\n\t\t\tselect {\n\t\t\tcase n.confstatec <- pb.ConfState{\n\t\t\t\tNodes:    r.nodes(),\n\t\t\t\tLearners: r.learnerNodes()}:\n\t\t\tcase <-n.done:\n\t\t\t}\n\t\tcase <-n.tickc:\n\t\t\tr.tick()\n\t\tcase readyc <- rd:\n\t\t\tif rd.SoftState != nil {\n\t\t\t\tprevSoftSt = rd.SoftState\n\t\t\t}\n\t\t\tif len(rd.Entries) > 0 {\n\t\t\t\tprevLastUnstablei = rd.Entries[len(rd.Entries)-1].Index\n\t\t\t\tprevLastUnstablet = rd.Entries[len(rd.Entries)-1].Term\n\t\t\t\thavePrevLastUnstablei = true\n\t\t\t}\n\t\t\tif !IsEmptyHardState(rd.HardState) {\n\t\t\t\tprevHardSt = rd.HardState\n\t\t\t}\n\t\t\tif !IsEmptySnap(rd.Snapshot) {\n\t\t\t\tprevSnapi = rd.Snapshot.Metadata.Index\n\t\t\t}\n\n\t\t\tr.msgs = nil\n\t\t\tr.readStates = nil\n\t\t\tadvancec = n.advancec\n\t\tcase <-advancec:\n\t\t\tif prevHardSt.Commit != 0 {\n\t\t\t\tr.raftLog.appliedTo(prevHardSt.Commit)\n\t\t\t}\n\t\t\tif havePrevLastUnstablei {\n\t\t\t\tr.raftLog.stableTo(prevLastUnstablei, prevLastUnstablet)\n\t\t\t\thavePrevLastUnstablei = false\n\t\t\t}\n\t\t\tr.raftLog.stableSnapTo(prevSnapi)\n\t\t\tadvancec = nil\n\t\tcase c := <-n.status:\n\t\t\tc <- getStatus(r)\n\t\tcase <-n.stop:\n\t\t\tclose(n.done)\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// Tick increments the internal logical clock for this Node. Election timeouts\n// and heartbeat timeouts are in units of ticks.\nfunc (n *node) Tick() {\n\tselect {\n\tcase n.tickc <- struct{}{}:\n\tcase <-n.done:\n\tdefault:\n\t\tn.logger.Warningf(\"A tick missed to fire. Node blocks too long!\")\n\t}\n}\n\nfunc (n *node) Campaign(ctx context.Context) error { return n.step(ctx, pb.Message{Type: pb.MsgHup}) }\n\nfunc (n *node) Propose(ctx context.Context, data []byte) error {\n\treturn n.stepWait(ctx, pb.Message{Type: pb.MsgProp, Entries: []pb.Entry{{Data: data}}})\n}\n\nfunc (n *node) Step(ctx context.Context, m pb.Message) error {\n\t// ignore unexpected local messages receiving over network\n\tif IsLocalMsg(m.Type) {\n\t\t// TODO: return an error?\n\t\treturn nil\n\t}\n\treturn n.step(ctx, m)\n}\n\nfunc (n *node) ProposeConfChange(ctx context.Context, cc pb.ConfChange) error {\n\tdata, err := cc.Marshal()\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn n.Step(ctx, pb.Message{Type: pb.MsgProp, Entries: []pb.Entry{{Type: pb.EntryConfChange, Data: data}}})\n}\n\nfunc (n *node) step(ctx context.Context, m pb.Message) error {\n\treturn n.stepWithWaitOption(ctx, m, false)\n}\n\nfunc (n *node) stepWait(ctx context.Context, m pb.Message) error {\n\treturn n.stepWithWaitOption(ctx, m, true)\n}\n\n// Step advances the state machine using msgs. The ctx.Err() will be returned,\n// if any.\nfunc (n *node) stepWithWaitOption(ctx context.Context, m pb.Message, wait bool) error {\n\tif m.Type != pb.MsgProp {\n\t\tselect {\n\t\tcase n.recvc <- m:\n\t\t\treturn nil\n\t\tcase <-ctx.Done():\n\t\t\treturn ctx.Err()\n\t\tcase <-n.done:\n\t\t\treturn ErrStopped\n\t\t}\n\t}\n\tch := n.propc\n\tpm := msgWithResult{m: m}\n\tif wait {\n\t\tpm.result = make(chan error, 1)\n\t}\n\tselect {\n\tcase ch <- pm:\n\t\tif !wait {\n\t\t\treturn nil\n\t\t}\n\tcase <-ctx.Done():\n\t\treturn ctx.Err()\n\tcase <-n.done:\n\t\treturn ErrStopped\n\t}\n\tselect {\n\tcase rsp := <-pm.result:\n\t\tif rsp != nil {\n\t\t\treturn rsp\n\t\t}\n\tcase <-ctx.Done():\n\t\treturn ctx.Err()\n\tcase <-n.done:\n\t\treturn ErrStopped\n\t}\n\treturn nil\n}\n\nfunc (n *node) Ready() <-chan Ready { return n.readyc }\n\nfunc (n *node) Advance() {\n\tselect {\n\tcase n.advancec <- struct{}{}:\n\tcase <-n.done:\n\t}\n}\n\nfunc (n *node) ApplyConfChange(cc pb.ConfChange) *pb.ConfState {\n\tvar cs pb.ConfState\n\tselect {\n\tcase n.confc <- cc:\n\tcase <-n.done:\n\t}\n\tselect {\n\tcase cs = <-n.confstatec:\n\tcase <-n.done:\n\t}\n\treturn &cs\n}\n\nfunc (n *node) Status() Status {\n\tc := make(chan Status)\n\tselect {\n\tcase n.status <- c:\n\t\treturn <-c\n\tcase <-n.done:\n\t\treturn Status{}\n\t}\n}\n\nfunc (n *node) ReportUnreachable(id uint64) {\n\tselect {\n\tcase n.recvc <- pb.Message{Type: pb.MsgUnreachable, From: id}:\n\tcase <-n.done:\n\t}\n}\n\nfunc (n *node) ReportSnapshot(id uint64, status SnapshotStatus) {\n\trej := status == SnapshotFailure\n\n\tselect {\n\tcase n.recvc <- pb.Message{Type: pb.MsgSnapStatus, From: id, Reject: rej}:\n\tcase <-n.done:\n\t}\n}\n\nfunc (n *node) TransferLeadership(ctx context.Context, lead, transferee uint64) {\n\tselect {\n\t// manually set 'from' and 'to', so that leader can voluntarily transfers its leadership\n\tcase n.recvc <- pb.Message{Type: pb.MsgTransferLeader, From: transferee, To: lead}:\n\tcase <-n.done:\n\tcase <-ctx.Done():\n\t}\n}\n\nfunc (n *node) ReadIndex(ctx context.Context, rctx []byte) error {\n\treturn n.step(ctx, pb.Message{Type: pb.MsgReadIndex, Entries: []pb.Entry{{Data: rctx}}})\n}\n\nfunc newReady(r *raft, prevSoftSt *SoftState, prevHardSt pb.HardState) Ready {\n\trd := Ready{\n\t\tEntries:          r.raftLog.unstableEntries(),\n\t\tCommittedEntries: r.raftLog.nextEnts(),\n\t\tMessages:         r.msgs,\n\t}\n\tif softSt := r.softState(); !softSt.equal(prevSoftSt) {\n\t\trd.SoftState = softSt\n\t}\n\tif hardSt := r.hardState(); !isHardStateEqual(hardSt, prevHardSt) {\n\t\trd.HardState = hardSt\n\t}\n\tif r.raftLog.unstable.snapshot != nil {\n\t\trd.Snapshot = *r.raftLog.unstable.snapshot\n\t}\n\tif len(r.readStates) != 0 {\n\t\trd.ReadStates = r.readStates\n\t}\n\trd.MustSync = MustSync(rd.HardState, prevHardSt, len(rd.Entries))\n\treturn rd\n}\n\n// MustSync returns true if the hard state and count of Raft entries indicate\n// that a synchronous write to persistent storage is required.\nfunc MustSync(st, prevst pb.HardState, entsnum int) bool {\n\t// Persistent state on all servers:\n\t// (Updated on stable storage before responding to RPCs)\n\t// currentTerm\n\t// votedFor\n\t// log entries[]\n\treturn entsnum != 0 || st.Vote != prevst.Vote || st.Term != prevst.Term\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/progress.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage raft\n\nimport \"fmt\"\n\nconst (\n\tProgressStateProbe ProgressStateType = iota\n\tProgressStateReplicate\n\tProgressStateSnapshot\n)\n\ntype ProgressStateType uint64\n\nvar prstmap = [...]string{\n\t\"ProgressStateProbe\",\n\t\"ProgressStateReplicate\",\n\t\"ProgressStateSnapshot\",\n}\n\nfunc (st ProgressStateType) String() string { return prstmap[uint64(st)] }\n\n// Progress represents a follower’s progress in the view of the leader. Leader maintains\n// progresses of all followers, and sends entries to the follower based on its progress.\ntype Progress struct {\n\tMatch, Next uint64\n\t// State defines how the leader should interact with the follower.\n\t//\n\t// When in ProgressStateProbe, leader sends at most one replication message\n\t// per heartbeat interval. It also probes actual progress of the follower.\n\t//\n\t// When in ProgressStateReplicate, leader optimistically increases next\n\t// to the latest entry sent after sending replication message. This is\n\t// an optimized state for fast replicating log entries to the follower.\n\t//\n\t// When in ProgressStateSnapshot, leader should have sent out snapshot\n\t// before and stops sending any replication message.\n\tState ProgressStateType\n\n\t// Paused is used in ProgressStateProbe.\n\t// When Paused is true, raft should pause sending replication message to this peer.\n\tPaused bool\n\t// PendingSnapshot is used in ProgressStateSnapshot.\n\t// If there is a pending snapshot, the pendingSnapshot will be set to the\n\t// index of the snapshot. If pendingSnapshot is set, the replication process of\n\t// this Progress will be paused. raft will not resend snapshot until the pending one\n\t// is reported to be failed.\n\tPendingSnapshot uint64\n\n\t// RecentActive is true if the progress is recently active. Receiving any messages\n\t// from the corresponding follower indicates the progress is active.\n\t// RecentActive can be reset to false after an election timeout.\n\tRecentActive bool\n\n\t// inflights is a sliding window for the inflight messages.\n\t// Each inflight message contains one or more log entries.\n\t// The max number of entries per message is defined in raft config as MaxSizePerMsg.\n\t// Thus inflight effectively limits both the number of inflight messages\n\t// and the bandwidth each Progress can use.\n\t// When inflights is full, no more message should be sent.\n\t// When a leader sends out a message, the index of the last\n\t// entry should be added to inflights. The index MUST be added\n\t// into inflights in order.\n\t// When a leader receives a reply, the previous inflights should\n\t// be freed by calling inflights.freeTo with the index of the last\n\t// received entry.\n\tins *inflights\n\n\t// IsLearner is true if this progress is tracked for a learner.\n\tIsLearner bool\n}\n\nfunc (pr *Progress) resetState(state ProgressStateType) {\n\tpr.Paused = false\n\tpr.PendingSnapshot = 0\n\tpr.State = state\n\tpr.ins.reset()\n}\n\nfunc (pr *Progress) becomeProbe() {\n\t// If the original state is ProgressStateSnapshot, progress knows that\n\t// the pending snapshot has been sent to this peer successfully, then\n\t// probes from pendingSnapshot + 1.\n\tif pr.State == ProgressStateSnapshot {\n\t\tpendingSnapshot := pr.PendingSnapshot\n\t\tpr.resetState(ProgressStateProbe)\n\t\tpr.Next = max(pr.Match+1, pendingSnapshot+1)\n\t} else {\n\t\tpr.resetState(ProgressStateProbe)\n\t\tpr.Next = pr.Match + 1\n\t}\n}\n\nfunc (pr *Progress) becomeReplicate() {\n\tpr.resetState(ProgressStateReplicate)\n\tpr.Next = pr.Match + 1\n}\n\nfunc (pr *Progress) becomeSnapshot(snapshoti uint64) {\n\tpr.resetState(ProgressStateSnapshot)\n\tpr.PendingSnapshot = snapshoti\n}\n\n// maybeUpdate returns false if the given n index comes from an outdated message.\n// Otherwise it updates the progress and returns true.\nfunc (pr *Progress) maybeUpdate(n uint64) bool {\n\tvar updated bool\n\tif pr.Match < n {\n\t\tpr.Match = n\n\t\tupdated = true\n\t\tpr.resume()\n\t}\n\tif pr.Next < n+1 {\n\t\tpr.Next = n + 1\n\t}\n\treturn updated\n}\n\nfunc (pr *Progress) optimisticUpdate(n uint64) { pr.Next = n + 1 }\n\n// maybeDecrTo returns false if the given to index comes from an out of order message.\n// Otherwise it decreases the progress next index to min(rejected, last) and returns true.\nfunc (pr *Progress) maybeDecrTo(rejected, last uint64) bool {\n\tif pr.State == ProgressStateReplicate {\n\t\t// the rejection must be stale if the progress has matched and \"rejected\"\n\t\t// is smaller than \"match\".\n\t\tif rejected <= pr.Match {\n\t\t\treturn false\n\t\t}\n\t\t// directly decrease next to match + 1\n\t\tpr.Next = pr.Match + 1\n\t\treturn true\n\t}\n\n\t// the rejection must be stale if \"rejected\" does not match next - 1\n\tif pr.Next-1 != rejected {\n\t\treturn false\n\t}\n\n\tif pr.Next = min(rejected, last+1); pr.Next < 1 {\n\t\tpr.Next = 1\n\t}\n\tpr.resume()\n\treturn true\n}\n\nfunc (pr *Progress) pause()  { pr.Paused = true }\nfunc (pr *Progress) resume() { pr.Paused = false }\n\n// IsPaused returns whether sending log entries to this node has been\n// paused. A node may be paused because it has rejected recent\n// MsgApps, is currently waiting for a snapshot, or has reached the\n// MaxInflightMsgs limit.\nfunc (pr *Progress) IsPaused() bool {\n\tswitch pr.State {\n\tcase ProgressStateProbe:\n\t\treturn pr.Paused\n\tcase ProgressStateReplicate:\n\t\treturn pr.ins.full()\n\tcase ProgressStateSnapshot:\n\t\treturn true\n\tdefault:\n\t\tpanic(\"unexpected state\")\n\t}\n}\n\nfunc (pr *Progress) snapshotFailure() { pr.PendingSnapshot = 0 }\n\n// needSnapshotAbort returns true if snapshot progress's Match\n// is equal or higher than the pendingSnapshot.\nfunc (pr *Progress) needSnapshotAbort() bool {\n\treturn pr.State == ProgressStateSnapshot && pr.Match >= pr.PendingSnapshot\n}\n\nfunc (pr *Progress) String() string {\n\treturn fmt.Sprintf(\"next = %d, match = %d, state = %s, waiting = %v, pendingSnapshot = %d\", pr.Next, pr.Match, pr.State, pr.IsPaused(), pr.PendingSnapshot)\n}\n\ntype inflights struct {\n\t// the starting index in the buffer\n\tstart int\n\t// number of inflights in the buffer\n\tcount int\n\n\t// the size of the buffer\n\tsize int\n\n\t// buffer contains the index of the last entry\n\t// inside one message.\n\tbuffer []uint64\n}\n\nfunc newInflights(size int) *inflights {\n\treturn &inflights{\n\t\tsize: size,\n\t}\n}\n\n// add adds an inflight into inflights\nfunc (in *inflights) add(inflight uint64) {\n\tif in.full() {\n\t\tpanic(\"cannot add into a full inflights\")\n\t}\n\tnext := in.start + in.count\n\tsize := in.size\n\tif next >= size {\n\t\tnext -= size\n\t}\n\tif next >= len(in.buffer) {\n\t\tin.growBuf()\n\t}\n\tin.buffer[next] = inflight\n\tin.count++\n}\n\n// grow the inflight buffer by doubling up to inflights.size. We grow on demand\n// instead of preallocating to inflights.size to handle systems which have\n// thousands of Raft groups per process.\nfunc (in *inflights) growBuf() {\n\tnewSize := len(in.buffer) * 2\n\tif newSize == 0 {\n\t\tnewSize = 1\n\t} else if newSize > in.size {\n\t\tnewSize = in.size\n\t}\n\tnewBuffer := make([]uint64, newSize)\n\tcopy(newBuffer, in.buffer)\n\tin.buffer = newBuffer\n}\n\n// freeTo frees the inflights smaller or equal to the given `to` flight.\nfunc (in *inflights) freeTo(to uint64) {\n\tif in.count == 0 || to < in.buffer[in.start] {\n\t\t// out of the left side of the window\n\t\treturn\n\t}\n\n\tidx := in.start\n\tvar i int\n\tfor i = 0; i < in.count; i++ {\n\t\tif to < in.buffer[idx] { // found the first large inflight\n\t\t\tbreak\n\t\t}\n\n\t\t// increase index and maybe rotate\n\t\tsize := in.size\n\t\tif idx++; idx >= size {\n\t\t\tidx -= size\n\t\t}\n\t}\n\t// free i inflights and set new start index\n\tin.count -= i\n\tin.start = idx\n\tif in.count == 0 {\n\t\t// inflights is empty, reset the start index so that we don't grow the\n\t\t// buffer unnecessarily.\n\t\tin.start = 0\n\t}\n}\n\nfunc (in *inflights) freeFirstOne() { in.freeTo(in.buffer[in.start]) }\n\n// full returns true if the inflights is full.\nfunc (in *inflights) full() bool {\n\treturn in.count == in.size\n}\n\n// resets frees all inflights.\nfunc (in *inflights) reset() {\n\tin.count = 0\n\tin.start = 0\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/raft.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage raft\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"math\"\n\t\"math/rand\"\n\t\"sort\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\tpb \"github.com/coreos/etcd/raft/raftpb\"\n)\n\n// None is a placeholder node ID used when there is no leader.\nconst None uint64 = 0\nconst noLimit = math.MaxUint64\n\n// Possible values for StateType.\nconst (\n\tStateFollower StateType = iota\n\tStateCandidate\n\tStateLeader\n\tStatePreCandidate\n\tnumStates\n)\n\ntype ReadOnlyOption int\n\nconst (\n\t// ReadOnlySafe guarantees the linearizability of the read only request by\n\t// communicating with the quorum. It is the default and suggested option.\n\tReadOnlySafe ReadOnlyOption = iota\n\t// ReadOnlyLeaseBased ensures linearizability of the read only request by\n\t// relying on the leader lease. It can be affected by clock drift.\n\t// If the clock drift is unbounded, leader might keep the lease longer than it\n\t// should (clock can move backward/pause without any bound). ReadIndex is not safe\n\t// in that case.\n\tReadOnlyLeaseBased\n)\n\n// Possible values for CampaignType\nconst (\n\t// campaignPreElection represents the first phase of a normal election when\n\t// Config.PreVote is true.\n\tcampaignPreElection CampaignType = \"CampaignPreElection\"\n\t// campaignElection represents a normal (time-based) election (the second phase\n\t// of the election when Config.PreVote is true).\n\tcampaignElection CampaignType = \"CampaignElection\"\n\t// campaignTransfer represents the type of leader transfer\n\tcampaignTransfer CampaignType = \"CampaignTransfer\"\n)\n\n// ErrProposalDropped is returned when the proposal is ignored by some cases,\n// so that the proposer can be notified and fail fast.\nvar ErrProposalDropped = errors.New(\"raft proposal dropped\")\n\n// lockedRand is a small wrapper around rand.Rand to provide\n// synchronization among multiple raft groups. Only the methods needed\n// by the code are exposed (e.g. Intn).\ntype lockedRand struct {\n\tmu   sync.Mutex\n\trand *rand.Rand\n}\n\nfunc (r *lockedRand) Intn(n int) int {\n\tr.mu.Lock()\n\tv := r.rand.Intn(n)\n\tr.mu.Unlock()\n\treturn v\n}\n\nvar globalRand = &lockedRand{\n\trand: rand.New(rand.NewSource(time.Now().UnixNano())),\n}\n\n// CampaignType represents the type of campaigning\n// the reason we use the type of string instead of uint64\n// is because it's simpler to compare and fill in raft entries\ntype CampaignType string\n\n// StateType represents the role of a node in a cluster.\ntype StateType uint64\n\nvar stmap = [...]string{\n\t\"StateFollower\",\n\t\"StateCandidate\",\n\t\"StateLeader\",\n\t\"StatePreCandidate\",\n}\n\nfunc (st StateType) String() string {\n\treturn stmap[uint64(st)]\n}\n\n// Config contains the parameters to start a raft.\ntype Config struct {\n\t// ID is the identity of the local raft. ID cannot be 0.\n\tID uint64\n\n\t// peers contains the IDs of all nodes (including self) in the raft cluster. It\n\t// should only be set when starting a new raft cluster. Restarting raft from\n\t// previous configuration will panic if peers is set. peer is private and only\n\t// used for testing right now.\n\tpeers []uint64\n\n\t// learners contains the IDs of all learner nodes (including self if the\n\t// local node is a learner) in the raft cluster. learners only receives\n\t// entries from the leader node. It does not vote or promote itself.\n\tlearners []uint64\n\n\t// ElectionTick is the number of Node.Tick invocations that must pass between\n\t// elections. That is, if a follower does not receive any message from the\n\t// leader of current term before ElectionTick has elapsed, it will become\n\t// candidate and start an election. ElectionTick must be greater than\n\t// HeartbeatTick. We suggest ElectionTick = 10 * HeartbeatTick to avoid\n\t// unnecessary leader switching.\n\tElectionTick int\n\t// HeartbeatTick is the number of Node.Tick invocations that must pass between\n\t// heartbeats. That is, a leader sends heartbeat messages to maintain its\n\t// leadership every HeartbeatTick ticks.\n\tHeartbeatTick int\n\n\t// Storage is the storage for raft. raft generates entries and states to be\n\t// stored in storage. raft reads the persisted entries and states out of\n\t// Storage when it needs. raft reads out the previous state and configuration\n\t// out of storage when restarting.\n\tStorage Storage\n\t// Applied is the last applied index. It should only be set when restarting\n\t// raft. raft will not return entries to the application smaller or equal to\n\t// Applied. If Applied is unset when restarting, raft might return previous\n\t// applied entries. This is a very application dependent configuration.\n\tApplied uint64\n\n\t// MaxSizePerMsg limits the max size of each append message. Smaller value\n\t// lowers the raft recovery cost(initial probing and message lost during normal\n\t// operation). On the other side, it might affect the throughput during normal\n\t// replication. Note: math.MaxUint64 for unlimited, 0 for at most one entry per\n\t// message.\n\tMaxSizePerMsg uint64\n\t// MaxInflightMsgs limits the max number of in-flight append messages during\n\t// optimistic replication phase. The application transportation layer usually\n\t// has its own sending buffer over TCP/UDP. Setting MaxInflightMsgs to avoid\n\t// overflowing that sending buffer. TODO (xiangli): feedback to application to\n\t// limit the proposal rate?\n\tMaxInflightMsgs int\n\n\t// CheckQuorum specifies if the leader should check quorum activity. Leader\n\t// steps down when quorum is not active for an electionTimeout.\n\tCheckQuorum bool\n\n\t// PreVote enables the Pre-Vote algorithm described in raft thesis section\n\t// 9.6. This prevents disruption when a node that has been partitioned away\n\t// rejoins the cluster.\n\tPreVote bool\n\n\t// ReadOnlyOption specifies how the read only request is processed.\n\t//\n\t// ReadOnlySafe guarantees the linearizability of the read only request by\n\t// communicating with the quorum. It is the default and suggested option.\n\t//\n\t// ReadOnlyLeaseBased ensures linearizability of the read only request by\n\t// relying on the leader lease. It can be affected by clock drift.\n\t// If the clock drift is unbounded, leader might keep the lease longer than it\n\t// should (clock can move backward/pause without any bound). ReadIndex is not safe\n\t// in that case.\n\t// CheckQuorum MUST be enabled if ReadOnlyOption is ReadOnlyLeaseBased.\n\tReadOnlyOption ReadOnlyOption\n\n\t// Logger is the logger used for raft log. For multinode which can host\n\t// multiple raft group, each raft group can have its own logger\n\tLogger Logger\n\n\t// DisableProposalForwarding set to true means that followers will drop\n\t// proposals, rather than forwarding them to the leader. One use case for\n\t// this feature would be in a situation where the Raft leader is used to\n\t// compute the data of a proposal, for example, adding a timestamp from a\n\t// hybrid logical clock to data in a monotonically increasing way. Forwarding\n\t// should be disabled to prevent a follower with an inaccurate hybrid\n\t// logical clock from assigning the timestamp and then forwarding the data\n\t// to the leader.\n\tDisableProposalForwarding bool\n}\n\nfunc (c *Config) validate() error {\n\tif c.ID == None {\n\t\treturn errors.New(\"cannot use none as id\")\n\t}\n\n\tif c.HeartbeatTick <= 0 {\n\t\treturn errors.New(\"heartbeat tick must be greater than 0\")\n\t}\n\n\tif c.ElectionTick <= c.HeartbeatTick {\n\t\treturn errors.New(\"election tick must be greater than heartbeat tick\")\n\t}\n\n\tif c.Storage == nil {\n\t\treturn errors.New(\"storage cannot be nil\")\n\t}\n\n\tif c.MaxInflightMsgs <= 0 {\n\t\treturn errors.New(\"max inflight messages must be greater than 0\")\n\t}\n\n\tif c.Logger == nil {\n\t\tc.Logger = raftLogger\n\t}\n\n\tif c.ReadOnlyOption == ReadOnlyLeaseBased && !c.CheckQuorum {\n\t\treturn errors.New(\"CheckQuorum must be enabled when ReadOnlyOption is ReadOnlyLeaseBased\")\n\t}\n\n\treturn nil\n}\n\ntype raft struct {\n\tid uint64\n\n\tTerm uint64\n\tVote uint64\n\n\treadStates []ReadState\n\n\t// the log\n\traftLog *raftLog\n\n\tmaxInflight int\n\tmaxMsgSize  uint64\n\tprs         map[uint64]*Progress\n\tlearnerPrs  map[uint64]*Progress\n\n\tstate StateType\n\n\t// isLearner is true if the local raft node is a learner.\n\tisLearner bool\n\n\tvotes map[uint64]bool\n\n\tmsgs []pb.Message\n\n\t// the leader id\n\tlead uint64\n\t// leadTransferee is id of the leader transfer target when its value is not zero.\n\t// Follow the procedure defined in raft thesis 3.10.\n\tleadTransferee uint64\n\t// Only one conf change may be pending (in the log, but not yet\n\t// applied) at a time. This is enforced via pendingConfIndex, which\n\t// is set to a value >= the log index of the latest pending\n\t// configuration change (if any). Config changes are only allowed to\n\t// be proposed if the leader's applied index is greater than this\n\t// value.\n\tpendingConfIndex uint64\n\n\treadOnly *readOnly\n\n\t// number of ticks since it reached last electionTimeout when it is leader\n\t// or candidate.\n\t// number of ticks since it reached last electionTimeout or received a\n\t// valid message from current leader when it is a follower.\n\telectionElapsed int\n\n\t// number of ticks since it reached last heartbeatTimeout.\n\t// only leader keeps heartbeatElapsed.\n\theartbeatElapsed int\n\n\tcheckQuorum bool\n\tpreVote     bool\n\n\theartbeatTimeout int\n\telectionTimeout  int\n\t// randomizedElectionTimeout is a random number between\n\t// [electiontimeout, 2 * electiontimeout - 1]. It gets reset\n\t// when raft changes its state to follower or candidate.\n\trandomizedElectionTimeout int\n\tdisableProposalForwarding bool\n\n\ttick func()\n\tstep stepFunc\n\n\tlogger Logger\n}\n\nfunc newRaft(c *Config) *raft {\n\tif err := c.validate(); err != nil {\n\t\tpanic(err.Error())\n\t}\n\traftlog := newLog(c.Storage, c.Logger)\n\ths, cs, err := c.Storage.InitialState()\n\tif err != nil {\n\t\tpanic(err) // TODO(bdarnell)\n\t}\n\tpeers := c.peers\n\tlearners := c.learners\n\tif len(cs.Nodes) > 0 || len(cs.Learners) > 0 {\n\t\tif len(peers) > 0 || len(learners) > 0 {\n\t\t\t// TODO(bdarnell): the peers argument is always nil except in\n\t\t\t// tests; the argument should be removed and these tests should be\n\t\t\t// updated to specify their nodes through a snapshot.\n\t\t\tpanic(\"cannot specify both newRaft(peers, learners) and ConfState.(Nodes, Learners)\")\n\t\t}\n\t\tpeers = cs.Nodes\n\t\tlearners = cs.Learners\n\t}\n\tr := &raft{\n\t\tid:                        c.ID,\n\t\tlead:                      None,\n\t\tisLearner:                 false,\n\t\traftLog:                   raftlog,\n\t\tmaxMsgSize:                c.MaxSizePerMsg,\n\t\tmaxInflight:               c.MaxInflightMsgs,\n\t\tprs:                       make(map[uint64]*Progress),\n\t\tlearnerPrs:                make(map[uint64]*Progress),\n\t\telectionTimeout:           c.ElectionTick,\n\t\theartbeatTimeout:          c.HeartbeatTick,\n\t\tlogger:                    c.Logger,\n\t\tcheckQuorum:               c.CheckQuorum,\n\t\tpreVote:                   c.PreVote,\n\t\treadOnly:                  newReadOnly(c.ReadOnlyOption),\n\t\tdisableProposalForwarding: c.DisableProposalForwarding,\n\t}\n\tfor _, p := range peers {\n\t\tr.prs[p] = &Progress{Next: 1, ins: newInflights(r.maxInflight)}\n\t}\n\tfor _, p := range learners {\n\t\tif _, ok := r.prs[p]; ok {\n\t\t\tpanic(fmt.Sprintf(\"node %x is in both learner and peer list\", p))\n\t\t}\n\t\tr.learnerPrs[p] = &Progress{Next: 1, ins: newInflights(r.maxInflight), IsLearner: true}\n\t\tif r.id == p {\n\t\t\tr.isLearner = true\n\t\t}\n\t}\n\n\tif !isHardStateEqual(hs, emptyState) {\n\t\tr.loadState(hs)\n\t}\n\tif c.Applied > 0 {\n\t\traftlog.appliedTo(c.Applied)\n\t}\n\tr.becomeFollower(r.Term, None)\n\n\tvar nodesStrs []string\n\tfor _, n := range r.nodes() {\n\t\tnodesStrs = append(nodesStrs, fmt.Sprintf(\"%x\", n))\n\t}\n\n\tr.logger.Infof(\"newRaft %x [peers: [%s], term: %d, commit: %d, applied: %d, lastindex: %d, lastterm: %d]\",\n\t\tr.id, strings.Join(nodesStrs, \",\"), r.Term, r.raftLog.committed, r.raftLog.applied, r.raftLog.lastIndex(), r.raftLog.lastTerm())\n\treturn r\n}\n\nfunc (r *raft) hasLeader() bool { return r.lead != None }\n\nfunc (r *raft) softState() *SoftState { return &SoftState{Lead: r.lead, RaftState: r.state} }\n\nfunc (r *raft) hardState() pb.HardState {\n\treturn pb.HardState{\n\t\tTerm:   r.Term,\n\t\tVote:   r.Vote,\n\t\tCommit: r.raftLog.committed,\n\t}\n}\n\nfunc (r *raft) quorum() int { return len(r.prs)/2 + 1 }\n\nfunc (r *raft) nodes() []uint64 {\n\tnodes := make([]uint64, 0, len(r.prs))\n\tfor id := range r.prs {\n\t\tnodes = append(nodes, id)\n\t}\n\tsort.Sort(uint64Slice(nodes))\n\treturn nodes\n}\n\nfunc (r *raft) learnerNodes() []uint64 {\n\tnodes := make([]uint64, 0, len(r.learnerPrs))\n\tfor id := range r.learnerPrs {\n\t\tnodes = append(nodes, id)\n\t}\n\tsort.Sort(uint64Slice(nodes))\n\treturn nodes\n}\n\n// send persists state to stable storage and then sends to its mailbox.\nfunc (r *raft) send(m pb.Message) {\n\tm.From = r.id\n\tif m.Type == pb.MsgVote || m.Type == pb.MsgVoteResp || m.Type == pb.MsgPreVote || m.Type == pb.MsgPreVoteResp {\n\t\tif m.Term == 0 {\n\t\t\t// All {pre-,}campaign messages need to have the term set when\n\t\t\t// sending.\n\t\t\t// - MsgVote: m.Term is the term the node is campaigning for,\n\t\t\t//   non-zero as we increment the term when campaigning.\n\t\t\t// - MsgVoteResp: m.Term is the new r.Term if the MsgVote was\n\t\t\t//   granted, non-zero for the same reason MsgVote is\n\t\t\t// - MsgPreVote: m.Term is the term the node will campaign,\n\t\t\t//   non-zero as we use m.Term to indicate the next term we'll be\n\t\t\t//   campaigning for\n\t\t\t// - MsgPreVoteResp: m.Term is the term received in the original\n\t\t\t//   MsgPreVote if the pre-vote was granted, non-zero for the\n\t\t\t//   same reasons MsgPreVote is\n\t\t\tpanic(fmt.Sprintf(\"term should be set when sending %s\", m.Type))\n\t\t}\n\t} else {\n\t\tif m.Term != 0 {\n\t\t\tpanic(fmt.Sprintf(\"term should not be set when sending %s (was %d)\", m.Type, m.Term))\n\t\t}\n\t\t// do not attach term to MsgProp, MsgReadIndex\n\t\t// proposals are a way to forward to the leader and\n\t\t// should be treated as local message.\n\t\t// MsgReadIndex is also forwarded to leader.\n\t\tif m.Type != pb.MsgProp && m.Type != pb.MsgReadIndex {\n\t\t\tm.Term = r.Term\n\t\t}\n\t}\n\tr.msgs = append(r.msgs, m)\n}\n\nfunc (r *raft) getProgress(id uint64) *Progress {\n\tif pr, ok := r.prs[id]; ok {\n\t\treturn pr\n\t}\n\n\treturn r.learnerPrs[id]\n}\n\n// sendAppend sends RPC, with entries to the given peer.\nfunc (r *raft) sendAppend(to uint64) {\n\tpr := r.getProgress(to)\n\tif pr.IsPaused() {\n\t\treturn\n\t}\n\tm := pb.Message{}\n\tm.To = to\n\n\tterm, errt := r.raftLog.term(pr.Next - 1)\n\tents, erre := r.raftLog.entries(pr.Next, r.maxMsgSize)\n\n\tif errt != nil || erre != nil { // send snapshot if we failed to get term or entries\n\t\tif !pr.RecentActive {\n\t\t\tr.logger.Debugf(\"ignore sending snapshot to %x since it is not recently active\", to)\n\t\t\treturn\n\t\t}\n\n\t\tm.Type = pb.MsgSnap\n\t\tsnapshot, err := r.raftLog.snapshot()\n\t\tif err != nil {\n\t\t\tif err == ErrSnapshotTemporarilyUnavailable {\n\t\t\t\tr.logger.Debugf(\"%x failed to send snapshot to %x because snapshot is temporarily unavailable\", r.id, to)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tpanic(err) // TODO(bdarnell)\n\t\t}\n\t\tif IsEmptySnap(snapshot) {\n\t\t\tpanic(\"need non-empty snapshot\")\n\t\t}\n\t\tm.Snapshot = snapshot\n\t\tsindex, sterm := snapshot.Metadata.Index, snapshot.Metadata.Term\n\t\tr.logger.Debugf(\"%x [firstindex: %d, commit: %d] sent snapshot[index: %d, term: %d] to %x [%s]\",\n\t\t\tr.id, r.raftLog.firstIndex(), r.raftLog.committed, sindex, sterm, to, pr)\n\t\tpr.becomeSnapshot(sindex)\n\t\tr.logger.Debugf(\"%x paused sending replication messages to %x [%s]\", r.id, to, pr)\n\t} else {\n\t\tm.Type = pb.MsgApp\n\t\tm.Index = pr.Next - 1\n\t\tm.LogTerm = term\n\t\tm.Entries = ents\n\t\tm.Commit = r.raftLog.committed\n\t\tif n := len(m.Entries); n != 0 {\n\t\t\tswitch pr.State {\n\t\t\t// optimistically increase the next when in ProgressStateReplicate\n\t\t\tcase ProgressStateReplicate:\n\t\t\t\tlast := m.Entries[n-1].Index\n\t\t\t\tpr.optimisticUpdate(last)\n\t\t\t\tpr.ins.add(last)\n\t\t\tcase ProgressStateProbe:\n\t\t\t\tpr.pause()\n\t\t\tdefault:\n\t\t\t\tr.logger.Panicf(\"%x is sending append in unhandled state %s\", r.id, pr.State)\n\t\t\t}\n\t\t}\n\t}\n\tr.send(m)\n}\n\n// sendHeartbeat sends an empty MsgApp\nfunc (r *raft) sendHeartbeat(to uint64, ctx []byte) {\n\t// Attach the commit as min(to.matched, r.committed).\n\t// When the leader sends out heartbeat message,\n\t// the receiver(follower) might not be matched with the leader\n\t// or it might not have all the committed entries.\n\t// The leader MUST NOT forward the follower's commit to\n\t// an unmatched index.\n\tcommit := min(r.getProgress(to).Match, r.raftLog.committed)\n\tm := pb.Message{\n\t\tTo:      to,\n\t\tType:    pb.MsgHeartbeat,\n\t\tCommit:  commit,\n\t\tContext: ctx,\n\t}\n\n\tr.send(m)\n}\n\nfunc (r *raft) forEachProgress(f func(id uint64, pr *Progress)) {\n\tfor id, pr := range r.prs {\n\t\tf(id, pr)\n\t}\n\n\tfor id, pr := range r.learnerPrs {\n\t\tf(id, pr)\n\t}\n}\n\n// bcastAppend sends RPC, with entries to all peers that are not up-to-date\n// according to the progress recorded in r.prs.\nfunc (r *raft) bcastAppend() {\n\tr.forEachProgress(func(id uint64, _ *Progress) {\n\t\tif id == r.id {\n\t\t\treturn\n\t\t}\n\n\t\tr.sendAppend(id)\n\t})\n}\n\n// bcastHeartbeat sends RPC, without entries to all the peers.\nfunc (r *raft) bcastHeartbeat() {\n\tlastCtx := r.readOnly.lastPendingRequestCtx()\n\tif len(lastCtx) == 0 {\n\t\tr.bcastHeartbeatWithCtx(nil)\n\t} else {\n\t\tr.bcastHeartbeatWithCtx([]byte(lastCtx))\n\t}\n}\n\nfunc (r *raft) bcastHeartbeatWithCtx(ctx []byte) {\n\tr.forEachProgress(func(id uint64, _ *Progress) {\n\t\tif id == r.id {\n\t\t\treturn\n\t\t}\n\t\tr.sendHeartbeat(id, ctx)\n\t})\n}\n\n// maybeCommit attempts to advance the commit index. Returns true if\n// the commit index changed (in which case the caller should call\n// r.bcastAppend).\nfunc (r *raft) maybeCommit() bool {\n\t// TODO(bmizerany): optimize.. Currently naive\n\tmis := make(uint64Slice, 0, len(r.prs))\n\tfor _, p := range r.prs {\n\t\tmis = append(mis, p.Match)\n\t}\n\tsort.Sort(sort.Reverse(mis))\n\tmci := mis[r.quorum()-1]\n\treturn r.raftLog.maybeCommit(mci, r.Term)\n}\n\nfunc (r *raft) reset(term uint64) {\n\tif r.Term != term {\n\t\tr.Term = term\n\t\tr.Vote = None\n\t}\n\tr.lead = None\n\n\tr.electionElapsed = 0\n\tr.heartbeatElapsed = 0\n\tr.resetRandomizedElectionTimeout()\n\n\tr.abortLeaderTransfer()\n\n\tr.votes = make(map[uint64]bool)\n\tr.forEachProgress(func(id uint64, pr *Progress) {\n\t\t*pr = Progress{Next: r.raftLog.lastIndex() + 1, ins: newInflights(r.maxInflight), IsLearner: pr.IsLearner}\n\t\tif id == r.id {\n\t\t\tpr.Match = r.raftLog.lastIndex()\n\t\t}\n\t})\n\n\tr.pendingConfIndex = 0\n\tr.readOnly = newReadOnly(r.readOnly.option)\n}\n\nfunc (r *raft) appendEntry(es ...pb.Entry) {\n\tli := r.raftLog.lastIndex()\n\tfor i := range es {\n\t\tes[i].Term = r.Term\n\t\tes[i].Index = li + 1 + uint64(i)\n\t}\n\t// use latest \"last\" index after truncate/append\n\tli = r.raftLog.append(es...)\n\tr.getProgress(r.id).maybeUpdate(li)\n\t// Regardless of maybeCommit's return, our caller will call bcastAppend.\n\tr.maybeCommit()\n}\n\n// tickElection is run by followers and candidates after r.electionTimeout.\nfunc (r *raft) tickElection() {\n\tr.electionElapsed++\n\n\tif r.promotable() && r.pastElectionTimeout() {\n\t\tr.electionElapsed = 0\n\t\tr.Step(pb.Message{From: r.id, Type: pb.MsgHup})\n\t}\n}\n\n// tickHeartbeat is run by leaders to send a MsgBeat after r.heartbeatTimeout.\nfunc (r *raft) tickHeartbeat() {\n\tr.heartbeatElapsed++\n\tr.electionElapsed++\n\n\tif r.electionElapsed >= r.electionTimeout {\n\t\tr.electionElapsed = 0\n\t\tif r.checkQuorum {\n\t\t\tr.Step(pb.Message{From: r.id, Type: pb.MsgCheckQuorum})\n\t\t}\n\t\t// If current leader cannot transfer leadership in electionTimeout, it becomes leader again.\n\t\tif r.state == StateLeader && r.leadTransferee != None {\n\t\t\tr.abortLeaderTransfer()\n\t\t}\n\t}\n\n\tif r.state != StateLeader {\n\t\treturn\n\t}\n\n\tif r.heartbeatElapsed >= r.heartbeatTimeout {\n\t\tr.heartbeatElapsed = 0\n\t\tr.Step(pb.Message{From: r.id, Type: pb.MsgBeat})\n\t}\n}\n\nfunc (r *raft) becomeFollower(term uint64, lead uint64) {\n\tr.step = stepFollower\n\tr.reset(term)\n\tr.tick = r.tickElection\n\tr.lead = lead\n\tr.state = StateFollower\n\tr.logger.Infof(\"%x became follower at term %d\", r.id, r.Term)\n}\n\nfunc (r *raft) becomeCandidate() {\n\t// TODO(xiangli) remove the panic when the raft implementation is stable\n\tif r.state == StateLeader {\n\t\tpanic(\"invalid transition [leader -> candidate]\")\n\t}\n\tr.step = stepCandidate\n\tr.reset(r.Term + 1)\n\tr.tick = r.tickElection\n\tr.Vote = r.id\n\tr.state = StateCandidate\n\tr.logger.Infof(\"%x became candidate at term %d\", r.id, r.Term)\n}\n\nfunc (r *raft) becomePreCandidate() {\n\t// TODO(xiangli) remove the panic when the raft implementation is stable\n\tif r.state == StateLeader {\n\t\tpanic(\"invalid transition [leader -> pre-candidate]\")\n\t}\n\t// Becoming a pre-candidate changes our step functions and state,\n\t// but doesn't change anything else. In particular it does not increase\n\t// r.Term or change r.Vote.\n\tr.step = stepCandidate\n\tr.votes = make(map[uint64]bool)\n\tr.tick = r.tickElection\n\tr.state = StatePreCandidate\n\tr.logger.Infof(\"%x became pre-candidate at term %d\", r.id, r.Term)\n}\n\nfunc (r *raft) becomeLeader() {\n\t// TODO(xiangli) remove the panic when the raft implementation is stable\n\tif r.state == StateFollower {\n\t\tpanic(\"invalid transition [follower -> leader]\")\n\t}\n\tr.step = stepLeader\n\tr.reset(r.Term)\n\tr.tick = r.tickHeartbeat\n\tr.lead = r.id\n\tr.state = StateLeader\n\tents, err := r.raftLog.entries(r.raftLog.committed+1, noLimit)\n\tif err != nil {\n\t\tr.logger.Panicf(\"unexpected error getting uncommitted entries (%v)\", err)\n\t}\n\n\t// Conservatively set the pendingConfIndex to the last index in the\n\t// log. There may or may not be a pending config change, but it's\n\t// safe to delay any future proposals until we commit all our\n\t// pending log entries, and scanning the entire tail of the log\n\t// could be expensive.\n\tif len(ents) > 0 {\n\t\tr.pendingConfIndex = ents[len(ents)-1].Index\n\t}\n\n\tr.appendEntry(pb.Entry{Data: nil})\n\tr.logger.Infof(\"%x became leader at term %d\", r.id, r.Term)\n}\n\nfunc (r *raft) campaign(t CampaignType) {\n\tvar term uint64\n\tvar voteMsg pb.MessageType\n\tif t == campaignPreElection {\n\t\tr.becomePreCandidate()\n\t\tvoteMsg = pb.MsgPreVote\n\t\t// PreVote RPCs are sent for the next term before we've incremented r.Term.\n\t\tterm = r.Term + 1\n\t} else {\n\t\tr.becomeCandidate()\n\t\tvoteMsg = pb.MsgVote\n\t\tterm = r.Term\n\t}\n\tif r.quorum() == r.poll(r.id, voteRespMsgType(voteMsg), true) {\n\t\t// We won the election after voting for ourselves (which must mean that\n\t\t// this is a single-node cluster). Advance to the next state.\n\t\tif t == campaignPreElection {\n\t\t\tr.campaign(campaignElection)\n\t\t} else {\n\t\t\tr.becomeLeader()\n\t\t}\n\t\treturn\n\t}\n\tfor id := range r.prs {\n\t\tif id == r.id {\n\t\t\tcontinue\n\t\t}\n\t\tr.logger.Infof(\"%x [logterm: %d, index: %d] sent %s request to %x at term %d\",\n\t\t\tr.id, r.raftLog.lastTerm(), r.raftLog.lastIndex(), voteMsg, id, r.Term)\n\n\t\tvar ctx []byte\n\t\tif t == campaignTransfer {\n\t\t\tctx = []byte(t)\n\t\t}\n\t\tr.send(pb.Message{Term: term, To: id, Type: voteMsg, Index: r.raftLog.lastIndex(), LogTerm: r.raftLog.lastTerm(), Context: ctx})\n\t}\n}\n\nfunc (r *raft) poll(id uint64, t pb.MessageType, v bool) (granted int) {\n\tif v {\n\t\tr.logger.Infof(\"%x received %s from %x at term %d\", r.id, t, id, r.Term)\n\t} else {\n\t\tr.logger.Infof(\"%x received %s rejection from %x at term %d\", r.id, t, id, r.Term)\n\t}\n\tif _, ok := r.votes[id]; !ok {\n\t\tr.votes[id] = v\n\t}\n\tfor _, vv := range r.votes {\n\t\tif vv {\n\t\t\tgranted++\n\t\t}\n\t}\n\treturn granted\n}\n\nfunc (r *raft) Step(m pb.Message) error {\n\t// Handle the message term, which may result in our stepping down to a follower.\n\tswitch {\n\tcase m.Term == 0:\n\t\t// local message\n\tcase m.Term > r.Term:\n\t\tif m.Type == pb.MsgVote || m.Type == pb.MsgPreVote {\n\t\t\tforce := bytes.Equal(m.Context, []byte(campaignTransfer))\n\t\t\tinLease := r.checkQuorum && r.lead != None && r.electionElapsed < r.electionTimeout\n\t\t\tif !force && inLease {\n\t\t\t\t// If a server receives a RequestVote request within the minimum election timeout\n\t\t\t\t// of hearing from a current leader, it does not update its term or grant its vote\n\t\t\t\tr.logger.Infof(\"%x [logterm: %d, index: %d, vote: %x] ignored %s from %x [logterm: %d, index: %d] at term %d: lease is not expired (remaining ticks: %d)\",\n\t\t\t\t\tr.id, r.raftLog.lastTerm(), r.raftLog.lastIndex(), r.Vote, m.Type, m.From, m.LogTerm, m.Index, r.Term, r.electionTimeout-r.electionElapsed)\n\t\t\t\treturn nil\n\t\t\t}\n\t\t}\n\t\tswitch {\n\t\tcase m.Type == pb.MsgPreVote:\n\t\t\t// Never change our term in response to a PreVote\n\t\tcase m.Type == pb.MsgPreVoteResp && !m.Reject:\n\t\t\t// We send pre-vote requests with a term in our future. If the\n\t\t\t// pre-vote is granted, we will increment our term when we get a\n\t\t\t// quorum. If it is not, the term comes from the node that\n\t\t\t// rejected our vote so we should become a follower at the new\n\t\t\t// term.\n\t\tdefault:\n\t\t\tr.logger.Infof(\"%x [term: %d] received a %s message with higher term from %x [term: %d]\",\n\t\t\t\tr.id, r.Term, m.Type, m.From, m.Term)\n\t\t\tif m.Type == pb.MsgApp || m.Type == pb.MsgHeartbeat || m.Type == pb.MsgSnap {\n\t\t\t\tr.becomeFollower(m.Term, m.From)\n\t\t\t} else {\n\t\t\t\tr.becomeFollower(m.Term, None)\n\t\t\t}\n\t\t}\n\n\tcase m.Term < r.Term:\n\t\tif (r.checkQuorum || r.preVote) && (m.Type == pb.MsgHeartbeat || m.Type == pb.MsgApp) {\n\t\t\t// We have received messages from a leader at a lower term. It is possible\n\t\t\t// that these messages were simply delayed in the network, but this could\n\t\t\t// also mean that this node has advanced its term number during a network\n\t\t\t// partition, and it is now unable to either win an election or to rejoin\n\t\t\t// the majority on the old term. If checkQuorum is false, this will be\n\t\t\t// handled by incrementing term numbers in response to MsgVote with a\n\t\t\t// higher term, but if checkQuorum is true we may not advance the term on\n\t\t\t// MsgVote and must generate other messages to advance the term. The net\n\t\t\t// result of these two features is to minimize the disruption caused by\n\t\t\t// nodes that have been removed from the cluster's configuration: a\n\t\t\t// removed node will send MsgVotes (or MsgPreVotes) which will be ignored,\n\t\t\t// but it will not receive MsgApp or MsgHeartbeat, so it will not create\n\t\t\t// disruptive term increases, by notifying leader of this node's activeness.\n\t\t\t// The above comments also true for Pre-Vote\n\t\t\t//\n\t\t\t// When follower gets isolated, it soon starts an election ending\n\t\t\t// up with a higher term than leader, although it won't receive enough\n\t\t\t// votes to win the election. When it regains connectivity, this response\n\t\t\t// with \"pb.MsgAppResp\" of higher term would force leader to step down.\n\t\t\t// However, this disruption is inevitable to free this stuck node with\n\t\t\t// fresh election. This can be prevented with Pre-Vote phase.\n\t\t\tr.send(pb.Message{To: m.From, Type: pb.MsgAppResp})\n\t\t} else if m.Type == pb.MsgPreVote {\n\t\t\t// Before Pre-Vote enable, there may have candidate with higher term,\n\t\t\t// but less log. After update to Pre-Vote, the cluster may deadlock if\n\t\t\t// we drop messages with a lower term.\n\t\t\tr.logger.Infof(\"%x [logterm: %d, index: %d, vote: %x] rejected %s from %x [logterm: %d, index: %d] at term %d\",\n\t\t\t\tr.id, r.raftLog.lastTerm(), r.raftLog.lastIndex(), r.Vote, m.Type, m.From, m.LogTerm, m.Index, r.Term)\n\t\t\tr.send(pb.Message{To: m.From, Term: r.Term, Type: pb.MsgPreVoteResp, Reject: true})\n\t\t} else {\n\t\t\t// ignore other cases\n\t\t\tr.logger.Infof(\"%x [term: %d] ignored a %s message with lower term from %x [term: %d]\",\n\t\t\t\tr.id, r.Term, m.Type, m.From, m.Term)\n\t\t}\n\t\treturn nil\n\t}\n\n\tswitch m.Type {\n\tcase pb.MsgHup:\n\t\tif r.state != StateLeader {\n\t\t\tents, err := r.raftLog.slice(r.raftLog.applied+1, r.raftLog.committed+1, noLimit)\n\t\t\tif err != nil {\n\t\t\t\tr.logger.Panicf(\"unexpected error getting unapplied entries (%v)\", err)\n\t\t\t}\n\t\t\tif n := numOfPendingConf(ents); n != 0 && r.raftLog.committed > r.raftLog.applied {\n\t\t\t\tr.logger.Warningf(\"%x cannot campaign at term %d since there are still %d pending configuration changes to apply\", r.id, r.Term, n)\n\t\t\t\treturn nil\n\t\t\t}\n\n\t\t\tr.logger.Infof(\"%x is starting a new election at term %d\", r.id, r.Term)\n\t\t\tif r.preVote {\n\t\t\t\tr.campaign(campaignPreElection)\n\t\t\t} else {\n\t\t\t\tr.campaign(campaignElection)\n\t\t\t}\n\t\t} else {\n\t\t\tr.logger.Debugf(\"%x ignoring MsgHup because already leader\", r.id)\n\t\t}\n\n\tcase pb.MsgVote, pb.MsgPreVote:\n\t\tif r.isLearner {\n\t\t\t// TODO: learner may need to vote, in case of node down when confchange.\n\t\t\tr.logger.Infof(\"%x [logterm: %d, index: %d, vote: %x] ignored %s from %x [logterm: %d, index: %d] at term %d: learner can not vote\",\n\t\t\t\tr.id, r.raftLog.lastTerm(), r.raftLog.lastIndex(), r.Vote, m.Type, m.From, m.LogTerm, m.Index, r.Term)\n\t\t\treturn nil\n\t\t}\n\t\t// We can vote if this is a repeat of a vote we've already cast...\n\t\tcanVote := r.Vote == m.From ||\n\t\t\t// ...we haven't voted and we don't think there's a leader yet in this term...\n\t\t\t(r.Vote == None && r.lead == None) ||\n\t\t\t// ...or this is a PreVote for a future term...\n\t\t\t(m.Type == pb.MsgPreVote && m.Term > r.Term)\n\t\t// ...and we believe the candidate is up to date.\n\t\tif canVote && r.raftLog.isUpToDate(m.Index, m.LogTerm) {\n\t\t\tr.logger.Infof(\"%x [logterm: %d, index: %d, vote: %x] cast %s for %x [logterm: %d, index: %d] at term %d\",\n\t\t\t\tr.id, r.raftLog.lastTerm(), r.raftLog.lastIndex(), r.Vote, m.Type, m.From, m.LogTerm, m.Index, r.Term)\n\t\t\t// When responding to Msg{Pre,}Vote messages we include the term\n\t\t\t// from the message, not the local term. To see why consider the\n\t\t\t// case where a single node was previously partitioned away and\n\t\t\t// it's local term is now of date. If we include the local term\n\t\t\t// (recall that for pre-votes we don't update the local term), the\n\t\t\t// (pre-)campaigning node on the other end will proceed to ignore\n\t\t\t// the message (it ignores all out of date messages).\n\t\t\t// The term in the original message and current local term are the\n\t\t\t// same in the case of regular votes, but different for pre-votes.\n\t\t\tr.send(pb.Message{To: m.From, Term: m.Term, Type: voteRespMsgType(m.Type)})\n\t\t\tif m.Type == pb.MsgVote {\n\t\t\t\t// Only record real votes.\n\t\t\t\tr.electionElapsed = 0\n\t\t\t\tr.Vote = m.From\n\t\t\t}\n\t\t} else {\n\t\t\tr.logger.Infof(\"%x [logterm: %d, index: %d, vote: %x] rejected %s from %x [logterm: %d, index: %d] at term %d\",\n\t\t\t\tr.id, r.raftLog.lastTerm(), r.raftLog.lastIndex(), r.Vote, m.Type, m.From, m.LogTerm, m.Index, r.Term)\n\t\t\tr.send(pb.Message{To: m.From, Term: r.Term, Type: voteRespMsgType(m.Type), Reject: true})\n\t\t}\n\n\tdefault:\n\t\terr := r.step(r, m)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\ntype stepFunc func(r *raft, m pb.Message) error\n\nfunc stepLeader(r *raft, m pb.Message) error {\n\t// These message types do not require any progress for m.From.\n\tswitch m.Type {\n\tcase pb.MsgBeat:\n\t\tr.bcastHeartbeat()\n\t\treturn nil\n\tcase pb.MsgCheckQuorum:\n\t\tif !r.checkQuorumActive() {\n\t\t\tr.logger.Warningf(\"%x stepped down to follower since quorum is not active\", r.id)\n\t\t\tr.becomeFollower(r.Term, None)\n\t\t}\n\t\treturn nil\n\tcase pb.MsgProp:\n\t\tif len(m.Entries) == 0 {\n\t\t\tr.logger.Panicf(\"%x stepped empty MsgProp\", r.id)\n\t\t}\n\t\tif _, ok := r.prs[r.id]; !ok {\n\t\t\t// If we are not currently a member of the range (i.e. this node\n\t\t\t// was removed from the configuration while serving as leader),\n\t\t\t// drop any new proposals.\n\t\t\treturn ErrProposalDropped\n\t\t}\n\t\tif r.leadTransferee != None {\n\t\t\tr.logger.Debugf(\"%x [term %d] transfer leadership to %x is in progress; dropping proposal\", r.id, r.Term, r.leadTransferee)\n\t\t\treturn ErrProposalDropped\n\t\t}\n\n\t\tfor i, e := range m.Entries {\n\t\t\tif e.Type == pb.EntryConfChange {\n\t\t\t\tif r.pendingConfIndex > r.raftLog.applied {\n\t\t\t\t\tr.logger.Infof(\"propose conf %s ignored since pending unapplied configuration [index %d, applied %d]\",\n\t\t\t\t\t\te.String(), r.pendingConfIndex, r.raftLog.applied)\n\t\t\t\t\tm.Entries[i] = pb.Entry{Type: pb.EntryNormal}\n\t\t\t\t} else {\n\t\t\t\t\tr.pendingConfIndex = r.raftLog.lastIndex() + uint64(i) + 1\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tr.appendEntry(m.Entries...)\n\t\tr.bcastAppend()\n\t\treturn nil\n\tcase pb.MsgReadIndex:\n\t\tif r.quorum() > 1 {\n\t\t\tif r.raftLog.zeroTermOnErrCompacted(r.raftLog.term(r.raftLog.committed)) != r.Term {\n\t\t\t\t// Reject read only request when this leader has not committed any log entry at its term.\n\t\t\t\treturn nil\n\t\t\t}\n\n\t\t\t// thinking: use an interally defined context instead of the user given context.\n\t\t\t// We can express this in terms of the term and index instead of a user-supplied value.\n\t\t\t// This would allow multiple reads to piggyback on the same message.\n\t\t\tswitch r.readOnly.option {\n\t\t\tcase ReadOnlySafe:\n\t\t\t\tr.readOnly.addRequest(r.raftLog.committed, m)\n\t\t\t\tr.bcastHeartbeatWithCtx(m.Entries[0].Data)\n\t\t\tcase ReadOnlyLeaseBased:\n\t\t\t\tri := r.raftLog.committed\n\t\t\t\tif m.From == None || m.From == r.id { // from local member\n\t\t\t\t\tr.readStates = append(r.readStates, ReadState{Index: r.raftLog.committed, RequestCtx: m.Entries[0].Data})\n\t\t\t\t} else {\n\t\t\t\t\tr.send(pb.Message{To: m.From, Type: pb.MsgReadIndexResp, Index: ri, Entries: m.Entries})\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tr.readStates = append(r.readStates, ReadState{Index: r.raftLog.committed, RequestCtx: m.Entries[0].Data})\n\t\t}\n\n\t\treturn nil\n\t}\n\n\t// All other message types require a progress for m.From (pr).\n\tpr := r.getProgress(m.From)\n\tif pr == nil {\n\t\tr.logger.Debugf(\"%x no progress available for %x\", r.id, m.From)\n\t\treturn nil\n\t}\n\tswitch m.Type {\n\tcase pb.MsgAppResp:\n\t\tpr.RecentActive = true\n\n\t\tif m.Reject {\n\t\t\tr.logger.Debugf(\"%x received msgApp rejection(lastindex: %d) from %x for index %d\",\n\t\t\t\tr.id, m.RejectHint, m.From, m.Index)\n\t\t\tif pr.maybeDecrTo(m.Index, m.RejectHint) {\n\t\t\t\tr.logger.Debugf(\"%x decreased progress of %x to [%s]\", r.id, m.From, pr)\n\t\t\t\tif pr.State == ProgressStateReplicate {\n\t\t\t\t\tpr.becomeProbe()\n\t\t\t\t}\n\t\t\t\tr.sendAppend(m.From)\n\t\t\t}\n\t\t} else {\n\t\t\toldPaused := pr.IsPaused()\n\t\t\tif pr.maybeUpdate(m.Index) {\n\t\t\t\tswitch {\n\t\t\t\tcase pr.State == ProgressStateProbe:\n\t\t\t\t\tpr.becomeReplicate()\n\t\t\t\tcase pr.State == ProgressStateSnapshot && pr.needSnapshotAbort():\n\t\t\t\t\tr.logger.Debugf(\"%x snapshot aborted, resumed sending replication messages to %x [%s]\", r.id, m.From, pr)\n\t\t\t\t\tpr.becomeProbe()\n\t\t\t\tcase pr.State == ProgressStateReplicate:\n\t\t\t\t\tpr.ins.freeTo(m.Index)\n\t\t\t\t}\n\n\t\t\t\tif r.maybeCommit() {\n\t\t\t\t\tr.bcastAppend()\n\t\t\t\t} else if oldPaused {\n\t\t\t\t\t// update() reset the wait state on this node. If we had delayed sending\n\t\t\t\t\t// an update before, send it now.\n\t\t\t\t\tr.sendAppend(m.From)\n\t\t\t\t}\n\t\t\t\t// Transfer leadership is in progress.\n\t\t\t\tif m.From == r.leadTransferee && pr.Match == r.raftLog.lastIndex() {\n\t\t\t\t\tr.logger.Infof(\"%x sent MsgTimeoutNow to %x after received MsgAppResp\", r.id, m.From)\n\t\t\t\t\tr.sendTimeoutNow(m.From)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\tcase pb.MsgHeartbeatResp:\n\t\tpr.RecentActive = true\n\t\tpr.resume()\n\n\t\t// free one slot for the full inflights window to allow progress.\n\t\tif pr.State == ProgressStateReplicate && pr.ins.full() {\n\t\t\tpr.ins.freeFirstOne()\n\t\t}\n\t\tif pr.Match < r.raftLog.lastIndex() {\n\t\t\tr.sendAppend(m.From)\n\t\t}\n\n\t\tif r.readOnly.option != ReadOnlySafe || len(m.Context) == 0 {\n\t\t\treturn nil\n\t\t}\n\n\t\tackCount := r.readOnly.recvAck(m)\n\t\tif ackCount < r.quorum() {\n\t\t\treturn nil\n\t\t}\n\n\t\trss := r.readOnly.advance(m)\n\t\tfor _, rs := range rss {\n\t\t\treq := rs.req\n\t\t\tif req.From == None || req.From == r.id { // from local member\n\t\t\t\tr.readStates = append(r.readStates, ReadState{Index: rs.index, RequestCtx: req.Entries[0].Data})\n\t\t\t} else {\n\t\t\t\tr.send(pb.Message{To: req.From, Type: pb.MsgReadIndexResp, Index: rs.index, Entries: req.Entries})\n\t\t\t}\n\t\t}\n\tcase pb.MsgSnapStatus:\n\t\tif pr.State != ProgressStateSnapshot {\n\t\t\treturn nil\n\t\t}\n\t\tif !m.Reject {\n\t\t\tpr.becomeProbe()\n\t\t\tr.logger.Debugf(\"%x snapshot succeeded, resumed sending replication messages to %x [%s]\", r.id, m.From, pr)\n\t\t} else {\n\t\t\tpr.snapshotFailure()\n\t\t\tpr.becomeProbe()\n\t\t\tr.logger.Debugf(\"%x snapshot failed, resumed sending replication messages to %x [%s]\", r.id, m.From, pr)\n\t\t}\n\t\t// If snapshot finish, wait for the msgAppResp from the remote node before sending\n\t\t// out the next msgApp.\n\t\t// If snapshot failure, wait for a heartbeat interval before next try\n\t\tpr.pause()\n\tcase pb.MsgUnreachable:\n\t\t// During optimistic replication, if the remote becomes unreachable,\n\t\t// there is huge probability that a MsgApp is lost.\n\t\tif pr.State == ProgressStateReplicate {\n\t\t\tpr.becomeProbe()\n\t\t}\n\t\tr.logger.Debugf(\"%x failed to send message to %x because it is unreachable [%s]\", r.id, m.From, pr)\n\tcase pb.MsgTransferLeader:\n\t\tif pr.IsLearner {\n\t\t\tr.logger.Debugf(\"%x is learner. Ignored transferring leadership\", r.id)\n\t\t\treturn nil\n\t\t}\n\t\tleadTransferee := m.From\n\t\tlastLeadTransferee := r.leadTransferee\n\t\tif lastLeadTransferee != None {\n\t\t\tif lastLeadTransferee == leadTransferee {\n\t\t\t\tr.logger.Infof(\"%x [term %d] transfer leadership to %x is in progress, ignores request to same node %x\",\n\t\t\t\t\tr.id, r.Term, leadTransferee, leadTransferee)\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\tr.abortLeaderTransfer()\n\t\t\tr.logger.Infof(\"%x [term %d] abort previous transferring leadership to %x\", r.id, r.Term, lastLeadTransferee)\n\t\t}\n\t\tif leadTransferee == r.id {\n\t\t\tr.logger.Debugf(\"%x is already leader. Ignored transferring leadership to self\", r.id)\n\t\t\treturn nil\n\t\t}\n\t\t// Transfer leadership to third party.\n\t\tr.logger.Infof(\"%x [term %d] starts to transfer leadership to %x\", r.id, r.Term, leadTransferee)\n\t\t// Transfer leadership should be finished in one electionTimeout, so reset r.electionElapsed.\n\t\tr.electionElapsed = 0\n\t\tr.leadTransferee = leadTransferee\n\t\tif pr.Match == r.raftLog.lastIndex() {\n\t\t\tr.sendTimeoutNow(leadTransferee)\n\t\t\tr.logger.Infof(\"%x sends MsgTimeoutNow to %x immediately as %x already has up-to-date log\", r.id, leadTransferee, leadTransferee)\n\t\t} else {\n\t\t\tr.sendAppend(leadTransferee)\n\t\t}\n\t}\n\treturn nil\n}\n\n// stepCandidate is shared by StateCandidate and StatePreCandidate; the difference is\n// whether they respond to MsgVoteResp or MsgPreVoteResp.\nfunc stepCandidate(r *raft, m pb.Message) error {\n\t// Only handle vote responses corresponding to our candidacy (while in\n\t// StateCandidate, we may get stale MsgPreVoteResp messages in this term from\n\t// our pre-candidate state).\n\tvar myVoteRespType pb.MessageType\n\tif r.state == StatePreCandidate {\n\t\tmyVoteRespType = pb.MsgPreVoteResp\n\t} else {\n\t\tmyVoteRespType = pb.MsgVoteResp\n\t}\n\tswitch m.Type {\n\tcase pb.MsgProp:\n\t\tr.logger.Infof(\"%x no leader at term %d; dropping proposal\", r.id, r.Term)\n\t\treturn ErrProposalDropped\n\tcase pb.MsgApp:\n\t\tr.becomeFollower(m.Term, m.From) // always m.Term == r.Term\n\t\tr.handleAppendEntries(m)\n\tcase pb.MsgHeartbeat:\n\t\tr.becomeFollower(m.Term, m.From) // always m.Term == r.Term\n\t\tr.handleHeartbeat(m)\n\tcase pb.MsgSnap:\n\t\tr.becomeFollower(m.Term, m.From) // always m.Term == r.Term\n\t\tr.handleSnapshot(m)\n\tcase myVoteRespType:\n\t\tgr := r.poll(m.From, m.Type, !m.Reject)\n\t\tr.logger.Infof(\"%x [quorum:%d] has received %d %s votes and %d vote rejections\", r.id, r.quorum(), gr, m.Type, len(r.votes)-gr)\n\t\tswitch r.quorum() {\n\t\tcase gr:\n\t\t\tif r.state == StatePreCandidate {\n\t\t\t\tr.campaign(campaignElection)\n\t\t\t} else {\n\t\t\t\tr.becomeLeader()\n\t\t\t\tr.bcastAppend()\n\t\t\t}\n\t\tcase len(r.votes) - gr:\n\t\t\t// pb.MsgPreVoteResp contains future term of pre-candidate\n\t\t\t// m.Term > r.Term; reuse r.Term\n\t\t\tr.becomeFollower(r.Term, None)\n\t\t}\n\tcase pb.MsgTimeoutNow:\n\t\tr.logger.Debugf(\"%x [term %d state %v] ignored MsgTimeoutNow from %x\", r.id, r.Term, r.state, m.From)\n\t}\n\treturn nil\n}\n\nfunc stepFollower(r *raft, m pb.Message) error {\n\tswitch m.Type {\n\tcase pb.MsgProp:\n\t\tif r.lead == None {\n\t\t\tr.logger.Infof(\"%x no leader at term %d; dropping proposal\", r.id, r.Term)\n\t\t\treturn ErrProposalDropped\n\t\t} else if r.disableProposalForwarding {\n\t\t\tr.logger.Infof(\"%x not forwarding to leader %x at term %d; dropping proposal\", r.id, r.lead, r.Term)\n\t\t\treturn ErrProposalDropped\n\t\t}\n\t\tm.To = r.lead\n\t\tr.send(m)\n\tcase pb.MsgApp:\n\t\tr.electionElapsed = 0\n\t\tr.lead = m.From\n\t\tr.handleAppendEntries(m)\n\tcase pb.MsgHeartbeat:\n\t\tr.electionElapsed = 0\n\t\tr.lead = m.From\n\t\tr.handleHeartbeat(m)\n\tcase pb.MsgSnap:\n\t\tr.electionElapsed = 0\n\t\tr.lead = m.From\n\t\tr.handleSnapshot(m)\n\tcase pb.MsgTransferLeader:\n\t\tif r.lead == None {\n\t\t\tr.logger.Infof(\"%x no leader at term %d; dropping leader transfer msg\", r.id, r.Term)\n\t\t\treturn nil\n\t\t}\n\t\tm.To = r.lead\n\t\tr.send(m)\n\tcase pb.MsgTimeoutNow:\n\t\tif r.promotable() {\n\t\t\tr.logger.Infof(\"%x [term %d] received MsgTimeoutNow from %x and starts an election to get leadership.\", r.id, r.Term, m.From)\n\t\t\t// Leadership transfers never use pre-vote even if r.preVote is true; we\n\t\t\t// know we are not recovering from a partition so there is no need for the\n\t\t\t// extra round trip.\n\t\t\tr.campaign(campaignTransfer)\n\t\t} else {\n\t\t\tr.logger.Infof(\"%x received MsgTimeoutNow from %x but is not promotable\", r.id, m.From)\n\t\t}\n\tcase pb.MsgReadIndex:\n\t\tif r.lead == None {\n\t\t\tr.logger.Infof(\"%x no leader at term %d; dropping index reading msg\", r.id, r.Term)\n\t\t\treturn nil\n\t\t}\n\t\tm.To = r.lead\n\t\tr.send(m)\n\tcase pb.MsgReadIndexResp:\n\t\tif len(m.Entries) != 1 {\n\t\t\tr.logger.Errorf(\"%x invalid format of MsgReadIndexResp from %x, entries count: %d\", r.id, m.From, len(m.Entries))\n\t\t\treturn nil\n\t\t}\n\t\tr.readStates = append(r.readStates, ReadState{Index: m.Index, RequestCtx: m.Entries[0].Data})\n\t}\n\treturn nil\n}\n\nfunc (r *raft) handleAppendEntries(m pb.Message) {\n\tif m.Index < r.raftLog.committed {\n\t\tr.send(pb.Message{To: m.From, Type: pb.MsgAppResp, Index: r.raftLog.committed})\n\t\treturn\n\t}\n\n\tif mlastIndex, ok := r.raftLog.maybeAppend(m.Index, m.LogTerm, m.Commit, m.Entries...); ok {\n\t\tr.send(pb.Message{To: m.From, Type: pb.MsgAppResp, Index: mlastIndex})\n\t} else {\n\t\tr.logger.Debugf(\"%x [logterm: %d, index: %d] rejected msgApp [logterm: %d, index: %d] from %x\",\n\t\t\tr.id, r.raftLog.zeroTermOnErrCompacted(r.raftLog.term(m.Index)), m.Index, m.LogTerm, m.Index, m.From)\n\t\tr.send(pb.Message{To: m.From, Type: pb.MsgAppResp, Index: m.Index, Reject: true, RejectHint: r.raftLog.lastIndex()})\n\t}\n}\n\nfunc (r *raft) handleHeartbeat(m pb.Message) {\n\tr.raftLog.commitTo(m.Commit)\n\tr.send(pb.Message{To: m.From, Type: pb.MsgHeartbeatResp, Context: m.Context})\n}\n\nfunc (r *raft) handleSnapshot(m pb.Message) {\n\tsindex, sterm := m.Snapshot.Metadata.Index, m.Snapshot.Metadata.Term\n\tif r.restore(m.Snapshot) {\n\t\tr.logger.Infof(\"%x [commit: %d] restored snapshot [index: %d, term: %d]\",\n\t\t\tr.id, r.raftLog.committed, sindex, sterm)\n\t\tr.send(pb.Message{To: m.From, Type: pb.MsgAppResp, Index: r.raftLog.lastIndex()})\n\t} else {\n\t\tr.logger.Infof(\"%x [commit: %d] ignored snapshot [index: %d, term: %d]\",\n\t\t\tr.id, r.raftLog.committed, sindex, sterm)\n\t\tr.send(pb.Message{To: m.From, Type: pb.MsgAppResp, Index: r.raftLog.committed})\n\t}\n}\n\n// restore recovers the state machine from a snapshot. It restores the log and the\n// configuration of state machine.\nfunc (r *raft) restore(s pb.Snapshot) bool {\n\tif s.Metadata.Index <= r.raftLog.committed {\n\t\treturn false\n\t}\n\tif r.raftLog.matchTerm(s.Metadata.Index, s.Metadata.Term) {\n\t\tr.logger.Infof(\"%x [commit: %d, lastindex: %d, lastterm: %d] fast-forwarded commit to snapshot [index: %d, term: %d]\",\n\t\t\tr.id, r.raftLog.committed, r.raftLog.lastIndex(), r.raftLog.lastTerm(), s.Metadata.Index, s.Metadata.Term)\n\t\tr.raftLog.commitTo(s.Metadata.Index)\n\t\treturn false\n\t}\n\n\t// The normal peer can't become learner.\n\tif !r.isLearner {\n\t\tfor _, id := range s.Metadata.ConfState.Learners {\n\t\t\tif id == r.id {\n\t\t\t\tr.logger.Errorf(\"%x can't become learner when restores snapshot [index: %d, term: %d]\", r.id, s.Metadata.Index, s.Metadata.Term)\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\n\tr.logger.Infof(\"%x [commit: %d, lastindex: %d, lastterm: %d] starts to restore snapshot [index: %d, term: %d]\",\n\t\tr.id, r.raftLog.committed, r.raftLog.lastIndex(), r.raftLog.lastTerm(), s.Metadata.Index, s.Metadata.Term)\n\n\tr.raftLog.restore(s)\n\tr.prs = make(map[uint64]*Progress)\n\tr.learnerPrs = make(map[uint64]*Progress)\n\tr.restoreNode(s.Metadata.ConfState.Nodes, false)\n\tr.restoreNode(s.Metadata.ConfState.Learners, true)\n\treturn true\n}\n\nfunc (r *raft) restoreNode(nodes []uint64, isLearner bool) {\n\tfor _, n := range nodes {\n\t\tmatch, next := uint64(0), r.raftLog.lastIndex()+1\n\t\tif n == r.id {\n\t\t\tmatch = next - 1\n\t\t\tr.isLearner = isLearner\n\t\t}\n\t\tr.setProgress(n, match, next, isLearner)\n\t\tr.logger.Infof(\"%x restored progress of %x [%s]\", r.id, n, r.getProgress(n))\n\t}\n}\n\n// promotable indicates whether state machine can be promoted to leader,\n// which is true when its own id is in progress list.\nfunc (r *raft) promotable() bool {\n\t_, ok := r.prs[r.id]\n\treturn ok\n}\n\nfunc (r *raft) addNode(id uint64) {\n\tr.addNodeOrLearnerNode(id, false)\n}\n\nfunc (r *raft) addLearner(id uint64) {\n\tr.addNodeOrLearnerNode(id, true)\n}\n\nfunc (r *raft) addNodeOrLearnerNode(id uint64, isLearner bool) {\n\tpr := r.getProgress(id)\n\tif pr == nil {\n\t\tr.setProgress(id, 0, r.raftLog.lastIndex()+1, isLearner)\n\t} else {\n\t\tif isLearner && !pr.IsLearner {\n\t\t\t// can only change Learner to Voter\n\t\t\tr.logger.Infof(\"%x ignored addLearner: do not support changing %x from raft peer to learner.\", r.id, id)\n\t\t\treturn\n\t\t}\n\n\t\tif isLearner == pr.IsLearner {\n\t\t\t// Ignore any redundant addNode calls (which can happen because the\n\t\t\t// initial bootstrapping entries are applied twice).\n\t\t\treturn\n\t\t}\n\n\t\t// change Learner to Voter, use origin Learner progress\n\t\tdelete(r.learnerPrs, id)\n\t\tpr.IsLearner = false\n\t\tr.prs[id] = pr\n\t}\n\n\tif r.id == id {\n\t\tr.isLearner = isLearner\n\t}\n\n\t// When a node is first added, we should mark it as recently active.\n\t// Otherwise, CheckQuorum may cause us to step down if it is invoked\n\t// before the added node has a chance to communicate with us.\n\tpr = r.getProgress(id)\n\tpr.RecentActive = true\n}\n\nfunc (r *raft) removeNode(id uint64) {\n\tr.delProgress(id)\n\n\t// do not try to commit or abort transferring if there is no nodes in the cluster.\n\tif len(r.prs) == 0 && len(r.learnerPrs) == 0 {\n\t\treturn\n\t}\n\n\t// The quorum size is now smaller, so see if any pending entries can\n\t// be committed.\n\tif r.maybeCommit() {\n\t\tr.bcastAppend()\n\t}\n\t// If the removed node is the leadTransferee, then abort the leadership transferring.\n\tif r.state == StateLeader && r.leadTransferee == id {\n\t\tr.abortLeaderTransfer()\n\t}\n}\n\nfunc (r *raft) setProgress(id, match, next uint64, isLearner bool) {\n\tif !isLearner {\n\t\tdelete(r.learnerPrs, id)\n\t\tr.prs[id] = &Progress{Next: next, Match: match, ins: newInflights(r.maxInflight)}\n\t\treturn\n\t}\n\n\tif _, ok := r.prs[id]; ok {\n\t\tpanic(fmt.Sprintf(\"%x unexpected changing from voter to learner for %x\", r.id, id))\n\t}\n\tr.learnerPrs[id] = &Progress{Next: next, Match: match, ins: newInflights(r.maxInflight), IsLearner: true}\n}\n\nfunc (r *raft) delProgress(id uint64) {\n\tdelete(r.prs, id)\n\tdelete(r.learnerPrs, id)\n}\n\nfunc (r *raft) loadState(state pb.HardState) {\n\tif state.Commit < r.raftLog.committed || state.Commit > r.raftLog.lastIndex() {\n\t\tr.logger.Panicf(\"%x state.commit %d is out of range [%d, %d]\", r.id, state.Commit, r.raftLog.committed, r.raftLog.lastIndex())\n\t}\n\tr.raftLog.committed = state.Commit\n\tr.Term = state.Term\n\tr.Vote = state.Vote\n}\n\n// pastElectionTimeout returns true iff r.electionElapsed is greater\n// than or equal to the randomized election timeout in\n// [electiontimeout, 2 * electiontimeout - 1].\nfunc (r *raft) pastElectionTimeout() bool {\n\treturn r.electionElapsed >= r.randomizedElectionTimeout\n}\n\nfunc (r *raft) resetRandomizedElectionTimeout() {\n\tr.randomizedElectionTimeout = r.electionTimeout + globalRand.Intn(r.electionTimeout)\n}\n\n// checkQuorumActive returns true if the quorum is active from\n// the view of the local raft state machine. Otherwise, it returns\n// false.\n// checkQuorumActive also resets all RecentActive to false.\nfunc (r *raft) checkQuorumActive() bool {\n\tvar act int\n\n\tr.forEachProgress(func(id uint64, pr *Progress) {\n\t\tif id == r.id { // self is always active\n\t\t\tact++\n\t\t\treturn\n\t\t}\n\n\t\tif pr.RecentActive && !pr.IsLearner {\n\t\t\tact++\n\t\t}\n\n\t\tpr.RecentActive = false\n\t})\n\n\treturn act >= r.quorum()\n}\n\nfunc (r *raft) sendTimeoutNow(to uint64) {\n\tr.send(pb.Message{To: to, Type: pb.MsgTimeoutNow})\n}\n\nfunc (r *raft) abortLeaderTransfer() {\n\tr.leadTransferee = None\n}\n\nfunc numOfPendingConf(ents []pb.Entry) int {\n\tn := 0\n\tfor i := range ents {\n\t\tif ents[i].Type == pb.EntryConfChange {\n\t\t\tn++\n\t\t}\n\t}\n\treturn n\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/raftpb/raft.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: raft.proto\n\n/*\n\tPackage raftpb is a generated protocol buffer package.\n\n\tIt is generated from these files:\n\t\traft.proto\n\n\tIt has these top-level messages:\n\t\tEntry\n\t\tSnapshotMetadata\n\t\tSnapshot\n\t\tMessage\n\t\tHardState\n\t\tConfState\n\t\tConfChange\n*/\npackage raftpb\n\nimport (\n\t\"fmt\"\n\n\tproto \"github.com/golang/protobuf/proto\"\n\n\tmath \"math\"\n\n\t_ \"github.com/gogo/protobuf/gogoproto\"\n\n\tio \"io\"\n)\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\ntype EntryType int32\n\nconst (\n\tEntryNormal     EntryType = 0\n\tEntryConfChange EntryType = 1\n)\n\nvar EntryType_name = map[int32]string{\n\t0: \"EntryNormal\",\n\t1: \"EntryConfChange\",\n}\nvar EntryType_value = map[string]int32{\n\t\"EntryNormal\":     0,\n\t\"EntryConfChange\": 1,\n}\n\nfunc (x EntryType) Enum() *EntryType {\n\tp := new(EntryType)\n\t*p = x\n\treturn p\n}\nfunc (x EntryType) String() string {\n\treturn proto.EnumName(EntryType_name, int32(x))\n}\nfunc (x *EntryType) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(EntryType_value, data, \"EntryType\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = EntryType(value)\n\treturn nil\n}\nfunc (EntryType) EnumDescriptor() ([]byte, []int) { return fileDescriptorRaft, []int{0} }\n\ntype MessageType int32\n\nconst (\n\tMsgHup            MessageType = 0\n\tMsgBeat           MessageType = 1\n\tMsgProp           MessageType = 2\n\tMsgApp            MessageType = 3\n\tMsgAppResp        MessageType = 4\n\tMsgVote           MessageType = 5\n\tMsgVoteResp       MessageType = 6\n\tMsgSnap           MessageType = 7\n\tMsgHeartbeat      MessageType = 8\n\tMsgHeartbeatResp  MessageType = 9\n\tMsgUnreachable    MessageType = 10\n\tMsgSnapStatus     MessageType = 11\n\tMsgCheckQuorum    MessageType = 12\n\tMsgTransferLeader MessageType = 13\n\tMsgTimeoutNow     MessageType = 14\n\tMsgReadIndex      MessageType = 15\n\tMsgReadIndexResp  MessageType = 16\n\tMsgPreVote        MessageType = 17\n\tMsgPreVoteResp    MessageType = 18\n)\n\nvar MessageType_name = map[int32]string{\n\t0:  \"MsgHup\",\n\t1:  \"MsgBeat\",\n\t2:  \"MsgProp\",\n\t3:  \"MsgApp\",\n\t4:  \"MsgAppResp\",\n\t5:  \"MsgVote\",\n\t6:  \"MsgVoteResp\",\n\t7:  \"MsgSnap\",\n\t8:  \"MsgHeartbeat\",\n\t9:  \"MsgHeartbeatResp\",\n\t10: \"MsgUnreachable\",\n\t11: \"MsgSnapStatus\",\n\t12: \"MsgCheckQuorum\",\n\t13: \"MsgTransferLeader\",\n\t14: \"MsgTimeoutNow\",\n\t15: \"MsgReadIndex\",\n\t16: \"MsgReadIndexResp\",\n\t17: \"MsgPreVote\",\n\t18: \"MsgPreVoteResp\",\n}\nvar MessageType_value = map[string]int32{\n\t\"MsgHup\":            0,\n\t\"MsgBeat\":           1,\n\t\"MsgProp\":           2,\n\t\"MsgApp\":            3,\n\t\"MsgAppResp\":        4,\n\t\"MsgVote\":           5,\n\t\"MsgVoteResp\":       6,\n\t\"MsgSnap\":           7,\n\t\"MsgHeartbeat\":      8,\n\t\"MsgHeartbeatResp\":  9,\n\t\"MsgUnreachable\":    10,\n\t\"MsgSnapStatus\":     11,\n\t\"MsgCheckQuorum\":    12,\n\t\"MsgTransferLeader\": 13,\n\t\"MsgTimeoutNow\":     14,\n\t\"MsgReadIndex\":      15,\n\t\"MsgReadIndexResp\":  16,\n\t\"MsgPreVote\":        17,\n\t\"MsgPreVoteResp\":    18,\n}\n\nfunc (x MessageType) Enum() *MessageType {\n\tp := new(MessageType)\n\t*p = x\n\treturn p\n}\nfunc (x MessageType) String() string {\n\treturn proto.EnumName(MessageType_name, int32(x))\n}\nfunc (x *MessageType) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(MessageType_value, data, \"MessageType\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = MessageType(value)\n\treturn nil\n}\nfunc (MessageType) EnumDescriptor() ([]byte, []int) { return fileDescriptorRaft, []int{1} }\n\ntype ConfChangeType int32\n\nconst (\n\tConfChangeAddNode        ConfChangeType = 0\n\tConfChangeRemoveNode     ConfChangeType = 1\n\tConfChangeUpdateNode     ConfChangeType = 2\n\tConfChangeAddLearnerNode ConfChangeType = 3\n)\n\nvar ConfChangeType_name = map[int32]string{\n\t0: \"ConfChangeAddNode\",\n\t1: \"ConfChangeRemoveNode\",\n\t2: \"ConfChangeUpdateNode\",\n\t3: \"ConfChangeAddLearnerNode\",\n}\nvar ConfChangeType_value = map[string]int32{\n\t\"ConfChangeAddNode\":        0,\n\t\"ConfChangeRemoveNode\":     1,\n\t\"ConfChangeUpdateNode\":     2,\n\t\"ConfChangeAddLearnerNode\": 3,\n}\n\nfunc (x ConfChangeType) Enum() *ConfChangeType {\n\tp := new(ConfChangeType)\n\t*p = x\n\treturn p\n}\nfunc (x ConfChangeType) String() string {\n\treturn proto.EnumName(ConfChangeType_name, int32(x))\n}\nfunc (x *ConfChangeType) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(ConfChangeType_value, data, \"ConfChangeType\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = ConfChangeType(value)\n\treturn nil\n}\nfunc (ConfChangeType) EnumDescriptor() ([]byte, []int) { return fileDescriptorRaft, []int{2} }\n\ntype Entry struct {\n\tTerm             uint64    `protobuf:\"varint,2,opt,name=Term\" json:\"Term\"`\n\tIndex            uint64    `protobuf:\"varint,3,opt,name=Index\" json:\"Index\"`\n\tType             EntryType `protobuf:\"varint,1,opt,name=Type,enum=raftpb.EntryType\" json:\"Type\"`\n\tData             []byte    `protobuf:\"bytes,4,opt,name=Data\" json:\"Data,omitempty\"`\n\tXXX_unrecognized []byte    `json:\"-\"`\n}\n\nfunc (m *Entry) Reset()                    { *m = Entry{} }\nfunc (m *Entry) String() string            { return proto.CompactTextString(m) }\nfunc (*Entry) ProtoMessage()               {}\nfunc (*Entry) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{0} }\n\ntype SnapshotMetadata struct {\n\tConfState        ConfState `protobuf:\"bytes,1,opt,name=conf_state,json=confState\" json:\"conf_state\"`\n\tIndex            uint64    `protobuf:\"varint,2,opt,name=index\" json:\"index\"`\n\tTerm             uint64    `protobuf:\"varint,3,opt,name=term\" json:\"term\"`\n\tXXX_unrecognized []byte    `json:\"-\"`\n}\n\nfunc (m *SnapshotMetadata) Reset()                    { *m = SnapshotMetadata{} }\nfunc (m *SnapshotMetadata) String() string            { return proto.CompactTextString(m) }\nfunc (*SnapshotMetadata) ProtoMessage()               {}\nfunc (*SnapshotMetadata) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{1} }\n\ntype Snapshot struct {\n\tData             []byte           `protobuf:\"bytes,1,opt,name=data\" json:\"data,omitempty\"`\n\tMetadata         SnapshotMetadata `protobuf:\"bytes,2,opt,name=metadata\" json:\"metadata\"`\n\tXXX_unrecognized []byte           `json:\"-\"`\n}\n\nfunc (m *Snapshot) Reset()                    { *m = Snapshot{} }\nfunc (m *Snapshot) String() string            { return proto.CompactTextString(m) }\nfunc (*Snapshot) ProtoMessage()               {}\nfunc (*Snapshot) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{2} }\n\ntype Message struct {\n\tType             MessageType `protobuf:\"varint,1,opt,name=type,enum=raftpb.MessageType\" json:\"type\"`\n\tTo               uint64      `protobuf:\"varint,2,opt,name=to\" json:\"to\"`\n\tFrom             uint64      `protobuf:\"varint,3,opt,name=from\" json:\"from\"`\n\tTerm             uint64      `protobuf:\"varint,4,opt,name=term\" json:\"term\"`\n\tLogTerm          uint64      `protobuf:\"varint,5,opt,name=logTerm\" json:\"logTerm\"`\n\tIndex            uint64      `protobuf:\"varint,6,opt,name=index\" json:\"index\"`\n\tEntries          []Entry     `protobuf:\"bytes,7,rep,name=entries\" json:\"entries\"`\n\tCommit           uint64      `protobuf:\"varint,8,opt,name=commit\" json:\"commit\"`\n\tSnapshot         Snapshot    `protobuf:\"bytes,9,opt,name=snapshot\" json:\"snapshot\"`\n\tReject           bool        `protobuf:\"varint,10,opt,name=reject\" json:\"reject\"`\n\tRejectHint       uint64      `protobuf:\"varint,11,opt,name=rejectHint\" json:\"rejectHint\"`\n\tContext          []byte      `protobuf:\"bytes,12,opt,name=context\" json:\"context,omitempty\"`\n\tXXX_unrecognized []byte      `json:\"-\"`\n}\n\nfunc (m *Message) Reset()                    { *m = Message{} }\nfunc (m *Message) String() string            { return proto.CompactTextString(m) }\nfunc (*Message) ProtoMessage()               {}\nfunc (*Message) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{3} }\n\ntype HardState struct {\n\tTerm             uint64 `protobuf:\"varint,1,opt,name=term\" json:\"term\"`\n\tVote             uint64 `protobuf:\"varint,2,opt,name=vote\" json:\"vote\"`\n\tCommit           uint64 `protobuf:\"varint,3,opt,name=commit\" json:\"commit\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *HardState) Reset()                    { *m = HardState{} }\nfunc (m *HardState) String() string            { return proto.CompactTextString(m) }\nfunc (*HardState) ProtoMessage()               {}\nfunc (*HardState) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{4} }\n\ntype ConfState struct {\n\tNodes            []uint64 `protobuf:\"varint,1,rep,name=nodes\" json:\"nodes,omitempty\"`\n\tLearners         []uint64 `protobuf:\"varint,2,rep,name=learners\" json:\"learners,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *ConfState) Reset()                    { *m = ConfState{} }\nfunc (m *ConfState) String() string            { return proto.CompactTextString(m) }\nfunc (*ConfState) ProtoMessage()               {}\nfunc (*ConfState) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{5} }\n\ntype ConfChange struct {\n\tID               uint64         `protobuf:\"varint,1,opt,name=ID\" json:\"ID\"`\n\tType             ConfChangeType `protobuf:\"varint,2,opt,name=Type,enum=raftpb.ConfChangeType\" json:\"Type\"`\n\tNodeID           uint64         `protobuf:\"varint,3,opt,name=NodeID\" json:\"NodeID\"`\n\tContext          []byte         `protobuf:\"bytes,4,opt,name=Context\" json:\"Context,omitempty\"`\n\tXXX_unrecognized []byte         `json:\"-\"`\n}\n\nfunc (m *ConfChange) Reset()                    { *m = ConfChange{} }\nfunc (m *ConfChange) String() string            { return proto.CompactTextString(m) }\nfunc (*ConfChange) ProtoMessage()               {}\nfunc (*ConfChange) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{6} }\n\nfunc init() {\n\tproto.RegisterType((*Entry)(nil), \"raftpb.Entry\")\n\tproto.RegisterType((*SnapshotMetadata)(nil), \"raftpb.SnapshotMetadata\")\n\tproto.RegisterType((*Snapshot)(nil), \"raftpb.Snapshot\")\n\tproto.RegisterType((*Message)(nil), \"raftpb.Message\")\n\tproto.RegisterType((*HardState)(nil), \"raftpb.HardState\")\n\tproto.RegisterType((*ConfState)(nil), \"raftpb.ConfState\")\n\tproto.RegisterType((*ConfChange)(nil), \"raftpb.ConfChange\")\n\tproto.RegisterEnum(\"raftpb.EntryType\", EntryType_name, EntryType_value)\n\tproto.RegisterEnum(\"raftpb.MessageType\", MessageType_name, MessageType_value)\n\tproto.RegisterEnum(\"raftpb.ConfChangeType\", ConfChangeType_name, ConfChangeType_value)\n}\nfunc (m *Entry) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Entry) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tdAtA[i] = 0x8\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Type))\n\tdAtA[i] = 0x10\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Term))\n\tdAtA[i] = 0x18\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Index))\n\tif m.Data != nil {\n\t\tdAtA[i] = 0x22\n\t\ti++\n\t\ti = encodeVarintRaft(dAtA, i, uint64(len(m.Data)))\n\t\ti += copy(dAtA[i:], m.Data)\n\t}\n\tif m.XXX_unrecognized != nil {\n\t\ti += copy(dAtA[i:], m.XXX_unrecognized)\n\t}\n\treturn i, nil\n}\n\nfunc (m *SnapshotMetadata) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *SnapshotMetadata) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tdAtA[i] = 0xa\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.ConfState.Size()))\n\tn1, err := m.ConfState.MarshalTo(dAtA[i:])\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\ti += n1\n\tdAtA[i] = 0x10\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Index))\n\tdAtA[i] = 0x18\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Term))\n\tif m.XXX_unrecognized != nil {\n\t\ti += copy(dAtA[i:], m.XXX_unrecognized)\n\t}\n\treturn i, nil\n}\n\nfunc (m *Snapshot) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Snapshot) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Data != nil {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintRaft(dAtA, i, uint64(len(m.Data)))\n\t\ti += copy(dAtA[i:], m.Data)\n\t}\n\tdAtA[i] = 0x12\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Metadata.Size()))\n\tn2, err := m.Metadata.MarshalTo(dAtA[i:])\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\ti += n2\n\tif m.XXX_unrecognized != nil {\n\t\ti += copy(dAtA[i:], m.XXX_unrecognized)\n\t}\n\treturn i, nil\n}\n\nfunc (m *Message) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *Message) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tdAtA[i] = 0x8\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Type))\n\tdAtA[i] = 0x10\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.To))\n\tdAtA[i] = 0x18\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.From))\n\tdAtA[i] = 0x20\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Term))\n\tdAtA[i] = 0x28\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.LogTerm))\n\tdAtA[i] = 0x30\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Index))\n\tif len(m.Entries) > 0 {\n\t\tfor _, msg := range m.Entries {\n\t\t\tdAtA[i] = 0x3a\n\t\t\ti++\n\t\t\ti = encodeVarintRaft(dAtA, i, uint64(msg.Size()))\n\t\t\tn, err := msg.MarshalTo(dAtA[i:])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\ti += n\n\t\t}\n\t}\n\tdAtA[i] = 0x40\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Commit))\n\tdAtA[i] = 0x4a\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Snapshot.Size()))\n\tn3, err := m.Snapshot.MarshalTo(dAtA[i:])\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\ti += n3\n\tdAtA[i] = 0x50\n\ti++\n\tif m.Reject {\n\t\tdAtA[i] = 1\n\t} else {\n\t\tdAtA[i] = 0\n\t}\n\ti++\n\tdAtA[i] = 0x58\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.RejectHint))\n\tif m.Context != nil {\n\t\tdAtA[i] = 0x62\n\t\ti++\n\t\ti = encodeVarintRaft(dAtA, i, uint64(len(m.Context)))\n\t\ti += copy(dAtA[i:], m.Context)\n\t}\n\tif m.XXX_unrecognized != nil {\n\t\ti += copy(dAtA[i:], m.XXX_unrecognized)\n\t}\n\treturn i, nil\n}\n\nfunc (m *HardState) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *HardState) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tdAtA[i] = 0x8\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Term))\n\tdAtA[i] = 0x10\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Vote))\n\tdAtA[i] = 0x18\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Commit))\n\tif m.XXX_unrecognized != nil {\n\t\ti += copy(dAtA[i:], m.XXX_unrecognized)\n\t}\n\treturn i, nil\n}\n\nfunc (m *ConfState) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ConfState) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Nodes) > 0 {\n\t\tfor _, num := range m.Nodes {\n\t\t\tdAtA[i] = 0x8\n\t\t\ti++\n\t\t\ti = encodeVarintRaft(dAtA, i, uint64(num))\n\t\t}\n\t}\n\tif len(m.Learners) > 0 {\n\t\tfor _, num := range m.Learners {\n\t\t\tdAtA[i] = 0x10\n\t\t\ti++\n\t\t\ti = encodeVarintRaft(dAtA, i, uint64(num))\n\t\t}\n\t}\n\tif m.XXX_unrecognized != nil {\n\t\ti += copy(dAtA[i:], m.XXX_unrecognized)\n\t}\n\treturn i, nil\n}\n\nfunc (m *ConfChange) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ConfChange) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tdAtA[i] = 0x8\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.ID))\n\tdAtA[i] = 0x10\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.Type))\n\tdAtA[i] = 0x18\n\ti++\n\ti = encodeVarintRaft(dAtA, i, uint64(m.NodeID))\n\tif m.Context != nil {\n\t\tdAtA[i] = 0x22\n\t\ti++\n\t\ti = encodeVarintRaft(dAtA, i, uint64(len(m.Context)))\n\t\ti += copy(dAtA[i:], m.Context)\n\t}\n\tif m.XXX_unrecognized != nil {\n\t\ti += copy(dAtA[i:], m.XXX_unrecognized)\n\t}\n\treturn i, nil\n}\n\nfunc encodeVarintRaft(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *Entry) Size() (n int) {\n\tvar l int\n\t_ = l\n\tn += 1 + sovRaft(uint64(m.Type))\n\tn += 1 + sovRaft(uint64(m.Term))\n\tn += 1 + sovRaft(uint64(m.Index))\n\tif m.Data != nil {\n\t\tl = len(m.Data)\n\t\tn += 1 + l + sovRaft(uint64(l))\n\t}\n\tif m.XXX_unrecognized != nil {\n\t\tn += len(m.XXX_unrecognized)\n\t}\n\treturn n\n}\n\nfunc (m *SnapshotMetadata) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = m.ConfState.Size()\n\tn += 1 + l + sovRaft(uint64(l))\n\tn += 1 + sovRaft(uint64(m.Index))\n\tn += 1 + sovRaft(uint64(m.Term))\n\tif m.XXX_unrecognized != nil {\n\t\tn += len(m.XXX_unrecognized)\n\t}\n\treturn n\n}\n\nfunc (m *Snapshot) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Data != nil {\n\t\tl = len(m.Data)\n\t\tn += 1 + l + sovRaft(uint64(l))\n\t}\n\tl = m.Metadata.Size()\n\tn += 1 + l + sovRaft(uint64(l))\n\tif m.XXX_unrecognized != nil {\n\t\tn += len(m.XXX_unrecognized)\n\t}\n\treturn n\n}\n\nfunc (m *Message) Size() (n int) {\n\tvar l int\n\t_ = l\n\tn += 1 + sovRaft(uint64(m.Type))\n\tn += 1 + sovRaft(uint64(m.To))\n\tn += 1 + sovRaft(uint64(m.From))\n\tn += 1 + sovRaft(uint64(m.Term))\n\tn += 1 + sovRaft(uint64(m.LogTerm))\n\tn += 1 + sovRaft(uint64(m.Index))\n\tif len(m.Entries) > 0 {\n\t\tfor _, e := range m.Entries {\n\t\t\tl = e.Size()\n\t\t\tn += 1 + l + sovRaft(uint64(l))\n\t\t}\n\t}\n\tn += 1 + sovRaft(uint64(m.Commit))\n\tl = m.Snapshot.Size()\n\tn += 1 + l + sovRaft(uint64(l))\n\tn += 2\n\tn += 1 + sovRaft(uint64(m.RejectHint))\n\tif m.Context != nil {\n\t\tl = len(m.Context)\n\t\tn += 1 + l + sovRaft(uint64(l))\n\t}\n\tif m.XXX_unrecognized != nil {\n\t\tn += len(m.XXX_unrecognized)\n\t}\n\treturn n\n}\n\nfunc (m *HardState) Size() (n int) {\n\tvar l int\n\t_ = l\n\tn += 1 + sovRaft(uint64(m.Term))\n\tn += 1 + sovRaft(uint64(m.Vote))\n\tn += 1 + sovRaft(uint64(m.Commit))\n\tif m.XXX_unrecognized != nil {\n\t\tn += len(m.XXX_unrecognized)\n\t}\n\treturn n\n}\n\nfunc (m *ConfState) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif len(m.Nodes) > 0 {\n\t\tfor _, e := range m.Nodes {\n\t\t\tn += 1 + sovRaft(uint64(e))\n\t\t}\n\t}\n\tif len(m.Learners) > 0 {\n\t\tfor _, e := range m.Learners {\n\t\t\tn += 1 + sovRaft(uint64(e))\n\t\t}\n\t}\n\tif m.XXX_unrecognized != nil {\n\t\tn += len(m.XXX_unrecognized)\n\t}\n\treturn n\n}\n\nfunc (m *ConfChange) Size() (n int) {\n\tvar l int\n\t_ = l\n\tn += 1 + sovRaft(uint64(m.ID))\n\tn += 1 + sovRaft(uint64(m.Type))\n\tn += 1 + sovRaft(uint64(m.NodeID))\n\tif m.Context != nil {\n\t\tl = len(m.Context)\n\t\tn += 1 + l + sovRaft(uint64(l))\n\t}\n\tif m.XXX_unrecognized != nil {\n\t\tn += len(m.XXX_unrecognized)\n\t}\n\treturn n\n}\n\nfunc sovRaft(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozRaft(x uint64) (n int) {\n\treturn sovRaft(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *Entry) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: Entry: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: Entry: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Type\", wireType)\n\t\t\t}\n\t\t\tm.Type = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Type |= (EntryType(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Term\", wireType)\n\t\t\t}\n\t\t\tm.Term = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Term |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Index\", wireType)\n\t\t\t}\n\t\t\tm.Index = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Index |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Data\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Data == nil {\n\t\t\t\tm.Data = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRaft(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *SnapshotMetadata) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: SnapshotMetadata: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: SnapshotMetadata: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ConfState\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif err := m.ConfState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Index\", wireType)\n\t\t\t}\n\t\t\tm.Index = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Index |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Term\", wireType)\n\t\t\t}\n\t\t\tm.Term = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Term |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRaft(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *Snapshot) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: Snapshot: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: Snapshot: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Data\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Data == nil {\n\t\t\t\tm.Data = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Metadata\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRaft(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *Message) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: Message: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: Message: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Type\", wireType)\n\t\t\t}\n\t\t\tm.Type = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Type |= (MessageType(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field To\", wireType)\n\t\t\t}\n\t\t\tm.To = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.To |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field From\", wireType)\n\t\t\t}\n\t\t\tm.From = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.From |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Term\", wireType)\n\t\t\t}\n\t\t\tm.Term = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Term |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 5:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field LogTerm\", wireType)\n\t\t\t}\n\t\t\tm.LogTerm = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.LogTerm |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 6:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Index\", wireType)\n\t\t\t}\n\t\t\tm.Index = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Index |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 7:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Entries\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Entries = append(m.Entries, Entry{})\n\t\t\tif err := m.Entries[len(m.Entries)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 8:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Commit\", wireType)\n\t\t\t}\n\t\t\tm.Commit = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Commit |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 9:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Snapshot\", wireType)\n\t\t\t}\n\t\t\tvar msglen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tmsglen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif msglen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tpostIndex := iNdEx + msglen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif err := m.Snapshot.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tcase 10:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Reject\", wireType)\n\t\t\t}\n\t\t\tvar v int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tv |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tm.Reject = bool(v != 0)\n\t\tcase 11:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field RejectHint\", wireType)\n\t\t\t}\n\t\t\tm.RejectHint = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.RejectHint |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 12:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Context\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Context = append(m.Context[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Context == nil {\n\t\t\t\tm.Context = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRaft(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *HardState) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: HardState: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: HardState: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Term\", wireType)\n\t\t\t}\n\t\t\tm.Term = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Term |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Vote\", wireType)\n\t\t\t}\n\t\t\tm.Vote = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Vote |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Commit\", wireType)\n\t\t\t}\n\t\t\tm.Commit = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Commit |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRaft(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *ConfState) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ConfState: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ConfState: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType == 0 {\n\t\t\t\tvar v uint64\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tv |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tm.Nodes = append(m.Nodes, v)\n\t\t\t} else if wireType == 2 {\n\t\t\t\tvar packedLen int\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tpackedLen |= (int(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif packedLen < 0 {\n\t\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t\t}\n\t\t\t\tpostIndex := iNdEx + packedLen\n\t\t\t\tif postIndex > l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tfor iNdEx < postIndex {\n\t\t\t\t\tvar v uint64\n\t\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t\t\t}\n\t\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\t\tiNdEx++\n\t\t\t\t\t\tv |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tm.Nodes = append(m.Nodes, v)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Nodes\", wireType)\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType == 0 {\n\t\t\t\tvar v uint64\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tv |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tm.Learners = append(m.Learners, v)\n\t\t\t} else if wireType == 2 {\n\t\t\t\tvar packedLen int\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tpackedLen |= (int(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif packedLen < 0 {\n\t\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t\t}\n\t\t\t\tpostIndex := iNdEx + packedLen\n\t\t\t\tif postIndex > l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tfor iNdEx < postIndex {\n\t\t\t\t\tvar v uint64\n\t\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t\t\t}\n\t\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\t\tiNdEx++\n\t\t\t\t\t\tv |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tm.Learners = append(m.Learners, v)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Learners\", wireType)\n\t\t\t}\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRaft(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *ConfChange) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ConfChange: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ConfChange: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field ID\", wireType)\n\t\t\t}\n\t\t\tm.ID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.ID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Type\", wireType)\n\t\t\t}\n\t\t\tm.Type = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Type |= (ConfChangeType(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 3:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field NodeID\", wireType)\n\t\t\t}\n\t\t\tm.NodeID = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.NodeID |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 4:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Context\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Context = append(m.Context[:0], dAtA[iNdEx:postIndex]...)\n\t\t\tif m.Context == nil {\n\t\t\t\tm.Context = []byte{}\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipRaft(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthRaft\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipRaft(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowRaft\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowRaft\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthRaft\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowRaft\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipRaft(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthRaft = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowRaft   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"raft.proto\", fileDescriptorRaft) }\n\nvar fileDescriptorRaft = []byte{\n\t// 815 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x54, 0xcd, 0x6e, 0x23, 0x45,\n\t0x10, 0xf6, 0x8c, 0xc7, 0x7f, 0x35, 0x8e, 0xd3, 0xa9, 0x35, 0xa8, 0x15, 0x45, 0xc6, 0xb2, 0x38,\n\t0x58, 0x41, 0x1b, 0x20, 0x07, 0x0e, 0x48, 0x1c, 0x36, 0x09, 0x52, 0x22, 0xad, 0xa3, 0xc5, 0x9b,\n\t0xe5, 0x80, 0x84, 0x50, 0xc7, 0x53, 0x9e, 0x18, 0x32, 0xd3, 0xa3, 0x9e, 0xf6, 0xb2, 0xb9, 0x20,\n\t0x1e, 0x80, 0x07, 0xe0, 0xc2, 0xfb, 0xe4, 0xb8, 0x12, 0x77, 0xc4, 0x86, 0x17, 0x41, 0xdd, 0xd3,\n\t0x63, 0xcf, 0x24, 0xb7, 0xae, 0xef, 0xab, 0xae, 0xfa, 0xea, 0xeb, 0x9a, 0x01, 0x50, 0x62, 0xa9,\n\t0x8f, 0x32, 0x25, 0xb5, 0xc4, 0xb6, 0x39, 0x67, 0xd7, 0xfb, 0xc3, 0x58, 0xc6, 0xd2, 0x42, 0x9f,\n\t0x9b, 0x53, 0xc1, 0x4e, 0x7e, 0x83, 0xd6, 0xb7, 0xa9, 0x56, 0x77, 0xf8, 0x19, 0x04, 0x57, 0x77,\n\t0x19, 0x71, 0x6f, 0xec, 0x4d, 0x07, 0xc7, 0x7b, 0x47, 0xc5, 0xad, 0x23, 0x4b, 0x1a, 0xe2, 0x24,\n\t0xb8, 0xff, 0xe7, 0x93, 0xc6, 0xdc, 0x26, 0x21, 0x87, 0xe0, 0x8a, 0x54, 0xc2, 0xfd, 0xb1, 0x37,\n\t0x0d, 0x36, 0x0c, 0xa9, 0x04, 0xf7, 0xa1, 0x75, 0x91, 0x46, 0xf4, 0x8e, 0x37, 0x2b, 0x54, 0x01,\n\t0x21, 0x42, 0x70, 0x26, 0xb4, 0xe0, 0xc1, 0xd8, 0x9b, 0xf6, 0xe7, 0xf6, 0x3c, 0xf9, 0xdd, 0x03,\n\t0xf6, 0x3a, 0x15, 0x59, 0x7e, 0x23, 0xf5, 0x8c, 0xb4, 0x88, 0x84, 0x16, 0xf8, 0x15, 0xc0, 0x42,\n\t0xa6, 0xcb, 0x9f, 0x72, 0x2d, 0x74, 0xa1, 0x28, 0xdc, 0x2a, 0x3a, 0x95, 0xe9, 0xf2, 0xb5, 0x21,\n\t0x5c, 0xf1, 0xde, 0xa2, 0x04, 0x4c, 0xf3, 0x95, 0x6d, 0x5e, 0xd5, 0x55, 0x40, 0x46, 0xb2, 0x36,\n\t0x92, 0xab, 0xba, 0x2c, 0x32, 0xf9, 0x01, 0xba, 0xa5, 0x02, 0x23, 0xd1, 0x28, 0xb0, 0x3d, 0xfb,\n\t0x73, 0x7b, 0xc6, 0xaf, 0xa1, 0x9b, 0x38, 0x65, 0xb6, 0x70, 0x78, 0xcc, 0x4b, 0x2d, 0x8f, 0x95,\n\t0xbb, 0xba, 0x9b, 0xfc, 0xc9, 0x5f, 0x4d, 0xe8, 0xcc, 0x28, 0xcf, 0x45, 0x4c, 0xf8, 0x1c, 0x02,\n\t0xbd, 0x75, 0xf8, 0x59, 0x59, 0xc3, 0xd1, 0x55, 0x8f, 0x4d, 0x1a, 0x0e, 0xc1, 0xd7, 0xb2, 0x36,\n\t0x89, 0xaf, 0xa5, 0x19, 0x63, 0xa9, 0xe4, 0xa3, 0x31, 0x0c, 0xb2, 0x19, 0x30, 0x78, 0x3c, 0x20,\n\t0x8e, 0xa0, 0x73, 0x2b, 0x63, 0xfb, 0x60, 0xad, 0x0a, 0x59, 0x82, 0x5b, 0xdb, 0xda, 0x4f, 0x6d,\n\t0x7b, 0x0e, 0x1d, 0x4a, 0xb5, 0x5a, 0x51, 0xce, 0x3b, 0xe3, 0xe6, 0x34, 0x3c, 0xde, 0xa9, 0x6d,\n\t0x46, 0x59, 0xca, 0xe5, 0xe0, 0x01, 0xb4, 0x17, 0x32, 0x49, 0x56, 0x9a, 0x77, 0x2b, 0xb5, 0x1c,\n\t0x86, 0xc7, 0xd0, 0xcd, 0x9d, 0x63, 0xbc, 0x67, 0x9d, 0x64, 0x8f, 0x9d, 0x2c, 0x1d, 0x2c, 0xf3,\n\t0x4c, 0x45, 0x45, 0x3f, 0xd3, 0x42, 0x73, 0x18, 0x7b, 0xd3, 0x6e, 0x59, 0xb1, 0xc0, 0xf0, 0x53,\n\t0x80, 0xe2, 0x74, 0xbe, 0x4a, 0x35, 0x0f, 0x2b, 0x3d, 0x2b, 0x38, 0x72, 0xe8, 0x2c, 0x64, 0xaa,\n\t0xe9, 0x9d, 0xe6, 0x7d, 0xfb, 0xb0, 0x65, 0x38, 0xf9, 0x11, 0x7a, 0xe7, 0x42, 0x45, 0xc5, 0xfa,\n\t0x94, 0x0e, 0x7a, 0x4f, 0x1c, 0xe4, 0x10, 0xbc, 0x95, 0x9a, 0xea, 0xfb, 0x6e, 0x90, 0xca, 0xc0,\n\t0xcd, 0xa7, 0x03, 0x4f, 0xbe, 0x81, 0xde, 0x66, 0x5d, 0x71, 0x08, 0xad, 0x54, 0x46, 0x94, 0x73,\n\t0x6f, 0xdc, 0x9c, 0x06, 0xf3, 0x22, 0xc0, 0x7d, 0xe8, 0xde, 0x92, 0x50, 0x29, 0xa9, 0x9c, 0xfb,\n\t0x96, 0xd8, 0xc4, 0x93, 0x3f, 0x3c, 0x00, 0x73, 0xff, 0xf4, 0x46, 0xa4, 0xb1, 0xdd, 0x88, 0x8b,\n\t0xb3, 0x9a, 0x3a, 0xff, 0xe2, 0x0c, 0xbf, 0x70, 0x1f, 0xae, 0x6f, 0xd7, 0xea, 0xe3, 0xea, 0x67,\n\t0x52, 0xdc, 0x7b, 0xf2, 0xf5, 0x1e, 0x40, 0xfb, 0x52, 0x46, 0x74, 0x71, 0x56, 0xd7, 0x5c, 0x60,\n\t0xc6, 0xac, 0x53, 0x67, 0x56, 0xf1, 0xa1, 0x96, 0xe1, 0xe1, 0x97, 0xd0, 0xdb, 0xfc, 0x0e, 0x70,\n\t0x17, 0x42, 0x1b, 0x5c, 0x4a, 0x95, 0x88, 0x5b, 0xd6, 0xc0, 0x67, 0xb0, 0x6b, 0x81, 0x6d, 0x63,\n\t0xe6, 0x1d, 0xfe, 0xed, 0x43, 0x58, 0x59, 0x70, 0x04, 0x68, 0xcf, 0xf2, 0xf8, 0x7c, 0x9d, 0xb1,\n\t0x06, 0x86, 0xd0, 0x99, 0xe5, 0xf1, 0x09, 0x09, 0xcd, 0x3c, 0x17, 0xbc, 0x52, 0x32, 0x63, 0xbe,\n\t0xcb, 0x7a, 0x91, 0x65, 0xac, 0x89, 0x03, 0x80, 0xe2, 0x3c, 0xa7, 0x3c, 0x63, 0x81, 0x4b, 0xfc,\n\t0x5e, 0x6a, 0x62, 0x2d, 0x23, 0xc2, 0x05, 0x96, 0x6d, 0x3b, 0xd6, 0x2c, 0x13, 0xeb, 0x20, 0x83,\n\t0xbe, 0x69, 0x46, 0x42, 0xe9, 0x6b, 0xd3, 0xa5, 0x8b, 0x43, 0x60, 0x55, 0xc4, 0x5e, 0xea, 0x21,\n\t0xc2, 0x60, 0x96, 0xc7, 0x6f, 0x52, 0x45, 0x62, 0x71, 0x23, 0xae, 0x6f, 0x89, 0x01, 0xee, 0xc1,\n\t0x8e, 0x2b, 0x64, 0x1e, 0x6f, 0x9d, 0xb3, 0xd0, 0xa5, 0x9d, 0xde, 0xd0, 0xe2, 0x97, 0xef, 0xd6,\n\t0x52, 0xad, 0x13, 0xd6, 0xc7, 0x8f, 0x60, 0x6f, 0x96, 0xc7, 0x57, 0x4a, 0xa4, 0xf9, 0x92, 0xd4,\n\t0x4b, 0x12, 0x11, 0x29, 0xb6, 0xe3, 0x6e, 0x5f, 0xad, 0x12, 0x92, 0x6b, 0x7d, 0x29, 0x7f, 0x65,\n\t0x03, 0x27, 0x66, 0x4e, 0x22, 0xb2, 0x3f, 0x43, 0xb6, 0xeb, 0xc4, 0x6c, 0x10, 0x2b, 0x86, 0xb9,\n\t0x79, 0x5f, 0x29, 0xb2, 0x23, 0xee, 0xb9, 0xae, 0x2e, 0xb6, 0x39, 0x78, 0x78, 0x07, 0x83, 0xfa,\n\t0xf3, 0x1a, 0x1d, 0x5b, 0xe4, 0x45, 0x14, 0x99, 0xb7, 0x64, 0x0d, 0xe4, 0x30, 0xdc, 0xc2, 0x73,\n\t0x4a, 0xe4, 0x5b, 0xb2, 0x8c, 0x57, 0x67, 0xde, 0x64, 0x91, 0xd0, 0x05, 0xe3, 0xe3, 0x01, 0xf0,\n\t0x5a, 0xa9, 0x97, 0xc5, 0x36, 0x5a, 0xb6, 0x79, 0xc2, 0xef, 0x3f, 0x8c, 0x1a, 0xef, 0x3f, 0x8c,\n\t0x1a, 0xf7, 0x0f, 0x23, 0xef, 0xfd, 0xc3, 0xc8, 0xfb, 0xf7, 0x61, 0xe4, 0xfd, 0xf9, 0xdf, 0xa8,\n\t0xf1, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x86, 0x52, 0x5b, 0xe0, 0x74, 0x06, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/rawnode.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage raft\n\nimport (\n\t\"errors\"\n\n\tpb \"github.com/coreos/etcd/raft/raftpb\"\n)\n\n// ErrStepLocalMsg is returned when try to step a local raft message\nvar ErrStepLocalMsg = errors.New(\"raft: cannot step raft local message\")\n\n// ErrStepPeerNotFound is returned when try to step a response message\n// but there is no peer found in raft.prs for that node.\nvar ErrStepPeerNotFound = errors.New(\"raft: cannot step as peer not found\")\n\n// RawNode is a thread-unsafe Node.\n// The methods of this struct correspond to the methods of Node and are described\n// more fully there.\ntype RawNode struct {\n\traft       *raft\n\tprevSoftSt *SoftState\n\tprevHardSt pb.HardState\n}\n\nfunc (rn *RawNode) newReady() Ready {\n\treturn newReady(rn.raft, rn.prevSoftSt, rn.prevHardSt)\n}\n\nfunc (rn *RawNode) commitReady(rd Ready) {\n\tif rd.SoftState != nil {\n\t\trn.prevSoftSt = rd.SoftState\n\t}\n\tif !IsEmptyHardState(rd.HardState) {\n\t\trn.prevHardSt = rd.HardState\n\t}\n\tif rn.prevHardSt.Commit != 0 {\n\t\t// In most cases, prevHardSt and rd.HardState will be the same\n\t\t// because when there are new entries to apply we just sent a\n\t\t// HardState with an updated Commit value. However, on initial\n\t\t// startup the two are different because we don't send a HardState\n\t\t// until something changes, but we do send any un-applied but\n\t\t// committed entries (and previously-committed entries may be\n\t\t// incorporated into the snapshot, even if rd.CommittedEntries is\n\t\t// empty). Therefore we mark all committed entries as applied\n\t\t// whether they were included in rd.HardState or not.\n\t\trn.raft.raftLog.appliedTo(rn.prevHardSt.Commit)\n\t}\n\tif len(rd.Entries) > 0 {\n\t\te := rd.Entries[len(rd.Entries)-1]\n\t\trn.raft.raftLog.stableTo(e.Index, e.Term)\n\t}\n\tif !IsEmptySnap(rd.Snapshot) {\n\t\trn.raft.raftLog.stableSnapTo(rd.Snapshot.Metadata.Index)\n\t}\n\tif len(rd.ReadStates) != 0 {\n\t\trn.raft.readStates = nil\n\t}\n}\n\n// NewRawNode returns a new RawNode given configuration and a list of raft peers.\nfunc NewRawNode(config *Config, peers []Peer) (*RawNode, error) {\n\tif config.ID == 0 {\n\t\tpanic(\"config.ID must not be zero\")\n\t}\n\tr := newRaft(config)\n\trn := &RawNode{\n\t\traft: r,\n\t}\n\tlastIndex, err := config.Storage.LastIndex()\n\tif err != nil {\n\t\tpanic(err) // TODO(bdarnell)\n\t}\n\t// If the log is empty, this is a new RawNode (like StartNode); otherwise it's\n\t// restoring an existing RawNode (like RestartNode).\n\t// TODO(bdarnell): rethink RawNode initialization and whether the application needs\n\t// to be able to tell us when it expects the RawNode to exist.\n\tif lastIndex == 0 {\n\t\tr.becomeFollower(1, None)\n\t\tents := make([]pb.Entry, len(peers))\n\t\tfor i, peer := range peers {\n\t\t\tcc := pb.ConfChange{Type: pb.ConfChangeAddNode, NodeID: peer.ID, Context: peer.Context}\n\t\t\tdata, err := cc.Marshal()\n\t\t\tif err != nil {\n\t\t\t\tpanic(\"unexpected marshal error\")\n\t\t\t}\n\n\t\t\tents[i] = pb.Entry{Type: pb.EntryConfChange, Term: 1, Index: uint64(i + 1), Data: data}\n\t\t}\n\t\tr.raftLog.append(ents...)\n\t\tr.raftLog.committed = uint64(len(ents))\n\t\tfor _, peer := range peers {\n\t\t\tr.addNode(peer.ID)\n\t\t}\n\t}\n\n\t// Set the initial hard and soft states after performing all initialization.\n\trn.prevSoftSt = r.softState()\n\tif lastIndex == 0 {\n\t\trn.prevHardSt = emptyState\n\t} else {\n\t\trn.prevHardSt = r.hardState()\n\t}\n\n\treturn rn, nil\n}\n\n// Tick advances the internal logical clock by a single tick.\nfunc (rn *RawNode) Tick() {\n\trn.raft.tick()\n}\n\n// TickQuiesced advances the internal logical clock by a single tick without\n// performing any other state machine processing. It allows the caller to avoid\n// periodic heartbeats and elections when all of the peers in a Raft group are\n// known to be at the same state. Expected usage is to periodically invoke Tick\n// or TickQuiesced depending on whether the group is \"active\" or \"quiesced\".\n//\n// WARNING: Be very careful about using this method as it subverts the Raft\n// state machine. You should probably be using Tick instead.\nfunc (rn *RawNode) TickQuiesced() {\n\trn.raft.electionElapsed++\n}\n\n// Campaign causes this RawNode to transition to candidate state.\nfunc (rn *RawNode) Campaign() error {\n\treturn rn.raft.Step(pb.Message{\n\t\tType: pb.MsgHup,\n\t})\n}\n\n// Propose proposes data be appended to the raft log.\nfunc (rn *RawNode) Propose(data []byte) error {\n\treturn rn.raft.Step(pb.Message{\n\t\tType: pb.MsgProp,\n\t\tFrom: rn.raft.id,\n\t\tEntries: []pb.Entry{\n\t\t\t{Data: data},\n\t\t}})\n}\n\n// ProposeConfChange proposes a config change.\nfunc (rn *RawNode) ProposeConfChange(cc pb.ConfChange) error {\n\tdata, err := cc.Marshal()\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn rn.raft.Step(pb.Message{\n\t\tType: pb.MsgProp,\n\t\tEntries: []pb.Entry{\n\t\t\t{Type: pb.EntryConfChange, Data: data},\n\t\t},\n\t})\n}\n\n// ApplyConfChange applies a config change to the local node.\nfunc (rn *RawNode) ApplyConfChange(cc pb.ConfChange) *pb.ConfState {\n\tif cc.NodeID == None {\n\t\treturn &pb.ConfState{Nodes: rn.raft.nodes(), Learners: rn.raft.learnerNodes()}\n\t}\n\tswitch cc.Type {\n\tcase pb.ConfChangeAddNode:\n\t\trn.raft.addNode(cc.NodeID)\n\tcase pb.ConfChangeAddLearnerNode:\n\t\trn.raft.addLearner(cc.NodeID)\n\tcase pb.ConfChangeRemoveNode:\n\t\trn.raft.removeNode(cc.NodeID)\n\tcase pb.ConfChangeUpdateNode:\n\tdefault:\n\t\tpanic(\"unexpected conf type\")\n\t}\n\treturn &pb.ConfState{Nodes: rn.raft.nodes(), Learners: rn.raft.learnerNodes()}\n}\n\n// Step advances the state machine using the given message.\nfunc (rn *RawNode) Step(m pb.Message) error {\n\t// ignore unexpected local messages receiving over network\n\tif IsLocalMsg(m.Type) {\n\t\treturn ErrStepLocalMsg\n\t}\n\tif pr := rn.raft.getProgress(m.From); pr != nil || !IsResponseMsg(m.Type) {\n\t\treturn rn.raft.Step(m)\n\t}\n\treturn ErrStepPeerNotFound\n}\n\n// Ready returns the current point-in-time state of this RawNode.\nfunc (rn *RawNode) Ready() Ready {\n\trd := rn.newReady()\n\trn.raft.msgs = nil\n\treturn rd\n}\n\n// HasReady called when RawNode user need to check if any Ready pending.\n// Checking logic in this method should be consistent with Ready.containsUpdates().\nfunc (rn *RawNode) HasReady() bool {\n\tr := rn.raft\n\tif !r.softState().equal(rn.prevSoftSt) {\n\t\treturn true\n\t}\n\tif hardSt := r.hardState(); !IsEmptyHardState(hardSt) && !isHardStateEqual(hardSt, rn.prevHardSt) {\n\t\treturn true\n\t}\n\tif r.raftLog.unstable.snapshot != nil && !IsEmptySnap(*r.raftLog.unstable.snapshot) {\n\t\treturn true\n\t}\n\tif len(r.msgs) > 0 || len(r.raftLog.unstableEntries()) > 0 || r.raftLog.hasNextEnts() {\n\t\treturn true\n\t}\n\tif len(r.readStates) != 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\n// Advance notifies the RawNode that the application has applied and saved progress in the\n// last Ready results.\nfunc (rn *RawNode) Advance(rd Ready) {\n\trn.commitReady(rd)\n}\n\n// Status returns the current status of the given group.\nfunc (rn *RawNode) Status() *Status {\n\tstatus := getStatus(rn.raft)\n\treturn &status\n}\n\n// ReportUnreachable reports the given node is not reachable for the last send.\nfunc (rn *RawNode) ReportUnreachable(id uint64) {\n\t_ = rn.raft.Step(pb.Message{Type: pb.MsgUnreachable, From: id})\n}\n\n// ReportSnapshot reports the status of the sent snapshot.\nfunc (rn *RawNode) ReportSnapshot(id uint64, status SnapshotStatus) {\n\trej := status == SnapshotFailure\n\n\t_ = rn.raft.Step(pb.Message{Type: pb.MsgSnapStatus, From: id, Reject: rej})\n}\n\n// TransferLeader tries to transfer leadership to the given transferee.\nfunc (rn *RawNode) TransferLeader(transferee uint64) {\n\t_ = rn.raft.Step(pb.Message{Type: pb.MsgTransferLeader, From: transferee})\n}\n\n// ReadIndex requests a read state. The read state will be set in ready.\n// Read State has a read index. Once the application advances further than the read\n// index, any linearizable read requests issued before the read request can be\n// processed safely. The read state will have the same rctx attached.\nfunc (rn *RawNode) ReadIndex(rctx []byte) {\n\t_ = rn.raft.Step(pb.Message{Type: pb.MsgReadIndex, Entries: []pb.Entry{{Data: rctx}}})\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/read_only.go",
    "content": "// Copyright 2016 The etcd Authors\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\npackage raft\n\nimport pb \"github.com/coreos/etcd/raft/raftpb\"\n\n// ReadState provides state for read only query.\n// It's caller's responsibility to call ReadIndex first before getting\n// this state from ready, it's also caller's duty to differentiate if this\n// state is what it requests through RequestCtx, eg. given a unique id as\n// RequestCtx\ntype ReadState struct {\n\tIndex      uint64\n\tRequestCtx []byte\n}\n\ntype readIndexStatus struct {\n\treq   pb.Message\n\tindex uint64\n\tacks  map[uint64]struct{}\n}\n\ntype readOnly struct {\n\toption           ReadOnlyOption\n\tpendingReadIndex map[string]*readIndexStatus\n\treadIndexQueue   []string\n}\n\nfunc newReadOnly(option ReadOnlyOption) *readOnly {\n\treturn &readOnly{\n\t\toption:           option,\n\t\tpendingReadIndex: make(map[string]*readIndexStatus),\n\t}\n}\n\n// addRequest adds a read only reuqest into readonly struct.\n// `index` is the commit index of the raft state machine when it received\n// the read only request.\n// `m` is the original read only request message from the local or remote node.\nfunc (ro *readOnly) addRequest(index uint64, m pb.Message) {\n\tctx := string(m.Entries[0].Data)\n\tif _, ok := ro.pendingReadIndex[ctx]; ok {\n\t\treturn\n\t}\n\tro.pendingReadIndex[ctx] = &readIndexStatus{index: index, req: m, acks: make(map[uint64]struct{})}\n\tro.readIndexQueue = append(ro.readIndexQueue, ctx)\n}\n\n// recvAck notifies the readonly struct that the raft state machine received\n// an acknowledgment of the heartbeat that attached with the read only request\n// context.\nfunc (ro *readOnly) recvAck(m pb.Message) int {\n\trs, ok := ro.pendingReadIndex[string(m.Context)]\n\tif !ok {\n\t\treturn 0\n\t}\n\n\trs.acks[m.From] = struct{}{}\n\t// add one to include an ack from local node\n\treturn len(rs.acks) + 1\n}\n\n// advance advances the read only request queue kept by the readonly struct.\n// It dequeues the requests until it finds the read only request that has\n// the same context as the given `m`.\nfunc (ro *readOnly) advance(m pb.Message) []*readIndexStatus {\n\tvar (\n\t\ti     int\n\t\tfound bool\n\t)\n\n\tctx := string(m.Context)\n\trss := []*readIndexStatus{}\n\n\tfor _, okctx := range ro.readIndexQueue {\n\t\ti++\n\t\trs, ok := ro.pendingReadIndex[okctx]\n\t\tif !ok {\n\t\t\tpanic(\"cannot find corresponding read state from pending map\")\n\t\t}\n\t\trss = append(rss, rs)\n\t\tif okctx == ctx {\n\t\t\tfound = true\n\t\t\tbreak\n\t\t}\n\t}\n\n\tif found {\n\t\tro.readIndexQueue = ro.readIndexQueue[i:]\n\t\tfor _, rs := range rss {\n\t\t\tdelete(ro.pendingReadIndex, string(rs.req.Entries[0].Data))\n\t\t}\n\t\treturn rss\n\t}\n\n\treturn nil\n}\n\n// lastPendingRequestCtx returns the context of the last pending read only\n// request in readonly struct.\nfunc (ro *readOnly) lastPendingRequestCtx() string {\n\tif len(ro.readIndexQueue) == 0 {\n\t\treturn \"\"\n\t}\n\treturn ro.readIndexQueue[len(ro.readIndexQueue)-1]\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/status.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage raft\n\nimport (\n\t\"fmt\"\n\n\tpb \"github.com/coreos/etcd/raft/raftpb\"\n)\n\ntype Status struct {\n\tID uint64\n\n\tpb.HardState\n\tSoftState\n\n\tApplied  uint64\n\tProgress map[uint64]Progress\n\n\tLeadTransferee uint64\n}\n\n// getStatus gets a copy of the current raft status.\nfunc getStatus(r *raft) Status {\n\ts := Status{\n\t\tID:             r.id,\n\t\tLeadTransferee: r.leadTransferee,\n\t}\n\n\ts.HardState = r.hardState()\n\ts.SoftState = *r.softState()\n\n\ts.Applied = r.raftLog.applied\n\n\tif s.RaftState == StateLeader {\n\t\ts.Progress = make(map[uint64]Progress)\n\t\tfor id, p := range r.prs {\n\t\t\ts.Progress[id] = *p\n\t\t}\n\n\t\tfor id, p := range r.learnerPrs {\n\t\t\ts.Progress[id] = *p\n\t\t}\n\t}\n\n\treturn s\n}\n\n// MarshalJSON translates the raft status into JSON.\n// TODO: try to simplify this by introducing ID type into raft\nfunc (s Status) MarshalJSON() ([]byte, error) {\n\tj := fmt.Sprintf(`{\"id\":\"%x\",\"term\":%d,\"vote\":\"%x\",\"commit\":%d,\"lead\":\"%x\",\"raftState\":%q,\"applied\":%d,\"progress\":{`,\n\t\ts.ID, s.Term, s.Vote, s.Commit, s.Lead, s.RaftState, s.Applied)\n\n\tif len(s.Progress) == 0 {\n\t\tj += \"},\"\n\t} else {\n\t\tfor k, v := range s.Progress {\n\t\t\tsubj := fmt.Sprintf(`\"%x\":{\"match\":%d,\"next\":%d,\"state\":%q},`, k, v.Match, v.Next, v.State)\n\t\t\tj += subj\n\t\t}\n\t\t// remove the trailing \",\"\n\t\tj = j[:len(j)-1] + \"},\"\n\t}\n\n\tj += fmt.Sprintf(`\"leadtransferee\":\"%x\"}`, s.LeadTransferee)\n\treturn []byte(j), nil\n}\n\nfunc (s Status) String() string {\n\tb, err := s.MarshalJSON()\n\tif err != nil {\n\t\traftLogger.Panicf(\"unexpected error: %v\", err)\n\t}\n\treturn string(b)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/storage.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage raft\n\nimport (\n\t\"errors\"\n\t\"sync\"\n\n\tpb \"github.com/coreos/etcd/raft/raftpb\"\n)\n\n// ErrCompacted is returned by Storage.Entries/Compact when a requested\n// index is unavailable because it predates the last snapshot.\nvar ErrCompacted = errors.New(\"requested index is unavailable due to compaction\")\n\n// ErrSnapOutOfDate is returned by Storage.CreateSnapshot when a requested\n// index is older than the existing snapshot.\nvar ErrSnapOutOfDate = errors.New(\"requested index is older than the existing snapshot\")\n\n// ErrUnavailable is returned by Storage interface when the requested log entries\n// are unavailable.\nvar ErrUnavailable = errors.New(\"requested entry at index is unavailable\")\n\n// ErrSnapshotTemporarilyUnavailable is returned by the Storage interface when the required\n// snapshot is temporarily unavailable.\nvar ErrSnapshotTemporarilyUnavailable = errors.New(\"snapshot is temporarily unavailable\")\n\n// Storage is an interface that may be implemented by the application\n// to retrieve log entries from storage.\n//\n// If any Storage method returns an error, the raft instance will\n// become inoperable and refuse to participate in elections; the\n// application is responsible for cleanup and recovery in this case.\ntype Storage interface {\n\t// InitialState returns the saved HardState and ConfState information.\n\tInitialState() (pb.HardState, pb.ConfState, error)\n\t// Entries returns a slice of log entries in the range [lo,hi).\n\t// MaxSize limits the total size of the log entries returned, but\n\t// Entries returns at least one entry if any.\n\tEntries(lo, hi, maxSize uint64) ([]pb.Entry, error)\n\t// Term returns the term of entry i, which must be in the range\n\t// [FirstIndex()-1, LastIndex()]. The term of the entry before\n\t// FirstIndex is retained for matching purposes even though the\n\t// rest of that entry may not be available.\n\tTerm(i uint64) (uint64, error)\n\t// LastIndex returns the index of the last entry in the log.\n\tLastIndex() (uint64, error)\n\t// FirstIndex returns the index of the first log entry that is\n\t// possibly available via Entries (older entries have been incorporated\n\t// into the latest Snapshot; if storage only contains the dummy entry the\n\t// first log entry is not available).\n\tFirstIndex() (uint64, error)\n\t// Snapshot returns the most recent snapshot.\n\t// If snapshot is temporarily unavailable, it should return ErrSnapshotTemporarilyUnavailable,\n\t// so raft state machine could know that Storage needs some time to prepare\n\t// snapshot and call Snapshot later.\n\tSnapshot() (pb.Snapshot, error)\n}\n\n// MemoryStorage implements the Storage interface backed by an\n// in-memory array.\ntype MemoryStorage struct {\n\t// Protects access to all fields. Most methods of MemoryStorage are\n\t// run on the raft goroutine, but Append() is run on an application\n\t// goroutine.\n\tsync.Mutex\n\n\thardState pb.HardState\n\tsnapshot  pb.Snapshot\n\t// ents[i] has raft log position i+snapshot.Metadata.Index\n\tents []pb.Entry\n}\n\n// NewMemoryStorage creates an empty MemoryStorage.\nfunc NewMemoryStorage() *MemoryStorage {\n\treturn &MemoryStorage{\n\t\t// When starting from scratch populate the list with a dummy entry at term zero.\n\t\tents: make([]pb.Entry, 1),\n\t}\n}\n\n// InitialState implements the Storage interface.\nfunc (ms *MemoryStorage) InitialState() (pb.HardState, pb.ConfState, error) {\n\treturn ms.hardState, ms.snapshot.Metadata.ConfState, nil\n}\n\n// SetHardState saves the current HardState.\nfunc (ms *MemoryStorage) SetHardState(st pb.HardState) error {\n\tms.Lock()\n\tdefer ms.Unlock()\n\tms.hardState = st\n\treturn nil\n}\n\n// Entries implements the Storage interface.\nfunc (ms *MemoryStorage) Entries(lo, hi, maxSize uint64) ([]pb.Entry, error) {\n\tms.Lock()\n\tdefer ms.Unlock()\n\toffset := ms.ents[0].Index\n\tif lo <= offset {\n\t\treturn nil, ErrCompacted\n\t}\n\tif hi > ms.lastIndex()+1 {\n\t\traftLogger.Panicf(\"entries' hi(%d) is out of bound lastindex(%d)\", hi, ms.lastIndex())\n\t}\n\t// only contains dummy entries.\n\tif len(ms.ents) == 1 {\n\t\treturn nil, ErrUnavailable\n\t}\n\n\tents := ms.ents[lo-offset : hi-offset]\n\treturn limitSize(ents, maxSize), nil\n}\n\n// Term implements the Storage interface.\nfunc (ms *MemoryStorage) Term(i uint64) (uint64, error) {\n\tms.Lock()\n\tdefer ms.Unlock()\n\toffset := ms.ents[0].Index\n\tif i < offset {\n\t\treturn 0, ErrCompacted\n\t}\n\tif int(i-offset) >= len(ms.ents) {\n\t\treturn 0, ErrUnavailable\n\t}\n\treturn ms.ents[i-offset].Term, nil\n}\n\n// LastIndex implements the Storage interface.\nfunc (ms *MemoryStorage) LastIndex() (uint64, error) {\n\tms.Lock()\n\tdefer ms.Unlock()\n\treturn ms.lastIndex(), nil\n}\n\nfunc (ms *MemoryStorage) lastIndex() uint64 {\n\treturn ms.ents[0].Index + uint64(len(ms.ents)) - 1\n}\n\n// FirstIndex implements the Storage interface.\nfunc (ms *MemoryStorage) FirstIndex() (uint64, error) {\n\tms.Lock()\n\tdefer ms.Unlock()\n\treturn ms.firstIndex(), nil\n}\n\nfunc (ms *MemoryStorage) firstIndex() uint64 {\n\treturn ms.ents[0].Index + 1\n}\n\n// Snapshot implements the Storage interface.\nfunc (ms *MemoryStorage) Snapshot() (pb.Snapshot, error) {\n\tms.Lock()\n\tdefer ms.Unlock()\n\treturn ms.snapshot, nil\n}\n\n// ApplySnapshot overwrites the contents of this Storage object with\n// those of the given snapshot.\nfunc (ms *MemoryStorage) ApplySnapshot(snap pb.Snapshot) error {\n\tms.Lock()\n\tdefer ms.Unlock()\n\n\t//handle check for old snapshot being applied\n\tmsIndex := ms.snapshot.Metadata.Index\n\tsnapIndex := snap.Metadata.Index\n\tif msIndex >= snapIndex {\n\t\treturn ErrSnapOutOfDate\n\t}\n\n\tms.snapshot = snap\n\tms.ents = []pb.Entry{{Term: snap.Metadata.Term, Index: snap.Metadata.Index}}\n\treturn nil\n}\n\n// CreateSnapshot makes a snapshot which can be retrieved with Snapshot() and\n// can be used to reconstruct the state at that point.\n// If any configuration changes have been made since the last compaction,\n// the result of the last ApplyConfChange must be passed in.\nfunc (ms *MemoryStorage) CreateSnapshot(i uint64, cs *pb.ConfState, data []byte) (pb.Snapshot, error) {\n\tms.Lock()\n\tdefer ms.Unlock()\n\tif i <= ms.snapshot.Metadata.Index {\n\t\treturn pb.Snapshot{}, ErrSnapOutOfDate\n\t}\n\n\toffset := ms.ents[0].Index\n\tif i > ms.lastIndex() {\n\t\traftLogger.Panicf(\"snapshot %d is out of bound lastindex(%d)\", i, ms.lastIndex())\n\t}\n\n\tms.snapshot.Metadata.Index = i\n\tms.snapshot.Metadata.Term = ms.ents[i-offset].Term\n\tif cs != nil {\n\t\tms.snapshot.Metadata.ConfState = *cs\n\t}\n\tms.snapshot.Data = data\n\treturn ms.snapshot, nil\n}\n\n// Compact discards all log entries prior to compactIndex.\n// It is the application's responsibility to not attempt to compact an index\n// greater than raftLog.applied.\nfunc (ms *MemoryStorage) Compact(compactIndex uint64) error {\n\tms.Lock()\n\tdefer ms.Unlock()\n\toffset := ms.ents[0].Index\n\tif compactIndex <= offset {\n\t\treturn ErrCompacted\n\t}\n\tif compactIndex > ms.lastIndex() {\n\t\traftLogger.Panicf(\"compact %d is out of bound lastindex(%d)\", compactIndex, ms.lastIndex())\n\t}\n\n\ti := compactIndex - offset\n\tents := make([]pb.Entry, 1, 1+uint64(len(ms.ents))-i)\n\tents[0].Index = ms.ents[i].Index\n\tents[0].Term = ms.ents[i].Term\n\tents = append(ents, ms.ents[i+1:]...)\n\tms.ents = ents\n\treturn nil\n}\n\n// Append the new entries to storage.\n// TODO (xiangli): ensure the entries are continuous and\n// entries[0].Index > ms.entries[0].Index\nfunc (ms *MemoryStorage) Append(entries []pb.Entry) error {\n\tif len(entries) == 0 {\n\t\treturn nil\n\t}\n\n\tms.Lock()\n\tdefer ms.Unlock()\n\n\tfirst := ms.firstIndex()\n\tlast := entries[0].Index + uint64(len(entries)) - 1\n\n\t// shortcut if there is no new entry.\n\tif last < first {\n\t\treturn nil\n\t}\n\t// truncate compacted entries\n\tif first > entries[0].Index {\n\t\tentries = entries[first-entries[0].Index:]\n\t}\n\n\toffset := entries[0].Index - ms.ents[0].Index\n\tswitch {\n\tcase uint64(len(ms.ents)) > offset:\n\t\tms.ents = append([]pb.Entry{}, ms.ents[:offset]...)\n\t\tms.ents = append(ms.ents, entries...)\n\tcase uint64(len(ms.ents)) == offset:\n\t\tms.ents = append(ms.ents, entries...)\n\tdefault:\n\t\traftLogger.Panicf(\"missing log entry [last: %d, append at: %d]\",\n\t\t\tms.lastIndex(), entries[0].Index)\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/etcd/raft/util.go",
    "content": "// Copyright 2015 The etcd Authors\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\npackage raft\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\n\tpb \"github.com/coreos/etcd/raft/raftpb\"\n)\n\nfunc (st StateType) MarshalJSON() ([]byte, error) {\n\treturn []byte(fmt.Sprintf(\"%q\", st.String())), nil\n}\n\n// uint64Slice implements sort interface\ntype uint64Slice []uint64\n\nfunc (p uint64Slice) Len() int           { return len(p) }\nfunc (p uint64Slice) Less(i, j int) bool { return p[i] < p[j] }\nfunc (p uint64Slice) Swap(i, j int)      { p[i], p[j] = p[j], p[i] }\n\nfunc min(a, b uint64) uint64 {\n\tif a > b {\n\t\treturn b\n\t}\n\treturn a\n}\n\nfunc max(a, b uint64) uint64 {\n\tif a > b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc IsLocalMsg(msgt pb.MessageType) bool {\n\treturn msgt == pb.MsgHup || msgt == pb.MsgBeat || msgt == pb.MsgUnreachable ||\n\t\tmsgt == pb.MsgSnapStatus || msgt == pb.MsgCheckQuorum\n}\n\nfunc IsResponseMsg(msgt pb.MessageType) bool {\n\treturn msgt == pb.MsgAppResp || msgt == pb.MsgVoteResp || msgt == pb.MsgHeartbeatResp || msgt == pb.MsgUnreachable || msgt == pb.MsgPreVoteResp\n}\n\n// voteResponseType maps vote and prevote message types to their corresponding responses.\nfunc voteRespMsgType(msgt pb.MessageType) pb.MessageType {\n\tswitch msgt {\n\tcase pb.MsgVote:\n\t\treturn pb.MsgVoteResp\n\tcase pb.MsgPreVote:\n\t\treturn pb.MsgPreVoteResp\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"not a vote message: %s\", msgt))\n\t}\n}\n\n// EntryFormatter can be implemented by the application to provide human-readable formatting\n// of entry data. Nil is a valid EntryFormatter and will use a default format.\ntype EntryFormatter func([]byte) string\n\n// DescribeMessage returns a concise human-readable description of a\n// Message for debugging.\nfunc DescribeMessage(m pb.Message, f EntryFormatter) string {\n\tvar buf bytes.Buffer\n\tfmt.Fprintf(&buf, \"%x->%x %v Term:%d Log:%d/%d\", m.From, m.To, m.Type, m.Term, m.LogTerm, m.Index)\n\tif m.Reject {\n\t\tfmt.Fprintf(&buf, \" Rejected\")\n\t\tif m.RejectHint != 0 {\n\t\t\tfmt.Fprintf(&buf, \"(Hint:%d)\", m.RejectHint)\n\t\t}\n\t}\n\tif m.Commit != 0 {\n\t\tfmt.Fprintf(&buf, \" Commit:%d\", m.Commit)\n\t}\n\tif len(m.Entries) > 0 {\n\t\tfmt.Fprintf(&buf, \" Entries:[\")\n\t\tfor i, e := range m.Entries {\n\t\t\tif i != 0 {\n\t\t\t\tbuf.WriteString(\", \")\n\t\t\t}\n\t\t\tbuf.WriteString(DescribeEntry(e, f))\n\t\t}\n\t\tfmt.Fprintf(&buf, \"]\")\n\t}\n\tif !IsEmptySnap(m.Snapshot) {\n\t\tfmt.Fprintf(&buf, \" Snapshot:%v\", m.Snapshot)\n\t}\n\treturn buf.String()\n}\n\n// DescribeEntry returns a concise human-readable description of an\n// Entry for debugging.\nfunc DescribeEntry(e pb.Entry, f EntryFormatter) string {\n\tvar formatted string\n\tif e.Type == pb.EntryNormal && f != nil {\n\t\tformatted = f(e.Data)\n\t} else {\n\t\tformatted = fmt.Sprintf(\"%q\", e.Data)\n\t}\n\treturn fmt.Sprintf(\"%d/%d %s %s\", e.Term, e.Index, e.Type, formatted)\n}\n\nfunc limitSize(ents []pb.Entry, maxSize uint64) []pb.Entry {\n\tif len(ents) == 0 {\n\t\treturn ents\n\t}\n\tsize := ents[0].Size()\n\tvar limit int\n\tfor limit = 1; limit < len(ents); limit++ {\n\t\tsize += ents[limit].Size()\n\t\tif uint64(size) > maxSize {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn ents[:limit]\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/go-systemd/LICENSE",
    "content": "Apache License\nVersion 2.0, January 2004\nhttp://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n\"License\" shall mean the terms and conditions for use, reproduction, and\ndistribution as defined by Sections 1 through 9 of this document.\n\n\"Licensor\" shall mean the copyright owner or entity authorized by the copyright\nowner that is granting the License.\n\n\"Legal Entity\" shall mean the union of the acting entity and all other entities\nthat control, are controlled by, or are under common control with that entity.\nFor the purposes of this definition, \"control\" means (i) the power, direct or\nindirect, to cause the direction or management of such entity, whether by\ncontract or otherwise, or (ii) ownership of fifty percent (50%) or more of the\noutstanding shares, or (iii) beneficial ownership of such entity.\n\n\"You\" (or \"Your\") shall mean an individual or Legal Entity exercising\npermissions granted by this License.\n\n\"Source\" form shall mean the preferred form for making modifications, including\nbut not limited to software source code, documentation source, and configuration\nfiles.\n\n\"Object\" form shall mean any form resulting from mechanical transformation or\ntranslation of a Source form, including but not limited to compiled object code,\ngenerated documentation, and conversions to other media types.\n\n\"Work\" shall mean the work of authorship, whether in Source or Object form, made\navailable under the License, as indicated by a copyright notice that is included\nin or attached to the work (an example is provided in the Appendix below).\n\n\"Derivative Works\" shall mean any work, whether in Source or Object form, that\nis based on (or derived from) the Work and for which the editorial revisions,\nannotations, elaborations, or other modifications represent, as a whole, an\noriginal work of authorship. For the purposes of this License, Derivative Works\nshall not include works that remain separable from, or merely link (or bind by\nname) to the interfaces of, the Work and Derivative Works thereof.\n\n\"Contribution\" shall mean any work of authorship, including the original version\nof the Work and any modifications or additions to that Work or Derivative Works\nthereof, that is intentionally submitted to Licensor for inclusion in the Work\nby the copyright owner or by an individual or Legal Entity authorized to submit\non behalf of the copyright owner. For the purposes of this definition,\n\"submitted\" means any form of electronic, verbal, or written communication sent\nto the Licensor or its representatives, including but not limited to\ncommunication on electronic mailing lists, source code control systems, and\nissue tracking systems that are managed by, or on behalf of, the Licensor for\nthe purpose of discussing and improving the Work, but excluding communication\nthat is conspicuously marked or otherwise designated in writing by the copyright\nowner as \"Not a Contribution.\"\n\n\"Contributor\" shall mean Licensor and any individual or Legal Entity on behalf\nof whom a Contribution has been received by Licensor and subsequently\nincorporated within the Work.\n\n2. Grant of Copyright License.\n\nSubject to the terms and conditions of this License, each Contributor hereby\ngrants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,\nirrevocable copyright license to reproduce, prepare Derivative Works of,\npublicly display, publicly perform, sublicense, and distribute the Work and such\nDerivative Works in Source or Object form.\n\n3. Grant of Patent License.\n\nSubject to the terms and conditions of this License, each Contributor hereby\ngrants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,\nirrevocable (except as stated in this section) patent license to make, have\nmade, use, offer to sell, sell, import, and otherwise transfer the Work, where\nsuch license applies only to those patent claims licensable by such Contributor\nthat are necessarily infringed by their Contribution(s) alone or by combination\nof their Contribution(s) with the Work to which such Contribution(s) was\nsubmitted. If You institute patent litigation against any entity (including a\ncross-claim or counterclaim in a lawsuit) alleging that the Work or a\nContribution incorporated within the Work constitutes direct or contributory\npatent infringement, then any patent licenses granted to You under this License\nfor that Work shall terminate as of the date such litigation is filed.\n\n4. Redistribution.\n\nYou may reproduce and distribute copies of the Work or Derivative Works thereof\nin any medium, with or without modifications, and in Source or Object form,\nprovided that You meet the following conditions:\n\nYou must give any other recipients of the Work or Derivative Works a copy of\nthis License; and\nYou must cause any modified files to carry prominent notices stating that You\nchanged the files; and\nYou must retain, in the Source form of any Derivative Works that You distribute,\nall copyright, patent, trademark, and attribution notices from the Source form\nof the Work, excluding those notices that do not pertain to any part of the\nDerivative Works; and\nIf the Work includes a \"NOTICE\" text file as part of its distribution, then any\nDerivative Works that You distribute must include a readable copy of the\nattribution notices contained within such NOTICE file, excluding those notices\nthat do not pertain to any part of the Derivative Works, in at least one of the\nfollowing places: within a NOTICE text file distributed as part of the\nDerivative Works; within the Source form or documentation, if provided along\nwith the Derivative Works; or, within a display generated by the Derivative\nWorks, if and wherever such third-party notices normally appear. The contents of\nthe NOTICE file are for informational purposes only and do not modify the\nLicense. You may add Your own attribution notices within Derivative Works that\nYou distribute, alongside or as an addendum to the NOTICE text from the Work,\nprovided that such additional attribution notices cannot be construed as\nmodifying the License.\nYou may add Your own copyright statement to Your modifications and may provide\nadditional or different license terms and conditions for use, reproduction, or\ndistribution of Your modifications, or for any such Derivative Works as a whole,\nprovided Your use, reproduction, and distribution of the Work otherwise complies\nwith the conditions stated in this License.\n\n5. Submission of Contributions.\n\nUnless You explicitly state otherwise, any Contribution intentionally submitted\nfor inclusion in the Work by You to the Licensor shall be under the terms and\nconditions of this License, without any additional terms or conditions.\nNotwithstanding the above, nothing herein shall supersede or modify the terms of\nany separate license agreement you may have executed with Licensor regarding\nsuch Contributions.\n\n6. Trademarks.\n\nThis License does not grant permission to use the trade names, trademarks,\nservice marks, or product names of the Licensor, except as required for\nreasonable and customary use in describing the origin of the Work and\nreproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty.\n\nUnless required by applicable law or agreed to in writing, Licensor provides the\nWork (and each Contributor provides its Contributions) on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,\nincluding, without limitation, any warranties or conditions of TITLE,\nNON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are\nsolely responsible for determining the appropriateness of using or\nredistributing the Work and assume any risks associated with Your exercise of\npermissions under this License.\n\n8. Limitation of Liability.\n\nIn no event and under no legal theory, whether in tort (including negligence),\ncontract, or otherwise, unless required by applicable law (such as deliberate\nand grossly negligent acts) or agreed to in writing, shall any Contributor be\nliable to You for damages, including any direct, indirect, special, incidental,\nor consequential damages of any character arising as a result of this License or\nout of the use or inability to use the Work (including but not limited to\ndamages for loss of goodwill, work stoppage, computer failure or malfunction, or\nany and all other commercial damages or losses), even if such Contributor has\nbeen advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability.\n\nWhile redistributing the Work or Derivative Works thereof, You may choose to\noffer, and charge a fee for, acceptance of support, warranty, indemnity, or\nother liability obligations and/or rights consistent with this License. However,\nin accepting such obligations, You may act only on Your own behalf and on Your\nsole responsibility, not on behalf of any other Contributor, and only if You\nagree to indemnify, defend, and hold each Contributor harmless for any liability\nincurred by, or claims asserted against, such Contributor by reason of your\naccepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work\n\nTo apply the Apache License to your work, attach the following boilerplate\nnotice, with the fields enclosed by brackets \"[]\" replaced with your own\nidentifying information. (Don't include the brackets!) The text should be\nenclosed in the appropriate comment syntax for the file format. We also\nrecommend that a file or class name and description of purpose be included on\nthe same \"printed page\" as the copyright notice for easier identification within\nthird-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": "vendor/github.com/coreos/go-systemd/journal/journal.go",
    "content": "// Copyright 2015 CoreOS, Inc.\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// Package journal provides write bindings to the local systemd journal.\n// It is implemented in pure Go and connects to the journal directly over its\n// unix socket.\n//\n// To read from the journal, see the \"sdjournal\" package, which wraps the\n// sd-journal a C API.\n//\n// http://www.freedesktop.org/software/systemd/man/systemd-journald.service.html\npackage journal\n\nimport (\n\t\"bytes\"\n\t\"encoding/binary\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"net\"\n\t\"os\"\n\t\"strconv\"\n\t\"strings\"\n\t\"syscall\"\n)\n\n// Priority of a journal message\ntype Priority int\n\nconst (\n\tPriEmerg Priority = iota\n\tPriAlert\n\tPriCrit\n\tPriErr\n\tPriWarning\n\tPriNotice\n\tPriInfo\n\tPriDebug\n)\n\nvar conn net.Conn\n\nfunc init() {\n\tvar err error\n\tconn, err = net.Dial(\"unixgram\", \"/run/systemd/journal/socket\")\n\tif err != nil {\n\t\tconn = nil\n\t}\n}\n\n// Enabled returns true if the local systemd journal is available for logging\nfunc Enabled() bool {\n\treturn conn != nil\n}\n\n// Send a message to the local systemd journal. vars is a map of journald\n// fields to values.  Fields must be composed of uppercase letters, numbers,\n// and underscores, but must not start with an underscore. Within these\n// restrictions, any arbitrary field name may be used.  Some names have special\n// significance: see the journalctl documentation\n// (http://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html)\n// for more details.  vars may be nil.\nfunc Send(message string, priority Priority, vars map[string]string) error {\n\tif conn == nil {\n\t\treturn journalError(\"could not connect to journald socket\")\n\t}\n\n\tdata := new(bytes.Buffer)\n\tappendVariable(data, \"PRIORITY\", strconv.Itoa(int(priority)))\n\tappendVariable(data, \"MESSAGE\", message)\n\tfor k, v := range vars {\n\t\tappendVariable(data, k, v)\n\t}\n\n\t_, err := io.Copy(conn, data)\n\tif err != nil && isSocketSpaceError(err) {\n\t\tfile, err := tempFd()\n\t\tif err != nil {\n\t\t\treturn journalError(err.Error())\n\t\t}\n\t\tdefer file.Close()\n\t\t_, err = io.Copy(file, data)\n\t\tif err != nil {\n\t\t\treturn journalError(err.Error())\n\t\t}\n\n\t\trights := syscall.UnixRights(int(file.Fd()))\n\n\t\t/* this connection should always be a UnixConn, but better safe than sorry */\n\t\tunixConn, ok := conn.(*net.UnixConn)\n\t\tif !ok {\n\t\t\treturn journalError(\"can't send file through non-Unix connection\")\n\t\t}\n\t\tunixConn.WriteMsgUnix([]byte{}, rights, nil)\n\t} else if err != nil {\n\t\treturn journalError(err.Error())\n\t}\n\treturn nil\n}\n\n// Print prints a message to the local systemd journal using Send().\nfunc Print(priority Priority, format string, a ...interface{}) error {\n\treturn Send(fmt.Sprintf(format, a...), priority, nil)\n}\n\nfunc appendVariable(w io.Writer, name, value string) {\n\tif !validVarName(name) {\n\t\tjournalError(\"variable name contains invalid character, ignoring\")\n\t}\n\tif strings.ContainsRune(value, '\\n') {\n\t\t/* When the value contains a newline, we write:\n\t\t * - the variable name, followed by a newline\n\t\t * - the size (in 64bit little endian format)\n\t\t * - the data, followed by a newline\n\t\t */\n\t\tfmt.Fprintln(w, name)\n\t\tbinary.Write(w, binary.LittleEndian, uint64(len(value)))\n\t\tfmt.Fprintln(w, value)\n\t} else {\n\t\t/* just write the variable and value all on one line */\n\t\tfmt.Fprintf(w, \"%s=%s\\n\", name, value)\n\t}\n}\n\nfunc validVarName(name string) bool {\n\t/* The variable name must be in uppercase and consist only of characters,\n\t * numbers and underscores, and may not begin with an underscore. (from the docs)\n\t */\n\n\tvalid := name[0] != '_'\n\tfor _, c := range name {\n\t\tvalid = valid && ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') || c == '_'\n\t}\n\treturn valid\n}\n\nfunc isSocketSpaceError(err error) bool {\n\topErr, ok := err.(*net.OpError)\n\tif !ok {\n\t\treturn false\n\t}\n\n\tsysErr, ok := opErr.Err.(syscall.Errno)\n\tif !ok {\n\t\treturn false\n\t}\n\n\treturn sysErr == syscall.EMSGSIZE || sysErr == syscall.ENOBUFS\n}\n\nfunc tempFd() (*os.File, error) {\n\tfile, err := ioutil.TempFile(\"/dev/shm/\", \"journal.XXXXX\")\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tsyscall.Unlink(file.Name())\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn file, nil\n}\n\nfunc journalError(s string) error {\n\ts = \"journal error: \" + s\n\tfmt.Fprintln(os.Stderr, s)\n\treturn errors.New(s)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/pkg/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 {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\n"
  },
  {
    "path": "vendor/github.com/coreos/pkg/NOTICE",
    "content": "CoreOS Project\nCopyright 2014 CoreOS, Inc\n\nThis product includes software developed at CoreOS, Inc.\n(http://www.coreos.com/).\n"
  },
  {
    "path": "vendor/github.com/coreos/pkg/capnslog/formatters.go",
    "content": "// Copyright 2015 CoreOS, Inc.\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\npackage capnslog\n\nimport (\n\t\"bufio\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"runtime\"\n\t\"strings\"\n\t\"time\"\n)\n\ntype Formatter interface {\n\tFormat(pkg string, level LogLevel, depth int, entries ...interface{})\n\tFlush()\n}\n\nfunc NewStringFormatter(w io.Writer) Formatter {\n\treturn &StringFormatter{\n\t\tw: bufio.NewWriter(w),\n\t}\n}\n\ntype StringFormatter struct {\n\tw *bufio.Writer\n}\n\nfunc (s *StringFormatter) Format(pkg string, l LogLevel, i int, entries ...interface{}) {\n\tnow := time.Now().UTC()\n\ts.w.WriteString(now.Format(time.RFC3339))\n\ts.w.WriteByte(' ')\n\twriteEntries(s.w, pkg, l, i, entries...)\n\ts.Flush()\n}\n\nfunc writeEntries(w *bufio.Writer, pkg string, _ LogLevel, _ int, entries ...interface{}) {\n\tif pkg != \"\" {\n\t\tw.WriteString(pkg + \": \")\n\t}\n\tstr := fmt.Sprint(entries...)\n\tendsInNL := strings.HasSuffix(str, \"\\n\")\n\tw.WriteString(str)\n\tif !endsInNL {\n\t\tw.WriteString(\"\\n\")\n\t}\n}\n\nfunc (s *StringFormatter) Flush() {\n\ts.w.Flush()\n}\n\nfunc NewPrettyFormatter(w io.Writer, debug bool) Formatter {\n\treturn &PrettyFormatter{\n\t\tw:     bufio.NewWriter(w),\n\t\tdebug: debug,\n\t}\n}\n\ntype PrettyFormatter struct {\n\tw     *bufio.Writer\n\tdebug bool\n}\n\nfunc (c *PrettyFormatter) Format(pkg string, l LogLevel, depth int, entries ...interface{}) {\n\tnow := time.Now()\n\tts := now.Format(\"2006-01-02 15:04:05\")\n\tc.w.WriteString(ts)\n\tms := now.Nanosecond() / 1000\n\tc.w.WriteString(fmt.Sprintf(\".%06d\", ms))\n\tif c.debug {\n\t\t_, file, line, ok := runtime.Caller(depth) // It's always the same number of frames to the user's call.\n\t\tif !ok {\n\t\t\tfile = \"???\"\n\t\t\tline = 1\n\t\t} else {\n\t\t\tslash := strings.LastIndex(file, \"/\")\n\t\t\tif slash >= 0 {\n\t\t\t\tfile = file[slash+1:]\n\t\t\t}\n\t\t}\n\t\tif line < 0 {\n\t\t\tline = 0 // not a real line number\n\t\t}\n\t\tc.w.WriteString(fmt.Sprintf(\" [%s:%d]\", file, line))\n\t}\n\tc.w.WriteString(fmt.Sprint(\" \", l.Char(), \" | \"))\n\twriteEntries(c.w, pkg, l, depth, entries...)\n\tc.Flush()\n}\n\nfunc (c *PrettyFormatter) Flush() {\n\tc.w.Flush()\n}\n\n// LogFormatter emulates the form of the traditional built-in logger.\ntype LogFormatter struct {\n\tlogger *log.Logger\n\tprefix string\n}\n\n// NewLogFormatter is a helper to produce a new LogFormatter struct. It uses the\n// golang log package to actually do the logging work so that logs look similar.\nfunc NewLogFormatter(w io.Writer, prefix string, flag int) Formatter {\n\treturn &LogFormatter{\n\t\tlogger: log.New(w, \"\", flag), // don't use prefix here\n\t\tprefix: prefix,               // save it instead\n\t}\n}\n\n// Format builds a log message for the LogFormatter. The LogLevel is ignored.\nfunc (lf *LogFormatter) Format(pkg string, _ LogLevel, _ int, entries ...interface{}) {\n\tstr := fmt.Sprint(entries...)\n\tprefix := lf.prefix\n\tif pkg != \"\" {\n\t\tprefix = fmt.Sprintf(\"%s%s: \", prefix, pkg)\n\t}\n\tlf.logger.Output(5, fmt.Sprintf(\"%s%v\", prefix, str)) // call depth is 5\n}\n\n// Flush is included so that the interface is complete, but is a no-op.\nfunc (lf *LogFormatter) Flush() {\n\t// noop\n}\n\n// NilFormatter is a no-op log formatter that does nothing.\ntype NilFormatter struct {\n}\n\n// NewNilFormatter is a helper to produce a new LogFormatter struct. It logs no\n// messages so that you can cause part of your logging to be silent.\nfunc NewNilFormatter() Formatter {\n\treturn &NilFormatter{}\n}\n\n// Format does nothing.\nfunc (_ *NilFormatter) Format(_ string, _ LogLevel, _ int, _ ...interface{}) {\n\t// noop\n}\n\n// Flush is included so that the interface is complete, but is a no-op.\nfunc (_ *NilFormatter) Flush() {\n\t// noop\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/pkg/capnslog/glog_formatter.go",
    "content": "// Copyright 2015 CoreOS, Inc.\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\npackage capnslog\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"io\"\n\t\"os\"\n\t\"runtime\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n)\n\nvar pid = os.Getpid()\n\ntype GlogFormatter struct {\n\tStringFormatter\n}\n\nfunc NewGlogFormatter(w io.Writer) *GlogFormatter {\n\tg := &GlogFormatter{}\n\tg.w = bufio.NewWriter(w)\n\treturn g\n}\n\nfunc (g GlogFormatter) Format(pkg string, level LogLevel, depth int, entries ...interface{}) {\n\tg.w.Write(GlogHeader(level, depth+1))\n\tg.StringFormatter.Format(pkg, level, depth+1, entries...)\n}\n\nfunc GlogHeader(level LogLevel, depth int) []byte {\n\t// Lmmdd hh:mm:ss.uuuuuu threadid file:line]\n\tnow := time.Now().UTC()\n\t_, file, line, ok := runtime.Caller(depth) // It's always the same number of frames to the user's call.\n\tif !ok {\n\t\tfile = \"???\"\n\t\tline = 1\n\t} else {\n\t\tslash := strings.LastIndex(file, \"/\")\n\t\tif slash >= 0 {\n\t\t\tfile = file[slash+1:]\n\t\t}\n\t}\n\tif line < 0 {\n\t\tline = 0 // not a real line number\n\t}\n\tbuf := &bytes.Buffer{}\n\tbuf.Grow(30)\n\t_, month, day := now.Date()\n\thour, minute, second := now.Clock()\n\tbuf.WriteString(level.Char())\n\ttwoDigits(buf, int(month))\n\ttwoDigits(buf, day)\n\tbuf.WriteByte(' ')\n\ttwoDigits(buf, hour)\n\tbuf.WriteByte(':')\n\ttwoDigits(buf, minute)\n\tbuf.WriteByte(':')\n\ttwoDigits(buf, second)\n\tbuf.WriteByte('.')\n\tbuf.WriteString(strconv.Itoa(now.Nanosecond() / 1000))\n\tbuf.WriteByte('Z')\n\tbuf.WriteByte(' ')\n\tbuf.WriteString(strconv.Itoa(pid))\n\tbuf.WriteByte(' ')\n\tbuf.WriteString(file)\n\tbuf.WriteByte(':')\n\tbuf.WriteString(strconv.Itoa(line))\n\tbuf.WriteByte(']')\n\tbuf.WriteByte(' ')\n\treturn buf.Bytes()\n}\n\nconst digits = \"0123456789\"\n\nfunc twoDigits(b *bytes.Buffer, d int) {\n\tc2 := digits[d%10]\n\td /= 10\n\tc1 := digits[d%10]\n\tb.WriteByte(c1)\n\tb.WriteByte(c2)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/pkg/capnslog/init.go",
    "content": "// Copyright 2015 CoreOS, Inc.\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// +build !windows\n\npackage capnslog\n\nimport (\n\t\"io\"\n\t\"os\"\n\t\"syscall\"\n)\n\n// Here's where the opinionation comes in. We need some sensible defaults,\n// especially after taking over the log package. Your project (whatever it may\n// be) may see things differently. That's okay; there should be no defaults in\n// the main package that cannot be controlled or overridden programatically,\n// otherwise it's a bug. Doing so is creating your own init_log.go file much\n// like this one.\n\nfunc init() {\n\tinitHijack()\n\n\t// Go `log` pacakge uses os.Stderr.\n\tSetFormatter(NewDefaultFormatter(os.Stderr))\n\tSetGlobalLogLevel(INFO)\n}\n\nfunc NewDefaultFormatter(out io.Writer) Formatter {\n\tif syscall.Getppid() == 1 {\n\t\t// We're running under init, which may be systemd.\n\t\tf, err := NewJournaldFormatter()\n\t\tif err == nil {\n\t\t\treturn f\n\t\t}\n\t}\n\treturn NewPrettyFormatter(out, false)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/pkg/capnslog/init_windows.go",
    "content": "// Copyright 2015 CoreOS, Inc.\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\npackage capnslog\n\nimport \"os\"\n\nfunc init() {\n\tinitHijack()\n\n\t// Go `log` package uses os.Stderr.\n\tSetFormatter(NewPrettyFormatter(os.Stderr, false))\n\tSetGlobalLogLevel(INFO)\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/pkg/capnslog/journald_formatter.go",
    "content": "// Copyright 2015 CoreOS, Inc.\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// +build !windows\n\npackage capnslog\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\n\t\"github.com/coreos/go-systemd/journal\"\n)\n\nfunc NewJournaldFormatter() (Formatter, error) {\n\tif !journal.Enabled() {\n\t\treturn nil, errors.New(\"No systemd detected\")\n\t}\n\treturn &journaldFormatter{}, nil\n}\n\ntype journaldFormatter struct{}\n\nfunc (j *journaldFormatter) Format(pkg string, l LogLevel, _ int, entries ...interface{}) {\n\tvar pri journal.Priority\n\tswitch l {\n\tcase CRITICAL:\n\t\tpri = journal.PriCrit\n\tcase ERROR:\n\t\tpri = journal.PriErr\n\tcase WARNING:\n\t\tpri = journal.PriWarning\n\tcase NOTICE:\n\t\tpri = journal.PriNotice\n\tcase INFO:\n\t\tpri = journal.PriInfo\n\tcase DEBUG:\n\t\tpri = journal.PriDebug\n\tcase TRACE:\n\t\tpri = journal.PriDebug\n\tdefault:\n\t\tpanic(\"Unhandled loglevel\")\n\t}\n\tmsg := fmt.Sprint(entries...)\n\ttags := map[string]string{\n\t\t\"PACKAGE\":           pkg,\n\t\t\"SYSLOG_IDENTIFIER\": filepath.Base(os.Args[0]),\n\t}\n\terr := journal.Send(msg, pri, tags)\n\tif err != nil {\n\t\tfmt.Fprintln(os.Stderr, err)\n\t}\n}\n\nfunc (j *journaldFormatter) Flush() {}\n"
  },
  {
    "path": "vendor/github.com/coreos/pkg/capnslog/log_hijack.go",
    "content": "// Copyright 2015 CoreOS, Inc.\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\npackage capnslog\n\nimport (\n\t\"log\"\n)\n\nfunc initHijack() {\n\tpkg := NewPackageLogger(\"log\", \"\")\n\tw := packageWriter{pkg}\n\tlog.SetFlags(0)\n\tlog.SetPrefix(\"\")\n\tlog.SetOutput(w)\n}\n\ntype packageWriter struct {\n\tpl *PackageLogger\n}\n\nfunc (p packageWriter) Write(b []byte) (int, error) {\n\tif p.pl.level < INFO {\n\t\treturn 0, nil\n\t}\n\tp.pl.internalLog(calldepth+2, INFO, string(b))\n\treturn len(b), nil\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/pkg/capnslog/logmap.go",
    "content": "// Copyright 2015 CoreOS, Inc.\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\npackage capnslog\n\nimport (\n\t\"errors\"\n\t\"strings\"\n\t\"sync\"\n)\n\n// LogLevel is the set of all log levels.\ntype LogLevel int8\n\nconst (\n\t// CRITICAL is the lowest log level; only errors which will end the program will be propagated.\n\tCRITICAL LogLevel = iota - 1\n\t// ERROR is for errors that are not fatal but lead to troubling behavior.\n\tERROR\n\t// WARNING is for errors which are not fatal and not errors, but are unusual. Often sourced from misconfigurations.\n\tWARNING\n\t// NOTICE is for normal but significant conditions.\n\tNOTICE\n\t// INFO is a log level for common, everyday log updates.\n\tINFO\n\t// DEBUG is the default hidden level for more verbose updates about internal processes.\n\tDEBUG\n\t// TRACE is for (potentially) call by call tracing of programs.\n\tTRACE\n)\n\n// Char returns a single-character representation of the log level.\nfunc (l LogLevel) Char() string {\n\tswitch l {\n\tcase CRITICAL:\n\t\treturn \"C\"\n\tcase ERROR:\n\t\treturn \"E\"\n\tcase WARNING:\n\t\treturn \"W\"\n\tcase NOTICE:\n\t\treturn \"N\"\n\tcase INFO:\n\t\treturn \"I\"\n\tcase DEBUG:\n\t\treturn \"D\"\n\tcase TRACE:\n\t\treturn \"T\"\n\tdefault:\n\t\tpanic(\"Unhandled loglevel\")\n\t}\n}\n\n// String returns a multi-character representation of the log level.\nfunc (l LogLevel) String() string {\n\tswitch l {\n\tcase CRITICAL:\n\t\treturn \"CRITICAL\"\n\tcase ERROR:\n\t\treturn \"ERROR\"\n\tcase WARNING:\n\t\treturn \"WARNING\"\n\tcase NOTICE:\n\t\treturn \"NOTICE\"\n\tcase INFO:\n\t\treturn \"INFO\"\n\tcase DEBUG:\n\t\treturn \"DEBUG\"\n\tcase TRACE:\n\t\treturn \"TRACE\"\n\tdefault:\n\t\tpanic(\"Unhandled loglevel\")\n\t}\n}\n\n// Update using the given string value. Fulfills the flag.Value interface.\nfunc (l *LogLevel) Set(s string) error {\n\tvalue, err := ParseLevel(s)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t*l = value\n\treturn nil\n}\n\n// Returns an empty string, only here to fulfill the pflag.Value interface.\nfunc (l *LogLevel) Type() string {\n\treturn \"\"\n}\n\n// ParseLevel translates some potential loglevel strings into their corresponding levels.\nfunc ParseLevel(s string) (LogLevel, error) {\n\tswitch s {\n\tcase \"CRITICAL\", \"C\":\n\t\treturn CRITICAL, nil\n\tcase \"ERROR\", \"0\", \"E\":\n\t\treturn ERROR, nil\n\tcase \"WARNING\", \"1\", \"W\":\n\t\treturn WARNING, nil\n\tcase \"NOTICE\", \"2\", \"N\":\n\t\treturn NOTICE, nil\n\tcase \"INFO\", \"3\", \"I\":\n\t\treturn INFO, nil\n\tcase \"DEBUG\", \"4\", \"D\":\n\t\treturn DEBUG, nil\n\tcase \"TRACE\", \"5\", \"T\":\n\t\treturn TRACE, nil\n\t}\n\treturn CRITICAL, errors.New(\"couldn't parse log level \" + s)\n}\n\ntype RepoLogger map[string]*PackageLogger\n\ntype loggerStruct struct {\n\tsync.Mutex\n\trepoMap   map[string]RepoLogger\n\tformatter Formatter\n}\n\n// logger is the global logger\nvar logger = new(loggerStruct)\n\n// SetGlobalLogLevel sets the log level for all packages in all repositories\n// registered with capnslog.\nfunc SetGlobalLogLevel(l LogLevel) {\n\tlogger.Lock()\n\tdefer logger.Unlock()\n\tfor _, r := range logger.repoMap {\n\t\tr.setRepoLogLevelInternal(l)\n\t}\n}\n\n// GetRepoLogger may return the handle to the repository's set of packages' loggers.\nfunc GetRepoLogger(repo string) (RepoLogger, error) {\n\tlogger.Lock()\n\tdefer logger.Unlock()\n\tr, ok := logger.repoMap[repo]\n\tif !ok {\n\t\treturn nil, errors.New(\"no packages registered for repo \" + repo)\n\t}\n\treturn r, nil\n}\n\n// MustRepoLogger returns the handle to the repository's packages' loggers.\nfunc MustRepoLogger(repo string) RepoLogger {\n\tr, err := GetRepoLogger(repo)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn r\n}\n\n// SetRepoLogLevel sets the log level for all packages in the repository.\nfunc (r RepoLogger) SetRepoLogLevel(l LogLevel) {\n\tlogger.Lock()\n\tdefer logger.Unlock()\n\tr.setRepoLogLevelInternal(l)\n}\n\nfunc (r RepoLogger) setRepoLogLevelInternal(l LogLevel) {\n\tfor _, v := range r {\n\t\tv.level = l\n\t}\n}\n\n// ParseLogLevelConfig parses a comma-separated string of \"package=loglevel\", in\n// order, and returns a map of the results, for use in SetLogLevel.\nfunc (r RepoLogger) ParseLogLevelConfig(conf string) (map[string]LogLevel, error) {\n\tsetlist := strings.Split(conf, \",\")\n\tout := make(map[string]LogLevel)\n\tfor _, setstring := range setlist {\n\t\tsetting := strings.Split(setstring, \"=\")\n\t\tif len(setting) != 2 {\n\t\t\treturn nil, errors.New(\"oddly structured `pkg=level` option: \" + setstring)\n\t\t}\n\t\tl, err := ParseLevel(setting[1])\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tout[setting[0]] = l\n\t}\n\treturn out, nil\n}\n\n// SetLogLevel takes a map of package names within a repository to their desired\n// loglevel, and sets the levels appropriately. Unknown packages are ignored.\n// \"*\" is a special package name that corresponds to all packages, and will be\n// processed first.\nfunc (r RepoLogger) SetLogLevel(m map[string]LogLevel) {\n\tlogger.Lock()\n\tdefer logger.Unlock()\n\tif l, ok := m[\"*\"]; ok {\n\t\tr.setRepoLogLevelInternal(l)\n\t}\n\tfor k, v := range m {\n\t\tl, ok := r[k]\n\t\tif !ok {\n\t\t\tcontinue\n\t\t}\n\t\tl.level = v\n\t}\n}\n\n// SetFormatter sets the formatting function for all logs.\nfunc SetFormatter(f Formatter) {\n\tlogger.Lock()\n\tdefer logger.Unlock()\n\tlogger.formatter = f\n}\n\n// NewPackageLogger creates a package logger object.\n// This should be defined as a global var in your package, referencing your repo.\nfunc NewPackageLogger(repo string, pkg string) (p *PackageLogger) {\n\tlogger.Lock()\n\tdefer logger.Unlock()\n\tif logger.repoMap == nil {\n\t\tlogger.repoMap = make(map[string]RepoLogger)\n\t}\n\tr, rok := logger.repoMap[repo]\n\tif !rok {\n\t\tlogger.repoMap[repo] = make(RepoLogger)\n\t\tr = logger.repoMap[repo]\n\t}\n\tp, pok := r[pkg]\n\tif !pok {\n\t\tr[pkg] = &PackageLogger{\n\t\t\tpkg:   pkg,\n\t\t\tlevel: INFO,\n\t\t}\n\t\tp = r[pkg]\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/pkg/capnslog/pkg_logger.go",
    "content": "// Copyright 2015 CoreOS, Inc.\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\npackage capnslog\n\nimport (\n\t\"fmt\"\n\t\"os\"\n)\n\ntype PackageLogger struct {\n\tpkg   string\n\tlevel LogLevel\n}\n\nconst calldepth = 2\n\nfunc (p *PackageLogger) internalLog(depth int, inLevel LogLevel, entries ...interface{}) {\n\tlogger.Lock()\n\tdefer logger.Unlock()\n\tif inLevel != CRITICAL && p.level < inLevel {\n\t\treturn\n\t}\n\tif logger.formatter != nil {\n\t\tlogger.formatter.Format(p.pkg, inLevel, depth+1, entries...)\n\t}\n}\n\n// SetLevel allows users to change the current logging level.\nfunc (p *PackageLogger) SetLevel(l LogLevel) {\n\tlogger.Lock()\n\tdefer logger.Unlock()\n\tp.level = l\n}\n\n// LevelAt checks if the given log level will be outputted under current setting.\nfunc (p *PackageLogger) LevelAt(l LogLevel) bool {\n\tlogger.Lock()\n\tdefer logger.Unlock()\n\treturn p.level >= l\n}\n\n// Log a formatted string at any level between ERROR and TRACE\nfunc (p *PackageLogger) Logf(l LogLevel, format string, args ...interface{}) {\n\tp.internalLog(calldepth, l, fmt.Sprintf(format, args...))\n}\n\n// Log a message at any level between ERROR and TRACE\nfunc (p *PackageLogger) Log(l LogLevel, args ...interface{}) {\n\tp.internalLog(calldepth, l, fmt.Sprint(args...))\n}\n\n// log stdlib compatibility\n\nfunc (p *PackageLogger) Println(args ...interface{}) {\n\tp.internalLog(calldepth, INFO, fmt.Sprintln(args...))\n}\n\nfunc (p *PackageLogger) Printf(format string, args ...interface{}) {\n\tp.Logf(INFO, format, args...)\n}\n\nfunc (p *PackageLogger) Print(args ...interface{}) {\n\tp.internalLog(calldepth, INFO, fmt.Sprint(args...))\n}\n\n// Panic and fatal\n\nfunc (p *PackageLogger) Panicf(format string, args ...interface{}) {\n\ts := fmt.Sprintf(format, args...)\n\tp.internalLog(calldepth, CRITICAL, s)\n\tpanic(s)\n}\n\nfunc (p *PackageLogger) Panic(args ...interface{}) {\n\ts := fmt.Sprint(args...)\n\tp.internalLog(calldepth, CRITICAL, s)\n\tpanic(s)\n}\n\nfunc (p *PackageLogger) Panicln(args ...interface{}) {\n\ts := fmt.Sprintln(args...)\n\tp.internalLog(calldepth, CRITICAL, s)\n\tpanic(s)\n}\n\nfunc (p *PackageLogger) Fatalf(format string, args ...interface{}) {\n\tp.Logf(CRITICAL, format, args...)\n\tos.Exit(1)\n}\n\nfunc (p *PackageLogger) Fatal(args ...interface{}) {\n\ts := fmt.Sprint(args...)\n\tp.internalLog(calldepth, CRITICAL, s)\n\tos.Exit(1)\n}\n\nfunc (p *PackageLogger) Fatalln(args ...interface{}) {\n\ts := fmt.Sprintln(args...)\n\tp.internalLog(calldepth, CRITICAL, s)\n\tos.Exit(1)\n}\n\n// Error Functions\n\nfunc (p *PackageLogger) Errorf(format string, args ...interface{}) {\n\tp.Logf(ERROR, format, args...)\n}\n\nfunc (p *PackageLogger) Error(entries ...interface{}) {\n\tp.internalLog(calldepth, ERROR, entries...)\n}\n\n// Warning Functions\n\nfunc (p *PackageLogger) Warningf(format string, args ...interface{}) {\n\tp.Logf(WARNING, format, args...)\n}\n\nfunc (p *PackageLogger) Warning(entries ...interface{}) {\n\tp.internalLog(calldepth, WARNING, entries...)\n}\n\n// Notice Functions\n\nfunc (p *PackageLogger) Noticef(format string, args ...interface{}) {\n\tp.Logf(NOTICE, format, args...)\n}\n\nfunc (p *PackageLogger) Notice(entries ...interface{}) {\n\tp.internalLog(calldepth, NOTICE, entries...)\n}\n\n// Info Functions\n\nfunc (p *PackageLogger) Infof(format string, args ...interface{}) {\n\tp.Logf(INFO, format, args...)\n}\n\nfunc (p *PackageLogger) Info(entries ...interface{}) {\n\tp.internalLog(calldepth, INFO, entries...)\n}\n\n// Debug Functions\n\nfunc (p *PackageLogger) Debugf(format string, args ...interface{}) {\n\tif p.level < DEBUG {\n\t\treturn\n\t}\n\tp.Logf(DEBUG, format, args...)\n}\n\nfunc (p *PackageLogger) Debug(entries ...interface{}) {\n\tif p.level < DEBUG {\n\t\treturn\n\t}\n\tp.internalLog(calldepth, DEBUG, entries...)\n}\n\n// Trace Functions\n\nfunc (p *PackageLogger) Tracef(format string, args ...interface{}) {\n\tif p.level < TRACE {\n\t\treturn\n\t}\n\tp.Logf(TRACE, format, args...)\n}\n\nfunc (p *PackageLogger) Trace(entries ...interface{}) {\n\tif p.level < TRACE {\n\t\treturn\n\t}\n\tp.internalLog(calldepth, TRACE, entries...)\n}\n\nfunc (p *PackageLogger) Flush() {\n\tlogger.Lock()\n\tdefer logger.Unlock()\n\tlogger.formatter.Flush()\n}\n"
  },
  {
    "path": "vendor/github.com/coreos/pkg/capnslog/syslog_formatter.go",
    "content": "// Copyright 2015 CoreOS, Inc.\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// +build !windows\n\npackage capnslog\n\nimport (\n\t\"fmt\"\n\t\"log/syslog\"\n)\n\nfunc NewSyslogFormatter(w *syslog.Writer) Formatter {\n\treturn &syslogFormatter{w}\n}\n\nfunc NewDefaultSyslogFormatter(tag string) (Formatter, error) {\n\tw, err := syslog.New(syslog.LOG_DEBUG, tag)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn NewSyslogFormatter(w), nil\n}\n\ntype syslogFormatter struct {\n\tw *syslog.Writer\n}\n\nfunc (s *syslogFormatter) Format(pkg string, l LogLevel, _ int, entries ...interface{}) {\n\tfor _, entry := range entries {\n\t\tstr := fmt.Sprint(entry)\n\t\tswitch l {\n\t\tcase CRITICAL:\n\t\t\ts.w.Crit(str)\n\t\tcase ERROR:\n\t\t\ts.w.Err(str)\n\t\tcase WARNING:\n\t\t\ts.w.Warning(str)\n\t\tcase NOTICE:\n\t\t\ts.w.Notice(str)\n\t\tcase INFO:\n\t\t\ts.w.Info(str)\n\t\tcase DEBUG:\n\t\t\ts.w.Debug(str)\n\t\tcase TRACE:\n\t\t\ts.w.Debug(str)\n\t\tdefault:\n\t\t\tpanic(\"Unhandled loglevel\")\n\t\t}\n\t}\n}\n\nfunc (s *syslogFormatter) Flush() {\n}\n"
  },
  {
    "path": "vendor/github.com/dustin/go-humanize/LICENSE",
    "content": "Copyright (c) 2005-2008  Dustin Sallings <dustin@spy.net>\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 THE\nSOFTWARE.\n\n<http://www.opensource.org/licenses/mit-license.php>\n"
  },
  {
    "path": "vendor/github.com/dustin/go-humanize/big.go",
    "content": "package humanize\n\nimport (\n\t\"math/big\"\n)\n\n// order of magnitude (to a max order)\nfunc oomm(n, b *big.Int, maxmag int) (float64, int) {\n\tmag := 0\n\tm := &big.Int{}\n\tfor n.Cmp(b) >= 0 {\n\t\tn.DivMod(n, b, m)\n\t\tmag++\n\t\tif mag == maxmag && maxmag >= 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn float64(n.Int64()) + (float64(m.Int64()) / float64(b.Int64())), mag\n}\n\n// total order of magnitude\n// (same as above, but with no upper limit)\nfunc oom(n, b *big.Int) (float64, int) {\n\tmag := 0\n\tm := &big.Int{}\n\tfor n.Cmp(b) >= 0 {\n\t\tn.DivMod(n, b, m)\n\t\tmag++\n\t}\n\treturn float64(n.Int64()) + (float64(m.Int64()) / float64(b.Int64())), mag\n}\n"
  },
  {
    "path": "vendor/github.com/dustin/go-humanize/bigbytes.go",
    "content": "package humanize\n\nimport (\n\t\"fmt\"\n\t\"math/big\"\n\t\"strings\"\n\t\"unicode\"\n)\n\nvar (\n\tbigIECExp = big.NewInt(1024)\n\n\t// BigByte is one byte in bit.Ints\n\tBigByte = big.NewInt(1)\n\t// BigKiByte is 1,024 bytes in bit.Ints\n\tBigKiByte = (&big.Int{}).Mul(BigByte, bigIECExp)\n\t// BigMiByte is 1,024 k bytes in bit.Ints\n\tBigMiByte = (&big.Int{}).Mul(BigKiByte, bigIECExp)\n\t// BigGiByte is 1,024 m bytes in bit.Ints\n\tBigGiByte = (&big.Int{}).Mul(BigMiByte, bigIECExp)\n\t// BigTiByte is 1,024 g bytes in bit.Ints\n\tBigTiByte = (&big.Int{}).Mul(BigGiByte, bigIECExp)\n\t// BigPiByte is 1,024 t bytes in bit.Ints\n\tBigPiByte = (&big.Int{}).Mul(BigTiByte, bigIECExp)\n\t// BigEiByte is 1,024 p bytes in bit.Ints\n\tBigEiByte = (&big.Int{}).Mul(BigPiByte, bigIECExp)\n\t// BigZiByte is 1,024 e bytes in bit.Ints\n\tBigZiByte = (&big.Int{}).Mul(BigEiByte, bigIECExp)\n\t// BigYiByte is 1,024 z bytes in bit.Ints\n\tBigYiByte = (&big.Int{}).Mul(BigZiByte, bigIECExp)\n)\n\nvar (\n\tbigSIExp = big.NewInt(1000)\n\n\t// BigSIByte is one SI byte in big.Ints\n\tBigSIByte = big.NewInt(1)\n\t// BigKByte is 1,000 SI bytes in big.Ints\n\tBigKByte = (&big.Int{}).Mul(BigSIByte, bigSIExp)\n\t// BigMByte is 1,000 SI k bytes in big.Ints\n\tBigMByte = (&big.Int{}).Mul(BigKByte, bigSIExp)\n\t// BigGByte is 1,000 SI m bytes in big.Ints\n\tBigGByte = (&big.Int{}).Mul(BigMByte, bigSIExp)\n\t// BigTByte is 1,000 SI g bytes in big.Ints\n\tBigTByte = (&big.Int{}).Mul(BigGByte, bigSIExp)\n\t// BigPByte is 1,000 SI t bytes in big.Ints\n\tBigPByte = (&big.Int{}).Mul(BigTByte, bigSIExp)\n\t// BigEByte is 1,000 SI p bytes in big.Ints\n\tBigEByte = (&big.Int{}).Mul(BigPByte, bigSIExp)\n\t// BigZByte is 1,000 SI e bytes in big.Ints\n\tBigZByte = (&big.Int{}).Mul(BigEByte, bigSIExp)\n\t// BigYByte is 1,000 SI z bytes in big.Ints\n\tBigYByte = (&big.Int{}).Mul(BigZByte, bigSIExp)\n)\n\nvar bigBytesSizeTable = map[string]*big.Int{\n\t\"b\":   BigByte,\n\t\"kib\": BigKiByte,\n\t\"kb\":  BigKByte,\n\t\"mib\": BigMiByte,\n\t\"mb\":  BigMByte,\n\t\"gib\": BigGiByte,\n\t\"gb\":  BigGByte,\n\t\"tib\": BigTiByte,\n\t\"tb\":  BigTByte,\n\t\"pib\": BigPiByte,\n\t\"pb\":  BigPByte,\n\t\"eib\": BigEiByte,\n\t\"eb\":  BigEByte,\n\t\"zib\": BigZiByte,\n\t\"zb\":  BigZByte,\n\t\"yib\": BigYiByte,\n\t\"yb\":  BigYByte,\n\t// Without suffix\n\t\"\":   BigByte,\n\t\"ki\": BigKiByte,\n\t\"k\":  BigKByte,\n\t\"mi\": BigMiByte,\n\t\"m\":  BigMByte,\n\t\"gi\": BigGiByte,\n\t\"g\":  BigGByte,\n\t\"ti\": BigTiByte,\n\t\"t\":  BigTByte,\n\t\"pi\": BigPiByte,\n\t\"p\":  BigPByte,\n\t\"ei\": BigEiByte,\n\t\"e\":  BigEByte,\n\t\"z\":  BigZByte,\n\t\"zi\": BigZiByte,\n\t\"y\":  BigYByte,\n\t\"yi\": BigYiByte,\n}\n\nvar ten = big.NewInt(10)\n\nfunc humanateBigBytes(s, base *big.Int, sizes []string) string {\n\tif s.Cmp(ten) < 0 {\n\t\treturn fmt.Sprintf(\"%d B\", s)\n\t}\n\tc := (&big.Int{}).Set(s)\n\tval, mag := oomm(c, base, len(sizes)-1)\n\tsuffix := sizes[mag]\n\tf := \"%.0f %s\"\n\tif val < 10 {\n\t\tf = \"%.1f %s\"\n\t}\n\n\treturn fmt.Sprintf(f, val, suffix)\n\n}\n\n// BigBytes produces a human readable representation of an SI size.\n//\n// See also: ParseBigBytes.\n//\n// BigBytes(82854982) -> 83 MB\nfunc BigBytes(s *big.Int) string {\n\tsizes := []string{\"B\", \"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"}\n\treturn humanateBigBytes(s, bigSIExp, sizes)\n}\n\n// BigIBytes produces a human readable representation of an IEC size.\n//\n// See also: ParseBigBytes.\n//\n// BigIBytes(82854982) -> 79 MiB\nfunc BigIBytes(s *big.Int) string {\n\tsizes := []string{\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\", \"EiB\", \"ZiB\", \"YiB\"}\n\treturn humanateBigBytes(s, bigIECExp, sizes)\n}\n\n// ParseBigBytes parses a string representation of bytes into the number\n// of bytes it represents.\n//\n// See also: BigBytes, BigIBytes.\n//\n// ParseBigBytes(\"42 MB\") -> 42000000, nil\n// ParseBigBytes(\"42 mib\") -> 44040192, nil\nfunc ParseBigBytes(s string) (*big.Int, error) {\n\tlastDigit := 0\n\thasComma := false\n\tfor _, r := range s {\n\t\tif !(unicode.IsDigit(r) || r == '.' || r == ',') {\n\t\t\tbreak\n\t\t}\n\t\tif r == ',' {\n\t\t\thasComma = true\n\t\t}\n\t\tlastDigit++\n\t}\n\n\tnum := s[:lastDigit]\n\tif hasComma {\n\t\tnum = strings.Replace(num, \",\", \"\", -1)\n\t}\n\n\tval := &big.Rat{}\n\t_, err := fmt.Sscanf(num, \"%f\", val)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\textra := strings.ToLower(strings.TrimSpace(s[lastDigit:]))\n\tif m, ok := bigBytesSizeTable[extra]; ok {\n\t\tmv := (&big.Rat{}).SetInt(m)\n\t\tval.Mul(val, mv)\n\t\trv := &big.Int{}\n\t\trv.Div(val.Num(), val.Denom())\n\t\treturn rv, nil\n\t}\n\n\treturn nil, fmt.Errorf(\"unhandled size name: %v\", extra)\n}\n"
  },
  {
    "path": "vendor/github.com/dustin/go-humanize/bytes.go",
    "content": "package humanize\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"strconv\"\n\t\"strings\"\n\t\"unicode\"\n)\n\n// IEC Sizes.\n// kibis of bits\nconst (\n\tByte = 1 << (iota * 10)\n\tKiByte\n\tMiByte\n\tGiByte\n\tTiByte\n\tPiByte\n\tEiByte\n)\n\n// SI Sizes.\nconst (\n\tIByte = 1\n\tKByte = IByte * 1000\n\tMByte = KByte * 1000\n\tGByte = MByte * 1000\n\tTByte = GByte * 1000\n\tPByte = TByte * 1000\n\tEByte = PByte * 1000\n)\n\nvar bytesSizeTable = map[string]uint64{\n\t\"b\":   Byte,\n\t\"kib\": KiByte,\n\t\"kb\":  KByte,\n\t\"mib\": MiByte,\n\t\"mb\":  MByte,\n\t\"gib\": GiByte,\n\t\"gb\":  GByte,\n\t\"tib\": TiByte,\n\t\"tb\":  TByte,\n\t\"pib\": PiByte,\n\t\"pb\":  PByte,\n\t\"eib\": EiByte,\n\t\"eb\":  EByte,\n\t// Without suffix\n\t\"\":   Byte,\n\t\"ki\": KiByte,\n\t\"k\":  KByte,\n\t\"mi\": MiByte,\n\t\"m\":  MByte,\n\t\"gi\": GiByte,\n\t\"g\":  GByte,\n\t\"ti\": TiByte,\n\t\"t\":  TByte,\n\t\"pi\": PiByte,\n\t\"p\":  PByte,\n\t\"ei\": EiByte,\n\t\"e\":  EByte,\n}\n\nfunc logn(n, b float64) float64 {\n\treturn math.Log(n) / math.Log(b)\n}\n\nfunc humanateBytes(s uint64, base float64, sizes []string) string {\n\tif s < 10 {\n\t\treturn fmt.Sprintf(\"%d B\", s)\n\t}\n\te := math.Floor(logn(float64(s), base))\n\tsuffix := sizes[int(e)]\n\tval := math.Floor(float64(s)/math.Pow(base, e)*10+0.5) / 10\n\tf := \"%.0f %s\"\n\tif val < 10 {\n\t\tf = \"%.1f %s\"\n\t}\n\n\treturn fmt.Sprintf(f, val, suffix)\n}\n\n// Bytes produces a human readable representation of an SI size.\n//\n// See also: ParseBytes.\n//\n// Bytes(82854982) -> 83 MB\nfunc Bytes(s uint64) string {\n\tsizes := []string{\"B\", \"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\"}\n\treturn humanateBytes(s, 1000, sizes)\n}\n\n// IBytes produces a human readable representation of an IEC size.\n//\n// See also: ParseBytes.\n//\n// IBytes(82854982) -> 79 MiB\nfunc IBytes(s uint64) string {\n\tsizes := []string{\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\", \"EiB\"}\n\treturn humanateBytes(s, 1024, sizes)\n}\n\n// ParseBytes parses a string representation of bytes into the number\n// of bytes it represents.\n//\n// See Also: Bytes, IBytes.\n//\n// ParseBytes(\"42 MB\") -> 42000000, nil\n// ParseBytes(\"42 mib\") -> 44040192, nil\nfunc ParseBytes(s string) (uint64, error) {\n\tlastDigit := 0\n\thasComma := false\n\tfor _, r := range s {\n\t\tif !(unicode.IsDigit(r) || r == '.' || r == ',') {\n\t\t\tbreak\n\t\t}\n\t\tif r == ',' {\n\t\t\thasComma = true\n\t\t}\n\t\tlastDigit++\n\t}\n\n\tnum := s[:lastDigit]\n\tif hasComma {\n\t\tnum = strings.Replace(num, \",\", \"\", -1)\n\t}\n\n\tf, err := strconv.ParseFloat(num, 64)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\n\textra := strings.ToLower(strings.TrimSpace(s[lastDigit:]))\n\tif m, ok := bytesSizeTable[extra]; ok {\n\t\tf *= float64(m)\n\t\tif f >= math.MaxUint64 {\n\t\t\treturn 0, fmt.Errorf(\"too large: %v\", s)\n\t\t}\n\t\treturn uint64(f), nil\n\t}\n\n\treturn 0, fmt.Errorf(\"unhandled size name: %v\", extra)\n}\n"
  },
  {
    "path": "vendor/github.com/dustin/go-humanize/comma.go",
    "content": "package humanize\n\nimport (\n\t\"bytes\"\n\t\"math\"\n\t\"math/big\"\n\t\"strconv\"\n\t\"strings\"\n)\n\n// Comma produces a string form of the given number in base 10 with\n// commas after every three orders of magnitude.\n//\n// e.g. Comma(834142) -> 834,142\nfunc Comma(v int64) string {\n\tsign := \"\"\n\n\t// Min int64 can't be negated to a usable value, so it has to be special cased.\n\tif v == math.MinInt64 {\n\t\treturn \"-9,223,372,036,854,775,808\"\n\t}\n\n\tif v < 0 {\n\t\tsign = \"-\"\n\t\tv = 0 - v\n\t}\n\n\tparts := []string{\"\", \"\", \"\", \"\", \"\", \"\", \"\"}\n\tj := len(parts) - 1\n\n\tfor v > 999 {\n\t\tparts[j] = strconv.FormatInt(v%1000, 10)\n\t\tswitch len(parts[j]) {\n\t\tcase 2:\n\t\t\tparts[j] = \"0\" + parts[j]\n\t\tcase 1:\n\t\t\tparts[j] = \"00\" + parts[j]\n\t\t}\n\t\tv = v / 1000\n\t\tj--\n\t}\n\tparts[j] = strconv.Itoa(int(v))\n\treturn sign + strings.Join(parts[j:], \",\")\n}\n\n// Commaf produces a string form of the given number in base 10 with\n// commas after every three orders of magnitude.\n//\n// e.g. Commaf(834142.32) -> 834,142.32\nfunc Commaf(v float64) string {\n\tbuf := &bytes.Buffer{}\n\tif v < 0 {\n\t\tbuf.Write([]byte{'-'})\n\t\tv = 0 - v\n\t}\n\n\tcomma := []byte{','}\n\n\tparts := strings.Split(strconv.FormatFloat(v, 'f', -1, 64), \".\")\n\tpos := 0\n\tif len(parts[0])%3 != 0 {\n\t\tpos += len(parts[0]) % 3\n\t\tbuf.WriteString(parts[0][:pos])\n\t\tbuf.Write(comma)\n\t}\n\tfor ; pos < len(parts[0]); pos += 3 {\n\t\tbuf.WriteString(parts[0][pos : pos+3])\n\t\tbuf.Write(comma)\n\t}\n\tbuf.Truncate(buf.Len() - 1)\n\n\tif len(parts) > 1 {\n\t\tbuf.Write([]byte{'.'})\n\t\tbuf.WriteString(parts[1])\n\t}\n\treturn buf.String()\n}\n\n// CommafWithDigits works like the Commaf but limits the resulting\n// string to the given number of decimal places.\n//\n// e.g. CommafWithDigits(834142.32, 1) -> 834,142.3\nfunc CommafWithDigits(f float64, decimals int) string {\n\treturn stripTrailingDigits(Commaf(f), decimals)\n}\n\n// BigComma produces a string form of the given big.Int in base 10\n// with commas after every three orders of magnitude.\nfunc BigComma(b *big.Int) string {\n\tsign := \"\"\n\tif b.Sign() < 0 {\n\t\tsign = \"-\"\n\t\tb.Abs(b)\n\t}\n\n\tathousand := big.NewInt(1000)\n\tc := (&big.Int{}).Set(b)\n\t_, m := oom(c, athousand)\n\tparts := make([]string, m+1)\n\tj := len(parts) - 1\n\n\tmod := &big.Int{}\n\tfor b.Cmp(athousand) >= 0 {\n\t\tb.DivMod(b, athousand, mod)\n\t\tparts[j] = strconv.FormatInt(mod.Int64(), 10)\n\t\tswitch len(parts[j]) {\n\t\tcase 2:\n\t\t\tparts[j] = \"0\" + parts[j]\n\t\tcase 1:\n\t\t\tparts[j] = \"00\" + parts[j]\n\t\t}\n\t\tj--\n\t}\n\tparts[j] = strconv.Itoa(int(b.Int64()))\n\treturn sign + strings.Join(parts[j:], \",\")\n}\n"
  },
  {
    "path": "vendor/github.com/dustin/go-humanize/commaf.go",
    "content": "// +build go1.6\n\npackage humanize\n\nimport (\n\t\"bytes\"\n\t\"math/big\"\n\t\"strings\"\n)\n\n// BigCommaf produces a string form of the given big.Float in base 10\n// with commas after every three orders of magnitude.\nfunc BigCommaf(v *big.Float) string {\n\tbuf := &bytes.Buffer{}\n\tif v.Sign() < 0 {\n\t\tbuf.Write([]byte{'-'})\n\t\tv.Abs(v)\n\t}\n\n\tcomma := []byte{','}\n\n\tparts := strings.Split(v.Text('f', -1), \".\")\n\tpos := 0\n\tif len(parts[0])%3 != 0 {\n\t\tpos += len(parts[0]) % 3\n\t\tbuf.WriteString(parts[0][:pos])\n\t\tbuf.Write(comma)\n\t}\n\tfor ; pos < len(parts[0]); pos += 3 {\n\t\tbuf.WriteString(parts[0][pos : pos+3])\n\t\tbuf.Write(comma)\n\t}\n\tbuf.Truncate(buf.Len() - 1)\n\n\tif len(parts) > 1 {\n\t\tbuf.Write([]byte{'.'})\n\t\tbuf.WriteString(parts[1])\n\t}\n\treturn buf.String()\n}\n"
  },
  {
    "path": "vendor/github.com/dustin/go-humanize/ftoa.go",
    "content": "package humanize\n\nimport (\n\t\"strconv\"\n\t\"strings\"\n)\n\nfunc stripTrailingZeros(s string) string {\n\toffset := len(s) - 1\n\tfor offset > 0 {\n\t\tif s[offset] == '.' {\n\t\t\toffset--\n\t\t\tbreak\n\t\t}\n\t\tif s[offset] != '0' {\n\t\t\tbreak\n\t\t}\n\t\toffset--\n\t}\n\treturn s[:offset+1]\n}\n\nfunc stripTrailingDigits(s string, digits int) string {\n\tif i := strings.Index(s, \".\"); i >= 0 {\n\t\tif digits <= 0 {\n\t\t\treturn s[:i]\n\t\t}\n\t\ti++\n\t\tif i+digits >= len(s) {\n\t\t\treturn s\n\t\t}\n\t\treturn s[:i+digits]\n\t}\n\treturn s\n}\n\n// Ftoa converts a float to a string with no trailing zeros.\nfunc Ftoa(num float64) string {\n\treturn stripTrailingZeros(strconv.FormatFloat(num, 'f', 6, 64))\n}\n\n// FtoaWithDigits converts a float to a string but limits the resulting string\n// to the given number of decimal places, and no trailing zeros.\nfunc FtoaWithDigits(num float64, digits int) string {\n\treturn stripTrailingZeros(stripTrailingDigits(strconv.FormatFloat(num, 'f', 6, 64), digits))\n}\n"
  },
  {
    "path": "vendor/github.com/dustin/go-humanize/humanize.go",
    "content": "/*\nPackage humanize converts boring ugly numbers to human-friendly strings and back.\n\nDurations can be turned into strings such as \"3 days ago\", numbers\nrepresenting sizes like 82854982 into useful strings like, \"83 MB\" or\n\"79 MiB\" (whichever you prefer).\n*/\npackage humanize\n"
  },
  {
    "path": "vendor/github.com/dustin/go-humanize/number.go",
    "content": "package humanize\n\n/*\nSlightly adapted from the source to fit go-humanize.\n\nAuthor: https://github.com/gorhill\nSource: https://gist.github.com/gorhill/5285193\n\n*/\n\nimport (\n\t\"math\"\n\t\"strconv\"\n)\n\nvar (\n\trenderFloatPrecisionMultipliers = [...]float64{\n\t\t1,\n\t\t10,\n\t\t100,\n\t\t1000,\n\t\t10000,\n\t\t100000,\n\t\t1000000,\n\t\t10000000,\n\t\t100000000,\n\t\t1000000000,\n\t}\n\n\trenderFloatPrecisionRounders = [...]float64{\n\t\t0.5,\n\t\t0.05,\n\t\t0.005,\n\t\t0.0005,\n\t\t0.00005,\n\t\t0.000005,\n\t\t0.0000005,\n\t\t0.00000005,\n\t\t0.000000005,\n\t\t0.0000000005,\n\t}\n)\n\n// FormatFloat produces a formatted number as string based on the following user-specified criteria:\n// * thousands separator\n// * decimal separator\n// * decimal precision\n//\n// Usage: s := RenderFloat(format, n)\n// The format parameter tells how to render the number n.\n//\n// See examples: http://play.golang.org/p/LXc1Ddm1lJ\n//\n// Examples of format strings, given n = 12345.6789:\n// \"#,###.##\" => \"12,345.67\"\n// \"#,###.\" => \"12,345\"\n// \"#,###\" => \"12345,678\"\n// \"#\\u202F###,##\" => \"12 345,68\"\n// \"#.###,###### => 12.345,678900\n// \"\" (aka default format) => 12,345.67\n//\n// The highest precision allowed is 9 digits after the decimal symbol.\n// There is also a version for integer number, FormatInteger(),\n// which is convenient for calls within template.\nfunc FormatFloat(format string, n float64) string {\n\t// Special cases:\n\t//   NaN = \"NaN\"\n\t//   +Inf = \"+Infinity\"\n\t//   -Inf = \"-Infinity\"\n\tif math.IsNaN(n) {\n\t\treturn \"NaN\"\n\t}\n\tif n > math.MaxFloat64 {\n\t\treturn \"Infinity\"\n\t}\n\tif n < -math.MaxFloat64 {\n\t\treturn \"-Infinity\"\n\t}\n\n\t// default format\n\tprecision := 2\n\tdecimalStr := \".\"\n\tthousandStr := \",\"\n\tpositiveStr := \"\"\n\tnegativeStr := \"-\"\n\n\tif len(format) > 0 {\n\t\tformat := []rune(format)\n\n\t\t// If there is an explicit format directive,\n\t\t// then default values are these:\n\t\tprecision = 9\n\t\tthousandStr = \"\"\n\n\t\t// collect indices of meaningful formatting directives\n\t\tformatIndx := []int{}\n\t\tfor i, char := range format {\n\t\t\tif char != '#' && char != '0' {\n\t\t\t\tformatIndx = append(formatIndx, i)\n\t\t\t}\n\t\t}\n\n\t\tif len(formatIndx) > 0 {\n\t\t\t// Directive at index 0:\n\t\t\t//   Must be a '+'\n\t\t\t//   Raise an error if not the case\n\t\t\t// index: 0123456789\n\t\t\t//        +0.000,000\n\t\t\t//        +000,000.0\n\t\t\t//        +0000.00\n\t\t\t//        +0000\n\t\t\tif formatIndx[0] == 0 {\n\t\t\t\tif format[formatIndx[0]] != '+' {\n\t\t\t\t\tpanic(\"RenderFloat(): invalid positive sign directive\")\n\t\t\t\t}\n\t\t\t\tpositiveStr = \"+\"\n\t\t\t\tformatIndx = formatIndx[1:]\n\t\t\t}\n\n\t\t\t// Two directives:\n\t\t\t//   First is thousands separator\n\t\t\t//   Raise an error if not followed by 3-digit\n\t\t\t// 0123456789\n\t\t\t// 0.000,000\n\t\t\t// 000,000.00\n\t\t\tif len(formatIndx) == 2 {\n\t\t\t\tif (formatIndx[1] - formatIndx[0]) != 4 {\n\t\t\t\t\tpanic(\"RenderFloat(): thousands separator directive must be followed by 3 digit-specifiers\")\n\t\t\t\t}\n\t\t\t\tthousandStr = string(format[formatIndx[0]])\n\t\t\t\tformatIndx = formatIndx[1:]\n\t\t\t}\n\n\t\t\t// One directive:\n\t\t\t//   Directive is decimal separator\n\t\t\t//   The number of digit-specifier following the separator indicates wanted precision\n\t\t\t// 0123456789\n\t\t\t// 0.00\n\t\t\t// 000,0000\n\t\t\tif len(formatIndx) == 1 {\n\t\t\t\tdecimalStr = string(format[formatIndx[0]])\n\t\t\t\tprecision = len(format) - formatIndx[0] - 1\n\t\t\t}\n\t\t}\n\t}\n\n\t// generate sign part\n\tvar signStr string\n\tif n >= 0.000000001 {\n\t\tsignStr = positiveStr\n\t} else if n <= -0.000000001 {\n\t\tsignStr = negativeStr\n\t\tn = -n\n\t} else {\n\t\tsignStr = \"\"\n\t\tn = 0.0\n\t}\n\n\t// split number into integer and fractional parts\n\tintf, fracf := math.Modf(n + renderFloatPrecisionRounders[precision])\n\n\t// generate integer part string\n\tintStr := strconv.FormatInt(int64(intf), 10)\n\n\t// add thousand separator if required\n\tif len(thousandStr) > 0 {\n\t\tfor i := len(intStr); i > 3; {\n\t\t\ti -= 3\n\t\t\tintStr = intStr[:i] + thousandStr + intStr[i:]\n\t\t}\n\t}\n\n\t// no fractional part, we can leave now\n\tif precision == 0 {\n\t\treturn signStr + intStr\n\t}\n\n\t// generate fractional part\n\tfracStr := strconv.Itoa(int(fracf * renderFloatPrecisionMultipliers[precision]))\n\t// may need padding\n\tif len(fracStr) < precision {\n\t\tfracStr = \"000000000000000\"[:precision-len(fracStr)] + fracStr\n\t}\n\n\treturn signStr + intStr + decimalStr + fracStr\n}\n\n// FormatInteger produces a formatted number as string.\n// See FormatFloat.\nfunc FormatInteger(format string, n int) string {\n\treturn FormatFloat(format, float64(n))\n}\n"
  },
  {
    "path": "vendor/github.com/dustin/go-humanize/ordinals.go",
    "content": "package humanize\n\nimport \"strconv\"\n\n// Ordinal gives you the input number in a rank/ordinal format.\n//\n// Ordinal(3) -> 3rd\nfunc Ordinal(x int) string {\n\tsuffix := \"th\"\n\tswitch x % 10 {\n\tcase 1:\n\t\tif x%100 != 11 {\n\t\t\tsuffix = \"st\"\n\t\t}\n\tcase 2:\n\t\tif x%100 != 12 {\n\t\t\tsuffix = \"nd\"\n\t\t}\n\tcase 3:\n\t\tif x%100 != 13 {\n\t\t\tsuffix = \"rd\"\n\t\t}\n\t}\n\treturn strconv.Itoa(x) + suffix\n}\n"
  },
  {
    "path": "vendor/github.com/dustin/go-humanize/si.go",
    "content": "package humanize\n\nimport (\n\t\"errors\"\n\t\"math\"\n\t\"regexp\"\n\t\"strconv\"\n)\n\nvar siPrefixTable = map[float64]string{\n\t-24: \"y\", // yocto\n\t-21: \"z\", // zepto\n\t-18: \"a\", // atto\n\t-15: \"f\", // femto\n\t-12: \"p\", // pico\n\t-9:  \"n\", // nano\n\t-6:  \"µ\", // micro\n\t-3:  \"m\", // milli\n\t0:   \"\",\n\t3:   \"k\", // kilo\n\t6:   \"M\", // mega\n\t9:   \"G\", // giga\n\t12:  \"T\", // tera\n\t15:  \"P\", // peta\n\t18:  \"E\", // exa\n\t21:  \"Z\", // zetta\n\t24:  \"Y\", // yotta\n}\n\nvar revSIPrefixTable = revfmap(siPrefixTable)\n\n// revfmap reverses the map and precomputes the power multiplier\nfunc revfmap(in map[float64]string) map[string]float64 {\n\trv := map[string]float64{}\n\tfor k, v := range in {\n\t\trv[v] = math.Pow(10, k)\n\t}\n\treturn rv\n}\n\nvar riParseRegex *regexp.Regexp\n\nfunc init() {\n\tri := `^([\\-0-9.]+)\\s?([`\n\tfor _, v := range siPrefixTable {\n\t\tri += v\n\t}\n\tri += `]?)(.*)`\n\n\triParseRegex = regexp.MustCompile(ri)\n}\n\n// ComputeSI finds the most appropriate SI prefix for the given number\n// and returns the prefix along with the value adjusted to be within\n// that prefix.\n//\n// See also: SI, ParseSI.\n//\n// e.g. ComputeSI(2.2345e-12) -> (2.2345, \"p\")\nfunc ComputeSI(input float64) (float64, string) {\n\tif input == 0 {\n\t\treturn 0, \"\"\n\t}\n\tmag := math.Abs(input)\n\texponent := math.Floor(logn(mag, 10))\n\texponent = math.Floor(exponent/3) * 3\n\n\tvalue := mag / math.Pow(10, exponent)\n\n\t// Handle special case where value is exactly 1000.0\n\t// Should return 1 M instead of 1000 k\n\tif value == 1000.0 {\n\t\texponent += 3\n\t\tvalue = mag / math.Pow(10, exponent)\n\t}\n\n\tvalue = math.Copysign(value, input)\n\n\tprefix := siPrefixTable[exponent]\n\treturn value, prefix\n}\n\n// SI returns a string with default formatting.\n//\n// SI uses Ftoa to format float value, removing trailing zeros.\n//\n// See also: ComputeSI, ParseSI.\n//\n// e.g. SI(1000000, \"B\") -> 1 MB\n// e.g. SI(2.2345e-12, \"F\") -> 2.2345 pF\nfunc SI(input float64, unit string) string {\n\tvalue, prefix := ComputeSI(input)\n\treturn Ftoa(value) + \" \" + prefix + unit\n}\n\n// SIWithDigits works like SI but limits the resulting string to the\n// given number of decimal places.\n//\n// e.g. SIWithDigits(1000000, 0, \"B\") -> 1 MB\n// e.g. SIWithDigits(2.2345e-12, 2, \"F\") -> 2.23 pF\nfunc SIWithDigits(input float64, decimals int, unit string) string {\n\tvalue, prefix := ComputeSI(input)\n\treturn FtoaWithDigits(value, decimals) + \" \" + prefix + unit\n}\n\nvar errInvalid = errors.New(\"invalid input\")\n\n// ParseSI parses an SI string back into the number and unit.\n//\n// See also: SI, ComputeSI.\n//\n// e.g. ParseSI(\"2.2345 pF\") -> (2.2345e-12, \"F\", nil)\nfunc ParseSI(input string) (float64, string, error) {\n\tfound := riParseRegex.FindStringSubmatch(input)\n\tif len(found) != 4 {\n\t\treturn 0, \"\", errInvalid\n\t}\n\tmag := revSIPrefixTable[found[2]]\n\tunit := found[3]\n\n\tbase, err := strconv.ParseFloat(found[1], 64)\n\treturn base * mag, unit, err\n}\n"
  },
  {
    "path": "vendor/github.com/dustin/go-humanize/times.go",
    "content": "package humanize\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"sort\"\n\t\"time\"\n)\n\n// Seconds-based time units\nconst (\n\tDay      = 24 * time.Hour\n\tWeek     = 7 * Day\n\tMonth    = 30 * Day\n\tYear     = 12 * Month\n\tLongTime = 37 * Year\n)\n\n// Time formats a time into a relative string.\n//\n// Time(someT) -> \"3 weeks ago\"\nfunc Time(then time.Time) string {\n\treturn RelTime(then, time.Now(), \"ago\", \"from now\")\n}\n\n// A RelTimeMagnitude struct contains a relative time point at which\n// the relative format of time will switch to a new format string.  A\n// slice of these in ascending order by their \"D\" field is passed to\n// CustomRelTime to format durations.\n//\n// The Format field is a string that may contain a \"%s\" which will be\n// replaced with the appropriate signed label (e.g. \"ago\" or \"from\n// now\") and a \"%d\" that will be replaced by the quantity.\n//\n// The DivBy field is the amount of time the time difference must be\n// divided by in order to display correctly.\n//\n// e.g. if D is 2*time.Minute and you want to display \"%d minutes %s\"\n// DivBy should be time.Minute so whatever the duration is will be\n// expressed in minutes.\ntype RelTimeMagnitude struct {\n\tD      time.Duration\n\tFormat string\n\tDivBy  time.Duration\n}\n\nvar defaultMagnitudes = []RelTimeMagnitude{\n\t{time.Second, \"now\", time.Second},\n\t{2 * time.Second, \"1 second %s\", 1},\n\t{time.Minute, \"%d seconds %s\", time.Second},\n\t{2 * time.Minute, \"1 minute %s\", 1},\n\t{time.Hour, \"%d minutes %s\", time.Minute},\n\t{2 * time.Hour, \"1 hour %s\", 1},\n\t{Day, \"%d hours %s\", time.Hour},\n\t{2 * Day, \"1 day %s\", 1},\n\t{Week, \"%d days %s\", Day},\n\t{2 * Week, \"1 week %s\", 1},\n\t{Month, \"%d weeks %s\", Week},\n\t{2 * Month, \"1 month %s\", 1},\n\t{Year, \"%d months %s\", Month},\n\t{18 * Month, \"1 year %s\", 1},\n\t{2 * Year, \"2 years %s\", 1},\n\t{LongTime, \"%d years %s\", Year},\n\t{math.MaxInt64, \"a long while %s\", 1},\n}\n\n// RelTime formats a time into a relative string.\n//\n// It takes two times and two labels.  In addition to the generic time\n// delta string (e.g. 5 minutes), the labels are used applied so that\n// the label corresponding to the smaller time is applied.\n//\n// RelTime(timeInPast, timeInFuture, \"earlier\", \"later\") -> \"3 weeks earlier\"\nfunc RelTime(a, b time.Time, albl, blbl string) string {\n\treturn CustomRelTime(a, b, albl, blbl, defaultMagnitudes)\n}\n\n// CustomRelTime formats a time into a relative string.\n//\n// It takes two times two labels and a table of relative time formats.\n// In addition to the generic time delta string (e.g. 5 minutes), the\n// labels are used applied so that the label corresponding to the\n// smaller time is applied.\nfunc CustomRelTime(a, b time.Time, albl, blbl string, magnitudes []RelTimeMagnitude) string {\n\tlbl := albl\n\tdiff := b.Sub(a)\n\n\tif a.After(b) {\n\t\tlbl = blbl\n\t\tdiff = a.Sub(b)\n\t}\n\n\tn := sort.Search(len(magnitudes), func(i int) bool {\n\t\treturn magnitudes[i].D > diff\n\t})\n\n\tif n >= len(magnitudes) {\n\t\tn = len(magnitudes) - 1\n\t}\n\tmag := magnitudes[n]\n\targs := []interface{}{}\n\tescaped := false\n\tfor _, ch := range mag.Format {\n\t\tif escaped {\n\t\t\tswitch ch {\n\t\t\tcase 's':\n\t\t\t\targs = append(args, lbl)\n\t\t\tcase 'd':\n\t\t\t\targs = append(args, diff/mag.DivBy)\n\t\t\t}\n\t\t\tescaped = false\n\t\t} else {\n\t\t\tescaped = ch == '%'\n\t\t}\n\t}\n\treturn fmt.Sprintf(mag.Format, args...)\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/LICENSE",
    "content": "Protocol Buffers for Go with Gadgets\n\nCopyright (c) 2013, The GoGo Authors. All rights reserved.\nhttp://github.com/gogo/protobuf\n\nGo support for Protocol Buffers - Google's data interchange format\n\nCopyright 2010 The Go Authors.  All rights reserved.\nhttps://github.com/golang/protobuf\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n    * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n    * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n    * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/gogoproto/doc.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/*\nPackage gogoproto provides extensions for protocol buffers to achieve:\n\n  - fast marshalling and unmarshalling.\n  - peace of mind by optionally generating test and benchmark code.\n  - more canonical Go structures.\n  - less typing by optionally generating extra helper code.\n  - goprotobuf compatibility\n\nMore Canonical Go Structures\n\nA lot of time working with a goprotobuf struct will lead you to a place where you create another struct that is easier to work with and then have a function to copy the values between the two structs.\nYou might also find that basic structs that started their life as part of an API need to be sent over the wire. With gob, you could just send it. With goprotobuf, you need to make a parallel struct.\nGogoprotobuf tries to fix these problems with the nullable, embed, customtype and customname field extensions.\n\n  - nullable, if false, a field is generated without a pointer (see warning below).\n  - embed, if true, the field is generated as an embedded field.\n  - customtype, It works with the Marshal and Unmarshal methods, to allow you to have your own types in your struct, but marshal to bytes. For example, custom.Uuid or custom.Fixed128\n  - customname (beta), Changes the generated fieldname. This is especially useful when generated methods conflict with fieldnames.\n  - casttype (beta), Changes the generated fieldtype.  All generated code assumes that this type is castable to the protocol buffer field type.  It does not work for structs or enums.\n  - castkey (beta), Changes the generated fieldtype for a map key.  All generated code assumes that this type is castable to the protocol buffer field type.  Only supported on maps.\n  - castvalue (beta), Changes the generated fieldtype for a map value.  All generated code assumes that this type is castable to the protocol buffer field type.  Only supported on maps.\n\nWarning about nullable: According to the Protocol Buffer specification, you should be able to tell whether a field is set or unset. With the option nullable=false this feature is lost, since your non-nullable fields will always be set. It can be seen as a layer on top of Protocol Buffers, where before and after marshalling all non-nullable fields are set and they cannot be unset.\n\nLet us look at:\n\n\tgithub.com/gogo/protobuf/test/example/example.proto\n\nfor a quicker overview.\n\nThe following message:\n\n  package test;\n\n  import \"github.com/gogo/protobuf/gogoproto/gogo.proto\";\n\n\tmessage A {\n\t\toptional string Description = 1 [(gogoproto.nullable) = false];\n\t\toptional int64 Number = 2 [(gogoproto.nullable) = false];\n\t\toptional bytes Id = 3 [(gogoproto.customtype) = \"github.com/gogo/protobuf/test/custom.Uuid\", (gogoproto.nullable) = false];\n\t}\n\nWill generate a go struct which looks a lot like this:\n\n\ttype A struct {\n\t\tDescription string\n\t\tNumber      int64\n\t\tId          github_com_gogo_protobuf_test_custom.Uuid\n\t}\n\nYou will see there are no pointers, since all fields are non-nullable.\nYou will also see a custom type which marshals to a string.\nBe warned it is your responsibility to test your custom types thoroughly.\nYou should think of every possible empty and nil case for your marshaling, unmarshaling and size methods.\n\nNext we will embed the message A in message B.\n\n\tmessage B {\n\t\toptional A A = 1 [(gogoproto.nullable) = false, (gogoproto.embed) = true];\n\t\trepeated bytes G = 2 [(gogoproto.customtype) = \"github.com/gogo/protobuf/test/custom.Uint128\", (gogoproto.nullable) = false];\n\t}\n\nSee below that A is embedded in B.\n\n\ttype B struct {\n\t\tA\n\t\tG []github_com_gogo_protobuf_test_custom.Uint128\n\t}\n\nAlso see the repeated custom type.\n\n\ttype Uint128 [2]uint64\n\nNext we will create a custom name for one of our fields.\n\n\tmessage C {\n\t\toptional int64 size = 1 [(gogoproto.customname) = \"MySize\"];\n\t}\n\nSee below that the field's name is MySize and not Size.\n\n\ttype C struct {\n\t\tMySize\t\t*int64\n\t}\n\nThe is useful when having a protocol buffer message with a field name which conflicts with a generated method.\nAs an example, having a field name size and using the sizer plugin to generate a Size method will cause a go compiler error.\nUsing customname you can fix this error without changing the field name.\nThis is typically useful when working with a protocol buffer that was designed before these methods and/or the go language were avialable.\n\nGogoprotobuf also has some more subtle changes, these could be changed back:\n\n  - the generated package name for imports do not have the extra /filename.pb,\n  but are actually the imports specified in the .proto file.\n\nGogoprotobuf also has lost some features which should be brought back with time:\n\n  - Marshalling and unmarshalling with reflect and without the unsafe package,\n  this requires work in pointer_reflect.go\n\nWhy does nullable break protocol buffer specifications:\n\nThe protocol buffer specification states, somewhere, that you should be able to tell whether a\nfield is set or unset.  With the option nullable=false this feature is lost,\nsince your non-nullable fields will always be set.  It can be seen as a layer on top of\nprotocol buffers, where before and after marshalling all non-nullable fields are set\nand they cannot be unset.\n\nGoprotobuf Compatibility:\n\nGogoprotobuf is compatible with Goprotobuf, because it is compatible with protocol buffers.\nGogoprotobuf generates the same code as goprotobuf if no extensions are used.\nThe enumprefix, getters and stringer extensions can be used to remove some of the unnecessary code generated by goprotobuf:\n\n  - gogoproto_import, if false, the generated code imports github.com/golang/protobuf/proto instead of github.com/gogo/protobuf/proto.\n  - goproto_enum_prefix, if false, generates the enum constant names without the messagetype prefix\n  - goproto_enum_stringer (experimental), if false, the enum is generated without the default string method, this is useful for rather using enum_stringer, or allowing you to write your own string method.\n  - goproto_getters, if false, the message is generated without get methods, this is useful when you would rather want to use face\n  - goproto_stringer, if false, the message is generated without the default string method, this is useful for rather using stringer, or allowing you to write your own string method.\n  - goproto_extensions_map (beta), if false, the extensions field is generated as type []byte instead of type map[int32]proto.Extension\n  - goproto_unrecognized (beta), if false, XXX_unrecognized field is not generated. This is useful in conjunction with gogoproto.nullable=false, to generate structures completely devoid of pointers and reduce GC pressure at the cost of losing information about unrecognized fields.\n  - goproto_registration (beta), if true, the generated files will register all messages and types against both gogo/protobuf and golang/protobuf. This is necessary when using third-party packages which read registrations from golang/protobuf (such as the grpc-gateway).\n\nLess Typing and Peace of Mind is explained in their specific plugin folders godoc:\n\n\t- github.com/gogo/protobuf/plugin/<extension_name>\n\nIf you do not use any of these extension the code that is generated\nwill be the same as if goprotobuf has generated it.\n\nThe most complete way to see examples is to look at\n\n\tgithub.com/gogo/protobuf/test/thetest.proto\n\nGogoprototest is a seperate project,\nbecause we want to keep gogoprotobuf independant of goprotobuf,\nbut we still want to test it thoroughly.\n\n*/\npackage gogoproto\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: gogo.proto\n\n/*\nPackage gogoproto is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgogo.proto\n\nIt has these top-level messages:\n*/\npackage gogoproto\n\nimport proto \"github.com/gogo/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport google_protobuf \"github.com/gogo/protobuf/protoc-gen-gogo/descriptor\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package\n\nvar E_GoprotoEnumPrefix = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.EnumOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         62001,\n\tName:          \"gogoproto.goproto_enum_prefix\",\n\tTag:           \"varint,62001,opt,name=goproto_enum_prefix,json=goprotoEnumPrefix\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoEnumStringer = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.EnumOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         62021,\n\tName:          \"gogoproto.goproto_enum_stringer\",\n\tTag:           \"varint,62021,opt,name=goproto_enum_stringer,json=goprotoEnumStringer\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_EnumStringer = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.EnumOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         62022,\n\tName:          \"gogoproto.enum_stringer\",\n\tTag:           \"varint,62022,opt,name=enum_stringer,json=enumStringer\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_EnumCustomname = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.EnumOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         62023,\n\tName:          \"gogoproto.enum_customname\",\n\tTag:           \"bytes,62023,opt,name=enum_customname,json=enumCustomname\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Enumdecl = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.EnumOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         62024,\n\tName:          \"gogoproto.enumdecl\",\n\tTag:           \"varint,62024,opt,name=enumdecl\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_EnumvalueCustomname = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.EnumValueOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         66001,\n\tName:          \"gogoproto.enumvalue_customname\",\n\tTag:           \"bytes,66001,opt,name=enumvalue_customname,json=enumvalueCustomname\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoGettersAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63001,\n\tName:          \"gogoproto.goproto_getters_all\",\n\tTag:           \"varint,63001,opt,name=goproto_getters_all,json=goprotoGettersAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoEnumPrefixAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63002,\n\tName:          \"gogoproto.goproto_enum_prefix_all\",\n\tTag:           \"varint,63002,opt,name=goproto_enum_prefix_all,json=goprotoEnumPrefixAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoStringerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63003,\n\tName:          \"gogoproto.goproto_stringer_all\",\n\tTag:           \"varint,63003,opt,name=goproto_stringer_all,json=goprotoStringerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_VerboseEqualAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63004,\n\tName:          \"gogoproto.verbose_equal_all\",\n\tTag:           \"varint,63004,opt,name=verbose_equal_all,json=verboseEqualAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_FaceAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63005,\n\tName:          \"gogoproto.face_all\",\n\tTag:           \"varint,63005,opt,name=face_all,json=faceAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GostringAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63006,\n\tName:          \"gogoproto.gostring_all\",\n\tTag:           \"varint,63006,opt,name=gostring_all,json=gostringAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_PopulateAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63007,\n\tName:          \"gogoproto.populate_all\",\n\tTag:           \"varint,63007,opt,name=populate_all,json=populateAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_StringerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63008,\n\tName:          \"gogoproto.stringer_all\",\n\tTag:           \"varint,63008,opt,name=stringer_all,json=stringerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_OnlyoneAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63009,\n\tName:          \"gogoproto.onlyone_all\",\n\tTag:           \"varint,63009,opt,name=onlyone_all,json=onlyoneAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_EqualAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63013,\n\tName:          \"gogoproto.equal_all\",\n\tTag:           \"varint,63013,opt,name=equal_all,json=equalAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_DescriptionAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63014,\n\tName:          \"gogoproto.description_all\",\n\tTag:           \"varint,63014,opt,name=description_all,json=descriptionAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_TestgenAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63015,\n\tName:          \"gogoproto.testgen_all\",\n\tTag:           \"varint,63015,opt,name=testgen_all,json=testgenAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_BenchgenAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63016,\n\tName:          \"gogoproto.benchgen_all\",\n\tTag:           \"varint,63016,opt,name=benchgen_all,json=benchgenAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_MarshalerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63017,\n\tName:          \"gogoproto.marshaler_all\",\n\tTag:           \"varint,63017,opt,name=marshaler_all,json=marshalerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_UnmarshalerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63018,\n\tName:          \"gogoproto.unmarshaler_all\",\n\tTag:           \"varint,63018,opt,name=unmarshaler_all,json=unmarshalerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_StableMarshalerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63019,\n\tName:          \"gogoproto.stable_marshaler_all\",\n\tTag:           \"varint,63019,opt,name=stable_marshaler_all,json=stableMarshalerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_SizerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63020,\n\tName:          \"gogoproto.sizer_all\",\n\tTag:           \"varint,63020,opt,name=sizer_all,json=sizerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoEnumStringerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63021,\n\tName:          \"gogoproto.goproto_enum_stringer_all\",\n\tTag:           \"varint,63021,opt,name=goproto_enum_stringer_all,json=goprotoEnumStringerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_EnumStringerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63022,\n\tName:          \"gogoproto.enum_stringer_all\",\n\tTag:           \"varint,63022,opt,name=enum_stringer_all,json=enumStringerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_UnsafeMarshalerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63023,\n\tName:          \"gogoproto.unsafe_marshaler_all\",\n\tTag:           \"varint,63023,opt,name=unsafe_marshaler_all,json=unsafeMarshalerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_UnsafeUnmarshalerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63024,\n\tName:          \"gogoproto.unsafe_unmarshaler_all\",\n\tTag:           \"varint,63024,opt,name=unsafe_unmarshaler_all,json=unsafeUnmarshalerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoExtensionsMapAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63025,\n\tName:          \"gogoproto.goproto_extensions_map_all\",\n\tTag:           \"varint,63025,opt,name=goproto_extensions_map_all,json=goprotoExtensionsMapAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoUnrecognizedAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63026,\n\tName:          \"gogoproto.goproto_unrecognized_all\",\n\tTag:           \"varint,63026,opt,name=goproto_unrecognized_all,json=goprotoUnrecognizedAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GogoprotoImport = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63027,\n\tName:          \"gogoproto.gogoproto_import\",\n\tTag:           \"varint,63027,opt,name=gogoproto_import,json=gogoprotoImport\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_ProtosizerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63028,\n\tName:          \"gogoproto.protosizer_all\",\n\tTag:           \"varint,63028,opt,name=protosizer_all,json=protosizerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_CompareAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63029,\n\tName:          \"gogoproto.compare_all\",\n\tTag:           \"varint,63029,opt,name=compare_all,json=compareAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_TypedeclAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63030,\n\tName:          \"gogoproto.typedecl_all\",\n\tTag:           \"varint,63030,opt,name=typedecl_all,json=typedeclAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_EnumdeclAll = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63031,\n\tName:          \"gogoproto.enumdecl_all\",\n\tTag:           \"varint,63031,opt,name=enumdecl_all,json=enumdeclAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoRegistration = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63032,\n\tName:          \"gogoproto.goproto_registration\",\n\tTag:           \"varint,63032,opt,name=goproto_registration,json=goprotoRegistration\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoGetters = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64001,\n\tName:          \"gogoproto.goproto_getters\",\n\tTag:           \"varint,64001,opt,name=goproto_getters,json=goprotoGetters\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoStringer = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64003,\n\tName:          \"gogoproto.goproto_stringer\",\n\tTag:           \"varint,64003,opt,name=goproto_stringer,json=goprotoStringer\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_VerboseEqual = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64004,\n\tName:          \"gogoproto.verbose_equal\",\n\tTag:           \"varint,64004,opt,name=verbose_equal,json=verboseEqual\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Face = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64005,\n\tName:          \"gogoproto.face\",\n\tTag:           \"varint,64005,opt,name=face\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Gostring = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64006,\n\tName:          \"gogoproto.gostring\",\n\tTag:           \"varint,64006,opt,name=gostring\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Populate = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64007,\n\tName:          \"gogoproto.populate\",\n\tTag:           \"varint,64007,opt,name=populate\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Stringer = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         67008,\n\tName:          \"gogoproto.stringer\",\n\tTag:           \"varint,67008,opt,name=stringer\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Onlyone = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64009,\n\tName:          \"gogoproto.onlyone\",\n\tTag:           \"varint,64009,opt,name=onlyone\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Equal = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64013,\n\tName:          \"gogoproto.equal\",\n\tTag:           \"varint,64013,opt,name=equal\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Description = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64014,\n\tName:          \"gogoproto.description\",\n\tTag:           \"varint,64014,opt,name=description\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Testgen = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64015,\n\tName:          \"gogoproto.testgen\",\n\tTag:           \"varint,64015,opt,name=testgen\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Benchgen = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64016,\n\tName:          \"gogoproto.benchgen\",\n\tTag:           \"varint,64016,opt,name=benchgen\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Marshaler = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64017,\n\tName:          \"gogoproto.marshaler\",\n\tTag:           \"varint,64017,opt,name=marshaler\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Unmarshaler = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64018,\n\tName:          \"gogoproto.unmarshaler\",\n\tTag:           \"varint,64018,opt,name=unmarshaler\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_StableMarshaler = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64019,\n\tName:          \"gogoproto.stable_marshaler\",\n\tTag:           \"varint,64019,opt,name=stable_marshaler,json=stableMarshaler\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Sizer = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64020,\n\tName:          \"gogoproto.sizer\",\n\tTag:           \"varint,64020,opt,name=sizer\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_UnsafeMarshaler = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64023,\n\tName:          \"gogoproto.unsafe_marshaler\",\n\tTag:           \"varint,64023,opt,name=unsafe_marshaler,json=unsafeMarshaler\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_UnsafeUnmarshaler = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64024,\n\tName:          \"gogoproto.unsafe_unmarshaler\",\n\tTag:           \"varint,64024,opt,name=unsafe_unmarshaler,json=unsafeUnmarshaler\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoExtensionsMap = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64025,\n\tName:          \"gogoproto.goproto_extensions_map\",\n\tTag:           \"varint,64025,opt,name=goproto_extensions_map,json=goprotoExtensionsMap\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoUnrecognized = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64026,\n\tName:          \"gogoproto.goproto_unrecognized\",\n\tTag:           \"varint,64026,opt,name=goproto_unrecognized,json=goprotoUnrecognized\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Protosizer = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64028,\n\tName:          \"gogoproto.protosizer\",\n\tTag:           \"varint,64028,opt,name=protosizer\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Compare = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64029,\n\tName:          \"gogoproto.compare\",\n\tTag:           \"varint,64029,opt,name=compare\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Typedecl = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64030,\n\tName:          \"gogoproto.typedecl\",\n\tTag:           \"varint,64030,opt,name=typedecl\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Nullable = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         65001,\n\tName:          \"gogoproto.nullable\",\n\tTag:           \"varint,65001,opt,name=nullable\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Embed = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         65002,\n\tName:          \"gogoproto.embed\",\n\tTag:           \"varint,65002,opt,name=embed\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Customtype = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65003,\n\tName:          \"gogoproto.customtype\",\n\tTag:           \"bytes,65003,opt,name=customtype\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Customname = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65004,\n\tName:          \"gogoproto.customname\",\n\tTag:           \"bytes,65004,opt,name=customname\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Jsontag = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65005,\n\tName:          \"gogoproto.jsontag\",\n\tTag:           \"bytes,65005,opt,name=jsontag\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Moretags = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65006,\n\tName:          \"gogoproto.moretags\",\n\tTag:           \"bytes,65006,opt,name=moretags\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Casttype = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65007,\n\tName:          \"gogoproto.casttype\",\n\tTag:           \"bytes,65007,opt,name=casttype\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Castkey = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65008,\n\tName:          \"gogoproto.castkey\",\n\tTag:           \"bytes,65008,opt,name=castkey\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Castvalue = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65009,\n\tName:          \"gogoproto.castvalue\",\n\tTag:           \"bytes,65009,opt,name=castvalue\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Stdtime = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         65010,\n\tName:          \"gogoproto.stdtime\",\n\tTag:           \"varint,65010,opt,name=stdtime\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Stdduration = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         65011,\n\tName:          \"gogoproto.stdduration\",\n\tTag:           \"varint,65011,opt,name=stdduration\",\n\tFilename:      \"gogo.proto\",\n}\n\nfunc init() {\n\tproto.RegisterExtension(E_GoprotoEnumPrefix)\n\tproto.RegisterExtension(E_GoprotoEnumStringer)\n\tproto.RegisterExtension(E_EnumStringer)\n\tproto.RegisterExtension(E_EnumCustomname)\n\tproto.RegisterExtension(E_Enumdecl)\n\tproto.RegisterExtension(E_EnumvalueCustomname)\n\tproto.RegisterExtension(E_GoprotoGettersAll)\n\tproto.RegisterExtension(E_GoprotoEnumPrefixAll)\n\tproto.RegisterExtension(E_GoprotoStringerAll)\n\tproto.RegisterExtension(E_VerboseEqualAll)\n\tproto.RegisterExtension(E_FaceAll)\n\tproto.RegisterExtension(E_GostringAll)\n\tproto.RegisterExtension(E_PopulateAll)\n\tproto.RegisterExtension(E_StringerAll)\n\tproto.RegisterExtension(E_OnlyoneAll)\n\tproto.RegisterExtension(E_EqualAll)\n\tproto.RegisterExtension(E_DescriptionAll)\n\tproto.RegisterExtension(E_TestgenAll)\n\tproto.RegisterExtension(E_BenchgenAll)\n\tproto.RegisterExtension(E_MarshalerAll)\n\tproto.RegisterExtension(E_UnmarshalerAll)\n\tproto.RegisterExtension(E_StableMarshalerAll)\n\tproto.RegisterExtension(E_SizerAll)\n\tproto.RegisterExtension(E_GoprotoEnumStringerAll)\n\tproto.RegisterExtension(E_EnumStringerAll)\n\tproto.RegisterExtension(E_UnsafeMarshalerAll)\n\tproto.RegisterExtension(E_UnsafeUnmarshalerAll)\n\tproto.RegisterExtension(E_GoprotoExtensionsMapAll)\n\tproto.RegisterExtension(E_GoprotoUnrecognizedAll)\n\tproto.RegisterExtension(E_GogoprotoImport)\n\tproto.RegisterExtension(E_ProtosizerAll)\n\tproto.RegisterExtension(E_CompareAll)\n\tproto.RegisterExtension(E_TypedeclAll)\n\tproto.RegisterExtension(E_EnumdeclAll)\n\tproto.RegisterExtension(E_GoprotoRegistration)\n\tproto.RegisterExtension(E_GoprotoGetters)\n\tproto.RegisterExtension(E_GoprotoStringer)\n\tproto.RegisterExtension(E_VerboseEqual)\n\tproto.RegisterExtension(E_Face)\n\tproto.RegisterExtension(E_Gostring)\n\tproto.RegisterExtension(E_Populate)\n\tproto.RegisterExtension(E_Stringer)\n\tproto.RegisterExtension(E_Onlyone)\n\tproto.RegisterExtension(E_Equal)\n\tproto.RegisterExtension(E_Description)\n\tproto.RegisterExtension(E_Testgen)\n\tproto.RegisterExtension(E_Benchgen)\n\tproto.RegisterExtension(E_Marshaler)\n\tproto.RegisterExtension(E_Unmarshaler)\n\tproto.RegisterExtension(E_StableMarshaler)\n\tproto.RegisterExtension(E_Sizer)\n\tproto.RegisterExtension(E_UnsafeMarshaler)\n\tproto.RegisterExtension(E_UnsafeUnmarshaler)\n\tproto.RegisterExtension(E_GoprotoExtensionsMap)\n\tproto.RegisterExtension(E_GoprotoUnrecognized)\n\tproto.RegisterExtension(E_Protosizer)\n\tproto.RegisterExtension(E_Compare)\n\tproto.RegisterExtension(E_Typedecl)\n\tproto.RegisterExtension(E_Nullable)\n\tproto.RegisterExtension(E_Embed)\n\tproto.RegisterExtension(E_Customtype)\n\tproto.RegisterExtension(E_Customname)\n\tproto.RegisterExtension(E_Jsontag)\n\tproto.RegisterExtension(E_Moretags)\n\tproto.RegisterExtension(E_Casttype)\n\tproto.RegisterExtension(E_Castkey)\n\tproto.RegisterExtension(E_Castvalue)\n\tproto.RegisterExtension(E_Stdtime)\n\tproto.RegisterExtension(E_Stdduration)\n}\n\nfunc init() { proto.RegisterFile(\"gogo.proto\", fileDescriptorGogo) }\n\nvar fileDescriptorGogo = []byte{\n\t// 1220 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x98, 0x4b, 0x6f, 0x1c, 0x45,\n\t0x10, 0x80, 0x85, 0x48, 0x14, 0x6f, 0xd9, 0x8e, 0xf1, 0xda, 0x98, 0x10, 0x81, 0x08, 0x9c, 0x38,\n\t0xd9, 0xa7, 0x08, 0xa5, 0xad, 0xc8, 0x72, 0x2c, 0xc7, 0x4a, 0x84, 0xc1, 0x98, 0x38, 0xbc, 0x0e,\n\t0xab, 0xd9, 0xdd, 0xf6, 0x78, 0x60, 0x66, 0x7a, 0x98, 0xe9, 0x89, 0xe2, 0xdc, 0x50, 0x78, 0x08,\n\t0x21, 0xde, 0x48, 0x90, 0x90, 0x04, 0x38, 0xf0, 0x7e, 0x86, 0xf7, 0x91, 0x0b, 0x8f, 0x2b, 0xff,\n\t0x81, 0x0b, 0x60, 0xde, 0xbe, 0xf9, 0x82, 0x6a, 0xb6, 0x6a, 0xb6, 0x67, 0xbd, 0x52, 0xf7, 0xde,\n\t0xc6, 0xeb, 0xfe, 0xbe, 0xad, 0xa9, 0x9a, 0xae, 0xea, 0x59, 0x00, 0x5f, 0xf9, 0x6a, 0x3a, 0x49,\n\t0x95, 0x56, 0xf5, 0x1a, 0x5e, 0x17, 0x97, 0x07, 0x0f, 0xf9, 0x4a, 0xf9, 0xa1, 0x9c, 0x29, 0xfe,\n\t0x6a, 0xe6, 0xeb, 0x33, 0x6d, 0x99, 0xb5, 0xd2, 0x20, 0xd1, 0x2a, 0xed, 0x2c, 0x16, 0x77, 0xc1,\n\t0x04, 0x2d, 0x6e, 0xc8, 0x38, 0x8f, 0x1a, 0x49, 0x2a, 0xd7, 0x83, 0xb3, 0xf5, 0x9b, 0xa6, 0x3b,\n\t0xe4, 0x34, 0x93, 0xd3, 0x8b, 0x71, 0x1e, 0xdd, 0x9d, 0xe8, 0x40, 0xc5, 0xd9, 0x81, 0xab, 0xbf,\n\t0x5c, 0x7b, 0xe8, 0x9a, 0xdb, 0x87, 0x56, 0xc7, 0x09, 0xc5, 0xff, 0xad, 0x14, 0xa0, 0x58, 0x85,\n\t0xeb, 0x2b, 0xbe, 0x4c, 0xa7, 0x41, 0xec, 0xcb, 0xd4, 0x62, 0xfc, 0x9e, 0x8c, 0x13, 0x86, 0xf1,\n\t0x5e, 0x42, 0xc5, 0x02, 0x8c, 0x0e, 0xe2, 0xfa, 0x81, 0x5c, 0x23, 0xd2, 0x94, 0x2c, 0xc1, 0x58,\n\t0x21, 0x69, 0xe5, 0x99, 0x56, 0x51, 0xec, 0x45, 0xd2, 0xa2, 0xf9, 0xb1, 0xd0, 0xd4, 0x56, 0xf7,\n\t0x23, 0xb6, 0x50, 0x52, 0x42, 0xc0, 0x10, 0x7e, 0xd2, 0x96, 0xad, 0xd0, 0x62, 0xf8, 0x89, 0x02,\n\t0x29, 0xd7, 0x8b, 0xd3, 0x30, 0x89, 0xd7, 0x67, 0xbc, 0x30, 0x97, 0x66, 0x24, 0xb7, 0xf6, 0xf5,\n\t0x9c, 0xc6, 0x65, 0x2c, 0xfb, 0xf9, 0xfc, 0x9e, 0x22, 0x9c, 0x89, 0x52, 0x60, 0xc4, 0x64, 0x54,\n\t0xd1, 0x97, 0x5a, 0xcb, 0x34, 0x6b, 0x78, 0x61, 0xbf, 0xf0, 0x8e, 0x07, 0x61, 0x69, 0xbc, 0xb0,\n\t0x55, 0xad, 0xe2, 0x52, 0x87, 0x9c, 0x0f, 0x43, 0xb1, 0x06, 0x37, 0xf4, 0x79, 0x2a, 0x1c, 0x9c,\n\t0x17, 0xc9, 0x39, 0xb9, 0xeb, 0xc9, 0x40, 0xed, 0x0a, 0xf0, 0xe7, 0x65, 0x2d, 0x1d, 0x9c, 0xaf,\n\t0x93, 0xb3, 0x4e, 0x2c, 0x97, 0x14, 0x8d, 0x27, 0x61, 0xfc, 0x8c, 0x4c, 0x9b, 0x2a, 0x93, 0x0d,\n\t0xf9, 0x68, 0xee, 0x85, 0x0e, 0xba, 0x4b, 0xa4, 0x1b, 0x23, 0x70, 0x11, 0x39, 0x74, 0x1d, 0x81,\n\t0xa1, 0x75, 0xaf, 0x25, 0x1d, 0x14, 0x97, 0x49, 0xb1, 0x0f, 0xd7, 0x23, 0x3a, 0x0f, 0x23, 0xbe,\n\t0xea, 0xdc, 0x92, 0x03, 0x7e, 0x85, 0xf0, 0x61, 0x66, 0x48, 0x91, 0xa8, 0x24, 0x0f, 0x3d, 0xed,\n\t0x12, 0xc1, 0x1b, 0xac, 0x60, 0x86, 0x14, 0x03, 0xa4, 0xf5, 0x4d, 0x56, 0x64, 0x46, 0x3e, 0xe7,\n\t0x60, 0x58, 0xc5, 0xe1, 0xa6, 0x8a, 0x5d, 0x82, 0x78, 0x8b, 0x0c, 0x40, 0x08, 0x0a, 0x66, 0xa1,\n\t0xe6, 0x5a, 0x88, 0xb7, 0xb7, 0x78, 0x7b, 0x70, 0x05, 0x96, 0x60, 0x8c, 0x1b, 0x54, 0xa0, 0x62,\n\t0x07, 0xc5, 0x3b, 0xa4, 0xd8, 0x6f, 0x60, 0x74, 0x1b, 0x5a, 0x66, 0xda, 0x97, 0x2e, 0x92, 0x77,\n\t0xf9, 0x36, 0x08, 0xa1, 0x54, 0x36, 0x65, 0xdc, 0xda, 0x70, 0x33, 0xbc, 0xc7, 0xa9, 0x64, 0x06,\n\t0x15, 0x0b, 0x30, 0x1a, 0x79, 0x69, 0xb6, 0xe1, 0x85, 0x4e, 0xe5, 0x78, 0x9f, 0x1c, 0x23, 0x25,\n\t0x44, 0x19, 0xc9, 0xe3, 0x41, 0x34, 0x1f, 0x70, 0x46, 0x0c, 0x8c, 0xb6, 0x5e, 0xa6, 0xbd, 0x66,\n\t0x28, 0x1b, 0x83, 0xd8, 0x3e, 0xe4, 0xad, 0xd7, 0x61, 0x97, 0x4d, 0xe3, 0x2c, 0xd4, 0xb2, 0xe0,\n\t0x9c, 0x93, 0xe6, 0x23, 0xae, 0x74, 0x01, 0x20, 0xfc, 0x00, 0xdc, 0xd8, 0x77, 0x4c, 0x38, 0xc8,\n\t0x3e, 0x26, 0xd9, 0x54, 0x9f, 0x51, 0x41, 0x2d, 0x61, 0x50, 0xe5, 0x27, 0xdc, 0x12, 0x64, 0x8f,\n\t0x6b, 0x05, 0x26, 0xf3, 0x38, 0xf3, 0xd6, 0x07, 0xcb, 0xda, 0xa7, 0x9c, 0xb5, 0x0e, 0x5b, 0xc9,\n\t0xda, 0x29, 0x98, 0x22, 0xe3, 0x60, 0x75, 0xfd, 0x8c, 0x1b, 0x6b, 0x87, 0x5e, 0xab, 0x56, 0xf7,\n\t0x21, 0x38, 0x58, 0xa6, 0xf3, 0xac, 0x96, 0x71, 0x86, 0x4c, 0x23, 0xf2, 0x12, 0x07, 0xf3, 0x55,\n\t0x32, 0x73, 0xc7, 0x5f, 0x2c, 0x05, 0xcb, 0x5e, 0x82, 0xf2, 0xfb, 0xe1, 0x00, 0xcb, 0xf3, 0x38,\n\t0x95, 0x2d, 0xe5, 0xc7, 0xc1, 0x39, 0xd9, 0x76, 0x50, 0x7f, 0xde, 0x53, 0xaa, 0x35, 0x03, 0x47,\n\t0xf3, 0x09, 0xb8, 0xae, 0x3c, 0xab, 0x34, 0x82, 0x28, 0x51, 0xa9, 0xb6, 0x18, 0xbf, 0xe0, 0x4a,\n\t0x95, 0xdc, 0x89, 0x02, 0x13, 0x8b, 0xb0, 0xbf, 0xf8, 0xd3, 0xf5, 0x91, 0xfc, 0x92, 0x44, 0xa3,\n\t0x5d, 0x8a, 0x1a, 0x47, 0x4b, 0x45, 0x89, 0x97, 0xba, 0xf4, 0xbf, 0xaf, 0xb8, 0x71, 0x10, 0x42,\n\t0x8d, 0x43, 0x6f, 0x26, 0x12, 0xa7, 0xbd, 0x83, 0xe1, 0x6b, 0x6e, 0x1c, 0xcc, 0x90, 0x82, 0x0f,\n\t0x0c, 0x0e, 0x8a, 0x6f, 0x58, 0xc1, 0x0c, 0x2a, 0xee, 0xe9, 0x0e, 0xda, 0x54, 0xfa, 0x41, 0xa6,\n\t0x53, 0x0f, 0x57, 0x5b, 0x54, 0xdf, 0x6e, 0x55, 0x0f, 0x61, 0xab, 0x06, 0x2a, 0x4e, 0xc2, 0x58,\n\t0xcf, 0x11, 0xa3, 0x7e, 0xcb, 0x2e, 0xdb, 0xb2, 0xcc, 0x32, 0xcf, 0x2f, 0x85, 0x8f, 0x6d, 0x53,\n\t0x33, 0xaa, 0x9e, 0x30, 0xc4, 0x9d, 0x58, 0xf7, 0xea, 0x39, 0xc0, 0x2e, 0x3b, 0xbf, 0x5d, 0x96,\n\t0xbe, 0x72, 0x0c, 0x10, 0xc7, 0x61, 0xb4, 0x72, 0x06, 0xb0, 0xab, 0x1e, 0x27, 0xd5, 0x88, 0x79,\n\t0x04, 0x10, 0x87, 0x61, 0x0f, 0xce, 0x73, 0x3b, 0xfe, 0x04, 0xe1, 0xc5, 0x72, 0x71, 0x14, 0x86,\n\t0x78, 0x8e, 0xdb, 0xd1, 0x27, 0x09, 0x2d, 0x11, 0xc4, 0x79, 0x86, 0xdb, 0xf1, 0xa7, 0x18, 0x67,\n\t0x04, 0x71, 0xf7, 0x14, 0x7e, 0xf7, 0xcc, 0x1e, 0xea, 0xc3, 0x9c, 0xbb, 0x59, 0xd8, 0x47, 0xc3,\n\t0xdb, 0x4e, 0x3f, 0x4d, 0x5f, 0xce, 0x84, 0xb8, 0x03, 0xf6, 0x3a, 0x26, 0xfc, 0x59, 0x42, 0x3b,\n\t0xeb, 0xc5, 0x02, 0x0c, 0x1b, 0x03, 0xdb, 0x8e, 0x3f, 0x47, 0xb8, 0x49, 0x61, 0xe8, 0x34, 0xb0,\n\t0xed, 0x82, 0xe7, 0x39, 0x74, 0x22, 0x30, 0x6d, 0x3c, 0xab, 0xed, 0xf4, 0x0b, 0x9c, 0x75, 0x46,\n\t0xc4, 0x1c, 0xd4, 0xca, 0xfe, 0x6b, 0xe7, 0x5f, 0x24, 0xbe, 0xcb, 0x60, 0x06, 0x8c, 0xfe, 0x6f,\n\t0x57, 0xbc, 0xc4, 0x19, 0x30, 0x28, 0xdc, 0x46, 0xbd, 0x33, 0xdd, 0x6e, 0x7a, 0x99, 0xb7, 0x51,\n\t0xcf, 0x48, 0xc7, 0x6a, 0x16, 0x6d, 0xd0, 0xae, 0x78, 0x85, 0xab, 0x59, 0xac, 0xc7, 0x30, 0x7a,\n\t0x87, 0xa4, 0xdd, 0xf1, 0x2a, 0x87, 0xd1, 0x33, 0x23, 0xc5, 0x0a, 0xd4, 0x77, 0x0f, 0x48, 0xbb,\n\t0xef, 0x35, 0xf2, 0x8d, 0xef, 0x9a, 0x8f, 0xe2, 0x3e, 0x98, 0xea, 0x3f, 0x1c, 0xed, 0xd6, 0x0b,\n\t0xdb, 0x3d, 0xaf, 0x33, 0xe6, 0x6c, 0x14, 0xa7, 0xba, 0x5d, 0xd6, 0x1c, 0x8c, 0x76, 0xed, 0xc5,\n\t0xed, 0x6a, 0xa3, 0x35, 0xe7, 0xa2, 0x98, 0x07, 0xe8, 0xce, 0x24, 0xbb, 0xeb, 0x12, 0xb9, 0x0c,\n\t0x08, 0xb7, 0x06, 0x8d, 0x24, 0x3b, 0x7f, 0x99, 0xb7, 0x06, 0x11, 0xb8, 0x35, 0x78, 0x1a, 0xd9,\n\t0xe9, 0x2b, 0xbc, 0x35, 0x18, 0x11, 0xb3, 0x30, 0x14, 0xe7, 0x61, 0x88, 0xcf, 0x56, 0xfd, 0xe6,\n\t0x3e, 0xe3, 0x46, 0x86, 0x6d, 0x86, 0x7f, 0xdd, 0x21, 0x98, 0x01, 0x71, 0x18, 0xf6, 0xca, 0xa8,\n\t0x29, 0xdb, 0x36, 0xf2, 0xb7, 0x1d, 0xee, 0x27, 0xb8, 0x5a, 0xcc, 0x01, 0x74, 0x5e, 0xa6, 0x31,\n\t0x0a, 0x1b, 0xfb, 0xfb, 0x4e, 0xe7, 0xbd, 0xde, 0x40, 0xba, 0x82, 0xe2, 0x6d, 0xdc, 0x22, 0xd8,\n\t0xaa, 0x0a, 0x8a, 0x17, 0xf0, 0x23, 0xb0, 0xef, 0xe1, 0x4c, 0xc5, 0xda, 0xf3, 0x6d, 0xf4, 0x1f,\n\t0x44, 0xf3, 0x7a, 0x4c, 0x58, 0xa4, 0x52, 0xa9, 0x3d, 0x3f, 0xb3, 0xb1, 0x7f, 0x12, 0x5b, 0x02,\n\t0x08, 0xb7, 0xbc, 0x4c, 0xbb, 0xdc, 0xf7, 0x5f, 0x0c, 0x33, 0x80, 0x41, 0xe3, 0xf5, 0x23, 0x72,\n\t0xd3, 0xc6, 0xfe, 0xcd, 0x41, 0xd3, 0x7a, 0x71, 0x14, 0x6a, 0x78, 0x59, 0xfc, 0x0e, 0x61, 0x83,\n\t0xff, 0x21, 0xb8, 0x4b, 0xe0, 0x37, 0x67, 0xba, 0xad, 0x03, 0x7b, 0xb2, 0xff, 0xa5, 0x4a, 0xf3,\n\t0x7a, 0x31, 0x0f, 0xc3, 0x99, 0x6e, 0xb7, 0x73, 0x3a, 0xd1, 0x58, 0xf0, 0xff, 0x76, 0xca, 0x97,\n\t0xdc, 0x92, 0x39, 0xb6, 0x08, 0x13, 0x2d, 0x15, 0xf5, 0x82, 0xc7, 0x60, 0x49, 0x2d, 0xa9, 0x95,\n\t0x62, 0x17, 0x3d, 0x78, 0x9b, 0x1f, 0xe8, 0x8d, 0xbc, 0x39, 0xdd, 0x52, 0xd1, 0x0c, 0x1e, 0x35,\n\t0xbb, 0xbf, 0xa0, 0x95, 0x07, 0xcf, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xed, 0x5f, 0x6c, 0x20,\n\t0x74, 0x13, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/gogoproto/helper.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage gogoproto\n\nimport google_protobuf \"github.com/gogo/protobuf/protoc-gen-gogo/descriptor\"\nimport proto \"github.com/gogo/protobuf/proto\"\n\nfunc IsEmbed(field *google_protobuf.FieldDescriptorProto) bool {\n\treturn proto.GetBoolExtension(field.Options, E_Embed, false)\n}\n\nfunc IsNullable(field *google_protobuf.FieldDescriptorProto) bool {\n\treturn proto.GetBoolExtension(field.Options, E_Nullable, true)\n}\n\nfunc IsStdTime(field *google_protobuf.FieldDescriptorProto) bool {\n\treturn proto.GetBoolExtension(field.Options, E_Stdtime, false)\n}\n\nfunc IsStdDuration(field *google_protobuf.FieldDescriptorProto) bool {\n\treturn proto.GetBoolExtension(field.Options, E_Stdduration, false)\n}\n\nfunc NeedsNilCheck(proto3 bool, field *google_protobuf.FieldDescriptorProto) bool {\n\tnullable := IsNullable(field)\n\tif field.IsMessage() || IsCustomType(field) {\n\t\treturn nullable\n\t}\n\tif proto3 {\n\t\treturn false\n\t}\n\treturn nullable || *field.Type == google_protobuf.FieldDescriptorProto_TYPE_BYTES\n}\n\nfunc IsCustomType(field *google_protobuf.FieldDescriptorProto) bool {\n\ttyp := GetCustomType(field)\n\tif len(typ) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc IsCastType(field *google_protobuf.FieldDescriptorProto) bool {\n\ttyp := GetCastType(field)\n\tif len(typ) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc IsCastKey(field *google_protobuf.FieldDescriptorProto) bool {\n\ttyp := GetCastKey(field)\n\tif len(typ) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc IsCastValue(field *google_protobuf.FieldDescriptorProto) bool {\n\ttyp := GetCastValue(field)\n\tif len(typ) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc HasEnumDecl(file *google_protobuf.FileDescriptorProto, enum *google_protobuf.EnumDescriptorProto) bool {\n\treturn proto.GetBoolExtension(enum.Options, E_Enumdecl, proto.GetBoolExtension(file.Options, E_EnumdeclAll, true))\n}\n\nfunc HasTypeDecl(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Typedecl, proto.GetBoolExtension(file.Options, E_TypedeclAll, true))\n}\n\nfunc GetCustomType(field *google_protobuf.FieldDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Customtype)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc GetCastType(field *google_protobuf.FieldDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Casttype)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc GetCastKey(field *google_protobuf.FieldDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Castkey)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc GetCastValue(field *google_protobuf.FieldDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Castvalue)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc IsCustomName(field *google_protobuf.FieldDescriptorProto) bool {\n\tname := GetCustomName(field)\n\tif len(name) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc IsEnumCustomName(field *google_protobuf.EnumDescriptorProto) bool {\n\tname := GetEnumCustomName(field)\n\tif len(name) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc IsEnumValueCustomName(field *google_protobuf.EnumValueDescriptorProto) bool {\n\tname := GetEnumValueCustomName(field)\n\tif len(name) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc GetCustomName(field *google_protobuf.FieldDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Customname)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc GetEnumCustomName(field *google_protobuf.EnumDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_EnumCustomname)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc GetEnumValueCustomName(field *google_protobuf.EnumValueDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_EnumvalueCustomname)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc GetJsonTag(field *google_protobuf.FieldDescriptorProto) *string {\n\tif field == nil {\n\t\treturn nil\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Jsontag)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn (v.(*string))\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc GetMoreTags(field *google_protobuf.FieldDescriptorProto) *string {\n\tif field == nil {\n\t\treturn nil\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Moretags)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn (v.(*string))\n\t\t}\n\t}\n\treturn nil\n}\n\ntype EnableFunc func(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool\n\nfunc EnabledGoEnumPrefix(file *google_protobuf.FileDescriptorProto, enum *google_protobuf.EnumDescriptorProto) bool {\n\treturn proto.GetBoolExtension(enum.Options, E_GoprotoEnumPrefix, proto.GetBoolExtension(file.Options, E_GoprotoEnumPrefixAll, true))\n}\n\nfunc EnabledGoStringer(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_GoprotoStringer, proto.GetBoolExtension(file.Options, E_GoprotoStringerAll, true))\n}\n\nfunc HasGoGetters(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_GoprotoGetters, proto.GetBoolExtension(file.Options, E_GoprotoGettersAll, true))\n}\n\nfunc IsUnion(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Onlyone, proto.GetBoolExtension(file.Options, E_OnlyoneAll, false))\n}\n\nfunc HasGoString(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Gostring, proto.GetBoolExtension(file.Options, E_GostringAll, false))\n}\n\nfunc HasEqual(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Equal, proto.GetBoolExtension(file.Options, E_EqualAll, false))\n}\n\nfunc HasVerboseEqual(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_VerboseEqual, proto.GetBoolExtension(file.Options, E_VerboseEqualAll, false))\n}\n\nfunc IsStringer(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Stringer, proto.GetBoolExtension(file.Options, E_StringerAll, false))\n}\n\nfunc IsFace(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Face, proto.GetBoolExtension(file.Options, E_FaceAll, false))\n}\n\nfunc HasDescription(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Description, proto.GetBoolExtension(file.Options, E_DescriptionAll, false))\n}\n\nfunc HasPopulate(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Populate, proto.GetBoolExtension(file.Options, E_PopulateAll, false))\n}\n\nfunc HasTestGen(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Testgen, proto.GetBoolExtension(file.Options, E_TestgenAll, false))\n}\n\nfunc HasBenchGen(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Benchgen, proto.GetBoolExtension(file.Options, E_BenchgenAll, false))\n}\n\nfunc IsMarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Marshaler, proto.GetBoolExtension(file.Options, E_MarshalerAll, false))\n}\n\nfunc IsUnmarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Unmarshaler, proto.GetBoolExtension(file.Options, E_UnmarshalerAll, false))\n}\n\nfunc IsStableMarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_StableMarshaler, proto.GetBoolExtension(file.Options, E_StableMarshalerAll, false))\n}\n\nfunc IsSizer(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Sizer, proto.GetBoolExtension(file.Options, E_SizerAll, false))\n}\n\nfunc IsProtoSizer(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Protosizer, proto.GetBoolExtension(file.Options, E_ProtosizerAll, false))\n}\n\nfunc IsGoEnumStringer(file *google_protobuf.FileDescriptorProto, enum *google_protobuf.EnumDescriptorProto) bool {\n\treturn proto.GetBoolExtension(enum.Options, E_GoprotoEnumStringer, proto.GetBoolExtension(file.Options, E_GoprotoEnumStringerAll, true))\n}\n\nfunc IsEnumStringer(file *google_protobuf.FileDescriptorProto, enum *google_protobuf.EnumDescriptorProto) bool {\n\treturn proto.GetBoolExtension(enum.Options, E_EnumStringer, proto.GetBoolExtension(file.Options, E_EnumStringerAll, false))\n}\n\nfunc IsUnsafeMarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_UnsafeMarshaler, proto.GetBoolExtension(file.Options, E_UnsafeMarshalerAll, false))\n}\n\nfunc IsUnsafeUnmarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_UnsafeUnmarshaler, proto.GetBoolExtension(file.Options, E_UnsafeUnmarshalerAll, false))\n}\n\nfunc HasExtensionsMap(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_GoprotoExtensionsMap, proto.GetBoolExtension(file.Options, E_GoprotoExtensionsMapAll, true))\n}\n\nfunc HasUnrecognized(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\tif IsProto3(file) {\n\t\treturn false\n\t}\n\treturn proto.GetBoolExtension(message.Options, E_GoprotoUnrecognized, proto.GetBoolExtension(file.Options, E_GoprotoUnrecognizedAll, true))\n}\n\nfunc IsProto3(file *google_protobuf.FileDescriptorProto) bool {\n\treturn file.GetSyntax() == \"proto3\"\n}\n\nfunc ImportsGoGoProto(file *google_protobuf.FileDescriptorProto) bool {\n\treturn proto.GetBoolExtension(file.Options, E_GogoprotoImport, true)\n}\n\nfunc HasCompare(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Compare, proto.GetBoolExtension(file.Options, E_CompareAll, false))\n}\n\nfunc RegistersGolangProto(file *google_protobuf.FileDescriptorProto) bool {\n\treturn proto.GetBoolExtension(file.Options, E_GoprotoRegistration, false)\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/clone.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2011 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// Protocol buffer deep copy and merge.\n// TODO: RawMessage.\n\npackage proto\n\nimport (\n\t\"log\"\n\t\"reflect\"\n\t\"strings\"\n)\n\n// Clone returns a deep copy of a protocol buffer.\nfunc Clone(pb Message) Message {\n\tin := reflect.ValueOf(pb)\n\tif in.IsNil() {\n\t\treturn pb\n\t}\n\n\tout := reflect.New(in.Type().Elem())\n\t// out is empty so a merge is a deep copy.\n\tmergeStruct(out.Elem(), in.Elem())\n\treturn out.Interface().(Message)\n}\n\n// Merge merges src into dst.\n// Required and optional fields that are set in src will be set to that value in dst.\n// Elements of repeated fields will be appended.\n// Merge panics if src and dst are not the same type, or if dst is nil.\nfunc Merge(dst, src Message) {\n\tin := reflect.ValueOf(src)\n\tout := reflect.ValueOf(dst)\n\tif out.IsNil() {\n\t\tpanic(\"proto: nil destination\")\n\t}\n\tif in.Type() != out.Type() {\n\t\t// Explicit test prior to mergeStruct so that mistyped nils will fail\n\t\tpanic(\"proto: type mismatch\")\n\t}\n\tif in.IsNil() {\n\t\t// Merging nil into non-nil is a quiet no-op\n\t\treturn\n\t}\n\tmergeStruct(out.Elem(), in.Elem())\n}\n\nfunc mergeStruct(out, in reflect.Value) {\n\tsprop := GetProperties(in.Type())\n\tfor i := 0; i < in.NumField(); i++ {\n\t\tf := in.Type().Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tmergeAny(out.Field(i), in.Field(i), false, sprop.Prop[i])\n\t}\n\n\tif emIn, ok := in.Addr().Interface().(extensionsBytes); ok {\n\t\temOut := out.Addr().Interface().(extensionsBytes)\n\t\tbIn := emIn.GetExtensions()\n\t\tbOut := emOut.GetExtensions()\n\t\t*bOut = append(*bOut, *bIn...)\n\t} else if emIn, ok := extendable(in.Addr().Interface()); ok {\n\t\temOut, _ := extendable(out.Addr().Interface())\n\t\tmIn, muIn := emIn.extensionsRead()\n\t\tif mIn != nil {\n\t\t\tmOut := emOut.extensionsWrite()\n\t\t\tmuIn.Lock()\n\t\t\tmergeExtension(mOut, mIn)\n\t\t\tmuIn.Unlock()\n\t\t}\n\t}\n\n\tuf := in.FieldByName(\"XXX_unrecognized\")\n\tif !uf.IsValid() {\n\t\treturn\n\t}\n\tuin := uf.Bytes()\n\tif len(uin) > 0 {\n\t\tout.FieldByName(\"XXX_unrecognized\").SetBytes(append([]byte(nil), uin...))\n\t}\n}\n\n// mergeAny performs a merge between two values of the same type.\n// viaPtr indicates whether the values were indirected through a pointer (implying proto2).\n// prop is set if this is a struct field (it may be nil).\nfunc mergeAny(out, in reflect.Value, viaPtr bool, prop *Properties) {\n\tif in.Type() == protoMessageType {\n\t\tif !in.IsNil() {\n\t\t\tif out.IsNil() {\n\t\t\t\tout.Set(reflect.ValueOf(Clone(in.Interface().(Message))))\n\t\t\t} else {\n\t\t\t\tMerge(out.Interface().(Message), in.Interface().(Message))\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tswitch in.Kind() {\n\tcase reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64,\n\t\treflect.String, reflect.Uint32, reflect.Uint64:\n\t\tif !viaPtr && isProto3Zero(in) {\n\t\t\treturn\n\t\t}\n\t\tout.Set(in)\n\tcase reflect.Interface:\n\t\t// Probably a oneof field; copy non-nil values.\n\t\tif in.IsNil() {\n\t\t\treturn\n\t\t}\n\t\t// Allocate destination if it is not set, or set to a different type.\n\t\t// Otherwise we will merge as normal.\n\t\tif out.IsNil() || out.Elem().Type() != in.Elem().Type() {\n\t\t\tout.Set(reflect.New(in.Elem().Elem().Type())) // interface -> *T -> T -> new(T)\n\t\t}\n\t\tmergeAny(out.Elem(), in.Elem(), false, nil)\n\tcase reflect.Map:\n\t\tif in.Len() == 0 {\n\t\t\treturn\n\t\t}\n\t\tif out.IsNil() {\n\t\t\tout.Set(reflect.MakeMap(in.Type()))\n\t\t}\n\t\t// For maps with value types of *T or []byte we need to deep copy each value.\n\t\telemKind := in.Type().Elem().Kind()\n\t\tfor _, key := range in.MapKeys() {\n\t\t\tvar val reflect.Value\n\t\t\tswitch elemKind {\n\t\t\tcase reflect.Ptr:\n\t\t\t\tval = reflect.New(in.Type().Elem().Elem())\n\t\t\t\tmergeAny(val, in.MapIndex(key), false, nil)\n\t\t\tcase reflect.Slice:\n\t\t\t\tval = in.MapIndex(key)\n\t\t\t\tval = reflect.ValueOf(append([]byte{}, val.Bytes()...))\n\t\t\tdefault:\n\t\t\t\tval = in.MapIndex(key)\n\t\t\t}\n\t\t\tout.SetMapIndex(key, val)\n\t\t}\n\tcase reflect.Ptr:\n\t\tif in.IsNil() {\n\t\t\treturn\n\t\t}\n\t\tif out.IsNil() {\n\t\t\tout.Set(reflect.New(in.Elem().Type()))\n\t\t}\n\t\tmergeAny(out.Elem(), in.Elem(), true, nil)\n\tcase reflect.Slice:\n\t\tif in.IsNil() {\n\t\t\treturn\n\t\t}\n\t\tif in.Type().Elem().Kind() == reflect.Uint8 {\n\t\t\t// []byte is a scalar bytes field, not a repeated field.\n\n\t\t\t// Edge case: if this is in a proto3 message, a zero length\n\t\t\t// bytes field is considered the zero value, and should not\n\t\t\t// be merged.\n\t\t\tif prop != nil && prop.proto3 && in.Len() == 0 {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Make a deep copy.\n\t\t\t// Append to []byte{} instead of []byte(nil) so that we never end up\n\t\t\t// with a nil result.\n\t\t\tout.SetBytes(append([]byte{}, in.Bytes()...))\n\t\t\treturn\n\t\t}\n\t\tn := in.Len()\n\t\tif out.IsNil() {\n\t\t\tout.Set(reflect.MakeSlice(in.Type(), 0, n))\n\t\t}\n\t\tswitch in.Type().Elem().Kind() {\n\t\tcase reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64,\n\t\t\treflect.String, reflect.Uint32, reflect.Uint64:\n\t\t\tout.Set(reflect.AppendSlice(out, in))\n\t\tdefault:\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tx := reflect.Indirect(reflect.New(in.Type().Elem()))\n\t\t\t\tmergeAny(x, in.Index(i), false, nil)\n\t\t\t\tout.Set(reflect.Append(out, x))\n\t\t\t}\n\t\t}\n\tcase reflect.Struct:\n\t\tmergeStruct(out, in)\n\tdefault:\n\t\t// unknown type, so not a protocol buffer\n\t\tlog.Printf(\"proto: don't know how to copy %v\", in)\n\t}\n}\n\nfunc mergeExtension(out, in map[int32]Extension) {\n\tfor extNum, eIn := range in {\n\t\teOut := Extension{desc: eIn.desc}\n\t\tif eIn.value != nil {\n\t\t\tv := reflect.New(reflect.TypeOf(eIn.value)).Elem()\n\t\t\tmergeAny(v, reflect.ValueOf(eIn.value), false, nil)\n\t\t\teOut.value = v.Interface()\n\t\t}\n\t\tif eIn.enc != nil {\n\t\t\teOut.enc = make([]byte, len(eIn.enc))\n\t\t\tcopy(eOut.enc, eIn.enc)\n\t\t}\n\n\t\tout[extNum] = eOut\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/decode.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Routines for decoding protocol buffer data to construct in-memory representations.\n */\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"reflect\"\n)\n\n// errOverflow is returned when an integer is too large to be represented.\nvar errOverflow = errors.New(\"proto: integer overflow\")\n\n// ErrInternalBadWireType is returned by generated code when an incorrect\n// wire type is encountered. It does not get returned to user code.\nvar ErrInternalBadWireType = errors.New(\"proto: internal error: bad wiretype for oneof\")\n\n// The fundamental decoders that interpret bytes on the wire.\n// Those that take integer types all return uint64 and are\n// therefore of type valueDecoder.\n\n// DecodeVarint reads a varint-encoded integer from the slice.\n// It returns the integer and the number of bytes consumed, or\n// zero if there is not enough.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\nfunc DecodeVarint(buf []byte) (x uint64, n int) {\n\tfor shift := uint(0); shift < 64; shift += 7 {\n\t\tif n >= len(buf) {\n\t\t\treturn 0, 0\n\t\t}\n\t\tb := uint64(buf[n])\n\t\tn++\n\t\tx |= (b & 0x7F) << shift\n\t\tif (b & 0x80) == 0 {\n\t\t\treturn x, n\n\t\t}\n\t}\n\n\t// The number is too large to represent in a 64-bit value.\n\treturn 0, 0\n}\n\nfunc (p *Buffer) decodeVarintSlow() (x uint64, err error) {\n\ti := p.index\n\tl := len(p.buf)\n\n\tfor shift := uint(0); shift < 64; shift += 7 {\n\t\tif i >= l {\n\t\t\terr = io.ErrUnexpectedEOF\n\t\t\treturn\n\t\t}\n\t\tb := p.buf[i]\n\t\ti++\n\t\tx |= (uint64(b) & 0x7F) << shift\n\t\tif b < 0x80 {\n\t\t\tp.index = i\n\t\t\treturn\n\t\t}\n\t}\n\n\t// The number is too large to represent in a 64-bit value.\n\terr = errOverflow\n\treturn\n}\n\n// DecodeVarint reads a varint-encoded integer from the Buffer.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\nfunc (p *Buffer) DecodeVarint() (x uint64, err error) {\n\ti := p.index\n\tbuf := p.buf\n\n\tif i >= len(buf) {\n\t\treturn 0, io.ErrUnexpectedEOF\n\t} else if buf[i] < 0x80 {\n\t\tp.index++\n\t\treturn uint64(buf[i]), nil\n\t} else if len(buf)-i < 10 {\n\t\treturn p.decodeVarintSlow()\n\t}\n\n\tvar b uint64\n\t// we already checked the first byte\n\tx = uint64(buf[i]) - 0x80\n\ti++\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 7\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 7\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 14\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 14\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 21\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 21\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 28\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 28\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 35\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 35\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 42\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 42\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 49\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 49\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 56\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 56\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 63\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\t// x -= 0x80 << 63 // Always zero.\n\n\treturn 0, errOverflow\n\ndone:\n\tp.index = i\n\treturn x, nil\n}\n\n// DecodeFixed64 reads a 64-bit integer from the Buffer.\n// This is the format for the\n// fixed64, sfixed64, and double protocol buffer types.\nfunc (p *Buffer) DecodeFixed64() (x uint64, err error) {\n\t// x, err already 0\n\ti := p.index + 8\n\tif i < 0 || i > len(p.buf) {\n\t\terr = io.ErrUnexpectedEOF\n\t\treturn\n\t}\n\tp.index = i\n\n\tx = uint64(p.buf[i-8])\n\tx |= uint64(p.buf[i-7]) << 8\n\tx |= uint64(p.buf[i-6]) << 16\n\tx |= uint64(p.buf[i-5]) << 24\n\tx |= uint64(p.buf[i-4]) << 32\n\tx |= uint64(p.buf[i-3]) << 40\n\tx |= uint64(p.buf[i-2]) << 48\n\tx |= uint64(p.buf[i-1]) << 56\n\treturn\n}\n\n// DecodeFixed32 reads a 32-bit integer from the Buffer.\n// This is the format for the\n// fixed32, sfixed32, and float protocol buffer types.\nfunc (p *Buffer) DecodeFixed32() (x uint64, err error) {\n\t// x, err already 0\n\ti := p.index + 4\n\tif i < 0 || i > len(p.buf) {\n\t\terr = io.ErrUnexpectedEOF\n\t\treturn\n\t}\n\tp.index = i\n\n\tx = uint64(p.buf[i-4])\n\tx |= uint64(p.buf[i-3]) << 8\n\tx |= uint64(p.buf[i-2]) << 16\n\tx |= uint64(p.buf[i-1]) << 24\n\treturn\n}\n\n// DecodeZigzag64 reads a zigzag-encoded 64-bit integer\n// from the Buffer.\n// This is the format used for the sint64 protocol buffer type.\nfunc (p *Buffer) DecodeZigzag64() (x uint64, err error) {\n\tx, err = p.DecodeVarint()\n\tif err != nil {\n\t\treturn\n\t}\n\tx = (x >> 1) ^ uint64((int64(x&1)<<63)>>63)\n\treturn\n}\n\n// DecodeZigzag32 reads a zigzag-encoded 32-bit integer\n// from  the Buffer.\n// This is the format used for the sint32 protocol buffer type.\nfunc (p *Buffer) DecodeZigzag32() (x uint64, err error) {\n\tx, err = p.DecodeVarint()\n\tif err != nil {\n\t\treturn\n\t}\n\tx = uint64((uint32(x) >> 1) ^ uint32((int32(x&1)<<31)>>31))\n\treturn\n}\n\n// These are not ValueDecoders: they produce an array of bytes or a string.\n// bytes, embedded messages\n\n// DecodeRawBytes reads a count-delimited byte buffer from the Buffer.\n// This is the format used for the bytes protocol buffer\n// type and for embedded messages.\nfunc (p *Buffer) DecodeRawBytes(alloc bool) (buf []byte, err error) {\n\tn, err := p.DecodeVarint()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tnb := int(n)\n\tif nb < 0 {\n\t\treturn nil, fmt.Errorf(\"proto: bad byte length %d\", nb)\n\t}\n\tend := p.index + nb\n\tif end < p.index || end > len(p.buf) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\n\tif !alloc {\n\t\t// todo: check if can get more uses of alloc=false\n\t\tbuf = p.buf[p.index:end]\n\t\tp.index += nb\n\t\treturn\n\t}\n\n\tbuf = make([]byte, nb)\n\tcopy(buf, p.buf[p.index:])\n\tp.index += nb\n\treturn\n}\n\n// DecodeStringBytes reads an encoded string from the Buffer.\n// This is the format used for the proto2 string type.\nfunc (p *Buffer) DecodeStringBytes() (s string, err error) {\n\tbuf, err := p.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn\n\t}\n\treturn string(buf), nil\n}\n\n// Skip the next item in the buffer. Its wire type is decoded and presented as an argument.\n// If the protocol buffer has extensions, and the field matches, add it as an extension.\n// Otherwise, if the XXX_unrecognized field exists, append the skipped data there.\nfunc (o *Buffer) skipAndSave(t reflect.Type, tag, wire int, base structPointer, unrecField field) error {\n\toi := o.index\n\n\terr := o.skip(t, tag, wire)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif !unrecField.IsValid() {\n\t\treturn nil\n\t}\n\n\tptr := structPointer_Bytes(base, unrecField)\n\n\t// Add the skipped field to struct field\n\tobuf := o.buf\n\n\to.buf = *ptr\n\to.EncodeVarint(uint64(tag<<3 | wire))\n\t*ptr = append(o.buf, obuf[oi:o.index]...)\n\n\to.buf = obuf\n\n\treturn nil\n}\n\n// Skip the next item in the buffer. Its wire type is decoded and presented as an argument.\nfunc (o *Buffer) skip(t reflect.Type, tag, wire int) error {\n\n\tvar u uint64\n\tvar err error\n\n\tswitch wire {\n\tcase WireVarint:\n\t\t_, err = o.DecodeVarint()\n\tcase WireFixed64:\n\t\t_, err = o.DecodeFixed64()\n\tcase WireBytes:\n\t\t_, err = o.DecodeRawBytes(false)\n\tcase WireFixed32:\n\t\t_, err = o.DecodeFixed32()\n\tcase WireStartGroup:\n\t\tfor {\n\t\t\tu, err = o.DecodeVarint()\n\t\t\tif err != nil {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tfwire := int(u & 0x7)\n\t\t\tif fwire == WireEndGroup {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tftag := int(u >> 3)\n\t\t\terr = o.skip(t, ftag, fwire)\n\t\t\tif err != nil {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\tdefault:\n\t\terr = fmt.Errorf(\"proto: can't skip unknown wire type %d for %s\", wire, t)\n\t}\n\treturn err\n}\n\n// Unmarshaler is the interface representing objects that can\n// unmarshal themselves.  The method should reset the receiver before\n// decoding starts.  The argument points to data that may be\n// overwritten, so implementations should not keep references to the\n// buffer.\ntype Unmarshaler interface {\n\tUnmarshal([]byte) error\n}\n\n// Unmarshal parses the protocol buffer representation in buf and places the\n// decoded result in pb.  If the struct underlying pb does not match\n// the data in buf, the results can be unpredictable.\n//\n// Unmarshal resets pb before starting to unmarshal, so any\n// existing data in pb is always removed. Use UnmarshalMerge\n// to preserve and append to existing data.\nfunc Unmarshal(buf []byte, pb Message) error {\n\tpb.Reset()\n\treturn UnmarshalMerge(buf, pb)\n}\n\n// UnmarshalMerge parses the protocol buffer representation in buf and\n// writes the decoded result to pb.  If the struct underlying pb does not match\n// the data in buf, the results can be unpredictable.\n//\n// UnmarshalMerge merges into existing data in pb.\n// Most code should use Unmarshal instead.\nfunc UnmarshalMerge(buf []byte, pb Message) error {\n\t// If the object can unmarshal itself, let it.\n\tif u, ok := pb.(Unmarshaler); ok {\n\t\treturn u.Unmarshal(buf)\n\t}\n\treturn NewBuffer(buf).Unmarshal(pb)\n}\n\n// DecodeMessage reads a count-delimited message from the Buffer.\nfunc (p *Buffer) DecodeMessage(pb Message) error {\n\tenc, err := p.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn NewBuffer(enc).Unmarshal(pb)\n}\n\n// DecodeGroup reads a tag-delimited group from the Buffer.\nfunc (p *Buffer) DecodeGroup(pb Message) error {\n\ttyp, base, err := getbase(pb)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn p.unmarshalType(typ.Elem(), GetProperties(typ.Elem()), true, base)\n}\n\n// Unmarshal parses the protocol buffer representation in the\n// Buffer and places the decoded result in pb.  If the struct\n// underlying pb does not match the data in the buffer, the results can be\n// unpredictable.\n//\n// Unlike proto.Unmarshal, this does not reset pb before starting to unmarshal.\nfunc (p *Buffer) Unmarshal(pb Message) error {\n\t// If the object can unmarshal itself, let it.\n\tif u, ok := pb.(Unmarshaler); ok {\n\t\terr := u.Unmarshal(p.buf[p.index:])\n\t\tp.index = len(p.buf)\n\t\treturn err\n\t}\n\n\ttyp, base, err := getbase(pb)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\terr = p.unmarshalType(typ.Elem(), GetProperties(typ.Elem()), false, base)\n\n\tif collectStats {\n\t\tstats.Decode++\n\t}\n\n\treturn err\n}\n\n// unmarshalType does the work of unmarshaling a structure.\nfunc (o *Buffer) unmarshalType(st reflect.Type, prop *StructProperties, is_group bool, base structPointer) error {\n\tvar state errorState\n\trequired, reqFields := prop.reqCount, uint64(0)\n\n\tvar err error\n\tfor err == nil && o.index < len(o.buf) {\n\t\toi := o.index\n\t\tvar u uint64\n\t\tu, err = o.DecodeVarint()\n\t\tif err != nil {\n\t\t\tbreak\n\t\t}\n\t\twire := int(u & 0x7)\n\t\tif wire == WireEndGroup {\n\t\t\tif is_group {\n\t\t\t\tif required > 0 {\n\t\t\t\t\t// Not enough information to determine the exact field.\n\t\t\t\t\t// (See below.)\n\t\t\t\t\treturn &RequiredNotSetError{\"{Unknown}\"}\n\t\t\t\t}\n\t\t\t\treturn nil // input is satisfied\n\t\t\t}\n\t\t\treturn fmt.Errorf(\"proto: %s: wiretype end group for non-group\", st)\n\t\t}\n\t\ttag := int(u >> 3)\n\t\tif tag <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: %s: illegal tag %d (wire type %d)\", st, tag, wire)\n\t\t}\n\t\tfieldnum, ok := prop.decoderTags.get(tag)\n\t\tif !ok {\n\t\t\t// Maybe it's an extension?\n\t\t\tif prop.extendable {\n\t\t\t\tif e, eok := structPointer_Interface(base, st).(extensionsBytes); eok {\n\t\t\t\t\tif isExtensionField(e, int32(tag)) {\n\t\t\t\t\t\tif err = o.skip(st, tag, wire); err == nil {\n\t\t\t\t\t\t\text := e.GetExtensions()\n\t\t\t\t\t\t\t*ext = append(*ext, o.buf[oi:o.index]...)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t} else if e, _ := extendable(structPointer_Interface(base, st)); isExtensionField(e, int32(tag)) {\n\t\t\t\t\tif err = o.skip(st, tag, wire); err == nil {\n\t\t\t\t\t\textmap := e.extensionsWrite()\n\t\t\t\t\t\text := extmap[int32(tag)] // may be missing\n\t\t\t\t\t\text.enc = append(ext.enc, o.buf[oi:o.index]...)\n\t\t\t\t\t\textmap[int32(tag)] = ext\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Maybe it's a oneof?\n\t\t\tif prop.oneofUnmarshaler != nil {\n\t\t\t\tm := structPointer_Interface(base, st).(Message)\n\t\t\t\t// First return value indicates whether tag is a oneof field.\n\t\t\t\tok, err = prop.oneofUnmarshaler(m, tag, wire, o)\n\t\t\t\tif err == ErrInternalBadWireType {\n\t\t\t\t\t// Map the error to something more descriptive.\n\t\t\t\t\t// Do the formatting here to save generated code space.\n\t\t\t\t\terr = fmt.Errorf(\"bad wiretype for oneof field in %T\", m)\n\t\t\t\t}\n\t\t\t\tif ok {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\terr = o.skipAndSave(st, tag, wire, base, prop.unrecField)\n\t\t\tcontinue\n\t\t}\n\t\tp := prop.Prop[fieldnum]\n\n\t\tif p.dec == nil {\n\t\t\tfmt.Fprintf(os.Stderr, \"proto: no protobuf decoder for %s.%s\\n\", st, st.Field(fieldnum).Name)\n\t\t\tcontinue\n\t\t}\n\t\tdec := p.dec\n\t\tif wire != WireStartGroup && wire != p.WireType {\n\t\t\tif wire == WireBytes && p.packedDec != nil {\n\t\t\t\t// a packable field\n\t\t\t\tdec = p.packedDec\n\t\t\t} else {\n\t\t\t\terr = fmt.Errorf(\"proto: bad wiretype for field %s.%s: got wiretype %d, want %d\", st, st.Field(fieldnum).Name, wire, p.WireType)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tdecErr := dec(o, p, base)\n\t\tif decErr != nil && !state.shouldContinue(decErr, p) {\n\t\t\terr = decErr\n\t\t}\n\t\tif err == nil && p.Required {\n\t\t\t// Successfully decoded a required field.\n\t\t\tif tag <= 64 {\n\t\t\t\t// use bitmap for fields 1-64 to catch field reuse.\n\t\t\t\tvar mask uint64 = 1 << uint64(tag-1)\n\t\t\t\tif reqFields&mask == 0 {\n\t\t\t\t\t// new required field\n\t\t\t\t\treqFields |= mask\n\t\t\t\t\trequired--\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// This is imprecise. It can be fooled by a required field\n\t\t\t\t// with a tag > 64 that is encoded twice; that's very rare.\n\t\t\t\t// A fully correct implementation would require allocating\n\t\t\t\t// a data structure, which we would like to avoid.\n\t\t\t\trequired--\n\t\t\t}\n\t\t}\n\t}\n\tif err == nil {\n\t\tif is_group {\n\t\t\treturn io.ErrUnexpectedEOF\n\t\t}\n\t\tif state.err != nil {\n\t\t\treturn state.err\n\t\t}\n\t\tif required > 0 {\n\t\t\t// Not enough information to determine the exact field. If we use extra\n\t\t\t// CPU, we could determine the field only if the missing required field\n\t\t\t// has a tag <= 64 and we check reqFields.\n\t\t\treturn &RequiredNotSetError{\"{Unknown}\"}\n\t\t}\n\t}\n\treturn err\n}\n\n// Individual type decoders\n// For each,\n//\tu is the decoded value,\n//\tv is a pointer to the field (pointer) in the struct\n\n// Sizes of the pools to allocate inside the Buffer.\n// The goal is modest amortization and allocation\n// on at least 16-byte boundaries.\nconst (\n\tboolPoolSize   = 16\n\tuint32PoolSize = 8\n\tuint64PoolSize = 4\n)\n\n// Decode a bool.\nfunc (o *Buffer) dec_bool(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif len(o.bools) == 0 {\n\t\to.bools = make([]bool, boolPoolSize)\n\t}\n\to.bools[0] = u != 0\n\t*structPointer_Bool(base, p.field) = &o.bools[0]\n\to.bools = o.bools[1:]\n\treturn nil\n}\n\nfunc (o *Buffer) dec_proto3_bool(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\t*structPointer_BoolVal(base, p.field) = u != 0\n\treturn nil\n}\n\n// Decode an int32.\nfunc (o *Buffer) dec_int32(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tword32_Set(structPointer_Word32(base, p.field), o, uint32(u))\n\treturn nil\n}\n\nfunc (o *Buffer) dec_proto3_int32(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tword32Val_Set(structPointer_Word32Val(base, p.field), uint32(u))\n\treturn nil\n}\n\n// Decode an int64.\nfunc (o *Buffer) dec_int64(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tword64_Set(structPointer_Word64(base, p.field), o, u)\n\treturn nil\n}\n\nfunc (o *Buffer) dec_proto3_int64(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tword64Val_Set(structPointer_Word64Val(base, p.field), o, u)\n\treturn nil\n}\n\n// Decode a string.\nfunc (o *Buffer) dec_string(p *Properties, base structPointer) error {\n\ts, err := o.DecodeStringBytes()\n\tif err != nil {\n\t\treturn err\n\t}\n\t*structPointer_String(base, p.field) = &s\n\treturn nil\n}\n\nfunc (o *Buffer) dec_proto3_string(p *Properties, base structPointer) error {\n\ts, err := o.DecodeStringBytes()\n\tif err != nil {\n\t\treturn err\n\t}\n\t*structPointer_StringVal(base, p.field) = s\n\treturn nil\n}\n\n// Decode a slice of bytes ([]byte).\nfunc (o *Buffer) dec_slice_byte(p *Properties, base structPointer) error {\n\tb, err := o.DecodeRawBytes(true)\n\tif err != nil {\n\t\treturn err\n\t}\n\t*structPointer_Bytes(base, p.field) = b\n\treturn nil\n}\n\n// Decode a slice of bools ([]bool).\nfunc (o *Buffer) dec_slice_bool(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tv := structPointer_BoolSlice(base, p.field)\n\t*v = append(*v, u != 0)\n\treturn nil\n}\n\n// Decode a slice of bools ([]bool) in packed format.\nfunc (o *Buffer) dec_slice_packed_bool(p *Properties, base structPointer) error {\n\tv := structPointer_BoolSlice(base, p.field)\n\n\tnn, err := o.DecodeVarint()\n\tif err != nil {\n\t\treturn err\n\t}\n\tnb := int(nn) // number of bytes of encoded bools\n\tfin := o.index + nb\n\tif fin < o.index {\n\t\treturn errOverflow\n\t}\n\n\ty := *v\n\tfor o.index < fin {\n\t\tu, err := p.valDec(o)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ty = append(y, u != 0)\n\t}\n\n\t*v = y\n\treturn nil\n}\n\n// Decode a slice of int32s ([]int32).\nfunc (o *Buffer) dec_slice_int32(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tstructPointer_Word32Slice(base, p.field).Append(uint32(u))\n\treturn nil\n}\n\n// Decode a slice of int32s ([]int32) in packed format.\nfunc (o *Buffer) dec_slice_packed_int32(p *Properties, base structPointer) error {\n\tv := structPointer_Word32Slice(base, p.field)\n\n\tnn, err := o.DecodeVarint()\n\tif err != nil {\n\t\treturn err\n\t}\n\tnb := int(nn) // number of bytes of encoded int32s\n\n\tfin := o.index + nb\n\tif fin < o.index {\n\t\treturn errOverflow\n\t}\n\tfor o.index < fin {\n\t\tu, err := p.valDec(o)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tv.Append(uint32(u))\n\t}\n\treturn nil\n}\n\n// Decode a slice of int64s ([]int64).\nfunc (o *Buffer) dec_slice_int64(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tstructPointer_Word64Slice(base, p.field).Append(u)\n\treturn nil\n}\n\n// Decode a slice of int64s ([]int64) in packed format.\nfunc (o *Buffer) dec_slice_packed_int64(p *Properties, base structPointer) error {\n\tv := structPointer_Word64Slice(base, p.field)\n\n\tnn, err := o.DecodeVarint()\n\tif err != nil {\n\t\treturn err\n\t}\n\tnb := int(nn) // number of bytes of encoded int64s\n\n\tfin := o.index + nb\n\tif fin < o.index {\n\t\treturn errOverflow\n\t}\n\tfor o.index < fin {\n\t\tu, err := p.valDec(o)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tv.Append(u)\n\t}\n\treturn nil\n}\n\n// Decode a slice of strings ([]string).\nfunc (o *Buffer) dec_slice_string(p *Properties, base structPointer) error {\n\ts, err := o.DecodeStringBytes()\n\tif err != nil {\n\t\treturn err\n\t}\n\tv := structPointer_StringSlice(base, p.field)\n\t*v = append(*v, s)\n\treturn nil\n}\n\n// Decode a slice of slice of bytes ([][]byte).\nfunc (o *Buffer) dec_slice_slice_byte(p *Properties, base structPointer) error {\n\tb, err := o.DecodeRawBytes(true)\n\tif err != nil {\n\t\treturn err\n\t}\n\tv := structPointer_BytesSlice(base, p.field)\n\t*v = append(*v, b)\n\treturn nil\n}\n\n// Decode a map field.\nfunc (o *Buffer) dec_new_map(p *Properties, base structPointer) error {\n\traw, err := o.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn err\n\t}\n\toi := o.index       // index at the end of this map entry\n\to.index -= len(raw) // move buffer back to start of map entry\n\n\tmptr := structPointer_NewAt(base, p.field, p.mtype) // *map[K]V\n\tif mptr.Elem().IsNil() {\n\t\tmptr.Elem().Set(reflect.MakeMap(mptr.Type().Elem()))\n\t}\n\tv := mptr.Elem() // map[K]V\n\n\t// Prepare addressable doubly-indirect placeholders for the key and value types.\n\t// See enc_new_map for why.\n\tkeyptr := reflect.New(reflect.PtrTo(p.mtype.Key())).Elem() // addressable *K\n\tkeybase := toStructPointer(keyptr.Addr())                  // **K\n\n\tvar valbase structPointer\n\tvar valptr reflect.Value\n\tswitch p.mtype.Elem().Kind() {\n\tcase reflect.Slice:\n\t\t// []byte\n\t\tvar dummy []byte\n\t\tvalptr = reflect.ValueOf(&dummy)  // *[]byte\n\t\tvalbase = toStructPointer(valptr) // *[]byte\n\tcase reflect.Ptr:\n\t\t// message; valptr is **Msg; need to allocate the intermediate pointer\n\t\tvalptr = reflect.New(reflect.PtrTo(p.mtype.Elem())).Elem() // addressable *V\n\t\tvalptr.Set(reflect.New(valptr.Type().Elem()))\n\t\tvalbase = toStructPointer(valptr)\n\tdefault:\n\t\t// everything else\n\t\tvalptr = reflect.New(reflect.PtrTo(p.mtype.Elem())).Elem() // addressable *V\n\t\tvalbase = toStructPointer(valptr.Addr())                   // **V\n\t}\n\n\t// Decode.\n\t// This parses a restricted wire format, namely the encoding of a message\n\t// with two fields. See enc_new_map for the format.\n\tfor o.index < oi {\n\t\t// tagcode for key and value properties are always a single byte\n\t\t// because they have tags 1 and 2.\n\t\ttagcode := o.buf[o.index]\n\t\to.index++\n\t\tswitch tagcode {\n\t\tcase p.mkeyprop.tagcode[0]:\n\t\t\tif err := p.mkeyprop.dec(o, p.mkeyprop, keybase); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\tcase p.mvalprop.tagcode[0]:\n\t\t\tif err := p.mvalprop.dec(o, p.mvalprop, valbase); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\tdefault:\n\t\t\t// TODO: Should we silently skip this instead?\n\t\t\treturn fmt.Errorf(\"proto: bad map data tag %d\", raw[0])\n\t\t}\n\t}\n\tkeyelem, valelem := keyptr.Elem(), valptr.Elem()\n\tif !keyelem.IsValid() {\n\t\tkeyelem = reflect.Zero(p.mtype.Key())\n\t}\n\tif !valelem.IsValid() {\n\t\tvalelem = reflect.Zero(p.mtype.Elem())\n\t}\n\n\tv.SetMapIndex(keyelem, valelem)\n\treturn nil\n}\n\n// Decode a group.\nfunc (o *Buffer) dec_struct_group(p *Properties, base structPointer) error {\n\tbas := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(bas) {\n\t\t// allocate new nested message\n\t\tbas = toStructPointer(reflect.New(p.stype))\n\t\tstructPointer_SetStructPointer(base, p.field, bas)\n\t}\n\treturn o.unmarshalType(p.stype, p.sprop, true, bas)\n}\n\n// Decode an embedded message.\nfunc (o *Buffer) dec_struct_message(p *Properties, base structPointer) (err error) {\n\traw, e := o.DecodeRawBytes(false)\n\tif e != nil {\n\t\treturn e\n\t}\n\n\tbas := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(bas) {\n\t\t// allocate new nested message\n\t\tbas = toStructPointer(reflect.New(p.stype))\n\t\tstructPointer_SetStructPointer(base, p.field, bas)\n\t}\n\n\t// If the object can unmarshal itself, let it.\n\tif p.isUnmarshaler {\n\t\tiv := structPointer_Interface(bas, p.stype)\n\t\treturn iv.(Unmarshaler).Unmarshal(raw)\n\t}\n\n\tobuf := o.buf\n\toi := o.index\n\to.buf = raw\n\to.index = 0\n\n\terr = o.unmarshalType(p.stype, p.sprop, false, bas)\n\to.buf = obuf\n\to.index = oi\n\n\treturn err\n}\n\n// Decode a slice of embedded messages.\nfunc (o *Buffer) dec_slice_struct_message(p *Properties, base structPointer) error {\n\treturn o.dec_slice_struct(p, false, base)\n}\n\n// Decode a slice of embedded groups.\nfunc (o *Buffer) dec_slice_struct_group(p *Properties, base structPointer) error {\n\treturn o.dec_slice_struct(p, true, base)\n}\n\n// Decode a slice of structs ([]*struct).\nfunc (o *Buffer) dec_slice_struct(p *Properties, is_group bool, base structPointer) error {\n\tv := reflect.New(p.stype)\n\tbas := toStructPointer(v)\n\tstructPointer_StructPointerSlice(base, p.field).Append(bas)\n\n\tif is_group {\n\t\terr := o.unmarshalType(p.stype, p.sprop, is_group, bas)\n\t\treturn err\n\t}\n\n\traw, err := o.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// If the object can unmarshal itself, let it.\n\tif p.isUnmarshaler {\n\t\tiv := v.Interface()\n\t\treturn iv.(Unmarshaler).Unmarshal(raw)\n\t}\n\n\tobuf := o.buf\n\toi := o.index\n\to.buf = raw\n\to.index = 0\n\n\terr = o.unmarshalType(p.stype, p.sprop, is_group, bas)\n\n\to.buf = obuf\n\to.index = oi\n\n\treturn err\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/decode_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"reflect\"\n)\n\n// Decode a reference to a struct pointer.\nfunc (o *Buffer) dec_ref_struct_message(p *Properties, base structPointer) (err error) {\n\traw, e := o.DecodeRawBytes(false)\n\tif e != nil {\n\t\treturn e\n\t}\n\n\t// If the object can unmarshal itself, let it.\n\tif p.isUnmarshaler {\n\t\tpanic(\"not supported, since this is a pointer receiver\")\n\t}\n\n\tobuf := o.buf\n\toi := o.index\n\to.buf = raw\n\to.index = 0\n\n\tbas := structPointer_FieldPointer(base, p.field)\n\n\terr = o.unmarshalType(p.stype, p.sprop, false, bas)\n\to.buf = obuf\n\to.index = oi\n\n\treturn err\n}\n\n// Decode a slice of references to struct pointers ([]struct).\nfunc (o *Buffer) dec_slice_ref_struct(p *Properties, is_group bool, base structPointer) error {\n\tnewBas := appendStructPointer(base, p.field, p.sstype)\n\n\tif is_group {\n\t\tpanic(\"not supported, maybe in future, if requested.\")\n\t}\n\n\traw, err := o.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// If the object can unmarshal itself, let it.\n\tif p.isUnmarshaler {\n\t\tpanic(\"not supported, since this is not a pointer receiver.\")\n\t}\n\n\tobuf := o.buf\n\toi := o.index\n\to.buf = raw\n\to.index = 0\n\n\terr = o.unmarshalType(p.stype, p.sprop, is_group, newBas)\n\n\to.buf = obuf\n\to.index = oi\n\n\treturn err\n}\n\n// Decode a slice of references to struct pointers.\nfunc (o *Buffer) dec_slice_ref_struct_message(p *Properties, base structPointer) error {\n\treturn o.dec_slice_ref_struct(p, false, base)\n}\n\nfunc setPtrCustomType(base structPointer, f field, v interface{}) {\n\tif v == nil {\n\t\treturn\n\t}\n\tstructPointer_SetStructPointer(base, f, toStructPointer(reflect.ValueOf(v)))\n}\n\nfunc setCustomType(base structPointer, f field, value interface{}) {\n\tif value == nil {\n\t\treturn\n\t}\n\tv := reflect.ValueOf(value).Elem()\n\tt := reflect.TypeOf(value).Elem()\n\tkind := t.Kind()\n\tswitch kind {\n\tcase reflect.Slice:\n\t\tslice := reflect.MakeSlice(t, v.Len(), v.Cap())\n\t\treflect.Copy(slice, v)\n\t\toldHeader := structPointer_GetSliceHeader(base, f)\n\t\toldHeader.Data = slice.Pointer()\n\t\toldHeader.Len = v.Len()\n\t\toldHeader.Cap = v.Cap()\n\tdefault:\n\t\tsize := reflect.TypeOf(value).Elem().Size()\n\t\tstructPointer_Copy(toStructPointer(reflect.ValueOf(value)), structPointer_Add(base, f), int(size))\n\t}\n}\n\nfunc (o *Buffer) dec_custom_bytes(p *Properties, base structPointer) error {\n\tb, err := o.DecodeRawBytes(true)\n\tif err != nil {\n\t\treturn err\n\t}\n\ti := reflect.New(p.ctype.Elem()).Interface()\n\tcustom := (i).(Unmarshaler)\n\tif err := custom.Unmarshal(b); err != nil {\n\t\treturn err\n\t}\n\tsetPtrCustomType(base, p.field, custom)\n\treturn nil\n}\n\nfunc (o *Buffer) dec_custom_ref_bytes(p *Properties, base structPointer) error {\n\tb, err := o.DecodeRawBytes(true)\n\tif err != nil {\n\t\treturn err\n\t}\n\ti := reflect.New(p.ctype).Interface()\n\tcustom := (i).(Unmarshaler)\n\tif err := custom.Unmarshal(b); err != nil {\n\t\treturn err\n\t}\n\tif custom != nil {\n\t\tsetCustomType(base, p.field, custom)\n\t}\n\treturn nil\n}\n\n// Decode a slice of bytes ([]byte) into a slice of custom types.\nfunc (o *Buffer) dec_custom_slice_bytes(p *Properties, base structPointer) error {\n\tb, err := o.DecodeRawBytes(true)\n\tif err != nil {\n\t\treturn err\n\t}\n\ti := reflect.New(p.ctype.Elem()).Interface()\n\tcustom := (i).(Unmarshaler)\n\tif err := custom.Unmarshal(b); err != nil {\n\t\treturn err\n\t}\n\tnewBas := appendStructPointer(base, p.field, p.ctype)\n\n\tvar zero field\n\tsetCustomType(newBas, zero, custom)\n\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/duration.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n// This file implements conversions between google.protobuf.Duration\n// and time.Duration.\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"time\"\n)\n\nconst (\n\t// Range of a Duration in seconds, as specified in\n\t// google/protobuf/duration.proto. This is about 10,000 years in seconds.\n\tmaxSeconds = int64(10000 * 365.25 * 24 * 60 * 60)\n\tminSeconds = -maxSeconds\n)\n\n// validateDuration determines whether the Duration is valid according to the\n// definition in google/protobuf/duration.proto. A valid Duration\n// may still be too large to fit into a time.Duration (the range of Duration\n// is about 10,000 years, and the range of time.Duration is about 290).\nfunc validateDuration(d *duration) error {\n\tif d == nil {\n\t\treturn errors.New(\"duration: nil Duration\")\n\t}\n\tif d.Seconds < minSeconds || d.Seconds > maxSeconds {\n\t\treturn fmt.Errorf(\"duration: %#v: seconds out of range\", d)\n\t}\n\tif d.Nanos <= -1e9 || d.Nanos >= 1e9 {\n\t\treturn fmt.Errorf(\"duration: %#v: nanos out of range\", d)\n\t}\n\t// Seconds and Nanos must have the same sign, unless d.Nanos is zero.\n\tif (d.Seconds < 0 && d.Nanos > 0) || (d.Seconds > 0 && d.Nanos < 0) {\n\t\treturn fmt.Errorf(\"duration: %#v: seconds and nanos have different signs\", d)\n\t}\n\treturn nil\n}\n\n// DurationFromProto converts a Duration to a time.Duration. DurationFromProto\n// returns an error if the Duration is invalid or is too large to be\n// represented in a time.Duration.\nfunc durationFromProto(p *duration) (time.Duration, error) {\n\tif err := validateDuration(p); err != nil {\n\t\treturn 0, err\n\t}\n\td := time.Duration(p.Seconds) * time.Second\n\tif int64(d/time.Second) != p.Seconds {\n\t\treturn 0, fmt.Errorf(\"duration: %#v is out of range for time.Duration\", p)\n\t}\n\tif p.Nanos != 0 {\n\t\td += time.Duration(p.Nanos)\n\t\tif (d < 0) != (p.Nanos < 0) {\n\t\t\treturn 0, fmt.Errorf(\"duration: %#v is out of range for time.Duration\", p)\n\t\t}\n\t}\n\treturn d, nil\n}\n\n// DurationProto converts a time.Duration to a Duration.\nfunc durationProto(d time.Duration) *duration {\n\tnanos := d.Nanoseconds()\n\tsecs := nanos / 1e9\n\tnanos -= secs * 1e9\n\treturn &duration{\n\t\tSeconds: secs,\n\t\tNanos:   int32(nanos),\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/duration_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2016, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"time\"\n)\n\nvar durationType = reflect.TypeOf((*time.Duration)(nil)).Elem()\n\ntype duration struct {\n\tSeconds int64 `protobuf:\"varint,1,opt,name=seconds,proto3\" json:\"seconds,omitempty\"`\n\tNanos   int32 `protobuf:\"varint,2,opt,name=nanos,proto3\" json:\"nanos,omitempty\"`\n}\n\nfunc (m *duration) Reset()       { *m = duration{} }\nfunc (*duration) ProtoMessage()  {}\nfunc (*duration) String() string { return \"duration<string>\" }\n\nfunc init() {\n\tRegisterType((*duration)(nil), \"gogo.protobuf.proto.duration\")\n}\n\nfunc (o *Buffer) decDuration() (time.Duration, error) {\n\tb, err := o.DecodeRawBytes(true)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tdproto := &duration{}\n\tif err := Unmarshal(b, dproto); err != nil {\n\t\treturn 0, err\n\t}\n\treturn durationFromProto(dproto)\n}\n\nfunc (o *Buffer) dec_duration(p *Properties, base structPointer) error {\n\td, err := o.decDuration()\n\tif err != nil {\n\t\treturn err\n\t}\n\tword64_Set(structPointer_Word64(base, p.field), o, uint64(d))\n\treturn nil\n}\n\nfunc (o *Buffer) dec_ref_duration(p *Properties, base structPointer) error {\n\td, err := o.decDuration()\n\tif err != nil {\n\t\treturn err\n\t}\n\tword64Val_Set(structPointer_Word64Val(base, p.field), o, uint64(d))\n\treturn nil\n}\n\nfunc (o *Buffer) dec_slice_duration(p *Properties, base structPointer) error {\n\td, err := o.decDuration()\n\tif err != nil {\n\t\treturn err\n\t}\n\tnewBas := appendStructPointer(base, p.field, reflect.SliceOf(reflect.PtrTo(durationType)))\n\tvar zero field\n\tsetPtrCustomType(newBas, zero, &d)\n\treturn nil\n}\n\nfunc (o *Buffer) dec_slice_ref_duration(p *Properties, base structPointer) error {\n\td, err := o.decDuration()\n\tif err != nil {\n\t\treturn err\n\t}\n\tstructPointer_Word64Slice(base, p.field).Append(uint64(d))\n\treturn nil\n}\n\nfunc size_duration(p *Properties, base structPointer) (n int) {\n\tstructp := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(structp) {\n\t\treturn 0\n\t}\n\tdur := structPointer_Interface(structp, durationType).(*time.Duration)\n\td := durationProto(*dur)\n\tsize := Size(d)\n\treturn size + sizeVarint(uint64(size)) + len(p.tagcode)\n}\n\nfunc (o *Buffer) enc_duration(p *Properties, base structPointer) error {\n\tstructp := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(structp) {\n\t\treturn ErrNil\n\t}\n\tdur := structPointer_Interface(structp, durationType).(*time.Duration)\n\td := durationProto(*dur)\n\tdata, err := Marshal(d)\n\tif err != nil {\n\t\treturn err\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeRawBytes(data)\n\treturn nil\n}\n\nfunc size_ref_duration(p *Properties, base structPointer) (n int) {\n\tdur := structPointer_InterfaceAt(base, p.field, durationType).(*time.Duration)\n\td := durationProto(*dur)\n\tsize := Size(d)\n\treturn size + sizeVarint(uint64(size)) + len(p.tagcode)\n}\n\nfunc (o *Buffer) enc_ref_duration(p *Properties, base structPointer) error {\n\tdur := structPointer_InterfaceAt(base, p.field, durationType).(*time.Duration)\n\td := durationProto(*dur)\n\tdata, err := Marshal(d)\n\tif err != nil {\n\t\treturn err\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeRawBytes(data)\n\treturn nil\n}\n\nfunc size_slice_duration(p *Properties, base structPointer) (n int) {\n\tpdurs := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(reflect.PtrTo(durationType))).(*[]*time.Duration)\n\tdurs := *pdurs\n\tfor i := 0; i < len(durs); i++ {\n\t\tif durs[i] == nil {\n\t\t\treturn 0\n\t\t}\n\t\tdproto := durationProto(*durs[i])\n\t\tsize := Size(dproto)\n\t\tn += len(p.tagcode) + size + sizeVarint(uint64(size))\n\t}\n\treturn n\n}\n\nfunc (o *Buffer) enc_slice_duration(p *Properties, base structPointer) error {\n\tpdurs := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(reflect.PtrTo(durationType))).(*[]*time.Duration)\n\tdurs := *pdurs\n\tfor i := 0; i < len(durs); i++ {\n\t\tif durs[i] == nil {\n\t\t\treturn errRepeatedHasNil\n\t\t}\n\t\tdproto := durationProto(*durs[i])\n\t\tdata, err := Marshal(dproto)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\to.EncodeRawBytes(data)\n\t}\n\treturn nil\n}\n\nfunc size_slice_ref_duration(p *Properties, base structPointer) (n int) {\n\tpdurs := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(durationType)).(*[]time.Duration)\n\tdurs := *pdurs\n\tfor i := 0; i < len(durs); i++ {\n\t\tdproto := durationProto(durs[i])\n\t\tsize := Size(dproto)\n\t\tn += len(p.tagcode) + size + sizeVarint(uint64(size))\n\t}\n\treturn n\n}\n\nfunc (o *Buffer) enc_slice_ref_duration(p *Properties, base structPointer) error {\n\tpdurs := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(durationType)).(*[]time.Duration)\n\tdurs := *pdurs\n\tfor i := 0; i < len(durs); i++ {\n\t\tdproto := durationProto(durs[i])\n\t\tdata, err := Marshal(dproto)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\to.EncodeRawBytes(data)\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/encode.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Routines for encoding data into the wire format for protocol buffers.\n */\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"sort\"\n)\n\n// RequiredNotSetError is the error returned if Marshal is called with\n// a protocol buffer struct whose required fields have not\n// all been initialized. It is also the error returned if Unmarshal is\n// called with an encoded protocol buffer that does not include all the\n// required fields.\n//\n// When printed, RequiredNotSetError reports the first unset required field in a\n// message. If the field cannot be precisely determined, it is reported as\n// \"{Unknown}\".\ntype RequiredNotSetError struct {\n\tfield string\n}\n\nfunc (e *RequiredNotSetError) Error() string {\n\treturn fmt.Sprintf(\"proto: required field %q not set\", e.field)\n}\n\nvar (\n\t// errRepeatedHasNil is the error returned if Marshal is called with\n\t// a struct with a repeated field containing a nil element.\n\terrRepeatedHasNil = errors.New(\"proto: repeated field has nil element\")\n\n\t// errOneofHasNil is the error returned if Marshal is called with\n\t// a struct with a oneof field containing a nil element.\n\terrOneofHasNil = errors.New(\"proto: oneof field has nil value\")\n\n\t// ErrNil is the error returned if Marshal is called with nil.\n\tErrNil = errors.New(\"proto: Marshal called with nil\")\n\n\t// ErrTooLarge is the error returned if Marshal is called with a\n\t// message that encodes to >2GB.\n\tErrTooLarge = errors.New(\"proto: message encodes to over 2 GB\")\n)\n\n// The fundamental encoders that put bytes on the wire.\n// Those that take integer types all accept uint64 and are\n// therefore of type valueEncoder.\n\nconst maxVarintBytes = 10 // maximum length of a varint\n\n// maxMarshalSize is the largest allowed size of an encoded protobuf,\n// since C++ and Java use signed int32s for the size.\nconst maxMarshalSize = 1<<31 - 1\n\n// EncodeVarint returns the varint encoding of x.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\n// Not used by the package itself, but helpful to clients\n// wishing to use the same encoding.\nfunc EncodeVarint(x uint64) []byte {\n\tvar buf [maxVarintBytes]byte\n\tvar n int\n\tfor n = 0; x > 127; n++ {\n\t\tbuf[n] = 0x80 | uint8(x&0x7F)\n\t\tx >>= 7\n\t}\n\tbuf[n] = uint8(x)\n\tn++\n\treturn buf[0:n]\n}\n\n// EncodeVarint writes a varint-encoded integer to the Buffer.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\nfunc (p *Buffer) EncodeVarint(x uint64) error {\n\tfor x >= 1<<7 {\n\t\tp.buf = append(p.buf, uint8(x&0x7f|0x80))\n\t\tx >>= 7\n\t}\n\tp.buf = append(p.buf, uint8(x))\n\treturn nil\n}\n\n// SizeVarint returns the varint encoding size of an integer.\nfunc SizeVarint(x uint64) int {\n\treturn sizeVarint(x)\n}\n\nfunc sizeVarint(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\n\n// EncodeFixed64 writes a 64-bit integer to the Buffer.\n// This is the format for the\n// fixed64, sfixed64, and double protocol buffer types.\nfunc (p *Buffer) EncodeFixed64(x uint64) error {\n\tp.buf = append(p.buf,\n\t\tuint8(x),\n\t\tuint8(x>>8),\n\t\tuint8(x>>16),\n\t\tuint8(x>>24),\n\t\tuint8(x>>32),\n\t\tuint8(x>>40),\n\t\tuint8(x>>48),\n\t\tuint8(x>>56))\n\treturn nil\n}\n\nfunc sizeFixed64(x uint64) int {\n\treturn 8\n}\n\n// EncodeFixed32 writes a 32-bit integer to the Buffer.\n// This is the format for the\n// fixed32, sfixed32, and float protocol buffer types.\nfunc (p *Buffer) EncodeFixed32(x uint64) error {\n\tp.buf = append(p.buf,\n\t\tuint8(x),\n\t\tuint8(x>>8),\n\t\tuint8(x>>16),\n\t\tuint8(x>>24))\n\treturn nil\n}\n\nfunc sizeFixed32(x uint64) int {\n\treturn 4\n}\n\n// EncodeZigzag64 writes a zigzag-encoded 64-bit integer\n// to the Buffer.\n// This is the format used for the sint64 protocol buffer type.\nfunc (p *Buffer) EncodeZigzag64(x uint64) error {\n\t// use signed number to get arithmetic right shift.\n\treturn p.EncodeVarint((x << 1) ^ uint64((int64(x) >> 63)))\n}\n\nfunc sizeZigzag64(x uint64) int {\n\treturn sizeVarint((x << 1) ^ uint64((int64(x) >> 63)))\n}\n\n// EncodeZigzag32 writes a zigzag-encoded 32-bit integer\n// to the Buffer.\n// This is the format used for the sint32 protocol buffer type.\nfunc (p *Buffer) EncodeZigzag32(x uint64) error {\n\t// use signed number to get arithmetic right shift.\n\treturn p.EncodeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31))))\n}\n\nfunc sizeZigzag32(x uint64) int {\n\treturn sizeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31))))\n}\n\n// EncodeRawBytes writes a count-delimited byte buffer to the Buffer.\n// This is the format used for the bytes protocol buffer\n// type and for embedded messages.\nfunc (p *Buffer) EncodeRawBytes(b []byte) error {\n\tp.EncodeVarint(uint64(len(b)))\n\tp.buf = append(p.buf, b...)\n\treturn nil\n}\n\nfunc sizeRawBytes(b []byte) int {\n\treturn sizeVarint(uint64(len(b))) +\n\t\tlen(b)\n}\n\n// EncodeStringBytes writes an encoded string to the Buffer.\n// This is the format used for the proto2 string type.\nfunc (p *Buffer) EncodeStringBytes(s string) error {\n\tp.EncodeVarint(uint64(len(s)))\n\tp.buf = append(p.buf, s...)\n\treturn nil\n}\n\nfunc sizeStringBytes(s string) int {\n\treturn sizeVarint(uint64(len(s))) +\n\t\tlen(s)\n}\n\n// Marshaler is the interface representing objects that can marshal themselves.\ntype Marshaler interface {\n\tMarshal() ([]byte, error)\n}\n\n// Marshal takes the protocol buffer\n// and encodes it into the wire format, returning the data.\nfunc Marshal(pb Message) ([]byte, error) {\n\t// Can the object marshal itself?\n\tif m, ok := pb.(Marshaler); ok {\n\t\treturn m.Marshal()\n\t}\n\tp := NewBuffer(nil)\n\terr := p.Marshal(pb)\n\tif p.buf == nil && err == nil {\n\t\t// Return a non-nil slice on success.\n\t\treturn []byte{}, nil\n\t}\n\treturn p.buf, err\n}\n\n// EncodeMessage writes the protocol buffer to the Buffer,\n// prefixed by a varint-encoded length.\nfunc (p *Buffer) EncodeMessage(pb Message) error {\n\tt, base, err := getbase(pb)\n\tif structPointer_IsNil(base) {\n\t\treturn ErrNil\n\t}\n\tif err == nil {\n\t\tvar state errorState\n\t\terr = p.enc_len_struct(GetProperties(t.Elem()), base, &state)\n\t}\n\treturn err\n}\n\n// Marshal takes the protocol buffer\n// and encodes it into the wire format, writing the result to the\n// Buffer.\nfunc (p *Buffer) Marshal(pb Message) error {\n\t// Can the object marshal itself?\n\tif m, ok := pb.(Marshaler); ok {\n\t\tdata, err := m.Marshal()\n\t\tp.buf = append(p.buf, data...)\n\t\treturn err\n\t}\n\n\tt, base, err := getbase(pb)\n\tif structPointer_IsNil(base) {\n\t\treturn ErrNil\n\t}\n\tif err == nil {\n\t\terr = p.enc_struct(GetProperties(t.Elem()), base)\n\t}\n\n\tif collectStats {\n\t\t(stats).Encode++ // Parens are to work around a goimports bug.\n\t}\n\n\tif len(p.buf) > maxMarshalSize {\n\t\treturn ErrTooLarge\n\t}\n\treturn err\n}\n\n// Size returns the encoded size of a protocol buffer.\nfunc Size(pb Message) (n int) {\n\t// Can the object marshal itself?  If so, Size is slow.\n\t// TODO: add Size to Marshaler, or add a Sizer interface.\n\tif m, ok := pb.(Marshaler); ok {\n\t\tb, _ := m.Marshal()\n\t\treturn len(b)\n\t}\n\n\tt, base, err := getbase(pb)\n\tif structPointer_IsNil(base) {\n\t\treturn 0\n\t}\n\tif err == nil {\n\t\tn = size_struct(GetProperties(t.Elem()), base)\n\t}\n\n\tif collectStats {\n\t\t(stats).Size++ // Parens are to work around a goimports bug.\n\t}\n\n\treturn\n}\n\n// Individual type encoders.\n\n// Encode a bool.\nfunc (o *Buffer) enc_bool(p *Properties, base structPointer) error {\n\tv := *structPointer_Bool(base, p.field)\n\tif v == nil {\n\t\treturn ErrNil\n\t}\n\tx := 0\n\tif *v {\n\t\tx = 1\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc (o *Buffer) enc_proto3_bool(p *Properties, base structPointer) error {\n\tv := *structPointer_BoolVal(base, p.field)\n\tif !v {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, 1)\n\treturn nil\n}\n\nfunc size_bool(p *Properties, base structPointer) int {\n\tv := *structPointer_Bool(base, p.field)\n\tif v == nil {\n\t\treturn 0\n\t}\n\treturn len(p.tagcode) + 1 // each bool takes exactly one byte\n}\n\nfunc size_proto3_bool(p *Properties, base structPointer) int {\n\tv := *structPointer_BoolVal(base, p.field)\n\tif !v && !p.oneof {\n\t\treturn 0\n\t}\n\treturn len(p.tagcode) + 1 // each bool takes exactly one byte\n}\n\n// Encode an int32.\nfunc (o *Buffer) enc_int32(p *Properties, base structPointer) error {\n\tv := structPointer_Word32(base, p.field)\n\tif word32_IsNil(v) {\n\t\treturn ErrNil\n\t}\n\tx := int32(word32_Get(v)) // permit sign extension to use full 64-bit range\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc (o *Buffer) enc_proto3_int32(p *Properties, base structPointer) error {\n\tv := structPointer_Word32Val(base, p.field)\n\tx := int32(word32Val_Get(v)) // permit sign extension to use full 64-bit range\n\tif x == 0 {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc size_int32(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word32(base, p.field)\n\tif word32_IsNil(v) {\n\t\treturn 0\n\t}\n\tx := int32(word32_Get(v)) // permit sign extension to use full 64-bit range\n\tn += len(p.tagcode)\n\tn += p.valSize(uint64(x))\n\treturn\n}\n\nfunc size_proto3_int32(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word32Val(base, p.field)\n\tx := int32(word32Val_Get(v)) // permit sign extension to use full 64-bit range\n\tif x == 0 && !p.oneof {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += p.valSize(uint64(x))\n\treturn\n}\n\n// Encode a uint32.\n// Exactly the same as int32, except for no sign extension.\nfunc (o *Buffer) enc_uint32(p *Properties, base structPointer) error {\n\tv := structPointer_Word32(base, p.field)\n\tif word32_IsNil(v) {\n\t\treturn ErrNil\n\t}\n\tx := word32_Get(v)\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc (o *Buffer) enc_proto3_uint32(p *Properties, base structPointer) error {\n\tv := structPointer_Word32Val(base, p.field)\n\tx := word32Val_Get(v)\n\tif x == 0 {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc size_uint32(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word32(base, p.field)\n\tif word32_IsNil(v) {\n\t\treturn 0\n\t}\n\tx := word32_Get(v)\n\tn += len(p.tagcode)\n\tn += p.valSize(uint64(x))\n\treturn\n}\n\nfunc size_proto3_uint32(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word32Val(base, p.field)\n\tx := word32Val_Get(v)\n\tif x == 0 && !p.oneof {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += p.valSize(uint64(x))\n\treturn\n}\n\n// Encode an int64.\nfunc (o *Buffer) enc_int64(p *Properties, base structPointer) error {\n\tv := structPointer_Word64(base, p.field)\n\tif word64_IsNil(v) {\n\t\treturn ErrNil\n\t}\n\tx := word64_Get(v)\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, x)\n\treturn nil\n}\n\nfunc (o *Buffer) enc_proto3_int64(p *Properties, base structPointer) error {\n\tv := structPointer_Word64Val(base, p.field)\n\tx := word64Val_Get(v)\n\tif x == 0 {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, x)\n\treturn nil\n}\n\nfunc size_int64(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word64(base, p.field)\n\tif word64_IsNil(v) {\n\t\treturn 0\n\t}\n\tx := word64_Get(v)\n\tn += len(p.tagcode)\n\tn += p.valSize(x)\n\treturn\n}\n\nfunc size_proto3_int64(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word64Val(base, p.field)\n\tx := word64Val_Get(v)\n\tif x == 0 && !p.oneof {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += p.valSize(x)\n\treturn\n}\n\n// Encode a string.\nfunc (o *Buffer) enc_string(p *Properties, base structPointer) error {\n\tv := *structPointer_String(base, p.field)\n\tif v == nil {\n\t\treturn ErrNil\n\t}\n\tx := *v\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeStringBytes(x)\n\treturn nil\n}\n\nfunc (o *Buffer) enc_proto3_string(p *Properties, base structPointer) error {\n\tv := *structPointer_StringVal(base, p.field)\n\tif v == \"\" {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeStringBytes(v)\n\treturn nil\n}\n\nfunc size_string(p *Properties, base structPointer) (n int) {\n\tv := *structPointer_String(base, p.field)\n\tif v == nil {\n\t\treturn 0\n\t}\n\tx := *v\n\tn += len(p.tagcode)\n\tn += sizeStringBytes(x)\n\treturn\n}\n\nfunc size_proto3_string(p *Properties, base structPointer) (n int) {\n\tv := *structPointer_StringVal(base, p.field)\n\tif v == \"\" && !p.oneof {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += sizeStringBytes(v)\n\treturn\n}\n\n// All protocol buffer fields are nillable, but be careful.\nfunc isNil(v reflect.Value) bool {\n\tswitch v.Kind() {\n\tcase reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice:\n\t\treturn v.IsNil()\n\t}\n\treturn false\n}\n\n// Encode a message struct.\nfunc (o *Buffer) enc_struct_message(p *Properties, base structPointer) error {\n\tvar state errorState\n\tstructp := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(structp) {\n\t\treturn ErrNil\n\t}\n\n\t// Can the object marshal itself?\n\tif p.isMarshaler {\n\t\tm := structPointer_Interface(structp, p.stype).(Marshaler)\n\t\tdata, err := m.Marshal()\n\t\tif err != nil && !state.shouldContinue(err, nil) {\n\t\t\treturn err\n\t\t}\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\to.EncodeRawBytes(data)\n\t\treturn state.err\n\t}\n\n\to.buf = append(o.buf, p.tagcode...)\n\treturn o.enc_len_struct(p.sprop, structp, &state)\n}\n\nfunc size_struct_message(p *Properties, base structPointer) int {\n\tstructp := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(structp) {\n\t\treturn 0\n\t}\n\n\t// Can the object marshal itself?\n\tif p.isMarshaler {\n\t\tm := structPointer_Interface(structp, p.stype).(Marshaler)\n\t\tdata, _ := m.Marshal()\n\t\tn0 := len(p.tagcode)\n\t\tn1 := sizeRawBytes(data)\n\t\treturn n0 + n1\n\t}\n\n\tn0 := len(p.tagcode)\n\tn1 := size_struct(p.sprop, structp)\n\tn2 := sizeVarint(uint64(n1)) // size of encoded length\n\treturn n0 + n1 + n2\n}\n\n// Encode a group struct.\nfunc (o *Buffer) enc_struct_group(p *Properties, base structPointer) error {\n\tvar state errorState\n\tb := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(b) {\n\t\treturn ErrNil\n\t}\n\n\to.EncodeVarint(uint64((p.Tag << 3) | WireStartGroup))\n\terr := o.enc_struct(p.sprop, b)\n\tif err != nil && !state.shouldContinue(err, nil) {\n\t\treturn err\n\t}\n\to.EncodeVarint(uint64((p.Tag << 3) | WireEndGroup))\n\treturn state.err\n}\n\nfunc size_struct_group(p *Properties, base structPointer) (n int) {\n\tb := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(b) {\n\t\treturn 0\n\t}\n\n\tn += sizeVarint(uint64((p.Tag << 3) | WireStartGroup))\n\tn += size_struct(p.sprop, b)\n\tn += sizeVarint(uint64((p.Tag << 3) | WireEndGroup))\n\treturn\n}\n\n// Encode a slice of bools ([]bool).\nfunc (o *Buffer) enc_slice_bool(p *Properties, base structPointer) error {\n\ts := *structPointer_BoolSlice(base, p.field)\n\tl := len(s)\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\tfor _, x := range s {\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\tv := uint64(0)\n\t\tif x {\n\t\t\tv = 1\n\t\t}\n\t\tp.valEnc(o, v)\n\t}\n\treturn nil\n}\n\nfunc size_slice_bool(p *Properties, base structPointer) int {\n\ts := *structPointer_BoolSlice(base, p.field)\n\tl := len(s)\n\tif l == 0 {\n\t\treturn 0\n\t}\n\treturn l * (len(p.tagcode) + 1) // each bool takes exactly one byte\n}\n\n// Encode a slice of bools ([]bool) in packed format.\nfunc (o *Buffer) enc_slice_packed_bool(p *Properties, base structPointer) error {\n\ts := *structPointer_BoolSlice(base, p.field)\n\tl := len(s)\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeVarint(uint64(l)) // each bool takes exactly one byte\n\tfor _, x := range s {\n\t\tv := uint64(0)\n\t\tif x {\n\t\t\tv = 1\n\t\t}\n\t\tp.valEnc(o, v)\n\t}\n\treturn nil\n}\n\nfunc size_slice_packed_bool(p *Properties, base structPointer) (n int) {\n\ts := *structPointer_BoolSlice(base, p.field)\n\tl := len(s)\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += sizeVarint(uint64(l))\n\tn += l // each bool takes exactly one byte\n\treturn\n}\n\n// Encode a slice of bytes ([]byte).\nfunc (o *Buffer) enc_slice_byte(p *Properties, base structPointer) error {\n\ts := *structPointer_Bytes(base, p.field)\n\tif s == nil {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeRawBytes(s)\n\treturn nil\n}\n\nfunc (o *Buffer) enc_proto3_slice_byte(p *Properties, base structPointer) error {\n\ts := *structPointer_Bytes(base, p.field)\n\tif len(s) == 0 {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeRawBytes(s)\n\treturn nil\n}\n\nfunc size_slice_byte(p *Properties, base structPointer) (n int) {\n\ts := *structPointer_Bytes(base, p.field)\n\tif s == nil && !p.oneof {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += sizeRawBytes(s)\n\treturn\n}\n\nfunc size_proto3_slice_byte(p *Properties, base structPointer) (n int) {\n\ts := *structPointer_Bytes(base, p.field)\n\tif len(s) == 0 && !p.oneof {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += sizeRawBytes(s)\n\treturn\n}\n\n// Encode a slice of int32s ([]int32).\nfunc (o *Buffer) enc_slice_int32(p *Properties, base structPointer) error {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\tfor i := 0; i < l; i++ {\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\tx := int32(s.Index(i)) // permit sign extension to use full 64-bit range\n\t\tp.valEnc(o, uint64(x))\n\t}\n\treturn nil\n}\n\nfunc size_slice_int32(p *Properties, base structPointer) (n int) {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tfor i := 0; i < l; i++ {\n\t\tn += len(p.tagcode)\n\t\tx := int32(s.Index(i)) // permit sign extension to use full 64-bit range\n\t\tn += p.valSize(uint64(x))\n\t}\n\treturn\n}\n\n// Encode a slice of int32s ([]int32) in packed format.\nfunc (o *Buffer) enc_slice_packed_int32(p *Properties, base structPointer) error {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\t// TODO: Reuse a Buffer.\n\tbuf := NewBuffer(nil)\n\tfor i := 0; i < l; i++ {\n\t\tx := int32(s.Index(i)) // permit sign extension to use full 64-bit range\n\t\tp.valEnc(buf, uint64(x))\n\t}\n\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeVarint(uint64(len(buf.buf)))\n\to.buf = append(o.buf, buf.buf...)\n\treturn nil\n}\n\nfunc size_slice_packed_int32(p *Properties, base structPointer) (n int) {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tvar bufSize int\n\tfor i := 0; i < l; i++ {\n\t\tx := int32(s.Index(i)) // permit sign extension to use full 64-bit range\n\t\tbufSize += p.valSize(uint64(x))\n\t}\n\n\tn += len(p.tagcode)\n\tn += sizeVarint(uint64(bufSize))\n\tn += bufSize\n\treturn\n}\n\n// Encode a slice of uint32s ([]uint32).\n// Exactly the same as int32, except for no sign extension.\nfunc (o *Buffer) enc_slice_uint32(p *Properties, base structPointer) error {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\tfor i := 0; i < l; i++ {\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\tx := s.Index(i)\n\t\tp.valEnc(o, uint64(x))\n\t}\n\treturn nil\n}\n\nfunc size_slice_uint32(p *Properties, base structPointer) (n int) {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tfor i := 0; i < l; i++ {\n\t\tn += len(p.tagcode)\n\t\tx := s.Index(i)\n\t\tn += p.valSize(uint64(x))\n\t}\n\treturn\n}\n\n// Encode a slice of uint32s ([]uint32) in packed format.\n// Exactly the same as int32, except for no sign extension.\nfunc (o *Buffer) enc_slice_packed_uint32(p *Properties, base structPointer) error {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\t// TODO: Reuse a Buffer.\n\tbuf := NewBuffer(nil)\n\tfor i := 0; i < l; i++ {\n\t\tp.valEnc(buf, uint64(s.Index(i)))\n\t}\n\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeVarint(uint64(len(buf.buf)))\n\to.buf = append(o.buf, buf.buf...)\n\treturn nil\n}\n\nfunc size_slice_packed_uint32(p *Properties, base structPointer) (n int) {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tvar bufSize int\n\tfor i := 0; i < l; i++ {\n\t\tbufSize += p.valSize(uint64(s.Index(i)))\n\t}\n\n\tn += len(p.tagcode)\n\tn += sizeVarint(uint64(bufSize))\n\tn += bufSize\n\treturn\n}\n\n// Encode a slice of int64s ([]int64).\nfunc (o *Buffer) enc_slice_int64(p *Properties, base structPointer) error {\n\ts := structPointer_Word64Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\tfor i := 0; i < l; i++ {\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\tp.valEnc(o, s.Index(i))\n\t}\n\treturn nil\n}\n\nfunc size_slice_int64(p *Properties, base structPointer) (n int) {\n\ts := structPointer_Word64Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tfor i := 0; i < l; i++ {\n\t\tn += len(p.tagcode)\n\t\tn += p.valSize(s.Index(i))\n\t}\n\treturn\n}\n\n// Encode a slice of int64s ([]int64) in packed format.\nfunc (o *Buffer) enc_slice_packed_int64(p *Properties, base structPointer) error {\n\ts := structPointer_Word64Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\t// TODO: Reuse a Buffer.\n\tbuf := NewBuffer(nil)\n\tfor i := 0; i < l; i++ {\n\t\tp.valEnc(buf, s.Index(i))\n\t}\n\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeVarint(uint64(len(buf.buf)))\n\to.buf = append(o.buf, buf.buf...)\n\treturn nil\n}\n\nfunc size_slice_packed_int64(p *Properties, base structPointer) (n int) {\n\ts := structPointer_Word64Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tvar bufSize int\n\tfor i := 0; i < l; i++ {\n\t\tbufSize += p.valSize(s.Index(i))\n\t}\n\n\tn += len(p.tagcode)\n\tn += sizeVarint(uint64(bufSize))\n\tn += bufSize\n\treturn\n}\n\n// Encode a slice of slice of bytes ([][]byte).\nfunc (o *Buffer) enc_slice_slice_byte(p *Properties, base structPointer) error {\n\tss := *structPointer_BytesSlice(base, p.field)\n\tl := len(ss)\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\tfor i := 0; i < l; i++ {\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\to.EncodeRawBytes(ss[i])\n\t}\n\treturn nil\n}\n\nfunc size_slice_slice_byte(p *Properties, base structPointer) (n int) {\n\tss := *structPointer_BytesSlice(base, p.field)\n\tl := len(ss)\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tn += l * len(p.tagcode)\n\tfor i := 0; i < l; i++ {\n\t\tn += sizeRawBytes(ss[i])\n\t}\n\treturn\n}\n\n// Encode a slice of strings ([]string).\nfunc (o *Buffer) enc_slice_string(p *Properties, base structPointer) error {\n\tss := *structPointer_StringSlice(base, p.field)\n\tl := len(ss)\n\tfor i := 0; i < l; i++ {\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\to.EncodeStringBytes(ss[i])\n\t}\n\treturn nil\n}\n\nfunc size_slice_string(p *Properties, base structPointer) (n int) {\n\tss := *structPointer_StringSlice(base, p.field)\n\tl := len(ss)\n\tn += l * len(p.tagcode)\n\tfor i := 0; i < l; i++ {\n\t\tn += sizeStringBytes(ss[i])\n\t}\n\treturn\n}\n\n// Encode a slice of message structs ([]*struct).\nfunc (o *Buffer) enc_slice_struct_message(p *Properties, base structPointer) error {\n\tvar state errorState\n\ts := structPointer_StructPointerSlice(base, p.field)\n\tl := s.Len()\n\n\tfor i := 0; i < l; i++ {\n\t\tstructp := s.Index(i)\n\t\tif structPointer_IsNil(structp) {\n\t\t\treturn errRepeatedHasNil\n\t\t}\n\n\t\t// Can the object marshal itself?\n\t\tif p.isMarshaler {\n\t\t\tm := structPointer_Interface(structp, p.stype).(Marshaler)\n\t\t\tdata, err := m.Marshal()\n\t\t\tif err != nil && !state.shouldContinue(err, nil) {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\to.buf = append(o.buf, p.tagcode...)\n\t\t\to.EncodeRawBytes(data)\n\t\t\tcontinue\n\t\t}\n\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\terr := o.enc_len_struct(p.sprop, structp, &state)\n\t\tif err != nil && !state.shouldContinue(err, nil) {\n\t\t\tif err == ErrNil {\n\t\t\t\treturn errRepeatedHasNil\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\t}\n\treturn state.err\n}\n\nfunc size_slice_struct_message(p *Properties, base structPointer) (n int) {\n\ts := structPointer_StructPointerSlice(base, p.field)\n\tl := s.Len()\n\tn += l * len(p.tagcode)\n\tfor i := 0; i < l; i++ {\n\t\tstructp := s.Index(i)\n\t\tif structPointer_IsNil(structp) {\n\t\t\treturn // return the size up to this point\n\t\t}\n\n\t\t// Can the object marshal itself?\n\t\tif p.isMarshaler {\n\t\t\tm := structPointer_Interface(structp, p.stype).(Marshaler)\n\t\t\tdata, _ := m.Marshal()\n\t\t\tn += sizeRawBytes(data)\n\t\t\tcontinue\n\t\t}\n\n\t\tn0 := size_struct(p.sprop, structp)\n\t\tn1 := sizeVarint(uint64(n0)) // size of encoded length\n\t\tn += n0 + n1\n\t}\n\treturn\n}\n\n// Encode a slice of group structs ([]*struct).\nfunc (o *Buffer) enc_slice_struct_group(p *Properties, base structPointer) error {\n\tvar state errorState\n\ts := structPointer_StructPointerSlice(base, p.field)\n\tl := s.Len()\n\n\tfor i := 0; i < l; i++ {\n\t\tb := s.Index(i)\n\t\tif structPointer_IsNil(b) {\n\t\t\treturn errRepeatedHasNil\n\t\t}\n\n\t\to.EncodeVarint(uint64((p.Tag << 3) | WireStartGroup))\n\n\t\terr := o.enc_struct(p.sprop, b)\n\n\t\tif err != nil && !state.shouldContinue(err, nil) {\n\t\t\tif err == ErrNil {\n\t\t\t\treturn errRepeatedHasNil\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\n\t\to.EncodeVarint(uint64((p.Tag << 3) | WireEndGroup))\n\t}\n\treturn state.err\n}\n\nfunc size_slice_struct_group(p *Properties, base structPointer) (n int) {\n\ts := structPointer_StructPointerSlice(base, p.field)\n\tl := s.Len()\n\n\tn += l * sizeVarint(uint64((p.Tag<<3)|WireStartGroup))\n\tn += l * sizeVarint(uint64((p.Tag<<3)|WireEndGroup))\n\tfor i := 0; i < l; i++ {\n\t\tb := s.Index(i)\n\t\tif structPointer_IsNil(b) {\n\t\t\treturn // return size up to this point\n\t\t}\n\n\t\tn += size_struct(p.sprop, b)\n\t}\n\treturn\n}\n\n// Encode an extension map.\nfunc (o *Buffer) enc_map(p *Properties, base structPointer) error {\n\texts := structPointer_ExtMap(base, p.field)\n\tif err := encodeExtensionsMap(*exts); err != nil {\n\t\treturn err\n\t}\n\n\treturn o.enc_map_body(*exts)\n}\n\nfunc (o *Buffer) enc_exts(p *Properties, base structPointer) error {\n\texts := structPointer_Extensions(base, p.field)\n\n\tv, mu := exts.extensionsRead()\n\tif v == nil {\n\t\treturn nil\n\t}\n\n\tmu.Lock()\n\tdefer mu.Unlock()\n\tif err := encodeExtensionsMap(v); err != nil {\n\t\treturn err\n\t}\n\n\treturn o.enc_map_body(v)\n}\n\nfunc (o *Buffer) enc_map_body(v map[int32]Extension) error {\n\t// Fast-path for common cases: zero or one extensions.\n\tif len(v) <= 1 {\n\t\tfor _, e := range v {\n\t\t\to.buf = append(o.buf, e.enc...)\n\t\t}\n\t\treturn nil\n\t}\n\n\t// Sort keys to provide a deterministic encoding.\n\tkeys := make([]int, 0, len(v))\n\tfor k := range v {\n\t\tkeys = append(keys, int(k))\n\t}\n\tsort.Ints(keys)\n\n\tfor _, k := range keys {\n\t\to.buf = append(o.buf, v[int32(k)].enc...)\n\t}\n\treturn nil\n}\n\nfunc size_map(p *Properties, base structPointer) int {\n\tv := structPointer_ExtMap(base, p.field)\n\treturn extensionsMapSize(*v)\n}\n\nfunc size_exts(p *Properties, base structPointer) int {\n\tv := structPointer_Extensions(base, p.field)\n\treturn extensionsSize(v)\n}\n\n// Encode a map field.\nfunc (o *Buffer) enc_new_map(p *Properties, base structPointer) error {\n\tvar state errorState // XXX: or do we need to plumb this through?\n\n\t/*\n\t\tA map defined as\n\t\t\tmap<key_type, value_type> map_field = N;\n\t\tis encoded in the same way as\n\t\t\tmessage MapFieldEntry {\n\t\t\t\tkey_type key = 1;\n\t\t\t\tvalue_type value = 2;\n\t\t\t}\n\t\t\trepeated MapFieldEntry map_field = N;\n\t*/\n\n\tv := structPointer_NewAt(base, p.field, p.mtype).Elem() // map[K]V\n\tif v.Len() == 0 {\n\t\treturn nil\n\t}\n\n\tkeycopy, valcopy, keybase, valbase := mapEncodeScratch(p.mtype)\n\n\tenc := func() error {\n\t\tif err := p.mkeyprop.enc(o, p.mkeyprop, keybase); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err := p.mvalprop.enc(o, p.mvalprop, valbase); err != nil && err != ErrNil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t}\n\n\t// Don't sort map keys. It is not required by the spec, and C++ doesn't do it.\n\tfor _, key := range v.MapKeys() {\n\t\tval := v.MapIndex(key)\n\n\t\tkeycopy.Set(key)\n\t\tvalcopy.Set(val)\n\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\tif err := o.enc_len_thing(enc, &state); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc size_new_map(p *Properties, base structPointer) int {\n\tv := structPointer_NewAt(base, p.field, p.mtype).Elem() // map[K]V\n\n\tkeycopy, valcopy, keybase, valbase := mapEncodeScratch(p.mtype)\n\n\tn := 0\n\tfor _, key := range v.MapKeys() {\n\t\tval := v.MapIndex(key)\n\t\tkeycopy.Set(key)\n\t\tvalcopy.Set(val)\n\n\t\t// Tag codes for key and val are the responsibility of the sub-sizer.\n\t\tkeysize := p.mkeyprop.size(p.mkeyprop, keybase)\n\t\tvalsize := p.mvalprop.size(p.mvalprop, valbase)\n\t\tentry := keysize + valsize\n\t\t// Add on tag code and length of map entry itself.\n\t\tn += len(p.tagcode) + sizeVarint(uint64(entry)) + entry\n\t}\n\treturn n\n}\n\n// mapEncodeScratch returns a new reflect.Value matching the map's value type,\n// and a structPointer suitable for passing to an encoder or sizer.\nfunc mapEncodeScratch(mapType reflect.Type) (keycopy, valcopy reflect.Value, keybase, valbase structPointer) {\n\t// Prepare addressable doubly-indirect placeholders for the key and value types.\n\t// This is needed because the element-type encoders expect **T, but the map iteration produces T.\n\n\tkeycopy = reflect.New(mapType.Key()).Elem()                 // addressable K\n\tkeyptr := reflect.New(reflect.PtrTo(keycopy.Type())).Elem() // addressable *K\n\tkeyptr.Set(keycopy.Addr())                                  //\n\tkeybase = toStructPointer(keyptr.Addr())                    // **K\n\n\t// Value types are more varied and require special handling.\n\tswitch mapType.Elem().Kind() {\n\tcase reflect.Slice:\n\t\t// []byte\n\t\tvar dummy []byte\n\t\tvalcopy = reflect.ValueOf(&dummy).Elem() // addressable []byte\n\t\tvalbase = toStructPointer(valcopy.Addr())\n\tcase reflect.Ptr:\n\t\t// message; the generated field type is map[K]*Msg (so V is *Msg),\n\t\t// so we only need one level of indirection.\n\t\tvalcopy = reflect.New(mapType.Elem()).Elem() // addressable V\n\t\tvalbase = toStructPointer(valcopy.Addr())\n\tdefault:\n\t\t// everything else\n\t\tvalcopy = reflect.New(mapType.Elem()).Elem()                // addressable V\n\t\tvalptr := reflect.New(reflect.PtrTo(valcopy.Type())).Elem() // addressable *V\n\t\tvalptr.Set(valcopy.Addr())                                  //\n\t\tvalbase = toStructPointer(valptr.Addr())                    // **V\n\t}\n\treturn\n}\n\n// Encode a struct.\nfunc (o *Buffer) enc_struct(prop *StructProperties, base structPointer) error {\n\tvar state errorState\n\t// Encode fields in tag order so that decoders may use optimizations\n\t// that depend on the ordering.\n\t// https://developers.google.com/protocol-buffers/docs/encoding#order\n\tfor _, i := range prop.order {\n\t\tp := prop.Prop[i]\n\t\tif p.enc != nil {\n\t\t\terr := p.enc(o, p, base)\n\t\t\tif err != nil {\n\t\t\t\tif err == ErrNil {\n\t\t\t\t\tif p.Required && state.err == nil {\n\t\t\t\t\t\tstate.err = &RequiredNotSetError{p.Name}\n\t\t\t\t\t}\n\t\t\t\t} else if err == errRepeatedHasNil {\n\t\t\t\t\t// Give more context to nil values in repeated fields.\n\t\t\t\t\treturn errors.New(\"repeated field \" + p.OrigName + \" has nil element\")\n\t\t\t\t} else if !state.shouldContinue(err, p) {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tif len(o.buf) > maxMarshalSize {\n\t\t\t\treturn ErrTooLarge\n\t\t\t}\n\t\t}\n\t}\n\n\t// Do oneof fields.\n\tif prop.oneofMarshaler != nil {\n\t\tm := structPointer_Interface(base, prop.stype).(Message)\n\t\tif err := prop.oneofMarshaler(m, o); err == ErrNil {\n\t\t\treturn errOneofHasNil\n\t\t} else if err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Add unrecognized fields at the end.\n\tif prop.unrecField.IsValid() {\n\t\tv := *structPointer_Bytes(base, prop.unrecField)\n\t\tif len(o.buf)+len(v) > maxMarshalSize {\n\t\t\treturn ErrTooLarge\n\t\t}\n\t\tif len(v) > 0 {\n\t\t\to.buf = append(o.buf, v...)\n\t\t}\n\t}\n\n\treturn state.err\n}\n\nfunc size_struct(prop *StructProperties, base structPointer) (n int) {\n\tfor _, i := range prop.order {\n\t\tp := prop.Prop[i]\n\t\tif p.size != nil {\n\t\t\tn += p.size(p, base)\n\t\t}\n\t}\n\n\t// Add unrecognized fields at the end.\n\tif prop.unrecField.IsValid() {\n\t\tv := *structPointer_Bytes(base, prop.unrecField)\n\t\tn += len(v)\n\t}\n\n\t// Factor in any oneof fields.\n\tif prop.oneofSizer != nil {\n\t\tm := structPointer_Interface(base, prop.stype).(Message)\n\t\tn += prop.oneofSizer(m)\n\t}\n\n\treturn\n}\n\nvar zeroes [20]byte // longer than any conceivable sizeVarint\n\n// Encode a struct, preceded by its encoded length (as a varint).\nfunc (o *Buffer) enc_len_struct(prop *StructProperties, base structPointer, state *errorState) error {\n\treturn o.enc_len_thing(func() error { return o.enc_struct(prop, base) }, state)\n}\n\n// Encode something, preceded by its encoded length (as a varint).\nfunc (o *Buffer) enc_len_thing(enc func() error, state *errorState) error {\n\tiLen := len(o.buf)\n\to.buf = append(o.buf, 0, 0, 0, 0) // reserve four bytes for length\n\tiMsg := len(o.buf)\n\terr := enc()\n\tif err != nil && !state.shouldContinue(err, nil) {\n\t\treturn err\n\t}\n\tlMsg := len(o.buf) - iMsg\n\tlLen := sizeVarint(uint64(lMsg))\n\tswitch x := lLen - (iMsg - iLen); {\n\tcase x > 0: // actual length is x bytes larger than the space we reserved\n\t\t// Move msg x bytes right.\n\t\to.buf = append(o.buf, zeroes[:x]...)\n\t\tcopy(o.buf[iMsg+x:], o.buf[iMsg:iMsg+lMsg])\n\tcase x < 0: // actual length is x bytes smaller than the space we reserved\n\t\t// Move msg x bytes left.\n\t\tcopy(o.buf[iMsg+x:], o.buf[iMsg:iMsg+lMsg])\n\t\to.buf = o.buf[:len(o.buf)+x] // x is negative\n\t}\n\t// Encode the length in the reserved space.\n\to.buf = o.buf[:iLen]\n\to.EncodeVarint(uint64(lMsg))\n\to.buf = o.buf[:len(o.buf)+lMsg]\n\treturn state.err\n}\n\n// errorState maintains the first error that occurs and updates that error\n// with additional context.\ntype errorState struct {\n\terr error\n}\n\n// shouldContinue reports whether encoding should continue upon encountering the\n// given error. If the error is RequiredNotSetError, shouldContinue returns true\n// and, if this is the first appearance of that error, remembers it for future\n// reporting.\n//\n// If prop is not nil, it may update any error with additional context about the\n// field with the error.\nfunc (s *errorState) shouldContinue(err error, prop *Properties) bool {\n\t// Ignore unset required fields.\n\treqNotSet, ok := err.(*RequiredNotSetError)\n\tif !ok {\n\t\treturn false\n\t}\n\tif s.err == nil {\n\t\tif prop != nil {\n\t\t\terr = &RequiredNotSetError{prop.Name + \".\" + reqNotSet.field}\n\t\t}\n\t\ts.err = err\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/encode_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// http://github.com/golang/protobuf/\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"reflect\"\n)\n\nfunc NewRequiredNotSetError(field string) *RequiredNotSetError {\n\treturn &RequiredNotSetError{field}\n}\n\ntype Sizer interface {\n\tSize() int\n}\n\nfunc (o *Buffer) enc_ext_slice_byte(p *Properties, base structPointer) error {\n\ts := *structPointer_Bytes(base, p.field)\n\tif s == nil {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, s...)\n\treturn nil\n}\n\nfunc size_ext_slice_byte(p *Properties, base structPointer) (n int) {\n\ts := *structPointer_Bytes(base, p.field)\n\tif s == nil {\n\t\treturn 0\n\t}\n\tn += len(s)\n\treturn\n}\n\n// Encode a reference to bool pointer.\nfunc (o *Buffer) enc_ref_bool(p *Properties, base structPointer) error {\n\tv := *structPointer_BoolVal(base, p.field)\n\tx := 0\n\tif v {\n\t\tx = 1\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc size_ref_bool(p *Properties, base structPointer) int {\n\treturn len(p.tagcode) + 1 // each bool takes exactly one byte\n}\n\n// Encode a reference to int32 pointer.\nfunc (o *Buffer) enc_ref_int32(p *Properties, base structPointer) error {\n\tv := structPointer_Word32Val(base, p.field)\n\tx := int32(word32Val_Get(v))\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc size_ref_int32(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word32Val(base, p.field)\n\tx := int32(word32Val_Get(v))\n\tn += len(p.tagcode)\n\tn += p.valSize(uint64(x))\n\treturn\n}\n\nfunc (o *Buffer) enc_ref_uint32(p *Properties, base structPointer) error {\n\tv := structPointer_Word32Val(base, p.field)\n\tx := word32Val_Get(v)\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc size_ref_uint32(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word32Val(base, p.field)\n\tx := word32Val_Get(v)\n\tn += len(p.tagcode)\n\tn += p.valSize(uint64(x))\n\treturn\n}\n\n// Encode a reference to an int64 pointer.\nfunc (o *Buffer) enc_ref_int64(p *Properties, base structPointer) error {\n\tv := structPointer_Word64Val(base, p.field)\n\tx := word64Val_Get(v)\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, x)\n\treturn nil\n}\n\nfunc size_ref_int64(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word64Val(base, p.field)\n\tx := word64Val_Get(v)\n\tn += len(p.tagcode)\n\tn += p.valSize(x)\n\treturn\n}\n\n// Encode a reference to a string pointer.\nfunc (o *Buffer) enc_ref_string(p *Properties, base structPointer) error {\n\tv := *structPointer_StringVal(base, p.field)\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeStringBytes(v)\n\treturn nil\n}\n\nfunc size_ref_string(p *Properties, base structPointer) (n int) {\n\tv := *structPointer_StringVal(base, p.field)\n\tn += len(p.tagcode)\n\tn += sizeStringBytes(v)\n\treturn\n}\n\n// Encode a reference to a message struct.\nfunc (o *Buffer) enc_ref_struct_message(p *Properties, base structPointer) error {\n\tvar state errorState\n\tstructp := structPointer_GetRefStructPointer(base, p.field)\n\tif structPointer_IsNil(structp) {\n\t\treturn ErrNil\n\t}\n\n\t// Can the object marshal itself?\n\tif p.isMarshaler {\n\t\tm := structPointer_Interface(structp, p.stype).(Marshaler)\n\t\tdata, err := m.Marshal()\n\t\tif err != nil && !state.shouldContinue(err, nil) {\n\t\t\treturn err\n\t\t}\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\to.EncodeRawBytes(data)\n\t\treturn nil\n\t}\n\n\to.buf = append(o.buf, p.tagcode...)\n\treturn o.enc_len_struct(p.sprop, structp, &state)\n}\n\n//TODO this is only copied, please fix this\nfunc size_ref_struct_message(p *Properties, base structPointer) int {\n\tstructp := structPointer_GetRefStructPointer(base, p.field)\n\tif structPointer_IsNil(structp) {\n\t\treturn 0\n\t}\n\n\t// Can the object marshal itself?\n\tif p.isMarshaler {\n\t\tm := structPointer_Interface(structp, p.stype).(Marshaler)\n\t\tdata, _ := m.Marshal()\n\t\tn0 := len(p.tagcode)\n\t\tn1 := sizeRawBytes(data)\n\t\treturn n0 + n1\n\t}\n\n\tn0 := len(p.tagcode)\n\tn1 := size_struct(p.sprop, structp)\n\tn2 := sizeVarint(uint64(n1)) // size of encoded length\n\treturn n0 + n1 + n2\n}\n\n// Encode a slice of references to message struct pointers ([]struct).\nfunc (o *Buffer) enc_slice_ref_struct_message(p *Properties, base structPointer) error {\n\tvar state errorState\n\tss := structPointer_StructRefSlice(base, p.field, p.stype.Size())\n\tl := ss.Len()\n\tfor i := 0; i < l; i++ {\n\t\tstructp := ss.Index(i)\n\t\tif structPointer_IsNil(structp) {\n\t\t\treturn errRepeatedHasNil\n\t\t}\n\n\t\t// Can the object marshal itself?\n\t\tif p.isMarshaler {\n\t\t\tm := structPointer_Interface(structp, p.stype).(Marshaler)\n\t\t\tdata, err := m.Marshal()\n\t\t\tif err != nil && !state.shouldContinue(err, nil) {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\to.buf = append(o.buf, p.tagcode...)\n\t\t\to.EncodeRawBytes(data)\n\t\t\tcontinue\n\t\t}\n\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\terr := o.enc_len_struct(p.sprop, structp, &state)\n\t\tif err != nil && !state.shouldContinue(err, nil) {\n\t\t\tif err == ErrNil {\n\t\t\t\treturn errRepeatedHasNil\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn state.err\n}\n\n//TODO this is only copied, please fix this\nfunc size_slice_ref_struct_message(p *Properties, base structPointer) (n int) {\n\tss := structPointer_StructRefSlice(base, p.field, p.stype.Size())\n\tl := ss.Len()\n\tn += l * len(p.tagcode)\n\tfor i := 0; i < l; i++ {\n\t\tstructp := ss.Index(i)\n\t\tif structPointer_IsNil(structp) {\n\t\t\treturn // return the size up to this point\n\t\t}\n\n\t\t// Can the object marshal itself?\n\t\tif p.isMarshaler {\n\t\t\tm := structPointer_Interface(structp, p.stype).(Marshaler)\n\t\t\tdata, _ := m.Marshal()\n\t\t\tn += len(p.tagcode)\n\t\t\tn += sizeRawBytes(data)\n\t\t\tcontinue\n\t\t}\n\n\t\tn0 := size_struct(p.sprop, structp)\n\t\tn1 := sizeVarint(uint64(n0)) // size of encoded length\n\t\tn += n0 + n1\n\t}\n\treturn\n}\n\nfunc (o *Buffer) enc_custom_bytes(p *Properties, base structPointer) error {\n\ti := structPointer_InterfaceRef(base, p.field, p.ctype)\n\tif i == nil {\n\t\treturn ErrNil\n\t}\n\tcustom := i.(Marshaler)\n\tdata, err := custom.Marshal()\n\tif err != nil {\n\t\treturn err\n\t}\n\tif data == nil {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeRawBytes(data)\n\treturn nil\n}\n\nfunc size_custom_bytes(p *Properties, base structPointer) (n int) {\n\tn += len(p.tagcode)\n\ti := structPointer_InterfaceRef(base, p.field, p.ctype)\n\tif i == nil {\n\t\treturn 0\n\t}\n\tcustom := i.(Marshaler)\n\tdata, _ := custom.Marshal()\n\tn += sizeRawBytes(data)\n\treturn\n}\n\nfunc (o *Buffer) enc_custom_ref_bytes(p *Properties, base structPointer) error {\n\tcustom := structPointer_InterfaceAt(base, p.field, p.ctype).(Marshaler)\n\tdata, err := custom.Marshal()\n\tif err != nil {\n\t\treturn err\n\t}\n\tif data == nil {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeRawBytes(data)\n\treturn nil\n}\n\nfunc size_custom_ref_bytes(p *Properties, base structPointer) (n int) {\n\tn += len(p.tagcode)\n\ti := structPointer_InterfaceAt(base, p.field, p.ctype)\n\tif i == nil {\n\t\treturn 0\n\t}\n\tcustom := i.(Marshaler)\n\tdata, _ := custom.Marshal()\n\tn += sizeRawBytes(data)\n\treturn\n}\n\nfunc (o *Buffer) enc_custom_slice_bytes(p *Properties, base structPointer) error {\n\tinter := structPointer_InterfaceRef(base, p.field, p.ctype)\n\tif inter == nil {\n\t\treturn ErrNil\n\t}\n\tslice := reflect.ValueOf(inter)\n\tl := slice.Len()\n\tfor i := 0; i < l; i++ {\n\t\tv := slice.Index(i)\n\t\tcustom := v.Interface().(Marshaler)\n\t\tdata, err := custom.Marshal()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\to.EncodeRawBytes(data)\n\t}\n\treturn nil\n}\n\nfunc size_custom_slice_bytes(p *Properties, base structPointer) (n int) {\n\tinter := structPointer_InterfaceRef(base, p.field, p.ctype)\n\tif inter == nil {\n\t\treturn 0\n\t}\n\tslice := reflect.ValueOf(inter)\n\tl := slice.Len()\n\tn += l * len(p.tagcode)\n\tfor i := 0; i < l; i++ {\n\t\tv := slice.Index(i)\n\t\tcustom := v.Interface().(Marshaler)\n\t\tdata, _ := custom.Marshal()\n\t\tn += sizeRawBytes(data)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/equal.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2011 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// Protocol buffer comparison.\n\npackage proto\n\nimport (\n\t\"bytes\"\n\t\"log\"\n\t\"reflect\"\n\t\"strings\"\n)\n\n/*\nEqual returns true iff protocol buffers a and b are equal.\nThe arguments must both be pointers to protocol buffer structs.\n\nEquality is defined in this way:\n  - Two messages are equal iff they are the same type,\n    corresponding fields are equal, unknown field sets\n    are equal, and extensions sets are equal.\n  - Two set scalar fields are equal iff their values are equal.\n    If the fields are of a floating-point type, remember that\n    NaN != x for all x, including NaN. If the message is defined\n    in a proto3 .proto file, fields are not \"set\"; specifically,\n    zero length proto3 \"bytes\" fields are equal (nil == {}).\n  - Two repeated fields are equal iff their lengths are the same,\n    and their corresponding elements are equal. Note a \"bytes\" field,\n    although represented by []byte, is not a repeated field and the\n    rule for the scalar fields described above applies.\n  - Two unset fields are equal.\n  - Two unknown field sets are equal if their current\n    encoded state is equal.\n  - Two extension sets are equal iff they have corresponding\n    elements that are pairwise equal.\n  - Two map fields are equal iff their lengths are the same,\n    and they contain the same set of elements. Zero-length map\n    fields are equal.\n  - Every other combination of things are not equal.\n\nThe return value is undefined if a and b are not protocol buffers.\n*/\nfunc Equal(a, b Message) bool {\n\tif a == nil || b == nil {\n\t\treturn a == b\n\t}\n\tv1, v2 := reflect.ValueOf(a), reflect.ValueOf(b)\n\tif v1.Type() != v2.Type() {\n\t\treturn false\n\t}\n\tif v1.Kind() == reflect.Ptr {\n\t\tif v1.IsNil() {\n\t\t\treturn v2.IsNil()\n\t\t}\n\t\tif v2.IsNil() {\n\t\t\treturn false\n\t\t}\n\t\tv1, v2 = v1.Elem(), v2.Elem()\n\t}\n\tif v1.Kind() != reflect.Struct {\n\t\treturn false\n\t}\n\treturn equalStruct(v1, v2)\n}\n\n// v1 and v2 are known to have the same type.\nfunc equalStruct(v1, v2 reflect.Value) bool {\n\tsprop := GetProperties(v1.Type())\n\tfor i := 0; i < v1.NumField(); i++ {\n\t\tf := v1.Type().Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tf1, f2 := v1.Field(i), v2.Field(i)\n\t\tif f.Type.Kind() == reflect.Ptr {\n\t\t\tif n1, n2 := f1.IsNil(), f2.IsNil(); n1 && n2 {\n\t\t\t\t// both unset\n\t\t\t\tcontinue\n\t\t\t} else if n1 != n2 {\n\t\t\t\t// set/unset mismatch\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tb1, ok := f1.Interface().(raw)\n\t\t\tif ok {\n\t\t\t\tb2 := f2.Interface().(raw)\n\t\t\t\t// RawMessage\n\t\t\t\tif !bytes.Equal(b1.Bytes(), b2.Bytes()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tf1, f2 = f1.Elem(), f2.Elem()\n\t\t}\n\t\tif !equalAny(f1, f2, sprop.Prop[i]) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif em1 := v1.FieldByName(\"XXX_InternalExtensions\"); em1.IsValid() {\n\t\tem2 := v2.FieldByName(\"XXX_InternalExtensions\")\n\t\tif !equalExtensions(v1.Type(), em1.Interface().(XXX_InternalExtensions), em2.Interface().(XXX_InternalExtensions)) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif em1 := v1.FieldByName(\"XXX_extensions\"); em1.IsValid() {\n\t\tem2 := v2.FieldByName(\"XXX_extensions\")\n\t\tif !equalExtMap(v1.Type(), em1.Interface().(map[int32]Extension), em2.Interface().(map[int32]Extension)) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tuf := v1.FieldByName(\"XXX_unrecognized\")\n\tif !uf.IsValid() {\n\t\treturn true\n\t}\n\n\tu1 := uf.Bytes()\n\tu2 := v2.FieldByName(\"XXX_unrecognized\").Bytes()\n\tif !bytes.Equal(u1, u2) {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n// v1 and v2 are known to have the same type.\n// prop may be nil.\nfunc equalAny(v1, v2 reflect.Value, prop *Properties) bool {\n\tif v1.Type() == protoMessageType {\n\t\tm1, _ := v1.Interface().(Message)\n\t\tm2, _ := v2.Interface().(Message)\n\t\treturn Equal(m1, m2)\n\t}\n\tswitch v1.Kind() {\n\tcase reflect.Bool:\n\t\treturn v1.Bool() == v2.Bool()\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v1.Float() == v2.Float()\n\tcase reflect.Int32, reflect.Int64:\n\t\treturn v1.Int() == v2.Int()\n\tcase reflect.Interface:\n\t\t// Probably a oneof field; compare the inner values.\n\t\tn1, n2 := v1.IsNil(), v2.IsNil()\n\t\tif n1 || n2 {\n\t\t\treturn n1 == n2\n\t\t}\n\t\te1, e2 := v1.Elem(), v2.Elem()\n\t\tif e1.Type() != e2.Type() {\n\t\t\treturn false\n\t\t}\n\t\treturn equalAny(e1, e2, nil)\n\tcase reflect.Map:\n\t\tif v1.Len() != v2.Len() {\n\t\t\treturn false\n\t\t}\n\t\tfor _, key := range v1.MapKeys() {\n\t\t\tval2 := v2.MapIndex(key)\n\t\t\tif !val2.IsValid() {\n\t\t\t\t// This key was not found in the second map.\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !equalAny(v1.MapIndex(key), val2, nil) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\tcase reflect.Ptr:\n\t\t// Maps may have nil values in them, so check for nil.\n\t\tif v1.IsNil() && v2.IsNil() {\n\t\t\treturn true\n\t\t}\n\t\tif v1.IsNil() != v2.IsNil() {\n\t\t\treturn false\n\t\t}\n\t\treturn equalAny(v1.Elem(), v2.Elem(), prop)\n\tcase reflect.Slice:\n\t\tif v1.Type().Elem().Kind() == reflect.Uint8 {\n\t\t\t// short circuit: []byte\n\n\t\t\t// Edge case: if this is in a proto3 message, a zero length\n\t\t\t// bytes field is considered the zero value.\n\t\t\tif prop != nil && prop.proto3 && v1.Len() == 0 && v2.Len() == 0 {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif v1.IsNil() != v2.IsNil() {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn bytes.Equal(v1.Interface().([]byte), v2.Interface().([]byte))\n\t\t}\n\n\t\tif v1.Len() != v2.Len() {\n\t\t\treturn false\n\t\t}\n\t\tfor i := 0; i < v1.Len(); i++ {\n\t\t\tif !equalAny(v1.Index(i), v2.Index(i), prop) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\tcase reflect.String:\n\t\treturn v1.Interface().(string) == v2.Interface().(string)\n\tcase reflect.Struct:\n\t\treturn equalStruct(v1, v2)\n\tcase reflect.Uint32, reflect.Uint64:\n\t\treturn v1.Uint() == v2.Uint()\n\t}\n\n\t// unknown type, so not a protocol buffer\n\tlog.Printf(\"proto: don't know how to compare %v\", v1)\n\treturn false\n}\n\n// base is the struct type that the extensions are based on.\n// x1 and x2 are InternalExtensions.\nfunc equalExtensions(base reflect.Type, x1, x2 XXX_InternalExtensions) bool {\n\tem1, _ := x1.extensionsRead()\n\tem2, _ := x2.extensionsRead()\n\treturn equalExtMap(base, em1, em2)\n}\n\nfunc equalExtMap(base reflect.Type, em1, em2 map[int32]Extension) bool {\n\tif len(em1) != len(em2) {\n\t\treturn false\n\t}\n\n\tfor extNum, e1 := range em1 {\n\t\te2, ok := em2[extNum]\n\t\tif !ok {\n\t\t\treturn false\n\t\t}\n\n\t\tm1, m2 := e1.value, e2.value\n\n\t\tif m1 != nil && m2 != nil {\n\t\t\t// Both are unencoded.\n\t\t\tif !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// At least one is encoded. To do a semantically correct comparison\n\t\t// we need to unmarshal them first.\n\t\tvar desc *ExtensionDesc\n\t\tif m := extensionMaps[base]; m != nil {\n\t\t\tdesc = m[extNum]\n\t\t}\n\t\tif desc == nil {\n\t\t\tlog.Printf(\"proto: don't know how to compare extension %d of %v\", extNum, base)\n\t\t\tcontinue\n\t\t}\n\t\tvar err error\n\t\tif m1 == nil {\n\t\t\tm1, err = decodeExtension(e1.enc, desc)\n\t\t}\n\t\tif m2 == nil && err == nil {\n\t\t\tm2, err = decodeExtension(e2.enc, desc)\n\t\t}\n\t\tif err != nil {\n\t\t\t// The encoded form is invalid.\n\t\t\tlog.Printf(\"proto: badly encoded extension %d of %v: %v\", extNum, base, err)\n\t\t\treturn false\n\t\t}\n\t\tif !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\treturn true\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/extensions.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Types and routines for supporting protocol buffer extensions.\n */\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"sync\"\n)\n\n// ErrMissingExtension is the error returned by GetExtension if the named extension is not in the message.\nvar ErrMissingExtension = errors.New(\"proto: missing extension\")\n\n// ExtensionRange represents a range of message extensions for a protocol buffer.\n// Used in code generated by the protocol compiler.\ntype ExtensionRange struct {\n\tStart, End int32 // both inclusive\n}\n\n// extendableProto is an interface implemented by any protocol buffer generated by the current\n// proto compiler that may be extended.\ntype extendableProto interface {\n\tMessage\n\tExtensionRangeArray() []ExtensionRange\n\textensionsWrite() map[int32]Extension\n\textensionsRead() (map[int32]Extension, sync.Locker)\n}\n\n// extendableProtoV1 is an interface implemented by a protocol buffer generated by the previous\n// version of the proto compiler that may be extended.\ntype extendableProtoV1 interface {\n\tMessage\n\tExtensionRangeArray() []ExtensionRange\n\tExtensionMap() map[int32]Extension\n}\n\ntype extensionsBytes interface {\n\tMessage\n\tExtensionRangeArray() []ExtensionRange\n\tGetExtensions() *[]byte\n}\n\n// extensionAdapter is a wrapper around extendableProtoV1 that implements extendableProto.\ntype extensionAdapter struct {\n\textendableProtoV1\n}\n\nfunc (e extensionAdapter) extensionsWrite() map[int32]Extension {\n\treturn e.ExtensionMap()\n}\n\nfunc (e extensionAdapter) extensionsRead() (map[int32]Extension, sync.Locker) {\n\treturn e.ExtensionMap(), notLocker{}\n}\n\n// notLocker is a sync.Locker whose Lock and Unlock methods are nops.\ntype notLocker struct{}\n\nfunc (n notLocker) Lock()   {}\nfunc (n notLocker) Unlock() {}\n\n// extendable returns the extendableProto interface for the given generated proto message.\n// If the proto message has the old extension format, it returns a wrapper that implements\n// the extendableProto interface.\nfunc extendable(p interface{}) (extendableProto, bool) {\n\tif ep, ok := p.(extendableProto); ok {\n\t\treturn ep, ok\n\t}\n\tif ep, ok := p.(extendableProtoV1); ok {\n\t\treturn extensionAdapter{ep}, ok\n\t}\n\treturn nil, false\n}\n\n// XXX_InternalExtensions is an internal representation of proto extensions.\n//\n// Each generated message struct type embeds an anonymous XXX_InternalExtensions field,\n// thus gaining the unexported 'extensions' method, which can be called only from the proto package.\n//\n// The methods of XXX_InternalExtensions are not concurrency safe in general,\n// but calls to logically read-only methods such as has and get may be executed concurrently.\ntype XXX_InternalExtensions struct {\n\t// The struct must be indirect so that if a user inadvertently copies a\n\t// generated message and its embedded XXX_InternalExtensions, they\n\t// avoid the mayhem of a copied mutex.\n\t//\n\t// The mutex serializes all logically read-only operations to p.extensionMap.\n\t// It is up to the client to ensure that write operations to p.extensionMap are\n\t// mutually exclusive with other accesses.\n\tp *struct {\n\t\tmu           sync.Mutex\n\t\textensionMap map[int32]Extension\n\t}\n}\n\n// extensionsWrite returns the extension map, creating it on first use.\nfunc (e *XXX_InternalExtensions) extensionsWrite() map[int32]Extension {\n\tif e.p == nil {\n\t\te.p = new(struct {\n\t\t\tmu           sync.Mutex\n\t\t\textensionMap map[int32]Extension\n\t\t})\n\t\te.p.extensionMap = make(map[int32]Extension)\n\t}\n\treturn e.p.extensionMap\n}\n\n// extensionsRead returns the extensions map for read-only use.  It may be nil.\n// The caller must hold the returned mutex's lock when accessing Elements within the map.\nfunc (e *XXX_InternalExtensions) extensionsRead() (map[int32]Extension, sync.Locker) {\n\tif e.p == nil {\n\t\treturn nil, nil\n\t}\n\treturn e.p.extensionMap, &e.p.mu\n}\n\ntype extensionRange interface {\n\tMessage\n\tExtensionRangeArray() []ExtensionRange\n}\n\nvar extendableProtoType = reflect.TypeOf((*extendableProto)(nil)).Elem()\nvar extendableProtoV1Type = reflect.TypeOf((*extendableProtoV1)(nil)).Elem()\nvar extendableBytesType = reflect.TypeOf((*extensionsBytes)(nil)).Elem()\nvar extensionRangeType = reflect.TypeOf((*extensionRange)(nil)).Elem()\n\n// ExtensionDesc represents an extension specification.\n// Used in generated code from the protocol compiler.\ntype ExtensionDesc struct {\n\tExtendedType  Message     // nil pointer to the type that is being extended\n\tExtensionType interface{} // nil pointer to the extension type\n\tField         int32       // field number\n\tName          string      // fully-qualified name of extension, for text formatting\n\tTag           string      // protobuf tag style\n\tFilename      string      // name of the file in which the extension is defined\n}\n\nfunc (ed *ExtensionDesc) repeated() bool {\n\tt := reflect.TypeOf(ed.ExtensionType)\n\treturn t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8\n}\n\n// Extension represents an extension in a message.\ntype Extension struct {\n\t// When an extension is stored in a message using SetExtension\n\t// only desc and value are set. When the message is marshaled\n\t// enc will be set to the encoded form of the message.\n\t//\n\t// When a message is unmarshaled and contains extensions, each\n\t// extension will have only enc set. When such an extension is\n\t// accessed using GetExtension (or GetExtensions) desc and value\n\t// will be set.\n\tdesc  *ExtensionDesc\n\tvalue interface{}\n\tenc   []byte\n}\n\n// SetRawExtension is for testing only.\nfunc SetRawExtension(base Message, id int32, b []byte) {\n\tif ebase, ok := base.(extensionsBytes); ok {\n\t\tclearExtension(base, id)\n\t\text := ebase.GetExtensions()\n\t\t*ext = append(*ext, b...)\n\t\treturn\n\t}\n\tepb, ok := extendable(base)\n\tif !ok {\n\t\treturn\n\t}\n\textmap := epb.extensionsWrite()\n\textmap[id] = Extension{enc: b}\n}\n\n// isExtensionField returns true iff the given field number is in an extension range.\nfunc isExtensionField(pb extensionRange, field int32) bool {\n\tfor _, er := range pb.ExtensionRangeArray() {\n\t\tif er.Start <= field && field <= er.End {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// checkExtensionTypes checks that the given extension is valid for pb.\nfunc checkExtensionTypes(pb extendableProto, extension *ExtensionDesc) error {\n\tvar pbi interface{} = pb\n\t// Check the extended type.\n\tif ea, ok := pbi.(extensionAdapter); ok {\n\t\tpbi = ea.extendableProtoV1\n\t}\n\tif a, b := reflect.TypeOf(pbi), reflect.TypeOf(extension.ExtendedType); a != b {\n\t\treturn errors.New(\"proto: bad extended type; \" + b.String() + \" does not extend \" + a.String())\n\t}\n\t// Check the range.\n\tif !isExtensionField(pb, extension.Field) {\n\t\treturn errors.New(\"proto: bad extension number; not in declared ranges\")\n\t}\n\treturn nil\n}\n\n// extPropKey is sufficient to uniquely identify an extension.\ntype extPropKey struct {\n\tbase  reflect.Type\n\tfield int32\n}\n\nvar extProp = struct {\n\tsync.RWMutex\n\tm map[extPropKey]*Properties\n}{\n\tm: make(map[extPropKey]*Properties),\n}\n\nfunc extensionProperties(ed *ExtensionDesc) *Properties {\n\tkey := extPropKey{base: reflect.TypeOf(ed.ExtendedType), field: ed.Field}\n\n\textProp.RLock()\n\tif prop, ok := extProp.m[key]; ok {\n\t\textProp.RUnlock()\n\t\treturn prop\n\t}\n\textProp.RUnlock()\n\n\textProp.Lock()\n\tdefer extProp.Unlock()\n\t// Check again.\n\tif prop, ok := extProp.m[key]; ok {\n\t\treturn prop\n\t}\n\n\tprop := new(Properties)\n\tprop.Init(reflect.TypeOf(ed.ExtensionType), \"unknown_name\", ed.Tag, nil)\n\textProp.m[key] = prop\n\treturn prop\n}\n\n// encode encodes any unmarshaled (unencoded) extensions in e.\nfunc encodeExtensions(e *XXX_InternalExtensions) error {\n\tm, mu := e.extensionsRead()\n\tif m == nil {\n\t\treturn nil // fast path\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\treturn encodeExtensionsMap(m)\n}\n\n// encode encodes any unmarshaled (unencoded) extensions in e.\nfunc encodeExtensionsMap(m map[int32]Extension) error {\n\tfor k, e := range m {\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tet := reflect.TypeOf(e.desc.ExtensionType)\n\t\tprops := extensionProperties(e.desc)\n\n\t\tp := NewBuffer(nil)\n\t\t// If e.value has type T, the encoder expects a *struct{ X T }.\n\t\t// Pass a *T with a zero field and hope it all works out.\n\t\tx := reflect.New(et)\n\t\tx.Elem().Set(reflect.ValueOf(e.value))\n\t\tif err := props.enc(p, props, toStructPointer(x)); err != nil {\n\t\t\treturn err\n\t\t}\n\t\te.enc = p.buf\n\t\tm[k] = e\n\t}\n\treturn nil\n}\n\nfunc extensionsSize(e *XXX_InternalExtensions) (n int) {\n\tm, mu := e.extensionsRead()\n\tif m == nil {\n\t\treturn 0\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\treturn extensionsMapSize(m)\n}\n\nfunc extensionsMapSize(m map[int32]Extension) (n int) {\n\tfor _, e := range m {\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tn += len(e.enc)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tet := reflect.TypeOf(e.desc.ExtensionType)\n\t\tprops := extensionProperties(e.desc)\n\n\t\t// If e.value has type T, the encoder expects a *struct{ X T }.\n\t\t// Pass a *T with a zero field and hope it all works out.\n\t\tx := reflect.New(et)\n\t\tx.Elem().Set(reflect.ValueOf(e.value))\n\t\tn += props.size(props, toStructPointer(x))\n\t}\n\treturn\n}\n\n// HasExtension returns whether the given extension is present in pb.\nfunc HasExtension(pb Message, extension *ExtensionDesc) bool {\n\tif epb, doki := pb.(extensionsBytes); doki {\n\t\text := epb.GetExtensions()\n\t\tbuf := *ext\n\t\to := 0\n\t\tfor o < len(buf) {\n\t\t\ttag, n := DecodeVarint(buf[o:])\n\t\t\tfieldNum := int32(tag >> 3)\n\t\t\tif int32(fieldNum) == extension.Field {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\twireType := int(tag & 0x7)\n\t\t\to += n\n\t\t\tl, err := size(buf[o:], wireType)\n\t\t\tif err != nil {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\to += l\n\t\t}\n\t\treturn false\n\t}\n\t// TODO: Check types, field numbers, etc.?\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn false\n\t}\n\textmap, mu := epb.extensionsRead()\n\tif extmap == nil {\n\t\treturn false\n\t}\n\tmu.Lock()\n\t_, ok = extmap[extension.Field]\n\tmu.Unlock()\n\treturn ok\n}\n\nfunc deleteExtension(pb extensionsBytes, theFieldNum int32, offset int) int {\n\text := pb.GetExtensions()\n\tfor offset < len(*ext) {\n\t\ttag, n1 := DecodeVarint((*ext)[offset:])\n\t\tfieldNum := int32(tag >> 3)\n\t\twireType := int(tag & 0x7)\n\t\tn2, err := size((*ext)[offset+n1:], wireType)\n\t\tif err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t\tnewOffset := offset + n1 + n2\n\t\tif fieldNum == theFieldNum {\n\t\t\t*ext = append((*ext)[:offset], (*ext)[newOffset:]...)\n\t\t\treturn offset\n\t\t}\n\t\toffset = newOffset\n\t}\n\treturn -1\n}\n\n// ClearExtension removes the given extension from pb.\nfunc ClearExtension(pb Message, extension *ExtensionDesc) {\n\tclearExtension(pb, extension.Field)\n}\n\nfunc clearExtension(pb Message, fieldNum int32) {\n\tif epb, doki := pb.(extensionsBytes); doki {\n\t\toffset := 0\n\t\tfor offset != -1 {\n\t\t\toffset = deleteExtension(epb, fieldNum, offset)\n\t\t}\n\t\treturn\n\t}\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn\n\t}\n\t// TODO: Check types, field numbers, etc.?\n\textmap := epb.extensionsWrite()\n\tdelete(extmap, fieldNum)\n}\n\n// GetExtension parses and returns the given extension of pb.\n// If the extension is not present and has no default value it returns ErrMissingExtension.\nfunc GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) {\n\tif epb, doki := pb.(extensionsBytes); doki {\n\t\text := epb.GetExtensions()\n\t\to := 0\n\t\tfor o < len(*ext) {\n\t\t\ttag, n := DecodeVarint((*ext)[o:])\n\t\t\tfieldNum := int32(tag >> 3)\n\t\t\twireType := int(tag & 0x7)\n\t\t\tl, err := size((*ext)[o+n:], wireType)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tif int32(fieldNum) == extension.Field {\n\t\t\t\tv, err := decodeExtension((*ext)[o:o+n+l], extension)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\treturn v, nil\n\t\t\t}\n\t\t\to += n + l\n\t\t}\n\t\treturn defaultExtensionValue(extension)\n\t}\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn nil, errors.New(\"proto: not an extendable proto\")\n\t}\n\tif err := checkExtensionTypes(epb, extension); err != nil {\n\t\treturn nil, err\n\t}\n\n\temap, mu := epb.extensionsRead()\n\tif emap == nil {\n\t\treturn defaultExtensionValue(extension)\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\te, ok := emap[extension.Field]\n\tif !ok {\n\t\t// defaultExtensionValue returns the default value or\n\t\t// ErrMissingExtension if there is no default.\n\t\treturn defaultExtensionValue(extension)\n\t}\n\n\tif e.value != nil {\n\t\t// Already decoded. Check the descriptor, though.\n\t\tif e.desc != extension {\n\t\t\t// This shouldn't happen. If it does, it means that\n\t\t\t// GetExtension was called twice with two different\n\t\t\t// descriptors with the same field number.\n\t\t\treturn nil, errors.New(\"proto: descriptor conflict\")\n\t\t}\n\t\treturn e.value, nil\n\t}\n\n\tv, err := decodeExtension(e.enc, extension)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Remember the decoded version and drop the encoded version.\n\t// That way it is safe to mutate what we return.\n\te.value = v\n\te.desc = extension\n\te.enc = nil\n\temap[extension.Field] = e\n\treturn e.value, nil\n}\n\n// defaultExtensionValue returns the default value for extension.\n// If no default for an extension is defined ErrMissingExtension is returned.\nfunc defaultExtensionValue(extension *ExtensionDesc) (interface{}, error) {\n\tt := reflect.TypeOf(extension.ExtensionType)\n\tprops := extensionProperties(extension)\n\n\tsf, _, err := fieldDefault(t, props)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif sf == nil || sf.value == nil {\n\t\t// There is no default value.\n\t\treturn nil, ErrMissingExtension\n\t}\n\n\tif t.Kind() != reflect.Ptr {\n\t\t// We do not need to return a Ptr, we can directly return sf.value.\n\t\treturn sf.value, nil\n\t}\n\n\t// We need to return an interface{} that is a pointer to sf.value.\n\tvalue := reflect.New(t).Elem()\n\tvalue.Set(reflect.New(value.Type().Elem()))\n\tif sf.kind == reflect.Int32 {\n\t\t// We may have an int32 or an enum, but the underlying data is int32.\n\t\t// Since we can't set an int32 into a non int32 reflect.value directly\n\t\t// set it as a int32.\n\t\tvalue.Elem().SetInt(int64(sf.value.(int32)))\n\t} else {\n\t\tvalue.Elem().Set(reflect.ValueOf(sf.value))\n\t}\n\treturn value.Interface(), nil\n}\n\n// decodeExtension decodes an extension encoded in b.\nfunc decodeExtension(b []byte, extension *ExtensionDesc) (interface{}, error) {\n\to := NewBuffer(b)\n\n\tt := reflect.TypeOf(extension.ExtensionType)\n\n\tprops := extensionProperties(extension)\n\n\t// t is a pointer to a struct, pointer to basic type or a slice.\n\t// Allocate a \"field\" to store the pointer/slice itself; the\n\t// pointer/slice will be stored here. We pass\n\t// the address of this field to props.dec.\n\t// This passes a zero field and a *t and lets props.dec\n\t// interpret it as a *struct{ x t }.\n\tvalue := reflect.New(t).Elem()\n\n\tfor {\n\t\t// Discard wire type and field number varint. It isn't needed.\n\t\tif _, err := o.DecodeVarint(); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tif err := props.dec(o, props, toStructPointer(value.Addr())); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tif o.index >= len(o.buf) {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn value.Interface(), nil\n}\n\n// GetExtensions returns a slice of the extensions present in pb that are also listed in es.\n// The returned slice has the same length as es; missing extensions will appear as nil elements.\nfunc GetExtensions(pb Message, es []*ExtensionDesc) (extensions []interface{}, err error) {\n\textensions = make([]interface{}, len(es))\n\tfor i, e := range es {\n\t\textensions[i], err = GetExtension(pb, e)\n\t\tif err == ErrMissingExtension {\n\t\t\terr = nil\n\t\t}\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\treturn\n}\n\n// ExtensionDescs returns a new slice containing pb's extension descriptors, in undefined order.\n// For non-registered extensions, ExtensionDescs returns an incomplete descriptor containing\n// just the Field field, which defines the extension's field number.\nfunc ExtensionDescs(pb Message) ([]*ExtensionDesc, error) {\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"proto: %T is not an extendable proto.Message\", pb)\n\t}\n\tregisteredExtensions := RegisteredExtensions(pb)\n\n\temap, mu := epb.extensionsRead()\n\tif emap == nil {\n\t\treturn nil, nil\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\textensions := make([]*ExtensionDesc, 0, len(emap))\n\tfor extid, e := range emap {\n\t\tdesc := e.desc\n\t\tif desc == nil {\n\t\t\tdesc = registeredExtensions[extid]\n\t\t\tif desc == nil {\n\t\t\t\tdesc = &ExtensionDesc{Field: extid}\n\t\t\t}\n\t\t}\n\n\t\textensions = append(extensions, desc)\n\t}\n\treturn extensions, nil\n}\n\n// SetExtension sets the specified extension of pb to the specified value.\nfunc SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error {\n\tif epb, doki := pb.(extensionsBytes); doki {\n\t\tClearExtension(pb, extension)\n\t\text := epb.GetExtensions()\n\t\tet := reflect.TypeOf(extension.ExtensionType)\n\t\tprops := extensionProperties(extension)\n\t\tp := NewBuffer(nil)\n\t\tx := reflect.New(et)\n\t\tx.Elem().Set(reflect.ValueOf(value))\n\t\tif err := props.enc(p, props, toStructPointer(x)); err != nil {\n\t\t\treturn err\n\t\t}\n\t\t*ext = append(*ext, p.buf...)\n\t\treturn nil\n\t}\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn errors.New(\"proto: not an extendable proto\")\n\t}\n\tif err := checkExtensionTypes(epb, extension); err != nil {\n\t\treturn err\n\t}\n\ttyp := reflect.TypeOf(extension.ExtensionType)\n\tif typ != reflect.TypeOf(value) {\n\t\treturn errors.New(\"proto: bad extension value type\")\n\t}\n\t// nil extension values need to be caught early, because the\n\t// encoder can't distinguish an ErrNil due to a nil extension\n\t// from an ErrNil due to a missing field. Extensions are\n\t// always optional, so the encoder would just swallow the error\n\t// and drop all the extensions from the encoded message.\n\tif reflect.ValueOf(value).IsNil() {\n\t\treturn fmt.Errorf(\"proto: SetExtension called with nil value of type %T\", value)\n\t}\n\n\textmap := epb.extensionsWrite()\n\textmap[extension.Field] = Extension{desc: extension, value: value}\n\treturn nil\n}\n\n// ClearAllExtensions clears all extensions from pb.\nfunc ClearAllExtensions(pb Message) {\n\tif epb, doki := pb.(extensionsBytes); doki {\n\t\text := epb.GetExtensions()\n\t\t*ext = []byte{}\n\t\treturn\n\t}\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn\n\t}\n\tm := epb.extensionsWrite()\n\tfor k := range m {\n\t\tdelete(m, k)\n\t}\n}\n\n// A global registry of extensions.\n// The generated code will register the generated descriptors by calling RegisterExtension.\n\nvar extensionMaps = make(map[reflect.Type]map[int32]*ExtensionDesc)\n\n// RegisterExtension is called from the generated code.\nfunc RegisterExtension(desc *ExtensionDesc) {\n\tst := reflect.TypeOf(desc.ExtendedType).Elem()\n\tm := extensionMaps[st]\n\tif m == nil {\n\t\tm = make(map[int32]*ExtensionDesc)\n\t\textensionMaps[st] = m\n\t}\n\tif _, ok := m[desc.Field]; ok {\n\t\tpanic(\"proto: duplicate extension registered: \" + st.String() + \" \" + strconv.Itoa(int(desc.Field)))\n\t}\n\tm[desc.Field] = desc\n}\n\n// RegisteredExtensions returns a map of the registered extensions of a\n// protocol buffer struct, indexed by the extension number.\n// The argument pb should be a nil pointer to the struct type.\nfunc RegisteredExtensions(pb Message) map[int32]*ExtensionDesc {\n\treturn extensionMaps[reflect.TypeOf(pb).Elem()]\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/extensions_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strings\"\n\t\"sync\"\n)\n\nfunc GetBoolExtension(pb Message, extension *ExtensionDesc, ifnotset bool) bool {\n\tif reflect.ValueOf(pb).IsNil() {\n\t\treturn ifnotset\n\t}\n\tvalue, err := GetExtension(pb, extension)\n\tif err != nil {\n\t\treturn ifnotset\n\t}\n\tif value == nil {\n\t\treturn ifnotset\n\t}\n\tif value.(*bool) == nil {\n\t\treturn ifnotset\n\t}\n\treturn *(value.(*bool))\n}\n\nfunc (this *Extension) Equal(that *Extension) bool {\n\treturn bytes.Equal(this.enc, that.enc)\n}\n\nfunc (this *Extension) Compare(that *Extension) int {\n\treturn bytes.Compare(this.enc, that.enc)\n}\n\nfunc SizeOfInternalExtension(m extendableProto) (n int) {\n\treturn SizeOfExtensionMap(m.extensionsWrite())\n}\n\nfunc SizeOfExtensionMap(m map[int32]Extension) (n int) {\n\treturn extensionsMapSize(m)\n}\n\ntype sortableMapElem struct {\n\tfield int32\n\text   Extension\n}\n\nfunc newSortableExtensionsFromMap(m map[int32]Extension) sortableExtensions {\n\ts := make(sortableExtensions, 0, len(m))\n\tfor k, v := range m {\n\t\ts = append(s, &sortableMapElem{field: k, ext: v})\n\t}\n\treturn s\n}\n\ntype sortableExtensions []*sortableMapElem\n\nfunc (this sortableExtensions) Len() int { return len(this) }\n\nfunc (this sortableExtensions) Swap(i, j int) { this[i], this[j] = this[j], this[i] }\n\nfunc (this sortableExtensions) Less(i, j int) bool { return this[i].field < this[j].field }\n\nfunc (this sortableExtensions) String() string {\n\tsort.Sort(this)\n\tss := make([]string, len(this))\n\tfor i := range this {\n\t\tss[i] = fmt.Sprintf(\"%d: %v\", this[i].field, this[i].ext)\n\t}\n\treturn \"map[\" + strings.Join(ss, \",\") + \"]\"\n}\n\nfunc StringFromInternalExtension(m extendableProto) string {\n\treturn StringFromExtensionsMap(m.extensionsWrite())\n}\n\nfunc StringFromExtensionsMap(m map[int32]Extension) string {\n\treturn newSortableExtensionsFromMap(m).String()\n}\n\nfunc StringFromExtensionsBytes(ext []byte) string {\n\tm, err := BytesToExtensionsMap(ext)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn StringFromExtensionsMap(m)\n}\n\nfunc EncodeInternalExtension(m extendableProto, data []byte) (n int, err error) {\n\treturn EncodeExtensionMap(m.extensionsWrite(), data)\n}\n\nfunc EncodeExtensionMap(m map[int32]Extension, data []byte) (n int, err error) {\n\tif err := encodeExtensionsMap(m); err != nil {\n\t\treturn 0, err\n\t}\n\tkeys := make([]int, 0, len(m))\n\tfor k := range m {\n\t\tkeys = append(keys, int(k))\n\t}\n\tsort.Ints(keys)\n\tfor _, k := range keys {\n\t\tn += copy(data[n:], m[int32(k)].enc)\n\t}\n\treturn n, nil\n}\n\nfunc GetRawExtension(m map[int32]Extension, id int32) ([]byte, error) {\n\tif m[id].value == nil || m[id].desc == nil {\n\t\treturn m[id].enc, nil\n\t}\n\tif err := encodeExtensionsMap(m); err != nil {\n\t\treturn nil, err\n\t}\n\treturn m[id].enc, nil\n}\n\nfunc size(buf []byte, wire int) (int, error) {\n\tswitch wire {\n\tcase WireVarint:\n\t\t_, n := DecodeVarint(buf)\n\t\treturn n, nil\n\tcase WireFixed64:\n\t\treturn 8, nil\n\tcase WireBytes:\n\t\tv, n := DecodeVarint(buf)\n\t\treturn int(v) + n, nil\n\tcase WireFixed32:\n\t\treturn 4, nil\n\tcase WireStartGroup:\n\t\toffset := 0\n\t\tfor {\n\t\t\tu, n := DecodeVarint(buf[offset:])\n\t\t\tfwire := int(u & 0x7)\n\t\t\toffset += n\n\t\t\tif fwire == WireEndGroup {\n\t\t\t\treturn offset, nil\n\t\t\t}\n\t\t\ts, err := size(buf[offset:], wire)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\toffset += s\n\t\t}\n\t}\n\treturn 0, fmt.Errorf(\"proto: can't get size for unknown wire type %d\", wire)\n}\n\nfunc BytesToExtensionsMap(buf []byte) (map[int32]Extension, error) {\n\tm := make(map[int32]Extension)\n\ti := 0\n\tfor i < len(buf) {\n\t\ttag, n := DecodeVarint(buf[i:])\n\t\tif n <= 0 {\n\t\t\treturn nil, fmt.Errorf(\"unable to decode varint\")\n\t\t}\n\t\tfieldNum := int32(tag >> 3)\n\t\twireType := int(tag & 0x7)\n\t\tl, err := size(buf[i+n:], wireType)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tend := i + int(l) + n\n\t\tm[int32(fieldNum)] = Extension{enc: buf[i:end]}\n\t\ti = end\n\t}\n\treturn m, nil\n}\n\nfunc NewExtension(e []byte) Extension {\n\tee := Extension{enc: make([]byte, len(e))}\n\tcopy(ee.enc, e)\n\treturn ee\n}\n\nfunc AppendExtension(e Message, tag int32, buf []byte) {\n\tif ee, eok := e.(extensionsBytes); eok {\n\t\text := ee.GetExtensions()\n\t\t*ext = append(*ext, buf...)\n\t\treturn\n\t}\n\tif ee, eok := e.(extendableProto); eok {\n\t\tm := ee.extensionsWrite()\n\t\text := m[int32(tag)] // may be missing\n\t\text.enc = append(ext.enc, buf...)\n\t\tm[int32(tag)] = ext\n\t}\n}\n\nfunc encodeExtension(e *Extension) error {\n\tif e.value == nil || e.desc == nil {\n\t\t// Extension is only in its encoded form.\n\t\treturn nil\n\t}\n\t// We don't skip extensions that have an encoded form set,\n\t// because the extension value may have been mutated after\n\t// the last time this function was called.\n\n\tet := reflect.TypeOf(e.desc.ExtensionType)\n\tprops := extensionProperties(e.desc)\n\n\tp := NewBuffer(nil)\n\t// If e.value has type T, the encoder expects a *struct{ X T }.\n\t// Pass a *T with a zero field and hope it all works out.\n\tx := reflect.New(et)\n\tx.Elem().Set(reflect.ValueOf(e.value))\n\tif err := props.enc(p, props, toStructPointer(x)); err != nil {\n\t\treturn err\n\t}\n\te.enc = p.buf\n\treturn nil\n}\n\nfunc (this Extension) GoString() string {\n\tif this.enc == nil {\n\t\tif err := encodeExtension(&this); err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t}\n\treturn fmt.Sprintf(\"proto.NewExtension(%#v)\", this.enc)\n}\n\nfunc SetUnsafeExtension(pb Message, fieldNum int32, value interface{}) error {\n\ttyp := reflect.TypeOf(pb).Elem()\n\text, ok := extensionMaps[typ]\n\tif !ok {\n\t\treturn fmt.Errorf(\"proto: bad extended type; %s is not extendable\", typ.String())\n\t}\n\tdesc, ok := ext[fieldNum]\n\tif !ok {\n\t\treturn errors.New(\"proto: bad extension number; not in declared ranges\")\n\t}\n\treturn SetExtension(pb, desc, value)\n}\n\nfunc GetUnsafeExtension(pb Message, fieldNum int32) (interface{}, error) {\n\ttyp := reflect.TypeOf(pb).Elem()\n\text, ok := extensionMaps[typ]\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"proto: bad extended type; %s is not extendable\", typ.String())\n\t}\n\tdesc, ok := ext[fieldNum]\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"unregistered field number %d\", fieldNum)\n\t}\n\treturn GetExtension(pb, desc)\n}\n\nfunc NewUnsafeXXX_InternalExtensions(m map[int32]Extension) XXX_InternalExtensions {\n\tx := &XXX_InternalExtensions{\n\t\tp: new(struct {\n\t\t\tmu           sync.Mutex\n\t\t\textensionMap map[int32]Extension\n\t\t}),\n\t}\n\tx.p.extensionMap = m\n\treturn *x\n}\n\nfunc GetUnsafeExtensionsMap(extendable Message) map[int32]Extension {\n\tpb := extendable.(extendableProto)\n\treturn pb.extensionsWrite()\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/lib.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/*\nPackage proto converts data structures to and from the wire format of\nprotocol buffers.  It works in concert with the Go source code generated\nfor .proto files by the protocol compiler.\n\nA summary of the properties of the protocol buffer interface\nfor a protocol buffer variable v:\n\n  - Names are turned from camel_case to CamelCase for export.\n  - There are no methods on v to set fields; just treat\n\tthem as structure fields.\n  - There are getters that return a field's value if set,\n\tand return the field's default value if unset.\n\tThe getters work even if the receiver is a nil message.\n  - The zero value for a struct is its correct initialization state.\n\tAll desired fields must be set before marshaling.\n  - A Reset() method will restore a protobuf struct to its zero state.\n  - Non-repeated fields are pointers to the values; nil means unset.\n\tThat is, optional or required field int32 f becomes F *int32.\n  - Repeated fields are slices.\n  - Helper functions are available to aid the setting of fields.\n\tmsg.Foo = proto.String(\"hello\") // set field\n  - Constants are defined to hold the default values of all fields that\n\thave them.  They have the form Default_StructName_FieldName.\n\tBecause the getter methods handle defaulted values,\n\tdirect use of these constants should be rare.\n  - Enums are given type names and maps from names to values.\n\tEnum values are prefixed by the enclosing message's name, or by the\n\tenum's type name if it is a top-level enum. Enum types have a String\n\tmethod, and a Enum method to assist in message construction.\n  - Nested messages, groups and enums have type names prefixed with the name of\n\tthe surrounding message type.\n  - Extensions are given descriptor names that start with E_,\n\tfollowed by an underscore-delimited list of the nested messages\n\tthat contain it (if any) followed by the CamelCased name of the\n\textension field itself.  HasExtension, ClearExtension, GetExtension\n\tand SetExtension are functions for manipulating extensions.\n  - Oneof field sets are given a single field in their message,\n\twith distinguished wrapper types for each possible field value.\n  - Marshal and Unmarshal are functions to encode and decode the wire format.\n\nWhen the .proto file specifies `syntax=\"proto3\"`, there are some differences:\n\n  - Non-repeated fields of non-message type are values instead of pointers.\n  - Enum types do not get an Enum method.\n\nThe simplest way to describe this is to see an example.\nGiven file test.proto, containing\n\n\tpackage example;\n\n\tenum FOO { X = 17; }\n\n\tmessage Test {\n\t  required string label = 1;\n\t  optional int32 type = 2 [default=77];\n\t  repeated int64 reps = 3;\n\t  optional group OptionalGroup = 4 {\n\t    required string RequiredField = 5;\n\t  }\n\t  oneof union {\n\t    int32 number = 6;\n\t    string name = 7;\n\t  }\n\t}\n\nThe resulting file, test.pb.go, is:\n\n\tpackage example\n\n\timport proto \"github.com/gogo/protobuf/proto\"\n\timport math \"math\"\n\n\ttype FOO int32\n\tconst (\n\t\tFOO_X FOO = 17\n\t)\n\tvar FOO_name = map[int32]string{\n\t\t17: \"X\",\n\t}\n\tvar FOO_value = map[string]int32{\n\t\t\"X\": 17,\n\t}\n\n\tfunc (x FOO) Enum() *FOO {\n\t\tp := new(FOO)\n\t\t*p = x\n\t\treturn p\n\t}\n\tfunc (x FOO) String() string {\n\t\treturn proto.EnumName(FOO_name, int32(x))\n\t}\n\tfunc (x *FOO) UnmarshalJSON(data []byte) error {\n\t\tvalue, err := proto.UnmarshalJSONEnum(FOO_value, data)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t*x = FOO(value)\n\t\treturn nil\n\t}\n\n\ttype Test struct {\n\t\tLabel         *string             `protobuf:\"bytes,1,req,name=label\" json:\"label,omitempty\"`\n\t\tType          *int32              `protobuf:\"varint,2,opt,name=type,def=77\" json:\"type,omitempty\"`\n\t\tReps          []int64             `protobuf:\"varint,3,rep,name=reps\" json:\"reps,omitempty\"`\n\t\tOptionalgroup *Test_OptionalGroup `protobuf:\"group,4,opt,name=OptionalGroup\" json:\"optionalgroup,omitempty\"`\n\t\t// Types that are valid to be assigned to Union:\n\t\t//\t*Test_Number\n\t\t//\t*Test_Name\n\t\tUnion            isTest_Union `protobuf_oneof:\"union\"`\n\t\tXXX_unrecognized []byte       `json:\"-\"`\n\t}\n\tfunc (m *Test) Reset()         { *m = Test{} }\n\tfunc (m *Test) String() string { return proto.CompactTextString(m) }\n\tfunc (*Test) ProtoMessage() {}\n\n\ttype isTest_Union interface {\n\t\tisTest_Union()\n\t}\n\n\ttype Test_Number struct {\n\t\tNumber int32 `protobuf:\"varint,6,opt,name=number\"`\n\t}\n\ttype Test_Name struct {\n\t\tName string `protobuf:\"bytes,7,opt,name=name\"`\n\t}\n\n\tfunc (*Test_Number) isTest_Union() {}\n\tfunc (*Test_Name) isTest_Union()   {}\n\n\tfunc (m *Test) GetUnion() isTest_Union {\n\t\tif m != nil {\n\t\t\treturn m.Union\n\t\t}\n\t\treturn nil\n\t}\n\tconst Default_Test_Type int32 = 77\n\n\tfunc (m *Test) GetLabel() string {\n\t\tif m != nil && m.Label != nil {\n\t\t\treturn *m.Label\n\t\t}\n\t\treturn \"\"\n\t}\n\n\tfunc (m *Test) GetType() int32 {\n\t\tif m != nil && m.Type != nil {\n\t\t\treturn *m.Type\n\t\t}\n\t\treturn Default_Test_Type\n\t}\n\n\tfunc (m *Test) GetOptionalgroup() *Test_OptionalGroup {\n\t\tif m != nil {\n\t\t\treturn m.Optionalgroup\n\t\t}\n\t\treturn nil\n\t}\n\n\ttype Test_OptionalGroup struct {\n\t\tRequiredField *string `protobuf:\"bytes,5,req\" json:\"RequiredField,omitempty\"`\n\t}\n\tfunc (m *Test_OptionalGroup) Reset()         { *m = Test_OptionalGroup{} }\n\tfunc (m *Test_OptionalGroup) String() string { return proto.CompactTextString(m) }\n\n\tfunc (m *Test_OptionalGroup) GetRequiredField() string {\n\t\tif m != nil && m.RequiredField != nil {\n\t\t\treturn *m.RequiredField\n\t\t}\n\t\treturn \"\"\n\t}\n\n\tfunc (m *Test) GetNumber() int32 {\n\t\tif x, ok := m.GetUnion().(*Test_Number); ok {\n\t\t\treturn x.Number\n\t\t}\n\t\treturn 0\n\t}\n\n\tfunc (m *Test) GetName() string {\n\t\tif x, ok := m.GetUnion().(*Test_Name); ok {\n\t\t\treturn x.Name\n\t\t}\n\t\treturn \"\"\n\t}\n\n\tfunc init() {\n\t\tproto.RegisterEnum(\"example.FOO\", FOO_name, FOO_value)\n\t}\n\nTo create and play with a Test object:\n\n\tpackage main\n\n\timport (\n\t\t\"log\"\n\n\t\t\"github.com/gogo/protobuf/proto\"\n\t\tpb \"./example.pb\"\n\t)\n\n\tfunc main() {\n\t\ttest := &pb.Test{\n\t\t\tLabel: proto.String(\"hello\"),\n\t\t\tType:  proto.Int32(17),\n\t\t\tReps:  []int64{1, 2, 3},\n\t\t\tOptionalgroup: &pb.Test_OptionalGroup{\n\t\t\t\tRequiredField: proto.String(\"good bye\"),\n\t\t\t},\n\t\t\tUnion: &pb.Test_Name{\"fred\"},\n\t\t}\n\t\tdata, err := proto.Marshal(test)\n\t\tif err != nil {\n\t\t\tlog.Fatal(\"marshaling error: \", err)\n\t\t}\n\t\tnewTest := &pb.Test{}\n\t\terr = proto.Unmarshal(data, newTest)\n\t\tif err != nil {\n\t\t\tlog.Fatal(\"unmarshaling error: \", err)\n\t\t}\n\t\t// Now test and newTest contain the same data.\n\t\tif test.GetLabel() != newTest.GetLabel() {\n\t\t\tlog.Fatalf(\"data mismatch %q != %q\", test.GetLabel(), newTest.GetLabel())\n\t\t}\n\t\t// Use a type switch to determine which oneof was set.\n\t\tswitch u := test.Union.(type) {\n\t\tcase *pb.Test_Number: // u.Number contains the number.\n\t\tcase *pb.Test_Name: // u.Name contains the string.\n\t\t}\n\t\t// etc.\n\t}\n*/\npackage proto\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"log\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strconv\"\n\t\"sync\"\n)\n\n// Message is implemented by generated protocol buffer messages.\ntype Message interface {\n\tReset()\n\tString() string\n\tProtoMessage()\n}\n\n// Stats records allocation details about the protocol buffer encoders\n// and decoders.  Useful for tuning the library itself.\ntype Stats struct {\n\tEmalloc uint64 // mallocs in encode\n\tDmalloc uint64 // mallocs in decode\n\tEncode  uint64 // number of encodes\n\tDecode  uint64 // number of decodes\n\tChit    uint64 // number of cache hits\n\tCmiss   uint64 // number of cache misses\n\tSize    uint64 // number of sizes\n}\n\n// Set to true to enable stats collection.\nconst collectStats = false\n\nvar stats Stats\n\n// GetStats returns a copy of the global Stats structure.\nfunc GetStats() Stats { return stats }\n\n// A Buffer is a buffer manager for marshaling and unmarshaling\n// protocol buffers.  It may be reused between invocations to\n// reduce memory usage.  It is not necessary to use a Buffer;\n// the global functions Marshal and Unmarshal create a\n// temporary Buffer and are fine for most applications.\ntype Buffer struct {\n\tbuf   []byte // encode/decode byte stream\n\tindex int    // read point\n\n\t// pools of basic types to amortize allocation.\n\tbools   []bool\n\tuint32s []uint32\n\tuint64s []uint64\n\n\t// extra pools, only used with pointer_reflect.go\n\tint32s   []int32\n\tint64s   []int64\n\tfloat32s []float32\n\tfloat64s []float64\n}\n\n// NewBuffer allocates a new Buffer and initializes its internal data to\n// the contents of the argument slice.\nfunc NewBuffer(e []byte) *Buffer {\n\treturn &Buffer{buf: e}\n}\n\n// Reset resets the Buffer, ready for marshaling a new protocol buffer.\nfunc (p *Buffer) Reset() {\n\tp.buf = p.buf[0:0] // for reading/writing\n\tp.index = 0        // for reading\n}\n\n// SetBuf replaces the internal buffer with the slice,\n// ready for unmarshaling the contents of the slice.\nfunc (p *Buffer) SetBuf(s []byte) {\n\tp.buf = s\n\tp.index = 0\n}\n\n// Bytes returns the contents of the Buffer.\nfunc (p *Buffer) Bytes() []byte { return p.buf }\n\n/*\n * Helper routines for simplifying the creation of optional fields of basic type.\n */\n\n// Bool is a helper routine that allocates a new bool value\n// to store v and returns a pointer to it.\nfunc Bool(v bool) *bool {\n\treturn &v\n}\n\n// Int32 is a helper routine that allocates a new int32 value\n// to store v and returns a pointer to it.\nfunc Int32(v int32) *int32 {\n\treturn &v\n}\n\n// Int is a helper routine that allocates a new int32 value\n// to store v and returns a pointer to it, but unlike Int32\n// its argument value is an int.\nfunc Int(v int) *int32 {\n\tp := new(int32)\n\t*p = int32(v)\n\treturn p\n}\n\n// Int64 is a helper routine that allocates a new int64 value\n// to store v and returns a pointer to it.\nfunc Int64(v int64) *int64 {\n\treturn &v\n}\n\n// Float32 is a helper routine that allocates a new float32 value\n// to store v and returns a pointer to it.\nfunc Float32(v float32) *float32 {\n\treturn &v\n}\n\n// Float64 is a helper routine that allocates a new float64 value\n// to store v and returns a pointer to it.\nfunc Float64(v float64) *float64 {\n\treturn &v\n}\n\n// Uint32 is a helper routine that allocates a new uint32 value\n// to store v and returns a pointer to it.\nfunc Uint32(v uint32) *uint32 {\n\treturn &v\n}\n\n// Uint64 is a helper routine that allocates a new uint64 value\n// to store v and returns a pointer to it.\nfunc Uint64(v uint64) *uint64 {\n\treturn &v\n}\n\n// String is a helper routine that allocates a new string value\n// to store v and returns a pointer to it.\nfunc String(v string) *string {\n\treturn &v\n}\n\n// EnumName is a helper function to simplify printing protocol buffer enums\n// by name.  Given an enum map and a value, it returns a useful string.\nfunc EnumName(m map[int32]string, v int32) string {\n\ts, ok := m[v]\n\tif ok {\n\t\treturn s\n\t}\n\treturn strconv.Itoa(int(v))\n}\n\n// UnmarshalJSONEnum is a helper function to simplify recovering enum int values\n// from their JSON-encoded representation. Given a map from the enum's symbolic\n// names to its int values, and a byte buffer containing the JSON-encoded\n// value, it returns an int32 that can be cast to the enum type by the caller.\n//\n// The function can deal with both JSON representations, numeric and symbolic.\nfunc UnmarshalJSONEnum(m map[string]int32, data []byte, enumName string) (int32, error) {\n\tif data[0] == '\"' {\n\t\t// New style: enums are strings.\n\t\tvar repr string\n\t\tif err := json.Unmarshal(data, &repr); err != nil {\n\t\t\treturn -1, err\n\t\t}\n\t\tval, ok := m[repr]\n\t\tif !ok {\n\t\t\treturn 0, fmt.Errorf(\"unrecognized enum %s value %q\", enumName, repr)\n\t\t}\n\t\treturn val, nil\n\t}\n\t// Old style: enums are ints.\n\tvar val int32\n\tif err := json.Unmarshal(data, &val); err != nil {\n\t\treturn 0, fmt.Errorf(\"cannot unmarshal %#q into enum %s\", data, enumName)\n\t}\n\treturn val, nil\n}\n\n// DebugPrint dumps the encoded data in b in a debugging format with a header\n// including the string s. Used in testing but made available for general debugging.\nfunc (p *Buffer) DebugPrint(s string, b []byte) {\n\tvar u uint64\n\n\tobuf := p.buf\n\tsindex := p.index\n\tp.buf = b\n\tp.index = 0\n\tdepth := 0\n\n\tfmt.Printf(\"\\n--- %s ---\\n\", s)\n\nout:\n\tfor {\n\t\tfor i := 0; i < depth; i++ {\n\t\t\tfmt.Print(\"  \")\n\t\t}\n\n\t\tindex := p.index\n\t\tif index == len(p.buf) {\n\t\t\tbreak\n\t\t}\n\n\t\top, err := p.DecodeVarint()\n\t\tif err != nil {\n\t\t\tfmt.Printf(\"%3d: fetching op err %v\\n\", index, err)\n\t\t\tbreak out\n\t\t}\n\t\ttag := op >> 3\n\t\twire := op & 7\n\n\t\tswitch wire {\n\t\tdefault:\n\t\t\tfmt.Printf(\"%3d: t=%3d unknown wire=%d\\n\",\n\t\t\t\tindex, tag, wire)\n\t\t\tbreak out\n\n\t\tcase WireBytes:\n\t\t\tvar r []byte\n\n\t\t\tr, err = p.DecodeRawBytes(false)\n\t\t\tif err != nil {\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d bytes [%d]\", index, tag, len(r))\n\t\t\tif len(r) <= 6 {\n\t\t\t\tfor i := 0; i < len(r); i++ {\n\t\t\t\t\tfmt.Printf(\" %.2x\", r[i])\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor i := 0; i < 3; i++ {\n\t\t\t\t\tfmt.Printf(\" %.2x\", r[i])\n\t\t\t\t}\n\t\t\t\tfmt.Printf(\" ..\")\n\t\t\t\tfor i := len(r) - 3; i < len(r); i++ {\n\t\t\t\t\tfmt.Printf(\" %.2x\", r[i])\n\t\t\t\t}\n\t\t\t}\n\t\t\tfmt.Printf(\"\\n\")\n\n\t\tcase WireFixed32:\n\t\t\tu, err = p.DecodeFixed32()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"%3d: t=%3d fix32 err %v\\n\", index, tag, err)\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d fix32 %d\\n\", index, tag, u)\n\n\t\tcase WireFixed64:\n\t\t\tu, err = p.DecodeFixed64()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"%3d: t=%3d fix64 err %v\\n\", index, tag, err)\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d fix64 %d\\n\", index, tag, u)\n\n\t\tcase WireVarint:\n\t\t\tu, err = p.DecodeVarint()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"%3d: t=%3d varint err %v\\n\", index, tag, err)\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d varint %d\\n\", index, tag, u)\n\n\t\tcase WireStartGroup:\n\t\t\tfmt.Printf(\"%3d: t=%3d start\\n\", index, tag)\n\t\t\tdepth++\n\n\t\tcase WireEndGroup:\n\t\t\tdepth--\n\t\t\tfmt.Printf(\"%3d: t=%3d end\\n\", index, tag)\n\t\t}\n\t}\n\n\tif depth != 0 {\n\t\tfmt.Printf(\"%3d: start-end not balanced %d\\n\", p.index, depth)\n\t}\n\tfmt.Printf(\"\\n\")\n\n\tp.buf = obuf\n\tp.index = sindex\n}\n\n// SetDefaults sets unset protocol buffer fields to their default values.\n// It only modifies fields that are both unset and have defined defaults.\n// It recursively sets default values in any non-nil sub-messages.\nfunc SetDefaults(pb Message) {\n\tsetDefaults(reflect.ValueOf(pb), true, false)\n}\n\n// v is a pointer to a struct.\nfunc setDefaults(v reflect.Value, recur, zeros bool) {\n\tv = v.Elem()\n\n\tdefaultMu.RLock()\n\tdm, ok := defaults[v.Type()]\n\tdefaultMu.RUnlock()\n\tif !ok {\n\t\tdm = buildDefaultMessage(v.Type())\n\t\tdefaultMu.Lock()\n\t\tdefaults[v.Type()] = dm\n\t\tdefaultMu.Unlock()\n\t}\n\n\tfor _, sf := range dm.scalars {\n\t\tf := v.Field(sf.index)\n\t\tif !f.IsNil() {\n\t\t\t// field already set\n\t\t\tcontinue\n\t\t}\n\t\tdv := sf.value\n\t\tif dv == nil && !zeros {\n\t\t\t// no explicit default, and don't want to set zeros\n\t\t\tcontinue\n\t\t}\n\t\tfptr := f.Addr().Interface() // **T\n\t\t// TODO: Consider batching the allocations we do here.\n\t\tswitch sf.kind {\n\t\tcase reflect.Bool:\n\t\t\tb := new(bool)\n\t\t\tif dv != nil {\n\t\t\t\t*b = dv.(bool)\n\t\t\t}\n\t\t\t*(fptr.(**bool)) = b\n\t\tcase reflect.Float32:\n\t\t\tf := new(float32)\n\t\t\tif dv != nil {\n\t\t\t\t*f = dv.(float32)\n\t\t\t}\n\t\t\t*(fptr.(**float32)) = f\n\t\tcase reflect.Float64:\n\t\t\tf := new(float64)\n\t\t\tif dv != nil {\n\t\t\t\t*f = dv.(float64)\n\t\t\t}\n\t\t\t*(fptr.(**float64)) = f\n\t\tcase reflect.Int32:\n\t\t\t// might be an enum\n\t\t\tif ft := f.Type(); ft != int32PtrType {\n\t\t\t\t// enum\n\t\t\t\tf.Set(reflect.New(ft.Elem()))\n\t\t\t\tif dv != nil {\n\t\t\t\t\tf.Elem().SetInt(int64(dv.(int32)))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// int32 field\n\t\t\t\ti := new(int32)\n\t\t\t\tif dv != nil {\n\t\t\t\t\t*i = dv.(int32)\n\t\t\t\t}\n\t\t\t\t*(fptr.(**int32)) = i\n\t\t\t}\n\t\tcase reflect.Int64:\n\t\t\ti := new(int64)\n\t\t\tif dv != nil {\n\t\t\t\t*i = dv.(int64)\n\t\t\t}\n\t\t\t*(fptr.(**int64)) = i\n\t\tcase reflect.String:\n\t\t\ts := new(string)\n\t\t\tif dv != nil {\n\t\t\t\t*s = dv.(string)\n\t\t\t}\n\t\t\t*(fptr.(**string)) = s\n\t\tcase reflect.Uint8:\n\t\t\t// exceptional case: []byte\n\t\t\tvar b []byte\n\t\t\tif dv != nil {\n\t\t\t\tdb := dv.([]byte)\n\t\t\t\tb = make([]byte, len(db))\n\t\t\t\tcopy(b, db)\n\t\t\t} else {\n\t\t\t\tb = []byte{}\n\t\t\t}\n\t\t\t*(fptr.(*[]byte)) = b\n\t\tcase reflect.Uint32:\n\t\t\tu := new(uint32)\n\t\t\tif dv != nil {\n\t\t\t\t*u = dv.(uint32)\n\t\t\t}\n\t\t\t*(fptr.(**uint32)) = u\n\t\tcase reflect.Uint64:\n\t\t\tu := new(uint64)\n\t\t\tif dv != nil {\n\t\t\t\t*u = dv.(uint64)\n\t\t\t}\n\t\t\t*(fptr.(**uint64)) = u\n\t\tdefault:\n\t\t\tlog.Printf(\"proto: can't set default for field %v (sf.kind=%v)\", f, sf.kind)\n\t\t}\n\t}\n\n\tfor _, ni := range dm.nested {\n\t\tf := v.Field(ni)\n\t\t// f is *T or []*T or map[T]*T\n\t\tswitch f.Kind() {\n\t\tcase reflect.Ptr:\n\t\t\tif f.IsNil() {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tsetDefaults(f, recur, zeros)\n\n\t\tcase reflect.Slice:\n\t\t\tfor i := 0; i < f.Len(); i++ {\n\t\t\t\te := f.Index(i)\n\t\t\t\tif e.IsNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tsetDefaults(e, recur, zeros)\n\t\t\t}\n\n\t\tcase reflect.Map:\n\t\t\tfor _, k := range f.MapKeys() {\n\t\t\t\te := f.MapIndex(k)\n\t\t\t\tif e.IsNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tsetDefaults(e, recur, zeros)\n\t\t\t}\n\t\t}\n\t}\n}\n\nvar (\n\t// defaults maps a protocol buffer struct type to a slice of the fields,\n\t// with its scalar fields set to their proto-declared non-zero default values.\n\tdefaultMu sync.RWMutex\n\tdefaults  = make(map[reflect.Type]defaultMessage)\n\n\tint32PtrType = reflect.TypeOf((*int32)(nil))\n)\n\n// defaultMessage represents information about the default values of a message.\ntype defaultMessage struct {\n\tscalars []scalarField\n\tnested  []int // struct field index of nested messages\n}\n\ntype scalarField struct {\n\tindex int          // struct field index\n\tkind  reflect.Kind // element type (the T in *T or []T)\n\tvalue interface{}  // the proto-declared default value, or nil\n}\n\n// t is a struct type.\nfunc buildDefaultMessage(t reflect.Type) (dm defaultMessage) {\n\tsprop := GetProperties(t)\n\tfor _, prop := range sprop.Prop {\n\t\tfi, ok := sprop.decoderTags.get(prop.Tag)\n\t\tif !ok {\n\t\t\t// XXX_unrecognized\n\t\t\tcontinue\n\t\t}\n\t\tft := t.Field(fi).Type\n\n\t\tsf, nested, err := fieldDefault(ft, prop)\n\t\tswitch {\n\t\tcase err != nil:\n\t\t\tlog.Print(err)\n\t\tcase nested:\n\t\t\tdm.nested = append(dm.nested, fi)\n\t\tcase sf != nil:\n\t\t\tsf.index = fi\n\t\t\tdm.scalars = append(dm.scalars, *sf)\n\t\t}\n\t}\n\n\treturn dm\n}\n\n// fieldDefault returns the scalarField for field type ft.\n// sf will be nil if the field can not have a default.\n// nestedMessage will be true if this is a nested message.\n// Note that sf.index is not set on return.\nfunc fieldDefault(ft reflect.Type, prop *Properties) (sf *scalarField, nestedMessage bool, err error) {\n\tvar canHaveDefault bool\n\tswitch ft.Kind() {\n\tcase reflect.Ptr:\n\t\tif ft.Elem().Kind() == reflect.Struct {\n\t\t\tnestedMessage = true\n\t\t} else {\n\t\t\tcanHaveDefault = true // proto2 scalar field\n\t\t}\n\n\tcase reflect.Slice:\n\t\tswitch ft.Elem().Kind() {\n\t\tcase reflect.Ptr:\n\t\t\tnestedMessage = true // repeated message\n\t\tcase reflect.Uint8:\n\t\t\tcanHaveDefault = true // bytes field\n\t\t}\n\n\tcase reflect.Map:\n\t\tif ft.Elem().Kind() == reflect.Ptr {\n\t\t\tnestedMessage = true // map with message values\n\t\t}\n\t}\n\n\tif !canHaveDefault {\n\t\tif nestedMessage {\n\t\t\treturn nil, true, nil\n\t\t}\n\t\treturn nil, false, nil\n\t}\n\n\t// We now know that ft is a pointer or slice.\n\tsf = &scalarField{kind: ft.Elem().Kind()}\n\n\t// scalar fields without defaults\n\tif !prop.HasDefault {\n\t\treturn sf, false, nil\n\t}\n\n\t// a scalar field: either *T or []byte\n\tswitch ft.Elem().Kind() {\n\tcase reflect.Bool:\n\t\tx, err := strconv.ParseBool(prop.Default)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default bool %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tcase reflect.Float32:\n\t\tx, err := strconv.ParseFloat(prop.Default, 32)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default float32 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = float32(x)\n\tcase reflect.Float64:\n\t\tx, err := strconv.ParseFloat(prop.Default, 64)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default float64 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tcase reflect.Int32:\n\t\tx, err := strconv.ParseInt(prop.Default, 10, 32)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default int32 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = int32(x)\n\tcase reflect.Int64:\n\t\tx, err := strconv.ParseInt(prop.Default, 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default int64 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tcase reflect.String:\n\t\tsf.value = prop.Default\n\tcase reflect.Uint8:\n\t\t// []byte (not *uint8)\n\t\tsf.value = []byte(prop.Default)\n\tcase reflect.Uint32:\n\t\tx, err := strconv.ParseUint(prop.Default, 10, 32)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default uint32 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = uint32(x)\n\tcase reflect.Uint64:\n\t\tx, err := strconv.ParseUint(prop.Default, 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default uint64 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tdefault:\n\t\treturn nil, false, fmt.Errorf(\"proto: unhandled def kind %v\", ft.Elem().Kind())\n\t}\n\n\treturn sf, false, nil\n}\n\n// Map fields may have key types of non-float scalars, strings and enums.\n// The easiest way to sort them in some deterministic order is to use fmt.\n// If this turns out to be inefficient we can always consider other options,\n// such as doing a Schwartzian transform.\n\nfunc mapKeys(vs []reflect.Value) sort.Interface {\n\ts := mapKeySorter{\n\t\tvs: vs,\n\t\t// default Less function: textual comparison\n\t\tless: func(a, b reflect.Value) bool {\n\t\t\treturn fmt.Sprint(a.Interface()) < fmt.Sprint(b.Interface())\n\t\t},\n\t}\n\n\t// Type specialization per https://developers.google.com/protocol-buffers/docs/proto#maps;\n\t// numeric keys are sorted numerically.\n\tif len(vs) == 0 {\n\t\treturn s\n\t}\n\tswitch vs[0].Kind() {\n\tcase reflect.Int32, reflect.Int64:\n\t\ts.less = func(a, b reflect.Value) bool { return a.Int() < b.Int() }\n\tcase reflect.Uint32, reflect.Uint64:\n\t\ts.less = func(a, b reflect.Value) bool { return a.Uint() < b.Uint() }\n\t}\n\n\treturn s\n}\n\ntype mapKeySorter struct {\n\tvs   []reflect.Value\n\tless func(a, b reflect.Value) bool\n}\n\nfunc (s mapKeySorter) Len() int      { return len(s.vs) }\nfunc (s mapKeySorter) Swap(i, j int) { s.vs[i], s.vs[j] = s.vs[j], s.vs[i] }\nfunc (s mapKeySorter) Less(i, j int) bool {\n\treturn s.less(s.vs[i], s.vs[j])\n}\n\n// isProto3Zero reports whether v is a zero proto3 value.\nfunc isProto3Zero(v reflect.Value) bool {\n\tswitch v.Kind() {\n\tcase reflect.Bool:\n\t\treturn !v.Bool()\n\tcase reflect.Int32, reflect.Int64:\n\t\treturn v.Int() == 0\n\tcase reflect.Uint32, reflect.Uint64:\n\t\treturn v.Uint() == 0\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v.Float() == 0\n\tcase reflect.String:\n\t\treturn v.String() == \"\"\n\t}\n\treturn false\n}\n\n// ProtoPackageIsVersion2 is referenced from generated protocol buffer files\n// to assert that that code is compatible with this version of the proto package.\nconst GoGoProtoPackageIsVersion2 = true\n\n// ProtoPackageIsVersion1 is referenced from generated protocol buffer files\n// to assert that that code is compatible with this version of the proto package.\nconst GoGoProtoPackageIsVersion1 = true\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/lib_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"encoding/json\"\n\t\"strconv\"\n)\n\nfunc MarshalJSONEnum(m map[int32]string, value int32) ([]byte, error) {\n\ts, ok := m[value]\n\tif !ok {\n\t\ts = strconv.Itoa(int(value))\n\t}\n\treturn json.Marshal(s)\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/message_set.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Support for message sets.\n */\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"sort\"\n)\n\n// errNoMessageTypeID occurs when a protocol buffer does not have a message type ID.\n// A message type ID is required for storing a protocol buffer in a message set.\nvar errNoMessageTypeID = errors.New(\"proto does not have a message type ID\")\n\n// The first two types (_MessageSet_Item and messageSet)\n// model what the protocol compiler produces for the following protocol message:\n//   message MessageSet {\n//     repeated group Item = 1 {\n//       required int32 type_id = 2;\n//       required string message = 3;\n//     };\n//   }\n// That is the MessageSet wire format. We can't use a proto to generate these\n// because that would introduce a circular dependency between it and this package.\n\ntype _MessageSet_Item struct {\n\tTypeId  *int32 `protobuf:\"varint,2,req,name=type_id\"`\n\tMessage []byte `protobuf:\"bytes,3,req,name=message\"`\n}\n\ntype messageSet struct {\n\tItem             []*_MessageSet_Item `protobuf:\"group,1,rep\"`\n\tXXX_unrecognized []byte\n\t// TODO: caching?\n}\n\n// Make sure messageSet is a Message.\nvar _ Message = (*messageSet)(nil)\n\n// messageTypeIder is an interface satisfied by a protocol buffer type\n// that may be stored in a MessageSet.\ntype messageTypeIder interface {\n\tMessageTypeId() int32\n}\n\nfunc (ms *messageSet) find(pb Message) *_MessageSet_Item {\n\tmti, ok := pb.(messageTypeIder)\n\tif !ok {\n\t\treturn nil\n\t}\n\tid := mti.MessageTypeId()\n\tfor _, item := range ms.Item {\n\t\tif *item.TypeId == id {\n\t\t\treturn item\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (ms *messageSet) Has(pb Message) bool {\n\tif ms.find(pb) != nil {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc (ms *messageSet) Unmarshal(pb Message) error {\n\tif item := ms.find(pb); item != nil {\n\t\treturn Unmarshal(item.Message, pb)\n\t}\n\tif _, ok := pb.(messageTypeIder); !ok {\n\t\treturn errNoMessageTypeID\n\t}\n\treturn nil // TODO: return error instead?\n}\n\nfunc (ms *messageSet) Marshal(pb Message) error {\n\tmsg, err := Marshal(pb)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif item := ms.find(pb); item != nil {\n\t\t// reuse existing item\n\t\titem.Message = msg\n\t\treturn nil\n\t}\n\n\tmti, ok := pb.(messageTypeIder)\n\tif !ok {\n\t\treturn errNoMessageTypeID\n\t}\n\n\tmtid := mti.MessageTypeId()\n\tms.Item = append(ms.Item, &_MessageSet_Item{\n\t\tTypeId:  &mtid,\n\t\tMessage: msg,\n\t})\n\treturn nil\n}\n\nfunc (ms *messageSet) Reset()         { *ms = messageSet{} }\nfunc (ms *messageSet) String() string { return CompactTextString(ms) }\nfunc (*messageSet) ProtoMessage()     {}\n\n// Support for the message_set_wire_format message option.\n\nfunc skipVarint(buf []byte) []byte {\n\ti := 0\n\tfor ; buf[i]&0x80 != 0; i++ {\n\t}\n\treturn buf[i+1:]\n}\n\n// MarshalMessageSet encodes the extension map represented by m in the message set wire format.\n// It is called by generated Marshal methods on protocol buffer messages with the message_set_wire_format option.\nfunc MarshalMessageSet(exts interface{}) ([]byte, error) {\n\tvar m map[int32]Extension\n\tswitch exts := exts.(type) {\n\tcase *XXX_InternalExtensions:\n\t\tif err := encodeExtensions(exts); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tm, _ = exts.extensionsRead()\n\tcase map[int32]Extension:\n\t\tif err := encodeExtensionsMap(exts); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tm = exts\n\tdefault:\n\t\treturn nil, errors.New(\"proto: not an extension map\")\n\t}\n\n\t// Sort extension IDs to provide a deterministic encoding.\n\t// See also enc_map in encode.go.\n\tids := make([]int, 0, len(m))\n\tfor id := range m {\n\t\tids = append(ids, int(id))\n\t}\n\tsort.Ints(ids)\n\n\tms := &messageSet{Item: make([]*_MessageSet_Item, 0, len(m))}\n\tfor _, id := range ids {\n\t\te := m[int32(id)]\n\t\t// Remove the wire type and field number varint, as well as the length varint.\n\t\tmsg := skipVarint(skipVarint(e.enc))\n\n\t\tms.Item = append(ms.Item, &_MessageSet_Item{\n\t\t\tTypeId:  Int32(int32(id)),\n\t\t\tMessage: msg,\n\t\t})\n\t}\n\treturn Marshal(ms)\n}\n\n// UnmarshalMessageSet decodes the extension map encoded in buf in the message set wire format.\n// It is called by generated Unmarshal methods on protocol buffer messages with the message_set_wire_format option.\nfunc UnmarshalMessageSet(buf []byte, exts interface{}) error {\n\tvar m map[int32]Extension\n\tswitch exts := exts.(type) {\n\tcase *XXX_InternalExtensions:\n\t\tm = exts.extensionsWrite()\n\tcase map[int32]Extension:\n\t\tm = exts\n\tdefault:\n\t\treturn errors.New(\"proto: not an extension map\")\n\t}\n\n\tms := new(messageSet)\n\tif err := Unmarshal(buf, ms); err != nil {\n\t\treturn err\n\t}\n\tfor _, item := range ms.Item {\n\t\tid := *item.TypeId\n\t\tmsg := item.Message\n\n\t\t// Restore wire type and field number varint, plus length varint.\n\t\t// Be careful to preserve duplicate items.\n\t\tb := EncodeVarint(uint64(id)<<3 | WireBytes)\n\t\tif ext, ok := m[id]; ok {\n\t\t\t// Existing data; rip off the tag and length varint\n\t\t\t// so we join the new data correctly.\n\t\t\t// We can assume that ext.enc is set because we are unmarshaling.\n\t\t\to := ext.enc[len(b):]   // skip wire type and field number\n\t\t\t_, n := DecodeVarint(o) // calculate length of length varint\n\t\t\to = o[n:]               // skip length varint\n\t\t\tmsg = append(o, msg...) // join old data and new data\n\t\t}\n\t\tb = append(b, EncodeVarint(uint64(len(msg)))...)\n\t\tb = append(b, msg...)\n\n\t\tm[id] = Extension{enc: b}\n\t}\n\treturn nil\n}\n\n// MarshalMessageSetJSON encodes the extension map represented by m in JSON format.\n// It is called by generated MarshalJSON methods on protocol buffer messages with the message_set_wire_format option.\nfunc MarshalMessageSetJSON(exts interface{}) ([]byte, error) {\n\tvar m map[int32]Extension\n\tswitch exts := exts.(type) {\n\tcase *XXX_InternalExtensions:\n\t\tm, _ = exts.extensionsRead()\n\tcase map[int32]Extension:\n\t\tm = exts\n\tdefault:\n\t\treturn nil, errors.New(\"proto: not an extension map\")\n\t}\n\tvar b bytes.Buffer\n\tb.WriteByte('{')\n\n\t// Process the map in key order for deterministic output.\n\tids := make([]int32, 0, len(m))\n\tfor id := range m {\n\t\tids = append(ids, id)\n\t}\n\tsort.Sort(int32Slice(ids)) // int32Slice defined in text.go\n\n\tfor i, id := range ids {\n\t\text := m[id]\n\t\tif i > 0 {\n\t\t\tb.WriteByte(',')\n\t\t}\n\n\t\tmsd, ok := messageSetMap[id]\n\t\tif !ok {\n\t\t\t// Unknown type; we can't render it, so skip it.\n\t\t\tcontinue\n\t\t}\n\t\tfmt.Fprintf(&b, `\"[%s]\":`, msd.name)\n\n\t\tx := ext.value\n\t\tif x == nil {\n\t\t\tx = reflect.New(msd.t.Elem()).Interface()\n\t\t\tif err := Unmarshal(ext.enc, x.(Message)); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\td, err := json.Marshal(x)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tb.Write(d)\n\t}\n\tb.WriteByte('}')\n\treturn b.Bytes(), nil\n}\n\n// UnmarshalMessageSetJSON decodes the extension map encoded in buf in JSON format.\n// It is called by generated UnmarshalJSON methods on protocol buffer messages with the message_set_wire_format option.\nfunc UnmarshalMessageSetJSON(buf []byte, exts interface{}) error {\n\t// Common-case fast path.\n\tif len(buf) == 0 || bytes.Equal(buf, []byte(\"{}\")) {\n\t\treturn nil\n\t}\n\n\t// This is fairly tricky, and it's not clear that it is needed.\n\treturn errors.New(\"TODO: UnmarshalMessageSetJSON not yet implemented\")\n}\n\n// A global registry of types that can be used in a MessageSet.\n\nvar messageSetMap = make(map[int32]messageSetDesc)\n\ntype messageSetDesc struct {\n\tt    reflect.Type // pointer to struct\n\tname string\n}\n\n// RegisterMessageSetType is called from the generated code.\nfunc RegisterMessageSetType(m Message, fieldNum int32, name string) {\n\tmessageSetMap[fieldNum] = messageSetDesc{\n\t\tt:    reflect.TypeOf(m),\n\t\tname: name,\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/pointer_reflect.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2012 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// +build appengine js\n\n// This file contains an implementation of proto field accesses using package reflect.\n// It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can\n// be used on App Engine.\n\npackage proto\n\nimport (\n\t\"math\"\n\t\"reflect\"\n)\n\n// A structPointer is a pointer to a struct.\ntype structPointer struct {\n\tv reflect.Value\n}\n\n// toStructPointer returns a structPointer equivalent to the given reflect value.\n// The reflect value must itself be a pointer to a struct.\nfunc toStructPointer(v reflect.Value) structPointer {\n\treturn structPointer{v}\n}\n\n// IsNil reports whether p is nil.\nfunc structPointer_IsNil(p structPointer) bool {\n\treturn p.v.IsNil()\n}\n\n// Interface returns the struct pointer as an interface value.\nfunc structPointer_Interface(p structPointer, _ reflect.Type) interface{} {\n\treturn p.v.Interface()\n}\n\n// A field identifies a field in a struct, accessible from a structPointer.\n// In this implementation, a field is identified by the sequence of field indices\n// passed to reflect's FieldByIndex.\ntype field []int\n\n// toField returns a field equivalent to the given reflect field.\nfunc toField(f *reflect.StructField) field {\n\treturn f.Index\n}\n\n// invalidField is an invalid field identifier.\nvar invalidField = field(nil)\n\n// IsValid reports whether the field identifier is valid.\nfunc (f field) IsValid() bool { return f != nil }\n\n// field returns the given field in the struct as a reflect value.\nfunc structPointer_field(p structPointer, f field) reflect.Value {\n\t// Special case: an extension map entry with a value of type T\n\t// passes a *T to the struct-handling code with a zero field,\n\t// expecting that it will be treated as equivalent to *struct{ X T },\n\t// which has the same memory layout. We have to handle that case\n\t// specially, because reflect will panic if we call FieldByIndex on a\n\t// non-struct.\n\tif f == nil {\n\t\treturn p.v.Elem()\n\t}\n\n\treturn p.v.Elem().FieldByIndex(f)\n}\n\n// ifield returns the given field in the struct as an interface value.\nfunc structPointer_ifield(p structPointer, f field) interface{} {\n\treturn structPointer_field(p, f).Addr().Interface()\n}\n\n// Bytes returns the address of a []byte field in the struct.\nfunc structPointer_Bytes(p structPointer, f field) *[]byte {\n\treturn structPointer_ifield(p, f).(*[]byte)\n}\n\n// BytesSlice returns the address of a [][]byte field in the struct.\nfunc structPointer_BytesSlice(p structPointer, f field) *[][]byte {\n\treturn structPointer_ifield(p, f).(*[][]byte)\n}\n\n// Bool returns the address of a *bool field in the struct.\nfunc structPointer_Bool(p structPointer, f field) **bool {\n\treturn structPointer_ifield(p, f).(**bool)\n}\n\n// BoolVal returns the address of a bool field in the struct.\nfunc structPointer_BoolVal(p structPointer, f field) *bool {\n\treturn structPointer_ifield(p, f).(*bool)\n}\n\n// BoolSlice returns the address of a []bool field in the struct.\nfunc structPointer_BoolSlice(p structPointer, f field) *[]bool {\n\treturn structPointer_ifield(p, f).(*[]bool)\n}\n\n// String returns the address of a *string field in the struct.\nfunc structPointer_String(p structPointer, f field) **string {\n\treturn structPointer_ifield(p, f).(**string)\n}\n\n// StringVal returns the address of a string field in the struct.\nfunc structPointer_StringVal(p structPointer, f field) *string {\n\treturn structPointer_ifield(p, f).(*string)\n}\n\n// StringSlice returns the address of a []string field in the struct.\nfunc structPointer_StringSlice(p structPointer, f field) *[]string {\n\treturn structPointer_ifield(p, f).(*[]string)\n}\n\n// Extensions returns the address of an extension map field in the struct.\nfunc structPointer_Extensions(p structPointer, f field) *XXX_InternalExtensions {\n\treturn structPointer_ifield(p, f).(*XXX_InternalExtensions)\n}\n\n// ExtMap returns the address of an extension map field in the struct.\nfunc structPointer_ExtMap(p structPointer, f field) *map[int32]Extension {\n\treturn structPointer_ifield(p, f).(*map[int32]Extension)\n}\n\n// NewAt returns the reflect.Value for a pointer to a field in the struct.\nfunc structPointer_NewAt(p structPointer, f field, typ reflect.Type) reflect.Value {\n\treturn structPointer_field(p, f).Addr()\n}\n\n// SetStructPointer writes a *struct field in the struct.\nfunc structPointer_SetStructPointer(p structPointer, f field, q structPointer) {\n\tstructPointer_field(p, f).Set(q.v)\n}\n\n// GetStructPointer reads a *struct field in the struct.\nfunc structPointer_GetStructPointer(p structPointer, f field) structPointer {\n\treturn structPointer{structPointer_field(p, f)}\n}\n\n// StructPointerSlice the address of a []*struct field in the struct.\nfunc structPointer_StructPointerSlice(p structPointer, f field) structPointerSlice {\n\treturn structPointerSlice{structPointer_field(p, f)}\n}\n\n// A structPointerSlice represents the address of a slice of pointers to structs\n// (themselves messages or groups). That is, v.Type() is *[]*struct{...}.\ntype structPointerSlice struct {\n\tv reflect.Value\n}\n\nfunc (p structPointerSlice) Len() int                  { return p.v.Len() }\nfunc (p structPointerSlice) Index(i int) structPointer { return structPointer{p.v.Index(i)} }\nfunc (p structPointerSlice) Append(q structPointer) {\n\tp.v.Set(reflect.Append(p.v, q.v))\n}\n\nvar (\n\tint32Type   = reflect.TypeOf(int32(0))\n\tuint32Type  = reflect.TypeOf(uint32(0))\n\tfloat32Type = reflect.TypeOf(float32(0))\n\tint64Type   = reflect.TypeOf(int64(0))\n\tuint64Type  = reflect.TypeOf(uint64(0))\n\tfloat64Type = reflect.TypeOf(float64(0))\n)\n\n// A word32 represents a field of type *int32, *uint32, *float32, or *enum.\n// That is, v.Type() is *int32, *uint32, *float32, or *enum and v is assignable.\ntype word32 struct {\n\tv reflect.Value\n}\n\n// IsNil reports whether p is nil.\nfunc word32_IsNil(p word32) bool {\n\treturn p.v.IsNil()\n}\n\n// Set sets p to point at a newly allocated word with bits set to x.\nfunc word32_Set(p word32, o *Buffer, x uint32) {\n\tt := p.v.Type().Elem()\n\tswitch t {\n\tcase int32Type:\n\t\tif len(o.int32s) == 0 {\n\t\t\to.int32s = make([]int32, uint32PoolSize)\n\t\t}\n\t\to.int32s[0] = int32(x)\n\t\tp.v.Set(reflect.ValueOf(&o.int32s[0]))\n\t\to.int32s = o.int32s[1:]\n\t\treturn\n\tcase uint32Type:\n\t\tif len(o.uint32s) == 0 {\n\t\t\to.uint32s = make([]uint32, uint32PoolSize)\n\t\t}\n\t\to.uint32s[0] = x\n\t\tp.v.Set(reflect.ValueOf(&o.uint32s[0]))\n\t\to.uint32s = o.uint32s[1:]\n\t\treturn\n\tcase float32Type:\n\t\tif len(o.float32s) == 0 {\n\t\t\to.float32s = make([]float32, uint32PoolSize)\n\t\t}\n\t\to.float32s[0] = math.Float32frombits(x)\n\t\tp.v.Set(reflect.ValueOf(&o.float32s[0]))\n\t\to.float32s = o.float32s[1:]\n\t\treturn\n\t}\n\n\t// must be enum\n\tp.v.Set(reflect.New(t))\n\tp.v.Elem().SetInt(int64(int32(x)))\n}\n\n// Get gets the bits pointed at by p, as a uint32.\nfunc word32_Get(p word32) uint32 {\n\telem := p.v.Elem()\n\tswitch elem.Kind() {\n\tcase reflect.Int32:\n\t\treturn uint32(elem.Int())\n\tcase reflect.Uint32:\n\t\treturn uint32(elem.Uint())\n\tcase reflect.Float32:\n\t\treturn math.Float32bits(float32(elem.Float()))\n\t}\n\tpanic(\"unreachable\")\n}\n\n// Word32 returns a reference to a *int32, *uint32, *float32, or *enum field in the struct.\nfunc structPointer_Word32(p structPointer, f field) word32 {\n\treturn word32{structPointer_field(p, f)}\n}\n\n// A word32Val represents a field of type int32, uint32, float32, or enum.\n// That is, v.Type() is int32, uint32, float32, or enum and v is assignable.\ntype word32Val struct {\n\tv reflect.Value\n}\n\n// Set sets *p to x.\nfunc word32Val_Set(p word32Val, x uint32) {\n\tswitch p.v.Type() {\n\tcase int32Type:\n\t\tp.v.SetInt(int64(x))\n\t\treturn\n\tcase uint32Type:\n\t\tp.v.SetUint(uint64(x))\n\t\treturn\n\tcase float32Type:\n\t\tp.v.SetFloat(float64(math.Float32frombits(x)))\n\t\treturn\n\t}\n\n\t// must be enum\n\tp.v.SetInt(int64(int32(x)))\n}\n\n// Get gets the bits pointed at by p, as a uint32.\nfunc word32Val_Get(p word32Val) uint32 {\n\telem := p.v\n\tswitch elem.Kind() {\n\tcase reflect.Int32:\n\t\treturn uint32(elem.Int())\n\tcase reflect.Uint32:\n\t\treturn uint32(elem.Uint())\n\tcase reflect.Float32:\n\t\treturn math.Float32bits(float32(elem.Float()))\n\t}\n\tpanic(\"unreachable\")\n}\n\n// Word32Val returns a reference to a int32, uint32, float32, or enum field in the struct.\nfunc structPointer_Word32Val(p structPointer, f field) word32Val {\n\treturn word32Val{structPointer_field(p, f)}\n}\n\n// A word32Slice is a slice of 32-bit values.\n// That is, v.Type() is []int32, []uint32, []float32, or []enum.\ntype word32Slice struct {\n\tv reflect.Value\n}\n\nfunc (p word32Slice) Append(x uint32) {\n\tn, m := p.v.Len(), p.v.Cap()\n\tif n < m {\n\t\tp.v.SetLen(n + 1)\n\t} else {\n\t\tt := p.v.Type().Elem()\n\t\tp.v.Set(reflect.Append(p.v, reflect.Zero(t)))\n\t}\n\telem := p.v.Index(n)\n\tswitch elem.Kind() {\n\tcase reflect.Int32:\n\t\telem.SetInt(int64(int32(x)))\n\tcase reflect.Uint32:\n\t\telem.SetUint(uint64(x))\n\tcase reflect.Float32:\n\t\telem.SetFloat(float64(math.Float32frombits(x)))\n\t}\n}\n\nfunc (p word32Slice) Len() int {\n\treturn p.v.Len()\n}\n\nfunc (p word32Slice) Index(i int) uint32 {\n\telem := p.v.Index(i)\n\tswitch elem.Kind() {\n\tcase reflect.Int32:\n\t\treturn uint32(elem.Int())\n\tcase reflect.Uint32:\n\t\treturn uint32(elem.Uint())\n\tcase reflect.Float32:\n\t\treturn math.Float32bits(float32(elem.Float()))\n\t}\n\tpanic(\"unreachable\")\n}\n\n// Word32Slice returns a reference to a []int32, []uint32, []float32, or []enum field in the struct.\nfunc structPointer_Word32Slice(p structPointer, f field) word32Slice {\n\treturn word32Slice{structPointer_field(p, f)}\n}\n\n// word64 is like word32 but for 64-bit values.\ntype word64 struct {\n\tv reflect.Value\n}\n\nfunc word64_Set(p word64, o *Buffer, x uint64) {\n\tt := p.v.Type().Elem()\n\tswitch t {\n\tcase int64Type:\n\t\tif len(o.int64s) == 0 {\n\t\t\to.int64s = make([]int64, uint64PoolSize)\n\t\t}\n\t\to.int64s[0] = int64(x)\n\t\tp.v.Set(reflect.ValueOf(&o.int64s[0]))\n\t\to.int64s = o.int64s[1:]\n\t\treturn\n\tcase uint64Type:\n\t\tif len(o.uint64s) == 0 {\n\t\t\to.uint64s = make([]uint64, uint64PoolSize)\n\t\t}\n\t\to.uint64s[0] = x\n\t\tp.v.Set(reflect.ValueOf(&o.uint64s[0]))\n\t\to.uint64s = o.uint64s[1:]\n\t\treturn\n\tcase float64Type:\n\t\tif len(o.float64s) == 0 {\n\t\t\to.float64s = make([]float64, uint64PoolSize)\n\t\t}\n\t\to.float64s[0] = math.Float64frombits(x)\n\t\tp.v.Set(reflect.ValueOf(&o.float64s[0]))\n\t\to.float64s = o.float64s[1:]\n\t\treturn\n\t}\n\tpanic(\"unreachable\")\n}\n\nfunc word64_IsNil(p word64) bool {\n\treturn p.v.IsNil()\n}\n\nfunc word64_Get(p word64) uint64 {\n\telem := p.v.Elem()\n\tswitch elem.Kind() {\n\tcase reflect.Int64:\n\t\treturn uint64(elem.Int())\n\tcase reflect.Uint64:\n\t\treturn elem.Uint()\n\tcase reflect.Float64:\n\t\treturn math.Float64bits(elem.Float())\n\t}\n\tpanic(\"unreachable\")\n}\n\nfunc structPointer_Word64(p structPointer, f field) word64 {\n\treturn word64{structPointer_field(p, f)}\n}\n\n// word64Val is like word32Val but for 64-bit values.\ntype word64Val struct {\n\tv reflect.Value\n}\n\nfunc word64Val_Set(p word64Val, o *Buffer, x uint64) {\n\tswitch p.v.Type() {\n\tcase int64Type:\n\t\tp.v.SetInt(int64(x))\n\t\treturn\n\tcase uint64Type:\n\t\tp.v.SetUint(x)\n\t\treturn\n\tcase float64Type:\n\t\tp.v.SetFloat(math.Float64frombits(x))\n\t\treturn\n\t}\n\tpanic(\"unreachable\")\n}\n\nfunc word64Val_Get(p word64Val) uint64 {\n\telem := p.v\n\tswitch elem.Kind() {\n\tcase reflect.Int64:\n\t\treturn uint64(elem.Int())\n\tcase reflect.Uint64:\n\t\treturn elem.Uint()\n\tcase reflect.Float64:\n\t\treturn math.Float64bits(elem.Float())\n\t}\n\tpanic(\"unreachable\")\n}\n\nfunc structPointer_Word64Val(p structPointer, f field) word64Val {\n\treturn word64Val{structPointer_field(p, f)}\n}\n\ntype word64Slice struct {\n\tv reflect.Value\n}\n\nfunc (p word64Slice) Append(x uint64) {\n\tn, m := p.v.Len(), p.v.Cap()\n\tif n < m {\n\t\tp.v.SetLen(n + 1)\n\t} else {\n\t\tt := p.v.Type().Elem()\n\t\tp.v.Set(reflect.Append(p.v, reflect.Zero(t)))\n\t}\n\telem := p.v.Index(n)\n\tswitch elem.Kind() {\n\tcase reflect.Int64:\n\t\telem.SetInt(int64(int64(x)))\n\tcase reflect.Uint64:\n\t\telem.SetUint(uint64(x))\n\tcase reflect.Float64:\n\t\telem.SetFloat(float64(math.Float64frombits(x)))\n\t}\n}\n\nfunc (p word64Slice) Len() int {\n\treturn p.v.Len()\n}\n\nfunc (p word64Slice) Index(i int) uint64 {\n\telem := p.v.Index(i)\n\tswitch elem.Kind() {\n\tcase reflect.Int64:\n\t\treturn uint64(elem.Int())\n\tcase reflect.Uint64:\n\t\treturn uint64(elem.Uint())\n\tcase reflect.Float64:\n\t\treturn math.Float64bits(float64(elem.Float()))\n\t}\n\tpanic(\"unreachable\")\n}\n\nfunc structPointer_Word64Slice(p structPointer, f field) word64Slice {\n\treturn word64Slice{structPointer_field(p, f)}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/pointer_reflect_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2016, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// +build appengine js\n\npackage proto\n\nimport (\n\t\"reflect\"\n)\n\nfunc structPointer_FieldPointer(p structPointer, f field) structPointer {\n\tpanic(\"not implemented\")\n}\n\nfunc appendStructPointer(base structPointer, f field, typ reflect.Type) structPointer {\n\tpanic(\"not implemented\")\n}\n\nfunc structPointer_InterfaceAt(p structPointer, f field, t reflect.Type) interface{} {\n\tpanic(\"not implemented\")\n}\n\nfunc structPointer_InterfaceRef(p structPointer, f field, t reflect.Type) interface{} {\n\tpanic(\"not implemented\")\n}\n\nfunc structPointer_GetRefStructPointer(p structPointer, f field) structPointer {\n\tpanic(\"not implemented\")\n}\n\nfunc structPointer_Add(p structPointer, size field) structPointer {\n\tpanic(\"not implemented\")\n}\n\nfunc structPointer_Len(p structPointer, f field) int {\n\tpanic(\"not implemented\")\n}\n\nfunc structPointer_GetSliceHeader(p structPointer, f field) *reflect.SliceHeader {\n\tpanic(\"not implemented\")\n}\n\nfunc structPointer_Copy(oldptr structPointer, newptr structPointer, size int) {\n\tpanic(\"not implemented\")\n}\n\nfunc structPointer_StructRefSlice(p structPointer, f field, size uintptr) *structRefSlice {\n\tpanic(\"not implemented\")\n}\n\ntype structRefSlice struct{}\n\nfunc (v *structRefSlice) Len() int {\n\tpanic(\"not implemented\")\n}\n\nfunc (v *structRefSlice) Index(i int) structPointer {\n\tpanic(\"not implemented\")\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2012 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// +build !appengine,!js\n\n// This file contains the implementation of the proto field accesses using package unsafe.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"unsafe\"\n)\n\n// NOTE: These type_Foo functions would more idiomatically be methods,\n// but Go does not allow methods on pointer types, and we must preserve\n// some pointer type for the garbage collector. We use these\n// funcs with clunky names as our poor approximation to methods.\n//\n// An alternative would be\n//\ttype structPointer struct { p unsafe.Pointer }\n// but that does not registerize as well.\n\n// A structPointer is a pointer to a struct.\ntype structPointer unsafe.Pointer\n\n// toStructPointer returns a structPointer equivalent to the given reflect value.\nfunc toStructPointer(v reflect.Value) structPointer {\n\treturn structPointer(unsafe.Pointer(v.Pointer()))\n}\n\n// IsNil reports whether p is nil.\nfunc structPointer_IsNil(p structPointer) bool {\n\treturn p == nil\n}\n\n// Interface returns the struct pointer, assumed to have element type t,\n// as an interface value.\nfunc structPointer_Interface(p structPointer, t reflect.Type) interface{} {\n\treturn reflect.NewAt(t, unsafe.Pointer(p)).Interface()\n}\n\n// A field identifies a field in a struct, accessible from a structPointer.\n// In this implementation, a field is identified by its byte offset from the start of the struct.\ntype field uintptr\n\n// toField returns a field equivalent to the given reflect field.\nfunc toField(f *reflect.StructField) field {\n\treturn field(f.Offset)\n}\n\n// invalidField is an invalid field identifier.\nconst invalidField = ^field(0)\n\n// IsValid reports whether the field identifier is valid.\nfunc (f field) IsValid() bool {\n\treturn f != ^field(0)\n}\n\n// Bytes returns the address of a []byte field in the struct.\nfunc structPointer_Bytes(p structPointer, f field) *[]byte {\n\treturn (*[]byte)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// BytesSlice returns the address of a [][]byte field in the struct.\nfunc structPointer_BytesSlice(p structPointer, f field) *[][]byte {\n\treturn (*[][]byte)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// Bool returns the address of a *bool field in the struct.\nfunc structPointer_Bool(p structPointer, f field) **bool {\n\treturn (**bool)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// BoolVal returns the address of a bool field in the struct.\nfunc structPointer_BoolVal(p structPointer, f field) *bool {\n\treturn (*bool)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// BoolSlice returns the address of a []bool field in the struct.\nfunc structPointer_BoolSlice(p structPointer, f field) *[]bool {\n\treturn (*[]bool)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// String returns the address of a *string field in the struct.\nfunc structPointer_String(p structPointer, f field) **string {\n\treturn (**string)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// StringVal returns the address of a string field in the struct.\nfunc structPointer_StringVal(p structPointer, f field) *string {\n\treturn (*string)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// StringSlice returns the address of a []string field in the struct.\nfunc structPointer_StringSlice(p structPointer, f field) *[]string {\n\treturn (*[]string)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// ExtMap returns the address of an extension map field in the struct.\nfunc structPointer_Extensions(p structPointer, f field) *XXX_InternalExtensions {\n\treturn (*XXX_InternalExtensions)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\nfunc structPointer_ExtMap(p structPointer, f field) *map[int32]Extension {\n\treturn (*map[int32]Extension)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// NewAt returns the reflect.Value for a pointer to a field in the struct.\nfunc structPointer_NewAt(p structPointer, f field, typ reflect.Type) reflect.Value {\n\treturn reflect.NewAt(typ, unsafe.Pointer(uintptr(p)+uintptr(f)))\n}\n\n// SetStructPointer writes a *struct field in the struct.\nfunc structPointer_SetStructPointer(p structPointer, f field, q structPointer) {\n\t*(*structPointer)(unsafe.Pointer(uintptr(p) + uintptr(f))) = q\n}\n\n// GetStructPointer reads a *struct field in the struct.\nfunc structPointer_GetStructPointer(p structPointer, f field) structPointer {\n\treturn *(*structPointer)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// StructPointerSlice the address of a []*struct field in the struct.\nfunc structPointer_StructPointerSlice(p structPointer, f field) *structPointerSlice {\n\treturn (*structPointerSlice)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// A structPointerSlice represents a slice of pointers to structs (themselves submessages or groups).\ntype structPointerSlice []structPointer\n\nfunc (v *structPointerSlice) Len() int                  { return len(*v) }\nfunc (v *structPointerSlice) Index(i int) structPointer { return (*v)[i] }\nfunc (v *structPointerSlice) Append(p structPointer)    { *v = append(*v, p) }\n\n// A word32 is the address of a \"pointer to 32-bit value\" field.\ntype word32 **uint32\n\n// IsNil reports whether *v is nil.\nfunc word32_IsNil(p word32) bool {\n\treturn *p == nil\n}\n\n// Set sets *v to point at a newly allocated word set to x.\nfunc word32_Set(p word32, o *Buffer, x uint32) {\n\tif len(o.uint32s) == 0 {\n\t\to.uint32s = make([]uint32, uint32PoolSize)\n\t}\n\to.uint32s[0] = x\n\t*p = &o.uint32s[0]\n\to.uint32s = o.uint32s[1:]\n}\n\n// Get gets the value pointed at by *v.\nfunc word32_Get(p word32) uint32 {\n\treturn **p\n}\n\n// Word32 returns the address of a *int32, *uint32, *float32, or *enum field in the struct.\nfunc structPointer_Word32(p structPointer, f field) word32 {\n\treturn word32((**uint32)(unsafe.Pointer(uintptr(p) + uintptr(f))))\n}\n\n// A word32Val is the address of a 32-bit value field.\ntype word32Val *uint32\n\n// Set sets *p to x.\nfunc word32Val_Set(p word32Val, x uint32) {\n\t*p = x\n}\n\n// Get gets the value pointed at by p.\nfunc word32Val_Get(p word32Val) uint32 {\n\treturn *p\n}\n\n// Word32Val returns the address of a *int32, *uint32, *float32, or *enum field in the struct.\nfunc structPointer_Word32Val(p structPointer, f field) word32Val {\n\treturn word32Val((*uint32)(unsafe.Pointer(uintptr(p) + uintptr(f))))\n}\n\n// A word32Slice is a slice of 32-bit values.\ntype word32Slice []uint32\n\nfunc (v *word32Slice) Append(x uint32)    { *v = append(*v, x) }\nfunc (v *word32Slice) Len() int           { return len(*v) }\nfunc (v *word32Slice) Index(i int) uint32 { return (*v)[i] }\n\n// Word32Slice returns the address of a []int32, []uint32, []float32, or []enum field in the struct.\nfunc structPointer_Word32Slice(p structPointer, f field) *word32Slice {\n\treturn (*word32Slice)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// word64 is like word32 but for 64-bit values.\ntype word64 **uint64\n\nfunc word64_Set(p word64, o *Buffer, x uint64) {\n\tif len(o.uint64s) == 0 {\n\t\to.uint64s = make([]uint64, uint64PoolSize)\n\t}\n\to.uint64s[0] = x\n\t*p = &o.uint64s[0]\n\to.uint64s = o.uint64s[1:]\n}\n\nfunc word64_IsNil(p word64) bool {\n\treturn *p == nil\n}\n\nfunc word64_Get(p word64) uint64 {\n\treturn **p\n}\n\nfunc structPointer_Word64(p structPointer, f field) word64 {\n\treturn word64((**uint64)(unsafe.Pointer(uintptr(p) + uintptr(f))))\n}\n\n// word64Val is like word32Val but for 64-bit values.\ntype word64Val *uint64\n\nfunc word64Val_Set(p word64Val, o *Buffer, x uint64) {\n\t*p = x\n}\n\nfunc word64Val_Get(p word64Val) uint64 {\n\treturn *p\n}\n\nfunc structPointer_Word64Val(p structPointer, f field) word64Val {\n\treturn word64Val((*uint64)(unsafe.Pointer(uintptr(p) + uintptr(f))))\n}\n\n// word64Slice is like word32Slice but for 64-bit values.\ntype word64Slice []uint64\n\nfunc (v *word64Slice) Append(x uint64)    { *v = append(*v, x) }\nfunc (v *word64Slice) Len() int           { return len(*v) }\nfunc (v *word64Slice) Index(i int) uint64 { return (*v)[i] }\n\nfunc structPointer_Word64Slice(p structPointer, f field) *word64Slice {\n\treturn (*word64Slice)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/pointer_unsafe_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// +build !appengine,!js\n\n// This file contains the implementation of the proto field accesses using package unsafe.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"unsafe\"\n)\n\nfunc structPointer_InterfaceAt(p structPointer, f field, t reflect.Type) interface{} {\n\tpoint := unsafe.Pointer(uintptr(p) + uintptr(f))\n\tr := reflect.NewAt(t, point)\n\treturn r.Interface()\n}\n\nfunc structPointer_InterfaceRef(p structPointer, f field, t reflect.Type) interface{} {\n\tpoint := unsafe.Pointer(uintptr(p) + uintptr(f))\n\tr := reflect.NewAt(t, point)\n\tif r.Elem().IsNil() {\n\t\treturn nil\n\t}\n\treturn r.Elem().Interface()\n}\n\nfunc copyUintPtr(oldptr, newptr uintptr, size int) {\n\toldbytes := make([]byte, 0)\n\toldslice := (*reflect.SliceHeader)(unsafe.Pointer(&oldbytes))\n\toldslice.Data = oldptr\n\toldslice.Len = size\n\toldslice.Cap = size\n\tnewbytes := make([]byte, 0)\n\tnewslice := (*reflect.SliceHeader)(unsafe.Pointer(&newbytes))\n\tnewslice.Data = newptr\n\tnewslice.Len = size\n\tnewslice.Cap = size\n\tcopy(newbytes, oldbytes)\n}\n\nfunc structPointer_Copy(oldptr structPointer, newptr structPointer, size int) {\n\tcopyUintPtr(uintptr(oldptr), uintptr(newptr), size)\n}\n\nfunc appendStructPointer(base structPointer, f field, typ reflect.Type) structPointer {\n\tsize := typ.Elem().Size()\n\n\toldHeader := structPointer_GetSliceHeader(base, f)\n\toldSlice := reflect.NewAt(typ, unsafe.Pointer(oldHeader)).Elem()\n\tnewLen := oldHeader.Len + 1\n\tnewSlice := reflect.MakeSlice(typ, newLen, newLen)\n\treflect.Copy(newSlice, oldSlice)\n\tbas := toStructPointer(newSlice)\n\toldHeader.Data = uintptr(bas)\n\toldHeader.Len = newLen\n\toldHeader.Cap = newLen\n\n\treturn structPointer(unsafe.Pointer(uintptr(unsafe.Pointer(bas)) + uintptr(uintptr(newLen-1)*size)))\n}\n\nfunc structPointer_FieldPointer(p structPointer, f field) structPointer {\n\treturn structPointer(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\nfunc structPointer_GetRefStructPointer(p structPointer, f field) structPointer {\n\treturn structPointer((*structPointer)(unsafe.Pointer(uintptr(p) + uintptr(f))))\n}\n\nfunc structPointer_GetSliceHeader(p structPointer, f field) *reflect.SliceHeader {\n\treturn (*reflect.SliceHeader)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\nfunc structPointer_Add(p structPointer, size field) structPointer {\n\treturn structPointer(unsafe.Pointer(uintptr(p) + uintptr(size)))\n}\n\nfunc structPointer_Len(p structPointer, f field) int {\n\treturn len(*(*[]interface{})(unsafe.Pointer(structPointer_GetRefStructPointer(p, f))))\n}\n\nfunc structPointer_StructRefSlice(p structPointer, f field, size uintptr) *structRefSlice {\n\treturn &structRefSlice{p: p, f: f, size: size}\n}\n\n// A structRefSlice represents a slice of structs (themselves submessages or groups).\ntype structRefSlice struct {\n\tp    structPointer\n\tf    field\n\tsize uintptr\n}\n\nfunc (v *structRefSlice) Len() int {\n\treturn structPointer_Len(v.p, v.f)\n}\n\nfunc (v *structRefSlice) Index(i int) structPointer {\n\tss := structPointer_GetStructPointer(v.p, v.f)\n\tss1 := structPointer_GetRefStructPointer(ss, 0)\n\treturn structPointer_Add(ss1, field(uintptr(i)*v.size))\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/properties.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Routines for encoding data into the wire format for protocol buffers.\n */\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"os\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n)\n\nconst debug bool = false\n\n// Constants that identify the encoding of a value on the wire.\nconst (\n\tWireVarint     = 0\n\tWireFixed64    = 1\n\tWireBytes      = 2\n\tWireStartGroup = 3\n\tWireEndGroup   = 4\n\tWireFixed32    = 5\n)\n\nconst startSize = 10 // initial slice/string sizes\n\n// Encoders are defined in encode.go\n// An encoder outputs the full representation of a field, including its\n// tag and encoder type.\ntype encoder func(p *Buffer, prop *Properties, base structPointer) error\n\n// A valueEncoder encodes a single integer in a particular encoding.\ntype valueEncoder func(o *Buffer, x uint64) error\n\n// Sizers are defined in encode.go\n// A sizer returns the encoded size of a field, including its tag and encoder\n// type.\ntype sizer func(prop *Properties, base structPointer) int\n\n// A valueSizer returns the encoded size of a single integer in a particular\n// encoding.\ntype valueSizer func(x uint64) int\n\n// Decoders are defined in decode.go\n// A decoder creates a value from its wire representation.\n// Unrecognized subelements are saved in unrec.\ntype decoder func(p *Buffer, prop *Properties, base structPointer) error\n\n// A valueDecoder decodes a single integer in a particular encoding.\ntype valueDecoder func(o *Buffer) (x uint64, err error)\n\n// A oneofMarshaler does the marshaling for all oneof fields in a message.\ntype oneofMarshaler func(Message, *Buffer) error\n\n// A oneofUnmarshaler does the unmarshaling for a oneof field in a message.\ntype oneofUnmarshaler func(Message, int, int, *Buffer) (bool, error)\n\n// A oneofSizer does the sizing for all oneof fields in a message.\ntype oneofSizer func(Message) int\n\n// tagMap is an optimization over map[int]int for typical protocol buffer\n// use-cases. Encoded protocol buffers are often in tag order with small tag\n// numbers.\ntype tagMap struct {\n\tfastTags []int\n\tslowTags map[int]int\n}\n\n// tagMapFastLimit is the upper bound on the tag number that will be stored in\n// the tagMap slice rather than its map.\nconst tagMapFastLimit = 1024\n\nfunc (p *tagMap) get(t int) (int, bool) {\n\tif t > 0 && t < tagMapFastLimit {\n\t\tif t >= len(p.fastTags) {\n\t\t\treturn 0, false\n\t\t}\n\t\tfi := p.fastTags[t]\n\t\treturn fi, fi >= 0\n\t}\n\tfi, ok := p.slowTags[t]\n\treturn fi, ok\n}\n\nfunc (p *tagMap) put(t int, fi int) {\n\tif t > 0 && t < tagMapFastLimit {\n\t\tfor len(p.fastTags) < t+1 {\n\t\t\tp.fastTags = append(p.fastTags, -1)\n\t\t}\n\t\tp.fastTags[t] = fi\n\t\treturn\n\t}\n\tif p.slowTags == nil {\n\t\tp.slowTags = make(map[int]int)\n\t}\n\tp.slowTags[t] = fi\n}\n\n// StructProperties represents properties for all the fields of a struct.\n// decoderTags and decoderOrigNames should only be used by the decoder.\ntype StructProperties struct {\n\tProp             []*Properties  // properties for each field\n\treqCount         int            // required count\n\tdecoderTags      tagMap         // map from proto tag to struct field number\n\tdecoderOrigNames map[string]int // map from original name to struct field number\n\torder            []int          // list of struct field numbers in tag order\n\tunrecField       field          // field id of the XXX_unrecognized []byte field\n\textendable       bool           // is this an extendable proto\n\n\toneofMarshaler   oneofMarshaler\n\toneofUnmarshaler oneofUnmarshaler\n\toneofSizer       oneofSizer\n\tstype            reflect.Type\n\n\t// OneofTypes contains information about the oneof fields in this message.\n\t// It is keyed by the original name of a field.\n\tOneofTypes map[string]*OneofProperties\n}\n\n// OneofProperties represents information about a specific field in a oneof.\ntype OneofProperties struct {\n\tType  reflect.Type // pointer to generated struct type for this oneof field\n\tField int          // struct field number of the containing oneof in the message\n\tProp  *Properties\n}\n\n// Implement the sorting interface so we can sort the fields in tag order, as recommended by the spec.\n// See encode.go, (*Buffer).enc_struct.\n\nfunc (sp *StructProperties) Len() int { return len(sp.order) }\nfunc (sp *StructProperties) Less(i, j int) bool {\n\treturn sp.Prop[sp.order[i]].Tag < sp.Prop[sp.order[j]].Tag\n}\nfunc (sp *StructProperties) Swap(i, j int) { sp.order[i], sp.order[j] = sp.order[j], sp.order[i] }\n\n// Properties represents the protocol-specific behavior of a single struct field.\ntype Properties struct {\n\tName     string // name of the field, for error messages\n\tOrigName string // original name before protocol compiler (always set)\n\tJSONName string // name to use for JSON; determined by protoc\n\tWire     string\n\tWireType int\n\tTag      int\n\tRequired bool\n\tOptional bool\n\tRepeated bool\n\tPacked   bool   // relevant for repeated primitives only\n\tEnum     string // set for enum types only\n\tproto3   bool   // whether this is known to be a proto3 field; set for []byte only\n\toneof    bool   // whether this is a oneof field\n\n\tDefault     string // default value\n\tHasDefault  bool   // whether an explicit default was provided\n\tCustomType  string\n\tCastType    string\n\tStdTime     bool\n\tStdDuration bool\n\n\tenc           encoder\n\tvalEnc        valueEncoder // set for bool and numeric types only\n\tfield         field\n\ttagcode       []byte // encoding of EncodeVarint((Tag<<3)|WireType)\n\ttagbuf        [8]byte\n\tstype         reflect.Type      // set for struct types only\n\tsstype        reflect.Type      // set for slices of structs types only\n\tctype         reflect.Type      // set for custom types only\n\tsprop         *StructProperties // set for struct types only\n\tisMarshaler   bool\n\tisUnmarshaler bool\n\n\tmtype    reflect.Type // set for map types only\n\tmkeyprop *Properties  // set for map types only\n\tmvalprop *Properties  // set for map types only\n\n\tsize    sizer\n\tvalSize valueSizer // set for bool and numeric types only\n\n\tdec    decoder\n\tvalDec valueDecoder // set for bool and numeric types only\n\n\t// If this is a packable field, this will be the decoder for the packed version of the field.\n\tpackedDec decoder\n}\n\n// String formats the properties in the protobuf struct field tag style.\nfunc (p *Properties) String() string {\n\ts := p.Wire\n\ts = \",\"\n\ts += strconv.Itoa(p.Tag)\n\tif p.Required {\n\t\ts += \",req\"\n\t}\n\tif p.Optional {\n\t\ts += \",opt\"\n\t}\n\tif p.Repeated {\n\t\ts += \",rep\"\n\t}\n\tif p.Packed {\n\t\ts += \",packed\"\n\t}\n\ts += \",name=\" + p.OrigName\n\tif p.JSONName != p.OrigName {\n\t\ts += \",json=\" + p.JSONName\n\t}\n\tif p.proto3 {\n\t\ts += \",proto3\"\n\t}\n\tif p.oneof {\n\t\ts += \",oneof\"\n\t}\n\tif len(p.Enum) > 0 {\n\t\ts += \",enum=\" + p.Enum\n\t}\n\tif p.HasDefault {\n\t\ts += \",def=\" + p.Default\n\t}\n\treturn s\n}\n\n// Parse populates p by parsing a string in the protobuf struct field tag style.\nfunc (p *Properties) Parse(s string) {\n\t// \"bytes,49,opt,name=foo,def=hello!\"\n\tfields := strings.Split(s, \",\") // breaks def=, but handled below.\n\tif len(fields) < 2 {\n\t\tfmt.Fprintf(os.Stderr, \"proto: tag has too few fields: %q\\n\", s)\n\t\treturn\n\t}\n\n\tp.Wire = fields[0]\n\tswitch p.Wire {\n\tcase \"varint\":\n\t\tp.WireType = WireVarint\n\t\tp.valEnc = (*Buffer).EncodeVarint\n\t\tp.valDec = (*Buffer).DecodeVarint\n\t\tp.valSize = sizeVarint\n\tcase \"fixed32\":\n\t\tp.WireType = WireFixed32\n\t\tp.valEnc = (*Buffer).EncodeFixed32\n\t\tp.valDec = (*Buffer).DecodeFixed32\n\t\tp.valSize = sizeFixed32\n\tcase \"fixed64\":\n\t\tp.WireType = WireFixed64\n\t\tp.valEnc = (*Buffer).EncodeFixed64\n\t\tp.valDec = (*Buffer).DecodeFixed64\n\t\tp.valSize = sizeFixed64\n\tcase \"zigzag32\":\n\t\tp.WireType = WireVarint\n\t\tp.valEnc = (*Buffer).EncodeZigzag32\n\t\tp.valDec = (*Buffer).DecodeZigzag32\n\t\tp.valSize = sizeZigzag32\n\tcase \"zigzag64\":\n\t\tp.WireType = WireVarint\n\t\tp.valEnc = (*Buffer).EncodeZigzag64\n\t\tp.valDec = (*Buffer).DecodeZigzag64\n\t\tp.valSize = sizeZigzag64\n\tcase \"bytes\", \"group\":\n\t\tp.WireType = WireBytes\n\t\t// no numeric converter for non-numeric types\n\tdefault:\n\t\tfmt.Fprintf(os.Stderr, \"proto: tag has unknown wire type: %q\\n\", s)\n\t\treturn\n\t}\n\n\tvar err error\n\tp.Tag, err = strconv.Atoi(fields[1])\n\tif err != nil {\n\t\treturn\n\t}\n\n\tfor i := 2; i < len(fields); i++ {\n\t\tf := fields[i]\n\t\tswitch {\n\t\tcase f == \"req\":\n\t\t\tp.Required = true\n\t\tcase f == \"opt\":\n\t\t\tp.Optional = true\n\t\tcase f == \"rep\":\n\t\t\tp.Repeated = true\n\t\tcase f == \"packed\":\n\t\t\tp.Packed = true\n\t\tcase strings.HasPrefix(f, \"name=\"):\n\t\t\tp.OrigName = f[5:]\n\t\tcase strings.HasPrefix(f, \"json=\"):\n\t\t\tp.JSONName = f[5:]\n\t\tcase strings.HasPrefix(f, \"enum=\"):\n\t\t\tp.Enum = f[5:]\n\t\tcase f == \"proto3\":\n\t\t\tp.proto3 = true\n\t\tcase f == \"oneof\":\n\t\t\tp.oneof = true\n\t\tcase strings.HasPrefix(f, \"def=\"):\n\t\t\tp.HasDefault = true\n\t\t\tp.Default = f[4:] // rest of string\n\t\t\tif i+1 < len(fields) {\n\t\t\t\t// Commas aren't escaped, and def is always last.\n\t\t\t\tp.Default += \",\" + strings.Join(fields[i+1:], \",\")\n\t\t\t\tbreak\n\t\t\t}\n\t\tcase strings.HasPrefix(f, \"embedded=\"):\n\t\t\tp.OrigName = strings.Split(f, \"=\")[1]\n\t\tcase strings.HasPrefix(f, \"customtype=\"):\n\t\t\tp.CustomType = strings.Split(f, \"=\")[1]\n\t\tcase strings.HasPrefix(f, \"casttype=\"):\n\t\t\tp.CastType = strings.Split(f, \"=\")[1]\n\t\tcase f == \"stdtime\":\n\t\t\tp.StdTime = true\n\t\tcase f == \"stdduration\":\n\t\t\tp.StdDuration = true\n\t\t}\n\t}\n}\n\nfunc logNoSliceEnc(t1, t2 reflect.Type) {\n\tfmt.Fprintf(os.Stderr, \"proto: no slice oenc for %T = []%T\\n\", t1, t2)\n}\n\nvar protoMessageType = reflect.TypeOf((*Message)(nil)).Elem()\n\n// Initialize the fields for encoding and decoding.\nfunc (p *Properties) setEncAndDec(typ reflect.Type, f *reflect.StructField, lockGetProp bool) {\n\tp.enc = nil\n\tp.dec = nil\n\tp.size = nil\n\tisMap := typ.Kind() == reflect.Map\n\tif len(p.CustomType) > 0 && !isMap {\n\t\tp.setCustomEncAndDec(typ)\n\t\tp.setTag(lockGetProp)\n\t\treturn\n\t}\n\tif p.StdTime && !isMap {\n\t\tp.setTimeEncAndDec(typ)\n\t\tp.setTag(lockGetProp)\n\t\treturn\n\t}\n\tif p.StdDuration && !isMap {\n\t\tp.setDurationEncAndDec(typ)\n\t\tp.setTag(lockGetProp)\n\t\treturn\n\t}\n\tswitch t1 := typ; t1.Kind() {\n\tdefault:\n\t\tfmt.Fprintf(os.Stderr, \"proto: no coders for %v\\n\", t1)\n\n\t// proto3 scalar types\n\n\tcase reflect.Bool:\n\t\tif p.proto3 {\n\t\t\tp.enc = (*Buffer).enc_proto3_bool\n\t\t\tp.dec = (*Buffer).dec_proto3_bool\n\t\t\tp.size = size_proto3_bool\n\t\t} else {\n\t\t\tp.enc = (*Buffer).enc_ref_bool\n\t\t\tp.dec = (*Buffer).dec_proto3_bool\n\t\t\tp.size = size_ref_bool\n\t\t}\n\tcase reflect.Int32:\n\t\tif p.proto3 {\n\t\t\tp.enc = (*Buffer).enc_proto3_int32\n\t\t\tp.dec = (*Buffer).dec_proto3_int32\n\t\t\tp.size = size_proto3_int32\n\t\t} else {\n\t\t\tp.enc = (*Buffer).enc_ref_int32\n\t\t\tp.dec = (*Buffer).dec_proto3_int32\n\t\t\tp.size = size_ref_int32\n\t\t}\n\tcase reflect.Uint32:\n\t\tif p.proto3 {\n\t\t\tp.enc = (*Buffer).enc_proto3_uint32\n\t\t\tp.dec = (*Buffer).dec_proto3_int32 // can reuse\n\t\t\tp.size = size_proto3_uint32\n\t\t} else {\n\t\t\tp.enc = (*Buffer).enc_ref_uint32\n\t\t\tp.dec = (*Buffer).dec_proto3_int32 // can reuse\n\t\t\tp.size = size_ref_uint32\n\t\t}\n\tcase reflect.Int64, reflect.Uint64:\n\t\tif p.proto3 {\n\t\t\tp.enc = (*Buffer).enc_proto3_int64\n\t\t\tp.dec = (*Buffer).dec_proto3_int64\n\t\t\tp.size = size_proto3_int64\n\t\t} else {\n\t\t\tp.enc = (*Buffer).enc_ref_int64\n\t\t\tp.dec = (*Buffer).dec_proto3_int64\n\t\t\tp.size = size_ref_int64\n\t\t}\n\tcase reflect.Float32:\n\t\tif p.proto3 {\n\t\t\tp.enc = (*Buffer).enc_proto3_uint32 // can just treat them as bits\n\t\t\tp.dec = (*Buffer).dec_proto3_int32\n\t\t\tp.size = size_proto3_uint32\n\t\t} else {\n\t\t\tp.enc = (*Buffer).enc_ref_uint32 // can just treat them as bits\n\t\t\tp.dec = (*Buffer).dec_proto3_int32\n\t\t\tp.size = size_ref_uint32\n\t\t}\n\tcase reflect.Float64:\n\t\tif p.proto3 {\n\t\t\tp.enc = (*Buffer).enc_proto3_int64 // can just treat them as bits\n\t\t\tp.dec = (*Buffer).dec_proto3_int64\n\t\t\tp.size = size_proto3_int64\n\t\t} else {\n\t\t\tp.enc = (*Buffer).enc_ref_int64 // can just treat them as bits\n\t\t\tp.dec = (*Buffer).dec_proto3_int64\n\t\t\tp.size = size_ref_int64\n\t\t}\n\tcase reflect.String:\n\t\tif p.proto3 {\n\t\t\tp.enc = (*Buffer).enc_proto3_string\n\t\t\tp.dec = (*Buffer).dec_proto3_string\n\t\t\tp.size = size_proto3_string\n\t\t} else {\n\t\t\tp.enc = (*Buffer).enc_ref_string\n\t\t\tp.dec = (*Buffer).dec_proto3_string\n\t\t\tp.size = size_ref_string\n\t\t}\n\tcase reflect.Struct:\n\t\tp.stype = typ\n\t\tp.isMarshaler = isMarshaler(typ)\n\t\tp.isUnmarshaler = isUnmarshaler(typ)\n\t\tif p.Wire == \"bytes\" {\n\t\t\tp.enc = (*Buffer).enc_ref_struct_message\n\t\t\tp.dec = (*Buffer).dec_ref_struct_message\n\t\t\tp.size = size_ref_struct_message\n\t\t} else {\n\t\t\tfmt.Fprintf(os.Stderr, \"proto: no coders for struct %T\\n\", typ)\n\t\t}\n\n\tcase reflect.Ptr:\n\t\tswitch t2 := t1.Elem(); t2.Kind() {\n\t\tdefault:\n\t\t\tfmt.Fprintf(os.Stderr, \"proto: no encoder function for %v -> %v\\n\", t1, t2)\n\t\t\tbreak\n\t\tcase reflect.Bool:\n\t\t\tp.enc = (*Buffer).enc_bool\n\t\t\tp.dec = (*Buffer).dec_bool\n\t\t\tp.size = size_bool\n\t\tcase reflect.Int32:\n\t\t\tp.enc = (*Buffer).enc_int32\n\t\t\tp.dec = (*Buffer).dec_int32\n\t\t\tp.size = size_int32\n\t\tcase reflect.Uint32:\n\t\t\tp.enc = (*Buffer).enc_uint32\n\t\t\tp.dec = (*Buffer).dec_int32 // can reuse\n\t\t\tp.size = size_uint32\n\t\tcase reflect.Int64, reflect.Uint64:\n\t\t\tp.enc = (*Buffer).enc_int64\n\t\t\tp.dec = (*Buffer).dec_int64\n\t\t\tp.size = size_int64\n\t\tcase reflect.Float32:\n\t\t\tp.enc = (*Buffer).enc_uint32 // can just treat them as bits\n\t\t\tp.dec = (*Buffer).dec_int32\n\t\t\tp.size = size_uint32\n\t\tcase reflect.Float64:\n\t\t\tp.enc = (*Buffer).enc_int64 // can just treat them as bits\n\t\t\tp.dec = (*Buffer).dec_int64\n\t\t\tp.size = size_int64\n\t\tcase reflect.String:\n\t\t\tp.enc = (*Buffer).enc_string\n\t\t\tp.dec = (*Buffer).dec_string\n\t\t\tp.size = size_string\n\t\tcase reflect.Struct:\n\t\t\tp.stype = t1.Elem()\n\t\t\tp.isMarshaler = isMarshaler(t1)\n\t\t\tp.isUnmarshaler = isUnmarshaler(t1)\n\t\t\tif p.Wire == \"bytes\" {\n\t\t\t\tp.enc = (*Buffer).enc_struct_message\n\t\t\t\tp.dec = (*Buffer).dec_struct_message\n\t\t\t\tp.size = size_struct_message\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_struct_group\n\t\t\t\tp.dec = (*Buffer).dec_struct_group\n\t\t\t\tp.size = size_struct_group\n\t\t\t}\n\t\t}\n\n\tcase reflect.Slice:\n\t\tswitch t2 := t1.Elem(); t2.Kind() {\n\t\tdefault:\n\t\t\tlogNoSliceEnc(t1, t2)\n\t\t\tbreak\n\t\tcase reflect.Bool:\n\t\t\tif p.Packed {\n\t\t\t\tp.enc = (*Buffer).enc_slice_packed_bool\n\t\t\t\tp.size = size_slice_packed_bool\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_slice_bool\n\t\t\t\tp.size = size_slice_bool\n\t\t\t}\n\t\t\tp.dec = (*Buffer).dec_slice_bool\n\t\t\tp.packedDec = (*Buffer).dec_slice_packed_bool\n\t\tcase reflect.Int32:\n\t\t\tif p.Packed {\n\t\t\t\tp.enc = (*Buffer).enc_slice_packed_int32\n\t\t\t\tp.size = size_slice_packed_int32\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_slice_int32\n\t\t\t\tp.size = size_slice_int32\n\t\t\t}\n\t\t\tp.dec = (*Buffer).dec_slice_int32\n\t\t\tp.packedDec = (*Buffer).dec_slice_packed_int32\n\t\tcase reflect.Uint32:\n\t\t\tif p.Packed {\n\t\t\t\tp.enc = (*Buffer).enc_slice_packed_uint32\n\t\t\t\tp.size = size_slice_packed_uint32\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_slice_uint32\n\t\t\t\tp.size = size_slice_uint32\n\t\t\t}\n\t\t\tp.dec = (*Buffer).dec_slice_int32\n\t\t\tp.packedDec = (*Buffer).dec_slice_packed_int32\n\t\tcase reflect.Int64, reflect.Uint64:\n\t\t\tif p.Packed {\n\t\t\t\tp.enc = (*Buffer).enc_slice_packed_int64\n\t\t\t\tp.size = size_slice_packed_int64\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_slice_int64\n\t\t\t\tp.size = size_slice_int64\n\t\t\t}\n\t\t\tp.dec = (*Buffer).dec_slice_int64\n\t\t\tp.packedDec = (*Buffer).dec_slice_packed_int64\n\t\tcase reflect.Uint8:\n\t\t\tp.dec = (*Buffer).dec_slice_byte\n\t\t\tif p.proto3 {\n\t\t\t\tp.enc = (*Buffer).enc_proto3_slice_byte\n\t\t\t\tp.size = size_proto3_slice_byte\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_slice_byte\n\t\t\t\tp.size = size_slice_byte\n\t\t\t}\n\t\tcase reflect.Float32, reflect.Float64:\n\t\t\tswitch t2.Bits() {\n\t\t\tcase 32:\n\t\t\t\t// can just treat them as bits\n\t\t\t\tif p.Packed {\n\t\t\t\t\tp.enc = (*Buffer).enc_slice_packed_uint32\n\t\t\t\t\tp.size = size_slice_packed_uint32\n\t\t\t\t} else {\n\t\t\t\t\tp.enc = (*Buffer).enc_slice_uint32\n\t\t\t\t\tp.size = size_slice_uint32\n\t\t\t\t}\n\t\t\t\tp.dec = (*Buffer).dec_slice_int32\n\t\t\t\tp.packedDec = (*Buffer).dec_slice_packed_int32\n\t\t\tcase 64:\n\t\t\t\t// can just treat them as bits\n\t\t\t\tif p.Packed {\n\t\t\t\t\tp.enc = (*Buffer).enc_slice_packed_int64\n\t\t\t\t\tp.size = size_slice_packed_int64\n\t\t\t\t} else {\n\t\t\t\t\tp.enc = (*Buffer).enc_slice_int64\n\t\t\t\t\tp.size = size_slice_int64\n\t\t\t\t}\n\t\t\t\tp.dec = (*Buffer).dec_slice_int64\n\t\t\t\tp.packedDec = (*Buffer).dec_slice_packed_int64\n\t\t\tdefault:\n\t\t\t\tlogNoSliceEnc(t1, t2)\n\t\t\t\tbreak\n\t\t\t}\n\t\tcase reflect.String:\n\t\t\tp.enc = (*Buffer).enc_slice_string\n\t\t\tp.dec = (*Buffer).dec_slice_string\n\t\t\tp.size = size_slice_string\n\t\tcase reflect.Ptr:\n\t\t\tswitch t3 := t2.Elem(); t3.Kind() {\n\t\t\tdefault:\n\t\t\t\tfmt.Fprintf(os.Stderr, \"proto: no ptr oenc for %T -> %T -> %T\\n\", t1, t2, t3)\n\t\t\t\tbreak\n\t\t\tcase reflect.Struct:\n\t\t\t\tp.stype = t2.Elem()\n\t\t\t\tp.isMarshaler = isMarshaler(t2)\n\t\t\t\tp.isUnmarshaler = isUnmarshaler(t2)\n\t\t\t\tif p.Wire == \"bytes\" {\n\t\t\t\t\tp.enc = (*Buffer).enc_slice_struct_message\n\t\t\t\t\tp.dec = (*Buffer).dec_slice_struct_message\n\t\t\t\t\tp.size = size_slice_struct_message\n\t\t\t\t} else {\n\t\t\t\t\tp.enc = (*Buffer).enc_slice_struct_group\n\t\t\t\t\tp.dec = (*Buffer).dec_slice_struct_group\n\t\t\t\t\tp.size = size_slice_struct_group\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Slice:\n\t\t\tswitch t2.Elem().Kind() {\n\t\t\tdefault:\n\t\t\t\tfmt.Fprintf(os.Stderr, \"proto: no slice elem oenc for %T -> %T -> %T\\n\", t1, t2, t2.Elem())\n\t\t\t\tbreak\n\t\t\tcase reflect.Uint8:\n\t\t\t\tp.enc = (*Buffer).enc_slice_slice_byte\n\t\t\t\tp.dec = (*Buffer).dec_slice_slice_byte\n\t\t\t\tp.size = size_slice_slice_byte\n\t\t\t}\n\t\tcase reflect.Struct:\n\t\t\tp.setSliceOfNonPointerStructs(t1)\n\t\t}\n\n\tcase reflect.Map:\n\t\tp.enc = (*Buffer).enc_new_map\n\t\tp.dec = (*Buffer).dec_new_map\n\t\tp.size = size_new_map\n\n\t\tp.mtype = t1\n\t\tp.mkeyprop = &Properties{}\n\t\tp.mkeyprop.init(reflect.PtrTo(p.mtype.Key()), \"Key\", f.Tag.Get(\"protobuf_key\"), nil, lockGetProp)\n\t\tp.mvalprop = &Properties{}\n\t\tvtype := p.mtype.Elem()\n\t\tif vtype.Kind() != reflect.Ptr && vtype.Kind() != reflect.Slice {\n\t\t\t// The value type is not a message (*T) or bytes ([]byte),\n\t\t\t// so we need encoders for the pointer to this type.\n\t\t\tvtype = reflect.PtrTo(vtype)\n\t\t}\n\n\t\tp.mvalprop.CustomType = p.CustomType\n\t\tp.mvalprop.StdDuration = p.StdDuration\n\t\tp.mvalprop.StdTime = p.StdTime\n\t\tp.mvalprop.init(vtype, \"Value\", f.Tag.Get(\"protobuf_val\"), nil, lockGetProp)\n\t}\n\tp.setTag(lockGetProp)\n}\n\nfunc (p *Properties) setTag(lockGetProp bool) {\n\t// precalculate tag code\n\twire := p.WireType\n\tif p.Packed {\n\t\twire = WireBytes\n\t}\n\tx := uint32(p.Tag)<<3 | uint32(wire)\n\ti := 0\n\tfor i = 0; x > 127; i++ {\n\t\tp.tagbuf[i] = 0x80 | uint8(x&0x7F)\n\t\tx >>= 7\n\t}\n\tp.tagbuf[i] = uint8(x)\n\tp.tagcode = p.tagbuf[0 : i+1]\n\n\tif p.stype != nil {\n\t\tif lockGetProp {\n\t\t\tp.sprop = GetProperties(p.stype)\n\t\t} else {\n\t\t\tp.sprop = getPropertiesLocked(p.stype)\n\t\t}\n\t}\n}\n\nvar (\n\tmarshalerType   = reflect.TypeOf((*Marshaler)(nil)).Elem()\n\tunmarshalerType = reflect.TypeOf((*Unmarshaler)(nil)).Elem()\n)\n\n// isMarshaler reports whether type t implements Marshaler.\nfunc isMarshaler(t reflect.Type) bool {\n\treturn t.Implements(marshalerType)\n}\n\n// isUnmarshaler reports whether type t implements Unmarshaler.\nfunc isUnmarshaler(t reflect.Type) bool {\n\treturn t.Implements(unmarshalerType)\n}\n\n// Init populates the properties from a protocol buffer struct tag.\nfunc (p *Properties) Init(typ reflect.Type, name, tag string, f *reflect.StructField) {\n\tp.init(typ, name, tag, f, true)\n}\n\nfunc (p *Properties) init(typ reflect.Type, name, tag string, f *reflect.StructField, lockGetProp bool) {\n\t// \"bytes,49,opt,def=hello!\"\n\tp.Name = name\n\tp.OrigName = name\n\tif f != nil {\n\t\tp.field = toField(f)\n\t}\n\tif tag == \"\" {\n\t\treturn\n\t}\n\tp.Parse(tag)\n\tp.setEncAndDec(typ, f, lockGetProp)\n}\n\nvar (\n\tpropertiesMu  sync.RWMutex\n\tpropertiesMap = make(map[reflect.Type]*StructProperties)\n)\n\n// GetProperties returns the list of properties for the type represented by t.\n// t must represent a generated struct type of a protocol message.\nfunc GetProperties(t reflect.Type) *StructProperties {\n\tif t.Kind() != reflect.Struct {\n\t\tpanic(\"proto: type must have kind struct\")\n\t}\n\n\t// Most calls to GetProperties in a long-running program will be\n\t// retrieving details for types we have seen before.\n\tpropertiesMu.RLock()\n\tsprop, ok := propertiesMap[t]\n\tpropertiesMu.RUnlock()\n\tif ok {\n\t\tif collectStats {\n\t\t\tstats.Chit++\n\t\t}\n\t\treturn sprop\n\t}\n\n\tpropertiesMu.Lock()\n\tsprop = getPropertiesLocked(t)\n\tpropertiesMu.Unlock()\n\treturn sprop\n}\n\n// getPropertiesLocked requires that propertiesMu is held.\nfunc getPropertiesLocked(t reflect.Type) *StructProperties {\n\tif prop, ok := propertiesMap[t]; ok {\n\t\tif collectStats {\n\t\t\tstats.Chit++\n\t\t}\n\t\treturn prop\n\t}\n\tif collectStats {\n\t\tstats.Cmiss++\n\t}\n\n\tprop := new(StructProperties)\n\t// in case of recursive protos, fill this in now.\n\tpropertiesMap[t] = prop\n\n\t// build properties\n\tprop.extendable = reflect.PtrTo(t).Implements(extendableProtoType) ||\n\t\treflect.PtrTo(t).Implements(extendableProtoV1Type) ||\n\t\treflect.PtrTo(t).Implements(extendableBytesType)\n\tprop.unrecField = invalidField\n\tprop.Prop = make([]*Properties, t.NumField())\n\tprop.order = make([]int, t.NumField())\n\n\tisOneofMessage := false\n\tfor i := 0; i < t.NumField(); i++ {\n\t\tf := t.Field(i)\n\t\tp := new(Properties)\n\t\tname := f.Name\n\t\tp.init(f.Type, name, f.Tag.Get(\"protobuf\"), &f, false)\n\n\t\tif f.Name == \"XXX_InternalExtensions\" { // special case\n\t\t\tp.enc = (*Buffer).enc_exts\n\t\t\tp.dec = nil // not needed\n\t\t\tp.size = size_exts\n\t\t} else if f.Name == \"XXX_extensions\" { // special case\n\t\t\tif len(f.Tag.Get(\"protobuf\")) > 0 {\n\t\t\t\tp.enc = (*Buffer).enc_ext_slice_byte\n\t\t\t\tp.dec = nil // not needed\n\t\t\t\tp.size = size_ext_slice_byte\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_map\n\t\t\t\tp.dec = nil // not needed\n\t\t\t\tp.size = size_map\n\t\t\t}\n\t\t} else if f.Name == \"XXX_unrecognized\" { // special case\n\t\t\tprop.unrecField = toField(&f)\n\t\t}\n\t\toneof := f.Tag.Get(\"protobuf_oneof\") // special case\n\t\tif oneof != \"\" {\n\t\t\tisOneofMessage = true\n\t\t\t// Oneof fields don't use the traditional protobuf tag.\n\t\t\tp.OrigName = oneof\n\t\t}\n\t\tprop.Prop[i] = p\n\t\tprop.order[i] = i\n\t\tif debug {\n\t\t\tprint(i, \" \", f.Name, \" \", t.String(), \" \")\n\t\t\tif p.Tag > 0 {\n\t\t\t\tprint(p.String())\n\t\t\t}\n\t\t\tprint(\"\\n\")\n\t\t}\n\t\tif p.enc == nil && !strings.HasPrefix(f.Name, \"XXX_\") && oneof == \"\" {\n\t\t\tfmt.Fprintln(os.Stderr, \"proto: no encoder for\", f.Name, f.Type.String(), \"[GetProperties]\")\n\t\t}\n\t}\n\n\t// Re-order prop.order.\n\tsort.Sort(prop)\n\n\ttype oneofMessage interface {\n\t\tXXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{})\n\t}\n\tif om, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); isOneofMessage && ok {\n\t\tvar oots []interface{}\n\t\tprop.oneofMarshaler, prop.oneofUnmarshaler, prop.oneofSizer, oots = om.XXX_OneofFuncs()\n\t\tprop.stype = t\n\n\t\t// Interpret oneof metadata.\n\t\tprop.OneofTypes = make(map[string]*OneofProperties)\n\t\tfor _, oot := range oots {\n\t\t\toop := &OneofProperties{\n\t\t\t\tType: reflect.ValueOf(oot).Type(), // *T\n\t\t\t\tProp: new(Properties),\n\t\t\t}\n\t\t\tsft := oop.Type.Elem().Field(0)\n\t\t\toop.Prop.Name = sft.Name\n\t\t\toop.Prop.Parse(sft.Tag.Get(\"protobuf\"))\n\t\t\t// There will be exactly one interface field that\n\t\t\t// this new value is assignable to.\n\t\t\tfor i := 0; i < t.NumField(); i++ {\n\t\t\t\tf := t.Field(i)\n\t\t\t\tif f.Type.Kind() != reflect.Interface {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif !oop.Type.AssignableTo(f.Type) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\toop.Field = i\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tprop.OneofTypes[oop.Prop.OrigName] = oop\n\t\t}\n\t}\n\n\t// build required counts\n\t// build tags\n\treqCount := 0\n\tprop.decoderOrigNames = make(map[string]int)\n\tfor i, p := range prop.Prop {\n\t\tif strings.HasPrefix(p.Name, \"XXX_\") {\n\t\t\t// Internal fields should not appear in tags/origNames maps.\n\t\t\t// They are handled specially when encoding and decoding.\n\t\t\tcontinue\n\t\t}\n\t\tif p.Required {\n\t\t\treqCount++\n\t\t}\n\t\tprop.decoderTags.put(p.Tag, i)\n\t\tprop.decoderOrigNames[p.OrigName] = i\n\t}\n\tprop.reqCount = reqCount\n\n\treturn prop\n}\n\n// Return the Properties object for the x[0]'th field of the structure.\nfunc propByIndex(t reflect.Type, x []int) *Properties {\n\tif len(x) != 1 {\n\t\tfmt.Fprintf(os.Stderr, \"proto: field index dimension %d (not 1) for type %s\\n\", len(x), t)\n\t\treturn nil\n\t}\n\tprop := GetProperties(t)\n\treturn prop.Prop[x[0]]\n}\n\n// Get the address and type of a pointer to a struct from an interface.\nfunc getbase(pb Message) (t reflect.Type, b structPointer, err error) {\n\tif pb == nil {\n\t\terr = ErrNil\n\t\treturn\n\t}\n\t// get the reflect type of the pointer to the struct.\n\tt = reflect.TypeOf(pb)\n\t// get the address of the struct.\n\tvalue := reflect.ValueOf(pb)\n\tb = toStructPointer(value)\n\treturn\n}\n\n// A global registry of enum types.\n// The generated code will register the generated maps by calling RegisterEnum.\n\nvar enumValueMaps = make(map[string]map[string]int32)\nvar enumStringMaps = make(map[string]map[int32]string)\n\n// RegisterEnum is called from the generated code to install the enum descriptor\n// maps into the global table to aid parsing text format protocol buffers.\nfunc RegisterEnum(typeName string, unusedNameMap map[int32]string, valueMap map[string]int32) {\n\tif _, ok := enumValueMaps[typeName]; ok {\n\t\tpanic(\"proto: duplicate enum registered: \" + typeName)\n\t}\n\tenumValueMaps[typeName] = valueMap\n\tif _, ok := enumStringMaps[typeName]; ok {\n\t\tpanic(\"proto: duplicate enum registered: \" + typeName)\n\t}\n\tenumStringMaps[typeName] = unusedNameMap\n}\n\n// EnumValueMap returns the mapping from names to integers of the\n// enum type enumType, or a nil if not found.\nfunc EnumValueMap(enumType string) map[string]int32 {\n\treturn enumValueMaps[enumType]\n}\n\n// A registry of all linked message types.\n// The string is a fully-qualified proto name (\"pkg.Message\").\nvar (\n\tprotoTypes    = make(map[string]reflect.Type)\n\trevProtoTypes = make(map[reflect.Type]string)\n)\n\n// RegisterType is called from generated code and maps from the fully qualified\n// proto name to the type (pointer to struct) of the protocol buffer.\nfunc RegisterType(x Message, name string) {\n\tif _, ok := protoTypes[name]; ok {\n\t\t// TODO: Some day, make this a panic.\n\t\tlog.Printf(\"proto: duplicate proto type registered: %s\", name)\n\t\treturn\n\t}\n\tt := reflect.TypeOf(x)\n\tprotoTypes[name] = t\n\trevProtoTypes[t] = name\n}\n\n// MessageName returns the fully-qualified proto name for the given message type.\nfunc MessageName(x Message) string {\n\ttype xname interface {\n\t\tXXX_MessageName() string\n\t}\n\tif m, ok := x.(xname); ok {\n\t\treturn m.XXX_MessageName()\n\t}\n\treturn revProtoTypes[reflect.TypeOf(x)]\n}\n\n// MessageType returns the message type (pointer to struct) for a named message.\nfunc MessageType(name string) reflect.Type { return protoTypes[name] }\n\n// A registry of all linked proto files.\nvar (\n\tprotoFiles = make(map[string][]byte) // file name => fileDescriptor\n)\n\n// RegisterFile is called from generated code and maps from the\n// full file name of a .proto file to its compressed FileDescriptorProto.\nfunc RegisterFile(filename string, fileDescriptor []byte) {\n\tprotoFiles[filename] = fileDescriptor\n}\n\n// FileDescriptor returns the compressed FileDescriptorProto for a .proto file.\nfunc FileDescriptor(filename string) []byte { return protoFiles[filename] }\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/properties_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"reflect\"\n)\n\nfunc (p *Properties) setCustomEncAndDec(typ reflect.Type) {\n\tp.ctype = typ\n\tif p.Repeated {\n\t\tp.enc = (*Buffer).enc_custom_slice_bytes\n\t\tp.dec = (*Buffer).dec_custom_slice_bytes\n\t\tp.size = size_custom_slice_bytes\n\t} else if typ.Kind() == reflect.Ptr {\n\t\tp.enc = (*Buffer).enc_custom_bytes\n\t\tp.dec = (*Buffer).dec_custom_bytes\n\t\tp.size = size_custom_bytes\n\t} else {\n\t\tp.enc = (*Buffer).enc_custom_ref_bytes\n\t\tp.dec = (*Buffer).dec_custom_ref_bytes\n\t\tp.size = size_custom_ref_bytes\n\t}\n}\n\nfunc (p *Properties) setDurationEncAndDec(typ reflect.Type) {\n\tif p.Repeated {\n\t\tif typ.Elem().Kind() == reflect.Ptr {\n\t\t\tp.enc = (*Buffer).enc_slice_duration\n\t\t\tp.dec = (*Buffer).dec_slice_duration\n\t\t\tp.size = size_slice_duration\n\t\t} else {\n\t\t\tp.enc = (*Buffer).enc_slice_ref_duration\n\t\t\tp.dec = (*Buffer).dec_slice_ref_duration\n\t\t\tp.size = size_slice_ref_duration\n\t\t}\n\t} else if typ.Kind() == reflect.Ptr {\n\t\tp.enc = (*Buffer).enc_duration\n\t\tp.dec = (*Buffer).dec_duration\n\t\tp.size = size_duration\n\t} else {\n\t\tp.enc = (*Buffer).enc_ref_duration\n\t\tp.dec = (*Buffer).dec_ref_duration\n\t\tp.size = size_ref_duration\n\t}\n}\n\nfunc (p *Properties) setTimeEncAndDec(typ reflect.Type) {\n\tif p.Repeated {\n\t\tif typ.Elem().Kind() == reflect.Ptr {\n\t\t\tp.enc = (*Buffer).enc_slice_time\n\t\t\tp.dec = (*Buffer).dec_slice_time\n\t\t\tp.size = size_slice_time\n\t\t} else {\n\t\t\tp.enc = (*Buffer).enc_slice_ref_time\n\t\t\tp.dec = (*Buffer).dec_slice_ref_time\n\t\t\tp.size = size_slice_ref_time\n\t\t}\n\t} else if typ.Kind() == reflect.Ptr {\n\t\tp.enc = (*Buffer).enc_time\n\t\tp.dec = (*Buffer).dec_time\n\t\tp.size = size_time\n\t} else {\n\t\tp.enc = (*Buffer).enc_ref_time\n\t\tp.dec = (*Buffer).dec_ref_time\n\t\tp.size = size_ref_time\n\t}\n\n}\n\nfunc (p *Properties) setSliceOfNonPointerStructs(typ reflect.Type) {\n\tt2 := typ.Elem()\n\tp.sstype = typ\n\tp.stype = t2\n\tp.isMarshaler = isMarshaler(t2)\n\tp.isUnmarshaler = isUnmarshaler(t2)\n\tp.enc = (*Buffer).enc_slice_ref_struct_message\n\tp.dec = (*Buffer).dec_slice_ref_struct_message\n\tp.size = size_slice_ref_struct_message\n\tif p.Wire != \"bytes\" {\n\t\tfmt.Fprintf(os.Stderr, \"proto: no ptr oenc for %T -> %T \\n\", typ, t2)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/skip_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"fmt\"\n\t\"io\"\n)\n\nfunc Skip(data []byte) (n int, err error) {\n\tl := len(data)\n\tindex := 0\n\tfor index < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif index >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := data[index]\n\t\t\tindex++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor {\n\t\t\t\tif index >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tindex++\n\t\t\t\tif data[index-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn index, nil\n\t\tcase 1:\n\t\t\tindex += 8\n\t\t\treturn index, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif index >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := data[index]\n\t\t\t\tindex++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tindex += length\n\t\t\treturn index, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = index\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif index >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := data[index]\n\t\t\t\t\tindex++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := Skip(data[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tindex = start + next\n\t\t\t}\n\t\t\treturn index, nil\n\t\tcase 4:\n\t\t\treturn index, nil\n\t\tcase 5:\n\t\t\tindex += 4\n\t\t\treturn index, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/text.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n// Functions for writing the text protocol buffer format.\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"encoding\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"math\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n)\n\nvar (\n\tnewline         = []byte(\"\\n\")\n\tspaces          = []byte(\"                                        \")\n\tgtNewline       = []byte(\">\\n\")\n\tendBraceNewline = []byte(\"}\\n\")\n\tbackslashN      = []byte{'\\\\', 'n'}\n\tbackslashR      = []byte{'\\\\', 'r'}\n\tbackslashT      = []byte{'\\\\', 't'}\n\tbackslashDQ     = []byte{'\\\\', '\"'}\n\tbackslashBS     = []byte{'\\\\', '\\\\'}\n\tposInf          = []byte(\"inf\")\n\tnegInf          = []byte(\"-inf\")\n\tnan             = []byte(\"nan\")\n)\n\ntype writer interface {\n\tio.Writer\n\tWriteByte(byte) error\n}\n\n// textWriter is an io.Writer that tracks its indentation level.\ntype textWriter struct {\n\tind      int\n\tcomplete bool // if the current position is a complete line\n\tcompact  bool // whether to write out as a one-liner\n\tw        writer\n}\n\nfunc (w *textWriter) WriteString(s string) (n int, err error) {\n\tif !strings.Contains(s, \"\\n\") {\n\t\tif !w.compact && w.complete {\n\t\t\tw.writeIndent()\n\t\t}\n\t\tw.complete = false\n\t\treturn io.WriteString(w.w, s)\n\t}\n\t// WriteString is typically called without newlines, so this\n\t// codepath and its copy are rare.  We copy to avoid\n\t// duplicating all of Write's logic here.\n\treturn w.Write([]byte(s))\n}\n\nfunc (w *textWriter) Write(p []byte) (n int, err error) {\n\tnewlines := bytes.Count(p, newline)\n\tif newlines == 0 {\n\t\tif !w.compact && w.complete {\n\t\t\tw.writeIndent()\n\t\t}\n\t\tn, err = w.w.Write(p)\n\t\tw.complete = false\n\t\treturn n, err\n\t}\n\n\tfrags := bytes.SplitN(p, newline, newlines+1)\n\tif w.compact {\n\t\tfor i, frag := range frags {\n\t\t\tif i > 0 {\n\t\t\t\tif err := w.w.WriteByte(' '); err != nil {\n\t\t\t\t\treturn n, err\n\t\t\t\t}\n\t\t\t\tn++\n\t\t\t}\n\t\t\tnn, err := w.w.Write(frag)\n\t\t\tn += nn\n\t\t\tif err != nil {\n\t\t\t\treturn n, err\n\t\t\t}\n\t\t}\n\t\treturn n, nil\n\t}\n\n\tfor i, frag := range frags {\n\t\tif w.complete {\n\t\t\tw.writeIndent()\n\t\t}\n\t\tnn, err := w.w.Write(frag)\n\t\tn += nn\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tif i+1 < len(frags) {\n\t\t\tif err := w.w.WriteByte('\\n'); err != nil {\n\t\t\t\treturn n, err\n\t\t\t}\n\t\t\tn++\n\t\t}\n\t}\n\tw.complete = len(frags[len(frags)-1]) == 0\n\treturn n, nil\n}\n\nfunc (w *textWriter) WriteByte(c byte) error {\n\tif w.compact && c == '\\n' {\n\t\tc = ' '\n\t}\n\tif !w.compact && w.complete {\n\t\tw.writeIndent()\n\t}\n\terr := w.w.WriteByte(c)\n\tw.complete = c == '\\n'\n\treturn err\n}\n\nfunc (w *textWriter) indent() { w.ind++ }\n\nfunc (w *textWriter) unindent() {\n\tif w.ind == 0 {\n\t\tlog.Print(\"proto: textWriter unindented too far\")\n\t\treturn\n\t}\n\tw.ind--\n}\n\nfunc writeName(w *textWriter, props *Properties) error {\n\tif _, err := w.WriteString(props.OrigName); err != nil {\n\t\treturn err\n\t}\n\tif props.Wire != \"group\" {\n\t\treturn w.WriteByte(':')\n\t}\n\treturn nil\n}\n\n// raw is the interface satisfied by RawMessage.\ntype raw interface {\n\tBytes() []byte\n}\n\nfunc requiresQuotes(u string) bool {\n\t// When type URL contains any characters except [0-9A-Za-z./\\-]*, it must be quoted.\n\tfor _, ch := range u {\n\t\tswitch {\n\t\tcase ch == '.' || ch == '/' || ch == '_':\n\t\t\tcontinue\n\t\tcase '0' <= ch && ch <= '9':\n\t\t\tcontinue\n\t\tcase 'A' <= ch && ch <= 'Z':\n\t\t\tcontinue\n\t\tcase 'a' <= ch && ch <= 'z':\n\t\t\tcontinue\n\t\tdefault:\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// isAny reports whether sv is a google.protobuf.Any message\nfunc isAny(sv reflect.Value) bool {\n\ttype wkt interface {\n\t\tXXX_WellKnownType() string\n\t}\n\tt, ok := sv.Addr().Interface().(wkt)\n\treturn ok && t.XXX_WellKnownType() == \"Any\"\n}\n\n// writeProto3Any writes an expanded google.protobuf.Any message.\n//\n// It returns (false, nil) if sv value can't be unmarshaled (e.g. because\n// required messages are not linked in).\n//\n// It returns (true, error) when sv was written in expanded format or an error\n// was encountered.\nfunc (tm *TextMarshaler) writeProto3Any(w *textWriter, sv reflect.Value) (bool, error) {\n\tturl := sv.FieldByName(\"TypeUrl\")\n\tval := sv.FieldByName(\"Value\")\n\tif !turl.IsValid() || !val.IsValid() {\n\t\treturn true, errors.New(\"proto: invalid google.protobuf.Any message\")\n\t}\n\n\tb, ok := val.Interface().([]byte)\n\tif !ok {\n\t\treturn true, errors.New(\"proto: invalid google.protobuf.Any message\")\n\t}\n\n\tparts := strings.Split(turl.String(), \"/\")\n\tmt := MessageType(parts[len(parts)-1])\n\tif mt == nil {\n\t\treturn false, nil\n\t}\n\tm := reflect.New(mt.Elem())\n\tif err := Unmarshal(b, m.Interface().(Message)); err != nil {\n\t\treturn false, nil\n\t}\n\tw.Write([]byte(\"[\"))\n\tu := turl.String()\n\tif requiresQuotes(u) {\n\t\twriteString(w, u)\n\t} else {\n\t\tw.Write([]byte(u))\n\t}\n\tif w.compact {\n\t\tw.Write([]byte(\"]:<\"))\n\t} else {\n\t\tw.Write([]byte(\"]: <\\n\"))\n\t\tw.ind++\n\t}\n\tif err := tm.writeStruct(w, m.Elem()); err != nil {\n\t\treturn true, err\n\t}\n\tif w.compact {\n\t\tw.Write([]byte(\"> \"))\n\t} else {\n\t\tw.ind--\n\t\tw.Write([]byte(\">\\n\"))\n\t}\n\treturn true, nil\n}\n\nfunc (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error {\n\tif tm.ExpandAny && isAny(sv) {\n\t\tif canExpand, err := tm.writeProto3Any(w, sv); canExpand {\n\t\t\treturn err\n\t\t}\n\t}\n\tst := sv.Type()\n\tsprops := GetProperties(st)\n\tfor i := 0; i < sv.NumField(); i++ {\n\t\tfv := sv.Field(i)\n\t\tprops := sprops.Prop[i]\n\t\tname := st.Field(i).Name\n\n\t\tif strings.HasPrefix(name, \"XXX_\") {\n\t\t\t// There are two XXX_ fields:\n\t\t\t//   XXX_unrecognized []byte\n\t\t\t//   XXX_extensions   map[int32]proto.Extension\n\t\t\t// The first is handled here;\n\t\t\t// the second is handled at the bottom of this function.\n\t\t\tif name == \"XXX_unrecognized\" && !fv.IsNil() {\n\t\t\t\tif err := writeUnknownStruct(w, fv.Interface().([]byte)); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() == reflect.Ptr && fv.IsNil() {\n\t\t\t// Field not filled in. This could be an optional field or\n\t\t\t// a required field that wasn't filled in. Either way, there\n\t\t\t// isn't anything we can show for it.\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() == reflect.Slice && fv.IsNil() {\n\t\t\t// Repeated field that is empty, or a bytes field that is unused.\n\t\t\tcontinue\n\t\t}\n\n\t\tif props.Repeated && fv.Kind() == reflect.Slice {\n\t\t\t// Repeated field.\n\t\t\tfor j := 0; j < fv.Len(); j++ {\n\t\t\t\tif err := writeName(w, props); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tv := fv.Index(j)\n\t\t\t\tif v.Kind() == reflect.Ptr && v.IsNil() {\n\t\t\t\t\t// A nil message in a repeated field is not valid,\n\t\t\t\t\t// but we can handle that more gracefully than panicking.\n\t\t\t\t\tif _, err := w.Write([]byte(\"<nil>\\n\")); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif len(props.Enum) > 0 {\n\t\t\t\t\tif err := tm.writeEnum(w, v, props); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t} else if err := tm.writeAny(w, v, props); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() == reflect.Map {\n\t\t\t// Map fields are rendered as a repeated struct with key/value fields.\n\t\t\tkeys := fv.MapKeys()\n\t\t\tsort.Sort(mapKeys(keys))\n\t\t\tfor _, key := range keys {\n\t\t\t\tval := fv.MapIndex(key)\n\t\t\t\tif err := writeName(w, props); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// open struct\n\t\t\t\tif err := w.WriteByte('<'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tw.indent()\n\t\t\t\t// key\n\t\t\t\tif _, err := w.WriteString(\"key:\"); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif err := tm.writeAny(w, key, props.mkeyprop); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\t// nil values aren't legal, but we can avoid panicking because of them.\n\t\t\t\tif val.Kind() != reflect.Ptr || !val.IsNil() {\n\t\t\t\t\t// value\n\t\t\t\t\tif _, err := w.WriteString(\"value:\"); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif !w.compact {\n\t\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\t\treturn err\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif err := tm.writeAny(w, val, props.mvalprop); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// close struct\n\t\t\t\tw.unindent()\n\t\t\t\tif err := w.WriteByte('>'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif props.proto3 && fv.Kind() == reflect.Slice && fv.Len() == 0 {\n\t\t\t// empty bytes field\n\t\t\tcontinue\n\t\t}\n\t\tif props.proto3 && fv.Kind() != reflect.Ptr && fv.Kind() != reflect.Slice {\n\t\t\t// proto3 non-repeated scalar field; skip if zero value\n\t\t\tif isProto3Zero(fv) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\tif fv.Kind() == reflect.Interface {\n\t\t\t// Check if it is a oneof.\n\t\t\tif st.Field(i).Tag.Get(\"protobuf_oneof\") != \"\" {\n\t\t\t\t// fv is nil, or holds a pointer to generated struct.\n\t\t\t\t// That generated struct has exactly one field,\n\t\t\t\t// which has a protobuf struct tag.\n\t\t\t\tif fv.IsNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tinner := fv.Elem().Elem() // interface -> *T -> T\n\t\t\t\ttag := inner.Type().Field(0).Tag.Get(\"protobuf\")\n\t\t\t\tprops = new(Properties) // Overwrite the outer props var, but not its pointee.\n\t\t\t\tprops.Parse(tag)\n\t\t\t\t// Write the value in the oneof, not the oneof itself.\n\t\t\t\tfv = inner.Field(0)\n\n\t\t\t\t// Special case to cope with malformed messages gracefully:\n\t\t\t\t// If the value in the oneof is a nil pointer, don't panic\n\t\t\t\t// in writeAny.\n\t\t\t\tif fv.Kind() == reflect.Ptr && fv.IsNil() {\n\t\t\t\t\t// Use errors.New so writeAny won't render quotes.\n\t\t\t\t\tmsg := errors.New(\"/* nil */\")\n\t\t\t\t\tfv = reflect.ValueOf(&msg).Elem()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif err := writeName(w, props); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !w.compact {\n\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tif b, ok := fv.Interface().(raw); ok {\n\t\t\tif err := writeRaw(w, b.Bytes()); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tif len(props.Enum) > 0 {\n\t\t\tif err := tm.writeEnum(w, fv, props); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else if err := tm.writeAny(w, fv, props); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Extensions (the XXX_extensions field).\n\tpv := sv\n\tif pv.CanAddr() {\n\t\tpv = sv.Addr()\n\t} else {\n\t\tpv = reflect.New(sv.Type())\n\t\tpv.Elem().Set(sv)\n\t}\n\tif pv.Type().Implements(extensionRangeType) {\n\t\tif err := tm.writeExtensions(w, pv); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// writeRaw writes an uninterpreted raw message.\nfunc writeRaw(w *textWriter, b []byte) error {\n\tif err := w.WriteByte('<'); err != nil {\n\t\treturn err\n\t}\n\tif !w.compact {\n\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tw.indent()\n\tif err := writeUnknownStruct(w, b); err != nil {\n\t\treturn err\n\t}\n\tw.unindent()\n\tif err := w.WriteByte('>'); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// writeAny writes an arbitrary field.\nfunc (tm *TextMarshaler) writeAny(w *textWriter, v reflect.Value, props *Properties) error {\n\tv = reflect.Indirect(v)\n\n\tif props != nil {\n\t\tif len(props.CustomType) > 0 {\n\t\t\tcustom, ok := v.Interface().(Marshaler)\n\t\t\tif ok {\n\t\t\t\tdata, err := custom.Marshal()\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := writeString(w, string(data)); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\treturn nil\n\t\t\t}\n\t\t} else if len(props.CastType) > 0 {\n\t\t\tif _, ok := v.Interface().(interface {\n\t\t\t\tString() string\n\t\t\t}); ok {\n\t\t\t\tswitch v.Kind() {\n\t\t\t\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,\n\t\t\t\t\treflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:\n\t\t\t\t\t_, err := fmt.Fprintf(w, \"%d\", v.Interface())\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t} else if props.StdTime {\n\t\t\tt, ok := v.Interface().(time.Time)\n\t\t\tif !ok {\n\t\t\t\treturn fmt.Errorf(\"stdtime is not time.Time, but %T\", v.Interface())\n\t\t\t}\n\t\t\ttproto, err := timestampProto(t)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tpropsCopy := *props // Make a copy so that this is goroutine-safe\n\t\t\tpropsCopy.StdTime = false\n\t\t\terr = tm.writeAny(w, reflect.ValueOf(tproto), &propsCopy)\n\t\t\treturn err\n\t\t} else if props.StdDuration {\n\t\t\td, ok := v.Interface().(time.Duration)\n\t\t\tif !ok {\n\t\t\t\treturn fmt.Errorf(\"stdtime is not time.Duration, but %T\", v.Interface())\n\t\t\t}\n\t\t\tdproto := durationProto(d)\n\t\t\tpropsCopy := *props // Make a copy so that this is goroutine-safe\n\t\t\tpropsCopy.StdDuration = false\n\t\t\terr := tm.writeAny(w, reflect.ValueOf(dproto), &propsCopy)\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Floats have special cases.\n\tif v.Kind() == reflect.Float32 || v.Kind() == reflect.Float64 {\n\t\tx := v.Float()\n\t\tvar b []byte\n\t\tswitch {\n\t\tcase math.IsInf(x, 1):\n\t\t\tb = posInf\n\t\tcase math.IsInf(x, -1):\n\t\t\tb = negInf\n\t\tcase math.IsNaN(x):\n\t\t\tb = nan\n\t\t}\n\t\tif b != nil {\n\t\t\t_, err := w.Write(b)\n\t\t\treturn err\n\t\t}\n\t\t// Other values are handled below.\n\t}\n\n\t// We don't attempt to serialise every possible value type; only those\n\t// that can occur in protocol buffers.\n\tswitch v.Kind() {\n\tcase reflect.Slice:\n\t\t// Should only be a []byte; repeated fields are handled in writeStruct.\n\t\tif err := writeString(w, string(v.Bytes())); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase reflect.String:\n\t\tif err := writeString(w, v.String()); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase reflect.Struct:\n\t\t// Required/optional group/message.\n\t\tvar bra, ket byte = '<', '>'\n\t\tif props != nil && props.Wire == \"group\" {\n\t\t\tbra, ket = '{', '}'\n\t\t}\n\t\tif err := w.WriteByte(bra); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !w.compact {\n\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tw.indent()\n\t\tif etm, ok := v.Interface().(encoding.TextMarshaler); ok {\n\t\t\ttext, err := etm.MarshalText()\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif _, err = w.Write(text); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else if err := tm.writeStruct(w, v); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tw.unindent()\n\t\tif err := w.WriteByte(ket); err != nil {\n\t\t\treturn err\n\t\t}\n\tdefault:\n\t\t_, err := fmt.Fprint(w, v.Interface())\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// equivalent to C's isprint.\nfunc isprint(c byte) bool {\n\treturn c >= 0x20 && c < 0x7f\n}\n\n// writeString writes a string in the protocol buffer text format.\n// It is similar to strconv.Quote except we don't use Go escape sequences,\n// we treat the string as a byte sequence, and we use octal escapes.\n// These differences are to maintain interoperability with the other\n// languages' implementations of the text format.\nfunc writeString(w *textWriter, s string) error {\n\t// use WriteByte here to get any needed indent\n\tif err := w.WriteByte('\"'); err != nil {\n\t\treturn err\n\t}\n\t// Loop over the bytes, not the runes.\n\tfor i := 0; i < len(s); i++ {\n\t\tvar err error\n\t\t// Divergence from C++: we don't escape apostrophes.\n\t\t// There's no need to escape them, and the C++ parser\n\t\t// copes with a naked apostrophe.\n\t\tswitch c := s[i]; c {\n\t\tcase '\\n':\n\t\t\t_, err = w.w.Write(backslashN)\n\t\tcase '\\r':\n\t\t\t_, err = w.w.Write(backslashR)\n\t\tcase '\\t':\n\t\t\t_, err = w.w.Write(backslashT)\n\t\tcase '\"':\n\t\t\t_, err = w.w.Write(backslashDQ)\n\t\tcase '\\\\':\n\t\t\t_, err = w.w.Write(backslashBS)\n\t\tdefault:\n\t\t\tif isprint(c) {\n\t\t\t\terr = w.w.WriteByte(c)\n\t\t\t} else {\n\t\t\t\t_, err = fmt.Fprintf(w.w, \"\\\\%03o\", c)\n\t\t\t}\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn w.WriteByte('\"')\n}\n\nfunc writeUnknownStruct(w *textWriter, data []byte) (err error) {\n\tif !w.compact {\n\t\tif _, err := fmt.Fprintf(w, \"/* %d unknown bytes */\\n\", len(data)); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tb := NewBuffer(data)\n\tfor b.index < len(b.buf) {\n\t\tx, err := b.DecodeVarint()\n\t\tif err != nil {\n\t\t\t_, ferr := fmt.Fprintf(w, \"/* %v */\\n\", err)\n\t\t\treturn ferr\n\t\t}\n\t\twire, tag := x&7, x>>3\n\t\tif wire == WireEndGroup {\n\t\t\tw.unindent()\n\t\t\tif _, werr := w.Write(endBraceNewline); werr != nil {\n\t\t\t\treturn werr\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif _, ferr := fmt.Fprint(w, tag); ferr != nil {\n\t\t\treturn ferr\n\t\t}\n\t\tif wire != WireStartGroup {\n\t\t\tif err = w.WriteByte(':'); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tif !w.compact || wire == WireStartGroup {\n\t\t\tif err = w.WriteByte(' '); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tswitch wire {\n\t\tcase WireBytes:\n\t\t\tbuf, e := b.DecodeRawBytes(false)\n\t\t\tif e == nil {\n\t\t\t\t_, err = fmt.Fprintf(w, \"%q\", buf)\n\t\t\t} else {\n\t\t\t\t_, err = fmt.Fprintf(w, \"/* %v */\", e)\n\t\t\t}\n\t\tcase WireFixed32:\n\t\t\tx, err = b.DecodeFixed32()\n\t\t\terr = writeUnknownInt(w, x, err)\n\t\tcase WireFixed64:\n\t\t\tx, err = b.DecodeFixed64()\n\t\t\terr = writeUnknownInt(w, x, err)\n\t\tcase WireStartGroup:\n\t\t\terr = w.WriteByte('{')\n\t\t\tw.indent()\n\t\tcase WireVarint:\n\t\t\tx, err = b.DecodeVarint()\n\t\t\terr = writeUnknownInt(w, x, err)\n\t\tdefault:\n\t\t\t_, err = fmt.Fprintf(w, \"/* unknown wire type %d */\", wire)\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc writeUnknownInt(w *textWriter, x uint64, err error) error {\n\tif err == nil {\n\t\t_, err = fmt.Fprint(w, x)\n\t} else {\n\t\t_, err = fmt.Fprintf(w, \"/* %v */\", err)\n\t}\n\treturn err\n}\n\ntype int32Slice []int32\n\nfunc (s int32Slice) Len() int           { return len(s) }\nfunc (s int32Slice) Less(i, j int) bool { return s[i] < s[j] }\nfunc (s int32Slice) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }\n\n// writeExtensions writes all the extensions in pv.\n// pv is assumed to be a pointer to a protocol message struct that is extendable.\nfunc (tm *TextMarshaler) writeExtensions(w *textWriter, pv reflect.Value) error {\n\temap := extensionMaps[pv.Type().Elem()]\n\te := pv.Interface().(Message)\n\n\tvar m map[int32]Extension\n\tvar mu sync.Locker\n\tif em, ok := e.(extensionsBytes); ok {\n\t\teb := em.GetExtensions()\n\t\tvar err error\n\t\tm, err = BytesToExtensionsMap(*eb)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmu = notLocker{}\n\t} else if _, ok := e.(extendableProto); ok {\n\t\tep, _ := extendable(e)\n\t\tm, mu = ep.extensionsRead()\n\t\tif m == nil {\n\t\t\treturn nil\n\t\t}\n\t}\n\n\t// Order the extensions by ID.\n\t// This isn't strictly necessary, but it will give us\n\t// canonical output, which will also make testing easier.\n\n\tmu.Lock()\n\tids := make([]int32, 0, len(m))\n\tfor id := range m {\n\t\tids = append(ids, id)\n\t}\n\tsort.Sort(int32Slice(ids))\n\tmu.Unlock()\n\n\tfor _, extNum := range ids {\n\t\text := m[extNum]\n\t\tvar desc *ExtensionDesc\n\t\tif emap != nil {\n\t\t\tdesc = emap[extNum]\n\t\t}\n\t\tif desc == nil {\n\t\t\t// Unknown extension.\n\t\t\tif err := writeUnknownStruct(w, ext.enc); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tpb, err := GetExtension(e, desc)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed getting extension: %v\", err)\n\t\t}\n\n\t\t// Repeated extensions will appear as a slice.\n\t\tif !desc.repeated() {\n\t\t\tif err := tm.writeExtension(w, desc.Name, pb); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else {\n\t\t\tv := reflect.ValueOf(pb)\n\t\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\t\tif err := tm.writeExtension(w, desc.Name, v.Index(i).Interface()); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (tm *TextMarshaler) writeExtension(w *textWriter, name string, pb interface{}) error {\n\tif _, err := fmt.Fprintf(w, \"[%s]:\", name); err != nil {\n\t\treturn err\n\t}\n\tif !w.compact {\n\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tif err := tm.writeAny(w, reflect.ValueOf(pb), nil); err != nil {\n\t\treturn err\n\t}\n\tif err := w.WriteByte('\\n'); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc (w *textWriter) writeIndent() {\n\tif !w.complete {\n\t\treturn\n\t}\n\tremain := w.ind * 2\n\tfor remain > 0 {\n\t\tn := remain\n\t\tif n > len(spaces) {\n\t\t\tn = len(spaces)\n\t\t}\n\t\tw.w.Write(spaces[:n])\n\t\tremain -= n\n\t}\n\tw.complete = false\n}\n\n// TextMarshaler is a configurable text format marshaler.\ntype TextMarshaler struct {\n\tCompact   bool // use compact text format (one line).\n\tExpandAny bool // expand google.protobuf.Any messages of known types\n}\n\n// Marshal writes a given protocol buffer in text format.\n// The only errors returned are from w.\nfunc (tm *TextMarshaler) Marshal(w io.Writer, pb Message) error {\n\tval := reflect.ValueOf(pb)\n\tif pb == nil || val.IsNil() {\n\t\tw.Write([]byte(\"<nil>\"))\n\t\treturn nil\n\t}\n\tvar bw *bufio.Writer\n\tww, ok := w.(writer)\n\tif !ok {\n\t\tbw = bufio.NewWriter(w)\n\t\tww = bw\n\t}\n\taw := &textWriter{\n\t\tw:        ww,\n\t\tcomplete: true,\n\t\tcompact:  tm.Compact,\n\t}\n\n\tif etm, ok := pb.(encoding.TextMarshaler); ok {\n\t\ttext, err := etm.MarshalText()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif _, err = aw.Write(text); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif bw != nil {\n\t\t\treturn bw.Flush()\n\t\t}\n\t\treturn nil\n\t}\n\t// Dereference the received pointer so we don't have outer < and >.\n\tv := reflect.Indirect(val)\n\tif err := tm.writeStruct(aw, v); err != nil {\n\t\treturn err\n\t}\n\tif bw != nil {\n\t\treturn bw.Flush()\n\t}\n\treturn nil\n}\n\n// Text is the same as Marshal, but returns the string directly.\nfunc (tm *TextMarshaler) Text(pb Message) string {\n\tvar buf bytes.Buffer\n\ttm.Marshal(&buf, pb)\n\treturn buf.String()\n}\n\nvar (\n\tdefaultTextMarshaler = TextMarshaler{}\n\tcompactTextMarshaler = TextMarshaler{Compact: true}\n)\n\n// TODO: consider removing some of the Marshal functions below.\n\n// MarshalText writes a given protocol buffer in text format.\n// The only errors returned are from w.\nfunc MarshalText(w io.Writer, pb Message) error { return defaultTextMarshaler.Marshal(w, pb) }\n\n// MarshalTextString is the same as MarshalText, but returns the string directly.\nfunc MarshalTextString(pb Message) string { return defaultTextMarshaler.Text(pb) }\n\n// CompactText writes a given protocol buffer in compact text format (one line).\nfunc CompactText(w io.Writer, pb Message) error { return compactTextMarshaler.Marshal(w, pb) }\n\n// CompactTextString is the same as CompactText, but returns the string directly.\nfunc CompactTextString(pb Message) string { return compactTextMarshaler.Text(pb) }\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/text_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"fmt\"\n\t\"reflect\"\n)\n\nfunc (tm *TextMarshaler) writeEnum(w *textWriter, v reflect.Value, props *Properties) error {\n\tm, ok := enumStringMaps[props.Enum]\n\tif !ok {\n\t\tif err := tm.writeAny(w, v, props); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tkey := int32(0)\n\tif v.Kind() == reflect.Ptr {\n\t\tkey = int32(v.Elem().Int())\n\t} else {\n\t\tkey = int32(v.Int())\n\t}\n\ts, ok := m[key]\n\tif !ok {\n\t\tif err := tm.writeAny(w, v, props); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\t_, err := fmt.Fprint(w, s)\n\treturn err\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/text_parser.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n// Functions for parsing the Text protocol buffer format.\n// TODO: message sets.\n\nimport (\n\t\"encoding\"\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\t\"unicode/utf8\"\n)\n\n// Error string emitted when deserializing Any and fields are already set\nconst anyRepeatedlyUnpacked = \"Any message unpacked multiple times, or %q already set\"\n\ntype ParseError struct {\n\tMessage string\n\tLine    int // 1-based line number\n\tOffset  int // 0-based byte offset from start of input\n}\n\nfunc (p *ParseError) Error() string {\n\tif p.Line == 1 {\n\t\t// show offset only for first line\n\t\treturn fmt.Sprintf(\"line 1.%d: %v\", p.Offset, p.Message)\n\t}\n\treturn fmt.Sprintf(\"line %d: %v\", p.Line, p.Message)\n}\n\ntype token struct {\n\tvalue    string\n\terr      *ParseError\n\tline     int    // line number\n\toffset   int    // byte number from start of input, not start of line\n\tunquoted string // the unquoted version of value, if it was a quoted string\n}\n\nfunc (t *token) String() string {\n\tif t.err == nil {\n\t\treturn fmt.Sprintf(\"%q (line=%d, offset=%d)\", t.value, t.line, t.offset)\n\t}\n\treturn fmt.Sprintf(\"parse error: %v\", t.err)\n}\n\ntype textParser struct {\n\ts            string // remaining input\n\tdone         bool   // whether the parsing is finished (success or error)\n\tbacked       bool   // whether back() was called\n\toffset, line int\n\tcur          token\n}\n\nfunc newTextParser(s string) *textParser {\n\tp := new(textParser)\n\tp.s = s\n\tp.line = 1\n\tp.cur.line = 1\n\treturn p\n}\n\nfunc (p *textParser) errorf(format string, a ...interface{}) *ParseError {\n\tpe := &ParseError{fmt.Sprintf(format, a...), p.cur.line, p.cur.offset}\n\tp.cur.err = pe\n\tp.done = true\n\treturn pe\n}\n\n// Numbers and identifiers are matched by [-+._A-Za-z0-9]\nfunc isIdentOrNumberChar(c byte) bool {\n\tswitch {\n\tcase 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z':\n\t\treturn true\n\tcase '0' <= c && c <= '9':\n\t\treturn true\n\t}\n\tswitch c {\n\tcase '-', '+', '.', '_':\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc isWhitespace(c byte) bool {\n\tswitch c {\n\tcase ' ', '\\t', '\\n', '\\r':\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc isQuote(c byte) bool {\n\tswitch c {\n\tcase '\"', '\\'':\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc (p *textParser) skipWhitespace() {\n\ti := 0\n\tfor i < len(p.s) && (isWhitespace(p.s[i]) || p.s[i] == '#') {\n\t\tif p.s[i] == '#' {\n\t\t\t// comment; skip to end of line or input\n\t\t\tfor i < len(p.s) && p.s[i] != '\\n' {\n\t\t\t\ti++\n\t\t\t}\n\t\t\tif i == len(p.s) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif p.s[i] == '\\n' {\n\t\t\tp.line++\n\t\t}\n\t\ti++\n\t}\n\tp.offset += i\n\tp.s = p.s[i:len(p.s)]\n\tif len(p.s) == 0 {\n\t\tp.done = true\n\t}\n}\n\nfunc (p *textParser) advance() {\n\t// Skip whitespace\n\tp.skipWhitespace()\n\tif p.done {\n\t\treturn\n\t}\n\n\t// Start of non-whitespace\n\tp.cur.err = nil\n\tp.cur.offset, p.cur.line = p.offset, p.line\n\tp.cur.unquoted = \"\"\n\tswitch p.s[0] {\n\tcase '<', '>', '{', '}', ':', '[', ']', ';', ',', '/':\n\t\t// Single symbol\n\t\tp.cur.value, p.s = p.s[0:1], p.s[1:len(p.s)]\n\tcase '\"', '\\'':\n\t\t// Quoted string\n\t\ti := 1\n\t\tfor i < len(p.s) && p.s[i] != p.s[0] && p.s[i] != '\\n' {\n\t\t\tif p.s[i] == '\\\\' && i+1 < len(p.s) {\n\t\t\t\t// skip escaped char\n\t\t\t\ti++\n\t\t\t}\n\t\t\ti++\n\t\t}\n\t\tif i >= len(p.s) || p.s[i] != p.s[0] {\n\t\t\tp.errorf(\"unmatched quote\")\n\t\t\treturn\n\t\t}\n\t\tunq, err := unquoteC(p.s[1:i], rune(p.s[0]))\n\t\tif err != nil {\n\t\t\tp.errorf(\"invalid quoted string %s: %v\", p.s[0:i+1], err)\n\t\t\treturn\n\t\t}\n\t\tp.cur.value, p.s = p.s[0:i+1], p.s[i+1:len(p.s)]\n\t\tp.cur.unquoted = unq\n\tdefault:\n\t\ti := 0\n\t\tfor i < len(p.s) && isIdentOrNumberChar(p.s[i]) {\n\t\t\ti++\n\t\t}\n\t\tif i == 0 {\n\t\t\tp.errorf(\"unexpected byte %#x\", p.s[0])\n\t\t\treturn\n\t\t}\n\t\tp.cur.value, p.s = p.s[0:i], p.s[i:len(p.s)]\n\t}\n\tp.offset += len(p.cur.value)\n}\n\nvar (\n\terrBadUTF8 = errors.New(\"proto: bad UTF-8\")\n\terrBadHex  = errors.New(\"proto: bad hexadecimal\")\n)\n\nfunc unquoteC(s string, quote rune) (string, error) {\n\t// This is based on C++'s tokenizer.cc.\n\t// Despite its name, this is *not* parsing C syntax.\n\t// For instance, \"\\0\" is an invalid quoted string.\n\n\t// Avoid allocation in trivial cases.\n\tsimple := true\n\tfor _, r := range s {\n\t\tif r == '\\\\' || r == quote {\n\t\t\tsimple = false\n\t\t\tbreak\n\t\t}\n\t}\n\tif simple {\n\t\treturn s, nil\n\t}\n\n\tbuf := make([]byte, 0, 3*len(s)/2)\n\tfor len(s) > 0 {\n\t\tr, n := utf8.DecodeRuneInString(s)\n\t\tif r == utf8.RuneError && n == 1 {\n\t\t\treturn \"\", errBadUTF8\n\t\t}\n\t\ts = s[n:]\n\t\tif r != '\\\\' {\n\t\t\tif r < utf8.RuneSelf {\n\t\t\t\tbuf = append(buf, byte(r))\n\t\t\t} else {\n\t\t\t\tbuf = append(buf, string(r)...)\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tch, tail, err := unescape(s)\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t\tbuf = append(buf, ch...)\n\t\ts = tail\n\t}\n\treturn string(buf), nil\n}\n\nfunc unescape(s string) (ch string, tail string, err error) {\n\tr, n := utf8.DecodeRuneInString(s)\n\tif r == utf8.RuneError && n == 1 {\n\t\treturn \"\", \"\", errBadUTF8\n\t}\n\ts = s[n:]\n\tswitch r {\n\tcase 'a':\n\t\treturn \"\\a\", s, nil\n\tcase 'b':\n\t\treturn \"\\b\", s, nil\n\tcase 'f':\n\t\treturn \"\\f\", s, nil\n\tcase 'n':\n\t\treturn \"\\n\", s, nil\n\tcase 'r':\n\t\treturn \"\\r\", s, nil\n\tcase 't':\n\t\treturn \"\\t\", s, nil\n\tcase 'v':\n\t\treturn \"\\v\", s, nil\n\tcase '?':\n\t\treturn \"?\", s, nil // trigraph workaround\n\tcase '\\'', '\"', '\\\\':\n\t\treturn string(r), s, nil\n\tcase '0', '1', '2', '3', '4', '5', '6', '7', 'x', 'X':\n\t\tif len(s) < 2 {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%c requires 2 following digits`, r)\n\t\t}\n\t\tbase := 8\n\t\tss := s[:2]\n\t\ts = s[2:]\n\t\tif r == 'x' || r == 'X' {\n\t\t\tbase = 16\n\t\t} else {\n\t\t\tss = string(r) + ss\n\t\t}\n\t\ti, err := strconv.ParseUint(ss, base, 8)\n\t\tif err != nil {\n\t\t\treturn \"\", \"\", err\n\t\t}\n\t\treturn string([]byte{byte(i)}), s, nil\n\tcase 'u', 'U':\n\t\tn := 4\n\t\tif r == 'U' {\n\t\t\tn = 8\n\t\t}\n\t\tif len(s) < n {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%c requires %d digits`, r, n)\n\t\t}\n\n\t\tbs := make([]byte, n/2)\n\t\tfor i := 0; i < n; i += 2 {\n\t\t\ta, ok1 := unhex(s[i])\n\t\t\tb, ok2 := unhex(s[i+1])\n\t\t\tif !ok1 || !ok2 {\n\t\t\t\treturn \"\", \"\", errBadHex\n\t\t\t}\n\t\t\tbs[i/2] = a<<4 | b\n\t\t}\n\t\ts = s[n:]\n\t\treturn string(bs), s, nil\n\t}\n\treturn \"\", \"\", fmt.Errorf(`unknown escape \\%c`, r)\n}\n\n// Adapted from src/pkg/strconv/quote.go.\nfunc unhex(b byte) (v byte, ok bool) {\n\tswitch {\n\tcase '0' <= b && b <= '9':\n\t\treturn b - '0', true\n\tcase 'a' <= b && b <= 'f':\n\t\treturn b - 'a' + 10, true\n\tcase 'A' <= b && b <= 'F':\n\t\treturn b - 'A' + 10, true\n\t}\n\treturn 0, false\n}\n\n// Back off the parser by one token. Can only be done between calls to next().\n// It makes the next advance() a no-op.\nfunc (p *textParser) back() { p.backed = true }\n\n// Advances the parser and returns the new current token.\nfunc (p *textParser) next() *token {\n\tif p.backed || p.done {\n\t\tp.backed = false\n\t\treturn &p.cur\n\t}\n\tp.advance()\n\tif p.done {\n\t\tp.cur.value = \"\"\n\t} else if len(p.cur.value) > 0 && isQuote(p.cur.value[0]) {\n\t\t// Look for multiple quoted strings separated by whitespace,\n\t\t// and concatenate them.\n\t\tcat := p.cur\n\t\tfor {\n\t\t\tp.skipWhitespace()\n\t\t\tif p.done || !isQuote(p.s[0]) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tp.advance()\n\t\t\tif p.cur.err != nil {\n\t\t\t\treturn &p.cur\n\t\t\t}\n\t\t\tcat.value += \" \" + p.cur.value\n\t\t\tcat.unquoted += p.cur.unquoted\n\t\t}\n\t\tp.done = false // parser may have seen EOF, but we want to return cat\n\t\tp.cur = cat\n\t}\n\treturn &p.cur\n}\n\nfunc (p *textParser) consumeToken(s string) error {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value != s {\n\t\tp.back()\n\t\treturn p.errorf(\"expected %q, found %q\", s, tok.value)\n\t}\n\treturn nil\n}\n\n// Return a RequiredNotSetError indicating which required field was not set.\nfunc (p *textParser) missingRequiredFieldError(sv reflect.Value) *RequiredNotSetError {\n\tst := sv.Type()\n\tsprops := GetProperties(st)\n\tfor i := 0; i < st.NumField(); i++ {\n\t\tif !isNil(sv.Field(i)) {\n\t\t\tcontinue\n\t\t}\n\n\t\tprops := sprops.Prop[i]\n\t\tif props.Required {\n\t\t\treturn &RequiredNotSetError{fmt.Sprintf(\"%v.%v\", st, props.OrigName)}\n\t\t}\n\t}\n\treturn &RequiredNotSetError{fmt.Sprintf(\"%v.<unknown field name>\", st)} // should not happen\n}\n\n// Returns the index in the struct for the named field, as well as the parsed tag properties.\nfunc structFieldByName(sprops *StructProperties, name string) (int, *Properties, bool) {\n\ti, ok := sprops.decoderOrigNames[name]\n\tif ok {\n\t\treturn i, sprops.Prop[i], true\n\t}\n\treturn -1, nil, false\n}\n\n// Consume a ':' from the input stream (if the next token is a colon),\n// returning an error if a colon is needed but not present.\nfunc (p *textParser) checkForColon(props *Properties, typ reflect.Type) *ParseError {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value != \":\" {\n\t\t// Colon is optional when the field is a group or message.\n\t\tneedColon := true\n\t\tswitch props.Wire {\n\t\tcase \"group\":\n\t\t\tneedColon = false\n\t\tcase \"bytes\":\n\t\t\t// A \"bytes\" field is either a message, a string, or a repeated field;\n\t\t\t// those three become *T, *string and []T respectively, so we can check for\n\t\t\t// this field being a pointer to a non-string.\n\t\t\tif typ.Kind() == reflect.Ptr {\n\t\t\t\t// *T or *string\n\t\t\t\tif typ.Elem().Kind() == reflect.String {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t} else if typ.Kind() == reflect.Slice {\n\t\t\t\t// []T or []*T\n\t\t\t\tif typ.Elem().Kind() != reflect.Ptr {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t} else if typ.Kind() == reflect.String {\n\t\t\t\t// The proto3 exception is for a string field,\n\t\t\t\t// which requires a colon.\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tneedColon = false\n\t\t}\n\t\tif needColon {\n\t\t\treturn p.errorf(\"expected ':', found %q\", tok.value)\n\t\t}\n\t\tp.back()\n\t}\n\treturn nil\n}\n\nfunc (p *textParser) readStruct(sv reflect.Value, terminator string) error {\n\tst := sv.Type()\n\tsprops := GetProperties(st)\n\treqCount := sprops.reqCount\n\tvar reqFieldErr error\n\tfieldSet := make(map[string]bool)\n\t// A struct is a sequence of \"name: value\", terminated by one of\n\t// '>' or '}', or the end of the input.  A name may also be\n\t// \"[extension]\" or \"[type/url]\".\n\t//\n\t// The whole struct can also be an expanded Any message, like:\n\t// [type/url] < ... struct contents ... >\n\tfor {\n\t\ttok := p.next()\n\t\tif tok.err != nil {\n\t\t\treturn tok.err\n\t\t}\n\t\tif tok.value == terminator {\n\t\t\tbreak\n\t\t}\n\t\tif tok.value == \"[\" {\n\t\t\t// Looks like an extension or an Any.\n\t\t\t//\n\t\t\t// TODO: Check whether we need to handle\n\t\t\t// namespace rooted names (e.g. \".something.Foo\").\n\t\t\textName, err := p.consumeExtName()\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\tif s := strings.LastIndex(extName, \"/\"); s >= 0 {\n\t\t\t\t// If it contains a slash, it's an Any type URL.\n\t\t\t\tmessageName := extName[s+1:]\n\t\t\t\tmt := MessageType(messageName)\n\t\t\t\tif mt == nil {\n\t\t\t\t\treturn p.errorf(\"unrecognized message %q in google.protobuf.Any\", messageName)\n\t\t\t\t}\n\t\t\t\ttok = p.next()\n\t\t\t\tif tok.err != nil {\n\t\t\t\t\treturn tok.err\n\t\t\t\t}\n\t\t\t\t// consume an optional colon\n\t\t\t\tif tok.value == \":\" {\n\t\t\t\t\ttok = p.next()\n\t\t\t\t\tif tok.err != nil {\n\t\t\t\t\t\treturn tok.err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar terminator string\n\t\t\t\tswitch tok.value {\n\t\t\t\tcase \"<\":\n\t\t\t\t\tterminator = \">\"\n\t\t\t\tcase \"{\":\n\t\t\t\t\tterminator = \"}\"\n\t\t\t\tdefault:\n\t\t\t\t\treturn p.errorf(\"expected '{' or '<', found %q\", tok.value)\n\t\t\t\t}\n\t\t\t\tv := reflect.New(mt.Elem())\n\t\t\t\tif pe := p.readStruct(v.Elem(), terminator); pe != nil {\n\t\t\t\t\treturn pe\n\t\t\t\t}\n\t\t\t\tb, err := Marshal(v.Interface().(Message))\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn p.errorf(\"failed to marshal message of type %q: %v\", messageName, err)\n\t\t\t\t}\n\t\t\t\tif fieldSet[\"type_url\"] {\n\t\t\t\t\treturn p.errorf(anyRepeatedlyUnpacked, \"type_url\")\n\t\t\t\t}\n\t\t\t\tif fieldSet[\"value\"] {\n\t\t\t\t\treturn p.errorf(anyRepeatedlyUnpacked, \"value\")\n\t\t\t\t}\n\t\t\t\tsv.FieldByName(\"TypeUrl\").SetString(extName)\n\t\t\t\tsv.FieldByName(\"Value\").SetBytes(b)\n\t\t\t\tfieldSet[\"type_url\"] = true\n\t\t\t\tfieldSet[\"value\"] = true\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tvar desc *ExtensionDesc\n\t\t\t// This could be faster, but it's functional.\n\t\t\t// TODO: Do something smarter than a linear scan.\n\t\t\tfor _, d := range RegisteredExtensions(reflect.New(st).Interface().(Message)) {\n\t\t\t\tif d.Name == extName {\n\t\t\t\t\tdesc = d\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif desc == nil {\n\t\t\t\treturn p.errorf(\"unrecognized extension %q\", extName)\n\t\t\t}\n\n\t\t\tprops := &Properties{}\n\t\t\tprops.Parse(desc.Tag)\n\n\t\t\ttyp := reflect.TypeOf(desc.ExtensionType)\n\t\t\tif err := p.checkForColon(props, typ); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\trep := desc.repeated()\n\n\t\t\t// Read the extension structure, and set it in\n\t\t\t// the value we're constructing.\n\t\t\tvar ext reflect.Value\n\t\t\tif !rep {\n\t\t\t\text = reflect.New(typ).Elem()\n\t\t\t} else {\n\t\t\t\text = reflect.New(typ.Elem()).Elem()\n\t\t\t}\n\t\t\tif err := p.readAny(ext, props); err != nil {\n\t\t\t\tif _, ok := err.(*RequiredNotSetError); !ok {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\treqFieldErr = err\n\t\t\t}\n\t\t\tep := sv.Addr().Interface().(Message)\n\t\t\tif !rep {\n\t\t\t\tSetExtension(ep, desc, ext.Interface())\n\t\t\t} else {\n\t\t\t\told, err := GetExtension(ep, desc)\n\t\t\t\tvar sl reflect.Value\n\t\t\t\tif err == nil {\n\t\t\t\t\tsl = reflect.ValueOf(old) // existing slice\n\t\t\t\t} else {\n\t\t\t\t\tsl = reflect.MakeSlice(typ, 0, 1)\n\t\t\t\t}\n\t\t\t\tsl = reflect.Append(sl, ext)\n\t\t\t\tSetExtension(ep, desc, sl.Interface())\n\t\t\t}\n\t\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// This is a normal, non-extension field.\n\t\tname := tok.value\n\t\tvar dst reflect.Value\n\t\tfi, props, ok := structFieldByName(sprops, name)\n\t\tif ok {\n\t\t\tdst = sv.Field(fi)\n\t\t} else if oop, ok := sprops.OneofTypes[name]; ok {\n\t\t\t// It is a oneof.\n\t\t\tprops = oop.Prop\n\t\t\tnv := reflect.New(oop.Type.Elem())\n\t\t\tdst = nv.Elem().Field(0)\n\t\t\tfield := sv.Field(oop.Field)\n\t\t\tif !field.IsNil() {\n\t\t\t\treturn p.errorf(\"field '%s' would overwrite already parsed oneof '%s'\", name, sv.Type().Field(oop.Field).Name)\n\t\t\t}\n\t\t\tfield.Set(nv)\n\t\t}\n\t\tif !dst.IsValid() {\n\t\t\treturn p.errorf(\"unknown field name %q in %v\", name, st)\n\t\t}\n\n\t\tif dst.Kind() == reflect.Map {\n\t\t\t// Consume any colon.\n\t\t\tif err := p.checkForColon(props, dst.Type()); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\t// Construct the map if it doesn't already exist.\n\t\t\tif dst.IsNil() {\n\t\t\t\tdst.Set(reflect.MakeMap(dst.Type()))\n\t\t\t}\n\t\t\tkey := reflect.New(dst.Type().Key()).Elem()\n\t\t\tval := reflect.New(dst.Type().Elem()).Elem()\n\n\t\t\t// The map entry should be this sequence of tokens:\n\t\t\t//\t< key : KEY value : VALUE >\n\t\t\t// However, implementations may omit key or value, and technically\n\t\t\t// we should support them in any order.  See b/28924776 for a time\n\t\t\t// this went wrong.\n\n\t\t\ttok := p.next()\n\t\t\tvar terminator string\n\t\t\tswitch tok.value {\n\t\t\tcase \"<\":\n\t\t\t\tterminator = \">\"\n\t\t\tcase \"{\":\n\t\t\t\tterminator = \"}\"\n\t\t\tdefault:\n\t\t\t\treturn p.errorf(\"expected '{' or '<', found %q\", tok.value)\n\t\t\t}\n\t\t\tfor {\n\t\t\t\ttok := p.next()\n\t\t\t\tif tok.err != nil {\n\t\t\t\t\treturn tok.err\n\t\t\t\t}\n\t\t\t\tif tok.value == terminator {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tswitch tok.value {\n\t\t\t\tcase \"key\":\n\t\t\t\t\tif err := p.consumeToken(\":\"); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.readAny(key, props.mkeyprop); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\tcase \"value\":\n\t\t\t\t\tif err := p.checkForColon(props.mvalprop, dst.Type().Elem()); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.readAny(val, props.mvalprop); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tp.back()\n\t\t\t\t\treturn p.errorf(`expected \"key\", \"value\", or %q, found %q`, terminator, tok.value)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdst.SetMapIndex(key, val)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Check that it's not already set if it's not a repeated field.\n\t\tif !props.Repeated && fieldSet[name] {\n\t\t\treturn p.errorf(\"non-repeated field %q was repeated\", name)\n\t\t}\n\n\t\tif err := p.checkForColon(props, dst.Type()); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t// Parse into the field.\n\t\tfieldSet[name] = true\n\t\tif err := p.readAny(dst, props); err != nil {\n\t\t\tif _, ok := err.(*RequiredNotSetError); !ok {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\treqFieldErr = err\n\t\t}\n\t\tif props.Required {\n\t\t\treqCount--\n\t\t}\n\n\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\n\tif reqCount > 0 {\n\t\treturn p.missingRequiredFieldError(sv)\n\t}\n\treturn reqFieldErr\n}\n\n// consumeExtName consumes extension name or expanded Any type URL and the\n// following ']'. It returns the name or URL consumed.\nfunc (p *textParser) consumeExtName() (string, error) {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn \"\", tok.err\n\t}\n\n\t// If extension name or type url is quoted, it's a single token.\n\tif len(tok.value) > 2 && isQuote(tok.value[0]) && tok.value[len(tok.value)-1] == tok.value[0] {\n\t\tname, err := unquoteC(tok.value[1:len(tok.value)-1], rune(tok.value[0]))\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t\treturn name, p.consumeToken(\"]\")\n\t}\n\n\t// Consume everything up to \"]\"\n\tvar parts []string\n\tfor tok.value != \"]\" {\n\t\tparts = append(parts, tok.value)\n\t\ttok = p.next()\n\t\tif tok.err != nil {\n\t\t\treturn \"\", p.errorf(\"unrecognized type_url or extension name: %s\", tok.err)\n\t\t}\n\t}\n\treturn strings.Join(parts, \"\"), nil\n}\n\n// consumeOptionalSeparator consumes an optional semicolon or comma.\n// It is used in readStruct to provide backward compatibility.\nfunc (p *textParser) consumeOptionalSeparator() error {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value != \";\" && tok.value != \",\" {\n\t\tp.back()\n\t}\n\treturn nil\n}\n\nfunc (p *textParser) readAny(v reflect.Value, props *Properties) error {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value == \"\" {\n\t\treturn p.errorf(\"unexpected EOF\")\n\t}\n\tif len(props.CustomType) > 0 {\n\t\tif props.Repeated {\n\t\t\tt := reflect.TypeOf(v.Interface())\n\t\t\tif t.Kind() == reflect.Slice {\n\t\t\t\ttc := reflect.TypeOf(new(Marshaler))\n\t\t\t\tok := t.Elem().Implements(tc.Elem())\n\t\t\t\tif ok {\n\t\t\t\t\tfv := v\n\t\t\t\t\tflen := fv.Len()\n\t\t\t\t\tif flen == fv.Cap() {\n\t\t\t\t\t\tnav := reflect.MakeSlice(v.Type(), flen, 2*flen+1)\n\t\t\t\t\t\treflect.Copy(nav, fv)\n\t\t\t\t\t\tfv.Set(nav)\n\t\t\t\t\t}\n\t\t\t\t\tfv.SetLen(flen + 1)\n\n\t\t\t\t\t// Read one.\n\t\t\t\t\tp.back()\n\t\t\t\t\treturn p.readAny(fv.Index(flen), props)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif reflect.TypeOf(v.Interface()).Kind() == reflect.Ptr {\n\t\t\tcustom := reflect.New(props.ctype.Elem()).Interface().(Unmarshaler)\n\t\t\terr := custom.Unmarshal([]byte(tok.unquoted))\n\t\t\tif err != nil {\n\t\t\t\treturn p.errorf(\"%v %v: %v\", err, v.Type(), tok.value)\n\t\t\t}\n\t\t\tv.Set(reflect.ValueOf(custom))\n\t\t} else {\n\t\t\tcustom := reflect.New(reflect.TypeOf(v.Interface())).Interface().(Unmarshaler)\n\t\t\terr := custom.Unmarshal([]byte(tok.unquoted))\n\t\t\tif err != nil {\n\t\t\t\treturn p.errorf(\"%v %v: %v\", err, v.Type(), tok.value)\n\t\t\t}\n\t\t\tv.Set(reflect.Indirect(reflect.ValueOf(custom)))\n\t\t}\n\t\treturn nil\n\t}\n\tif props.StdTime {\n\t\tfv := v\n\t\tp.back()\n\t\tprops.StdTime = false\n\t\ttproto := &timestamp{}\n\t\terr := p.readAny(reflect.ValueOf(tproto).Elem(), props)\n\t\tprops.StdTime = true\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttim, err := timestampFromProto(tproto)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif props.Repeated {\n\t\t\tt := reflect.TypeOf(v.Interface())\n\t\t\tif t.Kind() == reflect.Slice {\n\t\t\t\tif t.Elem().Kind() == reflect.Ptr {\n\t\t\t\t\tts := fv.Interface().([]*time.Time)\n\t\t\t\t\tts = append(ts, &tim)\n\t\t\t\t\tfv.Set(reflect.ValueOf(ts))\n\t\t\t\t\treturn nil\n\t\t\t\t} else {\n\t\t\t\t\tts := fv.Interface().([]time.Time)\n\t\t\t\t\tts = append(ts, tim)\n\t\t\t\t\tfv.Set(reflect.ValueOf(ts))\n\t\t\t\t\treturn nil\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif reflect.TypeOf(v.Interface()).Kind() == reflect.Ptr {\n\t\t\tv.Set(reflect.ValueOf(&tim))\n\t\t} else {\n\t\t\tv.Set(reflect.Indirect(reflect.ValueOf(&tim)))\n\t\t}\n\t\treturn nil\n\t}\n\tif props.StdDuration {\n\t\tfv := v\n\t\tp.back()\n\t\tprops.StdDuration = false\n\t\tdproto := &duration{}\n\t\terr := p.readAny(reflect.ValueOf(dproto).Elem(), props)\n\t\tprops.StdDuration = true\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdur, err := durationFromProto(dproto)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif props.Repeated {\n\t\t\tt := reflect.TypeOf(v.Interface())\n\t\t\tif t.Kind() == reflect.Slice {\n\t\t\t\tif t.Elem().Kind() == reflect.Ptr {\n\t\t\t\t\tds := fv.Interface().([]*time.Duration)\n\t\t\t\t\tds = append(ds, &dur)\n\t\t\t\t\tfv.Set(reflect.ValueOf(ds))\n\t\t\t\t\treturn nil\n\t\t\t\t} else {\n\t\t\t\t\tds := fv.Interface().([]time.Duration)\n\t\t\t\t\tds = append(ds, dur)\n\t\t\t\t\tfv.Set(reflect.ValueOf(ds))\n\t\t\t\t\treturn nil\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif reflect.TypeOf(v.Interface()).Kind() == reflect.Ptr {\n\t\t\tv.Set(reflect.ValueOf(&dur))\n\t\t} else {\n\t\t\tv.Set(reflect.Indirect(reflect.ValueOf(&dur)))\n\t\t}\n\t\treturn nil\n\t}\n\tswitch fv := v; fv.Kind() {\n\tcase reflect.Slice:\n\t\tat := v.Type()\n\t\tif at.Elem().Kind() == reflect.Uint8 {\n\t\t\t// Special case for []byte\n\t\t\tif tok.value[0] != '\"' && tok.value[0] != '\\'' {\n\t\t\t\t// Deliberately written out here, as the error after\n\t\t\t\t// this switch statement would write \"invalid []byte: ...\",\n\t\t\t\t// which is not as user-friendly.\n\t\t\t\treturn p.errorf(\"invalid string: %v\", tok.value)\n\t\t\t}\n\t\t\tbytes := []byte(tok.unquoted)\n\t\t\tfv.Set(reflect.ValueOf(bytes))\n\t\t\treturn nil\n\t\t}\n\t\t// Repeated field.\n\t\tif tok.value == \"[\" {\n\t\t\t// Repeated field with list notation, like [1,2,3].\n\t\t\tfor {\n\t\t\t\tfv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem()))\n\t\t\t\terr := p.readAny(fv.Index(fv.Len()-1), props)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tntok := p.next()\n\t\t\t\tif ntok.err != nil {\n\t\t\t\t\treturn ntok.err\n\t\t\t\t}\n\t\t\t\tif ntok.value == \"]\" {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif ntok.value != \",\" {\n\t\t\t\t\treturn p.errorf(\"Expected ']' or ',' found %q\", ntok.value)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn nil\n\t\t}\n\t\t// One value of the repeated field.\n\t\tp.back()\n\t\tfv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem()))\n\t\treturn p.readAny(fv.Index(fv.Len()-1), props)\n\tcase reflect.Bool:\n\t\t// true/1/t/True or false/f/0/False.\n\t\tswitch tok.value {\n\t\tcase \"true\", \"1\", \"t\", \"True\":\n\t\t\tfv.SetBool(true)\n\t\t\treturn nil\n\t\tcase \"false\", \"0\", \"f\", \"False\":\n\t\t\tfv.SetBool(false)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Float32, reflect.Float64:\n\t\tv := tok.value\n\t\t// Ignore 'f' for compatibility with output generated by C++, but don't\n\t\t// remove 'f' when the value is \"-inf\" or \"inf\".\n\t\tif strings.HasSuffix(v, \"f\") && tok.value != \"-inf\" && tok.value != \"inf\" {\n\t\t\tv = v[:len(v)-1]\n\t\t}\n\t\tif f, err := strconv.ParseFloat(v, fv.Type().Bits()); err == nil {\n\t\t\tfv.SetFloat(f)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Int32:\n\t\tif x, err := strconv.ParseInt(tok.value, 0, 32); err == nil {\n\t\t\tfv.SetInt(x)\n\t\t\treturn nil\n\t\t}\n\n\t\tif len(props.Enum) == 0 {\n\t\t\tbreak\n\t\t}\n\t\tm, ok := enumValueMaps[props.Enum]\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\tx, ok := m[tok.value]\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\tfv.SetInt(int64(x))\n\t\treturn nil\n\tcase reflect.Int64:\n\t\tif x, err := strconv.ParseInt(tok.value, 0, 64); err == nil {\n\t\t\tfv.SetInt(x)\n\t\t\treturn nil\n\t\t}\n\n\tcase reflect.Ptr:\n\t\t// A basic field (indirected through pointer), or a repeated message/group\n\t\tp.back()\n\t\tfv.Set(reflect.New(fv.Type().Elem()))\n\t\treturn p.readAny(fv.Elem(), props)\n\tcase reflect.String:\n\t\tif tok.value[0] == '\"' || tok.value[0] == '\\'' {\n\t\t\tfv.SetString(tok.unquoted)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Struct:\n\t\tvar terminator string\n\t\tswitch tok.value {\n\t\tcase \"{\":\n\t\t\tterminator = \"}\"\n\t\tcase \"<\":\n\t\t\tterminator = \">\"\n\t\tdefault:\n\t\t\treturn p.errorf(\"expected '{' or '<', found %q\", tok.value)\n\t\t}\n\t\t// TODO: Handle nested messages which implement encoding.TextUnmarshaler.\n\t\treturn p.readStruct(fv, terminator)\n\tcase reflect.Uint32:\n\t\tif x, err := strconv.ParseUint(tok.value, 0, 32); err == nil {\n\t\t\tfv.SetUint(x)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Uint64:\n\t\tif x, err := strconv.ParseUint(tok.value, 0, 64); err == nil {\n\t\t\tfv.SetUint(x)\n\t\t\treturn nil\n\t\t}\n\t}\n\treturn p.errorf(\"invalid %v: %v\", v.Type(), tok.value)\n}\n\n// UnmarshalText reads a protocol buffer in Text format. UnmarshalText resets pb\n// before starting to unmarshal, so any existing data in pb is always removed.\n// If a required field is not set and no other error occurs,\n// UnmarshalText returns *RequiredNotSetError.\nfunc UnmarshalText(s string, pb Message) error {\n\tif um, ok := pb.(encoding.TextUnmarshaler); ok {\n\t\terr := um.UnmarshalText([]byte(s))\n\t\treturn err\n\t}\n\tpb.Reset()\n\tv := reflect.ValueOf(pb)\n\tif pe := newTextParser(s).readStruct(v.Elem(), \"\"); pe != nil {\n\t\treturn pe\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/timestamp.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n// This file implements operations on google.protobuf.Timestamp.\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"time\"\n)\n\nconst (\n\t// Seconds field of the earliest valid Timestamp.\n\t// This is time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC).Unix().\n\tminValidSeconds = -62135596800\n\t// Seconds field just after the latest valid Timestamp.\n\t// This is time.Date(10000, 1, 1, 0, 0, 0, 0, time.UTC).Unix().\n\tmaxValidSeconds = 253402300800\n)\n\n// validateTimestamp determines whether a Timestamp is valid.\n// A valid timestamp represents a time in the range\n// [0001-01-01, 10000-01-01) and has a Nanos field\n// in the range [0, 1e9).\n//\n// If the Timestamp is valid, validateTimestamp returns nil.\n// Otherwise, it returns an error that describes\n// the problem.\n//\n// Every valid Timestamp can be represented by a time.Time, but the converse is not true.\nfunc validateTimestamp(ts *timestamp) error {\n\tif ts == nil {\n\t\treturn errors.New(\"timestamp: nil Timestamp\")\n\t}\n\tif ts.Seconds < minValidSeconds {\n\t\treturn fmt.Errorf(\"timestamp: %#v before 0001-01-01\", ts)\n\t}\n\tif ts.Seconds >= maxValidSeconds {\n\t\treturn fmt.Errorf(\"timestamp: %#v after 10000-01-01\", ts)\n\t}\n\tif ts.Nanos < 0 || ts.Nanos >= 1e9 {\n\t\treturn fmt.Errorf(\"timestamp: %#v: nanos not in range [0, 1e9)\", ts)\n\t}\n\treturn nil\n}\n\n// TimestampFromProto converts a google.protobuf.Timestamp proto to a time.Time.\n// It returns an error if the argument is invalid.\n//\n// Unlike most Go functions, if Timestamp returns an error, the first return value\n// is not the zero time.Time. Instead, it is the value obtained from the\n// time.Unix function when passed the contents of the Timestamp, in the UTC\n// locale. This may or may not be a meaningful time; many invalid Timestamps\n// do map to valid time.Times.\n//\n// A nil Timestamp returns an error. The first return value in that case is\n// undefined.\nfunc timestampFromProto(ts *timestamp) (time.Time, error) {\n\t// Don't return the zero value on error, because corresponds to a valid\n\t// timestamp. Instead return whatever time.Unix gives us.\n\tvar t time.Time\n\tif ts == nil {\n\t\tt = time.Unix(0, 0).UTC() // treat nil like the empty Timestamp\n\t} else {\n\t\tt = time.Unix(ts.Seconds, int64(ts.Nanos)).UTC()\n\t}\n\treturn t, validateTimestamp(ts)\n}\n\n// TimestampProto converts the time.Time to a google.protobuf.Timestamp proto.\n// It returns an error if the resulting Timestamp is invalid.\nfunc timestampProto(t time.Time) (*timestamp, error) {\n\tseconds := t.Unix()\n\tnanos := int32(t.Sub(time.Unix(seconds, 0)))\n\tts := &timestamp{\n\t\tSeconds: seconds,\n\t\tNanos:   nanos,\n\t}\n\tif err := validateTimestamp(ts); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ts, nil\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/timestamp_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2016, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"time\"\n)\n\nvar timeType = reflect.TypeOf((*time.Time)(nil)).Elem()\n\ntype timestamp struct {\n\tSeconds int64 `protobuf:\"varint,1,opt,name=seconds,proto3\" json:\"seconds,omitempty\"`\n\tNanos   int32 `protobuf:\"varint,2,opt,name=nanos,proto3\" json:\"nanos,omitempty\"`\n}\n\nfunc (m *timestamp) Reset()       { *m = timestamp{} }\nfunc (*timestamp) ProtoMessage()  {}\nfunc (*timestamp) String() string { return \"timestamp<string>\" }\n\nfunc init() {\n\tRegisterType((*timestamp)(nil), \"gogo.protobuf.proto.timestamp\")\n}\n\nfunc (o *Buffer) decTimestamp() (time.Time, error) {\n\tb, err := o.DecodeRawBytes(true)\n\tif err != nil {\n\t\treturn time.Time{}, err\n\t}\n\ttproto := &timestamp{}\n\tif err := Unmarshal(b, tproto); err != nil {\n\t\treturn time.Time{}, err\n\t}\n\treturn timestampFromProto(tproto)\n}\n\nfunc (o *Buffer) dec_time(p *Properties, base structPointer) error {\n\tt, err := o.decTimestamp()\n\tif err != nil {\n\t\treturn err\n\t}\n\tsetPtrCustomType(base, p.field, &t)\n\treturn nil\n}\n\nfunc (o *Buffer) dec_ref_time(p *Properties, base structPointer) error {\n\tt, err := o.decTimestamp()\n\tif err != nil {\n\t\treturn err\n\t}\n\tsetCustomType(base, p.field, &t)\n\treturn nil\n}\n\nfunc (o *Buffer) dec_slice_time(p *Properties, base structPointer) error {\n\tt, err := o.decTimestamp()\n\tif err != nil {\n\t\treturn err\n\t}\n\tnewBas := appendStructPointer(base, p.field, reflect.SliceOf(reflect.PtrTo(timeType)))\n\tvar zero field\n\tsetPtrCustomType(newBas, zero, &t)\n\treturn nil\n}\n\nfunc (o *Buffer) dec_slice_ref_time(p *Properties, base structPointer) error {\n\tt, err := o.decTimestamp()\n\tif err != nil {\n\t\treturn err\n\t}\n\tnewBas := appendStructPointer(base, p.field, reflect.SliceOf(timeType))\n\tvar zero field\n\tsetCustomType(newBas, zero, &t)\n\treturn nil\n}\n\nfunc size_time(p *Properties, base structPointer) (n int) {\n\tstructp := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(structp) {\n\t\treturn 0\n\t}\n\ttim := structPointer_Interface(structp, timeType).(*time.Time)\n\tt, err := timestampProto(*tim)\n\tif err != nil {\n\t\treturn 0\n\t}\n\tsize := Size(t)\n\treturn size + sizeVarint(uint64(size)) + len(p.tagcode)\n}\n\nfunc (o *Buffer) enc_time(p *Properties, base structPointer) error {\n\tstructp := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(structp) {\n\t\treturn ErrNil\n\t}\n\ttim := structPointer_Interface(structp, timeType).(*time.Time)\n\tt, err := timestampProto(*tim)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdata, err := Marshal(t)\n\tif err != nil {\n\t\treturn err\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeRawBytes(data)\n\treturn nil\n}\n\nfunc size_ref_time(p *Properties, base structPointer) (n int) {\n\ttim := structPointer_InterfaceAt(base, p.field, timeType).(*time.Time)\n\tt, err := timestampProto(*tim)\n\tif err != nil {\n\t\treturn 0\n\t}\n\tsize := Size(t)\n\treturn size + sizeVarint(uint64(size)) + len(p.tagcode)\n}\n\nfunc (o *Buffer) enc_ref_time(p *Properties, base structPointer) error {\n\ttim := structPointer_InterfaceAt(base, p.field, timeType).(*time.Time)\n\tt, err := timestampProto(*tim)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdata, err := Marshal(t)\n\tif err != nil {\n\t\treturn err\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeRawBytes(data)\n\treturn nil\n}\n\nfunc size_slice_time(p *Properties, base structPointer) (n int) {\n\tptims := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(reflect.PtrTo(timeType))).(*[]*time.Time)\n\ttims := *ptims\n\tfor i := 0; i < len(tims); i++ {\n\t\tif tims[i] == nil {\n\t\t\treturn 0\n\t\t}\n\t\ttproto, err := timestampProto(*tims[i])\n\t\tif err != nil {\n\t\t\treturn 0\n\t\t}\n\t\tsize := Size(tproto)\n\t\tn += len(p.tagcode) + size + sizeVarint(uint64(size))\n\t}\n\treturn n\n}\n\nfunc (o *Buffer) enc_slice_time(p *Properties, base structPointer) error {\n\tptims := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(reflect.PtrTo(timeType))).(*[]*time.Time)\n\ttims := *ptims\n\tfor i := 0; i < len(tims); i++ {\n\t\tif tims[i] == nil {\n\t\t\treturn errRepeatedHasNil\n\t\t}\n\t\ttproto, err := timestampProto(*tims[i])\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdata, err := Marshal(tproto)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\to.EncodeRawBytes(data)\n\t}\n\treturn nil\n}\n\nfunc size_slice_ref_time(p *Properties, base structPointer) (n int) {\n\tptims := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(timeType)).(*[]time.Time)\n\ttims := *ptims\n\tfor i := 0; i < len(tims); i++ {\n\t\ttproto, err := timestampProto(tims[i])\n\t\tif err != nil {\n\t\t\treturn 0\n\t\t}\n\t\tsize := Size(tproto)\n\t\tn += len(p.tagcode) + size + sizeVarint(uint64(size))\n\t}\n\treturn n\n}\n\nfunc (o *Buffer) enc_slice_ref_time(p *Properties, base structPointer) error {\n\tptims := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(timeType)).(*[]time.Time)\n\ttims := *ptims\n\tfor i := 0; i < len(tims); i++ {\n\t\ttproto, err := timestampProto(tims[i])\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdata, err := Marshal(tproto)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\to.EncodeRawBytes(data)\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// Package descriptor provides functions for obtaining protocol buffer\n// descriptors for generated Go types.\n//\n// These functions cannot go in package proto because they depend on the\n// generated protobuf descriptor messages, which themselves depend on proto.\npackage descriptor\n\nimport (\n\t\"bytes\"\n\t\"compress/gzip\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\n\t\"github.com/gogo/protobuf/proto\"\n)\n\n// extractFile extracts a FileDescriptorProto from a gzip'd buffer.\nfunc extractFile(gz []byte) (*FileDescriptorProto, error) {\n\tr, err := gzip.NewReader(bytes.NewReader(gz))\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to open gzip reader: %v\", err)\n\t}\n\tdefer r.Close()\n\n\tb, err := ioutil.ReadAll(r)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to uncompress descriptor: %v\", err)\n\t}\n\n\tfd := new(FileDescriptorProto)\n\tif err := proto.Unmarshal(b, fd); err != nil {\n\t\treturn nil, fmt.Errorf(\"malformed FileDescriptorProto: %v\", err)\n\t}\n\n\treturn fd, nil\n}\n\n// Message is a proto.Message with a method to return its descriptor.\n//\n// Message types generated by the protocol compiler always satisfy\n// the Message interface.\ntype Message interface {\n\tproto.Message\n\tDescriptor() ([]byte, []int)\n}\n\n// ForMessage returns a FileDescriptorProto and a DescriptorProto from within it\n// describing the given message.\nfunc ForMessage(msg Message) (fd *FileDescriptorProto, md *DescriptorProto) {\n\tgz, path := msg.Descriptor()\n\tfd, err := extractFile(gz)\n\tif err != nil {\n\t\tpanic(fmt.Sprintf(\"invalid FileDescriptorProto for %T: %v\", msg, err))\n\t}\n\n\tmd = fd.MessageType[path[0]]\n\tfor _, i := range path[1:] {\n\t\tmd = md.NestedType[i]\n\t}\n\treturn fd, md\n}\n\n// Is this field a scalar numeric type?\nfunc (field *FieldDescriptorProto) IsScalar() bool {\n\tif field.Type == nil {\n\t\treturn false\n\t}\n\tswitch *field.Type {\n\tcase FieldDescriptorProto_TYPE_DOUBLE,\n\t\tFieldDescriptorProto_TYPE_FLOAT,\n\t\tFieldDescriptorProto_TYPE_INT64,\n\t\tFieldDescriptorProto_TYPE_UINT64,\n\t\tFieldDescriptorProto_TYPE_INT32,\n\t\tFieldDescriptorProto_TYPE_FIXED64,\n\t\tFieldDescriptorProto_TYPE_FIXED32,\n\t\tFieldDescriptorProto_TYPE_BOOL,\n\t\tFieldDescriptorProto_TYPE_UINT32,\n\t\tFieldDescriptorProto_TYPE_ENUM,\n\t\tFieldDescriptorProto_TYPE_SFIXED32,\n\t\tFieldDescriptorProto_TYPE_SFIXED64,\n\t\tFieldDescriptorProto_TYPE_SINT32,\n\t\tFieldDescriptorProto_TYPE_SINT64:\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: descriptor.proto\n\n/*\nPackage descriptor is a generated protocol buffer package.\n\nIt is generated from these files:\n\tdescriptor.proto\n\nIt has these top-level messages:\n\tFileDescriptorSet\n\tFileDescriptorProto\n\tDescriptorProto\n\tExtensionRangeOptions\n\tFieldDescriptorProto\n\tOneofDescriptorProto\n\tEnumDescriptorProto\n\tEnumValueDescriptorProto\n\tServiceDescriptorProto\n\tMethodDescriptorProto\n\tFileOptions\n\tMessageOptions\n\tFieldOptions\n\tOneofOptions\n\tEnumOptions\n\tEnumValueOptions\n\tServiceOptions\n\tMethodOptions\n\tUninterpretedOption\n\tSourceCodeInfo\n\tGeneratedCodeInfo\n*/\npackage descriptor\n\nimport proto \"github.com/gogo/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package\n\ntype FieldDescriptorProto_Type int32\n\nconst (\n\t// 0 is reserved for errors.\n\t// Order is weird for historical reasons.\n\tFieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1\n\tFieldDescriptorProto_TYPE_FLOAT  FieldDescriptorProto_Type = 2\n\t// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if\n\t// negative values are likely.\n\tFieldDescriptorProto_TYPE_INT64  FieldDescriptorProto_Type = 3\n\tFieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4\n\t// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if\n\t// negative values are likely.\n\tFieldDescriptorProto_TYPE_INT32   FieldDescriptorProto_Type = 5\n\tFieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6\n\tFieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7\n\tFieldDescriptorProto_TYPE_BOOL    FieldDescriptorProto_Type = 8\n\tFieldDescriptorProto_TYPE_STRING  FieldDescriptorProto_Type = 9\n\t// Tag-delimited aggregate.\n\t// Group type is deprecated and not supported in proto3. However, Proto3\n\t// implementations should still be able to parse the group wire format and\n\t// treat group fields as unknown fields.\n\tFieldDescriptorProto_TYPE_GROUP   FieldDescriptorProto_Type = 10\n\tFieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11\n\t// New in version 2.\n\tFieldDescriptorProto_TYPE_BYTES    FieldDescriptorProto_Type = 12\n\tFieldDescriptorProto_TYPE_UINT32   FieldDescriptorProto_Type = 13\n\tFieldDescriptorProto_TYPE_ENUM     FieldDescriptorProto_Type = 14\n\tFieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15\n\tFieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16\n\tFieldDescriptorProto_TYPE_SINT32   FieldDescriptorProto_Type = 17\n\tFieldDescriptorProto_TYPE_SINT64   FieldDescriptorProto_Type = 18\n)\n\nvar FieldDescriptorProto_Type_name = map[int32]string{\n\t1:  \"TYPE_DOUBLE\",\n\t2:  \"TYPE_FLOAT\",\n\t3:  \"TYPE_INT64\",\n\t4:  \"TYPE_UINT64\",\n\t5:  \"TYPE_INT32\",\n\t6:  \"TYPE_FIXED64\",\n\t7:  \"TYPE_FIXED32\",\n\t8:  \"TYPE_BOOL\",\n\t9:  \"TYPE_STRING\",\n\t10: \"TYPE_GROUP\",\n\t11: \"TYPE_MESSAGE\",\n\t12: \"TYPE_BYTES\",\n\t13: \"TYPE_UINT32\",\n\t14: \"TYPE_ENUM\",\n\t15: \"TYPE_SFIXED32\",\n\t16: \"TYPE_SFIXED64\",\n\t17: \"TYPE_SINT32\",\n\t18: \"TYPE_SINT64\",\n}\nvar FieldDescriptorProto_Type_value = map[string]int32{\n\t\"TYPE_DOUBLE\":   1,\n\t\"TYPE_FLOAT\":    2,\n\t\"TYPE_INT64\":    3,\n\t\"TYPE_UINT64\":   4,\n\t\"TYPE_INT32\":    5,\n\t\"TYPE_FIXED64\":  6,\n\t\"TYPE_FIXED32\":  7,\n\t\"TYPE_BOOL\":     8,\n\t\"TYPE_STRING\":   9,\n\t\"TYPE_GROUP\":    10,\n\t\"TYPE_MESSAGE\":  11,\n\t\"TYPE_BYTES\":    12,\n\t\"TYPE_UINT32\":   13,\n\t\"TYPE_ENUM\":     14,\n\t\"TYPE_SFIXED32\": 15,\n\t\"TYPE_SFIXED64\": 16,\n\t\"TYPE_SINT32\":   17,\n\t\"TYPE_SINT64\":   18,\n}\n\nfunc (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {\n\tp := new(FieldDescriptorProto_Type)\n\t*p = x\n\treturn p\n}\nfunc (x FieldDescriptorProto_Type) String() string {\n\treturn proto.EnumName(FieldDescriptorProto_Type_name, int32(x))\n}\nfunc (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, \"FieldDescriptorProto_Type\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FieldDescriptorProto_Type(value)\n\treturn nil\n}\nfunc (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{4, 0}\n}\n\ntype FieldDescriptorProto_Label int32\n\nconst (\n\t// 0 is reserved for errors\n\tFieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1\n\tFieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2\n\tFieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3\n)\n\nvar FieldDescriptorProto_Label_name = map[int32]string{\n\t1: \"LABEL_OPTIONAL\",\n\t2: \"LABEL_REQUIRED\",\n\t3: \"LABEL_REPEATED\",\n}\nvar FieldDescriptorProto_Label_value = map[string]int32{\n\t\"LABEL_OPTIONAL\": 1,\n\t\"LABEL_REQUIRED\": 2,\n\t\"LABEL_REPEATED\": 3,\n}\n\nfunc (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {\n\tp := new(FieldDescriptorProto_Label)\n\t*p = x\n\treturn p\n}\nfunc (x FieldDescriptorProto_Label) String() string {\n\treturn proto.EnumName(FieldDescriptorProto_Label_name, int32(x))\n}\nfunc (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, \"FieldDescriptorProto_Label\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FieldDescriptorProto_Label(value)\n\treturn nil\n}\nfunc (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{4, 1}\n}\n\n// Generated classes can be optimized for speed or code size.\ntype FileOptions_OptimizeMode int32\n\nconst (\n\tFileOptions_SPEED FileOptions_OptimizeMode = 1\n\t// etc.\n\tFileOptions_CODE_SIZE    FileOptions_OptimizeMode = 2\n\tFileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3\n)\n\nvar FileOptions_OptimizeMode_name = map[int32]string{\n\t1: \"SPEED\",\n\t2: \"CODE_SIZE\",\n\t3: \"LITE_RUNTIME\",\n}\nvar FileOptions_OptimizeMode_value = map[string]int32{\n\t\"SPEED\":        1,\n\t\"CODE_SIZE\":    2,\n\t\"LITE_RUNTIME\": 3,\n}\n\nfunc (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {\n\tp := new(FileOptions_OptimizeMode)\n\t*p = x\n\treturn p\n}\nfunc (x FileOptions_OptimizeMode) String() string {\n\treturn proto.EnumName(FileOptions_OptimizeMode_name, int32(x))\n}\nfunc (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, \"FileOptions_OptimizeMode\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FileOptions_OptimizeMode(value)\n\treturn nil\n}\nfunc (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{10, 0}\n}\n\ntype FieldOptions_CType int32\n\nconst (\n\t// Default mode.\n\tFieldOptions_STRING       FieldOptions_CType = 0\n\tFieldOptions_CORD         FieldOptions_CType = 1\n\tFieldOptions_STRING_PIECE FieldOptions_CType = 2\n)\n\nvar FieldOptions_CType_name = map[int32]string{\n\t0: \"STRING\",\n\t1: \"CORD\",\n\t2: \"STRING_PIECE\",\n}\nvar FieldOptions_CType_value = map[string]int32{\n\t\"STRING\":       0,\n\t\"CORD\":         1,\n\t\"STRING_PIECE\": 2,\n}\n\nfunc (x FieldOptions_CType) Enum() *FieldOptions_CType {\n\tp := new(FieldOptions_CType)\n\t*p = x\n\treturn p\n}\nfunc (x FieldOptions_CType) String() string {\n\treturn proto.EnumName(FieldOptions_CType_name, int32(x))\n}\nfunc (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, \"FieldOptions_CType\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FieldOptions_CType(value)\n\treturn nil\n}\nfunc (FieldOptions_CType) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{12, 0}\n}\n\ntype FieldOptions_JSType int32\n\nconst (\n\t// Use the default type.\n\tFieldOptions_JS_NORMAL FieldOptions_JSType = 0\n\t// Use JavaScript strings.\n\tFieldOptions_JS_STRING FieldOptions_JSType = 1\n\t// Use JavaScript numbers.\n\tFieldOptions_JS_NUMBER FieldOptions_JSType = 2\n)\n\nvar FieldOptions_JSType_name = map[int32]string{\n\t0: \"JS_NORMAL\",\n\t1: \"JS_STRING\",\n\t2: \"JS_NUMBER\",\n}\nvar FieldOptions_JSType_value = map[string]int32{\n\t\"JS_NORMAL\": 0,\n\t\"JS_STRING\": 1,\n\t\"JS_NUMBER\": 2,\n}\n\nfunc (x FieldOptions_JSType) Enum() *FieldOptions_JSType {\n\tp := new(FieldOptions_JSType)\n\t*p = x\n\treturn p\n}\nfunc (x FieldOptions_JSType) String() string {\n\treturn proto.EnumName(FieldOptions_JSType_name, int32(x))\n}\nfunc (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, \"FieldOptions_JSType\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FieldOptions_JSType(value)\n\treturn nil\n}\nfunc (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{12, 1}\n}\n\n// Is this method side-effect-free (or safe in HTTP parlance), or idempotent,\n// or neither? HTTP based RPC implementation may choose GET verb for safe\n// methods, and PUT verb for idempotent methods instead of the default POST.\ntype MethodOptions_IdempotencyLevel int32\n\nconst (\n\tMethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0\n\tMethodOptions_NO_SIDE_EFFECTS     MethodOptions_IdempotencyLevel = 1\n\tMethodOptions_IDEMPOTENT          MethodOptions_IdempotencyLevel = 2\n)\n\nvar MethodOptions_IdempotencyLevel_name = map[int32]string{\n\t0: \"IDEMPOTENCY_UNKNOWN\",\n\t1: \"NO_SIDE_EFFECTS\",\n\t2: \"IDEMPOTENT\",\n}\nvar MethodOptions_IdempotencyLevel_value = map[string]int32{\n\t\"IDEMPOTENCY_UNKNOWN\": 0,\n\t\"NO_SIDE_EFFECTS\":     1,\n\t\"IDEMPOTENT\":          2,\n}\n\nfunc (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel {\n\tp := new(MethodOptions_IdempotencyLevel)\n\t*p = x\n\treturn p\n}\nfunc (x MethodOptions_IdempotencyLevel) String() string {\n\treturn proto.EnumName(MethodOptions_IdempotencyLevel_name, int32(x))\n}\nfunc (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(MethodOptions_IdempotencyLevel_value, data, \"MethodOptions_IdempotencyLevel\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = MethodOptions_IdempotencyLevel(value)\n\treturn nil\n}\nfunc (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{17, 0}\n}\n\n// The protocol compiler can output a FileDescriptorSet containing the .proto\n// files it parses.\ntype FileDescriptorSet struct {\n\tFile             []*FileDescriptorProto `protobuf:\"bytes,1,rep,name=file\" json:\"file,omitempty\"`\n\tXXX_unrecognized []byte                 `json:\"-\"`\n}\n\nfunc (m *FileDescriptorSet) Reset()                    { *m = FileDescriptorSet{} }\nfunc (m *FileDescriptorSet) String() string            { return proto.CompactTextString(m) }\nfunc (*FileDescriptorSet) ProtoMessage()               {}\nfunc (*FileDescriptorSet) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{0} }\n\nfunc (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {\n\tif m != nil {\n\t\treturn m.File\n\t}\n\treturn nil\n}\n\n// Describes a complete .proto file.\ntype FileDescriptorProto struct {\n\tName    *string `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tPackage *string `protobuf:\"bytes,2,opt,name=package\" json:\"package,omitempty\"`\n\t// Names of files imported by this file.\n\tDependency []string `protobuf:\"bytes,3,rep,name=dependency\" json:\"dependency,omitempty\"`\n\t// Indexes of the public imported files in the dependency list above.\n\tPublicDependency []int32 `protobuf:\"varint,10,rep,name=public_dependency,json=publicDependency\" json:\"public_dependency,omitempty\"`\n\t// Indexes of the weak imported files in the dependency list.\n\t// For Google-internal migration only. Do not use.\n\tWeakDependency []int32 `protobuf:\"varint,11,rep,name=weak_dependency,json=weakDependency\" json:\"weak_dependency,omitempty\"`\n\t// All top-level definitions in this file.\n\tMessageType []*DescriptorProto        `protobuf:\"bytes,4,rep,name=message_type,json=messageType\" json:\"message_type,omitempty\"`\n\tEnumType    []*EnumDescriptorProto    `protobuf:\"bytes,5,rep,name=enum_type,json=enumType\" json:\"enum_type,omitempty\"`\n\tService     []*ServiceDescriptorProto `protobuf:\"bytes,6,rep,name=service\" json:\"service,omitempty\"`\n\tExtension   []*FieldDescriptorProto   `protobuf:\"bytes,7,rep,name=extension\" json:\"extension,omitempty\"`\n\tOptions     *FileOptions              `protobuf:\"bytes,8,opt,name=options\" json:\"options,omitempty\"`\n\t// This field contains optional information about the original source code.\n\t// You may safely remove this entire field without harming runtime\n\t// functionality of the descriptors -- the information is needed only by\n\t// development tools.\n\tSourceCodeInfo *SourceCodeInfo `protobuf:\"bytes,9,opt,name=source_code_info,json=sourceCodeInfo\" json:\"source_code_info,omitempty\"`\n\t// The syntax of the proto file.\n\t// The supported values are \"proto2\" and \"proto3\".\n\tSyntax           *string `protobuf:\"bytes,12,opt,name=syntax\" json:\"syntax,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *FileDescriptorProto) Reset()                    { *m = FileDescriptorProto{} }\nfunc (m *FileDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*FileDescriptorProto) ProtoMessage()               {}\nfunc (*FileDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{1} }\n\nfunc (m *FileDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileDescriptorProto) GetPackage() string {\n\tif m != nil && m.Package != nil {\n\t\treturn *m.Package\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileDescriptorProto) GetDependency() []string {\n\tif m != nil {\n\t\treturn m.Dependency\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetPublicDependency() []int32 {\n\tif m != nil {\n\t\treturn m.PublicDependency\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetWeakDependency() []int32 {\n\tif m != nil {\n\t\treturn m.WeakDependency\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {\n\tif m != nil {\n\t\treturn m.MessageType\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {\n\tif m != nil {\n\t\treturn m.EnumType\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {\n\tif m != nil {\n\t\treturn m.Service\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {\n\tif m != nil {\n\t\treturn m.Extension\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetOptions() *FileOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {\n\tif m != nil {\n\t\treturn m.SourceCodeInfo\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetSyntax() string {\n\tif m != nil && m.Syntax != nil {\n\t\treturn *m.Syntax\n\t}\n\treturn \"\"\n}\n\n// Describes a message type.\ntype DescriptorProto struct {\n\tName           *string                           `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tField          []*FieldDescriptorProto           `protobuf:\"bytes,2,rep,name=field\" json:\"field,omitempty\"`\n\tExtension      []*FieldDescriptorProto           `protobuf:\"bytes,6,rep,name=extension\" json:\"extension,omitempty\"`\n\tNestedType     []*DescriptorProto                `protobuf:\"bytes,3,rep,name=nested_type,json=nestedType\" json:\"nested_type,omitempty\"`\n\tEnumType       []*EnumDescriptorProto            `protobuf:\"bytes,4,rep,name=enum_type,json=enumType\" json:\"enum_type,omitempty\"`\n\tExtensionRange []*DescriptorProto_ExtensionRange `protobuf:\"bytes,5,rep,name=extension_range,json=extensionRange\" json:\"extension_range,omitempty\"`\n\tOneofDecl      []*OneofDescriptorProto           `protobuf:\"bytes,8,rep,name=oneof_decl,json=oneofDecl\" json:\"oneof_decl,omitempty\"`\n\tOptions        *MessageOptions                   `protobuf:\"bytes,7,opt,name=options\" json:\"options,omitempty\"`\n\tReservedRange  []*DescriptorProto_ReservedRange  `protobuf:\"bytes,9,rep,name=reserved_range,json=reservedRange\" json:\"reserved_range,omitempty\"`\n\t// Reserved field names, which may not be used by fields in the same message.\n\t// A given name may only be reserved once.\n\tReservedName     []string `protobuf:\"bytes,10,rep,name=reserved_name,json=reservedName\" json:\"reserved_name,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *DescriptorProto) Reset()                    { *m = DescriptorProto{} }\nfunc (m *DescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*DescriptorProto) ProtoMessage()               {}\nfunc (*DescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{2} }\n\nfunc (m *DescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *DescriptorProto) GetField() []*FieldDescriptorProto {\n\tif m != nil {\n\t\treturn m.Field\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {\n\tif m != nil {\n\t\treturn m.Extension\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetNestedType() []*DescriptorProto {\n\tif m != nil {\n\t\treturn m.NestedType\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {\n\tif m != nil {\n\t\treturn m.EnumType\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {\n\tif m != nil {\n\t\treturn m.ExtensionRange\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {\n\tif m != nil {\n\t\treturn m.OneofDecl\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetOptions() *MessageOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {\n\tif m != nil {\n\t\treturn m.ReservedRange\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetReservedName() []string {\n\tif m != nil {\n\t\treturn m.ReservedName\n\t}\n\treturn nil\n}\n\ntype DescriptorProto_ExtensionRange struct {\n\tStart            *int32                 `protobuf:\"varint,1,opt,name=start\" json:\"start,omitempty\"`\n\tEnd              *int32                 `protobuf:\"varint,2,opt,name=end\" json:\"end,omitempty\"`\n\tOptions          *ExtensionRangeOptions `protobuf:\"bytes,3,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_unrecognized []byte                 `json:\"-\"`\n}\n\nfunc (m *DescriptorProto_ExtensionRange) Reset()         { *m = DescriptorProto_ExtensionRange{} }\nfunc (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }\nfunc (*DescriptorProto_ExtensionRange) ProtoMessage()    {}\nfunc (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{2, 0}\n}\n\nfunc (m *DescriptorProto_ExtensionRange) GetStart() int32 {\n\tif m != nil && m.Start != nil {\n\t\treturn *m.Start\n\t}\n\treturn 0\n}\n\nfunc (m *DescriptorProto_ExtensionRange) GetEnd() int32 {\n\tif m != nil && m.End != nil {\n\t\treturn *m.End\n\t}\n\treturn 0\n}\n\nfunc (m *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Range of reserved tag numbers. Reserved tag numbers may not be used by\n// fields or extension ranges in the same message. Reserved ranges may\n// not overlap.\ntype DescriptorProto_ReservedRange struct {\n\tStart            *int32 `protobuf:\"varint,1,opt,name=start\" json:\"start,omitempty\"`\n\tEnd              *int32 `protobuf:\"varint,2,opt,name=end\" json:\"end,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *DescriptorProto_ReservedRange) Reset()         { *m = DescriptorProto_ReservedRange{} }\nfunc (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }\nfunc (*DescriptorProto_ReservedRange) ProtoMessage()    {}\nfunc (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{2, 1}\n}\n\nfunc (m *DescriptorProto_ReservedRange) GetStart() int32 {\n\tif m != nil && m.Start != nil {\n\t\treturn *m.Start\n\t}\n\treturn 0\n}\n\nfunc (m *DescriptorProto_ReservedRange) GetEnd() int32 {\n\tif m != nil && m.End != nil {\n\t\treturn *m.End\n\t}\n\treturn 0\n}\n\ntype ExtensionRangeOptions struct {\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *ExtensionRangeOptions) Reset()                    { *m = ExtensionRangeOptions{} }\nfunc (m *ExtensionRangeOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*ExtensionRangeOptions) ProtoMessage()               {}\nfunc (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{3} }\n\nvar extRange_ExtensionRangeOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_ExtensionRangeOptions\n}\n\nfunc (m *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\n// Describes a field within a message.\ntype FieldDescriptorProto struct {\n\tName   *string                     `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tNumber *int32                      `protobuf:\"varint,3,opt,name=number\" json:\"number,omitempty\"`\n\tLabel  *FieldDescriptorProto_Label `protobuf:\"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label\" json:\"label,omitempty\"`\n\t// If type_name is set, this need not be set.  If both this and type_name\n\t// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.\n\tType *FieldDescriptorProto_Type `protobuf:\"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type\" json:\"type,omitempty\"`\n\t// For message and enum types, this is the name of the type.  If the name\n\t// starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping\n\t// rules are used to find the type (i.e. first the nested types within this\n\t// message are searched, then within the parent, on up to the root\n\t// namespace).\n\tTypeName *string `protobuf:\"bytes,6,opt,name=type_name,json=typeName\" json:\"type_name,omitempty\"`\n\t// For extensions, this is the name of the type being extended.  It is\n\t// resolved in the same manner as type_name.\n\tExtendee *string `protobuf:\"bytes,2,opt,name=extendee\" json:\"extendee,omitempty\"`\n\t// For numeric types, contains the original text representation of the value.\n\t// For booleans, \"true\" or \"false\".\n\t// For strings, contains the default text contents (not escaped in any way).\n\t// For bytes, contains the C escaped value.  All bytes >= 128 are escaped.\n\t// TODO(kenton):  Base-64 encode?\n\tDefaultValue *string `protobuf:\"bytes,7,opt,name=default_value,json=defaultValue\" json:\"default_value,omitempty\"`\n\t// If set, gives the index of a oneof in the containing type's oneof_decl\n\t// list.  This field is a member of that oneof.\n\tOneofIndex *int32 `protobuf:\"varint,9,opt,name=oneof_index,json=oneofIndex\" json:\"oneof_index,omitempty\"`\n\t// JSON name of this field. The value is set by protocol compiler. If the\n\t// user has set a \"json_name\" option on this field, that option's value\n\t// will be used. Otherwise, it's deduced from the field's name by converting\n\t// it to camelCase.\n\tJsonName         *string       `protobuf:\"bytes,10,opt,name=json_name,json=jsonName\" json:\"json_name,omitempty\"`\n\tOptions          *FieldOptions `protobuf:\"bytes,8,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_unrecognized []byte        `json:\"-\"`\n}\n\nfunc (m *FieldDescriptorProto) Reset()                    { *m = FieldDescriptorProto{} }\nfunc (m *FieldDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*FieldDescriptorProto) ProtoMessage()               {}\nfunc (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{4} }\n\nfunc (m *FieldDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetNumber() int32 {\n\tif m != nil && m.Number != nil {\n\t\treturn *m.Number\n\t}\n\treturn 0\n}\n\nfunc (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {\n\tif m != nil && m.Label != nil {\n\t\treturn *m.Label\n\t}\n\treturn FieldDescriptorProto_LABEL_OPTIONAL\n}\n\nfunc (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {\n\tif m != nil && m.Type != nil {\n\t\treturn *m.Type\n\t}\n\treturn FieldDescriptorProto_TYPE_DOUBLE\n}\n\nfunc (m *FieldDescriptorProto) GetTypeName() string {\n\tif m != nil && m.TypeName != nil {\n\t\treturn *m.TypeName\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetExtendee() string {\n\tif m != nil && m.Extendee != nil {\n\t\treturn *m.Extendee\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetDefaultValue() string {\n\tif m != nil && m.DefaultValue != nil {\n\t\treturn *m.DefaultValue\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetOneofIndex() int32 {\n\tif m != nil && m.OneofIndex != nil {\n\t\treturn *m.OneofIndex\n\t}\n\treturn 0\n}\n\nfunc (m *FieldDescriptorProto) GetJsonName() string {\n\tif m != nil && m.JsonName != nil {\n\t\treturn *m.JsonName\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetOptions() *FieldOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes a oneof.\ntype OneofDescriptorProto struct {\n\tName             *string       `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tOptions          *OneofOptions `protobuf:\"bytes,2,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_unrecognized []byte        `json:\"-\"`\n}\n\nfunc (m *OneofDescriptorProto) Reset()                    { *m = OneofDescriptorProto{} }\nfunc (m *OneofDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*OneofDescriptorProto) ProtoMessage()               {}\nfunc (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{5} }\n\nfunc (m *OneofDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *OneofDescriptorProto) GetOptions() *OneofOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes an enum type.\ntype EnumDescriptorProto struct {\n\tName    *string                     `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tValue   []*EnumValueDescriptorProto `protobuf:\"bytes,2,rep,name=value\" json:\"value,omitempty\"`\n\tOptions *EnumOptions                `protobuf:\"bytes,3,opt,name=options\" json:\"options,omitempty\"`\n\t// Range of reserved numeric values. Reserved numeric values may not be used\n\t// by enum values in the same enum declaration. Reserved ranges may not\n\t// overlap.\n\tReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:\"bytes,4,rep,name=reserved_range,json=reservedRange\" json:\"reserved_range,omitempty\"`\n\t// Reserved enum value names, which may not be reused. A given name may only\n\t// be reserved once.\n\tReservedName     []string `protobuf:\"bytes,5,rep,name=reserved_name,json=reservedName\" json:\"reserved_name,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *EnumDescriptorProto) Reset()                    { *m = EnumDescriptorProto{} }\nfunc (m *EnumDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*EnumDescriptorProto) ProtoMessage()               {}\nfunc (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{6} }\n\nfunc (m *EnumDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {\n\tif m != nil {\n\t\treturn m.Value\n\t}\n\treturn nil\n}\n\nfunc (m *EnumDescriptorProto) GetOptions() *EnumOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\nfunc (m *EnumDescriptorProto) GetReservedRange() []*EnumDescriptorProto_EnumReservedRange {\n\tif m != nil {\n\t\treturn m.ReservedRange\n\t}\n\treturn nil\n}\n\nfunc (m *EnumDescriptorProto) GetReservedName() []string {\n\tif m != nil {\n\t\treturn m.ReservedName\n\t}\n\treturn nil\n}\n\n// Range of reserved numeric values. Reserved values may not be used by\n// entries in the same enum. Reserved ranges may not overlap.\n//\n// Note that this is distinct from DescriptorProto.ReservedRange in that it\n// is inclusive such that it can appropriately represent the entire int32\n// domain.\ntype EnumDescriptorProto_EnumReservedRange struct {\n\tStart            *int32 `protobuf:\"varint,1,opt,name=start\" json:\"start,omitempty\"`\n\tEnd              *int32 `protobuf:\"varint,2,opt,name=end\" json:\"end,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *EnumDescriptorProto_EnumReservedRange) Reset()         { *m = EnumDescriptorProto_EnumReservedRange{} }\nfunc (m *EnumDescriptorProto_EnumReservedRange) String() string { return proto.CompactTextString(m) }\nfunc (*EnumDescriptorProto_EnumReservedRange) ProtoMessage()    {}\nfunc (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{6, 0}\n}\n\nfunc (m *EnumDescriptorProto_EnumReservedRange) GetStart() int32 {\n\tif m != nil && m.Start != nil {\n\t\treturn *m.Start\n\t}\n\treturn 0\n}\n\nfunc (m *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 {\n\tif m != nil && m.End != nil {\n\t\treturn *m.End\n\t}\n\treturn 0\n}\n\n// Describes a value within an enum.\ntype EnumValueDescriptorProto struct {\n\tName             *string           `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tNumber           *int32            `protobuf:\"varint,2,opt,name=number\" json:\"number,omitempty\"`\n\tOptions          *EnumValueOptions `protobuf:\"bytes,3,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_unrecognized []byte            `json:\"-\"`\n}\n\nfunc (m *EnumValueDescriptorProto) Reset()         { *m = EnumValueDescriptorProto{} }\nfunc (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) }\nfunc (*EnumValueDescriptorProto) ProtoMessage()    {}\nfunc (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{7}\n}\n\nfunc (m *EnumValueDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *EnumValueDescriptorProto) GetNumber() int32 {\n\tif m != nil && m.Number != nil {\n\t\treturn *m.Number\n\t}\n\treturn 0\n}\n\nfunc (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes a service.\ntype ServiceDescriptorProto struct {\n\tName             *string                  `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tMethod           []*MethodDescriptorProto `protobuf:\"bytes,2,rep,name=method\" json:\"method,omitempty\"`\n\tOptions          *ServiceOptions          `protobuf:\"bytes,3,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_unrecognized []byte                   `json:\"-\"`\n}\n\nfunc (m *ServiceDescriptorProto) Reset()                    { *m = ServiceDescriptorProto{} }\nfunc (m *ServiceDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*ServiceDescriptorProto) ProtoMessage()               {}\nfunc (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{8} }\n\nfunc (m *ServiceDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {\n\tif m != nil {\n\t\treturn m.Method\n\t}\n\treturn nil\n}\n\nfunc (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes a method of a service.\ntype MethodDescriptorProto struct {\n\tName *string `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\t// Input and output type names.  These are resolved in the same way as\n\t// FieldDescriptorProto.type_name, but must refer to a message type.\n\tInputType  *string        `protobuf:\"bytes,2,opt,name=input_type,json=inputType\" json:\"input_type,omitempty\"`\n\tOutputType *string        `protobuf:\"bytes,3,opt,name=output_type,json=outputType\" json:\"output_type,omitempty\"`\n\tOptions    *MethodOptions `protobuf:\"bytes,4,opt,name=options\" json:\"options,omitempty\"`\n\t// Identifies if client streams multiple client messages\n\tClientStreaming *bool `protobuf:\"varint,5,opt,name=client_streaming,json=clientStreaming,def=0\" json:\"client_streaming,omitempty\"`\n\t// Identifies if server streams multiple server messages\n\tServerStreaming  *bool  `protobuf:\"varint,6,opt,name=server_streaming,json=serverStreaming,def=0\" json:\"server_streaming,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *MethodDescriptorProto) Reset()                    { *m = MethodDescriptorProto{} }\nfunc (m *MethodDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*MethodDescriptorProto) ProtoMessage()               {}\nfunc (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{9} }\n\nconst Default_MethodDescriptorProto_ClientStreaming bool = false\nconst Default_MethodDescriptorProto_ServerStreaming bool = false\n\nfunc (m *MethodDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *MethodDescriptorProto) GetInputType() string {\n\tif m != nil && m.InputType != nil {\n\t\treturn *m.InputType\n\t}\n\treturn \"\"\n}\n\nfunc (m *MethodDescriptorProto) GetOutputType() string {\n\tif m != nil && m.OutputType != nil {\n\t\treturn *m.OutputType\n\t}\n\treturn \"\"\n}\n\nfunc (m *MethodDescriptorProto) GetOptions() *MethodOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\nfunc (m *MethodDescriptorProto) GetClientStreaming() bool {\n\tif m != nil && m.ClientStreaming != nil {\n\t\treturn *m.ClientStreaming\n\t}\n\treturn Default_MethodDescriptorProto_ClientStreaming\n}\n\nfunc (m *MethodDescriptorProto) GetServerStreaming() bool {\n\tif m != nil && m.ServerStreaming != nil {\n\t\treturn *m.ServerStreaming\n\t}\n\treturn Default_MethodDescriptorProto_ServerStreaming\n}\n\ntype FileOptions struct {\n\t// Sets the Java package where classes generated from this .proto will be\n\t// placed.  By default, the proto package is used, but this is often\n\t// inappropriate because proto packages do not normally start with backwards\n\t// domain names.\n\tJavaPackage *string `protobuf:\"bytes,1,opt,name=java_package,json=javaPackage\" json:\"java_package,omitempty\"`\n\t// If set, all the classes from the .proto file are wrapped in a single\n\t// outer class with the given name.  This applies to both Proto1\n\t// (equivalent to the old \"--one_java_file\" option) and Proto2 (where\n\t// a .proto always translates to a single class, but you may want to\n\t// explicitly choose the class name).\n\tJavaOuterClassname *string `protobuf:\"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname\" json:\"java_outer_classname,omitempty\"`\n\t// If set true, then the Java code generator will generate a separate .java\n\t// file for each top-level message, enum, and service defined in the .proto\n\t// file.  Thus, these types will *not* be nested inside the outer class\n\t// named by java_outer_classname.  However, the outer class will still be\n\t// generated to contain the file's getDescriptor() method as well as any\n\t// top-level extensions defined in the file.\n\tJavaMultipleFiles *bool `protobuf:\"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0\" json:\"java_multiple_files,omitempty\"`\n\t// This option does nothing.\n\tJavaGenerateEqualsAndHash *bool `protobuf:\"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash\" json:\"java_generate_equals_and_hash,omitempty\"`\n\t// If set true, then the Java2 code generator will generate code that\n\t// throws an exception whenever an attempt is made to assign a non-UTF-8\n\t// byte sequence to a string field.\n\t// Message reflection will do the same.\n\t// However, an extension field still accepts non-UTF-8 byte sequences.\n\t// This option has no effect on when used with the lite runtime.\n\tJavaStringCheckUtf8 *bool                     `protobuf:\"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0\" json:\"java_string_check_utf8,omitempty\"`\n\tOptimizeFor         *FileOptions_OptimizeMode `protobuf:\"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1\" json:\"optimize_for,omitempty\"`\n\t// Sets the Go package where structs generated from this .proto will be\n\t// placed. If omitted, the Go package will be derived from the following:\n\t//   - The basename of the package import path, if provided.\n\t//   - Otherwise, the package statement in the .proto file, if present.\n\t//   - Otherwise, the basename of the .proto file, without extension.\n\tGoPackage *string `protobuf:\"bytes,11,opt,name=go_package,json=goPackage\" json:\"go_package,omitempty\"`\n\t// Should generic services be generated in each language?  \"Generic\" services\n\t// are not specific to any particular RPC system.  They are generated by the\n\t// main code generators in each language (without additional plugins).\n\t// Generic services were the only kind of service generation supported by\n\t// early versions of google.protobuf.\n\t//\n\t// Generic services are now considered deprecated in favor of using plugins\n\t// that generate code specific to your particular RPC system.  Therefore,\n\t// these default to false.  Old code which depends on generic services should\n\t// explicitly set them to true.\n\tCcGenericServices   *bool `protobuf:\"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0\" json:\"cc_generic_services,omitempty\"`\n\tJavaGenericServices *bool `protobuf:\"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0\" json:\"java_generic_services,omitempty\"`\n\tPyGenericServices   *bool `protobuf:\"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0\" json:\"py_generic_services,omitempty\"`\n\tPhpGenericServices  *bool `protobuf:\"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0\" json:\"php_generic_services,omitempty\"`\n\t// Is this file deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for everything in the file, or it will be completely ignored; in the very\n\t// least, this is a formalization for deprecating files.\n\tDeprecated *bool `protobuf:\"varint,23,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// Enables the use of arenas for the proto messages in this file. This applies\n\t// only to generated classes for C++.\n\tCcEnableArenas *bool `protobuf:\"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0\" json:\"cc_enable_arenas,omitempty\"`\n\t// Sets the objective c class prefix which is prepended to all objective c\n\t// generated classes from this .proto. There is no default.\n\tObjcClassPrefix *string `protobuf:\"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix\" json:\"objc_class_prefix,omitempty\"`\n\t// Namespace for generated classes; defaults to the package.\n\tCsharpNamespace *string `protobuf:\"bytes,37,opt,name=csharp_namespace,json=csharpNamespace\" json:\"csharp_namespace,omitempty\"`\n\t// By default Swift generators will take the proto package and CamelCase it\n\t// replacing '.' with underscore and use that to prefix the types/symbols\n\t// defined. When this options is provided, they will use this value instead\n\t// to prefix the types/symbols defined.\n\tSwiftPrefix *string `protobuf:\"bytes,39,opt,name=swift_prefix,json=swiftPrefix\" json:\"swift_prefix,omitempty\"`\n\t// Sets the php class prefix which is prepended to all php generated classes\n\t// from this .proto. Default is empty.\n\tPhpClassPrefix *string `protobuf:\"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix\" json:\"php_class_prefix,omitempty\"`\n\t// Use this option to change the namespace of php generated classes. Default\n\t// is empty. When this option is empty, the package name will be used for\n\t// determining the namespace.\n\tPhpNamespace *string `protobuf:\"bytes,41,opt,name=php_namespace,json=phpNamespace\" json:\"php_namespace,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *FileOptions) Reset()                    { *m = FileOptions{} }\nfunc (m *FileOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*FileOptions) ProtoMessage()               {}\nfunc (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{10} }\n\nvar extRange_FileOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_FileOptions\n}\n\nconst Default_FileOptions_JavaMultipleFiles bool = false\nconst Default_FileOptions_JavaStringCheckUtf8 bool = false\nconst Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED\nconst Default_FileOptions_CcGenericServices bool = false\nconst Default_FileOptions_JavaGenericServices bool = false\nconst Default_FileOptions_PyGenericServices bool = false\nconst Default_FileOptions_PhpGenericServices bool = false\nconst Default_FileOptions_Deprecated bool = false\nconst Default_FileOptions_CcEnableArenas bool = false\n\nfunc (m *FileOptions) GetJavaPackage() string {\n\tif m != nil && m.JavaPackage != nil {\n\t\treturn *m.JavaPackage\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetJavaOuterClassname() string {\n\tif m != nil && m.JavaOuterClassname != nil {\n\t\treturn *m.JavaOuterClassname\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetJavaMultipleFiles() bool {\n\tif m != nil && m.JavaMultipleFiles != nil {\n\t\treturn *m.JavaMultipleFiles\n\t}\n\treturn Default_FileOptions_JavaMultipleFiles\n}\n\nfunc (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {\n\tif m != nil && m.JavaGenerateEqualsAndHash != nil {\n\t\treturn *m.JavaGenerateEqualsAndHash\n\t}\n\treturn false\n}\n\nfunc (m *FileOptions) GetJavaStringCheckUtf8() bool {\n\tif m != nil && m.JavaStringCheckUtf8 != nil {\n\t\treturn *m.JavaStringCheckUtf8\n\t}\n\treturn Default_FileOptions_JavaStringCheckUtf8\n}\n\nfunc (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {\n\tif m != nil && m.OptimizeFor != nil {\n\t\treturn *m.OptimizeFor\n\t}\n\treturn Default_FileOptions_OptimizeFor\n}\n\nfunc (m *FileOptions) GetGoPackage() string {\n\tif m != nil && m.GoPackage != nil {\n\t\treturn *m.GoPackage\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetCcGenericServices() bool {\n\tif m != nil && m.CcGenericServices != nil {\n\t\treturn *m.CcGenericServices\n\t}\n\treturn Default_FileOptions_CcGenericServices\n}\n\nfunc (m *FileOptions) GetJavaGenericServices() bool {\n\tif m != nil && m.JavaGenericServices != nil {\n\t\treturn *m.JavaGenericServices\n\t}\n\treturn Default_FileOptions_JavaGenericServices\n}\n\nfunc (m *FileOptions) GetPyGenericServices() bool {\n\tif m != nil && m.PyGenericServices != nil {\n\t\treturn *m.PyGenericServices\n\t}\n\treturn Default_FileOptions_PyGenericServices\n}\n\nfunc (m *FileOptions) GetPhpGenericServices() bool {\n\tif m != nil && m.PhpGenericServices != nil {\n\t\treturn *m.PhpGenericServices\n\t}\n\treturn Default_FileOptions_PhpGenericServices\n}\n\nfunc (m *FileOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_FileOptions_Deprecated\n}\n\nfunc (m *FileOptions) GetCcEnableArenas() bool {\n\tif m != nil && m.CcEnableArenas != nil {\n\t\treturn *m.CcEnableArenas\n\t}\n\treturn Default_FileOptions_CcEnableArenas\n}\n\nfunc (m *FileOptions) GetObjcClassPrefix() string {\n\tif m != nil && m.ObjcClassPrefix != nil {\n\t\treturn *m.ObjcClassPrefix\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetCsharpNamespace() string {\n\tif m != nil && m.CsharpNamespace != nil {\n\t\treturn *m.CsharpNamespace\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetSwiftPrefix() string {\n\tif m != nil && m.SwiftPrefix != nil {\n\t\treturn *m.SwiftPrefix\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetPhpClassPrefix() string {\n\tif m != nil && m.PhpClassPrefix != nil {\n\t\treturn *m.PhpClassPrefix\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetPhpNamespace() string {\n\tif m != nil && m.PhpNamespace != nil {\n\t\treturn *m.PhpNamespace\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype MessageOptions struct {\n\t// Set true to use the old proto1 MessageSet wire format for extensions.\n\t// This is provided for backwards-compatibility with the MessageSet wire\n\t// format.  You should not use this for any other reason:  It's less\n\t// efficient, has fewer features, and is more complicated.\n\t//\n\t// The message must be defined exactly as follows:\n\t//   message Foo {\n\t//     option message_set_wire_format = true;\n\t//     extensions 4 to max;\n\t//   }\n\t// Note that the message cannot have any defined fields; MessageSets only\n\t// have extensions.\n\t//\n\t// All extensions of your type must be singular messages; e.g. they cannot\n\t// be int32s, enums, or repeated messages.\n\t//\n\t// Because this is an option, the above two restrictions are not enforced by\n\t// the protocol compiler.\n\tMessageSetWireFormat *bool `protobuf:\"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0\" json:\"message_set_wire_format,omitempty\"`\n\t// Disables the generation of the standard \"descriptor()\" accessor, which can\n\t// conflict with a field of the same name.  This is meant to make migration\n\t// from proto1 easier; new code should avoid fields named \"descriptor\".\n\tNoStandardDescriptorAccessor *bool `protobuf:\"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0\" json:\"no_standard_descriptor_accessor,omitempty\"`\n\t// Is this message deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the message, or it will be completely ignored; in the very least,\n\t// this is a formalization for deprecating messages.\n\tDeprecated *bool `protobuf:\"varint,3,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// Whether the message is an automatically generated map entry type for the\n\t// maps field.\n\t//\n\t// For maps fields:\n\t//     map<KeyType, ValueType> map_field = 1;\n\t// The parsed descriptor looks like:\n\t//     message MapFieldEntry {\n\t//         option map_entry = true;\n\t//         optional KeyType key = 1;\n\t//         optional ValueType value = 2;\n\t//     }\n\t//     repeated MapFieldEntry map_field = 1;\n\t//\n\t// Implementations may choose not to generate the map_entry=true message, but\n\t// use a native map in the target language to hold the keys and values.\n\t// The reflection APIs in such implementions still need to work as\n\t// if the field is a repeated message field.\n\t//\n\t// NOTE: Do not set the option in .proto files. Always use the maps syntax\n\t// instead. The option should only be implicitly set by the proto compiler\n\t// parser.\n\tMapEntry *bool `protobuf:\"varint,7,opt,name=map_entry,json=mapEntry\" json:\"map_entry,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *MessageOptions) Reset()                    { *m = MessageOptions{} }\nfunc (m *MessageOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*MessageOptions) ProtoMessage()               {}\nfunc (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{11} }\n\nvar extRange_MessageOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_MessageOptions\n}\n\nconst Default_MessageOptions_MessageSetWireFormat bool = false\nconst Default_MessageOptions_NoStandardDescriptorAccessor bool = false\nconst Default_MessageOptions_Deprecated bool = false\n\nfunc (m *MessageOptions) GetMessageSetWireFormat() bool {\n\tif m != nil && m.MessageSetWireFormat != nil {\n\t\treturn *m.MessageSetWireFormat\n\t}\n\treturn Default_MessageOptions_MessageSetWireFormat\n}\n\nfunc (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {\n\tif m != nil && m.NoStandardDescriptorAccessor != nil {\n\t\treturn *m.NoStandardDescriptorAccessor\n\t}\n\treturn Default_MessageOptions_NoStandardDescriptorAccessor\n}\n\nfunc (m *MessageOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_MessageOptions_Deprecated\n}\n\nfunc (m *MessageOptions) GetMapEntry() bool {\n\tif m != nil && m.MapEntry != nil {\n\t\treturn *m.MapEntry\n\t}\n\treturn false\n}\n\nfunc (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype FieldOptions struct {\n\t// The ctype option instructs the C++ code generator to use a different\n\t// representation of the field than it normally would.  See the specific\n\t// options below.  This option is not yet implemented in the open source\n\t// release -- sorry, we'll try to include it in a future version!\n\tCtype *FieldOptions_CType `protobuf:\"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0\" json:\"ctype,omitempty\"`\n\t// The packed option can be enabled for repeated primitive fields to enable\n\t// a more efficient representation on the wire. Rather than repeatedly\n\t// writing the tag and type for each element, the entire array is encoded as\n\t// a single length-delimited blob. In proto3, only explicit setting it to\n\t// false will avoid using packed encoding.\n\tPacked *bool `protobuf:\"varint,2,opt,name=packed\" json:\"packed,omitempty\"`\n\t// The jstype option determines the JavaScript type used for values of the\n\t// field.  The option is permitted only for 64 bit integral and fixed types\n\t// (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING\n\t// is represented as JavaScript string, which avoids loss of precision that\n\t// can happen when a large value is converted to a floating point JavaScript.\n\t// Specifying JS_NUMBER for the jstype causes the generated JavaScript code to\n\t// use the JavaScript \"number\" type.  The behavior of the default option\n\t// JS_NORMAL is implementation dependent.\n\t//\n\t// This option is an enum to permit additional types to be added, e.g.\n\t// goog.math.Integer.\n\tJstype *FieldOptions_JSType `protobuf:\"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0\" json:\"jstype,omitempty\"`\n\t// Should this field be parsed lazily?  Lazy applies only to message-type\n\t// fields.  It means that when the outer message is initially parsed, the\n\t// inner message's contents will not be parsed but instead stored in encoded\n\t// form.  The inner message will actually be parsed when it is first accessed.\n\t//\n\t// This is only a hint.  Implementations are free to choose whether to use\n\t// eager or lazy parsing regardless of the value of this option.  However,\n\t// setting this option true suggests that the protocol author believes that\n\t// using lazy parsing on this field is worth the additional bookkeeping\n\t// overhead typically needed to implement it.\n\t//\n\t// This option does not affect the public interface of any generated code;\n\t// all method signatures remain the same.  Furthermore, thread-safety of the\n\t// interface is not affected by this option; const methods remain safe to\n\t// call from multiple threads concurrently, while non-const methods continue\n\t// to require exclusive access.\n\t//\n\t//\n\t// Note that implementations may choose not to check required fields within\n\t// a lazy sub-message.  That is, calling IsInitialized() on the outer message\n\t// may return true even if the inner message has missing required fields.\n\t// This is necessary because otherwise the inner message would have to be\n\t// parsed in order to perform the check, defeating the purpose of lazy\n\t// parsing.  An implementation which chooses not to check required fields\n\t// must be consistent about it.  That is, for any particular sub-message, the\n\t// implementation must either *always* check its required fields, or *never*\n\t// check its required fields, regardless of whether or not the message has\n\t// been parsed.\n\tLazy *bool `protobuf:\"varint,5,opt,name=lazy,def=0\" json:\"lazy,omitempty\"`\n\t// Is this field deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for accessors, or it will be completely ignored; in the very least, this\n\t// is a formalization for deprecating fields.\n\tDeprecated *bool `protobuf:\"varint,3,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// For Google-internal migration only. Do not use.\n\tWeak *bool `protobuf:\"varint,10,opt,name=weak,def=0\" json:\"weak,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *FieldOptions) Reset()                    { *m = FieldOptions{} }\nfunc (m *FieldOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*FieldOptions) ProtoMessage()               {}\nfunc (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{12} }\n\nvar extRange_FieldOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_FieldOptions\n}\n\nconst Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING\nconst Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL\nconst Default_FieldOptions_Lazy bool = false\nconst Default_FieldOptions_Deprecated bool = false\nconst Default_FieldOptions_Weak bool = false\n\nfunc (m *FieldOptions) GetCtype() FieldOptions_CType {\n\tif m != nil && m.Ctype != nil {\n\t\treturn *m.Ctype\n\t}\n\treturn Default_FieldOptions_Ctype\n}\n\nfunc (m *FieldOptions) GetPacked() bool {\n\tif m != nil && m.Packed != nil {\n\t\treturn *m.Packed\n\t}\n\treturn false\n}\n\nfunc (m *FieldOptions) GetJstype() FieldOptions_JSType {\n\tif m != nil && m.Jstype != nil {\n\t\treturn *m.Jstype\n\t}\n\treturn Default_FieldOptions_Jstype\n}\n\nfunc (m *FieldOptions) GetLazy() bool {\n\tif m != nil && m.Lazy != nil {\n\t\treturn *m.Lazy\n\t}\n\treturn Default_FieldOptions_Lazy\n}\n\nfunc (m *FieldOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_FieldOptions_Deprecated\n}\n\nfunc (m *FieldOptions) GetWeak() bool {\n\tif m != nil && m.Weak != nil {\n\t\treturn *m.Weak\n\t}\n\treturn Default_FieldOptions_Weak\n}\n\nfunc (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype OneofOptions struct {\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *OneofOptions) Reset()                    { *m = OneofOptions{} }\nfunc (m *OneofOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*OneofOptions) ProtoMessage()               {}\nfunc (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{13} }\n\nvar extRange_OneofOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_OneofOptions\n}\n\nfunc (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype EnumOptions struct {\n\t// Set this option to true to allow mapping different tag names to the same\n\t// value.\n\tAllowAlias *bool `protobuf:\"varint,2,opt,name=allow_alias,json=allowAlias\" json:\"allow_alias,omitempty\"`\n\t// Is this enum deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the enum, or it will be completely ignored; in the very least, this\n\t// is a formalization for deprecating enums.\n\tDeprecated *bool `protobuf:\"varint,3,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *EnumOptions) Reset()                    { *m = EnumOptions{} }\nfunc (m *EnumOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*EnumOptions) ProtoMessage()               {}\nfunc (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{14} }\n\nvar extRange_EnumOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_EnumOptions\n}\n\nconst Default_EnumOptions_Deprecated bool = false\n\nfunc (m *EnumOptions) GetAllowAlias() bool {\n\tif m != nil && m.AllowAlias != nil {\n\t\treturn *m.AllowAlias\n\t}\n\treturn false\n}\n\nfunc (m *EnumOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_EnumOptions_Deprecated\n}\n\nfunc (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype EnumValueOptions struct {\n\t// Is this enum value deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the enum value, or it will be completely ignored; in the very least,\n\t// this is a formalization for deprecating enum values.\n\tDeprecated *bool `protobuf:\"varint,1,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *EnumValueOptions) Reset()                    { *m = EnumValueOptions{} }\nfunc (m *EnumValueOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*EnumValueOptions) ProtoMessage()               {}\nfunc (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{15} }\n\nvar extRange_EnumValueOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_EnumValueOptions\n}\n\nconst Default_EnumValueOptions_Deprecated bool = false\n\nfunc (m *EnumValueOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_EnumValueOptions_Deprecated\n}\n\nfunc (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype ServiceOptions struct {\n\t// Is this service deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the service, or it will be completely ignored; in the very least,\n\t// this is a formalization for deprecating services.\n\tDeprecated *bool `protobuf:\"varint,33,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *ServiceOptions) Reset()                    { *m = ServiceOptions{} }\nfunc (m *ServiceOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*ServiceOptions) ProtoMessage()               {}\nfunc (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{16} }\n\nvar extRange_ServiceOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_ServiceOptions\n}\n\nconst Default_ServiceOptions_Deprecated bool = false\n\nfunc (m *ServiceOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_ServiceOptions_Deprecated\n}\n\nfunc (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype MethodOptions struct {\n\t// Is this method deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the method, or it will be completely ignored; in the very least,\n\t// this is a formalization for deprecating methods.\n\tDeprecated       *bool                           `protobuf:\"varint,33,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\tIdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:\"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0\" json:\"idempotency_level,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *MethodOptions) Reset()                    { *m = MethodOptions{} }\nfunc (m *MethodOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*MethodOptions) ProtoMessage()               {}\nfunc (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{17} }\n\nvar extRange_MethodOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_MethodOptions\n}\n\nconst Default_MethodOptions_Deprecated bool = false\nconst Default_MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN\n\nfunc (m *MethodOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_MethodOptions_Deprecated\n}\n\nfunc (m *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel {\n\tif m != nil && m.IdempotencyLevel != nil {\n\t\treturn *m.IdempotencyLevel\n\t}\n\treturn Default_MethodOptions_IdempotencyLevel\n}\n\nfunc (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\n// A message representing a option the parser does not recognize. This only\n// appears in options protos created by the compiler::Parser class.\n// DescriptorPool resolves these when building Descriptor objects. Therefore,\n// options protos in descriptor objects (e.g. returned by Descriptor::options(),\n// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions\n// in them.\ntype UninterpretedOption struct {\n\tName []*UninterpretedOption_NamePart `protobuf:\"bytes,2,rep,name=name\" json:\"name,omitempty\"`\n\t// The value of the uninterpreted option, in whatever type the tokenizer\n\t// identified it as during parsing. Exactly one of these should be set.\n\tIdentifierValue  *string  `protobuf:\"bytes,3,opt,name=identifier_value,json=identifierValue\" json:\"identifier_value,omitempty\"`\n\tPositiveIntValue *uint64  `protobuf:\"varint,4,opt,name=positive_int_value,json=positiveIntValue\" json:\"positive_int_value,omitempty\"`\n\tNegativeIntValue *int64   `protobuf:\"varint,5,opt,name=negative_int_value,json=negativeIntValue\" json:\"negative_int_value,omitempty\"`\n\tDoubleValue      *float64 `protobuf:\"fixed64,6,opt,name=double_value,json=doubleValue\" json:\"double_value,omitempty\"`\n\tStringValue      []byte   `protobuf:\"bytes,7,opt,name=string_value,json=stringValue\" json:\"string_value,omitempty\"`\n\tAggregateValue   *string  `protobuf:\"bytes,8,opt,name=aggregate_value,json=aggregateValue\" json:\"aggregate_value,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *UninterpretedOption) Reset()                    { *m = UninterpretedOption{} }\nfunc (m *UninterpretedOption) String() string            { return proto.CompactTextString(m) }\nfunc (*UninterpretedOption) ProtoMessage()               {}\nfunc (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{18} }\n\nfunc (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn nil\n}\n\nfunc (m *UninterpretedOption) GetIdentifierValue() string {\n\tif m != nil && m.IdentifierValue != nil {\n\t\treturn *m.IdentifierValue\n\t}\n\treturn \"\"\n}\n\nfunc (m *UninterpretedOption) GetPositiveIntValue() uint64 {\n\tif m != nil && m.PositiveIntValue != nil {\n\t\treturn *m.PositiveIntValue\n\t}\n\treturn 0\n}\n\nfunc (m *UninterpretedOption) GetNegativeIntValue() int64 {\n\tif m != nil && m.NegativeIntValue != nil {\n\t\treturn *m.NegativeIntValue\n\t}\n\treturn 0\n}\n\nfunc (m *UninterpretedOption) GetDoubleValue() float64 {\n\tif m != nil && m.DoubleValue != nil {\n\t\treturn *m.DoubleValue\n\t}\n\treturn 0\n}\n\nfunc (m *UninterpretedOption) GetStringValue() []byte {\n\tif m != nil {\n\t\treturn m.StringValue\n\t}\n\treturn nil\n}\n\nfunc (m *UninterpretedOption) GetAggregateValue() string {\n\tif m != nil && m.AggregateValue != nil {\n\t\treturn *m.AggregateValue\n\t}\n\treturn \"\"\n}\n\n// The name of the uninterpreted option.  Each string represents a segment in\n// a dot-separated name.  is_extension is true iff a segment represents an\n// extension (denoted with parentheses in options specs in .proto files).\n// E.g.,{ [\"foo\", false], [\"bar.baz\", true], [\"qux\", false] } represents\n// \"foo.(bar.baz).qux\".\ntype UninterpretedOption_NamePart struct {\n\tNamePart         *string `protobuf:\"bytes,1,req,name=name_part,json=namePart\" json:\"name_part,omitempty\"`\n\tIsExtension      *bool   `protobuf:\"varint,2,req,name=is_extension,json=isExtension\" json:\"is_extension,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *UninterpretedOption_NamePart) Reset()         { *m = UninterpretedOption_NamePart{} }\nfunc (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }\nfunc (*UninterpretedOption_NamePart) ProtoMessage()    {}\nfunc (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{18, 0}\n}\n\nfunc (m *UninterpretedOption_NamePart) GetNamePart() string {\n\tif m != nil && m.NamePart != nil {\n\t\treturn *m.NamePart\n\t}\n\treturn \"\"\n}\n\nfunc (m *UninterpretedOption_NamePart) GetIsExtension() bool {\n\tif m != nil && m.IsExtension != nil {\n\t\treturn *m.IsExtension\n\t}\n\treturn false\n}\n\n// Encapsulates information about the original source file from which a\n// FileDescriptorProto was generated.\ntype SourceCodeInfo struct {\n\t// A Location identifies a piece of source code in a .proto file which\n\t// corresponds to a particular definition.  This information is intended\n\t// to be useful to IDEs, code indexers, documentation generators, and similar\n\t// tools.\n\t//\n\t// For example, say we have a file like:\n\t//   message Foo {\n\t//     optional string foo = 1;\n\t//   }\n\t// Let's look at just the field definition:\n\t//   optional string foo = 1;\n\t//   ^       ^^     ^^  ^  ^^^\n\t//   a       bc     de  f  ghi\n\t// We have the following locations:\n\t//   span   path               represents\n\t//   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.\n\t//   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).\n\t//   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).\n\t//   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).\n\t//   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).\n\t//\n\t// Notes:\n\t// - A location may refer to a repeated field itself (i.e. not to any\n\t//   particular index within it).  This is used whenever a set of elements are\n\t//   logically enclosed in a single code segment.  For example, an entire\n\t//   extend block (possibly containing multiple extension definitions) will\n\t//   have an outer location whose path refers to the \"extensions\" repeated\n\t//   field without an index.\n\t// - Multiple locations may have the same path.  This happens when a single\n\t//   logical declaration is spread out across multiple places.  The most\n\t//   obvious example is the \"extend\" block again -- there may be multiple\n\t//   extend blocks in the same scope, each of which will have the same path.\n\t// - A location's span is not always a subset of its parent's span.  For\n\t//   example, the \"extendee\" of an extension declaration appears at the\n\t//   beginning of the \"extend\" block and is shared by all extensions within\n\t//   the block.\n\t// - Just because a location's span is a subset of some other location's span\n\t//   does not mean that it is a descendent.  For example, a \"group\" defines\n\t//   both a type and a field in a single declaration.  Thus, the locations\n\t//   corresponding to the type and field and their components will overlap.\n\t// - Code which tries to interpret locations should probably be designed to\n\t//   ignore those that it doesn't understand, as more types of locations could\n\t//   be recorded in the future.\n\tLocation         []*SourceCodeInfo_Location `protobuf:\"bytes,1,rep,name=location\" json:\"location,omitempty\"`\n\tXXX_unrecognized []byte                     `json:\"-\"`\n}\n\nfunc (m *SourceCodeInfo) Reset()                    { *m = SourceCodeInfo{} }\nfunc (m *SourceCodeInfo) String() string            { return proto.CompactTextString(m) }\nfunc (*SourceCodeInfo) ProtoMessage()               {}\nfunc (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{19} }\n\nfunc (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {\n\tif m != nil {\n\t\treturn m.Location\n\t}\n\treturn nil\n}\n\ntype SourceCodeInfo_Location struct {\n\t// Identifies which part of the FileDescriptorProto was defined at this\n\t// location.\n\t//\n\t// Each element is a field number or an index.  They form a path from\n\t// the root FileDescriptorProto to the place where the definition.  For\n\t// example, this path:\n\t//   [ 4, 3, 2, 7, 1 ]\n\t// refers to:\n\t//   file.message_type(3)  // 4, 3\n\t//       .field(7)         // 2, 7\n\t//       .name()           // 1\n\t// This is because FileDescriptorProto.message_type has field number 4:\n\t//   repeated DescriptorProto message_type = 4;\n\t// and DescriptorProto.field has field number 2:\n\t//   repeated FieldDescriptorProto field = 2;\n\t// and FieldDescriptorProto.name has field number 1:\n\t//   optional string name = 1;\n\t//\n\t// Thus, the above path gives the location of a field name.  If we removed\n\t// the last element:\n\t//   [ 4, 3, 2, 7 ]\n\t// this path refers to the whole field declaration (from the beginning\n\t// of the label to the terminating semicolon).\n\tPath []int32 `protobuf:\"varint,1,rep,packed,name=path\" json:\"path,omitempty\"`\n\t// Always has exactly three or four elements: start line, start column,\n\t// end line (optional, otherwise assumed same as start line), end column.\n\t// These are packed into a single field for efficiency.  Note that line\n\t// and column numbers are zero-based -- typically you will want to add\n\t// 1 to each before displaying to a user.\n\tSpan []int32 `protobuf:\"varint,2,rep,packed,name=span\" json:\"span,omitempty\"`\n\t// If this SourceCodeInfo represents a complete declaration, these are any\n\t// comments appearing before and after the declaration which appear to be\n\t// attached to the declaration.\n\t//\n\t// A series of line comments appearing on consecutive lines, with no other\n\t// tokens appearing on those lines, will be treated as a single comment.\n\t//\n\t// leading_detached_comments will keep paragraphs of comments that appear\n\t// before (but not connected to) the current element. Each paragraph,\n\t// separated by empty lines, will be one comment element in the repeated\n\t// field.\n\t//\n\t// Only the comment content is provided; comment markers (e.g. //) are\n\t// stripped out.  For block comments, leading whitespace and an asterisk\n\t// will be stripped from the beginning of each line other than the first.\n\t// Newlines are included in the output.\n\t//\n\t// Examples:\n\t//\n\t//   optional int32 foo = 1;  // Comment attached to foo.\n\t//   // Comment attached to bar.\n\t//   optional int32 bar = 2;\n\t//\n\t//   optional string baz = 3;\n\t//   // Comment attached to baz.\n\t//   // Another line attached to baz.\n\t//\n\t//   // Comment attached to qux.\n\t//   //\n\t//   // Another line attached to qux.\n\t//   optional double qux = 4;\n\t//\n\t//   // Detached comment for corge. This is not leading or trailing comments\n\t//   // to qux or corge because there are blank lines separating it from\n\t//   // both.\n\t//\n\t//   // Detached comment for corge paragraph 2.\n\t//\n\t//   optional string corge = 5;\n\t//   /* Block comment attached\n\t//    * to corge.  Leading asterisks\n\t//    * will be removed. */\n\t//   /* Block comment attached to\n\t//    * grault. */\n\t//   optional int32 grault = 6;\n\t//\n\t//   // ignored detached comments.\n\tLeadingComments         *string  `protobuf:\"bytes,3,opt,name=leading_comments,json=leadingComments\" json:\"leading_comments,omitempty\"`\n\tTrailingComments        *string  `protobuf:\"bytes,4,opt,name=trailing_comments,json=trailingComments\" json:\"trailing_comments,omitempty\"`\n\tLeadingDetachedComments []string `protobuf:\"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments\" json:\"leading_detached_comments,omitempty\"`\n\tXXX_unrecognized        []byte   `json:\"-\"`\n}\n\nfunc (m *SourceCodeInfo_Location) Reset()         { *m = SourceCodeInfo_Location{} }\nfunc (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) }\nfunc (*SourceCodeInfo_Location) ProtoMessage()    {}\nfunc (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{19, 0}\n}\n\nfunc (m *SourceCodeInfo_Location) GetPath() []int32 {\n\tif m != nil {\n\t\treturn m.Path\n\t}\n\treturn nil\n}\n\nfunc (m *SourceCodeInfo_Location) GetSpan() []int32 {\n\tif m != nil {\n\t\treturn m.Span\n\t}\n\treturn nil\n}\n\nfunc (m *SourceCodeInfo_Location) GetLeadingComments() string {\n\tif m != nil && m.LeadingComments != nil {\n\t\treturn *m.LeadingComments\n\t}\n\treturn \"\"\n}\n\nfunc (m *SourceCodeInfo_Location) GetTrailingComments() string {\n\tif m != nil && m.TrailingComments != nil {\n\t\treturn *m.TrailingComments\n\t}\n\treturn \"\"\n}\n\nfunc (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {\n\tif m != nil {\n\t\treturn m.LeadingDetachedComments\n\t}\n\treturn nil\n}\n\n// Describes the relationship between generated code and its original source\n// file. A GeneratedCodeInfo message is associated with only one generated\n// source file, but may contain references to different source .proto files.\ntype GeneratedCodeInfo struct {\n\t// An Annotation connects some span of text in generated code to an element\n\t// of its generating .proto file.\n\tAnnotation       []*GeneratedCodeInfo_Annotation `protobuf:\"bytes,1,rep,name=annotation\" json:\"annotation,omitempty\"`\n\tXXX_unrecognized []byte                          `json:\"-\"`\n}\n\nfunc (m *GeneratedCodeInfo) Reset()                    { *m = GeneratedCodeInfo{} }\nfunc (m *GeneratedCodeInfo) String() string            { return proto.CompactTextString(m) }\nfunc (*GeneratedCodeInfo) ProtoMessage()               {}\nfunc (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{20} }\n\nfunc (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {\n\tif m != nil {\n\t\treturn m.Annotation\n\t}\n\treturn nil\n}\n\ntype GeneratedCodeInfo_Annotation struct {\n\t// Identifies the element in the original source .proto file. This field\n\t// is formatted the same as SourceCodeInfo.Location.path.\n\tPath []int32 `protobuf:\"varint,1,rep,packed,name=path\" json:\"path,omitempty\"`\n\t// Identifies the filesystem path to the original source .proto.\n\tSourceFile *string `protobuf:\"bytes,2,opt,name=source_file,json=sourceFile\" json:\"source_file,omitempty\"`\n\t// Identifies the starting offset in bytes in the generated code\n\t// that relates to the identified object.\n\tBegin *int32 `protobuf:\"varint,3,opt,name=begin\" json:\"begin,omitempty\"`\n\t// Identifies the ending offset in bytes in the generated code that\n\t// relates to the identified offset. The end offset should be one past\n\t// the last relevant byte (so the length of the text = end - begin).\n\tEnd              *int32 `protobuf:\"varint,4,opt,name=end\" json:\"end,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) Reset()         { *m = GeneratedCodeInfo_Annotation{} }\nfunc (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }\nfunc (*GeneratedCodeInfo_Annotation) ProtoMessage()    {}\nfunc (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {\n\treturn fileDescriptorDescriptor, []int{20, 0}\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {\n\tif m != nil {\n\t\treturn m.Path\n\t}\n\treturn nil\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) GetSourceFile() string {\n\tif m != nil && m.SourceFile != nil {\n\t\treturn *m.SourceFile\n\t}\n\treturn \"\"\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) GetBegin() int32 {\n\tif m != nil && m.Begin != nil {\n\t\treturn *m.Begin\n\t}\n\treturn 0\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {\n\tif m != nil && m.End != nil {\n\t\treturn *m.End\n\t}\n\treturn 0\n}\n\nfunc init() {\n\tproto.RegisterType((*FileDescriptorSet)(nil), \"google.protobuf.FileDescriptorSet\")\n\tproto.RegisterType((*FileDescriptorProto)(nil), \"google.protobuf.FileDescriptorProto\")\n\tproto.RegisterType((*DescriptorProto)(nil), \"google.protobuf.DescriptorProto\")\n\tproto.RegisterType((*DescriptorProto_ExtensionRange)(nil), \"google.protobuf.DescriptorProto.ExtensionRange\")\n\tproto.RegisterType((*DescriptorProto_ReservedRange)(nil), \"google.protobuf.DescriptorProto.ReservedRange\")\n\tproto.RegisterType((*ExtensionRangeOptions)(nil), \"google.protobuf.ExtensionRangeOptions\")\n\tproto.RegisterType((*FieldDescriptorProto)(nil), \"google.protobuf.FieldDescriptorProto\")\n\tproto.RegisterType((*OneofDescriptorProto)(nil), \"google.protobuf.OneofDescriptorProto\")\n\tproto.RegisterType((*EnumDescriptorProto)(nil), \"google.protobuf.EnumDescriptorProto\")\n\tproto.RegisterType((*EnumDescriptorProto_EnumReservedRange)(nil), \"google.protobuf.EnumDescriptorProto.EnumReservedRange\")\n\tproto.RegisterType((*EnumValueDescriptorProto)(nil), \"google.protobuf.EnumValueDescriptorProto\")\n\tproto.RegisterType((*ServiceDescriptorProto)(nil), \"google.protobuf.ServiceDescriptorProto\")\n\tproto.RegisterType((*MethodDescriptorProto)(nil), \"google.protobuf.MethodDescriptorProto\")\n\tproto.RegisterType((*FileOptions)(nil), \"google.protobuf.FileOptions\")\n\tproto.RegisterType((*MessageOptions)(nil), \"google.protobuf.MessageOptions\")\n\tproto.RegisterType((*FieldOptions)(nil), \"google.protobuf.FieldOptions\")\n\tproto.RegisterType((*OneofOptions)(nil), \"google.protobuf.OneofOptions\")\n\tproto.RegisterType((*EnumOptions)(nil), \"google.protobuf.EnumOptions\")\n\tproto.RegisterType((*EnumValueOptions)(nil), \"google.protobuf.EnumValueOptions\")\n\tproto.RegisterType((*ServiceOptions)(nil), \"google.protobuf.ServiceOptions\")\n\tproto.RegisterType((*MethodOptions)(nil), \"google.protobuf.MethodOptions\")\n\tproto.RegisterType((*UninterpretedOption)(nil), \"google.protobuf.UninterpretedOption\")\n\tproto.RegisterType((*UninterpretedOption_NamePart)(nil), \"google.protobuf.UninterpretedOption.NamePart\")\n\tproto.RegisterType((*SourceCodeInfo)(nil), \"google.protobuf.SourceCodeInfo\")\n\tproto.RegisterType((*SourceCodeInfo_Location)(nil), \"google.protobuf.SourceCodeInfo.Location\")\n\tproto.RegisterType((*GeneratedCodeInfo)(nil), \"google.protobuf.GeneratedCodeInfo\")\n\tproto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), \"google.protobuf.GeneratedCodeInfo.Annotation\")\n\tproto.RegisterEnum(\"google.protobuf.FieldDescriptorProto_Type\", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)\n\tproto.RegisterEnum(\"google.protobuf.FieldDescriptorProto_Label\", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)\n\tproto.RegisterEnum(\"google.protobuf.FileOptions_OptimizeMode\", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)\n\tproto.RegisterEnum(\"google.protobuf.FieldOptions_CType\", FieldOptions_CType_name, FieldOptions_CType_value)\n\tproto.RegisterEnum(\"google.protobuf.FieldOptions_JSType\", FieldOptions_JSType_name, FieldOptions_JSType_value)\n\tproto.RegisterEnum(\"google.protobuf.MethodOptions_IdempotencyLevel\", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value)\n}\n\nfunc init() { proto.RegisterFile(\"descriptor.proto\", fileDescriptorDescriptor) }\n\nvar fileDescriptorDescriptor = []byte{\n\t// 2487 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcd, 0x6f, 0xdb, 0xc8,\n\t0x15, 0x5f, 0x7d, 0x5a, 0x7a, 0x92, 0xe5, 0xf1, 0xd8, 0x9b, 0x30, 0xde, 0x8f, 0x38, 0xda, 0x8f,\n\t0x38, 0x49, 0xab, 0x2c, 0x9c, 0xc4, 0xc9, 0x3a, 0xc5, 0xb6, 0xb2, 0xc4, 0x78, 0x95, 0xca, 0x92,\n\t0x4a, 0xc9, 0xdd, 0x64, 0x8b, 0x82, 0x18, 0x93, 0x23, 0x89, 0x09, 0x45, 0x72, 0x49, 0x2a, 0x89,\n\t0x83, 0x1e, 0x02, 0xf4, 0xd4, 0xff, 0xa0, 0x28, 0x8a, 0x1e, 0x7a, 0x59, 0xa0, 0xd7, 0x02, 0x05,\n\t0xda, 0x7b, 0xaf, 0x05, 0x7a, 0xef, 0xa1, 0x40, 0x0b, 0xb4, 0x7f, 0x42, 0x8f, 0xc5, 0xcc, 0x90,\n\t0x14, 0xf5, 0x95, 0x78, 0x17, 0x48, 0xf6, 0x64, 0xcf, 0xef, 0xfd, 0xde, 0xe3, 0x9b, 0x37, 0x6f,\n\t0xde, 0xbc, 0x19, 0x01, 0xd2, 0xa9, 0xa7, 0xb9, 0x86, 0xe3, 0xdb, 0x6e, 0xc5, 0x71, 0x6d, 0xdf,\n\t0xc6, 0x6b, 0x03, 0xdb, 0x1e, 0x98, 0x54, 0x8c, 0x4e, 0xc6, 0xfd, 0xf2, 0x11, 0xac, 0xdf, 0x33,\n\t0x4c, 0x5a, 0x8f, 0x88, 0x5d, 0xea, 0xe3, 0x3b, 0x90, 0xee, 0x1b, 0x26, 0x95, 0x12, 0xdb, 0xa9,\n\t0x9d, 0xc2, 0xee, 0x87, 0x95, 0x19, 0xa5, 0xca, 0xb4, 0x46, 0x87, 0xc1, 0x0a, 0xd7, 0x28, 0xff,\n\t0x3b, 0x0d, 0x1b, 0x0b, 0xa4, 0x18, 0x43, 0xda, 0x22, 0x23, 0x66, 0x31, 0xb1, 0x93, 0x57, 0xf8,\n\t0xff, 0x58, 0x82, 0x15, 0x87, 0x68, 0x8f, 0xc9, 0x80, 0x4a, 0x49, 0x0e, 0x87, 0x43, 0xfc, 0x3e,\n\t0x80, 0x4e, 0x1d, 0x6a, 0xe9, 0xd4, 0xd2, 0x4e, 0xa5, 0xd4, 0x76, 0x6a, 0x27, 0xaf, 0xc4, 0x10,\n\t0x7c, 0x0d, 0xd6, 0x9d, 0xf1, 0x89, 0x69, 0x68, 0x6a, 0x8c, 0x06, 0xdb, 0xa9, 0x9d, 0x8c, 0x82,\n\t0x84, 0xa0, 0x3e, 0x21, 0x5f, 0x86, 0xb5, 0xa7, 0x94, 0x3c, 0x8e, 0x53, 0x0b, 0x9c, 0x5a, 0x62,\n\t0x70, 0x8c, 0x58, 0x83, 0xe2, 0x88, 0x7a, 0x1e, 0x19, 0x50, 0xd5, 0x3f, 0x75, 0xa8, 0x94, 0xe6,\n\t0xb3, 0xdf, 0x9e, 0x9b, 0xfd, 0xec, 0xcc, 0x0b, 0x81, 0x56, 0xef, 0xd4, 0xa1, 0xb8, 0x0a, 0x79,\n\t0x6a, 0x8d, 0x47, 0xc2, 0x42, 0x66, 0x49, 0xfc, 0x64, 0x6b, 0x3c, 0x9a, 0xb5, 0x92, 0x63, 0x6a,\n\t0x81, 0x89, 0x15, 0x8f, 0xba, 0x4f, 0x0c, 0x8d, 0x4a, 0x59, 0x6e, 0xe0, 0xf2, 0x9c, 0x81, 0xae,\n\t0x90, 0xcf, 0xda, 0x08, 0xf5, 0x70, 0x0d, 0xf2, 0xf4, 0x99, 0x4f, 0x2d, 0xcf, 0xb0, 0x2d, 0x69,\n\t0x85, 0x1b, 0xf9, 0x68, 0xc1, 0x2a, 0x52, 0x53, 0x9f, 0x35, 0x31, 0xd1, 0xc3, 0x7b, 0xb0, 0x62,\n\t0x3b, 0xbe, 0x61, 0x5b, 0x9e, 0x94, 0xdb, 0x4e, 0xec, 0x14, 0x76, 0xdf, 0x5d, 0x98, 0x08, 0x6d,\n\t0xc1, 0x51, 0x42, 0x32, 0x6e, 0x00, 0xf2, 0xec, 0xb1, 0xab, 0x51, 0x55, 0xb3, 0x75, 0xaa, 0x1a,\n\t0x56, 0xdf, 0x96, 0xf2, 0xdc, 0xc0, 0xc5, 0xf9, 0x89, 0x70, 0x62, 0xcd, 0xd6, 0x69, 0xc3, 0xea,\n\t0xdb, 0x4a, 0xc9, 0x9b, 0x1a, 0xe3, 0x73, 0x90, 0xf5, 0x4e, 0x2d, 0x9f, 0x3c, 0x93, 0x8a, 0x3c,\n\t0x43, 0x82, 0x51, 0xf9, 0xcf, 0x59, 0x58, 0x3b, 0x4b, 0x8a, 0xdd, 0x85, 0x4c, 0x9f, 0xcd, 0x52,\n\t0x4a, 0x7e, 0x93, 0x18, 0x08, 0x9d, 0xe9, 0x20, 0x66, 0xbf, 0x65, 0x10, 0xab, 0x50, 0xb0, 0xa8,\n\t0xe7, 0x53, 0x5d, 0x64, 0x44, 0xea, 0x8c, 0x39, 0x05, 0x42, 0x69, 0x3e, 0xa5, 0xd2, 0xdf, 0x2a,\n\t0xa5, 0x1e, 0xc0, 0x5a, 0xe4, 0x92, 0xea, 0x12, 0x6b, 0x10, 0xe6, 0xe6, 0xf5, 0x57, 0x79, 0x52,\n\t0x91, 0x43, 0x3d, 0x85, 0xa9, 0x29, 0x25, 0x3a, 0x35, 0xc6, 0x75, 0x00, 0xdb, 0xa2, 0x76, 0x5f,\n\t0xd5, 0xa9, 0x66, 0x4a, 0xb9, 0x25, 0x51, 0x6a, 0x33, 0xca, 0x5c, 0x94, 0x6c, 0x81, 0x6a, 0x26,\n\t0xfe, 0x74, 0x92, 0x6a, 0x2b, 0x4b, 0x32, 0xe5, 0x48, 0x6c, 0xb2, 0xb9, 0x6c, 0x3b, 0x86, 0x92,\n\t0x4b, 0x59, 0xde, 0x53, 0x3d, 0x98, 0x59, 0x9e, 0x3b, 0x51, 0x79, 0xe5, 0xcc, 0x94, 0x40, 0x4d,\n\t0x4c, 0x6c, 0xd5, 0x8d, 0x0f, 0xf1, 0x07, 0x10, 0x01, 0x2a, 0x4f, 0x2b, 0xe0, 0x55, 0xa8, 0x18,\n\t0x82, 0x2d, 0x32, 0xa2, 0x5b, 0xcf, 0xa1, 0x34, 0x1d, 0x1e, 0xbc, 0x09, 0x19, 0xcf, 0x27, 0xae,\n\t0xcf, 0xb3, 0x30, 0xa3, 0x88, 0x01, 0x46, 0x90, 0xa2, 0x96, 0xce, 0xab, 0x5c, 0x46, 0x61, 0xff,\n\t0xe2, 0x1f, 0x4d, 0x26, 0x9c, 0xe2, 0x13, 0xfe, 0x78, 0x7e, 0x45, 0xa7, 0x2c, 0xcf, 0xce, 0x7b,\n\t0xeb, 0x36, 0xac, 0x4e, 0x4d, 0xe0, 0xac, 0x9f, 0x2e, 0xff, 0x02, 0xde, 0x5e, 0x68, 0x1a, 0x3f,\n\t0x80, 0xcd, 0xb1, 0x65, 0x58, 0x3e, 0x75, 0x1d, 0x97, 0xb2, 0x8c, 0x15, 0x9f, 0x92, 0xfe, 0xb3,\n\t0xb2, 0x24, 0xe7, 0x8e, 0xe3, 0x6c, 0x61, 0x45, 0xd9, 0x18, 0xcf, 0x83, 0x57, 0xf3, 0xb9, 0xff,\n\t0xae, 0xa0, 0x17, 0x2f, 0x5e, 0xbc, 0x48, 0x96, 0x7f, 0x9d, 0x85, 0xcd, 0x45, 0x7b, 0x66, 0xe1,\n\t0xf6, 0x3d, 0x07, 0x59, 0x6b, 0x3c, 0x3a, 0xa1, 0x2e, 0x0f, 0x52, 0x46, 0x09, 0x46, 0xb8, 0x0a,\n\t0x19, 0x93, 0x9c, 0x50, 0x53, 0x4a, 0x6f, 0x27, 0x76, 0x4a, 0xbb, 0xd7, 0xce, 0xb4, 0x2b, 0x2b,\n\t0x4d, 0xa6, 0xa2, 0x08, 0x4d, 0xfc, 0x19, 0xa4, 0x83, 0x12, 0xcd, 0x2c, 0x5c, 0x3d, 0x9b, 0x05,\n\t0xb6, 0x97, 0x14, 0xae, 0x87, 0xdf, 0x81, 0x3c, 0xfb, 0x2b, 0x72, 0x23, 0xcb, 0x7d, 0xce, 0x31,\n\t0x80, 0xe5, 0x05, 0xde, 0x82, 0x1c, 0xdf, 0x26, 0x3a, 0x0d, 0x8f, 0xb6, 0x68, 0xcc, 0x12, 0x4b,\n\t0xa7, 0x7d, 0x32, 0x36, 0x7d, 0xf5, 0x09, 0x31, 0xc7, 0x94, 0x27, 0x7c, 0x5e, 0x29, 0x06, 0xe0,\n\t0x4f, 0x19, 0x86, 0x2f, 0x42, 0x41, 0xec, 0x2a, 0xc3, 0xd2, 0xe9, 0x33, 0x5e, 0x3d, 0x33, 0x8a,\n\t0xd8, 0x68, 0x0d, 0x86, 0xb0, 0xcf, 0x3f, 0xf2, 0x6c, 0x2b, 0x4c, 0x4d, 0xfe, 0x09, 0x06, 0xf0,\n\t0xcf, 0xdf, 0x9e, 0x2d, 0xdc, 0xef, 0x2d, 0x9e, 0xde, 0x6c, 0x4e, 0x95, 0xff, 0x94, 0x84, 0x34,\n\t0xaf, 0x17, 0x6b, 0x50, 0xe8, 0x3d, 0xec, 0xc8, 0x6a, 0xbd, 0x7d, 0x7c, 0xd0, 0x94, 0x51, 0x02,\n\t0x97, 0x00, 0x38, 0x70, 0xaf, 0xd9, 0xae, 0xf6, 0x50, 0x32, 0x1a, 0x37, 0x5a, 0xbd, 0xbd, 0x9b,\n\t0x28, 0x15, 0x29, 0x1c, 0x0b, 0x20, 0x1d, 0x27, 0xdc, 0xd8, 0x45, 0x19, 0x8c, 0xa0, 0x28, 0x0c,\n\t0x34, 0x1e, 0xc8, 0xf5, 0xbd, 0x9b, 0x28, 0x3b, 0x8d, 0xdc, 0xd8, 0x45, 0x2b, 0x78, 0x15, 0xf2,\n\t0x1c, 0x39, 0x68, 0xb7, 0x9b, 0x28, 0x17, 0xd9, 0xec, 0xf6, 0x94, 0x46, 0xeb, 0x10, 0xe5, 0x23,\n\t0x9b, 0x87, 0x4a, 0xfb, 0xb8, 0x83, 0x20, 0xb2, 0x70, 0x24, 0x77, 0xbb, 0xd5, 0x43, 0x19, 0x15,\n\t0x22, 0xc6, 0xc1, 0xc3, 0x9e, 0xdc, 0x45, 0xc5, 0x29, 0xb7, 0x6e, 0xec, 0xa2, 0xd5, 0xe8, 0x13,\n\t0x72, 0xeb, 0xf8, 0x08, 0x95, 0xf0, 0x3a, 0xac, 0x8a, 0x4f, 0x84, 0x4e, 0xac, 0xcd, 0x40, 0x7b,\n\t0x37, 0x11, 0x9a, 0x38, 0x22, 0xac, 0xac, 0x4f, 0x01, 0x7b, 0x37, 0x11, 0x2e, 0xd7, 0x20, 0xc3,\n\t0xb3, 0x0b, 0x63, 0x28, 0x35, 0xab, 0x07, 0x72, 0x53, 0x6d, 0x77, 0x7a, 0x8d, 0x76, 0xab, 0xda,\n\t0x44, 0x89, 0x09, 0xa6, 0xc8, 0x3f, 0x39, 0x6e, 0x28, 0x72, 0x1d, 0x25, 0xe3, 0x58, 0x47, 0xae,\n\t0xf6, 0xe4, 0x3a, 0x4a, 0x95, 0x35, 0xd8, 0x5c, 0x54, 0x27, 0x17, 0xee, 0x8c, 0xd8, 0x12, 0x27,\n\t0x97, 0x2c, 0x31, 0xb7, 0x35, 0xb7, 0xc4, 0xff, 0x4a, 0xc2, 0xc6, 0x82, 0xb3, 0x62, 0xe1, 0x47,\n\t0x7e, 0x08, 0x19, 0x91, 0xa2, 0xe2, 0xf4, 0xbc, 0xb2, 0xf0, 0xd0, 0xe1, 0x09, 0x3b, 0x77, 0x82,\n\t0x72, 0xbd, 0x78, 0x07, 0x91, 0x5a, 0xd2, 0x41, 0x30, 0x13, 0x73, 0x35, 0xfd, 0xe7, 0x73, 0x35,\n\t0x5d, 0x1c, 0x7b, 0x7b, 0x67, 0x39, 0xf6, 0x38, 0xf6, 0xcd, 0x6a, 0x7b, 0x66, 0x41, 0x6d, 0xbf,\n\t0x0b, 0xeb, 0x73, 0x86, 0xce, 0x5c, 0x63, 0x7f, 0x99, 0x00, 0x69, 0x59, 0x70, 0x5e, 0x51, 0xe9,\n\t0x92, 0x53, 0x95, 0xee, 0xee, 0x6c, 0x04, 0x2f, 0x2d, 0x5f, 0x84, 0xb9, 0xb5, 0xfe, 0x3a, 0x01,\n\t0xe7, 0x16, 0x77, 0x8a, 0x0b, 0x7d, 0xf8, 0x0c, 0xb2, 0x23, 0xea, 0x0f, 0xed, 0xb0, 0x5b, 0xfa,\n\t0x78, 0xc1, 0x19, 0xcc, 0xc4, 0xb3, 0x8b, 0x1d, 0x68, 0xc5, 0x0f, 0xf1, 0xd4, 0xb2, 0x76, 0x4f,\n\t0x78, 0x33, 0xe7, 0xe9, 0xaf, 0x92, 0xf0, 0xf6, 0x42, 0xe3, 0x0b, 0x1d, 0x7d, 0x0f, 0xc0, 0xb0,\n\t0x9c, 0xb1, 0x2f, 0x3a, 0x22, 0x51, 0x60, 0xf3, 0x1c, 0xe1, 0xc5, 0x8b, 0x15, 0xcf, 0xb1, 0x1f,\n\t0xc9, 0x53, 0x5c, 0x0e, 0x02, 0xe2, 0x84, 0x3b, 0x13, 0x47, 0xd3, 0xdc, 0xd1, 0xf7, 0x97, 0xcc,\n\t0x74, 0x2e, 0x31, 0x3f, 0x01, 0xa4, 0x99, 0x06, 0xb5, 0x7c, 0xd5, 0xf3, 0x5d, 0x4a, 0x46, 0x86,\n\t0x35, 0xe0, 0x27, 0x48, 0x6e, 0x3f, 0xd3, 0x27, 0xa6, 0x47, 0x95, 0x35, 0x21, 0xee, 0x86, 0x52,\n\t0xa6, 0xc1, 0x13, 0xc8, 0x8d, 0x69, 0x64, 0xa7, 0x34, 0x84, 0x38, 0xd2, 0x28, 0xff, 0x31, 0x07,\n\t0x85, 0x58, 0x5f, 0x8d, 0x2f, 0x41, 0xf1, 0x11, 0x79, 0x42, 0xd4, 0xf0, 0xae, 0x24, 0x22, 0x51,\n\t0x60, 0x58, 0x27, 0xb8, 0x2f, 0x7d, 0x02, 0x9b, 0x9c, 0x62, 0x8f, 0x7d, 0xea, 0xaa, 0x9a, 0x49,\n\t0x3c, 0x8f, 0x07, 0x2d, 0xc7, 0xa9, 0x98, 0xc9, 0xda, 0x4c, 0x54, 0x0b, 0x25, 0xf8, 0x16, 0x6c,\n\t0x70, 0x8d, 0xd1, 0xd8, 0xf4, 0x0d, 0xc7, 0xa4, 0x2a, 0xbb, 0xbd, 0x79, 0xfc, 0x24, 0x89, 0x3c,\n\t0x5b, 0x67, 0x8c, 0xa3, 0x80, 0xc0, 0x3c, 0xf2, 0x70, 0x1d, 0xde, 0xe3, 0x6a, 0x03, 0x6a, 0x51,\n\t0x97, 0xf8, 0x54, 0xa5, 0x5f, 0x8d, 0x89, 0xe9, 0xa9, 0xc4, 0xd2, 0xd5, 0x21, 0xf1, 0x86, 0xd2,\n\t0x26, 0x33, 0x70, 0x90, 0x94, 0x12, 0xca, 0x05, 0x46, 0x3c, 0x0c, 0x78, 0x32, 0xa7, 0x55, 0x2d,\n\t0xfd, 0x73, 0xe2, 0x0d, 0xf1, 0x3e, 0x9c, 0xe3, 0x56, 0x3c, 0xdf, 0x35, 0xac, 0x81, 0xaa, 0x0d,\n\t0xa9, 0xf6, 0x58, 0x1d, 0xfb, 0xfd, 0x3b, 0xd2, 0x3b, 0xf1, 0xef, 0x73, 0x0f, 0xbb, 0x9c, 0x53,\n\t0x63, 0x94, 0x63, 0xbf, 0x7f, 0x07, 0x77, 0xa1, 0xc8, 0x16, 0x63, 0x64, 0x3c, 0xa7, 0x6a, 0xdf,\n\t0x76, 0xf9, 0xd1, 0x58, 0x5a, 0x50, 0x9a, 0x62, 0x11, 0xac, 0xb4, 0x03, 0x85, 0x23, 0x5b, 0xa7,\n\t0xfb, 0x99, 0x6e, 0x47, 0x96, 0xeb, 0x4a, 0x21, 0xb4, 0x72, 0xcf, 0x76, 0x59, 0x42, 0x0d, 0xec,\n\t0x28, 0xc0, 0x05, 0x91, 0x50, 0x03, 0x3b, 0x0c, 0xef, 0x2d, 0xd8, 0xd0, 0x34, 0x31, 0x67, 0x43,\n\t0x53, 0x83, 0x3b, 0x96, 0x27, 0xa1, 0xa9, 0x60, 0x69, 0xda, 0xa1, 0x20, 0x04, 0x39, 0xee, 0xe1,\n\t0x4f, 0xe1, 0xed, 0x49, 0xb0, 0xe2, 0x8a, 0xeb, 0x73, 0xb3, 0x9c, 0x55, 0xbd, 0x05, 0x1b, 0xce,\n\t0xe9, 0xbc, 0x22, 0x9e, 0xfa, 0xa2, 0x73, 0x3a, 0xab, 0x76, 0x1b, 0x36, 0x9d, 0xa1, 0x33, 0xaf,\n\t0x77, 0x35, 0xae, 0x87, 0x9d, 0xa1, 0x33, 0xab, 0xf8, 0x11, 0xbf, 0x70, 0xbb, 0x54, 0x23, 0x3e,\n\t0xd5, 0xa5, 0xf3, 0x71, 0x7a, 0x4c, 0x80, 0xaf, 0x03, 0xd2, 0x34, 0x95, 0x5a, 0xe4, 0xc4, 0xa4,\n\t0x2a, 0x71, 0xa9, 0x45, 0x3c, 0xe9, 0x62, 0x9c, 0x5c, 0xd2, 0x34, 0x99, 0x4b, 0xab, 0x5c, 0x88,\n\t0xaf, 0xc2, 0xba, 0x7d, 0xf2, 0x48, 0x13, 0x29, 0xa9, 0x3a, 0x2e, 0xed, 0x1b, 0xcf, 0xa4, 0x0f,\n\t0x79, 0x7c, 0xd7, 0x98, 0x80, 0x27, 0x64, 0x87, 0xc3, 0xf8, 0x0a, 0x20, 0xcd, 0x1b, 0x12, 0xd7,\n\t0xe1, 0x35, 0xd9, 0x73, 0x88, 0x46, 0xa5, 0x8f, 0x04, 0x55, 0xe0, 0xad, 0x10, 0x66, 0x5b, 0xc2,\n\t0x7b, 0x6a, 0xf4, 0xfd, 0xd0, 0xe2, 0x65, 0xb1, 0x25, 0x38, 0x16, 0x58, 0xdb, 0x01, 0xc4, 0x42,\n\t0x31, 0xf5, 0xe1, 0x1d, 0x4e, 0x2b, 0x39, 0x43, 0x27, 0xfe, 0xdd, 0x0f, 0x60, 0x95, 0x31, 0x27,\n\t0x1f, 0xbd, 0x22, 0x1a, 0x32, 0x67, 0x18, 0xfb, 0xe2, 0x6b, 0xeb, 0x8d, 0xcb, 0xfb, 0x50, 0x8c,\n\t0xe7, 0x27, 0xce, 0x83, 0xc8, 0x50, 0x94, 0x60, 0xcd, 0x4a, 0xad, 0x5d, 0x67, 0x6d, 0xc6, 0x97,\n\t0x32, 0x4a, 0xb2, 0x76, 0xa7, 0xd9, 0xe8, 0xc9, 0xaa, 0x72, 0xdc, 0xea, 0x35, 0x8e, 0x64, 0x94,\n\t0x8a, 0xf7, 0xd5, 0x7f, 0x4d, 0x42, 0x69, 0xfa, 0x8a, 0x84, 0x7f, 0x00, 0xe7, 0xc3, 0xf7, 0x0c,\n\t0x8f, 0xfa, 0xea, 0x53, 0xc3, 0xe5, 0x5b, 0x66, 0x44, 0xc4, 0xf1, 0x15, 0x2d, 0xda, 0x66, 0xc0,\n\t0xea, 0x52, 0xff, 0x0b, 0xc3, 0x65, 0x1b, 0x62, 0x44, 0x7c, 0xdc, 0x84, 0x8b, 0x96, 0xad, 0x7a,\n\t0x3e, 0xb1, 0x74, 0xe2, 0xea, 0xea, 0xe4, 0x25, 0x49, 0x25, 0x9a, 0x46, 0x3d, 0xcf, 0x16, 0x47,\n\t0x55, 0x64, 0xe5, 0x5d, 0xcb, 0xee, 0x06, 0xe4, 0x49, 0x0d, 0xaf, 0x06, 0xd4, 0x99, 0x04, 0x4b,\n\t0x2d, 0x4b, 0xb0, 0x77, 0x20, 0x3f, 0x22, 0x8e, 0x4a, 0x2d, 0xdf, 0x3d, 0xe5, 0x8d, 0x71, 0x4e,\n\t0xc9, 0x8d, 0x88, 0x23, 0xb3, 0xf1, 0x9b, 0xb9, 0x9f, 0xfc, 0x23, 0x05, 0xc5, 0x78, 0x73, 0xcc,\n\t0xee, 0x1a, 0x1a, 0x3f, 0x47, 0x12, 0xbc, 0xd2, 0x7c, 0xf0, 0xd2, 0x56, 0xba, 0x52, 0x63, 0x07,\n\t0xcc, 0x7e, 0x56, 0xb4, 0xac, 0x8a, 0xd0, 0x64, 0x87, 0x3b, 0xab, 0x2d, 0x54, 0xb4, 0x08, 0x39,\n\t0x25, 0x18, 0xe1, 0x43, 0xc8, 0x3e, 0xf2, 0xb8, 0xed, 0x2c, 0xb7, 0xfd, 0xe1, 0xcb, 0x6d, 0xdf,\n\t0xef, 0x72, 0xe3, 0xf9, 0xfb, 0x5d, 0xb5, 0xd5, 0x56, 0x8e, 0xaa, 0x4d, 0x25, 0x50, 0xc7, 0x17,\n\t0x20, 0x6d, 0x92, 0xe7, 0xa7, 0xd3, 0x47, 0x11, 0x87, 0xce, 0x1a, 0xf8, 0x0b, 0x90, 0x7e, 0x4a,\n\t0xc9, 0xe3, 0xe9, 0x03, 0x80, 0x43, 0xaf, 0x31, 0xf5, 0xaf, 0x43, 0x86, 0xc7, 0x0b, 0x03, 0x04,\n\t0x11, 0x43, 0x6f, 0xe1, 0x1c, 0xa4, 0x6b, 0x6d, 0x85, 0xa5, 0x3f, 0x82, 0xa2, 0x40, 0xd5, 0x4e,\n\t0x43, 0xae, 0xc9, 0x28, 0x59, 0xbe, 0x05, 0x59, 0x11, 0x04, 0xb6, 0x35, 0xa2, 0x30, 0xa0, 0xb7,\n\t0x82, 0x61, 0x60, 0x23, 0x11, 0x4a, 0x8f, 0x8f, 0x0e, 0x64, 0x05, 0x25, 0xe3, 0xcb, 0xeb, 0x41,\n\t0x31, 0xde, 0x17, 0xbf, 0x99, 0x9c, 0xfa, 0x4b, 0x02, 0x0a, 0xb1, 0x3e, 0x97, 0x35, 0x28, 0xc4,\n\t0x34, 0xed, 0xa7, 0x2a, 0x31, 0x0d, 0xe2, 0x05, 0x49, 0x01, 0x1c, 0xaa, 0x32, 0xe4, 0xac, 0x8b,\n\t0xf6, 0x46, 0x9c, 0xff, 0x5d, 0x02, 0xd0, 0x6c, 0x8b, 0x39, 0xe3, 0x60, 0xe2, 0x3b, 0x75, 0xf0,\n\t0xb7, 0x09, 0x28, 0x4d, 0xf7, 0x95, 0x33, 0xee, 0x5d, 0xfa, 0x4e, 0xdd, 0xfb, 0x67, 0x12, 0x56,\n\t0xa7, 0xba, 0xc9, 0xb3, 0x7a, 0xf7, 0x15, 0xac, 0x1b, 0x3a, 0x1d, 0x39, 0xb6, 0x4f, 0x2d, 0xed,\n\t0x54, 0x35, 0xe9, 0x13, 0x6a, 0x4a, 0x65, 0x5e, 0x28, 0xae, 0xbf, 0xbc, 0x5f, 0xad, 0x34, 0x26,\n\t0x7a, 0x4d, 0xa6, 0xb6, 0xbf, 0xd1, 0xa8, 0xcb, 0x47, 0x9d, 0x76, 0x4f, 0x6e, 0xd5, 0x1e, 0xaa,\n\t0xc7, 0xad, 0x1f, 0xb7, 0xda, 0x5f, 0xb4, 0x14, 0x64, 0xcc, 0xd0, 0x5e, 0xe3, 0x56, 0xef, 0x00,\n\t0x9a, 0x75, 0x0a, 0x9f, 0x87, 0x45, 0x6e, 0xa1, 0xb7, 0xf0, 0x06, 0xac, 0xb5, 0xda, 0x6a, 0xb7,\n\t0x51, 0x97, 0x55, 0xf9, 0xde, 0x3d, 0xb9, 0xd6, 0xeb, 0x8a, 0x17, 0x88, 0x88, 0xdd, 0x9b, 0xde,\n\t0xd4, 0xbf, 0x49, 0xc1, 0xc6, 0x02, 0x4f, 0x70, 0x35, 0xb8, 0x3b, 0x88, 0xeb, 0xcc, 0xf7, 0xcf,\n\t0xe2, 0x7d, 0x85, 0x1d, 0xf9, 0x1d, 0xe2, 0xfa, 0xc1, 0x55, 0xe3, 0x0a, 0xb0, 0x28, 0x59, 0xbe,\n\t0xd1, 0x37, 0xa8, 0x1b, 0x3c, 0xd8, 0x88, 0x0b, 0xc5, 0xda, 0x04, 0x17, 0x6f, 0x36, 0xdf, 0x03,\n\t0xec, 0xd8, 0x9e, 0xe1, 0x1b, 0x4f, 0xa8, 0x6a, 0x58, 0xe1, 0xeb, 0x0e, 0xbb, 0x60, 0xa4, 0x15,\n\t0x14, 0x4a, 0x1a, 0x96, 0x1f, 0xb1, 0x2d, 0x3a, 0x20, 0x33, 0x6c, 0x56, 0xc0, 0x53, 0x0a, 0x0a,\n\t0x25, 0x11, 0xfb, 0x12, 0x14, 0x75, 0x7b, 0xcc, 0xba, 0x2e, 0xc1, 0x63, 0xe7, 0x45, 0x42, 0x29,\n\t0x08, 0x2c, 0xa2, 0x04, 0xfd, 0xf4, 0xe4, 0x59, 0xa9, 0xa8, 0x14, 0x04, 0x26, 0x28, 0x97, 0x61,\n\t0x8d, 0x0c, 0x06, 0x2e, 0x33, 0x1e, 0x1a, 0x12, 0x37, 0x84, 0x52, 0x04, 0x73, 0xe2, 0xd6, 0x7d,\n\t0xc8, 0x85, 0x71, 0x60, 0x47, 0x32, 0x8b, 0x84, 0xea, 0x88, 0x6b, 0x6f, 0x72, 0x27, 0xaf, 0xe4,\n\t0xac, 0x50, 0x78, 0x09, 0x8a, 0x86, 0xa7, 0x4e, 0x5e, 0xc9, 0x93, 0xdb, 0xc9, 0x9d, 0x9c, 0x52,\n\t0x30, 0xbc, 0xe8, 0x85, 0xb1, 0xfc, 0x75, 0x12, 0x4a, 0xd3, 0xaf, 0xfc, 0xb8, 0x0e, 0x39, 0xd3,\n\t0xd6, 0x08, 0x4f, 0x2d, 0xf1, 0x13, 0xd3, 0xce, 0x2b, 0x7e, 0x18, 0xa8, 0x34, 0x03, 0xbe, 0x12,\n\t0x69, 0x6e, 0xfd, 0x2d, 0x01, 0xb9, 0x10, 0xc6, 0xe7, 0x20, 0xed, 0x10, 0x7f, 0xc8, 0xcd, 0x65,\n\t0x0e, 0x92, 0x28, 0xa1, 0xf0, 0x31, 0xc3, 0x3d, 0x87, 0x58, 0x3c, 0x05, 0x02, 0x9c, 0x8d, 0xd9,\n\t0xba, 0x9a, 0x94, 0xe8, 0xfc, 0xfa, 0x61, 0x8f, 0x46, 0xd4, 0xf2, 0xbd, 0x70, 0x5d, 0x03, 0xbc,\n\t0x16, 0xc0, 0xf8, 0x1a, 0xac, 0xfb, 0x2e, 0x31, 0xcc, 0x29, 0x6e, 0x9a, 0x73, 0x51, 0x28, 0x88,\n\t0xc8, 0xfb, 0x70, 0x21, 0xb4, 0xab, 0x53, 0x9f, 0x68, 0x43, 0xaa, 0x4f, 0x94, 0xb2, 0xfc, 0x99,\n\t0xe1, 0x7c, 0x40, 0xa8, 0x07, 0xf2, 0x50, 0xb7, 0xfc, 0xf7, 0x04, 0xac, 0x87, 0x17, 0x26, 0x3d,\n\t0x0a, 0xd6, 0x11, 0x00, 0xb1, 0x2c, 0xdb, 0x8f, 0x87, 0x6b, 0x3e, 0x95, 0xe7, 0xf4, 0x2a, 0xd5,\n\t0x48, 0x49, 0x89, 0x19, 0xd8, 0x1a, 0x01, 0x4c, 0x24, 0x4b, 0xc3, 0x76, 0x11, 0x0a, 0xc1, 0x4f,\n\t0x38, 0xfc, 0x77, 0x40, 0x71, 0xc5, 0x06, 0x01, 0xb1, 0x9b, 0x15, 0xde, 0x84, 0xcc, 0x09, 0x1d,\n\t0x18, 0x56, 0xf0, 0x30, 0x2b, 0x06, 0xe1, 0x43, 0x48, 0x3a, 0x7a, 0x08, 0x39, 0xf8, 0x19, 0x6c,\n\t0x68, 0xf6, 0x68, 0xd6, 0xdd, 0x03, 0x34, 0x73, 0xcd, 0xf7, 0x3e, 0x4f, 0x7c, 0x09, 0x93, 0x16,\n\t0xf3, 0x7f, 0x89, 0xc4, 0xef, 0x93, 0xa9, 0xc3, 0xce, 0xc1, 0x1f, 0x92, 0x5b, 0x87, 0x42, 0xb5,\n\t0x13, 0xce, 0x54, 0xa1, 0x7d, 0x93, 0x6a, 0xcc, 0xfb, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xa3,\n\t0x58, 0x22, 0x30, 0xdf, 0x1c, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: descriptor.proto\n\n/*\nPackage descriptor is a generated protocol buffer package.\n\nIt is generated from these files:\n\tdescriptor.proto\n\nIt has these top-level messages:\n\tFileDescriptorSet\n\tFileDescriptorProto\n\tDescriptorProto\n\tExtensionRangeOptions\n\tFieldDescriptorProto\n\tOneofDescriptorProto\n\tEnumDescriptorProto\n\tEnumValueDescriptorProto\n\tServiceDescriptorProto\n\tMethodDescriptorProto\n\tFileOptions\n\tMessageOptions\n\tFieldOptions\n\tOneofOptions\n\tEnumOptions\n\tEnumValueOptions\n\tServiceOptions\n\tMethodOptions\n\tUninterpretedOption\n\tSourceCodeInfo\n\tGeneratedCodeInfo\n*/\npackage descriptor\n\nimport fmt \"fmt\"\nimport strings \"strings\"\nimport proto \"github.com/gogo/protobuf/proto\"\nimport sort \"sort\"\nimport strconv \"strconv\"\nimport reflect \"reflect\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\nfunc (this *FileDescriptorSet) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 5)\n\ts = append(s, \"&descriptor.FileDescriptorSet{\")\n\tif this.File != nil {\n\t\ts = append(s, \"File: \"+fmt.Sprintf(\"%#v\", this.File)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *FileDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 16)\n\ts = append(s, \"&descriptor.FileDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Package != nil {\n\t\ts = append(s, \"Package: \"+valueToGoStringDescriptor(this.Package, \"string\")+\",\\n\")\n\t}\n\tif this.Dependency != nil {\n\t\ts = append(s, \"Dependency: \"+fmt.Sprintf(\"%#v\", this.Dependency)+\",\\n\")\n\t}\n\tif this.PublicDependency != nil {\n\t\ts = append(s, \"PublicDependency: \"+fmt.Sprintf(\"%#v\", this.PublicDependency)+\",\\n\")\n\t}\n\tif this.WeakDependency != nil {\n\t\ts = append(s, \"WeakDependency: \"+fmt.Sprintf(\"%#v\", this.WeakDependency)+\",\\n\")\n\t}\n\tif this.MessageType != nil {\n\t\ts = append(s, \"MessageType: \"+fmt.Sprintf(\"%#v\", this.MessageType)+\",\\n\")\n\t}\n\tif this.EnumType != nil {\n\t\ts = append(s, \"EnumType: \"+fmt.Sprintf(\"%#v\", this.EnumType)+\",\\n\")\n\t}\n\tif this.Service != nil {\n\t\ts = append(s, \"Service: \"+fmt.Sprintf(\"%#v\", this.Service)+\",\\n\")\n\t}\n\tif this.Extension != nil {\n\t\ts = append(s, \"Extension: \"+fmt.Sprintf(\"%#v\", this.Extension)+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.SourceCodeInfo != nil {\n\t\ts = append(s, \"SourceCodeInfo: \"+fmt.Sprintf(\"%#v\", this.SourceCodeInfo)+\",\\n\")\n\t}\n\tif this.Syntax != nil {\n\t\ts = append(s, \"Syntax: \"+valueToGoStringDescriptor(this.Syntax, \"string\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *DescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 14)\n\ts = append(s, \"&descriptor.DescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Field != nil {\n\t\ts = append(s, \"Field: \"+fmt.Sprintf(\"%#v\", this.Field)+\",\\n\")\n\t}\n\tif this.Extension != nil {\n\t\ts = append(s, \"Extension: \"+fmt.Sprintf(\"%#v\", this.Extension)+\",\\n\")\n\t}\n\tif this.NestedType != nil {\n\t\ts = append(s, \"NestedType: \"+fmt.Sprintf(\"%#v\", this.NestedType)+\",\\n\")\n\t}\n\tif this.EnumType != nil {\n\t\ts = append(s, \"EnumType: \"+fmt.Sprintf(\"%#v\", this.EnumType)+\",\\n\")\n\t}\n\tif this.ExtensionRange != nil {\n\t\ts = append(s, \"ExtensionRange: \"+fmt.Sprintf(\"%#v\", this.ExtensionRange)+\",\\n\")\n\t}\n\tif this.OneofDecl != nil {\n\t\ts = append(s, \"OneofDecl: \"+fmt.Sprintf(\"%#v\", this.OneofDecl)+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.ReservedRange != nil {\n\t\ts = append(s, \"ReservedRange: \"+fmt.Sprintf(\"%#v\", this.ReservedRange)+\",\\n\")\n\t}\n\tif this.ReservedName != nil {\n\t\ts = append(s, \"ReservedName: \"+fmt.Sprintf(\"%#v\", this.ReservedName)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *DescriptorProto_ExtensionRange) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 7)\n\ts = append(s, \"&descriptor.DescriptorProto_ExtensionRange{\")\n\tif this.Start != nil {\n\t\ts = append(s, \"Start: \"+valueToGoStringDescriptor(this.Start, \"int32\")+\",\\n\")\n\t}\n\tif this.End != nil {\n\t\ts = append(s, \"End: \"+valueToGoStringDescriptor(this.End, \"int32\")+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *DescriptorProto_ReservedRange) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 6)\n\ts = append(s, \"&descriptor.DescriptorProto_ReservedRange{\")\n\tif this.Start != nil {\n\t\ts = append(s, \"Start: \"+valueToGoStringDescriptor(this.Start, \"int32\")+\",\\n\")\n\t}\n\tif this.End != nil {\n\t\ts = append(s, \"End: \"+valueToGoStringDescriptor(this.End, \"int32\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *ExtensionRangeOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 5)\n\ts = append(s, \"&descriptor.ExtensionRangeOptions{\")\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *FieldDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 14)\n\ts = append(s, \"&descriptor.FieldDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Number != nil {\n\t\ts = append(s, \"Number: \"+valueToGoStringDescriptor(this.Number, \"int32\")+\",\\n\")\n\t}\n\tif this.Label != nil {\n\t\ts = append(s, \"Label: \"+valueToGoStringDescriptor(this.Label, \"FieldDescriptorProto_Label\")+\",\\n\")\n\t}\n\tif this.Type != nil {\n\t\ts = append(s, \"Type: \"+valueToGoStringDescriptor(this.Type, \"FieldDescriptorProto_Type\")+\",\\n\")\n\t}\n\tif this.TypeName != nil {\n\t\ts = append(s, \"TypeName: \"+valueToGoStringDescriptor(this.TypeName, \"string\")+\",\\n\")\n\t}\n\tif this.Extendee != nil {\n\t\ts = append(s, \"Extendee: \"+valueToGoStringDescriptor(this.Extendee, \"string\")+\",\\n\")\n\t}\n\tif this.DefaultValue != nil {\n\t\ts = append(s, \"DefaultValue: \"+valueToGoStringDescriptor(this.DefaultValue, \"string\")+\",\\n\")\n\t}\n\tif this.OneofIndex != nil {\n\t\ts = append(s, \"OneofIndex: \"+valueToGoStringDescriptor(this.OneofIndex, \"int32\")+\",\\n\")\n\t}\n\tif this.JsonName != nil {\n\t\ts = append(s, \"JsonName: \"+valueToGoStringDescriptor(this.JsonName, \"string\")+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *OneofDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 6)\n\ts = append(s, \"&descriptor.OneofDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *EnumDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 9)\n\ts = append(s, \"&descriptor.EnumDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Value != nil {\n\t\ts = append(s, \"Value: \"+fmt.Sprintf(\"%#v\", this.Value)+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.ReservedRange != nil {\n\t\ts = append(s, \"ReservedRange: \"+fmt.Sprintf(\"%#v\", this.ReservedRange)+\",\\n\")\n\t}\n\tif this.ReservedName != nil {\n\t\ts = append(s, \"ReservedName: \"+fmt.Sprintf(\"%#v\", this.ReservedName)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *EnumDescriptorProto_EnumReservedRange) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 6)\n\ts = append(s, \"&descriptor.EnumDescriptorProto_EnumReservedRange{\")\n\tif this.Start != nil {\n\t\ts = append(s, \"Start: \"+valueToGoStringDescriptor(this.Start, \"int32\")+\",\\n\")\n\t}\n\tif this.End != nil {\n\t\ts = append(s, \"End: \"+valueToGoStringDescriptor(this.End, \"int32\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *EnumValueDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 7)\n\ts = append(s, \"&descriptor.EnumValueDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Number != nil {\n\t\ts = append(s, \"Number: \"+valueToGoStringDescriptor(this.Number, \"int32\")+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *ServiceDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 7)\n\ts = append(s, \"&descriptor.ServiceDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Method != nil {\n\t\ts = append(s, \"Method: \"+fmt.Sprintf(\"%#v\", this.Method)+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *MethodDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 10)\n\ts = append(s, \"&descriptor.MethodDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.InputType != nil {\n\t\ts = append(s, \"InputType: \"+valueToGoStringDescriptor(this.InputType, \"string\")+\",\\n\")\n\t}\n\tif this.OutputType != nil {\n\t\ts = append(s, \"OutputType: \"+valueToGoStringDescriptor(this.OutputType, \"string\")+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.ClientStreaming != nil {\n\t\ts = append(s, \"ClientStreaming: \"+valueToGoStringDescriptor(this.ClientStreaming, \"bool\")+\",\\n\")\n\t}\n\tif this.ServerStreaming != nil {\n\t\ts = append(s, \"ServerStreaming: \"+valueToGoStringDescriptor(this.ServerStreaming, \"bool\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *FileOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 23)\n\ts = append(s, \"&descriptor.FileOptions{\")\n\tif this.JavaPackage != nil {\n\t\ts = append(s, \"JavaPackage: \"+valueToGoStringDescriptor(this.JavaPackage, \"string\")+\",\\n\")\n\t}\n\tif this.JavaOuterClassname != nil {\n\t\ts = append(s, \"JavaOuterClassname: \"+valueToGoStringDescriptor(this.JavaOuterClassname, \"string\")+\",\\n\")\n\t}\n\tif this.JavaMultipleFiles != nil {\n\t\ts = append(s, \"JavaMultipleFiles: \"+valueToGoStringDescriptor(this.JavaMultipleFiles, \"bool\")+\",\\n\")\n\t}\n\tif this.JavaGenerateEqualsAndHash != nil {\n\t\ts = append(s, \"JavaGenerateEqualsAndHash: \"+valueToGoStringDescriptor(this.JavaGenerateEqualsAndHash, \"bool\")+\",\\n\")\n\t}\n\tif this.JavaStringCheckUtf8 != nil {\n\t\ts = append(s, \"JavaStringCheckUtf8: \"+valueToGoStringDescriptor(this.JavaStringCheckUtf8, \"bool\")+\",\\n\")\n\t}\n\tif this.OptimizeFor != nil {\n\t\ts = append(s, \"OptimizeFor: \"+valueToGoStringDescriptor(this.OptimizeFor, \"FileOptions_OptimizeMode\")+\",\\n\")\n\t}\n\tif this.GoPackage != nil {\n\t\ts = append(s, \"GoPackage: \"+valueToGoStringDescriptor(this.GoPackage, \"string\")+\",\\n\")\n\t}\n\tif this.CcGenericServices != nil {\n\t\ts = append(s, \"CcGenericServices: \"+valueToGoStringDescriptor(this.CcGenericServices, \"bool\")+\",\\n\")\n\t}\n\tif this.JavaGenericServices != nil {\n\t\ts = append(s, \"JavaGenericServices: \"+valueToGoStringDescriptor(this.JavaGenericServices, \"bool\")+\",\\n\")\n\t}\n\tif this.PyGenericServices != nil {\n\t\ts = append(s, \"PyGenericServices: \"+valueToGoStringDescriptor(this.PyGenericServices, \"bool\")+\",\\n\")\n\t}\n\tif this.PhpGenericServices != nil {\n\t\ts = append(s, \"PhpGenericServices: \"+valueToGoStringDescriptor(this.PhpGenericServices, \"bool\")+\",\\n\")\n\t}\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.CcEnableArenas != nil {\n\t\ts = append(s, \"CcEnableArenas: \"+valueToGoStringDescriptor(this.CcEnableArenas, \"bool\")+\",\\n\")\n\t}\n\tif this.ObjcClassPrefix != nil {\n\t\ts = append(s, \"ObjcClassPrefix: \"+valueToGoStringDescriptor(this.ObjcClassPrefix, \"string\")+\",\\n\")\n\t}\n\tif this.CsharpNamespace != nil {\n\t\ts = append(s, \"CsharpNamespace: \"+valueToGoStringDescriptor(this.CsharpNamespace, \"string\")+\",\\n\")\n\t}\n\tif this.SwiftPrefix != nil {\n\t\ts = append(s, \"SwiftPrefix: \"+valueToGoStringDescriptor(this.SwiftPrefix, \"string\")+\",\\n\")\n\t}\n\tif this.PhpClassPrefix != nil {\n\t\ts = append(s, \"PhpClassPrefix: \"+valueToGoStringDescriptor(this.PhpClassPrefix, \"string\")+\",\\n\")\n\t}\n\tif this.PhpNamespace != nil {\n\t\ts = append(s, \"PhpNamespace: \"+valueToGoStringDescriptor(this.PhpNamespace, \"string\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *MessageOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 9)\n\ts = append(s, \"&descriptor.MessageOptions{\")\n\tif this.MessageSetWireFormat != nil {\n\t\ts = append(s, \"MessageSetWireFormat: \"+valueToGoStringDescriptor(this.MessageSetWireFormat, \"bool\")+\",\\n\")\n\t}\n\tif this.NoStandardDescriptorAccessor != nil {\n\t\ts = append(s, \"NoStandardDescriptorAccessor: \"+valueToGoStringDescriptor(this.NoStandardDescriptorAccessor, \"bool\")+\",\\n\")\n\t}\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.MapEntry != nil {\n\t\ts = append(s, \"MapEntry: \"+valueToGoStringDescriptor(this.MapEntry, \"bool\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *FieldOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 11)\n\ts = append(s, \"&descriptor.FieldOptions{\")\n\tif this.Ctype != nil {\n\t\ts = append(s, \"Ctype: \"+valueToGoStringDescriptor(this.Ctype, \"FieldOptions_CType\")+\",\\n\")\n\t}\n\tif this.Packed != nil {\n\t\ts = append(s, \"Packed: \"+valueToGoStringDescriptor(this.Packed, \"bool\")+\",\\n\")\n\t}\n\tif this.Jstype != nil {\n\t\ts = append(s, \"Jstype: \"+valueToGoStringDescriptor(this.Jstype, \"FieldOptions_JSType\")+\",\\n\")\n\t}\n\tif this.Lazy != nil {\n\t\ts = append(s, \"Lazy: \"+valueToGoStringDescriptor(this.Lazy, \"bool\")+\",\\n\")\n\t}\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.Weak != nil {\n\t\ts = append(s, \"Weak: \"+valueToGoStringDescriptor(this.Weak, \"bool\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *OneofOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 5)\n\ts = append(s, \"&descriptor.OneofOptions{\")\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *EnumOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 7)\n\ts = append(s, \"&descriptor.EnumOptions{\")\n\tif this.AllowAlias != nil {\n\t\ts = append(s, \"AllowAlias: \"+valueToGoStringDescriptor(this.AllowAlias, \"bool\")+\",\\n\")\n\t}\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *EnumValueOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 6)\n\ts = append(s, \"&descriptor.EnumValueOptions{\")\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *ServiceOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 6)\n\ts = append(s, \"&descriptor.ServiceOptions{\")\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *MethodOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 7)\n\ts = append(s, \"&descriptor.MethodOptions{\")\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.IdempotencyLevel != nil {\n\t\ts = append(s, \"IdempotencyLevel: \"+valueToGoStringDescriptor(this.IdempotencyLevel, \"MethodOptions_IdempotencyLevel\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *UninterpretedOption) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 11)\n\ts = append(s, \"&descriptor.UninterpretedOption{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+fmt.Sprintf(\"%#v\", this.Name)+\",\\n\")\n\t}\n\tif this.IdentifierValue != nil {\n\t\ts = append(s, \"IdentifierValue: \"+valueToGoStringDescriptor(this.IdentifierValue, \"string\")+\",\\n\")\n\t}\n\tif this.PositiveIntValue != nil {\n\t\ts = append(s, \"PositiveIntValue: \"+valueToGoStringDescriptor(this.PositiveIntValue, \"uint64\")+\",\\n\")\n\t}\n\tif this.NegativeIntValue != nil {\n\t\ts = append(s, \"NegativeIntValue: \"+valueToGoStringDescriptor(this.NegativeIntValue, \"int64\")+\",\\n\")\n\t}\n\tif this.DoubleValue != nil {\n\t\ts = append(s, \"DoubleValue: \"+valueToGoStringDescriptor(this.DoubleValue, \"float64\")+\",\\n\")\n\t}\n\tif this.StringValue != nil {\n\t\ts = append(s, \"StringValue: \"+valueToGoStringDescriptor(this.StringValue, \"byte\")+\",\\n\")\n\t}\n\tif this.AggregateValue != nil {\n\t\ts = append(s, \"AggregateValue: \"+valueToGoStringDescriptor(this.AggregateValue, \"string\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *UninterpretedOption_NamePart) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 6)\n\ts = append(s, \"&descriptor.UninterpretedOption_NamePart{\")\n\tif this.NamePart != nil {\n\t\ts = append(s, \"NamePart: \"+valueToGoStringDescriptor(this.NamePart, \"string\")+\",\\n\")\n\t}\n\tif this.IsExtension != nil {\n\t\ts = append(s, \"IsExtension: \"+valueToGoStringDescriptor(this.IsExtension, \"bool\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *SourceCodeInfo) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 5)\n\ts = append(s, \"&descriptor.SourceCodeInfo{\")\n\tif this.Location != nil {\n\t\ts = append(s, \"Location: \"+fmt.Sprintf(\"%#v\", this.Location)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *SourceCodeInfo_Location) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 9)\n\ts = append(s, \"&descriptor.SourceCodeInfo_Location{\")\n\tif this.Path != nil {\n\t\ts = append(s, \"Path: \"+fmt.Sprintf(\"%#v\", this.Path)+\",\\n\")\n\t}\n\tif this.Span != nil {\n\t\ts = append(s, \"Span: \"+fmt.Sprintf(\"%#v\", this.Span)+\",\\n\")\n\t}\n\tif this.LeadingComments != nil {\n\t\ts = append(s, \"LeadingComments: \"+valueToGoStringDescriptor(this.LeadingComments, \"string\")+\",\\n\")\n\t}\n\tif this.TrailingComments != nil {\n\t\ts = append(s, \"TrailingComments: \"+valueToGoStringDescriptor(this.TrailingComments, \"string\")+\",\\n\")\n\t}\n\tif this.LeadingDetachedComments != nil {\n\t\ts = append(s, \"LeadingDetachedComments: \"+fmt.Sprintf(\"%#v\", this.LeadingDetachedComments)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *GeneratedCodeInfo) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 5)\n\ts = append(s, \"&descriptor.GeneratedCodeInfo{\")\n\tif this.Annotation != nil {\n\t\ts = append(s, \"Annotation: \"+fmt.Sprintf(\"%#v\", this.Annotation)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *GeneratedCodeInfo_Annotation) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 8)\n\ts = append(s, \"&descriptor.GeneratedCodeInfo_Annotation{\")\n\tif this.Path != nil {\n\t\ts = append(s, \"Path: \"+fmt.Sprintf(\"%#v\", this.Path)+\",\\n\")\n\t}\n\tif this.SourceFile != nil {\n\t\ts = append(s, \"SourceFile: \"+valueToGoStringDescriptor(this.SourceFile, \"string\")+\",\\n\")\n\t}\n\tif this.Begin != nil {\n\t\ts = append(s, \"Begin: \"+valueToGoStringDescriptor(this.Begin, \"int32\")+\",\\n\")\n\t}\n\tif this.End != nil {\n\t\ts = append(s, \"End: \"+valueToGoStringDescriptor(this.End, \"int32\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc valueToGoStringDescriptor(v interface{}, typ string) string {\n\trv := reflect.ValueOf(v)\n\tif rv.IsNil() {\n\t\treturn \"nil\"\n\t}\n\tpv := reflect.Indirect(rv).Interface()\n\treturn fmt.Sprintf(\"func(v %v) *%v { return &v } ( %#v )\", typ, typ, pv)\n}\nfunc extensionToGoStringDescriptor(m proto.Message) string {\n\te := proto.GetUnsafeExtensionsMap(m)\n\tif e == nil {\n\t\treturn \"nil\"\n\t}\n\ts := \"proto.NewUnsafeXXX_InternalExtensions(map[int32]proto.Extension{\"\n\tkeys := make([]int, 0, len(e))\n\tfor k := range e {\n\t\tkeys = append(keys, int(k))\n\t}\n\tsort.Ints(keys)\n\tss := []string{}\n\tfor _, k := range keys {\n\t\tss = append(ss, strconv.Itoa(k)+\": \"+e[int32(k)].GoString())\n\t}\n\ts += strings.Join(ss, \",\") + \"})\"\n\treturn s\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/helper.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage descriptor\n\nimport (\n\t\"strings\"\n)\n\nfunc (msg *DescriptorProto) GetMapFields() (*FieldDescriptorProto, *FieldDescriptorProto) {\n\tif !msg.GetOptions().GetMapEntry() {\n\t\treturn nil, nil\n\t}\n\treturn msg.GetField()[0], msg.GetField()[1]\n}\n\nfunc dotToUnderscore(r rune) rune {\n\tif r == '.' {\n\t\treturn '_'\n\t}\n\treturn r\n}\n\nfunc (field *FieldDescriptorProto) WireType() (wire int) {\n\tswitch *field.Type {\n\tcase FieldDescriptorProto_TYPE_DOUBLE:\n\t\treturn 1\n\tcase FieldDescriptorProto_TYPE_FLOAT:\n\t\treturn 5\n\tcase FieldDescriptorProto_TYPE_INT64:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_UINT64:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_INT32:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_UINT32:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_FIXED64:\n\t\treturn 1\n\tcase FieldDescriptorProto_TYPE_FIXED32:\n\t\treturn 5\n\tcase FieldDescriptorProto_TYPE_BOOL:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_STRING:\n\t\treturn 2\n\tcase FieldDescriptorProto_TYPE_GROUP:\n\t\treturn 2\n\tcase FieldDescriptorProto_TYPE_MESSAGE:\n\t\treturn 2\n\tcase FieldDescriptorProto_TYPE_BYTES:\n\t\treturn 2\n\tcase FieldDescriptorProto_TYPE_ENUM:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_SFIXED32:\n\t\treturn 5\n\tcase FieldDescriptorProto_TYPE_SFIXED64:\n\t\treturn 1\n\tcase FieldDescriptorProto_TYPE_SINT32:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_SINT64:\n\t\treturn 0\n\t}\n\tpanic(\"unreachable\")\n}\n\nfunc (field *FieldDescriptorProto) GetKeyUint64() (x uint64) {\n\tpacked := field.IsPacked()\n\twireType := field.WireType()\n\tfieldNumber := field.GetNumber()\n\tif packed {\n\t\twireType = 2\n\t}\n\tx = uint64(uint32(fieldNumber)<<3 | uint32(wireType))\n\treturn x\n}\n\nfunc (field *FieldDescriptorProto) GetKey3Uint64() (x uint64) {\n\tpacked := field.IsPacked3()\n\twireType := field.WireType()\n\tfieldNumber := field.GetNumber()\n\tif packed {\n\t\twireType = 2\n\t}\n\tx = uint64(uint32(fieldNumber)<<3 | uint32(wireType))\n\treturn x\n}\n\nfunc (field *FieldDescriptorProto) GetKey() []byte {\n\tx := field.GetKeyUint64()\n\ti := 0\n\tkeybuf := make([]byte, 0)\n\tfor i = 0; x > 127; i++ {\n\t\tkeybuf = append(keybuf, 0x80|uint8(x&0x7F))\n\t\tx >>= 7\n\t}\n\tkeybuf = append(keybuf, uint8(x))\n\treturn keybuf\n}\n\nfunc (field *FieldDescriptorProto) GetKey3() []byte {\n\tx := field.GetKey3Uint64()\n\ti := 0\n\tkeybuf := make([]byte, 0)\n\tfor i = 0; x > 127; i++ {\n\t\tkeybuf = append(keybuf, 0x80|uint8(x&0x7F))\n\t\tx >>= 7\n\t}\n\tkeybuf = append(keybuf, uint8(x))\n\treturn keybuf\n}\n\nfunc (desc *FileDescriptorSet) GetField(packageName, messageName, fieldName string) *FieldDescriptorProto {\n\tmsg := desc.GetMessage(packageName, messageName)\n\tif msg == nil {\n\t\treturn nil\n\t}\n\tfor _, field := range msg.GetField() {\n\t\tif field.GetName() == fieldName {\n\t\t\treturn field\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (file *FileDescriptorProto) GetMessage(typeName string) *DescriptorProto {\n\tfor _, msg := range file.GetMessageType() {\n\t\tif msg.GetName() == typeName {\n\t\t\treturn msg\n\t\t}\n\t\tnes := file.GetNestedMessage(msg, strings.TrimPrefix(typeName, msg.GetName()+\".\"))\n\t\tif nes != nil {\n\t\t\treturn nes\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (file *FileDescriptorProto) GetNestedMessage(msg *DescriptorProto, typeName string) *DescriptorProto {\n\tfor _, nes := range msg.GetNestedType() {\n\t\tif nes.GetName() == typeName {\n\t\t\treturn nes\n\t\t}\n\t\tres := file.GetNestedMessage(nes, strings.TrimPrefix(typeName, nes.GetName()+\".\"))\n\t\tif res != nil {\n\t\t\treturn res\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (desc *FileDescriptorSet) GetMessage(packageName string, typeName string) *DescriptorProto {\n\tfor _, file := range desc.GetFile() {\n\t\tif strings.Map(dotToUnderscore, file.GetPackage()) != strings.Map(dotToUnderscore, packageName) {\n\t\t\tcontinue\n\t\t}\n\t\tfor _, msg := range file.GetMessageType() {\n\t\t\tif msg.GetName() == typeName {\n\t\t\t\treturn msg\n\t\t\t}\n\t\t}\n\t\tfor _, msg := range file.GetMessageType() {\n\t\t\tfor _, nes := range msg.GetNestedType() {\n\t\t\t\tif nes.GetName() == typeName {\n\t\t\t\t\treturn nes\n\t\t\t\t}\n\t\t\t\tif msg.GetName()+\".\"+nes.GetName() == typeName {\n\t\t\t\t\treturn nes\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (desc *FileDescriptorSet) IsProto3(packageName string, typeName string) bool {\n\tfor _, file := range desc.GetFile() {\n\t\tif strings.Map(dotToUnderscore, file.GetPackage()) != strings.Map(dotToUnderscore, packageName) {\n\t\t\tcontinue\n\t\t}\n\t\tfor _, msg := range file.GetMessageType() {\n\t\t\tif msg.GetName() == typeName {\n\t\t\t\treturn file.GetSyntax() == \"proto3\"\n\t\t\t}\n\t\t}\n\t\tfor _, msg := range file.GetMessageType() {\n\t\t\tfor _, nes := range msg.GetNestedType() {\n\t\t\t\tif nes.GetName() == typeName {\n\t\t\t\t\treturn file.GetSyntax() == \"proto3\"\n\t\t\t\t}\n\t\t\t\tif msg.GetName()+\".\"+nes.GetName() == typeName {\n\t\t\t\t\treturn file.GetSyntax() == \"proto3\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn false\n}\n\nfunc (msg *DescriptorProto) IsExtendable() bool {\n\treturn len(msg.GetExtensionRange()) > 0\n}\n\nfunc (desc *FileDescriptorSet) FindExtension(packageName string, typeName string, fieldName string) (extPackageName string, field *FieldDescriptorProto) {\n\tparent := desc.GetMessage(packageName, typeName)\n\tif parent == nil {\n\t\treturn \"\", nil\n\t}\n\tif !parent.IsExtendable() {\n\t\treturn \"\", nil\n\t}\n\textendee := \".\" + packageName + \".\" + typeName\n\tfor _, file := range desc.GetFile() {\n\t\tfor _, ext := range file.GetExtension() {\n\t\t\tif strings.Map(dotToUnderscore, file.GetPackage()) == strings.Map(dotToUnderscore, packageName) {\n\t\t\t\tif !(ext.GetExtendee() == typeName || ext.GetExtendee() == extendee) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ext.GetExtendee() != extendee {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ext.GetName() == fieldName {\n\t\t\t\treturn file.GetPackage(), ext\n\t\t\t}\n\t\t}\n\t}\n\treturn \"\", nil\n}\n\nfunc (desc *FileDescriptorSet) FindExtensionByFieldNumber(packageName string, typeName string, fieldNum int32) (extPackageName string, field *FieldDescriptorProto) {\n\tparent := desc.GetMessage(packageName, typeName)\n\tif parent == nil {\n\t\treturn \"\", nil\n\t}\n\tif !parent.IsExtendable() {\n\t\treturn \"\", nil\n\t}\n\textendee := \".\" + packageName + \".\" + typeName\n\tfor _, file := range desc.GetFile() {\n\t\tfor _, ext := range file.GetExtension() {\n\t\t\tif strings.Map(dotToUnderscore, file.GetPackage()) == strings.Map(dotToUnderscore, packageName) {\n\t\t\t\tif !(ext.GetExtendee() == typeName || ext.GetExtendee() == extendee) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ext.GetExtendee() != extendee {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ext.GetNumber() == fieldNum {\n\t\t\t\treturn file.GetPackage(), ext\n\t\t\t}\n\t\t}\n\t}\n\treturn \"\", nil\n}\n\nfunc (desc *FileDescriptorSet) FindMessage(packageName string, typeName string, fieldName string) (msgPackageName string, msgName string) {\n\tparent := desc.GetMessage(packageName, typeName)\n\tif parent == nil {\n\t\treturn \"\", \"\"\n\t}\n\tfield := parent.GetFieldDescriptor(fieldName)\n\tif field == nil {\n\t\tvar extPackageName string\n\t\textPackageName, field = desc.FindExtension(packageName, typeName, fieldName)\n\t\tif field == nil {\n\t\t\treturn \"\", \"\"\n\t\t}\n\t\tpackageName = extPackageName\n\t}\n\ttypeNames := strings.Split(field.GetTypeName(), \".\")\n\tif len(typeNames) == 1 {\n\t\tmsg := desc.GetMessage(packageName, typeName)\n\t\tif msg == nil {\n\t\t\treturn \"\", \"\"\n\t\t}\n\t\treturn packageName, msg.GetName()\n\t}\n\tif len(typeNames) > 2 {\n\t\tfor i := 1; i < len(typeNames)-1; i++ {\n\t\t\tpackageName = strings.Join(typeNames[1:len(typeNames)-i], \".\")\n\t\t\ttypeName = strings.Join(typeNames[len(typeNames)-i:], \".\")\n\t\t\tmsg := desc.GetMessage(packageName, typeName)\n\t\t\tif msg != nil {\n\t\t\t\ttypeNames := strings.Split(msg.GetName(), \".\")\n\t\t\t\tif len(typeNames) == 1 {\n\t\t\t\t\treturn packageName, msg.GetName()\n\t\t\t\t}\n\t\t\t\treturn strings.Join(typeNames[1:len(typeNames)-1], \".\"), typeNames[len(typeNames)-1]\n\t\t\t}\n\t\t}\n\t}\n\treturn \"\", \"\"\n}\n\nfunc (msg *DescriptorProto) GetFieldDescriptor(fieldName string) *FieldDescriptorProto {\n\tfor _, field := range msg.GetField() {\n\t\tif field.GetName() == fieldName {\n\t\t\treturn field\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (desc *FileDescriptorSet) GetEnum(packageName string, typeName string) *EnumDescriptorProto {\n\tfor _, file := range desc.GetFile() {\n\t\tif strings.Map(dotToUnderscore, file.GetPackage()) != strings.Map(dotToUnderscore, packageName) {\n\t\t\tcontinue\n\t\t}\n\t\tfor _, enum := range file.GetEnumType() {\n\t\t\tif enum.GetName() == typeName {\n\t\t\t\treturn enum\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (f *FieldDescriptorProto) IsEnum() bool {\n\treturn *f.Type == FieldDescriptorProto_TYPE_ENUM\n}\n\nfunc (f *FieldDescriptorProto) IsMessage() bool {\n\treturn *f.Type == FieldDescriptorProto_TYPE_MESSAGE\n}\n\nfunc (f *FieldDescriptorProto) IsBytes() bool {\n\treturn *f.Type == FieldDescriptorProto_TYPE_BYTES\n}\n\nfunc (f *FieldDescriptorProto) IsRepeated() bool {\n\treturn f.Label != nil && *f.Label == FieldDescriptorProto_LABEL_REPEATED\n}\n\nfunc (f *FieldDescriptorProto) IsString() bool {\n\treturn *f.Type == FieldDescriptorProto_TYPE_STRING\n}\n\nfunc (f *FieldDescriptorProto) IsBool() bool {\n\treturn *f.Type == FieldDescriptorProto_TYPE_BOOL\n}\n\nfunc (f *FieldDescriptorProto) IsRequired() bool {\n\treturn f.Label != nil && *f.Label == FieldDescriptorProto_LABEL_REQUIRED\n}\n\nfunc (f *FieldDescriptorProto) IsPacked() bool {\n\treturn f.Options != nil && f.GetOptions().GetPacked()\n}\n\nfunc (f *FieldDescriptorProto) IsPacked3() bool {\n\tif f.IsRepeated() && f.IsScalar() {\n\t\tif f.Options == nil || f.GetOptions().Packed == nil {\n\t\t\treturn true\n\t\t}\n\t\treturn f.Options != nil && f.GetOptions().GetPacked()\n\t}\n\treturn false\n}\n\nfunc (m *DescriptorProto) HasExtension() bool {\n\treturn len(m.ExtensionRange) > 0\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/protoc-gen-gogo/doc.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/*\n\tA plugin for the Google protocol buffer compiler to generate Go code.\n\tRun it by building this program and putting it in your path with the name\n\t\tprotoc-gen-gogo\n\tThat word 'gogo' at the end becomes part of the option string set for the\n\tprotocol compiler, so once the protocol compiler (protoc) is installed\n\tyou can run\n\t\tprotoc --gogo_out=output_directory input_directory/file.proto\n\tto generate Go bindings for the protocol defined by file.proto.\n\tWith that input, the output will be written to\n\t\toutput_directory/go_package/file.pb.go\n\n\tThe generated code is documented in the package comment for\n\tthe library.\n\n\tSee the README and documentation for protocol buffers to learn more:\n\t\thttps://developers.google.com/protocol-buffers/\n\n*/\npackage documentation\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/protoc-gen-gogo/main.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// protoc-gen-go is a plugin for the Google protocol buffer compiler to generate\n// Go code.  Run it by building this program and putting it in your path with\n// the name\n// \tprotoc-gen-gogo\n// That word 'gogo' at the end becomes part of the option string set for the\n// protocol compiler, so once the protocol compiler (protoc) is installed\n// you can run\n// \tprotoc --gogo_out=output_directory input_directory/file.proto\n// to generate Go bindings for the protocol defined by file.proto.\n// With that input, the output will be written to\n// \toutput_directory/file.pb.go\n//\n// The generated code is documented in the package comment for\n// the library.\n//\n// See the README and documentation for protocol buffers to learn more:\n// \thttps://developers.google.com/protocol-buffers/\npackage main\n\nimport (\n\t\"github.com/gogo/protobuf/vanity/command\"\n)\n\nfunc main() {\n\tcommand.Write(command.Generate(command.Read()))\n}\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/LICENSE",
    "content": "Use of the Freetype-Go software is subject to your choice of exactly one of\nthe following two licenses:\n  * The FreeType License, which is similar to the original BSD license with\n    an advertising clause, or\n  * The GNU General Public License (GPL), version 2 or later.\n\nThe text of these licenses are available in the licenses/ftl.txt and the\nlicenses/gpl.txt files respectively. They are also available at\nhttp://freetype.sourceforge.net/license.html\n\nThe Luxi fonts in the testdata directory are licensed separately. See the\ntestdata/COPYING file for details.\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/freetype.go",
    "content": "// Copyright 2010 The Freetype-Go Authors. All rights reserved.\n// Use of this source code is governed by your choice of either the\n// FreeType License or the GNU General Public License version 2 (or\n// any later version), both of which can be found in the LICENSE file.\n\n// The freetype package provides a convenient API to draw text onto an image.\n// Use the freetype/raster and freetype/truetype packages for lower level\n// control over rasterization and TrueType parsing.\npackage freetype // import \"github.com/golang/freetype\"\n\nimport (\n\t\"errors\"\n\t\"image\"\n\t\"image/draw\"\n\n\t\"github.com/golang/freetype/raster\"\n\t\"github.com/golang/freetype/truetype\"\n\t\"golang.org/x/image/font\"\n\t\"golang.org/x/image/math/fixed\"\n)\n\n// These constants determine the size of the glyph cache. The cache is keyed\n// primarily by the glyph index modulo nGlyphs, and secondarily by sub-pixel\n// position for the mask image. Sub-pixel positions are quantized to\n// nXFractions possible values in both the x and y directions.\nconst (\n\tnGlyphs     = 256\n\tnXFractions = 4\n\tnYFractions = 1\n)\n\n// An entry in the glyph cache is keyed explicitly by the glyph index and\n// implicitly by the quantized x and y fractional offset. It maps to a mask\n// image and an offset.\ntype cacheEntry struct {\n\tvalid        bool\n\tglyph        truetype.Index\n\tadvanceWidth fixed.Int26_6\n\tmask         *image.Alpha\n\toffset       image.Point\n}\n\n// ParseFont just calls the Parse function from the freetype/truetype package.\n// It is provided here so that code that imports this package doesn't need\n// to also include the freetype/truetype package.\nfunc ParseFont(b []byte) (*truetype.Font, error) {\n\treturn truetype.Parse(b)\n}\n\n// Pt converts from a co-ordinate pair measured in pixels to a fixed.Point26_6\n// co-ordinate pair measured in fixed.Int26_6 units.\nfunc Pt(x, y int) fixed.Point26_6 {\n\treturn fixed.Point26_6{\n\t\tX: fixed.Int26_6(x << 6),\n\t\tY: fixed.Int26_6(y << 6),\n\t}\n}\n\n// A Context holds the state for drawing text in a given font and size.\ntype Context struct {\n\tr        *raster.Rasterizer\n\tf        *truetype.Font\n\tglyphBuf truetype.GlyphBuf\n\t// clip is the clip rectangle for drawing.\n\tclip image.Rectangle\n\t// dst and src are the destination and source images for drawing.\n\tdst draw.Image\n\tsrc image.Image\n\t// fontSize and dpi are used to calculate scale. scale is the number of\n\t// 26.6 fixed point units in 1 em. hinting is the hinting policy.\n\tfontSize, dpi float64\n\tscale         fixed.Int26_6\n\thinting       font.Hinting\n\t// cache is the glyph cache.\n\tcache [nGlyphs * nXFractions * nYFractions]cacheEntry\n}\n\n// PointToFixed converts the given number of points (as in \"a 12 point font\")\n// into a 26.6 fixed point number of pixels.\nfunc (c *Context) PointToFixed(x float64) fixed.Int26_6 {\n\treturn fixed.Int26_6(x * float64(c.dpi) * (64.0 / 72.0))\n}\n\n// drawContour draws the given closed contour with the given offset.\nfunc (c *Context) drawContour(ps []truetype.Point, dx, dy fixed.Int26_6) {\n\tif len(ps) == 0 {\n\t\treturn\n\t}\n\n\t// The low bit of each point's Flags value is whether the point is on the\n\t// curve. Truetype fonts only have quadratic Bézier curves, not cubics.\n\t// Thus, two consecutive off-curve points imply an on-curve point in the\n\t// middle of those two.\n\t//\n\t// See http://chanae.walon.org/pub/ttf/ttf_glyphs.htm for more details.\n\n\t// ps[0] is a truetype.Point measured in FUnits and positive Y going\n\t// upwards. start is the same thing measured in fixed point units and\n\t// positive Y going downwards, and offset by (dx, dy).\n\tstart := fixed.Point26_6{\n\t\tX: dx + ps[0].X,\n\t\tY: dy - ps[0].Y,\n\t}\n\tothers := []truetype.Point(nil)\n\tif ps[0].Flags&0x01 != 0 {\n\t\tothers = ps[1:]\n\t} else {\n\t\tlast := fixed.Point26_6{\n\t\t\tX: dx + ps[len(ps)-1].X,\n\t\t\tY: dy - ps[len(ps)-1].Y,\n\t\t}\n\t\tif ps[len(ps)-1].Flags&0x01 != 0 {\n\t\t\tstart = last\n\t\t\tothers = ps[:len(ps)-1]\n\t\t} else {\n\t\t\tstart = fixed.Point26_6{\n\t\t\t\tX: (start.X + last.X) / 2,\n\t\t\t\tY: (start.Y + last.Y) / 2,\n\t\t\t}\n\t\t\tothers = ps\n\t\t}\n\t}\n\tc.r.Start(start)\n\tq0, on0 := start, true\n\tfor _, p := range others {\n\t\tq := fixed.Point26_6{\n\t\t\tX: dx + p.X,\n\t\t\tY: dy - p.Y,\n\t\t}\n\t\ton := p.Flags&0x01 != 0\n\t\tif on {\n\t\t\tif on0 {\n\t\t\t\tc.r.Add1(q)\n\t\t\t} else {\n\t\t\t\tc.r.Add2(q0, q)\n\t\t\t}\n\t\t} else {\n\t\t\tif on0 {\n\t\t\t\t// No-op.\n\t\t\t} else {\n\t\t\t\tmid := fixed.Point26_6{\n\t\t\t\t\tX: (q0.X + q.X) / 2,\n\t\t\t\t\tY: (q0.Y + q.Y) / 2,\n\t\t\t\t}\n\t\t\t\tc.r.Add2(q0, mid)\n\t\t\t}\n\t\t}\n\t\tq0, on0 = q, on\n\t}\n\t// Close the curve.\n\tif on0 {\n\t\tc.r.Add1(start)\n\t} else {\n\t\tc.r.Add2(q0, start)\n\t}\n}\n\n// rasterize returns the advance width, glyph mask and integer-pixel offset\n// to render the given glyph at the given sub-pixel offsets.\n// The 26.6 fixed point arguments fx and fy must be in the range [0, 1).\nfunc (c *Context) rasterize(glyph truetype.Index, fx, fy fixed.Int26_6) (\n\tfixed.Int26_6, *image.Alpha, image.Point, error) {\n\n\tif err := c.glyphBuf.Load(c.f, c.scale, glyph, c.hinting); err != nil {\n\t\treturn 0, nil, image.Point{}, err\n\t}\n\t// Calculate the integer-pixel bounds for the glyph.\n\txmin := int(fx+c.glyphBuf.Bounds.Min.X) >> 6\n\tymin := int(fy-c.glyphBuf.Bounds.Max.Y) >> 6\n\txmax := int(fx+c.glyphBuf.Bounds.Max.X+0x3f) >> 6\n\tymax := int(fy-c.glyphBuf.Bounds.Min.Y+0x3f) >> 6\n\tif xmin > xmax || ymin > ymax {\n\t\treturn 0, nil, image.Point{}, errors.New(\"freetype: negative sized glyph\")\n\t}\n\t// A TrueType's glyph's nodes can have negative co-ordinates, but the\n\t// rasterizer clips anything left of x=0 or above y=0. xmin and ymin are\n\t// the pixel offsets, based on the font's FUnit metrics, that let a\n\t// negative co-ordinate in TrueType space be non-negative in rasterizer\n\t// space. xmin and ymin are typically <= 0.\n\tfx -= fixed.Int26_6(xmin << 6)\n\tfy -= fixed.Int26_6(ymin << 6)\n\t// Rasterize the glyph's vectors.\n\tc.r.Clear()\n\te0 := 0\n\tfor _, e1 := range c.glyphBuf.Ends {\n\t\tc.drawContour(c.glyphBuf.Points[e0:e1], fx, fy)\n\t\te0 = e1\n\t}\n\ta := image.NewAlpha(image.Rect(0, 0, xmax-xmin, ymax-ymin))\n\tc.r.Rasterize(raster.NewAlphaSrcPainter(a))\n\treturn c.glyphBuf.AdvanceWidth, a, image.Point{xmin, ymin}, nil\n}\n\n// glyph returns the advance width, glyph mask and integer-pixel offset to\n// render the given glyph at the given sub-pixel point. It is a cache for the\n// rasterize method. Unlike rasterize, p's co-ordinates do not have to be in\n// the range [0, 1).\nfunc (c *Context) glyph(glyph truetype.Index, p fixed.Point26_6) (\n\tfixed.Int26_6, *image.Alpha, image.Point, error) {\n\n\t// Split p.X and p.Y into their integer and fractional parts.\n\tix, fx := int(p.X>>6), p.X&0x3f\n\tiy, fy := int(p.Y>>6), p.Y&0x3f\n\t// Calculate the index t into the cache array.\n\ttg := int(glyph) % nGlyphs\n\ttx := int(fx) / (64 / nXFractions)\n\tty := int(fy) / (64 / nYFractions)\n\tt := ((tg*nXFractions)+tx)*nYFractions + ty\n\t// Check for a cache hit.\n\tif e := c.cache[t]; e.valid && e.glyph == glyph {\n\t\treturn e.advanceWidth, e.mask, e.offset.Add(image.Point{ix, iy}), nil\n\t}\n\t// Rasterize the glyph and put the result into the cache.\n\tadvanceWidth, mask, offset, err := c.rasterize(glyph, fx, fy)\n\tif err != nil {\n\t\treturn 0, nil, image.Point{}, err\n\t}\n\tc.cache[t] = cacheEntry{true, glyph, advanceWidth, mask, offset}\n\treturn advanceWidth, mask, offset.Add(image.Point{ix, iy}), nil\n}\n\n// DrawString draws s at p and returns p advanced by the text extent. The text\n// is placed so that the left edge of the em square of the first character of s\n// and the baseline intersect at p. The majority of the affected pixels will be\n// above and to the right of the point, but some may be below or to the left.\n// For example, drawing a string that starts with a 'J' in an italic font may\n// affect pixels below and left of the point.\n//\n// p is a fixed.Point26_6 and can therefore represent sub-pixel positions.\nfunc (c *Context) DrawString(s string, p fixed.Point26_6) (fixed.Point26_6, error) {\n\tif c.f == nil {\n\t\treturn fixed.Point26_6{}, errors.New(\"freetype: DrawText called with a nil font\")\n\t}\n\tprev, hasPrev := truetype.Index(0), false\n\tfor _, rune := range s {\n\t\tindex := c.f.Index(rune)\n\t\tif hasPrev {\n\t\t\tkern := c.f.Kern(c.scale, prev, index)\n\t\t\tif c.hinting != font.HintingNone {\n\t\t\t\tkern = (kern + 32) &^ 63\n\t\t\t}\n\t\t\tp.X += kern\n\t\t}\n\t\tadvanceWidth, mask, offset, err := c.glyph(index, p)\n\t\tif err != nil {\n\t\t\treturn fixed.Point26_6{}, err\n\t\t}\n\t\tp.X += advanceWidth\n\t\tglyphRect := mask.Bounds().Add(offset)\n\t\tdr := c.clip.Intersect(glyphRect)\n\t\tif !dr.Empty() {\n\t\t\tmp := image.Point{0, dr.Min.Y - glyphRect.Min.Y}\n\t\t\tdraw.DrawMask(c.dst, dr, c.src, image.ZP, mask, mp, draw.Over)\n\t\t}\n\t\tprev, hasPrev = index, true\n\t}\n\treturn p, nil\n}\n\n// recalc recalculates scale and bounds values from the font size, screen\n// resolution and font metrics, and invalidates the glyph cache.\nfunc (c *Context) recalc() {\n\tc.scale = fixed.Int26_6(c.fontSize * c.dpi * (64.0 / 72.0))\n\tif c.f == nil {\n\t\tc.r.SetBounds(0, 0)\n\t} else {\n\t\t// Set the rasterizer's bounds to be big enough to handle the largest glyph.\n\t\tb := c.f.Bounds(c.scale)\n\t\txmin := +int(b.Min.X) >> 6\n\t\tymin := -int(b.Max.Y) >> 6\n\t\txmax := +int(b.Max.X+63) >> 6\n\t\tymax := -int(b.Min.Y-63) >> 6\n\t\tc.r.SetBounds(xmax-xmin, ymax-ymin)\n\t}\n\tfor i := range c.cache {\n\t\tc.cache[i] = cacheEntry{}\n\t}\n}\n\n// SetDPI sets the screen resolution in dots per inch.\nfunc (c *Context) SetDPI(dpi float64) {\n\tif c.dpi == dpi {\n\t\treturn\n\t}\n\tc.dpi = dpi\n\tc.recalc()\n}\n\n// SetFont sets the font used to draw text.\nfunc (c *Context) SetFont(f *truetype.Font) {\n\tif c.f == f {\n\t\treturn\n\t}\n\tc.f = f\n\tc.recalc()\n}\n\n// SetFontSize sets the font size in points (as in \"a 12 point font\").\nfunc (c *Context) SetFontSize(fontSize float64) {\n\tif c.fontSize == fontSize {\n\t\treturn\n\t}\n\tc.fontSize = fontSize\n\tc.recalc()\n}\n\n// SetHinting sets the hinting policy.\nfunc (c *Context) SetHinting(hinting font.Hinting) {\n\tc.hinting = hinting\n\tfor i := range c.cache {\n\t\tc.cache[i] = cacheEntry{}\n\t}\n}\n\n// SetDst sets the destination image for draw operations.\nfunc (c *Context) SetDst(dst draw.Image) {\n\tc.dst = dst\n}\n\n// SetSrc sets the source image for draw operations. This is typically an\n// image.Uniform.\nfunc (c *Context) SetSrc(src image.Image) {\n\tc.src = src\n}\n\n// SetClip sets the clip rectangle for drawing.\nfunc (c *Context) SetClip(clip image.Rectangle) {\n\tc.clip = clip\n}\n\n// TODO(nigeltao): implement Context.SetGamma.\n\n// NewContext creates a new Context.\nfunc NewContext() *Context {\n\treturn &Context{\n\t\tr:        raster.NewRasterizer(0, 0),\n\t\tfontSize: 12,\n\t\tdpi:      72,\n\t\tscale:    12 << 6,\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/licenses/ftl.txt",
    "content": "                    The FreeType Project LICENSE\n                    ----------------------------\n\n                            2006-Jan-27\n\n                    Copyright 1996-2002, 2006 by\n          David Turner, Robert Wilhelm, and Werner Lemberg\n\n\n\nIntroduction\n============\n\n  The FreeType  Project is distributed in  several archive packages;\n  some of them may contain, in addition to the FreeType font engine,\n  various tools and  contributions which rely on, or  relate to, the\n  FreeType Project.\n\n  This  license applies  to all  files found  in such  packages, and\n  which do not  fall under their own explicit  license.  The license\n  affects  thus  the  FreeType   font  engine,  the  test  programs,\n  documentation and makefiles, at the very least.\n\n  This  license   was  inspired  by  the  BSD,   Artistic,  and  IJG\n  (Independent JPEG  Group) licenses, which  all encourage inclusion\n  and  use of  free  software in  commercial  and freeware  products\n  alike.  As a consequence, its main points are that:\n\n    o We don't promise that this software works. However, we will be\n      interested in any kind of bug reports. (`as is' distribution)\n\n    o You can  use this software for whatever you  want, in parts or\n      full form, without having to pay us. (`royalty-free' usage)\n\n    o You may not pretend that  you wrote this software.  If you use\n      it, or  only parts of it,  in a program,  you must acknowledge\n      somewhere  in  your  documentation  that  you  have  used  the\n      FreeType code. (`credits')\n\n  We  specifically  permit  and  encourage  the  inclusion  of  this\n  software, with  or without modifications,  in commercial products.\n  We  disclaim  all warranties  covering  The  FreeType Project  and\n  assume no liability related to The FreeType Project.\n\n\n  Finally,  many  people  asked  us  for  a  preferred  form  for  a\n  credit/disclaimer to use in compliance with this license.  We thus\n  encourage you to use the following text:\n\n   \"\"\"\n    Portions of this software are copyright  <year> The FreeType\n    Project (www.freetype.org).  All rights reserved.\n   \"\"\"\n\n  Please replace <year> with the value from the FreeType version you\n  actually use.\n\n\nLegal Terms\n===========\n\n0. Definitions\n--------------\n\n  Throughout this license,  the terms `package', `FreeType Project',\n  and  `FreeType  archive' refer  to  the  set  of files  originally\n  distributed  by the  authors  (David Turner,  Robert Wilhelm,  and\n  Werner Lemberg) as the `FreeType Project', be they named as alpha,\n  beta or final release.\n\n  `You' refers to  the licensee, or person using  the project, where\n  `using' is a generic term including compiling the project's source\n  code as  well as linking it  to form a  `program' or `executable'.\n  This  program is  referred to  as  `a program  using the  FreeType\n  engine'.\n\n  This  license applies  to all  files distributed  in  the original\n  FreeType  Project,   including  all  source   code,  binaries  and\n  documentation,  unless  otherwise  stated   in  the  file  in  its\n  original, unmodified form as  distributed in the original archive.\n  If you are  unsure whether or not a particular  file is covered by\n  this license, you must contact us to verify this.\n\n  The FreeType  Project is copyright (C) 1996-2000  by David Turner,\n  Robert Wilhelm, and Werner Lemberg.  All rights reserved except as\n  specified below.\n\n1. No Warranty\n--------------\n\n  THE FREETYPE PROJECT  IS PROVIDED `AS IS' WITHOUT  WARRANTY OF ANY\n  KIND, EITHER  EXPRESS OR IMPLIED,  INCLUDING, BUT NOT  LIMITED TO,\n  WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR\n  PURPOSE.  IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS\n  BE LIABLE  FOR ANY DAMAGES CAUSED  BY THE USE OR  THE INABILITY TO\n  USE, OF THE FREETYPE PROJECT.\n\n2. Redistribution\n-----------------\n\n  This  license  grants  a  worldwide, royalty-free,  perpetual  and\n  irrevocable right  and license to use,  execute, perform, compile,\n  display,  copy,   create  derivative  works   of,  distribute  and\n  sublicense the  FreeType Project (in  both source and  object code\n  forms)  and  derivative works  thereof  for  any  purpose; and  to\n  authorize others  to exercise  some or all  of the  rights granted\n  herein, subject to the following conditions:\n\n    o Redistribution of  source code  must retain this  license file\n      (`FTL.TXT') unaltered; any  additions, deletions or changes to\n      the original  files must be clearly  indicated in accompanying\n      documentation.   The  copyright   notices  of  the  unaltered,\n      original  files must  be  preserved in  all  copies of  source\n      files.\n\n    o Redistribution in binary form must provide a  disclaimer  that\n      states  that  the software is based in part of the work of the\n      FreeType Team,  in  the  distribution  documentation.  We also\n      encourage you to put an URL to the FreeType web page  in  your\n      documentation, though this isn't mandatory.\n\n  These conditions  apply to any  software derived from or  based on\n  the FreeType Project,  not just the unmodified files.   If you use\n  our work, you  must acknowledge us.  However, no  fee need be paid\n  to us.\n\n3. Advertising\n--------------\n\n  Neither the  FreeType authors and  contributors nor you  shall use\n  the name of the  other for commercial, advertising, or promotional\n  purposes without specific prior written permission.\n\n  We suggest,  but do not require, that  you use one or  more of the\n  following phrases to refer  to this software in your documentation\n  or advertising  materials: `FreeType Project',  `FreeType Engine',\n  `FreeType library', or `FreeType Distribution'.\n\n  As  you have  not signed  this license,  you are  not  required to\n  accept  it.   However,  as  the FreeType  Project  is  copyrighted\n  material, only  this license, or  another one contracted  with the\n  authors, grants you  the right to use, distribute,  and modify it.\n  Therefore,  by  using,  distributing,  or modifying  the  FreeType\n  Project, you indicate that you understand and accept all the terms\n  of this license.\n\n4. Contacts\n-----------\n\n  There are two mailing lists related to FreeType:\n\n    o freetype@nongnu.org\n\n      Discusses general use and applications of FreeType, as well as\n      future and  wanted additions to the  library and distribution.\n      If  you are looking  for support,  start in  this list  if you\n      haven't found anything to help you in the documentation.\n\n    o freetype-devel@nongnu.org\n\n      Discusses bugs,  as well  as engine internals,  design issues,\n      specific licenses, porting, etc.\n\n  Our home page can be found at\n\n    http://www.freetype.org\n\n\n--- end of FTL.TXT ---\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/licenses/gpl.txt",
    "content": "\t\t    GNU GENERAL PUBLIC LICENSE\n\t\t       Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t    Preamble\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation's software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  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\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author's protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone's free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\f\n\t\t    GNU GENERAL PUBLIC LICENSE\n   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program's\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\f\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\f\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions 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\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\f\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the 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\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\n\t\t\t    NO WARRANTY\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n\t\t     END OF TERMS AND CONDITIONS\n\f\n\t    How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nconvey the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software; you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation; either version 2 of the License, or\n    (at your option) any later version.\n\n    This program 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 General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program; if not, write to the Free Software\n    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n\n\nAlso add information on how to contact you by electronic and paper mail.\n\nIf the program is interactive, make it output a short notice like this\nwhen it starts in an interactive mode:\n\n    Gnomovision version 69, Copyright (C) year  name of author\n    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, the commands you use may\nbe called something other than `show w' and `show c'; they could even be\nmouse-clicks or menu items--whatever suits your program.\n\nYou should also get your employer (if you work as a programmer) or your\nschool, if any, to sign a \"copyright disclaimer\" for the program, if\nnecessary.  Here is a sample; alter the names:\n\n  Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n  `Gnomovision' (which makes passes at compilers) written by James Hacker.\n\n  <signature of Ty Coon>, 1 April 1989\n  Ty Coon, President of Vice\n\nThis General Public License does not permit incorporating your program into\nproprietary programs.  If your program is a subroutine library, you may\nconsider it more useful to permit linking proprietary applications with the\nlibrary.  If this is what you want to do, use the GNU Library General\nPublic License instead of this License.\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/raster/geom.go",
    "content": "// Copyright 2010 The Freetype-Go Authors. All rights reserved.\n// Use of this source code is governed by your choice of either the\n// FreeType License or the GNU General Public License version 2 (or\n// any later version), both of which can be found in the LICENSE file.\n\npackage raster\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\n\t\"golang.org/x/image/math/fixed\"\n)\n\n// maxAbs returns the maximum of abs(a) and abs(b).\nfunc maxAbs(a, b fixed.Int26_6) fixed.Int26_6 {\n\tif a < 0 {\n\t\ta = -a\n\t}\n\tif b < 0 {\n\t\tb = -b\n\t}\n\tif a < b {\n\t\treturn b\n\t}\n\treturn a\n}\n\n// pNeg returns the vector -p, or equivalently p rotated by 180 degrees.\nfunc pNeg(p fixed.Point26_6) fixed.Point26_6 {\n\treturn fixed.Point26_6{-p.X, -p.Y}\n}\n\n// pDot returns the dot product p·q.\nfunc pDot(p fixed.Point26_6, q fixed.Point26_6) fixed.Int52_12 {\n\tpx, py := int64(p.X), int64(p.Y)\n\tqx, qy := int64(q.X), int64(q.Y)\n\treturn fixed.Int52_12(px*qx + py*qy)\n}\n\n// pLen returns the length of the vector p.\nfunc pLen(p fixed.Point26_6) fixed.Int26_6 {\n\t// TODO(nigeltao): use fixed point math.\n\tx := float64(p.X)\n\ty := float64(p.Y)\n\treturn fixed.Int26_6(math.Sqrt(x*x + y*y))\n}\n\n// pNorm returns the vector p normalized to the given length, or zero if p is\n// degenerate.\nfunc pNorm(p fixed.Point26_6, length fixed.Int26_6) fixed.Point26_6 {\n\td := pLen(p)\n\tif d == 0 {\n\t\treturn fixed.Point26_6{}\n\t}\n\ts, t := int64(length), int64(d)\n\tx := int64(p.X) * s / t\n\ty := int64(p.Y) * s / t\n\treturn fixed.Point26_6{fixed.Int26_6(x), fixed.Int26_6(y)}\n}\n\n// pRot45CW returns the vector p rotated clockwise by 45 degrees.\n//\n// Note that the Y-axis grows downwards, so {1, 0}.Rot45CW is {1/√2, 1/√2}.\nfunc pRot45CW(p fixed.Point26_6) fixed.Point26_6 {\n\t// 181/256 is approximately 1/√2, or sin(π/4).\n\tpx, py := int64(p.X), int64(p.Y)\n\tqx := (+px - py) * 181 / 256\n\tqy := (+px + py) * 181 / 256\n\treturn fixed.Point26_6{fixed.Int26_6(qx), fixed.Int26_6(qy)}\n}\n\n// pRot90CW returns the vector p rotated clockwise by 90 degrees.\n//\n// Note that the Y-axis grows downwards, so {1, 0}.Rot90CW is {0, 1}.\nfunc pRot90CW(p fixed.Point26_6) fixed.Point26_6 {\n\treturn fixed.Point26_6{-p.Y, p.X}\n}\n\n// pRot135CW returns the vector p rotated clockwise by 135 degrees.\n//\n// Note that the Y-axis grows downwards, so {1, 0}.Rot135CW is {-1/√2, 1/√2}.\nfunc pRot135CW(p fixed.Point26_6) fixed.Point26_6 {\n\t// 181/256 is approximately 1/√2, or sin(π/4).\n\tpx, py := int64(p.X), int64(p.Y)\n\tqx := (-px - py) * 181 / 256\n\tqy := (+px - py) * 181 / 256\n\treturn fixed.Point26_6{fixed.Int26_6(qx), fixed.Int26_6(qy)}\n}\n\n// pRot45CCW returns the vector p rotated counter-clockwise by 45 degrees.\n//\n// Note that the Y-axis grows downwards, so {1, 0}.Rot45CCW is {1/√2, -1/√2}.\nfunc pRot45CCW(p fixed.Point26_6) fixed.Point26_6 {\n\t// 181/256 is approximately 1/√2, or sin(π/4).\n\tpx, py := int64(p.X), int64(p.Y)\n\tqx := (+px + py) * 181 / 256\n\tqy := (-px + py) * 181 / 256\n\treturn fixed.Point26_6{fixed.Int26_6(qx), fixed.Int26_6(qy)}\n}\n\n// pRot90CCW returns the vector p rotated counter-clockwise by 90 degrees.\n//\n// Note that the Y-axis grows downwards, so {1, 0}.Rot90CCW is {0, -1}.\nfunc pRot90CCW(p fixed.Point26_6) fixed.Point26_6 {\n\treturn fixed.Point26_6{p.Y, -p.X}\n}\n\n// pRot135CCW returns the vector p rotated counter-clockwise by 135 degrees.\n//\n// Note that the Y-axis grows downwards, so {1, 0}.Rot135CCW is {-1/√2, -1/√2}.\nfunc pRot135CCW(p fixed.Point26_6) fixed.Point26_6 {\n\t// 181/256 is approximately 1/√2, or sin(π/4).\n\tpx, py := int64(p.X), int64(p.Y)\n\tqx := (-px + py) * 181 / 256\n\tqy := (-px - py) * 181 / 256\n\treturn fixed.Point26_6{fixed.Int26_6(qx), fixed.Int26_6(qy)}\n}\n\n// An Adder accumulates points on a curve.\ntype Adder interface {\n\t// Start starts a new curve at the given point.\n\tStart(a fixed.Point26_6)\n\t// Add1 adds a linear segment to the current curve.\n\tAdd1(b fixed.Point26_6)\n\t// Add2 adds a quadratic segment to the current curve.\n\tAdd2(b, c fixed.Point26_6)\n\t// Add3 adds a cubic segment to the current curve.\n\tAdd3(b, c, d fixed.Point26_6)\n}\n\n// A Path is a sequence of curves, and a curve is a start point followed by a\n// sequence of linear, quadratic or cubic segments.\ntype Path []fixed.Int26_6\n\n// String returns a human-readable representation of a Path.\nfunc (p Path) String() string {\n\ts := \"\"\n\tfor i := 0; i < len(p); {\n\t\tif i != 0 {\n\t\t\ts += \" \"\n\t\t}\n\t\tswitch p[i] {\n\t\tcase 0:\n\t\t\ts += \"S0\" + fmt.Sprint([]fixed.Int26_6(p[i+1:i+3]))\n\t\t\ti += 4\n\t\tcase 1:\n\t\t\ts += \"A1\" + fmt.Sprint([]fixed.Int26_6(p[i+1:i+3]))\n\t\t\ti += 4\n\t\tcase 2:\n\t\t\ts += \"A2\" + fmt.Sprint([]fixed.Int26_6(p[i+1:i+5]))\n\t\t\ti += 6\n\t\tcase 3:\n\t\t\ts += \"A3\" + fmt.Sprint([]fixed.Int26_6(p[i+1:i+7]))\n\t\t\ti += 8\n\t\tdefault:\n\t\t\tpanic(\"freetype/raster: bad path\")\n\t\t}\n\t}\n\treturn s\n}\n\n// Clear cancels any previous calls to p.Start or p.AddXxx.\nfunc (p *Path) Clear() {\n\t*p = (*p)[:0]\n}\n\n// Start starts a new curve at the given point.\nfunc (p *Path) Start(a fixed.Point26_6) {\n\t*p = append(*p, 0, a.X, a.Y, 0)\n}\n\n// Add1 adds a linear segment to the current curve.\nfunc (p *Path) Add1(b fixed.Point26_6) {\n\t*p = append(*p, 1, b.X, b.Y, 1)\n}\n\n// Add2 adds a quadratic segment to the current curve.\nfunc (p *Path) Add2(b, c fixed.Point26_6) {\n\t*p = append(*p, 2, b.X, b.Y, c.X, c.Y, 2)\n}\n\n// Add3 adds a cubic segment to the current curve.\nfunc (p *Path) Add3(b, c, d fixed.Point26_6) {\n\t*p = append(*p, 3, b.X, b.Y, c.X, c.Y, d.X, d.Y, 3)\n}\n\n// AddPath adds the Path q to p.\nfunc (p *Path) AddPath(q Path) {\n\t*p = append(*p, q...)\n}\n\n// AddStroke adds a stroked Path.\nfunc (p *Path) AddStroke(q Path, width fixed.Int26_6, cr Capper, jr Joiner) {\n\tStroke(p, q, width, cr, jr)\n}\n\n// firstPoint returns the first point in a non-empty Path.\nfunc (p Path) firstPoint() fixed.Point26_6 {\n\treturn fixed.Point26_6{p[1], p[2]}\n}\n\n// lastPoint returns the last point in a non-empty Path.\nfunc (p Path) lastPoint() fixed.Point26_6 {\n\treturn fixed.Point26_6{p[len(p)-3], p[len(p)-2]}\n}\n\n// addPathReversed adds q reversed to p.\n// For example, if q consists of a linear segment from A to B followed by a\n// quadratic segment from B to C to D, then the values of q looks like:\n// index: 01234567890123\n// value: 0AA01BB12CCDD2\n// So, when adding q backwards to p, we want to Add2(C, B) followed by Add1(A).\nfunc addPathReversed(p Adder, q Path) {\n\tif len(q) == 0 {\n\t\treturn\n\t}\n\ti := len(q) - 1\n\tfor {\n\t\tswitch q[i] {\n\t\tcase 0:\n\t\t\treturn\n\t\tcase 1:\n\t\t\ti -= 4\n\t\t\tp.Add1(\n\t\t\t\tfixed.Point26_6{q[i-2], q[i-1]},\n\t\t\t)\n\t\tcase 2:\n\t\t\ti -= 6\n\t\t\tp.Add2(\n\t\t\t\tfixed.Point26_6{q[i+2], q[i+3]},\n\t\t\t\tfixed.Point26_6{q[i-2], q[i-1]},\n\t\t\t)\n\t\tcase 3:\n\t\t\ti -= 8\n\t\t\tp.Add3(\n\t\t\t\tfixed.Point26_6{q[i+4], q[i+5]},\n\t\t\t\tfixed.Point26_6{q[i+2], q[i+3]},\n\t\t\t\tfixed.Point26_6{q[i-2], q[i-1]},\n\t\t\t)\n\t\tdefault:\n\t\t\tpanic(\"freetype/raster: bad path\")\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/raster/paint.go",
    "content": "// Copyright 2010 The Freetype-Go Authors. All rights reserved.\n// Use of this source code is governed by your choice of either the\n// FreeType License or the GNU General Public License version 2 (or\n// any later version), both of which can be found in the LICENSE file.\n\npackage raster\n\nimport (\n\t\"image\"\n\t\"image/color\"\n\t\"image/draw\"\n\t\"math\"\n)\n\n// A Span is a horizontal segment of pixels with constant alpha. X0 is an\n// inclusive bound and X1 is exclusive, the same as for slices. A fully opaque\n// Span has Alpha == 0xffff.\ntype Span struct {\n\tY, X0, X1 int\n\tAlpha     uint32\n}\n\n// A Painter knows how to paint a batch of Spans. Rasterization may involve\n// Painting multiple batches, and done will be true for the final batch. The\n// Spans' Y values are monotonically increasing during a rasterization. Paint\n// may use all of ss as scratch space during the call.\ntype Painter interface {\n\tPaint(ss []Span, done bool)\n}\n\n// The PainterFunc type adapts an ordinary function to the Painter interface.\ntype PainterFunc func(ss []Span, done bool)\n\n// Paint just delegates the call to f.\nfunc (f PainterFunc) Paint(ss []Span, done bool) { f(ss, done) }\n\n// An AlphaOverPainter is a Painter that paints Spans onto a *image.Alpha using\n// the Over Porter-Duff composition operator.\ntype AlphaOverPainter struct {\n\tImage *image.Alpha\n}\n\n// Paint satisfies the Painter interface.\nfunc (r AlphaOverPainter) Paint(ss []Span, done bool) {\n\tb := r.Image.Bounds()\n\tfor _, s := range ss {\n\t\tif s.Y < b.Min.Y {\n\t\t\tcontinue\n\t\t}\n\t\tif s.Y >= b.Max.Y {\n\t\t\treturn\n\t\t}\n\t\tif s.X0 < b.Min.X {\n\t\t\ts.X0 = b.Min.X\n\t\t}\n\t\tif s.X1 > b.Max.X {\n\t\t\ts.X1 = b.Max.X\n\t\t}\n\t\tif s.X0 >= s.X1 {\n\t\t\tcontinue\n\t\t}\n\t\tbase := (s.Y-r.Image.Rect.Min.Y)*r.Image.Stride - r.Image.Rect.Min.X\n\t\tp := r.Image.Pix[base+s.X0 : base+s.X1]\n\t\ta := int(s.Alpha >> 8)\n\t\tfor i, c := range p {\n\t\t\tv := int(c)\n\t\t\tp[i] = uint8((v*255 + (255-v)*a) / 255)\n\t\t}\n\t}\n}\n\n// NewAlphaOverPainter creates a new AlphaOverPainter for the given image.\nfunc NewAlphaOverPainter(m *image.Alpha) AlphaOverPainter {\n\treturn AlphaOverPainter{m}\n}\n\n// An AlphaSrcPainter is a Painter that paints Spans onto a *image.Alpha using\n// the Src Porter-Duff composition operator.\ntype AlphaSrcPainter struct {\n\tImage *image.Alpha\n}\n\n// Paint satisfies the Painter interface.\nfunc (r AlphaSrcPainter) Paint(ss []Span, done bool) {\n\tb := r.Image.Bounds()\n\tfor _, s := range ss {\n\t\tif s.Y < b.Min.Y {\n\t\t\tcontinue\n\t\t}\n\t\tif s.Y >= b.Max.Y {\n\t\t\treturn\n\t\t}\n\t\tif s.X0 < b.Min.X {\n\t\t\ts.X0 = b.Min.X\n\t\t}\n\t\tif s.X1 > b.Max.X {\n\t\t\ts.X1 = b.Max.X\n\t\t}\n\t\tif s.X0 >= s.X1 {\n\t\t\tcontinue\n\t\t}\n\t\tbase := (s.Y-r.Image.Rect.Min.Y)*r.Image.Stride - r.Image.Rect.Min.X\n\t\tp := r.Image.Pix[base+s.X0 : base+s.X1]\n\t\tcolor := uint8(s.Alpha >> 8)\n\t\tfor i := range p {\n\t\t\tp[i] = color\n\t\t}\n\t}\n}\n\n// NewAlphaSrcPainter creates a new AlphaSrcPainter for the given image.\nfunc NewAlphaSrcPainter(m *image.Alpha) AlphaSrcPainter {\n\treturn AlphaSrcPainter{m}\n}\n\n// An RGBAPainter is a Painter that paints Spans onto a *image.RGBA.\ntype RGBAPainter struct {\n\t// Image is the image to compose onto.\n\tImage *image.RGBA\n\t// Op is the Porter-Duff composition operator.\n\tOp draw.Op\n\t// cr, cg, cb and ca are the 16-bit color to paint the spans.\n\tcr, cg, cb, ca uint32\n}\n\n// Paint satisfies the Painter interface.\nfunc (r *RGBAPainter) Paint(ss []Span, done bool) {\n\tb := r.Image.Bounds()\n\tfor _, s := range ss {\n\t\tif s.Y < b.Min.Y {\n\t\t\tcontinue\n\t\t}\n\t\tif s.Y >= b.Max.Y {\n\t\t\treturn\n\t\t}\n\t\tif s.X0 < b.Min.X {\n\t\t\ts.X0 = b.Min.X\n\t\t}\n\t\tif s.X1 > b.Max.X {\n\t\t\ts.X1 = b.Max.X\n\t\t}\n\t\tif s.X0 >= s.X1 {\n\t\t\tcontinue\n\t\t}\n\t\t// This code mimics drawGlyphOver in $GOROOT/src/image/draw/draw.go.\n\t\tma := s.Alpha\n\t\tconst m = 1<<16 - 1\n\t\ti0 := (s.Y-r.Image.Rect.Min.Y)*r.Image.Stride + (s.X0-r.Image.Rect.Min.X)*4\n\t\ti1 := i0 + (s.X1-s.X0)*4\n\t\tif r.Op == draw.Over {\n\t\t\tfor i := i0; i < i1; i += 4 {\n\t\t\t\tdr := uint32(r.Image.Pix[i+0])\n\t\t\t\tdg := uint32(r.Image.Pix[i+1])\n\t\t\t\tdb := uint32(r.Image.Pix[i+2])\n\t\t\t\tda := uint32(r.Image.Pix[i+3])\n\t\t\t\ta := (m - (r.ca * ma / m)) * 0x101\n\t\t\t\tr.Image.Pix[i+0] = uint8((dr*a + r.cr*ma) / m >> 8)\n\t\t\t\tr.Image.Pix[i+1] = uint8((dg*a + r.cg*ma) / m >> 8)\n\t\t\t\tr.Image.Pix[i+2] = uint8((db*a + r.cb*ma) / m >> 8)\n\t\t\t\tr.Image.Pix[i+3] = uint8((da*a + r.ca*ma) / m >> 8)\n\t\t\t}\n\t\t} else {\n\t\t\tfor i := i0; i < i1; i += 4 {\n\t\t\t\tr.Image.Pix[i+0] = uint8(r.cr * ma / m >> 8)\n\t\t\t\tr.Image.Pix[i+1] = uint8(r.cg * ma / m >> 8)\n\t\t\t\tr.Image.Pix[i+2] = uint8(r.cb * ma / m >> 8)\n\t\t\t\tr.Image.Pix[i+3] = uint8(r.ca * ma / m >> 8)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// SetColor sets the color to paint the spans.\nfunc (r *RGBAPainter) SetColor(c color.Color) {\n\tr.cr, r.cg, r.cb, r.ca = c.RGBA()\n}\n\n// NewRGBAPainter creates a new RGBAPainter for the given image.\nfunc NewRGBAPainter(m *image.RGBA) *RGBAPainter {\n\treturn &RGBAPainter{Image: m}\n}\n\n// A MonochromePainter wraps another Painter, quantizing each Span's alpha to\n// be either fully opaque or fully transparent.\ntype MonochromePainter struct {\n\tPainter   Painter\n\ty, x0, x1 int\n}\n\n// Paint delegates to the wrapped Painter after quantizing each Span's alpha\n// value and merging adjacent fully opaque Spans.\nfunc (m *MonochromePainter) Paint(ss []Span, done bool) {\n\t// We compact the ss slice, discarding any Spans whose alpha quantizes to zero.\n\tj := 0\n\tfor _, s := range ss {\n\t\tif s.Alpha >= 0x8000 {\n\t\t\tif m.y == s.Y && m.x1 == s.X0 {\n\t\t\t\tm.x1 = s.X1\n\t\t\t} else {\n\t\t\t\tss[j] = Span{m.y, m.x0, m.x1, 1<<16 - 1}\n\t\t\t\tj++\n\t\t\t\tm.y, m.x0, m.x1 = s.Y, s.X0, s.X1\n\t\t\t}\n\t\t}\n\t}\n\tif done {\n\t\t// Flush the accumulated Span.\n\t\tfinalSpan := Span{m.y, m.x0, m.x1, 1<<16 - 1}\n\t\tif j < len(ss) {\n\t\t\tss[j] = finalSpan\n\t\t\tj++\n\t\t\tm.Painter.Paint(ss[:j], true)\n\t\t} else if j == len(ss) {\n\t\t\tm.Painter.Paint(ss, false)\n\t\t\tif cap(ss) > 0 {\n\t\t\t\tss = ss[:1]\n\t\t\t} else {\n\t\t\t\tss = make([]Span, 1)\n\t\t\t}\n\t\t\tss[0] = finalSpan\n\t\t\tm.Painter.Paint(ss, true)\n\t\t} else {\n\t\t\tpanic(\"unreachable\")\n\t\t}\n\t\t// Reset the accumulator, so that this Painter can be re-used.\n\t\tm.y, m.x0, m.x1 = 0, 0, 0\n\t} else {\n\t\tm.Painter.Paint(ss[:j], false)\n\t}\n}\n\n// NewMonochromePainter creates a new MonochromePainter that wraps the given\n// Painter.\nfunc NewMonochromePainter(p Painter) *MonochromePainter {\n\treturn &MonochromePainter{Painter: p}\n}\n\n// A GammaCorrectionPainter wraps another Painter, performing gamma-correction\n// on each Span's alpha value.\ntype GammaCorrectionPainter struct {\n\t// Painter is the wrapped Painter.\n\tPainter Painter\n\t// a is the precomputed alpha values for linear interpolation, with fully\n\t// opaque == 0xffff.\n\ta [256]uint16\n\t// gammaIsOne is whether gamma correction is a no-op.\n\tgammaIsOne bool\n}\n\n// Paint delegates to the wrapped Painter after performing gamma-correction on\n// each Span.\nfunc (g *GammaCorrectionPainter) Paint(ss []Span, done bool) {\n\tif !g.gammaIsOne {\n\t\tconst n = 0x101\n\t\tfor i, s := range ss {\n\t\t\tif s.Alpha == 0 || s.Alpha == 0xffff {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tp, q := s.Alpha/n, s.Alpha%n\n\t\t\t// The resultant alpha is a linear interpolation of g.a[p] and g.a[p+1].\n\t\t\ta := uint32(g.a[p])*(n-q) + uint32(g.a[p+1])*q\n\t\t\tss[i].Alpha = (a + n/2) / n\n\t\t}\n\t}\n\tg.Painter.Paint(ss, done)\n}\n\n// SetGamma sets the gamma value.\nfunc (g *GammaCorrectionPainter) SetGamma(gamma float64) {\n\tg.gammaIsOne = gamma == 1\n\tif g.gammaIsOne {\n\t\treturn\n\t}\n\tfor i := 0; i < 256; i++ {\n\t\ta := float64(i) / 0xff\n\t\ta = math.Pow(a, gamma)\n\t\tg.a[i] = uint16(0xffff * a)\n\t}\n}\n\n// NewGammaCorrectionPainter creates a new GammaCorrectionPainter that wraps\n// the given Painter.\nfunc NewGammaCorrectionPainter(p Painter, gamma float64) *GammaCorrectionPainter {\n\tg := &GammaCorrectionPainter{Painter: p}\n\tg.SetGamma(gamma)\n\treturn g\n}\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/raster/raster.go",
    "content": "// Copyright 2010 The Freetype-Go Authors. All rights reserved.\n// Use of this source code is governed by your choice of either the\n// FreeType License or the GNU General Public License version 2 (or\n// any later version), both of which can be found in the LICENSE file.\n\n// Package raster provides an anti-aliasing 2-D rasterizer.\n//\n// It is part of the larger Freetype suite of font-related packages, but the\n// raster package is not specific to font rasterization, and can be used\n// standalone without any other Freetype package.\n//\n// Rasterization is done by the same area/coverage accumulation algorithm as\n// the Freetype \"smooth\" module, and the Anti-Grain Geometry library. A\n// description of the area/coverage algorithm is at\n// http://projects.tuxee.net/cl-vectors/section-the-cl-aa-algorithm\npackage raster // import \"github.com/golang/freetype/raster\"\n\nimport (\n\t\"strconv\"\n\n\t\"golang.org/x/image/math/fixed\"\n)\n\n// A cell is part of a linked list (for a given yi co-ordinate) of accumulated\n// area/coverage for the pixel at (xi, yi).\ntype cell struct {\n\txi          int\n\tarea, cover int\n\tnext        int\n}\n\ntype Rasterizer struct {\n\t// If false, the default behavior is to use the even-odd winding fill\n\t// rule during Rasterize.\n\tUseNonZeroWinding bool\n\t// An offset (in pixels) to the painted spans.\n\tDx, Dy int\n\n\t// The width of the Rasterizer. The height is implicit in len(cellIndex).\n\twidth int\n\t// splitScaleN is the scaling factor used to determine how many times\n\t// to decompose a quadratic or cubic segment into a linear approximation.\n\tsplitScale2, splitScale3 int\n\n\t// The current pen position.\n\ta fixed.Point26_6\n\t// The current cell and its area/coverage being accumulated.\n\txi, yi      int\n\tarea, cover int\n\n\t// Saved cells.\n\tcell []cell\n\t// Linked list of cells, one per row.\n\tcellIndex []int\n\t// Buffers.\n\tcellBuf      [256]cell\n\tcellIndexBuf [64]int\n\tspanBuf      [64]Span\n}\n\n// findCell returns the index in r.cell for the cell corresponding to\n// (r.xi, r.yi). The cell is created if necessary.\nfunc (r *Rasterizer) findCell() int {\n\tif r.yi < 0 || r.yi >= len(r.cellIndex) {\n\t\treturn -1\n\t}\n\txi := r.xi\n\tif xi < 0 {\n\t\txi = -1\n\t} else if xi > r.width {\n\t\txi = r.width\n\t}\n\ti, prev := r.cellIndex[r.yi], -1\n\tfor i != -1 && r.cell[i].xi <= xi {\n\t\tif r.cell[i].xi == xi {\n\t\t\treturn i\n\t\t}\n\t\ti, prev = r.cell[i].next, i\n\t}\n\tc := len(r.cell)\n\tif c == cap(r.cell) {\n\t\tbuf := make([]cell, c, 4*c)\n\t\tcopy(buf, r.cell)\n\t\tr.cell = buf[0 : c+1]\n\t} else {\n\t\tr.cell = r.cell[0 : c+1]\n\t}\n\tr.cell[c] = cell{xi, 0, 0, i}\n\tif prev == -1 {\n\t\tr.cellIndex[r.yi] = c\n\t} else {\n\t\tr.cell[prev].next = c\n\t}\n\treturn c\n}\n\n// saveCell saves any accumulated r.area/r.cover for (r.xi, r.yi).\nfunc (r *Rasterizer) saveCell() {\n\tif r.area != 0 || r.cover != 0 {\n\t\ti := r.findCell()\n\t\tif i != -1 {\n\t\t\tr.cell[i].area += r.area\n\t\t\tr.cell[i].cover += r.cover\n\t\t}\n\t\tr.area = 0\n\t\tr.cover = 0\n\t}\n}\n\n// setCell sets the (xi, yi) cell that r is accumulating area/coverage for.\nfunc (r *Rasterizer) setCell(xi, yi int) {\n\tif r.xi != xi || r.yi != yi {\n\t\tr.saveCell()\n\t\tr.xi, r.yi = xi, yi\n\t}\n}\n\n// scan accumulates area/coverage for the yi'th scanline, going from\n// x0 to x1 in the horizontal direction (in 26.6 fixed point co-ordinates)\n// and from y0f to y1f fractional vertical units within that scanline.\nfunc (r *Rasterizer) scan(yi int, x0, y0f, x1, y1f fixed.Int26_6) {\n\t// Break the 26.6 fixed point X co-ordinates into integral and fractional parts.\n\tx0i := int(x0) / 64\n\tx0f := x0 - fixed.Int26_6(64*x0i)\n\tx1i := int(x1) / 64\n\tx1f := x1 - fixed.Int26_6(64*x1i)\n\n\t// A perfectly horizontal scan.\n\tif y0f == y1f {\n\t\tr.setCell(x1i, yi)\n\t\treturn\n\t}\n\tdx, dy := x1-x0, y1f-y0f\n\t// A single cell scan.\n\tif x0i == x1i {\n\t\tr.area += int((x0f + x1f) * dy)\n\t\tr.cover += int(dy)\n\t\treturn\n\t}\n\t// There are at least two cells. Apart from the first and last cells,\n\t// all intermediate cells go through the full width of the cell,\n\t// or 64 units in 26.6 fixed point format.\n\tvar (\n\t\tp, q, edge0, edge1 fixed.Int26_6\n\t\txiDelta            int\n\t)\n\tif dx > 0 {\n\t\tp, q = (64-x0f)*dy, dx\n\t\tedge0, edge1, xiDelta = 0, 64, 1\n\t} else {\n\t\tp, q = x0f*dy, -dx\n\t\tedge0, edge1, xiDelta = 64, 0, -1\n\t}\n\tyDelta, yRem := p/q, p%q\n\tif yRem < 0 {\n\t\tyDelta -= 1\n\t\tyRem += q\n\t}\n\t// Do the first cell.\n\txi, y := x0i, y0f\n\tr.area += int((x0f + edge1) * yDelta)\n\tr.cover += int(yDelta)\n\txi, y = xi+xiDelta, y+yDelta\n\tr.setCell(xi, yi)\n\tif xi != x1i {\n\t\t// Do all the intermediate cells.\n\t\tp = 64 * (y1f - y + yDelta)\n\t\tfullDelta, fullRem := p/q, p%q\n\t\tif fullRem < 0 {\n\t\t\tfullDelta -= 1\n\t\t\tfullRem += q\n\t\t}\n\t\tyRem -= q\n\t\tfor xi != x1i {\n\t\t\tyDelta = fullDelta\n\t\t\tyRem += fullRem\n\t\t\tif yRem >= 0 {\n\t\t\t\tyDelta += 1\n\t\t\t\tyRem -= q\n\t\t\t}\n\t\t\tr.area += int(64 * yDelta)\n\t\t\tr.cover += int(yDelta)\n\t\t\txi, y = xi+xiDelta, y+yDelta\n\t\t\tr.setCell(xi, yi)\n\t\t}\n\t}\n\t// Do the last cell.\n\tyDelta = y1f - y\n\tr.area += int((edge0 + x1f) * yDelta)\n\tr.cover += int(yDelta)\n}\n\n// Start starts a new curve at the given point.\nfunc (r *Rasterizer) Start(a fixed.Point26_6) {\n\tr.setCell(int(a.X/64), int(a.Y/64))\n\tr.a = a\n}\n\n// Add1 adds a linear segment to the current curve.\nfunc (r *Rasterizer) Add1(b fixed.Point26_6) {\n\tx0, y0 := r.a.X, r.a.Y\n\tx1, y1 := b.X, b.Y\n\tdx, dy := x1-x0, y1-y0\n\t// Break the 26.6 fixed point Y co-ordinates into integral and fractional\n\t// parts.\n\ty0i := int(y0) / 64\n\ty0f := y0 - fixed.Int26_6(64*y0i)\n\ty1i := int(y1) / 64\n\ty1f := y1 - fixed.Int26_6(64*y1i)\n\n\tif y0i == y1i {\n\t\t// There is only one scanline.\n\t\tr.scan(y0i, x0, y0f, x1, y1f)\n\n\t} else if dx == 0 {\n\t\t// This is a vertical line segment. We avoid calling r.scan and instead\n\t\t// manipulate r.area and r.cover directly.\n\t\tvar (\n\t\t\tedge0, edge1 fixed.Int26_6\n\t\t\tyiDelta      int\n\t\t)\n\t\tif dy > 0 {\n\t\t\tedge0, edge1, yiDelta = 0, 64, 1\n\t\t} else {\n\t\t\tedge0, edge1, yiDelta = 64, 0, -1\n\t\t}\n\t\tx0i, yi := int(x0)/64, y0i\n\t\tx0fTimes2 := (int(x0) - (64 * x0i)) * 2\n\t\t// Do the first pixel.\n\t\tdcover := int(edge1 - y0f)\n\t\tdarea := int(x0fTimes2 * dcover)\n\t\tr.area += darea\n\t\tr.cover += dcover\n\t\tyi += yiDelta\n\t\tr.setCell(x0i, yi)\n\t\t// Do all the intermediate pixels.\n\t\tdcover = int(edge1 - edge0)\n\t\tdarea = int(x0fTimes2 * dcover)\n\t\tfor yi != y1i {\n\t\t\tr.area += darea\n\t\t\tr.cover += dcover\n\t\t\tyi += yiDelta\n\t\t\tr.setCell(x0i, yi)\n\t\t}\n\t\t// Do the last pixel.\n\t\tdcover = int(y1f - edge0)\n\t\tdarea = int(x0fTimes2 * dcover)\n\t\tr.area += darea\n\t\tr.cover += dcover\n\n\t} else {\n\t\t// There are at least two scanlines. Apart from the first and last\n\t\t// scanlines, all intermediate scanlines go through the full height of\n\t\t// the row, or 64 units in 26.6 fixed point format.\n\t\tvar (\n\t\t\tp, q, edge0, edge1 fixed.Int26_6\n\t\t\tyiDelta            int\n\t\t)\n\t\tif dy > 0 {\n\t\t\tp, q = (64-y0f)*dx, dy\n\t\t\tedge0, edge1, yiDelta = 0, 64, 1\n\t\t} else {\n\t\t\tp, q = y0f*dx, -dy\n\t\t\tedge0, edge1, yiDelta = 64, 0, -1\n\t\t}\n\t\txDelta, xRem := p/q, p%q\n\t\tif xRem < 0 {\n\t\t\txDelta -= 1\n\t\t\txRem += q\n\t\t}\n\t\t// Do the first scanline.\n\t\tx, yi := x0, y0i\n\t\tr.scan(yi, x, y0f, x+xDelta, edge1)\n\t\tx, yi = x+xDelta, yi+yiDelta\n\t\tr.setCell(int(x)/64, yi)\n\t\tif yi != y1i {\n\t\t\t// Do all the intermediate scanlines.\n\t\t\tp = 64 * dx\n\t\t\tfullDelta, fullRem := p/q, p%q\n\t\t\tif fullRem < 0 {\n\t\t\t\tfullDelta -= 1\n\t\t\t\tfullRem += q\n\t\t\t}\n\t\t\txRem -= q\n\t\t\tfor yi != y1i {\n\t\t\t\txDelta = fullDelta\n\t\t\t\txRem += fullRem\n\t\t\t\tif xRem >= 0 {\n\t\t\t\t\txDelta += 1\n\t\t\t\t\txRem -= q\n\t\t\t\t}\n\t\t\t\tr.scan(yi, x, edge0, x+xDelta, edge1)\n\t\t\t\tx, yi = x+xDelta, yi+yiDelta\n\t\t\t\tr.setCell(int(x)/64, yi)\n\t\t\t}\n\t\t}\n\t\t// Do the last scanline.\n\t\tr.scan(yi, x, edge0, x1, y1f)\n\t}\n\t// The next lineTo starts from b.\n\tr.a = b\n}\n\n// Add2 adds a quadratic segment to the current curve.\nfunc (r *Rasterizer) Add2(b, c fixed.Point26_6) {\n\t// Calculate nSplit (the number of recursive decompositions) based on how\n\t// 'curvy' it is. Specifically, how much the middle point b deviates from\n\t// (a+c)/2.\n\tdev := maxAbs(r.a.X-2*b.X+c.X, r.a.Y-2*b.Y+c.Y) / fixed.Int26_6(r.splitScale2)\n\tnsplit := 0\n\tfor dev > 0 {\n\t\tdev /= 4\n\t\tnsplit++\n\t}\n\t// dev is 32-bit, and nsplit++ every time we shift off 2 bits, so maxNsplit\n\t// is 16.\n\tconst maxNsplit = 16\n\tif nsplit > maxNsplit {\n\t\tpanic(\"freetype/raster: Add2 nsplit too large: \" + strconv.Itoa(nsplit))\n\t}\n\t// Recursively decompose the curve nSplit levels deep.\n\tvar (\n\t\tpStack [2*maxNsplit + 3]fixed.Point26_6\n\t\tsStack [maxNsplit + 1]int\n\t\ti      int\n\t)\n\tsStack[0] = nsplit\n\tpStack[0] = c\n\tpStack[1] = b\n\tpStack[2] = r.a\n\tfor i >= 0 {\n\t\ts := sStack[i]\n\t\tp := pStack[2*i:]\n\t\tif s > 0 {\n\t\t\t// Split the quadratic curve p[:3] into an equivalent set of two\n\t\t\t// shorter curves: p[:3] and p[2:5]. The new p[4] is the old p[2],\n\t\t\t// and p[0] is unchanged.\n\t\t\tmx := p[1].X\n\t\t\tp[4].X = p[2].X\n\t\t\tp[3].X = (p[4].X + mx) / 2\n\t\t\tp[1].X = (p[0].X + mx) / 2\n\t\t\tp[2].X = (p[1].X + p[3].X) / 2\n\t\t\tmy := p[1].Y\n\t\t\tp[4].Y = p[2].Y\n\t\t\tp[3].Y = (p[4].Y + my) / 2\n\t\t\tp[1].Y = (p[0].Y + my) / 2\n\t\t\tp[2].Y = (p[1].Y + p[3].Y) / 2\n\t\t\t// The two shorter curves have one less split to do.\n\t\t\tsStack[i] = s - 1\n\t\t\tsStack[i+1] = s - 1\n\t\t\ti++\n\t\t} else {\n\t\t\t// Replace the level-0 quadratic with a two-linear-piece\n\t\t\t// approximation.\n\t\t\tmidx := (p[0].X + 2*p[1].X + p[2].X) / 4\n\t\t\tmidy := (p[0].Y + 2*p[1].Y + p[2].Y) / 4\n\t\t\tr.Add1(fixed.Point26_6{midx, midy})\n\t\t\tr.Add1(p[0])\n\t\t\ti--\n\t\t}\n\t}\n}\n\n// Add3 adds a cubic segment to the current curve.\nfunc (r *Rasterizer) Add3(b, c, d fixed.Point26_6) {\n\t// Calculate nSplit (the number of recursive decompositions) based on how\n\t// 'curvy' it is.\n\tdev2 := maxAbs(r.a.X-3*(b.X+c.X)+d.X, r.a.Y-3*(b.Y+c.Y)+d.Y) / fixed.Int26_6(r.splitScale2)\n\tdev3 := maxAbs(r.a.X-2*b.X+d.X, r.a.Y-2*b.Y+d.Y) / fixed.Int26_6(r.splitScale3)\n\tnsplit := 0\n\tfor dev2 > 0 || dev3 > 0 {\n\t\tdev2 /= 8\n\t\tdev3 /= 4\n\t\tnsplit++\n\t}\n\t// devN is 32-bit, and nsplit++ every time we shift off 2 bits, so\n\t// maxNsplit is 16.\n\tconst maxNsplit = 16\n\tif nsplit > maxNsplit {\n\t\tpanic(\"freetype/raster: Add3 nsplit too large: \" + strconv.Itoa(nsplit))\n\t}\n\t// Recursively decompose the curve nSplit levels deep.\n\tvar (\n\t\tpStack [3*maxNsplit + 4]fixed.Point26_6\n\t\tsStack [maxNsplit + 1]int\n\t\ti      int\n\t)\n\tsStack[0] = nsplit\n\tpStack[0] = d\n\tpStack[1] = c\n\tpStack[2] = b\n\tpStack[3] = r.a\n\tfor i >= 0 {\n\t\ts := sStack[i]\n\t\tp := pStack[3*i:]\n\t\tif s > 0 {\n\t\t\t// Split the cubic curve p[:4] into an equivalent set of two\n\t\t\t// shorter curves: p[:4] and p[3:7]. The new p[6] is the old p[3],\n\t\t\t// and p[0] is unchanged.\n\t\t\tm01x := (p[0].X + p[1].X) / 2\n\t\t\tm12x := (p[1].X + p[2].X) / 2\n\t\t\tm23x := (p[2].X + p[3].X) / 2\n\t\t\tp[6].X = p[3].X\n\t\t\tp[5].X = m23x\n\t\t\tp[1].X = m01x\n\t\t\tp[2].X = (m01x + m12x) / 2\n\t\t\tp[4].X = (m12x + m23x) / 2\n\t\t\tp[3].X = (p[2].X + p[4].X) / 2\n\t\t\tm01y := (p[0].Y + p[1].Y) / 2\n\t\t\tm12y := (p[1].Y + p[2].Y) / 2\n\t\t\tm23y := (p[2].Y + p[3].Y) / 2\n\t\t\tp[6].Y = p[3].Y\n\t\t\tp[5].Y = m23y\n\t\t\tp[1].Y = m01y\n\t\t\tp[2].Y = (m01y + m12y) / 2\n\t\t\tp[4].Y = (m12y + m23y) / 2\n\t\t\tp[3].Y = (p[2].Y + p[4].Y) / 2\n\t\t\t// The two shorter curves have one less split to do.\n\t\t\tsStack[i] = s - 1\n\t\t\tsStack[i+1] = s - 1\n\t\t\ti++\n\t\t} else {\n\t\t\t// Replace the level-0 cubic with a two-linear-piece approximation.\n\t\t\tmidx := (p[0].X + 3*(p[1].X+p[2].X) + p[3].X) / 8\n\t\t\tmidy := (p[0].Y + 3*(p[1].Y+p[2].Y) + p[3].Y) / 8\n\t\t\tr.Add1(fixed.Point26_6{midx, midy})\n\t\t\tr.Add1(p[0])\n\t\t\ti--\n\t\t}\n\t}\n}\n\n// AddPath adds the given Path.\nfunc (r *Rasterizer) AddPath(p Path) {\n\tfor i := 0; i < len(p); {\n\t\tswitch p[i] {\n\t\tcase 0:\n\t\t\tr.Start(\n\t\t\t\tfixed.Point26_6{p[i+1], p[i+2]},\n\t\t\t)\n\t\t\ti += 4\n\t\tcase 1:\n\t\t\tr.Add1(\n\t\t\t\tfixed.Point26_6{p[i+1], p[i+2]},\n\t\t\t)\n\t\t\ti += 4\n\t\tcase 2:\n\t\t\tr.Add2(\n\t\t\t\tfixed.Point26_6{p[i+1], p[i+2]},\n\t\t\t\tfixed.Point26_6{p[i+3], p[i+4]},\n\t\t\t)\n\t\t\ti += 6\n\t\tcase 3:\n\t\t\tr.Add3(\n\t\t\t\tfixed.Point26_6{p[i+1], p[i+2]},\n\t\t\t\tfixed.Point26_6{p[i+3], p[i+4]},\n\t\t\t\tfixed.Point26_6{p[i+5], p[i+6]},\n\t\t\t)\n\t\t\ti += 8\n\t\tdefault:\n\t\t\tpanic(\"freetype/raster: bad path\")\n\t\t}\n\t}\n}\n\n// AddStroke adds a stroked Path.\nfunc (r *Rasterizer) AddStroke(q Path, width fixed.Int26_6, cr Capper, jr Joiner) {\n\tStroke(r, q, width, cr, jr)\n}\n\n// areaToAlpha converts an area value to a uint32 alpha value. A completely\n// filled pixel corresponds to an area of 64*64*2, and an alpha of 0xffff. The\n// conversion of area values greater than this depends on the winding rule:\n// even-odd or non-zero.\nfunc (r *Rasterizer) areaToAlpha(area int) uint32 {\n\t// The C Freetype implementation (version 2.3.12) does \"alpha := area>>1\"\n\t// without the +1. Round-to-nearest gives a more symmetric result than\n\t// round-down. The C implementation also returns 8-bit alpha, not 16-bit\n\t// alpha.\n\ta := (area + 1) >> 1\n\tif a < 0 {\n\t\ta = -a\n\t}\n\talpha := uint32(a)\n\tif r.UseNonZeroWinding {\n\t\tif alpha > 0x0fff {\n\t\t\talpha = 0x0fff\n\t\t}\n\t} else {\n\t\talpha &= 0x1fff\n\t\tif alpha > 0x1000 {\n\t\t\talpha = 0x2000 - alpha\n\t\t} else if alpha == 0x1000 {\n\t\t\talpha = 0x0fff\n\t\t}\n\t}\n\t// alpha is now in the range [0x0000, 0x0fff]. Convert that 12-bit alpha to\n\t// 16-bit alpha.\n\treturn alpha<<4 | alpha>>8\n}\n\n// Rasterize converts r's accumulated curves into Spans for p. The Spans passed\n// to p are non-overlapping, and sorted by Y and then X. They all have non-zero\n// width (and 0 <= X0 < X1 <= r.width) and non-zero A, except for the final\n// Span, which has Y, X0, X1 and A all equal to zero.\nfunc (r *Rasterizer) Rasterize(p Painter) {\n\tr.saveCell()\n\ts := 0\n\tfor yi := 0; yi < len(r.cellIndex); yi++ {\n\t\txi, cover := 0, 0\n\t\tfor c := r.cellIndex[yi]; c != -1; c = r.cell[c].next {\n\t\t\tif cover != 0 && r.cell[c].xi > xi {\n\t\t\t\talpha := r.areaToAlpha(cover * 64 * 2)\n\t\t\t\tif alpha != 0 {\n\t\t\t\t\txi0, xi1 := xi, r.cell[c].xi\n\t\t\t\t\tif xi0 < 0 {\n\t\t\t\t\t\txi0 = 0\n\t\t\t\t\t}\n\t\t\t\t\tif xi1 >= r.width {\n\t\t\t\t\t\txi1 = r.width\n\t\t\t\t\t}\n\t\t\t\t\tif xi0 < xi1 {\n\t\t\t\t\t\tr.spanBuf[s] = Span{yi + r.Dy, xi0 + r.Dx, xi1 + r.Dx, alpha}\n\t\t\t\t\t\ts++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tcover += r.cell[c].cover\n\t\t\talpha := r.areaToAlpha(cover*64*2 - r.cell[c].area)\n\t\t\txi = r.cell[c].xi + 1\n\t\t\tif alpha != 0 {\n\t\t\t\txi0, xi1 := r.cell[c].xi, xi\n\t\t\t\tif xi0 < 0 {\n\t\t\t\t\txi0 = 0\n\t\t\t\t}\n\t\t\t\tif xi1 >= r.width {\n\t\t\t\t\txi1 = r.width\n\t\t\t\t}\n\t\t\t\tif xi0 < xi1 {\n\t\t\t\t\tr.spanBuf[s] = Span{yi + r.Dy, xi0 + r.Dx, xi1 + r.Dx, alpha}\n\t\t\t\t\ts++\n\t\t\t\t}\n\t\t\t}\n\t\t\tif s > len(r.spanBuf)-2 {\n\t\t\t\tp.Paint(r.spanBuf[:s], false)\n\t\t\t\ts = 0\n\t\t\t}\n\t\t}\n\t}\n\tp.Paint(r.spanBuf[:s], true)\n}\n\n// Clear cancels any previous calls to r.Start or r.AddXxx.\nfunc (r *Rasterizer) Clear() {\n\tr.a = fixed.Point26_6{}\n\tr.xi = 0\n\tr.yi = 0\n\tr.area = 0\n\tr.cover = 0\n\tr.cell = r.cell[:0]\n\tfor i := 0; i < len(r.cellIndex); i++ {\n\t\tr.cellIndex[i] = -1\n\t}\n}\n\n// SetBounds sets the maximum width and height of the rasterized image and\n// calls Clear. The width and height are in pixels, not fixed.Int26_6 units.\nfunc (r *Rasterizer) SetBounds(width, height int) {\n\tif width < 0 {\n\t\twidth = 0\n\t}\n\tif height < 0 {\n\t\theight = 0\n\t}\n\t// Use the same ssN heuristic as the C Freetype (version 2.4.0)\n\t// implementation.\n\tss2, ss3 := 32, 16\n\tif width > 24 || height > 24 {\n\t\tss2, ss3 = 2*ss2, 2*ss3\n\t\tif width > 120 || height > 120 {\n\t\t\tss2, ss3 = 2*ss2, 2*ss3\n\t\t}\n\t}\n\tr.width = width\n\tr.splitScale2 = ss2\n\tr.splitScale3 = ss3\n\tr.cell = r.cellBuf[:0]\n\tif height > len(r.cellIndexBuf) {\n\t\tr.cellIndex = make([]int, height)\n\t} else {\n\t\tr.cellIndex = r.cellIndexBuf[:height]\n\t}\n\tr.Clear()\n}\n\n// NewRasterizer creates a new Rasterizer with the given bounds.\nfunc NewRasterizer(width, height int) *Rasterizer {\n\tr := new(Rasterizer)\n\tr.SetBounds(width, height)\n\treturn r\n}\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/raster/stroke.go",
    "content": "// Copyright 2010 The Freetype-Go Authors. All rights reserved.\n// Use of this source code is governed by your choice of either the\n// FreeType License or the GNU General Public License version 2 (or\n// any later version), both of which can be found in the LICENSE file.\n\npackage raster\n\nimport (\n\t\"golang.org/x/image/math/fixed\"\n)\n\n// Two points are considered practically equal if the square of the distance\n// between them is less than one quarter (i.e. 1024 / 4096).\nconst epsilon = fixed.Int52_12(1024)\n\n// A Capper signifies how to begin or end a stroked path.\ntype Capper interface {\n\t// Cap adds a cap to p given a pivot point and the normal vector of a\n\t// terminal segment. The normal's length is half of the stroke width.\n\tCap(p Adder, halfWidth fixed.Int26_6, pivot, n1 fixed.Point26_6)\n}\n\n// The CapperFunc type adapts an ordinary function to be a Capper.\ntype CapperFunc func(Adder, fixed.Int26_6, fixed.Point26_6, fixed.Point26_6)\n\nfunc (f CapperFunc) Cap(p Adder, halfWidth fixed.Int26_6, pivot, n1 fixed.Point26_6) {\n\tf(p, halfWidth, pivot, n1)\n}\n\n// A Joiner signifies how to join interior nodes of a stroked path.\ntype Joiner interface {\n\t// Join adds a join to the two sides of a stroked path given a pivot\n\t// point and the normal vectors of the trailing and leading segments.\n\t// Both normals have length equal to half of the stroke width.\n\tJoin(lhs, rhs Adder, halfWidth fixed.Int26_6, pivot, n0, n1 fixed.Point26_6)\n}\n\n// The JoinerFunc type adapts an ordinary function to be a Joiner.\ntype JoinerFunc func(lhs, rhs Adder, halfWidth fixed.Int26_6, pivot, n0, n1 fixed.Point26_6)\n\nfunc (f JoinerFunc) Join(lhs, rhs Adder, halfWidth fixed.Int26_6, pivot, n0, n1 fixed.Point26_6) {\n\tf(lhs, rhs, halfWidth, pivot, n0, n1)\n}\n\n// RoundCapper adds round caps to a stroked path.\nvar RoundCapper Capper = CapperFunc(roundCapper)\n\nfunc roundCapper(p Adder, halfWidth fixed.Int26_6, pivot, n1 fixed.Point26_6) {\n\t// The cubic Bézier approximation to a circle involves the magic number\n\t// (√2 - 1) * 4/3, which is approximately 35/64.\n\tconst k = 35\n\te := pRot90CCW(n1)\n\tside := pivot.Add(e)\n\tstart, end := pivot.Sub(n1), pivot.Add(n1)\n\td, e := n1.Mul(k), e.Mul(k)\n\tp.Add3(start.Add(e), side.Sub(d), side)\n\tp.Add3(side.Add(d), end.Add(e), end)\n}\n\n// ButtCapper adds butt caps to a stroked path.\nvar ButtCapper Capper = CapperFunc(buttCapper)\n\nfunc buttCapper(p Adder, halfWidth fixed.Int26_6, pivot, n1 fixed.Point26_6) {\n\tp.Add1(pivot.Add(n1))\n}\n\n// SquareCapper adds square caps to a stroked path.\nvar SquareCapper Capper = CapperFunc(squareCapper)\n\nfunc squareCapper(p Adder, halfWidth fixed.Int26_6, pivot, n1 fixed.Point26_6) {\n\te := pRot90CCW(n1)\n\tside := pivot.Add(e)\n\tp.Add1(side.Sub(n1))\n\tp.Add1(side.Add(n1))\n\tp.Add1(pivot.Add(n1))\n}\n\n// RoundJoiner adds round joins to a stroked path.\nvar RoundJoiner Joiner = JoinerFunc(roundJoiner)\n\nfunc roundJoiner(lhs, rhs Adder, haflWidth fixed.Int26_6, pivot, n0, n1 fixed.Point26_6) {\n\tdot := pDot(pRot90CW(n0), n1)\n\tif dot >= 0 {\n\t\taddArc(lhs, pivot, n0, n1)\n\t\trhs.Add1(pivot.Sub(n1))\n\t} else {\n\t\tlhs.Add1(pivot.Add(n1))\n\t\taddArc(rhs, pivot, pNeg(n0), pNeg(n1))\n\t}\n}\n\n// BevelJoiner adds bevel joins to a stroked path.\nvar BevelJoiner Joiner = JoinerFunc(bevelJoiner)\n\nfunc bevelJoiner(lhs, rhs Adder, haflWidth fixed.Int26_6, pivot, n0, n1 fixed.Point26_6) {\n\tlhs.Add1(pivot.Add(n1))\n\trhs.Add1(pivot.Sub(n1))\n}\n\n// addArc adds a circular arc from pivot+n0 to pivot+n1 to p. The shorter of\n// the two possible arcs is taken, i.e. the one spanning <= 180 degrees. The\n// two vectors n0 and n1 must be of equal length.\nfunc addArc(p Adder, pivot, n0, n1 fixed.Point26_6) {\n\t// r2 is the square of the length of n0.\n\tr2 := pDot(n0, n0)\n\tif r2 < epsilon {\n\t\t// The arc radius is so small that we collapse to a straight line.\n\t\tp.Add1(pivot.Add(n1))\n\t\treturn\n\t}\n\t// We approximate the arc by 0, 1, 2 or 3 45-degree quadratic segments plus\n\t// a final quadratic segment from s to n1. Each 45-degree segment has\n\t// control points {1, 0}, {1, tan(π/8)} and {1/√2, 1/√2} suitably scaled,\n\t// rotated and translated. tan(π/8) is approximately 27/64.\n\tconst tpo8 = 27\n\tvar s fixed.Point26_6\n\t// We determine which octant the angle between n0 and n1 is in via three\n\t// dot products. m0, m1 and m2 are n0 rotated clockwise by 45, 90 and 135\n\t// degrees.\n\tm0 := pRot45CW(n0)\n\tm1 := pRot90CW(n0)\n\tm2 := pRot90CW(m0)\n\tif pDot(m1, n1) >= 0 {\n\t\tif pDot(n0, n1) >= 0 {\n\t\t\tif pDot(m2, n1) <= 0 {\n\t\t\t\t// n1 is between 0 and 45 degrees clockwise of n0.\n\t\t\t\ts = n0\n\t\t\t} else {\n\t\t\t\t// n1 is between 45 and 90 degrees clockwise of n0.\n\t\t\t\tp.Add2(pivot.Add(n0).Add(m1.Mul(tpo8)), pivot.Add(m0))\n\t\t\t\ts = m0\n\t\t\t}\n\t\t} else {\n\t\t\tpm1, n0t := pivot.Add(m1), n0.Mul(tpo8)\n\t\t\tp.Add2(pivot.Add(n0).Add(m1.Mul(tpo8)), pivot.Add(m0))\n\t\t\tp.Add2(pm1.Add(n0t), pm1)\n\t\t\tif pDot(m0, n1) >= 0 {\n\t\t\t\t// n1 is between 90 and 135 degrees clockwise of n0.\n\t\t\t\ts = m1\n\t\t\t} else {\n\t\t\t\t// n1 is between 135 and 180 degrees clockwise of n0.\n\t\t\t\tp.Add2(pm1.Sub(n0t), pivot.Add(m2))\n\t\t\t\ts = m2\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif pDot(n0, n1) >= 0 {\n\t\t\tif pDot(m0, n1) >= 0 {\n\t\t\t\t// n1 is between 0 and 45 degrees counter-clockwise of n0.\n\t\t\t\ts = n0\n\t\t\t} else {\n\t\t\t\t// n1 is between 45 and 90 degrees counter-clockwise of n0.\n\t\t\t\tp.Add2(pivot.Add(n0).Sub(m1.Mul(tpo8)), pivot.Sub(m2))\n\t\t\t\ts = pNeg(m2)\n\t\t\t}\n\t\t} else {\n\t\t\tpm1, n0t := pivot.Sub(m1), n0.Mul(tpo8)\n\t\t\tp.Add2(pivot.Add(n0).Sub(m1.Mul(tpo8)), pivot.Sub(m2))\n\t\t\tp.Add2(pm1.Add(n0t), pm1)\n\t\t\tif pDot(m2, n1) <= 0 {\n\t\t\t\t// n1 is between 90 and 135 degrees counter-clockwise of n0.\n\t\t\t\ts = pNeg(m1)\n\t\t\t} else {\n\t\t\t\t// n1 is between 135 and 180 degrees counter-clockwise of n0.\n\t\t\t\tp.Add2(pm1.Sub(n0t), pivot.Sub(m0))\n\t\t\t\ts = pNeg(m0)\n\t\t\t}\n\t\t}\n\t}\n\t// The final quadratic segment has two endpoints s and n1 and the middle\n\t// control point is a multiple of s.Add(n1), i.e. it is on the angle\n\t// bisector of those two points. The multiple ranges between 128/256 and\n\t// 150/256 as the angle between s and n1 ranges between 0 and 45 degrees.\n\t//\n\t// When the angle is 0 degrees (i.e. s and n1 are coincident) then\n\t// s.Add(n1) is twice s and so the middle control point of the degenerate\n\t// quadratic segment should be half s.Add(n1), and half = 128/256.\n\t//\n\t// When the angle is 45 degrees then 150/256 is the ratio of the lengths of\n\t// the two vectors {1, tan(π/8)} and {1 + 1/√2, 1/√2}.\n\t//\n\t// d is the normalized dot product between s and n1. Since the angle ranges\n\t// between 0 and 45 degrees then d ranges between 256/256 and 181/256.\n\td := 256 * pDot(s, n1) / r2\n\tmultiple := fixed.Int26_6(150-(150-128)*(d-181)/(256-181)) >> 2\n\tp.Add2(pivot.Add(s.Add(n1).Mul(multiple)), pivot.Add(n1))\n}\n\n// midpoint returns the midpoint of two Points.\nfunc midpoint(a, b fixed.Point26_6) fixed.Point26_6 {\n\treturn fixed.Point26_6{(a.X + b.X) / 2, (a.Y + b.Y) / 2}\n}\n\n// angleGreaterThan45 returns whether the angle between two vectors is more\n// than 45 degrees.\nfunc angleGreaterThan45(v0, v1 fixed.Point26_6) bool {\n\tv := pRot45CCW(v0)\n\treturn pDot(v, v1) < 0 || pDot(pRot90CW(v), v1) < 0\n}\n\n// interpolate returns the point (1-t)*a + t*b.\nfunc interpolate(a, b fixed.Point26_6, t fixed.Int52_12) fixed.Point26_6 {\n\ts := 1<<12 - t\n\tx := s*fixed.Int52_12(a.X) + t*fixed.Int52_12(b.X)\n\ty := s*fixed.Int52_12(a.Y) + t*fixed.Int52_12(b.Y)\n\treturn fixed.Point26_6{fixed.Int26_6(x >> 12), fixed.Int26_6(y >> 12)}\n}\n\n// curviest2 returns the value of t for which the quadratic parametric curve\n// (1-t)²*a + 2*t*(1-t).b + t²*c has maximum curvature.\n//\n// The curvature of the parametric curve f(t) = (x(t), y(t)) is\n// |x′y″-y′x″| / (x′²+y′²)^(3/2).\n//\n// Let d = b-a and e = c-2*b+a, so that f′(t) = 2*d+2*e*t and f″(t) = 2*e.\n// The curvature's numerator is (2*dx+2*ex*t)*(2*ey)-(2*dy+2*ey*t)*(2*ex),\n// which simplifies to 4*dx*ey-4*dy*ex, which is constant with respect to t.\n//\n// Thus, curvature is extreme where the denominator is extreme, i.e. where\n// (x′²+y′²) is extreme. The first order condition is that\n// 2*x′*x″+2*y′*y″ = 0, or (dx+ex*t)*ex + (dy+ey*t)*ey = 0.\n// Solving for t gives t = -(dx*ex+dy*ey) / (ex*ex+ey*ey).\nfunc curviest2(a, b, c fixed.Point26_6) fixed.Int52_12 {\n\tdx := int64(b.X - a.X)\n\tdy := int64(b.Y - a.Y)\n\tex := int64(c.X - 2*b.X + a.X)\n\tey := int64(c.Y - 2*b.Y + a.Y)\n\tif ex == 0 && ey == 0 {\n\t\treturn 2048\n\t}\n\treturn fixed.Int52_12(-4096 * (dx*ex + dy*ey) / (ex*ex + ey*ey))\n}\n\n// A stroker holds state for stroking a path.\ntype stroker struct {\n\t// p is the destination that records the stroked path.\n\tp Adder\n\t// u is the half-width of the stroke.\n\tu fixed.Int26_6\n\t// cr and jr specify how to end and connect path segments.\n\tcr Capper\n\tjr Joiner\n\t// r is the reverse path. Stroking a path involves constructing two\n\t// parallel paths 2*u apart. The first path is added immediately to p,\n\t// the second path is accumulated in r and eventually added in reverse.\n\tr Path\n\t// a is the most recent segment point. anorm is the segment normal of\n\t// length u at that point.\n\ta, anorm fixed.Point26_6\n}\n\n// addNonCurvy2 adds a quadratic segment to the stroker, where the segment\n// defined by (k.a, b, c) achieves maximum curvature at either k.a or c.\nfunc (k *stroker) addNonCurvy2(b, c fixed.Point26_6) {\n\t// We repeatedly divide the segment at its middle until it is straight\n\t// enough to approximate the stroke by just translating the control points.\n\t// ds and ps are stacks of depths and points. t is the top of the stack.\n\tconst maxDepth = 5\n\tvar (\n\t\tds [maxDepth + 1]int\n\t\tps [2*maxDepth + 3]fixed.Point26_6\n\t\tt  int\n\t)\n\t// Initially the ps stack has one quadratic segment of depth zero.\n\tds[0] = 0\n\tps[2] = k.a\n\tps[1] = b\n\tps[0] = c\n\tanorm := k.anorm\n\tvar cnorm fixed.Point26_6\n\n\tfor {\n\t\tdepth := ds[t]\n\t\ta := ps[2*t+2]\n\t\tb := ps[2*t+1]\n\t\tc := ps[2*t+0]\n\t\tab := b.Sub(a)\n\t\tbc := c.Sub(b)\n\t\tabIsSmall := pDot(ab, ab) < fixed.Int52_12(1<<12)\n\t\tbcIsSmall := pDot(bc, bc) < fixed.Int52_12(1<<12)\n\t\tif abIsSmall && bcIsSmall {\n\t\t\t// Approximate the segment by a circular arc.\n\t\t\tcnorm = pRot90CCW(pNorm(bc, k.u))\n\t\t\tmac := midpoint(a, c)\n\t\t\taddArc(k.p, mac, anorm, cnorm)\n\t\t\taddArc(&k.r, mac, pNeg(anorm), pNeg(cnorm))\n\t\t} else if depth < maxDepth && angleGreaterThan45(ab, bc) {\n\t\t\t// Divide the segment in two and push both halves on the stack.\n\t\t\tmab := midpoint(a, b)\n\t\t\tmbc := midpoint(b, c)\n\t\t\tt++\n\t\t\tds[t+0] = depth + 1\n\t\t\tds[t-1] = depth + 1\n\t\t\tps[2*t+2] = a\n\t\t\tps[2*t+1] = mab\n\t\t\tps[2*t+0] = midpoint(mab, mbc)\n\t\t\tps[2*t-1] = mbc\n\t\t\tcontinue\n\t\t} else {\n\t\t\t// Translate the control points.\n\t\t\tbnorm := pRot90CCW(pNorm(c.Sub(a), k.u))\n\t\t\tcnorm = pRot90CCW(pNorm(bc, k.u))\n\t\t\tk.p.Add2(b.Add(bnorm), c.Add(cnorm))\n\t\t\tk.r.Add2(b.Sub(bnorm), c.Sub(cnorm))\n\t\t}\n\t\tif t == 0 {\n\t\t\tk.a, k.anorm = c, cnorm\n\t\t\treturn\n\t\t}\n\t\tt--\n\t\tanorm = cnorm\n\t}\n\tpanic(\"unreachable\")\n}\n\n// Add1 adds a linear segment to the stroker.\nfunc (k *stroker) Add1(b fixed.Point26_6) {\n\tbnorm := pRot90CCW(pNorm(b.Sub(k.a), k.u))\n\tif len(k.r) == 0 {\n\t\tk.p.Start(k.a.Add(bnorm))\n\t\tk.r.Start(k.a.Sub(bnorm))\n\t} else {\n\t\tk.jr.Join(k.p, &k.r, k.u, k.a, k.anorm, bnorm)\n\t}\n\tk.p.Add1(b.Add(bnorm))\n\tk.r.Add1(b.Sub(bnorm))\n\tk.a, k.anorm = b, bnorm\n}\n\n// Add2 adds a quadratic segment to the stroker.\nfunc (k *stroker) Add2(b, c fixed.Point26_6) {\n\tab := b.Sub(k.a)\n\tbc := c.Sub(b)\n\tabnorm := pRot90CCW(pNorm(ab, k.u))\n\tif len(k.r) == 0 {\n\t\tk.p.Start(k.a.Add(abnorm))\n\t\tk.r.Start(k.a.Sub(abnorm))\n\t} else {\n\t\tk.jr.Join(k.p, &k.r, k.u, k.a, k.anorm, abnorm)\n\t}\n\n\t// Approximate nearly-degenerate quadratics by linear segments.\n\tabIsSmall := pDot(ab, ab) < epsilon\n\tbcIsSmall := pDot(bc, bc) < epsilon\n\tif abIsSmall || bcIsSmall {\n\t\tacnorm := pRot90CCW(pNorm(c.Sub(k.a), k.u))\n\t\tk.p.Add1(c.Add(acnorm))\n\t\tk.r.Add1(c.Sub(acnorm))\n\t\tk.a, k.anorm = c, acnorm\n\t\treturn\n\t}\n\n\t// The quadratic segment (k.a, b, c) has a point of maximum curvature.\n\t// If this occurs at an end point, we process the segment as a whole.\n\tt := curviest2(k.a, b, c)\n\tif t <= 0 || 4096 <= t {\n\t\tk.addNonCurvy2(b, c)\n\t\treturn\n\t}\n\n\t// Otherwise, we perform a de Casteljau decomposition at the point of\n\t// maximum curvature and process the two straighter parts.\n\tmab := interpolate(k.a, b, t)\n\tmbc := interpolate(b, c, t)\n\tmabc := interpolate(mab, mbc, t)\n\n\t// If the vectors ab and bc are close to being in opposite directions,\n\t// then the decomposition can become unstable, so we approximate the\n\t// quadratic segment by two linear segments joined by an arc.\n\tbcnorm := pRot90CCW(pNorm(bc, k.u))\n\tif pDot(abnorm, bcnorm) < -fixed.Int52_12(k.u)*fixed.Int52_12(k.u)*2047/2048 {\n\t\tpArc := pDot(abnorm, bc) < 0\n\n\t\tk.p.Add1(mabc.Add(abnorm))\n\t\tif pArc {\n\t\t\tz := pRot90CW(abnorm)\n\t\t\taddArc(k.p, mabc, abnorm, z)\n\t\t\taddArc(k.p, mabc, z, bcnorm)\n\t\t}\n\t\tk.p.Add1(mabc.Add(bcnorm))\n\t\tk.p.Add1(c.Add(bcnorm))\n\n\t\tk.r.Add1(mabc.Sub(abnorm))\n\t\tif !pArc {\n\t\t\tz := pRot90CW(abnorm)\n\t\t\taddArc(&k.r, mabc, pNeg(abnorm), z)\n\t\t\taddArc(&k.r, mabc, z, pNeg(bcnorm))\n\t\t}\n\t\tk.r.Add1(mabc.Sub(bcnorm))\n\t\tk.r.Add1(c.Sub(bcnorm))\n\n\t\tk.a, k.anorm = c, bcnorm\n\t\treturn\n\t}\n\n\t// Process the decomposed parts.\n\tk.addNonCurvy2(mab, mabc)\n\tk.addNonCurvy2(mbc, c)\n}\n\n// Add3 adds a cubic segment to the stroker.\nfunc (k *stroker) Add3(b, c, d fixed.Point26_6) {\n\tpanic(\"freetype/raster: stroke unimplemented for cubic segments\")\n}\n\n// stroke adds the stroked Path q to p, where q consists of exactly one curve.\nfunc (k *stroker) stroke(q Path) {\n\t// Stroking is implemented by deriving two paths each k.u apart from q.\n\t// The left-hand-side path is added immediately to k.p; the right-hand-side\n\t// path is accumulated in k.r. Once we've finished adding the LHS to k.p,\n\t// we add the RHS in reverse order.\n\tk.r = make(Path, 0, len(q))\n\tk.a = fixed.Point26_6{q[1], q[2]}\n\tfor i := 4; i < len(q); {\n\t\tswitch q[i] {\n\t\tcase 1:\n\t\t\tk.Add1(\n\t\t\t\tfixed.Point26_6{q[i+1], q[i+2]},\n\t\t\t)\n\t\t\ti += 4\n\t\tcase 2:\n\t\t\tk.Add2(\n\t\t\t\tfixed.Point26_6{q[i+1], q[i+2]},\n\t\t\t\tfixed.Point26_6{q[i+3], q[i+4]},\n\t\t\t)\n\t\t\ti += 6\n\t\tcase 3:\n\t\t\tk.Add3(\n\t\t\t\tfixed.Point26_6{q[i+1], q[i+2]},\n\t\t\t\tfixed.Point26_6{q[i+3], q[i+4]},\n\t\t\t\tfixed.Point26_6{q[i+5], q[i+6]},\n\t\t\t)\n\t\t\ti += 8\n\t\tdefault:\n\t\t\tpanic(\"freetype/raster: bad path\")\n\t\t}\n\t}\n\tif len(k.r) == 0 {\n\t\treturn\n\t}\n\t// TODO(nigeltao): if q is a closed curve then we should join the first and\n\t// last segments instead of capping them.\n\tk.cr.Cap(k.p, k.u, q.lastPoint(), pNeg(k.anorm))\n\taddPathReversed(k.p, k.r)\n\tpivot := q.firstPoint()\n\tk.cr.Cap(k.p, k.u, pivot, pivot.Sub(fixed.Point26_6{k.r[1], k.r[2]}))\n}\n\n// Stroke adds q stroked with the given width to p. The result is typically\n// self-intersecting and should be rasterized with UseNonZeroWinding.\n// cr and jr may be nil, which defaults to a RoundCapper or RoundJoiner.\nfunc Stroke(p Adder, q Path, width fixed.Int26_6, cr Capper, jr Joiner) {\n\tif len(q) == 0 {\n\t\treturn\n\t}\n\tif cr == nil {\n\t\tcr = RoundCapper\n\t}\n\tif jr == nil {\n\t\tjr = RoundJoiner\n\t}\n\tif q[0] != 0 {\n\t\tpanic(\"freetype/raster: bad path\")\n\t}\n\ts := stroker{p: p, u: width / 2, cr: cr, jr: jr}\n\ti := 0\n\tfor j := 4; j < len(q); {\n\t\tswitch q[j] {\n\t\tcase 0:\n\t\t\ts.stroke(q[i:j])\n\t\t\ti, j = j, j+4\n\t\tcase 1:\n\t\t\tj += 4\n\t\tcase 2:\n\t\t\tj += 6\n\t\tcase 3:\n\t\t\tj += 8\n\t\tdefault:\n\t\t\tpanic(\"freetype/raster: bad path\")\n\t\t}\n\t}\n\ts.stroke(q[i:])\n}\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/truetype/face.go",
    "content": "// Copyright 2015 The Freetype-Go Authors. All rights reserved.\n// Use of this source code is governed by your choice of either the\n// FreeType License or the GNU General Public License version 2 (or\n// any later version), both of which can be found in the LICENSE file.\n\npackage truetype\n\nimport (\n\t\"image\"\n\t\"math\"\n\n\t\"github.com/golang/freetype/raster\"\n\t\"golang.org/x/image/font\"\n\t\"golang.org/x/image/math/fixed\"\n)\n\nfunc powerOf2(i int) bool {\n\treturn i != 0 && (i&(i-1)) == 0\n}\n\n// Options are optional arguments to NewFace.\ntype Options struct {\n\t// Size is the font size in points, as in \"a 10 point font size\".\n\t//\n\t// A zero value means to use a 12 point font size.\n\tSize float64\n\n\t// DPI is the dots-per-inch resolution.\n\t//\n\t// A zero value means to use 72 DPI.\n\tDPI float64\n\n\t// Hinting is how to quantize the glyph nodes.\n\t//\n\t// A zero value means to use no hinting.\n\tHinting font.Hinting\n\n\t// GlyphCacheEntries is the number of entries in the glyph mask image\n\t// cache.\n\t//\n\t// If non-zero, it must be a power of 2.\n\t//\n\t// A zero value means to use 512 entries.\n\tGlyphCacheEntries int\n\n\t// SubPixelsX is the number of sub-pixel locations a glyph's dot is\n\t// quantized to, in the horizontal direction. For example, a value of 8\n\t// means that the dot is quantized to 1/8th of a pixel. This quantization\n\t// only affects the glyph mask image, not its bounding box or advance\n\t// width. A higher value gives a more faithful glyph image, but reduces the\n\t// effectiveness of the glyph cache.\n\t//\n\t// If non-zero, it must be a power of 2, and be between 1 and 64 inclusive.\n\t//\n\t// A zero value means to use 4 sub-pixel locations.\n\tSubPixelsX int\n\n\t// SubPixelsY is the number of sub-pixel locations a glyph's dot is\n\t// quantized to, in the vertical direction. For example, a value of 8\n\t// means that the dot is quantized to 1/8th of a pixel. This quantization\n\t// only affects the glyph mask image, not its bounding box or advance\n\t// width. A higher value gives a more faithful glyph image, but reduces the\n\t// effectiveness of the glyph cache.\n\t//\n\t// If non-zero, it must be a power of 2, and be between 1 and 64 inclusive.\n\t//\n\t// A zero value means to use 1 sub-pixel location.\n\tSubPixelsY int\n}\n\nfunc (o *Options) size() float64 {\n\tif o != nil && o.Size > 0 {\n\t\treturn o.Size\n\t}\n\treturn 12\n}\n\nfunc (o *Options) dpi() float64 {\n\tif o != nil && o.DPI > 0 {\n\t\treturn o.DPI\n\t}\n\treturn 72\n}\n\nfunc (o *Options) hinting() font.Hinting {\n\tif o != nil {\n\t\tswitch o.Hinting {\n\t\tcase font.HintingVertical, font.HintingFull:\n\t\t\t// TODO: support vertical hinting.\n\t\t\treturn font.HintingFull\n\t\t}\n\t}\n\treturn font.HintingNone\n}\n\nfunc (o *Options) glyphCacheEntries() int {\n\tif o != nil && powerOf2(o.GlyphCacheEntries) {\n\t\treturn o.GlyphCacheEntries\n\t}\n\t// 512 is 128 * 4 * 1, which lets us cache 128 glyphs at 4 * 1 subpixel\n\t// locations in the X and Y direction.\n\treturn 512\n}\n\nfunc (o *Options) subPixelsX() (value uint32, halfQuantum, mask fixed.Int26_6) {\n\tif o != nil {\n\t\tswitch o.SubPixelsX {\n\t\tcase 1, 2, 4, 8, 16, 32, 64:\n\t\t\treturn subPixels(o.SubPixelsX)\n\t\t}\n\t}\n\t// This default value of 4 isn't based on anything scientific, merely as\n\t// small a number as possible that looks almost as good as no quantization,\n\t// or returning subPixels(64).\n\treturn subPixels(4)\n}\n\nfunc (o *Options) subPixelsY() (value uint32, halfQuantum, mask fixed.Int26_6) {\n\tif o != nil {\n\t\tswitch o.SubPixelsX {\n\t\tcase 1, 2, 4, 8, 16, 32, 64:\n\t\t\treturn subPixels(o.SubPixelsX)\n\t\t}\n\t}\n\t// This default value of 1 isn't based on anything scientific, merely that\n\t// vertical sub-pixel glyph rendering is pretty rare. Baseline locations\n\t// can usually afford to snap to the pixel grid, so the vertical direction\n\t// doesn't have the deal with the horizontal's fractional advance widths.\n\treturn subPixels(1)\n}\n\n// subPixels returns q and the bias and mask that leads to q quantized\n// sub-pixel locations per full pixel.\n//\n// For example, q == 4 leads to a bias of 8 and a mask of 0xfffffff0, or -16,\n// because we want to round fractions of fixed.Int26_6 as:\n//\t-  0 to  7 rounds to 0.\n//\t-  8 to 23 rounds to 16.\n//\t- 24 to 39 rounds to 32.\n//\t- 40 to 55 rounds to 48.\n//\t- 56 to 63 rounds to 64.\n// which means to add 8 and then bitwise-and with -16, in two's complement\n// representation.\n//\n// When q ==  1, we want bias == 32 and mask == -64.\n// When q ==  2, we want bias == 16 and mask == -32.\n// When q ==  4, we want bias ==  8 and mask == -16.\n// ...\n// When q == 64, we want bias ==  0 and mask ==  -1. (The no-op case).\n// The pattern is clear.\nfunc subPixels(q int) (value uint32, bias, mask fixed.Int26_6) {\n\treturn uint32(q), 32 / fixed.Int26_6(q), -64 / fixed.Int26_6(q)\n}\n\n// glyphCacheEntry caches the arguments and return values of rasterize.\ntype glyphCacheEntry struct {\n\tkey glyphCacheKey\n\tval glyphCacheVal\n}\n\ntype glyphCacheKey struct {\n\tindex  Index\n\tfx, fy uint8\n}\n\ntype glyphCacheVal struct {\n\tadvanceWidth fixed.Int26_6\n\toffset       image.Point\n\tgw           int\n\tgh           int\n}\n\ntype indexCacheEntry struct {\n\trune  rune\n\tindex Index\n}\n\n// NewFace returns a new font.Face for the given Font.\nfunc NewFace(f *Font, opts *Options) font.Face {\n\ta := &face{\n\t\tf:          f,\n\t\thinting:    opts.hinting(),\n\t\tscale:      fixed.Int26_6(0.5 + (opts.size() * opts.dpi() * 64 / 72)),\n\t\tglyphCache: make([]glyphCacheEntry, opts.glyphCacheEntries()),\n\t}\n\ta.subPixelX, a.subPixelBiasX, a.subPixelMaskX = opts.subPixelsX()\n\ta.subPixelY, a.subPixelBiasY, a.subPixelMaskY = opts.subPixelsY()\n\n\t// Fill the cache with invalid entries. Valid glyph cache entries have fx\n\t// and fy in the range [0, 64). Valid index cache entries have rune >= 0.\n\tfor i := range a.glyphCache {\n\t\ta.glyphCache[i].key.fy = 0xff\n\t}\n\tfor i := range a.indexCache {\n\t\ta.indexCache[i].rune = -1\n\t}\n\n\t// Set the rasterizer's bounds to be big enough to handle the largest glyph.\n\tb := f.Bounds(a.scale)\n\txmin := +int(b.Min.X) >> 6\n\tymin := -int(b.Max.Y) >> 6\n\txmax := +int(b.Max.X+63) >> 6\n\tymax := -int(b.Min.Y-63) >> 6\n\ta.maxw = xmax - xmin\n\ta.maxh = ymax - ymin\n\ta.masks = image.NewAlpha(image.Rect(0, 0, a.maxw, a.maxh*len(a.glyphCache)))\n\ta.r.SetBounds(a.maxw, a.maxh)\n\ta.p = facePainter{a}\n\n\treturn a\n}\n\ntype face struct {\n\tf             *Font\n\thinting       font.Hinting\n\tscale         fixed.Int26_6\n\tsubPixelX     uint32\n\tsubPixelBiasX fixed.Int26_6\n\tsubPixelMaskX fixed.Int26_6\n\tsubPixelY     uint32\n\tsubPixelBiasY fixed.Int26_6\n\tsubPixelMaskY fixed.Int26_6\n\tmasks         *image.Alpha\n\tglyphCache    []glyphCacheEntry\n\tr             raster.Rasterizer\n\tp             raster.Painter\n\tpaintOffset   int\n\tmaxw          int\n\tmaxh          int\n\tglyphBuf      GlyphBuf\n\tindexCache    [indexCacheLen]indexCacheEntry\n\n\t// TODO: clip rectangle?\n}\n\nconst indexCacheLen = 256\n\nfunc (a *face) index(r rune) Index {\n\tconst mask = indexCacheLen - 1\n\tc := &a.indexCache[r&mask]\n\tif c.rune == r {\n\t\treturn c.index\n\t}\n\ti := a.f.Index(r)\n\tc.rune = r\n\tc.index = i\n\treturn i\n}\n\n// Close satisfies the font.Face interface.\nfunc (a *face) Close() error { return nil }\n\n// Metrics satisfies the font.Face interface.\nfunc (a *face) Metrics() font.Metrics {\n\tscale := float64(a.scale)\n\tfupe := float64(a.f.FUnitsPerEm())\n\treturn font.Metrics{\n\t\tHeight:  a.scale,\n\t\tAscent:  fixed.Int26_6(math.Ceil(scale * float64(+a.f.ascent) / fupe)),\n\t\tDescent: fixed.Int26_6(math.Ceil(scale * float64(-a.f.descent) / fupe)),\n\t}\n}\n\n// Kern satisfies the font.Face interface.\nfunc (a *face) Kern(r0, r1 rune) fixed.Int26_6 {\n\ti0 := a.index(r0)\n\ti1 := a.index(r1)\n\tkern := a.f.Kern(a.scale, i0, i1)\n\tif a.hinting != font.HintingNone {\n\t\tkern = (kern + 32) &^ 63\n\t}\n\treturn kern\n}\n\n// Glyph satisfies the font.Face interface.\nfunc (a *face) Glyph(dot fixed.Point26_6, r rune) (\n\tdr image.Rectangle, mask image.Image, maskp image.Point, advance fixed.Int26_6, ok bool) {\n\n\t// Quantize to the sub-pixel granularity.\n\tdotX := (dot.X + a.subPixelBiasX) & a.subPixelMaskX\n\tdotY := (dot.Y + a.subPixelBiasY) & a.subPixelMaskY\n\n\t// Split the coordinates into their integer and fractional parts.\n\tix, fx := int(dotX>>6), dotX&0x3f\n\tiy, fy := int(dotY>>6), dotY&0x3f\n\n\tindex := a.index(r)\n\tcIndex := uint32(index)\n\tcIndex = cIndex*a.subPixelX - uint32(fx/a.subPixelMaskX)\n\tcIndex = cIndex*a.subPixelY - uint32(fy/a.subPixelMaskY)\n\tcIndex &= uint32(len(a.glyphCache) - 1)\n\ta.paintOffset = a.maxh * int(cIndex)\n\tk := glyphCacheKey{\n\t\tindex: index,\n\t\tfx:    uint8(fx),\n\t\tfy:    uint8(fy),\n\t}\n\tvar v glyphCacheVal\n\tif a.glyphCache[cIndex].key != k {\n\t\tvar ok bool\n\t\tv, ok = a.rasterize(index, fx, fy)\n\t\tif !ok {\n\t\t\treturn image.Rectangle{}, nil, image.Point{}, 0, false\n\t\t}\n\t\ta.glyphCache[cIndex] = glyphCacheEntry{k, v}\n\t} else {\n\t\tv = a.glyphCache[cIndex].val\n\t}\n\n\tdr.Min = image.Point{\n\t\tX: ix + v.offset.X,\n\t\tY: iy + v.offset.Y,\n\t}\n\tdr.Max = image.Point{\n\t\tX: dr.Min.X + v.gw,\n\t\tY: dr.Min.Y + v.gh,\n\t}\n\treturn dr, a.masks, image.Point{Y: a.paintOffset}, v.advanceWidth, true\n}\n\nfunc (a *face) GlyphBounds(r rune) (bounds fixed.Rectangle26_6, advance fixed.Int26_6, ok bool) {\n\tif err := a.glyphBuf.Load(a.f, a.scale, a.index(r), a.hinting); err != nil {\n\t\treturn fixed.Rectangle26_6{}, 0, false\n\t}\n\txmin := +a.glyphBuf.Bounds.Min.X\n\tymin := -a.glyphBuf.Bounds.Max.Y\n\txmax := +a.glyphBuf.Bounds.Max.X\n\tymax := -a.glyphBuf.Bounds.Min.Y\n\tif xmin > xmax || ymin > ymax {\n\t\treturn fixed.Rectangle26_6{}, 0, false\n\t}\n\treturn fixed.Rectangle26_6{\n\t\tMin: fixed.Point26_6{\n\t\t\tX: xmin,\n\t\t\tY: ymin,\n\t\t},\n\t\tMax: fixed.Point26_6{\n\t\t\tX: xmax,\n\t\t\tY: ymax,\n\t\t},\n\t}, a.glyphBuf.AdvanceWidth, true\n}\n\nfunc (a *face) GlyphAdvance(r rune) (advance fixed.Int26_6, ok bool) {\n\tif err := a.glyphBuf.Load(a.f, a.scale, a.index(r), a.hinting); err != nil {\n\t\treturn 0, false\n\t}\n\treturn a.glyphBuf.AdvanceWidth, true\n}\n\n// rasterize returns the advance width, integer-pixel offset to render at, and\n// the width and height of the given glyph at the given sub-pixel offsets.\n//\n// The 26.6 fixed point arguments fx and fy must be in the range [0, 1).\nfunc (a *face) rasterize(index Index, fx, fy fixed.Int26_6) (v glyphCacheVal, ok bool) {\n\tif err := a.glyphBuf.Load(a.f, a.scale, index, a.hinting); err != nil {\n\t\treturn glyphCacheVal{}, false\n\t}\n\t// Calculate the integer-pixel bounds for the glyph.\n\txmin := int(fx+a.glyphBuf.Bounds.Min.X) >> 6\n\tymin := int(fy-a.glyphBuf.Bounds.Max.Y) >> 6\n\txmax := int(fx+a.glyphBuf.Bounds.Max.X+0x3f) >> 6\n\tymax := int(fy-a.glyphBuf.Bounds.Min.Y+0x3f) >> 6\n\tif xmin > xmax || ymin > ymax {\n\t\treturn glyphCacheVal{}, false\n\t}\n\t// A TrueType's glyph's nodes can have negative co-ordinates, but the\n\t// rasterizer clips anything left of x=0 or above y=0. xmin and ymin are\n\t// the pixel offsets, based on the font's FUnit metrics, that let a\n\t// negative co-ordinate in TrueType space be non-negative in rasterizer\n\t// space. xmin and ymin are typically <= 0.\n\tfx -= fixed.Int26_6(xmin << 6)\n\tfy -= fixed.Int26_6(ymin << 6)\n\t// Rasterize the glyph's vectors.\n\ta.r.Clear()\n\tpixOffset := a.paintOffset * a.maxw\n\tclear(a.masks.Pix[pixOffset : pixOffset+a.maxw*a.maxh])\n\te0 := 0\n\tfor _, e1 := range a.glyphBuf.Ends {\n\t\ta.drawContour(a.glyphBuf.Points[e0:e1], fx, fy)\n\t\te0 = e1\n\t}\n\ta.r.Rasterize(a.p)\n\treturn glyphCacheVal{\n\t\ta.glyphBuf.AdvanceWidth,\n\t\timage.Point{xmin, ymin},\n\t\txmax - xmin,\n\t\tymax - ymin,\n\t}, true\n}\n\nfunc clear(pix []byte) {\n\tfor i := range pix {\n\t\tpix[i] = 0\n\t}\n}\n\n// drawContour draws the given closed contour with the given offset.\nfunc (a *face) drawContour(ps []Point, dx, dy fixed.Int26_6) {\n\tif len(ps) == 0 {\n\t\treturn\n\t}\n\n\t// The low bit of each point's Flags value is whether the point is on the\n\t// curve. Truetype fonts only have quadratic Bézier curves, not cubics.\n\t// Thus, two consecutive off-curve points imply an on-curve point in the\n\t// middle of those two.\n\t//\n\t// See http://chanae.walon.org/pub/ttf/ttf_glyphs.htm for more details.\n\n\t// ps[0] is a truetype.Point measured in FUnits and positive Y going\n\t// upwards. start is the same thing measured in fixed point units and\n\t// positive Y going downwards, and offset by (dx, dy).\n\tstart := fixed.Point26_6{\n\t\tX: dx + ps[0].X,\n\t\tY: dy - ps[0].Y,\n\t}\n\tvar others []Point\n\tif ps[0].Flags&0x01 != 0 {\n\t\tothers = ps[1:]\n\t} else {\n\t\tlast := fixed.Point26_6{\n\t\t\tX: dx + ps[len(ps)-1].X,\n\t\t\tY: dy - ps[len(ps)-1].Y,\n\t\t}\n\t\tif ps[len(ps)-1].Flags&0x01 != 0 {\n\t\t\tstart = last\n\t\t\tothers = ps[:len(ps)-1]\n\t\t} else {\n\t\t\tstart = fixed.Point26_6{\n\t\t\t\tX: (start.X + last.X) / 2,\n\t\t\t\tY: (start.Y + last.Y) / 2,\n\t\t\t}\n\t\t\tothers = ps\n\t\t}\n\t}\n\ta.r.Start(start)\n\tq0, on0 := start, true\n\tfor _, p := range others {\n\t\tq := fixed.Point26_6{\n\t\t\tX: dx + p.X,\n\t\t\tY: dy - p.Y,\n\t\t}\n\t\ton := p.Flags&0x01 != 0\n\t\tif on {\n\t\t\tif on0 {\n\t\t\t\ta.r.Add1(q)\n\t\t\t} else {\n\t\t\t\ta.r.Add2(q0, q)\n\t\t\t}\n\t\t} else {\n\t\t\tif on0 {\n\t\t\t\t// No-op.\n\t\t\t} else {\n\t\t\t\tmid := fixed.Point26_6{\n\t\t\t\t\tX: (q0.X + q.X) / 2,\n\t\t\t\t\tY: (q0.Y + q.Y) / 2,\n\t\t\t\t}\n\t\t\t\ta.r.Add2(q0, mid)\n\t\t\t}\n\t\t}\n\t\tq0, on0 = q, on\n\t}\n\t// Close the curve.\n\tif on0 {\n\t\ta.r.Add1(start)\n\t} else {\n\t\ta.r.Add2(q0, start)\n\t}\n}\n\n// facePainter is like a raster.AlphaSrcPainter, with an additional Y offset\n// (face.paintOffset) to the painted spans.\ntype facePainter struct {\n\ta *face\n}\n\nfunc (p facePainter) Paint(ss []raster.Span, done bool) {\n\tm := p.a.masks\n\tb := m.Bounds()\n\tb.Min.Y = p.a.paintOffset\n\tb.Max.Y = p.a.paintOffset + p.a.maxh\n\tfor _, s := range ss {\n\t\ts.Y += p.a.paintOffset\n\t\tif s.Y < b.Min.Y {\n\t\t\tcontinue\n\t\t}\n\t\tif s.Y >= b.Max.Y {\n\t\t\treturn\n\t\t}\n\t\tif s.X0 < b.Min.X {\n\t\t\ts.X0 = b.Min.X\n\t\t}\n\t\tif s.X1 > b.Max.X {\n\t\t\ts.X1 = b.Max.X\n\t\t}\n\t\tif s.X0 >= s.X1 {\n\t\t\tcontinue\n\t\t}\n\t\tbase := (s.Y-m.Rect.Min.Y)*m.Stride - m.Rect.Min.X\n\t\tp := m.Pix[base+s.X0 : base+s.X1]\n\t\tcolor := uint8(s.Alpha >> 8)\n\t\tfor i := range p {\n\t\t\tp[i] = color\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/truetype/glyph.go",
    "content": "// Copyright 2010 The Freetype-Go Authors. All rights reserved.\n// Use of this source code is governed by your choice of either the\n// FreeType License or the GNU General Public License version 2 (or\n// any later version), both of which can be found in the LICENSE file.\n\npackage truetype\n\nimport (\n\t\"golang.org/x/image/font\"\n\t\"golang.org/x/image/math/fixed\"\n)\n\n// TODO: implement VerticalHinting.\n\n// A Point is a co-ordinate pair plus whether it is 'on' a contour or an 'off'\n// control point.\ntype Point struct {\n\tX, Y fixed.Int26_6\n\t// The Flags' LSB means whether or not this Point is 'on' the contour.\n\t// Other bits are reserved for internal use.\n\tFlags uint32\n}\n\n// A GlyphBuf holds a glyph's contours. A GlyphBuf can be re-used to load a\n// series of glyphs from a Font.\ntype GlyphBuf struct {\n\t// AdvanceWidth is the glyph's advance width.\n\tAdvanceWidth fixed.Int26_6\n\t// Bounds is the glyph's bounding box.\n\tBounds fixed.Rectangle26_6\n\t// Points contains all Points from all contours of the glyph. If hinting\n\t// was used to load a glyph then Unhinted contains those Points before they\n\t// were hinted, and InFontUnits contains those Points before they were\n\t// hinted and scaled.\n\tPoints, Unhinted, InFontUnits []Point\n\t// Ends is the point indexes of the end point of each contour. The length\n\t// of Ends is the number of contours in the glyph. The i'th contour\n\t// consists of points Points[Ends[i-1]:Ends[i]], where Ends[-1] is\n\t// interpreted to mean zero.\n\tEnds []int\n\n\tfont    *Font\n\tscale   fixed.Int26_6\n\thinting font.Hinting\n\thinter  hinter\n\t// phantomPoints are the co-ordinates of the synthetic phantom points\n\t// used for hinting and bounding box calculations.\n\tphantomPoints [4]Point\n\t// pp1x is the X co-ordinate of the first phantom point. The '1' is\n\t// using 1-based indexing; pp1x is almost always phantomPoints[0].X.\n\t// TODO: eliminate this and consistently use phantomPoints[0].X.\n\tpp1x fixed.Int26_6\n\t// metricsSet is whether the glyph's metrics have been set yet. For a\n\t// compound glyph, a sub-glyph may override the outer glyph's metrics.\n\tmetricsSet bool\n\t// tmp is a scratch buffer.\n\ttmp []Point\n}\n\n// Flags for decoding a glyph's contours. These flags are documented at\n// http://developer.apple.com/fonts/TTRefMan/RM06/Chap6glyf.html.\nconst (\n\tflagOnCurve = 1 << iota\n\tflagXShortVector\n\tflagYShortVector\n\tflagRepeat\n\tflagPositiveXShortVector\n\tflagPositiveYShortVector\n\n\t// The remaining flags are for internal use.\n\tflagTouchedX\n\tflagTouchedY\n)\n\n// The same flag bits (0x10 and 0x20) are overloaded to have two meanings,\n// dependent on the value of the flag{X,Y}ShortVector bits.\nconst (\n\tflagThisXIsSame = flagPositiveXShortVector\n\tflagThisYIsSame = flagPositiveYShortVector\n)\n\n// Load loads a glyph's contours from a Font, overwriting any previously loaded\n// contours for this GlyphBuf. scale is the number of 26.6 fixed point units in\n// 1 em, i is the glyph index, and h is the hinting policy.\nfunc (g *GlyphBuf) Load(f *Font, scale fixed.Int26_6, i Index, h font.Hinting) error {\n\tg.Points = g.Points[:0]\n\tg.Unhinted = g.Unhinted[:0]\n\tg.InFontUnits = g.InFontUnits[:0]\n\tg.Ends = g.Ends[:0]\n\tg.font = f\n\tg.hinting = h\n\tg.scale = scale\n\tg.pp1x = 0\n\tg.phantomPoints = [4]Point{}\n\tg.metricsSet = false\n\n\tif h != font.HintingNone {\n\t\tif err := g.hinter.init(f, scale); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tif err := g.load(0, i, true); err != nil {\n\t\treturn err\n\t}\n\t// TODO: this selection of either g.pp1x or g.phantomPoints[0].X isn't ideal,\n\t// and should be cleaned up once we have all the testScaling tests passing,\n\t// plus additional tests for Freetype-Go's bounding boxes matching C Freetype's.\n\tpp1x := g.pp1x\n\tif h != font.HintingNone {\n\t\tpp1x = g.phantomPoints[0].X\n\t}\n\tif pp1x != 0 {\n\t\tfor i := range g.Points {\n\t\t\tg.Points[i].X -= pp1x\n\t\t}\n\t}\n\n\tadvanceWidth := g.phantomPoints[1].X - g.phantomPoints[0].X\n\tif h != font.HintingNone {\n\t\tif len(f.hdmx) >= 8 {\n\t\t\tif n := u32(f.hdmx, 4); n > 3+uint32(i) {\n\t\t\t\tfor hdmx := f.hdmx[8:]; uint32(len(hdmx)) >= n; hdmx = hdmx[n:] {\n\t\t\t\t\tif fixed.Int26_6(hdmx[0]) == scale>>6 {\n\t\t\t\t\t\tadvanceWidth = fixed.Int26_6(hdmx[2+i]) << 6\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tadvanceWidth = (advanceWidth + 32) &^ 63\n\t}\n\tg.AdvanceWidth = advanceWidth\n\n\t// Set g.Bounds to the 'control box', which is the bounding box of the\n\t// Bézier curves' control points. This is easier to calculate, no smaller\n\t// than and often equal to the tightest possible bounding box of the curves\n\t// themselves. This approach is what C Freetype does. We can't just scale\n\t// the nominal bounding box in the glyf data as the hinting process and\n\t// phantom point adjustment may move points outside of that box.\n\tif len(g.Points) == 0 {\n\t\tg.Bounds = fixed.Rectangle26_6{}\n\t} else {\n\t\tp := g.Points[0]\n\t\tg.Bounds.Min.X = p.X\n\t\tg.Bounds.Max.X = p.X\n\t\tg.Bounds.Min.Y = p.Y\n\t\tg.Bounds.Max.Y = p.Y\n\t\tfor _, p := range g.Points[1:] {\n\t\t\tif g.Bounds.Min.X > p.X {\n\t\t\t\tg.Bounds.Min.X = p.X\n\t\t\t} else if g.Bounds.Max.X < p.X {\n\t\t\t\tg.Bounds.Max.X = p.X\n\t\t\t}\n\t\t\tif g.Bounds.Min.Y > p.Y {\n\t\t\t\tg.Bounds.Min.Y = p.Y\n\t\t\t} else if g.Bounds.Max.Y < p.Y {\n\t\t\t\tg.Bounds.Max.Y = p.Y\n\t\t\t}\n\t\t}\n\t\t// Snap the box to the grid, if hinting is on.\n\t\tif h != font.HintingNone {\n\t\t\tg.Bounds.Min.X &^= 63\n\t\t\tg.Bounds.Min.Y &^= 63\n\t\t\tg.Bounds.Max.X += 63\n\t\t\tg.Bounds.Max.X &^= 63\n\t\t\tg.Bounds.Max.Y += 63\n\t\t\tg.Bounds.Max.Y &^= 63\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (g *GlyphBuf) load(recursion uint32, i Index, useMyMetrics bool) (err error) {\n\t// The recursion limit here is arbitrary, but defends against malformed glyphs.\n\tif recursion >= 32 {\n\t\treturn UnsupportedError(\"excessive compound glyph recursion\")\n\t}\n\t// Find the relevant slice of g.font.glyf.\n\tvar g0, g1 uint32\n\tif g.font.locaOffsetFormat == locaOffsetFormatShort {\n\t\tg0 = 2 * uint32(u16(g.font.loca, 2*int(i)))\n\t\tg1 = 2 * uint32(u16(g.font.loca, 2*int(i)+2))\n\t} else {\n\t\tg0 = u32(g.font.loca, 4*int(i))\n\t\tg1 = u32(g.font.loca, 4*int(i)+4)\n\t}\n\n\t// Decode the contour count and nominal bounding box, from the first\n\t// 10 bytes of the glyf data. boundsYMin and boundsXMax, at offsets 4\n\t// and 6, are unused.\n\tglyf, ne, boundsXMin, boundsYMax := []byte(nil), 0, fixed.Int26_6(0), fixed.Int26_6(0)\n\tif g0+10 <= g1 {\n\t\tglyf = g.font.glyf[g0:g1]\n\t\tne = int(int16(u16(glyf, 0)))\n\t\tboundsXMin = fixed.Int26_6(int16(u16(glyf, 2)))\n\t\tboundsYMax = fixed.Int26_6(int16(u16(glyf, 8)))\n\t}\n\n\t// Create the phantom points.\n\tuhm, pp1x := g.font.unscaledHMetric(i), fixed.Int26_6(0)\n\tuvm := g.font.unscaledVMetric(i, boundsYMax)\n\tg.phantomPoints = [4]Point{\n\t\t{X: boundsXMin - uhm.LeftSideBearing},\n\t\t{X: boundsXMin - uhm.LeftSideBearing + uhm.AdvanceWidth},\n\t\t{X: uhm.AdvanceWidth / 2, Y: boundsYMax + uvm.TopSideBearing},\n\t\t{X: uhm.AdvanceWidth / 2, Y: boundsYMax + uvm.TopSideBearing - uvm.AdvanceHeight},\n\t}\n\tif len(glyf) == 0 {\n\t\tg.addPhantomsAndScale(len(g.Points), len(g.Points), true, true)\n\t\tcopy(g.phantomPoints[:], g.Points[len(g.Points)-4:])\n\t\tg.Points = g.Points[:len(g.Points)-4]\n\t\t// TODO: also trim g.InFontUnits and g.Unhinted?\n\t\treturn nil\n\t}\n\n\t// Load and hint the contours.\n\tif ne < 0 {\n\t\tif ne != -1 {\n\t\t\t// http://developer.apple.com/fonts/TTRefMan/RM06/Chap6glyf.html says that\n\t\t\t// \"the values -2, -3, and so forth, are reserved for future use.\"\n\t\t\treturn UnsupportedError(\"negative number of contours\")\n\t\t}\n\t\tpp1x = g.font.scale(g.scale * (boundsXMin - uhm.LeftSideBearing))\n\t\tif err := g.loadCompound(recursion, uhm, i, glyf, useMyMetrics); err != nil {\n\t\t\treturn err\n\t\t}\n\t} else {\n\t\tnp0, ne0 := len(g.Points), len(g.Ends)\n\t\tprogram := g.loadSimple(glyf, ne)\n\t\tg.addPhantomsAndScale(np0, np0, true, true)\n\t\tpp1x = g.Points[len(g.Points)-4].X\n\t\tif g.hinting != font.HintingNone {\n\t\t\tif len(program) != 0 {\n\t\t\t\terr := g.hinter.run(\n\t\t\t\t\tprogram,\n\t\t\t\t\tg.Points[np0:],\n\t\t\t\t\tg.Unhinted[np0:],\n\t\t\t\t\tg.InFontUnits[np0:],\n\t\t\t\t\tg.Ends[ne0:],\n\t\t\t\t)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Drop the four phantom points.\n\t\t\tg.InFontUnits = g.InFontUnits[:len(g.InFontUnits)-4]\n\t\t\tg.Unhinted = g.Unhinted[:len(g.Unhinted)-4]\n\t\t}\n\t\tif useMyMetrics {\n\t\t\tcopy(g.phantomPoints[:], g.Points[len(g.Points)-4:])\n\t\t}\n\t\tg.Points = g.Points[:len(g.Points)-4]\n\t\tif np0 != 0 {\n\t\t\t// The hinting program expects the []Ends values to be indexed\n\t\t\t// relative to the inner glyph, not the outer glyph, so we delay\n\t\t\t// adding np0 until after the hinting program (if any) has run.\n\t\t\tfor i := ne0; i < len(g.Ends); i++ {\n\t\t\t\tg.Ends[i] += np0\n\t\t\t}\n\t\t}\n\t}\n\tif useMyMetrics && !g.metricsSet {\n\t\tg.metricsSet = true\n\t\tg.pp1x = pp1x\n\t}\n\treturn nil\n}\n\n// loadOffset is the initial offset for loadSimple and loadCompound. The first\n// 10 bytes are the number of contours and the bounding box.\nconst loadOffset = 10\n\nfunc (g *GlyphBuf) loadSimple(glyf []byte, ne int) (program []byte) {\n\toffset := loadOffset\n\tfor i := 0; i < ne; i++ {\n\t\tg.Ends = append(g.Ends, 1+int(u16(glyf, offset)))\n\t\toffset += 2\n\t}\n\n\t// Note the TrueType hinting instructions.\n\tinstrLen := int(u16(glyf, offset))\n\toffset += 2\n\tprogram = glyf[offset : offset+instrLen]\n\toffset += instrLen\n\n\tif ne == 0 {\n\t\treturn program\n\t}\n\n\tnp0 := len(g.Points)\n\tnp1 := np0 + int(g.Ends[len(g.Ends)-1])\n\n\t// Decode the flags.\n\tfor i := np0; i < np1; {\n\t\tc := uint32(glyf[offset])\n\t\toffset++\n\t\tg.Points = append(g.Points, Point{Flags: c})\n\t\ti++\n\t\tif c&flagRepeat != 0 {\n\t\t\tcount := glyf[offset]\n\t\t\toffset++\n\t\t\tfor ; count > 0; count-- {\n\t\t\t\tg.Points = append(g.Points, Point{Flags: c})\n\t\t\t\ti++\n\t\t\t}\n\t\t}\n\t}\n\n\t// Decode the co-ordinates.\n\tvar x int16\n\tfor i := np0; i < np1; i++ {\n\t\tf := g.Points[i].Flags\n\t\tif f&flagXShortVector != 0 {\n\t\t\tdx := int16(glyf[offset])\n\t\t\toffset++\n\t\t\tif f&flagPositiveXShortVector == 0 {\n\t\t\t\tx -= dx\n\t\t\t} else {\n\t\t\t\tx += dx\n\t\t\t}\n\t\t} else if f&flagThisXIsSame == 0 {\n\t\t\tx += int16(u16(glyf, offset))\n\t\t\toffset += 2\n\t\t}\n\t\tg.Points[i].X = fixed.Int26_6(x)\n\t}\n\tvar y int16\n\tfor i := np0; i < np1; i++ {\n\t\tf := g.Points[i].Flags\n\t\tif f&flagYShortVector != 0 {\n\t\t\tdy := int16(glyf[offset])\n\t\t\toffset++\n\t\t\tif f&flagPositiveYShortVector == 0 {\n\t\t\t\ty -= dy\n\t\t\t} else {\n\t\t\t\ty += dy\n\t\t\t}\n\t\t} else if f&flagThisYIsSame == 0 {\n\t\t\ty += int16(u16(glyf, offset))\n\t\t\toffset += 2\n\t\t}\n\t\tg.Points[i].Y = fixed.Int26_6(y)\n\t}\n\n\treturn program\n}\n\nfunc (g *GlyphBuf) loadCompound(recursion uint32, uhm HMetric, i Index,\n\tglyf []byte, useMyMetrics bool) error {\n\n\t// Flags for decoding a compound glyph. These flags are documented at\n\t// http://developer.apple.com/fonts/TTRefMan/RM06/Chap6glyf.html.\n\tconst (\n\t\tflagArg1And2AreWords = 1 << iota\n\t\tflagArgsAreXYValues\n\t\tflagRoundXYToGrid\n\t\tflagWeHaveAScale\n\t\tflagUnused\n\t\tflagMoreComponents\n\t\tflagWeHaveAnXAndYScale\n\t\tflagWeHaveATwoByTwo\n\t\tflagWeHaveInstructions\n\t\tflagUseMyMetrics\n\t\tflagOverlapCompound\n\t)\n\tnp0, ne0 := len(g.Points), len(g.Ends)\n\toffset := loadOffset\n\tfor {\n\t\tflags := u16(glyf, offset)\n\t\tcomponent := Index(u16(glyf, offset+2))\n\t\tdx, dy, transform, hasTransform := fixed.Int26_6(0), fixed.Int26_6(0), [4]int16{}, false\n\t\tif flags&flagArg1And2AreWords != 0 {\n\t\t\tdx = fixed.Int26_6(int16(u16(glyf, offset+4)))\n\t\t\tdy = fixed.Int26_6(int16(u16(glyf, offset+6)))\n\t\t\toffset += 8\n\t\t} else {\n\t\t\tdx = fixed.Int26_6(int16(int8(glyf[offset+4])))\n\t\t\tdy = fixed.Int26_6(int16(int8(glyf[offset+5])))\n\t\t\toffset += 6\n\t\t}\n\t\tif flags&flagArgsAreXYValues == 0 {\n\t\t\treturn UnsupportedError(\"compound glyph transform vector\")\n\t\t}\n\t\tif flags&(flagWeHaveAScale|flagWeHaveAnXAndYScale|flagWeHaveATwoByTwo) != 0 {\n\t\t\thasTransform = true\n\t\t\tswitch {\n\t\t\tcase flags&flagWeHaveAScale != 0:\n\t\t\t\ttransform[0] = int16(u16(glyf, offset+0))\n\t\t\t\ttransform[3] = transform[0]\n\t\t\t\toffset += 2\n\t\t\tcase flags&flagWeHaveAnXAndYScale != 0:\n\t\t\t\ttransform[0] = int16(u16(glyf, offset+0))\n\t\t\t\ttransform[3] = int16(u16(glyf, offset+2))\n\t\t\t\toffset += 4\n\t\t\tcase flags&flagWeHaveATwoByTwo != 0:\n\t\t\t\ttransform[0] = int16(u16(glyf, offset+0))\n\t\t\t\ttransform[1] = int16(u16(glyf, offset+2))\n\t\t\t\ttransform[2] = int16(u16(glyf, offset+4))\n\t\t\t\ttransform[3] = int16(u16(glyf, offset+6))\n\t\t\t\toffset += 8\n\t\t\t}\n\t\t}\n\t\tsavedPP := g.phantomPoints\n\t\tnp0 := len(g.Points)\n\t\tcomponentUMM := useMyMetrics && (flags&flagUseMyMetrics != 0)\n\t\tif err := g.load(recursion+1, component, componentUMM); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif flags&flagUseMyMetrics == 0 {\n\t\t\tg.phantomPoints = savedPP\n\t\t}\n\t\tif hasTransform {\n\t\t\tfor j := np0; j < len(g.Points); j++ {\n\t\t\t\tp := &g.Points[j]\n\t\t\t\tnewX := 0 +\n\t\t\t\t\tfixed.Int26_6((int64(p.X)*int64(transform[0])+1<<13)>>14) +\n\t\t\t\t\tfixed.Int26_6((int64(p.Y)*int64(transform[2])+1<<13)>>14)\n\t\t\t\tnewY := 0 +\n\t\t\t\t\tfixed.Int26_6((int64(p.X)*int64(transform[1])+1<<13)>>14) +\n\t\t\t\t\tfixed.Int26_6((int64(p.Y)*int64(transform[3])+1<<13)>>14)\n\t\t\t\tp.X, p.Y = newX, newY\n\t\t\t}\n\t\t}\n\t\tdx = g.font.scale(g.scale * dx)\n\t\tdy = g.font.scale(g.scale * dy)\n\t\tif flags&flagRoundXYToGrid != 0 {\n\t\t\tdx = (dx + 32) &^ 63\n\t\t\tdy = (dy + 32) &^ 63\n\t\t}\n\t\tfor j := np0; j < len(g.Points); j++ {\n\t\t\tp := &g.Points[j]\n\t\t\tp.X += dx\n\t\t\tp.Y += dy\n\t\t}\n\t\t// TODO: also adjust g.InFontUnits and g.Unhinted?\n\t\tif flags&flagMoreComponents == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\n\tinstrLen := 0\n\tif g.hinting != font.HintingNone && offset+2 <= len(glyf) {\n\t\tinstrLen = int(u16(glyf, offset))\n\t\toffset += 2\n\t}\n\n\tg.addPhantomsAndScale(np0, len(g.Points), false, instrLen > 0)\n\tpoints, ends := g.Points[np0:], g.Ends[ne0:]\n\tg.Points = g.Points[:len(g.Points)-4]\n\tfor j := range points {\n\t\tpoints[j].Flags &^= flagTouchedX | flagTouchedY\n\t}\n\n\tif instrLen == 0 {\n\t\tif !g.metricsSet {\n\t\t\tcopy(g.phantomPoints[:], points[len(points)-4:])\n\t\t}\n\t\treturn nil\n\t}\n\n\t// Hint the compound glyph.\n\tprogram := glyf[offset : offset+instrLen]\n\t// Temporarily adjust the ends to be relative to this compound glyph.\n\tif np0 != 0 {\n\t\tfor i := range ends {\n\t\t\tends[i] -= np0\n\t\t}\n\t}\n\t// Hinting instructions of a composite glyph completely refer to the\n\t// (already) hinted subglyphs.\n\tg.tmp = append(g.tmp[:0], points...)\n\tif err := g.hinter.run(program, points, g.tmp, g.tmp, ends); err != nil {\n\t\treturn err\n\t}\n\tif np0 != 0 {\n\t\tfor i := range ends {\n\t\t\tends[i] += np0\n\t\t}\n\t}\n\tif !g.metricsSet {\n\t\tcopy(g.phantomPoints[:], points[len(points)-4:])\n\t}\n\treturn nil\n}\n\nfunc (g *GlyphBuf) addPhantomsAndScale(np0, np1 int, simple, adjust bool) {\n\t// Add the four phantom points.\n\tg.Points = append(g.Points, g.phantomPoints[:]...)\n\t// Scale the points.\n\tif simple && g.hinting != font.HintingNone {\n\t\tg.InFontUnits = append(g.InFontUnits, g.Points[np1:]...)\n\t}\n\tfor i := np1; i < len(g.Points); i++ {\n\t\tp := &g.Points[i]\n\t\tp.X = g.font.scale(g.scale * p.X)\n\t\tp.Y = g.font.scale(g.scale * p.Y)\n\t}\n\tif g.hinting == font.HintingNone {\n\t\treturn\n\t}\n\t// Round the 1st phantom point to the grid, shifting all other points equally.\n\t// Note that \"all other points\" starts from np0, not np1.\n\t// TODO: delete this adjustment and the np0/np1 distinction, when\n\t// we update the compatibility tests to C Freetype 2.5.3.\n\t// See http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=05c786d990390a7ca18e62962641dac740bacb06\n\tif adjust {\n\t\tpp1x := g.Points[len(g.Points)-4].X\n\t\tif dx := ((pp1x + 32) &^ 63) - pp1x; dx != 0 {\n\t\t\tfor i := np0; i < len(g.Points); i++ {\n\t\t\t\tg.Points[i].X += dx\n\t\t\t}\n\t\t}\n\t}\n\tif simple {\n\t\tg.Unhinted = append(g.Unhinted, g.Points[np1:]...)\n\t}\n\t// Round the 2nd and 4th phantom point to the grid.\n\tp := &g.Points[len(g.Points)-3]\n\tp.X = (p.X + 32) &^ 63\n\tp = &g.Points[len(g.Points)-1]\n\tp.Y = (p.Y + 32) &^ 63\n}\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/truetype/hint.go",
    "content": "// Copyright 2012 The Freetype-Go Authors. All rights reserved.\n// Use of this source code is governed by your choice of either the\n// FreeType License or the GNU General Public License version 2 (or\n// any later version), both of which can be found in the LICENSE file.\n\npackage truetype\n\n// This file implements a Truetype bytecode interpreter.\n// The opcodes are described at https://developer.apple.com/fonts/TTRefMan/RM05/Chap5.html\n\nimport (\n\t\"errors\"\n\t\"math\"\n\n\t\"golang.org/x/image/math/fixed\"\n)\n\nconst (\n\ttwilightZone = 0\n\tglyphZone    = 1\n\tnumZone      = 2\n)\n\ntype pointType uint32\n\nconst (\n\tcurrent      pointType = 0\n\tunhinted     pointType = 1\n\tinFontUnits  pointType = 2\n\tnumPointType           = 3\n)\n\n// callStackEntry is a bytecode call stack entry.\ntype callStackEntry struct {\n\tprogram   []byte\n\tpc        int\n\tloopCount int32\n}\n\n// hinter implements bytecode hinting. A hinter can be re-used to hint a series\n// of glyphs from a Font.\ntype hinter struct {\n\tstack, store []int32\n\n\t// functions is a map from function number to bytecode.\n\tfunctions map[int32][]byte\n\n\t// font and scale are the font and scale last used for this hinter.\n\t// Changing the font will require running the new font's fpgm bytecode.\n\t// Changing either will require running the font's prep bytecode.\n\tfont  *Font\n\tscale fixed.Int26_6\n\n\t// gs and defaultGS are the current and default graphics state. The\n\t// default graphics state is the global default graphics state after\n\t// the font's fpgm and prep programs have been run.\n\tgs, defaultGS graphicsState\n\n\t// points and ends are the twilight zone's points, glyph's points\n\t// and glyph's contour boundaries.\n\tpoints [numZone][numPointType][]Point\n\tends   []int\n\n\t// scaledCVT is the lazily initialized scaled Control Value Table.\n\tscaledCVTInitialized bool\n\tscaledCVT            []fixed.Int26_6\n}\n\n// graphicsState is described at https://developer.apple.com/fonts/TTRefMan/RM04/Chap4.html\ntype graphicsState struct {\n\t// Projection vector, freedom vector and dual projection vector.\n\tpv, fv, dv [2]f2dot14\n\t// Reference points and zone pointers.\n\trp, zp [3]int32\n\t// Control Value / Single Width Cut-In.\n\tcontrolValueCutIn, singleWidthCutIn, singleWidth fixed.Int26_6\n\t// Delta base / shift.\n\tdeltaBase, deltaShift int32\n\t// Minimum distance.\n\tminDist fixed.Int26_6\n\t// Loop count.\n\tloop int32\n\t// Rounding policy.\n\troundPeriod, roundPhase, roundThreshold fixed.Int26_6\n\troundSuper45                            bool\n\t// Auto-flip.\n\tautoFlip bool\n}\n\nvar globalDefaultGS = graphicsState{\n\tpv:                [2]f2dot14{0x4000, 0}, // Unit vector along the X axis.\n\tfv:                [2]f2dot14{0x4000, 0},\n\tdv:                [2]f2dot14{0x4000, 0},\n\tzp:                [3]int32{1, 1, 1},\n\tcontrolValueCutIn: (17 << 6) / 16, // 17/16 as a fixed.Int26_6.\n\tdeltaBase:         9,\n\tdeltaShift:        3,\n\tminDist:           1 << 6, // 1 as a fixed.Int26_6.\n\tloop:              1,\n\troundPeriod:       1 << 6, // 1 as a fixed.Int26_6.\n\troundThreshold:    1 << 5, // 1/2 as a fixed.Int26_6.\n\troundSuper45:      false,\n\tautoFlip:          true,\n}\n\nfunc resetTwilightPoints(f *Font, p []Point) []Point {\n\tif n := int(f.maxTwilightPoints) + 4; n <= cap(p) {\n\t\tp = p[:n]\n\t\tfor i := range p {\n\t\t\tp[i] = Point{}\n\t\t}\n\t} else {\n\t\tp = make([]Point, n)\n\t}\n\treturn p\n}\n\nfunc (h *hinter) init(f *Font, scale fixed.Int26_6) error {\n\th.points[twilightZone][0] = resetTwilightPoints(f, h.points[twilightZone][0])\n\th.points[twilightZone][1] = resetTwilightPoints(f, h.points[twilightZone][1])\n\th.points[twilightZone][2] = resetTwilightPoints(f, h.points[twilightZone][2])\n\n\trescale := h.scale != scale\n\tif h.font != f {\n\t\th.font, rescale = f, true\n\t\tif h.functions == nil {\n\t\t\th.functions = make(map[int32][]byte)\n\t\t} else {\n\t\t\tfor k := range h.functions {\n\t\t\t\tdelete(h.functions, k)\n\t\t\t}\n\t\t}\n\n\t\tif x := int(f.maxStackElements); x > len(h.stack) {\n\t\t\tx += 255\n\t\t\tx &^= 255\n\t\t\th.stack = make([]int32, x)\n\t\t}\n\t\tif x := int(f.maxStorage); x > len(h.store) {\n\t\t\tx += 15\n\t\t\tx &^= 15\n\t\t\th.store = make([]int32, x)\n\t\t}\n\t\tif len(f.fpgm) != 0 {\n\t\t\tif err := h.run(f.fpgm, nil, nil, nil, nil); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t}\n\n\tif rescale {\n\t\th.scale = scale\n\t\th.scaledCVTInitialized = false\n\n\t\th.defaultGS = globalDefaultGS\n\n\t\tif len(f.prep) != 0 {\n\t\t\tif err := h.run(f.prep, nil, nil, nil, nil); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\th.defaultGS = h.gs\n\t\t\t// The MS rasterizer doesn't allow the following graphics state\n\t\t\t// variables to be modified by the CVT program.\n\t\t\th.defaultGS.pv = globalDefaultGS.pv\n\t\t\th.defaultGS.fv = globalDefaultGS.fv\n\t\t\th.defaultGS.dv = globalDefaultGS.dv\n\t\t\th.defaultGS.rp = globalDefaultGS.rp\n\t\t\th.defaultGS.zp = globalDefaultGS.zp\n\t\t\th.defaultGS.loop = globalDefaultGS.loop\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (h *hinter) run(program []byte, pCurrent, pUnhinted, pInFontUnits []Point, ends []int) error {\n\th.gs = h.defaultGS\n\th.points[glyphZone][current] = pCurrent\n\th.points[glyphZone][unhinted] = pUnhinted\n\th.points[glyphZone][inFontUnits] = pInFontUnits\n\th.ends = ends\n\n\tif len(program) > 50000 {\n\t\treturn errors.New(\"truetype: hinting: too many instructions\")\n\t}\n\tvar (\n\t\tsteps, pc, top int\n\t\topcode         uint8\n\n\t\tcallStack    [32]callStackEntry\n\t\tcallStackTop int\n\t)\n\n\tfor 0 <= pc && pc < len(program) {\n\t\tsteps++\n\t\tif steps == 100000 {\n\t\t\treturn errors.New(\"truetype: hinting: too many steps\")\n\t\t}\n\t\topcode = program[pc]\n\t\tif top < int(popCount[opcode]) {\n\t\t\treturn errors.New(\"truetype: hinting: stack underflow\")\n\t\t}\n\t\tswitch opcode {\n\n\t\tcase opSVTCA0:\n\t\t\th.gs.pv = [2]f2dot14{0, 0x4000}\n\t\t\th.gs.fv = [2]f2dot14{0, 0x4000}\n\t\t\th.gs.dv = [2]f2dot14{0, 0x4000}\n\n\t\tcase opSVTCA1:\n\t\t\th.gs.pv = [2]f2dot14{0x4000, 0}\n\t\t\th.gs.fv = [2]f2dot14{0x4000, 0}\n\t\t\th.gs.dv = [2]f2dot14{0x4000, 0}\n\n\t\tcase opSPVTCA0:\n\t\t\th.gs.pv = [2]f2dot14{0, 0x4000}\n\t\t\th.gs.dv = [2]f2dot14{0, 0x4000}\n\n\t\tcase opSPVTCA1:\n\t\t\th.gs.pv = [2]f2dot14{0x4000, 0}\n\t\t\th.gs.dv = [2]f2dot14{0x4000, 0}\n\n\t\tcase opSFVTCA0:\n\t\t\th.gs.fv = [2]f2dot14{0, 0x4000}\n\n\t\tcase opSFVTCA1:\n\t\t\th.gs.fv = [2]f2dot14{0x4000, 0}\n\n\t\tcase opSPVTL0, opSPVTL1, opSFVTL0, opSFVTL1:\n\t\t\ttop -= 2\n\t\t\tp1 := h.point(0, current, h.stack[top+0])\n\t\t\tp2 := h.point(0, current, h.stack[top+1])\n\t\t\tif p1 == nil || p2 == nil {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\t\t\tdx := f2dot14(p1.X - p2.X)\n\t\t\tdy := f2dot14(p1.Y - p2.Y)\n\t\t\tif dx == 0 && dy == 0 {\n\t\t\t\tdx = 0x4000\n\t\t\t} else if opcode&1 != 0 {\n\t\t\t\t// Counter-clockwise rotation.\n\t\t\t\tdx, dy = -dy, dx\n\t\t\t}\n\t\t\tv := normalize(dx, dy)\n\t\t\tif opcode < opSFVTL0 {\n\t\t\t\th.gs.pv = v\n\t\t\t\th.gs.dv = v\n\t\t\t} else {\n\t\t\t\th.gs.fv = v\n\t\t\t}\n\n\t\tcase opSPVFS:\n\t\t\ttop -= 2\n\t\t\th.gs.pv = normalize(f2dot14(h.stack[top]), f2dot14(h.stack[top+1]))\n\t\t\th.gs.dv = h.gs.pv\n\n\t\tcase opSFVFS:\n\t\t\ttop -= 2\n\t\t\th.gs.fv = normalize(f2dot14(h.stack[top]), f2dot14(h.stack[top+1]))\n\n\t\tcase opGPV:\n\t\t\tif top+1 >= len(h.stack) {\n\t\t\t\treturn errors.New(\"truetype: hinting: stack overflow\")\n\t\t\t}\n\t\t\th.stack[top+0] = int32(h.gs.pv[0])\n\t\t\th.stack[top+1] = int32(h.gs.pv[1])\n\t\t\ttop += 2\n\n\t\tcase opGFV:\n\t\t\tif top+1 >= len(h.stack) {\n\t\t\t\treturn errors.New(\"truetype: hinting: stack overflow\")\n\t\t\t}\n\t\t\th.stack[top+0] = int32(h.gs.fv[0])\n\t\t\th.stack[top+1] = int32(h.gs.fv[1])\n\t\t\ttop += 2\n\n\t\tcase opSFVTPV:\n\t\t\th.gs.fv = h.gs.pv\n\n\t\tcase opISECT:\n\t\t\ttop -= 5\n\t\t\tp := h.point(2, current, h.stack[top+0])\n\t\t\ta0 := h.point(1, current, h.stack[top+1])\n\t\t\ta1 := h.point(1, current, h.stack[top+2])\n\t\t\tb0 := h.point(0, current, h.stack[top+3])\n\t\t\tb1 := h.point(0, current, h.stack[top+4])\n\t\t\tif p == nil || a0 == nil || a1 == nil || b0 == nil || b1 == nil {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\n\t\t\tdbx := b1.X - b0.X\n\t\t\tdby := b1.Y - b0.Y\n\t\t\tdax := a1.X - a0.X\n\t\t\tday := a1.Y - a0.Y\n\t\t\tdx := b0.X - a0.X\n\t\t\tdy := b0.Y - a0.Y\n\t\t\tdiscriminant := mulDiv(int64(dax), int64(-dby), 0x40) +\n\t\t\t\tmulDiv(int64(day), int64(dbx), 0x40)\n\t\t\tdotProduct := mulDiv(int64(dax), int64(dbx), 0x40) +\n\t\t\t\tmulDiv(int64(day), int64(dby), 0x40)\n\t\t\t// The discriminant above is actually a cross product of vectors\n\t\t\t// da and db. Together with the dot product, they can be used as\n\t\t\t// surrogates for sine and cosine of the angle between the vectors.\n\t\t\t// Indeed,\n\t\t\t//       dotproduct   = |da||db|cos(angle)\n\t\t\t//       discriminant = |da||db|sin(angle)\n\t\t\t// We use these equations to reject grazing intersections by\n\t\t\t// thresholding abs(tan(angle)) at 1/19, corresponding to 3 degrees.\n\t\t\tabsDisc, absDotP := discriminant, dotProduct\n\t\t\tif absDisc < 0 {\n\t\t\t\tabsDisc = -absDisc\n\t\t\t}\n\t\t\tif absDotP < 0 {\n\t\t\t\tabsDotP = -absDotP\n\t\t\t}\n\t\t\tif 19*absDisc > absDotP {\n\t\t\t\tval := mulDiv(int64(dx), int64(-dby), 0x40) +\n\t\t\t\t\tmulDiv(int64(dy), int64(dbx), 0x40)\n\t\t\t\trx := mulDiv(val, int64(dax), discriminant)\n\t\t\t\try := mulDiv(val, int64(day), discriminant)\n\t\t\t\tp.X = a0.X + fixed.Int26_6(rx)\n\t\t\t\tp.Y = a0.Y + fixed.Int26_6(ry)\n\t\t\t} else {\n\t\t\t\tp.X = (a0.X + a1.X + b0.X + b1.X) / 4\n\t\t\t\tp.Y = (a0.Y + a1.Y + b0.Y + b1.Y) / 4\n\t\t\t}\n\t\t\tp.Flags |= flagTouchedX | flagTouchedY\n\n\t\tcase opSRP0, opSRP1, opSRP2:\n\t\t\ttop--\n\t\t\th.gs.rp[opcode-opSRP0] = h.stack[top]\n\n\t\tcase opSZP0, opSZP1, opSZP2:\n\t\t\ttop--\n\t\t\th.gs.zp[opcode-opSZP0] = h.stack[top]\n\n\t\tcase opSZPS:\n\t\t\ttop--\n\t\t\th.gs.zp[0] = h.stack[top]\n\t\t\th.gs.zp[1] = h.stack[top]\n\t\t\th.gs.zp[2] = h.stack[top]\n\n\t\tcase opSLOOP:\n\t\t\ttop--\n\t\t\t// https://developer.apple.com/fonts/TrueType-Reference-Manual/RM05/Chap5.html#SLOOP\n\t\t\t// says that \"Setting the loop variable to zero is an error\". In\n\t\t\t// theory, the inequality on the next line should be \"<=\" instead\n\t\t\t// of \"<\". In practice, some font files' bytecode, such as the '2'\n\t\t\t// glyph in the DejaVuSansMono.ttf that comes with Ubuntu 14.04,\n\t\t\t// issue SLOOP with a zero on top of the stack. Just like the C\n\t\t\t// Freetype code, we allow the zero.\n\t\t\tif h.stack[top] < 0 {\n\t\t\t\treturn errors.New(\"truetype: hinting: invalid data\")\n\t\t\t}\n\t\t\th.gs.loop = h.stack[top]\n\n\t\tcase opRTG:\n\t\t\th.gs.roundPeriod = 1 << 6\n\t\t\th.gs.roundPhase = 0\n\t\t\th.gs.roundThreshold = 1 << 5\n\t\t\th.gs.roundSuper45 = false\n\n\t\tcase opRTHG:\n\t\t\th.gs.roundPeriod = 1 << 6\n\t\t\th.gs.roundPhase = 1 << 5\n\t\t\th.gs.roundThreshold = 1 << 5\n\t\t\th.gs.roundSuper45 = false\n\n\t\tcase opSMD:\n\t\t\ttop--\n\t\t\th.gs.minDist = fixed.Int26_6(h.stack[top])\n\n\t\tcase opELSE:\n\t\t\topcode = 1\n\t\t\tgoto ifelse\n\n\t\tcase opJMPR:\n\t\t\ttop--\n\t\t\tpc += int(h.stack[top])\n\t\t\tcontinue\n\n\t\tcase opSCVTCI:\n\t\t\ttop--\n\t\t\th.gs.controlValueCutIn = fixed.Int26_6(h.stack[top])\n\n\t\tcase opSSWCI:\n\t\t\ttop--\n\t\t\th.gs.singleWidthCutIn = fixed.Int26_6(h.stack[top])\n\n\t\tcase opSSW:\n\t\t\ttop--\n\t\t\th.gs.singleWidth = h.font.scale(h.scale * fixed.Int26_6(h.stack[top]))\n\n\t\tcase opDUP:\n\t\t\tif top >= len(h.stack) {\n\t\t\t\treturn errors.New(\"truetype: hinting: stack overflow\")\n\t\t\t}\n\t\t\th.stack[top] = h.stack[top-1]\n\t\t\ttop++\n\n\t\tcase opPOP:\n\t\t\ttop--\n\n\t\tcase opCLEAR:\n\t\t\ttop = 0\n\n\t\tcase opSWAP:\n\t\t\th.stack[top-1], h.stack[top-2] = h.stack[top-2], h.stack[top-1]\n\n\t\tcase opDEPTH:\n\t\t\tif top >= len(h.stack) {\n\t\t\t\treturn errors.New(\"truetype: hinting: stack overflow\")\n\t\t\t}\n\t\t\th.stack[top] = int32(top)\n\t\t\ttop++\n\n\t\tcase opCINDEX, opMINDEX:\n\t\t\tx := int(h.stack[top-1])\n\t\t\tif x <= 0 || x >= top {\n\t\t\t\treturn errors.New(\"truetype: hinting: invalid data\")\n\t\t\t}\n\t\t\th.stack[top-1] = h.stack[top-1-x]\n\t\t\tif opcode == opMINDEX {\n\t\t\t\tcopy(h.stack[top-1-x:top-1], h.stack[top-x:top])\n\t\t\t\ttop--\n\t\t\t}\n\n\t\tcase opALIGNPTS:\n\t\t\ttop -= 2\n\t\t\tp := h.point(1, current, h.stack[top])\n\t\t\tq := h.point(0, current, h.stack[top+1])\n\t\t\tif p == nil || q == nil {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\t\t\td := dotProduct(fixed.Int26_6(q.X-p.X), fixed.Int26_6(q.Y-p.Y), h.gs.pv) / 2\n\t\t\th.move(p, +d, true)\n\t\t\th.move(q, -d, true)\n\n\t\tcase opUTP:\n\t\t\ttop--\n\t\t\tp := h.point(0, current, h.stack[top])\n\t\t\tif p == nil {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\t\t\tp.Flags &^= flagTouchedX | flagTouchedY\n\n\t\tcase opLOOPCALL, opCALL:\n\t\t\tif callStackTop >= len(callStack) {\n\t\t\t\treturn errors.New(\"truetype: hinting: call stack overflow\")\n\t\t\t}\n\t\t\ttop--\n\t\t\tf, ok := h.functions[h.stack[top]]\n\t\t\tif !ok {\n\t\t\t\treturn errors.New(\"truetype: hinting: undefined function\")\n\t\t\t}\n\t\t\tcallStack[callStackTop] = callStackEntry{program, pc, 1}\n\t\t\tif opcode == opLOOPCALL {\n\t\t\t\ttop--\n\t\t\t\tif h.stack[top] == 0 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcallStack[callStackTop].loopCount = h.stack[top]\n\t\t\t}\n\t\t\tcallStackTop++\n\t\t\tprogram, pc = f, 0\n\t\t\tcontinue\n\n\t\tcase opFDEF:\n\t\t\t// Save all bytecode up until the next ENDF.\n\t\t\tstartPC := pc + 1\n\t\tfdefloop:\n\t\t\tfor {\n\t\t\t\tpc++\n\t\t\t\tif pc >= len(program) {\n\t\t\t\t\treturn errors.New(\"truetype: hinting: unbalanced FDEF\")\n\t\t\t\t}\n\t\t\t\tswitch program[pc] {\n\t\t\t\tcase opFDEF:\n\t\t\t\t\treturn errors.New(\"truetype: hinting: nested FDEF\")\n\t\t\t\tcase opENDF:\n\t\t\t\t\ttop--\n\t\t\t\t\th.functions[h.stack[top]] = program[startPC : pc+1]\n\t\t\t\t\tbreak fdefloop\n\t\t\t\tdefault:\n\t\t\t\t\tvar ok bool\n\t\t\t\t\tpc, ok = skipInstructionPayload(program, pc)\n\t\t\t\t\tif !ok {\n\t\t\t\t\t\treturn errors.New(\"truetype: hinting: unbalanced FDEF\")\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\tcase opENDF:\n\t\t\tif callStackTop == 0 {\n\t\t\t\treturn errors.New(\"truetype: hinting: call stack underflow\")\n\t\t\t}\n\t\t\tcallStackTop--\n\t\t\tcallStack[callStackTop].loopCount--\n\t\t\tif callStack[callStackTop].loopCount != 0 {\n\t\t\t\tcallStackTop++\n\t\t\t\tpc = 0\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tprogram, pc = callStack[callStackTop].program, callStack[callStackTop].pc\n\n\t\tcase opMDAP0, opMDAP1:\n\t\t\ttop--\n\t\t\ti := h.stack[top]\n\t\t\tp := h.point(0, current, i)\n\t\t\tif p == nil {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\t\t\tdistance := fixed.Int26_6(0)\n\t\t\tif opcode == opMDAP1 {\n\t\t\t\tdistance = dotProduct(p.X, p.Y, h.gs.pv)\n\t\t\t\t// TODO: metrics compensation.\n\t\t\t\tdistance = h.round(distance) - distance\n\t\t\t}\n\t\t\th.move(p, distance, true)\n\t\t\th.gs.rp[0] = i\n\t\t\th.gs.rp[1] = i\n\n\t\tcase opIUP0, opIUP1:\n\t\t\tiupY, mask := opcode == opIUP0, uint32(flagTouchedX)\n\t\t\tif iupY {\n\t\t\t\tmask = flagTouchedY\n\t\t\t}\n\t\t\tprevEnd := 0\n\t\t\tfor _, end := range h.ends {\n\t\t\t\tfor i := prevEnd; i < end; i++ {\n\t\t\t\t\tfor i < end && h.points[glyphZone][current][i].Flags&mask == 0 {\n\t\t\t\t\t\ti++\n\t\t\t\t\t}\n\t\t\t\t\tif i == end {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tfirstTouched, curTouched := i, i\n\t\t\t\t\ti++\n\t\t\t\t\tfor ; i < end; i++ {\n\t\t\t\t\t\tif h.points[glyphZone][current][i].Flags&mask != 0 {\n\t\t\t\t\t\t\th.iupInterp(iupY, curTouched+1, i-1, curTouched, i)\n\t\t\t\t\t\t\tcurTouched = i\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif curTouched == firstTouched {\n\t\t\t\t\t\th.iupShift(iupY, prevEnd, end, curTouched)\n\t\t\t\t\t} else {\n\t\t\t\t\t\th.iupInterp(iupY, curTouched+1, end-1, curTouched, firstTouched)\n\t\t\t\t\t\tif firstTouched > 0 {\n\t\t\t\t\t\t\th.iupInterp(iupY, prevEnd, firstTouched-1, curTouched, firstTouched)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tprevEnd = end\n\t\t\t}\n\n\t\tcase opSHP0, opSHP1:\n\t\t\tif top < int(h.gs.loop) {\n\t\t\t\treturn errors.New(\"truetype: hinting: stack underflow\")\n\t\t\t}\n\t\t\t_, _, d, ok := h.displacement(opcode&1 == 0)\n\t\t\tif !ok {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\t\t\tfor ; h.gs.loop != 0; h.gs.loop-- {\n\t\t\t\ttop--\n\t\t\t\tp := h.point(2, current, h.stack[top])\n\t\t\t\tif p == nil {\n\t\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t\t}\n\t\t\t\th.move(p, d, true)\n\t\t\t}\n\t\t\th.gs.loop = 1\n\n\t\tcase opSHC0, opSHC1:\n\t\t\ttop--\n\t\t\tzonePointer, i, d, ok := h.displacement(opcode&1 == 0)\n\t\t\tif !ok {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\t\t\tif h.gs.zp[2] == 0 {\n\t\t\t\t// TODO: implement this when we have a glyph that does this.\n\t\t\t\treturn errors.New(\"hinting: unimplemented SHC instruction\")\n\t\t\t}\n\t\t\tcontour := h.stack[top]\n\t\t\tif contour < 0 || len(ends) <= int(contour) {\n\t\t\t\treturn errors.New(\"truetype: hinting: contour out of range\")\n\t\t\t}\n\t\t\tj0, j1 := int32(0), int32(h.ends[contour])\n\t\t\tif contour > 0 {\n\t\t\t\tj0 = int32(h.ends[contour-1])\n\t\t\t}\n\t\t\tmove := h.gs.zp[zonePointer] != h.gs.zp[2]\n\t\t\tfor j := j0; j < j1; j++ {\n\t\t\t\tif move || j != i {\n\t\t\t\t\th.move(h.point(2, current, j), d, true)\n\t\t\t\t}\n\t\t\t}\n\n\t\tcase opSHZ0, opSHZ1:\n\t\t\ttop--\n\t\t\tzonePointer, i, d, ok := h.displacement(opcode&1 == 0)\n\t\t\tif !ok {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\n\t\t\t// As per C Freetype, SHZ doesn't move the phantom points, or mark\n\t\t\t// the points as touched.\n\t\t\tlimit := int32(len(h.points[h.gs.zp[2]][current]))\n\t\t\tif h.gs.zp[2] == glyphZone {\n\t\t\t\tlimit -= 4\n\t\t\t}\n\t\t\tfor j := int32(0); j < limit; j++ {\n\t\t\t\tif i != j || h.gs.zp[zonePointer] != h.gs.zp[2] {\n\t\t\t\t\th.move(h.point(2, current, j), d, false)\n\t\t\t\t}\n\t\t\t}\n\n\t\tcase opSHPIX:\n\t\t\ttop--\n\t\t\td := fixed.Int26_6(h.stack[top])\n\t\t\tif top < int(h.gs.loop) {\n\t\t\t\treturn errors.New(\"truetype: hinting: stack underflow\")\n\t\t\t}\n\t\t\tfor ; h.gs.loop != 0; h.gs.loop-- {\n\t\t\t\ttop--\n\t\t\t\tp := h.point(2, current, h.stack[top])\n\t\t\t\tif p == nil {\n\t\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t\t}\n\t\t\t\th.move(p, d, true)\n\t\t\t}\n\t\t\th.gs.loop = 1\n\n\t\tcase opIP:\n\t\t\tif top < int(h.gs.loop) {\n\t\t\t\treturn errors.New(\"truetype: hinting: stack underflow\")\n\t\t\t}\n\t\t\tpointType := inFontUnits\n\t\t\ttwilight := h.gs.zp[0] == 0 || h.gs.zp[1] == 0 || h.gs.zp[2] == 0\n\t\t\tif twilight {\n\t\t\t\tpointType = unhinted\n\t\t\t}\n\t\t\tp := h.point(1, pointType, h.gs.rp[2])\n\t\t\toldP := h.point(0, pointType, h.gs.rp[1])\n\t\t\toldRange := dotProduct(p.X-oldP.X, p.Y-oldP.Y, h.gs.dv)\n\n\t\t\tp = h.point(1, current, h.gs.rp[2])\n\t\t\tcurP := h.point(0, current, h.gs.rp[1])\n\t\t\tcurRange := dotProduct(p.X-curP.X, p.Y-curP.Y, h.gs.pv)\n\t\t\tfor ; h.gs.loop != 0; h.gs.loop-- {\n\t\t\t\ttop--\n\t\t\t\ti := h.stack[top]\n\t\t\t\tp = h.point(2, pointType, i)\n\t\t\t\toldDist := dotProduct(p.X-oldP.X, p.Y-oldP.Y, h.gs.dv)\n\t\t\t\tp = h.point(2, current, i)\n\t\t\t\tcurDist := dotProduct(p.X-curP.X, p.Y-curP.Y, h.gs.pv)\n\t\t\t\tnewDist := fixed.Int26_6(0)\n\t\t\t\tif oldDist != 0 {\n\t\t\t\t\tif oldRange != 0 {\n\t\t\t\t\t\tnewDist = fixed.Int26_6(mulDiv(int64(oldDist), int64(curRange), int64(oldRange)))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewDist = -oldDist\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\th.move(p, newDist-curDist, true)\n\t\t\t}\n\t\t\th.gs.loop = 1\n\n\t\tcase opMSIRP0, opMSIRP1:\n\t\t\ttop -= 2\n\t\t\ti := h.stack[top]\n\t\t\tdistance := fixed.Int26_6(h.stack[top+1])\n\n\t\t\t// TODO: special case h.gs.zp[1] == 0 in C Freetype.\n\t\t\tref := h.point(0, current, h.gs.rp[0])\n\t\t\tp := h.point(1, current, i)\n\t\t\tif ref == nil || p == nil {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\t\t\tcurDist := dotProduct(p.X-ref.X, p.Y-ref.Y, h.gs.pv)\n\n\t\t\t// Set-RP0 bit.\n\t\t\tif opcode == opMSIRP1 {\n\t\t\t\th.gs.rp[0] = i\n\t\t\t}\n\t\t\th.gs.rp[1] = h.gs.rp[0]\n\t\t\th.gs.rp[2] = i\n\n\t\t\t// Move the point.\n\t\t\th.move(p, distance-curDist, true)\n\n\t\tcase opALIGNRP:\n\t\t\tif top < int(h.gs.loop) {\n\t\t\t\treturn errors.New(\"truetype: hinting: stack underflow\")\n\t\t\t}\n\t\t\tref := h.point(0, current, h.gs.rp[0])\n\t\t\tif ref == nil {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\t\t\tfor ; h.gs.loop != 0; h.gs.loop-- {\n\t\t\t\ttop--\n\t\t\t\tp := h.point(1, current, h.stack[top])\n\t\t\t\tif p == nil {\n\t\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t\t}\n\t\t\t\th.move(p, -dotProduct(p.X-ref.X, p.Y-ref.Y, h.gs.pv), true)\n\t\t\t}\n\t\t\th.gs.loop = 1\n\n\t\tcase opRTDG:\n\t\t\th.gs.roundPeriod = 1 << 5\n\t\t\th.gs.roundPhase = 0\n\t\t\th.gs.roundThreshold = 1 << 4\n\t\t\th.gs.roundSuper45 = false\n\n\t\tcase opMIAP0, opMIAP1:\n\t\t\ttop -= 2\n\t\t\ti := h.stack[top]\n\t\t\tdistance := h.getScaledCVT(h.stack[top+1])\n\t\t\tif h.gs.zp[0] == 0 {\n\t\t\t\tp := h.point(0, unhinted, i)\n\t\t\t\tq := h.point(0, current, i)\n\t\t\t\tp.X = fixed.Int26_6((int64(distance) * int64(h.gs.fv[0])) >> 14)\n\t\t\t\tp.Y = fixed.Int26_6((int64(distance) * int64(h.gs.fv[1])) >> 14)\n\t\t\t\t*q = *p\n\t\t\t}\n\t\t\tp := h.point(0, current, i)\n\t\t\toldDist := dotProduct(p.X, p.Y, h.gs.pv)\n\t\t\tif opcode == opMIAP1 {\n\t\t\t\tif fabs(distance-oldDist) > h.gs.controlValueCutIn {\n\t\t\t\t\tdistance = oldDist\n\t\t\t\t}\n\t\t\t\t// TODO: metrics compensation.\n\t\t\t\tdistance = h.round(distance)\n\t\t\t}\n\t\t\th.move(p, distance-oldDist, true)\n\t\t\th.gs.rp[0] = i\n\t\t\th.gs.rp[1] = i\n\n\t\tcase opNPUSHB:\n\t\t\topcode = 0\n\t\t\tgoto push\n\n\t\tcase opNPUSHW:\n\t\t\topcode = 0x80\n\t\t\tgoto push\n\n\t\tcase opWS:\n\t\t\ttop -= 2\n\t\t\ti := int(h.stack[top])\n\t\t\tif i < 0 || len(h.store) <= i {\n\t\t\t\treturn errors.New(\"truetype: hinting: invalid data\")\n\t\t\t}\n\t\t\th.store[i] = h.stack[top+1]\n\n\t\tcase opRS:\n\t\t\ti := int(h.stack[top-1])\n\t\t\tif i < 0 || len(h.store) <= i {\n\t\t\t\treturn errors.New(\"truetype: hinting: invalid data\")\n\t\t\t}\n\t\t\th.stack[top-1] = h.store[i]\n\n\t\tcase opWCVTP:\n\t\t\ttop -= 2\n\t\t\th.setScaledCVT(h.stack[top], fixed.Int26_6(h.stack[top+1]))\n\n\t\tcase opRCVT:\n\t\t\th.stack[top-1] = int32(h.getScaledCVT(h.stack[top-1]))\n\n\t\tcase opGC0, opGC1:\n\t\t\ti := h.stack[top-1]\n\t\t\tif opcode == opGC0 {\n\t\t\t\tp := h.point(2, current, i)\n\t\t\t\th.stack[top-1] = int32(dotProduct(p.X, p.Y, h.gs.pv))\n\t\t\t} else {\n\t\t\t\tp := h.point(2, unhinted, i)\n\t\t\t\t// Using dv as per C Freetype.\n\t\t\t\th.stack[top-1] = int32(dotProduct(p.X, p.Y, h.gs.dv))\n\t\t\t}\n\n\t\tcase opSCFS:\n\t\t\ttop -= 2\n\t\t\ti := h.stack[top]\n\t\t\tp := h.point(2, current, i)\n\t\t\tif p == nil {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\t\t\tc := dotProduct(p.X, p.Y, h.gs.pv)\n\t\t\th.move(p, fixed.Int26_6(h.stack[top+1])-c, true)\n\t\t\tif h.gs.zp[2] != 0 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tq := h.point(2, unhinted, i)\n\t\t\tif q == nil {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\t\t\tq.X = p.X\n\t\t\tq.Y = p.Y\n\n\t\tcase opMD0, opMD1:\n\t\t\ttop--\n\t\t\tpt, v, scale := pointType(0), [2]f2dot14{}, false\n\t\t\tif opcode == opMD0 {\n\t\t\t\tpt = current\n\t\t\t\tv = h.gs.pv\n\t\t\t} else if h.gs.zp[0] == 0 || h.gs.zp[1] == 0 {\n\t\t\t\tpt = unhinted\n\t\t\t\tv = h.gs.dv\n\t\t\t} else {\n\t\t\t\tpt = inFontUnits\n\t\t\t\tv = h.gs.dv\n\t\t\t\tscale = true\n\t\t\t}\n\t\t\tp := h.point(0, pt, h.stack[top-1])\n\t\t\tq := h.point(1, pt, h.stack[top])\n\t\t\tif p == nil || q == nil {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\t\t\td := int32(dotProduct(p.X-q.X, p.Y-q.Y, v))\n\t\t\tif scale {\n\t\t\t\td = int32(int64(d*int32(h.scale)) / int64(h.font.fUnitsPerEm))\n\t\t\t}\n\t\t\th.stack[top-1] = d\n\n\t\tcase opMPPEM, opMPS:\n\t\t\tif top >= len(h.stack) {\n\t\t\t\treturn errors.New(\"truetype: hinting: stack overflow\")\n\t\t\t}\n\t\t\t// For MPS, point size should be irrelevant; we return the PPEM.\n\t\t\th.stack[top] = int32(h.scale) >> 6\n\t\t\ttop++\n\n\t\tcase opFLIPON, opFLIPOFF:\n\t\t\th.gs.autoFlip = opcode == opFLIPON\n\n\t\tcase opDEBUG:\n\t\t\t// No-op.\n\n\t\tcase opLT:\n\t\t\ttop--\n\t\t\th.stack[top-1] = bool2int32(h.stack[top-1] < h.stack[top])\n\n\t\tcase opLTEQ:\n\t\t\ttop--\n\t\t\th.stack[top-1] = bool2int32(h.stack[top-1] <= h.stack[top])\n\n\t\tcase opGT:\n\t\t\ttop--\n\t\t\th.stack[top-1] = bool2int32(h.stack[top-1] > h.stack[top])\n\n\t\tcase opGTEQ:\n\t\t\ttop--\n\t\t\th.stack[top-1] = bool2int32(h.stack[top-1] >= h.stack[top])\n\n\t\tcase opEQ:\n\t\t\ttop--\n\t\t\th.stack[top-1] = bool2int32(h.stack[top-1] == h.stack[top])\n\n\t\tcase opNEQ:\n\t\t\ttop--\n\t\t\th.stack[top-1] = bool2int32(h.stack[top-1] != h.stack[top])\n\n\t\tcase opODD, opEVEN:\n\t\t\ti := h.round(fixed.Int26_6(h.stack[top-1])) >> 6\n\t\t\th.stack[top-1] = int32(i&1) ^ int32(opcode-opODD)\n\n\t\tcase opIF:\n\t\t\ttop--\n\t\t\tif h.stack[top] == 0 {\n\t\t\t\topcode = 0\n\t\t\t\tgoto ifelse\n\t\t\t}\n\n\t\tcase opEIF:\n\t\t\t// No-op.\n\n\t\tcase opAND:\n\t\t\ttop--\n\t\t\th.stack[top-1] = bool2int32(h.stack[top-1] != 0 && h.stack[top] != 0)\n\n\t\tcase opOR:\n\t\t\ttop--\n\t\t\th.stack[top-1] = bool2int32(h.stack[top-1]|h.stack[top] != 0)\n\n\t\tcase opNOT:\n\t\t\th.stack[top-1] = bool2int32(h.stack[top-1] == 0)\n\n\t\tcase opDELTAP1:\n\t\t\tgoto delta\n\n\t\tcase opSDB:\n\t\t\ttop--\n\t\t\th.gs.deltaBase = h.stack[top]\n\n\t\tcase opSDS:\n\t\t\ttop--\n\t\t\th.gs.deltaShift = h.stack[top]\n\n\t\tcase opADD:\n\t\t\ttop--\n\t\t\th.stack[top-1] += h.stack[top]\n\n\t\tcase opSUB:\n\t\t\ttop--\n\t\t\th.stack[top-1] -= h.stack[top]\n\n\t\tcase opDIV:\n\t\t\ttop--\n\t\t\tif h.stack[top] == 0 {\n\t\t\t\treturn errors.New(\"truetype: hinting: division by zero\")\n\t\t\t}\n\t\t\th.stack[top-1] = int32(fdiv(fixed.Int26_6(h.stack[top-1]), fixed.Int26_6(h.stack[top])))\n\n\t\tcase opMUL:\n\t\t\ttop--\n\t\t\th.stack[top-1] = int32(fmul(fixed.Int26_6(h.stack[top-1]), fixed.Int26_6(h.stack[top])))\n\n\t\tcase opABS:\n\t\t\tif h.stack[top-1] < 0 {\n\t\t\t\th.stack[top-1] = -h.stack[top-1]\n\t\t\t}\n\n\t\tcase opNEG:\n\t\t\th.stack[top-1] = -h.stack[top-1]\n\n\t\tcase opFLOOR:\n\t\t\th.stack[top-1] &^= 63\n\n\t\tcase opCEILING:\n\t\t\th.stack[top-1] += 63\n\t\t\th.stack[top-1] &^= 63\n\n\t\tcase opROUND00, opROUND01, opROUND10, opROUND11:\n\t\t\t// The four flavors of opROUND are equivalent. See the comment below on\n\t\t\t// opNROUND for the rationale.\n\t\t\th.stack[top-1] = int32(h.round(fixed.Int26_6(h.stack[top-1])))\n\n\t\tcase opNROUND00, opNROUND01, opNROUND10, opNROUND11:\n\t\t\t// No-op. The spec says to add one of four \"compensations for the engine\n\t\t\t// characteristics\", to cater for things like \"different dot-size printers\".\n\t\t\t// https://developer.apple.com/fonts/TTRefMan/RM02/Chap2.html#engine_compensation\n\t\t\t// This code does not implement engine compensation, as we don't expect to\n\t\t\t// be used to output on dot-matrix printers.\n\n\t\tcase opWCVTF:\n\t\t\ttop -= 2\n\t\t\th.setScaledCVT(h.stack[top], h.font.scale(h.scale*fixed.Int26_6(h.stack[top+1])))\n\n\t\tcase opDELTAP2, opDELTAP3, opDELTAC1, opDELTAC2, opDELTAC3:\n\t\t\tgoto delta\n\n\t\tcase opSROUND, opS45ROUND:\n\t\t\ttop--\n\t\t\tswitch (h.stack[top] >> 6) & 0x03 {\n\t\t\tcase 0:\n\t\t\t\th.gs.roundPeriod = 1 << 5\n\t\t\tcase 1, 3:\n\t\t\t\th.gs.roundPeriod = 1 << 6\n\t\t\tcase 2:\n\t\t\t\th.gs.roundPeriod = 1 << 7\n\t\t\t}\n\t\t\th.gs.roundSuper45 = opcode == opS45ROUND\n\t\t\tif h.gs.roundSuper45 {\n\t\t\t\t// The spec says to multiply by √2, but the C Freetype code says 1/√2.\n\t\t\t\t// We go with 1/√2.\n\t\t\t\th.gs.roundPeriod *= 46341\n\t\t\t\th.gs.roundPeriod /= 65536\n\t\t\t}\n\t\t\th.gs.roundPhase = h.gs.roundPeriod * fixed.Int26_6((h.stack[top]>>4)&0x03) / 4\n\t\t\tif x := h.stack[top] & 0x0f; x != 0 {\n\t\t\t\th.gs.roundThreshold = h.gs.roundPeriod * fixed.Int26_6(x-4) / 8\n\t\t\t} else {\n\t\t\t\th.gs.roundThreshold = h.gs.roundPeriod - 1\n\t\t\t}\n\n\t\tcase opJROT:\n\t\t\ttop -= 2\n\t\t\tif h.stack[top+1] != 0 {\n\t\t\t\tpc += int(h.stack[top])\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\tcase opJROF:\n\t\t\ttop -= 2\n\t\t\tif h.stack[top+1] == 0 {\n\t\t\t\tpc += int(h.stack[top])\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\tcase opROFF:\n\t\t\th.gs.roundPeriod = 0\n\t\t\th.gs.roundPhase = 0\n\t\t\th.gs.roundThreshold = 0\n\t\t\th.gs.roundSuper45 = false\n\n\t\tcase opRUTG:\n\t\t\th.gs.roundPeriod = 1 << 6\n\t\t\th.gs.roundPhase = 0\n\t\t\th.gs.roundThreshold = 1<<6 - 1\n\t\t\th.gs.roundSuper45 = false\n\n\t\tcase opRDTG:\n\t\t\th.gs.roundPeriod = 1 << 6\n\t\t\th.gs.roundPhase = 0\n\t\t\th.gs.roundThreshold = 0\n\t\t\th.gs.roundSuper45 = false\n\n\t\tcase opSANGW, opAA:\n\t\t\t// These ops are \"anachronistic\" and no longer used.\n\t\t\ttop--\n\n\t\tcase opFLIPPT:\n\t\t\tif top < int(h.gs.loop) {\n\t\t\t\treturn errors.New(\"truetype: hinting: stack underflow\")\n\t\t\t}\n\t\t\tpoints := h.points[glyphZone][current]\n\t\t\tfor ; h.gs.loop != 0; h.gs.loop-- {\n\t\t\t\ttop--\n\t\t\t\ti := h.stack[top]\n\t\t\t\tif i < 0 || len(points) <= int(i) {\n\t\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t\t}\n\t\t\t\tpoints[i].Flags ^= flagOnCurve\n\t\t\t}\n\t\t\th.gs.loop = 1\n\n\t\tcase opFLIPRGON, opFLIPRGOFF:\n\t\t\ttop -= 2\n\t\t\ti, j, points := h.stack[top], h.stack[top+1], h.points[glyphZone][current]\n\t\t\tif i < 0 || len(points) <= int(i) || j < 0 || len(points) <= int(j) {\n\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t}\n\t\t\tfor ; i <= j; i++ {\n\t\t\t\tif opcode == opFLIPRGON {\n\t\t\t\t\tpoints[i].Flags |= flagOnCurve\n\t\t\t\t} else {\n\t\t\t\t\tpoints[i].Flags &^= flagOnCurve\n\t\t\t\t}\n\t\t\t}\n\n\t\tcase opSCANCTRL:\n\t\t\t// We do not support dropout control, as we always rasterize grayscale glyphs.\n\t\t\ttop--\n\n\t\tcase opSDPVTL0, opSDPVTL1:\n\t\t\ttop -= 2\n\t\t\tfor i := 0; i < 2; i++ {\n\t\t\t\tpt := unhinted\n\t\t\t\tif i != 0 {\n\t\t\t\t\tpt = current\n\t\t\t\t}\n\t\t\t\tp := h.point(1, pt, h.stack[top])\n\t\t\t\tq := h.point(2, pt, h.stack[top+1])\n\t\t\t\tif p == nil || q == nil {\n\t\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t\t}\n\t\t\t\tdx := f2dot14(p.X - q.X)\n\t\t\t\tdy := f2dot14(p.Y - q.Y)\n\t\t\t\tif dx == 0 && dy == 0 {\n\t\t\t\t\tdx = 0x4000\n\t\t\t\t} else if opcode&1 != 0 {\n\t\t\t\t\t// Counter-clockwise rotation.\n\t\t\t\t\tdx, dy = -dy, dx\n\t\t\t\t}\n\t\t\t\tif i == 0 {\n\t\t\t\t\th.gs.dv = normalize(dx, dy)\n\t\t\t\t} else {\n\t\t\t\t\th.gs.pv = normalize(dx, dy)\n\t\t\t\t}\n\t\t\t}\n\n\t\tcase opGETINFO:\n\t\t\tres := int32(0)\n\t\t\tif h.stack[top-1]&(1<<0) != 0 {\n\t\t\t\t// Set the engine version. We hard-code this to 35, the same as\n\t\t\t\t// the C freetype code, which says that \"Version~35 corresponds\n\t\t\t\t// to MS rasterizer v.1.7 as used e.g. in Windows~98\".\n\t\t\t\tres |= 35\n\t\t\t}\n\t\t\tif h.stack[top-1]&(1<<5) != 0 {\n\t\t\t\t// Set that we support grayscale.\n\t\t\t\tres |= 1 << 12\n\t\t\t}\n\t\t\t// We set no other bits, as we do not support rotated or stretched glyphs.\n\t\t\th.stack[top-1] = res\n\n\t\tcase opIDEF:\n\t\t\t// IDEF is for ancient versions of the bytecode interpreter, and is no longer used.\n\t\t\treturn errors.New(\"truetype: hinting: unsupported IDEF instruction\")\n\n\t\tcase opROLL:\n\t\t\th.stack[top-1], h.stack[top-3], h.stack[top-2] =\n\t\t\t\th.stack[top-3], h.stack[top-2], h.stack[top-1]\n\n\t\tcase opMAX:\n\t\t\ttop--\n\t\t\tif h.stack[top-1] < h.stack[top] {\n\t\t\t\th.stack[top-1] = h.stack[top]\n\t\t\t}\n\n\t\tcase opMIN:\n\t\t\ttop--\n\t\t\tif h.stack[top-1] > h.stack[top] {\n\t\t\t\th.stack[top-1] = h.stack[top]\n\t\t\t}\n\n\t\tcase opSCANTYPE:\n\t\t\t// We do not support dropout control, as we always rasterize grayscale glyphs.\n\t\t\ttop--\n\n\t\tcase opINSTCTRL:\n\t\t\t// TODO: support instruction execution control? It seems rare, and even when\n\t\t\t// nominally used (e.g. Source Sans Pro), it seems conditional on extreme or\n\t\t\t// unusual rasterization conditions. For example, the code snippet at\n\t\t\t// https://developer.apple.com/fonts/TTRefMan/RM05/Chap5.html#INSTCTRL\n\t\t\t// uses INSTCTRL when grid-fitting a rotated or stretched glyph, but\n\t\t\t// freetype-go does not support rotated or stretched glyphs.\n\t\t\ttop -= 2\n\n\t\tdefault:\n\t\t\tif opcode < opPUSHB000 {\n\t\t\t\treturn errors.New(\"truetype: hinting: unrecognized instruction\")\n\t\t\t}\n\n\t\t\tif opcode < opMDRP00000 {\n\t\t\t\t// PUSHxxxx opcode.\n\n\t\t\t\tif opcode < opPUSHW000 {\n\t\t\t\t\topcode -= opPUSHB000 - 1\n\t\t\t\t} else {\n\t\t\t\t\topcode -= opPUSHW000 - 1 - 0x80\n\t\t\t\t}\n\t\t\t\tgoto push\n\t\t\t}\n\n\t\t\tif opcode < opMIRP00000 {\n\t\t\t\t// MDRPxxxxx opcode.\n\n\t\t\t\ttop--\n\t\t\t\ti := h.stack[top]\n\t\t\t\tref := h.point(0, current, h.gs.rp[0])\n\t\t\t\tp := h.point(1, current, i)\n\t\t\t\tif ref == nil || p == nil {\n\t\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t\t}\n\n\t\t\t\toldDist := fixed.Int26_6(0)\n\t\t\t\tif h.gs.zp[0] == 0 || h.gs.zp[1] == 0 {\n\t\t\t\t\tp0 := h.point(1, unhinted, i)\n\t\t\t\t\tp1 := h.point(0, unhinted, h.gs.rp[0])\n\t\t\t\t\toldDist = dotProduct(p0.X-p1.X, p0.Y-p1.Y, h.gs.dv)\n\t\t\t\t} else {\n\t\t\t\t\tp0 := h.point(1, inFontUnits, i)\n\t\t\t\t\tp1 := h.point(0, inFontUnits, h.gs.rp[0])\n\t\t\t\t\toldDist = dotProduct(p0.X-p1.X, p0.Y-p1.Y, h.gs.dv)\n\t\t\t\t\toldDist = h.font.scale(h.scale * oldDist)\n\t\t\t\t}\n\n\t\t\t\t// Single-width cut-in test.\n\t\t\t\tif x := fabs(oldDist - h.gs.singleWidth); x < h.gs.singleWidthCutIn {\n\t\t\t\t\tif oldDist >= 0 {\n\t\t\t\t\t\toldDist = +h.gs.singleWidth\n\t\t\t\t\t} else {\n\t\t\t\t\t\toldDist = -h.gs.singleWidth\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Rounding bit.\n\t\t\t\t// TODO: metrics compensation.\n\t\t\t\tdistance := oldDist\n\t\t\t\tif opcode&0x04 != 0 {\n\t\t\t\t\tdistance = h.round(oldDist)\n\t\t\t\t}\n\n\t\t\t\t// Minimum distance bit.\n\t\t\t\tif opcode&0x08 != 0 {\n\t\t\t\t\tif oldDist >= 0 {\n\t\t\t\t\t\tif distance < h.gs.minDist {\n\t\t\t\t\t\t\tdistance = h.gs.minDist\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif distance > -h.gs.minDist {\n\t\t\t\t\t\t\tdistance = -h.gs.minDist\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Set-RP0 bit.\n\t\t\t\th.gs.rp[1] = h.gs.rp[0]\n\t\t\t\th.gs.rp[2] = i\n\t\t\t\tif opcode&0x10 != 0 {\n\t\t\t\t\th.gs.rp[0] = i\n\t\t\t\t}\n\n\t\t\t\t// Move the point.\n\t\t\t\toldDist = dotProduct(p.X-ref.X, p.Y-ref.Y, h.gs.pv)\n\t\t\t\th.move(p, distance-oldDist, true)\n\n\t\t\t} else {\n\t\t\t\t// MIRPxxxxx opcode.\n\n\t\t\t\ttop -= 2\n\t\t\t\ti := h.stack[top]\n\t\t\t\tcvtDist := h.getScaledCVT(h.stack[top+1])\n\t\t\t\tif fabs(cvtDist-h.gs.singleWidth) < h.gs.singleWidthCutIn {\n\t\t\t\t\tif cvtDist >= 0 {\n\t\t\t\t\t\tcvtDist = +h.gs.singleWidth\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcvtDist = -h.gs.singleWidth\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif h.gs.zp[1] == 0 {\n\t\t\t\t\t// TODO: implement once we have a .ttf file that triggers\n\t\t\t\t\t// this, so that we can step through C's freetype.\n\t\t\t\t\treturn errors.New(\"truetype: hinting: unimplemented twilight point adjustment\")\n\t\t\t\t}\n\n\t\t\t\tref := h.point(0, unhinted, h.gs.rp[0])\n\t\t\t\tp := h.point(1, unhinted, i)\n\t\t\t\tif ref == nil || p == nil {\n\t\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t\t}\n\t\t\t\toldDist := dotProduct(p.X-ref.X, p.Y-ref.Y, h.gs.dv)\n\n\t\t\t\tref = h.point(0, current, h.gs.rp[0])\n\t\t\t\tp = h.point(1, current, i)\n\t\t\t\tif ref == nil || p == nil {\n\t\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t\t}\n\t\t\t\tcurDist := dotProduct(p.X-ref.X, p.Y-ref.Y, h.gs.pv)\n\n\t\t\t\tif h.gs.autoFlip && oldDist^cvtDist < 0 {\n\t\t\t\t\tcvtDist = -cvtDist\n\t\t\t\t}\n\n\t\t\t\t// Rounding bit.\n\t\t\t\t// TODO: metrics compensation.\n\t\t\t\tdistance := cvtDist\n\t\t\t\tif opcode&0x04 != 0 {\n\t\t\t\t\t// The CVT value is only used if close enough to oldDist.\n\t\t\t\t\tif (h.gs.zp[0] == h.gs.zp[1]) &&\n\t\t\t\t\t\t(fabs(cvtDist-oldDist) > h.gs.controlValueCutIn) {\n\n\t\t\t\t\t\tdistance = oldDist\n\t\t\t\t\t}\n\t\t\t\t\tdistance = h.round(distance)\n\t\t\t\t}\n\n\t\t\t\t// Minimum distance bit.\n\t\t\t\tif opcode&0x08 != 0 {\n\t\t\t\t\tif oldDist >= 0 {\n\t\t\t\t\t\tif distance < h.gs.minDist {\n\t\t\t\t\t\t\tdistance = h.gs.minDist\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif distance > -h.gs.minDist {\n\t\t\t\t\t\t\tdistance = -h.gs.minDist\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Set-RP0 bit.\n\t\t\t\th.gs.rp[1] = h.gs.rp[0]\n\t\t\t\th.gs.rp[2] = i\n\t\t\t\tif opcode&0x10 != 0 {\n\t\t\t\t\th.gs.rp[0] = i\n\t\t\t\t}\n\n\t\t\t\t// Move the point.\n\t\t\t\th.move(p, distance-curDist, true)\n\t\t\t}\n\t\t}\n\t\tpc++\n\t\tcontinue\n\n\tifelse:\n\t\t// Skip past bytecode until the next ELSE (if opcode == 0) or the\n\t\t// next EIF (for all opcodes). Opcode == 0 means that we have come\n\t\t// from an IF. Opcode == 1 means that we have come from an ELSE.\n\t\t{\n\t\tifelseloop:\n\t\t\tfor depth := 0; ; {\n\t\t\t\tpc++\n\t\t\t\tif pc >= len(program) {\n\t\t\t\t\treturn errors.New(\"truetype: hinting: unbalanced IF or ELSE\")\n\t\t\t\t}\n\t\t\t\tswitch program[pc] {\n\t\t\t\tcase opIF:\n\t\t\t\t\tdepth++\n\t\t\t\tcase opELSE:\n\t\t\t\t\tif depth == 0 && opcode == 0 {\n\t\t\t\t\t\tbreak ifelseloop\n\t\t\t\t\t}\n\t\t\t\tcase opEIF:\n\t\t\t\t\tdepth--\n\t\t\t\t\tif depth < 0 {\n\t\t\t\t\t\tbreak ifelseloop\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tvar ok bool\n\t\t\t\t\tpc, ok = skipInstructionPayload(program, pc)\n\t\t\t\t\tif !ok {\n\t\t\t\t\t\treturn errors.New(\"truetype: hinting: unbalanced IF or ELSE\")\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpc++\n\t\t\tcontinue\n\t\t}\n\n\tpush:\n\t\t// Push n elements from the program to the stack, where n is the low 7 bits of\n\t\t// opcode. If the low 7 bits are zero, then n is the next byte from the program.\n\t\t// The high bit being 0 means that the elements are zero-extended bytes.\n\t\t// The high bit being 1 means that the elements are sign-extended words.\n\t\t{\n\t\t\twidth := 1\n\t\t\tif opcode&0x80 != 0 {\n\t\t\t\topcode &^= 0x80\n\t\t\t\twidth = 2\n\t\t\t}\n\t\t\tif opcode == 0 {\n\t\t\t\tpc++\n\t\t\t\tif pc >= len(program) {\n\t\t\t\t\treturn errors.New(\"truetype: hinting: insufficient data\")\n\t\t\t\t}\n\t\t\t\topcode = program[pc]\n\t\t\t}\n\t\t\tpc++\n\t\t\tif top+int(opcode) > len(h.stack) {\n\t\t\t\treturn errors.New(\"truetype: hinting: stack overflow\")\n\t\t\t}\n\t\t\tif pc+width*int(opcode) > len(program) {\n\t\t\t\treturn errors.New(\"truetype: hinting: insufficient data\")\n\t\t\t}\n\t\t\tfor ; opcode > 0; opcode-- {\n\t\t\t\tif width == 1 {\n\t\t\t\t\th.stack[top] = int32(program[pc])\n\t\t\t\t} else {\n\t\t\t\t\th.stack[top] = int32(int8(program[pc]))<<8 | int32(program[pc+1])\n\t\t\t\t}\n\t\t\t\ttop++\n\t\t\t\tpc += width\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\tdelta:\n\t\t{\n\t\t\tif opcode >= opDELTAC1 && !h.scaledCVTInitialized {\n\t\t\t\th.initializeScaledCVT()\n\t\t\t}\n\t\t\ttop--\n\t\t\tn := h.stack[top]\n\t\t\tif int32(top) < 2*n {\n\t\t\t\treturn errors.New(\"truetype: hinting: stack underflow\")\n\t\t\t}\n\t\t\tfor ; n > 0; n-- {\n\t\t\t\ttop -= 2\n\t\t\t\tb := h.stack[top]\n\t\t\t\tc := (b & 0xf0) >> 4\n\t\t\t\tswitch opcode {\n\t\t\t\tcase opDELTAP2, opDELTAC2:\n\t\t\t\t\tc += 16\n\t\t\t\tcase opDELTAP3, opDELTAC3:\n\t\t\t\t\tc += 32\n\t\t\t\t}\n\t\t\t\tc += h.gs.deltaBase\n\t\t\t\tif ppem := (int32(h.scale) + 1<<5) >> 6; ppem != c {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tb = (b & 0x0f) - 8\n\t\t\t\tif b >= 0 {\n\t\t\t\t\tb++\n\t\t\t\t}\n\t\t\t\tb = b * 64 / (1 << uint32(h.gs.deltaShift))\n\t\t\t\tif opcode >= opDELTAC1 {\n\t\t\t\t\ta := h.stack[top+1]\n\t\t\t\t\tif a < 0 || len(h.scaledCVT) <= int(a) {\n\t\t\t\t\t\treturn errors.New(\"truetype: hinting: index out of range\")\n\t\t\t\t\t}\n\t\t\t\t\th.scaledCVT[a] += fixed.Int26_6(b)\n\t\t\t\t} else {\n\t\t\t\t\tp := h.point(0, current, h.stack[top+1])\n\t\t\t\t\tif p == nil {\n\t\t\t\t\t\treturn errors.New(\"truetype: hinting: point out of range\")\n\t\t\t\t\t}\n\t\t\t\t\th.move(p, fixed.Int26_6(b), true)\n\t\t\t\t}\n\t\t\t}\n\t\t\tpc++\n\t\t\tcontinue\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (h *hinter) initializeScaledCVT() {\n\th.scaledCVTInitialized = true\n\tif n := len(h.font.cvt) / 2; n <= cap(h.scaledCVT) {\n\t\th.scaledCVT = h.scaledCVT[:n]\n\t} else {\n\t\tif n < 32 {\n\t\t\tn = 32\n\t\t}\n\t\th.scaledCVT = make([]fixed.Int26_6, len(h.font.cvt)/2, n)\n\t}\n\tfor i := range h.scaledCVT {\n\t\tunscaled := uint16(h.font.cvt[2*i])<<8 | uint16(h.font.cvt[2*i+1])\n\t\th.scaledCVT[i] = h.font.scale(h.scale * fixed.Int26_6(int16(unscaled)))\n\t}\n}\n\n// getScaledCVT returns the scaled value from the font's Control Value Table.\nfunc (h *hinter) getScaledCVT(i int32) fixed.Int26_6 {\n\tif !h.scaledCVTInitialized {\n\t\th.initializeScaledCVT()\n\t}\n\tif i < 0 || len(h.scaledCVT) <= int(i) {\n\t\treturn 0\n\t}\n\treturn h.scaledCVT[i]\n}\n\n// setScaledCVT overrides the scaled value from the font's Control Value Table.\nfunc (h *hinter) setScaledCVT(i int32, v fixed.Int26_6) {\n\tif !h.scaledCVTInitialized {\n\t\th.initializeScaledCVT()\n\t}\n\tif i < 0 || len(h.scaledCVT) <= int(i) {\n\t\treturn\n\t}\n\th.scaledCVT[i] = v\n}\n\nfunc (h *hinter) point(zonePointer uint32, pt pointType, i int32) *Point {\n\tpoints := h.points[h.gs.zp[zonePointer]][pt]\n\tif i < 0 || len(points) <= int(i) {\n\t\treturn nil\n\t}\n\treturn &points[i]\n}\n\nfunc (h *hinter) move(p *Point, distance fixed.Int26_6, touch bool) {\n\tfvx := int64(h.gs.fv[0])\n\tpvx := int64(h.gs.pv[0])\n\tif fvx == 0x4000 && pvx == 0x4000 {\n\t\tp.X += fixed.Int26_6(distance)\n\t\tif touch {\n\t\t\tp.Flags |= flagTouchedX\n\t\t}\n\t\treturn\n\t}\n\n\tfvy := int64(h.gs.fv[1])\n\tpvy := int64(h.gs.pv[1])\n\tif fvy == 0x4000 && pvy == 0x4000 {\n\t\tp.Y += fixed.Int26_6(distance)\n\t\tif touch {\n\t\t\tp.Flags |= flagTouchedY\n\t\t}\n\t\treturn\n\t}\n\n\tfvDotPv := (fvx*pvx + fvy*pvy) >> 14\n\n\tif fvx != 0 {\n\t\tp.X += fixed.Int26_6(mulDiv(fvx, int64(distance), fvDotPv))\n\t\tif touch {\n\t\t\tp.Flags |= flagTouchedX\n\t\t}\n\t}\n\n\tif fvy != 0 {\n\t\tp.Y += fixed.Int26_6(mulDiv(fvy, int64(distance), fvDotPv))\n\t\tif touch {\n\t\t\tp.Flags |= flagTouchedY\n\t\t}\n\t}\n}\n\nfunc (h *hinter) iupInterp(interpY bool, p1, p2, ref1, ref2 int) {\n\tif p1 > p2 {\n\t\treturn\n\t}\n\tif ref1 >= len(h.points[glyphZone][current]) ||\n\t\tref2 >= len(h.points[glyphZone][current]) {\n\t\treturn\n\t}\n\n\tvar ifu1, ifu2 fixed.Int26_6\n\tif interpY {\n\t\tifu1 = h.points[glyphZone][inFontUnits][ref1].Y\n\t\tifu2 = h.points[glyphZone][inFontUnits][ref2].Y\n\t} else {\n\t\tifu1 = h.points[glyphZone][inFontUnits][ref1].X\n\t\tifu2 = h.points[glyphZone][inFontUnits][ref2].X\n\t}\n\tif ifu1 > ifu2 {\n\t\tifu1, ifu2 = ifu2, ifu1\n\t\tref1, ref2 = ref2, ref1\n\t}\n\n\tvar unh1, unh2, delta1, delta2 fixed.Int26_6\n\tif interpY {\n\t\tunh1 = h.points[glyphZone][unhinted][ref1].Y\n\t\tunh2 = h.points[glyphZone][unhinted][ref2].Y\n\t\tdelta1 = h.points[glyphZone][current][ref1].Y - unh1\n\t\tdelta2 = h.points[glyphZone][current][ref2].Y - unh2\n\t} else {\n\t\tunh1 = h.points[glyphZone][unhinted][ref1].X\n\t\tunh2 = h.points[glyphZone][unhinted][ref2].X\n\t\tdelta1 = h.points[glyphZone][current][ref1].X - unh1\n\t\tdelta2 = h.points[glyphZone][current][ref2].X - unh2\n\t}\n\n\tvar xy, ifuXY fixed.Int26_6\n\tif ifu1 == ifu2 {\n\t\tfor i := p1; i <= p2; i++ {\n\t\t\tif interpY {\n\t\t\t\txy = h.points[glyphZone][unhinted][i].Y\n\t\t\t} else {\n\t\t\t\txy = h.points[glyphZone][unhinted][i].X\n\t\t\t}\n\n\t\t\tif xy <= unh1 {\n\t\t\t\txy += delta1\n\t\t\t} else {\n\t\t\t\txy += delta2\n\t\t\t}\n\n\t\t\tif interpY {\n\t\t\t\th.points[glyphZone][current][i].Y = xy\n\t\t\t} else {\n\t\t\t\th.points[glyphZone][current][i].X = xy\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\tscale, scaleOK := int64(0), false\n\tfor i := p1; i <= p2; i++ {\n\t\tif interpY {\n\t\t\txy = h.points[glyphZone][unhinted][i].Y\n\t\t\tifuXY = h.points[glyphZone][inFontUnits][i].Y\n\t\t} else {\n\t\t\txy = h.points[glyphZone][unhinted][i].X\n\t\t\tifuXY = h.points[glyphZone][inFontUnits][i].X\n\t\t}\n\n\t\tif xy <= unh1 {\n\t\t\txy += delta1\n\t\t} else if xy >= unh2 {\n\t\t\txy += delta2\n\t\t} else {\n\t\t\tif !scaleOK {\n\t\t\t\tscaleOK = true\n\t\t\t\tscale = mulDiv(int64(unh2+delta2-unh1-delta1), 0x10000, int64(ifu2-ifu1))\n\t\t\t}\n\t\t\tnumer := int64(ifuXY-ifu1) * scale\n\t\t\tif numer >= 0 {\n\t\t\t\tnumer += 0x8000\n\t\t\t} else {\n\t\t\t\tnumer -= 0x8000\n\t\t\t}\n\t\t\txy = unh1 + delta1 + fixed.Int26_6(numer/0x10000)\n\t\t}\n\n\t\tif interpY {\n\t\t\th.points[glyphZone][current][i].Y = xy\n\t\t} else {\n\t\t\th.points[glyphZone][current][i].X = xy\n\t\t}\n\t}\n}\n\nfunc (h *hinter) iupShift(interpY bool, p1, p2, p int) {\n\tvar delta fixed.Int26_6\n\tif interpY {\n\t\tdelta = h.points[glyphZone][current][p].Y - h.points[glyphZone][unhinted][p].Y\n\t} else {\n\t\tdelta = h.points[glyphZone][current][p].X - h.points[glyphZone][unhinted][p].X\n\t}\n\tif delta == 0 {\n\t\treturn\n\t}\n\tfor i := p1; i < p2; i++ {\n\t\tif i == p {\n\t\t\tcontinue\n\t\t}\n\t\tif interpY {\n\t\t\th.points[glyphZone][current][i].Y += delta\n\t\t} else {\n\t\t\th.points[glyphZone][current][i].X += delta\n\t\t}\n\t}\n}\n\nfunc (h *hinter) displacement(useZP1 bool) (zonePointer uint32, i int32, d fixed.Int26_6, ok bool) {\n\tzonePointer, i = uint32(0), h.gs.rp[1]\n\tif useZP1 {\n\t\tzonePointer, i = 1, h.gs.rp[2]\n\t}\n\tp := h.point(zonePointer, current, i)\n\tq := h.point(zonePointer, unhinted, i)\n\tif p == nil || q == nil {\n\t\treturn 0, 0, 0, false\n\t}\n\td = dotProduct(p.X-q.X, p.Y-q.Y, h.gs.pv)\n\treturn zonePointer, i, d, true\n}\n\n// skipInstructionPayload increments pc by the extra data that follows a\n// variable length PUSHB or PUSHW instruction.\nfunc skipInstructionPayload(program []byte, pc int) (newPC int, ok bool) {\n\tswitch program[pc] {\n\tcase opNPUSHB:\n\t\tpc++\n\t\tif pc >= len(program) {\n\t\t\treturn 0, false\n\t\t}\n\t\tpc += int(program[pc])\n\tcase opNPUSHW:\n\t\tpc++\n\t\tif pc >= len(program) {\n\t\t\treturn 0, false\n\t\t}\n\t\tpc += 2 * int(program[pc])\n\tcase opPUSHB000, opPUSHB001, opPUSHB010, opPUSHB011,\n\t\topPUSHB100, opPUSHB101, opPUSHB110, opPUSHB111:\n\t\tpc += int(program[pc] - (opPUSHB000 - 1))\n\tcase opPUSHW000, opPUSHW001, opPUSHW010, opPUSHW011,\n\t\topPUSHW100, opPUSHW101, opPUSHW110, opPUSHW111:\n\t\tpc += 2 * int(program[pc]-(opPUSHW000-1))\n\t}\n\treturn pc, true\n}\n\n// f2dot14 is a 2.14 fixed point number.\ntype f2dot14 int16\n\nfunc normalize(x, y f2dot14) [2]f2dot14 {\n\tfx, fy := float64(x), float64(y)\n\tl := 0x4000 / math.Hypot(fx, fy)\n\tfx *= l\n\tif fx >= 0 {\n\t\tfx += 0.5\n\t} else {\n\t\tfx -= 0.5\n\t}\n\tfy *= l\n\tif fy >= 0 {\n\t\tfy += 0.5\n\t} else {\n\t\tfy -= 0.5\n\t}\n\treturn [2]f2dot14{f2dot14(fx), f2dot14(fy)}\n}\n\n// fabs returns abs(x) in 26.6 fixed point arithmetic.\nfunc fabs(x fixed.Int26_6) fixed.Int26_6 {\n\tif x < 0 {\n\t\treturn -x\n\t}\n\treturn x\n}\n\n// fdiv returns x/y in 26.6 fixed point arithmetic.\nfunc fdiv(x, y fixed.Int26_6) fixed.Int26_6 {\n\treturn fixed.Int26_6((int64(x) << 6) / int64(y))\n}\n\n// fmul returns x*y in 26.6 fixed point arithmetic.\nfunc fmul(x, y fixed.Int26_6) fixed.Int26_6 {\n\treturn fixed.Int26_6((int64(x)*int64(y) + 1<<5) >> 6)\n}\n\n// dotProduct returns the dot product of [x, y] and q. It is almost the same as\n//\tpx := int64(x)\n//\tpy := int64(y)\n//\tqx := int64(q[0])\n//\tqy := int64(q[1])\n//\treturn fixed.Int26_6((px*qx + py*qy + 1<<13) >> 14)\n// except that the computation is done with 32-bit integers to produce exactly\n// the same rounding behavior as C Freetype.\nfunc dotProduct(x, y fixed.Int26_6, q [2]f2dot14) fixed.Int26_6 {\n\t// Compute x*q[0] as 64-bit value.\n\tl := uint32((int32(x) & 0xFFFF) * int32(q[0]))\n\tm := (int32(x) >> 16) * int32(q[0])\n\n\tlo1 := l + (uint32(m) << 16)\n\thi1 := (m >> 16) + (int32(l) >> 31) + bool2int32(lo1 < l)\n\n\t// Compute y*q[1] as 64-bit value.\n\tl = uint32((int32(y) & 0xFFFF) * int32(q[1]))\n\tm = (int32(y) >> 16) * int32(q[1])\n\n\tlo2 := l + (uint32(m) << 16)\n\thi2 := (m >> 16) + (int32(l) >> 31) + bool2int32(lo2 < l)\n\n\t// Add them.\n\tlo := lo1 + lo2\n\thi := hi1 + hi2 + bool2int32(lo < lo1)\n\n\t// Divide the result by 2^14 with rounding.\n\ts := hi >> 31\n\tl = lo + uint32(s)\n\thi += s + bool2int32(l < lo)\n\tlo = l\n\n\tl = lo + 0x2000\n\thi += bool2int32(l < lo)\n\n\treturn fixed.Int26_6((uint32(hi) << 18) | (l >> 14))\n}\n\n// mulDiv returns x*y/z, rounded to the nearest integer.\nfunc mulDiv(x, y, z int64) int64 {\n\txy := x * y\n\tif z < 0 {\n\t\txy, z = -xy, -z\n\t}\n\tif xy >= 0 {\n\t\txy += z / 2\n\t} else {\n\t\txy -= z / 2\n\t}\n\treturn xy / z\n}\n\n// round rounds the given number. The rounding algorithm is described at\n// https://developer.apple.com/fonts/TTRefMan/RM02/Chap2.html#rounding\nfunc (h *hinter) round(x fixed.Int26_6) fixed.Int26_6 {\n\tif h.gs.roundPeriod == 0 {\n\t\t// Rounding is off.\n\t\treturn x\n\t}\n\tif x >= 0 {\n\t\tret := x - h.gs.roundPhase + h.gs.roundThreshold\n\t\tif h.gs.roundSuper45 {\n\t\t\tret /= h.gs.roundPeriod\n\t\t\tret *= h.gs.roundPeriod\n\t\t} else {\n\t\t\tret &= -h.gs.roundPeriod\n\t\t}\n\t\tif x != 0 && ret < 0 {\n\t\t\tret = 0\n\t\t}\n\t\treturn ret + h.gs.roundPhase\n\t}\n\tret := -x - h.gs.roundPhase + h.gs.roundThreshold\n\tif h.gs.roundSuper45 {\n\t\tret /= h.gs.roundPeriod\n\t\tret *= h.gs.roundPeriod\n\t} else {\n\t\tret &= -h.gs.roundPeriod\n\t}\n\tif ret < 0 {\n\t\tret = 0\n\t}\n\treturn -ret - h.gs.roundPhase\n}\n\nfunc bool2int32(b bool) int32 {\n\tif b {\n\t\treturn 1\n\t}\n\treturn 0\n}\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/truetype/opcodes.go",
    "content": "// Copyright 2012 The Freetype-Go Authors. All rights reserved.\n// Use of this source code is governed by your choice of either the\n// FreeType License or the GNU General Public License version 2 (or\n// any later version), both of which can be found in the LICENSE file.\n\npackage truetype\n\n// The Truetype opcodes are summarized at\n// https://developer.apple.com/fonts/TTRefMan/RM07/appendixA.html\n\nconst (\n\topSVTCA0    = 0x00 // Set freedom and projection Vectors To Coordinate Axis\n\topSVTCA1    = 0x01 // .\n\topSPVTCA0   = 0x02 // Set Projection Vector To Coordinate Axis\n\topSPVTCA1   = 0x03 // .\n\topSFVTCA0   = 0x04 // Set Freedom Vector to Coordinate Axis\n\topSFVTCA1   = 0x05 // .\n\topSPVTL0    = 0x06 // Set Projection Vector To Line\n\topSPVTL1    = 0x07 // .\n\topSFVTL0    = 0x08 // Set Freedom Vector To Line\n\topSFVTL1    = 0x09 // .\n\topSPVFS     = 0x0a // Set Projection Vector From Stack\n\topSFVFS     = 0x0b // Set Freedom Vector From Stack\n\topGPV       = 0x0c // Get Projection Vector\n\topGFV       = 0x0d // Get Freedom Vector\n\topSFVTPV    = 0x0e // Set Freedom Vector To Projection Vector\n\topISECT     = 0x0f // moves point p to the InterSECTion of two lines\n\topSRP0      = 0x10 // Set Reference Point 0\n\topSRP1      = 0x11 // Set Reference Point 1\n\topSRP2      = 0x12 // Set Reference Point 2\n\topSZP0      = 0x13 // Set Zone Pointer 0\n\topSZP1      = 0x14 // Set Zone Pointer 1\n\topSZP2      = 0x15 // Set Zone Pointer 2\n\topSZPS      = 0x16 // Set Zone PointerS\n\topSLOOP     = 0x17 // Set LOOP variable\n\topRTG       = 0x18 // Round To Grid\n\topRTHG      = 0x19 // Round To Half Grid\n\topSMD       = 0x1a // Set Minimum Distance\n\topELSE      = 0x1b // ELSE clause\n\topJMPR      = 0x1c // JuMP Relative\n\topSCVTCI    = 0x1d // Set Control Value Table Cut-In\n\topSSWCI     = 0x1e // Set Single Width Cut-In\n\topSSW       = 0x1f // Set Single Width\n\topDUP       = 0x20 // DUPlicate top stack element\n\topPOP       = 0x21 // POP top stack element\n\topCLEAR     = 0x22 // CLEAR the stack\n\topSWAP      = 0x23 // SWAP the top two elements on the stack\n\topDEPTH     = 0x24 // DEPTH of the stack\n\topCINDEX    = 0x25 // Copy the INDEXed element to the top of the stack\n\topMINDEX    = 0x26 // Move the INDEXed element to the top of the stack\n\topALIGNPTS  = 0x27 // ALIGN PoinTS\n\top_0x28     = 0x28 // deprecated\n\topUTP       = 0x29 // UnTouch Point\n\topLOOPCALL  = 0x2a // LOOP and CALL function\n\topCALL      = 0x2b // CALL function\n\topFDEF      = 0x2c // Function DEFinition\n\topENDF      = 0x2d // END Function definition\n\topMDAP0     = 0x2e // Move Direct Absolute Point\n\topMDAP1     = 0x2f // .\n\topIUP0      = 0x30 // Interpolate Untouched Points through the outline\n\topIUP1      = 0x31 // .\n\topSHP0      = 0x32 // SHift Point using reference point\n\topSHP1      = 0x33 // .\n\topSHC0      = 0x34 // SHift Contour using reference point\n\topSHC1      = 0x35 // .\n\topSHZ0      = 0x36 // SHift Zone using reference point\n\topSHZ1      = 0x37 // .\n\topSHPIX     = 0x38 // SHift point by a PIXel amount\n\topIP        = 0x39 // Interpolate Point\n\topMSIRP0    = 0x3a // Move Stack Indirect Relative Point\n\topMSIRP1    = 0x3b // .\n\topALIGNRP   = 0x3c // ALIGN to Reference Point\n\topRTDG      = 0x3d // Round To Double Grid\n\topMIAP0     = 0x3e // Move Indirect Absolute Point\n\topMIAP1     = 0x3f // .\n\topNPUSHB    = 0x40 // PUSH N Bytes\n\topNPUSHW    = 0x41 // PUSH N Words\n\topWS        = 0x42 // Write Store\n\topRS        = 0x43 // Read Store\n\topWCVTP     = 0x44 // Write Control Value Table in Pixel units\n\topRCVT      = 0x45 // Read Control Value Table entry\n\topGC0       = 0x46 // Get Coordinate projected onto the projection vector\n\topGC1       = 0x47 // .\n\topSCFS      = 0x48 // Sets Coordinate From the Stack using projection vector and freedom vector\n\topMD0       = 0x49 // Measure Distance\n\topMD1       = 0x4a // .\n\topMPPEM     = 0x4b // Measure Pixels Per EM\n\topMPS       = 0x4c // Measure Point Size\n\topFLIPON    = 0x4d // set the auto FLIP Boolean to ON\n\topFLIPOFF   = 0x4e // set the auto FLIP Boolean to OFF\n\topDEBUG     = 0x4f // DEBUG call\n\topLT        = 0x50 // Less Than\n\topLTEQ      = 0x51 // Less Than or EQual\n\topGT        = 0x52 // Greater Than\n\topGTEQ      = 0x53 // Greater Than or EQual\n\topEQ        = 0x54 // EQual\n\topNEQ       = 0x55 // Not EQual\n\topODD       = 0x56 // ODD\n\topEVEN      = 0x57 // EVEN\n\topIF        = 0x58 // IF test\n\topEIF       = 0x59 // End IF\n\topAND       = 0x5a // logical AND\n\topOR        = 0x5b // logical OR\n\topNOT       = 0x5c // logical NOT\n\topDELTAP1   = 0x5d // DELTA exception P1\n\topSDB       = 0x5e // Set Delta Base in the graphics state\n\topSDS       = 0x5f // Set Delta Shift in the graphics state\n\topADD       = 0x60 // ADD\n\topSUB       = 0x61 // SUBtract\n\topDIV       = 0x62 // DIVide\n\topMUL       = 0x63 // MULtiply\n\topABS       = 0x64 // ABSolute value\n\topNEG       = 0x65 // NEGate\n\topFLOOR     = 0x66 // FLOOR\n\topCEILING   = 0x67 // CEILING\n\topROUND00   = 0x68 // ROUND value\n\topROUND01   = 0x69 // .\n\topROUND10   = 0x6a // .\n\topROUND11   = 0x6b // .\n\topNROUND00  = 0x6c // No ROUNDing of value\n\topNROUND01  = 0x6d // .\n\topNROUND10  = 0x6e // .\n\topNROUND11  = 0x6f // .\n\topWCVTF     = 0x70 // Write Control Value Table in Funits\n\topDELTAP2   = 0x71 // DELTA exception P2\n\topDELTAP3   = 0x72 // DELTA exception P3\n\topDELTAC1   = 0x73 // DELTA exception C1\n\topDELTAC2   = 0x74 // DELTA exception C2\n\topDELTAC3   = 0x75 // DELTA exception C3\n\topSROUND    = 0x76 // Super ROUND\n\topS45ROUND  = 0x77 // Super ROUND 45 degrees\n\topJROT      = 0x78 // Jump Relative On True\n\topJROF      = 0x79 // Jump Relative On False\n\topROFF      = 0x7a // Round OFF\n\top_0x7b     = 0x7b // deprecated\n\topRUTG      = 0x7c // Round Up To Grid\n\topRDTG      = 0x7d // Round Down To Grid\n\topSANGW     = 0x7e // Set ANGle Weight\n\topAA        = 0x7f // Adjust Angle\n\topFLIPPT    = 0x80 // FLIP PoinT\n\topFLIPRGON  = 0x81 // FLIP RanGe ON\n\topFLIPRGOFF = 0x82 // FLIP RanGe OFF\n\top_0x83     = 0x83 // deprecated\n\top_0x84     = 0x84 // deprecated\n\topSCANCTRL  = 0x85 // SCAN conversion ConTRoL\n\topSDPVTL0   = 0x86 // Set Dual Projection Vector To Line\n\topSDPVTL1   = 0x87 // .\n\topGETINFO   = 0x88 // GET INFOrmation\n\topIDEF      = 0x89 // Instruction DEFinition\n\topROLL      = 0x8a // ROLL the top three stack elements\n\topMAX       = 0x8b // MAXimum of top two stack elements\n\topMIN       = 0x8c // MINimum of top two stack elements\n\topSCANTYPE  = 0x8d // SCANTYPE\n\topINSTCTRL  = 0x8e // INSTRuction execution ConTRoL\n\top_0x8f     = 0x8f\n\top_0x90     = 0x90\n\top_0x91     = 0x91\n\top_0x92     = 0x92\n\top_0x93     = 0x93\n\top_0x94     = 0x94\n\top_0x95     = 0x95\n\top_0x96     = 0x96\n\top_0x97     = 0x97\n\top_0x98     = 0x98\n\top_0x99     = 0x99\n\top_0x9a     = 0x9a\n\top_0x9b     = 0x9b\n\top_0x9c     = 0x9c\n\top_0x9d     = 0x9d\n\top_0x9e     = 0x9e\n\top_0x9f     = 0x9f\n\top_0xa0     = 0xa0\n\top_0xa1     = 0xa1\n\top_0xa2     = 0xa2\n\top_0xa3     = 0xa3\n\top_0xa4     = 0xa4\n\top_0xa5     = 0xa5\n\top_0xa6     = 0xa6\n\top_0xa7     = 0xa7\n\top_0xa8     = 0xa8\n\top_0xa9     = 0xa9\n\top_0xaa     = 0xaa\n\top_0xab     = 0xab\n\top_0xac     = 0xac\n\top_0xad     = 0xad\n\top_0xae     = 0xae\n\top_0xaf     = 0xaf\n\topPUSHB000  = 0xb0 // PUSH Bytes\n\topPUSHB001  = 0xb1 // .\n\topPUSHB010  = 0xb2 // .\n\topPUSHB011  = 0xb3 // .\n\topPUSHB100  = 0xb4 // .\n\topPUSHB101  = 0xb5 // .\n\topPUSHB110  = 0xb6 // .\n\topPUSHB111  = 0xb7 // .\n\topPUSHW000  = 0xb8 // PUSH Words\n\topPUSHW001  = 0xb9 // .\n\topPUSHW010  = 0xba // .\n\topPUSHW011  = 0xbb // .\n\topPUSHW100  = 0xbc // .\n\topPUSHW101  = 0xbd // .\n\topPUSHW110  = 0xbe // .\n\topPUSHW111  = 0xbf // .\n\topMDRP00000 = 0xc0 // Move Direct Relative Point\n\topMDRP00001 = 0xc1 // .\n\topMDRP00010 = 0xc2 // .\n\topMDRP00011 = 0xc3 // .\n\topMDRP00100 = 0xc4 // .\n\topMDRP00101 = 0xc5 // .\n\topMDRP00110 = 0xc6 // .\n\topMDRP00111 = 0xc7 // .\n\topMDRP01000 = 0xc8 // .\n\topMDRP01001 = 0xc9 // .\n\topMDRP01010 = 0xca // .\n\topMDRP01011 = 0xcb // .\n\topMDRP01100 = 0xcc // .\n\topMDRP01101 = 0xcd // .\n\topMDRP01110 = 0xce // .\n\topMDRP01111 = 0xcf // .\n\topMDRP10000 = 0xd0 // .\n\topMDRP10001 = 0xd1 // .\n\topMDRP10010 = 0xd2 // .\n\topMDRP10011 = 0xd3 // .\n\topMDRP10100 = 0xd4 // .\n\topMDRP10101 = 0xd5 // .\n\topMDRP10110 = 0xd6 // .\n\topMDRP10111 = 0xd7 // .\n\topMDRP11000 = 0xd8 // .\n\topMDRP11001 = 0xd9 // .\n\topMDRP11010 = 0xda // .\n\topMDRP11011 = 0xdb // .\n\topMDRP11100 = 0xdc // .\n\topMDRP11101 = 0xdd // .\n\topMDRP11110 = 0xde // .\n\topMDRP11111 = 0xdf // .\n\topMIRP00000 = 0xe0 // Move Indirect Relative Point\n\topMIRP00001 = 0xe1 // .\n\topMIRP00010 = 0xe2 // .\n\topMIRP00011 = 0xe3 // .\n\topMIRP00100 = 0xe4 // .\n\topMIRP00101 = 0xe5 // .\n\topMIRP00110 = 0xe6 // .\n\topMIRP00111 = 0xe7 // .\n\topMIRP01000 = 0xe8 // .\n\topMIRP01001 = 0xe9 // .\n\topMIRP01010 = 0xea // .\n\topMIRP01011 = 0xeb // .\n\topMIRP01100 = 0xec // .\n\topMIRP01101 = 0xed // .\n\topMIRP01110 = 0xee // .\n\topMIRP01111 = 0xef // .\n\topMIRP10000 = 0xf0 // .\n\topMIRP10001 = 0xf1 // .\n\topMIRP10010 = 0xf2 // .\n\topMIRP10011 = 0xf3 // .\n\topMIRP10100 = 0xf4 // .\n\topMIRP10101 = 0xf5 // .\n\topMIRP10110 = 0xf6 // .\n\topMIRP10111 = 0xf7 // .\n\topMIRP11000 = 0xf8 // .\n\topMIRP11001 = 0xf9 // .\n\topMIRP11010 = 0xfa // .\n\topMIRP11011 = 0xfb // .\n\topMIRP11100 = 0xfc // .\n\topMIRP11101 = 0xfd // .\n\topMIRP11110 = 0xfe // .\n\topMIRP11111 = 0xff // .\n)\n\n// popCount is the number of stack elements that each opcode pops.\nvar popCount = [256]uint8{\n\t// 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f\n\t0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 5, // 0x00 - 0x0f\n\t1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, // 0x10 - 0x1f\n\t1, 1, 0, 2, 0, 1, 1, 2, 0, 1, 2, 1, 1, 0, 1, 1, // 0x20 - 0x2f\n\t0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 2, 2, 0, 0, 2, 2, // 0x30 - 0x3f\n\t0, 0, 2, 1, 2, 1, 1, 1, 2, 2, 2, 0, 0, 0, 0, 0, // 0x40 - 0x4f\n\t2, 2, 2, 2, 2, 2, 1, 1, 1, 0, 2, 2, 1, 1, 1, 1, // 0x50 - 0x5f\n\t2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x60 - 0x6f\n\t2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 1, 1, // 0x70 - 0x7f\n\t0, 2, 2, 0, 0, 1, 2, 2, 1, 1, 3, 2, 2, 1, 2, 0, // 0x80 - 0x8f\n\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x90 - 0x9f\n\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0xa0 - 0xaf\n\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0xb0 - 0xbf\n\t1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xc0 - 0xcf\n\t1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xd0 - 0xdf\n\t2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xe0 - 0xef\n\t2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xf0 - 0xff\n}\n"
  },
  {
    "path": "vendor/github.com/golang/freetype/truetype/truetype.go",
    "content": "// Copyright 2010 The Freetype-Go Authors. All rights reserved.\n// Use of this source code is governed by your choice of either the\n// FreeType License or the GNU General Public License version 2 (or\n// any later version), both of which can be found in the LICENSE file.\n\n// Package truetype provides a parser for the TTF and TTC file formats.\n// Those formats are documented at http://developer.apple.com/fonts/TTRefMan/\n// and http://www.microsoft.com/typography/otspec/\n//\n// Some of a font's methods provide lengths or co-ordinates, e.g. bounds, font\n// metrics and control points. All these methods take a scale parameter, which\n// is the number of pixels in 1 em, expressed as a 26.6 fixed point value. For\n// example, if 1 em is 10 pixels then scale is fixed.I(10), which is equal to\n// fixed.Int26_6(10 << 6).\n//\n// To measure a TrueType font in ideal FUnit space, use scale equal to\n// font.FUnitsPerEm().\npackage truetype // import \"github.com/golang/freetype/truetype\"\n\nimport (\n\t\"fmt\"\n\n\t\"golang.org/x/image/math/fixed\"\n)\n\n// An Index is a Font's index of a rune.\ntype Index uint16\n\n// A NameID identifies a name table entry.\n//\n// See https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html\ntype NameID uint16\n\nconst (\n\tNameIDCopyright          NameID = 0\n\tNameIDFontFamily                = 1\n\tNameIDFontSubfamily             = 2\n\tNameIDUniqueSubfamilyID         = 3\n\tNameIDFontFullName              = 4\n\tNameIDNameTableVersion          = 5\n\tNameIDPostscriptName            = 6\n\tNameIDTrademarkNotice           = 7\n\tNameIDManufacturerName          = 8\n\tNameIDDesignerName              = 9\n\tNameIDFontDescription           = 10\n\tNameIDFontVendorURL             = 11\n\tNameIDFontDesignerURL           = 12\n\tNameIDFontLicense               = 13\n\tNameIDFontLicenseURL            = 14\n\tNameIDPreferredFamily           = 16\n\tNameIDPreferredSubfamily        = 17\n\tNameIDCompatibleName            = 18\n\tNameIDSampleText                = 19\n)\n\nconst (\n\t// A 32-bit encoding consists of a most-significant 16-bit Platform ID and a\n\t// least-significant 16-bit Platform Specific ID. The magic numbers are\n\t// specified at https://www.microsoft.com/typography/otspec/name.htm\n\tunicodeEncodingBMPOnly  = 0x00000003 // PID = 0 (Unicode), PSID = 3 (Unicode 2.0 BMP Only)\n\tunicodeEncodingFull     = 0x00000004 // PID = 0 (Unicode), PSID = 4 (Unicode 2.0 Full Repertoire)\n\tmicrosoftSymbolEncoding = 0x00030000 // PID = 3 (Microsoft), PSID = 0 (Symbol)\n\tmicrosoftUCS2Encoding   = 0x00030001 // PID = 3 (Microsoft), PSID = 1 (UCS-2)\n\tmicrosoftUCS4Encoding   = 0x0003000a // PID = 3 (Microsoft), PSID = 10 (UCS-4)\n)\n\n// An HMetric holds the horizontal metrics of a single glyph.\ntype HMetric struct {\n\tAdvanceWidth, LeftSideBearing fixed.Int26_6\n}\n\n// A VMetric holds the vertical metrics of a single glyph.\ntype VMetric struct {\n\tAdvanceHeight, TopSideBearing fixed.Int26_6\n}\n\n// A FormatError reports that the input is not a valid TrueType font.\ntype FormatError string\n\nfunc (e FormatError) Error() string {\n\treturn \"freetype: invalid TrueType format: \" + string(e)\n}\n\n// An UnsupportedError reports that the input uses a valid but unimplemented\n// TrueType feature.\ntype UnsupportedError string\n\nfunc (e UnsupportedError) Error() string {\n\treturn \"freetype: unsupported TrueType feature: \" + string(e)\n}\n\n// u32 returns the big-endian uint32 at b[i:].\nfunc u32(b []byte, i int) uint32 {\n\treturn uint32(b[i])<<24 | uint32(b[i+1])<<16 | uint32(b[i+2])<<8 | uint32(b[i+3])\n}\n\n// u16 returns the big-endian uint16 at b[i:].\nfunc u16(b []byte, i int) uint16 {\n\treturn uint16(b[i])<<8 | uint16(b[i+1])\n}\n\n// readTable returns a slice of the TTF data given by a table's directory entry.\nfunc readTable(ttf []byte, offsetLength []byte) ([]byte, error) {\n\toffset := int(u32(offsetLength, 0))\n\tif offset < 0 {\n\t\treturn nil, FormatError(fmt.Sprintf(\"offset too large: %d\", uint32(offset)))\n\t}\n\tlength := int(u32(offsetLength, 4))\n\tif length < 0 {\n\t\treturn nil, FormatError(fmt.Sprintf(\"length too large: %d\", uint32(length)))\n\t}\n\tend := offset + length\n\tif end < 0 || end > len(ttf) {\n\t\treturn nil, FormatError(fmt.Sprintf(\"offset + length too large: %d\", uint32(offset)+uint32(length)))\n\t}\n\treturn ttf[offset:end], nil\n}\n\n// parseSubtables returns the offset and platformID of the best subtable in\n// table, where best favors a Unicode cmap encoding, and failing that, a\n// Microsoft cmap encoding. offset is the offset of the first subtable in\n// table, and size is the size of each subtable.\n//\n// If pred is non-nil, then only subtables that satisfy that predicate will be\n// considered.\nfunc parseSubtables(table []byte, name string, offset, size int, pred func([]byte) bool) (\n\tbestOffset int, bestPID uint32, retErr error) {\n\n\tif len(table) < 4 {\n\t\treturn 0, 0, FormatError(name + \" too short\")\n\t}\n\tnSubtables := int(u16(table, 2))\n\tif len(table) < size*nSubtables+offset {\n\t\treturn 0, 0, FormatError(name + \" too short\")\n\t}\n\tok := false\n\tfor i := 0; i < nSubtables; i, offset = i+1, offset+size {\n\t\tif pred != nil && !pred(table[offset:]) {\n\t\t\tcontinue\n\t\t}\n\t\t// We read the 16-bit Platform ID and 16-bit Platform Specific ID as a single uint32.\n\t\t// All values are big-endian.\n\t\tpidPsid := u32(table, offset)\n\t\t// We prefer the Unicode cmap encoding. Failing to find that, we fall\n\t\t// back onto the Microsoft cmap encoding.\n\t\tif pidPsid == unicodeEncodingBMPOnly || pidPsid == unicodeEncodingFull {\n\t\t\tbestOffset, bestPID, ok = offset, pidPsid>>16, true\n\t\t\tbreak\n\n\t\t} else if pidPsid == microsoftSymbolEncoding ||\n\t\t\tpidPsid == microsoftUCS2Encoding ||\n\t\t\tpidPsid == microsoftUCS4Encoding {\n\n\t\t\tbestOffset, bestPID, ok = offset, pidPsid>>16, true\n\t\t\t// We don't break out of the for loop, so that Unicode can override Microsoft.\n\t\t}\n\t}\n\tif !ok {\n\t\treturn 0, 0, UnsupportedError(name + \" encoding\")\n\t}\n\treturn bestOffset, bestPID, nil\n}\n\nconst (\n\tlocaOffsetFormatUnknown int = iota\n\tlocaOffsetFormatShort\n\tlocaOffsetFormatLong\n)\n\n// A cm holds a parsed cmap entry.\ntype cm struct {\n\tstart, end, delta, offset uint32\n}\n\n// A Font represents a Truetype font.\ntype Font struct {\n\t// Tables sliced from the TTF data. The different tables are documented\n\t// at http://developer.apple.com/fonts/TTRefMan/RM06/Chap6.html\n\tcmap, cvt, fpgm, glyf, hdmx, head, hhea, hmtx, kern, loca, maxp, name, os2, prep, vmtx []byte\n\n\tcmapIndexes []byte\n\n\t// Cached values derived from the raw ttf data.\n\tcm                      []cm\n\tlocaOffsetFormat        int\n\tnGlyph, nHMetric, nKern int\n\tfUnitsPerEm             int32\n\tascent                  int32               // In FUnits.\n\tdescent                 int32               // In FUnits; typically negative.\n\tbounds                  fixed.Rectangle26_6 // In FUnits.\n\t// Values from the maxp section.\n\tmaxTwilightPoints, maxStorage, maxFunctionDefs, maxStackElements uint16\n}\n\nfunc (f *Font) parseCmap() error {\n\tconst (\n\t\tcmapFormat4         = 4\n\t\tcmapFormat12        = 12\n\t\tlanguageIndependent = 0\n\t)\n\n\toffset, _, err := parseSubtables(f.cmap, \"cmap\", 4, 8, nil)\n\tif err != nil {\n\t\treturn err\n\t}\n\toffset = int(u32(f.cmap, offset+4))\n\tif offset <= 0 || offset > len(f.cmap) {\n\t\treturn FormatError(\"bad cmap offset\")\n\t}\n\n\tcmapFormat := u16(f.cmap, offset)\n\tswitch cmapFormat {\n\tcase cmapFormat4:\n\t\tlanguage := u16(f.cmap, offset+4)\n\t\tif language != languageIndependent {\n\t\t\treturn UnsupportedError(fmt.Sprintf(\"language: %d\", language))\n\t\t}\n\t\tsegCountX2 := int(u16(f.cmap, offset+6))\n\t\tif segCountX2%2 == 1 {\n\t\t\treturn FormatError(fmt.Sprintf(\"bad segCountX2: %d\", segCountX2))\n\t\t}\n\t\tsegCount := segCountX2 / 2\n\t\toffset += 14\n\t\tf.cm = make([]cm, segCount)\n\t\tfor i := 0; i < segCount; i++ {\n\t\t\tf.cm[i].end = uint32(u16(f.cmap, offset))\n\t\t\toffset += 2\n\t\t}\n\t\toffset += 2\n\t\tfor i := 0; i < segCount; i++ {\n\t\t\tf.cm[i].start = uint32(u16(f.cmap, offset))\n\t\t\toffset += 2\n\t\t}\n\t\tfor i := 0; i < segCount; i++ {\n\t\t\tf.cm[i].delta = uint32(u16(f.cmap, offset))\n\t\t\toffset += 2\n\t\t}\n\t\tfor i := 0; i < segCount; i++ {\n\t\t\tf.cm[i].offset = uint32(u16(f.cmap, offset))\n\t\t\toffset += 2\n\t\t}\n\t\tf.cmapIndexes = f.cmap[offset:]\n\t\treturn nil\n\n\tcase cmapFormat12:\n\t\tif u16(f.cmap, offset+2) != 0 {\n\t\t\treturn FormatError(fmt.Sprintf(\"cmap format: % x\", f.cmap[offset:offset+4]))\n\t\t}\n\t\tlength := u32(f.cmap, offset+4)\n\t\tlanguage := u32(f.cmap, offset+8)\n\t\tif language != languageIndependent {\n\t\t\treturn UnsupportedError(fmt.Sprintf(\"language: %d\", language))\n\t\t}\n\t\tnGroups := u32(f.cmap, offset+12)\n\t\tif length != 12*nGroups+16 {\n\t\t\treturn FormatError(\"inconsistent cmap length\")\n\t\t}\n\t\toffset += 16\n\t\tf.cm = make([]cm, nGroups)\n\t\tfor i := uint32(0); i < nGroups; i++ {\n\t\t\tf.cm[i].start = u32(f.cmap, offset+0)\n\t\t\tf.cm[i].end = u32(f.cmap, offset+4)\n\t\t\tf.cm[i].delta = u32(f.cmap, offset+8) - f.cm[i].start\n\t\t\toffset += 12\n\t\t}\n\t\treturn nil\n\t}\n\treturn UnsupportedError(fmt.Sprintf(\"cmap format: %d\", cmapFormat))\n}\n\nfunc (f *Font) parseHead() error {\n\tif len(f.head) != 54 {\n\t\treturn FormatError(fmt.Sprintf(\"bad head length: %d\", len(f.head)))\n\t}\n\tf.fUnitsPerEm = int32(u16(f.head, 18))\n\tf.bounds.Min.X = fixed.Int26_6(int16(u16(f.head, 36)))\n\tf.bounds.Min.Y = fixed.Int26_6(int16(u16(f.head, 38)))\n\tf.bounds.Max.X = fixed.Int26_6(int16(u16(f.head, 40)))\n\tf.bounds.Max.Y = fixed.Int26_6(int16(u16(f.head, 42)))\n\tswitch i := u16(f.head, 50); i {\n\tcase 0:\n\t\tf.locaOffsetFormat = locaOffsetFormatShort\n\tcase 1:\n\t\tf.locaOffsetFormat = locaOffsetFormatLong\n\tdefault:\n\t\treturn FormatError(fmt.Sprintf(\"bad indexToLocFormat: %d\", i))\n\t}\n\treturn nil\n}\n\nfunc (f *Font) parseHhea() error {\n\tif len(f.hhea) != 36 {\n\t\treturn FormatError(fmt.Sprintf(\"bad hhea length: %d\", len(f.hhea)))\n\t}\n\tf.ascent = int32(int16(u16(f.hhea, 4)))\n\tf.descent = int32(int16(u16(f.hhea, 6)))\n\tf.nHMetric = int(u16(f.hhea, 34))\n\tif 4*f.nHMetric+2*(f.nGlyph-f.nHMetric) != len(f.hmtx) {\n\t\treturn FormatError(fmt.Sprintf(\"bad hmtx length: %d\", len(f.hmtx)))\n\t}\n\treturn nil\n}\n\nfunc (f *Font) parseKern() error {\n\t// Apple's TrueType documentation (http://developer.apple.com/fonts/TTRefMan/RM06/Chap6kern.html) says:\n\t// \"Previous versions of the 'kern' table defined both the version and nTables fields in the header\n\t// as UInt16 values and not UInt32 values. Use of the older format on the Mac OS is discouraged\n\t// (although AAT can sense an old kerning table and still make correct use of it). Microsoft\n\t// Windows still uses the older format for the 'kern' table and will not recognize the newer one.\n\t// Fonts targeted for the Mac OS only should use the new format; fonts targeted for both the Mac OS\n\t// and Windows should use the old format.\"\n\t// Since we expect that almost all fonts aim to be Windows-compatible, we only parse the \"older\" format,\n\t// just like the C Freetype implementation.\n\tif len(f.kern) == 0 {\n\t\tif f.nKern != 0 {\n\t\t\treturn FormatError(\"bad kern table length\")\n\t\t}\n\t\treturn nil\n\t}\n\tif len(f.kern) < 18 {\n\t\treturn FormatError(\"kern data too short\")\n\t}\n\tversion, offset := u16(f.kern, 0), 2\n\tif version != 0 {\n\t\treturn UnsupportedError(fmt.Sprintf(\"kern version: %d\", version))\n\t}\n\n\tn, offset := u16(f.kern, offset), offset+2\n\tif n == 0 {\n\t\treturn UnsupportedError(\"kern nTables: 0\")\n\t}\n\t// TODO: support multiple subtables. In practice, almost all .ttf files\n\t// have only one subtable, if they have a kern table at all. But it's not\n\t// impossible. Xolonium Regular (https://fontlibrary.org/en/font/xolonium)\n\t// has 3 subtables. Those subtables appear to be disjoint, rather than\n\t// being the same kerning pairs encoded in three different ways.\n\t//\n\t// For now, we'll use only the first subtable.\n\n\toffset += 2 // Skip the version.\n\tlength, offset := int(u16(f.kern, offset)), offset+2\n\tcoverage, offset := u16(f.kern, offset), offset+2\n\tif coverage != 0x0001 {\n\t\t// We only support horizontal kerning.\n\t\treturn UnsupportedError(fmt.Sprintf(\"kern coverage: 0x%04x\", coverage))\n\t}\n\tf.nKern, offset = int(u16(f.kern, offset)), offset+2\n\tif 6*f.nKern != length-14 {\n\t\treturn FormatError(\"bad kern table length\")\n\t}\n\treturn nil\n}\n\nfunc (f *Font) parseMaxp() error {\n\tif len(f.maxp) != 32 {\n\t\treturn FormatError(fmt.Sprintf(\"bad maxp length: %d\", len(f.maxp)))\n\t}\n\tf.nGlyph = int(u16(f.maxp, 4))\n\tf.maxTwilightPoints = u16(f.maxp, 16)\n\tf.maxStorage = u16(f.maxp, 18)\n\tf.maxFunctionDefs = u16(f.maxp, 20)\n\tf.maxStackElements = u16(f.maxp, 24)\n\treturn nil\n}\n\n// scale returns x divided by f.fUnitsPerEm, rounded to the nearest integer.\nfunc (f *Font) scale(x fixed.Int26_6) fixed.Int26_6 {\n\tif x >= 0 {\n\t\tx += fixed.Int26_6(f.fUnitsPerEm) / 2\n\t} else {\n\t\tx -= fixed.Int26_6(f.fUnitsPerEm) / 2\n\t}\n\treturn x / fixed.Int26_6(f.fUnitsPerEm)\n}\n\n// Bounds returns the union of a Font's glyphs' bounds.\nfunc (f *Font) Bounds(scale fixed.Int26_6) fixed.Rectangle26_6 {\n\tb := f.bounds\n\tb.Min.X = f.scale(scale * b.Min.X)\n\tb.Min.Y = f.scale(scale * b.Min.Y)\n\tb.Max.X = f.scale(scale * b.Max.X)\n\tb.Max.Y = f.scale(scale * b.Max.Y)\n\treturn b\n}\n\n// FUnitsPerEm returns the number of FUnits in a Font's em-square's side.\nfunc (f *Font) FUnitsPerEm() int32 {\n\treturn f.fUnitsPerEm\n}\n\n// Index returns a Font's index for the given rune.\nfunc (f *Font) Index(x rune) Index {\n\tc := uint32(x)\n\tfor i, j := 0, len(f.cm); i < j; {\n\t\th := i + (j-i)/2\n\t\tcm := &f.cm[h]\n\t\tif c < cm.start {\n\t\t\tj = h\n\t\t} else if cm.end < c {\n\t\t\ti = h + 1\n\t\t} else if cm.offset == 0 {\n\t\t\treturn Index(c + cm.delta)\n\t\t} else {\n\t\t\toffset := int(cm.offset) + 2*(h-len(f.cm)+int(c-cm.start))\n\t\t\treturn Index(u16(f.cmapIndexes, offset))\n\t\t}\n\t}\n\treturn 0\n}\n\n// Name returns the Font's name value for the given NameID. It returns \"\" if\n// there was an error, or if that name was not found.\nfunc (f *Font) Name(id NameID) string {\n\tx, platformID, err := parseSubtables(f.name, \"name\", 6, 12, func(b []byte) bool {\n\t\treturn NameID(u16(b, 6)) == id\n\t})\n\tif err != nil {\n\t\treturn \"\"\n\t}\n\toffset, length := u16(f.name, 4)+u16(f.name, x+10), u16(f.name, x+8)\n\t// Return the ASCII value of the encoded string.\n\t// The string is encoded as UTF-16 on non-Apple platformIDs; Apple is platformID 1.\n\tsrc := f.name[offset : offset+length]\n\tvar dst []byte\n\tif platformID != 1 { // UTF-16.\n\t\tif len(src)&1 != 0 {\n\t\t\treturn \"\"\n\t\t}\n\t\tdst = make([]byte, len(src)/2)\n\t\tfor i := range dst {\n\t\t\tdst[i] = printable(u16(src, 2*i))\n\t\t}\n\t} else { // ASCII.\n\t\tdst = make([]byte, len(src))\n\t\tfor i, c := range src {\n\t\t\tdst[i] = printable(uint16(c))\n\t\t}\n\t}\n\treturn string(dst)\n}\n\nfunc printable(r uint16) byte {\n\tif 0x20 <= r && r < 0x7f {\n\t\treturn byte(r)\n\t}\n\treturn '?'\n}\n\n// unscaledHMetric returns the unscaled horizontal metrics for the glyph with\n// the given index.\nfunc (f *Font) unscaledHMetric(i Index) (h HMetric) {\n\tj := int(i)\n\tif j < 0 || f.nGlyph <= j {\n\t\treturn HMetric{}\n\t}\n\tif j >= f.nHMetric {\n\t\tp := 4 * (f.nHMetric - 1)\n\t\treturn HMetric{\n\t\t\tAdvanceWidth:    fixed.Int26_6(u16(f.hmtx, p)),\n\t\t\tLeftSideBearing: fixed.Int26_6(int16(u16(f.hmtx, p+2*(j-f.nHMetric)+4))),\n\t\t}\n\t}\n\treturn HMetric{\n\t\tAdvanceWidth:    fixed.Int26_6(u16(f.hmtx, 4*j)),\n\t\tLeftSideBearing: fixed.Int26_6(int16(u16(f.hmtx, 4*j+2))),\n\t}\n}\n\n// HMetric returns the horizontal metrics for the glyph with the given index.\nfunc (f *Font) HMetric(scale fixed.Int26_6, i Index) HMetric {\n\th := f.unscaledHMetric(i)\n\th.AdvanceWidth = f.scale(scale * h.AdvanceWidth)\n\th.LeftSideBearing = f.scale(scale * h.LeftSideBearing)\n\treturn h\n}\n\n// unscaledVMetric returns the unscaled vertical metrics for the glyph with\n// the given index. yMax is the top of the glyph's bounding box.\nfunc (f *Font) unscaledVMetric(i Index, yMax fixed.Int26_6) (v VMetric) {\n\tj := int(i)\n\tif j < 0 || f.nGlyph <= j {\n\t\treturn VMetric{}\n\t}\n\tif 4*j+4 <= len(f.vmtx) {\n\t\treturn VMetric{\n\t\t\tAdvanceHeight:  fixed.Int26_6(u16(f.vmtx, 4*j)),\n\t\t\tTopSideBearing: fixed.Int26_6(int16(u16(f.vmtx, 4*j+2))),\n\t\t}\n\t}\n\t// The OS/2 table has grown over time.\n\t// https://developer.apple.com/fonts/TTRefMan/RM06/Chap6OS2.html\n\t// says that it was originally 68 bytes. Optional fields, including\n\t// the ascender and descender, are described at\n\t// http://www.microsoft.com/typography/otspec/os2.htm\n\tif len(f.os2) >= 72 {\n\t\tsTypoAscender := fixed.Int26_6(int16(u16(f.os2, 68)))\n\t\tsTypoDescender := fixed.Int26_6(int16(u16(f.os2, 70)))\n\t\treturn VMetric{\n\t\t\tAdvanceHeight:  sTypoAscender - sTypoDescender,\n\t\t\tTopSideBearing: sTypoAscender - yMax,\n\t\t}\n\t}\n\treturn VMetric{\n\t\tAdvanceHeight:  fixed.Int26_6(f.fUnitsPerEm),\n\t\tTopSideBearing: 0,\n\t}\n}\n\n// VMetric returns the vertical metrics for the glyph with the given index.\nfunc (f *Font) VMetric(scale fixed.Int26_6, i Index) VMetric {\n\t// TODO: should 0 be bounds.YMax?\n\tv := f.unscaledVMetric(i, 0)\n\tv.AdvanceHeight = f.scale(scale * v.AdvanceHeight)\n\tv.TopSideBearing = f.scale(scale * v.TopSideBearing)\n\treturn v\n}\n\n// Kern returns the horizontal adjustment for the given glyph pair. A positive\n// kern means to move the glyphs further apart.\nfunc (f *Font) Kern(scale fixed.Int26_6, i0, i1 Index) fixed.Int26_6 {\n\tif f.nKern == 0 {\n\t\treturn 0\n\t}\n\tg := uint32(i0)<<16 | uint32(i1)\n\tlo, hi := 0, f.nKern\n\tfor lo < hi {\n\t\ti := (lo + hi) / 2\n\t\tig := u32(f.kern, 18+6*i)\n\t\tif ig < g {\n\t\t\tlo = i + 1\n\t\t} else if ig > g {\n\t\t\thi = i\n\t\t} else {\n\t\t\treturn f.scale(scale * fixed.Int26_6(int16(u16(f.kern, 22+6*i))))\n\t\t}\n\t}\n\treturn 0\n}\n\n// Parse returns a new Font for the given TTF or TTC data.\n//\n// For TrueType Collections, the first font in the collection is parsed.\nfunc Parse(ttf []byte) (font *Font, err error) {\n\treturn parse(ttf, 0)\n}\n\nfunc parse(ttf []byte, offset int) (font *Font, err error) {\n\tif len(ttf)-offset < 12 {\n\t\terr = FormatError(\"TTF data is too short\")\n\t\treturn\n\t}\n\toriginalOffset := offset\n\tmagic, offset := u32(ttf, offset), offset+4\n\tswitch magic {\n\tcase 0x00010000:\n\t\t// No-op.\n\tcase 0x74746366: // \"ttcf\" as a big-endian uint32.\n\t\tif originalOffset != 0 {\n\t\t\terr = FormatError(\"recursive TTC\")\n\t\t\treturn\n\t\t}\n\t\tttcVersion, offset := u32(ttf, offset), offset+4\n\t\tif ttcVersion != 0x00010000 && ttcVersion != 0x00020000 {\n\t\t\terr = FormatError(\"bad TTC version\")\n\t\t\treturn\n\t\t}\n\t\tnumFonts, offset := int(u32(ttf, offset)), offset+4\n\t\tif numFonts <= 0 {\n\t\t\terr = FormatError(\"bad number of TTC fonts\")\n\t\t\treturn\n\t\t}\n\t\tif len(ttf[offset:])/4 < numFonts {\n\t\t\terr = FormatError(\"TTC offset table is too short\")\n\t\t\treturn\n\t\t}\n\t\t// TODO: provide an API to select which font in a TrueType collection to return,\n\t\t// not just the first one. This may require an API to parse a TTC's name tables,\n\t\t// so users of this package can select the font in a TTC by name.\n\t\toffset = int(u32(ttf, offset))\n\t\tif offset <= 0 || offset > len(ttf) {\n\t\t\terr = FormatError(\"bad TTC offset\")\n\t\t\treturn\n\t\t}\n\t\treturn parse(ttf, offset)\n\tdefault:\n\t\terr = FormatError(\"bad TTF version\")\n\t\treturn\n\t}\n\tn, offset := int(u16(ttf, offset)), offset+2\n\toffset += 6 // Skip the searchRange, entrySelector and rangeShift.\n\tif len(ttf) < 16*n+offset {\n\t\terr = FormatError(\"TTF data is too short\")\n\t\treturn\n\t}\n\tf := new(Font)\n\t// Assign the table slices.\n\tfor i := 0; i < n; i++ {\n\t\tx := 16*i + offset\n\t\tswitch string(ttf[x : x+4]) {\n\t\tcase \"cmap\":\n\t\t\tf.cmap, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"cvt \":\n\t\t\tf.cvt, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"fpgm\":\n\t\t\tf.fpgm, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"glyf\":\n\t\t\tf.glyf, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"hdmx\":\n\t\t\tf.hdmx, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"head\":\n\t\t\tf.head, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"hhea\":\n\t\t\tf.hhea, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"hmtx\":\n\t\t\tf.hmtx, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"kern\":\n\t\t\tf.kern, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"loca\":\n\t\t\tf.loca, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"maxp\":\n\t\t\tf.maxp, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"name\":\n\t\t\tf.name, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"OS/2\":\n\t\t\tf.os2, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"prep\":\n\t\t\tf.prep, err = readTable(ttf, ttf[x+8:x+16])\n\t\tcase \"vmtx\":\n\t\t\tf.vmtx, err = readTable(ttf, ttf[x+8:x+16])\n\t\t}\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\t// Parse and sanity-check the TTF data.\n\tif err = f.parseHead(); err != nil {\n\t\treturn\n\t}\n\tif err = f.parseMaxp(); err != nil {\n\t\treturn\n\t}\n\tif err = f.parseCmap(); err != nil {\n\t\treturn\n\t}\n\tif err = f.parseKern(); err != nil {\n\t\treturn\n\t}\n\tif err = f.parseHhea(); err != nil {\n\t\treturn\n\t}\n\tfont = f\n\treturn\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/LICENSE",
    "content": "Go support for Protocol Buffers - Google's data interchange format\n\nCopyright 2010 The Go Authors.  All rights reserved.\nhttps://github.com/golang/protobuf\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n    * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n    * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n    * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/clone.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2011 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// Protocol buffer deep copy and merge.\n// TODO: RawMessage.\n\npackage proto\n\nimport (\n\t\"log\"\n\t\"reflect\"\n\t\"strings\"\n)\n\n// Clone returns a deep copy of a protocol buffer.\nfunc Clone(pb Message) Message {\n\tin := reflect.ValueOf(pb)\n\tif in.IsNil() {\n\t\treturn pb\n\t}\n\n\tout := reflect.New(in.Type().Elem())\n\t// out is empty so a merge is a deep copy.\n\tmergeStruct(out.Elem(), in.Elem())\n\treturn out.Interface().(Message)\n}\n\n// Merge merges src into dst.\n// Required and optional fields that are set in src will be set to that value in dst.\n// Elements of repeated fields will be appended.\n// Merge panics if src and dst are not the same type, or if dst is nil.\nfunc Merge(dst, src Message) {\n\tin := reflect.ValueOf(src)\n\tout := reflect.ValueOf(dst)\n\tif out.IsNil() {\n\t\tpanic(\"proto: nil destination\")\n\t}\n\tif in.Type() != out.Type() {\n\t\t// Explicit test prior to mergeStruct so that mistyped nils will fail\n\t\tpanic(\"proto: type mismatch\")\n\t}\n\tif in.IsNil() {\n\t\t// Merging nil into non-nil is a quiet no-op\n\t\treturn\n\t}\n\tmergeStruct(out.Elem(), in.Elem())\n}\n\nfunc mergeStruct(out, in reflect.Value) {\n\tsprop := GetProperties(in.Type())\n\tfor i := 0; i < in.NumField(); i++ {\n\t\tf := in.Type().Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tmergeAny(out.Field(i), in.Field(i), false, sprop.Prop[i])\n\t}\n\n\tif emIn, ok := extendable(in.Addr().Interface()); ok {\n\t\temOut, _ := extendable(out.Addr().Interface())\n\t\tmIn, muIn := emIn.extensionsRead()\n\t\tif mIn != nil {\n\t\t\tmOut := emOut.extensionsWrite()\n\t\t\tmuIn.Lock()\n\t\t\tmergeExtension(mOut, mIn)\n\t\t\tmuIn.Unlock()\n\t\t}\n\t}\n\n\tuf := in.FieldByName(\"XXX_unrecognized\")\n\tif !uf.IsValid() {\n\t\treturn\n\t}\n\tuin := uf.Bytes()\n\tif len(uin) > 0 {\n\t\tout.FieldByName(\"XXX_unrecognized\").SetBytes(append([]byte(nil), uin...))\n\t}\n}\n\n// mergeAny performs a merge between two values of the same type.\n// viaPtr indicates whether the values were indirected through a pointer (implying proto2).\n// prop is set if this is a struct field (it may be nil).\nfunc mergeAny(out, in reflect.Value, viaPtr bool, prop *Properties) {\n\tif in.Type() == protoMessageType {\n\t\tif !in.IsNil() {\n\t\t\tif out.IsNil() {\n\t\t\t\tout.Set(reflect.ValueOf(Clone(in.Interface().(Message))))\n\t\t\t} else {\n\t\t\t\tMerge(out.Interface().(Message), in.Interface().(Message))\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tswitch in.Kind() {\n\tcase reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64,\n\t\treflect.String, reflect.Uint32, reflect.Uint64:\n\t\tif !viaPtr && isProto3Zero(in) {\n\t\t\treturn\n\t\t}\n\t\tout.Set(in)\n\tcase reflect.Interface:\n\t\t// Probably a oneof field; copy non-nil values.\n\t\tif in.IsNil() {\n\t\t\treturn\n\t\t}\n\t\t// Allocate destination if it is not set, or set to a different type.\n\t\t// Otherwise we will merge as normal.\n\t\tif out.IsNil() || out.Elem().Type() != in.Elem().Type() {\n\t\t\tout.Set(reflect.New(in.Elem().Elem().Type())) // interface -> *T -> T -> new(T)\n\t\t}\n\t\tmergeAny(out.Elem(), in.Elem(), false, nil)\n\tcase reflect.Map:\n\t\tif in.Len() == 0 {\n\t\t\treturn\n\t\t}\n\t\tif out.IsNil() {\n\t\t\tout.Set(reflect.MakeMap(in.Type()))\n\t\t}\n\t\t// For maps with value types of *T or []byte we need to deep copy each value.\n\t\telemKind := in.Type().Elem().Kind()\n\t\tfor _, key := range in.MapKeys() {\n\t\t\tvar val reflect.Value\n\t\t\tswitch elemKind {\n\t\t\tcase reflect.Ptr:\n\t\t\t\tval = reflect.New(in.Type().Elem().Elem())\n\t\t\t\tmergeAny(val, in.MapIndex(key), false, nil)\n\t\t\tcase reflect.Slice:\n\t\t\t\tval = in.MapIndex(key)\n\t\t\t\tval = reflect.ValueOf(append([]byte{}, val.Bytes()...))\n\t\t\tdefault:\n\t\t\t\tval = in.MapIndex(key)\n\t\t\t}\n\t\t\tout.SetMapIndex(key, val)\n\t\t}\n\tcase reflect.Ptr:\n\t\tif in.IsNil() {\n\t\t\treturn\n\t\t}\n\t\tif out.IsNil() {\n\t\t\tout.Set(reflect.New(in.Elem().Type()))\n\t\t}\n\t\tmergeAny(out.Elem(), in.Elem(), true, nil)\n\tcase reflect.Slice:\n\t\tif in.IsNil() {\n\t\t\treturn\n\t\t}\n\t\tif in.Type().Elem().Kind() == reflect.Uint8 {\n\t\t\t// []byte is a scalar bytes field, not a repeated field.\n\n\t\t\t// Edge case: if this is in a proto3 message, a zero length\n\t\t\t// bytes field is considered the zero value, and should not\n\t\t\t// be merged.\n\t\t\tif prop != nil && prop.proto3 && in.Len() == 0 {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Make a deep copy.\n\t\t\t// Append to []byte{} instead of []byte(nil) so that we never end up\n\t\t\t// with a nil result.\n\t\t\tout.SetBytes(append([]byte{}, in.Bytes()...))\n\t\t\treturn\n\t\t}\n\t\tn := in.Len()\n\t\tif out.IsNil() {\n\t\t\tout.Set(reflect.MakeSlice(in.Type(), 0, n))\n\t\t}\n\t\tswitch in.Type().Elem().Kind() {\n\t\tcase reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64,\n\t\t\treflect.String, reflect.Uint32, reflect.Uint64:\n\t\t\tout.Set(reflect.AppendSlice(out, in))\n\t\tdefault:\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tx := reflect.Indirect(reflect.New(in.Type().Elem()))\n\t\t\t\tmergeAny(x, in.Index(i), false, nil)\n\t\t\t\tout.Set(reflect.Append(out, x))\n\t\t\t}\n\t\t}\n\tcase reflect.Struct:\n\t\tmergeStruct(out, in)\n\tdefault:\n\t\t// unknown type, so not a protocol buffer\n\t\tlog.Printf(\"proto: don't know how to copy %v\", in)\n\t}\n}\n\nfunc mergeExtension(out, in map[int32]Extension) {\n\tfor extNum, eIn := range in {\n\t\teOut := Extension{desc: eIn.desc}\n\t\tif eIn.value != nil {\n\t\t\tv := reflect.New(reflect.TypeOf(eIn.value)).Elem()\n\t\t\tmergeAny(v, reflect.ValueOf(eIn.value), false, nil)\n\t\t\teOut.value = v.Interface()\n\t\t}\n\t\tif eIn.enc != nil {\n\t\t\teOut.enc = make([]byte, len(eIn.enc))\n\t\t\tcopy(eOut.enc, eIn.enc)\n\t\t}\n\n\t\tout[extNum] = eOut\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/decode.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Routines for decoding protocol buffer data to construct in-memory representations.\n */\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"reflect\"\n)\n\n// errOverflow is returned when an integer is too large to be represented.\nvar errOverflow = errors.New(\"proto: integer overflow\")\n\n// ErrInternalBadWireType is returned by generated code when an incorrect\n// wire type is encountered. It does not get returned to user code.\nvar ErrInternalBadWireType = errors.New(\"proto: internal error: bad wiretype for oneof\")\n\n// The fundamental decoders that interpret bytes on the wire.\n// Those that take integer types all return uint64 and are\n// therefore of type valueDecoder.\n\n// DecodeVarint reads a varint-encoded integer from the slice.\n// It returns the integer and the number of bytes consumed, or\n// zero if there is not enough.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\nfunc DecodeVarint(buf []byte) (x uint64, n int) {\n\tfor shift := uint(0); shift < 64; shift += 7 {\n\t\tif n >= len(buf) {\n\t\t\treturn 0, 0\n\t\t}\n\t\tb := uint64(buf[n])\n\t\tn++\n\t\tx |= (b & 0x7F) << shift\n\t\tif (b & 0x80) == 0 {\n\t\t\treturn x, n\n\t\t}\n\t}\n\n\t// The number is too large to represent in a 64-bit value.\n\treturn 0, 0\n}\n\nfunc (p *Buffer) decodeVarintSlow() (x uint64, err error) {\n\ti := p.index\n\tl := len(p.buf)\n\n\tfor shift := uint(0); shift < 64; shift += 7 {\n\t\tif i >= l {\n\t\t\terr = io.ErrUnexpectedEOF\n\t\t\treturn\n\t\t}\n\t\tb := p.buf[i]\n\t\ti++\n\t\tx |= (uint64(b) & 0x7F) << shift\n\t\tif b < 0x80 {\n\t\t\tp.index = i\n\t\t\treturn\n\t\t}\n\t}\n\n\t// The number is too large to represent in a 64-bit value.\n\terr = errOverflow\n\treturn\n}\n\n// DecodeVarint reads a varint-encoded integer from the Buffer.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\nfunc (p *Buffer) DecodeVarint() (x uint64, err error) {\n\ti := p.index\n\tbuf := p.buf\n\n\tif i >= len(buf) {\n\t\treturn 0, io.ErrUnexpectedEOF\n\t} else if buf[i] < 0x80 {\n\t\tp.index++\n\t\treturn uint64(buf[i]), nil\n\t} else if len(buf)-i < 10 {\n\t\treturn p.decodeVarintSlow()\n\t}\n\n\tvar b uint64\n\t// we already checked the first byte\n\tx = uint64(buf[i]) - 0x80\n\ti++\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 7\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 7\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 14\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 14\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 21\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 21\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 28\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 28\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 35\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 35\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 42\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 42\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 49\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 49\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 56\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 56\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 63\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\t// x -= 0x80 << 63 // Always zero.\n\n\treturn 0, errOverflow\n\ndone:\n\tp.index = i\n\treturn x, nil\n}\n\n// DecodeFixed64 reads a 64-bit integer from the Buffer.\n// This is the format for the\n// fixed64, sfixed64, and double protocol buffer types.\nfunc (p *Buffer) DecodeFixed64() (x uint64, err error) {\n\t// x, err already 0\n\ti := p.index + 8\n\tif i < 0 || i > len(p.buf) {\n\t\terr = io.ErrUnexpectedEOF\n\t\treturn\n\t}\n\tp.index = i\n\n\tx = uint64(p.buf[i-8])\n\tx |= uint64(p.buf[i-7]) << 8\n\tx |= uint64(p.buf[i-6]) << 16\n\tx |= uint64(p.buf[i-5]) << 24\n\tx |= uint64(p.buf[i-4]) << 32\n\tx |= uint64(p.buf[i-3]) << 40\n\tx |= uint64(p.buf[i-2]) << 48\n\tx |= uint64(p.buf[i-1]) << 56\n\treturn\n}\n\n// DecodeFixed32 reads a 32-bit integer from the Buffer.\n// This is the format for the\n// fixed32, sfixed32, and float protocol buffer types.\nfunc (p *Buffer) DecodeFixed32() (x uint64, err error) {\n\t// x, err already 0\n\ti := p.index + 4\n\tif i < 0 || i > len(p.buf) {\n\t\terr = io.ErrUnexpectedEOF\n\t\treturn\n\t}\n\tp.index = i\n\n\tx = uint64(p.buf[i-4])\n\tx |= uint64(p.buf[i-3]) << 8\n\tx |= uint64(p.buf[i-2]) << 16\n\tx |= uint64(p.buf[i-1]) << 24\n\treturn\n}\n\n// DecodeZigzag64 reads a zigzag-encoded 64-bit integer\n// from the Buffer.\n// This is the format used for the sint64 protocol buffer type.\nfunc (p *Buffer) DecodeZigzag64() (x uint64, err error) {\n\tx, err = p.DecodeVarint()\n\tif err != nil {\n\t\treturn\n\t}\n\tx = (x >> 1) ^ uint64((int64(x&1)<<63)>>63)\n\treturn\n}\n\n// DecodeZigzag32 reads a zigzag-encoded 32-bit integer\n// from  the Buffer.\n// This is the format used for the sint32 protocol buffer type.\nfunc (p *Buffer) DecodeZigzag32() (x uint64, err error) {\n\tx, err = p.DecodeVarint()\n\tif err != nil {\n\t\treturn\n\t}\n\tx = uint64((uint32(x) >> 1) ^ uint32((int32(x&1)<<31)>>31))\n\treturn\n}\n\n// These are not ValueDecoders: they produce an array of bytes or a string.\n// bytes, embedded messages\n\n// DecodeRawBytes reads a count-delimited byte buffer from the Buffer.\n// This is the format used for the bytes protocol buffer\n// type and for embedded messages.\nfunc (p *Buffer) DecodeRawBytes(alloc bool) (buf []byte, err error) {\n\tn, err := p.DecodeVarint()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tnb := int(n)\n\tif nb < 0 {\n\t\treturn nil, fmt.Errorf(\"proto: bad byte length %d\", nb)\n\t}\n\tend := p.index + nb\n\tif end < p.index || end > len(p.buf) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\n\tif !alloc {\n\t\t// todo: check if can get more uses of alloc=false\n\t\tbuf = p.buf[p.index:end]\n\t\tp.index += nb\n\t\treturn\n\t}\n\n\tbuf = make([]byte, nb)\n\tcopy(buf, p.buf[p.index:])\n\tp.index += nb\n\treturn\n}\n\n// DecodeStringBytes reads an encoded string from the Buffer.\n// This is the format used for the proto2 string type.\nfunc (p *Buffer) DecodeStringBytes() (s string, err error) {\n\tbuf, err := p.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn\n\t}\n\treturn string(buf), nil\n}\n\n// Skip the next item in the buffer. Its wire type is decoded and presented as an argument.\n// If the protocol buffer has extensions, and the field matches, add it as an extension.\n// Otherwise, if the XXX_unrecognized field exists, append the skipped data there.\nfunc (o *Buffer) skipAndSave(t reflect.Type, tag, wire int, base structPointer, unrecField field) error {\n\toi := o.index\n\n\terr := o.skip(t, tag, wire)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif !unrecField.IsValid() {\n\t\treturn nil\n\t}\n\n\tptr := structPointer_Bytes(base, unrecField)\n\n\t// Add the skipped field to struct field\n\tobuf := o.buf\n\n\to.buf = *ptr\n\to.EncodeVarint(uint64(tag<<3 | wire))\n\t*ptr = append(o.buf, obuf[oi:o.index]...)\n\n\to.buf = obuf\n\n\treturn nil\n}\n\n// Skip the next item in the buffer. Its wire type is decoded and presented as an argument.\nfunc (o *Buffer) skip(t reflect.Type, tag, wire int) error {\n\n\tvar u uint64\n\tvar err error\n\n\tswitch wire {\n\tcase WireVarint:\n\t\t_, err = o.DecodeVarint()\n\tcase WireFixed64:\n\t\t_, err = o.DecodeFixed64()\n\tcase WireBytes:\n\t\t_, err = o.DecodeRawBytes(false)\n\tcase WireFixed32:\n\t\t_, err = o.DecodeFixed32()\n\tcase WireStartGroup:\n\t\tfor {\n\t\t\tu, err = o.DecodeVarint()\n\t\t\tif err != nil {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tfwire := int(u & 0x7)\n\t\t\tif fwire == WireEndGroup {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tftag := int(u >> 3)\n\t\t\terr = o.skip(t, ftag, fwire)\n\t\t\tif err != nil {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\tdefault:\n\t\terr = fmt.Errorf(\"proto: can't skip unknown wire type %d for %s\", wire, t)\n\t}\n\treturn err\n}\n\n// Unmarshaler is the interface representing objects that can\n// unmarshal themselves.  The method should reset the receiver before\n// decoding starts.  The argument points to data that may be\n// overwritten, so implementations should not keep references to the\n// buffer.\ntype Unmarshaler interface {\n\tUnmarshal([]byte) error\n}\n\n// Unmarshal parses the protocol buffer representation in buf and places the\n// decoded result in pb.  If the struct underlying pb does not match\n// the data in buf, the results can be unpredictable.\n//\n// Unmarshal resets pb before starting to unmarshal, so any\n// existing data in pb is always removed. Use UnmarshalMerge\n// to preserve and append to existing data.\nfunc Unmarshal(buf []byte, pb Message) error {\n\tpb.Reset()\n\treturn UnmarshalMerge(buf, pb)\n}\n\n// UnmarshalMerge parses the protocol buffer representation in buf and\n// writes the decoded result to pb.  If the struct underlying pb does not match\n// the data in buf, the results can be unpredictable.\n//\n// UnmarshalMerge merges into existing data in pb.\n// Most code should use Unmarshal instead.\nfunc UnmarshalMerge(buf []byte, pb Message) error {\n\t// If the object can unmarshal itself, let it.\n\tif u, ok := pb.(Unmarshaler); ok {\n\t\treturn u.Unmarshal(buf)\n\t}\n\treturn NewBuffer(buf).Unmarshal(pb)\n}\n\n// DecodeMessage reads a count-delimited message from the Buffer.\nfunc (p *Buffer) DecodeMessage(pb Message) error {\n\tenc, err := p.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn NewBuffer(enc).Unmarshal(pb)\n}\n\n// DecodeGroup reads a tag-delimited group from the Buffer.\nfunc (p *Buffer) DecodeGroup(pb Message) error {\n\ttyp, base, err := getbase(pb)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn p.unmarshalType(typ.Elem(), GetProperties(typ.Elem()), true, base)\n}\n\n// Unmarshal parses the protocol buffer representation in the\n// Buffer and places the decoded result in pb.  If the struct\n// underlying pb does not match the data in the buffer, the results can be\n// unpredictable.\n//\n// Unlike proto.Unmarshal, this does not reset pb before starting to unmarshal.\nfunc (p *Buffer) Unmarshal(pb Message) error {\n\t// If the object can unmarshal itself, let it.\n\tif u, ok := pb.(Unmarshaler); ok {\n\t\terr := u.Unmarshal(p.buf[p.index:])\n\t\tp.index = len(p.buf)\n\t\treturn err\n\t}\n\n\ttyp, base, err := getbase(pb)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\terr = p.unmarshalType(typ.Elem(), GetProperties(typ.Elem()), false, base)\n\n\tif collectStats {\n\t\tstats.Decode++\n\t}\n\n\treturn err\n}\n\n// unmarshalType does the work of unmarshaling a structure.\nfunc (o *Buffer) unmarshalType(st reflect.Type, prop *StructProperties, is_group bool, base structPointer) error {\n\tvar state errorState\n\trequired, reqFields := prop.reqCount, uint64(0)\n\n\tvar err error\n\tfor err == nil && o.index < len(o.buf) {\n\t\toi := o.index\n\t\tvar u uint64\n\t\tu, err = o.DecodeVarint()\n\t\tif err != nil {\n\t\t\tbreak\n\t\t}\n\t\twire := int(u & 0x7)\n\t\tif wire == WireEndGroup {\n\t\t\tif is_group {\n\t\t\t\tif required > 0 {\n\t\t\t\t\t// Not enough information to determine the exact field.\n\t\t\t\t\t// (See below.)\n\t\t\t\t\treturn &RequiredNotSetError{\"{Unknown}\"}\n\t\t\t\t}\n\t\t\t\treturn nil // input is satisfied\n\t\t\t}\n\t\t\treturn fmt.Errorf(\"proto: %s: wiretype end group for non-group\", st)\n\t\t}\n\t\ttag := int(u >> 3)\n\t\tif tag <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: %s: illegal tag %d (wire type %d)\", st, tag, wire)\n\t\t}\n\t\tfieldnum, ok := prop.decoderTags.get(tag)\n\t\tif !ok {\n\t\t\t// Maybe it's an extension?\n\t\t\tif prop.extendable {\n\t\t\t\tif e, _ := extendable(structPointer_Interface(base, st)); isExtensionField(e, int32(tag)) {\n\t\t\t\t\tif err = o.skip(st, tag, wire); err == nil {\n\t\t\t\t\t\textmap := e.extensionsWrite()\n\t\t\t\t\t\text := extmap[int32(tag)] // may be missing\n\t\t\t\t\t\text.enc = append(ext.enc, o.buf[oi:o.index]...)\n\t\t\t\t\t\textmap[int32(tag)] = ext\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Maybe it's a oneof?\n\t\t\tif prop.oneofUnmarshaler != nil {\n\t\t\t\tm := structPointer_Interface(base, st).(Message)\n\t\t\t\t// First return value indicates whether tag is a oneof field.\n\t\t\t\tok, err = prop.oneofUnmarshaler(m, tag, wire, o)\n\t\t\t\tif err == ErrInternalBadWireType {\n\t\t\t\t\t// Map the error to something more descriptive.\n\t\t\t\t\t// Do the formatting here to save generated code space.\n\t\t\t\t\terr = fmt.Errorf(\"bad wiretype for oneof field in %T\", m)\n\t\t\t\t}\n\t\t\t\tif ok {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\terr = o.skipAndSave(st, tag, wire, base, prop.unrecField)\n\t\t\tcontinue\n\t\t}\n\t\tp := prop.Prop[fieldnum]\n\n\t\tif p.dec == nil {\n\t\t\tfmt.Fprintf(os.Stderr, \"proto: no protobuf decoder for %s.%s\\n\", st, st.Field(fieldnum).Name)\n\t\t\tcontinue\n\t\t}\n\t\tdec := p.dec\n\t\tif wire != WireStartGroup && wire != p.WireType {\n\t\t\tif wire == WireBytes && p.packedDec != nil {\n\t\t\t\t// a packable field\n\t\t\t\tdec = p.packedDec\n\t\t\t} else {\n\t\t\t\terr = fmt.Errorf(\"proto: bad wiretype for field %s.%s: got wiretype %d, want %d\", st, st.Field(fieldnum).Name, wire, p.WireType)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tdecErr := dec(o, p, base)\n\t\tif decErr != nil && !state.shouldContinue(decErr, p) {\n\t\t\terr = decErr\n\t\t}\n\t\tif err == nil && p.Required {\n\t\t\t// Successfully decoded a required field.\n\t\t\tif tag <= 64 {\n\t\t\t\t// use bitmap for fields 1-64 to catch field reuse.\n\t\t\t\tvar mask uint64 = 1 << uint64(tag-1)\n\t\t\t\tif reqFields&mask == 0 {\n\t\t\t\t\t// new required field\n\t\t\t\t\treqFields |= mask\n\t\t\t\t\trequired--\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// This is imprecise. It can be fooled by a required field\n\t\t\t\t// with a tag > 64 that is encoded twice; that's very rare.\n\t\t\t\t// A fully correct implementation would require allocating\n\t\t\t\t// a data structure, which we would like to avoid.\n\t\t\t\trequired--\n\t\t\t}\n\t\t}\n\t}\n\tif err == nil {\n\t\tif is_group {\n\t\t\treturn io.ErrUnexpectedEOF\n\t\t}\n\t\tif state.err != nil {\n\t\t\treturn state.err\n\t\t}\n\t\tif required > 0 {\n\t\t\t// Not enough information to determine the exact field. If we use extra\n\t\t\t// CPU, we could determine the field only if the missing required field\n\t\t\t// has a tag <= 64 and we check reqFields.\n\t\t\treturn &RequiredNotSetError{\"{Unknown}\"}\n\t\t}\n\t}\n\treturn err\n}\n\n// Individual type decoders\n// For each,\n//\tu is the decoded value,\n//\tv is a pointer to the field (pointer) in the struct\n\n// Sizes of the pools to allocate inside the Buffer.\n// The goal is modest amortization and allocation\n// on at least 16-byte boundaries.\nconst (\n\tboolPoolSize   = 16\n\tuint32PoolSize = 8\n\tuint64PoolSize = 4\n)\n\n// Decode a bool.\nfunc (o *Buffer) dec_bool(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif len(o.bools) == 0 {\n\t\to.bools = make([]bool, boolPoolSize)\n\t}\n\to.bools[0] = u != 0\n\t*structPointer_Bool(base, p.field) = &o.bools[0]\n\to.bools = o.bools[1:]\n\treturn nil\n}\n\nfunc (o *Buffer) dec_proto3_bool(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\t*structPointer_BoolVal(base, p.field) = u != 0\n\treturn nil\n}\n\n// Decode an int32.\nfunc (o *Buffer) dec_int32(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tword32_Set(structPointer_Word32(base, p.field), o, uint32(u))\n\treturn nil\n}\n\nfunc (o *Buffer) dec_proto3_int32(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tword32Val_Set(structPointer_Word32Val(base, p.field), uint32(u))\n\treturn nil\n}\n\n// Decode an int64.\nfunc (o *Buffer) dec_int64(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tword64_Set(structPointer_Word64(base, p.field), o, u)\n\treturn nil\n}\n\nfunc (o *Buffer) dec_proto3_int64(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tword64Val_Set(structPointer_Word64Val(base, p.field), o, u)\n\treturn nil\n}\n\n// Decode a string.\nfunc (o *Buffer) dec_string(p *Properties, base structPointer) error {\n\ts, err := o.DecodeStringBytes()\n\tif err != nil {\n\t\treturn err\n\t}\n\t*structPointer_String(base, p.field) = &s\n\treturn nil\n}\n\nfunc (o *Buffer) dec_proto3_string(p *Properties, base structPointer) error {\n\ts, err := o.DecodeStringBytes()\n\tif err != nil {\n\t\treturn err\n\t}\n\t*structPointer_StringVal(base, p.field) = s\n\treturn nil\n}\n\n// Decode a slice of bytes ([]byte).\nfunc (o *Buffer) dec_slice_byte(p *Properties, base structPointer) error {\n\tb, err := o.DecodeRawBytes(true)\n\tif err != nil {\n\t\treturn err\n\t}\n\t*structPointer_Bytes(base, p.field) = b\n\treturn nil\n}\n\n// Decode a slice of bools ([]bool).\nfunc (o *Buffer) dec_slice_bool(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tv := structPointer_BoolSlice(base, p.field)\n\t*v = append(*v, u != 0)\n\treturn nil\n}\n\n// Decode a slice of bools ([]bool) in packed format.\nfunc (o *Buffer) dec_slice_packed_bool(p *Properties, base structPointer) error {\n\tv := structPointer_BoolSlice(base, p.field)\n\n\tnn, err := o.DecodeVarint()\n\tif err != nil {\n\t\treturn err\n\t}\n\tnb := int(nn) // number of bytes of encoded bools\n\tfin := o.index + nb\n\tif fin < o.index {\n\t\treturn errOverflow\n\t}\n\n\ty := *v\n\tfor o.index < fin {\n\t\tu, err := p.valDec(o)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ty = append(y, u != 0)\n\t}\n\n\t*v = y\n\treturn nil\n}\n\n// Decode a slice of int32s ([]int32).\nfunc (o *Buffer) dec_slice_int32(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\tstructPointer_Word32Slice(base, p.field).Append(uint32(u))\n\treturn nil\n}\n\n// Decode a slice of int32s ([]int32) in packed format.\nfunc (o *Buffer) dec_slice_packed_int32(p *Properties, base structPointer) error {\n\tv := structPointer_Word32Slice(base, p.field)\n\n\tnn, err := o.DecodeVarint()\n\tif err != nil {\n\t\treturn err\n\t}\n\tnb := int(nn) // number of bytes of encoded int32s\n\n\tfin := o.index + nb\n\tif fin < o.index {\n\t\treturn errOverflow\n\t}\n\tfor o.index < fin {\n\t\tu, err := p.valDec(o)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tv.Append(uint32(u))\n\t}\n\treturn nil\n}\n\n// Decode a slice of int64s ([]int64).\nfunc (o *Buffer) dec_slice_int64(p *Properties, base structPointer) error {\n\tu, err := p.valDec(o)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tstructPointer_Word64Slice(base, p.field).Append(u)\n\treturn nil\n}\n\n// Decode a slice of int64s ([]int64) in packed format.\nfunc (o *Buffer) dec_slice_packed_int64(p *Properties, base structPointer) error {\n\tv := structPointer_Word64Slice(base, p.field)\n\n\tnn, err := o.DecodeVarint()\n\tif err != nil {\n\t\treturn err\n\t}\n\tnb := int(nn) // number of bytes of encoded int64s\n\n\tfin := o.index + nb\n\tif fin < o.index {\n\t\treturn errOverflow\n\t}\n\tfor o.index < fin {\n\t\tu, err := p.valDec(o)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tv.Append(u)\n\t}\n\treturn nil\n}\n\n// Decode a slice of strings ([]string).\nfunc (o *Buffer) dec_slice_string(p *Properties, base structPointer) error {\n\ts, err := o.DecodeStringBytes()\n\tif err != nil {\n\t\treturn err\n\t}\n\tv := structPointer_StringSlice(base, p.field)\n\t*v = append(*v, s)\n\treturn nil\n}\n\n// Decode a slice of slice of bytes ([][]byte).\nfunc (o *Buffer) dec_slice_slice_byte(p *Properties, base structPointer) error {\n\tb, err := o.DecodeRawBytes(true)\n\tif err != nil {\n\t\treturn err\n\t}\n\tv := structPointer_BytesSlice(base, p.field)\n\t*v = append(*v, b)\n\treturn nil\n}\n\n// Decode a map field.\nfunc (o *Buffer) dec_new_map(p *Properties, base structPointer) error {\n\traw, err := o.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn err\n\t}\n\toi := o.index       // index at the end of this map entry\n\to.index -= len(raw) // move buffer back to start of map entry\n\n\tmptr := structPointer_NewAt(base, p.field, p.mtype) // *map[K]V\n\tif mptr.Elem().IsNil() {\n\t\tmptr.Elem().Set(reflect.MakeMap(mptr.Type().Elem()))\n\t}\n\tv := mptr.Elem() // map[K]V\n\n\t// Prepare addressable doubly-indirect placeholders for the key and value types.\n\t// See enc_new_map for why.\n\tkeyptr := reflect.New(reflect.PtrTo(p.mtype.Key())).Elem() // addressable *K\n\tkeybase := toStructPointer(keyptr.Addr())                  // **K\n\n\tvar valbase structPointer\n\tvar valptr reflect.Value\n\tswitch p.mtype.Elem().Kind() {\n\tcase reflect.Slice:\n\t\t// []byte\n\t\tvar dummy []byte\n\t\tvalptr = reflect.ValueOf(&dummy)  // *[]byte\n\t\tvalbase = toStructPointer(valptr) // *[]byte\n\tcase reflect.Ptr:\n\t\t// message; valptr is **Msg; need to allocate the intermediate pointer\n\t\tvalptr = reflect.New(reflect.PtrTo(p.mtype.Elem())).Elem() // addressable *V\n\t\tvalptr.Set(reflect.New(valptr.Type().Elem()))\n\t\tvalbase = toStructPointer(valptr)\n\tdefault:\n\t\t// everything else\n\t\tvalptr = reflect.New(reflect.PtrTo(p.mtype.Elem())).Elem() // addressable *V\n\t\tvalbase = toStructPointer(valptr.Addr())                   // **V\n\t}\n\n\t// Decode.\n\t// This parses a restricted wire format, namely the encoding of a message\n\t// with two fields. See enc_new_map for the format.\n\tfor o.index < oi {\n\t\t// tagcode for key and value properties are always a single byte\n\t\t// because they have tags 1 and 2.\n\t\ttagcode := o.buf[o.index]\n\t\to.index++\n\t\tswitch tagcode {\n\t\tcase p.mkeyprop.tagcode[0]:\n\t\t\tif err := p.mkeyprop.dec(o, p.mkeyprop, keybase); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\tcase p.mvalprop.tagcode[0]:\n\t\t\tif err := p.mvalprop.dec(o, p.mvalprop, valbase); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\tdefault:\n\t\t\t// TODO: Should we silently skip this instead?\n\t\t\treturn fmt.Errorf(\"proto: bad map data tag %d\", raw[0])\n\t\t}\n\t}\n\tkeyelem, valelem := keyptr.Elem(), valptr.Elem()\n\tif !keyelem.IsValid() {\n\t\tkeyelem = reflect.Zero(p.mtype.Key())\n\t}\n\tif !valelem.IsValid() {\n\t\tvalelem = reflect.Zero(p.mtype.Elem())\n\t}\n\n\tv.SetMapIndex(keyelem, valelem)\n\treturn nil\n}\n\n// Decode a group.\nfunc (o *Buffer) dec_struct_group(p *Properties, base structPointer) error {\n\tbas := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(bas) {\n\t\t// allocate new nested message\n\t\tbas = toStructPointer(reflect.New(p.stype))\n\t\tstructPointer_SetStructPointer(base, p.field, bas)\n\t}\n\treturn o.unmarshalType(p.stype, p.sprop, true, bas)\n}\n\n// Decode an embedded message.\nfunc (o *Buffer) dec_struct_message(p *Properties, base structPointer) (err error) {\n\traw, e := o.DecodeRawBytes(false)\n\tif e != nil {\n\t\treturn e\n\t}\n\n\tbas := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(bas) {\n\t\t// allocate new nested message\n\t\tbas = toStructPointer(reflect.New(p.stype))\n\t\tstructPointer_SetStructPointer(base, p.field, bas)\n\t}\n\n\t// If the object can unmarshal itself, let it.\n\tif p.isUnmarshaler {\n\t\tiv := structPointer_Interface(bas, p.stype)\n\t\treturn iv.(Unmarshaler).Unmarshal(raw)\n\t}\n\n\tobuf := o.buf\n\toi := o.index\n\to.buf = raw\n\to.index = 0\n\n\terr = o.unmarshalType(p.stype, p.sprop, false, bas)\n\to.buf = obuf\n\to.index = oi\n\n\treturn err\n}\n\n// Decode a slice of embedded messages.\nfunc (o *Buffer) dec_slice_struct_message(p *Properties, base structPointer) error {\n\treturn o.dec_slice_struct(p, false, base)\n}\n\n// Decode a slice of embedded groups.\nfunc (o *Buffer) dec_slice_struct_group(p *Properties, base structPointer) error {\n\treturn o.dec_slice_struct(p, true, base)\n}\n\n// Decode a slice of structs ([]*struct).\nfunc (o *Buffer) dec_slice_struct(p *Properties, is_group bool, base structPointer) error {\n\tv := reflect.New(p.stype)\n\tbas := toStructPointer(v)\n\tstructPointer_StructPointerSlice(base, p.field).Append(bas)\n\n\tif is_group {\n\t\terr := o.unmarshalType(p.stype, p.sprop, is_group, bas)\n\t\treturn err\n\t}\n\n\traw, err := o.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// If the object can unmarshal itself, let it.\n\tif p.isUnmarshaler {\n\t\tiv := v.Interface()\n\t\treturn iv.(Unmarshaler).Unmarshal(raw)\n\t}\n\n\tobuf := o.buf\n\toi := o.index\n\to.buf = raw\n\to.index = 0\n\n\terr = o.unmarshalType(p.stype, p.sprop, is_group, bas)\n\n\to.buf = obuf\n\to.index = oi\n\n\treturn err\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/encode.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Routines for encoding data into the wire format for protocol buffers.\n */\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"sort\"\n)\n\n// RequiredNotSetError is the error returned if Marshal is called with\n// a protocol buffer struct whose required fields have not\n// all been initialized. It is also the error returned if Unmarshal is\n// called with an encoded protocol buffer that does not include all the\n// required fields.\n//\n// When printed, RequiredNotSetError reports the first unset required field in a\n// message. If the field cannot be precisely determined, it is reported as\n// \"{Unknown}\".\ntype RequiredNotSetError struct {\n\tfield string\n}\n\nfunc (e *RequiredNotSetError) Error() string {\n\treturn fmt.Sprintf(\"proto: required field %q not set\", e.field)\n}\n\nvar (\n\t// errRepeatedHasNil is the error returned if Marshal is called with\n\t// a struct with a repeated field containing a nil element.\n\terrRepeatedHasNil = errors.New(\"proto: repeated field has nil element\")\n\n\t// errOneofHasNil is the error returned if Marshal is called with\n\t// a struct with a oneof field containing a nil element.\n\terrOneofHasNil = errors.New(\"proto: oneof field has nil value\")\n\n\t// ErrNil is the error returned if Marshal is called with nil.\n\tErrNil = errors.New(\"proto: Marshal called with nil\")\n\n\t// ErrTooLarge is the error returned if Marshal is called with a\n\t// message that encodes to >2GB.\n\tErrTooLarge = errors.New(\"proto: message encodes to over 2 GB\")\n)\n\n// The fundamental encoders that put bytes on the wire.\n// Those that take integer types all accept uint64 and are\n// therefore of type valueEncoder.\n\nconst maxVarintBytes = 10 // maximum length of a varint\n\n// maxMarshalSize is the largest allowed size of an encoded protobuf,\n// since C++ and Java use signed int32s for the size.\nconst maxMarshalSize = 1<<31 - 1\n\n// EncodeVarint returns the varint encoding of x.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\n// Not used by the package itself, but helpful to clients\n// wishing to use the same encoding.\nfunc EncodeVarint(x uint64) []byte {\n\tvar buf [maxVarintBytes]byte\n\tvar n int\n\tfor n = 0; x > 127; n++ {\n\t\tbuf[n] = 0x80 | uint8(x&0x7F)\n\t\tx >>= 7\n\t}\n\tbuf[n] = uint8(x)\n\tn++\n\treturn buf[0:n]\n}\n\n// EncodeVarint writes a varint-encoded integer to the Buffer.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\nfunc (p *Buffer) EncodeVarint(x uint64) error {\n\tfor x >= 1<<7 {\n\t\tp.buf = append(p.buf, uint8(x&0x7f|0x80))\n\t\tx >>= 7\n\t}\n\tp.buf = append(p.buf, uint8(x))\n\treturn nil\n}\n\n// SizeVarint returns the varint encoding size of an integer.\nfunc SizeVarint(x uint64) int {\n\treturn sizeVarint(x)\n}\n\nfunc sizeVarint(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\n\n// EncodeFixed64 writes a 64-bit integer to the Buffer.\n// This is the format for the\n// fixed64, sfixed64, and double protocol buffer types.\nfunc (p *Buffer) EncodeFixed64(x uint64) error {\n\tp.buf = append(p.buf,\n\t\tuint8(x),\n\t\tuint8(x>>8),\n\t\tuint8(x>>16),\n\t\tuint8(x>>24),\n\t\tuint8(x>>32),\n\t\tuint8(x>>40),\n\t\tuint8(x>>48),\n\t\tuint8(x>>56))\n\treturn nil\n}\n\nfunc sizeFixed64(x uint64) int {\n\treturn 8\n}\n\n// EncodeFixed32 writes a 32-bit integer to the Buffer.\n// This is the format for the\n// fixed32, sfixed32, and float protocol buffer types.\nfunc (p *Buffer) EncodeFixed32(x uint64) error {\n\tp.buf = append(p.buf,\n\t\tuint8(x),\n\t\tuint8(x>>8),\n\t\tuint8(x>>16),\n\t\tuint8(x>>24))\n\treturn nil\n}\n\nfunc sizeFixed32(x uint64) int {\n\treturn 4\n}\n\n// EncodeZigzag64 writes a zigzag-encoded 64-bit integer\n// to the Buffer.\n// This is the format used for the sint64 protocol buffer type.\nfunc (p *Buffer) EncodeZigzag64(x uint64) error {\n\t// use signed number to get arithmetic right shift.\n\treturn p.EncodeVarint((x << 1) ^ uint64((int64(x) >> 63)))\n}\n\nfunc sizeZigzag64(x uint64) int {\n\treturn sizeVarint((x << 1) ^ uint64((int64(x) >> 63)))\n}\n\n// EncodeZigzag32 writes a zigzag-encoded 32-bit integer\n// to the Buffer.\n// This is the format used for the sint32 protocol buffer type.\nfunc (p *Buffer) EncodeZigzag32(x uint64) error {\n\t// use signed number to get arithmetic right shift.\n\treturn p.EncodeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31))))\n}\n\nfunc sizeZigzag32(x uint64) int {\n\treturn sizeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31))))\n}\n\n// EncodeRawBytes writes a count-delimited byte buffer to the Buffer.\n// This is the format used for the bytes protocol buffer\n// type and for embedded messages.\nfunc (p *Buffer) EncodeRawBytes(b []byte) error {\n\tp.EncodeVarint(uint64(len(b)))\n\tp.buf = append(p.buf, b...)\n\treturn nil\n}\n\nfunc sizeRawBytes(b []byte) int {\n\treturn sizeVarint(uint64(len(b))) +\n\t\tlen(b)\n}\n\n// EncodeStringBytes writes an encoded string to the Buffer.\n// This is the format used for the proto2 string type.\nfunc (p *Buffer) EncodeStringBytes(s string) error {\n\tp.EncodeVarint(uint64(len(s)))\n\tp.buf = append(p.buf, s...)\n\treturn nil\n}\n\nfunc sizeStringBytes(s string) int {\n\treturn sizeVarint(uint64(len(s))) +\n\t\tlen(s)\n}\n\n// Marshaler is the interface representing objects that can marshal themselves.\ntype Marshaler interface {\n\tMarshal() ([]byte, error)\n}\n\n// Marshal takes the protocol buffer\n// and encodes it into the wire format, returning the data.\nfunc Marshal(pb Message) ([]byte, error) {\n\t// Can the object marshal itself?\n\tif m, ok := pb.(Marshaler); ok {\n\t\treturn m.Marshal()\n\t}\n\tp := NewBuffer(nil)\n\terr := p.Marshal(pb)\n\tif p.buf == nil && err == nil {\n\t\t// Return a non-nil slice on success.\n\t\treturn []byte{}, nil\n\t}\n\treturn p.buf, err\n}\n\n// EncodeMessage writes the protocol buffer to the Buffer,\n// prefixed by a varint-encoded length.\nfunc (p *Buffer) EncodeMessage(pb Message) error {\n\tt, base, err := getbase(pb)\n\tif structPointer_IsNil(base) {\n\t\treturn ErrNil\n\t}\n\tif err == nil {\n\t\tvar state errorState\n\t\terr = p.enc_len_struct(GetProperties(t.Elem()), base, &state)\n\t}\n\treturn err\n}\n\n// Marshal takes the protocol buffer\n// and encodes it into the wire format, writing the result to the\n// Buffer.\nfunc (p *Buffer) Marshal(pb Message) error {\n\t// Can the object marshal itself?\n\tif m, ok := pb.(Marshaler); ok {\n\t\tdata, err := m.Marshal()\n\t\tp.buf = append(p.buf, data...)\n\t\treturn err\n\t}\n\n\tt, base, err := getbase(pb)\n\tif structPointer_IsNil(base) {\n\t\treturn ErrNil\n\t}\n\tif err == nil {\n\t\terr = p.enc_struct(GetProperties(t.Elem()), base)\n\t}\n\n\tif collectStats {\n\t\t(stats).Encode++ // Parens are to work around a goimports bug.\n\t}\n\n\tif len(p.buf) > maxMarshalSize {\n\t\treturn ErrTooLarge\n\t}\n\treturn err\n}\n\n// Size returns the encoded size of a protocol buffer.\nfunc Size(pb Message) (n int) {\n\t// Can the object marshal itself?  If so, Size is slow.\n\t// TODO: add Size to Marshaler, or add a Sizer interface.\n\tif m, ok := pb.(Marshaler); ok {\n\t\tb, _ := m.Marshal()\n\t\treturn len(b)\n\t}\n\n\tt, base, err := getbase(pb)\n\tif structPointer_IsNil(base) {\n\t\treturn 0\n\t}\n\tif err == nil {\n\t\tn = size_struct(GetProperties(t.Elem()), base)\n\t}\n\n\tif collectStats {\n\t\t(stats).Size++ // Parens are to work around a goimports bug.\n\t}\n\n\treturn\n}\n\n// Individual type encoders.\n\n// Encode a bool.\nfunc (o *Buffer) enc_bool(p *Properties, base structPointer) error {\n\tv := *structPointer_Bool(base, p.field)\n\tif v == nil {\n\t\treturn ErrNil\n\t}\n\tx := 0\n\tif *v {\n\t\tx = 1\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc (o *Buffer) enc_proto3_bool(p *Properties, base structPointer) error {\n\tv := *structPointer_BoolVal(base, p.field)\n\tif !v {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, 1)\n\treturn nil\n}\n\nfunc size_bool(p *Properties, base structPointer) int {\n\tv := *structPointer_Bool(base, p.field)\n\tif v == nil {\n\t\treturn 0\n\t}\n\treturn len(p.tagcode) + 1 // each bool takes exactly one byte\n}\n\nfunc size_proto3_bool(p *Properties, base structPointer) int {\n\tv := *structPointer_BoolVal(base, p.field)\n\tif !v && !p.oneof {\n\t\treturn 0\n\t}\n\treturn len(p.tagcode) + 1 // each bool takes exactly one byte\n}\n\n// Encode an int32.\nfunc (o *Buffer) enc_int32(p *Properties, base structPointer) error {\n\tv := structPointer_Word32(base, p.field)\n\tif word32_IsNil(v) {\n\t\treturn ErrNil\n\t}\n\tx := int32(word32_Get(v)) // permit sign extension to use full 64-bit range\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc (o *Buffer) enc_proto3_int32(p *Properties, base structPointer) error {\n\tv := structPointer_Word32Val(base, p.field)\n\tx := int32(word32Val_Get(v)) // permit sign extension to use full 64-bit range\n\tif x == 0 {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc size_int32(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word32(base, p.field)\n\tif word32_IsNil(v) {\n\t\treturn 0\n\t}\n\tx := int32(word32_Get(v)) // permit sign extension to use full 64-bit range\n\tn += len(p.tagcode)\n\tn += p.valSize(uint64(x))\n\treturn\n}\n\nfunc size_proto3_int32(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word32Val(base, p.field)\n\tx := int32(word32Val_Get(v)) // permit sign extension to use full 64-bit range\n\tif x == 0 && !p.oneof {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += p.valSize(uint64(x))\n\treturn\n}\n\n// Encode a uint32.\n// Exactly the same as int32, except for no sign extension.\nfunc (o *Buffer) enc_uint32(p *Properties, base structPointer) error {\n\tv := structPointer_Word32(base, p.field)\n\tif word32_IsNil(v) {\n\t\treturn ErrNil\n\t}\n\tx := word32_Get(v)\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc (o *Buffer) enc_proto3_uint32(p *Properties, base structPointer) error {\n\tv := structPointer_Word32Val(base, p.field)\n\tx := word32Val_Get(v)\n\tif x == 0 {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, uint64(x))\n\treturn nil\n}\n\nfunc size_uint32(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word32(base, p.field)\n\tif word32_IsNil(v) {\n\t\treturn 0\n\t}\n\tx := word32_Get(v)\n\tn += len(p.tagcode)\n\tn += p.valSize(uint64(x))\n\treturn\n}\n\nfunc size_proto3_uint32(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word32Val(base, p.field)\n\tx := word32Val_Get(v)\n\tif x == 0 && !p.oneof {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += p.valSize(uint64(x))\n\treturn\n}\n\n// Encode an int64.\nfunc (o *Buffer) enc_int64(p *Properties, base structPointer) error {\n\tv := structPointer_Word64(base, p.field)\n\tif word64_IsNil(v) {\n\t\treturn ErrNil\n\t}\n\tx := word64_Get(v)\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, x)\n\treturn nil\n}\n\nfunc (o *Buffer) enc_proto3_int64(p *Properties, base structPointer) error {\n\tv := structPointer_Word64Val(base, p.field)\n\tx := word64Val_Get(v)\n\tif x == 0 {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\tp.valEnc(o, x)\n\treturn nil\n}\n\nfunc size_int64(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word64(base, p.field)\n\tif word64_IsNil(v) {\n\t\treturn 0\n\t}\n\tx := word64_Get(v)\n\tn += len(p.tagcode)\n\tn += p.valSize(x)\n\treturn\n}\n\nfunc size_proto3_int64(p *Properties, base structPointer) (n int) {\n\tv := structPointer_Word64Val(base, p.field)\n\tx := word64Val_Get(v)\n\tif x == 0 && !p.oneof {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += p.valSize(x)\n\treturn\n}\n\n// Encode a string.\nfunc (o *Buffer) enc_string(p *Properties, base structPointer) error {\n\tv := *structPointer_String(base, p.field)\n\tif v == nil {\n\t\treturn ErrNil\n\t}\n\tx := *v\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeStringBytes(x)\n\treturn nil\n}\n\nfunc (o *Buffer) enc_proto3_string(p *Properties, base structPointer) error {\n\tv := *structPointer_StringVal(base, p.field)\n\tif v == \"\" {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeStringBytes(v)\n\treturn nil\n}\n\nfunc size_string(p *Properties, base structPointer) (n int) {\n\tv := *structPointer_String(base, p.field)\n\tif v == nil {\n\t\treturn 0\n\t}\n\tx := *v\n\tn += len(p.tagcode)\n\tn += sizeStringBytes(x)\n\treturn\n}\n\nfunc size_proto3_string(p *Properties, base structPointer) (n int) {\n\tv := *structPointer_StringVal(base, p.field)\n\tif v == \"\" && !p.oneof {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += sizeStringBytes(v)\n\treturn\n}\n\n// All protocol buffer fields are nillable, but be careful.\nfunc isNil(v reflect.Value) bool {\n\tswitch v.Kind() {\n\tcase reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice:\n\t\treturn v.IsNil()\n\t}\n\treturn false\n}\n\n// Encode a message struct.\nfunc (o *Buffer) enc_struct_message(p *Properties, base structPointer) error {\n\tvar state errorState\n\tstructp := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(structp) {\n\t\treturn ErrNil\n\t}\n\n\t// Can the object marshal itself?\n\tif p.isMarshaler {\n\t\tm := structPointer_Interface(structp, p.stype).(Marshaler)\n\t\tdata, err := m.Marshal()\n\t\tif err != nil && !state.shouldContinue(err, nil) {\n\t\t\treturn err\n\t\t}\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\to.EncodeRawBytes(data)\n\t\treturn state.err\n\t}\n\n\to.buf = append(o.buf, p.tagcode...)\n\treturn o.enc_len_struct(p.sprop, structp, &state)\n}\n\nfunc size_struct_message(p *Properties, base structPointer) int {\n\tstructp := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(structp) {\n\t\treturn 0\n\t}\n\n\t// Can the object marshal itself?\n\tif p.isMarshaler {\n\t\tm := structPointer_Interface(structp, p.stype).(Marshaler)\n\t\tdata, _ := m.Marshal()\n\t\tn0 := len(p.tagcode)\n\t\tn1 := sizeRawBytes(data)\n\t\treturn n0 + n1\n\t}\n\n\tn0 := len(p.tagcode)\n\tn1 := size_struct(p.sprop, structp)\n\tn2 := sizeVarint(uint64(n1)) // size of encoded length\n\treturn n0 + n1 + n2\n}\n\n// Encode a group struct.\nfunc (o *Buffer) enc_struct_group(p *Properties, base structPointer) error {\n\tvar state errorState\n\tb := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(b) {\n\t\treturn ErrNil\n\t}\n\n\to.EncodeVarint(uint64((p.Tag << 3) | WireStartGroup))\n\terr := o.enc_struct(p.sprop, b)\n\tif err != nil && !state.shouldContinue(err, nil) {\n\t\treturn err\n\t}\n\to.EncodeVarint(uint64((p.Tag << 3) | WireEndGroup))\n\treturn state.err\n}\n\nfunc size_struct_group(p *Properties, base structPointer) (n int) {\n\tb := structPointer_GetStructPointer(base, p.field)\n\tif structPointer_IsNil(b) {\n\t\treturn 0\n\t}\n\n\tn += sizeVarint(uint64((p.Tag << 3) | WireStartGroup))\n\tn += size_struct(p.sprop, b)\n\tn += sizeVarint(uint64((p.Tag << 3) | WireEndGroup))\n\treturn\n}\n\n// Encode a slice of bools ([]bool).\nfunc (o *Buffer) enc_slice_bool(p *Properties, base structPointer) error {\n\ts := *structPointer_BoolSlice(base, p.field)\n\tl := len(s)\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\tfor _, x := range s {\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\tv := uint64(0)\n\t\tif x {\n\t\t\tv = 1\n\t\t}\n\t\tp.valEnc(o, v)\n\t}\n\treturn nil\n}\n\nfunc size_slice_bool(p *Properties, base structPointer) int {\n\ts := *structPointer_BoolSlice(base, p.field)\n\tl := len(s)\n\tif l == 0 {\n\t\treturn 0\n\t}\n\treturn l * (len(p.tagcode) + 1) // each bool takes exactly one byte\n}\n\n// Encode a slice of bools ([]bool) in packed format.\nfunc (o *Buffer) enc_slice_packed_bool(p *Properties, base structPointer) error {\n\ts := *structPointer_BoolSlice(base, p.field)\n\tl := len(s)\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeVarint(uint64(l)) // each bool takes exactly one byte\n\tfor _, x := range s {\n\t\tv := uint64(0)\n\t\tif x {\n\t\t\tv = 1\n\t\t}\n\t\tp.valEnc(o, v)\n\t}\n\treturn nil\n}\n\nfunc size_slice_packed_bool(p *Properties, base structPointer) (n int) {\n\ts := *structPointer_BoolSlice(base, p.field)\n\tl := len(s)\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += sizeVarint(uint64(l))\n\tn += l // each bool takes exactly one byte\n\treturn\n}\n\n// Encode a slice of bytes ([]byte).\nfunc (o *Buffer) enc_slice_byte(p *Properties, base structPointer) error {\n\ts := *structPointer_Bytes(base, p.field)\n\tif s == nil {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeRawBytes(s)\n\treturn nil\n}\n\nfunc (o *Buffer) enc_proto3_slice_byte(p *Properties, base structPointer) error {\n\ts := *structPointer_Bytes(base, p.field)\n\tif len(s) == 0 {\n\t\treturn ErrNil\n\t}\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeRawBytes(s)\n\treturn nil\n}\n\nfunc size_slice_byte(p *Properties, base structPointer) (n int) {\n\ts := *structPointer_Bytes(base, p.field)\n\tif s == nil && !p.oneof {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += sizeRawBytes(s)\n\treturn\n}\n\nfunc size_proto3_slice_byte(p *Properties, base structPointer) (n int) {\n\ts := *structPointer_Bytes(base, p.field)\n\tif len(s) == 0 && !p.oneof {\n\t\treturn 0\n\t}\n\tn += len(p.tagcode)\n\tn += sizeRawBytes(s)\n\treturn\n}\n\n// Encode a slice of int32s ([]int32).\nfunc (o *Buffer) enc_slice_int32(p *Properties, base structPointer) error {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\tfor i := 0; i < l; i++ {\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\tx := int32(s.Index(i)) // permit sign extension to use full 64-bit range\n\t\tp.valEnc(o, uint64(x))\n\t}\n\treturn nil\n}\n\nfunc size_slice_int32(p *Properties, base structPointer) (n int) {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tfor i := 0; i < l; i++ {\n\t\tn += len(p.tagcode)\n\t\tx := int32(s.Index(i)) // permit sign extension to use full 64-bit range\n\t\tn += p.valSize(uint64(x))\n\t}\n\treturn\n}\n\n// Encode a slice of int32s ([]int32) in packed format.\nfunc (o *Buffer) enc_slice_packed_int32(p *Properties, base structPointer) error {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\t// TODO: Reuse a Buffer.\n\tbuf := NewBuffer(nil)\n\tfor i := 0; i < l; i++ {\n\t\tx := int32(s.Index(i)) // permit sign extension to use full 64-bit range\n\t\tp.valEnc(buf, uint64(x))\n\t}\n\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeVarint(uint64(len(buf.buf)))\n\to.buf = append(o.buf, buf.buf...)\n\treturn nil\n}\n\nfunc size_slice_packed_int32(p *Properties, base structPointer) (n int) {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tvar bufSize int\n\tfor i := 0; i < l; i++ {\n\t\tx := int32(s.Index(i)) // permit sign extension to use full 64-bit range\n\t\tbufSize += p.valSize(uint64(x))\n\t}\n\n\tn += len(p.tagcode)\n\tn += sizeVarint(uint64(bufSize))\n\tn += bufSize\n\treturn\n}\n\n// Encode a slice of uint32s ([]uint32).\n// Exactly the same as int32, except for no sign extension.\nfunc (o *Buffer) enc_slice_uint32(p *Properties, base structPointer) error {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\tfor i := 0; i < l; i++ {\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\tx := s.Index(i)\n\t\tp.valEnc(o, uint64(x))\n\t}\n\treturn nil\n}\n\nfunc size_slice_uint32(p *Properties, base structPointer) (n int) {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tfor i := 0; i < l; i++ {\n\t\tn += len(p.tagcode)\n\t\tx := s.Index(i)\n\t\tn += p.valSize(uint64(x))\n\t}\n\treturn\n}\n\n// Encode a slice of uint32s ([]uint32) in packed format.\n// Exactly the same as int32, except for no sign extension.\nfunc (o *Buffer) enc_slice_packed_uint32(p *Properties, base structPointer) error {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\t// TODO: Reuse a Buffer.\n\tbuf := NewBuffer(nil)\n\tfor i := 0; i < l; i++ {\n\t\tp.valEnc(buf, uint64(s.Index(i)))\n\t}\n\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeVarint(uint64(len(buf.buf)))\n\to.buf = append(o.buf, buf.buf...)\n\treturn nil\n}\n\nfunc size_slice_packed_uint32(p *Properties, base structPointer) (n int) {\n\ts := structPointer_Word32Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tvar bufSize int\n\tfor i := 0; i < l; i++ {\n\t\tbufSize += p.valSize(uint64(s.Index(i)))\n\t}\n\n\tn += len(p.tagcode)\n\tn += sizeVarint(uint64(bufSize))\n\tn += bufSize\n\treturn\n}\n\n// Encode a slice of int64s ([]int64).\nfunc (o *Buffer) enc_slice_int64(p *Properties, base structPointer) error {\n\ts := structPointer_Word64Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\tfor i := 0; i < l; i++ {\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\tp.valEnc(o, s.Index(i))\n\t}\n\treturn nil\n}\n\nfunc size_slice_int64(p *Properties, base structPointer) (n int) {\n\ts := structPointer_Word64Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tfor i := 0; i < l; i++ {\n\t\tn += len(p.tagcode)\n\t\tn += p.valSize(s.Index(i))\n\t}\n\treturn\n}\n\n// Encode a slice of int64s ([]int64) in packed format.\nfunc (o *Buffer) enc_slice_packed_int64(p *Properties, base structPointer) error {\n\ts := structPointer_Word64Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\t// TODO: Reuse a Buffer.\n\tbuf := NewBuffer(nil)\n\tfor i := 0; i < l; i++ {\n\t\tp.valEnc(buf, s.Index(i))\n\t}\n\n\to.buf = append(o.buf, p.tagcode...)\n\to.EncodeVarint(uint64(len(buf.buf)))\n\to.buf = append(o.buf, buf.buf...)\n\treturn nil\n}\n\nfunc size_slice_packed_int64(p *Properties, base structPointer) (n int) {\n\ts := structPointer_Word64Slice(base, p.field)\n\tl := s.Len()\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tvar bufSize int\n\tfor i := 0; i < l; i++ {\n\t\tbufSize += p.valSize(s.Index(i))\n\t}\n\n\tn += len(p.tagcode)\n\tn += sizeVarint(uint64(bufSize))\n\tn += bufSize\n\treturn\n}\n\n// Encode a slice of slice of bytes ([][]byte).\nfunc (o *Buffer) enc_slice_slice_byte(p *Properties, base structPointer) error {\n\tss := *structPointer_BytesSlice(base, p.field)\n\tl := len(ss)\n\tif l == 0 {\n\t\treturn ErrNil\n\t}\n\tfor i := 0; i < l; i++ {\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\to.EncodeRawBytes(ss[i])\n\t}\n\treturn nil\n}\n\nfunc size_slice_slice_byte(p *Properties, base structPointer) (n int) {\n\tss := *structPointer_BytesSlice(base, p.field)\n\tl := len(ss)\n\tif l == 0 {\n\t\treturn 0\n\t}\n\tn += l * len(p.tagcode)\n\tfor i := 0; i < l; i++ {\n\t\tn += sizeRawBytes(ss[i])\n\t}\n\treturn\n}\n\n// Encode a slice of strings ([]string).\nfunc (o *Buffer) enc_slice_string(p *Properties, base structPointer) error {\n\tss := *structPointer_StringSlice(base, p.field)\n\tl := len(ss)\n\tfor i := 0; i < l; i++ {\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\to.EncodeStringBytes(ss[i])\n\t}\n\treturn nil\n}\n\nfunc size_slice_string(p *Properties, base structPointer) (n int) {\n\tss := *structPointer_StringSlice(base, p.field)\n\tl := len(ss)\n\tn += l * len(p.tagcode)\n\tfor i := 0; i < l; i++ {\n\t\tn += sizeStringBytes(ss[i])\n\t}\n\treturn\n}\n\n// Encode a slice of message structs ([]*struct).\nfunc (o *Buffer) enc_slice_struct_message(p *Properties, base structPointer) error {\n\tvar state errorState\n\ts := structPointer_StructPointerSlice(base, p.field)\n\tl := s.Len()\n\n\tfor i := 0; i < l; i++ {\n\t\tstructp := s.Index(i)\n\t\tif structPointer_IsNil(structp) {\n\t\t\treturn errRepeatedHasNil\n\t\t}\n\n\t\t// Can the object marshal itself?\n\t\tif p.isMarshaler {\n\t\t\tm := structPointer_Interface(structp, p.stype).(Marshaler)\n\t\t\tdata, err := m.Marshal()\n\t\t\tif err != nil && !state.shouldContinue(err, nil) {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\to.buf = append(o.buf, p.tagcode...)\n\t\t\to.EncodeRawBytes(data)\n\t\t\tcontinue\n\t\t}\n\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\terr := o.enc_len_struct(p.sprop, structp, &state)\n\t\tif err != nil && !state.shouldContinue(err, nil) {\n\t\t\tif err == ErrNil {\n\t\t\t\treturn errRepeatedHasNil\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\t}\n\treturn state.err\n}\n\nfunc size_slice_struct_message(p *Properties, base structPointer) (n int) {\n\ts := structPointer_StructPointerSlice(base, p.field)\n\tl := s.Len()\n\tn += l * len(p.tagcode)\n\tfor i := 0; i < l; i++ {\n\t\tstructp := s.Index(i)\n\t\tif structPointer_IsNil(structp) {\n\t\t\treturn // return the size up to this point\n\t\t}\n\n\t\t// Can the object marshal itself?\n\t\tif p.isMarshaler {\n\t\t\tm := structPointer_Interface(structp, p.stype).(Marshaler)\n\t\t\tdata, _ := m.Marshal()\n\t\t\tn += sizeRawBytes(data)\n\t\t\tcontinue\n\t\t}\n\n\t\tn0 := size_struct(p.sprop, structp)\n\t\tn1 := sizeVarint(uint64(n0)) // size of encoded length\n\t\tn += n0 + n1\n\t}\n\treturn\n}\n\n// Encode a slice of group structs ([]*struct).\nfunc (o *Buffer) enc_slice_struct_group(p *Properties, base structPointer) error {\n\tvar state errorState\n\ts := structPointer_StructPointerSlice(base, p.field)\n\tl := s.Len()\n\n\tfor i := 0; i < l; i++ {\n\t\tb := s.Index(i)\n\t\tif structPointer_IsNil(b) {\n\t\t\treturn errRepeatedHasNil\n\t\t}\n\n\t\to.EncodeVarint(uint64((p.Tag << 3) | WireStartGroup))\n\n\t\terr := o.enc_struct(p.sprop, b)\n\n\t\tif err != nil && !state.shouldContinue(err, nil) {\n\t\t\tif err == ErrNil {\n\t\t\t\treturn errRepeatedHasNil\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\n\t\to.EncodeVarint(uint64((p.Tag << 3) | WireEndGroup))\n\t}\n\treturn state.err\n}\n\nfunc size_slice_struct_group(p *Properties, base structPointer) (n int) {\n\ts := structPointer_StructPointerSlice(base, p.field)\n\tl := s.Len()\n\n\tn += l * sizeVarint(uint64((p.Tag<<3)|WireStartGroup))\n\tn += l * sizeVarint(uint64((p.Tag<<3)|WireEndGroup))\n\tfor i := 0; i < l; i++ {\n\t\tb := s.Index(i)\n\t\tif structPointer_IsNil(b) {\n\t\t\treturn // return size up to this point\n\t\t}\n\n\t\tn += size_struct(p.sprop, b)\n\t}\n\treturn\n}\n\n// Encode an extension map.\nfunc (o *Buffer) enc_map(p *Properties, base structPointer) error {\n\texts := structPointer_ExtMap(base, p.field)\n\tif err := encodeExtensionsMap(*exts); err != nil {\n\t\treturn err\n\t}\n\n\treturn o.enc_map_body(*exts)\n}\n\nfunc (o *Buffer) enc_exts(p *Properties, base structPointer) error {\n\texts := structPointer_Extensions(base, p.field)\n\n\tv, mu := exts.extensionsRead()\n\tif v == nil {\n\t\treturn nil\n\t}\n\n\tmu.Lock()\n\tdefer mu.Unlock()\n\tif err := encodeExtensionsMap(v); err != nil {\n\t\treturn err\n\t}\n\n\treturn o.enc_map_body(v)\n}\n\nfunc (o *Buffer) enc_map_body(v map[int32]Extension) error {\n\t// Fast-path for common cases: zero or one extensions.\n\tif len(v) <= 1 {\n\t\tfor _, e := range v {\n\t\t\to.buf = append(o.buf, e.enc...)\n\t\t}\n\t\treturn nil\n\t}\n\n\t// Sort keys to provide a deterministic encoding.\n\tkeys := make([]int, 0, len(v))\n\tfor k := range v {\n\t\tkeys = append(keys, int(k))\n\t}\n\tsort.Ints(keys)\n\n\tfor _, k := range keys {\n\t\to.buf = append(o.buf, v[int32(k)].enc...)\n\t}\n\treturn nil\n}\n\nfunc size_map(p *Properties, base structPointer) int {\n\tv := structPointer_ExtMap(base, p.field)\n\treturn extensionsMapSize(*v)\n}\n\nfunc size_exts(p *Properties, base structPointer) int {\n\tv := structPointer_Extensions(base, p.field)\n\treturn extensionsSize(v)\n}\n\n// Encode a map field.\nfunc (o *Buffer) enc_new_map(p *Properties, base structPointer) error {\n\tvar state errorState // XXX: or do we need to plumb this through?\n\n\t/*\n\t\tA map defined as\n\t\t\tmap<key_type, value_type> map_field = N;\n\t\tis encoded in the same way as\n\t\t\tmessage MapFieldEntry {\n\t\t\t\tkey_type key = 1;\n\t\t\t\tvalue_type value = 2;\n\t\t\t}\n\t\t\trepeated MapFieldEntry map_field = N;\n\t*/\n\n\tv := structPointer_NewAt(base, p.field, p.mtype).Elem() // map[K]V\n\tif v.Len() == 0 {\n\t\treturn nil\n\t}\n\n\tkeycopy, valcopy, keybase, valbase := mapEncodeScratch(p.mtype)\n\n\tenc := func() error {\n\t\tif err := p.mkeyprop.enc(o, p.mkeyprop, keybase); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err := p.mvalprop.enc(o, p.mvalprop, valbase); err != nil && err != ErrNil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t}\n\n\t// Don't sort map keys. It is not required by the spec, and C++ doesn't do it.\n\tfor _, key := range v.MapKeys() {\n\t\tval := v.MapIndex(key)\n\n\t\tkeycopy.Set(key)\n\t\tvalcopy.Set(val)\n\n\t\to.buf = append(o.buf, p.tagcode...)\n\t\tif err := o.enc_len_thing(enc, &state); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc size_new_map(p *Properties, base structPointer) int {\n\tv := structPointer_NewAt(base, p.field, p.mtype).Elem() // map[K]V\n\n\tkeycopy, valcopy, keybase, valbase := mapEncodeScratch(p.mtype)\n\n\tn := 0\n\tfor _, key := range v.MapKeys() {\n\t\tval := v.MapIndex(key)\n\t\tkeycopy.Set(key)\n\t\tvalcopy.Set(val)\n\n\t\t// Tag codes for key and val are the responsibility of the sub-sizer.\n\t\tkeysize := p.mkeyprop.size(p.mkeyprop, keybase)\n\t\tvalsize := p.mvalprop.size(p.mvalprop, valbase)\n\t\tentry := keysize + valsize\n\t\t// Add on tag code and length of map entry itself.\n\t\tn += len(p.tagcode) + sizeVarint(uint64(entry)) + entry\n\t}\n\treturn n\n}\n\n// mapEncodeScratch returns a new reflect.Value matching the map's value type,\n// and a structPointer suitable for passing to an encoder or sizer.\nfunc mapEncodeScratch(mapType reflect.Type) (keycopy, valcopy reflect.Value, keybase, valbase structPointer) {\n\t// Prepare addressable doubly-indirect placeholders for the key and value types.\n\t// This is needed because the element-type encoders expect **T, but the map iteration produces T.\n\n\tkeycopy = reflect.New(mapType.Key()).Elem()                 // addressable K\n\tkeyptr := reflect.New(reflect.PtrTo(keycopy.Type())).Elem() // addressable *K\n\tkeyptr.Set(keycopy.Addr())                                  //\n\tkeybase = toStructPointer(keyptr.Addr())                    // **K\n\n\t// Value types are more varied and require special handling.\n\tswitch mapType.Elem().Kind() {\n\tcase reflect.Slice:\n\t\t// []byte\n\t\tvar dummy []byte\n\t\tvalcopy = reflect.ValueOf(&dummy).Elem() // addressable []byte\n\t\tvalbase = toStructPointer(valcopy.Addr())\n\tcase reflect.Ptr:\n\t\t// message; the generated field type is map[K]*Msg (so V is *Msg),\n\t\t// so we only need one level of indirection.\n\t\tvalcopy = reflect.New(mapType.Elem()).Elem() // addressable V\n\t\tvalbase = toStructPointer(valcopy.Addr())\n\tdefault:\n\t\t// everything else\n\t\tvalcopy = reflect.New(mapType.Elem()).Elem()                // addressable V\n\t\tvalptr := reflect.New(reflect.PtrTo(valcopy.Type())).Elem() // addressable *V\n\t\tvalptr.Set(valcopy.Addr())                                  //\n\t\tvalbase = toStructPointer(valptr.Addr())                    // **V\n\t}\n\treturn\n}\n\n// Encode a struct.\nfunc (o *Buffer) enc_struct(prop *StructProperties, base structPointer) error {\n\tvar state errorState\n\t// Encode fields in tag order so that decoders may use optimizations\n\t// that depend on the ordering.\n\t// https://developers.google.com/protocol-buffers/docs/encoding#order\n\tfor _, i := range prop.order {\n\t\tp := prop.Prop[i]\n\t\tif p.enc != nil {\n\t\t\terr := p.enc(o, p, base)\n\t\t\tif err != nil {\n\t\t\t\tif err == ErrNil {\n\t\t\t\t\tif p.Required && state.err == nil {\n\t\t\t\t\t\tstate.err = &RequiredNotSetError{p.Name}\n\t\t\t\t\t}\n\t\t\t\t} else if err == errRepeatedHasNil {\n\t\t\t\t\t// Give more context to nil values in repeated fields.\n\t\t\t\t\treturn errors.New(\"repeated field \" + p.OrigName + \" has nil element\")\n\t\t\t\t} else if !state.shouldContinue(err, p) {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tif len(o.buf) > maxMarshalSize {\n\t\t\t\treturn ErrTooLarge\n\t\t\t}\n\t\t}\n\t}\n\n\t// Do oneof fields.\n\tif prop.oneofMarshaler != nil {\n\t\tm := structPointer_Interface(base, prop.stype).(Message)\n\t\tif err := prop.oneofMarshaler(m, o); err == ErrNil {\n\t\t\treturn errOneofHasNil\n\t\t} else if err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Add unrecognized fields at the end.\n\tif prop.unrecField.IsValid() {\n\t\tv := *structPointer_Bytes(base, prop.unrecField)\n\t\tif len(o.buf)+len(v) > maxMarshalSize {\n\t\t\treturn ErrTooLarge\n\t\t}\n\t\tif len(v) > 0 {\n\t\t\to.buf = append(o.buf, v...)\n\t\t}\n\t}\n\n\treturn state.err\n}\n\nfunc size_struct(prop *StructProperties, base structPointer) (n int) {\n\tfor _, i := range prop.order {\n\t\tp := prop.Prop[i]\n\t\tif p.size != nil {\n\t\t\tn += p.size(p, base)\n\t\t}\n\t}\n\n\t// Add unrecognized fields at the end.\n\tif prop.unrecField.IsValid() {\n\t\tv := *structPointer_Bytes(base, prop.unrecField)\n\t\tn += len(v)\n\t}\n\n\t// Factor in any oneof fields.\n\tif prop.oneofSizer != nil {\n\t\tm := structPointer_Interface(base, prop.stype).(Message)\n\t\tn += prop.oneofSizer(m)\n\t}\n\n\treturn\n}\n\nvar zeroes [20]byte // longer than any conceivable sizeVarint\n\n// Encode a struct, preceded by its encoded length (as a varint).\nfunc (o *Buffer) enc_len_struct(prop *StructProperties, base structPointer, state *errorState) error {\n\treturn o.enc_len_thing(func() error { return o.enc_struct(prop, base) }, state)\n}\n\n// Encode something, preceded by its encoded length (as a varint).\nfunc (o *Buffer) enc_len_thing(enc func() error, state *errorState) error {\n\tiLen := len(o.buf)\n\to.buf = append(o.buf, 0, 0, 0, 0) // reserve four bytes for length\n\tiMsg := len(o.buf)\n\terr := enc()\n\tif err != nil && !state.shouldContinue(err, nil) {\n\t\treturn err\n\t}\n\tlMsg := len(o.buf) - iMsg\n\tlLen := sizeVarint(uint64(lMsg))\n\tswitch x := lLen - (iMsg - iLen); {\n\tcase x > 0: // actual length is x bytes larger than the space we reserved\n\t\t// Move msg x bytes right.\n\t\to.buf = append(o.buf, zeroes[:x]...)\n\t\tcopy(o.buf[iMsg+x:], o.buf[iMsg:iMsg+lMsg])\n\tcase x < 0: // actual length is x bytes smaller than the space we reserved\n\t\t// Move msg x bytes left.\n\t\tcopy(o.buf[iMsg+x:], o.buf[iMsg:iMsg+lMsg])\n\t\to.buf = o.buf[:len(o.buf)+x] // x is negative\n\t}\n\t// Encode the length in the reserved space.\n\to.buf = o.buf[:iLen]\n\to.EncodeVarint(uint64(lMsg))\n\to.buf = o.buf[:len(o.buf)+lMsg]\n\treturn state.err\n}\n\n// errorState maintains the first error that occurs and updates that error\n// with additional context.\ntype errorState struct {\n\terr error\n}\n\n// shouldContinue reports whether encoding should continue upon encountering the\n// given error. If the error is RequiredNotSetError, shouldContinue returns true\n// and, if this is the first appearance of that error, remembers it for future\n// reporting.\n//\n// If prop is not nil, it may update any error with additional context about the\n// field with the error.\nfunc (s *errorState) shouldContinue(err error, prop *Properties) bool {\n\t// Ignore unset required fields.\n\treqNotSet, ok := err.(*RequiredNotSetError)\n\tif !ok {\n\t\treturn false\n\t}\n\tif s.err == nil {\n\t\tif prop != nil {\n\t\t\terr = &RequiredNotSetError{prop.Name + \".\" + reqNotSet.field}\n\t\t}\n\t\ts.err = err\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/equal.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2011 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// Protocol buffer comparison.\n\npackage proto\n\nimport (\n\t\"bytes\"\n\t\"log\"\n\t\"reflect\"\n\t\"strings\"\n)\n\n/*\nEqual returns true iff protocol buffers a and b are equal.\nThe arguments must both be pointers to protocol buffer structs.\n\nEquality is defined in this way:\n  - Two messages are equal iff they are the same type,\n    corresponding fields are equal, unknown field sets\n    are equal, and extensions sets are equal.\n  - Two set scalar fields are equal iff their values are equal.\n    If the fields are of a floating-point type, remember that\n    NaN != x for all x, including NaN. If the message is defined\n    in a proto3 .proto file, fields are not \"set\"; specifically,\n    zero length proto3 \"bytes\" fields are equal (nil == {}).\n  - Two repeated fields are equal iff their lengths are the same,\n    and their corresponding elements are equal. Note a \"bytes\" field,\n    although represented by []byte, is not a repeated field and the\n    rule for the scalar fields described above applies.\n  - Two unset fields are equal.\n  - Two unknown field sets are equal if their current\n    encoded state is equal.\n  - Two extension sets are equal iff they have corresponding\n    elements that are pairwise equal.\n  - Two map fields are equal iff their lengths are the same,\n    and they contain the same set of elements. Zero-length map\n    fields are equal.\n  - Every other combination of things are not equal.\n\nThe return value is undefined if a and b are not protocol buffers.\n*/\nfunc Equal(a, b Message) bool {\n\tif a == nil || b == nil {\n\t\treturn a == b\n\t}\n\tv1, v2 := reflect.ValueOf(a), reflect.ValueOf(b)\n\tif v1.Type() != v2.Type() {\n\t\treturn false\n\t}\n\tif v1.Kind() == reflect.Ptr {\n\t\tif v1.IsNil() {\n\t\t\treturn v2.IsNil()\n\t\t}\n\t\tif v2.IsNil() {\n\t\t\treturn false\n\t\t}\n\t\tv1, v2 = v1.Elem(), v2.Elem()\n\t}\n\tif v1.Kind() != reflect.Struct {\n\t\treturn false\n\t}\n\treturn equalStruct(v1, v2)\n}\n\n// v1 and v2 are known to have the same type.\nfunc equalStruct(v1, v2 reflect.Value) bool {\n\tsprop := GetProperties(v1.Type())\n\tfor i := 0; i < v1.NumField(); i++ {\n\t\tf := v1.Type().Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tf1, f2 := v1.Field(i), v2.Field(i)\n\t\tif f.Type.Kind() == reflect.Ptr {\n\t\t\tif n1, n2 := f1.IsNil(), f2.IsNil(); n1 && n2 {\n\t\t\t\t// both unset\n\t\t\t\tcontinue\n\t\t\t} else if n1 != n2 {\n\t\t\t\t// set/unset mismatch\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tb1, ok := f1.Interface().(raw)\n\t\t\tif ok {\n\t\t\t\tb2 := f2.Interface().(raw)\n\t\t\t\t// RawMessage\n\t\t\t\tif !bytes.Equal(b1.Bytes(), b2.Bytes()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tf1, f2 = f1.Elem(), f2.Elem()\n\t\t}\n\t\tif !equalAny(f1, f2, sprop.Prop[i]) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif em1 := v1.FieldByName(\"XXX_InternalExtensions\"); em1.IsValid() {\n\t\tem2 := v2.FieldByName(\"XXX_InternalExtensions\")\n\t\tif !equalExtensions(v1.Type(), em1.Interface().(XXX_InternalExtensions), em2.Interface().(XXX_InternalExtensions)) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif em1 := v1.FieldByName(\"XXX_extensions\"); em1.IsValid() {\n\t\tem2 := v2.FieldByName(\"XXX_extensions\")\n\t\tif !equalExtMap(v1.Type(), em1.Interface().(map[int32]Extension), em2.Interface().(map[int32]Extension)) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tuf := v1.FieldByName(\"XXX_unrecognized\")\n\tif !uf.IsValid() {\n\t\treturn true\n\t}\n\n\tu1 := uf.Bytes()\n\tu2 := v2.FieldByName(\"XXX_unrecognized\").Bytes()\n\tif !bytes.Equal(u1, u2) {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n// v1 and v2 are known to have the same type.\n// prop may be nil.\nfunc equalAny(v1, v2 reflect.Value, prop *Properties) bool {\n\tif v1.Type() == protoMessageType {\n\t\tm1, _ := v1.Interface().(Message)\n\t\tm2, _ := v2.Interface().(Message)\n\t\treturn Equal(m1, m2)\n\t}\n\tswitch v1.Kind() {\n\tcase reflect.Bool:\n\t\treturn v1.Bool() == v2.Bool()\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v1.Float() == v2.Float()\n\tcase reflect.Int32, reflect.Int64:\n\t\treturn v1.Int() == v2.Int()\n\tcase reflect.Interface:\n\t\t// Probably a oneof field; compare the inner values.\n\t\tn1, n2 := v1.IsNil(), v2.IsNil()\n\t\tif n1 || n2 {\n\t\t\treturn n1 == n2\n\t\t}\n\t\te1, e2 := v1.Elem(), v2.Elem()\n\t\tif e1.Type() != e2.Type() {\n\t\t\treturn false\n\t\t}\n\t\treturn equalAny(e1, e2, nil)\n\tcase reflect.Map:\n\t\tif v1.Len() != v2.Len() {\n\t\t\treturn false\n\t\t}\n\t\tfor _, key := range v1.MapKeys() {\n\t\t\tval2 := v2.MapIndex(key)\n\t\t\tif !val2.IsValid() {\n\t\t\t\t// This key was not found in the second map.\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !equalAny(v1.MapIndex(key), val2, nil) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\tcase reflect.Ptr:\n\t\t// Maps may have nil values in them, so check for nil.\n\t\tif v1.IsNil() && v2.IsNil() {\n\t\t\treturn true\n\t\t}\n\t\tif v1.IsNil() != v2.IsNil() {\n\t\t\treturn false\n\t\t}\n\t\treturn equalAny(v1.Elem(), v2.Elem(), prop)\n\tcase reflect.Slice:\n\t\tif v1.Type().Elem().Kind() == reflect.Uint8 {\n\t\t\t// short circuit: []byte\n\n\t\t\t// Edge case: if this is in a proto3 message, a zero length\n\t\t\t// bytes field is considered the zero value.\n\t\t\tif prop != nil && prop.proto3 && v1.Len() == 0 && v2.Len() == 0 {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif v1.IsNil() != v2.IsNil() {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn bytes.Equal(v1.Interface().([]byte), v2.Interface().([]byte))\n\t\t}\n\n\t\tif v1.Len() != v2.Len() {\n\t\t\treturn false\n\t\t}\n\t\tfor i := 0; i < v1.Len(); i++ {\n\t\t\tif !equalAny(v1.Index(i), v2.Index(i), prop) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\tcase reflect.String:\n\t\treturn v1.Interface().(string) == v2.Interface().(string)\n\tcase reflect.Struct:\n\t\treturn equalStruct(v1, v2)\n\tcase reflect.Uint32, reflect.Uint64:\n\t\treturn v1.Uint() == v2.Uint()\n\t}\n\n\t// unknown type, so not a protocol buffer\n\tlog.Printf(\"proto: don't know how to compare %v\", v1)\n\treturn false\n}\n\n// base is the struct type that the extensions are based on.\n// x1 and x2 are InternalExtensions.\nfunc equalExtensions(base reflect.Type, x1, x2 XXX_InternalExtensions) bool {\n\tem1, _ := x1.extensionsRead()\n\tem2, _ := x2.extensionsRead()\n\treturn equalExtMap(base, em1, em2)\n}\n\nfunc equalExtMap(base reflect.Type, em1, em2 map[int32]Extension) bool {\n\tif len(em1) != len(em2) {\n\t\treturn false\n\t}\n\n\tfor extNum, e1 := range em1 {\n\t\te2, ok := em2[extNum]\n\t\tif !ok {\n\t\t\treturn false\n\t\t}\n\n\t\tm1, m2 := e1.value, e2.value\n\n\t\tif m1 != nil && m2 != nil {\n\t\t\t// Both are unencoded.\n\t\t\tif !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// At least one is encoded. To do a semantically correct comparison\n\t\t// we need to unmarshal them first.\n\t\tvar desc *ExtensionDesc\n\t\tif m := extensionMaps[base]; m != nil {\n\t\t\tdesc = m[extNum]\n\t\t}\n\t\tif desc == nil {\n\t\t\tlog.Printf(\"proto: don't know how to compare extension %d of %v\", extNum, base)\n\t\t\tcontinue\n\t\t}\n\t\tvar err error\n\t\tif m1 == nil {\n\t\t\tm1, err = decodeExtension(e1.enc, desc)\n\t\t}\n\t\tif m2 == nil && err == nil {\n\t\t\tm2, err = decodeExtension(e2.enc, desc)\n\t\t}\n\t\tif err != nil {\n\t\t\t// The encoded form is invalid.\n\t\t\tlog.Printf(\"proto: badly encoded extension %d of %v: %v\", extNum, base, err)\n\t\t\treturn false\n\t\t}\n\t\tif !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\treturn true\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/extensions.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Types and routines for supporting protocol buffer extensions.\n */\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"sync\"\n)\n\n// ErrMissingExtension is the error returned by GetExtension if the named extension is not in the message.\nvar ErrMissingExtension = errors.New(\"proto: missing extension\")\n\n// ExtensionRange represents a range of message extensions for a protocol buffer.\n// Used in code generated by the protocol compiler.\ntype ExtensionRange struct {\n\tStart, End int32 // both inclusive\n}\n\n// extendableProto is an interface implemented by any protocol buffer generated by the current\n// proto compiler that may be extended.\ntype extendableProto interface {\n\tMessage\n\tExtensionRangeArray() []ExtensionRange\n\textensionsWrite() map[int32]Extension\n\textensionsRead() (map[int32]Extension, sync.Locker)\n}\n\n// extendableProtoV1 is an interface implemented by a protocol buffer generated by the previous\n// version of the proto compiler that may be extended.\ntype extendableProtoV1 interface {\n\tMessage\n\tExtensionRangeArray() []ExtensionRange\n\tExtensionMap() map[int32]Extension\n}\n\n// extensionAdapter is a wrapper around extendableProtoV1 that implements extendableProto.\ntype extensionAdapter struct {\n\textendableProtoV1\n}\n\nfunc (e extensionAdapter) extensionsWrite() map[int32]Extension {\n\treturn e.ExtensionMap()\n}\n\nfunc (e extensionAdapter) extensionsRead() (map[int32]Extension, sync.Locker) {\n\treturn e.ExtensionMap(), notLocker{}\n}\n\n// notLocker is a sync.Locker whose Lock and Unlock methods are nops.\ntype notLocker struct{}\n\nfunc (n notLocker) Lock()   {}\nfunc (n notLocker) Unlock() {}\n\n// extendable returns the extendableProto interface for the given generated proto message.\n// If the proto message has the old extension format, it returns a wrapper that implements\n// the extendableProto interface.\nfunc extendable(p interface{}) (extendableProto, bool) {\n\tif ep, ok := p.(extendableProto); ok {\n\t\treturn ep, ok\n\t}\n\tif ep, ok := p.(extendableProtoV1); ok {\n\t\treturn extensionAdapter{ep}, ok\n\t}\n\treturn nil, false\n}\n\n// XXX_InternalExtensions is an internal representation of proto extensions.\n//\n// Each generated message struct type embeds an anonymous XXX_InternalExtensions field,\n// thus gaining the unexported 'extensions' method, which can be called only from the proto package.\n//\n// The methods of XXX_InternalExtensions are not concurrency safe in general,\n// but calls to logically read-only methods such as has and get may be executed concurrently.\ntype XXX_InternalExtensions struct {\n\t// The struct must be indirect so that if a user inadvertently copies a\n\t// generated message and its embedded XXX_InternalExtensions, they\n\t// avoid the mayhem of a copied mutex.\n\t//\n\t// The mutex serializes all logically read-only operations to p.extensionMap.\n\t// It is up to the client to ensure that write operations to p.extensionMap are\n\t// mutually exclusive with other accesses.\n\tp *struct {\n\t\tmu           sync.Mutex\n\t\textensionMap map[int32]Extension\n\t}\n}\n\n// extensionsWrite returns the extension map, creating it on first use.\nfunc (e *XXX_InternalExtensions) extensionsWrite() map[int32]Extension {\n\tif e.p == nil {\n\t\te.p = new(struct {\n\t\t\tmu           sync.Mutex\n\t\t\textensionMap map[int32]Extension\n\t\t})\n\t\te.p.extensionMap = make(map[int32]Extension)\n\t}\n\treturn e.p.extensionMap\n}\n\n// extensionsRead returns the extensions map for read-only use.  It may be nil.\n// The caller must hold the returned mutex's lock when accessing Elements within the map.\nfunc (e *XXX_InternalExtensions) extensionsRead() (map[int32]Extension, sync.Locker) {\n\tif e.p == nil {\n\t\treturn nil, nil\n\t}\n\treturn e.p.extensionMap, &e.p.mu\n}\n\nvar extendableProtoType = reflect.TypeOf((*extendableProto)(nil)).Elem()\nvar extendableProtoV1Type = reflect.TypeOf((*extendableProtoV1)(nil)).Elem()\n\n// ExtensionDesc represents an extension specification.\n// Used in generated code from the protocol compiler.\ntype ExtensionDesc struct {\n\tExtendedType  Message     // nil pointer to the type that is being extended\n\tExtensionType interface{} // nil pointer to the extension type\n\tField         int32       // field number\n\tName          string      // fully-qualified name of extension, for text formatting\n\tTag           string      // protobuf tag style\n\tFilename      string      // name of the file in which the extension is defined\n}\n\nfunc (ed *ExtensionDesc) repeated() bool {\n\tt := reflect.TypeOf(ed.ExtensionType)\n\treturn t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8\n}\n\n// Extension represents an extension in a message.\ntype Extension struct {\n\t// When an extension is stored in a message using SetExtension\n\t// only desc and value are set. When the message is marshaled\n\t// enc will be set to the encoded form of the message.\n\t//\n\t// When a message is unmarshaled and contains extensions, each\n\t// extension will have only enc set. When such an extension is\n\t// accessed using GetExtension (or GetExtensions) desc and value\n\t// will be set.\n\tdesc  *ExtensionDesc\n\tvalue interface{}\n\tenc   []byte\n}\n\n// SetRawExtension is for testing only.\nfunc SetRawExtension(base Message, id int32, b []byte) {\n\tepb, ok := extendable(base)\n\tif !ok {\n\t\treturn\n\t}\n\textmap := epb.extensionsWrite()\n\textmap[id] = Extension{enc: b}\n}\n\n// isExtensionField returns true iff the given field number is in an extension range.\nfunc isExtensionField(pb extendableProto, field int32) bool {\n\tfor _, er := range pb.ExtensionRangeArray() {\n\t\tif er.Start <= field && field <= er.End {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// checkExtensionTypes checks that the given extension is valid for pb.\nfunc checkExtensionTypes(pb extendableProto, extension *ExtensionDesc) error {\n\tvar pbi interface{} = pb\n\t// Check the extended type.\n\tif ea, ok := pbi.(extensionAdapter); ok {\n\t\tpbi = ea.extendableProtoV1\n\t}\n\tif a, b := reflect.TypeOf(pbi), reflect.TypeOf(extension.ExtendedType); a != b {\n\t\treturn errors.New(\"proto: bad extended type; \" + b.String() + \" does not extend \" + a.String())\n\t}\n\t// Check the range.\n\tif !isExtensionField(pb, extension.Field) {\n\t\treturn errors.New(\"proto: bad extension number; not in declared ranges\")\n\t}\n\treturn nil\n}\n\n// extPropKey is sufficient to uniquely identify an extension.\ntype extPropKey struct {\n\tbase  reflect.Type\n\tfield int32\n}\n\nvar extProp = struct {\n\tsync.RWMutex\n\tm map[extPropKey]*Properties\n}{\n\tm: make(map[extPropKey]*Properties),\n}\n\nfunc extensionProperties(ed *ExtensionDesc) *Properties {\n\tkey := extPropKey{base: reflect.TypeOf(ed.ExtendedType), field: ed.Field}\n\n\textProp.RLock()\n\tif prop, ok := extProp.m[key]; ok {\n\t\textProp.RUnlock()\n\t\treturn prop\n\t}\n\textProp.RUnlock()\n\n\textProp.Lock()\n\tdefer extProp.Unlock()\n\t// Check again.\n\tif prop, ok := extProp.m[key]; ok {\n\t\treturn prop\n\t}\n\n\tprop := new(Properties)\n\tprop.Init(reflect.TypeOf(ed.ExtensionType), \"unknown_name\", ed.Tag, nil)\n\textProp.m[key] = prop\n\treturn prop\n}\n\n// encode encodes any unmarshaled (unencoded) extensions in e.\nfunc encodeExtensions(e *XXX_InternalExtensions) error {\n\tm, mu := e.extensionsRead()\n\tif m == nil {\n\t\treturn nil // fast path\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\treturn encodeExtensionsMap(m)\n}\n\n// encode encodes any unmarshaled (unencoded) extensions in e.\nfunc encodeExtensionsMap(m map[int32]Extension) error {\n\tfor k, e := range m {\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tet := reflect.TypeOf(e.desc.ExtensionType)\n\t\tprops := extensionProperties(e.desc)\n\n\t\tp := NewBuffer(nil)\n\t\t// If e.value has type T, the encoder expects a *struct{ X T }.\n\t\t// Pass a *T with a zero field and hope it all works out.\n\t\tx := reflect.New(et)\n\t\tx.Elem().Set(reflect.ValueOf(e.value))\n\t\tif err := props.enc(p, props, toStructPointer(x)); err != nil {\n\t\t\treturn err\n\t\t}\n\t\te.enc = p.buf\n\t\tm[k] = e\n\t}\n\treturn nil\n}\n\nfunc extensionsSize(e *XXX_InternalExtensions) (n int) {\n\tm, mu := e.extensionsRead()\n\tif m == nil {\n\t\treturn 0\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\treturn extensionsMapSize(m)\n}\n\nfunc extensionsMapSize(m map[int32]Extension) (n int) {\n\tfor _, e := range m {\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tn += len(e.enc)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tet := reflect.TypeOf(e.desc.ExtensionType)\n\t\tprops := extensionProperties(e.desc)\n\n\t\t// If e.value has type T, the encoder expects a *struct{ X T }.\n\t\t// Pass a *T with a zero field and hope it all works out.\n\t\tx := reflect.New(et)\n\t\tx.Elem().Set(reflect.ValueOf(e.value))\n\t\tn += props.size(props, toStructPointer(x))\n\t}\n\treturn\n}\n\n// HasExtension returns whether the given extension is present in pb.\nfunc HasExtension(pb Message, extension *ExtensionDesc) bool {\n\t// TODO: Check types, field numbers, etc.?\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn false\n\t}\n\textmap, mu := epb.extensionsRead()\n\tif extmap == nil {\n\t\treturn false\n\t}\n\tmu.Lock()\n\t_, ok = extmap[extension.Field]\n\tmu.Unlock()\n\treturn ok\n}\n\n// ClearExtension removes the given extension from pb.\nfunc ClearExtension(pb Message, extension *ExtensionDesc) {\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn\n\t}\n\t// TODO: Check types, field numbers, etc.?\n\textmap := epb.extensionsWrite()\n\tdelete(extmap, extension.Field)\n}\n\n// GetExtension parses and returns the given extension of pb.\n// If the extension is not present and has no default value it returns ErrMissingExtension.\nfunc GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) {\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn nil, errors.New(\"proto: not an extendable proto\")\n\t}\n\n\tif err := checkExtensionTypes(epb, extension); err != nil {\n\t\treturn nil, err\n\t}\n\n\temap, mu := epb.extensionsRead()\n\tif emap == nil {\n\t\treturn defaultExtensionValue(extension)\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\te, ok := emap[extension.Field]\n\tif !ok {\n\t\t// defaultExtensionValue returns the default value or\n\t\t// ErrMissingExtension if there is no default.\n\t\treturn defaultExtensionValue(extension)\n\t}\n\n\tif e.value != nil {\n\t\t// Already decoded. Check the descriptor, though.\n\t\tif e.desc != extension {\n\t\t\t// This shouldn't happen. If it does, it means that\n\t\t\t// GetExtension was called twice with two different\n\t\t\t// descriptors with the same field number.\n\t\t\treturn nil, errors.New(\"proto: descriptor conflict\")\n\t\t}\n\t\treturn e.value, nil\n\t}\n\n\tv, err := decodeExtension(e.enc, extension)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Remember the decoded version and drop the encoded version.\n\t// That way it is safe to mutate what we return.\n\te.value = v\n\te.desc = extension\n\te.enc = nil\n\temap[extension.Field] = e\n\treturn e.value, nil\n}\n\n// defaultExtensionValue returns the default value for extension.\n// If no default for an extension is defined ErrMissingExtension is returned.\nfunc defaultExtensionValue(extension *ExtensionDesc) (interface{}, error) {\n\tt := reflect.TypeOf(extension.ExtensionType)\n\tprops := extensionProperties(extension)\n\n\tsf, _, err := fieldDefault(t, props)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif sf == nil || sf.value == nil {\n\t\t// There is no default value.\n\t\treturn nil, ErrMissingExtension\n\t}\n\n\tif t.Kind() != reflect.Ptr {\n\t\t// We do not need to return a Ptr, we can directly return sf.value.\n\t\treturn sf.value, nil\n\t}\n\n\t// We need to return an interface{} that is a pointer to sf.value.\n\tvalue := reflect.New(t).Elem()\n\tvalue.Set(reflect.New(value.Type().Elem()))\n\tif sf.kind == reflect.Int32 {\n\t\t// We may have an int32 or an enum, but the underlying data is int32.\n\t\t// Since we can't set an int32 into a non int32 reflect.value directly\n\t\t// set it as a int32.\n\t\tvalue.Elem().SetInt(int64(sf.value.(int32)))\n\t} else {\n\t\tvalue.Elem().Set(reflect.ValueOf(sf.value))\n\t}\n\treturn value.Interface(), nil\n}\n\n// decodeExtension decodes an extension encoded in b.\nfunc decodeExtension(b []byte, extension *ExtensionDesc) (interface{}, error) {\n\to := NewBuffer(b)\n\n\tt := reflect.TypeOf(extension.ExtensionType)\n\n\tprops := extensionProperties(extension)\n\n\t// t is a pointer to a struct, pointer to basic type or a slice.\n\t// Allocate a \"field\" to store the pointer/slice itself; the\n\t// pointer/slice will be stored here. We pass\n\t// the address of this field to props.dec.\n\t// This passes a zero field and a *t and lets props.dec\n\t// interpret it as a *struct{ x t }.\n\tvalue := reflect.New(t).Elem()\n\n\tfor {\n\t\t// Discard wire type and field number varint. It isn't needed.\n\t\tif _, err := o.DecodeVarint(); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tif err := props.dec(o, props, toStructPointer(value.Addr())); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tif o.index >= len(o.buf) {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn value.Interface(), nil\n}\n\n// GetExtensions returns a slice of the extensions present in pb that are also listed in es.\n// The returned slice has the same length as es; missing extensions will appear as nil elements.\nfunc GetExtensions(pb Message, es []*ExtensionDesc) (extensions []interface{}, err error) {\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn nil, errors.New(\"proto: not an extendable proto\")\n\t}\n\textensions = make([]interface{}, len(es))\n\tfor i, e := range es {\n\t\textensions[i], err = GetExtension(epb, e)\n\t\tif err == ErrMissingExtension {\n\t\t\terr = nil\n\t\t}\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\treturn\n}\n\n// ExtensionDescs returns a new slice containing pb's extension descriptors, in undefined order.\n// For non-registered extensions, ExtensionDescs returns an incomplete descriptor containing\n// just the Field field, which defines the extension's field number.\nfunc ExtensionDescs(pb Message) ([]*ExtensionDesc, error) {\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"proto: %T is not an extendable proto.Message\", pb)\n\t}\n\tregisteredExtensions := RegisteredExtensions(pb)\n\n\temap, mu := epb.extensionsRead()\n\tif emap == nil {\n\t\treturn nil, nil\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\textensions := make([]*ExtensionDesc, 0, len(emap))\n\tfor extid, e := range emap {\n\t\tdesc := e.desc\n\t\tif desc == nil {\n\t\t\tdesc = registeredExtensions[extid]\n\t\t\tif desc == nil {\n\t\t\t\tdesc = &ExtensionDesc{Field: extid}\n\t\t\t}\n\t\t}\n\n\t\textensions = append(extensions, desc)\n\t}\n\treturn extensions, nil\n}\n\n// SetExtension sets the specified extension of pb to the specified value.\nfunc SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error {\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn errors.New(\"proto: not an extendable proto\")\n\t}\n\tif err := checkExtensionTypes(epb, extension); err != nil {\n\t\treturn err\n\t}\n\ttyp := reflect.TypeOf(extension.ExtensionType)\n\tif typ != reflect.TypeOf(value) {\n\t\treturn errors.New(\"proto: bad extension value type\")\n\t}\n\t// nil extension values need to be caught early, because the\n\t// encoder can't distinguish an ErrNil due to a nil extension\n\t// from an ErrNil due to a missing field. Extensions are\n\t// always optional, so the encoder would just swallow the error\n\t// and drop all the extensions from the encoded message.\n\tif reflect.ValueOf(value).IsNil() {\n\t\treturn fmt.Errorf(\"proto: SetExtension called with nil value of type %T\", value)\n\t}\n\n\textmap := epb.extensionsWrite()\n\textmap[extension.Field] = Extension{desc: extension, value: value}\n\treturn nil\n}\n\n// ClearAllExtensions clears all extensions from pb.\nfunc ClearAllExtensions(pb Message) {\n\tepb, ok := extendable(pb)\n\tif !ok {\n\t\treturn\n\t}\n\tm := epb.extensionsWrite()\n\tfor k := range m {\n\t\tdelete(m, k)\n\t}\n}\n\n// A global registry of extensions.\n// The generated code will register the generated descriptors by calling RegisterExtension.\n\nvar extensionMaps = make(map[reflect.Type]map[int32]*ExtensionDesc)\n\n// RegisterExtension is called from the generated code.\nfunc RegisterExtension(desc *ExtensionDesc) {\n\tst := reflect.TypeOf(desc.ExtendedType).Elem()\n\tm := extensionMaps[st]\n\tif m == nil {\n\t\tm = make(map[int32]*ExtensionDesc)\n\t\textensionMaps[st] = m\n\t}\n\tif _, ok := m[desc.Field]; ok {\n\t\tpanic(\"proto: duplicate extension registered: \" + st.String() + \" \" + strconv.Itoa(int(desc.Field)))\n\t}\n\tm[desc.Field] = desc\n}\n\n// RegisteredExtensions returns a map of the registered extensions of a\n// protocol buffer struct, indexed by the extension number.\n// The argument pb should be a nil pointer to the struct type.\nfunc RegisteredExtensions(pb Message) map[int32]*ExtensionDesc {\n\treturn extensionMaps[reflect.TypeOf(pb).Elem()]\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/lib.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/*\nPackage proto converts data structures to and from the wire format of\nprotocol buffers.  It works in concert with the Go source code generated\nfor .proto files by the protocol compiler.\n\nA summary of the properties of the protocol buffer interface\nfor a protocol buffer variable v:\n\n  - Names are turned from camel_case to CamelCase for export.\n  - There are no methods on v to set fields; just treat\n\tthem as structure fields.\n  - There are getters that return a field's value if set,\n\tand return the field's default value if unset.\n\tThe getters work even if the receiver is a nil message.\n  - The zero value for a struct is its correct initialization state.\n\tAll desired fields must be set before marshaling.\n  - A Reset() method will restore a protobuf struct to its zero state.\n  - Non-repeated fields are pointers to the values; nil means unset.\n\tThat is, optional or required field int32 f becomes F *int32.\n  - Repeated fields are slices.\n  - Helper functions are available to aid the setting of fields.\n\tmsg.Foo = proto.String(\"hello\") // set field\n  - Constants are defined to hold the default values of all fields that\n\thave them.  They have the form Default_StructName_FieldName.\n\tBecause the getter methods handle defaulted values,\n\tdirect use of these constants should be rare.\n  - Enums are given type names and maps from names to values.\n\tEnum values are prefixed by the enclosing message's name, or by the\n\tenum's type name if it is a top-level enum. Enum types have a String\n\tmethod, and a Enum method to assist in message construction.\n  - Nested messages, groups and enums have type names prefixed with the name of\n\tthe surrounding message type.\n  - Extensions are given descriptor names that start with E_,\n\tfollowed by an underscore-delimited list of the nested messages\n\tthat contain it (if any) followed by the CamelCased name of the\n\textension field itself.  HasExtension, ClearExtension, GetExtension\n\tand SetExtension are functions for manipulating extensions.\n  - Oneof field sets are given a single field in their message,\n\twith distinguished wrapper types for each possible field value.\n  - Marshal and Unmarshal are functions to encode and decode the wire format.\n\nWhen the .proto file specifies `syntax=\"proto3\"`, there are some differences:\n\n  - Non-repeated fields of non-message type are values instead of pointers.\n  - Enum types do not get an Enum method.\n\nThe simplest way to describe this is to see an example.\nGiven file test.proto, containing\n\n\tpackage example;\n\n\tenum FOO { X = 17; }\n\n\tmessage Test {\n\t  required string label = 1;\n\t  optional int32 type = 2 [default=77];\n\t  repeated int64 reps = 3;\n\t  optional group OptionalGroup = 4 {\n\t    required string RequiredField = 5;\n\t  }\n\t  oneof union {\n\t    int32 number = 6;\n\t    string name = 7;\n\t  }\n\t}\n\nThe resulting file, test.pb.go, is:\n\n\tpackage example\n\n\timport proto \"github.com/golang/protobuf/proto\"\n\timport math \"math\"\n\n\ttype FOO int32\n\tconst (\n\t\tFOO_X FOO = 17\n\t)\n\tvar FOO_name = map[int32]string{\n\t\t17: \"X\",\n\t}\n\tvar FOO_value = map[string]int32{\n\t\t\"X\": 17,\n\t}\n\n\tfunc (x FOO) Enum() *FOO {\n\t\tp := new(FOO)\n\t\t*p = x\n\t\treturn p\n\t}\n\tfunc (x FOO) String() string {\n\t\treturn proto.EnumName(FOO_name, int32(x))\n\t}\n\tfunc (x *FOO) UnmarshalJSON(data []byte) error {\n\t\tvalue, err := proto.UnmarshalJSONEnum(FOO_value, data)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t*x = FOO(value)\n\t\treturn nil\n\t}\n\n\ttype Test struct {\n\t\tLabel         *string             `protobuf:\"bytes,1,req,name=label\" json:\"label,omitempty\"`\n\t\tType          *int32              `protobuf:\"varint,2,opt,name=type,def=77\" json:\"type,omitempty\"`\n\t\tReps          []int64             `protobuf:\"varint,3,rep,name=reps\" json:\"reps,omitempty\"`\n\t\tOptionalgroup *Test_OptionalGroup `protobuf:\"group,4,opt,name=OptionalGroup\" json:\"optionalgroup,omitempty\"`\n\t\t// Types that are valid to be assigned to Union:\n\t\t//\t*Test_Number\n\t\t//\t*Test_Name\n\t\tUnion            isTest_Union `protobuf_oneof:\"union\"`\n\t\tXXX_unrecognized []byte       `json:\"-\"`\n\t}\n\tfunc (m *Test) Reset()         { *m = Test{} }\n\tfunc (m *Test) String() string { return proto.CompactTextString(m) }\n\tfunc (*Test) ProtoMessage() {}\n\n\ttype isTest_Union interface {\n\t\tisTest_Union()\n\t}\n\n\ttype Test_Number struct {\n\t\tNumber int32 `protobuf:\"varint,6,opt,name=number\"`\n\t}\n\ttype Test_Name struct {\n\t\tName string `protobuf:\"bytes,7,opt,name=name\"`\n\t}\n\n\tfunc (*Test_Number) isTest_Union() {}\n\tfunc (*Test_Name) isTest_Union()   {}\n\n\tfunc (m *Test) GetUnion() isTest_Union {\n\t\tif m != nil {\n\t\t\treturn m.Union\n\t\t}\n\t\treturn nil\n\t}\n\tconst Default_Test_Type int32 = 77\n\n\tfunc (m *Test) GetLabel() string {\n\t\tif m != nil && m.Label != nil {\n\t\t\treturn *m.Label\n\t\t}\n\t\treturn \"\"\n\t}\n\n\tfunc (m *Test) GetType() int32 {\n\t\tif m != nil && m.Type != nil {\n\t\t\treturn *m.Type\n\t\t}\n\t\treturn Default_Test_Type\n\t}\n\n\tfunc (m *Test) GetOptionalgroup() *Test_OptionalGroup {\n\t\tif m != nil {\n\t\t\treturn m.Optionalgroup\n\t\t}\n\t\treturn nil\n\t}\n\n\ttype Test_OptionalGroup struct {\n\t\tRequiredField *string `protobuf:\"bytes,5,req\" json:\"RequiredField,omitempty\"`\n\t}\n\tfunc (m *Test_OptionalGroup) Reset()         { *m = Test_OptionalGroup{} }\n\tfunc (m *Test_OptionalGroup) String() string { return proto.CompactTextString(m) }\n\n\tfunc (m *Test_OptionalGroup) GetRequiredField() string {\n\t\tif m != nil && m.RequiredField != nil {\n\t\t\treturn *m.RequiredField\n\t\t}\n\t\treturn \"\"\n\t}\n\n\tfunc (m *Test) GetNumber() int32 {\n\t\tif x, ok := m.GetUnion().(*Test_Number); ok {\n\t\t\treturn x.Number\n\t\t}\n\t\treturn 0\n\t}\n\n\tfunc (m *Test) GetName() string {\n\t\tif x, ok := m.GetUnion().(*Test_Name); ok {\n\t\t\treturn x.Name\n\t\t}\n\t\treturn \"\"\n\t}\n\n\tfunc init() {\n\t\tproto.RegisterEnum(\"example.FOO\", FOO_name, FOO_value)\n\t}\n\nTo create and play with a Test object:\n\n\tpackage main\n\n\timport (\n\t\t\"log\"\n\n\t\t\"github.com/golang/protobuf/proto\"\n\t\tpb \"./example.pb\"\n\t)\n\n\tfunc main() {\n\t\ttest := &pb.Test{\n\t\t\tLabel: proto.String(\"hello\"),\n\t\t\tType:  proto.Int32(17),\n\t\t\tReps:  []int64{1, 2, 3},\n\t\t\tOptionalgroup: &pb.Test_OptionalGroup{\n\t\t\t\tRequiredField: proto.String(\"good bye\"),\n\t\t\t},\n\t\t\tUnion: &pb.Test_Name{\"fred\"},\n\t\t}\n\t\tdata, err := proto.Marshal(test)\n\t\tif err != nil {\n\t\t\tlog.Fatal(\"marshaling error: \", err)\n\t\t}\n\t\tnewTest := &pb.Test{}\n\t\terr = proto.Unmarshal(data, newTest)\n\t\tif err != nil {\n\t\t\tlog.Fatal(\"unmarshaling error: \", err)\n\t\t}\n\t\t// Now test and newTest contain the same data.\n\t\tif test.GetLabel() != newTest.GetLabel() {\n\t\t\tlog.Fatalf(\"data mismatch %q != %q\", test.GetLabel(), newTest.GetLabel())\n\t\t}\n\t\t// Use a type switch to determine which oneof was set.\n\t\tswitch u := test.Union.(type) {\n\t\tcase *pb.Test_Number: // u.Number contains the number.\n\t\tcase *pb.Test_Name: // u.Name contains the string.\n\t\t}\n\t\t// etc.\n\t}\n*/\npackage proto\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"log\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strconv\"\n\t\"sync\"\n)\n\n// Message is implemented by generated protocol buffer messages.\ntype Message interface {\n\tReset()\n\tString() string\n\tProtoMessage()\n}\n\n// Stats records allocation details about the protocol buffer encoders\n// and decoders.  Useful for tuning the library itself.\ntype Stats struct {\n\tEmalloc uint64 // mallocs in encode\n\tDmalloc uint64 // mallocs in decode\n\tEncode  uint64 // number of encodes\n\tDecode  uint64 // number of decodes\n\tChit    uint64 // number of cache hits\n\tCmiss   uint64 // number of cache misses\n\tSize    uint64 // number of sizes\n}\n\n// Set to true to enable stats collection.\nconst collectStats = false\n\nvar stats Stats\n\n// GetStats returns a copy of the global Stats structure.\nfunc GetStats() Stats { return stats }\n\n// A Buffer is a buffer manager for marshaling and unmarshaling\n// protocol buffers.  It may be reused between invocations to\n// reduce memory usage.  It is not necessary to use a Buffer;\n// the global functions Marshal and Unmarshal create a\n// temporary Buffer and are fine for most applications.\ntype Buffer struct {\n\tbuf   []byte // encode/decode byte stream\n\tindex int    // read point\n\n\t// pools of basic types to amortize allocation.\n\tbools   []bool\n\tuint32s []uint32\n\tuint64s []uint64\n\n\t// extra pools, only used with pointer_reflect.go\n\tint32s   []int32\n\tint64s   []int64\n\tfloat32s []float32\n\tfloat64s []float64\n}\n\n// NewBuffer allocates a new Buffer and initializes its internal data to\n// the contents of the argument slice.\nfunc NewBuffer(e []byte) *Buffer {\n\treturn &Buffer{buf: e}\n}\n\n// Reset resets the Buffer, ready for marshaling a new protocol buffer.\nfunc (p *Buffer) Reset() {\n\tp.buf = p.buf[0:0] // for reading/writing\n\tp.index = 0        // for reading\n}\n\n// SetBuf replaces the internal buffer with the slice,\n// ready for unmarshaling the contents of the slice.\nfunc (p *Buffer) SetBuf(s []byte) {\n\tp.buf = s\n\tp.index = 0\n}\n\n// Bytes returns the contents of the Buffer.\nfunc (p *Buffer) Bytes() []byte { return p.buf }\n\n/*\n * Helper routines for simplifying the creation of optional fields of basic type.\n */\n\n// Bool is a helper routine that allocates a new bool value\n// to store v and returns a pointer to it.\nfunc Bool(v bool) *bool {\n\treturn &v\n}\n\n// Int32 is a helper routine that allocates a new int32 value\n// to store v and returns a pointer to it.\nfunc Int32(v int32) *int32 {\n\treturn &v\n}\n\n// Int is a helper routine that allocates a new int32 value\n// to store v and returns a pointer to it, but unlike Int32\n// its argument value is an int.\nfunc Int(v int) *int32 {\n\tp := new(int32)\n\t*p = int32(v)\n\treturn p\n}\n\n// Int64 is a helper routine that allocates a new int64 value\n// to store v and returns a pointer to it.\nfunc Int64(v int64) *int64 {\n\treturn &v\n}\n\n// Float32 is a helper routine that allocates a new float32 value\n// to store v and returns a pointer to it.\nfunc Float32(v float32) *float32 {\n\treturn &v\n}\n\n// Float64 is a helper routine that allocates a new float64 value\n// to store v and returns a pointer to it.\nfunc Float64(v float64) *float64 {\n\treturn &v\n}\n\n// Uint32 is a helper routine that allocates a new uint32 value\n// to store v and returns a pointer to it.\nfunc Uint32(v uint32) *uint32 {\n\treturn &v\n}\n\n// Uint64 is a helper routine that allocates a new uint64 value\n// to store v and returns a pointer to it.\nfunc Uint64(v uint64) *uint64 {\n\treturn &v\n}\n\n// String is a helper routine that allocates a new string value\n// to store v and returns a pointer to it.\nfunc String(v string) *string {\n\treturn &v\n}\n\n// EnumName is a helper function to simplify printing protocol buffer enums\n// by name.  Given an enum map and a value, it returns a useful string.\nfunc EnumName(m map[int32]string, v int32) string {\n\ts, ok := m[v]\n\tif ok {\n\t\treturn s\n\t}\n\treturn strconv.Itoa(int(v))\n}\n\n// UnmarshalJSONEnum is a helper function to simplify recovering enum int values\n// from their JSON-encoded representation. Given a map from the enum's symbolic\n// names to its int values, and a byte buffer containing the JSON-encoded\n// value, it returns an int32 that can be cast to the enum type by the caller.\n//\n// The function can deal with both JSON representations, numeric and symbolic.\nfunc UnmarshalJSONEnum(m map[string]int32, data []byte, enumName string) (int32, error) {\n\tif data[0] == '\"' {\n\t\t// New style: enums are strings.\n\t\tvar repr string\n\t\tif err := json.Unmarshal(data, &repr); err != nil {\n\t\t\treturn -1, err\n\t\t}\n\t\tval, ok := m[repr]\n\t\tif !ok {\n\t\t\treturn 0, fmt.Errorf(\"unrecognized enum %s value %q\", enumName, repr)\n\t\t}\n\t\treturn val, nil\n\t}\n\t// Old style: enums are ints.\n\tvar val int32\n\tif err := json.Unmarshal(data, &val); err != nil {\n\t\treturn 0, fmt.Errorf(\"cannot unmarshal %#q into enum %s\", data, enumName)\n\t}\n\treturn val, nil\n}\n\n// DebugPrint dumps the encoded data in b in a debugging format with a header\n// including the string s. Used in testing but made available for general debugging.\nfunc (p *Buffer) DebugPrint(s string, b []byte) {\n\tvar u uint64\n\n\tobuf := p.buf\n\tindex := p.index\n\tp.buf = b\n\tp.index = 0\n\tdepth := 0\n\n\tfmt.Printf(\"\\n--- %s ---\\n\", s)\n\nout:\n\tfor {\n\t\tfor i := 0; i < depth; i++ {\n\t\t\tfmt.Print(\"  \")\n\t\t}\n\n\t\tindex := p.index\n\t\tif index == len(p.buf) {\n\t\t\tbreak\n\t\t}\n\n\t\top, err := p.DecodeVarint()\n\t\tif err != nil {\n\t\t\tfmt.Printf(\"%3d: fetching op err %v\\n\", index, err)\n\t\t\tbreak out\n\t\t}\n\t\ttag := op >> 3\n\t\twire := op & 7\n\n\t\tswitch wire {\n\t\tdefault:\n\t\t\tfmt.Printf(\"%3d: t=%3d unknown wire=%d\\n\",\n\t\t\t\tindex, tag, wire)\n\t\t\tbreak out\n\n\t\tcase WireBytes:\n\t\t\tvar r []byte\n\n\t\t\tr, err = p.DecodeRawBytes(false)\n\t\t\tif err != nil {\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d bytes [%d]\", index, tag, len(r))\n\t\t\tif len(r) <= 6 {\n\t\t\t\tfor i := 0; i < len(r); i++ {\n\t\t\t\t\tfmt.Printf(\" %.2x\", r[i])\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor i := 0; i < 3; i++ {\n\t\t\t\t\tfmt.Printf(\" %.2x\", r[i])\n\t\t\t\t}\n\t\t\t\tfmt.Printf(\" ..\")\n\t\t\t\tfor i := len(r) - 3; i < len(r); i++ {\n\t\t\t\t\tfmt.Printf(\" %.2x\", r[i])\n\t\t\t\t}\n\t\t\t}\n\t\t\tfmt.Printf(\"\\n\")\n\n\t\tcase WireFixed32:\n\t\t\tu, err = p.DecodeFixed32()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"%3d: t=%3d fix32 err %v\\n\", index, tag, err)\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d fix32 %d\\n\", index, tag, u)\n\n\t\tcase WireFixed64:\n\t\t\tu, err = p.DecodeFixed64()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"%3d: t=%3d fix64 err %v\\n\", index, tag, err)\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d fix64 %d\\n\", index, tag, u)\n\n\t\tcase WireVarint:\n\t\t\tu, err = p.DecodeVarint()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"%3d: t=%3d varint err %v\\n\", index, tag, err)\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d varint %d\\n\", index, tag, u)\n\n\t\tcase WireStartGroup:\n\t\t\tfmt.Printf(\"%3d: t=%3d start\\n\", index, tag)\n\t\t\tdepth++\n\n\t\tcase WireEndGroup:\n\t\t\tdepth--\n\t\t\tfmt.Printf(\"%3d: t=%3d end\\n\", index, tag)\n\t\t}\n\t}\n\n\tif depth != 0 {\n\t\tfmt.Printf(\"%3d: start-end not balanced %d\\n\", p.index, depth)\n\t}\n\tfmt.Printf(\"\\n\")\n\n\tp.buf = obuf\n\tp.index = index\n}\n\n// SetDefaults sets unset protocol buffer fields to their default values.\n// It only modifies fields that are both unset and have defined defaults.\n// It recursively sets default values in any non-nil sub-messages.\nfunc SetDefaults(pb Message) {\n\tsetDefaults(reflect.ValueOf(pb), true, false)\n}\n\n// v is a pointer to a struct.\nfunc setDefaults(v reflect.Value, recur, zeros bool) {\n\tv = v.Elem()\n\n\tdefaultMu.RLock()\n\tdm, ok := defaults[v.Type()]\n\tdefaultMu.RUnlock()\n\tif !ok {\n\t\tdm = buildDefaultMessage(v.Type())\n\t\tdefaultMu.Lock()\n\t\tdefaults[v.Type()] = dm\n\t\tdefaultMu.Unlock()\n\t}\n\n\tfor _, sf := range dm.scalars {\n\t\tf := v.Field(sf.index)\n\t\tif !f.IsNil() {\n\t\t\t// field already set\n\t\t\tcontinue\n\t\t}\n\t\tdv := sf.value\n\t\tif dv == nil && !zeros {\n\t\t\t// no explicit default, and don't want to set zeros\n\t\t\tcontinue\n\t\t}\n\t\tfptr := f.Addr().Interface() // **T\n\t\t// TODO: Consider batching the allocations we do here.\n\t\tswitch sf.kind {\n\t\tcase reflect.Bool:\n\t\t\tb := new(bool)\n\t\t\tif dv != nil {\n\t\t\t\t*b = dv.(bool)\n\t\t\t}\n\t\t\t*(fptr.(**bool)) = b\n\t\tcase reflect.Float32:\n\t\t\tf := new(float32)\n\t\t\tif dv != nil {\n\t\t\t\t*f = dv.(float32)\n\t\t\t}\n\t\t\t*(fptr.(**float32)) = f\n\t\tcase reflect.Float64:\n\t\t\tf := new(float64)\n\t\t\tif dv != nil {\n\t\t\t\t*f = dv.(float64)\n\t\t\t}\n\t\t\t*(fptr.(**float64)) = f\n\t\tcase reflect.Int32:\n\t\t\t// might be an enum\n\t\t\tif ft := f.Type(); ft != int32PtrType {\n\t\t\t\t// enum\n\t\t\t\tf.Set(reflect.New(ft.Elem()))\n\t\t\t\tif dv != nil {\n\t\t\t\t\tf.Elem().SetInt(int64(dv.(int32)))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// int32 field\n\t\t\t\ti := new(int32)\n\t\t\t\tif dv != nil {\n\t\t\t\t\t*i = dv.(int32)\n\t\t\t\t}\n\t\t\t\t*(fptr.(**int32)) = i\n\t\t\t}\n\t\tcase reflect.Int64:\n\t\t\ti := new(int64)\n\t\t\tif dv != nil {\n\t\t\t\t*i = dv.(int64)\n\t\t\t}\n\t\t\t*(fptr.(**int64)) = i\n\t\tcase reflect.String:\n\t\t\ts := new(string)\n\t\t\tif dv != nil {\n\t\t\t\t*s = dv.(string)\n\t\t\t}\n\t\t\t*(fptr.(**string)) = s\n\t\tcase reflect.Uint8:\n\t\t\t// exceptional case: []byte\n\t\t\tvar b []byte\n\t\t\tif dv != nil {\n\t\t\t\tdb := dv.([]byte)\n\t\t\t\tb = make([]byte, len(db))\n\t\t\t\tcopy(b, db)\n\t\t\t} else {\n\t\t\t\tb = []byte{}\n\t\t\t}\n\t\t\t*(fptr.(*[]byte)) = b\n\t\tcase reflect.Uint32:\n\t\t\tu := new(uint32)\n\t\t\tif dv != nil {\n\t\t\t\t*u = dv.(uint32)\n\t\t\t}\n\t\t\t*(fptr.(**uint32)) = u\n\t\tcase reflect.Uint64:\n\t\t\tu := new(uint64)\n\t\t\tif dv != nil {\n\t\t\t\t*u = dv.(uint64)\n\t\t\t}\n\t\t\t*(fptr.(**uint64)) = u\n\t\tdefault:\n\t\t\tlog.Printf(\"proto: can't set default for field %v (sf.kind=%v)\", f, sf.kind)\n\t\t}\n\t}\n\n\tfor _, ni := range dm.nested {\n\t\tf := v.Field(ni)\n\t\t// f is *T or []*T or map[T]*T\n\t\tswitch f.Kind() {\n\t\tcase reflect.Ptr:\n\t\t\tif f.IsNil() {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tsetDefaults(f, recur, zeros)\n\n\t\tcase reflect.Slice:\n\t\t\tfor i := 0; i < f.Len(); i++ {\n\t\t\t\te := f.Index(i)\n\t\t\t\tif e.IsNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tsetDefaults(e, recur, zeros)\n\t\t\t}\n\n\t\tcase reflect.Map:\n\t\t\tfor _, k := range f.MapKeys() {\n\t\t\t\te := f.MapIndex(k)\n\t\t\t\tif e.IsNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tsetDefaults(e, recur, zeros)\n\t\t\t}\n\t\t}\n\t}\n}\n\nvar (\n\t// defaults maps a protocol buffer struct type to a slice of the fields,\n\t// with its scalar fields set to their proto-declared non-zero default values.\n\tdefaultMu sync.RWMutex\n\tdefaults  = make(map[reflect.Type]defaultMessage)\n\n\tint32PtrType = reflect.TypeOf((*int32)(nil))\n)\n\n// defaultMessage represents information about the default values of a message.\ntype defaultMessage struct {\n\tscalars []scalarField\n\tnested  []int // struct field index of nested messages\n}\n\ntype scalarField struct {\n\tindex int          // struct field index\n\tkind  reflect.Kind // element type (the T in *T or []T)\n\tvalue interface{}  // the proto-declared default value, or nil\n}\n\n// t is a struct type.\nfunc buildDefaultMessage(t reflect.Type) (dm defaultMessage) {\n\tsprop := GetProperties(t)\n\tfor _, prop := range sprop.Prop {\n\t\tfi, ok := sprop.decoderTags.get(prop.Tag)\n\t\tif !ok {\n\t\t\t// XXX_unrecognized\n\t\t\tcontinue\n\t\t}\n\t\tft := t.Field(fi).Type\n\n\t\tsf, nested, err := fieldDefault(ft, prop)\n\t\tswitch {\n\t\tcase err != nil:\n\t\t\tlog.Print(err)\n\t\tcase nested:\n\t\t\tdm.nested = append(dm.nested, fi)\n\t\tcase sf != nil:\n\t\t\tsf.index = fi\n\t\t\tdm.scalars = append(dm.scalars, *sf)\n\t\t}\n\t}\n\n\treturn dm\n}\n\n// fieldDefault returns the scalarField for field type ft.\n// sf will be nil if the field can not have a default.\n// nestedMessage will be true if this is a nested message.\n// Note that sf.index is not set on return.\nfunc fieldDefault(ft reflect.Type, prop *Properties) (sf *scalarField, nestedMessage bool, err error) {\n\tvar canHaveDefault bool\n\tswitch ft.Kind() {\n\tcase reflect.Ptr:\n\t\tif ft.Elem().Kind() == reflect.Struct {\n\t\t\tnestedMessage = true\n\t\t} else {\n\t\t\tcanHaveDefault = true // proto2 scalar field\n\t\t}\n\n\tcase reflect.Slice:\n\t\tswitch ft.Elem().Kind() {\n\t\tcase reflect.Ptr:\n\t\t\tnestedMessage = true // repeated message\n\t\tcase reflect.Uint8:\n\t\t\tcanHaveDefault = true // bytes field\n\t\t}\n\n\tcase reflect.Map:\n\t\tif ft.Elem().Kind() == reflect.Ptr {\n\t\t\tnestedMessage = true // map with message values\n\t\t}\n\t}\n\n\tif !canHaveDefault {\n\t\tif nestedMessage {\n\t\t\treturn nil, true, nil\n\t\t}\n\t\treturn nil, false, nil\n\t}\n\n\t// We now know that ft is a pointer or slice.\n\tsf = &scalarField{kind: ft.Elem().Kind()}\n\n\t// scalar fields without defaults\n\tif !prop.HasDefault {\n\t\treturn sf, false, nil\n\t}\n\n\t// a scalar field: either *T or []byte\n\tswitch ft.Elem().Kind() {\n\tcase reflect.Bool:\n\t\tx, err := strconv.ParseBool(prop.Default)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default bool %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tcase reflect.Float32:\n\t\tx, err := strconv.ParseFloat(prop.Default, 32)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default float32 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = float32(x)\n\tcase reflect.Float64:\n\t\tx, err := strconv.ParseFloat(prop.Default, 64)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default float64 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tcase reflect.Int32:\n\t\tx, err := strconv.ParseInt(prop.Default, 10, 32)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default int32 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = int32(x)\n\tcase reflect.Int64:\n\t\tx, err := strconv.ParseInt(prop.Default, 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default int64 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tcase reflect.String:\n\t\tsf.value = prop.Default\n\tcase reflect.Uint8:\n\t\t// []byte (not *uint8)\n\t\tsf.value = []byte(prop.Default)\n\tcase reflect.Uint32:\n\t\tx, err := strconv.ParseUint(prop.Default, 10, 32)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default uint32 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = uint32(x)\n\tcase reflect.Uint64:\n\t\tx, err := strconv.ParseUint(prop.Default, 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default uint64 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tdefault:\n\t\treturn nil, false, fmt.Errorf(\"proto: unhandled def kind %v\", ft.Elem().Kind())\n\t}\n\n\treturn sf, false, nil\n}\n\n// Map fields may have key types of non-float scalars, strings and enums.\n// The easiest way to sort them in some deterministic order is to use fmt.\n// If this turns out to be inefficient we can always consider other options,\n// such as doing a Schwartzian transform.\n\nfunc mapKeys(vs []reflect.Value) sort.Interface {\n\ts := mapKeySorter{\n\t\tvs: vs,\n\t\t// default Less function: textual comparison\n\t\tless: func(a, b reflect.Value) bool {\n\t\t\treturn fmt.Sprint(a.Interface()) < fmt.Sprint(b.Interface())\n\t\t},\n\t}\n\n\t// Type specialization per https://developers.google.com/protocol-buffers/docs/proto#maps;\n\t// numeric keys are sorted numerically.\n\tif len(vs) == 0 {\n\t\treturn s\n\t}\n\tswitch vs[0].Kind() {\n\tcase reflect.Int32, reflect.Int64:\n\t\ts.less = func(a, b reflect.Value) bool { return a.Int() < b.Int() }\n\tcase reflect.Uint32, reflect.Uint64:\n\t\ts.less = func(a, b reflect.Value) bool { return a.Uint() < b.Uint() }\n\t}\n\n\treturn s\n}\n\ntype mapKeySorter struct {\n\tvs   []reflect.Value\n\tless func(a, b reflect.Value) bool\n}\n\nfunc (s mapKeySorter) Len() int      { return len(s.vs) }\nfunc (s mapKeySorter) Swap(i, j int) { s.vs[i], s.vs[j] = s.vs[j], s.vs[i] }\nfunc (s mapKeySorter) Less(i, j int) bool {\n\treturn s.less(s.vs[i], s.vs[j])\n}\n\n// isProto3Zero reports whether v is a zero proto3 value.\nfunc isProto3Zero(v reflect.Value) bool {\n\tswitch v.Kind() {\n\tcase reflect.Bool:\n\t\treturn !v.Bool()\n\tcase reflect.Int32, reflect.Int64:\n\t\treturn v.Int() == 0\n\tcase reflect.Uint32, reflect.Uint64:\n\t\treturn v.Uint() == 0\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v.Float() == 0\n\tcase reflect.String:\n\t\treturn v.String() == \"\"\n\t}\n\treturn false\n}\n\n// ProtoPackageIsVersion2 is referenced from generated protocol buffer files\n// to assert that that code is compatible with this version of the proto package.\nconst ProtoPackageIsVersion2 = true\n\n// ProtoPackageIsVersion1 is referenced from generated protocol buffer files\n// to assert that that code is compatible with this version of the proto package.\nconst ProtoPackageIsVersion1 = true\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/message_set.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Support for message sets.\n */\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"sort\"\n)\n\n// errNoMessageTypeID occurs when a protocol buffer does not have a message type ID.\n// A message type ID is required for storing a protocol buffer in a message set.\nvar errNoMessageTypeID = errors.New(\"proto does not have a message type ID\")\n\n// The first two types (_MessageSet_Item and messageSet)\n// model what the protocol compiler produces for the following protocol message:\n//   message MessageSet {\n//     repeated group Item = 1 {\n//       required int32 type_id = 2;\n//       required string message = 3;\n//     };\n//   }\n// That is the MessageSet wire format. We can't use a proto to generate these\n// because that would introduce a circular dependency between it and this package.\n\ntype _MessageSet_Item struct {\n\tTypeId  *int32 `protobuf:\"varint,2,req,name=type_id\"`\n\tMessage []byte `protobuf:\"bytes,3,req,name=message\"`\n}\n\ntype messageSet struct {\n\tItem             []*_MessageSet_Item `protobuf:\"group,1,rep\"`\n\tXXX_unrecognized []byte\n\t// TODO: caching?\n}\n\n// Make sure messageSet is a Message.\nvar _ Message = (*messageSet)(nil)\n\n// messageTypeIder is an interface satisfied by a protocol buffer type\n// that may be stored in a MessageSet.\ntype messageTypeIder interface {\n\tMessageTypeId() int32\n}\n\nfunc (ms *messageSet) find(pb Message) *_MessageSet_Item {\n\tmti, ok := pb.(messageTypeIder)\n\tif !ok {\n\t\treturn nil\n\t}\n\tid := mti.MessageTypeId()\n\tfor _, item := range ms.Item {\n\t\tif *item.TypeId == id {\n\t\t\treturn item\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (ms *messageSet) Has(pb Message) bool {\n\tif ms.find(pb) != nil {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc (ms *messageSet) Unmarshal(pb Message) error {\n\tif item := ms.find(pb); item != nil {\n\t\treturn Unmarshal(item.Message, pb)\n\t}\n\tif _, ok := pb.(messageTypeIder); !ok {\n\t\treturn errNoMessageTypeID\n\t}\n\treturn nil // TODO: return error instead?\n}\n\nfunc (ms *messageSet) Marshal(pb Message) error {\n\tmsg, err := Marshal(pb)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif item := ms.find(pb); item != nil {\n\t\t// reuse existing item\n\t\titem.Message = msg\n\t\treturn nil\n\t}\n\n\tmti, ok := pb.(messageTypeIder)\n\tif !ok {\n\t\treturn errNoMessageTypeID\n\t}\n\n\tmtid := mti.MessageTypeId()\n\tms.Item = append(ms.Item, &_MessageSet_Item{\n\t\tTypeId:  &mtid,\n\t\tMessage: msg,\n\t})\n\treturn nil\n}\n\nfunc (ms *messageSet) Reset()         { *ms = messageSet{} }\nfunc (ms *messageSet) String() string { return CompactTextString(ms) }\nfunc (*messageSet) ProtoMessage()     {}\n\n// Support for the message_set_wire_format message option.\n\nfunc skipVarint(buf []byte) []byte {\n\ti := 0\n\tfor ; buf[i]&0x80 != 0; i++ {\n\t}\n\treturn buf[i+1:]\n}\n\n// MarshalMessageSet encodes the extension map represented by m in the message set wire format.\n// It is called by generated Marshal methods on protocol buffer messages with the message_set_wire_format option.\nfunc MarshalMessageSet(exts interface{}) ([]byte, error) {\n\tvar m map[int32]Extension\n\tswitch exts := exts.(type) {\n\tcase *XXX_InternalExtensions:\n\t\tif err := encodeExtensions(exts); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tm, _ = exts.extensionsRead()\n\tcase map[int32]Extension:\n\t\tif err := encodeExtensionsMap(exts); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tm = exts\n\tdefault:\n\t\treturn nil, errors.New(\"proto: not an extension map\")\n\t}\n\n\t// Sort extension IDs to provide a deterministic encoding.\n\t// See also enc_map in encode.go.\n\tids := make([]int, 0, len(m))\n\tfor id := range m {\n\t\tids = append(ids, int(id))\n\t}\n\tsort.Ints(ids)\n\n\tms := &messageSet{Item: make([]*_MessageSet_Item, 0, len(m))}\n\tfor _, id := range ids {\n\t\te := m[int32(id)]\n\t\t// Remove the wire type and field number varint, as well as the length varint.\n\t\tmsg := skipVarint(skipVarint(e.enc))\n\n\t\tms.Item = append(ms.Item, &_MessageSet_Item{\n\t\t\tTypeId:  Int32(int32(id)),\n\t\t\tMessage: msg,\n\t\t})\n\t}\n\treturn Marshal(ms)\n}\n\n// UnmarshalMessageSet decodes the extension map encoded in buf in the message set wire format.\n// It is called by generated Unmarshal methods on protocol buffer messages with the message_set_wire_format option.\nfunc UnmarshalMessageSet(buf []byte, exts interface{}) error {\n\tvar m map[int32]Extension\n\tswitch exts := exts.(type) {\n\tcase *XXX_InternalExtensions:\n\t\tm = exts.extensionsWrite()\n\tcase map[int32]Extension:\n\t\tm = exts\n\tdefault:\n\t\treturn errors.New(\"proto: not an extension map\")\n\t}\n\n\tms := new(messageSet)\n\tif err := Unmarshal(buf, ms); err != nil {\n\t\treturn err\n\t}\n\tfor _, item := range ms.Item {\n\t\tid := *item.TypeId\n\t\tmsg := item.Message\n\n\t\t// Restore wire type and field number varint, plus length varint.\n\t\t// Be careful to preserve duplicate items.\n\t\tb := EncodeVarint(uint64(id)<<3 | WireBytes)\n\t\tif ext, ok := m[id]; ok {\n\t\t\t// Existing data; rip off the tag and length varint\n\t\t\t// so we join the new data correctly.\n\t\t\t// We can assume that ext.enc is set because we are unmarshaling.\n\t\t\to := ext.enc[len(b):]   // skip wire type and field number\n\t\t\t_, n := DecodeVarint(o) // calculate length of length varint\n\t\t\to = o[n:]               // skip length varint\n\t\t\tmsg = append(o, msg...) // join old data and new data\n\t\t}\n\t\tb = append(b, EncodeVarint(uint64(len(msg)))...)\n\t\tb = append(b, msg...)\n\n\t\tm[id] = Extension{enc: b}\n\t}\n\treturn nil\n}\n\n// MarshalMessageSetJSON encodes the extension map represented by m in JSON format.\n// It is called by generated MarshalJSON methods on protocol buffer messages with the message_set_wire_format option.\nfunc MarshalMessageSetJSON(exts interface{}) ([]byte, error) {\n\tvar m map[int32]Extension\n\tswitch exts := exts.(type) {\n\tcase *XXX_InternalExtensions:\n\t\tm, _ = exts.extensionsRead()\n\tcase map[int32]Extension:\n\t\tm = exts\n\tdefault:\n\t\treturn nil, errors.New(\"proto: not an extension map\")\n\t}\n\tvar b bytes.Buffer\n\tb.WriteByte('{')\n\n\t// Process the map in key order for deterministic output.\n\tids := make([]int32, 0, len(m))\n\tfor id := range m {\n\t\tids = append(ids, id)\n\t}\n\tsort.Sort(int32Slice(ids)) // int32Slice defined in text.go\n\n\tfor i, id := range ids {\n\t\text := m[id]\n\t\tif i > 0 {\n\t\t\tb.WriteByte(',')\n\t\t}\n\n\t\tmsd, ok := messageSetMap[id]\n\t\tif !ok {\n\t\t\t// Unknown type; we can't render it, so skip it.\n\t\t\tcontinue\n\t\t}\n\t\tfmt.Fprintf(&b, `\"[%s]\":`, msd.name)\n\n\t\tx := ext.value\n\t\tif x == nil {\n\t\t\tx = reflect.New(msd.t.Elem()).Interface()\n\t\t\tif err := Unmarshal(ext.enc, x.(Message)); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\td, err := json.Marshal(x)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tb.Write(d)\n\t}\n\tb.WriteByte('}')\n\treturn b.Bytes(), nil\n}\n\n// UnmarshalMessageSetJSON decodes the extension map encoded in buf in JSON format.\n// It is called by generated UnmarshalJSON methods on protocol buffer messages with the message_set_wire_format option.\nfunc UnmarshalMessageSetJSON(buf []byte, exts interface{}) error {\n\t// Common-case fast path.\n\tif len(buf) == 0 || bytes.Equal(buf, []byte(\"{}\")) {\n\t\treturn nil\n\t}\n\n\t// This is fairly tricky, and it's not clear that it is needed.\n\treturn errors.New(\"TODO: UnmarshalMessageSetJSON not yet implemented\")\n}\n\n// A global registry of types that can be used in a MessageSet.\n\nvar messageSetMap = make(map[int32]messageSetDesc)\n\ntype messageSetDesc struct {\n\tt    reflect.Type // pointer to struct\n\tname string\n}\n\n// RegisterMessageSetType is called from the generated code.\nfunc RegisterMessageSetType(m Message, fieldNum int32, name string) {\n\tmessageSetMap[fieldNum] = messageSetDesc{\n\t\tt:    reflect.TypeOf(m),\n\t\tname: name,\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/pointer_reflect.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2012 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// +build appengine js\n\n// This file contains an implementation of proto field accesses using package reflect.\n// It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can\n// be used on App Engine.\n\npackage proto\n\nimport (\n\t\"math\"\n\t\"reflect\"\n)\n\n// A structPointer is a pointer to a struct.\ntype structPointer struct {\n\tv reflect.Value\n}\n\n// toStructPointer returns a structPointer equivalent to the given reflect value.\n// The reflect value must itself be a pointer to a struct.\nfunc toStructPointer(v reflect.Value) structPointer {\n\treturn structPointer{v}\n}\n\n// IsNil reports whether p is nil.\nfunc structPointer_IsNil(p structPointer) bool {\n\treturn p.v.IsNil()\n}\n\n// Interface returns the struct pointer as an interface value.\nfunc structPointer_Interface(p structPointer, _ reflect.Type) interface{} {\n\treturn p.v.Interface()\n}\n\n// A field identifies a field in a struct, accessible from a structPointer.\n// In this implementation, a field is identified by the sequence of field indices\n// passed to reflect's FieldByIndex.\ntype field []int\n\n// toField returns a field equivalent to the given reflect field.\nfunc toField(f *reflect.StructField) field {\n\treturn f.Index\n}\n\n// invalidField is an invalid field identifier.\nvar invalidField = field(nil)\n\n// IsValid reports whether the field identifier is valid.\nfunc (f field) IsValid() bool { return f != nil }\n\n// field returns the given field in the struct as a reflect value.\nfunc structPointer_field(p structPointer, f field) reflect.Value {\n\t// Special case: an extension map entry with a value of type T\n\t// passes a *T to the struct-handling code with a zero field,\n\t// expecting that it will be treated as equivalent to *struct{ X T },\n\t// which has the same memory layout. We have to handle that case\n\t// specially, because reflect will panic if we call FieldByIndex on a\n\t// non-struct.\n\tif f == nil {\n\t\treturn p.v.Elem()\n\t}\n\n\treturn p.v.Elem().FieldByIndex(f)\n}\n\n// ifield returns the given field in the struct as an interface value.\nfunc structPointer_ifield(p structPointer, f field) interface{} {\n\treturn structPointer_field(p, f).Addr().Interface()\n}\n\n// Bytes returns the address of a []byte field in the struct.\nfunc structPointer_Bytes(p structPointer, f field) *[]byte {\n\treturn structPointer_ifield(p, f).(*[]byte)\n}\n\n// BytesSlice returns the address of a [][]byte field in the struct.\nfunc structPointer_BytesSlice(p structPointer, f field) *[][]byte {\n\treturn structPointer_ifield(p, f).(*[][]byte)\n}\n\n// Bool returns the address of a *bool field in the struct.\nfunc structPointer_Bool(p structPointer, f field) **bool {\n\treturn structPointer_ifield(p, f).(**bool)\n}\n\n// BoolVal returns the address of a bool field in the struct.\nfunc structPointer_BoolVal(p structPointer, f field) *bool {\n\treturn structPointer_ifield(p, f).(*bool)\n}\n\n// BoolSlice returns the address of a []bool field in the struct.\nfunc structPointer_BoolSlice(p structPointer, f field) *[]bool {\n\treturn structPointer_ifield(p, f).(*[]bool)\n}\n\n// String returns the address of a *string field in the struct.\nfunc structPointer_String(p structPointer, f field) **string {\n\treturn structPointer_ifield(p, f).(**string)\n}\n\n// StringVal returns the address of a string field in the struct.\nfunc structPointer_StringVal(p structPointer, f field) *string {\n\treturn structPointer_ifield(p, f).(*string)\n}\n\n// StringSlice returns the address of a []string field in the struct.\nfunc structPointer_StringSlice(p structPointer, f field) *[]string {\n\treturn structPointer_ifield(p, f).(*[]string)\n}\n\n// Extensions returns the address of an extension map field in the struct.\nfunc structPointer_Extensions(p structPointer, f field) *XXX_InternalExtensions {\n\treturn structPointer_ifield(p, f).(*XXX_InternalExtensions)\n}\n\n// ExtMap returns the address of an extension map field in the struct.\nfunc structPointer_ExtMap(p structPointer, f field) *map[int32]Extension {\n\treturn structPointer_ifield(p, f).(*map[int32]Extension)\n}\n\n// NewAt returns the reflect.Value for a pointer to a field in the struct.\nfunc structPointer_NewAt(p structPointer, f field, typ reflect.Type) reflect.Value {\n\treturn structPointer_field(p, f).Addr()\n}\n\n// SetStructPointer writes a *struct field in the struct.\nfunc structPointer_SetStructPointer(p structPointer, f field, q structPointer) {\n\tstructPointer_field(p, f).Set(q.v)\n}\n\n// GetStructPointer reads a *struct field in the struct.\nfunc structPointer_GetStructPointer(p structPointer, f field) structPointer {\n\treturn structPointer{structPointer_field(p, f)}\n}\n\n// StructPointerSlice the address of a []*struct field in the struct.\nfunc structPointer_StructPointerSlice(p structPointer, f field) structPointerSlice {\n\treturn structPointerSlice{structPointer_field(p, f)}\n}\n\n// A structPointerSlice represents the address of a slice of pointers to structs\n// (themselves messages or groups). That is, v.Type() is *[]*struct{...}.\ntype structPointerSlice struct {\n\tv reflect.Value\n}\n\nfunc (p structPointerSlice) Len() int                  { return p.v.Len() }\nfunc (p structPointerSlice) Index(i int) structPointer { return structPointer{p.v.Index(i)} }\nfunc (p structPointerSlice) Append(q structPointer) {\n\tp.v.Set(reflect.Append(p.v, q.v))\n}\n\nvar (\n\tint32Type   = reflect.TypeOf(int32(0))\n\tuint32Type  = reflect.TypeOf(uint32(0))\n\tfloat32Type = reflect.TypeOf(float32(0))\n\tint64Type   = reflect.TypeOf(int64(0))\n\tuint64Type  = reflect.TypeOf(uint64(0))\n\tfloat64Type = reflect.TypeOf(float64(0))\n)\n\n// A word32 represents a field of type *int32, *uint32, *float32, or *enum.\n// That is, v.Type() is *int32, *uint32, *float32, or *enum and v is assignable.\ntype word32 struct {\n\tv reflect.Value\n}\n\n// IsNil reports whether p is nil.\nfunc word32_IsNil(p word32) bool {\n\treturn p.v.IsNil()\n}\n\n// Set sets p to point at a newly allocated word with bits set to x.\nfunc word32_Set(p word32, o *Buffer, x uint32) {\n\tt := p.v.Type().Elem()\n\tswitch t {\n\tcase int32Type:\n\t\tif len(o.int32s) == 0 {\n\t\t\to.int32s = make([]int32, uint32PoolSize)\n\t\t}\n\t\to.int32s[0] = int32(x)\n\t\tp.v.Set(reflect.ValueOf(&o.int32s[0]))\n\t\to.int32s = o.int32s[1:]\n\t\treturn\n\tcase uint32Type:\n\t\tif len(o.uint32s) == 0 {\n\t\t\to.uint32s = make([]uint32, uint32PoolSize)\n\t\t}\n\t\to.uint32s[0] = x\n\t\tp.v.Set(reflect.ValueOf(&o.uint32s[0]))\n\t\to.uint32s = o.uint32s[1:]\n\t\treturn\n\tcase float32Type:\n\t\tif len(o.float32s) == 0 {\n\t\t\to.float32s = make([]float32, uint32PoolSize)\n\t\t}\n\t\to.float32s[0] = math.Float32frombits(x)\n\t\tp.v.Set(reflect.ValueOf(&o.float32s[0]))\n\t\to.float32s = o.float32s[1:]\n\t\treturn\n\t}\n\n\t// must be enum\n\tp.v.Set(reflect.New(t))\n\tp.v.Elem().SetInt(int64(int32(x)))\n}\n\n// Get gets the bits pointed at by p, as a uint32.\nfunc word32_Get(p word32) uint32 {\n\telem := p.v.Elem()\n\tswitch elem.Kind() {\n\tcase reflect.Int32:\n\t\treturn uint32(elem.Int())\n\tcase reflect.Uint32:\n\t\treturn uint32(elem.Uint())\n\tcase reflect.Float32:\n\t\treturn math.Float32bits(float32(elem.Float()))\n\t}\n\tpanic(\"unreachable\")\n}\n\n// Word32 returns a reference to a *int32, *uint32, *float32, or *enum field in the struct.\nfunc structPointer_Word32(p structPointer, f field) word32 {\n\treturn word32{structPointer_field(p, f)}\n}\n\n// A word32Val represents a field of type int32, uint32, float32, or enum.\n// That is, v.Type() is int32, uint32, float32, or enum and v is assignable.\ntype word32Val struct {\n\tv reflect.Value\n}\n\n// Set sets *p to x.\nfunc word32Val_Set(p word32Val, x uint32) {\n\tswitch p.v.Type() {\n\tcase int32Type:\n\t\tp.v.SetInt(int64(x))\n\t\treturn\n\tcase uint32Type:\n\t\tp.v.SetUint(uint64(x))\n\t\treturn\n\tcase float32Type:\n\t\tp.v.SetFloat(float64(math.Float32frombits(x)))\n\t\treturn\n\t}\n\n\t// must be enum\n\tp.v.SetInt(int64(int32(x)))\n}\n\n// Get gets the bits pointed at by p, as a uint32.\nfunc word32Val_Get(p word32Val) uint32 {\n\telem := p.v\n\tswitch elem.Kind() {\n\tcase reflect.Int32:\n\t\treturn uint32(elem.Int())\n\tcase reflect.Uint32:\n\t\treturn uint32(elem.Uint())\n\tcase reflect.Float32:\n\t\treturn math.Float32bits(float32(elem.Float()))\n\t}\n\tpanic(\"unreachable\")\n}\n\n// Word32Val returns a reference to a int32, uint32, float32, or enum field in the struct.\nfunc structPointer_Word32Val(p structPointer, f field) word32Val {\n\treturn word32Val{structPointer_field(p, f)}\n}\n\n// A word32Slice is a slice of 32-bit values.\n// That is, v.Type() is []int32, []uint32, []float32, or []enum.\ntype word32Slice struct {\n\tv reflect.Value\n}\n\nfunc (p word32Slice) Append(x uint32) {\n\tn, m := p.v.Len(), p.v.Cap()\n\tif n < m {\n\t\tp.v.SetLen(n + 1)\n\t} else {\n\t\tt := p.v.Type().Elem()\n\t\tp.v.Set(reflect.Append(p.v, reflect.Zero(t)))\n\t}\n\telem := p.v.Index(n)\n\tswitch elem.Kind() {\n\tcase reflect.Int32:\n\t\telem.SetInt(int64(int32(x)))\n\tcase reflect.Uint32:\n\t\telem.SetUint(uint64(x))\n\tcase reflect.Float32:\n\t\telem.SetFloat(float64(math.Float32frombits(x)))\n\t}\n}\n\nfunc (p word32Slice) Len() int {\n\treturn p.v.Len()\n}\n\nfunc (p word32Slice) Index(i int) uint32 {\n\telem := p.v.Index(i)\n\tswitch elem.Kind() {\n\tcase reflect.Int32:\n\t\treturn uint32(elem.Int())\n\tcase reflect.Uint32:\n\t\treturn uint32(elem.Uint())\n\tcase reflect.Float32:\n\t\treturn math.Float32bits(float32(elem.Float()))\n\t}\n\tpanic(\"unreachable\")\n}\n\n// Word32Slice returns a reference to a []int32, []uint32, []float32, or []enum field in the struct.\nfunc structPointer_Word32Slice(p structPointer, f field) word32Slice {\n\treturn word32Slice{structPointer_field(p, f)}\n}\n\n// word64 is like word32 but for 64-bit values.\ntype word64 struct {\n\tv reflect.Value\n}\n\nfunc word64_Set(p word64, o *Buffer, x uint64) {\n\tt := p.v.Type().Elem()\n\tswitch t {\n\tcase int64Type:\n\t\tif len(o.int64s) == 0 {\n\t\t\to.int64s = make([]int64, uint64PoolSize)\n\t\t}\n\t\to.int64s[0] = int64(x)\n\t\tp.v.Set(reflect.ValueOf(&o.int64s[0]))\n\t\to.int64s = o.int64s[1:]\n\t\treturn\n\tcase uint64Type:\n\t\tif len(o.uint64s) == 0 {\n\t\t\to.uint64s = make([]uint64, uint64PoolSize)\n\t\t}\n\t\to.uint64s[0] = x\n\t\tp.v.Set(reflect.ValueOf(&o.uint64s[0]))\n\t\to.uint64s = o.uint64s[1:]\n\t\treturn\n\tcase float64Type:\n\t\tif len(o.float64s) == 0 {\n\t\t\to.float64s = make([]float64, uint64PoolSize)\n\t\t}\n\t\to.float64s[0] = math.Float64frombits(x)\n\t\tp.v.Set(reflect.ValueOf(&o.float64s[0]))\n\t\to.float64s = o.float64s[1:]\n\t\treturn\n\t}\n\tpanic(\"unreachable\")\n}\n\nfunc word64_IsNil(p word64) bool {\n\treturn p.v.IsNil()\n}\n\nfunc word64_Get(p word64) uint64 {\n\telem := p.v.Elem()\n\tswitch elem.Kind() {\n\tcase reflect.Int64:\n\t\treturn uint64(elem.Int())\n\tcase reflect.Uint64:\n\t\treturn elem.Uint()\n\tcase reflect.Float64:\n\t\treturn math.Float64bits(elem.Float())\n\t}\n\tpanic(\"unreachable\")\n}\n\nfunc structPointer_Word64(p structPointer, f field) word64 {\n\treturn word64{structPointer_field(p, f)}\n}\n\n// word64Val is like word32Val but for 64-bit values.\ntype word64Val struct {\n\tv reflect.Value\n}\n\nfunc word64Val_Set(p word64Val, o *Buffer, x uint64) {\n\tswitch p.v.Type() {\n\tcase int64Type:\n\t\tp.v.SetInt(int64(x))\n\t\treturn\n\tcase uint64Type:\n\t\tp.v.SetUint(x)\n\t\treturn\n\tcase float64Type:\n\t\tp.v.SetFloat(math.Float64frombits(x))\n\t\treturn\n\t}\n\tpanic(\"unreachable\")\n}\n\nfunc word64Val_Get(p word64Val) uint64 {\n\telem := p.v\n\tswitch elem.Kind() {\n\tcase reflect.Int64:\n\t\treturn uint64(elem.Int())\n\tcase reflect.Uint64:\n\t\treturn elem.Uint()\n\tcase reflect.Float64:\n\t\treturn math.Float64bits(elem.Float())\n\t}\n\tpanic(\"unreachable\")\n}\n\nfunc structPointer_Word64Val(p structPointer, f field) word64Val {\n\treturn word64Val{structPointer_field(p, f)}\n}\n\ntype word64Slice struct {\n\tv reflect.Value\n}\n\nfunc (p word64Slice) Append(x uint64) {\n\tn, m := p.v.Len(), p.v.Cap()\n\tif n < m {\n\t\tp.v.SetLen(n + 1)\n\t} else {\n\t\tt := p.v.Type().Elem()\n\t\tp.v.Set(reflect.Append(p.v, reflect.Zero(t)))\n\t}\n\telem := p.v.Index(n)\n\tswitch elem.Kind() {\n\tcase reflect.Int64:\n\t\telem.SetInt(int64(int64(x)))\n\tcase reflect.Uint64:\n\t\telem.SetUint(uint64(x))\n\tcase reflect.Float64:\n\t\telem.SetFloat(float64(math.Float64frombits(x)))\n\t}\n}\n\nfunc (p word64Slice) Len() int {\n\treturn p.v.Len()\n}\n\nfunc (p word64Slice) Index(i int) uint64 {\n\telem := p.v.Index(i)\n\tswitch elem.Kind() {\n\tcase reflect.Int64:\n\t\treturn uint64(elem.Int())\n\tcase reflect.Uint64:\n\t\treturn uint64(elem.Uint())\n\tcase reflect.Float64:\n\t\treturn math.Float64bits(float64(elem.Float()))\n\t}\n\tpanic(\"unreachable\")\n}\n\nfunc structPointer_Word64Slice(p structPointer, f field) word64Slice {\n\treturn word64Slice{structPointer_field(p, f)}\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/pointer_unsafe.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2012 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// +build !appengine,!js\n\n// This file contains the implementation of the proto field accesses using package unsafe.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"unsafe\"\n)\n\n// NOTE: These type_Foo functions would more idiomatically be methods,\n// but Go does not allow methods on pointer types, and we must preserve\n// some pointer type for the garbage collector. We use these\n// funcs with clunky names as our poor approximation to methods.\n//\n// An alternative would be\n//\ttype structPointer struct { p unsafe.Pointer }\n// but that does not registerize as well.\n\n// A structPointer is a pointer to a struct.\ntype structPointer unsafe.Pointer\n\n// toStructPointer returns a structPointer equivalent to the given reflect value.\nfunc toStructPointer(v reflect.Value) structPointer {\n\treturn structPointer(unsafe.Pointer(v.Pointer()))\n}\n\n// IsNil reports whether p is nil.\nfunc structPointer_IsNil(p structPointer) bool {\n\treturn p == nil\n}\n\n// Interface returns the struct pointer, assumed to have element type t,\n// as an interface value.\nfunc structPointer_Interface(p structPointer, t reflect.Type) interface{} {\n\treturn reflect.NewAt(t, unsafe.Pointer(p)).Interface()\n}\n\n// A field identifies a field in a struct, accessible from a structPointer.\n// In this implementation, a field is identified by its byte offset from the start of the struct.\ntype field uintptr\n\n// toField returns a field equivalent to the given reflect field.\nfunc toField(f *reflect.StructField) field {\n\treturn field(f.Offset)\n}\n\n// invalidField is an invalid field identifier.\nconst invalidField = ^field(0)\n\n// IsValid reports whether the field identifier is valid.\nfunc (f field) IsValid() bool {\n\treturn f != ^field(0)\n}\n\n// Bytes returns the address of a []byte field in the struct.\nfunc structPointer_Bytes(p structPointer, f field) *[]byte {\n\treturn (*[]byte)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// BytesSlice returns the address of a [][]byte field in the struct.\nfunc structPointer_BytesSlice(p structPointer, f field) *[][]byte {\n\treturn (*[][]byte)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// Bool returns the address of a *bool field in the struct.\nfunc structPointer_Bool(p structPointer, f field) **bool {\n\treturn (**bool)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// BoolVal returns the address of a bool field in the struct.\nfunc structPointer_BoolVal(p structPointer, f field) *bool {\n\treturn (*bool)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// BoolSlice returns the address of a []bool field in the struct.\nfunc structPointer_BoolSlice(p structPointer, f field) *[]bool {\n\treturn (*[]bool)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// String returns the address of a *string field in the struct.\nfunc structPointer_String(p structPointer, f field) **string {\n\treturn (**string)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// StringVal returns the address of a string field in the struct.\nfunc structPointer_StringVal(p structPointer, f field) *string {\n\treturn (*string)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// StringSlice returns the address of a []string field in the struct.\nfunc structPointer_StringSlice(p structPointer, f field) *[]string {\n\treturn (*[]string)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// ExtMap returns the address of an extension map field in the struct.\nfunc structPointer_Extensions(p structPointer, f field) *XXX_InternalExtensions {\n\treturn (*XXX_InternalExtensions)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\nfunc structPointer_ExtMap(p structPointer, f field) *map[int32]Extension {\n\treturn (*map[int32]Extension)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// NewAt returns the reflect.Value for a pointer to a field in the struct.\nfunc structPointer_NewAt(p structPointer, f field, typ reflect.Type) reflect.Value {\n\treturn reflect.NewAt(typ, unsafe.Pointer(uintptr(p)+uintptr(f)))\n}\n\n// SetStructPointer writes a *struct field in the struct.\nfunc structPointer_SetStructPointer(p structPointer, f field, q structPointer) {\n\t*(*structPointer)(unsafe.Pointer(uintptr(p) + uintptr(f))) = q\n}\n\n// GetStructPointer reads a *struct field in the struct.\nfunc structPointer_GetStructPointer(p structPointer, f field) structPointer {\n\treturn *(*structPointer)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// StructPointerSlice the address of a []*struct field in the struct.\nfunc structPointer_StructPointerSlice(p structPointer, f field) *structPointerSlice {\n\treturn (*structPointerSlice)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// A structPointerSlice represents a slice of pointers to structs (themselves submessages or groups).\ntype structPointerSlice []structPointer\n\nfunc (v *structPointerSlice) Len() int                  { return len(*v) }\nfunc (v *structPointerSlice) Index(i int) structPointer { return (*v)[i] }\nfunc (v *structPointerSlice) Append(p structPointer)    { *v = append(*v, p) }\n\n// A word32 is the address of a \"pointer to 32-bit value\" field.\ntype word32 **uint32\n\n// IsNil reports whether *v is nil.\nfunc word32_IsNil(p word32) bool {\n\treturn *p == nil\n}\n\n// Set sets *v to point at a newly allocated word set to x.\nfunc word32_Set(p word32, o *Buffer, x uint32) {\n\tif len(o.uint32s) == 0 {\n\t\to.uint32s = make([]uint32, uint32PoolSize)\n\t}\n\to.uint32s[0] = x\n\t*p = &o.uint32s[0]\n\to.uint32s = o.uint32s[1:]\n}\n\n// Get gets the value pointed at by *v.\nfunc word32_Get(p word32) uint32 {\n\treturn **p\n}\n\n// Word32 returns the address of a *int32, *uint32, *float32, or *enum field in the struct.\nfunc structPointer_Word32(p structPointer, f field) word32 {\n\treturn word32((**uint32)(unsafe.Pointer(uintptr(p) + uintptr(f))))\n}\n\n// A word32Val is the address of a 32-bit value field.\ntype word32Val *uint32\n\n// Set sets *p to x.\nfunc word32Val_Set(p word32Val, x uint32) {\n\t*p = x\n}\n\n// Get gets the value pointed at by p.\nfunc word32Val_Get(p word32Val) uint32 {\n\treturn *p\n}\n\n// Word32Val returns the address of a *int32, *uint32, *float32, or *enum field in the struct.\nfunc structPointer_Word32Val(p structPointer, f field) word32Val {\n\treturn word32Val((*uint32)(unsafe.Pointer(uintptr(p) + uintptr(f))))\n}\n\n// A word32Slice is a slice of 32-bit values.\ntype word32Slice []uint32\n\nfunc (v *word32Slice) Append(x uint32)    { *v = append(*v, x) }\nfunc (v *word32Slice) Len() int           { return len(*v) }\nfunc (v *word32Slice) Index(i int) uint32 { return (*v)[i] }\n\n// Word32Slice returns the address of a []int32, []uint32, []float32, or []enum field in the struct.\nfunc structPointer_Word32Slice(p structPointer, f field) *word32Slice {\n\treturn (*word32Slice)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n\n// word64 is like word32 but for 64-bit values.\ntype word64 **uint64\n\nfunc word64_Set(p word64, o *Buffer, x uint64) {\n\tif len(o.uint64s) == 0 {\n\t\to.uint64s = make([]uint64, uint64PoolSize)\n\t}\n\to.uint64s[0] = x\n\t*p = &o.uint64s[0]\n\to.uint64s = o.uint64s[1:]\n}\n\nfunc word64_IsNil(p word64) bool {\n\treturn *p == nil\n}\n\nfunc word64_Get(p word64) uint64 {\n\treturn **p\n}\n\nfunc structPointer_Word64(p structPointer, f field) word64 {\n\treturn word64((**uint64)(unsafe.Pointer(uintptr(p) + uintptr(f))))\n}\n\n// word64Val is like word32Val but for 64-bit values.\ntype word64Val *uint64\n\nfunc word64Val_Set(p word64Val, o *Buffer, x uint64) {\n\t*p = x\n}\n\nfunc word64Val_Get(p word64Val) uint64 {\n\treturn *p\n}\n\nfunc structPointer_Word64Val(p structPointer, f field) word64Val {\n\treturn word64Val((*uint64)(unsafe.Pointer(uintptr(p) + uintptr(f))))\n}\n\n// word64Slice is like word32Slice but for 64-bit values.\ntype word64Slice []uint64\n\nfunc (v *word64Slice) Append(x uint64)    { *v = append(*v, x) }\nfunc (v *word64Slice) Len() int           { return len(*v) }\nfunc (v *word64Slice) Index(i int) uint64 { return (*v)[i] }\n\nfunc structPointer_Word64Slice(p structPointer, f field) *word64Slice {\n\treturn (*word64Slice)(unsafe.Pointer(uintptr(p) + uintptr(f)))\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/properties.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Routines for encoding data into the wire format for protocol buffers.\n */\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"os\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n)\n\nconst debug bool = false\n\n// Constants that identify the encoding of a value on the wire.\nconst (\n\tWireVarint     = 0\n\tWireFixed64    = 1\n\tWireBytes      = 2\n\tWireStartGroup = 3\n\tWireEndGroup   = 4\n\tWireFixed32    = 5\n)\n\nconst startSize = 10 // initial slice/string sizes\n\n// Encoders are defined in encode.go\n// An encoder outputs the full representation of a field, including its\n// tag and encoder type.\ntype encoder func(p *Buffer, prop *Properties, base structPointer) error\n\n// A valueEncoder encodes a single integer in a particular encoding.\ntype valueEncoder func(o *Buffer, x uint64) error\n\n// Sizers are defined in encode.go\n// A sizer returns the encoded size of a field, including its tag and encoder\n// type.\ntype sizer func(prop *Properties, base structPointer) int\n\n// A valueSizer returns the encoded size of a single integer in a particular\n// encoding.\ntype valueSizer func(x uint64) int\n\n// Decoders are defined in decode.go\n// A decoder creates a value from its wire representation.\n// Unrecognized subelements are saved in unrec.\ntype decoder func(p *Buffer, prop *Properties, base structPointer) error\n\n// A valueDecoder decodes a single integer in a particular encoding.\ntype valueDecoder func(o *Buffer) (x uint64, err error)\n\n// A oneofMarshaler does the marshaling for all oneof fields in a message.\ntype oneofMarshaler func(Message, *Buffer) error\n\n// A oneofUnmarshaler does the unmarshaling for a oneof field in a message.\ntype oneofUnmarshaler func(Message, int, int, *Buffer) (bool, error)\n\n// A oneofSizer does the sizing for all oneof fields in a message.\ntype oneofSizer func(Message) int\n\n// tagMap is an optimization over map[int]int for typical protocol buffer\n// use-cases. Encoded protocol buffers are often in tag order with small tag\n// numbers.\ntype tagMap struct {\n\tfastTags []int\n\tslowTags map[int]int\n}\n\n// tagMapFastLimit is the upper bound on the tag number that will be stored in\n// the tagMap slice rather than its map.\nconst tagMapFastLimit = 1024\n\nfunc (p *tagMap) get(t int) (int, bool) {\n\tif t > 0 && t < tagMapFastLimit {\n\t\tif t >= len(p.fastTags) {\n\t\t\treturn 0, false\n\t\t}\n\t\tfi := p.fastTags[t]\n\t\treturn fi, fi >= 0\n\t}\n\tfi, ok := p.slowTags[t]\n\treturn fi, ok\n}\n\nfunc (p *tagMap) put(t int, fi int) {\n\tif t > 0 && t < tagMapFastLimit {\n\t\tfor len(p.fastTags) < t+1 {\n\t\t\tp.fastTags = append(p.fastTags, -1)\n\t\t}\n\t\tp.fastTags[t] = fi\n\t\treturn\n\t}\n\tif p.slowTags == nil {\n\t\tp.slowTags = make(map[int]int)\n\t}\n\tp.slowTags[t] = fi\n}\n\n// StructProperties represents properties for all the fields of a struct.\n// decoderTags and decoderOrigNames should only be used by the decoder.\ntype StructProperties struct {\n\tProp             []*Properties  // properties for each field\n\treqCount         int            // required count\n\tdecoderTags      tagMap         // map from proto tag to struct field number\n\tdecoderOrigNames map[string]int // map from original name to struct field number\n\torder            []int          // list of struct field numbers in tag order\n\tunrecField       field          // field id of the XXX_unrecognized []byte field\n\textendable       bool           // is this an extendable proto\n\n\toneofMarshaler   oneofMarshaler\n\toneofUnmarshaler oneofUnmarshaler\n\toneofSizer       oneofSizer\n\tstype            reflect.Type\n\n\t// OneofTypes contains information about the oneof fields in this message.\n\t// It is keyed by the original name of a field.\n\tOneofTypes map[string]*OneofProperties\n}\n\n// OneofProperties represents information about a specific field in a oneof.\ntype OneofProperties struct {\n\tType  reflect.Type // pointer to generated struct type for this oneof field\n\tField int          // struct field number of the containing oneof in the message\n\tProp  *Properties\n}\n\n// Implement the sorting interface so we can sort the fields in tag order, as recommended by the spec.\n// See encode.go, (*Buffer).enc_struct.\n\nfunc (sp *StructProperties) Len() int { return len(sp.order) }\nfunc (sp *StructProperties) Less(i, j int) bool {\n\treturn sp.Prop[sp.order[i]].Tag < sp.Prop[sp.order[j]].Tag\n}\nfunc (sp *StructProperties) Swap(i, j int) { sp.order[i], sp.order[j] = sp.order[j], sp.order[i] }\n\n// Properties represents the protocol-specific behavior of a single struct field.\ntype Properties struct {\n\tName     string // name of the field, for error messages\n\tOrigName string // original name before protocol compiler (always set)\n\tJSONName string // name to use for JSON; determined by protoc\n\tWire     string\n\tWireType int\n\tTag      int\n\tRequired bool\n\tOptional bool\n\tRepeated bool\n\tPacked   bool   // relevant for repeated primitives only\n\tEnum     string // set for enum types only\n\tproto3   bool   // whether this is known to be a proto3 field; set for []byte only\n\toneof    bool   // whether this is a oneof field\n\n\tDefault    string // default value\n\tHasDefault bool   // whether an explicit default was provided\n\tdef_uint64 uint64\n\n\tenc           encoder\n\tvalEnc        valueEncoder // set for bool and numeric types only\n\tfield         field\n\ttagcode       []byte // encoding of EncodeVarint((Tag<<3)|WireType)\n\ttagbuf        [8]byte\n\tstype         reflect.Type      // set for struct types only\n\tsprop         *StructProperties // set for struct types only\n\tisMarshaler   bool\n\tisUnmarshaler bool\n\n\tmtype    reflect.Type // set for map types only\n\tmkeyprop *Properties  // set for map types only\n\tmvalprop *Properties  // set for map types only\n\n\tsize    sizer\n\tvalSize valueSizer // set for bool and numeric types only\n\n\tdec    decoder\n\tvalDec valueDecoder // set for bool and numeric types only\n\n\t// If this is a packable field, this will be the decoder for the packed version of the field.\n\tpackedDec decoder\n}\n\n// String formats the properties in the protobuf struct field tag style.\nfunc (p *Properties) String() string {\n\ts := p.Wire\n\ts = \",\"\n\ts += strconv.Itoa(p.Tag)\n\tif p.Required {\n\t\ts += \",req\"\n\t}\n\tif p.Optional {\n\t\ts += \",opt\"\n\t}\n\tif p.Repeated {\n\t\ts += \",rep\"\n\t}\n\tif p.Packed {\n\t\ts += \",packed\"\n\t}\n\ts += \",name=\" + p.OrigName\n\tif p.JSONName != p.OrigName {\n\t\ts += \",json=\" + p.JSONName\n\t}\n\tif p.proto3 {\n\t\ts += \",proto3\"\n\t}\n\tif p.oneof {\n\t\ts += \",oneof\"\n\t}\n\tif len(p.Enum) > 0 {\n\t\ts += \",enum=\" + p.Enum\n\t}\n\tif p.HasDefault {\n\t\ts += \",def=\" + p.Default\n\t}\n\treturn s\n}\n\n// Parse populates p by parsing a string in the protobuf struct field tag style.\nfunc (p *Properties) Parse(s string) {\n\t// \"bytes,49,opt,name=foo,def=hello!\"\n\tfields := strings.Split(s, \",\") // breaks def=, but handled below.\n\tif len(fields) < 2 {\n\t\tfmt.Fprintf(os.Stderr, \"proto: tag has too few fields: %q\\n\", s)\n\t\treturn\n\t}\n\n\tp.Wire = fields[0]\n\tswitch p.Wire {\n\tcase \"varint\":\n\t\tp.WireType = WireVarint\n\t\tp.valEnc = (*Buffer).EncodeVarint\n\t\tp.valDec = (*Buffer).DecodeVarint\n\t\tp.valSize = sizeVarint\n\tcase \"fixed32\":\n\t\tp.WireType = WireFixed32\n\t\tp.valEnc = (*Buffer).EncodeFixed32\n\t\tp.valDec = (*Buffer).DecodeFixed32\n\t\tp.valSize = sizeFixed32\n\tcase \"fixed64\":\n\t\tp.WireType = WireFixed64\n\t\tp.valEnc = (*Buffer).EncodeFixed64\n\t\tp.valDec = (*Buffer).DecodeFixed64\n\t\tp.valSize = sizeFixed64\n\tcase \"zigzag32\":\n\t\tp.WireType = WireVarint\n\t\tp.valEnc = (*Buffer).EncodeZigzag32\n\t\tp.valDec = (*Buffer).DecodeZigzag32\n\t\tp.valSize = sizeZigzag32\n\tcase \"zigzag64\":\n\t\tp.WireType = WireVarint\n\t\tp.valEnc = (*Buffer).EncodeZigzag64\n\t\tp.valDec = (*Buffer).DecodeZigzag64\n\t\tp.valSize = sizeZigzag64\n\tcase \"bytes\", \"group\":\n\t\tp.WireType = WireBytes\n\t\t// no numeric converter for non-numeric types\n\tdefault:\n\t\tfmt.Fprintf(os.Stderr, \"proto: tag has unknown wire type: %q\\n\", s)\n\t\treturn\n\t}\n\n\tvar err error\n\tp.Tag, err = strconv.Atoi(fields[1])\n\tif err != nil {\n\t\treturn\n\t}\n\n\tfor i := 2; i < len(fields); i++ {\n\t\tf := fields[i]\n\t\tswitch {\n\t\tcase f == \"req\":\n\t\t\tp.Required = true\n\t\tcase f == \"opt\":\n\t\t\tp.Optional = true\n\t\tcase f == \"rep\":\n\t\t\tp.Repeated = true\n\t\tcase f == \"packed\":\n\t\t\tp.Packed = true\n\t\tcase strings.HasPrefix(f, \"name=\"):\n\t\t\tp.OrigName = f[5:]\n\t\tcase strings.HasPrefix(f, \"json=\"):\n\t\t\tp.JSONName = f[5:]\n\t\tcase strings.HasPrefix(f, \"enum=\"):\n\t\t\tp.Enum = f[5:]\n\t\tcase f == \"proto3\":\n\t\t\tp.proto3 = true\n\t\tcase f == \"oneof\":\n\t\t\tp.oneof = true\n\t\tcase strings.HasPrefix(f, \"def=\"):\n\t\t\tp.HasDefault = true\n\t\t\tp.Default = f[4:] // rest of string\n\t\t\tif i+1 < len(fields) {\n\t\t\t\t// Commas aren't escaped, and def is always last.\n\t\t\t\tp.Default += \",\" + strings.Join(fields[i+1:], \",\")\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc logNoSliceEnc(t1, t2 reflect.Type) {\n\tfmt.Fprintf(os.Stderr, \"proto: no slice oenc for %T = []%T\\n\", t1, t2)\n}\n\nvar protoMessageType = reflect.TypeOf((*Message)(nil)).Elem()\n\n// Initialize the fields for encoding and decoding.\nfunc (p *Properties) setEncAndDec(typ reflect.Type, f *reflect.StructField, lockGetProp bool) {\n\tp.enc = nil\n\tp.dec = nil\n\tp.size = nil\n\n\tswitch t1 := typ; t1.Kind() {\n\tdefault:\n\t\tfmt.Fprintf(os.Stderr, \"proto: no coders for %v\\n\", t1)\n\n\t// proto3 scalar types\n\n\tcase reflect.Bool:\n\t\tp.enc = (*Buffer).enc_proto3_bool\n\t\tp.dec = (*Buffer).dec_proto3_bool\n\t\tp.size = size_proto3_bool\n\tcase reflect.Int32:\n\t\tp.enc = (*Buffer).enc_proto3_int32\n\t\tp.dec = (*Buffer).dec_proto3_int32\n\t\tp.size = size_proto3_int32\n\tcase reflect.Uint32:\n\t\tp.enc = (*Buffer).enc_proto3_uint32\n\t\tp.dec = (*Buffer).dec_proto3_int32 // can reuse\n\t\tp.size = size_proto3_uint32\n\tcase reflect.Int64, reflect.Uint64:\n\t\tp.enc = (*Buffer).enc_proto3_int64\n\t\tp.dec = (*Buffer).dec_proto3_int64\n\t\tp.size = size_proto3_int64\n\tcase reflect.Float32:\n\t\tp.enc = (*Buffer).enc_proto3_uint32 // can just treat them as bits\n\t\tp.dec = (*Buffer).dec_proto3_int32\n\t\tp.size = size_proto3_uint32\n\tcase reflect.Float64:\n\t\tp.enc = (*Buffer).enc_proto3_int64 // can just treat them as bits\n\t\tp.dec = (*Buffer).dec_proto3_int64\n\t\tp.size = size_proto3_int64\n\tcase reflect.String:\n\t\tp.enc = (*Buffer).enc_proto3_string\n\t\tp.dec = (*Buffer).dec_proto3_string\n\t\tp.size = size_proto3_string\n\n\tcase reflect.Ptr:\n\t\tswitch t2 := t1.Elem(); t2.Kind() {\n\t\tdefault:\n\t\t\tfmt.Fprintf(os.Stderr, \"proto: no encoder function for %v -> %v\\n\", t1, t2)\n\t\t\tbreak\n\t\tcase reflect.Bool:\n\t\t\tp.enc = (*Buffer).enc_bool\n\t\t\tp.dec = (*Buffer).dec_bool\n\t\t\tp.size = size_bool\n\t\tcase reflect.Int32:\n\t\t\tp.enc = (*Buffer).enc_int32\n\t\t\tp.dec = (*Buffer).dec_int32\n\t\t\tp.size = size_int32\n\t\tcase reflect.Uint32:\n\t\t\tp.enc = (*Buffer).enc_uint32\n\t\t\tp.dec = (*Buffer).dec_int32 // can reuse\n\t\t\tp.size = size_uint32\n\t\tcase reflect.Int64, reflect.Uint64:\n\t\t\tp.enc = (*Buffer).enc_int64\n\t\t\tp.dec = (*Buffer).dec_int64\n\t\t\tp.size = size_int64\n\t\tcase reflect.Float32:\n\t\t\tp.enc = (*Buffer).enc_uint32 // can just treat them as bits\n\t\t\tp.dec = (*Buffer).dec_int32\n\t\t\tp.size = size_uint32\n\t\tcase reflect.Float64:\n\t\t\tp.enc = (*Buffer).enc_int64 // can just treat them as bits\n\t\t\tp.dec = (*Buffer).dec_int64\n\t\t\tp.size = size_int64\n\t\tcase reflect.String:\n\t\t\tp.enc = (*Buffer).enc_string\n\t\t\tp.dec = (*Buffer).dec_string\n\t\t\tp.size = size_string\n\t\tcase reflect.Struct:\n\t\t\tp.stype = t1.Elem()\n\t\t\tp.isMarshaler = isMarshaler(t1)\n\t\t\tp.isUnmarshaler = isUnmarshaler(t1)\n\t\t\tif p.Wire == \"bytes\" {\n\t\t\t\tp.enc = (*Buffer).enc_struct_message\n\t\t\t\tp.dec = (*Buffer).dec_struct_message\n\t\t\t\tp.size = size_struct_message\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_struct_group\n\t\t\t\tp.dec = (*Buffer).dec_struct_group\n\t\t\t\tp.size = size_struct_group\n\t\t\t}\n\t\t}\n\n\tcase reflect.Slice:\n\t\tswitch t2 := t1.Elem(); t2.Kind() {\n\t\tdefault:\n\t\t\tlogNoSliceEnc(t1, t2)\n\t\t\tbreak\n\t\tcase reflect.Bool:\n\t\t\tif p.Packed {\n\t\t\t\tp.enc = (*Buffer).enc_slice_packed_bool\n\t\t\t\tp.size = size_slice_packed_bool\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_slice_bool\n\t\t\t\tp.size = size_slice_bool\n\t\t\t}\n\t\t\tp.dec = (*Buffer).dec_slice_bool\n\t\t\tp.packedDec = (*Buffer).dec_slice_packed_bool\n\t\tcase reflect.Int32:\n\t\t\tif p.Packed {\n\t\t\t\tp.enc = (*Buffer).enc_slice_packed_int32\n\t\t\t\tp.size = size_slice_packed_int32\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_slice_int32\n\t\t\t\tp.size = size_slice_int32\n\t\t\t}\n\t\t\tp.dec = (*Buffer).dec_slice_int32\n\t\t\tp.packedDec = (*Buffer).dec_slice_packed_int32\n\t\tcase reflect.Uint32:\n\t\t\tif p.Packed {\n\t\t\t\tp.enc = (*Buffer).enc_slice_packed_uint32\n\t\t\t\tp.size = size_slice_packed_uint32\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_slice_uint32\n\t\t\t\tp.size = size_slice_uint32\n\t\t\t}\n\t\t\tp.dec = (*Buffer).dec_slice_int32\n\t\t\tp.packedDec = (*Buffer).dec_slice_packed_int32\n\t\tcase reflect.Int64, reflect.Uint64:\n\t\t\tif p.Packed {\n\t\t\t\tp.enc = (*Buffer).enc_slice_packed_int64\n\t\t\t\tp.size = size_slice_packed_int64\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_slice_int64\n\t\t\t\tp.size = size_slice_int64\n\t\t\t}\n\t\t\tp.dec = (*Buffer).dec_slice_int64\n\t\t\tp.packedDec = (*Buffer).dec_slice_packed_int64\n\t\tcase reflect.Uint8:\n\t\t\tp.dec = (*Buffer).dec_slice_byte\n\t\t\tif p.proto3 {\n\t\t\t\tp.enc = (*Buffer).enc_proto3_slice_byte\n\t\t\t\tp.size = size_proto3_slice_byte\n\t\t\t} else {\n\t\t\t\tp.enc = (*Buffer).enc_slice_byte\n\t\t\t\tp.size = size_slice_byte\n\t\t\t}\n\t\tcase reflect.Float32, reflect.Float64:\n\t\t\tswitch t2.Bits() {\n\t\t\tcase 32:\n\t\t\t\t// can just treat them as bits\n\t\t\t\tif p.Packed {\n\t\t\t\t\tp.enc = (*Buffer).enc_slice_packed_uint32\n\t\t\t\t\tp.size = size_slice_packed_uint32\n\t\t\t\t} else {\n\t\t\t\t\tp.enc = (*Buffer).enc_slice_uint32\n\t\t\t\t\tp.size = size_slice_uint32\n\t\t\t\t}\n\t\t\t\tp.dec = (*Buffer).dec_slice_int32\n\t\t\t\tp.packedDec = (*Buffer).dec_slice_packed_int32\n\t\t\tcase 64:\n\t\t\t\t// can just treat them as bits\n\t\t\t\tif p.Packed {\n\t\t\t\t\tp.enc = (*Buffer).enc_slice_packed_int64\n\t\t\t\t\tp.size = size_slice_packed_int64\n\t\t\t\t} else {\n\t\t\t\t\tp.enc = (*Buffer).enc_slice_int64\n\t\t\t\t\tp.size = size_slice_int64\n\t\t\t\t}\n\t\t\t\tp.dec = (*Buffer).dec_slice_int64\n\t\t\t\tp.packedDec = (*Buffer).dec_slice_packed_int64\n\t\t\tdefault:\n\t\t\t\tlogNoSliceEnc(t1, t2)\n\t\t\t\tbreak\n\t\t\t}\n\t\tcase reflect.String:\n\t\t\tp.enc = (*Buffer).enc_slice_string\n\t\t\tp.dec = (*Buffer).dec_slice_string\n\t\t\tp.size = size_slice_string\n\t\tcase reflect.Ptr:\n\t\t\tswitch t3 := t2.Elem(); t3.Kind() {\n\t\t\tdefault:\n\t\t\t\tfmt.Fprintf(os.Stderr, \"proto: no ptr oenc for %T -> %T -> %T\\n\", t1, t2, t3)\n\t\t\t\tbreak\n\t\t\tcase reflect.Struct:\n\t\t\t\tp.stype = t2.Elem()\n\t\t\t\tp.isMarshaler = isMarshaler(t2)\n\t\t\t\tp.isUnmarshaler = isUnmarshaler(t2)\n\t\t\t\tif p.Wire == \"bytes\" {\n\t\t\t\t\tp.enc = (*Buffer).enc_slice_struct_message\n\t\t\t\t\tp.dec = (*Buffer).dec_slice_struct_message\n\t\t\t\t\tp.size = size_slice_struct_message\n\t\t\t\t} else {\n\t\t\t\t\tp.enc = (*Buffer).enc_slice_struct_group\n\t\t\t\t\tp.dec = (*Buffer).dec_slice_struct_group\n\t\t\t\t\tp.size = size_slice_struct_group\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Slice:\n\t\t\tswitch t2.Elem().Kind() {\n\t\t\tdefault:\n\t\t\t\tfmt.Fprintf(os.Stderr, \"proto: no slice elem oenc for %T -> %T -> %T\\n\", t1, t2, t2.Elem())\n\t\t\t\tbreak\n\t\t\tcase reflect.Uint8:\n\t\t\t\tp.enc = (*Buffer).enc_slice_slice_byte\n\t\t\t\tp.dec = (*Buffer).dec_slice_slice_byte\n\t\t\t\tp.size = size_slice_slice_byte\n\t\t\t}\n\t\t}\n\n\tcase reflect.Map:\n\t\tp.enc = (*Buffer).enc_new_map\n\t\tp.dec = (*Buffer).dec_new_map\n\t\tp.size = size_new_map\n\n\t\tp.mtype = t1\n\t\tp.mkeyprop = &Properties{}\n\t\tp.mkeyprop.init(reflect.PtrTo(p.mtype.Key()), \"Key\", f.Tag.Get(\"protobuf_key\"), nil, lockGetProp)\n\t\tp.mvalprop = &Properties{}\n\t\tvtype := p.mtype.Elem()\n\t\tif vtype.Kind() != reflect.Ptr && vtype.Kind() != reflect.Slice {\n\t\t\t// The value type is not a message (*T) or bytes ([]byte),\n\t\t\t// so we need encoders for the pointer to this type.\n\t\t\tvtype = reflect.PtrTo(vtype)\n\t\t}\n\t\tp.mvalprop.init(vtype, \"Value\", f.Tag.Get(\"protobuf_val\"), nil, lockGetProp)\n\t}\n\n\t// precalculate tag code\n\twire := p.WireType\n\tif p.Packed {\n\t\twire = WireBytes\n\t}\n\tx := uint32(p.Tag)<<3 | uint32(wire)\n\ti := 0\n\tfor i = 0; x > 127; i++ {\n\t\tp.tagbuf[i] = 0x80 | uint8(x&0x7F)\n\t\tx >>= 7\n\t}\n\tp.tagbuf[i] = uint8(x)\n\tp.tagcode = p.tagbuf[0 : i+1]\n\n\tif p.stype != nil {\n\t\tif lockGetProp {\n\t\t\tp.sprop = GetProperties(p.stype)\n\t\t} else {\n\t\t\tp.sprop = getPropertiesLocked(p.stype)\n\t\t}\n\t}\n}\n\nvar (\n\tmarshalerType   = reflect.TypeOf((*Marshaler)(nil)).Elem()\n\tunmarshalerType = reflect.TypeOf((*Unmarshaler)(nil)).Elem()\n)\n\n// isMarshaler reports whether type t implements Marshaler.\nfunc isMarshaler(t reflect.Type) bool {\n\t// We're checking for (likely) pointer-receiver methods\n\t// so if t is not a pointer, something is very wrong.\n\t// The calls above only invoke isMarshaler on pointer types.\n\tif t.Kind() != reflect.Ptr {\n\t\tpanic(\"proto: misuse of isMarshaler\")\n\t}\n\treturn t.Implements(marshalerType)\n}\n\n// isUnmarshaler reports whether type t implements Unmarshaler.\nfunc isUnmarshaler(t reflect.Type) bool {\n\t// We're checking for (likely) pointer-receiver methods\n\t// so if t is not a pointer, something is very wrong.\n\t// The calls above only invoke isUnmarshaler on pointer types.\n\tif t.Kind() != reflect.Ptr {\n\t\tpanic(\"proto: misuse of isUnmarshaler\")\n\t}\n\treturn t.Implements(unmarshalerType)\n}\n\n// Init populates the properties from a protocol buffer struct tag.\nfunc (p *Properties) Init(typ reflect.Type, name, tag string, f *reflect.StructField) {\n\tp.init(typ, name, tag, f, true)\n}\n\nfunc (p *Properties) init(typ reflect.Type, name, tag string, f *reflect.StructField, lockGetProp bool) {\n\t// \"bytes,49,opt,def=hello!\"\n\tp.Name = name\n\tp.OrigName = name\n\tif f != nil {\n\t\tp.field = toField(f)\n\t}\n\tif tag == \"\" {\n\t\treturn\n\t}\n\tp.Parse(tag)\n\tp.setEncAndDec(typ, f, lockGetProp)\n}\n\nvar (\n\tpropertiesMu  sync.RWMutex\n\tpropertiesMap = make(map[reflect.Type]*StructProperties)\n)\n\n// GetProperties returns the list of properties for the type represented by t.\n// t must represent a generated struct type of a protocol message.\nfunc GetProperties(t reflect.Type) *StructProperties {\n\tif t.Kind() != reflect.Struct {\n\t\tpanic(\"proto: type must have kind struct\")\n\t}\n\n\t// Most calls to GetProperties in a long-running program will be\n\t// retrieving details for types we have seen before.\n\tpropertiesMu.RLock()\n\tsprop, ok := propertiesMap[t]\n\tpropertiesMu.RUnlock()\n\tif ok {\n\t\tif collectStats {\n\t\t\tstats.Chit++\n\t\t}\n\t\treturn sprop\n\t}\n\n\tpropertiesMu.Lock()\n\tsprop = getPropertiesLocked(t)\n\tpropertiesMu.Unlock()\n\treturn sprop\n}\n\n// getPropertiesLocked requires that propertiesMu is held.\nfunc getPropertiesLocked(t reflect.Type) *StructProperties {\n\tif prop, ok := propertiesMap[t]; ok {\n\t\tif collectStats {\n\t\t\tstats.Chit++\n\t\t}\n\t\treturn prop\n\t}\n\tif collectStats {\n\t\tstats.Cmiss++\n\t}\n\n\tprop := new(StructProperties)\n\t// in case of recursive protos, fill this in now.\n\tpropertiesMap[t] = prop\n\n\t// build properties\n\tprop.extendable = reflect.PtrTo(t).Implements(extendableProtoType) ||\n\t\treflect.PtrTo(t).Implements(extendableProtoV1Type)\n\tprop.unrecField = invalidField\n\tprop.Prop = make([]*Properties, t.NumField())\n\tprop.order = make([]int, t.NumField())\n\n\tfor i := 0; i < t.NumField(); i++ {\n\t\tf := t.Field(i)\n\t\tp := new(Properties)\n\t\tname := f.Name\n\t\tp.init(f.Type, name, f.Tag.Get(\"protobuf\"), &f, false)\n\n\t\tif f.Name == \"XXX_InternalExtensions\" { // special case\n\t\t\tp.enc = (*Buffer).enc_exts\n\t\t\tp.dec = nil // not needed\n\t\t\tp.size = size_exts\n\t\t} else if f.Name == \"XXX_extensions\" { // special case\n\t\t\tp.enc = (*Buffer).enc_map\n\t\t\tp.dec = nil // not needed\n\t\t\tp.size = size_map\n\t\t} else if f.Name == \"XXX_unrecognized\" { // special case\n\t\t\tprop.unrecField = toField(&f)\n\t\t}\n\t\toneof := f.Tag.Get(\"protobuf_oneof\") // special case\n\t\tif oneof != \"\" {\n\t\t\t// Oneof fields don't use the traditional protobuf tag.\n\t\t\tp.OrigName = oneof\n\t\t}\n\t\tprop.Prop[i] = p\n\t\tprop.order[i] = i\n\t\tif debug {\n\t\t\tprint(i, \" \", f.Name, \" \", t.String(), \" \")\n\t\t\tif p.Tag > 0 {\n\t\t\t\tprint(p.String())\n\t\t\t}\n\t\t\tprint(\"\\n\")\n\t\t}\n\t\tif p.enc == nil && !strings.HasPrefix(f.Name, \"XXX_\") && oneof == \"\" {\n\t\t\tfmt.Fprintln(os.Stderr, \"proto: no encoder for\", f.Name, f.Type.String(), \"[GetProperties]\")\n\t\t}\n\t}\n\n\t// Re-order prop.order.\n\tsort.Sort(prop)\n\n\ttype oneofMessage interface {\n\t\tXXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{})\n\t}\n\tif om, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); ok {\n\t\tvar oots []interface{}\n\t\tprop.oneofMarshaler, prop.oneofUnmarshaler, prop.oneofSizer, oots = om.XXX_OneofFuncs()\n\t\tprop.stype = t\n\n\t\t// Interpret oneof metadata.\n\t\tprop.OneofTypes = make(map[string]*OneofProperties)\n\t\tfor _, oot := range oots {\n\t\t\toop := &OneofProperties{\n\t\t\t\tType: reflect.ValueOf(oot).Type(), // *T\n\t\t\t\tProp: new(Properties),\n\t\t\t}\n\t\t\tsft := oop.Type.Elem().Field(0)\n\t\t\toop.Prop.Name = sft.Name\n\t\t\toop.Prop.Parse(sft.Tag.Get(\"protobuf\"))\n\t\t\t// There will be exactly one interface field that\n\t\t\t// this new value is assignable to.\n\t\t\tfor i := 0; i < t.NumField(); i++ {\n\t\t\t\tf := t.Field(i)\n\t\t\t\tif f.Type.Kind() != reflect.Interface {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif !oop.Type.AssignableTo(f.Type) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\toop.Field = i\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tprop.OneofTypes[oop.Prop.OrigName] = oop\n\t\t}\n\t}\n\n\t// build required counts\n\t// build tags\n\treqCount := 0\n\tprop.decoderOrigNames = make(map[string]int)\n\tfor i, p := range prop.Prop {\n\t\tif strings.HasPrefix(p.Name, \"XXX_\") {\n\t\t\t// Internal fields should not appear in tags/origNames maps.\n\t\t\t// They are handled specially when encoding and decoding.\n\t\t\tcontinue\n\t\t}\n\t\tif p.Required {\n\t\t\treqCount++\n\t\t}\n\t\tprop.decoderTags.put(p.Tag, i)\n\t\tprop.decoderOrigNames[p.OrigName] = i\n\t}\n\tprop.reqCount = reqCount\n\n\treturn prop\n}\n\n// Return the Properties object for the x[0]'th field of the structure.\nfunc propByIndex(t reflect.Type, x []int) *Properties {\n\tif len(x) != 1 {\n\t\tfmt.Fprintf(os.Stderr, \"proto: field index dimension %d (not 1) for type %s\\n\", len(x), t)\n\t\treturn nil\n\t}\n\tprop := GetProperties(t)\n\treturn prop.Prop[x[0]]\n}\n\n// Get the address and type of a pointer to a struct from an interface.\nfunc getbase(pb Message) (t reflect.Type, b structPointer, err error) {\n\tif pb == nil {\n\t\terr = ErrNil\n\t\treturn\n\t}\n\t// get the reflect type of the pointer to the struct.\n\tt = reflect.TypeOf(pb)\n\t// get the address of the struct.\n\tvalue := reflect.ValueOf(pb)\n\tb = toStructPointer(value)\n\treturn\n}\n\n// A global registry of enum types.\n// The generated code will register the generated maps by calling RegisterEnum.\n\nvar enumValueMaps = make(map[string]map[string]int32)\n\n// RegisterEnum is called from the generated code to install the enum descriptor\n// maps into the global table to aid parsing text format protocol buffers.\nfunc RegisterEnum(typeName string, unusedNameMap map[int32]string, valueMap map[string]int32) {\n\tif _, ok := enumValueMaps[typeName]; ok {\n\t\tpanic(\"proto: duplicate enum registered: \" + typeName)\n\t}\n\tenumValueMaps[typeName] = valueMap\n}\n\n// EnumValueMap returns the mapping from names to integers of the\n// enum type enumType, or a nil if not found.\nfunc EnumValueMap(enumType string) map[string]int32 {\n\treturn enumValueMaps[enumType]\n}\n\n// A registry of all linked message types.\n// The string is a fully-qualified proto name (\"pkg.Message\").\nvar (\n\tprotoTypes    = make(map[string]reflect.Type)\n\trevProtoTypes = make(map[reflect.Type]string)\n)\n\n// RegisterType is called from generated code and maps from the fully qualified\n// proto name to the type (pointer to struct) of the protocol buffer.\nfunc RegisterType(x Message, name string) {\n\tif _, ok := protoTypes[name]; ok {\n\t\t// TODO: Some day, make this a panic.\n\t\tlog.Printf(\"proto: duplicate proto type registered: %s\", name)\n\t\treturn\n\t}\n\tt := reflect.TypeOf(x)\n\tprotoTypes[name] = t\n\trevProtoTypes[t] = name\n}\n\n// MessageName returns the fully-qualified proto name for the given message type.\nfunc MessageName(x Message) string {\n\ttype xname interface {\n\t\tXXX_MessageName() string\n\t}\n\tif m, ok := x.(xname); ok {\n\t\treturn m.XXX_MessageName()\n\t}\n\treturn revProtoTypes[reflect.TypeOf(x)]\n}\n\n// MessageType returns the message type (pointer to struct) for a named message.\nfunc MessageType(name string) reflect.Type { return protoTypes[name] }\n\n// A registry of all linked proto files.\nvar (\n\tprotoFiles = make(map[string][]byte) // file name => fileDescriptor\n)\n\n// RegisterFile is called from generated code and maps from the\n// full file name of a .proto file to its compressed FileDescriptorProto.\nfunc RegisterFile(filename string, fileDescriptor []byte) {\n\tprotoFiles[filename] = fileDescriptor\n}\n\n// FileDescriptor returns the compressed FileDescriptorProto for a .proto file.\nfunc FileDescriptor(filename string) []byte { return protoFiles[filename] }\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/text.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n// Functions for writing the text protocol buffer format.\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"encoding\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"math\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strings\"\n)\n\nvar (\n\tnewline         = []byte(\"\\n\")\n\tspaces          = []byte(\"                                        \")\n\tgtNewline       = []byte(\">\\n\")\n\tendBraceNewline = []byte(\"}\\n\")\n\tbackslashN      = []byte{'\\\\', 'n'}\n\tbackslashR      = []byte{'\\\\', 'r'}\n\tbackslashT      = []byte{'\\\\', 't'}\n\tbackslashDQ     = []byte{'\\\\', '\"'}\n\tbackslashBS     = []byte{'\\\\', '\\\\'}\n\tposInf          = []byte(\"inf\")\n\tnegInf          = []byte(\"-inf\")\n\tnan             = []byte(\"nan\")\n)\n\ntype writer interface {\n\tio.Writer\n\tWriteByte(byte) error\n}\n\n// textWriter is an io.Writer that tracks its indentation level.\ntype textWriter struct {\n\tind      int\n\tcomplete bool // if the current position is a complete line\n\tcompact  bool // whether to write out as a one-liner\n\tw        writer\n}\n\nfunc (w *textWriter) WriteString(s string) (n int, err error) {\n\tif !strings.Contains(s, \"\\n\") {\n\t\tif !w.compact && w.complete {\n\t\t\tw.writeIndent()\n\t\t}\n\t\tw.complete = false\n\t\treturn io.WriteString(w.w, s)\n\t}\n\t// WriteString is typically called without newlines, so this\n\t// codepath and its copy are rare.  We copy to avoid\n\t// duplicating all of Write's logic here.\n\treturn w.Write([]byte(s))\n}\n\nfunc (w *textWriter) Write(p []byte) (n int, err error) {\n\tnewlines := bytes.Count(p, newline)\n\tif newlines == 0 {\n\t\tif !w.compact && w.complete {\n\t\t\tw.writeIndent()\n\t\t}\n\t\tn, err = w.w.Write(p)\n\t\tw.complete = false\n\t\treturn n, err\n\t}\n\n\tfrags := bytes.SplitN(p, newline, newlines+1)\n\tif w.compact {\n\t\tfor i, frag := range frags {\n\t\t\tif i > 0 {\n\t\t\t\tif err := w.w.WriteByte(' '); err != nil {\n\t\t\t\t\treturn n, err\n\t\t\t\t}\n\t\t\t\tn++\n\t\t\t}\n\t\t\tnn, err := w.w.Write(frag)\n\t\t\tn += nn\n\t\t\tif err != nil {\n\t\t\t\treturn n, err\n\t\t\t}\n\t\t}\n\t\treturn n, nil\n\t}\n\n\tfor i, frag := range frags {\n\t\tif w.complete {\n\t\t\tw.writeIndent()\n\t\t}\n\t\tnn, err := w.w.Write(frag)\n\t\tn += nn\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tif i+1 < len(frags) {\n\t\t\tif err := w.w.WriteByte('\\n'); err != nil {\n\t\t\t\treturn n, err\n\t\t\t}\n\t\t\tn++\n\t\t}\n\t}\n\tw.complete = len(frags[len(frags)-1]) == 0\n\treturn n, nil\n}\n\nfunc (w *textWriter) WriteByte(c byte) error {\n\tif w.compact && c == '\\n' {\n\t\tc = ' '\n\t}\n\tif !w.compact && w.complete {\n\t\tw.writeIndent()\n\t}\n\terr := w.w.WriteByte(c)\n\tw.complete = c == '\\n'\n\treturn err\n}\n\nfunc (w *textWriter) indent() { w.ind++ }\n\nfunc (w *textWriter) unindent() {\n\tif w.ind == 0 {\n\t\tlog.Print(\"proto: textWriter unindented too far\")\n\t\treturn\n\t}\n\tw.ind--\n}\n\nfunc writeName(w *textWriter, props *Properties) error {\n\tif _, err := w.WriteString(props.OrigName); err != nil {\n\t\treturn err\n\t}\n\tif props.Wire != \"group\" {\n\t\treturn w.WriteByte(':')\n\t}\n\treturn nil\n}\n\n// raw is the interface satisfied by RawMessage.\ntype raw interface {\n\tBytes() []byte\n}\n\nfunc requiresQuotes(u string) bool {\n\t// When type URL contains any characters except [0-9A-Za-z./\\-]*, it must be quoted.\n\tfor _, ch := range u {\n\t\tswitch {\n\t\tcase ch == '.' || ch == '/' || ch == '_':\n\t\t\tcontinue\n\t\tcase '0' <= ch && ch <= '9':\n\t\t\tcontinue\n\t\tcase 'A' <= ch && ch <= 'Z':\n\t\t\tcontinue\n\t\tcase 'a' <= ch && ch <= 'z':\n\t\t\tcontinue\n\t\tdefault:\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// isAny reports whether sv is a google.protobuf.Any message\nfunc isAny(sv reflect.Value) bool {\n\ttype wkt interface {\n\t\tXXX_WellKnownType() string\n\t}\n\tt, ok := sv.Addr().Interface().(wkt)\n\treturn ok && t.XXX_WellKnownType() == \"Any\"\n}\n\n// writeProto3Any writes an expanded google.protobuf.Any message.\n//\n// It returns (false, nil) if sv value can't be unmarshaled (e.g. because\n// required messages are not linked in).\n//\n// It returns (true, error) when sv was written in expanded format or an error\n// was encountered.\nfunc (tm *TextMarshaler) writeProto3Any(w *textWriter, sv reflect.Value) (bool, error) {\n\tturl := sv.FieldByName(\"TypeUrl\")\n\tval := sv.FieldByName(\"Value\")\n\tif !turl.IsValid() || !val.IsValid() {\n\t\treturn true, errors.New(\"proto: invalid google.protobuf.Any message\")\n\t}\n\n\tb, ok := val.Interface().([]byte)\n\tif !ok {\n\t\treturn true, errors.New(\"proto: invalid google.protobuf.Any message\")\n\t}\n\n\tparts := strings.Split(turl.String(), \"/\")\n\tmt := MessageType(parts[len(parts)-1])\n\tif mt == nil {\n\t\treturn false, nil\n\t}\n\tm := reflect.New(mt.Elem())\n\tif err := Unmarshal(b, m.Interface().(Message)); err != nil {\n\t\treturn false, nil\n\t}\n\tw.Write([]byte(\"[\"))\n\tu := turl.String()\n\tif requiresQuotes(u) {\n\t\twriteString(w, u)\n\t} else {\n\t\tw.Write([]byte(u))\n\t}\n\tif w.compact {\n\t\tw.Write([]byte(\"]:<\"))\n\t} else {\n\t\tw.Write([]byte(\"]: <\\n\"))\n\t\tw.ind++\n\t}\n\tif err := tm.writeStruct(w, m.Elem()); err != nil {\n\t\treturn true, err\n\t}\n\tif w.compact {\n\t\tw.Write([]byte(\"> \"))\n\t} else {\n\t\tw.ind--\n\t\tw.Write([]byte(\">\\n\"))\n\t}\n\treturn true, nil\n}\n\nfunc (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error {\n\tif tm.ExpandAny && isAny(sv) {\n\t\tif canExpand, err := tm.writeProto3Any(w, sv); canExpand {\n\t\t\treturn err\n\t\t}\n\t}\n\tst := sv.Type()\n\tsprops := GetProperties(st)\n\tfor i := 0; i < sv.NumField(); i++ {\n\t\tfv := sv.Field(i)\n\t\tprops := sprops.Prop[i]\n\t\tname := st.Field(i).Name\n\n\t\tif strings.HasPrefix(name, \"XXX_\") {\n\t\t\t// There are two XXX_ fields:\n\t\t\t//   XXX_unrecognized []byte\n\t\t\t//   XXX_extensions   map[int32]proto.Extension\n\t\t\t// The first is handled here;\n\t\t\t// the second is handled at the bottom of this function.\n\t\t\tif name == \"XXX_unrecognized\" && !fv.IsNil() {\n\t\t\t\tif err := writeUnknownStruct(w, fv.Interface().([]byte)); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() == reflect.Ptr && fv.IsNil() {\n\t\t\t// Field not filled in. This could be an optional field or\n\t\t\t// a required field that wasn't filled in. Either way, there\n\t\t\t// isn't anything we can show for it.\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() == reflect.Slice && fv.IsNil() {\n\t\t\t// Repeated field that is empty, or a bytes field that is unused.\n\t\t\tcontinue\n\t\t}\n\n\t\tif props.Repeated && fv.Kind() == reflect.Slice {\n\t\t\t// Repeated field.\n\t\t\tfor j := 0; j < fv.Len(); j++ {\n\t\t\t\tif err := writeName(w, props); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tv := fv.Index(j)\n\t\t\t\tif v.Kind() == reflect.Ptr && v.IsNil() {\n\t\t\t\t\t// A nil message in a repeated field is not valid,\n\t\t\t\t\t// but we can handle that more gracefully than panicking.\n\t\t\t\t\tif _, err := w.Write([]byte(\"<nil>\\n\")); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif err := tm.writeAny(w, v, props); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() == reflect.Map {\n\t\t\t// Map fields are rendered as a repeated struct with key/value fields.\n\t\t\tkeys := fv.MapKeys()\n\t\t\tsort.Sort(mapKeys(keys))\n\t\t\tfor _, key := range keys {\n\t\t\t\tval := fv.MapIndex(key)\n\t\t\t\tif err := writeName(w, props); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// open struct\n\t\t\t\tif err := w.WriteByte('<'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tw.indent()\n\t\t\t\t// key\n\t\t\t\tif _, err := w.WriteString(\"key:\"); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif err := tm.writeAny(w, key, props.mkeyprop); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\t// nil values aren't legal, but we can avoid panicking because of them.\n\t\t\t\tif val.Kind() != reflect.Ptr || !val.IsNil() {\n\t\t\t\t\t// value\n\t\t\t\t\tif _, err := w.WriteString(\"value:\"); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif !w.compact {\n\t\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\t\treturn err\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif err := tm.writeAny(w, val, props.mvalprop); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// close struct\n\t\t\t\tw.unindent()\n\t\t\t\tif err := w.WriteByte('>'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif props.proto3 && fv.Kind() == reflect.Slice && fv.Len() == 0 {\n\t\t\t// empty bytes field\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() != reflect.Ptr && fv.Kind() != reflect.Slice {\n\t\t\t// proto3 non-repeated scalar field; skip if zero value\n\t\t\tif isProto3Zero(fv) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\tif fv.Kind() == reflect.Interface {\n\t\t\t// Check if it is a oneof.\n\t\t\tif st.Field(i).Tag.Get(\"protobuf_oneof\") != \"\" {\n\t\t\t\t// fv is nil, or holds a pointer to generated struct.\n\t\t\t\t// That generated struct has exactly one field,\n\t\t\t\t// which has a protobuf struct tag.\n\t\t\t\tif fv.IsNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tinner := fv.Elem().Elem() // interface -> *T -> T\n\t\t\t\ttag := inner.Type().Field(0).Tag.Get(\"protobuf\")\n\t\t\t\tprops = new(Properties) // Overwrite the outer props var, but not its pointee.\n\t\t\t\tprops.Parse(tag)\n\t\t\t\t// Write the value in the oneof, not the oneof itself.\n\t\t\t\tfv = inner.Field(0)\n\n\t\t\t\t// Special case to cope with malformed messages gracefully:\n\t\t\t\t// If the value in the oneof is a nil pointer, don't panic\n\t\t\t\t// in writeAny.\n\t\t\t\tif fv.Kind() == reflect.Ptr && fv.IsNil() {\n\t\t\t\t\t// Use errors.New so writeAny won't render quotes.\n\t\t\t\t\tmsg := errors.New(\"/* nil */\")\n\t\t\t\t\tfv = reflect.ValueOf(&msg).Elem()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif err := writeName(w, props); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !w.compact {\n\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tif b, ok := fv.Interface().(raw); ok {\n\t\t\tif err := writeRaw(w, b.Bytes()); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// Enums have a String method, so writeAny will work fine.\n\t\tif err := tm.writeAny(w, fv, props); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Extensions (the XXX_extensions field).\n\tpv := sv.Addr()\n\tif _, ok := extendable(pv.Interface()); ok {\n\t\tif err := tm.writeExtensions(w, pv); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// writeRaw writes an uninterpreted raw message.\nfunc writeRaw(w *textWriter, b []byte) error {\n\tif err := w.WriteByte('<'); err != nil {\n\t\treturn err\n\t}\n\tif !w.compact {\n\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tw.indent()\n\tif err := writeUnknownStruct(w, b); err != nil {\n\t\treturn err\n\t}\n\tw.unindent()\n\tif err := w.WriteByte('>'); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// writeAny writes an arbitrary field.\nfunc (tm *TextMarshaler) writeAny(w *textWriter, v reflect.Value, props *Properties) error {\n\tv = reflect.Indirect(v)\n\n\t// Floats have special cases.\n\tif v.Kind() == reflect.Float32 || v.Kind() == reflect.Float64 {\n\t\tx := v.Float()\n\t\tvar b []byte\n\t\tswitch {\n\t\tcase math.IsInf(x, 1):\n\t\t\tb = posInf\n\t\tcase math.IsInf(x, -1):\n\t\t\tb = negInf\n\t\tcase math.IsNaN(x):\n\t\t\tb = nan\n\t\t}\n\t\tif b != nil {\n\t\t\t_, err := w.Write(b)\n\t\t\treturn err\n\t\t}\n\t\t// Other values are handled below.\n\t}\n\n\t// We don't attempt to serialise every possible value type; only those\n\t// that can occur in protocol buffers.\n\tswitch v.Kind() {\n\tcase reflect.Slice:\n\t\t// Should only be a []byte; repeated fields are handled in writeStruct.\n\t\tif err := writeString(w, string(v.Bytes())); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase reflect.String:\n\t\tif err := writeString(w, v.String()); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase reflect.Struct:\n\t\t// Required/optional group/message.\n\t\tvar bra, ket byte = '<', '>'\n\t\tif props != nil && props.Wire == \"group\" {\n\t\t\tbra, ket = '{', '}'\n\t\t}\n\t\tif err := w.WriteByte(bra); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !w.compact {\n\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tw.indent()\n\t\tif etm, ok := v.Interface().(encoding.TextMarshaler); ok {\n\t\t\ttext, err := etm.MarshalText()\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif _, err = w.Write(text); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else if err := tm.writeStruct(w, v); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tw.unindent()\n\t\tif err := w.WriteByte(ket); err != nil {\n\t\t\treturn err\n\t\t}\n\tdefault:\n\t\t_, err := fmt.Fprint(w, v.Interface())\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// equivalent to C's isprint.\nfunc isprint(c byte) bool {\n\treturn c >= 0x20 && c < 0x7f\n}\n\n// writeString writes a string in the protocol buffer text format.\n// It is similar to strconv.Quote except we don't use Go escape sequences,\n// we treat the string as a byte sequence, and we use octal escapes.\n// These differences are to maintain interoperability with the other\n// languages' implementations of the text format.\nfunc writeString(w *textWriter, s string) error {\n\t// use WriteByte here to get any needed indent\n\tif err := w.WriteByte('\"'); err != nil {\n\t\treturn err\n\t}\n\t// Loop over the bytes, not the runes.\n\tfor i := 0; i < len(s); i++ {\n\t\tvar err error\n\t\t// Divergence from C++: we don't escape apostrophes.\n\t\t// There's no need to escape them, and the C++ parser\n\t\t// copes with a naked apostrophe.\n\t\tswitch c := s[i]; c {\n\t\tcase '\\n':\n\t\t\t_, err = w.w.Write(backslashN)\n\t\tcase '\\r':\n\t\t\t_, err = w.w.Write(backslashR)\n\t\tcase '\\t':\n\t\t\t_, err = w.w.Write(backslashT)\n\t\tcase '\"':\n\t\t\t_, err = w.w.Write(backslashDQ)\n\t\tcase '\\\\':\n\t\t\t_, err = w.w.Write(backslashBS)\n\t\tdefault:\n\t\t\tif isprint(c) {\n\t\t\t\terr = w.w.WriteByte(c)\n\t\t\t} else {\n\t\t\t\t_, err = fmt.Fprintf(w.w, \"\\\\%03o\", c)\n\t\t\t}\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn w.WriteByte('\"')\n}\n\nfunc writeUnknownStruct(w *textWriter, data []byte) (err error) {\n\tif !w.compact {\n\t\tif _, err := fmt.Fprintf(w, \"/* %d unknown bytes */\\n\", len(data)); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tb := NewBuffer(data)\n\tfor b.index < len(b.buf) {\n\t\tx, err := b.DecodeVarint()\n\t\tif err != nil {\n\t\t\t_, err := fmt.Fprintf(w, \"/* %v */\\n\", err)\n\t\t\treturn err\n\t\t}\n\t\twire, tag := x&7, x>>3\n\t\tif wire == WireEndGroup {\n\t\t\tw.unindent()\n\t\t\tif _, err := w.Write(endBraceNewline); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif _, err := fmt.Fprint(w, tag); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif wire != WireStartGroup {\n\t\t\tif err := w.WriteByte(':'); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tif !w.compact || wire == WireStartGroup {\n\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tswitch wire {\n\t\tcase WireBytes:\n\t\t\tbuf, e := b.DecodeRawBytes(false)\n\t\t\tif e == nil {\n\t\t\t\t_, err = fmt.Fprintf(w, \"%q\", buf)\n\t\t\t} else {\n\t\t\t\t_, err = fmt.Fprintf(w, \"/* %v */\", e)\n\t\t\t}\n\t\tcase WireFixed32:\n\t\t\tx, err = b.DecodeFixed32()\n\t\t\terr = writeUnknownInt(w, x, err)\n\t\tcase WireFixed64:\n\t\t\tx, err = b.DecodeFixed64()\n\t\t\terr = writeUnknownInt(w, x, err)\n\t\tcase WireStartGroup:\n\t\t\terr = w.WriteByte('{')\n\t\t\tw.indent()\n\t\tcase WireVarint:\n\t\t\tx, err = b.DecodeVarint()\n\t\t\terr = writeUnknownInt(w, x, err)\n\t\tdefault:\n\t\t\t_, err = fmt.Fprintf(w, \"/* unknown wire type %d */\", wire)\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = w.WriteByte('\\n'); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc writeUnknownInt(w *textWriter, x uint64, err error) error {\n\tif err == nil {\n\t\t_, err = fmt.Fprint(w, x)\n\t} else {\n\t\t_, err = fmt.Fprintf(w, \"/* %v */\", err)\n\t}\n\treturn err\n}\n\ntype int32Slice []int32\n\nfunc (s int32Slice) Len() int           { return len(s) }\nfunc (s int32Slice) Less(i, j int) bool { return s[i] < s[j] }\nfunc (s int32Slice) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }\n\n// writeExtensions writes all the extensions in pv.\n// pv is assumed to be a pointer to a protocol message struct that is extendable.\nfunc (tm *TextMarshaler) writeExtensions(w *textWriter, pv reflect.Value) error {\n\temap := extensionMaps[pv.Type().Elem()]\n\tep, _ := extendable(pv.Interface())\n\n\t// Order the extensions by ID.\n\t// This isn't strictly necessary, but it will give us\n\t// canonical output, which will also make testing easier.\n\tm, mu := ep.extensionsRead()\n\tif m == nil {\n\t\treturn nil\n\t}\n\tmu.Lock()\n\tids := make([]int32, 0, len(m))\n\tfor id := range m {\n\t\tids = append(ids, id)\n\t}\n\tsort.Sort(int32Slice(ids))\n\tmu.Unlock()\n\n\tfor _, extNum := range ids {\n\t\text := m[extNum]\n\t\tvar desc *ExtensionDesc\n\t\tif emap != nil {\n\t\t\tdesc = emap[extNum]\n\t\t}\n\t\tif desc == nil {\n\t\t\t// Unknown extension.\n\t\t\tif err := writeUnknownStruct(w, ext.enc); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tpb, err := GetExtension(ep, desc)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed getting extension: %v\", err)\n\t\t}\n\n\t\t// Repeated extensions will appear as a slice.\n\t\tif !desc.repeated() {\n\t\t\tif err := tm.writeExtension(w, desc.Name, pb); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else {\n\t\t\tv := reflect.ValueOf(pb)\n\t\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\t\tif err := tm.writeExtension(w, desc.Name, v.Index(i).Interface()); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (tm *TextMarshaler) writeExtension(w *textWriter, name string, pb interface{}) error {\n\tif _, err := fmt.Fprintf(w, \"[%s]:\", name); err != nil {\n\t\treturn err\n\t}\n\tif !w.compact {\n\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tif err := tm.writeAny(w, reflect.ValueOf(pb), nil); err != nil {\n\t\treturn err\n\t}\n\tif err := w.WriteByte('\\n'); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc (w *textWriter) writeIndent() {\n\tif !w.complete {\n\t\treturn\n\t}\n\tremain := w.ind * 2\n\tfor remain > 0 {\n\t\tn := remain\n\t\tif n > len(spaces) {\n\t\t\tn = len(spaces)\n\t\t}\n\t\tw.w.Write(spaces[:n])\n\t\tremain -= n\n\t}\n\tw.complete = false\n}\n\n// TextMarshaler is a configurable text format marshaler.\ntype TextMarshaler struct {\n\tCompact   bool // use compact text format (one line).\n\tExpandAny bool // expand google.protobuf.Any messages of known types\n}\n\n// Marshal writes a given protocol buffer in text format.\n// The only errors returned are from w.\nfunc (tm *TextMarshaler) Marshal(w io.Writer, pb Message) error {\n\tval := reflect.ValueOf(pb)\n\tif pb == nil || val.IsNil() {\n\t\tw.Write([]byte(\"<nil>\"))\n\t\treturn nil\n\t}\n\tvar bw *bufio.Writer\n\tww, ok := w.(writer)\n\tif !ok {\n\t\tbw = bufio.NewWriter(w)\n\t\tww = bw\n\t}\n\taw := &textWriter{\n\t\tw:        ww,\n\t\tcomplete: true,\n\t\tcompact:  tm.Compact,\n\t}\n\n\tif etm, ok := pb.(encoding.TextMarshaler); ok {\n\t\ttext, err := etm.MarshalText()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif _, err = aw.Write(text); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif bw != nil {\n\t\t\treturn bw.Flush()\n\t\t}\n\t\treturn nil\n\t}\n\t// Dereference the received pointer so we don't have outer < and >.\n\tv := reflect.Indirect(val)\n\tif err := tm.writeStruct(aw, v); err != nil {\n\t\treturn err\n\t}\n\tif bw != nil {\n\t\treturn bw.Flush()\n\t}\n\treturn nil\n}\n\n// Text is the same as Marshal, but returns the string directly.\nfunc (tm *TextMarshaler) Text(pb Message) string {\n\tvar buf bytes.Buffer\n\ttm.Marshal(&buf, pb)\n\treturn buf.String()\n}\n\nvar (\n\tdefaultTextMarshaler = TextMarshaler{}\n\tcompactTextMarshaler = TextMarshaler{Compact: true}\n)\n\n// TODO: consider removing some of the Marshal functions below.\n\n// MarshalText writes a given protocol buffer in text format.\n// The only errors returned are from w.\nfunc MarshalText(w io.Writer, pb Message) error { return defaultTextMarshaler.Marshal(w, pb) }\n\n// MarshalTextString is the same as MarshalText, but returns the string directly.\nfunc MarshalTextString(pb Message) string { return defaultTextMarshaler.Text(pb) }\n\n// CompactText writes a given protocol buffer in compact text format (one line).\nfunc CompactText(w io.Writer, pb Message) error { return compactTextMarshaler.Marshal(w, pb) }\n\n// CompactTextString is the same as CompactText, but returns the string directly.\nfunc CompactTextString(pb Message) string { return compactTextMarshaler.Text(pb) }\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/text_parser.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n// Functions for parsing the Text protocol buffer format.\n// TODO: message sets.\n\nimport (\n\t\"encoding\"\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"strings\"\n\t\"unicode/utf8\"\n)\n\n// Error string emitted when deserializing Any and fields are already set\nconst anyRepeatedlyUnpacked = \"Any message unpacked multiple times, or %q already set\"\n\ntype ParseError struct {\n\tMessage string\n\tLine    int // 1-based line number\n\tOffset  int // 0-based byte offset from start of input\n}\n\nfunc (p *ParseError) Error() string {\n\tif p.Line == 1 {\n\t\t// show offset only for first line\n\t\treturn fmt.Sprintf(\"line 1.%d: %v\", p.Offset, p.Message)\n\t}\n\treturn fmt.Sprintf(\"line %d: %v\", p.Line, p.Message)\n}\n\ntype token struct {\n\tvalue    string\n\terr      *ParseError\n\tline     int    // line number\n\toffset   int    // byte number from start of input, not start of line\n\tunquoted string // the unquoted version of value, if it was a quoted string\n}\n\nfunc (t *token) String() string {\n\tif t.err == nil {\n\t\treturn fmt.Sprintf(\"%q (line=%d, offset=%d)\", t.value, t.line, t.offset)\n\t}\n\treturn fmt.Sprintf(\"parse error: %v\", t.err)\n}\n\ntype textParser struct {\n\ts            string // remaining input\n\tdone         bool   // whether the parsing is finished (success or error)\n\tbacked       bool   // whether back() was called\n\toffset, line int\n\tcur          token\n}\n\nfunc newTextParser(s string) *textParser {\n\tp := new(textParser)\n\tp.s = s\n\tp.line = 1\n\tp.cur.line = 1\n\treturn p\n}\n\nfunc (p *textParser) errorf(format string, a ...interface{}) *ParseError {\n\tpe := &ParseError{fmt.Sprintf(format, a...), p.cur.line, p.cur.offset}\n\tp.cur.err = pe\n\tp.done = true\n\treturn pe\n}\n\n// Numbers and identifiers are matched by [-+._A-Za-z0-9]\nfunc isIdentOrNumberChar(c byte) bool {\n\tswitch {\n\tcase 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z':\n\t\treturn true\n\tcase '0' <= c && c <= '9':\n\t\treturn true\n\t}\n\tswitch c {\n\tcase '-', '+', '.', '_':\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc isWhitespace(c byte) bool {\n\tswitch c {\n\tcase ' ', '\\t', '\\n', '\\r':\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc isQuote(c byte) bool {\n\tswitch c {\n\tcase '\"', '\\'':\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc (p *textParser) skipWhitespace() {\n\ti := 0\n\tfor i < len(p.s) && (isWhitespace(p.s[i]) || p.s[i] == '#') {\n\t\tif p.s[i] == '#' {\n\t\t\t// comment; skip to end of line or input\n\t\t\tfor i < len(p.s) && p.s[i] != '\\n' {\n\t\t\t\ti++\n\t\t\t}\n\t\t\tif i == len(p.s) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif p.s[i] == '\\n' {\n\t\t\tp.line++\n\t\t}\n\t\ti++\n\t}\n\tp.offset += i\n\tp.s = p.s[i:len(p.s)]\n\tif len(p.s) == 0 {\n\t\tp.done = true\n\t}\n}\n\nfunc (p *textParser) advance() {\n\t// Skip whitespace\n\tp.skipWhitespace()\n\tif p.done {\n\t\treturn\n\t}\n\n\t// Start of non-whitespace\n\tp.cur.err = nil\n\tp.cur.offset, p.cur.line = p.offset, p.line\n\tp.cur.unquoted = \"\"\n\tswitch p.s[0] {\n\tcase '<', '>', '{', '}', ':', '[', ']', ';', ',', '/':\n\t\t// Single symbol\n\t\tp.cur.value, p.s = p.s[0:1], p.s[1:len(p.s)]\n\tcase '\"', '\\'':\n\t\t// Quoted string\n\t\ti := 1\n\t\tfor i < len(p.s) && p.s[i] != p.s[0] && p.s[i] != '\\n' {\n\t\t\tif p.s[i] == '\\\\' && i+1 < len(p.s) {\n\t\t\t\t// skip escaped char\n\t\t\t\ti++\n\t\t\t}\n\t\t\ti++\n\t\t}\n\t\tif i >= len(p.s) || p.s[i] != p.s[0] {\n\t\t\tp.errorf(\"unmatched quote\")\n\t\t\treturn\n\t\t}\n\t\tunq, err := unquoteC(p.s[1:i], rune(p.s[0]))\n\t\tif err != nil {\n\t\t\tp.errorf(\"invalid quoted string %s: %v\", p.s[0:i+1], err)\n\t\t\treturn\n\t\t}\n\t\tp.cur.value, p.s = p.s[0:i+1], p.s[i+1:len(p.s)]\n\t\tp.cur.unquoted = unq\n\tdefault:\n\t\ti := 0\n\t\tfor i < len(p.s) && isIdentOrNumberChar(p.s[i]) {\n\t\t\ti++\n\t\t}\n\t\tif i == 0 {\n\t\t\tp.errorf(\"unexpected byte %#x\", p.s[0])\n\t\t\treturn\n\t\t}\n\t\tp.cur.value, p.s = p.s[0:i], p.s[i:len(p.s)]\n\t}\n\tp.offset += len(p.cur.value)\n}\n\nvar (\n\terrBadUTF8 = errors.New(\"proto: bad UTF-8\")\n\terrBadHex  = errors.New(\"proto: bad hexadecimal\")\n)\n\nfunc unquoteC(s string, quote rune) (string, error) {\n\t// This is based on C++'s tokenizer.cc.\n\t// Despite its name, this is *not* parsing C syntax.\n\t// For instance, \"\\0\" is an invalid quoted string.\n\n\t// Avoid allocation in trivial cases.\n\tsimple := true\n\tfor _, r := range s {\n\t\tif r == '\\\\' || r == quote {\n\t\t\tsimple = false\n\t\t\tbreak\n\t\t}\n\t}\n\tif simple {\n\t\treturn s, nil\n\t}\n\n\tbuf := make([]byte, 0, 3*len(s)/2)\n\tfor len(s) > 0 {\n\t\tr, n := utf8.DecodeRuneInString(s)\n\t\tif r == utf8.RuneError && n == 1 {\n\t\t\treturn \"\", errBadUTF8\n\t\t}\n\t\ts = s[n:]\n\t\tif r != '\\\\' {\n\t\t\tif r < utf8.RuneSelf {\n\t\t\t\tbuf = append(buf, byte(r))\n\t\t\t} else {\n\t\t\t\tbuf = append(buf, string(r)...)\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tch, tail, err := unescape(s)\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t\tbuf = append(buf, ch...)\n\t\ts = tail\n\t}\n\treturn string(buf), nil\n}\n\nfunc unescape(s string) (ch string, tail string, err error) {\n\tr, n := utf8.DecodeRuneInString(s)\n\tif r == utf8.RuneError && n == 1 {\n\t\treturn \"\", \"\", errBadUTF8\n\t}\n\ts = s[n:]\n\tswitch r {\n\tcase 'a':\n\t\treturn \"\\a\", s, nil\n\tcase 'b':\n\t\treturn \"\\b\", s, nil\n\tcase 'f':\n\t\treturn \"\\f\", s, nil\n\tcase 'n':\n\t\treturn \"\\n\", s, nil\n\tcase 'r':\n\t\treturn \"\\r\", s, nil\n\tcase 't':\n\t\treturn \"\\t\", s, nil\n\tcase 'v':\n\t\treturn \"\\v\", s, nil\n\tcase '?':\n\t\treturn \"?\", s, nil // trigraph workaround\n\tcase '\\'', '\"', '\\\\':\n\t\treturn string(r), s, nil\n\tcase '0', '1', '2', '3', '4', '5', '6', '7', 'x', 'X':\n\t\tif len(s) < 2 {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%c requires 2 following digits`, r)\n\t\t}\n\t\tbase := 8\n\t\tss := s[:2]\n\t\ts = s[2:]\n\t\tif r == 'x' || r == 'X' {\n\t\t\tbase = 16\n\t\t} else {\n\t\t\tss = string(r) + ss\n\t\t}\n\t\ti, err := strconv.ParseUint(ss, base, 8)\n\t\tif err != nil {\n\t\t\treturn \"\", \"\", err\n\t\t}\n\t\treturn string([]byte{byte(i)}), s, nil\n\tcase 'u', 'U':\n\t\tn := 4\n\t\tif r == 'U' {\n\t\t\tn = 8\n\t\t}\n\t\tif len(s) < n {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%c requires %d digits`, r, n)\n\t\t}\n\n\t\tbs := make([]byte, n/2)\n\t\tfor i := 0; i < n; i += 2 {\n\t\t\ta, ok1 := unhex(s[i])\n\t\t\tb, ok2 := unhex(s[i+1])\n\t\t\tif !ok1 || !ok2 {\n\t\t\t\treturn \"\", \"\", errBadHex\n\t\t\t}\n\t\t\tbs[i/2] = a<<4 | b\n\t\t}\n\t\ts = s[n:]\n\t\treturn string(bs), s, nil\n\t}\n\treturn \"\", \"\", fmt.Errorf(`unknown escape \\%c`, r)\n}\n\n// Adapted from src/pkg/strconv/quote.go.\nfunc unhex(b byte) (v byte, ok bool) {\n\tswitch {\n\tcase '0' <= b && b <= '9':\n\t\treturn b - '0', true\n\tcase 'a' <= b && b <= 'f':\n\t\treturn b - 'a' + 10, true\n\tcase 'A' <= b && b <= 'F':\n\t\treturn b - 'A' + 10, true\n\t}\n\treturn 0, false\n}\n\n// Back off the parser by one token. Can only be done between calls to next().\n// It makes the next advance() a no-op.\nfunc (p *textParser) back() { p.backed = true }\n\n// Advances the parser and returns the new current token.\nfunc (p *textParser) next() *token {\n\tif p.backed || p.done {\n\t\tp.backed = false\n\t\treturn &p.cur\n\t}\n\tp.advance()\n\tif p.done {\n\t\tp.cur.value = \"\"\n\t} else if len(p.cur.value) > 0 && isQuote(p.cur.value[0]) {\n\t\t// Look for multiple quoted strings separated by whitespace,\n\t\t// and concatenate them.\n\t\tcat := p.cur\n\t\tfor {\n\t\t\tp.skipWhitespace()\n\t\t\tif p.done || !isQuote(p.s[0]) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tp.advance()\n\t\t\tif p.cur.err != nil {\n\t\t\t\treturn &p.cur\n\t\t\t}\n\t\t\tcat.value += \" \" + p.cur.value\n\t\t\tcat.unquoted += p.cur.unquoted\n\t\t}\n\t\tp.done = false // parser may have seen EOF, but we want to return cat\n\t\tp.cur = cat\n\t}\n\treturn &p.cur\n}\n\nfunc (p *textParser) consumeToken(s string) error {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value != s {\n\t\tp.back()\n\t\treturn p.errorf(\"expected %q, found %q\", s, tok.value)\n\t}\n\treturn nil\n}\n\n// Return a RequiredNotSetError indicating which required field was not set.\nfunc (p *textParser) missingRequiredFieldError(sv reflect.Value) *RequiredNotSetError {\n\tst := sv.Type()\n\tsprops := GetProperties(st)\n\tfor i := 0; i < st.NumField(); i++ {\n\t\tif !isNil(sv.Field(i)) {\n\t\t\tcontinue\n\t\t}\n\n\t\tprops := sprops.Prop[i]\n\t\tif props.Required {\n\t\t\treturn &RequiredNotSetError{fmt.Sprintf(\"%v.%v\", st, props.OrigName)}\n\t\t}\n\t}\n\treturn &RequiredNotSetError{fmt.Sprintf(\"%v.<unknown field name>\", st)} // should not happen\n}\n\n// Returns the index in the struct for the named field, as well as the parsed tag properties.\nfunc structFieldByName(sprops *StructProperties, name string) (int, *Properties, bool) {\n\ti, ok := sprops.decoderOrigNames[name]\n\tif ok {\n\t\treturn i, sprops.Prop[i], true\n\t}\n\treturn -1, nil, false\n}\n\n// Consume a ':' from the input stream (if the next token is a colon),\n// returning an error if a colon is needed but not present.\nfunc (p *textParser) checkForColon(props *Properties, typ reflect.Type) *ParseError {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value != \":\" {\n\t\t// Colon is optional when the field is a group or message.\n\t\tneedColon := true\n\t\tswitch props.Wire {\n\t\tcase \"group\":\n\t\t\tneedColon = false\n\t\tcase \"bytes\":\n\t\t\t// A \"bytes\" field is either a message, a string, or a repeated field;\n\t\t\t// those three become *T, *string and []T respectively, so we can check for\n\t\t\t// this field being a pointer to a non-string.\n\t\t\tif typ.Kind() == reflect.Ptr {\n\t\t\t\t// *T or *string\n\t\t\t\tif typ.Elem().Kind() == reflect.String {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t} else if typ.Kind() == reflect.Slice {\n\t\t\t\t// []T or []*T\n\t\t\t\tif typ.Elem().Kind() != reflect.Ptr {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t} else if typ.Kind() == reflect.String {\n\t\t\t\t// The proto3 exception is for a string field,\n\t\t\t\t// which requires a colon.\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tneedColon = false\n\t\t}\n\t\tif needColon {\n\t\t\treturn p.errorf(\"expected ':', found %q\", tok.value)\n\t\t}\n\t\tp.back()\n\t}\n\treturn nil\n}\n\nfunc (p *textParser) readStruct(sv reflect.Value, terminator string) error {\n\tst := sv.Type()\n\tsprops := GetProperties(st)\n\treqCount := sprops.reqCount\n\tvar reqFieldErr error\n\tfieldSet := make(map[string]bool)\n\t// A struct is a sequence of \"name: value\", terminated by one of\n\t// '>' or '}', or the end of the input.  A name may also be\n\t// \"[extension]\" or \"[type/url]\".\n\t//\n\t// The whole struct can also be an expanded Any message, like:\n\t// [type/url] < ... struct contents ... >\n\tfor {\n\t\ttok := p.next()\n\t\tif tok.err != nil {\n\t\t\treturn tok.err\n\t\t}\n\t\tif tok.value == terminator {\n\t\t\tbreak\n\t\t}\n\t\tif tok.value == \"[\" {\n\t\t\t// Looks like an extension or an Any.\n\t\t\t//\n\t\t\t// TODO: Check whether we need to handle\n\t\t\t// namespace rooted names (e.g. \".something.Foo\").\n\t\t\textName, err := p.consumeExtName()\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\tif s := strings.LastIndex(extName, \"/\"); s >= 0 {\n\t\t\t\t// If it contains a slash, it's an Any type URL.\n\t\t\t\tmessageName := extName[s+1:]\n\t\t\t\tmt := MessageType(messageName)\n\t\t\t\tif mt == nil {\n\t\t\t\t\treturn p.errorf(\"unrecognized message %q in google.protobuf.Any\", messageName)\n\t\t\t\t}\n\t\t\t\ttok = p.next()\n\t\t\t\tif tok.err != nil {\n\t\t\t\t\treturn tok.err\n\t\t\t\t}\n\t\t\t\t// consume an optional colon\n\t\t\t\tif tok.value == \":\" {\n\t\t\t\t\ttok = p.next()\n\t\t\t\t\tif tok.err != nil {\n\t\t\t\t\t\treturn tok.err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar terminator string\n\t\t\t\tswitch tok.value {\n\t\t\t\tcase \"<\":\n\t\t\t\t\tterminator = \">\"\n\t\t\t\tcase \"{\":\n\t\t\t\t\tterminator = \"}\"\n\t\t\t\tdefault:\n\t\t\t\t\treturn p.errorf(\"expected '{' or '<', found %q\", tok.value)\n\t\t\t\t}\n\t\t\t\tv := reflect.New(mt.Elem())\n\t\t\t\tif pe := p.readStruct(v.Elem(), terminator); pe != nil {\n\t\t\t\t\treturn pe\n\t\t\t\t}\n\t\t\t\tb, err := Marshal(v.Interface().(Message))\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn p.errorf(\"failed to marshal message of type %q: %v\", messageName, err)\n\t\t\t\t}\n\t\t\t\tif fieldSet[\"type_url\"] {\n\t\t\t\t\treturn p.errorf(anyRepeatedlyUnpacked, \"type_url\")\n\t\t\t\t}\n\t\t\t\tif fieldSet[\"value\"] {\n\t\t\t\t\treturn p.errorf(anyRepeatedlyUnpacked, \"value\")\n\t\t\t\t}\n\t\t\t\tsv.FieldByName(\"TypeUrl\").SetString(extName)\n\t\t\t\tsv.FieldByName(\"Value\").SetBytes(b)\n\t\t\t\tfieldSet[\"type_url\"] = true\n\t\t\t\tfieldSet[\"value\"] = true\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tvar desc *ExtensionDesc\n\t\t\t// This could be faster, but it's functional.\n\t\t\t// TODO: Do something smarter than a linear scan.\n\t\t\tfor _, d := range RegisteredExtensions(reflect.New(st).Interface().(Message)) {\n\t\t\t\tif d.Name == extName {\n\t\t\t\t\tdesc = d\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif desc == nil {\n\t\t\t\treturn p.errorf(\"unrecognized extension %q\", extName)\n\t\t\t}\n\n\t\t\tprops := &Properties{}\n\t\t\tprops.Parse(desc.Tag)\n\n\t\t\ttyp := reflect.TypeOf(desc.ExtensionType)\n\t\t\tif err := p.checkForColon(props, typ); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\trep := desc.repeated()\n\n\t\t\t// Read the extension structure, and set it in\n\t\t\t// the value we're constructing.\n\t\t\tvar ext reflect.Value\n\t\t\tif !rep {\n\t\t\t\text = reflect.New(typ).Elem()\n\t\t\t} else {\n\t\t\t\text = reflect.New(typ.Elem()).Elem()\n\t\t\t}\n\t\t\tif err := p.readAny(ext, props); err != nil {\n\t\t\t\tif _, ok := err.(*RequiredNotSetError); !ok {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\treqFieldErr = err\n\t\t\t}\n\t\t\tep := sv.Addr().Interface().(Message)\n\t\t\tif !rep {\n\t\t\t\tSetExtension(ep, desc, ext.Interface())\n\t\t\t} else {\n\t\t\t\told, err := GetExtension(ep, desc)\n\t\t\t\tvar sl reflect.Value\n\t\t\t\tif err == nil {\n\t\t\t\t\tsl = reflect.ValueOf(old) // existing slice\n\t\t\t\t} else {\n\t\t\t\t\tsl = reflect.MakeSlice(typ, 0, 1)\n\t\t\t\t}\n\t\t\t\tsl = reflect.Append(sl, ext)\n\t\t\t\tSetExtension(ep, desc, sl.Interface())\n\t\t\t}\n\t\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// This is a normal, non-extension field.\n\t\tname := tok.value\n\t\tvar dst reflect.Value\n\t\tfi, props, ok := structFieldByName(sprops, name)\n\t\tif ok {\n\t\t\tdst = sv.Field(fi)\n\t\t} else if oop, ok := sprops.OneofTypes[name]; ok {\n\t\t\t// It is a oneof.\n\t\t\tprops = oop.Prop\n\t\t\tnv := reflect.New(oop.Type.Elem())\n\t\t\tdst = nv.Elem().Field(0)\n\t\t\tfield := sv.Field(oop.Field)\n\t\t\tif !field.IsNil() {\n\t\t\t\treturn p.errorf(\"field '%s' would overwrite already parsed oneof '%s'\", name, sv.Type().Field(oop.Field).Name)\n\t\t\t}\n\t\t\tfield.Set(nv)\n\t\t}\n\t\tif !dst.IsValid() {\n\t\t\treturn p.errorf(\"unknown field name %q in %v\", name, st)\n\t\t}\n\n\t\tif dst.Kind() == reflect.Map {\n\t\t\t// Consume any colon.\n\t\t\tif err := p.checkForColon(props, dst.Type()); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\t// Construct the map if it doesn't already exist.\n\t\t\tif dst.IsNil() {\n\t\t\t\tdst.Set(reflect.MakeMap(dst.Type()))\n\t\t\t}\n\t\t\tkey := reflect.New(dst.Type().Key()).Elem()\n\t\t\tval := reflect.New(dst.Type().Elem()).Elem()\n\n\t\t\t// The map entry should be this sequence of tokens:\n\t\t\t//\t< key : KEY value : VALUE >\n\t\t\t// However, implementations may omit key or value, and technically\n\t\t\t// we should support them in any order.  See b/28924776 for a time\n\t\t\t// this went wrong.\n\n\t\t\ttok := p.next()\n\t\t\tvar terminator string\n\t\t\tswitch tok.value {\n\t\t\tcase \"<\":\n\t\t\t\tterminator = \">\"\n\t\t\tcase \"{\":\n\t\t\t\tterminator = \"}\"\n\t\t\tdefault:\n\t\t\t\treturn p.errorf(\"expected '{' or '<', found %q\", tok.value)\n\t\t\t}\n\t\t\tfor {\n\t\t\t\ttok := p.next()\n\t\t\t\tif tok.err != nil {\n\t\t\t\t\treturn tok.err\n\t\t\t\t}\n\t\t\t\tif tok.value == terminator {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tswitch tok.value {\n\t\t\t\tcase \"key\":\n\t\t\t\t\tif err := p.consumeToken(\":\"); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.readAny(key, props.mkeyprop); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\tcase \"value\":\n\t\t\t\t\tif err := p.checkForColon(props.mvalprop, dst.Type().Elem()); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.readAny(val, props.mvalprop); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tp.back()\n\t\t\t\t\treturn p.errorf(`expected \"key\", \"value\", or %q, found %q`, terminator, tok.value)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdst.SetMapIndex(key, val)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Check that it's not already set if it's not a repeated field.\n\t\tif !props.Repeated && fieldSet[name] {\n\t\t\treturn p.errorf(\"non-repeated field %q was repeated\", name)\n\t\t}\n\n\t\tif err := p.checkForColon(props, dst.Type()); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t// Parse into the field.\n\t\tfieldSet[name] = true\n\t\tif err := p.readAny(dst, props); err != nil {\n\t\t\tif _, ok := err.(*RequiredNotSetError); !ok {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\treqFieldErr = err\n\t\t}\n\t\tif props.Required {\n\t\t\treqCount--\n\t\t}\n\n\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\n\tif reqCount > 0 {\n\t\treturn p.missingRequiredFieldError(sv)\n\t}\n\treturn reqFieldErr\n}\n\n// consumeExtName consumes extension name or expanded Any type URL and the\n// following ']'. It returns the name or URL consumed.\nfunc (p *textParser) consumeExtName() (string, error) {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn \"\", tok.err\n\t}\n\n\t// If extension name or type url is quoted, it's a single token.\n\tif len(tok.value) > 2 && isQuote(tok.value[0]) && tok.value[len(tok.value)-1] == tok.value[0] {\n\t\tname, err := unquoteC(tok.value[1:len(tok.value)-1], rune(tok.value[0]))\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t\treturn name, p.consumeToken(\"]\")\n\t}\n\n\t// Consume everything up to \"]\"\n\tvar parts []string\n\tfor tok.value != \"]\" {\n\t\tparts = append(parts, tok.value)\n\t\ttok = p.next()\n\t\tif tok.err != nil {\n\t\t\treturn \"\", p.errorf(\"unrecognized type_url or extension name: %s\", tok.err)\n\t\t}\n\t}\n\treturn strings.Join(parts, \"\"), nil\n}\n\n// consumeOptionalSeparator consumes an optional semicolon or comma.\n// It is used in readStruct to provide backward compatibility.\nfunc (p *textParser) consumeOptionalSeparator() error {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value != \";\" && tok.value != \",\" {\n\t\tp.back()\n\t}\n\treturn nil\n}\n\nfunc (p *textParser) readAny(v reflect.Value, props *Properties) error {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value == \"\" {\n\t\treturn p.errorf(\"unexpected EOF\")\n\t}\n\n\tswitch fv := v; fv.Kind() {\n\tcase reflect.Slice:\n\t\tat := v.Type()\n\t\tif at.Elem().Kind() == reflect.Uint8 {\n\t\t\t// Special case for []byte\n\t\t\tif tok.value[0] != '\"' && tok.value[0] != '\\'' {\n\t\t\t\t// Deliberately written out here, as the error after\n\t\t\t\t// this switch statement would write \"invalid []byte: ...\",\n\t\t\t\t// which is not as user-friendly.\n\t\t\t\treturn p.errorf(\"invalid string: %v\", tok.value)\n\t\t\t}\n\t\t\tbytes := []byte(tok.unquoted)\n\t\t\tfv.Set(reflect.ValueOf(bytes))\n\t\t\treturn nil\n\t\t}\n\t\t// Repeated field.\n\t\tif tok.value == \"[\" {\n\t\t\t// Repeated field with list notation, like [1,2,3].\n\t\t\tfor {\n\t\t\t\tfv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem()))\n\t\t\t\terr := p.readAny(fv.Index(fv.Len()-1), props)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\ttok := p.next()\n\t\t\t\tif tok.err != nil {\n\t\t\t\t\treturn tok.err\n\t\t\t\t}\n\t\t\t\tif tok.value == \"]\" {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif tok.value != \",\" {\n\t\t\t\t\treturn p.errorf(\"Expected ']' or ',' found %q\", tok.value)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn nil\n\t\t}\n\t\t// One value of the repeated field.\n\t\tp.back()\n\t\tfv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem()))\n\t\treturn p.readAny(fv.Index(fv.Len()-1), props)\n\tcase reflect.Bool:\n\t\t// true/1/t/True or false/f/0/False.\n\t\tswitch tok.value {\n\t\tcase \"true\", \"1\", \"t\", \"True\":\n\t\t\tfv.SetBool(true)\n\t\t\treturn nil\n\t\tcase \"false\", \"0\", \"f\", \"False\":\n\t\t\tfv.SetBool(false)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Float32, reflect.Float64:\n\t\tv := tok.value\n\t\t// Ignore 'f' for compatibility with output generated by C++, but don't\n\t\t// remove 'f' when the value is \"-inf\" or \"inf\".\n\t\tif strings.HasSuffix(v, \"f\") && tok.value != \"-inf\" && tok.value != \"inf\" {\n\t\t\tv = v[:len(v)-1]\n\t\t}\n\t\tif f, err := strconv.ParseFloat(v, fv.Type().Bits()); err == nil {\n\t\t\tfv.SetFloat(f)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Int32:\n\t\tif x, err := strconv.ParseInt(tok.value, 0, 32); err == nil {\n\t\t\tfv.SetInt(x)\n\t\t\treturn nil\n\t\t}\n\n\t\tif len(props.Enum) == 0 {\n\t\t\tbreak\n\t\t}\n\t\tm, ok := enumValueMaps[props.Enum]\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\tx, ok := m[tok.value]\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\tfv.SetInt(int64(x))\n\t\treturn nil\n\tcase reflect.Int64:\n\t\tif x, err := strconv.ParseInt(tok.value, 0, 64); err == nil {\n\t\t\tfv.SetInt(x)\n\t\t\treturn nil\n\t\t}\n\n\tcase reflect.Ptr:\n\t\t// A basic field (indirected through pointer), or a repeated message/group\n\t\tp.back()\n\t\tfv.Set(reflect.New(fv.Type().Elem()))\n\t\treturn p.readAny(fv.Elem(), props)\n\tcase reflect.String:\n\t\tif tok.value[0] == '\"' || tok.value[0] == '\\'' {\n\t\t\tfv.SetString(tok.unquoted)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Struct:\n\t\tvar terminator string\n\t\tswitch tok.value {\n\t\tcase \"{\":\n\t\t\tterminator = \"}\"\n\t\tcase \"<\":\n\t\t\tterminator = \">\"\n\t\tdefault:\n\t\t\treturn p.errorf(\"expected '{' or '<', found %q\", tok.value)\n\t\t}\n\t\t// TODO: Handle nested messages which implement encoding.TextUnmarshaler.\n\t\treturn p.readStruct(fv, terminator)\n\tcase reflect.Uint32:\n\t\tif x, err := strconv.ParseUint(tok.value, 0, 32); err == nil {\n\t\t\tfv.SetUint(x)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Uint64:\n\t\tif x, err := strconv.ParseUint(tok.value, 0, 64); err == nil {\n\t\t\tfv.SetUint(x)\n\t\t\treturn nil\n\t\t}\n\t}\n\treturn p.errorf(\"invalid %v: %v\", v.Type(), tok.value)\n}\n\n// UnmarshalText reads a protocol buffer in Text format. UnmarshalText resets pb\n// before starting to unmarshal, so any existing data in pb is always removed.\n// If a required field is not set and no other error occurs,\n// UnmarshalText returns *RequiredNotSetError.\nfunc UnmarshalText(s string, pb Message) error {\n\tif um, ok := pb.(encoding.TextUnmarshaler); ok {\n\t\terr := um.UnmarshalText([]byte(s))\n\t\treturn err\n\t}\n\tpb.Reset()\n\tv := reflect.ValueOf(pb)\n\tif pe := newTextParser(s).readStruct(v.Elem(), \"\"); pe != nil {\n\t\treturn pe\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/protobuf/descriptor.proto\n\n/*\nPackage descriptor is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle/protobuf/descriptor.proto\n\nIt has these top-level messages:\n\tFileDescriptorSet\n\tFileDescriptorProto\n\tDescriptorProto\n\tExtensionRangeOptions\n\tFieldDescriptorProto\n\tOneofDescriptorProto\n\tEnumDescriptorProto\n\tEnumValueDescriptorProto\n\tServiceDescriptorProto\n\tMethodDescriptorProto\n\tFileOptions\n\tMessageOptions\n\tFieldOptions\n\tOneofOptions\n\tEnumOptions\n\tEnumValueOptions\n\tServiceOptions\n\tMethodOptions\n\tUninterpretedOption\n\tSourceCodeInfo\n\tGeneratedCodeInfo\n*/\npackage descriptor\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\ntype FieldDescriptorProto_Type int32\n\nconst (\n\t// 0 is reserved for errors.\n\t// Order is weird for historical reasons.\n\tFieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1\n\tFieldDescriptorProto_TYPE_FLOAT  FieldDescriptorProto_Type = 2\n\t// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if\n\t// negative values are likely.\n\tFieldDescriptorProto_TYPE_INT64  FieldDescriptorProto_Type = 3\n\tFieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4\n\t// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if\n\t// negative values are likely.\n\tFieldDescriptorProto_TYPE_INT32   FieldDescriptorProto_Type = 5\n\tFieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6\n\tFieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7\n\tFieldDescriptorProto_TYPE_BOOL    FieldDescriptorProto_Type = 8\n\tFieldDescriptorProto_TYPE_STRING  FieldDescriptorProto_Type = 9\n\t// Tag-delimited aggregate.\n\t// Group type is deprecated and not supported in proto3. However, Proto3\n\t// implementations should still be able to parse the group wire format and\n\t// treat group fields as unknown fields.\n\tFieldDescriptorProto_TYPE_GROUP   FieldDescriptorProto_Type = 10\n\tFieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11\n\t// New in version 2.\n\tFieldDescriptorProto_TYPE_BYTES    FieldDescriptorProto_Type = 12\n\tFieldDescriptorProto_TYPE_UINT32   FieldDescriptorProto_Type = 13\n\tFieldDescriptorProto_TYPE_ENUM     FieldDescriptorProto_Type = 14\n\tFieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15\n\tFieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16\n\tFieldDescriptorProto_TYPE_SINT32   FieldDescriptorProto_Type = 17\n\tFieldDescriptorProto_TYPE_SINT64   FieldDescriptorProto_Type = 18\n)\n\nvar FieldDescriptorProto_Type_name = map[int32]string{\n\t1:  \"TYPE_DOUBLE\",\n\t2:  \"TYPE_FLOAT\",\n\t3:  \"TYPE_INT64\",\n\t4:  \"TYPE_UINT64\",\n\t5:  \"TYPE_INT32\",\n\t6:  \"TYPE_FIXED64\",\n\t7:  \"TYPE_FIXED32\",\n\t8:  \"TYPE_BOOL\",\n\t9:  \"TYPE_STRING\",\n\t10: \"TYPE_GROUP\",\n\t11: \"TYPE_MESSAGE\",\n\t12: \"TYPE_BYTES\",\n\t13: \"TYPE_UINT32\",\n\t14: \"TYPE_ENUM\",\n\t15: \"TYPE_SFIXED32\",\n\t16: \"TYPE_SFIXED64\",\n\t17: \"TYPE_SINT32\",\n\t18: \"TYPE_SINT64\",\n}\nvar FieldDescriptorProto_Type_value = map[string]int32{\n\t\"TYPE_DOUBLE\":   1,\n\t\"TYPE_FLOAT\":    2,\n\t\"TYPE_INT64\":    3,\n\t\"TYPE_UINT64\":   4,\n\t\"TYPE_INT32\":    5,\n\t\"TYPE_FIXED64\":  6,\n\t\"TYPE_FIXED32\":  7,\n\t\"TYPE_BOOL\":     8,\n\t\"TYPE_STRING\":   9,\n\t\"TYPE_GROUP\":    10,\n\t\"TYPE_MESSAGE\":  11,\n\t\"TYPE_BYTES\":    12,\n\t\"TYPE_UINT32\":   13,\n\t\"TYPE_ENUM\":     14,\n\t\"TYPE_SFIXED32\": 15,\n\t\"TYPE_SFIXED64\": 16,\n\t\"TYPE_SINT32\":   17,\n\t\"TYPE_SINT64\":   18,\n}\n\nfunc (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {\n\tp := new(FieldDescriptorProto_Type)\n\t*p = x\n\treturn p\n}\nfunc (x FieldDescriptorProto_Type) String() string {\n\treturn proto.EnumName(FieldDescriptorProto_Type_name, int32(x))\n}\nfunc (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, \"FieldDescriptorProto_Type\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FieldDescriptorProto_Type(value)\n\treturn nil\n}\nfunc (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{4, 0} }\n\ntype FieldDescriptorProto_Label int32\n\nconst (\n\t// 0 is reserved for errors\n\tFieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1\n\tFieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2\n\tFieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3\n)\n\nvar FieldDescriptorProto_Label_name = map[int32]string{\n\t1: \"LABEL_OPTIONAL\",\n\t2: \"LABEL_REQUIRED\",\n\t3: \"LABEL_REPEATED\",\n}\nvar FieldDescriptorProto_Label_value = map[string]int32{\n\t\"LABEL_OPTIONAL\": 1,\n\t\"LABEL_REQUIRED\": 2,\n\t\"LABEL_REPEATED\": 3,\n}\n\nfunc (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {\n\tp := new(FieldDescriptorProto_Label)\n\t*p = x\n\treturn p\n}\nfunc (x FieldDescriptorProto_Label) String() string {\n\treturn proto.EnumName(FieldDescriptorProto_Label_name, int32(x))\n}\nfunc (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, \"FieldDescriptorProto_Label\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FieldDescriptorProto_Label(value)\n\treturn nil\n}\nfunc (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptor0, []int{4, 1}\n}\n\n// Generated classes can be optimized for speed or code size.\ntype FileOptions_OptimizeMode int32\n\nconst (\n\tFileOptions_SPEED FileOptions_OptimizeMode = 1\n\t// etc.\n\tFileOptions_CODE_SIZE    FileOptions_OptimizeMode = 2\n\tFileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3\n)\n\nvar FileOptions_OptimizeMode_name = map[int32]string{\n\t1: \"SPEED\",\n\t2: \"CODE_SIZE\",\n\t3: \"LITE_RUNTIME\",\n}\nvar FileOptions_OptimizeMode_value = map[string]int32{\n\t\"SPEED\":        1,\n\t\"CODE_SIZE\":    2,\n\t\"LITE_RUNTIME\": 3,\n}\n\nfunc (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {\n\tp := new(FileOptions_OptimizeMode)\n\t*p = x\n\treturn p\n}\nfunc (x FileOptions_OptimizeMode) String() string {\n\treturn proto.EnumName(FileOptions_OptimizeMode_name, int32(x))\n}\nfunc (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, \"FileOptions_OptimizeMode\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FileOptions_OptimizeMode(value)\n\treturn nil\n}\nfunc (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{10, 0} }\n\ntype FieldOptions_CType int32\n\nconst (\n\t// Default mode.\n\tFieldOptions_STRING       FieldOptions_CType = 0\n\tFieldOptions_CORD         FieldOptions_CType = 1\n\tFieldOptions_STRING_PIECE FieldOptions_CType = 2\n)\n\nvar FieldOptions_CType_name = map[int32]string{\n\t0: \"STRING\",\n\t1: \"CORD\",\n\t2: \"STRING_PIECE\",\n}\nvar FieldOptions_CType_value = map[string]int32{\n\t\"STRING\":       0,\n\t\"CORD\":         1,\n\t\"STRING_PIECE\": 2,\n}\n\nfunc (x FieldOptions_CType) Enum() *FieldOptions_CType {\n\tp := new(FieldOptions_CType)\n\t*p = x\n\treturn p\n}\nfunc (x FieldOptions_CType) String() string {\n\treturn proto.EnumName(FieldOptions_CType_name, int32(x))\n}\nfunc (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, \"FieldOptions_CType\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FieldOptions_CType(value)\n\treturn nil\n}\nfunc (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{12, 0} }\n\ntype FieldOptions_JSType int32\n\nconst (\n\t// Use the default type.\n\tFieldOptions_JS_NORMAL FieldOptions_JSType = 0\n\t// Use JavaScript strings.\n\tFieldOptions_JS_STRING FieldOptions_JSType = 1\n\t// Use JavaScript numbers.\n\tFieldOptions_JS_NUMBER FieldOptions_JSType = 2\n)\n\nvar FieldOptions_JSType_name = map[int32]string{\n\t0: \"JS_NORMAL\",\n\t1: \"JS_STRING\",\n\t2: \"JS_NUMBER\",\n}\nvar FieldOptions_JSType_value = map[string]int32{\n\t\"JS_NORMAL\": 0,\n\t\"JS_STRING\": 1,\n\t\"JS_NUMBER\": 2,\n}\n\nfunc (x FieldOptions_JSType) Enum() *FieldOptions_JSType {\n\tp := new(FieldOptions_JSType)\n\t*p = x\n\treturn p\n}\nfunc (x FieldOptions_JSType) String() string {\n\treturn proto.EnumName(FieldOptions_JSType_name, int32(x))\n}\nfunc (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, \"FieldOptions_JSType\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FieldOptions_JSType(value)\n\treturn nil\n}\nfunc (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{12, 1} }\n\n// Is this method side-effect-free (or safe in HTTP parlance), or idempotent,\n// or neither? HTTP based RPC implementation may choose GET verb for safe\n// methods, and PUT verb for idempotent methods instead of the default POST.\ntype MethodOptions_IdempotencyLevel int32\n\nconst (\n\tMethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0\n\tMethodOptions_NO_SIDE_EFFECTS     MethodOptions_IdempotencyLevel = 1\n\tMethodOptions_IDEMPOTENT          MethodOptions_IdempotencyLevel = 2\n)\n\nvar MethodOptions_IdempotencyLevel_name = map[int32]string{\n\t0: \"IDEMPOTENCY_UNKNOWN\",\n\t1: \"NO_SIDE_EFFECTS\",\n\t2: \"IDEMPOTENT\",\n}\nvar MethodOptions_IdempotencyLevel_value = map[string]int32{\n\t\"IDEMPOTENCY_UNKNOWN\": 0,\n\t\"NO_SIDE_EFFECTS\":     1,\n\t\"IDEMPOTENT\":          2,\n}\n\nfunc (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel {\n\tp := new(MethodOptions_IdempotencyLevel)\n\t*p = x\n\treturn p\n}\nfunc (x MethodOptions_IdempotencyLevel) String() string {\n\treturn proto.EnumName(MethodOptions_IdempotencyLevel_name, int32(x))\n}\nfunc (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(MethodOptions_IdempotencyLevel_value, data, \"MethodOptions_IdempotencyLevel\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = MethodOptions_IdempotencyLevel(value)\n\treturn nil\n}\nfunc (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptor0, []int{17, 0}\n}\n\n// The protocol compiler can output a FileDescriptorSet containing the .proto\n// files it parses.\ntype FileDescriptorSet struct {\n\tFile             []*FileDescriptorProto `protobuf:\"bytes,1,rep,name=file\" json:\"file,omitempty\"`\n\tXXX_unrecognized []byte                 `json:\"-\"`\n}\n\nfunc (m *FileDescriptorSet) Reset()                    { *m = FileDescriptorSet{} }\nfunc (m *FileDescriptorSet) String() string            { return proto.CompactTextString(m) }\nfunc (*FileDescriptorSet) ProtoMessage()               {}\nfunc (*FileDescriptorSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }\n\nfunc (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {\n\tif m != nil {\n\t\treturn m.File\n\t}\n\treturn nil\n}\n\n// Describes a complete .proto file.\ntype FileDescriptorProto struct {\n\tName    *string `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tPackage *string `protobuf:\"bytes,2,opt,name=package\" json:\"package,omitempty\"`\n\t// Names of files imported by this file.\n\tDependency []string `protobuf:\"bytes,3,rep,name=dependency\" json:\"dependency,omitempty\"`\n\t// Indexes of the public imported files in the dependency list above.\n\tPublicDependency []int32 `protobuf:\"varint,10,rep,name=public_dependency,json=publicDependency\" json:\"public_dependency,omitempty\"`\n\t// Indexes of the weak imported files in the dependency list.\n\t// For Google-internal migration only. Do not use.\n\tWeakDependency []int32 `protobuf:\"varint,11,rep,name=weak_dependency,json=weakDependency\" json:\"weak_dependency,omitempty\"`\n\t// All top-level definitions in this file.\n\tMessageType []*DescriptorProto        `protobuf:\"bytes,4,rep,name=message_type,json=messageType\" json:\"message_type,omitempty\"`\n\tEnumType    []*EnumDescriptorProto    `protobuf:\"bytes,5,rep,name=enum_type,json=enumType\" json:\"enum_type,omitempty\"`\n\tService     []*ServiceDescriptorProto `protobuf:\"bytes,6,rep,name=service\" json:\"service,omitempty\"`\n\tExtension   []*FieldDescriptorProto   `protobuf:\"bytes,7,rep,name=extension\" json:\"extension,omitempty\"`\n\tOptions     *FileOptions              `protobuf:\"bytes,8,opt,name=options\" json:\"options,omitempty\"`\n\t// This field contains optional information about the original source code.\n\t// You may safely remove this entire field without harming runtime\n\t// functionality of the descriptors -- the information is needed only by\n\t// development tools.\n\tSourceCodeInfo *SourceCodeInfo `protobuf:\"bytes,9,opt,name=source_code_info,json=sourceCodeInfo\" json:\"source_code_info,omitempty\"`\n\t// The syntax of the proto file.\n\t// The supported values are \"proto2\" and \"proto3\".\n\tSyntax           *string `protobuf:\"bytes,12,opt,name=syntax\" json:\"syntax,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *FileDescriptorProto) Reset()                    { *m = FileDescriptorProto{} }\nfunc (m *FileDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*FileDescriptorProto) ProtoMessage()               {}\nfunc (*FileDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }\n\nfunc (m *FileDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileDescriptorProto) GetPackage() string {\n\tif m != nil && m.Package != nil {\n\t\treturn *m.Package\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileDescriptorProto) GetDependency() []string {\n\tif m != nil {\n\t\treturn m.Dependency\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetPublicDependency() []int32 {\n\tif m != nil {\n\t\treturn m.PublicDependency\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetWeakDependency() []int32 {\n\tif m != nil {\n\t\treturn m.WeakDependency\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {\n\tif m != nil {\n\t\treturn m.MessageType\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {\n\tif m != nil {\n\t\treturn m.EnumType\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {\n\tif m != nil {\n\t\treturn m.Service\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {\n\tif m != nil {\n\t\treturn m.Extension\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetOptions() *FileOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {\n\tif m != nil {\n\t\treturn m.SourceCodeInfo\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetSyntax() string {\n\tif m != nil && m.Syntax != nil {\n\t\treturn *m.Syntax\n\t}\n\treturn \"\"\n}\n\n// Describes a message type.\ntype DescriptorProto struct {\n\tName           *string                           `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tField          []*FieldDescriptorProto           `protobuf:\"bytes,2,rep,name=field\" json:\"field,omitempty\"`\n\tExtension      []*FieldDescriptorProto           `protobuf:\"bytes,6,rep,name=extension\" json:\"extension,omitempty\"`\n\tNestedType     []*DescriptorProto                `protobuf:\"bytes,3,rep,name=nested_type,json=nestedType\" json:\"nested_type,omitempty\"`\n\tEnumType       []*EnumDescriptorProto            `protobuf:\"bytes,4,rep,name=enum_type,json=enumType\" json:\"enum_type,omitempty\"`\n\tExtensionRange []*DescriptorProto_ExtensionRange `protobuf:\"bytes,5,rep,name=extension_range,json=extensionRange\" json:\"extension_range,omitempty\"`\n\tOneofDecl      []*OneofDescriptorProto           `protobuf:\"bytes,8,rep,name=oneof_decl,json=oneofDecl\" json:\"oneof_decl,omitempty\"`\n\tOptions        *MessageOptions                   `protobuf:\"bytes,7,opt,name=options\" json:\"options,omitempty\"`\n\tReservedRange  []*DescriptorProto_ReservedRange  `protobuf:\"bytes,9,rep,name=reserved_range,json=reservedRange\" json:\"reserved_range,omitempty\"`\n\t// Reserved field names, which may not be used by fields in the same message.\n\t// A given name may only be reserved once.\n\tReservedName     []string `protobuf:\"bytes,10,rep,name=reserved_name,json=reservedName\" json:\"reserved_name,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *DescriptorProto) Reset()                    { *m = DescriptorProto{} }\nfunc (m *DescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*DescriptorProto) ProtoMessage()               {}\nfunc (*DescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }\n\nfunc (m *DescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *DescriptorProto) GetField() []*FieldDescriptorProto {\n\tif m != nil {\n\t\treturn m.Field\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {\n\tif m != nil {\n\t\treturn m.Extension\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetNestedType() []*DescriptorProto {\n\tif m != nil {\n\t\treturn m.NestedType\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {\n\tif m != nil {\n\t\treturn m.EnumType\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {\n\tif m != nil {\n\t\treturn m.ExtensionRange\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {\n\tif m != nil {\n\t\treturn m.OneofDecl\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetOptions() *MessageOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {\n\tif m != nil {\n\t\treturn m.ReservedRange\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetReservedName() []string {\n\tif m != nil {\n\t\treturn m.ReservedName\n\t}\n\treturn nil\n}\n\ntype DescriptorProto_ExtensionRange struct {\n\tStart            *int32                 `protobuf:\"varint,1,opt,name=start\" json:\"start,omitempty\"`\n\tEnd              *int32                 `protobuf:\"varint,2,opt,name=end\" json:\"end,omitempty\"`\n\tOptions          *ExtensionRangeOptions `protobuf:\"bytes,3,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_unrecognized []byte                 `json:\"-\"`\n}\n\nfunc (m *DescriptorProto_ExtensionRange) Reset()         { *m = DescriptorProto_ExtensionRange{} }\nfunc (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }\nfunc (*DescriptorProto_ExtensionRange) ProtoMessage()    {}\nfunc (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor0, []int{2, 0}\n}\n\nfunc (m *DescriptorProto_ExtensionRange) GetStart() int32 {\n\tif m != nil && m.Start != nil {\n\t\treturn *m.Start\n\t}\n\treturn 0\n}\n\nfunc (m *DescriptorProto_ExtensionRange) GetEnd() int32 {\n\tif m != nil && m.End != nil {\n\t\treturn *m.End\n\t}\n\treturn 0\n}\n\nfunc (m *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Range of reserved tag numbers. Reserved tag numbers may not be used by\n// fields or extension ranges in the same message. Reserved ranges may\n// not overlap.\ntype DescriptorProto_ReservedRange struct {\n\tStart            *int32 `protobuf:\"varint,1,opt,name=start\" json:\"start,omitempty\"`\n\tEnd              *int32 `protobuf:\"varint,2,opt,name=end\" json:\"end,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *DescriptorProto_ReservedRange) Reset()         { *m = DescriptorProto_ReservedRange{} }\nfunc (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }\nfunc (*DescriptorProto_ReservedRange) ProtoMessage()    {}\nfunc (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor0, []int{2, 1}\n}\n\nfunc (m *DescriptorProto_ReservedRange) GetStart() int32 {\n\tif m != nil && m.Start != nil {\n\t\treturn *m.Start\n\t}\n\treturn 0\n}\n\nfunc (m *DescriptorProto_ReservedRange) GetEnd() int32 {\n\tif m != nil && m.End != nil {\n\t\treturn *m.End\n\t}\n\treturn 0\n}\n\ntype ExtensionRangeOptions struct {\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *ExtensionRangeOptions) Reset()                    { *m = ExtensionRangeOptions{} }\nfunc (m *ExtensionRangeOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*ExtensionRangeOptions) ProtoMessage()               {}\nfunc (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }\n\nvar extRange_ExtensionRangeOptions = []proto.ExtensionRange{\n\t{1000, 536870911},\n}\n\nfunc (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_ExtensionRangeOptions\n}\n\nfunc (m *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\n// Describes a field within a message.\ntype FieldDescriptorProto struct {\n\tName   *string                     `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tNumber *int32                      `protobuf:\"varint,3,opt,name=number\" json:\"number,omitempty\"`\n\tLabel  *FieldDescriptorProto_Label `protobuf:\"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label\" json:\"label,omitempty\"`\n\t// If type_name is set, this need not be set.  If both this and type_name\n\t// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.\n\tType *FieldDescriptorProto_Type `protobuf:\"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type\" json:\"type,omitempty\"`\n\t// For message and enum types, this is the name of the type.  If the name\n\t// starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping\n\t// rules are used to find the type (i.e. first the nested types within this\n\t// message are searched, then within the parent, on up to the root\n\t// namespace).\n\tTypeName *string `protobuf:\"bytes,6,opt,name=type_name,json=typeName\" json:\"type_name,omitempty\"`\n\t// For extensions, this is the name of the type being extended.  It is\n\t// resolved in the same manner as type_name.\n\tExtendee *string `protobuf:\"bytes,2,opt,name=extendee\" json:\"extendee,omitempty\"`\n\t// For numeric types, contains the original text representation of the value.\n\t// For booleans, \"true\" or \"false\".\n\t// For strings, contains the default text contents (not escaped in any way).\n\t// For bytes, contains the C escaped value.  All bytes >= 128 are escaped.\n\t// TODO(kenton):  Base-64 encode?\n\tDefaultValue *string `protobuf:\"bytes,7,opt,name=default_value,json=defaultValue\" json:\"default_value,omitempty\"`\n\t// If set, gives the index of a oneof in the containing type's oneof_decl\n\t// list.  This field is a member of that oneof.\n\tOneofIndex *int32 `protobuf:\"varint,9,opt,name=oneof_index,json=oneofIndex\" json:\"oneof_index,omitempty\"`\n\t// JSON name of this field. The value is set by protocol compiler. If the\n\t// user has set a \"json_name\" option on this field, that option's value\n\t// will be used. Otherwise, it's deduced from the field's name by converting\n\t// it to camelCase.\n\tJsonName         *string       `protobuf:\"bytes,10,opt,name=json_name,json=jsonName\" json:\"json_name,omitempty\"`\n\tOptions          *FieldOptions `protobuf:\"bytes,8,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_unrecognized []byte        `json:\"-\"`\n}\n\nfunc (m *FieldDescriptorProto) Reset()                    { *m = FieldDescriptorProto{} }\nfunc (m *FieldDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*FieldDescriptorProto) ProtoMessage()               {}\nfunc (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }\n\nfunc (m *FieldDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetNumber() int32 {\n\tif m != nil && m.Number != nil {\n\t\treturn *m.Number\n\t}\n\treturn 0\n}\n\nfunc (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {\n\tif m != nil && m.Label != nil {\n\t\treturn *m.Label\n\t}\n\treturn FieldDescriptorProto_LABEL_OPTIONAL\n}\n\nfunc (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {\n\tif m != nil && m.Type != nil {\n\t\treturn *m.Type\n\t}\n\treturn FieldDescriptorProto_TYPE_DOUBLE\n}\n\nfunc (m *FieldDescriptorProto) GetTypeName() string {\n\tif m != nil && m.TypeName != nil {\n\t\treturn *m.TypeName\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetExtendee() string {\n\tif m != nil && m.Extendee != nil {\n\t\treturn *m.Extendee\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetDefaultValue() string {\n\tif m != nil && m.DefaultValue != nil {\n\t\treturn *m.DefaultValue\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetOneofIndex() int32 {\n\tif m != nil && m.OneofIndex != nil {\n\t\treturn *m.OneofIndex\n\t}\n\treturn 0\n}\n\nfunc (m *FieldDescriptorProto) GetJsonName() string {\n\tif m != nil && m.JsonName != nil {\n\t\treturn *m.JsonName\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetOptions() *FieldOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes a oneof.\ntype OneofDescriptorProto struct {\n\tName             *string       `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tOptions          *OneofOptions `protobuf:\"bytes,2,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_unrecognized []byte        `json:\"-\"`\n}\n\nfunc (m *OneofDescriptorProto) Reset()                    { *m = OneofDescriptorProto{} }\nfunc (m *OneofDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*OneofDescriptorProto) ProtoMessage()               {}\nfunc (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }\n\nfunc (m *OneofDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *OneofDescriptorProto) GetOptions() *OneofOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes an enum type.\ntype EnumDescriptorProto struct {\n\tName             *string                     `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tValue            []*EnumValueDescriptorProto `protobuf:\"bytes,2,rep,name=value\" json:\"value,omitempty\"`\n\tOptions          *EnumOptions                `protobuf:\"bytes,3,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_unrecognized []byte                      `json:\"-\"`\n}\n\nfunc (m *EnumDescriptorProto) Reset()                    { *m = EnumDescriptorProto{} }\nfunc (m *EnumDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*EnumDescriptorProto) ProtoMessage()               {}\nfunc (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }\n\nfunc (m *EnumDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {\n\tif m != nil {\n\t\treturn m.Value\n\t}\n\treturn nil\n}\n\nfunc (m *EnumDescriptorProto) GetOptions() *EnumOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes a value within an enum.\ntype EnumValueDescriptorProto struct {\n\tName             *string           `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tNumber           *int32            `protobuf:\"varint,2,opt,name=number\" json:\"number,omitempty\"`\n\tOptions          *EnumValueOptions `protobuf:\"bytes,3,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_unrecognized []byte            `json:\"-\"`\n}\n\nfunc (m *EnumValueDescriptorProto) Reset()                    { *m = EnumValueDescriptorProto{} }\nfunc (m *EnumValueDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*EnumValueDescriptorProto) ProtoMessage()               {}\nfunc (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }\n\nfunc (m *EnumValueDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *EnumValueDescriptorProto) GetNumber() int32 {\n\tif m != nil && m.Number != nil {\n\t\treturn *m.Number\n\t}\n\treturn 0\n}\n\nfunc (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes a service.\ntype ServiceDescriptorProto struct {\n\tName             *string                  `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tMethod           []*MethodDescriptorProto `protobuf:\"bytes,2,rep,name=method\" json:\"method,omitempty\"`\n\tOptions          *ServiceOptions          `protobuf:\"bytes,3,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_unrecognized []byte                   `json:\"-\"`\n}\n\nfunc (m *ServiceDescriptorProto) Reset()                    { *m = ServiceDescriptorProto{} }\nfunc (m *ServiceDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*ServiceDescriptorProto) ProtoMessage()               {}\nfunc (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }\n\nfunc (m *ServiceDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {\n\tif m != nil {\n\t\treturn m.Method\n\t}\n\treturn nil\n}\n\nfunc (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes a method of a service.\ntype MethodDescriptorProto struct {\n\tName *string `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\t// Input and output type names.  These are resolved in the same way as\n\t// FieldDescriptorProto.type_name, but must refer to a message type.\n\tInputType  *string        `protobuf:\"bytes,2,opt,name=input_type,json=inputType\" json:\"input_type,omitempty\"`\n\tOutputType *string        `protobuf:\"bytes,3,opt,name=output_type,json=outputType\" json:\"output_type,omitempty\"`\n\tOptions    *MethodOptions `protobuf:\"bytes,4,opt,name=options\" json:\"options,omitempty\"`\n\t// Identifies if client streams multiple client messages\n\tClientStreaming *bool `protobuf:\"varint,5,opt,name=client_streaming,json=clientStreaming,def=0\" json:\"client_streaming,omitempty\"`\n\t// Identifies if server streams multiple server messages\n\tServerStreaming  *bool  `protobuf:\"varint,6,opt,name=server_streaming,json=serverStreaming,def=0\" json:\"server_streaming,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *MethodDescriptorProto) Reset()                    { *m = MethodDescriptorProto{} }\nfunc (m *MethodDescriptorProto) String() string            { return proto.CompactTextString(m) }\nfunc (*MethodDescriptorProto) ProtoMessage()               {}\nfunc (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }\n\nconst Default_MethodDescriptorProto_ClientStreaming bool = false\nconst Default_MethodDescriptorProto_ServerStreaming bool = false\n\nfunc (m *MethodDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *MethodDescriptorProto) GetInputType() string {\n\tif m != nil && m.InputType != nil {\n\t\treturn *m.InputType\n\t}\n\treturn \"\"\n}\n\nfunc (m *MethodDescriptorProto) GetOutputType() string {\n\tif m != nil && m.OutputType != nil {\n\t\treturn *m.OutputType\n\t}\n\treturn \"\"\n}\n\nfunc (m *MethodDescriptorProto) GetOptions() *MethodOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\nfunc (m *MethodDescriptorProto) GetClientStreaming() bool {\n\tif m != nil && m.ClientStreaming != nil {\n\t\treturn *m.ClientStreaming\n\t}\n\treturn Default_MethodDescriptorProto_ClientStreaming\n}\n\nfunc (m *MethodDescriptorProto) GetServerStreaming() bool {\n\tif m != nil && m.ServerStreaming != nil {\n\t\treturn *m.ServerStreaming\n\t}\n\treturn Default_MethodDescriptorProto_ServerStreaming\n}\n\ntype FileOptions struct {\n\t// Sets the Java package where classes generated from this .proto will be\n\t// placed.  By default, the proto package is used, but this is often\n\t// inappropriate because proto packages do not normally start with backwards\n\t// domain names.\n\tJavaPackage *string `protobuf:\"bytes,1,opt,name=java_package,json=javaPackage\" json:\"java_package,omitempty\"`\n\t// If set, all the classes from the .proto file are wrapped in a single\n\t// outer class with the given name.  This applies to both Proto1\n\t// (equivalent to the old \"--one_java_file\" option) and Proto2 (where\n\t// a .proto always translates to a single class, but you may want to\n\t// explicitly choose the class name).\n\tJavaOuterClassname *string `protobuf:\"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname\" json:\"java_outer_classname,omitempty\"`\n\t// If set true, then the Java code generator will generate a separate .java\n\t// file for each top-level message, enum, and service defined in the .proto\n\t// file.  Thus, these types will *not* be nested inside the outer class\n\t// named by java_outer_classname.  However, the outer class will still be\n\t// generated to contain the file's getDescriptor() method as well as any\n\t// top-level extensions defined in the file.\n\tJavaMultipleFiles *bool `protobuf:\"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0\" json:\"java_multiple_files,omitempty\"`\n\t// This option does nothing.\n\tJavaGenerateEqualsAndHash *bool `protobuf:\"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash\" json:\"java_generate_equals_and_hash,omitempty\"`\n\t// If set true, then the Java2 code generator will generate code that\n\t// throws an exception whenever an attempt is made to assign a non-UTF-8\n\t// byte sequence to a string field.\n\t// Message reflection will do the same.\n\t// However, an extension field still accepts non-UTF-8 byte sequences.\n\t// This option has no effect on when used with the lite runtime.\n\tJavaStringCheckUtf8 *bool                     `protobuf:\"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0\" json:\"java_string_check_utf8,omitempty\"`\n\tOptimizeFor         *FileOptions_OptimizeMode `protobuf:\"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1\" json:\"optimize_for,omitempty\"`\n\t// Sets the Go package where structs generated from this .proto will be\n\t// placed. If omitted, the Go package will be derived from the following:\n\t//   - The basename of the package import path, if provided.\n\t//   - Otherwise, the package statement in the .proto file, if present.\n\t//   - Otherwise, the basename of the .proto file, without extension.\n\tGoPackage *string `protobuf:\"bytes,11,opt,name=go_package,json=goPackage\" json:\"go_package,omitempty\"`\n\t// Should generic services be generated in each language?  \"Generic\" services\n\t// are not specific to any particular RPC system.  They are generated by the\n\t// main code generators in each language (without additional plugins).\n\t// Generic services were the only kind of service generation supported by\n\t// early versions of google.protobuf.\n\t//\n\t// Generic services are now considered deprecated in favor of using plugins\n\t// that generate code specific to your particular RPC system.  Therefore,\n\t// these default to false.  Old code which depends on generic services should\n\t// explicitly set them to true.\n\tCcGenericServices   *bool `protobuf:\"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0\" json:\"cc_generic_services,omitempty\"`\n\tJavaGenericServices *bool `protobuf:\"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0\" json:\"java_generic_services,omitempty\"`\n\tPyGenericServices   *bool `protobuf:\"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0\" json:\"py_generic_services,omitempty\"`\n\tPhpGenericServices  *bool `protobuf:\"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0\" json:\"php_generic_services,omitempty\"`\n\t// Is this file deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for everything in the file, or it will be completely ignored; in the very\n\t// least, this is a formalization for deprecating files.\n\tDeprecated *bool `protobuf:\"varint,23,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// Enables the use of arenas for the proto messages in this file. This applies\n\t// only to generated classes for C++.\n\tCcEnableArenas *bool `protobuf:\"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0\" json:\"cc_enable_arenas,omitempty\"`\n\t// Sets the objective c class prefix which is prepended to all objective c\n\t// generated classes from this .proto. There is no default.\n\tObjcClassPrefix *string `protobuf:\"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix\" json:\"objc_class_prefix,omitempty\"`\n\t// Namespace for generated classes; defaults to the package.\n\tCsharpNamespace *string `protobuf:\"bytes,37,opt,name=csharp_namespace,json=csharpNamespace\" json:\"csharp_namespace,omitempty\"`\n\t// By default Swift generators will take the proto package and CamelCase it\n\t// replacing '.' with underscore and use that to prefix the types/symbols\n\t// defined. When this options is provided, they will use this value instead\n\t// to prefix the types/symbols defined.\n\tSwiftPrefix *string `protobuf:\"bytes,39,opt,name=swift_prefix,json=swiftPrefix\" json:\"swift_prefix,omitempty\"`\n\t// Sets the php class prefix which is prepended to all php generated classes\n\t// from this .proto. Default is empty.\n\tPhpClassPrefix *string `protobuf:\"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix\" json:\"php_class_prefix,omitempty\"`\n\t// Use this option to change the namespace of php generated classes. Default\n\t// is empty. When this option is empty, the package name will be used for\n\t// determining the namespace.\n\tPhpNamespace *string `protobuf:\"bytes,41,opt,name=php_namespace,json=phpNamespace\" json:\"php_namespace,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *FileOptions) Reset()                    { *m = FileOptions{} }\nfunc (m *FileOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*FileOptions) ProtoMessage()               {}\nfunc (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }\n\nvar extRange_FileOptions = []proto.ExtensionRange{\n\t{1000, 536870911},\n}\n\nfunc (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_FileOptions\n}\n\nconst Default_FileOptions_JavaMultipleFiles bool = false\nconst Default_FileOptions_JavaStringCheckUtf8 bool = false\nconst Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED\nconst Default_FileOptions_CcGenericServices bool = false\nconst Default_FileOptions_JavaGenericServices bool = false\nconst Default_FileOptions_PyGenericServices bool = false\nconst Default_FileOptions_PhpGenericServices bool = false\nconst Default_FileOptions_Deprecated bool = false\nconst Default_FileOptions_CcEnableArenas bool = false\n\nfunc (m *FileOptions) GetJavaPackage() string {\n\tif m != nil && m.JavaPackage != nil {\n\t\treturn *m.JavaPackage\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetJavaOuterClassname() string {\n\tif m != nil && m.JavaOuterClassname != nil {\n\t\treturn *m.JavaOuterClassname\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetJavaMultipleFiles() bool {\n\tif m != nil && m.JavaMultipleFiles != nil {\n\t\treturn *m.JavaMultipleFiles\n\t}\n\treturn Default_FileOptions_JavaMultipleFiles\n}\n\nfunc (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {\n\tif m != nil && m.JavaGenerateEqualsAndHash != nil {\n\t\treturn *m.JavaGenerateEqualsAndHash\n\t}\n\treturn false\n}\n\nfunc (m *FileOptions) GetJavaStringCheckUtf8() bool {\n\tif m != nil && m.JavaStringCheckUtf8 != nil {\n\t\treturn *m.JavaStringCheckUtf8\n\t}\n\treturn Default_FileOptions_JavaStringCheckUtf8\n}\n\nfunc (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {\n\tif m != nil && m.OptimizeFor != nil {\n\t\treturn *m.OptimizeFor\n\t}\n\treturn Default_FileOptions_OptimizeFor\n}\n\nfunc (m *FileOptions) GetGoPackage() string {\n\tif m != nil && m.GoPackage != nil {\n\t\treturn *m.GoPackage\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetCcGenericServices() bool {\n\tif m != nil && m.CcGenericServices != nil {\n\t\treturn *m.CcGenericServices\n\t}\n\treturn Default_FileOptions_CcGenericServices\n}\n\nfunc (m *FileOptions) GetJavaGenericServices() bool {\n\tif m != nil && m.JavaGenericServices != nil {\n\t\treturn *m.JavaGenericServices\n\t}\n\treturn Default_FileOptions_JavaGenericServices\n}\n\nfunc (m *FileOptions) GetPyGenericServices() bool {\n\tif m != nil && m.PyGenericServices != nil {\n\t\treturn *m.PyGenericServices\n\t}\n\treturn Default_FileOptions_PyGenericServices\n}\n\nfunc (m *FileOptions) GetPhpGenericServices() bool {\n\tif m != nil && m.PhpGenericServices != nil {\n\t\treturn *m.PhpGenericServices\n\t}\n\treturn Default_FileOptions_PhpGenericServices\n}\n\nfunc (m *FileOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_FileOptions_Deprecated\n}\n\nfunc (m *FileOptions) GetCcEnableArenas() bool {\n\tif m != nil && m.CcEnableArenas != nil {\n\t\treturn *m.CcEnableArenas\n\t}\n\treturn Default_FileOptions_CcEnableArenas\n}\n\nfunc (m *FileOptions) GetObjcClassPrefix() string {\n\tif m != nil && m.ObjcClassPrefix != nil {\n\t\treturn *m.ObjcClassPrefix\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetCsharpNamespace() string {\n\tif m != nil && m.CsharpNamespace != nil {\n\t\treturn *m.CsharpNamespace\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetSwiftPrefix() string {\n\tif m != nil && m.SwiftPrefix != nil {\n\t\treturn *m.SwiftPrefix\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetPhpClassPrefix() string {\n\tif m != nil && m.PhpClassPrefix != nil {\n\t\treturn *m.PhpClassPrefix\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetPhpNamespace() string {\n\tif m != nil && m.PhpNamespace != nil {\n\t\treturn *m.PhpNamespace\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype MessageOptions struct {\n\t// Set true to use the old proto1 MessageSet wire format for extensions.\n\t// This is provided for backwards-compatibility with the MessageSet wire\n\t// format.  You should not use this for any other reason:  It's less\n\t// efficient, has fewer features, and is more complicated.\n\t//\n\t// The message must be defined exactly as follows:\n\t//   message Foo {\n\t//     option message_set_wire_format = true;\n\t//     extensions 4 to max;\n\t//   }\n\t// Note that the message cannot have any defined fields; MessageSets only\n\t// have extensions.\n\t//\n\t// All extensions of your type must be singular messages; e.g. they cannot\n\t// be int32s, enums, or repeated messages.\n\t//\n\t// Because this is an option, the above two restrictions are not enforced by\n\t// the protocol compiler.\n\tMessageSetWireFormat *bool `protobuf:\"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0\" json:\"message_set_wire_format,omitempty\"`\n\t// Disables the generation of the standard \"descriptor()\" accessor, which can\n\t// conflict with a field of the same name.  This is meant to make migration\n\t// from proto1 easier; new code should avoid fields named \"descriptor\".\n\tNoStandardDescriptorAccessor *bool `protobuf:\"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0\" json:\"no_standard_descriptor_accessor,omitempty\"`\n\t// Is this message deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the message, or it will be completely ignored; in the very least,\n\t// this is a formalization for deprecating messages.\n\tDeprecated *bool `protobuf:\"varint,3,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// Whether the message is an automatically generated map entry type for the\n\t// maps field.\n\t//\n\t// For maps fields:\n\t//     map<KeyType, ValueType> map_field = 1;\n\t// The parsed descriptor looks like:\n\t//     message MapFieldEntry {\n\t//         option map_entry = true;\n\t//         optional KeyType key = 1;\n\t//         optional ValueType value = 2;\n\t//     }\n\t//     repeated MapFieldEntry map_field = 1;\n\t//\n\t// Implementations may choose not to generate the map_entry=true message, but\n\t// use a native map in the target language to hold the keys and values.\n\t// The reflection APIs in such implementions still need to work as\n\t// if the field is a repeated message field.\n\t//\n\t// NOTE: Do not set the option in .proto files. Always use the maps syntax\n\t// instead. The option should only be implicitly set by the proto compiler\n\t// parser.\n\tMapEntry *bool `protobuf:\"varint,7,opt,name=map_entry,json=mapEntry\" json:\"map_entry,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *MessageOptions) Reset()                    { *m = MessageOptions{} }\nfunc (m *MessageOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*MessageOptions) ProtoMessage()               {}\nfunc (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }\n\nvar extRange_MessageOptions = []proto.ExtensionRange{\n\t{1000, 536870911},\n}\n\nfunc (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_MessageOptions\n}\n\nconst Default_MessageOptions_MessageSetWireFormat bool = false\nconst Default_MessageOptions_NoStandardDescriptorAccessor bool = false\nconst Default_MessageOptions_Deprecated bool = false\n\nfunc (m *MessageOptions) GetMessageSetWireFormat() bool {\n\tif m != nil && m.MessageSetWireFormat != nil {\n\t\treturn *m.MessageSetWireFormat\n\t}\n\treturn Default_MessageOptions_MessageSetWireFormat\n}\n\nfunc (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {\n\tif m != nil && m.NoStandardDescriptorAccessor != nil {\n\t\treturn *m.NoStandardDescriptorAccessor\n\t}\n\treturn Default_MessageOptions_NoStandardDescriptorAccessor\n}\n\nfunc (m *MessageOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_MessageOptions_Deprecated\n}\n\nfunc (m *MessageOptions) GetMapEntry() bool {\n\tif m != nil && m.MapEntry != nil {\n\t\treturn *m.MapEntry\n\t}\n\treturn false\n}\n\nfunc (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype FieldOptions struct {\n\t// The ctype option instructs the C++ code generator to use a different\n\t// representation of the field than it normally would.  See the specific\n\t// options below.  This option is not yet implemented in the open source\n\t// release -- sorry, we'll try to include it in a future version!\n\tCtype *FieldOptions_CType `protobuf:\"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0\" json:\"ctype,omitempty\"`\n\t// The packed option can be enabled for repeated primitive fields to enable\n\t// a more efficient representation on the wire. Rather than repeatedly\n\t// writing the tag and type for each element, the entire array is encoded as\n\t// a single length-delimited blob. In proto3, only explicit setting it to\n\t// false will avoid using packed encoding.\n\tPacked *bool `protobuf:\"varint,2,opt,name=packed\" json:\"packed,omitempty\"`\n\t// The jstype option determines the JavaScript type used for values of the\n\t// field.  The option is permitted only for 64 bit integral and fixed types\n\t// (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING\n\t// is represented as JavaScript string, which avoids loss of precision that\n\t// can happen when a large value is converted to a floating point JavaScript.\n\t// Specifying JS_NUMBER for the jstype causes the generated JavaScript code to\n\t// use the JavaScript \"number\" type.  The behavior of the default option\n\t// JS_NORMAL is implementation dependent.\n\t//\n\t// This option is an enum to permit additional types to be added, e.g.\n\t// goog.math.Integer.\n\tJstype *FieldOptions_JSType `protobuf:\"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0\" json:\"jstype,omitempty\"`\n\t// Should this field be parsed lazily?  Lazy applies only to message-type\n\t// fields.  It means that when the outer message is initially parsed, the\n\t// inner message's contents will not be parsed but instead stored in encoded\n\t// form.  The inner message will actually be parsed when it is first accessed.\n\t//\n\t// This is only a hint.  Implementations are free to choose whether to use\n\t// eager or lazy parsing regardless of the value of this option.  However,\n\t// setting this option true suggests that the protocol author believes that\n\t// using lazy parsing on this field is worth the additional bookkeeping\n\t// overhead typically needed to implement it.\n\t//\n\t// This option does not affect the public interface of any generated code;\n\t// all method signatures remain the same.  Furthermore, thread-safety of the\n\t// interface is not affected by this option; const methods remain safe to\n\t// call from multiple threads concurrently, while non-const methods continue\n\t// to require exclusive access.\n\t//\n\t//\n\t// Note that implementations may choose not to check required fields within\n\t// a lazy sub-message.  That is, calling IsInitialized() on the outer message\n\t// may return true even if the inner message has missing required fields.\n\t// This is necessary because otherwise the inner message would have to be\n\t// parsed in order to perform the check, defeating the purpose of lazy\n\t// parsing.  An implementation which chooses not to check required fields\n\t// must be consistent about it.  That is, for any particular sub-message, the\n\t// implementation must either *always* check its required fields, or *never*\n\t// check its required fields, regardless of whether or not the message has\n\t// been parsed.\n\tLazy *bool `protobuf:\"varint,5,opt,name=lazy,def=0\" json:\"lazy,omitempty\"`\n\t// Is this field deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for accessors, or it will be completely ignored; in the very least, this\n\t// is a formalization for deprecating fields.\n\tDeprecated *bool `protobuf:\"varint,3,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// For Google-internal migration only. Do not use.\n\tWeak *bool `protobuf:\"varint,10,opt,name=weak,def=0\" json:\"weak,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *FieldOptions) Reset()                    { *m = FieldOptions{} }\nfunc (m *FieldOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*FieldOptions) ProtoMessage()               {}\nfunc (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }\n\nvar extRange_FieldOptions = []proto.ExtensionRange{\n\t{1000, 536870911},\n}\n\nfunc (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_FieldOptions\n}\n\nconst Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING\nconst Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL\nconst Default_FieldOptions_Lazy bool = false\nconst Default_FieldOptions_Deprecated bool = false\nconst Default_FieldOptions_Weak bool = false\n\nfunc (m *FieldOptions) GetCtype() FieldOptions_CType {\n\tif m != nil && m.Ctype != nil {\n\t\treturn *m.Ctype\n\t}\n\treturn Default_FieldOptions_Ctype\n}\n\nfunc (m *FieldOptions) GetPacked() bool {\n\tif m != nil && m.Packed != nil {\n\t\treturn *m.Packed\n\t}\n\treturn false\n}\n\nfunc (m *FieldOptions) GetJstype() FieldOptions_JSType {\n\tif m != nil && m.Jstype != nil {\n\t\treturn *m.Jstype\n\t}\n\treturn Default_FieldOptions_Jstype\n}\n\nfunc (m *FieldOptions) GetLazy() bool {\n\tif m != nil && m.Lazy != nil {\n\t\treturn *m.Lazy\n\t}\n\treturn Default_FieldOptions_Lazy\n}\n\nfunc (m *FieldOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_FieldOptions_Deprecated\n}\n\nfunc (m *FieldOptions) GetWeak() bool {\n\tif m != nil && m.Weak != nil {\n\t\treturn *m.Weak\n\t}\n\treturn Default_FieldOptions_Weak\n}\n\nfunc (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype OneofOptions struct {\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *OneofOptions) Reset()                    { *m = OneofOptions{} }\nfunc (m *OneofOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*OneofOptions) ProtoMessage()               {}\nfunc (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }\n\nvar extRange_OneofOptions = []proto.ExtensionRange{\n\t{1000, 536870911},\n}\n\nfunc (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_OneofOptions\n}\n\nfunc (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype EnumOptions struct {\n\t// Set this option to true to allow mapping different tag names to the same\n\t// value.\n\tAllowAlias *bool `protobuf:\"varint,2,opt,name=allow_alias,json=allowAlias\" json:\"allow_alias,omitempty\"`\n\t// Is this enum deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the enum, or it will be completely ignored; in the very least, this\n\t// is a formalization for deprecating enums.\n\tDeprecated *bool `protobuf:\"varint,3,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *EnumOptions) Reset()                    { *m = EnumOptions{} }\nfunc (m *EnumOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*EnumOptions) ProtoMessage()               {}\nfunc (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }\n\nvar extRange_EnumOptions = []proto.ExtensionRange{\n\t{1000, 536870911},\n}\n\nfunc (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_EnumOptions\n}\n\nconst Default_EnumOptions_Deprecated bool = false\n\nfunc (m *EnumOptions) GetAllowAlias() bool {\n\tif m != nil && m.AllowAlias != nil {\n\t\treturn *m.AllowAlias\n\t}\n\treturn false\n}\n\nfunc (m *EnumOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_EnumOptions_Deprecated\n}\n\nfunc (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype EnumValueOptions struct {\n\t// Is this enum value deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the enum value, or it will be completely ignored; in the very least,\n\t// this is a formalization for deprecating enum values.\n\tDeprecated *bool `protobuf:\"varint,1,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *EnumValueOptions) Reset()                    { *m = EnumValueOptions{} }\nfunc (m *EnumValueOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*EnumValueOptions) ProtoMessage()               {}\nfunc (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }\n\nvar extRange_EnumValueOptions = []proto.ExtensionRange{\n\t{1000, 536870911},\n}\n\nfunc (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_EnumValueOptions\n}\n\nconst Default_EnumValueOptions_Deprecated bool = false\n\nfunc (m *EnumValueOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_EnumValueOptions_Deprecated\n}\n\nfunc (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype ServiceOptions struct {\n\t// Is this service deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the service, or it will be completely ignored; in the very least,\n\t// this is a formalization for deprecating services.\n\tDeprecated *bool `protobuf:\"varint,33,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *ServiceOptions) Reset()                    { *m = ServiceOptions{} }\nfunc (m *ServiceOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*ServiceOptions) ProtoMessage()               {}\nfunc (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }\n\nvar extRange_ServiceOptions = []proto.ExtensionRange{\n\t{1000, 536870911},\n}\n\nfunc (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_ServiceOptions\n}\n\nconst Default_ServiceOptions_Deprecated bool = false\n\nfunc (m *ServiceOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_ServiceOptions_Deprecated\n}\n\nfunc (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype MethodOptions struct {\n\t// Is this method deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the method, or it will be completely ignored; in the very least,\n\t// this is a formalization for deprecating methods.\n\tDeprecated       *bool                           `protobuf:\"varint,33,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\tIdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:\"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0\" json:\"idempotency_level,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n}\n\nfunc (m *MethodOptions) Reset()                    { *m = MethodOptions{} }\nfunc (m *MethodOptions) String() string            { return proto.CompactTextString(m) }\nfunc (*MethodOptions) ProtoMessage()               {}\nfunc (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }\n\nvar extRange_MethodOptions = []proto.ExtensionRange{\n\t{1000, 536870911},\n}\n\nfunc (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_MethodOptions\n}\n\nconst Default_MethodOptions_Deprecated bool = false\nconst Default_MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN\n\nfunc (m *MethodOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_MethodOptions_Deprecated\n}\n\nfunc (m *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel {\n\tif m != nil && m.IdempotencyLevel != nil {\n\t\treturn *m.IdempotencyLevel\n\t}\n\treturn Default_MethodOptions_IdempotencyLevel\n}\n\nfunc (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\n// A message representing a option the parser does not recognize. This only\n// appears in options protos created by the compiler::Parser class.\n// DescriptorPool resolves these when building Descriptor objects. Therefore,\n// options protos in descriptor objects (e.g. returned by Descriptor::options(),\n// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions\n// in them.\ntype UninterpretedOption struct {\n\tName []*UninterpretedOption_NamePart `protobuf:\"bytes,2,rep,name=name\" json:\"name,omitempty\"`\n\t// The value of the uninterpreted option, in whatever type the tokenizer\n\t// identified it as during parsing. Exactly one of these should be set.\n\tIdentifierValue  *string  `protobuf:\"bytes,3,opt,name=identifier_value,json=identifierValue\" json:\"identifier_value,omitempty\"`\n\tPositiveIntValue *uint64  `protobuf:\"varint,4,opt,name=positive_int_value,json=positiveIntValue\" json:\"positive_int_value,omitempty\"`\n\tNegativeIntValue *int64   `protobuf:\"varint,5,opt,name=negative_int_value,json=negativeIntValue\" json:\"negative_int_value,omitempty\"`\n\tDoubleValue      *float64 `protobuf:\"fixed64,6,opt,name=double_value,json=doubleValue\" json:\"double_value,omitempty\"`\n\tStringValue      []byte   `protobuf:\"bytes,7,opt,name=string_value,json=stringValue\" json:\"string_value,omitempty\"`\n\tAggregateValue   *string  `protobuf:\"bytes,8,opt,name=aggregate_value,json=aggregateValue\" json:\"aggregate_value,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *UninterpretedOption) Reset()                    { *m = UninterpretedOption{} }\nfunc (m *UninterpretedOption) String() string            { return proto.CompactTextString(m) }\nfunc (*UninterpretedOption) ProtoMessage()               {}\nfunc (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }\n\nfunc (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn nil\n}\n\nfunc (m *UninterpretedOption) GetIdentifierValue() string {\n\tif m != nil && m.IdentifierValue != nil {\n\t\treturn *m.IdentifierValue\n\t}\n\treturn \"\"\n}\n\nfunc (m *UninterpretedOption) GetPositiveIntValue() uint64 {\n\tif m != nil && m.PositiveIntValue != nil {\n\t\treturn *m.PositiveIntValue\n\t}\n\treturn 0\n}\n\nfunc (m *UninterpretedOption) GetNegativeIntValue() int64 {\n\tif m != nil && m.NegativeIntValue != nil {\n\t\treturn *m.NegativeIntValue\n\t}\n\treturn 0\n}\n\nfunc (m *UninterpretedOption) GetDoubleValue() float64 {\n\tif m != nil && m.DoubleValue != nil {\n\t\treturn *m.DoubleValue\n\t}\n\treturn 0\n}\n\nfunc (m *UninterpretedOption) GetStringValue() []byte {\n\tif m != nil {\n\t\treturn m.StringValue\n\t}\n\treturn nil\n}\n\nfunc (m *UninterpretedOption) GetAggregateValue() string {\n\tif m != nil && m.AggregateValue != nil {\n\t\treturn *m.AggregateValue\n\t}\n\treturn \"\"\n}\n\n// The name of the uninterpreted option.  Each string represents a segment in\n// a dot-separated name.  is_extension is true iff a segment represents an\n// extension (denoted with parentheses in options specs in .proto files).\n// E.g.,{ [\"foo\", false], [\"bar.baz\", true], [\"qux\", false] } represents\n// \"foo.(bar.baz).qux\".\ntype UninterpretedOption_NamePart struct {\n\tNamePart         *string `protobuf:\"bytes,1,req,name=name_part,json=namePart\" json:\"name_part,omitempty\"`\n\tIsExtension      *bool   `protobuf:\"varint,2,req,name=is_extension,json=isExtension\" json:\"is_extension,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *UninterpretedOption_NamePart) Reset()         { *m = UninterpretedOption_NamePart{} }\nfunc (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }\nfunc (*UninterpretedOption_NamePart) ProtoMessage()    {}\nfunc (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor0, []int{18, 0}\n}\n\nfunc (m *UninterpretedOption_NamePart) GetNamePart() string {\n\tif m != nil && m.NamePart != nil {\n\t\treturn *m.NamePart\n\t}\n\treturn \"\"\n}\n\nfunc (m *UninterpretedOption_NamePart) GetIsExtension() bool {\n\tif m != nil && m.IsExtension != nil {\n\t\treturn *m.IsExtension\n\t}\n\treturn false\n}\n\n// Encapsulates information about the original source file from which a\n// FileDescriptorProto was generated.\ntype SourceCodeInfo struct {\n\t// A Location identifies a piece of source code in a .proto file which\n\t// corresponds to a particular definition.  This information is intended\n\t// to be useful to IDEs, code indexers, documentation generators, and similar\n\t// tools.\n\t//\n\t// For example, say we have a file like:\n\t//   message Foo {\n\t//     optional string foo = 1;\n\t//   }\n\t// Let's look at just the field definition:\n\t//   optional string foo = 1;\n\t//   ^       ^^     ^^  ^  ^^^\n\t//   a       bc     de  f  ghi\n\t// We have the following locations:\n\t//   span   path               represents\n\t//   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.\n\t//   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).\n\t//   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).\n\t//   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).\n\t//   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).\n\t//\n\t// Notes:\n\t// - A location may refer to a repeated field itself (i.e. not to any\n\t//   particular index within it).  This is used whenever a set of elements are\n\t//   logically enclosed in a single code segment.  For example, an entire\n\t//   extend block (possibly containing multiple extension definitions) will\n\t//   have an outer location whose path refers to the \"extensions\" repeated\n\t//   field without an index.\n\t// - Multiple locations may have the same path.  This happens when a single\n\t//   logical declaration is spread out across multiple places.  The most\n\t//   obvious example is the \"extend\" block again -- there may be multiple\n\t//   extend blocks in the same scope, each of which will have the same path.\n\t// - A location's span is not always a subset of its parent's span.  For\n\t//   example, the \"extendee\" of an extension declaration appears at the\n\t//   beginning of the \"extend\" block and is shared by all extensions within\n\t//   the block.\n\t// - Just because a location's span is a subset of some other location's span\n\t//   does not mean that it is a descendent.  For example, a \"group\" defines\n\t//   both a type and a field in a single declaration.  Thus, the locations\n\t//   corresponding to the type and field and their components will overlap.\n\t// - Code which tries to interpret locations should probably be designed to\n\t//   ignore those that it doesn't understand, as more types of locations could\n\t//   be recorded in the future.\n\tLocation         []*SourceCodeInfo_Location `protobuf:\"bytes,1,rep,name=location\" json:\"location,omitempty\"`\n\tXXX_unrecognized []byte                     `json:\"-\"`\n}\n\nfunc (m *SourceCodeInfo) Reset()                    { *m = SourceCodeInfo{} }\nfunc (m *SourceCodeInfo) String() string            { return proto.CompactTextString(m) }\nfunc (*SourceCodeInfo) ProtoMessage()               {}\nfunc (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }\n\nfunc (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {\n\tif m != nil {\n\t\treturn m.Location\n\t}\n\treturn nil\n}\n\ntype SourceCodeInfo_Location struct {\n\t// Identifies which part of the FileDescriptorProto was defined at this\n\t// location.\n\t//\n\t// Each element is a field number or an index.  They form a path from\n\t// the root FileDescriptorProto to the place where the definition.  For\n\t// example, this path:\n\t//   [ 4, 3, 2, 7, 1 ]\n\t// refers to:\n\t//   file.message_type(3)  // 4, 3\n\t//       .field(7)         // 2, 7\n\t//       .name()           // 1\n\t// This is because FileDescriptorProto.message_type has field number 4:\n\t//   repeated DescriptorProto message_type = 4;\n\t// and DescriptorProto.field has field number 2:\n\t//   repeated FieldDescriptorProto field = 2;\n\t// and FieldDescriptorProto.name has field number 1:\n\t//   optional string name = 1;\n\t//\n\t// Thus, the above path gives the location of a field name.  If we removed\n\t// the last element:\n\t//   [ 4, 3, 2, 7 ]\n\t// this path refers to the whole field declaration (from the beginning\n\t// of the label to the terminating semicolon).\n\tPath []int32 `protobuf:\"varint,1,rep,packed,name=path\" json:\"path,omitempty\"`\n\t// Always has exactly three or four elements: start line, start column,\n\t// end line (optional, otherwise assumed same as start line), end column.\n\t// These are packed into a single field for efficiency.  Note that line\n\t// and column numbers are zero-based -- typically you will want to add\n\t// 1 to each before displaying to a user.\n\tSpan []int32 `protobuf:\"varint,2,rep,packed,name=span\" json:\"span,omitempty\"`\n\t// If this SourceCodeInfo represents a complete declaration, these are any\n\t// comments appearing before and after the declaration which appear to be\n\t// attached to the declaration.\n\t//\n\t// A series of line comments appearing on consecutive lines, with no other\n\t// tokens appearing on those lines, will be treated as a single comment.\n\t//\n\t// leading_detached_comments will keep paragraphs of comments that appear\n\t// before (but not connected to) the current element. Each paragraph,\n\t// separated by empty lines, will be one comment element in the repeated\n\t// field.\n\t//\n\t// Only the comment content is provided; comment markers (e.g. //) are\n\t// stripped out.  For block comments, leading whitespace and an asterisk\n\t// will be stripped from the beginning of each line other than the first.\n\t// Newlines are included in the output.\n\t//\n\t// Examples:\n\t//\n\t//   optional int32 foo = 1;  // Comment attached to foo.\n\t//   // Comment attached to bar.\n\t//   optional int32 bar = 2;\n\t//\n\t//   optional string baz = 3;\n\t//   // Comment attached to baz.\n\t//   // Another line attached to baz.\n\t//\n\t//   // Comment attached to qux.\n\t//   //\n\t//   // Another line attached to qux.\n\t//   optional double qux = 4;\n\t//\n\t//   // Detached comment for corge. This is not leading or trailing comments\n\t//   // to qux or corge because there are blank lines separating it from\n\t//   // both.\n\t//\n\t//   // Detached comment for corge paragraph 2.\n\t//\n\t//   optional string corge = 5;\n\t//   /* Block comment attached\n\t//    * to corge.  Leading asterisks\n\t//    * will be removed. */\n\t//   /* Block comment attached to\n\t//    * grault. */\n\t//   optional int32 grault = 6;\n\t//\n\t//   // ignored detached comments.\n\tLeadingComments         *string  `protobuf:\"bytes,3,opt,name=leading_comments,json=leadingComments\" json:\"leading_comments,omitempty\"`\n\tTrailingComments        *string  `protobuf:\"bytes,4,opt,name=trailing_comments,json=trailingComments\" json:\"trailing_comments,omitempty\"`\n\tLeadingDetachedComments []string `protobuf:\"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments\" json:\"leading_detached_comments,omitempty\"`\n\tXXX_unrecognized        []byte   `json:\"-\"`\n}\n\nfunc (m *SourceCodeInfo_Location) Reset()                    { *m = SourceCodeInfo_Location{} }\nfunc (m *SourceCodeInfo_Location) String() string            { return proto.CompactTextString(m) }\nfunc (*SourceCodeInfo_Location) ProtoMessage()               {}\nfunc (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19, 0} }\n\nfunc (m *SourceCodeInfo_Location) GetPath() []int32 {\n\tif m != nil {\n\t\treturn m.Path\n\t}\n\treturn nil\n}\n\nfunc (m *SourceCodeInfo_Location) GetSpan() []int32 {\n\tif m != nil {\n\t\treturn m.Span\n\t}\n\treturn nil\n}\n\nfunc (m *SourceCodeInfo_Location) GetLeadingComments() string {\n\tif m != nil && m.LeadingComments != nil {\n\t\treturn *m.LeadingComments\n\t}\n\treturn \"\"\n}\n\nfunc (m *SourceCodeInfo_Location) GetTrailingComments() string {\n\tif m != nil && m.TrailingComments != nil {\n\t\treturn *m.TrailingComments\n\t}\n\treturn \"\"\n}\n\nfunc (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {\n\tif m != nil {\n\t\treturn m.LeadingDetachedComments\n\t}\n\treturn nil\n}\n\n// Describes the relationship between generated code and its original source\n// file. A GeneratedCodeInfo message is associated with only one generated\n// source file, but may contain references to different source .proto files.\ntype GeneratedCodeInfo struct {\n\t// An Annotation connects some span of text in generated code to an element\n\t// of its generating .proto file.\n\tAnnotation       []*GeneratedCodeInfo_Annotation `protobuf:\"bytes,1,rep,name=annotation\" json:\"annotation,omitempty\"`\n\tXXX_unrecognized []byte                          `json:\"-\"`\n}\n\nfunc (m *GeneratedCodeInfo) Reset()                    { *m = GeneratedCodeInfo{} }\nfunc (m *GeneratedCodeInfo) String() string            { return proto.CompactTextString(m) }\nfunc (*GeneratedCodeInfo) ProtoMessage()               {}\nfunc (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }\n\nfunc (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {\n\tif m != nil {\n\t\treturn m.Annotation\n\t}\n\treturn nil\n}\n\ntype GeneratedCodeInfo_Annotation struct {\n\t// Identifies the element in the original source .proto file. This field\n\t// is formatted the same as SourceCodeInfo.Location.path.\n\tPath []int32 `protobuf:\"varint,1,rep,packed,name=path\" json:\"path,omitempty\"`\n\t// Identifies the filesystem path to the original source .proto.\n\tSourceFile *string `protobuf:\"bytes,2,opt,name=source_file,json=sourceFile\" json:\"source_file,omitempty\"`\n\t// Identifies the starting offset in bytes in the generated code\n\t// that relates to the identified object.\n\tBegin *int32 `protobuf:\"varint,3,opt,name=begin\" json:\"begin,omitempty\"`\n\t// Identifies the ending offset in bytes in the generated code that\n\t// relates to the identified offset. The end offset should be one past\n\t// the last relevant byte (so the length of the text = end - begin).\n\tEnd              *int32 `protobuf:\"varint,4,opt,name=end\" json:\"end,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) Reset()         { *m = GeneratedCodeInfo_Annotation{} }\nfunc (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }\nfunc (*GeneratedCodeInfo_Annotation) ProtoMessage()    {}\nfunc (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor0, []int{20, 0}\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {\n\tif m != nil {\n\t\treturn m.Path\n\t}\n\treturn nil\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) GetSourceFile() string {\n\tif m != nil && m.SourceFile != nil {\n\t\treturn *m.SourceFile\n\t}\n\treturn \"\"\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) GetBegin() int32 {\n\tif m != nil && m.Begin != nil {\n\t\treturn *m.Begin\n\t}\n\treturn 0\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {\n\tif m != nil && m.End != nil {\n\t\treturn *m.End\n\t}\n\treturn 0\n}\n\nfunc init() {\n\tproto.RegisterType((*FileDescriptorSet)(nil), \"google.protobuf.FileDescriptorSet\")\n\tproto.RegisterType((*FileDescriptorProto)(nil), \"google.protobuf.FileDescriptorProto\")\n\tproto.RegisterType((*DescriptorProto)(nil), \"google.protobuf.DescriptorProto\")\n\tproto.RegisterType((*DescriptorProto_ExtensionRange)(nil), \"google.protobuf.DescriptorProto.ExtensionRange\")\n\tproto.RegisterType((*DescriptorProto_ReservedRange)(nil), \"google.protobuf.DescriptorProto.ReservedRange\")\n\tproto.RegisterType((*ExtensionRangeOptions)(nil), \"google.protobuf.ExtensionRangeOptions\")\n\tproto.RegisterType((*FieldDescriptorProto)(nil), \"google.protobuf.FieldDescriptorProto\")\n\tproto.RegisterType((*OneofDescriptorProto)(nil), \"google.protobuf.OneofDescriptorProto\")\n\tproto.RegisterType((*EnumDescriptorProto)(nil), \"google.protobuf.EnumDescriptorProto\")\n\tproto.RegisterType((*EnumValueDescriptorProto)(nil), \"google.protobuf.EnumValueDescriptorProto\")\n\tproto.RegisterType((*ServiceDescriptorProto)(nil), \"google.protobuf.ServiceDescriptorProto\")\n\tproto.RegisterType((*MethodDescriptorProto)(nil), \"google.protobuf.MethodDescriptorProto\")\n\tproto.RegisterType((*FileOptions)(nil), \"google.protobuf.FileOptions\")\n\tproto.RegisterType((*MessageOptions)(nil), \"google.protobuf.MessageOptions\")\n\tproto.RegisterType((*FieldOptions)(nil), \"google.protobuf.FieldOptions\")\n\tproto.RegisterType((*OneofOptions)(nil), \"google.protobuf.OneofOptions\")\n\tproto.RegisterType((*EnumOptions)(nil), \"google.protobuf.EnumOptions\")\n\tproto.RegisterType((*EnumValueOptions)(nil), \"google.protobuf.EnumValueOptions\")\n\tproto.RegisterType((*ServiceOptions)(nil), \"google.protobuf.ServiceOptions\")\n\tproto.RegisterType((*MethodOptions)(nil), \"google.protobuf.MethodOptions\")\n\tproto.RegisterType((*UninterpretedOption)(nil), \"google.protobuf.UninterpretedOption\")\n\tproto.RegisterType((*UninterpretedOption_NamePart)(nil), \"google.protobuf.UninterpretedOption.NamePart\")\n\tproto.RegisterType((*SourceCodeInfo)(nil), \"google.protobuf.SourceCodeInfo\")\n\tproto.RegisterType((*SourceCodeInfo_Location)(nil), \"google.protobuf.SourceCodeInfo.Location\")\n\tproto.RegisterType((*GeneratedCodeInfo)(nil), \"google.protobuf.GeneratedCodeInfo\")\n\tproto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), \"google.protobuf.GeneratedCodeInfo.Annotation\")\n\tproto.RegisterEnum(\"google.protobuf.FieldDescriptorProto_Type\", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)\n\tproto.RegisterEnum(\"google.protobuf.FieldDescriptorProto_Label\", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)\n\tproto.RegisterEnum(\"google.protobuf.FileOptions_OptimizeMode\", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)\n\tproto.RegisterEnum(\"google.protobuf.FieldOptions_CType\", FieldOptions_CType_name, FieldOptions_CType_value)\n\tproto.RegisterEnum(\"google.protobuf.FieldOptions_JSType\", FieldOptions_JSType_name, FieldOptions_JSType_value)\n\tproto.RegisterEnum(\"google.protobuf.MethodOptions_IdempotencyLevel\", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value)\n}\n\nfunc init() { proto.RegisterFile(\"google/protobuf/descriptor.proto\", fileDescriptor0) }\n\nvar fileDescriptor0 = []byte{\n\t// 2519 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xdd, 0x6e, 0x1b, 0xc7,\n\t0x15, 0x0e, 0x7f, 0x45, 0x1e, 0x52, 0xd4, 0x68, 0xa4, 0xd8, 0x6b, 0xe5, 0xc7, 0x32, 0xf3, 0x63,\n\t0xd9, 0x69, 0xa8, 0x40, 0xb1, 0x1d, 0x47, 0x29, 0xd2, 0x52, 0xe4, 0x5a, 0xa1, 0x4a, 0x91, 0xec,\n\t0x92, 0x6a, 0x7e, 0x6e, 0x16, 0xa3, 0xdd, 0x21, 0xb9, 0xf6, 0x72, 0x77, 0xb3, 0xbb, 0xb4, 0xad,\n\t0xa0, 0x17, 0x06, 0x7a, 0x55, 0xa0, 0x0f, 0x50, 0x14, 0x45, 0x2f, 0x72, 0x13, 0xa0, 0x0f, 0x50,\n\t0x20, 0x77, 0x7d, 0x82, 0x02, 0x79, 0x83, 0xa2, 0x28, 0xd0, 0x3e, 0x46, 0x31, 0x33, 0xbb, 0xcb,\n\t0x5d, 0xfe, 0xc4, 0x6a, 0x80, 0x38, 0x57, 0xe4, 0x7c, 0xe7, 0x3b, 0x67, 0xce, 0x9c, 0x39, 0x33,\n\t0x73, 0x66, 0x16, 0x76, 0x47, 0xb6, 0x3d, 0x32, 0xe9, 0xbe, 0xe3, 0xda, 0xbe, 0x7d, 0x3e, 0x1d,\n\t0xee, 0xeb, 0xd4, 0xd3, 0x5c, 0xc3, 0xf1, 0x6d, 0xb7, 0xc6, 0x31, 0xbc, 0x21, 0x18, 0xb5, 0x90,\n\t0x51, 0x3d, 0x85, 0xcd, 0x07, 0x86, 0x49, 0x9b, 0x11, 0xb1, 0x4f, 0x7d, 0x7c, 0x1f, 0xb2, 0x43,\n\t0xc3, 0xa4, 0x52, 0x6a, 0x37, 0xb3, 0x57, 0x3a, 0x78, 0xb3, 0x36, 0xa7, 0x54, 0x4b, 0x6a, 0xf4,\n\t0x18, 0xac, 0x70, 0x8d, 0xea, 0xbf, 0xb3, 0xb0, 0xb5, 0x44, 0x8a, 0x31, 0x64, 0x2d, 0x32, 0x61,\n\t0x16, 0x53, 0x7b, 0x45, 0x85, 0xff, 0xc7, 0x12, 0xac, 0x39, 0x44, 0x7b, 0x44, 0x46, 0x54, 0x4a,\n\t0x73, 0x38, 0x6c, 0xe2, 0xd7, 0x01, 0x74, 0xea, 0x50, 0x4b, 0xa7, 0x96, 0x76, 0x21, 0x65, 0x76,\n\t0x33, 0x7b, 0x45, 0x25, 0x86, 0xe0, 0x77, 0x60, 0xd3, 0x99, 0x9e, 0x9b, 0x86, 0xa6, 0xc6, 0x68,\n\t0xb0, 0x9b, 0xd9, 0xcb, 0x29, 0x48, 0x08, 0x9a, 0x33, 0xf2, 0x4d, 0xd8, 0x78, 0x42, 0xc9, 0xa3,\n\t0x38, 0xb5, 0xc4, 0xa9, 0x15, 0x06, 0xc7, 0x88, 0x0d, 0x28, 0x4f, 0xa8, 0xe7, 0x91, 0x11, 0x55,\n\t0xfd, 0x0b, 0x87, 0x4a, 0x59, 0x3e, 0xfa, 0xdd, 0x85, 0xd1, 0xcf, 0x8f, 0xbc, 0x14, 0x68, 0x0d,\n\t0x2e, 0x1c, 0x8a, 0xeb, 0x50, 0xa4, 0xd6, 0x74, 0x22, 0x2c, 0xe4, 0x56, 0xc4, 0x4f, 0xb6, 0xa6,\n\t0x93, 0x79, 0x2b, 0x05, 0xa6, 0x16, 0x98, 0x58, 0xf3, 0xa8, 0xfb, 0xd8, 0xd0, 0xa8, 0x94, 0xe7,\n\t0x06, 0x6e, 0x2e, 0x18, 0xe8, 0x0b, 0xf9, 0xbc, 0x8d, 0x50, 0x0f, 0x37, 0xa0, 0x48, 0x9f, 0xfa,\n\t0xd4, 0xf2, 0x0c, 0xdb, 0x92, 0xd6, 0xb8, 0x91, 0xb7, 0x96, 0xcc, 0x22, 0x35, 0xf5, 0x79, 0x13,\n\t0x33, 0x3d, 0x7c, 0x0f, 0xd6, 0x6c, 0xc7, 0x37, 0x6c, 0xcb, 0x93, 0x0a, 0xbb, 0xa9, 0xbd, 0xd2,\n\t0xc1, 0xab, 0x4b, 0x13, 0xa1, 0x2b, 0x38, 0x4a, 0x48, 0xc6, 0x2d, 0x40, 0x9e, 0x3d, 0x75, 0x35,\n\t0xaa, 0x6a, 0xb6, 0x4e, 0x55, 0xc3, 0x1a, 0xda, 0x52, 0x91, 0x1b, 0xb8, 0xbe, 0x38, 0x10, 0x4e,\n\t0x6c, 0xd8, 0x3a, 0x6d, 0x59, 0x43, 0x5b, 0xa9, 0x78, 0x89, 0x36, 0xbe, 0x02, 0x79, 0xef, 0xc2,\n\t0xf2, 0xc9, 0x53, 0xa9, 0xcc, 0x33, 0x24, 0x68, 0x55, 0xbf, 0xcd, 0xc3, 0xc6, 0x65, 0x52, 0xec,\n\t0x23, 0xc8, 0x0d, 0xd9, 0x28, 0xa5, 0xf4, 0xff, 0x13, 0x03, 0xa1, 0x93, 0x0c, 0x62, 0xfe, 0x07,\n\t0x06, 0xb1, 0x0e, 0x25, 0x8b, 0x7a, 0x3e, 0xd5, 0x45, 0x46, 0x64, 0x2e, 0x99, 0x53, 0x20, 0x94,\n\t0x16, 0x53, 0x2a, 0xfb, 0x83, 0x52, 0xea, 0x33, 0xd8, 0x88, 0x5c, 0x52, 0x5d, 0x62, 0x8d, 0xc2,\n\t0xdc, 0xdc, 0x7f, 0x9e, 0x27, 0x35, 0x39, 0xd4, 0x53, 0x98, 0x9a, 0x52, 0xa1, 0x89, 0x36, 0x6e,\n\t0x02, 0xd8, 0x16, 0xb5, 0x87, 0xaa, 0x4e, 0x35, 0x53, 0x2a, 0xac, 0x88, 0x52, 0x97, 0x51, 0x16,\n\t0xa2, 0x64, 0x0b, 0x54, 0x33, 0xf1, 0x87, 0xb3, 0x54, 0x5b, 0x5b, 0x91, 0x29, 0xa7, 0x62, 0x91,\n\t0x2d, 0x64, 0xdb, 0x19, 0x54, 0x5c, 0xca, 0xf2, 0x9e, 0xea, 0xc1, 0xc8, 0x8a, 0xdc, 0x89, 0xda,\n\t0x73, 0x47, 0xa6, 0x04, 0x6a, 0x62, 0x60, 0xeb, 0x6e, 0xbc, 0x89, 0xdf, 0x80, 0x08, 0x50, 0x79,\n\t0x5a, 0x01, 0xdf, 0x85, 0xca, 0x21, 0xd8, 0x21, 0x13, 0xba, 0xf3, 0x15, 0x54, 0x92, 0xe1, 0xc1,\n\t0xdb, 0x90, 0xf3, 0x7c, 0xe2, 0xfa, 0x3c, 0x0b, 0x73, 0x8a, 0x68, 0x60, 0x04, 0x19, 0x6a, 0xe9,\n\t0x7c, 0x97, 0xcb, 0x29, 0xec, 0x2f, 0xfe, 0xe5, 0x6c, 0xc0, 0x19, 0x3e, 0xe0, 0xb7, 0x17, 0x67,\n\t0x34, 0x61, 0x79, 0x7e, 0xdc, 0x3b, 0x1f, 0xc0, 0x7a, 0x62, 0x00, 0x97, 0xed, 0xba, 0xfa, 0x5b,\n\t0x78, 0x79, 0xa9, 0x69, 0xfc, 0x19, 0x6c, 0x4f, 0x2d, 0xc3, 0xf2, 0xa9, 0xeb, 0xb8, 0x94, 0x65,\n\t0xac, 0xe8, 0x4a, 0xfa, 0xcf, 0xda, 0x8a, 0x9c, 0x3b, 0x8b, 0xb3, 0x85, 0x15, 0x65, 0x6b, 0xba,\n\t0x08, 0xde, 0x2e, 0x16, 0xfe, 0xbb, 0x86, 0x9e, 0x3d, 0x7b, 0xf6, 0x2c, 0x5d, 0xfd, 0x63, 0x1e,\n\t0xb6, 0x97, 0xad, 0x99, 0xa5, 0xcb, 0xf7, 0x0a, 0xe4, 0xad, 0xe9, 0xe4, 0x9c, 0xba, 0x3c, 0x48,\n\t0x39, 0x25, 0x68, 0xe1, 0x3a, 0xe4, 0x4c, 0x72, 0x4e, 0x4d, 0x29, 0xbb, 0x9b, 0xda, 0xab, 0x1c,\n\t0xbc, 0x73, 0xa9, 0x55, 0x59, 0x6b, 0x33, 0x15, 0x45, 0x68, 0xe2, 0x8f, 0x21, 0x1b, 0x6c, 0xd1,\n\t0xcc, 0xc2, 0xed, 0xcb, 0x59, 0x60, 0x6b, 0x49, 0xe1, 0x7a, 0xf8, 0x15, 0x28, 0xb2, 0x5f, 0x91,\n\t0x1b, 0x79, 0xee, 0x73, 0x81, 0x01, 0x2c, 0x2f, 0xf0, 0x0e, 0x14, 0xf8, 0x32, 0xd1, 0x69, 0x78,\n\t0xb4, 0x45, 0x6d, 0x96, 0x58, 0x3a, 0x1d, 0x92, 0xa9, 0xe9, 0xab, 0x8f, 0x89, 0x39, 0xa5, 0x3c,\n\t0xe1, 0x8b, 0x4a, 0x39, 0x00, 0x7f, 0xc3, 0x30, 0x7c, 0x1d, 0x4a, 0x62, 0x55, 0x19, 0x96, 0x4e,\n\t0x9f, 0xf2, 0xdd, 0x33, 0xa7, 0x88, 0x85, 0xd6, 0x62, 0x08, 0xeb, 0xfe, 0xa1, 0x67, 0x5b, 0x61,\n\t0x6a, 0xf2, 0x2e, 0x18, 0xc0, 0xbb, 0xff, 0x60, 0x7e, 0xe3, 0x7e, 0x6d, 0xf9, 0xf0, 0xe6, 0x73,\n\t0xaa, 0xfa, 0xb7, 0x34, 0x64, 0xf9, 0x7e, 0xb1, 0x01, 0xa5, 0xc1, 0xe7, 0x3d, 0x59, 0x6d, 0x76,\n\t0xcf, 0x8e, 0xda, 0x32, 0x4a, 0xe1, 0x0a, 0x00, 0x07, 0x1e, 0xb4, 0xbb, 0xf5, 0x01, 0x4a, 0x47,\n\t0xed, 0x56, 0x67, 0x70, 0xef, 0x0e, 0xca, 0x44, 0x0a, 0x67, 0x02, 0xc8, 0xc6, 0x09, 0xef, 0x1f,\n\t0xa0, 0x1c, 0x46, 0x50, 0x16, 0x06, 0x5a, 0x9f, 0xc9, 0xcd, 0x7b, 0x77, 0x50, 0x3e, 0x89, 0xbc,\n\t0x7f, 0x80, 0xd6, 0xf0, 0x3a, 0x14, 0x39, 0x72, 0xd4, 0xed, 0xb6, 0x51, 0x21, 0xb2, 0xd9, 0x1f,\n\t0x28, 0xad, 0xce, 0x31, 0x2a, 0x46, 0x36, 0x8f, 0x95, 0xee, 0x59, 0x0f, 0x41, 0x64, 0xe1, 0x54,\n\t0xee, 0xf7, 0xeb, 0xc7, 0x32, 0x2a, 0x45, 0x8c, 0xa3, 0xcf, 0x07, 0x72, 0x1f, 0x95, 0x13, 0x6e,\n\t0xbd, 0x7f, 0x80, 0xd6, 0xa3, 0x2e, 0xe4, 0xce, 0xd9, 0x29, 0xaa, 0xe0, 0x4d, 0x58, 0x17, 0x5d,\n\t0x84, 0x4e, 0x6c, 0xcc, 0x41, 0xf7, 0xee, 0x20, 0x34, 0x73, 0x44, 0x58, 0xd9, 0x4c, 0x00, 0xf7,\n\t0xee, 0x20, 0x5c, 0x6d, 0x40, 0x8e, 0x67, 0x17, 0xc6, 0x50, 0x69, 0xd7, 0x8f, 0xe4, 0xb6, 0xda,\n\t0xed, 0x0d, 0x5a, 0xdd, 0x4e, 0xbd, 0x8d, 0x52, 0x33, 0x4c, 0x91, 0x7f, 0x7d, 0xd6, 0x52, 0xe4,\n\t0x26, 0x4a, 0xc7, 0xb1, 0x9e, 0x5c, 0x1f, 0xc8, 0x4d, 0x94, 0xa9, 0x6a, 0xb0, 0xbd, 0x6c, 0x9f,\n\t0x5c, 0xba, 0x32, 0x62, 0x53, 0x9c, 0x5e, 0x31, 0xc5, 0xdc, 0xd6, 0xc2, 0x14, 0x7f, 0x9d, 0x82,\n\t0xad, 0x25, 0x67, 0xc5, 0xd2, 0x4e, 0x7e, 0x01, 0x39, 0x91, 0xa2, 0xe2, 0xf4, 0xbc, 0xb5, 0xf4,\n\t0xd0, 0xe1, 0x09, 0xbb, 0x70, 0x82, 0x72, 0xbd, 0x78, 0x05, 0x91, 0x59, 0x51, 0x41, 0x30, 0x13,\n\t0x0b, 0x4e, 0xfe, 0x2e, 0x05, 0xd2, 0x2a, 0xdb, 0xcf, 0xd9, 0x28, 0xd2, 0x89, 0x8d, 0xe2, 0xa3,\n\t0x79, 0x07, 0x6e, 0xac, 0x1e, 0xc3, 0x82, 0x17, 0xdf, 0xa4, 0xe0, 0xca, 0xf2, 0x42, 0x6b, 0xa9,\n\t0x0f, 0x1f, 0x43, 0x7e, 0x42, 0xfd, 0xb1, 0x1d, 0x16, 0x1b, 0x6f, 0x2f, 0x39, 0xc2, 0x98, 0x78,\n\t0x3e, 0x56, 0x81, 0x56, 0xfc, 0x0c, 0xcc, 0xac, 0xaa, 0x96, 0x84, 0x37, 0x0b, 0x9e, 0xfe, 0x3e,\n\t0x0d, 0x2f, 0x2f, 0x35, 0xbe, 0xd4, 0xd1, 0xd7, 0x00, 0x0c, 0xcb, 0x99, 0xfa, 0xa2, 0xa0, 0x10,\n\t0xfb, 0x53, 0x91, 0x23, 0x7c, 0xed, 0xb3, 0xbd, 0x67, 0xea, 0x47, 0xf2, 0x0c, 0x97, 0x83, 0x80,\n\t0x38, 0xe1, 0xfe, 0xcc, 0xd1, 0x2c, 0x77, 0xf4, 0xf5, 0x15, 0x23, 0x5d, 0x38, 0xab, 0xdf, 0x03,\n\t0xa4, 0x99, 0x06, 0xb5, 0x7c, 0xd5, 0xf3, 0x5d, 0x4a, 0x26, 0x86, 0x35, 0xe2, 0x1b, 0x70, 0xe1,\n\t0x30, 0x37, 0x24, 0xa6, 0x47, 0x95, 0x0d, 0x21, 0xee, 0x87, 0x52, 0xa6, 0xc1, 0xcf, 0x38, 0x37,\n\t0xa6, 0x91, 0x4f, 0x68, 0x08, 0x71, 0xa4, 0x51, 0xfd, 0xb6, 0x00, 0xa5, 0x58, 0x59, 0x8a, 0x6f,\n\t0x40, 0xf9, 0x21, 0x79, 0x4c, 0xd4, 0xf0, 0xaa, 0x21, 0x22, 0x51, 0x62, 0x58, 0x2f, 0xb8, 0x6e,\n\t0xbc, 0x07, 0xdb, 0x9c, 0x62, 0x4f, 0x7d, 0xea, 0xaa, 0x9a, 0x49, 0x3c, 0x8f, 0x07, 0xad, 0xc0,\n\t0xa9, 0x98, 0xc9, 0xba, 0x4c, 0xd4, 0x08, 0x25, 0xf8, 0x2e, 0x6c, 0x71, 0x8d, 0xc9, 0xd4, 0xf4,\n\t0x0d, 0xc7, 0xa4, 0x2a, 0xbb, 0xfc, 0x78, 0x7c, 0x23, 0x8e, 0x3c, 0xdb, 0x64, 0x8c, 0xd3, 0x80,\n\t0xc0, 0x3c, 0xf2, 0x70, 0x13, 0x5e, 0xe3, 0x6a, 0x23, 0x6a, 0x51, 0x97, 0xf8, 0x54, 0xa5, 0x5f,\n\t0x4e, 0x89, 0xe9, 0xa9, 0xc4, 0xd2, 0xd5, 0x31, 0xf1, 0xc6, 0xd2, 0x36, 0x33, 0x70, 0x94, 0x96,\n\t0x52, 0xca, 0x35, 0x46, 0x3c, 0x0e, 0x78, 0x32, 0xa7, 0xd5, 0x2d, 0xfd, 0x13, 0xe2, 0x8d, 0xf1,\n\t0x21, 0x5c, 0xe1, 0x56, 0x3c, 0xdf, 0x35, 0xac, 0x91, 0xaa, 0x8d, 0xa9, 0xf6, 0x48, 0x9d, 0xfa,\n\t0xc3, 0xfb, 0xd2, 0x2b, 0xf1, 0xfe, 0xb9, 0x87, 0x7d, 0xce, 0x69, 0x30, 0xca, 0x99, 0x3f, 0xbc,\n\t0x8f, 0xfb, 0x50, 0x66, 0x93, 0x31, 0x31, 0xbe, 0xa2, 0xea, 0xd0, 0x76, 0xf9, 0xc9, 0x52, 0x59,\n\t0xb2, 0xb2, 0x63, 0x11, 0xac, 0x75, 0x03, 0x85, 0x53, 0x5b, 0xa7, 0x87, 0xb9, 0x7e, 0x4f, 0x96,\n\t0x9b, 0x4a, 0x29, 0xb4, 0xf2, 0xc0, 0x76, 0x59, 0x42, 0x8d, 0xec, 0x28, 0xc0, 0x25, 0x91, 0x50,\n\t0x23, 0x3b, 0x0c, 0xef, 0x5d, 0xd8, 0xd2, 0x34, 0x31, 0x66, 0x43, 0x53, 0x83, 0x2b, 0x8a, 0x27,\n\t0xa1, 0x44, 0xb0, 0x34, 0xed, 0x58, 0x10, 0x82, 0x1c, 0xf7, 0xf0, 0x87, 0xf0, 0xf2, 0x2c, 0x58,\n\t0x71, 0xc5, 0xcd, 0x85, 0x51, 0xce, 0xab, 0xde, 0x85, 0x2d, 0xe7, 0x62, 0x51, 0x11, 0x27, 0x7a,\n\t0x74, 0x2e, 0xe6, 0xd5, 0x3e, 0x80, 0x6d, 0x67, 0xec, 0x2c, 0xea, 0xdd, 0x8e, 0xeb, 0x61, 0x67,\n\t0xec, 0xcc, 0x2b, 0xbe, 0xc5, 0xef, 0xab, 0x2e, 0xd5, 0x88, 0x4f, 0x75, 0xe9, 0x6a, 0x9c, 0x1e,\n\t0x13, 0xe0, 0x7d, 0x40, 0x9a, 0xa6, 0x52, 0x8b, 0x9c, 0x9b, 0x54, 0x25, 0x2e, 0xb5, 0x88, 0x27,\n\t0x5d, 0x8f, 0x93, 0x2b, 0x9a, 0x26, 0x73, 0x69, 0x9d, 0x0b, 0xf1, 0x6d, 0xd8, 0xb4, 0xcf, 0x1f,\n\t0x6a, 0x22, 0x25, 0x55, 0xc7, 0xa5, 0x43, 0xe3, 0xa9, 0xf4, 0x26, 0x8f, 0xef, 0x06, 0x13, 0xf0,\n\t0x84, 0xec, 0x71, 0x18, 0xdf, 0x02, 0xa4, 0x79, 0x63, 0xe2, 0x3a, 0xbc, 0x26, 0xf0, 0x1c, 0xa2,\n\t0x51, 0xe9, 0x2d, 0x41, 0x15, 0x78, 0x27, 0x84, 0xd9, 0x92, 0xf0, 0x9e, 0x18, 0x43, 0x3f, 0xb4,\n\t0x78, 0x53, 0x2c, 0x09, 0x8e, 0x05, 0xd6, 0xf6, 0x00, 0xb1, 0x50, 0x24, 0x3a, 0xde, 0xe3, 0xb4,\n\t0x8a, 0x33, 0x76, 0xe2, 0xfd, 0xbe, 0x01, 0xeb, 0x8c, 0x39, 0xeb, 0xf4, 0x96, 0xa8, 0x67, 0x9c,\n\t0x71, 0xac, 0xc7, 0x1f, 0xad, 0xb4, 0xac, 0x1e, 0x42, 0x39, 0x9e, 0x9f, 0xb8, 0x08, 0x22, 0x43,\n\t0x51, 0x8a, 0x9d, 0xf5, 0x8d, 0x6e, 0x93, 0x9d, 0xd2, 0x5f, 0xc8, 0x28, 0xcd, 0xaa, 0x85, 0x76,\n\t0x6b, 0x20, 0xab, 0xca, 0x59, 0x67, 0xd0, 0x3a, 0x95, 0x51, 0x26, 0x56, 0x96, 0x9e, 0x64, 0x0b,\n\t0x6f, 0xa3, 0x9b, 0xd5, 0xef, 0xd2, 0x50, 0x49, 0xde, 0x33, 0xf0, 0xcf, 0xe1, 0x6a, 0xf8, 0x28,\n\t0xe0, 0x51, 0x5f, 0x7d, 0x62, 0xb8, 0x7c, 0xe1, 0x4c, 0x88, 0xa8, 0xb3, 0xa3, 0xa9, 0xdb, 0x0e,\n\t0x58, 0x7d, 0xea, 0x7f, 0x6a, 0xb8, 0x6c, 0x59, 0x4c, 0x88, 0x8f, 0xdb, 0x70, 0xdd, 0xb2, 0x55,\n\t0xcf, 0x27, 0x96, 0x4e, 0x5c, 0x5d, 0x9d, 0x3d, 0xc7, 0xa8, 0x44, 0xd3, 0xa8, 0xe7, 0xd9, 0xe2,\n\t0xc0, 0x8a, 0xac, 0xbc, 0x6a, 0xd9, 0xfd, 0x80, 0x3c, 0xdb, 0xc9, 0xeb, 0x01, 0x75, 0x2e, 0xcd,\n\t0x32, 0xab, 0xd2, 0xec, 0x15, 0x28, 0x4e, 0x88, 0xa3, 0x52, 0xcb, 0x77, 0x2f, 0x78, 0x75, 0x59,\n\t0x50, 0x0a, 0x13, 0xe2, 0xc8, 0xac, 0xfd, 0x42, 0x8a, 0xfc, 0x93, 0x6c, 0xa1, 0x80, 0x8a, 0x27,\n\t0xd9, 0x42, 0x11, 0x41, 0xf5, 0x5f, 0x19, 0x28, 0xc7, 0xab, 0x4d, 0x56, 0xbc, 0x6b, 0xfc, 0x64,\n\t0x49, 0xf1, 0xbd, 0xe7, 0x8d, 0xef, 0xad, 0x4d, 0x6b, 0x0d, 0x76, 0xe4, 0x1c, 0xe6, 0x45, 0x0d,\n\t0xa8, 0x08, 0x4d, 0x76, 0xdc, 0xb3, 0xdd, 0x86, 0x8a, 0x7b, 0x4d, 0x41, 0x09, 0x5a, 0xf8, 0x18,\n\t0xf2, 0x0f, 0x3d, 0x6e, 0x3b, 0xcf, 0x6d, 0xbf, 0xf9, 0xfd, 0xb6, 0x4f, 0xfa, 0xdc, 0x78, 0xf1,\n\t0xa4, 0xaf, 0x76, 0xba, 0xca, 0x69, 0xbd, 0xad, 0x04, 0xea, 0xf8, 0x1a, 0x64, 0x4d, 0xf2, 0xd5,\n\t0x45, 0xf2, 0x70, 0xe2, 0xd0, 0x65, 0x27, 0xe1, 0x1a, 0x64, 0x9f, 0x50, 0xf2, 0x28, 0x79, 0x24,\n\t0x70, 0xe8, 0x47, 0x5c, 0x0c, 0xfb, 0x90, 0xe3, 0xf1, 0xc2, 0x00, 0x41, 0xc4, 0xd0, 0x4b, 0xb8,\n\t0x00, 0xd9, 0x46, 0x57, 0x61, 0x0b, 0x02, 0x41, 0x59, 0xa0, 0x6a, 0xaf, 0x25, 0x37, 0x64, 0x94,\n\t0xae, 0xde, 0x85, 0xbc, 0x08, 0x02, 0x5b, 0x2c, 0x51, 0x18, 0xd0, 0x4b, 0x41, 0x33, 0xb0, 0x91,\n\t0x0a, 0xa5, 0x67, 0xa7, 0x47, 0xb2, 0x82, 0xd2, 0xc9, 0xa9, 0xce, 0xa2, 0x5c, 0xd5, 0x83, 0x72,\n\t0xbc, 0xdc, 0x7c, 0x31, 0x57, 0xc9, 0xbf, 0xa7, 0xa0, 0x14, 0x2b, 0x1f, 0x59, 0xe1, 0x42, 0x4c,\n\t0xd3, 0x7e, 0xa2, 0x12, 0xd3, 0x20, 0x5e, 0x90, 0x1a, 0xc0, 0xa1, 0x3a, 0x43, 0x2e, 0x3b, 0x75,\n\t0x2f, 0x68, 0x89, 0xe4, 0x50, 0xbe, 0xfa, 0x97, 0x14, 0xa0, 0xf9, 0x02, 0x74, 0xce, 0xcd, 0xd4,\n\t0x4f, 0xe9, 0x66, 0xf5, 0xcf, 0x29, 0xa8, 0x24, 0xab, 0xce, 0x39, 0xf7, 0x6e, 0xfc, 0xa4, 0xee,\n\t0xfd, 0x33, 0x0d, 0xeb, 0x89, 0x5a, 0xf3, 0xb2, 0xde, 0x7d, 0x09, 0x9b, 0x86, 0x4e, 0x27, 0x8e,\n\t0xed, 0x53, 0x4b, 0xbb, 0x50, 0x4d, 0xfa, 0x98, 0x9a, 0x52, 0x95, 0x6f, 0x1a, 0xfb, 0xdf, 0x5f,\n\t0xcd, 0xd6, 0x5a, 0x33, 0xbd, 0x36, 0x53, 0x3b, 0xdc, 0x6a, 0x35, 0xe5, 0xd3, 0x5e, 0x77, 0x20,\n\t0x77, 0x1a, 0x9f, 0xab, 0x67, 0x9d, 0x5f, 0x75, 0xba, 0x9f, 0x76, 0x14, 0x64, 0xcc, 0xd1, 0x7e,\n\t0xc4, 0x65, 0xdf, 0x03, 0x34, 0xef, 0x14, 0xbe, 0x0a, 0xcb, 0xdc, 0x42, 0x2f, 0xe1, 0x2d, 0xd8,\n\t0xe8, 0x74, 0xd5, 0x7e, 0xab, 0x29, 0xab, 0xf2, 0x83, 0x07, 0x72, 0x63, 0xd0, 0x17, 0xd7, 0xfb,\n\t0x88, 0x3d, 0x48, 0x2c, 0xf0, 0xea, 0x9f, 0x32, 0xb0, 0xb5, 0xc4, 0x13, 0x5c, 0x0f, 0x6e, 0x16,\n\t0xe2, 0xb2, 0xf3, 0xee, 0x65, 0xbc, 0xaf, 0xb1, 0x82, 0xa0, 0x47, 0x5c, 0x3f, 0xb8, 0x88, 0xdc,\n\t0x02, 0x16, 0x25, 0xcb, 0x37, 0x86, 0x06, 0x75, 0x83, 0xd7, 0x10, 0x71, 0xdd, 0xd8, 0x98, 0xe1,\n\t0xe2, 0x41, 0xe4, 0x67, 0x80, 0x1d, 0xdb, 0x33, 0x7c, 0xe3, 0x31, 0x55, 0x0d, 0x2b, 0x7c, 0x3a,\n\t0x61, 0xd7, 0x8f, 0xac, 0x82, 0x42, 0x49, 0xcb, 0xf2, 0x23, 0xb6, 0x45, 0x47, 0x64, 0x8e, 0xcd,\n\t0x36, 0xf3, 0x8c, 0x82, 0x42, 0x49, 0xc4, 0xbe, 0x01, 0x65, 0xdd, 0x9e, 0xb2, 0x9a, 0x4c, 0xf0,\n\t0xd8, 0xd9, 0x91, 0x52, 0x4a, 0x02, 0x8b, 0x28, 0x41, 0xb5, 0x3d, 0x7b, 0xb3, 0x29, 0x2b, 0x25,\n\t0x81, 0x09, 0xca, 0x4d, 0xd8, 0x20, 0xa3, 0x91, 0xcb, 0x8c, 0x87, 0x86, 0xc4, 0xfd, 0xa1, 0x12,\n\t0xc1, 0x9c, 0xb8, 0x73, 0x02, 0x85, 0x30, 0x0e, 0xec, 0xa8, 0x66, 0x91, 0x50, 0x1d, 0xf1, 0x6e,\n\t0x97, 0xde, 0x2b, 0x2a, 0x05, 0x2b, 0x14, 0xde, 0x80, 0xb2, 0xe1, 0xa9, 0xb3, 0x27, 0xe8, 0xf4,\n\t0x6e, 0x7a, 0xaf, 0xa0, 0x94, 0x0c, 0x2f, 0x7a, 0xbe, 0xab, 0x7e, 0x93, 0x86, 0x4a, 0xf2, 0x09,\n\t0x1d, 0x37, 0xa1, 0x60, 0xda, 0x1a, 0xe1, 0xa9, 0x25, 0xbe, 0xdf, 0xec, 0x3d, 0xe7, 0xd5, 0xbd,\n\t0xd6, 0x0e, 0xf8, 0x4a, 0xa4, 0xb9, 0xf3, 0x8f, 0x14, 0x14, 0x42, 0x18, 0x5f, 0x81, 0xac, 0x43,\n\t0xfc, 0x31, 0x37, 0x97, 0x3b, 0x4a, 0xa3, 0x94, 0xc2, 0xdb, 0x0c, 0xf7, 0x1c, 0x62, 0xf1, 0x14,\n\t0x08, 0x70, 0xd6, 0x66, 0xf3, 0x6a, 0x52, 0xa2, 0xf3, 0xcb, 0x89, 0x3d, 0x99, 0x50, 0xcb, 0xf7,\n\t0xc2, 0x79, 0x0d, 0xf0, 0x46, 0x00, 0xe3, 0x77, 0x60, 0xd3, 0x77, 0x89, 0x61, 0x26, 0xb8, 0x59,\n\t0xce, 0x45, 0xa1, 0x20, 0x22, 0x1f, 0xc2, 0xb5, 0xd0, 0xae, 0x4e, 0x7d, 0xa2, 0x8d, 0xa9, 0x3e,\n\t0x53, 0xca, 0xf3, 0xf7, 0xd9, 0xab, 0x01, 0xa1, 0x19, 0xc8, 0x43, 0xdd, 0xea, 0x77, 0x29, 0xd8,\n\t0x0c, 0xaf, 0x53, 0x7a, 0x14, 0xac, 0x53, 0x00, 0x62, 0x59, 0xb6, 0x1f, 0x0f, 0xd7, 0x62, 0x2a,\n\t0x2f, 0xe8, 0xd5, 0xea, 0x91, 0x92, 0x12, 0x33, 0xb0, 0x33, 0x01, 0x98, 0x49, 0x56, 0x86, 0xed,\n\t0x3a, 0x94, 0x82, 0xef, 0x23, 0xfc, 0x23, 0x9b, 0xb8, 0x80, 0x83, 0x80, 0xd8, 0xbd, 0x0b, 0x6f,\n\t0x43, 0xee, 0x9c, 0x8e, 0x0c, 0x2b, 0x78, 0xf5, 0x14, 0x8d, 0xf0, 0x25, 0x37, 0x1b, 0xbd, 0xe4,\n\t0x1e, 0xfd, 0x21, 0x05, 0x5b, 0x9a, 0x3d, 0x99, 0xf7, 0xf7, 0x08, 0xcd, 0xbd, 0x02, 0x78, 0x9f,\n\t0xa4, 0xbe, 0xf8, 0x78, 0x64, 0xf8, 0xe3, 0xe9, 0x79, 0x4d, 0xb3, 0x27, 0xfb, 0x23, 0xdb, 0x24,\n\t0xd6, 0x68, 0xf6, 0x95, 0x90, 0xff, 0xd1, 0xde, 0x1d, 0x51, 0xeb, 0xdd, 0x91, 0x1d, 0xfb, 0x66,\n\t0xf8, 0xd1, 0xec, 0xef, 0xd7, 0xe9, 0xcc, 0x71, 0xef, 0xe8, 0xaf, 0xe9, 0x9d, 0x63, 0xd1, 0x57,\n\t0x2f, 0x8c, 0x8d, 0x42, 0x87, 0x26, 0xd5, 0xd8, 0x78, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x0c,\n\t0xab, 0xb6, 0x37, 0x7e, 0x1c, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/protoc-gen-go/doc.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/*\n\tA plugin for the Google protocol buffer compiler to generate Go code.\n\tRun it by building this program and putting it in your path with the name\n\t\tprotoc-gen-go\n\tThat word 'go' at the end becomes part of the option string set for the\n\tprotocol compiler, so once the protocol compiler (protoc) is installed\n\tyou can run\n\t\tprotoc --go_out=output_directory input_directory/file.proto\n\tto generate Go bindings for the protocol defined by file.proto.\n\tWith that input, the output will be written to\n\t\toutput_directory/file.pb.go\n\n\tThe generated code is documented in the package comment for\n\tthe library.\n\n\tSee the README and documentation for protocol buffers to learn more:\n\t\thttps://developers.google.com/protocol-buffers/\n\n*/\npackage documentation\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/protoc-gen-go/link_grpc.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2015 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage main\n\nimport _ \"github.com/golang/protobuf/protoc-gen-go/grpc\"\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/protoc-gen-go/main.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// protoc-gen-go is a plugin for the Google protocol buffer compiler to generate\n// Go code.  Run it by building this program and putting it in your path with\n// the name\n// \tprotoc-gen-go\n// That word 'go' at the end becomes part of the option string set for the\n// protocol compiler, so once the protocol compiler (protoc) is installed\n// you can run\n// \tprotoc --go_out=output_directory input_directory/file.proto\n// to generate Go bindings for the protocol defined by file.proto.\n// With that input, the output will be written to\n// \toutput_directory/file.pb.go\n//\n// The generated code is documented in the package comment for\n// the library.\n//\n// See the README and documentation for protocol buffers to learn more:\n// \thttps://developers.google.com/protocol-buffers/\npackage main\n\nimport (\n\t\"io/ioutil\"\n\t\"os\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"github.com/golang/protobuf/protoc-gen-go/generator\"\n)\n\nfunc main() {\n\t// Begin by allocating a generator. The request and response structures are stored there\n\t// so we can do error handling easily - the response structure contains the field to\n\t// report failure.\n\tg := generator.New()\n\n\tdata, err := ioutil.ReadAll(os.Stdin)\n\tif err != nil {\n\t\tg.Error(err, \"reading input\")\n\t}\n\n\tif err := proto.Unmarshal(data, g.Request); err != nil {\n\t\tg.Error(err, \"parsing input proto\")\n\t}\n\n\tif len(g.Request.FileToGenerate) == 0 {\n\t\tg.Fail(\"no files to generate\")\n\t}\n\n\tg.CommandLineParameters(g.Request.GetParameter())\n\n\t// Create a wrapped version of the Descriptors and EnumDescriptors that\n\t// point to the file that defines them.\n\tg.WrapTypes()\n\n\tg.SetPackageNames()\n\tg.BuildTypeNameMap()\n\n\tg.GenerateAllFiles()\n\n\t// Send back the results.\n\tdata, err = proto.Marshal(g.Response)\n\tif err != nil {\n\t\tg.Error(err, \"failed to marshal output proto\")\n\t}\n\t_, err = os.Stdout.Write(data)\n\tif err != nil {\n\t\tg.Error(err, \"failed to write output proto\")\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/any/any.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/protobuf/any.proto\n\n/*\nPackage any is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle/protobuf/any.proto\n\nIt has these top-level messages:\n\tAny\n*/\npackage any\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\n// `Any` contains an arbitrary serialized protocol buffer message along with a\n// URL that describes the type of the serialized message.\n//\n// Protobuf library provides support to pack/unpack Any values in the form\n// of utility functions or additional generated methods of the Any type.\n//\n// Example 1: Pack and unpack a message in C++.\n//\n//     Foo foo = ...;\n//     Any any;\n//     any.PackFrom(foo);\n//     ...\n//     if (any.UnpackTo(&foo)) {\n//       ...\n//     }\n//\n// Example 2: Pack and unpack a message in Java.\n//\n//     Foo foo = ...;\n//     Any any = Any.pack(foo);\n//     ...\n//     if (any.is(Foo.class)) {\n//       foo = any.unpack(Foo.class);\n//     }\n//\n//  Example 3: Pack and unpack a message in Python.\n//\n//     foo = Foo(...)\n//     any = Any()\n//     any.Pack(foo)\n//     ...\n//     if any.Is(Foo.DESCRIPTOR):\n//       any.Unpack(foo)\n//       ...\n//\n//  Example 4: Pack and unpack a message in Go\n//\n//      foo := &pb.Foo{...}\n//      any, err := ptypes.MarshalAny(foo)\n//      ...\n//      foo := &pb.Foo{}\n//      if err := ptypes.UnmarshalAny(any, foo); err != nil {\n//        ...\n//      }\n//\n// The pack methods provided by protobuf library will by default use\n// 'type.googleapis.com/full.type.name' as the type URL and the unpack\n// methods only use the fully qualified type name after the last '/'\n// in the type URL, for example \"foo.bar.com/x/y.z\" will yield type\n// name \"y.z\".\n//\n//\n// JSON\n// ====\n// The JSON representation of an `Any` value uses the regular\n// representation of the deserialized, embedded message, with an\n// additional field `@type` which contains the type URL. Example:\n//\n//     package google.profile;\n//     message Person {\n//       string first_name = 1;\n//       string last_name = 2;\n//     }\n//\n//     {\n//       \"@type\": \"type.googleapis.com/google.profile.Person\",\n//       \"firstName\": <string>,\n//       \"lastName\": <string>\n//     }\n//\n// If the embedded message type is well-known and has a custom JSON\n// representation, that representation will be embedded adding a field\n// `value` which holds the custom JSON in addition to the `@type`\n// field. Example (for message [google.protobuf.Duration][]):\n//\n//     {\n//       \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n//       \"value\": \"1.212s\"\n//     }\n//\ntype Any struct {\n\t// A URL/resource name whose content describes the type of the\n\t// serialized protocol buffer message.\n\t//\n\t// For URLs which use the scheme `http`, `https`, or no scheme, the\n\t// following restrictions and interpretations apply:\n\t//\n\t// * If no scheme is provided, `https` is assumed.\n\t// * The last segment of the URL's path must represent the fully\n\t//   qualified name of the type (as in `path/google.protobuf.Duration`).\n\t//   The name should be in a canonical form (e.g., leading \".\" is\n\t//   not accepted).\n\t// * An HTTP GET on the URL must yield a [google.protobuf.Type][]\n\t//   value in binary format, or produce an error.\n\t// * Applications are allowed to cache lookup results based on the\n\t//   URL, or have them precompiled into a binary to avoid any\n\t//   lookup. Therefore, binary compatibility needs to be preserved\n\t//   on changes to types. (Use versioned type names to manage\n\t//   breaking changes.)\n\t//\n\t// Schemes other than `http`, `https` (or the empty scheme) might be\n\t// used with implementation specific semantics.\n\t//\n\tTypeUrl string `protobuf:\"bytes,1,opt,name=type_url,json=typeUrl\" json:\"type_url,omitempty\"`\n\t// Must be a valid serialized protocol buffer of the above specified type.\n\tValue []byte `protobuf:\"bytes,2,opt,name=value,proto3\" json:\"value,omitempty\"`\n}\n\nfunc (m *Any) Reset()                    { *m = Any{} }\nfunc (m *Any) String() string            { return proto.CompactTextString(m) }\nfunc (*Any) ProtoMessage()               {}\nfunc (*Any) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }\nfunc (*Any) XXX_WellKnownType() string   { return \"Any\" }\n\nfunc (m *Any) GetTypeUrl() string {\n\tif m != nil {\n\t\treturn m.TypeUrl\n\t}\n\treturn \"\"\n}\n\nfunc (m *Any) GetValue() []byte {\n\tif m != nil {\n\t\treturn m.Value\n\t}\n\treturn nil\n}\n\nfunc init() {\n\tproto.RegisterType((*Any)(nil), \"google.protobuf.Any\")\n}\n\nfunc init() { proto.RegisterFile(\"google/protobuf/any.proto\", fileDescriptor0) }\n\nvar fileDescriptor0 = []byte{\n\t// 185 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f,\n\t0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4,\n\t0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x25, 0x33, 0x2e, 0x66, 0xc7, 0xbc, 0x4a,\n\t0x21, 0x49, 0x2e, 0x8e, 0x92, 0xca, 0x82, 0xd4, 0xf8, 0xd2, 0xa2, 0x1c, 0x09, 0x46, 0x05, 0x46,\n\t0x0d, 0xce, 0x20, 0x76, 0x10, 0x3f, 0xb4, 0x28, 0x47, 0x48, 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7,\n\t0x34, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0x27, 0x08, 0xc2, 0x71, 0xca, 0xe7, 0x12, 0x4e, 0xce,\n\t0xcf, 0xd5, 0x43, 0x33, 0xce, 0x89, 0xc3, 0x31, 0xaf, 0x32, 0x00, 0xc4, 0x09, 0x60, 0x8c, 0x52,\n\t0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc,\n\t0x4b, 0x47, 0xb8, 0xa8, 0x00, 0x64, 0x7a, 0x31, 0xc8, 0x61, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c,\n\t0x56, 0x31, 0xc9, 0xb9, 0x43, 0x8c, 0x0a, 0x80, 0x2a, 0xd1, 0x0b, 0x4f, 0xcd, 0xc9, 0xf1, 0xce,\n\t0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0x29, 0x4d, 0x62, 0x03, 0xeb, 0x35, 0x06, 0x04, 0x00, 0x00, 0xff,\n\t0xff, 0x13, 0xf8, 0xe8, 0x42, 0xdd, 0x00, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/any.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage ptypes\n\n// This file implements functions to marshal proto.Message to/from\n// google.protobuf.Any message.\n\nimport (\n\t\"fmt\"\n\t\"reflect\"\n\t\"strings\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"github.com/golang/protobuf/ptypes/any\"\n)\n\nconst googleApis = \"type.googleapis.com/\"\n\n// AnyMessageName returns the name of the message contained in a google.protobuf.Any message.\n//\n// Note that regular type assertions should be done using the Is\n// function. AnyMessageName is provided for less common use cases like filtering a\n// sequence of Any messages based on a set of allowed message type names.\nfunc AnyMessageName(any *any.Any) (string, error) {\n\tif any == nil {\n\t\treturn \"\", fmt.Errorf(\"message is nil\")\n\t}\n\tslash := strings.LastIndex(any.TypeUrl, \"/\")\n\tif slash < 0 {\n\t\treturn \"\", fmt.Errorf(\"message type url %q is invalid\", any.TypeUrl)\n\t}\n\treturn any.TypeUrl[slash+1:], nil\n}\n\n// MarshalAny takes the protocol buffer and encodes it into google.protobuf.Any.\nfunc MarshalAny(pb proto.Message) (*any.Any, error) {\n\tvalue, err := proto.Marshal(pb)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &any.Any{TypeUrl: googleApis + proto.MessageName(pb), Value: value}, nil\n}\n\n// DynamicAny is a value that can be passed to UnmarshalAny to automatically\n// allocate a proto.Message for the type specified in a google.protobuf.Any\n// message. The allocated message is stored in the embedded proto.Message.\n//\n// Example:\n//\n//   var x ptypes.DynamicAny\n//   if err := ptypes.UnmarshalAny(a, &x); err != nil { ... }\n//   fmt.Printf(\"unmarshaled message: %v\", x.Message)\ntype DynamicAny struct {\n\tproto.Message\n}\n\n// Empty returns a new proto.Message of the type specified in a\n// google.protobuf.Any message. It returns an error if corresponding message\n// type isn't linked in.\nfunc Empty(any *any.Any) (proto.Message, error) {\n\taname, err := AnyMessageName(any)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tt := proto.MessageType(aname)\n\tif t == nil {\n\t\treturn nil, fmt.Errorf(\"any: message type %q isn't linked in\", aname)\n\t}\n\treturn reflect.New(t.Elem()).Interface().(proto.Message), nil\n}\n\n// UnmarshalAny parses the protocol buffer representation in a google.protobuf.Any\n// message and places the decoded result in pb. It returns an error if type of\n// contents of Any message does not match type of pb message.\n//\n// pb can be a proto.Message, or a *DynamicAny.\nfunc UnmarshalAny(any *any.Any, pb proto.Message) error {\n\tif d, ok := pb.(*DynamicAny); ok {\n\t\tif d.Message == nil {\n\t\t\tvar err error\n\t\t\td.Message, err = Empty(any)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\treturn UnmarshalAny(any, d.Message)\n\t}\n\n\taname, err := AnyMessageName(any)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tmname := proto.MessageName(pb)\n\tif aname != mname {\n\t\treturn fmt.Errorf(\"mismatched message type: got %q want %q\", aname, mname)\n\t}\n\treturn proto.Unmarshal(any.Value, pb)\n}\n\n// Is returns true if any value contains a given message type.\nfunc Is(any *any.Any, pb proto.Message) bool {\n\taname, err := AnyMessageName(any)\n\tif err != nil {\n\t\treturn false\n\t}\n\n\treturn aname == proto.MessageName(pb)\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/doc.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/*\nPackage ptypes contains code for interacting with well-known types.\n*/\npackage ptypes\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/protobuf/duration.proto\n\n/*\nPackage duration is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle/protobuf/duration.proto\n\nIt has these top-level messages:\n\tDuration\n*/\npackage duration\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\n// A Duration represents a signed, fixed-length span of time represented\n// as a count of seconds and fractions of seconds at nanosecond\n// resolution. It is independent of any calendar and concepts like \"day\"\n// or \"month\". It is related to Timestamp in that the difference between\n// two Timestamp values is a Duration and it can be added or subtracted\n// from a Timestamp. Range is approximately +-10,000 years.\n//\n// # Examples\n//\n// Example 1: Compute Duration from two Timestamps in pseudo code.\n//\n//     Timestamp start = ...;\n//     Timestamp end = ...;\n//     Duration duration = ...;\n//\n//     duration.seconds = end.seconds - start.seconds;\n//     duration.nanos = end.nanos - start.nanos;\n//\n//     if (duration.seconds < 0 && duration.nanos > 0) {\n//       duration.seconds += 1;\n//       duration.nanos -= 1000000000;\n//     } else if (durations.seconds > 0 && duration.nanos < 0) {\n//       duration.seconds -= 1;\n//       duration.nanos += 1000000000;\n//     }\n//\n// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n//\n//     Timestamp start = ...;\n//     Duration duration = ...;\n//     Timestamp end = ...;\n//\n//     end.seconds = start.seconds + duration.seconds;\n//     end.nanos = start.nanos + duration.nanos;\n//\n//     if (end.nanos < 0) {\n//       end.seconds -= 1;\n//       end.nanos += 1000000000;\n//     } else if (end.nanos >= 1000000000) {\n//       end.seconds += 1;\n//       end.nanos -= 1000000000;\n//     }\n//\n// Example 3: Compute Duration from datetime.timedelta in Python.\n//\n//     td = datetime.timedelta(days=3, minutes=10)\n//     duration = Duration()\n//     duration.FromTimedelta(td)\n//\n// # JSON Mapping\n//\n// In JSON format, the Duration type is encoded as a string rather than an\n// object, where the string ends in the suffix \"s\" (indicating seconds) and\n// is preceded by the number of seconds, with nanoseconds expressed as\n// fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n// encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n// be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n// microsecond should be expressed in JSON format as \"3.000001s\".\n//\n//\ntype Duration struct {\n\t// Signed seconds of the span of time. Must be from -315,576,000,000\n\t// to +315,576,000,000 inclusive. Note: these bounds are computed from:\n\t// 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years\n\tSeconds int64 `protobuf:\"varint,1,opt,name=seconds\" json:\"seconds,omitempty\"`\n\t// Signed fractions of a second at nanosecond resolution of the span\n\t// of time. Durations less than one second are represented with a 0\n\t// `seconds` field and a positive or negative `nanos` field. For durations\n\t// of one second or more, a non-zero value for the `nanos` field must be\n\t// of the same sign as the `seconds` field. Must be from -999,999,999\n\t// to +999,999,999 inclusive.\n\tNanos int32 `protobuf:\"varint,2,opt,name=nanos\" json:\"nanos,omitempty\"`\n}\n\nfunc (m *Duration) Reset()                    { *m = Duration{} }\nfunc (m *Duration) String() string            { return proto.CompactTextString(m) }\nfunc (*Duration) ProtoMessage()               {}\nfunc (*Duration) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }\nfunc (*Duration) XXX_WellKnownType() string   { return \"Duration\" }\n\nfunc (m *Duration) GetSeconds() int64 {\n\tif m != nil {\n\t\treturn m.Seconds\n\t}\n\treturn 0\n}\n\nfunc (m *Duration) GetNanos() int32 {\n\tif m != nil {\n\t\treturn m.Nanos\n\t}\n\treturn 0\n}\n\nfunc init() {\n\tproto.RegisterType((*Duration)(nil), \"google.protobuf.Duration\")\n}\n\nfunc init() { proto.RegisterFile(\"google/protobuf/duration.proto\", fileDescriptor0) }\n\nvar fileDescriptor0 = []byte{\n\t// 190 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f,\n\t0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a,\n\t0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56,\n\t0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5,\n\t0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e,\n\t0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0x54, 0xc3, 0x25, 0x9c, 0x9c,\n\t0x9f, 0xab, 0x87, 0x66, 0xa4, 0x13, 0x2f, 0xcc, 0xc0, 0x00, 0x90, 0x48, 0x00, 0x63, 0x94, 0x56,\n\t0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x7e, 0x7a, 0x7e, 0x4e, 0x62, 0x5e,\n\t0x3a, 0xc2, 0x7d, 0x05, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x70, 0x67, 0xfe, 0x60, 0x64, 0x5c, 0xc4,\n\t0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0x62, 0x6e, 0x00, 0x54, 0xa9, 0x5e, 0x78,\n\t0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x4b, 0x12, 0x1b, 0xd8, 0x0c, 0x63,\n\t0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x84, 0x30, 0xff, 0xf3, 0x00, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/duration.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage ptypes\n\n// This file implements conversions between google.protobuf.Duration\n// and time.Duration.\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"time\"\n\n\tdurpb \"github.com/golang/protobuf/ptypes/duration\"\n)\n\nconst (\n\t// Range of a durpb.Duration in seconds, as specified in\n\t// google/protobuf/duration.proto. This is about 10,000 years in seconds.\n\tmaxSeconds = int64(10000 * 365.25 * 24 * 60 * 60)\n\tminSeconds = -maxSeconds\n)\n\n// validateDuration determines whether the durpb.Duration is valid according to the\n// definition in google/protobuf/duration.proto. A valid durpb.Duration\n// may still be too large to fit into a time.Duration (the range of durpb.Duration\n// is about 10,000 years, and the range of time.Duration is about 290).\nfunc validateDuration(d *durpb.Duration) error {\n\tif d == nil {\n\t\treturn errors.New(\"duration: nil Duration\")\n\t}\n\tif d.Seconds < minSeconds || d.Seconds > maxSeconds {\n\t\treturn fmt.Errorf(\"duration: %v: seconds out of range\", d)\n\t}\n\tif d.Nanos <= -1e9 || d.Nanos >= 1e9 {\n\t\treturn fmt.Errorf(\"duration: %v: nanos out of range\", d)\n\t}\n\t// Seconds and Nanos must have the same sign, unless d.Nanos is zero.\n\tif (d.Seconds < 0 && d.Nanos > 0) || (d.Seconds > 0 && d.Nanos < 0) {\n\t\treturn fmt.Errorf(\"duration: %v: seconds and nanos have different signs\", d)\n\t}\n\treturn nil\n}\n\n// Duration converts a durpb.Duration to a time.Duration. Duration\n// returns an error if the durpb.Duration is invalid or is too large to be\n// represented in a time.Duration.\nfunc Duration(p *durpb.Duration) (time.Duration, error) {\n\tif err := validateDuration(p); err != nil {\n\t\treturn 0, err\n\t}\n\td := time.Duration(p.Seconds) * time.Second\n\tif int64(d/time.Second) != p.Seconds {\n\t\treturn 0, fmt.Errorf(\"duration: %v is out of range for time.Duration\", p)\n\t}\n\tif p.Nanos != 0 {\n\t\td += time.Duration(p.Nanos)\n\t\tif (d < 0) != (p.Nanos < 0) {\n\t\t\treturn 0, fmt.Errorf(\"duration: %v is out of range for time.Duration\", p)\n\t\t}\n\t}\n\treturn d, nil\n}\n\n// DurationProto converts a time.Duration to a durpb.Duration.\nfunc DurationProto(d time.Duration) *durpb.Duration {\n\tnanos := d.Nanoseconds()\n\tsecs := nanos / 1e9\n\tnanos -= secs * 1e9\n\treturn &durpb.Duration{\n\t\tSeconds: secs,\n\t\tNanos:   int32(nanos),\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/protobuf/timestamp.proto\n\n/*\nPackage timestamp is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle/protobuf/timestamp.proto\n\nIt has these top-level messages:\n\tTimestamp\n*/\npackage timestamp\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\n// A Timestamp represents a point in time independent of any time zone\n// or calendar, represented as seconds and fractions of seconds at\n// nanosecond resolution in UTC Epoch time. It is encoded using the\n// Proleptic Gregorian Calendar which extends the Gregorian calendar\n// backwards to year one. It is encoded assuming all minutes are 60\n// seconds long, i.e. leap seconds are \"smeared\" so that no leap second\n// table is needed for interpretation. Range is from\n// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.\n// By restricting to that range, we ensure that we can convert to\n// and from  RFC 3339 date strings.\n// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).\n//\n// # Examples\n//\n// Example 1: Compute Timestamp from POSIX `time()`.\n//\n//     Timestamp timestamp;\n//     timestamp.set_seconds(time(NULL));\n//     timestamp.set_nanos(0);\n//\n// Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n//\n//     struct timeval tv;\n//     gettimeofday(&tv, NULL);\n//\n//     Timestamp timestamp;\n//     timestamp.set_seconds(tv.tv_sec);\n//     timestamp.set_nanos(tv.tv_usec * 1000);\n//\n// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n//\n//     FILETIME ft;\n//     GetSystemTimeAsFileTime(&ft);\n//     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n//\n//     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n//     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n//     Timestamp timestamp;\n//     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n//     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n//\n// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n//\n//     long millis = System.currentTimeMillis();\n//\n//     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n//         .setNanos((int) ((millis % 1000) * 1000000)).build();\n//\n//\n// Example 5: Compute Timestamp from current time in Python.\n//\n//     timestamp = Timestamp()\n//     timestamp.GetCurrentTime()\n//\n// # JSON Mapping\n//\n// In JSON format, the Timestamp type is encoded as a string in the\n// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n// format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n// where {year} is always expressed using four digits while {month}, {day},\n// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n// are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n// is required, though only UTC (as indicated by \"Z\") is presently supported.\n//\n// For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n// 01:30 UTC on January 15, 2017.\n//\n// In JavaScript, one can convert a Date object to this format using the\n// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString]\n// method. In Python, a standard `datetime.datetime` object can be converted\n// to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)\n// with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one\n// can use the Joda Time's [`ISODateTimeFormat.dateTime()`](\n// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime())\n// to obtain a formatter capable of generating timestamps in this format.\n//\n//\ntype Timestamp struct {\n\t// Represents seconds of UTC time since Unix epoch\n\t// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n\t// 9999-12-31T23:59:59Z inclusive.\n\tSeconds int64 `protobuf:\"varint,1,opt,name=seconds\" json:\"seconds,omitempty\"`\n\t// Non-negative fractions of a second at nanosecond resolution. Negative\n\t// second values with fractions must still have non-negative nanos values\n\t// that count forward in time. Must be from 0 to 999,999,999\n\t// inclusive.\n\tNanos int32 `protobuf:\"varint,2,opt,name=nanos\" json:\"nanos,omitempty\"`\n}\n\nfunc (m *Timestamp) Reset()                    { *m = Timestamp{} }\nfunc (m *Timestamp) String() string            { return proto.CompactTextString(m) }\nfunc (*Timestamp) ProtoMessage()               {}\nfunc (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }\nfunc (*Timestamp) XXX_WellKnownType() string   { return \"Timestamp\" }\n\nfunc (m *Timestamp) GetSeconds() int64 {\n\tif m != nil {\n\t\treturn m.Seconds\n\t}\n\treturn 0\n}\n\nfunc (m *Timestamp) GetNanos() int32 {\n\tif m != nil {\n\t\treturn m.Nanos\n\t}\n\treturn 0\n}\n\nfunc init() {\n\tproto.RegisterType((*Timestamp)(nil), \"google.protobuf.Timestamp\")\n}\n\nfunc init() { proto.RegisterFile(\"google/protobuf/timestamp.proto\", fileDescriptor0) }\n\nvar fileDescriptor0 = []byte{\n\t// 191 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f,\n\t0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xc9, 0xcc, 0x4d,\n\t0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x03, 0x0b, 0x09, 0xf1, 0x43, 0x14, 0xe8, 0xc1, 0x14, 0x28,\n\t0x59, 0x73, 0x71, 0x86, 0xc0, 0xd4, 0x08, 0x49, 0x70, 0xb1, 0x17, 0xa7, 0x26, 0xe7, 0xe7, 0xa5,\n\t0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0xc1, 0xb8, 0x42, 0x22, 0x5c, 0xac, 0x79, 0x89,\n\t0x79, 0xf9, 0xc5, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x10, 0x8e, 0x53, 0x1d, 0x97, 0x70,\n\t0x72, 0x7e, 0xae, 0x1e, 0x9a, 0x99, 0x4e, 0x7c, 0x70, 0x13, 0x03, 0x40, 0x42, 0x01, 0x8c, 0x51,\n\t0xda, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0x39, 0x89,\n\t0x79, 0xe9, 0x08, 0x27, 0x16, 0x94, 0x54, 0x16, 0xa4, 0x16, 0x23, 0x5c, 0xfa, 0x83, 0x91, 0x71,\n\t0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0xc9, 0x01, 0x50, 0xb5, 0x7a,\n\t0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x20, 0x3d, 0x49, 0x6c, 0x60, 0x43,\n\t0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x77, 0x4a, 0x07, 0xf7, 0x00, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/timestamp.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage ptypes\n\n// This file implements operations on google.protobuf.Timestamp.\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"time\"\n\n\ttspb \"github.com/golang/protobuf/ptypes/timestamp\"\n)\n\nconst (\n\t// Seconds field of the earliest valid Timestamp.\n\t// This is time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC).Unix().\n\tminValidSeconds = -62135596800\n\t// Seconds field just after the latest valid Timestamp.\n\t// This is time.Date(10000, 1, 1, 0, 0, 0, 0, time.UTC).Unix().\n\tmaxValidSeconds = 253402300800\n)\n\n// validateTimestamp determines whether a Timestamp is valid.\n// A valid timestamp represents a time in the range\n// [0001-01-01, 10000-01-01) and has a Nanos field\n// in the range [0, 1e9).\n//\n// If the Timestamp is valid, validateTimestamp returns nil.\n// Otherwise, it returns an error that describes\n// the problem.\n//\n// Every valid Timestamp can be represented by a time.Time, but the converse is not true.\nfunc validateTimestamp(ts *tspb.Timestamp) error {\n\tif ts == nil {\n\t\treturn errors.New(\"timestamp: nil Timestamp\")\n\t}\n\tif ts.Seconds < minValidSeconds {\n\t\treturn fmt.Errorf(\"timestamp: %v before 0001-01-01\", ts)\n\t}\n\tif ts.Seconds >= maxValidSeconds {\n\t\treturn fmt.Errorf(\"timestamp: %v after 10000-01-01\", ts)\n\t}\n\tif ts.Nanos < 0 || ts.Nanos >= 1e9 {\n\t\treturn fmt.Errorf(\"timestamp: %v: nanos not in range [0, 1e9)\", ts)\n\t}\n\treturn nil\n}\n\n// Timestamp converts a google.protobuf.Timestamp proto to a time.Time.\n// It returns an error if the argument is invalid.\n//\n// Unlike most Go functions, if Timestamp returns an error, the first return value\n// is not the zero time.Time. Instead, it is the value obtained from the\n// time.Unix function when passed the contents of the Timestamp, in the UTC\n// locale. This may or may not be a meaningful time; many invalid Timestamps\n// do map to valid time.Times.\n//\n// A nil Timestamp returns an error. The first return value in that case is\n// undefined.\nfunc Timestamp(ts *tspb.Timestamp) (time.Time, error) {\n\t// Don't return the zero value on error, because corresponds to a valid\n\t// timestamp. Instead return whatever time.Unix gives us.\n\tvar t time.Time\n\tif ts == nil {\n\t\tt = time.Unix(0, 0).UTC() // treat nil like the empty Timestamp\n\t} else {\n\t\tt = time.Unix(ts.Seconds, int64(ts.Nanos)).UTC()\n\t}\n\treturn t, validateTimestamp(ts)\n}\n\n// TimestampNow returns a google.protobuf.Timestamp for the current time.\nfunc TimestampNow() *tspb.Timestamp {\n\tts, err := TimestampProto(time.Now())\n\tif err != nil {\n\t\tpanic(\"ptypes: time.Now() out of Timestamp range\")\n\t}\n\treturn ts\n}\n\n// TimestampProto converts the time.Time to a google.protobuf.Timestamp proto.\n// It returns an error if the resulting Timestamp is invalid.\nfunc TimestampProto(t time.Time) (*tspb.Timestamp, error) {\n\tseconds := t.Unix()\n\tnanos := int32(t.Sub(time.Unix(seconds, 0)))\n\tts := &tspb.Timestamp{\n\t\tSeconds: seconds,\n\t\tNanos:   nanos,\n\t}\n\tif err := validateTimestamp(ts); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ts, nil\n}\n\n// TimestampString returns the RFC 3339 string for valid Timestamps. For invalid\n// Timestamps, it returns an error message in parentheses.\nfunc TimestampString(ts *tspb.Timestamp) string {\n\tt, err := Timestamp(ts)\n\tif err != nil {\n\t\treturn fmt.Sprintf(\"(%v)\", err)\n\t}\n\treturn t.Format(time.RFC3339Nano)\n}\n"
  },
  {
    "path": "vendor/github.com/googleapis/gax-go/LICENSE",
    "content": "Copyright 2016, Google Inc.\nAll rights reserved.\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/github.com/googleapis/gax-go/call_option.go",
    "content": "// Copyright 2016, Google Inc.\n// All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage gax\n\nimport (\n\t\"math/rand\"\n\t\"time\"\n\n\t\"google.golang.org/grpc\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// CallOption is an option used by Invoke to control behaviors of RPC calls.\n// CallOption works by modifying relevant fields of CallSettings.\ntype CallOption interface {\n\t// Resolve applies the option by modifying cs.\n\tResolve(cs *CallSettings)\n}\n\n// Retryer is used by Invoke to determine retry behavior.\ntype Retryer interface {\n\t// Retry reports whether a request should be retriedand how long to pause before retrying\n\t// if the previous attempt returned with err. Invoke never calls Retry with nil error.\n\tRetry(err error) (pause time.Duration, shouldRetry bool)\n}\n\ntype retryerOption func() Retryer\n\nfunc (o retryerOption) Resolve(s *CallSettings) {\n\ts.Retry = o\n}\n\n// WithRetry sets CallSettings.Retry to fn.\nfunc WithRetry(fn func() Retryer) CallOption {\n\treturn retryerOption(fn)\n}\n\n// OnCodes returns a Retryer that retries if and only if\n// the previous attempt returns a GRPC error whose error code is stored in cc.\n// Pause times between retries are specified by bo.\n//\n// bo is only used for its parameters; each Retryer has its own copy.\nfunc OnCodes(cc []codes.Code, bo Backoff) Retryer {\n\treturn &boRetryer{\n\t\tbackoff: bo,\n\t\tcodes:   append([]codes.Code(nil), cc...),\n\t}\n}\n\ntype boRetryer struct {\n\tbackoff Backoff\n\tcodes   []codes.Code\n}\n\nfunc (r *boRetryer) Retry(err error) (time.Duration, bool) {\n\tst, ok := status.FromError(err)\n\tif !ok {\n\t\treturn 0, false\n\t}\n\tc := st.Code()\n\tfor _, rc := range r.codes {\n\t\tif c == rc {\n\t\t\treturn r.backoff.Pause(), true\n\t\t}\n\t}\n\treturn 0, false\n}\n\n// Backoff implements exponential backoff.\n// The wait time between retries is a random value between 0 and the \"retry envelope\".\n// The envelope starts at Initial and increases by the factor of Multiplier every retry,\n// but is capped at Max.\ntype Backoff struct {\n\t// Initial is the initial value of the retry envelope, defaults to 1 second.\n\tInitial time.Duration\n\n\t// Max is the maximum value of the retry envelope, defaults to 30 seconds.\n\tMax time.Duration\n\n\t// Multiplier is the factor by which the retry envelope increases.\n\t// It should be greater than 1 and defaults to 2.\n\tMultiplier float64\n\n\t// cur is the current retry envelope\n\tcur time.Duration\n}\n\nfunc (bo *Backoff) Pause() time.Duration {\n\tif bo.Initial == 0 {\n\t\tbo.Initial = time.Second\n\t}\n\tif bo.cur == 0 {\n\t\tbo.cur = bo.Initial\n\t}\n\tif bo.Max == 0 {\n\t\tbo.Max = 30 * time.Second\n\t}\n\tif bo.Multiplier < 1 {\n\t\tbo.Multiplier = 2\n\t}\n\t// Select a duration between zero and the current max. It might seem counterintuitive to\n\t// have so much jitter, but https://www.awsarchitectureblog.com/2015/03/backoff.html\n\t// argues that that is the best strategy.\n\td := time.Duration(rand.Int63n(int64(bo.cur)))\n\tbo.cur = time.Duration(float64(bo.cur) * bo.Multiplier)\n\tif bo.cur > bo.Max {\n\t\tbo.cur = bo.Max\n\t}\n\treturn d\n}\n\ntype grpcOpt []grpc.CallOption\n\nfunc (o grpcOpt) Resolve(s *CallSettings) {\n\ts.GRPC = o\n}\n\nfunc WithGRPCOptions(opt ...grpc.CallOption) CallOption {\n\treturn grpcOpt(append([]grpc.CallOption(nil), opt...))\n}\n\ntype CallSettings struct {\n\t// Retry returns a Retryer to be used to control retry logic of a method call.\n\t// If Retry is nil or the returned Retryer is nil, the call will not be retried.\n\tRetry func() Retryer\n\n\t// CallOptions to be forwarded to GRPC.\n\tGRPC []grpc.CallOption\n}\n"
  },
  {
    "path": "vendor/github.com/googleapis/gax-go/gax.go",
    "content": "// Copyright 2016, Google Inc.\n// All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// Package gax contains a set of modules which aid the development of APIs\n// for clients and servers based on gRPC and Google API conventions.\n//\n// Application code will rarely need to use this library directly.\n// However, code generated automatically from API definition files can use it\n// to simplify code generation and to provide more convenient and idiomatic API surfaces.\n//\n// This project is currently experimental and not supported.\npackage gax\n\nconst Version = \"0.1.0\"\n"
  },
  {
    "path": "vendor/github.com/googleapis/gax-go/header.go",
    "content": "package gax\n\nimport \"bytes\"\n\n// XGoogHeader is for use by the Google Cloud Libraries only.\n//\n// XGoogHeader formats key-value pairs.\n// The resulting string is suitable for x-goog-api-client header.\nfunc XGoogHeader(keyval ...string) string {\n\tif len(keyval) == 0 {\n\t\treturn \"\"\n\t}\n\tif len(keyval)%2 != 0 {\n\t\tpanic(\"gax.Header: odd argument count\")\n\t}\n\tvar buf bytes.Buffer\n\tfor i := 0; i < len(keyval); i += 2 {\n\t\tbuf.WriteByte(' ')\n\t\tbuf.WriteString(keyval[i])\n\t\tbuf.WriteByte('/')\n\t\tbuf.WriteString(keyval[i+1])\n\t}\n\treturn buf.String()[1:]\n}\n"
  },
  {
    "path": "vendor/github.com/googleapis/gax-go/invoke.go",
    "content": "// Copyright 2016, Google Inc.\n// All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage gax\n\nimport (\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n)\n\n// A user defined call stub.\ntype APICall func(context.Context, CallSettings) error\n\n// Invoke calls the given APICall,\n// performing retries as specified by opts, if any.\nfunc Invoke(ctx context.Context, call APICall, opts ...CallOption) error {\n\tvar settings CallSettings\n\tfor _, opt := range opts {\n\t\topt.Resolve(&settings)\n\t}\n\treturn invoke(ctx, call, settings, Sleep)\n}\n\n// Sleep is similar to time.Sleep, but it can be interrupted by ctx.Done() closing.\n// If interrupted, Sleep returns ctx.Err().\nfunc Sleep(ctx context.Context, d time.Duration) error {\n\tt := time.NewTimer(d)\n\tselect {\n\tcase <-ctx.Done():\n\t\tt.Stop()\n\t\treturn ctx.Err()\n\tcase <-t.C:\n\t\treturn nil\n\t}\n}\n\ntype sleeper func(ctx context.Context, d time.Duration) error\n\n// invoke implements Invoke, taking an additional sleeper argument for testing.\nfunc invoke(ctx context.Context, call APICall, settings CallSettings, sp sleeper) error {\n\tvar retryer Retryer\n\tfor {\n\t\terr := call(ctx, settings)\n\t\tif err == nil {\n\t\t\treturn nil\n\t\t}\n\t\tif settings.Retry == nil {\n\t\t\treturn err\n\t\t}\n\t\tif retryer == nil {\n\t\t\tif r := settings.Retry(); r != nil {\n\t\t\t\tretryer = r\n\t\t\t} else {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tif d, ok := retryer.Retry(err); !ok {\n\t\t\treturn err\n\t\t} else if err = sp(ctx, d); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/dataframe/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": "vendor/github.com/gyuho/dataframe/column.go",
    "content": "package dataframe\n\nimport (\n\t\"fmt\"\n\t\"sort\"\n\t\"sync\"\n\t\"time\"\n)\n\n// Column represents column-based data.\ntype Column interface {\n\t// Count returns the number of rows of the Column.\n\tCount() int\n\n\t// Header returns the header of the Column.\n\tHeader() string\n\n\t// Rows returns all the data in string slice.\n\tRows() []string\n\n\t// Uint64s returns all the data in int64 slice.\n\tUint64s() ([]uint64, bool)\n\n\t// Int64s returns all the data in int64 slice.\n\tInt64s() ([]int64, bool)\n\n\t// Float64s returns all the data in float64 slice.\n\tFloat64s() ([]float64, bool)\n\n\t// Times returns all the data in time.Time slice.\n\tTimes(layout string) ([]time.Time, bool)\n\n\t// UpdateHeader updates the header of the Column.\n\tUpdateHeader(header string)\n\n\t// Value returns the Value in the row. It returns error if the row\n\t// is out of index range.\n\tValue(row int) (Value, error)\n\n\t// Set overwrites the value\n\tSet(row int, v Value) error\n\n\t// FindFirst finds the first Value, and returns the row number.\n\t// It returns -1 and false if the value does not exist.\n\tFindFirst(v Value) (int, bool)\n\n\t// FindLast finds the last Value, and returns the row number.\n\t// It returns -1 and false if the value does not exist.\n\tFindLast(v Value) (int, bool)\n\n\t// Front returns the first row Value.\n\tFront() (Value, bool)\n\n\t// FrontNonNil returns the first non-nil Value from the first row.\n\tFrontNonNil() (Value, bool)\n\n\t// Back returns the last row Value.\n\tBack() (Value, bool)\n\n\t// BackNonNil returns the first non-nil Value from the last row.\n\tBackNonNil() (Value, bool)\n\n\t// PushFront adds a Value to the front of the Column.\n\t// This does not prevent inserting wrong data types.\n\t// Assumes all data are string.\n\tPushFront(v Value) int\n\n\t// PushFrontTyped adds a Value to the front of the Column.\n\t// It returns error if the value doesn't match the type of the column.\n\tPushFrontTyped(v interface{}) (int, error)\n\n\t// PushBack appends the Value to the Column.\n\t// This does not prevent inserting wrong data types.\n\t// Assumes all data are string.\n\tPushBack(v Value) int\n\n\t// PushBackTyped appends the Value to the Column.\n\t// It returns error if the value doesn't match the type of the column.\n\tPushBackTyped(v interface{}) (int, error)\n\n\t// Delete deletes a row by index.\n\tDelete(row int) (Value, error)\n\n\t// Deletes deletes rows by index [start, end).\n\tDeletes(start, end int) error\n\n\t// Keep keeps the rows by index [start, end).\n\tKeep(start, end int) error\n\n\t// PopFront deletes the value at front.\n\tPopFront() (Value, bool)\n\n\t// PopBack deletes the last value.\n\tPopBack() (Value, bool)\n\n\t// Appends adds the Value to the Column until it reaches the target size.\n\tAppends(v Value, targetSize int) error\n\n\t// Copy deep-copies a column.\n\tCopy() Column\n\n\t// SortByStringAscending sorts Column in string ascending order.\n\tSortByStringAscending()\n\n\t// SortByStringDescending sorts Column in string descending order.\n\tSortByStringDescending()\n\n\t// SortByFloat64Ascending sorts Column in number(float) ascending order.\n\tSortByFloat64Ascending()\n\n\t// SortByFloat64Descending sorts Column in number(float) descending order.\n\tSortByFloat64Descending()\n\n\t// SortByDurationAscending sorts Column in time.Duration ascending order.\n\tSortByDurationAscending()\n\n\t// SortByDurationDescending sorts Column in time.Duration descending order.\n\tSortByDurationDescending()\n}\n\ntype column struct {\n\tmu       sync.Mutex\n\tdataType DATA_TYPE\n\theader   string\n\tsize     int\n\tdata     []Value\n}\n\n// NewColumn creates a new Column.\nfunc NewColumn(hd string) Column {\n\treturn &column{\n\t\tdataType: STRING,\n\t\theader:   hd,\n\t\tsize:     0,\n\t\tdata:     []Value{},\n\t}\n}\n\n// NewColumnTyped creates a new Column with data type.\nfunc NewColumnTyped(hd string, tp DATA_TYPE) Column {\n\treturn &column{\n\t\tdataType: tp,\n\t\theader:   hd,\n\t\tsize:     0,\n\t\tdata:     []Value{},\n\t}\n}\n\nfunc (c *column) Count() int {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\treturn c.size\n}\n\nfunc (c *column) Header() string {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\treturn c.header\n}\n\nfunc (c *column) Rows() (rows []string) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\trows = make([]string, len(c.data))\n\tfor i := range c.data {\n\t\tv, _ := c.data[i].String()\n\t\trows[i] = v\n\t}\n\treturn\n}\n\nfunc (c *column) Uint64s() (rows []uint64, ok bool) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\trows = make([]uint64, len(c.data))\n\tfor i := range c.data {\n\t\tvar v uint64\n\t\tv, ok = c.data[i].Uint64()\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\trows[i] = v\n\t}\n\treturn\n}\n\nfunc (c *column) Int64s() (rows []int64, ok bool) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\trows = make([]int64, len(c.data))\n\tfor i := range c.data {\n\t\tvar v int64\n\t\tv, ok = c.data[i].Int64()\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\trows[i] = v\n\t}\n\treturn\n}\n\nfunc (c *column) Float64s() (rows []float64, ok bool) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\trows = make([]float64, len(c.data))\n\tfor i := range c.data {\n\t\tvar v float64\n\t\tv, ok = c.data[i].Float64()\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\trows[i] = v\n\t}\n\treturn\n}\n\nfunc (c *column) Times(layout string) (rows []time.Time, ok bool) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\trows = make([]time.Time, len(c.data))\n\tfor i := range c.data {\n\t\tvar v time.Time\n\t\tv, ok = c.data[i].Time(layout)\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\trows[i] = v\n\t}\n\treturn\n}\n\nfunc (c *column) UpdateHeader(header string) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tc.header = header\n}\n\nfunc (c *column) Value(row int) (Value, error) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tif row > c.size-1 {\n\t\treturn nil, fmt.Errorf(\"index out of range (got %d for size %d)\", row, c.size)\n\t}\n\treturn c.data[row], nil\n}\n\nfunc (c *column) Set(row int, v Value) error {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tif row > c.size-1 {\n\t\treturn fmt.Errorf(\"index out of range (got %d for size %d)\", row, c.size)\n\t}\n\tc.data[row] = v\n\treturn nil\n}\n\nfunc (c *column) FindFirst(v Value) (int, bool) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tfor i := range c.data {\n\t\tif c.data[i].EqualTo(v) {\n\t\t\treturn i, true\n\t\t}\n\t}\n\treturn -1, false\n}\n\nfunc (c *column) FindLast(v Value) (int, bool) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tvar idx int\n\tfor i := range c.data {\n\t\tif c.data[i].EqualTo(v) {\n\t\t\tidx = i\n\t\t}\n\t}\n\tif idx != 0 {\n\t\treturn idx, true\n\t}\n\treturn -1, false\n}\n\nfunc (c *column) Front() (Value, bool) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tif c.size == 0 {\n\t\treturn nil, false\n\t}\n\tv := c.data[0]\n\treturn v, true\n}\n\nfunc (c *column) FrontNonNil() (Value, bool) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tif c.size == 0 {\n\t\treturn nil, false\n\t}\n\tfor _, v := range c.data {\n\t\tif !v.IsNil() {\n\t\t\treturn v, true\n\t\t}\n\t}\n\treturn nil, false\n}\n\nfunc (c *column) Back() (Value, bool) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tif c.size == 0 {\n\t\treturn nil, false\n\t}\n\tv := c.data[c.size-1]\n\treturn v, true\n}\n\nfunc (c *column) BackNonNil() (Value, bool) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tif c.size == 0 {\n\t\treturn nil, false\n\t}\n\tfor i := c.size - 1; i > 0; i-- {\n\t\tv := c.data[i]\n\t\tif !v.IsNil() {\n\t\t\treturn v, true\n\t\t}\n\t}\n\treturn nil, false\n}\n\nfunc (c *column) PushFront(v Value) int {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\ttemp := make([]Value, c.size+1)\n\ttemp[0] = v\n\tcopy(temp[1:], c.data)\n\tc.data = temp\n\tc.size++\n\treturn c.size\n}\n\nfunc (c *column) PushFrontTyped(v interface{}) (int, error) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tvar value Value\n\tswitch expected := c.dataType; expected {\n\tcase STRING:\n\t\tvalue = NewStringValue(v)\n\tdefault:\n\t\tt := ReflectTypeOf(v)\n\t\tif expected != t { // column is typed\n\t\t\treturn -1, fmt.Errorf(\"column %q expected data type %q, got %q\", c.header, expected, t)\n\t\t}\n\t\tvalue = ToValue(v)\n\t}\n\n\ttemp := make([]Value, c.size+1)\n\ttemp[0] = value\n\tcopy(temp[1:], c.data)\n\tc.data = temp\n\tc.size++\n\treturn c.size, nil\n}\n\nfunc (c *column) PushBack(v Value) int {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tc.data = append(c.data, v)\n\tc.size++\n\treturn c.size\n}\n\nfunc (c *column) PushBackTyped(v interface{}) (int, error) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tvar value Value\n\tswitch expected := c.dataType; expected {\n\tcase STRING:\n\t\tvalue = NewStringValue(v)\n\tdefault:\n\t\tt := ReflectTypeOf(v)\n\t\tif expected != t { // column is typed\n\t\t\treturn -1, fmt.Errorf(\"column %q expected data type %q, got %q\", c.header, expected, t)\n\t\t}\n\t\tvalue = ToValue(v)\n\t}\n\n\tc.data = append(c.data, value)\n\tc.size++\n\treturn c.size, nil\n}\n\nfunc (c *column) Delete(row int) (Value, error) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tif row > c.size-1 {\n\t\treturn nil, fmt.Errorf(\"index out of range (got %d for size %d)\", row, c.size)\n\t}\n\tv := c.data[row]\n\tcopy(c.data[row:], c.data[row+1:])\n\tc.data = c.data[:len(c.data)-1 : len(c.data)-1]\n\tc.size--\n\treturn v, nil\n}\n\nfunc (c *column) Deletes(start, end int) error {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tif start < 0 || end < 0 || start > end {\n\t\treturn fmt.Errorf(\"wrong range %d %d\", start, end)\n\t}\n\tif start > c.size {\n\t\treturn fmt.Errorf(\"index out of range (start %d, size %d)\", start, c.size)\n\t}\n\tif end > c.size {\n\t\treturn fmt.Errorf(\"index out of range (end %d, size %d)\", end, c.size)\n\t}\n\tif start == end {\n\t\treturn nil\n\t}\n\n\tdelta := end - start\n\tc.size = c.size - delta\n\tvar nds []Value\n\tfor i := range c.data {\n\t\tif i >= start && i < end {\n\t\t\tcontinue\n\t\t}\n\t\tnds = append(nds, c.data[i])\n\t}\n\tc.data = nds\n\treturn nil\n}\n\nfunc (c *column) Keep(start, end int) error {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tif start < 0 || end < 0 || start > end {\n\t\treturn fmt.Errorf(\"wrong range %d %d\", start, end)\n\t}\n\tif start > c.size {\n\t\treturn fmt.Errorf(\"index out of range (start %d, size %d)\", start, c.size)\n\t}\n\tif end > c.size {\n\t\treturn fmt.Errorf(\"index out of range (end %d, size %d)\", end, c.size)\n\t}\n\tif start == end {\n\t\treturn nil\n\t}\n\n\tdelta := end - start\n\tc.size = delta\n\tvar nds []Value\n\tfor _, v := range c.data[start:end] {\n\t\tnds = append(nds, v)\n\t}\n\tc.data = nds\n\treturn nil\n}\n\nfunc (c *column) PopFront() (Value, bool) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tif c.size == 0 {\n\t\treturn nil, false\n\t}\n\tv := c.data[0]\n\tc.data = c.data[1:len(c.data):len(c.data)]\n\tc.size--\n\treturn v, true\n}\n\nfunc (c *column) PopBack() (Value, bool) {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tif c.size == 0 {\n\t\treturn nil, false\n\t}\n\tv := c.data[c.size-1]\n\tc.data = c.data[:len(c.data)-1 : len(c.data)-1]\n\tc.size--\n\treturn v, true\n}\n\nfunc (c *column) Appends(v Value, targetSize int) error {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\n\tif c.size > 0 && c.size > targetSize {\n\t\treturn fmt.Errorf(\"cannot append with target size %d, which is less than the column size %d (can't overwrite)\", targetSize, c.size)\n\t}\n\n\tfor i := c.size; i < targetSize; i++ {\n\t\tc.data = append(c.data, v)\n\t\tc.size++\n\t}\n\treturn nil\n}\n\nfunc (c *column) Copy() Column {\n\tc2 := &column{\n\t\theader: c.header,\n\t\tsize:   c.size,\n\t\tdata:   make([]Value, len(c.data)),\n\t}\n\tfor i := range c.data {\n\t\tc2.data[i] = c.data[i].Copy()\n\t}\n\treturn c2\n}\n\nfunc (c *column) SortByStringAscending()    { sort.Sort(ByStringAscending(c.data)) }\nfunc (c *column) SortByStringDescending()   { sort.Sort(ByStringDescending(c.data)) }\nfunc (c *column) SortByFloat64Ascending()   { sort.Sort(ByFloat64Ascending(c.data)) }\nfunc (c *column) SortByFloat64Descending()  { sort.Sort(ByFloat64Descending(c.data)) }\nfunc (c *column) SortByDurationAscending()  { sort.Sort(ByDurationAscending(c.data)) }\nfunc (c *column) SortByDurationDescending() { sort.Sort(ByDurationDescending(c.data)) }\n"
  },
  {
    "path": "vendor/github.com/gyuho/dataframe/dataframe.go",
    "content": "package dataframe\n\nimport (\n\t\"encoding/csv\"\n\t\"fmt\"\n\t\"sync\"\n)\n\n// Frame contains data.\ntype Frame interface {\n\t// Headers returns the slice of headers in order. Header name is unique among its Frame.\n\tHeaders() []string\n\n\t// AddColumn adds a Column to Frame.\n\tAddColumn(c Column) error\n\n\t// Column returns the Column by its header name.\n\tColumn(header string) (Column, error)\n\n\t// Columns returns all Columns.\n\tColumns() []Column\n\n\t// Count returns the number of Columns in the Frame.\n\tCount() int\n\n\t// UpdateHeader updates the header name of a Column.\n\tUpdateHeader(origHeader, newHeader string) error\n\n\t// MoveColumn moves the column right before the target index.\n\tMoveColumn(header string, target int) error\n\n\t// DeleteColumn deletes the Column by its header.\n\tDeleteColumn(header string) bool\n\n\t// CSV saves the Frame to a CSV file.\n\tCSV(fpath string) error\n\n\t// CSVHorizontal saves the Frame to a CSV file\n\t// in a horizontal way. The first column is header.\n\t// And data are aligned from left to right.\n\tCSVHorizontal(fpath string) error\n\n\t// Rows returns the header and data slices.\n\tRows() ([]string, [][]string)\n\n\t// Sort sorts the Frame.\n\tSort(header string, st SortType, so SortOption) error\n}\n\ntype frame struct {\n\tmu       sync.Mutex\n\tcolumns  []Column\n\theaderTo map[string]int\n}\n\n// New returns a new Frame.\nfunc New() Frame {\n\treturn &frame{\n\t\tcolumns:  []Column{},\n\t\theaderTo: make(map[string]int),\n\t}\n}\n\n// NewFromRows creates Frame from rows.\n// Pass 'nil' header if first row is used as header strings.\n// Pass 'non-nil' header if the data starts from the first row, without header strings.\nfunc NewFromRows(header []string, rows [][]string) (Frame, error) {\n\tif len(rows) < 1 {\n\t\treturn nil, fmt.Errorf(\"empty row %q\", rows)\n\t}\n\tfr := New()\n\theaderN := len(header)\n\tif headerN > 0 { // use this as header\n\t\t// assume no header string at top\n\t\tcols := make([]Column, headerN)\n\t\tfor i := range cols {\n\t\t\tcols[i] = NewColumn(header[i])\n\t\t}\n\t\tfor _, row := range rows {\n\t\t\trowN := len(row)\n\t\t\tif rowN > headerN {\n\t\t\t\treturn nil, fmt.Errorf(\"header %q is not specified correctly for %q\", header, row)\n\t\t\t}\n\t\t\tfor j, v := range row {\n\t\t\t\tcols[j].PushBack(NewStringValue(v))\n\t\t\t}\n\t\t\tif rowN < headerN { // fill in empty values\n\t\t\t\tfor k := rowN; k < headerN; k++ {\n\t\t\t\t\tcols[k].PushBack(NewStringValue(\"\"))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfor _, c := range cols {\n\t\t\tif err := fr.AddColumn(c); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\treturn fr, nil\n\t}\n\t// use first row as header\n\t// assume header string at top\n\theader = rows[0]\n\theaderN = len(header)\n\tcols := make([]Column, headerN)\n\tfor i := range cols {\n\t\tcols[i] = NewColumn(header[i])\n\t}\n\tfor i, row := range rows {\n\t\tif i == 0 {\n\t\t\tcontinue\n\t\t}\n\t\trowN := len(row)\n\t\tif rowN > headerN {\n\t\t\treturn nil, fmt.Errorf(\"header %q is not specified correctly for %q\", header, row)\n\t\t}\n\t\tfor j, v := range row {\n\t\t\tcols[j].PushBack(NewStringValue(v))\n\t\t}\n\t\tif rowN < headerN { // fill in empty values\n\t\t\tfor k := rowN; k < headerN; k++ {\n\t\t\t\tcols[k].PushBack(NewStringValue(\"\"))\n\t\t\t}\n\t\t}\n\t}\n\tfor _, c := range cols {\n\t\tif err := fr.AddColumn(c); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn fr, nil\n}\n\n// NewFromCSV creates a new Frame from CSV.\n// Pass 'nil' header if first row is used as header strings.\n// Pass 'non-nil' header if the data starts from the first row, without header strings.\nfunc NewFromCSV(header []string, fpath string) (Frame, error) {\n\tf, err := openToRead(fpath)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer f.Close()\n\n\trd := csv.NewReader(f)\n\n\t// FieldsPerRecord is the number of expected fields per record.\n\t// If FieldsPerRecord is positive, Read requires each record to\n\t// have the given number of fields. If FieldsPerRecord is 0, Read sets it to\n\t// the number of fields in the first record, so that future records must\n\t// have the same field count. If FieldsPerRecord is negative, no check is\n\t// made and records may have a variable number of fields.\n\trd.FieldsPerRecord = -1\n\n\trows, err := rd.ReadAll()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn NewFromRows(header, rows)\n}\n\n// NewFromColumns combines multiple columns into one data frame.\n// If zero Value is not nil, it makes all columns have the same row number\n// by inserting zero values where the row number is short compared to the\n// one with the msot row number. The columns are deep-copied to the Frame.\nfunc NewFromColumns(zero Value, cols ...Column) (Frame, error) {\n\tmaxEndIndex := 0\n\tcolumns := make([]Column, len(cols))\n\tfor i, col := range cols {\n\t\tcolumns[i] = col.Copy()\n\n\t\tif i == 0 {\n\t\t\tmaxEndIndex = col.Count()\n\t\t}\n\t\tif maxEndIndex < col.Count() {\n\t\t\tmaxEndIndex = col.Count()\n\t\t}\n\t}\n\t// this is index, so decrement by 1 to make it as valid index\n\tmaxEndIndex--\n\tmaxSize := maxEndIndex + 1\n\n\tif zero != nil {\n\t\t// make all columns have same row number\n\t\tfor _, col := range columns {\n\t\t\trNum := col.Count()\n\t\t\tif rNum < maxSize { // fill-in with zero values\n\t\t\t\tfor i := 0; i < maxSize-rNum; i++ {\n\t\t\t\t\tcol.PushBack(zero)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif rNum > maxSize {\n\t\t\t\treturn nil, fmt.Errorf(\"something wrong with minimum end index %d (%q has %d rows)\", maxEndIndex, col.Header(), rNum)\n\t\t\t}\n\t\t}\n\t\t// double-check\n\t\trNum := columns[0].Count()\n\t\tfor _, col := range columns {\n\t\t\tif rNum != col.Count() {\n\t\t\t\treturn nil, fmt.Errorf(\"%q has %d rows (expected %d rows as %q)\", col.Header(), col.Count(), rNum, columns[0].Header())\n\t\t\t}\n\t\t}\n\t}\n\n\tcombined := New()\n\tfor _, col := range columns {\n\t\tif err := combined.AddColumn(col); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn combined, nil\n}\n\nfunc (f *frame) Headers() []string {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\n\trs := make([]string, len(f.headerTo))\n\tfor k, v := range f.headerTo {\n\t\trs[v] = k\n\t}\n\treturn rs\n}\n\nfunc (f *frame) AddColumn(c Column) error {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\n\theader := c.Header()\n\tif _, ok := f.headerTo[header]; ok {\n\t\treturn fmt.Errorf(\"%q already exists\", header)\n\t}\n\tf.columns = append(f.columns, c)\n\tf.headerTo[header] = len(f.columns) - 1\n\treturn nil\n}\n\nfunc (f *frame) Column(header string) (Column, error) {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\n\tidx, ok := f.headerTo[header]\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"%q does not exist\", header)\n\t}\n\treturn f.columns[idx], nil\n}\n\nfunc (f *frame) Columns() []Column {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\n\treturn f.columns\n}\n\nfunc (f *frame) Count() int {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\n\treturn len(f.columns)\n}\n\nfunc (f *frame) UpdateHeader(origHeader, newHeader string) error {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\n\tidx, ok := f.headerTo[origHeader]\n\tif !ok {\n\t\treturn fmt.Errorf(\"%q does not exist\", origHeader)\n\t}\n\tif _, ok := f.headerTo[newHeader]; ok {\n\t\treturn fmt.Errorf(\"%q already exists\", newHeader)\n\t}\n\tf.columns[idx].UpdateHeader(newHeader)\n\tf.headerTo[newHeader] = idx\n\tdelete(f.headerTo, origHeader)\n\treturn nil\n}\n\nfunc (f *frame) MoveColumn(header string, target int) error {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\n\tif target < 0 || target > len(f.headerTo) {\n\t\treturn fmt.Errorf(\"%d is out of range\", target)\n\t}\n\n\toldi, ok := f.headerTo[header]\n\tif !ok {\n\t\treturn fmt.Errorf(\"%q does not exist\", header)\n\t}\n\tif target == oldi {\n\t\t// no need to insert\n\t\treturn nil\n\t}\n\n\tvar copied []Column\n\tswitch {\n\tcase target < oldi: // move somewhere to left\n\t\t// e.g. arr1, oldi 7, target 2\n\t\t// 0  1 | 2  3  4  5  6  [7]  8  9\n\t\t// 1. copy[:2]\n\t\t// 2. arr2[2] = arr1[7]\n\t\t// 3. copy[3:7]\n\t\t// 4. copy[8:]\n\t\tcopied = make([]Column, target)\n\t\tif target == 0 {\n\t\t\tcopied = []Column{}\n\t\t} else {\n\t\t\tcopy(copied, f.columns[:target])\n\t\t}\n\t\tcopied = append(copied, f.columns[oldi])\n\t\t// at this point, moved until 'target' index\n\t\tfor i, c := range f.columns {\n\t\t\tif i < target || i == oldi { // already moved\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tcopied = append(copied, c)\n\t\t}\n\n\tcase oldi < target: // move somewhere to right\n\t\t// e.g. arr1, oldi 2, target 8\n\t\t// 0  1 [2] 3  4  5  6  7 | 8  9\n\t\t// 1. copy[:2]\n\t\t// 2. copy[3:8]\n\t\t// 3. arr2[7] = arr1[2]\n\t\t// 4. copy[8:]\n\t\tcopied = make([]Column, oldi)\n\t\tif oldi == 0 {\n\t\t\tcopied = []Column{}\n\t\t} else {\n\t\t\tcopy(copied, f.columns[:oldi])\n\t\t}\n\t\tcopied = append(copied, f.columns[oldi+1:target]...)\n\t\tfor i, c := range f.columns {\n\t\t\tif i != oldi && i < target { // already moved\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tcopied = append(copied, c)\n\t\t}\n\t}\n\tf.columns = copied\n\n\t// update column index\n\tfor i, col := range f.columns {\n\t\tf.headerTo[col.Header()] = i\n\t}\n\treturn nil\n}\n\nfunc (f *frame) DeleteColumn(header string) bool {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\n\tidx, ok := f.headerTo[header]\n\tif !ok {\n\t\treturn false\n\t}\n\tif idx == 0 && len(f.headerTo) == 1 {\n\t\tf.headerTo = make(map[string]int)\n\t\tf.columns = []Column{}\n\t\treturn true\n\t}\n\n\tcopy(f.columns[idx:], f.columns[idx+1:])\n\tf.columns = f.columns[:len(f.columns)-1 : len(f.columns)-1]\n\n\t// update headerTo\n\tf.headerTo = make(map[string]int)\n\tfor i, c := range f.columns {\n\t\tf.headerTo[c.Header()] = i\n\t}\n\treturn true\n}\n\nfunc (f *frame) Rows() ([]string, [][]string) {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\n\theaders := make([]string, len(f.headerTo))\n\tfor k, v := range f.headerTo {\n\t\theaders[v] = k\n\t}\n\n\tvar rowN int\n\tfor _, col := range f.columns {\n\t\tn := col.Count()\n\t\tif rowN < n {\n\t\t\trowN = n\n\t\t}\n\t}\n\n\trows := make([][]string, rowN)\n\tcolN := len(f.columns)\n\tfor rowIdx := 0; rowIdx < rowN; rowIdx++ {\n\t\trow := make([]string, colN)\n\t\tfor colIdx, col := range f.columns { // rowIdx * colIdx\n\t\t\tv, err := col.Value(rowIdx)\n\t\t\tvar elem string\n\t\t\tif err == nil {\n\t\t\t\telem, _ = v.String()\n\t\t\t}\n\t\t\trow[colIdx] = elem\n\t\t}\n\t\trows[rowIdx] = row\n\t}\n\n\treturn headers, rows\n}\n\nfunc (f *frame) CSV(fpath string) error {\n\tfile, err := openToOverwrite(fpath)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer file.Close()\n\n\twr := csv.NewWriter(file)\n\n\theaders, rows := f.Rows()\n\tif err := wr.Write(headers); err != nil {\n\t\treturn err\n\t}\n\tif err := wr.WriteAll(rows); err != nil {\n\t\treturn err\n\t}\n\n\twr.Flush()\n\treturn wr.Error()\n}\n\nfunc (f *frame) CSVHorizontal(fpath string) error {\n\tvar rows [][]string\n\tfor _, col := range f.columns {\n\t\trow := []string{col.Header()}\n\t\trow = append(row, col.Rows()...)\n\t\trows = append(rows, row)\n\t}\n\n\tfile, err := openToOverwrite(fpath)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer file.Close()\n\n\twr := csv.NewWriter(file)\n\tif err := wr.WriteAll(rows); err != nil {\n\t\treturn err\n\t}\n\n\twr.Flush()\n\treturn wr.Error()\n}\n\n// Sort sorts the data frame.\n// TODO: use tree?\nfunc (f *frame) Sort(header string, st SortType, so SortOption) error {\n\tf.mu.Lock()\n\tidx, ok := f.headerTo[header]\n\tif !ok {\n\t\tf.mu.Unlock()\n\t\treturn fmt.Errorf(\"%q does not exist\", header)\n\t}\n\tf.mu.Unlock()\n\n\tvar lesses []LessFunc\n\tswitch st {\n\tcase SortType_String:\n\t\tswitch so {\n\t\tcase SortOption_Ascending:\n\t\t\tlesses = []LessFunc{StringAscendingFunc(idx)}\n\n\t\tcase SortOption_Descending:\n\t\t\tlesses = []LessFunc{StringDescendingFunc(idx)}\n\t\t}\n\n\tcase SortType_Float64:\n\t\tswitch so {\n\t\tcase SortOption_Ascending:\n\t\t\tlesses = []LessFunc{Float64AscendingFunc(idx)}\n\n\t\tcase SortOption_Descending:\n\t\t\tlesses = []LessFunc{Float64DescendingFunc(idx)}\n\t\t}\n\n\tcase SortType_Duration:\n\t\tswitch so {\n\t\tcase SortOption_Ascending:\n\t\t\tlesses = []LessFunc{DurationAscendingFunc(idx)}\n\n\t\tcase SortOption_Descending:\n\t\t\tlesses = []LessFunc{DurationDescendingFunc(idx)}\n\t\t}\n\t}\n\n\theaders, rows := f.Rows()\n\tSortBy(\n\t\trows,\n\t\tlesses...,\n\t).Sort(rows)\n\n\tnf, err := NewFromRows(headers, rows)\n\tif err != nil {\n\t\treturn err\n\t}\n\tv, ok := nf.(*frame)\n\tif !ok {\n\t\treturn fmt.Errorf(\"cannot type assert on frame\")\n\t}\n\t// *f = *v\n\tf.columns = v.columns\n\tf.headerTo = v.headerTo\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/dataframe/doc.go",
    "content": "// Package dataframe implements data frame.\npackage dataframe // import \"github.com/gyuho/dataframe\"\n"
  },
  {
    "path": "vendor/github.com/gyuho/dataframe/sorter.go",
    "content": "package dataframe\n\nimport (\n\t\"sort\"\n\t\"strconv\"\n\t\"time\"\n)\n\ntype (\n\tSortType   int\n\tSortOption int\n)\n\nconst (\n\tSortType_String SortType = iota\n\tSortType_Float64\n\tSortType_Duration\n)\n\nconst (\n\tSortOption_Ascending SortOption = iota\n\tSortOption_Descending\n)\n\n// SortBy returns a multiSorter that sorts using the less functions\nfunc SortBy(rows [][]string, lesses ...LessFunc) *MultiSorter {\n\treturn &MultiSorter{\n\t\tdata: rows,\n\t\tless: lesses,\n\t}\n}\n\n// LessFunc compares between two string slices.\ntype LessFunc func(p1, p2 *[]string) bool\n\nfunc StringAscendingFunc(idx int) func(row1, row2 *[]string) bool {\n\treturn func(row1, row2 *[]string) bool {\n\t\treturn (*row1)[idx] < (*row2)[idx]\n\t}\n}\n\nfunc StringDescendingFunc(idx int) func(row1, row2 *[]string) bool {\n\treturn func(row1, row2 *[]string) bool {\n\t\treturn (*row1)[idx] > (*row2)[idx]\n\t}\n}\n\nfunc Float64AscendingFunc(idx int) func(row1, row2 *[]string) bool {\n\treturn func(row1, row2 *[]string) bool {\n\t\tv1s := (*row1)[idx]\n\t\tv1, _ := strconv.ParseFloat(v1s, 64)\n\t\tv2s := (*row2)[idx]\n\t\tv2, _ := strconv.ParseFloat(v2s, 64)\n\t\treturn v1 < v2\n\t}\n}\n\nfunc Float64DescendingFunc(idx int) func(row1, row2 *[]string) bool {\n\treturn func(row1, row2 *[]string) bool {\n\t\tv1s := (*row1)[idx]\n\t\tv1, _ := strconv.ParseFloat(v1s, 64)\n\t\tv2s := (*row2)[idx]\n\t\tv2, _ := strconv.ParseFloat(v2s, 64)\n\t\treturn v1 > v2\n\t}\n}\n\nfunc DurationAscendingFunc(idx int) func(row1, row2 *[]string) bool {\n\treturn func(row1, row2 *[]string) bool {\n\t\tv1s := (*row1)[idx]\n\t\tv1, _ := time.ParseDuration(v1s)\n\t\tv2s := (*row2)[idx]\n\t\tv2, _ := time.ParseDuration(v2s)\n\t\treturn v1 < v2\n\t}\n}\n\nfunc DurationDescendingFunc(idx int) func(row1, row2 *[]string) bool {\n\treturn func(row1, row2 *[]string) bool {\n\t\tv1s := (*row1)[idx]\n\t\tv1, _ := time.ParseDuration(v1s)\n\t\tv2s := (*row2)[idx]\n\t\tv2, _ := time.ParseDuration(v2s)\n\t\treturn v1 > v2\n\t}\n}\n\n// MultiSorter implements the Sort interface,\n// sorting the two dimensional string slices within.\ntype MultiSorter struct {\n\tdata [][]string\n\tless []LessFunc\n}\n\n// Sort sorts the rows according to LessFunc.\nfunc (ms *MultiSorter) Sort(rows [][]string) {\n\tsort.Sort(ms)\n}\n\n// Len is part of sort.Interface.\nfunc (ms *MultiSorter) Len() int {\n\treturn len(ms.data)\n}\n\n// Swap is part of sort.Interface.\nfunc (ms *MultiSorter) Swap(i, j int) {\n\tms.data[i], ms.data[j] = ms.data[j], ms.data[i]\n}\n\n// Less is part of sort.Interface.\nfunc (ms *MultiSorter) Less(i, j int) bool {\n\tp, q := &ms.data[i], &ms.data[j]\n\tvar k int\n\tfor k = 0; k < len(ms.less)-1; k++ {\n\t\tless := ms.less[k]\n\t\tswitch {\n\t\tcase less(p, q):\n\t\t\t// p < q\n\t\t\treturn true\n\t\tcase less(q, p):\n\t\t\t// p > q\n\t\t\treturn false\n\t\t}\n\t\t// p == q; try next comparison\n\t}\n\treturn ms.less[k](p, q)\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/dataframe/util.go",
    "content": "package dataframe\n\nimport \"os\"\n\nfunc openToRead(fpath string) (*os.File, error) {\n\tf, err := os.OpenFile(fpath, os.O_RDONLY, 0444)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn f, nil\n}\n\nfunc openToOverwrite(fpath string) (*os.File, error) {\n\tf, err := os.OpenFile(fpath, os.O_RDWR|os.O_TRUNC|os.O_CREATE, 0777)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn f, nil\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/dataframe/value.go",
    "content": "package dataframe\n\nimport \"time\"\n\n// Value represents the value in data frame.\ntype Value interface {\n\t// String parses Value to string. It returns false if not possible.\n\tString() (string, bool)\n\n\t// Int64 parses Value to int64. It returns false if not possible.\n\tInt64() (int64, bool)\n\n\t// Uint64 parses Value to uint64. It returns false if not possible.\n\tUint64() (uint64, bool)\n\n\t// Float64 parses Value to float64. It returns false if not possible.\n\tFloat64() (float64, bool)\n\n\t// Time parses Value to time.Time based on the layout. It returns false if not possible.\n\tTime(layout string) (time.Time, bool)\n\n\t// Duration parses Value to time.Duration. It returns false if not possible.\n\tDuration() (time.Duration, bool)\n\n\t// IsNil returns true if the Value is nil.\n\tIsNil() bool\n\n\t// EqualTo returns true if the Value is equal to v.\n\tEqualTo(v Value) bool\n\n\t// Copy copies Value.\n\tCopy() Value\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/dataframe/value_data_type.go",
    "content": "package dataframe\n\nimport (\n\t\"fmt\"\n\t\"time\"\n)\n\n// TimeDefaultLayout is used to parse time.Time.\nvar TimeDefaultLayout = \"2006-01-02 15:04:05 -0700 MST\"\n\n// DATA_TYPE defines dataframe data types.\ntype DATA_TYPE uint8\n\nconst (\n\t// STRING represents Go string or bytes.\n\tSTRING DATA_TYPE = iota\n\n\t// TIME represents Go time.Time type.\n\tTIME\n)\n\nfunc (dt DATA_TYPE) String() string {\n\tswitch dt {\n\tcase STRING:\n\t\treturn \"STRING\"\n\tcase TIME:\n\t\treturn \"TIME\"\n\tdefault:\n\t\tpanic(fmt.Errorf(\"DATA_TYPE %d is unknown\", dt))\n\t}\n}\n\n// ReflectTypeOf returns the DATA_TYPE.\nfunc ReflectTypeOf(v interface{}) DATA_TYPE {\n\tswitch v.(type) {\n\tcase time.Time:\n\t\treturn TIME\n\tdefault:\n\t\treturn STRING\n\t}\n}\n\n// ToValue converts to Value.\nfunc ToValue(v interface{}) Value {\n\tswitch ReflectTypeOf(v) {\n\tcase TIME:\n\t\treturn NewTimeValue(v)\n\tdefault:\n\t\treturn NewStringValue(v)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/dataframe/value_sort.go",
    "content": "package dataframe\n\ntype ByStringAscending []Value\n\nfunc (vs ByStringAscending) Len() int {\n\treturn len(vs)\n}\n\nfunc (vs ByStringAscending) Swap(i, j int) {\n\tvs[i], vs[j] = vs[j], vs[i]\n}\n\nfunc (vs ByStringAscending) Less(i, j int) bool {\n\tvs1, _ := vs[i].String()\n\tvs2, _ := vs[j].String()\n\treturn vs1 < vs2\n}\n\ntype ByStringDescending []Value\n\nfunc (vs ByStringDescending) Len() int {\n\treturn len(vs)\n}\n\nfunc (vs ByStringDescending) Swap(i, j int) {\n\tvs[i], vs[j] = vs[j], vs[i]\n}\n\nfunc (vs ByStringDescending) Less(i, j int) bool {\n\tvs1, _ := vs[i].String()\n\tvs2, _ := vs[j].String()\n\treturn vs1 > vs2\n}\n\ntype ByFloat64Ascending []Value\n\nfunc (vs ByFloat64Ascending) Len() int {\n\treturn len(vs)\n}\n\nfunc (vs ByFloat64Ascending) Swap(i, j int) {\n\tvs[i], vs[j] = vs[j], vs[i]\n}\n\nfunc (vs ByFloat64Ascending) Less(i, j int) bool {\n\tvs1, _ := vs[i].Float64()\n\tvs2, _ := vs[j].Float64()\n\treturn vs1 < vs2\n}\n\ntype ByFloat64Descending []Value\n\nfunc (vs ByFloat64Descending) Len() int {\n\treturn len(vs)\n}\n\nfunc (vs ByFloat64Descending) Swap(i, j int) {\n\tvs[i], vs[j] = vs[j], vs[i]\n}\n\nfunc (vs ByFloat64Descending) Less(i, j int) bool {\n\tvs1, _ := vs[i].Float64()\n\tvs2, _ := vs[j].Float64()\n\treturn vs1 > vs2\n}\n\ntype ByDurationAscending []Value\n\nfunc (vs ByDurationAscending) Len() int {\n\treturn len(vs)\n}\n\nfunc (vs ByDurationAscending) Swap(i, j int) {\n\tvs[i], vs[j] = vs[j], vs[i]\n}\n\nfunc (vs ByDurationAscending) Less(i, j int) bool {\n\tvs1, _ := vs[i].Duration()\n\tvs2, _ := vs[j].Duration()\n\treturn vs1 < vs2\n}\n\ntype ByDurationDescending []Value\n\nfunc (vs ByDurationDescending) Len() int {\n\treturn len(vs)\n}\n\nfunc (vs ByDurationDescending) Swap(i, j int) {\n\tvs[i], vs[j] = vs[j], vs[i]\n}\n\nfunc (vs ByDurationDescending) Less(i, j int) bool {\n\tvs1, _ := vs[i].Duration()\n\tvs2, _ := vs[j].Duration()\n\treturn vs1 > vs2\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/dataframe/value_string.go",
    "content": "package dataframe\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\t\"time\"\n)\n\n// String defines string data types.\ntype String string\n\n// NewStringValue takes any interface and returns Value.\nfunc NewStringValue(v interface{}) Value {\n\tswitch t := v.(type) {\n\tcase string:\n\t\treturn String(t)\n\tcase []byte:\n\t\treturn String(t)\n\tcase bool:\n\t\treturn String(fmt.Sprintf(\"%v\", t))\n\tcase int:\n\t\treturn String(strconv.FormatInt(int64(t), 10))\n\tcase int8:\n\t\treturn String(strconv.FormatInt(int64(t), 10))\n\tcase int16:\n\t\treturn String(strconv.FormatInt(int64(t), 10))\n\tcase int32:\n\t\treturn String(strconv.FormatInt(int64(t), 10))\n\tcase int64:\n\t\treturn String(strconv.FormatInt(t, 10))\n\tcase uint:\n\t\treturn String(strconv.FormatUint(uint64(t), 10))\n\tcase uint8: // byte is an alias for uint8\n\t\treturn String(strconv.FormatUint(uint64(t), 10))\n\tcase uint16:\n\t\treturn String(strconv.FormatUint(uint64(t), 10))\n\tcase uint32:\n\t\treturn String(strconv.FormatUint(uint64(t), 10))\n\tcase float32:\n\t\treturn String(strconv.FormatFloat(float64(t), 'f', -1, 64))\n\tcase float64:\n\t\treturn String(strconv.FormatFloat(t, 'f', -1, 64))\n\tcase time.Time:\n\t\treturn String(t.String())\n\tcase time.Duration:\n\t\treturn String(t.String())\n\tdefault:\n\t\tpanic(fmt.Errorf(\"%v(%T) is not supported yet\", v, v))\n\t}\n}\n\n// NewStringValueNil returns an empty value.\nfunc NewStringValueNil() Value {\n\treturn String(\"\")\n}\n\nfunc (s String) String() (string, bool) {\n\treturn string(s), true\n}\n\nfunc (s String) Int64() (int64, bool) {\n\tiv, err := strconv.ParseInt(string(s), 10, 64)\n\treturn iv, err == nil\n}\n\nfunc (s String) Uint64() (uint64, bool) {\n\tiv, err := strconv.ParseUint(string(s), 10, 64)\n\treturn iv, err == nil\n}\n\nfunc (s String) Float64() (float64, bool) {\n\tf, err := strconv.ParseFloat(string(s), 64)\n\treturn f, err == nil\n}\n\nfunc (s String) Time(layout string) (time.Time, bool) {\n\tt, err := time.Parse(layout, string(s))\n\treturn t, err == nil\n}\n\nfunc (s String) Duration() (time.Duration, bool) {\n\td, err := time.ParseDuration(string(s))\n\treturn d, err == nil\n}\n\nfunc (s String) IsNil() bool {\n\treturn len(s) == 0\n}\n\nfunc (s String) EqualTo(v Value) bool {\n\ttv, ok := v.(String)\n\treturn ok && s == tv\n}\n\nfunc (s String) Copy() Value {\n\treturn s\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/dataframe/value_time.go",
    "content": "package dataframe\n\nimport (\n\t\"fmt\"\n\t\"time\"\n)\n\n// GoTime defines time data types.\ntype GoTime time.Time\n\n// NewTimeValue takes any interface and returns Value.\nfunc NewTimeValue(v interface{}) Value {\n\tswitch t := v.(type) {\n\tcase time.Time:\n\t\treturn GoTime(t)\n\tdefault:\n\t\tpanic(fmt.Errorf(\"%v(%T) is not supported yet\", v, v))\n\t}\n}\n\n// NewTimeValueNil returns an empty value.\nfunc NewTimeValueNil() Value {\n\treturn GoTime(time.Time{})\n}\n\nfunc (gt GoTime) String() (string, bool) {\n\treturn time.Time(gt).String(), true\n}\n\nfunc (gt GoTime) Int64() (int64, bool) {\n\treturn 0, false\n}\n\nfunc (gt GoTime) Uint64() (uint64, bool) {\n\treturn 0, false\n}\n\nfunc (gt GoTime) Float64() (float64, bool) {\n\treturn 0, false\n}\n\nfunc (gt GoTime) Time(layout string) (time.Time, bool) {\n\treturn time.Time(gt), true\n}\n\nfunc (gt GoTime) Duration() (time.Duration, bool) {\n\treturn time.Duration(0), false\n}\n\nfunc (gt GoTime) IsNil() bool {\n\treturn time.Time(gt).IsZero()\n}\n\nfunc (gt GoTime) EqualTo(v Value) bool {\n\ttv, ok := v.(GoTime)\n\treturn ok && time.Time(gt).Equal(time.Time(tv))\n}\n\nfunc (gt GoTime) Copy() Value {\n\treturn gt\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/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."
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/df/df.go",
    "content": "package df\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"os/exec\"\n\t\"path/filepath\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/fileutil\"\n\n\thumanize \"github.com/dustin/go-humanize\"\n)\n\n// Get returns entries in 'df' command.\n// Pass '' target to list all information.\nfunc Get(dfPath string, target string) ([]Row, error) {\n\to, err := Read(dfPath, target)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn Parse(o)\n}\n\n// GetDefault returns entries in 'df' command.\n// Pass '' target to list all information.\nfunc GetDefault(target string) ([]Row, error) {\n\to, err := Read(dfPath, target)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn Parse(o)\n}\n\n// dfPath is the default 'df' command path.\nconst dfPath = \"/bin/df\"\n\n// dfFlags is 'df --all --sync --block-size=1024 --output=source,target,fstype,file,itotal,iavail,iused,ipcent,size,avail,used,pcent'.\nvar dfFlags = []string{\"--all\", \"--sync\", \"--block-size=1024\", \"--output=source,target,fstype,file,itotal,iavail,iused,ipcent,size,avail,used,pcent\"}\n\n// ReadDefault reads Linux 'df' command output.\n// Pass '' target to list all information.\nfunc ReadDefault(target string) (string, error) {\n\treturn Read(dfPath, target)\n}\n\n// Read reads Linux 'df' command output.\n// Pass '' target to list all information.\nfunc Read(dfPath string, target string) (string, error) {\n\tbuf := new(bytes.Buffer)\n\terr := read(dfPath, target, buf)\n\to := strings.TrimSpace(buf.String())\n\treturn o, err\n}\n\nfunc read(dfPath string, target string, w io.Writer) error {\n\tif !fileutil.Exist(dfPath) {\n\t\treturn fmt.Errorf(\"%q does not exist\", dfPath)\n\t}\n\tif target != \"\" {\n\t\tdfFlags = append(dfFlags, strings.TrimSpace(target))\n\t}\n\tcmd := exec.Command(dfPath, dfFlags...)\n\tcmd.Stdout = w\n\tcmd.Stderr = w\n\treturn cmd.Run()\n}\n\n// Headers is the headers in 'df' output.\nvar Headers = []string{\n\t\"Filesystem\",\n\n\t// Mounted on\n\t\"Mounted\",\n\t\"on\",\n\n\t\"Type\",\n\t\"File\",\n\t\"Inodes\",\n\t\"IFree\",\n\t\"IUsed\",\n\t\"IUse%\",\n\t\"1K-blocks\",\n\t\"Avail\",\n\t\"Used\",\n\t\"Use%\",\n}\n\ntype commandOutpudrowIdx int\n\nconst (\n\tcommand_output_row_idx_file_system commandOutpudrowIdx = iota\n\tcommand_output_row_idx_mounted_on\n\tcommand_output_row_idx_file_system_type\n\tcommand_output_row_idx_file\n\tcommand_output_row_idx_inodes\n\tcommand_output_row_idx_ifree\n\tcommand_output_row_idx_iused\n\tcommand_output_row_idx_iused_percent\n\tcommand_output_row_idx_total_blocks\n\tcommand_output_row_idx_available_blocks\n\tcommand_output_row_idx_used_blocks\n\tcommand_output_row_idx_used_blocks_percentage\n)\n\n// Parse parses 'df' command output and returns the rows.\nfunc Parse(s string) ([]Row, error) {\n\tlines := strings.Split(s, \"\\n\")\n\trows := make([][]string, 0, len(lines))\n\theaderFound := false\n\tfor _, line := range lines {\n\t\tif len(line) == 0 {\n\t\t\tcontinue\n\t\t}\n\n\t\tds := strings.Fields(strings.TrimSpace(line))\n\t\tif ds[0] == \"Filesystem\" { // header line\n\t\t\tif !reflect.DeepEqual(ds, Headers) {\n\t\t\t\treturn nil, fmt.Errorf(\"unexpected 'df' command header order (%v, expected %v, output: %q)\", ds, Headers, s)\n\t\t\t}\n\t\t\theaderFound = true\n\t\t\tcontinue\n\t\t}\n\n\t\tif !headerFound {\n\t\t\tcontinue\n\t\t}\n\n\t\trow := strings.Fields(strings.TrimSpace(line))\n\t\tif len(row) != len(Headers)-1 {\n\t\t\treturn nil, fmt.Errorf(\"unexpected row column number %v (expected %v)\", row, Headers)\n\t\t}\n\t\trows = append(rows, row)\n\t}\n\n\ttype result struct {\n\t\trow Row\n\t\terr error\n\t}\n\trc := make(chan result, len(rows))\n\tfor _, row := range rows {\n\t\tgo func(row []string) {\n\t\t\ttr, err := parseRow(row)\n\t\t\trc <- result{row: tr, err: err}\n\t\t}(row)\n\t}\n\n\ttcRows := make([]Row, 0, len(rows))\n\tfor len(tcRows) != len(rows) {\n\t\tselect {\n\t\tcase rs := <-rc:\n\t\t\tif rs.err != nil {\n\t\t\t\treturn nil, rs.err\n\t\t\t}\n\t\t\ttcRows = append(tcRows, rs.row)\n\t\t}\n\t}\n\trm := make(map[string]Row)\n\tfor _, row := range tcRows {\n\t\trm[row.MountedOn] = row\n\t}\n\trrs := make([]Row, 0, len(rm))\n\tfor _, row := range rm {\n\t\trrs = append(rrs, row)\n\t}\n\treturn rrs, nil\n}\n\nfunc parseRow(row []string) (Row, error) {\n\tdrow := Row{\n\t\tFileSystem:        strings.TrimSpace(row[command_output_row_idx_file_system]),\n\t\tMountedOn:         strings.TrimSpace(row[command_output_row_idx_mounted_on]),\n\t\tFileSystemType:    strings.TrimSpace(row[command_output_row_idx_file_system_type]),\n\t\tFile:              strings.TrimSpace(row[command_output_row_idx_file]),\n\t\tIusedPercent:      strings.TrimSpace(strings.Replace(row[command_output_row_idx_iused_percent], \"%\", \" %\", -1)),\n\t\tUsedBlocksPercent: strings.TrimSpace(strings.Replace(row[command_output_row_idx_used_blocks_percentage], \"%\", \" %\", -1)),\n\t}\n\tdrow.Device = filepath.Base(drow.FileSystem)\n\n\tptxt := strings.TrimSpace(row[command_output_row_idx_inodes])\n\tif ptxt == \"-\" {\n\t\tptxt = \"0\"\n\t}\n\tiv, err := strconv.ParseInt(ptxt, 10, 64)\n\tif err != nil {\n\t\treturn Row{}, fmt.Errorf(\"parse error %v (row %v)\", err, row)\n\t}\n\tdrow.Inodes = iv\n\n\tptxt = strings.TrimSpace(row[command_output_row_idx_ifree])\n\tif ptxt == \"-\" {\n\t\tptxt = \"0\"\n\t}\n\tiv, err = strconv.ParseInt(ptxt, 10, 64)\n\tif err != nil {\n\t\treturn Row{}, fmt.Errorf(\"parse error %v (row %v)\", err, row)\n\t}\n\tdrow.Ifree = iv\n\n\tptxt = strings.TrimSpace(row[command_output_row_idx_iused])\n\tif ptxt == \"-\" {\n\t\tptxt = \"0\"\n\t}\n\tiv, err = strconv.ParseInt(ptxt, 10, 64)\n\tif err != nil {\n\t\treturn Row{}, fmt.Errorf(\"parse error %v (row %v)\", err, row)\n\t}\n\tdrow.Iused = iv\n\n\tptxt = strings.TrimSpace(row[command_output_row_idx_total_blocks])\n\tif ptxt == \"-\" {\n\t\tptxt = \"0\"\n\t}\n\tiv, err = strconv.ParseInt(ptxt, 10, 64)\n\tif err != nil {\n\t\treturn Row{}, fmt.Errorf(\"parse error %v (row %v)\", err, row)\n\t}\n\tdrow.TotalBlocks = iv\n\tdrow.TotalBlocksBytesN = iv * 1024\n\tdrow.TotalBlocksParsedBytes = humanize.Bytes(uint64(drow.TotalBlocksBytesN))\n\n\tptxt = strings.TrimSpace(row[command_output_row_idx_available_blocks])\n\tif ptxt == \"-\" {\n\t\tptxt = \"0\"\n\t}\n\tiv, err = strconv.ParseInt(ptxt, 10, 64)\n\tif err != nil {\n\t\treturn Row{}, fmt.Errorf(\"parse error %v (row %v)\", err, row)\n\t}\n\tdrow.AvailableBlocks = iv\n\tdrow.AvailableBlocksBytesN = iv * 1024\n\tdrow.AvailableBlocksParsedBytes = humanize.Bytes(uint64(drow.AvailableBlocksBytesN))\n\n\tptxt = strings.TrimSpace(row[command_output_row_idx_used_blocks])\n\tif ptxt == \"-\" {\n\t\tptxt = \"0\"\n\t}\n\tiv, err = strconv.ParseInt(ptxt, 10, 64)\n\tif err != nil {\n\t\treturn Row{}, fmt.Errorf(\"parse error %v (row %v)\", err, row)\n\t}\n\tdrow.UsedBlocks = iv\n\tdrow.UsedBlocksBytesN = iv * 1024\n\tdrow.UsedBlocksParsedBytes = humanize.Bytes(uint64(drow.UsedBlocksBytesN))\n\n\treturn drow, nil\n}\n\n// GetDevice returns the device name where dir is mounted.\nfunc GetDevice(target string) (string, error) {\n\tdrows, err := GetDefault(target)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tif len(drows) != 1 {\n\t\treturn \"\", fmt.Errorf(\"expected 1 df row at %q (got %+v)\", target, drows)\n\t}\n\treturn drows[0].Device, nil\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/df/doc.go",
    "content": "// Package df wraps Unix 'df' command.\n// Reference https://en.wikipedia.org/wiki/Df_(Unix).\npackage df\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/df/generated.go",
    "content": "package df\n\n// updated at 2017-12-21 12:15:54.764438 -0800 PST\n\n// Row is 'df' command output row in Linux.\ntype Row struct {\n\t// FileSystem is file system ('source').\n\tFileSystem string `column:\"file_system\"`\n\t// Device is device name.\n\tDevice string `column:\"device\"`\n\t// MountedOn is 'mounted on' ('target').\n\tMountedOn string `column:\"mounted_on\"`\n\t// FileSystemType is file system type ('fstype').\n\tFileSystemType string `column:\"file_system_type\"`\n\t// File is file name if specified on the command line ('file').\n\tFile string `column:\"file\"`\n\t// Inodes is total number of inodes ('itotal').\n\tInodes int64 `column:\"inodes\"`\n\t// Ifree is number of available inodes ('iavail').\n\tIfree int64 `column:\"ifree\"`\n\t// Iused is number of used inodes ('iused').\n\tIused int64 `column:\"iused\"`\n\t// IusedPercent is percentage of iused divided by itotal ('ipcent').\n\tIusedPercent string `column:\"iused_percent\"`\n\t// TotalBlocks is total number of 1K-blocks ('size').\n\tTotalBlocks            int64  `column:\"total_blocks\"`\n\tTotalBlocksBytesN      int64  `column:\"total_blocks_bytes_n\"`\n\tTotalBlocksParsedBytes string `column:\"total_blocks_parsed_bytes\"`\n\t// AvailableBlocks is number of available 1K-blocks ('avail').\n\tAvailableBlocks            int64  `column:\"available_blocks\"`\n\tAvailableBlocksBytesN      int64  `column:\"available_blocks_bytes_n\"`\n\tAvailableBlocksParsedBytes string `column:\"available_blocks_parsed_bytes\"`\n\t// UsedBlocks is number of used 1K-blocks ('used').\n\tUsedBlocks            int64  `column:\"used_blocks\"`\n\tUsedBlocksBytesN      int64  `column:\"used_blocks_bytes_n\"`\n\tUsedBlocksParsedBytes string `column:\"used_blocks_parsed_bytes\"`\n\t// UsedBlocksPercent is percentage of used-blocks divided by total-blocks ('pcent').\n\tUsedBlocksPercent string `column:\"used_blocks_percent\"`\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/df/schema.go",
    "content": "package df\n\nimport (\n\t\"reflect\"\n\n\t\"github.com/gyuho/linux-inspect/schema\"\n)\n\n// RowSchema represents 'df' command output row\n// (See https://en.wikipedia.org/wiki/Df_(Unix)\n// and https://www.gnu.org/software/coreutils/manual/html_node/df-invocation.html\n// and 'df --all --sync --block-size=1024 --output=source,target,fstype,file,itotal,iavail,iused,ipcent,size,avail,used,pcent'\n// and the output unit is kilobytes).\nvar RowSchema = schema.RawData{\n\tIsYAML: false,\n\tColumns: []schema.Column{\n\t\t{Name: \"file-system\", Godoc: \"file system ('source')\", Kind: reflect.String},\n\t\t{Name: \"device\", Godoc: \"device name\", Kind: reflect.String},\n\t\t{Name: \"mounted-on\", Godoc: \"'mounted on' ('target')\", Kind: reflect.String},\n\t\t{Name: \"file-system-type\", Godoc: \"file system type ('fstype')\", Kind: reflect.String},\n\t\t{Name: \"file\", Godoc: \"file name if specified on the command line ('file')\", Kind: reflect.String},\n\n\t\t{Name: \"inodes\", Godoc: \"total number of inodes ('itotal')\", Kind: reflect.Int64},\n\t\t{Name: \"ifree\", Godoc: \"number of available inodes ('iavail')\", Kind: reflect.Int64},\n\t\t{Name: \"iused\", Godoc: \"number of used inodes ('iused')\", Kind: reflect.Int64},\n\t\t{Name: \"iused-percent\", Godoc: \"percentage of iused divided by itotal ('ipcent')\", Kind: reflect.String},\n\n\t\t{Name: \"total-blocks\", Godoc: \"total number of 1K-blocks ('size')\", Kind: reflect.Int64},\n\t\t{Name: \"available-blocks\", Godoc: \"number of available 1K-blocks ('avail')\", Kind: reflect.Int64},\n\t\t{Name: \"used-blocks\", Godoc: \"number of used 1K-blocks ('used')\", Kind: reflect.Int64},\n\t\t{Name: \"used-blocks-percent\", Godoc: \"percentage of used-blocks divided by total-blocks ('pcent')\", Kind: reflect.String},\n\t},\n\tColumnsToParse: map[string]schema.RawDataType{\n\t\t\"total-blocks\":     schema.TypeBytes,\n\t\t\"available-blocks\": schema.TypeBytes,\n\t\t\"used-blocks\":      schema.TypeBytes,\n\t},\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/inspect/binary_search.go",
    "content": "package inspect\n\nimport (\n\t\"math\"\n\t\"sort\"\n)\n\n// BinarySearchInt64 binary-searches the int64 slice\n// and returns the index of the matching element.\n// So input slice must be sorted.\n// It returns -1 if not found.\nfunc BinarySearchInt64(nums []int64, v int64) int {\n\tlo := 0\n\thi := len(nums) - 1\n\tfor lo <= hi {\n\t\tmid := lo + (hi-lo)/2\n\t\tif nums[mid] < v {\n\t\t\tlo = mid + 1 // keep searching on right-subtree\n\t\t\tcontinue\n\t\t}\n\n\t\tif nums[mid] > v {\n\t\t\thi = mid - 1 // keep searching on left-subtree\n\t\t\tcontinue\n\t\t}\n\n\t\treturn mid\n\t}\n\treturn -1\n}\n\n// Tree defines binary search tree.\ntype Tree interface {\n\tClosest(v float64) (index int, value float64)\n}\n\n// NewBinaryTree builds a new binary search tree.\n// The original slice won't be sorted.\nfunc NewBinaryTree(nums []float64) Tree {\n\tif len(nums) == 0 {\n\t\treturn nil\n\t}\n\n\troot := newFloat64Node(0, nums[0])\n\tfor i := range nums {\n\t\tif i == 0 {\n\t\t\tcontinue\n\t\t}\n\t\tinsert(root, i, nums[i])\n\t}\n\treturn root\n}\n\n// NewBinaryTreeInt64 builds a new binary search tree.\n// The original slice won't be sorted.\nfunc NewBinaryTreeInt64(nums []int64) Tree {\n\tfs := make([]float64, len(nums))\n\tfor i := range nums {\n\t\tfs[i] = float64(nums[i])\n\t}\n\treturn NewBinaryTree(fs)\n}\n\nfunc (root *float64Node) Closest(v float64) (index int, value float64) {\n\tnd := searchClosest(root, v)\n\treturn nd.Idx, nd.Value\n}\n\n// float64Node represents binary search tree\n// to find the closest float64 value.\ntype float64Node struct {\n\tIdx   int\n\tValue float64\n\tLeft  *float64Node\n\tRight *float64Node\n}\n\n// newFloat64Node returns a new float64Node.\nfunc newFloat64Node(idx int, v float64) *float64Node {\n\treturn &float64Node{Idx: idx, Value: v}\n}\n\n// insert inserts a value to the binary search tree.\n// For now, it assumes that values are unique.\nfunc insert(root *float64Node, idx int, v float64) *float64Node {\n\tif root == nil {\n\t\treturn newFloat64Node(idx, v)\n\t}\n\n\tif root.Value > v {\n\t\troot.Left = insert(root.Left, idx, v)\n\t} else {\n\t\troot.Right = insert(root.Right, idx, v)\n\t}\n\n\treturn root\n}\n\n// search searches a value in the binary search tree.\nfunc search(root *float64Node, v float64) *float64Node {\n\tif root == nil {\n\t\treturn nil\n\t}\n\n\tif root.Value == v {\n\t\treturn root\n\t}\n\n\tif root.Value > v {\n\t\treturn search(root.Left, v)\n\t}\n\n\treturn search(root.Right, v)\n}\n\n// searchClosest searches the closest value in the binary search tree.\nfunc searchClosest(root *float64Node, v float64) *float64Node {\n\tif root == nil {\n\t\treturn nil\n\t}\n\n\tvar child *float64Node\n\tif root.Value > v {\n\t\tchild = searchClosest(root.Left, v)\n\t} else {\n\t\tchild = searchClosest(root.Right, v)\n\t}\n\n\t// no children, just return root\n\tif child == nil {\n\t\treturn root\n\t}\n\n\trootDiff := math.Abs(float64(root.Value - v))\n\tchildDiff := math.Abs(float64(child.Value - v))\n\tif rootDiff < childDiff {\n\t\t// diff with root is smaller\n\t\treturn root\n\t}\n\n\treturn child\n}\n\n// boundary is the pair of values in a boundary.\ntype boundary struct {\n\t// index of 'lower' in the original slice\n\tlower    int64\n\tlowerIdx int\n\n\t// index of 'upper' in the original slice\n\tupper    int64\n\tupperIdx int\n}\n\ntype boundaries struct {\n\t// store original slice as well\n\t// to return the index\n\tnumsOrig    []int64\n\tnum2OrigIdx map[int64]int\n\n\tnumsSorted    []int64\n\tnum2SortedIdx map[int64]int\n\n\ttr Tree\n}\n\nfunc buildBoundaries(nums []int64) *boundaries {\n\tnum2OrigIdx := make(map[int64]int)\n\tfor i := range nums {\n\t\tnum2OrigIdx[nums[i]] = i\n\t}\n\tnumsOrig := make([]int64, len(nums))\n\tcopy(numsOrig, nums)\n\n\ttr := NewBinaryTreeInt64(nums)\n\n\tsort.Sort(int64Slice(nums))\n\tnum2SortedIdx := make(map[int64]int)\n\tfor i := range nums {\n\t\tnum2SortedIdx[nums[i]] = i\n\t}\n\n\treturn &boundaries{\n\t\tnumsOrig:      numsOrig,\n\t\tnum2OrigIdx:   num2OrigIdx,\n\t\tnumsSorted:    nums,\n\t\tnum2SortedIdx: num2SortedIdx,\n\t\ttr:            tr,\n\t}\n}\n\n// adds a second to boundaries\n// and rebuild the binary tree\nfunc (bf *boundaries) add(sec int64) {\n\tbf.numsOrig = append(bf.numsOrig, sec)\n\tbf.num2OrigIdx[sec] = len(bf.numsOrig)\n\n\tbf.numsSorted = append(bf.numsSorted, sec)\n\n\t// re-sort\n\tbf.tr = NewBinaryTreeInt64(bf.numsSorted)\n\tsort.Sort(int64Slice(bf.numsSorted))\n\n\tnum2SortedIdx := make(map[int64]int)\n\tfor i := range bf.numsSorted {\n\t\tnum2SortedIdx[bf.numsSorted[i]] = i\n\t}\n\tbf.num2SortedIdx = num2SortedIdx\n}\n\n// returns the boundary with closest upper, lower value.\n// returns the index of the value if found.\nfunc (bf *boundaries) findBoundary(missingSecond int64) (bd boundary) {\n\tidxOrig, vOrig := bf.tr.Closest(float64(missingSecond))\n\tvalOrig := int64(vOrig)\n\tif valOrig == missingSecond {\n\t\tbd.lower = valOrig\n\t\tbd.lowerIdx = idxOrig\n\t\tbd.upper = valOrig\n\t\tbd.upperIdx = idxOrig\n\t\treturn\n\t}\n\n\t// use the idx in sorted!\n\tidxx := bf.num2SortedIdx[valOrig]\n\n\tif missingSecond > valOrig {\n\t\tbd.lower = valOrig\n\t\tbd.lowerIdx = idxOrig\n\n\t\t// valOrig is the lower bound, we need to find another upper value\n\t\t// continue search in right-half\n\t\t// (assume 'nums' is sorted)\n\t\tfor j := idxx + 1; j < len(bf.numsSorted); j++ {\n\t\t\tif bf.numsSorted[j] > missingSecond {\n\t\t\t\t// found upper bound\n\t\t\t\tbd.upper = bf.numsSorted[j]\n\t\t\t\tbd.upperIdx = bf.num2OrigIdx[bf.numsSorted[j]]\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tbd.upper = 0\n\t\tbd.upperIdx = -1\n\t\treturn\n\t}\n\tbd.upper = valOrig\n\tbd.upperIdx = idxOrig\n\n\t// valOrig is the upper bound, we need to find another lower value\n\t// continue search in left-half\n\t// (assume 'nums' is sorted)\n\tfor j := idxx - 1; j >= 0; j-- {\n\t\tif bf.numsSorted[j] < missingSecond {\n\t\t\t// found lower bound\n\t\t\tbd.lower = bf.numsSorted[j]\n\t\t\tbd.lowerIdx = bf.num2OrigIdx[bf.numsSorted[j]]\n\t\t\treturn\n\t\t}\n\t}\n\n\tbd.lower = 0\n\tbd.lowerIdx = -1\n\treturn\n}\n\ntype int64Slice []int64\n\nfunc (s int64Slice) Len() int           { return len(s) }\nfunc (s int64Slice) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }\nfunc (s int64Slice) Less(i, j int) bool { return s[i] < s[j] }\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/inspect/doc.go",
    "content": "// Package inspect inspects '/proc/*'.\npackage inspect\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/inspect/ds.go",
    "content": "package inspect\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\n\t\"github.com/gyuho/linux-inspect/proc\"\n\n\t\"github.com/gyuho/dataframe\"\n\t\"github.com/olekukonko/tablewriter\"\n)\n\n// DSEntry represents disk statistics.\n// Simplied from 'DiskStat'.\ntype DSEntry struct {\n\tDevice string\n\n\tReadsCompleted     uint64\n\tSectorsRead        uint64\n\tTimeSpentOnReading string\n\n\tWritesCompleted    uint64\n\tSectorsWritten     uint64\n\tTimeSpentOnWriting string\n\n\t// extra fields for sorting\n\tTimeSpentOnReadingMs uint64\n\tTimeSpentOnWritingMs uint64\n}\n\n// GetDS lists all disk statistics.\nfunc GetDS() ([]DSEntry, error) {\n\tss, err := proc.GetDiskstats()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tds := make([]DSEntry, len(ss))\n\tfor i := range ss {\n\t\tds[i] = DSEntry{\n\t\t\tDevice: ss[i].DeviceName,\n\n\t\t\tReadsCompleted:     ss[i].ReadsCompleted,\n\t\t\tSectorsRead:        ss[i].SectorsRead,\n\t\t\tTimeSpentOnReading: ss[i].TimeSpentOnReadingMsParsedTime,\n\n\t\t\tWritesCompleted:    ss[i].WritesCompleted,\n\t\t\tSectorsWritten:     ss[i].SectorsWritten,\n\t\t\tTimeSpentOnWriting: ss[i].TimeSpentOnWritingMsParsedTime,\n\n\t\t\tTimeSpentOnReadingMs: ss[i].TimeSpentOnReadingMs,\n\t\t\tTimeSpentOnWritingMs: ss[i].TimeSpentOnWritingMs,\n\t\t}\n\t}\n\treturn ds, nil\n}\n\nconst columnsDSToShow = 7\n\nvar columnsDSEntry = []string{\n\t\"DEVICE\",\n\n\t\"READS-COMPLETED\", \"SECTORS-READ\", \"TIME(READS)\",\n\t\"WRITES-COMPLETED\", \"SECTORS-WRITTEN\", \"TIME(WRITES)\",\n\n\t// extra for sorting\n\t\"MILLISECONDS(READS)\",\n\t\"MILLISECONDS(WRITES)\",\n}\n\n// ConvertDS converts to rows.\nfunc ConvertDS(dss ...DSEntry) (header []string, rows [][]string) {\n\theader = columnsDSEntry\n\trows = make([][]string, len(dss))\n\tfor i, elem := range dss {\n\t\trow := make([]string, len(columnsDSEntry))\n\t\trow[0] = elem.Device\n\n\t\trow[1] = fmt.Sprintf(\"%d\", elem.ReadsCompleted)\n\t\trow[2] = fmt.Sprintf(\"%d\", elem.SectorsRead)\n\t\trow[3] = elem.TimeSpentOnReading\n\n\t\trow[4] = fmt.Sprintf(\"%d\", elem.WritesCompleted)\n\t\trow[5] = fmt.Sprintf(\"%d\", elem.SectorsWritten)\n\t\trow[6] = elem.TimeSpentOnWriting\n\n\t\trow[7] = fmt.Sprintf(\"%d\", elem.TimeSpentOnReadingMs)\n\t\trow[8] = fmt.Sprintf(\"%d\", elem.TimeSpentOnWritingMs)\n\n\t\trows[i] = row\n\t}\n\tdataframe.SortBy(\n\t\trows,\n\t\tdataframe.Float64DescendingFunc(5), // SectorsWritten\n\t\tdataframe.Float64DescendingFunc(4), // WritesCompleted\n\t).Sort(rows)\n\n\treturn\n}\n\n// StringDS converts in print-friendly format.\nfunc StringDS(header []string, rows [][]string, topLimit int) string {\n\tbuf := new(bytes.Buffer)\n\ttw := tablewriter.NewWriter(buf)\n\ttw.SetHeader(header[:columnsDSToShow:columnsDSToShow])\n\n\tif topLimit > 0 && len(rows) > topLimit {\n\t\trows = rows[:topLimit:topLimit]\n\t}\n\n\tfor _, row := range rows {\n\t\ttw.Append(row[:columnsDSToShow:columnsDSToShow])\n\t}\n\ttw.SetAutoFormatHeaders(false)\n\ttw.SetAlignment(tablewriter.ALIGN_RIGHT)\n\ttw.Render()\n\n\treturn buf.String()\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/inspect/ns.go",
    "content": "package inspect\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\n\t\"github.com/gyuho/linux-inspect/proc\"\n\n\t\"github.com/gyuho/dataframe\"\n\t\"github.com/olekukonko/tablewriter\"\n)\n\n// NSEntry represents network statistics.\n// Simplied from 'NetDev'.\ntype NSEntry struct {\n\tInterface string\n\n\tReceiveBytes    string\n\tReceivePackets  uint64\n\tTransmitBytes   string\n\tTransmitPackets uint64\n\n\t// extra fields for sorting\n\tReceiveBytesNum  uint64\n\tTransmitBytesNum uint64\n}\n\n// GetNS lists all '/proc/net/dev' statistics.\nfunc GetNS() ([]NSEntry, error) {\n\tss, err := proc.GetNetDev()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tds := make([]NSEntry, len(ss))\n\tfor i := range ss {\n\t\tds[i] = NSEntry{\n\t\t\tInterface: ss[i].Interface,\n\n\t\t\tReceiveBytes:    ss[i].ReceiveBytesParsedBytes,\n\t\t\tReceivePackets:  ss[i].ReceivePackets,\n\t\t\tTransmitBytes:   ss[i].TransmitBytesParsedBytes,\n\t\t\tTransmitPackets: ss[i].TransmitPackets,\n\n\t\t\tReceiveBytesNum:  ss[i].ReceiveBytesBytesN,\n\t\t\tTransmitBytesNum: ss[i].TransmitBytesBytesN,\n\t\t}\n\t}\n\treturn ds, nil\n}\n\nconst columnsNSToShow = 5\n\nvar columnsNSEntry = []string{\n\t\"INTERFACE\",\n\n\t\"RECEIVE-BYTES\", \"RECEIVE-PACKETS\",\n\t\"TRANSMIT-BYTES\", \"TRANSMIT-PACKETS\",\n\n\t// extra for sorting\n\t\"RECEIVE-BYTES-NUM\",\n\t\"TRANSMIT-BYTES-NUM\",\n}\n\n// ConvertNS converts to rows.\nfunc ConvertNS(nss ...NSEntry) (header []string, rows [][]string) {\n\theader = columnsNSEntry\n\trows = make([][]string, len(nss))\n\tfor i, elem := range nss {\n\t\trow := make([]string, len(columnsNSEntry))\n\t\trow[0] = elem.Interface\n\n\t\trow[1] = elem.ReceiveBytes\n\t\trow[2] = fmt.Sprintf(\"%d\", elem.ReceivePackets)\n\t\trow[3] = elem.TransmitBytes\n\t\trow[4] = fmt.Sprintf(\"%d\", elem.TransmitPackets)\n\n\t\trow[5] = fmt.Sprintf(\"%d\", elem.ReceiveBytesNum)\n\t\trow[6] = fmt.Sprintf(\"%d\", elem.TransmitBytesNum)\n\n\t\trows[i] = row\n\t}\n\tdataframe.SortBy(\n\t\trows,\n\t\tdataframe.Float64DescendingFunc(5), // ReceiveBytesNum\n\t\tdataframe.Float64DescendingFunc(6), // TransmitBytesNum\n\t).Sort(rows)\n\n\treturn\n}\n\n// StringNS converts in print-friendly format.\nfunc StringNS(header []string, rows [][]string, topLimit int) string {\n\tbuf := new(bytes.Buffer)\n\ttw := tablewriter.NewWriter(buf)\n\ttw.SetHeader(header[:columnsNSToShow:columnsNSToShow])\n\n\tif topLimit > 0 && len(rows) > topLimit {\n\t\trows = rows[:topLimit:topLimit]\n\t}\n\n\tfor _, row := range rows {\n\t\ttw.Append(row[:columnsNSToShow:columnsNSToShow])\n\t}\n\ttw.SetAutoFormatHeaders(false)\n\ttw.SetAlignment(tablewriter.ALIGN_RIGHT)\n\ttw.Render()\n\n\treturn buf.String()\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/inspect/op.go",
    "content": "package inspect\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\n\t\"github.com/gyuho/linux-inspect/top\"\n)\n\n// EntryOp defines entry option(filter).\ntype EntryOp struct {\n\tProgramMatchFunc func(string) bool\n\tprogram          string\n\n\tPID      int64\n\tTopLimit int\n\n\t// for ss\n\tTCP        bool\n\tTCP6       bool\n\tLocalPort  int64\n\tRemotePort int64\n\n\t// for ps\n\tTopExecPath string\n\tTopStream   *top.Stream\n\n\t// for Proc\n\tDiskDevice       string\n\tNetworkInterface string\n\tExtraPath        string\n}\n\n// OpFunc applies each filter.\ntype OpFunc func(*EntryOp)\n\n// WithProgramMatch matches command name.\nfunc WithProgramMatch(matchFunc func(string) bool) OpFunc {\n\treturn func(op *EntryOp) { op.ProgramMatchFunc = matchFunc }\n}\n\n// WithProgram to filter entries by program name.\nfunc WithProgram(name string) OpFunc {\n\treturn func(op *EntryOp) {\n\t\top.ProgramMatchFunc = func(commandName string) bool {\n\t\t\treturn strings.HasSuffix(commandName, name)\n\t\t}\n\t\top.program = name\n\t}\n}\n\n// WithPID to filter entries by PIDs.\nfunc WithPID(pid int64) OpFunc {\n\treturn func(op *EntryOp) { op.PID = pid }\n}\n\n// WithTopLimit to filter entries with limit.\nfunc WithTopLimit(limit int) OpFunc {\n\treturn func(op *EntryOp) { op.TopLimit = limit }\n}\n\n// WithLocalPort to filter entries by local port.\nfunc WithLocalPort(port int64) OpFunc {\n\treturn func(op *EntryOp) { op.LocalPort = port }\n}\n\n// WithRemotePort to filter entries by remote port.\nfunc WithRemotePort(port int64) OpFunc {\n\treturn func(op *EntryOp) { op.RemotePort = port }\n}\n\n// WithTCP to filter entries by TCP.\n// Can be used with 'WithTCP6'.\nfunc WithTCP() OpFunc {\n\treturn func(op *EntryOp) { op.TCP = true }\n}\n\n// WithTCP6 to filter entries by TCP6.\n// Can be used with 'WithTCP'.\nfunc WithTCP6() OpFunc {\n\treturn func(op *EntryOp) { op.TCP6 = true }\n}\n\n// WithTopExecPath configures 'top' command path.\nfunc WithTopExecPath(path string) OpFunc {\n\treturn func(op *EntryOp) { op.TopExecPath = path }\n}\n\n// WithTopStream gets the PSEntry from the 'top' stream.\nfunc WithTopStream(str *top.Stream) OpFunc {\n\treturn func(op *EntryOp) { op.TopStream = str }\n}\n\n// WithDiskDevice to filter entries by disk device.\nfunc WithDiskDevice(name string) OpFunc {\n\treturn func(op *EntryOp) { op.DiskDevice = name }\n}\n\n// WithNetworkInterface to filter entries by disk device.\nfunc WithNetworkInterface(name string) OpFunc {\n\treturn func(op *EntryOp) { op.NetworkInterface = name }\n}\n\n// WithExtraPath to filter entries by disk device.\nfunc WithExtraPath(path string) OpFunc {\n\treturn func(op *EntryOp) { op.ExtraPath = path }\n}\n\n// applyOpts panics when op.Program != \"\" && op.PID > 0.\nfunc (op *EntryOp) applyOpts(opts []OpFunc) {\n\tfor _, of := range opts {\n\t\tof(op)\n\t}\n\n\tif op.DiskDevice != \"\" || op.NetworkInterface != \"\" || op.ExtraPath != \"\" {\n\t\tif (op.program != \"\" || op.ProgramMatchFunc != nil) || op.TopLimit > 0 || op.LocalPort > 0 || op.RemotePort > 0 || op.TCP || op.TCP6 {\n\t\t\tpanic(fmt.Errorf(\"not-valid Proc fileter; disk device %q or network interface %q or extra path %q\", op.DiskDevice, op.NetworkInterface, op.ExtraPath))\n\t\t}\n\t}\n\tif (op.program != \"\" || op.ProgramMatchFunc != nil) && op.PID > 0 {\n\t\tpanic(fmt.Errorf(\"can't filter both by program(%q or %p) and PID(%d)\", op.program, op.ProgramMatchFunc, op.PID))\n\t}\n\tif !op.TCP && !op.TCP6 {\n\t\t// choose both\n\t\top.TCP, op.TCP6 = true, true\n\t}\n\tif op.LocalPort > 0 && op.RemotePort > 0 {\n\t\tpanic(fmt.Errorf(\"can't query by both local(%d) and remote(%d) ports\", op.LocalPort, op.RemotePort))\n\t}\n\n\tif op.TopExecPath == \"\" {\n\t\top.TopExecPath = top.DefaultExecPath\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/inspect/proc.go",
    "content": "package inspect\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"time\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/fileutil\"\n\t\"github.com/gyuho/linux-inspect/proc\"\n)\n\n// Proc represents an entry of various system statistics.\ntype Proc struct {\n\t// UnixNanosecond is unix nano second when this Proc row gets created.\n\tUnixNanosecond int64\n\n\t// UnixSecond is the converted Unix seconds from UnixNano.\n\tUnixSecond int64\n\n\tPSEntry PSEntry\n\n\tLoadAvg proc.LoadAvg\n\n\tDSEntry              DSEntry\n\tReadsCompletedDelta  uint64\n\tSectorsReadDelta     uint64\n\tWritesCompletedDelta uint64\n\tSectorsWrittenDelta  uint64\n\n\t// ReadBytesDelta is calculated from SectorsReadDelta\n\t// while SECTOR_SIZE is 512 (one sector is 512-byte) in Linux kernel\n\t// (http://lkml.iu.edu/hypermail/linux/kernel/1508.2/00431.html).\n\tReadBytesDelta     uint64\n\tReadMegabytesDelta uint64\n\n\t// WriteBytesDelta is calculated from SectorsWrittenDelta\n\t// while SECTOR_SIZE is 512 (one sector is 512-byte) in Linux kernel\n\t// (http://lkml.iu.edu/hypermail/linux/kernel/1508.2/00431.html).\n\tWriteBytesDelta     uint64\n\tWriteMegabytesDelta uint64\n\n\tNSEntry               NSEntry\n\tReceiveBytesDelta     string\n\tReceivePacketsDelta   uint64\n\tTransmitBytesDelta    string\n\tTransmitPacketsDelta  uint64\n\tReceiveBytesNumDelta  uint64\n\tTransmitBytesNumDelta uint64\n\n\t// Extra exists to support customized data query.\n\tExtra []byte\n}\n\n// ProcSlice is a slice of 'Proc' and implements\n// the sort.Sort interface in unix nano/second ascending order.\ntype ProcSlice []Proc\n\nfunc (p ProcSlice) Len() int      { return len(p) }\nfunc (p ProcSlice) Swap(i, j int) { p[i], p[j] = p[j], p[i] }\nfunc (p ProcSlice) Less(i, j int) bool {\n\tif p[i].UnixNanosecond != p[j].UnixNanosecond {\n\t\treturn p[i].UnixNanosecond < p[j].UnixNanosecond\n\t}\n\treturn p[i].UnixSecond < p[j].UnixSecond\n}\n\n// nanoToUnix converts unix nanoseconds to unix second.\nfunc nanoToUnix(unixNano int64) (unixSec int64) {\n\treturn int64(unixNano / 1e9)\n}\n\n// GetProc returns current 'Proc' data.\n// PID is required.\n// Disk device, network interface, extra path are optional.\nfunc GetProc(opts ...OpFunc) (Proc, error) {\n\top := &EntryOp{}\n\top.applyOpts(opts)\n\n\tif op.PID == 0 {\n\t\treturn Proc{}, fmt.Errorf(\"unknown PID %d\", op.PID)\n\t}\n\tts := time.Now().UnixNano()\n\tpc := Proc{UnixNanosecond: ts, UnixSecond: nanoToUnix(ts)}\n\n\ttoFinish := 0\n\n\terrc := make(chan error)\n\ttoFinish++\n\tgo func() {\n\t\t// get process stats\n\t\tets, err := GetPS(WithPID(op.PID), WithTopStream(op.TopStream))\n\t\tif err != nil {\n\t\t\terrc <- err\n\t\t\treturn\n\t\t}\n\t\tif len(ets) != 1 {\n\t\t\terrc <- fmt.Errorf(\"len(PID=%d entries) != 1 (got %d)\", op.PID, len(ets))\n\t\t\treturn\n\t\t}\n\t\tpc.PSEntry = ets[0]\n\t\terrc <- nil\n\t}()\n\n\ttoFinish++\n\tgo func() {\n\t\tlvg, err := proc.GetLoadAvg()\n\t\tif err != nil {\n\t\t\terrc <- err\n\t\t\treturn\n\t\t}\n\t\tpc.LoadAvg = lvg\n\t\terrc <- nil\n\t}()\n\n\tif op.DiskDevice != \"\" {\n\t\ttoFinish++\n\t\tgo func() {\n\t\t\t// get diskstats\n\t\t\tds, err := GetDS()\n\t\t\tif err != nil {\n\t\t\t\terrc <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor _, elem := range ds {\n\t\t\t\tif elem.Device == op.DiskDevice {\n\t\t\t\t\tpc.DSEntry = elem\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\terrc <- nil\n\t\t}()\n\t}\n\n\tif op.NetworkInterface != \"\" {\n\t\ttoFinish++\n\t\tgo func() {\n\t\t\t// get network I/O stats\n\t\t\tns, err := GetNS()\n\t\t\tif err != nil {\n\t\t\t\terrc <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor _, elem := range ns {\n\t\t\t\tif elem.Interface == op.NetworkInterface {\n\t\t\t\t\tpc.NSEntry = elem\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\terrc <- nil\n\t\t}()\n\t}\n\n\tif op.ExtraPath != \"\" {\n\t\ttoFinish++\n\t\tgo func() {\n\t\t\tf, err := fileutil.OpenToRead(op.ExtraPath)\n\t\t\tif err != nil {\n\t\t\t\terrc <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tdefer f.Close()\n\t\t\tb, err := ioutil.ReadAll(f)\n\t\t\tif err != nil {\n\t\t\t\terrc <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tpc.Extra = b\n\t\t\terrc <- nil\n\t\t}()\n\t}\n\n\tcnt := 0\n\tfor cnt != toFinish { // include load avg query\n\t\terr := <-errc\n\t\tif err != nil {\n\t\t\treturn Proc{}, err\n\t\t}\n\t\tcnt++\n\t}\n\n\tif op.DiskDevice != \"\" {\n\t\tif pc.DSEntry.Device == \"\" {\n\t\t\treturn Proc{}, fmt.Errorf(\"disk device %q was not found (%+v)\", op.DiskDevice, pc.DSEntry)\n\t\t}\n\t}\n\tif op.NetworkInterface != \"\" {\n\t\tif pc.NSEntry.Interface == \"\" {\n\t\t\treturn Proc{}, fmt.Errorf(\"network interface %q was not found\", op.NetworkInterface)\n\t\t}\n\t}\n\treturn pc, nil\n}\n\nvar (\n\t// ProcHeader lists all Proc CSV columns.\n\tProcHeader = append([]string{\"UNIX-NANOSECOND\", \"UNIX-SECOND\"}, columnsPSEntry...)\n\n\t// ProcHeaderIndex maps each Proc column name to its index in row.\n\tProcHeaderIndex = make(map[string]int)\n)\n\nfunc init() {\n\t// more columns to 'ProcHeader'\n\tProcHeader = append(ProcHeader,\n\t\t\"LOAD-AVERAGE-1-MINUTE\",\n\t\t\"LOAD-AVERAGE-5-MINUTE\",\n\t\t\"LOAD-AVERAGE-15-MINUTE\",\n\t)\n\tProcHeader = append(ProcHeader, columnsDSEntry...)\n\tProcHeader = append(ProcHeader, columnsNSEntry...)\n\tProcHeader = append(ProcHeader,\n\t\t\"READS-COMPLETED-DELTA\",\n\t\t\"SECTORS-READ-DELTA\",\n\t\t\"WRITES-COMPLETED-DELTA\",\n\t\t\"SECTORS-WRITTEN-DELTA\",\n\n\t\t\"READ-BYTES-DELTA\",\n\t\t\"READ-MEGABYTES-DELTA\",\n\t\t\"WRITE-BYTES-DELTA\",\n\t\t\"WRITE-MEGABYTES-DELTA\",\n\n\t\t\"RECEIVE-BYTES-DELTA\",\n\t\t\"RECEIVE-PACKETS-DELTA\",\n\t\t\"TRANSMIT-BYTES-DELTA\",\n\t\t\"TRANSMIT-PACKETS-DELTA\",\n\t\t\"RECEIVE-BYTES-NUM-DELTA\",\n\t\t\"TRANSMIT-BYTES-NUM-DELTA\",\n\n\t\t\"EXTRA\",\n\t)\n\n\tfor i, v := range ProcHeader {\n\t\tProcHeaderIndex[v] = i\n\t}\n}\n\n// ToRow converts 'Proc' to string slice.\n// Make sure to change this whenever 'Proc' fields are updated.\nfunc (p *Proc) ToRow() (row []string) {\n\trow = make([]string, len(ProcHeader))\n\trow[0] = fmt.Sprintf(\"%d\", p.UnixNanosecond) // UNIX-NANOSECOND\n\trow[1] = fmt.Sprintf(\"%d\", p.UnixSecond)     // UNIX-SECOND\n\n\trow[2] = p.PSEntry.Program                       // PROGRAM\n\trow[3] = p.PSEntry.State                         // STATE\n\trow[4] = fmt.Sprintf(\"%d\", p.PSEntry.PID)        // PID\n\trow[5] = fmt.Sprintf(\"%d\", p.PSEntry.PPID)       // PPID\n\trow[6] = p.PSEntry.CPU                           // CPU\n\trow[7] = p.PSEntry.VMRSS                         // VMRSS\n\trow[8] = p.PSEntry.VMSize                        // VMSIZE\n\trow[9] = fmt.Sprintf(\"%d\", p.PSEntry.FD)         // FD\n\trow[10] = fmt.Sprintf(\"%d\", p.PSEntry.Threads)   // THREADS\n\trow[11] = fmt.Sprintf(\"%d\", p.PSEntry.Threads)   // VOLUNTARY-CTXT-SWITCHES\n\trow[12] = fmt.Sprintf(\"%d\", p.PSEntry.Threads)   // NON-VOLUNTARY-CTXT-SWITCHES\n\trow[13] = fmt.Sprintf(\"%3.2f\", p.PSEntry.CPUNum) // CPU-NUM\n\trow[14] = fmt.Sprintf(\"%d\", p.PSEntry.VMRSSNum)  // VMRSS-NUM\n\trow[15] = fmt.Sprintf(\"%d\", p.PSEntry.VMSizeNum) // VMSIZE-NUM\n\n\trow[16] = fmt.Sprintf(\"%3.2f\", p.LoadAvg.LoadAvg1Minute)  // LOAD-AVERAGE-1-MINUTE\n\trow[17] = fmt.Sprintf(\"%3.2f\", p.LoadAvg.LoadAvg5Minute)  // LOAD-AVERAGE-5-MINUTE\n\trow[18] = fmt.Sprintf(\"%3.2f\", p.LoadAvg.LoadAvg15Minute) // LOAD-AVERAGE-15-MINUTE\n\n\trow[19] = p.DSEntry.Device                                  // DEVICE\n\trow[20] = fmt.Sprintf(\"%d\", p.DSEntry.ReadsCompleted)       // READS-COMPLETED\n\trow[21] = fmt.Sprintf(\"%d\", p.DSEntry.SectorsRead)          // SECTORS-READ\n\trow[22] = p.DSEntry.TimeSpentOnReading                      // TIME(READS)\n\trow[23] = fmt.Sprintf(\"%d\", p.DSEntry.WritesCompleted)      // WRITES-COMPLETED\n\trow[24] = fmt.Sprintf(\"%d\", p.DSEntry.SectorsWritten)       // SECTORS-WRITTEN\n\trow[25] = p.DSEntry.TimeSpentOnWriting                      // TIME(WRITES)\n\trow[26] = fmt.Sprintf(\"%d\", p.DSEntry.TimeSpentOnReadingMs) // MILLISECONDS(READS)\n\trow[27] = fmt.Sprintf(\"%d\", p.DSEntry.TimeSpentOnWritingMs) // MILLISECONDS(WRITES)\n\n\trow[28] = p.NSEntry.Interface                           // INTERFACE\n\trow[29] = p.NSEntry.ReceiveBytes                        // RECEIVE-BYTES\n\trow[30] = fmt.Sprintf(\"%d\", p.NSEntry.ReceivePackets)   // RECEIVE-PACKETS\n\trow[31] = p.NSEntry.TransmitBytes                       // TRANSMIT-BYTES\n\trow[32] = fmt.Sprintf(\"%d\", p.NSEntry.TransmitPackets)  // TRANSMIT-PACKETS\n\trow[33] = fmt.Sprintf(\"%d\", p.NSEntry.ReceiveBytesNum)  // RECEIVE-BYTES-NUM\n\trow[34] = fmt.Sprintf(\"%d\", p.NSEntry.TransmitBytesNum) // TRANSMIT-BYTES-NUM\n\n\trow[35] = fmt.Sprintf(\"%d\", p.ReadsCompletedDelta)  // READS-COMPLETED-DELTA\n\trow[36] = fmt.Sprintf(\"%d\", p.SectorsReadDelta)     // SECTORS-READ-DELTA\n\trow[37] = fmt.Sprintf(\"%d\", p.WritesCompletedDelta) // WRITES-COMPLETED-DELTA\n\trow[38] = fmt.Sprintf(\"%d\", p.SectorsWrittenDelta)  // SECTORS-WRITTEN-DELTA\n\n\trow[39] = fmt.Sprintf(\"%d\", p.ReadBytesDelta)      // READ-BYTES-DELTA\n\trow[40] = fmt.Sprintf(\"%d\", p.ReadMegabytesDelta)  // READ-MEGABYTES-DELTA\n\trow[41] = fmt.Sprintf(\"%d\", p.WriteBytesDelta)     // WRITE-BYTES-DELTA\n\trow[42] = fmt.Sprintf(\"%d\", p.WriteMegabytesDelta) // WRITE-MEGABYTES-DELTA\n\n\trow[43] = p.ReceiveBytesDelta                        // RECEIVE-BYTES-DELTA\n\trow[44] = fmt.Sprintf(\"%d\", p.ReceivePacketsDelta)   // RECEIVE-PACKETS-DELTA\n\trow[45] = p.TransmitBytesDelta                       // TRANSMIT-BYTES-DELTA\n\trow[46] = fmt.Sprintf(\"%d\", p.TransmitPacketsDelta)  // TRANSMIT-PACKETS-DELTA\n\trow[47] = fmt.Sprintf(\"%d\", p.ReceiveBytesNumDelta)  // RECEIVE-BYTES-NUM-DELTA\n\trow[48] = fmt.Sprintf(\"%d\", p.TransmitBytesNumDelta) // TRANSMIT-BYTES-NUM-DELTA\n\n\trow[49] = string(p.Extra) // EXTRA\n\n\treturn\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/inspect/proc_csv.go",
    "content": "package inspect\n\nimport (\n\t\"encoding/csv\"\n\t\"fmt\"\n\t\"log\"\n\t\"strconv\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/fileutil\"\n\t\"github.com/gyuho/linux-inspect/proc\"\n\t\"github.com/gyuho/linux-inspect/top\"\n\n\thumanize \"github.com/dustin/go-humanize\"\n)\n\n// CSV represents CSV data (header, rows, etc.).\ntype CSV struct {\n\tFilePath         string\n\tPID              int64\n\tDiskDevice       string\n\tNetworkInterface string\n\n\tHeader      []string\n\tHeaderIndex map[string]int\n\n\tMinUnixNanosecond int64\n\tMinUnixSecond     int64\n\tMaxUnixNanosecond int64\n\tMaxUnixSecond     int64\n\n\t// ExtraPath contains extra information.\n\tExtraPath string\n\n\t// TopStream feeds realtime 'top' command data in the background, every second.\n\t// And whenver 'Add' gets called, returns the latest 'top' data.\n\t// Use this to provide more accurate CPU usage.\n\tTopStream *top.Stream\n\n\t// Rows are sorted by unix time in nanoseconds.\n\t// It's the number of nanoseconds (not seconds) elapsed\n\t// since January 1, 1970 UTC.\n\tRows []Proc\n}\n\n// NewCSV returns a new CSV.\nfunc NewCSV(fpath string, pid int64, diskDevice string, networkInterface string, extraPath string, tcfg *top.Config) (c *CSV, err error) {\n\tc = &CSV{\n\t\tFilePath:         fpath,\n\t\tPID:              pid,\n\t\tDiskDevice:       diskDevice,\n\t\tNetworkInterface: networkInterface,\n\n\t\tHeader:      ProcHeader,\n\t\tHeaderIndex: ProcHeaderIndex,\n\n\t\tMinUnixNanosecond: 0,\n\t\tMinUnixSecond:     0,\n\t\tMaxUnixNanosecond: 0,\n\t\tMaxUnixSecond:     0,\n\n\t\tExtraPath: extraPath,\n\t\tRows:      []Proc{},\n\t}\n\tif tcfg != nil {\n\t\tc.TopStream, err = tcfg.StartStream()\n\t}\n\treturn\n}\n\n// Add is called periodically to append a new entry to CSV; it only appends.\n// If the data is used for time series, make sure to handle missing time stamps between.\n// e.g. interpolate by estimating the averages between last row and new row to be inserted.\nfunc (c *CSV) Add() error {\n\tcur, err := GetProc(\n\t\tWithPID(c.PID),\n\t\tWithDiskDevice(c.DiskDevice),\n\t\tWithNetworkInterface(c.NetworkInterface),\n\t\tWithExtraPath(c.ExtraPath),\n\t\tWithTopStream(c.TopStream),\n\t)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// first call; just append and return\n\tif len(c.Rows) == 0 {\n\t\tc.MinUnixNanosecond = cur.UnixNanosecond\n\t\tc.MinUnixSecond = cur.UnixSecond\n\t\tc.MaxUnixNanosecond = cur.UnixNanosecond\n\t\tc.MaxUnixSecond = cur.UnixSecond\n\t\tc.Rows = []Proc{cur}\n\t\treturn nil\n\t}\n\n\t// compare with previous row before append\n\tprev := c.Rows[len(c.Rows)-1]\n\tif prev.UnixNanosecond >= cur.UnixNanosecond {\n\t\treturn fmt.Errorf(\"clock went backwards: got %v, but expected more than %v\", cur.UnixNanosecond, prev.UnixNanosecond)\n\t}\n\n\t// 'Add' only appends, so later unix should be max\n\tc.MaxUnixNanosecond = cur.UnixNanosecond\n\tc.MaxUnixSecond = cur.UnixSecond\n\n\tcur.ReadsCompletedDelta = cur.DSEntry.ReadsCompleted - prev.DSEntry.ReadsCompleted\n\tcur.SectorsReadDelta = cur.DSEntry.SectorsRead - prev.DSEntry.SectorsRead\n\tcur.WritesCompletedDelta = cur.DSEntry.WritesCompleted - prev.DSEntry.WritesCompleted\n\tcur.SectorsWrittenDelta = cur.DSEntry.SectorsWritten - prev.DSEntry.SectorsWritten\n\n\t// SECTOR_SIZE is 512 (one sector is 512-byte) in Linux kernel\n\t// (http://lkml.iu.edu/hypermail/linux/kernel/1508.2/00431.html).\n\tcur.ReadBytesDelta = cur.SectorsReadDelta * 512\n\tcur.ReadMegabytesDelta = cur.SectorsReadDelta * 512 * (1 / 1000000)\n\tcur.WriteBytesDelta = cur.SectorsWrittenDelta * 512\n\tcur.WriteMegabytesDelta = cur.SectorsWrittenDelta * 512 * (1 / 1000000)\n\n\tcur.ReceiveBytesNumDelta = cur.NSEntry.ReceiveBytesNum - prev.NSEntry.ReceiveBytesNum\n\tcur.TransmitBytesNumDelta = cur.NSEntry.TransmitBytesNum - prev.NSEntry.TransmitBytesNum\n\tcur.ReceivePacketsDelta = cur.NSEntry.ReceivePackets - prev.NSEntry.ReceivePackets\n\tcur.TransmitPacketsDelta = cur.NSEntry.TransmitPackets - prev.NSEntry.TransmitPackets\n\n\tcur.ReceiveBytesDelta = humanize.Bytes(cur.ReceiveBytesNumDelta)\n\tcur.TransmitBytesDelta = humanize.Bytes(cur.TransmitBytesNumDelta)\n\n\tc.Rows = append(c.Rows, cur)\n\treturn nil\n}\n\n// Save saves CSV to disk.\nfunc (c *CSV) Save() error {\n\tif c.TopStream != nil {\n\t\tif err := c.TopStream.Stop(); err != nil {\n\t\t\tlog.Println(err)\n\t\t}\n\t\tselect {\n\t\tcase err := <-c.TopStream.ErrChan():\n\t\t\tlog.Println(err)\n\t\tdefault:\n\t\t\tlog.Println(\"TopStream has stopped\")\n\t\t}\n\t}\n\n\tf, err := fileutil.OpenToAppend(c.FilePath)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer f.Close()\n\n\twr := csv.NewWriter(f)\n\tif err := wr.Write(c.Header); err != nil {\n\t\treturn err\n\t}\n\n\trows := make([][]string, len(c.Rows))\n\tfor i, row := range c.Rows {\n\t\trows[i] = row.ToRow()\n\t}\n\tif err := wr.WriteAll(rows); err != nil {\n\t\treturn err\n\t}\n\n\twr.Flush()\n\treturn wr.Error()\n}\n\n// ReadCSV reads a CSV file and convert to 'CSV'.\n// Make sure to change this whenever 'Proc' fields are updated.\nfunc ReadCSV(fpath string) (*CSV, error) {\n\tf, err := fileutil.OpenToRead(fpath)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer f.Close()\n\n\trd := csv.NewReader(f)\n\n\t// in case that rows have Deltaerent number of fields\n\trd.FieldsPerRecord = -1\n\n\trows, err := rd.ReadAll()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif len(rows) <= 1 {\n\t\treturn nil, fmt.Errorf(\"expected len(rows)>1, got %d\", len(rows))\n\t}\n\tif rows[0][0] != \"UNIX-NANOSECOND\" {\n\t\treturn nil, fmt.Errorf(\"expected header at top, got %+v\", rows[0])\n\t}\n\n\t// remove header\n\trows = rows[1:len(rows):len(rows)]\n\tmin, err := strconv.ParseInt(rows[0][0], 10, 64)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tmax, err := strconv.ParseInt(rows[len(rows)-1][0], 10, 64)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tc := &CSV{\n\t\tFilePath:         fpath,\n\t\tPID:              0,\n\t\tDiskDevice:       \"\",\n\t\tNetworkInterface: \"\",\n\n\t\tHeader:            ProcHeader,\n\t\tHeaderIndex:       ProcHeaderIndex,\n\t\tMinUnixNanosecond: min,\n\t\tMinUnixSecond:     nanoToUnix(min),\n\t\tMaxUnixNanosecond: max,\n\t\tMaxUnixSecond:     nanoToUnix(max),\n\n\t\tRows: make([]Proc, 0, len(rows)),\n\t}\n\tfor _, row := range rows {\n\t\tts, err := strconv.ParseInt(row[ProcHeaderIndex[\"UNIX-NANOSECOND\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ttss, err := strconv.ParseInt(row[ProcHeaderIndex[\"UNIX-SECOND\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tpid, err := strconv.ParseInt(row[ProcHeaderIndex[\"PID\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tppid, err := strconv.ParseInt(row[ProcHeaderIndex[\"PPID\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tfd, err := strconv.ParseUint(row[ProcHeaderIndex[\"FD\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tthreads, err := strconv.ParseUint(row[ProcHeaderIndex[\"THREADS\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tvolCtxNum, err := strconv.ParseUint(row[ProcHeaderIndex[\"VOLUNTARY-CTXT-SWITCHES\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tnonVolCtxNum, err := strconv.ParseUint(row[ProcHeaderIndex[\"NON-VOLUNTARY-CTXT-SWITCHES\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tcpuNum, err := strconv.ParseFloat(row[ProcHeaderIndex[\"CPU-NUM\"]], 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tvmRssNum, err := strconv.ParseUint(row[ProcHeaderIndex[\"VMRSS-NUM\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tvmSizeNum, err := strconv.ParseUint(row[ProcHeaderIndex[\"VMSIZE-NUM\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tloadAvg1min, err := strconv.ParseFloat(row[ProcHeaderIndex[\"LOAD-AVERAGE-1-MINUTE\"]], 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tloadAvg5min, err := strconv.ParseFloat(row[ProcHeaderIndex[\"LOAD-AVERAGE-5-MINUTE\"]], 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tloadAvg15min, err := strconv.ParseFloat(row[ProcHeaderIndex[\"LOAD-AVERAGE-15-MINUTE\"]], 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\treadsCompleted, err := strconv.ParseUint(row[ProcHeaderIndex[\"READS-COMPLETED\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tsectorsRead, err := strconv.ParseUint(row[ProcHeaderIndex[\"SECTORS-READ\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\twritesCompleted, err := strconv.ParseUint(row[ProcHeaderIndex[\"WRITES-COMPLETED\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tsectorsWritten, err := strconv.ParseUint(row[ProcHeaderIndex[\"SECTORS-WRITTEN\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ttimeSpentOnReadingMs, err := strconv.ParseUint(row[ProcHeaderIndex[\"MILLISECONDS(READS)\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ttimeSpentOnWritingMs, err := strconv.ParseUint(row[ProcHeaderIndex[\"MILLISECONDS(WRITES)\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\treadsCompletedDelta, err := strconv.ParseUint(row[ProcHeaderIndex[\"READS-COMPLETED-DELTA\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tsectorsReadDelta, err := strconv.ParseUint(row[ProcHeaderIndex[\"SECTORS-READ-DELTA\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\twritesCompletedDelta, err := strconv.ParseUint(row[ProcHeaderIndex[\"WRITES-COMPLETED-DELTA\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tsectorsWrittenDelta, err := strconv.ParseUint(row[ProcHeaderIndex[\"SECTORS-WRITTEN-DELTA\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\treadBytesDelta, err := strconv.ParseUint(row[ProcHeaderIndex[\"READ-BYTES-DELTA\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treadMegabytesDelta, err := strconv.ParseUint(row[ProcHeaderIndex[\"READ-MEGABYTES-DELTA\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\twriteBytesDelta, err := strconv.ParseUint(row[ProcHeaderIndex[\"WRITE-BYTES-DELTA\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\twriteMegabytesDelta, err := strconv.ParseUint(row[ProcHeaderIndex[\"WRITE-MEGABYTES-DELTA\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\treceivePackets, err := strconv.ParseUint(row[ProcHeaderIndex[\"RECEIVE-PACKETS\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ttransmitPackets, err := strconv.ParseUint(row[ProcHeaderIndex[\"TRANSMIT-PACKETS\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treceiveBytesNum, err := strconv.ParseUint(row[ProcHeaderIndex[\"RECEIVE-BYTES-NUM\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ttransmitBytesNum, err := strconv.ParseUint(row[ProcHeaderIndex[\"TRANSMIT-BYTES-NUM\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\treceivePacketsDelta, err := strconv.ParseUint(row[ProcHeaderIndex[\"RECEIVE-PACKETS-DELTA\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ttransmitPacketsDelta, err := strconv.ParseUint(row[ProcHeaderIndex[\"TRANSMIT-PACKETS-DELTA\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treceiveBytesNumDelta, err := strconv.ParseUint(row[ProcHeaderIndex[\"RECEIVE-BYTES-NUM-DELTA\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ttransmitBytesNumDelta, err := strconv.ParseUint(row[ProcHeaderIndex[\"TRANSMIT-BYTES-NUM-DELTA\"]], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tpc := Proc{\n\t\t\tUnixNanosecond: ts,\n\t\t\tUnixSecond:     tss,\n\n\t\t\tPSEntry: PSEntry{\n\t\t\t\tProgram:                  row[ProcHeaderIndex[\"PROGRAM\"]],\n\t\t\t\tState:                    row[ProcHeaderIndex[\"STATE\"]],\n\t\t\t\tPID:                      pid,\n\t\t\t\tPPID:                     ppid,\n\t\t\t\tCPU:                      row[ProcHeaderIndex[\"CPU\"]],\n\t\t\t\tVMRSS:                    row[ProcHeaderIndex[\"VMRSS\"]],\n\t\t\t\tVMSize:                   row[ProcHeaderIndex[\"VMSIZE\"]],\n\t\t\t\tFD:                       fd,\n\t\t\t\tThreads:                  threads,\n\t\t\t\tVoluntaryCtxtSwitches:    volCtxNum,\n\t\t\t\tNonvoluntaryCtxtSwitches: nonVolCtxNum,\n\t\t\t\tCPUNum:    cpuNum,\n\t\t\t\tVMRSSNum:  vmRssNum,\n\t\t\t\tVMSizeNum: vmSizeNum,\n\t\t\t},\n\n\t\t\tLoadAvg: proc.LoadAvg{\n\t\t\t\tLoadAvg1Minute:  loadAvg1min,\n\t\t\t\tLoadAvg5Minute:  loadAvg5min,\n\t\t\t\tLoadAvg15Minute: loadAvg15min,\n\t\t\t},\n\n\t\t\tDSEntry: DSEntry{\n\t\t\t\tDevice:               row[ProcHeaderIndex[\"DEVICE\"]],\n\t\t\t\tReadsCompleted:       readsCompleted,\n\t\t\t\tSectorsRead:          sectorsRead,\n\t\t\t\tTimeSpentOnReading:   row[ProcHeaderIndex[\"TIME(READS)\"]],\n\t\t\t\tWritesCompleted:      writesCompleted,\n\t\t\t\tSectorsWritten:       sectorsWritten,\n\t\t\t\tTimeSpentOnWriting:   row[ProcHeaderIndex[\"TIME(WRITES)\"]],\n\t\t\t\tTimeSpentOnReadingMs: timeSpentOnReadingMs,\n\t\t\t\tTimeSpentOnWritingMs: timeSpentOnWritingMs,\n\t\t\t},\n\t\t\tReadsCompletedDelta:  readsCompletedDelta,\n\t\t\tSectorsReadDelta:     sectorsReadDelta,\n\t\t\tWritesCompletedDelta: writesCompletedDelta,\n\t\t\tSectorsWrittenDelta:  sectorsWrittenDelta,\n\n\t\t\tReadBytesDelta:      readBytesDelta,\n\t\t\tReadMegabytesDelta:  readMegabytesDelta,\n\t\t\tWriteBytesDelta:     writeBytesDelta,\n\t\t\tWriteMegabytesDelta: writeMegabytesDelta,\n\n\t\t\tNSEntry: NSEntry{\n\t\t\t\tInterface:        row[ProcHeaderIndex[\"INTERFACE\"]],\n\t\t\t\tReceiveBytes:     row[ProcHeaderIndex[\"RECEIVE-BYTES\"]],\n\t\t\t\tReceivePackets:   receivePackets,\n\t\t\t\tTransmitBytes:    row[ProcHeaderIndex[\"TRANSMIT-BYTES\"]],\n\t\t\t\tTransmitPackets:  transmitPackets,\n\t\t\t\tReceiveBytesNum:  receiveBytesNum,\n\t\t\t\tTransmitBytesNum: transmitBytesNum,\n\t\t\t},\n\t\t\tReceiveBytesDelta:     row[ProcHeaderIndex[\"RECEIVE-BYTES-DELTA\"]],\n\t\t\tReceivePacketsDelta:   receivePacketsDelta,\n\t\t\tTransmitBytesDelta:    row[ProcHeaderIndex[\"TRANSMIT-BYTES-DELTA\"]],\n\t\t\tTransmitPacketsDelta:  transmitPacketsDelta,\n\t\t\tReceiveBytesNumDelta:  receiveBytesNumDelta,\n\t\t\tTransmitBytesNumDelta: transmitBytesNumDelta,\n\n\t\t\tExtra: []byte(row[ProcHeaderIndex[\"EXTRA\"]]),\n\t\t}\n\t\tc.PID = pc.PSEntry.PID\n\t\tc.DiskDevice = pc.DSEntry.Device\n\t\tc.NetworkInterface = pc.NSEntry.Interface\n\n\t\tc.Rows = append(c.Rows, pc)\n\t}\n\n\treturn c, nil\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/inspect/proc_csv_interpolate.go",
    "content": "package inspect\n\nimport (\n\t\"fmt\"\n\t\"sort\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/timeutil\"\n\n\thumanize \"github.com/dustin/go-humanize\"\n)\n\n// Combine combines a list Proc and returns one combined Proc.\n// Field values are estimated. UnixNanosecond is reset 0.\n// And UnixSecond and other fields that cannot be averaged are set\n// with the field value in the last element. This is meant to be\n// used to combine Proc rows with duplicate unix second timestamps.\nfunc Combine(procs ...Proc) Proc {\n\tif len(procs) < 1 {\n\t\treturn Proc{}\n\t}\n\tif len(procs) == 1 {\n\t\treturn procs[0]\n\t}\n\n\tlastProc := procs[len(procs)-1]\n\tcombined := lastProc\n\tcombined.UnixNanosecond = 0\n\n\t// calculate the average\n\tvar (\n\t\t// for PSEntry\n\t\tvoluntaryCtxtSwitches    uint64\n\t\tnonVoluntaryCtxtSwitches uint64\n\t\tcpuNum                   float64\n\t\tvmRSSNum                 uint64\n\t\tvmSizeNum                uint64\n\n\t\t// for LoadAvg\n\t\tloadAvg1Minute                   float64\n\t\tloadAvg5Minute                   float64\n\t\tloadAvg15Minute                  float64\n\t\trunnableKernelSchedulingEntities int64\n\t\tcurrentKernelSchedulingEntities  int64\n\n\t\t// for DSEntry\n\t\treadsCompleted       uint64\n\t\tsectorsRead          uint64\n\t\twritesCompleted      uint64\n\t\tsectorsWritten       uint64\n\t\ttimeSpentOnReadingMs uint64\n\t\ttimeSpentOnWritingMs uint64\n\n\t\t// for DSEntry delta\n\t\treadsCompletedDelta  uint64\n\t\tsectorsReadDelta     uint64\n\t\twritesCompletedDelta uint64\n\t\tsectorsWrittenDelta  uint64\n\t\treadBytesDelta       uint64\n\t\treadMegabytesDelta   uint64\n\t\twriteBytesDelta      uint64\n\t\twriteMegabytesDelta  uint64\n\n\t\t// for NSEntry\n\t\treceivePackets   uint64\n\t\ttransmitPackets  uint64\n\t\treceiveBytesNum  uint64\n\t\ttransmitBytesNum uint64\n\n\t\t// for NSEntry delta\n\t\treceivePacketsDelta   uint64\n\t\ttransmitPacketsDelta  uint64\n\t\treceiveBytesNumDelta  uint64\n\t\ttransmitBytesNumDelta uint64\n\t)\n\n\tfor _, p := range procs {\n\t\t// for PSEntry\n\t\tvoluntaryCtxtSwitches += p.PSEntry.VoluntaryCtxtSwitches\n\t\tnonVoluntaryCtxtSwitches += p.PSEntry.NonvoluntaryCtxtSwitches\n\t\tcpuNum += p.PSEntry.CPUNum\n\t\tvmRSSNum += p.PSEntry.VMRSSNum\n\t\tvmSizeNum += p.PSEntry.VMSizeNum\n\n\t\t// for LoadAvg\n\t\tloadAvg1Minute += p.LoadAvg.LoadAvg1Minute\n\t\tloadAvg5Minute += p.LoadAvg.LoadAvg5Minute\n\t\tloadAvg15Minute += p.LoadAvg.LoadAvg15Minute\n\t\trunnableKernelSchedulingEntities += p.LoadAvg.RunnableKernelSchedulingEntities\n\t\tcurrentKernelSchedulingEntities += p.LoadAvg.CurrentKernelSchedulingEntities\n\n\t\t// for DSEntry\n\t\treadsCompleted += p.DSEntry.ReadsCompleted\n\t\tsectorsRead += p.DSEntry.SectorsRead\n\t\twritesCompleted += p.DSEntry.WritesCompleted\n\t\tsectorsWritten += p.DSEntry.SectorsWritten\n\t\ttimeSpentOnReadingMs += p.DSEntry.TimeSpentOnReadingMs\n\t\ttimeSpentOnWritingMs += p.DSEntry.TimeSpentOnWritingMs\n\n\t\t// for DSEntry delta\n\t\treadsCompletedDelta += p.ReadsCompletedDelta\n\t\tsectorsReadDelta += p.SectorsReadDelta\n\t\twritesCompletedDelta += p.WritesCompletedDelta\n\t\tsectorsWrittenDelta += p.SectorsWrittenDelta\n\t\treadBytesDelta += p.ReadBytesDelta\n\t\treadMegabytesDelta += p.ReadMegabytesDelta\n\t\twriteBytesDelta += p.WriteBytesDelta\n\t\twriteMegabytesDelta += p.WriteMegabytesDelta\n\n\t\t// for NSEntry\n\t\treceivePackets += p.NSEntry.ReceivePackets\n\t\ttransmitPackets += p.NSEntry.TransmitPackets\n\t\treceiveBytesNum += p.NSEntry.ReceiveBytesNum\n\t\ttransmitBytesNum += p.NSEntry.TransmitBytesNum\n\n\t\t// for NSEntry delta\n\t\treceivePacketsDelta += p.ReceivePacketsDelta\n\t\ttransmitPacketsDelta += p.TransmitPacketsDelta\n\t\treceiveBytesNumDelta += p.ReceiveBytesNumDelta\n\t\ttransmitBytesNumDelta += p.TransmitBytesNumDelta\n\t}\n\n\tpN := len(procs)\n\n\t// for PSEntry\n\tcombined.PSEntry.VoluntaryCtxtSwitches = uint64(voluntaryCtxtSwitches) / uint64(pN)\n\tcombined.PSEntry.NonvoluntaryCtxtSwitches = uint64(nonVoluntaryCtxtSwitches) / uint64(pN)\n\tcombined.PSEntry.CPUNum = float64(cpuNum) / float64(pN)\n\tcombined.PSEntry.CPU = fmt.Sprintf(\"%3.2f %%\", combined.PSEntry.CPUNum)\n\tcombined.PSEntry.VMRSSNum = uint64(vmRSSNum) / uint64(pN)\n\tcombined.PSEntry.VMRSS = humanize.Bytes(combined.PSEntry.VMRSSNum)\n\tcombined.PSEntry.VMSizeNum = uint64(vmSizeNum) / uint64(pN)\n\tcombined.PSEntry.VMSize = humanize.Bytes(combined.PSEntry.VMSizeNum)\n\n\t// for LoadAvg\n\tcombined.LoadAvg.LoadAvg1Minute = float64(loadAvg1Minute) / float64(pN)\n\tcombined.LoadAvg.LoadAvg5Minute = float64(loadAvg5Minute) / float64(pN)\n\tcombined.LoadAvg.LoadAvg15Minute = float64(loadAvg15Minute) / float64(pN)\n\tcombined.LoadAvg.RunnableKernelSchedulingEntities = int64(loadAvg15Minute) / int64(pN)\n\tcombined.LoadAvg.CurrentKernelSchedulingEntities = int64(loadAvg15Minute) / int64(pN)\n\n\t// for DSEntry\n\tcombined.DSEntry.ReadsCompleted = uint64(readsCompleted) / uint64(pN)\n\tcombined.DSEntry.SectorsRead = uint64(sectorsRead) / uint64(pN)\n\tcombined.DSEntry.WritesCompleted = uint64(writesCompleted) / uint64(pN)\n\tcombined.DSEntry.SectorsWritten = uint64(sectorsWritten) / uint64(pN)\n\tcombined.DSEntry.TimeSpentOnReadingMs = uint64(timeSpentOnReadingMs) / uint64(pN)\n\tcombined.DSEntry.TimeSpentOnReading = timeutil.HumanizeDurationMs(combined.DSEntry.TimeSpentOnReadingMs)\n\tcombined.DSEntry.TimeSpentOnWritingMs = uint64(timeSpentOnWritingMs) / uint64(pN)\n\tcombined.DSEntry.TimeSpentOnWriting = timeutil.HumanizeDurationMs(combined.DSEntry.TimeSpentOnWritingMs)\n\tcombined.ReadsCompletedDelta = uint64(readsCompletedDelta) / uint64(pN)\n\tcombined.SectorsReadDelta = uint64(sectorsReadDelta) / uint64(pN)\n\tcombined.WritesCompletedDelta = uint64(writesCompletedDelta) / uint64(pN)\n\tcombined.SectorsWrittenDelta = uint64(sectorsWrittenDelta) / uint64(pN)\n\tcombined.ReadBytesDelta = uint64(readBytesDelta) / uint64(pN)\n\tcombined.ReadMegabytesDelta = uint64(readMegabytesDelta) / uint64(pN)\n\tcombined.WriteBytesDelta = uint64(writeBytesDelta) / uint64(pN)\n\tcombined.WriteMegabytesDelta = uint64(writeMegabytesDelta) / uint64(pN)\n\n\t// for NSEntry\n\tcombined.NSEntry.ReceiveBytesNum = uint64(receiveBytesNum) / uint64(pN)\n\tcombined.NSEntry.TransmitBytesNum = uint64(transmitBytesNum) / uint64(pN)\n\tcombined.NSEntry.ReceivePackets = uint64(receivePackets) / uint64(pN)\n\tcombined.NSEntry.TransmitPackets = uint64(transmitPackets) / uint64(pN)\n\tcombined.NSEntry.ReceiveBytes = humanize.Bytes(combined.NSEntry.ReceiveBytesNum)\n\tcombined.NSEntry.TransmitBytes = humanize.Bytes(combined.NSEntry.TransmitBytesNum)\n\tcombined.ReceivePacketsDelta = uint64(receivePacketsDelta) / uint64(pN)\n\tcombined.TransmitPacketsDelta = uint64(transmitPacketsDelta) / uint64(pN)\n\tcombined.ReceiveBytesNumDelta = uint64(receiveBytesNumDelta) / uint64(pN)\n\tcombined.ReceiveBytesDelta = humanize.Bytes(combined.ReceiveBytesNumDelta)\n\tcombined.TransmitBytesNumDelta = uint64(transmitBytesNumDelta) / uint64(pN)\n\tcombined.TransmitBytesDelta = humanize.Bytes(combined.TransmitBytesNumDelta)\n\n\treturn combined\n}\n\n// Interpolate returns the missing, estimated 'Proc's if any.\n// It assumes that 'upper' Proc is later than 'lower'.\n// And UnixSecond and other fields that cannot be averaged are set\n// with the field value in the last element.\nfunc Interpolate(lower, upper Proc) (procs []Proc, err error) {\n\tif upper.UnixSecond <= lower.UnixSecond {\n\t\treturn nil, fmt.Errorf(\"lower unix second %d >= upper unix second %d\", lower.UnixSecond, upper.UnixSecond)\n\t}\n\n\t// min unix second is 5, max is 7\n\t// then the expected row number is 7-5+1=3\n\texpectedRowN := upper.UnixSecond - lower.UnixSecond + 1\n\tif expectedRowN == 2 {\n\t\t// no need to interpolate\n\t\treturn\n\t}\n\n\t// calculate the delta; divide by expectedRowN-1 because that's the number of delta ranges\n\t// 5 ___ () ___ 7 should have denominator 2 when expectedRowN=3\n\tvar (\n\t\t// for PSEntry\n\t\tvoluntaryCtxtSwitches    = int64(upper.PSEntry.VoluntaryCtxtSwitches-lower.PSEntry.VoluntaryCtxtSwitches) / (expectedRowN - 1)\n\t\tnonVoluntaryCtxtSwitches = int64(upper.PSEntry.NonvoluntaryCtxtSwitches-lower.PSEntry.NonvoluntaryCtxtSwitches) / (expectedRowN - 1)\n\t\tcpuNum                   = (upper.PSEntry.CPUNum - lower.PSEntry.CPUNum) / float64(expectedRowN-1)\n\t\tvmRSSNum                 = int64(upper.PSEntry.VMRSSNum-lower.PSEntry.VMRSSNum) / (expectedRowN - 1)\n\t\tvmSizeNum                = int64(upper.PSEntry.VMSizeNum-lower.PSEntry.VMSizeNum) / (expectedRowN - 1)\n\n\t\t// for LoadAvg\n\t\tloadAvg1Minute                   = (upper.LoadAvg.LoadAvg1Minute - lower.LoadAvg.LoadAvg1Minute) / float64(expectedRowN-1)\n\t\tloadAvg5Minute                   = (upper.LoadAvg.LoadAvg5Minute - lower.LoadAvg.LoadAvg5Minute) / float64(expectedRowN-1)\n\t\tloadAvg15Minute                  = (upper.LoadAvg.LoadAvg15Minute - lower.LoadAvg.LoadAvg15Minute) / float64(expectedRowN-1)\n\t\trunnableKernelSchedulingEntities = (upper.LoadAvg.RunnableKernelSchedulingEntities - lower.LoadAvg.RunnableKernelSchedulingEntities) / int64(expectedRowN-1)\n\t\tcurrentKernelSchedulingEntities  = (upper.LoadAvg.RunnableKernelSchedulingEntities - lower.LoadAvg.RunnableKernelSchedulingEntities) / int64(expectedRowN-1)\n\n\t\t// for DSEntry\n\t\treadsCompleted       = int64(upper.DSEntry.ReadsCompleted-lower.DSEntry.ReadsCompleted) / (expectedRowN - 1)\n\t\tsectorsRead          = int64(upper.DSEntry.SectorsRead-lower.DSEntry.SectorsRead) / (expectedRowN - 1)\n\t\twritesCompleted      = int64(upper.DSEntry.WritesCompleted-lower.DSEntry.WritesCompleted) / (expectedRowN - 1)\n\t\tsectorsWritten       = int64(upper.DSEntry.SectorsWritten-lower.DSEntry.SectorsWritten) / (expectedRowN - 1)\n\t\ttimeSpentOnReadingMs = int64(upper.DSEntry.TimeSpentOnReadingMs-lower.DSEntry.TimeSpentOnReadingMs) / (expectedRowN - 1)\n\t\ttimeSpentOnWritingMs = int64(upper.DSEntry.TimeSpentOnWritingMs-lower.DSEntry.TimeSpentOnWritingMs) / (expectedRowN - 1)\n\n\t\t// for DSEntry delta\n\t\treadsCompletedDelta  = int64(upper.ReadsCompletedDelta-lower.ReadsCompletedDelta) / (expectedRowN - 1)\n\t\tsectorsReadDelta     = int64(upper.SectorsReadDelta-lower.SectorsReadDelta) / (expectedRowN - 1)\n\t\twritesCompletedDelta = int64(upper.WritesCompletedDelta-lower.WritesCompletedDelta) / (expectedRowN - 1)\n\t\tsectorsWrittenDelta  = int64(upper.SectorsWrittenDelta-lower.SectorsWrittenDelta) / (expectedRowN - 1)\n\t\treadBytesDelta       = int64(upper.ReadBytesDelta-lower.ReadBytesDelta) / (expectedRowN - 1)\n\t\treadMegabytesDelta   = int64(upper.ReadMegabytesDelta-lower.ReadMegabytesDelta) / (expectedRowN - 1)\n\t\twriteBytesDelta      = int64(upper.WriteBytesDelta-lower.WriteBytesDelta) / (expectedRowN - 1)\n\t\twriteMegabytesDelta  = int64(upper.WriteMegabytesDelta-lower.WriteMegabytesDelta) / (expectedRowN - 1)\n\n\t\t// for NSEntry\n\t\treceivePackets   = int64(upper.NSEntry.ReceivePackets-lower.NSEntry.ReceivePackets) / (expectedRowN - 1)\n\t\ttransmitPackets  = int64(upper.NSEntry.TransmitPackets-lower.NSEntry.TransmitPackets) / (expectedRowN - 1)\n\t\treceiveBytesNum  = int64(upper.NSEntry.ReceiveBytesNum-lower.NSEntry.ReceiveBytesNum) / (expectedRowN - 1)\n\t\ttransmitBytesNum = int64(upper.NSEntry.TransmitBytesNum-lower.NSEntry.TransmitBytesNum) / (expectedRowN - 1)\n\n\t\t// for NSEntry delta\n\t\treceivePacketsDelta   = int64(upper.ReceivePacketsDelta-lower.ReceivePacketsDelta) / (expectedRowN - 1)\n\t\ttransmitPacketsDelta  = int64(upper.TransmitPacketsDelta-lower.TransmitPacketsDelta) / (expectedRowN - 1)\n\t\treceiveBytesNumDelta  = int64(upper.ReceiveBytesNumDelta-lower.ReceiveBytesNumDelta) / (expectedRowN - 1)\n\t\ttransmitBytesNumDelta = int64(upper.TransmitBytesNumDelta-lower.TransmitBytesNumDelta) / (expectedRowN - 1)\n\t)\n\n\tprocs = make([]Proc, expectedRowN-2)\n\tfor i := range procs {\n\t\tprocs[i] = upper\n\n\t\tprocs[i].UnixNanosecond = 0\n\t\tprocs[i].UnixSecond = lower.UnixSecond + int64(i+1)\n\n\t\t// for PSEntry\n\t\tprocs[i].PSEntry.VoluntaryCtxtSwitches = uint64(int64(lower.PSEntry.VoluntaryCtxtSwitches) + int64(i+1)*voluntaryCtxtSwitches)\n\t\tprocs[i].PSEntry.NonvoluntaryCtxtSwitches = uint64(int64(lower.PSEntry.NonvoluntaryCtxtSwitches) + int64(i+1)*nonVoluntaryCtxtSwitches)\n\t\tprocs[i].PSEntry.CPUNum = lower.PSEntry.CPUNum + float64(i+1)*cpuNum\n\t\tprocs[i].PSEntry.CPU = fmt.Sprintf(\"%3.2f %%\", procs[i].PSEntry.CPUNum)\n\t\tprocs[i].PSEntry.VMRSSNum = uint64(int64(lower.PSEntry.VMRSSNum) + int64(i+1)*vmRSSNum)\n\t\tprocs[i].PSEntry.VMRSS = humanize.Bytes(procs[i].PSEntry.VMRSSNum)\n\t\tprocs[i].PSEntry.VMSizeNum = uint64(int64(lower.PSEntry.VMSizeNum) + int64(i+1)*vmSizeNum)\n\t\tprocs[i].PSEntry.VMSize = humanize.Bytes(procs[i].PSEntry.VMSizeNum)\n\n\t\t// for LoadAvg\n\t\tprocs[i].LoadAvg.LoadAvg1Minute = lower.LoadAvg.LoadAvg1Minute + float64(i+1)*loadAvg1Minute\n\t\tprocs[i].LoadAvg.LoadAvg5Minute = lower.LoadAvg.LoadAvg5Minute + float64(i+1)*loadAvg5Minute\n\t\tprocs[i].LoadAvg.LoadAvg15Minute = lower.LoadAvg.LoadAvg15Minute + float64(i+1)*loadAvg15Minute\n\t\tprocs[i].LoadAvg.RunnableKernelSchedulingEntities = lower.LoadAvg.RunnableKernelSchedulingEntities + int64(i+1)*runnableKernelSchedulingEntities\n\t\tprocs[i].LoadAvg.CurrentKernelSchedulingEntities = lower.LoadAvg.CurrentKernelSchedulingEntities + int64(i+1)*currentKernelSchedulingEntities\n\n\t\t// for DSEntry\n\t\tprocs[i].DSEntry.ReadsCompleted = uint64(int64(lower.DSEntry.ReadsCompleted) + int64(i+1)*readsCompleted)\n\t\tprocs[i].DSEntry.SectorsRead = uint64(int64(lower.DSEntry.SectorsRead) + int64(i+1)*sectorsRead)\n\t\tprocs[i].DSEntry.WritesCompleted = uint64(int64(lower.DSEntry.WritesCompleted) + int64(i+1)*writesCompleted)\n\t\tprocs[i].DSEntry.SectorsWritten = uint64(int64(lower.DSEntry.SectorsWritten) + int64(i+1)*sectorsWritten)\n\t\tprocs[i].DSEntry.TimeSpentOnReadingMs = uint64(int64(lower.DSEntry.TimeSpentOnReadingMs) + int64(i+1)*timeSpentOnReadingMs)\n\t\tprocs[i].DSEntry.TimeSpentOnReading = timeutil.HumanizeDurationMs(procs[i].DSEntry.TimeSpentOnReadingMs)\n\t\tprocs[i].DSEntry.TimeSpentOnWritingMs = uint64(int64(lower.DSEntry.TimeSpentOnWritingMs) + int64(i+1)*timeSpentOnWritingMs)\n\t\tprocs[i].DSEntry.TimeSpentOnWriting = timeutil.HumanizeDurationMs(procs[i].DSEntry.TimeSpentOnWritingMs)\n\t\tprocs[i].ReadsCompletedDelta = uint64(int64(lower.ReadsCompletedDelta) + int64(i+1)*readsCompletedDelta)\n\t\tprocs[i].SectorsReadDelta = uint64(int64(lower.SectorsReadDelta) + int64(i+1)*sectorsReadDelta)\n\t\tprocs[i].WritesCompletedDelta = uint64(int64(lower.WritesCompletedDelta) + int64(i+1)*writesCompletedDelta)\n\t\tprocs[i].SectorsWrittenDelta = uint64(int64(lower.SectorsWrittenDelta) + int64(i+1)*sectorsWrittenDelta)\n\t\tprocs[i].ReadBytesDelta = uint64(int64(lower.ReadBytesDelta) + int64(i+1)*readBytesDelta)\n\t\tprocs[i].ReadMegabytesDelta = uint64(int64(lower.ReadMegabytesDelta) + int64(i+1)*readMegabytesDelta)\n\t\tprocs[i].WriteBytesDelta = uint64(int64(lower.WriteBytesDelta) + int64(i+1)*writeBytesDelta)\n\t\tprocs[i].WriteMegabytesDelta = uint64(int64(lower.WriteMegabytesDelta) + int64(i+1)*writeMegabytesDelta)\n\n\t\t// for NSEntry\n\t\tprocs[i].NSEntry.ReceiveBytesNum = uint64(int64(lower.NSEntry.ReceiveBytesNum) + int64(i+1)*receiveBytesNum)\n\t\tprocs[i].NSEntry.TransmitBytesNum = uint64(int64(lower.NSEntry.TransmitBytesNum) + int64(i+1)*transmitBytesNum)\n\t\tprocs[i].NSEntry.ReceivePackets = uint64(int64(lower.NSEntry.ReceivePackets) + int64(i+1)*receivePackets)\n\t\tprocs[i].NSEntry.TransmitPackets = uint64(int64(lower.NSEntry.TransmitPackets) + int64(i+1)*transmitPackets)\n\t\tprocs[i].NSEntry.ReceiveBytes = humanize.Bytes(procs[i].NSEntry.ReceiveBytesNum)\n\t\tprocs[i].NSEntry.TransmitBytes = humanize.Bytes(procs[i].NSEntry.TransmitBytesNum)\n\t\tprocs[i].ReceivePacketsDelta = uint64(int64(lower.ReceivePacketsDelta) + int64(i+1)*receivePacketsDelta)\n\t\tprocs[i].TransmitPacketsDelta = uint64(int64(lower.TransmitPacketsDelta) + int64(i+1)*transmitPacketsDelta)\n\t\tprocs[i].ReceiveBytesNumDelta = uint64(int64(lower.ReceiveBytesNumDelta) + int64(i+1)*receiveBytesNumDelta)\n\t\tprocs[i].ReceiveBytesDelta = humanize.Bytes(procs[i].ReceiveBytesNumDelta)\n\t\tprocs[i].TransmitBytesNumDelta = uint64(int64(lower.TransmitBytesNumDelta) + int64(i+1)*transmitBytesNumDelta)\n\t\tprocs[i].TransmitBytesDelta = humanize.Bytes(procs[i].TransmitBytesNumDelta)\n\t}\n\n\treturn\n}\n\n// Interpolate interpolates missing rows in CSV assuming CSV is to be collected for every second.\n// 'Missing' means unix seconds in rows are not continuous.\n// It fills in the empty rows by estimating the averages.\n// It returns a new copy of CSV. And the new copy sets all unix nanoseconds to 0.,\n// since it's now aggregated by the unix \"second\".\nfunc (c *CSV) Interpolate() (cc *CSV, err error) {\n\tif c == nil || len(c.Rows) < 2 {\n\t\t// no need to interpolate\n\t\treturn\n\t}\n\n\t// copy the original CSV data\n\t// cc = &(*c) (X)\n\tcopied := *c\n\tcc = &copied\n\n\t// find missing rows, assuming CSV is to be collected every second\n\tif cc.MinUnixSecond == cc.MaxUnixSecond {\n\t\t// no need to interpolate\n\t\treturn\n\t}\n\n\t// min unix second is 5, max is 7\n\t// then the expected row number is 7-5+1=3\n\texpectedRowN := cc.MaxUnixSecond - cc.MinUnixSecond + 1\n\tsecondToAllProcs := make(map[int64][]Proc)\n\tfor _, row := range cc.Rows {\n\t\tif _, ok := secondToAllProcs[row.UnixSecond]; ok {\n\t\t\tsecondToAllProcs[row.UnixSecond] = append(secondToAllProcs[row.UnixSecond], row)\n\t\t} else {\n\t\t\tsecondToAllProcs[row.UnixSecond] = []Proc{row}\n\t\t}\n\t}\n\tif int64(len(cc.Rows)) == expectedRowN && len(cc.Rows) == len(secondToAllProcs) {\n\t\t// all rows have distinct unix second\n\t\t// and they are all continuous unix seconds\n\t\treturn\n\t}\n\n\t// interpolate cases\n\t//\n\t// case #1. If duplicate rows are found (equal/different unix nanoseconds, equal unix seconds),\n\t//          combine those into one row with its average.\n\t//\n\t// case #2. If some rows are discontinuous in unix seconds, there are missing rows.\n\t//          Fill in those rows with average estimates.\n\n\t// case #1, find duplicate rows!\n\t// It finds duplicates by unix second! Not by unix nanoseconds!\n\tsecondToProc := make(map[int64]Proc)\n\tfor sec, procs := range secondToAllProcs {\n\t\tif len(procs) == 0 {\n\t\t\treturn nil, fmt.Errorf(\"empty row found at unix second %d\", sec)\n\t\t}\n\n\t\tif len(procs) == 1 {\n\t\t\tsecondToProc[sec] = procs[0]\n\t\t\tcontinue // no need to combine\n\t\t}\n\n\t\t// procs conflicted on unix second,\n\t\t// we want to combine those into one\n\t\tsecondToProc[sec] = Combine(procs...)\n\t}\n\n\t// sort and reset the unix second\n\trows2 := make([]Proc, 0, len(secondToProc))\n\tallUnixSeconds := make([]int64, 0, len(secondToProc))\n\tfor _, row := range secondToProc {\n\t\trow.UnixNanosecond = 0\n\t\trows2 = append(rows2, row)\n\t\tallUnixSeconds = append(allUnixSeconds, row.UnixSecond)\n\t}\n\tsort.Sort(ProcSlice(rows2))\n\n\tcc.Rows = rows2\n\tcc.MinUnixNanosecond = rows2[0].UnixNanosecond\n\tcc.MinUnixSecond = rows2[0].UnixSecond\n\tcc.MaxUnixNanosecond = rows2[len(rows2)-1].UnixNanosecond\n\tcc.MaxUnixSecond = rows2[len(rows2)-1].UnixSecond\n\n\t// case #2, find missing rows!\n\t// if unix seconds have discontinued ranges, it's missing some rows!\n\tmissingTS := make(map[int64]struct{})\n\tfor unixSecond := cc.MinUnixSecond; unixSecond <= cc.MaxUnixSecond; unixSecond++ {\n\t\t_, ok := secondToProc[unixSecond]\n\t\tif !ok {\n\t\t\tmissingTS[unixSecond] = struct{}{}\n\t\t}\n\t}\n\tif len(missingTS) == 0 {\n\t\t// now all rows have distinct unix second\n\t\t// and there's no missing unix seconds\n\t\treturn\n\t}\n\n\tmissingSeconds := make([]int64, 0, len(missingTS))\n\tfor ts := range missingTS {\n\t\tmissingSeconds = append(missingSeconds, ts)\n\t}\n\tsort.Sort(int64Slice(missingSeconds))\n\n\tfor i := range missingSeconds {\n\t\tsecond := missingSeconds[i]\n\t\tif _, ok := secondToProc[second]; ok {\n\t\t\treturn nil, fmt.Errorf(\"second %d is not supposed to be found at secondToProc but found\", second)\n\t\t}\n\t}\n\n\t// now we need to estimate the Proc for missingTS\n\t// fmt.Printf(\"total %d points available, missing %d points\\n\", len(allUnixSeconds), len(missingTS))\n\tbds := buildBoundaries(allUnixSeconds)\n\n\t// start from mid, in case missing seconds are continuous (several seconds empty)\n\tfor i := range missingSeconds {\n\t\tsecond := missingSeconds[i]\n\t\tif _, ok := secondToProc[second]; ok {\n\t\t\t// already estimated!\n\t\t\tcontinue\n\t\t}\n\n\t\tbd := bds.findBoundary(second)\n\t\tif bd.lower == second && bd.upper == second {\n\t\t\treturn nil, fmt.Errorf(\"%d is supposed to be missing but found at index %d\", second, bd.lowerIdx)\n\t\t}\n\n\t\t// not found at boundaries pool\n\t\t// must have been found since it was created with min,max unix second\n\t\tif bd.lowerIdx == -1 || bd.upperIdx == -1 {\n\t\t\treturn nil, fmt.Errorf(\"boundary is not found for missing second %d\", second)\n\t\t}\n\n\t\tprocLower, ok := secondToProc[bd.lower]\n\t\tif !ok {\n\t\t\treturn nil, fmt.Errorf(\"%d is not found at secondToProc\", bd.lower)\n\t\t}\n\t\tprocUpper, ok := secondToProc[bd.upper]\n\t\tif !ok {\n\t\t\treturn nil, fmt.Errorf(\"%d is not found at secondToProc\", bd.upper)\n\t\t}\n\t\tmissingRows, err := Interpolate(procLower, procUpper)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tfor _, mrow := range missingRows {\n\t\t\tsecondToProc[mrow.UnixSecond] = mrow\n\n\t\t\t// now 'mrow.UnixSecond' is not missing anymore\n\t\t\tbds.add(mrow.UnixSecond)\n\t\t}\n\t}\n\n\trows3 := make([]Proc, 0, len(secondToProc))\n\tfor _, row := range secondToProc {\n\t\trow.UnixNanosecond = 0\n\t\trows3 = append(rows3, row)\n\t}\n\tsort.Sort(ProcSlice(rows3))\n\n\tcc.Rows = rows3\n\tcc.MinUnixNanosecond = rows3[0].UnixNanosecond\n\tcc.MinUnixSecond = rows3[0].UnixSecond\n\tcc.MaxUnixNanosecond = rows3[len(rows3)-1].UnixNanosecond\n\tcc.MaxUnixSecond = rows3[len(rows3)-1].UnixSecond\n\n\treturn\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/inspect/ps.go",
    "content": "package inspect\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"log\"\n\t\"sync\"\n\n\t\"github.com/gyuho/linux-inspect/proc\"\n\t\"github.com/gyuho/linux-inspect/top\"\n\n\t\"github.com/gyuho/dataframe\"\n\t\"github.com/olekukonko/tablewriter\"\n)\n\n// PSEntry is a process entry.\n// Simplied from 'Stat' and 'Status'.\ntype PSEntry struct {\n\tProgram string\n\tState   string\n\tPID     int64\n\tPPID    int64\n\n\tCPU    string\n\tVMRSS  string\n\tVMSize string\n\n\tFD      uint64\n\tThreads uint64\n\n\tVoluntaryCtxtSwitches    uint64\n\tNonvoluntaryCtxtSwitches uint64\n\n\t// extra fields for sorting\n\tCPUNum    float64\n\tVMRSSNum  uint64\n\tVMSizeNum uint64\n}\n\nconst maxConcurrentProcFDLimit = 32\n\n// GetPS finds all PSEntry by given filter.\nfunc GetPS(opts ...OpFunc) (pss []PSEntry, err error) {\n\top := &EntryOp{}\n\top.applyOpts(opts)\n\n\tvar pids []int64\n\tswitch {\n\tcase op.ProgramMatchFunc == nil && op.PID < 1:\n\t\t// get all PIDs\n\t\tpids, err = proc.ListPIDs()\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\n\tcase op.PID > 0:\n\t\tpids = []int64{op.PID}\n\n\tcase op.ProgramMatchFunc != nil:\n\t\t// later to find PIDs by Program\n\t\tpids = nil\n\n\tdefault:\n\t\t// applyOpts already panic when op.ProgramMatchFunc != nil && op.PID > 0\n\t}\n\n\t// can't filter both by program and by PID\n\tif len(pids) == 0 {\n\t\t// list all PIDs, or later to match by Program\n\t\tif pids, err = proc.ListPIDs(); err != nil {\n\t\t\treturn\n\t\t}\n\t} else {\n\t\top.ProgramMatchFunc = func(string) bool { return true }\n\t}\n\n\tvar topM map[int64]top.Row\n\tif op.TopStream == nil {\n\t\tvar topRows []top.Row\n\t\tif len(pids) == 1 {\n\t\t\ttopRows, err = top.Get(op.TopExecPath, pids[0])\n\t\t\tif err != nil {\n\t\t\t\treturn\n\t\t\t}\n\t\t} else {\n\t\t\ttopRows, err = top.Get(op.TopExecPath, 0)\n\t\t\tif err != nil {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\ttopM = make(map[int64]top.Row, len(topRows))\n\t\tfor _, row := range topRows {\n\t\t\ttopM[row.PID] = row\n\t\t}\n\t\tfor _, pid := range pids {\n\t\t\tif _, ok := topM[pid]; !ok {\n\t\t\t\ttopM[pid] = top.Row{PID: pid}\n\t\t\t\tlog.Printf(\"PID %d is not found at 'top' command output\", pid)\n\t\t\t}\n\t\t}\n\t} else {\n\t\ttopM = op.TopStream.Latest()\n\t}\n\n\tvar pmu sync.RWMutex\n\tvar wg sync.WaitGroup\n\twg.Add(len(pids))\n\tlimitc := make(chan struct{}, maxConcurrentProcFDLimit)\n\tfor _, pid := range pids {\n\t\tgo func(pid int64) {\n\t\t\tdefer func() {\n\t\t\t\t<-limitc\n\t\t\t\twg.Done()\n\t\t\t}()\n\n\t\t\tlimitc <- struct{}{}\n\n\t\t\ttopRow := topM[pid]\n\t\t\tif !op.ProgramMatchFunc(topRow.COMMAND) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tpmu.RLock()\n\t\t\tdone := op.TopLimit > 0 && len(pss) >= op.TopLimit\n\t\t\tpmu.RUnlock()\n\t\t\tif done {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tent, err := getPSEntry(pid, topRow)\n\t\t\tif err != nil {\n\t\t\t\tlog.Printf(\"getPSEntry error %v for PID %d\", err, pid)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tpmu.Lock()\n\t\t\tpss = append(pss, ent)\n\t\t\tpmu.Unlock()\n\t\t}(pid)\n\t}\n\twg.Wait()\n\n\tif op.TopLimit > 0 && len(pss) > op.TopLimit {\n\t\tpss = pss[:op.TopLimit:op.TopLimit]\n\t}\n\treturn\n}\n\nfunc getPSEntry(pid int64, topRow top.Row) (PSEntry, error) {\n\tstatus, err := proc.GetStatusByPID(pid)\n\tif err != nil {\n\t\treturn PSEntry{}, err\n\t}\n\n\tentry := PSEntry{\n\t\tProgram: status.Name,\n\t\tState:   status.StateParsedStatus,\n\n\t\tPID:  status.Pid,\n\t\tPPID: status.PPid,\n\n\t\tCPU:    fmt.Sprintf(\"%3.2f %%\", topRow.CPUPercent),\n\t\tVMRSS:  status.VmRSSParsedBytes,\n\t\tVMSize: status.VmSizeParsedBytes,\n\n\t\tFD:      status.FDSize,\n\t\tThreads: status.Threads,\n\n\t\tVoluntaryCtxtSwitches:    status.VoluntaryCtxtSwitches,\n\t\tNonvoluntaryCtxtSwitches: status.NonvoluntaryCtxtSwitches,\n\n\t\tCPUNum:    topRow.CPUPercent,\n\t\tVMRSSNum:  status.VmRSSBytesN,\n\t\tVMSizeNum: status.VmSizeBytesN,\n\t}\n\n\tif status.Name != \"\" {\n\t\tentry.Program = status.Name\n\t}\n\tif status.StateParsedStatus != \"\" {\n\t\tentry.State = status.StateParsedStatus\n\t}\n\n\treturn entry, nil\n}\n\nconst columnsPSToShow = 11\n\nvar columnsPSEntry = []string{\n\t\"PROGRAM\",\n\n\t\"STATE\",\n\t\"PID\",\n\t\"PPID\",\n\n\t\"CPU\",\n\t\"VMRSS\",\n\t\"VMSIZE\",\n\n\t\"FD\",\n\t\"THREADS\",\n\n\t\"VOLUNTARY-CTXT-SWITCHES\",\n\t\"NON-VOLUNTARY-CTXT-SWITCHES\",\n\n\t// extra for sorting\n\t\"CPU-NUM\",\n\t\"VMRSS-NUM\",\n\t\"VMSIZE-NUM\",\n}\n\n// ConvertPS converts to rows.\nfunc ConvertPS(nss ...PSEntry) (header []string, rows [][]string) {\n\theader = columnsPSEntry\n\trows = make([][]string, len(nss))\n\tfor i, elem := range nss {\n\t\trow := make([]string, len(columnsPSEntry))\n\t\trow[0] = elem.Program\n\n\t\trow[1] = elem.State\n\t\trow[2] = fmt.Sprintf(\"%d\", elem.PID)\n\t\trow[3] = fmt.Sprintf(\"%d\", elem.PPID)\n\n\t\trow[4] = elem.CPU\n\t\trow[5] = elem.VMRSS\n\t\trow[6] = elem.VMSize\n\n\t\trow[7] = fmt.Sprintf(\"%d\", elem.FD)\n\t\trow[8] = fmt.Sprintf(\"%d\", elem.Threads)\n\n\t\trow[9] = fmt.Sprintf(\"%d\", elem.VoluntaryCtxtSwitches)\n\t\trow[10] = fmt.Sprintf(\"%d\", elem.NonvoluntaryCtxtSwitches)\n\n\t\trow[11] = fmt.Sprintf(\"%3.2f\", elem.CPUNum)\n\t\trow[12] = fmt.Sprintf(\"%d\", elem.VMRSSNum)\n\t\trow[13] = fmt.Sprintf(\"%d\", elem.VMSizeNum)\n\n\t\trows[i] = row\n\t}\n\tdataframe.SortBy(\n\t\trows,\n\t\tdataframe.Float64DescendingFunc(12), // VMRSSNum\n\t\tdataframe.Float64DescendingFunc(11), // CPUNum\n\t\tdataframe.Float64DescendingFunc(13), // VMSizeNum\n\t).Sort(rows)\n\n\treturn\n}\n\n// StringPS converts in print-friendly format.\nfunc StringPS(header []string, rows [][]string, topLimit int) string {\n\tbuf := new(bytes.Buffer)\n\ttw := tablewriter.NewWriter(buf)\n\ttw.SetHeader(header[:columnsPSToShow:columnsPSToShow])\n\n\tif topLimit > 0 && len(rows) > topLimit {\n\t\trows = rows[:topLimit:topLimit]\n\t}\n\n\tfor _, row := range rows {\n\t\ttw.Append(row[:columnsPSToShow:columnsPSToShow])\n\t}\n\ttw.SetAutoFormatHeaders(false)\n\ttw.SetAlignment(tablewriter.ALIGN_RIGHT)\n\ttw.Render()\n\n\treturn buf.String()\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/inspect/ss.go",
    "content": "package inspect\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"log\"\n\t\"os/user\"\n\t\"sync\"\n\n\t\"github.com/gyuho/linux-inspect/proc\"\n\n\t\"github.com/gyuho/dataframe\"\n\t\"github.com/olekukonko/tablewriter\"\n)\n\n// SSEntry is a socket entry.\n// Simplied from 'NetTCP'.\ntype SSEntry struct {\n\tProtocol string\n\n\tProgram string\n\tState   string\n\tPID     int64\n\n\tLocalIP   string\n\tLocalPort int64\n\n\tRemoteIP   string\n\tRemotePort int64\n\n\tUser user.User\n}\n\n// GetSS finds all SSEntry by given filter.\nfunc GetSS(opts ...OpFunc) (sss []SSEntry, err error) {\n\tft := &EntryOp{}\n\tft.applyOpts(opts)\n\n\tvar pids []int64\n\tswitch {\n\tcase ft.ProgramMatchFunc == nil && ft.PID < 1:\n\t\t// get all PIDs\n\t\tpids, err = proc.ListPIDs()\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\n\tcase ft.PID > 0:\n\t\tpids = []int64{ft.PID}\n\n\tcase ft.ProgramMatchFunc != nil:\n\t\t// later to find PIDs by Program\n\t\tpids = nil\n\n\tdefault:\n\t\t// applyOpts already panic when ft.ProgramMatchFunc != nil && ft.PID > 0\n\t}\n\n\tif len(pids) == 0 {\n\t\t// find PIDs by Program\n\t\tif pids, err = proc.ListPIDs(); err != nil {\n\t\t\treturn\n\t\t}\n\t} else {\n\t\t// already know PIDs to query\n\t\tft.ProgramMatchFunc = func(string) bool { return true }\n\t}\n\n\tvar pmu sync.RWMutex\n\tvar wg sync.WaitGroup\n\tlimitc := make(chan struct{}, maxConcurrentProcFDLimit)\n\n\tf := func(pid int64, ttype proc.TransportProtocol) {\n\t\tdefer func() {\n\t\t\t<-limitc\n\t\t\twg.Done()\n\t\t}()\n\t\tlimitc <- struct{}{}\n\n\t\tstat, err := proc.GetStatByPID(pid)\n\t\tif err != nil {\n\t\t\tlog.Printf(\"proc.GetStatByPID error %v for PID %d\", err, pid)\n\t\t\treturn\n\t\t}\n\t\tif !ft.ProgramMatchFunc(stat.Comm) {\n\t\t\treturn\n\t\t}\n\n\t\tpmu.RLock()\n\t\tdone := ft.TopLimit > 0 && len(sss) >= ft.TopLimit\n\t\tpmu.RUnlock()\n\t\tif done {\n\t\t\treturn\n\t\t}\n\n\t\tents, err := getSSEntry(pid, ttype, ft.LocalPort, ft.RemotePort)\n\t\tif err != nil {\n\t\t\tlog.Printf(\"getSSEntry error %v for PID %d\", err, pid)\n\t\t\treturn\n\t\t}\n\n\t\tpmu.Lock()\n\t\tsss = append(sss, ents...)\n\t\tpmu.Unlock()\n\t}\n\n\twg.Add(len(pids))\n\tif ft.TCP && ft.TCP6 {\n\t\twg.Add(len(pids))\n\t}\n\tfor _, pid := range pids {\n\t\tif ft.TCP {\n\t\t\tgo f(pid, proc.TypeTCP)\n\t\t}\n\t\tif ft.TCP6 {\n\t\t\tgo f(pid, proc.TypeTCP6)\n\t\t}\n\t}\n\twg.Wait()\n\n\tif ft.TopLimit > 0 && len(sss) > ft.TopLimit {\n\t\tsss = sss[:ft.TopLimit:ft.TopLimit]\n\t}\n\treturn\n}\n\nfunc getSSEntry(pid int64, tp proc.TransportProtocol, lport int64, rport int64) (sss []SSEntry, err error) {\n\tnss, nerr := proc.GetNetTCPByPID(pid, tp)\n\tif nerr != nil {\n\t\treturn nil, nerr\n\t}\n\tpname, perr := proc.GetProgram(pid)\n\tif perr != nil {\n\t\treturn nil, perr\n\t}\n\n\tfor _, elem := range nss {\n\t\tu, uerr := user.LookupId(fmt.Sprintf(\"%d\", elem.Uid))\n\t\tif uerr != nil {\n\t\t\treturn nil, uerr\n\t\t}\n\t\tif lport > 0 && lport != elem.LocalAddressParsedIPPort {\n\t\t\tcontinue\n\t\t}\n\t\tif rport > 0 && rport != elem.RemAddressParsedIPPort {\n\t\t\tcontinue\n\t\t}\n\t\tentry := SSEntry{\n\t\t\tProtocol: elem.Type,\n\n\t\t\tProgram: pname,\n\t\t\tState:   elem.StParsedStatus,\n\t\t\tPID:     pid,\n\n\t\t\tLocalIP:   elem.LocalAddressParsedIPHost,\n\t\t\tLocalPort: elem.LocalAddressParsedIPPort,\n\n\t\t\tRemoteIP:   elem.RemAddressParsedIPHost,\n\t\t\tRemotePort: elem.RemAddressParsedIPPort,\n\n\t\t\tUser: *u,\n\t\t}\n\t\tsss = append(sss, entry)\n\t}\n\n\treturn\n}\n\nconst columnsSSToShow = 9\n\nvar columnsSSEntry = []string{\n\t\"PROTOCOL\",\n\n\t\"PROGRAM\",\n\t\"STATE\",\n\t\"PID\",\n\n\t\"LOCAL-IP\",\n\t\"LOCAL-PORT\",\n\n\t\"REMOTE-IP\",\n\t\"REMOTE-PORT\",\n\n\t\"USER\",\n}\n\n// ConvertSS converts to rows.\nfunc ConvertSS(nss ...SSEntry) (header []string, rows [][]string) {\n\theader = columnsSSEntry\n\trows = make([][]string, len(nss))\n\tfor i, elem := range nss {\n\t\trow := make([]string, len(columnsSSEntry))\n\t\trow[0] = elem.Protocol\n\n\t\trow[1] = elem.Program\n\t\trow[2] = elem.State\n\t\trow[3] = fmt.Sprintf(\"%d\", elem.PID)\n\n\t\trow[4] = elem.LocalIP\n\t\trow[5] = fmt.Sprintf(\"%d\", elem.LocalPort)\n\n\t\trow[6] = elem.RemoteIP\n\t\trow[7] = fmt.Sprintf(\"%d\", elem.RemotePort)\n\n\t\trow[8] = elem.User.Username\n\n\t\trows[i] = row\n\t}\n\tdataframe.SortBy(\n\t\trows,\n\t\tdataframe.StringAscendingFunc(1), // Program\n\t\tdataframe.StringAscendingFunc(2), // State\n\t\tdataframe.StringAscendingFunc(0), // Protocol\n\t\tdataframe.StringAscendingFunc(3), // PID\n\t\tdataframe.StringAscendingFunc(4), // LocalIP\n\t).Sort(rows)\n\n\treturn\n}\n\n// StringSS converts in print-friendly format.\nfunc StringSS(header []string, rows [][]string, topLimit int) string {\n\tbuf := new(bytes.Buffer)\n\ttw := tablewriter.NewWriter(buf)\n\ttw.SetHeader(header[:columnsSSToShow:columnsSSToShow])\n\n\tif topLimit > 0 && len(rows) > topLimit {\n\t\trows = rows[:topLimit:topLimit]\n\t}\n\n\tfor _, row := range rows {\n\t\ttw.Append(row[:columnsSSToShow:columnsSSToShow])\n\t}\n\ttw.SetAutoFormatHeaders(false)\n\ttw.SetAlignment(tablewriter.ALIGN_RIGHT)\n\ttw.Render()\n\n\treturn buf.String()\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/pkg/fileutil/fileutil.go",
    "content": "// Package fileutil implements file utilities.\npackage fileutil\n\nimport \"os\"\n\nfunc OpenToRead(fpath string) (*os.File, error) {\n\tf, err := os.OpenFile(fpath, os.O_RDONLY, 0444)\n\tif err != nil {\n\t\treturn f, err\n\t}\n\treturn f, nil\n}\n\nfunc OpenToAppend(fpath string) (*os.File, error) {\n\tf, err := os.OpenFile(fpath, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0777)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn f, nil\n}\n\nfunc OpenToOverwrite(fpath string) (*os.File, error) {\n\tf, err := os.OpenFile(fpath, os.O_RDWR|os.O_TRUNC|os.O_CREATE, 0777)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn f, nil\n}\n\nfunc ToFile(txt, fpath string) error {\n\tf, err := os.OpenFile(fpath, os.O_RDWR|os.O_TRUNC, 0777)\n\tif err != nil {\n\t\tf, err = os.Create(fpath)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tdefer f.Close()\n\tif _, err := f.WriteString(txt); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// Exist returns true if the file or directory exists.\nfunc Exist(fpath string) bool {\n\tst, err := os.Stat(fpath)\n\tif err != nil {\n\t\tif os.IsNotExist(err) {\n\t\t\treturn false\n\t\t}\n\t}\n\tif st.IsDir() {\n\t\treturn true\n\t}\n\tif _, err := os.Stat(fpath); err != nil {\n\t\tif os.IsNotExist(err) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/pkg/timeutil/timeutil.go",
    "content": "// Package timeutil implements time utilities.\npackage timeutil\n\nimport (\n\t\"strings\"\n\t\"time\"\n\n\thumanize \"github.com/dustin/go-humanize\"\n)\n\nfunc NowPST() time.Time {\n\ttzone, err := time.LoadLocation(\"America/Los_Angeles\")\n\tif err != nil {\n\t\treturn time.Now()\n\t}\n\treturn time.Now().In(tzone)\n}\n\nfunc HumanizeDurationMs(ms uint64) string {\n\ts := humanize.Time(time.Now().Add(-1 * time.Duration(ms) * time.Millisecond))\n\tif s == \"now\" {\n\t\ts = \"0 seconds\"\n\t}\n\treturn strings.TrimSpace(strings.Replace(s, \" ago\", \"\", -1))\n}\n\nfunc HumanizeDurationSecond(sec uint64) string {\n\ts := humanize.Time(time.Now().Add(-1 * time.Duration(sec) * time.Second))\n\tif s == \"now\" {\n\t\ts = \"0 seconds\"\n\t}\n\treturn strings.TrimSpace(strings.Replace(s, \" ago\", \"\", -1))\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/diskstats.go",
    "content": "package proc\n\nimport (\n\t\"bufio\"\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/fileutil\"\n\t\"github.com/gyuho/linux-inspect/pkg/timeutil\"\n)\n\ntype diskstatsColumnIndex int\n\nconst (\n\tdiskstats_idx_major_number diskstatsColumnIndex = iota\n\tdiskstats_idx_minor_number\n\tdiskstats_idx_device_name\n\n\tdiskstats_idx_reads_completed\n\tdiskstats_idx_reads_merged\n\tdiskstats_idx_sectors_read\n\tdiskstats_idx_time_spent_on_reading_ms\n\n\tdiskstats_idx_writes_completed\n\tdiskstats_idx_writes_merged\n\tdiskstats_idx_sectors_written\n\tdiskstats_idx_time_spent_on_writing_ms\n\n\tdiskstats_idx_ios_in_progress\n\tdiskstats_idx_time_spent_on_ios_ms\n\tdiskstats_idx_weighted_time_spent_on_ios_ms\n)\n\n// GetDiskstats reads '/proc/diskstats'.\nfunc GetDiskstats() ([]DiskStat, error) {\n\tf, err := fileutil.OpenToRead(\"/proc/diskstats\")\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer f.Close()\n\n\tdss := []DiskStat{}\n\tscanner := bufio.NewScanner(f)\n\tfor scanner.Scan() {\n\t\ttxt := scanner.Text()\n\t\tif len(txt) == 0 {\n\t\t\tcontinue\n\t\t}\n\t\tds := strings.Fields(strings.TrimSpace(txt))\n\t\tif len(ds) < int(diskstats_idx_weighted_time_spent_on_ios_ms+1) {\n\t\t\treturn nil, fmt.Errorf(\"not enough columns at %v\", ds)\n\t\t}\n\t\td := DiskStat{}\n\n\t\tmn, err := strconv.ParseUint(ds[diskstats_idx_major_number], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.MajorNumber = mn\n\n\t\tmn, err = strconv.ParseUint(ds[diskstats_idx_minor_number], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.MinorNumber = mn\n\n\t\td.DeviceName = strings.TrimSpace(ds[diskstats_idx_device_name])\n\n\t\tmn, err = strconv.ParseUint(ds[diskstats_idx_reads_completed], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.ReadsCompleted = mn\n\n\t\tmn, err = strconv.ParseUint(ds[diskstats_idx_reads_merged], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.ReadsMerged = mn\n\n\t\tmn, err = strconv.ParseUint(ds[diskstats_idx_sectors_read], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.SectorsRead = mn\n\n\t\tmn, err = strconv.ParseUint(ds[diskstats_idx_time_spent_on_reading_ms], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.TimeSpentOnReadingMs = mn\n\t\td.TimeSpentOnReadingMsParsedTime = timeutil.HumanizeDurationMs(mn)\n\n\t\tmn, err = strconv.ParseUint(ds[diskstats_idx_writes_completed], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.WritesCompleted = mn\n\n\t\tmn, err = strconv.ParseUint(ds[diskstats_idx_writes_merged], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.WritesMerged = mn\n\n\t\tmn, err = strconv.ParseUint(ds[diskstats_idx_sectors_written], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.SectorsWritten = mn\n\n\t\tmn, err = strconv.ParseUint(ds[diskstats_idx_time_spent_on_writing_ms], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.TimeSpentOnWritingMs = mn\n\t\td.TimeSpentOnWritingMsParsedTime = timeutil.HumanizeDurationMs(mn)\n\n\t\tmn, err = strconv.ParseUint(ds[diskstats_idx_ios_in_progress], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.IOsInProgress = mn\n\n\t\tmn, err = strconv.ParseUint(ds[diskstats_idx_time_spent_on_ios_ms], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.TimeSpentOnIOsMs = mn\n\t\td.TimeSpentOnIOsMsParsedTime = timeutil.HumanizeDurationMs(mn)\n\n\t\tmn, err = strconv.ParseUint(ds[diskstats_idx_weighted_time_spent_on_ios_ms], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.WeightedTimeSpentOnIOsMs = mn\n\t\td.WeightedTimeSpentOnIOsMsParsedTime = timeutil.HumanizeDurationMs(mn)\n\n\t\tdss = append(dss, d)\n\t}\n\n\treturn dss, nil\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/doc.go",
    "content": "// Package proc represents Linux '/proc'.\npackage proc\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/generated.go",
    "content": "package proc\n\n// updated at 2017-12-21 12:15:57.243686 -0800 PST\n\n// NetDev is '/proc/net/dev' in Linux.\n// The dev pseudo-file contains network device status information.\ntype NetDev struct {\n\t// Interface is network interface.\n\tInterface string `column:\"interface\"`\n\t// ReceiveBytes is total number of bytes of data received by the interface.\n\tReceiveBytes            uint64 `column:\"receive_bytes\"`\n\tReceiveBytesBytesN      uint64 `column:\"receive_bytes_bytes_n\"`\n\tReceiveBytesParsedBytes string `column:\"receive_bytes_parsed_bytes\"`\n\t// ReceivePackets is total number of packets of data received by the interface.\n\tReceivePackets uint64 `column:\"receive_packets\"`\n\t// ReceiveErrs is total number of receive errors detected by the device driver.\n\tReceiveErrs uint64 `column:\"receive_errs\"`\n\t// ReceiveDrop is total number of packets dropped by the device driver.\n\tReceiveDrop uint64 `column:\"receive_drop\"`\n\t// ReceiveFifo is number of FIFO buffer errors.\n\tReceiveFifo uint64 `column:\"receive_fifo\"`\n\t// ReceiveFrame is number of packet framing errors.\n\tReceiveFrame uint64 `column:\"receive_frame\"`\n\t// ReceiveCompressed is number of compressed packets received by the device driver.\n\tReceiveCompressed uint64 `column:\"receive_compressed\"`\n\t// ReceiveMulticast is number of multicast frames received by the device driver.\n\tReceiveMulticast uint64 `column:\"receive_multicast\"`\n\t// TransmitBytes is total number of bytes of data transmitted by the interface.\n\tTransmitBytes            uint64 `column:\"transmit_bytes\"`\n\tTransmitBytesBytesN      uint64 `column:\"transmit_bytes_bytes_n\"`\n\tTransmitBytesParsedBytes string `column:\"transmit_bytes_parsed_bytes\"`\n\t// TransmitPackets is total number of packets of data transmitted by the interface.\n\tTransmitPackets uint64 `column:\"transmit_packets\"`\n\t// TransmitErrs is total number of receive errors detected by the device driver.\n\tTransmitErrs uint64 `column:\"transmit_errs\"`\n\t// TransmitDrop is total number of packets dropped by the device driver.\n\tTransmitDrop uint64 `column:\"transmit_drop\"`\n\t// TransmitFifo is number of FIFO buffer errors.\n\tTransmitFifo uint64 `column:\"transmit_fifo\"`\n\t// TransmitColls is number of collisions detected on the interface.\n\tTransmitColls uint64 `column:\"transmit_colls\"`\n\t// TransmitCarrier is number of carrier losses detected by the device driver.\n\tTransmitCarrier uint64 `column:\"transmit_carrier\"`\n}\n\n// NetTCP is '/proc/net/tcp', '/proc/net/tcp6' in Linux.\n// Holds a dump of the TCP socket table.\ntype NetTCP struct {\n\tType string `column:\"type\"`\n\t// Sl is kernel hash slot.\n\tSl uint64 `column:\"sl\"`\n\t// LocalAddress is local-address:port.\n\tLocalAddress             string `column:\"local_address\"`\n\tLocalAddressParsedIPHost string `column:\"local_address_parsed_ip_host\"`\n\tLocalAddressParsedIPPort int64  `column:\"local_address_parsed_ip_port\"`\n\t// RemAddress is remote-address:port.\n\tRemAddress             string `column:\"rem_address\"`\n\tRemAddressParsedIPHost string `column:\"rem_address_parsed_ip_host\"`\n\tRemAddressParsedIPPort int64  `column:\"rem_address_parsed_ip_port\"`\n\t// St is internal status of socket.\n\tSt             string `column:\"st\"`\n\tStParsedStatus string `column:\"st_parsed_status\"`\n\t// TxQueue is outgoing data queue in terms of kernel memory usage.\n\tTxQueue string `column:\"tx_queue\"`\n\t// RxQueue is incoming data queue in terms of kernel memory usage.\n\tRxQueue string `column:\"rx_queue\"`\n\t// Tr is internal information of the kernel socket state.\n\tTr string `column:\"tr\"`\n\t// TmWhen is internal information of the kernel socket state.\n\tTmWhen string `column:\"tm_when\"`\n\t// Retrnsmt is internal information of the kernel socket state.\n\tRetrnsmt string `column:\"retrnsmt\"`\n\t// Uid is effective UID of the creator of the socket.\n\tUid uint64 `column:\"uid\"`\n\t// Timeout is timeout.\n\tTimeout uint64 `column:\"timeout\"`\n\t// Inode is inode raw data.\n\tInode string `column:\"inode\"`\n}\n\n// LoadAvg is '/proc/loadavg' in Linux.\ntype LoadAvg struct {\n\t// LoadAvg1Minute is total uptime in seconds.\n\tLoadAvg1Minute float64 `column:\"load_avg_1_minute\"`\n\t// LoadAvg5Minute is total uptime in seconds.\n\tLoadAvg5Minute float64 `column:\"load_avg_5_minute\"`\n\t// LoadAvg15Minute is total uptime in seconds.\n\tLoadAvg15Minute float64 `column:\"load_avg_15_minute\"`\n\t// RunnableKernelSchedulingEntities is number of currently runnable kernel scheduling entities (processes, threads).\n\tRunnableKernelSchedulingEntities int64 `column:\"runnable_kernel_scheduling_entities\"`\n\t// CurrentKernelSchedulingEntities is number of kernel scheduling entities that currently exist on the system.\n\tCurrentKernelSchedulingEntities int64 `column:\"current_kernel_scheduling_entities\"`\n\t// Pid is PID of the process that was most recently created on the system.\n\tPid int64 `column:\"pid\"`\n}\n\n// Uptime is '/proc/uptime' in Linux.\ntype Uptime struct {\n\t// UptimeTotal is total uptime in seconds.\n\tUptimeTotal           float64 `column:\"uptime_total\"`\n\tUptimeTotalParsedTime string  `column:\"uptime_total_parsed_time\"`\n\t// UptimeIdle is total amount of time in seconds spent in idle process.\n\tUptimeIdle           float64 `column:\"uptime_idle\"`\n\tUptimeIdleParsedTime string  `column:\"uptime_idle_parsed_time\"`\n}\n\n// DiskStat is '/proc/diskstats' in Linux.\ntype DiskStat struct {\n\t// MajorNumber is major device number.\n\tMajorNumber uint64 `column:\"major_number\"`\n\t// MinorNumber is minor device number.\n\tMinorNumber uint64 `column:\"minor_number\"`\n\t// DeviceName is device name.\n\tDeviceName string `column:\"device_name\"`\n\t// ReadsCompleted is total number of reads completed successfully.\n\tReadsCompleted uint64 `column:\"reads_completed\"`\n\t// ReadsMerged is total number of reads merged when adjacent to each other.\n\tReadsMerged uint64 `column:\"reads_merged\"`\n\t// SectorsRead is total number of sectors read successfully.\n\tSectorsRead uint64 `column:\"sectors_read\"`\n\t// TimeSpentOnReadingMs is total number of milliseconds spent by all reads.\n\tTimeSpentOnReadingMs           uint64 `column:\"time_spent_on_reading_ms\"`\n\tTimeSpentOnReadingMsParsedTime string `column:\"time_spent_on_reading_ms_parsed_time\"`\n\t// WritesCompleted is total number of writes completed successfully.\n\tWritesCompleted uint64 `column:\"writes_completed\"`\n\t// WritesMerged is total number of writes merged when adjacent to each other.\n\tWritesMerged uint64 `column:\"writes_merged\"`\n\t// SectorsWritten is total number of sectors written successfully.\n\tSectorsWritten uint64 `column:\"sectors_written\"`\n\t// TimeSpentOnWritingMs is total number of milliseconds spent by all writes.\n\tTimeSpentOnWritingMs           uint64 `column:\"time_spent_on_writing_ms\"`\n\tTimeSpentOnWritingMsParsedTime string `column:\"time_spent_on_writing_ms_parsed_time\"`\n\t// IOsInProgress is only field that should go to zero (incremented as requests are on request_queue).\n\tIOsInProgress uint64 `column:\"ios_in_progress\"`\n\t// TimeSpentOnIOsMs is milliseconds spent doing I/Os.\n\tTimeSpentOnIOsMs           uint64 `column:\"time_spent_on_ios_ms\"`\n\tTimeSpentOnIOsMsParsedTime string `column:\"time_spent_on_ios_ms_parsed_time\"`\n\t// WeightedTimeSpentOnIOsMs is weighted milliseconds spent doing I/Os (incremented at each I/O start, I/O completion, I/O merge).\n\tWeightedTimeSpentOnIOsMs           uint64 `column:\"weighted_time_spent_on_ios_ms\"`\n\tWeightedTimeSpentOnIOsMsParsedTime string `column:\"weighted_time_spent_on_ios_ms_parsed_time\"`\n}\n\n// IO is '/proc/$PID/io' in Linux.\ntype IO struct {\n\t// Rchar is number of bytes which this task has caused to be read from storage (sum of bytes which this process passed to read).\n\tRchar            uint64 `yaml:\"rchar\"`\n\tRcharBytesN      uint64 `yaml:\"rchar_bytes_n\"`\n\tRcharParsedBytes string `yaml:\"rchar_parsed_bytes\"`\n\t// Wchar is number of bytes which this task has caused, or shall cause to be written to disk.\n\tWchar            uint64 `yaml:\"wchar\"`\n\tWcharBytesN      uint64 `yaml:\"wchar_bytes_n\"`\n\tWcharParsedBytes string `yaml:\"wchar_parsed_bytes\"`\n\t// Syscr is number of read I/O operations.\n\tSyscr uint64 `yaml:\"syscr\"`\n\t// Syscw is number of write I/O operations.\n\tSyscw uint64 `yaml:\"syscw\"`\n\t// ReadBytes is number of bytes which this process really did cause to be fetched from the storage layer.\n\tReadBytes            uint64 `yaml:\"read_bytes\"`\n\tReadBytesBytesN      uint64 `yaml:\"read_bytes_bytes_n\"`\n\tReadBytesParsedBytes string `yaml:\"read_bytes_parsed_bytes\"`\n\t// WriteBytes is number of bytes which this process caused to be sent to the storage layer.\n\tWriteBytes            uint64 `yaml:\"write_bytes\"`\n\tWriteBytesBytesN      uint64 `yaml:\"write_bytes_bytes_n\"`\n\tWriteBytesParsedBytes string `yaml:\"write_bytes_parsed_bytes\"`\n\t// CancelledWriteBytes is number of bytes which this process caused to not happen by truncating pagecache.\n\tCancelledWriteBytes            uint64 `yaml:\"cancelled_write_bytes\"`\n\tCancelledWriteBytesBytesN      uint64 `yaml:\"cancelled_write_bytes_bytes_n\"`\n\tCancelledWriteBytesParsedBytes string `yaml:\"cancelled_write_bytes_parsed_bytes\"`\n}\n\n// Stat is '/proc/$PID/stat' in Linux.\ntype Stat struct {\n\t// Pid is process ID.\n\tPid int64 `column:\"pid\"`\n\t// Comm is filename of the executable (originally in parentheses, automatically removed by this package).\n\tComm string `column:\"comm\"`\n\t// State is one character that represents the state of the process.\n\tState             string `column:\"state\"`\n\tStateParsedStatus string `column:\"state_parsed_status\"`\n\t// Ppid is PID of the parent process.\n\tPpid int64 `column:\"ppid\"`\n\t// Pgrp is group ID of the process.\n\tPgrp int64 `column:\"pgrp\"`\n\t// Session is session ID of the process.\n\tSession int64 `column:\"session\"`\n\t// TtyNr is controlling terminal of the process.\n\tTtyNr int64 `column:\"tty_nr\"`\n\t// Tpgid is ID of the foreground process group of the controlling terminal of the process.\n\tTpgid int64 `column:\"tpgid\"`\n\t// Flags is kernel flags word of the process.\n\tFlags int64 `column:\"flags\"`\n\t// Minflt is number of minor faults the process has made which have not required loading a memory page from disk.\n\tMinflt uint64 `column:\"minflt\"`\n\t// Cminflt is number of minor faults that the process's waited-for children have made.\n\tCminflt uint64 `column:\"cminflt\"`\n\t// Majflt is number of major faults the process has made which have required loading a memory page from disk.\n\tMajflt uint64 `column:\"majflt\"`\n\t// Cmajflt is number of major faults that the process's waited-for children have made.\n\tCmajflt uint64 `column:\"cmajflt\"`\n\t// Utime is number of clock ticks that this process has been scheduled in user mode (includes guest_time).\n\tUtime uint64 `column:\"utime\"`\n\t// Stime is number of clock ticks that this process has been scheduled in kernel mode.\n\tStime uint64 `column:\"stime\"`\n\t// Cutime is number of clock ticks that this process's waited-for children have been scheduled in user mode.\n\tCutime uint64 `column:\"cutime\"`\n\t// Cstime is number of clock ticks that this process's waited-for children have been scheduled in kernel mode.\n\tCstime uint64 `column:\"cstime\"`\n\t// Priority is for processes running a real-time scheduling policy, the negated scheduling priority, minus one; that is, a number in the range -2 to -100, corresponding to real-time priorities 1 to 99. For processes running under a non-real-time scheduling policy, this is the raw nice value. The kernel stores nice values as numbers in the range 0 (high) to 39 (low).\n\tPriority int64 `column:\"priority\"`\n\t// Nice is nice value, a value in the range 19 (low priority) to -20 (high priority).\n\tNice int64 `column:\"nice\"`\n\t// NumThreads is number of threads in this process.\n\tNumThreads int64 `column:\"num_threads\"`\n\t// Itrealvalue is no longer maintained.\n\tItrealvalue int64 `column:\"itrealvalue\"`\n\t// Starttime is time(number of clock ticks) the process started after system boot.\n\tStarttime uint64 `column:\"starttime\"`\n\t// Vsize is virtual memory size in bytes.\n\tVsize            uint64 `column:\"vsize\"`\n\tVsizeBytesN      uint64 `column:\"vsize_bytes_n\"`\n\tVsizeParsedBytes string `column:\"vsize_parsed_bytes\"`\n\t// Rss is resident set size: number of pages the process has in real memory (text, data, or stack space but does not include pages which have not been demand-loaded in, or which are swapped out).\n\tRss            int64  `column:\"rss\"`\n\tRssBytesN      int64  `column:\"rss_bytes_n\"`\n\tRssParsedBytes string `column:\"rss_parsed_bytes\"`\n\t// Rsslim is current soft limit in bytes on the rss of the process.\n\tRsslim            uint64 `column:\"rsslim\"`\n\tRsslimBytesN      uint64 `column:\"rsslim_bytes_n\"`\n\tRsslimParsedBytes string `column:\"rsslim_parsed_bytes\"`\n\t// Startcode is address above which program text can run.\n\tStartcode uint64 `column:\"startcode\"`\n\t// Endcode is address below which program text can run.\n\tEndcode uint64 `column:\"endcode\"`\n\t// Startstack is address of the start (i.e., bottom) of the stack.\n\tStartstack uint64 `column:\"startstack\"`\n\t// Kstkesp is current value of ESP (stack pointer), as found in the kernel stack page for the process.\n\tKstkesp uint64 `column:\"kstkesp\"`\n\t// Kstkeip is current EIP (instruction pointer).\n\tKstkeip uint64 `column:\"kstkeip\"`\n\t// Signal is obsolete, because it does not provide information on real-time signals (use /proc/$PID/status).\n\tSignal uint64 `column:\"signal\"`\n\t// Blocked is obsolete, because it does not provide information on real-time signals (use /proc/$PID/status).\n\tBlocked uint64 `column:\"blocked\"`\n\t// Sigignore is obsolete, because it does not provide information on real-time signals (use /proc/$PID/status).\n\tSigignore uint64 `column:\"sigignore\"`\n\t// Sigcatch is obsolete, because it does not provide information on real-time signals (use /proc/$PID/status).\n\tSigcatch uint64 `column:\"sigcatch\"`\n\t// Wchan is channel in which the process is waiting (address of a location in the kernel where the process is sleeping).\n\tWchan uint64 `column:\"wchan\"`\n\t// Nswap is not maintained (number of pages swapped).\n\tNswap uint64 `column:\"nswap\"`\n\t// Cnswap is not maintained (cumulative nswap for child processes).\n\tCnswap uint64 `column:\"cnswap\"`\n\t// ExitSignal is signal to be sent to parent when we die.\n\tExitSignal int64 `column:\"exit_signal\"`\n\t// Processor is CPU number last executed on.\n\tProcessor int64 `column:\"processor\"`\n\t// RtPriority is real-time scheduling priority, a number in the range 1 to 99 for processes scheduled under a real-time policy, or 0, for non-real-time processes.\n\tRtPriority uint64 `column:\"rt_priority\"`\n\t// Policy is scheduling policy.\n\tPolicy uint64 `column:\"policy\"`\n\t// DelayacctBlkioTicks is aggregated block I/O delays, measured in clock ticks.\n\tDelayacctBlkioTicks uint64 `column:\"delayacct_blkio_ticks\"`\n\t// GuestTime is number of clock ticks spent running a virtual CPU for a guest operating system.\n\tGuestTime uint64 `column:\"guest_time\"`\n\t// CguestTime is number of clock ticks (guest_time of the process's children).\n\tCguestTime uint64 `column:\"cguest_time\"`\n\t// StartData is address above which program initialized and uninitialized (BSS) data are placed.\n\tStartData uint64 `column:\"start_data\"`\n\t// EndData is address below which program initialized and uninitialized (BSS) data are placed.\n\tEndData uint64 `column:\"end_data\"`\n\t// StartBrk is address above which program heap can be expanded with brk.\n\tStartBrk uint64 `column:\"start_brk\"`\n\t// ArgStart is address above which program command-line arguments are placed.\n\tArgStart uint64 `column:\"arg_start\"`\n\t// ArgEnd is address below program command-line arguments are placed.\n\tArgEnd uint64 `column:\"arg_end\"`\n\t// EnvStart is address above which program environment is placed.\n\tEnvStart uint64 `column:\"env_start\"`\n\t// EnvEnd is address below which program environment is placed.\n\tEnvEnd uint64 `column:\"env_end\"`\n\t// ExitCode is thread's exit status in the form reported by waitpid(2).\n\tExitCode int64 `column:\"exit_code\"`\n}\n\n// Status is '/proc/$PID/status' in Linux.\ntype Status struct {\n\t// Name is command run by this process.\n\tName string `yaml:\"Name\"`\n\t// Umask is process umask, expressed in octal with a leading.\n\tUmask string `yaml:\"Umask\"`\n\t// State is current state of the process: R (running), S (sleeping), D (disk sleep), T (stopped), T (tracing stop), Z (zombie), or X (dead).\n\tState             string `yaml:\"State\"`\n\tStateParsedStatus string `yaml:\"State_parsed_status\"`\n\t// Tgid is thread group ID.\n\tTgid int64 `yaml:\"Tgid\"`\n\t// Ngid is NUMA group ID.\n\tNgid int64 `yaml:\"Ngid\"`\n\t// Pid is process ID.\n\tPid int64 `yaml:\"Pid\"`\n\t// PPid is parent process ID, which launches the Pid.\n\tPPid int64 `yaml:\"PPid\"`\n\t// TracerPid is PID of process tracing this process (0 if not being traced).\n\tTracerPid int64 `yaml:\"TracerPid\"`\n\t// Uid is real, effective, saved set, and filesystem UIDs.\n\tUid string `yaml:\"Uid\"`\n\t// Gid is real, effective, saved set, and filesystem UIDs.\n\tGid string `yaml:\"Gid\"`\n\t// FDSize is number of file descriptor slots currently allocated.\n\tFDSize uint64 `yaml:\"FDSize\"`\n\t// Groups is supplementary group list.\n\tGroups string `yaml:\"Groups\"`\n\t// NStgid is thread group ID (i.e., PID) in each of the PID namespaces of which [pid] is a member.\n\tNStgid string `yaml:\"NStgid\"`\n\t// NSpid is thread ID (i.e., PID) in each of the PID namespaces of which [pid] is a member.\n\tNSpid string `yaml:\"NSpid\"`\n\t// NSpgid is process group ID (i.e., PID) in each of the PID namespaces of which [pid] is a member.\n\tNSpgid string `yaml:\"NSpgid\"`\n\t// NSsid is descendant namespace session ID hierarchy Session ID in each of the PID namespaces of which [pid] is a member.\n\tNSsid string `yaml:\"NSsid\"`\n\t// VmPeak is peak virtual memory usage. Vm includes physical memory and swap.\n\tVmPeak            string `yaml:\"VmPeak\"`\n\tVmPeakBytesN      uint64 `yaml:\"VmPeak_bytes_n\"`\n\tVmPeakParsedBytes string `yaml:\"VmPeak_parsed_bytes\"`\n\t// VmSize is current virtual memory usage. VmSize is the total amount of memory required for this process.\n\tVmSize            string `yaml:\"VmSize\"`\n\tVmSizeBytesN      uint64 `yaml:\"VmSize_bytes_n\"`\n\tVmSizeParsedBytes string `yaml:\"VmSize_parsed_bytes\"`\n\t// VmLck is locked memory size.\n\tVmLck            string `yaml:\"VmLck\"`\n\tVmLckBytesN      uint64 `yaml:\"VmLck_bytes_n\"`\n\tVmLckParsedBytes string `yaml:\"VmLck_parsed_bytes\"`\n\t// VmPin is pinned memory size (pages can't be moved, requires direct-access to physical memory).\n\tVmPin            string `yaml:\"VmPin\"`\n\tVmPinBytesN      uint64 `yaml:\"VmPin_bytes_n\"`\n\tVmPinParsedBytes string `yaml:\"VmPin_parsed_bytes\"`\n\t// VmHWM is peak resident set size (\"high water mark\").\n\tVmHWM            string `yaml:\"VmHWM\"`\n\tVmHWMBytesN      uint64 `yaml:\"VmHWM_bytes_n\"`\n\tVmHWMParsedBytes string `yaml:\"VmHWM_parsed_bytes\"`\n\t// VmRSS is resident set size. VmRSS is the actual amount in memory. Some memory can be swapped out to physical disk. So this is the real memory usage of the process.\n\tVmRSS            string `yaml:\"VmRSS\"`\n\tVmRSSBytesN      uint64 `yaml:\"VmRSS_bytes_n\"`\n\tVmRSSParsedBytes string `yaml:\"VmRSS_parsed_bytes\"`\n\t// VmData is size of data segment.\n\tVmData            string `yaml:\"VmData\"`\n\tVmDataBytesN      uint64 `yaml:\"VmData_bytes_n\"`\n\tVmDataParsedBytes string `yaml:\"VmData_parsed_bytes\"`\n\t// VmStk is size of stack.\n\tVmStk            string `yaml:\"VmStk\"`\n\tVmStkBytesN      uint64 `yaml:\"VmStk_bytes_n\"`\n\tVmStkParsedBytes string `yaml:\"VmStk_parsed_bytes\"`\n\t// VmExe is size of text segments.\n\tVmExe            string `yaml:\"VmExe\"`\n\tVmExeBytesN      uint64 `yaml:\"VmExe_bytes_n\"`\n\tVmExeParsedBytes string `yaml:\"VmExe_parsed_bytes\"`\n\t// VmLib is shared library code size.\n\tVmLib            string `yaml:\"VmLib\"`\n\tVmLibBytesN      uint64 `yaml:\"VmLib_bytes_n\"`\n\tVmLibParsedBytes string `yaml:\"VmLib_parsed_bytes\"`\n\t// VmPTE is page table entries size.\n\tVmPTE            string `yaml:\"VmPTE\"`\n\tVmPTEBytesN      uint64 `yaml:\"VmPTE_bytes_n\"`\n\tVmPTEParsedBytes string `yaml:\"VmPTE_parsed_bytes\"`\n\t// VmPMD is size of second-level page tables.\n\tVmPMD            string `yaml:\"VmPMD\"`\n\tVmPMDBytesN      uint64 `yaml:\"VmPMD_bytes_n\"`\n\tVmPMDParsedBytes string `yaml:\"VmPMD_parsed_bytes\"`\n\t// VmSwap is swapped-out virtual memory size by anonymous private.\n\tVmSwap            string `yaml:\"VmSwap\"`\n\tVmSwapBytesN      uint64 `yaml:\"VmSwap_bytes_n\"`\n\tVmSwapParsedBytes string `yaml:\"VmSwap_parsed_bytes\"`\n\t// HugetlbPages is size of hugetlb memory portions.\n\tHugetlbPages            string `yaml:\"HugetlbPages\"`\n\tHugetlbPagesBytesN      uint64 `yaml:\"HugetlbPages_bytes_n\"`\n\tHugetlbPagesParsedBytes string `yaml:\"HugetlbPages_parsed_bytes\"`\n\t// Threads is number of threads in process containing this thread (process).\n\tThreads uint64 `yaml:\"Threads\"`\n\t// SigQ is queued signals for the real user ID of this process (queued signals / limits).\n\tSigQ string `yaml:\"SigQ\"`\n\t// SigPnd is number of signals pending for thread.\n\tSigPnd string `yaml:\"SigPnd\"`\n\t// ShdPnd is number of signals pending for process as a whole.\n\tShdPnd string `yaml:\"ShdPnd\"`\n\t// SigBlk is masks indicating signals being blocked.\n\tSigBlk string `yaml:\"SigBlk\"`\n\t// SigIgn is masks indicating signals being ignored.\n\tSigIgn string `yaml:\"SigIgn\"`\n\t// SigCgt is masks indicating signals being caught.\n\tSigCgt string `yaml:\"SigCgt\"`\n\t// CapInh is masks of capabilities enabled in inheritable sets.\n\tCapInh string `yaml:\"CapInh\"`\n\t// CapPrm is masks of capabilities enabled in permitted sets.\n\tCapPrm string `yaml:\"CapPrm\"`\n\t// CapEff is masks of capabilities enabled in effective sets.\n\tCapEff string `yaml:\"CapEff\"`\n\t// CapBnd is capability Bounding set.\n\tCapBnd string `yaml:\"CapBnd\"`\n\t// CapAmb is ambient capability set.\n\tCapAmb string `yaml:\"CapAmb\"`\n\t// Seccomp is seccomp mode of the process (0 means SECCOMP_MODE_DISABLED; 1 means SECCOMP_MODE_STRICT; 2 means SECCOMP_MODE_FILTER).\n\tSeccomp uint64 `yaml:\"Seccomp\"`\n\t// CpusAllowed is mask of CPUs on which this process may run.\n\tCpusAllowed string `yaml:\"Cpus_allowed\"`\n\t// CpusAllowedList is list of CPUs on which this process may run.\n\tCpusAllowedList string `yaml:\"Cpus_allowed_list\"`\n\t// MemsAllowed is mask of memory nodes allowed to this process.\n\tMemsAllowed string `yaml:\"Mems_allowed\"`\n\t// MemsAllowedList is list of memory nodes allowed to this process.\n\tMemsAllowedList string `yaml:\"Mems_allowed_list\"`\n\t// VoluntaryCtxtSwitches is number of voluntary context switches.\n\tVoluntaryCtxtSwitches uint64 `yaml:\"voluntary_ctxt_switches\"`\n\t// NonvoluntaryCtxtSwitches is number of involuntary context switches.\n\tNonvoluntaryCtxtSwitches uint64 `yaml:\"nonvoluntary_ctxt_switches\"`\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/io.go",
    "content": "package proc\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/fileutil\"\n\n\thumanize \"github.com/dustin/go-humanize\"\n\tyaml \"gopkg.in/yaml.v2\"\n)\n\n// GetIOByPID reads '/proc/$PID/io' data.\nfunc GetIOByPID(pid int64) (s IO, err error) {\n\tfpath := fmt.Sprintf(\"/proc/%d/io\", pid)\n\tf, err := fileutil.OpenToRead(fpath)\n\tif err != nil {\n\t\treturn IO{}, err\n\t}\n\tdefer f.Close()\n\n\tb, err := ioutil.ReadAll(f)\n\tif err != nil {\n\t\treturn IO{}, err\n\t}\n\n\trs := IO{}\n\tif err := yaml.Unmarshal(b, &rs); err != nil {\n\t\treturn rs, err\n\t}\n\n\trs.RcharBytesN = rs.Rchar\n\trs.RcharParsedBytes = humanize.Bytes(uint64(rs.RcharBytesN))\n\n\trs.WcharBytesN = rs.Wchar\n\trs.WcharParsedBytes = humanize.Bytes(uint64(rs.WcharBytesN))\n\n\trs.ReadBytesBytesN = rs.ReadBytes\n\trs.ReadBytesParsedBytes = humanize.Bytes(uint64(rs.ReadBytesBytesN))\n\n\trs.WriteBytesBytesN = rs.WriteBytes\n\trs.WriteBytesParsedBytes = humanize.Bytes(uint64(rs.WriteBytesBytesN))\n\n\trs.CancelledWriteBytesBytesN = rs.CancelledWriteBytes\n\trs.CancelledWriteBytesParsedBytes = humanize.Bytes(uint64(rs.CancelledWriteBytesBytesN))\n\n\treturn rs, nil\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/list.go",
    "content": "package proc\n\nimport (\n\t\"io/ioutil\"\n\t\"path/filepath\"\n\t\"strconv\"\n\t\"strings\"\n)\n\n// ListPIDs reads all PIDs in '/proc'.\nfunc ListPIDs() ([]int64, error) {\n\tds, err := ioutil.ReadDir(\"/proc\")\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tpids := make([]int64, 0, len(ds))\n\tfor _, f := range ds {\n\t\tif f.IsDir() && isInt(f.Name()) {\n\t\t\tid, err := strconv.ParseInt(f.Name(), 10, 64)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tpids = append(pids, id)\n\t\t}\n\t}\n\treturn pids, nil\n}\n\n// ListFds reads '/proc/*/fd/*' to grab process IDs.\nfunc ListFds() ([]string, error) {\n\t// returns the names of all files matching pattern\n\t// or nil if there is no matching file\n\tfs, err := filepath.Glob(\"/proc/[0-9]*/fd/[0-9]*\")\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn fs, nil\n}\n\nfunc pidFromFd(s string) (int64, error) {\n\t// get 5261 from '/proc/5261/fd/69'\n\treturn strconv.ParseInt(strings.Split(s, \"/\")[2], 10, 64)\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/load_avg.go",
    "content": "package proc\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/fileutil\"\n)\n\ntype loadAvgColumnIndex int\n\nconst (\n\tload_avg_idx_load_avg_1_minute loadAvgColumnIndex = iota\n\tload_avg_idx_load_avg_5_minute\n\tload_avg_idx_load_avg_15_minute\n\tload_avg_idx_kernel_scheduling_entities_with_slash\n\tload_avg_idx_pid\n)\n\n// GetLoadAvg reads '/proc/loadavg'.\n// Expected output is '0.37 0.47 0.39 1/839 31397'.\nfunc GetLoadAvg() (LoadAvg, error) {\n\ttxt, err := readLoadAvg()\n\tif err != nil {\n\t\treturn LoadAvg{}, err\n\t}\n\treturn getLoadAvg(txt)\n}\n\nfunc readLoadAvg() (string, error) {\n\tf, err := fileutil.OpenToRead(\"/proc/loadavg\")\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tdefer f.Close()\n\n\tbts, err := ioutil.ReadAll(f)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn strings.TrimSpace(string(bts)), nil\n}\n\nfunc getLoadAvg(txt string) (LoadAvg, error) {\n\tds := strings.Fields(txt)\n\tif len(ds) < 5 {\n\t\treturn LoadAvg{}, fmt.Errorf(\"not enough columns at %v\", ds)\n\t}\n\n\tlavg := LoadAvg{}\n\n\tavg1, err := strconv.ParseFloat(ds[load_avg_idx_load_avg_1_minute], 64)\n\tif err != nil {\n\t\treturn LoadAvg{}, err\n\t}\n\tlavg.LoadAvg1Minute = avg1\n\n\tavg5, err := strconv.ParseFloat(ds[load_avg_idx_load_avg_5_minute], 64)\n\tif err != nil {\n\t\treturn LoadAvg{}, err\n\t}\n\tlavg.LoadAvg5Minute = avg5\n\n\tavg15, err := strconv.ParseFloat(ds[load_avg_idx_load_avg_15_minute], 64)\n\tif err != nil {\n\t\treturn LoadAvg{}, err\n\t}\n\tlavg.LoadAvg15Minute = avg15\n\n\tslashed := strings.Split(ds[load_avg_idx_kernel_scheduling_entities_with_slash], \"/\")\n\tif len(slashed) != 2 {\n\t\treturn LoadAvg{}, fmt.Errorf(\"expected '/' string in kernel scheduling entities field, got %v\", slashed)\n\t}\n\ts1, err := strconv.ParseInt(slashed[0], 10, 64)\n\tif err != nil {\n\t\treturn LoadAvg{}, err\n\t}\n\tlavg.RunnableKernelSchedulingEntities = s1\n\n\ts2, err := strconv.ParseInt(slashed[1], 10, 64)\n\tif err != nil {\n\t\treturn LoadAvg{}, err\n\t}\n\tlavg.CurrentKernelSchedulingEntities = s2\n\n\tpid, err := strconv.ParseInt(ds[load_avg_idx_pid], 10, 64)\n\tif err != nil {\n\t\treturn LoadAvg{}, err\n\t}\n\tlavg.Pid = pid\n\n\treturn lavg, nil\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/net_dev.go",
    "content": "package proc\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/fileutil\"\n\n\thumanize \"github.com/dustin/go-humanize\"\n)\n\ntype netDevColumnIndex int\n\nconst (\n\tnet_dev_idx_interface netDevColumnIndex = iota\n\n\tnet_dev_idx_receive_bytes\n\tnet_dev_idx_receive_packets\n\tnet_dev_idx_receive_errs\n\tnet_dev_idx_receive_drop\n\tnet_dev_idx_receive_fifo\n\tnet_dev_idx_receive_frame\n\tnet_dev_idx_receive_compressed\n\tnet_dev_idx_receive_multicast\n\n\tnet_dev_idx_transmit_bytes\n\tnet_dev_idx_transmit_packets\n\tnet_dev_idx_transmit_errs\n\tnet_dev_idx_transmit_drop\n\tnet_dev_idx_transmit_fifo\n\tnet_dev_idx_transmit_colls\n\tnet_dev_idx_transmit_carrier\n)\n\n// GetNetDev reads '/proc/net/dev'.\nfunc GetNetDev() (nds []NetDev, err error) {\n\tvar d []byte\n\td, err = readNetDev()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\theader := true\n\tscanner := bufio.NewScanner(bytes.NewReader(d))\n\tfor scanner.Scan() {\n\t\ttxt := scanner.Text()\n\t\tif len(txt) == 0 {\n\t\t\tcontinue\n\t\t}\n\n\t\tds := strings.Fields(strings.TrimSpace(txt))\n\t\tif header {\n\t\t\tif strings.HasPrefix(ds[0], \"Inter\") {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif strings.HasSuffix(ds[0], \"face\") {\n\t\t\t\theader = false\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tif len(ds) < int(net_dev_idx_transmit_carrier+1) {\n\t\t\treturn nil, fmt.Errorf(\"not enough columns at %v\", ds)\n\t\t}\n\n\t\td := NetDev{}\n\n\t\td.Interface = strings.TrimSpace(ds[net_dev_idx_interface])\n\t\td.Interface = d.Interface[:len(d.Interface)-1] // remove ':' from 'wlp2s0:'\n\n\t\tmn, err := strconv.ParseUint(ds[net_dev_idx_receive_bytes], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.ReceiveBytes = mn\n\t\td.ReceiveBytesBytesN = mn\n\t\td.ReceiveBytesParsedBytes = humanize.Bytes(mn)\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_transmit_bytes], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.TransmitBytes = mn\n\t\td.TransmitBytesBytesN = mn\n\t\td.TransmitBytesParsedBytes = humanize.Bytes(mn)\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_receive_packets], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.ReceivePackets = mn\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_receive_errs], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.ReceiveErrs = mn\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_receive_drop], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.ReceiveDrop = mn\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_receive_fifo], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.ReceiveFifo = mn\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_receive_frame], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.ReceiveFrame = mn\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_receive_compressed], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.ReceiveCompressed = mn\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_receive_multicast], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.ReceiveMulticast = mn\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_transmit_packets], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.TransmitPackets = mn\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_transmit_errs], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.TransmitErrs = mn\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_transmit_drop], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.TransmitDrop = mn\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_transmit_fifo], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.TransmitFifo = mn\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_transmit_colls], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.TransmitColls = mn\n\n\t\tmn, err = strconv.ParseUint(ds[net_dev_idx_transmit_carrier], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td.TransmitCarrier = mn\n\n\t\tnds = append(nds, d)\n\t}\n\n\treturn nds, nil\n}\n\nfunc readNetDev() ([]byte, error) {\n\tf, err := fileutil.OpenToRead(\"/proc/net/dev\")\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer f.Close()\n\treturn ioutil.ReadAll(f)\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/net_tcp.go",
    "content": "package proc\n\nimport (\n\t\"bufio\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/fileutil\"\n\n\t\"bytes\"\n)\n\n// GetNetTCPByPID reads '/proc/$PID/net/tcp(6)' data.\nfunc GetNetTCPByPID(pid int64, tp TransportProtocol) ([]NetTCP, error) {\n\td, err := readNetTCP(pid, tp)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar ipParse func(string) (string, int64, error)\n\tswitch tp {\n\tcase TypeTCP:\n\t\tipParse = parseLittleEndianIpv4\n\tcase TypeTCP6:\n\t\tipParse = parseLittleEndianIpv6\n\t}\n\treturn parseNetTCP(d, ipParse, tp.String())\n}\n\n// TransportProtocol is tcp, tcp6.\ntype TransportProtocol int\n\nconst (\n\tTypeTCP TransportProtocol = iota\n\tTypeTCP6\n)\n\nfunc (tp TransportProtocol) String() string {\n\tswitch tp {\n\tcase TypeTCP:\n\t\treturn \"tcp\"\n\tcase TypeTCP6:\n\t\treturn \"tcp6\"\n\tdefault:\n\t\tpanic(fmt.Errorf(\"unknown transport protocol %d\", tp))\n\t}\n}\n\ntype netColumnIndex int\n\nconst (\n\tnet_tcp_idx_sl netColumnIndex = iota\n\tnet_tcp_idx_local_address\n\tnet_tcp_idx_remote_address\n\tnet_tcp_idx_st\n\tnet_tcp_idx_tx_queue_rx_queue\n\tnet_tcp_idx_tr_tm_when\n\tnet_tcp_idx_retrnsmt\n\tnet_tcp_idx_uid\n\tnet_tcp_idx_timeout\n\tnet_tcp_idx_inode\n)\n\nvar (\n\t// RPC_SHOW_SOCK\n\t// https://github.com/torvalds/linux/blob/master/include/trace/events/sunrpc.h\n\tnetTCPStatus = map[string]string{\n\t\t\"01\": \"ESTABLISHED\",\n\t\t\"02\": \"SYN_SENT\",\n\t\t\"03\": \"SYN_RECV\",\n\t\t\"04\": \"FIN_WAIT1\",\n\t\t\"05\": \"FIN_WAIT2\",\n\t\t\"06\": \"TIME_WAIT\",\n\t\t\"07\": \"CLOSE\",\n\t\t\"08\": \"CLOSE_WAIT\",\n\t\t\"09\": \"LAST_ACK\",\n\t\t\"0A\": \"LISTEN\",\n\t\t\"0B\": \"CLOSING\",\n\t}\n)\n\nfunc parseNetTCP(d []byte, ipParse func(string) (string, int64, error), ipType string) ([]NetTCP, error) {\n\trows := [][]string{}\n\n\tfirst := true\n\tscanner := bufio.NewScanner(bytes.NewReader(d))\n\tfor scanner.Scan() {\n\t\ttxt := scanner.Text()\n\t\tif len(txt) == 0 {\n\t\t\tcontinue\n\t\t}\n\n\t\tfs := strings.Fields(txt)\n\t\tif len(fs) < int(net_tcp_idx_inode+1) {\n\t\t\treturn nil, fmt.Errorf(\"not enough columns at %v\", fs)\n\t\t}\n\n\t\tif first {\n\t\t\tif fs[0] != \"sl\" { // header\n\t\t\t\treturn nil, fmt.Errorf(\"first line must be columns but got = %#q\", fs)\n\t\t\t}\n\t\t\tfirst = false\n\t\t\tcontinue\n\t\t}\n\n\t\trow := make([]string, 10)\n\t\tcopy(row, fs[:net_tcp_idx_inode+1])\n\n\t\trows = append(rows, row)\n\t}\n\tif err := scanner.Err(); err != nil {\n\t\treturn nil, err\n\t}\n\n\tnch, errc := make(chan NetTCP), make(chan error)\n\tfor _, row := range rows {\n\t\tgo func(row []string) {\n\t\t\tnp := NetTCP{}\n\n\t\t\tnp.Type = ipType\n\n\t\t\tsn, err := strconv.ParseUint(strings.Replace(row[net_tcp_idx_sl], \":\", \"\", -1), 10, 64)\n\t\t\tif err != nil {\n\t\t\t\terrc <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tnp.Sl = sn\n\n\t\t\tnp.LocalAddress = strings.TrimSpace(row[net_tcp_idx_local_address])\n\t\t\tlp, lt, err := ipParse(row[net_tcp_idx_local_address])\n\t\t\tif err != nil {\n\t\t\t\terrc <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tnp.LocalAddressParsedIPHost = strings.TrimSpace(lp)\n\t\t\tnp.LocalAddressParsedIPPort = lt\n\n\t\t\tnp.RemAddress = strings.TrimSpace(row[net_tcp_idx_remote_address])\n\t\t\trp, rt, err := ipParse(row[net_tcp_idx_remote_address])\n\t\t\tif err != nil {\n\t\t\t\terrc <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tnp.RemAddressParsedIPHost = strings.TrimSpace(rp)\n\t\t\tnp.RemAddressParsedIPPort = rt\n\n\t\t\tnp.St = strings.TrimSpace(row[net_tcp_idx_st])\n\t\t\tnp.StParsedStatus = strings.TrimSpace(netTCPStatus[row[net_tcp_idx_st]])\n\n\t\t\tqs := strings.Split(row[net_tcp_idx_tx_queue_rx_queue], \":\")\n\t\t\tif len(qs) == 2 {\n\t\t\t\tnp.TxQueue = qs[0]\n\t\t\t\tnp.RxQueue = qs[1]\n\t\t\t}\n\t\t\ttrs := strings.Split(row[net_tcp_idx_tr_tm_when], \":\")\n\t\t\tif len(trs) == 2 {\n\t\t\t\tnp.Tr = trs[0]\n\t\t\t\tnp.TmWhen = trs[1]\n\t\t\t}\n\t\t\tnp.Retrnsmt = row[net_tcp_idx_retrnsmt]\n\n\t\t\tun, err := strconv.ParseUint(row[net_tcp_idx_uid], 10, 64)\n\t\t\tif err != nil {\n\t\t\t\terrc <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tnp.Uid = un\n\n\t\t\tto, err := strconv.ParseUint(row[net_tcp_idx_timeout], 10, 64)\n\t\t\tif err != nil {\n\t\t\t\terrc <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tnp.Timeout = to\n\n\t\t\tnp.Inode = strings.TrimSpace(row[net_tcp_idx_inode])\n\n\t\t\tnch <- np\n\t\t}(row)\n\t}\n\n\tnss := make([]NetTCP, 0, len(rows))\n\tcn, limit := 0, len(rows)\n\tfor cn != limit {\n\t\tselect {\n\t\tcase err := <-errc:\n\t\t\treturn nil, err\n\t\tcase p := <-nch:\n\t\t\tnss = append(nss, p)\n\t\t\tcn++\n\t\t}\n\t}\n\tclose(nch)\n\tclose(errc)\n\n\treturn nss, nil\n}\n\nfunc readNetTCP(pid int64, tp TransportProtocol) ([]byte, error) {\n\tfpath := fmt.Sprintf(\"/proc/%d/net/%s\", pid, tp.String())\n\tf, err := fileutil.OpenToRead(fpath)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer f.Close()\n\treturn ioutil.ReadAll(f)\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/parse_ip.go",
    "content": "package proc\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n)\n\n// parseLittleEndianIpv4 parses hexadecimal ipv4 IP addresses.\n// For example, it converts '0101007F:0035' into string.\n// It assumes that the system has little endian order.\nfunc parseLittleEndianIpv4(s string) (string, int64, error) {\n\tarr := strings.Split(s, \":\")\n\tif len(arr) != 2 {\n\t\treturn \"\", 0, fmt.Errorf(\"cannot parse ipv4 %s\", s)\n\t}\n\tif len(arr[0]) != 8 {\n\t\treturn \"\", 0, fmt.Errorf(\"cannot parse ipv4 ip %s\", arr[0])\n\t}\n\tif len(arr[1]) != 4 {\n\t\treturn \"\", 0, fmt.Errorf(\"cannot parse ipv4 port %s\", arr[1])\n\t}\n\n\td0, err := strconv.ParseInt(arr[0][6:8], 16, 32)\n\tif err != nil {\n\t\treturn \"\", 0, err\n\t}\n\td1, err := strconv.ParseInt(arr[0][4:6], 16, 32)\n\tif err != nil {\n\t\treturn \"\", 0, err\n\t}\n\td2, err := strconv.ParseInt(arr[0][2:4], 16, 32)\n\tif err != nil {\n\t\treturn \"\", 0, err\n\t}\n\td3, err := strconv.ParseInt(arr[0][0:2], 16, 32)\n\tif err != nil {\n\t\treturn \"\", 0, err\n\t}\n\tip := fmt.Sprintf(\"%d.%d.%d.%d\", d0, d1, d2, d3)\n\n\tport, err := strconv.ParseInt(arr[1], 16, 32)\n\tif err != nil {\n\t\treturn \"\", 0, err\n\t}\n\treturn ip, port, nil\n}\n\n// parseLittleEndianIpv6 parses hexadecimal ipv6 IP addresses.\n// For example, it converts '4506012691A700C165EB1DE1F912918C:8BDA'\n// into string. It assumes that the system has little endian order.\nfunc parseLittleEndianIpv6(s string) (string, int64, error) {\n\tarr := strings.Split(s, \":\")\n\tif len(arr) != 2 {\n\t\treturn \"\", 0, fmt.Errorf(\"cannot parse ipv6 %s\", s)\n\t}\n\tif len(arr[0]) != 32 {\n\t\treturn \"\", 0, fmt.Errorf(\"cannot parse ipv6 ip %s\", arr[0])\n\t}\n\tif len(arr[1]) != 4 {\n\t\treturn \"\", 0, fmt.Errorf(\"cannot parse ipv6 port %s\", arr[1])\n\t}\n\n\t// 32 characters, reverse by 2 characters\n\tip := \"\"\n\tfor i := 32; i > 0; i -= 2 {\n\t\tip += fmt.Sprintf(\"%s\", arr[0][i-2:i])\n\t\tif (len(ip)+1)%5 == 0 && len(ip) != 39 {\n\t\t\tip += \":\"\n\t\t}\n\t}\n\n\tport, err := strconv.ParseInt(arr[1], 16, 32)\n\tif err != nil {\n\t\treturn \"\", 0, err\n\t}\n\treturn ip, port, nil\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/schema.go",
    "content": "package proc\n\nimport (\n\t\"reflect\"\n\n\t\"github.com/gyuho/linux-inspect/schema\"\n)\n\n// NetDevSchema represents '/proc/net/dev'.\n// Reference http://man7.org/linux/man-pages/man5/proc.5.html\n// and http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html.\nvar NetDevSchema = schema.RawData{\n\tIsYAML: false,\n\tColumns: []schema.Column{\n\t\t{Name: \"interface\", Godoc: \"network interface\", Kind: reflect.String},\n\n\t\t{Name: \"receive_bytes\", Godoc: \"total number of bytes of data received by the interface\", Kind: reflect.Uint64},\n\t\t{Name: \"receive_packets\", Godoc: \"total number of packets of data received by the interface\", Kind: reflect.Uint64},\n\t\t{Name: \"receive_errs\", Godoc: \"total number of receive errors detected by the device driver\", Kind: reflect.Uint64},\n\t\t{Name: \"receive_drop\", Godoc: \"total number of packets dropped by the device driver\", Kind: reflect.Uint64},\n\t\t{Name: \"receive_fifo\", Godoc: \"number of FIFO buffer errors\", Kind: reflect.Uint64},\n\t\t{Name: \"receive_frame\", Godoc: \"number of packet framing errors\", Kind: reflect.Uint64},\n\t\t{Name: \"receive_compressed\", Godoc: \"number of compressed packets received by the device driver\", Kind: reflect.Uint64},\n\t\t{Name: \"receive_multicast\", Godoc: \"number of multicast frames received by the device driver\", Kind: reflect.Uint64},\n\n\t\t{Name: \"transmit_bytes\", Godoc: \"total number of bytes of data transmitted by the interface\", Kind: reflect.Uint64},\n\t\t{Name: \"transmit_packets\", Godoc: \"total number of packets of data transmitted by the interface\", Kind: reflect.Uint64},\n\t\t{Name: \"transmit_errs\", Godoc: \"total number of receive errors detected by the device driver\", Kind: reflect.Uint64},\n\t\t{Name: \"transmit_drop\", Godoc: \"total number of packets dropped by the device driver\", Kind: reflect.Uint64},\n\t\t{Name: \"transmit_fifo\", Godoc: \"number of FIFO buffer errors\", Kind: reflect.Uint64},\n\t\t{Name: \"transmit_colls\", Godoc: \"number of collisions detected on the interface\", Kind: reflect.Uint64},\n\t\t{Name: \"transmit_carrier\", Godoc: \"number of carrier losses detected by the device driver\", Kind: reflect.Uint64},\n\t},\n\tColumnsToParse: map[string]schema.RawDataType{\n\t\t\"receive_bytes\":  schema.TypeBytes,\n\t\t\"transmit_bytes\": schema.TypeBytes,\n\t},\n}\n\n// NetTCPSchema represents '/proc/net/tcp' and '/proc/net/tcp6'.\n// Reference http://man7.org/linux/man-pages/man5/proc.5.html\n// and http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html.\nvar NetTCPSchema = schema.RawData{\n\tIsYAML: false,\n\tColumns: []schema.Column{\n\t\t{Name: \"sl\", Godoc: \"kernel hash slot\", Kind: reflect.Uint64},\n\t\t{Name: \"local_address\", Godoc: \"local-address:port\", Kind: reflect.String},\n\t\t{Name: \"rem_address\", Godoc: \"remote-address:port\", Kind: reflect.String},\n\t\t{Name: \"st\", Godoc: \"internal status of socket\", Kind: reflect.String},\n\t\t{Name: \"tx_queue\", Godoc: \"outgoing data queue in terms of kernel memory usage\", Kind: reflect.String},\n\t\t{Name: \"rx_queue\", Godoc: \"incoming data queue in terms of kernel memory usage\", Kind: reflect.String},\n\t\t{Name: \"tr\", Godoc: \"internal information of the kernel socket state\", Kind: reflect.String},\n\t\t{Name: \"tm->when\", Godoc: \"internal information of the kernel socket state\", Kind: reflect.String},\n\t\t{Name: \"retrnsmt\", Godoc: \"internal information of the kernel socket state\", Kind: reflect.String},\n\t\t{Name: \"uid\", Godoc: \"effective UID of the creator of the socket\", Kind: reflect.Uint64},\n\t\t{Name: \"timeout\", Godoc: \"timeout\", Kind: reflect.Uint64},\n\t\t{Name: \"inode\", Godoc: \"inode raw data\", Kind: reflect.String},\n\t},\n\tColumnsToParse: map[string]schema.RawDataType{\n\t\t\"local_address\": schema.TypeIPAddress,\n\t\t\"rem_address\":   schema.TypeIPAddress,\n\t\t\"st\":            schema.TypeStatus,\n\t},\n}\n\n// LoadAvgSchema represents '/proc/loadavg'.\n// Reference http://man7.org/linux/man-pages/man5/proc.5.html.\nvar LoadAvgSchema = schema.RawData{\n\tIsYAML: false,\n\tColumns: []schema.Column{\n\t\t{Name: \"load-avg-1-minute\", Godoc: \"total uptime in seconds\", Kind: reflect.Float64},\n\t\t{Name: \"load-avg-5-minute\", Godoc: \"total uptime in seconds\", Kind: reflect.Float64},\n\t\t{Name: \"load-avg-15-minute\", Godoc: \"total uptime in seconds\", Kind: reflect.Float64},\n\t\t{Name: \"runnable-kernel-scheduling-entities\", Godoc: \"number of currently runnable kernel scheduling entities (processes, threads)\", Kind: reflect.Int64},\n\t\t{Name: \"current-kernel-scheduling-entities\", Godoc: \"number of kernel scheduling entities that currently exist on the system\", Kind: reflect.Int64},\n\t\t{Name: \"pid\", Godoc: \"PID of the process that was most recently created on the system\", Kind: reflect.Int64},\n\t},\n\tColumnsToParse: map[string]schema.RawDataType{},\n}\n\n// UptimeSchema represents '/proc/uptime'.\n// Reference http://man7.org/linux/man-pages/man5/proc.5.html.\nvar UptimeSchema = schema.RawData{\n\tIsYAML: false,\n\tColumns: []schema.Column{\n\t\t{Name: \"uptime-total\", Godoc: \"total uptime in seconds\", Kind: reflect.Float64},\n\t\t{Name: \"uptime-idle\", Godoc: \"total amount of time in seconds spent in idle process\", Kind: reflect.Float64},\n\t},\n\tColumnsToParse: map[string]schema.RawDataType{\n\t\t\"uptime-total\": schema.TypeTimeSeconds,\n\t\t\"uptime-idle\":  schema.TypeTimeSeconds,\n\t},\n}\n\n// DiskStatSchema represents '/proc/diskstats'.\n// Reference https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats\n// and https://www.kernel.org/doc/Documentation/iostats.txt.\nvar DiskStatSchema = schema.RawData{\n\tIsYAML: false,\n\tColumns: []schema.Column{\n\t\t{Name: \"major-number\", Godoc: \"major device number\", Kind: reflect.Uint64},\n\t\t{Name: \"minor-number\", Godoc: \"minor device number\", Kind: reflect.Uint64},\n\t\t{Name: \"device-name\", Godoc: \"device name\", Kind: reflect.String},\n\n\t\t{Name: \"reads-completed\", Godoc: \"total number of reads completed successfully\", Kind: reflect.Uint64},\n\t\t{Name: \"reads-merged\", Godoc: \"total number of reads merged when adjacent to each other\", Kind: reflect.Uint64},\n\t\t{Name: \"sectors-read\", Godoc: \"total number of sectors read successfully\", Kind: reflect.Uint64},\n\t\t{Name: \"time-spent-on-reading-ms\", Godoc: \"total number of milliseconds spent by all reads\", Kind: reflect.Uint64},\n\n\t\t{Name: \"writes-completed\", Godoc: \"total number of writes completed successfully\", Kind: reflect.Uint64},\n\t\t{Name: \"writes-merged\", Godoc: \"total number of writes merged when adjacent to each other\", Kind: reflect.Uint64},\n\t\t{Name: \"sectors-written\", Godoc: \"total number of sectors written successfully\", Kind: reflect.Uint64},\n\t\t{Name: \"time-spent-on-writing-ms\", Godoc: \"total number of milliseconds spent by all writes\", Kind: reflect.Uint64},\n\n\t\t{Name: \"I/Os-in-progress\", Godoc: \"only field that should go to zero (incremented as requests are on request_queue)\", Kind: reflect.Uint64},\n\t\t{Name: \"time-spent-on-I/Os-ms\", Godoc: \"milliseconds spent doing I/Os\", Kind: reflect.Uint64},\n\t\t{Name: \"weighted-time-spent-on-I/Os-ms\", Godoc: \"weighted milliseconds spent doing I/Os (incremented at each I/O start, I/O completion, I/O merge)\", Kind: reflect.Uint64},\n\t},\n\tColumnsToParse: map[string]schema.RawDataType{\n\t\t\"time-spent-on-reading-ms\":       schema.TypeTimeMicroseconds,\n\t\t\"time-spent-on-writing-ms\":       schema.TypeTimeMicroseconds,\n\t\t\"time-spent-on-I/Os-ms\":          schema.TypeTimeMicroseconds,\n\t\t\"weighted-time-spent-on-I/Os-ms\": schema.TypeTimeMicroseconds,\n\t},\n}\n\n// IOSchema represents 'proc/$PID/io'.\n// Reference http://man7.org/linux/man-pages/man5/proc.5.html.\nvar IOSchema = schema.RawData{\n\tIsYAML: true,\n\tColumns: []schema.Column{\n\t\t{Name: \"rchar\", Godoc: \"number of bytes which this task has caused to be read from storage (sum of bytes which this process passed to read)\", Kind: reflect.Uint64},\n\t\t{Name: \"wchar\", Godoc: \"number of bytes which this task has caused, or shall cause to be written to disk\", Kind: reflect.Uint64},\n\t\t{Name: \"syscr\", Godoc: \"number of read I/O operations\", Kind: reflect.Uint64},\n\t\t{Name: \"syscw\", Godoc: \"number of write I/O operations\", Kind: reflect.Uint64},\n\t\t{Name: \"read_bytes\", Godoc: \"number of bytes which this process really did cause to be fetched from the storage layer\", Kind: reflect.Uint64},\n\t\t{Name: \"write_bytes\", Godoc: \"number of bytes which this process caused to be sent to the storage layer\", Kind: reflect.Uint64},\n\t\t{Name: \"cancelled_write_bytes\", Godoc: \"number of bytes which this process caused to not happen by truncating pagecache\", Kind: reflect.Uint64},\n\t},\n\tColumnsToParse: map[string]schema.RawDataType{\n\t\t\"rchar\":                 schema.TypeBytes,\n\t\t\"wchar\":                 schema.TypeBytes,\n\t\t\"read_bytes\":            schema.TypeBytes,\n\t\t\"write_bytes\":           schema.TypeBytes,\n\t\t\"cancelled_write_bytes\": schema.TypeBytes,\n\t},\n}\n\n// StatSchema represents '/proc/$PID/stat'.\n// Reference http://man7.org/linux/man-pages/man5/proc.5.html.\nvar StatSchema = schema.RawData{\n\tIsYAML: false,\n\tColumns: []schema.Column{\n\t\t{Name: \"pid\", Godoc: \"process ID\", Kind: reflect.Int64},\n\t\t{Name: \"comm\", Godoc: \"filename of the executable (originally in parentheses, automatically removed by this package)\", Kind: reflect.String},\n\t\t{Name: \"state\", Godoc: \"one character that represents the state of the process\", Kind: reflect.String},\n\t\t{Name: \"ppid\", Godoc: \"PID of the parent process\", Kind: reflect.Int64},\n\t\t{Name: \"pgrp\", Godoc: \"group ID of the process\", Kind: reflect.Int64},\n\t\t{Name: \"session\", Godoc: \"session ID of the process\", Kind: reflect.Int64},\n\t\t{Name: \"tty_nr\", Godoc: \"controlling terminal of the process\", Kind: reflect.Int64},\n\t\t{Name: \"tpgid\", Godoc: \"ID of the foreground process group of the controlling terminal of the process\", Kind: reflect.Int64},\n\t\t{Name: \"flags\", Godoc: \"kernel flags word of the process\", Kind: reflect.Int64},\n\t\t{Name: \"minflt\", Godoc: \"number of minor faults the process has made which have not required loading a memory page from disk\", Kind: reflect.Uint64},\n\t\t{Name: \"cminflt\", Godoc: \"number of minor faults that the process's waited-for children have made\", Kind: reflect.Uint64},\n\t\t{Name: \"majflt\", Godoc: \"number of major faults the process has made which have required loading a memory page from disk\", Kind: reflect.Uint64},\n\t\t{Name: \"cmajflt\", Godoc: \"number of major faults that the process's waited-for children have made\", Kind: reflect.Uint64},\n\t\t{Name: \"utime\", Godoc: \"number of clock ticks that this process has been scheduled in user mode (includes guest_time)\", Kind: reflect.Uint64},\n\t\t{Name: \"stime\", Godoc: \"number of clock ticks that this process has been scheduled in kernel mode\", Kind: reflect.Uint64},\n\t\t{Name: \"cutime\", Godoc: \"number of clock ticks that this process's waited-for children have been scheduled in user mode\", Kind: reflect.Uint64},\n\t\t{Name: \"cstime\", Godoc: \"number of clock ticks that this process's waited-for children have been scheduled in kernel mode\", Kind: reflect.Uint64},\n\t\t{Name: \"priority\", Godoc: \"for processes running a real-time scheduling policy, the negated scheduling priority, minus one; that is, a number in the range -2 to -100, corresponding to real-time priorities 1 to 99. For processes running under a non-real-time scheduling policy, this is the raw nice value. The kernel stores nice values as numbers in the range 0 (high) to 39 (low)\", Kind: reflect.Int64},\n\t\t{Name: \"nice\", Godoc: \"nice value, a value in the range 19 (low priority) to -20 (high priority)\", Kind: reflect.Int64},\n\t\t{Name: \"num_threads\", Godoc: \"number of threads in this process\", Kind: reflect.Int64},\n\t\t{Name: \"itrealvalue\", Godoc: \"no longer maintained\", Kind: reflect.Int64},\n\t\t{Name: \"starttime\", Godoc: \"time(number of clock ticks) the process started after system boot\", Kind: reflect.Uint64},\n\t\t{Name: \"vsize\", Godoc: \"virtual memory size in bytes\", Kind: reflect.Uint64},\n\t\t{Name: \"rss\", Godoc: \"resident set size: number of pages the process has in real memory (text, data, or stack space but does not include pages which have not been demand-loaded in, or which are swapped out)\", Kind: reflect.Int64},\n\t\t{Name: \"rsslim\", Godoc: \"current soft limit in bytes on the rss of the process\", Kind: reflect.Uint64},\n\t\t{Name: \"startcode\", Godoc: \"address above which program text can run\", Kind: reflect.Uint64},\n\t\t{Name: \"endcode\", Godoc: \"address below which program text can run\", Kind: reflect.Uint64},\n\t\t{Name: \"startstack\", Godoc: \"address of the start (i.e., bottom) of the stack\", Kind: reflect.Uint64},\n\t\t{Name: \"kstkesp\", Godoc: \"current value of ESP (stack pointer), as found in the kernel stack page for the process\", Kind: reflect.Uint64},\n\t\t{Name: \"kstkeip\", Godoc: \"current EIP (instruction pointer)\", Kind: reflect.Uint64},\n\t\t{Name: \"signal\", Godoc: \"obsolete, because it does not provide information on real-time signals (use /proc/$PID/status)\", Kind: reflect.Uint64},\n\t\t{Name: \"blocked\", Godoc: \"obsolete, because it does not provide information on real-time signals (use /proc/$PID/status)\", Kind: reflect.Uint64},\n\t\t{Name: \"sigignore\", Godoc: \"obsolete, because it does not provide information on real-time signals (use /proc/$PID/status)\", Kind: reflect.Uint64},\n\t\t{Name: \"sigcatch\", Godoc: \"obsolete, because it does not provide information on real-time signals (use /proc/$PID/status)\", Kind: reflect.Uint64},\n\t\t{Name: \"wchan\", Godoc: \"channel in which the process is waiting (address of a location in the kernel where the process is sleeping)\", Kind: reflect.Uint64},\n\t\t{Name: \"nswap\", Godoc: \"not maintained (number of pages swapped)\", Kind: reflect.Uint64},\n\t\t{Name: \"cnswap\", Godoc: \"not maintained (cumulative nswap for child processes)\", Kind: reflect.Uint64},\n\t\t{Name: \"exit_signal\", Godoc: \"signal to be sent to parent when we die\", Kind: reflect.Int64},\n\t\t{Name: \"processor\", Godoc: \"CPU number last executed on\", Kind: reflect.Int64},\n\t\t{Name: \"rt_priority\", Godoc: \"real-time scheduling priority, a number in the range 1 to 99 for processes scheduled under a real-time policy, or 0, for non-real-time processes\", Kind: reflect.Uint64},\n\t\t{Name: \"policy\", Godoc: \"scheduling policy\", Kind: reflect.Uint64},\n\t\t{Name: \"delayacct_blkio_ticks\", Godoc: \"aggregated block I/O delays, measured in clock ticks\", Kind: reflect.Uint64},\n\t\t{Name: \"guest_time\", Godoc: \"number of clock ticks spent running a virtual CPU for a guest operating system\", Kind: reflect.Uint64},\n\t\t{Name: \"cguest_time\", Godoc: \"number of clock ticks (guest_time of the process's children)\", Kind: reflect.Uint64},\n\t\t{Name: \"start_data\", Godoc: \"address above which program initialized and uninitialized (BSS) data are placed\", Kind: reflect.Uint64},\n\t\t{Name: \"end_data\", Godoc: \"address below which program initialized and uninitialized (BSS) data are placed\", Kind: reflect.Uint64},\n\t\t{Name: \"start_brk\", Godoc: \"address above which program heap can be expanded with brk\", Kind: reflect.Uint64},\n\t\t{Name: \"arg_start\", Godoc: \"address above which program command-line arguments are placed\", Kind: reflect.Uint64},\n\t\t{Name: \"arg_end\", Godoc: \"address below program command-line arguments are placed\", Kind: reflect.Uint64},\n\t\t{Name: \"env_start\", Godoc: \"address above which program environment is placed\", Kind: reflect.Uint64},\n\t\t{Name: \"env_end\", Godoc: \"address below which program environment is placed\", Kind: reflect.Uint64},\n\t\t{Name: \"exit_code\", Godoc: \"thread's exit status in the form reported by waitpid(2)\", Kind: reflect.Int64},\n\t},\n\tColumnsToParse: map[string]schema.RawDataType{\n\t\t\"state\":  schema.TypeStatus,\n\t\t\"vsize\":  schema.TypeBytes,\n\t\t\"rss\":    schema.TypeBytes,\n\t\t\"rsslim\": schema.TypeBytes,\n\t},\n}\n\n// StatusSchema represents 'proc/$PID/status'.\n// Reference http://man7.org/linux/man-pages/man5/proc.5.html.\nvar StatusSchema = schema.RawData{\n\tIsYAML: true,\n\tColumns: []schema.Column{\n\t\t{Name: \"Name\", Godoc: \"command run by this process\", Kind: reflect.String},\n\t\t{Name: \"Umask\", Godoc: \"process umask, expressed in octal with a leading\", Kind: reflect.String},\n\t\t{Name: \"State\", Godoc: \"current state of the process: R (running), S (sleeping), D (disk sleep), T (stopped), T (tracing stop), Z (zombie), or X (dead)\", Kind: reflect.String},\n\n\t\t{Name: \"Tgid\", Godoc: \"thread group ID\", Kind: reflect.Int64},\n\t\t{Name: \"Ngid\", Godoc: \"NUMA group ID\", Kind: reflect.Int64},\n\t\t{Name: \"Pid\", Godoc: \"process ID\", Kind: reflect.Int64},\n\t\t{Name: \"PPid\", Godoc: \"parent process ID, which launches the Pid\", Kind: reflect.Int64},\n\t\t{Name: \"TracerPid\", Godoc: \"PID of process tracing this process (0 if not being traced)\", Kind: reflect.Int64},\n\t\t{Name: \"Uid\", Godoc: \"real, effective, saved set, and filesystem UIDs\", Kind: reflect.String},\n\t\t{Name: \"Gid\", Godoc: \"real, effective, saved set, and filesystem UIDs\", Kind: reflect.String},\n\n\t\t{Name: \"FDSize\", Godoc: \"number of file descriptor slots currently allocated\", Kind: reflect.Uint64},\n\n\t\t{Name: \"Groups\", Godoc: \"supplementary group list\", Kind: reflect.String},\n\n\t\t{Name: \"NStgid\", Godoc: \"thread group ID (i.e., PID) in each of the PID namespaces of which [pid] is a member\", Kind: reflect.String},\n\t\t{Name: \"NSpid\", Godoc: \"thread ID (i.e., PID) in each of the PID namespaces of which [pid] is a member\", Kind: reflect.String},\n\t\t{Name: \"NSpgid\", Godoc: \"process group ID (i.e., PID) in each of the PID namespaces of which [pid] is a member\", Kind: reflect.String},\n\t\t{Name: \"NSsid\", Godoc: \"descendant namespace session ID hierarchy Session ID in each of the PID namespaces of which [pid] is a member\", Kind: reflect.String},\n\n\t\t{Name: \"VmPeak\", Godoc: \"peak virtual memory usage. Vm includes physical memory and swap\", Kind: reflect.String},\n\t\t{Name: \"VmSize\", Godoc: \"current virtual memory usage. VmSize is the total amount of memory required for this process\", Kind: reflect.String},\n\t\t{Name: \"VmLck\", Godoc: \"locked memory size\", Kind: reflect.String},\n\t\t{Name: \"VmPin\", Godoc: \"pinned memory size (pages can't be moved, requires direct-access to physical memory)\", Kind: reflect.String},\n\t\t{Name: \"VmHWM\", Godoc: `peak resident set size (\"high water mark\")`, Kind: reflect.String},\n\t\t{Name: \"VmRSS\", Godoc: \"resident set size. VmRSS is the actual amount in memory. Some memory can be swapped out to physical disk. So this is the real memory usage of the process\", Kind: reflect.String},\n\t\t{Name: \"VmData\", Godoc: \"size of data segment\", Kind: reflect.String},\n\t\t{Name: \"VmStk\", Godoc: \"size of stack\", Kind: reflect.String},\n\t\t{Name: \"VmExe\", Godoc: \"size of text segments\", Kind: reflect.String},\n\t\t{Name: \"VmLib\", Godoc: \"shared library code size\", Kind: reflect.String},\n\t\t{Name: \"VmPTE\", Godoc: \"page table entries size\", Kind: reflect.String},\n\t\t{Name: \"VmPMD\", Godoc: \"size of second-level page tables\", Kind: reflect.String},\n\t\t{Name: \"VmSwap\", Godoc: \"swapped-out virtual memory size by anonymous private\", Kind: reflect.String},\n\t\t{Name: \"HugetlbPages\", Godoc: \"size of hugetlb memory portions\", Kind: reflect.String},\n\n\t\t{Name: \"Threads\", Godoc: \"number of threads in process containing this thread (process)\", Kind: reflect.Uint64},\n\n\t\t{Name: \"SigQ\", Godoc: \"queued signals for the real user ID of this process (queued signals / limits)\", Kind: reflect.String},\n\t\t{Name: \"SigPnd\", Godoc: \"number of signals pending for thread\", Kind: reflect.String},\n\t\t{Name: \"ShdPnd\", Godoc: \"number of signals pending for process as a whole\", Kind: reflect.String},\n\n\t\t{Name: \"SigBlk\", Godoc: \"masks indicating signals being blocked\", Kind: reflect.String},\n\t\t{Name: \"SigIgn\", Godoc: \"masks indicating signals being ignored\", Kind: reflect.String},\n\t\t{Name: \"SigCgt\", Godoc: \"masks indicating signals being caught\", Kind: reflect.String},\n\n\t\t{Name: \"CapInh\", Godoc: \"masks of capabilities enabled in inheritable sets\", Kind: reflect.String},\n\t\t{Name: \"CapPrm\", Godoc: \"masks of capabilities enabled in permitted sets\", Kind: reflect.String},\n\t\t{Name: \"CapEff\", Godoc: \"masks of capabilities enabled in effective sets\", Kind: reflect.String},\n\t\t{Name: \"CapBnd\", Godoc: \"capability Bounding set\", Kind: reflect.String},\n\t\t{Name: \"CapAmb\", Godoc: \"ambient capability set\", Kind: reflect.String},\n\n\t\t{Name: \"Seccomp\", Godoc: \"seccomp mode of the process (0 means SECCOMP_MODE_DISABLED; 1 means SECCOMP_MODE_STRICT; 2 means SECCOMP_MODE_FILTER)\", Kind: reflect.Uint64},\n\n\t\t{Name: \"Cpus_allowed\", Godoc: \"mask of CPUs on which this process may run\", Kind: reflect.String},\n\t\t{Name: \"Cpus_allowed_list\", Godoc: \"list of CPUs on which this process may run\", Kind: reflect.String},\n\t\t{Name: \"Mems_allowed\", Godoc: \"mask of memory nodes allowed to this process\", Kind: reflect.String},\n\t\t{Name: \"Mems_allowed_list\", Godoc: \"list of memory nodes allowed to this process\", Kind: reflect.String},\n\n\t\t{Name: \"voluntary_ctxt_switches\", Godoc: \"number of voluntary context switches\", Kind: reflect.Uint64},\n\t\t{Name: \"nonvoluntary_ctxt_switches\", Godoc: \"number of involuntary context switches\", Kind: reflect.Uint64},\n\t},\n\tColumnsToParse: map[string]schema.RawDataType{\n\t\t\"State\":        schema.TypeStatus,\n\t\t\"VmPeak\":       schema.TypeBytes,\n\t\t\"VmSize\":       schema.TypeBytes,\n\t\t\"VmLck\":        schema.TypeBytes,\n\t\t\"VmPin\":        schema.TypeBytes,\n\t\t\"VmHWM\":        schema.TypeBytes,\n\t\t\"VmRSS\":        schema.TypeBytes,\n\t\t\"VmData\":       schema.TypeBytes,\n\t\t\"VmStk\":        schema.TypeBytes,\n\t\t\"VmExe\":        schema.TypeBytes,\n\t\t\"VmLib\":        schema.TypeBytes,\n\t\t\"VmPTE\":        schema.TypeBytes,\n\t\t\"VmPMD\":        schema.TypeBytes,\n\t\t\"VmSwap\":       schema.TypeBytes,\n\t\t\"HugetlbPages\": schema.TypeBytes,\n\t},\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/stat.go",
    "content": "package proc\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/fileutil\"\n\t\"github.com/gyuho/linux-inspect/schema\"\n\n\t\"github.com/dustin/go-humanize\"\n)\n\n// GetStatByPID reads '/proc/$PID/stat' data.\nfunc GetStatByPID(pid int64) (s Stat, err error) {\n\tvar d []byte\n\td, err = readStat(pid)\n\tif err != nil {\n\t\treturn Stat{}, err\n\t}\n\treturn parseStat(d)\n}\n\nfunc readStat(pid int64) ([]byte, error) {\n\tfpath := fmt.Sprintf(\"/proc/%d/stat\", pid)\n\tf, err := fileutil.OpenToRead(fpath)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer f.Close()\n\treturn ioutil.ReadAll(f)\n}\n\nfunc parseStat(d []byte) (s Stat, err error) {\n\tscanner := bufio.NewScanner(bytes.NewReader(d))\n\tfor scanner.Scan() {\n\t\ttxt := scanner.Text()\n\t\tif len(txt) == 0 {\n\t\t\tcontinue\n\t\t}\n\n\t\tfds := strings.Fields(txt)\n\t\tfor i, fv := range fds {\n\t\t\tcolumn := schema.ToField(StatSchema.Columns[i].Name)\n\t\t\tval := reflect.ValueOf(&s).Elem()\n\t\t\tif val.Kind() == reflect.Struct {\n\t\t\t\tf := val.FieldByName(column)\n\t\t\t\tif f.IsValid() {\n\t\t\t\t\tif f.CanSet() {\n\t\t\t\t\t\tswitch StatSchema.Columns[i].Kind {\n\n\t\t\t\t\t\tcase reflect.Uint64:\n\t\t\t\t\t\t\tuv, uerr := strconv.ParseUint(fv, 10, 64)\n\t\t\t\t\t\t\tif uerr != nil {\n\t\t\t\t\t\t\t\treturn Stat{}, fmt.Errorf(\"%v when parsing %s %v\", uerr, column, fv)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif !f.OverflowUint(uv) {\n\t\t\t\t\t\t\t\tf.SetUint(uv)\n\n\t\t\t\t\t\t\t\tfval := val.FieldByName(column + \"BytesN\")\n\t\t\t\t\t\t\t\tif fval.IsValid() {\n\t\t\t\t\t\t\t\t\tif fval.CanSet() {\n\t\t\t\t\t\t\t\t\t\tfval.SetUint(uv)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif vv, ok := StatSchema.ColumnsToParse[StatSchema.Columns[i].Name]; ok {\n\t\t\t\t\t\t\t\t\tswitch vv {\n\t\t\t\t\t\t\t\t\tcase schema.TypeBytes:\n\t\t\t\t\t\t\t\t\t\thF := val.FieldByName(column + \"ParsedBytes\")\n\t\t\t\t\t\t\t\t\t\tif hF.IsValid() {\n\t\t\t\t\t\t\t\t\t\t\tif hF.CanSet() {\n\t\t\t\t\t\t\t\t\t\t\t\thF.SetString(humanize.Bytes(uv))\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\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}\n\n\t\t\t\t\t\tcase reflect.Int64:\n\t\t\t\t\t\t\tiv, ierr := strconv.ParseInt(fv, 10, 64)\n\t\t\t\t\t\t\tif ierr != nil {\n\t\t\t\t\t\t\t\treturn Stat{}, fmt.Errorf(\"%v when parsing %s %v\", ierr, column, fv)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif !f.OverflowInt(iv) {\n\t\t\t\t\t\t\t\tf.SetInt(iv)\n\n\t\t\t\t\t\t\t\tfval := val.FieldByName(column + \"BytesN\")\n\t\t\t\t\t\t\t\tif fval.IsValid() {\n\t\t\t\t\t\t\t\t\tif fval.CanSet() {\n\t\t\t\t\t\t\t\t\t\tfval.SetInt(iv)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif vv, ok := StatSchema.ColumnsToParse[StatSchema.Columns[i].Name]; ok {\n\t\t\t\t\t\t\t\t\tswitch vv {\n\t\t\t\t\t\t\t\t\tcase schema.TypeBytes:\n\t\t\t\t\t\t\t\t\t\tfval := val.FieldByName(column + \"ParsedBytes\")\n\t\t\t\t\t\t\t\t\t\tif fval.IsValid() {\n\t\t\t\t\t\t\t\t\t\t\tif fval.CanSet() {\n\t\t\t\t\t\t\t\t\t\t\t\tfval.SetString(humanize.Bytes(uint64(iv)))\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\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}\n\n\t\t\t\t\t\tcase reflect.String:\n\t\t\t\t\t\t\tf.SetString(fv)\n\n\t\t\t\t\t\t\tif vv, ok := StatSchema.ColumnsToParse[StatSchema.Columns[i].Name]; ok {\n\t\t\t\t\t\t\t\tswitch vv {\n\t\t\t\t\t\t\t\tcase schema.TypeStatus:\n\t\t\t\t\t\t\t\t\tfval := val.FieldByName(column + \"ParsedStatus\")\n\t\t\t\t\t\t\t\t\tif fval.IsValid() {\n\t\t\t\t\t\t\t\t\t\tif fval.CanSet() {\n\t\t\t\t\t\t\t\t\t\t\tfval.SetString(convertStatus(fv))\n\t\t\t\t\t\t\t\t\t\t}\n\t\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}\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 err = scanner.Err(); err != nil {\n\t\treturn s, err\n\t}\n\tif strings.HasPrefix(s.Comm, \"(\") {\n\t\ts.Comm = s.Comm[1:]\n\t}\n\tif strings.HasSuffix(s.Comm, \")\") {\n\t\ts.Comm = s.Comm[:len(s.Comm)-1]\n\t}\n\treturn s, err\n}\n\nconst statTmpl = `\n----------------------------------------\n[/proc/{{.Pid}}/stat]\n\nName:  {{.Comm}}\nState: {{.StateParsedStatus}}\n\nPid:         {{.Pid}}\nPpid:        {{.Ppid}}\nNumThreads:  {{.NumThreads}}\n\nRss:       {{.RssParsedBytes}} ({{.RssBytesN}})\nRsslim:    {{.RsslimParsedBytes}} ({{.RsslimBytesN}})\nVsize:     {{.VsizeParsedBytes}} ({{.VsizeBytesN}})\n\nStarttime:  {{.Starttime}}\nUtime:      {{.Utime}}\nStime:      {{.Stime}}\nCutime:     {{.Cutime}}\nCstime:     {{.Cstime}}\n\nSession:   {{.Session}}\nTtyNr:     {{.TtyNr}}\nTpgid:     {{.Tpgid}}\nFlags:     {{.Flags}}\n\nminflt:    {{.Minflt}}\ncminflt:   {{.Cminflt}}\nmajflt:    {{.Majflt}}\ncmajflt:   {{.Cmajflt}}\n\npriority:     {{.Priority}}\nnice:         {{.Nice}}\nitrealvalue:  {{.Itrealvalue}}\n\nstartcode:    {{.Startcode}}\nendcode:      {{.Endcode}}\nstartstack:   {{.Startstack}}\nlstkesp:      {{.Kstkesp}}\nlstkeip:      {{.Kstkeip}}\nsignal:       {{.Signal}}\nblocked:      {{.Blocked}}\nsigignore:    {{.Sigignore}}\nsigcatch:     {{.Sigcatch}}\nwchan:        {{.Wchan}}\nnswap:        {{.Nswap}}\ncnswap:       {{.Cnswap}}\nexitSignal:   {{.ExitSignal}}\nprocessor:    {{.Processor}}\nrt_priority:  {{.RtPriority}}\npolicy:       {{.Policy}}\n\ndelayacct_blkio_ticks:\n{{.DelayacctBlkioTicks}}\n\nguest_time:   {{.GuestTime}}\ncguest_time:  {{.CguestTime}}\nstart_data:   {{.StartData}}\nend_data:     {{.EndData}}\nstart_brk:    {{.StartBrk}}\narg_start:    {{.ArgStart}}\narg_end:      {{.ArgEnd}}\nenv_start:    {{.EnvStart}}\nenv_end:      {{.EnvEnd}}\nexit_code:    {{.ExitCode}}\n----------------------------------------\n`\n\nfunc (s Stat) String() string {\n\ttpl := template.Must(template.New(\"statTmpl\").Parse(statTmpl))\n\tbuf := new(bytes.Buffer)\n\tif err := tpl.Execute(buf, s); err != nil {\n\t\tlog.Fatal(err)\n\t}\n\treturn buf.String()\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/status.go",
    "content": "package proc\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"strings\"\n\t\"text/template\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/fileutil\"\n\n\t\"github.com/dustin/go-humanize\"\n\t\"gopkg.in/yaml.v2\"\n)\n\n// GetStatusByPID reads '/proc/$PID/status' data.\nfunc GetStatusByPID(pid int64) (s Status, err error) {\n\td, derr := readStatus(pid)\n\tif derr != nil {\n\t\treturn Status{}, derr\n\t}\n\ts, err = parseStatus(d)\n\tif err != nil {\n\t\treturn s, err\n\t}\n\n\ts.StateParsedStatus = strings.TrimSpace(s.State)\n\n\tu, _ := humanize.ParseBytes(s.VmPeak)\n\ts.VmPeakBytesN = u\n\ts.VmPeakParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.VmSize)\n\ts.VmSizeBytesN = u\n\ts.VmSizeParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.VmLck)\n\ts.VmLckBytesN = u\n\ts.VmLckParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.VmPin)\n\ts.VmPinBytesN = u\n\ts.VmPinParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.VmHWM)\n\ts.VmHWMBytesN = u\n\ts.VmHWMParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.VmRSS)\n\ts.VmRSSBytesN = u\n\ts.VmRSSParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.VmData)\n\ts.VmDataBytesN = u\n\ts.VmDataParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.VmStk)\n\ts.VmStkBytesN = u\n\ts.VmStkParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.VmExe)\n\ts.VmExeBytesN = u\n\ts.VmExeParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.VmLib)\n\ts.VmLibBytesN = u\n\ts.VmLibParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.VmPTE)\n\ts.VmPTEBytesN = u\n\ts.VmPTEParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.VmPMD)\n\ts.VmPMDBytesN = u\n\ts.VmPMDParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.VmSwap)\n\ts.VmSwapBytesN = u\n\ts.VmSwapParsedBytes = humanize.Bytes(u)\n\tu, _ = humanize.ParseBytes(s.HugetlbPages)\n\ts.HugetlbPagesBytesN = u\n\ts.HugetlbPagesParsedBytes = humanize.Bytes(u)\n\n\treturn s, nil\n}\n\nfunc readStatus(pid int64) ([]byte, error) {\n\tfpath := fmt.Sprintf(\"/proc/%d/status\", pid)\n\tf, err := fileutil.OpenToRead(fpath)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer f.Close()\n\treturn ioutil.ReadAll(f)\n}\n\nfunc parseStatus(d []byte) (s Status, err error) {\n\terr = yaml.Unmarshal(d, &s)\n\treturn s, err\n}\n\nconst statusTmpl = `\n----------------------------------------\n[/proc/{{.Pid}}/status]\n\nName:   {{.Name}}\nUmask:  {{.Umask}}\nState:  {{.StateParsedStatus}}\n\nTgid:      {{.Tgid}}\nNgid:      {{.Ngid}}\nPid:       {{.Pid}}\nPPid:      {{.PPid}}\nTracerPid: {{.TracerPid}}\n\nFDSize:  {{.FDSize}}\n\nVmPeak:  {{.VmPeakParsedBytes}}\nVmSize:  {{.VmSizeParsedBytes}}\nVmLck:   {{.VmLckParsedBytes}}\nVmPin:   {{.VmPinParsedBytes}}\nVmHWM:   {{.VmHWMParsedBytes}}\nVmRSS:   {{.VmRSSParsedBytes}}\nVmData:  {{.VmDataParsedBytes}}\nVmStk:   {{.VmStkParsedBytes}}\nVmExe:   {{.VmExeParsedBytes}}\nVmLib:   {{.VmLibParsedBytes}}\nVmPTE:   {{.VmPTEParsedBytes}}\nVmPMD:   {{.VmPMDParsedBytes}}\nVmSwap:  {{.VmSwapParsedBytes}}\nHugetlbPages:  {{.HugetlbPagesParsedBytes}}\n\nThreads:   {{.Threads}}\n\nGroups: {{.Groups}}\nUid:    {{.Uid}}\nGid:    {{.Gid}}\n\nSigQ:   {{.SigQ}}\nSigPnd: {{.SigPnd}}\nShdPnd: {{.ShdPnd}}\nSigBlk: {{.SigBlk}}\nSigIgn: {{.SigIgn}}\nSigCgt: {{.SigCgt}}\nCapInh: {{.CapInh}}\nCapPrm: {{.CapPrm}}\nCapEff: {{.CapEff}}\nCapBnd: {{.CapBnd}}\n\nSeccomp: {{.Seccomp}}\n\nCpus_allowed:      {{.CpusAllowed}}\nCpus_allowed_list: {{.CpusAllowedList}}\n\nMems_allowed:      {{.MemsAllowed}}\nMems_allowed_list: {{.MemsAllowedList}}\n\nvoluntary_ctxt_switches:\n{{.VoluntaryCtxtSwitches}}\n\nnonvoluntary_ctxt_switches:\n{{.NonvoluntaryCtxtSwitches}}\n----------------------------------------\n`\n\nfunc (s Status) String() string {\n\ttpl := template.Must(template.New(\"statusTmpl\").Parse(statusTmpl))\n\tbuf := new(bytes.Buffer)\n\tif err := tpl.Execute(buf, s); err != nil {\n\t\tlog.Fatal(err)\n\t}\n\treturn buf.String()\n}\n\n// GetProgram returns the program name.\nfunc GetProgram(pid int64) (string, error) {\n\t// Readlink needs root permission\n\t// return os.Readlink(fmt.Sprintf(\"/proc/%d/exe\", pid))\n\ts, err := GetStatusByPID(pid)\n\treturn s.Name, err\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/uptime.go",
    "content": "package proc\n\nimport (\n\t\"io/ioutil\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/fileutil\"\n\t\"github.com/gyuho/linux-inspect/pkg/timeutil\"\n)\n\n// GetUptime reads '/proc/uptime'.\nfunc GetUptime() (Uptime, error) {\n\tf, err := fileutil.OpenToRead(\"/proc/uptime\")\n\tif err != nil {\n\t\treturn Uptime{}, err\n\t}\n\tdefer f.Close()\n\n\tb, err := ioutil.ReadAll(f)\n\tif err != nil {\n\t\treturn Uptime{}, err\n\t}\n\tfields := strings.Fields(strings.TrimSpace(string(b)))\n\n\tu := Uptime{}\n\tif len(fields) > 0 {\n\t\tv, err := strconv.ParseFloat(fields[0], 64)\n\t\tif err != nil {\n\t\t\treturn Uptime{}, err\n\t\t}\n\t\tu.UptimeTotal = v\n\t\tu.UptimeTotalParsedTime = timeutil.HumanizeDurationSecond(uint64(v))\n\t}\n\tif len(fields) > 1 {\n\t\tv, err := strconv.ParseFloat(fields[1], 64)\n\t\tif err != nil {\n\t\t\treturn Uptime{}, err\n\t\t}\n\t\tu.UptimeIdle = v\n\t\tu.UptimeIdleParsedTime = timeutil.HumanizeDurationSecond(uint64(v))\n\t}\n\treturn u, nil\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/proc/utils.go",
    "content": "package proc\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n)\n\nfunc convertStatus(s string) string {\n\tns := strings.TrimSpace(s)\n\tif len(s) > 1 {\n\t\tns = ns[:1]\n\t}\n\tswitch ns {\n\tcase \"D\":\n\t\treturn \"D (uninterruptible sleep)\"\n\tcase \"R\":\n\t\treturn \"R (running)\"\n\tcase \"S\":\n\t\treturn \"S (sleeping)\"\n\tcase \"T\":\n\t\treturn \"T (stopped by job control signal)\"\n\tcase \"t\":\n\t\treturn \"t (stopped by debugger during trace)\"\n\tcase \"Z\":\n\t\treturn \"Z (zombie)\"\n\tdefault:\n\t\treturn fmt.Sprintf(\"unknown process %q\", s)\n\t}\n}\n\nfunc isInt(s string) bool {\n\t_, err := strconv.Atoi(s)\n\treturn err == nil\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/schema/schema.go",
    "content": "// Package schema represents linux-inspect schema.\npackage schema\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"strings\"\n)\n\n// Generate generates go struct text from given RawData.\nfunc Generate(raw RawData) string {\n\ttagstr := \"yaml\"\n\tif !raw.IsYAML {\n\t\ttagstr = \"column\"\n\t}\n\n\tbuf := new(bytes.Buffer)\n\tfor _, col := range raw.Columns {\n\t\tgoFieldName := ToField(col.Name)\n\t\tgoFieldTagName := col.Name\n\t\tif !raw.IsYAML {\n\t\t\tgoFieldTagName = ToFieldTag(goFieldTagName)\n\t\t}\n\t\tif col.Godoc != \"\" {\n\t\t\tbuf.WriteString(fmt.Sprintf(\"\\t// %s is %s.\\n\", goFieldName, col.Godoc))\n\t\t}\n\t\tbuf.WriteString(fmt.Sprintf(\"\\t%s\\t%s\\t`%s:\\\"%s\\\"`\\n\",\n\t\t\tgoFieldName,\n\t\t\tGoType(col.Kind),\n\t\t\ttagstr,\n\t\t\tgoFieldTagName,\n\t\t))\n\n\t\t// additional parsed column\n\t\tif v, ok := raw.ColumnsToParse[col.Name]; ok {\n\t\t\tswitch v {\n\t\t\tcase TypeInt64, TypeFloat64:\n\t\t\t\t// need no additional columns\n\n\t\t\tcase TypeBytes:\n\t\t\t\tntstr := \"uint64\"\n\t\t\t\tif col.Kind == reflect.Int64 {\n\t\t\t\t\tntstr = \"int64\"\n\t\t\t\t}\n\t\t\t\tbuf.WriteString(fmt.Sprintf(\"\\t%sBytesN\\t%s\\t`%s:\\\"%s_bytes_n\\\"`\\n\",\n\t\t\t\t\tgoFieldName,\n\t\t\t\t\tntstr,\n\t\t\t\t\ttagstr,\n\t\t\t\t\tgoFieldTagName,\n\t\t\t\t))\n\t\t\t\tbuf.WriteString(fmt.Sprintf(\"\\t%sParsedBytes\\tstring\\t`%s:\\\"%s_parsed_bytes\\\"`\\n\",\n\t\t\t\t\tgoFieldName,\n\t\t\t\t\ttagstr,\n\t\t\t\t\tgoFieldTagName,\n\t\t\t\t))\n\n\t\t\tcase TypeTimeMicroseconds, TypeTimeSeconds:\n\t\t\t\tbuf.WriteString(fmt.Sprintf(\"\\t%sParsedTime\\tstring\\t`%s:\\\"%s_parsed_time\\\"`\\n\",\n\t\t\t\t\tgoFieldName,\n\t\t\t\t\ttagstr,\n\t\t\t\t\tgoFieldTagName,\n\t\t\t\t))\n\n\t\t\tcase TypeIPAddress:\n\t\t\t\tbuf.WriteString(fmt.Sprintf(\"\\t%sParsedIPHost\\tstring\\t`%s:\\\"%s_parsed_ip_host\\\"`\\n\",\n\t\t\t\t\tgoFieldName,\n\t\t\t\t\ttagstr,\n\t\t\t\t\tgoFieldTagName,\n\t\t\t\t))\n\t\t\t\tbuf.WriteString(fmt.Sprintf(\"\\t%sParsedIPPort\\tint64\\t`%s:\\\"%s_parsed_ip_port\\\"`\\n\",\n\t\t\t\t\tgoFieldName,\n\t\t\t\t\ttagstr,\n\t\t\t\t\tgoFieldTagName,\n\t\t\t\t))\n\n\t\t\tcase TypeStatus:\n\t\t\t\tbuf.WriteString(fmt.Sprintf(\"\\t%sParsedStatus\\tstring\\t`%s:\\\"%s_parsed_status\\\"`\\n\",\n\t\t\t\t\tgoFieldName,\n\t\t\t\t\ttagstr,\n\t\t\t\t\tgoFieldTagName,\n\t\t\t\t))\n\n\t\t\tdefault:\n\t\t\t\tpanic(fmt.Errorf(\"unknown parse type %d\", raw.ColumnsToParse[col.Name]))\n\t\t\t}\n\t\t}\n\t}\n\n\treturn buf.String()\n}\n\n// RawDataType defines how the raw data bytes are defined.\ntype RawDataType int\n\nconst (\n\tTypeBytes RawDataType = iota\n\tTypeInt64\n\tTypeFloat64\n\tTypeTimeMicroseconds\n\tTypeTimeSeconds\n\tTypeIPAddress\n\tTypeStatus\n)\n\n// RawData defines 'proc' raw data.\ntype RawData struct {\n\t// IsYAML is true if raw data is parsable in YAML.\n\tIsYAML bool\n\n\tColumns        []Column\n\tColumnsToParse map[string]RawDataType\n}\n\n// Column represents the schema column.\ntype Column struct {\n\tName  string\n\tGodoc string\n\tKind  reflect.Kind\n}\n\n// ToField converts raw YAML key to Go field name.\nfunc ToField(s string) string {\n\ts = strings.Replace(s, \"-\", \"_\", -1)\n\ts = strings.Replace(s, \"/\", \"\", -1)\n\ts = strings.Replace(s, \">\", \"\", -1)\n\tcs := strings.Split(s, \"_\")\n\tvar ss []string\n\tfor _, v := range cs {\n\t\tif len(v) > 0 {\n\t\t\tss = append(ss, strings.Title(v))\n\t\t}\n\t}\n\treturn strings.TrimSpace(strings.Join(ss, \"\"))\n}\n\n// ToFieldTag converts raw key to field name.\nfunc ToFieldTag(s string) string {\n\ts = strings.ToLower(s)\n\ts = strings.Replace(s, \"-\", \"_\", -1)\n\ts = strings.Replace(s, \"/\", \"\", -1)\n\treturn strings.Replace(s, \">\", \"\", -1)\n}\n\n// GoType converts to Go type.\nfunc GoType(tp reflect.Kind) string {\n\tswitch tp {\n\tcase reflect.Float64:\n\t\treturn \"float64\"\n\tcase reflect.Uint64:\n\t\treturn \"uint64\"\n\tcase reflect.Int:\n\t\treturn \"int\"\n\tcase reflect.Int64:\n\t\treturn \"int64\"\n\tcase reflect.String:\n\t\treturn \"string\"\n\tdefault:\n\t\tpanic(fmt.Errorf(\"unknown type %q\", tp.String()))\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/top/doc.go",
    "content": "// Package top wraps Linux 'top' command.\npackage top\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/top/generated.go",
    "content": "package top\n\n// updated at 2017-12-21 12:15:58.06223 -0800 PST\n\n// Row represents a row in 'top' command output.\ntype Row struct {\n\t// PID is pid of the process.\n\tPID int64 `column:\"pid\"`\n\t// USER is user name.\n\tUSER string `column:\"user\"`\n\t// PR is priority.\n\tPR string `column:\"pr\"`\n\t// NI is nice value of the task.\n\tNI string `column:\"ni\"`\n\t// VIRT is total amount  of virtual memory used by the task (in KiB).\n\tVIRT            string `column:\"virt\"`\n\tVIRTBytesN      uint64 `column:\"virt_bytes_n\"`\n\tVIRTParsedBytes string `column:\"virt_parsed_bytes\"`\n\t// RES is non-swapped physical memory a task is using (in KiB).\n\tRES            string `column:\"res\"`\n\tRESBytesN      uint64 `column:\"res_bytes_n\"`\n\tRESParsedBytes string `column:\"res_parsed_bytes\"`\n\t// SHR is amount of shared memory available to a task, not all of which is typically resident (in KiB).\n\tSHR            string `column:\"shr\"`\n\tSHRBytesN      uint64 `column:\"shr_bytes_n\"`\n\tSHRParsedBytes string `column:\"shr_parsed_bytes\"`\n\t// S is process status.\n\tS             string `column:\"s\"`\n\tSParsedStatus string `column:\"s_parsed_status\"`\n\t// CPUPercent is %CPU.\n\tCPUPercent float64 `column:\"cpupercent\"`\n\t// MEMPercent is %MEM.\n\tMEMPercent float64 `column:\"mempercent\"`\n\t// TIME is CPU time (TIME+).\n\tTIME string `column:\"time\"`\n\t// COMMAND is command.\n\tCOMMAND string `column:\"command\"`\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/top/parse.go",
    "content": "package top\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n\n\thumanize \"github.com/dustin/go-humanize\"\n)\n\n// parses memory bytes in top command,\n// returns bytes in int64, and humanized bytes.\n//\n//  KiB = kibibyte = 1024 bytes\n//  MiB = mebibyte = 1024 KiB = 1,048,576 bytes\n//  GiB = gibibyte = 1024 MiB = 1,073,741,824 bytes\n//  TiB = tebibyte = 1024 GiB = 1,099,511,627,776 bytes\n//  PiB = pebibyte = 1024 TiB = 1,125,899,906,842,624 bytes\n//  EiB = exbibyte = 1024 PiB = 1,152,921,504,606,846,976 bytes\n//\nfunc parseMemoryTxt(s string) (bts uint64, hs string, err error) {\n\ts = strings.TrimSpace(s)\n\n\tswitch {\n\tcase strings.HasSuffix(s, \"m\"): // suffix 'm' means megabytes\n\t\tns := s[:len(s)-1]\n\t\tvar mib float64\n\t\tmib, err = strconv.ParseFloat(ns, 64)\n\t\tif err != nil {\n\t\t\treturn 0, \"\", err\n\t\t}\n\t\tbts = uint64(mib) * 1024 * 1024\n\n\tcase strings.HasSuffix(s, \"g\"): // gigabytes\n\t\tns := s[:len(s)-1]\n\t\tvar gib float64\n\t\tgib, err = strconv.ParseFloat(ns, 64)\n\t\tif err != nil {\n\t\t\treturn 0, \"\", err\n\t\t}\n\t\tbts = uint64(gib) * 1024 * 1024 * 1024\n\n\tcase strings.HasSuffix(s, \"t\"): // terabytes\n\t\tns := s[:len(s)-1]\n\t\tvar tib float64\n\t\ttib, err = strconv.ParseFloat(ns, 64)\n\t\tif err != nil {\n\t\t\treturn 0, \"\", err\n\t\t}\n\t\tbts = uint64(tib) * 1024 * 1024 * 1024 * 1024\n\n\tdefault:\n\t\tvar kib float64\n\t\tkib, err = strconv.ParseFloat(s, 64)\n\t\tif err != nil {\n\t\t\treturn 0, \"\", err\n\t\t}\n\t\tbts = uint64(kib) * 1024\n\t}\n\n\ths = humanize.Bytes(bts)\n\treturn\n}\n\n// Headers is the headers in 'top' output.\nvar Headers = []string{\n\t\"PID\",\n\t\"USER\",\n\t\"PR\",\n\t\"NI\",\n\t\"VIRT\",\n\t\"RES\",\n\t\"SHR\",\n\t\"S\",\n\t\"%CPU\",\n\t\"%MEM\",\n\t\"TIME+\",\n\t\"COMMAND\",\n}\n\ntype commandOutputRowIdx int\n\nconst (\n\tcommand_output_row_idx_pid commandOutputRowIdx = iota\n\tcommand_output_row_idx_user\n\tcommand_output_row_idx_pr\n\tcommand_output_row_idx_ni\n\tcommand_output_row_idx_virt\n\tcommand_output_row_idx_res\n\tcommand_output_row_idx_shr\n\tcommand_output_row_idx_s\n\tcommand_output_row_idx_cpu\n\tcommand_output_row_idx_mem\n\tcommand_output_row_idx_time\n\tcommand_output_row_idx_command\n)\n\nvar bytesToSkip = [][]byte{\n\t{116, 111, 112, 32, 45},                     // 'top -'\n\t{84, 97, 115, 107, 115, 58, 32},             // 'Tasks: '\n\t{37, 67, 112, 117, 40, 115, 41, 58, 32},     // '%Cpu(s): '\n\t{67, 112, 117, 40, 115, 41, 58, 32},         // 'Cpu(s): '\n\t{75, 105, 66, 32, 77, 101, 109, 32, 58, 32}, // 'KiB Mem : '\n\t{75, 105, 66, 32, 83, 119, 97, 112, 58, 32}, // 'KiB Swap: '\n\t{77, 101, 109, 58, 32},                      // 'Mem: '\n\t{83, 119, 97, 112, 58, 32},                  // 'Swap: '\n\t{80, 73, 68, 32},                            // 'PID '\n}\n\nfunc topRowToSkip(data []byte) bool {\n\tfor _, prefix := range bytesToSkip {\n\t\tif bytes.HasPrefix(data, prefix) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// Parse parses 'top' command output and returns the rows.\nfunc Parse(s string) ([]Row, error) {\n\tlines := strings.Split(s, \"\\n\")\n\trows := make([][]string, 0, len(lines))\n\tfor _, line := range lines {\n\t\tline = strings.TrimSpace(line)\n\t\tif len(line) == 0 {\n\t\t\tcontinue\n\t\t}\n\t\tif topRowToSkip([]byte(line)) {\n\t\t\tcontinue\n\t\t}\n\n\t\trow := strings.Fields(strings.TrimSpace(line))\n\t\tif len(row) != len(Headers) {\n\t\t\treturn nil, fmt.Errorf(\"unexpected row column number %v (expected %v)\", row, Headers)\n\t\t}\n\t\trows = append(rows, row)\n\t}\n\n\ttype result struct {\n\t\trow Row\n\t\terr error\n\t}\n\trc := make(chan result, len(rows))\n\tfor _, row := range rows {\n\t\tgo func(row []string) {\n\t\t\ttr, err := parseRow(row)\n\t\t\trc <- result{row: tr, err: err}\n\t\t}(row)\n\t}\n\n\ttcRows := make([]Row, 0, len(rows))\n\tfor len(tcRows) != len(rows) {\n\t\tselect {\n\t\tcase rs := <-rc:\n\t\t\tif rs.err != nil {\n\t\t\t\treturn nil, rs.err\n\t\t\t}\n\t\t\ttcRows = append(tcRows, rs.row)\n\t\t}\n\t}\n\treturn tcRows, nil\n}\n\nfunc parseRow(row []string) (Row, error) {\n\ttrow := Row{\n\t\tUSER: strings.TrimSpace(row[command_output_row_idx_user]),\n\t}\n\n\tpv, err := strconv.ParseInt(row[command_output_row_idx_pid], 10, 64)\n\tif err != nil {\n\t\treturn Row{}, fmt.Errorf(\"parse error %v (row %v)\", err, row)\n\t}\n\ttrow.PID = pv\n\n\ttrow.PR = strings.TrimSpace(row[command_output_row_idx_pr])\n\ttrow.NI = strings.TrimSpace(row[command_output_row_idx_ni])\n\n\tvirt, virtTxt, err := parseMemoryTxt(row[command_output_row_idx_virt])\n\tif err != nil {\n\t\treturn Row{}, fmt.Errorf(\"parse error %v (row %v)\", err, row)\n\t}\n\ttrow.VIRT = row[command_output_row_idx_virt]\n\ttrow.VIRTBytesN = virt\n\ttrow.VIRTParsedBytes = virtTxt\n\n\tres, resTxt, err := parseMemoryTxt(row[command_output_row_idx_res])\n\tif err != nil {\n\t\treturn Row{}, fmt.Errorf(\"parse error %v (row %v)\", err, row)\n\t}\n\ttrow.RES = row[command_output_row_idx_res]\n\ttrow.RESBytesN = res\n\ttrow.RESParsedBytes = resTxt\n\n\tshr, shrTxt, err := parseMemoryTxt(row[command_output_row_idx_shr])\n\tif err != nil {\n\t\treturn Row{}, fmt.Errorf(\"parse error %v (row %v)\", err, row)\n\t}\n\ttrow.SHR = row[command_output_row_idx_shr]\n\ttrow.SHRBytesN = shr\n\ttrow.SHRParsedBytes = shrTxt\n\n\ttrow.S = row[command_output_row_idx_s]\n\ttrow.SParsedStatus = parseStatus(row[command_output_row_idx_s])\n\n\tcnum, err := strconv.ParseFloat(row[command_output_row_idx_cpu], 64)\n\tif err != nil {\n\t\treturn Row{}, fmt.Errorf(\"parse error %v (row %v)\", err, row)\n\t}\n\ttrow.CPUPercent = cnum\n\n\tmnum, err := strconv.ParseFloat(row[command_output_row_idx_mem], 64)\n\tif err != nil {\n\t\treturn Row{}, fmt.Errorf(\"parse error %v (row %v)\", err, row)\n\t}\n\ttrow.MEMPercent = mnum\n\n\ttrow.TIME = row[command_output_row_idx_time]\n\n\treturn trow, nil\n}\n\nfunc parseStatus(s string) string {\n\tns := strings.TrimSpace(s)\n\tif len(s) > 1 {\n\t\tns = ns[:1]\n\t}\n\tswitch ns {\n\tcase \"D\":\n\t\treturn \"D (uninterruptible sleep)\"\n\tcase \"R\":\n\t\treturn \"R (running)\"\n\tcase \"S\":\n\t\treturn \"S (sleeping)\"\n\tcase \"T\":\n\t\treturn \"T (stopped by job control signal)\"\n\tcase \"t\":\n\t\treturn \"t (stopped by debugger during trace)\"\n\tcase \"Z\":\n\t\treturn \"Z (zombie)\"\n\tdefault:\n\t\treturn fmt.Sprintf(\"unknown process %q\", s)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/top/schema.go",
    "content": "package top\n\nimport (\n\t\"reflect\"\n\n\t\"github.com/gyuho/linux-inspect/schema\"\n)\n\n// RowSchema represents a row in 'top' command output.\n// Reference http://man7.org/linux/man-pages/man1/top.1.html.\nvar RowSchema = schema.RawData{\n\tIsYAML: false,\n\tColumns: []schema.Column{\n\t\t{Name: \"PID\", Godoc: \"pid of the process\", Kind: reflect.Int64},\n\t\t{Name: \"USER\", Godoc: \"user name\", Kind: reflect.String},\n\t\t{Name: \"PR\", Godoc: \"priority\", Kind: reflect.String},\n\t\t{Name: \"NI\", Godoc: \"nice value of the task\", Kind: reflect.String},\n\t\t{Name: \"VIRT\", Godoc: \"total amount  of virtual memory used by the task (in KiB)\", Kind: reflect.String},\n\t\t{Name: \"RES\", Godoc: \"non-swapped physical memory a task is using (in KiB)\", Kind: reflect.String},\n\t\t{Name: \"SHR\", Godoc: \"amount of shared memory available to a task, not all of which is typically resident (in KiB)\", Kind: reflect.String},\n\t\t{Name: \"S\", Godoc: \"process status\", Kind: reflect.String},\n\t\t{Name: \"CPUPercent\", Godoc: \"%CPU\", Kind: reflect.Float64},\n\t\t{Name: \"MEMPercent\", Godoc: \"%MEM\", Kind: reflect.Float64},\n\t\t{Name: \"TIME\", Godoc: \"CPU time (TIME+)\", Kind: reflect.String},\n\t\t{Name: \"COMMAND\", Godoc: \"command\", Kind: reflect.String},\n\t},\n\tColumnsToParse: map[string]schema.RawDataType{\n\t\t\"S\":    schema.TypeStatus,\n\t\t\"VIRT\": schema.TypeBytes,\n\t\t\"RES\":  schema.TypeBytes,\n\t\t\"SHR\":  schema.TypeBytes,\n\t},\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/top/stream.go",
    "content": "package top\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"os\"\n\t\"os/exec\"\n\t\"strings\"\n\t\"sync\"\n\n\t\"github.com/kr/pty\"\n)\n\n// Stream provides top command output stream.\ntype Stream struct {\n\tcmd *exec.Cmd\n\n\tpmu sync.Mutex\n\tpt  *os.File\n\n\t// broadcast updates whenver available available\n\twg      sync.WaitGroup\n\trcond   *sync.Cond\n\trmu     sync.RWMutex // protect results\n\tqueue   []Row\n\tpid2Row map[int64]Row\n\terr     error\n\terrc    chan error\n\n\t// signal only once at initial, once the first line is ready\n\treadymu sync.Mutex\n\tready   bool\n\treadyc  chan struct{}\n}\n\n// StartStream starts 'top' command stream.\nfunc (cfg *Config) StartStream() (*Stream, error) {\n\tif err := cfg.createCmd(); err != nil {\n\t\treturn nil, err\n\t}\n\tpt, err := pty.Start(cfg.cmd)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tstr := &Stream{\n\t\tcmd: cfg.cmd,\n\n\t\tpmu: sync.Mutex{},\n\t\tpt:  pt,\n\n\t\twg:  sync.WaitGroup{},\n\t\trmu: sync.RWMutex{},\n\n\t\t// pre-allocate\n\t\tqueue:   make([]Row, 0, 500),\n\t\tpid2Row: make(map[int64]Row, 500),\n\t\terr:     nil,\n\t\terrc:    make(chan error, 1),\n\n\t\tready:  false,\n\t\treadyc: make(chan struct{}, 1),\n\t}\n\tstr.rcond = sync.NewCond(&str.rmu)\n\n\tstr.wg.Add(1)\n\tgo str.enqueue()\n\tgo str.dequeue()\n\n\t<-str.readyc\n\treturn str, nil\n}\n\n// Stop kills the 'top' process and waits for it to exit.\nfunc (str *Stream) Stop() error {\n\treturn str.close(true)\n}\n\n// Wait just waits for the 'top' process to exit.\nfunc (str *Stream) Wait() error {\n\treturn str.close(false)\n}\n\n// ErrChan returns the error from stream.\nfunc (str *Stream) ErrChan() <-chan error {\n\treturn str.errc\n}\n\n// Latest returns the latest top command outputs.\nfunc (str *Stream) Latest() map[int64]Row {\n\tstr.rmu.RLock()\n\tcm := make(map[int64]Row, len(str.pid2Row))\n\tfor k, v := range str.pid2Row {\n\t\tcm[k] = v\n\t}\n\tstr.rmu.RUnlock()\n\treturn cm\n}\n\nfunc (str *Stream) noError() (noErr bool) {\n\tstr.rmu.RLock()\n\tnoErr = str.err == nil\n\tstr.rmu.RUnlock()\n\treturn\n}\n\n// feed new top results into the queue\nfunc (str *Stream) enqueue() {\n\tdefer str.wg.Done()\n\treader := bufio.NewReader(str.pt)\n\tfor str.noError() {\n\t\t// lock for pty\n\t\tstr.pmu.Lock()\n\t\tdata, _, lerr := reader.ReadLine()\n\t\tstr.pmu.Unlock()\n\n\t\tdata = bytes.TrimSpace(data)\n\t\tif topRowToSkip(data) {\n\t\t\tcontinue\n\t\t}\n\t\tline := string(data)\n\n\t\t// lock for results\n\t\tstr.rmu.Lock()\n\n\t\tstr.err = lerr\n\t\tif line == \"\" {\n\t\t\tstr.rmu.Unlock()\n\t\t\tcontinue\n\t\t}\n\n\t\trow := strings.Fields(line)\n\t\tif len(row) != len(Headers) {\n\t\t\tstr.rmu.Unlock()\n\t\t\tcontinue\n\t\t}\n\n\t\tr, rerr := parseRow(row)\n\t\tif rerr != nil {\n\t\t\tstr.err = rerr\n\t\t\tstr.rmu.Unlock()\n\t\t\tcontinue\n\t\t}\n\n\t\tstr.queue = append(str.queue, r)\n\t\tif len(str.queue) == 1 {\n\t\t\t// we have a new output; signal!\n\t\t\tstr.rcond.Signal()\n\t\t}\n\t\tstr.rmu.Unlock()\n\t}\n\n\t// we got error; signal!\n\tstr.rcond.Signal()\n}\n\n// dequeue polls from 'top' process.\n// And signals error channel if any.\nfunc (str *Stream) dequeue() {\n\tstr.rmu.Lock()\n\tfor {\n\t\t// wait until there's output\n\t\tfor len(str.queue) == 0 && str.err == nil {\n\t\t\tstr.rcond.Wait()\n\t\t}\n\n\t\t// no output; should be error\n\t\tif len(str.queue) == 0 {\n\t\t\tbreak\n\t\t}\n\n\t\trow := str.queue[0]\n\t\tstr.queue = str.queue[1:]\n\n\t\tstr.pid2Row[row.PID] = row\n\n\t\ttoc := false\n\t\tstr.readymu.Lock()\n\t\tif !str.ready {\n\t\t\tstr.ready = true\n\t\t\ttoc = true\n\t\t}\n\t\tstr.readymu.Unlock()\n\t\tif toc {\n\t\t\tclose(str.readyc)\n\t\t}\n\t}\n\tif expectedErr(str.err) {\n\t\tstr.err = nil\n\t}\n\tif str.err != nil {\n\t\tstr.errc <- str.err\n\t}\n\tstr.rmu.Unlock()\n}\n\nfunc (str *Stream) close(kill bool) (err error) {\n\tif str.cmd == nil {\n\t\treturn str.err\n\t}\n\tif kill {\n\t\tstr.cmd.Process.Kill()\n\t}\n\n\terr = str.cmd.Wait()\n\n\tstr.pmu.Lock()\n\tstr.pt.Close() // close file\n\tstr.pmu.Unlock()\n\n\tstr.wg.Wait()\n\n\tif err != nil {\n\t\tif !kill && strings.Contains(err.Error(), \"exit status\") {\n\t\t\terr = nil // non-zero exit code\n\t\t} else if kill && expectedErr(err) {\n\t\t\terr = nil\n\t\t}\n\t}\n\tstr.cmd = nil\n\treturn err\n}\n\nfunc expectedErr(err error) bool {\n\tif err == nil {\n\t\treturn true\n\t}\n\tes := err.Error()\n\treturn strings.Contains(es, \"signal:\") ||\n\t\tstrings.Contains(es, \"/dev/ptmx: input/output error\") ||\n\t\tstrings.Contains(es, \"/dev/ptmx: file already closed\")\n}\n"
  },
  {
    "path": "vendor/github.com/gyuho/linux-inspect/top/top.go",
    "content": "package top\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"os/exec\"\n\n\t\"github.com/gyuho/linux-inspect/pkg/fileutil\"\n)\n\n// DefaultExecPath is the default 'top' command path.\nvar DefaultExecPath = \"/usr/bin/top\"\n\n// Config configures 'top' command runs.\ntype Config struct {\n\t// Exec is the 'top' command path.\n\t// Defaults to '/usr/bin/top'.\n\tExec string\n\n\t// MAKE THIS TRUE BY DEFAULT\n\t// OTHERWISE PARSER HAS TO DEAL WITH HIGHLIGHTED TEXTS\n\t//\n\t// BatchMode is true to start 'top' in batch mode, which could be useful\n\t// for sending output from 'top' to other programs or to a file.\n\t// In this mode, 'top' will not accept input and runs until the interations\n\t// limit ('-n' flag) or until killed.\n\t// It's '-b' flag.\n\t// BatchMode bool\n\n\t// Limit limits the iteration of 'top' commands to run before exit.\n\t// If 1, 'top' prints out the current processes and exits.\n\t// It's '-n' flag.\n\tLimit int\n\n\t// IntervalSecond is the delay time between updates.\n\t// Default is 1 second.\n\t// It's '-d' flag.\n\tIntervalSecond float64\n\n\t// PID specifies the PID to monitor.\n\t// It's '-p' flag.\n\tPID int64\n\n\t// Writer stores 'top' command outputs.\n\tWriter io.Writer\n\n\tcmd *exec.Cmd\n}\n\n// Flags returns the 'top' command flags.\nfunc (cfg *Config) Flags() (fs []string) {\n\t// start 'top' in batch mode, which could be useful\n\t// for sending output from 'top' to other programs or to a file.\n\t// In this mode, 'top' will not accept input and runs until the interations\n\t// limit ('-n' flag) or until killed.\n\t//\n\t// MAKE THIS TRUE BY DEFAULT\n\t// OTHERWISE PARSER HAS TO DEAL WITH HIGHLIGHTED TEXTS\n\tfs = append(fs, \"-b\")\n\n\tif cfg.Limit > 0 { // if 1, command just exists after one output\n\t\tfs = append(fs, \"-n\", fmt.Sprintf(\"%d\", cfg.Limit))\n\t}\n\n\tif cfg.IntervalSecond > 0 {\n\t\tfs = append(fs, \"-d\", fmt.Sprintf(\"%.2f\", cfg.IntervalSecond))\n\t}\n\n\tif cfg.PID > 0 {\n\t\tfs = append(fs, \"-p\", fmt.Sprintf(\"%d\", cfg.PID))\n\t}\n\n\treturn\n}\n\n// process updates with '*exec.Cmd' for the given 'Config'.\nfunc (cfg *Config) createCmd() error {\n\tif cfg == nil {\n\t\treturn fmt.Errorf(\"Config is nil\")\n\t}\n\tif !fileutil.Exist(cfg.Exec) {\n\t\treturn fmt.Errorf(\"%q does not exist\", cfg.Exec)\n\t}\n\tflags := cfg.Flags()\n\n\tc := exec.Command(cfg.Exec, flags...)\n\tc.Stdout = cfg.Writer\n\tc.Stderr = cfg.Writer\n\n\tcfg.cmd = c\n\treturn nil\n}\n\n// Get returns all entries in 'top' command.\n// If pid<1, it reads all processes in 'top' command.\n// This is one-time command.\nfunc Get(topPath string, pid int64) ([]Row, error) {\n\tbuf := new(bytes.Buffer)\n\tcfg := &Config{\n\t\tExec:           topPath,\n\t\tLimit:          1,\n\t\tIntervalSecond: 1,\n\t\tPID:            pid,\n\t\tWriter:         buf,\n\t\tcmd:            nil,\n\t}\n\tif cfg.Exec == \"\" {\n\t\tcfg.Exec = topPath\n\t}\n\tif err := cfg.createCmd(); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// run starts the 'top' command and waits for it to complete.\n\tif err := cfg.cmd.Run(); err != nil {\n\t\treturn nil, err\n\t}\n\treturn Parse(buf.String())\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/LICENSE",
    "content": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. “Contributor”\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. “Contributor Version”\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor’s Contribution.\n\n1.3. “Contribution”\n\n     means Covered Software of a particular Contributor.\n\n1.4. “Covered Software”\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. “Incompatible With Secondary Licenses”\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of version\n        1.1 or earlier of the License, but not also under the terms of a\n        Secondary License.\n\n1.6. “Executable Form”\n\n     means any form of the work other than Source Code Form.\n\n1.7. “Larger Work”\n\n     means a work that combines Covered Software with other material, in a separate\n     file or files, that is not Covered Software.\n\n1.8. “License”\n\n     means this document.\n\n1.9. “Licensable”\n\n     means having the right to grant, to the maximum extent possible, whether at the\n     time of the initial grant or subsequently, any and all of the rights conveyed by\n     this License.\n\n1.10. “Modifications”\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to, deletion\n        from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. “Patent Claims” of a Contributor\n\n      means any patent claim(s), including without limitation, method, process,\n      and apparatus claims, in any patent Licensable by such Contributor that\n      would be infringed, but for the grant of the License, by the making,\n      using, selling, offering for sale, having made, import, or transfer of\n      either its Contributions or its Contributor Version.\n\n1.12. “Secondary License”\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. “Source Code Form”\n\n      means the form of the work preferred for making modifications.\n\n1.14. “You” (or “Your”)\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, “You” includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, “control” means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or as\n        part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its Contributions\n        or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution become\n     effective for each Contribution on the date the Contributor first distributes\n     such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under this\n     License. No additional rights or licenses will be implied from the distribution\n     or licensing of Covered Software under this License. Notwithstanding Section\n     2.1(b) above, no patent license is granted by a Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party’s\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of its\n        Contributions.\n\n     This License does not grant any rights in the trademarks, service marks, or\n     logos of any Contributor (except as may be necessary to comply with the\n     notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this License\n     (see Section 10.2) or under the terms of a Secondary License (if permitted\n     under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its Contributions\n     are its original creation(s) or it has sufficient rights to grant the\n     rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under applicable\n     copyright doctrines of fair use, fair dealing, or other equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under the\n     terms of this License. You must inform recipients that the Source Code Form\n     of the Covered Software is governed by the terms of this License, and how\n     they can obtain a copy of this License. You may not attempt to alter or\n     restrict the recipients’ rights in the Source Code Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this License,\n        or sublicense it under different terms, provided that the license for\n        the Executable Form does not attempt to limit or alter the recipients’\n        rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for the\n     Covered Software. If the Larger Work is a combination of Covered Software\n     with a work governed by one or more Secondary Licenses, and the Covered\n     Software is not Incompatible With Secondary Licenses, this License permits\n     You to additionally distribute such Covered Software under the terms of\n     such Secondary License(s), so that the recipient of the Larger Work may, at\n     their option, further distribute the Covered Software under the terms of\n     either this License or such Secondary License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices (including\n     copyright notices, patent notices, disclaimers of warranty, or limitations\n     of liability) contained within the Source Code Form of the Covered\n     Software, except that You may alter any license notices to the extent\n     required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on behalf\n     of any Contributor. You must make it absolutely clear that any such\n     warranty, support, indemnity, or liability obligation is offered by You\n     alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute, judicial\n   order, or regulation then You must: (a) comply with the terms of this License\n   to the maximum extent possible; and (b) describe the limitations and the code\n   they affect. Such description must be placed in a text file included with all\n   distributions of the Covered Software under this License. Except to the\n   extent prohibited by statute or regulation, such description must be\n   sufficiently detailed for a recipient of ordinary skill to be able to\n   understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing basis,\n     if such Contributor fails to notify You of the non-compliance by some\n     reasonable means prior to 60 days after You have come back into compliance.\n     Moreover, Your grants from a particular Contributor are reinstated on an\n     ongoing basis if such Contributor notifies You of the non-compliance by\n     some reasonable means, this is the first time You have received notice of\n     non-compliance with this License from such Contributor, and You become\n     compliant prior to 30 days after Your receipt of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions, counter-claims,\n     and cross-claims) alleging that a Contributor Version directly or\n     indirectly infringes any patent, then the rights granted to You by any and\n     all Contributors for the Covered Software under Section 2.1 of this License\n     shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an “as is” basis, without\n   warranty of any kind, either expressed, implied, or statutory, including,\n   without limitation, warranties that the Covered Software is free of defects,\n   merchantable, fit for a particular purpose or non-infringing. The entire\n   risk as to the quality and performance of the Covered Software is with You.\n   Should any Covered Software prove defective in any respect, You (not any\n   Contributor) assume the cost of any necessary servicing, repair, or\n   correction. This disclaimer of warranty constitutes an essential part of this\n   License. No use of  any Covered Software is authorized under this License\n   except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from such\n   party’s negligence to the extent applicable law prohibits such limitation.\n   Some jurisdictions do not allow the exclusion or limitation of incidental or\n   consequential damages, so this exclusion and limitation may not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts of\n   a jurisdiction where the defendant maintains its principal place of business\n   and such litigation shall be governed by laws of that jurisdiction, without\n   reference to its conflict-of-law provisions. Nothing in this Section shall\n   prevent a party’s ability to bring cross-claims or counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject matter\n   hereof. If any provision of this License is held to be unenforceable, such\n   provision shall be reformed only to the extent necessary to make it\n   enforceable. Any law or regulation which provides that the language of a\n   contract shall be construed against the drafter shall not be used to construe\n   this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version of\n      the License under which You originally received the Covered Software, or\n      under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a modified\n      version of this License if you rename the license and remove any\n      references to the name of the license steward (except to note that such\n      modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses\n      If You choose to distribute Source Code Form that is Incompatible With\n      Secondary Licenses under the terms of this version of the License, the\n      notice described in Exhibit B of this License must be attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file, then\nYou may include the notice in a location (such as a LICENSE file in a relevant\ndirectory) where a recipient would be likely to look for such a notice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - “Incompatible With Secondary Licenses” Notice\n\n      This Source Code Form is “Incompatible\n      With Secondary Licenses”, as defined by\n      the Mozilla Public License, v. 2.0.\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/acl.go",
    "content": "package api\n\nimport (\n\t\"time\"\n)\n\nconst (\n\t// ACLCLientType is the client type token\n\tACLClientType = \"client\"\n\n\t// ACLManagementType is the management type token\n\tACLManagementType = \"management\"\n)\n\n// ACLEntry is used to represent an ACL entry\ntype ACLEntry struct {\n\tCreateIndex uint64\n\tModifyIndex uint64\n\tID          string\n\tName        string\n\tType        string\n\tRules       string\n}\n\n// ACLReplicationStatus is used to represent the status of ACL replication.\ntype ACLReplicationStatus struct {\n\tEnabled          bool\n\tRunning          bool\n\tSourceDatacenter string\n\tReplicatedIndex  uint64\n\tLastSuccess      time.Time\n\tLastError        time.Time\n}\n\n// ACL can be used to query the ACL endpoints\ntype ACL struct {\n\tc *Client\n}\n\n// ACL returns a handle to the ACL endpoints\nfunc (c *Client) ACL() *ACL {\n\treturn &ACL{c}\n}\n\n// Bootstrap is used to perform a one-time ACL bootstrap operation on a cluster\n// to get the first management token.\nfunc (a *ACL) Bootstrap() (string, *WriteMeta, error) {\n\tr := a.c.newRequest(\"PUT\", \"/v1/acl/bootstrap\")\n\trtt, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn \"\", nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{RequestTime: rtt}\n\tvar out struct{ ID string }\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn \"\", nil, err\n\t}\n\treturn out.ID, wm, nil\n}\n\n// Create is used to generate a new token with the given parameters\nfunc (a *ACL) Create(acl *ACLEntry, q *WriteOptions) (string, *WriteMeta, error) {\n\tr := a.c.newRequest(\"PUT\", \"/v1/acl/create\")\n\tr.setWriteOptions(q)\n\tr.obj = acl\n\trtt, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn \"\", nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{RequestTime: rtt}\n\tvar out struct{ ID string }\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn \"\", nil, err\n\t}\n\treturn out.ID, wm, nil\n}\n\n// Update is used to update the rules of an existing token\nfunc (a *ACL) Update(acl *ACLEntry, q *WriteOptions) (*WriteMeta, error) {\n\tr := a.c.newRequest(\"PUT\", \"/v1/acl/update\")\n\tr.setWriteOptions(q)\n\tr.obj = acl\n\trtt, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{RequestTime: rtt}\n\treturn wm, nil\n}\n\n// Destroy is used to destroy a given ACL token ID\nfunc (a *ACL) Destroy(id string, q *WriteOptions) (*WriteMeta, error) {\n\tr := a.c.newRequest(\"PUT\", \"/v1/acl/destroy/\"+id)\n\tr.setWriteOptions(q)\n\trtt, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tresp.Body.Close()\n\n\twm := &WriteMeta{RequestTime: rtt}\n\treturn wm, nil\n}\n\n// Clone is used to return a new token cloned from an existing one\nfunc (a *ACL) Clone(id string, q *WriteOptions) (string, *WriteMeta, error) {\n\tr := a.c.newRequest(\"PUT\", \"/v1/acl/clone/\"+id)\n\tr.setWriteOptions(q)\n\trtt, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn \"\", nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{RequestTime: rtt}\n\tvar out struct{ ID string }\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn \"\", nil, err\n\t}\n\treturn out.ID, wm, nil\n}\n\n// Info is used to query for information about an ACL token\nfunc (a *ACL) Info(id string, q *QueryOptions) (*ACLEntry, *QueryMeta, error) {\n\tr := a.c.newRequest(\"GET\", \"/v1/acl/info/\"+id)\n\tr.setQueryOptions(q)\n\trtt, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar entries []*ACLEntry\n\tif err := decodeBody(resp, &entries); err != nil {\n\t\treturn nil, nil, err\n\t}\n\tif len(entries) > 0 {\n\t\treturn entries[0], qm, nil\n\t}\n\treturn nil, qm, nil\n}\n\n// List is used to get all the ACL tokens\nfunc (a *ACL) List(q *QueryOptions) ([]*ACLEntry, *QueryMeta, error) {\n\tr := a.c.newRequest(\"GET\", \"/v1/acl/list\")\n\tr.setQueryOptions(q)\n\trtt, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar entries []*ACLEntry\n\tif err := decodeBody(resp, &entries); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn entries, qm, nil\n}\n\n// Replication returns the status of the ACL replication process in the datacenter\nfunc (a *ACL) Replication(q *QueryOptions) (*ACLReplicationStatus, *QueryMeta, error) {\n\tr := a.c.newRequest(\"GET\", \"/v1/acl/replication\")\n\tr.setQueryOptions(q)\n\trtt, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar entries *ACLReplicationStatus\n\tif err := decodeBody(resp, &entries); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn entries, qm, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/agent.go",
    "content": "package api\n\nimport (\n\t\"bufio\"\n\t\"fmt\"\n)\n\n// AgentCheck represents a check known to the agent\ntype AgentCheck struct {\n\tNode        string\n\tCheckID     string\n\tName        string\n\tStatus      string\n\tNotes       string\n\tOutput      string\n\tServiceID   string\n\tServiceName string\n\tDefinition  HealthCheckDefinition\n}\n\n// AgentService represents a service known to the agent\ntype AgentService struct {\n\tID                string\n\tService           string\n\tTags              []string\n\tPort              int\n\tAddress           string\n\tEnableTagOverride bool\n\tCreateIndex       uint64\n\tModifyIndex       uint64\n}\n\n// AgentMember represents a cluster member known to the agent\ntype AgentMember struct {\n\tName        string\n\tAddr        string\n\tPort        uint16\n\tTags        map[string]string\n\tStatus      int\n\tProtocolMin uint8\n\tProtocolMax uint8\n\tProtocolCur uint8\n\tDelegateMin uint8\n\tDelegateMax uint8\n\tDelegateCur uint8\n}\n\n// AllSegments is used to select for all segments in MembersOpts.\nconst AllSegments = \"_all\"\n\n// MembersOpts is used for querying member information.\ntype MembersOpts struct {\n\t// WAN is whether to show members from the WAN.\n\tWAN bool\n\n\t// Segment is the LAN segment to show members for. Setting this to the\n\t// AllSegments value above will show members in all segments.\n\tSegment string\n}\n\n// AgentServiceRegistration is used to register a new service\ntype AgentServiceRegistration struct {\n\tID                string   `json:\",omitempty\"`\n\tName              string   `json:\",omitempty\"`\n\tTags              []string `json:\",omitempty\"`\n\tPort              int      `json:\",omitempty\"`\n\tAddress           string   `json:\",omitempty\"`\n\tEnableTagOverride bool     `json:\",omitempty\"`\n\tCheck             *AgentServiceCheck\n\tChecks            AgentServiceChecks\n}\n\n// AgentCheckRegistration is used to register a new check\ntype AgentCheckRegistration struct {\n\tID        string `json:\",omitempty\"`\n\tName      string `json:\",omitempty\"`\n\tNotes     string `json:\",omitempty\"`\n\tServiceID string `json:\",omitempty\"`\n\tAgentServiceCheck\n}\n\n// AgentServiceCheck is used to define a node or service level check\ntype AgentServiceCheck struct {\n\tArgs              []string            `json:\"ScriptArgs,omitempty\"`\n\tScript            string              `json:\",omitempty\"` // Deprecated, use Args.\n\tDockerContainerID string              `json:\",omitempty\"`\n\tShell             string              `json:\",omitempty\"` // Only supported for Docker.\n\tInterval          string              `json:\",omitempty\"`\n\tTimeout           string              `json:\",omitempty\"`\n\tTTL               string              `json:\",omitempty\"`\n\tHTTP              string              `json:\",omitempty\"`\n\tHeader            map[string][]string `json:\",omitempty\"`\n\tMethod            string              `json:\",omitempty\"`\n\tTCP               string              `json:\",omitempty\"`\n\tStatus            string              `json:\",omitempty\"`\n\tNotes             string              `json:\",omitempty\"`\n\tTLSSkipVerify     bool                `json:\",omitempty\"`\n\n\t// In Consul 0.7 and later, checks that are associated with a service\n\t// may also contain this optional DeregisterCriticalServiceAfter field,\n\t// which is a timeout in the same Go time format as Interval and TTL. If\n\t// a check is in the critical state for more than this configured value,\n\t// then its associated service (and all of its associated checks) will\n\t// automatically be deregistered.\n\tDeregisterCriticalServiceAfter string `json:\",omitempty\"`\n}\ntype AgentServiceChecks []*AgentServiceCheck\n\n// AgentToken is used when updating ACL tokens for an agent.\ntype AgentToken struct {\n\tToken string\n}\n\n// Metrics info is used to store different types of metric values from the agent.\ntype MetricsInfo struct {\n\tTimestamp string\n\tGauges    []GaugeValue\n\tPoints    []PointValue\n\tCounters  []SampledValue\n\tSamples   []SampledValue\n}\n\n// GaugeValue stores one value that is updated as time goes on, such as\n// the amount of memory allocated.\ntype GaugeValue struct {\n\tName   string\n\tValue  float32\n\tLabels map[string]string\n}\n\n// PointValue holds a series of points for a metric.\ntype PointValue struct {\n\tName   string\n\tPoints []float32\n}\n\n// SampledValue stores info about a metric that is incremented over time,\n// such as the number of requests to an HTTP endpoint.\ntype SampledValue struct {\n\tName   string\n\tCount  int\n\tSum    float64\n\tMin    float64\n\tMax    float64\n\tMean   float64\n\tStddev float64\n\tLabels map[string]string\n}\n\n// Agent can be used to query the Agent endpoints\ntype Agent struct {\n\tc *Client\n\n\t// cache the node name\n\tnodeName string\n}\n\n// Agent returns a handle to the agent endpoints\nfunc (c *Client) Agent() *Agent {\n\treturn &Agent{c: c}\n}\n\n// Self is used to query the agent we are speaking to for\n// information about itself\nfunc (a *Agent) Self() (map[string]map[string]interface{}, error) {\n\tr := a.c.newRequest(\"GET\", \"/v1/agent/self\")\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar out map[string]map[string]interface{}\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Metrics is used to query the agent we are speaking to for\n// its current internal metric data\nfunc (a *Agent) Metrics() (*MetricsInfo, error) {\n\tr := a.c.newRequest(\"GET\", \"/v1/agent/metrics\")\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar out *MetricsInfo\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Reload triggers a configuration reload for the agent we are connected to.\nfunc (a *Agent) Reload() error {\n\tr := a.c.newRequest(\"PUT\", \"/v1/agent/reload\")\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// NodeName is used to get the node name of the agent\nfunc (a *Agent) NodeName() (string, error) {\n\tif a.nodeName != \"\" {\n\t\treturn a.nodeName, nil\n\t}\n\tinfo, err := a.Self()\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tname := info[\"Config\"][\"NodeName\"].(string)\n\ta.nodeName = name\n\treturn name, nil\n}\n\n// Checks returns the locally registered checks\nfunc (a *Agent) Checks() (map[string]*AgentCheck, error) {\n\tr := a.c.newRequest(\"GET\", \"/v1/agent/checks\")\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar out map[string]*AgentCheck\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Services returns the locally registered services\nfunc (a *Agent) Services() (map[string]*AgentService, error) {\n\tr := a.c.newRequest(\"GET\", \"/v1/agent/services\")\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar out map[string]*AgentService\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Members returns the known gossip members. The WAN\n// flag can be used to query a server for WAN members.\nfunc (a *Agent) Members(wan bool) ([]*AgentMember, error) {\n\tr := a.c.newRequest(\"GET\", \"/v1/agent/members\")\n\tif wan {\n\t\tr.params.Set(\"wan\", \"1\")\n\t}\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar out []*AgentMember\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// MembersOpts returns the known gossip members and can be passed\n// additional options for WAN/segment filtering.\nfunc (a *Agent) MembersOpts(opts MembersOpts) ([]*AgentMember, error) {\n\tr := a.c.newRequest(\"GET\", \"/v1/agent/members\")\n\tr.params.Set(\"segment\", opts.Segment)\n\tif opts.WAN {\n\t\tr.params.Set(\"wan\", \"1\")\n\t}\n\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar out []*AgentMember\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// ServiceRegister is used to register a new service with\n// the local agent\nfunc (a *Agent) ServiceRegister(service *AgentServiceRegistration) error {\n\tr := a.c.newRequest(\"PUT\", \"/v1/agent/service/register\")\n\tr.obj = service\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// ServiceDeregister is used to deregister a service with\n// the local agent\nfunc (a *Agent) ServiceDeregister(serviceID string) error {\n\tr := a.c.newRequest(\"PUT\", \"/v1/agent/service/deregister/\"+serviceID)\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// PassTTL is used to set a TTL check to the passing state.\n//\n// DEPRECATION NOTICE: This interface is deprecated in favor of UpdateTTL().\n// The client interface will be removed in 0.8 or changed to use\n// UpdateTTL()'s endpoint and the server endpoints will be removed in 0.9.\nfunc (a *Agent) PassTTL(checkID, note string) error {\n\treturn a.updateTTL(checkID, note, \"pass\")\n}\n\n// WarnTTL is used to set a TTL check to the warning state.\n//\n// DEPRECATION NOTICE: This interface is deprecated in favor of UpdateTTL().\n// The client interface will be removed in 0.8 or changed to use\n// UpdateTTL()'s endpoint and the server endpoints will be removed in 0.9.\nfunc (a *Agent) WarnTTL(checkID, note string) error {\n\treturn a.updateTTL(checkID, note, \"warn\")\n}\n\n// FailTTL is used to set a TTL check to the failing state.\n//\n// DEPRECATION NOTICE: This interface is deprecated in favor of UpdateTTL().\n// The client interface will be removed in 0.8 or changed to use\n// UpdateTTL()'s endpoint and the server endpoints will be removed in 0.9.\nfunc (a *Agent) FailTTL(checkID, note string) error {\n\treturn a.updateTTL(checkID, note, \"fail\")\n}\n\n// updateTTL is used to update the TTL of a check. This is the internal\n// method that uses the old API that's present in Consul versions prior to\n// 0.6.4. Since Consul didn't have an analogous \"update\" API before it seemed\n// ok to break this (former) UpdateTTL in favor of the new UpdateTTL below,\n// but keep the old Pass/Warn/Fail methods using the old API under the hood.\n//\n// DEPRECATION NOTICE: This interface is deprecated in favor of UpdateTTL().\n// The client interface will be removed in 0.8 and the server endpoints will\n// be removed in 0.9.\nfunc (a *Agent) updateTTL(checkID, note, status string) error {\n\tswitch status {\n\tcase \"pass\":\n\tcase \"warn\":\n\tcase \"fail\":\n\tdefault:\n\t\treturn fmt.Errorf(\"Invalid status: %s\", status)\n\t}\n\tendpoint := fmt.Sprintf(\"/v1/agent/check/%s/%s\", status, checkID)\n\tr := a.c.newRequest(\"PUT\", endpoint)\n\tr.params.Set(\"note\", note)\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// checkUpdate is the payload for a PUT for a check update.\ntype checkUpdate struct {\n\t// Status is one of the api.Health* states: HealthPassing\n\t// (\"passing\"), HealthWarning (\"warning\"), or HealthCritical\n\t// (\"critical\").\n\tStatus string\n\n\t// Output is the information to post to the UI for operators as the\n\t// output of the process that decided to hit the TTL check. This is\n\t// different from the note field that's associated with the check\n\t// itself.\n\tOutput string\n}\n\n// UpdateTTL is used to update the TTL of a check. This uses the newer API\n// that was introduced in Consul 0.6.4 and later. We translate the old status\n// strings for compatibility (though a newer version of Consul will still be\n// required to use this API).\nfunc (a *Agent) UpdateTTL(checkID, output, status string) error {\n\tswitch status {\n\tcase \"pass\", HealthPassing:\n\t\tstatus = HealthPassing\n\tcase \"warn\", HealthWarning:\n\t\tstatus = HealthWarning\n\tcase \"fail\", HealthCritical:\n\t\tstatus = HealthCritical\n\tdefault:\n\t\treturn fmt.Errorf(\"Invalid status: %s\", status)\n\t}\n\n\tendpoint := fmt.Sprintf(\"/v1/agent/check/update/%s\", checkID)\n\tr := a.c.newRequest(\"PUT\", endpoint)\n\tr.obj = &checkUpdate{\n\t\tStatus: status,\n\t\tOutput: output,\n\t}\n\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// CheckRegister is used to register a new check with\n// the local agent\nfunc (a *Agent) CheckRegister(check *AgentCheckRegistration) error {\n\tr := a.c.newRequest(\"PUT\", \"/v1/agent/check/register\")\n\tr.obj = check\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// CheckDeregister is used to deregister a check with\n// the local agent\nfunc (a *Agent) CheckDeregister(checkID string) error {\n\tr := a.c.newRequest(\"PUT\", \"/v1/agent/check/deregister/\"+checkID)\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// Join is used to instruct the agent to attempt a join to\n// another cluster member\nfunc (a *Agent) Join(addr string, wan bool) error {\n\tr := a.c.newRequest(\"PUT\", \"/v1/agent/join/\"+addr)\n\tif wan {\n\t\tr.params.Set(\"wan\", \"1\")\n\t}\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// Leave is used to have the agent gracefully leave the cluster and shutdown\nfunc (a *Agent) Leave() error {\n\tr := a.c.newRequest(\"PUT\", \"/v1/agent/leave\")\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// ForceLeave is used to have the agent eject a failed node\nfunc (a *Agent) ForceLeave(node string) error {\n\tr := a.c.newRequest(\"PUT\", \"/v1/agent/force-leave/\"+node)\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// EnableServiceMaintenance toggles service maintenance mode on\n// for the given service ID.\nfunc (a *Agent) EnableServiceMaintenance(serviceID, reason string) error {\n\tr := a.c.newRequest(\"PUT\", \"/v1/agent/service/maintenance/\"+serviceID)\n\tr.params.Set(\"enable\", \"true\")\n\tr.params.Set(\"reason\", reason)\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// DisableServiceMaintenance toggles service maintenance mode off\n// for the given service ID.\nfunc (a *Agent) DisableServiceMaintenance(serviceID string) error {\n\tr := a.c.newRequest(\"PUT\", \"/v1/agent/service/maintenance/\"+serviceID)\n\tr.params.Set(\"enable\", \"false\")\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// EnableNodeMaintenance toggles node maintenance mode on for the\n// agent we are connected to.\nfunc (a *Agent) EnableNodeMaintenance(reason string) error {\n\tr := a.c.newRequest(\"PUT\", \"/v1/agent/maintenance\")\n\tr.params.Set(\"enable\", \"true\")\n\tr.params.Set(\"reason\", reason)\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// DisableNodeMaintenance toggles node maintenance mode off for the\n// agent we are connected to.\nfunc (a *Agent) DisableNodeMaintenance() error {\n\tr := a.c.newRequest(\"PUT\", \"/v1/agent/maintenance\")\n\tr.params.Set(\"enable\", \"false\")\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// Monitor returns a channel which will receive streaming logs from the agent\n// Providing a non-nil stopCh can be used to close the connection and stop the\n// log stream. An empty string will be sent down the given channel when there's\n// nothing left to stream, after which the caller should close the stopCh.\nfunc (a *Agent) Monitor(loglevel string, stopCh <-chan struct{}, q *QueryOptions) (chan string, error) {\n\tr := a.c.newRequest(\"GET\", \"/v1/agent/monitor\")\n\tr.setQueryOptions(q)\n\tif loglevel != \"\" {\n\t\tr.params.Add(\"loglevel\", loglevel)\n\t}\n\t_, resp, err := requireOK(a.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tlogCh := make(chan string, 64)\n\tgo func() {\n\t\tdefer resp.Body.Close()\n\n\t\tscanner := bufio.NewScanner(resp.Body)\n\t\tfor {\n\t\t\tselect {\n\t\t\tcase <-stopCh:\n\t\t\t\tclose(logCh)\n\t\t\t\treturn\n\t\t\tdefault:\n\t\t\t}\n\t\t\tif scanner.Scan() {\n\t\t\t\t// An empty string signals to the caller that\n\t\t\t\t// the scan is done, so make sure we only emit\n\t\t\t\t// that when the scanner says it's done, not if\n\t\t\t\t// we happen to ingest an empty line.\n\t\t\t\tif text := scanner.Text(); text != \"\" {\n\t\t\t\t\tlogCh <- text\n\t\t\t\t} else {\n\t\t\t\t\tlogCh <- \" \"\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlogCh <- \"\"\n\t\t\t}\n\t\t}\n\t}()\n\n\treturn logCh, nil\n}\n\n// UpdateACLToken updates the agent's \"acl_token\". See updateToken for more\n// details.\nfunc (c *Agent) UpdateACLToken(token string, q *WriteOptions) (*WriteMeta, error) {\n\treturn c.updateToken(\"acl_token\", token, q)\n}\n\n// UpdateACLAgentToken updates the agent's \"acl_agent_token\". See updateToken\n// for more details.\nfunc (c *Agent) UpdateACLAgentToken(token string, q *WriteOptions) (*WriteMeta, error) {\n\treturn c.updateToken(\"acl_agent_token\", token, q)\n}\n\n// UpdateACLAgentMasterToken updates the agent's \"acl_agent_master_token\". See\n// updateToken for more details.\nfunc (c *Agent) UpdateACLAgentMasterToken(token string, q *WriteOptions) (*WriteMeta, error) {\n\treturn c.updateToken(\"acl_agent_master_token\", token, q)\n}\n\n// UpdateACLReplicationToken updates the agent's \"acl_replication_token\". See\n// updateToken for more details.\nfunc (c *Agent) UpdateACLReplicationToken(token string, q *WriteOptions) (*WriteMeta, error) {\n\treturn c.updateToken(\"acl_replication_token\", token, q)\n}\n\n// updateToken can be used to update an agent's ACL token after the agent has\n// started. The tokens are not persisted, so will need to be updated again if\n// the agent is restarted.\nfunc (c *Agent) updateToken(target, token string, q *WriteOptions) (*WriteMeta, error) {\n\tr := c.c.newRequest(\"PUT\", fmt.Sprintf(\"/v1/agent/token/%s\", target))\n\tr.setWriteOptions(q)\n\tr.obj = &AgentToken{Token: token}\n\trtt, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tresp.Body.Close()\n\n\twm := &WriteMeta{RequestTime: rtt}\n\treturn wm, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/api.go",
    "content": "package api\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"crypto/tls\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"os\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/hashicorp/go-cleanhttp\"\n\t\"github.com/hashicorp/go-rootcerts\"\n)\n\nconst (\n\t// HTTPAddrEnvName defines an environment variable name which sets\n\t// the HTTP address if there is no -http-addr specified.\n\tHTTPAddrEnvName = \"CONSUL_HTTP_ADDR\"\n\n\t// HTTPTokenEnvName defines an environment variable name which sets\n\t// the HTTP token.\n\tHTTPTokenEnvName = \"CONSUL_HTTP_TOKEN\"\n\n\t// HTTPAuthEnvName defines an environment variable name which sets\n\t// the HTTP authentication header.\n\tHTTPAuthEnvName = \"CONSUL_HTTP_AUTH\"\n\n\t// HTTPSSLEnvName defines an environment variable name which sets\n\t// whether or not to use HTTPS.\n\tHTTPSSLEnvName = \"CONSUL_HTTP_SSL\"\n\n\t// HTTPCAFile defines an environment variable name which sets the\n\t// CA file to use for talking to Consul over TLS.\n\tHTTPCAFile = \"CONSUL_CACERT\"\n\n\t// HTTPCAPath defines an environment variable name which sets the\n\t// path to a directory of CA certs to use for talking to Consul over TLS.\n\tHTTPCAPath = \"CONSUL_CAPATH\"\n\n\t// HTTPClientCert defines an environment variable name which sets the\n\t// client cert file to use for talking to Consul over TLS.\n\tHTTPClientCert = \"CONSUL_CLIENT_CERT\"\n\n\t// HTTPClientKey defines an environment variable name which sets the\n\t// client key file to use for talking to Consul over TLS.\n\tHTTPClientKey = \"CONSUL_CLIENT_KEY\"\n\n\t// HTTPTLSServerName defines an environment variable name which sets the\n\t// server name to use as the SNI host when connecting via TLS\n\tHTTPTLSServerName = \"CONSUL_TLS_SERVER_NAME\"\n\n\t// HTTPSSLVerifyEnvName defines an environment variable name which sets\n\t// whether or not to disable certificate checking.\n\tHTTPSSLVerifyEnvName = \"CONSUL_HTTP_SSL_VERIFY\"\n)\n\n// QueryOptions are used to parameterize a query\ntype QueryOptions struct {\n\t// Providing a datacenter overwrites the DC provided\n\t// by the Config\n\tDatacenter string\n\n\t// AllowStale allows any Consul server (non-leader) to service\n\t// a read. This allows for lower latency and higher throughput\n\tAllowStale bool\n\n\t// RequireConsistent forces the read to be fully consistent.\n\t// This is more expensive but prevents ever performing a stale\n\t// read.\n\tRequireConsistent bool\n\n\t// WaitIndex is used to enable a blocking query. Waits\n\t// until the timeout or the next index is reached\n\tWaitIndex uint64\n\n\t// WaitTime is used to bound the duration of a wait.\n\t// Defaults to that of the Config, but can be overridden.\n\tWaitTime time.Duration\n\n\t// Token is used to provide a per-request ACL token\n\t// which overrides the agent's default token.\n\tToken string\n\n\t// Near is used to provide a node name that will sort the results\n\t// in ascending order based on the estimated round trip time from\n\t// that node. Setting this to \"_agent\" will use the agent's node\n\t// for the sort.\n\tNear string\n\n\t// NodeMeta is used to filter results by nodes with the given\n\t// metadata key/value pairs. Currently, only one key/value pair can\n\t// be provided for filtering.\n\tNodeMeta map[string]string\n\n\t// RelayFactor is used in keyring operations to cause reponses to be\n\t// relayed back to the sender through N other random nodes. Must be\n\t// a value from 0 to 5 (inclusive).\n\tRelayFactor uint8\n\n\t// ctx is an optional context pass through to the underlying HTTP\n\t// request layer. Use Context() and WithContext() to manage this.\n\tctx context.Context\n}\n\nfunc (o *QueryOptions) Context() context.Context {\n\tif o != nil && o.ctx != nil {\n\t\treturn o.ctx\n\t}\n\treturn context.Background()\n}\n\nfunc (o *QueryOptions) WithContext(ctx context.Context) *QueryOptions {\n\to2 := new(QueryOptions)\n\tif o != nil {\n\t\t*o2 = *o\n\t}\n\to2.ctx = ctx\n\treturn o2\n}\n\n// WriteOptions are used to parameterize a write\ntype WriteOptions struct {\n\t// Providing a datacenter overwrites the DC provided\n\t// by the Config\n\tDatacenter string\n\n\t// Token is used to provide a per-request ACL token\n\t// which overrides the agent's default token.\n\tToken string\n\n\t// RelayFactor is used in keyring operations to cause reponses to be\n\t// relayed back to the sender through N other random nodes. Must be\n\t// a value from 0 to 5 (inclusive).\n\tRelayFactor uint8\n\n\t// ctx is an optional context pass through to the underlying HTTP\n\t// request layer. Use Context() and WithContext() to manage this.\n\tctx context.Context\n}\n\nfunc (o *WriteOptions) Context() context.Context {\n\tif o != nil && o.ctx != nil {\n\t\treturn o.ctx\n\t}\n\treturn context.Background()\n}\n\nfunc (o *WriteOptions) WithContext(ctx context.Context) *WriteOptions {\n\to2 := new(WriteOptions)\n\tif o != nil {\n\t\t*o2 = *o\n\t}\n\to2.ctx = ctx\n\treturn o2\n}\n\n// QueryMeta is used to return meta data about a query\ntype QueryMeta struct {\n\t// LastIndex. This can be used as a WaitIndex to perform\n\t// a blocking query\n\tLastIndex uint64\n\n\t// Time of last contact from the leader for the\n\t// server servicing the request\n\tLastContact time.Duration\n\n\t// Is there a known leader\n\tKnownLeader bool\n\n\t// How long did the request take\n\tRequestTime time.Duration\n\n\t// Is address translation enabled for HTTP responses on this agent\n\tAddressTranslationEnabled bool\n}\n\n// WriteMeta is used to return meta data about a write\ntype WriteMeta struct {\n\t// How long did the request take\n\tRequestTime time.Duration\n}\n\n// HttpBasicAuth is used to authenticate http client with HTTP Basic Authentication\ntype HttpBasicAuth struct {\n\t// Username to use for HTTP Basic Authentication\n\tUsername string\n\n\t// Password to use for HTTP Basic Authentication\n\tPassword string\n}\n\n// Config is used to configure the creation of a client\ntype Config struct {\n\t// Address is the address of the Consul server\n\tAddress string\n\n\t// Scheme is the URI scheme for the Consul server\n\tScheme string\n\n\t// Datacenter to use. If not provided, the default agent datacenter is used.\n\tDatacenter string\n\n\t// Transport is the Transport to use for the http client.\n\tTransport *http.Transport\n\n\t// HttpClient is the client to use. Default will be\n\t// used if not provided.\n\tHttpClient *http.Client\n\n\t// HttpAuth is the auth info to use for http access.\n\tHttpAuth *HttpBasicAuth\n\n\t// WaitTime limits how long a Watch will block. If not provided,\n\t// the agent default values will be used.\n\tWaitTime time.Duration\n\n\t// Token is used to provide a per-request ACL token\n\t// which overrides the agent's default token.\n\tToken string\n\n\tTLSConfig TLSConfig\n}\n\n// TLSConfig is used to generate a TLSClientConfig that's useful for talking to\n// Consul using TLS.\ntype TLSConfig struct {\n\t// Address is the optional address of the Consul server. The port, if any\n\t// will be removed from here and this will be set to the ServerName of the\n\t// resulting config.\n\tAddress string\n\n\t// CAFile is the optional path to the CA certificate used for Consul\n\t// communication, defaults to the system bundle if not specified.\n\tCAFile string\n\n\t// CAPath is the optional path to a directory of CA certificates to use for\n\t// Consul communication, defaults to the system bundle if not specified.\n\tCAPath string\n\n\t// CertFile is the optional path to the certificate for Consul\n\t// communication. If this is set then you need to also set KeyFile.\n\tCertFile string\n\n\t// KeyFile is the optional path to the private key for Consul communication.\n\t// If this is set then you need to also set CertFile.\n\tKeyFile string\n\n\t// InsecureSkipVerify if set to true will disable TLS host verification.\n\tInsecureSkipVerify bool\n}\n\n// DefaultConfig returns a default configuration for the client. By default this\n// will pool and reuse idle connections to Consul. If you have a long-lived\n// client object, this is the desired behavior and should make the most efficient\n// use of the connections to Consul. If you don't reuse a client object , which\n// is not recommended, then you may notice idle connections building up over\n// time. To avoid this, use the DefaultNonPooledConfig() instead.\nfunc DefaultConfig() *Config {\n\treturn defaultConfig(cleanhttp.DefaultPooledTransport)\n}\n\n// DefaultNonPooledConfig returns a default configuration for the client which\n// does not pool connections. This isn't a recommended configuration because it\n// will reconnect to Consul on every request, but this is useful to avoid the\n// accumulation of idle connections if you make many client objects during the\n// lifetime of your application.\nfunc DefaultNonPooledConfig() *Config {\n\treturn defaultConfig(cleanhttp.DefaultTransport)\n}\n\n// defaultConfig returns the default configuration for the client, using the\n// given function to make the transport.\nfunc defaultConfig(transportFn func() *http.Transport) *Config {\n\tconfig := &Config{\n\t\tAddress:   \"127.0.0.1:8500\",\n\t\tScheme:    \"http\",\n\t\tTransport: transportFn(),\n\t}\n\n\tif addr := os.Getenv(HTTPAddrEnvName); addr != \"\" {\n\t\tconfig.Address = addr\n\t}\n\n\tif token := os.Getenv(HTTPTokenEnvName); token != \"\" {\n\t\tconfig.Token = token\n\t}\n\n\tif auth := os.Getenv(HTTPAuthEnvName); auth != \"\" {\n\t\tvar username, password string\n\t\tif strings.Contains(auth, \":\") {\n\t\t\tsplit := strings.SplitN(auth, \":\", 2)\n\t\t\tusername = split[0]\n\t\t\tpassword = split[1]\n\t\t} else {\n\t\t\tusername = auth\n\t\t}\n\n\t\tconfig.HttpAuth = &HttpBasicAuth{\n\t\t\tUsername: username,\n\t\t\tPassword: password,\n\t\t}\n\t}\n\n\tif ssl := os.Getenv(HTTPSSLEnvName); ssl != \"\" {\n\t\tenabled, err := strconv.ParseBool(ssl)\n\t\tif err != nil {\n\t\t\tlog.Printf(\"[WARN] client: could not parse %s: %s\", HTTPSSLEnvName, err)\n\t\t}\n\n\t\tif enabled {\n\t\t\tconfig.Scheme = \"https\"\n\t\t}\n\t}\n\n\tif v := os.Getenv(HTTPTLSServerName); v != \"\" {\n\t\tconfig.TLSConfig.Address = v\n\t}\n\tif v := os.Getenv(HTTPCAFile); v != \"\" {\n\t\tconfig.TLSConfig.CAFile = v\n\t}\n\tif v := os.Getenv(HTTPCAPath); v != \"\" {\n\t\tconfig.TLSConfig.CAPath = v\n\t}\n\tif v := os.Getenv(HTTPClientCert); v != \"\" {\n\t\tconfig.TLSConfig.CertFile = v\n\t}\n\tif v := os.Getenv(HTTPClientKey); v != \"\" {\n\t\tconfig.TLSConfig.KeyFile = v\n\t}\n\tif v := os.Getenv(HTTPSSLVerifyEnvName); v != \"\" {\n\t\tdoVerify, err := strconv.ParseBool(v)\n\t\tif err != nil {\n\t\t\tlog.Printf(\"[WARN] client: could not parse %s: %s\", HTTPSSLVerifyEnvName, err)\n\t\t}\n\t\tif !doVerify {\n\t\t\tconfig.TLSConfig.InsecureSkipVerify = true\n\t\t}\n\t}\n\n\treturn config\n}\n\n// TLSConfig is used to generate a TLSClientConfig that's useful for talking to\n// Consul using TLS.\nfunc SetupTLSConfig(tlsConfig *TLSConfig) (*tls.Config, error) {\n\ttlsClientConfig := &tls.Config{\n\t\tInsecureSkipVerify: tlsConfig.InsecureSkipVerify,\n\t}\n\n\tif tlsConfig.Address != \"\" {\n\t\tserver := tlsConfig.Address\n\t\thasPort := strings.LastIndex(server, \":\") > strings.LastIndex(server, \"]\")\n\t\tif hasPort {\n\t\t\tvar err error\n\t\t\tserver, _, err = net.SplitHostPort(server)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\ttlsClientConfig.ServerName = server\n\t}\n\n\tif tlsConfig.CertFile != \"\" && tlsConfig.KeyFile != \"\" {\n\t\ttlsCert, err := tls.LoadX509KeyPair(tlsConfig.CertFile, tlsConfig.KeyFile)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ttlsClientConfig.Certificates = []tls.Certificate{tlsCert}\n\t}\n\n\tif tlsConfig.CAFile != \"\" || tlsConfig.CAPath != \"\" {\n\t\trootConfig := &rootcerts.Config{\n\t\t\tCAFile: tlsConfig.CAFile,\n\t\t\tCAPath: tlsConfig.CAPath,\n\t\t}\n\t\tif err := rootcerts.ConfigureTLS(tlsClientConfig, rootConfig); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\n\treturn tlsClientConfig, nil\n}\n\n// Client provides a client to the Consul API\ntype Client struct {\n\tconfig Config\n}\n\n// NewClient returns a new client\nfunc NewClient(config *Config) (*Client, error) {\n\t// bootstrap the config\n\tdefConfig := DefaultConfig()\n\n\tif len(config.Address) == 0 {\n\t\tconfig.Address = defConfig.Address\n\t}\n\n\tif len(config.Scheme) == 0 {\n\t\tconfig.Scheme = defConfig.Scheme\n\t}\n\n\tif config.Transport == nil {\n\t\tconfig.Transport = defConfig.Transport\n\t}\n\n\tif config.TLSConfig.Address == \"\" {\n\t\tconfig.TLSConfig.Address = defConfig.TLSConfig.Address\n\t}\n\n\tif config.TLSConfig.CAFile == \"\" {\n\t\tconfig.TLSConfig.CAFile = defConfig.TLSConfig.CAFile\n\t}\n\n\tif config.TLSConfig.CAPath == \"\" {\n\t\tconfig.TLSConfig.CAPath = defConfig.TLSConfig.CAPath\n\t}\n\n\tif config.TLSConfig.CertFile == \"\" {\n\t\tconfig.TLSConfig.CertFile = defConfig.TLSConfig.CertFile\n\t}\n\n\tif config.TLSConfig.KeyFile == \"\" {\n\t\tconfig.TLSConfig.KeyFile = defConfig.TLSConfig.KeyFile\n\t}\n\n\tif !config.TLSConfig.InsecureSkipVerify {\n\t\tconfig.TLSConfig.InsecureSkipVerify = defConfig.TLSConfig.InsecureSkipVerify\n\t}\n\n\tif config.HttpClient == nil {\n\t\tvar err error\n\t\tconfig.HttpClient, err = NewHttpClient(config.Transport, config.TLSConfig)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\n\tparts := strings.SplitN(config.Address, \"://\", 2)\n\tif len(parts) == 2 {\n\t\tswitch parts[0] {\n\t\tcase \"http\":\n\t\t\tconfig.Scheme = \"http\"\n\t\tcase \"https\":\n\t\t\tconfig.Scheme = \"https\"\n\t\tcase \"unix\":\n\t\t\ttrans := cleanhttp.DefaultTransport()\n\t\t\ttrans.DialContext = func(_ context.Context, _, _ string) (net.Conn, error) {\n\t\t\t\treturn net.Dial(\"unix\", parts[1])\n\t\t\t}\n\t\t\tconfig.HttpClient = &http.Client{\n\t\t\t\tTransport: trans,\n\t\t\t}\n\t\tdefault:\n\t\t\treturn nil, fmt.Errorf(\"Unknown protocol scheme: %s\", parts[0])\n\t\t}\n\t\tconfig.Address = parts[1]\n\t}\n\n\tif config.Token == \"\" {\n\t\tconfig.Token = defConfig.Token\n\t}\n\n\treturn &Client{config: *config}, nil\n}\n\n// NewHttpClient returns an http client configured with the given Transport and TLS\n// config.\nfunc NewHttpClient(transport *http.Transport, tlsConf TLSConfig) (*http.Client, error) {\n\tclient := &http.Client{\n\t\tTransport: transport,\n\t}\n\n\t// TODO (slackpad) - Once we get some run time on the HTTP/2 support we\n\t// should turn it on by default if TLS is enabled. We would basically\n\t// just need to call http2.ConfigureTransport(transport) here. We also\n\t// don't want to introduce another external dependency on\n\t// golang.org/x/net/http2 at this time. For a complete recipe for how\n\t// to enable HTTP/2 support on a transport suitable for the API client\n\t// library see agent/http_test.go:TestHTTPServer_H2.\n\n\tif transport.TLSClientConfig == nil {\n\t\ttlsClientConfig, err := SetupTLSConfig(&tlsConf)\n\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\ttransport.TLSClientConfig = tlsClientConfig\n\t}\n\n\treturn client, nil\n}\n\n// request is used to help build up a request\ntype request struct {\n\tconfig *Config\n\tmethod string\n\turl    *url.URL\n\tparams url.Values\n\tbody   io.Reader\n\theader http.Header\n\tobj    interface{}\n\tctx    context.Context\n}\n\n// setQueryOptions is used to annotate the request with\n// additional query options\nfunc (r *request) setQueryOptions(q *QueryOptions) {\n\tif q == nil {\n\t\treturn\n\t}\n\tif q.Datacenter != \"\" {\n\t\tr.params.Set(\"dc\", q.Datacenter)\n\t}\n\tif q.AllowStale {\n\t\tr.params.Set(\"stale\", \"\")\n\t}\n\tif q.RequireConsistent {\n\t\tr.params.Set(\"consistent\", \"\")\n\t}\n\tif q.WaitIndex != 0 {\n\t\tr.params.Set(\"index\", strconv.FormatUint(q.WaitIndex, 10))\n\t}\n\tif q.WaitTime != 0 {\n\t\tr.params.Set(\"wait\", durToMsec(q.WaitTime))\n\t}\n\tif q.Token != \"\" {\n\t\tr.header.Set(\"X-Consul-Token\", q.Token)\n\t}\n\tif q.Near != \"\" {\n\t\tr.params.Set(\"near\", q.Near)\n\t}\n\tif len(q.NodeMeta) > 0 {\n\t\tfor key, value := range q.NodeMeta {\n\t\t\tr.params.Add(\"node-meta\", key+\":\"+value)\n\t\t}\n\t}\n\tif q.RelayFactor != 0 {\n\t\tr.params.Set(\"relay-factor\", strconv.Itoa(int(q.RelayFactor)))\n\t}\n\tr.ctx = q.ctx\n}\n\n// durToMsec converts a duration to a millisecond specified string. If the\n// user selected a positive value that rounds to 0 ms, then we will use 1 ms\n// so they get a short delay, otherwise Consul will translate the 0 ms into\n// a huge default delay.\nfunc durToMsec(dur time.Duration) string {\n\tms := dur / time.Millisecond\n\tif dur > 0 && ms == 0 {\n\t\tms = 1\n\t}\n\treturn fmt.Sprintf(\"%dms\", ms)\n}\n\n// serverError is a string we look for to detect 500 errors.\nconst serverError = \"Unexpected response code: 500\"\n\n// IsRetryableError returns true for 500 errors from the Consul servers, and\n// network connection errors. These are usually retryable at a later time.\n// This applies to reads but NOT to writes. This may return true for errors\n// on writes that may have still gone through, so do not use this to retry\n// any write operations.\nfunc IsRetryableError(err error) bool {\n\tif err == nil {\n\t\treturn false\n\t}\n\n\tif _, ok := err.(net.Error); ok {\n\t\treturn true\n\t}\n\n\t// TODO (slackpad) - Make a real error type here instead of using\n\t// a string check.\n\treturn strings.Contains(err.Error(), serverError)\n}\n\n// setWriteOptions is used to annotate the request with\n// additional write options\nfunc (r *request) setWriteOptions(q *WriteOptions) {\n\tif q == nil {\n\t\treturn\n\t}\n\tif q.Datacenter != \"\" {\n\t\tr.params.Set(\"dc\", q.Datacenter)\n\t}\n\tif q.Token != \"\" {\n\t\tr.header.Set(\"X-Consul-Token\", q.Token)\n\t}\n\tif q.RelayFactor != 0 {\n\t\tr.params.Set(\"relay-factor\", strconv.Itoa(int(q.RelayFactor)))\n\t}\n\tr.ctx = q.ctx\n}\n\n// toHTTP converts the request to an HTTP request\nfunc (r *request) toHTTP() (*http.Request, error) {\n\t// Encode the query parameters\n\tr.url.RawQuery = r.params.Encode()\n\n\t// Check if we should encode the body\n\tif r.body == nil && r.obj != nil {\n\t\tb, err := encodeBody(r.obj)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tr.body = b\n\t}\n\n\t// Create the HTTP request\n\treq, err := http.NewRequest(r.method, r.url.RequestURI(), r.body)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treq.URL.Host = r.url.Host\n\treq.URL.Scheme = r.url.Scheme\n\treq.Host = r.url.Host\n\treq.Header = r.header\n\n\t// Setup auth\n\tif r.config.HttpAuth != nil {\n\t\treq.SetBasicAuth(r.config.HttpAuth.Username, r.config.HttpAuth.Password)\n\t}\n\tif r.ctx != nil {\n\t\treturn req.WithContext(r.ctx), nil\n\t} else {\n\t\treturn req, nil\n\t}\n}\n\n// newRequest is used to create a new request\nfunc (c *Client) newRequest(method, path string) *request {\n\tr := &request{\n\t\tconfig: &c.config,\n\t\tmethod: method,\n\t\turl: &url.URL{\n\t\t\tScheme: c.config.Scheme,\n\t\t\tHost:   c.config.Address,\n\t\t\tPath:   path,\n\t\t},\n\t\tparams: make(map[string][]string),\n\t\theader: make(http.Header),\n\t}\n\tif c.config.Datacenter != \"\" {\n\t\tr.params.Set(\"dc\", c.config.Datacenter)\n\t}\n\tif c.config.WaitTime != 0 {\n\t\tr.params.Set(\"wait\", durToMsec(r.config.WaitTime))\n\t}\n\tif c.config.Token != \"\" {\n\t\tr.header.Set(\"X-Consul-Token\", r.config.Token)\n\t}\n\treturn r\n}\n\n// doRequest runs a request with our client\nfunc (c *Client) doRequest(r *request) (time.Duration, *http.Response, error) {\n\treq, err := r.toHTTP()\n\tif err != nil {\n\t\treturn 0, nil, err\n\t}\n\tstart := time.Now()\n\tresp, err := c.config.HttpClient.Do(req)\n\tdiff := time.Since(start)\n\treturn diff, resp, err\n}\n\n// Query is used to do a GET request against an endpoint\n// and deserialize the response into an interface using\n// standard Consul conventions.\nfunc (c *Client) query(endpoint string, out interface{}, q *QueryOptions) (*QueryMeta, error) {\n\tr := c.newRequest(\"GET\", endpoint)\n\tr.setQueryOptions(q)\n\trtt, resp, err := requireOK(c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tif err := decodeBody(resp, out); err != nil {\n\t\treturn nil, err\n\t}\n\treturn qm, nil\n}\n\n// write is used to do a PUT request against an endpoint\n// and serialize/deserialized using the standard Consul conventions.\nfunc (c *Client) write(endpoint string, in, out interface{}, q *WriteOptions) (*WriteMeta, error) {\n\tr := c.newRequest(\"PUT\", endpoint)\n\tr.setWriteOptions(q)\n\tr.obj = in\n\trtt, resp, err := requireOK(c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{RequestTime: rtt}\n\tif out != nil {\n\t\tif err := decodeBody(resp, &out); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t} else if _, err := ioutil.ReadAll(resp.Body); err != nil {\n\t\treturn nil, err\n\t}\n\treturn wm, nil\n}\n\n// parseQueryMeta is used to help parse query meta-data\nfunc parseQueryMeta(resp *http.Response, q *QueryMeta) error {\n\theader := resp.Header\n\n\t// Parse the X-Consul-Index\n\tindex, err := strconv.ParseUint(header.Get(\"X-Consul-Index\"), 10, 64)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"Failed to parse X-Consul-Index: %v\", err)\n\t}\n\tq.LastIndex = index\n\n\t// Parse the X-Consul-LastContact\n\tlast, err := strconv.ParseUint(header.Get(\"X-Consul-LastContact\"), 10, 64)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"Failed to parse X-Consul-LastContact: %v\", err)\n\t}\n\tq.LastContact = time.Duration(last) * time.Millisecond\n\n\t// Parse the X-Consul-KnownLeader\n\tswitch header.Get(\"X-Consul-KnownLeader\") {\n\tcase \"true\":\n\t\tq.KnownLeader = true\n\tdefault:\n\t\tq.KnownLeader = false\n\t}\n\n\t// Parse X-Consul-Translate-Addresses\n\tswitch header.Get(\"X-Consul-Translate-Addresses\") {\n\tcase \"true\":\n\t\tq.AddressTranslationEnabled = true\n\tdefault:\n\t\tq.AddressTranslationEnabled = false\n\t}\n\n\treturn nil\n}\n\n// decodeBody is used to JSON decode a body\nfunc decodeBody(resp *http.Response, out interface{}) error {\n\tdec := json.NewDecoder(resp.Body)\n\treturn dec.Decode(out)\n}\n\n// encodeBody is used to encode a request body\nfunc encodeBody(obj interface{}) (io.Reader, error) {\n\tbuf := bytes.NewBuffer(nil)\n\tenc := json.NewEncoder(buf)\n\tif err := enc.Encode(obj); err != nil {\n\t\treturn nil, err\n\t}\n\treturn buf, nil\n}\n\n// requireOK is used to wrap doRequest and check for a 200\nfunc requireOK(d time.Duration, resp *http.Response, e error) (time.Duration, *http.Response, error) {\n\tif e != nil {\n\t\tif resp != nil {\n\t\t\tresp.Body.Close()\n\t\t}\n\t\treturn d, nil, e\n\t}\n\tif resp.StatusCode != 200 {\n\t\tvar buf bytes.Buffer\n\t\tio.Copy(&buf, resp.Body)\n\t\tresp.Body.Close()\n\t\treturn d, nil, fmt.Errorf(\"Unexpected response code: %d (%s)\", resp.StatusCode, buf.Bytes())\n\t}\n\treturn d, resp, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/catalog.go",
    "content": "package api\n\ntype Node struct {\n\tID              string\n\tNode            string\n\tAddress         string\n\tDatacenter      string\n\tTaggedAddresses map[string]string\n\tMeta            map[string]string\n\tCreateIndex     uint64\n\tModifyIndex     uint64\n}\n\ntype CatalogService struct {\n\tID                       string\n\tNode                     string\n\tAddress                  string\n\tDatacenter               string\n\tTaggedAddresses          map[string]string\n\tNodeMeta                 map[string]string\n\tServiceID                string\n\tServiceName              string\n\tServiceAddress           string\n\tServiceTags              []string\n\tServicePort              int\n\tServiceEnableTagOverride bool\n\tCreateIndex              uint64\n\tModifyIndex              uint64\n}\n\ntype CatalogNode struct {\n\tNode     *Node\n\tServices map[string]*AgentService\n}\n\ntype CatalogRegistration struct {\n\tID              string\n\tNode            string\n\tAddress         string\n\tTaggedAddresses map[string]string\n\tNodeMeta        map[string]string\n\tDatacenter      string\n\tService         *AgentService\n\tCheck           *AgentCheck\n\tSkipNodeUpdate  bool\n}\n\ntype CatalogDeregistration struct {\n\tNode       string\n\tAddress    string // Obsolete.\n\tDatacenter string\n\tServiceID  string\n\tCheckID    string\n}\n\n// Catalog can be used to query the Catalog endpoints\ntype Catalog struct {\n\tc *Client\n}\n\n// Catalog returns a handle to the catalog endpoints\nfunc (c *Client) Catalog() *Catalog {\n\treturn &Catalog{c}\n}\n\nfunc (c *Catalog) Register(reg *CatalogRegistration, q *WriteOptions) (*WriteMeta, error) {\n\tr := c.c.newRequest(\"PUT\", \"/v1/catalog/register\")\n\tr.setWriteOptions(q)\n\tr.obj = reg\n\trtt, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tresp.Body.Close()\n\n\twm := &WriteMeta{}\n\twm.RequestTime = rtt\n\n\treturn wm, nil\n}\n\nfunc (c *Catalog) Deregister(dereg *CatalogDeregistration, q *WriteOptions) (*WriteMeta, error) {\n\tr := c.c.newRequest(\"PUT\", \"/v1/catalog/deregister\")\n\tr.setWriteOptions(q)\n\tr.obj = dereg\n\trtt, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tresp.Body.Close()\n\n\twm := &WriteMeta{}\n\twm.RequestTime = rtt\n\n\treturn wm, nil\n}\n\n// Datacenters is used to query for all the known datacenters\nfunc (c *Catalog) Datacenters() ([]string, error) {\n\tr := c.c.newRequest(\"GET\", \"/v1/catalog/datacenters\")\n\t_, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar out []string\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Nodes is used to query all the known nodes\nfunc (c *Catalog) Nodes(q *QueryOptions) ([]*Node, *QueryMeta, error) {\n\tr := c.c.newRequest(\"GET\", \"/v1/catalog/nodes\")\n\tr.setQueryOptions(q)\n\trtt, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar out []*Node\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n\n// Services is used to query for all known services\nfunc (c *Catalog) Services(q *QueryOptions) (map[string][]string, *QueryMeta, error) {\n\tr := c.c.newRequest(\"GET\", \"/v1/catalog/services\")\n\tr.setQueryOptions(q)\n\trtt, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar out map[string][]string\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n\n// Service is used to query catalog entries for a given service\nfunc (c *Catalog) Service(service, tag string, q *QueryOptions) ([]*CatalogService, *QueryMeta, error) {\n\tr := c.c.newRequest(\"GET\", \"/v1/catalog/service/\"+service)\n\tr.setQueryOptions(q)\n\tif tag != \"\" {\n\t\tr.params.Set(\"tag\", tag)\n\t}\n\trtt, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar out []*CatalogService\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n\n// Node is used to query for service information about a single node\nfunc (c *Catalog) Node(node string, q *QueryOptions) (*CatalogNode, *QueryMeta, error) {\n\tr := c.c.newRequest(\"GET\", \"/v1/catalog/node/\"+node)\n\tr.setQueryOptions(q)\n\trtt, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar out *CatalogNode\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/coordinate.go",
    "content": "package api\n\nimport (\n\t\"github.com/hashicorp/serf/coordinate\"\n)\n\n// CoordinateEntry represents a node and its associated network coordinate.\ntype CoordinateEntry struct {\n\tNode    string\n\tSegment string\n\tCoord   *coordinate.Coordinate\n}\n\n// CoordinateDatacenterMap has the coordinates for servers in a given datacenter\n// and area. Network coordinates are only compatible within the same area.\ntype CoordinateDatacenterMap struct {\n\tDatacenter  string\n\tAreaID      string\n\tCoordinates []CoordinateEntry\n}\n\n// Coordinate can be used to query the coordinate endpoints\ntype Coordinate struct {\n\tc *Client\n}\n\n// Coordinate returns a handle to the coordinate endpoints\nfunc (c *Client) Coordinate() *Coordinate {\n\treturn &Coordinate{c}\n}\n\n// Datacenters is used to return the coordinates of all the servers in the WAN\n// pool.\nfunc (c *Coordinate) Datacenters() ([]*CoordinateDatacenterMap, error) {\n\tr := c.c.newRequest(\"GET\", \"/v1/coordinate/datacenters\")\n\t_, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar out []*CoordinateDatacenterMap\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Nodes is used to return the coordinates of all the nodes in the LAN pool.\nfunc (c *Coordinate) Nodes(q *QueryOptions) ([]*CoordinateEntry, *QueryMeta, error) {\n\tr := c.c.newRequest(\"GET\", \"/v1/coordinate/nodes\")\n\tr.setQueryOptions(q)\n\trtt, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar out []*CoordinateEntry\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n\n// Update inserts or updates the LAN coordinate of a node.\nfunc (c *Coordinate) Update(coord *CoordinateEntry, q *WriteOptions) (*WriteMeta, error) {\n\tr := c.c.newRequest(\"PUT\", \"/v1/coordinate/update\")\n\tr.setWriteOptions(q)\n\tr.obj = coord\n\trtt, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{}\n\twm.RequestTime = rtt\n\n\treturn wm, nil\n}\n\n// Node is used to return the coordinates of a single in the LAN pool.\nfunc (c *Coordinate) Node(node string, q *QueryOptions) ([]*CoordinateEntry, *QueryMeta, error) {\n\tr := c.c.newRequest(\"GET\", \"/v1/coordinate/node/\"+node)\n\tr.setQueryOptions(q)\n\trtt, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar out []*CoordinateEntry\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/event.go",
    "content": "package api\n\nimport (\n\t\"bytes\"\n\t\"strconv\"\n)\n\n// Event can be used to query the Event endpoints\ntype Event struct {\n\tc *Client\n}\n\n// UserEvent represents an event that was fired by the user\ntype UserEvent struct {\n\tID            string\n\tName          string\n\tPayload       []byte\n\tNodeFilter    string\n\tServiceFilter string\n\tTagFilter     string\n\tVersion       int\n\tLTime         uint64\n}\n\n// Event returns a handle to the event endpoints\nfunc (c *Client) Event() *Event {\n\treturn &Event{c}\n}\n\n// Fire is used to fire a new user event. Only the Name, Payload and Filters\n// are respected. This returns the ID or an associated error. Cross DC requests\n// are supported.\nfunc (e *Event) Fire(params *UserEvent, q *WriteOptions) (string, *WriteMeta, error) {\n\tr := e.c.newRequest(\"PUT\", \"/v1/event/fire/\"+params.Name)\n\tr.setWriteOptions(q)\n\tif params.NodeFilter != \"\" {\n\t\tr.params.Set(\"node\", params.NodeFilter)\n\t}\n\tif params.ServiceFilter != \"\" {\n\t\tr.params.Set(\"service\", params.ServiceFilter)\n\t}\n\tif params.TagFilter != \"\" {\n\t\tr.params.Set(\"tag\", params.TagFilter)\n\t}\n\tif params.Payload != nil {\n\t\tr.body = bytes.NewReader(params.Payload)\n\t}\n\n\trtt, resp, err := requireOK(e.c.doRequest(r))\n\tif err != nil {\n\t\treturn \"\", nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{RequestTime: rtt}\n\tvar out UserEvent\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn \"\", nil, err\n\t}\n\treturn out.ID, wm, nil\n}\n\n// List is used to get the most recent events an agent has received.\n// This list can be optionally filtered by the name. This endpoint supports\n// quasi-blocking queries. The index is not monotonic, nor does it provide provide\n// LastContact or KnownLeader.\nfunc (e *Event) List(name string, q *QueryOptions) ([]*UserEvent, *QueryMeta, error) {\n\tr := e.c.newRequest(\"GET\", \"/v1/event/list\")\n\tr.setQueryOptions(q)\n\tif name != \"\" {\n\t\tr.params.Set(\"name\", name)\n\t}\n\trtt, resp, err := requireOK(e.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar entries []*UserEvent\n\tif err := decodeBody(resp, &entries); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn entries, qm, nil\n}\n\n// IDToIndex is a bit of a hack. This simulates the index generation to\n// convert an event ID into a WaitIndex.\nfunc (e *Event) IDToIndex(uuid string) uint64 {\n\tlower := uuid[0:8] + uuid[9:13] + uuid[14:18]\n\tupper := uuid[19:23] + uuid[24:36]\n\tlowVal, err := strconv.ParseUint(lower, 16, 64)\n\tif err != nil {\n\t\tpanic(\"Failed to convert \" + lower)\n\t}\n\thighVal, err := strconv.ParseUint(upper, 16, 64)\n\tif err != nil {\n\t\tpanic(\"Failed to convert \" + upper)\n\t}\n\treturn lowVal ^ highVal\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/health.go",
    "content": "package api\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n)\n\nconst (\n\t// HealthAny is special, and is used as a wild card,\n\t// not as a specific state.\n\tHealthAny      = \"any\"\n\tHealthPassing  = \"passing\"\n\tHealthWarning  = \"warning\"\n\tHealthCritical = \"critical\"\n\tHealthMaint    = \"maintenance\"\n)\n\nconst (\n\t// NodeMaint is the special key set by a node in maintenance mode.\n\tNodeMaint = \"_node_maintenance\"\n\n\t// ServiceMaintPrefix is the prefix for a service in maintenance mode.\n\tServiceMaintPrefix = \"_service_maintenance:\"\n)\n\n// HealthCheck is used to represent a single check\ntype HealthCheck struct {\n\tNode        string\n\tCheckID     string\n\tName        string\n\tStatus      string\n\tNotes       string\n\tOutput      string\n\tServiceID   string\n\tServiceName string\n\tServiceTags []string\n\n\tDefinition HealthCheckDefinition\n}\n\n// HealthCheckDefinition is used to store the details about\n// a health check's execution.\ntype HealthCheckDefinition struct {\n\tHTTP                           string\n\tHeader                         map[string][]string\n\tMethod                         string\n\tTLSSkipVerify                  bool\n\tTCP                            string\n\tInterval                       ReadableDuration\n\tTimeout                        ReadableDuration\n\tDeregisterCriticalServiceAfter ReadableDuration\n}\n\n// HealthChecks is a collection of HealthCheck structs.\ntype HealthChecks []*HealthCheck\n\n// AggregatedStatus returns the \"best\" status for the list of health checks.\n// Because a given entry may have many service and node-level health checks\n// attached, this function determines the best representative of the status as\n// as single string using the following heuristic:\n//\n//  maintenance > critical > warning > passing\n//\nfunc (c HealthChecks) AggregatedStatus() string {\n\tvar passing, warning, critical, maintenance bool\n\tfor _, check := range c {\n\t\tid := string(check.CheckID)\n\t\tif id == NodeMaint || strings.HasPrefix(id, ServiceMaintPrefix) {\n\t\t\tmaintenance = true\n\t\t\tcontinue\n\t\t}\n\n\t\tswitch check.Status {\n\t\tcase HealthPassing:\n\t\t\tpassing = true\n\t\tcase HealthWarning:\n\t\t\twarning = true\n\t\tcase HealthCritical:\n\t\t\tcritical = true\n\t\tdefault:\n\t\t\treturn \"\"\n\t\t}\n\t}\n\n\tswitch {\n\tcase maintenance:\n\t\treturn HealthMaint\n\tcase critical:\n\t\treturn HealthCritical\n\tcase warning:\n\t\treturn HealthWarning\n\tcase passing:\n\t\treturn HealthPassing\n\tdefault:\n\t\treturn HealthPassing\n\t}\n}\n\n// ServiceEntry is used for the health service endpoint\ntype ServiceEntry struct {\n\tNode    *Node\n\tService *AgentService\n\tChecks  HealthChecks\n}\n\n// Health can be used to query the Health endpoints\ntype Health struct {\n\tc *Client\n}\n\n// Health returns a handle to the health endpoints\nfunc (c *Client) Health() *Health {\n\treturn &Health{c}\n}\n\n// Node is used to query for checks belonging to a given node\nfunc (h *Health) Node(node string, q *QueryOptions) (HealthChecks, *QueryMeta, error) {\n\tr := h.c.newRequest(\"GET\", \"/v1/health/node/\"+node)\n\tr.setQueryOptions(q)\n\trtt, resp, err := requireOK(h.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar out HealthChecks\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n\n// Checks is used to return the checks associated with a service\nfunc (h *Health) Checks(service string, q *QueryOptions) (HealthChecks, *QueryMeta, error) {\n\tr := h.c.newRequest(\"GET\", \"/v1/health/checks/\"+service)\n\tr.setQueryOptions(q)\n\trtt, resp, err := requireOK(h.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar out HealthChecks\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n\n// Service is used to query health information along with service info\n// for a given service. It can optionally do server-side filtering on a tag\n// or nodes with passing health checks only.\nfunc (h *Health) Service(service, tag string, passingOnly bool, q *QueryOptions) ([]*ServiceEntry, *QueryMeta, error) {\n\tr := h.c.newRequest(\"GET\", \"/v1/health/service/\"+service)\n\tr.setQueryOptions(q)\n\tif tag != \"\" {\n\t\tr.params.Set(\"tag\", tag)\n\t}\n\tif passingOnly {\n\t\tr.params.Set(HealthPassing, \"1\")\n\t}\n\trtt, resp, err := requireOK(h.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar out []*ServiceEntry\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n\n// State is used to retrieve all the checks in a given state.\n// The wildcard \"any\" state can also be used for all checks.\nfunc (h *Health) State(state string, q *QueryOptions) (HealthChecks, *QueryMeta, error) {\n\tswitch state {\n\tcase HealthAny:\n\tcase HealthWarning:\n\tcase HealthCritical:\n\tcase HealthPassing:\n\tdefault:\n\t\treturn nil, nil, fmt.Errorf(\"Unsupported state: %v\", state)\n\t}\n\tr := h.c.newRequest(\"GET\", \"/v1/health/state/\"+state)\n\tr.setQueryOptions(q)\n\trtt, resp, err := requireOK(h.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tvar out HealthChecks\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/kv.go",
    "content": "package api\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"strconv\"\n\t\"strings\"\n)\n\n// KVPair is used to represent a single K/V entry\ntype KVPair struct {\n\t// Key is the name of the key. It is also part of the URL path when accessed\n\t// via the API.\n\tKey string\n\n\t// CreateIndex holds the index corresponding the creation of this KVPair. This\n\t// is a read-only field.\n\tCreateIndex uint64\n\n\t// ModifyIndex is used for the Check-And-Set operations and can also be fed\n\t// back into the WaitIndex of the QueryOptions in order to perform blocking\n\t// queries.\n\tModifyIndex uint64\n\n\t// LockIndex holds the index corresponding to a lock on this key, if any. This\n\t// is a read-only field.\n\tLockIndex uint64\n\n\t// Flags are any user-defined flags on the key. It is up to the implementer\n\t// to check these values, since Consul does not treat them specially.\n\tFlags uint64\n\n\t// Value is the value for the key. This can be any value, but it will be\n\t// base64 encoded upon transport.\n\tValue []byte\n\n\t// Session is a string representing the ID of the session. Any other\n\t// interactions with this key over the same session must specify the same\n\t// session ID.\n\tSession string\n}\n\n// KVPairs is a list of KVPair objects\ntype KVPairs []*KVPair\n\n// KVOp constants give possible operations available in a KVTxn.\ntype KVOp string\n\nconst (\n\tKVSet            KVOp = \"set\"\n\tKVDelete         KVOp = \"delete\"\n\tKVDeleteCAS      KVOp = \"delete-cas\"\n\tKVDeleteTree     KVOp = \"delete-tree\"\n\tKVCAS            KVOp = \"cas\"\n\tKVLock           KVOp = \"lock\"\n\tKVUnlock         KVOp = \"unlock\"\n\tKVGet            KVOp = \"get\"\n\tKVGetTree        KVOp = \"get-tree\"\n\tKVCheckSession   KVOp = \"check-session\"\n\tKVCheckIndex     KVOp = \"check-index\"\n\tKVCheckNotExists KVOp = \"check-not-exists\"\n)\n\n// KVTxnOp defines a single operation inside a transaction.\ntype KVTxnOp struct {\n\tVerb    KVOp\n\tKey     string\n\tValue   []byte\n\tFlags   uint64\n\tIndex   uint64\n\tSession string\n}\n\n// KVTxnOps defines a set of operations to be performed inside a single\n// transaction.\ntype KVTxnOps []*KVTxnOp\n\n// KVTxnResponse has the outcome of a transaction.\ntype KVTxnResponse struct {\n\tResults []*KVPair\n\tErrors  TxnErrors\n}\n\n// KV is used to manipulate the K/V API\ntype KV struct {\n\tc *Client\n}\n\n// KV is used to return a handle to the K/V apis\nfunc (c *Client) KV() *KV {\n\treturn &KV{c}\n}\n\n// Get is used to lookup a single key. The returned pointer\n// to the KVPair will be nil if the key does not exist.\nfunc (k *KV) Get(key string, q *QueryOptions) (*KVPair, *QueryMeta, error) {\n\tresp, qm, err := k.getInternal(key, nil, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tif resp == nil {\n\t\treturn nil, qm, nil\n\t}\n\tdefer resp.Body.Close()\n\n\tvar entries []*KVPair\n\tif err := decodeBody(resp, &entries); err != nil {\n\t\treturn nil, nil, err\n\t}\n\tif len(entries) > 0 {\n\t\treturn entries[0], qm, nil\n\t}\n\treturn nil, qm, nil\n}\n\n// List is used to lookup all keys under a prefix\nfunc (k *KV) List(prefix string, q *QueryOptions) (KVPairs, *QueryMeta, error) {\n\tresp, qm, err := k.getInternal(prefix, map[string]string{\"recurse\": \"\"}, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tif resp == nil {\n\t\treturn nil, qm, nil\n\t}\n\tdefer resp.Body.Close()\n\n\tvar entries []*KVPair\n\tif err := decodeBody(resp, &entries); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn entries, qm, nil\n}\n\n// Keys is used to list all the keys under a prefix. Optionally,\n// a separator can be used to limit the responses.\nfunc (k *KV) Keys(prefix, separator string, q *QueryOptions) ([]string, *QueryMeta, error) {\n\tparams := map[string]string{\"keys\": \"\"}\n\tif separator != \"\" {\n\t\tparams[\"separator\"] = separator\n\t}\n\tresp, qm, err := k.getInternal(prefix, params, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tif resp == nil {\n\t\treturn nil, qm, nil\n\t}\n\tdefer resp.Body.Close()\n\n\tvar entries []string\n\tif err := decodeBody(resp, &entries); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn entries, qm, nil\n}\n\nfunc (k *KV) getInternal(key string, params map[string]string, q *QueryOptions) (*http.Response, *QueryMeta, error) {\n\tr := k.c.newRequest(\"GET\", \"/v1/kv/\"+strings.TrimPrefix(key, \"/\"))\n\tr.setQueryOptions(q)\n\tfor param, val := range params {\n\t\tr.params.Set(param, val)\n\t}\n\trtt, resp, err := k.c.doRequest(r)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tif resp.StatusCode == 404 {\n\t\tresp.Body.Close()\n\t\treturn nil, qm, nil\n\t} else if resp.StatusCode != 200 {\n\t\tresp.Body.Close()\n\t\treturn nil, nil, fmt.Errorf(\"Unexpected response code: %d\", resp.StatusCode)\n\t}\n\treturn resp, qm, nil\n}\n\n// Put is used to write a new value. Only the\n// Key, Flags and Value is respected.\nfunc (k *KV) Put(p *KVPair, q *WriteOptions) (*WriteMeta, error) {\n\tparams := make(map[string]string, 1)\n\tif p.Flags != 0 {\n\t\tparams[\"flags\"] = strconv.FormatUint(p.Flags, 10)\n\t}\n\t_, wm, err := k.put(p.Key, params, p.Value, q)\n\treturn wm, err\n}\n\n// CAS is used for a Check-And-Set operation. The Key,\n// ModifyIndex, Flags and Value are respected. Returns true\n// on success or false on failures.\nfunc (k *KV) CAS(p *KVPair, q *WriteOptions) (bool, *WriteMeta, error) {\n\tparams := make(map[string]string, 2)\n\tif p.Flags != 0 {\n\t\tparams[\"flags\"] = strconv.FormatUint(p.Flags, 10)\n\t}\n\tparams[\"cas\"] = strconv.FormatUint(p.ModifyIndex, 10)\n\treturn k.put(p.Key, params, p.Value, q)\n}\n\n// Acquire is used for a lock acquisition operation. The Key,\n// Flags, Value and Session are respected. Returns true\n// on success or false on failures.\nfunc (k *KV) Acquire(p *KVPair, q *WriteOptions) (bool, *WriteMeta, error) {\n\tparams := make(map[string]string, 2)\n\tif p.Flags != 0 {\n\t\tparams[\"flags\"] = strconv.FormatUint(p.Flags, 10)\n\t}\n\tparams[\"acquire\"] = p.Session\n\treturn k.put(p.Key, params, p.Value, q)\n}\n\n// Release is used for a lock release operation. The Key,\n// Flags, Value and Session are respected. Returns true\n// on success or false on failures.\nfunc (k *KV) Release(p *KVPair, q *WriteOptions) (bool, *WriteMeta, error) {\n\tparams := make(map[string]string, 2)\n\tif p.Flags != 0 {\n\t\tparams[\"flags\"] = strconv.FormatUint(p.Flags, 10)\n\t}\n\tparams[\"release\"] = p.Session\n\treturn k.put(p.Key, params, p.Value, q)\n}\n\nfunc (k *KV) put(key string, params map[string]string, body []byte, q *WriteOptions) (bool, *WriteMeta, error) {\n\tif len(key) > 0 && key[0] == '/' {\n\t\treturn false, nil, fmt.Errorf(\"Invalid key. Key must not begin with a '/': %s\", key)\n\t}\n\n\tr := k.c.newRequest(\"PUT\", \"/v1/kv/\"+key)\n\tr.setWriteOptions(q)\n\tfor param, val := range params {\n\t\tr.params.Set(param, val)\n\t}\n\tr.body = bytes.NewReader(body)\n\trtt, resp, err := requireOK(k.c.doRequest(r))\n\tif err != nil {\n\t\treturn false, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &WriteMeta{}\n\tqm.RequestTime = rtt\n\n\tvar buf bytes.Buffer\n\tif _, err := io.Copy(&buf, resp.Body); err != nil {\n\t\treturn false, nil, fmt.Errorf(\"Failed to read response: %v\", err)\n\t}\n\tres := strings.Contains(buf.String(), \"true\")\n\treturn res, qm, nil\n}\n\n// Delete is used to delete a single key\nfunc (k *KV) Delete(key string, w *WriteOptions) (*WriteMeta, error) {\n\t_, qm, err := k.deleteInternal(key, nil, w)\n\treturn qm, err\n}\n\n// DeleteCAS is used for a Delete Check-And-Set operation. The Key\n// and ModifyIndex are respected. Returns true on success or false on failures.\nfunc (k *KV) DeleteCAS(p *KVPair, q *WriteOptions) (bool, *WriteMeta, error) {\n\tparams := map[string]string{\n\t\t\"cas\": strconv.FormatUint(p.ModifyIndex, 10),\n\t}\n\treturn k.deleteInternal(p.Key, params, q)\n}\n\n// DeleteTree is used to delete all keys under a prefix\nfunc (k *KV) DeleteTree(prefix string, w *WriteOptions) (*WriteMeta, error) {\n\t_, qm, err := k.deleteInternal(prefix, map[string]string{\"recurse\": \"\"}, w)\n\treturn qm, err\n}\n\nfunc (k *KV) deleteInternal(key string, params map[string]string, q *WriteOptions) (bool, *WriteMeta, error) {\n\tr := k.c.newRequest(\"DELETE\", \"/v1/kv/\"+strings.TrimPrefix(key, \"/\"))\n\tr.setWriteOptions(q)\n\tfor param, val := range params {\n\t\tr.params.Set(param, val)\n\t}\n\trtt, resp, err := requireOK(k.c.doRequest(r))\n\tif err != nil {\n\t\treturn false, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &WriteMeta{}\n\tqm.RequestTime = rtt\n\n\tvar buf bytes.Buffer\n\tif _, err := io.Copy(&buf, resp.Body); err != nil {\n\t\treturn false, nil, fmt.Errorf(\"Failed to read response: %v\", err)\n\t}\n\tres := strings.Contains(buf.String(), \"true\")\n\treturn res, qm, nil\n}\n\n// TxnOp is the internal format we send to Consul. It's not specific to KV,\n// though currently only KV operations are supported.\ntype TxnOp struct {\n\tKV *KVTxnOp\n}\n\n// TxnOps is a list of transaction operations.\ntype TxnOps []*TxnOp\n\n// TxnResult is the internal format we receive from Consul.\ntype TxnResult struct {\n\tKV *KVPair\n}\n\n// TxnResults is a list of TxnResult objects.\ntype TxnResults []*TxnResult\n\n// TxnError is used to return information about an operation in a transaction.\ntype TxnError struct {\n\tOpIndex int\n\tWhat    string\n}\n\n// TxnErrors is a list of TxnError objects.\ntype TxnErrors []*TxnError\n\n// TxnResponse is the internal format we receive from Consul.\ntype TxnResponse struct {\n\tResults TxnResults\n\tErrors  TxnErrors\n}\n\n// Txn is used to apply multiple KV operations in a single, atomic transaction.\n//\n// Note that Go will perform the required base64 encoding on the values\n// automatically because the type is a byte slice. Transactions are defined as a\n// list of operations to perform, using the KVOp constants and KVTxnOp structure\n// to define operations. If any operation fails, none of the changes are applied\n// to the state store. Note that this hides the internal raw transaction interface\n// and munges the input and output types into KV-specific ones for ease of use.\n// If there are more non-KV operations in the future we may break out a new\n// transaction API client, but it will be easy to keep this KV-specific variant\n// supported.\n//\n// Even though this is generally a write operation, we take a QueryOptions input\n// and return a QueryMeta output. If the transaction contains only read ops, then\n// Consul will fast-path it to a different endpoint internally which supports\n// consistency controls, but not blocking. If there are write operations then\n// the request will always be routed through raft and any consistency settings\n// will be ignored.\n//\n// Here's an example:\n//\n//\t   ops := KVTxnOps{\n//\t\t   &KVTxnOp{\n//\t\t\t   Verb:    KVLock,\n//\t\t\t   Key:     \"test/lock\",\n//\t\t\t   Session: \"adf4238a-882b-9ddc-4a9d-5b6758e4159e\",\n//\t\t\t   Value:   []byte(\"hello\"),\n//\t\t   },\n//\t\t   &KVTxnOp{\n//\t\t\t   Verb:    KVGet,\n//\t\t\t   Key:     \"another/key\",\n//\t\t   },\n//\t   }\n//\t   ok, response, _, err := kv.Txn(&ops, nil)\n//\n// If there is a problem making the transaction request then an error will be\n// returned. Otherwise, the ok value will be true if the transaction succeeded\n// or false if it was rolled back. The response is a structured return value which\n// will have the outcome of the transaction. Its Results member will have entries\n// for each operation. Deleted keys will have a nil entry in the, and to save\n// space, the Value of each key in the Results will be nil unless the operation\n// is a KVGet. If the transaction was rolled back, the Errors member will have\n// entries referencing the index of the operation that failed along with an error\n// message.\nfunc (k *KV) Txn(txn KVTxnOps, q *QueryOptions) (bool, *KVTxnResponse, *QueryMeta, error) {\n\tr := k.c.newRequest(\"PUT\", \"/v1/txn\")\n\tr.setQueryOptions(q)\n\n\t// Convert into the internal format since this is an all-KV txn.\n\tops := make(TxnOps, 0, len(txn))\n\tfor _, kvOp := range txn {\n\t\tops = append(ops, &TxnOp{KV: kvOp})\n\t}\n\tr.obj = ops\n\trtt, resp, err := k.c.doRequest(r)\n\tif err != nil {\n\t\treturn false, nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\n\tif resp.StatusCode == http.StatusOK || resp.StatusCode == http.StatusConflict {\n\t\tvar txnResp TxnResponse\n\t\tif err := decodeBody(resp, &txnResp); err != nil {\n\t\t\treturn false, nil, nil, err\n\t\t}\n\n\t\t// Convert from the internal format.\n\t\tkvResp := KVTxnResponse{\n\t\t\tErrors: txnResp.Errors,\n\t\t}\n\t\tfor _, result := range txnResp.Results {\n\t\t\tkvResp.Results = append(kvResp.Results, result.KV)\n\t\t}\n\t\treturn resp.StatusCode == http.StatusOK, &kvResp, qm, nil\n\t}\n\n\tvar buf bytes.Buffer\n\tif _, err := io.Copy(&buf, resp.Body); err != nil {\n\t\treturn false, nil, nil, fmt.Errorf(\"Failed to read response: %v\", err)\n\t}\n\treturn false, nil, nil, fmt.Errorf(\"Failed request: %s\", buf.String())\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/lock.go",
    "content": "package api\n\nimport (\n\t\"fmt\"\n\t\"sync\"\n\t\"time\"\n)\n\nconst (\n\t// DefaultLockSessionName is the Session Name we assign if none is provided\n\tDefaultLockSessionName = \"Consul API Lock\"\n\n\t// DefaultLockSessionTTL is the default session TTL if no Session is provided\n\t// when creating a new Lock. This is used because we do not have another\n\t// other check to depend upon.\n\tDefaultLockSessionTTL = \"15s\"\n\n\t// DefaultLockWaitTime is how long we block for at a time to check if lock\n\t// acquisition is possible. This affects the minimum time it takes to cancel\n\t// a Lock acquisition.\n\tDefaultLockWaitTime = 15 * time.Second\n\n\t// DefaultLockRetryTime is how long we wait after a failed lock acquisition\n\t// before attempting to do the lock again. This is so that once a lock-delay\n\t// is in effect, we do not hot loop retrying the acquisition.\n\tDefaultLockRetryTime = 5 * time.Second\n\n\t// DefaultMonitorRetryTime is how long we wait after a failed monitor check\n\t// of a lock (500 response code). This allows the monitor to ride out brief\n\t// periods of unavailability, subject to the MonitorRetries setting in the\n\t// lock options which is by default set to 0, disabling this feature. This\n\t// affects locks and semaphores.\n\tDefaultMonitorRetryTime = 2 * time.Second\n\n\t// LockFlagValue is a magic flag we set to indicate a key\n\t// is being used for a lock. It is used to detect a potential\n\t// conflict with a semaphore.\n\tLockFlagValue = 0x2ddccbc058a50c18\n)\n\nvar (\n\t// ErrLockHeld is returned if we attempt to double lock\n\tErrLockHeld = fmt.Errorf(\"Lock already held\")\n\n\t// ErrLockNotHeld is returned if we attempt to unlock a lock\n\t// that we do not hold.\n\tErrLockNotHeld = fmt.Errorf(\"Lock not held\")\n\n\t// ErrLockInUse is returned if we attempt to destroy a lock\n\t// that is in use.\n\tErrLockInUse = fmt.Errorf(\"Lock in use\")\n\n\t// ErrLockConflict is returned if the flags on a key\n\t// used for a lock do not match expectation\n\tErrLockConflict = fmt.Errorf(\"Existing key does not match lock use\")\n)\n\n// Lock is used to implement client-side leader election. It is follows the\n// algorithm as described here: https://www.consul.io/docs/guides/leader-election.html.\ntype Lock struct {\n\tc    *Client\n\topts *LockOptions\n\n\tisHeld       bool\n\tsessionRenew chan struct{}\n\tlockSession  string\n\tl            sync.Mutex\n}\n\n// LockOptions is used to parameterize the Lock behavior.\ntype LockOptions struct {\n\tKey              string        // Must be set and have write permissions\n\tValue            []byte        // Optional, value to associate with the lock\n\tSession          string        // Optional, created if not specified\n\tSessionOpts      *SessionEntry // Optional, options to use when creating a session\n\tSessionName      string        // Optional, defaults to DefaultLockSessionName (ignored if SessionOpts is given)\n\tSessionTTL       string        // Optional, defaults to DefaultLockSessionTTL (ignored if SessionOpts is given)\n\tMonitorRetries   int           // Optional, defaults to 0 which means no retries\n\tMonitorRetryTime time.Duration // Optional, defaults to DefaultMonitorRetryTime\n\tLockWaitTime     time.Duration // Optional, defaults to DefaultLockWaitTime\n\tLockTryOnce      bool          // Optional, defaults to false which means try forever\n}\n\n// LockKey returns a handle to a lock struct which can be used\n// to acquire and release the mutex. The key used must have\n// write permissions.\nfunc (c *Client) LockKey(key string) (*Lock, error) {\n\topts := &LockOptions{\n\t\tKey: key,\n\t}\n\treturn c.LockOpts(opts)\n}\n\n// LockOpts returns a handle to a lock struct which can be used\n// to acquire and release the mutex. The key used must have\n// write permissions.\nfunc (c *Client) LockOpts(opts *LockOptions) (*Lock, error) {\n\tif opts.Key == \"\" {\n\t\treturn nil, fmt.Errorf(\"missing key\")\n\t}\n\tif opts.SessionName == \"\" {\n\t\topts.SessionName = DefaultLockSessionName\n\t}\n\tif opts.SessionTTL == \"\" {\n\t\topts.SessionTTL = DefaultLockSessionTTL\n\t} else {\n\t\tif _, err := time.ParseDuration(opts.SessionTTL); err != nil {\n\t\t\treturn nil, fmt.Errorf(\"invalid SessionTTL: %v\", err)\n\t\t}\n\t}\n\tif opts.MonitorRetryTime == 0 {\n\t\topts.MonitorRetryTime = DefaultMonitorRetryTime\n\t}\n\tif opts.LockWaitTime == 0 {\n\t\topts.LockWaitTime = DefaultLockWaitTime\n\t}\n\tl := &Lock{\n\t\tc:    c,\n\t\topts: opts,\n\t}\n\treturn l, nil\n}\n\n// Lock attempts to acquire the lock and blocks while doing so.\n// Providing a non-nil stopCh can be used to abort the lock attempt.\n// Returns a channel that is closed if our lock is lost or an error.\n// This channel could be closed at any time due to session invalidation,\n// communication errors, operator intervention, etc. It is NOT safe to\n// assume that the lock is held until Unlock() unless the Session is specifically\n// created without any associated health checks. By default Consul sessions\n// prefer liveness over safety and an application must be able to handle\n// the lock being lost.\nfunc (l *Lock) Lock(stopCh <-chan struct{}) (<-chan struct{}, error) {\n\t// Hold the lock as we try to acquire\n\tl.l.Lock()\n\tdefer l.l.Unlock()\n\n\t// Check if we already hold the lock\n\tif l.isHeld {\n\t\treturn nil, ErrLockHeld\n\t}\n\n\t// Check if we need to create a session first\n\tl.lockSession = l.opts.Session\n\tif l.lockSession == \"\" {\n\t\ts, err := l.createSession()\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"failed to create session: %v\", err)\n\t\t}\n\n\t\tl.sessionRenew = make(chan struct{})\n\t\tl.lockSession = s\n\t\tsession := l.c.Session()\n\t\tgo session.RenewPeriodic(l.opts.SessionTTL, s, nil, l.sessionRenew)\n\n\t\t// If we fail to acquire the lock, cleanup the session\n\t\tdefer func() {\n\t\t\tif !l.isHeld {\n\t\t\t\tclose(l.sessionRenew)\n\t\t\t\tl.sessionRenew = nil\n\t\t\t}\n\t\t}()\n\t}\n\n\t// Setup the query options\n\tkv := l.c.KV()\n\tqOpts := &QueryOptions{\n\t\tWaitTime: l.opts.LockWaitTime,\n\t}\n\n\tstart := time.Now()\n\tattempts := 0\nWAIT:\n\t// Check if we should quit\n\tselect {\n\tcase <-stopCh:\n\t\treturn nil, nil\n\tdefault:\n\t}\n\n\t// Handle the one-shot mode.\n\tif l.opts.LockTryOnce && attempts > 0 {\n\t\telapsed := time.Since(start)\n\t\tif elapsed > qOpts.WaitTime {\n\t\t\treturn nil, nil\n\t\t}\n\n\t\tqOpts.WaitTime -= elapsed\n\t}\n\tattempts++\n\n\t// Look for an existing lock, blocking until not taken\n\tpair, meta, err := kv.Get(l.opts.Key, qOpts)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to read lock: %v\", err)\n\t}\n\tif pair != nil && pair.Flags != LockFlagValue {\n\t\treturn nil, ErrLockConflict\n\t}\n\tlocked := false\n\tif pair != nil && pair.Session == l.lockSession {\n\t\tgoto HELD\n\t}\n\tif pair != nil && pair.Session != \"\" {\n\t\tqOpts.WaitIndex = meta.LastIndex\n\t\tgoto WAIT\n\t}\n\n\t// Try to acquire the lock\n\tpair = l.lockEntry(l.lockSession)\n\tlocked, _, err = kv.Acquire(pair, nil)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to acquire lock: %v\", err)\n\t}\n\n\t// Handle the case of not getting the lock\n\tif !locked {\n\t\t// Determine why the lock failed\n\t\tqOpts.WaitIndex = 0\n\t\tpair, meta, err = kv.Get(l.opts.Key, qOpts)\n\t\tif pair != nil && pair.Session != \"\" {\n\t\t\t//If the session is not null, this means that a wait can safely happen\n\t\t\t//using a long poll\n\t\t\tqOpts.WaitIndex = meta.LastIndex\n\t\t\tgoto WAIT\n\t\t} else {\n\t\t\t// If the session is empty and the lock failed to acquire, then it means\n\t\t\t// a lock-delay is in effect and a timed wait must be used\n\t\t\tselect {\n\t\t\tcase <-time.After(DefaultLockRetryTime):\n\t\t\t\tgoto WAIT\n\t\t\tcase <-stopCh:\n\t\t\t\treturn nil, nil\n\t\t\t}\n\t\t}\n\t}\n\nHELD:\n\t// Watch to ensure we maintain leadership\n\tleaderCh := make(chan struct{})\n\tgo l.monitorLock(l.lockSession, leaderCh)\n\n\t// Set that we own the lock\n\tl.isHeld = true\n\n\t// Locked! All done\n\treturn leaderCh, nil\n}\n\n// Unlock released the lock. It is an error to call this\n// if the lock is not currently held.\nfunc (l *Lock) Unlock() error {\n\t// Hold the lock as we try to release\n\tl.l.Lock()\n\tdefer l.l.Unlock()\n\n\t// Ensure the lock is actually held\n\tif !l.isHeld {\n\t\treturn ErrLockNotHeld\n\t}\n\n\t// Set that we no longer own the lock\n\tl.isHeld = false\n\n\t// Stop the session renew\n\tif l.sessionRenew != nil {\n\t\tdefer func() {\n\t\t\tclose(l.sessionRenew)\n\t\t\tl.sessionRenew = nil\n\t\t}()\n\t}\n\n\t// Get the lock entry, and clear the lock session\n\tlockEnt := l.lockEntry(l.lockSession)\n\tl.lockSession = \"\"\n\n\t// Release the lock explicitly\n\tkv := l.c.KV()\n\t_, _, err := kv.Release(lockEnt, nil)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to release lock: %v\", err)\n\t}\n\treturn nil\n}\n\n// Destroy is used to cleanup the lock entry. It is not necessary\n// to invoke. It will fail if the lock is in use.\nfunc (l *Lock) Destroy() error {\n\t// Hold the lock as we try to release\n\tl.l.Lock()\n\tdefer l.l.Unlock()\n\n\t// Check if we already hold the lock\n\tif l.isHeld {\n\t\treturn ErrLockHeld\n\t}\n\n\t// Look for an existing lock\n\tkv := l.c.KV()\n\tpair, _, err := kv.Get(l.opts.Key, nil)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to read lock: %v\", err)\n\t}\n\n\t// Nothing to do if the lock does not exist\n\tif pair == nil {\n\t\treturn nil\n\t}\n\n\t// Check for possible flag conflict\n\tif pair.Flags != LockFlagValue {\n\t\treturn ErrLockConflict\n\t}\n\n\t// Check if it is in use\n\tif pair.Session != \"\" {\n\t\treturn ErrLockInUse\n\t}\n\n\t// Attempt the delete\n\tdidRemove, _, err := kv.DeleteCAS(pair, nil)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to remove lock: %v\", err)\n\t}\n\tif !didRemove {\n\t\treturn ErrLockInUse\n\t}\n\treturn nil\n}\n\n// createSession is used to create a new managed session\nfunc (l *Lock) createSession() (string, error) {\n\tsession := l.c.Session()\n\tse := l.opts.SessionOpts\n\tif se == nil {\n\t\tse = &SessionEntry{\n\t\t\tName: l.opts.SessionName,\n\t\t\tTTL:  l.opts.SessionTTL,\n\t\t}\n\t}\n\tid, _, err := session.Create(se, nil)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn id, nil\n}\n\n// lockEntry returns a formatted KVPair for the lock\nfunc (l *Lock) lockEntry(session string) *KVPair {\n\treturn &KVPair{\n\t\tKey:     l.opts.Key,\n\t\tValue:   l.opts.Value,\n\t\tSession: session,\n\t\tFlags:   LockFlagValue,\n\t}\n}\n\n// monitorLock is a long running routine to monitor a lock ownership\n// It closes the stopCh if we lose our leadership.\nfunc (l *Lock) monitorLock(session string, stopCh chan struct{}) {\n\tdefer close(stopCh)\n\tkv := l.c.KV()\n\topts := &QueryOptions{RequireConsistent: true}\nWAIT:\n\tretries := l.opts.MonitorRetries\nRETRY:\n\tpair, meta, err := kv.Get(l.opts.Key, opts)\n\tif err != nil {\n\t\t// If configured we can try to ride out a brief Consul unavailability\n\t\t// by doing retries. Note that we have to attempt the retry in a non-\n\t\t// blocking fashion so that we have a clean place to reset the retry\n\t\t// counter if service is restored.\n\t\tif retries > 0 && IsRetryableError(err) {\n\t\t\ttime.Sleep(l.opts.MonitorRetryTime)\n\t\t\tretries--\n\t\t\topts.WaitIndex = 0\n\t\t\tgoto RETRY\n\t\t}\n\t\treturn\n\t}\n\tif pair != nil && pair.Session == session {\n\t\topts.WaitIndex = meta.LastIndex\n\t\tgoto WAIT\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/operator.go",
    "content": "package api\n\n// Operator can be used to perform low-level operator tasks for Consul.\ntype Operator struct {\n\tc *Client\n}\n\n// Operator returns a handle to the operator endpoints.\nfunc (c *Client) Operator() *Operator {\n\treturn &Operator{c}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/operator_area.go",
    "content": "// The /v1/operator/area endpoints are available only in Consul Enterprise and\n// interact with its network area subsystem. Network areas are used to link\n// together Consul servers in different Consul datacenters. With network areas,\n// Consul datacenters can be linked together in ways other than a fully-connected\n// mesh, as is required for Consul's WAN.\npackage api\n\nimport (\n\t\"net\"\n\t\"time\"\n)\n\n// Area defines a network area.\ntype Area struct {\n\t// ID is this identifier for an area (a UUID). This must be left empty\n\t// when creating a new area.\n\tID string\n\n\t// PeerDatacenter is the peer Consul datacenter that will make up the\n\t// other side of this network area. Network areas always involve a pair\n\t// of datacenters: the datacenter where the area was created, and the\n\t// peer datacenter. This is required.\n\tPeerDatacenter string\n\n\t// RetryJoin specifies the address of Consul servers to join to, such as\n\t// an IPs or hostnames with an optional port number. This is optional.\n\tRetryJoin []string\n\n\t// UseTLS specifies whether gossip over this area should be encrypted with TLS\n\t// if possible.\n\tUseTLS bool\n}\n\n// AreaJoinResponse is returned when a join occurs and gives the result for each\n// address.\ntype AreaJoinResponse struct {\n\t// The address that was joined.\n\tAddress string\n\n\t// Whether or not the join was a success.\n\tJoined bool\n\n\t// If we couldn't join, this is the message with information.\n\tError string\n}\n\n// SerfMember is a generic structure for reporting information about members in\n// a Serf cluster. This is only used by the area endpoints right now, but this\n// could be expanded to other endpoints in the future.\ntype SerfMember struct {\n\t// ID is the node identifier (a UUID).\n\tID string\n\n\t// Name is the node name.\n\tName string\n\n\t// Addr has the IP address.\n\tAddr net.IP\n\n\t// Port is the RPC port.\n\tPort uint16\n\n\t// Datacenter is the DC name.\n\tDatacenter string\n\n\t// Role is \"client\", \"server\", or \"unknown\".\n\tRole string\n\n\t// Build has the version of the Consul agent.\n\tBuild string\n\n\t// Protocol is the protocol of the Consul agent.\n\tProtocol int\n\n\t// Status is the Serf health status \"none\", \"alive\", \"leaving\", \"left\",\n\t// or \"failed\".\n\tStatus string\n\n\t// RTT is the estimated round trip time from the server handling the\n\t// request to the this member. This will be negative if no RTT estimate\n\t// is available.\n\tRTT time.Duration\n}\n\n// AreaCreate will create a new network area. The ID in the given structure must\n// be empty and a generated ID will be returned on success.\nfunc (op *Operator) AreaCreate(area *Area, q *WriteOptions) (string, *WriteMeta, error) {\n\tr := op.c.newRequest(\"POST\", \"/v1/operator/area\")\n\tr.setWriteOptions(q)\n\tr.obj = area\n\trtt, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn \"\", nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{}\n\twm.RequestTime = rtt\n\n\tvar out struct{ ID string }\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn \"\", nil, err\n\t}\n\treturn out.ID, wm, nil\n}\n\n// AreaUpdate will update the configuration of the network area with the given ID.\nfunc (op *Operator) AreaUpdate(areaID string, area *Area, q *WriteOptions) (string, *WriteMeta, error) {\n\tr := op.c.newRequest(\"PUT\", \"/v1/operator/area/\"+areaID)\n\tr.setWriteOptions(q)\n\tr.obj = area\n\trtt, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn \"\", nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{}\n\twm.RequestTime = rtt\n\n\tvar out struct{ ID string }\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn \"\", nil, err\n\t}\n\treturn out.ID, wm, nil\n}\n\n// AreaGet returns a single network area.\nfunc (op *Operator) AreaGet(areaID string, q *QueryOptions) ([]*Area, *QueryMeta, error) {\n\tvar out []*Area\n\tqm, err := op.c.query(\"/v1/operator/area/\"+areaID, &out, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n\n// AreaList returns all the available network areas.\nfunc (op *Operator) AreaList(q *QueryOptions) ([]*Area, *QueryMeta, error) {\n\tvar out []*Area\n\tqm, err := op.c.query(\"/v1/operator/area\", &out, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n\n// AreaDelete deletes the given network area.\nfunc (op *Operator) AreaDelete(areaID string, q *WriteOptions) (*WriteMeta, error) {\n\tr := op.c.newRequest(\"DELETE\", \"/v1/operator/area/\"+areaID)\n\tr.setWriteOptions(q)\n\trtt, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{}\n\twm.RequestTime = rtt\n\treturn wm, nil\n}\n\n// AreaJoin attempts to join the given set of join addresses to the given\n// network area. See the Area structure for details about join addresses.\nfunc (op *Operator) AreaJoin(areaID string, addresses []string, q *WriteOptions) ([]*AreaJoinResponse, *WriteMeta, error) {\n\tr := op.c.newRequest(\"PUT\", \"/v1/operator/area/\"+areaID+\"/join\")\n\tr.setWriteOptions(q)\n\tr.obj = addresses\n\trtt, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{}\n\twm.RequestTime = rtt\n\n\tvar out []*AreaJoinResponse\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, wm, nil\n}\n\n// AreaMembers lists the Serf information about the members in the given area.\nfunc (op *Operator) AreaMembers(areaID string, q *QueryOptions) ([]*SerfMember, *QueryMeta, error) {\n\tvar out []*SerfMember\n\tqm, err := op.c.query(\"/v1/operator/area/\"+areaID+\"/members\", &out, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/operator_autopilot.go",
    "content": "package api\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n)\n\n// AutopilotConfiguration is used for querying/setting the Autopilot configuration.\n// Autopilot helps manage operator tasks related to Consul servers like removing\n// failed servers from the Raft quorum.\ntype AutopilotConfiguration struct {\n\t// CleanupDeadServers controls whether to remove dead servers from the Raft\n\t// peer list when a new server joins\n\tCleanupDeadServers bool\n\n\t// LastContactThreshold is the limit on the amount of time a server can go\n\t// without leader contact before being considered unhealthy.\n\tLastContactThreshold *ReadableDuration\n\n\t// MaxTrailingLogs is the amount of entries in the Raft Log that a server can\n\t// be behind before being considered unhealthy.\n\tMaxTrailingLogs uint64\n\n\t// ServerStabilizationTime is the minimum amount of time a server must be\n\t// in a stable, healthy state before it can be added to the cluster. Only\n\t// applicable with Raft protocol version 3 or higher.\n\tServerStabilizationTime *ReadableDuration\n\n\t// (Enterprise-only) RedundancyZoneTag is the node tag to use for separating\n\t// servers into zones for redundancy. If left blank, this feature will be disabled.\n\tRedundancyZoneTag string\n\n\t// (Enterprise-only) DisableUpgradeMigration will disable Autopilot's upgrade migration\n\t// strategy of waiting until enough newer-versioned servers have been added to the\n\t// cluster before promoting them to voters.\n\tDisableUpgradeMigration bool\n\n\t// (Enterprise-only) UpgradeVersionTag is the node tag to use for version info when\n\t// performing upgrade migrations. If left blank, the Consul version will be used.\n\tUpgradeVersionTag string\n\n\t// CreateIndex holds the index corresponding the creation of this configuration.\n\t// This is a read-only field.\n\tCreateIndex uint64\n\n\t// ModifyIndex will be set to the index of the last update when retrieving the\n\t// Autopilot configuration. Resubmitting a configuration with\n\t// AutopilotCASConfiguration will perform a check-and-set operation which ensures\n\t// there hasn't been a subsequent update since the configuration was retrieved.\n\tModifyIndex uint64\n}\n\n// ServerHealth is the health (from the leader's point of view) of a server.\ntype ServerHealth struct {\n\t// ID is the raft ID of the server.\n\tID string\n\n\t// Name is the node name of the server.\n\tName string\n\n\t// Address is the address of the server.\n\tAddress string\n\n\t// The status of the SerfHealth check for the server.\n\tSerfStatus string\n\n\t// Version is the Consul version of the server.\n\tVersion string\n\n\t// Leader is whether this server is currently the leader.\n\tLeader bool\n\n\t// LastContact is the time since this node's last contact with the leader.\n\tLastContact *ReadableDuration\n\n\t// LastTerm is the highest leader term this server has a record of in its Raft log.\n\tLastTerm uint64\n\n\t// LastIndex is the last log index this server has a record of in its Raft log.\n\tLastIndex uint64\n\n\t// Healthy is whether or not the server is healthy according to the current\n\t// Autopilot config.\n\tHealthy bool\n\n\t// Voter is whether this is a voting server.\n\tVoter bool\n\n\t// StableSince is the last time this server's Healthy value changed.\n\tStableSince time.Time\n}\n\n// OperatorHealthReply is a representation of the overall health of the cluster\ntype OperatorHealthReply struct {\n\t// Healthy is true if all the servers in the cluster are healthy.\n\tHealthy bool\n\n\t// FailureTolerance is the number of healthy servers that could be lost without\n\t// an outage occurring.\n\tFailureTolerance int\n\n\t// Servers holds the health of each server.\n\tServers []ServerHealth\n}\n\n// ReadableDuration is a duration type that is serialized to JSON in human readable format.\ntype ReadableDuration time.Duration\n\nfunc NewReadableDuration(dur time.Duration) *ReadableDuration {\n\td := ReadableDuration(dur)\n\treturn &d\n}\n\nfunc (d *ReadableDuration) String() string {\n\treturn d.Duration().String()\n}\n\nfunc (d *ReadableDuration) Duration() time.Duration {\n\tif d == nil {\n\t\treturn time.Duration(0)\n\t}\n\treturn time.Duration(*d)\n}\n\nfunc (d *ReadableDuration) MarshalJSON() ([]byte, error) {\n\treturn []byte(fmt.Sprintf(`\"%s\"`, d.Duration().String())), nil\n}\n\nfunc (d *ReadableDuration) UnmarshalJSON(raw []byte) error {\n\tif d == nil {\n\t\treturn fmt.Errorf(\"cannot unmarshal to nil pointer\")\n\t}\n\n\tstr := string(raw)\n\tif len(str) < 2 || str[0] != '\"' || str[len(str)-1] != '\"' {\n\t\treturn fmt.Errorf(\"must be enclosed with quotes: %s\", str)\n\t}\n\tdur, err := time.ParseDuration(str[1 : len(str)-1])\n\tif err != nil {\n\t\treturn err\n\t}\n\t*d = ReadableDuration(dur)\n\treturn nil\n}\n\n// AutopilotGetConfiguration is used to query the current Autopilot configuration.\nfunc (op *Operator) AutopilotGetConfiguration(q *QueryOptions) (*AutopilotConfiguration, error) {\n\tr := op.c.newRequest(\"GET\", \"/v1/operator/autopilot/configuration\")\n\tr.setQueryOptions(q)\n\t_, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar out AutopilotConfiguration\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn &out, nil\n}\n\n// AutopilotSetConfiguration is used to set the current Autopilot configuration.\nfunc (op *Operator) AutopilotSetConfiguration(conf *AutopilotConfiguration, q *WriteOptions) error {\n\tr := op.c.newRequest(\"PUT\", \"/v1/operator/autopilot/configuration\")\n\tr.setWriteOptions(q)\n\tr.obj = conf\n\t_, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// AutopilotCASConfiguration is used to perform a Check-And-Set update on the\n// Autopilot configuration. The ModifyIndex value will be respected. Returns\n// true on success or false on failures.\nfunc (op *Operator) AutopilotCASConfiguration(conf *AutopilotConfiguration, q *WriteOptions) (bool, error) {\n\tr := op.c.newRequest(\"PUT\", \"/v1/operator/autopilot/configuration\")\n\tr.setWriteOptions(q)\n\tr.params.Set(\"cas\", strconv.FormatUint(conf.ModifyIndex, 10))\n\tr.obj = conf\n\t_, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn false, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar buf bytes.Buffer\n\tif _, err := io.Copy(&buf, resp.Body); err != nil {\n\t\treturn false, fmt.Errorf(\"Failed to read response: %v\", err)\n\t}\n\tres := strings.Contains(buf.String(), \"true\")\n\n\treturn res, nil\n}\n\n// AutopilotServerHealth\nfunc (op *Operator) AutopilotServerHealth(q *QueryOptions) (*OperatorHealthReply, error) {\n\tr := op.c.newRequest(\"GET\", \"/v1/operator/autopilot/health\")\n\tr.setQueryOptions(q)\n\t_, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar out OperatorHealthReply\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, err\n\t}\n\treturn &out, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/operator_keyring.go",
    "content": "package api\n\n// keyringRequest is used for performing Keyring operations\ntype keyringRequest struct {\n\tKey string\n}\n\n// KeyringResponse is returned when listing the gossip encryption keys\ntype KeyringResponse struct {\n\t// Whether this response is for a WAN ring\n\tWAN bool\n\n\t// The datacenter name this request corresponds to\n\tDatacenter string\n\n\t// Segment has the network segment this request corresponds to.\n\tSegment string\n\n\t// A map of the encryption keys to the number of nodes they're installed on\n\tKeys map[string]int\n\n\t// The total number of nodes in this ring\n\tNumNodes int\n}\n\n// KeyringInstall is used to install a new gossip encryption key into the cluster\nfunc (op *Operator) KeyringInstall(key string, q *WriteOptions) error {\n\tr := op.c.newRequest(\"POST\", \"/v1/operator/keyring\")\n\tr.setWriteOptions(q)\n\tr.obj = keyringRequest{\n\t\tKey: key,\n\t}\n\t_, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// KeyringList is used to list the gossip keys installed in the cluster\nfunc (op *Operator) KeyringList(q *QueryOptions) ([]*KeyringResponse, error) {\n\tr := op.c.newRequest(\"GET\", \"/v1/operator/keyring\")\n\tr.setQueryOptions(q)\n\t_, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar out []*KeyringResponse\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// KeyringRemove is used to remove a gossip encryption key from the cluster\nfunc (op *Operator) KeyringRemove(key string, q *WriteOptions) error {\n\tr := op.c.newRequest(\"DELETE\", \"/v1/operator/keyring\")\n\tr.setWriteOptions(q)\n\tr.obj = keyringRequest{\n\t\tKey: key,\n\t}\n\t_, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n\n// KeyringUse is used to change the active gossip encryption key\nfunc (op *Operator) KeyringUse(key string, q *WriteOptions) error {\n\tr := op.c.newRequest(\"PUT\", \"/v1/operator/keyring\")\n\tr.setWriteOptions(q)\n\tr.obj = keyringRequest{\n\t\tKey: key,\n\t}\n\t_, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp.Body.Close()\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/operator_raft.go",
    "content": "package api\n\n// RaftServer has information about a server in the Raft configuration.\ntype RaftServer struct {\n\t// ID is the unique ID for the server. These are currently the same\n\t// as the address, but they will be changed to a real GUID in a future\n\t// release of Consul.\n\tID string\n\n\t// Node is the node name of the server, as known by Consul, or this\n\t// will be set to \"(unknown)\" otherwise.\n\tNode string\n\n\t// Address is the IP:port of the server, used for Raft communications.\n\tAddress string\n\n\t// Leader is true if this server is the current cluster leader.\n\tLeader bool\n\n\t// Protocol version is the raft protocol version used by the server\n\tProtocolVersion string\n\n\t// Voter is true if this server has a vote in the cluster. This might\n\t// be false if the server is staging and still coming online, or if\n\t// it's a non-voting server, which will be added in a future release of\n\t// Consul.\n\tVoter bool\n}\n\n// RaftConfiguration is returned when querying for the current Raft configuration.\ntype RaftConfiguration struct {\n\t// Servers has the list of servers in the Raft configuration.\n\tServers []*RaftServer\n\n\t// Index has the Raft index of this configuration.\n\tIndex uint64\n}\n\n// RaftGetConfiguration is used to query the current Raft peer set.\nfunc (op *Operator) RaftGetConfiguration(q *QueryOptions) (*RaftConfiguration, error) {\n\tr := op.c.newRequest(\"GET\", \"/v1/operator/raft/configuration\")\n\tr.setQueryOptions(q)\n\t_, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar out RaftConfiguration\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn nil, err\n\t}\n\treturn &out, nil\n}\n\n// RaftRemovePeerByAddress is used to kick a stale peer (one that it in the Raft\n// quorum but no longer known to Serf or the catalog) by address in the form of\n// \"IP:port\".\nfunc (op *Operator) RaftRemovePeerByAddress(address string, q *WriteOptions) error {\n\tr := op.c.newRequest(\"DELETE\", \"/v1/operator/raft/peer\")\n\tr.setWriteOptions(q)\n\n\tr.params.Set(\"address\", string(address))\n\n\t_, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tresp.Body.Close()\n\treturn nil\n}\n\n// RaftRemovePeerByID is used to kick a stale peer (one that it in the Raft\n// quorum but no longer known to Serf or the catalog) by ID.\nfunc (op *Operator) RaftRemovePeerByID(id string, q *WriteOptions) error {\n\tr := op.c.newRequest(\"DELETE\", \"/v1/operator/raft/peer\")\n\tr.setWriteOptions(q)\n\n\tr.params.Set(\"id\", string(id))\n\n\t_, resp, err := requireOK(op.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tresp.Body.Close()\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/operator_segment.go",
    "content": "package api\n\n// SegmentList returns all the available LAN segments.\nfunc (op *Operator) SegmentList(q *QueryOptions) ([]string, *QueryMeta, error) {\n\tvar out []string\n\tqm, err := op.c.query(\"/v1/operator/segment\", &out, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/prepared_query.go",
    "content": "package api\n\n// QueryDatacenterOptions sets options about how we fail over if there are no\n// healthy nodes in the local datacenter.\ntype QueryDatacenterOptions struct {\n\t// NearestN is set to the number of remote datacenters to try, based on\n\t// network coordinates.\n\tNearestN int\n\n\t// Datacenters is a fixed list of datacenters to try after NearestN. We\n\t// never try a datacenter multiple times, so those are subtracted from\n\t// this list before proceeding.\n\tDatacenters []string\n}\n\n// QueryDNSOptions controls settings when query results are served over DNS.\ntype QueryDNSOptions struct {\n\t// TTL is the time to live for the served DNS results.\n\tTTL string\n}\n\n// ServiceQuery is used to query for a set of healthy nodes offering a specific\n// service.\ntype ServiceQuery struct {\n\t// Service is the service to query.\n\tService string\n\n\t// Near allows baking in the name of a node to automatically distance-\n\t// sort from. The magic \"_agent\" value is supported, which sorts near\n\t// the agent which initiated the request by default.\n\tNear string\n\n\t// Failover controls what we do if there are no healthy nodes in the\n\t// local datacenter.\n\tFailover QueryDatacenterOptions\n\n\t// If OnlyPassing is true then we will only include nodes with passing\n\t// health checks (critical AND warning checks will cause a node to be\n\t// discarded)\n\tOnlyPassing bool\n\n\t// Tags are a set of required and/or disallowed tags. If a tag is in\n\t// this list it must be present. If the tag is preceded with \"!\" then\n\t// it is disallowed.\n\tTags []string\n\n\t// NodeMeta is a map of required node metadata fields. If a key/value\n\t// pair is in this map it must be present on the node in order for the\n\t// service entry to be returned.\n\tNodeMeta map[string]string\n}\n\n// QueryTemplate carries the arguments for creating a templated query.\ntype QueryTemplate struct {\n\t// Type specifies the type of the query template. Currently only\n\t// \"name_prefix_match\" is supported. This field is required.\n\tType string\n\n\t// Regexp allows specifying a regex pattern to match against the name\n\t// of the query being executed.\n\tRegexp string\n}\n\n// PrepatedQueryDefinition defines a complete prepared query.\ntype PreparedQueryDefinition struct {\n\t// ID is this UUID-based ID for the query, always generated by Consul.\n\tID string\n\n\t// Name is an optional friendly name for the query supplied by the\n\t// user. NOTE - if this feature is used then it will reduce the security\n\t// of any read ACL associated with this query/service since this name\n\t// can be used to locate nodes with supplying any ACL.\n\tName string\n\n\t// Session is an optional session to tie this query's lifetime to. If\n\t// this is omitted then the query will not expire.\n\tSession string\n\n\t// Token is the ACL token used when the query was created, and it is\n\t// used when a query is subsequently executed. This token, or a token\n\t// with management privileges, must be used to change the query later.\n\tToken string\n\n\t// Service defines a service query (leaving things open for other types\n\t// later).\n\tService ServiceQuery\n\n\t// DNS has options that control how the results of this query are\n\t// served over DNS.\n\tDNS QueryDNSOptions\n\n\t// Template is used to pass through the arguments for creating a\n\t// prepared query with an attached template. If a template is given,\n\t// interpolations are possible in other struct fields.\n\tTemplate QueryTemplate\n}\n\n// PreparedQueryExecuteResponse has the results of executing a query.\ntype PreparedQueryExecuteResponse struct {\n\t// Service is the service that was queried.\n\tService string\n\n\t// Nodes has the nodes that were output by the query.\n\tNodes []ServiceEntry\n\n\t// DNS has the options for serving these results over DNS.\n\tDNS QueryDNSOptions\n\n\t// Datacenter is the datacenter that these results came from.\n\tDatacenter string\n\n\t// Failovers is a count of how many times we had to query a remote\n\t// datacenter.\n\tFailovers int\n}\n\n// PreparedQuery can be used to query the prepared query endpoints.\ntype PreparedQuery struct {\n\tc *Client\n}\n\n// PreparedQuery returns a handle to the prepared query endpoints.\nfunc (c *Client) PreparedQuery() *PreparedQuery {\n\treturn &PreparedQuery{c}\n}\n\n// Create makes a new prepared query. The ID of the new query is returned.\nfunc (c *PreparedQuery) Create(query *PreparedQueryDefinition, q *WriteOptions) (string, *WriteMeta, error) {\n\tr := c.c.newRequest(\"POST\", \"/v1/query\")\n\tr.setWriteOptions(q)\n\tr.obj = query\n\trtt, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn \"\", nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{}\n\twm.RequestTime = rtt\n\n\tvar out struct{ ID string }\n\tif err := decodeBody(resp, &out); err != nil {\n\t\treturn \"\", nil, err\n\t}\n\treturn out.ID, wm, nil\n}\n\n// Update makes updates to an existing prepared query.\nfunc (c *PreparedQuery) Update(query *PreparedQueryDefinition, q *WriteOptions) (*WriteMeta, error) {\n\treturn c.c.write(\"/v1/query/\"+query.ID, query, nil, q)\n}\n\n// List is used to fetch all the prepared queries (always requires a management\n// token).\nfunc (c *PreparedQuery) List(q *QueryOptions) ([]*PreparedQueryDefinition, *QueryMeta, error) {\n\tvar out []*PreparedQueryDefinition\n\tqm, err := c.c.query(\"/v1/query\", &out, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n\n// Get is used to fetch a specific prepared query.\nfunc (c *PreparedQuery) Get(queryID string, q *QueryOptions) ([]*PreparedQueryDefinition, *QueryMeta, error) {\n\tvar out []*PreparedQueryDefinition\n\tqm, err := c.c.query(\"/v1/query/\"+queryID, &out, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n\n// Delete is used to delete a specific prepared query.\nfunc (c *PreparedQuery) Delete(queryID string, q *WriteOptions) (*WriteMeta, error) {\n\tr := c.c.newRequest(\"DELETE\", \"/v1/query/\"+queryID)\n\tr.setWriteOptions(q)\n\trtt, resp, err := requireOK(c.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{}\n\twm.RequestTime = rtt\n\treturn wm, nil\n}\n\n// Execute is used to execute a specific prepared query. You can execute using\n// a query ID or name.\nfunc (c *PreparedQuery) Execute(queryIDOrName string, q *QueryOptions) (*PreparedQueryExecuteResponse, *QueryMeta, error) {\n\tvar out *PreparedQueryExecuteResponse\n\tqm, err := c.c.query(\"/v1/query/\"+queryIDOrName+\"/execute\", &out, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn out, qm, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/raw.go",
    "content": "package api\n\n// Raw can be used to do raw queries against custom endpoints\ntype Raw struct {\n\tc *Client\n}\n\n// Raw returns a handle to query endpoints\nfunc (c *Client) Raw() *Raw {\n\treturn &Raw{c}\n}\n\n// Query is used to do a GET request against an endpoint\n// and deserialize the response into an interface using\n// standard Consul conventions.\nfunc (raw *Raw) Query(endpoint string, out interface{}, q *QueryOptions) (*QueryMeta, error) {\n\treturn raw.c.query(endpoint, out, q)\n}\n\n// Write is used to do a PUT request against an endpoint\n// and serialize/deserialized using the standard Consul conventions.\nfunc (raw *Raw) Write(endpoint string, in, out interface{}, q *WriteOptions) (*WriteMeta, error) {\n\treturn raw.c.write(endpoint, in, out, q)\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/semaphore.go",
    "content": "package api\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"path\"\n\t\"sync\"\n\t\"time\"\n)\n\nconst (\n\t// DefaultSemaphoreSessionName is the Session Name we assign if none is provided\n\tDefaultSemaphoreSessionName = \"Consul API Semaphore\"\n\n\t// DefaultSemaphoreSessionTTL is the default session TTL if no Session is provided\n\t// when creating a new Semaphore. This is used because we do not have another\n\t// other check to depend upon.\n\tDefaultSemaphoreSessionTTL = \"15s\"\n\n\t// DefaultSemaphoreWaitTime is how long we block for at a time to check if semaphore\n\t// acquisition is possible. This affects the minimum time it takes to cancel\n\t// a Semaphore acquisition.\n\tDefaultSemaphoreWaitTime = 15 * time.Second\n\n\t// DefaultSemaphoreKey is the key used within the prefix to\n\t// use for coordination between all the contenders.\n\tDefaultSemaphoreKey = \".lock\"\n\n\t// SemaphoreFlagValue is a magic flag we set to indicate a key\n\t// is being used for a semaphore. It is used to detect a potential\n\t// conflict with a lock.\n\tSemaphoreFlagValue = 0xe0f69a2baa414de0\n)\n\nvar (\n\t// ErrSemaphoreHeld is returned if we attempt to double lock\n\tErrSemaphoreHeld = fmt.Errorf(\"Semaphore already held\")\n\n\t// ErrSemaphoreNotHeld is returned if we attempt to unlock a semaphore\n\t// that we do not hold.\n\tErrSemaphoreNotHeld = fmt.Errorf(\"Semaphore not held\")\n\n\t// ErrSemaphoreInUse is returned if we attempt to destroy a semaphore\n\t// that is in use.\n\tErrSemaphoreInUse = fmt.Errorf(\"Semaphore in use\")\n\n\t// ErrSemaphoreConflict is returned if the flags on a key\n\t// used for a semaphore do not match expectation\n\tErrSemaphoreConflict = fmt.Errorf(\"Existing key does not match semaphore use\")\n)\n\n// Semaphore is used to implement a distributed semaphore\n// using the Consul KV primitives.\ntype Semaphore struct {\n\tc    *Client\n\topts *SemaphoreOptions\n\n\tisHeld       bool\n\tsessionRenew chan struct{}\n\tlockSession  string\n\tl            sync.Mutex\n}\n\n// SemaphoreOptions is used to parameterize the Semaphore\ntype SemaphoreOptions struct {\n\tPrefix            string        // Must be set and have write permissions\n\tLimit             int           // Must be set, and be positive\n\tValue             []byte        // Optional, value to associate with the contender entry\n\tSession           string        // Optional, created if not specified\n\tSessionName       string        // Optional, defaults to DefaultLockSessionName\n\tSessionTTL        string        // Optional, defaults to DefaultLockSessionTTL\n\tMonitorRetries    int           // Optional, defaults to 0 which means no retries\n\tMonitorRetryTime  time.Duration // Optional, defaults to DefaultMonitorRetryTime\n\tSemaphoreWaitTime time.Duration // Optional, defaults to DefaultSemaphoreWaitTime\n\tSemaphoreTryOnce  bool          // Optional, defaults to false which means try forever\n}\n\n// semaphoreLock is written under the DefaultSemaphoreKey and\n// is used to coordinate between all the contenders.\ntype semaphoreLock struct {\n\t// Limit is the integer limit of holders. This is used to\n\t// verify that all the holders agree on the value.\n\tLimit int\n\n\t// Holders is a list of all the semaphore holders.\n\t// It maps the session ID to true. It is used as a set effectively.\n\tHolders map[string]bool\n}\n\n// SemaphorePrefix is used to created a Semaphore which will operate\n// at the given KV prefix and uses the given limit for the semaphore.\n// The prefix must have write privileges, and the limit must be agreed\n// upon by all contenders.\nfunc (c *Client) SemaphorePrefix(prefix string, limit int) (*Semaphore, error) {\n\topts := &SemaphoreOptions{\n\t\tPrefix: prefix,\n\t\tLimit:  limit,\n\t}\n\treturn c.SemaphoreOpts(opts)\n}\n\n// SemaphoreOpts is used to create a Semaphore with the given options.\n// The prefix must have write privileges, and the limit must be agreed\n// upon by all contenders. If a Session is not provided, one will be created.\nfunc (c *Client) SemaphoreOpts(opts *SemaphoreOptions) (*Semaphore, error) {\n\tif opts.Prefix == \"\" {\n\t\treturn nil, fmt.Errorf(\"missing prefix\")\n\t}\n\tif opts.Limit <= 0 {\n\t\treturn nil, fmt.Errorf(\"semaphore limit must be positive\")\n\t}\n\tif opts.SessionName == \"\" {\n\t\topts.SessionName = DefaultSemaphoreSessionName\n\t}\n\tif opts.SessionTTL == \"\" {\n\t\topts.SessionTTL = DefaultSemaphoreSessionTTL\n\t} else {\n\t\tif _, err := time.ParseDuration(opts.SessionTTL); err != nil {\n\t\t\treturn nil, fmt.Errorf(\"invalid SessionTTL: %v\", err)\n\t\t}\n\t}\n\tif opts.MonitorRetryTime == 0 {\n\t\topts.MonitorRetryTime = DefaultMonitorRetryTime\n\t}\n\tif opts.SemaphoreWaitTime == 0 {\n\t\topts.SemaphoreWaitTime = DefaultSemaphoreWaitTime\n\t}\n\ts := &Semaphore{\n\t\tc:    c,\n\t\topts: opts,\n\t}\n\treturn s, nil\n}\n\n// Acquire attempts to reserve a slot in the semaphore, blocking until\n// success, interrupted via the stopCh or an error is encountered.\n// Providing a non-nil stopCh can be used to abort the attempt.\n// On success, a channel is returned that represents our slot.\n// This channel could be closed at any time due to session invalidation,\n// communication errors, operator intervention, etc. It is NOT safe to\n// assume that the slot is held until Release() unless the Session is specifically\n// created without any associated health checks. By default Consul sessions\n// prefer liveness over safety and an application must be able to handle\n// the session being lost.\nfunc (s *Semaphore) Acquire(stopCh <-chan struct{}) (<-chan struct{}, error) {\n\t// Hold the lock as we try to acquire\n\ts.l.Lock()\n\tdefer s.l.Unlock()\n\n\t// Check if we already hold the semaphore\n\tif s.isHeld {\n\t\treturn nil, ErrSemaphoreHeld\n\t}\n\n\t// Check if we need to create a session first\n\ts.lockSession = s.opts.Session\n\tif s.lockSession == \"\" {\n\t\tsess, err := s.createSession()\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"failed to create session: %v\", err)\n\t\t}\n\n\t\ts.sessionRenew = make(chan struct{})\n\t\ts.lockSession = sess\n\t\tsession := s.c.Session()\n\t\tgo session.RenewPeriodic(s.opts.SessionTTL, sess, nil, s.sessionRenew)\n\n\t\t// If we fail to acquire the lock, cleanup the session\n\t\tdefer func() {\n\t\t\tif !s.isHeld {\n\t\t\t\tclose(s.sessionRenew)\n\t\t\t\ts.sessionRenew = nil\n\t\t\t}\n\t\t}()\n\t}\n\n\t// Create the contender entry\n\tkv := s.c.KV()\n\tmade, _, err := kv.Acquire(s.contenderEntry(s.lockSession), nil)\n\tif err != nil || !made {\n\t\treturn nil, fmt.Errorf(\"failed to make contender entry: %v\", err)\n\t}\n\n\t// Setup the query options\n\tqOpts := &QueryOptions{\n\t\tWaitTime: s.opts.SemaphoreWaitTime,\n\t}\n\n\tstart := time.Now()\n\tattempts := 0\nWAIT:\n\t// Check if we should quit\n\tselect {\n\tcase <-stopCh:\n\t\treturn nil, nil\n\tdefault:\n\t}\n\n\t// Handle the one-shot mode.\n\tif s.opts.SemaphoreTryOnce && attempts > 0 {\n\t\telapsed := time.Since(start)\n\t\tif elapsed > qOpts.WaitTime {\n\t\t\treturn nil, nil\n\t\t}\n\n\t\tqOpts.WaitTime -= elapsed\n\t}\n\tattempts++\n\n\t// Read the prefix\n\tpairs, meta, err := kv.List(s.opts.Prefix, qOpts)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to read prefix: %v\", err)\n\t}\n\n\t// Decode the lock\n\tlockPair := s.findLock(pairs)\n\tif lockPair.Flags != SemaphoreFlagValue {\n\t\treturn nil, ErrSemaphoreConflict\n\t}\n\tlock, err := s.decodeLock(lockPair)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Verify we agree with the limit\n\tif lock.Limit != s.opts.Limit {\n\t\treturn nil, fmt.Errorf(\"semaphore limit conflict (lock: %d, local: %d)\",\n\t\t\tlock.Limit, s.opts.Limit)\n\t}\n\n\t// Prune the dead holders\n\ts.pruneDeadHolders(lock, pairs)\n\n\t// Check if the lock is held\n\tif len(lock.Holders) >= lock.Limit {\n\t\tqOpts.WaitIndex = meta.LastIndex\n\t\tgoto WAIT\n\t}\n\n\t// Create a new lock with us as a holder\n\tlock.Holders[s.lockSession] = true\n\tnewLock, err := s.encodeLock(lock, lockPair.ModifyIndex)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Attempt the acquisition\n\tdidSet, _, err := kv.CAS(newLock, nil)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to update lock: %v\", err)\n\t}\n\tif !didSet {\n\t\t// Update failed, could have been a race with another contender,\n\t\t// retry the operation\n\t\tgoto WAIT\n\t}\n\n\t// Watch to ensure we maintain ownership of the slot\n\tlockCh := make(chan struct{})\n\tgo s.monitorLock(s.lockSession, lockCh)\n\n\t// Set that we own the lock\n\ts.isHeld = true\n\n\t// Acquired! All done\n\treturn lockCh, nil\n}\n\n// Release is used to voluntarily give up our semaphore slot. It is\n// an error to call this if the semaphore has not been acquired.\nfunc (s *Semaphore) Release() error {\n\t// Hold the lock as we try to release\n\ts.l.Lock()\n\tdefer s.l.Unlock()\n\n\t// Ensure the lock is actually held\n\tif !s.isHeld {\n\t\treturn ErrSemaphoreNotHeld\n\t}\n\n\t// Set that we no longer own the lock\n\ts.isHeld = false\n\n\t// Stop the session renew\n\tif s.sessionRenew != nil {\n\t\tdefer func() {\n\t\t\tclose(s.sessionRenew)\n\t\t\ts.sessionRenew = nil\n\t\t}()\n\t}\n\n\t// Get and clear the lock session\n\tlockSession := s.lockSession\n\ts.lockSession = \"\"\n\n\t// Remove ourselves as a lock holder\n\tkv := s.c.KV()\n\tkey := path.Join(s.opts.Prefix, DefaultSemaphoreKey)\nREAD:\n\tpair, _, err := kv.Get(key, nil)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif pair == nil {\n\t\tpair = &KVPair{}\n\t}\n\tlock, err := s.decodeLock(pair)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Create a new lock without us as a holder\n\tif _, ok := lock.Holders[lockSession]; ok {\n\t\tdelete(lock.Holders, lockSession)\n\t\tnewLock, err := s.encodeLock(lock, pair.ModifyIndex)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t// Swap the locks\n\t\tdidSet, _, err := kv.CAS(newLock, nil)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed to update lock: %v\", err)\n\t\t}\n\t\tif !didSet {\n\t\t\tgoto READ\n\t\t}\n\t}\n\n\t// Destroy the contender entry\n\tcontenderKey := path.Join(s.opts.Prefix, lockSession)\n\tif _, err := kv.Delete(contenderKey, nil); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// Destroy is used to cleanup the semaphore entry. It is not necessary\n// to invoke. It will fail if the semaphore is in use.\nfunc (s *Semaphore) Destroy() error {\n\t// Hold the lock as we try to acquire\n\ts.l.Lock()\n\tdefer s.l.Unlock()\n\n\t// Check if we already hold the semaphore\n\tif s.isHeld {\n\t\treturn ErrSemaphoreHeld\n\t}\n\n\t// List for the semaphore\n\tkv := s.c.KV()\n\tpairs, _, err := kv.List(s.opts.Prefix, nil)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to read prefix: %v\", err)\n\t}\n\n\t// Find the lock pair, bail if it doesn't exist\n\tlockPair := s.findLock(pairs)\n\tif lockPair.ModifyIndex == 0 {\n\t\treturn nil\n\t}\n\tif lockPair.Flags != SemaphoreFlagValue {\n\t\treturn ErrSemaphoreConflict\n\t}\n\n\t// Decode the lock\n\tlock, err := s.decodeLock(lockPair)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Prune the dead holders\n\ts.pruneDeadHolders(lock, pairs)\n\n\t// Check if there are any holders\n\tif len(lock.Holders) > 0 {\n\t\treturn ErrSemaphoreInUse\n\t}\n\n\t// Attempt the delete\n\tdidRemove, _, err := kv.DeleteCAS(lockPair, nil)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to remove semaphore: %v\", err)\n\t}\n\tif !didRemove {\n\t\treturn ErrSemaphoreInUse\n\t}\n\treturn nil\n}\n\n// createSession is used to create a new managed session\nfunc (s *Semaphore) createSession() (string, error) {\n\tsession := s.c.Session()\n\tse := &SessionEntry{\n\t\tName:     s.opts.SessionName,\n\t\tTTL:      s.opts.SessionTTL,\n\t\tBehavior: SessionBehaviorDelete,\n\t}\n\tid, _, err := session.Create(se, nil)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn id, nil\n}\n\n// contenderEntry returns a formatted KVPair for the contender\nfunc (s *Semaphore) contenderEntry(session string) *KVPair {\n\treturn &KVPair{\n\t\tKey:     path.Join(s.opts.Prefix, session),\n\t\tValue:   s.opts.Value,\n\t\tSession: session,\n\t\tFlags:   SemaphoreFlagValue,\n\t}\n}\n\n// findLock is used to find the KV Pair which is used for coordination\nfunc (s *Semaphore) findLock(pairs KVPairs) *KVPair {\n\tkey := path.Join(s.opts.Prefix, DefaultSemaphoreKey)\n\tfor _, pair := range pairs {\n\t\tif pair.Key == key {\n\t\t\treturn pair\n\t\t}\n\t}\n\treturn &KVPair{Flags: SemaphoreFlagValue}\n}\n\n// decodeLock is used to decode a semaphoreLock from an\n// entry in Consul\nfunc (s *Semaphore) decodeLock(pair *KVPair) (*semaphoreLock, error) {\n\t// Handle if there is no lock\n\tif pair == nil || pair.Value == nil {\n\t\treturn &semaphoreLock{\n\t\t\tLimit:   s.opts.Limit,\n\t\t\tHolders: make(map[string]bool),\n\t\t}, nil\n\t}\n\n\tl := &semaphoreLock{}\n\tif err := json.Unmarshal(pair.Value, l); err != nil {\n\t\treturn nil, fmt.Errorf(\"lock decoding failed: %v\", err)\n\t}\n\treturn l, nil\n}\n\n// encodeLock is used to encode a semaphoreLock into a KVPair\n// that can be PUT\nfunc (s *Semaphore) encodeLock(l *semaphoreLock, oldIndex uint64) (*KVPair, error) {\n\tenc, err := json.Marshal(l)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"lock encoding failed: %v\", err)\n\t}\n\tpair := &KVPair{\n\t\tKey:         path.Join(s.opts.Prefix, DefaultSemaphoreKey),\n\t\tValue:       enc,\n\t\tFlags:       SemaphoreFlagValue,\n\t\tModifyIndex: oldIndex,\n\t}\n\treturn pair, nil\n}\n\n// pruneDeadHolders is used to remove all the dead lock holders\nfunc (s *Semaphore) pruneDeadHolders(lock *semaphoreLock, pairs KVPairs) {\n\t// Gather all the live holders\n\talive := make(map[string]struct{}, len(pairs))\n\tfor _, pair := range pairs {\n\t\tif pair.Session != \"\" {\n\t\t\talive[pair.Session] = struct{}{}\n\t\t}\n\t}\n\n\t// Remove any holders that are dead\n\tfor holder := range lock.Holders {\n\t\tif _, ok := alive[holder]; !ok {\n\t\t\tdelete(lock.Holders, holder)\n\t\t}\n\t}\n}\n\n// monitorLock is a long running routine to monitor a semaphore ownership\n// It closes the stopCh if we lose our slot.\nfunc (s *Semaphore) monitorLock(session string, stopCh chan struct{}) {\n\tdefer close(stopCh)\n\tkv := s.c.KV()\n\topts := &QueryOptions{RequireConsistent: true}\nWAIT:\n\tretries := s.opts.MonitorRetries\nRETRY:\n\tpairs, meta, err := kv.List(s.opts.Prefix, opts)\n\tif err != nil {\n\t\t// If configured we can try to ride out a brief Consul unavailability\n\t\t// by doing retries. Note that we have to attempt the retry in a non-\n\t\t// blocking fashion so that we have a clean place to reset the retry\n\t\t// counter if service is restored.\n\t\tif retries > 0 && IsRetryableError(err) {\n\t\t\ttime.Sleep(s.opts.MonitorRetryTime)\n\t\t\tretries--\n\t\t\topts.WaitIndex = 0\n\t\t\tgoto RETRY\n\t\t}\n\t\treturn\n\t}\n\tlockPair := s.findLock(pairs)\n\tlock, err := s.decodeLock(lockPair)\n\tif err != nil {\n\t\treturn\n\t}\n\ts.pruneDeadHolders(lock, pairs)\n\tif _, ok := lock.Holders[session]; ok {\n\t\topts.WaitIndex = meta.LastIndex\n\t\tgoto WAIT\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/session.go",
    "content": "package api\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"time\"\n)\n\nconst (\n\t// SessionBehaviorRelease is the default behavior and causes\n\t// all associated locks to be released on session invalidation.\n\tSessionBehaviorRelease = \"release\"\n\n\t// SessionBehaviorDelete is new in Consul 0.5 and changes the\n\t// behavior to delete all associated locks on session invalidation.\n\t// It can be used in a way similar to Ephemeral Nodes in ZooKeeper.\n\tSessionBehaviorDelete = \"delete\"\n)\n\nvar ErrSessionExpired = errors.New(\"session expired\")\n\n// SessionEntry represents a session in consul\ntype SessionEntry struct {\n\tCreateIndex uint64\n\tID          string\n\tName        string\n\tNode        string\n\tChecks      []string\n\tLockDelay   time.Duration\n\tBehavior    string\n\tTTL         string\n}\n\n// Session can be used to query the Session endpoints\ntype Session struct {\n\tc *Client\n}\n\n// Session returns a handle to the session endpoints\nfunc (c *Client) Session() *Session {\n\treturn &Session{c}\n}\n\n// CreateNoChecks is like Create but is used specifically to create\n// a session with no associated health checks.\nfunc (s *Session) CreateNoChecks(se *SessionEntry, q *WriteOptions) (string, *WriteMeta, error) {\n\tbody := make(map[string]interface{})\n\tbody[\"Checks\"] = []string{}\n\tif se != nil {\n\t\tif se.Name != \"\" {\n\t\t\tbody[\"Name\"] = se.Name\n\t\t}\n\t\tif se.Node != \"\" {\n\t\t\tbody[\"Node\"] = se.Node\n\t\t}\n\t\tif se.LockDelay != 0 {\n\t\t\tbody[\"LockDelay\"] = durToMsec(se.LockDelay)\n\t\t}\n\t\tif se.Behavior != \"\" {\n\t\t\tbody[\"Behavior\"] = se.Behavior\n\t\t}\n\t\tif se.TTL != \"\" {\n\t\t\tbody[\"TTL\"] = se.TTL\n\t\t}\n\t}\n\treturn s.create(body, q)\n\n}\n\n// Create makes a new session. Providing a session entry can\n// customize the session. It can also be nil to use defaults.\nfunc (s *Session) Create(se *SessionEntry, q *WriteOptions) (string, *WriteMeta, error) {\n\tvar obj interface{}\n\tif se != nil {\n\t\tbody := make(map[string]interface{})\n\t\tobj = body\n\t\tif se.Name != \"\" {\n\t\t\tbody[\"Name\"] = se.Name\n\t\t}\n\t\tif se.Node != \"\" {\n\t\t\tbody[\"Node\"] = se.Node\n\t\t}\n\t\tif se.LockDelay != 0 {\n\t\t\tbody[\"LockDelay\"] = durToMsec(se.LockDelay)\n\t\t}\n\t\tif len(se.Checks) > 0 {\n\t\t\tbody[\"Checks\"] = se.Checks\n\t\t}\n\t\tif se.Behavior != \"\" {\n\t\t\tbody[\"Behavior\"] = se.Behavior\n\t\t}\n\t\tif se.TTL != \"\" {\n\t\t\tbody[\"TTL\"] = se.TTL\n\t\t}\n\t}\n\treturn s.create(obj, q)\n}\n\nfunc (s *Session) create(obj interface{}, q *WriteOptions) (string, *WriteMeta, error) {\n\tvar out struct{ ID string }\n\twm, err := s.c.write(\"/v1/session/create\", obj, &out, q)\n\tif err != nil {\n\t\treturn \"\", nil, err\n\t}\n\treturn out.ID, wm, nil\n}\n\n// Destroy invalidates a given session\nfunc (s *Session) Destroy(id string, q *WriteOptions) (*WriteMeta, error) {\n\twm, err := s.c.write(\"/v1/session/destroy/\"+id, nil, nil, q)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn wm, nil\n}\n\n// Renew renews the TTL on a given session\nfunc (s *Session) Renew(id string, q *WriteOptions) (*SessionEntry, *WriteMeta, error) {\n\tr := s.c.newRequest(\"PUT\", \"/v1/session/renew/\"+id)\n\tr.setWriteOptions(q)\n\trtt, resp, err := s.c.doRequest(r)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\twm := &WriteMeta{RequestTime: rtt}\n\n\tif resp.StatusCode == 404 {\n\t\treturn nil, wm, nil\n\t} else if resp.StatusCode != 200 {\n\t\treturn nil, nil, fmt.Errorf(\"Unexpected response code: %d\", resp.StatusCode)\n\t}\n\n\tvar entries []*SessionEntry\n\tif err := decodeBody(resp, &entries); err != nil {\n\t\treturn nil, nil, fmt.Errorf(\"Failed to read response: %v\", err)\n\t}\n\tif len(entries) > 0 {\n\t\treturn entries[0], wm, nil\n\t}\n\treturn nil, wm, nil\n}\n\n// RenewPeriodic is used to periodically invoke Session.Renew on a\n// session until a doneCh is closed. This is meant to be used in a long running\n// goroutine to ensure a session stays valid.\nfunc (s *Session) RenewPeriodic(initialTTL string, id string, q *WriteOptions, doneCh <-chan struct{}) error {\n\tctx := q.Context()\n\n\tttl, err := time.ParseDuration(initialTTL)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\twaitDur := ttl / 2\n\tlastRenewTime := time.Now()\n\tvar lastErr error\n\tfor {\n\t\tif time.Since(lastRenewTime) > ttl {\n\t\t\treturn lastErr\n\t\t}\n\t\tselect {\n\t\tcase <-time.After(waitDur):\n\t\t\tentry, _, err := s.Renew(id, q)\n\t\t\tif err != nil {\n\t\t\t\twaitDur = time.Second\n\t\t\t\tlastErr = err\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif entry == nil {\n\t\t\t\treturn ErrSessionExpired\n\t\t\t}\n\n\t\t\t// Handle the server updating the TTL\n\t\t\tttl, _ = time.ParseDuration(entry.TTL)\n\t\t\twaitDur = ttl / 2\n\t\t\tlastRenewTime = time.Now()\n\n\t\tcase <-doneCh:\n\t\t\t// Attempt a session destroy\n\t\t\ts.Destroy(id, q)\n\t\t\treturn nil\n\n\t\tcase <-ctx.Done():\n\t\t\t// Bail immediately since attempting the destroy would\n\t\t\t// use the canceled context in q, which would just bail.\n\t\t\treturn ctx.Err()\n\t\t}\n\t}\n}\n\n// Info looks up a single session\nfunc (s *Session) Info(id string, q *QueryOptions) (*SessionEntry, *QueryMeta, error) {\n\tvar entries []*SessionEntry\n\tqm, err := s.c.query(\"/v1/session/info/\"+id, &entries, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tif len(entries) > 0 {\n\t\treturn entries[0], qm, nil\n\t}\n\treturn nil, qm, nil\n}\n\n// List gets sessions for a node\nfunc (s *Session) Node(node string, q *QueryOptions) ([]*SessionEntry, *QueryMeta, error) {\n\tvar entries []*SessionEntry\n\tqm, err := s.c.query(\"/v1/session/node/\"+node, &entries, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn entries, qm, nil\n}\n\n// List gets all active sessions\nfunc (s *Session) List(q *QueryOptions) ([]*SessionEntry, *QueryMeta, error) {\n\tvar entries []*SessionEntry\n\tqm, err := s.c.query(\"/v1/session/list\", &entries, q)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn entries, qm, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/snapshot.go",
    "content": "package api\n\nimport (\n\t\"io\"\n)\n\n// Snapshot can be used to query the /v1/snapshot endpoint to take snapshots of\n// Consul's internal state and restore snapshots for disaster recovery.\ntype Snapshot struct {\n\tc *Client\n}\n\n// Snapshot returns a handle that exposes the snapshot endpoints.\nfunc (c *Client) Snapshot() *Snapshot {\n\treturn &Snapshot{c}\n}\n\n// Save requests a new snapshot and provides an io.ReadCloser with the snapshot\n// data to save. If this doesn't return an error, then it's the responsibility\n// of the caller to close it. Only a subset of the QueryOptions are supported:\n// Datacenter, AllowStale, and Token.\nfunc (s *Snapshot) Save(q *QueryOptions) (io.ReadCloser, *QueryMeta, error) {\n\tr := s.c.newRequest(\"GET\", \"/v1/snapshot\")\n\tr.setQueryOptions(q)\n\n\trtt, resp, err := requireOK(s.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tqm := &QueryMeta{}\n\tparseQueryMeta(resp, qm)\n\tqm.RequestTime = rtt\n\treturn resp.Body, qm, nil\n}\n\n// Restore streams in an existing snapshot and attempts to restore it.\nfunc (s *Snapshot) Restore(q *WriteOptions, in io.Reader) error {\n\tr := s.c.newRequest(\"PUT\", \"/v1/snapshot\")\n\tr.body = in\n\tr.setWriteOptions(q)\n\t_, _, err := requireOK(s.c.doRequest(r))\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/api/status.go",
    "content": "package api\n\n// Status can be used to query the Status endpoints\ntype Status struct {\n\tc *Client\n}\n\n// Status returns a handle to the status endpoints\nfunc (c *Client) Status() *Status {\n\treturn &Status{c}\n}\n\n// Leader is used to query for a known leader\nfunc (s *Status) Leader() (string, error) {\n\tr := s.c.newRequest(\"GET\", \"/v1/status/leader\")\n\t_, resp, err := requireOK(s.c.doRequest(r))\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar leader string\n\tif err := decodeBody(resp, &leader); err != nil {\n\t\treturn \"\", err\n\t}\n\treturn leader, nil\n}\n\n// Peers is used to query for a known raft peers\nfunc (s *Status) Peers() ([]string, error) {\n\tr := s.c.newRequest(\"GET\", \"/v1/status/peers\")\n\t_, resp, err := requireOK(s.c.doRequest(r))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tvar peers []string\n\tif err := decodeBody(resp, &peers); err != nil {\n\t\treturn nil, err\n\t}\n\treturn peers, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/consul/main.go",
    "content": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\n\t\"github.com/hashicorp/consul/command\"\n\t\"github.com/hashicorp/consul/lib\"\n\t\"github.com/mitchellh/cli\"\n)\n\nfunc init() {\n\tlib.SeedMathRand()\n}\n\nfunc main() {\n\tos.Exit(realMain())\n}\n\nfunc realMain() int {\n\tlog.SetOutput(ioutil.Discard)\n\n\targs := os.Args[1:]\n\tfor _, arg := range args {\n\t\tif arg == \"--\" {\n\t\t\tbreak\n\t\t}\n\n\t\tif arg == \"-v\" || arg == \"--version\" {\n\t\t\targs = []string{\"version\"}\n\t\t\tbreak\n\t\t}\n\t}\n\n\tui := &cli.BasicUi{Writer: os.Stdout, ErrorWriter: os.Stderr}\n\tcmds := command.Map(ui)\n\tvar names []string\n\tfor c := range cmds {\n\t\tnames = append(names, c)\n\t}\n\n\tcli := &cli.CLI{\n\t\tArgs:         args,\n\t\tCommands:     cmds,\n\t\tAutocomplete: true,\n\t\tName:         \"consul\",\n\t\tHelpFunc:     cli.FilteredHelpFunc(names, cli.BasicHelpFunc(\"consul\")),\n\t}\n\n\texitCode, err := cli.Run()\n\tif err != nil {\n\t\tfmt.Fprintf(os.Stderr, \"Error executing CLI: %s\\n\", err.Error())\n\t\treturn 1\n\t}\n\n\treturn exitCode\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-cleanhttp/LICENSE",
    "content": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. \"Contributor\"\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. \"Contributor Version\"\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor's Contribution.\n\n1.3. \"Contribution\"\n\n     means Covered Software of a particular Contributor.\n\n1.4. \"Covered Software\"\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. \"Incompatible With Secondary Licenses\"\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of\n        version 1.1 or earlier of the License, but not also under the terms of\n        a Secondary License.\n\n1.6. \"Executable Form\"\n\n     means any form of the work other than Source Code Form.\n\n1.7. \"Larger Work\"\n\n     means a work that combines Covered Software with other material, in a\n     separate file or files, that is not Covered Software.\n\n1.8. \"License\"\n\n     means this document.\n\n1.9. \"Licensable\"\n\n     means having the right to grant, to the maximum extent possible, whether\n     at the time of the initial grant or subsequently, any and all of the\n     rights conveyed by this License.\n\n1.10. \"Modifications\"\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to,\n        deletion from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. \"Patent Claims\" of a Contributor\n\n      means any patent claim(s), including without limitation, method,\n      process, and apparatus claims, in any patent Licensable by such\n      Contributor that would be infringed, but for the grant of the License,\n      by the making, using, selling, offering for sale, having made, import,\n      or transfer of either its Contributions or its Contributor Version.\n\n1.12. \"Secondary License\"\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. \"Source Code Form\"\n\n      means the form of the work preferred for making modifications.\n\n1.14. \"You\" (or \"Your\")\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, \"You\" includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, \"control\" means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or\n        as part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its\n        Contributions or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution\n     become effective for each Contribution on the date the Contributor first\n     distributes such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under\n     this License. No additional rights or licenses will be implied from the\n     distribution or licensing of Covered Software under this License.\n     Notwithstanding Section 2.1(b) above, no patent license is granted by a\n     Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party's\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of\n        its Contributions.\n\n     This License does not grant any rights in the trademarks, service marks,\n     or logos of any Contributor (except as may be necessary to comply with\n     the notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this\n     License (see Section 10.2) or under the terms of a Secondary License (if\n     permitted under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its\n     Contributions are its original creation(s) or it has sufficient rights to\n     grant the rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under\n     applicable copyright doctrines of fair use, fair dealing, or other\n     equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under\n     the terms of this License. You must inform recipients that the Source\n     Code Form of the Covered Software is governed by the terms of this\n     License, and how they can obtain a copy of this License. You may not\n     attempt to alter or restrict the recipients' rights in the Source Code\n     Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this\n        License, or sublicense it under different terms, provided that the\n        license for the Executable Form does not attempt to limit or alter the\n        recipients' rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for\n     the Covered Software. If the Larger Work is a combination of Covered\n     Software with a work governed by one or more Secondary Licenses, and the\n     Covered Software is not Incompatible With Secondary Licenses, this\n     License permits You to additionally distribute such Covered Software\n     under the terms of such Secondary License(s), so that the recipient of\n     the Larger Work may, at their option, further distribute the Covered\n     Software under the terms of either this License or such Secondary\n     License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices\n     (including copyright notices, patent notices, disclaimers of warranty, or\n     limitations of liability) contained within the Source Code Form of the\n     Covered Software, except that You may alter any license notices to the\n     extent required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on\n     behalf of any Contributor. You must make it absolutely clear that any\n     such warranty, support, indemnity, or liability obligation is offered by\n     You alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute,\n   judicial order, or regulation then You must: (a) comply with the terms of\n   this License to the maximum extent possible; and (b) describe the\n   limitations and the code they affect. Such description must be placed in a\n   text file included with all distributions of the Covered Software under\n   this License. Except to the extent prohibited by statute or regulation,\n   such description must be sufficiently detailed for a recipient of ordinary\n   skill to be able to understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing\n     basis, if such Contributor fails to notify You of the non-compliance by\n     some reasonable means prior to 60 days after You have come back into\n     compliance. Moreover, Your grants from a particular Contributor are\n     reinstated on an ongoing basis if such Contributor notifies You of the\n     non-compliance by some reasonable means, this is the first time You have\n     received notice of non-compliance with this License from such\n     Contributor, and You become compliant prior to 30 days after Your receipt\n     of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions,\n     counter-claims, and cross-claims) alleging that a Contributor Version\n     directly or indirectly infringes any patent, then the rights granted to\n     You by any and all Contributors for the Covered Software under Section\n     2.1 of this License shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an \"as is\" basis,\n   without warranty of any kind, either expressed, implied, or statutory,\n   including, without limitation, warranties that the Covered Software is free\n   of defects, merchantable, fit for a particular purpose or non-infringing.\n   The entire risk as to the quality and performance of the Covered Software\n   is with You. Should any Covered Software prove defective in any respect,\n   You (not any Contributor) assume the cost of any necessary servicing,\n   repair, or correction. This disclaimer of warranty constitutes an essential\n   part of this License. No use of  any Covered Software is authorized under\n   this License except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from\n   such party's negligence to the extent applicable law prohibits such\n   limitation. Some jurisdictions do not allow the exclusion or limitation of\n   incidental or consequential damages, so this exclusion and limitation may\n   not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts\n   of a jurisdiction where the defendant maintains its principal place of\n   business and such litigation shall be governed by laws of that\n   jurisdiction, without reference to its conflict-of-law provisions. Nothing\n   in this Section shall prevent a party's ability to bring cross-claims or\n   counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject\n   matter hereof. If any provision of this License is held to be\n   unenforceable, such provision shall be reformed only to the extent\n   necessary to make it enforceable. Any law or regulation which provides that\n   the language of a contract shall be construed against the drafter shall not\n   be used to construe this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version\n      of the License under which You originally received the Covered Software,\n      or under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a\n      modified version of this License if you rename the license and remove\n      any references to the name of the license steward (except to note that\n      such modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary\n      Licenses If You choose to distribute Source Code Form that is\n      Incompatible With Secondary Licenses under the terms of this version of\n      the License, the notice described in Exhibit B of this License must be\n      attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file,\nthen You may include the notice in a location (such as a LICENSE file in a\nrelevant directory) where a recipient would be likely to look for such a\nnotice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - \"Incompatible With Secondary Licenses\" Notice\n\n      This Source Code Form is \"Incompatible\n      With Secondary Licenses\", as defined by\n      the Mozilla Public License, v. 2.0.\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go",
    "content": "package cleanhttp\n\nimport (\n\t\"net\"\n\t\"net/http\"\n\t\"runtime\"\n\t\"time\"\n)\n\n// DefaultTransport returns a new http.Transport with similar default values to\n// http.DefaultTransport, but with idle connections and keepalives disabled.\nfunc DefaultTransport() *http.Transport {\n\ttransport := DefaultPooledTransport()\n\ttransport.DisableKeepAlives = true\n\ttransport.MaxIdleConnsPerHost = -1\n\treturn transport\n}\n\n// DefaultPooledTransport returns a new http.Transport with similar default\n// values to http.DefaultTransport. Do not use this for transient transports as\n// it can leak file descriptors over time. Only use this for transports that\n// will be re-used for the same host(s).\nfunc DefaultPooledTransport() *http.Transport {\n\ttransport := &http.Transport{\n\t\tProxy: http.ProxyFromEnvironment,\n\t\tDialContext: (&net.Dialer{\n\t\t\tTimeout:   30 * time.Second,\n\t\t\tKeepAlive: 30 * time.Second,\n\t\t\tDualStack: true,\n\t\t}).DialContext,\n\t\tMaxIdleConns:          100,\n\t\tIdleConnTimeout:       90 * time.Second,\n\t\tTLSHandshakeTimeout:   10 * time.Second,\n\t\tExpectContinueTimeout: 1 * time.Second,\n\t\tMaxIdleConnsPerHost:   runtime.GOMAXPROCS(0) + 1,\n\t}\n\treturn transport\n}\n\n// DefaultClient returns a new http.Client with similar default values to\n// http.Client, but with a non-shared Transport, idle connections disabled, and\n// keepalives disabled.\nfunc DefaultClient() *http.Client {\n\treturn &http.Client{\n\t\tTransport: DefaultTransport(),\n\t}\n}\n\n// DefaultPooledClient returns a new http.Client with similar default values to\n// http.Client, but with a shared Transport. Do not use this function for\n// transient clients as it can leak file descriptors over time. Only use this\n// for clients that will be re-used for the same host(s).\nfunc DefaultPooledClient() *http.Client {\n\treturn &http.Client{\n\t\tTransport: DefaultPooledTransport(),\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-cleanhttp/doc.go",
    "content": "// Package cleanhttp offers convenience utilities for acquiring \"clean\"\n// http.Transport and http.Client structs.\n//\n// Values set on http.DefaultClient and http.DefaultTransport affect all\n// callers. This can have detrimental effects, esepcially in TLS contexts,\n// where client or root certificates set to talk to multiple endpoints can end\n// up displacing each other, leading to hard-to-debug issues. This package\n// provides non-shared http.Client and http.Transport structs to ensure that\n// the configuration will not be overwritten by other parts of the application\n// or dependencies.\n//\n// The DefaultClient and DefaultTransport functions disable idle connections\n// and keepalives. Without ensuring that idle connections are closed before\n// garbage collection, short-term clients/transports can leak file descriptors,\n// eventually leading to \"too many open files\" errors. If you will be\n// connecting to the same hosts repeatedly from the same client, you can use\n// DefaultPooledClient to receive a client that has connection pooling\n// semantics similar to http.DefaultClient.\n//\npackage cleanhttp\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-cleanhttp/handlers.go",
    "content": "package cleanhttp\n\nimport (\n\t\"net/http\"\n\t\"strings\"\n\t\"unicode\"\n)\n\n// HandlerInput provides input options to cleanhttp's handlers\ntype HandlerInput struct {\n\tErrStatus int\n}\n\n// PrintablePathCheckHandler is a middleware that ensures the request path\n// contains only printable runes.\nfunc PrintablePathCheckHandler(next http.Handler, input *HandlerInput) http.Handler {\n\t// Nil-check on input to make it optional\n\tif input == nil {\n\t\tinput = &HandlerInput{\n\t\t\tErrStatus: http.StatusBadRequest,\n\t\t}\n\t}\n\n\t// Default to http.StatusBadRequest on error\n\tif input.ErrStatus == 0 {\n\t\tinput.ErrStatus = http.StatusBadRequest\n\t}\n\n\treturn http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {\n\t\t// Check URL path for non-printable characters\n\t\tidx := strings.IndexFunc(r.URL.Path, func(c rune) bool {\n\t\t\treturn !unicode.IsPrint(c)\n\t\t})\n\n\t\tif idx != -1 {\n\t\t\tw.WriteHeader(input.ErrStatus)\n\t\t\treturn\n\t\t}\n\n\t\tnext.ServeHTTP(w, r)\n\t\treturn\n\t})\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-rootcerts/LICENSE",
    "content": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. \"Contributor\"\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. \"Contributor Version\"\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor's Contribution.\n\n1.3. \"Contribution\"\n\n     means Covered Software of a particular Contributor.\n\n1.4. \"Covered Software\"\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. \"Incompatible With Secondary Licenses\"\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of\n        version 1.1 or earlier of the License, but not also under the terms of\n        a Secondary License.\n\n1.6. \"Executable Form\"\n\n     means any form of the work other than Source Code Form.\n\n1.7. \"Larger Work\"\n\n     means a work that combines Covered Software with other material, in a\n     separate file or files, that is not Covered Software.\n\n1.8. \"License\"\n\n     means this document.\n\n1.9. \"Licensable\"\n\n     means having the right to grant, to the maximum extent possible, whether\n     at the time of the initial grant or subsequently, any and all of the\n     rights conveyed by this License.\n\n1.10. \"Modifications\"\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to,\n        deletion from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. \"Patent Claims\" of a Contributor\n\n      means any patent claim(s), including without limitation, method,\n      process, and apparatus claims, in any patent Licensable by such\n      Contributor that would be infringed, but for the grant of the License,\n      by the making, using, selling, offering for sale, having made, import,\n      or transfer of either its Contributions or its Contributor Version.\n\n1.12. \"Secondary License\"\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. \"Source Code Form\"\n\n      means the form of the work preferred for making modifications.\n\n1.14. \"You\" (or \"Your\")\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, \"You\" includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, \"control\" means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or\n        as part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its\n        Contributions or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution\n     become effective for each Contribution on the date the Contributor first\n     distributes such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under\n     this License. No additional rights or licenses will be implied from the\n     distribution or licensing of Covered Software under this License.\n     Notwithstanding Section 2.1(b) above, no patent license is granted by a\n     Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party's\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of\n        its Contributions.\n\n     This License does not grant any rights in the trademarks, service marks,\n     or logos of any Contributor (except as may be necessary to comply with\n     the notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this\n     License (see Section 10.2) or under the terms of a Secondary License (if\n     permitted under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its\n     Contributions are its original creation(s) or it has sufficient rights to\n     grant the rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under\n     applicable copyright doctrines of fair use, fair dealing, or other\n     equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under\n     the terms of this License. You must inform recipients that the Source\n     Code Form of the Covered Software is governed by the terms of this\n     License, and how they can obtain a copy of this License. You may not\n     attempt to alter or restrict the recipients' rights in the Source Code\n     Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this\n        License, or sublicense it under different terms, provided that the\n        license for the Executable Form does not attempt to limit or alter the\n        recipients' rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for\n     the Covered Software. If the Larger Work is a combination of Covered\n     Software with a work governed by one or more Secondary Licenses, and the\n     Covered Software is not Incompatible With Secondary Licenses, this\n     License permits You to additionally distribute such Covered Software\n     under the terms of such Secondary License(s), so that the recipient of\n     the Larger Work may, at their option, further distribute the Covered\n     Software under the terms of either this License or such Secondary\n     License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices\n     (including copyright notices, patent notices, disclaimers of warranty, or\n     limitations of liability) contained within the Source Code Form of the\n     Covered Software, except that You may alter any license notices to the\n     extent required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on\n     behalf of any Contributor. You must make it absolutely clear that any\n     such warranty, support, indemnity, or liability obligation is offered by\n     You alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute,\n   judicial order, or regulation then You must: (a) comply with the terms of\n   this License to the maximum extent possible; and (b) describe the\n   limitations and the code they affect. Such description must be placed in a\n   text file included with all distributions of the Covered Software under\n   this License. Except to the extent prohibited by statute or regulation,\n   such description must be sufficiently detailed for a recipient of ordinary\n   skill to be able to understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing\n     basis, if such Contributor fails to notify You of the non-compliance by\n     some reasonable means prior to 60 days after You have come back into\n     compliance. Moreover, Your grants from a particular Contributor are\n     reinstated on an ongoing basis if such Contributor notifies You of the\n     non-compliance by some reasonable means, this is the first time You have\n     received notice of non-compliance with this License from such\n     Contributor, and You become compliant prior to 30 days after Your receipt\n     of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions,\n     counter-claims, and cross-claims) alleging that a Contributor Version\n     directly or indirectly infringes any patent, then the rights granted to\n     You by any and all Contributors for the Covered Software under Section\n     2.1 of this License shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an \"as is\" basis,\n   without warranty of any kind, either expressed, implied, or statutory,\n   including, without limitation, warranties that the Covered Software is free\n   of defects, merchantable, fit for a particular purpose or non-infringing.\n   The entire risk as to the quality and performance of the Covered Software\n   is with You. Should any Covered Software prove defective in any respect,\n   You (not any Contributor) assume the cost of any necessary servicing,\n   repair, or correction. This disclaimer of warranty constitutes an essential\n   part of this License. No use of  any Covered Software is authorized under\n   this License except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from\n   such party's negligence to the extent applicable law prohibits such\n   limitation. Some jurisdictions do not allow the exclusion or limitation of\n   incidental or consequential damages, so this exclusion and limitation may\n   not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts\n   of a jurisdiction where the defendant maintains its principal place of\n   business and such litigation shall be governed by laws of that\n   jurisdiction, without reference to its conflict-of-law provisions. Nothing\n   in this Section shall prevent a party's ability to bring cross-claims or\n   counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject\n   matter hereof. If any provision of this License is held to be\n   unenforceable, such provision shall be reformed only to the extent\n   necessary to make it enforceable. Any law or regulation which provides that\n   the language of a contract shall be construed against the drafter shall not\n   be used to construe this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version\n      of the License under which You originally received the Covered Software,\n      or under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a\n      modified version of this License if you rename the license and remove\n      any references to the name of the license steward (except to note that\n      such modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary\n      Licenses If You choose to distribute Source Code Form that is\n      Incompatible With Secondary Licenses under the terms of this version of\n      the License, the notice described in Exhibit B of this License must be\n      attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file,\nthen You may include the notice in a location (such as a LICENSE file in a\nrelevant directory) where a recipient would be likely to look for such a\nnotice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - \"Incompatible With Secondary Licenses\" Notice\n\n      This Source Code Form is \"Incompatible\n      With Secondary Licenses\", as defined by\n      the Mozilla Public License, v. 2.0.\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-rootcerts/doc.go",
    "content": "// Package rootcerts contains functions to aid in loading CA certificates for\n// TLS connections.\n//\n// In addition, its default behavior on Darwin works around an open issue [1]\n// in Go's crypto/x509 that prevents certicates from being loaded from the\n// System or Login keychains.\n//\n// [1] https://github.com/golang/go/issues/14514\npackage rootcerts\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-rootcerts/rootcerts.go",
    "content": "package rootcerts\n\nimport (\n\t\"crypto/tls\"\n\t\"crypto/x509\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"os\"\n\t\"path/filepath\"\n)\n\n// Config determines where LoadCACerts will load certificates from. When both\n// CAFile and CAPath are blank, this library's functions will either load\n// system roots explicitly and return them, or set the CertPool to nil to allow\n// Go's standard library to load system certs.\ntype Config struct {\n\t// CAFile is a path to a PEM-encoded certificate file or bundle. Takes\n\t// precedence over CAPath.\n\tCAFile string\n\n\t// CAPath is a path to a directory populated with PEM-encoded certificates.\n\tCAPath string\n}\n\n// ConfigureTLS sets up the RootCAs on the provided tls.Config based on the\n// Config specified.\nfunc ConfigureTLS(t *tls.Config, c *Config) error {\n\tif t == nil {\n\t\treturn nil\n\t}\n\tpool, err := LoadCACerts(c)\n\tif err != nil {\n\t\treturn err\n\t}\n\tt.RootCAs = pool\n\treturn nil\n}\n\n// LoadCACerts loads a CertPool based on the Config specified.\nfunc LoadCACerts(c *Config) (*x509.CertPool, error) {\n\tif c == nil {\n\t\tc = &Config{}\n\t}\n\tif c.CAFile != \"\" {\n\t\treturn LoadCAFile(c.CAFile)\n\t}\n\tif c.CAPath != \"\" {\n\t\treturn LoadCAPath(c.CAPath)\n\t}\n\n\treturn LoadSystemCAs()\n}\n\n// LoadCAFile loads a single PEM-encoded file from the path specified.\nfunc LoadCAFile(caFile string) (*x509.CertPool, error) {\n\tpool := x509.NewCertPool()\n\n\tpem, err := ioutil.ReadFile(caFile)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"Error loading CA File: %s\", err)\n\t}\n\n\tok := pool.AppendCertsFromPEM(pem)\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"Error loading CA File: Couldn't parse PEM in: %s\", caFile)\n\t}\n\n\treturn pool, nil\n}\n\n// LoadCAPath walks the provided path and loads all certificates encounted into\n// a pool.\nfunc LoadCAPath(caPath string) (*x509.CertPool, error) {\n\tpool := x509.NewCertPool()\n\twalkFn := func(path string, info os.FileInfo, err error) error {\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tif info.IsDir() {\n\t\t\treturn nil\n\t\t}\n\n\t\tpem, err := ioutil.ReadFile(path)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"Error loading file from CAPath: %s\", err)\n\t\t}\n\n\t\tok := pool.AppendCertsFromPEM(pem)\n\t\tif !ok {\n\t\t\treturn fmt.Errorf(\"Error loading CA Path: Couldn't parse PEM in: %s\", path)\n\t\t}\n\n\t\treturn nil\n\t}\n\n\terr := filepath.Walk(caPath, walkFn)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn pool, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-rootcerts/rootcerts_base.go",
    "content": "// +build !darwin\n\npackage rootcerts\n\nimport \"crypto/x509\"\n\n// LoadSystemCAs does nothing on non-Darwin systems. We return nil so that\n// default behavior of standard TLS config libraries is triggered, which is to\n// load system certs.\nfunc LoadSystemCAs() (*x509.CertPool, error) {\n\treturn nil, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-rootcerts/rootcerts_darwin.go",
    "content": "package rootcerts\n\nimport (\n\t\"crypto/x509\"\n\t\"os/exec\"\n\t\"path\"\n\n\t\"github.com/mitchellh/go-homedir\"\n)\n\n// LoadSystemCAs has special behavior on Darwin systems to work around\nfunc LoadSystemCAs() (*x509.CertPool, error) {\n\tpool := x509.NewCertPool()\n\n\tfor _, keychain := range certKeychains() {\n\t\terr := addCertsFromKeychain(pool, keychain)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\n\treturn pool, nil\n}\n\nfunc addCertsFromKeychain(pool *x509.CertPool, keychain string) error {\n\tcmd := exec.Command(\"/usr/bin/security\", \"find-certificate\", \"-a\", \"-p\", keychain)\n\tdata, err := cmd.Output()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tpool.AppendCertsFromPEM(data)\n\n\treturn nil\n}\n\nfunc certKeychains() []string {\n\tkeychains := []string{\n\t\t\"/System/Library/Keychains/SystemRootCertificates.keychain\",\n\t\t\"/Library/Keychains/System.keychain\",\n\t}\n\thome, err := homedir.Dir()\n\tif err == nil {\n\t\tloginKeychain := path.Join(home, \"Library\", \"Keychains\", \"login.keychain\")\n\t\tkeychains = append(keychains, loginKeychain)\n\t}\n\treturn keychains\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/serf/LICENSE",
    "content": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. “Contributor”\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. “Contributor Version”\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor’s Contribution.\n\n1.3. “Contribution”\n\n     means Covered Software of a particular Contributor.\n\n1.4. “Covered Software”\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. “Incompatible With Secondary Licenses”\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of version\n        1.1 or earlier of the License, but not also under the terms of a\n        Secondary License.\n\n1.6. “Executable Form”\n\n     means any form of the work other than Source Code Form.\n\n1.7. “Larger Work”\n\n     means a work that combines Covered Software with other material, in a separate\n     file or files, that is not Covered Software.\n\n1.8. “License”\n\n     means this document.\n\n1.9. “Licensable”\n\n     means having the right to grant, to the maximum extent possible, whether at the\n     time of the initial grant or subsequently, any and all of the rights conveyed by\n     this License.\n\n1.10. “Modifications”\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to, deletion\n        from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. “Patent Claims” of a Contributor\n\n      means any patent claim(s), including without limitation, method, process,\n      and apparatus claims, in any patent Licensable by such Contributor that\n      would be infringed, but for the grant of the License, by the making,\n      using, selling, offering for sale, having made, import, or transfer of\n      either its Contributions or its Contributor Version.\n\n1.12. “Secondary License”\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. “Source Code Form”\n\n      means the form of the work preferred for making modifications.\n\n1.14. “You” (or “Your”)\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, “You” includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, “control” means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or as\n        part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its Contributions\n        or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution become\n     effective for each Contribution on the date the Contributor first distributes\n     such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under this\n     License. No additional rights or licenses will be implied from the distribution\n     or licensing of Covered Software under this License. Notwithstanding Section\n     2.1(b) above, no patent license is granted by a Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party’s\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of its\n        Contributions.\n\n     This License does not grant any rights in the trademarks, service marks, or\n     logos of any Contributor (except as may be necessary to comply with the\n     notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this License\n     (see Section 10.2) or under the terms of a Secondary License (if permitted\n     under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its Contributions\n     are its original creation(s) or it has sufficient rights to grant the\n     rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under applicable\n     copyright doctrines of fair use, fair dealing, or other equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under the\n     terms of this License. You must inform recipients that the Source Code Form\n     of the Covered Software is governed by the terms of this License, and how\n     they can obtain a copy of this License. You may not attempt to alter or\n     restrict the recipients’ rights in the Source Code Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this License,\n        or sublicense it under different terms, provided that the license for\n        the Executable Form does not attempt to limit or alter the recipients’\n        rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for the\n     Covered Software. If the Larger Work is a combination of Covered Software\n     with a work governed by one or more Secondary Licenses, and the Covered\n     Software is not Incompatible With Secondary Licenses, this License permits\n     You to additionally distribute such Covered Software under the terms of\n     such Secondary License(s), so that the recipient of the Larger Work may, at\n     their option, further distribute the Covered Software under the terms of\n     either this License or such Secondary License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices (including\n     copyright notices, patent notices, disclaimers of warranty, or limitations\n     of liability) contained within the Source Code Form of the Covered\n     Software, except that You may alter any license notices to the extent\n     required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on behalf\n     of any Contributor. You must make it absolutely clear that any such\n     warranty, support, indemnity, or liability obligation is offered by You\n     alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute, judicial\n   order, or regulation then You must: (a) comply with the terms of this License\n   to the maximum extent possible; and (b) describe the limitations and the code\n   they affect. Such description must be placed in a text file included with all\n   distributions of the Covered Software under this License. Except to the\n   extent prohibited by statute or regulation, such description must be\n   sufficiently detailed for a recipient of ordinary skill to be able to\n   understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing basis,\n     if such Contributor fails to notify You of the non-compliance by some\n     reasonable means prior to 60 days after You have come back into compliance.\n     Moreover, Your grants from a particular Contributor are reinstated on an\n     ongoing basis if such Contributor notifies You of the non-compliance by\n     some reasonable means, this is the first time You have received notice of\n     non-compliance with this License from such Contributor, and You become\n     compliant prior to 30 days after Your receipt of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions, counter-claims,\n     and cross-claims) alleging that a Contributor Version directly or\n     indirectly infringes any patent, then the rights granted to You by any and\n     all Contributors for the Covered Software under Section 2.1 of this License\n     shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an “as is” basis, without\n   warranty of any kind, either expressed, implied, or statutory, including,\n   without limitation, warranties that the Covered Software is free of defects,\n   merchantable, fit for a particular purpose or non-infringing. The entire\n   risk as to the quality and performance of the Covered Software is with You.\n   Should any Covered Software prove defective in any respect, You (not any\n   Contributor) assume the cost of any necessary servicing, repair, or\n   correction. This disclaimer of warranty constitutes an essential part of this\n   License. No use of  any Covered Software is authorized under this License\n   except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from such\n   party’s negligence to the extent applicable law prohibits such limitation.\n   Some jurisdictions do not allow the exclusion or limitation of incidental or\n   consequential damages, so this exclusion and limitation may not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts of\n   a jurisdiction where the defendant maintains its principal place of business\n   and such litigation shall be governed by laws of that jurisdiction, without\n   reference to its conflict-of-law provisions. Nothing in this Section shall\n   prevent a party’s ability to bring cross-claims or counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject matter\n   hereof. If any provision of this License is held to be unenforceable, such\n   provision shall be reformed only to the extent necessary to make it\n   enforceable. Any law or regulation which provides that the language of a\n   contract shall be construed against the drafter shall not be used to construe\n   this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version of\n      the License under which You originally received the Covered Software, or\n      under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a modified\n      version of this License if you rename the license and remove any\n      references to the name of the license steward (except to note that such\n      modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses\n      If You choose to distribute Source Code Form that is Incompatible With\n      Secondary Licenses under the terms of this version of the License, the\n      notice described in Exhibit B of this License must be attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file, then\nYou may include the notice in a location (such as a LICENSE file in a relevant\ndirectory) where a recipient would be likely to look for such a notice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - “Incompatible With Secondary Licenses” Notice\n\n      This Source Code Form is “Incompatible\n      With Secondary Licenses”, as defined by\n      the Mozilla Public License, v. 2.0.\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/serf/coordinate/client.go",
    "content": "package coordinate\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"sort\"\n\t\"sync\"\n\t\"time\"\n)\n\n// Client manages the estimated network coordinate for a given node, and adjusts\n// it as the node observes round trip times and estimated coordinates from other\n// nodes. The core algorithm is based on Vivaldi, see the documentation for Config\n// for more details.\ntype Client struct {\n\t// coord is the current estimate of the client's network coordinate.\n\tcoord *Coordinate\n\n\t// origin is a coordinate sitting at the origin.\n\torigin *Coordinate\n\n\t// config contains the tuning parameters that govern the performance of\n\t// the algorithm.\n\tconfig *Config\n\n\t// adjustmentIndex is the current index into the adjustmentSamples slice.\n\tadjustmentIndex uint\n\n\t// adjustment is used to store samples for the adjustment calculation.\n\tadjustmentSamples []float64\n\n\t// latencyFilterSamples is used to store the last several RTT samples,\n\t// keyed by node name. We will use the config's LatencyFilterSamples\n\t// value to determine how many samples we keep, per node.\n\tlatencyFilterSamples map[string][]float64\n\n\t// mutex enables safe concurrent access to the client.\n\tmutex sync.RWMutex\n}\n\n// NewClient creates a new Client and verifies the configuration is valid.\nfunc NewClient(config *Config) (*Client, error) {\n\tif !(config.Dimensionality > 0) {\n\t\treturn nil, fmt.Errorf(\"dimensionality must be >0\")\n\t}\n\n\treturn &Client{\n\t\tcoord:                NewCoordinate(config),\n\t\torigin:               NewCoordinate(config),\n\t\tconfig:               config,\n\t\tadjustmentIndex:      0,\n\t\tadjustmentSamples:    make([]float64, config.AdjustmentWindowSize),\n\t\tlatencyFilterSamples: make(map[string][]float64),\n\t}, nil\n}\n\n// GetCoordinate returns a copy of the coordinate for this client.\nfunc (c *Client) GetCoordinate() *Coordinate {\n\tc.mutex.RLock()\n\tdefer c.mutex.RUnlock()\n\n\treturn c.coord.Clone()\n}\n\n// SetCoordinate forces the client's coordinate to a known state.\nfunc (c *Client) SetCoordinate(coord *Coordinate) {\n\tc.mutex.Lock()\n\tdefer c.mutex.Unlock()\n\n\tc.coord = coord.Clone()\n}\n\n// ForgetNode removes any client state for the given node.\nfunc (c *Client) ForgetNode(node string) {\n\tc.mutex.Lock()\n\tdefer c.mutex.Unlock()\n\n\tdelete(c.latencyFilterSamples, node)\n}\n\n// latencyFilter applies a simple moving median filter with a new sample for\n// a node. This assumes that the mutex has been locked already.\nfunc (c *Client) latencyFilter(node string, rttSeconds float64) float64 {\n\tsamples, ok := c.latencyFilterSamples[node]\n\tif !ok {\n\t\tsamples = make([]float64, 0, c.config.LatencyFilterSize)\n\t}\n\n\t// Add the new sample and trim the list, if needed.\n\tsamples = append(samples, rttSeconds)\n\tif len(samples) > int(c.config.LatencyFilterSize) {\n\t\tsamples = samples[1:]\n\t}\n\tc.latencyFilterSamples[node] = samples\n\n\t// Sort a copy of the samples and return the median.\n\tsorted := make([]float64, len(samples))\n\tcopy(sorted, samples)\n\tsort.Float64s(sorted)\n\treturn sorted[len(sorted)/2]\n}\n\n// updateVivialdi updates the Vivaldi portion of the client's coordinate. This\n// assumes that the mutex has been locked already.\nfunc (c *Client) updateVivaldi(other *Coordinate, rttSeconds float64) {\n\tconst zeroThreshold = 1.0e-6\n\n\tdist := c.coord.DistanceTo(other).Seconds()\n\tif rttSeconds < zeroThreshold {\n\t\trttSeconds = zeroThreshold\n\t}\n\twrongness := math.Abs(dist-rttSeconds) / rttSeconds\n\n\ttotalError := c.coord.Error + other.Error\n\tif totalError < zeroThreshold {\n\t\ttotalError = zeroThreshold\n\t}\n\tweight := c.coord.Error / totalError\n\n\tc.coord.Error = c.config.VivaldiCE*weight*wrongness + c.coord.Error*(1.0-c.config.VivaldiCE*weight)\n\tif c.coord.Error > c.config.VivaldiErrorMax {\n\t\tc.coord.Error = c.config.VivaldiErrorMax\n\t}\n\n\tdelta := c.config.VivaldiCC * weight\n\tforce := delta * (rttSeconds - dist)\n\tc.coord = c.coord.ApplyForce(c.config, force, other)\n}\n\n// updateAdjustment updates the adjustment portion of the client's coordinate, if\n// the feature is enabled. This assumes that the mutex has been locked already.\nfunc (c *Client) updateAdjustment(other *Coordinate, rttSeconds float64) {\n\tif c.config.AdjustmentWindowSize == 0 {\n\t\treturn\n\t}\n\n\t// Note that the existing adjustment factors don't figure in to this\n\t// calculation so we use the raw distance here.\n\tdist := c.coord.rawDistanceTo(other)\n\tc.adjustmentSamples[c.adjustmentIndex] = rttSeconds - dist\n\tc.adjustmentIndex = (c.adjustmentIndex + 1) % c.config.AdjustmentWindowSize\n\n\tsum := 0.0\n\tfor _, sample := range c.adjustmentSamples {\n\t\tsum += sample\n\t}\n\tc.coord.Adjustment = sum / (2.0 * float64(c.config.AdjustmentWindowSize))\n}\n\n// updateGravity applies a small amount of gravity to pull coordinates towards\n// the center of the coordinate system to combat drift. This assumes that the\n// mutex is locked already.\nfunc (c *Client) updateGravity() {\n\tdist := c.origin.DistanceTo(c.coord).Seconds()\n\tforce := -1.0 * math.Pow(dist/c.config.GravityRho, 2.0)\n\tc.coord = c.coord.ApplyForce(c.config, force, c.origin)\n}\n\n// Update takes other, a coordinate for another node, and rtt, a round trip\n// time observation for a ping to that node, and updates the estimated position of\n// the client's coordinate. Returns the updated coordinate.\nfunc (c *Client) Update(node string, other *Coordinate, rtt time.Duration) *Coordinate {\n\tc.mutex.Lock()\n\tdefer c.mutex.Unlock()\n\n\trttSeconds := c.latencyFilter(node, rtt.Seconds())\n\tc.updateVivaldi(other, rttSeconds)\n\tc.updateAdjustment(other, rttSeconds)\n\tc.updateGravity()\n\treturn c.coord.Clone()\n}\n\n// DistanceTo returns the estimated RTT from the client's coordinate to other, the\n// coordinate for another node.\nfunc (c *Client) DistanceTo(other *Coordinate) time.Duration {\n\tc.mutex.RLock()\n\tdefer c.mutex.RUnlock()\n\n\treturn c.coord.DistanceTo(other)\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/serf/coordinate/config.go",
    "content": "package coordinate\n\n// Config is used to set the parameters of the Vivaldi-based coordinate mapping\n// algorithm.\n//\n// The following references are called out at various points in the documentation\n// here:\n//\n// [1] Dabek, Frank, et al. \"Vivaldi: A decentralized network coordinate system.\"\n//     ACM SIGCOMM Computer Communication Review. Vol. 34. No. 4. ACM, 2004.\n// [2] Ledlie, Jonathan, Paul Gardner, and Margo I. Seltzer. \"Network Coordinates\n//     in the Wild.\" NSDI. Vol. 7. 2007.\n// [3] Lee, Sanghwan, et al. \"On suitability of Euclidean embedding for\n//     host-based network coordinate systems.\" Networking, IEEE/ACM Transactions\n//     on 18.1 (2010): 27-40.\ntype Config struct {\n\t// The dimensionality of the coordinate system. As discussed in [2], more\n\t// dimensions improves the accuracy of the estimates up to a point. Per [2]\n\t// we chose 8 dimensions plus a non-Euclidean height.\n\tDimensionality uint\n\n\t// VivaldiErrorMax is the default error value when a node hasn't yet made\n\t// any observations. It also serves as an upper limit on the error value in\n\t// case observations cause the error value to increase without bound.\n\tVivaldiErrorMax float64\n\n\t// VivaldiCE is a tuning factor that controls the maximum impact an\n\t// observation can have on a node's confidence. See [1] for more details.\n\tVivaldiCE float64\n\n\t// VivaldiCC is a tuning factor that controls the maximum impact an\n\t// observation can have on a node's coordinate. See [1] for more details.\n\tVivaldiCC float64\n\n\t// AdjustmentWindowSize is a tuning factor that determines how many samples\n\t// we retain to calculate the adjustment factor as discussed in [3]. Setting\n\t// this to zero disables this feature.\n\tAdjustmentWindowSize uint\n\n\t// HeightMin is the minimum value of the height parameter. Since this\n\t// always must be positive, it will introduce a small amount error, so\n\t// the chosen value should be relatively small compared to \"normal\"\n\t// coordinates.\n\tHeightMin float64\n\n\t// LatencyFilterSamples is the maximum number of samples that are retained\n\t// per node, in order to compute a median. The intent is to ride out blips\n\t// but still keep the delay low, since our time to probe any given node is\n\t// pretty infrequent. See [2] for more details.\n\tLatencyFilterSize uint\n\n\t// GravityRho is a tuning factor that sets how much gravity has an effect\n\t// to try to re-center coordinates. See [2] for more details.\n\tGravityRho float64\n}\n\n// DefaultConfig returns a Config that has some default values suitable for\n// basic testing of the algorithm, but not tuned to any particular type of cluster.\nfunc DefaultConfig() *Config {\n\treturn &Config{\n\t\tDimensionality:       8,\n\t\tVivaldiErrorMax:      1.5,\n\t\tVivaldiCE:            0.25,\n\t\tVivaldiCC:            0.25,\n\t\tAdjustmentWindowSize: 20,\n\t\tHeightMin:            10.0e-6,\n\t\tLatencyFilterSize:    3,\n\t\tGravityRho:           150.0,\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/serf/coordinate/coordinate.go",
    "content": "package coordinate\n\nimport (\n\t\"math\"\n\t\"math/rand\"\n\t\"time\"\n)\n\n// Coordinate is a specialized structure for holding network coordinates for the\n// Vivaldi-based coordinate mapping algorithm. All of the fields should be public\n// to enable this to be serialized. All values in here are in units of seconds.\ntype Coordinate struct {\n\t// Vec is the Euclidean portion of the coordinate. This is used along\n\t// with the other fields to provide an overall distance estimate. The\n\t// units here are seconds.\n\tVec []float64\n\n\t// Err reflects the confidence in the given coordinate and is updated\n\t// dynamically by the Vivaldi Client. This is dimensionless.\n\tError float64\n\n\t// Adjustment is a distance offset computed based on a calculation over\n\t// observations from all other nodes over a fixed window and is updated\n\t// dynamically by the Vivaldi Client. The units here are seconds.\n\tAdjustment float64\n\n\t// Height is a distance offset that accounts for non-Euclidean effects\n\t// which model the access links from nodes to the core Internet. The access\n\t// links are usually set by bandwidth and congestion, and the core links\n\t// usually follow distance based on geography.\n\tHeight float64\n}\n\nconst (\n\t// secondsToNanoseconds is used to convert float seconds to nanoseconds.\n\tsecondsToNanoseconds = 1.0e9\n\n\t// zeroThreshold is used to decide if two coordinates are on top of each\n\t// other.\n\tzeroThreshold = 1.0e-6\n)\n\n// ErrDimensionalityConflict will be panic-d if you try to perform operations\n// with incompatible dimensions.\ntype DimensionalityConflictError struct{}\n\n// Adds the error interface.\nfunc (e DimensionalityConflictError) Error() string {\n\treturn \"coordinate dimensionality does not match\"\n}\n\n// NewCoordinate creates a new coordinate at the origin, using the given config\n// to supply key initial values.\nfunc NewCoordinate(config *Config) *Coordinate {\n\treturn &Coordinate{\n\t\tVec:        make([]float64, config.Dimensionality),\n\t\tError:      config.VivaldiErrorMax,\n\t\tAdjustment: 0.0,\n\t\tHeight:     config.HeightMin,\n\t}\n}\n\n// Clone creates an independent copy of this coordinate.\nfunc (c *Coordinate) Clone() *Coordinate {\n\tvec := make([]float64, len(c.Vec))\n\tcopy(vec, c.Vec)\n\treturn &Coordinate{\n\t\tVec:        vec,\n\t\tError:      c.Error,\n\t\tAdjustment: c.Adjustment,\n\t\tHeight:     c.Height,\n\t}\n}\n\n// IsCompatibleWith checks to see if the two coordinates are compatible\n// dimensionally. If this returns true then you are guaranteed to not get\n// any runtime errors operating on them.\nfunc (c *Coordinate) IsCompatibleWith(other *Coordinate) bool {\n\treturn len(c.Vec) == len(other.Vec)\n}\n\n// ApplyForce returns the result of applying the force from the direction of the\n// other coordinate.\nfunc (c *Coordinate) ApplyForce(config *Config, force float64, other *Coordinate) *Coordinate {\n\tif !c.IsCompatibleWith(other) {\n\t\tpanic(DimensionalityConflictError{})\n\t}\n\n\tret := c.Clone()\n\tunit, mag := unitVectorAt(c.Vec, other.Vec)\n\tret.Vec = add(ret.Vec, mul(unit, force))\n\tif mag > zeroThreshold {\n\t\tret.Height = (ret.Height+other.Height)*force/mag + ret.Height\n\t\tret.Height = math.Max(ret.Height, config.HeightMin)\n\t}\n\treturn ret\n}\n\n// DistanceTo returns the distance between this coordinate and the other\n// coordinate, including adjustments.\nfunc (c *Coordinate) DistanceTo(other *Coordinate) time.Duration {\n\tif !c.IsCompatibleWith(other) {\n\t\tpanic(DimensionalityConflictError{})\n\t}\n\n\tdist := c.rawDistanceTo(other)\n\tadjustedDist := dist + c.Adjustment + other.Adjustment\n\tif adjustedDist > 0.0 {\n\t\tdist = adjustedDist\n\t}\n\treturn time.Duration(dist * secondsToNanoseconds)\n}\n\n// rawDistanceTo returns the Vivaldi distance between this coordinate and the\n// other coordinate in seconds, not including adjustments. This assumes the\n// dimensions have already been checked to be compatible.\nfunc (c *Coordinate) rawDistanceTo(other *Coordinate) float64 {\n\treturn magnitude(diff(c.Vec, other.Vec)) + c.Height + other.Height\n}\n\n// add returns the sum of vec1 and vec2. This assumes the dimensions have\n// already been checked to be compatible.\nfunc add(vec1 []float64, vec2 []float64) []float64 {\n\tret := make([]float64, len(vec1))\n\tfor i, _ := range ret {\n\t\tret[i] = vec1[i] + vec2[i]\n\t}\n\treturn ret\n}\n\n// diff returns the difference between the vec1 and vec2. This assumes the\n// dimensions have already been checked to be compatible.\nfunc diff(vec1 []float64, vec2 []float64) []float64 {\n\tret := make([]float64, len(vec1))\n\tfor i, _ := range ret {\n\t\tret[i] = vec1[i] - vec2[i]\n\t}\n\treturn ret\n}\n\n// mul returns vec multiplied by a scalar factor.\nfunc mul(vec []float64, factor float64) []float64 {\n\tret := make([]float64, len(vec))\n\tfor i, _ := range vec {\n\t\tret[i] = vec[i] * factor\n\t}\n\treturn ret\n}\n\n// magnitude computes the magnitude of the vec.\nfunc magnitude(vec []float64) float64 {\n\tsum := 0.0\n\tfor i, _ := range vec {\n\t\tsum += vec[i] * vec[i]\n\t}\n\treturn math.Sqrt(sum)\n}\n\n// unitVectorAt returns a unit vector pointing at vec1 from vec2. If the two\n// positions are the same then a random unit vector is returned. We also return\n// the distance between the points for use in the later height calculation.\nfunc unitVectorAt(vec1 []float64, vec2 []float64) ([]float64, float64) {\n\tret := diff(vec1, vec2)\n\n\t// If the coordinates aren't on top of each other we can normalize.\n\tif mag := magnitude(ret); mag > zeroThreshold {\n\t\treturn mul(ret, 1.0/mag), mag\n\t}\n\n\t// Otherwise, just return a random unit vector.\n\tfor i, _ := range ret {\n\t\tret[i] = rand.Float64() - 0.5\n\t}\n\tif mag := magnitude(ret); mag > zeroThreshold {\n\t\treturn mul(ret, 1.0/mag), 0.0\n\t}\n\n\t// And finally just give up and make a unit vector along the first\n\t// dimension. This should be exceedingly rare.\n\tret = make([]float64, len(ret))\n\tret[0] = 1.0\n\treturn ret, 0.0\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/serf/coordinate/phantom.go",
    "content": "package coordinate\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"math/rand\"\n\t\"time\"\n)\n\n// GenerateClients returns a slice with nodes number of clients, all with the\n// given config.\nfunc GenerateClients(nodes int, config *Config) ([]*Client, error) {\n\tclients := make([]*Client, nodes)\n\tfor i, _ := range clients {\n\t\tclient, err := NewClient(config)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tclients[i] = client\n\t}\n\treturn clients, nil\n}\n\n// GenerateLine returns a truth matrix as if all the nodes are in a straight linke\n// with the given spacing between them.\nfunc GenerateLine(nodes int, spacing time.Duration) [][]time.Duration {\n\ttruth := make([][]time.Duration, nodes)\n\tfor i := range truth {\n\t\ttruth[i] = make([]time.Duration, nodes)\n\t}\n\n\tfor i := 0; i < nodes; i++ {\n\t\tfor j := i + 1; j < nodes; j++ {\n\t\t\trtt := time.Duration(j-i) * spacing\n\t\t\ttruth[i][j], truth[j][i] = rtt, rtt\n\t\t}\n\t}\n\treturn truth\n}\n\n// GenerateGrid returns a truth matrix as if all the nodes are in a two dimensional\n// grid with the given spacing between them.\nfunc GenerateGrid(nodes int, spacing time.Duration) [][]time.Duration {\n\ttruth := make([][]time.Duration, nodes)\n\tfor i := range truth {\n\t\ttruth[i] = make([]time.Duration, nodes)\n\t}\n\n\tn := int(math.Sqrt(float64(nodes)))\n\tfor i := 0; i < nodes; i++ {\n\t\tfor j := i + 1; j < nodes; j++ {\n\t\t\tx1, y1 := float64(i%n), float64(i/n)\n\t\t\tx2, y2 := float64(j%n), float64(j/n)\n\t\t\tdx, dy := x2-x1, y2-y1\n\t\t\tdist := math.Sqrt(dx*dx + dy*dy)\n\t\t\trtt := time.Duration(dist * float64(spacing))\n\t\t\ttruth[i][j], truth[j][i] = rtt, rtt\n\t\t}\n\t}\n\treturn truth\n}\n\n// GenerateSplit returns a truth matrix as if half the nodes are close together in\n// one location and half the nodes are close together in another. The lan factor\n// is used to separate the nodes locally and the wan factor represents the split\n// between the two sides.\nfunc GenerateSplit(nodes int, lan time.Duration, wan time.Duration) [][]time.Duration {\n\ttruth := make([][]time.Duration, nodes)\n\tfor i := range truth {\n\t\ttruth[i] = make([]time.Duration, nodes)\n\t}\n\n\tsplit := nodes / 2\n\tfor i := 0; i < nodes; i++ {\n\t\tfor j := i + 1; j < nodes; j++ {\n\t\t\trtt := lan\n\t\t\tif (i <= split && j > split) || (i > split && j <= split) {\n\t\t\t\trtt += wan\n\t\t\t}\n\t\t\ttruth[i][j], truth[j][i] = rtt, rtt\n\t\t}\n\t}\n\treturn truth\n}\n\n// GenerateCircle returns a truth matrix for a set of nodes, evenly distributed\n// around a circle with the given radius. The first node is at the \"center\" of the\n// circle because it's equidistant from all the other nodes, but we place it at\n// double the radius, so it should show up above all the other nodes in height.\nfunc GenerateCircle(nodes int, radius time.Duration) [][]time.Duration {\n\ttruth := make([][]time.Duration, nodes)\n\tfor i := range truth {\n\t\ttruth[i] = make([]time.Duration, nodes)\n\t}\n\n\tfor i := 0; i < nodes; i++ {\n\t\tfor j := i + 1; j < nodes; j++ {\n\t\t\tvar rtt time.Duration\n\t\t\tif i == 0 {\n\t\t\t\trtt = 2 * radius\n\t\t\t} else {\n\t\t\t\tt1 := 2.0 * math.Pi * float64(i) / float64(nodes)\n\t\t\t\tx1, y1 := math.Cos(t1), math.Sin(t1)\n\t\t\t\tt2 := 2.0 * math.Pi * float64(j) / float64(nodes)\n\t\t\t\tx2, y2 := math.Cos(t2), math.Sin(t2)\n\t\t\t\tdx, dy := x2-x1, y2-y1\n\t\t\t\tdist := math.Sqrt(dx*dx + dy*dy)\n\t\t\t\trtt = time.Duration(dist * float64(radius))\n\t\t\t}\n\t\t\ttruth[i][j], truth[j][i] = rtt, rtt\n\t\t}\n\t}\n\treturn truth\n}\n\n// GenerateRandom returns a truth matrix for a set of nodes with normally\n// distributed delays, with the given mean and deviation. The RNG is re-seeded\n// so you always get the same matrix for a given size.\nfunc GenerateRandom(nodes int, mean time.Duration, deviation time.Duration) [][]time.Duration {\n\trand.Seed(1)\n\n\ttruth := make([][]time.Duration, nodes)\n\tfor i := range truth {\n\t\ttruth[i] = make([]time.Duration, nodes)\n\t}\n\n\tfor i := 0; i < nodes; i++ {\n\t\tfor j := i + 1; j < nodes; j++ {\n\t\t\trttSeconds := rand.NormFloat64()*deviation.Seconds() + mean.Seconds()\n\t\t\trtt := time.Duration(rttSeconds * secondsToNanoseconds)\n\t\t\ttruth[i][j], truth[j][i] = rtt, rtt\n\t\t}\n\t}\n\treturn truth\n}\n\n// Simulate runs the given number of cycles using the given list of clients and\n// truth matrix. On each cycle, each client will pick a random node and observe\n// the truth RTT, updating its coordinate estimate. The RNG is re-seeded for\n// each simulation run to get deterministic results (for this algorithm and the\n// underlying algorithm which will use random numbers for position vectors when\n// starting out with everything at the origin).\nfunc Simulate(clients []*Client, truth [][]time.Duration, cycles int) {\n\trand.Seed(1)\n\n\tnodes := len(clients)\n\tfor cycle := 0; cycle < cycles; cycle++ {\n\t\tfor i, _ := range clients {\n\t\t\tif j := rand.Intn(nodes); j != i {\n\t\t\t\tc := clients[j].GetCoordinate()\n\t\t\t\trtt := truth[i][j]\n\t\t\t\tnode := fmt.Sprintf(\"node_%d\", j)\n\t\t\t\tclients[i].Update(node, c, rtt)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Stats is returned from the Evaluate function with a summary of the algorithm\n// performance.\ntype Stats struct {\n\tErrorMax float64\n\tErrorAvg float64\n}\n\n// Evaluate uses the coordinates of the given clients to calculate estimated\n// distances and compares them with the given truth matrix, returning summary\n// stats.\nfunc Evaluate(clients []*Client, truth [][]time.Duration) (stats Stats) {\n\tnodes := len(clients)\n\tcount := 0\n\tfor i := 0; i < nodes; i++ {\n\t\tfor j := i + 1; j < nodes; j++ {\n\t\t\test := clients[i].DistanceTo(clients[j].GetCoordinate()).Seconds()\n\t\t\tactual := truth[i][j].Seconds()\n\t\t\terror := math.Abs(est-actual) / actual\n\t\t\tstats.ErrorMax = math.Max(stats.ErrorMax, error)\n\t\t\tstats.ErrorAvg += error\n\t\t\tcount += 1\n\t\t}\n\t}\n\n\tstats.ErrorAvg /= float64(count)\n\tfmt.Printf(\"Error avg=%9.6f max=%9.6f\\n\", stats.ErrorAvg, stats.ErrorMax)\n\treturn\n}\n"
  },
  {
    "path": "vendor/github.com/inconshreveable/mousetrap/LICENSE",
    "content": "Copyright 2014 Alan Shreve\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
  },
  {
    "path": "vendor/github.com/inconshreveable/mousetrap/trap_others.go",
    "content": "// +build !windows\n\npackage mousetrap\n\n// StartedByExplorer returns true if the program was invoked by the user\n// double-clicking on the executable from explorer.exe\n//\n// It is conservative and returns false if any of the internal calls fail.\n// It does not guarantee that the program was run from a terminal. It only can tell you\n// whether it was launched from explorer.exe\n//\n// On non-Windows platforms, it always returns false.\nfunc StartedByExplorer() bool {\n\treturn false\n}\n"
  },
  {
    "path": "vendor/github.com/inconshreveable/mousetrap/trap_windows.go",
    "content": "// +build windows\n// +build !go1.4\n\npackage mousetrap\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nconst (\n\t// defined by the Win32 API\n\tth32cs_snapprocess uintptr = 0x2\n)\n\nvar (\n\tkernel                   = syscall.MustLoadDLL(\"kernel32.dll\")\n\tCreateToolhelp32Snapshot = kernel.MustFindProc(\"CreateToolhelp32Snapshot\")\n\tProcess32First           = kernel.MustFindProc(\"Process32FirstW\")\n\tProcess32Next            = kernel.MustFindProc(\"Process32NextW\")\n)\n\n// ProcessEntry32 structure defined by the Win32 API\ntype processEntry32 struct {\n\tdwSize              uint32\n\tcntUsage            uint32\n\tth32ProcessID       uint32\n\tth32DefaultHeapID   int\n\tth32ModuleID        uint32\n\tcntThreads          uint32\n\tth32ParentProcessID uint32\n\tpcPriClassBase      int32\n\tdwFlags             uint32\n\tszExeFile           [syscall.MAX_PATH]uint16\n}\n\nfunc getProcessEntry(pid int) (pe *processEntry32, err error) {\n\tsnapshot, _, e1 := CreateToolhelp32Snapshot.Call(th32cs_snapprocess, uintptr(0))\n\tif snapshot == uintptr(syscall.InvalidHandle) {\n\t\terr = fmt.Errorf(\"CreateToolhelp32Snapshot: %v\", e1)\n\t\treturn\n\t}\n\tdefer syscall.CloseHandle(syscall.Handle(snapshot))\n\n\tvar processEntry processEntry32\n\tprocessEntry.dwSize = uint32(unsafe.Sizeof(processEntry))\n\tok, _, e1 := Process32First.Call(snapshot, uintptr(unsafe.Pointer(&processEntry)))\n\tif ok == 0 {\n\t\terr = fmt.Errorf(\"Process32First: %v\", e1)\n\t\treturn\n\t}\n\n\tfor {\n\t\tif processEntry.th32ProcessID == uint32(pid) {\n\t\t\tpe = &processEntry\n\t\t\treturn\n\t\t}\n\n\t\tok, _, e1 = Process32Next.Call(snapshot, uintptr(unsafe.Pointer(&processEntry)))\n\t\tif ok == 0 {\n\t\t\terr = fmt.Errorf(\"Process32Next: %v\", e1)\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc getppid() (pid int, err error) {\n\tpe, err := getProcessEntry(os.Getpid())\n\tif err != nil {\n\t\treturn\n\t}\n\n\tpid = int(pe.th32ParentProcessID)\n\treturn\n}\n\n// StartedByExplorer returns true if the program was invoked by the user double-clicking\n// on the executable from explorer.exe\n//\n// It is conservative and returns false if any of the internal calls fail.\n// It does not guarantee that the program was run from a terminal. It only can tell you\n// whether it was launched from explorer.exe\nfunc StartedByExplorer() bool {\n\tppid, err := getppid()\n\tif err != nil {\n\t\treturn false\n\t}\n\n\tpe, err := getProcessEntry(ppid)\n\tif err != nil {\n\t\treturn false\n\t}\n\n\tname := syscall.UTF16ToString(pe.szExeFile[:])\n\treturn name == \"explorer.exe\"\n}\n"
  },
  {
    "path": "vendor/github.com/inconshreveable/mousetrap/trap_windows_1.4.go",
    "content": "// +build windows\n// +build go1.4\n\npackage mousetrap\n\nimport (\n\t\"os\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc getProcessEntry(pid int) (*syscall.ProcessEntry32, error) {\n\tsnapshot, err := syscall.CreateToolhelp32Snapshot(syscall.TH32CS_SNAPPROCESS, 0)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer syscall.CloseHandle(snapshot)\n\tvar procEntry syscall.ProcessEntry32\n\tprocEntry.Size = uint32(unsafe.Sizeof(procEntry))\n\tif err = syscall.Process32First(snapshot, &procEntry); err != nil {\n\t\treturn nil, err\n\t}\n\tfor {\n\t\tif procEntry.ProcessID == uint32(pid) {\n\t\t\treturn &procEntry, nil\n\t\t}\n\t\terr = syscall.Process32Next(snapshot, &procEntry)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n}\n\n// StartedByExplorer returns true if the program was invoked by the user double-clicking\n// on the executable from explorer.exe\n//\n// It is conservative and returns false if any of the internal calls fail.\n// It does not guarantee that the program was run from a terminal. It only can tell you\n// whether it was launched from explorer.exe\nfunc StartedByExplorer() bool {\n\tpe, err := getProcessEntry(os.Getppid())\n\tif err != nil {\n\t\treturn false\n\t}\n\treturn \"explorer.exe\" == syscall.UTF16ToString(pe.ExeFile[:])\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/License",
    "content": "Copyright (c) 2011 Keith Rarick\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute,\nsublicense, and/or sell copies of the Software, and to\npermit 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\nbe included in all copies or substantial portions of the\nSoftware.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY\nKIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE\nWARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR\nPURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS\nOR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR\nOTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "vendor/github.com/kr/pty/doc.go",
    "content": "// Package pty provides functions for working with Unix terminals.\npackage pty\n\nimport (\n\t\"errors\"\n\t\"os\"\n)\n\n// ErrUnsupported is returned if a function is not\n// available on the current platform.\nvar ErrUnsupported = errors.New(\"unsupported\")\n\n// Opens a pty and its corresponding tty.\nfunc Open() (pty, tty *os.File, err error) {\n\treturn open()\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ioctl.go",
    "content": "// +build !windows\n\npackage pty\n\nimport \"syscall\"\n\nfunc ioctl(fd, cmd, ptr uintptr) error {\n\t_, _, e := syscall.Syscall(syscall.SYS_IOCTL, fd, cmd, ptr)\n\tif e != 0 {\n\t\treturn e\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ioctl_bsd.go",
    "content": "// +build darwin dragonfly freebsd netbsd openbsd\n\npackage pty\n\n// from <sys/ioccom.h>\nconst (\n\t_IOC_VOID    uintptr = 0x20000000\n\t_IOC_OUT     uintptr = 0x40000000\n\t_IOC_IN      uintptr = 0x80000000\n\t_IOC_IN_OUT  uintptr = _IOC_OUT | _IOC_IN\n\t_IOC_DIRMASK         = _IOC_VOID | _IOC_OUT | _IOC_IN\n\n\t_IOC_PARAM_SHIFT = 13\n\t_IOC_PARAM_MASK  = (1 << _IOC_PARAM_SHIFT) - 1\n)\n\nfunc _IOC_PARM_LEN(ioctl uintptr) uintptr {\n\treturn (ioctl >> 16) & _IOC_PARAM_MASK\n}\n\nfunc _IOC(inout uintptr, group byte, ioctl_num uintptr, param_len uintptr) uintptr {\n\treturn inout | (param_len&_IOC_PARAM_MASK)<<16 | uintptr(group)<<8 | ioctl_num\n}\n\nfunc _IO(group byte, ioctl_num uintptr) uintptr {\n\treturn _IOC(_IOC_VOID, group, ioctl_num, 0)\n}\n\nfunc _IOR(group byte, ioctl_num uintptr, param_len uintptr) uintptr {\n\treturn _IOC(_IOC_OUT, group, ioctl_num, param_len)\n}\n\nfunc _IOW(group byte, ioctl_num uintptr, param_len uintptr) uintptr {\n\treturn _IOC(_IOC_IN, group, ioctl_num, param_len)\n}\n\nfunc _IOWR(group byte, ioctl_num uintptr, param_len uintptr) uintptr {\n\treturn _IOC(_IOC_IN_OUT, group, ioctl_num, param_len)\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/pty_darwin.go",
    "content": "package pty\n\nimport (\n\t\"errors\"\n\t\"os\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc open() (pty, tty *os.File, err error) {\n\tpFD, err := syscall.Open(\"/dev/ptmx\", syscall.O_RDWR|syscall.O_CLOEXEC, 0)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tp := os.NewFile(uintptr(pFD), \"/dev/ptmx\")\n\n\tsname, err := ptsname(p)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\terr = grantpt(p)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\terr = unlockpt(p)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tt, err := os.OpenFile(sname, os.O_RDWR, 0)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn p, t, nil\n}\n\nfunc ptsname(f *os.File) (string, error) {\n\tn := make([]byte, _IOC_PARM_LEN(syscall.TIOCPTYGNAME))\n\n\terr := ioctl(f.Fd(), syscall.TIOCPTYGNAME, uintptr(unsafe.Pointer(&n[0])))\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\n\tfor i, c := range n {\n\t\tif c == 0 {\n\t\t\treturn string(n[:i]), nil\n\t\t}\n\t}\n\treturn \"\", errors.New(\"TIOCPTYGNAME string not NUL-terminated\")\n}\n\nfunc grantpt(f *os.File) error {\n\treturn ioctl(f.Fd(), syscall.TIOCPTYGRANT, 0)\n}\n\nfunc unlockpt(f *os.File) error {\n\treturn ioctl(f.Fd(), syscall.TIOCPTYUNLK, 0)\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/pty_dragonfly.go",
    "content": "package pty\n\nimport (\n\t\"errors\"\n\t\"os\"\n\t\"strings\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n// same code as pty_darwin.go\nfunc open() (pty, tty *os.File, err error) {\n\tp, err := os.OpenFile(\"/dev/ptmx\", os.O_RDWR, 0)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tsname, err := ptsname(p)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\terr = grantpt(p)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\terr = unlockpt(p)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tt, err := os.OpenFile(sname, os.O_RDWR, 0)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn p, t, nil\n}\n\nfunc grantpt(f *os.File) error {\n\t_, err := isptmaster(f.Fd())\n\treturn err\n}\n\nfunc unlockpt(f *os.File) error {\n\t_, err := isptmaster(f.Fd())\n\treturn err\n}\n\nfunc isptmaster(fd uintptr) (bool, error) {\n\terr := ioctl(fd, syscall.TIOCISPTMASTER, 0)\n\treturn err == nil, err\n}\n\nvar (\n\temptyFiodgnameArg fiodgnameArg\n\tioctl_FIODNAME    = _IOW('f', 120, unsafe.Sizeof(emptyFiodgnameArg))\n)\n\nfunc ptsname(f *os.File) (string, error) {\n\tname := make([]byte, _C_SPECNAMELEN)\n\tfa := fiodgnameArg{Name: (*byte)(unsafe.Pointer(&name[0])), Len: _C_SPECNAMELEN, Pad_cgo_0: [4]byte{0, 0, 0, 0}}\n\n\terr := ioctl(f.Fd(), ioctl_FIODNAME, uintptr(unsafe.Pointer(&fa)))\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\n\tfor i, c := range name {\n\t\tif c == 0 {\n\t\t\ts := \"/dev/\" + string(name[:i])\n\t\t\treturn strings.Replace(s, \"ptm\", \"pts\", -1), nil\n\t\t}\n\t}\n\treturn \"\", errors.New(\"TIOCPTYGNAME string not NUL-terminated\")\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/pty_freebsd.go",
    "content": "package pty\n\nimport (\n\t\"errors\"\n\t\"os\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc posix_openpt(oflag int) (fd int, err error) {\n\tr0, _, e1 := syscall.Syscall(syscall.SYS_POSIX_OPENPT, uintptr(oflag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc open() (pty, tty *os.File, err error) {\n\tfd, err := posix_openpt(syscall.O_RDWR | syscall.O_CLOEXEC)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tp := os.NewFile(uintptr(fd), \"/dev/pts\")\n\tsname, err := ptsname(p)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tt, err := os.OpenFile(\"/dev/\"+sname, os.O_RDWR, 0)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn p, t, nil\n}\n\nfunc isptmaster(fd uintptr) (bool, error) {\n\terr := ioctl(fd, syscall.TIOCPTMASTER, 0)\n\treturn err == nil, err\n}\n\nvar (\n\temptyFiodgnameArg fiodgnameArg\n\tioctl_FIODGNAME   = _IOW('f', 120, unsafe.Sizeof(emptyFiodgnameArg))\n)\n\nfunc ptsname(f *os.File) (string, error) {\n\tmaster, err := isptmaster(f.Fd())\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tif !master {\n\t\treturn \"\", syscall.EINVAL\n\t}\n\n\tconst n = _C_SPECNAMELEN + 1\n\tvar (\n\t\tbuf = make([]byte, n)\n\t\targ = fiodgnameArg{Len: n, Buf: (*byte)(unsafe.Pointer(&buf[0]))}\n\t)\n\terr = ioctl(f.Fd(), ioctl_FIODGNAME, uintptr(unsafe.Pointer(&arg)))\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\n\tfor i, c := range buf {\n\t\tif c == 0 {\n\t\t\treturn string(buf[:i]), nil\n\t\t}\n\t}\n\treturn \"\", errors.New(\"FIODGNAME string not NUL-terminated\")\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/pty_linux.go",
    "content": "package pty\n\nimport (\n\t\"os\"\n\t\"strconv\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc open() (pty, tty *os.File, err error) {\n\tp, err := os.OpenFile(\"/dev/ptmx\", os.O_RDWR, 0)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tsname, err := ptsname(p)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\terr = unlockpt(p)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tt, err := os.OpenFile(sname, os.O_RDWR|syscall.O_NOCTTY, 0)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn p, t, nil\n}\n\nfunc ptsname(f *os.File) (string, error) {\n\tvar n _C_uint\n\terr := ioctl(f.Fd(), syscall.TIOCGPTN, uintptr(unsafe.Pointer(&n)))\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn \"/dev/pts/\" + strconv.Itoa(int(n)), nil\n}\n\nfunc unlockpt(f *os.File) error {\n\tvar u _C_int\n\t// use TIOCSPTLCK with a zero valued arg to clear the slave pty lock\n\treturn ioctl(f.Fd(), syscall.TIOCSPTLCK, uintptr(unsafe.Pointer(&u)))\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/pty_unsupported.go",
    "content": "// +build !linux,!darwin,!freebsd,!dragonfly\n\npackage pty\n\nimport (\n\t\"os\"\n)\n\nfunc open() (pty, tty *os.File, err error) {\n\treturn nil, nil, ErrUnsupported\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/run.go",
    "content": "// +build !windows\n\npackage pty\n\nimport (\n\t\"os\"\n\t\"os/exec\"\n\t\"syscall\"\n)\n\n// Start assigns a pseudo-terminal tty os.File to c.Stdin, c.Stdout,\n// and c.Stderr, calls c.Start, and returns the File of the tty's\n// corresponding pty.\nfunc Start(c *exec.Cmd) (pty *os.File, err error) {\n\tpty, tty, err := Open()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer tty.Close()\n\tc.Stdout = tty\n\tc.Stdin = tty\n\tc.Stderr = tty\n\tif c.SysProcAttr == nil {\n\t\tc.SysProcAttr = &syscall.SysProcAttr{}\n\t}\n\tc.SysProcAttr.Setctty = true\n\tc.SysProcAttr.Setsid = true\n\terr = c.Start()\n\tif err != nil {\n\t\tpty.Close()\n\t\treturn nil, err\n\t}\n\treturn pty, err\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/types.go",
    "content": "// +build ignore\n\npackage pty\n\nimport \"C\"\n\ntype (\n\t_C_int  C.int\n\t_C_uint C.uint\n)\n"
  },
  {
    "path": "vendor/github.com/kr/pty/types_dragonfly.go",
    "content": "// +build ignore\n\npackage pty\n\n/*\n#define _KERNEL\n#include <sys/conf.h>\n#include <sys/param.h>\n#include <sys/filio.h>\n*/\nimport \"C\"\n\nconst (\n\t_C_SPECNAMELEN = C.SPECNAMELEN /* max length of devicename */\n)\n\ntype fiodgnameArg C.struct_fiodname_args\n"
  },
  {
    "path": "vendor/github.com/kr/pty/types_freebsd.go",
    "content": "// +build ignore\n\npackage pty\n\n/*\n#include <sys/param.h>\n#include <sys/filio.h>\n*/\nimport \"C\"\n\nconst (\n\t_C_SPECNAMELEN = C.SPECNAMELEN /* max length of devicename */\n)\n\ntype fiodgnameArg C.struct_fiodgname_arg\n"
  },
  {
    "path": "vendor/github.com/kr/pty/util.go",
    "content": "// +build !windows\n\npackage pty\n\nimport (\n\t\"os\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n// InheritSize applies the terminal size of master to slave. This should be run\n// in a signal handler for syscall.SIGWINCH to automatically resize the slave when\n// the master receives a window size change notification.\nfunc InheritSize(master, slave *os.File) error {\n\tsize, err := GetsizeFull(master)\n\tif err != nil {\n\t\treturn err\n\t}\n\terr = Setsize(slave, size)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// Setsize resizes t to s.\nfunc Setsize(t *os.File, ws *Winsize) error {\n\treturn windowRectCall(ws, t.Fd(), syscall.TIOCSWINSZ)\n}\n\n// GetsizeFull returns the full terminal size description.\nfunc GetsizeFull(t *os.File) (size *Winsize, err error) {\n\tvar ws Winsize\n\terr = windowRectCall(&ws, t.Fd(), syscall.TIOCGWINSZ)\n\treturn &ws, err\n}\n\n// Getsize returns the number of rows (lines) and cols (positions\n// in each line) in terminal t.\nfunc Getsize(t *os.File) (rows, cols int, err error) {\n\tws, err := GetsizeFull(t)\n\treturn int(ws.Rows), int(ws.Cols), err\n}\n\n// Winsize describes the terminal size.\ntype Winsize struct {\n\tRows uint16 // ws_row: Number of rows (in cells)\n\tCols uint16 // ws_col: Number of columns (in cells)\n\tX    uint16 // ws_xpixel: Width in pixels\n\tY    uint16 // ws_ypixel: Height in pixels\n}\n\nfunc windowRectCall(ws *Winsize, fd, a2 uintptr) error {\n\t_, _, errno := syscall.Syscall(\n\t\tsyscall.SYS_IOCTL,\n\t\tfd,\n\t\ta2,\n\t\tuintptr(unsafe.Pointer(ws)),\n\t)\n\tif errno != 0 {\n\t\treturn syscall.Errno(errno)\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ztypes_386.go",
    "content": "// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types.go\n\npackage pty\n\ntype (\n\t_C_int  int32\n\t_C_uint uint32\n)\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ztypes_amd64.go",
    "content": "// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types.go\n\npackage pty\n\ntype (\n\t_C_int  int32\n\t_C_uint uint32\n)\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ztypes_arm.go",
    "content": "// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types.go\n\npackage pty\n\ntype (\n\t_C_int  int32\n\t_C_uint uint32\n)\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ztypes_arm64.go",
    "content": "// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types.go\n\n// +build arm64\n\npackage pty\n\ntype (\n\t_C_int  int32\n\t_C_uint uint32\n)\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ztypes_dragonfly_amd64.go",
    "content": "// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types_dragonfly.go\n\npackage pty\n\nconst (\n\t_C_SPECNAMELEN = 0x3f\n)\n\ntype fiodgnameArg struct {\n\tName      *byte\n\tLen       uint32\n\tPad_cgo_0 [4]byte\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ztypes_freebsd_386.go",
    "content": "// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types_freebsd.go\n\npackage pty\n\nconst (\n\t_C_SPECNAMELEN = 0x3f\n)\n\ntype fiodgnameArg struct {\n\tLen int32\n\tBuf *byte\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ztypes_freebsd_amd64.go",
    "content": "// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types_freebsd.go\n\npackage pty\n\nconst (\n\t_C_SPECNAMELEN = 0x3f\n)\n\ntype fiodgnameArg struct {\n\tLen       int32\n\tPad_cgo_0 [4]byte\n\tBuf       *byte\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ztypes_freebsd_arm.go",
    "content": "// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types_freebsd.go\n\npackage pty\n\nconst (\n\t_C_SPECNAMELEN = 0x3f\n)\n\ntype fiodgnameArg struct {\n\tLen int32\n\tBuf *byte\n}\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ztypes_mipsx.go",
    "content": "// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types.go\n\n// +build linux\n// +build mips mipsle mips64 mips64le\n\npackage pty\n\ntype (\n\t_C_int  int32\n\t_C_uint uint32\n)\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ztypes_ppc64.go",
    "content": "// +build ppc64\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types.go\n\npackage pty\n\ntype (\n\t_C_int  int32\n\t_C_uint uint32\n)\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ztypes_ppc64le.go",
    "content": "// +build ppc64le\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types.go\n\npackage pty\n\ntype (\n\t_C_int  int32\n\t_C_uint uint32\n)\n"
  },
  {
    "path": "vendor/github.com/kr/pty/ztypes_s390x.go",
    "content": "// +build s390x\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types.go\n\npackage pty\n\ntype (\n\t_C_int  int32\n\t_C_uint uint32\n)\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/LICENSE",
    "content": "Copyright (c) 2010, Laurent Le Goff\r\nAll rights reserved.\r\n\r\nRedistribution and use in source and binary forms, with or without modification,\r\nare permitted provided that the following conditions are met:\r\n\r\n\t* Redistributions of source code must retain the above copyright notice, \r\n\t\tthis list of conditions and the following disclaimer.\r\n\t* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following\r\n \t\tdisclaimer in the documentation and/or other materials provided with the distribution.\r\n\r\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \r\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \r\nIN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,\r\nOR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r\nOR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r\nSTRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r\nEVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2d.go",
    "content": "// Copyright 2010 The draw2d Authors. All rights reserved.\n// created: 13/12/2010 by Laurent Le Goff\n\n// Package draw2d is a pure go 2D vector graphics library with support\n// for multiple output devices such as images (draw2d), pdf documents\n// (draw2dpdf) and opengl (draw2dgl), which can also be used on the\n// google app engine. It can be used as a pure go Cairo alternative.\n// draw2d is released under the BSD license.\n//\n// Features\n//\n// Operations in draw2d include stroking and filling polygons, arcs,\n// Bézier curves, drawing images and text rendering with truetype fonts.\n// All drawing operations can be transformed by affine transformations\n// (scale, rotation, translation).\n//\n// Package draw2d follows the conventions of http://www.w3.org/TR/2dcontext for coordinate system, angles, etc...\n//\n// Installation\n//\n// To install or update the package draw2d on your system, run:\n//   go get -u github.com/llgcode/draw2d\n//\n// Quick Start\n//\n// Package draw2d itself provides a graphic context that can draw vector\n// graphics and text on an image canvas. The following Go code\n// generates a simple drawing and saves it to an image file:\n//\t\tpackage main\n//\n// \t\timport (\n// \t\t\t\"github.com/llgcode/draw2d/draw2dimg\"\n// \t\t\t\"image\"\n// \t\t\t\"image/color\"\n// \t\t)\n//\n// \t\tfunc main() {\n// \t\t\t// Initialize the graphic context on an RGBA image\n// \t\t\tdest := image.NewRGBA(image.Rect(0, 0, 297, 210.0))\n// \t\t\tgc := draw2dimg.NewGraphicContext(dest)\n//\n// \t\t\t// Set some properties\n// \t\t\tgc.SetFillColor(color.RGBA{0x44, 0xff, 0x44, 0xff})\n// \t\t\tgc.SetStrokeColor(color.RGBA{0x44, 0x44, 0x44, 0xff})\n// \t\t\tgc.SetLineWidth(5)\n//\n// \t\t\t// Draw a closed shape\n// \t\t\tgc.MoveTo(10, 10) // should always be called first for a new path\n// \t\t\tgc.LineTo(100, 50)\n// \t\t\tgc.QuadCurveTo(100, 10, 10, 10)\n// \t\t\tgc.Close()\n// \t\t\tgc.FillStroke()\n//\n// \t\t\t// Save to file\n// \t\t\tdraw2dimg.SaveToPngFile(\"hello.png\", dest)\n// \t\t}\n//\n//\n// There are more examples here:\n// https://github.com/llgcode/draw2d/tree/master/samples\n//\n// Drawing on pdf documents is provided by the draw2dpdf package.\n// Drawing on opengl is provided by the draw2dgl package.\n// See subdirectories at the bottom of this page.\n//\n// Testing\n//\n// The samples are run as tests from the root package folder `draw2d` by:\n//   go test ./...\n//\n// Or if you want to run with test coverage:\n//   go test -cover ./... | grep -v \"no test\"\n//\n// This will generate output by the different backends in the output folder.\n//\n// Acknowledgments\n//\n// Laurent Le Goff wrote this library, inspired by Postscript and\n// HTML5 canvas. He implemented the image and opengl backend with the\n// freetype-go package. Also he created a pure go Postscript\n// interpreter, which can read postscript images and draw to a draw2d\n// graphic context (https://github.com/llgcode/ps). Stani Michiels\n// implemented the pdf backend with the gofpdf package.\n//\n// Packages using draw2d\n//\n// - https://github.com/llgcode/ps: Postscript interpreter written in Go\n//\n// - https://github.com/gonum/plot: drawing plots in Go\n//\n// - https://github.com/muesli/smartcrop: content aware image cropping\n//\n// - https://github.com/peterhellberg/karta: drawing Voronoi diagrams\n//\n// - https://github.com/vdobler/chart: basic charts in Go\npackage draw2d\n\nimport \"image/color\"\n\n// FillRule defines the type for fill rules\ntype FillRule int\n\nconst (\n\t// FillRuleEvenOdd determines the \"insideness\" of a point in the shape\n\t// by drawing a ray from that point to infinity in any direction\n\t// and counting the number of path segments from the given shape that the ray crosses.\n\t// If this number is odd, the point is inside; if even, the point is outside.\n\tFillRuleEvenOdd FillRule = iota\n\t// FillRuleWinding determines the \"insideness\" of a point in the shape\n\t// by drawing a ray from that point to infinity in any direction\n\t// and then examining the places where a segment of the shape crosses the ray.\n\t// Starting with a count of zero, add one each time a path segment crosses\n\t// the ray from left to right and subtract one each time\n\t// a path segment crosses the ray from right to left. After counting the crossings,\n\t// if the result is zero then the point is outside the path. Otherwise, it is inside.\n\tFillRuleWinding\n)\n\n// LineCap is the style of line extremities\ntype LineCap int\n\nconst (\n\t// RoundCap defines a rounded shape at the end of the line\n\tRoundCap LineCap = iota\n\t// ButtCap defines a squared shape exactly at the end of the line\n\tButtCap\n\t// SquareCap defines a squared shape at the end of the line\n\tSquareCap\n)\n\n// LineJoin is the style of segments joint\ntype LineJoin int\n\nconst (\n\t// BevelJoin represents cut segments joint\n\tBevelJoin LineJoin = iota\n\t// RoundJoin represents rounded segments joint\n\tRoundJoin\n\t// MiterJoin represents peaker segments joint\n\tMiterJoin\n)\n\n// StrokeStyle keeps stroke style attributes\n// that is used by the Stroke method of a Drawer\ntype StrokeStyle struct {\n\t// Color defines the color of stroke\n\tColor color.Color\n\t// Line width\n\tWidth float64\n\t// Line cap style rounded, butt or square\n\tLineCap LineCap\n\t// Line join style bevel, round or miter\n\tLineJoin LineJoin\n\t// offset of the first dash\n\tDashOffset float64\n\t// array represented dash length pair values are plain dash and impair are space between dash\n\t// if empty display plain line\n\tDash []float64\n}\n\n// SolidFillStyle define style attributes for a solid fill style\ntype SolidFillStyle struct {\n\t// Color defines the line color\n\tColor color.Color\n\t// FillRule defines the file rule to used\n\tFillRule FillRule\n}\n\n// Valign Vertical Alignment of the text\ntype Valign int\n\nconst (\n\t// ValignTop top align text\n\tValignTop Valign = iota\n\t// ValignCenter centered text\n\tValignCenter\n\t// ValignBottom bottom aligned text\n\tValignBottom\n\t// ValignBaseline align text with the baseline of the font\n\tValignBaseline\n)\n\n// Halign Horizontal Alignment of the text\ntype Halign int\n\nconst (\n\t// HalignLeft Horizontally align to left\n\tHalignLeft = iota\n\t// HalignCenter Horizontally align to center\n\tHalignCenter\n\t// HalignRight Horizontally align to right\n\tHalignRight\n)\n\n// TextStyle describe text property\ntype TextStyle struct {\n\t// Color defines the color of text\n\tColor color.Color\n\t// Size font size\n\tSize float64\n\t// The font to use\n\tFont FontData\n\t// Horizontal Alignment of the text\n\tHalign Halign\n\t// Vertical Alignment of the text\n\tValign Valign\n}\n\n// ScalingPolicy is a constant to define how to scale an image\ntype ScalingPolicy int\n\nconst (\n\t// ScalingNone no scaling applied\n\tScalingNone ScalingPolicy = iota\n\t// ScalingStretch the image is stretched so that its width and height are exactly the given width and height\n\tScalingStretch\n\t// ScalingWidth the image is scaled so that its width is exactly the given width\n\tScalingWidth\n\t// ScalingHeight the image is scaled so that its height is exactly the given height\n\tScalingHeight\n\t// ScalingFit the image is scaled to the largest scale that allow the image to fit within a rectangle width x height\n\tScalingFit\n\t// ScalingSameArea the image is scaled so that its area is exactly the area of the given rectangle width x height\n\tScalingSameArea\n\t// ScalingFill the image is scaled to the smallest scale that allow the image to fully cover a rectangle width x height\n\tScalingFill\n)\n\n// ImageScaling style attributes used to display the image\ntype ImageScaling struct {\n\t// Horizontal Alignment of the image\n\tHalign Halign\n\t// Vertical Alignment of the image\n\tValign Valign\n\t// Width Height used by scaling policy\n\tWidth, Height float64\n\t// ScalingPolicy defines the scaling policy to applied to the image\n\tScalingPolicy ScalingPolicy\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2dbase/curve.go",
    "content": "// Copyright 2010 The draw2d Authors. All rights reserved.\n// created: 17/05/2011 by Laurent Le Goff\n\npackage draw2dbase\n\nimport (\n\t\"errors\"\n\t\"math\"\n)\n\nconst (\n\t// CurveRecursionLimit represents the maximum recursion that is really necessary to subsivide a curve into straight lines\n\tCurveRecursionLimit = 32\n)\n\n// Cubic\n//\tx1, y1, cpx1, cpy1, cpx2, cpy2, x2, y2 float64\n\n// SubdivideCubic a Bezier cubic curve in 2 equivalents Bezier cubic curves.\n// c1 and c2 parameters are the resulting curves\n// length of c, c1 and c2 must be 8 otherwise it panics.\nfunc SubdivideCubic(c, c1, c2 []float64) {\n\t// First point of c is the first point of c1\n\tc1[0], c1[1] = c[0], c[1]\n\t// Last point of c is the last point of c2\n\tc2[6], c2[7] = c[6], c[7]\n\n\t// Subdivide segment using midpoints\n\tc1[2] = (c[0] + c[2]) / 2\n\tc1[3] = (c[1] + c[3]) / 2\n\n\tmidX := (c[2] + c[4]) / 2\n\tmidY := (c[3] + c[5]) / 2\n\n\tc2[4] = (c[4] + c[6]) / 2\n\tc2[5] = (c[5] + c[7]) / 2\n\n\tc1[4] = (c1[2] + midX) / 2\n\tc1[5] = (c1[3] + midY) / 2\n\n\tc2[2] = (midX + c2[4]) / 2\n\tc2[3] = (midY + c2[5]) / 2\n\n\tc1[6] = (c1[4] + c2[2]) / 2\n\tc1[7] = (c1[5] + c2[3]) / 2\n\n\t// Last Point of c1 is equal to the first point of c2\n\tc2[0], c2[1] = c1[6], c1[7]\n}\n\n// TraceCubic generate lines subdividing the cubic curve using a Liner\n// flattening_threshold helps determines the flattening expectation of the curve\nfunc TraceCubic(t Liner, cubic []float64, flatteningThreshold float64) error {\n\tif len(cubic) < 8 {\n\t\treturn errors.New(\"cubic length must be >= 8\")\n\t}\n\t// Allocation curves\n\tvar curves [CurveRecursionLimit * 8]float64\n\tcopy(curves[0:8], cubic[0:8])\n\ti := 0\n\n\t// current curve\n\tvar c []float64\n\n\tvar dx, dy, d2, d3 float64\n\n\tfor i >= 0 {\n\t\tc = curves[i:]\n\t\tdx = c[6] - c[0]\n\t\tdy = c[7] - c[1]\n\n\t\td2 = math.Abs((c[2]-c[6])*dy - (c[3]-c[7])*dx)\n\t\td3 = math.Abs((c[4]-c[6])*dy - (c[5]-c[7])*dx)\n\n\t\t// if it's flat then trace a line\n\t\tif (d2+d3)*(d2+d3) <= flatteningThreshold*(dx*dx+dy*dy) || i == len(curves)-8 {\n\t\t\tt.LineTo(c[6], c[7])\n\t\t\ti -= 8\n\t\t} else {\n\t\t\t// second half of bezier go lower onto the stack\n\t\t\tSubdivideCubic(c, curves[i+8:], curves[i:])\n\t\t\ti += 8\n\t\t}\n\t}\n\treturn nil\n}\n\n// Quad\n// x1, y1, cpx1, cpy2, x2, y2 float64\n\n// SubdivideQuad a Bezier quad curve in 2 equivalents Bezier quad curves.\n// c1 and c2 parameters are the resulting curves\n// length of c, c1 and c2 must be 6 otherwise it panics.\nfunc SubdivideQuad(c, c1, c2 []float64) {\n\t// First point of c is the first point of c1\n\tc1[0], c1[1] = c[0], c[1]\n\t// Last point of c is the last point of c2\n\tc2[4], c2[5] = c[4], c[5]\n\n\t// Subdivide segment using midpoints\n\tc1[2] = (c[0] + c[2]) / 2\n\tc1[3] = (c[1] + c[3]) / 2\n\tc2[2] = (c[2] + c[4]) / 2\n\tc2[3] = (c[3] + c[5]) / 2\n\tc1[4] = (c1[2] + c2[2]) / 2\n\tc1[5] = (c1[3] + c2[3]) / 2\n\tc2[0], c2[1] = c1[4], c1[5]\n\treturn\n}\n\n// TraceQuad generate lines subdividing the curve using a Liner\n// flattening_threshold helps determines the flattening expectation of the curve\nfunc TraceQuad(t Liner, quad []float64, flatteningThreshold float64) error {\n\tif len(quad) < 6 {\n\t\treturn errors.New(\"quad length must be >= 6\")\n\t}\n\t// Allocates curves stack\n\tvar curves [CurveRecursionLimit * 6]float64\n\tcopy(curves[0:6], quad[0:6])\n\ti := 0\n\t// current curve\n\tvar c []float64\n\tvar dx, dy, d float64\n\n\tfor i >= 0 {\n\t\tc = curves[i:]\n\t\tdx = c[4] - c[0]\n\t\tdy = c[5] - c[1]\n\n\t\td = math.Abs(((c[2]-c[4])*dy - (c[3]-c[5])*dx))\n\n\t\t// if it's flat then trace a line\n\t\tif (d*d) <= flatteningThreshold*(dx*dx+dy*dy) || i == len(curves)-6 {\n\t\t\tt.LineTo(c[4], c[5])\n\t\t\ti -= 6\n\t\t} else {\n\t\t\t// second half of bezier go lower onto the stack\n\t\t\tSubdivideQuad(c, curves[i+6:], curves[i:])\n\t\t\ti += 6\n\t\t}\n\t}\n\treturn nil\n}\n\n// TraceArc trace an arc using a Liner\nfunc TraceArc(t Liner, x, y, rx, ry, start, angle, scale float64) (lastX, lastY float64) {\n\tend := start + angle\n\tclockWise := true\n\tif angle < 0 {\n\t\tclockWise = false\n\t}\n\tra := (math.Abs(rx) + math.Abs(ry)) / 2\n\tda := math.Acos(ra/(ra+0.125/scale)) * 2\n\t//normalize\n\tif !clockWise {\n\t\tda = -da\n\t}\n\tangle = start + da\n\tvar curX, curY float64\n\tfor {\n\t\tif (angle < end-da/4) != clockWise {\n\t\t\tcurX = x + math.Cos(end)*rx\n\t\t\tcurY = y + math.Sin(end)*ry\n\t\t\treturn curX, curY\n\t\t}\n\t\tcurX = x + math.Cos(angle)*rx\n\t\tcurY = y + math.Sin(angle)*ry\n\n\t\tangle += da\n\t\tt.LineTo(curX, curY)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2dbase/dasher.go",
    "content": "// Copyright 2010 The draw2d Authors. All rights reserved.\n// created: 13/12/2010 by Laurent Le Goff\n\npackage draw2dbase\n\ntype DashVertexConverter struct {\n\tnext           Flattener\n\tx, y, distance float64\n\tdash           []float64\n\tcurrentDash    int\n\tdashOffset     float64\n}\n\nfunc NewDashConverter(dash []float64, dashOffset float64, flattener Flattener) *DashVertexConverter {\n\tvar dasher DashVertexConverter\n\tdasher.dash = dash\n\tdasher.currentDash = 0\n\tdasher.dashOffset = dashOffset\n\tdasher.next = flattener\n\treturn &dasher\n}\n\nfunc (dasher *DashVertexConverter) LineTo(x, y float64) {\n\tdasher.lineTo(x, y)\n}\n\nfunc (dasher *DashVertexConverter) MoveTo(x, y float64) {\n\tdasher.next.MoveTo(x, y)\n\tdasher.x, dasher.y = x, y\n\tdasher.distance = dasher.dashOffset\n\tdasher.currentDash = 0\n}\n\nfunc (dasher *DashVertexConverter) LineJoin() {\n\tdasher.next.LineJoin()\n}\n\nfunc (dasher *DashVertexConverter) Close() {\n\tdasher.next.Close()\n}\n\nfunc (dasher *DashVertexConverter) End() {\n\tdasher.next.End()\n}\n\nfunc (dasher *DashVertexConverter) lineTo(x, y float64) {\n\trest := dasher.dash[dasher.currentDash] - dasher.distance\n\tfor rest < 0 {\n\t\tdasher.distance = dasher.distance - dasher.dash[dasher.currentDash]\n\t\tdasher.currentDash = (dasher.currentDash + 1) % len(dasher.dash)\n\t\trest = dasher.dash[dasher.currentDash] - dasher.distance\n\t}\n\td := distance(dasher.x, dasher.y, x, y)\n\tfor d >= rest {\n\t\tk := rest / d\n\t\tlx := dasher.x + k*(x-dasher.x)\n\t\tly := dasher.y + k*(y-dasher.y)\n\t\tif dasher.currentDash%2 == 0 {\n\t\t\t// line\n\t\t\tdasher.next.LineTo(lx, ly)\n\t\t} else {\n\t\t\t// gap\n\t\t\tdasher.next.End()\n\t\t\tdasher.next.MoveTo(lx, ly)\n\t\t}\n\t\td = d - rest\n\t\tdasher.x, dasher.y = lx, ly\n\t\tdasher.currentDash = (dasher.currentDash + 1) % len(dasher.dash)\n\t\trest = dasher.dash[dasher.currentDash]\n\t}\n\tdasher.distance = d\n\tif dasher.currentDash%2 == 0 {\n\t\t// line\n\t\tdasher.next.LineTo(x, y)\n\t} else {\n\t\t// gap\n\t\tdasher.next.End()\n\t\tdasher.next.MoveTo(x, y)\n\t}\n\tif dasher.distance >= dasher.dash[dasher.currentDash] {\n\t\tdasher.distance = dasher.distance - dasher.dash[dasher.currentDash]\n\t\tdasher.currentDash = (dasher.currentDash + 1) % len(dasher.dash)\n\t}\n\tdasher.x, dasher.y = x, y\n}\n\nfunc distance(x1, y1, x2, y2 float64) float64 {\n\treturn vectorDistance(x2-x1, y2-y1)\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2dbase/demux_flattener.go",
    "content": "package draw2dbase\n\ntype DemuxFlattener struct {\n\tFlatteners []Flattener\n}\n\nfunc (dc DemuxFlattener) MoveTo(x, y float64) {\n\tfor _, flattener := range dc.Flatteners {\n\t\tflattener.MoveTo(x, y)\n\t}\n}\n\nfunc (dc DemuxFlattener) LineTo(x, y float64) {\n\tfor _, flattener := range dc.Flatteners {\n\t\tflattener.LineTo(x, y)\n\t}\n}\n\nfunc (dc DemuxFlattener) LineJoin() {\n\tfor _, flattener := range dc.Flatteners {\n\t\tflattener.LineJoin()\n\t}\n}\n\nfunc (dc DemuxFlattener) Close() {\n\tfor _, flattener := range dc.Flatteners {\n\t\tflattener.Close()\n\t}\n}\n\nfunc (dc DemuxFlattener) End() {\n\tfor _, flattener := range dc.Flatteners {\n\t\tflattener.End()\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2dbase/flattener.go",
    "content": "// Copyright 2010 The draw2d Authors. All rights reserved.\n// created: 06/12/2010 by Laurent Le Goff\n\npackage draw2dbase\n\nimport (\n\t\"github.com/llgcode/draw2d\"\n)\n\n// Liner receive segment definition\ntype Liner interface {\n\t// LineTo Draw a line from the current position to the point (x, y)\n\tLineTo(x, y float64)\n}\n\n// Flattener receive segment definition\ntype Flattener interface {\n\t// MoveTo Start a New line from the point (x, y)\n\tMoveTo(x, y float64)\n\t// LineTo Draw a line from the current position to the point (x, y)\n\tLineTo(x, y float64)\n\t// LineJoin use Round, Bevel or miter to join points\n\tLineJoin()\n\t// Close add the most recent starting point to close the path to create a polygon\n\tClose()\n\t// End mark the current line as finished so we can draw caps\n\tEnd()\n}\n\n// Flatten convert curves into straight segments keeping join segments info\nfunc Flatten(path *draw2d.Path, flattener Flattener, scale float64) {\n\t// First Point\n\tvar startX, startY float64 = 0, 0\n\t// Current Point\n\tvar x, y float64 = 0, 0\n\ti := 0\n\tfor _, cmp := range path.Components {\n\t\tswitch cmp {\n\t\tcase draw2d.MoveToCmp:\n\t\t\tx, y = path.Points[i], path.Points[i+1]\n\t\t\tstartX, startY = x, y\n\t\t\tif i != 0 {\n\t\t\t\tflattener.End()\n\t\t\t}\n\t\t\tflattener.MoveTo(x, y)\n\t\t\ti += 2\n\t\tcase draw2d.LineToCmp:\n\t\t\tx, y = path.Points[i], path.Points[i+1]\n\t\t\tflattener.LineTo(x, y)\n\t\t\tflattener.LineJoin()\n\t\t\ti += 2\n\t\tcase draw2d.QuadCurveToCmp:\n\t\t\tTraceQuad(flattener, path.Points[i-2:], 0.5)\n\t\t\tx, y = path.Points[i+2], path.Points[i+3]\n\t\t\tflattener.LineTo(x, y)\n\t\t\ti += 4\n\t\tcase draw2d.CubicCurveToCmp:\n\t\t\tTraceCubic(flattener, path.Points[i-2:], 0.5)\n\t\t\tx, y = path.Points[i+4], path.Points[i+5]\n\t\t\tflattener.LineTo(x, y)\n\t\t\ti += 6\n\t\tcase draw2d.ArcToCmp:\n\t\t\tx, y = TraceArc(flattener, path.Points[i], path.Points[i+1], path.Points[i+2], path.Points[i+3], path.Points[i+4], path.Points[i+5], scale)\n\t\t\tflattener.LineTo(x, y)\n\t\t\ti += 6\n\t\tcase draw2d.CloseCmp:\n\t\t\tflattener.LineTo(startX, startY)\n\t\t\tflattener.Close()\n\t\t}\n\t}\n\tflattener.End()\n}\n\n// Transformer apply the Matrix transformation tr\ntype Transformer struct {\n\tTr        draw2d.Matrix\n\tFlattener Flattener\n}\n\nfunc (t Transformer) MoveTo(x, y float64) {\n\tu := x*t.Tr[0] + y*t.Tr[2] + t.Tr[4]\n\tv := x*t.Tr[1] + y*t.Tr[3] + t.Tr[5]\n\tt.Flattener.MoveTo(u, v)\n}\n\nfunc (t Transformer) LineTo(x, y float64) {\n\tu := x*t.Tr[0] + y*t.Tr[2] + t.Tr[4]\n\tv := x*t.Tr[1] + y*t.Tr[3] + t.Tr[5]\n\tt.Flattener.LineTo(u, v)\n}\n\nfunc (t Transformer) LineJoin() {\n\tt.Flattener.LineJoin()\n}\n\nfunc (t Transformer) Close() {\n\tt.Flattener.Close()\n}\n\nfunc (t Transformer) End() {\n\tt.Flattener.End()\n}\n\ntype SegmentedPath struct {\n\tPoints []float64\n}\n\nfunc (p *SegmentedPath) MoveTo(x, y float64) {\n\tp.Points = append(p.Points, x, y)\n\t// TODO need to mark this point as moveto\n}\n\nfunc (p *SegmentedPath) LineTo(x, y float64) {\n\tp.Points = append(p.Points, x, y)\n}\n\nfunc (p *SegmentedPath) LineJoin() {\n\t// TODO need to mark the current point as linejoin\n}\n\nfunc (p *SegmentedPath) Close() {\n\t// TODO Close\n}\n\nfunc (p *SegmentedPath) End() {\n\t// Nothing to do\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2dbase/line.go",
    "content": "// Copyright 2011 The draw2d Authors. All rights reserved.\n// created: 27/05/2011 by Laurent Le Goff\n\npackage draw2dbase\n\nimport (\n\t\"image/color\"\n\t\"image/draw\"\n)\n\nfunc abs(i int) int {\n\tif i < 0 {\n\t\treturn -i\n\t}\n\treturn i\n}\n\n// PolylineBresenham draws a polyline to an image\nfunc PolylineBresenham(img draw.Image, c color.Color, s ...float64) {\n\tfor i := 2; i < len(s); i += 2 {\n\t\tBresenham(img, c, int(s[i-2]+0.5), int(s[i-1]+0.5), int(s[i]+0.5), int(s[i+1]+0.5))\n\t}\n}\n\n// Bresenham draws a line between (x0, y0) and (x1, y1)\nfunc Bresenham(img draw.Image, color color.Color, x0, y0, x1, y1 int) {\n\tdx := abs(x1 - x0)\n\tdy := abs(y1 - y0)\n\tvar sx, sy int\n\tif x0 < x1 {\n\t\tsx = 1\n\t} else {\n\t\tsx = -1\n\t}\n\tif y0 < y1 {\n\t\tsy = 1\n\t} else {\n\t\tsy = -1\n\t}\n\terr := dx - dy\n\n\tvar e2 int\n\tfor {\n\t\timg.Set(x0, y0, color)\n\t\tif x0 == x1 && y0 == y1 {\n\t\t\treturn\n\t\t}\n\t\te2 = 2 * err\n\t\tif e2 > -dy {\n\t\t\terr = err - dy\n\t\t\tx0 = x0 + sx\n\t\t}\n\t\tif e2 < dx {\n\t\t\terr = err + dx\n\t\t\ty0 = y0 + sy\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2dbase/stack_gc.go",
    "content": "// Copyright 2010 The draw2d Authors. All rights reserved.\n// created: 21/11/2010 by Laurent Le Goff\n\npackage draw2dbase\n\nimport (\n\t\"fmt\"\n\t\"image\"\n\t\"image/color\"\n\n\t\"github.com/llgcode/draw2d\"\n\n\t\"github.com/golang/freetype/truetype\"\n)\n\nvar DefaultFontData = draw2d.FontData{Name: \"luxi\", Family: draw2d.FontFamilySans, Style: draw2d.FontStyleNormal}\n\ntype StackGraphicContext struct {\n\tCurrent *ContextStack\n}\n\ntype ContextStack struct {\n\tTr          draw2d.Matrix\n\tPath        *draw2d.Path\n\tLineWidth   float64\n\tDash        []float64\n\tDashOffset  float64\n\tStrokeColor color.Color\n\tFillColor   color.Color\n\tFillRule    draw2d.FillRule\n\tCap         draw2d.LineCap\n\tJoin        draw2d.LineJoin\n\tFontSize    float64\n\tFontData    draw2d.FontData\n\n\tFont *truetype.Font\n\t// fontSize and dpi are used to calculate scale. scale is the number of\n\t// 26.6 fixed point units in 1 em.\n\tScale float64\n\n\tPrevious *ContextStack\n}\n\n/**\n * Create a new Graphic context from an image\n */\nfunc NewStackGraphicContext() *StackGraphicContext {\n\tgc := &StackGraphicContext{}\n\tgc.Current = new(ContextStack)\n\tgc.Current.Tr = draw2d.NewIdentityMatrix()\n\tgc.Current.Path = new(draw2d.Path)\n\tgc.Current.LineWidth = 1.0\n\tgc.Current.StrokeColor = image.Black\n\tgc.Current.FillColor = image.White\n\tgc.Current.Cap = draw2d.RoundCap\n\tgc.Current.FillRule = draw2d.FillRuleEvenOdd\n\tgc.Current.Join = draw2d.RoundJoin\n\tgc.Current.FontSize = 10\n\tgc.Current.FontData = DefaultFontData\n\treturn gc\n}\n\nfunc (gc *StackGraphicContext) GetMatrixTransform() draw2d.Matrix {\n\treturn gc.Current.Tr\n}\n\nfunc (gc *StackGraphicContext) SetMatrixTransform(Tr draw2d.Matrix) {\n\tgc.Current.Tr = Tr\n}\n\nfunc (gc *StackGraphicContext) ComposeMatrixTransform(Tr draw2d.Matrix) {\n\tgc.Current.Tr.Compose(Tr)\n}\n\nfunc (gc *StackGraphicContext) Rotate(angle float64) {\n\tgc.Current.Tr.Rotate(angle)\n}\n\nfunc (gc *StackGraphicContext) Translate(tx, ty float64) {\n\tgc.Current.Tr.Translate(tx, ty)\n}\n\nfunc (gc *StackGraphicContext) Scale(sx, sy float64) {\n\tgc.Current.Tr.Scale(sx, sy)\n}\n\nfunc (gc *StackGraphicContext) SetStrokeColor(c color.Color) {\n\tgc.Current.StrokeColor = c\n}\n\nfunc (gc *StackGraphicContext) SetFillColor(c color.Color) {\n\tgc.Current.FillColor = c\n}\n\nfunc (gc *StackGraphicContext) SetFillRule(f draw2d.FillRule) {\n\tgc.Current.FillRule = f\n}\n\nfunc (gc *StackGraphicContext) SetLineWidth(lineWidth float64) {\n\tgc.Current.LineWidth = lineWidth\n}\n\nfunc (gc *StackGraphicContext) SetLineCap(cap draw2d.LineCap) {\n\tgc.Current.Cap = cap\n}\n\nfunc (gc *StackGraphicContext) SetLineJoin(join draw2d.LineJoin) {\n\tgc.Current.Join = join\n}\n\nfunc (gc *StackGraphicContext) SetLineDash(dash []float64, dashOffset float64) {\n\tgc.Current.Dash = dash\n\tgc.Current.DashOffset = dashOffset\n}\n\nfunc (gc *StackGraphicContext) SetFontSize(fontSize float64) {\n\tgc.Current.FontSize = fontSize\n}\n\nfunc (gc *StackGraphicContext) GetFontSize() float64 {\n\treturn gc.Current.FontSize\n}\n\nfunc (gc *StackGraphicContext) SetFontData(fontData draw2d.FontData) {\n\tgc.Current.FontData = fontData\n}\n\nfunc (gc *StackGraphicContext) GetFontData() draw2d.FontData {\n\treturn gc.Current.FontData\n}\n\nfunc (gc *StackGraphicContext) BeginPath() {\n\tgc.Current.Path.Clear()\n}\n\nfunc (gc *StackGraphicContext) GetPath() draw2d.Path {\n\treturn *gc.Current.Path.Copy()\n}\n\nfunc (gc *StackGraphicContext) IsEmpty() bool {\n\treturn gc.Current.Path.IsEmpty()\n}\n\nfunc (gc *StackGraphicContext) LastPoint() (float64, float64) {\n\treturn gc.Current.Path.LastPoint()\n}\n\nfunc (gc *StackGraphicContext) MoveTo(x, y float64) {\n\tgc.Current.Path.MoveTo(x, y)\n}\n\nfunc (gc *StackGraphicContext) LineTo(x, y float64) {\n\tgc.Current.Path.LineTo(x, y)\n}\n\nfunc (gc *StackGraphicContext) QuadCurveTo(cx, cy, x, y float64) {\n\tgc.Current.Path.QuadCurveTo(cx, cy, x, y)\n}\n\nfunc (gc *StackGraphicContext) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64) {\n\tgc.Current.Path.CubicCurveTo(cx1, cy1, cx2, cy2, x, y)\n}\n\nfunc (gc *StackGraphicContext) ArcTo(cx, cy, rx, ry, startAngle, angle float64) {\n\tgc.Current.Path.ArcTo(cx, cy, rx, ry, startAngle, angle)\n}\n\nfunc (gc *StackGraphicContext) Close() {\n\tgc.Current.Path.Close()\n}\n\nfunc (gc *StackGraphicContext) Save() {\n\tcontext := new(ContextStack)\n\tcontext.FontSize = gc.Current.FontSize\n\tcontext.FontData = gc.Current.FontData\n\tcontext.LineWidth = gc.Current.LineWidth\n\tcontext.StrokeColor = gc.Current.StrokeColor\n\tcontext.FillColor = gc.Current.FillColor\n\tcontext.FillRule = gc.Current.FillRule\n\tcontext.Dash = gc.Current.Dash\n\tcontext.DashOffset = gc.Current.DashOffset\n\tcontext.Cap = gc.Current.Cap\n\tcontext.Join = gc.Current.Join\n\tcontext.Path = gc.Current.Path.Copy()\n\tcontext.Font = gc.Current.Font\n\tcontext.Scale = gc.Current.Scale\n\tcopy(context.Tr[:], gc.Current.Tr[:])\n\tcontext.Previous = gc.Current\n\tgc.Current = context\n}\n\nfunc (gc *StackGraphicContext) Restore() {\n\tif gc.Current.Previous != nil {\n\t\toldContext := gc.Current\n\t\tgc.Current = gc.Current.Previous\n\t\toldContext.Previous = nil\n\t}\n}\n\nfunc (gc *StackGraphicContext) GetFontName() string {\n\tfontData := gc.Current.FontData\n\treturn fmt.Sprintf(\"%s:%d:%d:%d\", fontData.Name, fontData.Family, fontData.Style, gc.Current.FontSize)\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2dbase/stroker.go",
    "content": "// Copyright 2010 The draw2d Authors. All rights reserved.\n// created: 13/12/2010 by Laurent Le Goff\n\npackage draw2dbase\n\nimport (\n\t\"math\"\n\n\t\"github.com/llgcode/draw2d\"\n)\n\ntype LineStroker struct {\n\tFlattener     Flattener\n\tHalfLineWidth float64\n\tCap           draw2d.LineCap\n\tJoin          draw2d.LineJoin\n\tvertices      []float64\n\trewind        []float64\n\tx, y, nx, ny  float64\n}\n\nfunc NewLineStroker(c draw2d.LineCap, j draw2d.LineJoin, flattener Flattener) *LineStroker {\n\tl := new(LineStroker)\n\tl.Flattener = flattener\n\tl.HalfLineWidth = 0.5\n\tl.Cap = c\n\tl.Join = j\n\treturn l\n}\n\nfunc (l *LineStroker) MoveTo(x, y float64) {\n\tl.x, l.y = x, y\n}\n\nfunc (l *LineStroker) LineTo(x, y float64) {\n\tl.line(l.x, l.y, x, y)\n}\n\nfunc (l *LineStroker) LineJoin() {\n\n}\n\nfunc (l *LineStroker) line(x1, y1, x2, y2 float64) {\n\tdx := (x2 - x1)\n\tdy := (y2 - y1)\n\td := vectorDistance(dx, dy)\n\tif d != 0 {\n\t\tnx := dy * l.HalfLineWidth / d\n\t\tny := -(dx * l.HalfLineWidth / d)\n\t\tl.appendVertex(x1+nx, y1+ny, x2+nx, y2+ny, x1-nx, y1-ny, x2-nx, y2-ny)\n\t\tl.x, l.y, l.nx, l.ny = x2, y2, nx, ny\n\t}\n}\n\nfunc (l *LineStroker) Close() {\n\tif len(l.vertices) > 1 {\n\t\tl.appendVertex(l.vertices[0], l.vertices[1], l.rewind[0], l.rewind[1])\n\t}\n}\n\nfunc (l *LineStroker) End() {\n\tif len(l.vertices) > 1 {\n\t\tl.Flattener.MoveTo(l.vertices[0], l.vertices[1])\n\t\tfor i, j := 2, 3; j < len(l.vertices); i, j = i+2, j+2 {\n\t\t\tl.Flattener.LineTo(l.vertices[i], l.vertices[j])\n\t\t}\n\t}\n\tfor i, j := len(l.rewind)-2, len(l.rewind)-1; j > 0; i, j = i-2, j-2 {\n\t\tl.Flattener.LineTo(l.rewind[i], l.rewind[j])\n\t}\n\tif len(l.vertices) > 1 {\n\t\tl.Flattener.LineTo(l.vertices[0], l.vertices[1])\n\t}\n\tl.Flattener.End()\n\t// reinit vertices\n\tl.vertices = l.vertices[0:0]\n\tl.rewind = l.rewind[0:0]\n\tl.x, l.y, l.nx, l.ny = 0, 0, 0, 0\n\n}\n\nfunc (l *LineStroker) appendVertex(vertices ...float64) {\n\ts := len(vertices) / 2\n\tl.vertices = append(l.vertices, vertices[:s]...)\n\tl.rewind = append(l.rewind, vertices[s:]...)\n}\n\nfunc vectorDistance(dx, dy float64) float64 {\n\treturn float64(math.Sqrt(dx*dx + dy*dy))\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2dbase/text.go",
    "content": "package draw2dbase\n\nimport \"github.com/llgcode/draw2d\"\n\n// GlyphCache manage a cache of glyphs\ntype GlyphCache interface {\n\t// Fetch fetches a glyph from the cache, storing with Render first if it doesn't already exist\n\tFetch(gc draw2d.GraphicContext, fontName string, chr rune) *Glyph\n}\n\n// GlyphCacheImp manage a map of glyphs without sync mecanism, not thread safe\ntype GlyphCacheImp struct {\n\tglyphs map[string]map[rune]*Glyph\n}\n\n\n// NewGlyphCache initializes a GlyphCache\nfunc NewGlyphCache() *GlyphCacheImp {\n\tglyphs := make(map[string]map[rune]*Glyph)\n\treturn &GlyphCacheImp {\n\t\tglyphs: glyphs,\n\t}\n}\n\n// Fetch fetches a glyph from the cache, calling renderGlyph first if it doesn't already exist\nfunc (glyphCache *GlyphCacheImp) Fetch(gc draw2d.GraphicContext, fontName string, chr rune) *Glyph {\n\tif glyphCache.glyphs[fontName] == nil {\n\t\tglyphCache.glyphs[fontName] = make(map[rune]*Glyph, 60)\n\t}\n\tif glyphCache.glyphs[fontName][chr] == nil {\n\t\tglyphCache.glyphs[fontName][chr] = renderGlyph(gc, fontName, chr)\n\t}\n\treturn glyphCache.glyphs[fontName][chr].Copy()\n}\n\n// renderGlyph renders a glyph then caches and returns it\nfunc renderGlyph(gc draw2d.GraphicContext, fontName string, chr rune) *Glyph {\n\tgc.Save()\n\tdefer gc.Restore()\n\tgc.BeginPath()\n\twidth := gc.CreateStringPath(string(chr), 0, 0)\n\tpath := gc.GetPath()\n\treturn &Glyph{\n\t\tPath:  &path,\n\t\tWidth: width,\n\t}\n}\n\n// Glyph represents a rune which has been converted to a Path and width\ntype Glyph struct {\n\t// path represents a glyph, it is always at (0, 0)\n\tPath *draw2d.Path\n\t// Width of the glyph\n\tWidth float64\n}\n\n// Copy Returns a copy of a Glyph\nfunc (g *Glyph) Copy() *Glyph {\n\treturn &Glyph{\n\t\tPath:  g.Path.Copy(),\n\t\tWidth: g.Width,\n\t}\n}\n\n// Fill copies a glyph from the cache, and fills it\nfunc (g *Glyph) Fill(gc draw2d.GraphicContext, x, y float64) float64 {\n\tgc.Save()\n\tgc.BeginPath()\n\tgc.Translate(x, y)\n\tgc.Fill(g.Path)\n\tgc.Restore()\n\treturn g.Width\n}\n\n// Stroke fetches a glyph from the cache, and strokes it\nfunc (g *Glyph) Stroke(gc draw2d.GraphicContext, x, y float64) float64 {\n\tgc.Save()\n\tgc.BeginPath()\n\tgc.Translate(x, y)\n\tgc.Stroke(g.Path)\n\tgc.Restore()\n\treturn g.Width\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2dimg/fileutil.go",
    "content": "package draw2dimg\n\nimport (\n\t\"bufio\"\n\t\"image\"\n\t\"image/png\"\n\t\"os\"\n)\n\n// SaveToPngFile create and save an image to a file using PNG format\nfunc SaveToPngFile(filePath string, m image.Image) error {\n\t// Create the file\n\tf, err := os.Create(filePath)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer f.Close()\n\t// Create Writer from file\n\tb := bufio.NewWriter(f)\n\t// Write the image into the buffer\n\terr = png.Encode(b, m)\n\tif err != nil {\n\t\treturn err\n\t}\n\terr = b.Flush()\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// LoadFromPngFile Open a png file\nfunc LoadFromPngFile(filePath string) (image.Image, error) {\n\t// Open file\n\tf, err := os.OpenFile(filePath, 0, 0)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer f.Close()\n\tb := bufio.NewReader(f)\n\timg, err := png.Decode(b)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn img, nil\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2dimg/ftgc.go",
    "content": "// Copyright 2010 The draw2d Authors. All rights reserved.\n// created: 21/11/2010 by Laurent Le Goff\n\npackage draw2dimg\n\nimport (\n\t\"image\"\n\t\"image/color\"\n\t\"log\"\n\t\"math\"\n\n\t\"github.com/llgcode/draw2d\"\n\t\"github.com/llgcode/draw2d/draw2dbase\"\n\n\t\"github.com/golang/freetype/raster\"\n\t\"github.com/golang/freetype/truetype\"\n\n\t\"golang.org/x/image/draw\"\n\t\"golang.org/x/image/font\"\n\t\"golang.org/x/image/math/f64\"\n\t\"golang.org/x/image/math/fixed\"\n)\n\n// Painter implements the freetype raster.Painter and has a SetColor method like the RGBAPainter\ntype Painter interface {\n\traster.Painter\n\tSetColor(color color.Color)\n}\n\n// GraphicContext is the implementation of draw2d.GraphicContext for a raster image\ntype GraphicContext struct {\n\t*draw2dbase.StackGraphicContext\n\timg              draw.Image\n\tpainter          Painter\n\tfillRasterizer   *raster.Rasterizer\n\tstrokeRasterizer *raster.Rasterizer\n\tFontCache\t\t draw2d.FontCache\n\tglyphCache       draw2dbase.GlyphCache\n\tglyphBuf         *truetype.GlyphBuf\n\tDPI              int\n}\n\n// ImageFilter defines the type of filter to use\ntype ImageFilter int\n\nconst (\n\t// LinearFilter defines a linear filter\n\tLinearFilter ImageFilter = iota\n\t// BilinearFilter defines a bilinear filter\n\tBilinearFilter\n\t// BicubicFilter defines a bicubic filter\n\tBicubicFilter\n)\n\n// NewGraphicContext creates a new Graphic context from an image.\nfunc NewGraphicContext(img draw.Image) *GraphicContext {\n\n\tvar painter Painter\n\tswitch selectImage := img.(type) {\n\tcase *image.RGBA:\n\t\tpainter = raster.NewRGBAPainter(selectImage)\n\tdefault:\n\t\tpanic(\"Image type not supported\")\n\t}\n\treturn NewGraphicContextWithPainter(img, painter)\n}\n\n// NewGraphicContextWithPainter creates a new Graphic context from an image and a Painter (see Freetype-go)\nfunc NewGraphicContextWithPainter(img draw.Image, painter Painter) *GraphicContext {\n\twidth, height := img.Bounds().Dx(), img.Bounds().Dy()\n\tdpi := 92\n\tgc := &GraphicContext{\n\t\tdraw2dbase.NewStackGraphicContext(),\n\t\timg,\n\t\tpainter,\n\t\traster.NewRasterizer(width, height),\n\t\traster.NewRasterizer(width, height),\n\t\tdraw2d.GetGlobalFontCache(),\n\t\tdraw2dbase.NewGlyphCache(),\n\t\t&truetype.GlyphBuf{},\n\t\tdpi,\n\t}\n\treturn gc\n}\n\n// GetDPI returns the resolution of the Image GraphicContext\nfunc (gc *GraphicContext) GetDPI() int {\n\treturn gc.DPI\n}\n\n// Clear fills the current canvas with a default transparent color\nfunc (gc *GraphicContext) Clear() {\n\twidth, height := gc.img.Bounds().Dx(), gc.img.Bounds().Dy()\n\tgc.ClearRect(0, 0, width, height)\n}\n\n// ClearRect fills the current canvas with a default transparent color at the specified rectangle\nfunc (gc *GraphicContext) ClearRect(x1, y1, x2, y2 int) {\n\timageColor := image.NewUniform(gc.Current.FillColor)\n\tdraw.Draw(gc.img, image.Rect(x1, y1, x2, y2), imageColor, image.ZP, draw.Over)\n}\n\n// DrawImage draws an image into dest using an affine transformation matrix, an op and a filter\nfunc DrawImage(src image.Image, dest draw.Image, tr draw2d.Matrix, op draw.Op, filter ImageFilter) {\n\tvar transformer draw.Transformer\n\tswitch filter {\n\tcase LinearFilter:\n\t\ttransformer = draw.NearestNeighbor\n\tcase BilinearFilter:\n\t\ttransformer = draw.BiLinear\n\tcase BicubicFilter:\n\t\ttransformer = draw.CatmullRom\n\t}\n\ttransformer.Transform(dest, f64.Aff3{tr[0], tr[1], tr[4], tr[2], tr[3], tr[5]}, src, src.Bounds(), op, nil)\n}\n\n// DrawImage draws the raster image in the current canvas\nfunc (gc *GraphicContext) DrawImage(img image.Image) {\n\tDrawImage(img, gc.img, gc.Current.Tr, draw.Over, BilinearFilter)\n}\n\n// FillString draws the text at point (0, 0)\nfunc (gc *GraphicContext) FillString(text string) (width float64) {\n\treturn gc.FillStringAt(text, 0, 0)\n}\n\n// FillStringAt draws the text at the specified point (x, y)\nfunc (gc *GraphicContext) FillStringAt(text string, x, y float64) (width float64) {\n\tf, err := gc.loadCurrentFont()\n\tif err != nil {\n\t\tlog.Println(err)\n\t\treturn 0.0\n\t}\n\tstartx := x\n\tprev, hasPrev := truetype.Index(0), false\n\tfontName := gc.GetFontName()\n\tfor _, r := range text {\n\t\tindex := f.Index(r)\n\t\tif hasPrev {\n\t\t\tx += fUnitsToFloat64(f.Kern(fixed.Int26_6(gc.Current.Scale), prev, index))\n\t\t}\n\t\tglyph := gc.glyphCache.Fetch(gc, fontName, r)\n\t\tx += glyph.Fill(gc, x, y)\n\t\tprev, hasPrev = index, true\n\t}\n\treturn x - startx\n}\n\n// StrokeString draws the contour of the text at point (0, 0)\nfunc (gc *GraphicContext) StrokeString(text string) (width float64) {\n\treturn gc.StrokeStringAt(text, 0, 0)\n}\n\n// StrokeStringAt draws the contour of the text at point (x, y)\nfunc (gc *GraphicContext) StrokeStringAt(text string, x, y float64) (width float64) {\n\tf, err := gc.loadCurrentFont()\n\tif err != nil {\n\t\tlog.Println(err)\n\t\treturn 0.0\n\t}\n\tstartx := x\n\tprev, hasPrev := truetype.Index(0), false\n\tfontName := gc.GetFontName()\n\tfor _, r := range text {\n\t\tindex := f.Index(r)\n\t\tif hasPrev {\n\t\t\tx += fUnitsToFloat64(f.Kern(fixed.Int26_6(gc.Current.Scale), prev, index))\n\t\t}\n\t\tglyph := gc.glyphCache.Fetch(gc, fontName, r)\n\t\tx += glyph.Stroke(gc, x, y)\n\t\tprev, hasPrev = index, true\n\t}\n\treturn x - startx\n}\n\nfunc (gc *GraphicContext) loadCurrentFont() (*truetype.Font, error) {\n\tfont, err := gc.FontCache.Load(gc.Current.FontData)\n\tif err != nil {\n\t\tfont, err = gc.FontCache.Load(draw2dbase.DefaultFontData)\n\t}\n\tif font != nil {\n\t\tgc.SetFont(font)\n\t\tgc.SetFontSize(gc.Current.FontSize)\n\t}\n\treturn font, err\n}\n\n// p is a truetype.Point measured in FUnits and positive Y going upwards.\n// The returned value is the same thing measured in floating point and positive Y\n// going downwards.\n\nfunc (gc *GraphicContext) drawGlyph(glyph truetype.Index, dx, dy float64) error {\n\tif err := gc.glyphBuf.Load(gc.Current.Font, fixed.Int26_6(gc.Current.Scale), glyph, font.HintingNone); err != nil {\n\t\treturn err\n\t}\n\te0 := 0\n\tfor _, e1 := range gc.glyphBuf.Ends {\n\t\tDrawContour(gc, gc.glyphBuf.Points[e0:e1], dx, dy)\n\t\te0 = e1\n\t}\n\treturn nil\n}\n\n// CreateStringPath creates a path from the string s at x, y, and returns the string width.\n// The text is placed so that the left edge of the em square of the first character of s\n// and the baseline intersect at x, y. The majority of the affected pixels will be\n// above and to the right of the point, but some may be below or to the left.\n// For example, drawing a string that starts with a 'J' in an italic font may\n// affect pixels below and left of the point.\nfunc (gc *GraphicContext) CreateStringPath(s string, x, y float64) float64 {\n\tf, err := gc.loadCurrentFont()\n\tif err != nil {\n\t\tlog.Println(err)\n\t\treturn 0.0\n\t}\n\tstartx := x\n\tprev, hasPrev := truetype.Index(0), false\n\tfor _, rune := range s {\n\t\tindex := f.Index(rune)\n\t\tif hasPrev {\n\t\t\tx += fUnitsToFloat64(f.Kern(fixed.Int26_6(gc.Current.Scale), prev, index))\n\t\t}\n\t\terr := gc.drawGlyph(index, x, y)\n\t\tif err != nil {\n\t\t\tlog.Println(err)\n\t\t\treturn startx - x\n\t\t}\n\t\tx += fUnitsToFloat64(f.HMetric(fixed.Int26_6(gc.Current.Scale), index).AdvanceWidth)\n\t\tprev, hasPrev = index, true\n\t}\n\treturn x - startx\n}\n\n// GetStringBounds returns the approximate pixel bounds of the string s at x, y.\n// The the left edge of the em square of the first character of s\n// and the baseline intersect at 0, 0 in the returned coordinates.\n// Therefore the top and left coordinates may well be negative.\nfunc (gc *GraphicContext) GetStringBounds(s string) (left, top, right, bottom float64) {\n\tf, err := gc.loadCurrentFont()\n\tif err != nil {\n\t\tlog.Println(err)\n\t\treturn 0, 0, 0, 0\n\t}\n\ttop, left, bottom, right = 10e6, 10e6, -10e6, -10e6\n\tcursor := 0.0\n\tprev, hasPrev := truetype.Index(0), false\n\tfor _, rune := range s {\n\t\tindex := f.Index(rune)\n\t\tif hasPrev {\n\t\t\tcursor += fUnitsToFloat64(f.Kern(fixed.Int26_6(gc.Current.Scale), prev, index))\n\t\t}\n\t\tif err := gc.glyphBuf.Load(gc.Current.Font, fixed.Int26_6(gc.Current.Scale), index, font.HintingNone); err != nil {\n\t\t\tlog.Println(err)\n\t\t\treturn 0, 0, 0, 0\n\t\t}\n\t\te0 := 0\n\t\tfor _, e1 := range gc.glyphBuf.Ends {\n\t\t\tps := gc.glyphBuf.Points[e0:e1]\n\t\t\tfor _, p := range ps {\n\t\t\t\tx, y := pointToF64Point(p)\n\t\t\t\ttop = math.Min(top, y)\n\t\t\t\tbottom = math.Max(bottom, y)\n\t\t\t\tleft = math.Min(left, x+cursor)\n\t\t\t\tright = math.Max(right, x+cursor)\n\t\t\t}\n\t\t}\n\t\tcursor += fUnitsToFloat64(f.HMetric(fixed.Int26_6(gc.Current.Scale), index).AdvanceWidth)\n\t\tprev, hasPrev = index, true\n\t}\n\treturn left, top, right, bottom\n}\n\n// recalc recalculates scale and bounds values from the font size, screen\n// resolution and font metrics, and invalidates the glyph cache.\nfunc (gc *GraphicContext) recalc() {\n\tgc.Current.Scale = gc.Current.FontSize * float64(gc.DPI) * (64.0 / 72.0)\n}\n\n// SetDPI sets the screen resolution in dots per inch.\nfunc (gc *GraphicContext) SetDPI(dpi int) {\n\tgc.DPI = dpi\n\tgc.recalc()\n}\n\n// SetFont sets the font used to draw text.\nfunc (gc *GraphicContext) SetFont(font *truetype.Font) {\n\tgc.Current.Font = font\n}\n\n// SetFontSize sets the font size in points (as in ``a 12 point font'').\nfunc (gc *GraphicContext) SetFontSize(fontSize float64) {\n\tgc.Current.FontSize = fontSize\n\tgc.recalc()\n}\n\nfunc (gc *GraphicContext) paint(rasterizer *raster.Rasterizer, color color.Color) {\n\tgc.painter.SetColor(color)\n\trasterizer.Rasterize(gc.painter)\n\trasterizer.Clear()\n\tgc.Current.Path.Clear()\n}\n\n// Stroke strokes the paths with the color specified by SetStrokeColor\nfunc (gc *GraphicContext) Stroke(paths ...*draw2d.Path) {\n\tpaths = append(paths, gc.Current.Path)\n\tgc.strokeRasterizer.UseNonZeroWinding = true\n\n\tstroker := draw2dbase.NewLineStroker(gc.Current.Cap, gc.Current.Join, draw2dbase.Transformer{Tr: gc.Current.Tr, Flattener: FtLineBuilder{Adder: gc.strokeRasterizer}})\n\tstroker.HalfLineWidth = gc.Current.LineWidth / 2\n\n\tvar liner draw2dbase.Flattener\n\tif gc.Current.Dash != nil && len(gc.Current.Dash) > 0 {\n\t\tliner = draw2dbase.NewDashConverter(gc.Current.Dash, gc.Current.DashOffset, stroker)\n\t} else {\n\t\tliner = stroker\n\t}\n\tfor _, p := range paths {\n\t\tdraw2dbase.Flatten(p, liner, gc.Current.Tr.GetScale())\n\t}\n\n\tgc.paint(gc.strokeRasterizer, gc.Current.StrokeColor)\n}\n\n// Fill fills the paths with the color specified by SetFillColor\nfunc (gc *GraphicContext) Fill(paths ...*draw2d.Path) {\n\tpaths = append(paths, gc.Current.Path)\n\tgc.fillRasterizer.UseNonZeroWinding = gc.Current.FillRule == draw2d.FillRuleWinding\n\n\t/**** first method ****/\n\tflattener := draw2dbase.Transformer{Tr: gc.Current.Tr, Flattener: FtLineBuilder{Adder: gc.fillRasterizer}}\n\tfor _, p := range paths {\n\t\tdraw2dbase.Flatten(p, flattener, gc.Current.Tr.GetScale())\n\t}\n\n\tgc.paint(gc.fillRasterizer, gc.Current.FillColor)\n}\n\n// FillStroke first fills the paths and than strokes them\nfunc (gc *GraphicContext) FillStroke(paths ...*draw2d.Path) {\n\tpaths = append(paths, gc.Current.Path)\n\tgc.fillRasterizer.UseNonZeroWinding = gc.Current.FillRule == draw2d.FillRuleWinding\n\tgc.strokeRasterizer.UseNonZeroWinding = true\n\n\tflattener := draw2dbase.Transformer{Tr: gc.Current.Tr, Flattener: FtLineBuilder{Adder: gc.fillRasterizer}}\n\n\tstroker := draw2dbase.NewLineStroker(gc.Current.Cap, gc.Current.Join, draw2dbase.Transformer{Tr: gc.Current.Tr, Flattener: FtLineBuilder{Adder: gc.strokeRasterizer}})\n\tstroker.HalfLineWidth = gc.Current.LineWidth / 2\n\n\tvar liner draw2dbase.Flattener\n\tif gc.Current.Dash != nil && len(gc.Current.Dash) > 0 {\n\t\tliner = draw2dbase.NewDashConverter(gc.Current.Dash, gc.Current.DashOffset, stroker)\n\t} else {\n\t\tliner = stroker\n\t}\n\n\tdemux := draw2dbase.DemuxFlattener{Flatteners: []draw2dbase.Flattener{flattener, liner}}\n\tfor _, p := range paths {\n\t\tdraw2dbase.Flatten(p, demux, gc.Current.Tr.GetScale())\n\t}\n\n\t// Fill\n\tgc.paint(gc.fillRasterizer, gc.Current.FillColor)\n\t// Stroke\n\tgc.paint(gc.strokeRasterizer, gc.Current.StrokeColor)\n}\n\nfunc toFtCap(c draw2d.LineCap) raster.Capper {\n\tswitch c {\n\tcase draw2d.RoundCap:\n\t\treturn raster.RoundCapper\n\tcase draw2d.ButtCap:\n\t\treturn raster.ButtCapper\n\tcase draw2d.SquareCap:\n\t\treturn raster.SquareCapper\n\t}\n\treturn raster.RoundCapper\n}\n\nfunc toFtJoin(j draw2d.LineJoin) raster.Joiner {\n\tswitch j {\n\tcase draw2d.RoundJoin:\n\t\treturn raster.RoundJoiner\n\tcase draw2d.BevelJoin:\n\t\treturn raster.BevelJoiner\n\t}\n\treturn raster.RoundJoiner\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2dimg/ftpath.go",
    "content": "// Copyright 2010 The draw2d Authors. All rights reserved.\n// created: 13/12/2010 by Laurent Le Goff\n\npackage draw2dimg\n\nimport (\n\t\"github.com/golang/freetype/raster\"\n\t\"golang.org/x/image/math/fixed\"\n)\n\ntype FtLineBuilder struct {\n\tAdder raster.Adder\n}\n\nfunc (liner FtLineBuilder) MoveTo(x, y float64) {\n\tliner.Adder.Start(fixed.Point26_6{X: fixed.Int26_6(x * 64), Y: fixed.Int26_6(y * 64)})\n}\n\nfunc (liner FtLineBuilder) LineTo(x, y float64) {\n\tliner.Adder.Add1(fixed.Point26_6{X: fixed.Int26_6(x * 64), Y: fixed.Int26_6(y * 64)})\n}\n\nfunc (liner FtLineBuilder) LineJoin() {\n}\n\nfunc (liner FtLineBuilder) Close() {\n}\n\nfunc (liner FtLineBuilder) End() {\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/draw2dimg/text.go",
    "content": "package draw2dimg\n\nimport (\n\t\"github.com/golang/freetype/truetype\"\n\t\"github.com/llgcode/draw2d\"\n\n\t\"golang.org/x/image/math/fixed\"\n)\n\n// DrawContour draws the given closed contour at the given sub-pixel offset.\nfunc DrawContour(path draw2d.PathBuilder, ps []truetype.Point, dx, dy float64) {\n\tif len(ps) == 0 {\n\t\treturn\n\t}\n\tstartX, startY := pointToF64Point(ps[0])\n\tpath.MoveTo(startX+dx, startY+dy)\n\tq0X, q0Y, on0 := startX, startY, true\n\tfor _, p := range ps[1:] {\n\t\tqX, qY := pointToF64Point(p)\n\t\ton := p.Flags&0x01 != 0\n\t\tif on {\n\t\t\tif on0 {\n\t\t\t\tpath.LineTo(qX+dx, qY+dy)\n\t\t\t} else {\n\t\t\t\tpath.QuadCurveTo(q0X+dx, q0Y+dy, qX+dx, qY+dy)\n\t\t\t}\n\t\t} else {\n\t\t\tif on0 {\n\t\t\t\t// No-op.\n\t\t\t} else {\n\t\t\t\tmidX := (q0X + qX) / 2\n\t\t\t\tmidY := (q0Y + qY) / 2\n\t\t\t\tpath.QuadCurveTo(q0X+dx, q0Y+dy, midX+dx, midY+dy)\n\t\t\t}\n\t\t}\n\t\tq0X, q0Y, on0 = qX, qY, on\n\t}\n\t// Close the curve.\n\tif on0 {\n\t\tpath.LineTo(startX+dx, startY+dy)\n\t} else {\n\t\tpath.QuadCurveTo(q0X+dx, q0Y+dy, startX+dx, startY+dy)\n\t}\n}\n\nfunc pointToF64Point(p truetype.Point) (x, y float64) {\n\treturn fUnitsToFloat64(p.X), -fUnitsToFloat64(p.Y)\n}\n\nfunc fUnitsToFloat64(x fixed.Int26_6) float64 {\n\tscaled := x << 2\n\treturn float64(scaled/256) + float64(scaled%256)/256.0\n}\n\n// FontExtents contains font metric information.\ntype FontExtents struct {\n\t// Ascent is the distance that the text\n\t// extends above the baseline.\n\tAscent float64\n\n\t// Descent is the distance that the text\n\t// extends below the baseline.  The descent\n\t// is given as a negative value.\n\tDescent float64\n\n\t// Height is the distance from the lowest\n\t// descending point to the highest ascending\n\t// point.\n\tHeight float64\n}\n\n// Extents returns the FontExtents for a font.\n// TODO needs to read this https://developer.apple.com/fonts/TrueType-Reference-Manual/RM02/Chap2.html#intro\nfunc Extents(font *truetype.Font, size float64) FontExtents {\n\tbounds := font.Bounds(fixed.Int26_6(font.FUnitsPerEm()))\n\tscale := size / float64(font.FUnitsPerEm())\n\treturn FontExtents{\n\t\tAscent:  float64(bounds.Max.Y) * scale,\n\t\tDescent: float64(bounds.Min.Y) * scale,\n\t\tHeight:  float64(bounds.Max.Y-bounds.Min.Y) * scale,\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/font.go",
    "content": "// Copyright 2010 The draw2d Authors. All rights reserved.\n// created: 13/12/2010 by Laurent Le Goff\n\npackage draw2d\n\nimport (\n\t\"io/ioutil\"\n\t\"log\"\n\t\"path/filepath\"\n\n\t\"sync\"\n\t\"github.com/golang/freetype/truetype\"\n)\n\n// FontStyle defines bold and italic styles for the font\n// It is possible to combine values for mixed styles, eg.\n//     FontData.Style = FontStyleBold | FontStyleItalic\ntype FontStyle byte\n\nconst (\n\tFontStyleNormal FontStyle = iota\n\tFontStyleBold\n\tFontStyleItalic\n)\n\ntype FontFamily byte\n\nconst (\n\tFontFamilySans FontFamily = iota\n\tFontFamilySerif\n\tFontFamilyMono\n)\n\ntype FontData struct {\n\tName   string\n\tFamily FontFamily\n\tStyle  FontStyle\n}\n\ntype FontFileNamer func(fontData FontData) string\n\nfunc FontFileName(fontData FontData) string {\n\tfontFileName := fontData.Name\n\tswitch fontData.Family {\n\tcase FontFamilySans:\n\t\tfontFileName += \"s\"\n\tcase FontFamilySerif:\n\t\tfontFileName += \"r\"\n\tcase FontFamilyMono:\n\t\tfontFileName += \"m\"\n\t}\n\tif fontData.Style&FontStyleBold != 0 {\n\t\tfontFileName += \"b\"\n\t} else {\n\t\tfontFileName += \"r\"\n\t}\n\n\tif fontData.Style&FontStyleItalic != 0 {\n\t\tfontFileName += \"i\"\n\t}\n\tfontFileName += \".ttf\"\n\treturn fontFileName\n}\n\nfunc RegisterFont(fontData FontData, font *truetype.Font) {\n\tfontCache.Store(fontData, font)\n}\n\nfunc GetFont(fontData FontData) (font *truetype.Font) {\n\tvar err error\n\n\tif font, err = fontCache.Load(fontData); err != nil {\n\t\tlog.Println(err)\n\t}\n\n\treturn\n}\n\nfunc GetFontFolder() string {\n\treturn defaultFonts.folder\n}\n\nfunc SetFontFolder(folder string) {\n\tdefaultFonts.setFolder(filepath.Clean(folder))\n}\n\nfunc GetGlobalFontCache() FontCache {\n\treturn fontCache\n}\n\nfunc SetFontNamer(fn FontFileNamer) {\n\tdefaultFonts.setNamer(fn)\n}\n\n// Types implementing this interface can be passed to SetFontCache to change the\n// way fonts are being stored and retrieved.\ntype FontCache interface {\n\t// Loads a truetype font represented by the FontData object passed as\n\t// argument.\n\t// The method returns an error if the font could not be loaded, either\n\t// because it didn't exist or the resource it was loaded from was corrupted.\n\tLoad(FontData) (*truetype.Font, error)\n\n\t// Sets the truetype font that will be returned by Load when given the font\n\t// data passed as first argument.\n\tStore(FontData, *truetype.Font)\n}\n\n// Changes the font cache backend used by the package. After calling this\n// functionSetFontFolder and SetFontNamer will not affect anymore how fonts are\n// loaded.\n// To restore the default font cache, call this function passing nil as argument.\nfunc SetFontCache(cache FontCache) {\n\tif cache == nil {\n\t\tfontCache = defaultFonts\n\t} else {\n\t\tfontCache = cache\n\t}\n}\n\n// FolderFontCache can Load font from folder\ntype FolderFontCache struct {\n\tfonts  map[string]*truetype.Font\n\tfolder string\n\tnamer  FontFileNamer\n}\n\n// NewFolderFontCache creates FolderFontCache \nfunc NewFolderFontCache(folder string) *FolderFontCache {\n\treturn &FolderFontCache{\n\t\tfonts:  make(map[string]*truetype.Font),\n\t\tfolder: folder,\n\t\tnamer:  FontFileName,\n\t}\n}\n\n// Load a font from cache if exists otherwise it will load the font from file\nfunc (cache *FolderFontCache) Load(fontData FontData) (font *truetype.Font, err error) {\n\tif font = cache.fonts[cache.namer(fontData)]; font != nil {\n\t\treturn font, nil\n\t}\n\n\tvar data []byte\n\tvar file = cache.namer(fontData)\n\n\tif data, err = ioutil.ReadFile(filepath.Join(cache.folder, file)); err != nil {\n\t\treturn\n\t}\n\n\tif font, err = truetype.Parse(data); err != nil {\n\t\treturn\n\t}\n\n\tcache.fonts[file] = font\n\treturn\n}\n\n// Store a font to this cache\nfunc (cache *FolderFontCache) Store(fontData FontData, font *truetype.Font) {\n\tcache.fonts[cache.namer(fontData)] = font\n}\n\n// SyncFolderFontCache can Load font from folder\ntype SyncFolderFontCache struct {\n\tsync.RWMutex\n\tfonts  map[string]*truetype.Font\n\tfolder string\n\tnamer  FontFileNamer\n}\n\n\n\n// NewSyncFolderFontCache creates SyncFolderFontCache \nfunc NewSyncFolderFontCache(folder string) *SyncFolderFontCache {\n\treturn &SyncFolderFontCache{\n\t\tfonts:  make(map[string]*truetype.Font),\n\t\tfolder: folder,\n\t\tnamer:  FontFileName,\n\t}\n}\n\nfunc (cache *SyncFolderFontCache) setFolder(folder string) {\n\tcache.Lock()\n\tcache.folder = folder\n\tcache.Unlock()\n}\n\nfunc (cache *SyncFolderFontCache) setNamer(namer FontFileNamer) {\n\tcache.Lock()\n\tcache.namer = namer\n\tcache.Unlock()\n}\n\n// Load a font from cache if exists otherwise it will load the font from file\nfunc (cache *SyncFolderFontCache) Load(fontData FontData) (font *truetype.Font, err error) {\n\tcache.RLock()\n\tfont = cache.fonts[cache.namer(fontData)]\n\tcache.RUnlock()\n\n\tif font != nil {\n\t\treturn font, nil\n\t}\n\n\tvar data []byte\n\tvar file = cache.namer(fontData)\n\n\tif data, err = ioutil.ReadFile(filepath.Join(cache.folder, file)); err != nil {\n\t\treturn\n\t}\n\n\tif font, err = truetype.Parse(data); err != nil {\n\t\treturn\n\t}\n\tcache.Lock()\n\tcache.fonts[file] = font\n\tcache.Unlock()\n\treturn\n}\n\n// Store a font to this cache\nfunc (cache *SyncFolderFontCache) Store(fontData FontData, font *truetype.Font) {\n\tcache.Lock()\n\tcache.fonts[cache.namer(fontData)] = font\n\tcache.Unlock()\n}\n\nvar (\n\tdefaultFonts = NewSyncFolderFontCache(\"../resource/font\")\n\n\tfontCache FontCache = defaultFonts\n)\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/gc.go",
    "content": "// Copyright 2010 The draw2d Authors. All rights reserved.\n// created: 21/11/2010 by Laurent Le Goff\n\npackage draw2d\n\nimport (\n\t\"image\"\n\t\"image/color\"\n)\n\n// GraphicContext describes the interface for the various backends (images, pdf, opengl, ...)\ntype GraphicContext interface {\n\t// PathBuilder describes the interface for path drawing\n\tPathBuilder\n\t// BeginPath creates a new path\n\tBeginPath()\n\t// GetPath copies the current path, then returns it\n\tGetPath() Path\n\t// GetMatrixTransform returns the current transformation matrix\n\tGetMatrixTransform() Matrix\n\t// SetMatrixTransform sets the current transformation matrix\n\tSetMatrixTransform(tr Matrix)\n\t// ComposeMatrixTransform composes the current transformation matrix with tr\n\tComposeMatrixTransform(tr Matrix)\n\t// Rotate applies a rotation to the current transformation matrix. angle is in radian.\n\tRotate(angle float64)\n\t// Translate applies a translation to the current transformation matrix.\n\tTranslate(tx, ty float64)\n\t// Scale applies a scale to the current transformation matrix.\n\tScale(sx, sy float64)\n\t// SetStrokeColor sets the current stroke color\n\tSetStrokeColor(c color.Color)\n\t// SetFillColor sets the current fill color\n\tSetFillColor(c color.Color)\n\t// SetFillRule sets the current fill rule\n\tSetFillRule(f FillRule)\n\t// SetLineWidth sets the current line width\n\tSetLineWidth(lineWidth float64)\n\t// SetLineCap sets the current line cap\n\tSetLineCap(cap LineCap)\n\t// SetLineJoin sets the current line join\n\tSetLineJoin(join LineJoin)\n\t// SetLineDash sets the current dash\n\tSetLineDash(dash []float64, dashOffset float64)\n\t// SetFontSize sets the current font size\n\tSetFontSize(fontSize float64)\n\t// GetFontSize gets the current font size\n\tGetFontSize() float64\n\t// SetFontData sets the current FontData\n\tSetFontData(fontData FontData)\n\t// GetFontData gets the current FontData\n\tGetFontData() FontData\n\t// GetFontName gets the current FontData as a string\n\tGetFontName() string\n\t// DrawImage draws the raster image in the current canvas\n\tDrawImage(image image.Image)\n\t// Save the context and push it to the context stack\n\tSave()\n\t// Restore remove the current context and restore the last one\n\tRestore()\n\t// Clear fills the current canvas with a default transparent color\n\tClear()\n\t// ClearRect fills the specified rectangle with a default transparent color\n\tClearRect(x1, y1, x2, y2 int)\n\t// SetDPI sets the current DPI\n\tSetDPI(dpi int)\n\t// GetDPI gets the current DPI\n\tGetDPI() int\n\t// GetStringBounds gets pixel bounds(dimensions) of given string\n\tGetStringBounds(s string) (left, top, right, bottom float64)\n\t// CreateStringPath creates a path from the string s at x, y\n\tCreateStringPath(text string, x, y float64) (cursor float64)\n\t// FillString draws the text at point (0, 0)\n\tFillString(text string) (cursor float64)\n\t// FillStringAt draws the text at the specified point (x, y)\n\tFillStringAt(text string, x, y float64) (cursor float64)\n\t// StrokeString draws the contour of the text at point (0, 0)\n\tStrokeString(text string) (cursor float64)\n\t// StrokeStringAt draws the contour of the text at point (x, y)\n\tStrokeStringAt(text string, x, y float64) (cursor float64)\n\t// Stroke strokes the paths with the color specified by SetStrokeColor\n\tStroke(paths ...*Path)\n\t// Fill fills the paths with the color specified by SetFillColor\n\tFill(paths ...*Path)\n\t// FillStroke first fills the paths and than strokes them\n\tFillStroke(paths ...*Path)\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/matrix.go",
    "content": "// Copyright 2010 The draw2d Authors. All rights reserved.\n// created: 21/11/2010 by Laurent Le Goff\n\npackage draw2d\n\nimport (\n\t\"math\"\n)\n\n// Matrix represents an affine transformation\ntype Matrix [6]float64\n\nconst (\n\tepsilon = 1e-6\n)\n\n// Determinant compute the determinant of the matrix\nfunc (tr Matrix) Determinant() float64 {\n\treturn tr[0]*tr[3] - tr[1]*tr[2]\n}\n\n// Transform applies the transformation matrix to points. It modify the points passed in parameter.\nfunc (tr Matrix) Transform(points []float64) {\n\tfor i, j := 0, 1; j < len(points); i, j = i+2, j+2 {\n\t\tx := points[i]\n\t\ty := points[j]\n\t\tpoints[i] = x*tr[0] + y*tr[2] + tr[4]\n\t\tpoints[j] = x*tr[1] + y*tr[3] + tr[5]\n\t}\n}\n\n// TransformPoint applies the transformation matrix to point. It returns the point the transformed point.\nfunc (tr Matrix) TransformPoint(x, y float64) (xres, yres float64) {\n\txres = x*tr[0] + y*tr[2] + tr[4]\n\tyres = x*tr[1] + y*tr[3] + tr[5]\n\treturn xres, yres\n}\n\nfunc minMax(x, y float64) (min, max float64) {\n\tif x > y {\n\t\treturn y, x\n\t}\n\treturn x, y\n}\n\n// Transform applies the transformation matrix to the rectangle represented by the min and the max point of the rectangle\nfunc (tr Matrix) TransformRectangle(x0, y0, x2, y2 float64) (nx0, ny0, nx2, ny2 float64) {\n\tpoints := []float64{x0, y0, x2, y0, x2, y2, x0, y2}\n\ttr.Transform(points)\n\tpoints[0], points[2] = minMax(points[0], points[2])\n\tpoints[4], points[6] = minMax(points[4], points[6])\n\tpoints[1], points[3] = minMax(points[1], points[3])\n\tpoints[5], points[7] = minMax(points[5], points[7])\n\n\tnx0 = math.Min(points[0], points[4])\n\tny0 = math.Min(points[1], points[5])\n\tnx2 = math.Max(points[2], points[6])\n\tny2 = math.Max(points[3], points[7])\n\treturn nx0, ny0, nx2, ny2\n}\n\n// InverseTransform applies the transformation inverse matrix to the rectangle represented by the min and the max point of the rectangle\nfunc (tr Matrix) InverseTransform(points []float64) {\n\td := tr.Determinant() // matrix determinant\n\tfor i, j := 0, 1; j < len(points); i, j = i+2, j+2 {\n\t\tx := points[i]\n\t\ty := points[j]\n\t\tpoints[i] = ((x-tr[4])*tr[3] - (y-tr[5])*tr[2]) / d\n\t\tpoints[j] = ((y-tr[5])*tr[0] - (x-tr[4])*tr[1]) / d\n\t}\n}\n\n// InverseTransformPoint applies the transformation inverse matrix to point. It returns the point the transformed point.\nfunc (tr Matrix) InverseTransformPoint(x, y float64) (xres, yres float64) {\n\td := tr.Determinant() // matrix determinant\n\txres = ((x-tr[4])*tr[3] - (y-tr[5])*tr[2]) / d\n\tyres = ((y-tr[5])*tr[0] - (x-tr[4])*tr[1]) / d\n\treturn xres, yres\n}\n\n// VectorTransform applies the transformation matrix to points without using the translation parameter of the affine matrix.\n// It modify the points passed in parameter.\nfunc (tr Matrix) VectorTransform(points []float64) {\n\tfor i, j := 0, 1; j < len(points); i, j = i+2, j+2 {\n\t\tx := points[i]\n\t\ty := points[j]\n\t\tpoints[i] = x*tr[0] + y*tr[2]\n\t\tpoints[j] = x*tr[1] + y*tr[3]\n\t}\n}\n\n// NewIdentityMatrix creates an identity transformation matrix.\nfunc NewIdentityMatrix() Matrix {\n\treturn Matrix{1, 0, 0, 1, 0, 0}\n}\n\n// NewTranslationMatrix creates a transformation matrix with a translation tx and ty translation parameter\nfunc NewTranslationMatrix(tx, ty float64) Matrix {\n\treturn Matrix{1, 0, 0, 1, tx, ty}\n}\n\n// NewScaleMatrix creates a transformation matrix with a sx, sy scale factor\nfunc NewScaleMatrix(sx, sy float64) Matrix {\n\treturn Matrix{sx, 0, 0, sy, 0, 0}\n}\n\n// NewRotationMatrix creates a rotation transformation matrix. angle is in radian\nfunc NewRotationMatrix(angle float64) Matrix {\n\tc := math.Cos(angle)\n\ts := math.Sin(angle)\n\treturn Matrix{c, s, -s, c, 0, 0}\n}\n\n// NewMatrixFromRects creates a transformation matrix, combining a scale and a translation, that transform rectangle1 into rectangle2.\nfunc NewMatrixFromRects(rectangle1, rectangle2 [4]float64) Matrix {\n\txScale := (rectangle2[2] - rectangle2[0]) / (rectangle1[2] - rectangle1[0])\n\tyScale := (rectangle2[3] - rectangle2[1]) / (rectangle1[3] - rectangle1[1])\n\txOffset := rectangle2[0] - (rectangle1[0] * xScale)\n\tyOffset := rectangle2[1] - (rectangle1[1] * yScale)\n\treturn Matrix{xScale, 0, 0, yScale, xOffset, yOffset}\n}\n\n// Inverse computes the inverse matrix\nfunc (tr *Matrix) Inverse() {\n\td := tr.Determinant() // matrix determinant\n\ttr0, tr1, tr2, tr3, tr4, tr5 := tr[0], tr[1], tr[2], tr[3], tr[4], tr[5]\n\ttr[0] = tr3 / d\n\ttr[1] = -tr1 / d\n\ttr[2] = -tr2 / d\n\ttr[3] = tr0 / d\n\ttr[4] = (tr2*tr5 - tr3*tr4) / d\n\ttr[5] = (tr1*tr4 - tr0*tr5) / d\n}\n\nfunc (tr Matrix) Copy() Matrix {\n\tvar result Matrix\n\tcopy(result[:], tr[:])\n\treturn result\n}\n\n// Compose multiplies trToConcat x tr\nfunc (tr *Matrix) Compose(trToCompose Matrix) {\n\ttr0, tr1, tr2, tr3, tr4, tr5 := tr[0], tr[1], tr[2], tr[3], tr[4], tr[5]\n\ttr[0] = trToCompose[0]*tr0 + trToCompose[1]*tr2\n\ttr[1] = trToCompose[1]*tr3 + trToCompose[0]*tr1\n\ttr[2] = trToCompose[2]*tr0 + trToCompose[3]*tr2\n\ttr[3] = trToCompose[3]*tr3 + trToCompose[2]*tr1\n\ttr[4] = trToCompose[4]*tr0 + trToCompose[5]*tr2 + tr4\n\ttr[5] = trToCompose[5]*tr3 + trToCompose[4]*tr1 + tr5\n}\n\n// Scale adds a scale to the matrix\nfunc (tr *Matrix) Scale(sx, sy float64) {\n\ttr[0] = sx * tr[0]\n\ttr[1] = sx * tr[1]\n\ttr[2] = sy * tr[2]\n\ttr[3] = sy * tr[3]\n}\n\n// Translate adds a translation to the matrix\nfunc (tr *Matrix) Translate(tx, ty float64) {\n\ttr[4] = tx*tr[0] + ty*tr[2] + tr[4]\n\ttr[5] = ty*tr[3] + tx*tr[1] + tr[5]\n}\n\n// Rotate adds a rotation to the matrix. angle is in radian\nfunc (tr *Matrix) Rotate(angle float64) {\n\tc := math.Cos(angle)\n\ts := math.Sin(angle)\n\tt0 := c*tr[0] + s*tr[2]\n\tt1 := s*tr[3] + c*tr[1]\n\tt2 := c*tr[2] - s*tr[0]\n\tt3 := c*tr[3] - s*tr[1]\n\ttr[0] = t0\n\ttr[1] = t1\n\ttr[2] = t2\n\ttr[3] = t3\n}\n\n// GetTranslation\nfunc (tr Matrix) GetTranslation() (x, y float64) {\n\treturn tr[4], tr[5]\n}\n\n// GetScaling\nfunc (tr Matrix) GetScaling() (x, y float64) {\n\treturn tr[0], tr[3]\n}\n\n// GetScale computes a scale for the matrix\nfunc (tr Matrix) GetScale() float64 {\n\tx := 0.707106781*tr[0] + 0.707106781*tr[1]\n\ty := 0.707106781*tr[2] + 0.707106781*tr[3]\n\treturn math.Sqrt(x*x + y*y)\n}\n\n// ******************** Testing ********************\n\n// Equals tests if a two transformation are equal. A tolerance is applied when comparing matrix elements.\nfunc (tr1 Matrix) Equals(tr2 Matrix) bool {\n\tfor i := 0; i < 6; i = i + 1 {\n\t\tif !fequals(tr1[i], tr2[i]) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// IsIdentity tests if a transformation is the identity transformation. A tolerance is applied when comparing matrix elements.\nfunc (tr Matrix) IsIdentity() bool {\n\treturn fequals(tr[4], 0) && fequals(tr[5], 0) && tr.IsTranslation()\n}\n\n// IsTranslation tests if a transformation is is a pure translation. A tolerance is applied when comparing matrix elements.\nfunc (tr Matrix) IsTranslation() bool {\n\treturn fequals(tr[0], 1) && fequals(tr[1], 0) && fequals(tr[2], 0) && fequals(tr[3], 1)\n}\n\n// fequals compares two floats. return true if the distance between the two floats is less than epsilon, false otherwise\nfunc fequals(float1, float2 float64) bool {\n\treturn math.Abs(float1-float2) <= epsilon\n}\n"
  },
  {
    "path": "vendor/github.com/llgcode/draw2d/path.go",
    "content": "// Copyright 2010 The draw2d Authors. All rights reserved.\n// created: 21/11/2010 by Laurent Le Goff\n\npackage draw2d\n\nimport (\n\t\"fmt\"\n\t\"math\"\n)\n\n// PathBuilder describes the interface for path drawing.\ntype PathBuilder interface {\n\t// LastPoint returns the current point of the current sub path\n\tLastPoint() (x, y float64)\n\t// MoveTo creates a new subpath that start at the specified point\n\tMoveTo(x, y float64)\n\t// LineTo adds a line to the current subpath\n\tLineTo(x, y float64)\n\t// QuadCurveTo adds a quadratic Bézier curve to the current subpath\n\tQuadCurveTo(cx, cy, x, y float64)\n\t// CubicCurveTo adds a cubic Bézier curve to the current subpath\n\tCubicCurveTo(cx1, cy1, cx2, cy2, x, y float64)\n\t// ArcTo adds an arc to the current subpath\n\tArcTo(cx, cy, rx, ry, startAngle, angle float64)\n\t// Close creates a line from the current point to the last MoveTo\n\t// point (if not the same) and mark the path as closed so the\n\t// first and last lines join nicely.\n\tClose()\n}\n\n// PathCmp represents component of a path\ntype PathCmp int\n\nconst (\n\t// MoveToCmp is a MoveTo component in a Path\n\tMoveToCmp PathCmp = iota\n\t// LineToCmp is a LineTo component in a Path\n\tLineToCmp\n\t// QuadCurveToCmp is a QuadCurveTo component in a Path\n\tQuadCurveToCmp\n\t// CubicCurveToCmp is a CubicCurveTo component in a Path\n\tCubicCurveToCmp\n\t// ArcToCmp is a ArcTo component in a Path\n\tArcToCmp\n\t// CloseCmp is a ArcTo component in a Path\n\tCloseCmp\n)\n\n// Path stores points\ntype Path struct {\n\t// Components is a slice of PathCmp in a Path and mark the role of each points in the Path\n\tComponents []PathCmp\n\t// Points are combined with Components to have a specific role in the path\n\tPoints []float64\n\t// Last Point of the Path\n\tx, y float64\n}\n\nfunc (p *Path) appendToPath(cmd PathCmp, points ...float64) {\n\tp.Components = append(p.Components, cmd)\n\tp.Points = append(p.Points, points...)\n}\n\n// LastPoint returns the current point of the current path\nfunc (p *Path) LastPoint() (x, y float64) {\n\treturn p.x, p.y\n}\n\n// MoveTo starts a new path at (x, y) position\nfunc (p *Path) MoveTo(x, y float64) {\n\tp.appendToPath(MoveToCmp, x, y)\n\tp.x = x\n\tp.y = y\n}\n\n// LineTo adds a line to the current path\nfunc (p *Path) LineTo(x, y float64) {\n\tif len(p.Components) == 0 { //special case when no move has been done\n\t\tp.MoveTo(x, y)\n\t} else {\n\t\tp.appendToPath(LineToCmp, x, y)\n\t}\n\tp.x = x\n\tp.y = y\n}\n\n// QuadCurveTo adds a quadratic bezier curve to the current path\nfunc (p *Path) QuadCurveTo(cx, cy, x, y float64) {\n\tif len(p.Components) == 0 { //special case when no move has been done\n\t\tp.MoveTo(x, y)\n\t} else {\n\t\tp.appendToPath(QuadCurveToCmp, cx, cy, x, y)\n\t}\n\tp.x = x\n\tp.y = y\n}\n\n// CubicCurveTo adds a cubic bezier curve to the current path\nfunc (p *Path) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64) {\n\tif len(p.Components) == 0 { //special case when no move has been done\n\t\tp.MoveTo(x, y)\n\t} else {\n\t\tp.appendToPath(CubicCurveToCmp, cx1, cy1, cx2, cy2, x, y)\n\t}\n\tp.x = x\n\tp.y = y\n}\n\n// ArcTo adds an arc to the path\nfunc (p *Path) ArcTo(cx, cy, rx, ry, startAngle, angle float64) {\n\tendAngle := startAngle + angle\n\tclockWise := true\n\tif angle < 0 {\n\t\tclockWise = false\n\t}\n\t// normalize\n\tif clockWise {\n\t\tfor endAngle < startAngle {\n\t\t\tendAngle += math.Pi * 2.0\n\t\t}\n\t} else {\n\t\tfor startAngle < endAngle {\n\t\t\tstartAngle += math.Pi * 2.0\n\t\t}\n\t}\n\tstartX := cx + math.Cos(startAngle)*rx\n\tstartY := cy + math.Sin(startAngle)*ry\n\tif len(p.Components) > 0 {\n\t\tp.LineTo(startX, startY)\n\t} else {\n\t\tp.MoveTo(startX, startY)\n\t}\n\tp.appendToPath(ArcToCmp, cx, cy, rx, ry, startAngle, angle)\n\tp.x = cx + math.Cos(endAngle)*rx\n\tp.y = cy + math.Sin(endAngle)*ry\n}\n\n// Close closes the current path\nfunc (p *Path) Close() {\n\tp.appendToPath(CloseCmp)\n}\n\n// Copy make a clone of the current path and return it\nfunc (p *Path) Copy() (dest *Path) {\n\tdest = new(Path)\n\tdest.Components = make([]PathCmp, len(p.Components))\n\tcopy(dest.Components, p.Components)\n\tdest.Points = make([]float64, len(p.Points))\n\tcopy(dest.Points, p.Points)\n\tdest.x, dest.y = p.x, p.y\n\treturn dest\n}\n\n// Clear reset the path\nfunc (p *Path) Clear() {\n\tp.Components = p.Components[0:0]\n\tp.Points = p.Points[0:0]\n\treturn\n}\n\n// IsEmpty returns true if the path is empty\nfunc (p *Path) IsEmpty() bool {\n\treturn len(p.Components) == 0\n}\n\n// String returns a debug text view of the path\nfunc (p *Path) String() string {\n\ts := \"\"\n\tj := 0\n\tfor _, cmd := range p.Components {\n\t\tswitch cmd {\n\t\tcase MoveToCmp:\n\t\t\ts += fmt.Sprintf(\"MoveTo: %f, %f\\n\", p.Points[j], p.Points[j+1])\n\t\t\tj = j + 2\n\t\tcase LineToCmp:\n\t\t\ts += fmt.Sprintf(\"LineTo: %f, %f\\n\", p.Points[j], p.Points[j+1])\n\t\t\tj = j + 2\n\t\tcase QuadCurveToCmp:\n\t\t\ts += fmt.Sprintf(\"QuadCurveTo: %f, %f, %f, %f\\n\", p.Points[j], p.Points[j+1], p.Points[j+2], p.Points[j+3])\n\t\t\tj = j + 4\n\t\tcase CubicCurveToCmp:\n\t\t\ts += fmt.Sprintf(\"CubicCurveTo: %f, %f, %f, %f, %f, %f\\n\", p.Points[j], p.Points[j+1], p.Points[j+2], p.Points[j+3], p.Points[j+4], p.Points[j+5])\n\t\t\tj = j + 6\n\t\tcase ArcToCmp:\n\t\t\ts += fmt.Sprintf(\"ArcTo: %f, %f, %f, %f, %f, %f\\n\", p.Points[j], p.Points[j+1], p.Points[j+2], p.Points[j+3], p.Points[j+4], p.Points[j+5])\n\t\t\tj = j + 6\n\t\tcase CloseCmp:\n\t\t\ts += \"Close\\n\"\n\t\t}\n\t}\n\treturn s\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-runewidth/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2016 Yasuhiro Matsumoto\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": "vendor/github.com/mattn/go-runewidth/runewidth.go",
    "content": "package runewidth\n\nvar (\n\t// EastAsianWidth will be set true if the current locale is CJK\n\tEastAsianWidth = IsEastAsian()\n\n\t// DefaultCondition is a condition in current locale\n\tDefaultCondition = &Condition{EastAsianWidth}\n)\n\ntype interval struct {\n\tfirst rune\n\tlast  rune\n}\n\ntype table []interval\n\nfunc inTables(r rune, ts ...table) bool {\n\tfor _, t := range ts {\n\t\tif inTable(r, t) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunc inTable(r rune, t table) bool {\n\t// func (t table) IncludesRune(r rune) bool {\n\tif r < t[0].first {\n\t\treturn false\n\t}\n\n\tbot := 0\n\ttop := len(t) - 1\n\tfor top >= bot {\n\t\tmid := (bot + top) / 2\n\n\t\tswitch {\n\t\tcase t[mid].last < r:\n\t\t\tbot = mid + 1\n\t\tcase t[mid].first > r:\n\t\t\ttop = mid - 1\n\t\tdefault:\n\t\t\treturn true\n\t\t}\n\t}\n\n\treturn false\n}\n\nvar private = table{\n\t{0x00E000, 0x00F8FF}, {0x0F0000, 0x0FFFFD}, {0x100000, 0x10FFFD},\n}\n\nvar nonprint = table{\n\t{0x0000, 0x001F}, {0x007F, 0x009F}, {0x00AD, 0x00AD},\n\t{0x070F, 0x070F}, {0x180B, 0x180E}, {0x200B, 0x200F},\n\t{0x202A, 0x202E}, {0x206A, 0x206F}, {0xD800, 0xDFFF},\n\t{0xFEFF, 0xFEFF}, {0xFFF9, 0xFFFB}, {0xFFFE, 0xFFFF},\n}\n\nvar combining = table{\n\t{0x0300, 0x036F}, {0x0483, 0x0489}, {0x0591, 0x05BD},\n\t{0x05BF, 0x05BF}, {0x05C1, 0x05C2}, {0x05C4, 0x05C5},\n\t{0x05C7, 0x05C7}, {0x0610, 0x061A}, {0x064B, 0x065F},\n\t{0x0670, 0x0670}, {0x06D6, 0x06DC}, {0x06DF, 0x06E4},\n\t{0x06E7, 0x06E8}, {0x06EA, 0x06ED}, {0x0711, 0x0711},\n\t{0x0730, 0x074A}, {0x07A6, 0x07B0}, {0x07EB, 0x07F3},\n\t{0x0816, 0x0819}, {0x081B, 0x0823}, {0x0825, 0x0827},\n\t{0x0829, 0x082D}, {0x0859, 0x085B}, {0x08D4, 0x08E1},\n\t{0x08E3, 0x0903}, {0x093A, 0x093C}, {0x093E, 0x094F},\n\t{0x0951, 0x0957}, {0x0962, 0x0963}, {0x0981, 0x0983},\n\t{0x09BC, 0x09BC}, {0x09BE, 0x09C4}, {0x09C7, 0x09C8},\n\t{0x09CB, 0x09CD}, {0x09D7, 0x09D7}, {0x09E2, 0x09E3},\n\t{0x0A01, 0x0A03}, {0x0A3C, 0x0A3C}, {0x0A3E, 0x0A42},\n\t{0x0A47, 0x0A48}, {0x0A4B, 0x0A4D}, {0x0A51, 0x0A51},\n\t{0x0A70, 0x0A71}, {0x0A75, 0x0A75}, {0x0A81, 0x0A83},\n\t{0x0ABC, 0x0ABC}, {0x0ABE, 0x0AC5}, {0x0AC7, 0x0AC9},\n\t{0x0ACB, 0x0ACD}, {0x0AE2, 0x0AE3}, {0x0B01, 0x0B03},\n\t{0x0B3C, 0x0B3C}, {0x0B3E, 0x0B44}, {0x0B47, 0x0B48},\n\t{0x0B4B, 0x0B4D}, {0x0B56, 0x0B57}, {0x0B62, 0x0B63},\n\t{0x0B82, 0x0B82}, {0x0BBE, 0x0BC2}, {0x0BC6, 0x0BC8},\n\t{0x0BCA, 0x0BCD}, {0x0BD7, 0x0BD7}, {0x0C00, 0x0C03},\n\t{0x0C3E, 0x0C44}, {0x0C46, 0x0C48}, {0x0C4A, 0x0C4D},\n\t{0x0C55, 0x0C56}, {0x0C62, 0x0C63}, {0x0C81, 0x0C83},\n\t{0x0CBC, 0x0CBC}, {0x0CBE, 0x0CC4}, {0x0CC6, 0x0CC8},\n\t{0x0CCA, 0x0CCD}, {0x0CD5, 0x0CD6}, {0x0CE2, 0x0CE3},\n\t{0x0D01, 0x0D03}, {0x0D3E, 0x0D44}, {0x0D46, 0x0D48},\n\t{0x0D4A, 0x0D4D}, {0x0D57, 0x0D57}, {0x0D62, 0x0D63},\n\t{0x0D82, 0x0D83}, {0x0DCA, 0x0DCA}, {0x0DCF, 0x0DD4},\n\t{0x0DD6, 0x0DD6}, {0x0DD8, 0x0DDF}, {0x0DF2, 0x0DF3},\n\t{0x0E31, 0x0E31}, {0x0E34, 0x0E3A}, {0x0E47, 0x0E4E},\n\t{0x0EB1, 0x0EB1}, {0x0EB4, 0x0EB9}, {0x0EBB, 0x0EBC},\n\t{0x0EC8, 0x0ECD}, {0x0F18, 0x0F19}, {0x0F35, 0x0F35},\n\t{0x0F37, 0x0F37}, {0x0F39, 0x0F39}, {0x0F3E, 0x0F3F},\n\t{0x0F71, 0x0F84}, {0x0F86, 0x0F87}, {0x0F8D, 0x0F97},\n\t{0x0F99, 0x0FBC}, {0x0FC6, 0x0FC6}, {0x102B, 0x103E},\n\t{0x1056, 0x1059}, {0x105E, 0x1060}, {0x1062, 0x1064},\n\t{0x1067, 0x106D}, {0x1071, 0x1074}, {0x1082, 0x108D},\n\t{0x108F, 0x108F}, {0x109A, 0x109D}, {0x135D, 0x135F},\n\t{0x1712, 0x1714}, {0x1732, 0x1734}, {0x1752, 0x1753},\n\t{0x1772, 0x1773}, {0x17B4, 0x17D3}, {0x17DD, 0x17DD},\n\t{0x180B, 0x180D}, {0x1885, 0x1886}, {0x18A9, 0x18A9},\n\t{0x1920, 0x192B}, {0x1930, 0x193B}, {0x1A17, 0x1A1B},\n\t{0x1A55, 0x1A5E}, {0x1A60, 0x1A7C}, {0x1A7F, 0x1A7F},\n\t{0x1AB0, 0x1ABE}, {0x1B00, 0x1B04}, {0x1B34, 0x1B44},\n\t{0x1B6B, 0x1B73}, {0x1B80, 0x1B82}, {0x1BA1, 0x1BAD},\n\t{0x1BE6, 0x1BF3}, {0x1C24, 0x1C37}, {0x1CD0, 0x1CD2},\n\t{0x1CD4, 0x1CE8}, {0x1CED, 0x1CED}, {0x1CF2, 0x1CF4},\n\t{0x1CF8, 0x1CF9}, {0x1DC0, 0x1DF5}, {0x1DFB, 0x1DFF},\n\t{0x20D0, 0x20F0}, {0x2CEF, 0x2CF1}, {0x2D7F, 0x2D7F},\n\t{0x2DE0, 0x2DFF}, {0x302A, 0x302F}, {0x3099, 0x309A},\n\t{0xA66F, 0xA672}, {0xA674, 0xA67D}, {0xA69E, 0xA69F},\n\t{0xA6F0, 0xA6F1}, {0xA802, 0xA802}, {0xA806, 0xA806},\n\t{0xA80B, 0xA80B}, {0xA823, 0xA827}, {0xA880, 0xA881},\n\t{0xA8B4, 0xA8C5}, {0xA8E0, 0xA8F1}, {0xA926, 0xA92D},\n\t{0xA947, 0xA953}, {0xA980, 0xA983}, {0xA9B3, 0xA9C0},\n\t{0xA9E5, 0xA9E5}, {0xAA29, 0xAA36}, {0xAA43, 0xAA43},\n\t{0xAA4C, 0xAA4D}, {0xAA7B, 0xAA7D}, {0xAAB0, 0xAAB0},\n\t{0xAAB2, 0xAAB4}, {0xAAB7, 0xAAB8}, {0xAABE, 0xAABF},\n\t{0xAAC1, 0xAAC1}, {0xAAEB, 0xAAEF}, {0xAAF5, 0xAAF6},\n\t{0xABE3, 0xABEA}, {0xABEC, 0xABED}, {0xFB1E, 0xFB1E},\n\t{0xFE00, 0xFE0F}, {0xFE20, 0xFE2F}, {0x101FD, 0x101FD},\n\t{0x102E0, 0x102E0}, {0x10376, 0x1037A}, {0x10A01, 0x10A03},\n\t{0x10A05, 0x10A06}, {0x10A0C, 0x10A0F}, {0x10A38, 0x10A3A},\n\t{0x10A3F, 0x10A3F}, {0x10AE5, 0x10AE6}, {0x11000, 0x11002},\n\t{0x11038, 0x11046}, {0x1107F, 0x11082}, {0x110B0, 0x110BA},\n\t{0x11100, 0x11102}, {0x11127, 0x11134}, {0x11173, 0x11173},\n\t{0x11180, 0x11182}, {0x111B3, 0x111C0}, {0x111CA, 0x111CC},\n\t{0x1122C, 0x11237}, {0x1123E, 0x1123E}, {0x112DF, 0x112EA},\n\t{0x11300, 0x11303}, {0x1133C, 0x1133C}, {0x1133E, 0x11344},\n\t{0x11347, 0x11348}, {0x1134B, 0x1134D}, {0x11357, 0x11357},\n\t{0x11362, 0x11363}, {0x11366, 0x1136C}, {0x11370, 0x11374},\n\t{0x11435, 0x11446}, {0x114B0, 0x114C3}, {0x115AF, 0x115B5},\n\t{0x115B8, 0x115C0}, {0x115DC, 0x115DD}, {0x11630, 0x11640},\n\t{0x116AB, 0x116B7}, {0x1171D, 0x1172B}, {0x11C2F, 0x11C36},\n\t{0x11C38, 0x11C3F}, {0x11C92, 0x11CA7}, {0x11CA9, 0x11CB6},\n\t{0x16AF0, 0x16AF4}, {0x16B30, 0x16B36}, {0x16F51, 0x16F7E},\n\t{0x16F8F, 0x16F92}, {0x1BC9D, 0x1BC9E}, {0x1D165, 0x1D169},\n\t{0x1D16D, 0x1D172}, {0x1D17B, 0x1D182}, {0x1D185, 0x1D18B},\n\t{0x1D1AA, 0x1D1AD}, {0x1D242, 0x1D244}, {0x1DA00, 0x1DA36},\n\t{0x1DA3B, 0x1DA6C}, {0x1DA75, 0x1DA75}, {0x1DA84, 0x1DA84},\n\t{0x1DA9B, 0x1DA9F}, {0x1DAA1, 0x1DAAF}, {0x1E000, 0x1E006},\n\t{0x1E008, 0x1E018}, {0x1E01B, 0x1E021}, {0x1E023, 0x1E024},\n\t{0x1E026, 0x1E02A}, {0x1E8D0, 0x1E8D6}, {0x1E944, 0x1E94A},\n\t{0xE0100, 0xE01EF},\n}\n\nvar doublewidth = table{\n\t{0x1100, 0x115F}, {0x231A, 0x231B}, {0x2329, 0x232A},\n\t{0x23E9, 0x23EC}, {0x23F0, 0x23F0}, {0x23F3, 0x23F3},\n\t{0x25FD, 0x25FE}, {0x2614, 0x2615}, {0x2648, 0x2653},\n\t{0x267F, 0x267F}, {0x2693, 0x2693}, {0x26A1, 0x26A1},\n\t{0x26AA, 0x26AB}, {0x26BD, 0x26BE}, {0x26C4, 0x26C5},\n\t{0x26CE, 0x26CE}, {0x26D4, 0x26D4}, {0x26EA, 0x26EA},\n\t{0x26F2, 0x26F3}, {0x26F5, 0x26F5}, {0x26FA, 0x26FA},\n\t{0x26FD, 0x26FD}, {0x2705, 0x2705}, {0x270A, 0x270B},\n\t{0x2728, 0x2728}, {0x274C, 0x274C}, {0x274E, 0x274E},\n\t{0x2753, 0x2755}, {0x2757, 0x2757}, {0x2795, 0x2797},\n\t{0x27B0, 0x27B0}, {0x27BF, 0x27BF}, {0x2B1B, 0x2B1C},\n\t{0x2B50, 0x2B50}, {0x2B55, 0x2B55}, {0x2E80, 0x2E99},\n\t{0x2E9B, 0x2EF3}, {0x2F00, 0x2FD5}, {0x2FF0, 0x2FFB},\n\t{0x3000, 0x303E}, {0x3041, 0x3096}, {0x3099, 0x30FF},\n\t{0x3105, 0x312D}, {0x3131, 0x318E}, {0x3190, 0x31BA},\n\t{0x31C0, 0x31E3}, {0x31F0, 0x321E}, {0x3220, 0x3247},\n\t{0x3250, 0x32FE}, {0x3300, 0x4DBF}, {0x4E00, 0xA48C},\n\t{0xA490, 0xA4C6}, {0xA960, 0xA97C}, {0xAC00, 0xD7A3},\n\t{0xF900, 0xFAFF}, {0xFE10, 0xFE19}, {0xFE30, 0xFE52},\n\t{0xFE54, 0xFE66}, {0xFE68, 0xFE6B}, {0xFF01, 0xFF60},\n\t{0xFFE0, 0xFFE6}, {0x16FE0, 0x16FE0}, {0x17000, 0x187EC},\n\t{0x18800, 0x18AF2}, {0x1B000, 0x1B001}, {0x1F004, 0x1F004},\n\t{0x1F0CF, 0x1F0CF}, {0x1F18E, 0x1F18E}, {0x1F191, 0x1F19A},\n\t{0x1F200, 0x1F202}, {0x1F210, 0x1F23B}, {0x1F240, 0x1F248},\n\t{0x1F250, 0x1F251}, {0x1F300, 0x1F320}, {0x1F32D, 0x1F335},\n\t{0x1F337, 0x1F37C}, {0x1F37E, 0x1F393}, {0x1F3A0, 0x1F3CA},\n\t{0x1F3CF, 0x1F3D3}, {0x1F3E0, 0x1F3F0}, {0x1F3F4, 0x1F3F4},\n\t{0x1F3F8, 0x1F43E}, {0x1F440, 0x1F440}, {0x1F442, 0x1F4FC},\n\t{0x1F4FF, 0x1F53D}, {0x1F54B, 0x1F54E}, {0x1F550, 0x1F567},\n\t{0x1F57A, 0x1F57A}, {0x1F595, 0x1F596}, {0x1F5A4, 0x1F5A4},\n\t{0x1F5FB, 0x1F64F}, {0x1F680, 0x1F6C5}, {0x1F6CC, 0x1F6CC},\n\t{0x1F6D0, 0x1F6D2}, {0x1F6EB, 0x1F6EC}, {0x1F6F4, 0x1F6F6},\n\t{0x1F910, 0x1F91E}, {0x1F920, 0x1F927}, {0x1F930, 0x1F930},\n\t{0x1F933, 0x1F93E}, {0x1F940, 0x1F94B}, {0x1F950, 0x1F95E},\n\t{0x1F980, 0x1F991}, {0x1F9C0, 0x1F9C0}, {0x20000, 0x2FFFD},\n\t{0x30000, 0x3FFFD},\n}\n\nvar ambiguous = table{\n\t{0x00A1, 0x00A1}, {0x00A4, 0x00A4}, {0x00A7, 0x00A8},\n\t{0x00AA, 0x00AA}, {0x00AD, 0x00AE}, {0x00B0, 0x00B4},\n\t{0x00B6, 0x00BA}, {0x00BC, 0x00BF}, {0x00C6, 0x00C6},\n\t{0x00D0, 0x00D0}, {0x00D7, 0x00D8}, {0x00DE, 0x00E1},\n\t{0x00E6, 0x00E6}, {0x00E8, 0x00EA}, {0x00EC, 0x00ED},\n\t{0x00F0, 0x00F0}, {0x00F2, 0x00F3}, {0x00F7, 0x00FA},\n\t{0x00FC, 0x00FC}, {0x00FE, 0x00FE}, {0x0101, 0x0101},\n\t{0x0111, 0x0111}, {0x0113, 0x0113}, {0x011B, 0x011B},\n\t{0x0126, 0x0127}, {0x012B, 0x012B}, {0x0131, 0x0133},\n\t{0x0138, 0x0138}, {0x013F, 0x0142}, {0x0144, 0x0144},\n\t{0x0148, 0x014B}, {0x014D, 0x014D}, {0x0152, 0x0153},\n\t{0x0166, 0x0167}, {0x016B, 0x016B}, {0x01CE, 0x01CE},\n\t{0x01D0, 0x01D0}, {0x01D2, 0x01D2}, {0x01D4, 0x01D4},\n\t{0x01D6, 0x01D6}, {0x01D8, 0x01D8}, {0x01DA, 0x01DA},\n\t{0x01DC, 0x01DC}, {0x0251, 0x0251}, {0x0261, 0x0261},\n\t{0x02C4, 0x02C4}, {0x02C7, 0x02C7}, {0x02C9, 0x02CB},\n\t{0x02CD, 0x02CD}, {0x02D0, 0x02D0}, {0x02D8, 0x02DB},\n\t{0x02DD, 0x02DD}, {0x02DF, 0x02DF}, {0x0300, 0x036F},\n\t{0x0391, 0x03A1}, {0x03A3, 0x03A9}, {0x03B1, 0x03C1},\n\t{0x03C3, 0x03C9}, {0x0401, 0x0401}, {0x0410, 0x044F},\n\t{0x0451, 0x0451}, {0x2010, 0x2010}, {0x2013, 0x2016},\n\t{0x2018, 0x2019}, {0x201C, 0x201D}, {0x2020, 0x2022},\n\t{0x2024, 0x2027}, {0x2030, 0x2030}, {0x2032, 0x2033},\n\t{0x2035, 0x2035}, {0x203B, 0x203B}, {0x203E, 0x203E},\n\t{0x2074, 0x2074}, {0x207F, 0x207F}, {0x2081, 0x2084},\n\t{0x20AC, 0x20AC}, {0x2103, 0x2103}, {0x2105, 0x2105},\n\t{0x2109, 0x2109}, {0x2113, 0x2113}, {0x2116, 0x2116},\n\t{0x2121, 0x2122}, {0x2126, 0x2126}, {0x212B, 0x212B},\n\t{0x2153, 0x2154}, {0x215B, 0x215E}, {0x2160, 0x216B},\n\t{0x2170, 0x2179}, {0x2189, 0x2189}, {0x2190, 0x2199},\n\t{0x21B8, 0x21B9}, {0x21D2, 0x21D2}, {0x21D4, 0x21D4},\n\t{0x21E7, 0x21E7}, {0x2200, 0x2200}, {0x2202, 0x2203},\n\t{0x2207, 0x2208}, {0x220B, 0x220B}, {0x220F, 0x220F},\n\t{0x2211, 0x2211}, {0x2215, 0x2215}, {0x221A, 0x221A},\n\t{0x221D, 0x2220}, {0x2223, 0x2223}, {0x2225, 0x2225},\n\t{0x2227, 0x222C}, {0x222E, 0x222E}, {0x2234, 0x2237},\n\t{0x223C, 0x223D}, {0x2248, 0x2248}, {0x224C, 0x224C},\n\t{0x2252, 0x2252}, {0x2260, 0x2261}, {0x2264, 0x2267},\n\t{0x226A, 0x226B}, {0x226E, 0x226F}, {0x2282, 0x2283},\n\t{0x2286, 0x2287}, {0x2295, 0x2295}, {0x2299, 0x2299},\n\t{0x22A5, 0x22A5}, {0x22BF, 0x22BF}, {0x2312, 0x2312},\n\t{0x2460, 0x24E9}, {0x24EB, 0x254B}, {0x2550, 0x2573},\n\t{0x2580, 0x258F}, {0x2592, 0x2595}, {0x25A0, 0x25A1},\n\t{0x25A3, 0x25A9}, {0x25B2, 0x25B3}, {0x25B6, 0x25B7},\n\t{0x25BC, 0x25BD}, {0x25C0, 0x25C1}, {0x25C6, 0x25C8},\n\t{0x25CB, 0x25CB}, {0x25CE, 0x25D1}, {0x25E2, 0x25E5},\n\t{0x25EF, 0x25EF}, {0x2605, 0x2606}, {0x2609, 0x2609},\n\t{0x260E, 0x260F}, {0x261C, 0x261C}, {0x261E, 0x261E},\n\t{0x2640, 0x2640}, {0x2642, 0x2642}, {0x2660, 0x2661},\n\t{0x2663, 0x2665}, {0x2667, 0x266A}, {0x266C, 0x266D},\n\t{0x266F, 0x266F}, {0x269E, 0x269F}, {0x26BF, 0x26BF},\n\t{0x26C6, 0x26CD}, {0x26CF, 0x26D3}, {0x26D5, 0x26E1},\n\t{0x26E3, 0x26E3}, {0x26E8, 0x26E9}, {0x26EB, 0x26F1},\n\t{0x26F4, 0x26F4}, {0x26F6, 0x26F9}, {0x26FB, 0x26FC},\n\t{0x26FE, 0x26FF}, {0x273D, 0x273D}, {0x2776, 0x277F},\n\t{0x2B56, 0x2B59}, {0x3248, 0x324F}, {0xE000, 0xF8FF},\n\t{0xFE00, 0xFE0F}, {0xFFFD, 0xFFFD}, {0x1F100, 0x1F10A},\n\t{0x1F110, 0x1F12D}, {0x1F130, 0x1F169}, {0x1F170, 0x1F18D},\n\t{0x1F18F, 0x1F190}, {0x1F19B, 0x1F1AC}, {0xE0100, 0xE01EF},\n\t{0xF0000, 0xFFFFD}, {0x100000, 0x10FFFD},\n}\n\nvar emoji = table{\n\t{0x1F1E6, 0x1F1FF}, {0x1F321, 0x1F321}, {0x1F324, 0x1F32C},\n\t{0x1F336, 0x1F336}, {0x1F37D, 0x1F37D}, {0x1F396, 0x1F397},\n\t{0x1F399, 0x1F39B}, {0x1F39E, 0x1F39F}, {0x1F3CB, 0x1F3CE},\n\t{0x1F3D4, 0x1F3DF}, {0x1F3F3, 0x1F3F5}, {0x1F3F7, 0x1F3F7},\n\t{0x1F43F, 0x1F43F}, {0x1F441, 0x1F441}, {0x1F4FD, 0x1F4FD},\n\t{0x1F549, 0x1F54A}, {0x1F56F, 0x1F570}, {0x1F573, 0x1F579},\n\t{0x1F587, 0x1F587}, {0x1F58A, 0x1F58D}, {0x1F590, 0x1F590},\n\t{0x1F5A5, 0x1F5A5}, {0x1F5A8, 0x1F5A8}, {0x1F5B1, 0x1F5B2},\n\t{0x1F5BC, 0x1F5BC}, {0x1F5C2, 0x1F5C4}, {0x1F5D1, 0x1F5D3},\n\t{0x1F5DC, 0x1F5DE}, {0x1F5E1, 0x1F5E1}, {0x1F5E3, 0x1F5E3},\n\t{0x1F5E8, 0x1F5E8}, {0x1F5EF, 0x1F5EF}, {0x1F5F3, 0x1F5F3},\n\t{0x1F5FA, 0x1F5FA}, {0x1F6CB, 0x1F6CF}, {0x1F6E0, 0x1F6E5},\n\t{0x1F6E9, 0x1F6E9}, {0x1F6F0, 0x1F6F0}, {0x1F6F3, 0x1F6F3},\n}\n\nvar notassigned = table{\n\t{0x0378, 0x0379}, {0x0380, 0x0383}, {0x038B, 0x038B},\n\t{0x038D, 0x038D}, {0x03A2, 0x03A2}, {0x0530, 0x0530},\n\t{0x0557, 0x0558}, {0x0560, 0x0560}, {0x0588, 0x0588},\n\t{0x058B, 0x058C}, {0x0590, 0x0590}, {0x05C8, 0x05CF},\n\t{0x05EB, 0x05EF}, {0x05F5, 0x05FF}, {0x061D, 0x061D},\n\t{0x070E, 0x070E}, {0x074B, 0x074C}, {0x07B2, 0x07BF},\n\t{0x07FB, 0x07FF}, {0x082E, 0x082F}, {0x083F, 0x083F},\n\t{0x085C, 0x085D}, {0x085F, 0x089F}, {0x08B5, 0x08B5},\n\t{0x08BE, 0x08D3}, {0x0984, 0x0984}, {0x098D, 0x098E},\n\t{0x0991, 0x0992}, {0x09A9, 0x09A9}, {0x09B1, 0x09B1},\n\t{0x09B3, 0x09B5}, {0x09BA, 0x09BB}, {0x09C5, 0x09C6},\n\t{0x09C9, 0x09CA}, {0x09CF, 0x09D6}, {0x09D8, 0x09DB},\n\t{0x09DE, 0x09DE}, {0x09E4, 0x09E5}, {0x09FC, 0x0A00},\n\t{0x0A04, 0x0A04}, {0x0A0B, 0x0A0E}, {0x0A11, 0x0A12},\n\t{0x0A29, 0x0A29}, {0x0A31, 0x0A31}, {0x0A34, 0x0A34},\n\t{0x0A37, 0x0A37}, {0x0A3A, 0x0A3B}, {0x0A3D, 0x0A3D},\n\t{0x0A43, 0x0A46}, {0x0A49, 0x0A4A}, {0x0A4E, 0x0A50},\n\t{0x0A52, 0x0A58}, {0x0A5D, 0x0A5D}, {0x0A5F, 0x0A65},\n\t{0x0A76, 0x0A80}, {0x0A84, 0x0A84}, {0x0A8E, 0x0A8E},\n\t{0x0A92, 0x0A92}, {0x0AA9, 0x0AA9}, {0x0AB1, 0x0AB1},\n\t{0x0AB4, 0x0AB4}, {0x0ABA, 0x0ABB}, {0x0AC6, 0x0AC6},\n\t{0x0ACA, 0x0ACA}, {0x0ACE, 0x0ACF}, {0x0AD1, 0x0ADF},\n\t{0x0AE4, 0x0AE5}, {0x0AF2, 0x0AF8}, {0x0AFA, 0x0B00},\n\t{0x0B04, 0x0B04}, {0x0B0D, 0x0B0E}, {0x0B11, 0x0B12},\n\t{0x0B29, 0x0B29}, {0x0B31, 0x0B31}, {0x0B34, 0x0B34},\n\t{0x0B3A, 0x0B3B}, {0x0B45, 0x0B46}, {0x0B49, 0x0B4A},\n\t{0x0B4E, 0x0B55}, {0x0B58, 0x0B5B}, {0x0B5E, 0x0B5E},\n\t{0x0B64, 0x0B65}, {0x0B78, 0x0B81}, {0x0B84, 0x0B84},\n\t{0x0B8B, 0x0B8D}, {0x0B91, 0x0B91}, {0x0B96, 0x0B98},\n\t{0x0B9B, 0x0B9B}, {0x0B9D, 0x0B9D}, {0x0BA0, 0x0BA2},\n\t{0x0BA5, 0x0BA7}, {0x0BAB, 0x0BAD}, {0x0BBA, 0x0BBD},\n\t{0x0BC3, 0x0BC5}, {0x0BC9, 0x0BC9}, {0x0BCE, 0x0BCF},\n\t{0x0BD1, 0x0BD6}, {0x0BD8, 0x0BE5}, {0x0BFB, 0x0BFF},\n\t{0x0C04, 0x0C04}, {0x0C0D, 0x0C0D}, {0x0C11, 0x0C11},\n\t{0x0C29, 0x0C29}, {0x0C3A, 0x0C3C}, {0x0C45, 0x0C45},\n\t{0x0C49, 0x0C49}, {0x0C4E, 0x0C54}, {0x0C57, 0x0C57},\n\t{0x0C5B, 0x0C5F}, {0x0C64, 0x0C65}, {0x0C70, 0x0C77},\n\t{0x0C84, 0x0C84}, {0x0C8D, 0x0C8D}, {0x0C91, 0x0C91},\n\t{0x0CA9, 0x0CA9}, {0x0CB4, 0x0CB4}, {0x0CBA, 0x0CBB},\n\t{0x0CC5, 0x0CC5}, {0x0CC9, 0x0CC9}, {0x0CCE, 0x0CD4},\n\t{0x0CD7, 0x0CDD}, {0x0CDF, 0x0CDF}, {0x0CE4, 0x0CE5},\n\t{0x0CF0, 0x0CF0}, {0x0CF3, 0x0D00}, {0x0D04, 0x0D04},\n\t{0x0D0D, 0x0D0D}, {0x0D11, 0x0D11}, {0x0D3B, 0x0D3C},\n\t{0x0D45, 0x0D45}, {0x0D49, 0x0D49}, {0x0D50, 0x0D53},\n\t{0x0D64, 0x0D65}, {0x0D80, 0x0D81}, {0x0D84, 0x0D84},\n\t{0x0D97, 0x0D99}, {0x0DB2, 0x0DB2}, {0x0DBC, 0x0DBC},\n\t{0x0DBE, 0x0DBF}, {0x0DC7, 0x0DC9}, {0x0DCB, 0x0DCE},\n\t{0x0DD5, 0x0DD5}, {0x0DD7, 0x0DD7}, {0x0DE0, 0x0DE5},\n\t{0x0DF0, 0x0DF1}, {0x0DF5, 0x0E00}, {0x0E3B, 0x0E3E},\n\t{0x0E5C, 0x0E80}, {0x0E83, 0x0E83}, {0x0E85, 0x0E86},\n\t{0x0E89, 0x0E89}, {0x0E8B, 0x0E8C}, {0x0E8E, 0x0E93},\n\t{0x0E98, 0x0E98}, {0x0EA0, 0x0EA0}, {0x0EA4, 0x0EA4},\n\t{0x0EA6, 0x0EA6}, {0x0EA8, 0x0EA9}, {0x0EAC, 0x0EAC},\n\t{0x0EBA, 0x0EBA}, {0x0EBE, 0x0EBF}, {0x0EC5, 0x0EC5},\n\t{0x0EC7, 0x0EC7}, {0x0ECE, 0x0ECF}, {0x0EDA, 0x0EDB},\n\t{0x0EE0, 0x0EFF}, {0x0F48, 0x0F48}, {0x0F6D, 0x0F70},\n\t{0x0F98, 0x0F98}, {0x0FBD, 0x0FBD}, {0x0FCD, 0x0FCD},\n\t{0x0FDB, 0x0FFF}, {0x10C6, 0x10C6}, {0x10C8, 0x10CC},\n\t{0x10CE, 0x10CF}, {0x1249, 0x1249}, {0x124E, 0x124F},\n\t{0x1257, 0x1257}, {0x1259, 0x1259}, {0x125E, 0x125F},\n\t{0x1289, 0x1289}, {0x128E, 0x128F}, {0x12B1, 0x12B1},\n\t{0x12B6, 0x12B7}, {0x12BF, 0x12BF}, {0x12C1, 0x12C1},\n\t{0x12C6, 0x12C7}, {0x12D7, 0x12D7}, {0x1311, 0x1311},\n\t{0x1316, 0x1317}, {0x135B, 0x135C}, {0x137D, 0x137F},\n\t{0x139A, 0x139F}, {0x13F6, 0x13F7}, {0x13FE, 0x13FF},\n\t{0x169D, 0x169F}, {0x16F9, 0x16FF}, {0x170D, 0x170D},\n\t{0x1715, 0x171F}, {0x1737, 0x173F}, {0x1754, 0x175F},\n\t{0x176D, 0x176D}, {0x1771, 0x1771}, {0x1774, 0x177F},\n\t{0x17DE, 0x17DF}, {0x17EA, 0x17EF}, {0x17FA, 0x17FF},\n\t{0x180F, 0x180F}, {0x181A, 0x181F}, {0x1878, 0x187F},\n\t{0x18AB, 0x18AF}, {0x18F6, 0x18FF}, {0x191F, 0x191F},\n\t{0x192C, 0x192F}, {0x193C, 0x193F}, {0x1941, 0x1943},\n\t{0x196E, 0x196F}, {0x1975, 0x197F}, {0x19AC, 0x19AF},\n\t{0x19CA, 0x19CF}, {0x19DB, 0x19DD}, {0x1A1C, 0x1A1D},\n\t{0x1A5F, 0x1A5F}, {0x1A7D, 0x1A7E}, {0x1A8A, 0x1A8F},\n\t{0x1A9A, 0x1A9F}, {0x1AAE, 0x1AAF}, {0x1ABF, 0x1AFF},\n\t{0x1B4C, 0x1B4F}, {0x1B7D, 0x1B7F}, {0x1BF4, 0x1BFB},\n\t{0x1C38, 0x1C3A}, {0x1C4A, 0x1C4C}, {0x1C89, 0x1CBF},\n\t{0x1CC8, 0x1CCF}, {0x1CF7, 0x1CF7}, {0x1CFA, 0x1CFF},\n\t{0x1DF6, 0x1DFA}, {0x1F16, 0x1F17}, {0x1F1E, 0x1F1F},\n\t{0x1F46, 0x1F47}, {0x1F4E, 0x1F4F}, {0x1F58, 0x1F58},\n\t{0x1F5A, 0x1F5A}, {0x1F5C, 0x1F5C}, {0x1F5E, 0x1F5E},\n\t{0x1F7E, 0x1F7F}, {0x1FB5, 0x1FB5}, {0x1FC5, 0x1FC5},\n\t{0x1FD4, 0x1FD5}, {0x1FDC, 0x1FDC}, {0x1FF0, 0x1FF1},\n\t{0x1FF5, 0x1FF5}, {0x1FFF, 0x1FFF}, {0x2065, 0x2065},\n\t{0x2072, 0x2073}, {0x208F, 0x208F}, {0x209D, 0x209F},\n\t{0x20BF, 0x20CF}, {0x20F1, 0x20FF}, {0x218C, 0x218F},\n\t{0x23FF, 0x23FF}, {0x2427, 0x243F}, {0x244B, 0x245F},\n\t{0x2B74, 0x2B75}, {0x2B96, 0x2B97}, {0x2BBA, 0x2BBC},\n\t{0x2BC9, 0x2BC9}, {0x2BD2, 0x2BEB}, {0x2BF0, 0x2BFF},\n\t{0x2C2F, 0x2C2F}, {0x2C5F, 0x2C5F}, {0x2CF4, 0x2CF8},\n\t{0x2D26, 0x2D26}, {0x2D28, 0x2D2C}, {0x2D2E, 0x2D2F},\n\t{0x2D68, 0x2D6E}, {0x2D71, 0x2D7E}, {0x2D97, 0x2D9F},\n\t{0x2DA7, 0x2DA7}, {0x2DAF, 0x2DAF}, {0x2DB7, 0x2DB7},\n\t{0x2DBF, 0x2DBF}, {0x2DC7, 0x2DC7}, {0x2DCF, 0x2DCF},\n\t{0x2DD7, 0x2DD7}, {0x2DDF, 0x2DDF}, {0x2E45, 0x2E7F},\n\t{0x2E9A, 0x2E9A}, {0x2EF4, 0x2EFF}, {0x2FD6, 0x2FEF},\n\t{0x2FFC, 0x2FFF}, {0x3040, 0x3040}, {0x3097, 0x3098},\n\t{0x3100, 0x3104}, {0x312E, 0x3130}, {0x318F, 0x318F},\n\t{0x31BB, 0x31BF}, {0x31E4, 0x31EF}, {0x321F, 0x321F},\n\t{0x32FF, 0x32FF}, {0x4DB6, 0x4DBF}, {0x9FD6, 0x9FFF},\n\t{0xA48D, 0xA48F}, {0xA4C7, 0xA4CF}, {0xA62C, 0xA63F},\n\t{0xA6F8, 0xA6FF}, {0xA7AF, 0xA7AF}, {0xA7B8, 0xA7F6},\n\t{0xA82C, 0xA82F}, {0xA83A, 0xA83F}, {0xA878, 0xA87F},\n\t{0xA8C6, 0xA8CD}, {0xA8DA, 0xA8DF}, {0xA8FE, 0xA8FF},\n\t{0xA954, 0xA95E}, {0xA97D, 0xA97F}, {0xA9CE, 0xA9CE},\n\t{0xA9DA, 0xA9DD}, {0xA9FF, 0xA9FF}, {0xAA37, 0xAA3F},\n\t{0xAA4E, 0xAA4F}, {0xAA5A, 0xAA5B}, {0xAAC3, 0xAADA},\n\t{0xAAF7, 0xAB00}, {0xAB07, 0xAB08}, {0xAB0F, 0xAB10},\n\t{0xAB17, 0xAB1F}, {0xAB27, 0xAB27}, {0xAB2F, 0xAB2F},\n\t{0xAB66, 0xAB6F}, {0xABEE, 0xABEF}, {0xABFA, 0xABFF},\n\t{0xD7A4, 0xD7AF}, {0xD7C7, 0xD7CA}, {0xD7FC, 0xD7FF},\n\t{0xFA6E, 0xFA6F}, {0xFADA, 0xFAFF}, {0xFB07, 0xFB12},\n\t{0xFB18, 0xFB1C}, {0xFB37, 0xFB37}, {0xFB3D, 0xFB3D},\n\t{0xFB3F, 0xFB3F}, {0xFB42, 0xFB42}, {0xFB45, 0xFB45},\n\t{0xFBC2, 0xFBD2}, {0xFD40, 0xFD4F}, {0xFD90, 0xFD91},\n\t{0xFDC8, 0xFDEF}, {0xFDFE, 0xFDFF}, {0xFE1A, 0xFE1F},\n\t{0xFE53, 0xFE53}, {0xFE67, 0xFE67}, {0xFE6C, 0xFE6F},\n\t{0xFE75, 0xFE75}, {0xFEFD, 0xFEFE}, {0xFF00, 0xFF00},\n\t{0xFFBF, 0xFFC1}, {0xFFC8, 0xFFC9}, {0xFFD0, 0xFFD1},\n\t{0xFFD8, 0xFFD9}, {0xFFDD, 0xFFDF}, {0xFFE7, 0xFFE7},\n\t{0xFFEF, 0xFFF8}, {0xFFFE, 0xFFFF}, {0x1000C, 0x1000C},\n\t{0x10027, 0x10027}, {0x1003B, 0x1003B}, {0x1003E, 0x1003E},\n\t{0x1004E, 0x1004F}, {0x1005E, 0x1007F}, {0x100FB, 0x100FF},\n\t{0x10103, 0x10106}, {0x10134, 0x10136}, {0x1018F, 0x1018F},\n\t{0x1019C, 0x1019F}, {0x101A1, 0x101CF}, {0x101FE, 0x1027F},\n\t{0x1029D, 0x1029F}, {0x102D1, 0x102DF}, {0x102FC, 0x102FF},\n\t{0x10324, 0x1032F}, {0x1034B, 0x1034F}, {0x1037B, 0x1037F},\n\t{0x1039E, 0x1039E}, {0x103C4, 0x103C7}, {0x103D6, 0x103FF},\n\t{0x1049E, 0x1049F}, {0x104AA, 0x104AF}, {0x104D4, 0x104D7},\n\t{0x104FC, 0x104FF}, {0x10528, 0x1052F}, {0x10564, 0x1056E},\n\t{0x10570, 0x105FF}, {0x10737, 0x1073F}, {0x10756, 0x1075F},\n\t{0x10768, 0x107FF}, {0x10806, 0x10807}, {0x10809, 0x10809},\n\t{0x10836, 0x10836}, {0x10839, 0x1083B}, {0x1083D, 0x1083E},\n\t{0x10856, 0x10856}, {0x1089F, 0x108A6}, {0x108B0, 0x108DF},\n\t{0x108F3, 0x108F3}, {0x108F6, 0x108FA}, {0x1091C, 0x1091E},\n\t{0x1093A, 0x1093E}, {0x10940, 0x1097F}, {0x109B8, 0x109BB},\n\t{0x109D0, 0x109D1}, {0x10A04, 0x10A04}, {0x10A07, 0x10A0B},\n\t{0x10A14, 0x10A14}, {0x10A18, 0x10A18}, {0x10A34, 0x10A37},\n\t{0x10A3B, 0x10A3E}, {0x10A48, 0x10A4F}, {0x10A59, 0x10A5F},\n\t{0x10AA0, 0x10ABF}, {0x10AE7, 0x10AEA}, {0x10AF7, 0x10AFF},\n\t{0x10B36, 0x10B38}, {0x10B56, 0x10B57}, {0x10B73, 0x10B77},\n\t{0x10B92, 0x10B98}, {0x10B9D, 0x10BA8}, {0x10BB0, 0x10BFF},\n\t{0x10C49, 0x10C7F}, {0x10CB3, 0x10CBF}, {0x10CF3, 0x10CF9},\n\t{0x10D00, 0x10E5F}, {0x10E7F, 0x10FFF}, {0x1104E, 0x11051},\n\t{0x11070, 0x1107E}, {0x110C2, 0x110CF}, {0x110E9, 0x110EF},\n\t{0x110FA, 0x110FF}, {0x11135, 0x11135}, {0x11144, 0x1114F},\n\t{0x11177, 0x1117F}, {0x111CE, 0x111CF}, {0x111E0, 0x111E0},\n\t{0x111F5, 0x111FF}, {0x11212, 0x11212}, {0x1123F, 0x1127F},\n\t{0x11287, 0x11287}, {0x11289, 0x11289}, {0x1128E, 0x1128E},\n\t{0x1129E, 0x1129E}, {0x112AA, 0x112AF}, {0x112EB, 0x112EF},\n\t{0x112FA, 0x112FF}, {0x11304, 0x11304}, {0x1130D, 0x1130E},\n\t{0x11311, 0x11312}, {0x11329, 0x11329}, {0x11331, 0x11331},\n\t{0x11334, 0x11334}, {0x1133A, 0x1133B}, {0x11345, 0x11346},\n\t{0x11349, 0x1134A}, {0x1134E, 0x1134F}, {0x11351, 0x11356},\n\t{0x11358, 0x1135C}, {0x11364, 0x11365}, {0x1136D, 0x1136F},\n\t{0x11375, 0x113FF}, {0x1145A, 0x1145A}, {0x1145C, 0x1145C},\n\t{0x1145E, 0x1147F}, {0x114C8, 0x114CF}, {0x114DA, 0x1157F},\n\t{0x115B6, 0x115B7}, {0x115DE, 0x115FF}, {0x11645, 0x1164F},\n\t{0x1165A, 0x1165F}, {0x1166D, 0x1167F}, {0x116B8, 0x116BF},\n\t{0x116CA, 0x116FF}, {0x1171A, 0x1171C}, {0x1172C, 0x1172F},\n\t{0x11740, 0x1189F}, {0x118F3, 0x118FE}, {0x11900, 0x11ABF},\n\t{0x11AF9, 0x11BFF}, {0x11C09, 0x11C09}, {0x11C37, 0x11C37},\n\t{0x11C46, 0x11C4F}, {0x11C6D, 0x11C6F}, {0x11C90, 0x11C91},\n\t{0x11CA8, 0x11CA8}, {0x11CB7, 0x11FFF}, {0x1239A, 0x123FF},\n\t{0x1246F, 0x1246F}, {0x12475, 0x1247F}, {0x12544, 0x12FFF},\n\t{0x1342F, 0x143FF}, {0x14647, 0x167FF}, {0x16A39, 0x16A3F},\n\t{0x16A5F, 0x16A5F}, {0x16A6A, 0x16A6D}, {0x16A70, 0x16ACF},\n\t{0x16AEE, 0x16AEF}, {0x16AF6, 0x16AFF}, {0x16B46, 0x16B4F},\n\t{0x16B5A, 0x16B5A}, {0x16B62, 0x16B62}, {0x16B78, 0x16B7C},\n\t{0x16B90, 0x16EFF}, {0x16F45, 0x16F4F}, {0x16F7F, 0x16F8E},\n\t{0x16FA0, 0x16FDF}, {0x16FE1, 0x16FFF}, {0x187ED, 0x187FF},\n\t{0x18AF3, 0x1AFFF}, {0x1B002, 0x1BBFF}, {0x1BC6B, 0x1BC6F},\n\t{0x1BC7D, 0x1BC7F}, {0x1BC89, 0x1BC8F}, {0x1BC9A, 0x1BC9B},\n\t{0x1BCA4, 0x1CFFF}, {0x1D0F6, 0x1D0FF}, {0x1D127, 0x1D128},\n\t{0x1D1E9, 0x1D1FF}, {0x1D246, 0x1D2FF}, {0x1D357, 0x1D35F},\n\t{0x1D372, 0x1D3FF}, {0x1D455, 0x1D455}, {0x1D49D, 0x1D49D},\n\t{0x1D4A0, 0x1D4A1}, {0x1D4A3, 0x1D4A4}, {0x1D4A7, 0x1D4A8},\n\t{0x1D4AD, 0x1D4AD}, {0x1D4BA, 0x1D4BA}, {0x1D4BC, 0x1D4BC},\n\t{0x1D4C4, 0x1D4C4}, {0x1D506, 0x1D506}, {0x1D50B, 0x1D50C},\n\t{0x1D515, 0x1D515}, {0x1D51D, 0x1D51D}, {0x1D53A, 0x1D53A},\n\t{0x1D53F, 0x1D53F}, {0x1D545, 0x1D545}, {0x1D547, 0x1D549},\n\t{0x1D551, 0x1D551}, {0x1D6A6, 0x1D6A7}, {0x1D7CC, 0x1D7CD},\n\t{0x1DA8C, 0x1DA9A}, {0x1DAA0, 0x1DAA0}, {0x1DAB0, 0x1DFFF},\n\t{0x1E007, 0x1E007}, {0x1E019, 0x1E01A}, {0x1E022, 0x1E022},\n\t{0x1E025, 0x1E025}, {0x1E02B, 0x1E7FF}, {0x1E8C5, 0x1E8C6},\n\t{0x1E8D7, 0x1E8FF}, {0x1E94B, 0x1E94F}, {0x1E95A, 0x1E95D},\n\t{0x1E960, 0x1EDFF}, {0x1EE04, 0x1EE04}, {0x1EE20, 0x1EE20},\n\t{0x1EE23, 0x1EE23}, {0x1EE25, 0x1EE26}, {0x1EE28, 0x1EE28},\n\t{0x1EE33, 0x1EE33}, {0x1EE38, 0x1EE38}, {0x1EE3A, 0x1EE3A},\n\t{0x1EE3C, 0x1EE41}, {0x1EE43, 0x1EE46}, {0x1EE48, 0x1EE48},\n\t{0x1EE4A, 0x1EE4A}, {0x1EE4C, 0x1EE4C}, {0x1EE50, 0x1EE50},\n\t{0x1EE53, 0x1EE53}, {0x1EE55, 0x1EE56}, {0x1EE58, 0x1EE58},\n\t{0x1EE5A, 0x1EE5A}, {0x1EE5C, 0x1EE5C}, {0x1EE5E, 0x1EE5E},\n\t{0x1EE60, 0x1EE60}, {0x1EE63, 0x1EE63}, {0x1EE65, 0x1EE66},\n\t{0x1EE6B, 0x1EE6B}, {0x1EE73, 0x1EE73}, {0x1EE78, 0x1EE78},\n\t{0x1EE7D, 0x1EE7D}, {0x1EE7F, 0x1EE7F}, {0x1EE8A, 0x1EE8A},\n\t{0x1EE9C, 0x1EEA0}, {0x1EEA4, 0x1EEA4}, {0x1EEAA, 0x1EEAA},\n\t{0x1EEBC, 0x1EEEF}, {0x1EEF2, 0x1EFFF}, {0x1F02C, 0x1F02F},\n\t{0x1F094, 0x1F09F}, {0x1F0AF, 0x1F0B0}, {0x1F0C0, 0x1F0C0},\n\t{0x1F0D0, 0x1F0D0}, {0x1F0F6, 0x1F0FF}, {0x1F10D, 0x1F10F},\n\t{0x1F12F, 0x1F12F}, {0x1F16C, 0x1F16F}, {0x1F1AD, 0x1F1E5},\n\t{0x1F203, 0x1F20F}, {0x1F23C, 0x1F23F}, {0x1F249, 0x1F24F},\n\t{0x1F252, 0x1F2FF}, {0x1F6D3, 0x1F6DF}, {0x1F6ED, 0x1F6EF},\n\t{0x1F6F7, 0x1F6FF}, {0x1F774, 0x1F77F}, {0x1F7D5, 0x1F7FF},\n\t{0x1F80C, 0x1F80F}, {0x1F848, 0x1F84F}, {0x1F85A, 0x1F85F},\n\t{0x1F888, 0x1F88F}, {0x1F8AE, 0x1F90F}, {0x1F91F, 0x1F91F},\n\t{0x1F928, 0x1F92F}, {0x1F931, 0x1F932}, {0x1F93F, 0x1F93F},\n\t{0x1F94C, 0x1F94F}, {0x1F95F, 0x1F97F}, {0x1F992, 0x1F9BF},\n\t{0x1F9C1, 0x1FFFF}, {0x2A6D7, 0x2A6FF}, {0x2B735, 0x2B73F},\n\t{0x2B81E, 0x2B81F}, {0x2CEA2, 0x2F7FF}, {0x2FA1E, 0xE0000},\n\t{0xE0002, 0xE001F}, {0xE0080, 0xE00FF}, {0xE01F0, 0xEFFFF},\n\t{0xFFFFE, 0xFFFFF},\n}\n\nvar neutral = table{\n\t{0x0000, 0x001F}, {0x007F, 0x007F}, {0x0080, 0x009F},\n\t{0x00A0, 0x00A0}, {0x00A9, 0x00A9}, {0x00AB, 0x00AB},\n\t{0x00B5, 0x00B5}, {0x00BB, 0x00BB}, {0x00C0, 0x00C5},\n\t{0x00C7, 0x00CF}, {0x00D1, 0x00D6}, {0x00D9, 0x00DD},\n\t{0x00E2, 0x00E5}, {0x00E7, 0x00E7}, {0x00EB, 0x00EB},\n\t{0x00EE, 0x00EF}, {0x00F1, 0x00F1}, {0x00F4, 0x00F6},\n\t{0x00FB, 0x00FB}, {0x00FD, 0x00FD}, {0x00FF, 0x00FF},\n\t{0x0100, 0x0100}, {0x0102, 0x0110}, {0x0112, 0x0112},\n\t{0x0114, 0x011A}, {0x011C, 0x0125}, {0x0128, 0x012A},\n\t{0x012C, 0x0130}, {0x0134, 0x0137}, {0x0139, 0x013E},\n\t{0x0143, 0x0143}, {0x0145, 0x0147}, {0x014C, 0x014C},\n\t{0x014E, 0x0151}, {0x0154, 0x0165}, {0x0168, 0x016A},\n\t{0x016C, 0x017F}, {0x0180, 0x01BA}, {0x01BB, 0x01BB},\n\t{0x01BC, 0x01BF}, {0x01C0, 0x01C3}, {0x01C4, 0x01CD},\n\t{0x01CF, 0x01CF}, {0x01D1, 0x01D1}, {0x01D3, 0x01D3},\n\t{0x01D5, 0x01D5}, {0x01D7, 0x01D7}, {0x01D9, 0x01D9},\n\t{0x01DB, 0x01DB}, {0x01DD, 0x024F}, {0x0250, 0x0250},\n\t{0x0252, 0x0260}, {0x0262, 0x0293}, {0x0294, 0x0294},\n\t{0x0295, 0x02AF}, {0x02B0, 0x02C1}, {0x02C2, 0x02C3},\n\t{0x02C5, 0x02C5}, {0x02C6, 0x02C6}, {0x02C8, 0x02C8},\n\t{0x02CC, 0x02CC}, {0x02CE, 0x02CF}, {0x02D1, 0x02D1},\n\t{0x02D2, 0x02D7}, {0x02DC, 0x02DC}, {0x02DE, 0x02DE},\n\t{0x02E0, 0x02E4}, {0x02E5, 0x02EB}, {0x02EC, 0x02EC},\n\t{0x02ED, 0x02ED}, {0x02EE, 0x02EE}, {0x02EF, 0x02FF},\n\t{0x0370, 0x0373}, {0x0374, 0x0374}, {0x0375, 0x0375},\n\t{0x0376, 0x0377}, {0x037A, 0x037A}, {0x037B, 0x037D},\n\t{0x037E, 0x037E}, {0x037F, 0x037F}, {0x0384, 0x0385},\n\t{0x0386, 0x0386}, {0x0387, 0x0387}, {0x0388, 0x038A},\n\t{0x038C, 0x038C}, {0x038E, 0x0390}, {0x03AA, 0x03B0},\n\t{0x03C2, 0x03C2}, {0x03CA, 0x03F5}, {0x03F6, 0x03F6},\n\t{0x03F7, 0x03FF}, {0x0400, 0x0400}, {0x0402, 0x040F},\n\t{0x0450, 0x0450}, {0x0452, 0x0481}, {0x0482, 0x0482},\n\t{0x0483, 0x0487}, {0x0488, 0x0489}, {0x048A, 0x04FF},\n\t{0x0500, 0x052F}, {0x0531, 0x0556}, {0x0559, 0x0559},\n\t{0x055A, 0x055F}, {0x0561, 0x0587}, {0x0589, 0x0589},\n\t{0x058A, 0x058A}, {0x058D, 0x058E}, {0x058F, 0x058F},\n\t{0x0591, 0x05BD}, {0x05BE, 0x05BE}, {0x05BF, 0x05BF},\n\t{0x05C0, 0x05C0}, {0x05C1, 0x05C2}, {0x05C3, 0x05C3},\n\t{0x05C4, 0x05C5}, {0x05C6, 0x05C6}, {0x05C7, 0x05C7},\n\t{0x05D0, 0x05EA}, {0x05F0, 0x05F2}, {0x05F3, 0x05F4},\n\t{0x0600, 0x0605}, {0x0606, 0x0608}, {0x0609, 0x060A},\n\t{0x060B, 0x060B}, {0x060C, 0x060D}, {0x060E, 0x060F},\n\t{0x0610, 0x061A}, {0x061B, 0x061B}, {0x061C, 0x061C},\n\t{0x061E, 0x061F}, {0x0620, 0x063F}, {0x0640, 0x0640},\n\t{0x0641, 0x064A}, {0x064B, 0x065F}, {0x0660, 0x0669},\n\t{0x066A, 0x066D}, {0x066E, 0x066F}, {0x0670, 0x0670},\n\t{0x0671, 0x06D3}, {0x06D4, 0x06D4}, {0x06D5, 0x06D5},\n\t{0x06D6, 0x06DC}, {0x06DD, 0x06DD}, {0x06DE, 0x06DE},\n\t{0x06DF, 0x06E4}, {0x06E5, 0x06E6}, {0x06E7, 0x06E8},\n\t{0x06E9, 0x06E9}, {0x06EA, 0x06ED}, {0x06EE, 0x06EF},\n\t{0x06F0, 0x06F9}, {0x06FA, 0x06FC}, {0x06FD, 0x06FE},\n\t{0x06FF, 0x06FF}, {0x0700, 0x070D}, {0x070F, 0x070F},\n\t{0x0710, 0x0710}, {0x0711, 0x0711}, {0x0712, 0x072F},\n\t{0x0730, 0x074A}, {0x074D, 0x074F}, {0x0750, 0x077F},\n\t{0x0780, 0x07A5}, {0x07A6, 0x07B0}, {0x07B1, 0x07B1},\n\t{0x07C0, 0x07C9}, {0x07CA, 0x07EA}, {0x07EB, 0x07F3},\n\t{0x07F4, 0x07F5}, {0x07F6, 0x07F6}, {0x07F7, 0x07F9},\n\t{0x07FA, 0x07FA}, {0x0800, 0x0815}, {0x0816, 0x0819},\n\t{0x081A, 0x081A}, {0x081B, 0x0823}, {0x0824, 0x0824},\n\t{0x0825, 0x0827}, {0x0828, 0x0828}, {0x0829, 0x082D},\n\t{0x0830, 0x083E}, {0x0840, 0x0858}, {0x0859, 0x085B},\n\t{0x085E, 0x085E}, {0x08A0, 0x08B4}, {0x08B6, 0x08BD},\n\t{0x08D4, 0x08E1}, {0x08E2, 0x08E2}, {0x08E3, 0x08FF},\n\t{0x0900, 0x0902}, {0x0903, 0x0903}, {0x0904, 0x0939},\n\t{0x093A, 0x093A}, {0x093B, 0x093B}, {0x093C, 0x093C},\n\t{0x093D, 0x093D}, {0x093E, 0x0940}, {0x0941, 0x0948},\n\t{0x0949, 0x094C}, {0x094D, 0x094D}, {0x094E, 0x094F},\n\t{0x0950, 0x0950}, {0x0951, 0x0957}, {0x0958, 0x0961},\n\t{0x0962, 0x0963}, {0x0964, 0x0965}, {0x0966, 0x096F},\n\t{0x0970, 0x0970}, {0x0971, 0x0971}, {0x0972, 0x097F},\n\t{0x0980, 0x0980}, {0x0981, 0x0981}, {0x0982, 0x0983},\n\t{0x0985, 0x098C}, {0x098F, 0x0990}, {0x0993, 0x09A8},\n\t{0x09AA, 0x09B0}, {0x09B2, 0x09B2}, {0x09B6, 0x09B9},\n\t{0x09BC, 0x09BC}, {0x09BD, 0x09BD}, {0x09BE, 0x09C0},\n\t{0x09C1, 0x09C4}, {0x09C7, 0x09C8}, {0x09CB, 0x09CC},\n\t{0x09CD, 0x09CD}, {0x09CE, 0x09CE}, {0x09D7, 0x09D7},\n\t{0x09DC, 0x09DD}, {0x09DF, 0x09E1}, {0x09E2, 0x09E3},\n\t{0x09E6, 0x09EF}, {0x09F0, 0x09F1}, {0x09F2, 0x09F3},\n\t{0x09F4, 0x09F9}, {0x09FA, 0x09FA}, {0x09FB, 0x09FB},\n\t{0x0A01, 0x0A02}, {0x0A03, 0x0A03}, {0x0A05, 0x0A0A},\n\t{0x0A0F, 0x0A10}, {0x0A13, 0x0A28}, {0x0A2A, 0x0A30},\n\t{0x0A32, 0x0A33}, {0x0A35, 0x0A36}, {0x0A38, 0x0A39},\n\t{0x0A3C, 0x0A3C}, {0x0A3E, 0x0A40}, {0x0A41, 0x0A42},\n\t{0x0A47, 0x0A48}, {0x0A4B, 0x0A4D}, {0x0A51, 0x0A51},\n\t{0x0A59, 0x0A5C}, {0x0A5E, 0x0A5E}, {0x0A66, 0x0A6F},\n\t{0x0A70, 0x0A71}, {0x0A72, 0x0A74}, {0x0A75, 0x0A75},\n\t{0x0A81, 0x0A82}, {0x0A83, 0x0A83}, {0x0A85, 0x0A8D},\n\t{0x0A8F, 0x0A91}, {0x0A93, 0x0AA8}, {0x0AAA, 0x0AB0},\n\t{0x0AB2, 0x0AB3}, {0x0AB5, 0x0AB9}, {0x0ABC, 0x0ABC},\n\t{0x0ABD, 0x0ABD}, {0x0ABE, 0x0AC0}, {0x0AC1, 0x0AC5},\n\t{0x0AC7, 0x0AC8}, {0x0AC9, 0x0AC9}, {0x0ACB, 0x0ACC},\n\t{0x0ACD, 0x0ACD}, {0x0AD0, 0x0AD0}, {0x0AE0, 0x0AE1},\n\t{0x0AE2, 0x0AE3}, {0x0AE6, 0x0AEF}, {0x0AF0, 0x0AF0},\n\t{0x0AF1, 0x0AF1}, {0x0AF9, 0x0AF9}, {0x0B01, 0x0B01},\n\t{0x0B02, 0x0B03}, {0x0B05, 0x0B0C}, {0x0B0F, 0x0B10},\n\t{0x0B13, 0x0B28}, {0x0B2A, 0x0B30}, {0x0B32, 0x0B33},\n\t{0x0B35, 0x0B39}, {0x0B3C, 0x0B3C}, {0x0B3D, 0x0B3D},\n\t{0x0B3E, 0x0B3E}, {0x0B3F, 0x0B3F}, {0x0B40, 0x0B40},\n\t{0x0B41, 0x0B44}, {0x0B47, 0x0B48}, {0x0B4B, 0x0B4C},\n\t{0x0B4D, 0x0B4D}, {0x0B56, 0x0B56}, {0x0B57, 0x0B57},\n\t{0x0B5C, 0x0B5D}, {0x0B5F, 0x0B61}, {0x0B62, 0x0B63},\n\t{0x0B66, 0x0B6F}, {0x0B70, 0x0B70}, {0x0B71, 0x0B71},\n\t{0x0B72, 0x0B77}, {0x0B82, 0x0B82}, {0x0B83, 0x0B83},\n\t{0x0B85, 0x0B8A}, {0x0B8E, 0x0B90}, {0x0B92, 0x0B95},\n\t{0x0B99, 0x0B9A}, {0x0B9C, 0x0B9C}, {0x0B9E, 0x0B9F},\n\t{0x0BA3, 0x0BA4}, {0x0BA8, 0x0BAA}, {0x0BAE, 0x0BB9},\n\t{0x0BBE, 0x0BBF}, {0x0BC0, 0x0BC0}, {0x0BC1, 0x0BC2},\n\t{0x0BC6, 0x0BC8}, {0x0BCA, 0x0BCC}, {0x0BCD, 0x0BCD},\n\t{0x0BD0, 0x0BD0}, {0x0BD7, 0x0BD7}, {0x0BE6, 0x0BEF},\n\t{0x0BF0, 0x0BF2}, {0x0BF3, 0x0BF8}, {0x0BF9, 0x0BF9},\n\t{0x0BFA, 0x0BFA}, {0x0C00, 0x0C00}, {0x0C01, 0x0C03},\n\t{0x0C05, 0x0C0C}, {0x0C0E, 0x0C10}, {0x0C12, 0x0C28},\n\t{0x0C2A, 0x0C39}, {0x0C3D, 0x0C3D}, {0x0C3E, 0x0C40},\n\t{0x0C41, 0x0C44}, {0x0C46, 0x0C48}, {0x0C4A, 0x0C4D},\n\t{0x0C55, 0x0C56}, {0x0C58, 0x0C5A}, {0x0C60, 0x0C61},\n\t{0x0C62, 0x0C63}, {0x0C66, 0x0C6F}, {0x0C78, 0x0C7E},\n\t{0x0C7F, 0x0C7F}, {0x0C80, 0x0C80}, {0x0C81, 0x0C81},\n\t{0x0C82, 0x0C83}, {0x0C85, 0x0C8C}, {0x0C8E, 0x0C90},\n\t{0x0C92, 0x0CA8}, {0x0CAA, 0x0CB3}, {0x0CB5, 0x0CB9},\n\t{0x0CBC, 0x0CBC}, {0x0CBD, 0x0CBD}, {0x0CBE, 0x0CBE},\n\t{0x0CBF, 0x0CBF}, {0x0CC0, 0x0CC4}, {0x0CC6, 0x0CC6},\n\t{0x0CC7, 0x0CC8}, {0x0CCA, 0x0CCB}, {0x0CCC, 0x0CCD},\n\t{0x0CD5, 0x0CD6}, {0x0CDE, 0x0CDE}, {0x0CE0, 0x0CE1},\n\t{0x0CE2, 0x0CE3}, {0x0CE6, 0x0CEF}, {0x0CF1, 0x0CF2},\n\t{0x0D01, 0x0D01}, {0x0D02, 0x0D03}, {0x0D05, 0x0D0C},\n\t{0x0D0E, 0x0D10}, {0x0D12, 0x0D3A}, {0x0D3D, 0x0D3D},\n\t{0x0D3E, 0x0D40}, {0x0D41, 0x0D44}, {0x0D46, 0x0D48},\n\t{0x0D4A, 0x0D4C}, {0x0D4D, 0x0D4D}, {0x0D4E, 0x0D4E},\n\t{0x0D4F, 0x0D4F}, {0x0D54, 0x0D56}, {0x0D57, 0x0D57},\n\t{0x0D58, 0x0D5E}, {0x0D5F, 0x0D61}, {0x0D62, 0x0D63},\n\t{0x0D66, 0x0D6F}, {0x0D70, 0x0D78}, {0x0D79, 0x0D79},\n\t{0x0D7A, 0x0D7F}, {0x0D82, 0x0D83}, {0x0D85, 0x0D96},\n\t{0x0D9A, 0x0DB1}, {0x0DB3, 0x0DBB}, {0x0DBD, 0x0DBD},\n\t{0x0DC0, 0x0DC6}, {0x0DCA, 0x0DCA}, {0x0DCF, 0x0DD1},\n\t{0x0DD2, 0x0DD4}, {0x0DD6, 0x0DD6}, {0x0DD8, 0x0DDF},\n\t{0x0DE6, 0x0DEF}, {0x0DF2, 0x0DF3}, {0x0DF4, 0x0DF4},\n\t{0x0E01, 0x0E30}, {0x0E31, 0x0E31}, {0x0E32, 0x0E33},\n\t{0x0E34, 0x0E3A}, {0x0E3F, 0x0E3F}, {0x0E40, 0x0E45},\n\t{0x0E46, 0x0E46}, {0x0E47, 0x0E4E}, {0x0E4F, 0x0E4F},\n\t{0x0E50, 0x0E59}, {0x0E5A, 0x0E5B}, {0x0E81, 0x0E82},\n\t{0x0E84, 0x0E84}, {0x0E87, 0x0E88}, {0x0E8A, 0x0E8A},\n\t{0x0E8D, 0x0E8D}, {0x0E94, 0x0E97}, {0x0E99, 0x0E9F},\n\t{0x0EA1, 0x0EA3}, {0x0EA5, 0x0EA5}, {0x0EA7, 0x0EA7},\n\t{0x0EAA, 0x0EAB}, {0x0EAD, 0x0EB0}, {0x0EB1, 0x0EB1},\n\t{0x0EB2, 0x0EB3}, {0x0EB4, 0x0EB9}, {0x0EBB, 0x0EBC},\n\t{0x0EBD, 0x0EBD}, {0x0EC0, 0x0EC4}, {0x0EC6, 0x0EC6},\n\t{0x0EC8, 0x0ECD}, {0x0ED0, 0x0ED9}, {0x0EDC, 0x0EDF},\n\t{0x0F00, 0x0F00}, {0x0F01, 0x0F03}, {0x0F04, 0x0F12},\n\t{0x0F13, 0x0F13}, {0x0F14, 0x0F14}, {0x0F15, 0x0F17},\n\t{0x0F18, 0x0F19}, {0x0F1A, 0x0F1F}, {0x0F20, 0x0F29},\n\t{0x0F2A, 0x0F33}, {0x0F34, 0x0F34}, {0x0F35, 0x0F35},\n\t{0x0F36, 0x0F36}, {0x0F37, 0x0F37}, {0x0F38, 0x0F38},\n\t{0x0F39, 0x0F39}, {0x0F3A, 0x0F3A}, {0x0F3B, 0x0F3B},\n\t{0x0F3C, 0x0F3C}, {0x0F3D, 0x0F3D}, {0x0F3E, 0x0F3F},\n\t{0x0F40, 0x0F47}, {0x0F49, 0x0F6C}, {0x0F71, 0x0F7E},\n\t{0x0F7F, 0x0F7F}, {0x0F80, 0x0F84}, {0x0F85, 0x0F85},\n\t{0x0F86, 0x0F87}, {0x0F88, 0x0F8C}, {0x0F8D, 0x0F97},\n\t{0x0F99, 0x0FBC}, {0x0FBE, 0x0FC5}, {0x0FC6, 0x0FC6},\n\t{0x0FC7, 0x0FCC}, {0x0FCE, 0x0FCF}, {0x0FD0, 0x0FD4},\n\t{0x0FD5, 0x0FD8}, {0x0FD9, 0x0FDA}, {0x1000, 0x102A},\n\t{0x102B, 0x102C}, {0x102D, 0x1030}, {0x1031, 0x1031},\n\t{0x1032, 0x1037}, {0x1038, 0x1038}, {0x1039, 0x103A},\n\t{0x103B, 0x103C}, {0x103D, 0x103E}, {0x103F, 0x103F},\n\t{0x1040, 0x1049}, {0x104A, 0x104F}, {0x1050, 0x1055},\n\t{0x1056, 0x1057}, {0x1058, 0x1059}, {0x105A, 0x105D},\n\t{0x105E, 0x1060}, {0x1061, 0x1061}, {0x1062, 0x1064},\n\t{0x1065, 0x1066}, {0x1067, 0x106D}, {0x106E, 0x1070},\n\t{0x1071, 0x1074}, {0x1075, 0x1081}, {0x1082, 0x1082},\n\t{0x1083, 0x1084}, {0x1085, 0x1086}, {0x1087, 0x108C},\n\t{0x108D, 0x108D}, {0x108E, 0x108E}, {0x108F, 0x108F},\n\t{0x1090, 0x1099}, {0x109A, 0x109C}, {0x109D, 0x109D},\n\t{0x109E, 0x109F}, {0x10A0, 0x10C5}, {0x10C7, 0x10C7},\n\t{0x10CD, 0x10CD}, {0x10D0, 0x10FA}, {0x10FB, 0x10FB},\n\t{0x10FC, 0x10FC}, {0x10FD, 0x10FF}, {0x1160, 0x11FF},\n\t{0x1200, 0x1248}, {0x124A, 0x124D}, {0x1250, 0x1256},\n\t{0x1258, 0x1258}, {0x125A, 0x125D}, {0x1260, 0x1288},\n\t{0x128A, 0x128D}, {0x1290, 0x12B0}, {0x12B2, 0x12B5},\n\t{0x12B8, 0x12BE}, {0x12C0, 0x12C0}, {0x12C2, 0x12C5},\n\t{0x12C8, 0x12D6}, {0x12D8, 0x1310}, {0x1312, 0x1315},\n\t{0x1318, 0x135A}, {0x135D, 0x135F}, {0x1360, 0x1368},\n\t{0x1369, 0x137C}, {0x1380, 0x138F}, {0x1390, 0x1399},\n\t{0x13A0, 0x13F5}, {0x13F8, 0x13FD}, {0x1400, 0x1400},\n\t{0x1401, 0x166C}, {0x166D, 0x166E}, {0x166F, 0x167F},\n\t{0x1680, 0x1680}, {0x1681, 0x169A}, {0x169B, 0x169B},\n\t{0x169C, 0x169C}, {0x16A0, 0x16EA}, {0x16EB, 0x16ED},\n\t{0x16EE, 0x16F0}, {0x16F1, 0x16F8}, {0x1700, 0x170C},\n\t{0x170E, 0x1711}, {0x1712, 0x1714}, {0x1720, 0x1731},\n\t{0x1732, 0x1734}, {0x1735, 0x1736}, {0x1740, 0x1751},\n\t{0x1752, 0x1753}, {0x1760, 0x176C}, {0x176E, 0x1770},\n\t{0x1772, 0x1773}, {0x1780, 0x17B3}, {0x17B4, 0x17B5},\n\t{0x17B6, 0x17B6}, {0x17B7, 0x17BD}, {0x17BE, 0x17C5},\n\t{0x17C6, 0x17C6}, {0x17C7, 0x17C8}, {0x17C9, 0x17D3},\n\t{0x17D4, 0x17D6}, {0x17D7, 0x17D7}, {0x17D8, 0x17DA},\n\t{0x17DB, 0x17DB}, {0x17DC, 0x17DC}, {0x17DD, 0x17DD},\n\t{0x17E0, 0x17E9}, {0x17F0, 0x17F9}, {0x1800, 0x1805},\n\t{0x1806, 0x1806}, {0x1807, 0x180A}, {0x180B, 0x180D},\n\t{0x180E, 0x180E}, {0x1810, 0x1819}, {0x1820, 0x1842},\n\t{0x1843, 0x1843}, {0x1844, 0x1877}, {0x1880, 0x1884},\n\t{0x1885, 0x1886}, {0x1887, 0x18A8}, {0x18A9, 0x18A9},\n\t{0x18AA, 0x18AA}, {0x18B0, 0x18F5}, {0x1900, 0x191E},\n\t{0x1920, 0x1922}, {0x1923, 0x1926}, {0x1927, 0x1928},\n\t{0x1929, 0x192B}, {0x1930, 0x1931}, {0x1932, 0x1932},\n\t{0x1933, 0x1938}, {0x1939, 0x193B}, {0x1940, 0x1940},\n\t{0x1944, 0x1945}, {0x1946, 0x194F}, {0x1950, 0x196D},\n\t{0x1970, 0x1974}, {0x1980, 0x19AB}, {0x19B0, 0x19C9},\n\t{0x19D0, 0x19D9}, {0x19DA, 0x19DA}, {0x19DE, 0x19DF},\n\t{0x19E0, 0x19FF}, {0x1A00, 0x1A16}, {0x1A17, 0x1A18},\n\t{0x1A19, 0x1A1A}, {0x1A1B, 0x1A1B}, {0x1A1E, 0x1A1F},\n\t{0x1A20, 0x1A54}, {0x1A55, 0x1A55}, {0x1A56, 0x1A56},\n\t{0x1A57, 0x1A57}, {0x1A58, 0x1A5E}, {0x1A60, 0x1A60},\n\t{0x1A61, 0x1A61}, {0x1A62, 0x1A62}, {0x1A63, 0x1A64},\n\t{0x1A65, 0x1A6C}, {0x1A6D, 0x1A72}, {0x1A73, 0x1A7C},\n\t{0x1A7F, 0x1A7F}, {0x1A80, 0x1A89}, {0x1A90, 0x1A99},\n\t{0x1AA0, 0x1AA6}, {0x1AA7, 0x1AA7}, {0x1AA8, 0x1AAD},\n\t{0x1AB0, 0x1ABD}, {0x1ABE, 0x1ABE}, {0x1B00, 0x1B03},\n\t{0x1B04, 0x1B04}, {0x1B05, 0x1B33}, {0x1B34, 0x1B34},\n\t{0x1B35, 0x1B35}, {0x1B36, 0x1B3A}, {0x1B3B, 0x1B3B},\n\t{0x1B3C, 0x1B3C}, {0x1B3D, 0x1B41}, {0x1B42, 0x1B42},\n\t{0x1B43, 0x1B44}, {0x1B45, 0x1B4B}, {0x1B50, 0x1B59},\n\t{0x1B5A, 0x1B60}, {0x1B61, 0x1B6A}, {0x1B6B, 0x1B73},\n\t{0x1B74, 0x1B7C}, {0x1B80, 0x1B81}, {0x1B82, 0x1B82},\n\t{0x1B83, 0x1BA0}, {0x1BA1, 0x1BA1}, {0x1BA2, 0x1BA5},\n\t{0x1BA6, 0x1BA7}, {0x1BA8, 0x1BA9}, {0x1BAA, 0x1BAA},\n\t{0x1BAB, 0x1BAD}, {0x1BAE, 0x1BAF}, {0x1BB0, 0x1BB9},\n\t{0x1BBA, 0x1BBF}, {0x1BC0, 0x1BE5}, {0x1BE6, 0x1BE6},\n\t{0x1BE7, 0x1BE7}, {0x1BE8, 0x1BE9}, {0x1BEA, 0x1BEC},\n\t{0x1BED, 0x1BED}, {0x1BEE, 0x1BEE}, {0x1BEF, 0x1BF1},\n\t{0x1BF2, 0x1BF3}, {0x1BFC, 0x1BFF}, {0x1C00, 0x1C23},\n\t{0x1C24, 0x1C2B}, {0x1C2C, 0x1C33}, {0x1C34, 0x1C35},\n\t{0x1C36, 0x1C37}, {0x1C3B, 0x1C3F}, {0x1C40, 0x1C49},\n\t{0x1C4D, 0x1C4F}, {0x1C50, 0x1C59}, {0x1C5A, 0x1C77},\n\t{0x1C78, 0x1C7D}, {0x1C7E, 0x1C7F}, {0x1C80, 0x1C88},\n\t{0x1CC0, 0x1CC7}, {0x1CD0, 0x1CD2}, {0x1CD3, 0x1CD3},\n\t{0x1CD4, 0x1CE0}, {0x1CE1, 0x1CE1}, {0x1CE2, 0x1CE8},\n\t{0x1CE9, 0x1CEC}, {0x1CED, 0x1CED}, {0x1CEE, 0x1CF1},\n\t{0x1CF2, 0x1CF3}, {0x1CF4, 0x1CF4}, {0x1CF5, 0x1CF6},\n\t{0x1CF8, 0x1CF9}, {0x1D00, 0x1D2B}, {0x1D2C, 0x1D6A},\n\t{0x1D6B, 0x1D77}, {0x1D78, 0x1D78}, {0x1D79, 0x1D7F},\n\t{0x1D80, 0x1D9A}, {0x1D9B, 0x1DBF}, {0x1DC0, 0x1DF5},\n\t{0x1DFB, 0x1DFF}, {0x1E00, 0x1EFF}, {0x1F00, 0x1F15},\n\t{0x1F18, 0x1F1D}, {0x1F20, 0x1F45}, {0x1F48, 0x1F4D},\n\t{0x1F50, 0x1F57}, {0x1F59, 0x1F59}, {0x1F5B, 0x1F5B},\n\t{0x1F5D, 0x1F5D}, {0x1F5F, 0x1F7D}, {0x1F80, 0x1FB4},\n\t{0x1FB6, 0x1FBC}, {0x1FBD, 0x1FBD}, {0x1FBE, 0x1FBE},\n\t{0x1FBF, 0x1FC1}, {0x1FC2, 0x1FC4}, {0x1FC6, 0x1FCC},\n\t{0x1FCD, 0x1FCF}, {0x1FD0, 0x1FD3}, {0x1FD6, 0x1FDB},\n\t{0x1FDD, 0x1FDF}, {0x1FE0, 0x1FEC}, {0x1FED, 0x1FEF},\n\t{0x1FF2, 0x1FF4}, {0x1FF6, 0x1FFC}, {0x1FFD, 0x1FFE},\n\t{0x2000, 0x200A}, {0x200B, 0x200F}, {0x2011, 0x2012},\n\t{0x2017, 0x2017}, {0x201A, 0x201A}, {0x201B, 0x201B},\n\t{0x201E, 0x201E}, {0x201F, 0x201F}, {0x2023, 0x2023},\n\t{0x2028, 0x2028}, {0x2029, 0x2029}, {0x202A, 0x202E},\n\t{0x202F, 0x202F}, {0x2031, 0x2031}, {0x2034, 0x2034},\n\t{0x2036, 0x2038}, {0x2039, 0x2039}, {0x203A, 0x203A},\n\t{0x203C, 0x203D}, {0x203F, 0x2040}, {0x2041, 0x2043},\n\t{0x2044, 0x2044}, {0x2045, 0x2045}, {0x2046, 0x2046},\n\t{0x2047, 0x2051}, {0x2052, 0x2052}, {0x2053, 0x2053},\n\t{0x2054, 0x2054}, {0x2055, 0x205E}, {0x205F, 0x205F},\n\t{0x2060, 0x2064}, {0x2066, 0x206F}, {0x2070, 0x2070},\n\t{0x2071, 0x2071}, {0x2075, 0x2079}, {0x207A, 0x207C},\n\t{0x207D, 0x207D}, {0x207E, 0x207E}, {0x2080, 0x2080},\n\t{0x2085, 0x2089}, {0x208A, 0x208C}, {0x208D, 0x208D},\n\t{0x208E, 0x208E}, {0x2090, 0x209C}, {0x20A0, 0x20A8},\n\t{0x20AA, 0x20AB}, {0x20AD, 0x20BE}, {0x20D0, 0x20DC},\n\t{0x20DD, 0x20E0}, {0x20E1, 0x20E1}, {0x20E2, 0x20E4},\n\t{0x20E5, 0x20F0}, {0x2100, 0x2101}, {0x2102, 0x2102},\n\t{0x2104, 0x2104}, {0x2106, 0x2106}, {0x2107, 0x2107},\n\t{0x2108, 0x2108}, {0x210A, 0x2112}, {0x2114, 0x2114},\n\t{0x2115, 0x2115}, {0x2117, 0x2117}, {0x2118, 0x2118},\n\t{0x2119, 0x211D}, {0x211E, 0x2120}, {0x2123, 0x2123},\n\t{0x2124, 0x2124}, {0x2125, 0x2125}, {0x2127, 0x2127},\n\t{0x2128, 0x2128}, {0x2129, 0x2129}, {0x212A, 0x212A},\n\t{0x212C, 0x212D}, {0x212E, 0x212E}, {0x212F, 0x2134},\n\t{0x2135, 0x2138}, {0x2139, 0x2139}, {0x213A, 0x213B},\n\t{0x213C, 0x213F}, {0x2140, 0x2144}, {0x2145, 0x2149},\n\t{0x214A, 0x214A}, {0x214B, 0x214B}, {0x214C, 0x214D},\n\t{0x214E, 0x214E}, {0x214F, 0x214F}, {0x2150, 0x2152},\n\t{0x2155, 0x215A}, {0x215F, 0x215F}, {0x216C, 0x216F},\n\t{0x217A, 0x2182}, {0x2183, 0x2184}, {0x2185, 0x2188},\n\t{0x218A, 0x218B}, {0x219A, 0x219B}, {0x219C, 0x219F},\n\t{0x21A0, 0x21A0}, {0x21A1, 0x21A2}, {0x21A3, 0x21A3},\n\t{0x21A4, 0x21A5}, {0x21A6, 0x21A6}, {0x21A7, 0x21AD},\n\t{0x21AE, 0x21AE}, {0x21AF, 0x21B7}, {0x21BA, 0x21CD},\n\t{0x21CE, 0x21CF}, {0x21D0, 0x21D1}, {0x21D3, 0x21D3},\n\t{0x21D5, 0x21E6}, {0x21E8, 0x21F3}, {0x21F4, 0x21FF},\n\t{0x2201, 0x2201}, {0x2204, 0x2206}, {0x2209, 0x220A},\n\t{0x220C, 0x220E}, {0x2210, 0x2210}, {0x2212, 0x2214},\n\t{0x2216, 0x2219}, {0x221B, 0x221C}, {0x2221, 0x2222},\n\t{0x2224, 0x2224}, {0x2226, 0x2226}, {0x222D, 0x222D},\n\t{0x222F, 0x2233}, {0x2238, 0x223B}, {0x223E, 0x2247},\n\t{0x2249, 0x224B}, {0x224D, 0x2251}, {0x2253, 0x225F},\n\t{0x2262, 0x2263}, {0x2268, 0x2269}, {0x226C, 0x226D},\n\t{0x2270, 0x2281}, {0x2284, 0x2285}, {0x2288, 0x2294},\n\t{0x2296, 0x2298}, {0x229A, 0x22A4}, {0x22A6, 0x22BE},\n\t{0x22C0, 0x22FF}, {0x2300, 0x2307}, {0x2308, 0x2308},\n\t{0x2309, 0x2309}, {0x230A, 0x230A}, {0x230B, 0x230B},\n\t{0x230C, 0x2311}, {0x2313, 0x2319}, {0x231C, 0x231F},\n\t{0x2320, 0x2321}, {0x2322, 0x2328}, {0x232B, 0x237B},\n\t{0x237C, 0x237C}, {0x237D, 0x239A}, {0x239B, 0x23B3},\n\t{0x23B4, 0x23DB}, {0x23DC, 0x23E1}, {0x23E2, 0x23E8},\n\t{0x23ED, 0x23EF}, {0x23F1, 0x23F2}, {0x23F4, 0x23FE},\n\t{0x2400, 0x2426}, {0x2440, 0x244A}, {0x24EA, 0x24EA},\n\t{0x254C, 0x254F}, {0x2574, 0x257F}, {0x2590, 0x2591},\n\t{0x2596, 0x259F}, {0x25A2, 0x25A2}, {0x25AA, 0x25B1},\n\t{0x25B4, 0x25B5}, {0x25B8, 0x25BB}, {0x25BE, 0x25BF},\n\t{0x25C2, 0x25C5}, {0x25C9, 0x25CA}, {0x25CC, 0x25CD},\n\t{0x25D2, 0x25E1}, {0x25E6, 0x25EE}, {0x25F0, 0x25F7},\n\t{0x25F8, 0x25FC}, {0x25FF, 0x25FF}, {0x2600, 0x2604},\n\t{0x2607, 0x2608}, {0x260A, 0x260D}, {0x2610, 0x2613},\n\t{0x2616, 0x261B}, {0x261D, 0x261D}, {0x261F, 0x263F},\n\t{0x2641, 0x2641}, {0x2643, 0x2647}, {0x2654, 0x265F},\n\t{0x2662, 0x2662}, {0x2666, 0x2666}, {0x266B, 0x266B},\n\t{0x266E, 0x266E}, {0x2670, 0x267E}, {0x2680, 0x2692},\n\t{0x2694, 0x269D}, {0x26A0, 0x26A0}, {0x26A2, 0x26A9},\n\t{0x26AC, 0x26BC}, {0x26C0, 0x26C3}, {0x26E2, 0x26E2},\n\t{0x26E4, 0x26E7}, {0x2700, 0x2704}, {0x2706, 0x2709},\n\t{0x270C, 0x2727}, {0x2729, 0x273C}, {0x273E, 0x274B},\n\t{0x274D, 0x274D}, {0x274F, 0x2752}, {0x2756, 0x2756},\n\t{0x2758, 0x2767}, {0x2768, 0x2768}, {0x2769, 0x2769},\n\t{0x276A, 0x276A}, {0x276B, 0x276B}, {0x276C, 0x276C},\n\t{0x276D, 0x276D}, {0x276E, 0x276E}, {0x276F, 0x276F},\n\t{0x2770, 0x2770}, {0x2771, 0x2771}, {0x2772, 0x2772},\n\t{0x2773, 0x2773}, {0x2774, 0x2774}, {0x2775, 0x2775},\n\t{0x2780, 0x2793}, {0x2794, 0x2794}, {0x2798, 0x27AF},\n\t{0x27B1, 0x27BE}, {0x27C0, 0x27C4}, {0x27C5, 0x27C5},\n\t{0x27C6, 0x27C6}, {0x27C7, 0x27E5}, {0x27EE, 0x27EE},\n\t{0x27EF, 0x27EF}, {0x27F0, 0x27FF}, {0x2800, 0x28FF},\n\t{0x2900, 0x297F}, {0x2980, 0x2982}, {0x2983, 0x2983},\n\t{0x2984, 0x2984}, {0x2987, 0x2987}, {0x2988, 0x2988},\n\t{0x2989, 0x2989}, {0x298A, 0x298A}, {0x298B, 0x298B},\n\t{0x298C, 0x298C}, {0x298D, 0x298D}, {0x298E, 0x298E},\n\t{0x298F, 0x298F}, {0x2990, 0x2990}, {0x2991, 0x2991},\n\t{0x2992, 0x2992}, {0x2993, 0x2993}, {0x2994, 0x2994},\n\t{0x2995, 0x2995}, {0x2996, 0x2996}, {0x2997, 0x2997},\n\t{0x2998, 0x2998}, {0x2999, 0x29D7}, {0x29D8, 0x29D8},\n\t{0x29D9, 0x29D9}, {0x29DA, 0x29DA}, {0x29DB, 0x29DB},\n\t{0x29DC, 0x29FB}, {0x29FC, 0x29FC}, {0x29FD, 0x29FD},\n\t{0x29FE, 0x29FF}, {0x2A00, 0x2AFF}, {0x2B00, 0x2B1A},\n\t{0x2B1D, 0x2B2F}, {0x2B30, 0x2B44}, {0x2B45, 0x2B46},\n\t{0x2B47, 0x2B4C}, {0x2B4D, 0x2B4F}, {0x2B51, 0x2B54},\n\t{0x2B5A, 0x2B73}, {0x2B76, 0x2B95}, {0x2B98, 0x2BB9},\n\t{0x2BBD, 0x2BC8}, {0x2BCA, 0x2BD1}, {0x2BEC, 0x2BEF},\n\t{0x2C00, 0x2C2E}, {0x2C30, 0x2C5E}, {0x2C60, 0x2C7B},\n\t{0x2C7C, 0x2C7D}, {0x2C7E, 0x2C7F}, {0x2C80, 0x2CE4},\n\t{0x2CE5, 0x2CEA}, {0x2CEB, 0x2CEE}, {0x2CEF, 0x2CF1},\n\t{0x2CF2, 0x2CF3}, {0x2CF9, 0x2CFC}, {0x2CFD, 0x2CFD},\n\t{0x2CFE, 0x2CFF}, {0x2D00, 0x2D25}, {0x2D27, 0x2D27},\n\t{0x2D2D, 0x2D2D}, {0x2D30, 0x2D67}, {0x2D6F, 0x2D6F},\n\t{0x2D70, 0x2D70}, {0x2D7F, 0x2D7F}, {0x2D80, 0x2D96},\n\t{0x2DA0, 0x2DA6}, {0x2DA8, 0x2DAE}, {0x2DB0, 0x2DB6},\n\t{0x2DB8, 0x2DBE}, {0x2DC0, 0x2DC6}, {0x2DC8, 0x2DCE},\n\t{0x2DD0, 0x2DD6}, {0x2DD8, 0x2DDE}, {0x2DE0, 0x2DFF},\n\t{0x2E00, 0x2E01}, {0x2E02, 0x2E02}, {0x2E03, 0x2E03},\n\t{0x2E04, 0x2E04}, {0x2E05, 0x2E05}, {0x2E06, 0x2E08},\n\t{0x2E09, 0x2E09}, {0x2E0A, 0x2E0A}, {0x2E0B, 0x2E0B},\n\t{0x2E0C, 0x2E0C}, {0x2E0D, 0x2E0D}, {0x2E0E, 0x2E16},\n\t{0x2E17, 0x2E17}, {0x2E18, 0x2E19}, {0x2E1A, 0x2E1A},\n\t{0x2E1B, 0x2E1B}, {0x2E1C, 0x2E1C}, {0x2E1D, 0x2E1D},\n\t{0x2E1E, 0x2E1F}, {0x2E20, 0x2E20}, {0x2E21, 0x2E21},\n\t{0x2E22, 0x2E22}, {0x2E23, 0x2E23}, {0x2E24, 0x2E24},\n\t{0x2E25, 0x2E25}, {0x2E26, 0x2E26}, {0x2E27, 0x2E27},\n\t{0x2E28, 0x2E28}, {0x2E29, 0x2E29}, {0x2E2A, 0x2E2E},\n\t{0x2E2F, 0x2E2F}, {0x2E30, 0x2E39}, {0x2E3A, 0x2E3B},\n\t{0x2E3C, 0x2E3F}, {0x2E40, 0x2E40}, {0x2E41, 0x2E41},\n\t{0x2E42, 0x2E42}, {0x2E43, 0x2E44}, {0x303F, 0x303F},\n\t{0x4DC0, 0x4DFF}, {0xA4D0, 0xA4F7}, {0xA4F8, 0xA4FD},\n\t{0xA4FE, 0xA4FF}, {0xA500, 0xA60B}, {0xA60C, 0xA60C},\n\t{0xA60D, 0xA60F}, {0xA610, 0xA61F}, {0xA620, 0xA629},\n\t{0xA62A, 0xA62B}, {0xA640, 0xA66D}, {0xA66E, 0xA66E},\n\t{0xA66F, 0xA66F}, {0xA670, 0xA672}, {0xA673, 0xA673},\n\t{0xA674, 0xA67D}, {0xA67E, 0xA67E}, {0xA67F, 0xA67F},\n\t{0xA680, 0xA69B}, {0xA69C, 0xA69D}, {0xA69E, 0xA69F},\n\t{0xA6A0, 0xA6E5}, {0xA6E6, 0xA6EF}, {0xA6F0, 0xA6F1},\n\t{0xA6F2, 0xA6F7}, {0xA700, 0xA716}, {0xA717, 0xA71F},\n\t{0xA720, 0xA721}, {0xA722, 0xA76F}, {0xA770, 0xA770},\n\t{0xA771, 0xA787}, {0xA788, 0xA788}, {0xA789, 0xA78A},\n\t{0xA78B, 0xA78E}, {0xA78F, 0xA78F}, {0xA790, 0xA7AE},\n\t{0xA7B0, 0xA7B7}, {0xA7F7, 0xA7F7}, {0xA7F8, 0xA7F9},\n\t{0xA7FA, 0xA7FA}, {0xA7FB, 0xA7FF}, {0xA800, 0xA801},\n\t{0xA802, 0xA802}, {0xA803, 0xA805}, {0xA806, 0xA806},\n\t{0xA807, 0xA80A}, {0xA80B, 0xA80B}, {0xA80C, 0xA822},\n\t{0xA823, 0xA824}, {0xA825, 0xA826}, {0xA827, 0xA827},\n\t{0xA828, 0xA82B}, {0xA830, 0xA835}, {0xA836, 0xA837},\n\t{0xA838, 0xA838}, {0xA839, 0xA839}, {0xA840, 0xA873},\n\t{0xA874, 0xA877}, {0xA880, 0xA881}, {0xA882, 0xA8B3},\n\t{0xA8B4, 0xA8C3}, {0xA8C4, 0xA8C5}, {0xA8CE, 0xA8CF},\n\t{0xA8D0, 0xA8D9}, {0xA8E0, 0xA8F1}, {0xA8F2, 0xA8F7},\n\t{0xA8F8, 0xA8FA}, {0xA8FB, 0xA8FB}, {0xA8FC, 0xA8FC},\n\t{0xA8FD, 0xA8FD}, {0xA900, 0xA909}, {0xA90A, 0xA925},\n\t{0xA926, 0xA92D}, {0xA92E, 0xA92F}, {0xA930, 0xA946},\n\t{0xA947, 0xA951}, {0xA952, 0xA953}, {0xA95F, 0xA95F},\n\t{0xA980, 0xA982}, {0xA983, 0xA983}, {0xA984, 0xA9B2},\n\t{0xA9B3, 0xA9B3}, {0xA9B4, 0xA9B5}, {0xA9B6, 0xA9B9},\n\t{0xA9BA, 0xA9BB}, {0xA9BC, 0xA9BC}, {0xA9BD, 0xA9C0},\n\t{0xA9C1, 0xA9CD}, {0xA9CF, 0xA9CF}, {0xA9D0, 0xA9D9},\n\t{0xA9DE, 0xA9DF}, {0xA9E0, 0xA9E4}, {0xA9E5, 0xA9E5},\n\t{0xA9E6, 0xA9E6}, {0xA9E7, 0xA9EF}, {0xA9F0, 0xA9F9},\n\t{0xA9FA, 0xA9FE}, {0xAA00, 0xAA28}, {0xAA29, 0xAA2E},\n\t{0xAA2F, 0xAA30}, {0xAA31, 0xAA32}, {0xAA33, 0xAA34},\n\t{0xAA35, 0xAA36}, {0xAA40, 0xAA42}, {0xAA43, 0xAA43},\n\t{0xAA44, 0xAA4B}, {0xAA4C, 0xAA4C}, {0xAA4D, 0xAA4D},\n\t{0xAA50, 0xAA59}, {0xAA5C, 0xAA5F}, {0xAA60, 0xAA6F},\n\t{0xAA70, 0xAA70}, {0xAA71, 0xAA76}, {0xAA77, 0xAA79},\n\t{0xAA7A, 0xAA7A}, {0xAA7B, 0xAA7B}, {0xAA7C, 0xAA7C},\n\t{0xAA7D, 0xAA7D}, {0xAA7E, 0xAA7F}, {0xAA80, 0xAAAF},\n\t{0xAAB0, 0xAAB0}, {0xAAB1, 0xAAB1}, {0xAAB2, 0xAAB4},\n\t{0xAAB5, 0xAAB6}, {0xAAB7, 0xAAB8}, {0xAAB9, 0xAABD},\n\t{0xAABE, 0xAABF}, {0xAAC0, 0xAAC0}, {0xAAC1, 0xAAC1},\n\t{0xAAC2, 0xAAC2}, {0xAADB, 0xAADC}, {0xAADD, 0xAADD},\n\t{0xAADE, 0xAADF}, {0xAAE0, 0xAAEA}, {0xAAEB, 0xAAEB},\n\t{0xAAEC, 0xAAED}, {0xAAEE, 0xAAEF}, {0xAAF0, 0xAAF1},\n\t{0xAAF2, 0xAAF2}, {0xAAF3, 0xAAF4}, {0xAAF5, 0xAAF5},\n\t{0xAAF6, 0xAAF6}, {0xAB01, 0xAB06}, {0xAB09, 0xAB0E},\n\t{0xAB11, 0xAB16}, {0xAB20, 0xAB26}, {0xAB28, 0xAB2E},\n\t{0xAB30, 0xAB5A}, {0xAB5B, 0xAB5B}, {0xAB5C, 0xAB5F},\n\t{0xAB60, 0xAB65}, {0xAB70, 0xABBF}, {0xABC0, 0xABE2},\n\t{0xABE3, 0xABE4}, {0xABE5, 0xABE5}, {0xABE6, 0xABE7},\n\t{0xABE8, 0xABE8}, {0xABE9, 0xABEA}, {0xABEB, 0xABEB},\n\t{0xABEC, 0xABEC}, {0xABED, 0xABED}, {0xABF0, 0xABF9},\n\t{0xD7B0, 0xD7C6}, {0xD7CB, 0xD7FB}, {0xD800, 0xDB7F},\n\t{0xDB80, 0xDBFF}, {0xDC00, 0xDFFF}, {0xFB00, 0xFB06},\n\t{0xFB13, 0xFB17}, {0xFB1D, 0xFB1D}, {0xFB1E, 0xFB1E},\n\t{0xFB1F, 0xFB28}, {0xFB29, 0xFB29}, {0xFB2A, 0xFB36},\n\t{0xFB38, 0xFB3C}, {0xFB3E, 0xFB3E}, {0xFB40, 0xFB41},\n\t{0xFB43, 0xFB44}, {0xFB46, 0xFB4F}, {0xFB50, 0xFBB1},\n\t{0xFBB2, 0xFBC1}, {0xFBD3, 0xFD3D}, {0xFD3E, 0xFD3E},\n\t{0xFD3F, 0xFD3F}, {0xFD50, 0xFD8F}, {0xFD92, 0xFDC7},\n\t{0xFDF0, 0xFDFB}, {0xFDFC, 0xFDFC}, {0xFDFD, 0xFDFD},\n\t{0xFE20, 0xFE2F}, {0xFE70, 0xFE74}, {0xFE76, 0xFEFC},\n\t{0xFEFF, 0xFEFF}, {0xFFF9, 0xFFFB}, {0xFFFC, 0xFFFC},\n\t{0x10000, 0x1000B}, {0x1000D, 0x10026}, {0x10028, 0x1003A},\n\t{0x1003C, 0x1003D}, {0x1003F, 0x1004D}, {0x10050, 0x1005D},\n\t{0x10080, 0x100FA}, {0x10100, 0x10102}, {0x10107, 0x10133},\n\t{0x10137, 0x1013F}, {0x10140, 0x10174}, {0x10175, 0x10178},\n\t{0x10179, 0x10189}, {0x1018A, 0x1018B}, {0x1018C, 0x1018E},\n\t{0x10190, 0x1019B}, {0x101A0, 0x101A0}, {0x101D0, 0x101FC},\n\t{0x101FD, 0x101FD}, {0x10280, 0x1029C}, {0x102A0, 0x102D0},\n\t{0x102E0, 0x102E0}, {0x102E1, 0x102FB}, {0x10300, 0x1031F},\n\t{0x10320, 0x10323}, {0x10330, 0x10340}, {0x10341, 0x10341},\n\t{0x10342, 0x10349}, {0x1034A, 0x1034A}, {0x10350, 0x10375},\n\t{0x10376, 0x1037A}, {0x10380, 0x1039D}, {0x1039F, 0x1039F},\n\t{0x103A0, 0x103C3}, {0x103C8, 0x103CF}, {0x103D0, 0x103D0},\n\t{0x103D1, 0x103D5}, {0x10400, 0x1044F}, {0x10450, 0x1047F},\n\t{0x10480, 0x1049D}, {0x104A0, 0x104A9}, {0x104B0, 0x104D3},\n\t{0x104D8, 0x104FB}, {0x10500, 0x10527}, {0x10530, 0x10563},\n\t{0x1056F, 0x1056F}, {0x10600, 0x10736}, {0x10740, 0x10755},\n\t{0x10760, 0x10767}, {0x10800, 0x10805}, {0x10808, 0x10808},\n\t{0x1080A, 0x10835}, {0x10837, 0x10838}, {0x1083C, 0x1083C},\n\t{0x1083F, 0x1083F}, {0x10840, 0x10855}, {0x10857, 0x10857},\n\t{0x10858, 0x1085F}, {0x10860, 0x10876}, {0x10877, 0x10878},\n\t{0x10879, 0x1087F}, {0x10880, 0x1089E}, {0x108A7, 0x108AF},\n\t{0x108E0, 0x108F2}, {0x108F4, 0x108F5}, {0x108FB, 0x108FF},\n\t{0x10900, 0x10915}, {0x10916, 0x1091B}, {0x1091F, 0x1091F},\n\t{0x10920, 0x10939}, {0x1093F, 0x1093F}, {0x10980, 0x1099F},\n\t{0x109A0, 0x109B7}, {0x109BC, 0x109BD}, {0x109BE, 0x109BF},\n\t{0x109C0, 0x109CF}, {0x109D2, 0x109FF}, {0x10A00, 0x10A00},\n\t{0x10A01, 0x10A03}, {0x10A05, 0x10A06}, {0x10A0C, 0x10A0F},\n\t{0x10A10, 0x10A13}, {0x10A15, 0x10A17}, {0x10A19, 0x10A33},\n\t{0x10A38, 0x10A3A}, {0x10A3F, 0x10A3F}, {0x10A40, 0x10A47},\n\t{0x10A50, 0x10A58}, {0x10A60, 0x10A7C}, {0x10A7D, 0x10A7E},\n\t{0x10A7F, 0x10A7F}, {0x10A80, 0x10A9C}, {0x10A9D, 0x10A9F},\n\t{0x10AC0, 0x10AC7}, {0x10AC8, 0x10AC8}, {0x10AC9, 0x10AE4},\n\t{0x10AE5, 0x10AE6}, {0x10AEB, 0x10AEF}, {0x10AF0, 0x10AF6},\n\t{0x10B00, 0x10B35}, {0x10B39, 0x10B3F}, {0x10B40, 0x10B55},\n\t{0x10B58, 0x10B5F}, {0x10B60, 0x10B72}, {0x10B78, 0x10B7F},\n\t{0x10B80, 0x10B91}, {0x10B99, 0x10B9C}, {0x10BA9, 0x10BAF},\n\t{0x10C00, 0x10C48}, {0x10C80, 0x10CB2}, {0x10CC0, 0x10CF2},\n\t{0x10CFA, 0x10CFF}, {0x10E60, 0x10E7E}, {0x11000, 0x11000},\n\t{0x11001, 0x11001}, {0x11002, 0x11002}, {0x11003, 0x11037},\n\t{0x11038, 0x11046}, {0x11047, 0x1104D}, {0x11052, 0x11065},\n\t{0x11066, 0x1106F}, {0x1107F, 0x1107F}, {0x11080, 0x11081},\n\t{0x11082, 0x11082}, {0x11083, 0x110AF}, {0x110B0, 0x110B2},\n\t{0x110B3, 0x110B6}, {0x110B7, 0x110B8}, {0x110B9, 0x110BA},\n\t{0x110BB, 0x110BC}, {0x110BD, 0x110BD}, {0x110BE, 0x110C1},\n\t{0x110D0, 0x110E8}, {0x110F0, 0x110F9}, {0x11100, 0x11102},\n\t{0x11103, 0x11126}, {0x11127, 0x1112B}, {0x1112C, 0x1112C},\n\t{0x1112D, 0x11134}, {0x11136, 0x1113F}, {0x11140, 0x11143},\n\t{0x11150, 0x11172}, {0x11173, 0x11173}, {0x11174, 0x11175},\n\t{0x11176, 0x11176}, {0x11180, 0x11181}, {0x11182, 0x11182},\n\t{0x11183, 0x111B2}, {0x111B3, 0x111B5}, {0x111B6, 0x111BE},\n\t{0x111BF, 0x111C0}, {0x111C1, 0x111C4}, {0x111C5, 0x111C9},\n\t{0x111CA, 0x111CC}, {0x111CD, 0x111CD}, {0x111D0, 0x111D9},\n\t{0x111DA, 0x111DA}, {0x111DB, 0x111DB}, {0x111DC, 0x111DC},\n\t{0x111DD, 0x111DF}, {0x111E1, 0x111F4}, {0x11200, 0x11211},\n\t{0x11213, 0x1122B}, {0x1122C, 0x1122E}, {0x1122F, 0x11231},\n\t{0x11232, 0x11233}, {0x11234, 0x11234}, {0x11235, 0x11235},\n\t{0x11236, 0x11237}, {0x11238, 0x1123D}, {0x1123E, 0x1123E},\n\t{0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128A, 0x1128D},\n\t{0x1128F, 0x1129D}, {0x1129F, 0x112A8}, {0x112A9, 0x112A9},\n\t{0x112B0, 0x112DE}, {0x112DF, 0x112DF}, {0x112E0, 0x112E2},\n\t{0x112E3, 0x112EA}, {0x112F0, 0x112F9}, {0x11300, 0x11301},\n\t{0x11302, 0x11303}, {0x11305, 0x1130C}, {0x1130F, 0x11310},\n\t{0x11313, 0x11328}, {0x1132A, 0x11330}, {0x11332, 0x11333},\n\t{0x11335, 0x11339}, {0x1133C, 0x1133C}, {0x1133D, 0x1133D},\n\t{0x1133E, 0x1133F}, {0x11340, 0x11340}, {0x11341, 0x11344},\n\t{0x11347, 0x11348}, {0x1134B, 0x1134D}, {0x11350, 0x11350},\n\t{0x11357, 0x11357}, {0x1135D, 0x11361}, {0x11362, 0x11363},\n\t{0x11366, 0x1136C}, {0x11370, 0x11374}, {0x11400, 0x11434},\n\t{0x11435, 0x11437}, {0x11438, 0x1143F}, {0x11440, 0x11441},\n\t{0x11442, 0x11444}, {0x11445, 0x11445}, {0x11446, 0x11446},\n\t{0x11447, 0x1144A}, {0x1144B, 0x1144F}, {0x11450, 0x11459},\n\t{0x1145B, 0x1145B}, {0x1145D, 0x1145D}, {0x11480, 0x114AF},\n\t{0x114B0, 0x114B2}, {0x114B3, 0x114B8}, {0x114B9, 0x114B9},\n\t{0x114BA, 0x114BA}, {0x114BB, 0x114BE}, {0x114BF, 0x114C0},\n\t{0x114C1, 0x114C1}, {0x114C2, 0x114C3}, {0x114C4, 0x114C5},\n\t{0x114C6, 0x114C6}, {0x114C7, 0x114C7}, {0x114D0, 0x114D9},\n\t{0x11580, 0x115AE}, {0x115AF, 0x115B1}, {0x115B2, 0x115B5},\n\t{0x115B8, 0x115BB}, {0x115BC, 0x115BD}, {0x115BE, 0x115BE},\n\t{0x115BF, 0x115C0}, {0x115C1, 0x115D7}, {0x115D8, 0x115DB},\n\t{0x115DC, 0x115DD}, {0x11600, 0x1162F}, {0x11630, 0x11632},\n\t{0x11633, 0x1163A}, {0x1163B, 0x1163C}, {0x1163D, 0x1163D},\n\t{0x1163E, 0x1163E}, {0x1163F, 0x11640}, {0x11641, 0x11643},\n\t{0x11644, 0x11644}, {0x11650, 0x11659}, {0x11660, 0x1166C},\n\t{0x11680, 0x116AA}, {0x116AB, 0x116AB}, {0x116AC, 0x116AC},\n\t{0x116AD, 0x116AD}, {0x116AE, 0x116AF}, {0x116B0, 0x116B5},\n\t{0x116B6, 0x116B6}, {0x116B7, 0x116B7}, {0x116C0, 0x116C9},\n\t{0x11700, 0x11719}, {0x1171D, 0x1171F}, {0x11720, 0x11721},\n\t{0x11722, 0x11725}, {0x11726, 0x11726}, {0x11727, 0x1172B},\n\t{0x11730, 0x11739}, {0x1173A, 0x1173B}, {0x1173C, 0x1173E},\n\t{0x1173F, 0x1173F}, {0x118A0, 0x118DF}, {0x118E0, 0x118E9},\n\t{0x118EA, 0x118F2}, {0x118FF, 0x118FF}, {0x11AC0, 0x11AF8},\n\t{0x11C00, 0x11C08}, {0x11C0A, 0x11C2E}, {0x11C2F, 0x11C2F},\n\t{0x11C30, 0x11C36}, {0x11C38, 0x11C3D}, {0x11C3E, 0x11C3E},\n\t{0x11C3F, 0x11C3F}, {0x11C40, 0x11C40}, {0x11C41, 0x11C45},\n\t{0x11C50, 0x11C59}, {0x11C5A, 0x11C6C}, {0x11C70, 0x11C71},\n\t{0x11C72, 0x11C8F}, {0x11C92, 0x11CA7}, {0x11CA9, 0x11CA9},\n\t{0x11CAA, 0x11CB0}, {0x11CB1, 0x11CB1}, {0x11CB2, 0x11CB3},\n\t{0x11CB4, 0x11CB4}, {0x11CB5, 0x11CB6}, {0x12000, 0x12399},\n\t{0x12400, 0x1246E}, {0x12470, 0x12474}, {0x12480, 0x12543},\n\t{0x13000, 0x1342E}, {0x14400, 0x14646}, {0x16800, 0x16A38},\n\t{0x16A40, 0x16A5E}, {0x16A60, 0x16A69}, {0x16A6E, 0x16A6F},\n\t{0x16AD0, 0x16AED}, {0x16AF0, 0x16AF4}, {0x16AF5, 0x16AF5},\n\t{0x16B00, 0x16B2F}, {0x16B30, 0x16B36}, {0x16B37, 0x16B3B},\n\t{0x16B3C, 0x16B3F}, {0x16B40, 0x16B43}, {0x16B44, 0x16B44},\n\t{0x16B45, 0x16B45}, {0x16B50, 0x16B59}, {0x16B5B, 0x16B61},\n\t{0x16B63, 0x16B77}, {0x16B7D, 0x16B8F}, {0x16F00, 0x16F44},\n\t{0x16F50, 0x16F50}, {0x16F51, 0x16F7E}, {0x16F8F, 0x16F92},\n\t{0x16F93, 0x16F9F}, {0x1BC00, 0x1BC6A}, {0x1BC70, 0x1BC7C},\n\t{0x1BC80, 0x1BC88}, {0x1BC90, 0x1BC99}, {0x1BC9C, 0x1BC9C},\n\t{0x1BC9D, 0x1BC9E}, {0x1BC9F, 0x1BC9F}, {0x1BCA0, 0x1BCA3},\n\t{0x1D000, 0x1D0F5}, {0x1D100, 0x1D126}, {0x1D129, 0x1D164},\n\t{0x1D165, 0x1D166}, {0x1D167, 0x1D169}, {0x1D16A, 0x1D16C},\n\t{0x1D16D, 0x1D172}, {0x1D173, 0x1D17A}, {0x1D17B, 0x1D182},\n\t{0x1D183, 0x1D184}, {0x1D185, 0x1D18B}, {0x1D18C, 0x1D1A9},\n\t{0x1D1AA, 0x1D1AD}, {0x1D1AE, 0x1D1E8}, {0x1D200, 0x1D241},\n\t{0x1D242, 0x1D244}, {0x1D245, 0x1D245}, {0x1D300, 0x1D356},\n\t{0x1D360, 0x1D371}, {0x1D400, 0x1D454}, {0x1D456, 0x1D49C},\n\t{0x1D49E, 0x1D49F}, {0x1D4A2, 0x1D4A2}, {0x1D4A5, 0x1D4A6},\n\t{0x1D4A9, 0x1D4AC}, {0x1D4AE, 0x1D4B9}, {0x1D4BB, 0x1D4BB},\n\t{0x1D4BD, 0x1D4C3}, {0x1D4C5, 0x1D505}, {0x1D507, 0x1D50A},\n\t{0x1D50D, 0x1D514}, {0x1D516, 0x1D51C}, {0x1D51E, 0x1D539},\n\t{0x1D53B, 0x1D53E}, {0x1D540, 0x1D544}, {0x1D546, 0x1D546},\n\t{0x1D54A, 0x1D550}, {0x1D552, 0x1D6A5}, {0x1D6A8, 0x1D6C0},\n\t{0x1D6C1, 0x1D6C1}, {0x1D6C2, 0x1D6DA}, {0x1D6DB, 0x1D6DB},\n\t{0x1D6DC, 0x1D6FA}, {0x1D6FB, 0x1D6FB}, {0x1D6FC, 0x1D714},\n\t{0x1D715, 0x1D715}, {0x1D716, 0x1D734}, {0x1D735, 0x1D735},\n\t{0x1D736, 0x1D74E}, {0x1D74F, 0x1D74F}, {0x1D750, 0x1D76E},\n\t{0x1D76F, 0x1D76F}, {0x1D770, 0x1D788}, {0x1D789, 0x1D789},\n\t{0x1D78A, 0x1D7A8}, {0x1D7A9, 0x1D7A9}, {0x1D7AA, 0x1D7C2},\n\t{0x1D7C3, 0x1D7C3}, {0x1D7C4, 0x1D7CB}, {0x1D7CE, 0x1D7FF},\n\t{0x1D800, 0x1D9FF}, {0x1DA00, 0x1DA36}, {0x1DA37, 0x1DA3A},\n\t{0x1DA3B, 0x1DA6C}, {0x1DA6D, 0x1DA74}, {0x1DA75, 0x1DA75},\n\t{0x1DA76, 0x1DA83}, {0x1DA84, 0x1DA84}, {0x1DA85, 0x1DA86},\n\t{0x1DA87, 0x1DA8B}, {0x1DA9B, 0x1DA9F}, {0x1DAA1, 0x1DAAF},\n\t{0x1E000, 0x1E006}, {0x1E008, 0x1E018}, {0x1E01B, 0x1E021},\n\t{0x1E023, 0x1E024}, {0x1E026, 0x1E02A}, {0x1E800, 0x1E8C4},\n\t{0x1E8C7, 0x1E8CF}, {0x1E8D0, 0x1E8D6}, {0x1E900, 0x1E943},\n\t{0x1E944, 0x1E94A}, {0x1E950, 0x1E959}, {0x1E95E, 0x1E95F},\n\t{0x1EE00, 0x1EE03}, {0x1EE05, 0x1EE1F}, {0x1EE21, 0x1EE22},\n\t{0x1EE24, 0x1EE24}, {0x1EE27, 0x1EE27}, {0x1EE29, 0x1EE32},\n\t{0x1EE34, 0x1EE37}, {0x1EE39, 0x1EE39}, {0x1EE3B, 0x1EE3B},\n\t{0x1EE42, 0x1EE42}, {0x1EE47, 0x1EE47}, {0x1EE49, 0x1EE49},\n\t{0x1EE4B, 0x1EE4B}, {0x1EE4D, 0x1EE4F}, {0x1EE51, 0x1EE52},\n\t{0x1EE54, 0x1EE54}, {0x1EE57, 0x1EE57}, {0x1EE59, 0x1EE59},\n\t{0x1EE5B, 0x1EE5B}, {0x1EE5D, 0x1EE5D}, {0x1EE5F, 0x1EE5F},\n\t{0x1EE61, 0x1EE62}, {0x1EE64, 0x1EE64}, {0x1EE67, 0x1EE6A},\n\t{0x1EE6C, 0x1EE72}, {0x1EE74, 0x1EE77}, {0x1EE79, 0x1EE7C},\n\t{0x1EE7E, 0x1EE7E}, {0x1EE80, 0x1EE89}, {0x1EE8B, 0x1EE9B},\n\t{0x1EEA1, 0x1EEA3}, {0x1EEA5, 0x1EEA9}, {0x1EEAB, 0x1EEBB},\n\t{0x1EEF0, 0x1EEF1}, {0x1F000, 0x1F003}, {0x1F005, 0x1F02B},\n\t{0x1F030, 0x1F093}, {0x1F0A0, 0x1F0AE}, {0x1F0B1, 0x1F0BF},\n\t{0x1F0C1, 0x1F0CE}, {0x1F0D1, 0x1F0F5}, {0x1F10B, 0x1F10C},\n\t{0x1F12E, 0x1F12E}, {0x1F16A, 0x1F16B}, {0x1F1E6, 0x1F1FF},\n\t{0x1F321, 0x1F32C}, {0x1F336, 0x1F336}, {0x1F37D, 0x1F37D},\n\t{0x1F394, 0x1F39F}, {0x1F3CB, 0x1F3CE}, {0x1F3D4, 0x1F3DF},\n\t{0x1F3F1, 0x1F3F3}, {0x1F3F5, 0x1F3F7}, {0x1F43F, 0x1F43F},\n\t{0x1F441, 0x1F441}, {0x1F4FD, 0x1F4FE}, {0x1F53E, 0x1F54A},\n\t{0x1F54F, 0x1F54F}, {0x1F568, 0x1F579}, {0x1F57B, 0x1F594},\n\t{0x1F597, 0x1F5A3}, {0x1F5A5, 0x1F5FA}, {0x1F650, 0x1F67F},\n\t{0x1F6C6, 0x1F6CB}, {0x1F6CD, 0x1F6CF}, {0x1F6E0, 0x1F6EA},\n\t{0x1F6F0, 0x1F6F3}, {0x1F700, 0x1F773}, {0x1F780, 0x1F7D4},\n\t{0x1F800, 0x1F80B}, {0x1F810, 0x1F847}, {0x1F850, 0x1F859},\n\t{0x1F860, 0x1F887}, {0x1F890, 0x1F8AD}, {0xE0001, 0xE0001},\n\t{0xE0020, 0xE007F},\n}\n\n// Condition have flag EastAsianWidth whether the current locale is CJK or not.\ntype Condition struct {\n\tEastAsianWidth bool\n}\n\n// NewCondition return new instance of Condition which is current locale.\nfunc NewCondition() *Condition {\n\treturn &Condition{EastAsianWidth}\n}\n\n// RuneWidth returns the number of cells in r.\n// See http://www.unicode.org/reports/tr11/\nfunc (c *Condition) RuneWidth(r rune) int {\n\tswitch {\n\tcase r < 0 || r > 0x10FFFF ||\n\t\tinTables(r, nonprint, combining, notassigned):\n\t\treturn 0\n\tcase (c.EastAsianWidth && IsAmbiguousWidth(r)) ||\n\t\tinTables(r, doublewidth, emoji):\n\t\treturn 2\n\tdefault:\n\t\treturn 1\n\t}\n}\n\n// StringWidth return width as you can see\nfunc (c *Condition) StringWidth(s string) (width int) {\n\tfor _, r := range []rune(s) {\n\t\twidth += c.RuneWidth(r)\n\t}\n\treturn width\n}\n\n// Truncate return string truncated with w cells\nfunc (c *Condition) Truncate(s string, w int, tail string) string {\n\tif c.StringWidth(s) <= w {\n\t\treturn s\n\t}\n\tr := []rune(s)\n\ttw := c.StringWidth(tail)\n\tw -= tw\n\twidth := 0\n\ti := 0\n\tfor ; i < len(r); i++ {\n\t\tcw := c.RuneWidth(r[i])\n\t\tif width+cw > w {\n\t\t\tbreak\n\t\t}\n\t\twidth += cw\n\t}\n\treturn string(r[0:i]) + tail\n}\n\n// Wrap return string wrapped with w cells\nfunc (c *Condition) Wrap(s string, w int) string {\n\twidth := 0\n\tout := \"\"\n\tfor _, r := range []rune(s) {\n\t\tcw := RuneWidth(r)\n\t\tif r == '\\n' {\n\t\t\tout += string(r)\n\t\t\twidth = 0\n\t\t\tcontinue\n\t\t} else if width+cw > w {\n\t\t\tout += \"\\n\"\n\t\t\twidth = 0\n\t\t\tout += string(r)\n\t\t\twidth += cw\n\t\t\tcontinue\n\t\t}\n\t\tout += string(r)\n\t\twidth += cw\n\t}\n\treturn out\n}\n\n// FillLeft return string filled in left by spaces in w cells\nfunc (c *Condition) FillLeft(s string, w int) string {\n\twidth := c.StringWidth(s)\n\tcount := w - width\n\tif count > 0 {\n\t\tb := make([]byte, count)\n\t\tfor i := range b {\n\t\t\tb[i] = ' '\n\t\t}\n\t\treturn string(b) + s\n\t}\n\treturn s\n}\n\n// FillRight return string filled in left by spaces in w cells\nfunc (c *Condition) FillRight(s string, w int) string {\n\twidth := c.StringWidth(s)\n\tcount := w - width\n\tif count > 0 {\n\t\tb := make([]byte, count)\n\t\tfor i := range b {\n\t\t\tb[i] = ' '\n\t\t}\n\t\treturn s + string(b)\n\t}\n\treturn s\n}\n\n// RuneWidth returns the number of cells in r.\n// See http://www.unicode.org/reports/tr11/\nfunc RuneWidth(r rune) int {\n\treturn DefaultCondition.RuneWidth(r)\n}\n\n// IsAmbiguousWidth returns whether is ambiguous width or not.\nfunc IsAmbiguousWidth(r rune) bool {\n\treturn inTables(r, private, ambiguous)\n}\n\n// IsNeutralWidth returns whether is neutral width or not.\nfunc IsNeutralWidth(r rune) bool {\n\treturn inTable(r, neutral)\n}\n\n// StringWidth return width as you can see\nfunc StringWidth(s string) (width int) {\n\treturn DefaultCondition.StringWidth(s)\n}\n\n// Truncate return string truncated with w cells\nfunc Truncate(s string, w int, tail string) string {\n\treturn DefaultCondition.Truncate(s, w, tail)\n}\n\n// Wrap return string wrapped with w cells\nfunc Wrap(s string, w int) string {\n\treturn DefaultCondition.Wrap(s, w)\n}\n\n// FillLeft return string filled in left by spaces in w cells\nfunc FillLeft(s string, w int) string {\n\treturn DefaultCondition.FillLeft(s, w)\n}\n\n// FillRight return string filled in left by spaces in w cells\nfunc FillRight(s string, w int) string {\n\treturn DefaultCondition.FillRight(s, w)\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-runewidth/runewidth_js.go",
    "content": "// +build js\n\npackage runewidth\n\nfunc IsEastAsian() bool {\n\t// TODO: Implement this for the web. Detect east asian in a compatible way, and return true.\n\treturn false\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-runewidth/runewidth_posix.go",
    "content": "// +build !windows,!js\n\npackage runewidth\n\nimport (\n\t\"os\"\n\t\"regexp\"\n\t\"strings\"\n)\n\nvar reLoc = regexp.MustCompile(`^[a-z][a-z][a-z]?(?:_[A-Z][A-Z])?\\.(.+)`)\n\nvar mblenTable = map[string]int{\n\t\"utf-8\":   6,\n\t\"utf8\":    6,\n\t\"jis\":     8,\n\t\"eucjp\":   3,\n\t\"euckr\":   2,\n\t\"euccn\":   2,\n\t\"sjis\":    2,\n\t\"cp932\":   2,\n\t\"cp51932\": 2,\n\t\"cp936\":   2,\n\t\"cp949\":   2,\n\t\"cp950\":   2,\n\t\"big5\":    2,\n\t\"gbk\":     2,\n\t\"gb2312\":  2,\n}\n\nfunc isEastAsian(locale string) bool {\n\tcharset := strings.ToLower(locale)\n\tr := reLoc.FindStringSubmatch(locale)\n\tif len(r) == 2 {\n\t\tcharset = strings.ToLower(r[1])\n\t}\n\n\tif strings.HasSuffix(charset, \"@cjk_narrow\") {\n\t\treturn false\n\t}\n\n\tfor pos, b := range []byte(charset) {\n\t\tif b == '@' {\n\t\t\tcharset = charset[:pos]\n\t\t\tbreak\n\t\t}\n\t}\n\tmax := 1\n\tif m, ok := mblenTable[charset]; ok {\n\t\tmax = m\n\t}\n\tif max > 1 && (charset[0] != 'u' ||\n\t\tstrings.HasPrefix(locale, \"ja\") ||\n\t\tstrings.HasPrefix(locale, \"ko\") ||\n\t\tstrings.HasPrefix(locale, \"zh\")) {\n\t\treturn true\n\t}\n\treturn false\n}\n\n// IsEastAsian return true if the current locale is CJK\nfunc IsEastAsian() bool {\n\tlocale := os.Getenv(\"LC_CTYPE\")\n\tif locale == \"\" {\n\t\tlocale = os.Getenv(\"LANG\")\n\t}\n\n\t// ignore C locale\n\tif locale == \"POSIX\" || locale == \"C\" {\n\t\treturn false\n\t}\n\tif len(locale) > 1 && locale[0] == 'C' && (locale[1] == '.' || locale[1] == '-') {\n\t\treturn false\n\t}\n\n\treturn isEastAsian(locale)\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-runewidth/runewidth_windows.go",
    "content": "package runewidth\n\nimport (\n\t\"syscall\"\n)\n\nvar (\n\tkernel32               = syscall.NewLazyDLL(\"kernel32\")\n\tprocGetConsoleOutputCP = kernel32.NewProc(\"GetConsoleOutputCP\")\n)\n\n// IsEastAsian return true if the current locale is CJK\nfunc IsEastAsian() bool {\n\tr1, _, _ := procGetConsoleOutputCP.Call()\n\tif r1 == 0 {\n\t\treturn false\n\t}\n\n\tswitch int(r1) {\n\tcase 932, 51932, 936, 949, 950:\n\t\treturn true\n\t}\n\n\treturn false\n}\n"
  },
  {
    "path": "vendor/github.com/mitchellh/go-homedir/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2013 Mitchell Hashimoto\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": "vendor/github.com/mitchellh/go-homedir/homedir.go",
    "content": "package homedir\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path/filepath\"\n\t\"runtime\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n)\n\n// DisableCache will disable caching of the home directory. Caching is enabled\n// by default.\nvar DisableCache bool\n\nvar homedirCache string\nvar cacheLock sync.RWMutex\n\n// Dir returns the home directory for the executing user.\n//\n// This uses an OS-specific method for discovering the home directory.\n// An error is returned if a home directory cannot be detected.\nfunc Dir() (string, error) {\n\tif !DisableCache {\n\t\tcacheLock.RLock()\n\t\tcached := homedirCache\n\t\tcacheLock.RUnlock()\n\t\tif cached != \"\" {\n\t\t\treturn cached, nil\n\t\t}\n\t}\n\n\tcacheLock.Lock()\n\tdefer cacheLock.Unlock()\n\n\tvar result string\n\tvar err error\n\tif runtime.GOOS == \"windows\" {\n\t\tresult, err = dirWindows()\n\t} else {\n\t\t// Unix-like system, so just assume Unix\n\t\tresult, err = dirUnix()\n\t}\n\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\thomedirCache = result\n\treturn result, nil\n}\n\n// Expand expands the path to include the home directory if the path\n// is prefixed with `~`. If it isn't prefixed with `~`, the path is\n// returned as-is.\nfunc Expand(path string) (string, error) {\n\tif len(path) == 0 {\n\t\treturn path, nil\n\t}\n\n\tif path[0] != '~' {\n\t\treturn path, nil\n\t}\n\n\tif len(path) > 1 && path[1] != '/' && path[1] != '\\\\' {\n\t\treturn \"\", errors.New(\"cannot expand user-specific home dir\")\n\t}\n\n\tdir, err := Dir()\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\n\treturn filepath.Join(dir, path[1:]), nil\n}\n\nfunc dirUnix() (string, error) {\n\t// First prefer the HOME environmental variable\n\tif home := os.Getenv(\"HOME\"); home != \"\" {\n\t\treturn home, nil\n\t}\n\n\t// If that fails, try getent\n\tvar stdout bytes.Buffer\n\tcmd := exec.Command(\"getent\", \"passwd\", strconv.Itoa(os.Getuid()))\n\tcmd.Stdout = &stdout\n\tif err := cmd.Run(); err != nil {\n\t\t// If the error is ErrNotFound, we ignore it. Otherwise, return it.\n\t\tif err != exec.ErrNotFound {\n\t\t\treturn \"\", err\n\t\t}\n\t} else {\n\t\tif passwd := strings.TrimSpace(stdout.String()); passwd != \"\" {\n\t\t\t// username:password:uid:gid:gecos:home:shell\n\t\t\tpasswdParts := strings.SplitN(passwd, \":\", 7)\n\t\t\tif len(passwdParts) > 5 {\n\t\t\t\treturn passwdParts[5], nil\n\t\t\t}\n\t\t}\n\t}\n\n\t// If all else fails, try the shell\n\tstdout.Reset()\n\tcmd = exec.Command(\"sh\", \"-c\", \"cd && pwd\")\n\tcmd.Stdout = &stdout\n\tif err := cmd.Run(); err != nil {\n\t\treturn \"\", err\n\t}\n\n\tresult := strings.TrimSpace(stdout.String())\n\tif result == \"\" {\n\t\treturn \"\", errors.New(\"blank output when reading home directory\")\n\t}\n\n\treturn result, nil\n}\n\nfunc dirWindows() (string, error) {\n\t// First prefer the HOME environmental variable\n\tif home := os.Getenv(\"HOME\"); home != \"\" {\n\t\treturn home, nil\n\t}\n\n\tdrive := os.Getenv(\"HOMEDRIVE\")\n\tpath := os.Getenv(\"HOMEPATH\")\n\thome := drive + path\n\tif drive == \"\" || path == \"\" {\n\t\thome = os.Getenv(\"USERPROFILE\")\n\t}\n\tif home == \"\" {\n\t\treturn \"\", errors.New(\"HOMEDRIVE, HOMEPATH, and USERPROFILE are blank\")\n\t}\n\n\treturn home, nil\n}\n"
  },
  {
    "path": "vendor/github.com/olekukonko/tablewriter/LICENCE.md",
    "content": "Copyright (C) 2014 by Oleku Konko\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."
  },
  {
    "path": "vendor/github.com/olekukonko/tablewriter/csv.go",
    "content": "// Copyright 2014 Oleku Konko All rights reserved.\n// Use of this source code is governed by a MIT\n// license that can be found in the LICENSE file.\n\n// This module is a Table Writer  API for the Go Programming Language.\n// The protocols were written in pure Go and works on windows and unix systems\n\npackage tablewriter\n\nimport (\n\t\"encoding/csv\"\n\t\"io\"\n\t\"os\"\n)\n\n// Start A new table by importing from a CSV file\n// Takes io.Writer and csv File name\nfunc NewCSV(writer io.Writer, fileName string, hasHeader bool) (*Table, error) {\n\tfile, err := os.Open(fileName)\n\tif err != nil {\n\t\treturn &Table{}, err\n\t}\n\tdefer file.Close()\n\tcsvReader := csv.NewReader(file)\n\tt, err := NewCSVReader(writer, csvReader, hasHeader)\n\treturn t, err\n}\n\n//  Start a New Table Writer with csv.Reader\n// This enables customisation such as reader.Comma = ';'\n// See http://golang.org/src/pkg/encoding/csv/reader.go?s=3213:3671#L94\nfunc NewCSVReader(writer io.Writer, csvReader *csv.Reader, hasHeader bool) (*Table, error) {\n\tt := NewWriter(writer)\n\tif hasHeader {\n\t\t// Read the first row\n\t\theaders, err := csvReader.Read()\n\t\tif err != nil {\n\t\t\treturn &Table{}, err\n\t\t}\n\t\tt.SetHeader(headers)\n\t}\n\tfor {\n\t\trecord, err := csvReader.Read()\n\t\tif err == io.EOF {\n\t\t\tbreak\n\t\t} else if err != nil {\n\t\t\treturn &Table{}, err\n\t\t}\n\t\tt.Append(record)\n\t}\n\treturn t, nil\n}\n"
  },
  {
    "path": "vendor/github.com/olekukonko/tablewriter/table.go",
    "content": "// Copyright 2014 Oleku Konko All rights reserved.\n// Use of this source code is governed by a MIT\n// license that can be found in the LICENSE file.\n\n// This module is a Table Writer  API for the Go Programming Language.\n// The protocols were written in pure Go and works on windows and unix systems\n\n// Create & Generate text based table\npackage tablewriter\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"regexp\"\n\t\"strings\"\n)\n\nconst (\n\tMAX_ROW_WIDTH = 30\n)\n\nconst (\n\tCENTER  = \"+\"\n\tROW     = \"-\"\n\tCOLUMN  = \"|\"\n\tSPACE   = \" \"\n\tNEWLINE = \"\\n\"\n)\n\nconst (\n\tALIGN_DEFAULT = iota\n\tALIGN_CENTER\n\tALIGN_RIGHT\n\tALIGN_LEFT\n)\n\nvar (\n\tdecimal = regexp.MustCompile(`^-*\\d*\\.?\\d*$`)\n\tpercent = regexp.MustCompile(`^-*\\d*\\.?\\d*$%$`)\n)\n\ntype Border struct {\n\tLeft   bool\n\tRight  bool\n\tTop    bool\n\tBottom bool\n}\n\ntype Table struct {\n\tout            io.Writer\n\trows           [][]string\n\tlines          [][][]string\n\tcs             map[int]int\n\trs             map[int]int\n\theaders        [][]string\n\tfooters        [][]string\n\tcaption        bool\n\tcaptionText    string\n\tautoFmt        bool\n\tautoWrap       bool\n\treflowText     bool\n\tmW             int\n\tpCenter        string\n\tpRow           string\n\tpColumn        string\n\ttColumn        int\n\ttRow           int\n\thAlign         int\n\tfAlign         int\n\talign          int\n\tnewLine        string\n\trowLine        bool\n\tautoMergeCells bool\n\thdrLine        bool\n\tborders        Border\n\tcolSize        int\n\theaderParams   []string\n\tcolumnsParams  []string\n\tfooterParams   []string\n\tcolumnsAlign   []int\n}\n\n// Start New Table\n// Take io.Writer Directly\nfunc NewWriter(writer io.Writer) *Table {\n\tt := &Table{\n\t\tout:           writer,\n\t\trows:          [][]string{},\n\t\tlines:         [][][]string{},\n\t\tcs:            make(map[int]int),\n\t\trs:            make(map[int]int),\n\t\theaders:       [][]string{},\n\t\tfooters:       [][]string{},\n\t\tcaption:       false,\n\t\tcaptionText:   \"Table caption.\",\n\t\tautoFmt:       true,\n\t\tautoWrap:      true,\n\t\treflowText:    true,\n\t\tmW:            MAX_ROW_WIDTH,\n\t\tpCenter:       CENTER,\n\t\tpRow:          ROW,\n\t\tpColumn:       COLUMN,\n\t\ttColumn:       -1,\n\t\ttRow:          -1,\n\t\thAlign:        ALIGN_DEFAULT,\n\t\tfAlign:        ALIGN_DEFAULT,\n\t\talign:         ALIGN_DEFAULT,\n\t\tnewLine:       NEWLINE,\n\t\trowLine:       false,\n\t\thdrLine:       true,\n\t\tborders:       Border{Left: true, Right: true, Bottom: true, Top: true},\n\t\tcolSize:       -1,\n\t\theaderParams:  []string{},\n\t\tcolumnsParams: []string{},\n\t\tfooterParams:  []string{},\n\t\tcolumnsAlign:  []int{}}\n\treturn t\n}\n\n// Render table output\nfunc (t *Table) Render() {\n\tif t.borders.Top {\n\t\tt.printLine(true)\n\t}\n\tt.printHeading()\n\tif t.autoMergeCells {\n\t\tt.printRowsMergeCells()\n\t} else {\n\t\tt.printRows()\n\t}\n\tif !t.rowLine && t.borders.Bottom {\n\t\tt.printLine(true)\n\t}\n\tt.printFooter()\n\n\tif t.caption {\n\t\tt.printCaption()\n\t}\n}\n\nconst (\n\theaderRowIdx = -1\n\tfooterRowIdx = -2\n)\n\n// Set table header\nfunc (t *Table) SetHeader(keys []string) {\n\tt.colSize = len(keys)\n\tfor i, v := range keys {\n\t\tlines := t.parseDimension(v, i, headerRowIdx)\n\t\tt.headers = append(t.headers, lines)\n\t}\n}\n\n// Set table Footer\nfunc (t *Table) SetFooter(keys []string) {\n\t//t.colSize = len(keys)\n\tfor i, v := range keys {\n\t\tlines := t.parseDimension(v, i, footerRowIdx)\n\t\tt.footers = append(t.footers, lines)\n\t}\n}\n\n// Set table Caption\nfunc (t *Table) SetCaption(caption bool, captionText ...string) {\n\tt.caption = caption\n\tif len(captionText) == 1 {\n\t\tt.captionText = captionText[0]\n\t}\n}\n\n// Turn header autoformatting on/off. Default is on (true).\nfunc (t *Table) SetAutoFormatHeaders(auto bool) {\n\tt.autoFmt = auto\n}\n\n// Turn automatic multiline text adjustment on/off. Default is on (true).\nfunc (t *Table) SetAutoWrapText(auto bool) {\n\tt.autoWrap = auto\n}\n\n// Turn automatic reflowing of multiline text when rewrapping. Default is on (true).\nfunc (t *Table) SetReflowDuringAutoWrap(auto bool) {\n\tt.reflowText = auto\n}\n\n// Set the Default column width\nfunc (t *Table) SetColWidth(width int) {\n\tt.mW = width\n}\n\n// Set the minimal width for a column\nfunc (t *Table) SetColMinWidth(column int, width int) {\n\tt.cs[column] = width\n}\n\n// Set the Column Separator\nfunc (t *Table) SetColumnSeparator(sep string) {\n\tt.pColumn = sep\n}\n\n// Set the Row Separator\nfunc (t *Table) SetRowSeparator(sep string) {\n\tt.pRow = sep\n}\n\n// Set the center Separator\nfunc (t *Table) SetCenterSeparator(sep string) {\n\tt.pCenter = sep\n}\n\n// Set Header Alignment\nfunc (t *Table) SetHeaderAlignment(hAlign int) {\n\tt.hAlign = hAlign\n}\n\n// Set Footer Alignment\nfunc (t *Table) SetFooterAlignment(fAlign int) {\n\tt.fAlign = fAlign\n}\n\n// Set Table Alignment\nfunc (t *Table) SetAlignment(align int) {\n\tt.align = align\n}\n\nfunc (t *Table) SetColumnAlignment(keys []int) {\n\tfor _, v := range keys {\n\t\tswitch v {\n\t\tcase ALIGN_CENTER:\n\t\t\tbreak\n\t\tcase ALIGN_LEFT:\n\t\t\tbreak\n\t\tcase ALIGN_RIGHT:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tv = ALIGN_DEFAULT\n\t\t}\n\t\tt.columnsAlign = append(t.columnsAlign, v)\n\t}\n}\n\n// Set New Line\nfunc (t *Table) SetNewLine(nl string) {\n\tt.newLine = nl\n}\n\n// Set Header Line\n// This would enable / disable a line after the header\nfunc (t *Table) SetHeaderLine(line bool) {\n\tt.hdrLine = line\n}\n\n// Set Row Line\n// This would enable / disable a line on each row of the table\nfunc (t *Table) SetRowLine(line bool) {\n\tt.rowLine = line\n}\n\n// Set Auto Merge Cells\n// This would enable / disable the merge of cells with identical values\nfunc (t *Table) SetAutoMergeCells(auto bool) {\n\tt.autoMergeCells = auto\n}\n\n// Set Table Border\n// This would enable / disable line around the table\nfunc (t *Table) SetBorder(border bool) {\n\tt.SetBorders(Border{border, border, border, border})\n}\n\nfunc (t *Table) SetBorders(border Border) {\n\tt.borders = border\n}\n\n// Append row to table\nfunc (t *Table) Append(row []string) {\n\trowSize := len(t.headers)\n\tif rowSize > t.colSize {\n\t\tt.colSize = rowSize\n\t}\n\n\tn := len(t.lines)\n\tline := [][]string{}\n\tfor i, v := range row {\n\n\t\t// Detect string  width\n\t\t// Detect String height\n\t\t// Break strings into words\n\t\tout := t.parseDimension(v, i, n)\n\n\t\t// Append broken words\n\t\tline = append(line, out)\n\t}\n\tt.lines = append(t.lines, line)\n}\n\n// Allow Support for Bulk Append\n// Eliminates repeated for loops\nfunc (t *Table) AppendBulk(rows [][]string) {\n\tfor _, row := range rows {\n\t\tt.Append(row)\n\t}\n}\n\n// NumLines to get the number of lines\nfunc (t *Table) NumLines() int {\n\treturn len(t.lines)\n}\n\n// Clear rows\nfunc (t *Table) ClearRows() {\n\tt.lines = [][][]string{}\n}\n\n// Clear footer\nfunc (t *Table) ClearFooter() {\n\tt.footers = [][]string{}\n}\n\n// Print line based on row width\nfunc (t *Table) printLine(nl bool) {\n\tfmt.Fprint(t.out, t.pCenter)\n\tfor i := 0; i < len(t.cs); i++ {\n\t\tv := t.cs[i]\n\t\tfmt.Fprintf(t.out, \"%s%s%s%s\",\n\t\t\tt.pRow,\n\t\t\tstrings.Repeat(string(t.pRow), v),\n\t\t\tt.pRow,\n\t\t\tt.pCenter)\n\t}\n\tif nl {\n\t\tfmt.Fprint(t.out, t.newLine)\n\t}\n}\n\n// Print line based on row width with our without cell separator\nfunc (t *Table) printLineOptionalCellSeparators(nl bool, displayCellSeparator []bool) {\n\tfmt.Fprint(t.out, t.pCenter)\n\tfor i := 0; i < len(t.cs); i++ {\n\t\tv := t.cs[i]\n\t\tif i > len(displayCellSeparator) || displayCellSeparator[i] {\n\t\t\t// Display the cell separator\n\t\t\tfmt.Fprintf(t.out, \"%s%s%s%s\",\n\t\t\t\tt.pRow,\n\t\t\t\tstrings.Repeat(string(t.pRow), v),\n\t\t\t\tt.pRow,\n\t\t\t\tt.pCenter)\n\t\t} else {\n\t\t\t// Don't display the cell separator for this cell\n\t\t\tfmt.Fprintf(t.out, \"%s%s\",\n\t\t\t\tstrings.Repeat(\" \", v+2),\n\t\t\t\tt.pCenter)\n\t\t}\n\t}\n\tif nl {\n\t\tfmt.Fprint(t.out, t.newLine)\n\t}\n}\n\n// Return the PadRight function if align is left, PadLeft if align is right,\n// and Pad by default\nfunc pad(align int) func(string, string, int) string {\n\tpadFunc := Pad\n\tswitch align {\n\tcase ALIGN_LEFT:\n\t\tpadFunc = PadRight\n\tcase ALIGN_RIGHT:\n\t\tpadFunc = PadLeft\n\t}\n\treturn padFunc\n}\n\n// Print heading information\nfunc (t *Table) printHeading() {\n\t// Check if headers is available\n\tif len(t.headers) < 1 {\n\t\treturn\n\t}\n\n\t// Identify last column\n\tend := len(t.cs) - 1\n\n\t// Get pad function\n\tpadFunc := pad(t.hAlign)\n\n\t// Checking for ANSI escape sequences for header\n\tis_esc_seq := false\n\tif len(t.headerParams) > 0 {\n\t\tis_esc_seq = true\n\t}\n\n\t// Maximum height.\n\tmax := t.rs[headerRowIdx]\n\n\t// Print Heading\n\tfor x := 0; x < max; x++ {\n\t\t// Check if border is set\n\t\t// Replace with space if not set\n\t\tfmt.Fprint(t.out, ConditionString(t.borders.Left, t.pColumn, SPACE))\n\n\t\tfor y := 0; y <= end; y++ {\n\t\t\tv := t.cs[y]\n\t\t\th := \"\"\n\t\t\tif y < len(t.headers) && x < len(t.headers[y]) {\n\t\t\t\th = t.headers[y][x]\n\t\t\t}\n\t\t\tif t.autoFmt {\n\t\t\t\th = Title(h)\n\t\t\t}\n\t\t\tpad := ConditionString((y == end && !t.borders.Left), SPACE, t.pColumn)\n\n\t\t\tif is_esc_seq {\n\t\t\t\tfmt.Fprintf(t.out, \" %s %s\",\n\t\t\t\t\tformat(padFunc(h, SPACE, v),\n\t\t\t\t\t\tt.headerParams[y]), pad)\n\t\t\t} else {\n\t\t\t\tfmt.Fprintf(t.out, \" %s %s\",\n\t\t\t\t\tpadFunc(h, SPACE, v),\n\t\t\t\t\tpad)\n\t\t\t}\n\t\t}\n\t\t// Next line\n\t\tfmt.Fprint(t.out, t.newLine)\n\t}\n\tif t.hdrLine {\n\t\tt.printLine(true)\n\t}\n}\n\n// Print heading information\nfunc (t *Table) printFooter() {\n\t// Check if headers is available\n\tif len(t.footers) < 1 {\n\t\treturn\n\t}\n\n\t// Only print line if border is not set\n\tif !t.borders.Bottom {\n\t\tt.printLine(true)\n\t}\n\n\t// Identify last column\n\tend := len(t.cs) - 1\n\n\t// Get pad function\n\tpadFunc := pad(t.fAlign)\n\n\t// Checking for ANSI escape sequences for header\n\tis_esc_seq := false\n\tif len(t.footerParams) > 0 {\n\t\tis_esc_seq = true\n\t}\n\n\t// Maximum height.\n\tmax := t.rs[footerRowIdx]\n\n\t// Print Footer\n\terasePad := make([]bool, len(t.footers))\n\tfor x := 0; x < max; x++ {\n\t\t// Check if border is set\n\t\t// Replace with space if not set\n\t\tfmt.Fprint(t.out, ConditionString(t.borders.Bottom, t.pColumn, SPACE))\n\n\t\tfor y := 0; y <= end; y++ {\n\t\t\tv := t.cs[y]\n\t\t\tf := \"\"\n\t\t\tif y < len(t.footers) && x < len(t.footers[y]) {\n\t\t\t\tf = t.footers[y][x]\n\t\t\t}\n\t\t\tif t.autoFmt {\n\t\t\t\tf = Title(f)\n\t\t\t}\n\t\t\tpad := ConditionString((y == end && !t.borders.Top), SPACE, t.pColumn)\n\n\t\t\tif erasePad[y] || (x == 0 && len(f) == 0) {\n\t\t\t\tpad = SPACE\n\t\t\t\terasePad[y] = true\n\t\t\t}\n\n\t\t\tif is_esc_seq {\n\t\t\t\tfmt.Fprintf(t.out, \" %s %s\",\n\t\t\t\t\tformat(padFunc(f, SPACE, v),\n\t\t\t\t\t\tt.footerParams[y]), pad)\n\t\t\t} else {\n\t\t\t\tfmt.Fprintf(t.out, \" %s %s\",\n\t\t\t\t\tpadFunc(f, SPACE, v),\n\t\t\t\t\tpad)\n\t\t\t}\n\n\t\t\t//fmt.Fprintf(t.out, \" %s %s\",\n\t\t\t//\tpadFunc(f, SPACE, v),\n\t\t\t//\tpad)\n\t\t}\n\t\t// Next line\n\t\tfmt.Fprint(t.out, t.newLine)\n\t\t//t.printLine(true)\n\t}\n\n\thasPrinted := false\n\n\tfor i := 0; i <= end; i++ {\n\t\tv := t.cs[i]\n\t\tpad := t.pRow\n\t\tcenter := t.pCenter\n\t\tlength := len(t.footers[i][0])\n\n\t\tif length > 0 {\n\t\t\thasPrinted = true\n\t\t}\n\n\t\t// Set center to be space if length is 0\n\t\tif length == 0 && !t.borders.Right {\n\t\t\tcenter = SPACE\n\t\t}\n\n\t\t// Print first junction\n\t\tif i == 0 {\n\t\t\tfmt.Fprint(t.out, center)\n\t\t}\n\n\t\t// Pad With space of length is 0\n\t\tif length == 0 {\n\t\t\tpad = SPACE\n\t\t}\n\t\t// Ignore left space of it has printed before\n\t\tif hasPrinted || t.borders.Left {\n\t\t\tpad = t.pRow\n\t\t\tcenter = t.pCenter\n\t\t}\n\n\t\t// Change Center start position\n\t\tif center == SPACE {\n\t\t\tif i < end && len(t.footers[i+1][0]) != 0 {\n\t\t\t\tcenter = t.pCenter\n\t\t\t}\n\t\t}\n\n\t\t// Print the footer\n\t\tfmt.Fprintf(t.out, \"%s%s%s%s\",\n\t\t\tpad,\n\t\t\tstrings.Repeat(string(pad), v),\n\t\t\tpad,\n\t\t\tcenter)\n\n\t}\n\n\tfmt.Fprint(t.out, t.newLine)\n}\n\n// Print caption text\nfunc (t Table) printCaption() {\n\twidth := t.getTableWidth()\n\tparagraph, _ := WrapString(t.captionText, width)\n\tfor linecount := 0; linecount < len(paragraph); linecount++ {\n\t\tfmt.Fprintln(t.out, paragraph[linecount])\n\t}\n}\n\n// Calculate the total number of characters in a row\nfunc (t Table) getTableWidth() int {\n\tvar chars int\n\tfor _, v := range t.cs {\n\t\tchars += v\n\t}\n\n\t// Add chars, spaces, seperators to calculate the total width of the table.\n\t// ncols := t.colSize\n\t// spaces := ncols * 2\n\t// seps := ncols + 1\n\n\treturn (chars + (3 * t.colSize) + 2)\n}\n\nfunc (t Table) printRows() {\n\tfor i, lines := range t.lines {\n\t\tt.printRow(lines, i)\n\t}\n}\n\nfunc (t *Table) fillAlignment(num int) {\n\tif len(t.columnsAlign) < num {\n\t\tt.columnsAlign = make([]int, num)\n\t\tfor i := range t.columnsAlign {\n\t\t\tt.columnsAlign[i] = t.align\n\t\t}\n\t}\n}\n\n// Print Row Information\n// Adjust column alignment based on type\n\nfunc (t *Table) printRow(columns [][]string, rowIdx int) {\n\t// Get Maximum Height\n\tmax := t.rs[rowIdx]\n\ttotal := len(columns)\n\n\t// TODO Fix uneven col size\n\t// if total < t.colSize {\n\t//\tfor n := t.colSize - total; n < t.colSize ; n++ {\n\t//\t\tcolumns = append(columns, []string{SPACE})\n\t//\t\tt.cs[n] = t.mW\n\t//\t}\n\t//}\n\n\t// Pad Each Height\n\tpads := []int{}\n\n\t// Checking for ANSI escape sequences for columns\n\tis_esc_seq := false\n\tif len(t.columnsParams) > 0 {\n\t\tis_esc_seq = true\n\t}\n\tt.fillAlignment(total)\n\n\tfor i, line := range columns {\n\t\tlength := len(line)\n\t\tpad := max - length\n\t\tpads = append(pads, pad)\n\t\tfor n := 0; n < pad; n++ {\n\t\t\tcolumns[i] = append(columns[i], \"  \")\n\t\t}\n\t}\n\t//fmt.Println(max, \"\\n\")\n\tfor x := 0; x < max; x++ {\n\t\tfor y := 0; y < total; y++ {\n\n\t\t\t// Check if border is set\n\t\t\tfmt.Fprint(t.out, ConditionString((!t.borders.Left && y == 0), SPACE, t.pColumn))\n\n\t\t\tfmt.Fprintf(t.out, SPACE)\n\t\t\tstr := columns[y][x]\n\n\t\t\t// Embedding escape sequence with column value\n\t\t\tif is_esc_seq {\n\t\t\t\tstr = format(str, t.columnsParams[y])\n\t\t\t}\n\n\t\t\t// This would print alignment\n\t\t\t// Default alignment  would use multiple configuration\n\t\t\tswitch t.columnsAlign[y] {\n\t\t\tcase ALIGN_CENTER: //\n\t\t\t\tfmt.Fprintf(t.out, \"%s\", Pad(str, SPACE, t.cs[y]))\n\t\t\tcase ALIGN_RIGHT:\n\t\t\t\tfmt.Fprintf(t.out, \"%s\", PadLeft(str, SPACE, t.cs[y]))\n\t\t\tcase ALIGN_LEFT:\n\t\t\t\tfmt.Fprintf(t.out, \"%s\", PadRight(str, SPACE, t.cs[y]))\n\t\t\tdefault:\n\t\t\t\tif decimal.MatchString(strings.TrimSpace(str)) || percent.MatchString(strings.TrimSpace(str)) {\n\t\t\t\t\tfmt.Fprintf(t.out, \"%s\", PadLeft(str, SPACE, t.cs[y]))\n\t\t\t\t} else {\n\t\t\t\t\tfmt.Fprintf(t.out, \"%s\", PadRight(str, SPACE, t.cs[y]))\n\n\t\t\t\t\t// TODO Custom alignment per column\n\t\t\t\t\t//if max == 1 || pads[y] > 0 {\n\t\t\t\t\t//\tfmt.Fprintf(t.out, \"%s\", Pad(str, SPACE, t.cs[y]))\n\t\t\t\t\t//} else {\n\t\t\t\t\t//\tfmt.Fprintf(t.out, \"%s\", PadRight(str, SPACE, t.cs[y]))\n\t\t\t\t\t//}\n\n\t\t\t\t}\n\t\t\t}\n\t\t\tfmt.Fprintf(t.out, SPACE)\n\t\t}\n\t\t// Check if border is set\n\t\t// Replace with space if not set\n\t\tfmt.Fprint(t.out, ConditionString(t.borders.Left, t.pColumn, SPACE))\n\t\tfmt.Fprint(t.out, t.newLine)\n\t}\n\n\tif t.rowLine {\n\t\tt.printLine(true)\n\t}\n}\n\n// Print the rows of the table and merge the cells that are identical\nfunc (t *Table) printRowsMergeCells() {\n\tvar previousLine []string\n\tvar displayCellBorder []bool\n\tvar tmpWriter bytes.Buffer\n\tfor i, lines := range t.lines {\n\t\t// We store the display of the current line in a tmp writer, as we need to know which border needs to be print above\n\t\tpreviousLine, displayCellBorder = t.printRowMergeCells(&tmpWriter, lines, i, previousLine)\n\t\tif i > 0 { //We don't need to print borders above first line\n\t\t\tif t.rowLine {\n\t\t\t\tt.printLineOptionalCellSeparators(true, displayCellBorder)\n\t\t\t}\n\t\t}\n\t\ttmpWriter.WriteTo(t.out)\n\t}\n\t//Print the end of the table\n\tif t.rowLine {\n\t\tt.printLine(true)\n\t}\n}\n\n// Print Row Information to a writer and merge identical cells.\n// Adjust column alignment based on type\n\nfunc (t *Table) printRowMergeCells(writer io.Writer, columns [][]string, rowIdx int, previousLine []string) ([]string, []bool) {\n\t// Get Maximum Height\n\tmax := t.rs[rowIdx]\n\ttotal := len(columns)\n\n\t// Pad Each Height\n\tpads := []int{}\n\n\tfor i, line := range columns {\n\t\tlength := len(line)\n\t\tpad := max - length\n\t\tpads = append(pads, pad)\n\t\tfor n := 0; n < pad; n++ {\n\t\t\tcolumns[i] = append(columns[i], \"  \")\n\t\t}\n\t}\n\n\tvar displayCellBorder []bool\n\tt.fillAlignment(total)\n\tfor x := 0; x < max; x++ {\n\t\tfor y := 0; y < total; y++ {\n\n\t\t\t// Check if border is set\n\t\t\tfmt.Fprint(writer, ConditionString((!t.borders.Left && y == 0), SPACE, t.pColumn))\n\n\t\t\tfmt.Fprintf(writer, SPACE)\n\n\t\t\tstr := columns[y][x]\n\n\t\t\tif t.autoMergeCells {\n\t\t\t\t//Store the full line to merge mutli-lines cells\n\t\t\t\tfullLine := strings.Join(columns[y], \" \")\n\t\t\t\tif len(previousLine) > y && fullLine == previousLine[y] && fullLine != \"\" {\n\t\t\t\t\t// If this cell is identical to the one above but not empty, we don't display the border and keep the cell empty.\n\t\t\t\t\tdisplayCellBorder = append(displayCellBorder, false)\n\t\t\t\t\tstr = \"\"\n\t\t\t\t} else {\n\t\t\t\t\t// First line or different content, keep the content and print the cell border\n\t\t\t\t\tdisplayCellBorder = append(displayCellBorder, true)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// This would print alignment\n\t\t\t// Default alignment  would use multiple configuration\n\t\t\tswitch t.columnsAlign[y] {\n\t\t\tcase ALIGN_CENTER: //\n\t\t\t\tfmt.Fprintf(writer, \"%s\", Pad(str, SPACE, t.cs[y]))\n\t\t\tcase ALIGN_RIGHT:\n\t\t\t\tfmt.Fprintf(writer, \"%s\", PadLeft(str, SPACE, t.cs[y]))\n\t\t\tcase ALIGN_LEFT:\n\t\t\t\tfmt.Fprintf(writer, \"%s\", PadRight(str, SPACE, t.cs[y]))\n\t\t\tdefault:\n\t\t\t\tif decimal.MatchString(strings.TrimSpace(str)) || percent.MatchString(strings.TrimSpace(str)) {\n\t\t\t\t\tfmt.Fprintf(writer, \"%s\", PadLeft(str, SPACE, t.cs[y]))\n\t\t\t\t} else {\n\t\t\t\t\tfmt.Fprintf(writer, \"%s\", PadRight(str, SPACE, t.cs[y]))\n\t\t\t\t}\n\t\t\t}\n\t\t\tfmt.Fprintf(writer, SPACE)\n\t\t}\n\t\t// Check if border is set\n\t\t// Replace with space if not set\n\t\tfmt.Fprint(writer, ConditionString(t.borders.Left, t.pColumn, SPACE))\n\t\tfmt.Fprint(writer, t.newLine)\n\t}\n\n\t//The new previous line is the current one\n\tpreviousLine = make([]string, total)\n\tfor y := 0; y < total; y++ {\n\t\tpreviousLine[y] = strings.Join(columns[y], \" \") //Store the full line for multi-lines cells\n\t}\n\t//Returns the newly added line and wether or not a border should be displayed above.\n\treturn previousLine, displayCellBorder\n}\n\nfunc (t *Table) parseDimension(str string, colKey, rowKey int) []string {\n\tvar (\n\t\traw      []string\n\t\tmaxWidth int\n\t)\n\n\traw = getLines(str)\n\tmaxWidth = 0\n\tfor _, line := range raw {\n\t\tif w := DisplayWidth(line); w > maxWidth {\n\t\t\tmaxWidth = w\n\t\t}\n\t}\n\n\t// If wrapping, ensure that all paragraphs in the cell fit in the\n\t// specified width.\n\tif t.autoWrap {\n\t\t// If there's a maximum allowed width for wrapping, use that.\n\t\tif maxWidth > t.mW {\n\t\t\tmaxWidth = t.mW\n\t\t}\n\n\t\t// In the process of doing so, we need to recompute maxWidth. This\n\t\t// is because perhaps a word in the cell is longer than the\n\t\t// allowed maximum width in t.mW.\n\t\tnewMaxWidth := maxWidth\n\t\tnewRaw := make([]string, 0, len(raw))\n\n\t\tif t.reflowText {\n\t\t\t// Make a single paragraph of everything.\n\t\t\traw = []string{strings.Join(raw, \" \")}\n\t\t}\n\t\tfor i, para := range raw {\n\t\t\tparaLines, _ := WrapString(para, maxWidth)\n\t\t\tfor _, line := range paraLines {\n\t\t\t\tif w := DisplayWidth(line); w > newMaxWidth {\n\t\t\t\t\tnewMaxWidth = w\n\t\t\t\t}\n\t\t\t}\n\t\t\tif i > 0 {\n\t\t\t\tnewRaw = append(newRaw, \" \")\n\t\t\t}\n\t\t\tnewRaw = append(newRaw, paraLines...)\n\t\t}\n\t\traw = newRaw\n\t\tmaxWidth = newMaxWidth\n\t}\n\n\t// Store the new known maximum width.\n\tv, ok := t.cs[colKey]\n\tif !ok || v < maxWidth || v == 0 {\n\t\tt.cs[colKey] = maxWidth\n\t}\n\n\t// Remember the number of lines for the row printer.\n\th := len(raw)\n\tv, ok = t.rs[rowKey]\n\n\tif !ok || v < h || v == 0 {\n\t\tt.rs[rowKey] = h\n\t}\n\t//fmt.Printf(\"Raw %+v %d\\n\", raw, len(raw))\n\treturn raw\n}\n"
  },
  {
    "path": "vendor/github.com/olekukonko/tablewriter/table_with_color.go",
    "content": "package tablewriter\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n)\n\nconst ESC = \"\\033\"\nconst SEP = \";\"\n\nconst (\n\tBgBlackColor int = iota + 40\n\tBgRedColor\n\tBgGreenColor\n\tBgYellowColor\n\tBgBlueColor\n\tBgMagentaColor\n\tBgCyanColor\n\tBgWhiteColor\n)\n\nconst (\n\tFgBlackColor int = iota + 30\n\tFgRedColor\n\tFgGreenColor\n\tFgYellowColor\n\tFgBlueColor\n\tFgMagentaColor\n\tFgCyanColor\n\tFgWhiteColor\n)\n\nconst (\n\tBgHiBlackColor int = iota + 100\n\tBgHiRedColor\n\tBgHiGreenColor\n\tBgHiYellowColor\n\tBgHiBlueColor\n\tBgHiMagentaColor\n\tBgHiCyanColor\n\tBgHiWhiteColor\n)\n\nconst (\n\tFgHiBlackColor int = iota + 90\n\tFgHiRedColor\n\tFgHiGreenColor\n\tFgHiYellowColor\n\tFgHiBlueColor\n\tFgHiMagentaColor\n\tFgHiCyanColor\n\tFgHiWhiteColor\n)\n\nconst (\n\tNormal          = 0\n\tBold            = 1\n\tUnderlineSingle = 4\n\tItalic\n)\n\ntype Colors []int\n\nfunc startFormat(seq string) string {\n\treturn fmt.Sprintf(\"%s[%sm\", ESC, seq)\n}\n\nfunc stopFormat() string {\n\treturn fmt.Sprintf(\"%s[%dm\", ESC, Normal)\n}\n\n// Making the SGR (Select Graphic Rendition) sequence.\nfunc makeSequence(codes []int) string {\n\tcodesInString := []string{}\n\tfor _, code := range codes {\n\t\tcodesInString = append(codesInString, strconv.Itoa(code))\n\t}\n\treturn strings.Join(codesInString, SEP)\n}\n\n// Adding ANSI escape  sequences before and after string\nfunc format(s string, codes interface{}) string {\n\tvar seq string\n\n\tswitch v := codes.(type) {\n\n\tcase string:\n\t\tseq = v\n\tcase []int:\n\t\tseq = makeSequence(v)\n\tdefault:\n\t\treturn s\n\t}\n\n\tif len(seq) == 0 {\n\t\treturn s\n\t}\n\treturn startFormat(seq) + s + stopFormat()\n}\n\n// Adding header colors (ANSI codes)\nfunc (t *Table) SetHeaderColor(colors ...Colors) {\n\tif t.colSize != len(colors) {\n\t\tpanic(\"Number of header colors must be equal to number of headers.\")\n\t}\n\tfor i := 0; i < len(colors); i++ {\n\t\tt.headerParams = append(t.headerParams, makeSequence(colors[i]))\n\t}\n}\n\n// Adding column colors (ANSI codes)\nfunc (t *Table) SetColumnColor(colors ...Colors) {\n\tif t.colSize != len(colors) {\n\t\tpanic(\"Number of column colors must be equal to number of headers.\")\n\t}\n\tfor i := 0; i < len(colors); i++ {\n\t\tt.columnsParams = append(t.columnsParams, makeSequence(colors[i]))\n\t}\n}\n\n// Adding column colors (ANSI codes)\nfunc (t *Table) SetFooterColor(colors ...Colors) {\n\tif len(t.footers) != len(colors) {\n\t\tpanic(\"Number of footer colors must be equal to number of footer.\")\n\t}\n\tfor i := 0; i < len(colors); i++ {\n\t\tt.footerParams = append(t.footerParams, makeSequence(colors[i]))\n\t}\n}\n\nfunc Color(colors ...int) []int {\n\treturn colors\n}\n"
  },
  {
    "path": "vendor/github.com/olekukonko/tablewriter/util.go",
    "content": "// Copyright 2014 Oleku Konko All rights reserved.\n// Use of this source code is governed by a MIT\n// license that can be found in the LICENSE file.\n\n// This module is a Table Writer  API for the Go Programming Language.\n// The protocols were written in pure Go and works on windows and unix systems\n\npackage tablewriter\n\nimport (\n\t\"math\"\n\t\"regexp\"\n\t\"strings\"\n\n\t\"github.com/mattn/go-runewidth\"\n)\n\nvar ansi = regexp.MustCompile(\"\\033\\\\[(?:[0-9]{1,3}(?:;[0-9]{1,3})*)?[m|K]\")\n\nfunc DisplayWidth(str string) int {\n\treturn runewidth.StringWidth(ansi.ReplaceAllLiteralString(str, \"\"))\n}\n\n// Simple Condition for string\n// Returns value based on condition\nfunc ConditionString(cond bool, valid, inValid string) string {\n\tif cond {\n\t\treturn valid\n\t}\n\treturn inValid\n}\n\nfunc isNumOrSpace(r rune) bool {\n\treturn ('0' <= r && r <= '9') || r == ' '\n}\n\n// Format Table Header\n// Replace _ , . and spaces\nfunc Title(name string) string {\n\torigLen := len(name)\n\trs := []rune(name)\n\tfor i, r := range rs {\n\t\tswitch r {\n\t\tcase '_':\n\t\t\trs[i] = ' '\n\t\tcase '.':\n\t\t\t// ignore floating number 0.0\n\t\t\tif (i != 0 && !isNumOrSpace(rs[i-1])) || (i != len(rs)-1 && !isNumOrSpace(rs[i+1])) {\n\t\t\t\trs[i] = ' '\n\t\t\t}\n\t\t}\n\t}\n\tname = string(rs)\n\tname = strings.TrimSpace(name)\n\tif len(name) == 0 && origLen > 0 {\n\t\t// Keep at least one character. This is important to preserve\n\t\t// empty lines in multi-line headers/footers.\n\t\tname = \" \"\n\t}\n\treturn strings.ToUpper(name)\n}\n\n// Pad String\n// Attempts to play string in the center\nfunc Pad(s, pad string, width int) string {\n\tgap := width - DisplayWidth(s)\n\tif gap > 0 {\n\t\tgapLeft := int(math.Ceil(float64(gap / 2)))\n\t\tgapRight := gap - gapLeft\n\t\treturn strings.Repeat(string(pad), gapLeft) + s + strings.Repeat(string(pad), gapRight)\n\t}\n\treturn s\n}\n\n// Pad String Right position\n// This would pace string at the left side fo the screen\nfunc PadRight(s, pad string, width int) string {\n\tgap := width - DisplayWidth(s)\n\tif gap > 0 {\n\t\treturn s + strings.Repeat(string(pad), gap)\n\t}\n\treturn s\n}\n\n// Pad String Left position\n// This would pace string at the right side fo the screen\nfunc PadLeft(s, pad string, width int) string {\n\tgap := width - DisplayWidth(s)\n\tif gap > 0 {\n\t\treturn strings.Repeat(string(pad), gap) + s\n\t}\n\treturn s\n}\n"
  },
  {
    "path": "vendor/github.com/olekukonko/tablewriter/wrap.go",
    "content": "// Copyright 2014 Oleku Konko All rights reserved.\n// Use of this source code is governed by a MIT\n// license that can be found in the LICENSE file.\n\n// This module is a Table Writer  API for the Go Programming Language.\n// The protocols were written in pure Go and works on windows and unix systems\n\npackage tablewriter\n\nimport (\n\t\"math\"\n\t\"strings\"\n\n\t\"github.com/mattn/go-runewidth\"\n)\n\nvar (\n\tnl = \"\\n\"\n\tsp = \" \"\n)\n\nconst defaultPenalty = 1e5\n\n// Wrap wraps s into a paragraph of lines of length lim, with minimal\n// raggedness.\nfunc WrapString(s string, lim int) ([]string, int) {\n\twords := strings.Split(strings.Replace(s, nl, sp, -1), sp)\n\tvar lines []string\n\tmax := 0\n\tfor _, v := range words {\n\t\tmax = runewidth.StringWidth(v)\n\t\tif max > lim {\n\t\t\tlim = max\n\t\t}\n\t}\n\tfor _, line := range WrapWords(words, 1, lim, defaultPenalty) {\n\t\tlines = append(lines, strings.Join(line, sp))\n\t}\n\treturn lines, lim\n}\n\n// WrapWords is the low-level line-breaking algorithm, useful if you need more\n// control over the details of the text wrapping process. For most uses,\n// WrapString will be sufficient and more convenient.\n//\n// WrapWords splits a list of words into lines with minimal \"raggedness\",\n// treating each rune as one unit, accounting for spc units between adjacent\n// words on each line, and attempting to limit lines to lim units. Raggedness\n// is the total error over all lines, where error is the square of the\n// difference of the length of the line and lim. Too-long lines (which only\n// happen when a single word is longer than lim units) have pen penalty units\n// added to the error.\nfunc WrapWords(words []string, spc, lim, pen int) [][]string {\n\tn := len(words)\n\n\tlength := make([][]int, n)\n\tfor i := 0; i < n; i++ {\n\t\tlength[i] = make([]int, n)\n\t\tlength[i][i] = runewidth.StringWidth(words[i])\n\t\tfor j := i + 1; j < n; j++ {\n\t\t\tlength[i][j] = length[i][j-1] + spc + runewidth.StringWidth(words[j])\n\t\t}\n\t}\n\tnbrk := make([]int, n)\n\tcost := make([]int, n)\n\tfor i := range cost {\n\t\tcost[i] = math.MaxInt32\n\t}\n\tfor i := n - 1; i >= 0; i-- {\n\t\tif length[i][n-1] <= lim {\n\t\t\tcost[i] = 0\n\t\t\tnbrk[i] = n\n\t\t} else {\n\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\td := lim - length[i][j-1]\n\t\t\t\tc := d*d + cost[j]\n\t\t\t\tif length[i][j-1] > lim {\n\t\t\t\t\tc += pen // too-long lines get a worse penalty\n\t\t\t\t}\n\t\t\t\tif c < cost[i] {\n\t\t\t\t\tcost[i] = c\n\t\t\t\t\tnbrk[i] = j\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvar lines [][]string\n\ti := 0\n\tfor i < n {\n\t\tlines = append(lines, words[i:nbrk[i]])\n\t\ti = nbrk[i]\n\t}\n\treturn lines\n}\n\n// getLines decomposes a multiline string into a slice of strings.\nfunc getLines(s string) []string {\n\treturn strings.Split(s, nl)\n}\n"
  },
  {
    "path": "vendor/github.com/samuel/go-zookeeper/LICENSE",
    "content": "Copyright (c) 2013, Samuel Stauffer <samuel@descolada.com>\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\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 the author nor the\n  names of its contributors may be used to endorse or promote products\n  derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS 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 <COPYRIGHT HOLDER> 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": "vendor/github.com/samuel/go-zookeeper/zk/conn.go",
    "content": "// Package zk is a native Go client library for the ZooKeeper orchestration service.\npackage zk\n\n/*\nTODO:\n* make sure a ping response comes back in a reasonable time\n\nPossible watcher events:\n* Event{Type: EventNotWatching, State: StateDisconnected, Path: path, Err: err}\n*/\n\nimport (\n\t\"crypto/rand\"\n\t\"encoding/binary\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n)\n\n// ErrNoServer indicates that an operation cannot be completed\n// because attempts to connect to all servers in the list failed.\nvar ErrNoServer = errors.New(\"zk: could not connect to a server\")\n\n// ErrInvalidPath indicates that an operation was being attempted on\n// an invalid path. (e.g. empty path)\nvar ErrInvalidPath = errors.New(\"zk: invalid path\")\n\n// DefaultLogger uses the stdlib log package for logging.\nvar DefaultLogger Logger = defaultLogger{}\n\nconst (\n\tbufferSize      = 1536 * 1024\n\teventChanSize   = 6\n\tsendChanSize    = 16\n\tprotectedPrefix = \"_c_\"\n)\n\ntype watchType int\n\nconst (\n\twatchTypeData = iota\n\twatchTypeExist\n\twatchTypeChild\n)\n\ntype watchPathType struct {\n\tpath  string\n\twType watchType\n}\n\ntype Dialer func(network, address string, timeout time.Duration) (net.Conn, error)\n\n// Logger is an interface that can be implemented to provide custom log output.\ntype Logger interface {\n\tPrintf(string, ...interface{})\n}\n\ntype authCreds struct {\n\tscheme string\n\tauth   []byte\n}\n\ntype Conn struct {\n\tlastZxid         int64\n\tsessionID        int64\n\tstate            State // must be 32-bit aligned\n\txid              uint32\n\tsessionTimeoutMs int32 // session timeout in milliseconds\n\tpasswd           []byte\n\n\tdialer         Dialer\n\thostProvider   HostProvider\n\tserverMu       sync.Mutex // protects server\n\tserver         string     // remember the address/port of the current server\n\tconn           net.Conn\n\teventChan      chan Event\n\teventCallback  EventCallback // may be nil\n\tshouldQuit     chan struct{}\n\tpingInterval   time.Duration\n\trecvTimeout    time.Duration\n\tconnectTimeout time.Duration\n\tmaxBufferSize  int\n\n\tcreds   []authCreds\n\tcredsMu sync.Mutex // protects server\n\n\tsendChan     chan *request\n\trequests     map[int32]*request // Xid -> pending request\n\trequestsLock sync.Mutex\n\twatchers     map[watchPathType][]chan Event\n\twatchersLock sync.Mutex\n\tcloseChan    chan struct{} // channel to tell send loop stop\n\n\t// Debug (used by unit tests)\n\treconnectLatch   chan struct{}\n\tsetWatchLimit    int\n\tsetWatchCallback func([]*setWatchesRequest)\n\n\tlogger  Logger\n\tlogInfo bool // true if information messages are logged; false if only errors are logged\n\n\tbuf []byte\n}\n\n// connOption represents a connection option.\ntype connOption func(c *Conn)\n\ntype request struct {\n\txid        int32\n\topcode     int32\n\tpkt        interface{}\n\trecvStruct interface{}\n\trecvChan   chan response\n\n\t// Because sending and receiving happen in separate go routines, there's\n\t// a possible race condition when creating watches from outside the read\n\t// loop. We must ensure that a watcher gets added to the list synchronously\n\t// with the response from the server on any request that creates a watch.\n\t// In order to not hard code the watch logic for each opcode in the recv\n\t// loop the caller can use recvFunc to insert some synchronously code\n\t// after a response.\n\trecvFunc func(*request, *responseHeader, error)\n}\n\ntype response struct {\n\tzxid int64\n\terr  error\n}\n\ntype Event struct {\n\tType   EventType\n\tState  State\n\tPath   string // For non-session events, the path of the watched node.\n\tErr    error\n\tServer string // For connection events\n}\n\n// HostProvider is used to represent a set of hosts a ZooKeeper client should connect to.\n// It is an analog of the Java equivalent:\n// http://svn.apache.org/viewvc/zookeeper/trunk/src/java/main/org/apache/zookeeper/client/HostProvider.java?view=markup\ntype HostProvider interface {\n\t// Init is called first, with the servers specified in the connection string.\n\tInit(servers []string) error\n\t// Len returns the number of servers.\n\tLen() int\n\t// Next returns the next server to connect to. retryStart will be true if we've looped through\n\t// all known servers without Connected() being called.\n\tNext() (server string, retryStart bool)\n\t// Notify the HostProvider of a successful connection.\n\tConnected()\n}\n\n// ConnectWithDialer establishes a new connection to a pool of zookeeper servers\n// using a custom Dialer. See Connect for further information about session timeout.\n// This method is deprecated and provided for compatibility: use the WithDialer option instead.\nfunc ConnectWithDialer(servers []string, sessionTimeout time.Duration, dialer Dialer) (*Conn, <-chan Event, error) {\n\treturn Connect(servers, sessionTimeout, WithDialer(dialer))\n}\n\n// Connect establishes a new connection to a pool of zookeeper\n// servers. The provided session timeout sets the amount of time for which\n// a session is considered valid after losing connection to a server. Within\n// the session timeout it's possible to reestablish a connection to a different\n// server and keep the same session. This is means any ephemeral nodes and\n// watches are maintained.\nfunc Connect(servers []string, sessionTimeout time.Duration, options ...connOption) (*Conn, <-chan Event, error) {\n\tif len(servers) == 0 {\n\t\treturn nil, nil, errors.New(\"zk: server list must not be empty\")\n\t}\n\n\tsrvs := make([]string, len(servers))\n\n\tfor i, addr := range servers {\n\t\tif strings.Contains(addr, \":\") {\n\t\t\tsrvs[i] = addr\n\t\t} else {\n\t\t\tsrvs[i] = addr + \":\" + strconv.Itoa(DefaultPort)\n\t\t}\n\t}\n\n\t// Randomize the order of the servers to avoid creating hotspots\n\tstringShuffle(srvs)\n\n\tec := make(chan Event, eventChanSize)\n\tconn := &Conn{\n\t\tdialer:         net.DialTimeout,\n\t\thostProvider:   &DNSHostProvider{},\n\t\tconn:           nil,\n\t\tstate:          StateDisconnected,\n\t\teventChan:      ec,\n\t\tshouldQuit:     make(chan struct{}),\n\t\tconnectTimeout: 1 * time.Second,\n\t\tsendChan:       make(chan *request, sendChanSize),\n\t\trequests:       make(map[int32]*request),\n\t\twatchers:       make(map[watchPathType][]chan Event),\n\t\tpasswd:         emptyPassword,\n\t\tlogger:         DefaultLogger,\n\t\tlogInfo:        true, // default is true for backwards compatability\n\t\tbuf:            make([]byte, bufferSize),\n\t}\n\n\t// Set provided options.\n\tfor _, option := range options {\n\t\toption(conn)\n\t}\n\n\tif err := conn.hostProvider.Init(srvs); err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tconn.setTimeouts(int32(sessionTimeout / time.Millisecond))\n\n\tgo func() {\n\t\tconn.loop()\n\t\tconn.flushRequests(ErrClosing)\n\t\tconn.invalidateWatches(ErrClosing)\n\t\tclose(conn.eventChan)\n\t}()\n\treturn conn, ec, nil\n}\n\n// WithDialer returns a connection option specifying a non-default Dialer.\nfunc WithDialer(dialer Dialer) connOption {\n\treturn func(c *Conn) {\n\t\tc.dialer = dialer\n\t}\n}\n\n// WithHostProvider returns a connection option specifying a non-default HostProvider.\nfunc WithHostProvider(hostProvider HostProvider) connOption {\n\treturn func(c *Conn) {\n\t\tc.hostProvider = hostProvider\n\t}\n}\n\n// WithLogger returns a connection option specifying a non-default Logger\nfunc WithLogger(logger Logger) connOption {\n\treturn func(c *Conn) {\n\t\tc.logger = logger\n\t}\n}\n\n// WithLogInfo returns a connection option specifying whether or not information messages\n// shoud be logged.\nfunc WithLogInfo(logInfo bool) connOption {\n\treturn func(c *Conn) {\n\t\tc.logInfo = logInfo\n\t}\n}\n\n// EventCallback is a function that is called when an Event occurs.\ntype EventCallback func(Event)\n\n// WithEventCallback returns a connection option that specifies an event\n// callback.\n// The callback must not block - doing so would delay the ZK go routines.\nfunc WithEventCallback(cb EventCallback) connOption {\n\treturn func(c *Conn) {\n\t\tc.eventCallback = cb\n\t}\n}\n\n// WithMaxBufferSize sets the maximum buffer size used to read and decode\n// packets received from the Zookeeper server. The standard Zookeeper client for\n// Java defaults to a limit of 1mb. For backwards compatibility, this Go client\n// defaults to unbounded unless overridden via this option. A value that is zero\n// or negative indicates that no limit is enforced.\n//\n// This is meant to prevent resource exhaustion in the face of potentially\n// malicious data in ZK. It should generally match the server setting (which\n// also defaults ot 1mb) so that clients and servers agree on the limits for\n// things like the size of data in an individual znode and the total size of a\n// transaction.\n//\n// For production systems, this should be set to a reasonable value (ideally\n// that matches the server configuration). For ops tooling, it is handy to use a\n// much larger limit, in order to do things like clean-up problematic state in\n// the ZK tree. For example, if a single znode has a huge number of children, it\n// is possible for the response to a \"list children\" operation to exceed this\n// buffer size and cause errors in clients. The only way to subsequently clean\n// up the tree (by removing superfluous children) is to use a client configured\n// with a larger buffer size that can successfully query for all of the child\n// names and then remove them. (Note there are other tools that can list all of\n// the child names without an increased buffer size in the client, but they work\n// by inspecting the servers' transaction logs to enumerate children instead of\n// sending an online request to a server.\nfunc WithMaxBufferSize(maxBufferSize int) connOption {\n\treturn func(c *Conn) {\n\t\tc.maxBufferSize = maxBufferSize\n\t}\n}\n\n// WithMaxConnBufferSize sets maximum buffer size used to send and encode\n// packets to Zookeeper server. The standard Zookeepeer client for java defaults\n// to a limit of 1mb. This option should be used for non-standard server setup\n// where znode is bigger than default 1mb.\nfunc WithMaxConnBufferSize(maxBufferSize int) connOption {\n       return func(c *Conn) {\n               c.buf = make([]byte, maxBufferSize)\n       }\n}\n\nfunc (c *Conn) Close() {\n\tclose(c.shouldQuit)\n\n\tselect {\n\tcase <-c.queueRequest(opClose, &closeRequest{}, &closeResponse{}, nil):\n\tcase <-time.After(time.Second):\n\t}\n}\n\n// State returns the current state of the connection.\nfunc (c *Conn) State() State {\n\treturn State(atomic.LoadInt32((*int32)(&c.state)))\n}\n\n// SessionID returns the current session id of the connection.\nfunc (c *Conn) SessionID() int64 {\n\treturn atomic.LoadInt64(&c.sessionID)\n}\n\n// SetLogger sets the logger to be used for printing errors.\n// Logger is an interface provided by this package.\nfunc (c *Conn) SetLogger(l Logger) {\n\tc.logger = l\n}\n\nfunc (c *Conn) setTimeouts(sessionTimeoutMs int32) {\n\tc.sessionTimeoutMs = sessionTimeoutMs\n\tsessionTimeout := time.Duration(sessionTimeoutMs) * time.Millisecond\n\tc.recvTimeout = sessionTimeout * 2 / 3\n\tc.pingInterval = c.recvTimeout / 2\n}\n\nfunc (c *Conn) setState(state State) {\n\tatomic.StoreInt32((*int32)(&c.state), int32(state))\n\tc.sendEvent(Event{Type: EventSession, State: state, Server: c.Server()})\n}\n\nfunc (c *Conn) sendEvent(evt Event) {\n\tif c.eventCallback != nil {\n\t\tc.eventCallback(evt)\n\t}\n\n\tselect {\n\tcase c.eventChan <- evt:\n\tdefault:\n\t\t// panic(\"zk: event channel full - it must be monitored and never allowed to be full\")\n\t}\n}\n\nfunc (c *Conn) connect() error {\n\tvar retryStart bool\n\tfor {\n\t\tc.serverMu.Lock()\n\t\tc.server, retryStart = c.hostProvider.Next()\n\t\tc.serverMu.Unlock()\n\t\tc.setState(StateConnecting)\n\t\tif retryStart {\n\t\t\tc.flushUnsentRequests(ErrNoServer)\n\t\t\tselect {\n\t\t\tcase <-time.After(time.Second):\n\t\t\t\t// pass\n\t\t\tcase <-c.shouldQuit:\n\t\t\t\tc.setState(StateDisconnected)\n\t\t\t\tc.flushUnsentRequests(ErrClosing)\n\t\t\t\treturn ErrClosing\n\t\t\t}\n\t\t}\n\n\t\tzkConn, err := c.dialer(\"tcp\", c.Server(), c.connectTimeout)\n\t\tif err == nil {\n\t\t\tc.conn = zkConn\n\t\t\tc.setState(StateConnected)\n\t\t\tif c.logInfo {\n\t\t\t\tc.logger.Printf(\"Connected to %s\", c.Server())\n\t\t\t}\n\t\t\treturn nil\n\t\t}\n\n\t\tc.logger.Printf(\"Failed to connect to %s: %+v\", c.Server(), err)\n\t}\n}\n\nfunc (c *Conn) resendZkAuth(reauthReadyChan chan struct{}) {\n\tc.credsMu.Lock()\n\tdefer c.credsMu.Unlock()\n\n\tdefer close(reauthReadyChan)\n\n\tif c.logInfo {\n\t\tc.logger.Printf(\"Re-submitting `%d` credentials after reconnect\",\n\t\t\tlen(c.creds))\n\t}\n\n\tfor _, cred := range c.creds {\n\t\tresChan, err := c.sendRequest(\n\t\t\topSetAuth,\n\t\t\t&setAuthRequest{Type: 0,\n\t\t\t\tScheme: cred.scheme,\n\t\t\t\tAuth:   cred.auth,\n\t\t\t},\n\t\t\t&setAuthResponse{},\n\t\t\tnil)\n\n\t\tif err != nil {\n\t\t\tc.logger.Printf(\"Call to sendRequest failed during credential resubmit: %s\", err)\n\t\t\t// FIXME(prozlach): lets ignore errors for now\n\t\t\tcontinue\n\t\t}\n\n\t\tres := <-resChan\n\t\tif res.err != nil {\n\t\t\tc.logger.Printf(\"Credential re-submit failed: %s\", res.err)\n\t\t\t// FIXME(prozlach): lets ignore errors for now\n\t\t\tcontinue\n\t\t}\n\t}\n}\n\nfunc (c *Conn) sendRequest(\n\topcode int32,\n\treq interface{},\n\tres interface{},\n\trecvFunc func(*request, *responseHeader, error),\n) (\n\t<-chan response,\n\terror,\n) {\n\trq := &request{\n\t\txid:        c.nextXid(),\n\t\topcode:     opcode,\n\t\tpkt:        req,\n\t\trecvStruct: res,\n\t\trecvChan:   make(chan response, 1),\n\t\trecvFunc:   recvFunc,\n\t}\n\n\tif err := c.sendData(rq); err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn rq.recvChan, nil\n}\n\nfunc (c *Conn) loop() {\n\tfor {\n\t\tif err := c.connect(); err != nil {\n\t\t\t// c.Close() was called\n\t\t\treturn\n\t\t}\n\n\t\terr := c.authenticate()\n\t\tswitch {\n\t\tcase err == ErrSessionExpired:\n\t\t\tc.logger.Printf(\"Authentication failed: %s\", err)\n\t\t\tc.invalidateWatches(err)\n\t\tcase err != nil && c.conn != nil:\n\t\t\tc.logger.Printf(\"Authentication failed: %s\", err)\n\t\t\tc.conn.Close()\n\t\tcase err == nil:\n\t\t\tif c.logInfo {\n\t\t\t\tc.logger.Printf(\"Authenticated: id=%d, timeout=%d\", c.SessionID(), c.sessionTimeoutMs)\n\t\t\t}\n\t\t\tc.hostProvider.Connected()        // mark success\n\t\t\tc.closeChan = make(chan struct{}) // channel to tell send loop stop\n\t\t\treauthChan := make(chan struct{}) // channel to tell send loop that authdata has been resubmitted\n\n\t\t\tvar wg sync.WaitGroup\n\t\t\twg.Add(1)\n\t\t\tgo func() {\n\t\t\t\t<-reauthChan\n\t\t\t\terr := c.sendLoop()\n\t\t\t\tif err != nil || c.logInfo {\n\t\t\t\t\tc.logger.Printf(\"Send loop terminated: err=%v\", err)\n\t\t\t\t}\n\t\t\t\tc.conn.Close() // causes recv loop to EOF/exit\n\t\t\t\twg.Done()\n\t\t\t}()\n\n\t\t\twg.Add(1)\n\t\t\tgo func() {\n\t\t\t\terr := c.recvLoop(c.conn)\n\t\t\t\tif err != io.EOF || c.logInfo {\n\t\t\t\t\tc.logger.Printf(\"Recv loop terminated: err=%v\", err)\n\t\t\t\t}\n\t\t\t\tif err == nil {\n\t\t\t\t\tpanic(\"zk: recvLoop should never return nil error\")\n\t\t\t\t}\n\t\t\t\tclose(c.closeChan) // tell send loop to exit\n\t\t\t\twg.Done()\n\t\t\t}()\n\n\t\t\tc.resendZkAuth(reauthChan)\n\n\t\t\tc.sendSetWatches()\n\t\t\twg.Wait()\n\t\t}\n\n\t\tc.setState(StateDisconnected)\n\n\t\tselect {\n\t\tcase <-c.shouldQuit:\n\t\t\tc.flushRequests(ErrClosing)\n\t\t\treturn\n\t\tdefault:\n\t\t}\n\n\t\tif err != ErrSessionExpired {\n\t\t\terr = ErrConnectionClosed\n\t\t}\n\t\tc.flushRequests(err)\n\n\t\tif c.reconnectLatch != nil {\n\t\t\tselect {\n\t\t\tcase <-c.shouldQuit:\n\t\t\t\treturn\n\t\t\tcase <-c.reconnectLatch:\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (c *Conn) flushUnsentRequests(err error) {\n\tfor {\n\t\tselect {\n\t\tdefault:\n\t\t\treturn\n\t\tcase req := <-c.sendChan:\n\t\t\treq.recvChan <- response{-1, err}\n\t\t}\n\t}\n}\n\n// Send error to all pending requests and clear request map\nfunc (c *Conn) flushRequests(err error) {\n\tc.requestsLock.Lock()\n\tfor _, req := range c.requests {\n\t\treq.recvChan <- response{-1, err}\n\t}\n\tc.requests = make(map[int32]*request)\n\tc.requestsLock.Unlock()\n}\n\n// Send error to all watchers and clear watchers map\nfunc (c *Conn) invalidateWatches(err error) {\n\tc.watchersLock.Lock()\n\tdefer c.watchersLock.Unlock()\n\n\tif len(c.watchers) >= 0 {\n\t\tfor pathType, watchers := range c.watchers {\n\t\t\tev := Event{Type: EventNotWatching, State: StateDisconnected, Path: pathType.path, Err: err}\n\t\t\tfor _, ch := range watchers {\n\t\t\t\tch <- ev\n\t\t\t\tclose(ch)\n\t\t\t}\n\t\t}\n\t\tc.watchers = make(map[watchPathType][]chan Event)\n\t}\n}\n\nfunc (c *Conn) sendSetWatches() {\n\tc.watchersLock.Lock()\n\tdefer c.watchersLock.Unlock()\n\n\tif len(c.watchers) == 0 {\n\t\treturn\n\t}\n\n\t// NB: A ZK server, by default, rejects packets >1mb. So, if we have too\n\t// many watches to reset, we need to break this up into multiple packets\n\t// to avoid hitting that limit. Mirroring the Java client behavior: we are\n\t// conservative in that we limit requests to 128kb (since server limit is\n\t// is actually configurable and could conceivably be configured smaller\n\t// than default of 1mb).\n\tlimit := 128 * 1024\n\tif c.setWatchLimit > 0 {\n\t\tlimit = c.setWatchLimit\n\t}\n\n\tvar reqs []*setWatchesRequest\n\tvar req *setWatchesRequest\n\tvar sizeSoFar int\n\n\tn := 0\n\tfor pathType, watchers := range c.watchers {\n\t\tif len(watchers) == 0 {\n\t\t\tcontinue\n\t\t}\n\t\taddlLen := 4 + len(pathType.path)\n\t\tif req == nil || sizeSoFar+addlLen > limit {\n\t\t\tif req != nil {\n\t\t\t\t// add to set of requests that we'll send\n\t\t\t\treqs = append(reqs, req)\n\t\t\t}\n\t\t\tsizeSoFar = 28 // fixed overhead of a set-watches packet\n\t\t\treq = &setWatchesRequest{\n\t\t\t\tRelativeZxid: c.lastZxid,\n\t\t\t\tDataWatches:  make([]string, 0),\n\t\t\t\tExistWatches: make([]string, 0),\n\t\t\t\tChildWatches: make([]string, 0),\n\t\t\t}\n\t\t}\n\t\tsizeSoFar += addlLen\n\t\tswitch pathType.wType {\n\t\tcase watchTypeData:\n\t\t\treq.DataWatches = append(req.DataWatches, pathType.path)\n\t\tcase watchTypeExist:\n\t\t\treq.ExistWatches = append(req.ExistWatches, pathType.path)\n\t\tcase watchTypeChild:\n\t\t\treq.ChildWatches = append(req.ChildWatches, pathType.path)\n\t\t}\n\t\tn++\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tif req != nil { // don't forget any trailing packet we were building\n\t\treqs = append(reqs, req)\n\t}\n\n\tif c.setWatchCallback != nil {\n\t\tc.setWatchCallback(reqs)\n\t}\n\n\tgo func() {\n\t\tres := &setWatchesResponse{}\n\t\t// TODO: Pipeline these so queue all of them up before waiting on any\n\t\t// response. That will require some investigation to make sure there\n\t\t// aren't failure modes where a blocking write to the channel of requests\n\t\t// could hang indefinitely and cause this goroutine to leak...\n\t\tfor _, req := range reqs {\n\t\t\t_, err := c.request(opSetWatches, req, res, nil)\n\t\t\tif err != nil {\n\t\t\t\tc.logger.Printf(\"Failed to set previous watches: %s\", err.Error())\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}()\n}\n\nfunc (c *Conn) authenticate() error {\n\tbuf := make([]byte, 256)\n\n\t// Encode and send a connect request.\n\tn, err := encodePacket(buf[4:], &connectRequest{\n\t\tProtocolVersion: protocolVersion,\n\t\tLastZxidSeen:    c.lastZxid,\n\t\tTimeOut:         c.sessionTimeoutMs,\n\t\tSessionID:       c.SessionID(),\n\t\tPasswd:          c.passwd,\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tbinary.BigEndian.PutUint32(buf[:4], uint32(n))\n\n\tc.conn.SetWriteDeadline(time.Now().Add(c.recvTimeout * 10))\n\t_, err = c.conn.Write(buf[:n+4])\n\tc.conn.SetWriteDeadline(time.Time{})\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Receive and decode a connect response.\n\tc.conn.SetReadDeadline(time.Now().Add(c.recvTimeout * 10))\n\t_, err = io.ReadFull(c.conn, buf[:4])\n\tc.conn.SetReadDeadline(time.Time{})\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tblen := int(binary.BigEndian.Uint32(buf[:4]))\n\tif cap(buf) < blen {\n\t\tbuf = make([]byte, blen)\n\t}\n\n\t_, err = io.ReadFull(c.conn, buf[:blen])\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tr := connectResponse{}\n\t_, err = decodePacket(buf[:blen], &r)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif r.SessionID == 0 {\n\t\tatomic.StoreInt64(&c.sessionID, int64(0))\n\t\tc.passwd = emptyPassword\n\t\tc.lastZxid = 0\n\t\tc.setState(StateExpired)\n\t\treturn ErrSessionExpired\n\t}\n\n\tatomic.StoreInt64(&c.sessionID, r.SessionID)\n\tc.setTimeouts(r.TimeOut)\n\tc.passwd = r.Passwd\n\tc.setState(StateHasSession)\n\n\treturn nil\n}\n\nfunc (c *Conn) sendData(req *request) error {\n\theader := &requestHeader{req.xid, req.opcode}\n\tn, err := encodePacket(c.buf[4:], header)\n\tif err != nil {\n\t\treq.recvChan <- response{-1, err}\n\t\treturn nil\n\t}\n\n\tn2, err := encodePacket(c.buf[4+n:], req.pkt)\n\tif err != nil {\n\t\treq.recvChan <- response{-1, err}\n\t\treturn nil\n\t}\n\n\tn += n2\n\n\tbinary.BigEndian.PutUint32(c.buf[:4], uint32(n))\n\n\tc.requestsLock.Lock()\n\tselect {\n\tcase <-c.closeChan:\n\t\treq.recvChan <- response{-1, ErrConnectionClosed}\n\t\tc.requestsLock.Unlock()\n\t\treturn ErrConnectionClosed\n\tdefault:\n\t}\n\tc.requests[req.xid] = req\n\tc.requestsLock.Unlock()\n\n\tc.conn.SetWriteDeadline(time.Now().Add(c.recvTimeout))\n\t_, err = c.conn.Write(c.buf[:n+4])\n\tc.conn.SetWriteDeadline(time.Time{})\n\tif err != nil {\n\t\treq.recvChan <- response{-1, err}\n\t\tc.conn.Close()\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\nfunc (c *Conn) sendLoop() error {\n\tpingTicker := time.NewTicker(c.pingInterval)\n\tdefer pingTicker.Stop()\n\n\tfor {\n\t\tselect {\n\t\tcase req := <-c.sendChan:\n\t\t\tif err := c.sendData(req); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\tcase <-pingTicker.C:\n\t\t\tn, err := encodePacket(c.buf[4:], &requestHeader{Xid: -2, Opcode: opPing})\n\t\t\tif err != nil {\n\t\t\t\tpanic(\"zk: opPing should never fail to serialize\")\n\t\t\t}\n\n\t\t\tbinary.BigEndian.PutUint32(c.buf[:4], uint32(n))\n\n\t\t\tc.conn.SetWriteDeadline(time.Now().Add(c.recvTimeout))\n\t\t\t_, err = c.conn.Write(c.buf[:n+4])\n\t\t\tc.conn.SetWriteDeadline(time.Time{})\n\t\t\tif err != nil {\n\t\t\t\tc.conn.Close()\n\t\t\t\treturn err\n\t\t\t}\n\t\tcase <-c.closeChan:\n\t\t\treturn nil\n\t\t}\n\t}\n}\n\nfunc (c *Conn) recvLoop(conn net.Conn) error {\n\tsz := bufferSize\n\tif c.maxBufferSize > 0 && sz > c.maxBufferSize {\n\t\tsz = c.maxBufferSize\n\t}\n\tbuf := make([]byte, sz)\n\tfor {\n\t\t// package length\n\t\tconn.SetReadDeadline(time.Now().Add(c.recvTimeout))\n\t\t_, err := io.ReadFull(conn, buf[:4])\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tblen := int(binary.BigEndian.Uint32(buf[:4]))\n\t\tif cap(buf) < blen {\n\t\t\tif c.maxBufferSize > 0 && blen > c.maxBufferSize {\n\t\t\t\treturn fmt.Errorf(\"received packet from server with length %d, which exceeds max buffer size %d\", blen, c.maxBufferSize)\n\t\t\t}\n\t\t\tbuf = make([]byte, blen)\n\t\t}\n\n\t\t_, err = io.ReadFull(conn, buf[:blen])\n\t\tconn.SetReadDeadline(time.Time{})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tres := responseHeader{}\n\t\t_, err = decodePacket(buf[:16], &res)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tif res.Xid == -1 {\n\t\t\tres := &watcherEvent{}\n\t\t\t_, err := decodePacket(buf[16:blen], res)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tev := Event{\n\t\t\t\tType:  res.Type,\n\t\t\t\tState: res.State,\n\t\t\t\tPath:  res.Path,\n\t\t\t\tErr:   nil,\n\t\t\t}\n\t\t\tc.sendEvent(ev)\n\t\t\twTypes := make([]watchType, 0, 2)\n\t\t\tswitch res.Type {\n\t\t\tcase EventNodeCreated:\n\t\t\t\twTypes = append(wTypes, watchTypeExist)\n\t\t\tcase EventNodeDeleted, EventNodeDataChanged:\n\t\t\t\twTypes = append(wTypes, watchTypeExist, watchTypeData, watchTypeChild)\n\t\t\tcase EventNodeChildrenChanged:\n\t\t\t\twTypes = append(wTypes, watchTypeChild)\n\t\t\t}\n\t\t\tc.watchersLock.Lock()\n\t\t\tfor _, t := range wTypes {\n\t\t\t\twpt := watchPathType{res.Path, t}\n\t\t\t\tif watchers := c.watchers[wpt]; watchers != nil && len(watchers) > 0 {\n\t\t\t\t\tfor _, ch := range watchers {\n\t\t\t\t\t\tch <- ev\n\t\t\t\t\t\tclose(ch)\n\t\t\t\t\t}\n\t\t\t\t\tdelete(c.watchers, wpt)\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.watchersLock.Unlock()\n\t\t} else if res.Xid == -2 {\n\t\t\t// Ping response. Ignore.\n\t\t} else if res.Xid < 0 {\n\t\t\tc.logger.Printf(\"Xid < 0 (%d) but not ping or watcher event\", res.Xid)\n\t\t} else {\n\t\t\tif res.Zxid > 0 {\n\t\t\t\tc.lastZxid = res.Zxid\n\t\t\t}\n\n\t\t\tc.requestsLock.Lock()\n\t\t\treq, ok := c.requests[res.Xid]\n\t\t\tif ok {\n\t\t\t\tdelete(c.requests, res.Xid)\n\t\t\t}\n\t\t\tc.requestsLock.Unlock()\n\n\t\t\tif !ok {\n\t\t\t\tc.logger.Printf(\"Response for unknown request with xid %d\", res.Xid)\n\t\t\t} else {\n\t\t\t\tif res.Err != 0 {\n\t\t\t\t\terr = res.Err.toError()\n\t\t\t\t} else {\n\t\t\t\t\t_, err = decodePacket(buf[16:blen], req.recvStruct)\n\t\t\t\t}\n\t\t\t\tif req.recvFunc != nil {\n\t\t\t\t\treq.recvFunc(req, &res, err)\n\t\t\t\t}\n\t\t\t\treq.recvChan <- response{res.Zxid, err}\n\t\t\t\tif req.opcode == opClose {\n\t\t\t\t\treturn io.EOF\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (c *Conn) nextXid() int32 {\n\treturn int32(atomic.AddUint32(&c.xid, 1) & 0x7fffffff)\n}\n\nfunc (c *Conn) addWatcher(path string, watchType watchType) <-chan Event {\n\tc.watchersLock.Lock()\n\tdefer c.watchersLock.Unlock()\n\n\tch := make(chan Event, 1)\n\twpt := watchPathType{path, watchType}\n\tc.watchers[wpt] = append(c.watchers[wpt], ch)\n\treturn ch\n}\n\nfunc (c *Conn) queueRequest(opcode int32, req interface{}, res interface{}, recvFunc func(*request, *responseHeader, error)) <-chan response {\n\trq := &request{\n\t\txid:        c.nextXid(),\n\t\topcode:     opcode,\n\t\tpkt:        req,\n\t\trecvStruct: res,\n\t\trecvChan:   make(chan response, 1),\n\t\trecvFunc:   recvFunc,\n\t}\n\tc.sendChan <- rq\n\treturn rq.recvChan\n}\n\nfunc (c *Conn) request(opcode int32, req interface{}, res interface{}, recvFunc func(*request, *responseHeader, error)) (int64, error) {\n\tr := <-c.queueRequest(opcode, req, res, recvFunc)\n\treturn r.zxid, r.err\n}\n\nfunc (c *Conn) AddAuth(scheme string, auth []byte) error {\n\t_, err := c.request(opSetAuth, &setAuthRequest{Type: 0, Scheme: scheme, Auth: auth}, &setAuthResponse{}, nil)\n\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Remember authdata so that it can be re-submitted on reconnect\n\t//\n\t// FIXME(prozlach): For now we treat \"userfoo:passbar\" and \"userfoo:passbar2\"\n\t// as two different entries, which will be re-submitted on reconnet. Some\n\t// research is needed on how ZK treats these cases and\n\t// then maybe switch to something like \"map[username] = password\" to allow\n\t// only single password for given user with users being unique.\n\tobj := authCreds{\n\t\tscheme: scheme,\n\t\tauth:   auth,\n\t}\n\n\tc.credsMu.Lock()\n\tc.creds = append(c.creds, obj)\n\tc.credsMu.Unlock()\n\n\treturn nil\n}\n\nfunc (c *Conn) Children(path string) ([]string, *Stat, error) {\n\tif err := validatePath(path, false); err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tres := &getChildren2Response{}\n\t_, err := c.request(opGetChildren2, &getChildren2Request{Path: path, Watch: false}, res, nil)\n\treturn res.Children, &res.Stat, err\n}\n\nfunc (c *Conn) ChildrenW(path string) ([]string, *Stat, <-chan Event, error) {\n\tif err := validatePath(path, false); err != nil {\n\t\treturn nil, nil, nil, err\n\t}\n\n\tvar ech <-chan Event\n\tres := &getChildren2Response{}\n\t_, err := c.request(opGetChildren2, &getChildren2Request{Path: path, Watch: true}, res, func(req *request, res *responseHeader, err error) {\n\t\tif err == nil {\n\t\t\tech = c.addWatcher(path, watchTypeChild)\n\t\t}\n\t})\n\tif err != nil {\n\t\treturn nil, nil, nil, err\n\t}\n\treturn res.Children, &res.Stat, ech, err\n}\n\nfunc (c *Conn) Get(path string) ([]byte, *Stat, error) {\n\tif err := validatePath(path, false); err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tres := &getDataResponse{}\n\t_, err := c.request(opGetData, &getDataRequest{Path: path, Watch: false}, res, nil)\n\treturn res.Data, &res.Stat, err\n}\n\n// GetW returns the contents of a znode and sets a watch\nfunc (c *Conn) GetW(path string) ([]byte, *Stat, <-chan Event, error) {\n\tif err := validatePath(path, false); err != nil {\n\t\treturn nil, nil, nil, err\n\t}\n\n\tvar ech <-chan Event\n\tres := &getDataResponse{}\n\t_, err := c.request(opGetData, &getDataRequest{Path: path, Watch: true}, res, func(req *request, res *responseHeader, err error) {\n\t\tif err == nil {\n\t\t\tech = c.addWatcher(path, watchTypeData)\n\t\t}\n\t})\n\tif err != nil {\n\t\treturn nil, nil, nil, err\n\t}\n\treturn res.Data, &res.Stat, ech, err\n}\n\nfunc (c *Conn) Set(path string, data []byte, version int32) (*Stat, error) {\n\tif err := validatePath(path, false); err != nil {\n\t\treturn nil, err\n\t}\n\n\tres := &setDataResponse{}\n\t_, err := c.request(opSetData, &SetDataRequest{path, data, version}, res, nil)\n\treturn &res.Stat, err\n}\n\nfunc (c *Conn) Create(path string, data []byte, flags int32, acl []ACL) (string, error) {\n\tif err := validatePath(path, flags&FlagSequence == FlagSequence); err != nil {\n\t\treturn \"\", err\n\t}\n\n\tres := &createResponse{}\n\t_, err := c.request(opCreate, &CreateRequest{path, data, acl, flags}, res, nil)\n\treturn res.Path, err\n}\n\n// CreateProtectedEphemeralSequential fixes a race condition if the server crashes\n// after it creates the node. On reconnect the session may still be valid so the\n// ephemeral node still exists. Therefore, on reconnect we need to check if a node\n// with a GUID generated on create exists.\nfunc (c *Conn) CreateProtectedEphemeralSequential(path string, data []byte, acl []ACL) (string, error) {\n\tif err := validatePath(path, true); err != nil {\n\t\treturn \"\", err\n\t}\n\n\tvar guid [16]byte\n\t_, err := io.ReadFull(rand.Reader, guid[:16])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tguidStr := fmt.Sprintf(\"%x\", guid)\n\n\tparts := strings.Split(path, \"/\")\n\tparts[len(parts)-1] = fmt.Sprintf(\"%s%s-%s\", protectedPrefix, guidStr, parts[len(parts)-1])\n\trootPath := strings.Join(parts[:len(parts)-1], \"/\")\n\tprotectedPath := strings.Join(parts, \"/\")\n\n\tvar newPath string\n\tfor i := 0; i < 3; i++ {\n\t\tnewPath, err = c.Create(protectedPath, data, FlagEphemeral|FlagSequence, acl)\n\t\tswitch err {\n\t\tcase ErrSessionExpired:\n\t\t\t// No need to search for the node since it can't exist. Just try again.\n\t\tcase ErrConnectionClosed:\n\t\t\tchildren, _, err := c.Children(rootPath)\n\t\t\tif err != nil {\n\t\t\t\treturn \"\", err\n\t\t\t}\n\t\t\tfor _, p := range children {\n\t\t\t\tparts := strings.Split(p, \"/\")\n\t\t\t\tif pth := parts[len(parts)-1]; strings.HasPrefix(pth, protectedPrefix) {\n\t\t\t\t\tif g := pth[len(protectedPrefix) : len(protectedPrefix)+32]; g == guidStr {\n\t\t\t\t\t\treturn rootPath + \"/\" + p, nil\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase nil:\n\t\t\treturn newPath, nil\n\t\tdefault:\n\t\t\treturn \"\", err\n\t\t}\n\t}\n\treturn \"\", err\n}\n\nfunc (c *Conn) Delete(path string, version int32) error {\n\tif err := validatePath(path, false); err != nil {\n\t\treturn err\n\t}\n\n\t_, err := c.request(opDelete, &DeleteRequest{path, version}, &deleteResponse{}, nil)\n\treturn err\n}\n\nfunc (c *Conn) Exists(path string) (bool, *Stat, error) {\n\tif err := validatePath(path, false); err != nil {\n\t\treturn false, nil, err\n\t}\n\n\tres := &existsResponse{}\n\t_, err := c.request(opExists, &existsRequest{Path: path, Watch: false}, res, nil)\n\texists := true\n\tif err == ErrNoNode {\n\t\texists = false\n\t\terr = nil\n\t}\n\treturn exists, &res.Stat, err\n}\n\nfunc (c *Conn) ExistsW(path string) (bool, *Stat, <-chan Event, error) {\n\tif err := validatePath(path, false); err != nil {\n\t\treturn false, nil, nil, err\n\t}\n\n\tvar ech <-chan Event\n\tres := &existsResponse{}\n\t_, err := c.request(opExists, &existsRequest{Path: path, Watch: true}, res, func(req *request, res *responseHeader, err error) {\n\t\tif err == nil {\n\t\t\tech = c.addWatcher(path, watchTypeData)\n\t\t} else if err == ErrNoNode {\n\t\t\tech = c.addWatcher(path, watchTypeExist)\n\t\t}\n\t})\n\texists := true\n\tif err == ErrNoNode {\n\t\texists = false\n\t\terr = nil\n\t}\n\tif err != nil {\n\t\treturn false, nil, nil, err\n\t}\n\treturn exists, &res.Stat, ech, err\n}\n\nfunc (c *Conn) GetACL(path string) ([]ACL, *Stat, error) {\n\tif err := validatePath(path, false); err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tres := &getAclResponse{}\n\t_, err := c.request(opGetAcl, &getAclRequest{Path: path}, res, nil)\n\treturn res.Acl, &res.Stat, err\n}\nfunc (c *Conn) SetACL(path string, acl []ACL, version int32) (*Stat, error) {\n\tif err := validatePath(path, false); err != nil {\n\t\treturn nil, err\n\t}\n\n\tres := &setAclResponse{}\n\t_, err := c.request(opSetAcl, &setAclRequest{Path: path, Acl: acl, Version: version}, res, nil)\n\treturn &res.Stat, err\n}\n\nfunc (c *Conn) Sync(path string) (string, error) {\n\tif err := validatePath(path, false); err != nil {\n\t\treturn \"\", err\n\t}\n\n\tres := &syncResponse{}\n\t_, err := c.request(opSync, &syncRequest{Path: path}, res, nil)\n\treturn res.Path, err\n}\n\ntype MultiResponse struct {\n\tStat   *Stat\n\tString string\n\tError  error\n}\n\n// Multi executes multiple ZooKeeper operations or none of them. The provided\n// ops must be one of *CreateRequest, *DeleteRequest, *SetDataRequest, or\n// *CheckVersionRequest.\nfunc (c *Conn) Multi(ops ...interface{}) ([]MultiResponse, error) {\n\treq := &multiRequest{\n\t\tOps:        make([]multiRequestOp, 0, len(ops)),\n\t\tDoneHeader: multiHeader{Type: -1, Done: true, Err: -1},\n\t}\n\tfor _, op := range ops {\n\t\tvar opCode int32\n\t\tswitch op.(type) {\n\t\tcase *CreateRequest:\n\t\t\topCode = opCreate\n\t\tcase *SetDataRequest:\n\t\t\topCode = opSetData\n\t\tcase *DeleteRequest:\n\t\t\topCode = opDelete\n\t\tcase *CheckVersionRequest:\n\t\t\topCode = opCheck\n\t\tdefault:\n\t\t\treturn nil, fmt.Errorf(\"unknown operation type %T\", op)\n\t\t}\n\t\treq.Ops = append(req.Ops, multiRequestOp{multiHeader{opCode, false, -1}, op})\n\t}\n\tres := &multiResponse{}\n\t_, err := c.request(opMulti, req, res, nil)\n\tmr := make([]MultiResponse, len(res.Ops))\n\tfor i, op := range res.Ops {\n\t\tmr[i] = MultiResponse{Stat: op.Stat, String: op.String, Error: op.Err.toError()}\n\t}\n\treturn mr, err\n}\n\n// Server returns the current or last-connected server name.\nfunc (c *Conn) Server() string {\n\tc.serverMu.Lock()\n\tdefer c.serverMu.Unlock()\n\treturn c.server\n}\n"
  },
  {
    "path": "vendor/github.com/samuel/go-zookeeper/zk/constants.go",
    "content": "package zk\n\nimport (\n\t\"errors\"\n)\n\nconst (\n\tprotocolVersion = 0\n\n\tDefaultPort = 2181\n)\n\nconst (\n\topNotify       = 0\n\topCreate       = 1\n\topDelete       = 2\n\topExists       = 3\n\topGetData      = 4\n\topSetData      = 5\n\topGetAcl       = 6\n\topSetAcl       = 7\n\topGetChildren  = 8\n\topSync         = 9\n\topPing         = 11\n\topGetChildren2 = 12\n\topCheck        = 13\n\topMulti        = 14\n\topClose        = -11\n\topSetAuth      = 100\n\topSetWatches   = 101\n\topError        = -1\n\t// Not in protocol, used internally\n\topWatcherEvent = -2\n)\n\nconst (\n\tEventNodeCreated         EventType = 1\n\tEventNodeDeleted         EventType = 2\n\tEventNodeDataChanged     EventType = 3\n\tEventNodeChildrenChanged EventType = 4\n\n\tEventSession     EventType = -1\n\tEventNotWatching EventType = -2\n)\n\nvar (\n\teventNames = map[EventType]string{\n\t\tEventNodeCreated:         \"EventNodeCreated\",\n\t\tEventNodeDeleted:         \"EventNodeDeleted\",\n\t\tEventNodeDataChanged:     \"EventNodeDataChanged\",\n\t\tEventNodeChildrenChanged: \"EventNodeChildrenChanged\",\n\t\tEventSession:             \"EventSession\",\n\t\tEventNotWatching:         \"EventNotWatching\",\n\t}\n)\n\nconst (\n\tStateUnknown           State = -1\n\tStateDisconnected      State = 0\n\tStateConnecting        State = 1\n\tStateAuthFailed        State = 4\n\tStateConnectedReadOnly State = 5\n\tStateSaslAuthenticated State = 6\n\tStateExpired           State = -112\n\n\tStateConnected  = State(100)\n\tStateHasSession = State(101)\n)\n\nconst (\n\tFlagEphemeral = 1\n\tFlagSequence  = 2\n)\n\nvar (\n\tstateNames = map[State]string{\n\t\tStateUnknown:           \"StateUnknown\",\n\t\tStateDisconnected:      \"StateDisconnected\",\n\t\tStateConnectedReadOnly: \"StateConnectedReadOnly\",\n\t\tStateSaslAuthenticated: \"StateSaslAuthenticated\",\n\t\tStateExpired:           \"StateExpired\",\n\t\tStateAuthFailed:        \"StateAuthFailed\",\n\t\tStateConnecting:        \"StateConnecting\",\n\t\tStateConnected:         \"StateConnected\",\n\t\tStateHasSession:        \"StateHasSession\",\n\t}\n)\n\ntype State int32\n\nfunc (s State) String() string {\n\tif name := stateNames[s]; name != \"\" {\n\t\treturn name\n\t}\n\treturn \"Unknown\"\n}\n\ntype ErrCode int32\n\nvar (\n\tErrConnectionClosed        = errors.New(\"zk: connection closed\")\n\tErrUnknown                 = errors.New(\"zk: unknown error\")\n\tErrAPIError                = errors.New(\"zk: api error\")\n\tErrNoNode                  = errors.New(\"zk: node does not exist\")\n\tErrNoAuth                  = errors.New(\"zk: not authenticated\")\n\tErrBadVersion              = errors.New(\"zk: version conflict\")\n\tErrNoChildrenForEphemerals = errors.New(\"zk: ephemeral nodes may not have children\")\n\tErrNodeExists              = errors.New(\"zk: node already exists\")\n\tErrNotEmpty                = errors.New(\"zk: node has children\")\n\tErrSessionExpired          = errors.New(\"zk: session has been expired by the server\")\n\tErrInvalidACL              = errors.New(\"zk: invalid ACL specified\")\n\tErrAuthFailed              = errors.New(\"zk: client authentication failed\")\n\tErrClosing                 = errors.New(\"zk: zookeeper is closing\")\n\tErrNothing                 = errors.New(\"zk: no server responsees to process\")\n\tErrSessionMoved            = errors.New(\"zk: session moved to another server, so operation is ignored\")\n\n\t// ErrInvalidCallback         = errors.New(\"zk: invalid callback specified\")\n\terrCodeToError = map[ErrCode]error{\n\t\t0:                          nil,\n\t\terrAPIError:                ErrAPIError,\n\t\terrNoNode:                  ErrNoNode,\n\t\terrNoAuth:                  ErrNoAuth,\n\t\terrBadVersion:              ErrBadVersion,\n\t\terrNoChildrenForEphemerals: ErrNoChildrenForEphemerals,\n\t\terrNodeExists:              ErrNodeExists,\n\t\terrNotEmpty:                ErrNotEmpty,\n\t\terrSessionExpired:          ErrSessionExpired,\n\t\t// errInvalidCallback:         ErrInvalidCallback,\n\t\terrInvalidAcl:   ErrInvalidACL,\n\t\terrAuthFailed:   ErrAuthFailed,\n\t\terrClosing:      ErrClosing,\n\t\terrNothing:      ErrNothing,\n\t\terrSessionMoved: ErrSessionMoved,\n\t}\n)\n\nfunc (e ErrCode) toError() error {\n\tif err, ok := errCodeToError[e]; ok {\n\t\treturn err\n\t}\n\treturn ErrUnknown\n}\n\nconst (\n\terrOk = 0\n\t// System and server-side errors\n\terrSystemError          = -1\n\terrRuntimeInconsistency = -2\n\terrDataInconsistency    = -3\n\terrConnectionLoss       = -4\n\terrMarshallingError     = -5\n\terrUnimplemented        = -6\n\terrOperationTimeout     = -7\n\terrBadArguments         = -8\n\terrInvalidState         = -9\n\t// API errors\n\terrAPIError                ErrCode = -100\n\terrNoNode                  ErrCode = -101 // *\n\terrNoAuth                  ErrCode = -102\n\terrBadVersion              ErrCode = -103 // *\n\terrNoChildrenForEphemerals ErrCode = -108\n\terrNodeExists              ErrCode = -110 // *\n\terrNotEmpty                ErrCode = -111\n\terrSessionExpired          ErrCode = -112\n\terrInvalidCallback         ErrCode = -113\n\terrInvalidAcl              ErrCode = -114\n\terrAuthFailed              ErrCode = -115\n\terrClosing                 ErrCode = -116\n\terrNothing                 ErrCode = -117\n\terrSessionMoved            ErrCode = -118\n)\n\n// Constants for ACL permissions\nconst (\n\tPermRead = 1 << iota\n\tPermWrite\n\tPermCreate\n\tPermDelete\n\tPermAdmin\n\tPermAll = 0x1f\n)\n\nvar (\n\temptyPassword = []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}\n\topNames       = map[int32]string{\n\t\topNotify:       \"notify\",\n\t\topCreate:       \"create\",\n\t\topDelete:       \"delete\",\n\t\topExists:       \"exists\",\n\t\topGetData:      \"getData\",\n\t\topSetData:      \"setData\",\n\t\topGetAcl:       \"getACL\",\n\t\topSetAcl:       \"setACL\",\n\t\topGetChildren:  \"getChildren\",\n\t\topSync:         \"sync\",\n\t\topPing:         \"ping\",\n\t\topGetChildren2: \"getChildren2\",\n\t\topCheck:        \"check\",\n\t\topMulti:        \"multi\",\n\t\topClose:        \"close\",\n\t\topSetAuth:      \"setAuth\",\n\t\topSetWatches:   \"setWatches\",\n\n\t\topWatcherEvent: \"watcherEvent\",\n\t}\n)\n\ntype EventType int32\n\nfunc (t EventType) String() string {\n\tif name := eventNames[t]; name != \"\" {\n\t\treturn name\n\t}\n\treturn \"Unknown\"\n}\n\n// Mode is used to build custom server modes (leader|follower|standalone).\ntype Mode uint8\n\nfunc (m Mode) String() string {\n\tif name := modeNames[m]; name != \"\" {\n\t\treturn name\n\t}\n\treturn \"unknown\"\n}\n\nconst (\n\tModeUnknown    Mode = iota\n\tModeLeader     Mode = iota\n\tModeFollower   Mode = iota\n\tModeStandalone Mode = iota\n)\n\nvar (\n\tmodeNames = map[Mode]string{\n\t\tModeLeader:     \"leader\",\n\t\tModeFollower:   \"follower\",\n\t\tModeStandalone: \"standalone\",\n\t}\n)\n"
  },
  {
    "path": "vendor/github.com/samuel/go-zookeeper/zk/dnshostprovider.go",
    "content": "package zk\n\nimport (\n\t\"fmt\"\n\t\"net\"\n\t\"sync\"\n)\n\n// DNSHostProvider is the default HostProvider. It currently matches\n// the Java StaticHostProvider, resolving hosts from DNS once during\n// the call to Init.  It could be easily extended to re-query DNS\n// periodically or if there is trouble connecting.\ntype DNSHostProvider struct {\n\tmu         sync.Mutex // Protects everything, so we can add asynchronous updates later.\n\tservers    []string\n\tcurr       int\n\tlast       int\n\tlookupHost func(string) ([]string, error) // Override of net.LookupHost, for testing.\n}\n\n// Init is called first, with the servers specified in the connection\n// string. It uses DNS to look up addresses for each server, then\n// shuffles them all together.\nfunc (hp *DNSHostProvider) Init(servers []string) error {\n\thp.mu.Lock()\n\tdefer hp.mu.Unlock()\n\n\tlookupHost := hp.lookupHost\n\tif lookupHost == nil {\n\t\tlookupHost = net.LookupHost\n\t}\n\n\tfound := []string{}\n\tfor _, server := range servers {\n\t\thost, port, err := net.SplitHostPort(server)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taddrs, err := lookupHost(host)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfor _, addr := range addrs {\n\t\t\tfound = append(found, net.JoinHostPort(addr, port))\n\t\t}\n\t}\n\n\tif len(found) == 0 {\n\t\treturn fmt.Errorf(\"No hosts found for addresses %q\", servers)\n\t}\n\n\t// Randomize the order of the servers to avoid creating hotspots\n\tstringShuffle(found)\n\n\thp.servers = found\n\thp.curr = -1\n\thp.last = -1\n\n\treturn nil\n}\n\n// Len returns the number of servers available\nfunc (hp *DNSHostProvider) Len() int {\n\thp.mu.Lock()\n\tdefer hp.mu.Unlock()\n\treturn len(hp.servers)\n}\n\n// Next returns the next server to connect to. retryStart will be true\n// if we've looped through all known servers without Connected() being\n// called.\nfunc (hp *DNSHostProvider) Next() (server string, retryStart bool) {\n\thp.mu.Lock()\n\tdefer hp.mu.Unlock()\n\thp.curr = (hp.curr + 1) % len(hp.servers)\n\tretryStart = hp.curr == hp.last\n\tif hp.last == -1 {\n\t\thp.last = 0\n\t}\n\treturn hp.servers[hp.curr], retryStart\n}\n\n// Connected notifies the HostProvider of a successful connection.\nfunc (hp *DNSHostProvider) Connected() {\n\thp.mu.Lock()\n\tdefer hp.mu.Unlock()\n\thp.last = hp.curr\n}\n"
  },
  {
    "path": "vendor/github.com/samuel/go-zookeeper/zk/flw.go",
    "content": "package zk\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"net\"\n\t\"regexp\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n)\n\n// FLWSrvr is a FourLetterWord helper function. In particular, this function pulls the srvr output\n// from the zookeeper instances and parses the output. A slice of *ServerStats structs are returned\n// as well as a boolean value to indicate whether this function processed successfully.\n//\n// If the boolean value is false there was a problem. If the *ServerStats slice is empty or nil,\n// then the error happened before we started to obtain 'srvr' values. Otherwise, one of the\n// servers had an issue and the \"Error\" value in the struct should be inspected to determine\n// which server had the issue.\nfunc FLWSrvr(servers []string, timeout time.Duration) ([]*ServerStats, bool) {\n\t// different parts of the regular expression that are required to parse the srvr output\n\tconst (\n\t\tzrVer   = `^Zookeeper version: ([A-Za-z0-9\\.\\-]+), built on (\\d\\d/\\d\\d/\\d\\d\\d\\d \\d\\d:\\d\\d [A-Za-z0-9:\\+\\-]+)`\n\t\tzrLat   = `^Latency min/avg/max: (\\d+)/(\\d+)/(\\d+)`\n\t\tzrNet   = `^Received: (\\d+).*\\n^Sent: (\\d+).*\\n^Connections: (\\d+).*\\n^Outstanding: (\\d+)`\n\t\tzrState = `^Zxid: (0x[A-Za-z0-9]+).*\\n^Mode: (\\w+).*\\n^Node count: (\\d+)`\n\t)\n\n\t// build the regex from the pieces above\n\tre, err := regexp.Compile(fmt.Sprintf(`(?m:\\A%v.*\\n%v.*\\n%v.*\\n%v)`, zrVer, zrLat, zrNet, zrState))\n\tif err != nil {\n\t\treturn nil, false\n\t}\n\n\timOk := true\n\tservers = FormatServers(servers)\n\tss := make([]*ServerStats, len(servers))\n\n\tfor i := range ss {\n\t\tresponse, err := fourLetterWord(servers[i], \"srvr\", timeout)\n\n\t\tif err != nil {\n\t\t\tss[i] = &ServerStats{Error: err}\n\t\t\timOk = false\n\t\t\tcontinue\n\t\t}\n\n\t\tmatches := re.FindAllStringSubmatch(string(response), -1)\n\n\t\tif matches == nil {\n\t\t\terr := fmt.Errorf(\"unable to parse fields from zookeeper response (no regex matches)\")\n\t\t\tss[i] = &ServerStats{Error: err}\n\t\t\timOk = false\n\t\t\tcontinue\n\t\t}\n\n\t\tmatch := matches[0][1:]\n\n\t\t// determine current server\n\t\tvar srvrMode Mode\n\t\tswitch match[10] {\n\t\tcase \"leader\":\n\t\t\tsrvrMode = ModeLeader\n\t\tcase \"follower\":\n\t\t\tsrvrMode = ModeFollower\n\t\tcase \"standalone\":\n\t\t\tsrvrMode = ModeStandalone\n\t\tdefault:\n\t\t\tsrvrMode = ModeUnknown\n\t\t}\n\n\t\tbuildTime, err := time.Parse(\"01/02/2006 15:04 MST\", match[1])\n\n\t\tif err != nil {\n\t\t\tss[i] = &ServerStats{Error: err}\n\t\t\timOk = false\n\t\t\tcontinue\n\t\t}\n\n\t\tparsedInt, err := strconv.ParseInt(match[9], 0, 64)\n\n\t\tif err != nil {\n\t\t\tss[i] = &ServerStats{Error: err}\n\t\t\timOk = false\n\t\t\tcontinue\n\t\t}\n\n\t\t// the ZxID value is an int64 with two int32s packed inside\n\t\t// the high int32 is the epoch (i.e., number of leader elections)\n\t\t// the low int32 is the counter\n\t\tepoch := int32(parsedInt >> 32)\n\t\tcounter := int32(parsedInt & 0xFFFFFFFF)\n\n\t\t// within the regex above, these values must be numerical\n\t\t// so we can avoid useless checking of the error return value\n\t\tminLatency, _ := strconv.ParseInt(match[2], 0, 64)\n\t\tavgLatency, _ := strconv.ParseInt(match[3], 0, 64)\n\t\tmaxLatency, _ := strconv.ParseInt(match[4], 0, 64)\n\t\trecv, _ := strconv.ParseInt(match[5], 0, 64)\n\t\tsent, _ := strconv.ParseInt(match[6], 0, 64)\n\t\tcons, _ := strconv.ParseInt(match[7], 0, 64)\n\t\touts, _ := strconv.ParseInt(match[8], 0, 64)\n\t\tncnt, _ := strconv.ParseInt(match[11], 0, 64)\n\n\t\tss[i] = &ServerStats{\n\t\t\tSent:        sent,\n\t\t\tReceived:    recv,\n\t\t\tNodeCount:   ncnt,\n\t\t\tMinLatency:  minLatency,\n\t\t\tAvgLatency:  avgLatency,\n\t\t\tMaxLatency:  maxLatency,\n\t\t\tConnections: cons,\n\t\t\tOutstanding: outs,\n\t\t\tEpoch:       epoch,\n\t\t\tCounter:     counter,\n\t\t\tBuildTime:   buildTime,\n\t\t\tMode:        srvrMode,\n\t\t\tVersion:     match[0],\n\t\t}\n\t}\n\n\treturn ss, imOk\n}\n\n// FLWRuok is a FourLetterWord helper function. In particular, this function\n// pulls the ruok output from each server.\nfunc FLWRuok(servers []string, timeout time.Duration) []bool {\n\tservers = FormatServers(servers)\n\toks := make([]bool, len(servers))\n\n\tfor i := range oks {\n\t\tresponse, err := fourLetterWord(servers[i], \"ruok\", timeout)\n\n\t\tif err != nil {\n\t\t\tcontinue\n\t\t}\n\n\t\tif bytes.Equal(response[:4], []byte(\"imok\")) {\n\t\t\toks[i] = true\n\t\t}\n\t}\n\treturn oks\n}\n\n// FLWCons is a FourLetterWord helper function. In particular, this function\n// pulls the ruok output from each server.\n//\n// As with FLWSrvr, the boolean value indicates whether one of the requests had\n// an issue. The Clients struct has an Error value that can be checked.\nfunc FLWCons(servers []string, timeout time.Duration) ([]*ServerClients, bool) {\n\tconst (\n\t\tzrAddr = `^ /((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?):(?:\\d+))\\[\\d+\\]`\n\t\tzrPac  = `\\(queued=(\\d+),recved=(\\d+),sent=(\\d+),sid=(0x[A-Za-z0-9]+),lop=(\\w+),est=(\\d+),to=(\\d+),`\n\t\tzrSesh = `lcxid=(0x[A-Za-z0-9]+),lzxid=(0x[A-Za-z0-9]+),lresp=(\\d+),llat=(\\d+),minlat=(\\d+),avglat=(\\d+),maxlat=(\\d+)\\)`\n\t)\n\n\tre, err := regexp.Compile(fmt.Sprintf(\"%v%v%v\", zrAddr, zrPac, zrSesh))\n\tif err != nil {\n\t\treturn nil, false\n\t}\n\n\tservers = FormatServers(servers)\n\tsc := make([]*ServerClients, len(servers))\n\timOk := true\n\n\tfor i := range sc {\n\t\tresponse, err := fourLetterWord(servers[i], \"cons\", timeout)\n\n\t\tif err != nil {\n\t\t\tsc[i] = &ServerClients{Error: err}\n\t\t\timOk = false\n\t\t\tcontinue\n\t\t}\n\n\t\tscan := bufio.NewScanner(bytes.NewReader(response))\n\n\t\tvar clients []*ServerClient\n\n\t\tfor scan.Scan() {\n\t\t\tline := scan.Bytes()\n\n\t\t\tif len(line) == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tm := re.FindAllStringSubmatch(string(line), -1)\n\n\t\t\tif m == nil {\n\t\t\t\terr := fmt.Errorf(\"unable to parse fields from zookeeper response (no regex matches)\")\n\t\t\t\tsc[i] = &ServerClients{Error: err}\n\t\t\t\timOk = false\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tmatch := m[0][1:]\n\n\t\t\tqueued, _ := strconv.ParseInt(match[1], 0, 64)\n\t\t\trecvd, _ := strconv.ParseInt(match[2], 0, 64)\n\t\t\tsent, _ := strconv.ParseInt(match[3], 0, 64)\n\t\t\tsid, _ := strconv.ParseInt(match[4], 0, 64)\n\t\t\test, _ := strconv.ParseInt(match[6], 0, 64)\n\t\t\ttimeout, _ := strconv.ParseInt(match[7], 0, 32)\n\t\t\tlcxid, _ := parseInt64(match[8])\n\t\t\tlzxid, _ := parseInt64(match[9])\n\t\t\tlresp, _ := strconv.ParseInt(match[10], 0, 64)\n\t\t\tllat, _ := strconv.ParseInt(match[11], 0, 32)\n\t\t\tminlat, _ := strconv.ParseInt(match[12], 0, 32)\n\t\t\tavglat, _ := strconv.ParseInt(match[13], 0, 32)\n\t\t\tmaxlat, _ := strconv.ParseInt(match[14], 0, 32)\n\n\t\t\tclients = append(clients, &ServerClient{\n\t\t\t\tQueued:        queued,\n\t\t\t\tReceived:      recvd,\n\t\t\t\tSent:          sent,\n\t\t\t\tSessionID:     sid,\n\t\t\t\tLcxid:         int64(lcxid),\n\t\t\t\tLzxid:         int64(lzxid),\n\t\t\t\tTimeout:       int32(timeout),\n\t\t\t\tLastLatency:   int32(llat),\n\t\t\t\tMinLatency:    int32(minlat),\n\t\t\t\tAvgLatency:    int32(avglat),\n\t\t\t\tMaxLatency:    int32(maxlat),\n\t\t\t\tEstablished:   time.Unix(est, 0),\n\t\t\t\tLastResponse:  time.Unix(lresp, 0),\n\t\t\t\tAddr:          match[0],\n\t\t\t\tLastOperation: match[5],\n\t\t\t})\n\t\t}\n\n\t\tsc[i] = &ServerClients{Clients: clients}\n\t}\n\n\treturn sc, imOk\n}\n\n// parseInt64 is similar to strconv.ParseInt, but it also handles hex values that represent negative numbers\nfunc parseInt64(s string) (int64, error) {\n\tif strings.HasPrefix(s, \"0x\") {\n\t\ti, err := strconv.ParseUint(s, 0, 64)\n\t\treturn int64(i), err\n\t}\n\treturn strconv.ParseInt(s, 0, 64)\n}\n\nfunc fourLetterWord(server, command string, timeout time.Duration) ([]byte, error) {\n\tconn, err := net.DialTimeout(\"tcp\", server, timeout)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// the zookeeper server should automatically close this socket\n\t// once the command has been processed, but better safe than sorry\n\tdefer conn.Close()\n\n\tconn.SetWriteDeadline(time.Now().Add(timeout))\n\t_, err = conn.Write([]byte(command))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tconn.SetReadDeadline(time.Now().Add(timeout))\n\treturn ioutil.ReadAll(conn)\n}\n"
  },
  {
    "path": "vendor/github.com/samuel/go-zookeeper/zk/lock.go",
    "content": "package zk\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n)\n\nvar (\n\t// ErrDeadlock is returned by Lock when trying to lock twice without unlocking first\n\tErrDeadlock = errors.New(\"zk: trying to acquire a lock twice\")\n\t// ErrNotLocked is returned by Unlock when trying to release a lock that has not first be acquired.\n\tErrNotLocked = errors.New(\"zk: not locked\")\n)\n\n// Lock is a mutual exclusion lock.\ntype Lock struct {\n\tc        *Conn\n\tpath     string\n\tacl      []ACL\n\tlockPath string\n\tseq      int\n}\n\n// NewLock creates a new lock instance using the provided connection, path, and acl.\n// The path must be a node that is only used by this lock. A lock instances starts\n// unlocked until Lock() is called.\nfunc NewLock(c *Conn, path string, acl []ACL) *Lock {\n\treturn &Lock{\n\t\tc:    c,\n\t\tpath: path,\n\t\tacl:  acl,\n\t}\n}\n\nfunc parseSeq(path string) (int, error) {\n\tparts := strings.Split(path, \"-\")\n\treturn strconv.Atoi(parts[len(parts)-1])\n}\n\n// Lock attempts to acquire the lock. It will wait to return until the lock\n// is acquired or an error occurs. If this instance already has the lock\n// then ErrDeadlock is returned.\nfunc (l *Lock) Lock() error {\n\tif l.lockPath != \"\" {\n\t\treturn ErrDeadlock\n\t}\n\n\tprefix := fmt.Sprintf(\"%s/lock-\", l.path)\n\n\tpath := \"\"\n\tvar err error\n\tfor i := 0; i < 3; i++ {\n\t\tpath, err = l.c.CreateProtectedEphemeralSequential(prefix, []byte{}, l.acl)\n\t\tif err == ErrNoNode {\n\t\t\t// Create parent node.\n\t\t\tparts := strings.Split(l.path, \"/\")\n\t\t\tpth := \"\"\n\t\t\tfor _, p := range parts[1:] {\n\t\t\t\tvar exists bool\n\t\t\t\tpth += \"/\" + p\n\t\t\t\texists, _, err = l.c.Exists(pth)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif exists == true {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t_, err = l.c.Create(pth, []byte{}, 0, l.acl)\n\t\t\t\tif err != nil && err != ErrNodeExists {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t} else if err == nil {\n\t\t\tbreak\n\t\t} else {\n\t\t\treturn err\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tseq, err := parseSeq(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tfor {\n\t\tchildren, _, err := l.c.Children(l.path)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tlowestSeq := seq\n\t\tprevSeq := -1\n\t\tprevSeqPath := \"\"\n\t\tfor _, p := range children {\n\t\t\ts, err := parseSeq(p)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif s < lowestSeq {\n\t\t\t\tlowestSeq = s\n\t\t\t}\n\t\t\tif s < seq && s > prevSeq {\n\t\t\t\tprevSeq = s\n\t\t\t\tprevSeqPath = p\n\t\t\t}\n\t\t}\n\n\t\tif seq == lowestSeq {\n\t\t\t// Acquired the lock\n\t\t\tbreak\n\t\t}\n\n\t\t// Wait on the node next in line for the lock\n\t\t_, _, ch, err := l.c.GetW(l.path + \"/\" + prevSeqPath)\n\t\tif err != nil && err != ErrNoNode {\n\t\t\treturn err\n\t\t} else if err != nil && err == ErrNoNode {\n\t\t\t// try again\n\t\t\tcontinue\n\t\t}\n\n\t\tev := <-ch\n\t\tif ev.Err != nil {\n\t\t\treturn ev.Err\n\t\t}\n\t}\n\n\tl.seq = seq\n\tl.lockPath = path\n\treturn nil\n}\n\n// Unlock releases an acquired lock. If the lock is not currently acquired by\n// this Lock instance than ErrNotLocked is returned.\nfunc (l *Lock) Unlock() error {\n\tif l.lockPath == \"\" {\n\t\treturn ErrNotLocked\n\t}\n\tif err := l.c.Delete(l.lockPath, -1); err != nil {\n\t\treturn err\n\t}\n\tl.lockPath = \"\"\n\tl.seq = 0\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/samuel/go-zookeeper/zk/server_help.go",
    "content": "package zk\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"math/rand\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"time\"\n)\n\nfunc init() {\n\trand.Seed(time.Now().UnixNano())\n}\n\ntype TestServer struct {\n\tPort int\n\tPath string\n\tSrv  *Server\n}\n\ntype TestCluster struct {\n\tPath    string\n\tServers []TestServer\n}\n\nfunc StartTestCluster(size int, stdout, stderr io.Writer) (*TestCluster, error) {\n\ttmpPath, err := ioutil.TempDir(\"\", \"gozk\")\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tsuccess := false\n\tstartPort := int(rand.Int31n(6000) + 10000)\n\tcluster := &TestCluster{Path: tmpPath}\n\tdefer func() {\n\t\tif !success {\n\t\t\tcluster.Stop()\n\t\t}\n\t}()\n\tfor serverN := 0; serverN < size; serverN++ {\n\t\tsrvPath := filepath.Join(tmpPath, fmt.Sprintf(\"srv%d\", serverN))\n\t\tif err := os.Mkdir(srvPath, 0700); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tport := startPort + serverN*3\n\t\tcfg := ServerConfig{\n\t\t\tClientPort: port,\n\t\t\tDataDir:    srvPath,\n\t\t}\n\t\tfor i := 0; i < size; i++ {\n\t\t\tcfg.Servers = append(cfg.Servers, ServerConfigServer{\n\t\t\t\tID:                 i + 1,\n\t\t\t\tHost:               \"127.0.0.1\",\n\t\t\t\tPeerPort:           startPort + i*3 + 1,\n\t\t\t\tLeaderElectionPort: startPort + i*3 + 2,\n\t\t\t})\n\t\t}\n\t\tcfgPath := filepath.Join(srvPath, \"zoo.cfg\")\n\t\tfi, err := os.Create(cfgPath)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\terr = cfg.Marshall(fi)\n\t\tfi.Close()\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tfi, err = os.Create(filepath.Join(srvPath, \"myid\"))\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\t_, err = fmt.Fprintf(fi, \"%d\\n\", serverN+1)\n\t\tfi.Close()\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tsrv := &Server{\n\t\t\tConfigPath: cfgPath,\n\t\t\tStdout:     stdout,\n\t\t\tStderr:     stderr,\n\t\t}\n\t\tif err := srv.Start(); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tcluster.Servers = append(cluster.Servers, TestServer{\n\t\t\tPath: srvPath,\n\t\t\tPort: cfg.ClientPort,\n\t\t\tSrv:  srv,\n\t\t})\n\t}\n\tif err := cluster.waitForStart(10, time.Second); err != nil {\n\t\treturn nil, err\n\t}\n\tsuccess = true\n\treturn cluster, nil\n}\n\nfunc (tc *TestCluster) Connect(idx int) (*Conn, error) {\n\tzk, _, err := Connect([]string{fmt.Sprintf(\"127.0.0.1:%d\", tc.Servers[idx].Port)}, time.Second*15)\n\treturn zk, err\n}\n\nfunc (tc *TestCluster) ConnectAll() (*Conn, <-chan Event, error) {\n\treturn tc.ConnectAllTimeout(time.Second * 15)\n}\n\nfunc (tc *TestCluster) ConnectAllTimeout(sessionTimeout time.Duration) (*Conn, <-chan Event, error) {\n\treturn tc.ConnectWithOptions(sessionTimeout)\n}\n\nfunc (tc *TestCluster) ConnectWithOptions(sessionTimeout time.Duration, options ...connOption) (*Conn, <-chan Event, error) {\n\thosts := make([]string, len(tc.Servers))\n\tfor i, srv := range tc.Servers {\n\t\thosts[i] = fmt.Sprintf(\"127.0.0.1:%d\", srv.Port)\n\t}\n\tzk, ch, err := Connect(hosts, sessionTimeout, options...)\n\treturn zk, ch, err\n}\n\nfunc (tc *TestCluster) Stop() error {\n\tfor _, srv := range tc.Servers {\n\t\tsrv.Srv.Stop()\n\t}\n\tdefer os.RemoveAll(tc.Path)\n\treturn tc.waitForStop(5, time.Second)\n}\n\n// waitForStart blocks until the cluster is up\nfunc (tc *TestCluster) waitForStart(maxRetry int, interval time.Duration) error {\n\t// verify that the servers are up with SRVR\n\tserverAddrs := make([]string, len(tc.Servers))\n\tfor i, s := range tc.Servers {\n\t\tserverAddrs[i] = fmt.Sprintf(\"127.0.0.1:%d\", s.Port)\n\t}\n\n\tfor i := 0; i < maxRetry; i++ {\n\t\t_, ok := FLWSrvr(serverAddrs, time.Second)\n\t\tif ok {\n\t\t\treturn nil\n\t\t}\n\t\ttime.Sleep(interval)\n\t}\n\treturn fmt.Errorf(\"unable to verify health of servers\")\n}\n\n// waitForStop blocks until the cluster is down\nfunc (tc *TestCluster) waitForStop(maxRetry int, interval time.Duration) error {\n\t// verify that the servers are up with RUOK\n\tserverAddrs := make([]string, len(tc.Servers))\n\tfor i, s := range tc.Servers {\n\t\tserverAddrs[i] = fmt.Sprintf(\"127.0.0.1:%d\", s.Port)\n\t}\n\n\tvar success bool\n\tfor i := 0; i < maxRetry && !success; i++ {\n\t\tsuccess = true\n\t\tfor _, ok := range FLWRuok(serverAddrs, time.Second) {\n\t\t\tif ok {\n\t\t\t\tsuccess = false\n\t\t\t}\n\t\t}\n\t\tif !success {\n\t\t\ttime.Sleep(interval)\n\t\t}\n\t}\n\tif !success {\n\t\treturn fmt.Errorf(\"unable to verify servers are down\")\n\t}\n\treturn nil\n}\n\nfunc (tc *TestCluster) StartServer(server string) {\n\tfor _, s := range tc.Servers {\n\t\tif strings.HasSuffix(server, fmt.Sprintf(\":%d\", s.Port)) {\n\t\t\ts.Srv.Start()\n\t\t\treturn\n\t\t}\n\t}\n\tpanic(fmt.Sprintf(\"Unknown server: %s\", server))\n}\n\nfunc (tc *TestCluster) StopServer(server string) {\n\tfor _, s := range tc.Servers {\n\t\tif strings.HasSuffix(server, fmt.Sprintf(\":%d\", s.Port)) {\n\t\t\ts.Srv.Stop()\n\t\t\treturn\n\t\t}\n\t}\n\tpanic(fmt.Sprintf(\"Unknown server: %s\", server))\n}\n\nfunc (tc *TestCluster) StartAllServers() error {\n\tfor _, s := range tc.Servers {\n\t\tif err := s.Srv.Start(); err != nil {\n\t\t\treturn fmt.Errorf(\n\t\t\t\t\"Failed to start server listening on port `%d` : %+v\", s.Port, err)\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc (tc *TestCluster) StopAllServers() error {\n\tfor _, s := range tc.Servers {\n\t\tif err := s.Srv.Stop(); err != nil {\n\t\t\treturn fmt.Errorf(\n\t\t\t\t\"Failed to stop server listening on port `%d` : %+v\", s.Port, err)\n\t\t}\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/samuel/go-zookeeper/zk/server_java.go",
    "content": "package zk\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path/filepath\"\n)\n\ntype ErrMissingServerConfigField string\n\nfunc (e ErrMissingServerConfigField) Error() string {\n\treturn fmt.Sprintf(\"zk: missing server config field '%s'\", string(e))\n}\n\nconst (\n\tDefaultServerTickTime                 = 2000\n\tDefaultServerInitLimit                = 10\n\tDefaultServerSyncLimit                = 5\n\tDefaultServerAutoPurgeSnapRetainCount = 3\n\tDefaultPeerPort                       = 2888\n\tDefaultLeaderElectionPort             = 3888\n)\n\ntype ServerConfigServer struct {\n\tID                 int\n\tHost               string\n\tPeerPort           int\n\tLeaderElectionPort int\n}\n\ntype ServerConfig struct {\n\tTickTime                 int    // Number of milliseconds of each tick\n\tInitLimit                int    // Number of ticks that the initial synchronization phase can take\n\tSyncLimit                int    // Number of ticks that can pass between sending a request and getting an acknowledgement\n\tDataDir                  string // Direcrory where the snapshot is stored\n\tClientPort               int    // Port at which clients will connect\n\tAutoPurgeSnapRetainCount int    // Number of snapshots to retain in dataDir\n\tAutoPurgePurgeInterval   int    // Purge task internal in hours (0 to disable auto purge)\n\tServers                  []ServerConfigServer\n}\n\nfunc (sc ServerConfig) Marshall(w io.Writer) error {\n\tif sc.DataDir == \"\" {\n\t\treturn ErrMissingServerConfigField(\"dataDir\")\n\t}\n\tfmt.Fprintf(w, \"dataDir=%s\\n\", sc.DataDir)\n\tif sc.TickTime <= 0 {\n\t\tsc.TickTime = DefaultServerTickTime\n\t}\n\tfmt.Fprintf(w, \"tickTime=%d\\n\", sc.TickTime)\n\tif sc.InitLimit <= 0 {\n\t\tsc.InitLimit = DefaultServerInitLimit\n\t}\n\tfmt.Fprintf(w, \"initLimit=%d\\n\", sc.InitLimit)\n\tif sc.SyncLimit <= 0 {\n\t\tsc.SyncLimit = DefaultServerSyncLimit\n\t}\n\tfmt.Fprintf(w, \"syncLimit=%d\\n\", sc.SyncLimit)\n\tif sc.ClientPort <= 0 {\n\t\tsc.ClientPort = DefaultPort\n\t}\n\tfmt.Fprintf(w, \"clientPort=%d\\n\", sc.ClientPort)\n\tif sc.AutoPurgePurgeInterval > 0 {\n\t\tif sc.AutoPurgeSnapRetainCount <= 0 {\n\t\t\tsc.AutoPurgeSnapRetainCount = DefaultServerAutoPurgeSnapRetainCount\n\t\t}\n\t\tfmt.Fprintf(w, \"autopurge.snapRetainCount=%d\\n\", sc.AutoPurgeSnapRetainCount)\n\t\tfmt.Fprintf(w, \"autopurge.purgeInterval=%d\\n\", sc.AutoPurgePurgeInterval)\n\t}\n\tif len(sc.Servers) > 0 {\n\t\tfor _, srv := range sc.Servers {\n\t\t\tif srv.PeerPort <= 0 {\n\t\t\t\tsrv.PeerPort = DefaultPeerPort\n\t\t\t}\n\t\t\tif srv.LeaderElectionPort <= 0 {\n\t\t\t\tsrv.LeaderElectionPort = DefaultLeaderElectionPort\n\t\t\t}\n\t\t\tfmt.Fprintf(w, \"server.%d=%s:%d:%d\\n\", srv.ID, srv.Host, srv.PeerPort, srv.LeaderElectionPort)\n\t\t}\n\t}\n\treturn nil\n}\n\nvar jarSearchPaths = []string{\n\t\"zookeeper-*/contrib/fatjar/zookeeper-*-fatjar.jar\",\n\t\"../zookeeper-*/contrib/fatjar/zookeeper-*-fatjar.jar\",\n\t\"/usr/share/java/zookeeper-*.jar\",\n\t\"/usr/local/zookeeper-*/contrib/fatjar/zookeeper-*-fatjar.jar\",\n\t\"/usr/local/Cellar/zookeeper/*/libexec/contrib/fatjar/zookeeper-*-fatjar.jar\",\n}\n\nfunc findZookeeperFatJar() string {\n\tvar paths []string\n\tzkPath := os.Getenv(\"ZOOKEEPER_PATH\")\n\tif zkPath == \"\" {\n\t\tpaths = jarSearchPaths\n\t} else {\n\t\tpaths = []string{filepath.Join(zkPath, \"contrib/fatjar/zookeeper-*-fatjar.jar\")}\n\t}\n\tfor _, path := range paths {\n\t\tmatches, _ := filepath.Glob(path)\n\t\t// TODO: could sort by version and pick latest\n\t\tif len(matches) > 0 {\n\t\t\treturn matches[0]\n\t\t}\n\t}\n\treturn \"\"\n}\n\ntype Server struct {\n\tJarPath        string\n\tConfigPath     string\n\tStdout, Stderr io.Writer\n\n\tcmd *exec.Cmd\n}\n\nfunc (srv *Server) Start() error {\n\tif srv.JarPath == \"\" {\n\t\tsrv.JarPath = findZookeeperFatJar()\n\t\tif srv.JarPath == \"\" {\n\t\t\treturn fmt.Errorf(\"zk: unable to find server jar\")\n\t\t}\n\t}\n\tsrv.cmd = exec.Command(\"java\", \"-jar\", srv.JarPath, \"server\", srv.ConfigPath)\n\tsrv.cmd.Stdout = srv.Stdout\n\tsrv.cmd.Stderr = srv.Stderr\n\treturn srv.cmd.Start()\n}\n\nfunc (srv *Server) Stop() error {\n\tsrv.cmd.Process.Signal(os.Kill)\n\treturn srv.cmd.Wait()\n}\n"
  },
  {
    "path": "vendor/github.com/samuel/go-zookeeper/zk/structs.go",
    "content": "package zk\n\nimport (\n\t\"encoding/binary\"\n\t\"errors\"\n\t\"log\"\n\t\"reflect\"\n\t\"runtime\"\n\t\"time\"\n)\n\nvar (\n\tErrUnhandledFieldType = errors.New(\"zk: unhandled field type\")\n\tErrPtrExpected        = errors.New(\"zk: encode/decode expect a non-nil pointer to struct\")\n\tErrShortBuffer        = errors.New(\"zk: buffer too small\")\n)\n\ntype defaultLogger struct{}\n\nfunc (defaultLogger) Printf(format string, a ...interface{}) {\n\tlog.Printf(format, a...)\n}\n\ntype ACL struct {\n\tPerms  int32\n\tScheme string\n\tID     string\n}\n\ntype Stat struct {\n\tCzxid          int64 // The zxid of the change that caused this znode to be created.\n\tMzxid          int64 // The zxid of the change that last modified this znode.\n\tCtime          int64 // The time in milliseconds from epoch when this znode was created.\n\tMtime          int64 // The time in milliseconds from epoch when this znode was last modified.\n\tVersion        int32 // The number of changes to the data of this znode.\n\tCversion       int32 // The number of changes to the children of this znode.\n\tAversion       int32 // The number of changes to the ACL of this znode.\n\tEphemeralOwner int64 // The session id of the owner of this znode if the znode is an ephemeral node. If it is not an ephemeral node, it will be zero.\n\tDataLength     int32 // The length of the data field of this znode.\n\tNumChildren    int32 // The number of children of this znode.\n\tPzxid          int64 // last modified children\n}\n\n// ServerClient is the information for a single Zookeeper client and its session.\n// This is used to parse/extract the output fo the `cons` command.\ntype ServerClient struct {\n\tQueued        int64\n\tReceived      int64\n\tSent          int64\n\tSessionID     int64\n\tLcxid         int64\n\tLzxid         int64\n\tTimeout       int32\n\tLastLatency   int32\n\tMinLatency    int32\n\tAvgLatency    int32\n\tMaxLatency    int32\n\tEstablished   time.Time\n\tLastResponse  time.Time\n\tAddr          string\n\tLastOperation string // maybe?\n\tError         error\n}\n\n// ServerClients is a struct for the FLWCons() function. It's used to provide\n// the list of Clients.\n//\n// This is needed because FLWCons() takes multiple servers.\ntype ServerClients struct {\n\tClients []*ServerClient\n\tError   error\n}\n\n// ServerStats is the information pulled from the Zookeeper `stat` command.\ntype ServerStats struct {\n\tSent        int64\n\tReceived    int64\n\tNodeCount   int64\n\tMinLatency  int64\n\tAvgLatency  int64\n\tMaxLatency  int64\n\tConnections int64\n\tOutstanding int64\n\tEpoch       int32\n\tCounter     int32\n\tBuildTime   time.Time\n\tMode        Mode\n\tVersion     string\n\tError       error\n}\n\ntype requestHeader struct {\n\tXid    int32\n\tOpcode int32\n}\n\ntype responseHeader struct {\n\tXid  int32\n\tZxid int64\n\tErr  ErrCode\n}\n\ntype multiHeader struct {\n\tType int32\n\tDone bool\n\tErr  ErrCode\n}\n\ntype auth struct {\n\tType   int32\n\tScheme string\n\tAuth   []byte\n}\n\n// Generic request structs\n\ntype pathRequest struct {\n\tPath string\n}\n\ntype PathVersionRequest struct {\n\tPath    string\n\tVersion int32\n}\n\ntype pathWatchRequest struct {\n\tPath  string\n\tWatch bool\n}\n\ntype pathResponse struct {\n\tPath string\n}\n\ntype statResponse struct {\n\tStat Stat\n}\n\n//\n\ntype CheckVersionRequest PathVersionRequest\ntype closeRequest struct{}\ntype closeResponse struct{}\n\ntype connectRequest struct {\n\tProtocolVersion int32\n\tLastZxidSeen    int64\n\tTimeOut         int32\n\tSessionID       int64\n\tPasswd          []byte\n}\n\ntype connectResponse struct {\n\tProtocolVersion int32\n\tTimeOut         int32\n\tSessionID       int64\n\tPasswd          []byte\n}\n\ntype CreateRequest struct {\n\tPath  string\n\tData  []byte\n\tAcl   []ACL\n\tFlags int32\n}\n\ntype createResponse pathResponse\ntype DeleteRequest PathVersionRequest\ntype deleteResponse struct{}\n\ntype errorResponse struct {\n\tErr int32\n}\n\ntype existsRequest pathWatchRequest\ntype existsResponse statResponse\ntype getAclRequest pathRequest\n\ntype getAclResponse struct {\n\tAcl  []ACL\n\tStat Stat\n}\n\ntype getChildrenRequest pathRequest\n\ntype getChildrenResponse struct {\n\tChildren []string\n}\n\ntype getChildren2Request pathWatchRequest\n\ntype getChildren2Response struct {\n\tChildren []string\n\tStat     Stat\n}\n\ntype getDataRequest pathWatchRequest\n\ntype getDataResponse struct {\n\tData []byte\n\tStat Stat\n}\n\ntype getMaxChildrenRequest pathRequest\n\ntype getMaxChildrenResponse struct {\n\tMax int32\n}\n\ntype getSaslRequest struct {\n\tToken []byte\n}\n\ntype pingRequest struct{}\ntype pingResponse struct{}\n\ntype setAclRequest struct {\n\tPath    string\n\tAcl     []ACL\n\tVersion int32\n}\n\ntype setAclResponse statResponse\n\ntype SetDataRequest struct {\n\tPath    string\n\tData    []byte\n\tVersion int32\n}\n\ntype setDataResponse statResponse\n\ntype setMaxChildren struct {\n\tPath string\n\tMax  int32\n}\n\ntype setSaslRequest struct {\n\tToken string\n}\n\ntype setSaslResponse struct {\n\tToken string\n}\n\ntype setWatchesRequest struct {\n\tRelativeZxid int64\n\tDataWatches  []string\n\tExistWatches []string\n\tChildWatches []string\n}\n\ntype setWatchesResponse struct{}\n\ntype syncRequest pathRequest\ntype syncResponse pathResponse\n\ntype setAuthRequest auth\ntype setAuthResponse struct{}\n\ntype multiRequestOp struct {\n\tHeader multiHeader\n\tOp     interface{}\n}\ntype multiRequest struct {\n\tOps        []multiRequestOp\n\tDoneHeader multiHeader\n}\ntype multiResponseOp struct {\n\tHeader multiHeader\n\tString string\n\tStat   *Stat\n\tErr    ErrCode\n}\ntype multiResponse struct {\n\tOps        []multiResponseOp\n\tDoneHeader multiHeader\n}\n\nfunc (r *multiRequest) Encode(buf []byte) (int, error) {\n\ttotal := 0\n\tfor _, op := range r.Ops {\n\t\top.Header.Done = false\n\t\tn, err := encodePacketValue(buf[total:], reflect.ValueOf(op))\n\t\tif err != nil {\n\t\t\treturn total, err\n\t\t}\n\t\ttotal += n\n\t}\n\tr.DoneHeader.Done = true\n\tn, err := encodePacketValue(buf[total:], reflect.ValueOf(r.DoneHeader))\n\tif err != nil {\n\t\treturn total, err\n\t}\n\ttotal += n\n\n\treturn total, nil\n}\n\nfunc (r *multiRequest) Decode(buf []byte) (int, error) {\n\tr.Ops = make([]multiRequestOp, 0)\n\tr.DoneHeader = multiHeader{-1, true, -1}\n\ttotal := 0\n\tfor {\n\t\theader := &multiHeader{}\n\t\tn, err := decodePacketValue(buf[total:], reflect.ValueOf(header))\n\t\tif err != nil {\n\t\t\treturn total, err\n\t\t}\n\t\ttotal += n\n\t\tif header.Done {\n\t\t\tr.DoneHeader = *header\n\t\t\tbreak\n\t\t}\n\n\t\treq := requestStructForOp(header.Type)\n\t\tif req == nil {\n\t\t\treturn total, ErrAPIError\n\t\t}\n\t\tn, err = decodePacketValue(buf[total:], reflect.ValueOf(req))\n\t\tif err != nil {\n\t\t\treturn total, err\n\t\t}\n\t\ttotal += n\n\t\tr.Ops = append(r.Ops, multiRequestOp{*header, req})\n\t}\n\treturn total, nil\n}\n\nfunc (r *multiResponse) Decode(buf []byte) (int, error) {\n\tvar multiErr error\n\n\tr.Ops = make([]multiResponseOp, 0)\n\tr.DoneHeader = multiHeader{-1, true, -1}\n\ttotal := 0\n\tfor {\n\t\theader := &multiHeader{}\n\t\tn, err := decodePacketValue(buf[total:], reflect.ValueOf(header))\n\t\tif err != nil {\n\t\t\treturn total, err\n\t\t}\n\t\ttotal += n\n\t\tif header.Done {\n\t\t\tr.DoneHeader = *header\n\t\t\tbreak\n\t\t}\n\n\t\tres := multiResponseOp{Header: *header}\n\t\tvar w reflect.Value\n\t\tswitch header.Type {\n\t\tdefault:\n\t\t\treturn total, ErrAPIError\n\t\tcase opError:\n\t\t\tw = reflect.ValueOf(&res.Err)\n\t\tcase opCreate:\n\t\t\tw = reflect.ValueOf(&res.String)\n\t\tcase opSetData:\n\t\t\tres.Stat = new(Stat)\n\t\t\tw = reflect.ValueOf(res.Stat)\n\t\tcase opCheck, opDelete:\n\t\t}\n\t\tif w.IsValid() {\n\t\t\tn, err := decodePacketValue(buf[total:], w)\n\t\t\tif err != nil {\n\t\t\t\treturn total, err\n\t\t\t}\n\t\t\ttotal += n\n\t\t}\n\t\tr.Ops = append(r.Ops, res)\n\t\tif multiErr == nil && res.Err != errOk {\n\t\t\t// Use the first error as the error returned from Multi().\n\t\t\tmultiErr = res.Err.toError()\n\t\t}\n\t}\n\treturn total, multiErr\n}\n\ntype watcherEvent struct {\n\tType  EventType\n\tState State\n\tPath  string\n}\n\ntype decoder interface {\n\tDecode(buf []byte) (int, error)\n}\n\ntype encoder interface {\n\tEncode(buf []byte) (int, error)\n}\n\nfunc decodePacket(buf []byte, st interface{}) (n int, err error) {\n\tdefer func() {\n\t\tif r := recover(); r != nil {\n\t\t\tif e, ok := r.(runtime.Error); ok && e.Error() == \"runtime error: slice bounds out of range\" {\n\t\t\t\terr = ErrShortBuffer\n\t\t\t} else {\n\t\t\t\tpanic(r)\n\t\t\t}\n\t\t}\n\t}()\n\n\tv := reflect.ValueOf(st)\n\tif v.Kind() != reflect.Ptr || v.IsNil() {\n\t\treturn 0, ErrPtrExpected\n\t}\n\treturn decodePacketValue(buf, v)\n}\n\nfunc decodePacketValue(buf []byte, v reflect.Value) (int, error) {\n\trv := v\n\tkind := v.Kind()\n\tif kind == reflect.Ptr {\n\t\tif v.IsNil() {\n\t\t\tv.Set(reflect.New(v.Type().Elem()))\n\t\t}\n\t\tv = v.Elem()\n\t\tkind = v.Kind()\n\t}\n\n\tn := 0\n\tswitch kind {\n\tdefault:\n\t\treturn n, ErrUnhandledFieldType\n\tcase reflect.Struct:\n\t\tif de, ok := rv.Interface().(decoder); ok {\n\t\t\treturn de.Decode(buf)\n\t\t} else if de, ok := v.Interface().(decoder); ok {\n\t\t\treturn de.Decode(buf)\n\t\t} else {\n\t\t\tfor i := 0; i < v.NumField(); i++ {\n\t\t\t\tfield := v.Field(i)\n\t\t\t\tn2, err := decodePacketValue(buf[n:], field)\n\t\t\t\tn += n2\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn n, err\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\tcase reflect.Bool:\n\t\tv.SetBool(buf[n] != 0)\n\t\tn++\n\tcase reflect.Int32:\n\t\tv.SetInt(int64(binary.BigEndian.Uint32(buf[n : n+4])))\n\t\tn += 4\n\tcase reflect.Int64:\n\t\tv.SetInt(int64(binary.BigEndian.Uint64(buf[n : n+8])))\n\t\tn += 8\n\tcase reflect.String:\n\t\tln := int(binary.BigEndian.Uint32(buf[n : n+4]))\n\t\tv.SetString(string(buf[n+4 : n+4+ln]))\n\t\tn += 4 + ln\n\tcase reflect.Slice:\n\t\tswitch v.Type().Elem().Kind() {\n\t\tdefault:\n\t\t\tcount := int(binary.BigEndian.Uint32(buf[n : n+4]))\n\t\t\tn += 4\n\t\t\tvalues := reflect.MakeSlice(v.Type(), count, count)\n\t\t\tv.Set(values)\n\t\t\tfor i := 0; i < count; i++ {\n\t\t\t\tn2, err := decodePacketValue(buf[n:], values.Index(i))\n\t\t\t\tn += n2\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn n, err\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Uint8:\n\t\t\tln := int(int32(binary.BigEndian.Uint32(buf[n : n+4])))\n\t\t\tif ln < 0 {\n\t\t\t\tn += 4\n\t\t\t\tv.SetBytes(nil)\n\t\t\t} else {\n\t\t\t\tbytes := make([]byte, ln)\n\t\t\t\tcopy(bytes, buf[n+4:n+4+ln])\n\t\t\t\tv.SetBytes(bytes)\n\t\t\t\tn += 4 + ln\n\t\t\t}\n\t\t}\n\t}\n\treturn n, nil\n}\n\nfunc encodePacket(buf []byte, st interface{}) (n int, err error) {\n\tdefer func() {\n\t\tif r := recover(); r != nil {\n\t\t\tif e, ok := r.(runtime.Error); ok && e.Error() == \"runtime error: slice bounds out of range\" {\n\t\t\t\terr = ErrShortBuffer\n\t\t\t} else {\n\t\t\t\tpanic(r)\n\t\t\t}\n\t\t}\n\t}()\n\n\tv := reflect.ValueOf(st)\n\tif v.Kind() != reflect.Ptr || v.IsNil() {\n\t\treturn 0, ErrPtrExpected\n\t}\n\treturn encodePacketValue(buf, v)\n}\n\nfunc encodePacketValue(buf []byte, v reflect.Value) (int, error) {\n\trv := v\n\tfor v.Kind() == reflect.Ptr || v.Kind() == reflect.Interface {\n\t\tv = v.Elem()\n\t}\n\n\tn := 0\n\tswitch v.Kind() {\n\tdefault:\n\t\treturn n, ErrUnhandledFieldType\n\tcase reflect.Struct:\n\t\tif en, ok := rv.Interface().(encoder); ok {\n\t\t\treturn en.Encode(buf)\n\t\t} else if en, ok := v.Interface().(encoder); ok {\n\t\t\treturn en.Encode(buf)\n\t\t} else {\n\t\t\tfor i := 0; i < v.NumField(); i++ {\n\t\t\t\tfield := v.Field(i)\n\t\t\t\tn2, err := encodePacketValue(buf[n:], field)\n\t\t\t\tn += n2\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn n, err\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\tcase reflect.Bool:\n\t\tif v.Bool() {\n\t\t\tbuf[n] = 1\n\t\t} else {\n\t\t\tbuf[n] = 0\n\t\t}\n\t\tn++\n\tcase reflect.Int32:\n\t\tbinary.BigEndian.PutUint32(buf[n:n+4], uint32(v.Int()))\n\t\tn += 4\n\tcase reflect.Int64:\n\t\tbinary.BigEndian.PutUint64(buf[n:n+8], uint64(v.Int()))\n\t\tn += 8\n\tcase reflect.String:\n\t\tstr := v.String()\n\t\tbinary.BigEndian.PutUint32(buf[n:n+4], uint32(len(str)))\n\t\tcopy(buf[n+4:n+4+len(str)], []byte(str))\n\t\tn += 4 + len(str)\n\tcase reflect.Slice:\n\t\tswitch v.Type().Elem().Kind() {\n\t\tdefault:\n\t\t\tcount := v.Len()\n\t\t\tstartN := n\n\t\t\tn += 4\n\t\t\tfor i := 0; i < count; i++ {\n\t\t\t\tn2, err := encodePacketValue(buf[n:], v.Index(i))\n\t\t\t\tn += n2\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn n, err\n\t\t\t\t}\n\t\t\t}\n\t\t\tbinary.BigEndian.PutUint32(buf[startN:startN+4], uint32(count))\n\t\tcase reflect.Uint8:\n\t\t\tif v.IsNil() {\n\t\t\t\tbinary.BigEndian.PutUint32(buf[n:n+4], uint32(0xffffffff))\n\t\t\t\tn += 4\n\t\t\t} else {\n\t\t\t\tbytes := v.Bytes()\n\t\t\t\tbinary.BigEndian.PutUint32(buf[n:n+4], uint32(len(bytes)))\n\t\t\t\tcopy(buf[n+4:n+4+len(bytes)], bytes)\n\t\t\t\tn += 4 + len(bytes)\n\t\t\t}\n\t\t}\n\t}\n\treturn n, nil\n}\n\nfunc requestStructForOp(op int32) interface{} {\n\tswitch op {\n\tcase opClose:\n\t\treturn &closeRequest{}\n\tcase opCreate:\n\t\treturn &CreateRequest{}\n\tcase opDelete:\n\t\treturn &DeleteRequest{}\n\tcase opExists:\n\t\treturn &existsRequest{}\n\tcase opGetAcl:\n\t\treturn &getAclRequest{}\n\tcase opGetChildren:\n\t\treturn &getChildrenRequest{}\n\tcase opGetChildren2:\n\t\treturn &getChildren2Request{}\n\tcase opGetData:\n\t\treturn &getDataRequest{}\n\tcase opPing:\n\t\treturn &pingRequest{}\n\tcase opSetAcl:\n\t\treturn &setAclRequest{}\n\tcase opSetData:\n\t\treturn &SetDataRequest{}\n\tcase opSetWatches:\n\t\treturn &setWatchesRequest{}\n\tcase opSync:\n\t\treturn &syncRequest{}\n\tcase opSetAuth:\n\t\treturn &setAuthRequest{}\n\tcase opCheck:\n\t\treturn &CheckVersionRequest{}\n\tcase opMulti:\n\t\treturn &multiRequest{}\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/samuel/go-zookeeper/zk/util.go",
    "content": "package zk\n\nimport (\n\t\"crypto/sha1\"\n\t\"encoding/base64\"\n\t\"fmt\"\n\t\"math/rand\"\n\t\"strconv\"\n\t\"strings\"\n\t\"unicode/utf8\"\n)\n\n// AuthACL produces an ACL list containing a single ACL which uses the\n// provided permissions, with the scheme \"auth\", and ID \"\", which is used\n// by ZooKeeper to represent any authenticated user.\nfunc AuthACL(perms int32) []ACL {\n\treturn []ACL{{perms, \"auth\", \"\"}}\n}\n\n// WorldACL produces an ACL list containing a single ACL which uses the\n// provided permissions, with the scheme \"world\", and ID \"anyone\", which\n// is used by ZooKeeper to represent any user at all.\nfunc WorldACL(perms int32) []ACL {\n\treturn []ACL{{perms, \"world\", \"anyone\"}}\n}\n\nfunc DigestACL(perms int32, user, password string) []ACL {\n\tuserPass := []byte(fmt.Sprintf(\"%s:%s\", user, password))\n\th := sha1.New()\n\tif n, err := h.Write(userPass); err != nil || n != len(userPass) {\n\t\tpanic(\"SHA1 failed\")\n\t}\n\tdigest := base64.StdEncoding.EncodeToString(h.Sum(nil))\n\treturn []ACL{{perms, \"digest\", fmt.Sprintf(\"%s:%s\", user, digest)}}\n}\n\n// FormatServers takes a slice of addresses, and makes sure they are in a format\n// that resembles <addr>:<port>. If the server has no port provided, the\n// DefaultPort constant is added to the end.\nfunc FormatServers(servers []string) []string {\n\tfor i := range servers {\n\t\tif !strings.Contains(servers[i], \":\") {\n\t\t\tservers[i] = servers[i] + \":\" + strconv.Itoa(DefaultPort)\n\t\t}\n\t}\n\treturn servers\n}\n\n// stringShuffle performs a Fisher-Yates shuffle on a slice of strings\nfunc stringShuffle(s []string) {\n\tfor i := len(s) - 1; i > 0; i-- {\n\t\tj := rand.Intn(i + 1)\n\t\ts[i], s[j] = s[j], s[i]\n\t}\n}\n\n// validatePath will make sure a path is valid before sending the request\nfunc validatePath(path string, isSequential bool) error {\n\tif path == \"\" {\n\t\treturn ErrInvalidPath\n\t}\n\n\tif path[0] != '/' {\n\t\treturn ErrInvalidPath\n\t}\n\n\tn := len(path)\n\tif n == 1 {\n\t\t// path is just the root\n\t\treturn nil\n\t}\n\n\tif !isSequential && path[n-1] == '/' {\n\t\treturn ErrInvalidPath\n\t}\n\n\t// Start at rune 1 since we already know that the first character is\n\t// a '/'.\n\tfor i, w := 1, 0; i < n; i += w {\n\t\tr, width := utf8.DecodeRuneInString(path[i:])\n\t\tswitch {\n\t\tcase r == '\\u0000':\n\t\t\treturn ErrInvalidPath\n\t\tcase r == '/':\n\t\t\tlast, _ := utf8.DecodeLastRuneInString(path[:i])\n\t\t\tif last == '/' {\n\t\t\t\treturn ErrInvalidPath\n\t\t\t}\n\t\tcase r == '.':\n\t\t\tlast, lastWidth := utf8.DecodeLastRuneInString(path[:i])\n\n\t\t\t// Check for double dot\n\t\t\tif last == '.' {\n\t\t\t\tlast, _ = utf8.DecodeLastRuneInString(path[:i-lastWidth])\n\t\t\t}\n\n\t\t\tif last == '/' {\n\t\t\t\tif i+1 == n {\n\t\t\t\t\treturn ErrInvalidPath\n\t\t\t\t}\n\n\t\t\t\tnext, _ := utf8.DecodeRuneInString(path[i+w:])\n\t\t\t\tif next == '/' {\n\t\t\t\t\treturn ErrInvalidPath\n\t\t\t\t}\n\t\t\t}\n\t\tcase r >= '\\u0000' && r <= '\\u001f',\n\t\t\tr >= '\\u007f' && r <= '\\u009f',\n\t\t\tr >= '\\uf000' && r <= '\\uf8ff',\n\t\t\tr >= '\\ufff0' && r < '\\uffff':\n\t\t\treturn ErrInvalidPath\n\t\t}\n\t\tw = width\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/cobra/LICENSE.txt",
    "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"
  },
  {
    "path": "vendor/github.com/spf13/cobra/args.go",
    "content": "package cobra\n\nimport (\n\t\"fmt\"\n)\n\ntype PositionalArgs func(cmd *Command, args []string) error\n\n// Legacy arg validation has the following behaviour:\n// - root commands with no subcommands can take arbitrary arguments\n// - root commands with subcommands will do subcommand validity checking\n// - subcommands will always accept arbitrary arguments\nfunc legacyArgs(cmd *Command, args []string) error {\n\t// no subcommand, always take args\n\tif !cmd.HasSubCommands() {\n\t\treturn nil\n\t}\n\n\t// root command with subcommands, do subcommand checking.\n\tif !cmd.HasParent() && len(args) > 0 {\n\t\treturn fmt.Errorf(\"unknown command %q for %q%s\", args[0], cmd.CommandPath(), cmd.findSuggestions(args[0]))\n\t}\n\treturn nil\n}\n\n// NoArgs returns an error if any args are included.\nfunc NoArgs(cmd *Command, args []string) error {\n\tif len(args) > 0 {\n\t\treturn fmt.Errorf(\"unknown command %q for %q\", args[0], cmd.CommandPath())\n\t}\n\treturn nil\n}\n\n// OnlyValidArgs returns an error if any args are not in the list of ValidArgs.\nfunc OnlyValidArgs(cmd *Command, args []string) error {\n\tif len(cmd.ValidArgs) > 0 {\n\t\tfor _, v := range args {\n\t\t\tif !stringInSlice(v, cmd.ValidArgs) {\n\t\t\t\treturn fmt.Errorf(\"invalid argument %q for %q%s\", v, cmd.CommandPath(), cmd.findSuggestions(args[0]))\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\n// ArbitraryArgs never returns an error.\nfunc ArbitraryArgs(cmd *Command, args []string) error {\n\treturn nil\n}\n\n// MinimumNArgs returns an error if there is not at least N args.\nfunc MinimumNArgs(n int) PositionalArgs {\n\treturn func(cmd *Command, args []string) error {\n\t\tif len(args) < n {\n\t\t\treturn fmt.Errorf(\"requires at least %d arg(s), only received %d\", n, len(args))\n\t\t}\n\t\treturn nil\n\t}\n}\n\n// MaximumNArgs returns an error if there are more than N args.\nfunc MaximumNArgs(n int) PositionalArgs {\n\treturn func(cmd *Command, args []string) error {\n\t\tif len(args) > n {\n\t\t\treturn fmt.Errorf(\"accepts at most %d arg(s), received %d\", n, len(args))\n\t\t}\n\t\treturn nil\n\t}\n}\n\n// ExactArgs returns an error if there are not exactly n args.\nfunc ExactArgs(n int) PositionalArgs {\n\treturn func(cmd *Command, args []string) error {\n\t\tif len(args) != n {\n\t\t\treturn fmt.Errorf(\"accepts %d arg(s), received %d\", n, len(args))\n\t\t}\n\t\treturn nil\n\t}\n}\n\n// RangeArgs returns an error if the number of args is not within the expected range.\nfunc RangeArgs(min int, max int) PositionalArgs {\n\treturn func(cmd *Command, args []string) error {\n\t\tif len(args) < min || len(args) > max {\n\t\t\treturn fmt.Errorf(\"accepts between %d and %d arg(s), received %d\", min, max, len(args))\n\t\t}\n\t\treturn nil\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/cobra/bash_completions.go",
    "content": "package cobra\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"sort\"\n\t\"strings\"\n\n\t\"github.com/spf13/pflag\"\n)\n\n// Annotations for Bash completion.\nconst (\n\tBashCompFilenameExt     = \"cobra_annotation_bash_completion_filename_extensions\"\n\tBashCompCustom          = \"cobra_annotation_bash_completion_custom\"\n\tBashCompOneRequiredFlag = \"cobra_annotation_bash_completion_one_required_flag\"\n\tBashCompSubdirsInDir    = \"cobra_annotation_bash_completion_subdirs_in_dir\"\n)\n\nfunc writePreamble(buf *bytes.Buffer, name string) {\n\tbuf.WriteString(fmt.Sprintf(\"# bash completion for %-36s -*- shell-script -*-\\n\", name))\n\tbuf.WriteString(`\n__debug()\n{\n    if [[ -n ${BASH_COMP_DEBUG_FILE} ]]; then\n        echo \"$*\" >> \"${BASH_COMP_DEBUG_FILE}\"\n    fi\n}\n\n# Homebrew on Macs have version 1.3 of bash-completion which doesn't include\n# _init_completion. This is a very minimal version of that function.\n__my_init_completion()\n{\n    COMPREPLY=()\n    _get_comp_words_by_ref \"$@\" cur prev words cword\n}\n\n__index_of_word()\n{\n    local w word=$1\n    shift\n    index=0\n    for w in \"$@\"; do\n        [[ $w = \"$word\" ]] && return\n        index=$((index+1))\n    done\n    index=-1\n}\n\n__contains_word()\n{\n    local w word=$1; shift\n    for w in \"$@\"; do\n        [[ $w = \"$word\" ]] && return\n    done\n    return 1\n}\n\n__handle_reply()\n{\n    __debug \"${FUNCNAME[0]}\"\n    case $cur in\n        -*)\n            if [[ $(type -t compopt) = \"builtin\" ]]; then\n                compopt -o nospace\n            fi\n            local allflags\n            if [ ${#must_have_one_flag[@]} -ne 0 ]; then\n                allflags=(\"${must_have_one_flag[@]}\")\n            else\n                allflags=(\"${flags[*]} ${two_word_flags[*]}\")\n            fi\n            COMPREPLY=( $(compgen -W \"${allflags[*]}\" -- \"$cur\") )\n            if [[ $(type -t compopt) = \"builtin\" ]]; then\n                [[ \"${COMPREPLY[0]}\" == *= ]] || compopt +o nospace\n            fi\n\n            # complete after --flag=abc\n            if [[ $cur == *=* ]]; then\n                if [[ $(type -t compopt) = \"builtin\" ]]; then\n                    compopt +o nospace\n                fi\n\n                local index flag\n                flag=\"${cur%%=*}\"\n                __index_of_word \"${flag}\" \"${flags_with_completion[@]}\"\n                COMPREPLY=()\n                if [[ ${index} -ge 0 ]]; then\n                    PREFIX=\"\"\n                    cur=\"${cur#*=}\"\n                    ${flags_completion[${index}]}\n                    if [ -n \"${ZSH_VERSION}\" ]; then\n                        # zsh completion needs --flag= prefix\n                        eval \"COMPREPLY=( \\\"\\${COMPREPLY[@]/#/${flag}=}\\\" )\"\n                    fi\n                fi\n            fi\n            return 0;\n            ;;\n    esac\n\n    # check if we are handling a flag with special work handling\n    local index\n    __index_of_word \"${prev}\" \"${flags_with_completion[@]}\"\n    if [[ ${index} -ge 0 ]]; then\n        ${flags_completion[${index}]}\n        return\n    fi\n\n    # we are parsing a flag and don't have a special handler, no completion\n    if [[ ${cur} != \"${words[cword]}\" ]]; then\n        return\n    fi\n\n    local completions\n    completions=(\"${commands[@]}\")\n    if [[ ${#must_have_one_noun[@]} -ne 0 ]]; then\n        completions=(\"${must_have_one_noun[@]}\")\n    fi\n    if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then\n        completions+=(\"${must_have_one_flag[@]}\")\n    fi\n    COMPREPLY=( $(compgen -W \"${completions[*]}\" -- \"$cur\") )\n\n    if [[ ${#COMPREPLY[@]} -eq 0 && ${#noun_aliases[@]} -gt 0 && ${#must_have_one_noun[@]} -ne 0 ]]; then\n        COMPREPLY=( $(compgen -W \"${noun_aliases[*]}\" -- \"$cur\") )\n    fi\n\n    if [[ ${#COMPREPLY[@]} -eq 0 ]]; then\n        declare -F __custom_func >/dev/null && __custom_func\n    fi\n\n    # available in bash-completion >= 2, not always present on macOS\n    if declare -F __ltrim_colon_completions >/dev/null; then\n        __ltrim_colon_completions \"$cur\"\n    fi\n}\n\n# The arguments should be in the form \"ext1|ext2|extn\"\n__handle_filename_extension_flag()\n{\n    local ext=\"$1\"\n    _filedir \"@(${ext})\"\n}\n\n__handle_subdirs_in_dir_flag()\n{\n    local dir=\"$1\"\n    pushd \"${dir}\" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1\n}\n\n__handle_flag()\n{\n    __debug \"${FUNCNAME[0]}: c is $c words[c] is ${words[c]}\"\n\n    # if a command required a flag, and we found it, unset must_have_one_flag()\n    local flagname=${words[c]}\n    local flagvalue\n    # if the word contained an =\n    if [[ ${words[c]} == *\"=\"* ]]; then\n        flagvalue=${flagname#*=} # take in as flagvalue after the =\n        flagname=${flagname%%=*} # strip everything after the =\n        flagname=\"${flagname}=\" # but put the = back\n    fi\n    __debug \"${FUNCNAME[0]}: looking for ${flagname}\"\n    if __contains_word \"${flagname}\" \"${must_have_one_flag[@]}\"; then\n        must_have_one_flag=()\n    fi\n\n    # if you set a flag which only applies to this command, don't show subcommands\n    if __contains_word \"${flagname}\" \"${local_nonpersistent_flags[@]}\"; then\n      commands=()\n    fi\n\n    # keep flag value with flagname as flaghash\n    if [ -n \"${flagvalue}\" ] ; then\n        flaghash[${flagname}]=${flagvalue}\n    elif [ -n \"${words[ $((c+1)) ]}\" ] ; then\n        flaghash[${flagname}]=${words[ $((c+1)) ]}\n    else\n        flaghash[${flagname}]=\"true\" # pad \"true\" for bool flag\n    fi\n\n    # skip the argument to a two word flag\n    if __contains_word \"${words[c]}\" \"${two_word_flags[@]}\"; then\n        c=$((c+1))\n        # if we are looking for a flags value, don't show commands\n        if [[ $c -eq $cword ]]; then\n            commands=()\n        fi\n    fi\n\n    c=$((c+1))\n\n}\n\n__handle_noun()\n{\n    __debug \"${FUNCNAME[0]}: c is $c words[c] is ${words[c]}\"\n\n    if __contains_word \"${words[c]}\" \"${must_have_one_noun[@]}\"; then\n        must_have_one_noun=()\n    elif __contains_word \"${words[c]}\" \"${noun_aliases[@]}\"; then\n        must_have_one_noun=()\n    fi\n\n    nouns+=(\"${words[c]}\")\n    c=$((c+1))\n}\n\n__handle_command()\n{\n    __debug \"${FUNCNAME[0]}: c is $c words[c] is ${words[c]}\"\n\n    local next_command\n    if [[ -n ${last_command} ]]; then\n        next_command=\"_${last_command}_${words[c]//:/__}\"\n    else\n        if [[ $c -eq 0 ]]; then\n            next_command=\"_$(basename \"${words[c]//:/__}\")\"\n        else\n            next_command=\"_${words[c]//:/__}\"\n        fi\n    fi\n    c=$((c+1))\n    __debug \"${FUNCNAME[0]}: looking for ${next_command}\"\n    declare -F \"$next_command\" >/dev/null && $next_command\n}\n\n__handle_word()\n{\n    if [[ $c -ge $cword ]]; then\n        __handle_reply\n        return\n    fi\n    __debug \"${FUNCNAME[0]}: c is $c words[c] is ${words[c]}\"\n    if [[ \"${words[c]}\" == -* ]]; then\n        __handle_flag\n    elif __contains_word \"${words[c]}\" \"${commands[@]}\"; then\n        __handle_command\n    elif [[ $c -eq 0 ]] && __contains_word \"$(basename \"${words[c]}\")\" \"${commands[@]}\"; then\n        __handle_command\n    else\n        __handle_noun\n    fi\n    __handle_word\n}\n\n`)\n}\n\nfunc writePostscript(buf *bytes.Buffer, name string) {\n\tname = strings.Replace(name, \":\", \"__\", -1)\n\tbuf.WriteString(fmt.Sprintf(\"__start_%s()\\n\", name))\n\tbuf.WriteString(fmt.Sprintf(`{\n    local cur prev words cword\n    declare -A flaghash 2>/dev/null || :\n    if declare -F _init_completion >/dev/null 2>&1; then\n        _init_completion -s || return\n    else\n        __my_init_completion -n \"=\" || return\n    fi\n\n    local c=0\n    local flags=()\n    local two_word_flags=()\n    local local_nonpersistent_flags=()\n    local flags_with_completion=()\n    local flags_completion=()\n    local commands=(\"%s\")\n    local must_have_one_flag=()\n    local must_have_one_noun=()\n    local last_command\n    local nouns=()\n\n    __handle_word\n}\n\n`, name))\n\tbuf.WriteString(fmt.Sprintf(`if [[ $(type -t compopt) = \"builtin\" ]]; then\n    complete -o default -F __start_%s %s\nelse\n    complete -o default -o nospace -F __start_%s %s\nfi\n\n`, name, name, name, name))\n\tbuf.WriteString(\"# ex: ts=4 sw=4 et filetype=sh\\n\")\n}\n\nfunc writeCommands(buf *bytes.Buffer, cmd *Command) {\n\tbuf.WriteString(\"    commands=()\\n\")\n\tfor _, c := range cmd.Commands() {\n\t\tif !c.IsAvailableCommand() || c == cmd.helpCommand {\n\t\t\tcontinue\n\t\t}\n\t\tbuf.WriteString(fmt.Sprintf(\"    commands+=(%q)\\n\", c.Name()))\n\t}\n\tbuf.WriteString(\"\\n\")\n}\n\nfunc writeFlagHandler(buf *bytes.Buffer, name string, annotations map[string][]string) {\n\tfor key, value := range annotations {\n\t\tswitch key {\n\t\tcase BashCompFilenameExt:\n\t\t\tbuf.WriteString(fmt.Sprintf(\"    flags_with_completion+=(%q)\\n\", name))\n\n\t\t\tvar ext string\n\t\t\tif len(value) > 0 {\n\t\t\t\text = \"__handle_filename_extension_flag \" + strings.Join(value, \"|\")\n\t\t\t} else {\n\t\t\t\text = \"_filedir\"\n\t\t\t}\n\t\t\tbuf.WriteString(fmt.Sprintf(\"    flags_completion+=(%q)\\n\", ext))\n\t\tcase BashCompCustom:\n\t\t\tbuf.WriteString(fmt.Sprintf(\"    flags_with_completion+=(%q)\\n\", name))\n\t\t\tif len(value) > 0 {\n\t\t\t\thandlers := strings.Join(value, \"; \")\n\t\t\t\tbuf.WriteString(fmt.Sprintf(\"    flags_completion+=(%q)\\n\", handlers))\n\t\t\t} else {\n\t\t\t\tbuf.WriteString(\"    flags_completion+=(:)\\n\")\n\t\t\t}\n\t\tcase BashCompSubdirsInDir:\n\t\t\tbuf.WriteString(fmt.Sprintf(\"    flags_with_completion+=(%q)\\n\", name))\n\n\t\t\tvar ext string\n\t\t\tif len(value) == 1 {\n\t\t\t\text = \"__handle_subdirs_in_dir_flag \" + value[0]\n\t\t\t} else {\n\t\t\t\text = \"_filedir -d\"\n\t\t\t}\n\t\t\tbuf.WriteString(fmt.Sprintf(\"    flags_completion+=(%q)\\n\", ext))\n\t\t}\n\t}\n}\n\nfunc writeShortFlag(buf *bytes.Buffer, flag *pflag.Flag) {\n\tname := flag.Shorthand\n\tformat := \"    \"\n\tif len(flag.NoOptDefVal) == 0 {\n\t\tformat += \"two_word_\"\n\t}\n\tformat += \"flags+=(\\\"-%s\\\")\\n\"\n\tbuf.WriteString(fmt.Sprintf(format, name))\n\twriteFlagHandler(buf, \"-\"+name, flag.Annotations)\n}\n\nfunc writeFlag(buf *bytes.Buffer, flag *pflag.Flag) {\n\tname := flag.Name\n\tformat := \"    flags+=(\\\"--%s\"\n\tif len(flag.NoOptDefVal) == 0 {\n\t\tformat += \"=\"\n\t}\n\tformat += \"\\\")\\n\"\n\tbuf.WriteString(fmt.Sprintf(format, name))\n\twriteFlagHandler(buf, \"--\"+name, flag.Annotations)\n}\n\nfunc writeLocalNonPersistentFlag(buf *bytes.Buffer, flag *pflag.Flag) {\n\tname := flag.Name\n\tformat := \"    local_nonpersistent_flags+=(\\\"--%s\"\n\tif len(flag.NoOptDefVal) == 0 {\n\t\tformat += \"=\"\n\t}\n\tformat += \"\\\")\\n\"\n\tbuf.WriteString(fmt.Sprintf(format, name))\n}\n\nfunc writeFlags(buf *bytes.Buffer, cmd *Command) {\n\tbuf.WriteString(`    flags=()\n    two_word_flags=()\n    local_nonpersistent_flags=()\n    flags_with_completion=()\n    flags_completion=()\n\n`)\n\tlocalNonPersistentFlags := cmd.LocalNonPersistentFlags()\n\tcmd.NonInheritedFlags().VisitAll(func(flag *pflag.Flag) {\n\t\tif nonCompletableFlag(flag) {\n\t\t\treturn\n\t\t}\n\t\twriteFlag(buf, flag)\n\t\tif len(flag.Shorthand) > 0 {\n\t\t\twriteShortFlag(buf, flag)\n\t\t}\n\t\tif localNonPersistentFlags.Lookup(flag.Name) != nil {\n\t\t\twriteLocalNonPersistentFlag(buf, flag)\n\t\t}\n\t})\n\tcmd.InheritedFlags().VisitAll(func(flag *pflag.Flag) {\n\t\tif nonCompletableFlag(flag) {\n\t\t\treturn\n\t\t}\n\t\twriteFlag(buf, flag)\n\t\tif len(flag.Shorthand) > 0 {\n\t\t\twriteShortFlag(buf, flag)\n\t\t}\n\t})\n\n\tbuf.WriteString(\"\\n\")\n}\n\nfunc writeRequiredFlag(buf *bytes.Buffer, cmd *Command) {\n\tbuf.WriteString(\"    must_have_one_flag=()\\n\")\n\tflags := cmd.NonInheritedFlags()\n\tflags.VisitAll(func(flag *pflag.Flag) {\n\t\tif nonCompletableFlag(flag) {\n\t\t\treturn\n\t\t}\n\t\tfor key := range flag.Annotations {\n\t\t\tswitch key {\n\t\t\tcase BashCompOneRequiredFlag:\n\t\t\t\tformat := \"    must_have_one_flag+=(\\\"--%s\"\n\t\t\t\tif flag.Value.Type() != \"bool\" {\n\t\t\t\t\tformat += \"=\"\n\t\t\t\t}\n\t\t\t\tformat += \"\\\")\\n\"\n\t\t\t\tbuf.WriteString(fmt.Sprintf(format, flag.Name))\n\n\t\t\t\tif len(flag.Shorthand) > 0 {\n\t\t\t\t\tbuf.WriteString(fmt.Sprintf(\"    must_have_one_flag+=(\\\"-%s\\\")\\n\", flag.Shorthand))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunc writeRequiredNouns(buf *bytes.Buffer, cmd *Command) {\n\tbuf.WriteString(\"    must_have_one_noun=()\\n\")\n\tsort.Sort(sort.StringSlice(cmd.ValidArgs))\n\tfor _, value := range cmd.ValidArgs {\n\t\tbuf.WriteString(fmt.Sprintf(\"    must_have_one_noun+=(%q)\\n\", value))\n\t}\n}\n\nfunc writeArgAliases(buf *bytes.Buffer, cmd *Command) {\n\tbuf.WriteString(\"    noun_aliases=()\\n\")\n\tsort.Sort(sort.StringSlice(cmd.ArgAliases))\n\tfor _, value := range cmd.ArgAliases {\n\t\tbuf.WriteString(fmt.Sprintf(\"    noun_aliases+=(%q)\\n\", value))\n\t}\n}\n\nfunc gen(buf *bytes.Buffer, cmd *Command) {\n\tfor _, c := range cmd.Commands() {\n\t\tif !c.IsAvailableCommand() || c == cmd.helpCommand {\n\t\t\tcontinue\n\t\t}\n\t\tgen(buf, c)\n\t}\n\tcommandName := cmd.CommandPath()\n\tcommandName = strings.Replace(commandName, \" \", \"_\", -1)\n\tcommandName = strings.Replace(commandName, \":\", \"__\", -1)\n\tbuf.WriteString(fmt.Sprintf(\"_%s()\\n{\\n\", commandName))\n\tbuf.WriteString(fmt.Sprintf(\"    last_command=%q\\n\", commandName))\n\twriteCommands(buf, cmd)\n\twriteFlags(buf, cmd)\n\twriteRequiredFlag(buf, cmd)\n\twriteRequiredNouns(buf, cmd)\n\twriteArgAliases(buf, cmd)\n\tbuf.WriteString(\"}\\n\\n\")\n}\n\n// GenBashCompletion generates bash completion file and writes to the passed writer.\nfunc (c *Command) GenBashCompletion(w io.Writer) error {\n\tbuf := new(bytes.Buffer)\n\twritePreamble(buf, c.Name())\n\tif len(c.BashCompletionFunction) > 0 {\n\t\tbuf.WriteString(c.BashCompletionFunction + \"\\n\")\n\t}\n\tgen(buf, c)\n\twritePostscript(buf, c.Name())\n\n\t_, err := buf.WriteTo(w)\n\treturn err\n}\n\nfunc nonCompletableFlag(flag *pflag.Flag) bool {\n\treturn flag.Hidden || len(flag.Deprecated) > 0\n}\n\n// GenBashCompletionFile generates bash completion file.\nfunc (c *Command) GenBashCompletionFile(filename string) error {\n\toutFile, err := os.Create(filename)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer outFile.Close()\n\n\treturn c.GenBashCompletion(outFile)\n}\n\n// MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag, if it exists.\nfunc (c *Command) MarkFlagRequired(name string) error {\n\treturn MarkFlagRequired(c.Flags(), name)\n}\n\n// MarkPersistentFlagRequired adds the BashCompOneRequiredFlag annotation to the named persistent flag, if it exists.\nfunc (c *Command) MarkPersistentFlagRequired(name string) error {\n\treturn MarkFlagRequired(c.PersistentFlags(), name)\n}\n\n// MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag in the flag set, if it exists.\nfunc MarkFlagRequired(flags *pflag.FlagSet, name string) error {\n\treturn flags.SetAnnotation(name, BashCompOneRequiredFlag, []string{\"true\"})\n}\n\n// MarkFlagFilename adds the BashCompFilenameExt annotation to the named flag, if it exists.\n// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided.\nfunc (c *Command) MarkFlagFilename(name string, extensions ...string) error {\n\treturn MarkFlagFilename(c.Flags(), name, extensions...)\n}\n\n// MarkFlagCustom adds the BashCompCustom annotation to the named flag, if it exists.\n// Generated bash autocompletion will call the bash function f for the flag.\nfunc (c *Command) MarkFlagCustom(name string, f string) error {\n\treturn MarkFlagCustom(c.Flags(), name, f)\n}\n\n// MarkPersistentFlagFilename adds the BashCompFilenameExt annotation to the named persistent flag, if it exists.\n// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided.\nfunc (c *Command) MarkPersistentFlagFilename(name string, extensions ...string) error {\n\treturn MarkFlagFilename(c.PersistentFlags(), name, extensions...)\n}\n\n// MarkFlagFilename adds the BashCompFilenameExt annotation to the named flag in the flag set, if it exists.\n// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided.\nfunc MarkFlagFilename(flags *pflag.FlagSet, name string, extensions ...string) error {\n\treturn flags.SetAnnotation(name, BashCompFilenameExt, extensions)\n}\n\n// MarkFlagCustom adds the BashCompCustom annotation to the named flag in the flag set, if it exists.\n// Generated bash autocompletion will call the bash function f for the flag.\nfunc MarkFlagCustom(flags *pflag.FlagSet, name string, f string) error {\n\treturn flags.SetAnnotation(name, BashCompCustom, []string{f})\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/cobra/cobra.go",
    "content": "// Copyright © 2013 Steve Francia <spf@spf13.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// 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// Commands similar to git, go tools and other modern CLI tools\n// inspired by go, go-Commander, gh and subcommand\n\npackage cobra\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"strings\"\n\t\"text/template\"\n\t\"unicode\"\n)\n\nvar templateFuncs = template.FuncMap{\n\t\"trim\":                    strings.TrimSpace,\n\t\"trimRightSpace\":          trimRightSpace,\n\t\"trimTrailingWhitespaces\": trimRightSpace,\n\t\"appendIfNotPresent\":      appendIfNotPresent,\n\t\"rpad\":                    rpad,\n\t\"gt\":                      Gt,\n\t\"eq\":                      Eq,\n}\n\nvar initializers []func()\n\n// EnablePrefixMatching allows to set automatic prefix matching. Automatic prefix matching can be a dangerous thing\n// to automatically enable in CLI tools.\n// Set this to true to enable it.\nvar EnablePrefixMatching = false\n\n// EnableCommandSorting controls sorting of the slice of commands, which is turned on by default.\n// To disable sorting, set it to false.\nvar EnableCommandSorting = true\n\n// MousetrapHelpText enables an information splash screen on Windows\n// if the CLI is started from explorer.exe.\n// To disable the mousetrap, just set this variable to blank string (\"\").\n// Works only on Microsoft Windows.\nvar MousetrapHelpText string = `This is a command line tool.\n\nYou need to open cmd.exe and run it from there.\n`\n\n// AddTemplateFunc adds a template function that's available to Usage and Help\n// template generation.\nfunc AddTemplateFunc(name string, tmplFunc interface{}) {\n\ttemplateFuncs[name] = tmplFunc\n}\n\n// AddTemplateFuncs adds multiple template functions that are available to Usage and\n// Help template generation.\nfunc AddTemplateFuncs(tmplFuncs template.FuncMap) {\n\tfor k, v := range tmplFuncs {\n\t\ttemplateFuncs[k] = v\n\t}\n}\n\n// OnInitialize sets the passed functions to be run when each command's\n// Execute method is called.\nfunc OnInitialize(y ...func()) {\n\tinitializers = append(initializers, y...)\n}\n\n// FIXME Gt is unused by cobra and should be removed in a version 2. It exists only for compatibility with users of cobra.\n\n// Gt takes two types and checks whether the first type is greater than the second. In case of types Arrays, Chans,\n// Maps and Slices, Gt will compare their lengths. Ints are compared directly while strings are first parsed as\n// ints and then compared.\nfunc Gt(a interface{}, b interface{}) bool {\n\tvar left, right int64\n\tav := reflect.ValueOf(a)\n\n\tswitch av.Kind() {\n\tcase reflect.Array, reflect.Chan, reflect.Map, reflect.Slice:\n\t\tleft = int64(av.Len())\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:\n\t\tleft = av.Int()\n\tcase reflect.String:\n\t\tleft, _ = strconv.ParseInt(av.String(), 10, 64)\n\t}\n\n\tbv := reflect.ValueOf(b)\n\n\tswitch bv.Kind() {\n\tcase reflect.Array, reflect.Chan, reflect.Map, reflect.Slice:\n\t\tright = int64(bv.Len())\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:\n\t\tright = bv.Int()\n\tcase reflect.String:\n\t\tright, _ = strconv.ParseInt(bv.String(), 10, 64)\n\t}\n\n\treturn left > right\n}\n\n// FIXME Eq is unused by cobra and should be removed in a version 2. It exists only for compatibility with users of cobra.\n\n// Eq takes two types and checks whether they are equal. Supported types are int and string. Unsupported types will panic.\nfunc Eq(a interface{}, b interface{}) bool {\n\tav := reflect.ValueOf(a)\n\tbv := reflect.ValueOf(b)\n\n\tswitch av.Kind() {\n\tcase reflect.Array, reflect.Chan, reflect.Map, reflect.Slice:\n\t\tpanic(\"Eq called on unsupported type\")\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:\n\t\treturn av.Int() == bv.Int()\n\tcase reflect.String:\n\t\treturn av.String() == bv.String()\n\t}\n\treturn false\n}\n\nfunc trimRightSpace(s string) string {\n\treturn strings.TrimRightFunc(s, unicode.IsSpace)\n}\n\n// FIXME appendIfNotPresent is unused by cobra and should be removed in a version 2. It exists only for compatibility with users of cobra.\n\n// appendIfNotPresent will append stringToAppend to the end of s, but only if it's not yet present in s.\nfunc appendIfNotPresent(s, stringToAppend string) string {\n\tif strings.Contains(s, stringToAppend) {\n\t\treturn s\n\t}\n\treturn s + \" \" + stringToAppend\n}\n\n// rpad adds padding to the right of a string.\nfunc rpad(s string, padding int) string {\n\ttemplate := fmt.Sprintf(\"%%-%ds\", padding)\n\treturn fmt.Sprintf(template, s)\n}\n\n// tmpl executes the given template text on data, writing the result to w.\nfunc tmpl(w io.Writer, text string, data interface{}) error {\n\tt := template.New(\"top\")\n\tt.Funcs(templateFuncs)\n\ttemplate.Must(t.Parse(text))\n\treturn t.Execute(w, data)\n}\n\n// ld compares two strings and returns the levenshtein distance between them.\nfunc ld(s, t string, ignoreCase bool) int {\n\tif ignoreCase {\n\t\ts = strings.ToLower(s)\n\t\tt = strings.ToLower(t)\n\t}\n\td := make([][]int, len(s)+1)\n\tfor i := range d {\n\t\td[i] = make([]int, len(t)+1)\n\t}\n\tfor i := range d {\n\t\td[i][0] = i\n\t}\n\tfor j := range d[0] {\n\t\td[0][j] = j\n\t}\n\tfor j := 1; j <= len(t); j++ {\n\t\tfor i := 1; i <= len(s); i++ {\n\t\t\tif s[i-1] == t[j-1] {\n\t\t\t\td[i][j] = d[i-1][j-1]\n\t\t\t} else {\n\t\t\t\tmin := d[i-1][j]\n\t\t\t\tif d[i][j-1] < min {\n\t\t\t\t\tmin = d[i][j-1]\n\t\t\t\t}\n\t\t\t\tif d[i-1][j-1] < min {\n\t\t\t\t\tmin = d[i-1][j-1]\n\t\t\t\t}\n\t\t\t\td[i][j] = min + 1\n\t\t\t}\n\t\t}\n\n\t}\n\treturn d[len(s)][len(t)]\n}\n\nfunc stringInSlice(a string, list []string) bool {\n\tfor _, b := range list {\n\t\tif b == a {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/cobra/command.go",
    "content": "// Copyright © 2013 Steve Francia <spf@spf13.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// 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// Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces.\n// In addition to providing an interface, Cobra simultaneously provides a controller to organize your application code.\npackage cobra\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"sort\"\n\t\"strings\"\n\n\tflag \"github.com/spf13/pflag\"\n)\n\n// Command is just that, a command for your application.\n// E.g.  'go run ...' - 'run' is the command. Cobra requires\n// you to define the usage and description as part of your command\n// definition to ensure usability.\ntype Command struct {\n\t// Use is the one-line usage message.\n\tUse string\n\n\t// Aliases is an array of aliases that can be used instead of the first word in Use.\n\tAliases []string\n\n\t// SuggestFor is an array of command names for which this command will be suggested -\n\t// similar to aliases but only suggests.\n\tSuggestFor []string\n\n\t// Short is the short description shown in the 'help' output.\n\tShort string\n\n\t// Long is the long message shown in the 'help <this-command>' output.\n\tLong string\n\n\t// Example is examples of how to use the command.\n\tExample string\n\n\t// ValidArgs is list of all valid non-flag arguments that are accepted in bash completions\n\tValidArgs []string\n\n\t// Expected arguments\n\tArgs PositionalArgs\n\n\t// ArgAliases is List of aliases for ValidArgs.\n\t// These are not suggested to the user in the bash completion,\n\t// but accepted if entered manually.\n\tArgAliases []string\n\n\t// BashCompletionFunction is custom functions used by the bash autocompletion generator.\n\tBashCompletionFunction string\n\n\t// Deprecated defines, if this command is deprecated and should print this string when used.\n\tDeprecated string\n\n\t// Hidden defines, if this command is hidden and should NOT show up in the list of available commands.\n\tHidden bool\n\n\t// Annotations are key/value pairs that can be used by applications to identify or\n\t// group commands.\n\tAnnotations map[string]string\n\n\t// Version defines the version for this command. If this value is non-empty and the command does not\n\t// define a \"version\" flag, a \"version\" boolean flag will be added to the command and, if specified,\n\t// will print content of the \"Version\" variable.\n\tVersion string\n\n\t// The *Run functions are executed in the following order:\n\t//   * PersistentPreRun()\n\t//   * PreRun()\n\t//   * Run()\n\t//   * PostRun()\n\t//   * PersistentPostRun()\n\t// All functions get the same args, the arguments after the command name.\n\t//\n\t// PersistentPreRun: children of this command will inherit and execute.\n\tPersistentPreRun func(cmd *Command, args []string)\n\t// PersistentPreRunE: PersistentPreRun but returns an error.\n\tPersistentPreRunE func(cmd *Command, args []string) error\n\t// PreRun: children of this command will not inherit.\n\tPreRun func(cmd *Command, args []string)\n\t// PreRunE: PreRun but returns an error.\n\tPreRunE func(cmd *Command, args []string) error\n\t// Run: Typically the actual work function. Most commands will only implement this.\n\tRun func(cmd *Command, args []string)\n\t// RunE: Run but returns an error.\n\tRunE func(cmd *Command, args []string) error\n\t// PostRun: run after the Run command.\n\tPostRun func(cmd *Command, args []string)\n\t// PostRunE: PostRun but returns an error.\n\tPostRunE func(cmd *Command, args []string) error\n\t// PersistentPostRun: children of this command will inherit and execute after PostRun.\n\tPersistentPostRun func(cmd *Command, args []string)\n\t// PersistentPostRunE: PersistentPostRun but returns an error.\n\tPersistentPostRunE func(cmd *Command, args []string) error\n\n\t// SilenceErrors is an option to quiet errors down stream.\n\tSilenceErrors bool\n\n\t// SilenceUsage is an option to silence usage when an error occurs.\n\tSilenceUsage bool\n\n\t// DisableFlagParsing disables the flag parsing.\n\t// If this is true all flags will be passed to the command as arguments.\n\tDisableFlagParsing bool\n\n\t// DisableAutoGenTag defines, if gen tag (\"Auto generated by spf13/cobra...\")\n\t// will be printed by generating docs for this command.\n\tDisableAutoGenTag bool\n\n\t// DisableFlagsInUseLine will disable the addition of [flags] to the usage\n\t// line of a command when printing help or generating docs\n\tDisableFlagsInUseLine bool\n\n\t// DisableSuggestions disables the suggestions based on Levenshtein distance\n\t// that go along with 'unknown command' messages.\n\tDisableSuggestions bool\n\t// SuggestionsMinimumDistance defines minimum levenshtein distance to display suggestions.\n\t// Must be > 0.\n\tSuggestionsMinimumDistance int\n\n\t// TraverseChildren parses flags on all parents before executing child command.\n\tTraverseChildren bool\n\n\t// commands is the list of commands supported by this program.\n\tcommands []*Command\n\t// parent is a parent command for this command.\n\tparent *Command\n\t// Max lengths of commands' string lengths for use in padding.\n\tcommandsMaxUseLen         int\n\tcommandsMaxCommandPathLen int\n\tcommandsMaxNameLen        int\n\t// commandsAreSorted defines, if command slice are sorted or not.\n\tcommandsAreSorted bool\n\n\t// args is actual args parsed from flags.\n\targs []string\n\t// flagErrorBuf contains all error messages from pflag.\n\tflagErrorBuf *bytes.Buffer\n\t// flags is full set of flags.\n\tflags *flag.FlagSet\n\t// pflags contains persistent flags.\n\tpflags *flag.FlagSet\n\t// lflags contains local flags.\n\tlflags *flag.FlagSet\n\t// iflags contains inherited flags.\n\tiflags *flag.FlagSet\n\t// parentsPflags is all persistent flags of cmd's parents.\n\tparentsPflags *flag.FlagSet\n\t// globNormFunc is the global normalization function\n\t// that we can use on every pflag set and children commands\n\tglobNormFunc func(f *flag.FlagSet, name string) flag.NormalizedName\n\n\t// output is an output writer defined by user.\n\toutput io.Writer\n\t// usageFunc is usage func defined by user.\n\tusageFunc func(*Command) error\n\t// usageTemplate is usage template defined by user.\n\tusageTemplate string\n\t// flagErrorFunc is func defined by user and it's called when the parsing of\n\t// flags returns an error.\n\tflagErrorFunc func(*Command, error) error\n\t// helpTemplate is help template defined by user.\n\thelpTemplate string\n\t// helpFunc is help func defined by user.\n\thelpFunc func(*Command, []string)\n\t// helpCommand is command with usage 'help'. If it's not defined by user,\n\t// cobra uses default help command.\n\thelpCommand *Command\n\t// versionTemplate is the version template defined by user.\n\tversionTemplate string\n}\n\n// SetArgs sets arguments for the command. It is set to os.Args[1:] by default, if desired, can be overridden\n// particularly useful when testing.\nfunc (c *Command) SetArgs(a []string) {\n\tc.args = a\n}\n\n// SetOutput sets the destination for usage and error messages.\n// If output is nil, os.Stderr is used.\nfunc (c *Command) SetOutput(output io.Writer) {\n\tc.output = output\n}\n\n// SetUsageFunc sets usage function. Usage can be defined by application.\nfunc (c *Command) SetUsageFunc(f func(*Command) error) {\n\tc.usageFunc = f\n}\n\n// SetUsageTemplate sets usage template. Can be defined by Application.\nfunc (c *Command) SetUsageTemplate(s string) {\n\tc.usageTemplate = s\n}\n\n// SetFlagErrorFunc sets a function to generate an error when flag parsing\n// fails.\nfunc (c *Command) SetFlagErrorFunc(f func(*Command, error) error) {\n\tc.flagErrorFunc = f\n}\n\n// SetHelpFunc sets help function. Can be defined by Application.\nfunc (c *Command) SetHelpFunc(f func(*Command, []string)) {\n\tc.helpFunc = f\n}\n\n// SetHelpCommand sets help command.\nfunc (c *Command) SetHelpCommand(cmd *Command) {\n\tc.helpCommand = cmd\n}\n\n// SetHelpTemplate sets help template to be used. Application can use it to set custom template.\nfunc (c *Command) SetHelpTemplate(s string) {\n\tc.helpTemplate = s\n}\n\n// SetVersionTemplate sets version template to be used. Application can use it to set custom template.\nfunc (c *Command) SetVersionTemplate(s string) {\n\tc.versionTemplate = s\n}\n\n// SetGlobalNormalizationFunc sets a normalization function to all flag sets and also to child commands.\n// The user should not have a cyclic dependency on commands.\nfunc (c *Command) SetGlobalNormalizationFunc(n func(f *flag.FlagSet, name string) flag.NormalizedName) {\n\tc.Flags().SetNormalizeFunc(n)\n\tc.PersistentFlags().SetNormalizeFunc(n)\n\tc.globNormFunc = n\n\n\tfor _, command := range c.commands {\n\t\tcommand.SetGlobalNormalizationFunc(n)\n\t}\n}\n\n// OutOrStdout returns output to stdout.\nfunc (c *Command) OutOrStdout() io.Writer {\n\treturn c.getOut(os.Stdout)\n}\n\n// OutOrStderr returns output to stderr\nfunc (c *Command) OutOrStderr() io.Writer {\n\treturn c.getOut(os.Stderr)\n}\n\nfunc (c *Command) getOut(def io.Writer) io.Writer {\n\tif c.output != nil {\n\t\treturn c.output\n\t}\n\tif c.HasParent() {\n\t\treturn c.parent.getOut(def)\n\t}\n\treturn def\n}\n\n// UsageFunc returns either the function set by SetUsageFunc for this command\n// or a parent, or it returns a default usage function.\nfunc (c *Command) UsageFunc() (f func(*Command) error) {\n\tif c.usageFunc != nil {\n\t\treturn c.usageFunc\n\t}\n\tif c.HasParent() {\n\t\treturn c.Parent().UsageFunc()\n\t}\n\treturn func(c *Command) error {\n\t\tc.mergePersistentFlags()\n\t\terr := tmpl(c.OutOrStderr(), c.UsageTemplate(), c)\n\t\tif err != nil {\n\t\t\tc.Println(err)\n\t\t}\n\t\treturn err\n\t}\n}\n\n// Usage puts out the usage for the command.\n// Used when a user provides invalid input.\n// Can be defined by user by overriding UsageFunc.\nfunc (c *Command) Usage() error {\n\treturn c.UsageFunc()(c)\n}\n\n// HelpFunc returns either the function set by SetHelpFunc for this command\n// or a parent, or it returns a function with default help behavior.\nfunc (c *Command) HelpFunc() func(*Command, []string) {\n\tif c.helpFunc != nil {\n\t\treturn c.helpFunc\n\t}\n\tif c.HasParent() {\n\t\treturn c.Parent().HelpFunc()\n\t}\n\treturn func(c *Command, a []string) {\n\t\tc.mergePersistentFlags()\n\t\terr := tmpl(c.OutOrStdout(), c.HelpTemplate(), c)\n\t\tif err != nil {\n\t\t\tc.Println(err)\n\t\t}\n\t}\n}\n\n// Help puts out the help for the command.\n// Used when a user calls help [command].\n// Can be defined by user by overriding HelpFunc.\nfunc (c *Command) Help() error {\n\tc.HelpFunc()(c, []string{})\n\treturn nil\n}\n\n// UsageString return usage string.\nfunc (c *Command) UsageString() string {\n\ttmpOutput := c.output\n\tbb := new(bytes.Buffer)\n\tc.SetOutput(bb)\n\tc.Usage()\n\tc.output = tmpOutput\n\treturn bb.String()\n}\n\n// FlagErrorFunc returns either the function set by SetFlagErrorFunc for this\n// command or a parent, or it returns a function which returns the original\n// error.\nfunc (c *Command) FlagErrorFunc() (f func(*Command, error) error) {\n\tif c.flagErrorFunc != nil {\n\t\treturn c.flagErrorFunc\n\t}\n\n\tif c.HasParent() {\n\t\treturn c.parent.FlagErrorFunc()\n\t}\n\treturn func(c *Command, err error) error {\n\t\treturn err\n\t}\n}\n\nvar minUsagePadding = 25\n\n// UsagePadding return padding for the usage.\nfunc (c *Command) UsagePadding() int {\n\tif c.parent == nil || minUsagePadding > c.parent.commandsMaxUseLen {\n\t\treturn minUsagePadding\n\t}\n\treturn c.parent.commandsMaxUseLen\n}\n\nvar minCommandPathPadding = 11\n\n// CommandPathPadding return padding for the command path.\nfunc (c *Command) CommandPathPadding() int {\n\tif c.parent == nil || minCommandPathPadding > c.parent.commandsMaxCommandPathLen {\n\t\treturn minCommandPathPadding\n\t}\n\treturn c.parent.commandsMaxCommandPathLen\n}\n\nvar minNamePadding = 11\n\n// NamePadding returns padding for the name.\nfunc (c *Command) NamePadding() int {\n\tif c.parent == nil || minNamePadding > c.parent.commandsMaxNameLen {\n\t\treturn minNamePadding\n\t}\n\treturn c.parent.commandsMaxNameLen\n}\n\n// UsageTemplate returns usage template for the command.\nfunc (c *Command) UsageTemplate() string {\n\tif c.usageTemplate != \"\" {\n\t\treturn c.usageTemplate\n\t}\n\n\tif c.HasParent() {\n\t\treturn c.parent.UsageTemplate()\n\t}\n\treturn `Usage:{{if .Runnable}}\n  {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}}\n  {{.CommandPath}} [command]{{end}}{{if gt (len .Aliases) 0}}\n\nAliases:\n  {{.NameAndAliases}}{{end}}{{if .HasExample}}\n\nExamples:\n{{.Example}}{{end}}{{if .HasAvailableSubCommands}}\n\nAvailable Commands:{{range .Commands}}{{if (or .IsAvailableCommand (eq .Name \"help\"))}}\n  {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableLocalFlags}}\n\nFlags:\n{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasAvailableInheritedFlags}}\n\nGlobal Flags:\n{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasHelpSubCommands}}\n\nAdditional help topics:{{range .Commands}}{{if .IsAdditionalHelpTopicCommand}}\n  {{rpad .CommandPath .CommandPathPadding}} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableSubCommands}}\n\nUse \"{{.CommandPath}} [command] --help\" for more information about a command.{{end}}\n`\n}\n\n// HelpTemplate return help template for the command.\nfunc (c *Command) HelpTemplate() string {\n\tif c.helpTemplate != \"\" {\n\t\treturn c.helpTemplate\n\t}\n\n\tif c.HasParent() {\n\t\treturn c.parent.HelpTemplate()\n\t}\n\treturn `{{with (or .Long .Short)}}{{. | trimTrailingWhitespaces}}\n\n{{end}}{{if or .Runnable .HasSubCommands}}{{.UsageString}}{{end}}`\n}\n\n// VersionTemplate return version template for the command.\nfunc (c *Command) VersionTemplate() string {\n\tif c.versionTemplate != \"\" {\n\t\treturn c.versionTemplate\n\t}\n\n\tif c.HasParent() {\n\t\treturn c.parent.VersionTemplate()\n\t}\n\treturn `{{with .Name}}{{printf \"%s \" .}}{{end}}{{printf \"version %s\" .Version}}\n`\n}\n\nfunc hasNoOptDefVal(name string, fs *flag.FlagSet) bool {\n\tflag := fs.Lookup(name)\n\tif flag == nil {\n\t\treturn false\n\t}\n\treturn flag.NoOptDefVal != \"\"\n}\n\nfunc shortHasNoOptDefVal(name string, fs *flag.FlagSet) bool {\n\tif len(name) == 0 {\n\t\treturn false\n\t}\n\n\tflag := fs.ShorthandLookup(name[:1])\n\tif flag == nil {\n\t\treturn false\n\t}\n\treturn flag.NoOptDefVal != \"\"\n}\n\nfunc stripFlags(args []string, c *Command) []string {\n\tif len(args) == 0 {\n\t\treturn args\n\t}\n\tc.mergePersistentFlags()\n\n\tcommands := []string{}\n\tflags := c.Flags()\n\nLoop:\n\tfor len(args) > 0 {\n\t\ts := args[0]\n\t\targs = args[1:]\n\t\tswitch {\n\t\tcase strings.HasPrefix(s, \"--\") && !strings.Contains(s, \"=\") && !hasNoOptDefVal(s[2:], flags):\n\t\t\t// If '--flag arg' then\n\t\t\t// delete arg from args.\n\t\t\tfallthrough // (do the same as below)\n\t\tcase strings.HasPrefix(s, \"-\") && !strings.Contains(s, \"=\") && len(s) == 2 && !shortHasNoOptDefVal(s[1:], flags):\n\t\t\t// If '-f arg' then\n\t\t\t// delete 'arg' from args or break the loop if len(args) <= 1.\n\t\t\tif len(args) <= 1 {\n\t\t\t\tbreak Loop\n\t\t\t} else {\n\t\t\t\targs = args[1:]\n\t\t\t\tcontinue\n\t\t\t}\n\t\tcase s != \"\" && !strings.HasPrefix(s, \"-\"):\n\t\t\tcommands = append(commands, s)\n\t\t}\n\t}\n\n\treturn commands\n}\n\n// argsMinusFirstX removes only the first x from args.  Otherwise, commands that look like\n// openshift admin policy add-role-to-user admin my-user, lose the admin argument (arg[4]).\nfunc argsMinusFirstX(args []string, x string) []string {\n\tfor i, y := range args {\n\t\tif x == y {\n\t\t\tret := []string{}\n\t\t\tret = append(ret, args[:i]...)\n\t\t\tret = append(ret, args[i+1:]...)\n\t\t\treturn ret\n\t\t}\n\t}\n\treturn args\n}\n\nfunc isFlagArg(arg string) bool {\n\treturn ((len(arg) >= 3 && arg[1] == '-') ||\n\t\t(len(arg) >= 2 && arg[0] == '-' && arg[1] != '-'))\n}\n\n// Find the target command given the args and command tree\n// Meant to be run on the highest node. Only searches down.\nfunc (c *Command) Find(args []string) (*Command, []string, error) {\n\tvar innerfind func(*Command, []string) (*Command, []string)\n\n\tinnerfind = func(c *Command, innerArgs []string) (*Command, []string) {\n\t\targsWOflags := stripFlags(innerArgs, c)\n\t\tif len(argsWOflags) == 0 {\n\t\t\treturn c, innerArgs\n\t\t}\n\t\tnextSubCmd := argsWOflags[0]\n\n\t\tcmd := c.findNext(nextSubCmd)\n\t\tif cmd != nil {\n\t\t\treturn innerfind(cmd, argsMinusFirstX(innerArgs, nextSubCmd))\n\t\t}\n\t\treturn c, innerArgs\n\t}\n\n\tcommandFound, a := innerfind(c, args)\n\tif commandFound.Args == nil {\n\t\treturn commandFound, a, legacyArgs(commandFound, stripFlags(a, commandFound))\n\t}\n\treturn commandFound, a, nil\n}\n\nfunc (c *Command) findSuggestions(arg string) string {\n\tif c.DisableSuggestions {\n\t\treturn \"\"\n\t}\n\tif c.SuggestionsMinimumDistance <= 0 {\n\t\tc.SuggestionsMinimumDistance = 2\n\t}\n\tsuggestionsString := \"\"\n\tif suggestions := c.SuggestionsFor(arg); len(suggestions) > 0 {\n\t\tsuggestionsString += \"\\n\\nDid you mean this?\\n\"\n\t\tfor _, s := range suggestions {\n\t\t\tsuggestionsString += fmt.Sprintf(\"\\t%v\\n\", s)\n\t\t}\n\t}\n\treturn suggestionsString\n}\n\nfunc (c *Command) findNext(next string) *Command {\n\tmatches := make([]*Command, 0)\n\tfor _, cmd := range c.commands {\n\t\tif cmd.Name() == next || cmd.HasAlias(next) {\n\t\t\treturn cmd\n\t\t}\n\t\tif EnablePrefixMatching && cmd.hasNameOrAliasPrefix(next) {\n\t\t\tmatches = append(matches, cmd)\n\t\t}\n\t}\n\n\tif len(matches) == 1 {\n\t\treturn matches[0]\n\t}\n\treturn nil\n}\n\n// Traverse the command tree to find the command, and parse args for\n// each parent.\nfunc (c *Command) Traverse(args []string) (*Command, []string, error) {\n\tflags := []string{}\n\tinFlag := false\n\n\tfor i, arg := range args {\n\t\tswitch {\n\t\t// A long flag with a space separated value\n\t\tcase strings.HasPrefix(arg, \"--\") && !strings.Contains(arg, \"=\"):\n\t\t\t// TODO: this isn't quite right, we should really check ahead for 'true' or 'false'\n\t\t\tinFlag = !hasNoOptDefVal(arg[2:], c.Flags())\n\t\t\tflags = append(flags, arg)\n\t\t\tcontinue\n\t\t// A short flag with a space separated value\n\t\tcase strings.HasPrefix(arg, \"-\") && !strings.Contains(arg, \"=\") && len(arg) == 2 && !shortHasNoOptDefVal(arg[1:], c.Flags()):\n\t\t\tinFlag = true\n\t\t\tflags = append(flags, arg)\n\t\t\tcontinue\n\t\t// The value for a flag\n\t\tcase inFlag:\n\t\t\tinFlag = false\n\t\t\tflags = append(flags, arg)\n\t\t\tcontinue\n\t\t// A flag without a value, or with an `=` separated value\n\t\tcase isFlagArg(arg):\n\t\t\tflags = append(flags, arg)\n\t\t\tcontinue\n\t\t}\n\n\t\tcmd := c.findNext(arg)\n\t\tif cmd == nil {\n\t\t\treturn c, args, nil\n\t\t}\n\n\t\tif err := c.ParseFlags(flags); err != nil {\n\t\t\treturn nil, args, err\n\t\t}\n\t\treturn cmd.Traverse(args[i+1:])\n\t}\n\treturn c, args, nil\n}\n\n// SuggestionsFor provides suggestions for the typedName.\nfunc (c *Command) SuggestionsFor(typedName string) []string {\n\tsuggestions := []string{}\n\tfor _, cmd := range c.commands {\n\t\tif cmd.IsAvailableCommand() {\n\t\t\tlevenshteinDistance := ld(typedName, cmd.Name(), true)\n\t\t\tsuggestByLevenshtein := levenshteinDistance <= c.SuggestionsMinimumDistance\n\t\t\tsuggestByPrefix := strings.HasPrefix(strings.ToLower(cmd.Name()), strings.ToLower(typedName))\n\t\t\tif suggestByLevenshtein || suggestByPrefix {\n\t\t\t\tsuggestions = append(suggestions, cmd.Name())\n\t\t\t}\n\t\t\tfor _, explicitSuggestion := range cmd.SuggestFor {\n\t\t\t\tif strings.EqualFold(typedName, explicitSuggestion) {\n\t\t\t\t\tsuggestions = append(suggestions, cmd.Name())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn suggestions\n}\n\n// VisitParents visits all parents of the command and invokes fn on each parent.\nfunc (c *Command) VisitParents(fn func(*Command)) {\n\tif c.HasParent() {\n\t\tfn(c.Parent())\n\t\tc.Parent().VisitParents(fn)\n\t}\n}\n\n// Root finds root command.\nfunc (c *Command) Root() *Command {\n\tif c.HasParent() {\n\t\treturn c.Parent().Root()\n\t}\n\treturn c\n}\n\n// ArgsLenAtDash will return the length of c.Flags().Args at the moment\n// when a -- was found during args parsing.\nfunc (c *Command) ArgsLenAtDash() int {\n\treturn c.Flags().ArgsLenAtDash()\n}\n\nfunc (c *Command) execute(a []string) (err error) {\n\tif c == nil {\n\t\treturn fmt.Errorf(\"Called Execute() on a nil Command\")\n\t}\n\n\tif len(c.Deprecated) > 0 {\n\t\tc.Printf(\"Command %q is deprecated, %s\\n\", c.Name(), c.Deprecated)\n\t}\n\n\t// initialize help and version flag at the last point possible to allow for user\n\t// overriding\n\tc.InitDefaultHelpFlag()\n\tc.InitDefaultVersionFlag()\n\n\terr = c.ParseFlags(a)\n\tif err != nil {\n\t\treturn c.FlagErrorFunc()(c, err)\n\t}\n\n\t// If help is called, regardless of other flags, return we want help.\n\t// Also say we need help if the command isn't runnable.\n\thelpVal, err := c.Flags().GetBool(\"help\")\n\tif err != nil {\n\t\t// should be impossible to get here as we always declare a help\n\t\t// flag in InitDefaultHelpFlag()\n\t\tc.Println(\"\\\"help\\\" flag declared as non-bool. Please correct your code\")\n\t\treturn err\n\t}\n\n\tif helpVal {\n\t\treturn flag.ErrHelp\n\t}\n\n\t// for back-compat, only add version flag behavior if version is defined\n\tif c.Version != \"\" {\n\t\tversionVal, err := c.Flags().GetBool(\"version\")\n\t\tif err != nil {\n\t\t\tc.Println(\"\\\"version\\\" flag declared as non-bool. Please correct your code\")\n\t\t\treturn err\n\t\t}\n\t\tif versionVal {\n\t\t\terr := tmpl(c.OutOrStdout(), c.VersionTemplate(), c)\n\t\t\tif err != nil {\n\t\t\t\tc.Println(err)\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\t}\n\n\tif !c.Runnable() {\n\t\treturn flag.ErrHelp\n\t}\n\n\tc.preRun()\n\n\targWoFlags := c.Flags().Args()\n\tif c.DisableFlagParsing {\n\t\targWoFlags = a\n\t}\n\n\tif err := c.ValidateArgs(argWoFlags); err != nil {\n\t\treturn err\n\t}\n\n\tfor p := c; p != nil; p = p.Parent() {\n\t\tif p.PersistentPreRunE != nil {\n\t\t\tif err := p.PersistentPreRunE(c, argWoFlags); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tbreak\n\t\t} else if p.PersistentPreRun != nil {\n\t\t\tp.PersistentPreRun(c, argWoFlags)\n\t\t\tbreak\n\t\t}\n\t}\n\tif c.PreRunE != nil {\n\t\tif err := c.PreRunE(c, argWoFlags); err != nil {\n\t\t\treturn err\n\t\t}\n\t} else if c.PreRun != nil {\n\t\tc.PreRun(c, argWoFlags)\n\t}\n\n\tif err := c.validateRequiredFlags(); err != nil {\n\t\treturn err\n\t}\n\tif c.RunE != nil {\n\t\tif err := c.RunE(c, argWoFlags); err != nil {\n\t\t\treturn err\n\t\t}\n\t} else {\n\t\tc.Run(c, argWoFlags)\n\t}\n\tif c.PostRunE != nil {\n\t\tif err := c.PostRunE(c, argWoFlags); err != nil {\n\t\t\treturn err\n\t\t}\n\t} else if c.PostRun != nil {\n\t\tc.PostRun(c, argWoFlags)\n\t}\n\tfor p := c; p != nil; p = p.Parent() {\n\t\tif p.PersistentPostRunE != nil {\n\t\t\tif err := p.PersistentPostRunE(c, argWoFlags); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tbreak\n\t\t} else if p.PersistentPostRun != nil {\n\t\t\tp.PersistentPostRun(c, argWoFlags)\n\t\t\tbreak\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc (c *Command) preRun() {\n\tfor _, x := range initializers {\n\t\tx()\n\t}\n}\n\n// Execute uses the args (os.Args[1:] by default)\n// and run through the command tree finding appropriate matches\n// for commands and then corresponding flags.\nfunc (c *Command) Execute() error {\n\t_, err := c.ExecuteC()\n\treturn err\n}\n\n// ExecuteC executes the command.\nfunc (c *Command) ExecuteC() (cmd *Command, err error) {\n\t// Regardless of what command execute is called on, run on Root only\n\tif c.HasParent() {\n\t\treturn c.Root().ExecuteC()\n\t}\n\n\t// windows hook\n\tif preExecHookFn != nil {\n\t\tpreExecHookFn(c)\n\t}\n\n\t// initialize help as the last point possible to allow for user\n\t// overriding\n\tc.InitDefaultHelpCmd()\n\n\tvar args []string\n\n\t// Workaround FAIL with \"go test -v\" or \"cobra.test -test.v\", see #155\n\tif c.args == nil && filepath.Base(os.Args[0]) != \"cobra.test\" {\n\t\targs = os.Args[1:]\n\t} else {\n\t\targs = c.args\n\t}\n\n\tvar flags []string\n\tif c.TraverseChildren {\n\t\tcmd, flags, err = c.Traverse(args)\n\t} else {\n\t\tcmd, flags, err = c.Find(args)\n\t}\n\tif err != nil {\n\t\t// If found parse to a subcommand and then failed, talk about the subcommand\n\t\tif cmd != nil {\n\t\t\tc = cmd\n\t\t}\n\t\tif !c.SilenceErrors {\n\t\t\tc.Println(\"Error:\", err.Error())\n\t\t\tc.Printf(\"Run '%v --help' for usage.\\n\", c.CommandPath())\n\t\t}\n\t\treturn c, err\n\t}\n\n\terr = cmd.execute(flags)\n\tif err != nil {\n\t\t// Always show help if requested, even if SilenceErrors is in\n\t\t// effect\n\t\tif err == flag.ErrHelp {\n\t\t\tcmd.HelpFunc()(cmd, args)\n\t\t\treturn cmd, nil\n\t\t}\n\n\t\t// If root command has SilentErrors flagged,\n\t\t// all subcommands should respect it\n\t\tif !cmd.SilenceErrors && !c.SilenceErrors {\n\t\t\tc.Println(\"Error:\", err.Error())\n\t\t}\n\n\t\t// If root command has SilentUsage flagged,\n\t\t// all subcommands should respect it\n\t\tif !cmd.SilenceUsage && !c.SilenceUsage {\n\t\t\tc.Println(cmd.UsageString())\n\t\t}\n\t}\n\treturn cmd, err\n}\n\nfunc (c *Command) ValidateArgs(args []string) error {\n\tif c.Args == nil {\n\t\treturn nil\n\t}\n\treturn c.Args(c, args)\n}\n\nfunc (c *Command) validateRequiredFlags() error {\n\tflags := c.Flags()\n\tmissingFlagNames := []string{}\n\tflags.VisitAll(func(pflag *flag.Flag) {\n\t\trequiredAnnotation, found := pflag.Annotations[BashCompOneRequiredFlag]\n\t\tif !found {\n\t\t\treturn\n\t\t}\n\t\tif (requiredAnnotation[0] == \"true\") && !pflag.Changed {\n\t\t\tmissingFlagNames = append(missingFlagNames, pflag.Name)\n\t\t}\n\t})\n\n\tif len(missingFlagNames) > 0 {\n\t\treturn fmt.Errorf(`required flag(s) \"%s\" not set`, strings.Join(missingFlagNames, `\", \"`))\n\t}\n\treturn nil\n}\n\n// InitDefaultHelpFlag adds default help flag to c.\n// It is called automatically by executing the c or by calling help and usage.\n// If c already has help flag, it will do nothing.\nfunc (c *Command) InitDefaultHelpFlag() {\n\tc.mergePersistentFlags()\n\tif c.Flags().Lookup(\"help\") == nil {\n\t\tusage := \"help for \"\n\t\tif c.Name() == \"\" {\n\t\t\tusage += \"this command\"\n\t\t} else {\n\t\t\tusage += c.Name()\n\t\t}\n\t\tc.Flags().BoolP(\"help\", \"h\", false, usage)\n\t}\n}\n\n// InitDefaultVersionFlag adds default version flag to c.\n// It is called automatically by executing the c.\n// If c already has a version flag, it will do nothing.\n// If c.Version is empty, it will do nothing.\nfunc (c *Command) InitDefaultVersionFlag() {\n\tif c.Version == \"\" {\n\t\treturn\n\t}\n\n\tc.mergePersistentFlags()\n\tif c.Flags().Lookup(\"version\") == nil {\n\t\tusage := \"version for \"\n\t\tif c.Name() == \"\" {\n\t\t\tusage += \"this command\"\n\t\t} else {\n\t\t\tusage += c.Name()\n\t\t}\n\t\tc.Flags().Bool(\"version\", false, usage)\n\t}\n}\n\n// InitDefaultHelpCmd adds default help command to c.\n// It is called automatically by executing the c or by calling help and usage.\n// If c already has help command or c has no subcommands, it will do nothing.\nfunc (c *Command) InitDefaultHelpCmd() {\n\tif !c.HasSubCommands() {\n\t\treturn\n\t}\n\n\tif c.helpCommand == nil {\n\t\tc.helpCommand = &Command{\n\t\t\tUse:   \"help [command]\",\n\t\t\tShort: \"Help about any command\",\n\t\t\tLong: `Help provides help for any command in the application.\nSimply type ` + c.Name() + ` help [path to command] for full details.`,\n\n\t\t\tRun: func(c *Command, args []string) {\n\t\t\t\tcmd, _, e := c.Root().Find(args)\n\t\t\t\tif cmd == nil || e != nil {\n\t\t\t\t\tc.Printf(\"Unknown help topic %#q\\n\", args)\n\t\t\t\t\tc.Root().Usage()\n\t\t\t\t} else {\n\t\t\t\t\tcmd.InitDefaultHelpFlag() // make possible 'help' flag to be shown\n\t\t\t\t\tcmd.Help()\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t}\n\tc.RemoveCommand(c.helpCommand)\n\tc.AddCommand(c.helpCommand)\n}\n\n// ResetCommands delete parent, subcommand and help command from c.\nfunc (c *Command) ResetCommands() {\n\tc.parent = nil\n\tc.commands = nil\n\tc.helpCommand = nil\n\tc.parentsPflags = nil\n}\n\n// Sorts commands by their names.\ntype commandSorterByName []*Command\n\nfunc (c commandSorterByName) Len() int           { return len(c) }\nfunc (c commandSorterByName) Swap(i, j int)      { c[i], c[j] = c[j], c[i] }\nfunc (c commandSorterByName) Less(i, j int) bool { return c[i].Name() < c[j].Name() }\n\n// Commands returns a sorted slice of child commands.\nfunc (c *Command) Commands() []*Command {\n\t// do not sort commands if it already sorted or sorting was disabled\n\tif EnableCommandSorting && !c.commandsAreSorted {\n\t\tsort.Sort(commandSorterByName(c.commands))\n\t\tc.commandsAreSorted = true\n\t}\n\treturn c.commands\n}\n\n// AddCommand adds one or more commands to this parent command.\nfunc (c *Command) AddCommand(cmds ...*Command) {\n\tfor i, x := range cmds {\n\t\tif cmds[i] == c {\n\t\t\tpanic(\"Command can't be a child of itself\")\n\t\t}\n\t\tcmds[i].parent = c\n\t\t// update max lengths\n\t\tusageLen := len(x.Use)\n\t\tif usageLen > c.commandsMaxUseLen {\n\t\t\tc.commandsMaxUseLen = usageLen\n\t\t}\n\t\tcommandPathLen := len(x.CommandPath())\n\t\tif commandPathLen > c.commandsMaxCommandPathLen {\n\t\t\tc.commandsMaxCommandPathLen = commandPathLen\n\t\t}\n\t\tnameLen := len(x.Name())\n\t\tif nameLen > c.commandsMaxNameLen {\n\t\t\tc.commandsMaxNameLen = nameLen\n\t\t}\n\t\t// If global normalization function exists, update all children\n\t\tif c.globNormFunc != nil {\n\t\t\tx.SetGlobalNormalizationFunc(c.globNormFunc)\n\t\t}\n\t\tc.commands = append(c.commands, x)\n\t\tc.commandsAreSorted = false\n\t}\n}\n\n// RemoveCommand removes one or more commands from a parent command.\nfunc (c *Command) RemoveCommand(cmds ...*Command) {\n\tcommands := []*Command{}\nmain:\n\tfor _, command := range c.commands {\n\t\tfor _, cmd := range cmds {\n\t\t\tif command == cmd {\n\t\t\t\tcommand.parent = nil\n\t\t\t\tcontinue main\n\t\t\t}\n\t\t}\n\t\tcommands = append(commands, command)\n\t}\n\tc.commands = commands\n\t// recompute all lengths\n\tc.commandsMaxUseLen = 0\n\tc.commandsMaxCommandPathLen = 0\n\tc.commandsMaxNameLen = 0\n\tfor _, command := range c.commands {\n\t\tusageLen := len(command.Use)\n\t\tif usageLen > c.commandsMaxUseLen {\n\t\t\tc.commandsMaxUseLen = usageLen\n\t\t}\n\t\tcommandPathLen := len(command.CommandPath())\n\t\tif commandPathLen > c.commandsMaxCommandPathLen {\n\t\t\tc.commandsMaxCommandPathLen = commandPathLen\n\t\t}\n\t\tnameLen := len(command.Name())\n\t\tif nameLen > c.commandsMaxNameLen {\n\t\t\tc.commandsMaxNameLen = nameLen\n\t\t}\n\t}\n}\n\n// Print is a convenience method to Print to the defined output, fallback to Stderr if not set.\nfunc (c *Command) Print(i ...interface{}) {\n\tfmt.Fprint(c.OutOrStderr(), i...)\n}\n\n// Println is a convenience method to Println to the defined output, fallback to Stderr if not set.\nfunc (c *Command) Println(i ...interface{}) {\n\tc.Print(fmt.Sprintln(i...))\n}\n\n// Printf is a convenience method to Printf to the defined output, fallback to Stderr if not set.\nfunc (c *Command) Printf(format string, i ...interface{}) {\n\tc.Print(fmt.Sprintf(format, i...))\n}\n\n// CommandPath returns the full path to this command.\nfunc (c *Command) CommandPath() string {\n\tif c.HasParent() {\n\t\treturn c.Parent().CommandPath() + \" \" + c.Name()\n\t}\n\treturn c.Name()\n}\n\n// UseLine puts out the full usage for a given command (including parents).\nfunc (c *Command) UseLine() string {\n\tvar useline string\n\tif c.HasParent() {\n\t\tuseline = c.parent.CommandPath() + \" \" + c.Use\n\t} else {\n\t\tuseline = c.Use\n\t}\n\tif c.DisableFlagsInUseLine {\n\t\treturn useline\n\t}\n\tif c.HasAvailableFlags() && !strings.Contains(useline, \"[flags]\") {\n\t\tuseline += \" [flags]\"\n\t}\n\treturn useline\n}\n\n// DebugFlags used to determine which flags have been assigned to which commands\n// and which persist.\nfunc (c *Command) DebugFlags() {\n\tc.Println(\"DebugFlags called on\", c.Name())\n\tvar debugflags func(*Command)\n\n\tdebugflags = func(x *Command) {\n\t\tif x.HasFlags() || x.HasPersistentFlags() {\n\t\t\tc.Println(x.Name())\n\t\t}\n\t\tif x.HasFlags() {\n\t\t\tx.flags.VisitAll(func(f *flag.Flag) {\n\t\t\t\tif x.HasPersistentFlags() && x.persistentFlag(f.Name) != nil {\n\t\t\t\t\tc.Println(\"  -\"+f.Shorthand+\",\", \"--\"+f.Name, \"[\"+f.DefValue+\"]\", \"\", f.Value, \"  [LP]\")\n\t\t\t\t} else {\n\t\t\t\t\tc.Println(\"  -\"+f.Shorthand+\",\", \"--\"+f.Name, \"[\"+f.DefValue+\"]\", \"\", f.Value, \"  [L]\")\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tif x.HasPersistentFlags() {\n\t\t\tx.pflags.VisitAll(func(f *flag.Flag) {\n\t\t\t\tif x.HasFlags() {\n\t\t\t\t\tif x.flags.Lookup(f.Name) == nil {\n\t\t\t\t\t\tc.Println(\"  -\"+f.Shorthand+\",\", \"--\"+f.Name, \"[\"+f.DefValue+\"]\", \"\", f.Value, \"  [P]\")\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tc.Println(\"  -\"+f.Shorthand+\",\", \"--\"+f.Name, \"[\"+f.DefValue+\"]\", \"\", f.Value, \"  [P]\")\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tc.Println(x.flagErrorBuf)\n\t\tif x.HasSubCommands() {\n\t\t\tfor _, y := range x.commands {\n\t\t\t\tdebugflags(y)\n\t\t\t}\n\t\t}\n\t}\n\n\tdebugflags(c)\n}\n\n// Name returns the command's name: the first word in the use line.\nfunc (c *Command) Name() string {\n\tname := c.Use\n\ti := strings.Index(name, \" \")\n\tif i >= 0 {\n\t\tname = name[:i]\n\t}\n\treturn name\n}\n\n// HasAlias determines if a given string is an alias of the command.\nfunc (c *Command) HasAlias(s string) bool {\n\tfor _, a := range c.Aliases {\n\t\tif a == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// hasNameOrAliasPrefix returns true if the Name or any of aliases start\n// with prefix\nfunc (c *Command) hasNameOrAliasPrefix(prefix string) bool {\n\tif strings.HasPrefix(c.Name(), prefix) {\n\t\treturn true\n\t}\n\tfor _, alias := range c.Aliases {\n\t\tif strings.HasPrefix(alias, prefix) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// NameAndAliases returns a list of the command name and all aliases\nfunc (c *Command) NameAndAliases() string {\n\treturn strings.Join(append([]string{c.Name()}, c.Aliases...), \", \")\n}\n\n// HasExample determines if the command has example.\nfunc (c *Command) HasExample() bool {\n\treturn len(c.Example) > 0\n}\n\n// Runnable determines if the command is itself runnable.\nfunc (c *Command) Runnable() bool {\n\treturn c.Run != nil || c.RunE != nil\n}\n\n// HasSubCommands determines if the command has children commands.\nfunc (c *Command) HasSubCommands() bool {\n\treturn len(c.commands) > 0\n}\n\n// IsAvailableCommand determines if a command is available as a non-help command\n// (this includes all non deprecated/hidden commands).\nfunc (c *Command) IsAvailableCommand() bool {\n\tif len(c.Deprecated) != 0 || c.Hidden {\n\t\treturn false\n\t}\n\n\tif c.HasParent() && c.Parent().helpCommand == c {\n\t\treturn false\n\t}\n\n\tif c.Runnable() || c.HasAvailableSubCommands() {\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n// IsAdditionalHelpTopicCommand determines if a command is an additional\n// help topic command; additional help topic command is determined by the\n// fact that it is NOT runnable/hidden/deprecated, and has no sub commands that\n// are runnable/hidden/deprecated.\n// Concrete example: https://github.com/spf13/cobra/issues/393#issuecomment-282741924.\nfunc (c *Command) IsAdditionalHelpTopicCommand() bool {\n\t// if a command is runnable, deprecated, or hidden it is not a 'help' command\n\tif c.Runnable() || len(c.Deprecated) != 0 || c.Hidden {\n\t\treturn false\n\t}\n\n\t// if any non-help sub commands are found, the command is not a 'help' command\n\tfor _, sub := range c.commands {\n\t\tif !sub.IsAdditionalHelpTopicCommand() {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// the command either has no sub commands, or no non-help sub commands\n\treturn true\n}\n\n// HasHelpSubCommands determines if a command has any available 'help' sub commands\n// that need to be shown in the usage/help default template under 'additional help\n// topics'.\nfunc (c *Command) HasHelpSubCommands() bool {\n\t// return true on the first found available 'help' sub command\n\tfor _, sub := range c.commands {\n\t\tif sub.IsAdditionalHelpTopicCommand() {\n\t\t\treturn true\n\t\t}\n\t}\n\n\t// the command either has no sub commands, or no available 'help' sub commands\n\treturn false\n}\n\n// HasAvailableSubCommands determines if a command has available sub commands that\n// need to be shown in the usage/help default template under 'available commands'.\nfunc (c *Command) HasAvailableSubCommands() bool {\n\t// return true on the first found available (non deprecated/help/hidden)\n\t// sub command\n\tfor _, sub := range c.commands {\n\t\tif sub.IsAvailableCommand() {\n\t\t\treturn true\n\t\t}\n\t}\n\n\t// the command either has no sub commands, or no available (non deprecated/help/hidden)\n\t// sub commands\n\treturn false\n}\n\n// HasParent determines if the command is a child command.\nfunc (c *Command) HasParent() bool {\n\treturn c.parent != nil\n}\n\n// GlobalNormalizationFunc returns the global normalization function or nil if doesn't exists.\nfunc (c *Command) GlobalNormalizationFunc() func(f *flag.FlagSet, name string) flag.NormalizedName {\n\treturn c.globNormFunc\n}\n\n// Flags returns the complete FlagSet that applies\n// to this command (local and persistent declared here and by all parents).\nfunc (c *Command) Flags() *flag.FlagSet {\n\tif c.flags == nil {\n\t\tc.flags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)\n\t\tif c.flagErrorBuf == nil {\n\t\t\tc.flagErrorBuf = new(bytes.Buffer)\n\t\t}\n\t\tc.flags.SetOutput(c.flagErrorBuf)\n\t}\n\n\treturn c.flags\n}\n\n// LocalNonPersistentFlags are flags specific to this command which will NOT persist to subcommands.\nfunc (c *Command) LocalNonPersistentFlags() *flag.FlagSet {\n\tpersistentFlags := c.PersistentFlags()\n\n\tout := flag.NewFlagSet(c.Name(), flag.ContinueOnError)\n\tc.LocalFlags().VisitAll(func(f *flag.Flag) {\n\t\tif persistentFlags.Lookup(f.Name) == nil {\n\t\t\tout.AddFlag(f)\n\t\t}\n\t})\n\treturn out\n}\n\n// LocalFlags returns the local FlagSet specifically set in the current command.\nfunc (c *Command) LocalFlags() *flag.FlagSet {\n\tc.mergePersistentFlags()\n\n\tif c.lflags == nil {\n\t\tc.lflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)\n\t\tif c.flagErrorBuf == nil {\n\t\t\tc.flagErrorBuf = new(bytes.Buffer)\n\t\t}\n\t\tc.lflags.SetOutput(c.flagErrorBuf)\n\t}\n\tc.lflags.SortFlags = c.Flags().SortFlags\n\tif c.globNormFunc != nil {\n\t\tc.lflags.SetNormalizeFunc(c.globNormFunc)\n\t}\n\n\taddToLocal := func(f *flag.Flag) {\n\t\tif c.lflags.Lookup(f.Name) == nil && c.parentsPflags.Lookup(f.Name) == nil {\n\t\t\tc.lflags.AddFlag(f)\n\t\t}\n\t}\n\tc.Flags().VisitAll(addToLocal)\n\tc.PersistentFlags().VisitAll(addToLocal)\n\treturn c.lflags\n}\n\n// InheritedFlags returns all flags which were inherited from parents commands.\nfunc (c *Command) InheritedFlags() *flag.FlagSet {\n\tc.mergePersistentFlags()\n\n\tif c.iflags == nil {\n\t\tc.iflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)\n\t\tif c.flagErrorBuf == nil {\n\t\t\tc.flagErrorBuf = new(bytes.Buffer)\n\t\t}\n\t\tc.iflags.SetOutput(c.flagErrorBuf)\n\t}\n\n\tlocal := c.LocalFlags()\n\tif c.globNormFunc != nil {\n\t\tc.iflags.SetNormalizeFunc(c.globNormFunc)\n\t}\n\n\tc.parentsPflags.VisitAll(func(f *flag.Flag) {\n\t\tif c.iflags.Lookup(f.Name) == nil && local.Lookup(f.Name) == nil {\n\t\t\tc.iflags.AddFlag(f)\n\t\t}\n\t})\n\treturn c.iflags\n}\n\n// NonInheritedFlags returns all flags which were not inherited from parent commands.\nfunc (c *Command) NonInheritedFlags() *flag.FlagSet {\n\treturn c.LocalFlags()\n}\n\n// PersistentFlags returns the persistent FlagSet specifically set in the current command.\nfunc (c *Command) PersistentFlags() *flag.FlagSet {\n\tif c.pflags == nil {\n\t\tc.pflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)\n\t\tif c.flagErrorBuf == nil {\n\t\t\tc.flagErrorBuf = new(bytes.Buffer)\n\t\t}\n\t\tc.pflags.SetOutput(c.flagErrorBuf)\n\t}\n\treturn c.pflags\n}\n\n// ResetFlags deletes all flags from command.\nfunc (c *Command) ResetFlags() {\n\tc.flagErrorBuf = new(bytes.Buffer)\n\tc.flagErrorBuf.Reset()\n\tc.flags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)\n\tc.flags.SetOutput(c.flagErrorBuf)\n\tc.pflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)\n\tc.pflags.SetOutput(c.flagErrorBuf)\n\n\tc.lflags = nil\n\tc.iflags = nil\n\tc.parentsPflags = nil\n}\n\n// HasFlags checks if the command contains any flags (local plus persistent from the entire structure).\nfunc (c *Command) HasFlags() bool {\n\treturn c.Flags().HasFlags()\n}\n\n// HasPersistentFlags checks if the command contains persistent flags.\nfunc (c *Command) HasPersistentFlags() bool {\n\treturn c.PersistentFlags().HasFlags()\n}\n\n// HasLocalFlags checks if the command has flags specifically declared locally.\nfunc (c *Command) HasLocalFlags() bool {\n\treturn c.LocalFlags().HasFlags()\n}\n\n// HasInheritedFlags checks if the command has flags inherited from its parent command.\nfunc (c *Command) HasInheritedFlags() bool {\n\treturn c.InheritedFlags().HasFlags()\n}\n\n// HasAvailableFlags checks if the command contains any flags (local plus persistent from the entire\n// structure) which are not hidden or deprecated.\nfunc (c *Command) HasAvailableFlags() bool {\n\treturn c.Flags().HasAvailableFlags()\n}\n\n// HasAvailablePersistentFlags checks if the command contains persistent flags which are not hidden or deprecated.\nfunc (c *Command) HasAvailablePersistentFlags() bool {\n\treturn c.PersistentFlags().HasAvailableFlags()\n}\n\n// HasAvailableLocalFlags checks if the command has flags specifically declared locally which are not hidden\n// or deprecated.\nfunc (c *Command) HasAvailableLocalFlags() bool {\n\treturn c.LocalFlags().HasAvailableFlags()\n}\n\n// HasAvailableInheritedFlags checks if the command has flags inherited from its parent command which are\n// not hidden or deprecated.\nfunc (c *Command) HasAvailableInheritedFlags() bool {\n\treturn c.InheritedFlags().HasAvailableFlags()\n}\n\n// Flag climbs up the command tree looking for matching flag.\nfunc (c *Command) Flag(name string) (flag *flag.Flag) {\n\tflag = c.Flags().Lookup(name)\n\n\tif flag == nil {\n\t\tflag = c.persistentFlag(name)\n\t}\n\n\treturn\n}\n\n// Recursively find matching persistent flag.\nfunc (c *Command) persistentFlag(name string) (flag *flag.Flag) {\n\tif c.HasPersistentFlags() {\n\t\tflag = c.PersistentFlags().Lookup(name)\n\t}\n\n\tif flag == nil {\n\t\tc.updateParentsPflags()\n\t\tflag = c.parentsPflags.Lookup(name)\n\t}\n\treturn\n}\n\n// ParseFlags parses persistent flag tree and local flags.\nfunc (c *Command) ParseFlags(args []string) error {\n\tif c.DisableFlagParsing {\n\t\treturn nil\n\t}\n\n\tif c.flagErrorBuf == nil {\n\t\tc.flagErrorBuf = new(bytes.Buffer)\n\t}\n\tbeforeErrorBufLen := c.flagErrorBuf.Len()\n\tc.mergePersistentFlags()\n\terr := c.Flags().Parse(args)\n\t// Print warnings if they occurred (e.g. deprecated flag messages).\n\tif c.flagErrorBuf.Len()-beforeErrorBufLen > 0 && err == nil {\n\t\tc.Print(c.flagErrorBuf.String())\n\t}\n\n\treturn err\n}\n\n// Parent returns a commands parent command.\nfunc (c *Command) Parent() *Command {\n\treturn c.parent\n}\n\n// mergePersistentFlags merges c.PersistentFlags() to c.Flags()\n// and adds missing persistent flags of all parents.\nfunc (c *Command) mergePersistentFlags() {\n\tc.updateParentsPflags()\n\tc.Flags().AddFlagSet(c.PersistentFlags())\n\tc.Flags().AddFlagSet(c.parentsPflags)\n}\n\n// updateParentsPflags updates c.parentsPflags by adding\n// new persistent flags of all parents.\n// If c.parentsPflags == nil, it makes new.\nfunc (c *Command) updateParentsPflags() {\n\tif c.parentsPflags == nil {\n\t\tc.parentsPflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)\n\t\tc.parentsPflags.SetOutput(c.flagErrorBuf)\n\t\tc.parentsPflags.SortFlags = false\n\t}\n\n\tif c.globNormFunc != nil {\n\t\tc.parentsPflags.SetNormalizeFunc(c.globNormFunc)\n\t}\n\n\tc.Root().PersistentFlags().AddFlagSet(flag.CommandLine)\n\n\tc.VisitParents(func(parent *Command) {\n\t\tc.parentsPflags.AddFlagSet(parent.PersistentFlags())\n\t})\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/cobra/command_notwin.go",
    "content": "// +build !windows\n\npackage cobra\n\nvar preExecHookFn func(*Command)\n"
  },
  {
    "path": "vendor/github.com/spf13/cobra/command_win.go",
    "content": "// +build windows\n\npackage cobra\n\nimport (\n\t\"os\"\n\t\"time\"\n\n\t\"github.com/inconshreveable/mousetrap\"\n)\n\nvar preExecHookFn = preExecHook\n\nfunc preExecHook(c *Command) {\n\tif MousetrapHelpText != \"\" && mousetrap.StartedByExplorer() {\n\t\tc.Print(MousetrapHelpText)\n\t\ttime.Sleep(5 * time.Second)\n\t\tos.Exit(1)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/cobra/zsh_completions.go",
    "content": "package cobra\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"strings\"\n)\n\n// GenZshCompletionFile generates zsh completion file.\nfunc (c *Command) GenZshCompletionFile(filename string) error {\n\toutFile, err := os.Create(filename)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer outFile.Close()\n\n\treturn c.GenZshCompletion(outFile)\n}\n\n// GenZshCompletion generates a zsh completion file and writes to the passed writer.\nfunc (c *Command) GenZshCompletion(w io.Writer) error {\n\tbuf := new(bytes.Buffer)\n\n\twriteHeader(buf, c)\n\tmaxDepth := maxDepth(c)\n\twriteLevelMapping(buf, maxDepth)\n\twriteLevelCases(buf, maxDepth, c)\n\n\t_, err := buf.WriteTo(w)\n\treturn err\n}\n\nfunc writeHeader(w io.Writer, cmd *Command) {\n\tfmt.Fprintf(w, \"#compdef %s\\n\\n\", cmd.Name())\n}\n\nfunc maxDepth(c *Command) int {\n\tif len(c.Commands()) == 0 {\n\t\treturn 0\n\t}\n\tmaxDepthSub := 0\n\tfor _, s := range c.Commands() {\n\t\tsubDepth := maxDepth(s)\n\t\tif subDepth > maxDepthSub {\n\t\t\tmaxDepthSub = subDepth\n\t\t}\n\t}\n\treturn 1 + maxDepthSub\n}\n\nfunc writeLevelMapping(w io.Writer, numLevels int) {\n\tfmt.Fprintln(w, `_arguments \\`)\n\tfor i := 1; i <= numLevels; i++ {\n\t\tfmt.Fprintf(w, `  '%d: :->level%d' \\`, i, i)\n\t\tfmt.Fprintln(w)\n\t}\n\tfmt.Fprintf(w, `  '%d: :%s'`, numLevels+1, \"_files\")\n\tfmt.Fprintln(w)\n}\n\nfunc writeLevelCases(w io.Writer, maxDepth int, root *Command) {\n\tfmt.Fprintln(w, \"case $state in\")\n\tdefer fmt.Fprintln(w, \"esac\")\n\n\tfor i := 1; i <= maxDepth; i++ {\n\t\tfmt.Fprintf(w, \"  level%d)\\n\", i)\n\t\twriteLevel(w, root, i)\n\t\tfmt.Fprintln(w, \"  ;;\")\n\t}\n\tfmt.Fprintln(w, \"  *)\")\n\tfmt.Fprintln(w, \"    _arguments '*: :_files'\")\n\tfmt.Fprintln(w, \"  ;;\")\n}\n\nfunc writeLevel(w io.Writer, root *Command, i int) {\n\tfmt.Fprintf(w, \"    case $words[%d] in\\n\", i)\n\tdefer fmt.Fprintln(w, \"    esac\")\n\n\tcommands := filterByLevel(root, i)\n\tbyParent := groupByParent(commands)\n\n\tfor p, c := range byParent {\n\t\tnames := names(c)\n\t\tfmt.Fprintf(w, \"      %s)\\n\", p)\n\t\tfmt.Fprintf(w, \"        _arguments '%d: :(%s)'\\n\", i, strings.Join(names, \" \"))\n\t\tfmt.Fprintln(w, \"      ;;\")\n\t}\n\tfmt.Fprintln(w, \"      *)\")\n\tfmt.Fprintln(w, \"        _arguments '*: :_files'\")\n\tfmt.Fprintln(w, \"      ;;\")\n\n}\n\nfunc filterByLevel(c *Command, l int) []*Command {\n\tcs := make([]*Command, 0)\n\tif l == 0 {\n\t\tcs = append(cs, c)\n\t\treturn cs\n\t}\n\tfor _, s := range c.Commands() {\n\t\tcs = append(cs, filterByLevel(s, l-1)...)\n\t}\n\treturn cs\n}\n\nfunc groupByParent(commands []*Command) map[string][]*Command {\n\tm := make(map[string][]*Command)\n\tfor _, c := range commands {\n\t\tparent := c.Parent()\n\t\tif parent == nil {\n\t\t\tcontinue\n\t\t}\n\t\tm[parent.Name()] = append(m[parent.Name()], c)\n\t}\n\treturn m\n}\n\nfunc names(commands []*Command) []string {\n\tns := make([]string, len(commands))\n\tfor i, c := range commands {\n\t\tns[i] = c.Name()\n\t}\n\treturn ns\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/LICENSE",
    "content": "Copyright (c) 2012 Alex Ogier. All rights reserved.\nCopyright (c) 2012 The Go Authors. 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\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/bool.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// optional interface to indicate boolean flags that can be\n// supplied without \"=value\" text\ntype boolFlag interface {\n\tValue\n\tIsBoolFlag() bool\n}\n\n// -- bool Value\ntype boolValue bool\n\nfunc newBoolValue(val bool, p *bool) *boolValue {\n\t*p = val\n\treturn (*boolValue)(p)\n}\n\nfunc (b *boolValue) Set(s string) error {\n\tv, err := strconv.ParseBool(s)\n\t*b = boolValue(v)\n\treturn err\n}\n\nfunc (b *boolValue) Type() string {\n\treturn \"bool\"\n}\n\nfunc (b *boolValue) String() string { return strconv.FormatBool(bool(*b)) }\n\nfunc (b *boolValue) IsBoolFlag() bool { return true }\n\nfunc boolConv(sval string) (interface{}, error) {\n\treturn strconv.ParseBool(sval)\n}\n\n// GetBool return the bool value of a flag with the given name\nfunc (f *FlagSet) GetBool(name string) (bool, error) {\n\tval, err := f.getFlagType(name, \"bool\", boolConv)\n\tif err != nil {\n\t\treturn false, err\n\t}\n\treturn val.(bool), nil\n}\n\n// BoolVar defines a bool flag with specified name, default value, and usage string.\n// The argument p points to a bool variable in which to store the value of the flag.\nfunc (f *FlagSet) BoolVar(p *bool, name string, value bool, usage string) {\n\tf.BoolVarP(p, name, \"\", value, usage)\n}\n\n// BoolVarP is like BoolVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) BoolVarP(p *bool, name, shorthand string, value bool, usage string) {\n\tflag := f.VarPF(newBoolValue(value, p), name, shorthand, usage)\n\tflag.NoOptDefVal = \"true\"\n}\n\n// BoolVar defines a bool flag with specified name, default value, and usage string.\n// The argument p points to a bool variable in which to store the value of the flag.\nfunc BoolVar(p *bool, name string, value bool, usage string) {\n\tBoolVarP(p, name, \"\", value, usage)\n}\n\n// BoolVarP is like BoolVar, but accepts a shorthand letter that can be used after a single dash.\nfunc BoolVarP(p *bool, name, shorthand string, value bool, usage string) {\n\tflag := CommandLine.VarPF(newBoolValue(value, p), name, shorthand, usage)\n\tflag.NoOptDefVal = \"true\"\n}\n\n// Bool defines a bool flag with specified name, default value, and usage string.\n// The return value is the address of a bool variable that stores the value of the flag.\nfunc (f *FlagSet) Bool(name string, value bool, usage string) *bool {\n\treturn f.BoolP(name, \"\", value, usage)\n}\n\n// BoolP is like Bool, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) BoolP(name, shorthand string, value bool, usage string) *bool {\n\tp := new(bool)\n\tf.BoolVarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Bool defines a bool flag with specified name, default value, and usage string.\n// The return value is the address of a bool variable that stores the value of the flag.\nfunc Bool(name string, value bool, usage string) *bool {\n\treturn BoolP(name, \"\", value, usage)\n}\n\n// BoolP is like Bool, but accepts a shorthand letter that can be used after a single dash.\nfunc BoolP(name, shorthand string, value bool, usage string) *bool {\n\tb := CommandLine.BoolP(name, shorthand, value, usage)\n\treturn b\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/bool_slice.go",
    "content": "package pflag\n\nimport (\n\t\"io\"\n\t\"strconv\"\n\t\"strings\"\n)\n\n// -- boolSlice Value\ntype boolSliceValue struct {\n\tvalue   *[]bool\n\tchanged bool\n}\n\nfunc newBoolSliceValue(val []bool, p *[]bool) *boolSliceValue {\n\tbsv := new(boolSliceValue)\n\tbsv.value = p\n\t*bsv.value = val\n\treturn bsv\n}\n\n// Set converts, and assigns, the comma-separated boolean argument string representation as the []bool value of this flag.\n// If Set is called on a flag that already has a []bool assigned, the newly converted values will be appended.\nfunc (s *boolSliceValue) Set(val string) error {\n\n\t// remove all quote characters\n\trmQuote := strings.NewReplacer(`\"`, \"\", `'`, \"\", \"`\", \"\")\n\n\t// read flag arguments with CSV parser\n\tboolStrSlice, err := readAsCSV(rmQuote.Replace(val))\n\tif err != nil && err != io.EOF {\n\t\treturn err\n\t}\n\n\t// parse boolean values into slice\n\tout := make([]bool, 0, len(boolStrSlice))\n\tfor _, boolStr := range boolStrSlice {\n\t\tb, err := strconv.ParseBool(strings.TrimSpace(boolStr))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tout = append(out, b)\n\t}\n\n\tif !s.changed {\n\t\t*s.value = out\n\t} else {\n\t\t*s.value = append(*s.value, out...)\n\t}\n\n\ts.changed = true\n\n\treturn nil\n}\n\n// Type returns a string that uniquely represents this flag's type.\nfunc (s *boolSliceValue) Type() string {\n\treturn \"boolSlice\"\n}\n\n// String defines a \"native\" format for this boolean slice flag value.\nfunc (s *boolSliceValue) String() string {\n\n\tboolStrSlice := make([]string, len(*s.value))\n\tfor i, b := range *s.value {\n\t\tboolStrSlice[i] = strconv.FormatBool(b)\n\t}\n\n\tout, _ := writeAsCSV(boolStrSlice)\n\n\treturn \"[\" + out + \"]\"\n}\n\nfunc boolSliceConv(val string) (interface{}, error) {\n\tval = strings.Trim(val, \"[]\")\n\t// Empty string would cause a slice with one (empty) entry\n\tif len(val) == 0 {\n\t\treturn []bool{}, nil\n\t}\n\tss := strings.Split(val, \",\")\n\tout := make([]bool, len(ss))\n\tfor i, t := range ss {\n\t\tvar err error\n\t\tout[i], err = strconv.ParseBool(t)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn out, nil\n}\n\n// GetBoolSlice returns the []bool value of a flag with the given name.\nfunc (f *FlagSet) GetBoolSlice(name string) ([]bool, error) {\n\tval, err := f.getFlagType(name, \"boolSlice\", boolSliceConv)\n\tif err != nil {\n\t\treturn []bool{}, err\n\t}\n\treturn val.([]bool), nil\n}\n\n// BoolSliceVar defines a boolSlice flag with specified name, default value, and usage string.\n// The argument p points to a []bool variable in which to store the value of the flag.\nfunc (f *FlagSet) BoolSliceVar(p *[]bool, name string, value []bool, usage string) {\n\tf.VarP(newBoolSliceValue(value, p), name, \"\", usage)\n}\n\n// BoolSliceVarP is like BoolSliceVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) BoolSliceVarP(p *[]bool, name, shorthand string, value []bool, usage string) {\n\tf.VarP(newBoolSliceValue(value, p), name, shorthand, usage)\n}\n\n// BoolSliceVar defines a []bool flag with specified name, default value, and usage string.\n// The argument p points to a []bool variable in which to store the value of the flag.\nfunc BoolSliceVar(p *[]bool, name string, value []bool, usage string) {\n\tCommandLine.VarP(newBoolSliceValue(value, p), name, \"\", usage)\n}\n\n// BoolSliceVarP is like BoolSliceVar, but accepts a shorthand letter that can be used after a single dash.\nfunc BoolSliceVarP(p *[]bool, name, shorthand string, value []bool, usage string) {\n\tCommandLine.VarP(newBoolSliceValue(value, p), name, shorthand, usage)\n}\n\n// BoolSlice defines a []bool flag with specified name, default value, and usage string.\n// The return value is the address of a []bool variable that stores the value of the flag.\nfunc (f *FlagSet) BoolSlice(name string, value []bool, usage string) *[]bool {\n\tp := []bool{}\n\tf.BoolSliceVarP(&p, name, \"\", value, usage)\n\treturn &p\n}\n\n// BoolSliceP is like BoolSlice, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) BoolSliceP(name, shorthand string, value []bool, usage string) *[]bool {\n\tp := []bool{}\n\tf.BoolSliceVarP(&p, name, shorthand, value, usage)\n\treturn &p\n}\n\n// BoolSlice defines a []bool flag with specified name, default value, and usage string.\n// The return value is the address of a []bool variable that stores the value of the flag.\nfunc BoolSlice(name string, value []bool, usage string) *[]bool {\n\treturn CommandLine.BoolSliceP(name, \"\", value, usage)\n}\n\n// BoolSliceP is like BoolSlice, but accepts a shorthand letter that can be used after a single dash.\nfunc BoolSliceP(name, shorthand string, value []bool, usage string) *[]bool {\n\treturn CommandLine.BoolSliceP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/count.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// -- count Value\ntype countValue int\n\nfunc newCountValue(val int, p *int) *countValue {\n\t*p = val\n\treturn (*countValue)(p)\n}\n\nfunc (i *countValue) Set(s string) error {\n\tv, err := strconv.ParseInt(s, 0, 64)\n\t// -1 means that no specific value was passed, so increment\n\tif v == -1 {\n\t\t*i = countValue(*i + 1)\n\t} else {\n\t\t*i = countValue(v)\n\t}\n\treturn err\n}\n\nfunc (i *countValue) Type() string {\n\treturn \"count\"\n}\n\nfunc (i *countValue) String() string { return strconv.Itoa(int(*i)) }\n\nfunc countConv(sval string) (interface{}, error) {\n\ti, err := strconv.Atoi(sval)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn i, nil\n}\n\n// GetCount return the int value of a flag with the given name\nfunc (f *FlagSet) GetCount(name string) (int, error) {\n\tval, err := f.getFlagType(name, \"count\", countConv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(int), nil\n}\n\n// CountVar defines a count flag with specified name, default value, and usage string.\n// The argument p points to an int variable in which to store the value of the flag.\n// A count flag will add 1 to its value evey time it is found on the command line\nfunc (f *FlagSet) CountVar(p *int, name string, usage string) {\n\tf.CountVarP(p, name, \"\", usage)\n}\n\n// CountVarP is like CountVar only take a shorthand for the flag name.\nfunc (f *FlagSet) CountVarP(p *int, name, shorthand string, usage string) {\n\tflag := f.VarPF(newCountValue(0, p), name, shorthand, usage)\n\tflag.NoOptDefVal = \"-1\"\n}\n\n// CountVar like CountVar only the flag is placed on the CommandLine instead of a given flag set\nfunc CountVar(p *int, name string, usage string) {\n\tCommandLine.CountVar(p, name, usage)\n}\n\n// CountVarP is like CountVar only take a shorthand for the flag name.\nfunc CountVarP(p *int, name, shorthand string, usage string) {\n\tCommandLine.CountVarP(p, name, shorthand, usage)\n}\n\n// Count defines a count flag with specified name, default value, and usage string.\n// The return value is the address of an int variable that stores the value of the flag.\n// A count flag will add 1 to its value evey time it is found on the command line\nfunc (f *FlagSet) Count(name string, usage string) *int {\n\tp := new(int)\n\tf.CountVarP(p, name, \"\", usage)\n\treturn p\n}\n\n// CountP is like Count only takes a shorthand for the flag name.\nfunc (f *FlagSet) CountP(name, shorthand string, usage string) *int {\n\tp := new(int)\n\tf.CountVarP(p, name, shorthand, usage)\n\treturn p\n}\n\n// Count defines a count flag with specified name, default value, and usage string.\n// The return value is the address of an int variable that stores the value of the flag.\n// A count flag will add 1 to its value evey time it is found on the command line\nfunc Count(name string, usage string) *int {\n\treturn CommandLine.CountP(name, \"\", usage)\n}\n\n// CountP is like Count only takes a shorthand for the flag name.\nfunc CountP(name, shorthand string, usage string) *int {\n\treturn CommandLine.CountP(name, shorthand, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/duration.go",
    "content": "package pflag\n\nimport (\n\t\"time\"\n)\n\n// -- time.Duration Value\ntype durationValue time.Duration\n\nfunc newDurationValue(val time.Duration, p *time.Duration) *durationValue {\n\t*p = val\n\treturn (*durationValue)(p)\n}\n\nfunc (d *durationValue) Set(s string) error {\n\tv, err := time.ParseDuration(s)\n\t*d = durationValue(v)\n\treturn err\n}\n\nfunc (d *durationValue) Type() string {\n\treturn \"duration\"\n}\n\nfunc (d *durationValue) String() string { return (*time.Duration)(d).String() }\n\nfunc durationConv(sval string) (interface{}, error) {\n\treturn time.ParseDuration(sval)\n}\n\n// GetDuration return the duration value of a flag with the given name\nfunc (f *FlagSet) GetDuration(name string) (time.Duration, error) {\n\tval, err := f.getFlagType(name, \"duration\", durationConv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(time.Duration), nil\n}\n\n// DurationVar defines a time.Duration flag with specified name, default value, and usage string.\n// The argument p points to a time.Duration variable in which to store the value of the flag.\nfunc (f *FlagSet) DurationVar(p *time.Duration, name string, value time.Duration, usage string) {\n\tf.VarP(newDurationValue(value, p), name, \"\", usage)\n}\n\n// DurationVarP is like DurationVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) DurationVarP(p *time.Duration, name, shorthand string, value time.Duration, usage string) {\n\tf.VarP(newDurationValue(value, p), name, shorthand, usage)\n}\n\n// DurationVar defines a time.Duration flag with specified name, default value, and usage string.\n// The argument p points to a time.Duration variable in which to store the value of the flag.\nfunc DurationVar(p *time.Duration, name string, value time.Duration, usage string) {\n\tCommandLine.VarP(newDurationValue(value, p), name, \"\", usage)\n}\n\n// DurationVarP is like DurationVar, but accepts a shorthand letter that can be used after a single dash.\nfunc DurationVarP(p *time.Duration, name, shorthand string, value time.Duration, usage string) {\n\tCommandLine.VarP(newDurationValue(value, p), name, shorthand, usage)\n}\n\n// Duration defines a time.Duration flag with specified name, default value, and usage string.\n// The return value is the address of a time.Duration variable that stores the value of the flag.\nfunc (f *FlagSet) Duration(name string, value time.Duration, usage string) *time.Duration {\n\tp := new(time.Duration)\n\tf.DurationVarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// DurationP is like Duration, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) DurationP(name, shorthand string, value time.Duration, usage string) *time.Duration {\n\tp := new(time.Duration)\n\tf.DurationVarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Duration defines a time.Duration flag with specified name, default value, and usage string.\n// The return value is the address of a time.Duration variable that stores the value of the flag.\nfunc Duration(name string, value time.Duration, usage string) *time.Duration {\n\treturn CommandLine.DurationP(name, \"\", value, usage)\n}\n\n// DurationP is like Duration, but accepts a shorthand letter that can be used after a single dash.\nfunc DurationP(name, shorthand string, value time.Duration, usage string) *time.Duration {\n\treturn CommandLine.DurationP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/flag.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n/*\nPackage pflag is a drop-in replacement for Go's flag package, implementing\nPOSIX/GNU-style --flags.\n\npflag is compatible with the GNU extensions to the POSIX recommendations\nfor command-line options. See\nhttp://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html\n\nUsage:\n\npflag is a drop-in replacement of Go's native flag package. If you import\npflag under the name \"flag\" then all code should continue to function\nwith no changes.\n\n\timport flag \"github.com/spf13/pflag\"\n\nThere is one exception to this: if you directly instantiate the Flag struct\nthere is one more field \"Shorthand\" that you will need to set.\nMost code never instantiates this struct directly, and instead uses\nfunctions such as String(), BoolVar(), and Var(), and is therefore\nunaffected.\n\nDefine flags using flag.String(), Bool(), Int(), etc.\n\nThis declares an integer flag, -flagname, stored in the pointer ip, with type *int.\n\tvar ip = flag.Int(\"flagname\", 1234, \"help message for flagname\")\nIf you like, you can bind the flag to a variable using the Var() functions.\n\tvar flagvar int\n\tfunc init() {\n\t\tflag.IntVar(&flagvar, \"flagname\", 1234, \"help message for flagname\")\n\t}\nOr you can create custom flags that satisfy the Value interface (with\npointer receivers) and couple them to flag parsing by\n\tflag.Var(&flagVal, \"name\", \"help message for flagname\")\nFor such flags, the default value is just the initial value of the variable.\n\nAfter all flags are defined, call\n\tflag.Parse()\nto parse the command line into the defined flags.\n\nFlags may then be used directly. If you're using the flags themselves,\nthey are all pointers; if you bind to variables, they're values.\n\tfmt.Println(\"ip has value \", *ip)\n\tfmt.Println(\"flagvar has value \", flagvar)\n\nAfter parsing, the arguments after the flag are available as the\nslice flag.Args() or individually as flag.Arg(i).\nThe arguments are indexed from 0 through flag.NArg()-1.\n\nThe pflag package also defines some new functions that are not in flag,\nthat give one-letter shorthands for flags. You can use these by appending\n'P' to the name of any function that defines a flag.\n\tvar ip = flag.IntP(\"flagname\", \"f\", 1234, \"help message\")\n\tvar flagvar bool\n\tfunc init() {\n\t\tflag.BoolVarP(\"boolname\", \"b\", true, \"help message\")\n\t}\n\tflag.VarP(&flagVar, \"varname\", \"v\", 1234, \"help message\")\nShorthand letters can be used with single dashes on the command line.\nBoolean shorthand flags can be combined with other shorthand flags.\n\nCommand line flag syntax:\n\t--flag    // boolean flags only\n\t--flag=x\n\nUnlike the flag package, a single dash before an option means something\ndifferent than a double dash. Single dashes signify a series of shorthand\nletters for flags. All but the last shorthand letter must be boolean flags.\n\t// boolean flags\n\t-f\n\t-abc\n\t// non-boolean flags\n\t-n 1234\n\t-Ifile\n\t// mixed\n\t-abcs \"hello\"\n\t-abcn1234\n\nFlag parsing stops after the terminator \"--\". Unlike the flag package,\nflags can be interspersed with arguments anywhere on the command line\nbefore this terminator.\n\nInteger flags accept 1234, 0664, 0x1234 and may be negative.\nBoolean flags (in their long form) accept 1, 0, t, f, true, false,\nTRUE, FALSE, True, False.\nDuration flags accept any input valid for time.ParseDuration.\n\nThe default set of command-line flags is controlled by\ntop-level functions.  The FlagSet type allows one to define\nindependent sets of flags, such as to implement subcommands\nin a command-line interface. The methods of FlagSet are\nanalogous to the top-level functions for the command-line\nflag set.\n*/\npackage pflag\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"sort\"\n\t\"strings\"\n)\n\n// ErrHelp is the error returned if the flag -help is invoked but no such flag is defined.\nvar ErrHelp = errors.New(\"pflag: help requested\")\n\n// ErrorHandling defines how to handle flag parsing errors.\ntype ErrorHandling int\n\nconst (\n\t// ContinueOnError will return an err from Parse() if an error is found\n\tContinueOnError ErrorHandling = iota\n\t// ExitOnError will call os.Exit(2) if an error is found when parsing\n\tExitOnError\n\t// PanicOnError will panic() if an error is found when parsing flags\n\tPanicOnError\n)\n\n// NormalizedName is a flag name that has been normalized according to rules\n// for the FlagSet (e.g. making '-' and '_' equivalent).\ntype NormalizedName string\n\n// A FlagSet represents a set of defined flags.\ntype FlagSet struct {\n\t// Usage is the function called when an error occurs while parsing flags.\n\t// The field is a function (not a method) that may be changed to point to\n\t// a custom error handler.\n\tUsage func()\n\n\t// SortFlags is used to indicate, if user wants to have sorted flags in\n\t// help/usage messages.\n\tSortFlags bool\n\n\tname              string\n\tparsed            bool\n\tactual            map[NormalizedName]*Flag\n\torderedActual     []*Flag\n\tsortedActual      []*Flag\n\tformal            map[NormalizedName]*Flag\n\torderedFormal     []*Flag\n\tsortedFormal      []*Flag\n\tshorthands        map[byte]*Flag\n\targs              []string // arguments after flags\n\targsLenAtDash     int      // len(args) when a '--' was located when parsing, or -1 if no --\n\terrorHandling     ErrorHandling\n\toutput            io.Writer // nil means stderr; use out() accessor\n\tinterspersed      bool      // allow interspersed option/non-option args\n\tnormalizeNameFunc func(f *FlagSet, name string) NormalizedName\n}\n\n// A Flag represents the state of a flag.\ntype Flag struct {\n\tName                string              // name as it appears on command line\n\tShorthand           string              // one-letter abbreviated flag\n\tUsage               string              // help message\n\tValue               Value               // value as set\n\tDefValue            string              // default value (as text); for usage message\n\tChanged             bool                // If the user set the value (or if left to default)\n\tNoOptDefVal         string              // default value (as text); if the flag is on the command line without any options\n\tDeprecated          string              // If this flag is deprecated, this string is the new or now thing to use\n\tHidden              bool                // used by cobra.Command to allow flags to be hidden from help/usage text\n\tShorthandDeprecated string              // If the shorthand of this flag is deprecated, this string is the new or now thing to use\n\tAnnotations         map[string][]string // used by cobra.Command bash autocomple code\n}\n\n// Value is the interface to the dynamic value stored in a flag.\n// (The default value is represented as a string.)\ntype Value interface {\n\tString() string\n\tSet(string) error\n\tType() string\n}\n\n// sortFlags returns the flags as a slice in lexicographical sorted order.\nfunc sortFlags(flags map[NormalizedName]*Flag) []*Flag {\n\tlist := make(sort.StringSlice, len(flags))\n\ti := 0\n\tfor k := range flags {\n\t\tlist[i] = string(k)\n\t\ti++\n\t}\n\tlist.Sort()\n\tresult := make([]*Flag, len(list))\n\tfor i, name := range list {\n\t\tresult[i] = flags[NormalizedName(name)]\n\t}\n\treturn result\n}\n\n// SetNormalizeFunc allows you to add a function which can translate flag names.\n// Flags added to the FlagSet will be translated and then when anything tries to\n// look up the flag that will also be translated. So it would be possible to create\n// a flag named \"getURL\" and have it translated to \"geturl\".  A user could then pass\n// \"--getUrl\" which may also be translated to \"geturl\" and everything will work.\nfunc (f *FlagSet) SetNormalizeFunc(n func(f *FlagSet, name string) NormalizedName) {\n\tf.normalizeNameFunc = n\n\tf.sortedFormal = f.sortedFormal[:0]\n\tfor k, v := range f.orderedFormal {\n\t\tdelete(f.formal, NormalizedName(v.Name))\n\t\tnname := f.normalizeFlagName(v.Name)\n\t\tv.Name = string(nname)\n\t\tf.formal[nname] = v\n\t\tf.orderedFormal[k] = v\n\t}\n}\n\n// GetNormalizeFunc returns the previously set NormalizeFunc of a function which\n// does no translation, if not set previously.\nfunc (f *FlagSet) GetNormalizeFunc() func(f *FlagSet, name string) NormalizedName {\n\tif f.normalizeNameFunc != nil {\n\t\treturn f.normalizeNameFunc\n\t}\n\treturn func(f *FlagSet, name string) NormalizedName { return NormalizedName(name) }\n}\n\nfunc (f *FlagSet) normalizeFlagName(name string) NormalizedName {\n\tn := f.GetNormalizeFunc()\n\treturn n(f, name)\n}\n\nfunc (f *FlagSet) out() io.Writer {\n\tif f.output == nil {\n\t\treturn os.Stderr\n\t}\n\treturn f.output\n}\n\n// SetOutput sets the destination for usage and error messages.\n// If output is nil, os.Stderr is used.\nfunc (f *FlagSet) SetOutput(output io.Writer) {\n\tf.output = output\n}\n\n// VisitAll visits the flags in lexicographical order or\n// in primordial order if f.SortFlags is false, calling fn for each.\n// It visits all flags, even those not set.\nfunc (f *FlagSet) VisitAll(fn func(*Flag)) {\n\tif len(f.formal) == 0 {\n\t\treturn\n\t}\n\n\tvar flags []*Flag\n\tif f.SortFlags {\n\t\tif len(f.formal) != len(f.sortedFormal) {\n\t\t\tf.sortedFormal = sortFlags(f.formal)\n\t\t}\n\t\tflags = f.sortedFormal\n\t} else {\n\t\tflags = f.orderedFormal\n\t}\n\n\tfor _, flag := range flags {\n\t\tfn(flag)\n\t}\n}\n\n// HasFlags returns a bool to indicate if the FlagSet has any flags definied.\nfunc (f *FlagSet) HasFlags() bool {\n\treturn len(f.formal) > 0\n}\n\n// HasAvailableFlags returns a bool to indicate if the FlagSet has any flags\n// definied that are not hidden or deprecated.\nfunc (f *FlagSet) HasAvailableFlags() bool {\n\tfor _, flag := range f.formal {\n\t\tif !flag.Hidden && len(flag.Deprecated) == 0 {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// VisitAll visits the command-line flags in lexicographical order or\n// in primordial order if f.SortFlags is false, calling fn for each.\n// It visits all flags, even those not set.\nfunc VisitAll(fn func(*Flag)) {\n\tCommandLine.VisitAll(fn)\n}\n\n// Visit visits the flags in lexicographical order or\n// in primordial order if f.SortFlags is false, calling fn for each.\n// It visits only those flags that have been set.\nfunc (f *FlagSet) Visit(fn func(*Flag)) {\n\tif len(f.actual) == 0 {\n\t\treturn\n\t}\n\n\tvar flags []*Flag\n\tif f.SortFlags {\n\t\tif len(f.actual) != len(f.sortedActual) {\n\t\t\tf.sortedActual = sortFlags(f.actual)\n\t\t}\n\t\tflags = f.sortedActual\n\t} else {\n\t\tflags = f.orderedActual\n\t}\n\n\tfor _, flag := range flags {\n\t\tfn(flag)\n\t}\n}\n\n// Visit visits the command-line flags in lexicographical order or\n// in primordial order if f.SortFlags is false, calling fn for each.\n// It visits only those flags that have been set.\nfunc Visit(fn func(*Flag)) {\n\tCommandLine.Visit(fn)\n}\n\n// Lookup returns the Flag structure of the named flag, returning nil if none exists.\nfunc (f *FlagSet) Lookup(name string) *Flag {\n\treturn f.lookup(f.normalizeFlagName(name))\n}\n\n// ShorthandLookup returns the Flag structure of the short handed flag,\n// returning nil if none exists.\n// It panics, if len(name) > 1.\nfunc (f *FlagSet) ShorthandLookup(name string) *Flag {\n\tif name == \"\" {\n\t\treturn nil\n\t}\n\tif len(name) > 1 {\n\t\tmsg := fmt.Sprintf(\"can not look up shorthand which is more than one ASCII character: %q\", name)\n\t\tfmt.Fprintf(f.out(), msg)\n\t\tpanic(msg)\n\t}\n\tc := name[0]\n\treturn f.shorthands[c]\n}\n\n// lookup returns the Flag structure of the named flag, returning nil if none exists.\nfunc (f *FlagSet) lookup(name NormalizedName) *Flag {\n\treturn f.formal[name]\n}\n\n// func to return a given type for a given flag name\nfunc (f *FlagSet) getFlagType(name string, ftype string, convFunc func(sval string) (interface{}, error)) (interface{}, error) {\n\tflag := f.Lookup(name)\n\tif flag == nil {\n\t\terr := fmt.Errorf(\"flag accessed but not defined: %s\", name)\n\t\treturn nil, err\n\t}\n\n\tif flag.Value.Type() != ftype {\n\t\terr := fmt.Errorf(\"trying to get %s value of flag of type %s\", ftype, flag.Value.Type())\n\t\treturn nil, err\n\t}\n\n\tsval := flag.Value.String()\n\tresult, err := convFunc(sval)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn result, nil\n}\n\n// ArgsLenAtDash will return the length of f.Args at the moment when a -- was\n// found during arg parsing. This allows your program to know which args were\n// before the -- and which came after.\nfunc (f *FlagSet) ArgsLenAtDash() int {\n\treturn f.argsLenAtDash\n}\n\n// MarkDeprecated indicated that a flag is deprecated in your program. It will\n// continue to function but will not show up in help or usage messages. Using\n// this flag will also print the given usageMessage.\nfunc (f *FlagSet) MarkDeprecated(name string, usageMessage string) error {\n\tflag := f.Lookup(name)\n\tif flag == nil {\n\t\treturn fmt.Errorf(\"flag %q does not exist\", name)\n\t}\n\tif usageMessage == \"\" {\n\t\treturn fmt.Errorf(\"deprecated message for flag %q must be set\", name)\n\t}\n\tflag.Deprecated = usageMessage\n\treturn nil\n}\n\n// MarkShorthandDeprecated will mark the shorthand of a flag deprecated in your\n// program. It will continue to function but will not show up in help or usage\n// messages. Using this flag will also print the given usageMessage.\nfunc (f *FlagSet) MarkShorthandDeprecated(name string, usageMessage string) error {\n\tflag := f.Lookup(name)\n\tif flag == nil {\n\t\treturn fmt.Errorf(\"flag %q does not exist\", name)\n\t}\n\tif usageMessage == \"\" {\n\t\treturn fmt.Errorf(\"deprecated message for flag %q must be set\", name)\n\t}\n\tflag.ShorthandDeprecated = usageMessage\n\treturn nil\n}\n\n// MarkHidden sets a flag to 'hidden' in your program. It will continue to\n// function but will not show up in help or usage messages.\nfunc (f *FlagSet) MarkHidden(name string) error {\n\tflag := f.Lookup(name)\n\tif flag == nil {\n\t\treturn fmt.Errorf(\"flag %q does not exist\", name)\n\t}\n\tflag.Hidden = true\n\treturn nil\n}\n\n// Lookup returns the Flag structure of the named command-line flag,\n// returning nil if none exists.\nfunc Lookup(name string) *Flag {\n\treturn CommandLine.Lookup(name)\n}\n\n// ShorthandLookup returns the Flag structure of the short handed flag,\n// returning nil if none exists.\nfunc ShorthandLookup(name string) *Flag {\n\treturn CommandLine.ShorthandLookup(name)\n}\n\n// Set sets the value of the named flag.\nfunc (f *FlagSet) Set(name, value string) error {\n\tnormalName := f.normalizeFlagName(name)\n\tflag, ok := f.formal[normalName]\n\tif !ok {\n\t\treturn fmt.Errorf(\"no such flag -%v\", name)\n\t}\n\n\terr := flag.Value.Set(value)\n\tif err != nil {\n\t\tvar flagName string\n\t\tif flag.Shorthand != \"\" && flag.ShorthandDeprecated == \"\" {\n\t\t\tflagName = fmt.Sprintf(\"-%s, --%s\", flag.Shorthand, flag.Name)\n\t\t} else {\n\t\t\tflagName = fmt.Sprintf(\"--%s\", flag.Name)\n\t\t}\n\t\treturn fmt.Errorf(\"invalid argument %q for %q flag: %v\", value, flagName, err)\n\t}\n\n\tif f.actual == nil {\n\t\tf.actual = make(map[NormalizedName]*Flag)\n\t}\n\tf.actual[normalName] = flag\n\tf.orderedActual = append(f.orderedActual, flag)\n\n\tflag.Changed = true\n\n\tif flag.Deprecated != \"\" {\n\t\tfmt.Fprintf(f.out(), \"Flag --%s has been deprecated, %s\\n\", flag.Name, flag.Deprecated)\n\t}\n\treturn nil\n}\n\n// SetAnnotation allows one to set arbitrary annotations on a flag in the FlagSet.\n// This is sometimes used by spf13/cobra programs which want to generate additional\n// bash completion information.\nfunc (f *FlagSet) SetAnnotation(name, key string, values []string) error {\n\tnormalName := f.normalizeFlagName(name)\n\tflag, ok := f.formal[normalName]\n\tif !ok {\n\t\treturn fmt.Errorf(\"no such flag -%v\", name)\n\t}\n\tif flag.Annotations == nil {\n\t\tflag.Annotations = map[string][]string{}\n\t}\n\tflag.Annotations[key] = values\n\treturn nil\n}\n\n// Changed returns true if the flag was explicitly set during Parse() and false\n// otherwise\nfunc (f *FlagSet) Changed(name string) bool {\n\tflag := f.Lookup(name)\n\t// If a flag doesn't exist, it wasn't changed....\n\tif flag == nil {\n\t\treturn false\n\t}\n\treturn flag.Changed\n}\n\n// Set sets the value of the named command-line flag.\nfunc Set(name, value string) error {\n\treturn CommandLine.Set(name, value)\n}\n\n// PrintDefaults prints, to standard error unless configured\n// otherwise, the default values of all defined flags in the set.\nfunc (f *FlagSet) PrintDefaults() {\n\tusages := f.FlagUsages()\n\tfmt.Fprint(f.out(), usages)\n}\n\n// defaultIsZeroValue returns true if the default value for this flag represents\n// a zero value.\nfunc (f *Flag) defaultIsZeroValue() bool {\n\tswitch f.Value.(type) {\n\tcase boolFlag:\n\t\treturn f.DefValue == \"false\"\n\tcase *durationValue:\n\t\t// Beginning in Go 1.7, duration zero values are \"0s\"\n\t\treturn f.DefValue == \"0\" || f.DefValue == \"0s\"\n\tcase *intValue, *int8Value, *int32Value, *int64Value, *uintValue, *uint8Value, *uint16Value, *uint32Value, *uint64Value, *countValue, *float32Value, *float64Value:\n\t\treturn f.DefValue == \"0\"\n\tcase *stringValue:\n\t\treturn f.DefValue == \"\"\n\tcase *ipValue, *ipMaskValue, *ipNetValue:\n\t\treturn f.DefValue == \"<nil>\"\n\tcase *intSliceValue, *stringSliceValue, *stringArrayValue:\n\t\treturn f.DefValue == \"[]\"\n\tdefault:\n\t\tswitch f.Value.String() {\n\t\tcase \"false\":\n\t\t\treturn true\n\t\tcase \"<nil>\":\n\t\t\treturn true\n\t\tcase \"\":\n\t\t\treturn true\n\t\tcase \"0\":\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}\n}\n\n// UnquoteUsage extracts a back-quoted name from the usage\n// string for a flag and returns it and the un-quoted usage.\n// Given \"a `name` to show\" it returns (\"name\", \"a name to show\").\n// If there are no back quotes, the name is an educated guess of the\n// type of the flag's value, or the empty string if the flag is boolean.\nfunc UnquoteUsage(flag *Flag) (name string, usage string) {\n\t// Look for a back-quoted name, but avoid the strings package.\n\tusage = flag.Usage\n\tfor i := 0; i < len(usage); i++ {\n\t\tif usage[i] == '`' {\n\t\t\tfor j := i + 1; j < len(usage); j++ {\n\t\t\t\tif usage[j] == '`' {\n\t\t\t\t\tname = usage[i+1 : j]\n\t\t\t\t\tusage = usage[:i] + name + usage[j+1:]\n\t\t\t\t\treturn name, usage\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak // Only one back quote; use type name.\n\t\t}\n\t}\n\n\tname = flag.Value.Type()\n\tswitch name {\n\tcase \"bool\":\n\t\tname = \"\"\n\tcase \"float64\":\n\t\tname = \"float\"\n\tcase \"int64\":\n\t\tname = \"int\"\n\tcase \"uint64\":\n\t\tname = \"uint\"\n\t}\n\n\treturn\n}\n\n// Splits the string `s` on whitespace into an initial substring up to\n// `i` runes in length and the remainder. Will go `slop` over `i` if\n// that encompasses the entire string (which allows the caller to\n// avoid short orphan words on the final line).\nfunc wrapN(i, slop int, s string) (string, string) {\n\tif i+slop > len(s) {\n\t\treturn s, \"\"\n\t}\n\n\tw := strings.LastIndexAny(s[:i], \" \\t\")\n\tif w <= 0 {\n\t\treturn s, \"\"\n\t}\n\n\treturn s[:w], s[w+1:]\n}\n\n// Wraps the string `s` to a maximum width `w` with leading indent\n// `i`. The first line is not indented (this is assumed to be done by\n// caller). Pass `w` == 0 to do no wrapping\nfunc wrap(i, w int, s string) string {\n\tif w == 0 {\n\t\treturn s\n\t}\n\n\t// space between indent i and end of line width w into which\n\t// we should wrap the text.\n\twrap := w - i\n\n\tvar r, l string\n\n\t// Not enough space for sensible wrapping. Wrap as a block on\n\t// the next line instead.\n\tif wrap < 24 {\n\t\ti = 16\n\t\twrap = w - i\n\t\tr += \"\\n\" + strings.Repeat(\" \", i)\n\t}\n\t// If still not enough space then don't even try to wrap.\n\tif wrap < 24 {\n\t\treturn s\n\t}\n\n\t// Try to avoid short orphan words on the final line, by\n\t// allowing wrapN to go a bit over if that would fit in the\n\t// remainder of the line.\n\tslop := 5\n\twrap = wrap - slop\n\n\t// Handle first line, which is indented by the caller (or the\n\t// special case above)\n\tl, s = wrapN(wrap, slop, s)\n\tr = r + l\n\n\t// Now wrap the rest\n\tfor s != \"\" {\n\t\tvar t string\n\n\t\tt, s = wrapN(wrap, slop, s)\n\t\tr = r + \"\\n\" + strings.Repeat(\" \", i) + t\n\t}\n\n\treturn r\n\n}\n\n// FlagUsagesWrapped returns a string containing the usage information\n// for all flags in the FlagSet. Wrapped to `cols` columns (0 for no\n// wrapping)\nfunc (f *FlagSet) FlagUsagesWrapped(cols int) string {\n\tbuf := new(bytes.Buffer)\n\n\tlines := make([]string, 0, len(f.formal))\n\n\tmaxlen := 0\n\tf.VisitAll(func(flag *Flag) {\n\t\tif flag.Deprecated != \"\" || flag.Hidden {\n\t\t\treturn\n\t\t}\n\n\t\tline := \"\"\n\t\tif flag.Shorthand != \"\" && flag.ShorthandDeprecated == \"\" {\n\t\t\tline = fmt.Sprintf(\"  -%s, --%s\", flag.Shorthand, flag.Name)\n\t\t} else {\n\t\t\tline = fmt.Sprintf(\"      --%s\", flag.Name)\n\t\t}\n\n\t\tvarname, usage := UnquoteUsage(flag)\n\t\tif varname != \"\" {\n\t\t\tline += \" \" + varname\n\t\t}\n\t\tif flag.NoOptDefVal != \"\" {\n\t\t\tswitch flag.Value.Type() {\n\t\t\tcase \"string\":\n\t\t\t\tline += fmt.Sprintf(\"[=\\\"%s\\\"]\", flag.NoOptDefVal)\n\t\t\tcase \"bool\":\n\t\t\t\tif flag.NoOptDefVal != \"true\" {\n\t\t\t\t\tline += fmt.Sprintf(\"[=%s]\", flag.NoOptDefVal)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tline += fmt.Sprintf(\"[=%s]\", flag.NoOptDefVal)\n\t\t\t}\n\t\t}\n\n\t\t// This special character will be replaced with spacing once the\n\t\t// correct alignment is calculated\n\t\tline += \"\\x00\"\n\t\tif len(line) > maxlen {\n\t\t\tmaxlen = len(line)\n\t\t}\n\n\t\tline += usage\n\t\tif !flag.defaultIsZeroValue() {\n\t\t\tif flag.Value.Type() == \"string\" {\n\t\t\t\tline += fmt.Sprintf(\" (default %q)\", flag.DefValue)\n\t\t\t} else {\n\t\t\t\tline += fmt.Sprintf(\" (default %s)\", flag.DefValue)\n\t\t\t}\n\t\t}\n\n\t\tlines = append(lines, line)\n\t})\n\n\tfor _, line := range lines {\n\t\tsidx := strings.Index(line, \"\\x00\")\n\t\tspacing := strings.Repeat(\" \", maxlen-sidx)\n\t\t// maxlen + 2 comes from + 1 for the \\x00 and + 1 for the (deliberate) off-by-one in maxlen-sidx\n\t\tfmt.Fprintln(buf, line[:sidx], spacing, wrap(maxlen+2, cols, line[sidx+1:]))\n\t}\n\n\treturn buf.String()\n}\n\n// FlagUsages returns a string containing the usage information for all flags in\n// the FlagSet\nfunc (f *FlagSet) FlagUsages() string {\n\treturn f.FlagUsagesWrapped(0)\n}\n\n// PrintDefaults prints to standard error the default values of all defined command-line flags.\nfunc PrintDefaults() {\n\tCommandLine.PrintDefaults()\n}\n\n// defaultUsage is the default function to print a usage message.\nfunc defaultUsage(f *FlagSet) {\n\tfmt.Fprintf(f.out(), \"Usage of %s:\\n\", f.name)\n\tf.PrintDefaults()\n}\n\n// NOTE: Usage is not just defaultUsage(CommandLine)\n// because it serves (via godoc flag Usage) as the example\n// for how to write your own usage function.\n\n// Usage prints to standard error a usage message documenting all defined command-line flags.\n// The function is a variable that may be changed to point to a custom function.\n// By default it prints a simple header and calls PrintDefaults; for details about the\n// format of the output and how to control it, see the documentation for PrintDefaults.\nvar Usage = func() {\n\tfmt.Fprintf(os.Stderr, \"Usage of %s:\\n\", os.Args[0])\n\tPrintDefaults()\n}\n\n// NFlag returns the number of flags that have been set.\nfunc (f *FlagSet) NFlag() int { return len(f.actual) }\n\n// NFlag returns the number of command-line flags that have been set.\nfunc NFlag() int { return len(CommandLine.actual) }\n\n// Arg returns the i'th argument.  Arg(0) is the first remaining argument\n// after flags have been processed.\nfunc (f *FlagSet) Arg(i int) string {\n\tif i < 0 || i >= len(f.args) {\n\t\treturn \"\"\n\t}\n\treturn f.args[i]\n}\n\n// Arg returns the i'th command-line argument.  Arg(0) is the first remaining argument\n// after flags have been processed.\nfunc Arg(i int) string {\n\treturn CommandLine.Arg(i)\n}\n\n// NArg is the number of arguments remaining after flags have been processed.\nfunc (f *FlagSet) NArg() int { return len(f.args) }\n\n// NArg is the number of arguments remaining after flags have been processed.\nfunc NArg() int { return len(CommandLine.args) }\n\n// Args returns the non-flag arguments.\nfunc (f *FlagSet) Args() []string { return f.args }\n\n// Args returns the non-flag command-line arguments.\nfunc Args() []string { return CommandLine.args }\n\n// Var defines a flag with the specified name and usage string. The type and\n// value of the flag are represented by the first argument, of type Value, which\n// typically holds a user-defined implementation of Value. For instance, the\n// caller could create a flag that turns a comma-separated string into a slice\n// of strings by giving the slice the methods of Value; in particular, Set would\n// decompose the comma-separated string into the slice.\nfunc (f *FlagSet) Var(value Value, name string, usage string) {\n\tf.VarP(value, name, \"\", usage)\n}\n\n// VarPF is like VarP, but returns the flag created\nfunc (f *FlagSet) VarPF(value Value, name, shorthand, usage string) *Flag {\n\t// Remember the default value as a string; it won't change.\n\tflag := &Flag{\n\t\tName:      name,\n\t\tShorthand: shorthand,\n\t\tUsage:     usage,\n\t\tValue:     value,\n\t\tDefValue:  value.String(),\n\t}\n\tf.AddFlag(flag)\n\treturn flag\n}\n\n// VarP is like Var, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) VarP(value Value, name, shorthand, usage string) {\n\tf.VarPF(value, name, shorthand, usage)\n}\n\n// AddFlag will add the flag to the FlagSet\nfunc (f *FlagSet) AddFlag(flag *Flag) {\n\tnormalizedFlagName := f.normalizeFlagName(flag.Name)\n\n\t_, alreadyThere := f.formal[normalizedFlagName]\n\tif alreadyThere {\n\t\tmsg := fmt.Sprintf(\"%s flag redefined: %s\", f.name, flag.Name)\n\t\tfmt.Fprintln(f.out(), msg)\n\t\tpanic(msg) // Happens only if flags are declared with identical names\n\t}\n\tif f.formal == nil {\n\t\tf.formal = make(map[NormalizedName]*Flag)\n\t}\n\n\tflag.Name = string(normalizedFlagName)\n\tf.formal[normalizedFlagName] = flag\n\tf.orderedFormal = append(f.orderedFormal, flag)\n\n\tif flag.Shorthand == \"\" {\n\t\treturn\n\t}\n\tif len(flag.Shorthand) > 1 {\n\t\tmsg := fmt.Sprintf(\"%q shorthand is more than one ASCII character\", flag.Shorthand)\n\t\tfmt.Fprintf(f.out(), msg)\n\t\tpanic(msg)\n\t}\n\tif f.shorthands == nil {\n\t\tf.shorthands = make(map[byte]*Flag)\n\t}\n\tc := flag.Shorthand[0]\n\tused, alreadyThere := f.shorthands[c]\n\tif alreadyThere {\n\t\tmsg := fmt.Sprintf(\"unable to redefine %q shorthand in %q flagset: it's already used for %q flag\", c, f.name, used.Name)\n\t\tfmt.Fprintf(f.out(), msg)\n\t\tpanic(msg)\n\t}\n\tf.shorthands[c] = flag\n}\n\n// AddFlagSet adds one FlagSet to another. If a flag is already present in f\n// the flag from newSet will be ignored.\nfunc (f *FlagSet) AddFlagSet(newSet *FlagSet) {\n\tif newSet == nil {\n\t\treturn\n\t}\n\tnewSet.VisitAll(func(flag *Flag) {\n\t\tif f.Lookup(flag.Name) == nil {\n\t\t\tf.AddFlag(flag)\n\t\t}\n\t})\n}\n\n// Var defines a flag with the specified name and usage string. The type and\n// value of the flag are represented by the first argument, of type Value, which\n// typically holds a user-defined implementation of Value. For instance, the\n// caller could create a flag that turns a comma-separated string into a slice\n// of strings by giving the slice the methods of Value; in particular, Set would\n// decompose the comma-separated string into the slice.\nfunc Var(value Value, name string, usage string) {\n\tCommandLine.VarP(value, name, \"\", usage)\n}\n\n// VarP is like Var, but accepts a shorthand letter that can be used after a single dash.\nfunc VarP(value Value, name, shorthand, usage string) {\n\tCommandLine.VarP(value, name, shorthand, usage)\n}\n\n// failf prints to standard error a formatted error and usage message and\n// returns the error.\nfunc (f *FlagSet) failf(format string, a ...interface{}) error {\n\terr := fmt.Errorf(format, a...)\n\tfmt.Fprintln(f.out(), err)\n\tf.usage()\n\treturn err\n}\n\n// usage calls the Usage method for the flag set, or the usage function if\n// the flag set is CommandLine.\nfunc (f *FlagSet) usage() {\n\tif f == CommandLine {\n\t\tUsage()\n\t} else if f.Usage == nil {\n\t\tdefaultUsage(f)\n\t} else {\n\t\tf.Usage()\n\t}\n}\n\nfunc (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []string, err error) {\n\ta = args\n\tname := s[2:]\n\tif len(name) == 0 || name[0] == '-' || name[0] == '=' {\n\t\terr = f.failf(\"bad flag syntax: %s\", s)\n\t\treturn\n\t}\n\n\tsplit := strings.SplitN(name, \"=\", 2)\n\tname = split[0]\n\tflag, exists := f.formal[f.normalizeFlagName(name)]\n\tif !exists {\n\t\tif name == \"help\" { // special case for nice help message.\n\t\t\tf.usage()\n\t\t\treturn a, ErrHelp\n\t\t}\n\t\terr = f.failf(\"unknown flag: --%s\", name)\n\t\treturn\n\t}\n\n\tvar value string\n\tif len(split) == 2 {\n\t\t// '--flag=arg'\n\t\tvalue = split[1]\n\t} else if flag.NoOptDefVal != \"\" {\n\t\t// '--flag' (arg was optional)\n\t\tvalue = flag.NoOptDefVal\n\t} else if len(a) > 0 {\n\t\t// '--flag arg'\n\t\tvalue = a[0]\n\t\ta = a[1:]\n\t} else {\n\t\t// '--flag' (arg was required)\n\t\terr = f.failf(\"flag needs an argument: %s\", s)\n\t\treturn\n\t}\n\n\terr = fn(flag, value)\n\treturn\n}\n\nfunc (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parseFunc) (outShorts string, outArgs []string, err error) {\n\tif strings.HasPrefix(shorthands, \"test.\") {\n\t\treturn\n\t}\n\n\toutArgs = args\n\toutShorts = shorthands[1:]\n\tc := shorthands[0]\n\n\tflag, exists := f.shorthands[c]\n\tif !exists {\n\t\tif c == 'h' { // special case for nice help message.\n\t\t\tf.usage()\n\t\t\terr = ErrHelp\n\t\t\treturn\n\t\t}\n\t\terr = f.failf(\"unknown shorthand flag: %q in -%s\", c, shorthands)\n\t\treturn\n\t}\n\n\tvar value string\n\tif len(shorthands) > 2 && shorthands[1] == '=' {\n\t\t// '-f=arg'\n\t\tvalue = shorthands[2:]\n\t\toutShorts = \"\"\n\t} else if flag.NoOptDefVal != \"\" {\n\t\t// '-f' (arg was optional)\n\t\tvalue = flag.NoOptDefVal\n\t} else if len(shorthands) > 1 {\n\t\t// '-farg'\n\t\tvalue = shorthands[1:]\n\t\toutShorts = \"\"\n\t} else if len(args) > 0 {\n\t\t// '-f arg'\n\t\tvalue = args[0]\n\t\toutArgs = args[1:]\n\t} else {\n\t\t// '-f' (arg was required)\n\t\terr = f.failf(\"flag needs an argument: %q in -%s\", c, shorthands)\n\t\treturn\n\t}\n\n\tif flag.ShorthandDeprecated != \"\" {\n\t\tfmt.Fprintf(f.out(), \"Flag shorthand -%s has been deprecated, %s\\n\", flag.Shorthand, flag.ShorthandDeprecated)\n\t}\n\n\terr = fn(flag, value)\n\treturn\n}\n\nfunc (f *FlagSet) parseShortArg(s string, args []string, fn parseFunc) (a []string, err error) {\n\ta = args\n\tshorthands := s[1:]\n\n\t// \"shorthands\" can be a series of shorthand letters of flags (e.g. \"-vvv\").\n\tfor len(shorthands) > 0 {\n\t\tshorthands, a, err = f.parseSingleShortArg(shorthands, args, fn)\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\n\treturn\n}\n\nfunc (f *FlagSet) parseArgs(args []string, fn parseFunc) (err error) {\n\tfor len(args) > 0 {\n\t\ts := args[0]\n\t\targs = args[1:]\n\t\tif len(s) == 0 || s[0] != '-' || len(s) == 1 {\n\t\t\tif !f.interspersed {\n\t\t\t\tf.args = append(f.args, s)\n\t\t\t\tf.args = append(f.args, args...)\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\tf.args = append(f.args, s)\n\t\t\tcontinue\n\t\t}\n\n\t\tif s[1] == '-' {\n\t\t\tif len(s) == 2 { // \"--\" terminates the flags\n\t\t\t\tf.argsLenAtDash = len(f.args)\n\t\t\t\tf.args = append(f.args, args...)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\targs, err = f.parseLongArg(s, args, fn)\n\t\t} else {\n\t\t\targs, err = f.parseShortArg(s, args, fn)\n\t\t}\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\treturn\n}\n\n// Parse parses flag definitions from the argument list, which should not\n// include the command name.  Must be called after all flags in the FlagSet\n// are defined and before flags are accessed by the program.\n// The return value will be ErrHelp if -help was set but not defined.\nfunc (f *FlagSet) Parse(arguments []string) error {\n\tf.parsed = true\n\n\tif len(arguments) < 0 {\n\t\treturn nil\n\t}\n\n\tf.args = make([]string, 0, len(arguments))\n\n\tset := func(flag *Flag, value string) error {\n\t\treturn f.Set(flag.Name, value)\n\t}\n\n\terr := f.parseArgs(arguments, set)\n\tif err != nil {\n\t\tswitch f.errorHandling {\n\t\tcase ContinueOnError:\n\t\t\treturn err\n\t\tcase ExitOnError:\n\t\t\tos.Exit(2)\n\t\tcase PanicOnError:\n\t\t\tpanic(err)\n\t\t}\n\t}\n\treturn nil\n}\n\ntype parseFunc func(flag *Flag, value string) error\n\n// ParseAll parses flag definitions from the argument list, which should not\n// include the command name. The arguments for fn are flag and value. Must be\n// called after all flags in the FlagSet are defined and before flags are\n// accessed by the program. The return value will be ErrHelp if -help was set\n// but not defined.\nfunc (f *FlagSet) ParseAll(arguments []string, fn func(flag *Flag, value string) error) error {\n\tf.parsed = true\n\tf.args = make([]string, 0, len(arguments))\n\n\terr := f.parseArgs(arguments, fn)\n\tif err != nil {\n\t\tswitch f.errorHandling {\n\t\tcase ContinueOnError:\n\t\t\treturn err\n\t\tcase ExitOnError:\n\t\t\tos.Exit(2)\n\t\tcase PanicOnError:\n\t\t\tpanic(err)\n\t\t}\n\t}\n\treturn nil\n}\n\n// Parsed reports whether f.Parse has been called.\nfunc (f *FlagSet) Parsed() bool {\n\treturn f.parsed\n}\n\n// Parse parses the command-line flags from os.Args[1:].  Must be called\n// after all flags are defined and before flags are accessed by the program.\nfunc Parse() {\n\t// Ignore errors; CommandLine is set for ExitOnError.\n\tCommandLine.Parse(os.Args[1:])\n}\n\n// ParseAll parses the command-line flags from os.Args[1:] and called fn for each.\n// The arguments for fn are flag and value. Must be called after all flags are\n// defined and before flags are accessed by the program.\nfunc ParseAll(fn func(flag *Flag, value string) error) {\n\t// Ignore errors; CommandLine is set for ExitOnError.\n\tCommandLine.ParseAll(os.Args[1:], fn)\n}\n\n// SetInterspersed sets whether to support interspersed option/non-option arguments.\nfunc SetInterspersed(interspersed bool) {\n\tCommandLine.SetInterspersed(interspersed)\n}\n\n// Parsed returns true if the command-line flags have been parsed.\nfunc Parsed() bool {\n\treturn CommandLine.Parsed()\n}\n\n// CommandLine is the default set of command-line flags, parsed from os.Args.\nvar CommandLine = NewFlagSet(os.Args[0], ExitOnError)\n\n// NewFlagSet returns a new, empty flag set with the specified name,\n// error handling property and SortFlags set to true.\nfunc NewFlagSet(name string, errorHandling ErrorHandling) *FlagSet {\n\tf := &FlagSet{\n\t\tname:          name,\n\t\terrorHandling: errorHandling,\n\t\targsLenAtDash: -1,\n\t\tinterspersed:  true,\n\t\tSortFlags:     true,\n\t}\n\treturn f\n}\n\n// SetInterspersed sets whether to support interspersed option/non-option arguments.\nfunc (f *FlagSet) SetInterspersed(interspersed bool) {\n\tf.interspersed = interspersed\n}\n\n// Init sets the name and error handling property for a flag set.\n// By default, the zero FlagSet uses an empty name and the\n// ContinueOnError error handling policy.\nfunc (f *FlagSet) Init(name string, errorHandling ErrorHandling) {\n\tf.name = name\n\tf.errorHandling = errorHandling\n\tf.argsLenAtDash = -1\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/float32.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// -- float32 Value\ntype float32Value float32\n\nfunc newFloat32Value(val float32, p *float32) *float32Value {\n\t*p = val\n\treturn (*float32Value)(p)\n}\n\nfunc (f *float32Value) Set(s string) error {\n\tv, err := strconv.ParseFloat(s, 32)\n\t*f = float32Value(v)\n\treturn err\n}\n\nfunc (f *float32Value) Type() string {\n\treturn \"float32\"\n}\n\nfunc (f *float32Value) String() string { return strconv.FormatFloat(float64(*f), 'g', -1, 32) }\n\nfunc float32Conv(sval string) (interface{}, error) {\n\tv, err := strconv.ParseFloat(sval, 32)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn float32(v), nil\n}\n\n// GetFloat32 return the float32 value of a flag with the given name\nfunc (f *FlagSet) GetFloat32(name string) (float32, error) {\n\tval, err := f.getFlagType(name, \"float32\", float32Conv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(float32), nil\n}\n\n// Float32Var defines a float32 flag with specified name, default value, and usage string.\n// The argument p points to a float32 variable in which to store the value of the flag.\nfunc (f *FlagSet) Float32Var(p *float32, name string, value float32, usage string) {\n\tf.VarP(newFloat32Value(value, p), name, \"\", usage)\n}\n\n// Float32VarP is like Float32Var, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Float32VarP(p *float32, name, shorthand string, value float32, usage string) {\n\tf.VarP(newFloat32Value(value, p), name, shorthand, usage)\n}\n\n// Float32Var defines a float32 flag with specified name, default value, and usage string.\n// The argument p points to a float32 variable in which to store the value of the flag.\nfunc Float32Var(p *float32, name string, value float32, usage string) {\n\tCommandLine.VarP(newFloat32Value(value, p), name, \"\", usage)\n}\n\n// Float32VarP is like Float32Var, but accepts a shorthand letter that can be used after a single dash.\nfunc Float32VarP(p *float32, name, shorthand string, value float32, usage string) {\n\tCommandLine.VarP(newFloat32Value(value, p), name, shorthand, usage)\n}\n\n// Float32 defines a float32 flag with specified name, default value, and usage string.\n// The return value is the address of a float32 variable that stores the value of the flag.\nfunc (f *FlagSet) Float32(name string, value float32, usage string) *float32 {\n\tp := new(float32)\n\tf.Float32VarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// Float32P is like Float32, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Float32P(name, shorthand string, value float32, usage string) *float32 {\n\tp := new(float32)\n\tf.Float32VarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Float32 defines a float32 flag with specified name, default value, and usage string.\n// The return value is the address of a float32 variable that stores the value of the flag.\nfunc Float32(name string, value float32, usage string) *float32 {\n\treturn CommandLine.Float32P(name, \"\", value, usage)\n}\n\n// Float32P is like Float32, but accepts a shorthand letter that can be used after a single dash.\nfunc Float32P(name, shorthand string, value float32, usage string) *float32 {\n\treturn CommandLine.Float32P(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/float64.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// -- float64 Value\ntype float64Value float64\n\nfunc newFloat64Value(val float64, p *float64) *float64Value {\n\t*p = val\n\treturn (*float64Value)(p)\n}\n\nfunc (f *float64Value) Set(s string) error {\n\tv, err := strconv.ParseFloat(s, 64)\n\t*f = float64Value(v)\n\treturn err\n}\n\nfunc (f *float64Value) Type() string {\n\treturn \"float64\"\n}\n\nfunc (f *float64Value) String() string { return strconv.FormatFloat(float64(*f), 'g', -1, 64) }\n\nfunc float64Conv(sval string) (interface{}, error) {\n\treturn strconv.ParseFloat(sval, 64)\n}\n\n// GetFloat64 return the float64 value of a flag with the given name\nfunc (f *FlagSet) GetFloat64(name string) (float64, error) {\n\tval, err := f.getFlagType(name, \"float64\", float64Conv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(float64), nil\n}\n\n// Float64Var defines a float64 flag with specified name, default value, and usage string.\n// The argument p points to a float64 variable in which to store the value of the flag.\nfunc (f *FlagSet) Float64Var(p *float64, name string, value float64, usage string) {\n\tf.VarP(newFloat64Value(value, p), name, \"\", usage)\n}\n\n// Float64VarP is like Float64Var, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Float64VarP(p *float64, name, shorthand string, value float64, usage string) {\n\tf.VarP(newFloat64Value(value, p), name, shorthand, usage)\n}\n\n// Float64Var defines a float64 flag with specified name, default value, and usage string.\n// The argument p points to a float64 variable in which to store the value of the flag.\nfunc Float64Var(p *float64, name string, value float64, usage string) {\n\tCommandLine.VarP(newFloat64Value(value, p), name, \"\", usage)\n}\n\n// Float64VarP is like Float64Var, but accepts a shorthand letter that can be used after a single dash.\nfunc Float64VarP(p *float64, name, shorthand string, value float64, usage string) {\n\tCommandLine.VarP(newFloat64Value(value, p), name, shorthand, usage)\n}\n\n// Float64 defines a float64 flag with specified name, default value, and usage string.\n// The return value is the address of a float64 variable that stores the value of the flag.\nfunc (f *FlagSet) Float64(name string, value float64, usage string) *float64 {\n\tp := new(float64)\n\tf.Float64VarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// Float64P is like Float64, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Float64P(name, shorthand string, value float64, usage string) *float64 {\n\tp := new(float64)\n\tf.Float64VarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Float64 defines a float64 flag with specified name, default value, and usage string.\n// The return value is the address of a float64 variable that stores the value of the flag.\nfunc Float64(name string, value float64, usage string) *float64 {\n\treturn CommandLine.Float64P(name, \"\", value, usage)\n}\n\n// Float64P is like Float64, but accepts a shorthand letter that can be used after a single dash.\nfunc Float64P(name, shorthand string, value float64, usage string) *float64 {\n\treturn CommandLine.Float64P(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/golangflag.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage pflag\n\nimport (\n\tgoflag \"flag\"\n\t\"reflect\"\n\t\"strings\"\n)\n\n// flagValueWrapper implements pflag.Value around a flag.Value.  The main\n// difference here is the addition of the Type method that returns a string\n// name of the type.  As this is generally unknown, we approximate that with\n// reflection.\ntype flagValueWrapper struct {\n\tinner    goflag.Value\n\tflagType string\n}\n\n// We are just copying the boolFlag interface out of goflag as that is what\n// they use to decide if a flag should get \"true\" when no arg is given.\ntype goBoolFlag interface {\n\tgoflag.Value\n\tIsBoolFlag() bool\n}\n\nfunc wrapFlagValue(v goflag.Value) Value {\n\t// If the flag.Value happens to also be a pflag.Value, just use it directly.\n\tif pv, ok := v.(Value); ok {\n\t\treturn pv\n\t}\n\n\tpv := &flagValueWrapper{\n\t\tinner: v,\n\t}\n\n\tt := reflect.TypeOf(v)\n\tif t.Kind() == reflect.Interface || t.Kind() == reflect.Ptr {\n\t\tt = t.Elem()\n\t}\n\n\tpv.flagType = strings.TrimSuffix(t.Name(), \"Value\")\n\treturn pv\n}\n\nfunc (v *flagValueWrapper) String() string {\n\treturn v.inner.String()\n}\n\nfunc (v *flagValueWrapper) Set(s string) error {\n\treturn v.inner.Set(s)\n}\n\nfunc (v *flagValueWrapper) Type() string {\n\treturn v.flagType\n}\n\n// PFlagFromGoFlag will return a *pflag.Flag given a *flag.Flag\n// If the *flag.Flag.Name was a single character (ex: `v`) it will be accessiblei\n// with both `-v` and `--v` in flags. If the golang flag was more than a single\n// character (ex: `verbose`) it will only be accessible via `--verbose`\nfunc PFlagFromGoFlag(goflag *goflag.Flag) *Flag {\n\t// Remember the default value as a string; it won't change.\n\tflag := &Flag{\n\t\tName:  goflag.Name,\n\t\tUsage: goflag.Usage,\n\t\tValue: wrapFlagValue(goflag.Value),\n\t\t// Looks like golang flags don't set DefValue correctly  :-(\n\t\t//DefValue: goflag.DefValue,\n\t\tDefValue: goflag.Value.String(),\n\t}\n\t// Ex: if the golang flag was -v, allow both -v and --v to work\n\tif len(flag.Name) == 1 {\n\t\tflag.Shorthand = flag.Name\n\t}\n\tif fv, ok := goflag.Value.(goBoolFlag); ok && fv.IsBoolFlag() {\n\t\tflag.NoOptDefVal = \"true\"\n\t}\n\treturn flag\n}\n\n// AddGoFlag will add the given *flag.Flag to the pflag.FlagSet\nfunc (f *FlagSet) AddGoFlag(goflag *goflag.Flag) {\n\tif f.Lookup(goflag.Name) != nil {\n\t\treturn\n\t}\n\tnewflag := PFlagFromGoFlag(goflag)\n\tf.AddFlag(newflag)\n}\n\n// AddGoFlagSet will add the given *flag.FlagSet to the pflag.FlagSet\nfunc (f *FlagSet) AddGoFlagSet(newSet *goflag.FlagSet) {\n\tif newSet == nil {\n\t\treturn\n\t}\n\tnewSet.VisitAll(func(goflag *goflag.Flag) {\n\t\tf.AddGoFlag(goflag)\n\t})\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/int.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// -- int Value\ntype intValue int\n\nfunc newIntValue(val int, p *int) *intValue {\n\t*p = val\n\treturn (*intValue)(p)\n}\n\nfunc (i *intValue) Set(s string) error {\n\tv, err := strconv.ParseInt(s, 0, 64)\n\t*i = intValue(v)\n\treturn err\n}\n\nfunc (i *intValue) Type() string {\n\treturn \"int\"\n}\n\nfunc (i *intValue) String() string { return strconv.Itoa(int(*i)) }\n\nfunc intConv(sval string) (interface{}, error) {\n\treturn strconv.Atoi(sval)\n}\n\n// GetInt return the int value of a flag with the given name\nfunc (f *FlagSet) GetInt(name string) (int, error) {\n\tval, err := f.getFlagType(name, \"int\", intConv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(int), nil\n}\n\n// IntVar defines an int flag with specified name, default value, and usage string.\n// The argument p points to an int variable in which to store the value of the flag.\nfunc (f *FlagSet) IntVar(p *int, name string, value int, usage string) {\n\tf.VarP(newIntValue(value, p), name, \"\", usage)\n}\n\n// IntVarP is like IntVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) IntVarP(p *int, name, shorthand string, value int, usage string) {\n\tf.VarP(newIntValue(value, p), name, shorthand, usage)\n}\n\n// IntVar defines an int flag with specified name, default value, and usage string.\n// The argument p points to an int variable in which to store the value of the flag.\nfunc IntVar(p *int, name string, value int, usage string) {\n\tCommandLine.VarP(newIntValue(value, p), name, \"\", usage)\n}\n\n// IntVarP is like IntVar, but accepts a shorthand letter that can be used after a single dash.\nfunc IntVarP(p *int, name, shorthand string, value int, usage string) {\n\tCommandLine.VarP(newIntValue(value, p), name, shorthand, usage)\n}\n\n// Int defines an int flag with specified name, default value, and usage string.\n// The return value is the address of an int variable that stores the value of the flag.\nfunc (f *FlagSet) Int(name string, value int, usage string) *int {\n\tp := new(int)\n\tf.IntVarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// IntP is like Int, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) IntP(name, shorthand string, value int, usage string) *int {\n\tp := new(int)\n\tf.IntVarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Int defines an int flag with specified name, default value, and usage string.\n// The return value is the address of an int variable that stores the value of the flag.\nfunc Int(name string, value int, usage string) *int {\n\treturn CommandLine.IntP(name, \"\", value, usage)\n}\n\n// IntP is like Int, but accepts a shorthand letter that can be used after a single dash.\nfunc IntP(name, shorthand string, value int, usage string) *int {\n\treturn CommandLine.IntP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/int32.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// -- int32 Value\ntype int32Value int32\n\nfunc newInt32Value(val int32, p *int32) *int32Value {\n\t*p = val\n\treturn (*int32Value)(p)\n}\n\nfunc (i *int32Value) Set(s string) error {\n\tv, err := strconv.ParseInt(s, 0, 32)\n\t*i = int32Value(v)\n\treturn err\n}\n\nfunc (i *int32Value) Type() string {\n\treturn \"int32\"\n}\n\nfunc (i *int32Value) String() string { return strconv.FormatInt(int64(*i), 10) }\n\nfunc int32Conv(sval string) (interface{}, error) {\n\tv, err := strconv.ParseInt(sval, 0, 32)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn int32(v), nil\n}\n\n// GetInt32 return the int32 value of a flag with the given name\nfunc (f *FlagSet) GetInt32(name string) (int32, error) {\n\tval, err := f.getFlagType(name, \"int32\", int32Conv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(int32), nil\n}\n\n// Int32Var defines an int32 flag with specified name, default value, and usage string.\n// The argument p points to an int32 variable in which to store the value of the flag.\nfunc (f *FlagSet) Int32Var(p *int32, name string, value int32, usage string) {\n\tf.VarP(newInt32Value(value, p), name, \"\", usage)\n}\n\n// Int32VarP is like Int32Var, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Int32VarP(p *int32, name, shorthand string, value int32, usage string) {\n\tf.VarP(newInt32Value(value, p), name, shorthand, usage)\n}\n\n// Int32Var defines an int32 flag with specified name, default value, and usage string.\n// The argument p points to an int32 variable in which to store the value of the flag.\nfunc Int32Var(p *int32, name string, value int32, usage string) {\n\tCommandLine.VarP(newInt32Value(value, p), name, \"\", usage)\n}\n\n// Int32VarP is like Int32Var, but accepts a shorthand letter that can be used after a single dash.\nfunc Int32VarP(p *int32, name, shorthand string, value int32, usage string) {\n\tCommandLine.VarP(newInt32Value(value, p), name, shorthand, usage)\n}\n\n// Int32 defines an int32 flag with specified name, default value, and usage string.\n// The return value is the address of an int32 variable that stores the value of the flag.\nfunc (f *FlagSet) Int32(name string, value int32, usage string) *int32 {\n\tp := new(int32)\n\tf.Int32VarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// Int32P is like Int32, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Int32P(name, shorthand string, value int32, usage string) *int32 {\n\tp := new(int32)\n\tf.Int32VarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Int32 defines an int32 flag with specified name, default value, and usage string.\n// The return value is the address of an int32 variable that stores the value of the flag.\nfunc Int32(name string, value int32, usage string) *int32 {\n\treturn CommandLine.Int32P(name, \"\", value, usage)\n}\n\n// Int32P is like Int32, but accepts a shorthand letter that can be used after a single dash.\nfunc Int32P(name, shorthand string, value int32, usage string) *int32 {\n\treturn CommandLine.Int32P(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/int64.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// -- int64 Value\ntype int64Value int64\n\nfunc newInt64Value(val int64, p *int64) *int64Value {\n\t*p = val\n\treturn (*int64Value)(p)\n}\n\nfunc (i *int64Value) Set(s string) error {\n\tv, err := strconv.ParseInt(s, 0, 64)\n\t*i = int64Value(v)\n\treturn err\n}\n\nfunc (i *int64Value) Type() string {\n\treturn \"int64\"\n}\n\nfunc (i *int64Value) String() string { return strconv.FormatInt(int64(*i), 10) }\n\nfunc int64Conv(sval string) (interface{}, error) {\n\treturn strconv.ParseInt(sval, 0, 64)\n}\n\n// GetInt64 return the int64 value of a flag with the given name\nfunc (f *FlagSet) GetInt64(name string) (int64, error) {\n\tval, err := f.getFlagType(name, \"int64\", int64Conv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(int64), nil\n}\n\n// Int64Var defines an int64 flag with specified name, default value, and usage string.\n// The argument p points to an int64 variable in which to store the value of the flag.\nfunc (f *FlagSet) Int64Var(p *int64, name string, value int64, usage string) {\n\tf.VarP(newInt64Value(value, p), name, \"\", usage)\n}\n\n// Int64VarP is like Int64Var, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Int64VarP(p *int64, name, shorthand string, value int64, usage string) {\n\tf.VarP(newInt64Value(value, p), name, shorthand, usage)\n}\n\n// Int64Var defines an int64 flag with specified name, default value, and usage string.\n// The argument p points to an int64 variable in which to store the value of the flag.\nfunc Int64Var(p *int64, name string, value int64, usage string) {\n\tCommandLine.VarP(newInt64Value(value, p), name, \"\", usage)\n}\n\n// Int64VarP is like Int64Var, but accepts a shorthand letter that can be used after a single dash.\nfunc Int64VarP(p *int64, name, shorthand string, value int64, usage string) {\n\tCommandLine.VarP(newInt64Value(value, p), name, shorthand, usage)\n}\n\n// Int64 defines an int64 flag with specified name, default value, and usage string.\n// The return value is the address of an int64 variable that stores the value of the flag.\nfunc (f *FlagSet) Int64(name string, value int64, usage string) *int64 {\n\tp := new(int64)\n\tf.Int64VarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// Int64P is like Int64, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Int64P(name, shorthand string, value int64, usage string) *int64 {\n\tp := new(int64)\n\tf.Int64VarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Int64 defines an int64 flag with specified name, default value, and usage string.\n// The return value is the address of an int64 variable that stores the value of the flag.\nfunc Int64(name string, value int64, usage string) *int64 {\n\treturn CommandLine.Int64P(name, \"\", value, usage)\n}\n\n// Int64P is like Int64, but accepts a shorthand letter that can be used after a single dash.\nfunc Int64P(name, shorthand string, value int64, usage string) *int64 {\n\treturn CommandLine.Int64P(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/int8.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// -- int8 Value\ntype int8Value int8\n\nfunc newInt8Value(val int8, p *int8) *int8Value {\n\t*p = val\n\treturn (*int8Value)(p)\n}\n\nfunc (i *int8Value) Set(s string) error {\n\tv, err := strconv.ParseInt(s, 0, 8)\n\t*i = int8Value(v)\n\treturn err\n}\n\nfunc (i *int8Value) Type() string {\n\treturn \"int8\"\n}\n\nfunc (i *int8Value) String() string { return strconv.FormatInt(int64(*i), 10) }\n\nfunc int8Conv(sval string) (interface{}, error) {\n\tv, err := strconv.ParseInt(sval, 0, 8)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn int8(v), nil\n}\n\n// GetInt8 return the int8 value of a flag with the given name\nfunc (f *FlagSet) GetInt8(name string) (int8, error) {\n\tval, err := f.getFlagType(name, \"int8\", int8Conv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(int8), nil\n}\n\n// Int8Var defines an int8 flag with specified name, default value, and usage string.\n// The argument p points to an int8 variable in which to store the value of the flag.\nfunc (f *FlagSet) Int8Var(p *int8, name string, value int8, usage string) {\n\tf.VarP(newInt8Value(value, p), name, \"\", usage)\n}\n\n// Int8VarP is like Int8Var, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Int8VarP(p *int8, name, shorthand string, value int8, usage string) {\n\tf.VarP(newInt8Value(value, p), name, shorthand, usage)\n}\n\n// Int8Var defines an int8 flag with specified name, default value, and usage string.\n// The argument p points to an int8 variable in which to store the value of the flag.\nfunc Int8Var(p *int8, name string, value int8, usage string) {\n\tCommandLine.VarP(newInt8Value(value, p), name, \"\", usage)\n}\n\n// Int8VarP is like Int8Var, but accepts a shorthand letter that can be used after a single dash.\nfunc Int8VarP(p *int8, name, shorthand string, value int8, usage string) {\n\tCommandLine.VarP(newInt8Value(value, p), name, shorthand, usage)\n}\n\n// Int8 defines an int8 flag with specified name, default value, and usage string.\n// The return value is the address of an int8 variable that stores the value of the flag.\nfunc (f *FlagSet) Int8(name string, value int8, usage string) *int8 {\n\tp := new(int8)\n\tf.Int8VarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// Int8P is like Int8, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Int8P(name, shorthand string, value int8, usage string) *int8 {\n\tp := new(int8)\n\tf.Int8VarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Int8 defines an int8 flag with specified name, default value, and usage string.\n// The return value is the address of an int8 variable that stores the value of the flag.\nfunc Int8(name string, value int8, usage string) *int8 {\n\treturn CommandLine.Int8P(name, \"\", value, usage)\n}\n\n// Int8P is like Int8, but accepts a shorthand letter that can be used after a single dash.\nfunc Int8P(name, shorthand string, value int8, usage string) *int8 {\n\treturn CommandLine.Int8P(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/int_slice.go",
    "content": "package pflag\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n)\n\n// -- intSlice Value\ntype intSliceValue struct {\n\tvalue   *[]int\n\tchanged bool\n}\n\nfunc newIntSliceValue(val []int, p *[]int) *intSliceValue {\n\tisv := new(intSliceValue)\n\tisv.value = p\n\t*isv.value = val\n\treturn isv\n}\n\nfunc (s *intSliceValue) Set(val string) error {\n\tss := strings.Split(val, \",\")\n\tout := make([]int, len(ss))\n\tfor i, d := range ss {\n\t\tvar err error\n\t\tout[i], err = strconv.Atoi(d)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\tif !s.changed {\n\t\t*s.value = out\n\t} else {\n\t\t*s.value = append(*s.value, out...)\n\t}\n\ts.changed = true\n\treturn nil\n}\n\nfunc (s *intSliceValue) Type() string {\n\treturn \"intSlice\"\n}\n\nfunc (s *intSliceValue) String() string {\n\tout := make([]string, len(*s.value))\n\tfor i, d := range *s.value {\n\t\tout[i] = fmt.Sprintf(\"%d\", d)\n\t}\n\treturn \"[\" + strings.Join(out, \",\") + \"]\"\n}\n\nfunc intSliceConv(val string) (interface{}, error) {\n\tval = strings.Trim(val, \"[]\")\n\t// Empty string would cause a slice with one (empty) entry\n\tif len(val) == 0 {\n\t\treturn []int{}, nil\n\t}\n\tss := strings.Split(val, \",\")\n\tout := make([]int, len(ss))\n\tfor i, d := range ss {\n\t\tvar err error\n\t\tout[i], err = strconv.Atoi(d)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t}\n\treturn out, nil\n}\n\n// GetIntSlice return the []int value of a flag with the given name\nfunc (f *FlagSet) GetIntSlice(name string) ([]int, error) {\n\tval, err := f.getFlagType(name, \"intSlice\", intSliceConv)\n\tif err != nil {\n\t\treturn []int{}, err\n\t}\n\treturn val.([]int), nil\n}\n\n// IntSliceVar defines a intSlice flag with specified name, default value, and usage string.\n// The argument p points to a []int variable in which to store the value of the flag.\nfunc (f *FlagSet) IntSliceVar(p *[]int, name string, value []int, usage string) {\n\tf.VarP(newIntSliceValue(value, p), name, \"\", usage)\n}\n\n// IntSliceVarP is like IntSliceVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) IntSliceVarP(p *[]int, name, shorthand string, value []int, usage string) {\n\tf.VarP(newIntSliceValue(value, p), name, shorthand, usage)\n}\n\n// IntSliceVar defines a int[] flag with specified name, default value, and usage string.\n// The argument p points to a int[] variable in which to store the value of the flag.\nfunc IntSliceVar(p *[]int, name string, value []int, usage string) {\n\tCommandLine.VarP(newIntSliceValue(value, p), name, \"\", usage)\n}\n\n// IntSliceVarP is like IntSliceVar, but accepts a shorthand letter that can be used after a single dash.\nfunc IntSliceVarP(p *[]int, name, shorthand string, value []int, usage string) {\n\tCommandLine.VarP(newIntSliceValue(value, p), name, shorthand, usage)\n}\n\n// IntSlice defines a []int flag with specified name, default value, and usage string.\n// The return value is the address of a []int variable that stores the value of the flag.\nfunc (f *FlagSet) IntSlice(name string, value []int, usage string) *[]int {\n\tp := []int{}\n\tf.IntSliceVarP(&p, name, \"\", value, usage)\n\treturn &p\n}\n\n// IntSliceP is like IntSlice, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) IntSliceP(name, shorthand string, value []int, usage string) *[]int {\n\tp := []int{}\n\tf.IntSliceVarP(&p, name, shorthand, value, usage)\n\treturn &p\n}\n\n// IntSlice defines a []int flag with specified name, default value, and usage string.\n// The return value is the address of a []int variable that stores the value of the flag.\nfunc IntSlice(name string, value []int, usage string) *[]int {\n\treturn CommandLine.IntSliceP(name, \"\", value, usage)\n}\n\n// IntSliceP is like IntSlice, but accepts a shorthand letter that can be used after a single dash.\nfunc IntSliceP(name, shorthand string, value []int, usage string) *[]int {\n\treturn CommandLine.IntSliceP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/ip.go",
    "content": "package pflag\n\nimport (\n\t\"fmt\"\n\t\"net\"\n\t\"strings\"\n)\n\n// -- net.IP value\ntype ipValue net.IP\n\nfunc newIPValue(val net.IP, p *net.IP) *ipValue {\n\t*p = val\n\treturn (*ipValue)(p)\n}\n\nfunc (i *ipValue) String() string { return net.IP(*i).String() }\nfunc (i *ipValue) Set(s string) error {\n\tip := net.ParseIP(strings.TrimSpace(s))\n\tif ip == nil {\n\t\treturn fmt.Errorf(\"failed to parse IP: %q\", s)\n\t}\n\t*i = ipValue(ip)\n\treturn nil\n}\n\nfunc (i *ipValue) Type() string {\n\treturn \"ip\"\n}\n\nfunc ipConv(sval string) (interface{}, error) {\n\tip := net.ParseIP(sval)\n\tif ip != nil {\n\t\treturn ip, nil\n\t}\n\treturn nil, fmt.Errorf(\"invalid string being converted to IP address: %s\", sval)\n}\n\n// GetIP return the net.IP value of a flag with the given name\nfunc (f *FlagSet) GetIP(name string) (net.IP, error) {\n\tval, err := f.getFlagType(name, \"ip\", ipConv)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn val.(net.IP), nil\n}\n\n// IPVar defines an net.IP flag with specified name, default value, and usage string.\n// The argument p points to an net.IP variable in which to store the value of the flag.\nfunc (f *FlagSet) IPVar(p *net.IP, name string, value net.IP, usage string) {\n\tf.VarP(newIPValue(value, p), name, \"\", usage)\n}\n\n// IPVarP is like IPVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) IPVarP(p *net.IP, name, shorthand string, value net.IP, usage string) {\n\tf.VarP(newIPValue(value, p), name, shorthand, usage)\n}\n\n// IPVar defines an net.IP flag with specified name, default value, and usage string.\n// The argument p points to an net.IP variable in which to store the value of the flag.\nfunc IPVar(p *net.IP, name string, value net.IP, usage string) {\n\tCommandLine.VarP(newIPValue(value, p), name, \"\", usage)\n}\n\n// IPVarP is like IPVar, but accepts a shorthand letter that can be used after a single dash.\nfunc IPVarP(p *net.IP, name, shorthand string, value net.IP, usage string) {\n\tCommandLine.VarP(newIPValue(value, p), name, shorthand, usage)\n}\n\n// IP defines an net.IP flag with specified name, default value, and usage string.\n// The return value is the address of an net.IP variable that stores the value of the flag.\nfunc (f *FlagSet) IP(name string, value net.IP, usage string) *net.IP {\n\tp := new(net.IP)\n\tf.IPVarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// IPP is like IP, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) IPP(name, shorthand string, value net.IP, usage string) *net.IP {\n\tp := new(net.IP)\n\tf.IPVarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// IP defines an net.IP flag with specified name, default value, and usage string.\n// The return value is the address of an net.IP variable that stores the value of the flag.\nfunc IP(name string, value net.IP, usage string) *net.IP {\n\treturn CommandLine.IPP(name, \"\", value, usage)\n}\n\n// IPP is like IP, but accepts a shorthand letter that can be used after a single dash.\nfunc IPP(name, shorthand string, value net.IP, usage string) *net.IP {\n\treturn CommandLine.IPP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/ip_slice.go",
    "content": "package pflag\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"strings\"\n)\n\n// -- ipSlice Value\ntype ipSliceValue struct {\n\tvalue   *[]net.IP\n\tchanged bool\n}\n\nfunc newIPSliceValue(val []net.IP, p *[]net.IP) *ipSliceValue {\n\tipsv := new(ipSliceValue)\n\tipsv.value = p\n\t*ipsv.value = val\n\treturn ipsv\n}\n\n// Set converts, and assigns, the comma-separated IP argument string representation as the []net.IP value of this flag.\n// If Set is called on a flag that already has a []net.IP assigned, the newly converted values will be appended.\nfunc (s *ipSliceValue) Set(val string) error {\n\n\t// remove all quote characters\n\trmQuote := strings.NewReplacer(`\"`, \"\", `'`, \"\", \"`\", \"\")\n\n\t// read flag arguments with CSV parser\n\tipStrSlice, err := readAsCSV(rmQuote.Replace(val))\n\tif err != nil && err != io.EOF {\n\t\treturn err\n\t}\n\n\t// parse ip values into slice\n\tout := make([]net.IP, 0, len(ipStrSlice))\n\tfor _, ipStr := range ipStrSlice {\n\t\tip := net.ParseIP(strings.TrimSpace(ipStr))\n\t\tif ip == nil {\n\t\t\treturn fmt.Errorf(\"invalid string being converted to IP address: %s\", ipStr)\n\t\t}\n\t\tout = append(out, ip)\n\t}\n\n\tif !s.changed {\n\t\t*s.value = out\n\t} else {\n\t\t*s.value = append(*s.value, out...)\n\t}\n\n\ts.changed = true\n\n\treturn nil\n}\n\n// Type returns a string that uniquely represents this flag's type.\nfunc (s *ipSliceValue) Type() string {\n\treturn \"ipSlice\"\n}\n\n// String defines a \"native\" format for this net.IP slice flag value.\nfunc (s *ipSliceValue) String() string {\n\n\tipStrSlice := make([]string, len(*s.value))\n\tfor i, ip := range *s.value {\n\t\tipStrSlice[i] = ip.String()\n\t}\n\n\tout, _ := writeAsCSV(ipStrSlice)\n\n\treturn \"[\" + out + \"]\"\n}\n\nfunc ipSliceConv(val string) (interface{}, error) {\n\tval = strings.Trim(val, \"[]\")\n\t// Emtpy string would cause a slice with one (empty) entry\n\tif len(val) == 0 {\n\t\treturn []net.IP{}, nil\n\t}\n\tss := strings.Split(val, \",\")\n\tout := make([]net.IP, len(ss))\n\tfor i, sval := range ss {\n\t\tip := net.ParseIP(strings.TrimSpace(sval))\n\t\tif ip == nil {\n\t\t\treturn nil, fmt.Errorf(\"invalid string being converted to IP address: %s\", sval)\n\t\t}\n\t\tout[i] = ip\n\t}\n\treturn out, nil\n}\n\n// GetIPSlice returns the []net.IP value of a flag with the given name\nfunc (f *FlagSet) GetIPSlice(name string) ([]net.IP, error) {\n\tval, err := f.getFlagType(name, \"ipSlice\", ipSliceConv)\n\tif err != nil {\n\t\treturn []net.IP{}, err\n\t}\n\treturn val.([]net.IP), nil\n}\n\n// IPSliceVar defines a ipSlice flag with specified name, default value, and usage string.\n// The argument p points to a []net.IP variable in which to store the value of the flag.\nfunc (f *FlagSet) IPSliceVar(p *[]net.IP, name string, value []net.IP, usage string) {\n\tf.VarP(newIPSliceValue(value, p), name, \"\", usage)\n}\n\n// IPSliceVarP is like IPSliceVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) IPSliceVarP(p *[]net.IP, name, shorthand string, value []net.IP, usage string) {\n\tf.VarP(newIPSliceValue(value, p), name, shorthand, usage)\n}\n\n// IPSliceVar defines a []net.IP flag with specified name, default value, and usage string.\n// The argument p points to a []net.IP variable in which to store the value of the flag.\nfunc IPSliceVar(p *[]net.IP, name string, value []net.IP, usage string) {\n\tCommandLine.VarP(newIPSliceValue(value, p), name, \"\", usage)\n}\n\n// IPSliceVarP is like IPSliceVar, but accepts a shorthand letter that can be used after a single dash.\nfunc IPSliceVarP(p *[]net.IP, name, shorthand string, value []net.IP, usage string) {\n\tCommandLine.VarP(newIPSliceValue(value, p), name, shorthand, usage)\n}\n\n// IPSlice defines a []net.IP flag with specified name, default value, and usage string.\n// The return value is the address of a []net.IP variable that stores the value of that flag.\nfunc (f *FlagSet) IPSlice(name string, value []net.IP, usage string) *[]net.IP {\n\tp := []net.IP{}\n\tf.IPSliceVarP(&p, name, \"\", value, usage)\n\treturn &p\n}\n\n// IPSliceP is like IPSlice, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) IPSliceP(name, shorthand string, value []net.IP, usage string) *[]net.IP {\n\tp := []net.IP{}\n\tf.IPSliceVarP(&p, name, shorthand, value, usage)\n\treturn &p\n}\n\n// IPSlice defines a []net.IP flag with specified name, default value, and usage string.\n// The return value is the address of a []net.IP variable that stores the value of the flag.\nfunc IPSlice(name string, value []net.IP, usage string) *[]net.IP {\n\treturn CommandLine.IPSliceP(name, \"\", value, usage)\n}\n\n// IPSliceP is like IPSlice, but accepts a shorthand letter that can be used after a single dash.\nfunc IPSliceP(name, shorthand string, value []net.IP, usage string) *[]net.IP {\n\treturn CommandLine.IPSliceP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/ipmask.go",
    "content": "package pflag\n\nimport (\n\t\"fmt\"\n\t\"net\"\n\t\"strconv\"\n)\n\n// -- net.IPMask value\ntype ipMaskValue net.IPMask\n\nfunc newIPMaskValue(val net.IPMask, p *net.IPMask) *ipMaskValue {\n\t*p = val\n\treturn (*ipMaskValue)(p)\n}\n\nfunc (i *ipMaskValue) String() string { return net.IPMask(*i).String() }\nfunc (i *ipMaskValue) Set(s string) error {\n\tip := ParseIPv4Mask(s)\n\tif ip == nil {\n\t\treturn fmt.Errorf(\"failed to parse IP mask: %q\", s)\n\t}\n\t*i = ipMaskValue(ip)\n\treturn nil\n}\n\nfunc (i *ipMaskValue) Type() string {\n\treturn \"ipMask\"\n}\n\n// ParseIPv4Mask written in IP form (e.g. 255.255.255.0).\n// This function should really belong to the net package.\nfunc ParseIPv4Mask(s string) net.IPMask {\n\tmask := net.ParseIP(s)\n\tif mask == nil {\n\t\tif len(s) != 8 {\n\t\t\treturn nil\n\t\t}\n\t\t// net.IPMask.String() actually outputs things like ffffff00\n\t\t// so write a horrible parser for that as well  :-(\n\t\tm := []int{}\n\t\tfor i := 0; i < 4; i++ {\n\t\t\tb := \"0x\" + s[2*i:2*i+2]\n\t\t\td, err := strconv.ParseInt(b, 0, 0)\n\t\t\tif err != nil {\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\tm = append(m, int(d))\n\t\t}\n\t\ts := fmt.Sprintf(\"%d.%d.%d.%d\", m[0], m[1], m[2], m[3])\n\t\tmask = net.ParseIP(s)\n\t\tif mask == nil {\n\t\t\treturn nil\n\t\t}\n\t}\n\treturn net.IPv4Mask(mask[12], mask[13], mask[14], mask[15])\n}\n\nfunc parseIPv4Mask(sval string) (interface{}, error) {\n\tmask := ParseIPv4Mask(sval)\n\tif mask == nil {\n\t\treturn nil, fmt.Errorf(\"unable to parse %s as net.IPMask\", sval)\n\t}\n\treturn mask, nil\n}\n\n// GetIPv4Mask return the net.IPv4Mask value of a flag with the given name\nfunc (f *FlagSet) GetIPv4Mask(name string) (net.IPMask, error) {\n\tval, err := f.getFlagType(name, \"ipMask\", parseIPv4Mask)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn val.(net.IPMask), nil\n}\n\n// IPMaskVar defines an net.IPMask flag with specified name, default value, and usage string.\n// The argument p points to an net.IPMask variable in which to store the value of the flag.\nfunc (f *FlagSet) IPMaskVar(p *net.IPMask, name string, value net.IPMask, usage string) {\n\tf.VarP(newIPMaskValue(value, p), name, \"\", usage)\n}\n\n// IPMaskVarP is like IPMaskVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) IPMaskVarP(p *net.IPMask, name, shorthand string, value net.IPMask, usage string) {\n\tf.VarP(newIPMaskValue(value, p), name, shorthand, usage)\n}\n\n// IPMaskVar defines an net.IPMask flag with specified name, default value, and usage string.\n// The argument p points to an net.IPMask variable in which to store the value of the flag.\nfunc IPMaskVar(p *net.IPMask, name string, value net.IPMask, usage string) {\n\tCommandLine.VarP(newIPMaskValue(value, p), name, \"\", usage)\n}\n\n// IPMaskVarP is like IPMaskVar, but accepts a shorthand letter that can be used after a single dash.\nfunc IPMaskVarP(p *net.IPMask, name, shorthand string, value net.IPMask, usage string) {\n\tCommandLine.VarP(newIPMaskValue(value, p), name, shorthand, usage)\n}\n\n// IPMask defines an net.IPMask flag with specified name, default value, and usage string.\n// The return value is the address of an net.IPMask variable that stores the value of the flag.\nfunc (f *FlagSet) IPMask(name string, value net.IPMask, usage string) *net.IPMask {\n\tp := new(net.IPMask)\n\tf.IPMaskVarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// IPMaskP is like IPMask, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) IPMaskP(name, shorthand string, value net.IPMask, usage string) *net.IPMask {\n\tp := new(net.IPMask)\n\tf.IPMaskVarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// IPMask defines an net.IPMask flag with specified name, default value, and usage string.\n// The return value is the address of an net.IPMask variable that stores the value of the flag.\nfunc IPMask(name string, value net.IPMask, usage string) *net.IPMask {\n\treturn CommandLine.IPMaskP(name, \"\", value, usage)\n}\n\n// IPMaskP is like IP, but accepts a shorthand letter that can be used after a single dash.\nfunc IPMaskP(name, shorthand string, value net.IPMask, usage string) *net.IPMask {\n\treturn CommandLine.IPMaskP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/ipnet.go",
    "content": "package pflag\n\nimport (\n\t\"fmt\"\n\t\"net\"\n\t\"strings\"\n)\n\n// IPNet adapts net.IPNet for use as a flag.\ntype ipNetValue net.IPNet\n\nfunc (ipnet ipNetValue) String() string {\n\tn := net.IPNet(ipnet)\n\treturn n.String()\n}\n\nfunc (ipnet *ipNetValue) Set(value string) error {\n\t_, n, err := net.ParseCIDR(strings.TrimSpace(value))\n\tif err != nil {\n\t\treturn err\n\t}\n\t*ipnet = ipNetValue(*n)\n\treturn nil\n}\n\nfunc (*ipNetValue) Type() string {\n\treturn \"ipNet\"\n}\n\nfunc newIPNetValue(val net.IPNet, p *net.IPNet) *ipNetValue {\n\t*p = val\n\treturn (*ipNetValue)(p)\n}\n\nfunc ipNetConv(sval string) (interface{}, error) {\n\t_, n, err := net.ParseCIDR(strings.TrimSpace(sval))\n\tif err == nil {\n\t\treturn *n, nil\n\t}\n\treturn nil, fmt.Errorf(\"invalid string being converted to IPNet: %s\", sval)\n}\n\n// GetIPNet return the net.IPNet value of a flag with the given name\nfunc (f *FlagSet) GetIPNet(name string) (net.IPNet, error) {\n\tval, err := f.getFlagType(name, \"ipNet\", ipNetConv)\n\tif err != nil {\n\t\treturn net.IPNet{}, err\n\t}\n\treturn val.(net.IPNet), nil\n}\n\n// IPNetVar defines an net.IPNet flag with specified name, default value, and usage string.\n// The argument p points to an net.IPNet variable in which to store the value of the flag.\nfunc (f *FlagSet) IPNetVar(p *net.IPNet, name string, value net.IPNet, usage string) {\n\tf.VarP(newIPNetValue(value, p), name, \"\", usage)\n}\n\n// IPNetVarP is like IPNetVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) IPNetVarP(p *net.IPNet, name, shorthand string, value net.IPNet, usage string) {\n\tf.VarP(newIPNetValue(value, p), name, shorthand, usage)\n}\n\n// IPNetVar defines an net.IPNet flag with specified name, default value, and usage string.\n// The argument p points to an net.IPNet variable in which to store the value of the flag.\nfunc IPNetVar(p *net.IPNet, name string, value net.IPNet, usage string) {\n\tCommandLine.VarP(newIPNetValue(value, p), name, \"\", usage)\n}\n\n// IPNetVarP is like IPNetVar, but accepts a shorthand letter that can be used after a single dash.\nfunc IPNetVarP(p *net.IPNet, name, shorthand string, value net.IPNet, usage string) {\n\tCommandLine.VarP(newIPNetValue(value, p), name, shorthand, usage)\n}\n\n// IPNet defines an net.IPNet flag with specified name, default value, and usage string.\n// The return value is the address of an net.IPNet variable that stores the value of the flag.\nfunc (f *FlagSet) IPNet(name string, value net.IPNet, usage string) *net.IPNet {\n\tp := new(net.IPNet)\n\tf.IPNetVarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// IPNetP is like IPNet, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) IPNetP(name, shorthand string, value net.IPNet, usage string) *net.IPNet {\n\tp := new(net.IPNet)\n\tf.IPNetVarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// IPNet defines an net.IPNet flag with specified name, default value, and usage string.\n// The return value is the address of an net.IPNet variable that stores the value of the flag.\nfunc IPNet(name string, value net.IPNet, usage string) *net.IPNet {\n\treturn CommandLine.IPNetP(name, \"\", value, usage)\n}\n\n// IPNetP is like IPNet, but accepts a shorthand letter that can be used after a single dash.\nfunc IPNetP(name, shorthand string, value net.IPNet, usage string) *net.IPNet {\n\treturn CommandLine.IPNetP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/string.go",
    "content": "package pflag\n\n// -- string Value\ntype stringValue string\n\nfunc newStringValue(val string, p *string) *stringValue {\n\t*p = val\n\treturn (*stringValue)(p)\n}\n\nfunc (s *stringValue) Set(val string) error {\n\t*s = stringValue(val)\n\treturn nil\n}\nfunc (s *stringValue) Type() string {\n\treturn \"string\"\n}\n\nfunc (s *stringValue) String() string { return string(*s) }\n\nfunc stringConv(sval string) (interface{}, error) {\n\treturn sval, nil\n}\n\n// GetString return the string value of a flag with the given name\nfunc (f *FlagSet) GetString(name string) (string, error) {\n\tval, err := f.getFlagType(name, \"string\", stringConv)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn val.(string), nil\n}\n\n// StringVar defines a string flag with specified name, default value, and usage string.\n// The argument p points to a string variable in which to store the value of the flag.\nfunc (f *FlagSet) StringVar(p *string, name string, value string, usage string) {\n\tf.VarP(newStringValue(value, p), name, \"\", usage)\n}\n\n// StringVarP is like StringVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) StringVarP(p *string, name, shorthand string, value string, usage string) {\n\tf.VarP(newStringValue(value, p), name, shorthand, usage)\n}\n\n// StringVar defines a string flag with specified name, default value, and usage string.\n// The argument p points to a string variable in which to store the value of the flag.\nfunc StringVar(p *string, name string, value string, usage string) {\n\tCommandLine.VarP(newStringValue(value, p), name, \"\", usage)\n}\n\n// StringVarP is like StringVar, but accepts a shorthand letter that can be used after a single dash.\nfunc StringVarP(p *string, name, shorthand string, value string, usage string) {\n\tCommandLine.VarP(newStringValue(value, p), name, shorthand, usage)\n}\n\n// String defines a string flag with specified name, default value, and usage string.\n// The return value is the address of a string variable that stores the value of the flag.\nfunc (f *FlagSet) String(name string, value string, usage string) *string {\n\tp := new(string)\n\tf.StringVarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// StringP is like String, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) StringP(name, shorthand string, value string, usage string) *string {\n\tp := new(string)\n\tf.StringVarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// String defines a string flag with specified name, default value, and usage string.\n// The return value is the address of a string variable that stores the value of the flag.\nfunc String(name string, value string, usage string) *string {\n\treturn CommandLine.StringP(name, \"\", value, usage)\n}\n\n// StringP is like String, but accepts a shorthand letter that can be used after a single dash.\nfunc StringP(name, shorthand string, value string, usage string) *string {\n\treturn CommandLine.StringP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/string_array.go",
    "content": "package pflag\n\n// -- stringArray Value\ntype stringArrayValue struct {\n\tvalue   *[]string\n\tchanged bool\n}\n\nfunc newStringArrayValue(val []string, p *[]string) *stringArrayValue {\n\tssv := new(stringArrayValue)\n\tssv.value = p\n\t*ssv.value = val\n\treturn ssv\n}\n\nfunc (s *stringArrayValue) Set(val string) error {\n\tif !s.changed {\n\t\t*s.value = []string{val}\n\t\ts.changed = true\n\t} else {\n\t\t*s.value = append(*s.value, val)\n\t}\n\treturn nil\n}\n\nfunc (s *stringArrayValue) Type() string {\n\treturn \"stringArray\"\n}\n\nfunc (s *stringArrayValue) String() string {\n\tstr, _ := writeAsCSV(*s.value)\n\treturn \"[\" + str + \"]\"\n}\n\nfunc stringArrayConv(sval string) (interface{}, error) {\n\tsval = sval[1 : len(sval)-1]\n\t// An empty string would cause a array with one (empty) string\n\tif len(sval) == 0 {\n\t\treturn []string{}, nil\n\t}\n\treturn readAsCSV(sval)\n}\n\n// GetStringArray return the []string value of a flag with the given name\nfunc (f *FlagSet) GetStringArray(name string) ([]string, error) {\n\tval, err := f.getFlagType(name, \"stringArray\", stringArrayConv)\n\tif err != nil {\n\t\treturn []string{}, err\n\t}\n\treturn val.([]string), nil\n}\n\n// StringArrayVar defines a string flag with specified name, default value, and usage string.\n// The argument p points to a []string variable in which to store the values of the multiple flags.\n// The value of each argument will not try to be separated by comma\nfunc (f *FlagSet) StringArrayVar(p *[]string, name string, value []string, usage string) {\n\tf.VarP(newStringArrayValue(value, p), name, \"\", usage)\n}\n\n// StringArrayVarP is like StringArrayVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) StringArrayVarP(p *[]string, name, shorthand string, value []string, usage string) {\n\tf.VarP(newStringArrayValue(value, p), name, shorthand, usage)\n}\n\n// StringArrayVar defines a string flag with specified name, default value, and usage string.\n// The argument p points to a []string variable in which to store the value of the flag.\n// The value of each argument will not try to be separated by comma\nfunc StringArrayVar(p *[]string, name string, value []string, usage string) {\n\tCommandLine.VarP(newStringArrayValue(value, p), name, \"\", usage)\n}\n\n// StringArrayVarP is like StringArrayVar, but accepts a shorthand letter that can be used after a single dash.\nfunc StringArrayVarP(p *[]string, name, shorthand string, value []string, usage string) {\n\tCommandLine.VarP(newStringArrayValue(value, p), name, shorthand, usage)\n}\n\n// StringArray defines a string flag with specified name, default value, and usage string.\n// The return value is the address of a []string variable that stores the value of the flag.\n// The value of each argument will not try to be separated by comma\nfunc (f *FlagSet) StringArray(name string, value []string, usage string) *[]string {\n\tp := []string{}\n\tf.StringArrayVarP(&p, name, \"\", value, usage)\n\treturn &p\n}\n\n// StringArrayP is like StringArray, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) StringArrayP(name, shorthand string, value []string, usage string) *[]string {\n\tp := []string{}\n\tf.StringArrayVarP(&p, name, shorthand, value, usage)\n\treturn &p\n}\n\n// StringArray defines a string flag with specified name, default value, and usage string.\n// The return value is the address of a []string variable that stores the value of the flag.\n// The value of each argument will not try to be separated by comma\nfunc StringArray(name string, value []string, usage string) *[]string {\n\treturn CommandLine.StringArrayP(name, \"\", value, usage)\n}\n\n// StringArrayP is like StringArray, but accepts a shorthand letter that can be used after a single dash.\nfunc StringArrayP(name, shorthand string, value []string, usage string) *[]string {\n\treturn CommandLine.StringArrayP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/string_slice.go",
    "content": "package pflag\n\nimport (\n\t\"bytes\"\n\t\"encoding/csv\"\n\t\"strings\"\n)\n\n// -- stringSlice Value\ntype stringSliceValue struct {\n\tvalue   *[]string\n\tchanged bool\n}\n\nfunc newStringSliceValue(val []string, p *[]string) *stringSliceValue {\n\tssv := new(stringSliceValue)\n\tssv.value = p\n\t*ssv.value = val\n\treturn ssv\n}\n\nfunc readAsCSV(val string) ([]string, error) {\n\tif val == \"\" {\n\t\treturn []string{}, nil\n\t}\n\tstringReader := strings.NewReader(val)\n\tcsvReader := csv.NewReader(stringReader)\n\treturn csvReader.Read()\n}\n\nfunc writeAsCSV(vals []string) (string, error) {\n\tb := &bytes.Buffer{}\n\tw := csv.NewWriter(b)\n\terr := w.Write(vals)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tw.Flush()\n\treturn strings.TrimSuffix(b.String(), \"\\n\"), nil\n}\n\nfunc (s *stringSliceValue) Set(val string) error {\n\tv, err := readAsCSV(val)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif !s.changed {\n\t\t*s.value = v\n\t} else {\n\t\t*s.value = append(*s.value, v...)\n\t}\n\ts.changed = true\n\treturn nil\n}\n\nfunc (s *stringSliceValue) Type() string {\n\treturn \"stringSlice\"\n}\n\nfunc (s *stringSliceValue) String() string {\n\tstr, _ := writeAsCSV(*s.value)\n\treturn \"[\" + str + \"]\"\n}\n\nfunc stringSliceConv(sval string) (interface{}, error) {\n\tsval = sval[1 : len(sval)-1]\n\t// An empty string would cause a slice with one (empty) string\n\tif len(sval) == 0 {\n\t\treturn []string{}, nil\n\t}\n\treturn readAsCSV(sval)\n}\n\n// GetStringSlice return the []string value of a flag with the given name\nfunc (f *FlagSet) GetStringSlice(name string) ([]string, error) {\n\tval, err := f.getFlagType(name, \"stringSlice\", stringSliceConv)\n\tif err != nil {\n\t\treturn []string{}, err\n\t}\n\treturn val.([]string), nil\n}\n\n// StringSliceVar defines a string flag with specified name, default value, and usage string.\n// The argument p points to a []string variable in which to store the value of the flag.\nfunc (f *FlagSet) StringSliceVar(p *[]string, name string, value []string, usage string) {\n\tf.VarP(newStringSliceValue(value, p), name, \"\", usage)\n}\n\n// StringSliceVarP is like StringSliceVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) StringSliceVarP(p *[]string, name, shorthand string, value []string, usage string) {\n\tf.VarP(newStringSliceValue(value, p), name, shorthand, usage)\n}\n\n// StringSliceVar defines a string flag with specified name, default value, and usage string.\n// The argument p points to a []string variable in which to store the value of the flag.\nfunc StringSliceVar(p *[]string, name string, value []string, usage string) {\n\tCommandLine.VarP(newStringSliceValue(value, p), name, \"\", usage)\n}\n\n// StringSliceVarP is like StringSliceVar, but accepts a shorthand letter that can be used after a single dash.\nfunc StringSliceVarP(p *[]string, name, shorthand string, value []string, usage string) {\n\tCommandLine.VarP(newStringSliceValue(value, p), name, shorthand, usage)\n}\n\n// StringSlice defines a string flag with specified name, default value, and usage string.\n// The return value is the address of a []string variable that stores the value of the flag.\nfunc (f *FlagSet) StringSlice(name string, value []string, usage string) *[]string {\n\tp := []string{}\n\tf.StringSliceVarP(&p, name, \"\", value, usage)\n\treturn &p\n}\n\n// StringSliceP is like StringSlice, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) StringSliceP(name, shorthand string, value []string, usage string) *[]string {\n\tp := []string{}\n\tf.StringSliceVarP(&p, name, shorthand, value, usage)\n\treturn &p\n}\n\n// StringSlice defines a string flag with specified name, default value, and usage string.\n// The return value is the address of a []string variable that stores the value of the flag.\nfunc StringSlice(name string, value []string, usage string) *[]string {\n\treturn CommandLine.StringSliceP(name, \"\", value, usage)\n}\n\n// StringSliceP is like StringSlice, but accepts a shorthand letter that can be used after a single dash.\nfunc StringSliceP(name, shorthand string, value []string, usage string) *[]string {\n\treturn CommandLine.StringSliceP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/uint.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// -- uint Value\ntype uintValue uint\n\nfunc newUintValue(val uint, p *uint) *uintValue {\n\t*p = val\n\treturn (*uintValue)(p)\n}\n\nfunc (i *uintValue) Set(s string) error {\n\tv, err := strconv.ParseUint(s, 0, 64)\n\t*i = uintValue(v)\n\treturn err\n}\n\nfunc (i *uintValue) Type() string {\n\treturn \"uint\"\n}\n\nfunc (i *uintValue) String() string { return strconv.FormatUint(uint64(*i), 10) }\n\nfunc uintConv(sval string) (interface{}, error) {\n\tv, err := strconv.ParseUint(sval, 0, 0)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn uint(v), nil\n}\n\n// GetUint return the uint value of a flag with the given name\nfunc (f *FlagSet) GetUint(name string) (uint, error) {\n\tval, err := f.getFlagType(name, \"uint\", uintConv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(uint), nil\n}\n\n// UintVar defines a uint flag with specified name, default value, and usage string.\n// The argument p points to a uint variable in which to store the value of the flag.\nfunc (f *FlagSet) UintVar(p *uint, name string, value uint, usage string) {\n\tf.VarP(newUintValue(value, p), name, \"\", usage)\n}\n\n// UintVarP is like UintVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) UintVarP(p *uint, name, shorthand string, value uint, usage string) {\n\tf.VarP(newUintValue(value, p), name, shorthand, usage)\n}\n\n// UintVar defines a uint flag with specified name, default value, and usage string.\n// The argument p points to a uint  variable in which to store the value of the flag.\nfunc UintVar(p *uint, name string, value uint, usage string) {\n\tCommandLine.VarP(newUintValue(value, p), name, \"\", usage)\n}\n\n// UintVarP is like UintVar, but accepts a shorthand letter that can be used after a single dash.\nfunc UintVarP(p *uint, name, shorthand string, value uint, usage string) {\n\tCommandLine.VarP(newUintValue(value, p), name, shorthand, usage)\n}\n\n// Uint defines a uint flag with specified name, default value, and usage string.\n// The return value is the address of a uint  variable that stores the value of the flag.\nfunc (f *FlagSet) Uint(name string, value uint, usage string) *uint {\n\tp := new(uint)\n\tf.UintVarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// UintP is like Uint, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) UintP(name, shorthand string, value uint, usage string) *uint {\n\tp := new(uint)\n\tf.UintVarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Uint defines a uint flag with specified name, default value, and usage string.\n// The return value is the address of a uint  variable that stores the value of the flag.\nfunc Uint(name string, value uint, usage string) *uint {\n\treturn CommandLine.UintP(name, \"\", value, usage)\n}\n\n// UintP is like Uint, but accepts a shorthand letter that can be used after a single dash.\nfunc UintP(name, shorthand string, value uint, usage string) *uint {\n\treturn CommandLine.UintP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/uint16.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// -- uint16 value\ntype uint16Value uint16\n\nfunc newUint16Value(val uint16, p *uint16) *uint16Value {\n\t*p = val\n\treturn (*uint16Value)(p)\n}\n\nfunc (i *uint16Value) Set(s string) error {\n\tv, err := strconv.ParseUint(s, 0, 16)\n\t*i = uint16Value(v)\n\treturn err\n}\n\nfunc (i *uint16Value) Type() string {\n\treturn \"uint16\"\n}\n\nfunc (i *uint16Value) String() string { return strconv.FormatUint(uint64(*i), 10) }\n\nfunc uint16Conv(sval string) (interface{}, error) {\n\tv, err := strconv.ParseUint(sval, 0, 16)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn uint16(v), nil\n}\n\n// GetUint16 return the uint16 value of a flag with the given name\nfunc (f *FlagSet) GetUint16(name string) (uint16, error) {\n\tval, err := f.getFlagType(name, \"uint16\", uint16Conv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(uint16), nil\n}\n\n// Uint16Var defines a uint flag with specified name, default value, and usage string.\n// The argument p points to a uint variable in which to store the value of the flag.\nfunc (f *FlagSet) Uint16Var(p *uint16, name string, value uint16, usage string) {\n\tf.VarP(newUint16Value(value, p), name, \"\", usage)\n}\n\n// Uint16VarP is like Uint16Var, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Uint16VarP(p *uint16, name, shorthand string, value uint16, usage string) {\n\tf.VarP(newUint16Value(value, p), name, shorthand, usage)\n}\n\n// Uint16Var defines a uint flag with specified name, default value, and usage string.\n// The argument p points to a uint  variable in which to store the value of the flag.\nfunc Uint16Var(p *uint16, name string, value uint16, usage string) {\n\tCommandLine.VarP(newUint16Value(value, p), name, \"\", usage)\n}\n\n// Uint16VarP is like Uint16Var, but accepts a shorthand letter that can be used after a single dash.\nfunc Uint16VarP(p *uint16, name, shorthand string, value uint16, usage string) {\n\tCommandLine.VarP(newUint16Value(value, p), name, shorthand, usage)\n}\n\n// Uint16 defines a uint flag with specified name, default value, and usage string.\n// The return value is the address of a uint  variable that stores the value of the flag.\nfunc (f *FlagSet) Uint16(name string, value uint16, usage string) *uint16 {\n\tp := new(uint16)\n\tf.Uint16VarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// Uint16P is like Uint16, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Uint16P(name, shorthand string, value uint16, usage string) *uint16 {\n\tp := new(uint16)\n\tf.Uint16VarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Uint16 defines a uint flag with specified name, default value, and usage string.\n// The return value is the address of a uint  variable that stores the value of the flag.\nfunc Uint16(name string, value uint16, usage string) *uint16 {\n\treturn CommandLine.Uint16P(name, \"\", value, usage)\n}\n\n// Uint16P is like Uint16, but accepts a shorthand letter that can be used after a single dash.\nfunc Uint16P(name, shorthand string, value uint16, usage string) *uint16 {\n\treturn CommandLine.Uint16P(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/uint32.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// -- uint32 value\ntype uint32Value uint32\n\nfunc newUint32Value(val uint32, p *uint32) *uint32Value {\n\t*p = val\n\treturn (*uint32Value)(p)\n}\n\nfunc (i *uint32Value) Set(s string) error {\n\tv, err := strconv.ParseUint(s, 0, 32)\n\t*i = uint32Value(v)\n\treturn err\n}\n\nfunc (i *uint32Value) Type() string {\n\treturn \"uint32\"\n}\n\nfunc (i *uint32Value) String() string { return strconv.FormatUint(uint64(*i), 10) }\n\nfunc uint32Conv(sval string) (interface{}, error) {\n\tv, err := strconv.ParseUint(sval, 0, 32)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn uint32(v), nil\n}\n\n// GetUint32 return the uint32 value of a flag with the given name\nfunc (f *FlagSet) GetUint32(name string) (uint32, error) {\n\tval, err := f.getFlagType(name, \"uint32\", uint32Conv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(uint32), nil\n}\n\n// Uint32Var defines a uint32 flag with specified name, default value, and usage string.\n// The argument p points to a uint32 variable in which to store the value of the flag.\nfunc (f *FlagSet) Uint32Var(p *uint32, name string, value uint32, usage string) {\n\tf.VarP(newUint32Value(value, p), name, \"\", usage)\n}\n\n// Uint32VarP is like Uint32Var, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Uint32VarP(p *uint32, name, shorthand string, value uint32, usage string) {\n\tf.VarP(newUint32Value(value, p), name, shorthand, usage)\n}\n\n// Uint32Var defines a uint32 flag with specified name, default value, and usage string.\n// The argument p points to a uint32  variable in which to store the value of the flag.\nfunc Uint32Var(p *uint32, name string, value uint32, usage string) {\n\tCommandLine.VarP(newUint32Value(value, p), name, \"\", usage)\n}\n\n// Uint32VarP is like Uint32Var, but accepts a shorthand letter that can be used after a single dash.\nfunc Uint32VarP(p *uint32, name, shorthand string, value uint32, usage string) {\n\tCommandLine.VarP(newUint32Value(value, p), name, shorthand, usage)\n}\n\n// Uint32 defines a uint32 flag with specified name, default value, and usage string.\n// The return value is the address of a uint32  variable that stores the value of the flag.\nfunc (f *FlagSet) Uint32(name string, value uint32, usage string) *uint32 {\n\tp := new(uint32)\n\tf.Uint32VarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// Uint32P is like Uint32, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Uint32P(name, shorthand string, value uint32, usage string) *uint32 {\n\tp := new(uint32)\n\tf.Uint32VarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Uint32 defines a uint32 flag with specified name, default value, and usage string.\n// The return value is the address of a uint32  variable that stores the value of the flag.\nfunc Uint32(name string, value uint32, usage string) *uint32 {\n\treturn CommandLine.Uint32P(name, \"\", value, usage)\n}\n\n// Uint32P is like Uint32, but accepts a shorthand letter that can be used after a single dash.\nfunc Uint32P(name, shorthand string, value uint32, usage string) *uint32 {\n\treturn CommandLine.Uint32P(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/uint64.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// -- uint64 Value\ntype uint64Value uint64\n\nfunc newUint64Value(val uint64, p *uint64) *uint64Value {\n\t*p = val\n\treturn (*uint64Value)(p)\n}\n\nfunc (i *uint64Value) Set(s string) error {\n\tv, err := strconv.ParseUint(s, 0, 64)\n\t*i = uint64Value(v)\n\treturn err\n}\n\nfunc (i *uint64Value) Type() string {\n\treturn \"uint64\"\n}\n\nfunc (i *uint64Value) String() string { return strconv.FormatUint(uint64(*i), 10) }\n\nfunc uint64Conv(sval string) (interface{}, error) {\n\tv, err := strconv.ParseUint(sval, 0, 64)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn uint64(v), nil\n}\n\n// GetUint64 return the uint64 value of a flag with the given name\nfunc (f *FlagSet) GetUint64(name string) (uint64, error) {\n\tval, err := f.getFlagType(name, \"uint64\", uint64Conv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(uint64), nil\n}\n\n// Uint64Var defines a uint64 flag with specified name, default value, and usage string.\n// The argument p points to a uint64 variable in which to store the value of the flag.\nfunc (f *FlagSet) Uint64Var(p *uint64, name string, value uint64, usage string) {\n\tf.VarP(newUint64Value(value, p), name, \"\", usage)\n}\n\n// Uint64VarP is like Uint64Var, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Uint64VarP(p *uint64, name, shorthand string, value uint64, usage string) {\n\tf.VarP(newUint64Value(value, p), name, shorthand, usage)\n}\n\n// Uint64Var defines a uint64 flag with specified name, default value, and usage string.\n// The argument p points to a uint64 variable in which to store the value of the flag.\nfunc Uint64Var(p *uint64, name string, value uint64, usage string) {\n\tCommandLine.VarP(newUint64Value(value, p), name, \"\", usage)\n}\n\n// Uint64VarP is like Uint64Var, but accepts a shorthand letter that can be used after a single dash.\nfunc Uint64VarP(p *uint64, name, shorthand string, value uint64, usage string) {\n\tCommandLine.VarP(newUint64Value(value, p), name, shorthand, usage)\n}\n\n// Uint64 defines a uint64 flag with specified name, default value, and usage string.\n// The return value is the address of a uint64 variable that stores the value of the flag.\nfunc (f *FlagSet) Uint64(name string, value uint64, usage string) *uint64 {\n\tp := new(uint64)\n\tf.Uint64VarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// Uint64P is like Uint64, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Uint64P(name, shorthand string, value uint64, usage string) *uint64 {\n\tp := new(uint64)\n\tf.Uint64VarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Uint64 defines a uint64 flag with specified name, default value, and usage string.\n// The return value is the address of a uint64 variable that stores the value of the flag.\nfunc Uint64(name string, value uint64, usage string) *uint64 {\n\treturn CommandLine.Uint64P(name, \"\", value, usage)\n}\n\n// Uint64P is like Uint64, but accepts a shorthand letter that can be used after a single dash.\nfunc Uint64P(name, shorthand string, value uint64, usage string) *uint64 {\n\treturn CommandLine.Uint64P(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/uint8.go",
    "content": "package pflag\n\nimport \"strconv\"\n\n// -- uint8 Value\ntype uint8Value uint8\n\nfunc newUint8Value(val uint8, p *uint8) *uint8Value {\n\t*p = val\n\treturn (*uint8Value)(p)\n}\n\nfunc (i *uint8Value) Set(s string) error {\n\tv, err := strconv.ParseUint(s, 0, 8)\n\t*i = uint8Value(v)\n\treturn err\n}\n\nfunc (i *uint8Value) Type() string {\n\treturn \"uint8\"\n}\n\nfunc (i *uint8Value) String() string { return strconv.FormatUint(uint64(*i), 10) }\n\nfunc uint8Conv(sval string) (interface{}, error) {\n\tv, err := strconv.ParseUint(sval, 0, 8)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn uint8(v), nil\n}\n\n// GetUint8 return the uint8 value of a flag with the given name\nfunc (f *FlagSet) GetUint8(name string) (uint8, error) {\n\tval, err := f.getFlagType(name, \"uint8\", uint8Conv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn val.(uint8), nil\n}\n\n// Uint8Var defines a uint8 flag with specified name, default value, and usage string.\n// The argument p points to a uint8 variable in which to store the value of the flag.\nfunc (f *FlagSet) Uint8Var(p *uint8, name string, value uint8, usage string) {\n\tf.VarP(newUint8Value(value, p), name, \"\", usage)\n}\n\n// Uint8VarP is like Uint8Var, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Uint8VarP(p *uint8, name, shorthand string, value uint8, usage string) {\n\tf.VarP(newUint8Value(value, p), name, shorthand, usage)\n}\n\n// Uint8Var defines a uint8 flag with specified name, default value, and usage string.\n// The argument p points to a uint8 variable in which to store the value of the flag.\nfunc Uint8Var(p *uint8, name string, value uint8, usage string) {\n\tCommandLine.VarP(newUint8Value(value, p), name, \"\", usage)\n}\n\n// Uint8VarP is like Uint8Var, but accepts a shorthand letter that can be used after a single dash.\nfunc Uint8VarP(p *uint8, name, shorthand string, value uint8, usage string) {\n\tCommandLine.VarP(newUint8Value(value, p), name, shorthand, usage)\n}\n\n// Uint8 defines a uint8 flag with specified name, default value, and usage string.\n// The return value is the address of a uint8 variable that stores the value of the flag.\nfunc (f *FlagSet) Uint8(name string, value uint8, usage string) *uint8 {\n\tp := new(uint8)\n\tf.Uint8VarP(p, name, \"\", value, usage)\n\treturn p\n}\n\n// Uint8P is like Uint8, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) Uint8P(name, shorthand string, value uint8, usage string) *uint8 {\n\tp := new(uint8)\n\tf.Uint8VarP(p, name, shorthand, value, usage)\n\treturn p\n}\n\n// Uint8 defines a uint8 flag with specified name, default value, and usage string.\n// The return value is the address of a uint8 variable that stores the value of the flag.\nfunc Uint8(name string, value uint8, usage string) *uint8 {\n\treturn CommandLine.Uint8P(name, \"\", value, usage)\n}\n\n// Uint8P is like Uint8, but accepts a shorthand letter that can be used after a single dash.\nfunc Uint8P(name, shorthand string, value uint8, usage string) *uint8 {\n\treturn CommandLine.Uint8P(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/github.com/spf13/pflag/uint_slice.go",
    "content": "package pflag\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n)\n\n// -- uintSlice Value\ntype uintSliceValue struct {\n\tvalue   *[]uint\n\tchanged bool\n}\n\nfunc newUintSliceValue(val []uint, p *[]uint) *uintSliceValue {\n\tuisv := new(uintSliceValue)\n\tuisv.value = p\n\t*uisv.value = val\n\treturn uisv\n}\n\nfunc (s *uintSliceValue) Set(val string) error {\n\tss := strings.Split(val, \",\")\n\tout := make([]uint, len(ss))\n\tfor i, d := range ss {\n\t\tu, err := strconv.ParseUint(d, 10, 0)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tout[i] = uint(u)\n\t}\n\tif !s.changed {\n\t\t*s.value = out\n\t} else {\n\t\t*s.value = append(*s.value, out...)\n\t}\n\ts.changed = true\n\treturn nil\n}\n\nfunc (s *uintSliceValue) Type() string {\n\treturn \"uintSlice\"\n}\n\nfunc (s *uintSliceValue) String() string {\n\tout := make([]string, len(*s.value))\n\tfor i, d := range *s.value {\n\t\tout[i] = fmt.Sprintf(\"%d\", d)\n\t}\n\treturn \"[\" + strings.Join(out, \",\") + \"]\"\n}\n\nfunc uintSliceConv(val string) (interface{}, error) {\n\tval = strings.Trim(val, \"[]\")\n\t// Empty string would cause a slice with one (empty) entry\n\tif len(val) == 0 {\n\t\treturn []uint{}, nil\n\t}\n\tss := strings.Split(val, \",\")\n\tout := make([]uint, len(ss))\n\tfor i, d := range ss {\n\t\tu, err := strconv.ParseUint(d, 10, 0)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tout[i] = uint(u)\n\t}\n\treturn out, nil\n}\n\n// GetUintSlice returns the []uint value of a flag with the given name.\nfunc (f *FlagSet) GetUintSlice(name string) ([]uint, error) {\n\tval, err := f.getFlagType(name, \"uintSlice\", uintSliceConv)\n\tif err != nil {\n\t\treturn []uint{}, err\n\t}\n\treturn val.([]uint), nil\n}\n\n// UintSliceVar defines a uintSlice flag with specified name, default value, and usage string.\n// The argument p points to a []uint variable in which to store the value of the flag.\nfunc (f *FlagSet) UintSliceVar(p *[]uint, name string, value []uint, usage string) {\n\tf.VarP(newUintSliceValue(value, p), name, \"\", usage)\n}\n\n// UintSliceVarP is like UintSliceVar, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) UintSliceVarP(p *[]uint, name, shorthand string, value []uint, usage string) {\n\tf.VarP(newUintSliceValue(value, p), name, shorthand, usage)\n}\n\n// UintSliceVar defines a uint[] flag with specified name, default value, and usage string.\n// The argument p points to a uint[] variable in which to store the value of the flag.\nfunc UintSliceVar(p *[]uint, name string, value []uint, usage string) {\n\tCommandLine.VarP(newUintSliceValue(value, p), name, \"\", usage)\n}\n\n// UintSliceVarP is like the UintSliceVar, but accepts a shorthand letter that can be used after a single dash.\nfunc UintSliceVarP(p *[]uint, name, shorthand string, value []uint, usage string) {\n\tCommandLine.VarP(newUintSliceValue(value, p), name, shorthand, usage)\n}\n\n// UintSlice defines a []uint flag with specified name, default value, and usage string.\n// The return value is the address of a []uint variable that stores the value of the flag.\nfunc (f *FlagSet) UintSlice(name string, value []uint, usage string) *[]uint {\n\tp := []uint{}\n\tf.UintSliceVarP(&p, name, \"\", value, usage)\n\treturn &p\n}\n\n// UintSliceP is like UintSlice, but accepts a shorthand letter that can be used after a single dash.\nfunc (f *FlagSet) UintSliceP(name, shorthand string, value []uint, usage string) *[]uint {\n\tp := []uint{}\n\tf.UintSliceVarP(&p, name, shorthand, value, usage)\n\treturn &p\n}\n\n// UintSlice defines a []uint flag with specified name, default value, and usage string.\n// The return value is the address of a []uint variable that stores the value of the flag.\nfunc UintSlice(name string, value []uint, usage string) *[]uint {\n\treturn CommandLine.UintSliceP(name, \"\", value, usage)\n}\n\n// UintSliceP is like UintSlice, but accepts a shorthand letter that can be used after a single dash.\nfunc UintSliceP(name, shorthand string, value []uint, usage string) *[]uint {\n\treturn CommandLine.UintSliceP(name, shorthand, value, usage)\n}\n"
  },
  {
    "path": "vendor/go.uber.org/atomic/LICENSE.txt",
    "content": "Copyright (c) 2016 Uber Technologies, Inc.\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": "vendor/go.uber.org/atomic/atomic.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package atomic provides simple wrappers around numerics to enforce atomic\n// access.\npackage atomic\n\nimport (\n\t\"math\"\n\t\"sync/atomic\"\n\t\"time\"\n)\n\n// Int32 is an atomic wrapper around an int32.\ntype Int32 struct{ v int32 }\n\n// NewInt32 creates an Int32.\nfunc NewInt32(i int32) *Int32 {\n\treturn &Int32{i}\n}\n\n// Load atomically loads the wrapped value.\nfunc (i *Int32) Load() int32 {\n\treturn atomic.LoadInt32(&i.v)\n}\n\n// Add atomically adds to the wrapped int32 and returns the new value.\nfunc (i *Int32) Add(n int32) int32 {\n\treturn atomic.AddInt32(&i.v, n)\n}\n\n// Sub atomically subtracts from the wrapped int32 and returns the new value.\nfunc (i *Int32) Sub(n int32) int32 {\n\treturn atomic.AddInt32(&i.v, -n)\n}\n\n// Inc atomically increments the wrapped int32 and returns the new value.\nfunc (i *Int32) Inc() int32 {\n\treturn i.Add(1)\n}\n\n// Dec atomically decrements the wrapped int32 and returns the new value.\nfunc (i *Int32) Dec() int32 {\n\treturn i.Sub(1)\n}\n\n// CAS is an atomic compare-and-swap.\nfunc (i *Int32) CAS(old, new int32) bool {\n\treturn atomic.CompareAndSwapInt32(&i.v, old, new)\n}\n\n// Store atomically stores the passed value.\nfunc (i *Int32) Store(n int32) {\n\tatomic.StoreInt32(&i.v, n)\n}\n\n// Swap atomically swaps the wrapped int32 and returns the old value.\nfunc (i *Int32) Swap(n int32) int32 {\n\treturn atomic.SwapInt32(&i.v, n)\n}\n\n// Int64 is an atomic wrapper around an int64.\ntype Int64 struct{ v int64 }\n\n// NewInt64 creates an Int64.\nfunc NewInt64(i int64) *Int64 {\n\treturn &Int64{i}\n}\n\n// Load atomically loads the wrapped value.\nfunc (i *Int64) Load() int64 {\n\treturn atomic.LoadInt64(&i.v)\n}\n\n// Add atomically adds to the wrapped int64 and returns the new value.\nfunc (i *Int64) Add(n int64) int64 {\n\treturn atomic.AddInt64(&i.v, n)\n}\n\n// Sub atomically subtracts from the wrapped int64 and returns the new value.\nfunc (i *Int64) Sub(n int64) int64 {\n\treturn atomic.AddInt64(&i.v, -n)\n}\n\n// Inc atomically increments the wrapped int64 and returns the new value.\nfunc (i *Int64) Inc() int64 {\n\treturn i.Add(1)\n}\n\n// Dec atomically decrements the wrapped int64 and returns the new value.\nfunc (i *Int64) Dec() int64 {\n\treturn i.Sub(1)\n}\n\n// CAS is an atomic compare-and-swap.\nfunc (i *Int64) CAS(old, new int64) bool {\n\treturn atomic.CompareAndSwapInt64(&i.v, old, new)\n}\n\n// Store atomically stores the passed value.\nfunc (i *Int64) Store(n int64) {\n\tatomic.StoreInt64(&i.v, n)\n}\n\n// Swap atomically swaps the wrapped int64 and returns the old value.\nfunc (i *Int64) Swap(n int64) int64 {\n\treturn atomic.SwapInt64(&i.v, n)\n}\n\n// Uint32 is an atomic wrapper around an uint32.\ntype Uint32 struct{ v uint32 }\n\n// NewUint32 creates a Uint32.\nfunc NewUint32(i uint32) *Uint32 {\n\treturn &Uint32{i}\n}\n\n// Load atomically loads the wrapped value.\nfunc (i *Uint32) Load() uint32 {\n\treturn atomic.LoadUint32(&i.v)\n}\n\n// Add atomically adds to the wrapped uint32 and returns the new value.\nfunc (i *Uint32) Add(n uint32) uint32 {\n\treturn atomic.AddUint32(&i.v, n)\n}\n\n// Sub atomically subtracts from the wrapped uint32 and returns the new value.\nfunc (i *Uint32) Sub(n uint32) uint32 {\n\treturn atomic.AddUint32(&i.v, ^(n - 1))\n}\n\n// Inc atomically increments the wrapped uint32 and returns the new value.\nfunc (i *Uint32) Inc() uint32 {\n\treturn i.Add(1)\n}\n\n// Dec atomically decrements the wrapped int32 and returns the new value.\nfunc (i *Uint32) Dec() uint32 {\n\treturn i.Sub(1)\n}\n\n// CAS is an atomic compare-and-swap.\nfunc (i *Uint32) CAS(old, new uint32) bool {\n\treturn atomic.CompareAndSwapUint32(&i.v, old, new)\n}\n\n// Store atomically stores the passed value.\nfunc (i *Uint32) Store(n uint32) {\n\tatomic.StoreUint32(&i.v, n)\n}\n\n// Swap atomically swaps the wrapped uint32 and returns the old value.\nfunc (i *Uint32) Swap(n uint32) uint32 {\n\treturn atomic.SwapUint32(&i.v, n)\n}\n\n// Uint64 is an atomic wrapper around a uint64.\ntype Uint64 struct{ v uint64 }\n\n// NewUint64 creates a Uint64.\nfunc NewUint64(i uint64) *Uint64 {\n\treturn &Uint64{i}\n}\n\n// Load atomically loads the wrapped value.\nfunc (i *Uint64) Load() uint64 {\n\treturn atomic.LoadUint64(&i.v)\n}\n\n// Add atomically adds to the wrapped uint64 and returns the new value.\nfunc (i *Uint64) Add(n uint64) uint64 {\n\treturn atomic.AddUint64(&i.v, n)\n}\n\n// Sub atomically subtracts from the wrapped uint64 and returns the new value.\nfunc (i *Uint64) Sub(n uint64) uint64 {\n\treturn atomic.AddUint64(&i.v, ^(n - 1))\n}\n\n// Inc atomically increments the wrapped uint64 and returns the new value.\nfunc (i *Uint64) Inc() uint64 {\n\treturn i.Add(1)\n}\n\n// Dec atomically decrements the wrapped uint64 and returns the new value.\nfunc (i *Uint64) Dec() uint64 {\n\treturn i.Sub(1)\n}\n\n// CAS is an atomic compare-and-swap.\nfunc (i *Uint64) CAS(old, new uint64) bool {\n\treturn atomic.CompareAndSwapUint64(&i.v, old, new)\n}\n\n// Store atomically stores the passed value.\nfunc (i *Uint64) Store(n uint64) {\n\tatomic.StoreUint64(&i.v, n)\n}\n\n// Swap atomically swaps the wrapped uint64 and returns the old value.\nfunc (i *Uint64) Swap(n uint64) uint64 {\n\treturn atomic.SwapUint64(&i.v, n)\n}\n\n// Bool is an atomic Boolean.\ntype Bool struct{ v uint32 }\n\n// NewBool creates a Bool.\nfunc NewBool(initial bool) *Bool {\n\treturn &Bool{boolToInt(initial)}\n}\n\n// Load atomically loads the Boolean.\nfunc (b *Bool) Load() bool {\n\treturn truthy(atomic.LoadUint32(&b.v))\n}\n\n// CAS is an atomic compare-and-swap.\nfunc (b *Bool) CAS(old, new bool) bool {\n\treturn atomic.CompareAndSwapUint32(&b.v, boolToInt(old), boolToInt(new))\n}\n\n// Store atomically stores the passed value.\nfunc (b *Bool) Store(new bool) {\n\tatomic.StoreUint32(&b.v, boolToInt(new))\n}\n\n// Swap sets the given value and returns the previous value.\nfunc (b *Bool) Swap(new bool) bool {\n\treturn truthy(atomic.SwapUint32(&b.v, boolToInt(new)))\n}\n\n// Toggle atomically negates the Boolean and returns the previous value.\nfunc (b *Bool) Toggle() bool {\n\treturn truthy(atomic.AddUint32(&b.v, 1) - 1)\n}\n\nfunc truthy(n uint32) bool {\n\treturn n&1 == 1\n}\n\nfunc boolToInt(b bool) uint32 {\n\tif b {\n\t\treturn 1\n\t}\n\treturn 0\n}\n\n// Float64 is an atomic wrapper around float64.\ntype Float64 struct {\n\tv uint64\n}\n\n// NewFloat64 creates a Float64.\nfunc NewFloat64(f float64) *Float64 {\n\treturn &Float64{math.Float64bits(f)}\n}\n\n// Load atomically loads the wrapped value.\nfunc (f *Float64) Load() float64 {\n\treturn math.Float64frombits(atomic.LoadUint64(&f.v))\n}\n\n// Store atomically stores the passed value.\nfunc (f *Float64) Store(s float64) {\n\tatomic.StoreUint64(&f.v, math.Float64bits(s))\n}\n\n// Add atomically adds to the wrapped float64 and returns the new value.\nfunc (f *Float64) Add(s float64) float64 {\n\tfor {\n\t\told := f.Load()\n\t\tnew := old + s\n\t\tif f.CAS(old, new) {\n\t\t\treturn new\n\t\t}\n\t}\n}\n\n// Sub atomically subtracts from the wrapped float64 and returns the new value.\nfunc (f *Float64) Sub(s float64) float64 {\n\treturn f.Add(-s)\n}\n\n// CAS is an atomic compare-and-swap.\nfunc (f *Float64) CAS(old, new float64) bool {\n\treturn atomic.CompareAndSwapUint64(&f.v, math.Float64bits(old), math.Float64bits(new))\n}\n\n// Duration is an atomic wrapper around time.Duration\n// https://godoc.org/time#Duration\ntype Duration struct {\n\tv Int64\n}\n\n// NewDuration creates a Duration.\nfunc NewDuration(d time.Duration) *Duration {\n\treturn &Duration{v: *NewInt64(int64(d))}\n}\n\n// Load atomically loads the wrapped value.\nfunc (d *Duration) Load() time.Duration {\n\treturn time.Duration(d.v.Load())\n}\n\n// Store atomically stores the passed value.\nfunc (d *Duration) Store(n time.Duration) {\n\td.v.Store(int64(n))\n}\n\n// Add atomically adds to the wrapped time.Duration and returns the new value.\nfunc (d *Duration) Add(n time.Duration) time.Duration {\n\treturn time.Duration(d.v.Add(int64(n)))\n}\n\n// Sub atomically subtracts from the wrapped time.Duration and returns the new value.\nfunc (d *Duration) Sub(n time.Duration) time.Duration {\n\treturn time.Duration(d.v.Sub(int64(n)))\n}\n\n// Swap atomically swaps the wrapped time.Duration and returns the old value.\nfunc (d *Duration) Swap(n time.Duration) time.Duration {\n\treturn time.Duration(d.v.Swap(int64(n)))\n}\n\n// CAS is an atomic compare-and-swap.\nfunc (d *Duration) CAS(old, new time.Duration) bool {\n\treturn d.v.CAS(int64(old), int64(new))\n}\n\n// Value shadows the type of the same name from sync/atomic\n// https://godoc.org/sync/atomic#Value\ntype Value struct{ atomic.Value }\n"
  },
  {
    "path": "vendor/go.uber.org/atomic/string.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage atomic\n\n// String is an atomic type-safe wrapper around Value for strings.\ntype String struct{ v Value }\n\n// NewString creates a String.\nfunc NewString(str string) *String {\n\ts := &String{}\n\tif str != \"\" {\n\t\ts.Store(str)\n\t}\n\treturn s\n}\n\n// Load atomically loads the wrapped string.\nfunc (s *String) Load() string {\n\tv := s.v.Load()\n\tif v == nil {\n\t\treturn \"\"\n\t}\n\treturn v.(string)\n}\n\n// Store atomically stores the passed string.\n// Note: Converting the string to an interface{} to store in the Value\n// requires an allocation.\nfunc (s *String) Store(str string) {\n\ts.v.Store(str)\n}\n"
  },
  {
    "path": "vendor/go.uber.org/multierr/LICENSE.txt",
    "content": "Copyright (c) 2017 Uber Technologies, Inc.\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": "vendor/go.uber.org/multierr/error.go",
    "content": "// Copyright (c) 2017 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package multierr allows combining one or more errors together.\n//\n// Overview\n//\n// Errors can be combined with the use of the Combine function.\n//\n// \tmultierr.Combine(\n// \t\treader.Close(),\n// \t\twriter.Close(),\n// \t\tconn.Close(),\n// \t)\n//\n// If only two errors are being combined, the Append function may be used\n// instead.\n//\n// \terr = multierr.Combine(reader.Close(), writer.Close())\n//\n// This makes it possible to record resource cleanup failures from deferred\n// blocks with the help of named return values.\n//\n// \tfunc sendRequest(req Request) (err error) {\n// \t\tconn, err := openConnection()\n// \t\tif err != nil {\n// \t\t\treturn err\n// \t\t}\n// \t\tdefer func() {\n// \t\t\terr = multierr.Append(err, conn.Close())\n// \t\t}()\n// \t\t// ...\n// \t}\n//\n// The underlying list of errors for a returned error object may be retrieved\n// with the Errors function.\n//\n// \terrors := multierr.Errors(err)\n// \tif len(errors) > 0 {\n// \t\tfmt.Println(\"The following errors occurred:\")\n// \t}\n//\n// Advanced Usage\n//\n// Errors returned by Combine and Append MAY implement the following\n// interface.\n//\n// \ttype errorGroup interface {\n// \t\t// Returns a slice containing the underlying list of errors.\n// \t\t//\n// \t\t// This slice MUST NOT be modified by the caller.\n// \t\tErrors() []error\n// \t}\n//\n// Note that if you need access to list of errors behind a multierr error, you\n// should prefer using the Errors function. That said, if you need cheap\n// read-only access to the underlying errors slice, you can attempt to cast\n// the error to this interface. You MUST handle the failure case gracefully\n// because errors returned by Combine and Append are not guaranteed to\n// implement this interface.\n//\n// \tvar errors []error\n// \tgroup, ok := err.(errorGroup)\n// \tif ok {\n// \t\terrors = group.Errors()\n// \t} else {\n// \t\terrors = []error{err}\n// \t}\npackage multierr // import \"go.uber.org/multierr\"\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"strings\"\n\t\"sync\"\n\n\t\"go.uber.org/atomic\"\n)\n\nvar (\n\t// Separator for single-line error messages.\n\t_singlelineSeparator = []byte(\"; \")\n\n\t_newline = []byte(\"\\n\")\n\n\t// Prefix for multi-line messages\n\t_multilinePrefix = []byte(\"the following errors occurred:\")\n\n\t// Prefix for the first and following lines of an item in a list of\n\t// multi-line error messages.\n\t//\n\t// For example, if a single item is:\n\t//\n\t// \tfoo\n\t// \tbar\n\t//\n\t// It will become,\n\t//\n\t// \t -  foo\n\t// \t    bar\n\t_multilineSeparator = []byte(\"\\n -  \")\n\t_multilineIndent    = []byte(\"    \")\n)\n\n// _bufferPool is a pool of bytes.Buffers.\nvar _bufferPool = sync.Pool{\n\tNew: func() interface{} {\n\t\treturn &bytes.Buffer{}\n\t},\n}\n\ntype errorGroup interface {\n\tErrors() []error\n}\n\n// Errors returns a slice containing zero or more errors that the supplied\n// error is composed of. If the error is nil, the returned slice is empty.\n//\n// \terr := multierr.Append(r.Close(), w.Close())\n// \terrors := multierr.Errors(err)\n//\n// If the error is not composed of other errors, the returned slice contains\n// just the error that was passed in.\n//\n// Callers of this function are free to modify the returned slice.\nfunc Errors(err error) []error {\n\tif err == nil {\n\t\treturn nil\n\t}\n\n\t// Note that we're casting to multiError, not errorGroup. Our contract is\n\t// that returned errors MAY implement errorGroup. Errors, however, only\n\t// has special behavior for multierr-specific error objects.\n\t//\n\t// This behavior can be expanded in the future but I think it's prudent to\n\t// start with as little as possible in terms of contract and possibility\n\t// of misuse.\n\teg, ok := err.(*multiError)\n\tif !ok {\n\t\treturn []error{err}\n\t}\n\n\terrors := eg.Errors()\n\tresult := make([]error, len(errors))\n\tcopy(result, errors)\n\treturn result\n}\n\n// multiError is an error that holds one or more errors.\n//\n// An instance of this is guaranteed to be non-empty and flattened. That is,\n// none of the errors inside multiError are other multiErrors.\n//\n// multiError formats to a semi-colon delimited list of error messages with\n// %v and with a more readable multi-line format with %+v.\ntype multiError struct {\n\tcopyNeeded atomic.Bool\n\terrors     []error\n}\n\nvar _ errorGroup = (*multiError)(nil)\n\n// Errors returns the list of underlying errors.\n//\n// This slice MUST NOT be modified.\nfunc (merr *multiError) Errors() []error {\n\tif merr == nil {\n\t\treturn nil\n\t}\n\treturn merr.errors\n}\n\nfunc (merr *multiError) Error() string {\n\tif merr == nil {\n\t\treturn \"\"\n\t}\n\n\tbuff := _bufferPool.Get().(*bytes.Buffer)\n\tbuff.Reset()\n\n\tmerr.writeSingleline(buff)\n\n\tresult := buff.String()\n\t_bufferPool.Put(buff)\n\treturn result\n}\n\nfunc (merr *multiError) Format(f fmt.State, c rune) {\n\tif c == 'v' && f.Flag('+') {\n\t\tmerr.writeMultiline(f)\n\t} else {\n\t\tmerr.writeSingleline(f)\n\t}\n}\n\nfunc (merr *multiError) writeSingleline(w io.Writer) {\n\tfirst := true\n\tfor _, item := range merr.errors {\n\t\tif first {\n\t\t\tfirst = false\n\t\t} else {\n\t\t\tw.Write(_singlelineSeparator)\n\t\t}\n\t\tio.WriteString(w, item.Error())\n\t}\n}\n\nfunc (merr *multiError) writeMultiline(w io.Writer) {\n\tw.Write(_multilinePrefix)\n\tfor _, item := range merr.errors {\n\t\tw.Write(_multilineSeparator)\n\t\twritePrefixLine(w, _multilineIndent, fmt.Sprintf(\"%+v\", item))\n\t}\n}\n\n// Writes s to the writer with the given prefix added before each line after\n// the first.\nfunc writePrefixLine(w io.Writer, prefix []byte, s string) {\n\tfirst := true\n\tfor len(s) > 0 {\n\t\tif first {\n\t\t\tfirst = false\n\t\t} else {\n\t\t\tw.Write(prefix)\n\t\t}\n\n\t\tidx := strings.IndexByte(s, '\\n')\n\t\tif idx < 0 {\n\t\t\tidx = len(s) - 1\n\t\t}\n\n\t\tio.WriteString(w, s[:idx+1])\n\t\ts = s[idx+1:]\n\t}\n}\n\ntype inspectResult struct {\n\t// Number of top-level non-nil errors\n\tCount int\n\n\t// Total number of errors including multiErrors\n\tCapacity int\n\n\t// Index of the first non-nil error in the list. Value is meaningless if\n\t// Count is zero.\n\tFirstErrorIdx int\n\n\t// Whether the list contains at least one multiError\n\tContainsMultiError bool\n}\n\n// Inspects the given slice of errors so that we can efficiently allocate\n// space for it.\nfunc inspect(errors []error) (res inspectResult) {\n\tfirst := true\n\tfor i, err := range errors {\n\t\tif err == nil {\n\t\t\tcontinue\n\t\t}\n\n\t\tres.Count++\n\t\tif first {\n\t\t\tfirst = false\n\t\t\tres.FirstErrorIdx = i\n\t\t}\n\n\t\tif merr, ok := err.(*multiError); ok {\n\t\t\tres.Capacity += len(merr.errors)\n\t\t\tres.ContainsMultiError = true\n\t\t} else {\n\t\t\tres.Capacity++\n\t\t}\n\t}\n\treturn\n}\n\n// fromSlice converts the given list of errors into a single error.\nfunc fromSlice(errors []error) error {\n\tres := inspect(errors)\n\tswitch res.Count {\n\tcase 0:\n\t\treturn nil\n\tcase 1:\n\t\t// only one non-nil entry\n\t\treturn errors[res.FirstErrorIdx]\n\tcase len(errors):\n\t\tif !res.ContainsMultiError {\n\t\t\t// already flat\n\t\t\treturn &multiError{errors: errors}\n\t\t}\n\t}\n\n\tnonNilErrs := make([]error, 0, res.Capacity)\n\tfor _, err := range errors[res.FirstErrorIdx:] {\n\t\tif err == nil {\n\t\t\tcontinue\n\t\t}\n\n\t\tif nested, ok := err.(*multiError); ok {\n\t\t\tnonNilErrs = append(nonNilErrs, nested.errors...)\n\t\t} else {\n\t\t\tnonNilErrs = append(nonNilErrs, err)\n\t\t}\n\t}\n\n\treturn &multiError{errors: nonNilErrs}\n}\n\n// Combine combines the passed errors into a single error.\n//\n// If zero arguments were passed or if all items are nil, a nil error is\n// returned.\n//\n// \tCombine(nil, nil)  // == nil\n//\n// If only a single error was passed, it is returned as-is.\n//\n// \tCombine(err)  // == err\n//\n// Combine skips over nil arguments so this function may be used to combine\n// together errors from operations that fail independently of each other.\n//\n// \tmultierr.Combine(\n// \t\treader.Close(),\n// \t\twriter.Close(),\n// \t\tpipe.Close(),\n// \t)\n//\n// If any of the passed errors is a multierr error, it will be flattened along\n// with the other errors.\n//\n// \tmultierr.Combine(multierr.Combine(err1, err2), err3)\n// \t// is the same as\n// \tmultierr.Combine(err1, err2, err3)\n//\n// The returned error formats into a readable multi-line error message if\n// formatted with %+v.\n//\n// \tfmt.Sprintf(\"%+v\", multierr.Combine(err1, err2))\nfunc Combine(errors ...error) error {\n\treturn fromSlice(errors)\n}\n\n// Append appends the given errors together. Either value may be nil.\n//\n// This function is a specialization of Combine for the common case where\n// there are only two errors.\n//\n// \terr = multierr.Append(reader.Close(), writer.Close())\n//\n// The following pattern may also be used to record failure of deferred\n// operations without losing information about the original error.\n//\n// \tfunc doSomething(..) (err error) {\n// \t\tf := acquireResource()\n// \t\tdefer func() {\n// \t\t\terr = multierr.Append(err, f.Close())\n// \t\t}()\nfunc Append(left error, right error) error {\n\tswitch {\n\tcase left == nil:\n\t\treturn right\n\tcase right == nil:\n\t\treturn left\n\t}\n\n\tif _, ok := right.(*multiError); !ok {\n\t\tif l, ok := left.(*multiError); ok && !l.copyNeeded.Swap(true) {\n\t\t\t// Common case where the error on the left is constantly being\n\t\t\t// appended to.\n\t\t\terrs := append(l.errors, right)\n\t\t\treturn &multiError{errors: errs}\n\t\t} else if !ok {\n\t\t\t// Both errors are single errors.\n\t\t\treturn &multiError{errors: []error{left, right}}\n\t\t}\n\t}\n\n\t// Either right or both, left and right, are multiErrors. Rely on usual\n\t// expensive logic.\n\terrors := [2]error{left, right}\n\treturn fromSlice(errors[0:])\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/LICENSE.txt",
    "content": "Copyright (c) 2016-2017 Uber Technologies, Inc.\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": "vendor/go.uber.org/zap/array.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"time\"\n\n\t\"go.uber.org/zap/zapcore\"\n)\n\n// Array constructs a field with the given key and ArrayMarshaler. It provides\n// a flexible, but still type-safe and efficient, way to add array-like types\n// to the logging context. The struct's MarshalLogArray method is called lazily.\nfunc Array(key string, val zapcore.ArrayMarshaler) Field {\n\treturn Field{Key: key, Type: zapcore.ArrayMarshalerType, Interface: val}\n}\n\n// Bools constructs a field that carries a slice of bools.\nfunc Bools(key string, bs []bool) Field {\n\treturn Array(key, bools(bs))\n}\n\n// ByteStrings constructs a field that carries a slice of []byte, each of which\n// must be UTF-8 encoded text.\nfunc ByteStrings(key string, bss [][]byte) Field {\n\treturn Array(key, byteStringsArray(bss))\n}\n\n// Complex128s constructs a field that carries a slice of complex numbers.\nfunc Complex128s(key string, nums []complex128) Field {\n\treturn Array(key, complex128s(nums))\n}\n\n// Complex64s constructs a field that carries a slice of complex numbers.\nfunc Complex64s(key string, nums []complex64) Field {\n\treturn Array(key, complex64s(nums))\n}\n\n// Durations constructs a field that carries a slice of time.Durations.\nfunc Durations(key string, ds []time.Duration) Field {\n\treturn Array(key, durations(ds))\n}\n\n// Float64s constructs a field that carries a slice of floats.\nfunc Float64s(key string, nums []float64) Field {\n\treturn Array(key, float64s(nums))\n}\n\n// Float32s constructs a field that carries a slice of floats.\nfunc Float32s(key string, nums []float32) Field {\n\treturn Array(key, float32s(nums))\n}\n\n// Ints constructs a field that carries a slice of integers.\nfunc Ints(key string, nums []int) Field {\n\treturn Array(key, ints(nums))\n}\n\n// Int64s constructs a field that carries a slice of integers.\nfunc Int64s(key string, nums []int64) Field {\n\treturn Array(key, int64s(nums))\n}\n\n// Int32s constructs a field that carries a slice of integers.\nfunc Int32s(key string, nums []int32) Field {\n\treturn Array(key, int32s(nums))\n}\n\n// Int16s constructs a field that carries a slice of integers.\nfunc Int16s(key string, nums []int16) Field {\n\treturn Array(key, int16s(nums))\n}\n\n// Int8s constructs a field that carries a slice of integers.\nfunc Int8s(key string, nums []int8) Field {\n\treturn Array(key, int8s(nums))\n}\n\n// Strings constructs a field that carries a slice of strings.\nfunc Strings(key string, ss []string) Field {\n\treturn Array(key, stringArray(ss))\n}\n\n// Times constructs a field that carries a slice of time.Times.\nfunc Times(key string, ts []time.Time) Field {\n\treturn Array(key, times(ts))\n}\n\n// Uints constructs a field that carries a slice of unsigned integers.\nfunc Uints(key string, nums []uint) Field {\n\treturn Array(key, uints(nums))\n}\n\n// Uint64s constructs a field that carries a slice of unsigned integers.\nfunc Uint64s(key string, nums []uint64) Field {\n\treturn Array(key, uint64s(nums))\n}\n\n// Uint32s constructs a field that carries a slice of unsigned integers.\nfunc Uint32s(key string, nums []uint32) Field {\n\treturn Array(key, uint32s(nums))\n}\n\n// Uint16s constructs a field that carries a slice of unsigned integers.\nfunc Uint16s(key string, nums []uint16) Field {\n\treturn Array(key, uint16s(nums))\n}\n\n// Uint8s constructs a field that carries a slice of unsigned integers.\nfunc Uint8s(key string, nums []uint8) Field {\n\treturn Array(key, uint8s(nums))\n}\n\n// Uintptrs constructs a field that carries a slice of pointer addresses.\nfunc Uintptrs(key string, us []uintptr) Field {\n\treturn Array(key, uintptrs(us))\n}\n\n// Errors constructs a field that carries a slice of errors.\nfunc Errors(key string, errs []error) Field {\n\treturn Array(key, errArray(errs))\n}\n\ntype bools []bool\n\nfunc (bs bools) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range bs {\n\t\tarr.AppendBool(bs[i])\n\t}\n\treturn nil\n}\n\ntype byteStringsArray [][]byte\n\nfunc (bss byteStringsArray) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range bss {\n\t\tarr.AppendByteString(bss[i])\n\t}\n\treturn nil\n}\n\ntype complex128s []complex128\n\nfunc (nums complex128s) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendComplex128(nums[i])\n\t}\n\treturn nil\n}\n\ntype complex64s []complex64\n\nfunc (nums complex64s) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendComplex64(nums[i])\n\t}\n\treturn nil\n}\n\ntype durations []time.Duration\n\nfunc (ds durations) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range ds {\n\t\tarr.AppendDuration(ds[i])\n\t}\n\treturn nil\n}\n\ntype float64s []float64\n\nfunc (nums float64s) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendFloat64(nums[i])\n\t}\n\treturn nil\n}\n\ntype float32s []float32\n\nfunc (nums float32s) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendFloat32(nums[i])\n\t}\n\treturn nil\n}\n\ntype ints []int\n\nfunc (nums ints) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendInt(nums[i])\n\t}\n\treturn nil\n}\n\ntype int64s []int64\n\nfunc (nums int64s) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendInt64(nums[i])\n\t}\n\treturn nil\n}\n\ntype int32s []int32\n\nfunc (nums int32s) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendInt32(nums[i])\n\t}\n\treturn nil\n}\n\ntype int16s []int16\n\nfunc (nums int16s) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendInt16(nums[i])\n\t}\n\treturn nil\n}\n\ntype int8s []int8\n\nfunc (nums int8s) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendInt8(nums[i])\n\t}\n\treturn nil\n}\n\ntype stringArray []string\n\nfunc (ss stringArray) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range ss {\n\t\tarr.AppendString(ss[i])\n\t}\n\treturn nil\n}\n\ntype times []time.Time\n\nfunc (ts times) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range ts {\n\t\tarr.AppendTime(ts[i])\n\t}\n\treturn nil\n}\n\ntype uints []uint\n\nfunc (nums uints) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendUint(nums[i])\n\t}\n\treturn nil\n}\n\ntype uint64s []uint64\n\nfunc (nums uint64s) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendUint64(nums[i])\n\t}\n\treturn nil\n}\n\ntype uint32s []uint32\n\nfunc (nums uint32s) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendUint32(nums[i])\n\t}\n\treturn nil\n}\n\ntype uint16s []uint16\n\nfunc (nums uint16s) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendUint16(nums[i])\n\t}\n\treturn nil\n}\n\ntype uint8s []uint8\n\nfunc (nums uint8s) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendUint8(nums[i])\n\t}\n\treturn nil\n}\n\ntype uintptrs []uintptr\n\nfunc (nums uintptrs) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range nums {\n\t\tarr.AppendUintptr(nums[i])\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/buffer/buffer.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package buffer provides a thin wrapper around a byte slice. Unlike the\n// standard library's bytes.Buffer, it supports a portion of the strconv\n// package's zero-allocation formatters.\npackage buffer // import \"go.uber.org/zap/buffer\"\n\nimport \"strconv\"\n\nconst _size = 1024 // by default, create 1 KiB buffers\n\n// Buffer is a thin wrapper around a byte slice. It's intended to be pooled, so\n// the only way to construct one is via a Pool.\ntype Buffer struct {\n\tbs   []byte\n\tpool Pool\n}\n\n// AppendByte writes a single byte to the Buffer.\nfunc (b *Buffer) AppendByte(v byte) {\n\tb.bs = append(b.bs, v)\n}\n\n// AppendString writes a string to the Buffer.\nfunc (b *Buffer) AppendString(s string) {\n\tb.bs = append(b.bs, s...)\n}\n\n// AppendInt appends an integer to the underlying buffer (assuming base 10).\nfunc (b *Buffer) AppendInt(i int64) {\n\tb.bs = strconv.AppendInt(b.bs, i, 10)\n}\n\n// AppendUint appends an unsigned integer to the underlying buffer (assuming\n// base 10).\nfunc (b *Buffer) AppendUint(i uint64) {\n\tb.bs = strconv.AppendUint(b.bs, i, 10)\n}\n\n// AppendBool appends a bool to the underlying buffer.\nfunc (b *Buffer) AppendBool(v bool) {\n\tb.bs = strconv.AppendBool(b.bs, v)\n}\n\n// AppendFloat appends a float to the underlying buffer. It doesn't quote NaN\n// or +/- Inf.\nfunc (b *Buffer) AppendFloat(f float64, bitSize int) {\n\tb.bs = strconv.AppendFloat(b.bs, f, 'f', -1, bitSize)\n}\n\n// Len returns the length of the underlying byte slice.\nfunc (b *Buffer) Len() int {\n\treturn len(b.bs)\n}\n\n// Cap returns the capacity of the underlying byte slice.\nfunc (b *Buffer) Cap() int {\n\treturn cap(b.bs)\n}\n\n// Bytes returns a mutable reference to the underlying byte slice.\nfunc (b *Buffer) Bytes() []byte {\n\treturn b.bs\n}\n\n// String returns a string copy of the underlying byte slice.\nfunc (b *Buffer) String() string {\n\treturn string(b.bs)\n}\n\n// Reset resets the underlying byte slice. Subsequent writes re-use the slice's\n// backing array.\nfunc (b *Buffer) Reset() {\n\tb.bs = b.bs[:0]\n}\n\n// Write implements io.Writer.\nfunc (b *Buffer) Write(bs []byte) (int, error) {\n\tb.bs = append(b.bs, bs...)\n\treturn len(bs), nil\n}\n\n// Free returns the Buffer to its Pool.\n//\n// Callers must not retain references to the Buffer after calling Free.\nfunc (b *Buffer) Free() {\n\tb.pool.put(b)\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/buffer/pool.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage buffer\n\nimport \"sync\"\n\n// A Pool is a type-safe wrapper around a sync.Pool.\ntype Pool struct {\n\tp *sync.Pool\n}\n\n// NewPool constructs a new Pool.\nfunc NewPool() Pool {\n\treturn Pool{p: &sync.Pool{\n\t\tNew: func() interface{} {\n\t\t\treturn &Buffer{bs: make([]byte, 0, _size)}\n\t\t},\n\t}}\n}\n\n// Get retrieves a Buffer from the pool, creating one if necessary.\nfunc (p Pool) Get() *Buffer {\n\tbuf := p.p.Get().(*Buffer)\n\tbuf.Reset()\n\tbuf.pool = p\n\treturn buf\n}\n\nfunc (p Pool) put(buf *Buffer) {\n\tp.p.Put(buf)\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/config.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"sort\"\n\t\"time\"\n\n\t\"go.uber.org/zap/zapcore\"\n)\n\n// SamplingConfig sets a sampling strategy for the logger. Sampling caps the\n// global CPU and I/O load that logging puts on your process while attempting\n// to preserve a representative subset of your logs.\n//\n// Values configured here are per-second. See zapcore.NewSampler for details.\ntype SamplingConfig struct {\n\tInitial    int `json:\"initial\" yaml:\"initial\"`\n\tThereafter int `json:\"thereafter\" yaml:\"thereafter\"`\n}\n\n// Config offers a declarative way to construct a logger. It doesn't do\n// anything that can't be done with New, Options, and the various\n// zapcore.WriteSyncer and zapcore.Core wrappers, but it's a simpler way to\n// toggle common options.\n//\n// Note that Config intentionally supports only the most common options. More\n// unusual logging setups (logging to network connections or message queues,\n// splitting output between multiple files, etc.) are possible, but require\n// direct use of the zapcore package. For sample code, see the package-level\n// BasicConfiguration and AdvancedConfiguration examples.\n//\n// For an example showing runtime log level changes, see the documentation for\n// AtomicLevel.\ntype Config struct {\n\t// Level is the minimum enabled logging level. Note that this is a dynamic\n\t// level, so calling Config.Level.SetLevel will atomically change the log\n\t// level of all loggers descended from this config.\n\tLevel AtomicLevel `json:\"level\" yaml:\"level\"`\n\t// Development puts the logger in development mode, which changes the\n\t// behavior of DPanicLevel and takes stacktraces more liberally.\n\tDevelopment bool `json:\"development\" yaml:\"development\"`\n\t// DisableCaller stops annotating logs with the calling function's file\n\t// name and line number. By default, all logs are annotated.\n\tDisableCaller bool `json:\"disableCaller\" yaml:\"disableCaller\"`\n\t// DisableStacktrace completely disables automatic stacktrace capturing. By\n\t// default, stacktraces are captured for WarnLevel and above logs in\n\t// development and ErrorLevel and above in production.\n\tDisableStacktrace bool `json:\"disableStacktrace\" yaml:\"disableStacktrace\"`\n\t// Sampling sets a sampling policy. A nil SamplingConfig disables sampling.\n\tSampling *SamplingConfig `json:\"sampling\" yaml:\"sampling\"`\n\t// Encoding sets the logger's encoding. Valid values are \"json\" and\n\t// \"console\", as well as any third-party encodings registered via\n\t// RegisterEncoder.\n\tEncoding string `json:\"encoding\" yaml:\"encoding\"`\n\t// EncoderConfig sets options for the chosen encoder. See\n\t// zapcore.EncoderConfig for details.\n\tEncoderConfig zapcore.EncoderConfig `json:\"encoderConfig\" yaml:\"encoderConfig\"`\n\t// OutputPaths is a list of paths to write logging output to. See Open for\n\t// details.\n\tOutputPaths []string `json:\"outputPaths\" yaml:\"outputPaths\"`\n\t// ErrorOutputPaths is a list of paths to write internal logger errors to.\n\t// The default is standard error.\n\t//\n\t// Note that this setting only affects internal errors; for sample code that\n\t// sends error-level logs to a different location from info- and debug-level\n\t// logs, see the package-level AdvancedConfiguration example.\n\tErrorOutputPaths []string `json:\"errorOutputPaths\" yaml:\"errorOutputPaths\"`\n\t// InitialFields is a collection of fields to add to the root logger.\n\tInitialFields map[string]interface{} `json:\"initialFields\" yaml:\"initialFields\"`\n}\n\n// NewProductionEncoderConfig returns an opinionated EncoderConfig for\n// production environments.\nfunc NewProductionEncoderConfig() zapcore.EncoderConfig {\n\treturn zapcore.EncoderConfig{\n\t\tTimeKey:        \"ts\",\n\t\tLevelKey:       \"level\",\n\t\tNameKey:        \"logger\",\n\t\tCallerKey:      \"caller\",\n\t\tMessageKey:     \"msg\",\n\t\tStacktraceKey:  \"stacktrace\",\n\t\tLineEnding:     zapcore.DefaultLineEnding,\n\t\tEncodeLevel:    zapcore.LowercaseLevelEncoder,\n\t\tEncodeTime:     zapcore.EpochTimeEncoder,\n\t\tEncodeDuration: zapcore.SecondsDurationEncoder,\n\t\tEncodeCaller:   zapcore.ShortCallerEncoder,\n\t}\n}\n\n// NewProductionConfig is a reasonable production logging configuration.\n// Logging is enabled at InfoLevel and above.\n//\n// It uses a JSON encoder, writes to standard error, and enables sampling.\n// Stacktraces are automatically included on logs of ErrorLevel and above.\nfunc NewProductionConfig() Config {\n\treturn Config{\n\t\tLevel:       NewAtomicLevelAt(InfoLevel),\n\t\tDevelopment: false,\n\t\tSampling: &SamplingConfig{\n\t\t\tInitial:    100,\n\t\t\tThereafter: 100,\n\t\t},\n\t\tEncoding:         \"json\",\n\t\tEncoderConfig:    NewProductionEncoderConfig(),\n\t\tOutputPaths:      []string{\"stderr\"},\n\t\tErrorOutputPaths: []string{\"stderr\"},\n\t}\n}\n\n// NewDevelopmentEncoderConfig returns an opinionated EncoderConfig for\n// development environments.\nfunc NewDevelopmentEncoderConfig() zapcore.EncoderConfig {\n\treturn zapcore.EncoderConfig{\n\t\t// Keys can be anything except the empty string.\n\t\tTimeKey:        \"T\",\n\t\tLevelKey:       \"L\",\n\t\tNameKey:        \"N\",\n\t\tCallerKey:      \"C\",\n\t\tMessageKey:     \"M\",\n\t\tStacktraceKey:  \"S\",\n\t\tLineEnding:     zapcore.DefaultLineEnding,\n\t\tEncodeLevel:    zapcore.CapitalLevelEncoder,\n\t\tEncodeTime:     zapcore.ISO8601TimeEncoder,\n\t\tEncodeDuration: zapcore.StringDurationEncoder,\n\t\tEncodeCaller:   zapcore.ShortCallerEncoder,\n\t}\n}\n\n// NewDevelopmentConfig is a reasonable development logging configuration.\n// Logging is enabled at DebugLevel and above.\n//\n// It enables development mode (which makes DPanicLevel logs panic), uses a\n// console encoder, writes to standard error, and disables sampling.\n// Stacktraces are automatically included on logs of WarnLevel and above.\nfunc NewDevelopmentConfig() Config {\n\treturn Config{\n\t\tLevel:            NewAtomicLevelAt(DebugLevel),\n\t\tDevelopment:      true,\n\t\tEncoding:         \"console\",\n\t\tEncoderConfig:    NewDevelopmentEncoderConfig(),\n\t\tOutputPaths:      []string{\"stderr\"},\n\t\tErrorOutputPaths: []string{\"stderr\"},\n\t}\n}\n\n// Build constructs a logger from the Config and Options.\nfunc (cfg Config) Build(opts ...Option) (*Logger, error) {\n\tenc, err := cfg.buildEncoder()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tsink, errSink, err := cfg.openSinks()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tlog := New(\n\t\tzapcore.NewCore(enc, sink, cfg.Level),\n\t\tcfg.buildOptions(errSink)...,\n\t)\n\tif len(opts) > 0 {\n\t\tlog = log.WithOptions(opts...)\n\t}\n\treturn log, nil\n}\n\nfunc (cfg Config) buildOptions(errSink zapcore.WriteSyncer) []Option {\n\topts := []Option{ErrorOutput(errSink)}\n\n\tif cfg.Development {\n\t\topts = append(opts, Development())\n\t}\n\n\tif !cfg.DisableCaller {\n\t\topts = append(opts, AddCaller())\n\t}\n\n\tstackLevel := ErrorLevel\n\tif cfg.Development {\n\t\tstackLevel = WarnLevel\n\t}\n\tif !cfg.DisableStacktrace {\n\t\topts = append(opts, AddStacktrace(stackLevel))\n\t}\n\n\tif cfg.Sampling != nil {\n\t\topts = append(opts, WrapCore(func(core zapcore.Core) zapcore.Core {\n\t\t\treturn zapcore.NewSampler(core, time.Second, int(cfg.Sampling.Initial), int(cfg.Sampling.Thereafter))\n\t\t}))\n\t}\n\n\tif len(cfg.InitialFields) > 0 {\n\t\tfs := make([]Field, 0, len(cfg.InitialFields))\n\t\tkeys := make([]string, 0, len(cfg.InitialFields))\n\t\tfor k := range cfg.InitialFields {\n\t\t\tkeys = append(keys, k)\n\t\t}\n\t\tsort.Strings(keys)\n\t\tfor _, k := range keys {\n\t\t\tfs = append(fs, Any(k, cfg.InitialFields[k]))\n\t\t}\n\t\topts = append(opts, Fields(fs...))\n\t}\n\n\treturn opts\n}\n\nfunc (cfg Config) openSinks() (zapcore.WriteSyncer, zapcore.WriteSyncer, error) {\n\tsink, closeOut, err := Open(cfg.OutputPaths...)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\terrSink, _, err := Open(cfg.ErrorOutputPaths...)\n\tif err != nil {\n\t\tcloseOut()\n\t\treturn nil, nil, err\n\t}\n\treturn sink, errSink, nil\n}\n\nfunc (cfg Config) buildEncoder() (zapcore.Encoder, error) {\n\treturn newEncoder(cfg.Encoding, cfg.EncoderConfig)\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/doc.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package zap provides fast, structured, leveled logging.\n//\n// For applications that log in the hot path, reflection-based serialization\n// and string formatting are prohibitively expensive - they're CPU-intensive\n// and make many small allocations. Put differently, using json.Marshal and\n// fmt.Fprintf to log tons of interface{} makes your application slow.\n//\n// Zap takes a different approach. It includes a reflection-free,\n// zero-allocation JSON encoder, and the base Logger strives to avoid\n// serialization overhead and allocations wherever possible. By building the\n// high-level SugaredLogger on that foundation, zap lets users choose when\n// they need to count every allocation and when they'd prefer a more familiar,\n// loosely typed API.\n//\n// Choosing a Logger\n//\n// In contexts where performance is nice, but not critical, use the\n// SugaredLogger. It's 4-10x faster than other structured logging packages and\n// supports both structured and printf-style logging. Like log15 and go-kit,\n// the SugaredLogger's structured logging APIs are loosely typed and accept a\n// variadic number of key-value pairs. (For more advanced use cases, they also\n// accept strongly typed fields - see the SugaredLogger.With documentation for\n// details.)\n//  sugar := zap.NewExample().Sugar()\n//  defer sugar.Sync()\n//  sugar.Infow(\"failed to fetch URL\",\n//    \"url\", \"http://example.com\",\n//    \"attempt\", 3,\n//    \"backoff\", time.Second,\n//  )\n//  sugar.Printf(\"failed to fetch URL: %s\", \"http://example.com\")\n//\n// By default, loggers are unbuffered. However, since zap's low-level APIs\n// allow buffering, calling Sync before letting your process exit is a good\n// habit.\n//\n// In the rare contexts where every microsecond and every allocation matter,\n// use the Logger. It's even faster than the SugaredLogger and allocates far\n// less, but it only supports strongly-typed, structured logging.\n//  logger := zap.NewExample()\n//  defer logger.Sync()\n//  logger.Info(\"failed to fetch URL\",\n//    zap.String(\"url\", \"http://example.com\"),\n//    zap.Int(\"attempt\", 3),\n//    zap.Duration(\"backoff\", time.Second),\n//  )\n//\n// Choosing between the Logger and SugaredLogger doesn't need to be an\n// application-wide decision: converting between the two is simple and\n// inexpensive.\n//   logger := zap.NewExample()\n//   defer logger.Sync()\n//   sugar := logger.Sugar()\n//   plain := sugar.Desugar()\n//\n// Configuring Zap\n//\n// The simplest way to build a Logger is to use zap's opinionated presets:\n// NewExample, NewProduction, and NewDevelopment. These presets build a logger\n// with a single function call:\n//  logger, err := zap.NewProduction()\n//  if err != nil {\n//    log.Fatalf(\"can't initialize zap logger: %v\", err)\n//  }\n//  defer logger.Sync()\n//\n// Presets are fine for small projects, but larger projects and organizations\n// naturally require a bit more customization. For most users, zap's Config\n// struct strikes the right balance between flexibility and convenience. See\n// the package-level BasicConfiguration example for sample code.\n//\n// More unusual configurations (splitting output between files, sending logs\n// to a message queue, etc.) are possible, but require direct use of\n// go.uber.org/zap/zapcore. See the package-level AdvancedConfiguration\n// example for sample code.\n//\n// Extending Zap\n//\n// The zap package itself is a relatively thin wrapper around the interfaces\n// in go.uber.org/zap/zapcore. Extending zap to support a new encoding (e.g.,\n// BSON), a new log sink (e.g., Kafka), or something more exotic (perhaps an\n// exception aggregation service, like Sentry or Rollbar) typically requires\n// implementing the zapcore.Encoder, zapcore.WriteSyncer, or zapcore.Core\n// interfaces. See the zapcore documentation for details.\n//\n// Similarly, package authors can use the high-performance Encoder and Core\n// implementations in the zapcore package to build their own loggers.\n//\n// Frequently Asked Questions\n//\n// An FAQ covering everything from installation errors to design decisions is\n// available at https://github.com/uber-go/zap/blob/master/FAQ.md.\npackage zap // import \"go.uber.org/zap\"\n"
  },
  {
    "path": "vendor/go.uber.org/zap/encoder.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"sync\"\n\n\t\"go.uber.org/zap/zapcore\"\n)\n\nvar (\n\terrNoEncoderNameSpecified = errors.New(\"no encoder name specified\")\n\n\t_encoderNameToConstructor = map[string]func(zapcore.EncoderConfig) (zapcore.Encoder, error){\n\t\t\"console\": func(encoderConfig zapcore.EncoderConfig) (zapcore.Encoder, error) {\n\t\t\treturn zapcore.NewConsoleEncoder(encoderConfig), nil\n\t\t},\n\t\t\"json\": func(encoderConfig zapcore.EncoderConfig) (zapcore.Encoder, error) {\n\t\t\treturn zapcore.NewJSONEncoder(encoderConfig), nil\n\t\t},\n\t}\n\t_encoderMutex sync.RWMutex\n)\n\n// RegisterEncoder registers an encoder constructor, which the Config struct\n// can then reference. By default, the \"json\" and \"console\" encoders are\n// registered.\n//\n// Attempting to register an encoder whose name is already taken returns an\n// error.\nfunc RegisterEncoder(name string, constructor func(zapcore.EncoderConfig) (zapcore.Encoder, error)) error {\n\t_encoderMutex.Lock()\n\tdefer _encoderMutex.Unlock()\n\tif name == \"\" {\n\t\treturn errNoEncoderNameSpecified\n\t}\n\tif _, ok := _encoderNameToConstructor[name]; ok {\n\t\treturn fmt.Errorf(\"encoder already registered for name %q\", name)\n\t}\n\t_encoderNameToConstructor[name] = constructor\n\treturn nil\n}\n\nfunc newEncoder(name string, encoderConfig zapcore.EncoderConfig) (zapcore.Encoder, error) {\n\t_encoderMutex.RLock()\n\tdefer _encoderMutex.RUnlock()\n\tif name == \"\" {\n\t\treturn nil, errNoEncoderNameSpecified\n\t}\n\tconstructor, ok := _encoderNameToConstructor[name]\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"no encoder registered for name %q\", name)\n\t}\n\treturn constructor(encoderConfig)\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/error.go",
    "content": "// Copyright (c) 2017 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"sync\"\n\n\t\"go.uber.org/zap/zapcore\"\n)\n\nvar _errArrayElemPool = sync.Pool{New: func() interface{} {\n\treturn &errArrayElem{}\n}}\n\n// Error is shorthand for the common idiom NamedError(\"error\", err).\nfunc Error(err error) Field {\n\treturn NamedError(\"error\", err)\n}\n\n// NamedError constructs a field that lazily stores err.Error() under the\n// provided key. Errors which also implement fmt.Formatter (like those produced\n// by github.com/pkg/errors) will also have their verbose representation stored\n// under key+\"Verbose\". If passed a nil error, the field is a no-op.\n//\n// For the common case in which the key is simply \"error\", the Error function\n// is shorter and less repetitive.\nfunc NamedError(key string, err error) Field {\n\tif err == nil {\n\t\treturn Skip()\n\t}\n\treturn Field{Key: key, Type: zapcore.ErrorType, Interface: err}\n}\n\ntype errArray []error\n\nfunc (errs errArray) MarshalLogArray(arr zapcore.ArrayEncoder) error {\n\tfor i := range errs {\n\t\tif errs[i] == nil {\n\t\t\tcontinue\n\t\t}\n\t\t// To represent each error as an object with an \"error\" attribute and\n\t\t// potentially an \"errorVerbose\" attribute, we need to wrap it in a\n\t\t// type that implements LogObjectMarshaler. To prevent this from\n\t\t// allocating, pool the wrapper type.\n\t\telem := _errArrayElemPool.Get().(*errArrayElem)\n\t\telem.error = errs[i]\n\t\tarr.AppendObject(elem)\n\t\telem.error = nil\n\t\t_errArrayElemPool.Put(elem)\n\t}\n\treturn nil\n}\n\ntype errArrayElem struct {\n\terror\n}\n\nfunc (e *errArrayElem) MarshalLogObject(enc zapcore.ObjectEncoder) error {\n\t// Re-use the error field's logic, which supports non-standard error types.\n\tError(e.error).AddTo(enc)\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/field.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"time\"\n\n\t\"go.uber.org/zap/zapcore\"\n)\n\n// Field is an alias for Field. Aliasing this type dramatically\n// improves the navigability of this package's API documentation.\ntype Field = zapcore.Field\n\n// Skip constructs a no-op field, which is often useful when handling invalid\n// inputs in other Field constructors.\nfunc Skip() Field {\n\treturn Field{Type: zapcore.SkipType}\n}\n\n// Binary constructs a field that carries an opaque binary blob.\n//\n// Binary data is serialized in an encoding-appropriate format. For example,\n// zap's JSON encoder base64-encodes binary blobs. To log UTF-8 encoded text,\n// use ByteString.\nfunc Binary(key string, val []byte) Field {\n\treturn Field{Key: key, Type: zapcore.BinaryType, Interface: val}\n}\n\n// Bool constructs a field that carries a bool.\nfunc Bool(key string, val bool) Field {\n\tvar ival int64\n\tif val {\n\t\tival = 1\n\t}\n\treturn Field{Key: key, Type: zapcore.BoolType, Integer: ival}\n}\n\n// ByteString constructs a field that carries UTF-8 encoded text as a []byte.\n// To log opaque binary blobs (which aren't necessarily valid UTF-8), use\n// Binary.\nfunc ByteString(key string, val []byte) Field {\n\treturn Field{Key: key, Type: zapcore.ByteStringType, Interface: val}\n}\n\n// Complex128 constructs a field that carries a complex number. Unlike most\n// numeric fields, this costs an allocation (to convert the complex128 to\n// interface{}).\nfunc Complex128(key string, val complex128) Field {\n\treturn Field{Key: key, Type: zapcore.Complex128Type, Interface: val}\n}\n\n// Complex64 constructs a field that carries a complex number. Unlike most\n// numeric fields, this costs an allocation (to convert the complex64 to\n// interface{}).\nfunc Complex64(key string, val complex64) Field {\n\treturn Field{Key: key, Type: zapcore.Complex64Type, Interface: val}\n}\n\n// Float64 constructs a field that carries a float64. The way the\n// floating-point value is represented is encoder-dependent, so marshaling is\n// necessarily lazy.\nfunc Float64(key string, val float64) Field {\n\treturn Field{Key: key, Type: zapcore.Float64Type, Integer: int64(math.Float64bits(val))}\n}\n\n// Float32 constructs a field that carries a float32. The way the\n// floating-point value is represented is encoder-dependent, so marshaling is\n// necessarily lazy.\nfunc Float32(key string, val float32) Field {\n\treturn Field{Key: key, Type: zapcore.Float32Type, Integer: int64(math.Float32bits(val))}\n}\n\n// Int constructs a field with the given key and value.\nfunc Int(key string, val int) Field {\n\treturn Int64(key, int64(val))\n}\n\n// Int64 constructs a field with the given key and value.\nfunc Int64(key string, val int64) Field {\n\treturn Field{Key: key, Type: zapcore.Int64Type, Integer: val}\n}\n\n// Int32 constructs a field with the given key and value.\nfunc Int32(key string, val int32) Field {\n\treturn Field{Key: key, Type: zapcore.Int32Type, Integer: int64(val)}\n}\n\n// Int16 constructs a field with the given key and value.\nfunc Int16(key string, val int16) Field {\n\treturn Field{Key: key, Type: zapcore.Int16Type, Integer: int64(val)}\n}\n\n// Int8 constructs a field with the given key and value.\nfunc Int8(key string, val int8) Field {\n\treturn Field{Key: key, Type: zapcore.Int8Type, Integer: int64(val)}\n}\n\n// String constructs a field with the given key and value.\nfunc String(key string, val string) Field {\n\treturn Field{Key: key, Type: zapcore.StringType, String: val}\n}\n\n// Uint constructs a field with the given key and value.\nfunc Uint(key string, val uint) Field {\n\treturn Uint64(key, uint64(val))\n}\n\n// Uint64 constructs a field with the given key and value.\nfunc Uint64(key string, val uint64) Field {\n\treturn Field{Key: key, Type: zapcore.Uint64Type, Integer: int64(val)}\n}\n\n// Uint32 constructs a field with the given key and value.\nfunc Uint32(key string, val uint32) Field {\n\treturn Field{Key: key, Type: zapcore.Uint32Type, Integer: int64(val)}\n}\n\n// Uint16 constructs a field with the given key and value.\nfunc Uint16(key string, val uint16) Field {\n\treturn Field{Key: key, Type: zapcore.Uint16Type, Integer: int64(val)}\n}\n\n// Uint8 constructs a field with the given key and value.\nfunc Uint8(key string, val uint8) Field {\n\treturn Field{Key: key, Type: zapcore.Uint8Type, Integer: int64(val)}\n}\n\n// Uintptr constructs a field with the given key and value.\nfunc Uintptr(key string, val uintptr) Field {\n\treturn Field{Key: key, Type: zapcore.UintptrType, Integer: int64(val)}\n}\n\n// Reflect constructs a field with the given key and an arbitrary object. It uses\n// an encoding-appropriate, reflection-based function to lazily serialize nearly\n// any object into the logging context, but it's relatively slow and\n// allocation-heavy. Outside tests, Any is always a better choice.\n//\n// If encoding fails (e.g., trying to serialize a map[int]string to JSON), Reflect\n// includes the error message in the final log output.\nfunc Reflect(key string, val interface{}) Field {\n\treturn Field{Key: key, Type: zapcore.ReflectType, Interface: val}\n}\n\n// Namespace creates a named, isolated scope within the logger's context. All\n// subsequent fields will be added to the new namespace.\n//\n// This helps prevent key collisions when injecting loggers into sub-components\n// or third-party libraries.\nfunc Namespace(key string) Field {\n\treturn Field{Key: key, Type: zapcore.NamespaceType}\n}\n\n// Stringer constructs a field with the given key and the output of the value's\n// String method. The Stringer's String method is called lazily.\nfunc Stringer(key string, val fmt.Stringer) Field {\n\treturn Field{Key: key, Type: zapcore.StringerType, Interface: val}\n}\n\n// Time constructs a Field with the given key and value. The encoder\n// controls how the time is serialized.\nfunc Time(key string, val time.Time) Field {\n\treturn Field{Key: key, Type: zapcore.TimeType, Integer: val.UnixNano(), Interface: val.Location()}\n}\n\n// Stack constructs a field that stores a stacktrace of the current goroutine\n// under provided key. Keep in mind that taking a stacktrace is eager and\n// expensive (relatively speaking); this function both makes an allocation and\n// takes about two microseconds.\nfunc Stack(key string) Field {\n\t// Returning the stacktrace as a string costs an allocation, but saves us\n\t// from expanding the zapcore.Field union struct to include a byte slice. Since\n\t// taking a stacktrace is already so expensive (~10us), the extra allocation\n\t// is okay.\n\treturn String(key, takeStacktrace())\n}\n\n// Duration constructs a field with the given key and value. The encoder\n// controls how the duration is serialized.\nfunc Duration(key string, val time.Duration) Field {\n\treturn Field{Key: key, Type: zapcore.DurationType, Integer: int64(val)}\n}\n\n// Object constructs a field with the given key and ObjectMarshaler. It\n// provides a flexible, but still type-safe and efficient, way to add map- or\n// struct-like user-defined types to the logging context. The struct's\n// MarshalLogObject method is called lazily.\nfunc Object(key string, val zapcore.ObjectMarshaler) Field {\n\treturn Field{Key: key, Type: zapcore.ObjectMarshalerType, Interface: val}\n}\n\n// Any takes a key and an arbitrary value and chooses the best way to represent\n// them as a field, falling back to a reflection-based approach only if\n// necessary.\n//\n// Since byte/uint8 and rune/int32 are aliases, Any can't differentiate between\n// them. To minimize surprises, []byte values are treated as binary blobs, byte\n// values are treated as uint8, and runes are always treated as integers.\nfunc Any(key string, value interface{}) Field {\n\tswitch val := value.(type) {\n\tcase zapcore.ObjectMarshaler:\n\t\treturn Object(key, val)\n\tcase zapcore.ArrayMarshaler:\n\t\treturn Array(key, val)\n\tcase bool:\n\t\treturn Bool(key, val)\n\tcase []bool:\n\t\treturn Bools(key, val)\n\tcase complex128:\n\t\treturn Complex128(key, val)\n\tcase []complex128:\n\t\treturn Complex128s(key, val)\n\tcase complex64:\n\t\treturn Complex64(key, val)\n\tcase []complex64:\n\t\treturn Complex64s(key, val)\n\tcase float64:\n\t\treturn Float64(key, val)\n\tcase []float64:\n\t\treturn Float64s(key, val)\n\tcase float32:\n\t\treturn Float32(key, val)\n\tcase []float32:\n\t\treturn Float32s(key, val)\n\tcase int:\n\t\treturn Int(key, val)\n\tcase []int:\n\t\treturn Ints(key, val)\n\tcase int64:\n\t\treturn Int64(key, val)\n\tcase []int64:\n\t\treturn Int64s(key, val)\n\tcase int32:\n\t\treturn Int32(key, val)\n\tcase []int32:\n\t\treturn Int32s(key, val)\n\tcase int16:\n\t\treturn Int16(key, val)\n\tcase []int16:\n\t\treturn Int16s(key, val)\n\tcase int8:\n\t\treturn Int8(key, val)\n\tcase []int8:\n\t\treturn Int8s(key, val)\n\tcase string:\n\t\treturn String(key, val)\n\tcase []string:\n\t\treturn Strings(key, val)\n\tcase uint:\n\t\treturn Uint(key, val)\n\tcase []uint:\n\t\treturn Uints(key, val)\n\tcase uint64:\n\t\treturn Uint64(key, val)\n\tcase []uint64:\n\t\treturn Uint64s(key, val)\n\tcase uint32:\n\t\treturn Uint32(key, val)\n\tcase []uint32:\n\t\treturn Uint32s(key, val)\n\tcase uint16:\n\t\treturn Uint16(key, val)\n\tcase []uint16:\n\t\treturn Uint16s(key, val)\n\tcase uint8:\n\t\treturn Uint8(key, val)\n\tcase []byte:\n\t\treturn Binary(key, val)\n\tcase uintptr:\n\t\treturn Uintptr(key, val)\n\tcase []uintptr:\n\t\treturn Uintptrs(key, val)\n\tcase time.Time:\n\t\treturn Time(key, val)\n\tcase []time.Time:\n\t\treturn Times(key, val)\n\tcase time.Duration:\n\t\treturn Duration(key, val)\n\tcase []time.Duration:\n\t\treturn Durations(key, val)\n\tcase error:\n\t\treturn NamedError(key, val)\n\tcase []error:\n\t\treturn Errors(key, val)\n\tcase fmt.Stringer:\n\t\treturn Stringer(key, val)\n\tdefault:\n\t\treturn Reflect(key, val)\n\t}\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/flag.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"flag\"\n\n\t\"go.uber.org/zap/zapcore\"\n)\n\n// LevelFlag uses the standard library's flag.Var to declare a global flag\n// with the specified name, default, and usage guidance. The returned value is\n// a pointer to the value of the flag.\n//\n// If you don't want to use the flag package's global state, you can use any\n// non-nil *Level as a flag.Value with your own *flag.FlagSet.\nfunc LevelFlag(name string, defaultLevel zapcore.Level, usage string) *zapcore.Level {\n\tlvl := defaultLevel\n\tflag.Var(&lvl, name, usage)\n\treturn &lvl\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/global.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"log\"\n\t\"os\"\n\t\"sync\"\n\n\t\"go.uber.org/zap/zapcore\"\n)\n\nconst (\n\t_stdLogDefaultDepth      = 2\n\t_loggerWriterDepth       = 2\n\t_programmerErrorTemplate = \"You've found a bug in zap! Please file a bug at \" +\n\t\t\"https://github.com/uber-go/zap/issues/new and reference this error: %v\"\n)\n\nvar (\n\t_globalMu sync.RWMutex\n\t_globalL  = NewNop()\n\t_globalS  = _globalL.Sugar()\n)\n\n// L returns the global Logger, which can be reconfigured with ReplaceGlobals.\n// It's safe for concurrent use.\nfunc L() *Logger {\n\t_globalMu.RLock()\n\tl := _globalL\n\t_globalMu.RUnlock()\n\treturn l\n}\n\n// S returns the global SugaredLogger, which can be reconfigured with\n// ReplaceGlobals. It's safe for concurrent use.\nfunc S() *SugaredLogger {\n\t_globalMu.RLock()\n\ts := _globalS\n\t_globalMu.RUnlock()\n\treturn s\n}\n\n// ReplaceGlobals replaces the global Logger and SugaredLogger, and returns a\n// function to restore the original values. It's safe for concurrent use.\nfunc ReplaceGlobals(logger *Logger) func() {\n\t_globalMu.Lock()\n\tprev := _globalL\n\t_globalL = logger\n\t_globalS = logger.Sugar()\n\t_globalMu.Unlock()\n\treturn func() { ReplaceGlobals(prev) }\n}\n\n// NewStdLog returns a *log.Logger which writes to the supplied zap Logger at\n// InfoLevel. To redirect the standard library's package-global logging\n// functions, use RedirectStdLog instead.\nfunc NewStdLog(l *Logger) *log.Logger {\n\tlogger := l.WithOptions(AddCallerSkip(_stdLogDefaultDepth + _loggerWriterDepth))\n\tf := logger.Info\n\treturn log.New(&loggerWriter{f}, \"\" /* prefix */, 0 /* flags */)\n}\n\n// NewStdLogAt returns *log.Logger which writes to supplied zap logger at\n// required level.\nfunc NewStdLogAt(l *Logger, level zapcore.Level) (*log.Logger, error) {\n\tlogger := l.WithOptions(AddCallerSkip(_stdLogDefaultDepth + _loggerWriterDepth))\n\tlogFunc, err := levelToFunc(logger, level)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn log.New(&loggerWriter{logFunc}, \"\" /* prefix */, 0 /* flags */), nil\n}\n\n// RedirectStdLog redirects output from the standard library's package-global\n// logger to the supplied logger at InfoLevel. Since zap already handles caller\n// annotations, timestamps, etc., it automatically disables the standard\n// library's annotations and prefixing.\n//\n// It returns a function to restore the original prefix and flags and reset the\n// standard library's output to os.Stderr.\nfunc RedirectStdLog(l *Logger) func() {\n\tf, err := redirectStdLogAt(l, InfoLevel)\n\tif err != nil {\n\t\t// Can't get here, since passing InfoLevel to redirectStdLogAt always\n\t\t// works.\n\t\tpanic(fmt.Sprintf(_programmerErrorTemplate, err))\n\t}\n\treturn f\n}\n\n// RedirectStdLogAt redirects output from the standard library's package-global\n// logger to the supplied logger at the specified level. Since zap already\n// handles caller annotations, timestamps, etc., it automatically disables the\n// standard library's annotations and prefixing.\n//\n// It returns a function to restore the original prefix and flags and reset the\n// standard library's output to os.Stderr.\nfunc RedirectStdLogAt(l *Logger, level zapcore.Level) (func(), error) {\n\treturn redirectStdLogAt(l, level)\n}\n\nfunc redirectStdLogAt(l *Logger, level zapcore.Level) (func(), error) {\n\tflags := log.Flags()\n\tprefix := log.Prefix()\n\tlog.SetFlags(0)\n\tlog.SetPrefix(\"\")\n\tlogger := l.WithOptions(AddCallerSkip(_stdLogDefaultDepth + _loggerWriterDepth))\n\tlogFunc, err := levelToFunc(logger, level)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tlog.SetOutput(&loggerWriter{logFunc})\n\treturn func() {\n\t\tlog.SetFlags(flags)\n\t\tlog.SetPrefix(prefix)\n\t\tlog.SetOutput(os.Stderr)\n\t}, nil\n}\n\nfunc levelToFunc(logger *Logger, lvl zapcore.Level) (func(string, ...Field), error) {\n\tswitch lvl {\n\tcase DebugLevel:\n\t\treturn logger.Debug, nil\n\tcase InfoLevel:\n\t\treturn logger.Info, nil\n\tcase WarnLevel:\n\t\treturn logger.Warn, nil\n\tcase ErrorLevel:\n\t\treturn logger.Error, nil\n\tcase DPanicLevel:\n\t\treturn logger.DPanic, nil\n\tcase PanicLevel:\n\t\treturn logger.Panic, nil\n\tcase FatalLevel:\n\t\treturn logger.Fatal, nil\n\t}\n\treturn nil, fmt.Errorf(\"unrecognized level: %q\", lvl)\n}\n\ntype loggerWriter struct {\n\tlogFunc func(msg string, fields ...Field)\n}\n\nfunc (l *loggerWriter) Write(p []byte) (int, error) {\n\tp = bytes.TrimSpace(p)\n\tl.logFunc(string(p))\n\treturn len(p), nil\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/http_handler.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"net/http\"\n\n\t\"go.uber.org/zap/zapcore\"\n)\n\n// ServeHTTP is a simple JSON endpoint that can report on or change the current\n// logging level.\n//\n// GET requests return a JSON description of the current logging level. PUT\n// requests change the logging level and expect a payload like:\n//   {\"level\":\"info\"}\n//\n// It's perfectly safe to change the logging level while a program is running.\nfunc (lvl AtomicLevel) ServeHTTP(w http.ResponseWriter, r *http.Request) {\n\ttype errorResponse struct {\n\t\tError string `json:\"error\"`\n\t}\n\ttype payload struct {\n\t\tLevel *zapcore.Level `json:\"level\"`\n\t}\n\n\tenc := json.NewEncoder(w)\n\n\tswitch r.Method {\n\n\tcase \"GET\":\n\t\tcurrent := lvl.Level()\n\t\tenc.Encode(payload{Level: &current})\n\n\tcase \"PUT\":\n\t\tvar req payload\n\n\t\tif errmess := func() string {\n\t\t\tif err := json.NewDecoder(r.Body).Decode(&req); err != nil {\n\t\t\t\treturn fmt.Sprintf(\"Request body must be well-formed JSON: %v\", err)\n\t\t\t}\n\t\t\tif req.Level == nil {\n\t\t\t\treturn \"Must specify a logging level.\"\n\t\t\t}\n\t\t\treturn \"\"\n\t\t}(); errmess != \"\" {\n\t\t\tw.WriteHeader(http.StatusBadRequest)\n\t\t\tenc.Encode(errorResponse{Error: errmess})\n\t\t\treturn\n\t\t}\n\n\t\tlvl.SetLevel(*req.Level)\n\t\tenc.Encode(req)\n\n\tdefault:\n\t\tw.WriteHeader(http.StatusMethodNotAllowed)\n\t\tenc.Encode(errorResponse{\n\t\t\tError: \"Only GET and PUT are supported.\",\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/internal/bufferpool/bufferpool.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package bufferpool houses zap's shared internal buffer pool. Third-party\n// packages can recreate the same functionality with buffers.NewPool.\npackage bufferpool\n\nimport \"go.uber.org/zap/buffer\"\n\nvar (\n\t_pool = buffer.NewPool()\n\t// Get retrieves a buffer from the pool, creating one if necessary.\n\tGet = _pool.Get\n)\n"
  },
  {
    "path": "vendor/go.uber.org/zap/internal/color/color.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package color adds coloring functionality for TTY output.\npackage color\n\nimport \"fmt\"\n\n// Foreground colors.\nconst (\n\tBlack Color = iota + 30\n\tRed\n\tGreen\n\tYellow\n\tBlue\n\tMagenta\n\tCyan\n\tWhite\n)\n\n// Color represents a text color.\ntype Color uint8\n\n// Add adds the coloring to the given string.\nfunc (c Color) Add(s string) string {\n\treturn fmt.Sprintf(\"\\x1b[%dm%s\\x1b[0m\", uint8(c), s)\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/internal/exit/exit.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package exit provides stubs so that unit tests can exercise code that calls\n// os.Exit(1).\npackage exit\n\nimport \"os\"\n\nvar real = func() { os.Exit(1) }\n\n// Exit normally terminates the process by calling os.Exit(1). If the package\n// is stubbed, it instead records a call in the testing spy.\nfunc Exit() {\n\treal()\n}\n\n// A StubbedExit is a testing fake for os.Exit.\ntype StubbedExit struct {\n\tExited bool\n\tprev   func()\n}\n\n// Stub substitutes a fake for the call to os.Exit(1).\nfunc Stub() *StubbedExit {\n\ts := &StubbedExit{prev: real}\n\treal = s.exit\n\treturn s\n}\n\n// WithStub runs the supplied function with Exit stubbed. It returns the stub\n// used, so that users can test whether the process would have crashed.\nfunc WithStub(f func()) *StubbedExit {\n\ts := Stub()\n\tdefer s.Unstub()\n\tf()\n\treturn s\n}\n\n// Unstub restores the previous exit function.\nfunc (se *StubbedExit) Unstub() {\n\treal = se.prev\n}\n\nfunc (se *StubbedExit) exit() {\n\tse.Exited = true\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/level.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"go.uber.org/atomic\"\n\t\"go.uber.org/zap/zapcore\"\n)\n\nconst (\n\t// DebugLevel logs are typically voluminous, and are usually disabled in\n\t// production.\n\tDebugLevel = zapcore.DebugLevel\n\t// InfoLevel is the default logging priority.\n\tInfoLevel = zapcore.InfoLevel\n\t// WarnLevel logs are more important than Info, but don't need individual\n\t// human review.\n\tWarnLevel = zapcore.WarnLevel\n\t// ErrorLevel logs are high-priority. If an application is running smoothly,\n\t// it shouldn't generate any error-level logs.\n\tErrorLevel = zapcore.ErrorLevel\n\t// DPanicLevel logs are particularly important errors. In development the\n\t// logger panics after writing the message.\n\tDPanicLevel = zapcore.DPanicLevel\n\t// PanicLevel logs a message, then panics.\n\tPanicLevel = zapcore.PanicLevel\n\t// FatalLevel logs a message, then calls os.Exit(1).\n\tFatalLevel = zapcore.FatalLevel\n)\n\n// LevelEnablerFunc is a convenient way to implement zapcore.LevelEnabler with\n// an anonymous function.\n//\n// It's particularly useful when splitting log output between different\n// outputs (e.g., standard error and standard out). For sample code, see the\n// package-level AdvancedConfiguration example.\ntype LevelEnablerFunc func(zapcore.Level) bool\n\n// Enabled calls the wrapped function.\nfunc (f LevelEnablerFunc) Enabled(lvl zapcore.Level) bool { return f(lvl) }\n\n// An AtomicLevel is an atomically changeable, dynamic logging level. It lets\n// you safely change the log level of a tree of loggers (the root logger and\n// any children created by adding context) at runtime.\n//\n// The AtomicLevel itself is an http.Handler that serves a JSON endpoint to\n// alter its level.\n//\n// AtomicLevels must be created with the NewAtomicLevel constructor to allocate\n// their internal atomic pointer.\ntype AtomicLevel struct {\n\tl *atomic.Int32\n}\n\n// NewAtomicLevel creates an AtomicLevel with InfoLevel and above logging\n// enabled.\nfunc NewAtomicLevel() AtomicLevel {\n\treturn AtomicLevel{\n\t\tl: atomic.NewInt32(int32(InfoLevel)),\n\t}\n}\n\n// NewAtomicLevelAt is a convenience function that creates an AtomicLevel\n// and then calls SetLevel with the given level.\nfunc NewAtomicLevelAt(l zapcore.Level) AtomicLevel {\n\ta := NewAtomicLevel()\n\ta.SetLevel(l)\n\treturn a\n}\n\n// Enabled implements the zapcore.LevelEnabler interface, which allows the\n// AtomicLevel to be used in place of traditional static levels.\nfunc (lvl AtomicLevel) Enabled(l zapcore.Level) bool {\n\treturn lvl.Level().Enabled(l)\n}\n\n// Level returns the minimum enabled log level.\nfunc (lvl AtomicLevel) Level() zapcore.Level {\n\treturn zapcore.Level(int8(lvl.l.Load()))\n}\n\n// SetLevel alters the logging level.\nfunc (lvl AtomicLevel) SetLevel(l zapcore.Level) {\n\tlvl.l.Store(int32(l))\n}\n\n// String returns the string representation of the underlying Level.\nfunc (lvl AtomicLevel) String() string {\n\treturn lvl.Level().String()\n}\n\n// UnmarshalText unmarshals the text to an AtomicLevel. It uses the same text\n// representations as the static zapcore.Levels (\"debug\", \"info\", \"warn\",\n// \"error\", \"dpanic\", \"panic\", and \"fatal\").\nfunc (lvl *AtomicLevel) UnmarshalText(text []byte) error {\n\tif lvl.l == nil {\n\t\tlvl.l = &atomic.Int32{}\n\t}\n\n\tvar l zapcore.Level\n\tif err := l.UnmarshalText(text); err != nil {\n\t\treturn err\n\t}\n\n\tlvl.SetLevel(l)\n\treturn nil\n}\n\n// MarshalText marshals the AtomicLevel to a byte slice. It uses the same\n// text representation as the static zapcore.Levels (\"debug\", \"info\", \"warn\",\n// \"error\", \"dpanic\", \"panic\", and \"fatal\").\nfunc (lvl AtomicLevel) MarshalText() (text []byte, err error) {\n\treturn lvl.Level().MarshalText()\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/logger.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"os\"\n\t\"runtime\"\n\t\"strings\"\n\t\"time\"\n\n\t\"go.uber.org/zap/zapcore\"\n)\n\n// A Logger provides fast, leveled, structured logging. All methods are safe\n// for concurrent use.\n//\n// The Logger is designed for contexts in which every microsecond and every\n// allocation matters, so its API intentionally favors performance and type\n// safety over brevity. For most applications, the SugaredLogger strikes a\n// better balance between performance and ergonomics.\ntype Logger struct {\n\tcore zapcore.Core\n\n\tdevelopment bool\n\tname        string\n\terrorOutput zapcore.WriteSyncer\n\n\taddCaller bool\n\taddStack  zapcore.LevelEnabler\n\n\tcallerSkip int\n}\n\n// New constructs a new Logger from the provided zapcore.Core and Options. If\n// the passed zapcore.Core is nil, it falls back to using a no-op\n// implementation.\n//\n// This is the most flexible way to construct a Logger, but also the most\n// verbose. For typical use cases, the highly-opinionated presets\n// (NewProduction, NewDevelopment, and NewExample) or the Config struct are\n// more convenient.\n//\n// For sample code, see the package-level AdvancedConfiguration example.\nfunc New(core zapcore.Core, options ...Option) *Logger {\n\tif core == nil {\n\t\treturn NewNop()\n\t}\n\tlog := &Logger{\n\t\tcore:        core,\n\t\terrorOutput: zapcore.Lock(os.Stderr),\n\t\taddStack:    zapcore.FatalLevel + 1,\n\t}\n\treturn log.WithOptions(options...)\n}\n\n// NewNop returns a no-op Logger. It never writes out logs or internal errors,\n// and it never runs user-defined hooks.\n//\n// Using WithOptions to replace the Core or error output of a no-op Logger can\n// re-enable logging.\nfunc NewNop() *Logger {\n\treturn &Logger{\n\t\tcore:        zapcore.NewNopCore(),\n\t\terrorOutput: zapcore.AddSync(ioutil.Discard),\n\t\taddStack:    zapcore.FatalLevel + 1,\n\t}\n}\n\n// NewProduction builds a sensible production Logger that writes InfoLevel and\n// above logs to standard error as JSON.\n//\n// It's a shortcut for NewProductionConfig().Build(...Option).\nfunc NewProduction(options ...Option) (*Logger, error) {\n\treturn NewProductionConfig().Build(options...)\n}\n\n// NewDevelopment builds a development Logger that writes DebugLevel and above\n// logs to standard error in a human-friendly format.\n//\n// It's a shortcut for NewDevelopmentConfig().Build(...Option).\nfunc NewDevelopment(options ...Option) (*Logger, error) {\n\treturn NewDevelopmentConfig().Build(options...)\n}\n\n// NewExample builds a Logger that's designed for use in zap's testable\n// examples. It writes DebugLevel and above logs to standard out as JSON, but\n// omits the timestamp and calling function to keep example output\n// short and deterministic.\nfunc NewExample(options ...Option) *Logger {\n\tencoderCfg := zapcore.EncoderConfig{\n\t\tMessageKey:     \"msg\",\n\t\tLevelKey:       \"level\",\n\t\tNameKey:        \"logger\",\n\t\tEncodeLevel:    zapcore.LowercaseLevelEncoder,\n\t\tEncodeTime:     zapcore.ISO8601TimeEncoder,\n\t\tEncodeDuration: zapcore.StringDurationEncoder,\n\t}\n\tcore := zapcore.NewCore(zapcore.NewJSONEncoder(encoderCfg), os.Stdout, DebugLevel)\n\treturn New(core).WithOptions(options...)\n}\n\n// Sugar wraps the Logger to provide a more ergonomic, but slightly slower,\n// API. Sugaring a Logger is quite inexpensive, so it's reasonable for a\n// single application to use both Loggers and SugaredLoggers, converting\n// between them on the boundaries of performance-sensitive code.\nfunc (log *Logger) Sugar() *SugaredLogger {\n\tcore := log.clone()\n\tcore.callerSkip += 2\n\treturn &SugaredLogger{core}\n}\n\n// Named adds a new path segment to the logger's name. Segments are joined by\n// periods. By default, Loggers are unnamed.\nfunc (log *Logger) Named(s string) *Logger {\n\tif s == \"\" {\n\t\treturn log\n\t}\n\tl := log.clone()\n\tif log.name == \"\" {\n\t\tl.name = s\n\t} else {\n\t\tl.name = strings.Join([]string{l.name, s}, \".\")\n\t}\n\treturn l\n}\n\n// WithOptions clones the current Logger, applies the supplied Options, and\n// returns the resulting Logger. It's safe to use concurrently.\nfunc (log *Logger) WithOptions(opts ...Option) *Logger {\n\tc := log.clone()\n\tfor _, opt := range opts {\n\t\topt.apply(c)\n\t}\n\treturn c\n}\n\n// With creates a child logger and adds structured context to it. Fields added\n// to the child don't affect the parent, and vice versa.\nfunc (log *Logger) With(fields ...Field) *Logger {\n\tif len(fields) == 0 {\n\t\treturn log\n\t}\n\tl := log.clone()\n\tl.core = l.core.With(fields)\n\treturn l\n}\n\n// Check returns a CheckedEntry if logging a message at the specified level\n// is enabled. It's a completely optional optimization; in high-performance\n// applications, Check can help avoid allocating a slice to hold fields.\nfunc (log *Logger) Check(lvl zapcore.Level, msg string) *zapcore.CheckedEntry {\n\treturn log.check(lvl, msg)\n}\n\n// Debug logs a message at DebugLevel. The message includes any fields passed\n// at the log site, as well as any fields accumulated on the logger.\nfunc (log *Logger) Debug(msg string, fields ...Field) {\n\tif ce := log.check(DebugLevel, msg); ce != nil {\n\t\tce.Write(fields...)\n\t}\n}\n\n// Info logs a message at InfoLevel. The message includes any fields passed\n// at the log site, as well as any fields accumulated on the logger.\nfunc (log *Logger) Info(msg string, fields ...Field) {\n\tif ce := log.check(InfoLevel, msg); ce != nil {\n\t\tce.Write(fields...)\n\t}\n}\n\n// Warn logs a message at WarnLevel. The message includes any fields passed\n// at the log site, as well as any fields accumulated on the logger.\nfunc (log *Logger) Warn(msg string, fields ...Field) {\n\tif ce := log.check(WarnLevel, msg); ce != nil {\n\t\tce.Write(fields...)\n\t}\n}\n\n// Error logs a message at ErrorLevel. The message includes any fields passed\n// at the log site, as well as any fields accumulated on the logger.\nfunc (log *Logger) Error(msg string, fields ...Field) {\n\tif ce := log.check(ErrorLevel, msg); ce != nil {\n\t\tce.Write(fields...)\n\t}\n}\n\n// DPanic logs a message at DPanicLevel. The message includes any fields\n// passed at the log site, as well as any fields accumulated on the logger.\n//\n// If the logger is in development mode, it then panics (DPanic means\n// \"development panic\"). This is useful for catching errors that are\n// recoverable, but shouldn't ever happen.\nfunc (log *Logger) DPanic(msg string, fields ...Field) {\n\tif ce := log.check(DPanicLevel, msg); ce != nil {\n\t\tce.Write(fields...)\n\t}\n}\n\n// Panic logs a message at PanicLevel. The message includes any fields passed\n// at the log site, as well as any fields accumulated on the logger.\n//\n// The logger then panics, even if logging at PanicLevel is disabled.\nfunc (log *Logger) Panic(msg string, fields ...Field) {\n\tif ce := log.check(PanicLevel, msg); ce != nil {\n\t\tce.Write(fields...)\n\t}\n}\n\n// Fatal logs a message at FatalLevel. The message includes any fields passed\n// at the log site, as well as any fields accumulated on the logger.\n//\n// The logger then calls os.Exit(1), even if logging at FatalLevel is\n// disabled.\nfunc (log *Logger) Fatal(msg string, fields ...Field) {\n\tif ce := log.check(FatalLevel, msg); ce != nil {\n\t\tce.Write(fields...)\n\t}\n}\n\n// Sync calls the underlying Core's Sync method, flushing any buffered log\n// entries. Applications should take care to call Sync before exiting.\nfunc (log *Logger) Sync() error {\n\treturn log.core.Sync()\n}\n\n// Core returns the Logger's underlying zapcore.Core.\nfunc (log *Logger) Core() zapcore.Core {\n\treturn log.core\n}\n\nfunc (log *Logger) clone() *Logger {\n\tcopy := *log\n\treturn &copy\n}\n\nfunc (log *Logger) check(lvl zapcore.Level, msg string) *zapcore.CheckedEntry {\n\t// check must always be called directly by a method in the Logger interface\n\t// (e.g., Check, Info, Fatal).\n\tconst callerSkipOffset = 2\n\n\t// Create basic checked entry thru the core; this will be non-nil if the\n\t// log message will actually be written somewhere.\n\tent := zapcore.Entry{\n\t\tLoggerName: log.name,\n\t\tTime:       time.Now(),\n\t\tLevel:      lvl,\n\t\tMessage:    msg,\n\t}\n\tce := log.core.Check(ent, nil)\n\twillWrite := ce != nil\n\n\t// Set up any required terminal behavior.\n\tswitch ent.Level {\n\tcase zapcore.PanicLevel:\n\t\tce = ce.Should(ent, zapcore.WriteThenPanic)\n\tcase zapcore.FatalLevel:\n\t\tce = ce.Should(ent, zapcore.WriteThenFatal)\n\tcase zapcore.DPanicLevel:\n\t\tif log.development {\n\t\t\tce = ce.Should(ent, zapcore.WriteThenPanic)\n\t\t}\n\t}\n\n\t// Only do further annotation if we're going to write this message; checked\n\t// entries that exist only for terminal behavior don't benefit from\n\t// annotation.\n\tif !willWrite {\n\t\treturn ce\n\t}\n\n\t// Thread the error output through to the CheckedEntry.\n\tce.ErrorOutput = log.errorOutput\n\tif log.addCaller {\n\t\tce.Entry.Caller = zapcore.NewEntryCaller(runtime.Caller(log.callerSkip + callerSkipOffset))\n\t\tif !ce.Entry.Caller.Defined {\n\t\t\tfmt.Fprintf(log.errorOutput, \"%v Logger.check error: failed to get caller\\n\", time.Now().UTC())\n\t\t\tlog.errorOutput.Sync()\n\t\t}\n\t}\n\tif log.addStack.Enabled(ce.Entry.Level) {\n\t\tce.Entry.Stack = Stack(\"\").String\n\t}\n\n\treturn ce\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/options.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport \"go.uber.org/zap/zapcore\"\n\n// An Option configures a Logger.\ntype Option interface {\n\tapply(*Logger)\n}\n\n// optionFunc wraps a func so it satisfies the Option interface.\ntype optionFunc func(*Logger)\n\nfunc (f optionFunc) apply(log *Logger) {\n\tf(log)\n}\n\n// WrapCore wraps or replaces the Logger's underlying zapcore.Core.\nfunc WrapCore(f func(zapcore.Core) zapcore.Core) Option {\n\treturn optionFunc(func(log *Logger) {\n\t\tlog.core = f(log.core)\n\t})\n}\n\n// Hooks registers functions which will be called each time the Logger writes\n// out an Entry. Repeated use of Hooks is additive.\n//\n// Hooks are useful for simple side effects, like capturing metrics for the\n// number of emitted logs. More complex side effects, including anything that\n// requires access to the Entry's structured fields, should be implemented as\n// a zapcore.Core instead. See zapcore.RegisterHooks for details.\nfunc Hooks(hooks ...func(zapcore.Entry) error) Option {\n\treturn optionFunc(func(log *Logger) {\n\t\tlog.core = zapcore.RegisterHooks(log.core, hooks...)\n\t})\n}\n\n// Fields adds fields to the Logger.\nfunc Fields(fs ...Field) Option {\n\treturn optionFunc(func(log *Logger) {\n\t\tlog.core = log.core.With(fs)\n\t})\n}\n\n// ErrorOutput sets the destination for errors generated by the Logger. Note\n// that this option only affects internal errors; for sample code that sends\n// error-level logs to a different location from info- and debug-level logs,\n// see the package-level AdvancedConfiguration example.\n//\n// The supplied WriteSyncer must be safe for concurrent use. The Open and\n// zapcore.Lock functions are the simplest ways to protect files with a mutex.\nfunc ErrorOutput(w zapcore.WriteSyncer) Option {\n\treturn optionFunc(func(log *Logger) {\n\t\tlog.errorOutput = w\n\t})\n}\n\n// Development puts the logger in development mode, which makes DPanic-level\n// logs panic instead of simply logging an error.\nfunc Development() Option {\n\treturn optionFunc(func(log *Logger) {\n\t\tlog.development = true\n\t})\n}\n\n// AddCaller configures the Logger to annotate each message with the filename\n// and line number of zap's caller.\nfunc AddCaller() Option {\n\treturn optionFunc(func(log *Logger) {\n\t\tlog.addCaller = true\n\t})\n}\n\n// AddCallerSkip increases the number of callers skipped by caller annotation\n// (as enabled by the AddCaller option). When building wrappers around the\n// Logger and SugaredLogger, supplying this Option prevents zap from always\n// reporting the wrapper code as the caller.\nfunc AddCallerSkip(skip int) Option {\n\treturn optionFunc(func(log *Logger) {\n\t\tlog.callerSkip += skip\n\t})\n}\n\n// AddStacktrace configures the Logger to record a stack trace for all messages at\n// or above a given level.\nfunc AddStacktrace(lvl zapcore.LevelEnabler) Option {\n\treturn optionFunc(func(log *Logger) {\n\t\tlog.addStack = lvl\n\t})\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/stacktrace.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"runtime\"\n\t\"strings\"\n\t\"sync\"\n\n\t\"go.uber.org/zap/internal/bufferpool\"\n)\n\nconst _zapPackage = \"go.uber.org/zap\"\n\nvar (\n\t_stacktracePool = sync.Pool{\n\t\tNew: func() interface{} {\n\t\t\treturn newProgramCounters(64)\n\t\t},\n\t}\n\n\t// We add \".\" and \"/\" suffixes to the package name to ensure we only match\n\t// the exact package and not any package with the same prefix.\n\t_zapStacktracePrefixes       = addPrefix(_zapPackage, \".\", \"/\")\n\t_zapStacktraceVendorContains = addPrefix(\"/vendor/\", _zapStacktracePrefixes...)\n)\n\nfunc takeStacktrace() string {\n\tbuffer := bufferpool.Get()\n\tdefer buffer.Free()\n\tprogramCounters := _stacktracePool.Get().(*programCounters)\n\tdefer _stacktracePool.Put(programCounters)\n\n\tvar numFrames int\n\tfor {\n\t\t// Skip the call to runtime.Counters and takeStacktrace so that the\n\t\t// program counters start at the caller of takeStacktrace.\n\t\tnumFrames = runtime.Callers(2, programCounters.pcs)\n\t\tif numFrames < len(programCounters.pcs) {\n\t\t\tbreak\n\t\t}\n\t\t// Don't put the too-short counter slice back into the pool; this lets\n\t\t// the pool adjust if we consistently take deep stacktraces.\n\t\tprogramCounters = newProgramCounters(len(programCounters.pcs) * 2)\n\t}\n\n\ti := 0\n\tskipZapFrames := true // skip all consecutive zap frames at the beginning.\n\tframes := runtime.CallersFrames(programCounters.pcs[:numFrames])\n\n\t// Note: On the last iteration, frames.Next() returns false, with a valid\n\t// frame, but we ignore this frame. The last frame is a a runtime frame which\n\t// adds noise, since it's only either runtime.main or runtime.goexit.\n\tfor frame, more := frames.Next(); more; frame, more = frames.Next() {\n\t\tif skipZapFrames && isZapFrame(frame.Function) {\n\t\t\tcontinue\n\t\t} else {\n\t\t\tskipZapFrames = false\n\t\t}\n\n\t\tif i != 0 {\n\t\t\tbuffer.AppendByte('\\n')\n\t\t}\n\t\ti++\n\t\tbuffer.AppendString(frame.Function)\n\t\tbuffer.AppendByte('\\n')\n\t\tbuffer.AppendByte('\\t')\n\t\tbuffer.AppendString(frame.File)\n\t\tbuffer.AppendByte(':')\n\t\tbuffer.AppendInt(int64(frame.Line))\n\t}\n\n\treturn buffer.String()\n}\n\nfunc isZapFrame(function string) bool {\n\tfor _, prefix := range _zapStacktracePrefixes {\n\t\tif strings.HasPrefix(function, prefix) {\n\t\t\treturn true\n\t\t}\n\t}\n\n\t// We can't use a prefix match here since the location of the vendor\n\t// directory affects the prefix. Instead we do a contains match.\n\tfor _, contains := range _zapStacktraceVendorContains {\n\t\tif strings.Contains(function, contains) {\n\t\t\treturn true\n\t\t}\n\t}\n\n\treturn false\n}\n\ntype programCounters struct {\n\tpcs []uintptr\n}\n\nfunc newProgramCounters(size int) *programCounters {\n\treturn &programCounters{make([]uintptr, size)}\n}\n\nfunc addPrefix(prefix string, ss ...string) []string {\n\twithPrefix := make([]string, len(ss))\n\tfor i, s := range ss {\n\t\twithPrefix[i] = prefix + s\n\t}\n\treturn withPrefix\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/sugar.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"fmt\"\n\n\t\"go.uber.org/zap/zapcore\"\n\n\t\"go.uber.org/multierr\"\n)\n\nconst (\n\t_oddNumberErrMsg    = \"Ignored key without a value.\"\n\t_nonStringKeyErrMsg = \"Ignored key-value pairs with non-string keys.\"\n)\n\n// A SugaredLogger wraps the base Logger functionality in a slower, but less\n// verbose, API. Any Logger can be converted to a SugaredLogger with its Sugar\n// method.\n//\n// Unlike the Logger, the SugaredLogger doesn't insist on structured logging.\n// For each log level, it exposes three methods: one for loosely-typed\n// structured logging, one for println-style formatting, and one for\n// printf-style formatting. For example, SugaredLoggers can produce InfoLevel\n// output with Infow (\"info with\" structured context), Info, or Infof.\ntype SugaredLogger struct {\n\tbase *Logger\n}\n\n// Desugar unwraps a SugaredLogger, exposing the original Logger. Desugaring\n// is quite inexpensive, so it's reasonable for a single application to use\n// both Loggers and SugaredLoggers, converting between them on the boundaries\n// of performance-sensitive code.\nfunc (s *SugaredLogger) Desugar() *Logger {\n\tbase := s.base.clone()\n\tbase.callerSkip -= 2\n\treturn base\n}\n\n// Named adds a sub-scope to the logger's name. See Logger.Named for details.\nfunc (s *SugaredLogger) Named(name string) *SugaredLogger {\n\treturn &SugaredLogger{base: s.base.Named(name)}\n}\n\n// With adds a variadic number of fields to the logging context. It accepts a\n// mix of strongly-typed Field objects and loosely-typed key-value pairs. When\n// processing pairs, the first element of the pair is used as the field key\n// and the second as the field value.\n//\n// For example,\n//   sugaredLogger.With(\n//     \"hello\", \"world\",\n//     \"failure\", errors.New(\"oh no\"),\n//     Stack(),\n//     \"count\", 42,\n//     \"user\", User{Name: \"alice\"},\n//  )\n// is the equivalent of\n//   unsugared.With(\n//     String(\"hello\", \"world\"),\n//     String(\"failure\", \"oh no\"),\n//     Stack(),\n//     Int(\"count\", 42),\n//     Object(\"user\", User{Name: \"alice\"}),\n//   )\n//\n// Note that the keys in key-value pairs should be strings. In development,\n// passing a non-string key panics. In production, the logger is more\n// forgiving: a separate error is logged, but the key-value pair is skipped\n// and execution continues. Passing an orphaned key triggers similar behavior:\n// panics in development and errors in production.\nfunc (s *SugaredLogger) With(args ...interface{}) *SugaredLogger {\n\treturn &SugaredLogger{base: s.base.With(s.sweetenFields(args)...)}\n}\n\n// Debug uses fmt.Sprint to construct and log a message.\nfunc (s *SugaredLogger) Debug(args ...interface{}) {\n\ts.log(DebugLevel, \"\", args, nil)\n}\n\n// Info uses fmt.Sprint to construct and log a message.\nfunc (s *SugaredLogger) Info(args ...interface{}) {\n\ts.log(InfoLevel, \"\", args, nil)\n}\n\n// Warn uses fmt.Sprint to construct and log a message.\nfunc (s *SugaredLogger) Warn(args ...interface{}) {\n\ts.log(WarnLevel, \"\", args, nil)\n}\n\n// Error uses fmt.Sprint to construct and log a message.\nfunc (s *SugaredLogger) Error(args ...interface{}) {\n\ts.log(ErrorLevel, \"\", args, nil)\n}\n\n// DPanic uses fmt.Sprint to construct and log a message. In development, the\n// logger then panics. (See DPanicLevel for details.)\nfunc (s *SugaredLogger) DPanic(args ...interface{}) {\n\ts.log(DPanicLevel, \"\", args, nil)\n}\n\n// Panic uses fmt.Sprint to construct and log a message, then panics.\nfunc (s *SugaredLogger) Panic(args ...interface{}) {\n\ts.log(PanicLevel, \"\", args, nil)\n}\n\n// Fatal uses fmt.Sprint to construct and log a message, then calls os.Exit.\nfunc (s *SugaredLogger) Fatal(args ...interface{}) {\n\ts.log(FatalLevel, \"\", args, nil)\n}\n\n// Debugf uses fmt.Sprintf to log a templated message.\nfunc (s *SugaredLogger) Debugf(template string, args ...interface{}) {\n\ts.log(DebugLevel, template, args, nil)\n}\n\n// Infof uses fmt.Sprintf to log a templated message.\nfunc (s *SugaredLogger) Infof(template string, args ...interface{}) {\n\ts.log(InfoLevel, template, args, nil)\n}\n\n// Warnf uses fmt.Sprintf to log a templated message.\nfunc (s *SugaredLogger) Warnf(template string, args ...interface{}) {\n\ts.log(WarnLevel, template, args, nil)\n}\n\n// Errorf uses fmt.Sprintf to log a templated message.\nfunc (s *SugaredLogger) Errorf(template string, args ...interface{}) {\n\ts.log(ErrorLevel, template, args, nil)\n}\n\n// DPanicf uses fmt.Sprintf to log a templated message. In development, the\n// logger then panics. (See DPanicLevel for details.)\nfunc (s *SugaredLogger) DPanicf(template string, args ...interface{}) {\n\ts.log(DPanicLevel, template, args, nil)\n}\n\n// Panicf uses fmt.Sprintf to log a templated message, then panics.\nfunc (s *SugaredLogger) Panicf(template string, args ...interface{}) {\n\ts.log(PanicLevel, template, args, nil)\n}\n\n// Fatalf uses fmt.Sprintf to log a templated message, then calls os.Exit.\nfunc (s *SugaredLogger) Fatalf(template string, args ...interface{}) {\n\ts.log(FatalLevel, template, args, nil)\n}\n\n// Debugw logs a message with some additional context. The variadic key-value\n// pairs are treated as they are in With.\n//\n// When debug-level logging is disabled, this is much faster than\n//  s.With(keysAndValues).Debug(msg)\nfunc (s *SugaredLogger) Debugw(msg string, keysAndValues ...interface{}) {\n\ts.log(DebugLevel, msg, nil, keysAndValues)\n}\n\n// Infow logs a message with some additional context. The variadic key-value\n// pairs are treated as they are in With.\nfunc (s *SugaredLogger) Infow(msg string, keysAndValues ...interface{}) {\n\ts.log(InfoLevel, msg, nil, keysAndValues)\n}\n\n// Warnw logs a message with some additional context. The variadic key-value\n// pairs are treated as they are in With.\nfunc (s *SugaredLogger) Warnw(msg string, keysAndValues ...interface{}) {\n\ts.log(WarnLevel, msg, nil, keysAndValues)\n}\n\n// Errorw logs a message with some additional context. The variadic key-value\n// pairs are treated as they are in With.\nfunc (s *SugaredLogger) Errorw(msg string, keysAndValues ...interface{}) {\n\ts.log(ErrorLevel, msg, nil, keysAndValues)\n}\n\n// DPanicw logs a message with some additional context. In development, the\n// logger then panics. (See DPanicLevel for details.) The variadic key-value\n// pairs are treated as they are in With.\nfunc (s *SugaredLogger) DPanicw(msg string, keysAndValues ...interface{}) {\n\ts.log(DPanicLevel, msg, nil, keysAndValues)\n}\n\n// Panicw logs a message with some additional context, then panics. The\n// variadic key-value pairs are treated as they are in With.\nfunc (s *SugaredLogger) Panicw(msg string, keysAndValues ...interface{}) {\n\ts.log(PanicLevel, msg, nil, keysAndValues)\n}\n\n// Fatalw logs a message with some additional context, then calls os.Exit. The\n// variadic key-value pairs are treated as they are in With.\nfunc (s *SugaredLogger) Fatalw(msg string, keysAndValues ...interface{}) {\n\ts.log(FatalLevel, msg, nil, keysAndValues)\n}\n\n// Sync flushes any buffered log entries.\nfunc (s *SugaredLogger) Sync() error {\n\treturn s.base.Sync()\n}\n\nfunc (s *SugaredLogger) log(lvl zapcore.Level, template string, fmtArgs []interface{}, context []interface{}) {\n\t// If logging at this level is completely disabled, skip the overhead of\n\t// string formatting.\n\tif lvl < DPanicLevel && !s.base.Core().Enabled(lvl) {\n\t\treturn\n\t}\n\n\t// Format with Sprint, Sprintf, or neither.\n\tmsg := template\n\tif msg == \"\" && len(fmtArgs) > 0 {\n\t\tmsg = fmt.Sprint(fmtArgs...)\n\t} else if msg != \"\" && len(fmtArgs) > 0 {\n\t\tmsg = fmt.Sprintf(template, fmtArgs...)\n\t}\n\n\tif ce := s.base.Check(lvl, msg); ce != nil {\n\t\tce.Write(s.sweetenFields(context)...)\n\t}\n}\n\nfunc (s *SugaredLogger) sweetenFields(args []interface{}) []Field {\n\tif len(args) == 0 {\n\t\treturn nil\n\t}\n\n\t// Allocate enough space for the worst case; if users pass only structured\n\t// fields, we shouldn't penalize them with extra allocations.\n\tfields := make([]Field, 0, len(args))\n\tvar invalid invalidPairs\n\n\tfor i := 0; i < len(args); {\n\t\t// This is a strongly-typed field. Consume it and move on.\n\t\tif f, ok := args[i].(Field); ok {\n\t\t\tfields = append(fields, f)\n\t\t\ti++\n\t\t\tcontinue\n\t\t}\n\n\t\t// Make sure this element isn't a dangling key.\n\t\tif i == len(args)-1 {\n\t\t\ts.base.DPanic(_oddNumberErrMsg, Any(\"ignored\", args[i]))\n\t\t\tbreak\n\t\t}\n\n\t\t// Consume this value and the next, treating them as a key-value pair. If the\n\t\t// key isn't a string, add this pair to the slice of invalid pairs.\n\t\tkey, val := args[i], args[i+1]\n\t\tif keyStr, ok := key.(string); !ok {\n\t\t\t// Subsequent errors are likely, so allocate once up front.\n\t\t\tif cap(invalid) == 0 {\n\t\t\t\tinvalid = make(invalidPairs, 0, len(args)/2)\n\t\t\t}\n\t\t\tinvalid = append(invalid, invalidPair{i, key, val})\n\t\t} else {\n\t\t\tfields = append(fields, Any(keyStr, val))\n\t\t}\n\t\ti += 2\n\t}\n\n\t// If we encountered any invalid key-value pairs, log an error.\n\tif len(invalid) > 0 {\n\t\ts.base.DPanic(_nonStringKeyErrMsg, Array(\"invalid\", invalid))\n\t}\n\treturn fields\n}\n\ntype invalidPair struct {\n\tposition   int\n\tkey, value interface{}\n}\n\nfunc (p invalidPair) MarshalLogObject(enc zapcore.ObjectEncoder) error {\n\tenc.AddInt64(\"position\", int64(p.position))\n\tAny(\"key\", p.key).AddTo(enc)\n\tAny(\"value\", p.value).AddTo(enc)\n\treturn nil\n}\n\ntype invalidPairs []invalidPair\n\nfunc (ps invalidPairs) MarshalLogArray(enc zapcore.ArrayEncoder) error {\n\tvar err error\n\tfor i := range ps {\n\t\terr = multierr.Append(err, enc.AppendObject(ps[i]))\n\t}\n\treturn err\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/time.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport \"time\"\n\nfunc timeToMillis(t time.Time) int64 {\n\treturn t.UnixNano() / int64(time.Millisecond)\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/writer.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zap\n\nimport (\n\t\"io/ioutil\"\n\t\"os\"\n\n\t\"go.uber.org/zap/zapcore\"\n\n\t\"go.uber.org/multierr\"\n)\n\n// Open is a high-level wrapper that takes a variadic number of paths, opens or\n// creates each of the specified files, and combines them into a locked\n// WriteSyncer. It also returns any error encountered and a function to close\n// any opened files.\n//\n// Passing no paths returns a no-op WriteSyncer. The special paths \"stdout\" and\n// \"stderr\" are interpreted as os.Stdout and os.Stderr, respectively.\nfunc Open(paths ...string) (zapcore.WriteSyncer, func(), error) {\n\twriters, close, err := open(paths)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\twriter := CombineWriteSyncers(writers...)\n\treturn writer, close, nil\n}\n\nfunc open(paths []string) ([]zapcore.WriteSyncer, func(), error) {\n\tvar openErr error\n\twriters := make([]zapcore.WriteSyncer, 0, len(paths))\n\tfiles := make([]*os.File, 0, len(paths))\n\tclose := func() {\n\t\tfor _, f := range files {\n\t\t\tf.Close()\n\t\t}\n\t}\n\tfor _, path := range paths {\n\t\tswitch path {\n\t\tcase \"stdout\":\n\t\t\twriters = append(writers, os.Stdout)\n\t\t\t// Don't close standard out.\n\t\t\tcontinue\n\t\tcase \"stderr\":\n\t\t\twriters = append(writers, os.Stderr)\n\t\t\t// Don't close standard error.\n\t\t\tcontinue\n\t\t}\n\t\tf, err := os.OpenFile(path, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644)\n\t\topenErr = multierr.Append(openErr, err)\n\t\tif err == nil {\n\t\t\twriters = append(writers, f)\n\t\t\tfiles = append(files, f)\n\t\t}\n\t}\n\n\tif openErr != nil {\n\t\tclose()\n\t\treturn writers, nil, openErr\n\t}\n\n\treturn writers, close, nil\n}\n\n// CombineWriteSyncers is a utility that combines multiple WriteSyncers into a\n// single, locked WriteSyncer. If no inputs are supplied, it returns a no-op\n// WriteSyncer.\n//\n// It's provided purely as a convenience; the result is no different from\n// using zapcore.NewMultiWriteSyncer and zapcore.Lock individually.\nfunc CombineWriteSyncers(writers ...zapcore.WriteSyncer) zapcore.WriteSyncer {\n\tif len(writers) == 0 {\n\t\treturn zapcore.AddSync(ioutil.Discard)\n\t}\n\treturn zapcore.Lock(zapcore.NewMultiWriteSyncer(writers...))\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/console_encoder.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport (\n\t\"fmt\"\n\t\"sync\"\n\n\t\"go.uber.org/zap/buffer\"\n\t\"go.uber.org/zap/internal/bufferpool\"\n)\n\nvar _sliceEncoderPool = sync.Pool{\n\tNew: func() interface{} {\n\t\treturn &sliceArrayEncoder{elems: make([]interface{}, 0, 2)}\n\t},\n}\n\nfunc getSliceEncoder() *sliceArrayEncoder {\n\treturn _sliceEncoderPool.Get().(*sliceArrayEncoder)\n}\n\nfunc putSliceEncoder(e *sliceArrayEncoder) {\n\te.elems = e.elems[:0]\n\t_sliceEncoderPool.Put(e)\n}\n\ntype consoleEncoder struct {\n\t*jsonEncoder\n}\n\n// NewConsoleEncoder creates an encoder whose output is designed for human -\n// rather than machine - consumption. It serializes the core log entry data\n// (message, level, timestamp, etc.) in a plain-text format and leaves the\n// structured context as JSON.\n//\n// Note that although the console encoder doesn't use the keys specified in the\n// encoder configuration, it will omit any element whose key is set to the empty\n// string.\nfunc NewConsoleEncoder(cfg EncoderConfig) Encoder {\n\treturn consoleEncoder{newJSONEncoder(cfg, true)}\n}\n\nfunc (c consoleEncoder) Clone() Encoder {\n\treturn consoleEncoder{c.jsonEncoder.Clone().(*jsonEncoder)}\n}\n\nfunc (c consoleEncoder) EncodeEntry(ent Entry, fields []Field) (*buffer.Buffer, error) {\n\tline := bufferpool.Get()\n\n\t// We don't want the entry's metadata to be quoted and escaped (if it's\n\t// encoded as strings), which means that we can't use the JSON encoder. The\n\t// simplest option is to use the memory encoder and fmt.Fprint.\n\t//\n\t// If this ever becomes a performance bottleneck, we can implement\n\t// ArrayEncoder for our plain-text format.\n\tarr := getSliceEncoder()\n\tif c.TimeKey != \"\" && c.EncodeTime != nil {\n\t\tc.EncodeTime(ent.Time, arr)\n\t}\n\tif c.LevelKey != \"\" && c.EncodeLevel != nil {\n\t\tc.EncodeLevel(ent.Level, arr)\n\t}\n\tif ent.LoggerName != \"\" && c.NameKey != \"\" {\n\t\tnameEncoder := c.EncodeName\n\n\t\tif nameEncoder == nil {\n\t\t\t// Fall back to FullNameEncoder for backward compatibility.\n\t\t\tnameEncoder = FullNameEncoder\n\t\t}\n\n\t\tnameEncoder(ent.LoggerName, arr)\n\t}\n\tif ent.Caller.Defined && c.CallerKey != \"\" && c.EncodeCaller != nil {\n\t\tc.EncodeCaller(ent.Caller, arr)\n\t}\n\tfor i := range arr.elems {\n\t\tif i > 0 {\n\t\t\tline.AppendByte('\\t')\n\t\t}\n\t\tfmt.Fprint(line, arr.elems[i])\n\t}\n\tputSliceEncoder(arr)\n\n\t// Add the message itself.\n\tif c.MessageKey != \"\" {\n\t\tc.addTabIfNecessary(line)\n\t\tline.AppendString(ent.Message)\n\t}\n\n\t// Add any structured context.\n\tc.writeContext(line, fields)\n\n\t// If there's no stacktrace key, honor that; this allows users to force\n\t// single-line output.\n\tif ent.Stack != \"\" && c.StacktraceKey != \"\" {\n\t\tline.AppendByte('\\n')\n\t\tline.AppendString(ent.Stack)\n\t}\n\n\tif c.LineEnding != \"\" {\n\t\tline.AppendString(c.LineEnding)\n\t} else {\n\t\tline.AppendString(DefaultLineEnding)\n\t}\n\treturn line, nil\n}\n\nfunc (c consoleEncoder) writeContext(line *buffer.Buffer, extra []Field) {\n\tcontext := c.jsonEncoder.Clone().(*jsonEncoder)\n\tdefer context.buf.Free()\n\n\taddFields(context, extra)\n\tcontext.closeOpenNamespaces()\n\tif context.buf.Len() == 0 {\n\t\treturn\n\t}\n\n\tc.addTabIfNecessary(line)\n\tline.AppendByte('{')\n\tline.Write(context.buf.Bytes())\n\tline.AppendByte('}')\n}\n\nfunc (c consoleEncoder) addTabIfNecessary(line *buffer.Buffer) {\n\tif line.Len() > 0 {\n\t\tline.AppendByte('\\t')\n\t}\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/core.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\n// Core is a minimal, fast logger interface. It's designed for library authors\n// to wrap in a more user-friendly API.\ntype Core interface {\n\tLevelEnabler\n\n\t// With adds structured context to the Core.\n\tWith([]Field) Core\n\t// Check determines whether the supplied Entry should be logged (using the\n\t// embedded LevelEnabler and possibly some extra logic). If the entry\n\t// should be logged, the Core adds itself to the CheckedEntry and returns\n\t// the result.\n\t//\n\t// Callers must use Check before calling Write.\n\tCheck(Entry, *CheckedEntry) *CheckedEntry\n\t// Write serializes the Entry and any Fields supplied at the log site and\n\t// writes them to their destination.\n\t//\n\t// If called, Write should always log the Entry and Fields; it should not\n\t// replicate the logic of Check.\n\tWrite(Entry, []Field) error\n\t// Sync flushes buffered logs (if any).\n\tSync() error\n}\n\ntype nopCore struct{}\n\n// NewNopCore returns a no-op Core.\nfunc NewNopCore() Core                                        { return nopCore{} }\nfunc (nopCore) Enabled(Level) bool                            { return false }\nfunc (n nopCore) With([]Field) Core                           { return n }\nfunc (nopCore) Check(_ Entry, ce *CheckedEntry) *CheckedEntry { return ce }\nfunc (nopCore) Write(Entry, []Field) error                    { return nil }\nfunc (nopCore) Sync() error                                   { return nil }\n\n// NewCore creates a Core that writes logs to a WriteSyncer.\nfunc NewCore(enc Encoder, ws WriteSyncer, enab LevelEnabler) Core {\n\treturn &ioCore{\n\t\tLevelEnabler: enab,\n\t\tenc:          enc,\n\t\tout:          ws,\n\t}\n}\n\ntype ioCore struct {\n\tLevelEnabler\n\tenc Encoder\n\tout WriteSyncer\n}\n\nfunc (c *ioCore) With(fields []Field) Core {\n\tclone := c.clone()\n\taddFields(clone.enc, fields)\n\treturn clone\n}\n\nfunc (c *ioCore) Check(ent Entry, ce *CheckedEntry) *CheckedEntry {\n\tif c.Enabled(ent.Level) {\n\t\treturn ce.AddCore(ent, c)\n\t}\n\treturn ce\n}\n\nfunc (c *ioCore) Write(ent Entry, fields []Field) error {\n\tbuf, err := c.enc.EncodeEntry(ent, fields)\n\tif err != nil {\n\t\treturn err\n\t}\n\t_, err = c.out.Write(buf.Bytes())\n\tbuf.Free()\n\tif err != nil {\n\t\treturn err\n\t}\n\tif ent.Level > ErrorLevel {\n\t\t// Since we may be crashing the program, sync the output. Ignore Sync\n\t\t// errors, pending a clean solution to issue #370.\n\t\tc.Sync()\n\t}\n\treturn nil\n}\n\nfunc (c *ioCore) Sync() error {\n\treturn c.out.Sync()\n}\n\nfunc (c *ioCore) clone() *ioCore {\n\treturn &ioCore{\n\t\tLevelEnabler: c.LevelEnabler,\n\t\tenc:          c.enc.Clone(),\n\t\tout:          c.out,\n\t}\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/doc.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package zapcore defines and implements the low-level interfaces upon which\n// zap is built. By providing alternate implementations of these interfaces,\n// external packages can extend zap's capabilities.\npackage zapcore // import \"go.uber.org/zap/zapcore\"\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/encoder.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport (\n\t\"time\"\n\n\t\"go.uber.org/zap/buffer\"\n)\n\n// DefaultLineEnding defines the default line ending when writing logs.\n// Alternate line endings specified in EncoderConfig can override this\n// behavior.\nconst DefaultLineEnding = \"\\n\"\n\n// A LevelEncoder serializes a Level to a primitive type.\ntype LevelEncoder func(Level, PrimitiveArrayEncoder)\n\n// LowercaseLevelEncoder serializes a Level to a lowercase string. For example,\n// InfoLevel is serialized to \"info\".\nfunc LowercaseLevelEncoder(l Level, enc PrimitiveArrayEncoder) {\n\tenc.AppendString(l.String())\n}\n\n// LowercaseColorLevelEncoder serializes a Level to a lowercase string and adds coloring.\n// For example, InfoLevel is serialized to \"info\" and colored blue.\nfunc LowercaseColorLevelEncoder(l Level, enc PrimitiveArrayEncoder) {\n\ts, ok := _levelToLowercaseColorString[l]\n\tif !ok {\n\t\ts = _unknownLevelColor.Add(l.String())\n\t}\n\tenc.AppendString(s)\n}\n\n// CapitalLevelEncoder serializes a Level to an all-caps string. For example,\n// InfoLevel is serialized to \"INFO\".\nfunc CapitalLevelEncoder(l Level, enc PrimitiveArrayEncoder) {\n\tenc.AppendString(l.CapitalString())\n}\n\n// CapitalColorLevelEncoder serializes a Level to an all-caps string and adds color.\n// For example, InfoLevel is serialized to \"INFO\" and colored blue.\nfunc CapitalColorLevelEncoder(l Level, enc PrimitiveArrayEncoder) {\n\ts, ok := _levelToCapitalColorString[l]\n\tif !ok {\n\t\ts = _unknownLevelColor.Add(l.CapitalString())\n\t}\n\tenc.AppendString(s)\n}\n\n// UnmarshalText unmarshals text to a LevelEncoder. \"capital\" is unmarshaled to\n// CapitalLevelEncoder, \"coloredCapital\" is unmarshaled to CapitalColorLevelEncoder,\n// \"colored\" is unmarshaled to LowercaseColorLevelEncoder, and anything else\n// is unmarshaled to LowercaseLevelEncoder.\nfunc (e *LevelEncoder) UnmarshalText(text []byte) error {\n\tswitch string(text) {\n\tcase \"capital\":\n\t\t*e = CapitalLevelEncoder\n\tcase \"capitalColor\":\n\t\t*e = CapitalColorLevelEncoder\n\tcase \"color\":\n\t\t*e = LowercaseColorLevelEncoder\n\tdefault:\n\t\t*e = LowercaseLevelEncoder\n\t}\n\treturn nil\n}\n\n// A TimeEncoder serializes a time.Time to a primitive type.\ntype TimeEncoder func(time.Time, PrimitiveArrayEncoder)\n\n// EpochTimeEncoder serializes a time.Time to a floating-point number of seconds\n// since the Unix epoch.\nfunc EpochTimeEncoder(t time.Time, enc PrimitiveArrayEncoder) {\n\tnanos := t.UnixNano()\n\tsec := float64(nanos) / float64(time.Second)\n\tenc.AppendFloat64(sec)\n}\n\n// EpochMillisTimeEncoder serializes a time.Time to a floating-point number of\n// milliseconds since the Unix epoch.\nfunc EpochMillisTimeEncoder(t time.Time, enc PrimitiveArrayEncoder) {\n\tnanos := t.UnixNano()\n\tmillis := float64(nanos) / float64(time.Millisecond)\n\tenc.AppendFloat64(millis)\n}\n\n// EpochNanosTimeEncoder serializes a time.Time to an integer number of\n// nanoseconds since the Unix epoch.\nfunc EpochNanosTimeEncoder(t time.Time, enc PrimitiveArrayEncoder) {\n\tenc.AppendInt64(t.UnixNano())\n}\n\n// ISO8601TimeEncoder serializes a time.Time to an ISO8601-formatted string\n// with millisecond precision.\nfunc ISO8601TimeEncoder(t time.Time, enc PrimitiveArrayEncoder) {\n\tenc.AppendString(t.Format(\"2006-01-02T15:04:05.000Z0700\"))\n}\n\n// UnmarshalText unmarshals text to a TimeEncoder. \"iso8601\" and \"ISO8601\" are\n// unmarshaled to ISO8601TimeEncoder, \"millis\" is unmarshaled to\n// EpochMillisTimeEncoder, and anything else is unmarshaled to EpochTimeEncoder.\nfunc (e *TimeEncoder) UnmarshalText(text []byte) error {\n\tswitch string(text) {\n\tcase \"iso8601\", \"ISO8601\":\n\t\t*e = ISO8601TimeEncoder\n\tcase \"millis\":\n\t\t*e = EpochMillisTimeEncoder\n\tcase \"nanos\":\n\t\t*e = EpochNanosTimeEncoder\n\tdefault:\n\t\t*e = EpochTimeEncoder\n\t}\n\treturn nil\n}\n\n// A DurationEncoder serializes a time.Duration to a primitive type.\ntype DurationEncoder func(time.Duration, PrimitiveArrayEncoder)\n\n// SecondsDurationEncoder serializes a time.Duration to a floating-point number of seconds elapsed.\nfunc SecondsDurationEncoder(d time.Duration, enc PrimitiveArrayEncoder) {\n\tenc.AppendFloat64(float64(d) / float64(time.Second))\n}\n\n// NanosDurationEncoder serializes a time.Duration to an integer number of\n// nanoseconds elapsed.\nfunc NanosDurationEncoder(d time.Duration, enc PrimitiveArrayEncoder) {\n\tenc.AppendInt64(int64(d))\n}\n\n// StringDurationEncoder serializes a time.Duration using its built-in String\n// method.\nfunc StringDurationEncoder(d time.Duration, enc PrimitiveArrayEncoder) {\n\tenc.AppendString(d.String())\n}\n\n// UnmarshalText unmarshals text to a DurationEncoder. \"string\" is unmarshaled\n// to StringDurationEncoder, and anything else is unmarshaled to\n// NanosDurationEncoder.\nfunc (e *DurationEncoder) UnmarshalText(text []byte) error {\n\tswitch string(text) {\n\tcase \"string\":\n\t\t*e = StringDurationEncoder\n\tcase \"nanos\":\n\t\t*e = NanosDurationEncoder\n\tdefault:\n\t\t*e = SecondsDurationEncoder\n\t}\n\treturn nil\n}\n\n// A CallerEncoder serializes an EntryCaller to a primitive type.\ntype CallerEncoder func(EntryCaller, PrimitiveArrayEncoder)\n\n// FullCallerEncoder serializes a caller in /full/path/to/package/file:line\n// format.\nfunc FullCallerEncoder(caller EntryCaller, enc PrimitiveArrayEncoder) {\n\t// TODO: consider using a byte-oriented API to save an allocation.\n\tenc.AppendString(caller.String())\n}\n\n// ShortCallerEncoder serializes a caller in package/file:line format, trimming\n// all but the final directory from the full path.\nfunc ShortCallerEncoder(caller EntryCaller, enc PrimitiveArrayEncoder) {\n\t// TODO: consider using a byte-oriented API to save an allocation.\n\tenc.AppendString(caller.TrimmedPath())\n}\n\n// UnmarshalText unmarshals text to a CallerEncoder. \"full\" is unmarshaled to\n// FullCallerEncoder and anything else is unmarshaled to ShortCallerEncoder.\nfunc (e *CallerEncoder) UnmarshalText(text []byte) error {\n\tswitch string(text) {\n\tcase \"full\":\n\t\t*e = FullCallerEncoder\n\tdefault:\n\t\t*e = ShortCallerEncoder\n\t}\n\treturn nil\n}\n\n// A NameEncoder serializes a period-separated logger name to a primitive\n// type.\ntype NameEncoder func(string, PrimitiveArrayEncoder)\n\n// FullNameEncoder serializes the logger name as-is.\nfunc FullNameEncoder(loggerName string, enc PrimitiveArrayEncoder) {\n\tenc.AppendString(loggerName)\n}\n\n// UnmarshalText unmarshals text to a NameEncoder. Currently, everything is\n// unmarshaled to FullNameEncoder.\nfunc (e *NameEncoder) UnmarshalText(text []byte) error {\n\tswitch string(text) {\n\tcase \"full\":\n\t\t*e = FullNameEncoder\n\tdefault:\n\t\t*e = FullNameEncoder\n\t}\n\treturn nil\n}\n\n// An EncoderConfig allows users to configure the concrete encoders supplied by\n// zapcore.\ntype EncoderConfig struct {\n\t// Set the keys used for each log entry. If any key is empty, that portion\n\t// of the entry is omitted.\n\tMessageKey    string `json:\"messageKey\" yaml:\"messageKey\"`\n\tLevelKey      string `json:\"levelKey\" yaml:\"levelKey\"`\n\tTimeKey       string `json:\"timeKey\" yaml:\"timeKey\"`\n\tNameKey       string `json:\"nameKey\" yaml:\"nameKey\"`\n\tCallerKey     string `json:\"callerKey\" yaml:\"callerKey\"`\n\tStacktraceKey string `json:\"stacktraceKey\" yaml:\"stacktraceKey\"`\n\tLineEnding    string `json:\"lineEnding\" yaml:\"lineEnding\"`\n\t// Configure the primitive representations of common complex types. For\n\t// example, some users may want all time.Times serialized as floating-point\n\t// seconds since epoch, while others may prefer ISO8601 strings.\n\tEncodeLevel    LevelEncoder    `json:\"levelEncoder\" yaml:\"levelEncoder\"`\n\tEncodeTime     TimeEncoder     `json:\"timeEncoder\" yaml:\"timeEncoder\"`\n\tEncodeDuration DurationEncoder `json:\"durationEncoder\" yaml:\"durationEncoder\"`\n\tEncodeCaller   CallerEncoder   `json:\"callerEncoder\" yaml:\"callerEncoder\"`\n\t// Unlike the other primitive type encoders, EncodeName is optional. The\n\t// zero value falls back to FullNameEncoder.\n\tEncodeName NameEncoder `json:\"nameEncoder\" yaml:\"nameEncoder\"`\n}\n\n// ObjectEncoder is a strongly-typed, encoding-agnostic interface for adding a\n// map- or struct-like object to the logging context. Like maps, ObjectEncoders\n// aren't safe for concurrent use (though typical use shouldn't require locks).\ntype ObjectEncoder interface {\n\t// Logging-specific marshalers.\n\tAddArray(key string, marshaler ArrayMarshaler) error\n\tAddObject(key string, marshaler ObjectMarshaler) error\n\n\t// Built-in types.\n\tAddBinary(key string, value []byte)     // for arbitrary bytes\n\tAddByteString(key string, value []byte) // for UTF-8 encoded bytes\n\tAddBool(key string, value bool)\n\tAddComplex128(key string, value complex128)\n\tAddComplex64(key string, value complex64)\n\tAddDuration(key string, value time.Duration)\n\tAddFloat64(key string, value float64)\n\tAddFloat32(key string, value float32)\n\tAddInt(key string, value int)\n\tAddInt64(key string, value int64)\n\tAddInt32(key string, value int32)\n\tAddInt16(key string, value int16)\n\tAddInt8(key string, value int8)\n\tAddString(key, value string)\n\tAddTime(key string, value time.Time)\n\tAddUint(key string, value uint)\n\tAddUint64(key string, value uint64)\n\tAddUint32(key string, value uint32)\n\tAddUint16(key string, value uint16)\n\tAddUint8(key string, value uint8)\n\tAddUintptr(key string, value uintptr)\n\n\t// AddReflected uses reflection to serialize arbitrary objects, so it's slow\n\t// and allocation-heavy.\n\tAddReflected(key string, value interface{}) error\n\t// OpenNamespace opens an isolated namespace where all subsequent fields will\n\t// be added. Applications can use namespaces to prevent key collisions when\n\t// injecting loggers into sub-components or third-party libraries.\n\tOpenNamespace(key string)\n}\n\n// ArrayEncoder is a strongly-typed, encoding-agnostic interface for adding\n// array-like objects to the logging context. Of note, it supports mixed-type\n// arrays even though they aren't typical in Go. Like slices, ArrayEncoders\n// aren't safe for concurrent use (though typical use shouldn't require locks).\ntype ArrayEncoder interface {\n\t// Built-in types.\n\tPrimitiveArrayEncoder\n\n\t// Time-related types.\n\tAppendDuration(time.Duration)\n\tAppendTime(time.Time)\n\n\t// Logging-specific marshalers.\n\tAppendArray(ArrayMarshaler) error\n\tAppendObject(ObjectMarshaler) error\n\n\t// AppendReflected uses reflection to serialize arbitrary objects, so it's\n\t// slow and allocation-heavy.\n\tAppendReflected(value interface{}) error\n}\n\n// PrimitiveArrayEncoder is the subset of the ArrayEncoder interface that deals\n// only in Go's built-in types. It's included only so that Duration- and\n// TimeEncoders cannot trigger infinite recursion.\ntype PrimitiveArrayEncoder interface {\n\t// Built-in types.\n\tAppendBool(bool)\n\tAppendByteString([]byte) // for UTF-8 encoded bytes\n\tAppendComplex128(complex128)\n\tAppendComplex64(complex64)\n\tAppendFloat64(float64)\n\tAppendFloat32(float32)\n\tAppendInt(int)\n\tAppendInt64(int64)\n\tAppendInt32(int32)\n\tAppendInt16(int16)\n\tAppendInt8(int8)\n\tAppendString(string)\n\tAppendUint(uint)\n\tAppendUint64(uint64)\n\tAppendUint32(uint32)\n\tAppendUint16(uint16)\n\tAppendUint8(uint8)\n\tAppendUintptr(uintptr)\n}\n\n// Encoder is a format-agnostic interface for all log entry marshalers. Since\n// log encoders don't need to support the same wide range of use cases as\n// general-purpose marshalers, it's possible to make them faster and\n// lower-allocation.\n//\n// Implementations of the ObjectEncoder interface's methods can, of course,\n// freely modify the receiver. However, the Clone and EncodeEntry methods will\n// be called concurrently and shouldn't modify the receiver.\ntype Encoder interface {\n\tObjectEncoder\n\n\t// Clone copies the encoder, ensuring that adding fields to the copy doesn't\n\t// affect the original.\n\tClone() Encoder\n\n\t// EncodeEntry encodes an entry and fields, along with any accumulated\n\t// context, into a byte buffer and returns it.\n\tEncodeEntry(Entry, []Field) (*buffer.Buffer, error)\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/entry.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"go.uber.org/zap/internal/bufferpool\"\n\t\"go.uber.org/zap/internal/exit\"\n\n\t\"go.uber.org/multierr\"\n)\n\nvar (\n\t_cePool = sync.Pool{New: func() interface{} {\n\t\t// Pre-allocate some space for cores.\n\t\treturn &CheckedEntry{\n\t\t\tcores: make([]Core, 4),\n\t\t}\n\t}}\n)\n\nfunc getCheckedEntry() *CheckedEntry {\n\tce := _cePool.Get().(*CheckedEntry)\n\tce.reset()\n\treturn ce\n}\n\nfunc putCheckedEntry(ce *CheckedEntry) {\n\tif ce == nil {\n\t\treturn\n\t}\n\t_cePool.Put(ce)\n}\n\n// NewEntryCaller makes an EntryCaller from the return signature of\n// runtime.Caller.\nfunc NewEntryCaller(pc uintptr, file string, line int, ok bool) EntryCaller {\n\tif !ok {\n\t\treturn EntryCaller{}\n\t}\n\treturn EntryCaller{\n\t\tPC:      pc,\n\t\tFile:    file,\n\t\tLine:    line,\n\t\tDefined: true,\n\t}\n}\n\n// EntryCaller represents the caller of a logging function.\ntype EntryCaller struct {\n\tDefined bool\n\tPC      uintptr\n\tFile    string\n\tLine    int\n}\n\n// String returns the full path and line number of the caller.\nfunc (ec EntryCaller) String() string {\n\treturn ec.FullPath()\n}\n\n// FullPath returns a /full/path/to/package/file:line description of the\n// caller.\nfunc (ec EntryCaller) FullPath() string {\n\tif !ec.Defined {\n\t\treturn \"undefined\"\n\t}\n\tbuf := bufferpool.Get()\n\tbuf.AppendString(ec.File)\n\tbuf.AppendByte(':')\n\tbuf.AppendInt(int64(ec.Line))\n\tcaller := buf.String()\n\tbuf.Free()\n\treturn caller\n}\n\n// TrimmedPath returns a package/file:line description of the caller,\n// preserving only the leaf directory name and file name.\nfunc (ec EntryCaller) TrimmedPath() string {\n\tif !ec.Defined {\n\t\treturn \"undefined\"\n\t}\n\t// nb. To make sure we trim the path correctly on Windows too, we\n\t// counter-intuitively need to use '/' and *not* os.PathSeparator here,\n\t// because the path given originates from Go stdlib, specifically\n\t// runtime.Caller() which (as of Mar/17) returns forward slashes even on\n\t// Windows.\n\t//\n\t// See https://github.com/golang/go/issues/3335\n\t// and https://github.com/golang/go/issues/18151\n\t//\n\t// for discussion on the issue on Go side.\n\t//\n\t// Find the last separator.\n\t//\n\tidx := strings.LastIndexByte(ec.File, '/')\n\tif idx == -1 {\n\t\treturn ec.FullPath()\n\t}\n\t// Find the penultimate separator.\n\tidx = strings.LastIndexByte(ec.File[:idx], '/')\n\tif idx == -1 {\n\t\treturn ec.FullPath()\n\t}\n\tbuf := bufferpool.Get()\n\t// Keep everything after the penultimate separator.\n\tbuf.AppendString(ec.File[idx+1:])\n\tbuf.AppendByte(':')\n\tbuf.AppendInt(int64(ec.Line))\n\tcaller := buf.String()\n\tbuf.Free()\n\treturn caller\n}\n\n// An Entry represents a complete log message. The entry's structured context\n// is already serialized, but the log level, time, message, and call site\n// information are available for inspection and modification.\n//\n// Entries are pooled, so any functions that accept them MUST be careful not to\n// retain references to them.\ntype Entry struct {\n\tLevel      Level\n\tTime       time.Time\n\tLoggerName string\n\tMessage    string\n\tCaller     EntryCaller\n\tStack      string\n}\n\n// CheckWriteAction indicates what action to take after a log entry is\n// processed. Actions are ordered in increasing severity.\ntype CheckWriteAction uint8\n\nconst (\n\t// WriteThenNoop indicates that nothing special needs to be done. It's the\n\t// default behavior.\n\tWriteThenNoop CheckWriteAction = iota\n\t// WriteThenPanic causes a panic after Write.\n\tWriteThenPanic\n\t// WriteThenFatal causes a fatal os.Exit after Write.\n\tWriteThenFatal\n)\n\n// CheckedEntry is an Entry together with a collection of Cores that have\n// already agreed to log it.\n//\n// CheckedEntry references should be created by calling AddCore or Should on a\n// nil *CheckedEntry. References are returned to a pool after Write, and MUST\n// NOT be retained after calling their Write method.\ntype CheckedEntry struct {\n\tEntry\n\tErrorOutput WriteSyncer\n\tdirty       bool // best-effort detection of pool misuse\n\tshould      CheckWriteAction\n\tcores       []Core\n}\n\nfunc (ce *CheckedEntry) reset() {\n\tce.Entry = Entry{}\n\tce.ErrorOutput = nil\n\tce.dirty = false\n\tce.should = WriteThenNoop\n\tfor i := range ce.cores {\n\t\t// don't keep references to cores\n\t\tce.cores[i] = nil\n\t}\n\tce.cores = ce.cores[:0]\n}\n\n// Write writes the entry to the stored Cores, returns any errors, and returns\n// the CheckedEntry reference to a pool for immediate re-use. Finally, it\n// executes any required CheckWriteAction.\nfunc (ce *CheckedEntry) Write(fields ...Field) {\n\tif ce == nil {\n\t\treturn\n\t}\n\n\tif ce.dirty {\n\t\tif ce.ErrorOutput != nil {\n\t\t\t// Make a best effort to detect unsafe re-use of this CheckedEntry.\n\t\t\t// If the entry is dirty, log an internal error; because the\n\t\t\t// CheckedEntry is being used after it was returned to the pool,\n\t\t\t// the message may be an amalgamation from multiple call sites.\n\t\t\tfmt.Fprintf(ce.ErrorOutput, \"%v Unsafe CheckedEntry re-use near Entry %+v.\\n\", time.Now(), ce.Entry)\n\t\t\tce.ErrorOutput.Sync()\n\t\t}\n\t\treturn\n\t}\n\tce.dirty = true\n\n\tvar err error\n\tfor i := range ce.cores {\n\t\terr = multierr.Append(err, ce.cores[i].Write(ce.Entry, fields))\n\t}\n\tif ce.ErrorOutput != nil {\n\t\tif err != nil {\n\t\t\tfmt.Fprintf(ce.ErrorOutput, \"%v write error: %v\\n\", time.Now(), err)\n\t\t\tce.ErrorOutput.Sync()\n\t\t}\n\t}\n\n\tshould, msg := ce.should, ce.Message\n\tputCheckedEntry(ce)\n\n\tswitch should {\n\tcase WriteThenPanic:\n\t\tpanic(msg)\n\tcase WriteThenFatal:\n\t\texit.Exit()\n\t}\n}\n\n// AddCore adds a Core that has agreed to log this CheckedEntry. It's intended to be\n// used by Core.Check implementations, and is safe to call on nil CheckedEntry\n// references.\nfunc (ce *CheckedEntry) AddCore(ent Entry, core Core) *CheckedEntry {\n\tif ce == nil {\n\t\tce = getCheckedEntry()\n\t\tce.Entry = ent\n\t}\n\tce.cores = append(ce.cores, core)\n\treturn ce\n}\n\n// Should sets this CheckedEntry's CheckWriteAction, which controls whether a\n// Core will panic or fatal after writing this log entry. Like AddCore, it's\n// safe to call on nil CheckedEntry references.\nfunc (ce *CheckedEntry) Should(ent Entry, should CheckWriteAction) *CheckedEntry {\n\tif ce == nil {\n\t\tce = getCheckedEntry()\n\t\tce.Entry = ent\n\t}\n\tce.should = should\n\treturn ce\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/error.go",
    "content": "// Copyright (c) 2017 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport (\n\t\"fmt\"\n\t\"sync\"\n)\n\n// Encodes the given error into fields of an object. A field with the given\n// name is added for the error message.\n//\n// If the error implements fmt.Formatter, a field with the name ${key}Verbose\n// is also added with the full verbose error message.\n//\n// Finally, if the error implements errorGroup (from go.uber.org/multierr) or\n// causer (from github.com/pkg/errors), a ${key}Causes field is added with an\n// array of objects containing the errors this error was comprised of.\n//\n//  {\n//    \"error\": err.Error(),\n//    \"errorVerbose\": fmt.Sprintf(\"%+v\", err),\n//    \"errorCauses\": [\n//      ...\n//    ],\n//  }\nfunc encodeError(key string, err error, enc ObjectEncoder) error {\n\tbasic := err.Error()\n\tenc.AddString(key, basic)\n\n\tswitch e := err.(type) {\n\tcase errorGroup:\n\t\treturn enc.AddArray(key+\"Causes\", errArray(e.Errors()))\n\tcase fmt.Formatter:\n\t\tverbose := fmt.Sprintf(\"%+v\", e)\n\t\tif verbose != basic {\n\t\t\t// This is a rich error type, like those produced by\n\t\t\t// github.com/pkg/errors.\n\t\t\tenc.AddString(key+\"Verbose\", verbose)\n\t\t}\n\t}\n\treturn nil\n}\n\ntype errorGroup interface {\n\t// Provides read-only access to the underlying list of errors, preferably\n\t// without causing any allocs.\n\tErrors() []error\n}\n\ntype causer interface {\n\t// Provides access to the error that caused this error.\n\tCause() error\n}\n\n// Note that errArry and errArrayElem are very similar to the version\n// implemented in the top-level error.go file. We can't re-use this because\n// that would require exporting errArray as part of the zapcore API.\n\n// Encodes a list of errors using the standard error encoding logic.\ntype errArray []error\n\nfunc (errs errArray) MarshalLogArray(arr ArrayEncoder) error {\n\tfor i := range errs {\n\t\tif errs[i] == nil {\n\t\t\tcontinue\n\t\t}\n\n\t\tel := newErrArrayElem(errs[i])\n\t\tarr.AppendObject(el)\n\t\tel.Free()\n\t}\n\treturn nil\n}\n\nvar _errArrayElemPool = sync.Pool{New: func() interface{} {\n\treturn &errArrayElem{}\n}}\n\n// Encodes any error into a {\"error\": ...} re-using the same errors logic.\n//\n// May be passed in place of an array to build a single-element array.\ntype errArrayElem struct{ err error }\n\nfunc newErrArrayElem(err error) *errArrayElem {\n\te := _errArrayElemPool.Get().(*errArrayElem)\n\te.err = err\n\treturn e\n}\n\nfunc (e *errArrayElem) MarshalLogArray(arr ArrayEncoder) error {\n\treturn arr.AppendObject(e)\n}\n\nfunc (e *errArrayElem) MarshalLogObject(enc ObjectEncoder) error {\n\treturn encodeError(\"error\", e.err, enc)\n}\n\nfunc (e *errArrayElem) Free() {\n\te.err = nil\n\t_errArrayElemPool.Put(e)\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/field.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"math\"\n\t\"reflect\"\n\t\"time\"\n)\n\n// A FieldType indicates which member of the Field union struct should be used\n// and how it should be serialized.\ntype FieldType uint8\n\nconst (\n\t// UnknownType is the default field type. Attempting to add it to an encoder will panic.\n\tUnknownType FieldType = iota\n\t// ArrayMarshalerType indicates that the field carries an ArrayMarshaler.\n\tArrayMarshalerType\n\t// ObjectMarshalerType indicates that the field carries an ObjectMarshaler.\n\tObjectMarshalerType\n\t// BinaryType indicates that the field carries an opaque binary blob.\n\tBinaryType\n\t// BoolType indicates that the field carries a bool.\n\tBoolType\n\t// ByteStringType indicates that the field carries UTF-8 encoded bytes.\n\tByteStringType\n\t// Complex128Type indicates that the field carries a complex128.\n\tComplex128Type\n\t// Complex64Type indicates that the field carries a complex128.\n\tComplex64Type\n\t// DurationType indicates that the field carries a time.Duration.\n\tDurationType\n\t// Float64Type indicates that the field carries a float64.\n\tFloat64Type\n\t// Float32Type indicates that the field carries a float32.\n\tFloat32Type\n\t// Int64Type indicates that the field carries an int64.\n\tInt64Type\n\t// Int32Type indicates that the field carries an int32.\n\tInt32Type\n\t// Int16Type indicates that the field carries an int16.\n\tInt16Type\n\t// Int8Type indicates that the field carries an int8.\n\tInt8Type\n\t// StringType indicates that the field carries a string.\n\tStringType\n\t// TimeType indicates that the field carries a time.Time.\n\tTimeType\n\t// Uint64Type indicates that the field carries a uint64.\n\tUint64Type\n\t// Uint32Type indicates that the field carries a uint32.\n\tUint32Type\n\t// Uint16Type indicates that the field carries a uint16.\n\tUint16Type\n\t// Uint8Type indicates that the field carries a uint8.\n\tUint8Type\n\t// UintptrType indicates that the field carries a uintptr.\n\tUintptrType\n\t// ReflectType indicates that the field carries an interface{}, which should\n\t// be serialized using reflection.\n\tReflectType\n\t// NamespaceType signals the beginning of an isolated namespace. All\n\t// subsequent fields should be added to the new namespace.\n\tNamespaceType\n\t// StringerType indicates that the field carries a fmt.Stringer.\n\tStringerType\n\t// ErrorType indicates that the field carries an error.\n\tErrorType\n\t// SkipType indicates that the field is a no-op.\n\tSkipType\n)\n\n// A Field is a marshaling operation used to add a key-value pair to a logger's\n// context. Most fields are lazily marshaled, so it's inexpensive to add fields\n// to disabled debug-level log statements.\ntype Field struct {\n\tKey       string\n\tType      FieldType\n\tInteger   int64\n\tString    string\n\tInterface interface{}\n}\n\n// AddTo exports a field through the ObjectEncoder interface. It's primarily\n// useful to library authors, and shouldn't be necessary in most applications.\nfunc (f Field) AddTo(enc ObjectEncoder) {\n\tvar err error\n\n\tswitch f.Type {\n\tcase ArrayMarshalerType:\n\t\terr = enc.AddArray(f.Key, f.Interface.(ArrayMarshaler))\n\tcase ObjectMarshalerType:\n\t\terr = enc.AddObject(f.Key, f.Interface.(ObjectMarshaler))\n\tcase BinaryType:\n\t\tenc.AddBinary(f.Key, f.Interface.([]byte))\n\tcase BoolType:\n\t\tenc.AddBool(f.Key, f.Integer == 1)\n\tcase ByteStringType:\n\t\tenc.AddByteString(f.Key, f.Interface.([]byte))\n\tcase Complex128Type:\n\t\tenc.AddComplex128(f.Key, f.Interface.(complex128))\n\tcase Complex64Type:\n\t\tenc.AddComplex64(f.Key, f.Interface.(complex64))\n\tcase DurationType:\n\t\tenc.AddDuration(f.Key, time.Duration(f.Integer))\n\tcase Float64Type:\n\t\tenc.AddFloat64(f.Key, math.Float64frombits(uint64(f.Integer)))\n\tcase Float32Type:\n\t\tenc.AddFloat32(f.Key, math.Float32frombits(uint32(f.Integer)))\n\tcase Int64Type:\n\t\tenc.AddInt64(f.Key, f.Integer)\n\tcase Int32Type:\n\t\tenc.AddInt32(f.Key, int32(f.Integer))\n\tcase Int16Type:\n\t\tenc.AddInt16(f.Key, int16(f.Integer))\n\tcase Int8Type:\n\t\tenc.AddInt8(f.Key, int8(f.Integer))\n\tcase StringType:\n\t\tenc.AddString(f.Key, f.String)\n\tcase TimeType:\n\t\tif f.Interface != nil {\n\t\t\tenc.AddTime(f.Key, time.Unix(0, f.Integer).In(f.Interface.(*time.Location)))\n\t\t} else {\n\t\t\t// Fall back to UTC if location is nil.\n\t\t\tenc.AddTime(f.Key, time.Unix(0, f.Integer))\n\t\t}\n\tcase Uint64Type:\n\t\tenc.AddUint64(f.Key, uint64(f.Integer))\n\tcase Uint32Type:\n\t\tenc.AddUint32(f.Key, uint32(f.Integer))\n\tcase Uint16Type:\n\t\tenc.AddUint16(f.Key, uint16(f.Integer))\n\tcase Uint8Type:\n\t\tenc.AddUint8(f.Key, uint8(f.Integer))\n\tcase UintptrType:\n\t\tenc.AddUintptr(f.Key, uintptr(f.Integer))\n\tcase ReflectType:\n\t\terr = enc.AddReflected(f.Key, f.Interface)\n\tcase NamespaceType:\n\t\tenc.OpenNamespace(f.Key)\n\tcase StringerType:\n\t\tenc.AddString(f.Key, f.Interface.(fmt.Stringer).String())\n\tcase ErrorType:\n\t\tencodeError(f.Key, f.Interface.(error), enc)\n\tcase SkipType:\n\t\tbreak\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"unknown field type: %v\", f))\n\t}\n\n\tif err != nil {\n\t\tenc.AddString(fmt.Sprintf(\"%sError\", f.Key), err.Error())\n\t}\n}\n\n// Equals returns whether two fields are equal. For non-primitive types such as\n// errors, marshalers, or reflect types, it uses reflect.DeepEqual.\nfunc (f Field) Equals(other Field) bool {\n\tif f.Type != other.Type {\n\t\treturn false\n\t}\n\tif f.Key != other.Key {\n\t\treturn false\n\t}\n\n\tswitch f.Type {\n\tcase BinaryType, ByteStringType:\n\t\treturn bytes.Equal(f.Interface.([]byte), other.Interface.([]byte))\n\tcase ArrayMarshalerType, ObjectMarshalerType, ErrorType, ReflectType:\n\t\treturn reflect.DeepEqual(f.Interface, other.Interface)\n\tdefault:\n\t\treturn f == other\n\t}\n}\n\nfunc addFields(enc ObjectEncoder, fields []Field) {\n\tfor i := range fields {\n\t\tfields[i].AddTo(enc)\n\t}\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/hook.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport \"go.uber.org/multierr\"\n\ntype hooked struct {\n\tCore\n\tfuncs []func(Entry) error\n}\n\n// RegisterHooks wraps a Core and runs a collection of user-defined callback\n// hooks each time a message is logged. Execution of the callbacks is blocking.\n//\n// This offers users an easy way to register simple callbacks (e.g., metrics\n// collection) without implementing the full Core interface.\nfunc RegisterHooks(core Core, hooks ...func(Entry) error) Core {\n\tfuncs := append([]func(Entry) error{}, hooks...)\n\treturn &hooked{\n\t\tCore:  core,\n\t\tfuncs: funcs,\n\t}\n}\n\nfunc (h *hooked) Check(ent Entry, ce *CheckedEntry) *CheckedEntry {\n\t// Let the wrapped Core decide whether to log this message or not. This\n\t// also gives the downstream a chance to register itself directly with the\n\t// CheckedEntry.\n\tif downstream := h.Core.Check(ent, ce); downstream != nil {\n\t\treturn downstream.AddCore(ent, h)\n\t}\n\treturn ce\n}\n\nfunc (h *hooked) With(fields []Field) Core {\n\treturn &hooked{\n\t\tCore:  h.Core.With(fields),\n\t\tfuncs: h.funcs,\n\t}\n}\n\nfunc (h *hooked) Write(ent Entry, _ []Field) error {\n\t// Since our downstream had a chance to register itself directly with the\n\t// CheckedMessage, we don't need to call it here.\n\tvar err error\n\tfor i := range h.funcs {\n\t\terr = multierr.Append(err, h.funcs[i](ent))\n\t}\n\treturn err\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/json_encoder.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport (\n\t\"encoding/base64\"\n\t\"encoding/json\"\n\t\"math\"\n\t\"sync\"\n\t\"time\"\n\t\"unicode/utf8\"\n\n\t\"go.uber.org/zap/buffer\"\n\t\"go.uber.org/zap/internal/bufferpool\"\n)\n\n// For JSON-escaping; see jsonEncoder.safeAddString below.\nconst _hex = \"0123456789abcdef\"\n\nvar _jsonPool = sync.Pool{New: func() interface{} {\n\treturn &jsonEncoder{}\n}}\n\nfunc getJSONEncoder() *jsonEncoder {\n\treturn _jsonPool.Get().(*jsonEncoder)\n}\n\nfunc putJSONEncoder(enc *jsonEncoder) {\n\tenc.EncoderConfig = nil\n\tenc.buf = nil\n\tenc.spaced = false\n\tenc.openNamespaces = 0\n\t_jsonPool.Put(enc)\n}\n\ntype jsonEncoder struct {\n\t*EncoderConfig\n\tbuf            *buffer.Buffer\n\tspaced         bool // include spaces after colons and commas\n\topenNamespaces int\n}\n\n// NewJSONEncoder creates a fast, low-allocation JSON encoder. The encoder\n// appropriately escapes all field keys and values.\n//\n// Note that the encoder doesn't deduplicate keys, so it's possible to produce\n// a message like\n//   {\"foo\":\"bar\",\"foo\":\"baz\"}\n// This is permitted by the JSON specification, but not encouraged. Many\n// libraries will ignore duplicate key-value pairs (typically keeping the last\n// pair) when unmarshaling, but users should attempt to avoid adding duplicate\n// keys.\nfunc NewJSONEncoder(cfg EncoderConfig) Encoder {\n\treturn newJSONEncoder(cfg, false)\n}\n\nfunc newJSONEncoder(cfg EncoderConfig, spaced bool) *jsonEncoder {\n\treturn &jsonEncoder{\n\t\tEncoderConfig: &cfg,\n\t\tbuf:           bufferpool.Get(),\n\t\tspaced:        spaced,\n\t}\n}\n\nfunc (enc *jsonEncoder) AddArray(key string, arr ArrayMarshaler) error {\n\tenc.addKey(key)\n\treturn enc.AppendArray(arr)\n}\n\nfunc (enc *jsonEncoder) AddObject(key string, obj ObjectMarshaler) error {\n\tenc.addKey(key)\n\treturn enc.AppendObject(obj)\n}\n\nfunc (enc *jsonEncoder) AddBinary(key string, val []byte) {\n\tenc.AddString(key, base64.StdEncoding.EncodeToString(val))\n}\n\nfunc (enc *jsonEncoder) AddByteString(key string, val []byte) {\n\tenc.addKey(key)\n\tenc.AppendByteString(val)\n}\n\nfunc (enc *jsonEncoder) AddBool(key string, val bool) {\n\tenc.addKey(key)\n\tenc.AppendBool(val)\n}\n\nfunc (enc *jsonEncoder) AddComplex128(key string, val complex128) {\n\tenc.addKey(key)\n\tenc.AppendComplex128(val)\n}\n\nfunc (enc *jsonEncoder) AddDuration(key string, val time.Duration) {\n\tenc.addKey(key)\n\tenc.AppendDuration(val)\n}\n\nfunc (enc *jsonEncoder) AddFloat64(key string, val float64) {\n\tenc.addKey(key)\n\tenc.AppendFloat64(val)\n}\n\nfunc (enc *jsonEncoder) AddInt64(key string, val int64) {\n\tenc.addKey(key)\n\tenc.AppendInt64(val)\n}\n\nfunc (enc *jsonEncoder) AddReflected(key string, obj interface{}) error {\n\tmarshaled, err := json.Marshal(obj)\n\tif err != nil {\n\t\treturn err\n\t}\n\tenc.addKey(key)\n\t_, err = enc.buf.Write(marshaled)\n\treturn err\n}\n\nfunc (enc *jsonEncoder) OpenNamespace(key string) {\n\tenc.addKey(key)\n\tenc.buf.AppendByte('{')\n\tenc.openNamespaces++\n}\n\nfunc (enc *jsonEncoder) AddString(key, val string) {\n\tenc.addKey(key)\n\tenc.AppendString(val)\n}\n\nfunc (enc *jsonEncoder) AddTime(key string, val time.Time) {\n\tenc.addKey(key)\n\tenc.AppendTime(val)\n}\n\nfunc (enc *jsonEncoder) AddUint64(key string, val uint64) {\n\tenc.addKey(key)\n\tenc.AppendUint64(val)\n}\n\nfunc (enc *jsonEncoder) AppendArray(arr ArrayMarshaler) error {\n\tenc.addElementSeparator()\n\tenc.buf.AppendByte('[')\n\terr := arr.MarshalLogArray(enc)\n\tenc.buf.AppendByte(']')\n\treturn err\n}\n\nfunc (enc *jsonEncoder) AppendObject(obj ObjectMarshaler) error {\n\tenc.addElementSeparator()\n\tenc.buf.AppendByte('{')\n\terr := obj.MarshalLogObject(enc)\n\tenc.buf.AppendByte('}')\n\treturn err\n}\n\nfunc (enc *jsonEncoder) AppendBool(val bool) {\n\tenc.addElementSeparator()\n\tenc.buf.AppendBool(val)\n}\n\nfunc (enc *jsonEncoder) AppendByteString(val []byte) {\n\tenc.addElementSeparator()\n\tenc.buf.AppendByte('\"')\n\tenc.safeAddByteString(val)\n\tenc.buf.AppendByte('\"')\n}\n\nfunc (enc *jsonEncoder) AppendComplex128(val complex128) {\n\tenc.addElementSeparator()\n\t// Cast to a platform-independent, fixed-size type.\n\tr, i := float64(real(val)), float64(imag(val))\n\tenc.buf.AppendByte('\"')\n\t// Because we're always in a quoted string, we can use strconv without\n\t// special-casing NaN and +/-Inf.\n\tenc.buf.AppendFloat(r, 64)\n\tenc.buf.AppendByte('+')\n\tenc.buf.AppendFloat(i, 64)\n\tenc.buf.AppendByte('i')\n\tenc.buf.AppendByte('\"')\n}\n\nfunc (enc *jsonEncoder) AppendDuration(val time.Duration) {\n\tcur := enc.buf.Len()\n\tenc.EncodeDuration(val, enc)\n\tif cur == enc.buf.Len() {\n\t\t// User-supplied EncodeDuration is a no-op. Fall back to nanoseconds to keep\n\t\t// JSON valid.\n\t\tenc.AppendInt64(int64(val))\n\t}\n}\n\nfunc (enc *jsonEncoder) AppendInt64(val int64) {\n\tenc.addElementSeparator()\n\tenc.buf.AppendInt(val)\n}\n\nfunc (enc *jsonEncoder) AppendReflected(val interface{}) error {\n\tmarshaled, err := json.Marshal(val)\n\tif err != nil {\n\t\treturn err\n\t}\n\tenc.addElementSeparator()\n\t_, err = enc.buf.Write(marshaled)\n\treturn err\n}\n\nfunc (enc *jsonEncoder) AppendString(val string) {\n\tenc.addElementSeparator()\n\tenc.buf.AppendByte('\"')\n\tenc.safeAddString(val)\n\tenc.buf.AppendByte('\"')\n}\n\nfunc (enc *jsonEncoder) AppendTime(val time.Time) {\n\tcur := enc.buf.Len()\n\tenc.EncodeTime(val, enc)\n\tif cur == enc.buf.Len() {\n\t\t// User-supplied EncodeTime is a no-op. Fall back to nanos since epoch to keep\n\t\t// output JSON valid.\n\t\tenc.AppendInt64(val.UnixNano())\n\t}\n}\n\nfunc (enc *jsonEncoder) AppendUint64(val uint64) {\n\tenc.addElementSeparator()\n\tenc.buf.AppendUint(val)\n}\n\nfunc (enc *jsonEncoder) AddComplex64(k string, v complex64) { enc.AddComplex128(k, complex128(v)) }\nfunc (enc *jsonEncoder) AddFloat32(k string, v float32)     { enc.AddFloat64(k, float64(v)) }\nfunc (enc *jsonEncoder) AddInt(k string, v int)             { enc.AddInt64(k, int64(v)) }\nfunc (enc *jsonEncoder) AddInt32(k string, v int32)         { enc.AddInt64(k, int64(v)) }\nfunc (enc *jsonEncoder) AddInt16(k string, v int16)         { enc.AddInt64(k, int64(v)) }\nfunc (enc *jsonEncoder) AddInt8(k string, v int8)           { enc.AddInt64(k, int64(v)) }\nfunc (enc *jsonEncoder) AddUint(k string, v uint)           { enc.AddUint64(k, uint64(v)) }\nfunc (enc *jsonEncoder) AddUint32(k string, v uint32)       { enc.AddUint64(k, uint64(v)) }\nfunc (enc *jsonEncoder) AddUint16(k string, v uint16)       { enc.AddUint64(k, uint64(v)) }\nfunc (enc *jsonEncoder) AddUint8(k string, v uint8)         { enc.AddUint64(k, uint64(v)) }\nfunc (enc *jsonEncoder) AddUintptr(k string, v uintptr)     { enc.AddUint64(k, uint64(v)) }\nfunc (enc *jsonEncoder) AppendComplex64(v complex64)        { enc.AppendComplex128(complex128(v)) }\nfunc (enc *jsonEncoder) AppendFloat64(v float64)            { enc.appendFloat(v, 64) }\nfunc (enc *jsonEncoder) AppendFloat32(v float32)            { enc.appendFloat(float64(v), 32) }\nfunc (enc *jsonEncoder) AppendInt(v int)                    { enc.AppendInt64(int64(v)) }\nfunc (enc *jsonEncoder) AppendInt32(v int32)                { enc.AppendInt64(int64(v)) }\nfunc (enc *jsonEncoder) AppendInt16(v int16)                { enc.AppendInt64(int64(v)) }\nfunc (enc *jsonEncoder) AppendInt8(v int8)                  { enc.AppendInt64(int64(v)) }\nfunc (enc *jsonEncoder) AppendUint(v uint)                  { enc.AppendUint64(uint64(v)) }\nfunc (enc *jsonEncoder) AppendUint32(v uint32)              { enc.AppendUint64(uint64(v)) }\nfunc (enc *jsonEncoder) AppendUint16(v uint16)              { enc.AppendUint64(uint64(v)) }\nfunc (enc *jsonEncoder) AppendUint8(v uint8)                { enc.AppendUint64(uint64(v)) }\nfunc (enc *jsonEncoder) AppendUintptr(v uintptr)            { enc.AppendUint64(uint64(v)) }\n\nfunc (enc *jsonEncoder) Clone() Encoder {\n\tclone := enc.clone()\n\tclone.buf.Write(enc.buf.Bytes())\n\treturn clone\n}\n\nfunc (enc *jsonEncoder) clone() *jsonEncoder {\n\tclone := getJSONEncoder()\n\tclone.EncoderConfig = enc.EncoderConfig\n\tclone.spaced = enc.spaced\n\tclone.openNamespaces = enc.openNamespaces\n\tclone.buf = bufferpool.Get()\n\treturn clone\n}\n\nfunc (enc *jsonEncoder) EncodeEntry(ent Entry, fields []Field) (*buffer.Buffer, error) {\n\tfinal := enc.clone()\n\tfinal.buf.AppendByte('{')\n\n\tif final.LevelKey != \"\" {\n\t\tfinal.addKey(final.LevelKey)\n\t\tcur := final.buf.Len()\n\t\tfinal.EncodeLevel(ent.Level, final)\n\t\tif cur == final.buf.Len() {\n\t\t\t// User-supplied EncodeLevel was a no-op. Fall back to strings to keep\n\t\t\t// output JSON valid.\n\t\t\tfinal.AppendString(ent.Level.String())\n\t\t}\n\t}\n\tif final.TimeKey != \"\" {\n\t\tfinal.AddTime(final.TimeKey, ent.Time)\n\t}\n\tif ent.LoggerName != \"\" && final.NameKey != \"\" {\n\t\tfinal.addKey(final.NameKey)\n\t\tcur := final.buf.Len()\n\t\tnameEncoder := final.EncodeName\n\n\t\t// if no name encoder provided, fall back to FullNameEncoder for backwards\n\t\t// compatibility\n\t\tif nameEncoder == nil {\n\t\t\tnameEncoder = FullNameEncoder\n\t\t}\n\n\t\tnameEncoder(ent.LoggerName, final)\n\t\tif cur == final.buf.Len() {\n\t\t\t// User-supplied EncodeName was a no-op. Fall back to strings to\n\t\t\t// keep output JSON valid.\n\t\t\tfinal.AppendString(ent.LoggerName)\n\t\t}\n\t}\n\tif ent.Caller.Defined && final.CallerKey != \"\" {\n\t\tfinal.addKey(final.CallerKey)\n\t\tcur := final.buf.Len()\n\t\tfinal.EncodeCaller(ent.Caller, final)\n\t\tif cur == final.buf.Len() {\n\t\t\t// User-supplied EncodeCaller was a no-op. Fall back to strings to\n\t\t\t// keep output JSON valid.\n\t\t\tfinal.AppendString(ent.Caller.String())\n\t\t}\n\t}\n\tif final.MessageKey != \"\" {\n\t\tfinal.addKey(enc.MessageKey)\n\t\tfinal.AppendString(ent.Message)\n\t}\n\tif enc.buf.Len() > 0 {\n\t\tfinal.addElementSeparator()\n\t\tfinal.buf.Write(enc.buf.Bytes())\n\t}\n\taddFields(final, fields)\n\tfinal.closeOpenNamespaces()\n\tif ent.Stack != \"\" && final.StacktraceKey != \"\" {\n\t\tfinal.AddString(final.StacktraceKey, ent.Stack)\n\t}\n\tfinal.buf.AppendByte('}')\n\tif final.LineEnding != \"\" {\n\t\tfinal.buf.AppendString(final.LineEnding)\n\t} else {\n\t\tfinal.buf.AppendString(DefaultLineEnding)\n\t}\n\n\tret := final.buf\n\tputJSONEncoder(final)\n\treturn ret, nil\n}\n\nfunc (enc *jsonEncoder) truncate() {\n\tenc.buf.Reset()\n}\n\nfunc (enc *jsonEncoder) closeOpenNamespaces() {\n\tfor i := 0; i < enc.openNamespaces; i++ {\n\t\tenc.buf.AppendByte('}')\n\t}\n}\n\nfunc (enc *jsonEncoder) addKey(key string) {\n\tenc.addElementSeparator()\n\tenc.buf.AppendByte('\"')\n\tenc.safeAddString(key)\n\tenc.buf.AppendByte('\"')\n\tenc.buf.AppendByte(':')\n\tif enc.spaced {\n\t\tenc.buf.AppendByte(' ')\n\t}\n}\n\nfunc (enc *jsonEncoder) addElementSeparator() {\n\tlast := enc.buf.Len() - 1\n\tif last < 0 {\n\t\treturn\n\t}\n\tswitch enc.buf.Bytes()[last] {\n\tcase '{', '[', ':', ',', ' ':\n\t\treturn\n\tdefault:\n\t\tenc.buf.AppendByte(',')\n\t\tif enc.spaced {\n\t\t\tenc.buf.AppendByte(' ')\n\t\t}\n\t}\n}\n\nfunc (enc *jsonEncoder) appendFloat(val float64, bitSize int) {\n\tenc.addElementSeparator()\n\tswitch {\n\tcase math.IsNaN(val):\n\t\tenc.buf.AppendString(`\"NaN\"`)\n\tcase math.IsInf(val, 1):\n\t\tenc.buf.AppendString(`\"+Inf\"`)\n\tcase math.IsInf(val, -1):\n\t\tenc.buf.AppendString(`\"-Inf\"`)\n\tdefault:\n\t\tenc.buf.AppendFloat(val, bitSize)\n\t}\n}\n\n// safeAddString JSON-escapes a string and appends it to the internal buffer.\n// Unlike the standard library's encoder, it doesn't attempt to protect the\n// user from browser vulnerabilities or JSONP-related problems.\nfunc (enc *jsonEncoder) safeAddString(s string) {\n\tfor i := 0; i < len(s); {\n\t\tif enc.tryAddRuneSelf(s[i]) {\n\t\t\ti++\n\t\t\tcontinue\n\t\t}\n\t\tr, size := utf8.DecodeRuneInString(s[i:])\n\t\tif enc.tryAddRuneError(r, size) {\n\t\t\ti++\n\t\t\tcontinue\n\t\t}\n\t\tenc.buf.AppendString(s[i : i+size])\n\t\ti += size\n\t}\n}\n\n// safeAddByteString is no-alloc equivalent of safeAddString(string(s)) for s []byte.\nfunc (enc *jsonEncoder) safeAddByteString(s []byte) {\n\tfor i := 0; i < len(s); {\n\t\tif enc.tryAddRuneSelf(s[i]) {\n\t\t\ti++\n\t\t\tcontinue\n\t\t}\n\t\tr, size := utf8.DecodeRune(s[i:])\n\t\tif enc.tryAddRuneError(r, size) {\n\t\t\ti++\n\t\t\tcontinue\n\t\t}\n\t\tenc.buf.Write(s[i : i+size])\n\t\ti += size\n\t}\n}\n\n// tryAddRuneSelf appends b if it is valid UTF-8 character represented in a single byte.\nfunc (enc *jsonEncoder) tryAddRuneSelf(b byte) bool {\n\tif b >= utf8.RuneSelf {\n\t\treturn false\n\t}\n\tif 0x20 <= b && b != '\\\\' && b != '\"' {\n\t\tenc.buf.AppendByte(b)\n\t\treturn true\n\t}\n\tswitch b {\n\tcase '\\\\', '\"':\n\t\tenc.buf.AppendByte('\\\\')\n\t\tenc.buf.AppendByte(b)\n\tcase '\\n':\n\t\tenc.buf.AppendByte('\\\\')\n\t\tenc.buf.AppendByte('n')\n\tcase '\\r':\n\t\tenc.buf.AppendByte('\\\\')\n\t\tenc.buf.AppendByte('r')\n\tcase '\\t':\n\t\tenc.buf.AppendByte('\\\\')\n\t\tenc.buf.AppendByte('t')\n\tdefault:\n\t\t// Encode bytes < 0x20, except for the escape sequences above.\n\t\tenc.buf.AppendString(`\\u00`)\n\t\tenc.buf.AppendByte(_hex[b>>4])\n\t\tenc.buf.AppendByte(_hex[b&0xF])\n\t}\n\treturn true\n}\n\nfunc (enc *jsonEncoder) tryAddRuneError(r rune, size int) bool {\n\tif r == utf8.RuneError && size == 1 {\n\t\tenc.buf.AppendString(`\\ufffd`)\n\t\treturn true\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/level.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n)\n\nvar errUnmarshalNilLevel = errors.New(\"can't unmarshal a nil *Level\")\n\n// A Level is a logging priority. Higher levels are more important.\ntype Level int8\n\nconst (\n\t// DebugLevel logs are typically voluminous, and are usually disabled in\n\t// production.\n\tDebugLevel Level = iota - 1\n\t// InfoLevel is the default logging priority.\n\tInfoLevel\n\t// WarnLevel logs are more important than Info, but don't need individual\n\t// human review.\n\tWarnLevel\n\t// ErrorLevel logs are high-priority. If an application is running smoothly,\n\t// it shouldn't generate any error-level logs.\n\tErrorLevel\n\t// DPanicLevel logs are particularly important errors. In development the\n\t// logger panics after writing the message.\n\tDPanicLevel\n\t// PanicLevel logs a message, then panics.\n\tPanicLevel\n\t// FatalLevel logs a message, then calls os.Exit(1).\n\tFatalLevel\n\n\t_minLevel = DebugLevel\n\t_maxLevel = FatalLevel\n)\n\n// String returns a lower-case ASCII representation of the log level.\nfunc (l Level) String() string {\n\tswitch l {\n\tcase DebugLevel:\n\t\treturn \"debug\"\n\tcase InfoLevel:\n\t\treturn \"info\"\n\tcase WarnLevel:\n\t\treturn \"warn\"\n\tcase ErrorLevel:\n\t\treturn \"error\"\n\tcase DPanicLevel:\n\t\treturn \"dpanic\"\n\tcase PanicLevel:\n\t\treturn \"panic\"\n\tcase FatalLevel:\n\t\treturn \"fatal\"\n\tdefault:\n\t\treturn fmt.Sprintf(\"Level(%d)\", l)\n\t}\n}\n\n// CapitalString returns an all-caps ASCII representation of the log level.\nfunc (l Level) CapitalString() string {\n\t// Printing levels in all-caps is common enough that we should export this\n\t// functionality.\n\tswitch l {\n\tcase DebugLevel:\n\t\treturn \"DEBUG\"\n\tcase InfoLevel:\n\t\treturn \"INFO\"\n\tcase WarnLevel:\n\t\treturn \"WARN\"\n\tcase ErrorLevel:\n\t\treturn \"ERROR\"\n\tcase DPanicLevel:\n\t\treturn \"DPANIC\"\n\tcase PanicLevel:\n\t\treturn \"PANIC\"\n\tcase FatalLevel:\n\t\treturn \"FATAL\"\n\tdefault:\n\t\treturn fmt.Sprintf(\"LEVEL(%d)\", l)\n\t}\n}\n\n// MarshalText marshals the Level to text. Note that the text representation\n// drops the -Level suffix (see example).\nfunc (l Level) MarshalText() ([]byte, error) {\n\treturn []byte(l.String()), nil\n}\n\n// UnmarshalText unmarshals text to a level. Like MarshalText, UnmarshalText\n// expects the text representation of a Level to drop the -Level suffix (see\n// example).\n//\n// In particular, this makes it easy to configure logging levels using YAML,\n// TOML, or JSON files.\nfunc (l *Level) UnmarshalText(text []byte) error {\n\tif l == nil {\n\t\treturn errUnmarshalNilLevel\n\t}\n\tif !l.unmarshalText(text) && !l.unmarshalText(bytes.ToLower(text)) {\n\t\treturn fmt.Errorf(\"unrecognized level: %q\", text)\n\t}\n\treturn nil\n}\n\nfunc (l *Level) unmarshalText(text []byte) bool {\n\tswitch string(text) {\n\tcase \"debug\", \"DEBUG\":\n\t\t*l = DebugLevel\n\tcase \"info\", \"INFO\", \"\": // make the zero value useful\n\t\t*l = InfoLevel\n\tcase \"warn\", \"WARN\":\n\t\t*l = WarnLevel\n\tcase \"error\", \"ERROR\":\n\t\t*l = ErrorLevel\n\tcase \"dpanic\", \"DPANIC\":\n\t\t*l = DPanicLevel\n\tcase \"panic\", \"PANIC\":\n\t\t*l = PanicLevel\n\tcase \"fatal\", \"FATAL\":\n\t\t*l = FatalLevel\n\tdefault:\n\t\treturn false\n\t}\n\treturn true\n}\n\n// Set sets the level for the flag.Value interface.\nfunc (l *Level) Set(s string) error {\n\treturn l.UnmarshalText([]byte(s))\n}\n\n// Get gets the level for the flag.Getter interface.\nfunc (l *Level) Get() interface{} {\n\treturn *l\n}\n\n// Enabled returns true if the given level is at or above this level.\nfunc (l Level) Enabled(lvl Level) bool {\n\treturn lvl >= l\n}\n\n// LevelEnabler decides whether a given logging level is enabled when logging a\n// message.\n//\n// Enablers are intended to be used to implement deterministic filters;\n// concerns like sampling are better implemented as a Core.\n//\n// Each concrete Level value implements a static LevelEnabler which returns\n// true for itself and all higher logging levels. For example WarnLevel.Enabled()\n// will return true for WarnLevel, ErrorLevel, DPanicLevel, PanicLevel, and\n// FatalLevel, but return false for InfoLevel and DebugLevel.\ntype LevelEnabler interface {\n\tEnabled(Level) bool\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/level_strings.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport \"go.uber.org/zap/internal/color\"\n\nvar (\n\t_levelToColor = map[Level]color.Color{\n\t\tDebugLevel:  color.Magenta,\n\t\tInfoLevel:   color.Blue,\n\t\tWarnLevel:   color.Yellow,\n\t\tErrorLevel:  color.Red,\n\t\tDPanicLevel: color.Red,\n\t\tPanicLevel:  color.Red,\n\t\tFatalLevel:  color.Red,\n\t}\n\t_unknownLevelColor = color.Red\n\n\t_levelToLowercaseColorString = make(map[Level]string, len(_levelToColor))\n\t_levelToCapitalColorString   = make(map[Level]string, len(_levelToColor))\n)\n\nfunc init() {\n\tfor level, color := range _levelToColor {\n\t\t_levelToLowercaseColorString[level] = color.Add(level.String())\n\t\t_levelToCapitalColorString[level] = color.Add(level.CapitalString())\n\t}\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/marshaler.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\n// ObjectMarshaler allows user-defined types to efficiently add themselves to the\n// logging context, and to selectively omit information which shouldn't be\n// included in logs (e.g., passwords).\ntype ObjectMarshaler interface {\n\tMarshalLogObject(ObjectEncoder) error\n}\n\n// ObjectMarshalerFunc is a type adapter that turns a function into an\n// ObjectMarshaler.\ntype ObjectMarshalerFunc func(ObjectEncoder) error\n\n// MarshalLogObject calls the underlying function.\nfunc (f ObjectMarshalerFunc) MarshalLogObject(enc ObjectEncoder) error {\n\treturn f(enc)\n}\n\n// ArrayMarshaler allows user-defined types to efficiently add themselves to the\n// logging context, and to selectively omit information which shouldn't be\n// included in logs (e.g., passwords).\ntype ArrayMarshaler interface {\n\tMarshalLogArray(ArrayEncoder) error\n}\n\n// ArrayMarshalerFunc is a type adapter that turns a function into an\n// ArrayMarshaler.\ntype ArrayMarshalerFunc func(ArrayEncoder) error\n\n// MarshalLogArray calls the underlying function.\nfunc (f ArrayMarshalerFunc) MarshalLogArray(enc ArrayEncoder) error {\n\treturn f(enc)\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/memory_encoder.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport \"time\"\n\n// MapObjectEncoder is an ObjectEncoder backed by a simple\n// map[string]interface{}. It's not fast enough for production use, but it's\n// helpful in tests.\ntype MapObjectEncoder struct {\n\t// Fields contains the entire encoded log context.\n\tFields map[string]interface{}\n\t// cur is a pointer to the namespace we're currently writing to.\n\tcur map[string]interface{}\n}\n\n// NewMapObjectEncoder creates a new map-backed ObjectEncoder.\nfunc NewMapObjectEncoder() *MapObjectEncoder {\n\tm := make(map[string]interface{})\n\treturn &MapObjectEncoder{\n\t\tFields: m,\n\t\tcur:    m,\n\t}\n}\n\n// AddArray implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddArray(key string, v ArrayMarshaler) error {\n\tarr := &sliceArrayEncoder{}\n\terr := v.MarshalLogArray(arr)\n\tm.cur[key] = arr.elems\n\treturn err\n}\n\n// AddObject implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddObject(k string, v ObjectMarshaler) error {\n\tnewMap := NewMapObjectEncoder()\n\tm.cur[k] = newMap.Fields\n\treturn v.MarshalLogObject(newMap)\n}\n\n// AddBinary implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddBinary(k string, v []byte) { m.cur[k] = v }\n\n// AddByteString implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddByteString(k string, v []byte) { m.cur[k] = string(v) }\n\n// AddBool implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddBool(k string, v bool) { m.cur[k] = v }\n\n// AddDuration implements ObjectEncoder.\nfunc (m MapObjectEncoder) AddDuration(k string, v time.Duration) { m.cur[k] = v }\n\n// AddComplex128 implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddComplex128(k string, v complex128) { m.cur[k] = v }\n\n// AddComplex64 implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddComplex64(k string, v complex64) { m.cur[k] = v }\n\n// AddFloat64 implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddFloat64(k string, v float64) { m.cur[k] = v }\n\n// AddFloat32 implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddFloat32(k string, v float32) { m.cur[k] = v }\n\n// AddInt implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddInt(k string, v int) { m.cur[k] = v }\n\n// AddInt64 implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddInt64(k string, v int64) { m.cur[k] = v }\n\n// AddInt32 implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddInt32(k string, v int32) { m.cur[k] = v }\n\n// AddInt16 implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddInt16(k string, v int16) { m.cur[k] = v }\n\n// AddInt8 implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddInt8(k string, v int8) { m.cur[k] = v }\n\n// AddString implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddString(k string, v string) { m.cur[k] = v }\n\n// AddTime implements ObjectEncoder.\nfunc (m MapObjectEncoder) AddTime(k string, v time.Time) { m.cur[k] = v }\n\n// AddUint implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddUint(k string, v uint) { m.cur[k] = v }\n\n// AddUint64 implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddUint64(k string, v uint64) { m.cur[k] = v }\n\n// AddUint32 implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddUint32(k string, v uint32) { m.cur[k] = v }\n\n// AddUint16 implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddUint16(k string, v uint16) { m.cur[k] = v }\n\n// AddUint8 implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddUint8(k string, v uint8) { m.cur[k] = v }\n\n// AddUintptr implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddUintptr(k string, v uintptr) { m.cur[k] = v }\n\n// AddReflected implements ObjectEncoder.\nfunc (m *MapObjectEncoder) AddReflected(k string, v interface{}) error {\n\tm.cur[k] = v\n\treturn nil\n}\n\n// OpenNamespace implements ObjectEncoder.\nfunc (m *MapObjectEncoder) OpenNamespace(k string) {\n\tns := make(map[string]interface{})\n\tm.cur[k] = ns\n\tm.cur = ns\n}\n\n// sliceArrayEncoder is an ArrayEncoder backed by a simple []interface{}. Like\n// the MapObjectEncoder, it's not designed for production use.\ntype sliceArrayEncoder struct {\n\telems []interface{}\n}\n\nfunc (s *sliceArrayEncoder) AppendArray(v ArrayMarshaler) error {\n\tenc := &sliceArrayEncoder{}\n\terr := v.MarshalLogArray(enc)\n\ts.elems = append(s.elems, enc.elems)\n\treturn err\n}\n\nfunc (s *sliceArrayEncoder) AppendObject(v ObjectMarshaler) error {\n\tm := NewMapObjectEncoder()\n\terr := v.MarshalLogObject(m)\n\ts.elems = append(s.elems, m.Fields)\n\treturn err\n}\n\nfunc (s *sliceArrayEncoder) AppendReflected(v interface{}) error {\n\ts.elems = append(s.elems, v)\n\treturn nil\n}\n\nfunc (s *sliceArrayEncoder) AppendBool(v bool)              { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendByteString(v []byte)      { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendComplex128(v complex128)  { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendComplex64(v complex64)    { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendDuration(v time.Duration) { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendFloat64(v float64)        { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendFloat32(v float32)        { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendInt(v int)                { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendInt64(v int64)            { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendInt32(v int32)            { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendInt16(v int16)            { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendInt8(v int8)              { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendString(v string)          { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendTime(v time.Time)         { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendUint(v uint)              { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendUint64(v uint64)          { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendUint32(v uint32)          { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendUint16(v uint16)          { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendUint8(v uint8)            { s.elems = append(s.elems, v) }\nfunc (s *sliceArrayEncoder) AppendUintptr(v uintptr)        { s.elems = append(s.elems, v) }\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/sampler.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport (\n\t\"time\"\n\n\t\"go.uber.org/atomic\"\n)\n\nconst (\n\t_numLevels        = _maxLevel - _minLevel + 1\n\t_countersPerLevel = 4096\n)\n\ntype counter struct {\n\tresetAt atomic.Int64\n\tcounter atomic.Uint64\n}\n\ntype counters [_numLevels][_countersPerLevel]counter\n\nfunc newCounters() *counters {\n\treturn &counters{}\n}\n\nfunc (cs *counters) get(lvl Level, key string) *counter {\n\ti := lvl - _minLevel\n\tj := fnv32a(key) % _countersPerLevel\n\treturn &cs[i][j]\n}\n\n// fnv32a, adapted from \"hash/fnv\", but without a []byte(string) alloc\nfunc fnv32a(s string) uint32 {\n\tconst (\n\t\toffset32 = 2166136261\n\t\tprime32  = 16777619\n\t)\n\thash := uint32(offset32)\n\tfor i := 0; i < len(s); i++ {\n\t\thash ^= uint32(s[i])\n\t\thash *= prime32\n\t}\n\treturn hash\n}\n\nfunc (c *counter) IncCheckReset(t time.Time, tick time.Duration) uint64 {\n\ttn := t.UnixNano()\n\tresetAfter := c.resetAt.Load()\n\tif resetAfter > tn {\n\t\treturn c.counter.Inc()\n\t}\n\n\tc.counter.Store(1)\n\n\tnewResetAfter := tn + tick.Nanoseconds()\n\tif !c.resetAt.CAS(resetAfter, newResetAfter) {\n\t\t// We raced with another goroutine trying to reset, and it also reset\n\t\t// the counter to 1, so we need to reincrement the counter.\n\t\treturn c.counter.Inc()\n\t}\n\n\treturn 1\n}\n\ntype sampler struct {\n\tCore\n\n\tcounts            *counters\n\ttick              time.Duration\n\tfirst, thereafter uint64\n}\n\n// NewSampler creates a Core that samples incoming entries, which caps the CPU\n// and I/O load of logging while attempting to preserve a representative subset\n// of your logs.\n//\n// Zap samples by logging the first N entries with a given level and message\n// each tick. If more Entries with the same level and message are seen during\n// the same interval, every Mth message is logged and the rest are dropped.\n//\n// Keep in mind that zap's sampling implementation is optimized for speed over\n// absolute precision; under load, each tick may be slightly over- or\n// under-sampled.\nfunc NewSampler(core Core, tick time.Duration, first, thereafter int) Core {\n\treturn &sampler{\n\t\tCore:       core,\n\t\ttick:       tick,\n\t\tcounts:     newCounters(),\n\t\tfirst:      uint64(first),\n\t\tthereafter: uint64(thereafter),\n\t}\n}\n\nfunc (s *sampler) With(fields []Field) Core {\n\treturn &sampler{\n\t\tCore:       s.Core.With(fields),\n\t\ttick:       s.tick,\n\t\tcounts:     s.counts,\n\t\tfirst:      s.first,\n\t\tthereafter: s.thereafter,\n\t}\n}\n\nfunc (s *sampler) Check(ent Entry, ce *CheckedEntry) *CheckedEntry {\n\tif !s.Enabled(ent.Level) {\n\t\treturn ce\n\t}\n\n\tcounter := s.counts.get(ent.Level, ent.Message)\n\tn := counter.IncCheckReset(ent.Time, s.tick)\n\tif n > s.first && (n-s.first)%s.thereafter != 0 {\n\t\treturn ce\n\t}\n\treturn s.Core.Check(ent, ce)\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/tee.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport \"go.uber.org/multierr\"\n\ntype multiCore []Core\n\n// NewTee creates a Core that duplicates log entries into two or more\n// underlying Cores.\n//\n// Calling it with a single Core returns the input unchanged, and calling\n// it with no input returns a no-op Core.\nfunc NewTee(cores ...Core) Core {\n\tswitch len(cores) {\n\tcase 0:\n\t\treturn NewNopCore()\n\tcase 1:\n\t\treturn cores[0]\n\tdefault:\n\t\treturn multiCore(cores)\n\t}\n}\n\nfunc (mc multiCore) With(fields []Field) Core {\n\tclone := make(multiCore, len(mc))\n\tfor i := range mc {\n\t\tclone[i] = mc[i].With(fields)\n\t}\n\treturn clone\n}\n\nfunc (mc multiCore) Enabled(lvl Level) bool {\n\tfor i := range mc {\n\t\tif mc[i].Enabled(lvl) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunc (mc multiCore) Check(ent Entry, ce *CheckedEntry) *CheckedEntry {\n\tfor i := range mc {\n\t\tce = mc[i].Check(ent, ce)\n\t}\n\treturn ce\n}\n\nfunc (mc multiCore) Write(ent Entry, fields []Field) error {\n\tvar err error\n\tfor i := range mc {\n\t\terr = multierr.Append(err, mc[i].Write(ent, fields))\n\t}\n\treturn err\n}\n\nfunc (mc multiCore) Sync() error {\n\tvar err error\n\tfor i := range mc {\n\t\terr = multierr.Append(err, mc[i].Sync())\n\t}\n\treturn err\n}\n"
  },
  {
    "path": "vendor/go.uber.org/zap/zapcore/write_syncer.go",
    "content": "// Copyright (c) 2016 Uber Technologies, Inc.\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 deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// 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 FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage zapcore\n\nimport (\n\t\"io\"\n\t\"sync\"\n\n\t\"go.uber.org/multierr\"\n)\n\n// A WriteSyncer is an io.Writer that can also flush any buffered data. Note\n// that *os.File (and thus, os.Stderr and os.Stdout) implement WriteSyncer.\ntype WriteSyncer interface {\n\tio.Writer\n\tSync() error\n}\n\n// AddSync converts an io.Writer to a WriteSyncer. It attempts to be\n// intelligent: if the concrete type of the io.Writer implements WriteSyncer,\n// we'll use the existing Sync method. If it doesn't, we'll add a no-op Sync.\nfunc AddSync(w io.Writer) WriteSyncer {\n\tswitch w := w.(type) {\n\tcase WriteSyncer:\n\t\treturn w\n\tdefault:\n\t\treturn writerWrapper{w}\n\t}\n}\n\ntype lockedWriteSyncer struct {\n\tsync.Mutex\n\tws WriteSyncer\n}\n\n// Lock wraps a WriteSyncer in a mutex to make it safe for concurrent use. In\n// particular, *os.Files must be locked before use.\nfunc Lock(ws WriteSyncer) WriteSyncer {\n\tif _, ok := ws.(*lockedWriteSyncer); ok {\n\t\t// no need to layer on another lock\n\t\treturn ws\n\t}\n\treturn &lockedWriteSyncer{ws: ws}\n}\n\nfunc (s *lockedWriteSyncer) Write(bs []byte) (int, error) {\n\ts.Lock()\n\tn, err := s.ws.Write(bs)\n\ts.Unlock()\n\treturn n, err\n}\n\nfunc (s *lockedWriteSyncer) Sync() error {\n\ts.Lock()\n\terr := s.ws.Sync()\n\ts.Unlock()\n\treturn err\n}\n\ntype writerWrapper struct {\n\tio.Writer\n}\n\nfunc (w writerWrapper) Sync() error {\n\treturn nil\n}\n\ntype multiWriteSyncer []WriteSyncer\n\n// NewMultiWriteSyncer creates a WriteSyncer that duplicates its writes\n// and sync calls, much like io.MultiWriter.\nfunc NewMultiWriteSyncer(ws ...WriteSyncer) WriteSyncer {\n\tif len(ws) == 1 {\n\t\treturn ws[0]\n\t}\n\t// Copy to protect against https://github.com/golang/go/issues/7809\n\treturn multiWriteSyncer(append([]WriteSyncer(nil), ws...))\n}\n\n// See https://golang.org/src/io/multi.go\n// When not all underlying syncers write the same number of bytes,\n// the smallest number is returned even though Write() is called on\n// all of them.\nfunc (ws multiWriteSyncer) Write(p []byte) (int, error) {\n\tvar writeErr error\n\tnWritten := 0\n\tfor _, w := range ws {\n\t\tn, err := w.Write(p)\n\t\twriteErr = multierr.Append(writeErr, err)\n\t\tif nWritten == 0 && n != 0 {\n\t\t\tnWritten = n\n\t\t} else if n < nWritten {\n\t\t\tnWritten = n\n\t\t}\n\t}\n\treturn nWritten, writeErr\n}\n\nfunc (ws multiWriteSyncer) Sync() error {\n\tvar err error\n\tfor _, w := range ws {\n\t\terr = multierr.Append(err, w.Sync())\n\t}\n\treturn err\n}\n"
  },
  {
    "path": "vendor/golang.org/x/image/LICENSE",
    "content": "Copyright (c) 2009 The Go Authors. 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\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/golang.org/x/image/PATENTS",
    "content": "Additional IP Rights Grant (Patents)\n\n\"This implementation\" means the copyrightable works distributed by\nGoogle as part of the Go project.\n\nGoogle hereby grants to You a perpetual, worldwide, non-exclusive,\nno-charge, royalty-free, irrevocable (except as stated in this section)\npatent license to make, have made, use, offer to sell, sell, import,\ntransfer and otherwise run, modify and propagate the contents of this\nimplementation of Go, where such license applies only to those patent\nclaims, both currently owned or controlled by Google and acquired in\nthe future, licensable by Google that are necessarily infringed by this\nimplementation of Go.  This grant does not include claims that would be\ninfringed only as a consequence of further modification of this\nimplementation.  If you or your agent or exclusive licensee institute or\norder or agree to the institution of patent litigation against any\nentity (including a cross-claim or counterclaim in a lawsuit) alleging\nthat this implementation of Go or any code incorporated within this\nimplementation of Go constitutes direct or contributory patent\ninfringement, or inducement of patent infringement, then any patent\nrights granted to you under this License for this implementation of Go\nshall terminate as of the date such litigation is filed.\n"
  },
  {
    "path": "vendor/golang.org/x/image/draw/draw.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package draw provides image composition functions.\n//\n// See \"The Go image/draw package\" for an introduction to this package:\n// http://golang.org/doc/articles/image_draw.html\n//\n// This package is a superset of and a drop-in replacement for the image/draw\n// package in the standard library.\npackage draw\n\n// This file, and the go1_*.go files, just contains the API exported by the\n// image/draw package in the standard library. Other files in this package\n// provide additional features.\n\nimport (\n\t\"image\"\n\t\"image/draw\"\n)\n\n// Draw calls DrawMask with a nil mask.\nfunc Draw(dst Image, r image.Rectangle, src image.Image, sp image.Point, op Op) {\n\tdraw.Draw(dst, r, src, sp, draw.Op(op))\n}\n\n// DrawMask aligns r.Min in dst with sp in src and mp in mask and then\n// replaces the rectangle r in dst with the result of a Porter-Duff\n// composition. A nil mask is treated as opaque.\nfunc DrawMask(dst Image, r image.Rectangle, src image.Image, sp image.Point, mask image.Image, mp image.Point, op Op) {\n\tdraw.DrawMask(dst, r, src, sp, mask, mp, draw.Op(op))\n}\n\n// FloydSteinberg is a Drawer that is the Src Op with Floyd-Steinberg error\n// diffusion.\nvar FloydSteinberg Drawer = floydSteinberg{}\n\ntype floydSteinberg struct{}\n\nfunc (floydSteinberg) Draw(dst Image, r image.Rectangle, src image.Image, sp image.Point) {\n\tdraw.FloydSteinberg.Draw(dst, r, src, sp)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/image/draw/gen.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\nimport (\n\t\"bytes\"\n\t\"flag\"\n\t\"fmt\"\n\t\"go/format\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"strings\"\n)\n\nvar debug = flag.Bool(\"debug\", false, \"\")\n\nfunc main() {\n\tflag.Parse()\n\n\tw := new(bytes.Buffer)\n\tw.WriteString(\"// generated by \\\"go run gen.go\\\". DO NOT EDIT.\\n\\n\" +\n\t\t\"package draw\\n\\nimport (\\n\" +\n\t\t\"\\\"image\\\"\\n\" +\n\t\t\"\\\"image/color\\\"\\n\" +\n\t\t\"\\\"math\\\"\\n\" +\n\t\t\"\\n\" +\n\t\t\"\\\"golang.org/x/image/math/f64\\\"\\n\" +\n\t\t\")\\n\")\n\n\tgen(w, \"nnInterpolator\", codeNNScaleLeaf, codeNNTransformLeaf)\n\tgen(w, \"ablInterpolator\", codeABLScaleLeaf, codeABLTransformLeaf)\n\tgenKernel(w)\n\n\tif *debug {\n\t\tos.Stdout.Write(w.Bytes())\n\t\treturn\n\t}\n\tout, err := format.Source(w.Bytes())\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tif err := ioutil.WriteFile(\"impl.go\", out, 0660); err != nil {\n\t\tlog.Fatal(err)\n\t}\n}\n\nvar (\n\t// dsTypes are the (dst image type, src image type) pairs to generate\n\t// scale_DType_SType implementations for. The last element in the slice\n\t// should be the fallback pair (\"Image\", \"image.Image\").\n\t//\n\t// TODO: add *image.CMYK src type after Go 1.5 is released.\n\t// An *image.CMYK is also alwaysOpaque.\n\tdsTypes = []struct{ dType, sType string }{\n\t\t{\"*image.RGBA\", \"*image.Gray\"},\n\t\t{\"*image.RGBA\", \"*image.NRGBA\"},\n\t\t{\"*image.RGBA\", \"*image.RGBA\"},\n\t\t{\"*image.RGBA\", \"*image.YCbCr\"},\n\t\t{\"*image.RGBA\", \"image.Image\"},\n\t\t{\"Image\", \"image.Image\"},\n\t}\n\tdTypes, sTypes  []string\n\tsTypesForDType  = map[string][]string{}\n\tsubsampleRatios = []string{\n\t\t\"444\",\n\t\t\"422\",\n\t\t\"420\",\n\t\t\"440\",\n\t}\n\tops = []string{\"Over\", \"Src\"}\n\t// alwaysOpaque are those image.Image implementations that are always\n\t// opaque. For these types, Over is equivalent to the faster Src, in the\n\t// absence of a source mask.\n\talwaysOpaque = map[string]bool{\n\t\t\"*image.Gray\":  true,\n\t\t\"*image.YCbCr\": true,\n\t}\n)\n\nfunc init() {\n\tdTypesSeen := map[string]bool{}\n\tsTypesSeen := map[string]bool{}\n\tfor _, t := range dsTypes {\n\t\tif !sTypesSeen[t.sType] {\n\t\t\tsTypesSeen[t.sType] = true\n\t\t\tsTypes = append(sTypes, t.sType)\n\t\t}\n\t\tif !dTypesSeen[t.dType] {\n\t\t\tdTypesSeen[t.dType] = true\n\t\t\tdTypes = append(dTypes, t.dType)\n\t\t}\n\t\tsTypesForDType[t.dType] = append(sTypesForDType[t.dType], t.sType)\n\t}\n\tsTypesForDType[\"anyDType\"] = sTypes\n}\n\ntype data struct {\n\tdType    string\n\tsType    string\n\tsratio   string\n\treceiver string\n\top       string\n}\n\nfunc gen(w *bytes.Buffer, receiver string, codes ...string) {\n\texpn(w, codeRoot, &data{receiver: receiver})\n\tfor _, code := range codes {\n\t\tfor _, t := range dsTypes {\n\t\t\tfor _, op := range ops {\n\t\t\t\tif op == \"Over\" && alwaysOpaque[t.sType] {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\texpn(w, code, &data{\n\t\t\t\t\tdType:    t.dType,\n\t\t\t\t\tsType:    t.sType,\n\t\t\t\t\treceiver: receiver,\n\t\t\t\t\top:       op,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc genKernel(w *bytes.Buffer) {\n\texpn(w, codeKernelRoot, &data{})\n\tfor _, sType := range sTypes {\n\t\texpn(w, codeKernelScaleLeafX, &data{\n\t\t\tsType: sType,\n\t\t})\n\t}\n\tfor _, dType := range dTypes {\n\t\tfor _, op := range ops {\n\t\t\texpn(w, codeKernelScaleLeafY, &data{\n\t\t\t\tdType: dType,\n\t\t\t\top:    op,\n\t\t\t})\n\t\t}\n\t}\n\tfor _, t := range dsTypes {\n\t\tfor _, op := range ops {\n\t\t\tif op == \"Over\" && alwaysOpaque[t.sType] {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\texpn(w, codeKernelTransformLeaf, &data{\n\t\t\t\tdType: t.dType,\n\t\t\t\tsType: t.sType,\n\t\t\t\top:    op,\n\t\t\t})\n\t\t}\n\t}\n}\n\nfunc expn(w *bytes.Buffer, code string, d *data) {\n\tif d.sType == \"*image.YCbCr\" && d.sratio == \"\" {\n\t\tfor _, sratio := range subsampleRatios {\n\t\t\te := *d\n\t\t\te.sratio = sratio\n\t\t\texpn(w, code, &e)\n\t\t}\n\t\treturn\n\t}\n\n\tfor _, line := range strings.Split(code, \"\\n\") {\n\t\tline = expnLine(line, d)\n\t\tif line == \";\" {\n\t\t\tcontinue\n\t\t}\n\t\tfmt.Fprintln(w, line)\n\t}\n}\n\nfunc expnLine(line string, d *data) string {\n\tfor {\n\t\ti := strings.IndexByte(line, '$')\n\t\tif i < 0 {\n\t\t\tbreak\n\t\t}\n\t\tprefix, s := line[:i], line[i+1:]\n\n\t\ti = len(s)\n\t\tfor j, c := range s {\n\t\t\tif !('A' <= c && c <= 'Z' || 'a' <= c && c <= 'z') {\n\t\t\t\ti = j\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tdollar, suffix := s[:i], s[i:]\n\n\t\te := expnDollar(prefix, dollar, suffix, d)\n\t\tif e == \"\" {\n\t\t\tlog.Fatalf(\"couldn't expand %q\", line)\n\t\t}\n\t\tline = e\n\t}\n\treturn line\n}\n\n// expnDollar expands a \"$foo\" fragment in a line of generated code. It returns\n// the empty string if there was a problem. It returns \";\" if the generated\n// code is a no-op.\nfunc expnDollar(prefix, dollar, suffix string, d *data) string {\n\tswitch dollar {\n\tcase \"dType\":\n\t\treturn prefix + d.dType + suffix\n\tcase \"dTypeRN\":\n\t\treturn prefix + relName(d.dType) + suffix\n\tcase \"sratio\":\n\t\treturn prefix + d.sratio + suffix\n\tcase \"sType\":\n\t\treturn prefix + d.sType + suffix\n\tcase \"sTypeRN\":\n\t\treturn prefix + relName(d.sType) + suffix\n\tcase \"receiver\":\n\t\treturn prefix + d.receiver + suffix\n\tcase \"op\":\n\t\treturn prefix + d.op + suffix\n\n\tcase \"switch\":\n\t\treturn expnSwitch(\"\", \"\", true, suffix)\n\tcase \"switchD\":\n\t\treturn expnSwitch(\"\", \"\", false, suffix)\n\tcase \"switchS\":\n\t\treturn expnSwitch(\"\", \"anyDType\", false, suffix)\n\n\tcase \"preOuter\":\n\t\tswitch d.dType {\n\t\tdefault:\n\t\t\treturn \";\"\n\t\tcase \"Image\":\n\t\t\ts := \"\"\n\t\t\tif d.sType == \"image.Image\" {\n\t\t\t\ts = \"srcMask, smp := opts.SrcMask, opts.SrcMaskP\\n\"\n\t\t\t}\n\t\t\treturn s +\n\t\t\t\t\"dstMask, dmp := opts.DstMask, opts.DstMaskP\\n\" +\n\t\t\t\t\"dstColorRGBA64 := &color.RGBA64{}\\n\" +\n\t\t\t\t\"dstColor := color.Color(dstColorRGBA64)\"\n\t\t}\n\n\tcase \"preInner\":\n\t\tswitch d.dType {\n\t\tdefault:\n\t\t\treturn \";\"\n\t\tcase \"*image.RGBA\":\n\t\t\treturn \"d := \" + pixOffset(\"dst\", \"dr.Min.X+adr.Min.X\", \"dr.Min.Y+int(dy)\", \"*4\", \"*dst.Stride\")\n\t\t}\n\n\tcase \"preKernelOuter\":\n\t\tswitch d.sType {\n\t\tdefault:\n\t\t\treturn \";\"\n\t\tcase \"image.Image\":\n\t\t\treturn \"srcMask, smp := opts.SrcMask, opts.SrcMaskP\"\n\t\t}\n\n\tcase \"preKernelInner\":\n\t\tswitch d.dType {\n\t\tdefault:\n\t\t\treturn \";\"\n\t\tcase \"*image.RGBA\":\n\t\t\treturn \"d := \" + pixOffset(\"dst\", \"dr.Min.X+int(dx)\", \"dr.Min.Y+adr.Min.Y\", \"*4\", \"*dst.Stride\")\n\t\t}\n\n\tcase \"blend\":\n\t\targs, _ := splitArgs(suffix)\n\t\tif len(args) != 4 {\n\t\t\treturn \"\"\n\t\t}\n\t\tswitch d.sType {\n\t\tdefault:\n\t\t\treturn argf(args, \"\"+\n\t\t\t\t\"$3r = $0*$1r + $2*$3r\\n\"+\n\t\t\t\t\"$3g = $0*$1g + $2*$3g\\n\"+\n\t\t\t\t\"$3b = $0*$1b + $2*$3b\\n\"+\n\t\t\t\t\"$3a = $0*$1a + $2*$3a\",\n\t\t\t)\n\t\tcase \"*image.Gray\":\n\t\t\treturn argf(args, \"\"+\n\t\t\t\t\"$3r = $0*$1r + $2*$3r\",\n\t\t\t)\n\t\tcase \"*image.YCbCr\":\n\t\t\treturn argf(args, \"\"+\n\t\t\t\t\"$3r = $0*$1r + $2*$3r\\n\"+\n\t\t\t\t\"$3g = $0*$1g + $2*$3g\\n\"+\n\t\t\t\t\"$3b = $0*$1b + $2*$3b\",\n\t\t\t)\n\t\t}\n\n\tcase \"clampToAlpha\":\n\t\tif alwaysOpaque[d.sType] {\n\t\t\treturn \";\"\n\t\t}\n\t\t// Go uses alpha-premultiplied color. The naive computation can lead to\n\t\t// invalid colors, e.g. red > alpha, when some weights are negative.\n\t\treturn `\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\t\t`\n\n\tcase \"convFtou\":\n\t\targs, _ := splitArgs(suffix)\n\t\tif len(args) != 2 {\n\t\t\treturn \"\"\n\t\t}\n\n\t\tswitch d.sType {\n\t\tdefault:\n\t\t\treturn argf(args, \"\"+\n\t\t\t\t\"$0r := uint32($1r)\\n\"+\n\t\t\t\t\"$0g := uint32($1g)\\n\"+\n\t\t\t\t\"$0b := uint32($1b)\\n\"+\n\t\t\t\t\"$0a := uint32($1a)\",\n\t\t\t)\n\t\tcase \"*image.Gray\":\n\t\t\treturn argf(args, \"\"+\n\t\t\t\t\"$0r := uint32($1r)\",\n\t\t\t)\n\t\tcase \"*image.YCbCr\":\n\t\t\treturn argf(args, \"\"+\n\t\t\t\t\"$0r := uint32($1r)\\n\"+\n\t\t\t\t\"$0g := uint32($1g)\\n\"+\n\t\t\t\t\"$0b := uint32($1b)\",\n\t\t\t)\n\t\t}\n\n\tcase \"outputu\":\n\t\targs, _ := splitArgs(suffix)\n\t\tif len(args) != 3 {\n\t\t\treturn \"\"\n\t\t}\n\n\t\tswitch d.op {\n\t\tcase \"Over\":\n\t\t\tswitch d.dType {\n\t\t\tdefault:\n\t\t\t\tlog.Fatalf(\"bad dType %q\", d.dType)\n\t\t\tcase \"Image\":\n\t\t\t\treturn argf(args, \"\"+\n\t\t\t\t\t\"qr, qg, qb, qa := dst.At($0, $1).RGBA()\\n\"+\n\t\t\t\t\t\"if dstMask != nil {\\n\"+\n\t\t\t\t\t\"\t_, _, _, ma := dstMask.At(dmp.X + $0, dmp.Y + $1).RGBA()\\n\"+\n\t\t\t\t\t\"\t$2r = $2r * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\t$2g = $2g * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\t$2b = $2b * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\t$2a = $2a * ma / 0xffff\\n\"+\n\t\t\t\t\t\"}\\n\"+\n\t\t\t\t\t\"$2a1 := 0xffff - $2a\\n\"+\n\t\t\t\t\t\"dstColorRGBA64.R = uint16(qr*$2a1/0xffff + $2r)\\n\"+\n\t\t\t\t\t\"dstColorRGBA64.G = uint16(qg*$2a1/0xffff + $2g)\\n\"+\n\t\t\t\t\t\"dstColorRGBA64.B = uint16(qb*$2a1/0xffff + $2b)\\n\"+\n\t\t\t\t\t\"dstColorRGBA64.A = uint16(qa*$2a1/0xffff + $2a)\\n\"+\n\t\t\t\t\t\"dst.Set($0, $1, dstColor)\",\n\t\t\t\t)\n\t\t\tcase \"*image.RGBA\":\n\t\t\t\treturn argf(args, \"\"+\n\t\t\t\t\t\"$2a1 := (0xffff - $2a) * 0x101\\n\"+\n\t\t\t\t\t\"dst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*$2a1/0xffff + $2r) >> 8)\\n\"+\n\t\t\t\t\t\"dst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*$2a1/0xffff + $2g) >> 8)\\n\"+\n\t\t\t\t\t\"dst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*$2a1/0xffff + $2b) >> 8)\\n\"+\n\t\t\t\t\t\"dst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*$2a1/0xffff + $2a) >> 8)\",\n\t\t\t\t)\n\t\t\t}\n\n\t\tcase \"Src\":\n\t\t\tswitch d.dType {\n\t\t\tdefault:\n\t\t\t\tlog.Fatalf(\"bad dType %q\", d.dType)\n\t\t\tcase \"Image\":\n\t\t\t\treturn argf(args, \"\"+\n\t\t\t\t\t\"if dstMask != nil {\\n\"+\n\t\t\t\t\t\"\tqr, qg, qb, qa := dst.At($0, $1).RGBA()\\n\"+\n\t\t\t\t\t\"\t_, _, _, ma := dstMask.At(dmp.X + $0, dmp.Y + $1).RGBA()\\n\"+\n\t\t\t\t\t\"\tpr = pr * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\tpg = pg * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\tpb = pb * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\tpa = pa * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\t$2a1 := 0xffff - ma\\n\"+ // Note that this is ma, not $2a.\n\t\t\t\t\t\"\tdstColorRGBA64.R = uint16(qr*$2a1/0xffff + $2r)\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.G = uint16(qg*$2a1/0xffff + $2g)\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.B = uint16(qb*$2a1/0xffff + $2b)\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.A = uint16(qa*$2a1/0xffff + $2a)\\n\"+\n\t\t\t\t\t\"\tdst.Set($0, $1, dstColor)\\n\"+\n\t\t\t\t\t\"} else {\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.R = uint16($2r)\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.G = uint16($2g)\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.B = uint16($2b)\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.A = uint16($2a)\\n\"+\n\t\t\t\t\t\"\tdst.Set($0, $1, dstColor)\\n\"+\n\t\t\t\t\t\"}\",\n\t\t\t\t)\n\t\t\tcase \"*image.RGBA\":\n\t\t\t\tswitch d.sType {\n\t\t\t\tdefault:\n\t\t\t\t\treturn argf(args, \"\"+\n\t\t\t\t\t\t\"dst.Pix[d+0] = uint8($2r >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+1] = uint8($2g >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+2] = uint8($2b >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+3] = uint8($2a >> 8)\",\n\t\t\t\t\t)\n\t\t\t\tcase \"*image.Gray\":\n\t\t\t\t\treturn argf(args, \"\"+\n\t\t\t\t\t\t\"out := uint8($2r >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+0] = out\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+1] = out\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+2] = out\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+3] = 0xff\",\n\t\t\t\t\t)\n\t\t\t\tcase \"*image.YCbCr\":\n\t\t\t\t\treturn argf(args, \"\"+\n\t\t\t\t\t\t\"dst.Pix[d+0] = uint8($2r >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+1] = uint8($2g >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+2] = uint8($2b >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+3] = 0xff\",\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\tcase \"outputf\":\n\t\targs, _ := splitArgs(suffix)\n\t\tif len(args) != 5 {\n\t\t\treturn \"\"\n\t\t}\n\t\tret := \"\"\n\n\t\tswitch d.op {\n\t\tcase \"Over\":\n\t\t\tswitch d.dType {\n\t\t\tdefault:\n\t\t\t\tlog.Fatalf(\"bad dType %q\", d.dType)\n\t\t\tcase \"Image\":\n\t\t\t\tret = argf(args, \"\"+\n\t\t\t\t\t\"qr, qg, qb, qa := dst.At($0, $1).RGBA()\\n\"+\n\t\t\t\t\t\"$3r0 := uint32($2($3r * $4))\\n\"+\n\t\t\t\t\t\"$3g0 := uint32($2($3g * $4))\\n\"+\n\t\t\t\t\t\"$3b0 := uint32($2($3b * $4))\\n\"+\n\t\t\t\t\t\"$3a0 := uint32($2($3a * $4))\\n\"+\n\t\t\t\t\t\"if dstMask != nil {\\n\"+\n\t\t\t\t\t\"\t_, _, _, ma := dstMask.At(dmp.X + $0, dmp.Y + $1).RGBA()\\n\"+\n\t\t\t\t\t\"\t$3r0 = $3r0 * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\t$3g0 = $3g0 * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\t$3b0 = $3b0 * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\t$3a0 = $3a0 * ma / 0xffff\\n\"+\n\t\t\t\t\t\"}\\n\"+\n\t\t\t\t\t\"$3a1 := 0xffff - $3a0\\n\"+\n\t\t\t\t\t\"dstColorRGBA64.R = uint16(qr*$3a1/0xffff + $3r0)\\n\"+\n\t\t\t\t\t\"dstColorRGBA64.G = uint16(qg*$3a1/0xffff + $3g0)\\n\"+\n\t\t\t\t\t\"dstColorRGBA64.B = uint16(qb*$3a1/0xffff + $3b0)\\n\"+\n\t\t\t\t\t\"dstColorRGBA64.A = uint16(qa*$3a1/0xffff + $3a0)\\n\"+\n\t\t\t\t\t\"dst.Set($0, $1, dstColor)\",\n\t\t\t\t)\n\t\t\tcase \"*image.RGBA\":\n\t\t\t\tret = argf(args, \"\"+\n\t\t\t\t\t\"$3r0 := uint32($2($3r * $4))\\n\"+\n\t\t\t\t\t\"$3g0 := uint32($2($3g * $4))\\n\"+\n\t\t\t\t\t\"$3b0 := uint32($2($3b * $4))\\n\"+\n\t\t\t\t\t\"$3a0 := uint32($2($3a * $4))\\n\"+\n\t\t\t\t\t\"$3a1 := (0xffff - uint32($3a0)) * 0x101\\n\"+\n\t\t\t\t\t\"dst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*$3a1/0xffff + $3r0) >> 8)\\n\"+\n\t\t\t\t\t\"dst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*$3a1/0xffff + $3g0) >> 8)\\n\"+\n\t\t\t\t\t\"dst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*$3a1/0xffff + $3b0) >> 8)\\n\"+\n\t\t\t\t\t\"dst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*$3a1/0xffff + $3a0) >> 8)\",\n\t\t\t\t)\n\t\t\t}\n\n\t\tcase \"Src\":\n\t\t\tswitch d.dType {\n\t\t\tdefault:\n\t\t\t\tlog.Fatalf(\"bad dType %q\", d.dType)\n\t\t\tcase \"Image\":\n\t\t\t\tret = argf(args, \"\"+\n\t\t\t\t\t\"if dstMask != nil {\\n\"+\n\t\t\t\t\t\"\tqr, qg, qb, qa := dst.At($0, $1).RGBA()\\n\"+\n\t\t\t\t\t\"\t_, _, _, ma := dstMask.At(dmp.X + $0, dmp.Y + $1).RGBA()\\n\"+\n\t\t\t\t\t\"\tpr := uint32($2($3r * $4)) * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\tpg := uint32($2($3g * $4)) * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\tpb := uint32($2($3b * $4)) * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\tpa := uint32($2($3a * $4)) * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\tpa1 := 0xffff - ma\\n\"+ // Note that this is ma, not pa.\n\t\t\t\t\t\"\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr)\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg)\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb)\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa)\\n\"+\n\t\t\t\t\t\"\tdst.Set($0, $1, dstColor)\\n\"+\n\t\t\t\t\t\"} else {\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.R = $2($3r * $4)\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.G = $2($3g * $4)\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.B = $2($3b * $4)\\n\"+\n\t\t\t\t\t\"\tdstColorRGBA64.A = $2($3a * $4)\\n\"+\n\t\t\t\t\t\"\tdst.Set($0, $1, dstColor)\\n\"+\n\t\t\t\t\t\"}\",\n\t\t\t\t)\n\t\t\tcase \"*image.RGBA\":\n\t\t\t\tswitch d.sType {\n\t\t\t\tdefault:\n\t\t\t\t\tret = argf(args, \"\"+\n\t\t\t\t\t\t\"dst.Pix[d+0] = uint8($2($3r * $4) >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+1] = uint8($2($3g * $4) >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+2] = uint8($2($3b * $4) >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+3] = uint8($2($3a * $4) >> 8)\",\n\t\t\t\t\t)\n\t\t\t\tcase \"*image.Gray\":\n\t\t\t\t\tret = argf(args, \"\"+\n\t\t\t\t\t\t\"out := uint8($2($3r * $4) >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+0] = out\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+1] = out\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+2] = out\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+3] = 0xff\",\n\t\t\t\t\t)\n\t\t\t\tcase \"*image.YCbCr\":\n\t\t\t\t\tret = argf(args, \"\"+\n\t\t\t\t\t\t\"dst.Pix[d+0] = uint8($2($3r * $4) >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+1] = uint8($2($3g * $4) >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+2] = uint8($2($3b * $4) >> 8)\\n\"+\n\t\t\t\t\t\t\"dst.Pix[d+3] = 0xff\",\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn strings.Replace(ret, \" * 1)\", \")\", -1)\n\n\tcase \"srcf\", \"srcu\":\n\t\tlhs, eqOp := splitEq(prefix)\n\t\tif lhs == \"\" {\n\t\t\treturn \"\"\n\t\t}\n\t\targs, extra := splitArgs(suffix)\n\t\tif len(args) != 2 {\n\t\t\treturn \"\"\n\t\t}\n\n\t\ttmp := \"\"\n\t\tif dollar == \"srcf\" {\n\t\t\ttmp = \"u\"\n\t\t}\n\n\t\t// TODO: there's no need to multiply by 0x101 in the switch below if\n\t\t// the next thing we're going to do is shift right by 8.\n\n\t\tbuf := new(bytes.Buffer)\n\t\tswitch d.sType {\n\t\tdefault:\n\t\t\tlog.Fatalf(\"bad sType %q\", d.sType)\n\t\tcase \"image.Image\":\n\t\t\tfmt.Fprintf(buf, \"\"+\n\t\t\t\t\"%sr%s, %sg%s, %sb%s, %sa%s := src.At(%s, %s).RGBA()\\n\",\n\t\t\t\tlhs, tmp, lhs, tmp, lhs, tmp, lhs, tmp, args[0], args[1],\n\t\t\t)\n\t\t\tif d.dType == \"\" || d.dType == \"Image\" {\n\t\t\t\tfmt.Fprintf(buf, \"\"+\n\t\t\t\t\t\"if srcMask != nil {\\n\"+\n\t\t\t\t\t\"\t_, _, _, ma := srcMask.At(smp.X+%s, smp.Y+%s).RGBA()\\n\"+\n\t\t\t\t\t\"\t%sr%s = %sr%s * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\t%sg%s = %sg%s * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\t%sb%s = %sb%s * ma / 0xffff\\n\"+\n\t\t\t\t\t\"\t%sa%s = %sa%s * ma / 0xffff\\n\"+\n\t\t\t\t\t\"}\\n\",\n\t\t\t\t\targs[0], args[1],\n\t\t\t\t\tlhs, tmp, lhs, tmp,\n\t\t\t\t\tlhs, tmp, lhs, tmp,\n\t\t\t\t\tlhs, tmp, lhs, tmp,\n\t\t\t\t\tlhs, tmp, lhs, tmp,\n\t\t\t\t)\n\t\t\t}\n\t\tcase \"*image.Gray\":\n\t\t\tfmt.Fprintf(buf, \"\"+\n\t\t\t\t\"%si := %s\\n\"+\n\t\t\t\t\"%sr%s := uint32(src.Pix[%si]) * 0x101\\n\",\n\t\t\t\tlhs, pixOffset(\"src\", args[0], args[1], \"\", \"*src.Stride\"),\n\t\t\t\tlhs, tmp, lhs,\n\t\t\t)\n\t\tcase \"*image.NRGBA\":\n\t\t\tfmt.Fprintf(buf, \"\"+\n\t\t\t\t\"%si := %s\\n\"+\n\t\t\t\t\"%sa%s := uint32(src.Pix[%si+3]) * 0x101\\n\"+\n\t\t\t\t\"%sr%s := uint32(src.Pix[%si+0]) * %sa%s / 0xff\\n\"+\n\t\t\t\t\"%sg%s := uint32(src.Pix[%si+1]) * %sa%s / 0xff\\n\"+\n\t\t\t\t\"%sb%s := uint32(src.Pix[%si+2]) * %sa%s / 0xff\\n\",\n\t\t\t\tlhs, pixOffset(\"src\", args[0], args[1], \"*4\", \"*src.Stride\"),\n\t\t\t\tlhs, tmp, lhs,\n\t\t\t\tlhs, tmp, lhs, lhs, tmp,\n\t\t\t\tlhs, tmp, lhs, lhs, tmp,\n\t\t\t\tlhs, tmp, lhs, lhs, tmp,\n\t\t\t)\n\t\tcase \"*image.RGBA\":\n\t\t\tfmt.Fprintf(buf, \"\"+\n\t\t\t\t\"%si := %s\\n\"+\n\t\t\t\t\"%sr%s := uint32(src.Pix[%si+0]) * 0x101\\n\"+\n\t\t\t\t\"%sg%s := uint32(src.Pix[%si+1]) * 0x101\\n\"+\n\t\t\t\t\"%sb%s := uint32(src.Pix[%si+2]) * 0x101\\n\"+\n\t\t\t\t\"%sa%s := uint32(src.Pix[%si+3]) * 0x101\\n\",\n\t\t\t\tlhs, pixOffset(\"src\", args[0], args[1], \"*4\", \"*src.Stride\"),\n\t\t\t\tlhs, tmp, lhs,\n\t\t\t\tlhs, tmp, lhs,\n\t\t\t\tlhs, tmp, lhs,\n\t\t\t\tlhs, tmp, lhs,\n\t\t\t)\n\t\tcase \"*image.YCbCr\":\n\t\t\tfmt.Fprintf(buf, \"\"+\n\t\t\t\t\"%si := %s\\n\"+\n\t\t\t\t\"%sj := %s\\n\"+\n\t\t\t\t\"%s\\n\",\n\t\t\t\tlhs, pixOffset(\"src\", args[0], args[1], \"\", \"*src.YStride\"),\n\t\t\t\tlhs, cOffset(args[0], args[1], d.sratio),\n\t\t\t\tycbcrToRGB(lhs, tmp),\n\t\t\t)\n\t\t}\n\n\t\tif dollar == \"srcf\" {\n\t\t\tswitch d.sType {\n\t\t\tdefault:\n\t\t\t\tfmt.Fprintf(buf, \"\"+\n\t\t\t\t\t\"%sr %s float64(%sru)%s\\n\"+\n\t\t\t\t\t\"%sg %s float64(%sgu)%s\\n\"+\n\t\t\t\t\t\"%sb %s float64(%sbu)%s\\n\"+\n\t\t\t\t\t\"%sa %s float64(%sau)%s\\n\",\n\t\t\t\t\tlhs, eqOp, lhs, extra,\n\t\t\t\t\tlhs, eqOp, lhs, extra,\n\t\t\t\t\tlhs, eqOp, lhs, extra,\n\t\t\t\t\tlhs, eqOp, lhs, extra,\n\t\t\t\t)\n\t\t\tcase \"*image.Gray\":\n\t\t\t\tfmt.Fprintf(buf, \"\"+\n\t\t\t\t\t\"%sr %s float64(%sru)%s\\n\",\n\t\t\t\t\tlhs, eqOp, lhs, extra,\n\t\t\t\t)\n\t\t\tcase \"*image.YCbCr\":\n\t\t\t\tfmt.Fprintf(buf, \"\"+\n\t\t\t\t\t\"%sr %s float64(%sru)%s\\n\"+\n\t\t\t\t\t\"%sg %s float64(%sgu)%s\\n\"+\n\t\t\t\t\t\"%sb %s float64(%sbu)%s\\n\",\n\t\t\t\t\tlhs, eqOp, lhs, extra,\n\t\t\t\t\tlhs, eqOp, lhs, extra,\n\t\t\t\t\tlhs, eqOp, lhs, extra,\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn strings.TrimSpace(buf.String())\n\n\tcase \"tweakD\":\n\t\tif d.dType == \"*image.RGBA\" {\n\t\t\treturn \"d += dst.Stride\"\n\t\t}\n\t\treturn \";\"\n\n\tcase \"tweakDx\":\n\t\tif d.dType == \"*image.RGBA\" {\n\t\t\treturn strings.Replace(prefix, \"dx++\", \"dx, d = dx+1, d+4\", 1)\n\t\t}\n\t\treturn prefix\n\n\tcase \"tweakDy\":\n\t\tif d.dType == \"*image.RGBA\" {\n\t\t\treturn strings.Replace(prefix, \"for dy, s\", \"for _, s\", 1)\n\t\t}\n\t\treturn prefix\n\n\tcase \"tweakP\":\n\t\tswitch d.sType {\n\t\tcase \"*image.Gray\":\n\t\t\tif strings.HasPrefix(strings.TrimSpace(prefix), \"pa * \") {\n\t\t\t\treturn \"1,\"\n\t\t\t}\n\t\t\treturn \"pr,\"\n\t\tcase \"*image.YCbCr\":\n\t\t\tif strings.HasPrefix(strings.TrimSpace(prefix), \"pa * \") {\n\t\t\t\treturn \"1,\"\n\t\t\t}\n\t\t}\n\t\treturn prefix\n\n\tcase \"tweakPr\":\n\t\tif d.sType == \"*image.Gray\" {\n\t\t\treturn \"pr *= s.invTotalWeightFFFF\"\n\t\t}\n\t\treturn \";\"\n\n\tcase \"tweakVarP\":\n\t\tswitch d.sType {\n\t\tcase \"*image.Gray\":\n\t\t\treturn strings.Replace(prefix, \"var pr, pg, pb, pa\", \"var pr\", 1)\n\t\tcase \"*image.YCbCr\":\n\t\t\treturn strings.Replace(prefix, \"var pr, pg, pb, pa\", \"var pr, pg, pb\", 1)\n\t\t}\n\t\treturn prefix\n\t}\n\treturn \"\"\n}\n\nfunc expnSwitch(op, dType string, expandBoth bool, template string) string {\n\tif op == \"\" && dType != \"anyDType\" {\n\t\tlines := []string{\"switch op {\"}\n\t\tfor _, op = range ops {\n\t\t\tlines = append(lines,\n\t\t\t\tfmt.Sprintf(\"case %s:\", op),\n\t\t\t\texpnSwitch(op, dType, expandBoth, template),\n\t\t\t)\n\t\t}\n\t\tlines = append(lines, \"}\")\n\t\treturn strings.Join(lines, \"\\n\")\n\t}\n\n\tswitchVar := \"dst\"\n\tif dType != \"\" {\n\t\tswitchVar = \"src\"\n\t}\n\tlines := []string{fmt.Sprintf(\"switch %s := %s.(type) {\", switchVar, switchVar)}\n\n\tfallback, values := \"Image\", dTypes\n\tif dType != \"\" {\n\t\tfallback, values = \"image.Image\", sTypesForDType[dType]\n\t}\n\tfor _, v := range values {\n\t\tif dType != \"\" {\n\t\t\t// v is the sType. Skip those always-opaque sTypes, where Over is\n\t\t\t// equivalent to Src.\n\t\t\tif op == \"Over\" && alwaysOpaque[v] {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\tif v == fallback {\n\t\t\tlines = append(lines, \"default:\")\n\t\t} else {\n\t\t\tlines = append(lines, fmt.Sprintf(\"case %s:\", v))\n\t\t}\n\n\t\tif dType != \"\" {\n\t\t\tif v == \"*image.YCbCr\" {\n\t\t\t\tlines = append(lines, expnSwitchYCbCr(op, dType, template))\n\t\t\t} else {\n\t\t\t\tlines = append(lines, expnLine(template, &data{dType: dType, sType: v, op: op}))\n\t\t\t}\n\t\t} else if !expandBoth {\n\t\t\tlines = append(lines, expnLine(template, &data{dType: v, op: op}))\n\t\t} else {\n\t\t\tlines = append(lines, expnSwitch(op, v, false, template))\n\t\t}\n\t}\n\n\tlines = append(lines, \"}\")\n\treturn strings.Join(lines, \"\\n\")\n}\n\nfunc expnSwitchYCbCr(op, dType, template string) string {\n\tlines := []string{\n\t\t\"switch src.SubsampleRatio {\",\n\t\t\"default:\",\n\t\texpnLine(template, &data{dType: dType, sType: \"image.Image\", op: op}),\n\t}\n\tfor _, sratio := range subsampleRatios {\n\t\tlines = append(lines,\n\t\t\tfmt.Sprintf(\"case image.YCbCrSubsampleRatio%s:\", sratio),\n\t\t\texpnLine(template, &data{dType: dType, sType: \"*image.YCbCr\", sratio: sratio, op: op}),\n\t\t)\n\t}\n\tlines = append(lines, \"}\")\n\treturn strings.Join(lines, \"\\n\")\n}\n\nfunc argf(args []string, s string) string {\n\tif len(args) > 9 {\n\t\tpanic(\"too many args\")\n\t}\n\tfor i, a := range args {\n\t\told := fmt.Sprintf(\"$%d\", i)\n\t\ts = strings.Replace(s, old, a, -1)\n\t}\n\treturn s\n}\n\nfunc pixOffset(m, x, y, xstride, ystride string) string {\n\treturn fmt.Sprintf(\"(%s-%s.Rect.Min.Y)%s + (%s-%s.Rect.Min.X)%s\", y, m, ystride, x, m, xstride)\n}\n\nfunc cOffset(x, y, sratio string) string {\n\tswitch sratio {\n\tcase \"444\":\n\t\treturn fmt.Sprintf(\"( %s    - src.Rect.Min.Y  )*src.CStride + ( %s    - src.Rect.Min.X  )\", y, x)\n\tcase \"422\":\n\t\treturn fmt.Sprintf(\"( %s    - src.Rect.Min.Y  )*src.CStride + ((%s)/2 - src.Rect.Min.X/2)\", y, x)\n\tcase \"420\":\n\t\treturn fmt.Sprintf(\"((%s)/2 - src.Rect.Min.Y/2)*src.CStride + ((%s)/2 - src.Rect.Min.X/2)\", y, x)\n\tcase \"440\":\n\t\treturn fmt.Sprintf(\"((%s)/2 - src.Rect.Min.Y/2)*src.CStride + ( %s    - src.Rect.Min.X  )\", y, x)\n\t}\n\treturn fmt.Sprintf(\"unsupported sratio %q\", sratio)\n}\n\nfunc ycbcrToRGB(lhs, tmp string) string {\n\ts := `\n\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t$yy1 := int(src.Y[$i]) * 0x10101\n\t\t$cb1 := int(src.Cb[$j]) - 128\n\t\t$cr1 := int(src.Cr[$j]) - 128\n\t\t$r@ := ($yy1 + 91881*$cr1) >> 8\n\t\t$g@ := ($yy1 - 22554*$cb1 - 46802*$cr1) >> 8\n\t\t$b@ := ($yy1 + 116130*$cb1) >> 8\n\t\tif $r@ < 0 {\n\t\t\t$r@ = 0\n\t\t} else if $r@ > 0xffff {\n\t\t\t$r@ = 0xffff\n\t\t}\n\t\tif $g@ < 0 {\n\t\t\t$g@ = 0\n\t\t} else if $g@ > 0xffff {\n\t\t\t$g@ = 0xffff\n\t\t}\n\t\tif $b@ < 0 {\n\t\t\t$b@ = 0\n\t\t} else if $b@ > 0xffff {\n\t\t\t$b@ = 0xffff\n\t\t}\n\t`\n\ts = strings.Replace(s, \"$\", lhs, -1)\n\ts = strings.Replace(s, \"@\", tmp, -1)\n\treturn s\n}\n\nfunc split(s, sep string) (string, string) {\n\tif i := strings.Index(s, sep); i >= 0 {\n\t\treturn strings.TrimSpace(s[:i]), strings.TrimSpace(s[i+len(sep):])\n\t}\n\treturn \"\", \"\"\n}\n\nfunc splitEq(s string) (lhs, eqOp string) {\n\ts = strings.TrimSpace(s)\n\tif lhs, _ = split(s, \":=\"); lhs != \"\" {\n\t\treturn lhs, \":=\"\n\t}\n\tif lhs, _ = split(s, \"+=\"); lhs != \"\" {\n\t\treturn lhs, \"+=\"\n\t}\n\treturn \"\", \"\"\n}\n\nfunc splitArgs(s string) (args []string, extra string) {\n\ts = strings.TrimSpace(s)\n\tif s == \"\" || s[0] != '[' {\n\t\treturn nil, \"\"\n\t}\n\ts = s[1:]\n\n\ti := strings.IndexByte(s, ']')\n\tif i < 0 {\n\t\treturn nil, \"\"\n\t}\n\targs, extra = strings.Split(s[:i], \",\"), s[i+1:]\n\tfor i := range args {\n\t\targs[i] = strings.TrimSpace(args[i])\n\t}\n\treturn args, extra\n}\n\nfunc relName(s string) string {\n\tif i := strings.LastIndex(s, \".\"); i >= 0 {\n\t\treturn s[i+1:]\n\t}\n\treturn s\n}\n\nconst (\n\tcodeRoot = `\n\t\tfunc (z $receiver) Scale(dst Image, dr image.Rectangle, src image.Image, sr image.Rectangle, op Op, opts *Options) {\n\t\t\t// Try to simplify a Scale to a Copy when DstMask is not specified.\n\t\t\t// If DstMask is not nil, Copy will call Scale back with same dr and sr, and cause stack overflow.\n\t\t\tif dr.Size() == sr.Size() && (opts == nil || opts.DstMask == nil) {\n\t\t\t\tCopy(dst, dr.Min, src, sr, op, opts)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tvar o Options\n\t\t\tif opts != nil {\n\t\t\t\to = *opts\n\t\t\t}\n\n\t\t\t// adr is the affected destination pixels.\n\t\t\tadr := dst.Bounds().Intersect(dr)\n\t\t\tadr, o.DstMask = clipAffectedDestRect(adr, o.DstMask, o.DstMaskP)\n\t\t\tif adr.Empty() || sr.Empty() {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Make adr relative to dr.Min.\n\t\t\tadr = adr.Sub(dr.Min)\n\t\t\tif op == Over && o.SrcMask == nil && opaque(src) {\n\t\t\t\top = Src\n\t\t\t}\n\n\t\t\t// sr is the source pixels. If it extends beyond the src bounds,\n\t\t\t// we cannot use the type-specific fast paths, as they access\n\t\t\t// the Pix fields directly without bounds checking.\n\t\t\t//\n\t\t\t// Similarly, the fast paths assume that the masks are nil.\n\t\t\tif o.DstMask != nil || o.SrcMask != nil || !sr.In(src.Bounds()) {\n\t\t\t\tswitch op {\n\t\t\t\tcase Over:\n\t\t\t\t\tz.scale_Image_Image_Over(dst, dr, adr, src, sr, &o)\n\t\t\t\tcase Src:\n\t\t\t\t\tz.scale_Image_Image_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t}\n\t\t\t} else if _, ok := src.(*image.Uniform); ok {\n\t\t\t\tDraw(dst, dr, src, src.Bounds().Min, op)\n\t\t\t} else {\n\t\t\t\t$switch z.scale_$dTypeRN_$sTypeRN$sratio_$op(dst, dr, adr, src, sr, &o)\n\t\t\t}\n\t\t}\n\n\t\tfunc (z $receiver) Transform(dst Image, s2d f64.Aff3, src image.Image, sr image.Rectangle, op Op, opts *Options) {\n\t\t\t// Try to simplify a Transform to a Copy.\n\t\t\tif s2d[0] == 1 && s2d[1] == 0 && s2d[3] == 0 && s2d[4] == 1 {\n\t\t\t\tdx := int(s2d[2])\n\t\t\t\tdy := int(s2d[5])\n\t\t\t\tif float64(dx) == s2d[2] && float64(dy) == s2d[5] {\n\t\t\t\t\tCopy(dst, image.Point{X: sr.Min.X + dx, Y: sr.Min.X + dy}, src, sr, op, opts)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar o Options\n\t\t\tif opts != nil {\n\t\t\t\to = *opts\n\t\t\t}\n\n\t\t\tdr := transformRect(&s2d, &sr)\n\t\t\t// adr is the affected destination pixels.\n\t\t\tadr := dst.Bounds().Intersect(dr)\n\t\t\tadr, o.DstMask = clipAffectedDestRect(adr, o.DstMask, o.DstMaskP)\n\t\t\tif adr.Empty() || sr.Empty() {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif op == Over && o.SrcMask == nil && opaque(src) {\n\t\t\t\top = Src\n\t\t\t}\n\n\t\t\td2s := invert(&s2d)\n\t\t\t// bias is a translation of the mapping from dst coordinates to src\n\t\t\t// coordinates such that the latter temporarily have non-negative X\n\t\t\t// and Y coordinates. This allows us to write int(f) instead of\n\t\t\t// int(math.Floor(f)), since \"round to zero\" and \"round down\" are\n\t\t\t// equivalent when f >= 0, but the former is much cheaper. The X--\n\t\t\t// and Y-- are because the TransformLeaf methods have a \"sx -= 0.5\"\n\t\t\t// adjustment.\n\t\t\tbias := transformRect(&d2s, &adr).Min\n\t\t\tbias.X--\n\t\t\tbias.Y--\n\t\t\td2s[2] -= float64(bias.X)\n\t\t\td2s[5] -= float64(bias.Y)\n\t\t\t// Make adr relative to dr.Min.\n\t\t\tadr = adr.Sub(dr.Min)\n\t\t\t// sr is the source pixels. If it extends beyond the src bounds,\n\t\t\t// we cannot use the type-specific fast paths, as they access\n\t\t\t// the Pix fields directly without bounds checking.\n\t\t\t//\n\t\t\t// Similarly, the fast paths assume that the masks are nil.\n\t\t\tif o.DstMask != nil || o.SrcMask != nil || !sr.In(src.Bounds()) {\n\t\t\t\tswitch op {\n\t\t\t\tcase Over:\n\t\t\t\t\tz.transform_Image_Image_Over(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\tcase Src:\n\t\t\t\t\tz.transform_Image_Image_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t}\n\t\t\t} else if u, ok := src.(*image.Uniform); ok {\n\t\t\t\ttransform_Uniform(dst, dr, adr, &d2s, u, sr, bias, op)\n\t\t\t} else {\n\t\t\t\t$switch z.transform_$dTypeRN_$sTypeRN$sratio_$op(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t}\n\t\t}\n\t`\n\n\tcodeNNScaleLeaf = `\n\t\tfunc (nnInterpolator) scale_$dTypeRN_$sTypeRN$sratio_$op(dst $dType, dr, adr image.Rectangle, src $sType, sr image.Rectangle, opts *Options) {\n\t\t\tdw2 := uint64(dr.Dx()) * 2\n\t\t\tdh2 := uint64(dr.Dy()) * 2\n\t\t\tsw := uint64(sr.Dx())\n\t\t\tsh := uint64(sr.Dy())\n\t\t\t$preOuter\n\t\t\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\t\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\t\t\t$preInner\n\t\t\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ { $tweakDx\n\t\t\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\t\t\tp := $srcu[sr.Min.X + int(sx), sr.Min.Y + int(sy)]\n\t\t\t\t\t$outputu[dr.Min.X + int(dx), dr.Min.Y + int(dy), p]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t`\n\n\tcodeNNTransformLeaf = `\n\t\tfunc (nnInterpolator) transform_$dTypeRN_$sTypeRN$sratio_$op(dst $dType, dr, adr image.Rectangle, d2s *f64.Aff3, src $sType, sr image.Rectangle, bias image.Point, opts *Options) {\n\t\t\t$preOuter\n\t\t\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\t\t\tdyf := float64(dr.Min.Y + int(dy)) + 0.5\n\t\t\t\t$preInner\n\t\t\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ { $tweakDx\n\t\t\t\t\tdxf := float64(dr.Min.X + int(dx)) + 0.5\n\t\t\t\t\tsx0 := int(d2s[0]*dxf + d2s[1]*dyf + d2s[2]) + bias.X\n\t\t\t\t\tsy0 := int(d2s[3]*dxf + d2s[4]*dyf + d2s[5]) + bias.Y\n\t\t\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tp := $srcu[sx0, sy0]\n\t\t\t\t\t$outputu[dr.Min.X + int(dx), dr.Min.Y + int(dy), p]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t`\n\n\tcodeABLScaleLeaf = `\n\t\tfunc (ablInterpolator) scale_$dTypeRN_$sTypeRN$sratio_$op(dst $dType, dr, adr image.Rectangle, src $sType, sr image.Rectangle, opts *Options) {\n\t\t\tsw := int32(sr.Dx())\n\t\t\tsh := int32(sr.Dy())\n\t\t\tyscale := float64(sh) / float64(dr.Dy())\n\t\t\txscale := float64(sw) / float64(dr.Dx())\n\t\t\tswMinus1, shMinus1 := sw - 1, sh - 1\n\t\t\t$preOuter\n\n\t\t\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\t\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t\t\t// sx, below.\n\t\t\t\tsy0 := int32(sy)\n\t\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\t\tyFrac1 := 1 - yFrac0\n\t\t\t\tsy1 := sy0 + 1\n\t\t\t\tif sy < 0 {\n\t\t\t\t\tsy0, sy1 = 0, 0\n\t\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t\t} else if sy1 > shMinus1 {\n\t\t\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t\t}\n\t\t\t\t$preInner\n\n\t\t\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ { $tweakDx\n\t\t\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\t\t\tsx0 := int32(sx)\n\t\t\t\t\txFrac0 := sx - float64(sx0)\n\t\t\t\t\txFrac1 := 1 - xFrac0\n\t\t\t\t\tsx1 := sx0 + 1\n\t\t\t\t\tif sx < 0 {\n\t\t\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t\t\t}\n\n\t\t\t\t\ts00 := $srcf[sr.Min.X + int(sx0), sr.Min.Y + int(sy0)]\n\t\t\t\t\ts10 := $srcf[sr.Min.X + int(sx1), sr.Min.Y + int(sy0)]\n\t\t\t\t\t$blend[xFrac1, s00, xFrac0, s10]\n\t\t\t\t\ts01 := $srcf[sr.Min.X + int(sx0), sr.Min.Y + int(sy1)]\n\t\t\t\t\ts11 := $srcf[sr.Min.X + int(sx1), sr.Min.Y + int(sy1)]\n\t\t\t\t\t$blend[xFrac1, s01, xFrac0, s11]\n\t\t\t\t\t$blend[yFrac1, s10, yFrac0, s11]\n\t\t\t\t\t$convFtou[p, s11]\n\t\t\t\t\t$outputu[dr.Min.X + int(dx), dr.Min.Y + int(dy), p]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t`\n\n\tcodeABLTransformLeaf = `\n\t\tfunc (ablInterpolator) transform_$dTypeRN_$sTypeRN$sratio_$op(dst $dType, dr, adr image.Rectangle, d2s *f64.Aff3, src $sType, sr image.Rectangle, bias image.Point, opts *Options) {\n\t\t\t$preOuter\n\t\t\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\t\t\tdyf := float64(dr.Min.Y + int(dy)) + 0.5\n\t\t\t\t$preInner\n\t\t\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ { $tweakDx\n\t\t\t\t\tdxf := float64(dr.Min.X + int(dx)) + 0.5\n\t\t\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tsx -= 0.5\n\t\t\t\t\tsx0 := int(sx)\n\t\t\t\t\txFrac0 := sx - float64(sx0)\n\t\t\t\t\txFrac1 := 1 - xFrac0\n\t\t\t\t\tsx0 += bias.X\n\t\t\t\t\tsx1 := sx0 + 1\n\t\t\t\t\tif sx0 < sr.Min.X {\n\t\t\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t\t\t}\n\n\t\t\t\t\tsy -= 0.5\n\t\t\t\t\tsy0 := int(sy)\n\t\t\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\t\t\tyFrac1 := 1 - yFrac0\n\t\t\t\t\tsy0 += bias.Y\n\t\t\t\t\tsy1 := sy0 + 1\n\t\t\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t\t\t}\n\n\t\t\t\t\ts00 := $srcf[sx0, sy0]\n\t\t\t\t\ts10 := $srcf[sx1, sy0]\n\t\t\t\t\t$blend[xFrac1, s00, xFrac0, s10]\n\t\t\t\t\ts01 := $srcf[sx0, sy1]\n\t\t\t\t\ts11 := $srcf[sx1, sy1]\n\t\t\t\t\t$blend[xFrac1, s01, xFrac0, s11]\n\t\t\t\t\t$blend[yFrac1, s10, yFrac0, s11]\n\t\t\t\t\t$convFtou[p, s11]\n\t\t\t\t\t$outputu[dr.Min.X + int(dx), dr.Min.Y + int(dy), p]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t`\n\n\tcodeKernelRoot = `\n\t\tfunc (z *kernelScaler) Scale(dst Image, dr image.Rectangle, src image.Image, sr image.Rectangle, op Op, opts *Options) {\n\t\t\tif z.dw != int32(dr.Dx()) || z.dh != int32(dr.Dy()) || z.sw != int32(sr.Dx()) || z.sh != int32(sr.Dy()) {\n\t\t\t\tz.kernel.Scale(dst, dr, src, sr, op, opts)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tvar o Options\n\t\t\tif opts != nil {\n\t\t\t\to = *opts\n\t\t\t}\n\n\t\t\t// adr is the affected destination pixels.\n\t\t\tadr := dst.Bounds().Intersect(dr)\n\t\t\tadr, o.DstMask = clipAffectedDestRect(adr, o.DstMask, o.DstMaskP)\n\t\t\tif adr.Empty() || sr.Empty() {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Make adr relative to dr.Min.\n\t\t\tadr = adr.Sub(dr.Min)\n\t\t\tif op == Over && o.SrcMask == nil && opaque(src) {\n\t\t\t\top = Src\n\t\t\t}\n\n\t\t\tif _, ok := src.(*image.Uniform); ok && o.DstMask == nil && o.SrcMask == nil && sr.In(src.Bounds()) {\n\t\t\t\tDraw(dst, dr, src, src.Bounds().Min, op)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Create a temporary buffer:\n\t\t\t// scaleX distributes the source image's columns over the temporary image.\n\t\t\t// scaleY distributes the temporary image's rows over the destination image.\n\t\t\tvar tmp [][4]float64\n\t\t\tif z.pool.New != nil {\n\t\t\t\ttmpp := z.pool.Get().(*[][4]float64)\n\t\t\t\tdefer z.pool.Put(tmpp)\n\t\t\t\ttmp = *tmpp\n\t\t\t} else {\n\t\t\t\ttmp = z.makeTmpBuf()\n\t\t\t}\n\n\t\t\t// sr is the source pixels. If it extends beyond the src bounds,\n\t\t\t// we cannot use the type-specific fast paths, as they access\n\t\t\t// the Pix fields directly without bounds checking.\n\t\t\t//\n\t\t\t// Similarly, the fast paths assume that the masks are nil.\n\t\t\tif o.SrcMask != nil || !sr.In(src.Bounds()) {\n\t\t\t\tz.scaleX_Image(tmp, src, sr, &o)\n\t\t\t} else {\n\t\t\t\t$switchS z.scaleX_$sTypeRN$sratio(tmp, src, sr, &o)\n\t\t\t}\n\n\t\t\tif o.DstMask != nil {\n\t\t\t\tswitch op {\n\t\t\t\tcase Over:\n\t\t\t\t\tz.scaleY_Image_Over(dst, dr, adr, tmp, &o)\n\t\t\t\tcase Src:\n\t\t\t\t\tz.scaleY_Image_Src(dst, dr, adr, tmp, &o)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$switchD z.scaleY_$dTypeRN_$op(dst, dr, adr, tmp, &o)\n\t\t\t}\n\t\t}\n\n\t\tfunc (q *Kernel) Transform(dst Image, s2d f64.Aff3, src image.Image, sr image.Rectangle, op Op, opts *Options) {\n\t\t\tvar o Options\n\t\t\tif opts != nil {\n\t\t\t\to = *opts\n\t\t\t}\n\n\t\t\tdr := transformRect(&s2d, &sr)\n\t\t\t// adr is the affected destination pixels.\n\t\t\tadr := dst.Bounds().Intersect(dr)\n\t\t\tadr, o.DstMask = clipAffectedDestRect(adr, o.DstMask, o.DstMaskP)\n\t\t\tif adr.Empty() || sr.Empty() {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif op == Over && o.SrcMask == nil && opaque(src) {\n\t\t\t\top = Src\n\t\t\t}\n\t\t\td2s := invert(&s2d)\n\t\t\t// bias is a translation of the mapping from dst coordinates to src\n\t\t\t// coordinates such that the latter temporarily have non-negative X\n\t\t\t// and Y coordinates. This allows us to write int(f) instead of\n\t\t\t// int(math.Floor(f)), since \"round to zero\" and \"round down\" are\n\t\t\t// equivalent when f >= 0, but the former is much cheaper. The X--\n\t\t\t// and Y-- are because the TransformLeaf methods have a \"sx -= 0.5\"\n\t\t\t// adjustment.\n\t\t\tbias := transformRect(&d2s, &adr).Min\n\t\t\tbias.X--\n\t\t\tbias.Y--\n\t\t\td2s[2] -= float64(bias.X)\n\t\t\td2s[5] -= float64(bias.Y)\n\t\t\t// Make adr relative to dr.Min.\n\t\t\tadr = adr.Sub(dr.Min)\n\n\t\t\tif u, ok := src.(*image.Uniform); ok && o.DstMask != nil && o.SrcMask != nil && sr.In(src.Bounds()) {\n\t\t\t\ttransform_Uniform(dst, dr, adr, &d2s, u, sr, bias, op)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\txscale := abs(d2s[0])\n\t\t\tif s := abs(d2s[1]); xscale < s {\n\t\t\t\txscale = s\n\t\t\t}\n\t\t\tyscale := abs(d2s[3])\n\t\t\tif s := abs(d2s[4]); yscale < s {\n\t\t\t\tyscale = s\n\t\t\t}\n\n\t\t\t// sr is the source pixels. If it extends beyond the src bounds,\n\t\t\t// we cannot use the type-specific fast paths, as they access\n\t\t\t// the Pix fields directly without bounds checking.\n\t\t\t//\n\t\t\t// Similarly, the fast paths assume that the masks are nil.\n\t\t\tif o.DstMask != nil || o.SrcMask != nil || !sr.In(src.Bounds()) {\n\t\t\t\tswitch op {\n\t\t\t\tcase Over:\n\t\t\t\t\tq.transform_Image_Image_Over(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\tcase Src:\n\t\t\t\t\tq.transform_Image_Image_Src(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$switch q.transform_$dTypeRN_$sTypeRN$sratio_$op(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t}\n\t\t}\n\t`\n\n\tcodeKernelScaleLeafX = `\n\t\tfunc (z *kernelScaler) scaleX_$sTypeRN$sratio(tmp [][4]float64, src $sType, sr image.Rectangle, opts *Options) {\n\t\t\tt := 0\n\t\t\t$preKernelOuter\n\t\t\tfor y := int32(0); y < z.sh; y++ {\n\t\t\t\tfor _, s := range z.horizontal.sources {\n\t\t\t\t\tvar pr, pg, pb, pa float64 $tweakVarP\n\t\t\t\t\tfor _, c := range z.horizontal.contribs[s.i:s.j] {\n\t\t\t\t\t\tp += $srcf[sr.Min.X + int(c.coord), sr.Min.Y + int(y)] * c.weight\n\t\t\t\t\t}\n\t\t\t\t\t$tweakPr\n\t\t\t\t\ttmp[t] = [4]float64{\n\t\t\t\t\t\tpr * s.invTotalWeightFFFF, $tweakP\n\t\t\t\t\t\tpg * s.invTotalWeightFFFF, $tweakP\n\t\t\t\t\t\tpb * s.invTotalWeightFFFF, $tweakP\n\t\t\t\t\t\tpa * s.invTotalWeightFFFF, $tweakP\n\t\t\t\t\t}\n\t\t\t\t\tt++\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t`\n\n\tcodeKernelScaleLeafY = `\n\t\tfunc (z *kernelScaler) scaleY_$dTypeRN_$op(dst $dType, dr, adr image.Rectangle, tmp [][4]float64, opts *Options) {\n\t\t\t$preOuter\n\t\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\t\t$preKernelInner\n\t\t\t\tfor dy, s := range z.vertical.sources[adr.Min.Y:adr.Max.Y] { $tweakDy\n\t\t\t\t\tvar pr, pg, pb, pa float64\n\t\t\t\t\tfor _, c := range z.vertical.contribs[s.i:s.j] {\n\t\t\t\t\t\tp := &tmp[c.coord*z.dw+dx]\n\t\t\t\t\t\tpr += p[0] * c.weight\n\t\t\t\t\t\tpg += p[1] * c.weight\n\t\t\t\t\t\tpb += p[2] * c.weight\n\t\t\t\t\t\tpa += p[3] * c.weight\n\t\t\t\t\t}\n\t\t\t\t\t$clampToAlpha\n\t\t\t\t\t$outputf[dr.Min.X + int(dx), dr.Min.Y + int(adr.Min.Y + dy), ftou, p, s.invTotalWeight]\n\t\t\t\t\t$tweakD\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t`\n\n\tcodeKernelTransformLeaf = `\n\t\tfunc (q *Kernel) transform_$dTypeRN_$sTypeRN$sratio_$op(dst $dType, dr, adr image.Rectangle, d2s *f64.Aff3, src $sType, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t\t\t// When shrinking, broaden the effective kernel support so that we still\n\t\t\t// visit every source pixel.\n\t\t\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\t\t\tif xscale > 1 {\n\t\t\t\txHalfWidth *= xscale\n\t\t\t\txKernelArgScale = 1 / xscale\n\t\t\t}\n\t\t\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\t\t\tif yscale > 1 {\n\t\t\t\tyHalfWidth *= yscale\n\t\t\t\tyKernelArgScale = 1 / yscale\n\t\t\t}\n\n\t\t\txWeights := make([]float64, 1 + 2*int(math.Ceil(xHalfWidth)))\n\t\t\tyWeights := make([]float64, 1 + 2*int(math.Ceil(yHalfWidth)))\n\n\t\t\t$preOuter\n\t\t\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\t\t\tdyf := float64(dr.Min.Y + int(dy)) + 0.5\n\t\t\t\t$preInner\n\t\t\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ { $tweakDx\n\t\t\t\t\tdxf := float64(dr.Min.X + int(dx)) + 0.5\n\t\t\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\t\t\tsx += float64(bias.X)\n\t\t\t\t\tsx -= 0.5\n\t\t\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\t\t\tif ix < sr.Min.X {\n\t\t\t\t\t\tix = sr.Min.X\n\t\t\t\t\t}\n\t\t\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\t\t\tif jx > sr.Max.X {\n\t\t\t\t\t\tjx = sr.Max.X\n\t\t\t\t\t}\n\n\t\t\t\t\ttotalXWeight := 0.0\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\txWeight := 0.0\n\t\t\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\txWeights[kx - ix] = xWeight\n\t\t\t\t\t\ttotalXWeight += xWeight\n\t\t\t\t\t}\n\t\t\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t\t\t}\n\n\t\t\t\t\tsy += float64(bias.Y)\n\t\t\t\t\tsy -= 0.5\n\t\t\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\t\t\tif iy < sr.Min.Y {\n\t\t\t\t\t\tiy = sr.Min.Y\n\t\t\t\t\t}\n\t\t\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\t\t\tif jy > sr.Max.Y {\n\t\t\t\t\t\tjy = sr.Max.Y\n\t\t\t\t\t}\n\n\t\t\t\t\ttotalYWeight := 0.0\n\t\t\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\t\t\tyWeight := 0.0\n\t\t\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tyWeights[ky - iy] = yWeight\n\t\t\t\t\t\ttotalYWeight += yWeight\n\t\t\t\t\t}\n\t\t\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t\t\t}\n\n\t\t\t\t\tvar pr, pg, pb, pa float64 $tweakVarP\n\t\t\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\t\t\tif yWeight := yWeights[ky - iy]; yWeight != 0 {\n\t\t\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\t\t\tif w := xWeights[kx - ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\t\t\tp += $srcf[kx, ky] * w\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$clampToAlpha\n\t\t\t\t\t$outputf[dr.Min.X + int(dx), dr.Min.Y + int(dy), fffftou, p, 1]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t`\n)\n"
  },
  {
    "path": "vendor/golang.org/x/image/draw/go1_8.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.9,!go1.8.typealias\n\npackage draw\n\nimport (\n\t\"image\"\n\t\"image/color\"\n\t\"image/draw\"\n)\n\n// Drawer contains the Draw method.\ntype Drawer interface {\n\t// Draw aligns r.Min in dst with sp in src and then replaces the\n\t// rectangle r in dst with the result of drawing src on dst.\n\tDraw(dst Image, r image.Rectangle, src image.Image, sp image.Point)\n}\n\n// Image is an image.Image with a Set method to change a single pixel.\ntype Image interface {\n\timage.Image\n\tSet(x, y int, c color.Color)\n}\n\n// Op is a Porter-Duff compositing operator.\ntype Op int\n\nconst (\n\t// Over specifies ``(src in mask) over dst''.\n\tOver Op = Op(draw.Over)\n\t// Src specifies ``src in mask''.\n\tSrc Op = Op(draw.Src)\n)\n\n// Draw implements the Drawer interface by calling the Draw function with\n// this Op.\nfunc (op Op) Draw(dst Image, r image.Rectangle, src image.Image, sp image.Point) {\n\t(draw.Op(op)).Draw(dst, r, src, sp)\n}\n\n// Quantizer produces a palette for an image.\ntype Quantizer interface {\n\t// Quantize appends up to cap(p) - len(p) colors to p and returns the\n\t// updated palette suitable for converting m to a paletted image.\n\tQuantize(p color.Palette, m image.Image) color.Palette\n}\n"
  },
  {
    "path": "vendor/golang.org/x/image/draw/go1_9.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.9 go1.8.typealias\n\npackage draw\n\nimport (\n\t\"image/draw\"\n)\n\n// We use type aliases (new in Go 1.9) for the exported names from the standard\n// library's image/draw package. This is not merely syntactic sugar for\n//\n//\ttype Drawer draw.Drawer\n//\n// as aliasing means that the types in this package, such as draw.Image and\n// draw.Op, are identical to the corresponding draw.Image and draw.Op types in\n// the standard library. In comparison, prior to Go 1.9, the code in go1_8.go\n// defines new types that mimic the old but are different types.\n//\n// The package documentation, in draw.go, explicitly gives the intent of this\n// package:\n//\n//\tThis package is a superset of and a drop-in replacement for the\n//\timage/draw package in the standard library.\n//\n// Drop-in replacement means that I can replace all of my \"image/draw\" imports\n// with \"golang.org/x/image/draw\", to access additional features in this\n// package, and no further changes are required. That's mostly true, but not\n// completely true unless we use type aliases.\n//\n// Without type aliases, users might need to import both \"image/draw\" and\n// \"golang.org/x/image/draw\" in order to convert from two conceptually\n// equivalent but different (from the compiler's point of view) types, such as\n// from one draw.Op type to another draw.Op type, to satisfy some other\n// interface or function signature.\n\n// Drawer contains the Draw method.\ntype Drawer = draw.Drawer\n\n// Image is an image.Image with a Set method to change a single pixel.\ntype Image = draw.Image\n\n// Op is a Porter-Duff compositing operator.\ntype Op = draw.Op\n\nconst (\n\t// Over specifies ``(src in mask) over dst''.\n\tOver Op = draw.Over\n\t// Src specifies ``src in mask''.\n\tSrc Op = draw.Src\n)\n\n// Quantizer produces a palette for an image.\ntype Quantizer = draw.Quantizer\n"
  },
  {
    "path": "vendor/golang.org/x/image/draw/impl.go",
    "content": "// generated by \"go run gen.go\". DO NOT EDIT.\n\npackage draw\n\nimport (\n\t\"image\"\n\t\"image/color\"\n\t\"math\"\n\n\t\"golang.org/x/image/math/f64\"\n)\n\nfunc (z nnInterpolator) Scale(dst Image, dr image.Rectangle, src image.Image, sr image.Rectangle, op Op, opts *Options) {\n\t// Try to simplify a Scale to a Copy when DstMask is not specified.\n\t// If DstMask is not nil, Copy will call Scale back with same dr and sr, and cause stack overflow.\n\tif dr.Size() == sr.Size() && (opts == nil || opts.DstMask == nil) {\n\t\tCopy(dst, dr.Min, src, sr, op, opts)\n\t\treturn\n\t}\n\n\tvar o Options\n\tif opts != nil {\n\t\to = *opts\n\t}\n\n\t// adr is the affected destination pixels.\n\tadr := dst.Bounds().Intersect(dr)\n\tadr, o.DstMask = clipAffectedDestRect(adr, o.DstMask, o.DstMaskP)\n\tif adr.Empty() || sr.Empty() {\n\t\treturn\n\t}\n\t// Make adr relative to dr.Min.\n\tadr = adr.Sub(dr.Min)\n\tif op == Over && o.SrcMask == nil && opaque(src) {\n\t\top = Src\n\t}\n\n\t// sr is the source pixels. If it extends beyond the src bounds,\n\t// we cannot use the type-specific fast paths, as they access\n\t// the Pix fields directly without bounds checking.\n\t//\n\t// Similarly, the fast paths assume that the masks are nil.\n\tif o.DstMask != nil || o.SrcMask != nil || !sr.In(src.Bounds()) {\n\t\tswitch op {\n\t\tcase Over:\n\t\t\tz.scale_Image_Image_Over(dst, dr, adr, src, sr, &o)\n\t\tcase Src:\n\t\t\tz.scale_Image_Image_Src(dst, dr, adr, src, sr, &o)\n\t\t}\n\t} else if _, ok := src.(*image.Uniform); ok {\n\t\tDraw(dst, dr, src, src.Bounds().Min, op)\n\t} else {\n\t\tswitch op {\n\t\tcase Over:\n\t\t\tswitch dst := dst.(type) {\n\t\t\tcase *image.RGBA:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tcase *image.NRGBA:\n\t\t\t\t\tz.scale_RGBA_NRGBA_Over(dst, dr, adr, src, sr, &o)\n\t\t\t\tcase *image.RGBA:\n\t\t\t\t\tz.scale_RGBA_RGBA_Over(dst, dr, adr, src, sr, &o)\n\t\t\t\tdefault:\n\t\t\t\t\tz.scale_RGBA_Image_Over(dst, dr, adr, src, sr, &o)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tdefault:\n\t\t\t\t\tz.scale_Image_Image_Over(dst, dr, adr, src, sr, &o)\n\t\t\t\t}\n\t\t\t}\n\t\tcase Src:\n\t\t\tswitch dst := dst.(type) {\n\t\t\tcase *image.RGBA:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tcase *image.Gray:\n\t\t\t\t\tz.scale_RGBA_Gray_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\tcase *image.NRGBA:\n\t\t\t\t\tz.scale_RGBA_NRGBA_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\tcase *image.RGBA:\n\t\t\t\t\tz.scale_RGBA_RGBA_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\tcase *image.YCbCr:\n\t\t\t\t\tswitch src.SubsampleRatio {\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tz.scale_RGBA_Image_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio444:\n\t\t\t\t\t\tz.scale_RGBA_YCbCr444_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio422:\n\t\t\t\t\t\tz.scale_RGBA_YCbCr422_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio420:\n\t\t\t\t\t\tz.scale_RGBA_YCbCr420_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio440:\n\t\t\t\t\t\tz.scale_RGBA_YCbCr440_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tz.scale_RGBA_Image_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tdefault:\n\t\t\t\t\tz.scale_Image_Image_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (z nnInterpolator) Transform(dst Image, s2d f64.Aff3, src image.Image, sr image.Rectangle, op Op, opts *Options) {\n\t// Try to simplify a Transform to a Copy.\n\tif s2d[0] == 1 && s2d[1] == 0 && s2d[3] == 0 && s2d[4] == 1 {\n\t\tdx := int(s2d[2])\n\t\tdy := int(s2d[5])\n\t\tif float64(dx) == s2d[2] && float64(dy) == s2d[5] {\n\t\t\tCopy(dst, image.Point{X: sr.Min.X + dx, Y: sr.Min.X + dy}, src, sr, op, opts)\n\t\t\treturn\n\t\t}\n\t}\n\n\tvar o Options\n\tif opts != nil {\n\t\to = *opts\n\t}\n\n\tdr := transformRect(&s2d, &sr)\n\t// adr is the affected destination pixels.\n\tadr := dst.Bounds().Intersect(dr)\n\tadr, o.DstMask = clipAffectedDestRect(adr, o.DstMask, o.DstMaskP)\n\tif adr.Empty() || sr.Empty() {\n\t\treturn\n\t}\n\tif op == Over && o.SrcMask == nil && opaque(src) {\n\t\top = Src\n\t}\n\n\td2s := invert(&s2d)\n\t// bias is a translation of the mapping from dst coordinates to src\n\t// coordinates such that the latter temporarily have non-negative X\n\t// and Y coordinates. This allows us to write int(f) instead of\n\t// int(math.Floor(f)), since \"round to zero\" and \"round down\" are\n\t// equivalent when f >= 0, but the former is much cheaper. The X--\n\t// and Y-- are because the TransformLeaf methods have a \"sx -= 0.5\"\n\t// adjustment.\n\tbias := transformRect(&d2s, &adr).Min\n\tbias.X--\n\tbias.Y--\n\td2s[2] -= float64(bias.X)\n\td2s[5] -= float64(bias.Y)\n\t// Make adr relative to dr.Min.\n\tadr = adr.Sub(dr.Min)\n\t// sr is the source pixels. If it extends beyond the src bounds,\n\t// we cannot use the type-specific fast paths, as they access\n\t// the Pix fields directly without bounds checking.\n\t//\n\t// Similarly, the fast paths assume that the masks are nil.\n\tif o.DstMask != nil || o.SrcMask != nil || !sr.In(src.Bounds()) {\n\t\tswitch op {\n\t\tcase Over:\n\t\t\tz.transform_Image_Image_Over(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\tcase Src:\n\t\t\tz.transform_Image_Image_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t}\n\t} else if u, ok := src.(*image.Uniform); ok {\n\t\ttransform_Uniform(dst, dr, adr, &d2s, u, sr, bias, op)\n\t} else {\n\t\tswitch op {\n\t\tcase Over:\n\t\t\tswitch dst := dst.(type) {\n\t\t\tcase *image.RGBA:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tcase *image.NRGBA:\n\t\t\t\t\tz.transform_RGBA_NRGBA_Over(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\tcase *image.RGBA:\n\t\t\t\t\tz.transform_RGBA_RGBA_Over(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\tdefault:\n\t\t\t\t\tz.transform_RGBA_Image_Over(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tdefault:\n\t\t\t\t\tz.transform_Image_Image_Over(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t}\n\t\t\t}\n\t\tcase Src:\n\t\t\tswitch dst := dst.(type) {\n\t\t\tcase *image.RGBA:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tcase *image.Gray:\n\t\t\t\t\tz.transform_RGBA_Gray_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\tcase *image.NRGBA:\n\t\t\t\t\tz.transform_RGBA_NRGBA_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\tcase *image.RGBA:\n\t\t\t\t\tz.transform_RGBA_RGBA_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\tcase *image.YCbCr:\n\t\t\t\t\tswitch src.SubsampleRatio {\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tz.transform_RGBA_Image_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio444:\n\t\t\t\t\t\tz.transform_RGBA_YCbCr444_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio422:\n\t\t\t\t\t\tz.transform_RGBA_YCbCr422_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio420:\n\t\t\t\t\t\tz.transform_RGBA_YCbCr420_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio440:\n\t\t\t\t\t\tz.transform_RGBA_YCbCr440_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tz.transform_RGBA_Image_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tdefault:\n\t\t\t\t\tz.transform_Image_Image_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_RGBA_Gray_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.Gray, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpi := (sr.Min.Y+int(sy)-src.Rect.Min.Y)*src.Stride + (sr.Min.X + int(sx) - src.Rect.Min.X)\n\t\t\tpr := uint32(src.Pix[pi]) * 0x101\n\t\t\tout := uint8(pr >> 8)\n\t\t\tdst.Pix[d+0] = out\n\t\t\tdst.Pix[d+1] = out\n\t\t\tdst.Pix[d+2] = out\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_RGBA_NRGBA_Over(dst *image.RGBA, dr, adr image.Rectangle, src *image.NRGBA, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpi := (sr.Min.Y+int(sy)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx)-src.Rect.Min.X)*4\n\t\t\tpa := uint32(src.Pix[pi+3]) * 0x101\n\t\t\tpr := uint32(src.Pix[pi+0]) * pa / 0xff\n\t\t\tpg := uint32(src.Pix[pi+1]) * pa / 0xff\n\t\t\tpb := uint32(src.Pix[pi+2]) * pa / 0xff\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_RGBA_NRGBA_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.NRGBA, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpi := (sr.Min.Y+int(sy)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx)-src.Rect.Min.X)*4\n\t\t\tpa := uint32(src.Pix[pi+3]) * 0x101\n\t\t\tpr := uint32(src.Pix[pi+0]) * pa / 0xff\n\t\t\tpg := uint32(src.Pix[pi+1]) * pa / 0xff\n\t\t\tpb := uint32(src.Pix[pi+2]) * pa / 0xff\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = uint8(pa >> 8)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_RGBA_RGBA_Over(dst *image.RGBA, dr, adr image.Rectangle, src *image.RGBA, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpi := (sr.Min.Y+int(sy)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx)-src.Rect.Min.X)*4\n\t\t\tpr := uint32(src.Pix[pi+0]) * 0x101\n\t\t\tpg := uint32(src.Pix[pi+1]) * 0x101\n\t\t\tpb := uint32(src.Pix[pi+2]) * 0x101\n\t\t\tpa := uint32(src.Pix[pi+3]) * 0x101\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_RGBA_RGBA_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.RGBA, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpi := (sr.Min.Y+int(sy)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx)-src.Rect.Min.X)*4\n\t\t\tpr := uint32(src.Pix[pi+0]) * 0x101\n\t\t\tpg := uint32(src.Pix[pi+1]) * 0x101\n\t\t\tpb := uint32(src.Pix[pi+2]) * 0x101\n\t\t\tpa := uint32(src.Pix[pi+3]) * 0x101\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = uint8(pa >> 8)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_RGBA_YCbCr444_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.YCbCr, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpi := (sr.Min.Y+int(sy)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx) - src.Rect.Min.X)\n\t\t\tpj := (sr.Min.Y+int(sy)-src.Rect.Min.Y)*src.CStride + (sr.Min.X + int(sx) - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\tpr := (pyy1 + 91881*pcr1) >> 8\n\t\t\tpg := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\tpb := (pyy1 + 116130*pcb1) >> 8\n\t\t\tif pr < 0 {\n\t\t\t\tpr = 0\n\t\t\t} else if pr > 0xffff {\n\t\t\t\tpr = 0xffff\n\t\t\t}\n\t\t\tif pg < 0 {\n\t\t\t\tpg = 0\n\t\t\t} else if pg > 0xffff {\n\t\t\t\tpg = 0xffff\n\t\t\t}\n\t\t\tif pb < 0 {\n\t\t\t\tpb = 0\n\t\t\t} else if pb > 0xffff {\n\t\t\t\tpb = 0xffff\n\t\t\t}\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_RGBA_YCbCr422_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.YCbCr, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpi := (sr.Min.Y+int(sy)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx) - src.Rect.Min.X)\n\t\t\tpj := (sr.Min.Y+int(sy)-src.Rect.Min.Y)*src.CStride + ((sr.Min.X+int(sx))/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\tpr := (pyy1 + 91881*pcr1) >> 8\n\t\t\tpg := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\tpb := (pyy1 + 116130*pcb1) >> 8\n\t\t\tif pr < 0 {\n\t\t\t\tpr = 0\n\t\t\t} else if pr > 0xffff {\n\t\t\t\tpr = 0xffff\n\t\t\t}\n\t\t\tif pg < 0 {\n\t\t\t\tpg = 0\n\t\t\t} else if pg > 0xffff {\n\t\t\t\tpg = 0xffff\n\t\t\t}\n\t\t\tif pb < 0 {\n\t\t\t\tpb = 0\n\t\t\t} else if pb > 0xffff {\n\t\t\t\tpb = 0xffff\n\t\t\t}\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_RGBA_YCbCr420_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.YCbCr, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpi := (sr.Min.Y+int(sy)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx) - src.Rect.Min.X)\n\t\t\tpj := ((sr.Min.Y+int(sy))/2-src.Rect.Min.Y/2)*src.CStride + ((sr.Min.X+int(sx))/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\tpr := (pyy1 + 91881*pcr1) >> 8\n\t\t\tpg := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\tpb := (pyy1 + 116130*pcb1) >> 8\n\t\t\tif pr < 0 {\n\t\t\t\tpr = 0\n\t\t\t} else if pr > 0xffff {\n\t\t\t\tpr = 0xffff\n\t\t\t}\n\t\t\tif pg < 0 {\n\t\t\t\tpg = 0\n\t\t\t} else if pg > 0xffff {\n\t\t\t\tpg = 0xffff\n\t\t\t}\n\t\t\tif pb < 0 {\n\t\t\t\tpb = 0\n\t\t\t} else if pb > 0xffff {\n\t\t\t\tpb = 0xffff\n\t\t\t}\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_RGBA_YCbCr440_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.YCbCr, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpi := (sr.Min.Y+int(sy)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx) - src.Rect.Min.X)\n\t\t\tpj := ((sr.Min.Y+int(sy))/2-src.Rect.Min.Y/2)*src.CStride + (sr.Min.X + int(sx) - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\tpr := (pyy1 + 91881*pcr1) >> 8\n\t\t\tpg := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\tpb := (pyy1 + 116130*pcb1) >> 8\n\t\t\tif pr < 0 {\n\t\t\t\tpr = 0\n\t\t\t} else if pr > 0xffff {\n\t\t\t\tpr = 0xffff\n\t\t\t}\n\t\t\tif pg < 0 {\n\t\t\t\tpg = 0\n\t\t\t} else if pg > 0xffff {\n\t\t\t\tpg = 0xffff\n\t\t\t}\n\t\t\tif pb < 0 {\n\t\t\t\tpb = 0\n\t\t\t} else if pb > 0xffff {\n\t\t\t\tpb = 0xffff\n\t\t\t}\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_RGBA_Image_Over(dst *image.RGBA, dr, adr image.Rectangle, src image.Image, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpr, pg, pb, pa := src.At(sr.Min.X+int(sx), sr.Min.Y+int(sy)).RGBA()\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_RGBA_Image_Src(dst *image.RGBA, dr, adr image.Rectangle, src image.Image, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpr, pg, pb, pa := src.At(sr.Min.X+int(sx), sr.Min.Y+int(sy)).RGBA()\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = uint8(pa >> 8)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_Image_Image_Over(dst Image, dr, adr image.Rectangle, src image.Image, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tsrcMask, smp := opts.SrcMask, opts.SrcMaskP\n\tdstMask, dmp := opts.DstMask, opts.DstMaskP\n\tdstColorRGBA64 := &color.RGBA64{}\n\tdstColor := color.Color(dstColorRGBA64)\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpr, pg, pb, pa := src.At(sr.Min.X+int(sx), sr.Min.Y+int(sy)).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sr.Min.X+int(sx), smp.Y+sr.Min.Y+int(sy)).RGBA()\n\t\t\t\tpr = pr * ma / 0xffff\n\t\t\t\tpg = pg * ma / 0xffff\n\t\t\t\tpb = pb * ma / 0xffff\n\t\t\t\tpa = pa * ma / 0xffff\n\t\t\t}\n\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(dy)).RGBA()\n\t\t\tif dstMask != nil {\n\t\t\t\t_, _, _, ma := dstMask.At(dmp.X+dr.Min.X+int(dx), dmp.Y+dr.Min.Y+int(dy)).RGBA()\n\t\t\t\tpr = pr * ma / 0xffff\n\t\t\t\tpg = pg * ma / 0xffff\n\t\t\t\tpb = pb * ma / 0xffff\n\t\t\t\tpa = pa * ma / 0xffff\n\t\t\t}\n\t\t\tpa1 := 0xffff - pa\n\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr)\n\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg)\n\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb)\n\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa)\n\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) scale_Image_Image_Src(dst Image, dr, adr image.Rectangle, src image.Image, sr image.Rectangle, opts *Options) {\n\tdw2 := uint64(dr.Dx()) * 2\n\tdh2 := uint64(dr.Dy()) * 2\n\tsw := uint64(sr.Dx())\n\tsh := uint64(sr.Dy())\n\tsrcMask, smp := opts.SrcMask, opts.SrcMaskP\n\tdstMask, dmp := opts.DstMask, opts.DstMaskP\n\tdstColorRGBA64 := &color.RGBA64{}\n\tdstColor := color.Color(dstColorRGBA64)\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (2*uint64(dy) + 1) * sh / dh2\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\tsx := (2*uint64(dx) + 1) * sw / dw2\n\t\t\tpr, pg, pb, pa := src.At(sr.Min.X+int(sx), sr.Min.Y+int(sy)).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sr.Min.X+int(sx), smp.Y+sr.Min.Y+int(sy)).RGBA()\n\t\t\t\tpr = pr * ma / 0xffff\n\t\t\t\tpg = pg * ma / 0xffff\n\t\t\t\tpb = pb * ma / 0xffff\n\t\t\t\tpa = pa * ma / 0xffff\n\t\t\t}\n\t\t\tif dstMask != nil {\n\t\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(dy)).RGBA()\n\t\t\t\t_, _, _, ma := dstMask.At(dmp.X+dr.Min.X+int(dx), dmp.Y+dr.Min.Y+int(dy)).RGBA()\n\t\t\t\tpr = pr * ma / 0xffff\n\t\t\t\tpg = pg * ma / 0xffff\n\t\t\t\tpb = pb * ma / 0xffff\n\t\t\t\tpa = pa * ma / 0xffff\n\t\t\t\tpa1 := 0xffff - ma\n\t\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr)\n\t\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg)\n\t\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb)\n\t\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa)\n\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t\t} else {\n\t\t\t\tdstColorRGBA64.R = uint16(pr)\n\t\t\t\tdstColorRGBA64.G = uint16(pg)\n\t\t\t\tdstColorRGBA64.B = uint16(pb)\n\t\t\t\tdstColorRGBA64.A = uint16(pa)\n\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_RGBA_Gray_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.Gray, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpi := (sy0-src.Rect.Min.Y)*src.Stride + (sx0 - src.Rect.Min.X)\n\t\t\tpr := uint32(src.Pix[pi]) * 0x101\n\t\t\tout := uint8(pr >> 8)\n\t\t\tdst.Pix[d+0] = out\n\t\t\tdst.Pix[d+1] = out\n\t\t\tdst.Pix[d+2] = out\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_RGBA_NRGBA_Over(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.NRGBA, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpi := (sy0-src.Rect.Min.Y)*src.Stride + (sx0-src.Rect.Min.X)*4\n\t\t\tpa := uint32(src.Pix[pi+3]) * 0x101\n\t\t\tpr := uint32(src.Pix[pi+0]) * pa / 0xff\n\t\t\tpg := uint32(src.Pix[pi+1]) * pa / 0xff\n\t\t\tpb := uint32(src.Pix[pi+2]) * pa / 0xff\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_RGBA_NRGBA_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.NRGBA, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpi := (sy0-src.Rect.Min.Y)*src.Stride + (sx0-src.Rect.Min.X)*4\n\t\t\tpa := uint32(src.Pix[pi+3]) * 0x101\n\t\t\tpr := uint32(src.Pix[pi+0]) * pa / 0xff\n\t\t\tpg := uint32(src.Pix[pi+1]) * pa / 0xff\n\t\t\tpb := uint32(src.Pix[pi+2]) * pa / 0xff\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = uint8(pa >> 8)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_RGBA_RGBA_Over(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.RGBA, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpi := (sy0-src.Rect.Min.Y)*src.Stride + (sx0-src.Rect.Min.X)*4\n\t\t\tpr := uint32(src.Pix[pi+0]) * 0x101\n\t\t\tpg := uint32(src.Pix[pi+1]) * 0x101\n\t\t\tpb := uint32(src.Pix[pi+2]) * 0x101\n\t\t\tpa := uint32(src.Pix[pi+3]) * 0x101\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_RGBA_RGBA_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.RGBA, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpi := (sy0-src.Rect.Min.Y)*src.Stride + (sx0-src.Rect.Min.X)*4\n\t\t\tpr := uint32(src.Pix[pi+0]) * 0x101\n\t\t\tpg := uint32(src.Pix[pi+1]) * 0x101\n\t\t\tpb := uint32(src.Pix[pi+2]) * 0x101\n\t\t\tpa := uint32(src.Pix[pi+3]) * 0x101\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = uint8(pa >> 8)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_RGBA_YCbCr444_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.YCbCr, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpi := (sy0-src.Rect.Min.Y)*src.YStride + (sx0 - src.Rect.Min.X)\n\t\t\tpj := (sy0-src.Rect.Min.Y)*src.CStride + (sx0 - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\tpr := (pyy1 + 91881*pcr1) >> 8\n\t\t\tpg := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\tpb := (pyy1 + 116130*pcb1) >> 8\n\t\t\tif pr < 0 {\n\t\t\t\tpr = 0\n\t\t\t} else if pr > 0xffff {\n\t\t\t\tpr = 0xffff\n\t\t\t}\n\t\t\tif pg < 0 {\n\t\t\t\tpg = 0\n\t\t\t} else if pg > 0xffff {\n\t\t\t\tpg = 0xffff\n\t\t\t}\n\t\t\tif pb < 0 {\n\t\t\t\tpb = 0\n\t\t\t} else if pb > 0xffff {\n\t\t\t\tpb = 0xffff\n\t\t\t}\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_RGBA_YCbCr422_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.YCbCr, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpi := (sy0-src.Rect.Min.Y)*src.YStride + (sx0 - src.Rect.Min.X)\n\t\t\tpj := (sy0-src.Rect.Min.Y)*src.CStride + ((sx0)/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\tpr := (pyy1 + 91881*pcr1) >> 8\n\t\t\tpg := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\tpb := (pyy1 + 116130*pcb1) >> 8\n\t\t\tif pr < 0 {\n\t\t\t\tpr = 0\n\t\t\t} else if pr > 0xffff {\n\t\t\t\tpr = 0xffff\n\t\t\t}\n\t\t\tif pg < 0 {\n\t\t\t\tpg = 0\n\t\t\t} else if pg > 0xffff {\n\t\t\t\tpg = 0xffff\n\t\t\t}\n\t\t\tif pb < 0 {\n\t\t\t\tpb = 0\n\t\t\t} else if pb > 0xffff {\n\t\t\t\tpb = 0xffff\n\t\t\t}\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_RGBA_YCbCr420_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.YCbCr, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpi := (sy0-src.Rect.Min.Y)*src.YStride + (sx0 - src.Rect.Min.X)\n\t\t\tpj := ((sy0)/2-src.Rect.Min.Y/2)*src.CStride + ((sx0)/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\tpr := (pyy1 + 91881*pcr1) >> 8\n\t\t\tpg := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\tpb := (pyy1 + 116130*pcb1) >> 8\n\t\t\tif pr < 0 {\n\t\t\t\tpr = 0\n\t\t\t} else if pr > 0xffff {\n\t\t\t\tpr = 0xffff\n\t\t\t}\n\t\t\tif pg < 0 {\n\t\t\t\tpg = 0\n\t\t\t} else if pg > 0xffff {\n\t\t\t\tpg = 0xffff\n\t\t\t}\n\t\t\tif pb < 0 {\n\t\t\t\tpb = 0\n\t\t\t} else if pb > 0xffff {\n\t\t\t\tpb = 0xffff\n\t\t\t}\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_RGBA_YCbCr440_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.YCbCr, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpi := (sy0-src.Rect.Min.Y)*src.YStride + (sx0 - src.Rect.Min.X)\n\t\t\tpj := ((sy0)/2-src.Rect.Min.Y/2)*src.CStride + (sx0 - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\tpr := (pyy1 + 91881*pcr1) >> 8\n\t\t\tpg := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\tpb := (pyy1 + 116130*pcb1) >> 8\n\t\t\tif pr < 0 {\n\t\t\t\tpr = 0\n\t\t\t} else if pr > 0xffff {\n\t\t\t\tpr = 0xffff\n\t\t\t}\n\t\t\tif pg < 0 {\n\t\t\t\tpg = 0\n\t\t\t} else if pg > 0xffff {\n\t\t\t\tpg = 0xffff\n\t\t\t}\n\t\t\tif pb < 0 {\n\t\t\t\tpb = 0\n\t\t\t} else if pb > 0xffff {\n\t\t\t\tpb = 0xffff\n\t\t\t}\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_RGBA_Image_Over(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src image.Image, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpr, pg, pb, pa := src.At(sx0, sy0).RGBA()\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_RGBA_Image_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src image.Image, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpr, pg, pb, pa := src.At(sx0, sy0).RGBA()\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = uint8(pa >> 8)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_Image_Image_Over(dst Image, dr, adr image.Rectangle, d2s *f64.Aff3, src image.Image, sr image.Rectangle, bias image.Point, opts *Options) {\n\tsrcMask, smp := opts.SrcMask, opts.SrcMaskP\n\tdstMask, dmp := opts.DstMask, opts.DstMaskP\n\tdstColorRGBA64 := &color.RGBA64{}\n\tdstColor := color.Color(dstColorRGBA64)\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpr, pg, pb, pa := src.At(sx0, sy0).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sx0, smp.Y+sy0).RGBA()\n\t\t\t\tpr = pr * ma / 0xffff\n\t\t\t\tpg = pg * ma / 0xffff\n\t\t\t\tpb = pb * ma / 0xffff\n\t\t\t\tpa = pa * ma / 0xffff\n\t\t\t}\n\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(dy)).RGBA()\n\t\t\tif dstMask != nil {\n\t\t\t\t_, _, _, ma := dstMask.At(dmp.X+dr.Min.X+int(dx), dmp.Y+dr.Min.Y+int(dy)).RGBA()\n\t\t\t\tpr = pr * ma / 0xffff\n\t\t\t\tpg = pg * ma / 0xffff\n\t\t\t\tpb = pb * ma / 0xffff\n\t\t\t\tpa = pa * ma / 0xffff\n\t\t\t}\n\t\t\tpa1 := 0xffff - pa\n\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr)\n\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg)\n\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb)\n\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa)\n\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t}\n\t}\n}\n\nfunc (nnInterpolator) transform_Image_Image_Src(dst Image, dr, adr image.Rectangle, d2s *f64.Aff3, src image.Image, sr image.Rectangle, bias image.Point, opts *Options) {\n\tsrcMask, smp := opts.SrcMask, opts.SrcMaskP\n\tdstMask, dmp := opts.DstMask, opts.DstMaskP\n\tdstColorRGBA64 := &color.RGBA64{}\n\tdstColor := color.Color(dstColorRGBA64)\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpr, pg, pb, pa := src.At(sx0, sy0).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sx0, smp.Y+sy0).RGBA()\n\t\t\t\tpr = pr * ma / 0xffff\n\t\t\t\tpg = pg * ma / 0xffff\n\t\t\t\tpb = pb * ma / 0xffff\n\t\t\t\tpa = pa * ma / 0xffff\n\t\t\t}\n\t\t\tif dstMask != nil {\n\t\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(dy)).RGBA()\n\t\t\t\t_, _, _, ma := dstMask.At(dmp.X+dr.Min.X+int(dx), dmp.Y+dr.Min.Y+int(dy)).RGBA()\n\t\t\t\tpr = pr * ma / 0xffff\n\t\t\t\tpg = pg * ma / 0xffff\n\t\t\t\tpb = pb * ma / 0xffff\n\t\t\t\tpa = pa * ma / 0xffff\n\t\t\t\tpa1 := 0xffff - ma\n\t\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr)\n\t\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg)\n\t\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb)\n\t\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa)\n\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t\t} else {\n\t\t\t\tdstColorRGBA64.R = uint16(pr)\n\t\t\t\tdstColorRGBA64.G = uint16(pg)\n\t\t\t\tdstColorRGBA64.B = uint16(pb)\n\t\t\t\tdstColorRGBA64.A = uint16(pa)\n\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (z ablInterpolator) Scale(dst Image, dr image.Rectangle, src image.Image, sr image.Rectangle, op Op, opts *Options) {\n\t// Try to simplify a Scale to a Copy when DstMask is not specified.\n\t// If DstMask is not nil, Copy will call Scale back with same dr and sr, and cause stack overflow.\n\tif dr.Size() == sr.Size() && (opts == nil || opts.DstMask == nil) {\n\t\tCopy(dst, dr.Min, src, sr, op, opts)\n\t\treturn\n\t}\n\n\tvar o Options\n\tif opts != nil {\n\t\to = *opts\n\t}\n\n\t// adr is the affected destination pixels.\n\tadr := dst.Bounds().Intersect(dr)\n\tadr, o.DstMask = clipAffectedDestRect(adr, o.DstMask, o.DstMaskP)\n\tif adr.Empty() || sr.Empty() {\n\t\treturn\n\t}\n\t// Make adr relative to dr.Min.\n\tadr = adr.Sub(dr.Min)\n\tif op == Over && o.SrcMask == nil && opaque(src) {\n\t\top = Src\n\t}\n\n\t// sr is the source pixels. If it extends beyond the src bounds,\n\t// we cannot use the type-specific fast paths, as they access\n\t// the Pix fields directly without bounds checking.\n\t//\n\t// Similarly, the fast paths assume that the masks are nil.\n\tif o.DstMask != nil || o.SrcMask != nil || !sr.In(src.Bounds()) {\n\t\tswitch op {\n\t\tcase Over:\n\t\t\tz.scale_Image_Image_Over(dst, dr, adr, src, sr, &o)\n\t\tcase Src:\n\t\t\tz.scale_Image_Image_Src(dst, dr, adr, src, sr, &o)\n\t\t}\n\t} else if _, ok := src.(*image.Uniform); ok {\n\t\tDraw(dst, dr, src, src.Bounds().Min, op)\n\t} else {\n\t\tswitch op {\n\t\tcase Over:\n\t\t\tswitch dst := dst.(type) {\n\t\t\tcase *image.RGBA:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tcase *image.NRGBA:\n\t\t\t\t\tz.scale_RGBA_NRGBA_Over(dst, dr, adr, src, sr, &o)\n\t\t\t\tcase *image.RGBA:\n\t\t\t\t\tz.scale_RGBA_RGBA_Over(dst, dr, adr, src, sr, &o)\n\t\t\t\tdefault:\n\t\t\t\t\tz.scale_RGBA_Image_Over(dst, dr, adr, src, sr, &o)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tdefault:\n\t\t\t\t\tz.scale_Image_Image_Over(dst, dr, adr, src, sr, &o)\n\t\t\t\t}\n\t\t\t}\n\t\tcase Src:\n\t\t\tswitch dst := dst.(type) {\n\t\t\tcase *image.RGBA:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tcase *image.Gray:\n\t\t\t\t\tz.scale_RGBA_Gray_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\tcase *image.NRGBA:\n\t\t\t\t\tz.scale_RGBA_NRGBA_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\tcase *image.RGBA:\n\t\t\t\t\tz.scale_RGBA_RGBA_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\tcase *image.YCbCr:\n\t\t\t\t\tswitch src.SubsampleRatio {\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tz.scale_RGBA_Image_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio444:\n\t\t\t\t\t\tz.scale_RGBA_YCbCr444_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio422:\n\t\t\t\t\t\tz.scale_RGBA_YCbCr422_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio420:\n\t\t\t\t\t\tz.scale_RGBA_YCbCr420_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio440:\n\t\t\t\t\t\tz.scale_RGBA_YCbCr440_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tz.scale_RGBA_Image_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tdefault:\n\t\t\t\t\tz.scale_Image_Image_Src(dst, dr, adr, src, sr, &o)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (z ablInterpolator) Transform(dst Image, s2d f64.Aff3, src image.Image, sr image.Rectangle, op Op, opts *Options) {\n\t// Try to simplify a Transform to a Copy.\n\tif s2d[0] == 1 && s2d[1] == 0 && s2d[3] == 0 && s2d[4] == 1 {\n\t\tdx := int(s2d[2])\n\t\tdy := int(s2d[5])\n\t\tif float64(dx) == s2d[2] && float64(dy) == s2d[5] {\n\t\t\tCopy(dst, image.Point{X: sr.Min.X + dx, Y: sr.Min.X + dy}, src, sr, op, opts)\n\t\t\treturn\n\t\t}\n\t}\n\n\tvar o Options\n\tif opts != nil {\n\t\to = *opts\n\t}\n\n\tdr := transformRect(&s2d, &sr)\n\t// adr is the affected destination pixels.\n\tadr := dst.Bounds().Intersect(dr)\n\tadr, o.DstMask = clipAffectedDestRect(adr, o.DstMask, o.DstMaskP)\n\tif adr.Empty() || sr.Empty() {\n\t\treturn\n\t}\n\tif op == Over && o.SrcMask == nil && opaque(src) {\n\t\top = Src\n\t}\n\n\td2s := invert(&s2d)\n\t// bias is a translation of the mapping from dst coordinates to src\n\t// coordinates such that the latter temporarily have non-negative X\n\t// and Y coordinates. This allows us to write int(f) instead of\n\t// int(math.Floor(f)), since \"round to zero\" and \"round down\" are\n\t// equivalent when f >= 0, but the former is much cheaper. The X--\n\t// and Y-- are because the TransformLeaf methods have a \"sx -= 0.5\"\n\t// adjustment.\n\tbias := transformRect(&d2s, &adr).Min\n\tbias.X--\n\tbias.Y--\n\td2s[2] -= float64(bias.X)\n\td2s[5] -= float64(bias.Y)\n\t// Make adr relative to dr.Min.\n\tadr = adr.Sub(dr.Min)\n\t// sr is the source pixels. If it extends beyond the src bounds,\n\t// we cannot use the type-specific fast paths, as they access\n\t// the Pix fields directly without bounds checking.\n\t//\n\t// Similarly, the fast paths assume that the masks are nil.\n\tif o.DstMask != nil || o.SrcMask != nil || !sr.In(src.Bounds()) {\n\t\tswitch op {\n\t\tcase Over:\n\t\t\tz.transform_Image_Image_Over(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\tcase Src:\n\t\t\tz.transform_Image_Image_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t}\n\t} else if u, ok := src.(*image.Uniform); ok {\n\t\ttransform_Uniform(dst, dr, adr, &d2s, u, sr, bias, op)\n\t} else {\n\t\tswitch op {\n\t\tcase Over:\n\t\t\tswitch dst := dst.(type) {\n\t\t\tcase *image.RGBA:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tcase *image.NRGBA:\n\t\t\t\t\tz.transform_RGBA_NRGBA_Over(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\tcase *image.RGBA:\n\t\t\t\t\tz.transform_RGBA_RGBA_Over(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\tdefault:\n\t\t\t\t\tz.transform_RGBA_Image_Over(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tdefault:\n\t\t\t\t\tz.transform_Image_Image_Over(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t}\n\t\t\t}\n\t\tcase Src:\n\t\t\tswitch dst := dst.(type) {\n\t\t\tcase *image.RGBA:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tcase *image.Gray:\n\t\t\t\t\tz.transform_RGBA_Gray_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\tcase *image.NRGBA:\n\t\t\t\t\tz.transform_RGBA_NRGBA_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\tcase *image.RGBA:\n\t\t\t\t\tz.transform_RGBA_RGBA_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\tcase *image.YCbCr:\n\t\t\t\t\tswitch src.SubsampleRatio {\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tz.transform_RGBA_Image_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio444:\n\t\t\t\t\t\tz.transform_RGBA_YCbCr444_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio422:\n\t\t\t\t\t\tz.transform_RGBA_YCbCr422_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio420:\n\t\t\t\t\t\tz.transform_RGBA_YCbCr420_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio440:\n\t\t\t\t\t\tz.transform_RGBA_YCbCr440_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tz.transform_RGBA_Image_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tdefault:\n\t\t\t\t\tz.transform_Image_Image_Src(dst, dr, adr, &d2s, src, sr, bias, &o)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_RGBA_Gray_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.Gray, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.Stride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\t\t\ts00ru := uint32(src.Pix[s00i]) * 0x101\n\t\t\ts00r := float64(s00ru)\n\t\t\ts10i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.Stride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\t\t\ts10ru := uint32(src.Pix[s10i]) * 0x101\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts01i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.Stride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\t\t\ts01ru := uint32(src.Pix[s01i]) * 0x101\n\t\t\ts01r := float64(s01ru)\n\t\t\ts11i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.Stride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\t\t\ts11ru := uint32(src.Pix[s11i]) * 0x101\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\tpr := uint32(s11r)\n\t\t\tout := uint8(pr >> 8)\n\t\t\tdst.Pix[d+0] = out\n\t\t\tdst.Pix[d+1] = out\n\t\t\tdst.Pix[d+2] = out\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_RGBA_NRGBA_Over(dst *image.RGBA, dr, adr image.Rectangle, src *image.NRGBA, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx0)-src.Rect.Min.X)*4\n\t\t\ts00au := uint32(src.Pix[s00i+3]) * 0x101\n\t\t\ts00ru := uint32(src.Pix[s00i+0]) * s00au / 0xff\n\t\t\ts00gu := uint32(src.Pix[s00i+1]) * s00au / 0xff\n\t\t\ts00bu := uint32(src.Pix[s00i+2]) * s00au / 0xff\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx1)-src.Rect.Min.X)*4\n\t\t\ts10au := uint32(src.Pix[s10i+3]) * 0x101\n\t\t\ts10ru := uint32(src.Pix[s10i+0]) * s10au / 0xff\n\t\t\ts10gu := uint32(src.Pix[s10i+1]) * s10au / 0xff\n\t\t\ts10bu := uint32(src.Pix[s10i+2]) * s10au / 0xff\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx0)-src.Rect.Min.X)*4\n\t\t\ts01au := uint32(src.Pix[s01i+3]) * 0x101\n\t\t\ts01ru := uint32(src.Pix[s01i+0]) * s01au / 0xff\n\t\t\ts01gu := uint32(src.Pix[s01i+1]) * s01au / 0xff\n\t\t\ts01bu := uint32(src.Pix[s01i+2]) * s01au / 0xff\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx1)-src.Rect.Min.X)*4\n\t\t\ts11au := uint32(src.Pix[s11i+3]) * 0x101\n\t\t\ts11ru := uint32(src.Pix[s11i+0]) * s11au / 0xff\n\t\t\ts11gu := uint32(src.Pix[s11i+1]) * s11au / 0xff\n\t\t\ts11bu := uint32(src.Pix[s11i+2]) * s11au / 0xff\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_RGBA_NRGBA_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.NRGBA, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx0)-src.Rect.Min.X)*4\n\t\t\ts00au := uint32(src.Pix[s00i+3]) * 0x101\n\t\t\ts00ru := uint32(src.Pix[s00i+0]) * s00au / 0xff\n\t\t\ts00gu := uint32(src.Pix[s00i+1]) * s00au / 0xff\n\t\t\ts00bu := uint32(src.Pix[s00i+2]) * s00au / 0xff\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx1)-src.Rect.Min.X)*4\n\t\t\ts10au := uint32(src.Pix[s10i+3]) * 0x101\n\t\t\ts10ru := uint32(src.Pix[s10i+0]) * s10au / 0xff\n\t\t\ts10gu := uint32(src.Pix[s10i+1]) * s10au / 0xff\n\t\t\ts10bu := uint32(src.Pix[s10i+2]) * s10au / 0xff\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx0)-src.Rect.Min.X)*4\n\t\t\ts01au := uint32(src.Pix[s01i+3]) * 0x101\n\t\t\ts01ru := uint32(src.Pix[s01i+0]) * s01au / 0xff\n\t\t\ts01gu := uint32(src.Pix[s01i+1]) * s01au / 0xff\n\t\t\ts01bu := uint32(src.Pix[s01i+2]) * s01au / 0xff\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx1)-src.Rect.Min.X)*4\n\t\t\ts11au := uint32(src.Pix[s11i+3]) * 0x101\n\t\t\ts11ru := uint32(src.Pix[s11i+0]) * s11au / 0xff\n\t\t\ts11gu := uint32(src.Pix[s11i+1]) * s11au / 0xff\n\t\t\ts11bu := uint32(src.Pix[s11i+2]) * s11au / 0xff\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = uint8(pa >> 8)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_RGBA_RGBA_Over(dst *image.RGBA, dr, adr image.Rectangle, src *image.RGBA, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx0)-src.Rect.Min.X)*4\n\t\t\ts00ru := uint32(src.Pix[s00i+0]) * 0x101\n\t\t\ts00gu := uint32(src.Pix[s00i+1]) * 0x101\n\t\t\ts00bu := uint32(src.Pix[s00i+2]) * 0x101\n\t\t\ts00au := uint32(src.Pix[s00i+3]) * 0x101\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx1)-src.Rect.Min.X)*4\n\t\t\ts10ru := uint32(src.Pix[s10i+0]) * 0x101\n\t\t\ts10gu := uint32(src.Pix[s10i+1]) * 0x101\n\t\t\ts10bu := uint32(src.Pix[s10i+2]) * 0x101\n\t\t\ts10au := uint32(src.Pix[s10i+3]) * 0x101\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx0)-src.Rect.Min.X)*4\n\t\t\ts01ru := uint32(src.Pix[s01i+0]) * 0x101\n\t\t\ts01gu := uint32(src.Pix[s01i+1]) * 0x101\n\t\t\ts01bu := uint32(src.Pix[s01i+2]) * 0x101\n\t\t\ts01au := uint32(src.Pix[s01i+3]) * 0x101\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx1)-src.Rect.Min.X)*4\n\t\t\ts11ru := uint32(src.Pix[s11i+0]) * 0x101\n\t\t\ts11gu := uint32(src.Pix[s11i+1]) * 0x101\n\t\t\ts11bu := uint32(src.Pix[s11i+2]) * 0x101\n\t\t\ts11au := uint32(src.Pix[s11i+3]) * 0x101\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_RGBA_RGBA_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.RGBA, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx0)-src.Rect.Min.X)*4\n\t\t\ts00ru := uint32(src.Pix[s00i+0]) * 0x101\n\t\t\ts00gu := uint32(src.Pix[s00i+1]) * 0x101\n\t\t\ts00bu := uint32(src.Pix[s00i+2]) * 0x101\n\t\t\ts00au := uint32(src.Pix[s00i+3]) * 0x101\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx1)-src.Rect.Min.X)*4\n\t\t\ts10ru := uint32(src.Pix[s10i+0]) * 0x101\n\t\t\ts10gu := uint32(src.Pix[s10i+1]) * 0x101\n\t\t\ts10bu := uint32(src.Pix[s10i+2]) * 0x101\n\t\t\ts10au := uint32(src.Pix[s10i+3]) * 0x101\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx0)-src.Rect.Min.X)*4\n\t\t\ts01ru := uint32(src.Pix[s01i+0]) * 0x101\n\t\t\ts01gu := uint32(src.Pix[s01i+1]) * 0x101\n\t\t\ts01bu := uint32(src.Pix[s01i+2]) * 0x101\n\t\t\ts01au := uint32(src.Pix[s01i+3]) * 0x101\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(sx1)-src.Rect.Min.X)*4\n\t\t\ts11ru := uint32(src.Pix[s11i+0]) * 0x101\n\t\t\ts11gu := uint32(src.Pix[s11i+1]) * 0x101\n\t\t\ts11bu := uint32(src.Pix[s11i+2]) * 0x101\n\t\t\ts11au := uint32(src.Pix[s11i+3]) * 0x101\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = uint8(pa >> 8)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_RGBA_YCbCr444_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.YCbCr, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\t\t\ts00j := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.CStride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts00yy1 := int(src.Y[s00i]) * 0x10101\n\t\t\ts00cb1 := int(src.Cb[s00j]) - 128\n\t\t\ts00cr1 := int(src.Cr[s00j]) - 128\n\t\t\ts00ru := (s00yy1 + 91881*s00cr1) >> 8\n\t\t\ts00gu := (s00yy1 - 22554*s00cb1 - 46802*s00cr1) >> 8\n\t\t\ts00bu := (s00yy1 + 116130*s00cb1) >> 8\n\t\t\tif s00ru < 0 {\n\t\t\t\ts00ru = 0\n\t\t\t} else if s00ru > 0xffff {\n\t\t\t\ts00ru = 0xffff\n\t\t\t}\n\t\t\tif s00gu < 0 {\n\t\t\t\ts00gu = 0\n\t\t\t} else if s00gu > 0xffff {\n\t\t\t\ts00gu = 0xffff\n\t\t\t}\n\t\t\tif s00bu < 0 {\n\t\t\t\ts00bu = 0\n\t\t\t} else if s00bu > 0xffff {\n\t\t\t\ts00bu = 0xffff\n\t\t\t}\n\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts10i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\t\t\ts10j := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.CStride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts10yy1 := int(src.Y[s10i]) * 0x10101\n\t\t\ts10cb1 := int(src.Cb[s10j]) - 128\n\t\t\ts10cr1 := int(src.Cr[s10j]) - 128\n\t\t\ts10ru := (s10yy1 + 91881*s10cr1) >> 8\n\t\t\ts10gu := (s10yy1 - 22554*s10cb1 - 46802*s10cr1) >> 8\n\t\t\ts10bu := (s10yy1 + 116130*s10cb1) >> 8\n\t\t\tif s10ru < 0 {\n\t\t\t\ts10ru = 0\n\t\t\t} else if s10ru > 0xffff {\n\t\t\t\ts10ru = 0xffff\n\t\t\t}\n\t\t\tif s10gu < 0 {\n\t\t\t\ts10gu = 0\n\t\t\t} else if s10gu > 0xffff {\n\t\t\t\ts10gu = 0xffff\n\t\t\t}\n\t\t\tif s10bu < 0 {\n\t\t\t\ts10bu = 0\n\t\t\t} else if s10bu > 0xffff {\n\t\t\t\ts10bu = 0xffff\n\t\t\t}\n\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts01i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\t\t\ts01j := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.CStride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts01yy1 := int(src.Y[s01i]) * 0x10101\n\t\t\ts01cb1 := int(src.Cb[s01j]) - 128\n\t\t\ts01cr1 := int(src.Cr[s01j]) - 128\n\t\t\ts01ru := (s01yy1 + 91881*s01cr1) >> 8\n\t\t\ts01gu := (s01yy1 - 22554*s01cb1 - 46802*s01cr1) >> 8\n\t\t\ts01bu := (s01yy1 + 116130*s01cb1) >> 8\n\t\t\tif s01ru < 0 {\n\t\t\t\ts01ru = 0\n\t\t\t} else if s01ru > 0xffff {\n\t\t\t\ts01ru = 0xffff\n\t\t\t}\n\t\t\tif s01gu < 0 {\n\t\t\t\ts01gu = 0\n\t\t\t} else if s01gu > 0xffff {\n\t\t\t\ts01gu = 0xffff\n\t\t\t}\n\t\t\tif s01bu < 0 {\n\t\t\t\ts01bu = 0\n\t\t\t} else if s01bu > 0xffff {\n\t\t\t\ts01bu = 0xffff\n\t\t\t}\n\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts11i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\t\t\ts11j := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.CStride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts11yy1 := int(src.Y[s11i]) * 0x10101\n\t\t\ts11cb1 := int(src.Cb[s11j]) - 128\n\t\t\ts11cr1 := int(src.Cr[s11j]) - 128\n\t\t\ts11ru := (s11yy1 + 91881*s11cr1) >> 8\n\t\t\ts11gu := (s11yy1 - 22554*s11cb1 - 46802*s11cr1) >> 8\n\t\t\ts11bu := (s11yy1 + 116130*s11cb1) >> 8\n\t\t\tif s11ru < 0 {\n\t\t\t\ts11ru = 0\n\t\t\t} else if s11ru > 0xffff {\n\t\t\t\ts11ru = 0xffff\n\t\t\t}\n\t\t\tif s11gu < 0 {\n\t\t\t\ts11gu = 0\n\t\t\t} else if s11gu > 0xffff {\n\t\t\t\ts11gu = 0xffff\n\t\t\t}\n\t\t\tif s11bu < 0 {\n\t\t\t\ts11bu = 0\n\t\t\t} else if s11bu > 0xffff {\n\t\t\t\ts11bu = 0xffff\n\t\t\t}\n\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_RGBA_YCbCr422_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.YCbCr, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\t\t\ts00j := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.CStride + ((sr.Min.X+int(sx0))/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts00yy1 := int(src.Y[s00i]) * 0x10101\n\t\t\ts00cb1 := int(src.Cb[s00j]) - 128\n\t\t\ts00cr1 := int(src.Cr[s00j]) - 128\n\t\t\ts00ru := (s00yy1 + 91881*s00cr1) >> 8\n\t\t\ts00gu := (s00yy1 - 22554*s00cb1 - 46802*s00cr1) >> 8\n\t\t\ts00bu := (s00yy1 + 116130*s00cb1) >> 8\n\t\t\tif s00ru < 0 {\n\t\t\t\ts00ru = 0\n\t\t\t} else if s00ru > 0xffff {\n\t\t\t\ts00ru = 0xffff\n\t\t\t}\n\t\t\tif s00gu < 0 {\n\t\t\t\ts00gu = 0\n\t\t\t} else if s00gu > 0xffff {\n\t\t\t\ts00gu = 0xffff\n\t\t\t}\n\t\t\tif s00bu < 0 {\n\t\t\t\ts00bu = 0\n\t\t\t} else if s00bu > 0xffff {\n\t\t\t\ts00bu = 0xffff\n\t\t\t}\n\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts10i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\t\t\ts10j := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.CStride + ((sr.Min.X+int(sx1))/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts10yy1 := int(src.Y[s10i]) * 0x10101\n\t\t\ts10cb1 := int(src.Cb[s10j]) - 128\n\t\t\ts10cr1 := int(src.Cr[s10j]) - 128\n\t\t\ts10ru := (s10yy1 + 91881*s10cr1) >> 8\n\t\t\ts10gu := (s10yy1 - 22554*s10cb1 - 46802*s10cr1) >> 8\n\t\t\ts10bu := (s10yy1 + 116130*s10cb1) >> 8\n\t\t\tif s10ru < 0 {\n\t\t\t\ts10ru = 0\n\t\t\t} else if s10ru > 0xffff {\n\t\t\t\ts10ru = 0xffff\n\t\t\t}\n\t\t\tif s10gu < 0 {\n\t\t\t\ts10gu = 0\n\t\t\t} else if s10gu > 0xffff {\n\t\t\t\ts10gu = 0xffff\n\t\t\t}\n\t\t\tif s10bu < 0 {\n\t\t\t\ts10bu = 0\n\t\t\t} else if s10bu > 0xffff {\n\t\t\t\ts10bu = 0xffff\n\t\t\t}\n\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts01i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\t\t\ts01j := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.CStride + ((sr.Min.X+int(sx0))/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts01yy1 := int(src.Y[s01i]) * 0x10101\n\t\t\ts01cb1 := int(src.Cb[s01j]) - 128\n\t\t\ts01cr1 := int(src.Cr[s01j]) - 128\n\t\t\ts01ru := (s01yy1 + 91881*s01cr1) >> 8\n\t\t\ts01gu := (s01yy1 - 22554*s01cb1 - 46802*s01cr1) >> 8\n\t\t\ts01bu := (s01yy1 + 116130*s01cb1) >> 8\n\t\t\tif s01ru < 0 {\n\t\t\t\ts01ru = 0\n\t\t\t} else if s01ru > 0xffff {\n\t\t\t\ts01ru = 0xffff\n\t\t\t}\n\t\t\tif s01gu < 0 {\n\t\t\t\ts01gu = 0\n\t\t\t} else if s01gu > 0xffff {\n\t\t\t\ts01gu = 0xffff\n\t\t\t}\n\t\t\tif s01bu < 0 {\n\t\t\t\ts01bu = 0\n\t\t\t} else if s01bu > 0xffff {\n\t\t\t\ts01bu = 0xffff\n\t\t\t}\n\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts11i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\t\t\ts11j := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.CStride + ((sr.Min.X+int(sx1))/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts11yy1 := int(src.Y[s11i]) * 0x10101\n\t\t\ts11cb1 := int(src.Cb[s11j]) - 128\n\t\t\ts11cr1 := int(src.Cr[s11j]) - 128\n\t\t\ts11ru := (s11yy1 + 91881*s11cr1) >> 8\n\t\t\ts11gu := (s11yy1 - 22554*s11cb1 - 46802*s11cr1) >> 8\n\t\t\ts11bu := (s11yy1 + 116130*s11cb1) >> 8\n\t\t\tif s11ru < 0 {\n\t\t\t\ts11ru = 0\n\t\t\t} else if s11ru > 0xffff {\n\t\t\t\ts11ru = 0xffff\n\t\t\t}\n\t\t\tif s11gu < 0 {\n\t\t\t\ts11gu = 0\n\t\t\t} else if s11gu > 0xffff {\n\t\t\t\ts11gu = 0xffff\n\t\t\t}\n\t\t\tif s11bu < 0 {\n\t\t\t\ts11bu = 0\n\t\t\t} else if s11bu > 0xffff {\n\t\t\t\ts11bu = 0xffff\n\t\t\t}\n\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_RGBA_YCbCr420_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.YCbCr, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\t\t\ts00j := ((sr.Min.Y+int(sy0))/2-src.Rect.Min.Y/2)*src.CStride + ((sr.Min.X+int(sx0))/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts00yy1 := int(src.Y[s00i]) * 0x10101\n\t\t\ts00cb1 := int(src.Cb[s00j]) - 128\n\t\t\ts00cr1 := int(src.Cr[s00j]) - 128\n\t\t\ts00ru := (s00yy1 + 91881*s00cr1) >> 8\n\t\t\ts00gu := (s00yy1 - 22554*s00cb1 - 46802*s00cr1) >> 8\n\t\t\ts00bu := (s00yy1 + 116130*s00cb1) >> 8\n\t\t\tif s00ru < 0 {\n\t\t\t\ts00ru = 0\n\t\t\t} else if s00ru > 0xffff {\n\t\t\t\ts00ru = 0xffff\n\t\t\t}\n\t\t\tif s00gu < 0 {\n\t\t\t\ts00gu = 0\n\t\t\t} else if s00gu > 0xffff {\n\t\t\t\ts00gu = 0xffff\n\t\t\t}\n\t\t\tif s00bu < 0 {\n\t\t\t\ts00bu = 0\n\t\t\t} else if s00bu > 0xffff {\n\t\t\t\ts00bu = 0xffff\n\t\t\t}\n\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts10i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\t\t\ts10j := ((sr.Min.Y+int(sy0))/2-src.Rect.Min.Y/2)*src.CStride + ((sr.Min.X+int(sx1))/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts10yy1 := int(src.Y[s10i]) * 0x10101\n\t\t\ts10cb1 := int(src.Cb[s10j]) - 128\n\t\t\ts10cr1 := int(src.Cr[s10j]) - 128\n\t\t\ts10ru := (s10yy1 + 91881*s10cr1) >> 8\n\t\t\ts10gu := (s10yy1 - 22554*s10cb1 - 46802*s10cr1) >> 8\n\t\t\ts10bu := (s10yy1 + 116130*s10cb1) >> 8\n\t\t\tif s10ru < 0 {\n\t\t\t\ts10ru = 0\n\t\t\t} else if s10ru > 0xffff {\n\t\t\t\ts10ru = 0xffff\n\t\t\t}\n\t\t\tif s10gu < 0 {\n\t\t\t\ts10gu = 0\n\t\t\t} else if s10gu > 0xffff {\n\t\t\t\ts10gu = 0xffff\n\t\t\t}\n\t\t\tif s10bu < 0 {\n\t\t\t\ts10bu = 0\n\t\t\t} else if s10bu > 0xffff {\n\t\t\t\ts10bu = 0xffff\n\t\t\t}\n\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts01i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\t\t\ts01j := ((sr.Min.Y+int(sy1))/2-src.Rect.Min.Y/2)*src.CStride + ((sr.Min.X+int(sx0))/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts01yy1 := int(src.Y[s01i]) * 0x10101\n\t\t\ts01cb1 := int(src.Cb[s01j]) - 128\n\t\t\ts01cr1 := int(src.Cr[s01j]) - 128\n\t\t\ts01ru := (s01yy1 + 91881*s01cr1) >> 8\n\t\t\ts01gu := (s01yy1 - 22554*s01cb1 - 46802*s01cr1) >> 8\n\t\t\ts01bu := (s01yy1 + 116130*s01cb1) >> 8\n\t\t\tif s01ru < 0 {\n\t\t\t\ts01ru = 0\n\t\t\t} else if s01ru > 0xffff {\n\t\t\t\ts01ru = 0xffff\n\t\t\t}\n\t\t\tif s01gu < 0 {\n\t\t\t\ts01gu = 0\n\t\t\t} else if s01gu > 0xffff {\n\t\t\t\ts01gu = 0xffff\n\t\t\t}\n\t\t\tif s01bu < 0 {\n\t\t\t\ts01bu = 0\n\t\t\t} else if s01bu > 0xffff {\n\t\t\t\ts01bu = 0xffff\n\t\t\t}\n\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts11i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\t\t\ts11j := ((sr.Min.Y+int(sy1))/2-src.Rect.Min.Y/2)*src.CStride + ((sr.Min.X+int(sx1))/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts11yy1 := int(src.Y[s11i]) * 0x10101\n\t\t\ts11cb1 := int(src.Cb[s11j]) - 128\n\t\t\ts11cr1 := int(src.Cr[s11j]) - 128\n\t\t\ts11ru := (s11yy1 + 91881*s11cr1) >> 8\n\t\t\ts11gu := (s11yy1 - 22554*s11cb1 - 46802*s11cr1) >> 8\n\t\t\ts11bu := (s11yy1 + 116130*s11cb1) >> 8\n\t\t\tif s11ru < 0 {\n\t\t\t\ts11ru = 0\n\t\t\t} else if s11ru > 0xffff {\n\t\t\t\ts11ru = 0xffff\n\t\t\t}\n\t\t\tif s11gu < 0 {\n\t\t\t\ts11gu = 0\n\t\t\t} else if s11gu > 0xffff {\n\t\t\t\ts11gu = 0xffff\n\t\t\t}\n\t\t\tif s11bu < 0 {\n\t\t\t\ts11bu = 0\n\t\t\t} else if s11bu > 0xffff {\n\t\t\t\ts11bu = 0xffff\n\t\t\t}\n\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_RGBA_YCbCr440_Src(dst *image.RGBA, dr, adr image.Rectangle, src *image.YCbCr, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\t\t\ts00j := ((sr.Min.Y+int(sy0))/2-src.Rect.Min.Y/2)*src.CStride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts00yy1 := int(src.Y[s00i]) * 0x10101\n\t\t\ts00cb1 := int(src.Cb[s00j]) - 128\n\t\t\ts00cr1 := int(src.Cr[s00j]) - 128\n\t\t\ts00ru := (s00yy1 + 91881*s00cr1) >> 8\n\t\t\ts00gu := (s00yy1 - 22554*s00cb1 - 46802*s00cr1) >> 8\n\t\t\ts00bu := (s00yy1 + 116130*s00cb1) >> 8\n\t\t\tif s00ru < 0 {\n\t\t\t\ts00ru = 0\n\t\t\t} else if s00ru > 0xffff {\n\t\t\t\ts00ru = 0xffff\n\t\t\t}\n\t\t\tif s00gu < 0 {\n\t\t\t\ts00gu = 0\n\t\t\t} else if s00gu > 0xffff {\n\t\t\t\ts00gu = 0xffff\n\t\t\t}\n\t\t\tif s00bu < 0 {\n\t\t\t\ts00bu = 0\n\t\t\t} else if s00bu > 0xffff {\n\t\t\t\ts00bu = 0xffff\n\t\t\t}\n\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts10i := (sr.Min.Y+int(sy0)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\t\t\ts10j := ((sr.Min.Y+int(sy0))/2-src.Rect.Min.Y/2)*src.CStride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts10yy1 := int(src.Y[s10i]) * 0x10101\n\t\t\ts10cb1 := int(src.Cb[s10j]) - 128\n\t\t\ts10cr1 := int(src.Cr[s10j]) - 128\n\t\t\ts10ru := (s10yy1 + 91881*s10cr1) >> 8\n\t\t\ts10gu := (s10yy1 - 22554*s10cb1 - 46802*s10cr1) >> 8\n\t\t\ts10bu := (s10yy1 + 116130*s10cb1) >> 8\n\t\t\tif s10ru < 0 {\n\t\t\t\ts10ru = 0\n\t\t\t} else if s10ru > 0xffff {\n\t\t\t\ts10ru = 0xffff\n\t\t\t}\n\t\t\tif s10gu < 0 {\n\t\t\t\ts10gu = 0\n\t\t\t} else if s10gu > 0xffff {\n\t\t\t\ts10gu = 0xffff\n\t\t\t}\n\t\t\tif s10bu < 0 {\n\t\t\t\ts10bu = 0\n\t\t\t} else if s10bu > 0xffff {\n\t\t\t\ts10bu = 0xffff\n\t\t\t}\n\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts01i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\t\t\ts01j := ((sr.Min.Y+int(sy1))/2-src.Rect.Min.Y/2)*src.CStride + (sr.Min.X + int(sx0) - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts01yy1 := int(src.Y[s01i]) * 0x10101\n\t\t\ts01cb1 := int(src.Cb[s01j]) - 128\n\t\t\ts01cr1 := int(src.Cr[s01j]) - 128\n\t\t\ts01ru := (s01yy1 + 91881*s01cr1) >> 8\n\t\t\ts01gu := (s01yy1 - 22554*s01cb1 - 46802*s01cr1) >> 8\n\t\t\ts01bu := (s01yy1 + 116130*s01cb1) >> 8\n\t\t\tif s01ru < 0 {\n\t\t\t\ts01ru = 0\n\t\t\t} else if s01ru > 0xffff {\n\t\t\t\ts01ru = 0xffff\n\t\t\t}\n\t\t\tif s01gu < 0 {\n\t\t\t\ts01gu = 0\n\t\t\t} else if s01gu > 0xffff {\n\t\t\t\ts01gu = 0xffff\n\t\t\t}\n\t\t\tif s01bu < 0 {\n\t\t\t\ts01bu = 0\n\t\t\t} else if s01bu > 0xffff {\n\t\t\t\ts01bu = 0xffff\n\t\t\t}\n\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts11i := (sr.Min.Y+int(sy1)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\t\t\ts11j := ((sr.Min.Y+int(sy1))/2-src.Rect.Min.Y/2)*src.CStride + (sr.Min.X + int(sx1) - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts11yy1 := int(src.Y[s11i]) * 0x10101\n\t\t\ts11cb1 := int(src.Cb[s11j]) - 128\n\t\t\ts11cr1 := int(src.Cr[s11j]) - 128\n\t\t\ts11ru := (s11yy1 + 91881*s11cr1) >> 8\n\t\t\ts11gu := (s11yy1 - 22554*s11cb1 - 46802*s11cr1) >> 8\n\t\t\ts11bu := (s11yy1 + 116130*s11cb1) >> 8\n\t\t\tif s11ru < 0 {\n\t\t\t\ts11ru = 0\n\t\t\t} else if s11ru > 0xffff {\n\t\t\t\ts11ru = 0xffff\n\t\t\t}\n\t\t\tif s11gu < 0 {\n\t\t\t\ts11gu = 0\n\t\t\t} else if s11gu > 0xffff {\n\t\t\t\ts11gu = 0xffff\n\t\t\t}\n\t\t\tif s11bu < 0 {\n\t\t\t\ts11bu = 0\n\t\t\t} else if s11bu > 0xffff {\n\t\t\t\ts11bu = 0xffff\n\t\t\t}\n\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_RGBA_Image_Over(dst *image.RGBA, dr, adr image.Rectangle, src image.Image, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00ru, s00gu, s00bu, s00au := src.At(sr.Min.X+int(sx0), sr.Min.Y+int(sy0)).RGBA()\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10ru, s10gu, s10bu, s10au := src.At(sr.Min.X+int(sx1), sr.Min.Y+int(sy0)).RGBA()\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01ru, s01gu, s01bu, s01au := src.At(sr.Min.X+int(sx0), sr.Min.Y+int(sy1)).RGBA()\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11ru, s11gu, s11bu, s11au := src.At(sr.Min.X+int(sx1), sr.Min.Y+int(sy1)).RGBA()\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_RGBA_Image_Src(dst *image.RGBA, dr, adr image.Rectangle, src image.Image, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00ru, s00gu, s00bu, s00au := src.At(sr.Min.X+int(sx0), sr.Min.Y+int(sy0)).RGBA()\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10ru, s10gu, s10bu, s10au := src.At(sr.Min.X+int(sx1), sr.Min.Y+int(sy0)).RGBA()\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01ru, s01gu, s01bu, s01au := src.At(sr.Min.X+int(sx0), sr.Min.Y+int(sy1)).RGBA()\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11ru, s11gu, s11bu, s11au := src.At(sr.Min.X+int(sx1), sr.Min.Y+int(sy1)).RGBA()\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = uint8(pa >> 8)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_Image_Image_Over(dst Image, dr, adr image.Rectangle, src image.Image, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\tsrcMask, smp := opts.SrcMask, opts.SrcMaskP\n\tdstMask, dmp := opts.DstMask, opts.DstMaskP\n\tdstColorRGBA64 := &color.RGBA64{}\n\tdstColor := color.Color(dstColorRGBA64)\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00ru, s00gu, s00bu, s00au := src.At(sr.Min.X+int(sx0), sr.Min.Y+int(sy0)).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sr.Min.X+int(sx0), smp.Y+sr.Min.Y+int(sy0)).RGBA()\n\t\t\t\ts00ru = s00ru * ma / 0xffff\n\t\t\t\ts00gu = s00gu * ma / 0xffff\n\t\t\t\ts00bu = s00bu * ma / 0xffff\n\t\t\t\ts00au = s00au * ma / 0xffff\n\t\t\t}\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10ru, s10gu, s10bu, s10au := src.At(sr.Min.X+int(sx1), sr.Min.Y+int(sy0)).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sr.Min.X+int(sx1), smp.Y+sr.Min.Y+int(sy0)).RGBA()\n\t\t\t\ts10ru = s10ru * ma / 0xffff\n\t\t\t\ts10gu = s10gu * ma / 0xffff\n\t\t\t\ts10bu = s10bu * ma / 0xffff\n\t\t\t\ts10au = s10au * ma / 0xffff\n\t\t\t}\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01ru, s01gu, s01bu, s01au := src.At(sr.Min.X+int(sx0), sr.Min.Y+int(sy1)).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sr.Min.X+int(sx0), smp.Y+sr.Min.Y+int(sy1)).RGBA()\n\t\t\t\ts01ru = s01ru * ma / 0xffff\n\t\t\t\ts01gu = s01gu * ma / 0xffff\n\t\t\t\ts01bu = s01bu * ma / 0xffff\n\t\t\t\ts01au = s01au * ma / 0xffff\n\t\t\t}\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11ru, s11gu, s11bu, s11au := src.At(sr.Min.X+int(sx1), sr.Min.Y+int(sy1)).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sr.Min.X+int(sx1), smp.Y+sr.Min.Y+int(sy1)).RGBA()\n\t\t\t\ts11ru = s11ru * ma / 0xffff\n\t\t\t\ts11gu = s11gu * ma / 0xffff\n\t\t\t\ts11bu = s11bu * ma / 0xffff\n\t\t\t\ts11au = s11au * ma / 0xffff\n\t\t\t}\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(dy)).RGBA()\n\t\t\tif dstMask != nil {\n\t\t\t\t_, _, _, ma := dstMask.At(dmp.X+dr.Min.X+int(dx), dmp.Y+dr.Min.Y+int(dy)).RGBA()\n\t\t\t\tpr = pr * ma / 0xffff\n\t\t\t\tpg = pg * ma / 0xffff\n\t\t\t\tpb = pb * ma / 0xffff\n\t\t\t\tpa = pa * ma / 0xffff\n\t\t\t}\n\t\t\tpa1 := 0xffff - pa\n\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr)\n\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg)\n\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb)\n\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa)\n\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) scale_Image_Image_Src(dst Image, dr, adr image.Rectangle, src image.Image, sr image.Rectangle, opts *Options) {\n\tsw := int32(sr.Dx())\n\tsh := int32(sr.Dy())\n\tyscale := float64(sh) / float64(dr.Dy())\n\txscale := float64(sw) / float64(dr.Dx())\n\tswMinus1, shMinus1 := sw-1, sh-1\n\tsrcMask, smp := opts.SrcMask, opts.SrcMaskP\n\tdstMask, dmp := opts.DstMask, opts.DstMaskP\n\tdstColorRGBA64 := &color.RGBA64{}\n\tdstColor := color.Color(dstColorRGBA64)\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tsy := (float64(dy)+0.5)*yscale - 0.5\n\t\t// If sy < 0, we will clamp sy0 to 0 anyway, so it doesn't matter if\n\t\t// we say int32(sy) instead of int32(math.Floor(sy)). Similarly for\n\t\t// sx, below.\n\t\tsy0 := int32(sy)\n\t\tyFrac0 := sy - float64(sy0)\n\t\tyFrac1 := 1 - yFrac0\n\t\tsy1 := sy0 + 1\n\t\tif sy < 0 {\n\t\t\tsy0, sy1 = 0, 0\n\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t} else if sy1 > shMinus1 {\n\t\t\tsy0, sy1 = shMinus1, shMinus1\n\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t}\n\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\tsx := (float64(dx)+0.5)*xscale - 0.5\n\t\t\tsx0 := int32(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx < 0 {\n\t\t\t\tsx0, sx1 = 0, 0\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 > swMinus1 {\n\t\t\t\tsx0, sx1 = swMinus1, swMinus1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00ru, s00gu, s00bu, s00au := src.At(sr.Min.X+int(sx0), sr.Min.Y+int(sy0)).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sr.Min.X+int(sx0), smp.Y+sr.Min.Y+int(sy0)).RGBA()\n\t\t\t\ts00ru = s00ru * ma / 0xffff\n\t\t\t\ts00gu = s00gu * ma / 0xffff\n\t\t\t\ts00bu = s00bu * ma / 0xffff\n\t\t\t\ts00au = s00au * ma / 0xffff\n\t\t\t}\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10ru, s10gu, s10bu, s10au := src.At(sr.Min.X+int(sx1), sr.Min.Y+int(sy0)).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sr.Min.X+int(sx1), smp.Y+sr.Min.Y+int(sy0)).RGBA()\n\t\t\t\ts10ru = s10ru * ma / 0xffff\n\t\t\t\ts10gu = s10gu * ma / 0xffff\n\t\t\t\ts10bu = s10bu * ma / 0xffff\n\t\t\t\ts10au = s10au * ma / 0xffff\n\t\t\t}\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01ru, s01gu, s01bu, s01au := src.At(sr.Min.X+int(sx0), sr.Min.Y+int(sy1)).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sr.Min.X+int(sx0), smp.Y+sr.Min.Y+int(sy1)).RGBA()\n\t\t\t\ts01ru = s01ru * ma / 0xffff\n\t\t\t\ts01gu = s01gu * ma / 0xffff\n\t\t\t\ts01bu = s01bu * ma / 0xffff\n\t\t\t\ts01au = s01au * ma / 0xffff\n\t\t\t}\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11ru, s11gu, s11bu, s11au := src.At(sr.Min.X+int(sx1), sr.Min.Y+int(sy1)).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sr.Min.X+int(sx1), smp.Y+sr.Min.Y+int(sy1)).RGBA()\n\t\t\t\ts11ru = s11ru * ma / 0xffff\n\t\t\t\ts11gu = s11gu * ma / 0xffff\n\t\t\t\ts11bu = s11bu * ma / 0xffff\n\t\t\t\ts11au = s11au * ma / 0xffff\n\t\t\t}\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tif dstMask != nil {\n\t\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(dy)).RGBA()\n\t\t\t\t_, _, _, ma := dstMask.At(dmp.X+dr.Min.X+int(dx), dmp.Y+dr.Min.Y+int(dy)).RGBA()\n\t\t\t\tpr = pr * ma / 0xffff\n\t\t\t\tpg = pg * ma / 0xffff\n\t\t\t\tpb = pb * ma / 0xffff\n\t\t\t\tpa = pa * ma / 0xffff\n\t\t\t\tpa1 := 0xffff - ma\n\t\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr)\n\t\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg)\n\t\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb)\n\t\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa)\n\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t\t} else {\n\t\t\t\tdstColorRGBA64.R = uint16(pr)\n\t\t\t\tdstColorRGBA64.G = uint16(pg)\n\t\t\t\tdstColorRGBA64.B = uint16(pb)\n\t\t\t\tdstColorRGBA64.A = uint16(pa)\n\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_RGBA_Gray_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.Gray, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sy0-src.Rect.Min.Y)*src.Stride + (sx0 - src.Rect.Min.X)\n\t\t\ts00ru := uint32(src.Pix[s00i]) * 0x101\n\t\t\ts00r := float64(s00ru)\n\t\t\ts10i := (sy0-src.Rect.Min.Y)*src.Stride + (sx1 - src.Rect.Min.X)\n\t\t\ts10ru := uint32(src.Pix[s10i]) * 0x101\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts01i := (sy1-src.Rect.Min.Y)*src.Stride + (sx0 - src.Rect.Min.X)\n\t\t\ts01ru := uint32(src.Pix[s01i]) * 0x101\n\t\t\ts01r := float64(s01ru)\n\t\t\ts11i := (sy1-src.Rect.Min.Y)*src.Stride + (sx1 - src.Rect.Min.X)\n\t\t\ts11ru := uint32(src.Pix[s11i]) * 0x101\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\tpr := uint32(s11r)\n\t\t\tout := uint8(pr >> 8)\n\t\t\tdst.Pix[d+0] = out\n\t\t\tdst.Pix[d+1] = out\n\t\t\tdst.Pix[d+2] = out\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_RGBA_NRGBA_Over(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.NRGBA, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sy0-src.Rect.Min.Y)*src.Stride + (sx0-src.Rect.Min.X)*4\n\t\t\ts00au := uint32(src.Pix[s00i+3]) * 0x101\n\t\t\ts00ru := uint32(src.Pix[s00i+0]) * s00au / 0xff\n\t\t\ts00gu := uint32(src.Pix[s00i+1]) * s00au / 0xff\n\t\t\ts00bu := uint32(src.Pix[s00i+2]) * s00au / 0xff\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10i := (sy0-src.Rect.Min.Y)*src.Stride + (sx1-src.Rect.Min.X)*4\n\t\t\ts10au := uint32(src.Pix[s10i+3]) * 0x101\n\t\t\ts10ru := uint32(src.Pix[s10i+0]) * s10au / 0xff\n\t\t\ts10gu := uint32(src.Pix[s10i+1]) * s10au / 0xff\n\t\t\ts10bu := uint32(src.Pix[s10i+2]) * s10au / 0xff\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01i := (sy1-src.Rect.Min.Y)*src.Stride + (sx0-src.Rect.Min.X)*4\n\t\t\ts01au := uint32(src.Pix[s01i+3]) * 0x101\n\t\t\ts01ru := uint32(src.Pix[s01i+0]) * s01au / 0xff\n\t\t\ts01gu := uint32(src.Pix[s01i+1]) * s01au / 0xff\n\t\t\ts01bu := uint32(src.Pix[s01i+2]) * s01au / 0xff\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11i := (sy1-src.Rect.Min.Y)*src.Stride + (sx1-src.Rect.Min.X)*4\n\t\t\ts11au := uint32(src.Pix[s11i+3]) * 0x101\n\t\t\ts11ru := uint32(src.Pix[s11i+0]) * s11au / 0xff\n\t\t\ts11gu := uint32(src.Pix[s11i+1]) * s11au / 0xff\n\t\t\ts11bu := uint32(src.Pix[s11i+2]) * s11au / 0xff\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_RGBA_NRGBA_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.NRGBA, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sy0-src.Rect.Min.Y)*src.Stride + (sx0-src.Rect.Min.X)*4\n\t\t\ts00au := uint32(src.Pix[s00i+3]) * 0x101\n\t\t\ts00ru := uint32(src.Pix[s00i+0]) * s00au / 0xff\n\t\t\ts00gu := uint32(src.Pix[s00i+1]) * s00au / 0xff\n\t\t\ts00bu := uint32(src.Pix[s00i+2]) * s00au / 0xff\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10i := (sy0-src.Rect.Min.Y)*src.Stride + (sx1-src.Rect.Min.X)*4\n\t\t\ts10au := uint32(src.Pix[s10i+3]) * 0x101\n\t\t\ts10ru := uint32(src.Pix[s10i+0]) * s10au / 0xff\n\t\t\ts10gu := uint32(src.Pix[s10i+1]) * s10au / 0xff\n\t\t\ts10bu := uint32(src.Pix[s10i+2]) * s10au / 0xff\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01i := (sy1-src.Rect.Min.Y)*src.Stride + (sx0-src.Rect.Min.X)*4\n\t\t\ts01au := uint32(src.Pix[s01i+3]) * 0x101\n\t\t\ts01ru := uint32(src.Pix[s01i+0]) * s01au / 0xff\n\t\t\ts01gu := uint32(src.Pix[s01i+1]) * s01au / 0xff\n\t\t\ts01bu := uint32(src.Pix[s01i+2]) * s01au / 0xff\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11i := (sy1-src.Rect.Min.Y)*src.Stride + (sx1-src.Rect.Min.X)*4\n\t\t\ts11au := uint32(src.Pix[s11i+3]) * 0x101\n\t\t\ts11ru := uint32(src.Pix[s11i+0]) * s11au / 0xff\n\t\t\ts11gu := uint32(src.Pix[s11i+1]) * s11au / 0xff\n\t\t\ts11bu := uint32(src.Pix[s11i+2]) * s11au / 0xff\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = uint8(pa >> 8)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_RGBA_RGBA_Over(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.RGBA, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sy0-src.Rect.Min.Y)*src.Stride + (sx0-src.Rect.Min.X)*4\n\t\t\ts00ru := uint32(src.Pix[s00i+0]) * 0x101\n\t\t\ts00gu := uint32(src.Pix[s00i+1]) * 0x101\n\t\t\ts00bu := uint32(src.Pix[s00i+2]) * 0x101\n\t\t\ts00au := uint32(src.Pix[s00i+3]) * 0x101\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10i := (sy0-src.Rect.Min.Y)*src.Stride + (sx1-src.Rect.Min.X)*4\n\t\t\ts10ru := uint32(src.Pix[s10i+0]) * 0x101\n\t\t\ts10gu := uint32(src.Pix[s10i+1]) * 0x101\n\t\t\ts10bu := uint32(src.Pix[s10i+2]) * 0x101\n\t\t\ts10au := uint32(src.Pix[s10i+3]) * 0x101\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01i := (sy1-src.Rect.Min.Y)*src.Stride + (sx0-src.Rect.Min.X)*4\n\t\t\ts01ru := uint32(src.Pix[s01i+0]) * 0x101\n\t\t\ts01gu := uint32(src.Pix[s01i+1]) * 0x101\n\t\t\ts01bu := uint32(src.Pix[s01i+2]) * 0x101\n\t\t\ts01au := uint32(src.Pix[s01i+3]) * 0x101\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11i := (sy1-src.Rect.Min.Y)*src.Stride + (sx1-src.Rect.Min.X)*4\n\t\t\ts11ru := uint32(src.Pix[s11i+0]) * 0x101\n\t\t\ts11gu := uint32(src.Pix[s11i+1]) * 0x101\n\t\t\ts11bu := uint32(src.Pix[s11i+2]) * 0x101\n\t\t\ts11au := uint32(src.Pix[s11i+3]) * 0x101\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_RGBA_RGBA_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.RGBA, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sy0-src.Rect.Min.Y)*src.Stride + (sx0-src.Rect.Min.X)*4\n\t\t\ts00ru := uint32(src.Pix[s00i+0]) * 0x101\n\t\t\ts00gu := uint32(src.Pix[s00i+1]) * 0x101\n\t\t\ts00bu := uint32(src.Pix[s00i+2]) * 0x101\n\t\t\ts00au := uint32(src.Pix[s00i+3]) * 0x101\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10i := (sy0-src.Rect.Min.Y)*src.Stride + (sx1-src.Rect.Min.X)*4\n\t\t\ts10ru := uint32(src.Pix[s10i+0]) * 0x101\n\t\t\ts10gu := uint32(src.Pix[s10i+1]) * 0x101\n\t\t\ts10bu := uint32(src.Pix[s10i+2]) * 0x101\n\t\t\ts10au := uint32(src.Pix[s10i+3]) * 0x101\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01i := (sy1-src.Rect.Min.Y)*src.Stride + (sx0-src.Rect.Min.X)*4\n\t\t\ts01ru := uint32(src.Pix[s01i+0]) * 0x101\n\t\t\ts01gu := uint32(src.Pix[s01i+1]) * 0x101\n\t\t\ts01bu := uint32(src.Pix[s01i+2]) * 0x101\n\t\t\ts01au := uint32(src.Pix[s01i+3]) * 0x101\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11i := (sy1-src.Rect.Min.Y)*src.Stride + (sx1-src.Rect.Min.X)*4\n\t\t\ts11ru := uint32(src.Pix[s11i+0]) * 0x101\n\t\t\ts11gu := uint32(src.Pix[s11i+1]) * 0x101\n\t\t\ts11bu := uint32(src.Pix[s11i+2]) * 0x101\n\t\t\ts11au := uint32(src.Pix[s11i+3]) * 0x101\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = uint8(pa >> 8)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_RGBA_YCbCr444_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.YCbCr, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sy0-src.Rect.Min.Y)*src.YStride + (sx0 - src.Rect.Min.X)\n\t\t\ts00j := (sy0-src.Rect.Min.Y)*src.CStride + (sx0 - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts00yy1 := int(src.Y[s00i]) * 0x10101\n\t\t\ts00cb1 := int(src.Cb[s00j]) - 128\n\t\t\ts00cr1 := int(src.Cr[s00j]) - 128\n\t\t\ts00ru := (s00yy1 + 91881*s00cr1) >> 8\n\t\t\ts00gu := (s00yy1 - 22554*s00cb1 - 46802*s00cr1) >> 8\n\t\t\ts00bu := (s00yy1 + 116130*s00cb1) >> 8\n\t\t\tif s00ru < 0 {\n\t\t\t\ts00ru = 0\n\t\t\t} else if s00ru > 0xffff {\n\t\t\t\ts00ru = 0xffff\n\t\t\t}\n\t\t\tif s00gu < 0 {\n\t\t\t\ts00gu = 0\n\t\t\t} else if s00gu > 0xffff {\n\t\t\t\ts00gu = 0xffff\n\t\t\t}\n\t\t\tif s00bu < 0 {\n\t\t\t\ts00bu = 0\n\t\t\t} else if s00bu > 0xffff {\n\t\t\t\ts00bu = 0xffff\n\t\t\t}\n\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts10i := (sy0-src.Rect.Min.Y)*src.YStride + (sx1 - src.Rect.Min.X)\n\t\t\ts10j := (sy0-src.Rect.Min.Y)*src.CStride + (sx1 - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts10yy1 := int(src.Y[s10i]) * 0x10101\n\t\t\ts10cb1 := int(src.Cb[s10j]) - 128\n\t\t\ts10cr1 := int(src.Cr[s10j]) - 128\n\t\t\ts10ru := (s10yy1 + 91881*s10cr1) >> 8\n\t\t\ts10gu := (s10yy1 - 22554*s10cb1 - 46802*s10cr1) >> 8\n\t\t\ts10bu := (s10yy1 + 116130*s10cb1) >> 8\n\t\t\tif s10ru < 0 {\n\t\t\t\ts10ru = 0\n\t\t\t} else if s10ru > 0xffff {\n\t\t\t\ts10ru = 0xffff\n\t\t\t}\n\t\t\tif s10gu < 0 {\n\t\t\t\ts10gu = 0\n\t\t\t} else if s10gu > 0xffff {\n\t\t\t\ts10gu = 0xffff\n\t\t\t}\n\t\t\tif s10bu < 0 {\n\t\t\t\ts10bu = 0\n\t\t\t} else if s10bu > 0xffff {\n\t\t\t\ts10bu = 0xffff\n\t\t\t}\n\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts01i := (sy1-src.Rect.Min.Y)*src.YStride + (sx0 - src.Rect.Min.X)\n\t\t\ts01j := (sy1-src.Rect.Min.Y)*src.CStride + (sx0 - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts01yy1 := int(src.Y[s01i]) * 0x10101\n\t\t\ts01cb1 := int(src.Cb[s01j]) - 128\n\t\t\ts01cr1 := int(src.Cr[s01j]) - 128\n\t\t\ts01ru := (s01yy1 + 91881*s01cr1) >> 8\n\t\t\ts01gu := (s01yy1 - 22554*s01cb1 - 46802*s01cr1) >> 8\n\t\t\ts01bu := (s01yy1 + 116130*s01cb1) >> 8\n\t\t\tif s01ru < 0 {\n\t\t\t\ts01ru = 0\n\t\t\t} else if s01ru > 0xffff {\n\t\t\t\ts01ru = 0xffff\n\t\t\t}\n\t\t\tif s01gu < 0 {\n\t\t\t\ts01gu = 0\n\t\t\t} else if s01gu > 0xffff {\n\t\t\t\ts01gu = 0xffff\n\t\t\t}\n\t\t\tif s01bu < 0 {\n\t\t\t\ts01bu = 0\n\t\t\t} else if s01bu > 0xffff {\n\t\t\t\ts01bu = 0xffff\n\t\t\t}\n\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts11i := (sy1-src.Rect.Min.Y)*src.YStride + (sx1 - src.Rect.Min.X)\n\t\t\ts11j := (sy1-src.Rect.Min.Y)*src.CStride + (sx1 - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts11yy1 := int(src.Y[s11i]) * 0x10101\n\t\t\ts11cb1 := int(src.Cb[s11j]) - 128\n\t\t\ts11cr1 := int(src.Cr[s11j]) - 128\n\t\t\ts11ru := (s11yy1 + 91881*s11cr1) >> 8\n\t\t\ts11gu := (s11yy1 - 22554*s11cb1 - 46802*s11cr1) >> 8\n\t\t\ts11bu := (s11yy1 + 116130*s11cb1) >> 8\n\t\t\tif s11ru < 0 {\n\t\t\t\ts11ru = 0\n\t\t\t} else if s11ru > 0xffff {\n\t\t\t\ts11ru = 0xffff\n\t\t\t}\n\t\t\tif s11gu < 0 {\n\t\t\t\ts11gu = 0\n\t\t\t} else if s11gu > 0xffff {\n\t\t\t\ts11gu = 0xffff\n\t\t\t}\n\t\t\tif s11bu < 0 {\n\t\t\t\ts11bu = 0\n\t\t\t} else if s11bu > 0xffff {\n\t\t\t\ts11bu = 0xffff\n\t\t\t}\n\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_RGBA_YCbCr422_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.YCbCr, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sy0-src.Rect.Min.Y)*src.YStride + (sx0 - src.Rect.Min.X)\n\t\t\ts00j := (sy0-src.Rect.Min.Y)*src.CStride + ((sx0)/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts00yy1 := int(src.Y[s00i]) * 0x10101\n\t\t\ts00cb1 := int(src.Cb[s00j]) - 128\n\t\t\ts00cr1 := int(src.Cr[s00j]) - 128\n\t\t\ts00ru := (s00yy1 + 91881*s00cr1) >> 8\n\t\t\ts00gu := (s00yy1 - 22554*s00cb1 - 46802*s00cr1) >> 8\n\t\t\ts00bu := (s00yy1 + 116130*s00cb1) >> 8\n\t\t\tif s00ru < 0 {\n\t\t\t\ts00ru = 0\n\t\t\t} else if s00ru > 0xffff {\n\t\t\t\ts00ru = 0xffff\n\t\t\t}\n\t\t\tif s00gu < 0 {\n\t\t\t\ts00gu = 0\n\t\t\t} else if s00gu > 0xffff {\n\t\t\t\ts00gu = 0xffff\n\t\t\t}\n\t\t\tif s00bu < 0 {\n\t\t\t\ts00bu = 0\n\t\t\t} else if s00bu > 0xffff {\n\t\t\t\ts00bu = 0xffff\n\t\t\t}\n\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts10i := (sy0-src.Rect.Min.Y)*src.YStride + (sx1 - src.Rect.Min.X)\n\t\t\ts10j := (sy0-src.Rect.Min.Y)*src.CStride + ((sx1)/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts10yy1 := int(src.Y[s10i]) * 0x10101\n\t\t\ts10cb1 := int(src.Cb[s10j]) - 128\n\t\t\ts10cr1 := int(src.Cr[s10j]) - 128\n\t\t\ts10ru := (s10yy1 + 91881*s10cr1) >> 8\n\t\t\ts10gu := (s10yy1 - 22554*s10cb1 - 46802*s10cr1) >> 8\n\t\t\ts10bu := (s10yy1 + 116130*s10cb1) >> 8\n\t\t\tif s10ru < 0 {\n\t\t\t\ts10ru = 0\n\t\t\t} else if s10ru > 0xffff {\n\t\t\t\ts10ru = 0xffff\n\t\t\t}\n\t\t\tif s10gu < 0 {\n\t\t\t\ts10gu = 0\n\t\t\t} else if s10gu > 0xffff {\n\t\t\t\ts10gu = 0xffff\n\t\t\t}\n\t\t\tif s10bu < 0 {\n\t\t\t\ts10bu = 0\n\t\t\t} else if s10bu > 0xffff {\n\t\t\t\ts10bu = 0xffff\n\t\t\t}\n\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts01i := (sy1-src.Rect.Min.Y)*src.YStride + (sx0 - src.Rect.Min.X)\n\t\t\ts01j := (sy1-src.Rect.Min.Y)*src.CStride + ((sx0)/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts01yy1 := int(src.Y[s01i]) * 0x10101\n\t\t\ts01cb1 := int(src.Cb[s01j]) - 128\n\t\t\ts01cr1 := int(src.Cr[s01j]) - 128\n\t\t\ts01ru := (s01yy1 + 91881*s01cr1) >> 8\n\t\t\ts01gu := (s01yy1 - 22554*s01cb1 - 46802*s01cr1) >> 8\n\t\t\ts01bu := (s01yy1 + 116130*s01cb1) >> 8\n\t\t\tif s01ru < 0 {\n\t\t\t\ts01ru = 0\n\t\t\t} else if s01ru > 0xffff {\n\t\t\t\ts01ru = 0xffff\n\t\t\t}\n\t\t\tif s01gu < 0 {\n\t\t\t\ts01gu = 0\n\t\t\t} else if s01gu > 0xffff {\n\t\t\t\ts01gu = 0xffff\n\t\t\t}\n\t\t\tif s01bu < 0 {\n\t\t\t\ts01bu = 0\n\t\t\t} else if s01bu > 0xffff {\n\t\t\t\ts01bu = 0xffff\n\t\t\t}\n\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts11i := (sy1-src.Rect.Min.Y)*src.YStride + (sx1 - src.Rect.Min.X)\n\t\t\ts11j := (sy1-src.Rect.Min.Y)*src.CStride + ((sx1)/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts11yy1 := int(src.Y[s11i]) * 0x10101\n\t\t\ts11cb1 := int(src.Cb[s11j]) - 128\n\t\t\ts11cr1 := int(src.Cr[s11j]) - 128\n\t\t\ts11ru := (s11yy1 + 91881*s11cr1) >> 8\n\t\t\ts11gu := (s11yy1 - 22554*s11cb1 - 46802*s11cr1) >> 8\n\t\t\ts11bu := (s11yy1 + 116130*s11cb1) >> 8\n\t\t\tif s11ru < 0 {\n\t\t\t\ts11ru = 0\n\t\t\t} else if s11ru > 0xffff {\n\t\t\t\ts11ru = 0xffff\n\t\t\t}\n\t\t\tif s11gu < 0 {\n\t\t\t\ts11gu = 0\n\t\t\t} else if s11gu > 0xffff {\n\t\t\t\ts11gu = 0xffff\n\t\t\t}\n\t\t\tif s11bu < 0 {\n\t\t\t\ts11bu = 0\n\t\t\t} else if s11bu > 0xffff {\n\t\t\t\ts11bu = 0xffff\n\t\t\t}\n\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_RGBA_YCbCr420_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.YCbCr, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sy0-src.Rect.Min.Y)*src.YStride + (sx0 - src.Rect.Min.X)\n\t\t\ts00j := ((sy0)/2-src.Rect.Min.Y/2)*src.CStride + ((sx0)/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts00yy1 := int(src.Y[s00i]) * 0x10101\n\t\t\ts00cb1 := int(src.Cb[s00j]) - 128\n\t\t\ts00cr1 := int(src.Cr[s00j]) - 128\n\t\t\ts00ru := (s00yy1 + 91881*s00cr1) >> 8\n\t\t\ts00gu := (s00yy1 - 22554*s00cb1 - 46802*s00cr1) >> 8\n\t\t\ts00bu := (s00yy1 + 116130*s00cb1) >> 8\n\t\t\tif s00ru < 0 {\n\t\t\t\ts00ru = 0\n\t\t\t} else if s00ru > 0xffff {\n\t\t\t\ts00ru = 0xffff\n\t\t\t}\n\t\t\tif s00gu < 0 {\n\t\t\t\ts00gu = 0\n\t\t\t} else if s00gu > 0xffff {\n\t\t\t\ts00gu = 0xffff\n\t\t\t}\n\t\t\tif s00bu < 0 {\n\t\t\t\ts00bu = 0\n\t\t\t} else if s00bu > 0xffff {\n\t\t\t\ts00bu = 0xffff\n\t\t\t}\n\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts10i := (sy0-src.Rect.Min.Y)*src.YStride + (sx1 - src.Rect.Min.X)\n\t\t\ts10j := ((sy0)/2-src.Rect.Min.Y/2)*src.CStride + ((sx1)/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts10yy1 := int(src.Y[s10i]) * 0x10101\n\t\t\ts10cb1 := int(src.Cb[s10j]) - 128\n\t\t\ts10cr1 := int(src.Cr[s10j]) - 128\n\t\t\ts10ru := (s10yy1 + 91881*s10cr1) >> 8\n\t\t\ts10gu := (s10yy1 - 22554*s10cb1 - 46802*s10cr1) >> 8\n\t\t\ts10bu := (s10yy1 + 116130*s10cb1) >> 8\n\t\t\tif s10ru < 0 {\n\t\t\t\ts10ru = 0\n\t\t\t} else if s10ru > 0xffff {\n\t\t\t\ts10ru = 0xffff\n\t\t\t}\n\t\t\tif s10gu < 0 {\n\t\t\t\ts10gu = 0\n\t\t\t} else if s10gu > 0xffff {\n\t\t\t\ts10gu = 0xffff\n\t\t\t}\n\t\t\tif s10bu < 0 {\n\t\t\t\ts10bu = 0\n\t\t\t} else if s10bu > 0xffff {\n\t\t\t\ts10bu = 0xffff\n\t\t\t}\n\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts01i := (sy1-src.Rect.Min.Y)*src.YStride + (sx0 - src.Rect.Min.X)\n\t\t\ts01j := ((sy1)/2-src.Rect.Min.Y/2)*src.CStride + ((sx0)/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts01yy1 := int(src.Y[s01i]) * 0x10101\n\t\t\ts01cb1 := int(src.Cb[s01j]) - 128\n\t\t\ts01cr1 := int(src.Cr[s01j]) - 128\n\t\t\ts01ru := (s01yy1 + 91881*s01cr1) >> 8\n\t\t\ts01gu := (s01yy1 - 22554*s01cb1 - 46802*s01cr1) >> 8\n\t\t\ts01bu := (s01yy1 + 116130*s01cb1) >> 8\n\t\t\tif s01ru < 0 {\n\t\t\t\ts01ru = 0\n\t\t\t} else if s01ru > 0xffff {\n\t\t\t\ts01ru = 0xffff\n\t\t\t}\n\t\t\tif s01gu < 0 {\n\t\t\t\ts01gu = 0\n\t\t\t} else if s01gu > 0xffff {\n\t\t\t\ts01gu = 0xffff\n\t\t\t}\n\t\t\tif s01bu < 0 {\n\t\t\t\ts01bu = 0\n\t\t\t} else if s01bu > 0xffff {\n\t\t\t\ts01bu = 0xffff\n\t\t\t}\n\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts11i := (sy1-src.Rect.Min.Y)*src.YStride + (sx1 - src.Rect.Min.X)\n\t\t\ts11j := ((sy1)/2-src.Rect.Min.Y/2)*src.CStride + ((sx1)/2 - src.Rect.Min.X/2)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts11yy1 := int(src.Y[s11i]) * 0x10101\n\t\t\ts11cb1 := int(src.Cb[s11j]) - 128\n\t\t\ts11cr1 := int(src.Cr[s11j]) - 128\n\t\t\ts11ru := (s11yy1 + 91881*s11cr1) >> 8\n\t\t\ts11gu := (s11yy1 - 22554*s11cb1 - 46802*s11cr1) >> 8\n\t\t\ts11bu := (s11yy1 + 116130*s11cb1) >> 8\n\t\t\tif s11ru < 0 {\n\t\t\t\ts11ru = 0\n\t\t\t} else if s11ru > 0xffff {\n\t\t\t\ts11ru = 0xffff\n\t\t\t}\n\t\t\tif s11gu < 0 {\n\t\t\t\ts11gu = 0\n\t\t\t} else if s11gu > 0xffff {\n\t\t\t\ts11gu = 0xffff\n\t\t\t}\n\t\t\tif s11bu < 0 {\n\t\t\t\ts11bu = 0\n\t\t\t} else if s11bu > 0xffff {\n\t\t\t\ts11bu = 0xffff\n\t\t\t}\n\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_RGBA_YCbCr440_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.YCbCr, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00i := (sy0-src.Rect.Min.Y)*src.YStride + (sx0 - src.Rect.Min.X)\n\t\t\ts00j := ((sy0)/2-src.Rect.Min.Y/2)*src.CStride + (sx0 - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts00yy1 := int(src.Y[s00i]) * 0x10101\n\t\t\ts00cb1 := int(src.Cb[s00j]) - 128\n\t\t\ts00cr1 := int(src.Cr[s00j]) - 128\n\t\t\ts00ru := (s00yy1 + 91881*s00cr1) >> 8\n\t\t\ts00gu := (s00yy1 - 22554*s00cb1 - 46802*s00cr1) >> 8\n\t\t\ts00bu := (s00yy1 + 116130*s00cb1) >> 8\n\t\t\tif s00ru < 0 {\n\t\t\t\ts00ru = 0\n\t\t\t} else if s00ru > 0xffff {\n\t\t\t\ts00ru = 0xffff\n\t\t\t}\n\t\t\tif s00gu < 0 {\n\t\t\t\ts00gu = 0\n\t\t\t} else if s00gu > 0xffff {\n\t\t\t\ts00gu = 0xffff\n\t\t\t}\n\t\t\tif s00bu < 0 {\n\t\t\t\ts00bu = 0\n\t\t\t} else if s00bu > 0xffff {\n\t\t\t\ts00bu = 0xffff\n\t\t\t}\n\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts10i := (sy0-src.Rect.Min.Y)*src.YStride + (sx1 - src.Rect.Min.X)\n\t\t\ts10j := ((sy0)/2-src.Rect.Min.Y/2)*src.CStride + (sx1 - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts10yy1 := int(src.Y[s10i]) * 0x10101\n\t\t\ts10cb1 := int(src.Cb[s10j]) - 128\n\t\t\ts10cr1 := int(src.Cr[s10j]) - 128\n\t\t\ts10ru := (s10yy1 + 91881*s10cr1) >> 8\n\t\t\ts10gu := (s10yy1 - 22554*s10cb1 - 46802*s10cr1) >> 8\n\t\t\ts10bu := (s10yy1 + 116130*s10cb1) >> 8\n\t\t\tif s10ru < 0 {\n\t\t\t\ts10ru = 0\n\t\t\t} else if s10ru > 0xffff {\n\t\t\t\ts10ru = 0xffff\n\t\t\t}\n\t\t\tif s10gu < 0 {\n\t\t\t\ts10gu = 0\n\t\t\t} else if s10gu > 0xffff {\n\t\t\t\ts10gu = 0xffff\n\t\t\t}\n\t\t\tif s10bu < 0 {\n\t\t\t\ts10bu = 0\n\t\t\t} else if s10bu > 0xffff {\n\t\t\t\ts10bu = 0xffff\n\t\t\t}\n\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts01i := (sy1-src.Rect.Min.Y)*src.YStride + (sx0 - src.Rect.Min.X)\n\t\t\ts01j := ((sy1)/2-src.Rect.Min.Y/2)*src.CStride + (sx0 - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts01yy1 := int(src.Y[s01i]) * 0x10101\n\t\t\ts01cb1 := int(src.Cb[s01j]) - 128\n\t\t\ts01cr1 := int(src.Cr[s01j]) - 128\n\t\t\ts01ru := (s01yy1 + 91881*s01cr1) >> 8\n\t\t\ts01gu := (s01yy1 - 22554*s01cb1 - 46802*s01cr1) >> 8\n\t\t\ts01bu := (s01yy1 + 116130*s01cb1) >> 8\n\t\t\tif s01ru < 0 {\n\t\t\t\ts01ru = 0\n\t\t\t} else if s01ru > 0xffff {\n\t\t\t\ts01ru = 0xffff\n\t\t\t}\n\t\t\tif s01gu < 0 {\n\t\t\t\ts01gu = 0\n\t\t\t} else if s01gu > 0xffff {\n\t\t\t\ts01gu = 0xffff\n\t\t\t}\n\t\t\tif s01bu < 0 {\n\t\t\t\ts01bu = 0\n\t\t\t} else if s01bu > 0xffff {\n\t\t\t\ts01bu = 0xffff\n\t\t\t}\n\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts11i := (sy1-src.Rect.Min.Y)*src.YStride + (sx1 - src.Rect.Min.X)\n\t\t\ts11j := ((sy1)/2-src.Rect.Min.Y/2)*src.CStride + (sx1 - src.Rect.Min.X)\n\n\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\ts11yy1 := int(src.Y[s11i]) * 0x10101\n\t\t\ts11cb1 := int(src.Cb[s11j]) - 128\n\t\t\ts11cr1 := int(src.Cr[s11j]) - 128\n\t\t\ts11ru := (s11yy1 + 91881*s11cr1) >> 8\n\t\t\ts11gu := (s11yy1 - 22554*s11cb1 - 46802*s11cr1) >> 8\n\t\t\ts11bu := (s11yy1 + 116130*s11cb1) >> 8\n\t\t\tif s11ru < 0 {\n\t\t\t\ts11ru = 0\n\t\t\t} else if s11ru > 0xffff {\n\t\t\t\ts11ru = 0xffff\n\t\t\t}\n\t\t\tif s11gu < 0 {\n\t\t\t\ts11gu = 0\n\t\t\t} else if s11gu > 0xffff {\n\t\t\t\ts11gu = 0xffff\n\t\t\t}\n\t\t\tif s11bu < 0 {\n\t\t\t\ts11bu = 0\n\t\t\t} else if s11bu > 0xffff {\n\t\t\t\ts11bu = 0xffff\n\t\t\t}\n\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_RGBA_Image_Over(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src image.Image, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00ru, s00gu, s00bu, s00au := src.At(sx0, sy0).RGBA()\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10ru, s10gu, s10bu, s10au := src.At(sx1, sy0).RGBA()\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01ru, s01gu, s01bu, s01au := src.At(sx0, sy1).RGBA()\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11ru, s11gu, s11bu, s11au := src.At(sx1, sy1).RGBA()\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_RGBA_Image_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src image.Image, sr image.Rectangle, bias image.Point, opts *Options) {\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00ru, s00gu, s00bu, s00au := src.At(sx0, sy0).RGBA()\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10ru, s10gu, s10bu, s10au := src.At(sx1, sy0).RGBA()\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01ru, s01gu, s01bu, s01au := src.At(sx0, sy1).RGBA()\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11ru, s11gu, s11bu, s11au := src.At(sx1, sy1).RGBA()\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tdst.Pix[d+0] = uint8(pr >> 8)\n\t\t\tdst.Pix[d+1] = uint8(pg >> 8)\n\t\t\tdst.Pix[d+2] = uint8(pb >> 8)\n\t\t\tdst.Pix[d+3] = uint8(pa >> 8)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_Image_Image_Over(dst Image, dr, adr image.Rectangle, d2s *f64.Aff3, src image.Image, sr image.Rectangle, bias image.Point, opts *Options) {\n\tsrcMask, smp := opts.SrcMask, opts.SrcMaskP\n\tdstMask, dmp := opts.DstMask, opts.DstMaskP\n\tdstColorRGBA64 := &color.RGBA64{}\n\tdstColor := color.Color(dstColorRGBA64)\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00ru, s00gu, s00bu, s00au := src.At(sx0, sy0).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sx0, smp.Y+sy0).RGBA()\n\t\t\t\ts00ru = s00ru * ma / 0xffff\n\t\t\t\ts00gu = s00gu * ma / 0xffff\n\t\t\t\ts00bu = s00bu * ma / 0xffff\n\t\t\t\ts00au = s00au * ma / 0xffff\n\t\t\t}\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10ru, s10gu, s10bu, s10au := src.At(sx1, sy0).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sx1, smp.Y+sy0).RGBA()\n\t\t\t\ts10ru = s10ru * ma / 0xffff\n\t\t\t\ts10gu = s10gu * ma / 0xffff\n\t\t\t\ts10bu = s10bu * ma / 0xffff\n\t\t\t\ts10au = s10au * ma / 0xffff\n\t\t\t}\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01ru, s01gu, s01bu, s01au := src.At(sx0, sy1).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sx0, smp.Y+sy1).RGBA()\n\t\t\t\ts01ru = s01ru * ma / 0xffff\n\t\t\t\ts01gu = s01gu * ma / 0xffff\n\t\t\t\ts01bu = s01bu * ma / 0xffff\n\t\t\t\ts01au = s01au * ma / 0xffff\n\t\t\t}\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11ru, s11gu, s11bu, s11au := src.At(sx1, sy1).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sx1, smp.Y+sy1).RGBA()\n\t\t\t\ts11ru = s11ru * ma / 0xffff\n\t\t\t\ts11gu = s11gu * ma / 0xffff\n\t\t\t\ts11bu = s11bu * ma / 0xffff\n\t\t\t\ts11au = s11au * ma / 0xffff\n\t\t\t}\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(dy)).RGBA()\n\t\t\tif dstMask != nil {\n\t\t\t\t_, _, _, ma := dstMask.At(dmp.X+dr.Min.X+int(dx), dmp.Y+dr.Min.Y+int(dy)).RGBA()\n\t\t\t\tpr = pr * ma / 0xffff\n\t\t\t\tpg = pg * ma / 0xffff\n\t\t\t\tpb = pb * ma / 0xffff\n\t\t\t\tpa = pa * ma / 0xffff\n\t\t\t}\n\t\t\tpa1 := 0xffff - pa\n\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr)\n\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg)\n\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb)\n\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa)\n\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t}\n\t}\n}\n\nfunc (ablInterpolator) transform_Image_Image_Src(dst Image, dr, adr image.Rectangle, d2s *f64.Aff3, src image.Image, sr image.Rectangle, bias image.Point, opts *Options) {\n\tsrcMask, smp := opts.SrcMask, opts.SrcMaskP\n\tdstMask, dmp := opts.DstMask, opts.DstMaskP\n\tdstColorRGBA64 := &color.RGBA64{}\n\tdstColor := color.Color(dstColorRGBA64)\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tsx -= 0.5\n\t\t\tsx0 := int(sx)\n\t\t\txFrac0 := sx - float64(sx0)\n\t\t\txFrac1 := 1 - xFrac0\n\t\t\tsx0 += bias.X\n\t\t\tsx1 := sx0 + 1\n\t\t\tif sx0 < sr.Min.X {\n\t\t\t\tsx0, sx1 = sr.Min.X, sr.Min.X\n\t\t\t\txFrac0, xFrac1 = 0, 1\n\t\t\t} else if sx1 >= sr.Max.X {\n\t\t\t\tsx0, sx1 = sr.Max.X-1, sr.Max.X-1\n\t\t\t\txFrac0, xFrac1 = 1, 0\n\t\t\t}\n\n\t\t\tsy -= 0.5\n\t\t\tsy0 := int(sy)\n\t\t\tyFrac0 := sy - float64(sy0)\n\t\t\tyFrac1 := 1 - yFrac0\n\t\t\tsy0 += bias.Y\n\t\t\tsy1 := sy0 + 1\n\t\t\tif sy0 < sr.Min.Y {\n\t\t\t\tsy0, sy1 = sr.Min.Y, sr.Min.Y\n\t\t\t\tyFrac0, yFrac1 = 0, 1\n\t\t\t} else if sy1 >= sr.Max.Y {\n\t\t\t\tsy0, sy1 = sr.Max.Y-1, sr.Max.Y-1\n\t\t\t\tyFrac0, yFrac1 = 1, 0\n\t\t\t}\n\n\t\t\ts00ru, s00gu, s00bu, s00au := src.At(sx0, sy0).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sx0, smp.Y+sy0).RGBA()\n\t\t\t\ts00ru = s00ru * ma / 0xffff\n\t\t\t\ts00gu = s00gu * ma / 0xffff\n\t\t\t\ts00bu = s00bu * ma / 0xffff\n\t\t\t\ts00au = s00au * ma / 0xffff\n\t\t\t}\n\t\t\ts00r := float64(s00ru)\n\t\t\ts00g := float64(s00gu)\n\t\t\ts00b := float64(s00bu)\n\t\t\ts00a := float64(s00au)\n\t\t\ts10ru, s10gu, s10bu, s10au := src.At(sx1, sy0).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sx1, smp.Y+sy0).RGBA()\n\t\t\t\ts10ru = s10ru * ma / 0xffff\n\t\t\t\ts10gu = s10gu * ma / 0xffff\n\t\t\t\ts10bu = s10bu * ma / 0xffff\n\t\t\t\ts10au = s10au * ma / 0xffff\n\t\t\t}\n\t\t\ts10r := float64(s10ru)\n\t\t\ts10g := float64(s10gu)\n\t\t\ts10b := float64(s10bu)\n\t\t\ts10a := float64(s10au)\n\t\t\ts10r = xFrac1*s00r + xFrac0*s10r\n\t\t\ts10g = xFrac1*s00g + xFrac0*s10g\n\t\t\ts10b = xFrac1*s00b + xFrac0*s10b\n\t\t\ts10a = xFrac1*s00a + xFrac0*s10a\n\t\t\ts01ru, s01gu, s01bu, s01au := src.At(sx0, sy1).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sx0, smp.Y+sy1).RGBA()\n\t\t\t\ts01ru = s01ru * ma / 0xffff\n\t\t\t\ts01gu = s01gu * ma / 0xffff\n\t\t\t\ts01bu = s01bu * ma / 0xffff\n\t\t\t\ts01au = s01au * ma / 0xffff\n\t\t\t}\n\t\t\ts01r := float64(s01ru)\n\t\t\ts01g := float64(s01gu)\n\t\t\ts01b := float64(s01bu)\n\t\t\ts01a := float64(s01au)\n\t\t\ts11ru, s11gu, s11bu, s11au := src.At(sx1, sy1).RGBA()\n\t\t\tif srcMask != nil {\n\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sx1, smp.Y+sy1).RGBA()\n\t\t\t\ts11ru = s11ru * ma / 0xffff\n\t\t\t\ts11gu = s11gu * ma / 0xffff\n\t\t\t\ts11bu = s11bu * ma / 0xffff\n\t\t\t\ts11au = s11au * ma / 0xffff\n\t\t\t}\n\t\t\ts11r := float64(s11ru)\n\t\t\ts11g := float64(s11gu)\n\t\t\ts11b := float64(s11bu)\n\t\t\ts11a := float64(s11au)\n\t\t\ts11r = xFrac1*s01r + xFrac0*s11r\n\t\t\ts11g = xFrac1*s01g + xFrac0*s11g\n\t\t\ts11b = xFrac1*s01b + xFrac0*s11b\n\t\t\ts11a = xFrac1*s01a + xFrac0*s11a\n\t\t\ts11r = yFrac1*s10r + yFrac0*s11r\n\t\t\ts11g = yFrac1*s10g + yFrac0*s11g\n\t\t\ts11b = yFrac1*s10b + yFrac0*s11b\n\t\t\ts11a = yFrac1*s10a + yFrac0*s11a\n\t\t\tpr := uint32(s11r)\n\t\t\tpg := uint32(s11g)\n\t\t\tpb := uint32(s11b)\n\t\t\tpa := uint32(s11a)\n\t\t\tif dstMask != nil {\n\t\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(dy)).RGBA()\n\t\t\t\t_, _, _, ma := dstMask.At(dmp.X+dr.Min.X+int(dx), dmp.Y+dr.Min.Y+int(dy)).RGBA()\n\t\t\t\tpr = pr * ma / 0xffff\n\t\t\t\tpg = pg * ma / 0xffff\n\t\t\t\tpb = pb * ma / 0xffff\n\t\t\t\tpa = pa * ma / 0xffff\n\t\t\t\tpa1 := 0xffff - ma\n\t\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr)\n\t\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg)\n\t\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb)\n\t\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa)\n\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t\t} else {\n\t\t\t\tdstColorRGBA64.R = uint16(pr)\n\t\t\t\tdstColorRGBA64.G = uint16(pg)\n\t\t\t\tdstColorRGBA64.B = uint16(pb)\n\t\t\t\tdstColorRGBA64.A = uint16(pa)\n\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) Scale(dst Image, dr image.Rectangle, src image.Image, sr image.Rectangle, op Op, opts *Options) {\n\tif z.dw != int32(dr.Dx()) || z.dh != int32(dr.Dy()) || z.sw != int32(sr.Dx()) || z.sh != int32(sr.Dy()) {\n\t\tz.kernel.Scale(dst, dr, src, sr, op, opts)\n\t\treturn\n\t}\n\n\tvar o Options\n\tif opts != nil {\n\t\to = *opts\n\t}\n\n\t// adr is the affected destination pixels.\n\tadr := dst.Bounds().Intersect(dr)\n\tadr, o.DstMask = clipAffectedDestRect(adr, o.DstMask, o.DstMaskP)\n\tif adr.Empty() || sr.Empty() {\n\t\treturn\n\t}\n\t// Make adr relative to dr.Min.\n\tadr = adr.Sub(dr.Min)\n\tif op == Over && o.SrcMask == nil && opaque(src) {\n\t\top = Src\n\t}\n\n\tif _, ok := src.(*image.Uniform); ok && o.DstMask == nil && o.SrcMask == nil && sr.In(src.Bounds()) {\n\t\tDraw(dst, dr, src, src.Bounds().Min, op)\n\t\treturn\n\t}\n\n\t// Create a temporary buffer:\n\t// scaleX distributes the source image's columns over the temporary image.\n\t// scaleY distributes the temporary image's rows over the destination image.\n\tvar tmp [][4]float64\n\tif z.pool.New != nil {\n\t\ttmpp := z.pool.Get().(*[][4]float64)\n\t\tdefer z.pool.Put(tmpp)\n\t\ttmp = *tmpp\n\t} else {\n\t\ttmp = z.makeTmpBuf()\n\t}\n\n\t// sr is the source pixels. If it extends beyond the src bounds,\n\t// we cannot use the type-specific fast paths, as they access\n\t// the Pix fields directly without bounds checking.\n\t//\n\t// Similarly, the fast paths assume that the masks are nil.\n\tif o.SrcMask != nil || !sr.In(src.Bounds()) {\n\t\tz.scaleX_Image(tmp, src, sr, &o)\n\t} else {\n\t\tswitch src := src.(type) {\n\t\tcase *image.Gray:\n\t\t\tz.scaleX_Gray(tmp, src, sr, &o)\n\t\tcase *image.NRGBA:\n\t\t\tz.scaleX_NRGBA(tmp, src, sr, &o)\n\t\tcase *image.RGBA:\n\t\t\tz.scaleX_RGBA(tmp, src, sr, &o)\n\t\tcase *image.YCbCr:\n\t\t\tswitch src.SubsampleRatio {\n\t\t\tdefault:\n\t\t\t\tz.scaleX_Image(tmp, src, sr, &o)\n\t\t\tcase image.YCbCrSubsampleRatio444:\n\t\t\t\tz.scaleX_YCbCr444(tmp, src, sr, &o)\n\t\t\tcase image.YCbCrSubsampleRatio422:\n\t\t\t\tz.scaleX_YCbCr422(tmp, src, sr, &o)\n\t\t\tcase image.YCbCrSubsampleRatio420:\n\t\t\t\tz.scaleX_YCbCr420(tmp, src, sr, &o)\n\t\t\tcase image.YCbCrSubsampleRatio440:\n\t\t\t\tz.scaleX_YCbCr440(tmp, src, sr, &o)\n\t\t\t}\n\t\tdefault:\n\t\t\tz.scaleX_Image(tmp, src, sr, &o)\n\t\t}\n\t}\n\n\tif o.DstMask != nil {\n\t\tswitch op {\n\t\tcase Over:\n\t\t\tz.scaleY_Image_Over(dst, dr, adr, tmp, &o)\n\t\tcase Src:\n\t\t\tz.scaleY_Image_Src(dst, dr, adr, tmp, &o)\n\t\t}\n\t} else {\n\t\tswitch op {\n\t\tcase Over:\n\t\t\tswitch dst := dst.(type) {\n\t\t\tcase *image.RGBA:\n\t\t\t\tz.scaleY_RGBA_Over(dst, dr, adr, tmp, &o)\n\t\t\tdefault:\n\t\t\t\tz.scaleY_Image_Over(dst, dr, adr, tmp, &o)\n\t\t\t}\n\t\tcase Src:\n\t\t\tswitch dst := dst.(type) {\n\t\t\tcase *image.RGBA:\n\t\t\t\tz.scaleY_RGBA_Src(dst, dr, adr, tmp, &o)\n\t\t\tdefault:\n\t\t\t\tz.scaleY_Image_Src(dst, dr, adr, tmp, &o)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) Transform(dst Image, s2d f64.Aff3, src image.Image, sr image.Rectangle, op Op, opts *Options) {\n\tvar o Options\n\tif opts != nil {\n\t\to = *opts\n\t}\n\n\tdr := transformRect(&s2d, &sr)\n\t// adr is the affected destination pixels.\n\tadr := dst.Bounds().Intersect(dr)\n\tadr, o.DstMask = clipAffectedDestRect(adr, o.DstMask, o.DstMaskP)\n\tif adr.Empty() || sr.Empty() {\n\t\treturn\n\t}\n\tif op == Over && o.SrcMask == nil && opaque(src) {\n\t\top = Src\n\t}\n\td2s := invert(&s2d)\n\t// bias is a translation of the mapping from dst coordinates to src\n\t// coordinates such that the latter temporarily have non-negative X\n\t// and Y coordinates. This allows us to write int(f) instead of\n\t// int(math.Floor(f)), since \"round to zero\" and \"round down\" are\n\t// equivalent when f >= 0, but the former is much cheaper. The X--\n\t// and Y-- are because the TransformLeaf methods have a \"sx -= 0.5\"\n\t// adjustment.\n\tbias := transformRect(&d2s, &adr).Min\n\tbias.X--\n\tbias.Y--\n\td2s[2] -= float64(bias.X)\n\td2s[5] -= float64(bias.Y)\n\t// Make adr relative to dr.Min.\n\tadr = adr.Sub(dr.Min)\n\n\tif u, ok := src.(*image.Uniform); ok && o.DstMask != nil && o.SrcMask != nil && sr.In(src.Bounds()) {\n\t\ttransform_Uniform(dst, dr, adr, &d2s, u, sr, bias, op)\n\t\treturn\n\t}\n\n\txscale := abs(d2s[0])\n\tif s := abs(d2s[1]); xscale < s {\n\t\txscale = s\n\t}\n\tyscale := abs(d2s[3])\n\tif s := abs(d2s[4]); yscale < s {\n\t\tyscale = s\n\t}\n\n\t// sr is the source pixels. If it extends beyond the src bounds,\n\t// we cannot use the type-specific fast paths, as they access\n\t// the Pix fields directly without bounds checking.\n\t//\n\t// Similarly, the fast paths assume that the masks are nil.\n\tif o.DstMask != nil || o.SrcMask != nil || !sr.In(src.Bounds()) {\n\t\tswitch op {\n\t\tcase Over:\n\t\t\tq.transform_Image_Image_Over(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\tcase Src:\n\t\t\tq.transform_Image_Image_Src(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t}\n\t} else {\n\t\tswitch op {\n\t\tcase Over:\n\t\t\tswitch dst := dst.(type) {\n\t\t\tcase *image.RGBA:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tcase *image.NRGBA:\n\t\t\t\t\tq.transform_RGBA_NRGBA_Over(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\tcase *image.RGBA:\n\t\t\t\t\tq.transform_RGBA_RGBA_Over(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\tdefault:\n\t\t\t\t\tq.transform_RGBA_Image_Over(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tdefault:\n\t\t\t\t\tq.transform_Image_Image_Over(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\t}\n\t\t\t}\n\t\tcase Src:\n\t\t\tswitch dst := dst.(type) {\n\t\t\tcase *image.RGBA:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tcase *image.Gray:\n\t\t\t\t\tq.transform_RGBA_Gray_Src(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\tcase *image.NRGBA:\n\t\t\t\t\tq.transform_RGBA_NRGBA_Src(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\tcase *image.RGBA:\n\t\t\t\t\tq.transform_RGBA_RGBA_Src(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\tcase *image.YCbCr:\n\t\t\t\t\tswitch src.SubsampleRatio {\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tq.transform_RGBA_Image_Src(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio444:\n\t\t\t\t\t\tq.transform_RGBA_YCbCr444_Src(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio422:\n\t\t\t\t\t\tq.transform_RGBA_YCbCr422_Src(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio420:\n\t\t\t\t\t\tq.transform_RGBA_YCbCr420_Src(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\t\tcase image.YCbCrSubsampleRatio440:\n\t\t\t\t\t\tq.transform_RGBA_YCbCr440_Src(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tq.transform_RGBA_Image_Src(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tswitch src := src.(type) {\n\t\t\t\tdefault:\n\t\t\t\t\tq.transform_Image_Image_Src(dst, dr, adr, &d2s, src, sr, bias, xscale, yscale, &o)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) scaleX_Gray(tmp [][4]float64, src *image.Gray, sr image.Rectangle, opts *Options) {\n\tt := 0\n\tfor y := int32(0); y < z.sh; y++ {\n\t\tfor _, s := range z.horizontal.sources {\n\t\t\tvar pr float64\n\t\t\tfor _, c := range z.horizontal.contribs[s.i:s.j] {\n\t\t\t\tpi := (sr.Min.Y+int(y)-src.Rect.Min.Y)*src.Stride + (sr.Min.X + int(c.coord) - src.Rect.Min.X)\n\t\t\t\tpru := uint32(src.Pix[pi]) * 0x101\n\t\t\t\tpr += float64(pru) * c.weight\n\t\t\t}\n\t\t\tpr *= s.invTotalWeightFFFF\n\t\t\ttmp[t] = [4]float64{\n\t\t\t\tpr,\n\t\t\t\tpr,\n\t\t\t\tpr,\n\t\t\t\t1,\n\t\t\t}\n\t\t\tt++\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) scaleX_NRGBA(tmp [][4]float64, src *image.NRGBA, sr image.Rectangle, opts *Options) {\n\tt := 0\n\tfor y := int32(0); y < z.sh; y++ {\n\t\tfor _, s := range z.horizontal.sources {\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor _, c := range z.horizontal.contribs[s.i:s.j] {\n\t\t\t\tpi := (sr.Min.Y+int(y)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(c.coord)-src.Rect.Min.X)*4\n\t\t\t\tpau := uint32(src.Pix[pi+3]) * 0x101\n\t\t\t\tpru := uint32(src.Pix[pi+0]) * pau / 0xff\n\t\t\t\tpgu := uint32(src.Pix[pi+1]) * pau / 0xff\n\t\t\t\tpbu := uint32(src.Pix[pi+2]) * pau / 0xff\n\t\t\t\tpr += float64(pru) * c.weight\n\t\t\t\tpg += float64(pgu) * c.weight\n\t\t\t\tpb += float64(pbu) * c.weight\n\t\t\t\tpa += float64(pau) * c.weight\n\t\t\t}\n\t\t\ttmp[t] = [4]float64{\n\t\t\t\tpr * s.invTotalWeightFFFF,\n\t\t\t\tpg * s.invTotalWeightFFFF,\n\t\t\t\tpb * s.invTotalWeightFFFF,\n\t\t\t\tpa * s.invTotalWeightFFFF,\n\t\t\t}\n\t\t\tt++\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) scaleX_RGBA(tmp [][4]float64, src *image.RGBA, sr image.Rectangle, opts *Options) {\n\tt := 0\n\tfor y := int32(0); y < z.sh; y++ {\n\t\tfor _, s := range z.horizontal.sources {\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor _, c := range z.horizontal.contribs[s.i:s.j] {\n\t\t\t\tpi := (sr.Min.Y+int(y)-src.Rect.Min.Y)*src.Stride + (sr.Min.X+int(c.coord)-src.Rect.Min.X)*4\n\t\t\t\tpru := uint32(src.Pix[pi+0]) * 0x101\n\t\t\t\tpgu := uint32(src.Pix[pi+1]) * 0x101\n\t\t\t\tpbu := uint32(src.Pix[pi+2]) * 0x101\n\t\t\t\tpau := uint32(src.Pix[pi+3]) * 0x101\n\t\t\t\tpr += float64(pru) * c.weight\n\t\t\t\tpg += float64(pgu) * c.weight\n\t\t\t\tpb += float64(pbu) * c.weight\n\t\t\t\tpa += float64(pau) * c.weight\n\t\t\t}\n\t\t\ttmp[t] = [4]float64{\n\t\t\t\tpr * s.invTotalWeightFFFF,\n\t\t\t\tpg * s.invTotalWeightFFFF,\n\t\t\t\tpb * s.invTotalWeightFFFF,\n\t\t\t\tpa * s.invTotalWeightFFFF,\n\t\t\t}\n\t\t\tt++\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) scaleX_YCbCr444(tmp [][4]float64, src *image.YCbCr, sr image.Rectangle, opts *Options) {\n\tt := 0\n\tfor y := int32(0); y < z.sh; y++ {\n\t\tfor _, s := range z.horizontal.sources {\n\t\t\tvar pr, pg, pb float64\n\t\t\tfor _, c := range z.horizontal.contribs[s.i:s.j] {\n\t\t\t\tpi := (sr.Min.Y+int(y)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(c.coord) - src.Rect.Min.X)\n\t\t\t\tpj := (sr.Min.Y+int(y)-src.Rect.Min.Y)*src.CStride + (sr.Min.X + int(c.coord) - src.Rect.Min.X)\n\n\t\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\t\tpru := (pyy1 + 91881*pcr1) >> 8\n\t\t\t\tpgu := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\t\tpbu := (pyy1 + 116130*pcb1) >> 8\n\t\t\t\tif pru < 0 {\n\t\t\t\t\tpru = 0\n\t\t\t\t} else if pru > 0xffff {\n\t\t\t\t\tpru = 0xffff\n\t\t\t\t}\n\t\t\t\tif pgu < 0 {\n\t\t\t\t\tpgu = 0\n\t\t\t\t} else if pgu > 0xffff {\n\t\t\t\t\tpgu = 0xffff\n\t\t\t\t}\n\t\t\t\tif pbu < 0 {\n\t\t\t\t\tpbu = 0\n\t\t\t\t} else if pbu > 0xffff {\n\t\t\t\t\tpbu = 0xffff\n\t\t\t\t}\n\n\t\t\t\tpr += float64(pru) * c.weight\n\t\t\t\tpg += float64(pgu) * c.weight\n\t\t\t\tpb += float64(pbu) * c.weight\n\t\t\t}\n\t\t\ttmp[t] = [4]float64{\n\t\t\t\tpr * s.invTotalWeightFFFF,\n\t\t\t\tpg * s.invTotalWeightFFFF,\n\t\t\t\tpb * s.invTotalWeightFFFF,\n\t\t\t\t1,\n\t\t\t}\n\t\t\tt++\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) scaleX_YCbCr422(tmp [][4]float64, src *image.YCbCr, sr image.Rectangle, opts *Options) {\n\tt := 0\n\tfor y := int32(0); y < z.sh; y++ {\n\t\tfor _, s := range z.horizontal.sources {\n\t\t\tvar pr, pg, pb float64\n\t\t\tfor _, c := range z.horizontal.contribs[s.i:s.j] {\n\t\t\t\tpi := (sr.Min.Y+int(y)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(c.coord) - src.Rect.Min.X)\n\t\t\t\tpj := (sr.Min.Y+int(y)-src.Rect.Min.Y)*src.CStride + ((sr.Min.X+int(c.coord))/2 - src.Rect.Min.X/2)\n\n\t\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\t\tpru := (pyy1 + 91881*pcr1) >> 8\n\t\t\t\tpgu := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\t\tpbu := (pyy1 + 116130*pcb1) >> 8\n\t\t\t\tif pru < 0 {\n\t\t\t\t\tpru = 0\n\t\t\t\t} else if pru > 0xffff {\n\t\t\t\t\tpru = 0xffff\n\t\t\t\t}\n\t\t\t\tif pgu < 0 {\n\t\t\t\t\tpgu = 0\n\t\t\t\t} else if pgu > 0xffff {\n\t\t\t\t\tpgu = 0xffff\n\t\t\t\t}\n\t\t\t\tif pbu < 0 {\n\t\t\t\t\tpbu = 0\n\t\t\t\t} else if pbu > 0xffff {\n\t\t\t\t\tpbu = 0xffff\n\t\t\t\t}\n\n\t\t\t\tpr += float64(pru) * c.weight\n\t\t\t\tpg += float64(pgu) * c.weight\n\t\t\t\tpb += float64(pbu) * c.weight\n\t\t\t}\n\t\t\ttmp[t] = [4]float64{\n\t\t\t\tpr * s.invTotalWeightFFFF,\n\t\t\t\tpg * s.invTotalWeightFFFF,\n\t\t\t\tpb * s.invTotalWeightFFFF,\n\t\t\t\t1,\n\t\t\t}\n\t\t\tt++\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) scaleX_YCbCr420(tmp [][4]float64, src *image.YCbCr, sr image.Rectangle, opts *Options) {\n\tt := 0\n\tfor y := int32(0); y < z.sh; y++ {\n\t\tfor _, s := range z.horizontal.sources {\n\t\t\tvar pr, pg, pb float64\n\t\t\tfor _, c := range z.horizontal.contribs[s.i:s.j] {\n\t\t\t\tpi := (sr.Min.Y+int(y)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(c.coord) - src.Rect.Min.X)\n\t\t\t\tpj := ((sr.Min.Y+int(y))/2-src.Rect.Min.Y/2)*src.CStride + ((sr.Min.X+int(c.coord))/2 - src.Rect.Min.X/2)\n\n\t\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\t\tpru := (pyy1 + 91881*pcr1) >> 8\n\t\t\t\tpgu := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\t\tpbu := (pyy1 + 116130*pcb1) >> 8\n\t\t\t\tif pru < 0 {\n\t\t\t\t\tpru = 0\n\t\t\t\t} else if pru > 0xffff {\n\t\t\t\t\tpru = 0xffff\n\t\t\t\t}\n\t\t\t\tif pgu < 0 {\n\t\t\t\t\tpgu = 0\n\t\t\t\t} else if pgu > 0xffff {\n\t\t\t\t\tpgu = 0xffff\n\t\t\t\t}\n\t\t\t\tif pbu < 0 {\n\t\t\t\t\tpbu = 0\n\t\t\t\t} else if pbu > 0xffff {\n\t\t\t\t\tpbu = 0xffff\n\t\t\t\t}\n\n\t\t\t\tpr += float64(pru) * c.weight\n\t\t\t\tpg += float64(pgu) * c.weight\n\t\t\t\tpb += float64(pbu) * c.weight\n\t\t\t}\n\t\t\ttmp[t] = [4]float64{\n\t\t\t\tpr * s.invTotalWeightFFFF,\n\t\t\t\tpg * s.invTotalWeightFFFF,\n\t\t\t\tpb * s.invTotalWeightFFFF,\n\t\t\t\t1,\n\t\t\t}\n\t\t\tt++\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) scaleX_YCbCr440(tmp [][4]float64, src *image.YCbCr, sr image.Rectangle, opts *Options) {\n\tt := 0\n\tfor y := int32(0); y < z.sh; y++ {\n\t\tfor _, s := range z.horizontal.sources {\n\t\t\tvar pr, pg, pb float64\n\t\t\tfor _, c := range z.horizontal.contribs[s.i:s.j] {\n\t\t\t\tpi := (sr.Min.Y+int(y)-src.Rect.Min.Y)*src.YStride + (sr.Min.X + int(c.coord) - src.Rect.Min.X)\n\t\t\t\tpj := ((sr.Min.Y+int(y))/2-src.Rect.Min.Y/2)*src.CStride + (sr.Min.X + int(c.coord) - src.Rect.Min.X)\n\n\t\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\t\tpru := (pyy1 + 91881*pcr1) >> 8\n\t\t\t\tpgu := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\t\tpbu := (pyy1 + 116130*pcb1) >> 8\n\t\t\t\tif pru < 0 {\n\t\t\t\t\tpru = 0\n\t\t\t\t} else if pru > 0xffff {\n\t\t\t\t\tpru = 0xffff\n\t\t\t\t}\n\t\t\t\tif pgu < 0 {\n\t\t\t\t\tpgu = 0\n\t\t\t\t} else if pgu > 0xffff {\n\t\t\t\t\tpgu = 0xffff\n\t\t\t\t}\n\t\t\t\tif pbu < 0 {\n\t\t\t\t\tpbu = 0\n\t\t\t\t} else if pbu > 0xffff {\n\t\t\t\t\tpbu = 0xffff\n\t\t\t\t}\n\n\t\t\t\tpr += float64(pru) * c.weight\n\t\t\t\tpg += float64(pgu) * c.weight\n\t\t\t\tpb += float64(pbu) * c.weight\n\t\t\t}\n\t\t\ttmp[t] = [4]float64{\n\t\t\t\tpr * s.invTotalWeightFFFF,\n\t\t\t\tpg * s.invTotalWeightFFFF,\n\t\t\t\tpb * s.invTotalWeightFFFF,\n\t\t\t\t1,\n\t\t\t}\n\t\t\tt++\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) scaleX_Image(tmp [][4]float64, src image.Image, sr image.Rectangle, opts *Options) {\n\tt := 0\n\tsrcMask, smp := opts.SrcMask, opts.SrcMaskP\n\tfor y := int32(0); y < z.sh; y++ {\n\t\tfor _, s := range z.horizontal.sources {\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor _, c := range z.horizontal.contribs[s.i:s.j] {\n\t\t\t\tpru, pgu, pbu, pau := src.At(sr.Min.X+int(c.coord), sr.Min.Y+int(y)).RGBA()\n\t\t\t\tif srcMask != nil {\n\t\t\t\t\t_, _, _, ma := srcMask.At(smp.X+sr.Min.X+int(c.coord), smp.Y+sr.Min.Y+int(y)).RGBA()\n\t\t\t\t\tpru = pru * ma / 0xffff\n\t\t\t\t\tpgu = pgu * ma / 0xffff\n\t\t\t\t\tpbu = pbu * ma / 0xffff\n\t\t\t\t\tpau = pau * ma / 0xffff\n\t\t\t\t}\n\t\t\t\tpr += float64(pru) * c.weight\n\t\t\t\tpg += float64(pgu) * c.weight\n\t\t\t\tpb += float64(pbu) * c.weight\n\t\t\t\tpa += float64(pau) * c.weight\n\t\t\t}\n\t\t\ttmp[t] = [4]float64{\n\t\t\t\tpr * s.invTotalWeightFFFF,\n\t\t\t\tpg * s.invTotalWeightFFFF,\n\t\t\t\tpb * s.invTotalWeightFFFF,\n\t\t\t\tpa * s.invTotalWeightFFFF,\n\t\t\t}\n\t\t\tt++\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) scaleY_RGBA_Over(dst *image.RGBA, dr, adr image.Rectangle, tmp [][4]float64, opts *Options) {\n\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\td := (dr.Min.Y+adr.Min.Y-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+int(dx)-dst.Rect.Min.X)*4\n\t\tfor _, s := range z.vertical.sources[adr.Min.Y:adr.Max.Y] {\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor _, c := range z.vertical.contribs[s.i:s.j] {\n\t\t\t\tp := &tmp[c.coord*z.dw+dx]\n\t\t\t\tpr += p[0] * c.weight\n\t\t\t\tpg += p[1] * c.weight\n\t\t\t\tpb += p[2] * c.weight\n\t\t\t\tpa += p[3] * c.weight\n\t\t\t}\n\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\n\t\t\tpr0 := uint32(ftou(pr * s.invTotalWeight))\n\t\t\tpg0 := uint32(ftou(pg * s.invTotalWeight))\n\t\t\tpb0 := uint32(ftou(pb * s.invTotalWeight))\n\t\t\tpa0 := uint32(ftou(pa * s.invTotalWeight))\n\t\t\tpa1 := (0xffff - uint32(pa0)) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr0) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg0) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb0) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa0) >> 8)\n\t\t\td += dst.Stride\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) scaleY_RGBA_Src(dst *image.RGBA, dr, adr image.Rectangle, tmp [][4]float64, opts *Options) {\n\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\td := (dr.Min.Y+adr.Min.Y-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+int(dx)-dst.Rect.Min.X)*4\n\t\tfor _, s := range z.vertical.sources[adr.Min.Y:adr.Max.Y] {\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor _, c := range z.vertical.contribs[s.i:s.j] {\n\t\t\t\tp := &tmp[c.coord*z.dw+dx]\n\t\t\t\tpr += p[0] * c.weight\n\t\t\t\tpg += p[1] * c.weight\n\t\t\t\tpb += p[2] * c.weight\n\t\t\t\tpa += p[3] * c.weight\n\t\t\t}\n\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\n\t\t\tdst.Pix[d+0] = uint8(ftou(pr*s.invTotalWeight) >> 8)\n\t\t\tdst.Pix[d+1] = uint8(ftou(pg*s.invTotalWeight) >> 8)\n\t\t\tdst.Pix[d+2] = uint8(ftou(pb*s.invTotalWeight) >> 8)\n\t\t\tdst.Pix[d+3] = uint8(ftou(pa*s.invTotalWeight) >> 8)\n\t\t\td += dst.Stride\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) scaleY_Image_Over(dst Image, dr, adr image.Rectangle, tmp [][4]float64, opts *Options) {\n\tdstMask, dmp := opts.DstMask, opts.DstMaskP\n\tdstColorRGBA64 := &color.RGBA64{}\n\tdstColor := color.Color(dstColorRGBA64)\n\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\tfor dy, s := range z.vertical.sources[adr.Min.Y:adr.Max.Y] {\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor _, c := range z.vertical.contribs[s.i:s.j] {\n\t\t\t\tp := &tmp[c.coord*z.dw+dx]\n\t\t\t\tpr += p[0] * c.weight\n\t\t\t\tpg += p[1] * c.weight\n\t\t\t\tpb += p[2] * c.weight\n\t\t\t\tpa += p[3] * c.weight\n\t\t\t}\n\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\n\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(adr.Min.Y+dy)).RGBA()\n\t\t\tpr0 := uint32(ftou(pr * s.invTotalWeight))\n\t\t\tpg0 := uint32(ftou(pg * s.invTotalWeight))\n\t\t\tpb0 := uint32(ftou(pb * s.invTotalWeight))\n\t\t\tpa0 := uint32(ftou(pa * s.invTotalWeight))\n\t\t\tif dstMask != nil {\n\t\t\t\t_, _, _, ma := dstMask.At(dmp.X+dr.Min.X+int(dx), dmp.Y+dr.Min.Y+int(adr.Min.Y+dy)).RGBA()\n\t\t\t\tpr0 = pr0 * ma / 0xffff\n\t\t\t\tpg0 = pg0 * ma / 0xffff\n\t\t\t\tpb0 = pb0 * ma / 0xffff\n\t\t\t\tpa0 = pa0 * ma / 0xffff\n\t\t\t}\n\t\t\tpa1 := 0xffff - pa0\n\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr0)\n\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg0)\n\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb0)\n\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa0)\n\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(adr.Min.Y+dy), dstColor)\n\t\t}\n\t}\n}\n\nfunc (z *kernelScaler) scaleY_Image_Src(dst Image, dr, adr image.Rectangle, tmp [][4]float64, opts *Options) {\n\tdstMask, dmp := opts.DstMask, opts.DstMaskP\n\tdstColorRGBA64 := &color.RGBA64{}\n\tdstColor := color.Color(dstColorRGBA64)\n\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\tfor dy, s := range z.vertical.sources[adr.Min.Y:adr.Max.Y] {\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor _, c := range z.vertical.contribs[s.i:s.j] {\n\t\t\t\tp := &tmp[c.coord*z.dw+dx]\n\t\t\t\tpr += p[0] * c.weight\n\t\t\t\tpg += p[1] * c.weight\n\t\t\t\tpb += p[2] * c.weight\n\t\t\t\tpa += p[3] * c.weight\n\t\t\t}\n\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\n\t\t\tif dstMask != nil {\n\t\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(adr.Min.Y+dy)).RGBA()\n\t\t\t\t_, _, _, ma := dstMask.At(dmp.X+dr.Min.X+int(dx), dmp.Y+dr.Min.Y+int(adr.Min.Y+dy)).RGBA()\n\t\t\t\tpr := uint32(ftou(pr*s.invTotalWeight)) * ma / 0xffff\n\t\t\t\tpg := uint32(ftou(pg*s.invTotalWeight)) * ma / 0xffff\n\t\t\t\tpb := uint32(ftou(pb*s.invTotalWeight)) * ma / 0xffff\n\t\t\t\tpa := uint32(ftou(pa*s.invTotalWeight)) * ma / 0xffff\n\t\t\t\tpa1 := 0xffff - ma\n\t\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr)\n\t\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg)\n\t\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb)\n\t\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa)\n\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(adr.Min.Y+dy), dstColor)\n\t\t\t} else {\n\t\t\t\tdstColorRGBA64.R = ftou(pr * s.invTotalWeight)\n\t\t\t\tdstColorRGBA64.G = ftou(pg * s.invTotalWeight)\n\t\t\t\tdstColorRGBA64.B = ftou(pb * s.invTotalWeight)\n\t\t\t\tdstColorRGBA64.A = ftou(pa * s.invTotalWeight)\n\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(adr.Min.Y+dy), dstColor)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_RGBA_Gray_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.Gray, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpi := (ky-src.Rect.Min.Y)*src.Stride + (kx - src.Rect.Min.X)\n\t\t\t\t\t\t\tpru := uint32(src.Pix[pi]) * 0x101\n\t\t\t\t\t\t\tpr += float64(pru) * w\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\tout := uint8(fffftou(pr) >> 8)\n\t\t\tdst.Pix[d+0] = out\n\t\t\tdst.Pix[d+1] = out\n\t\t\tdst.Pix[d+2] = out\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_RGBA_NRGBA_Over(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.NRGBA, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpi := (ky-src.Rect.Min.Y)*src.Stride + (kx-src.Rect.Min.X)*4\n\t\t\t\t\t\t\tpau := uint32(src.Pix[pi+3]) * 0x101\n\t\t\t\t\t\t\tpru := uint32(src.Pix[pi+0]) * pau / 0xff\n\t\t\t\t\t\t\tpgu := uint32(src.Pix[pi+1]) * pau / 0xff\n\t\t\t\t\t\t\tpbu := uint32(src.Pix[pi+2]) * pau / 0xff\n\t\t\t\t\t\t\tpr += float64(pru) * w\n\t\t\t\t\t\t\tpg += float64(pgu) * w\n\t\t\t\t\t\t\tpb += float64(pbu) * w\n\t\t\t\t\t\t\tpa += float64(pau) * w\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\n\t\t\tpr0 := uint32(fffftou(pr))\n\t\t\tpg0 := uint32(fffftou(pg))\n\t\t\tpb0 := uint32(fffftou(pb))\n\t\t\tpa0 := uint32(fffftou(pa))\n\t\t\tpa1 := (0xffff - uint32(pa0)) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr0) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg0) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb0) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa0) >> 8)\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_RGBA_NRGBA_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.NRGBA, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpi := (ky-src.Rect.Min.Y)*src.Stride + (kx-src.Rect.Min.X)*4\n\t\t\t\t\t\t\tpau := uint32(src.Pix[pi+3]) * 0x101\n\t\t\t\t\t\t\tpru := uint32(src.Pix[pi+0]) * pau / 0xff\n\t\t\t\t\t\t\tpgu := uint32(src.Pix[pi+1]) * pau / 0xff\n\t\t\t\t\t\t\tpbu := uint32(src.Pix[pi+2]) * pau / 0xff\n\t\t\t\t\t\t\tpr += float64(pru) * w\n\t\t\t\t\t\t\tpg += float64(pgu) * w\n\t\t\t\t\t\t\tpb += float64(pbu) * w\n\t\t\t\t\t\t\tpa += float64(pau) * w\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\n\t\t\tdst.Pix[d+0] = uint8(fffftou(pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8(fffftou(pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8(fffftou(pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8(fffftou(pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_RGBA_RGBA_Over(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.RGBA, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpi := (ky-src.Rect.Min.Y)*src.Stride + (kx-src.Rect.Min.X)*4\n\t\t\t\t\t\t\tpru := uint32(src.Pix[pi+0]) * 0x101\n\t\t\t\t\t\t\tpgu := uint32(src.Pix[pi+1]) * 0x101\n\t\t\t\t\t\t\tpbu := uint32(src.Pix[pi+2]) * 0x101\n\t\t\t\t\t\t\tpau := uint32(src.Pix[pi+3]) * 0x101\n\t\t\t\t\t\t\tpr += float64(pru) * w\n\t\t\t\t\t\t\tpg += float64(pgu) * w\n\t\t\t\t\t\t\tpb += float64(pbu) * w\n\t\t\t\t\t\t\tpa += float64(pau) * w\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\n\t\t\tpr0 := uint32(fffftou(pr))\n\t\t\tpg0 := uint32(fffftou(pg))\n\t\t\tpb0 := uint32(fffftou(pb))\n\t\t\tpa0 := uint32(fffftou(pa))\n\t\t\tpa1 := (0xffff - uint32(pa0)) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr0) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg0) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb0) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa0) >> 8)\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_RGBA_RGBA_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.RGBA, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpi := (ky-src.Rect.Min.Y)*src.Stride + (kx-src.Rect.Min.X)*4\n\t\t\t\t\t\t\tpru := uint32(src.Pix[pi+0]) * 0x101\n\t\t\t\t\t\t\tpgu := uint32(src.Pix[pi+1]) * 0x101\n\t\t\t\t\t\t\tpbu := uint32(src.Pix[pi+2]) * 0x101\n\t\t\t\t\t\t\tpau := uint32(src.Pix[pi+3]) * 0x101\n\t\t\t\t\t\t\tpr += float64(pru) * w\n\t\t\t\t\t\t\tpg += float64(pgu) * w\n\t\t\t\t\t\t\tpb += float64(pbu) * w\n\t\t\t\t\t\t\tpa += float64(pau) * w\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\n\t\t\tdst.Pix[d+0] = uint8(fffftou(pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8(fffftou(pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8(fffftou(pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8(fffftou(pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_RGBA_YCbCr444_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.YCbCr, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr, pg, pb float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpi := (ky-src.Rect.Min.Y)*src.YStride + (kx - src.Rect.Min.X)\n\t\t\t\t\t\t\tpj := (ky-src.Rect.Min.Y)*src.CStride + (kx - src.Rect.Min.X)\n\n\t\t\t\t\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\t\t\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\t\t\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\t\t\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\t\t\t\t\tpru := (pyy1 + 91881*pcr1) >> 8\n\t\t\t\t\t\t\tpgu := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\t\t\t\t\tpbu := (pyy1 + 116130*pcb1) >> 8\n\t\t\t\t\t\t\tif pru < 0 {\n\t\t\t\t\t\t\t\tpru = 0\n\t\t\t\t\t\t\t} else if pru > 0xffff {\n\t\t\t\t\t\t\t\tpru = 0xffff\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif pgu < 0 {\n\t\t\t\t\t\t\t\tpgu = 0\n\t\t\t\t\t\t\t} else if pgu > 0xffff {\n\t\t\t\t\t\t\t\tpgu = 0xffff\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif pbu < 0 {\n\t\t\t\t\t\t\t\tpbu = 0\n\t\t\t\t\t\t\t} else if pbu > 0xffff {\n\t\t\t\t\t\t\t\tpbu = 0xffff\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpr += float64(pru) * w\n\t\t\t\t\t\t\tpg += float64(pgu) * w\n\t\t\t\t\t\t\tpb += float64(pbu) * w\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\tdst.Pix[d+0] = uint8(fffftou(pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8(fffftou(pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8(fffftou(pb) >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_RGBA_YCbCr422_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.YCbCr, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr, pg, pb float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpi := (ky-src.Rect.Min.Y)*src.YStride + (kx - src.Rect.Min.X)\n\t\t\t\t\t\t\tpj := (ky-src.Rect.Min.Y)*src.CStride + ((kx)/2 - src.Rect.Min.X/2)\n\n\t\t\t\t\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\t\t\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\t\t\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\t\t\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\t\t\t\t\tpru := (pyy1 + 91881*pcr1) >> 8\n\t\t\t\t\t\t\tpgu := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\t\t\t\t\tpbu := (pyy1 + 116130*pcb1) >> 8\n\t\t\t\t\t\t\tif pru < 0 {\n\t\t\t\t\t\t\t\tpru = 0\n\t\t\t\t\t\t\t} else if pru > 0xffff {\n\t\t\t\t\t\t\t\tpru = 0xffff\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif pgu < 0 {\n\t\t\t\t\t\t\t\tpgu = 0\n\t\t\t\t\t\t\t} else if pgu > 0xffff {\n\t\t\t\t\t\t\t\tpgu = 0xffff\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif pbu < 0 {\n\t\t\t\t\t\t\t\tpbu = 0\n\t\t\t\t\t\t\t} else if pbu > 0xffff {\n\t\t\t\t\t\t\t\tpbu = 0xffff\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpr += float64(pru) * w\n\t\t\t\t\t\t\tpg += float64(pgu) * w\n\t\t\t\t\t\t\tpb += float64(pbu) * w\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\tdst.Pix[d+0] = uint8(fffftou(pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8(fffftou(pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8(fffftou(pb) >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_RGBA_YCbCr420_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.YCbCr, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr, pg, pb float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpi := (ky-src.Rect.Min.Y)*src.YStride + (kx - src.Rect.Min.X)\n\t\t\t\t\t\t\tpj := ((ky)/2-src.Rect.Min.Y/2)*src.CStride + ((kx)/2 - src.Rect.Min.X/2)\n\n\t\t\t\t\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\t\t\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\t\t\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\t\t\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\t\t\t\t\tpru := (pyy1 + 91881*pcr1) >> 8\n\t\t\t\t\t\t\tpgu := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\t\t\t\t\tpbu := (pyy1 + 116130*pcb1) >> 8\n\t\t\t\t\t\t\tif pru < 0 {\n\t\t\t\t\t\t\t\tpru = 0\n\t\t\t\t\t\t\t} else if pru > 0xffff {\n\t\t\t\t\t\t\t\tpru = 0xffff\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif pgu < 0 {\n\t\t\t\t\t\t\t\tpgu = 0\n\t\t\t\t\t\t\t} else if pgu > 0xffff {\n\t\t\t\t\t\t\t\tpgu = 0xffff\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif pbu < 0 {\n\t\t\t\t\t\t\t\tpbu = 0\n\t\t\t\t\t\t\t} else if pbu > 0xffff {\n\t\t\t\t\t\t\t\tpbu = 0xffff\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpr += float64(pru) * w\n\t\t\t\t\t\t\tpg += float64(pgu) * w\n\t\t\t\t\t\t\tpb += float64(pbu) * w\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\tdst.Pix[d+0] = uint8(fffftou(pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8(fffftou(pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8(fffftou(pb) >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_RGBA_YCbCr440_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.YCbCr, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr, pg, pb float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpi := (ky-src.Rect.Min.Y)*src.YStride + (kx - src.Rect.Min.X)\n\t\t\t\t\t\t\tpj := ((ky)/2-src.Rect.Min.Y/2)*src.CStride + (kx - src.Rect.Min.X)\n\n\t\t\t\t\t\t\t// This is an inline version of image/color/ycbcr.go's YCbCr.RGBA method.\n\t\t\t\t\t\t\tpyy1 := int(src.Y[pi]) * 0x10101\n\t\t\t\t\t\t\tpcb1 := int(src.Cb[pj]) - 128\n\t\t\t\t\t\t\tpcr1 := int(src.Cr[pj]) - 128\n\t\t\t\t\t\t\tpru := (pyy1 + 91881*pcr1) >> 8\n\t\t\t\t\t\t\tpgu := (pyy1 - 22554*pcb1 - 46802*pcr1) >> 8\n\t\t\t\t\t\t\tpbu := (pyy1 + 116130*pcb1) >> 8\n\t\t\t\t\t\t\tif pru < 0 {\n\t\t\t\t\t\t\t\tpru = 0\n\t\t\t\t\t\t\t} else if pru > 0xffff {\n\t\t\t\t\t\t\t\tpru = 0xffff\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif pgu < 0 {\n\t\t\t\t\t\t\t\tpgu = 0\n\t\t\t\t\t\t\t} else if pgu > 0xffff {\n\t\t\t\t\t\t\t\tpgu = 0xffff\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif pbu < 0 {\n\t\t\t\t\t\t\t\tpbu = 0\n\t\t\t\t\t\t\t} else if pbu > 0xffff {\n\t\t\t\t\t\t\t\tpbu = 0xffff\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpr += float64(pru) * w\n\t\t\t\t\t\t\tpg += float64(pgu) * w\n\t\t\t\t\t\t\tpb += float64(pbu) * w\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\tdst.Pix[d+0] = uint8(fffftou(pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8(fffftou(pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8(fffftou(pb) >> 8)\n\t\t\tdst.Pix[d+3] = 0xff\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_RGBA_Image_Over(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src image.Image, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpru, pgu, pbu, pau := src.At(kx, ky).RGBA()\n\t\t\t\t\t\t\tpr += float64(pru) * w\n\t\t\t\t\t\t\tpg += float64(pgu) * w\n\t\t\t\t\t\t\tpb += float64(pbu) * w\n\t\t\t\t\t\t\tpa += float64(pau) * w\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\n\t\t\tpr0 := uint32(fffftou(pr))\n\t\t\tpg0 := uint32(fffftou(pg))\n\t\t\tpb0 := uint32(fffftou(pb))\n\t\t\tpa0 := uint32(fffftou(pa))\n\t\t\tpa1 := (0xffff - uint32(pa0)) * 0x101\n\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr0) >> 8)\n\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg0) >> 8)\n\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb0) >> 8)\n\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa0) >> 8)\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_RGBA_Image_Src(dst *image.RGBA, dr, adr image.Rectangle, d2s *f64.Aff3, src image.Image, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\td := (dr.Min.Y+int(dy)-dst.Rect.Min.Y)*dst.Stride + (dr.Min.X+adr.Min.X-dst.Rect.Min.X)*4\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpru, pgu, pbu, pau := src.At(kx, ky).RGBA()\n\t\t\t\t\t\t\tpr += float64(pru) * w\n\t\t\t\t\t\t\tpg += float64(pgu) * w\n\t\t\t\t\t\t\tpb += float64(pbu) * w\n\t\t\t\t\t\t\tpa += float64(pau) * w\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\n\t\t\tdst.Pix[d+0] = uint8(fffftou(pr) >> 8)\n\t\t\tdst.Pix[d+1] = uint8(fffftou(pg) >> 8)\n\t\t\tdst.Pix[d+2] = uint8(fffftou(pb) >> 8)\n\t\t\tdst.Pix[d+3] = uint8(fffftou(pa) >> 8)\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_Image_Image_Over(dst Image, dr, adr image.Rectangle, d2s *f64.Aff3, src image.Image, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tsrcMask, smp := opts.SrcMask, opts.SrcMaskP\n\tdstMask, dmp := opts.DstMask, opts.DstMaskP\n\tdstColorRGBA64 := &color.RGBA64{}\n\tdstColor := color.Color(dstColorRGBA64)\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpru, pgu, pbu, pau := src.At(kx, ky).RGBA()\n\t\t\t\t\t\t\tif srcMask != nil {\n\t\t\t\t\t\t\t\t_, _, _, ma := srcMask.At(smp.X+kx, smp.Y+ky).RGBA()\n\t\t\t\t\t\t\t\tpru = pru * ma / 0xffff\n\t\t\t\t\t\t\t\tpgu = pgu * ma / 0xffff\n\t\t\t\t\t\t\t\tpbu = pbu * ma / 0xffff\n\t\t\t\t\t\t\t\tpau = pau * ma / 0xffff\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpr += float64(pru) * w\n\t\t\t\t\t\t\tpg += float64(pgu) * w\n\t\t\t\t\t\t\tpb += float64(pbu) * w\n\t\t\t\t\t\t\tpa += float64(pau) * w\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\n\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(dy)).RGBA()\n\t\t\tpr0 := uint32(fffftou(pr))\n\t\t\tpg0 := uint32(fffftou(pg))\n\t\t\tpb0 := uint32(fffftou(pb))\n\t\t\tpa0 := uint32(fffftou(pa))\n\t\t\tif dstMask != nil {\n\t\t\t\t_, _, _, ma := dstMask.At(dmp.X+dr.Min.X+int(dx), dmp.Y+dr.Min.Y+int(dy)).RGBA()\n\t\t\t\tpr0 = pr0 * ma / 0xffff\n\t\t\t\tpg0 = pg0 * ma / 0xffff\n\t\t\t\tpb0 = pb0 * ma / 0xffff\n\t\t\t\tpa0 = pa0 * ma / 0xffff\n\t\t\t}\n\t\t\tpa1 := 0xffff - pa0\n\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr0)\n\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg0)\n\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb0)\n\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa0)\n\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t}\n\t}\n}\n\nfunc (q *Kernel) transform_Image_Image_Src(dst Image, dr, adr image.Rectangle, d2s *f64.Aff3, src image.Image, sr image.Rectangle, bias image.Point, xscale, yscale float64, opts *Options) {\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\txHalfWidth, xKernelArgScale := q.Support, 1.0\n\tif xscale > 1 {\n\t\txHalfWidth *= xscale\n\t\txKernelArgScale = 1 / xscale\n\t}\n\tyHalfWidth, yKernelArgScale := q.Support, 1.0\n\tif yscale > 1 {\n\t\tyHalfWidth *= yscale\n\t\tyKernelArgScale = 1 / yscale\n\t}\n\n\txWeights := make([]float64, 1+2*int(math.Ceil(xHalfWidth)))\n\tyWeights := make([]float64, 1+2*int(math.Ceil(yHalfWidth)))\n\n\tsrcMask, smp := opts.SrcMask, opts.SrcMaskP\n\tdstMask, dmp := opts.DstMask, opts.DstMaskP\n\tdstColorRGBA64 := &color.RGBA64{}\n\tdstColor := color.Color(dstColorRGBA64)\n\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\tsx := d2s[0]*dxf + d2s[1]*dyf + d2s[2]\n\t\t\tsy := d2s[3]*dxf + d2s[4]*dyf + d2s[5]\n\t\t\tif !(image.Point{int(sx) + bias.X, int(sy) + bias.Y}).In(sr) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// TODO: adjust the bias so that we can use int(f) instead\n\t\t\t// of math.Floor(f) and math.Ceil(f).\n\t\t\tsx += float64(bias.X)\n\t\t\tsx -= 0.5\n\t\t\tix := int(math.Floor(sx - xHalfWidth))\n\t\t\tif ix < sr.Min.X {\n\t\t\t\tix = sr.Min.X\n\t\t\t}\n\t\t\tjx := int(math.Ceil(sx + xHalfWidth))\n\t\t\tif jx > sr.Max.X {\n\t\t\t\tjx = sr.Max.X\n\t\t\t}\n\n\t\t\ttotalXWeight := 0.0\n\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\txWeight := 0.0\n\t\t\t\tif t := abs((sx - float64(kx)) * xKernelArgScale); t < q.Support {\n\t\t\t\t\txWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\txWeights[kx-ix] = xWeight\n\t\t\t\ttotalXWeight += xWeight\n\t\t\t}\n\t\t\tfor x := range xWeights[:jx-ix] {\n\t\t\t\txWeights[x] /= totalXWeight\n\t\t\t}\n\n\t\t\tsy += float64(bias.Y)\n\t\t\tsy -= 0.5\n\t\t\tiy := int(math.Floor(sy - yHalfWidth))\n\t\t\tif iy < sr.Min.Y {\n\t\t\t\tiy = sr.Min.Y\n\t\t\t}\n\t\t\tjy := int(math.Ceil(sy + yHalfWidth))\n\t\t\tif jy > sr.Max.Y {\n\t\t\t\tjy = sr.Max.Y\n\t\t\t}\n\n\t\t\ttotalYWeight := 0.0\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tyWeight := 0.0\n\t\t\t\tif t := abs((sy - float64(ky)) * yKernelArgScale); t < q.Support {\n\t\t\t\t\tyWeight = q.At(t)\n\t\t\t\t}\n\t\t\t\tyWeights[ky-iy] = yWeight\n\t\t\t\ttotalYWeight += yWeight\n\t\t\t}\n\t\t\tfor y := range yWeights[:jy-iy] {\n\t\t\t\tyWeights[y] /= totalYWeight\n\t\t\t}\n\n\t\t\tvar pr, pg, pb, pa float64\n\t\t\tfor ky := iy; ky < jy; ky++ {\n\t\t\t\tif yWeight := yWeights[ky-iy]; yWeight != 0 {\n\t\t\t\t\tfor kx := ix; kx < jx; kx++ {\n\t\t\t\t\t\tif w := xWeights[kx-ix] * yWeight; w != 0 {\n\t\t\t\t\t\t\tpru, pgu, pbu, pau := src.At(kx, ky).RGBA()\n\t\t\t\t\t\t\tif srcMask != nil {\n\t\t\t\t\t\t\t\t_, _, _, ma := srcMask.At(smp.X+kx, smp.Y+ky).RGBA()\n\t\t\t\t\t\t\t\tpru = pru * ma / 0xffff\n\t\t\t\t\t\t\t\tpgu = pgu * ma / 0xffff\n\t\t\t\t\t\t\t\tpbu = pbu * ma / 0xffff\n\t\t\t\t\t\t\t\tpau = pau * ma / 0xffff\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpr += float64(pru) * w\n\t\t\t\t\t\t\tpg += float64(pgu) * w\n\t\t\t\t\t\t\tpb += float64(pbu) * w\n\t\t\t\t\t\t\tpa += float64(pau) * w\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif pr > pa {\n\t\t\t\tpr = pa\n\t\t\t}\n\t\t\tif pg > pa {\n\t\t\t\tpg = pa\n\t\t\t}\n\t\t\tif pb > pa {\n\t\t\t\tpb = pa\n\t\t\t}\n\n\t\t\tif dstMask != nil {\n\t\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(dy)).RGBA()\n\t\t\t\t_, _, _, ma := dstMask.At(dmp.X+dr.Min.X+int(dx), dmp.Y+dr.Min.Y+int(dy)).RGBA()\n\t\t\t\tpr := uint32(fffftou(pr)) * ma / 0xffff\n\t\t\t\tpg := uint32(fffftou(pg)) * ma / 0xffff\n\t\t\t\tpb := uint32(fffftou(pb)) * ma / 0xffff\n\t\t\t\tpa := uint32(fffftou(pa)) * ma / 0xffff\n\t\t\t\tpa1 := 0xffff - ma\n\t\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr)\n\t\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg)\n\t\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb)\n\t\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa)\n\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t\t} else {\n\t\t\t\tdstColorRGBA64.R = fffftou(pr)\n\t\t\t\tdstColorRGBA64.G = fffftou(pg)\n\t\t\t\tdstColorRGBA64.B = fffftou(pb)\n\t\t\t\tdstColorRGBA64.A = fffftou(pa)\n\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/image/draw/scale.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//go:generate go run gen.go\n\npackage draw\n\nimport (\n\t\"image\"\n\t\"image/color\"\n\t\"math\"\n\t\"sync\"\n\n\t\"golang.org/x/image/math/f64\"\n)\n\n// Copy copies the part of the source image defined by src and sr and writes\n// the result of a Porter-Duff composition to the part of the destination image\n// defined by dst and the translation of sr so that sr.Min translates to dp.\nfunc Copy(dst Image, dp image.Point, src image.Image, sr image.Rectangle, op Op, opts *Options) {\n\tvar o Options\n\tif opts != nil {\n\t\to = *opts\n\t}\n\tdr := sr.Add(dp.Sub(sr.Min))\n\tif o.DstMask == nil {\n\t\tDrawMask(dst, dr, src, sr.Min, o.SrcMask, o.SrcMaskP.Add(sr.Min), op)\n\t} else {\n\t\tNearestNeighbor.Scale(dst, dr, src, sr, op, opts)\n\t}\n}\n\n// Scaler scales the part of the source image defined by src and sr and writes\n// the result of a Porter-Duff composition to the part of the destination image\n// defined by dst and dr.\n//\n// A Scaler is safe to use concurrently.\ntype Scaler interface {\n\tScale(dst Image, dr image.Rectangle, src image.Image, sr image.Rectangle, op Op, opts *Options)\n}\n\n// Transformer transforms the part of the source image defined by src and sr\n// and writes the result of a Porter-Duff composition to the part of the\n// destination image defined by dst and the affine transform m applied to sr.\n//\n// For example, if m is the matrix\n//\n// m00 m01 m02\n// m10 m11 m12\n//\n// then the src-space point (sx, sy) maps to the dst-space point\n// (m00*sx + m01*sy + m02, m10*sx + m11*sy + m12).\n//\n// A Transformer is safe to use concurrently.\ntype Transformer interface {\n\tTransform(dst Image, m f64.Aff3, src image.Image, sr image.Rectangle, op Op, opts *Options)\n}\n\n// Options are optional parameters to Copy, Scale and Transform.\n//\n// A nil *Options means to use the default (zero) values of each field.\ntype Options struct {\n\t// Masks limit what parts of the dst image are drawn to and what parts of\n\t// the src image are drawn from.\n\t//\n\t// A dst or src mask image having a zero alpha (transparent) pixel value in\n\t// the respective coordinate space means that that dst pixel is entirely\n\t// unaffected or that src pixel is considered transparent black. A full\n\t// alpha (opaque) value means that the dst pixel is maximally affected or\n\t// the src pixel contributes maximally. The default values, nil, are\n\t// equivalent to fully opaque, infinitely large mask images.\n\t//\n\t// The DstMask is otherwise known as a clip mask, and its pixels map 1:1 to\n\t// the dst image's pixels. DstMaskP in DstMask space corresponds to\n\t// image.Point{X:0, Y:0} in dst space. For example, when limiting\n\t// repainting to a 'dirty rectangle', use that image.Rectangle and a zero\n\t// image.Point as the DstMask and DstMaskP.\n\t//\n\t// The SrcMask's pixels map 1:1 to the src image's pixels. SrcMaskP in\n\t// SrcMask space corresponds to image.Point{X:0, Y:0} in src space. For\n\t// example, when drawing font glyphs in a uniform color, use an\n\t// *image.Uniform as the src, and use the glyph atlas image and the\n\t// per-glyph offset as SrcMask and SrcMaskP:\n\t//\tCopy(dst, dp, image.NewUniform(color), image.Rect(0, 0, glyphWidth, glyphHeight), &Options{\n\t//\t\tSrcMask:  glyphAtlas,\n\t//\t\tSrcMaskP: glyphOffset,\n\t//\t})\n\tDstMask  image.Image\n\tDstMaskP image.Point\n\tSrcMask  image.Image\n\tSrcMaskP image.Point\n\n\t// TODO: a smooth vs sharp edges option, for arbitrary rotations?\n}\n\n// Interpolator is an interpolation algorithm, when dst and src pixels don't\n// have a 1:1 correspondence.\n//\n// Of the interpolators provided by this package:\n//\t- NearestNeighbor is fast but usually looks worst.\n//\t- CatmullRom is slow but usually looks best.\n//\t- ApproxBiLinear has reasonable speed and quality.\n//\n// The time taken depends on the size of dr. For kernel interpolators, the\n// speed also depends on the size of sr, and so are often slower than\n// non-kernel interpolators, especially when scaling down.\ntype Interpolator interface {\n\tScaler\n\tTransformer\n}\n\n// Kernel is an interpolator that blends source pixels weighted by a symmetric\n// kernel function.\ntype Kernel struct {\n\t// Support is the kernel support and must be >= 0. At(t) is assumed to be\n\t// zero when t >= Support.\n\tSupport float64\n\t// At is the kernel function. It will only be called with t in the\n\t// range [0, Support).\n\tAt func(t float64) float64\n}\n\n// Scale implements the Scaler interface.\nfunc (q *Kernel) Scale(dst Image, dr image.Rectangle, src image.Image, sr image.Rectangle, op Op, opts *Options) {\n\tq.newScaler(dr.Dx(), dr.Dy(), sr.Dx(), sr.Dy(), false).Scale(dst, dr, src, sr, op, opts)\n}\n\n// NewScaler returns a Scaler that is optimized for scaling multiple times with\n// the same fixed destination and source width and height.\nfunc (q *Kernel) NewScaler(dw, dh, sw, sh int) Scaler {\n\treturn q.newScaler(dw, dh, sw, sh, true)\n}\n\nfunc (q *Kernel) newScaler(dw, dh, sw, sh int, usePool bool) Scaler {\n\tz := &kernelScaler{\n\t\tkernel:     q,\n\t\tdw:         int32(dw),\n\t\tdh:         int32(dh),\n\t\tsw:         int32(sw),\n\t\tsh:         int32(sh),\n\t\thorizontal: newDistrib(q, int32(dw), int32(sw)),\n\t\tvertical:   newDistrib(q, int32(dh), int32(sh)),\n\t}\n\tif usePool {\n\t\tz.pool.New = func() interface{} {\n\t\t\ttmp := z.makeTmpBuf()\n\t\t\treturn &tmp\n\t\t}\n\t}\n\treturn z\n}\n\nvar (\n\t// NearestNeighbor is the nearest neighbor interpolator. It is very fast,\n\t// but usually gives very low quality results. When scaling up, the result\n\t// will look 'blocky'.\n\tNearestNeighbor = Interpolator(nnInterpolator{})\n\n\t// ApproxBiLinear is a mixture of the nearest neighbor and bi-linear\n\t// interpolators. It is fast, but usually gives medium quality results.\n\t//\n\t// It implements bi-linear interpolation when upscaling and a bi-linear\n\t// blend of the 4 nearest neighbor pixels when downscaling. This yields\n\t// nicer quality than nearest neighbor interpolation when upscaling, but\n\t// the time taken is independent of the number of source pixels, unlike the\n\t// bi-linear interpolator. When downscaling a large image, the performance\n\t// difference can be significant.\n\tApproxBiLinear = Interpolator(ablInterpolator{})\n\n\t// BiLinear is the tent kernel. It is slow, but usually gives high quality\n\t// results.\n\tBiLinear = &Kernel{1, func(t float64) float64 {\n\t\treturn 1 - t\n\t}}\n\n\t// CatmullRom is the Catmull-Rom kernel. It is very slow, but usually gives\n\t// very high quality results.\n\t//\n\t// It is an instance of the more general cubic BC-spline kernel with parameters\n\t// B=0 and C=0.5. See Mitchell and Netravali, \"Reconstruction Filters in\n\t// Computer Graphics\", Computer Graphics, Vol. 22, No. 4, pp. 221-228.\n\tCatmullRom = &Kernel{2, func(t float64) float64 {\n\t\tif t < 1 {\n\t\t\treturn (1.5*t-2.5)*t*t + 1\n\t\t}\n\t\treturn ((-0.5*t+2.5)*t-4)*t + 2\n\t}}\n\n\t// TODO: a Kaiser-Bessel kernel?\n)\n\ntype nnInterpolator struct{}\n\ntype ablInterpolator struct{}\n\ntype kernelScaler struct {\n\tkernel               *Kernel\n\tdw, dh, sw, sh       int32\n\thorizontal, vertical distrib\n\tpool                 sync.Pool\n}\n\nfunc (z *kernelScaler) makeTmpBuf() [][4]float64 {\n\treturn make([][4]float64, z.dw*z.sh)\n}\n\n// source is a range of contribs, their inverse total weight, and that ITW\n// divided by 0xffff.\ntype source struct {\n\ti, j               int32\n\tinvTotalWeight     float64\n\tinvTotalWeightFFFF float64\n}\n\n// contrib is the weight of a column or row.\ntype contrib struct {\n\tcoord  int32\n\tweight float64\n}\n\n// distrib measures how source pixels are distributed over destination pixels.\ntype distrib struct {\n\t// sources are what contribs each column or row in the source image owns,\n\t// and the total weight of those contribs.\n\tsources []source\n\t// contribs are the contributions indexed by sources[s].i and sources[s].j.\n\tcontribs []contrib\n}\n\n// newDistrib returns a distrib that distributes sw source columns (or rows)\n// over dw destination columns (or rows).\nfunc newDistrib(q *Kernel, dw, sw int32) distrib {\n\tscale := float64(sw) / float64(dw)\n\thalfWidth, kernelArgScale := q.Support, 1.0\n\t// When shrinking, broaden the effective kernel support so that we still\n\t// visit every source pixel.\n\tif scale > 1 {\n\t\thalfWidth *= scale\n\t\tkernelArgScale = 1 / scale\n\t}\n\n\t// Make the sources slice, one source for each column or row, and temporarily\n\t// appropriate its elements' fields so that invTotalWeight is the scaled\n\t// coordinate of the source column or row, and i and j are the lower and\n\t// upper bounds of the range of destination columns or rows affected by the\n\t// source column or row.\n\tn, sources := int32(0), make([]source, dw)\n\tfor x := range sources {\n\t\tcenter := (float64(x)+0.5)*scale - 0.5\n\t\ti := int32(math.Floor(center - halfWidth))\n\t\tif i < 0 {\n\t\t\ti = 0\n\t\t}\n\t\tj := int32(math.Ceil(center + halfWidth))\n\t\tif j > sw {\n\t\t\tj = sw\n\t\t\tif j < i {\n\t\t\t\tj = i\n\t\t\t}\n\t\t}\n\t\tsources[x] = source{i: i, j: j, invTotalWeight: center}\n\t\tn += j - i\n\t}\n\n\tcontribs := make([]contrib, 0, n)\n\tfor k, b := range sources {\n\t\ttotalWeight := 0.0\n\t\tl := int32(len(contribs))\n\t\tfor coord := b.i; coord < b.j; coord++ {\n\t\t\tt := abs((b.invTotalWeight - float64(coord)) * kernelArgScale)\n\t\t\tif t >= q.Support {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tweight := q.At(t)\n\t\t\tif weight == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\ttotalWeight += weight\n\t\t\tcontribs = append(contribs, contrib{coord, weight})\n\t\t}\n\t\ttotalWeight = 1 / totalWeight\n\t\tsources[k] = source{\n\t\t\ti:                  l,\n\t\t\tj:                  int32(len(contribs)),\n\t\t\tinvTotalWeight:     totalWeight,\n\t\t\tinvTotalWeightFFFF: totalWeight / 0xffff,\n\t\t}\n\t}\n\n\treturn distrib{sources, contribs}\n}\n\n// abs is like math.Abs, but it doesn't care about negative zero, infinities or\n// NaNs.\nfunc abs(f float64) float64 {\n\tif f < 0 {\n\t\tf = -f\n\t}\n\treturn f\n}\n\n// ftou converts the range [0.0, 1.0] to [0, 0xffff].\nfunc ftou(f float64) uint16 {\n\ti := int32(0xffff*f + 0.5)\n\tif i > 0xffff {\n\t\treturn 0xffff\n\t}\n\tif i > 0 {\n\t\treturn uint16(i)\n\t}\n\treturn 0\n}\n\n// fffftou converts the range [0.0, 65535.0] to [0, 0xffff].\nfunc fffftou(f float64) uint16 {\n\ti := int32(f + 0.5)\n\tif i > 0xffff {\n\t\treturn 0xffff\n\t}\n\tif i > 0 {\n\t\treturn uint16(i)\n\t}\n\treturn 0\n}\n\n// invert returns the inverse of m.\n//\n// TODO: move this into the f64 package, once we work out the convention for\n// matrix methods in that package: do they modify the receiver, take a dst\n// pointer argument, or return a new value?\nfunc invert(m *f64.Aff3) f64.Aff3 {\n\tm00 := +m[3*1+1]\n\tm01 := -m[3*0+1]\n\tm02 := +m[3*1+2]*m[3*0+1] - m[3*1+1]*m[3*0+2]\n\tm10 := -m[3*1+0]\n\tm11 := +m[3*0+0]\n\tm12 := +m[3*1+0]*m[3*0+2] - m[3*1+2]*m[3*0+0]\n\n\tdet := m00*m11 - m10*m01\n\n\treturn f64.Aff3{\n\t\tm00 / det,\n\t\tm01 / det,\n\t\tm02 / det,\n\t\tm10 / det,\n\t\tm11 / det,\n\t\tm12 / det,\n\t}\n}\n\nfunc matMul(p, q *f64.Aff3) f64.Aff3 {\n\treturn f64.Aff3{\n\t\tp[3*0+0]*q[3*0+0] + p[3*0+1]*q[3*1+0],\n\t\tp[3*0+0]*q[3*0+1] + p[3*0+1]*q[3*1+1],\n\t\tp[3*0+0]*q[3*0+2] + p[3*0+1]*q[3*1+2] + p[3*0+2],\n\t\tp[3*1+0]*q[3*0+0] + p[3*1+1]*q[3*1+0],\n\t\tp[3*1+0]*q[3*0+1] + p[3*1+1]*q[3*1+1],\n\t\tp[3*1+0]*q[3*0+2] + p[3*1+1]*q[3*1+2] + p[3*1+2],\n\t}\n}\n\n// transformRect returns a rectangle dr that contains sr transformed by s2d.\nfunc transformRect(s2d *f64.Aff3, sr *image.Rectangle) (dr image.Rectangle) {\n\tps := [...]image.Point{\n\t\t{sr.Min.X, sr.Min.Y},\n\t\t{sr.Max.X, sr.Min.Y},\n\t\t{sr.Min.X, sr.Max.Y},\n\t\t{sr.Max.X, sr.Max.Y},\n\t}\n\tfor i, p := range ps {\n\t\tsxf := float64(p.X)\n\t\tsyf := float64(p.Y)\n\t\tdx := int(math.Floor(s2d[0]*sxf + s2d[1]*syf + s2d[2]))\n\t\tdy := int(math.Floor(s2d[3]*sxf + s2d[4]*syf + s2d[5]))\n\n\t\t// The +1 adjustments below are because an image.Rectangle is inclusive\n\t\t// on the low end but exclusive on the high end.\n\n\t\tif i == 0 {\n\t\t\tdr = image.Rectangle{\n\t\t\t\tMin: image.Point{dx + 0, dy + 0},\n\t\t\t\tMax: image.Point{dx + 1, dy + 1},\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tif dr.Min.X > dx {\n\t\t\tdr.Min.X = dx\n\t\t}\n\t\tdx++\n\t\tif dr.Max.X < dx {\n\t\t\tdr.Max.X = dx\n\t\t}\n\n\t\tif dr.Min.Y > dy {\n\t\t\tdr.Min.Y = dy\n\t\t}\n\t\tdy++\n\t\tif dr.Max.Y < dy {\n\t\t\tdr.Max.Y = dy\n\t\t}\n\t}\n\treturn dr\n}\n\nfunc clipAffectedDestRect(adr image.Rectangle, dstMask image.Image, dstMaskP image.Point) (image.Rectangle, image.Image) {\n\tif dstMask == nil {\n\t\treturn adr, nil\n\t}\n\t// TODO: enable this fast path once Go 1.5 is released, where an\n\t// image.Rectangle implements image.Image.\n\t// if r, ok := dstMask.(image.Rectangle); ok {\n\t// \treturn adr.Intersect(r.Sub(dstMaskP)), nil\n\t// }\n\t// TODO: clip to dstMask.Bounds() if the color model implies that out-of-bounds means 0 alpha?\n\treturn adr, dstMask\n}\n\nfunc transform_Uniform(dst Image, dr, adr image.Rectangle, d2s *f64.Aff3, src *image.Uniform, sr image.Rectangle, bias image.Point, op Op) {\n\tswitch op {\n\tcase Over:\n\t\tswitch dst := dst.(type) {\n\t\tcase *image.RGBA:\n\t\t\tpr, pg, pb, pa := src.C.RGBA()\n\t\t\tpa1 := (0xffff - pa) * 0x101\n\n\t\t\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\t\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\t\t\td := dst.PixOffset(dr.Min.X+adr.Min.X, dr.Min.Y+int(dy))\n\t\t\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tdst.Pix[d+0] = uint8((uint32(dst.Pix[d+0])*pa1/0xffff + pr) >> 8)\n\t\t\t\t\tdst.Pix[d+1] = uint8((uint32(dst.Pix[d+1])*pa1/0xffff + pg) >> 8)\n\t\t\t\t\tdst.Pix[d+2] = uint8((uint32(dst.Pix[d+2])*pa1/0xffff + pb) >> 8)\n\t\t\t\t\tdst.Pix[d+3] = uint8((uint32(dst.Pix[d+3])*pa1/0xffff + pa) >> 8)\n\t\t\t\t}\n\t\t\t}\n\n\t\tdefault:\n\t\t\tpr, pg, pb, pa := src.C.RGBA()\n\t\t\tpa1 := 0xffff - pa\n\t\t\tdstColorRGBA64 := &color.RGBA64{}\n\t\t\tdstColor := color.Color(dstColorRGBA64)\n\n\t\t\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\t\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\t\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tqr, qg, qb, qa := dst.At(dr.Min.X+int(dx), dr.Min.Y+int(dy)).RGBA()\n\t\t\t\t\tdstColorRGBA64.R = uint16(qr*pa1/0xffff + pr)\n\t\t\t\t\tdstColorRGBA64.G = uint16(qg*pa1/0xffff + pg)\n\t\t\t\t\tdstColorRGBA64.B = uint16(qb*pa1/0xffff + pb)\n\t\t\t\t\tdstColorRGBA64.A = uint16(qa*pa1/0xffff + pa)\n\t\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\tcase Src:\n\t\tswitch dst := dst.(type) {\n\t\tcase *image.RGBA:\n\t\t\tpr, pg, pb, pa := src.C.RGBA()\n\t\t\tpr8 := uint8(pr >> 8)\n\t\t\tpg8 := uint8(pg >> 8)\n\t\t\tpb8 := uint8(pb >> 8)\n\t\t\tpa8 := uint8(pa >> 8)\n\n\t\t\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\t\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\t\t\td := dst.PixOffset(dr.Min.X+adr.Min.X, dr.Min.Y+int(dy))\n\t\t\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx, d = dx+1, d+4 {\n\t\t\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tdst.Pix[d+0] = pr8\n\t\t\t\t\tdst.Pix[d+1] = pg8\n\t\t\t\t\tdst.Pix[d+2] = pb8\n\t\t\t\t\tdst.Pix[d+3] = pa8\n\t\t\t\t}\n\t\t\t}\n\n\t\tdefault:\n\t\t\tpr, pg, pb, pa := src.C.RGBA()\n\t\t\tdstColorRGBA64 := &color.RGBA64{\n\t\t\t\tuint16(pr),\n\t\t\t\tuint16(pg),\n\t\t\t\tuint16(pb),\n\t\t\t\tuint16(pa),\n\t\t\t}\n\t\t\tdstColor := color.Color(dstColorRGBA64)\n\n\t\t\tfor dy := int32(adr.Min.Y); dy < int32(adr.Max.Y); dy++ {\n\t\t\t\tdyf := float64(dr.Min.Y+int(dy)) + 0.5\n\t\t\t\tfor dx := int32(adr.Min.X); dx < int32(adr.Max.X); dx++ {\n\t\t\t\t\tdxf := float64(dr.Min.X+int(dx)) + 0.5\n\t\t\t\t\tsx0 := int(d2s[0]*dxf+d2s[1]*dyf+d2s[2]) + bias.X\n\t\t\t\t\tsy0 := int(d2s[3]*dxf+d2s[4]*dyf+d2s[5]) + bias.Y\n\t\t\t\t\tif !(image.Point{sx0, sy0}).In(sr) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tdst.Set(dr.Min.X+int(dx), dr.Min.Y+int(dy), dstColor)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc opaque(m image.Image) bool {\n\to, ok := m.(interface {\n\t\tOpaque() bool\n\t})\n\treturn ok && o.Opaque()\n}\n"
  },
  {
    "path": "vendor/golang.org/x/image/font/font.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package font defines an interface for font faces, for drawing text on an\n// image.\n//\n// Other packages provide font face implementations. For example, a truetype\n// package would provide one based on .ttf font files.\npackage font // import \"golang.org/x/image/font\"\n\nimport (\n\t\"image\"\n\t\"image/draw\"\n\t\"io\"\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/image/math/fixed\"\n)\n\n// TODO: who is responsible for caches (glyph images, glyph indices, kerns)?\n// The Drawer or the Face?\n\n// Face is a font face. Its glyphs are often derived from a font file, such as\n// \"Comic_Sans_MS.ttf\", but a face has a specific size, style, weight and\n// hinting. For example, the 12pt and 18pt versions of Comic Sans are two\n// different faces, even if derived from the same font file.\n//\n// A Face is not safe for concurrent use by multiple goroutines, as its methods\n// may re-use implementation-specific caches and mask image buffers.\n//\n// To create a Face, look to other packages that implement specific font file\n// formats.\ntype Face interface {\n\tio.Closer\n\n\t// Glyph returns the draw.DrawMask parameters (dr, mask, maskp) to draw r's\n\t// glyph at the sub-pixel destination location dot, and that glyph's\n\t// advance width.\n\t//\n\t// It returns !ok if the face does not contain a glyph for r.\n\t//\n\t// The contents of the mask image returned by one Glyph call may change\n\t// after the next Glyph call. Callers that want to cache the mask must make\n\t// a copy.\n\tGlyph(dot fixed.Point26_6, r rune) (\n\t\tdr image.Rectangle, mask image.Image, maskp image.Point, advance fixed.Int26_6, ok bool)\n\n\t// GlyphBounds returns the bounding box of r's glyph, drawn at a dot equal\n\t// to the origin, and that glyph's advance width.\n\t//\n\t// It returns !ok if the face does not contain a glyph for r.\n\t//\n\t// The glyph's ascent and descent equal -bounds.Min.Y and +bounds.Max.Y. A\n\t// visual depiction of what these metrics are is at\n\t// https://developer.apple.com/library/mac/documentation/TextFonts/Conceptual/CocoaTextArchitecture/Art/glyph_metrics_2x.png\n\tGlyphBounds(r rune) (bounds fixed.Rectangle26_6, advance fixed.Int26_6, ok bool)\n\n\t// GlyphAdvance returns the advance width of r's glyph.\n\t//\n\t// It returns !ok if the face does not contain a glyph for r.\n\tGlyphAdvance(r rune) (advance fixed.Int26_6, ok bool)\n\n\t// Kern returns the horizontal adjustment for the kerning pair (r0, r1). A\n\t// positive kern means to move the glyphs further apart.\n\tKern(r0, r1 rune) fixed.Int26_6\n\n\t// Metrics returns the metrics for this Face.\n\tMetrics() Metrics\n\n\t// TODO: ColoredGlyph for various emoji?\n\t// TODO: Ligatures? Shaping?\n}\n\n// Metrics holds the metrics for a Face. A visual depiction is at\n// https://developer.apple.com/library/mac/documentation/TextFonts/Conceptual/CocoaTextArchitecture/Art/glyph_metrics_2x.png\ntype Metrics struct {\n\t// Height is the recommended amount of vertical space between two lines of\n\t// text.\n\tHeight fixed.Int26_6\n\n\t// Ascent is the distance from the top of a line to its baseline.\n\tAscent fixed.Int26_6\n\n\t// Descent is the distance from the bottom of a line to its baseline. The\n\t// value is typically positive, even though a descender goes below the\n\t// baseline.\n\tDescent fixed.Int26_6\n}\n\n// Drawer draws text on a destination image.\n//\n// A Drawer is not safe for concurrent use by multiple goroutines, since its\n// Face is not.\ntype Drawer struct {\n\t// Dst is the destination image.\n\tDst draw.Image\n\t// Src is the source image.\n\tSrc image.Image\n\t// Face provides the glyph mask images.\n\tFace Face\n\t// Dot is the baseline location to draw the next glyph. The majority of the\n\t// affected pixels will be above and to the right of the dot, but some may\n\t// be below or to the left. For example, drawing a 'j' in an italic face\n\t// may affect pixels below and to the left of the dot.\n\tDot fixed.Point26_6\n\n\t// TODO: Clip image.Image?\n\t// TODO: SrcP image.Point for Src images other than *image.Uniform? How\n\t// does it get updated during DrawString?\n}\n\n// TODO: should DrawString return the last rune drawn, so the next DrawString\n// call can kern beforehand? Or should that be the responsibility of the caller\n// if they really want to do that, since they have to explicitly shift d.Dot\n// anyway? What if ligatures span more than two runes? What if grapheme\n// clusters span multiple runes?\n//\n// TODO: do we assume that the input is in any particular Unicode Normalization\n// Form?\n//\n// TODO: have DrawRunes(s []rune)? DrawRuneReader(io.RuneReader)?? If we take\n// io.RuneReader, we can't assume that we can rewind the stream.\n//\n// TODO: how does this work with line breaking: drawing text up until a\n// vertical line? Should DrawString return the number of runes drawn?\n\n// DrawBytes draws s at the dot and advances the dot's location.\n//\n// It is equivalent to DrawString(string(s)) but may be more efficient.\nfunc (d *Drawer) DrawBytes(s []byte) {\n\tprevC := rune(-1)\n\tfor len(s) > 0 {\n\t\tc, size := utf8.DecodeRune(s)\n\t\ts = s[size:]\n\t\tif prevC >= 0 {\n\t\t\td.Dot.X += d.Face.Kern(prevC, c)\n\t\t}\n\t\tdr, mask, maskp, advance, ok := d.Face.Glyph(d.Dot, c)\n\t\tif !ok {\n\t\t\t// TODO: is falling back on the U+FFFD glyph the responsibility of\n\t\t\t// the Drawer or the Face?\n\t\t\t// TODO: set prevC = '\\ufffd'?\n\t\t\tcontinue\n\t\t}\n\t\tdraw.DrawMask(d.Dst, dr, d.Src, image.Point{}, mask, maskp, draw.Over)\n\t\td.Dot.X += advance\n\t\tprevC = c\n\t}\n}\n\n// DrawString draws s at the dot and advances the dot's location.\nfunc (d *Drawer) DrawString(s string) {\n\tprevC := rune(-1)\n\tfor _, c := range s {\n\t\tif prevC >= 0 {\n\t\t\td.Dot.X += d.Face.Kern(prevC, c)\n\t\t}\n\t\tdr, mask, maskp, advance, ok := d.Face.Glyph(d.Dot, c)\n\t\tif !ok {\n\t\t\t// TODO: is falling back on the U+FFFD glyph the responsibility of\n\t\t\t// the Drawer or the Face?\n\t\t\t// TODO: set prevC = '\\ufffd'?\n\t\t\tcontinue\n\t\t}\n\t\tdraw.DrawMask(d.Dst, dr, d.Src, image.Point{}, mask, maskp, draw.Over)\n\t\td.Dot.X += advance\n\t\tprevC = c\n\t}\n}\n\n// BoundBytes returns the bounding box of s, drawn at the drawer dot, as well as\n// the advance.\n//\n// It is equivalent to BoundBytes(string(s)) but may be more efficient.\nfunc (d *Drawer) BoundBytes(s []byte) (bounds fixed.Rectangle26_6, advance fixed.Int26_6) {\n\tbounds, advance = BoundBytes(d.Face, s)\n\tbounds.Min = bounds.Min.Add(d.Dot)\n\tbounds.Max = bounds.Max.Add(d.Dot)\n\treturn\n}\n\n// BoundString returns the bounding box of s, drawn at the drawer dot, as well\n// as the advance.\nfunc (d *Drawer) BoundString(s string) (bounds fixed.Rectangle26_6, advance fixed.Int26_6) {\n\tbounds, advance = BoundString(d.Face, s)\n\tbounds.Min = bounds.Min.Add(d.Dot)\n\tbounds.Max = bounds.Max.Add(d.Dot)\n\treturn\n}\n\n// MeasureBytes returns how far dot would advance by drawing s.\n//\n// It is equivalent to MeasureString(string(s)) but may be more efficient.\nfunc (d *Drawer) MeasureBytes(s []byte) (advance fixed.Int26_6) {\n\treturn MeasureBytes(d.Face, s)\n}\n\n// MeasureString returns how far dot would advance by drawing s.\nfunc (d *Drawer) MeasureString(s string) (advance fixed.Int26_6) {\n\treturn MeasureString(d.Face, s)\n}\n\n// BoundBytes returns the bounding box of s with f, drawn at a dot equal to the\n// origin, as well as the advance.\n//\n// It is equivalent to BoundString(string(s)) but may be more efficient.\nfunc BoundBytes(f Face, s []byte) (bounds fixed.Rectangle26_6, advance fixed.Int26_6) {\n\tprevC := rune(-1)\n\tfor len(s) > 0 {\n\t\tc, size := utf8.DecodeRune(s)\n\t\ts = s[size:]\n\t\tif prevC >= 0 {\n\t\t\tadvance += f.Kern(prevC, c)\n\t\t}\n\t\tb, a, ok := f.GlyphBounds(c)\n\t\tif !ok {\n\t\t\t// TODO: is falling back on the U+FFFD glyph the responsibility of\n\t\t\t// the Drawer or the Face?\n\t\t\t// TODO: set prevC = '\\ufffd'?\n\t\t\tcontinue\n\t\t}\n\t\tb.Min.X += advance\n\t\tb.Max.X += advance\n\t\tbounds = bounds.Union(b)\n\t\tadvance += a\n\t\tprevC = c\n\t}\n\treturn\n}\n\n// BoundString returns the bounding box of s with f, drawn at a dot equal to the\n// origin, as well as the advance.\nfunc BoundString(f Face, s string) (bounds fixed.Rectangle26_6, advance fixed.Int26_6) {\n\tprevC := rune(-1)\n\tfor _, c := range s {\n\t\tif prevC >= 0 {\n\t\t\tadvance += f.Kern(prevC, c)\n\t\t}\n\t\tb, a, ok := f.GlyphBounds(c)\n\t\tif !ok {\n\t\t\t// TODO: is falling back on the U+FFFD glyph the responsibility of\n\t\t\t// the Drawer or the Face?\n\t\t\t// TODO: set prevC = '\\ufffd'?\n\t\t\tcontinue\n\t\t}\n\t\tb.Min.X += advance\n\t\tb.Max.X += advance\n\t\tbounds = bounds.Union(b)\n\t\tadvance += a\n\t\tprevC = c\n\t}\n\treturn\n}\n\n// MeasureBytes returns how far dot would advance by drawing s with f.\n//\n// It is equivalent to MeasureString(string(s)) but may be more efficient.\nfunc MeasureBytes(f Face, s []byte) (advance fixed.Int26_6) {\n\tprevC := rune(-1)\n\tfor len(s) > 0 {\n\t\tc, size := utf8.DecodeRune(s)\n\t\ts = s[size:]\n\t\tif prevC >= 0 {\n\t\t\tadvance += f.Kern(prevC, c)\n\t\t}\n\t\ta, ok := f.GlyphAdvance(c)\n\t\tif !ok {\n\t\t\t// TODO: is falling back on the U+FFFD glyph the responsibility of\n\t\t\t// the Drawer or the Face?\n\t\t\t// TODO: set prevC = '\\ufffd'?\n\t\t\tcontinue\n\t\t}\n\t\tadvance += a\n\t\tprevC = c\n\t}\n\treturn advance\n}\n\n// MeasureString returns how far dot would advance by drawing s with f.\nfunc MeasureString(f Face, s string) (advance fixed.Int26_6) {\n\tprevC := rune(-1)\n\tfor _, c := range s {\n\t\tif prevC >= 0 {\n\t\t\tadvance += f.Kern(prevC, c)\n\t\t}\n\t\ta, ok := f.GlyphAdvance(c)\n\t\tif !ok {\n\t\t\t// TODO: is falling back on the U+FFFD glyph the responsibility of\n\t\t\t// the Drawer or the Face?\n\t\t\t// TODO: set prevC = '\\ufffd'?\n\t\t\tcontinue\n\t\t}\n\t\tadvance += a\n\t\tprevC = c\n\t}\n\treturn advance\n}\n\n// Hinting selects how to quantize a vector font's glyph nodes.\n//\n// Not all fonts support hinting.\ntype Hinting int\n\nconst (\n\tHintingNone Hinting = iota\n\tHintingVertical\n\tHintingFull\n)\n\n// Stretch selects a normal, condensed, or expanded face.\n//\n// Not all fonts support stretches.\ntype Stretch int\n\nconst (\n\tStretchUltraCondensed Stretch = -4\n\tStretchExtraCondensed Stretch = -3\n\tStretchCondensed      Stretch = -2\n\tStretchSemiCondensed  Stretch = -1\n\tStretchNormal         Stretch = +0\n\tStretchSemiExpanded   Stretch = +1\n\tStretchExpanded       Stretch = +2\n\tStretchExtraExpanded  Stretch = +3\n\tStretchUltraExpanded  Stretch = +4\n)\n\n// Style selects a normal, italic, or oblique face.\n//\n// Not all fonts support styles.\ntype Style int\n\nconst (\n\tStyleNormal Style = iota\n\tStyleItalic\n\tStyleOblique\n)\n\n// Weight selects a normal, light or bold face.\n//\n// Not all fonts support weights.\n//\n// The named Weight constants (e.g. WeightBold) correspond to CSS' common\n// weight names (e.g. \"Bold\"), but the numerical values differ, so that in Go,\n// the zero value means to use a normal weight. For the CSS names and values,\n// see https://developer.mozilla.org/en/docs/Web/CSS/font-weight\ntype Weight int\n\nconst (\n\tWeightThin       Weight = -3 // CSS font-weight value 100.\n\tWeightExtraLight Weight = -2 // CSS font-weight value 200.\n\tWeightLight      Weight = -1 // CSS font-weight value 300.\n\tWeightNormal     Weight = +0 // CSS font-weight value 400.\n\tWeightMedium     Weight = +1 // CSS font-weight value 500.\n\tWeightSemiBold   Weight = +2 // CSS font-weight value 600.\n\tWeightBold       Weight = +3 // CSS font-weight value 700.\n\tWeightExtraBold  Weight = +4 // CSS font-weight value 800.\n\tWeightBlack      Weight = +5 // CSS font-weight value 900.\n)\n"
  },
  {
    "path": "vendor/golang.org/x/image/math/f64/f64.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package f64 implements float64 vector and matrix types.\npackage f64 // import \"golang.org/x/image/math/f64\"\n\n// Vec2 is a 2-element vector.\ntype Vec2 [2]float64\n\n// Vec3 is a 3-element vector.\ntype Vec3 [3]float64\n\n// Vec4 is a 4-element vector.\ntype Vec4 [4]float64\n\n// Mat3 is a 3x3 matrix in row major order.\n//\n// m[3*r + c] is the element in the r'th row and c'th column.\ntype Mat3 [9]float64\n\n// Mat4 is a 4x4 matrix in row major order.\n//\n// m[4*r + c] is the element in the r'th row and c'th column.\ntype Mat4 [16]float64\n\n// Aff3 is a 3x3 affine transformation matrix in row major order, where the\n// bottom row is implicitly [0 0 1].\n//\n// m[3*r + c] is the element in the r'th row and c'th column.\ntype Aff3 [6]float64\n\n// Aff4 is a 4x4 affine transformation matrix in row major order, where the\n// bottom row is implicitly [0 0 0 1].\n//\n// m[4*r + c] is the element in the r'th row and c'th column.\ntype Aff4 [12]float64\n"
  },
  {
    "path": "vendor/golang.org/x/image/math/fixed/fixed.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package fixed implements fixed-point integer types.\npackage fixed // import \"golang.org/x/image/math/fixed\"\n\nimport (\n\t\"fmt\"\n)\n\n// TODO: implement fmt.Formatter for %f and %g.\n\n// I returns the integer value i as an Int26_6.\n//\n// For example, passing the integer value 2 yields Int26_6(128).\nfunc I(i int) Int26_6 {\n\treturn Int26_6(i << 6)\n}\n\n// Int26_6 is a signed 26.6 fixed-point number.\n//\n// The integer part ranges from -33554432 to 33554431, inclusive. The\n// fractional part has 6 bits of precision.\n//\n// For example, the number one-and-a-quarter is Int26_6(1<<6 + 1<<4).\ntype Int26_6 int32\n\n// String returns a human-readable representation of a 26.6 fixed-point number.\n//\n// For example, the number one-and-a-quarter becomes \"1:16\".\nfunc (x Int26_6) String() string {\n\tconst shift, mask = 6, 1<<6 - 1\n\tif x >= 0 {\n\t\treturn fmt.Sprintf(\"%d:%02d\", int32(x>>shift), int32(x&mask))\n\t}\n\tx = -x\n\tif x >= 0 {\n\t\treturn fmt.Sprintf(\"-%d:%02d\", int32(x>>shift), int32(x&mask))\n\t}\n\treturn \"-33554432:00\" // The minimum value is -(1<<25).\n}\n\n// Floor returns the greatest integer value less than or equal to x.\n//\n// Its return type is int, not Int26_6.\nfunc (x Int26_6) Floor() int { return int((x + 0x00) >> 6) }\n\n// Round returns the nearest integer value to x. Ties are rounded up.\n//\n// Its return type is int, not Int26_6.\nfunc (x Int26_6) Round() int { return int((x + 0x20) >> 6) }\n\n// Ceil returns the least integer value greater than or equal to x.\n//\n// Its return type is int, not Int26_6.\nfunc (x Int26_6) Ceil() int { return int((x + 0x3f) >> 6) }\n\n// Mul returns x*y in 26.6 fixed-point arithmetic.\nfunc (x Int26_6) Mul(y Int26_6) Int26_6 {\n\treturn Int26_6((int64(x)*int64(y) + 1<<5) >> 6)\n}\n\n// Int52_12 is a signed 52.12 fixed-point number.\n//\n// The integer part ranges from -2251799813685248 to 2251799813685247,\n// inclusive. The fractional part has 12 bits of precision.\n//\n// For example, the number one-and-a-quarter is Int52_12(1<<12 + 1<<10).\ntype Int52_12 int64\n\n// String returns a human-readable representation of a 52.12 fixed-point\n// number.\n//\n// For example, the number one-and-a-quarter becomes \"1:1024\".\nfunc (x Int52_12) String() string {\n\tconst shift, mask = 12, 1<<12 - 1\n\tif x >= 0 {\n\t\treturn fmt.Sprintf(\"%d:%04d\", int64(x>>shift), int64(x&mask))\n\t}\n\tx = -x\n\tif x >= 0 {\n\t\treturn fmt.Sprintf(\"-%d:%04d\", int64(x>>shift), int64(x&mask))\n\t}\n\treturn \"-2251799813685248:0000\" // The minimum value is -(1<<51).\n}\n\n// Floor returns the greatest integer value less than or equal to x.\n//\n// Its return type is int, not Int52_12.\nfunc (x Int52_12) Floor() int { return int((x + 0x000) >> 12) }\n\n// Round returns the nearest integer value to x. Ties are rounded up.\n//\n// Its return type is int, not Int52_12.\nfunc (x Int52_12) Round() int { return int((x + 0x800) >> 12) }\n\n// Ceil returns the least integer value greater than or equal to x.\n//\n// Its return type is int, not Int52_12.\nfunc (x Int52_12) Ceil() int { return int((x + 0xfff) >> 12) }\n\n// Mul returns x*y in 52.12 fixed-point arithmetic.\nfunc (x Int52_12) Mul(y Int52_12) Int52_12 {\n\tconst M, N = 52, 12\n\tlo, hi := muli64(int64(x), int64(y))\n\tret := Int52_12(hi<<M | lo>>N)\n\tret += Int52_12((lo >> (N - 1)) & 1) // Round to nearest, instead of rounding down.\n\treturn ret\n}\n\n// muli64 multiplies two int64 values, returning the 128-bit signed integer\n// result as two uint64 values.\n//\n// This implementation is similar to $GOROOT/src/runtime/softfloat64.go's mullu\n// function, which is in turn adapted from Hacker's Delight.\nfunc muli64(u, v int64) (lo, hi uint64) {\n\tconst (\n\t\ts    = 32\n\t\tmask = 1<<s - 1\n\t)\n\n\tu1 := uint64(u >> s)\n\tu0 := uint64(u & mask)\n\tv1 := uint64(v >> s)\n\tv0 := uint64(v & mask)\n\n\tw0 := u0 * v0\n\tt := u1*v0 + w0>>s\n\tw1 := t & mask\n\tw2 := uint64(int64(t) >> s)\n\tw1 += u0 * v1\n\treturn uint64(u) * uint64(v), u1*v1 + w2 + uint64(int64(w1)>>s)\n}\n\n// P returns the integer values x and y as a Point26_6.\n//\n// For example, passing the integer values (2, -3) yields Point26_6{128, -192}.\nfunc P(x, y int) Point26_6 {\n\treturn Point26_6{Int26_6(x << 6), Int26_6(y << 6)}\n}\n\n// Point26_6 is a 26.6 fixed-point coordinate pair.\n//\n// It is analogous to the image.Point type in the standard library.\ntype Point26_6 struct {\n\tX, Y Int26_6\n}\n\n// Add returns the vector p+q.\nfunc (p Point26_6) Add(q Point26_6) Point26_6 {\n\treturn Point26_6{p.X + q.X, p.Y + q.Y}\n}\n\n// Sub returns the vector p-q.\nfunc (p Point26_6) Sub(q Point26_6) Point26_6 {\n\treturn Point26_6{p.X - q.X, p.Y - q.Y}\n}\n\n// Mul returns the vector p*k.\nfunc (p Point26_6) Mul(k Int26_6) Point26_6 {\n\treturn Point26_6{p.X * k / 64, p.Y * k / 64}\n}\n\n// Div returns the vector p/k.\nfunc (p Point26_6) Div(k Int26_6) Point26_6 {\n\treturn Point26_6{p.X * 64 / k, p.Y * 64 / k}\n}\n\n// In returns whether p is in r.\nfunc (p Point26_6) In(r Rectangle26_6) bool {\n\treturn r.Min.X <= p.X && p.X < r.Max.X && r.Min.Y <= p.Y && p.Y < r.Max.Y\n}\n\n// Point52_12 is a 52.12 fixed-point coordinate pair.\n//\n// It is analogous to the image.Point type in the standard library.\ntype Point52_12 struct {\n\tX, Y Int52_12\n}\n\n// Add returns the vector p+q.\nfunc (p Point52_12) Add(q Point52_12) Point52_12 {\n\treturn Point52_12{p.X + q.X, p.Y + q.Y}\n}\n\n// Sub returns the vector p-q.\nfunc (p Point52_12) Sub(q Point52_12) Point52_12 {\n\treturn Point52_12{p.X - q.X, p.Y - q.Y}\n}\n\n// Mul returns the vector p*k.\nfunc (p Point52_12) Mul(k Int52_12) Point52_12 {\n\treturn Point52_12{p.X * k / 4096, p.Y * k / 4096}\n}\n\n// Div returns the vector p/k.\nfunc (p Point52_12) Div(k Int52_12) Point52_12 {\n\treturn Point52_12{p.X * 4096 / k, p.Y * 4096 / k}\n}\n\n// In returns whether p is in r.\nfunc (p Point52_12) In(r Rectangle52_12) bool {\n\treturn r.Min.X <= p.X && p.X < r.Max.X && r.Min.Y <= p.Y && p.Y < r.Max.Y\n}\n\n// R returns the integer values minX, minY, maxX, maxY as a Rectangle26_6.\n//\n// For example, passing the integer values (0, 1, 2, 3) yields\n// Rectangle26_6{Point26_6{0, 64}, Point26_6{128, 192}}.\n//\n// Like the image.Rect function in the standard library, the returned rectangle\n// has minimum and maximum coordinates swapped if necessary so that it is\n// well-formed.\nfunc R(minX, minY, maxX, maxY int) Rectangle26_6 {\n\tif minX > maxX {\n\t\tminX, maxX = maxX, minX\n\t}\n\tif minY > maxY {\n\t\tminY, maxY = maxY, minY\n\t}\n\treturn Rectangle26_6{\n\t\tPoint26_6{\n\t\t\tInt26_6(minX << 6),\n\t\t\tInt26_6(minY << 6),\n\t\t},\n\t\tPoint26_6{\n\t\t\tInt26_6(maxX << 6),\n\t\t\tInt26_6(maxY << 6),\n\t\t},\n\t}\n}\n\n// Rectangle26_6 is a 26.6 fixed-point coordinate rectangle. The Min bound is\n// inclusive and the Max bound is exclusive. It is well-formed if Min.X <=\n// Max.X and likewise for Y.\n//\n// It is analogous to the image.Rectangle type in the standard library.\ntype Rectangle26_6 struct {\n\tMin, Max Point26_6\n}\n\n// Add returns the rectangle r translated by p.\nfunc (r Rectangle26_6) Add(p Point26_6) Rectangle26_6 {\n\treturn Rectangle26_6{\n\t\tPoint26_6{r.Min.X + p.X, r.Min.Y + p.Y},\n\t\tPoint26_6{r.Max.X + p.X, r.Max.Y + p.Y},\n\t}\n}\n\n// Sub returns the rectangle r translated by -p.\nfunc (r Rectangle26_6) Sub(p Point26_6) Rectangle26_6 {\n\treturn Rectangle26_6{\n\t\tPoint26_6{r.Min.X - p.X, r.Min.Y - p.Y},\n\t\tPoint26_6{r.Max.X - p.X, r.Max.Y - p.Y},\n\t}\n}\n\n// Intersect returns the largest rectangle contained by both r and s. If the\n// two rectangles do not overlap then the zero rectangle will be returned.\nfunc (r Rectangle26_6) Intersect(s Rectangle26_6) Rectangle26_6 {\n\tif r.Min.X < s.Min.X {\n\t\tr.Min.X = s.Min.X\n\t}\n\tif r.Min.Y < s.Min.Y {\n\t\tr.Min.Y = s.Min.Y\n\t}\n\tif r.Max.X > s.Max.X {\n\t\tr.Max.X = s.Max.X\n\t}\n\tif r.Max.Y > s.Max.Y {\n\t\tr.Max.Y = s.Max.Y\n\t}\n\t// Letting r0 and s0 be the values of r and s at the time that the method\n\t// is called, this next line is equivalent to:\n\t//\n\t// if max(r0.Min.X, s0.Min.X) >= min(r0.Max.X, s0.Max.X) || likewiseForY { etc }\n\tif r.Empty() {\n\t\treturn Rectangle26_6{}\n\t}\n\treturn r\n}\n\n// Union returns the smallest rectangle that contains both r and s.\nfunc (r Rectangle26_6) Union(s Rectangle26_6) Rectangle26_6 {\n\tif r.Empty() {\n\t\treturn s\n\t}\n\tif s.Empty() {\n\t\treturn r\n\t}\n\tif r.Min.X > s.Min.X {\n\t\tr.Min.X = s.Min.X\n\t}\n\tif r.Min.Y > s.Min.Y {\n\t\tr.Min.Y = s.Min.Y\n\t}\n\tif r.Max.X < s.Max.X {\n\t\tr.Max.X = s.Max.X\n\t}\n\tif r.Max.Y < s.Max.Y {\n\t\tr.Max.Y = s.Max.Y\n\t}\n\treturn r\n}\n\n// Empty returns whether the rectangle contains no points.\nfunc (r Rectangle26_6) Empty() bool {\n\treturn r.Min.X >= r.Max.X || r.Min.Y >= r.Max.Y\n}\n\n// In returns whether every point in r is in s.\nfunc (r Rectangle26_6) In(s Rectangle26_6) bool {\n\tif r.Empty() {\n\t\treturn true\n\t}\n\t// Note that r.Max is an exclusive bound for r, so that r.In(s)\n\t// does not require that r.Max.In(s).\n\treturn s.Min.X <= r.Min.X && r.Max.X <= s.Max.X &&\n\t\ts.Min.Y <= r.Min.Y && r.Max.Y <= s.Max.Y\n}\n\n// Rectangle52_12 is a 52.12 fixed-point coordinate rectangle. The Min bound is\n// inclusive and the Max bound is exclusive. It is well-formed if Min.X <=\n// Max.X and likewise for Y.\n//\n// It is analogous to the image.Rectangle type in the standard library.\ntype Rectangle52_12 struct {\n\tMin, Max Point52_12\n}\n\n// Add returns the rectangle r translated by p.\nfunc (r Rectangle52_12) Add(p Point52_12) Rectangle52_12 {\n\treturn Rectangle52_12{\n\t\tPoint52_12{r.Min.X + p.X, r.Min.Y + p.Y},\n\t\tPoint52_12{r.Max.X + p.X, r.Max.Y + p.Y},\n\t}\n}\n\n// Sub returns the rectangle r translated by -p.\nfunc (r Rectangle52_12) Sub(p Point52_12) Rectangle52_12 {\n\treturn Rectangle52_12{\n\t\tPoint52_12{r.Min.X - p.X, r.Min.Y - p.Y},\n\t\tPoint52_12{r.Max.X - p.X, r.Max.Y - p.Y},\n\t}\n}\n\n// Intersect returns the largest rectangle contained by both r and s. If the\n// two rectangles do not overlap then the zero rectangle will be returned.\nfunc (r Rectangle52_12) Intersect(s Rectangle52_12) Rectangle52_12 {\n\tif r.Min.X < s.Min.X {\n\t\tr.Min.X = s.Min.X\n\t}\n\tif r.Min.Y < s.Min.Y {\n\t\tr.Min.Y = s.Min.Y\n\t}\n\tif r.Max.X > s.Max.X {\n\t\tr.Max.X = s.Max.X\n\t}\n\tif r.Max.Y > s.Max.Y {\n\t\tr.Max.Y = s.Max.Y\n\t}\n\t// Letting r0 and s0 be the values of r and s at the time that the method\n\t// is called, this next line is equivalent to:\n\t//\n\t// if max(r0.Min.X, s0.Min.X) >= min(r0.Max.X, s0.Max.X) || likewiseForY { etc }\n\tif r.Empty() {\n\t\treturn Rectangle52_12{}\n\t}\n\treturn r\n}\n\n// Union returns the smallest rectangle that contains both r and s.\nfunc (r Rectangle52_12) Union(s Rectangle52_12) Rectangle52_12 {\n\tif r.Empty() {\n\t\treturn s\n\t}\n\tif s.Empty() {\n\t\treturn r\n\t}\n\tif r.Min.X > s.Min.X {\n\t\tr.Min.X = s.Min.X\n\t}\n\tif r.Min.Y > s.Min.Y {\n\t\tr.Min.Y = s.Min.Y\n\t}\n\tif r.Max.X < s.Max.X {\n\t\tr.Max.X = s.Max.X\n\t}\n\tif r.Max.Y < s.Max.Y {\n\t\tr.Max.Y = s.Max.Y\n\t}\n\treturn r\n}\n\n// Empty returns whether the rectangle contains no points.\nfunc (r Rectangle52_12) Empty() bool {\n\treturn r.Min.X >= r.Max.X || r.Min.Y >= r.Max.Y\n}\n\n// In returns whether every point in r is in s.\nfunc (r Rectangle52_12) In(s Rectangle52_12) bool {\n\tif r.Empty() {\n\t\treturn true\n\t}\n\t// Note that r.Max is an exclusive bound for r, so that r.In(s)\n\t// does not require that r.Max.In(s).\n\treturn s.Min.X <= r.Min.X && r.Max.X <= s.Max.X &&\n\t\ts.Min.Y <= r.Min.Y && r.Max.Y <= s.Max.Y\n}\n"
  },
  {
    "path": "vendor/golang.org/x/image/tiff/buffer.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage tiff\n\nimport \"io\"\n\n// buffer buffers an io.Reader to satisfy io.ReaderAt.\ntype buffer struct {\n\tr   io.Reader\n\tbuf []byte\n}\n\n// fill reads data from b.r until the buffer contains at least end bytes.\nfunc (b *buffer) fill(end int) error {\n\tm := len(b.buf)\n\tif end > m {\n\t\tif end > cap(b.buf) {\n\t\t\tnewcap := 1024\n\t\t\tfor newcap < end {\n\t\t\t\tnewcap *= 2\n\t\t\t}\n\t\t\tnewbuf := make([]byte, end, newcap)\n\t\t\tcopy(newbuf, b.buf)\n\t\t\tb.buf = newbuf\n\t\t} else {\n\t\t\tb.buf = b.buf[:end]\n\t\t}\n\t\tif n, err := io.ReadFull(b.r, b.buf[m:end]); err != nil {\n\t\t\tend = m + n\n\t\t\tb.buf = b.buf[:end]\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (b *buffer) ReadAt(p []byte, off int64) (int, error) {\n\to := int(off)\n\tend := o + len(p)\n\tif int64(end) != off+int64(len(p)) {\n\t\treturn 0, io.ErrUnexpectedEOF\n\t}\n\n\terr := b.fill(end)\n\treturn copy(p, b.buf[o:end]), err\n}\n\n// Slice returns a slice of the underlying buffer. The slice contains\n// n bytes starting at offset off.\nfunc (b *buffer) Slice(off, n int) ([]byte, error) {\n\tend := off + n\n\tif err := b.fill(end); err != nil {\n\t\treturn nil, err\n\t}\n\treturn b.buf[off:end], nil\n}\n\n// newReaderAt converts an io.Reader into an io.ReaderAt.\nfunc newReaderAt(r io.Reader) io.ReaderAt {\n\tif ra, ok := r.(io.ReaderAt); ok {\n\t\treturn ra\n\t}\n\treturn &buffer{\n\t\tr:   r,\n\t\tbuf: make([]byte, 0, 1024),\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/image/tiff/compress.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage tiff\n\nimport (\n\t\"bufio\"\n\t\"io\"\n)\n\ntype byteReader interface {\n\tio.Reader\n\tio.ByteReader\n}\n\n// unpackBits decodes the PackBits-compressed data in src and returns the\n// uncompressed data.\n//\n// The PackBits compression format is described in section 9 (p. 42)\n// of the TIFF spec.\nfunc unpackBits(r io.Reader) ([]byte, error) {\n\tbuf := make([]byte, 128)\n\tdst := make([]byte, 0, 1024)\n\tbr, ok := r.(byteReader)\n\tif !ok {\n\t\tbr = bufio.NewReader(r)\n\t}\n\n\tfor {\n\t\tb, err := br.ReadByte()\n\t\tif err != nil {\n\t\t\tif err == io.EOF {\n\t\t\t\treturn dst, nil\n\t\t\t}\n\t\t\treturn nil, err\n\t\t}\n\t\tcode := int(int8(b))\n\t\tswitch {\n\t\tcase code >= 0:\n\t\t\tn, err := io.ReadFull(br, buf[:code+1])\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tdst = append(dst, buf[:n]...)\n\t\tcase code == -128:\n\t\t\t// No-op.\n\t\tdefault:\n\t\t\tif b, err = br.ReadByte(); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tfor j := 0; j < 1-code; j++ {\n\t\t\t\tbuf[j] = b\n\t\t\t}\n\t\t\tdst = append(dst, buf[:1-code]...)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/image/tiff/consts.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage tiff\n\n// A tiff image file contains one or more images. The metadata\n// of each image is contained in an Image File Directory (IFD),\n// which contains entries of 12 bytes each and is described\n// on page 14-16 of the specification. An IFD entry consists of\n//\n//  - a tag, which describes the signification of the entry,\n//  - the data type and length of the entry,\n//  - the data itself or a pointer to it if it is more than 4 bytes.\n//\n// The presence of a length means that each IFD is effectively an array.\n\nconst (\n\tleHeader = \"II\\x2A\\x00\" // Header for little-endian files.\n\tbeHeader = \"MM\\x00\\x2A\" // Header for big-endian files.\n\n\tifdLen = 12 // Length of an IFD entry in bytes.\n)\n\n// Data types (p. 14-16 of the spec).\nconst (\n\tdtByte     = 1\n\tdtASCII    = 2\n\tdtShort    = 3\n\tdtLong     = 4\n\tdtRational = 5\n)\n\n// The length of one instance of each data type in bytes.\nvar lengths = [...]uint32{0, 1, 1, 2, 4, 8}\n\n// Tags (see p. 28-41 of the spec).\nconst (\n\ttImageWidth                = 256\n\ttImageLength               = 257\n\ttBitsPerSample             = 258\n\ttCompression               = 259\n\ttPhotometricInterpretation = 262\n\n\ttStripOffsets    = 273\n\ttSamplesPerPixel = 277\n\ttRowsPerStrip    = 278\n\ttStripByteCounts = 279\n\n\ttTileWidth      = 322\n\ttTileLength     = 323\n\ttTileOffsets    = 324\n\ttTileByteCounts = 325\n\n\ttXResolution    = 282\n\ttYResolution    = 283\n\ttResolutionUnit = 296\n\n\ttPredictor    = 317\n\ttColorMap     = 320\n\ttExtraSamples = 338\n\ttSampleFormat = 339\n)\n\n// Compression types (defined in various places in the spec and supplements).\nconst (\n\tcNone       = 1\n\tcCCITT      = 2\n\tcG3         = 3 // Group 3 Fax.\n\tcG4         = 4 // Group 4 Fax.\n\tcLZW        = 5\n\tcJPEGOld    = 6 // Superseded by cJPEG.\n\tcJPEG       = 7\n\tcDeflate    = 8 // zlib compression.\n\tcPackBits   = 32773\n\tcDeflateOld = 32946 // Superseded by cDeflate.\n)\n\n// Photometric interpretation values (see p. 37 of the spec).\nconst (\n\tpWhiteIsZero = 0\n\tpBlackIsZero = 1\n\tpRGB         = 2\n\tpPaletted    = 3\n\tpTransMask   = 4 // transparency mask\n\tpCMYK        = 5\n\tpYCbCr       = 6\n\tpCIELab      = 8\n)\n\n// Values for the tPredictor tag (page 64-65 of the spec).\nconst (\n\tprNone       = 1\n\tprHorizontal = 2\n)\n\n// Values for the tResolutionUnit tag (page 18).\nconst (\n\tresNone    = 1\n\tresPerInch = 2 // Dots per inch.\n\tresPerCM   = 3 // Dots per centimeter.\n)\n\n// imageMode represents the mode of the image.\ntype imageMode int\n\nconst (\n\tmBilevel imageMode = iota\n\tmPaletted\n\tmGray\n\tmGrayInvert\n\tmRGB\n\tmRGBA\n\tmNRGBA\n)\n\n// CompressionType describes the type of compression used in Options.\ntype CompressionType int\n\nconst (\n\tUncompressed CompressionType = iota\n\tDeflate\n)\n\n// specValue returns the compression type constant from the TIFF spec that\n// is equivalent to c.\nfunc (c CompressionType) specValue() uint32 {\n\tswitch c {\n\tcase Deflate:\n\t\treturn cDeflate\n\t}\n\treturn cNone\n}\n"
  },
  {
    "path": "vendor/golang.org/x/image/tiff/lzw/reader.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package lzw implements the Lempel-Ziv-Welch compressed data format,\n// described in T. A. Welch, ``A Technique for High-Performance Data\n// Compression'', Computer, 17(6) (June 1984), pp 8-19.\n//\n// In particular, it implements LZW as used by the TIFF file format, including\n// an \"off by one\" algorithmic difference when compared to standard LZW.\npackage lzw // import \"golang.org/x/image/tiff/lzw\"\n\n/*\nThis file was branched from src/pkg/compress/lzw/reader.go in the\nstandard library. Differences from the original are marked with \"NOTE\".\n\nThe tif_lzw.c file in the libtiff C library has this comment:\n\n----\nThe 5.0 spec describes a different algorithm than Aldus\nimplements.  Specifically, Aldus does code length transitions\none code earlier than should be done (for real LZW).\nEarlier versions of this library implemented the correct\nLZW algorithm, but emitted codes in a bit order opposite\nto the TIFF spec.  Thus, to maintain compatibility w/ Aldus\nwe interpret MSB-LSB ordered codes to be images written w/\nold versions of this library, but otherwise adhere to the\nAldus \"off by one\" algorithm.\n----\n\nThe Go code doesn't read (invalid) TIFF files written by old versions of\nlibtiff, but the LZW algorithm in this package still differs from the one in\nGo's standard package library to accomodate this \"off by one\" in valid TIFFs.\n*/\n\nimport (\n\t\"bufio\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n)\n\n// Order specifies the bit ordering in an LZW data stream.\ntype Order int\n\nconst (\n\t// LSB means Least Significant Bits first, as used in the GIF file format.\n\tLSB Order = iota\n\t// MSB means Most Significant Bits first, as used in the TIFF and PDF\n\t// file formats.\n\tMSB\n)\n\nconst (\n\tmaxWidth           = 12\n\tdecoderInvalidCode = 0xffff\n\tflushBuffer        = 1 << maxWidth\n)\n\n// decoder is the state from which the readXxx method converts a byte\n// stream into a code stream.\ntype decoder struct {\n\tr        io.ByteReader\n\tbits     uint32\n\tnBits    uint\n\twidth    uint\n\tread     func(*decoder) (uint16, error) // readLSB or readMSB\n\tlitWidth int                            // width in bits of literal codes\n\terr      error\n\n\t// The first 1<<litWidth codes are literal codes.\n\t// The next two codes mean clear and EOF.\n\t// Other valid codes are in the range [lo, hi] where lo := clear + 2,\n\t// with the upper bound incrementing on each code seen.\n\t// overflow is the code at which hi overflows the code width. NOTE: TIFF's LZW is \"off by one\".\n\t// last is the most recently seen code, or decoderInvalidCode.\n\tclear, eof, hi, overflow, last uint16\n\n\t// Each code c in [lo, hi] expands to two or more bytes. For c != hi:\n\t//   suffix[c] is the last of these bytes.\n\t//   prefix[c] is the code for all but the last byte.\n\t//   This code can either be a literal code or another code in [lo, c).\n\t// The c == hi case is a special case.\n\tsuffix [1 << maxWidth]uint8\n\tprefix [1 << maxWidth]uint16\n\n\t// output is the temporary output buffer.\n\t// Literal codes are accumulated from the start of the buffer.\n\t// Non-literal codes decode to a sequence of suffixes that are first\n\t// written right-to-left from the end of the buffer before being copied\n\t// to the start of the buffer.\n\t// It is flushed when it contains >= 1<<maxWidth bytes,\n\t// so that there is always room to decode an entire code.\n\toutput [2 * 1 << maxWidth]byte\n\to      int    // write index into output\n\ttoRead []byte // bytes to return from Read\n}\n\n// readLSB returns the next code for \"Least Significant Bits first\" data.\nfunc (d *decoder) readLSB() (uint16, error) {\n\tfor d.nBits < d.width {\n\t\tx, err := d.r.ReadByte()\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\td.bits |= uint32(x) << d.nBits\n\t\td.nBits += 8\n\t}\n\tcode := uint16(d.bits & (1<<d.width - 1))\n\td.bits >>= d.width\n\td.nBits -= d.width\n\treturn code, nil\n}\n\n// readMSB returns the next code for \"Most Significant Bits first\" data.\nfunc (d *decoder) readMSB() (uint16, error) {\n\tfor d.nBits < d.width {\n\t\tx, err := d.r.ReadByte()\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\td.bits |= uint32(x) << (24 - d.nBits)\n\t\td.nBits += 8\n\t}\n\tcode := uint16(d.bits >> (32 - d.width))\n\td.bits <<= d.width\n\td.nBits -= d.width\n\treturn code, nil\n}\n\nfunc (d *decoder) Read(b []byte) (int, error) {\n\tfor {\n\t\tif len(d.toRead) > 0 {\n\t\t\tn := copy(b, d.toRead)\n\t\t\td.toRead = d.toRead[n:]\n\t\t\treturn n, nil\n\t\t}\n\t\tif d.err != nil {\n\t\t\treturn 0, d.err\n\t\t}\n\t\td.decode()\n\t}\n}\n\n// decode decompresses bytes from r and leaves them in d.toRead.\n// read specifies how to decode bytes into codes.\n// litWidth is the width in bits of literal codes.\nfunc (d *decoder) decode() {\n\t// Loop over the code stream, converting codes into decompressed bytes.\nloop:\n\tfor {\n\t\tcode, err := d.read(d)\n\t\tif err != nil {\n\t\t\tif err == io.EOF {\n\t\t\t\terr = io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\td.err = err\n\t\t\tbreak\n\t\t}\n\t\tswitch {\n\t\tcase code < d.clear:\n\t\t\t// We have a literal code.\n\t\t\td.output[d.o] = uint8(code)\n\t\t\td.o++\n\t\t\tif d.last != decoderInvalidCode {\n\t\t\t\t// Save what the hi code expands to.\n\t\t\t\td.suffix[d.hi] = uint8(code)\n\t\t\t\td.prefix[d.hi] = d.last\n\t\t\t}\n\t\tcase code == d.clear:\n\t\t\td.width = 1 + uint(d.litWidth)\n\t\t\td.hi = d.eof\n\t\t\td.overflow = 1 << d.width\n\t\t\td.last = decoderInvalidCode\n\t\t\tcontinue\n\t\tcase code == d.eof:\n\t\t\td.err = io.EOF\n\t\t\tbreak loop\n\t\tcase code <= d.hi:\n\t\t\tc, i := code, len(d.output)-1\n\t\t\tif code == d.hi {\n\t\t\t\t// code == hi is a special case which expands to the last expansion\n\t\t\t\t// followed by the head of the last expansion. To find the head, we walk\n\t\t\t\t// the prefix chain until we find a literal code.\n\t\t\t\tc = d.last\n\t\t\t\tfor c >= d.clear {\n\t\t\t\t\tc = d.prefix[c]\n\t\t\t\t}\n\t\t\t\td.output[i] = uint8(c)\n\t\t\t\ti--\n\t\t\t\tc = d.last\n\t\t\t}\n\t\t\t// Copy the suffix chain into output and then write that to w.\n\t\t\tfor c >= d.clear {\n\t\t\t\td.output[i] = d.suffix[c]\n\t\t\t\ti--\n\t\t\t\tc = d.prefix[c]\n\t\t\t}\n\t\t\td.output[i] = uint8(c)\n\t\t\td.o += copy(d.output[d.o:], d.output[i:])\n\t\t\tif d.last != decoderInvalidCode {\n\t\t\t\t// Save what the hi code expands to.\n\t\t\t\td.suffix[d.hi] = uint8(c)\n\t\t\t\td.prefix[d.hi] = d.last\n\t\t\t}\n\t\tdefault:\n\t\t\td.err = errors.New(\"lzw: invalid code\")\n\t\t\tbreak loop\n\t\t}\n\t\td.last, d.hi = code, d.hi+1\n\t\tif d.hi+1 >= d.overflow { // NOTE: the \"+1\" is where TIFF's LZW differs from the standard algorithm.\n\t\t\tif d.width == maxWidth {\n\t\t\t\td.last = decoderInvalidCode\n\t\t\t} else {\n\t\t\t\td.width++\n\t\t\t\td.overflow <<= 1\n\t\t\t}\n\t\t}\n\t\tif d.o >= flushBuffer {\n\t\t\tbreak\n\t\t}\n\t}\n\t// Flush pending output.\n\td.toRead = d.output[:d.o]\n\td.o = 0\n}\n\nvar errClosed = errors.New(\"lzw: reader/writer is closed\")\n\nfunc (d *decoder) Close() error {\n\td.err = errClosed // in case any Reads come along\n\treturn nil\n}\n\n// NewReader creates a new io.ReadCloser.\n// Reads from the returned io.ReadCloser read and decompress data from r.\n// If r does not also implement io.ByteReader,\n// the decompressor may read more data than necessary from r.\n// It is the caller's responsibility to call Close on the ReadCloser when\n// finished reading.\n// The number of bits to use for literal codes, litWidth, must be in the\n// range [2,8] and is typically 8. It must equal the litWidth\n// used during compression.\nfunc NewReader(r io.Reader, order Order, litWidth int) io.ReadCloser {\n\td := new(decoder)\n\tswitch order {\n\tcase LSB:\n\t\td.read = (*decoder).readLSB\n\tcase MSB:\n\t\td.read = (*decoder).readMSB\n\tdefault:\n\t\td.err = errors.New(\"lzw: unknown order\")\n\t\treturn d\n\t}\n\tif litWidth < 2 || 8 < litWidth {\n\t\td.err = fmt.Errorf(\"lzw: litWidth %d out of range\", litWidth)\n\t\treturn d\n\t}\n\tif br, ok := r.(io.ByteReader); ok {\n\t\td.r = br\n\t} else {\n\t\td.r = bufio.NewReader(r)\n\t}\n\td.litWidth = litWidth\n\td.width = 1 + uint(litWidth)\n\td.clear = uint16(1) << uint(litWidth)\n\td.eof, d.hi = d.clear+1, d.clear+1\n\td.overflow = uint16(1) << d.width\n\td.last = decoderInvalidCode\n\n\treturn d\n}\n"
  },
  {
    "path": "vendor/golang.org/x/image/tiff/reader.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package tiff implements a TIFF image decoder and encoder.\n//\n// The TIFF specification is at http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf\npackage tiff // import \"golang.org/x/image/tiff\"\n\nimport (\n\t\"compress/zlib\"\n\t\"encoding/binary\"\n\t\"fmt\"\n\t\"image\"\n\t\"image/color\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"math\"\n\n\t\"golang.org/x/image/tiff/lzw\"\n)\n\n// A FormatError reports that the input is not a valid TIFF image.\ntype FormatError string\n\nfunc (e FormatError) Error() string {\n\treturn \"tiff: invalid format: \" + string(e)\n}\n\n// An UnsupportedError reports that the input uses a valid but\n// unimplemented feature.\ntype UnsupportedError string\n\nfunc (e UnsupportedError) Error() string {\n\treturn \"tiff: unsupported feature: \" + string(e)\n}\n\nvar errNoPixels = FormatError(\"not enough pixel data\")\n\ntype decoder struct {\n\tr         io.ReaderAt\n\tbyteOrder binary.ByteOrder\n\tconfig    image.Config\n\tmode      imageMode\n\tbpp       uint\n\tfeatures  map[int][]uint\n\tpalette   []color.Color\n\n\tbuf   []byte\n\toff   int    // Current offset in buf.\n\tv     uint32 // Buffer value for reading with arbitrary bit depths.\n\tnbits uint   // Remaining number of bits in v.\n}\n\n// firstVal returns the first uint of the features entry with the given tag,\n// or 0 if the tag does not exist.\nfunc (d *decoder) firstVal(tag int) uint {\n\tf := d.features[tag]\n\tif len(f) == 0 {\n\t\treturn 0\n\t}\n\treturn f[0]\n}\n\n// ifdUint decodes the IFD entry in p, which must be of the Byte, Short\n// or Long type, and returns the decoded uint values.\nfunc (d *decoder) ifdUint(p []byte) (u []uint, err error) {\n\tvar raw []byte\n\tif len(p) < ifdLen {\n\t\treturn nil, FormatError(\"bad IFD entry\")\n\t}\n\n\tdatatype := d.byteOrder.Uint16(p[2:4])\n\tif dt := int(datatype); dt <= 0 || dt >= len(lengths) {\n\t\treturn nil, UnsupportedError(\"IFD entry datatype\")\n\t}\n\n\tcount := d.byteOrder.Uint32(p[4:8])\n\tif count > math.MaxInt32/lengths[datatype] {\n\t\treturn nil, FormatError(\"IFD data too large\")\n\t}\n\tif datalen := lengths[datatype] * count; datalen > 4 {\n\t\t// The IFD contains a pointer to the real value.\n\t\traw = make([]byte, datalen)\n\t\t_, err = d.r.ReadAt(raw, int64(d.byteOrder.Uint32(p[8:12])))\n\t} else {\n\t\traw = p[8 : 8+datalen]\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tu = make([]uint, count)\n\tswitch datatype {\n\tcase dtByte:\n\t\tfor i := uint32(0); i < count; i++ {\n\t\t\tu[i] = uint(raw[i])\n\t\t}\n\tcase dtShort:\n\t\tfor i := uint32(0); i < count; i++ {\n\t\t\tu[i] = uint(d.byteOrder.Uint16(raw[2*i : 2*(i+1)]))\n\t\t}\n\tcase dtLong:\n\t\tfor i := uint32(0); i < count; i++ {\n\t\t\tu[i] = uint(d.byteOrder.Uint32(raw[4*i : 4*(i+1)]))\n\t\t}\n\tdefault:\n\t\treturn nil, UnsupportedError(\"data type\")\n\t}\n\treturn u, nil\n}\n\n// parseIFD decides whether the the IFD entry in p is \"interesting\" and\n// stows away the data in the decoder. It returns the tag number of the\n// entry and an error, if any.\nfunc (d *decoder) parseIFD(p []byte) (int, error) {\n\ttag := d.byteOrder.Uint16(p[0:2])\n\tswitch tag {\n\tcase tBitsPerSample,\n\t\ttExtraSamples,\n\t\ttPhotometricInterpretation,\n\t\ttCompression,\n\t\ttPredictor,\n\t\ttStripOffsets,\n\t\ttStripByteCounts,\n\t\ttRowsPerStrip,\n\t\ttTileWidth,\n\t\ttTileLength,\n\t\ttTileOffsets,\n\t\ttTileByteCounts,\n\t\ttImageLength,\n\t\ttImageWidth:\n\t\tval, err := d.ifdUint(p)\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\td.features[int(tag)] = val\n\tcase tColorMap:\n\t\tval, err := d.ifdUint(p)\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\tnumcolors := len(val) / 3\n\t\tif len(val)%3 != 0 || numcolors <= 0 || numcolors > 256 {\n\t\t\treturn 0, FormatError(\"bad ColorMap length\")\n\t\t}\n\t\td.palette = make([]color.Color, numcolors)\n\t\tfor i := 0; i < numcolors; i++ {\n\t\t\td.palette[i] = color.RGBA64{\n\t\t\t\tuint16(val[i]),\n\t\t\t\tuint16(val[i+numcolors]),\n\t\t\t\tuint16(val[i+2*numcolors]),\n\t\t\t\t0xffff,\n\t\t\t}\n\t\t}\n\tcase tSampleFormat:\n\t\t// Page 27 of the spec: If the SampleFormat is present and\n\t\t// the value is not 1 [= unsigned integer data], a Baseline\n\t\t// TIFF reader that cannot handle the SampleFormat value\n\t\t// must terminate the import process gracefully.\n\t\tval, err := d.ifdUint(p)\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\tfor _, v := range val {\n\t\t\tif v != 1 {\n\t\t\t\treturn 0, UnsupportedError(\"sample format\")\n\t\t\t}\n\t\t}\n\t}\n\treturn int(tag), nil\n}\n\n// readBits reads n bits from the internal buffer starting at the current offset.\nfunc (d *decoder) readBits(n uint) (v uint32, ok bool) {\n\tfor d.nbits < n {\n\t\td.v <<= 8\n\t\tif d.off >= len(d.buf) {\n\t\t\treturn 0, false\n\t\t}\n\t\td.v |= uint32(d.buf[d.off])\n\t\td.off++\n\t\td.nbits += 8\n\t}\n\td.nbits -= n\n\trv := d.v >> d.nbits\n\td.v &^= rv << d.nbits\n\treturn rv, true\n}\n\n// flushBits discards the unread bits in the buffer used by readBits.\n// It is used at the end of a line.\nfunc (d *decoder) flushBits() {\n\td.v = 0\n\td.nbits = 0\n}\n\n// minInt returns the smaller of x or y.\nfunc minInt(a, b int) int {\n\tif a <= b {\n\t\treturn a\n\t}\n\treturn b\n}\n\n// decode decodes the raw data of an image.\n// It reads from d.buf and writes the strip or tile into dst.\nfunc (d *decoder) decode(dst image.Image, xmin, ymin, xmax, ymax int) error {\n\td.off = 0\n\n\t// Apply horizontal predictor if necessary.\n\t// In this case, p contains the color difference to the preceding pixel.\n\t// See page 64-65 of the spec.\n\tif d.firstVal(tPredictor) == prHorizontal {\n\t\tswitch d.bpp {\n\t\tcase 16:\n\t\t\tvar off int\n\t\t\tn := 2 * len(d.features[tBitsPerSample]) // bytes per sample times samples per pixel\n\t\t\tfor y := ymin; y < ymax; y++ {\n\t\t\t\toff += n\n\t\t\t\tfor x := 0; x < (xmax-xmin-1)*n; x += 2 {\n\t\t\t\t\tif off+2 > len(d.buf) {\n\t\t\t\t\t\treturn errNoPixels\n\t\t\t\t\t}\n\t\t\t\t\tv0 := d.byteOrder.Uint16(d.buf[off-n : off-n+2])\n\t\t\t\t\tv1 := d.byteOrder.Uint16(d.buf[off : off+2])\n\t\t\t\t\td.byteOrder.PutUint16(d.buf[off:off+2], v1+v0)\n\t\t\t\t\toff += 2\n\t\t\t\t}\n\t\t\t}\n\t\tcase 8:\n\t\t\tvar off int\n\t\t\tn := 1 * len(d.features[tBitsPerSample]) // bytes per sample times samples per pixel\n\t\t\tfor y := ymin; y < ymax; y++ {\n\t\t\t\toff += n\n\t\t\t\tfor x := 0; x < (xmax-xmin-1)*n; x++ {\n\t\t\t\t\tif off >= len(d.buf) {\n\t\t\t\t\t\treturn errNoPixels\n\t\t\t\t\t}\n\t\t\t\t\td.buf[off] += d.buf[off-n]\n\t\t\t\t\toff++\n\t\t\t\t}\n\t\t\t}\n\t\tcase 1:\n\t\t\treturn UnsupportedError(\"horizontal predictor with 1 BitsPerSample\")\n\t\t}\n\t}\n\n\trMaxX := minInt(xmax, dst.Bounds().Max.X)\n\trMaxY := minInt(ymax, dst.Bounds().Max.Y)\n\tswitch d.mode {\n\tcase mGray, mGrayInvert:\n\t\tif d.bpp == 16 {\n\t\t\timg := dst.(*image.Gray16)\n\t\t\tfor y := ymin; y < rMaxY; y++ {\n\t\t\t\tfor x := xmin; x < rMaxX; x++ {\n\t\t\t\t\tif d.off+2 > len(d.buf) {\n\t\t\t\t\t\treturn errNoPixels\n\t\t\t\t\t}\n\t\t\t\t\tv := d.byteOrder.Uint16(d.buf[d.off : d.off+2])\n\t\t\t\t\td.off += 2\n\t\t\t\t\tif d.mode == mGrayInvert {\n\t\t\t\t\t\tv = 0xffff - v\n\t\t\t\t\t}\n\t\t\t\t\timg.SetGray16(x, y, color.Gray16{v})\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\timg := dst.(*image.Gray)\n\t\t\tmax := uint32((1 << d.bpp) - 1)\n\t\t\tfor y := ymin; y < rMaxY; y++ {\n\t\t\t\tfor x := xmin; x < rMaxX; x++ {\n\t\t\t\t\tv, ok := d.readBits(d.bpp)\n\t\t\t\t\tif !ok {\n\t\t\t\t\t\treturn errNoPixels\n\t\t\t\t\t}\n\t\t\t\t\tv = v * 0xff / max\n\t\t\t\t\tif d.mode == mGrayInvert {\n\t\t\t\t\t\tv = 0xff - v\n\t\t\t\t\t}\n\t\t\t\t\timg.SetGray(x, y, color.Gray{uint8(v)})\n\t\t\t\t}\n\t\t\t\td.flushBits()\n\t\t\t}\n\t\t}\n\tcase mPaletted:\n\t\timg := dst.(*image.Paletted)\n\t\tfor y := ymin; y < rMaxY; y++ {\n\t\t\tfor x := xmin; x < rMaxX; x++ {\n\t\t\t\tv, ok := d.readBits(d.bpp)\n\t\t\t\tif !ok {\n\t\t\t\t\treturn errNoPixels\n\t\t\t\t}\n\t\t\t\timg.SetColorIndex(x, y, uint8(v))\n\t\t\t}\n\t\t\td.flushBits()\n\t\t}\n\tcase mRGB:\n\t\tif d.bpp == 16 {\n\t\t\timg := dst.(*image.RGBA64)\n\t\t\tfor y := ymin; y < rMaxY; y++ {\n\t\t\t\tfor x := xmin; x < rMaxX; x++ {\n\t\t\t\t\tif d.off+6 > len(d.buf) {\n\t\t\t\t\t\treturn errNoPixels\n\t\t\t\t\t}\n\t\t\t\t\tr := d.byteOrder.Uint16(d.buf[d.off+0 : d.off+2])\n\t\t\t\t\tg := d.byteOrder.Uint16(d.buf[d.off+2 : d.off+4])\n\t\t\t\t\tb := d.byteOrder.Uint16(d.buf[d.off+4 : d.off+6])\n\t\t\t\t\td.off += 6\n\t\t\t\t\timg.SetRGBA64(x, y, color.RGBA64{r, g, b, 0xffff})\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\timg := dst.(*image.RGBA)\n\t\t\tfor y := ymin; y < rMaxY; y++ {\n\t\t\t\tmin := img.PixOffset(xmin, y)\n\t\t\t\tmax := img.PixOffset(rMaxX, y)\n\t\t\t\toff := (y - ymin) * (xmax - xmin) * 3\n\t\t\t\tfor i := min; i < max; i += 4 {\n\t\t\t\t\tif off+3 > len(d.buf) {\n\t\t\t\t\t\treturn errNoPixels\n\t\t\t\t\t}\n\t\t\t\t\timg.Pix[i+0] = d.buf[off+0]\n\t\t\t\t\timg.Pix[i+1] = d.buf[off+1]\n\t\t\t\t\timg.Pix[i+2] = d.buf[off+2]\n\t\t\t\t\timg.Pix[i+3] = 0xff\n\t\t\t\t\toff += 3\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\tcase mNRGBA:\n\t\tif d.bpp == 16 {\n\t\t\timg := dst.(*image.NRGBA64)\n\t\t\tfor y := ymin; y < rMaxY; y++ {\n\t\t\t\tfor x := xmin; x < rMaxX; x++ {\n\t\t\t\t\tif d.off+8 > len(d.buf) {\n\t\t\t\t\t\treturn errNoPixels\n\t\t\t\t\t}\n\t\t\t\t\tr := d.byteOrder.Uint16(d.buf[d.off+0 : d.off+2])\n\t\t\t\t\tg := d.byteOrder.Uint16(d.buf[d.off+2 : d.off+4])\n\t\t\t\t\tb := d.byteOrder.Uint16(d.buf[d.off+4 : d.off+6])\n\t\t\t\t\ta := d.byteOrder.Uint16(d.buf[d.off+6 : d.off+8])\n\t\t\t\t\td.off += 8\n\t\t\t\t\timg.SetNRGBA64(x, y, color.NRGBA64{r, g, b, a})\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\timg := dst.(*image.NRGBA)\n\t\t\tfor y := ymin; y < rMaxY; y++ {\n\t\t\t\tmin := img.PixOffset(xmin, y)\n\t\t\t\tmax := img.PixOffset(rMaxX, y)\n\t\t\t\ti0, i1 := (y-ymin)*(xmax-xmin)*4, (y-ymin+1)*(xmax-xmin)*4\n\t\t\t\tif i1 > len(d.buf) {\n\t\t\t\t\treturn errNoPixels\n\t\t\t\t}\n\t\t\t\tcopy(img.Pix[min:max], d.buf[i0:i1])\n\t\t\t}\n\t\t}\n\tcase mRGBA:\n\t\tif d.bpp == 16 {\n\t\t\timg := dst.(*image.RGBA64)\n\t\t\tfor y := ymin; y < rMaxY; y++ {\n\t\t\t\tfor x := xmin; x < rMaxX; x++ {\n\t\t\t\t\tif d.off+8 > len(d.buf) {\n\t\t\t\t\t\treturn errNoPixels\n\t\t\t\t\t}\n\t\t\t\t\tr := d.byteOrder.Uint16(d.buf[d.off+0 : d.off+2])\n\t\t\t\t\tg := d.byteOrder.Uint16(d.buf[d.off+2 : d.off+4])\n\t\t\t\t\tb := d.byteOrder.Uint16(d.buf[d.off+4 : d.off+6])\n\t\t\t\t\ta := d.byteOrder.Uint16(d.buf[d.off+6 : d.off+8])\n\t\t\t\t\td.off += 8\n\t\t\t\t\timg.SetRGBA64(x, y, color.RGBA64{r, g, b, a})\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\timg := dst.(*image.RGBA)\n\t\t\tfor y := ymin; y < rMaxY; y++ {\n\t\t\t\tmin := img.PixOffset(xmin, y)\n\t\t\t\tmax := img.PixOffset(rMaxX, y)\n\t\t\t\ti0, i1 := (y-ymin)*(xmax-xmin)*4, (y-ymin+1)*(xmax-xmin)*4\n\t\t\t\tif i1 > len(d.buf) {\n\t\t\t\t\treturn errNoPixels\n\t\t\t\t}\n\t\t\t\tcopy(img.Pix[min:max], d.buf[i0:i1])\n\t\t\t}\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc newDecoder(r io.Reader) (*decoder, error) {\n\td := &decoder{\n\t\tr:        newReaderAt(r),\n\t\tfeatures: make(map[int][]uint),\n\t}\n\n\tp := make([]byte, 8)\n\tif _, err := d.r.ReadAt(p, 0); err != nil {\n\t\treturn nil, err\n\t}\n\tswitch string(p[0:4]) {\n\tcase leHeader:\n\t\td.byteOrder = binary.LittleEndian\n\tcase beHeader:\n\t\td.byteOrder = binary.BigEndian\n\tdefault:\n\t\treturn nil, FormatError(\"malformed header\")\n\t}\n\n\tifdOffset := int64(d.byteOrder.Uint32(p[4:8]))\n\n\t// The first two bytes contain the number of entries (12 bytes each).\n\tif _, err := d.r.ReadAt(p[0:2], ifdOffset); err != nil {\n\t\treturn nil, err\n\t}\n\tnumItems := int(d.byteOrder.Uint16(p[0:2]))\n\n\t// All IFD entries are read in one chunk.\n\tp = make([]byte, ifdLen*numItems)\n\tif _, err := d.r.ReadAt(p, ifdOffset+2); err != nil {\n\t\treturn nil, err\n\t}\n\n\tprevTag := -1\n\tfor i := 0; i < len(p); i += ifdLen {\n\t\ttag, err := d.parseIFD(p[i : i+ifdLen])\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tif tag <= prevTag {\n\t\t\treturn nil, FormatError(\"tags are not sorted in ascending order\")\n\t\t}\n\t\tprevTag = tag\n\t}\n\n\td.config.Width = int(d.firstVal(tImageWidth))\n\td.config.Height = int(d.firstVal(tImageLength))\n\n\tif _, ok := d.features[tBitsPerSample]; !ok {\n\t\treturn nil, FormatError(\"BitsPerSample tag missing\")\n\t}\n\td.bpp = d.firstVal(tBitsPerSample)\n\tswitch d.bpp {\n\tcase 0:\n\t\treturn nil, FormatError(\"BitsPerSample must not be 0\")\n\tcase 1, 8, 16:\n\t\t// Nothing to do, these are accepted by this implementation.\n\tdefault:\n\t\treturn nil, UnsupportedError(fmt.Sprintf(\"BitsPerSample of %v\", d.bpp))\n\t}\n\n\t// Determine the image mode.\n\tswitch d.firstVal(tPhotometricInterpretation) {\n\tcase pRGB:\n\t\tif d.bpp == 16 {\n\t\t\tfor _, b := range d.features[tBitsPerSample] {\n\t\t\t\tif b != 16 {\n\t\t\t\t\treturn nil, FormatError(\"wrong number of samples for 16bit RGB\")\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor _, b := range d.features[tBitsPerSample] {\n\t\t\t\tif b != 8 {\n\t\t\t\t\treturn nil, FormatError(\"wrong number of samples for 8bit RGB\")\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// RGB images normally have 3 samples per pixel.\n\t\t// If there are more, ExtraSamples (p. 31-32 of the spec)\n\t\t// gives their meaning (usually an alpha channel).\n\t\t//\n\t\t// This implementation does not support extra samples\n\t\t// of an unspecified type.\n\t\tswitch len(d.features[tBitsPerSample]) {\n\t\tcase 3:\n\t\t\td.mode = mRGB\n\t\t\tif d.bpp == 16 {\n\t\t\t\td.config.ColorModel = color.RGBA64Model\n\t\t\t} else {\n\t\t\t\td.config.ColorModel = color.RGBAModel\n\t\t\t}\n\t\tcase 4:\n\t\t\tswitch d.firstVal(tExtraSamples) {\n\t\t\tcase 1:\n\t\t\t\td.mode = mRGBA\n\t\t\t\tif d.bpp == 16 {\n\t\t\t\t\td.config.ColorModel = color.RGBA64Model\n\t\t\t\t} else {\n\t\t\t\t\td.config.ColorModel = color.RGBAModel\n\t\t\t\t}\n\t\t\tcase 2:\n\t\t\t\td.mode = mNRGBA\n\t\t\t\tif d.bpp == 16 {\n\t\t\t\t\td.config.ColorModel = color.NRGBA64Model\n\t\t\t\t} else {\n\t\t\t\t\td.config.ColorModel = color.NRGBAModel\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\treturn nil, FormatError(\"wrong number of samples for RGB\")\n\t\t\t}\n\t\tdefault:\n\t\t\treturn nil, FormatError(\"wrong number of samples for RGB\")\n\t\t}\n\tcase pPaletted:\n\t\td.mode = mPaletted\n\t\td.config.ColorModel = color.Palette(d.palette)\n\tcase pWhiteIsZero:\n\t\td.mode = mGrayInvert\n\t\tif d.bpp == 16 {\n\t\t\td.config.ColorModel = color.Gray16Model\n\t\t} else {\n\t\t\td.config.ColorModel = color.GrayModel\n\t\t}\n\tcase pBlackIsZero:\n\t\td.mode = mGray\n\t\tif d.bpp == 16 {\n\t\t\td.config.ColorModel = color.Gray16Model\n\t\t} else {\n\t\t\td.config.ColorModel = color.GrayModel\n\t\t}\n\tdefault:\n\t\treturn nil, UnsupportedError(\"color model\")\n\t}\n\n\treturn d, nil\n}\n\n// DecodeConfig returns the color model and dimensions of a TIFF image without\n// decoding the entire image.\nfunc DecodeConfig(r io.Reader) (image.Config, error) {\n\td, err := newDecoder(r)\n\tif err != nil {\n\t\treturn image.Config{}, err\n\t}\n\treturn d.config, nil\n}\n\n// Decode reads a TIFF image from r and returns it as an image.Image.\n// The type of Image returned depends on the contents of the TIFF.\nfunc Decode(r io.Reader) (img image.Image, err error) {\n\td, err := newDecoder(r)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tblockPadding := false\n\tblockWidth := d.config.Width\n\tblockHeight := d.config.Height\n\tblocksAcross := 1\n\tblocksDown := 1\n\n\tif d.config.Width == 0 {\n\t\tblocksAcross = 0\n\t}\n\tif d.config.Height == 0 {\n\t\tblocksDown = 0\n\t}\n\n\tvar blockOffsets, blockCounts []uint\n\n\tif int(d.firstVal(tTileWidth)) != 0 {\n\t\tblockPadding = true\n\n\t\tblockWidth = int(d.firstVal(tTileWidth))\n\t\tblockHeight = int(d.firstVal(tTileLength))\n\n\t\tif blockWidth != 0 {\n\t\t\tblocksAcross = (d.config.Width + blockWidth - 1) / blockWidth\n\t\t}\n\t\tif blockHeight != 0 {\n\t\t\tblocksDown = (d.config.Height + blockHeight - 1) / blockHeight\n\t\t}\n\n\t\tblockCounts = d.features[tTileByteCounts]\n\t\tblockOffsets = d.features[tTileOffsets]\n\n\t} else {\n\t\tif int(d.firstVal(tRowsPerStrip)) != 0 {\n\t\t\tblockHeight = int(d.firstVal(tRowsPerStrip))\n\t\t}\n\n\t\tif blockHeight != 0 {\n\t\t\tblocksDown = (d.config.Height + blockHeight - 1) / blockHeight\n\t\t}\n\n\t\tblockOffsets = d.features[tStripOffsets]\n\t\tblockCounts = d.features[tStripByteCounts]\n\t}\n\n\t// Check if we have the right number of strips/tiles, offsets and counts.\n\tif n := blocksAcross * blocksDown; len(blockOffsets) < n || len(blockCounts) < n {\n\t\treturn nil, FormatError(\"inconsistent header\")\n\t}\n\n\timgRect := image.Rect(0, 0, d.config.Width, d.config.Height)\n\tswitch d.mode {\n\tcase mGray, mGrayInvert:\n\t\tif d.bpp == 16 {\n\t\t\timg = image.NewGray16(imgRect)\n\t\t} else {\n\t\t\timg = image.NewGray(imgRect)\n\t\t}\n\tcase mPaletted:\n\t\timg = image.NewPaletted(imgRect, d.palette)\n\tcase mNRGBA:\n\t\tif d.bpp == 16 {\n\t\t\timg = image.NewNRGBA64(imgRect)\n\t\t} else {\n\t\t\timg = image.NewNRGBA(imgRect)\n\t\t}\n\tcase mRGB, mRGBA:\n\t\tif d.bpp == 16 {\n\t\t\timg = image.NewRGBA64(imgRect)\n\t\t} else {\n\t\t\timg = image.NewRGBA(imgRect)\n\t\t}\n\t}\n\n\tfor i := 0; i < blocksAcross; i++ {\n\t\tblkW := blockWidth\n\t\tif !blockPadding && i == blocksAcross-1 && d.config.Width%blockWidth != 0 {\n\t\t\tblkW = d.config.Width % blockWidth\n\t\t}\n\t\tfor j := 0; j < blocksDown; j++ {\n\t\t\tblkH := blockHeight\n\t\t\tif !blockPadding && j == blocksDown-1 && d.config.Height%blockHeight != 0 {\n\t\t\t\tblkH = d.config.Height % blockHeight\n\t\t\t}\n\t\t\toffset := int64(blockOffsets[j*blocksAcross+i])\n\t\t\tn := int64(blockCounts[j*blocksAcross+i])\n\t\t\tswitch d.firstVal(tCompression) {\n\n\t\t\t// According to the spec, Compression does not have a default value,\n\t\t\t// but some tools interpret a missing Compression value as none so we do\n\t\t\t// the same.\n\t\t\tcase cNone, 0:\n\t\t\t\tif b, ok := d.r.(*buffer); ok {\n\t\t\t\t\td.buf, err = b.Slice(int(offset), int(n))\n\t\t\t\t} else {\n\t\t\t\t\td.buf = make([]byte, n)\n\t\t\t\t\t_, err = d.r.ReadAt(d.buf, offset)\n\t\t\t\t}\n\t\t\tcase cLZW:\n\t\t\t\tr := lzw.NewReader(io.NewSectionReader(d.r, offset, n), lzw.MSB, 8)\n\t\t\t\td.buf, err = ioutil.ReadAll(r)\n\t\t\t\tr.Close()\n\t\t\tcase cDeflate, cDeflateOld:\n\t\t\t\tvar r io.ReadCloser\n\t\t\t\tr, err = zlib.NewReader(io.NewSectionReader(d.r, offset, n))\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\td.buf, err = ioutil.ReadAll(r)\n\t\t\t\tr.Close()\n\t\t\tcase cPackBits:\n\t\t\t\td.buf, err = unpackBits(io.NewSectionReader(d.r, offset, n))\n\t\t\tdefault:\n\t\t\t\terr = UnsupportedError(fmt.Sprintf(\"compression value %d\", d.firstVal(tCompression)))\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\n\t\t\txmin := i * blockWidth\n\t\t\tymin := j * blockHeight\n\t\t\txmax := xmin + blkW\n\t\t\tymax := ymin + blkH\n\t\t\terr = d.decode(img, xmin, ymin, xmax, ymax)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t}\n\treturn\n}\n\nfunc init() {\n\timage.RegisterFormat(\"tiff\", leHeader, Decode, DecodeConfig)\n\timage.RegisterFormat(\"tiff\", beHeader, Decode, DecodeConfig)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/image/tiff/writer.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage tiff\n\nimport (\n\t\"bytes\"\n\t\"compress/zlib\"\n\t\"encoding/binary\"\n\t\"image\"\n\t\"io\"\n\t\"sort\"\n)\n\n// The TIFF format allows to choose the order of the different elements freely.\n// The basic structure of a TIFF file written by this package is:\n//\n//   1. Header (8 bytes).\n//   2. Image data.\n//   3. Image File Directory (IFD).\n//   4. \"Pointer area\" for larger entries in the IFD.\n\n// We only write little-endian TIFF files.\nvar enc = binary.LittleEndian\n\n// An ifdEntry is a single entry in an Image File Directory.\n// A value of type dtRational is composed of two 32-bit values,\n// thus data contains two uints (numerator and denominator) for a single number.\ntype ifdEntry struct {\n\ttag      int\n\tdatatype int\n\tdata     []uint32\n}\n\nfunc (e ifdEntry) putData(p []byte) {\n\tfor _, d := range e.data {\n\t\tswitch e.datatype {\n\t\tcase dtByte, dtASCII:\n\t\t\tp[0] = byte(d)\n\t\t\tp = p[1:]\n\t\tcase dtShort:\n\t\t\tenc.PutUint16(p, uint16(d))\n\t\t\tp = p[2:]\n\t\tcase dtLong, dtRational:\n\t\t\tenc.PutUint32(p, uint32(d))\n\t\t\tp = p[4:]\n\t\t}\n\t}\n}\n\ntype byTag []ifdEntry\n\nfunc (d byTag) Len() int           { return len(d) }\nfunc (d byTag) Less(i, j int) bool { return d[i].tag < d[j].tag }\nfunc (d byTag) Swap(i, j int)      { d[i], d[j] = d[j], d[i] }\n\nfunc encodeGray(w io.Writer, pix []uint8, dx, dy, stride int, predictor bool) error {\n\tif !predictor {\n\t\treturn writePix(w, pix, dy, dx, stride)\n\t}\n\tbuf := make([]byte, dx)\n\tfor y := 0; y < dy; y++ {\n\t\tmin := y*stride + 0\n\t\tmax := y*stride + dx\n\t\toff := 0\n\t\tvar v0 uint8\n\t\tfor i := min; i < max; i++ {\n\t\t\tv1 := pix[i]\n\t\t\tbuf[off] = v1 - v0\n\t\t\tv0 = v1\n\t\t\toff++\n\t\t}\n\t\tif _, err := w.Write(buf); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc encodeGray16(w io.Writer, pix []uint8, dx, dy, stride int, predictor bool) error {\n\tbuf := make([]byte, dx*2)\n\tfor y := 0; y < dy; y++ {\n\t\tmin := y*stride + 0\n\t\tmax := y*stride + dx*2\n\t\toff := 0\n\t\tvar v0 uint16\n\t\tfor i := min; i < max; i += 2 {\n\t\t\t// An image.Gray16's Pix is in big-endian order.\n\t\t\tv1 := uint16(pix[i])<<8 | uint16(pix[i+1])\n\t\t\tif predictor {\n\t\t\t\tv0, v1 = v1, v1-v0\n\t\t\t}\n\t\t\t// We only write little-endian TIFF files.\n\t\t\tbuf[off+0] = byte(v1)\n\t\t\tbuf[off+1] = byte(v1 >> 8)\n\t\t\toff += 2\n\t\t}\n\t\tif _, err := w.Write(buf); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc encodeRGBA(w io.Writer, pix []uint8, dx, dy, stride int, predictor bool) error {\n\tif !predictor {\n\t\treturn writePix(w, pix, dy, dx*4, stride)\n\t}\n\tbuf := make([]byte, dx*4)\n\tfor y := 0; y < dy; y++ {\n\t\tmin := y*stride + 0\n\t\tmax := y*stride + dx*4\n\t\toff := 0\n\t\tvar r0, g0, b0, a0 uint8\n\t\tfor i := min; i < max; i += 4 {\n\t\t\tr1, g1, b1, a1 := pix[i+0], pix[i+1], pix[i+2], pix[i+3]\n\t\t\tbuf[off+0] = r1 - r0\n\t\t\tbuf[off+1] = g1 - g0\n\t\t\tbuf[off+2] = b1 - b0\n\t\t\tbuf[off+3] = a1 - a0\n\t\t\toff += 4\n\t\t\tr0, g0, b0, a0 = r1, g1, b1, a1\n\t\t}\n\t\tif _, err := w.Write(buf); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc encodeRGBA64(w io.Writer, pix []uint8, dx, dy, stride int, predictor bool) error {\n\tbuf := make([]byte, dx*8)\n\tfor y := 0; y < dy; y++ {\n\t\tmin := y*stride + 0\n\t\tmax := y*stride + dx*8\n\t\toff := 0\n\t\tvar r0, g0, b0, a0 uint16\n\t\tfor i := min; i < max; i += 8 {\n\t\t\t// An image.RGBA64's Pix is in big-endian order.\n\t\t\tr1 := uint16(pix[i+0])<<8 | uint16(pix[i+1])\n\t\t\tg1 := uint16(pix[i+2])<<8 | uint16(pix[i+3])\n\t\t\tb1 := uint16(pix[i+4])<<8 | uint16(pix[i+5])\n\t\t\ta1 := uint16(pix[i+6])<<8 | uint16(pix[i+7])\n\t\t\tif predictor {\n\t\t\t\tr0, r1 = r1, r1-r0\n\t\t\t\tg0, g1 = g1, g1-g0\n\t\t\t\tb0, b1 = b1, b1-b0\n\t\t\t\ta0, a1 = a1, a1-a0\n\t\t\t}\n\t\t\t// We only write little-endian TIFF files.\n\t\t\tbuf[off+0] = byte(r1)\n\t\t\tbuf[off+1] = byte(r1 >> 8)\n\t\t\tbuf[off+2] = byte(g1)\n\t\t\tbuf[off+3] = byte(g1 >> 8)\n\t\t\tbuf[off+4] = byte(b1)\n\t\t\tbuf[off+5] = byte(b1 >> 8)\n\t\t\tbuf[off+6] = byte(a1)\n\t\t\tbuf[off+7] = byte(a1 >> 8)\n\t\t\toff += 8\n\t\t}\n\t\tif _, err := w.Write(buf); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc encode(w io.Writer, m image.Image, predictor bool) error {\n\tbounds := m.Bounds()\n\tbuf := make([]byte, 4*bounds.Dx())\n\tfor y := bounds.Min.Y; y < bounds.Max.Y; y++ {\n\t\toff := 0\n\t\tif predictor {\n\t\t\tvar r0, g0, b0, a0 uint8\n\t\t\tfor x := bounds.Min.X; x < bounds.Max.X; x++ {\n\t\t\t\tr, g, b, a := m.At(x, y).RGBA()\n\t\t\t\tr1 := uint8(r >> 8)\n\t\t\t\tg1 := uint8(g >> 8)\n\t\t\t\tb1 := uint8(b >> 8)\n\t\t\t\ta1 := uint8(a >> 8)\n\t\t\t\tbuf[off+0] = r1 - r0\n\t\t\t\tbuf[off+1] = g1 - g0\n\t\t\t\tbuf[off+2] = b1 - b0\n\t\t\t\tbuf[off+3] = a1 - a0\n\t\t\t\toff += 4\n\t\t\t\tr0, g0, b0, a0 = r1, g1, b1, a1\n\t\t\t}\n\t\t} else {\n\t\t\tfor x := bounds.Min.X; x < bounds.Max.X; x++ {\n\t\t\t\tr, g, b, a := m.At(x, y).RGBA()\n\t\t\t\tbuf[off+0] = uint8(r >> 8)\n\t\t\t\tbuf[off+1] = uint8(g >> 8)\n\t\t\t\tbuf[off+2] = uint8(b >> 8)\n\t\t\t\tbuf[off+3] = uint8(a >> 8)\n\t\t\t\toff += 4\n\t\t\t}\n\t\t}\n\t\tif _, err := w.Write(buf); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\n// writePix writes the internal byte array of an image to w. It is less general\n// but much faster then encode. writePix is used when pix directly\n// corresponds to one of the TIFF image types.\nfunc writePix(w io.Writer, pix []byte, nrows, length, stride int) error {\n\tif length == stride {\n\t\t_, err := w.Write(pix[:nrows*length])\n\t\treturn err\n\t}\n\tfor ; nrows > 0; nrows-- {\n\t\tif _, err := w.Write(pix[:length]); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpix = pix[stride:]\n\t}\n\treturn nil\n}\n\nfunc writeIFD(w io.Writer, ifdOffset int, d []ifdEntry) error {\n\tvar buf [ifdLen]byte\n\t// Make space for \"pointer area\" containing IFD entry data\n\t// longer than 4 bytes.\n\tparea := make([]byte, 1024)\n\tpstart := ifdOffset + ifdLen*len(d) + 6\n\tvar o int // Current offset in parea.\n\n\t// The IFD has to be written with the tags in ascending order.\n\tsort.Sort(byTag(d))\n\n\t// Write the number of entries in this IFD.\n\tif err := binary.Write(w, enc, uint16(len(d))); err != nil {\n\t\treturn err\n\t}\n\tfor _, ent := range d {\n\t\tenc.PutUint16(buf[0:2], uint16(ent.tag))\n\t\tenc.PutUint16(buf[2:4], uint16(ent.datatype))\n\t\tcount := uint32(len(ent.data))\n\t\tif ent.datatype == dtRational {\n\t\t\tcount /= 2\n\t\t}\n\t\tenc.PutUint32(buf[4:8], count)\n\t\tdatalen := int(count * lengths[ent.datatype])\n\t\tif datalen <= 4 {\n\t\t\tent.putData(buf[8:12])\n\t\t} else {\n\t\t\tif (o + datalen) > len(parea) {\n\t\t\t\tnewlen := len(parea) + 1024\n\t\t\t\tfor (o + datalen) > newlen {\n\t\t\t\t\tnewlen += 1024\n\t\t\t\t}\n\t\t\t\tnewarea := make([]byte, newlen)\n\t\t\t\tcopy(newarea, parea)\n\t\t\t\tparea = newarea\n\t\t\t}\n\t\t\tent.putData(parea[o : o+datalen])\n\t\t\tenc.PutUint32(buf[8:12], uint32(pstart+o))\n\t\t\to += datalen\n\t\t}\n\t\tif _, err := w.Write(buf[:]); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\t// The IFD ends with the offset of the next IFD in the file,\n\t// or zero if it is the last one (page 14).\n\tif err := binary.Write(w, enc, uint32(0)); err != nil {\n\t\treturn err\n\t}\n\t_, err := w.Write(parea[:o])\n\treturn err\n}\n\n// Options are the encoding parameters.\ntype Options struct {\n\t// Compression is the type of compression used.\n\tCompression CompressionType\n\t// Predictor determines whether a differencing predictor is used;\n\t// if true, instead of each pixel's color, the color difference to the\n\t// preceding one is saved.  This improves the compression for certain\n\t// types of images and compressors. For example, it works well for\n\t// photos with Deflate compression.\n\tPredictor bool\n}\n\n// Encode writes the image m to w. opt determines the options used for\n// encoding, such as the compression type. If opt is nil, an uncompressed\n// image is written.\nfunc Encode(w io.Writer, m image.Image, opt *Options) error {\n\td := m.Bounds().Size()\n\n\tcompression := uint32(cNone)\n\tpredictor := false\n\tif opt != nil {\n\t\tcompression = opt.Compression.specValue()\n\t\t// The predictor field is only used with LZW. See page 64 of the spec.\n\t\tpredictor = opt.Predictor && compression == cLZW\n\t}\n\n\t_, err := io.WriteString(w, leHeader)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Compressed data is written into a buffer first, so that we\n\t// know the compressed size.\n\tvar buf bytes.Buffer\n\t// dst holds the destination for the pixel data of the image --\n\t// either w or a writer to buf.\n\tvar dst io.Writer\n\t// imageLen is the length of the pixel data in bytes.\n\t// The offset of the IFD is imageLen + 8 header bytes.\n\tvar imageLen int\n\n\tswitch compression {\n\tcase cNone:\n\t\tdst = w\n\t\t// Write IFD offset before outputting pixel data.\n\t\tswitch m.(type) {\n\t\tcase *image.Paletted:\n\t\t\timageLen = d.X * d.Y * 1\n\t\tcase *image.Gray:\n\t\t\timageLen = d.X * d.Y * 1\n\t\tcase *image.Gray16:\n\t\t\timageLen = d.X * d.Y * 2\n\t\tcase *image.RGBA64:\n\t\t\timageLen = d.X * d.Y * 8\n\t\tcase *image.NRGBA64:\n\t\t\timageLen = d.X * d.Y * 8\n\t\tdefault:\n\t\t\timageLen = d.X * d.Y * 4\n\t\t}\n\t\terr = binary.Write(w, enc, uint32(imageLen+8))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\tcase cDeflate:\n\t\tdst = zlib.NewWriter(&buf)\n\t}\n\n\tpr := uint32(prNone)\n\tphotometricInterpretation := uint32(pRGB)\n\tsamplesPerPixel := uint32(4)\n\tbitsPerSample := []uint32{8, 8, 8, 8}\n\textraSamples := uint32(0)\n\tcolorMap := []uint32{}\n\n\tif predictor {\n\t\tpr = prHorizontal\n\t}\n\tswitch m := m.(type) {\n\tcase *image.Paletted:\n\t\tphotometricInterpretation = pPaletted\n\t\tsamplesPerPixel = 1\n\t\tbitsPerSample = []uint32{8}\n\t\tcolorMap = make([]uint32, 256*3)\n\t\tfor i := 0; i < 256 && i < len(m.Palette); i++ {\n\t\t\tr, g, b, _ := m.Palette[i].RGBA()\n\t\t\tcolorMap[i+0*256] = uint32(r)\n\t\t\tcolorMap[i+1*256] = uint32(g)\n\t\t\tcolorMap[i+2*256] = uint32(b)\n\t\t}\n\t\terr = encodeGray(dst, m.Pix, d.X, d.Y, m.Stride, predictor)\n\tcase *image.Gray:\n\t\tphotometricInterpretation = pBlackIsZero\n\t\tsamplesPerPixel = 1\n\t\tbitsPerSample = []uint32{8}\n\t\terr = encodeGray(dst, m.Pix, d.X, d.Y, m.Stride, predictor)\n\tcase *image.Gray16:\n\t\tphotometricInterpretation = pBlackIsZero\n\t\tsamplesPerPixel = 1\n\t\tbitsPerSample = []uint32{16}\n\t\terr = encodeGray16(dst, m.Pix, d.X, d.Y, m.Stride, predictor)\n\tcase *image.NRGBA:\n\t\textraSamples = 2 // Unassociated alpha.\n\t\terr = encodeRGBA(dst, m.Pix, d.X, d.Y, m.Stride, predictor)\n\tcase *image.NRGBA64:\n\t\textraSamples = 2 // Unassociated alpha.\n\t\tbitsPerSample = []uint32{16, 16, 16, 16}\n\t\terr = encodeRGBA64(dst, m.Pix, d.X, d.Y, m.Stride, predictor)\n\tcase *image.RGBA:\n\t\textraSamples = 1 // Associated alpha.\n\t\terr = encodeRGBA(dst, m.Pix, d.X, d.Y, m.Stride, predictor)\n\tcase *image.RGBA64:\n\t\textraSamples = 1 // Associated alpha.\n\t\tbitsPerSample = []uint32{16, 16, 16, 16}\n\t\terr = encodeRGBA64(dst, m.Pix, d.X, d.Y, m.Stride, predictor)\n\tdefault:\n\t\textraSamples = 1 // Associated alpha.\n\t\terr = encode(dst, m, predictor)\n\t}\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif compression != cNone {\n\t\tif err = dst.(io.Closer).Close(); err != nil {\n\t\t\treturn err\n\t\t}\n\t\timageLen = buf.Len()\n\t\tif err = binary.Write(w, enc, uint32(imageLen+8)); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif _, err = buf.WriteTo(w); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tifd := []ifdEntry{\n\t\t{tImageWidth, dtShort, []uint32{uint32(d.X)}},\n\t\t{tImageLength, dtShort, []uint32{uint32(d.Y)}},\n\t\t{tBitsPerSample, dtShort, bitsPerSample},\n\t\t{tCompression, dtShort, []uint32{compression}},\n\t\t{tPhotometricInterpretation, dtShort, []uint32{photometricInterpretation}},\n\t\t{tStripOffsets, dtLong, []uint32{8}},\n\t\t{tSamplesPerPixel, dtShort, []uint32{samplesPerPixel}},\n\t\t{tRowsPerStrip, dtShort, []uint32{uint32(d.Y)}},\n\t\t{tStripByteCounts, dtLong, []uint32{uint32(imageLen)}},\n\t\t// There is currently no support for storing the image\n\t\t// resolution, so give a bogus value of 72x72 dpi.\n\t\t{tXResolution, dtRational, []uint32{72, 1}},\n\t\t{tYResolution, dtRational, []uint32{72, 1}},\n\t\t{tResolutionUnit, dtShort, []uint32{resPerInch}},\n\t}\n\tif pr != prNone {\n\t\tifd = append(ifd, ifdEntry{tPredictor, dtShort, []uint32{pr}})\n\t}\n\tif len(colorMap) != 0 {\n\t\tifd = append(ifd, ifdEntry{tColorMap, dtShort, colorMap})\n\t}\n\tif extraSamples > 0 {\n\t\tifd = append(ifd, ifdEntry{tExtraSamples, dtShort, []uint32{extraSamples}})\n\t}\n\n\treturn writeIFD(w, imageLen+8, ifd)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/LICENSE",
    "content": "Copyright (c) 2009 The Go Authors. 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\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/golang.org/x/net/PATENTS",
    "content": "Additional IP Rights Grant (Patents)\n\n\"This implementation\" means the copyrightable works distributed by\nGoogle as part of the Go project.\n\nGoogle hereby grants to You a perpetual, worldwide, non-exclusive,\nno-charge, royalty-free, irrevocable (except as stated in this section)\npatent license to make, have made, use, offer to sell, sell, import,\ntransfer and otherwise run, modify and propagate the contents of this\nimplementation of Go, where such license applies only to those patent\nclaims, both currently owned or controlled by Google and acquired in\nthe future, licensable by Google that are necessarily infringed by this\nimplementation of Go.  This grant does not include claims that would be\ninfringed only as a consequence of further modification of this\nimplementation.  If you or your agent or exclusive licensee institute or\norder or agree to the institution of patent litigation against any\nentity (including a cross-claim or counterclaim in a lawsuit) alleging\nthat this implementation of Go or any code incorporated within this\nimplementation of Go constitutes direct or contributory patent\ninfringement, or inducement of patent infringement, then any patent\nrights granted to you under this License for this implementation of Go\nshall terminate as of the date such litigation is filed.\n"
  },
  {
    "path": "vendor/golang.org/x/net/context/context.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package context defines the Context type, which carries deadlines,\n// cancelation signals, and other request-scoped values across API boundaries\n// and between processes.\n// As of Go 1.7 this package is available in the standard library under the\n// name context.  https://golang.org/pkg/context.\n//\n// Incoming requests to a server should create a Context, and outgoing calls to\n// servers should accept a Context. The chain of function calls between must\n// propagate the Context, optionally replacing it with a modified copy created\n// using WithDeadline, WithTimeout, WithCancel, or WithValue.\n//\n// Programs that use Contexts should follow these rules to keep interfaces\n// consistent across packages and enable static analysis tools to check context\n// propagation:\n//\n// Do not store Contexts inside a struct type; instead, pass a Context\n// explicitly to each function that needs it. The Context should be the first\n// parameter, typically named ctx:\n//\n// \tfunc DoSomething(ctx context.Context, arg Arg) error {\n// \t\t// ... use ctx ...\n// \t}\n//\n// Do not pass a nil Context, even if a function permits it. Pass context.TODO\n// if you are unsure about which Context to use.\n//\n// Use context Values only for request-scoped data that transits processes and\n// APIs, not for passing optional parameters to functions.\n//\n// The same Context may be passed to functions running in different goroutines;\n// Contexts are safe for simultaneous use by multiple goroutines.\n//\n// See http://blog.golang.org/context for example code for a server that uses\n// Contexts.\npackage context // import \"golang.org/x/net/context\"\n\n// Background returns a non-nil, empty Context. It is never canceled, has no\n// values, and has no deadline. It is typically used by the main function,\n// initialization, and tests, and as the top-level Context for incoming\n// requests.\nfunc Background() Context {\n\treturn background\n}\n\n// TODO returns a non-nil, empty Context. Code should use context.TODO when\n// it's unclear which Context to use or it is not yet available (because the\n// surrounding function has not yet been extended to accept a Context\n// parameter).  TODO is recognized by static analysis tools that determine\n// whether Contexts are propagated correctly in a program.\nfunc TODO() Context {\n\treturn todo\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.7\n\n// Package ctxhttp provides helper functions for performing context-aware HTTP requests.\npackage ctxhttp // import \"golang.org/x/net/context/ctxhttp\"\n\nimport (\n\t\"io\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"strings\"\n\n\t\"golang.org/x/net/context\"\n)\n\n// Do sends an HTTP request with the provided http.Client and returns\n// an HTTP response.\n//\n// If the client is nil, http.DefaultClient is used.\n//\n// The provided ctx must be non-nil. If it is canceled or times out,\n// ctx.Err() will be returned.\nfunc Do(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error) {\n\tif client == nil {\n\t\tclient = http.DefaultClient\n\t}\n\tresp, err := client.Do(req.WithContext(ctx))\n\t// If we got an error, and the context has been canceled,\n\t// the context's error is probably more useful.\n\tif err != nil {\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\terr = ctx.Err()\n\t\tdefault:\n\t\t}\n\t}\n\treturn resp, err\n}\n\n// Get issues a GET request via the Do function.\nfunc Get(ctx context.Context, client *http.Client, url string) (*http.Response, error) {\n\treq, err := http.NewRequest(\"GET\", url, nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn Do(ctx, client, req)\n}\n\n// Head issues a HEAD request via the Do function.\nfunc Head(ctx context.Context, client *http.Client, url string) (*http.Response, error) {\n\treq, err := http.NewRequest(\"HEAD\", url, nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn Do(ctx, client, req)\n}\n\n// Post issues a POST request via the Do function.\nfunc Post(ctx context.Context, client *http.Client, url string, bodyType string, body io.Reader) (*http.Response, error) {\n\treq, err := http.NewRequest(\"POST\", url, body)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treq.Header.Set(\"Content-Type\", bodyType)\n\treturn Do(ctx, client, req)\n}\n\n// PostForm issues a POST request via the Do function.\nfunc PostForm(ctx context.Context, client *http.Client, url string, data url.Values) (*http.Response, error) {\n\treturn Post(ctx, client, url, \"application/x-www-form-urlencoded\", strings.NewReader(data.Encode()))\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/context/ctxhttp/ctxhttp_pre17.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.7\n\npackage ctxhttp // import \"golang.org/x/net/context/ctxhttp\"\n\nimport (\n\t\"io\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"strings\"\n\n\t\"golang.org/x/net/context\"\n)\n\nfunc nop() {}\n\nvar (\n\ttestHookContextDoneBeforeHeaders = nop\n\ttestHookDoReturned               = nop\n\ttestHookDidBodyClose             = nop\n)\n\n// Do sends an HTTP request with the provided http.Client and returns an HTTP response.\n// If the client is nil, http.DefaultClient is used.\n// If the context is canceled or times out, ctx.Err() will be returned.\nfunc Do(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error) {\n\tif client == nil {\n\t\tclient = http.DefaultClient\n\t}\n\n\t// TODO(djd): Respect any existing value of req.Cancel.\n\tcancel := make(chan struct{})\n\treq.Cancel = cancel\n\n\ttype responseAndError struct {\n\t\tresp *http.Response\n\t\terr  error\n\t}\n\tresult := make(chan responseAndError, 1)\n\n\t// Make local copies of test hooks closed over by goroutines below.\n\t// Prevents data races in tests.\n\ttestHookDoReturned := testHookDoReturned\n\ttestHookDidBodyClose := testHookDidBodyClose\n\n\tgo func() {\n\t\tresp, err := client.Do(req)\n\t\ttestHookDoReturned()\n\t\tresult <- responseAndError{resp, err}\n\t}()\n\n\tvar resp *http.Response\n\n\tselect {\n\tcase <-ctx.Done():\n\t\ttestHookContextDoneBeforeHeaders()\n\t\tclose(cancel)\n\t\t// Clean up after the goroutine calling client.Do:\n\t\tgo func() {\n\t\t\tif r := <-result; r.resp != nil {\n\t\t\t\ttestHookDidBodyClose()\n\t\t\t\tr.resp.Body.Close()\n\t\t\t}\n\t\t}()\n\t\treturn nil, ctx.Err()\n\tcase r := <-result:\n\t\tvar err error\n\t\tresp, err = r.resp, r.err\n\t\tif err != nil {\n\t\t\treturn resp, err\n\t\t}\n\t}\n\n\tc := make(chan struct{})\n\tgo func() {\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\tclose(cancel)\n\t\tcase <-c:\n\t\t\t// The response's Body is closed.\n\t\t}\n\t}()\n\tresp.Body = &notifyingReader{resp.Body, c}\n\n\treturn resp, nil\n}\n\n// Get issues a GET request via the Do function.\nfunc Get(ctx context.Context, client *http.Client, url string) (*http.Response, error) {\n\treq, err := http.NewRequest(\"GET\", url, nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn Do(ctx, client, req)\n}\n\n// Head issues a HEAD request via the Do function.\nfunc Head(ctx context.Context, client *http.Client, url string) (*http.Response, error) {\n\treq, err := http.NewRequest(\"HEAD\", url, nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn Do(ctx, client, req)\n}\n\n// Post issues a POST request via the Do function.\nfunc Post(ctx context.Context, client *http.Client, url string, bodyType string, body io.Reader) (*http.Response, error) {\n\treq, err := http.NewRequest(\"POST\", url, body)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treq.Header.Set(\"Content-Type\", bodyType)\n\treturn Do(ctx, client, req)\n}\n\n// PostForm issues a POST request via the Do function.\nfunc PostForm(ctx context.Context, client *http.Client, url string, data url.Values) (*http.Response, error) {\n\treturn Post(ctx, client, url, \"application/x-www-form-urlencoded\", strings.NewReader(data.Encode()))\n}\n\n// notifyingReader is an io.ReadCloser that closes the notify channel after\n// Close is called or a Read fails on the underlying ReadCloser.\ntype notifyingReader struct {\n\tio.ReadCloser\n\tnotify chan<- struct{}\n}\n\nfunc (r *notifyingReader) Read(p []byte) (int, error) {\n\tn, err := r.ReadCloser.Read(p)\n\tif err != nil && r.notify != nil {\n\t\tclose(r.notify)\n\t\tr.notify = nil\n\t}\n\treturn n, err\n}\n\nfunc (r *notifyingReader) Close() error {\n\terr := r.ReadCloser.Close()\n\tif r.notify != nil {\n\t\tclose(r.notify)\n\t\tr.notify = nil\n\t}\n\treturn err\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/context/go17.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.7\n\npackage context\n\nimport (\n\t\"context\" // standard library's context, as of Go 1.7\n\t\"time\"\n)\n\nvar (\n\ttodo       = context.TODO()\n\tbackground = context.Background()\n)\n\n// Canceled is the error returned by Context.Err when the context is canceled.\nvar Canceled = context.Canceled\n\n// DeadlineExceeded is the error returned by Context.Err when the context's\n// deadline passes.\nvar DeadlineExceeded = context.DeadlineExceeded\n\n// WithCancel returns a copy of parent with a new Done channel. The returned\n// context's Done channel is closed when the returned cancel function is called\n// or when the parent context's Done channel is closed, whichever happens first.\n//\n// Canceling this context releases resources associated with it, so code should\n// call cancel as soon as the operations running in this Context complete.\nfunc WithCancel(parent Context) (ctx Context, cancel CancelFunc) {\n\tctx, f := context.WithCancel(parent)\n\treturn ctx, CancelFunc(f)\n}\n\n// WithDeadline returns a copy of the parent context with the deadline adjusted\n// to be no later than d. If the parent's deadline is already earlier than d,\n// WithDeadline(parent, d) is semantically equivalent to parent. The returned\n// context's Done channel is closed when the deadline expires, when the returned\n// cancel function is called, or when the parent context's Done channel is\n// closed, whichever happens first.\n//\n// Canceling this context releases resources associated with it, so code should\n// call cancel as soon as the operations running in this Context complete.\nfunc WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) {\n\tctx, f := context.WithDeadline(parent, deadline)\n\treturn ctx, CancelFunc(f)\n}\n\n// WithTimeout returns WithDeadline(parent, time.Now().Add(timeout)).\n//\n// Canceling this context releases resources associated with it, so code should\n// call cancel as soon as the operations running in this Context complete:\n//\n// \tfunc slowOperationWithTimeout(ctx context.Context) (Result, error) {\n// \t\tctx, cancel := context.WithTimeout(ctx, 100*time.Millisecond)\n// \t\tdefer cancel()  // releases resources if slowOperation completes before timeout elapses\n// \t\treturn slowOperation(ctx)\n// \t}\nfunc WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) {\n\treturn WithDeadline(parent, time.Now().Add(timeout))\n}\n\n// WithValue returns a copy of parent in which the value associated with key is\n// val.\n//\n// Use context Values only for request-scoped data that transits processes and\n// APIs, not for passing optional parameters to functions.\nfunc WithValue(parent Context, key interface{}, val interface{}) Context {\n\treturn context.WithValue(parent, key, val)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/context/go19.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.9\n\npackage context\n\nimport \"context\" // standard library's context, as of Go 1.7\n\n// A Context carries a deadline, a cancelation signal, and other values across\n// API boundaries.\n//\n// Context's methods may be called by multiple goroutines simultaneously.\ntype Context = context.Context\n\n// A CancelFunc tells an operation to abandon its work.\n// A CancelFunc does not wait for the work to stop.\n// After the first call, subsequent calls to a CancelFunc do nothing.\ntype CancelFunc = context.CancelFunc\n"
  },
  {
    "path": "vendor/golang.org/x/net/context/pre_go17.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.7\n\npackage context\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"sync\"\n\t\"time\"\n)\n\n// An emptyCtx is never canceled, has no values, and has no deadline. It is not\n// struct{}, since vars of this type must have distinct addresses.\ntype emptyCtx int\n\nfunc (*emptyCtx) Deadline() (deadline time.Time, ok bool) {\n\treturn\n}\n\nfunc (*emptyCtx) Done() <-chan struct{} {\n\treturn nil\n}\n\nfunc (*emptyCtx) Err() error {\n\treturn nil\n}\n\nfunc (*emptyCtx) Value(key interface{}) interface{} {\n\treturn nil\n}\n\nfunc (e *emptyCtx) String() string {\n\tswitch e {\n\tcase background:\n\t\treturn \"context.Background\"\n\tcase todo:\n\t\treturn \"context.TODO\"\n\t}\n\treturn \"unknown empty Context\"\n}\n\nvar (\n\tbackground = new(emptyCtx)\n\ttodo       = new(emptyCtx)\n)\n\n// Canceled is the error returned by Context.Err when the context is canceled.\nvar Canceled = errors.New(\"context canceled\")\n\n// DeadlineExceeded is the error returned by Context.Err when the context's\n// deadline passes.\nvar DeadlineExceeded = errors.New(\"context deadline exceeded\")\n\n// WithCancel returns a copy of parent with a new Done channel. The returned\n// context's Done channel is closed when the returned cancel function is called\n// or when the parent context's Done channel is closed, whichever happens first.\n//\n// Canceling this context releases resources associated with it, so code should\n// call cancel as soon as the operations running in this Context complete.\nfunc WithCancel(parent Context) (ctx Context, cancel CancelFunc) {\n\tc := newCancelCtx(parent)\n\tpropagateCancel(parent, c)\n\treturn c, func() { c.cancel(true, Canceled) }\n}\n\n// newCancelCtx returns an initialized cancelCtx.\nfunc newCancelCtx(parent Context) *cancelCtx {\n\treturn &cancelCtx{\n\t\tContext: parent,\n\t\tdone:    make(chan struct{}),\n\t}\n}\n\n// propagateCancel arranges for child to be canceled when parent is.\nfunc propagateCancel(parent Context, child canceler) {\n\tif parent.Done() == nil {\n\t\treturn // parent is never canceled\n\t}\n\tif p, ok := parentCancelCtx(parent); ok {\n\t\tp.mu.Lock()\n\t\tif p.err != nil {\n\t\t\t// parent has already been canceled\n\t\t\tchild.cancel(false, p.err)\n\t\t} else {\n\t\t\tif p.children == nil {\n\t\t\t\tp.children = make(map[canceler]bool)\n\t\t\t}\n\t\t\tp.children[child] = true\n\t\t}\n\t\tp.mu.Unlock()\n\t} else {\n\t\tgo func() {\n\t\t\tselect {\n\t\t\tcase <-parent.Done():\n\t\t\t\tchild.cancel(false, parent.Err())\n\t\t\tcase <-child.Done():\n\t\t\t}\n\t\t}()\n\t}\n}\n\n// parentCancelCtx follows a chain of parent references until it finds a\n// *cancelCtx. This function understands how each of the concrete types in this\n// package represents its parent.\nfunc parentCancelCtx(parent Context) (*cancelCtx, bool) {\n\tfor {\n\t\tswitch c := parent.(type) {\n\t\tcase *cancelCtx:\n\t\t\treturn c, true\n\t\tcase *timerCtx:\n\t\t\treturn c.cancelCtx, true\n\t\tcase *valueCtx:\n\t\t\tparent = c.Context\n\t\tdefault:\n\t\t\treturn nil, false\n\t\t}\n\t}\n}\n\n// removeChild removes a context from its parent.\nfunc removeChild(parent Context, child canceler) {\n\tp, ok := parentCancelCtx(parent)\n\tif !ok {\n\t\treturn\n\t}\n\tp.mu.Lock()\n\tif p.children != nil {\n\t\tdelete(p.children, child)\n\t}\n\tp.mu.Unlock()\n}\n\n// A canceler is a context type that can be canceled directly. The\n// implementations are *cancelCtx and *timerCtx.\ntype canceler interface {\n\tcancel(removeFromParent bool, err error)\n\tDone() <-chan struct{}\n}\n\n// A cancelCtx can be canceled. When canceled, it also cancels any children\n// that implement canceler.\ntype cancelCtx struct {\n\tContext\n\n\tdone chan struct{} // closed by the first cancel call.\n\n\tmu       sync.Mutex\n\tchildren map[canceler]bool // set to nil by the first cancel call\n\terr      error             // set to non-nil by the first cancel call\n}\n\nfunc (c *cancelCtx) Done() <-chan struct{} {\n\treturn c.done\n}\n\nfunc (c *cancelCtx) Err() error {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\treturn c.err\n}\n\nfunc (c *cancelCtx) String() string {\n\treturn fmt.Sprintf(\"%v.WithCancel\", c.Context)\n}\n\n// cancel closes c.done, cancels each of c's children, and, if\n// removeFromParent is true, removes c from its parent's children.\nfunc (c *cancelCtx) cancel(removeFromParent bool, err error) {\n\tif err == nil {\n\t\tpanic(\"context: internal error: missing cancel error\")\n\t}\n\tc.mu.Lock()\n\tif c.err != nil {\n\t\tc.mu.Unlock()\n\t\treturn // already canceled\n\t}\n\tc.err = err\n\tclose(c.done)\n\tfor child := range c.children {\n\t\t// NOTE: acquiring the child's lock while holding parent's lock.\n\t\tchild.cancel(false, err)\n\t}\n\tc.children = nil\n\tc.mu.Unlock()\n\n\tif removeFromParent {\n\t\tremoveChild(c.Context, c)\n\t}\n}\n\n// WithDeadline returns a copy of the parent context with the deadline adjusted\n// to be no later than d. If the parent's deadline is already earlier than d,\n// WithDeadline(parent, d) is semantically equivalent to parent. The returned\n// context's Done channel is closed when the deadline expires, when the returned\n// cancel function is called, or when the parent context's Done channel is\n// closed, whichever happens first.\n//\n// Canceling this context releases resources associated with it, so code should\n// call cancel as soon as the operations running in this Context complete.\nfunc WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) {\n\tif cur, ok := parent.Deadline(); ok && cur.Before(deadline) {\n\t\t// The current deadline is already sooner than the new one.\n\t\treturn WithCancel(parent)\n\t}\n\tc := &timerCtx{\n\t\tcancelCtx: newCancelCtx(parent),\n\t\tdeadline:  deadline,\n\t}\n\tpropagateCancel(parent, c)\n\td := deadline.Sub(time.Now())\n\tif d <= 0 {\n\t\tc.cancel(true, DeadlineExceeded) // deadline has already passed\n\t\treturn c, func() { c.cancel(true, Canceled) }\n\t}\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\tif c.err == nil {\n\t\tc.timer = time.AfterFunc(d, func() {\n\t\t\tc.cancel(true, DeadlineExceeded)\n\t\t})\n\t}\n\treturn c, func() { c.cancel(true, Canceled) }\n}\n\n// A timerCtx carries a timer and a deadline. It embeds a cancelCtx to\n// implement Done and Err. It implements cancel by stopping its timer then\n// delegating to cancelCtx.cancel.\ntype timerCtx struct {\n\t*cancelCtx\n\ttimer *time.Timer // Under cancelCtx.mu.\n\n\tdeadline time.Time\n}\n\nfunc (c *timerCtx) Deadline() (deadline time.Time, ok bool) {\n\treturn c.deadline, true\n}\n\nfunc (c *timerCtx) String() string {\n\treturn fmt.Sprintf(\"%v.WithDeadline(%s [%s])\", c.cancelCtx.Context, c.deadline, c.deadline.Sub(time.Now()))\n}\n\nfunc (c *timerCtx) cancel(removeFromParent bool, err error) {\n\tc.cancelCtx.cancel(false, err)\n\tif removeFromParent {\n\t\t// Remove this timerCtx from its parent cancelCtx's children.\n\t\tremoveChild(c.cancelCtx.Context, c)\n\t}\n\tc.mu.Lock()\n\tif c.timer != nil {\n\t\tc.timer.Stop()\n\t\tc.timer = nil\n\t}\n\tc.mu.Unlock()\n}\n\n// WithTimeout returns WithDeadline(parent, time.Now().Add(timeout)).\n//\n// Canceling this context releases resources associated with it, so code should\n// call cancel as soon as the operations running in this Context complete:\n//\n// \tfunc slowOperationWithTimeout(ctx context.Context) (Result, error) {\n// \t\tctx, cancel := context.WithTimeout(ctx, 100*time.Millisecond)\n// \t\tdefer cancel()  // releases resources if slowOperation completes before timeout elapses\n// \t\treturn slowOperation(ctx)\n// \t}\nfunc WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) {\n\treturn WithDeadline(parent, time.Now().Add(timeout))\n}\n\n// WithValue returns a copy of parent in which the value associated with key is\n// val.\n//\n// Use context Values only for request-scoped data that transits processes and\n// APIs, not for passing optional parameters to functions.\nfunc WithValue(parent Context, key interface{}, val interface{}) Context {\n\treturn &valueCtx{parent, key, val}\n}\n\n// A valueCtx carries a key-value pair. It implements Value for that key and\n// delegates all other calls to the embedded Context.\ntype valueCtx struct {\n\tContext\n\tkey, val interface{}\n}\n\nfunc (c *valueCtx) String() string {\n\treturn fmt.Sprintf(\"%v.WithValue(%#v, %#v)\", c.Context, c.key, c.val)\n}\n\nfunc (c *valueCtx) Value(key interface{}) interface{} {\n\tif c.key == key {\n\t\treturn c.val\n\t}\n\treturn c.Context.Value(key)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/context/pre_go19.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.9\n\npackage context\n\nimport \"time\"\n\n// A Context carries a deadline, a cancelation signal, and other values across\n// API boundaries.\n//\n// Context's methods may be called by multiple goroutines simultaneously.\ntype Context interface {\n\t// Deadline returns the time when work done on behalf of this context\n\t// should be canceled. Deadline returns ok==false when no deadline is\n\t// set. Successive calls to Deadline return the same results.\n\tDeadline() (deadline time.Time, ok bool)\n\n\t// Done returns a channel that's closed when work done on behalf of this\n\t// context should be canceled. Done may return nil if this context can\n\t// never be canceled. Successive calls to Done return the same value.\n\t//\n\t// WithCancel arranges for Done to be closed when cancel is called;\n\t// WithDeadline arranges for Done to be closed when the deadline\n\t// expires; WithTimeout arranges for Done to be closed when the timeout\n\t// elapses.\n\t//\n\t// Done is provided for use in select statements:\n\t//\n\t//  // Stream generates values with DoSomething and sends them to out\n\t//  // until DoSomething returns an error or ctx.Done is closed.\n\t//  func Stream(ctx context.Context, out chan<- Value) error {\n\t//  \tfor {\n\t//  \t\tv, err := DoSomething(ctx)\n\t//  \t\tif err != nil {\n\t//  \t\t\treturn err\n\t//  \t\t}\n\t//  \t\tselect {\n\t//  \t\tcase <-ctx.Done():\n\t//  \t\t\treturn ctx.Err()\n\t//  \t\tcase out <- v:\n\t//  \t\t}\n\t//  \t}\n\t//  }\n\t//\n\t// See http://blog.golang.org/pipelines for more examples of how to use\n\t// a Done channel for cancelation.\n\tDone() <-chan struct{}\n\n\t// Err returns a non-nil error value after Done is closed. Err returns\n\t// Canceled if the context was canceled or DeadlineExceeded if the\n\t// context's deadline passed. No other values for Err are defined.\n\t// After Done is closed, successive calls to Err return the same value.\n\tErr() error\n\n\t// Value returns the value associated with this context for key, or nil\n\t// if no value is associated with key. Successive calls to Value with\n\t// the same key returns the same result.\n\t//\n\t// Use context values only for request-scoped data that transits\n\t// processes and API boundaries, not for passing optional parameters to\n\t// functions.\n\t//\n\t// A key identifies a specific value in a Context. Functions that wish\n\t// to store values in Context typically allocate a key in a global\n\t// variable then use that key as the argument to context.WithValue and\n\t// Context.Value. A key can be any type that supports equality;\n\t// packages should define keys as an unexported type to avoid\n\t// collisions.\n\t//\n\t// Packages that define a Context key should provide type-safe accessors\n\t// for the values stores using that key:\n\t//\n\t// \t// Package user defines a User type that's stored in Contexts.\n\t// \tpackage user\n\t//\n\t// \timport \"golang.org/x/net/context\"\n\t//\n\t// \t// User is the type of value stored in the Contexts.\n\t// \ttype User struct {...}\n\t//\n\t// \t// key is an unexported type for keys defined in this package.\n\t// \t// This prevents collisions with keys defined in other packages.\n\t// \ttype key int\n\t//\n\t// \t// userKey is the key for user.User values in Contexts. It is\n\t// \t// unexported; clients use user.NewContext and user.FromContext\n\t// \t// instead of using this key directly.\n\t// \tvar userKey key = 0\n\t//\n\t// \t// NewContext returns a new Context that carries value u.\n\t// \tfunc NewContext(ctx context.Context, u *User) context.Context {\n\t// \t\treturn context.WithValue(ctx, userKey, u)\n\t// \t}\n\t//\n\t// \t// FromContext returns the User value stored in ctx, if any.\n\t// \tfunc FromContext(ctx context.Context) (*User, bool) {\n\t// \t\tu, ok := ctx.Value(userKey).(*User)\n\t// \t\treturn u, ok\n\t// \t}\n\tValue(key interface{}) interface{}\n}\n\n// A CancelFunc tells an operation to abandon its work.\n// A CancelFunc does not wait for the work to stop.\n// After the first call, subsequent calls to a CancelFunc do nothing.\ntype CancelFunc func()\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/ciphers.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\n// A list of the possible cipher suite ids. Taken from\n// http://www.iana.org/assignments/tls-parameters/tls-parameters.txt\n\nconst (\n\tcipher_TLS_NULL_WITH_NULL_NULL               uint16 = 0x0000\n\tcipher_TLS_RSA_WITH_NULL_MD5                 uint16 = 0x0001\n\tcipher_TLS_RSA_WITH_NULL_SHA                 uint16 = 0x0002\n\tcipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5        uint16 = 0x0003\n\tcipher_TLS_RSA_WITH_RC4_128_MD5              uint16 = 0x0004\n\tcipher_TLS_RSA_WITH_RC4_128_SHA              uint16 = 0x0005\n\tcipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5    uint16 = 0x0006\n\tcipher_TLS_RSA_WITH_IDEA_CBC_SHA             uint16 = 0x0007\n\tcipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA     uint16 = 0x0008\n\tcipher_TLS_RSA_WITH_DES_CBC_SHA              uint16 = 0x0009\n\tcipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA         uint16 = 0x000A\n\tcipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA  uint16 = 0x000B\n\tcipher_TLS_DH_DSS_WITH_DES_CBC_SHA           uint16 = 0x000C\n\tcipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA      uint16 = 0x000D\n\tcipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA  uint16 = 0x000E\n\tcipher_TLS_DH_RSA_WITH_DES_CBC_SHA           uint16 = 0x000F\n\tcipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA      uint16 = 0x0010\n\tcipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0011\n\tcipher_TLS_DHE_DSS_WITH_DES_CBC_SHA          uint16 = 0x0012\n\tcipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA     uint16 = 0x0013\n\tcipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0014\n\tcipher_TLS_DHE_RSA_WITH_DES_CBC_SHA          uint16 = 0x0015\n\tcipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA     uint16 = 0x0016\n\tcipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5    uint16 = 0x0017\n\tcipher_TLS_DH_anon_WITH_RC4_128_MD5          uint16 = 0x0018\n\tcipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0019\n\tcipher_TLS_DH_anon_WITH_DES_CBC_SHA          uint16 = 0x001A\n\tcipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA     uint16 = 0x001B\n\t// Reserved uint16 =  0x001C-1D\n\tcipher_TLS_KRB5_WITH_DES_CBC_SHA             uint16 = 0x001E\n\tcipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA        uint16 = 0x001F\n\tcipher_TLS_KRB5_WITH_RC4_128_SHA             uint16 = 0x0020\n\tcipher_TLS_KRB5_WITH_IDEA_CBC_SHA            uint16 = 0x0021\n\tcipher_TLS_KRB5_WITH_DES_CBC_MD5             uint16 = 0x0022\n\tcipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5        uint16 = 0x0023\n\tcipher_TLS_KRB5_WITH_RC4_128_MD5             uint16 = 0x0024\n\tcipher_TLS_KRB5_WITH_IDEA_CBC_MD5            uint16 = 0x0025\n\tcipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA   uint16 = 0x0026\n\tcipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA   uint16 = 0x0027\n\tcipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA       uint16 = 0x0028\n\tcipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5   uint16 = 0x0029\n\tcipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5   uint16 = 0x002A\n\tcipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5       uint16 = 0x002B\n\tcipher_TLS_PSK_WITH_NULL_SHA                 uint16 = 0x002C\n\tcipher_TLS_DHE_PSK_WITH_NULL_SHA             uint16 = 0x002D\n\tcipher_TLS_RSA_PSK_WITH_NULL_SHA             uint16 = 0x002E\n\tcipher_TLS_RSA_WITH_AES_128_CBC_SHA          uint16 = 0x002F\n\tcipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA       uint16 = 0x0030\n\tcipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA       uint16 = 0x0031\n\tcipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA      uint16 = 0x0032\n\tcipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA      uint16 = 0x0033\n\tcipher_TLS_DH_anon_WITH_AES_128_CBC_SHA      uint16 = 0x0034\n\tcipher_TLS_RSA_WITH_AES_256_CBC_SHA          uint16 = 0x0035\n\tcipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA       uint16 = 0x0036\n\tcipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA       uint16 = 0x0037\n\tcipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA      uint16 = 0x0038\n\tcipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA      uint16 = 0x0039\n\tcipher_TLS_DH_anon_WITH_AES_256_CBC_SHA      uint16 = 0x003A\n\tcipher_TLS_RSA_WITH_NULL_SHA256              uint16 = 0x003B\n\tcipher_TLS_RSA_WITH_AES_128_CBC_SHA256       uint16 = 0x003C\n\tcipher_TLS_RSA_WITH_AES_256_CBC_SHA256       uint16 = 0x003D\n\tcipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256    uint16 = 0x003E\n\tcipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256    uint16 = 0x003F\n\tcipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256   uint16 = 0x0040\n\tcipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA     uint16 = 0x0041\n\tcipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA  uint16 = 0x0042\n\tcipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA  uint16 = 0x0043\n\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0044\n\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0045\n\tcipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0046\n\t// Reserved uint16 =  0x0047-4F\n\t// Reserved uint16 =  0x0050-58\n\t// Reserved uint16 =  0x0059-5C\n\t// Unassigned uint16 =  0x005D-5F\n\t// Reserved uint16 =  0x0060-66\n\tcipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x0067\n\tcipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256  uint16 = 0x0068\n\tcipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256  uint16 = 0x0069\n\tcipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 uint16 = 0x006A\n\tcipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x006B\n\tcipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256 uint16 = 0x006C\n\tcipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256 uint16 = 0x006D\n\t// Unassigned uint16 =  0x006E-83\n\tcipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA        uint16 = 0x0084\n\tcipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA     uint16 = 0x0085\n\tcipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA     uint16 = 0x0086\n\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0087\n\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0088\n\tcipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0089\n\tcipher_TLS_PSK_WITH_RC4_128_SHA                 uint16 = 0x008A\n\tcipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA            uint16 = 0x008B\n\tcipher_TLS_PSK_WITH_AES_128_CBC_SHA             uint16 = 0x008C\n\tcipher_TLS_PSK_WITH_AES_256_CBC_SHA             uint16 = 0x008D\n\tcipher_TLS_DHE_PSK_WITH_RC4_128_SHA             uint16 = 0x008E\n\tcipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA        uint16 = 0x008F\n\tcipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA         uint16 = 0x0090\n\tcipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA         uint16 = 0x0091\n\tcipher_TLS_RSA_PSK_WITH_RC4_128_SHA             uint16 = 0x0092\n\tcipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA        uint16 = 0x0093\n\tcipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA         uint16 = 0x0094\n\tcipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA         uint16 = 0x0095\n\tcipher_TLS_RSA_WITH_SEED_CBC_SHA                uint16 = 0x0096\n\tcipher_TLS_DH_DSS_WITH_SEED_CBC_SHA             uint16 = 0x0097\n\tcipher_TLS_DH_RSA_WITH_SEED_CBC_SHA             uint16 = 0x0098\n\tcipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA            uint16 = 0x0099\n\tcipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA            uint16 = 0x009A\n\tcipher_TLS_DH_anon_WITH_SEED_CBC_SHA            uint16 = 0x009B\n\tcipher_TLS_RSA_WITH_AES_128_GCM_SHA256          uint16 = 0x009C\n\tcipher_TLS_RSA_WITH_AES_256_GCM_SHA384          uint16 = 0x009D\n\tcipher_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256      uint16 = 0x009E\n\tcipher_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384      uint16 = 0x009F\n\tcipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256       uint16 = 0x00A0\n\tcipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384       uint16 = 0x00A1\n\tcipher_TLS_DHE_DSS_WITH_AES_128_GCM_SHA256      uint16 = 0x00A2\n\tcipher_TLS_DHE_DSS_WITH_AES_256_GCM_SHA384      uint16 = 0x00A3\n\tcipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256       uint16 = 0x00A4\n\tcipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384       uint16 = 0x00A5\n\tcipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256      uint16 = 0x00A6\n\tcipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384      uint16 = 0x00A7\n\tcipher_TLS_PSK_WITH_AES_128_GCM_SHA256          uint16 = 0x00A8\n\tcipher_TLS_PSK_WITH_AES_256_GCM_SHA384          uint16 = 0x00A9\n\tcipher_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256      uint16 = 0x00AA\n\tcipher_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384      uint16 = 0x00AB\n\tcipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256      uint16 = 0x00AC\n\tcipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384      uint16 = 0x00AD\n\tcipher_TLS_PSK_WITH_AES_128_CBC_SHA256          uint16 = 0x00AE\n\tcipher_TLS_PSK_WITH_AES_256_CBC_SHA384          uint16 = 0x00AF\n\tcipher_TLS_PSK_WITH_NULL_SHA256                 uint16 = 0x00B0\n\tcipher_TLS_PSK_WITH_NULL_SHA384                 uint16 = 0x00B1\n\tcipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256      uint16 = 0x00B2\n\tcipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384      uint16 = 0x00B3\n\tcipher_TLS_DHE_PSK_WITH_NULL_SHA256             uint16 = 0x00B4\n\tcipher_TLS_DHE_PSK_WITH_NULL_SHA384             uint16 = 0x00B5\n\tcipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256      uint16 = 0x00B6\n\tcipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384      uint16 = 0x00B7\n\tcipher_TLS_RSA_PSK_WITH_NULL_SHA256             uint16 = 0x00B8\n\tcipher_TLS_RSA_PSK_WITH_NULL_SHA384             uint16 = 0x00B9\n\tcipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0x00BA\n\tcipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0x00BB\n\tcipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0x00BC\n\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BD\n\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BE\n\tcipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BF\n\tcipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256     uint16 = 0x00C0\n\tcipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256  uint16 = 0x00C1\n\tcipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256  uint16 = 0x00C2\n\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C3\n\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C4\n\tcipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C5\n\t// Unassigned uint16 =  0x00C6-FE\n\tcipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV uint16 = 0x00FF\n\t// Unassigned uint16 =  0x01-55,*\n\tcipher_TLS_FALLBACK_SCSV uint16 = 0x5600\n\t// Unassigned                                   uint16 = 0x5601 - 0xC000\n\tcipher_TLS_ECDH_ECDSA_WITH_NULL_SHA                 uint16 = 0xC001\n\tcipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA              uint16 = 0xC002\n\tcipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA         uint16 = 0xC003\n\tcipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA          uint16 = 0xC004\n\tcipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA          uint16 = 0xC005\n\tcipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA                uint16 = 0xC006\n\tcipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA             uint16 = 0xC007\n\tcipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC008\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA         uint16 = 0xC009\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA         uint16 = 0xC00A\n\tcipher_TLS_ECDH_RSA_WITH_NULL_SHA                   uint16 = 0xC00B\n\tcipher_TLS_ECDH_RSA_WITH_RC4_128_SHA                uint16 = 0xC00C\n\tcipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA           uint16 = 0xC00D\n\tcipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA            uint16 = 0xC00E\n\tcipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA            uint16 = 0xC00F\n\tcipher_TLS_ECDHE_RSA_WITH_NULL_SHA                  uint16 = 0xC010\n\tcipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA               uint16 = 0xC011\n\tcipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC012\n\tcipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA           uint16 = 0xC013\n\tcipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA           uint16 = 0xC014\n\tcipher_TLS_ECDH_anon_WITH_NULL_SHA                  uint16 = 0xC015\n\tcipher_TLS_ECDH_anon_WITH_RC4_128_SHA               uint16 = 0xC016\n\tcipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC017\n\tcipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA           uint16 = 0xC018\n\tcipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA           uint16 = 0xC019\n\tcipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA            uint16 = 0xC01A\n\tcipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC01B\n\tcipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC01C\n\tcipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA             uint16 = 0xC01D\n\tcipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA         uint16 = 0xC01E\n\tcipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA         uint16 = 0xC01F\n\tcipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA             uint16 = 0xC020\n\tcipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA         uint16 = 0xC021\n\tcipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA         uint16 = 0xC022\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256      uint16 = 0xC023\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384      uint16 = 0xC024\n\tcipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256       uint16 = 0xC025\n\tcipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384       uint16 = 0xC026\n\tcipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256        uint16 = 0xC027\n\tcipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384        uint16 = 0xC028\n\tcipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256         uint16 = 0xC029\n\tcipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384         uint16 = 0xC02A\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256      uint16 = 0xC02B\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384      uint16 = 0xC02C\n\tcipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256       uint16 = 0xC02D\n\tcipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384       uint16 = 0xC02E\n\tcipher_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256        uint16 = 0xC02F\n\tcipher_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384        uint16 = 0xC030\n\tcipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256         uint16 = 0xC031\n\tcipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384         uint16 = 0xC032\n\tcipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA               uint16 = 0xC033\n\tcipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC034\n\tcipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA           uint16 = 0xC035\n\tcipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA           uint16 = 0xC036\n\tcipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256        uint16 = 0xC037\n\tcipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384        uint16 = 0xC038\n\tcipher_TLS_ECDHE_PSK_WITH_NULL_SHA                  uint16 = 0xC039\n\tcipher_TLS_ECDHE_PSK_WITH_NULL_SHA256               uint16 = 0xC03A\n\tcipher_TLS_ECDHE_PSK_WITH_NULL_SHA384               uint16 = 0xC03B\n\tcipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256             uint16 = 0xC03C\n\tcipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384             uint16 = 0xC03D\n\tcipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256          uint16 = 0xC03E\n\tcipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384          uint16 = 0xC03F\n\tcipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256          uint16 = 0xC040\n\tcipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384          uint16 = 0xC041\n\tcipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC042\n\tcipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC043\n\tcipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC044\n\tcipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC045\n\tcipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC046\n\tcipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC047\n\tcipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256     uint16 = 0xC048\n\tcipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384     uint16 = 0xC049\n\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256      uint16 = 0xC04A\n\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384      uint16 = 0xC04B\n\tcipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256       uint16 = 0xC04C\n\tcipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384       uint16 = 0xC04D\n\tcipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256        uint16 = 0xC04E\n\tcipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384        uint16 = 0xC04F\n\tcipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256             uint16 = 0xC050\n\tcipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384             uint16 = 0xC051\n\tcipher_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC052\n\tcipher_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC053\n\tcipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256          uint16 = 0xC054\n\tcipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384          uint16 = 0xC055\n\tcipher_TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC056\n\tcipher_TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC057\n\tcipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256          uint16 = 0xC058\n\tcipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384          uint16 = 0xC059\n\tcipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC05A\n\tcipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC05B\n\tcipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256     uint16 = 0xC05C\n\tcipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384     uint16 = 0xC05D\n\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256      uint16 = 0xC05E\n\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384      uint16 = 0xC05F\n\tcipher_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256       uint16 = 0xC060\n\tcipher_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384       uint16 = 0xC061\n\tcipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256        uint16 = 0xC062\n\tcipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384        uint16 = 0xC063\n\tcipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256             uint16 = 0xC064\n\tcipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384             uint16 = 0xC065\n\tcipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC066\n\tcipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC067\n\tcipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC068\n\tcipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC069\n\tcipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256             uint16 = 0xC06A\n\tcipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384             uint16 = 0xC06B\n\tcipher_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC06C\n\tcipher_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC06D\n\tcipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC06E\n\tcipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC06F\n\tcipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256       uint16 = 0xC070\n\tcipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384       uint16 = 0xC071\n\tcipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC072\n\tcipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC073\n\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0xC074\n\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384  uint16 = 0xC075\n\tcipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256   uint16 = 0xC076\n\tcipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384   uint16 = 0xC077\n\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256    uint16 = 0xC078\n\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384    uint16 = 0xC079\n\tcipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256         uint16 = 0xC07A\n\tcipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384         uint16 = 0xC07B\n\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC07C\n\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC07D\n\tcipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256      uint16 = 0xC07E\n\tcipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384      uint16 = 0xC07F\n\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC080\n\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC081\n\tcipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256      uint16 = 0xC082\n\tcipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384      uint16 = 0xC083\n\tcipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC084\n\tcipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC085\n\tcipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC086\n\tcipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC087\n\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256  uint16 = 0xC088\n\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384  uint16 = 0xC089\n\tcipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256   uint16 = 0xC08A\n\tcipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384   uint16 = 0xC08B\n\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256    uint16 = 0xC08C\n\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384    uint16 = 0xC08D\n\tcipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256         uint16 = 0xC08E\n\tcipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384         uint16 = 0xC08F\n\tcipher_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC090\n\tcipher_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC091\n\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC092\n\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC093\n\tcipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256         uint16 = 0xC094\n\tcipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384         uint16 = 0xC095\n\tcipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0xC096\n\tcipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384     uint16 = 0xC097\n\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0xC098\n\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384     uint16 = 0xC099\n\tcipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256   uint16 = 0xC09A\n\tcipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384   uint16 = 0xC09B\n\tcipher_TLS_RSA_WITH_AES_128_CCM                     uint16 = 0xC09C\n\tcipher_TLS_RSA_WITH_AES_256_CCM                     uint16 = 0xC09D\n\tcipher_TLS_DHE_RSA_WITH_AES_128_CCM                 uint16 = 0xC09E\n\tcipher_TLS_DHE_RSA_WITH_AES_256_CCM                 uint16 = 0xC09F\n\tcipher_TLS_RSA_WITH_AES_128_CCM_8                   uint16 = 0xC0A0\n\tcipher_TLS_RSA_WITH_AES_256_CCM_8                   uint16 = 0xC0A1\n\tcipher_TLS_DHE_RSA_WITH_AES_128_CCM_8               uint16 = 0xC0A2\n\tcipher_TLS_DHE_RSA_WITH_AES_256_CCM_8               uint16 = 0xC0A3\n\tcipher_TLS_PSK_WITH_AES_128_CCM                     uint16 = 0xC0A4\n\tcipher_TLS_PSK_WITH_AES_256_CCM                     uint16 = 0xC0A5\n\tcipher_TLS_DHE_PSK_WITH_AES_128_CCM                 uint16 = 0xC0A6\n\tcipher_TLS_DHE_PSK_WITH_AES_256_CCM                 uint16 = 0xC0A7\n\tcipher_TLS_PSK_WITH_AES_128_CCM_8                   uint16 = 0xC0A8\n\tcipher_TLS_PSK_WITH_AES_256_CCM_8                   uint16 = 0xC0A9\n\tcipher_TLS_PSK_DHE_WITH_AES_128_CCM_8               uint16 = 0xC0AA\n\tcipher_TLS_PSK_DHE_WITH_AES_256_CCM_8               uint16 = 0xC0AB\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM             uint16 = 0xC0AC\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM             uint16 = 0xC0AD\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8           uint16 = 0xC0AE\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8           uint16 = 0xC0AF\n\t// Unassigned uint16 =  0xC0B0-FF\n\t// Unassigned uint16 =  0xC1-CB,*\n\t// Unassigned uint16 =  0xCC00-A7\n\tcipher_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256   uint16 = 0xCCA8\n\tcipher_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCA9\n\tcipher_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAA\n\tcipher_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256         uint16 = 0xCCAB\n\tcipher_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256   uint16 = 0xCCAC\n\tcipher_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAD\n\tcipher_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAE\n)\n\n// isBadCipher reports whether the cipher is blacklisted by the HTTP/2 spec.\n// References:\n// https://tools.ietf.org/html/rfc7540#appendix-A\n// Reject cipher suites from Appendix A.\n// \"This list includes those cipher suites that do not\n// offer an ephemeral key exchange and those that are\n// based on the TLS null, stream or block cipher type\"\nfunc isBadCipher(cipher uint16) bool {\n\tswitch cipher {\n\tcase cipher_TLS_NULL_WITH_NULL_NULL,\n\t\tcipher_TLS_RSA_WITH_NULL_MD5,\n\t\tcipher_TLS_RSA_WITH_NULL_SHA,\n\t\tcipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5,\n\t\tcipher_TLS_RSA_WITH_RC4_128_MD5,\n\t\tcipher_TLS_RSA_WITH_RC4_128_SHA,\n\t\tcipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,\n\t\tcipher_TLS_RSA_WITH_IDEA_CBC_SHA,\n\t\tcipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA,\n\t\tcipher_TLS_RSA_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5,\n\t\tcipher_TLS_DH_anon_WITH_RC4_128_MD5,\n\t\tcipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_KRB5_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_KRB5_WITH_RC4_128_SHA,\n\t\tcipher_TLS_KRB5_WITH_IDEA_CBC_SHA,\n\t\tcipher_TLS_KRB5_WITH_DES_CBC_MD5,\n\t\tcipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5,\n\t\tcipher_TLS_KRB5_WITH_RC4_128_MD5,\n\t\tcipher_TLS_KRB5_WITH_IDEA_CBC_MD5,\n\t\tcipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,\n\t\tcipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA,\n\t\tcipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA,\n\t\tcipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5,\n\t\tcipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5,\n\t\tcipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5,\n\t\tcipher_TLS_PSK_WITH_NULL_SHA,\n\t\tcipher_TLS_DHE_PSK_WITH_NULL_SHA,\n\t\tcipher_TLS_RSA_PSK_WITH_NULL_SHA,\n\t\tcipher_TLS_RSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_RSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_RSA_WITH_NULL_SHA256,\n\t\tcipher_TLS_RSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_WITH_AES_256_CBC_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256,\n\t\tcipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,\n\t\tcipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256,\n\t\tcipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA,\n\t\tcipher_TLS_PSK_WITH_RC4_128_SHA,\n\t\tcipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_PSK_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_PSK_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_DHE_PSK_WITH_RC4_128_SHA,\n\t\tcipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_RSA_PSK_WITH_RC4_128_SHA,\n\t\tcipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_RSA_WITH_SEED_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_SEED_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_SEED_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_SEED_CBC_SHA,\n\t\tcipher_TLS_RSA_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_RSA_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_PSK_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_PSK_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_PSK_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_PSK_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_PSK_WITH_NULL_SHA256,\n\t\tcipher_TLS_PSK_WITH_NULL_SHA384,\n\t\tcipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_DHE_PSK_WITH_NULL_SHA256,\n\t\tcipher_TLS_DHE_PSK_WITH_NULL_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_NULL_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_NULL_SHA384,\n\t\tcipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256,\n\t\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256,\n\t\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256,\n\t\tcipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_NULL_SHA,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_ECDH_RSA_WITH_NULL_SHA,\n\t\tcipher_TLS_ECDH_RSA_WITH_RC4_128_SHA,\n\t\tcipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_ECDHE_RSA_WITH_NULL_SHA,\n\t\tcipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA,\n\t\tcipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_ECDH_anon_WITH_NULL_SHA,\n\t\tcipher_TLS_ECDH_anon_WITH_RC4_128_SHA,\n\t\tcipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA,\n\t\tcipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_PSK_WITH_NULL_SHA,\n\t\tcipher_TLS_ECDHE_PSK_WITH_NULL_SHA256,\n\t\tcipher_TLS_ECDHE_PSK_WITH_NULL_SHA384,\n\t\tcipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_RSA_WITH_AES_128_CCM,\n\t\tcipher_TLS_RSA_WITH_AES_256_CCM,\n\t\tcipher_TLS_RSA_WITH_AES_128_CCM_8,\n\t\tcipher_TLS_RSA_WITH_AES_256_CCM_8,\n\t\tcipher_TLS_PSK_WITH_AES_128_CCM,\n\t\tcipher_TLS_PSK_WITH_AES_256_CCM,\n\t\tcipher_TLS_PSK_WITH_AES_128_CCM_8,\n\t\tcipher_TLS_PSK_WITH_AES_256_CCM_8:\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/client_conn_pool.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Transport code's client connection pooling.\n\npackage http2\n\nimport (\n\t\"crypto/tls\"\n\t\"net/http\"\n\t\"sync\"\n)\n\n// ClientConnPool manages a pool of HTTP/2 client connections.\ntype ClientConnPool interface {\n\tGetClientConn(req *http.Request, addr string) (*ClientConn, error)\n\tMarkDead(*ClientConn)\n}\n\n// clientConnPoolIdleCloser is the interface implemented by ClientConnPool\n// implementations which can close their idle connections.\ntype clientConnPoolIdleCloser interface {\n\tClientConnPool\n\tcloseIdleConnections()\n}\n\nvar (\n\t_ clientConnPoolIdleCloser = (*clientConnPool)(nil)\n\t_ clientConnPoolIdleCloser = noDialClientConnPool{}\n)\n\n// TODO: use singleflight for dialing and addConnCalls?\ntype clientConnPool struct {\n\tt *Transport\n\n\tmu sync.Mutex // TODO: maybe switch to RWMutex\n\t// TODO: add support for sharing conns based on cert names\n\t// (e.g. share conn for googleapis.com and appspot.com)\n\tconns        map[string][]*ClientConn // key is host:port\n\tdialing      map[string]*dialCall     // currently in-flight dials\n\tkeys         map[*ClientConn][]string\n\taddConnCalls map[string]*addConnCall // in-flight addConnIfNeede calls\n}\n\nfunc (p *clientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) {\n\treturn p.getClientConn(req, addr, dialOnMiss)\n}\n\nconst (\n\tdialOnMiss   = true\n\tnoDialOnMiss = false\n)\n\nfunc (p *clientConnPool) getClientConn(req *http.Request, addr string, dialOnMiss bool) (*ClientConn, error) {\n\tif isConnectionCloseRequest(req) && dialOnMiss {\n\t\t// It gets its own connection.\n\t\tconst singleUse = true\n\t\tcc, err := p.t.dialClientConn(addr, singleUse)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treturn cc, nil\n\t}\n\tp.mu.Lock()\n\tfor _, cc := range p.conns[addr] {\n\t\tif cc.CanTakeNewRequest() {\n\t\t\tp.mu.Unlock()\n\t\t\treturn cc, nil\n\t\t}\n\t}\n\tif !dialOnMiss {\n\t\tp.mu.Unlock()\n\t\treturn nil, ErrNoCachedConn\n\t}\n\tcall := p.getStartDialLocked(addr)\n\tp.mu.Unlock()\n\t<-call.done\n\treturn call.res, call.err\n}\n\n// dialCall is an in-flight Transport dial call to a host.\ntype dialCall struct {\n\tp    *clientConnPool\n\tdone chan struct{} // closed when done\n\tres  *ClientConn   // valid after done is closed\n\terr  error         // valid after done is closed\n}\n\n// requires p.mu is held.\nfunc (p *clientConnPool) getStartDialLocked(addr string) *dialCall {\n\tif call, ok := p.dialing[addr]; ok {\n\t\t// A dial is already in-flight. Don't start another.\n\t\treturn call\n\t}\n\tcall := &dialCall{p: p, done: make(chan struct{})}\n\tif p.dialing == nil {\n\t\tp.dialing = make(map[string]*dialCall)\n\t}\n\tp.dialing[addr] = call\n\tgo call.dial(addr)\n\treturn call\n}\n\n// run in its own goroutine.\nfunc (c *dialCall) dial(addr string) {\n\tconst singleUse = false // shared conn\n\tc.res, c.err = c.p.t.dialClientConn(addr, singleUse)\n\tclose(c.done)\n\n\tc.p.mu.Lock()\n\tdelete(c.p.dialing, addr)\n\tif c.err == nil {\n\t\tc.p.addConnLocked(addr, c.res)\n\t}\n\tc.p.mu.Unlock()\n}\n\n// addConnIfNeeded makes a NewClientConn out of c if a connection for key doesn't\n// already exist. It coalesces concurrent calls with the same key.\n// This is used by the http1 Transport code when it creates a new connection. Because\n// the http1 Transport doesn't de-dup TCP dials to outbound hosts (because it doesn't know\n// the protocol), it can get into a situation where it has multiple TLS connections.\n// This code decides which ones live or die.\n// The return value used is whether c was used.\n// c is never closed.\nfunc (p *clientConnPool) addConnIfNeeded(key string, t *Transport, c *tls.Conn) (used bool, err error) {\n\tp.mu.Lock()\n\tfor _, cc := range p.conns[key] {\n\t\tif cc.CanTakeNewRequest() {\n\t\t\tp.mu.Unlock()\n\t\t\treturn false, nil\n\t\t}\n\t}\n\tcall, dup := p.addConnCalls[key]\n\tif !dup {\n\t\tif p.addConnCalls == nil {\n\t\t\tp.addConnCalls = make(map[string]*addConnCall)\n\t\t}\n\t\tcall = &addConnCall{\n\t\t\tp:    p,\n\t\t\tdone: make(chan struct{}),\n\t\t}\n\t\tp.addConnCalls[key] = call\n\t\tgo call.run(t, key, c)\n\t}\n\tp.mu.Unlock()\n\n\t<-call.done\n\tif call.err != nil {\n\t\treturn false, call.err\n\t}\n\treturn !dup, nil\n}\n\ntype addConnCall struct {\n\tp    *clientConnPool\n\tdone chan struct{} // closed when done\n\terr  error\n}\n\nfunc (c *addConnCall) run(t *Transport, key string, tc *tls.Conn) {\n\tcc, err := t.NewClientConn(tc)\n\n\tp := c.p\n\tp.mu.Lock()\n\tif err != nil {\n\t\tc.err = err\n\t} else {\n\t\tp.addConnLocked(key, cc)\n\t}\n\tdelete(p.addConnCalls, key)\n\tp.mu.Unlock()\n\tclose(c.done)\n}\n\nfunc (p *clientConnPool) addConn(key string, cc *ClientConn) {\n\tp.mu.Lock()\n\tp.addConnLocked(key, cc)\n\tp.mu.Unlock()\n}\n\n// p.mu must be held\nfunc (p *clientConnPool) addConnLocked(key string, cc *ClientConn) {\n\tfor _, v := range p.conns[key] {\n\t\tif v == cc {\n\t\t\treturn\n\t\t}\n\t}\n\tif p.conns == nil {\n\t\tp.conns = make(map[string][]*ClientConn)\n\t}\n\tif p.keys == nil {\n\t\tp.keys = make(map[*ClientConn][]string)\n\t}\n\tp.conns[key] = append(p.conns[key], cc)\n\tp.keys[cc] = append(p.keys[cc], key)\n}\n\nfunc (p *clientConnPool) MarkDead(cc *ClientConn) {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tfor _, key := range p.keys[cc] {\n\t\tvv, ok := p.conns[key]\n\t\tif !ok {\n\t\t\tcontinue\n\t\t}\n\t\tnewList := filterOutClientConn(vv, cc)\n\t\tif len(newList) > 0 {\n\t\t\tp.conns[key] = newList\n\t\t} else {\n\t\t\tdelete(p.conns, key)\n\t\t}\n\t}\n\tdelete(p.keys, cc)\n}\n\nfunc (p *clientConnPool) closeIdleConnections() {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\t// TODO: don't close a cc if it was just added to the pool\n\t// milliseconds ago and has never been used. There's currently\n\t// a small race window with the HTTP/1 Transport's integration\n\t// where it can add an idle conn just before using it, and\n\t// somebody else can concurrently call CloseIdleConns and\n\t// break some caller's RoundTrip.\n\tfor _, vv := range p.conns {\n\t\tfor _, cc := range vv {\n\t\t\tcc.closeIfIdle()\n\t\t}\n\t}\n}\n\nfunc filterOutClientConn(in []*ClientConn, exclude *ClientConn) []*ClientConn {\n\tout := in[:0]\n\tfor _, v := range in {\n\t\tif v != exclude {\n\t\t\tout = append(out, v)\n\t\t}\n\t}\n\t// If we filtered it out, zero out the last item to prevent\n\t// the GC from seeing it.\n\tif len(in) != len(out) {\n\t\tin[len(in)-1] = nil\n\t}\n\treturn out\n}\n\n// noDialClientConnPool is an implementation of http2.ClientConnPool\n// which never dials. We let the HTTP/1.1 client dial and use its TLS\n// connection instead.\ntype noDialClientConnPool struct{ *clientConnPool }\n\nfunc (p noDialClientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) {\n\treturn p.getClientConn(req, addr, noDialOnMiss)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/configure_transport.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.6\n\npackage http2\n\nimport (\n\t\"crypto/tls\"\n\t\"fmt\"\n\t\"net/http\"\n)\n\nfunc configureTransport(t1 *http.Transport) (*Transport, error) {\n\tconnPool := new(clientConnPool)\n\tt2 := &Transport{\n\t\tConnPool: noDialClientConnPool{connPool},\n\t\tt1:       t1,\n\t}\n\tconnPool.t = t2\n\tif err := registerHTTPSProtocol(t1, noDialH2RoundTripper{t2}); err != nil {\n\t\treturn nil, err\n\t}\n\tif t1.TLSClientConfig == nil {\n\t\tt1.TLSClientConfig = new(tls.Config)\n\t}\n\tif !strSliceContains(t1.TLSClientConfig.NextProtos, \"h2\") {\n\t\tt1.TLSClientConfig.NextProtos = append([]string{\"h2\"}, t1.TLSClientConfig.NextProtos...)\n\t}\n\tif !strSliceContains(t1.TLSClientConfig.NextProtos, \"http/1.1\") {\n\t\tt1.TLSClientConfig.NextProtos = append(t1.TLSClientConfig.NextProtos, \"http/1.1\")\n\t}\n\tupgradeFn := func(authority string, c *tls.Conn) http.RoundTripper {\n\t\taddr := authorityAddr(\"https\", authority)\n\t\tif used, err := connPool.addConnIfNeeded(addr, t2, c); err != nil {\n\t\t\tgo c.Close()\n\t\t\treturn erringRoundTripper{err}\n\t\t} else if !used {\n\t\t\t// Turns out we don't need this c.\n\t\t\t// For example, two goroutines made requests to the same host\n\t\t\t// at the same time, both kicking off TCP dials. (since protocol\n\t\t\t// was unknown)\n\t\t\tgo c.Close()\n\t\t}\n\t\treturn t2\n\t}\n\tif m := t1.TLSNextProto; len(m) == 0 {\n\t\tt1.TLSNextProto = map[string]func(string, *tls.Conn) http.RoundTripper{\n\t\t\t\"h2\": upgradeFn,\n\t\t}\n\t} else {\n\t\tm[\"h2\"] = upgradeFn\n\t}\n\treturn t2, nil\n}\n\n// registerHTTPSProtocol calls Transport.RegisterProtocol but\n// converting panics into errors.\nfunc registerHTTPSProtocol(t *http.Transport, rt http.RoundTripper) (err error) {\n\tdefer func() {\n\t\tif e := recover(); e != nil {\n\t\t\terr = fmt.Errorf(\"%v\", e)\n\t\t}\n\t}()\n\tt.RegisterProtocol(\"https\", rt)\n\treturn nil\n}\n\n// noDialH2RoundTripper is a RoundTripper which only tries to complete the request\n// if there's already has a cached connection to the host.\ntype noDialH2RoundTripper struct{ t *Transport }\n\nfunc (rt noDialH2RoundTripper) RoundTrip(req *http.Request) (*http.Response, error) {\n\tres, err := rt.t.RoundTrip(req)\n\tif err == ErrNoCachedConn {\n\t\treturn nil, http.ErrSkipAltProtocol\n\t}\n\treturn res, err\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/databuffer.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"sync\"\n)\n\n// Buffer chunks are allocated from a pool to reduce pressure on GC.\n// The maximum wasted space per dataBuffer is 2x the largest size class,\n// which happens when the dataBuffer has multiple chunks and there is\n// one unread byte in both the first and last chunks. We use a few size\n// classes to minimize overheads for servers that typically receive very\n// small request bodies.\n//\n// TODO: Benchmark to determine if the pools are necessary. The GC may have\n// improved enough that we can instead allocate chunks like this:\n// make([]byte, max(16<<10, expectedBytesRemaining))\nvar (\n\tdataChunkSizeClasses = []int{\n\t\t1 << 10,\n\t\t2 << 10,\n\t\t4 << 10,\n\t\t8 << 10,\n\t\t16 << 10,\n\t}\n\tdataChunkPools = [...]sync.Pool{\n\t\t{New: func() interface{} { return make([]byte, 1<<10) }},\n\t\t{New: func() interface{} { return make([]byte, 2<<10) }},\n\t\t{New: func() interface{} { return make([]byte, 4<<10) }},\n\t\t{New: func() interface{} { return make([]byte, 8<<10) }},\n\t\t{New: func() interface{} { return make([]byte, 16<<10) }},\n\t}\n)\n\nfunc getDataBufferChunk(size int64) []byte {\n\ti := 0\n\tfor ; i < len(dataChunkSizeClasses)-1; i++ {\n\t\tif size <= int64(dataChunkSizeClasses[i]) {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn dataChunkPools[i].Get().([]byte)\n}\n\nfunc putDataBufferChunk(p []byte) {\n\tfor i, n := range dataChunkSizeClasses {\n\t\tif len(p) == n {\n\t\t\tdataChunkPools[i].Put(p)\n\t\t\treturn\n\t\t}\n\t}\n\tpanic(fmt.Sprintf(\"unexpected buffer len=%v\", len(p)))\n}\n\n// dataBuffer is an io.ReadWriter backed by a list of data chunks.\n// Each dataBuffer is used to read DATA frames on a single stream.\n// The buffer is divided into chunks so the server can limit the\n// total memory used by a single connection without limiting the\n// request body size on any single stream.\ntype dataBuffer struct {\n\tchunks   [][]byte\n\tr        int   // next byte to read is chunks[0][r]\n\tw        int   // next byte to write is chunks[len(chunks)-1][w]\n\tsize     int   // total buffered bytes\n\texpected int64 // we expect at least this many bytes in future Write calls (ignored if <= 0)\n}\n\nvar errReadEmpty = errors.New(\"read from empty dataBuffer\")\n\n// Read copies bytes from the buffer into p.\n// It is an error to read when no data is available.\nfunc (b *dataBuffer) Read(p []byte) (int, error) {\n\tif b.size == 0 {\n\t\treturn 0, errReadEmpty\n\t}\n\tvar ntotal int\n\tfor len(p) > 0 && b.size > 0 {\n\t\treadFrom := b.bytesFromFirstChunk()\n\t\tn := copy(p, readFrom)\n\t\tp = p[n:]\n\t\tntotal += n\n\t\tb.r += n\n\t\tb.size -= n\n\t\t// If the first chunk has been consumed, advance to the next chunk.\n\t\tif b.r == len(b.chunks[0]) {\n\t\t\tputDataBufferChunk(b.chunks[0])\n\t\t\tend := len(b.chunks) - 1\n\t\t\tcopy(b.chunks[:end], b.chunks[1:])\n\t\t\tb.chunks[end] = nil\n\t\t\tb.chunks = b.chunks[:end]\n\t\t\tb.r = 0\n\t\t}\n\t}\n\treturn ntotal, nil\n}\n\nfunc (b *dataBuffer) bytesFromFirstChunk() []byte {\n\tif len(b.chunks) == 1 {\n\t\treturn b.chunks[0][b.r:b.w]\n\t}\n\treturn b.chunks[0][b.r:]\n}\n\n// Len returns the number of bytes of the unread portion of the buffer.\nfunc (b *dataBuffer) Len() int {\n\treturn b.size\n}\n\n// Write appends p to the buffer.\nfunc (b *dataBuffer) Write(p []byte) (int, error) {\n\tntotal := len(p)\n\tfor len(p) > 0 {\n\t\t// If the last chunk is empty, allocate a new chunk. Try to allocate\n\t\t// enough to fully copy p plus any additional bytes we expect to\n\t\t// receive. However, this may allocate less than len(p).\n\t\twant := int64(len(p))\n\t\tif b.expected > want {\n\t\t\twant = b.expected\n\t\t}\n\t\tchunk := b.lastChunkOrAlloc(want)\n\t\tn := copy(chunk[b.w:], p)\n\t\tp = p[n:]\n\t\tb.w += n\n\t\tb.size += n\n\t\tb.expected -= int64(n)\n\t}\n\treturn ntotal, nil\n}\n\nfunc (b *dataBuffer) lastChunkOrAlloc(want int64) []byte {\n\tif len(b.chunks) != 0 {\n\t\tlast := b.chunks[len(b.chunks)-1]\n\t\tif b.w < len(last) {\n\t\t\treturn last\n\t\t}\n\t}\n\tchunk := getDataBufferChunk(want)\n\tb.chunks = append(b.chunks, chunk)\n\tb.w = 0\n\treturn chunk\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/errors.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n)\n\n// An ErrCode is an unsigned 32-bit error code as defined in the HTTP/2 spec.\ntype ErrCode uint32\n\nconst (\n\tErrCodeNo                 ErrCode = 0x0\n\tErrCodeProtocol           ErrCode = 0x1\n\tErrCodeInternal           ErrCode = 0x2\n\tErrCodeFlowControl        ErrCode = 0x3\n\tErrCodeSettingsTimeout    ErrCode = 0x4\n\tErrCodeStreamClosed       ErrCode = 0x5\n\tErrCodeFrameSize          ErrCode = 0x6\n\tErrCodeRefusedStream      ErrCode = 0x7\n\tErrCodeCancel             ErrCode = 0x8\n\tErrCodeCompression        ErrCode = 0x9\n\tErrCodeConnect            ErrCode = 0xa\n\tErrCodeEnhanceYourCalm    ErrCode = 0xb\n\tErrCodeInadequateSecurity ErrCode = 0xc\n\tErrCodeHTTP11Required     ErrCode = 0xd\n)\n\nvar errCodeName = map[ErrCode]string{\n\tErrCodeNo:                 \"NO_ERROR\",\n\tErrCodeProtocol:           \"PROTOCOL_ERROR\",\n\tErrCodeInternal:           \"INTERNAL_ERROR\",\n\tErrCodeFlowControl:        \"FLOW_CONTROL_ERROR\",\n\tErrCodeSettingsTimeout:    \"SETTINGS_TIMEOUT\",\n\tErrCodeStreamClosed:       \"STREAM_CLOSED\",\n\tErrCodeFrameSize:          \"FRAME_SIZE_ERROR\",\n\tErrCodeRefusedStream:      \"REFUSED_STREAM\",\n\tErrCodeCancel:             \"CANCEL\",\n\tErrCodeCompression:        \"COMPRESSION_ERROR\",\n\tErrCodeConnect:            \"CONNECT_ERROR\",\n\tErrCodeEnhanceYourCalm:    \"ENHANCE_YOUR_CALM\",\n\tErrCodeInadequateSecurity: \"INADEQUATE_SECURITY\",\n\tErrCodeHTTP11Required:     \"HTTP_1_1_REQUIRED\",\n}\n\nfunc (e ErrCode) String() string {\n\tif s, ok := errCodeName[e]; ok {\n\t\treturn s\n\t}\n\treturn fmt.Sprintf(\"unknown error code 0x%x\", uint32(e))\n}\n\n// ConnectionError is an error that results in the termination of the\n// entire connection.\ntype ConnectionError ErrCode\n\nfunc (e ConnectionError) Error() string { return fmt.Sprintf(\"connection error: %s\", ErrCode(e)) }\n\n// StreamError is an error that only affects one stream within an\n// HTTP/2 connection.\ntype StreamError struct {\n\tStreamID uint32\n\tCode     ErrCode\n\tCause    error // optional additional detail\n}\n\nfunc streamError(id uint32, code ErrCode) StreamError {\n\treturn StreamError{StreamID: id, Code: code}\n}\n\nfunc (e StreamError) Error() string {\n\tif e.Cause != nil {\n\t\treturn fmt.Sprintf(\"stream error: stream ID %d; %v; %v\", e.StreamID, e.Code, e.Cause)\n\t}\n\treturn fmt.Sprintf(\"stream error: stream ID %d; %v\", e.StreamID, e.Code)\n}\n\n// 6.9.1 The Flow Control Window\n// \"If a sender receives a WINDOW_UPDATE that causes a flow control\n// window to exceed this maximum it MUST terminate either the stream\n// or the connection, as appropriate. For streams, [...]; for the\n// connection, a GOAWAY frame with a FLOW_CONTROL_ERROR code.\"\ntype goAwayFlowError struct{}\n\nfunc (goAwayFlowError) Error() string { return \"connection exceeded flow control window size\" }\n\n// connError represents an HTTP/2 ConnectionError error code, along\n// with a string (for debugging) explaining why.\n//\n// Errors of this type are only returned by the frame parser functions\n// and converted into ConnectionError(Code), after stashing away\n// the Reason into the Framer's errDetail field, accessible via\n// the (*Framer).ErrorDetail method.\ntype connError struct {\n\tCode   ErrCode // the ConnectionError error code\n\tReason string  // additional reason\n}\n\nfunc (e connError) Error() string {\n\treturn fmt.Sprintf(\"http2: connection error: %v: %v\", e.Code, e.Reason)\n}\n\ntype pseudoHeaderError string\n\nfunc (e pseudoHeaderError) Error() string {\n\treturn fmt.Sprintf(\"invalid pseudo-header %q\", string(e))\n}\n\ntype duplicatePseudoHeaderError string\n\nfunc (e duplicatePseudoHeaderError) Error() string {\n\treturn fmt.Sprintf(\"duplicate pseudo-header %q\", string(e))\n}\n\ntype headerFieldNameError string\n\nfunc (e headerFieldNameError) Error() string {\n\treturn fmt.Sprintf(\"invalid header field name %q\", string(e))\n}\n\ntype headerFieldValueError string\n\nfunc (e headerFieldValueError) Error() string {\n\treturn fmt.Sprintf(\"invalid header field value %q\", string(e))\n}\n\nvar (\n\terrMixPseudoHeaderTypes = errors.New(\"mix of request and response pseudo headers\")\n\terrPseudoAfterRegular   = errors.New(\"pseudo header field after regular\")\n)\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/flow.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Flow control\n\npackage http2\n\n// flow is the flow control window's size.\ntype flow struct {\n\t// n is the number of DATA bytes we're allowed to send.\n\t// A flow is kept both on a conn and a per-stream.\n\tn int32\n\n\t// conn points to the shared connection-level flow that is\n\t// shared by all streams on that conn. It is nil for the flow\n\t// that's on the conn directly.\n\tconn *flow\n}\n\nfunc (f *flow) setConnFlow(cf *flow) { f.conn = cf }\n\nfunc (f *flow) available() int32 {\n\tn := f.n\n\tif f.conn != nil && f.conn.n < n {\n\t\tn = f.conn.n\n\t}\n\treturn n\n}\n\nfunc (f *flow) take(n int32) {\n\tif n > f.available() {\n\t\tpanic(\"internal error: took too much\")\n\t}\n\tf.n -= n\n\tif f.conn != nil {\n\t\tf.conn.n -= n\n\t}\n}\n\n// add adds n bytes (positive or negative) to the flow control window.\n// It returns false if the sum would exceed 2^31-1.\nfunc (f *flow) add(n int32) bool {\n\tremain := (1<<31 - 1) - f.n\n\tif n > remain {\n\t\treturn false\n\t}\n\tf.n += n\n\treturn true\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/frame.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"bytes\"\n\t\"encoding/binary\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"strings\"\n\t\"sync\"\n\n\t\"golang.org/x/net/http2/hpack\"\n\t\"golang.org/x/net/lex/httplex\"\n)\n\nconst frameHeaderLen = 9\n\nvar padZeros = make([]byte, 255) // zeros for padding\n\n// A FrameType is a registered frame type as defined in\n// http://http2.github.io/http2-spec/#rfc.section.11.2\ntype FrameType uint8\n\nconst (\n\tFrameData         FrameType = 0x0\n\tFrameHeaders      FrameType = 0x1\n\tFramePriority     FrameType = 0x2\n\tFrameRSTStream    FrameType = 0x3\n\tFrameSettings     FrameType = 0x4\n\tFramePushPromise  FrameType = 0x5\n\tFramePing         FrameType = 0x6\n\tFrameGoAway       FrameType = 0x7\n\tFrameWindowUpdate FrameType = 0x8\n\tFrameContinuation FrameType = 0x9\n)\n\nvar frameName = map[FrameType]string{\n\tFrameData:         \"DATA\",\n\tFrameHeaders:      \"HEADERS\",\n\tFramePriority:     \"PRIORITY\",\n\tFrameRSTStream:    \"RST_STREAM\",\n\tFrameSettings:     \"SETTINGS\",\n\tFramePushPromise:  \"PUSH_PROMISE\",\n\tFramePing:         \"PING\",\n\tFrameGoAway:       \"GOAWAY\",\n\tFrameWindowUpdate: \"WINDOW_UPDATE\",\n\tFrameContinuation: \"CONTINUATION\",\n}\n\nfunc (t FrameType) String() string {\n\tif s, ok := frameName[t]; ok {\n\t\treturn s\n\t}\n\treturn fmt.Sprintf(\"UNKNOWN_FRAME_TYPE_%d\", uint8(t))\n}\n\n// Flags is a bitmask of HTTP/2 flags.\n// The meaning of flags varies depending on the frame type.\ntype Flags uint8\n\n// Has reports whether f contains all (0 or more) flags in v.\nfunc (f Flags) Has(v Flags) bool {\n\treturn (f & v) == v\n}\n\n// Frame-specific FrameHeader flag bits.\nconst (\n\t// Data Frame\n\tFlagDataEndStream Flags = 0x1\n\tFlagDataPadded    Flags = 0x8\n\n\t// Headers Frame\n\tFlagHeadersEndStream  Flags = 0x1\n\tFlagHeadersEndHeaders Flags = 0x4\n\tFlagHeadersPadded     Flags = 0x8\n\tFlagHeadersPriority   Flags = 0x20\n\n\t// Settings Frame\n\tFlagSettingsAck Flags = 0x1\n\n\t// Ping Frame\n\tFlagPingAck Flags = 0x1\n\n\t// Continuation Frame\n\tFlagContinuationEndHeaders Flags = 0x4\n\n\tFlagPushPromiseEndHeaders Flags = 0x4\n\tFlagPushPromisePadded     Flags = 0x8\n)\n\nvar flagName = map[FrameType]map[Flags]string{\n\tFrameData: {\n\t\tFlagDataEndStream: \"END_STREAM\",\n\t\tFlagDataPadded:    \"PADDED\",\n\t},\n\tFrameHeaders: {\n\t\tFlagHeadersEndStream:  \"END_STREAM\",\n\t\tFlagHeadersEndHeaders: \"END_HEADERS\",\n\t\tFlagHeadersPadded:     \"PADDED\",\n\t\tFlagHeadersPriority:   \"PRIORITY\",\n\t},\n\tFrameSettings: {\n\t\tFlagSettingsAck: \"ACK\",\n\t},\n\tFramePing: {\n\t\tFlagPingAck: \"ACK\",\n\t},\n\tFrameContinuation: {\n\t\tFlagContinuationEndHeaders: \"END_HEADERS\",\n\t},\n\tFramePushPromise: {\n\t\tFlagPushPromiseEndHeaders: \"END_HEADERS\",\n\t\tFlagPushPromisePadded:     \"PADDED\",\n\t},\n}\n\n// a frameParser parses a frame given its FrameHeader and payload\n// bytes. The length of payload will always equal fh.Length (which\n// might be 0).\ntype frameParser func(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error)\n\nvar frameParsers = map[FrameType]frameParser{\n\tFrameData:         parseDataFrame,\n\tFrameHeaders:      parseHeadersFrame,\n\tFramePriority:     parsePriorityFrame,\n\tFrameRSTStream:    parseRSTStreamFrame,\n\tFrameSettings:     parseSettingsFrame,\n\tFramePushPromise:  parsePushPromise,\n\tFramePing:         parsePingFrame,\n\tFrameGoAway:       parseGoAwayFrame,\n\tFrameWindowUpdate: parseWindowUpdateFrame,\n\tFrameContinuation: parseContinuationFrame,\n}\n\nfunc typeFrameParser(t FrameType) frameParser {\n\tif f := frameParsers[t]; f != nil {\n\t\treturn f\n\t}\n\treturn parseUnknownFrame\n}\n\n// A FrameHeader is the 9 byte header of all HTTP/2 frames.\n//\n// See http://http2.github.io/http2-spec/#FrameHeader\ntype FrameHeader struct {\n\tvalid bool // caller can access []byte fields in the Frame\n\n\t// Type is the 1 byte frame type. There are ten standard frame\n\t// types, but extension frame types may be written by WriteRawFrame\n\t// and will be returned by ReadFrame (as UnknownFrame).\n\tType FrameType\n\n\t// Flags are the 1 byte of 8 potential bit flags per frame.\n\t// They are specific to the frame type.\n\tFlags Flags\n\n\t// Length is the length of the frame, not including the 9 byte header.\n\t// The maximum size is one byte less than 16MB (uint24), but only\n\t// frames up to 16KB are allowed without peer agreement.\n\tLength uint32\n\n\t// StreamID is which stream this frame is for. Certain frames\n\t// are not stream-specific, in which case this field is 0.\n\tStreamID uint32\n}\n\n// Header returns h. It exists so FrameHeaders can be embedded in other\n// specific frame types and implement the Frame interface.\nfunc (h FrameHeader) Header() FrameHeader { return h }\n\nfunc (h FrameHeader) String() string {\n\tvar buf bytes.Buffer\n\tbuf.WriteString(\"[FrameHeader \")\n\th.writeDebug(&buf)\n\tbuf.WriteByte(']')\n\treturn buf.String()\n}\n\nfunc (h FrameHeader) writeDebug(buf *bytes.Buffer) {\n\tbuf.WriteString(h.Type.String())\n\tif h.Flags != 0 {\n\t\tbuf.WriteString(\" flags=\")\n\t\tset := 0\n\t\tfor i := uint8(0); i < 8; i++ {\n\t\t\tif h.Flags&(1<<i) == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tset++\n\t\t\tif set > 1 {\n\t\t\t\tbuf.WriteByte('|')\n\t\t\t}\n\t\t\tname := flagName[h.Type][Flags(1<<i)]\n\t\t\tif name != \"\" {\n\t\t\t\tbuf.WriteString(name)\n\t\t\t} else {\n\t\t\t\tfmt.Fprintf(buf, \"0x%x\", 1<<i)\n\t\t\t}\n\t\t}\n\t}\n\tif h.StreamID != 0 {\n\t\tfmt.Fprintf(buf, \" stream=%d\", h.StreamID)\n\t}\n\tfmt.Fprintf(buf, \" len=%d\", h.Length)\n}\n\nfunc (h *FrameHeader) checkValid() {\n\tif !h.valid {\n\t\tpanic(\"Frame accessor called on non-owned Frame\")\n\t}\n}\n\nfunc (h *FrameHeader) invalidate() { h.valid = false }\n\n// frame header bytes.\n// Used only by ReadFrameHeader.\nvar fhBytes = sync.Pool{\n\tNew: func() interface{} {\n\t\tbuf := make([]byte, frameHeaderLen)\n\t\treturn &buf\n\t},\n}\n\n// ReadFrameHeader reads 9 bytes from r and returns a FrameHeader.\n// Most users should use Framer.ReadFrame instead.\nfunc ReadFrameHeader(r io.Reader) (FrameHeader, error) {\n\tbufp := fhBytes.Get().(*[]byte)\n\tdefer fhBytes.Put(bufp)\n\treturn readFrameHeader(*bufp, r)\n}\n\nfunc readFrameHeader(buf []byte, r io.Reader) (FrameHeader, error) {\n\t_, err := io.ReadFull(r, buf[:frameHeaderLen])\n\tif err != nil {\n\t\treturn FrameHeader{}, err\n\t}\n\treturn FrameHeader{\n\t\tLength:   (uint32(buf[0])<<16 | uint32(buf[1])<<8 | uint32(buf[2])),\n\t\tType:     FrameType(buf[3]),\n\t\tFlags:    Flags(buf[4]),\n\t\tStreamID: binary.BigEndian.Uint32(buf[5:]) & (1<<31 - 1),\n\t\tvalid:    true,\n\t}, nil\n}\n\n// A Frame is the base interface implemented by all frame types.\n// Callers will generally type-assert the specific frame type:\n// *HeadersFrame, *SettingsFrame, *WindowUpdateFrame, etc.\n//\n// Frames are only valid until the next call to Framer.ReadFrame.\ntype Frame interface {\n\tHeader() FrameHeader\n\n\t// invalidate is called by Framer.ReadFrame to make this\n\t// frame's buffers as being invalid, since the subsequent\n\t// frame will reuse them.\n\tinvalidate()\n}\n\n// A Framer reads and writes Frames.\ntype Framer struct {\n\tr         io.Reader\n\tlastFrame Frame\n\terrDetail error\n\n\t// lastHeaderStream is non-zero if the last frame was an\n\t// unfinished HEADERS/CONTINUATION.\n\tlastHeaderStream uint32\n\n\tmaxReadSize uint32\n\theaderBuf   [frameHeaderLen]byte\n\n\t// TODO: let getReadBuf be configurable, and use a less memory-pinning\n\t// allocator in server.go to minimize memory pinned for many idle conns.\n\t// Will probably also need to make frame invalidation have a hook too.\n\tgetReadBuf func(size uint32) []byte\n\treadBuf    []byte // cache for default getReadBuf\n\n\tmaxWriteSize uint32 // zero means unlimited; TODO: implement\n\n\tw    io.Writer\n\twbuf []byte\n\n\t// AllowIllegalWrites permits the Framer's Write methods to\n\t// write frames that do not conform to the HTTP/2 spec. This\n\t// permits using the Framer to test other HTTP/2\n\t// implementations' conformance to the spec.\n\t// If false, the Write methods will prefer to return an error\n\t// rather than comply.\n\tAllowIllegalWrites bool\n\n\t// AllowIllegalReads permits the Framer's ReadFrame method\n\t// to return non-compliant frames or frame orders.\n\t// This is for testing and permits using the Framer to test\n\t// other HTTP/2 implementations' conformance to the spec.\n\t// It is not compatible with ReadMetaHeaders.\n\tAllowIllegalReads bool\n\n\t// ReadMetaHeaders if non-nil causes ReadFrame to merge\n\t// HEADERS and CONTINUATION frames together and return\n\t// MetaHeadersFrame instead.\n\tReadMetaHeaders *hpack.Decoder\n\n\t// MaxHeaderListSize is the http2 MAX_HEADER_LIST_SIZE.\n\t// It's used only if ReadMetaHeaders is set; 0 means a sane default\n\t// (currently 16MB)\n\t// If the limit is hit, MetaHeadersFrame.Truncated is set true.\n\tMaxHeaderListSize uint32\n\n\t// TODO: track which type of frame & with which flags was sent\n\t// last. Then return an error (unless AllowIllegalWrites) if\n\t// we're in the middle of a header block and a\n\t// non-Continuation or Continuation on a different stream is\n\t// attempted to be written.\n\n\tlogReads, logWrites bool\n\n\tdebugFramer       *Framer // only use for logging written writes\n\tdebugFramerBuf    *bytes.Buffer\n\tdebugReadLoggerf  func(string, ...interface{})\n\tdebugWriteLoggerf func(string, ...interface{})\n\n\tframeCache *frameCache // nil if frames aren't reused (default)\n}\n\nfunc (fr *Framer) maxHeaderListSize() uint32 {\n\tif fr.MaxHeaderListSize == 0 {\n\t\treturn 16 << 20 // sane default, per docs\n\t}\n\treturn fr.MaxHeaderListSize\n}\n\nfunc (f *Framer) startWrite(ftype FrameType, flags Flags, streamID uint32) {\n\t// Write the FrameHeader.\n\tf.wbuf = append(f.wbuf[:0],\n\t\t0, // 3 bytes of length, filled in in endWrite\n\t\t0,\n\t\t0,\n\t\tbyte(ftype),\n\t\tbyte(flags),\n\t\tbyte(streamID>>24),\n\t\tbyte(streamID>>16),\n\t\tbyte(streamID>>8),\n\t\tbyte(streamID))\n}\n\nfunc (f *Framer) endWrite() error {\n\t// Now that we know the final size, fill in the FrameHeader in\n\t// the space previously reserved for it. Abuse append.\n\tlength := len(f.wbuf) - frameHeaderLen\n\tif length >= (1 << 24) {\n\t\treturn ErrFrameTooLarge\n\t}\n\t_ = append(f.wbuf[:0],\n\t\tbyte(length>>16),\n\t\tbyte(length>>8),\n\t\tbyte(length))\n\tif f.logWrites {\n\t\tf.logWrite()\n\t}\n\n\tn, err := f.w.Write(f.wbuf)\n\tif err == nil && n != len(f.wbuf) {\n\t\terr = io.ErrShortWrite\n\t}\n\treturn err\n}\n\nfunc (f *Framer) logWrite() {\n\tif f.debugFramer == nil {\n\t\tf.debugFramerBuf = new(bytes.Buffer)\n\t\tf.debugFramer = NewFramer(nil, f.debugFramerBuf)\n\t\tf.debugFramer.logReads = false // we log it ourselves, saying \"wrote\" below\n\t\t// Let us read anything, even if we accidentally wrote it\n\t\t// in the wrong order:\n\t\tf.debugFramer.AllowIllegalReads = true\n\t}\n\tf.debugFramerBuf.Write(f.wbuf)\n\tfr, err := f.debugFramer.ReadFrame()\n\tif err != nil {\n\t\tf.debugWriteLoggerf(\"http2: Framer %p: failed to decode just-written frame\", f)\n\t\treturn\n\t}\n\tf.debugWriteLoggerf(\"http2: Framer %p: wrote %v\", f, summarizeFrame(fr))\n}\n\nfunc (f *Framer) writeByte(v byte)     { f.wbuf = append(f.wbuf, v) }\nfunc (f *Framer) writeBytes(v []byte)  { f.wbuf = append(f.wbuf, v...) }\nfunc (f *Framer) writeUint16(v uint16) { f.wbuf = append(f.wbuf, byte(v>>8), byte(v)) }\nfunc (f *Framer) writeUint32(v uint32) {\n\tf.wbuf = append(f.wbuf, byte(v>>24), byte(v>>16), byte(v>>8), byte(v))\n}\n\nconst (\n\tminMaxFrameSize = 1 << 14\n\tmaxFrameSize    = 1<<24 - 1\n)\n\n// SetReuseFrames allows the Framer to reuse Frames.\n// If called on a Framer, Frames returned by calls to ReadFrame are only\n// valid until the next call to ReadFrame.\nfunc (fr *Framer) SetReuseFrames() {\n\tif fr.frameCache != nil {\n\t\treturn\n\t}\n\tfr.frameCache = &frameCache{}\n}\n\ntype frameCache struct {\n\tdataFrame DataFrame\n}\n\nfunc (fc *frameCache) getDataFrame() *DataFrame {\n\tif fc == nil {\n\t\treturn &DataFrame{}\n\t}\n\treturn &fc.dataFrame\n}\n\n// NewFramer returns a Framer that writes frames to w and reads them from r.\nfunc NewFramer(w io.Writer, r io.Reader) *Framer {\n\tfr := &Framer{\n\t\tw:                 w,\n\t\tr:                 r,\n\t\tlogReads:          logFrameReads,\n\t\tlogWrites:         logFrameWrites,\n\t\tdebugReadLoggerf:  log.Printf,\n\t\tdebugWriteLoggerf: log.Printf,\n\t}\n\tfr.getReadBuf = func(size uint32) []byte {\n\t\tif cap(fr.readBuf) >= int(size) {\n\t\t\treturn fr.readBuf[:size]\n\t\t}\n\t\tfr.readBuf = make([]byte, size)\n\t\treturn fr.readBuf\n\t}\n\tfr.SetMaxReadFrameSize(maxFrameSize)\n\treturn fr\n}\n\n// SetMaxReadFrameSize sets the maximum size of a frame\n// that will be read by a subsequent call to ReadFrame.\n// It is the caller's responsibility to advertise this\n// limit with a SETTINGS frame.\nfunc (fr *Framer) SetMaxReadFrameSize(v uint32) {\n\tif v > maxFrameSize {\n\t\tv = maxFrameSize\n\t}\n\tfr.maxReadSize = v\n}\n\n// ErrorDetail returns a more detailed error of the last error\n// returned by Framer.ReadFrame. For instance, if ReadFrame\n// returns a StreamError with code PROTOCOL_ERROR, ErrorDetail\n// will say exactly what was invalid. ErrorDetail is not guaranteed\n// to return a non-nil value and like the rest of the http2 package,\n// its return value is not protected by an API compatibility promise.\n// ErrorDetail is reset after the next call to ReadFrame.\nfunc (fr *Framer) ErrorDetail() error {\n\treturn fr.errDetail\n}\n\n// ErrFrameTooLarge is returned from Framer.ReadFrame when the peer\n// sends a frame that is larger than declared with SetMaxReadFrameSize.\nvar ErrFrameTooLarge = errors.New(\"http2: frame too large\")\n\n// terminalReadFrameError reports whether err is an unrecoverable\n// error from ReadFrame and no other frames should be read.\nfunc terminalReadFrameError(err error) bool {\n\tif _, ok := err.(StreamError); ok {\n\t\treturn false\n\t}\n\treturn err != nil\n}\n\n// ReadFrame reads a single frame. The returned Frame is only valid\n// until the next call to ReadFrame.\n//\n// If the frame is larger than previously set with SetMaxReadFrameSize, the\n// returned error is ErrFrameTooLarge. Other errors may be of type\n// ConnectionError, StreamError, or anything else from the underlying\n// reader.\nfunc (fr *Framer) ReadFrame() (Frame, error) {\n\tfr.errDetail = nil\n\tif fr.lastFrame != nil {\n\t\tfr.lastFrame.invalidate()\n\t}\n\tfh, err := readFrameHeader(fr.headerBuf[:], fr.r)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif fh.Length > fr.maxReadSize {\n\t\treturn nil, ErrFrameTooLarge\n\t}\n\tpayload := fr.getReadBuf(fh.Length)\n\tif _, err := io.ReadFull(fr.r, payload); err != nil {\n\t\treturn nil, err\n\t}\n\tf, err := typeFrameParser(fh.Type)(fr.frameCache, fh, payload)\n\tif err != nil {\n\t\tif ce, ok := err.(connError); ok {\n\t\t\treturn nil, fr.connError(ce.Code, ce.Reason)\n\t\t}\n\t\treturn nil, err\n\t}\n\tif err := fr.checkFrameOrder(f); err != nil {\n\t\treturn nil, err\n\t}\n\tif fr.logReads {\n\t\tfr.debugReadLoggerf(\"http2: Framer %p: read %v\", fr, summarizeFrame(f))\n\t}\n\tif fh.Type == FrameHeaders && fr.ReadMetaHeaders != nil {\n\t\treturn fr.readMetaFrame(f.(*HeadersFrame))\n\t}\n\treturn f, nil\n}\n\n// connError returns ConnectionError(code) but first\n// stashes away a public reason to the caller can optionally relay it\n// to the peer before hanging up on them. This might help others debug\n// their implementations.\nfunc (fr *Framer) connError(code ErrCode, reason string) error {\n\tfr.errDetail = errors.New(reason)\n\treturn ConnectionError(code)\n}\n\n// checkFrameOrder reports an error if f is an invalid frame to return\n// next from ReadFrame. Mostly it checks whether HEADERS and\n// CONTINUATION frames are contiguous.\nfunc (fr *Framer) checkFrameOrder(f Frame) error {\n\tlast := fr.lastFrame\n\tfr.lastFrame = f\n\tif fr.AllowIllegalReads {\n\t\treturn nil\n\t}\n\n\tfh := f.Header()\n\tif fr.lastHeaderStream != 0 {\n\t\tif fh.Type != FrameContinuation {\n\t\t\treturn fr.connError(ErrCodeProtocol,\n\t\t\t\tfmt.Sprintf(\"got %s for stream %d; expected CONTINUATION following %s for stream %d\",\n\t\t\t\t\tfh.Type, fh.StreamID,\n\t\t\t\t\tlast.Header().Type, fr.lastHeaderStream))\n\t\t}\n\t\tif fh.StreamID != fr.lastHeaderStream {\n\t\t\treturn fr.connError(ErrCodeProtocol,\n\t\t\t\tfmt.Sprintf(\"got CONTINUATION for stream %d; expected stream %d\",\n\t\t\t\t\tfh.StreamID, fr.lastHeaderStream))\n\t\t}\n\t} else if fh.Type == FrameContinuation {\n\t\treturn fr.connError(ErrCodeProtocol, fmt.Sprintf(\"unexpected CONTINUATION for stream %d\", fh.StreamID))\n\t}\n\n\tswitch fh.Type {\n\tcase FrameHeaders, FrameContinuation:\n\t\tif fh.Flags.Has(FlagHeadersEndHeaders) {\n\t\t\tfr.lastHeaderStream = 0\n\t\t} else {\n\t\t\tfr.lastHeaderStream = fh.StreamID\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// A DataFrame conveys arbitrary, variable-length sequences of octets\n// associated with a stream.\n// See http://http2.github.io/http2-spec/#rfc.section.6.1\ntype DataFrame struct {\n\tFrameHeader\n\tdata []byte\n}\n\nfunc (f *DataFrame) StreamEnded() bool {\n\treturn f.FrameHeader.Flags.Has(FlagDataEndStream)\n}\n\n// Data returns the frame's data octets, not including any padding\n// size byte or padding suffix bytes.\n// The caller must not retain the returned memory past the next\n// call to ReadFrame.\nfunc (f *DataFrame) Data() []byte {\n\tf.checkValid()\n\treturn f.data\n}\n\nfunc parseDataFrame(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error) {\n\tif fh.StreamID == 0 {\n\t\t// DATA frames MUST be associated with a stream. If a\n\t\t// DATA frame is received whose stream identifier\n\t\t// field is 0x0, the recipient MUST respond with a\n\t\t// connection error (Section 5.4.1) of type\n\t\t// PROTOCOL_ERROR.\n\t\treturn nil, connError{ErrCodeProtocol, \"DATA frame with stream ID 0\"}\n\t}\n\tf := fc.getDataFrame()\n\tf.FrameHeader = fh\n\n\tvar padSize byte\n\tif fh.Flags.Has(FlagDataPadded) {\n\t\tvar err error\n\t\tpayload, padSize, err = readByte(payload)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tif int(padSize) > len(payload) {\n\t\t// If the length of the padding is greater than the\n\t\t// length of the frame payload, the recipient MUST\n\t\t// treat this as a connection error.\n\t\t// Filed: https://github.com/http2/http2-spec/issues/610\n\t\treturn nil, connError{ErrCodeProtocol, \"pad size larger than data payload\"}\n\t}\n\tf.data = payload[:len(payload)-int(padSize)]\n\treturn f, nil\n}\n\nvar (\n\terrStreamID    = errors.New(\"invalid stream ID\")\n\terrDepStreamID = errors.New(\"invalid dependent stream ID\")\n\terrPadLength   = errors.New(\"pad length too large\")\n\terrPadBytes    = errors.New(\"padding bytes must all be zeros unless AllowIllegalWrites is enabled\")\n)\n\nfunc validStreamIDOrZero(streamID uint32) bool {\n\treturn streamID&(1<<31) == 0\n}\n\nfunc validStreamID(streamID uint32) bool {\n\treturn streamID != 0 && streamID&(1<<31) == 0\n}\n\n// WriteData writes a DATA frame.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility not to violate the maximum frame size\n// and to not call other Write methods concurrently.\nfunc (f *Framer) WriteData(streamID uint32, endStream bool, data []byte) error {\n\treturn f.WriteDataPadded(streamID, endStream, data, nil)\n}\n\n// WriteData writes a DATA frame with optional padding.\n//\n// If pad is nil, the padding bit is not sent.\n// The length of pad must not exceed 255 bytes.\n// The bytes of pad must all be zero, unless f.AllowIllegalWrites is set.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility not to violate the maximum frame size\n// and to not call other Write methods concurrently.\nfunc (f *Framer) WriteDataPadded(streamID uint32, endStream bool, data, pad []byte) error {\n\tif !validStreamID(streamID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tif len(pad) > 0 {\n\t\tif len(pad) > 255 {\n\t\t\treturn errPadLength\n\t\t}\n\t\tif !f.AllowIllegalWrites {\n\t\t\tfor _, b := range pad {\n\t\t\t\tif b != 0 {\n\t\t\t\t\t// \"Padding octets MUST be set to zero when sending.\"\n\t\t\t\t\treturn errPadBytes\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvar flags Flags\n\tif endStream {\n\t\tflags |= FlagDataEndStream\n\t}\n\tif pad != nil {\n\t\tflags |= FlagDataPadded\n\t}\n\tf.startWrite(FrameData, flags, streamID)\n\tif pad != nil {\n\t\tf.wbuf = append(f.wbuf, byte(len(pad)))\n\t}\n\tf.wbuf = append(f.wbuf, data...)\n\tf.wbuf = append(f.wbuf, pad...)\n\treturn f.endWrite()\n}\n\n// A SettingsFrame conveys configuration parameters that affect how\n// endpoints communicate, such as preferences and constraints on peer\n// behavior.\n//\n// See http://http2.github.io/http2-spec/#SETTINGS\ntype SettingsFrame struct {\n\tFrameHeader\n\tp []byte\n}\n\nfunc parseSettingsFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {\n\tif fh.Flags.Has(FlagSettingsAck) && fh.Length > 0 {\n\t\t// When this (ACK 0x1) bit is set, the payload of the\n\t\t// SETTINGS frame MUST be empty. Receipt of a\n\t\t// SETTINGS frame with the ACK flag set and a length\n\t\t// field value other than 0 MUST be treated as a\n\t\t// connection error (Section 5.4.1) of type\n\t\t// FRAME_SIZE_ERROR.\n\t\treturn nil, ConnectionError(ErrCodeFrameSize)\n\t}\n\tif fh.StreamID != 0 {\n\t\t// SETTINGS frames always apply to a connection,\n\t\t// never a single stream. The stream identifier for a\n\t\t// SETTINGS frame MUST be zero (0x0).  If an endpoint\n\t\t// receives a SETTINGS frame whose stream identifier\n\t\t// field is anything other than 0x0, the endpoint MUST\n\t\t// respond with a connection error (Section 5.4.1) of\n\t\t// type PROTOCOL_ERROR.\n\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t}\n\tif len(p)%6 != 0 {\n\t\t// Expecting even number of 6 byte settings.\n\t\treturn nil, ConnectionError(ErrCodeFrameSize)\n\t}\n\tf := &SettingsFrame{FrameHeader: fh, p: p}\n\tif v, ok := f.Value(SettingInitialWindowSize); ok && v > (1<<31)-1 {\n\t\t// Values above the maximum flow control window size of 2^31 - 1 MUST\n\t\t// be treated as a connection error (Section 5.4.1) of type\n\t\t// FLOW_CONTROL_ERROR.\n\t\treturn nil, ConnectionError(ErrCodeFlowControl)\n\t}\n\treturn f, nil\n}\n\nfunc (f *SettingsFrame) IsAck() bool {\n\treturn f.FrameHeader.Flags.Has(FlagSettingsAck)\n}\n\nfunc (f *SettingsFrame) Value(s SettingID) (v uint32, ok bool) {\n\tf.checkValid()\n\tbuf := f.p\n\tfor len(buf) > 0 {\n\t\tsettingID := SettingID(binary.BigEndian.Uint16(buf[:2]))\n\t\tif settingID == s {\n\t\t\treturn binary.BigEndian.Uint32(buf[2:6]), true\n\t\t}\n\t\tbuf = buf[6:]\n\t}\n\treturn 0, false\n}\n\n// ForeachSetting runs fn for each setting.\n// It stops and returns the first error.\nfunc (f *SettingsFrame) ForeachSetting(fn func(Setting) error) error {\n\tf.checkValid()\n\tbuf := f.p\n\tfor len(buf) > 0 {\n\t\tif err := fn(Setting{\n\t\t\tSettingID(binary.BigEndian.Uint16(buf[:2])),\n\t\t\tbinary.BigEndian.Uint32(buf[2:6]),\n\t\t}); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbuf = buf[6:]\n\t}\n\treturn nil\n}\n\n// WriteSettings writes a SETTINGS frame with zero or more settings\n// specified and the ACK bit not set.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WriteSettings(settings ...Setting) error {\n\tf.startWrite(FrameSettings, 0, 0)\n\tfor _, s := range settings {\n\t\tf.writeUint16(uint16(s.ID))\n\t\tf.writeUint32(s.Val)\n\t}\n\treturn f.endWrite()\n}\n\n// WriteSettingsAck writes an empty SETTINGS frame with the ACK bit set.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WriteSettingsAck() error {\n\tf.startWrite(FrameSettings, FlagSettingsAck, 0)\n\treturn f.endWrite()\n}\n\n// A PingFrame is a mechanism for measuring a minimal round trip time\n// from the sender, as well as determining whether an idle connection\n// is still functional.\n// See http://http2.github.io/http2-spec/#rfc.section.6.7\ntype PingFrame struct {\n\tFrameHeader\n\tData [8]byte\n}\n\nfunc (f *PingFrame) IsAck() bool { return f.Flags.Has(FlagPingAck) }\n\nfunc parsePingFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) {\n\tif len(payload) != 8 {\n\t\treturn nil, ConnectionError(ErrCodeFrameSize)\n\t}\n\tif fh.StreamID != 0 {\n\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t}\n\tf := &PingFrame{FrameHeader: fh}\n\tcopy(f.Data[:], payload)\n\treturn f, nil\n}\n\nfunc (f *Framer) WritePing(ack bool, data [8]byte) error {\n\tvar flags Flags\n\tif ack {\n\t\tflags = FlagPingAck\n\t}\n\tf.startWrite(FramePing, flags, 0)\n\tf.writeBytes(data[:])\n\treturn f.endWrite()\n}\n\n// A GoAwayFrame informs the remote peer to stop creating streams on this connection.\n// See http://http2.github.io/http2-spec/#rfc.section.6.8\ntype GoAwayFrame struct {\n\tFrameHeader\n\tLastStreamID uint32\n\tErrCode      ErrCode\n\tdebugData    []byte\n}\n\n// DebugData returns any debug data in the GOAWAY frame. Its contents\n// are not defined.\n// The caller must not retain the returned memory past the next\n// call to ReadFrame.\nfunc (f *GoAwayFrame) DebugData() []byte {\n\tf.checkValid()\n\treturn f.debugData\n}\n\nfunc parseGoAwayFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {\n\tif fh.StreamID != 0 {\n\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t}\n\tif len(p) < 8 {\n\t\treturn nil, ConnectionError(ErrCodeFrameSize)\n\t}\n\treturn &GoAwayFrame{\n\t\tFrameHeader:  fh,\n\t\tLastStreamID: binary.BigEndian.Uint32(p[:4]) & (1<<31 - 1),\n\t\tErrCode:      ErrCode(binary.BigEndian.Uint32(p[4:8])),\n\t\tdebugData:    p[8:],\n\t}, nil\n}\n\nfunc (f *Framer) WriteGoAway(maxStreamID uint32, code ErrCode, debugData []byte) error {\n\tf.startWrite(FrameGoAway, 0, 0)\n\tf.writeUint32(maxStreamID & (1<<31 - 1))\n\tf.writeUint32(uint32(code))\n\tf.writeBytes(debugData)\n\treturn f.endWrite()\n}\n\n// An UnknownFrame is the frame type returned when the frame type is unknown\n// or no specific frame type parser exists.\ntype UnknownFrame struct {\n\tFrameHeader\n\tp []byte\n}\n\n// Payload returns the frame's payload (after the header).  It is not\n// valid to call this method after a subsequent call to\n// Framer.ReadFrame, nor is it valid to retain the returned slice.\n// The memory is owned by the Framer and is invalidated when the next\n// frame is read.\nfunc (f *UnknownFrame) Payload() []byte {\n\tf.checkValid()\n\treturn f.p\n}\n\nfunc parseUnknownFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {\n\treturn &UnknownFrame{fh, p}, nil\n}\n\n// A WindowUpdateFrame is used to implement flow control.\n// See http://http2.github.io/http2-spec/#rfc.section.6.9\ntype WindowUpdateFrame struct {\n\tFrameHeader\n\tIncrement uint32 // never read with high bit set\n}\n\nfunc parseWindowUpdateFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {\n\tif len(p) != 4 {\n\t\treturn nil, ConnectionError(ErrCodeFrameSize)\n\t}\n\tinc := binary.BigEndian.Uint32(p[:4]) & 0x7fffffff // mask off high reserved bit\n\tif inc == 0 {\n\t\t// A receiver MUST treat the receipt of a\n\t\t// WINDOW_UPDATE frame with an flow control window\n\t\t// increment of 0 as a stream error (Section 5.4.2) of\n\t\t// type PROTOCOL_ERROR; errors on the connection flow\n\t\t// control window MUST be treated as a connection\n\t\t// error (Section 5.4.1).\n\t\tif fh.StreamID == 0 {\n\t\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t\t}\n\t\treturn nil, streamError(fh.StreamID, ErrCodeProtocol)\n\t}\n\treturn &WindowUpdateFrame{\n\t\tFrameHeader: fh,\n\t\tIncrement:   inc,\n\t}, nil\n}\n\n// WriteWindowUpdate writes a WINDOW_UPDATE frame.\n// The increment value must be between 1 and 2,147,483,647, inclusive.\n// If the Stream ID is zero, the window update applies to the\n// connection as a whole.\nfunc (f *Framer) WriteWindowUpdate(streamID, incr uint32) error {\n\t// \"The legal range for the increment to the flow control window is 1 to 2^31-1 (2,147,483,647) octets.\"\n\tif (incr < 1 || incr > 2147483647) && !f.AllowIllegalWrites {\n\t\treturn errors.New(\"illegal window increment value\")\n\t}\n\tf.startWrite(FrameWindowUpdate, 0, streamID)\n\tf.writeUint32(incr)\n\treturn f.endWrite()\n}\n\n// A HeadersFrame is used to open a stream and additionally carries a\n// header block fragment.\ntype HeadersFrame struct {\n\tFrameHeader\n\n\t// Priority is set if FlagHeadersPriority is set in the FrameHeader.\n\tPriority PriorityParam\n\n\theaderFragBuf []byte // not owned\n}\n\nfunc (f *HeadersFrame) HeaderBlockFragment() []byte {\n\tf.checkValid()\n\treturn f.headerFragBuf\n}\n\nfunc (f *HeadersFrame) HeadersEnded() bool {\n\treturn f.FrameHeader.Flags.Has(FlagHeadersEndHeaders)\n}\n\nfunc (f *HeadersFrame) StreamEnded() bool {\n\treturn f.FrameHeader.Flags.Has(FlagHeadersEndStream)\n}\n\nfunc (f *HeadersFrame) HasPriority() bool {\n\treturn f.FrameHeader.Flags.Has(FlagHeadersPriority)\n}\n\nfunc parseHeadersFrame(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) {\n\thf := &HeadersFrame{\n\t\tFrameHeader: fh,\n\t}\n\tif fh.StreamID == 0 {\n\t\t// HEADERS frames MUST be associated with a stream. If a HEADERS frame\n\t\t// is received whose stream identifier field is 0x0, the recipient MUST\n\t\t// respond with a connection error (Section 5.4.1) of type\n\t\t// PROTOCOL_ERROR.\n\t\treturn nil, connError{ErrCodeProtocol, \"HEADERS frame with stream ID 0\"}\n\t}\n\tvar padLength uint8\n\tif fh.Flags.Has(FlagHeadersPadded) {\n\t\tif p, padLength, err = readByte(p); err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\tif fh.Flags.Has(FlagHeadersPriority) {\n\t\tvar v uint32\n\t\tp, v, err = readUint32(p)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\thf.Priority.StreamDep = v & 0x7fffffff\n\t\thf.Priority.Exclusive = (v != hf.Priority.StreamDep) // high bit was set\n\t\tp, hf.Priority.Weight, err = readByte(p)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tif len(p)-int(padLength) <= 0 {\n\t\treturn nil, streamError(fh.StreamID, ErrCodeProtocol)\n\t}\n\thf.headerFragBuf = p[:len(p)-int(padLength)]\n\treturn hf, nil\n}\n\n// HeadersFrameParam are the parameters for writing a HEADERS frame.\ntype HeadersFrameParam struct {\n\t// StreamID is the required Stream ID to initiate.\n\tStreamID uint32\n\t// BlockFragment is part (or all) of a Header Block.\n\tBlockFragment []byte\n\n\t// EndStream indicates that the header block is the last that\n\t// the endpoint will send for the identified stream. Setting\n\t// this flag causes the stream to enter one of \"half closed\"\n\t// states.\n\tEndStream bool\n\n\t// EndHeaders indicates that this frame contains an entire\n\t// header block and is not followed by any\n\t// CONTINUATION frames.\n\tEndHeaders bool\n\n\t// PadLength is the optional number of bytes of zeros to add\n\t// to this frame.\n\tPadLength uint8\n\n\t// Priority, if non-zero, includes stream priority information\n\t// in the HEADER frame.\n\tPriority PriorityParam\n}\n\n// WriteHeaders writes a single HEADERS frame.\n//\n// This is a low-level header writing method. Encoding headers and\n// splitting them into any necessary CONTINUATION frames is handled\n// elsewhere.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WriteHeaders(p HeadersFrameParam) error {\n\tif !validStreamID(p.StreamID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tvar flags Flags\n\tif p.PadLength != 0 {\n\t\tflags |= FlagHeadersPadded\n\t}\n\tif p.EndStream {\n\t\tflags |= FlagHeadersEndStream\n\t}\n\tif p.EndHeaders {\n\t\tflags |= FlagHeadersEndHeaders\n\t}\n\tif !p.Priority.IsZero() {\n\t\tflags |= FlagHeadersPriority\n\t}\n\tf.startWrite(FrameHeaders, flags, p.StreamID)\n\tif p.PadLength != 0 {\n\t\tf.writeByte(p.PadLength)\n\t}\n\tif !p.Priority.IsZero() {\n\t\tv := p.Priority.StreamDep\n\t\tif !validStreamIDOrZero(v) && !f.AllowIllegalWrites {\n\t\t\treturn errDepStreamID\n\t\t}\n\t\tif p.Priority.Exclusive {\n\t\t\tv |= 1 << 31\n\t\t}\n\t\tf.writeUint32(v)\n\t\tf.writeByte(p.Priority.Weight)\n\t}\n\tf.wbuf = append(f.wbuf, p.BlockFragment...)\n\tf.wbuf = append(f.wbuf, padZeros[:p.PadLength]...)\n\treturn f.endWrite()\n}\n\n// A PriorityFrame specifies the sender-advised priority of a stream.\n// See http://http2.github.io/http2-spec/#rfc.section.6.3\ntype PriorityFrame struct {\n\tFrameHeader\n\tPriorityParam\n}\n\n// PriorityParam are the stream prioritzation parameters.\ntype PriorityParam struct {\n\t// StreamDep is a 31-bit stream identifier for the\n\t// stream that this stream depends on. Zero means no\n\t// dependency.\n\tStreamDep uint32\n\n\t// Exclusive is whether the dependency is exclusive.\n\tExclusive bool\n\n\t// Weight is the stream's zero-indexed weight. It should be\n\t// set together with StreamDep, or neither should be set. Per\n\t// the spec, \"Add one to the value to obtain a weight between\n\t// 1 and 256.\"\n\tWeight uint8\n}\n\nfunc (p PriorityParam) IsZero() bool {\n\treturn p == PriorityParam{}\n}\n\nfunc parsePriorityFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) {\n\tif fh.StreamID == 0 {\n\t\treturn nil, connError{ErrCodeProtocol, \"PRIORITY frame with stream ID 0\"}\n\t}\n\tif len(payload) != 5 {\n\t\treturn nil, connError{ErrCodeFrameSize, fmt.Sprintf(\"PRIORITY frame payload size was %d; want 5\", len(payload))}\n\t}\n\tv := binary.BigEndian.Uint32(payload[:4])\n\tstreamID := v & 0x7fffffff // mask off high bit\n\treturn &PriorityFrame{\n\t\tFrameHeader: fh,\n\t\tPriorityParam: PriorityParam{\n\t\t\tWeight:    payload[4],\n\t\t\tStreamDep: streamID,\n\t\t\tExclusive: streamID != v, // was high bit set?\n\t\t},\n\t}, nil\n}\n\n// WritePriority writes a PRIORITY frame.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WritePriority(streamID uint32, p PriorityParam) error {\n\tif !validStreamID(streamID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tif !validStreamIDOrZero(p.StreamDep) {\n\t\treturn errDepStreamID\n\t}\n\tf.startWrite(FramePriority, 0, streamID)\n\tv := p.StreamDep\n\tif p.Exclusive {\n\t\tv |= 1 << 31\n\t}\n\tf.writeUint32(v)\n\tf.writeByte(p.Weight)\n\treturn f.endWrite()\n}\n\n// A RSTStreamFrame allows for abnormal termination of a stream.\n// See http://http2.github.io/http2-spec/#rfc.section.6.4\ntype RSTStreamFrame struct {\n\tFrameHeader\n\tErrCode ErrCode\n}\n\nfunc parseRSTStreamFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {\n\tif len(p) != 4 {\n\t\treturn nil, ConnectionError(ErrCodeFrameSize)\n\t}\n\tif fh.StreamID == 0 {\n\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t}\n\treturn &RSTStreamFrame{fh, ErrCode(binary.BigEndian.Uint32(p[:4]))}, nil\n}\n\n// WriteRSTStream writes a RST_STREAM frame.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WriteRSTStream(streamID uint32, code ErrCode) error {\n\tif !validStreamID(streamID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tf.startWrite(FrameRSTStream, 0, streamID)\n\tf.writeUint32(uint32(code))\n\treturn f.endWrite()\n}\n\n// A ContinuationFrame is used to continue a sequence of header block fragments.\n// See http://http2.github.io/http2-spec/#rfc.section.6.10\ntype ContinuationFrame struct {\n\tFrameHeader\n\theaderFragBuf []byte\n}\n\nfunc parseContinuationFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {\n\tif fh.StreamID == 0 {\n\t\treturn nil, connError{ErrCodeProtocol, \"CONTINUATION frame with stream ID 0\"}\n\t}\n\treturn &ContinuationFrame{fh, p}, nil\n}\n\nfunc (f *ContinuationFrame) HeaderBlockFragment() []byte {\n\tf.checkValid()\n\treturn f.headerFragBuf\n}\n\nfunc (f *ContinuationFrame) HeadersEnded() bool {\n\treturn f.FrameHeader.Flags.Has(FlagContinuationEndHeaders)\n}\n\n// WriteContinuation writes a CONTINUATION frame.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WriteContinuation(streamID uint32, endHeaders bool, headerBlockFragment []byte) error {\n\tif !validStreamID(streamID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tvar flags Flags\n\tif endHeaders {\n\t\tflags |= FlagContinuationEndHeaders\n\t}\n\tf.startWrite(FrameContinuation, flags, streamID)\n\tf.wbuf = append(f.wbuf, headerBlockFragment...)\n\treturn f.endWrite()\n}\n\n// A PushPromiseFrame is used to initiate a server stream.\n// See http://http2.github.io/http2-spec/#rfc.section.6.6\ntype PushPromiseFrame struct {\n\tFrameHeader\n\tPromiseID     uint32\n\theaderFragBuf []byte // not owned\n}\n\nfunc (f *PushPromiseFrame) HeaderBlockFragment() []byte {\n\tf.checkValid()\n\treturn f.headerFragBuf\n}\n\nfunc (f *PushPromiseFrame) HeadersEnded() bool {\n\treturn f.FrameHeader.Flags.Has(FlagPushPromiseEndHeaders)\n}\n\nfunc parsePushPromise(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) {\n\tpp := &PushPromiseFrame{\n\t\tFrameHeader: fh,\n\t}\n\tif pp.StreamID == 0 {\n\t\t// PUSH_PROMISE frames MUST be associated with an existing,\n\t\t// peer-initiated stream. The stream identifier of a\n\t\t// PUSH_PROMISE frame indicates the stream it is associated\n\t\t// with. If the stream identifier field specifies the value\n\t\t// 0x0, a recipient MUST respond with a connection error\n\t\t// (Section 5.4.1) of type PROTOCOL_ERROR.\n\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t}\n\t// The PUSH_PROMISE frame includes optional padding.\n\t// Padding fields and flags are identical to those defined for DATA frames\n\tvar padLength uint8\n\tif fh.Flags.Has(FlagPushPromisePadded) {\n\t\tif p, padLength, err = readByte(p); err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\n\tp, pp.PromiseID, err = readUint32(p)\n\tif err != nil {\n\t\treturn\n\t}\n\tpp.PromiseID = pp.PromiseID & (1<<31 - 1)\n\n\tif int(padLength) > len(p) {\n\t\t// like the DATA frame, error out if padding is longer than the body.\n\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t}\n\tpp.headerFragBuf = p[:len(p)-int(padLength)]\n\treturn pp, nil\n}\n\n// PushPromiseParam are the parameters for writing a PUSH_PROMISE frame.\ntype PushPromiseParam struct {\n\t// StreamID is the required Stream ID to initiate.\n\tStreamID uint32\n\n\t// PromiseID is the required Stream ID which this\n\t// Push Promises\n\tPromiseID uint32\n\n\t// BlockFragment is part (or all) of a Header Block.\n\tBlockFragment []byte\n\n\t// EndHeaders indicates that this frame contains an entire\n\t// header block and is not followed by any\n\t// CONTINUATION frames.\n\tEndHeaders bool\n\n\t// PadLength is the optional number of bytes of zeros to add\n\t// to this frame.\n\tPadLength uint8\n}\n\n// WritePushPromise writes a single PushPromise Frame.\n//\n// As with Header Frames, This is the low level call for writing\n// individual frames. Continuation frames are handled elsewhere.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WritePushPromise(p PushPromiseParam) error {\n\tif !validStreamID(p.StreamID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tvar flags Flags\n\tif p.PadLength != 0 {\n\t\tflags |= FlagPushPromisePadded\n\t}\n\tif p.EndHeaders {\n\t\tflags |= FlagPushPromiseEndHeaders\n\t}\n\tf.startWrite(FramePushPromise, flags, p.StreamID)\n\tif p.PadLength != 0 {\n\t\tf.writeByte(p.PadLength)\n\t}\n\tif !validStreamID(p.PromiseID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tf.writeUint32(p.PromiseID)\n\tf.wbuf = append(f.wbuf, p.BlockFragment...)\n\tf.wbuf = append(f.wbuf, padZeros[:p.PadLength]...)\n\treturn f.endWrite()\n}\n\n// WriteRawFrame writes a raw frame. This can be used to write\n// extension frames unknown to this package.\nfunc (f *Framer) WriteRawFrame(t FrameType, flags Flags, streamID uint32, payload []byte) error {\n\tf.startWrite(t, flags, streamID)\n\tf.writeBytes(payload)\n\treturn f.endWrite()\n}\n\nfunc readByte(p []byte) (remain []byte, b byte, err error) {\n\tif len(p) == 0 {\n\t\treturn nil, 0, io.ErrUnexpectedEOF\n\t}\n\treturn p[1:], p[0], nil\n}\n\nfunc readUint32(p []byte) (remain []byte, v uint32, err error) {\n\tif len(p) < 4 {\n\t\treturn nil, 0, io.ErrUnexpectedEOF\n\t}\n\treturn p[4:], binary.BigEndian.Uint32(p[:4]), nil\n}\n\ntype streamEnder interface {\n\tStreamEnded() bool\n}\n\ntype headersEnder interface {\n\tHeadersEnded() bool\n}\n\ntype headersOrContinuation interface {\n\theadersEnder\n\tHeaderBlockFragment() []byte\n}\n\n// A MetaHeadersFrame is the representation of one HEADERS frame and\n// zero or more contiguous CONTINUATION frames and the decoding of\n// their HPACK-encoded contents.\n//\n// This type of frame does not appear on the wire and is only returned\n// by the Framer when Framer.ReadMetaHeaders is set.\ntype MetaHeadersFrame struct {\n\t*HeadersFrame\n\n\t// Fields are the fields contained in the HEADERS and\n\t// CONTINUATION frames. The underlying slice is owned by the\n\t// Framer and must not be retained after the next call to\n\t// ReadFrame.\n\t//\n\t// Fields are guaranteed to be in the correct http2 order and\n\t// not have unknown pseudo header fields or invalid header\n\t// field names or values. Required pseudo header fields may be\n\t// missing, however. Use the MetaHeadersFrame.Pseudo accessor\n\t// method access pseudo headers.\n\tFields []hpack.HeaderField\n\n\t// Truncated is whether the max header list size limit was hit\n\t// and Fields is incomplete. The hpack decoder state is still\n\t// valid, however.\n\tTruncated bool\n}\n\n// PseudoValue returns the given pseudo header field's value.\n// The provided pseudo field should not contain the leading colon.\nfunc (mh *MetaHeadersFrame) PseudoValue(pseudo string) string {\n\tfor _, hf := range mh.Fields {\n\t\tif !hf.IsPseudo() {\n\t\t\treturn \"\"\n\t\t}\n\t\tif hf.Name[1:] == pseudo {\n\t\t\treturn hf.Value\n\t\t}\n\t}\n\treturn \"\"\n}\n\n// RegularFields returns the regular (non-pseudo) header fields of mh.\n// The caller does not own the returned slice.\nfunc (mh *MetaHeadersFrame) RegularFields() []hpack.HeaderField {\n\tfor i, hf := range mh.Fields {\n\t\tif !hf.IsPseudo() {\n\t\t\treturn mh.Fields[i:]\n\t\t}\n\t}\n\treturn nil\n}\n\n// PseudoFields returns the pseudo header fields of mh.\n// The caller does not own the returned slice.\nfunc (mh *MetaHeadersFrame) PseudoFields() []hpack.HeaderField {\n\tfor i, hf := range mh.Fields {\n\t\tif !hf.IsPseudo() {\n\t\t\treturn mh.Fields[:i]\n\t\t}\n\t}\n\treturn mh.Fields\n}\n\nfunc (mh *MetaHeadersFrame) checkPseudos() error {\n\tvar isRequest, isResponse bool\n\tpf := mh.PseudoFields()\n\tfor i, hf := range pf {\n\t\tswitch hf.Name {\n\t\tcase \":method\", \":path\", \":scheme\", \":authority\":\n\t\t\tisRequest = true\n\t\tcase \":status\":\n\t\t\tisResponse = true\n\t\tdefault:\n\t\t\treturn pseudoHeaderError(hf.Name)\n\t\t}\n\t\t// Check for duplicates.\n\t\t// This would be a bad algorithm, but N is 4.\n\t\t// And this doesn't allocate.\n\t\tfor _, hf2 := range pf[:i] {\n\t\t\tif hf.Name == hf2.Name {\n\t\t\t\treturn duplicatePseudoHeaderError(hf.Name)\n\t\t\t}\n\t\t}\n\t}\n\tif isRequest && isResponse {\n\t\treturn errMixPseudoHeaderTypes\n\t}\n\treturn nil\n}\n\nfunc (fr *Framer) maxHeaderStringLen() int {\n\tv := fr.maxHeaderListSize()\n\tif uint32(int(v)) == v {\n\t\treturn int(v)\n\t}\n\t// They had a crazy big number for MaxHeaderBytes anyway,\n\t// so give them unlimited header lengths:\n\treturn 0\n}\n\n// readMetaFrame returns 0 or more CONTINUATION frames from fr and\n// merge them into into the provided hf and returns a MetaHeadersFrame\n// with the decoded hpack values.\nfunc (fr *Framer) readMetaFrame(hf *HeadersFrame) (*MetaHeadersFrame, error) {\n\tif fr.AllowIllegalReads {\n\t\treturn nil, errors.New(\"illegal use of AllowIllegalReads with ReadMetaHeaders\")\n\t}\n\tmh := &MetaHeadersFrame{\n\t\tHeadersFrame: hf,\n\t}\n\tvar remainSize = fr.maxHeaderListSize()\n\tvar sawRegular bool\n\n\tvar invalid error // pseudo header field errors\n\thdec := fr.ReadMetaHeaders\n\thdec.SetEmitEnabled(true)\n\thdec.SetMaxStringLength(fr.maxHeaderStringLen())\n\thdec.SetEmitFunc(func(hf hpack.HeaderField) {\n\t\tif VerboseLogs && fr.logReads {\n\t\t\tfr.debugReadLoggerf(\"http2: decoded hpack field %+v\", hf)\n\t\t}\n\t\tif !httplex.ValidHeaderFieldValue(hf.Value) {\n\t\t\tinvalid = headerFieldValueError(hf.Value)\n\t\t}\n\t\tisPseudo := strings.HasPrefix(hf.Name, \":\")\n\t\tif isPseudo {\n\t\t\tif sawRegular {\n\t\t\t\tinvalid = errPseudoAfterRegular\n\t\t\t}\n\t\t} else {\n\t\t\tsawRegular = true\n\t\t\tif !validWireHeaderFieldName(hf.Name) {\n\t\t\t\tinvalid = headerFieldNameError(hf.Name)\n\t\t\t}\n\t\t}\n\n\t\tif invalid != nil {\n\t\t\thdec.SetEmitEnabled(false)\n\t\t\treturn\n\t\t}\n\n\t\tsize := hf.Size()\n\t\tif size > remainSize {\n\t\t\thdec.SetEmitEnabled(false)\n\t\t\tmh.Truncated = true\n\t\t\treturn\n\t\t}\n\t\tremainSize -= size\n\n\t\tmh.Fields = append(mh.Fields, hf)\n\t})\n\t// Lose reference to MetaHeadersFrame:\n\tdefer hdec.SetEmitFunc(func(hf hpack.HeaderField) {})\n\n\tvar hc headersOrContinuation = hf\n\tfor {\n\t\tfrag := hc.HeaderBlockFragment()\n\t\tif _, err := hdec.Write(frag); err != nil {\n\t\t\treturn nil, ConnectionError(ErrCodeCompression)\n\t\t}\n\n\t\tif hc.HeadersEnded() {\n\t\t\tbreak\n\t\t}\n\t\tif f, err := fr.ReadFrame(); err != nil {\n\t\t\treturn nil, err\n\t\t} else {\n\t\t\thc = f.(*ContinuationFrame) // guaranteed by checkFrameOrder\n\t\t}\n\t}\n\n\tmh.HeadersFrame.headerFragBuf = nil\n\tmh.HeadersFrame.invalidate()\n\n\tif err := hdec.Close(); err != nil {\n\t\treturn nil, ConnectionError(ErrCodeCompression)\n\t}\n\tif invalid != nil {\n\t\tfr.errDetail = invalid\n\t\tif VerboseLogs {\n\t\t\tlog.Printf(\"http2: invalid header: %v\", invalid)\n\t\t}\n\t\treturn nil, StreamError{mh.StreamID, ErrCodeProtocol, invalid}\n\t}\n\tif err := mh.checkPseudos(); err != nil {\n\t\tfr.errDetail = err\n\t\tif VerboseLogs {\n\t\t\tlog.Printf(\"http2: invalid pseudo headers: %v\", err)\n\t\t}\n\t\treturn nil, StreamError{mh.StreamID, ErrCodeProtocol, err}\n\t}\n\treturn mh, nil\n}\n\nfunc summarizeFrame(f Frame) string {\n\tvar buf bytes.Buffer\n\tf.Header().writeDebug(&buf)\n\tswitch f := f.(type) {\n\tcase *SettingsFrame:\n\t\tn := 0\n\t\tf.ForeachSetting(func(s Setting) error {\n\t\t\tn++\n\t\t\tif n == 1 {\n\t\t\t\tbuf.WriteString(\", settings:\")\n\t\t\t}\n\t\t\tfmt.Fprintf(&buf, \" %v=%v,\", s.ID, s.Val)\n\t\t\treturn nil\n\t\t})\n\t\tif n > 0 {\n\t\t\tbuf.Truncate(buf.Len() - 1) // remove trailing comma\n\t\t}\n\tcase *DataFrame:\n\t\tdata := f.Data()\n\t\tconst max = 256\n\t\tif len(data) > max {\n\t\t\tdata = data[:max]\n\t\t}\n\t\tfmt.Fprintf(&buf, \" data=%q\", data)\n\t\tif len(f.Data()) > max {\n\t\t\tfmt.Fprintf(&buf, \" (%d bytes omitted)\", len(f.Data())-max)\n\t\t}\n\tcase *WindowUpdateFrame:\n\t\tif f.StreamID == 0 {\n\t\t\tbuf.WriteString(\" (conn)\")\n\t\t}\n\t\tfmt.Fprintf(&buf, \" incr=%v\", f.Increment)\n\tcase *PingFrame:\n\t\tfmt.Fprintf(&buf, \" ping=%q\", f.Data[:])\n\tcase *GoAwayFrame:\n\t\tfmt.Fprintf(&buf, \" LastStreamID=%v ErrCode=%v Debug=%q\",\n\t\t\tf.LastStreamID, f.ErrCode, f.debugData)\n\tcase *RSTStreamFrame:\n\t\tfmt.Fprintf(&buf, \" ErrCode=%v\", f.ErrCode)\n\t}\n\treturn buf.String()\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/go16.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.6\n\npackage http2\n\nimport (\n\t\"net/http\"\n\t\"time\"\n)\n\nfunc transportExpectContinueTimeout(t1 *http.Transport) time.Duration {\n\treturn t1.ExpectContinueTimeout\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/go17.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.7\n\npackage http2\n\nimport (\n\t\"context\"\n\t\"net\"\n\t\"net/http\"\n\t\"net/http/httptrace\"\n\t\"time\"\n)\n\ntype contextContext interface {\n\tcontext.Context\n}\n\nfunc serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx contextContext, cancel func()) {\n\tctx, cancel = context.WithCancel(context.Background())\n\tctx = context.WithValue(ctx, http.LocalAddrContextKey, c.LocalAddr())\n\tif hs := opts.baseConfig(); hs != nil {\n\t\tctx = context.WithValue(ctx, http.ServerContextKey, hs)\n\t}\n\treturn\n}\n\nfunc contextWithCancel(ctx contextContext) (_ contextContext, cancel func()) {\n\treturn context.WithCancel(ctx)\n}\n\nfunc requestWithContext(req *http.Request, ctx contextContext) *http.Request {\n\treturn req.WithContext(ctx)\n}\n\ntype clientTrace httptrace.ClientTrace\n\nfunc reqContext(r *http.Request) context.Context { return r.Context() }\n\nfunc (t *Transport) idleConnTimeout() time.Duration {\n\tif t.t1 != nil {\n\t\treturn t.t1.IdleConnTimeout\n\t}\n\treturn 0\n}\n\nfunc setResponseUncompressed(res *http.Response) { res.Uncompressed = true }\n\nfunc traceGotConn(req *http.Request, cc *ClientConn) {\n\ttrace := httptrace.ContextClientTrace(req.Context())\n\tif trace == nil || trace.GotConn == nil {\n\t\treturn\n\t}\n\tci := httptrace.GotConnInfo{Conn: cc.tconn}\n\tcc.mu.Lock()\n\tci.Reused = cc.nextStreamID > 1\n\tci.WasIdle = len(cc.streams) == 0 && ci.Reused\n\tif ci.WasIdle && !cc.lastActive.IsZero() {\n\t\tci.IdleTime = time.Now().Sub(cc.lastActive)\n\t}\n\tcc.mu.Unlock()\n\n\ttrace.GotConn(ci)\n}\n\nfunc traceWroteHeaders(trace *clientTrace) {\n\tif trace != nil && trace.WroteHeaders != nil {\n\t\ttrace.WroteHeaders()\n\t}\n}\n\nfunc traceGot100Continue(trace *clientTrace) {\n\tif trace != nil && trace.Got100Continue != nil {\n\t\ttrace.Got100Continue()\n\t}\n}\n\nfunc traceWait100Continue(trace *clientTrace) {\n\tif trace != nil && trace.Wait100Continue != nil {\n\t\ttrace.Wait100Continue()\n\t}\n}\n\nfunc traceWroteRequest(trace *clientTrace, err error) {\n\tif trace != nil && trace.WroteRequest != nil {\n\t\ttrace.WroteRequest(httptrace.WroteRequestInfo{Err: err})\n\t}\n}\n\nfunc traceFirstResponseByte(trace *clientTrace) {\n\tif trace != nil && trace.GotFirstResponseByte != nil {\n\t\ttrace.GotFirstResponseByte()\n\t}\n}\n\nfunc requestTrace(req *http.Request) *clientTrace {\n\ttrace := httptrace.ContextClientTrace(req.Context())\n\treturn (*clientTrace)(trace)\n}\n\n// Ping sends a PING frame to the server and waits for the ack.\nfunc (cc *ClientConn) Ping(ctx context.Context) error {\n\treturn cc.ping(ctx)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/go17_not18.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.7,!go1.8\n\npackage http2\n\nimport \"crypto/tls\"\n\n// temporary copy of Go 1.7's private tls.Config.clone:\nfunc cloneTLSConfig(c *tls.Config) *tls.Config {\n\treturn &tls.Config{\n\t\tRand:                        c.Rand,\n\t\tTime:                        c.Time,\n\t\tCertificates:                c.Certificates,\n\t\tNameToCertificate:           c.NameToCertificate,\n\t\tGetCertificate:              c.GetCertificate,\n\t\tRootCAs:                     c.RootCAs,\n\t\tNextProtos:                  c.NextProtos,\n\t\tServerName:                  c.ServerName,\n\t\tClientAuth:                  c.ClientAuth,\n\t\tClientCAs:                   c.ClientCAs,\n\t\tInsecureSkipVerify:          c.InsecureSkipVerify,\n\t\tCipherSuites:                c.CipherSuites,\n\t\tPreferServerCipherSuites:    c.PreferServerCipherSuites,\n\t\tSessionTicketsDisabled:      c.SessionTicketsDisabled,\n\t\tSessionTicketKey:            c.SessionTicketKey,\n\t\tClientSessionCache:          c.ClientSessionCache,\n\t\tMinVersion:                  c.MinVersion,\n\t\tMaxVersion:                  c.MaxVersion,\n\t\tCurvePreferences:            c.CurvePreferences,\n\t\tDynamicRecordSizingDisabled: c.DynamicRecordSizingDisabled,\n\t\tRenegotiation:               c.Renegotiation,\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/go18.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.8\n\npackage http2\n\nimport (\n\t\"crypto/tls\"\n\t\"io\"\n\t\"net/http\"\n)\n\nfunc cloneTLSConfig(c *tls.Config) *tls.Config {\n\tc2 := c.Clone()\n\tc2.GetClientCertificate = c.GetClientCertificate // golang.org/issue/19264\n\treturn c2\n}\n\nvar _ http.Pusher = (*responseWriter)(nil)\n\n// Push implements http.Pusher.\nfunc (w *responseWriter) Push(target string, opts *http.PushOptions) error {\n\tinternalOpts := pushOptions{}\n\tif opts != nil {\n\t\tinternalOpts.Method = opts.Method\n\t\tinternalOpts.Header = opts.Header\n\t}\n\treturn w.push(target, internalOpts)\n}\n\nfunc configureServer18(h1 *http.Server, h2 *Server) error {\n\tif h2.IdleTimeout == 0 {\n\t\tif h1.IdleTimeout != 0 {\n\t\t\th2.IdleTimeout = h1.IdleTimeout\n\t\t} else {\n\t\t\th2.IdleTimeout = h1.ReadTimeout\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc shouldLogPanic(panicValue interface{}) bool {\n\treturn panicValue != nil && panicValue != http.ErrAbortHandler\n}\n\nfunc reqGetBody(req *http.Request) func() (io.ReadCloser, error) {\n\treturn req.GetBody\n}\n\nfunc reqBodyIsNoBody(body io.ReadCloser) bool {\n\treturn body == http.NoBody\n}\n\nfunc go18httpNoBody() io.ReadCloser { return http.NoBody } // for tests only\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/go19.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.9\n\npackage http2\n\nimport (\n\t\"net/http\"\n)\n\nfunc configureServer19(s *http.Server, conf *Server) error {\n\ts.RegisterOnShutdown(conf.state.startGracefulShutdown)\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/gotrack.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Defensive debug-only utility to track that functions run on the\n// goroutine that they're supposed to.\n\npackage http2\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\t\"runtime\"\n\t\"strconv\"\n\t\"sync\"\n)\n\nvar DebugGoroutines = os.Getenv(\"DEBUG_HTTP2_GOROUTINES\") == \"1\"\n\ntype goroutineLock uint64\n\nfunc newGoroutineLock() goroutineLock {\n\tif !DebugGoroutines {\n\t\treturn 0\n\t}\n\treturn goroutineLock(curGoroutineID())\n}\n\nfunc (g goroutineLock) check() {\n\tif !DebugGoroutines {\n\t\treturn\n\t}\n\tif curGoroutineID() != uint64(g) {\n\t\tpanic(\"running on the wrong goroutine\")\n\t}\n}\n\nfunc (g goroutineLock) checkNotOn() {\n\tif !DebugGoroutines {\n\t\treturn\n\t}\n\tif curGoroutineID() == uint64(g) {\n\t\tpanic(\"running on the wrong goroutine\")\n\t}\n}\n\nvar goroutineSpace = []byte(\"goroutine \")\n\nfunc curGoroutineID() uint64 {\n\tbp := littleBuf.Get().(*[]byte)\n\tdefer littleBuf.Put(bp)\n\tb := *bp\n\tb = b[:runtime.Stack(b, false)]\n\t// Parse the 4707 out of \"goroutine 4707 [\"\n\tb = bytes.TrimPrefix(b, goroutineSpace)\n\ti := bytes.IndexByte(b, ' ')\n\tif i < 0 {\n\t\tpanic(fmt.Sprintf(\"No space found in %q\", b))\n\t}\n\tb = b[:i]\n\tn, err := parseUintBytes(b, 10, 64)\n\tif err != nil {\n\t\tpanic(fmt.Sprintf(\"Failed to parse goroutine ID out of %q: %v\", b, err))\n\t}\n\treturn n\n}\n\nvar littleBuf = sync.Pool{\n\tNew: func() interface{} {\n\t\tbuf := make([]byte, 64)\n\t\treturn &buf\n\t},\n}\n\n// parseUintBytes is like strconv.ParseUint, but using a []byte.\nfunc parseUintBytes(s []byte, base int, bitSize int) (n uint64, err error) {\n\tvar cutoff, maxVal uint64\n\n\tif bitSize == 0 {\n\t\tbitSize = int(strconv.IntSize)\n\t}\n\n\ts0 := s\n\tswitch {\n\tcase len(s) < 1:\n\t\terr = strconv.ErrSyntax\n\t\tgoto Error\n\n\tcase 2 <= base && base <= 36:\n\t\t// valid base; nothing to do\n\n\tcase base == 0:\n\t\t// Look for octal, hex prefix.\n\t\tswitch {\n\t\tcase s[0] == '0' && len(s) > 1 && (s[1] == 'x' || s[1] == 'X'):\n\t\t\tbase = 16\n\t\t\ts = s[2:]\n\t\t\tif len(s) < 1 {\n\t\t\t\terr = strconv.ErrSyntax\n\t\t\t\tgoto Error\n\t\t\t}\n\t\tcase s[0] == '0':\n\t\t\tbase = 8\n\t\tdefault:\n\t\t\tbase = 10\n\t\t}\n\n\tdefault:\n\t\terr = errors.New(\"invalid base \" + strconv.Itoa(base))\n\t\tgoto Error\n\t}\n\n\tn = 0\n\tcutoff = cutoff64(base)\n\tmaxVal = 1<<uint(bitSize) - 1\n\n\tfor i := 0; i < len(s); i++ {\n\t\tvar v byte\n\t\td := s[i]\n\t\tswitch {\n\t\tcase '0' <= d && d <= '9':\n\t\t\tv = d - '0'\n\t\tcase 'a' <= d && d <= 'z':\n\t\t\tv = d - 'a' + 10\n\t\tcase 'A' <= d && d <= 'Z':\n\t\t\tv = d - 'A' + 10\n\t\tdefault:\n\t\t\tn = 0\n\t\t\terr = strconv.ErrSyntax\n\t\t\tgoto Error\n\t\t}\n\t\tif int(v) >= base {\n\t\t\tn = 0\n\t\t\terr = strconv.ErrSyntax\n\t\t\tgoto Error\n\t\t}\n\n\t\tif n >= cutoff {\n\t\t\t// n*base overflows\n\t\t\tn = 1<<64 - 1\n\t\t\terr = strconv.ErrRange\n\t\t\tgoto Error\n\t\t}\n\t\tn *= uint64(base)\n\n\t\tn1 := n + uint64(v)\n\t\tif n1 < n || n1 > maxVal {\n\t\t\t// n+v overflows\n\t\t\tn = 1<<64 - 1\n\t\t\terr = strconv.ErrRange\n\t\t\tgoto Error\n\t\t}\n\t\tn = n1\n\t}\n\n\treturn n, nil\n\nError:\n\treturn n, &strconv.NumError{Func: \"ParseUint\", Num: string(s0), Err: err}\n}\n\n// Return the first number n such that n*base >= 1<<64.\nfunc cutoff64(base int) uint64 {\n\tif base < 2 {\n\t\treturn 0\n\t}\n\treturn (1<<64-1)/uint64(base) + 1\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/headermap.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"net/http\"\n\t\"strings\"\n)\n\nvar (\n\tcommonLowerHeader = map[string]string{} // Go-Canonical-Case -> lower-case\n\tcommonCanonHeader = map[string]string{} // lower-case -> Go-Canonical-Case\n)\n\nfunc init() {\n\tfor _, v := range []string{\n\t\t\"accept\",\n\t\t\"accept-charset\",\n\t\t\"accept-encoding\",\n\t\t\"accept-language\",\n\t\t\"accept-ranges\",\n\t\t\"age\",\n\t\t\"access-control-allow-origin\",\n\t\t\"allow\",\n\t\t\"authorization\",\n\t\t\"cache-control\",\n\t\t\"content-disposition\",\n\t\t\"content-encoding\",\n\t\t\"content-language\",\n\t\t\"content-length\",\n\t\t\"content-location\",\n\t\t\"content-range\",\n\t\t\"content-type\",\n\t\t\"cookie\",\n\t\t\"date\",\n\t\t\"etag\",\n\t\t\"expect\",\n\t\t\"expires\",\n\t\t\"from\",\n\t\t\"host\",\n\t\t\"if-match\",\n\t\t\"if-modified-since\",\n\t\t\"if-none-match\",\n\t\t\"if-unmodified-since\",\n\t\t\"last-modified\",\n\t\t\"link\",\n\t\t\"location\",\n\t\t\"max-forwards\",\n\t\t\"proxy-authenticate\",\n\t\t\"proxy-authorization\",\n\t\t\"range\",\n\t\t\"referer\",\n\t\t\"refresh\",\n\t\t\"retry-after\",\n\t\t\"server\",\n\t\t\"set-cookie\",\n\t\t\"strict-transport-security\",\n\t\t\"trailer\",\n\t\t\"transfer-encoding\",\n\t\t\"user-agent\",\n\t\t\"vary\",\n\t\t\"via\",\n\t\t\"www-authenticate\",\n\t} {\n\t\tchk := http.CanonicalHeaderKey(v)\n\t\tcommonLowerHeader[chk] = v\n\t\tcommonCanonHeader[v] = chk\n\t}\n}\n\nfunc lowerHeader(v string) string {\n\tif s, ok := commonLowerHeader[v]; ok {\n\t\treturn s\n\t}\n\treturn strings.ToLower(v)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/hpack/encode.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage hpack\n\nimport (\n\t\"io\"\n)\n\nconst (\n\tuint32Max              = ^uint32(0)\n\tinitialHeaderTableSize = 4096\n)\n\ntype Encoder struct {\n\tdynTab dynamicTable\n\t// minSize is the minimum table size set by\n\t// SetMaxDynamicTableSize after the previous Header Table Size\n\t// Update.\n\tminSize uint32\n\t// maxSizeLimit is the maximum table size this encoder\n\t// supports. This will protect the encoder from too large\n\t// size.\n\tmaxSizeLimit uint32\n\t// tableSizeUpdate indicates whether \"Header Table Size\n\t// Update\" is required.\n\ttableSizeUpdate bool\n\tw               io.Writer\n\tbuf             []byte\n}\n\n// NewEncoder returns a new Encoder which performs HPACK encoding. An\n// encoded data is written to w.\nfunc NewEncoder(w io.Writer) *Encoder {\n\te := &Encoder{\n\t\tminSize:         uint32Max,\n\t\tmaxSizeLimit:    initialHeaderTableSize,\n\t\ttableSizeUpdate: false,\n\t\tw:               w,\n\t}\n\te.dynTab.table.init()\n\te.dynTab.setMaxSize(initialHeaderTableSize)\n\treturn e\n}\n\n// WriteField encodes f into a single Write to e's underlying Writer.\n// This function may also produce bytes for \"Header Table Size Update\"\n// if necessary. If produced, it is done before encoding f.\nfunc (e *Encoder) WriteField(f HeaderField) error {\n\te.buf = e.buf[:0]\n\n\tif e.tableSizeUpdate {\n\t\te.tableSizeUpdate = false\n\t\tif e.minSize < e.dynTab.maxSize {\n\t\t\te.buf = appendTableSize(e.buf, e.minSize)\n\t\t}\n\t\te.minSize = uint32Max\n\t\te.buf = appendTableSize(e.buf, e.dynTab.maxSize)\n\t}\n\n\tidx, nameValueMatch := e.searchTable(f)\n\tif nameValueMatch {\n\t\te.buf = appendIndexed(e.buf, idx)\n\t} else {\n\t\tindexing := e.shouldIndex(f)\n\t\tif indexing {\n\t\t\te.dynTab.add(f)\n\t\t}\n\n\t\tif idx == 0 {\n\t\t\te.buf = appendNewName(e.buf, f, indexing)\n\t\t} else {\n\t\t\te.buf = appendIndexedName(e.buf, f, idx, indexing)\n\t\t}\n\t}\n\tn, err := e.w.Write(e.buf)\n\tif err == nil && n != len(e.buf) {\n\t\terr = io.ErrShortWrite\n\t}\n\treturn err\n}\n\n// searchTable searches f in both stable and dynamic header tables.\n// The static header table is searched first. Only when there is no\n// exact match for both name and value, the dynamic header table is\n// then searched. If there is no match, i is 0. If both name and value\n// match, i is the matched index and nameValueMatch becomes true. If\n// only name matches, i points to that index and nameValueMatch\n// becomes false.\nfunc (e *Encoder) searchTable(f HeaderField) (i uint64, nameValueMatch bool) {\n\ti, nameValueMatch = staticTable.search(f)\n\tif nameValueMatch {\n\t\treturn i, true\n\t}\n\n\tj, nameValueMatch := e.dynTab.table.search(f)\n\tif nameValueMatch || (i == 0 && j != 0) {\n\t\treturn j + uint64(staticTable.len()), nameValueMatch\n\t}\n\n\treturn i, false\n}\n\n// SetMaxDynamicTableSize changes the dynamic header table size to v.\n// The actual size is bounded by the value passed to\n// SetMaxDynamicTableSizeLimit.\nfunc (e *Encoder) SetMaxDynamicTableSize(v uint32) {\n\tif v > e.maxSizeLimit {\n\t\tv = e.maxSizeLimit\n\t}\n\tif v < e.minSize {\n\t\te.minSize = v\n\t}\n\te.tableSizeUpdate = true\n\te.dynTab.setMaxSize(v)\n}\n\n// SetMaxDynamicTableSizeLimit changes the maximum value that can be\n// specified in SetMaxDynamicTableSize to v. By default, it is set to\n// 4096, which is the same size of the default dynamic header table\n// size described in HPACK specification. If the current maximum\n// dynamic header table size is strictly greater than v, \"Header Table\n// Size Update\" will be done in the next WriteField call and the\n// maximum dynamic header table size is truncated to v.\nfunc (e *Encoder) SetMaxDynamicTableSizeLimit(v uint32) {\n\te.maxSizeLimit = v\n\tif e.dynTab.maxSize > v {\n\t\te.tableSizeUpdate = true\n\t\te.dynTab.setMaxSize(v)\n\t}\n}\n\n// shouldIndex reports whether f should be indexed.\nfunc (e *Encoder) shouldIndex(f HeaderField) bool {\n\treturn !f.Sensitive && f.Size() <= e.dynTab.maxSize\n}\n\n// appendIndexed appends index i, as encoded in \"Indexed Header Field\"\n// representation, to dst and returns the extended buffer.\nfunc appendIndexed(dst []byte, i uint64) []byte {\n\tfirst := len(dst)\n\tdst = appendVarInt(dst, 7, i)\n\tdst[first] |= 0x80\n\treturn dst\n}\n\n// appendNewName appends f, as encoded in one of \"Literal Header field\n// - New Name\" representation variants, to dst and returns the\n// extended buffer.\n//\n// If f.Sensitive is true, \"Never Indexed\" representation is used. If\n// f.Sensitive is false and indexing is true, \"Inremental Indexing\"\n// representation is used.\nfunc appendNewName(dst []byte, f HeaderField, indexing bool) []byte {\n\tdst = append(dst, encodeTypeByte(indexing, f.Sensitive))\n\tdst = appendHpackString(dst, f.Name)\n\treturn appendHpackString(dst, f.Value)\n}\n\n// appendIndexedName appends f and index i referring indexed name\n// entry, as encoded in one of \"Literal Header field - Indexed Name\"\n// representation variants, to dst and returns the extended buffer.\n//\n// If f.Sensitive is true, \"Never Indexed\" representation is used. If\n// f.Sensitive is false and indexing is true, \"Incremental Indexing\"\n// representation is used.\nfunc appendIndexedName(dst []byte, f HeaderField, i uint64, indexing bool) []byte {\n\tfirst := len(dst)\n\tvar n byte\n\tif indexing {\n\t\tn = 6\n\t} else {\n\t\tn = 4\n\t}\n\tdst = appendVarInt(dst, n, i)\n\tdst[first] |= encodeTypeByte(indexing, f.Sensitive)\n\treturn appendHpackString(dst, f.Value)\n}\n\n// appendTableSize appends v, as encoded in \"Header Table Size Update\"\n// representation, to dst and returns the extended buffer.\nfunc appendTableSize(dst []byte, v uint32) []byte {\n\tfirst := len(dst)\n\tdst = appendVarInt(dst, 5, uint64(v))\n\tdst[first] |= 0x20\n\treturn dst\n}\n\n// appendVarInt appends i, as encoded in variable integer form using n\n// bit prefix, to dst and returns the extended buffer.\n//\n// See\n// http://http2.github.io/http2-spec/compression.html#integer.representation\nfunc appendVarInt(dst []byte, n byte, i uint64) []byte {\n\tk := uint64((1 << n) - 1)\n\tif i < k {\n\t\treturn append(dst, byte(i))\n\t}\n\tdst = append(dst, byte(k))\n\ti -= k\n\tfor ; i >= 128; i >>= 7 {\n\t\tdst = append(dst, byte(0x80|(i&0x7f)))\n\t}\n\treturn append(dst, byte(i))\n}\n\n// appendHpackString appends s, as encoded in \"String Literal\"\n// representation, to dst and returns the the extended buffer.\n//\n// s will be encoded in Huffman codes only when it produces strictly\n// shorter byte string.\nfunc appendHpackString(dst []byte, s string) []byte {\n\thuffmanLength := HuffmanEncodeLength(s)\n\tif huffmanLength < uint64(len(s)) {\n\t\tfirst := len(dst)\n\t\tdst = appendVarInt(dst, 7, huffmanLength)\n\t\tdst = AppendHuffmanString(dst, s)\n\t\tdst[first] |= 0x80\n\t} else {\n\t\tdst = appendVarInt(dst, 7, uint64(len(s)))\n\t\tdst = append(dst, s...)\n\t}\n\treturn dst\n}\n\n// encodeTypeByte returns type byte. If sensitive is true, type byte\n// for \"Never Indexed\" representation is returned. If sensitive is\n// false and indexing is true, type byte for \"Incremental Indexing\"\n// representation is returned. Otherwise, type byte for \"Without\n// Indexing\" is returned.\nfunc encodeTypeByte(indexing, sensitive bool) byte {\n\tif sensitive {\n\t\treturn 0x10\n\t}\n\tif indexing {\n\t\treturn 0x40\n\t}\n\treturn 0\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/hpack/hpack.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package hpack implements HPACK, a compression format for\n// efficiently representing HTTP header fields in the context of HTTP/2.\n//\n// See http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09\npackage hpack\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n)\n\n// A DecodingError is something the spec defines as a decoding error.\ntype DecodingError struct {\n\tErr error\n}\n\nfunc (de DecodingError) Error() string {\n\treturn fmt.Sprintf(\"decoding error: %v\", de.Err)\n}\n\n// An InvalidIndexError is returned when an encoder references a table\n// entry before the static table or after the end of the dynamic table.\ntype InvalidIndexError int\n\nfunc (e InvalidIndexError) Error() string {\n\treturn fmt.Sprintf(\"invalid indexed representation index %d\", int(e))\n}\n\n// A HeaderField is a name-value pair. Both the name and value are\n// treated as opaque sequences of octets.\ntype HeaderField struct {\n\tName, Value string\n\n\t// Sensitive means that this header field should never be\n\t// indexed.\n\tSensitive bool\n}\n\n// IsPseudo reports whether the header field is an http2 pseudo header.\n// That is, it reports whether it starts with a colon.\n// It is not otherwise guaranteed to be a valid pseudo header field,\n// though.\nfunc (hf HeaderField) IsPseudo() bool {\n\treturn len(hf.Name) != 0 && hf.Name[0] == ':'\n}\n\nfunc (hf HeaderField) String() string {\n\tvar suffix string\n\tif hf.Sensitive {\n\t\tsuffix = \" (sensitive)\"\n\t}\n\treturn fmt.Sprintf(\"header field %q = %q%s\", hf.Name, hf.Value, suffix)\n}\n\n// Size returns the size of an entry per RFC 7541 section 4.1.\nfunc (hf HeaderField) Size() uint32 {\n\t// http://http2.github.io/http2-spec/compression.html#rfc.section.4.1\n\t// \"The size of the dynamic table is the sum of the size of\n\t// its entries. The size of an entry is the sum of its name's\n\t// length in octets (as defined in Section 5.2), its value's\n\t// length in octets (see Section 5.2), plus 32.  The size of\n\t// an entry is calculated using the length of the name and\n\t// value without any Huffman encoding applied.\"\n\n\t// This can overflow if somebody makes a large HeaderField\n\t// Name and/or Value by hand, but we don't care, because that\n\t// won't happen on the wire because the encoding doesn't allow\n\t// it.\n\treturn uint32(len(hf.Name) + len(hf.Value) + 32)\n}\n\n// A Decoder is the decoding context for incremental processing of\n// header blocks.\ntype Decoder struct {\n\tdynTab dynamicTable\n\temit   func(f HeaderField)\n\n\temitEnabled bool // whether calls to emit are enabled\n\tmaxStrLen   int  // 0 means unlimited\n\n\t// buf is the unparsed buffer. It's only written to\n\t// saveBuf if it was truncated in the middle of a header\n\t// block. Because it's usually not owned, we can only\n\t// process it under Write.\n\tbuf []byte // not owned; only valid during Write\n\n\t// saveBuf is previous data passed to Write which we weren't able\n\t// to fully parse before. Unlike buf, we own this data.\n\tsaveBuf bytes.Buffer\n}\n\n// NewDecoder returns a new decoder with the provided maximum dynamic\n// table size. The emitFunc will be called for each valid field\n// parsed, in the same goroutine as calls to Write, before Write returns.\nfunc NewDecoder(maxDynamicTableSize uint32, emitFunc func(f HeaderField)) *Decoder {\n\td := &Decoder{\n\t\temit:        emitFunc,\n\t\temitEnabled: true,\n\t}\n\td.dynTab.table.init()\n\td.dynTab.allowedMaxSize = maxDynamicTableSize\n\td.dynTab.setMaxSize(maxDynamicTableSize)\n\treturn d\n}\n\n// ErrStringLength is returned by Decoder.Write when the max string length\n// (as configured by Decoder.SetMaxStringLength) would be violated.\nvar ErrStringLength = errors.New(\"hpack: string too long\")\n\n// SetMaxStringLength sets the maximum size of a HeaderField name or\n// value string. If a string exceeds this length (even after any\n// decompression), Write will return ErrStringLength.\n// A value of 0 means unlimited and is the default from NewDecoder.\nfunc (d *Decoder) SetMaxStringLength(n int) {\n\td.maxStrLen = n\n}\n\n// SetEmitFunc changes the callback used when new header fields\n// are decoded.\n// It must be non-nil. It does not affect EmitEnabled.\nfunc (d *Decoder) SetEmitFunc(emitFunc func(f HeaderField)) {\n\td.emit = emitFunc\n}\n\n// SetEmitEnabled controls whether the emitFunc provided to NewDecoder\n// should be called. The default is true.\n//\n// This facility exists to let servers enforce MAX_HEADER_LIST_SIZE\n// while still decoding and keeping in-sync with decoder state, but\n// without doing unnecessary decompression or generating unnecessary\n// garbage for header fields past the limit.\nfunc (d *Decoder) SetEmitEnabled(v bool) { d.emitEnabled = v }\n\n// EmitEnabled reports whether calls to the emitFunc provided to NewDecoder\n// are currently enabled. The default is true.\nfunc (d *Decoder) EmitEnabled() bool { return d.emitEnabled }\n\n// TODO: add method *Decoder.Reset(maxSize, emitFunc) to let callers re-use Decoders and their\n// underlying buffers for garbage reasons.\n\nfunc (d *Decoder) SetMaxDynamicTableSize(v uint32) {\n\td.dynTab.setMaxSize(v)\n}\n\n// SetAllowedMaxDynamicTableSize sets the upper bound that the encoded\n// stream (via dynamic table size updates) may set the maximum size\n// to.\nfunc (d *Decoder) SetAllowedMaxDynamicTableSize(v uint32) {\n\td.dynTab.allowedMaxSize = v\n}\n\ntype dynamicTable struct {\n\t// http://http2.github.io/http2-spec/compression.html#rfc.section.2.3.2\n\ttable          headerFieldTable\n\tsize           uint32 // in bytes\n\tmaxSize        uint32 // current maxSize\n\tallowedMaxSize uint32 // maxSize may go up to this, inclusive\n}\n\nfunc (dt *dynamicTable) setMaxSize(v uint32) {\n\tdt.maxSize = v\n\tdt.evict()\n}\n\nfunc (dt *dynamicTable) add(f HeaderField) {\n\tdt.table.addEntry(f)\n\tdt.size += f.Size()\n\tdt.evict()\n}\n\n// If we're too big, evict old stuff.\nfunc (dt *dynamicTable) evict() {\n\tvar n int\n\tfor dt.size > dt.maxSize && n < dt.table.len() {\n\t\tdt.size -= dt.table.ents[n].Size()\n\t\tn++\n\t}\n\tdt.table.evictOldest(n)\n}\n\nfunc (d *Decoder) maxTableIndex() int {\n\t// This should never overflow. RFC 7540 Section 6.5.2 limits the size of\n\t// the dynamic table to 2^32 bytes, where each entry will occupy more than\n\t// one byte. Further, the staticTable has a fixed, small length.\n\treturn d.dynTab.table.len() + staticTable.len()\n}\n\nfunc (d *Decoder) at(i uint64) (hf HeaderField, ok bool) {\n\t// See Section 2.3.3.\n\tif i == 0 {\n\t\treturn\n\t}\n\tif i <= uint64(staticTable.len()) {\n\t\treturn staticTable.ents[i-1], true\n\t}\n\tif i > uint64(d.maxTableIndex()) {\n\t\treturn\n\t}\n\t// In the dynamic table, newer entries have lower indices.\n\t// However, dt.ents[0] is the oldest entry. Hence, dt.ents is\n\t// the reversed dynamic table.\n\tdt := d.dynTab.table\n\treturn dt.ents[dt.len()-(int(i)-staticTable.len())], true\n}\n\n// Decode decodes an entire block.\n//\n// TODO: remove this method and make it incremental later? This is\n// easier for debugging now.\nfunc (d *Decoder) DecodeFull(p []byte) ([]HeaderField, error) {\n\tvar hf []HeaderField\n\tsaveFunc := d.emit\n\tdefer func() { d.emit = saveFunc }()\n\td.emit = func(f HeaderField) { hf = append(hf, f) }\n\tif _, err := d.Write(p); err != nil {\n\t\treturn nil, err\n\t}\n\tif err := d.Close(); err != nil {\n\t\treturn nil, err\n\t}\n\treturn hf, nil\n}\n\nfunc (d *Decoder) Close() error {\n\tif d.saveBuf.Len() > 0 {\n\t\td.saveBuf.Reset()\n\t\treturn DecodingError{errors.New(\"truncated headers\")}\n\t}\n\treturn nil\n}\n\nfunc (d *Decoder) Write(p []byte) (n int, err error) {\n\tif len(p) == 0 {\n\t\t// Prevent state machine CPU attacks (making us redo\n\t\t// work up to the point of finding out we don't have\n\t\t// enough data)\n\t\treturn\n\t}\n\t// Only copy the data if we have to. Optimistically assume\n\t// that p will contain a complete header block.\n\tif d.saveBuf.Len() == 0 {\n\t\td.buf = p\n\t} else {\n\t\td.saveBuf.Write(p)\n\t\td.buf = d.saveBuf.Bytes()\n\t\td.saveBuf.Reset()\n\t}\n\n\tfor len(d.buf) > 0 {\n\t\terr = d.parseHeaderFieldRepr()\n\t\tif err == errNeedMore {\n\t\t\t// Extra paranoia, making sure saveBuf won't\n\t\t\t// get too large. All the varint and string\n\t\t\t// reading code earlier should already catch\n\t\t\t// overlong things and return ErrStringLength,\n\t\t\t// but keep this as a last resort.\n\t\t\tconst varIntOverhead = 8 // conservative\n\t\t\tif d.maxStrLen != 0 && int64(len(d.buf)) > 2*(int64(d.maxStrLen)+varIntOverhead) {\n\t\t\t\treturn 0, ErrStringLength\n\t\t\t}\n\t\t\td.saveBuf.Write(d.buf)\n\t\t\treturn len(p), nil\n\t\t}\n\t\tif err != nil {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn len(p), err\n}\n\n// errNeedMore is an internal sentinel error value that means the\n// buffer is truncated and we need to read more data before we can\n// continue parsing.\nvar errNeedMore = errors.New(\"need more data\")\n\ntype indexType int\n\nconst (\n\tindexedTrue indexType = iota\n\tindexedFalse\n\tindexedNever\n)\n\nfunc (v indexType) indexed() bool   { return v == indexedTrue }\nfunc (v indexType) sensitive() bool { return v == indexedNever }\n\n// returns errNeedMore if there isn't enough data available.\n// any other error is fatal.\n// consumes d.buf iff it returns nil.\n// precondition: must be called with len(d.buf) > 0\nfunc (d *Decoder) parseHeaderFieldRepr() error {\n\tb := d.buf[0]\n\tswitch {\n\tcase b&128 != 0:\n\t\t// Indexed representation.\n\t\t// High bit set?\n\t\t// http://http2.github.io/http2-spec/compression.html#rfc.section.6.1\n\t\treturn d.parseFieldIndexed()\n\tcase b&192 == 64:\n\t\t// 6.2.1 Literal Header Field with Incremental Indexing\n\t\t// 0b10xxxxxx: top two bits are 10\n\t\t// http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.1\n\t\treturn d.parseFieldLiteral(6, indexedTrue)\n\tcase b&240 == 0:\n\t\t// 6.2.2 Literal Header Field without Indexing\n\t\t// 0b0000xxxx: top four bits are 0000\n\t\t// http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.2\n\t\treturn d.parseFieldLiteral(4, indexedFalse)\n\tcase b&240 == 16:\n\t\t// 6.2.3 Literal Header Field never Indexed\n\t\t// 0b0001xxxx: top four bits are 0001\n\t\t// http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.3\n\t\treturn d.parseFieldLiteral(4, indexedNever)\n\tcase b&224 == 32:\n\t\t// 6.3 Dynamic Table Size Update\n\t\t// Top three bits are '001'.\n\t\t// http://http2.github.io/http2-spec/compression.html#rfc.section.6.3\n\t\treturn d.parseDynamicTableSizeUpdate()\n\t}\n\n\treturn DecodingError{errors.New(\"invalid encoding\")}\n}\n\n// (same invariants and behavior as parseHeaderFieldRepr)\nfunc (d *Decoder) parseFieldIndexed() error {\n\tbuf := d.buf\n\tidx, buf, err := readVarInt(7, buf)\n\tif err != nil {\n\t\treturn err\n\t}\n\thf, ok := d.at(idx)\n\tif !ok {\n\t\treturn DecodingError{InvalidIndexError(idx)}\n\t}\n\td.buf = buf\n\treturn d.callEmit(HeaderField{Name: hf.Name, Value: hf.Value})\n}\n\n// (same invariants and behavior as parseHeaderFieldRepr)\nfunc (d *Decoder) parseFieldLiteral(n uint8, it indexType) error {\n\tbuf := d.buf\n\tnameIdx, buf, err := readVarInt(n, buf)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tvar hf HeaderField\n\twantStr := d.emitEnabled || it.indexed()\n\tif nameIdx > 0 {\n\t\tihf, ok := d.at(nameIdx)\n\t\tif !ok {\n\t\t\treturn DecodingError{InvalidIndexError(nameIdx)}\n\t\t}\n\t\thf.Name = ihf.Name\n\t} else {\n\t\thf.Name, buf, err = d.readString(buf, wantStr)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\thf.Value, buf, err = d.readString(buf, wantStr)\n\tif err != nil {\n\t\treturn err\n\t}\n\td.buf = buf\n\tif it.indexed() {\n\t\td.dynTab.add(hf)\n\t}\n\thf.Sensitive = it.sensitive()\n\treturn d.callEmit(hf)\n}\n\nfunc (d *Decoder) callEmit(hf HeaderField) error {\n\tif d.maxStrLen != 0 {\n\t\tif len(hf.Name) > d.maxStrLen || len(hf.Value) > d.maxStrLen {\n\t\t\treturn ErrStringLength\n\t\t}\n\t}\n\tif d.emitEnabled {\n\t\td.emit(hf)\n\t}\n\treturn nil\n}\n\n// (same invariants and behavior as parseHeaderFieldRepr)\nfunc (d *Decoder) parseDynamicTableSizeUpdate() error {\n\tbuf := d.buf\n\tsize, buf, err := readVarInt(5, buf)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif size > uint64(d.dynTab.allowedMaxSize) {\n\t\treturn DecodingError{errors.New(\"dynamic table size update too large\")}\n\t}\n\td.dynTab.setMaxSize(uint32(size))\n\td.buf = buf\n\treturn nil\n}\n\nvar errVarintOverflow = DecodingError{errors.New(\"varint integer overflow\")}\n\n// readVarInt reads an unsigned variable length integer off the\n// beginning of p. n is the parameter as described in\n// http://http2.github.io/http2-spec/compression.html#rfc.section.5.1.\n//\n// n must always be between 1 and 8.\n//\n// The returned remain buffer is either a smaller suffix of p, or err != nil.\n// The error is errNeedMore if p doesn't contain a complete integer.\nfunc readVarInt(n byte, p []byte) (i uint64, remain []byte, err error) {\n\tif n < 1 || n > 8 {\n\t\tpanic(\"bad n\")\n\t}\n\tif len(p) == 0 {\n\t\treturn 0, p, errNeedMore\n\t}\n\ti = uint64(p[0])\n\tif n < 8 {\n\t\ti &= (1 << uint64(n)) - 1\n\t}\n\tif i < (1<<uint64(n))-1 {\n\t\treturn i, p[1:], nil\n\t}\n\n\torigP := p\n\tp = p[1:]\n\tvar m uint64\n\tfor len(p) > 0 {\n\t\tb := p[0]\n\t\tp = p[1:]\n\t\ti += uint64(b&127) << m\n\t\tif b&128 == 0 {\n\t\t\treturn i, p, nil\n\t\t}\n\t\tm += 7\n\t\tif m >= 63 { // TODO: proper overflow check. making this up.\n\t\t\treturn 0, origP, errVarintOverflow\n\t\t}\n\t}\n\treturn 0, origP, errNeedMore\n}\n\n// readString decodes an hpack string from p.\n//\n// wantStr is whether s will be used. If false, decompression and\n// []byte->string garbage are skipped if s will be ignored\n// anyway. This does mean that huffman decoding errors for non-indexed\n// strings past the MAX_HEADER_LIST_SIZE are ignored, but the server\n// is returning an error anyway, and because they're not indexed, the error\n// won't affect the decoding state.\nfunc (d *Decoder) readString(p []byte, wantStr bool) (s string, remain []byte, err error) {\n\tif len(p) == 0 {\n\t\treturn \"\", p, errNeedMore\n\t}\n\tisHuff := p[0]&128 != 0\n\tstrLen, p, err := readVarInt(7, p)\n\tif err != nil {\n\t\treturn \"\", p, err\n\t}\n\tif d.maxStrLen != 0 && strLen > uint64(d.maxStrLen) {\n\t\treturn \"\", nil, ErrStringLength\n\t}\n\tif uint64(len(p)) < strLen {\n\t\treturn \"\", p, errNeedMore\n\t}\n\tif !isHuff {\n\t\tif wantStr {\n\t\t\ts = string(p[:strLen])\n\t\t}\n\t\treturn s, p[strLen:], nil\n\t}\n\n\tif wantStr {\n\t\tbuf := bufPool.Get().(*bytes.Buffer)\n\t\tbuf.Reset() // don't trust others\n\t\tdefer bufPool.Put(buf)\n\t\tif err := huffmanDecode(buf, d.maxStrLen, p[:strLen]); err != nil {\n\t\t\tbuf.Reset()\n\t\t\treturn \"\", nil, err\n\t\t}\n\t\ts = buf.String()\n\t\tbuf.Reset() // be nice to GC\n\t}\n\treturn s, p[strLen:], nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/hpack/huffman.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage hpack\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"io\"\n\t\"sync\"\n)\n\nvar bufPool = sync.Pool{\n\tNew: func() interface{} { return new(bytes.Buffer) },\n}\n\n// HuffmanDecode decodes the string in v and writes the expanded\n// result to w, returning the number of bytes written to w and the\n// Write call's return value. At most one Write call is made.\nfunc HuffmanDecode(w io.Writer, v []byte) (int, error) {\n\tbuf := bufPool.Get().(*bytes.Buffer)\n\tbuf.Reset()\n\tdefer bufPool.Put(buf)\n\tif err := huffmanDecode(buf, 0, v); err != nil {\n\t\treturn 0, err\n\t}\n\treturn w.Write(buf.Bytes())\n}\n\n// HuffmanDecodeToString decodes the string in v.\nfunc HuffmanDecodeToString(v []byte) (string, error) {\n\tbuf := bufPool.Get().(*bytes.Buffer)\n\tbuf.Reset()\n\tdefer bufPool.Put(buf)\n\tif err := huffmanDecode(buf, 0, v); err != nil {\n\t\treturn \"\", err\n\t}\n\treturn buf.String(), nil\n}\n\n// ErrInvalidHuffman is returned for errors found decoding\n// Huffman-encoded strings.\nvar ErrInvalidHuffman = errors.New(\"hpack: invalid Huffman-encoded data\")\n\n// huffmanDecode decodes v to buf.\n// If maxLen is greater than 0, attempts to write more to buf than\n// maxLen bytes will return ErrStringLength.\nfunc huffmanDecode(buf *bytes.Buffer, maxLen int, v []byte) error {\n\tn := rootHuffmanNode\n\t// cur is the bit buffer that has not been fed into n.\n\t// cbits is the number of low order bits in cur that are valid.\n\t// sbits is the number of bits of the symbol prefix being decoded.\n\tcur, cbits, sbits := uint(0), uint8(0), uint8(0)\n\tfor _, b := range v {\n\t\tcur = cur<<8 | uint(b)\n\t\tcbits += 8\n\t\tsbits += 8\n\t\tfor cbits >= 8 {\n\t\t\tidx := byte(cur >> (cbits - 8))\n\t\t\tn = n.children[idx]\n\t\t\tif n == nil {\n\t\t\t\treturn ErrInvalidHuffman\n\t\t\t}\n\t\t\tif n.children == nil {\n\t\t\t\tif maxLen != 0 && buf.Len() == maxLen {\n\t\t\t\t\treturn ErrStringLength\n\t\t\t\t}\n\t\t\t\tbuf.WriteByte(n.sym)\n\t\t\t\tcbits -= n.codeLen\n\t\t\t\tn = rootHuffmanNode\n\t\t\t\tsbits = cbits\n\t\t\t} else {\n\t\t\t\tcbits -= 8\n\t\t\t}\n\t\t}\n\t}\n\tfor cbits > 0 {\n\t\tn = n.children[byte(cur<<(8-cbits))]\n\t\tif n == nil {\n\t\t\treturn ErrInvalidHuffman\n\t\t}\n\t\tif n.children != nil || n.codeLen > cbits {\n\t\t\tbreak\n\t\t}\n\t\tif maxLen != 0 && buf.Len() == maxLen {\n\t\t\treturn ErrStringLength\n\t\t}\n\t\tbuf.WriteByte(n.sym)\n\t\tcbits -= n.codeLen\n\t\tn = rootHuffmanNode\n\t\tsbits = cbits\n\t}\n\tif sbits > 7 {\n\t\t// Either there was an incomplete symbol, or overlong padding.\n\t\t// Both are decoding errors per RFC 7541 section 5.2.\n\t\treturn ErrInvalidHuffman\n\t}\n\tif mask := uint(1<<cbits - 1); cur&mask != mask {\n\t\t// Trailing bits must be a prefix of EOS per RFC 7541 section 5.2.\n\t\treturn ErrInvalidHuffman\n\t}\n\n\treturn nil\n}\n\ntype node struct {\n\t// children is non-nil for internal nodes\n\tchildren []*node\n\n\t// The following are only valid if children is nil:\n\tcodeLen uint8 // number of bits that led to the output of sym\n\tsym     byte  // output symbol\n}\n\nfunc newInternalNode() *node {\n\treturn &node{children: make([]*node, 256)}\n}\n\nvar rootHuffmanNode = newInternalNode()\n\nfunc init() {\n\tif len(huffmanCodes) != 256 {\n\t\tpanic(\"unexpected size\")\n\t}\n\tfor i, code := range huffmanCodes {\n\t\taddDecoderNode(byte(i), code, huffmanCodeLen[i])\n\t}\n}\n\nfunc addDecoderNode(sym byte, code uint32, codeLen uint8) {\n\tcur := rootHuffmanNode\n\tfor codeLen > 8 {\n\t\tcodeLen -= 8\n\t\ti := uint8(code >> codeLen)\n\t\tif cur.children[i] == nil {\n\t\t\tcur.children[i] = newInternalNode()\n\t\t}\n\t\tcur = cur.children[i]\n\t}\n\tshift := 8 - codeLen\n\tstart, end := int(uint8(code<<shift)), int(1<<shift)\n\tfor i := start; i < start+end; i++ {\n\t\tcur.children[i] = &node{sym: sym, codeLen: codeLen}\n\t}\n}\n\n// AppendHuffmanString appends s, as encoded in Huffman codes, to dst\n// and returns the extended buffer.\nfunc AppendHuffmanString(dst []byte, s string) []byte {\n\trembits := uint8(8)\n\n\tfor i := 0; i < len(s); i++ {\n\t\tif rembits == 8 {\n\t\t\tdst = append(dst, 0)\n\t\t}\n\t\tdst, rembits = appendByteToHuffmanCode(dst, rembits, s[i])\n\t}\n\n\tif rembits < 8 {\n\t\t// special EOS symbol\n\t\tcode := uint32(0x3fffffff)\n\t\tnbits := uint8(30)\n\n\t\tt := uint8(code >> (nbits - rembits))\n\t\tdst[len(dst)-1] |= t\n\t}\n\n\treturn dst\n}\n\n// HuffmanEncodeLength returns the number of bytes required to encode\n// s in Huffman codes. The result is round up to byte boundary.\nfunc HuffmanEncodeLength(s string) uint64 {\n\tn := uint64(0)\n\tfor i := 0; i < len(s); i++ {\n\t\tn += uint64(huffmanCodeLen[s[i]])\n\t}\n\treturn (n + 7) / 8\n}\n\n// appendByteToHuffmanCode appends Huffman code for c to dst and\n// returns the extended buffer and the remaining bits in the last\n// element. The appending is not byte aligned and the remaining bits\n// in the last element of dst is given in rembits.\nfunc appendByteToHuffmanCode(dst []byte, rembits uint8, c byte) ([]byte, uint8) {\n\tcode := huffmanCodes[c]\n\tnbits := huffmanCodeLen[c]\n\n\tfor {\n\t\tif rembits > nbits {\n\t\t\tt := uint8(code << (rembits - nbits))\n\t\t\tdst[len(dst)-1] |= t\n\t\t\trembits -= nbits\n\t\t\tbreak\n\t\t}\n\n\t\tt := uint8(code >> (nbits - rembits))\n\t\tdst[len(dst)-1] |= t\n\n\t\tnbits -= rembits\n\t\trembits = 8\n\n\t\tif nbits == 0 {\n\t\t\tbreak\n\t\t}\n\n\t\tdst = append(dst, 0)\n\t}\n\n\treturn dst, rembits\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/hpack/tables.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage hpack\n\nimport (\n\t\"fmt\"\n)\n\n// headerFieldTable implements a list of HeaderFields.\n// This is used to implement the static and dynamic tables.\ntype headerFieldTable struct {\n\t// For static tables, entries are never evicted.\n\t//\n\t// For dynamic tables, entries are evicted from ents[0] and added to the end.\n\t// Each entry has a unique id that starts at one and increments for each\n\t// entry that is added. This unique id is stable across evictions, meaning\n\t// it can be used as a pointer to a specific entry. As in hpack, unique ids\n\t// are 1-based. The unique id for ents[k] is k + evictCount + 1.\n\t//\n\t// Zero is not a valid unique id.\n\t//\n\t// evictCount should not overflow in any remotely practical situation. In\n\t// practice, we will have one dynamic table per HTTP/2 connection. If we\n\t// assume a very powerful server that handles 1M QPS per connection and each\n\t// request adds (then evicts) 100 entries from the table, it would still take\n\t// 2M years for evictCount to overflow.\n\tents       []HeaderField\n\tevictCount uint64\n\n\t// byName maps a HeaderField name to the unique id of the newest entry with\n\t// the same name. See above for a definition of \"unique id\".\n\tbyName map[string]uint64\n\n\t// byNameValue maps a HeaderField name/value pair to the unique id of the newest\n\t// entry with the same name and value. See above for a definition of \"unique id\".\n\tbyNameValue map[pairNameValue]uint64\n}\n\ntype pairNameValue struct {\n\tname, value string\n}\n\nfunc (t *headerFieldTable) init() {\n\tt.byName = make(map[string]uint64)\n\tt.byNameValue = make(map[pairNameValue]uint64)\n}\n\n// len reports the number of entries in the table.\nfunc (t *headerFieldTable) len() int {\n\treturn len(t.ents)\n}\n\n// addEntry adds a new entry.\nfunc (t *headerFieldTable) addEntry(f HeaderField) {\n\tid := uint64(t.len()) + t.evictCount + 1\n\tt.byName[f.Name] = id\n\tt.byNameValue[pairNameValue{f.Name, f.Value}] = id\n\tt.ents = append(t.ents, f)\n}\n\n// evictOldest evicts the n oldest entries in the table.\nfunc (t *headerFieldTable) evictOldest(n int) {\n\tif n > t.len() {\n\t\tpanic(fmt.Sprintf(\"evictOldest(%v) on table with %v entries\", n, t.len()))\n\t}\n\tfor k := 0; k < n; k++ {\n\t\tf := t.ents[k]\n\t\tid := t.evictCount + uint64(k) + 1\n\t\tif t.byName[f.Name] == id {\n\t\t\tdelete(t.byName, f.Name)\n\t\t}\n\t\tif p := (pairNameValue{f.Name, f.Value}); t.byNameValue[p] == id {\n\t\t\tdelete(t.byNameValue, p)\n\t\t}\n\t}\n\tcopy(t.ents, t.ents[n:])\n\tfor k := t.len() - n; k < t.len(); k++ {\n\t\tt.ents[k] = HeaderField{} // so strings can be garbage collected\n\t}\n\tt.ents = t.ents[:t.len()-n]\n\tif t.evictCount+uint64(n) < t.evictCount {\n\t\tpanic(\"evictCount overflow\")\n\t}\n\tt.evictCount += uint64(n)\n}\n\n// search finds f in the table. If there is no match, i is 0.\n// If both name and value match, i is the matched index and nameValueMatch\n// becomes true. If only name matches, i points to that index and\n// nameValueMatch becomes false.\n//\n// The returned index is a 1-based HPACK index. For dynamic tables, HPACK says\n// that index 1 should be the newest entry, but t.ents[0] is the oldest entry,\n// meaning t.ents is reversed for dynamic tables. Hence, when t is a dynamic\n// table, the return value i actually refers to the entry t.ents[t.len()-i].\n//\n// All tables are assumed to be a dynamic tables except for the global\n// staticTable pointer.\n//\n// See Section 2.3.3.\nfunc (t *headerFieldTable) search(f HeaderField) (i uint64, nameValueMatch bool) {\n\tif !f.Sensitive {\n\t\tif id := t.byNameValue[pairNameValue{f.Name, f.Value}]; id != 0 {\n\t\t\treturn t.idToIndex(id), true\n\t\t}\n\t}\n\tif id := t.byName[f.Name]; id != 0 {\n\t\treturn t.idToIndex(id), false\n\t}\n\treturn 0, false\n}\n\n// idToIndex converts a unique id to an HPACK index.\n// See Section 2.3.3.\nfunc (t *headerFieldTable) idToIndex(id uint64) uint64 {\n\tif id <= t.evictCount {\n\t\tpanic(fmt.Sprintf(\"id (%v) <= evictCount (%v)\", id, t.evictCount))\n\t}\n\tk := id - t.evictCount - 1 // convert id to an index t.ents[k]\n\tif t != staticTable {\n\t\treturn uint64(t.len()) - k // dynamic table\n\t}\n\treturn k + 1\n}\n\n// http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-07#appendix-B\nvar staticTable = newStaticTable()\nvar staticTableEntries = [...]HeaderField{\n\t{Name: \":authority\"},\n\t{Name: \":method\", Value: \"GET\"},\n\t{Name: \":method\", Value: \"POST\"},\n\t{Name: \":path\", Value: \"/\"},\n\t{Name: \":path\", Value: \"/index.html\"},\n\t{Name: \":scheme\", Value: \"http\"},\n\t{Name: \":scheme\", Value: \"https\"},\n\t{Name: \":status\", Value: \"200\"},\n\t{Name: \":status\", Value: \"204\"},\n\t{Name: \":status\", Value: \"206\"},\n\t{Name: \":status\", Value: \"304\"},\n\t{Name: \":status\", Value: \"400\"},\n\t{Name: \":status\", Value: \"404\"},\n\t{Name: \":status\", Value: \"500\"},\n\t{Name: \"accept-charset\"},\n\t{Name: \"accept-encoding\", Value: \"gzip, deflate\"},\n\t{Name: \"accept-language\"},\n\t{Name: \"accept-ranges\"},\n\t{Name: \"accept\"},\n\t{Name: \"access-control-allow-origin\"},\n\t{Name: \"age\"},\n\t{Name: \"allow\"},\n\t{Name: \"authorization\"},\n\t{Name: \"cache-control\"},\n\t{Name: \"content-disposition\"},\n\t{Name: \"content-encoding\"},\n\t{Name: \"content-language\"},\n\t{Name: \"content-length\"},\n\t{Name: \"content-location\"},\n\t{Name: \"content-range\"},\n\t{Name: \"content-type\"},\n\t{Name: \"cookie\"},\n\t{Name: \"date\"},\n\t{Name: \"etag\"},\n\t{Name: \"expect\"},\n\t{Name: \"expires\"},\n\t{Name: \"from\"},\n\t{Name: \"host\"},\n\t{Name: \"if-match\"},\n\t{Name: \"if-modified-since\"},\n\t{Name: \"if-none-match\"},\n\t{Name: \"if-range\"},\n\t{Name: \"if-unmodified-since\"},\n\t{Name: \"last-modified\"},\n\t{Name: \"link\"},\n\t{Name: \"location\"},\n\t{Name: \"max-forwards\"},\n\t{Name: \"proxy-authenticate\"},\n\t{Name: \"proxy-authorization\"},\n\t{Name: \"range\"},\n\t{Name: \"referer\"},\n\t{Name: \"refresh\"},\n\t{Name: \"retry-after\"},\n\t{Name: \"server\"},\n\t{Name: \"set-cookie\"},\n\t{Name: \"strict-transport-security\"},\n\t{Name: \"transfer-encoding\"},\n\t{Name: \"user-agent\"},\n\t{Name: \"vary\"},\n\t{Name: \"via\"},\n\t{Name: \"www-authenticate\"},\n}\n\nfunc newStaticTable() *headerFieldTable {\n\tt := &headerFieldTable{}\n\tt.init()\n\tfor _, e := range staticTableEntries[:] {\n\t\tt.addEntry(e)\n\t}\n\treturn t\n}\n\nvar huffmanCodes = [256]uint32{\n\t0x1ff8,\n\t0x7fffd8,\n\t0xfffffe2,\n\t0xfffffe3,\n\t0xfffffe4,\n\t0xfffffe5,\n\t0xfffffe6,\n\t0xfffffe7,\n\t0xfffffe8,\n\t0xffffea,\n\t0x3ffffffc,\n\t0xfffffe9,\n\t0xfffffea,\n\t0x3ffffffd,\n\t0xfffffeb,\n\t0xfffffec,\n\t0xfffffed,\n\t0xfffffee,\n\t0xfffffef,\n\t0xffffff0,\n\t0xffffff1,\n\t0xffffff2,\n\t0x3ffffffe,\n\t0xffffff3,\n\t0xffffff4,\n\t0xffffff5,\n\t0xffffff6,\n\t0xffffff7,\n\t0xffffff8,\n\t0xffffff9,\n\t0xffffffa,\n\t0xffffffb,\n\t0x14,\n\t0x3f8,\n\t0x3f9,\n\t0xffa,\n\t0x1ff9,\n\t0x15,\n\t0xf8,\n\t0x7fa,\n\t0x3fa,\n\t0x3fb,\n\t0xf9,\n\t0x7fb,\n\t0xfa,\n\t0x16,\n\t0x17,\n\t0x18,\n\t0x0,\n\t0x1,\n\t0x2,\n\t0x19,\n\t0x1a,\n\t0x1b,\n\t0x1c,\n\t0x1d,\n\t0x1e,\n\t0x1f,\n\t0x5c,\n\t0xfb,\n\t0x7ffc,\n\t0x20,\n\t0xffb,\n\t0x3fc,\n\t0x1ffa,\n\t0x21,\n\t0x5d,\n\t0x5e,\n\t0x5f,\n\t0x60,\n\t0x61,\n\t0x62,\n\t0x63,\n\t0x64,\n\t0x65,\n\t0x66,\n\t0x67,\n\t0x68,\n\t0x69,\n\t0x6a,\n\t0x6b,\n\t0x6c,\n\t0x6d,\n\t0x6e,\n\t0x6f,\n\t0x70,\n\t0x71,\n\t0x72,\n\t0xfc,\n\t0x73,\n\t0xfd,\n\t0x1ffb,\n\t0x7fff0,\n\t0x1ffc,\n\t0x3ffc,\n\t0x22,\n\t0x7ffd,\n\t0x3,\n\t0x23,\n\t0x4,\n\t0x24,\n\t0x5,\n\t0x25,\n\t0x26,\n\t0x27,\n\t0x6,\n\t0x74,\n\t0x75,\n\t0x28,\n\t0x29,\n\t0x2a,\n\t0x7,\n\t0x2b,\n\t0x76,\n\t0x2c,\n\t0x8,\n\t0x9,\n\t0x2d,\n\t0x77,\n\t0x78,\n\t0x79,\n\t0x7a,\n\t0x7b,\n\t0x7ffe,\n\t0x7fc,\n\t0x3ffd,\n\t0x1ffd,\n\t0xffffffc,\n\t0xfffe6,\n\t0x3fffd2,\n\t0xfffe7,\n\t0xfffe8,\n\t0x3fffd3,\n\t0x3fffd4,\n\t0x3fffd5,\n\t0x7fffd9,\n\t0x3fffd6,\n\t0x7fffda,\n\t0x7fffdb,\n\t0x7fffdc,\n\t0x7fffdd,\n\t0x7fffde,\n\t0xffffeb,\n\t0x7fffdf,\n\t0xffffec,\n\t0xffffed,\n\t0x3fffd7,\n\t0x7fffe0,\n\t0xffffee,\n\t0x7fffe1,\n\t0x7fffe2,\n\t0x7fffe3,\n\t0x7fffe4,\n\t0x1fffdc,\n\t0x3fffd8,\n\t0x7fffe5,\n\t0x3fffd9,\n\t0x7fffe6,\n\t0x7fffe7,\n\t0xffffef,\n\t0x3fffda,\n\t0x1fffdd,\n\t0xfffe9,\n\t0x3fffdb,\n\t0x3fffdc,\n\t0x7fffe8,\n\t0x7fffe9,\n\t0x1fffde,\n\t0x7fffea,\n\t0x3fffdd,\n\t0x3fffde,\n\t0xfffff0,\n\t0x1fffdf,\n\t0x3fffdf,\n\t0x7fffeb,\n\t0x7fffec,\n\t0x1fffe0,\n\t0x1fffe1,\n\t0x3fffe0,\n\t0x1fffe2,\n\t0x7fffed,\n\t0x3fffe1,\n\t0x7fffee,\n\t0x7fffef,\n\t0xfffea,\n\t0x3fffe2,\n\t0x3fffe3,\n\t0x3fffe4,\n\t0x7ffff0,\n\t0x3fffe5,\n\t0x3fffe6,\n\t0x7ffff1,\n\t0x3ffffe0,\n\t0x3ffffe1,\n\t0xfffeb,\n\t0x7fff1,\n\t0x3fffe7,\n\t0x7ffff2,\n\t0x3fffe8,\n\t0x1ffffec,\n\t0x3ffffe2,\n\t0x3ffffe3,\n\t0x3ffffe4,\n\t0x7ffffde,\n\t0x7ffffdf,\n\t0x3ffffe5,\n\t0xfffff1,\n\t0x1ffffed,\n\t0x7fff2,\n\t0x1fffe3,\n\t0x3ffffe6,\n\t0x7ffffe0,\n\t0x7ffffe1,\n\t0x3ffffe7,\n\t0x7ffffe2,\n\t0xfffff2,\n\t0x1fffe4,\n\t0x1fffe5,\n\t0x3ffffe8,\n\t0x3ffffe9,\n\t0xffffffd,\n\t0x7ffffe3,\n\t0x7ffffe4,\n\t0x7ffffe5,\n\t0xfffec,\n\t0xfffff3,\n\t0xfffed,\n\t0x1fffe6,\n\t0x3fffe9,\n\t0x1fffe7,\n\t0x1fffe8,\n\t0x7ffff3,\n\t0x3fffea,\n\t0x3fffeb,\n\t0x1ffffee,\n\t0x1ffffef,\n\t0xfffff4,\n\t0xfffff5,\n\t0x3ffffea,\n\t0x7ffff4,\n\t0x3ffffeb,\n\t0x7ffffe6,\n\t0x3ffffec,\n\t0x3ffffed,\n\t0x7ffffe7,\n\t0x7ffffe8,\n\t0x7ffffe9,\n\t0x7ffffea,\n\t0x7ffffeb,\n\t0xffffffe,\n\t0x7ffffec,\n\t0x7ffffed,\n\t0x7ffffee,\n\t0x7ffffef,\n\t0x7fffff0,\n\t0x3ffffee,\n}\n\nvar huffmanCodeLen = [256]uint8{\n\t13, 23, 28, 28, 28, 28, 28, 28, 28, 24, 30, 28, 28, 30, 28, 28,\n\t28, 28, 28, 28, 28, 28, 30, 28, 28, 28, 28, 28, 28, 28, 28, 28,\n\t6, 10, 10, 12, 13, 6, 8, 11, 10, 10, 8, 11, 8, 6, 6, 6,\n\t5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 8, 15, 6, 12, 10,\n\t13, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,\n\t7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 13, 19, 13, 14, 6,\n\t15, 5, 6, 5, 6, 5, 6, 6, 6, 5, 7, 7, 6, 6, 6, 5,\n\t6, 7, 6, 5, 5, 6, 7, 7, 7, 7, 7, 15, 11, 14, 13, 28,\n\t20, 22, 20, 20, 22, 22, 22, 23, 22, 23, 23, 23, 23, 23, 24, 23,\n\t24, 24, 22, 23, 24, 23, 23, 23, 23, 21, 22, 23, 22, 23, 23, 24,\n\t22, 21, 20, 22, 22, 23, 23, 21, 23, 22, 22, 24, 21, 22, 23, 23,\n\t21, 21, 22, 21, 23, 22, 23, 23, 20, 22, 22, 22, 23, 22, 22, 23,\n\t26, 26, 20, 19, 22, 23, 22, 25, 26, 26, 26, 27, 27, 26, 24, 25,\n\t19, 21, 26, 27, 27, 26, 27, 24, 21, 21, 26, 26, 28, 27, 27, 27,\n\t20, 24, 20, 21, 22, 21, 21, 23, 22, 22, 25, 25, 24, 24, 26, 23,\n\t26, 27, 26, 26, 27, 27, 27, 27, 27, 28, 27, 27, 27, 27, 27, 26,\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/http2.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package http2 implements the HTTP/2 protocol.\n//\n// This package is low-level and intended to be used directly by very\n// few people. Most users will use it indirectly through the automatic\n// use by the net/http package (from Go 1.6 and later).\n// For use in earlier Go versions see ConfigureServer. (Transport support\n// requires Go 1.6 or later)\n//\n// See https://http2.github.io/ for more information on HTTP/2.\n//\n// See https://http2.golang.org/ for a test server running this code.\n//\npackage http2 // import \"golang.org/x/net/http2\"\n\nimport (\n\t\"bufio\"\n\t\"crypto/tls\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"os\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\n\t\"golang.org/x/net/lex/httplex\"\n)\n\nvar (\n\tVerboseLogs    bool\n\tlogFrameWrites bool\n\tlogFrameReads  bool\n\tinTests        bool\n)\n\nfunc init() {\n\te := os.Getenv(\"GODEBUG\")\n\tif strings.Contains(e, \"http2debug=1\") {\n\t\tVerboseLogs = true\n\t}\n\tif strings.Contains(e, \"http2debug=2\") {\n\t\tVerboseLogs = true\n\t\tlogFrameWrites = true\n\t\tlogFrameReads = true\n\t}\n}\n\nconst (\n\t// ClientPreface is the string that must be sent by new\n\t// connections from clients.\n\tClientPreface = \"PRI * HTTP/2.0\\r\\n\\r\\nSM\\r\\n\\r\\n\"\n\n\t// SETTINGS_MAX_FRAME_SIZE default\n\t// http://http2.github.io/http2-spec/#rfc.section.6.5.2\n\tinitialMaxFrameSize = 16384\n\n\t// NextProtoTLS is the NPN/ALPN protocol negotiated during\n\t// HTTP/2's TLS setup.\n\tNextProtoTLS = \"h2\"\n\n\t// http://http2.github.io/http2-spec/#SettingValues\n\tinitialHeaderTableSize = 4096\n\n\tinitialWindowSize = 65535 // 6.9.2 Initial Flow Control Window Size\n\n\tdefaultMaxReadFrameSize = 1 << 20\n)\n\nvar (\n\tclientPreface = []byte(ClientPreface)\n)\n\ntype streamState int\n\n// HTTP/2 stream states.\n//\n// See http://tools.ietf.org/html/rfc7540#section-5.1.\n//\n// For simplicity, the server code merges \"reserved (local)\" into\n// \"half-closed (remote)\". This is one less state transition to track.\n// The only downside is that we send PUSH_PROMISEs slightly less\n// liberally than allowable. More discussion here:\n// https://lists.w3.org/Archives/Public/ietf-http-wg/2016JulSep/0599.html\n//\n// \"reserved (remote)\" is omitted since the client code does not\n// support server push.\nconst (\n\tstateIdle streamState = iota\n\tstateOpen\n\tstateHalfClosedLocal\n\tstateHalfClosedRemote\n\tstateClosed\n)\n\nvar stateName = [...]string{\n\tstateIdle:             \"Idle\",\n\tstateOpen:             \"Open\",\n\tstateHalfClosedLocal:  \"HalfClosedLocal\",\n\tstateHalfClosedRemote: \"HalfClosedRemote\",\n\tstateClosed:           \"Closed\",\n}\n\nfunc (st streamState) String() string {\n\treturn stateName[st]\n}\n\n// Setting is a setting parameter: which setting it is, and its value.\ntype Setting struct {\n\t// ID is which setting is being set.\n\t// See http://http2.github.io/http2-spec/#SettingValues\n\tID SettingID\n\n\t// Val is the value.\n\tVal uint32\n}\n\nfunc (s Setting) String() string {\n\treturn fmt.Sprintf(\"[%v = %d]\", s.ID, s.Val)\n}\n\n// Valid reports whether the setting is valid.\nfunc (s Setting) Valid() error {\n\t// Limits and error codes from 6.5.2 Defined SETTINGS Parameters\n\tswitch s.ID {\n\tcase SettingEnablePush:\n\t\tif s.Val != 1 && s.Val != 0 {\n\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t}\n\tcase SettingInitialWindowSize:\n\t\tif s.Val > 1<<31-1 {\n\t\t\treturn ConnectionError(ErrCodeFlowControl)\n\t\t}\n\tcase SettingMaxFrameSize:\n\t\tif s.Val < 16384 || s.Val > 1<<24-1 {\n\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t}\n\t}\n\treturn nil\n}\n\n// A SettingID is an HTTP/2 setting as defined in\n// http://http2.github.io/http2-spec/#iana-settings\ntype SettingID uint16\n\nconst (\n\tSettingHeaderTableSize      SettingID = 0x1\n\tSettingEnablePush           SettingID = 0x2\n\tSettingMaxConcurrentStreams SettingID = 0x3\n\tSettingInitialWindowSize    SettingID = 0x4\n\tSettingMaxFrameSize         SettingID = 0x5\n\tSettingMaxHeaderListSize    SettingID = 0x6\n)\n\nvar settingName = map[SettingID]string{\n\tSettingHeaderTableSize:      \"HEADER_TABLE_SIZE\",\n\tSettingEnablePush:           \"ENABLE_PUSH\",\n\tSettingMaxConcurrentStreams: \"MAX_CONCURRENT_STREAMS\",\n\tSettingInitialWindowSize:    \"INITIAL_WINDOW_SIZE\",\n\tSettingMaxFrameSize:         \"MAX_FRAME_SIZE\",\n\tSettingMaxHeaderListSize:    \"MAX_HEADER_LIST_SIZE\",\n}\n\nfunc (s SettingID) String() string {\n\tif v, ok := settingName[s]; ok {\n\t\treturn v\n\t}\n\treturn fmt.Sprintf(\"UNKNOWN_SETTING_%d\", uint16(s))\n}\n\nvar (\n\terrInvalidHeaderFieldName  = errors.New(\"http2: invalid header field name\")\n\terrInvalidHeaderFieldValue = errors.New(\"http2: invalid header field value\")\n)\n\n// validWireHeaderFieldName reports whether v is a valid header field\n// name (key). See httplex.ValidHeaderName for the base rules.\n//\n// Further, http2 says:\n//   \"Just as in HTTP/1.x, header field names are strings of ASCII\n//   characters that are compared in a case-insensitive\n//   fashion. However, header field names MUST be converted to\n//   lowercase prior to their encoding in HTTP/2. \"\nfunc validWireHeaderFieldName(v string) bool {\n\tif len(v) == 0 {\n\t\treturn false\n\t}\n\tfor _, r := range v {\n\t\tif !httplex.IsTokenRune(r) {\n\t\t\treturn false\n\t\t}\n\t\tif 'A' <= r && r <= 'Z' {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nvar httpCodeStringCommon = map[int]string{} // n -> strconv.Itoa(n)\n\nfunc init() {\n\tfor i := 100; i <= 999; i++ {\n\t\tif v := http.StatusText(i); v != \"\" {\n\t\t\thttpCodeStringCommon[i] = strconv.Itoa(i)\n\t\t}\n\t}\n}\n\nfunc httpCodeString(code int) string {\n\tif s, ok := httpCodeStringCommon[code]; ok {\n\t\treturn s\n\t}\n\treturn strconv.Itoa(code)\n}\n\n// from pkg io\ntype stringWriter interface {\n\tWriteString(s string) (n int, err error)\n}\n\n// A gate lets two goroutines coordinate their activities.\ntype gate chan struct{}\n\nfunc (g gate) Done() { g <- struct{}{} }\nfunc (g gate) Wait() { <-g }\n\n// A closeWaiter is like a sync.WaitGroup but only goes 1 to 0 (open to closed).\ntype closeWaiter chan struct{}\n\n// Init makes a closeWaiter usable.\n// It exists because so a closeWaiter value can be placed inside a\n// larger struct and have the Mutex and Cond's memory in the same\n// allocation.\nfunc (cw *closeWaiter) Init() {\n\t*cw = make(chan struct{})\n}\n\n// Close marks the closeWaiter as closed and unblocks any waiters.\nfunc (cw closeWaiter) Close() {\n\tclose(cw)\n}\n\n// Wait waits for the closeWaiter to become closed.\nfunc (cw closeWaiter) Wait() {\n\t<-cw\n}\n\n// bufferedWriter is a buffered writer that writes to w.\n// Its buffered writer is lazily allocated as needed, to minimize\n// idle memory usage with many connections.\ntype bufferedWriter struct {\n\tw  io.Writer     // immutable\n\tbw *bufio.Writer // non-nil when data is buffered\n}\n\nfunc newBufferedWriter(w io.Writer) *bufferedWriter {\n\treturn &bufferedWriter{w: w}\n}\n\n// bufWriterPoolBufferSize is the size of bufio.Writer's\n// buffers created using bufWriterPool.\n//\n// TODO: pick a less arbitrary value? this is a bit under\n// (3 x typical 1500 byte MTU) at least. Other than that,\n// not much thought went into it.\nconst bufWriterPoolBufferSize = 4 << 10\n\nvar bufWriterPool = sync.Pool{\n\tNew: func() interface{} {\n\t\treturn bufio.NewWriterSize(nil, bufWriterPoolBufferSize)\n\t},\n}\n\nfunc (w *bufferedWriter) Available() int {\n\tif w.bw == nil {\n\t\treturn bufWriterPoolBufferSize\n\t}\n\treturn w.bw.Available()\n}\n\nfunc (w *bufferedWriter) Write(p []byte) (n int, err error) {\n\tif w.bw == nil {\n\t\tbw := bufWriterPool.Get().(*bufio.Writer)\n\t\tbw.Reset(w.w)\n\t\tw.bw = bw\n\t}\n\treturn w.bw.Write(p)\n}\n\nfunc (w *bufferedWriter) Flush() error {\n\tbw := w.bw\n\tif bw == nil {\n\t\treturn nil\n\t}\n\terr := bw.Flush()\n\tbw.Reset(nil)\n\tbufWriterPool.Put(bw)\n\tw.bw = nil\n\treturn err\n}\n\nfunc mustUint31(v int32) uint32 {\n\tif v < 0 || v > 2147483647 {\n\t\tpanic(\"out of range\")\n\t}\n\treturn uint32(v)\n}\n\n// bodyAllowedForStatus reports whether a given response status code\n// permits a body. See RFC 2616, section 4.4.\nfunc bodyAllowedForStatus(status int) bool {\n\tswitch {\n\tcase status >= 100 && status <= 199:\n\t\treturn false\n\tcase status == 204:\n\t\treturn false\n\tcase status == 304:\n\t\treturn false\n\t}\n\treturn true\n}\n\ntype httpError struct {\n\tmsg     string\n\ttimeout bool\n}\n\nfunc (e *httpError) Error() string   { return e.msg }\nfunc (e *httpError) Timeout() bool   { return e.timeout }\nfunc (e *httpError) Temporary() bool { return true }\n\nvar errTimeout error = &httpError{msg: \"http2: timeout awaiting response headers\", timeout: true}\n\ntype connectionStater interface {\n\tConnectionState() tls.ConnectionState\n}\n\nvar sorterPool = sync.Pool{New: func() interface{} { return new(sorter) }}\n\ntype sorter struct {\n\tv []string // owned by sorter\n}\n\nfunc (s *sorter) Len() int           { return len(s.v) }\nfunc (s *sorter) Swap(i, j int)      { s.v[i], s.v[j] = s.v[j], s.v[i] }\nfunc (s *sorter) Less(i, j int) bool { return s.v[i] < s.v[j] }\n\n// Keys returns the sorted keys of h.\n//\n// The returned slice is only valid until s used again or returned to\n// its pool.\nfunc (s *sorter) Keys(h http.Header) []string {\n\tkeys := s.v[:0]\n\tfor k := range h {\n\t\tkeys = append(keys, k)\n\t}\n\ts.v = keys\n\tsort.Sort(s)\n\treturn keys\n}\n\nfunc (s *sorter) SortStrings(ss []string) {\n\t// Our sorter works on s.v, which sorter owns, so\n\t// stash it away while we sort the user's buffer.\n\tsave := s.v\n\ts.v = ss\n\tsort.Sort(s)\n\ts.v = save\n}\n\n// validPseudoPath reports whether v is a valid :path pseudo-header\n// value. It must be either:\n//\n//     *) a non-empty string starting with '/'\n//     *) the string '*', for OPTIONS requests.\n//\n// For now this is only used a quick check for deciding when to clean\n// up Opaque URLs before sending requests from the Transport.\n// See golang.org/issue/16847\n//\n// We used to enforce that the path also didn't start with \"//\", but\n// Google's GFE accepts such paths and Chrome sends them, so ignore\n// that part of the spec. See golang.org/issue/19103.\nfunc validPseudoPath(v string) bool {\n\treturn (len(v) > 0 && v[0] == '/') || v == \"*\"\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/not_go16.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.6\n\npackage http2\n\nimport (\n\t\"net/http\"\n\t\"time\"\n)\n\nfunc configureTransport(t1 *http.Transport) (*Transport, error) {\n\treturn nil, errTransportVersion\n}\n\nfunc transportExpectContinueTimeout(t1 *http.Transport) time.Duration {\n\treturn 0\n\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/not_go17.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.7\n\npackage http2\n\nimport (\n\t\"crypto/tls\"\n\t\"net\"\n\t\"net/http\"\n\t\"time\"\n)\n\ntype contextContext interface {\n\tDone() <-chan struct{}\n\tErr() error\n}\n\ntype fakeContext struct{}\n\nfunc (fakeContext) Done() <-chan struct{} { return nil }\nfunc (fakeContext) Err() error            { panic(\"should not be called\") }\n\nfunc reqContext(r *http.Request) fakeContext {\n\treturn fakeContext{}\n}\n\nfunc setResponseUncompressed(res *http.Response) {\n\t// Nothing.\n}\n\ntype clientTrace struct{}\n\nfunc requestTrace(*http.Request) *clientTrace { return nil }\nfunc traceGotConn(*http.Request, *ClientConn) {}\nfunc traceFirstResponseByte(*clientTrace)     {}\nfunc traceWroteHeaders(*clientTrace)          {}\nfunc traceWroteRequest(*clientTrace, error)   {}\nfunc traceGot100Continue(trace *clientTrace)  {}\nfunc traceWait100Continue(trace *clientTrace) {}\n\nfunc nop() {}\n\nfunc serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx contextContext, cancel func()) {\n\treturn nil, nop\n}\n\nfunc contextWithCancel(ctx contextContext) (_ contextContext, cancel func()) {\n\treturn ctx, nop\n}\n\nfunc requestWithContext(req *http.Request, ctx contextContext) *http.Request {\n\treturn req\n}\n\n// temporary copy of Go 1.6's private tls.Config.clone:\nfunc cloneTLSConfig(c *tls.Config) *tls.Config {\n\treturn &tls.Config{\n\t\tRand:                     c.Rand,\n\t\tTime:                     c.Time,\n\t\tCertificates:             c.Certificates,\n\t\tNameToCertificate:        c.NameToCertificate,\n\t\tGetCertificate:           c.GetCertificate,\n\t\tRootCAs:                  c.RootCAs,\n\t\tNextProtos:               c.NextProtos,\n\t\tServerName:               c.ServerName,\n\t\tClientAuth:               c.ClientAuth,\n\t\tClientCAs:                c.ClientCAs,\n\t\tInsecureSkipVerify:       c.InsecureSkipVerify,\n\t\tCipherSuites:             c.CipherSuites,\n\t\tPreferServerCipherSuites: c.PreferServerCipherSuites,\n\t\tSessionTicketsDisabled:   c.SessionTicketsDisabled,\n\t\tSessionTicketKey:         c.SessionTicketKey,\n\t\tClientSessionCache:       c.ClientSessionCache,\n\t\tMinVersion:               c.MinVersion,\n\t\tMaxVersion:               c.MaxVersion,\n\t\tCurvePreferences:         c.CurvePreferences,\n\t}\n}\n\nfunc (cc *ClientConn) Ping(ctx contextContext) error {\n\treturn cc.ping(ctx)\n}\n\nfunc (t *Transport) idleConnTimeout() time.Duration { return 0 }\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/not_go18.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.8\n\npackage http2\n\nimport (\n\t\"io\"\n\t\"net/http\"\n)\n\nfunc configureServer18(h1 *http.Server, h2 *Server) error {\n\t// No IdleTimeout to sync prior to Go 1.8.\n\treturn nil\n}\n\nfunc shouldLogPanic(panicValue interface{}) bool {\n\treturn panicValue != nil\n}\n\nfunc reqGetBody(req *http.Request) func() (io.ReadCloser, error) {\n\treturn nil\n}\n\nfunc reqBodyIsNoBody(io.ReadCloser) bool { return false }\n\nfunc go18httpNoBody() io.ReadCloser { return nil } // for tests only\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/not_go19.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.9\n\npackage http2\n\nimport (\n\t\"net/http\"\n)\n\nfunc configureServer19(s *http.Server, conf *Server) error {\n\t// not supported prior to go1.9\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/pipe.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"errors\"\n\t\"io\"\n\t\"sync\"\n)\n\n// pipe is a goroutine-safe io.Reader/io.Writer pair. It's like\n// io.Pipe except there are no PipeReader/PipeWriter halves, and the\n// underlying buffer is an interface. (io.Pipe is always unbuffered)\ntype pipe struct {\n\tmu       sync.Mutex\n\tc        sync.Cond     // c.L lazily initialized to &p.mu\n\tb        pipeBuffer    // nil when done reading\n\terr      error         // read error once empty. non-nil means closed.\n\tbreakErr error         // immediate read error (caller doesn't see rest of b)\n\tdonec    chan struct{} // closed on error\n\treadFn   func()        // optional code to run in Read before error\n}\n\ntype pipeBuffer interface {\n\tLen() int\n\tio.Writer\n\tio.Reader\n}\n\nfunc (p *pipe) Len() int {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tif p.b == nil {\n\t\treturn 0\n\t}\n\treturn p.b.Len()\n}\n\n// Read waits until data is available and copies bytes\n// from the buffer into p.\nfunc (p *pipe) Read(d []byte) (n int, err error) {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tif p.c.L == nil {\n\t\tp.c.L = &p.mu\n\t}\n\tfor {\n\t\tif p.breakErr != nil {\n\t\t\treturn 0, p.breakErr\n\t\t}\n\t\tif p.b != nil && p.b.Len() > 0 {\n\t\t\treturn p.b.Read(d)\n\t\t}\n\t\tif p.err != nil {\n\t\t\tif p.readFn != nil {\n\t\t\t\tp.readFn()     // e.g. copy trailers\n\t\t\t\tp.readFn = nil // not sticky like p.err\n\t\t\t}\n\t\t\tp.b = nil\n\t\t\treturn 0, p.err\n\t\t}\n\t\tp.c.Wait()\n\t}\n}\n\nvar errClosedPipeWrite = errors.New(\"write on closed buffer\")\n\n// Write copies bytes from p into the buffer and wakes a reader.\n// It is an error to write more data than the buffer can hold.\nfunc (p *pipe) Write(d []byte) (n int, err error) {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tif p.c.L == nil {\n\t\tp.c.L = &p.mu\n\t}\n\tdefer p.c.Signal()\n\tif p.err != nil {\n\t\treturn 0, errClosedPipeWrite\n\t}\n\tif p.breakErr != nil {\n\t\treturn len(d), nil // discard when there is no reader\n\t}\n\treturn p.b.Write(d)\n}\n\n// CloseWithError causes the next Read (waking up a current blocked\n// Read if needed) to return the provided err after all data has been\n// read.\n//\n// The error must be non-nil.\nfunc (p *pipe) CloseWithError(err error) { p.closeWithError(&p.err, err, nil) }\n\n// BreakWithError causes the next Read (waking up a current blocked\n// Read if needed) to return the provided err immediately, without\n// waiting for unread data.\nfunc (p *pipe) BreakWithError(err error) { p.closeWithError(&p.breakErr, err, nil) }\n\n// closeWithErrorAndCode is like CloseWithError but also sets some code to run\n// in the caller's goroutine before returning the error.\nfunc (p *pipe) closeWithErrorAndCode(err error, fn func()) { p.closeWithError(&p.err, err, fn) }\n\nfunc (p *pipe) closeWithError(dst *error, err error, fn func()) {\n\tif err == nil {\n\t\tpanic(\"err must be non-nil\")\n\t}\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tif p.c.L == nil {\n\t\tp.c.L = &p.mu\n\t}\n\tdefer p.c.Signal()\n\tif *dst != nil {\n\t\t// Already been done.\n\t\treturn\n\t}\n\tp.readFn = fn\n\tif dst == &p.breakErr {\n\t\tp.b = nil\n\t}\n\t*dst = err\n\tp.closeDoneLocked()\n}\n\n// requires p.mu be held.\nfunc (p *pipe) closeDoneLocked() {\n\tif p.donec == nil {\n\t\treturn\n\t}\n\t// Close if unclosed. This isn't racy since we always\n\t// hold p.mu while closing.\n\tselect {\n\tcase <-p.donec:\n\tdefault:\n\t\tclose(p.donec)\n\t}\n}\n\n// Err returns the error (if any) first set by BreakWithError or CloseWithError.\nfunc (p *pipe) Err() error {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tif p.breakErr != nil {\n\t\treturn p.breakErr\n\t}\n\treturn p.err\n}\n\n// Done returns a channel which is closed if and when this pipe is closed\n// with CloseWithError.\nfunc (p *pipe) Done() <-chan struct{} {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tif p.donec == nil {\n\t\tp.donec = make(chan struct{})\n\t\tif p.err != nil || p.breakErr != nil {\n\t\t\t// Already hit an error.\n\t\t\tp.closeDoneLocked()\n\t\t}\n\t}\n\treturn p.donec\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/server.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// TODO: turn off the serve goroutine when idle, so\n// an idle conn only has the readFrames goroutine active. (which could\n// also be optimized probably to pin less memory in crypto/tls). This\n// would involve tracking when the serve goroutine is active (atomic\n// int32 read/CAS probably?) and starting it up when frames arrive,\n// and shutting it down when all handlers exit. the occasional PING\n// packets could use time.AfterFunc to call sc.wakeStartServeLoop()\n// (which is a no-op if already running) and then queue the PING write\n// as normal. The serve loop would then exit in most cases (if no\n// Handlers running) and not be woken up again until the PING packet\n// returns.\n\n// TODO (maybe): add a mechanism for Handlers to going into\n// half-closed-local mode (rw.(io.Closer) test?) but not exit their\n// handler, and continue to be able to read from the\n// Request.Body. This would be a somewhat semantic change from HTTP/1\n// (or at least what we expose in net/http), so I'd probably want to\n// add it there too. For now, this package says that returning from\n// the Handler ServeHTTP function means you're both done reading and\n// done writing, without a way to stop just one or the other.\n\npackage http2\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"crypto/tls\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"math\"\n\t\"net\"\n\t\"net/http\"\n\t\"net/textproto\"\n\t\"net/url\"\n\t\"os\"\n\t\"reflect\"\n\t\"runtime\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/http2/hpack\"\n)\n\nconst (\n\tprefaceTimeout        = 10 * time.Second\n\tfirstSettingsTimeout  = 2 * time.Second // should be in-flight with preface anyway\n\thandlerChunkWriteSize = 4 << 10\n\tdefaultMaxStreams     = 250 // TODO: make this 100 as the GFE seems to?\n)\n\nvar (\n\terrClientDisconnected = errors.New(\"client disconnected\")\n\terrClosedBody         = errors.New(\"body closed by handler\")\n\terrHandlerComplete    = errors.New(\"http2: request body closed due to handler exiting\")\n\terrStreamClosed       = errors.New(\"http2: stream closed\")\n)\n\nvar responseWriterStatePool = sync.Pool{\n\tNew: func() interface{} {\n\t\trws := &responseWriterState{}\n\t\trws.bw = bufio.NewWriterSize(chunkWriter{rws}, handlerChunkWriteSize)\n\t\treturn rws\n\t},\n}\n\n// Test hooks.\nvar (\n\ttestHookOnConn        func()\n\ttestHookGetServerConn func(*serverConn)\n\ttestHookOnPanicMu     *sync.Mutex // nil except in tests\n\ttestHookOnPanic       func(sc *serverConn, panicVal interface{}) (rePanic bool)\n)\n\n// Server is an HTTP/2 server.\ntype Server struct {\n\t// MaxHandlers limits the number of http.Handler ServeHTTP goroutines\n\t// which may run at a time over all connections.\n\t// Negative or zero no limit.\n\t// TODO: implement\n\tMaxHandlers int\n\n\t// MaxConcurrentStreams optionally specifies the number of\n\t// concurrent streams that each client may have open at a\n\t// time. This is unrelated to the number of http.Handler goroutines\n\t// which may be active globally, which is MaxHandlers.\n\t// If zero, MaxConcurrentStreams defaults to at least 100, per\n\t// the HTTP/2 spec's recommendations.\n\tMaxConcurrentStreams uint32\n\n\t// MaxReadFrameSize optionally specifies the largest frame\n\t// this server is willing to read. A valid value is between\n\t// 16k and 16M, inclusive. If zero or otherwise invalid, a\n\t// default value is used.\n\tMaxReadFrameSize uint32\n\n\t// PermitProhibitedCipherSuites, if true, permits the use of\n\t// cipher suites prohibited by the HTTP/2 spec.\n\tPermitProhibitedCipherSuites bool\n\n\t// IdleTimeout specifies how long until idle clients should be\n\t// closed with a GOAWAY frame. PING frames are not considered\n\t// activity for the purposes of IdleTimeout.\n\tIdleTimeout time.Duration\n\n\t// MaxUploadBufferPerConnection is the size of the initial flow\n\t// control window for each connections. The HTTP/2 spec does not\n\t// allow this to be smaller than 65535 or larger than 2^32-1.\n\t// If the value is outside this range, a default value will be\n\t// used instead.\n\tMaxUploadBufferPerConnection int32\n\n\t// MaxUploadBufferPerStream is the size of the initial flow control\n\t// window for each stream. The HTTP/2 spec does not allow this to\n\t// be larger than 2^32-1. If the value is zero or larger than the\n\t// maximum, a default value will be used instead.\n\tMaxUploadBufferPerStream int32\n\n\t// NewWriteScheduler constructs a write scheduler for a connection.\n\t// If nil, a default scheduler is chosen.\n\tNewWriteScheduler func() WriteScheduler\n\n\t// Internal state. This is a pointer (rather than embedded directly)\n\t// so that we don't embed a Mutex in this struct, which will make the\n\t// struct non-copyable, which might break some callers.\n\tstate *serverInternalState\n}\n\nfunc (s *Server) initialConnRecvWindowSize() int32 {\n\tif s.MaxUploadBufferPerConnection > initialWindowSize {\n\t\treturn s.MaxUploadBufferPerConnection\n\t}\n\treturn 1 << 20\n}\n\nfunc (s *Server) initialStreamRecvWindowSize() int32 {\n\tif s.MaxUploadBufferPerStream > 0 {\n\t\treturn s.MaxUploadBufferPerStream\n\t}\n\treturn 1 << 20\n}\n\nfunc (s *Server) maxReadFrameSize() uint32 {\n\tif v := s.MaxReadFrameSize; v >= minMaxFrameSize && v <= maxFrameSize {\n\t\treturn v\n\t}\n\treturn defaultMaxReadFrameSize\n}\n\nfunc (s *Server) maxConcurrentStreams() uint32 {\n\tif v := s.MaxConcurrentStreams; v > 0 {\n\t\treturn v\n\t}\n\treturn defaultMaxStreams\n}\n\ntype serverInternalState struct {\n\tmu          sync.Mutex\n\tactiveConns map[*serverConn]struct{}\n}\n\nfunc (s *serverInternalState) registerConn(sc *serverConn) {\n\tif s == nil {\n\t\treturn // if the Server was used without calling ConfigureServer\n\t}\n\ts.mu.Lock()\n\ts.activeConns[sc] = struct{}{}\n\ts.mu.Unlock()\n}\n\nfunc (s *serverInternalState) unregisterConn(sc *serverConn) {\n\tif s == nil {\n\t\treturn // if the Server was used without calling ConfigureServer\n\t}\n\ts.mu.Lock()\n\tdelete(s.activeConns, sc)\n\ts.mu.Unlock()\n}\n\nfunc (s *serverInternalState) startGracefulShutdown() {\n\tif s == nil {\n\t\treturn // if the Server was used without calling ConfigureServer\n\t}\n\ts.mu.Lock()\n\tfor sc := range s.activeConns {\n\t\tsc.startGracefulShutdown()\n\t}\n\ts.mu.Unlock()\n}\n\n// ConfigureServer adds HTTP/2 support to a net/http Server.\n//\n// The configuration conf may be nil.\n//\n// ConfigureServer must be called before s begins serving.\nfunc ConfigureServer(s *http.Server, conf *Server) error {\n\tif s == nil {\n\t\tpanic(\"nil *http.Server\")\n\t}\n\tif conf == nil {\n\t\tconf = new(Server)\n\t}\n\tconf.state = &serverInternalState{activeConns: make(map[*serverConn]struct{})}\n\tif err := configureServer18(s, conf); err != nil {\n\t\treturn err\n\t}\n\tif err := configureServer19(s, conf); err != nil {\n\t\treturn err\n\t}\n\n\tif s.TLSConfig == nil {\n\t\ts.TLSConfig = new(tls.Config)\n\t} else if s.TLSConfig.CipherSuites != nil {\n\t\t// If they already provided a CipherSuite list, return\n\t\t// an error if it has a bad order or is missing\n\t\t// ECDHE_RSA_WITH_AES_128_GCM_SHA256 or ECDHE_ECDSA_WITH_AES_128_GCM_SHA256.\n\t\thaveRequired := false\n\t\tsawBad := false\n\t\tfor i, cs := range s.TLSConfig.CipherSuites {\n\t\t\tswitch cs {\n\t\t\tcase tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,\n\t\t\t\t// Alternative MTI cipher to not discourage ECDSA-only servers.\n\t\t\t\t// See http://golang.org/cl/30721 for further information.\n\t\t\t\ttls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:\n\t\t\t\thaveRequired = true\n\t\t\t}\n\t\t\tif isBadCipher(cs) {\n\t\t\t\tsawBad = true\n\t\t\t} else if sawBad {\n\t\t\t\treturn fmt.Errorf(\"http2: TLSConfig.CipherSuites index %d contains an HTTP/2-approved cipher suite (%#04x), but it comes after unapproved cipher suites. With this configuration, clients that don't support previous, approved cipher suites may be given an unapproved one and reject the connection.\", i, cs)\n\t\t\t}\n\t\t}\n\t\tif !haveRequired {\n\t\t\treturn fmt.Errorf(\"http2: TLSConfig.CipherSuites is missing an HTTP/2-required AES_128_GCM_SHA256 cipher.\")\n\t\t}\n\t}\n\n\t// Note: not setting MinVersion to tls.VersionTLS12,\n\t// as we don't want to interfere with HTTP/1.1 traffic\n\t// on the user's server. We enforce TLS 1.2 later once\n\t// we accept a connection. Ideally this should be done\n\t// during next-proto selection, but using TLS <1.2 with\n\t// HTTP/2 is still the client's bug.\n\n\ts.TLSConfig.PreferServerCipherSuites = true\n\n\thaveNPN := false\n\tfor _, p := range s.TLSConfig.NextProtos {\n\t\tif p == NextProtoTLS {\n\t\t\thaveNPN = true\n\t\t\tbreak\n\t\t}\n\t}\n\tif !haveNPN {\n\t\ts.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, NextProtoTLS)\n\t}\n\n\tif s.TLSNextProto == nil {\n\t\ts.TLSNextProto = map[string]func(*http.Server, *tls.Conn, http.Handler){}\n\t}\n\tprotoHandler := func(hs *http.Server, c *tls.Conn, h http.Handler) {\n\t\tif testHookOnConn != nil {\n\t\t\ttestHookOnConn()\n\t\t}\n\t\tconf.ServeConn(c, &ServeConnOpts{\n\t\t\tHandler:    h,\n\t\t\tBaseConfig: hs,\n\t\t})\n\t}\n\ts.TLSNextProto[NextProtoTLS] = protoHandler\n\treturn nil\n}\n\n// ServeConnOpts are options for the Server.ServeConn method.\ntype ServeConnOpts struct {\n\t// BaseConfig optionally sets the base configuration\n\t// for values. If nil, defaults are used.\n\tBaseConfig *http.Server\n\n\t// Handler specifies which handler to use for processing\n\t// requests. If nil, BaseConfig.Handler is used. If BaseConfig\n\t// or BaseConfig.Handler is nil, http.DefaultServeMux is used.\n\tHandler http.Handler\n}\n\nfunc (o *ServeConnOpts) baseConfig() *http.Server {\n\tif o != nil && o.BaseConfig != nil {\n\t\treturn o.BaseConfig\n\t}\n\treturn new(http.Server)\n}\n\nfunc (o *ServeConnOpts) handler() http.Handler {\n\tif o != nil {\n\t\tif o.Handler != nil {\n\t\t\treturn o.Handler\n\t\t}\n\t\tif o.BaseConfig != nil && o.BaseConfig.Handler != nil {\n\t\t\treturn o.BaseConfig.Handler\n\t\t}\n\t}\n\treturn http.DefaultServeMux\n}\n\n// ServeConn serves HTTP/2 requests on the provided connection and\n// blocks until the connection is no longer readable.\n//\n// ServeConn starts speaking HTTP/2 assuming that c has not had any\n// reads or writes. It writes its initial settings frame and expects\n// to be able to read the preface and settings frame from the\n// client. If c has a ConnectionState method like a *tls.Conn, the\n// ConnectionState is used to verify the TLS ciphersuite and to set\n// the Request.TLS field in Handlers.\n//\n// ServeConn does not support h2c by itself. Any h2c support must be\n// implemented in terms of providing a suitably-behaving net.Conn.\n//\n// The opts parameter is optional. If nil, default values are used.\nfunc (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) {\n\tbaseCtx, cancel := serverConnBaseContext(c, opts)\n\tdefer cancel()\n\n\tsc := &serverConn{\n\t\tsrv:                         s,\n\t\ths:                          opts.baseConfig(),\n\t\tconn:                        c,\n\t\tbaseCtx:                     baseCtx,\n\t\tremoteAddrStr:               c.RemoteAddr().String(),\n\t\tbw:                          newBufferedWriter(c),\n\t\thandler:                     opts.handler(),\n\t\tstreams:                     make(map[uint32]*stream),\n\t\treadFrameCh:                 make(chan readFrameResult),\n\t\twantWriteFrameCh:            make(chan FrameWriteRequest, 8),\n\t\tserveMsgCh:                  make(chan interface{}, 8),\n\t\twroteFrameCh:                make(chan frameWriteResult, 1), // buffered; one send in writeFrameAsync\n\t\tbodyReadCh:                  make(chan bodyReadMsg),         // buffering doesn't matter either way\n\t\tdoneServing:                 make(chan struct{}),\n\t\tclientMaxStreams:            math.MaxUint32, // Section 6.5.2: \"Initially, there is no limit to this value\"\n\t\tadvMaxStreams:               s.maxConcurrentStreams(),\n\t\tinitialStreamSendWindowSize: initialWindowSize,\n\t\tmaxFrameSize:                initialMaxFrameSize,\n\t\theaderTableSize:             initialHeaderTableSize,\n\t\tserveG:                      newGoroutineLock(),\n\t\tpushEnabled:                 true,\n\t}\n\n\ts.state.registerConn(sc)\n\tdefer s.state.unregisterConn(sc)\n\n\t// The net/http package sets the write deadline from the\n\t// http.Server.WriteTimeout during the TLS handshake, but then\n\t// passes the connection off to us with the deadline already set.\n\t// Write deadlines are set per stream in serverConn.newStream.\n\t// Disarm the net.Conn write deadline here.\n\tif sc.hs.WriteTimeout != 0 {\n\t\tsc.conn.SetWriteDeadline(time.Time{})\n\t}\n\n\tif s.NewWriteScheduler != nil {\n\t\tsc.writeSched = s.NewWriteScheduler()\n\t} else {\n\t\tsc.writeSched = NewRandomWriteScheduler()\n\t}\n\n\t// These start at the RFC-specified defaults. If there is a higher\n\t// configured value for inflow, that will be updated when we send a\n\t// WINDOW_UPDATE shortly after sending SETTINGS.\n\tsc.flow.add(initialWindowSize)\n\tsc.inflow.add(initialWindowSize)\n\tsc.hpackEncoder = hpack.NewEncoder(&sc.headerWriteBuf)\n\n\tfr := NewFramer(sc.bw, c)\n\tfr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil)\n\tfr.MaxHeaderListSize = sc.maxHeaderListSize()\n\tfr.SetMaxReadFrameSize(s.maxReadFrameSize())\n\tsc.framer = fr\n\n\tif tc, ok := c.(connectionStater); ok {\n\t\tsc.tlsState = new(tls.ConnectionState)\n\t\t*sc.tlsState = tc.ConnectionState()\n\t\t// 9.2 Use of TLS Features\n\t\t// An implementation of HTTP/2 over TLS MUST use TLS\n\t\t// 1.2 or higher with the restrictions on feature set\n\t\t// and cipher suite described in this section. Due to\n\t\t// implementation limitations, it might not be\n\t\t// possible to fail TLS negotiation. An endpoint MUST\n\t\t// immediately terminate an HTTP/2 connection that\n\t\t// does not meet the TLS requirements described in\n\t\t// this section with a connection error (Section\n\t\t// 5.4.1) of type INADEQUATE_SECURITY.\n\t\tif sc.tlsState.Version < tls.VersionTLS12 {\n\t\t\tsc.rejectConn(ErrCodeInadequateSecurity, \"TLS version too low\")\n\t\t\treturn\n\t\t}\n\n\t\tif sc.tlsState.ServerName == \"\" {\n\t\t\t// Client must use SNI, but we don't enforce that anymore,\n\t\t\t// since it was causing problems when connecting to bare IP\n\t\t\t// addresses during development.\n\t\t\t//\n\t\t\t// TODO: optionally enforce? Or enforce at the time we receive\n\t\t\t// a new request, and verify the the ServerName matches the :authority?\n\t\t\t// But that precludes proxy situations, perhaps.\n\t\t\t//\n\t\t\t// So for now, do nothing here again.\n\t\t}\n\n\t\tif !s.PermitProhibitedCipherSuites && isBadCipher(sc.tlsState.CipherSuite) {\n\t\t\t// \"Endpoints MAY choose to generate a connection error\n\t\t\t// (Section 5.4.1) of type INADEQUATE_SECURITY if one of\n\t\t\t// the prohibited cipher suites are negotiated.\"\n\t\t\t//\n\t\t\t// We choose that. In my opinion, the spec is weak\n\t\t\t// here. It also says both parties must support at least\n\t\t\t// TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 so there's no\n\t\t\t// excuses here. If we really must, we could allow an\n\t\t\t// \"AllowInsecureWeakCiphers\" option on the server later.\n\t\t\t// Let's see how it plays out first.\n\t\t\tsc.rejectConn(ErrCodeInadequateSecurity, fmt.Sprintf(\"Prohibited TLS 1.2 Cipher Suite: %x\", sc.tlsState.CipherSuite))\n\t\t\treturn\n\t\t}\n\t}\n\n\tif hook := testHookGetServerConn; hook != nil {\n\t\thook(sc)\n\t}\n\tsc.serve()\n}\n\nfunc (sc *serverConn) rejectConn(err ErrCode, debug string) {\n\tsc.vlogf(\"http2: server rejecting conn: %v, %s\", err, debug)\n\t// ignoring errors. hanging up anyway.\n\tsc.framer.WriteGoAway(0, err, []byte(debug))\n\tsc.bw.Flush()\n\tsc.conn.Close()\n}\n\ntype serverConn struct {\n\t// Immutable:\n\tsrv              *Server\n\ths               *http.Server\n\tconn             net.Conn\n\tbw               *bufferedWriter // writing to conn\n\thandler          http.Handler\n\tbaseCtx          contextContext\n\tframer           *Framer\n\tdoneServing      chan struct{}          // closed when serverConn.serve ends\n\treadFrameCh      chan readFrameResult   // written by serverConn.readFrames\n\twantWriteFrameCh chan FrameWriteRequest // from handlers -> serve\n\twroteFrameCh     chan frameWriteResult  // from writeFrameAsync -> serve, tickles more frame writes\n\tbodyReadCh       chan bodyReadMsg       // from handlers -> serve\n\tserveMsgCh       chan interface{}       // misc messages & code to send to / run on the serve loop\n\tflow             flow                   // conn-wide (not stream-specific) outbound flow control\n\tinflow           flow                   // conn-wide inbound flow control\n\ttlsState         *tls.ConnectionState   // shared by all handlers, like net/http\n\tremoteAddrStr    string\n\twriteSched       WriteScheduler\n\n\t// Everything following is owned by the serve loop; use serveG.check():\n\tserveG                      goroutineLock // used to verify funcs are on serve()\n\tpushEnabled                 bool\n\tsawFirstSettings            bool // got the initial SETTINGS frame after the preface\n\tneedToSendSettingsAck       bool\n\tunackedSettings             int    // how many SETTINGS have we sent without ACKs?\n\tclientMaxStreams            uint32 // SETTINGS_MAX_CONCURRENT_STREAMS from client (our PUSH_PROMISE limit)\n\tadvMaxStreams               uint32 // our SETTINGS_MAX_CONCURRENT_STREAMS advertised the client\n\tcurClientStreams            uint32 // number of open streams initiated by the client\n\tcurPushedStreams            uint32 // number of open streams initiated by server push\n\tmaxClientStreamID           uint32 // max ever seen from client (odd), or 0 if there have been no client requests\n\tmaxPushPromiseID            uint32 // ID of the last push promise (even), or 0 if there have been no pushes\n\tstreams                     map[uint32]*stream\n\tinitialStreamSendWindowSize int32\n\tmaxFrameSize                int32\n\theaderTableSize             uint32\n\tpeerMaxHeaderListSize       uint32            // zero means unknown (default)\n\tcanonHeader                 map[string]string // http2-lower-case -> Go-Canonical-Case\n\twritingFrame                bool              // started writing a frame (on serve goroutine or separate)\n\twritingFrameAsync           bool              // started a frame on its own goroutine but haven't heard back on wroteFrameCh\n\tneedsFrameFlush             bool              // last frame write wasn't a flush\n\tinGoAway                    bool              // we've started to or sent GOAWAY\n\tinFrameScheduleLoop         bool              // whether we're in the scheduleFrameWrite loop\n\tneedToSendGoAway            bool              // we need to schedule a GOAWAY frame write\n\tgoAwayCode                  ErrCode\n\tshutdownTimer               *time.Timer // nil until used\n\tidleTimer                   *time.Timer // nil if unused\n\n\t// Owned by the writeFrameAsync goroutine:\n\theaderWriteBuf bytes.Buffer\n\thpackEncoder   *hpack.Encoder\n\n\t// Used by startGracefulShutdown.\n\tshutdownOnce sync.Once\n}\n\nfunc (sc *serverConn) maxHeaderListSize() uint32 {\n\tn := sc.hs.MaxHeaderBytes\n\tif n <= 0 {\n\t\tn = http.DefaultMaxHeaderBytes\n\t}\n\t// http2's count is in a slightly different unit and includes 32 bytes per pair.\n\t// So, take the net/http.Server value and pad it up a bit, assuming 10 headers.\n\tconst perFieldOverhead = 32 // per http2 spec\n\tconst typicalHeaders = 10   // conservative\n\treturn uint32(n + typicalHeaders*perFieldOverhead)\n}\n\nfunc (sc *serverConn) curOpenStreams() uint32 {\n\tsc.serveG.check()\n\treturn sc.curClientStreams + sc.curPushedStreams\n}\n\n// stream represents a stream. This is the minimal metadata needed by\n// the serve goroutine. Most of the actual stream state is owned by\n// the http.Handler's goroutine in the responseWriter. Because the\n// responseWriter's responseWriterState is recycled at the end of a\n// handler, this struct intentionally has no pointer to the\n// *responseWriter{,State} itself, as the Handler ending nils out the\n// responseWriter's state field.\ntype stream struct {\n\t// immutable:\n\tsc        *serverConn\n\tid        uint32\n\tbody      *pipe       // non-nil if expecting DATA frames\n\tcw        closeWaiter // closed wait stream transitions to closed state\n\tctx       contextContext\n\tcancelCtx func()\n\n\t// owned by serverConn's serve loop:\n\tbodyBytes        int64   // body bytes seen so far\n\tdeclBodyBytes    int64   // or -1 if undeclared\n\tflow             flow    // limits writing from Handler to client\n\tinflow           flow    // what the client is allowed to POST/etc to us\n\tparent           *stream // or nil\n\tnumTrailerValues int64\n\tweight           uint8\n\tstate            streamState\n\tresetQueued      bool        // RST_STREAM queued for write; set by sc.resetStream\n\tgotTrailerHeader bool        // HEADER frame for trailers was seen\n\twroteHeaders     bool        // whether we wrote headers (not status 100)\n\twriteDeadline    *time.Timer // nil if unused\n\n\ttrailer    http.Header // accumulated trailers\n\treqTrailer http.Header // handler's Request.Trailer\n}\n\nfunc (sc *serverConn) Framer() *Framer  { return sc.framer }\nfunc (sc *serverConn) CloseConn() error { return sc.conn.Close() }\nfunc (sc *serverConn) Flush() error     { return sc.bw.Flush() }\nfunc (sc *serverConn) HeaderEncoder() (*hpack.Encoder, *bytes.Buffer) {\n\treturn sc.hpackEncoder, &sc.headerWriteBuf\n}\n\nfunc (sc *serverConn) state(streamID uint32) (streamState, *stream) {\n\tsc.serveG.check()\n\t// http://tools.ietf.org/html/rfc7540#section-5.1\n\tif st, ok := sc.streams[streamID]; ok {\n\t\treturn st.state, st\n\t}\n\t// \"The first use of a new stream identifier implicitly closes all\n\t// streams in the \"idle\" state that might have been initiated by\n\t// that peer with a lower-valued stream identifier. For example, if\n\t// a client sends a HEADERS frame on stream 7 without ever sending a\n\t// frame on stream 5, then stream 5 transitions to the \"closed\"\n\t// state when the first frame for stream 7 is sent or received.\"\n\tif streamID%2 == 1 {\n\t\tif streamID <= sc.maxClientStreamID {\n\t\t\treturn stateClosed, nil\n\t\t}\n\t} else {\n\t\tif streamID <= sc.maxPushPromiseID {\n\t\t\treturn stateClosed, nil\n\t\t}\n\t}\n\treturn stateIdle, nil\n}\n\n// setConnState calls the net/http ConnState hook for this connection, if configured.\n// Note that the net/http package does StateNew and StateClosed for us.\n// There is currently no plan for StateHijacked or hijacking HTTP/2 connections.\nfunc (sc *serverConn) setConnState(state http.ConnState) {\n\tif sc.hs.ConnState != nil {\n\t\tsc.hs.ConnState(sc.conn, state)\n\t}\n}\n\nfunc (sc *serverConn) vlogf(format string, args ...interface{}) {\n\tif VerboseLogs {\n\t\tsc.logf(format, args...)\n\t}\n}\n\nfunc (sc *serverConn) logf(format string, args ...interface{}) {\n\tif lg := sc.hs.ErrorLog; lg != nil {\n\t\tlg.Printf(format, args...)\n\t} else {\n\t\tlog.Printf(format, args...)\n\t}\n}\n\n// errno returns v's underlying uintptr, else 0.\n//\n// TODO: remove this helper function once http2 can use build\n// tags. See comment in isClosedConnError.\nfunc errno(v error) uintptr {\n\tif rv := reflect.ValueOf(v); rv.Kind() == reflect.Uintptr {\n\t\treturn uintptr(rv.Uint())\n\t}\n\treturn 0\n}\n\n// isClosedConnError reports whether err is an error from use of a closed\n// network connection.\nfunc isClosedConnError(err error) bool {\n\tif err == nil {\n\t\treturn false\n\t}\n\n\t// TODO: remove this string search and be more like the Windows\n\t// case below. That might involve modifying the standard library\n\t// to return better error types.\n\tstr := err.Error()\n\tif strings.Contains(str, \"use of closed network connection\") {\n\t\treturn true\n\t}\n\n\t// TODO(bradfitz): x/tools/cmd/bundle doesn't really support\n\t// build tags, so I can't make an http2_windows.go file with\n\t// Windows-specific stuff. Fix that and move this, once we\n\t// have a way to bundle this into std's net/http somehow.\n\tif runtime.GOOS == \"windows\" {\n\t\tif oe, ok := err.(*net.OpError); ok && oe.Op == \"read\" {\n\t\t\tif se, ok := oe.Err.(*os.SyscallError); ok && se.Syscall == \"wsarecv\" {\n\t\t\t\tconst WSAECONNABORTED = 10053\n\t\t\t\tconst WSAECONNRESET = 10054\n\t\t\t\tif n := errno(se.Err); n == WSAECONNRESET || n == WSAECONNABORTED {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn false\n}\n\nfunc (sc *serverConn) condlogf(err error, format string, args ...interface{}) {\n\tif err == nil {\n\t\treturn\n\t}\n\tif err == io.EOF || err == io.ErrUnexpectedEOF || isClosedConnError(err) || err == errPrefaceTimeout {\n\t\t// Boring, expected errors.\n\t\tsc.vlogf(format, args...)\n\t} else {\n\t\tsc.logf(format, args...)\n\t}\n}\n\nfunc (sc *serverConn) canonicalHeader(v string) string {\n\tsc.serveG.check()\n\tcv, ok := commonCanonHeader[v]\n\tif ok {\n\t\treturn cv\n\t}\n\tcv, ok = sc.canonHeader[v]\n\tif ok {\n\t\treturn cv\n\t}\n\tif sc.canonHeader == nil {\n\t\tsc.canonHeader = make(map[string]string)\n\t}\n\tcv = http.CanonicalHeaderKey(v)\n\tsc.canonHeader[v] = cv\n\treturn cv\n}\n\ntype readFrameResult struct {\n\tf   Frame // valid until readMore is called\n\terr error\n\n\t// readMore should be called once the consumer no longer needs or\n\t// retains f. After readMore, f is invalid and more frames can be\n\t// read.\n\treadMore func()\n}\n\n// readFrames is the loop that reads incoming frames.\n// It takes care to only read one frame at a time, blocking until the\n// consumer is done with the frame.\n// It's run on its own goroutine.\nfunc (sc *serverConn) readFrames() {\n\tgate := make(gate)\n\tgateDone := gate.Done\n\tfor {\n\t\tf, err := sc.framer.ReadFrame()\n\t\tselect {\n\t\tcase sc.readFrameCh <- readFrameResult{f, err, gateDone}:\n\t\tcase <-sc.doneServing:\n\t\t\treturn\n\t\t}\n\t\tselect {\n\t\tcase <-gate:\n\t\tcase <-sc.doneServing:\n\t\t\treturn\n\t\t}\n\t\tif terminalReadFrameError(err) {\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// frameWriteResult is the message passed from writeFrameAsync to the serve goroutine.\ntype frameWriteResult struct {\n\twr  FrameWriteRequest // what was written (or attempted)\n\terr error             // result of the writeFrame call\n}\n\n// writeFrameAsync runs in its own goroutine and writes a single frame\n// and then reports when it's done.\n// At most one goroutine can be running writeFrameAsync at a time per\n// serverConn.\nfunc (sc *serverConn) writeFrameAsync(wr FrameWriteRequest) {\n\terr := wr.write.writeFrame(sc)\n\tsc.wroteFrameCh <- frameWriteResult{wr, err}\n}\n\nfunc (sc *serverConn) closeAllStreamsOnConnClose() {\n\tsc.serveG.check()\n\tfor _, st := range sc.streams {\n\t\tsc.closeStream(st, errClientDisconnected)\n\t}\n}\n\nfunc (sc *serverConn) stopShutdownTimer() {\n\tsc.serveG.check()\n\tif t := sc.shutdownTimer; t != nil {\n\t\tt.Stop()\n\t}\n}\n\nfunc (sc *serverConn) notePanic() {\n\t// Note: this is for serverConn.serve panicking, not http.Handler code.\n\tif testHookOnPanicMu != nil {\n\t\ttestHookOnPanicMu.Lock()\n\t\tdefer testHookOnPanicMu.Unlock()\n\t}\n\tif testHookOnPanic != nil {\n\t\tif e := recover(); e != nil {\n\t\t\tif testHookOnPanic(sc, e) {\n\t\t\t\tpanic(e)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (sc *serverConn) serve() {\n\tsc.serveG.check()\n\tdefer sc.notePanic()\n\tdefer sc.conn.Close()\n\tdefer sc.closeAllStreamsOnConnClose()\n\tdefer sc.stopShutdownTimer()\n\tdefer close(sc.doneServing) // unblocks handlers trying to send\n\n\tif VerboseLogs {\n\t\tsc.vlogf(\"http2: server connection from %v on %p\", sc.conn.RemoteAddr(), sc.hs)\n\t}\n\n\tsc.writeFrame(FrameWriteRequest{\n\t\twrite: writeSettings{\n\t\t\t{SettingMaxFrameSize, sc.srv.maxReadFrameSize()},\n\t\t\t{SettingMaxConcurrentStreams, sc.advMaxStreams},\n\t\t\t{SettingMaxHeaderListSize, sc.maxHeaderListSize()},\n\t\t\t{SettingInitialWindowSize, uint32(sc.srv.initialStreamRecvWindowSize())},\n\t\t},\n\t})\n\tsc.unackedSettings++\n\n\t// Each connection starts with intialWindowSize inflow tokens.\n\t// If a higher value is configured, we add more tokens.\n\tif diff := sc.srv.initialConnRecvWindowSize() - initialWindowSize; diff > 0 {\n\t\tsc.sendWindowUpdate(nil, int(diff))\n\t}\n\n\tif err := sc.readPreface(); err != nil {\n\t\tsc.condlogf(err, \"http2: server: error reading preface from client %v: %v\", sc.conn.RemoteAddr(), err)\n\t\treturn\n\t}\n\t// Now that we've got the preface, get us out of the\n\t// \"StateNew\" state. We can't go directly to idle, though.\n\t// Active means we read some data and anticipate a request. We'll\n\t// do another Active when we get a HEADERS frame.\n\tsc.setConnState(http.StateActive)\n\tsc.setConnState(http.StateIdle)\n\n\tif sc.srv.IdleTimeout != 0 {\n\t\tsc.idleTimer = time.AfterFunc(sc.srv.IdleTimeout, sc.onIdleTimer)\n\t\tdefer sc.idleTimer.Stop()\n\t}\n\n\tgo sc.readFrames() // closed by defer sc.conn.Close above\n\n\tsettingsTimer := time.AfterFunc(firstSettingsTimeout, sc.onSettingsTimer)\n\tdefer settingsTimer.Stop()\n\n\tloopNum := 0\n\tfor {\n\t\tloopNum++\n\t\tselect {\n\t\tcase wr := <-sc.wantWriteFrameCh:\n\t\t\tif se, ok := wr.write.(StreamError); ok {\n\t\t\t\tsc.resetStream(se)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tsc.writeFrame(wr)\n\t\tcase res := <-sc.wroteFrameCh:\n\t\t\tsc.wroteFrame(res)\n\t\tcase res := <-sc.readFrameCh:\n\t\t\tif !sc.processFrameFromReader(res) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tres.readMore()\n\t\t\tif settingsTimer != nil {\n\t\t\t\tsettingsTimer.Stop()\n\t\t\t\tsettingsTimer = nil\n\t\t\t}\n\t\tcase m := <-sc.bodyReadCh:\n\t\t\tsc.noteBodyRead(m.st, m.n)\n\t\tcase msg := <-sc.serveMsgCh:\n\t\t\tswitch v := msg.(type) {\n\t\t\tcase func(int):\n\t\t\t\tv(loopNum) // for testing\n\t\t\tcase *serverMessage:\n\t\t\t\tswitch v {\n\t\t\t\tcase settingsTimerMsg:\n\t\t\t\t\tsc.logf(\"timeout waiting for SETTINGS frames from %v\", sc.conn.RemoteAddr())\n\t\t\t\t\treturn\n\t\t\t\tcase idleTimerMsg:\n\t\t\t\t\tsc.vlogf(\"connection is idle\")\n\t\t\t\t\tsc.goAway(ErrCodeNo)\n\t\t\t\tcase shutdownTimerMsg:\n\t\t\t\t\tsc.vlogf(\"GOAWAY close timer fired; closing conn from %v\", sc.conn.RemoteAddr())\n\t\t\t\t\treturn\n\t\t\t\tcase gracefulShutdownMsg:\n\t\t\t\t\tsc.startGracefulShutdownInternal()\n\t\t\t\tdefault:\n\t\t\t\t\tpanic(\"unknown timer\")\n\t\t\t\t}\n\t\t\tcase *startPushRequest:\n\t\t\t\tsc.startPush(v)\n\t\t\tdefault:\n\t\t\t\tpanic(fmt.Sprintf(\"unexpected type %T\", v))\n\t\t\t}\n\t\t}\n\n\t\t// Start the shutdown timer after sending a GOAWAY. When sending GOAWAY\n\t\t// with no error code (graceful shutdown), don't start the timer until\n\t\t// all open streams have been completed.\n\t\tsentGoAway := sc.inGoAway && !sc.needToSendGoAway && !sc.writingFrame\n\t\tgracefulShutdownComplete := sc.goAwayCode == ErrCodeNo && sc.curOpenStreams() == 0\n\t\tif sentGoAway && sc.shutdownTimer == nil && (sc.goAwayCode != ErrCodeNo || gracefulShutdownComplete) {\n\t\t\tsc.shutDownIn(goAwayTimeout)\n\t\t}\n\t}\n}\n\nfunc (sc *serverConn) awaitGracefulShutdown(sharedCh <-chan struct{}, privateCh chan struct{}) {\n\tselect {\n\tcase <-sc.doneServing:\n\tcase <-sharedCh:\n\t\tclose(privateCh)\n\t}\n}\n\ntype serverMessage int\n\n// Message values sent to serveMsgCh.\nvar (\n\tsettingsTimerMsg    = new(serverMessage)\n\tidleTimerMsg        = new(serverMessage)\n\tshutdownTimerMsg    = new(serverMessage)\n\tgracefulShutdownMsg = new(serverMessage)\n)\n\nfunc (sc *serverConn) onSettingsTimer() { sc.sendServeMsg(settingsTimerMsg) }\nfunc (sc *serverConn) onIdleTimer()     { sc.sendServeMsg(idleTimerMsg) }\nfunc (sc *serverConn) onShutdownTimer() { sc.sendServeMsg(shutdownTimerMsg) }\n\nfunc (sc *serverConn) sendServeMsg(msg interface{}) {\n\tsc.serveG.checkNotOn() // NOT\n\tselect {\n\tcase sc.serveMsgCh <- msg:\n\tcase <-sc.doneServing:\n\t}\n}\n\nvar errPrefaceTimeout = errors.New(\"timeout waiting for client preface\")\n\n// readPreface reads the ClientPreface greeting from the peer or\n// returns errPrefaceTimeout on timeout, or an error if the greeting\n// is invalid.\nfunc (sc *serverConn) readPreface() error {\n\terrc := make(chan error, 1)\n\tgo func() {\n\t\t// Read the client preface\n\t\tbuf := make([]byte, len(ClientPreface))\n\t\tif _, err := io.ReadFull(sc.conn, buf); err != nil {\n\t\t\terrc <- err\n\t\t} else if !bytes.Equal(buf, clientPreface) {\n\t\t\terrc <- fmt.Errorf(\"bogus greeting %q\", buf)\n\t\t} else {\n\t\t\terrc <- nil\n\t\t}\n\t}()\n\ttimer := time.NewTimer(prefaceTimeout) // TODO: configurable on *Server?\n\tdefer timer.Stop()\n\tselect {\n\tcase <-timer.C:\n\t\treturn errPrefaceTimeout\n\tcase err := <-errc:\n\t\tif err == nil {\n\t\t\tif VerboseLogs {\n\t\t\t\tsc.vlogf(\"http2: server: client %v said hello\", sc.conn.RemoteAddr())\n\t\t\t}\n\t\t}\n\t\treturn err\n\t}\n}\n\nvar errChanPool = sync.Pool{\n\tNew: func() interface{} { return make(chan error, 1) },\n}\n\nvar writeDataPool = sync.Pool{\n\tNew: func() interface{} { return new(writeData) },\n}\n\n// writeDataFromHandler writes DATA response frames from a handler on\n// the given stream.\nfunc (sc *serverConn) writeDataFromHandler(stream *stream, data []byte, endStream bool) error {\n\tch := errChanPool.Get().(chan error)\n\twriteArg := writeDataPool.Get().(*writeData)\n\t*writeArg = writeData{stream.id, data, endStream}\n\terr := sc.writeFrameFromHandler(FrameWriteRequest{\n\t\twrite:  writeArg,\n\t\tstream: stream,\n\t\tdone:   ch,\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\tvar frameWriteDone bool // the frame write is done (successfully or not)\n\tselect {\n\tcase err = <-ch:\n\t\tframeWriteDone = true\n\tcase <-sc.doneServing:\n\t\treturn errClientDisconnected\n\tcase <-stream.cw:\n\t\t// If both ch and stream.cw were ready (as might\n\t\t// happen on the final Write after an http.Handler\n\t\t// ends), prefer the write result. Otherwise this\n\t\t// might just be us successfully closing the stream.\n\t\t// The writeFrameAsync and serve goroutines guarantee\n\t\t// that the ch send will happen before the stream.cw\n\t\t// close.\n\t\tselect {\n\t\tcase err = <-ch:\n\t\t\tframeWriteDone = true\n\t\tdefault:\n\t\t\treturn errStreamClosed\n\t\t}\n\t}\n\terrChanPool.Put(ch)\n\tif frameWriteDone {\n\t\twriteDataPool.Put(writeArg)\n\t}\n\treturn err\n}\n\n// writeFrameFromHandler sends wr to sc.wantWriteFrameCh, but aborts\n// if the connection has gone away.\n//\n// This must not be run from the serve goroutine itself, else it might\n// deadlock writing to sc.wantWriteFrameCh (which is only mildly\n// buffered and is read by serve itself). If you're on the serve\n// goroutine, call writeFrame instead.\nfunc (sc *serverConn) writeFrameFromHandler(wr FrameWriteRequest) error {\n\tsc.serveG.checkNotOn() // NOT\n\tselect {\n\tcase sc.wantWriteFrameCh <- wr:\n\t\treturn nil\n\tcase <-sc.doneServing:\n\t\t// Serve loop is gone.\n\t\t// Client has closed their connection to the server.\n\t\treturn errClientDisconnected\n\t}\n}\n\n// writeFrame schedules a frame to write and sends it if there's nothing\n// already being written.\n//\n// There is no pushback here (the serve goroutine never blocks). It's\n// the http.Handlers that block, waiting for their previous frames to\n// make it onto the wire\n//\n// If you're not on the serve goroutine, use writeFrameFromHandler instead.\nfunc (sc *serverConn) writeFrame(wr FrameWriteRequest) {\n\tsc.serveG.check()\n\n\t// If true, wr will not be written and wr.done will not be signaled.\n\tvar ignoreWrite bool\n\n\t// We are not allowed to write frames on closed streams. RFC 7540 Section\n\t// 5.1.1 says: \"An endpoint MUST NOT send frames other than PRIORITY on\n\t// a closed stream.\" Our server never sends PRIORITY, so that exception\n\t// does not apply.\n\t//\n\t// The serverConn might close an open stream while the stream's handler\n\t// is still running. For example, the server might close a stream when it\n\t// receives bad data from the client. If this happens, the handler might\n\t// attempt to write a frame after the stream has been closed (since the\n\t// handler hasn't yet been notified of the close). In this case, we simply\n\t// ignore the frame. The handler will notice that the stream is closed when\n\t// it waits for the frame to be written.\n\t//\n\t// As an exception to this rule, we allow sending RST_STREAM after close.\n\t// This allows us to immediately reject new streams without tracking any\n\t// state for those streams (except for the queued RST_STREAM frame). This\n\t// may result in duplicate RST_STREAMs in some cases, but the client should\n\t// ignore those.\n\tif wr.StreamID() != 0 {\n\t\t_, isReset := wr.write.(StreamError)\n\t\tif state, _ := sc.state(wr.StreamID()); state == stateClosed && !isReset {\n\t\t\tignoreWrite = true\n\t\t}\n\t}\n\n\t// Don't send a 100-continue response if we've already sent headers.\n\t// See golang.org/issue/14030.\n\tswitch wr.write.(type) {\n\tcase *writeResHeaders:\n\t\twr.stream.wroteHeaders = true\n\tcase write100ContinueHeadersFrame:\n\t\tif wr.stream.wroteHeaders {\n\t\t\t// We do not need to notify wr.done because this frame is\n\t\t\t// never written with wr.done != nil.\n\t\t\tif wr.done != nil {\n\t\t\t\tpanic(\"wr.done != nil for write100ContinueHeadersFrame\")\n\t\t\t}\n\t\t\tignoreWrite = true\n\t\t}\n\t}\n\n\tif !ignoreWrite {\n\t\tsc.writeSched.Push(wr)\n\t}\n\tsc.scheduleFrameWrite()\n}\n\n// startFrameWrite starts a goroutine to write wr (in a separate\n// goroutine since that might block on the network), and updates the\n// serve goroutine's state about the world, updated from info in wr.\nfunc (sc *serverConn) startFrameWrite(wr FrameWriteRequest) {\n\tsc.serveG.check()\n\tif sc.writingFrame {\n\t\tpanic(\"internal error: can only be writing one frame at a time\")\n\t}\n\n\tst := wr.stream\n\tif st != nil {\n\t\tswitch st.state {\n\t\tcase stateHalfClosedLocal:\n\t\t\tswitch wr.write.(type) {\n\t\t\tcase StreamError, handlerPanicRST, writeWindowUpdate:\n\t\t\t\t// RFC 7540 Section 5.1 allows sending RST_STREAM, PRIORITY, and WINDOW_UPDATE\n\t\t\t\t// in this state. (We never send PRIORITY from the server, so that is not checked.)\n\t\t\tdefault:\n\t\t\t\tpanic(fmt.Sprintf(\"internal error: attempt to send frame on a half-closed-local stream: %v\", wr))\n\t\t\t}\n\t\tcase stateClosed:\n\t\t\tpanic(fmt.Sprintf(\"internal error: attempt to send frame on a closed stream: %v\", wr))\n\t\t}\n\t}\n\tif wpp, ok := wr.write.(*writePushPromise); ok {\n\t\tvar err error\n\t\twpp.promisedID, err = wpp.allocatePromisedID()\n\t\tif err != nil {\n\t\t\tsc.writingFrameAsync = false\n\t\t\twr.replyToWriter(err)\n\t\t\treturn\n\t\t}\n\t}\n\n\tsc.writingFrame = true\n\tsc.needsFrameFlush = true\n\tif wr.write.staysWithinBuffer(sc.bw.Available()) {\n\t\tsc.writingFrameAsync = false\n\t\terr := wr.write.writeFrame(sc)\n\t\tsc.wroteFrame(frameWriteResult{wr, err})\n\t} else {\n\t\tsc.writingFrameAsync = true\n\t\tgo sc.writeFrameAsync(wr)\n\t}\n}\n\n// errHandlerPanicked is the error given to any callers blocked in a read from\n// Request.Body when the main goroutine panics. Since most handlers read in the\n// the main ServeHTTP goroutine, this will show up rarely.\nvar errHandlerPanicked = errors.New(\"http2: handler panicked\")\n\n// wroteFrame is called on the serve goroutine with the result of\n// whatever happened on writeFrameAsync.\nfunc (sc *serverConn) wroteFrame(res frameWriteResult) {\n\tsc.serveG.check()\n\tif !sc.writingFrame {\n\t\tpanic(\"internal error: expected to be already writing a frame\")\n\t}\n\tsc.writingFrame = false\n\tsc.writingFrameAsync = false\n\n\twr := res.wr\n\n\tif writeEndsStream(wr.write) {\n\t\tst := wr.stream\n\t\tif st == nil {\n\t\t\tpanic(\"internal error: expecting non-nil stream\")\n\t\t}\n\t\tswitch st.state {\n\t\tcase stateOpen:\n\t\t\t// Here we would go to stateHalfClosedLocal in\n\t\t\t// theory, but since our handler is done and\n\t\t\t// the net/http package provides no mechanism\n\t\t\t// for closing a ResponseWriter while still\n\t\t\t// reading data (see possible TODO at top of\n\t\t\t// this file), we go into closed state here\n\t\t\t// anyway, after telling the peer we're\n\t\t\t// hanging up on them. We'll transition to\n\t\t\t// stateClosed after the RST_STREAM frame is\n\t\t\t// written.\n\t\t\tst.state = stateHalfClosedLocal\n\t\t\t// Section 8.1: a server MAY request that the client abort\n\t\t\t// transmission of a request without error by sending a\n\t\t\t// RST_STREAM with an error code of NO_ERROR after sending\n\t\t\t// a complete response.\n\t\t\tsc.resetStream(streamError(st.id, ErrCodeNo))\n\t\tcase stateHalfClosedRemote:\n\t\t\tsc.closeStream(st, errHandlerComplete)\n\t\t}\n\t} else {\n\t\tswitch v := wr.write.(type) {\n\t\tcase StreamError:\n\t\t\t// st may be unknown if the RST_STREAM was generated to reject bad input.\n\t\t\tif st, ok := sc.streams[v.StreamID]; ok {\n\t\t\t\tsc.closeStream(st, v)\n\t\t\t}\n\t\tcase handlerPanicRST:\n\t\t\tsc.closeStream(wr.stream, errHandlerPanicked)\n\t\t}\n\t}\n\n\t// Reply (if requested) to unblock the ServeHTTP goroutine.\n\twr.replyToWriter(res.err)\n\n\tsc.scheduleFrameWrite()\n}\n\n// scheduleFrameWrite tickles the frame writing scheduler.\n//\n// If a frame is already being written, nothing happens. This will be called again\n// when the frame is done being written.\n//\n// If a frame isn't being written we need to send one, the best frame\n// to send is selected, preferring first things that aren't\n// stream-specific (e.g. ACKing settings), and then finding the\n// highest priority stream.\n//\n// If a frame isn't being written and there's nothing else to send, we\n// flush the write buffer.\nfunc (sc *serverConn) scheduleFrameWrite() {\n\tsc.serveG.check()\n\tif sc.writingFrame || sc.inFrameScheduleLoop {\n\t\treturn\n\t}\n\tsc.inFrameScheduleLoop = true\n\tfor !sc.writingFrameAsync {\n\t\tif sc.needToSendGoAway {\n\t\t\tsc.needToSendGoAway = false\n\t\t\tsc.startFrameWrite(FrameWriteRequest{\n\t\t\t\twrite: &writeGoAway{\n\t\t\t\t\tmaxStreamID: sc.maxClientStreamID,\n\t\t\t\t\tcode:        sc.goAwayCode,\n\t\t\t\t},\n\t\t\t})\n\t\t\tcontinue\n\t\t}\n\t\tif sc.needToSendSettingsAck {\n\t\t\tsc.needToSendSettingsAck = false\n\t\t\tsc.startFrameWrite(FrameWriteRequest{write: writeSettingsAck{}})\n\t\t\tcontinue\n\t\t}\n\t\tif !sc.inGoAway || sc.goAwayCode == ErrCodeNo {\n\t\t\tif wr, ok := sc.writeSched.Pop(); ok {\n\t\t\t\tsc.startFrameWrite(wr)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tif sc.needsFrameFlush {\n\t\t\tsc.startFrameWrite(FrameWriteRequest{write: flushFrameWriter{}})\n\t\t\tsc.needsFrameFlush = false // after startFrameWrite, since it sets this true\n\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\tsc.inFrameScheduleLoop = false\n}\n\n// startGracefulShutdown gracefully shuts down a connection. This\n// sends GOAWAY with ErrCodeNo to tell the client we're gracefully\n// shutting down. The connection isn't closed until all current\n// streams are done.\n//\n// startGracefulShutdown returns immediately; it does not wait until\n// the connection has shut down.\nfunc (sc *serverConn) startGracefulShutdown() {\n\tsc.serveG.checkNotOn() // NOT\n\tsc.shutdownOnce.Do(func() { sc.sendServeMsg(gracefulShutdownMsg) })\n}\n\n// After sending GOAWAY, the connection will close after goAwayTimeout.\n// If we close the connection immediately after sending GOAWAY, there may\n// be unsent data in our kernel receive buffer, which will cause the kernel\n// to send a TCP RST on close() instead of a FIN. This RST will abort the\n// connection immediately, whether or not the client had received the GOAWAY.\n//\n// Ideally we should delay for at least 1 RTT + epsilon so the client has\n// a chance to read the GOAWAY and stop sending messages. Measuring RTT\n// is hard, so we approximate with 1 second. See golang.org/issue/18701.\n//\n// This is a var so it can be shorter in tests, where all requests uses the\n// loopback interface making the expected RTT very small.\n//\n// TODO: configurable?\nvar goAwayTimeout = 1 * time.Second\n\nfunc (sc *serverConn) startGracefulShutdownInternal() {\n\tsc.goAway(ErrCodeNo)\n}\n\nfunc (sc *serverConn) goAway(code ErrCode) {\n\tsc.serveG.check()\n\tif sc.inGoAway {\n\t\treturn\n\t}\n\tsc.inGoAway = true\n\tsc.needToSendGoAway = true\n\tsc.goAwayCode = code\n\tsc.scheduleFrameWrite()\n}\n\nfunc (sc *serverConn) shutDownIn(d time.Duration) {\n\tsc.serveG.check()\n\tsc.shutdownTimer = time.AfterFunc(d, sc.onShutdownTimer)\n}\n\nfunc (sc *serverConn) resetStream(se StreamError) {\n\tsc.serveG.check()\n\tsc.writeFrame(FrameWriteRequest{write: se})\n\tif st, ok := sc.streams[se.StreamID]; ok {\n\t\tst.resetQueued = true\n\t}\n}\n\n// processFrameFromReader processes the serve loop's read from readFrameCh from the\n// frame-reading goroutine.\n// processFrameFromReader returns whether the connection should be kept open.\nfunc (sc *serverConn) processFrameFromReader(res readFrameResult) bool {\n\tsc.serveG.check()\n\terr := res.err\n\tif err != nil {\n\t\tif err == ErrFrameTooLarge {\n\t\t\tsc.goAway(ErrCodeFrameSize)\n\t\t\treturn true // goAway will close the loop\n\t\t}\n\t\tclientGone := err == io.EOF || err == io.ErrUnexpectedEOF || isClosedConnError(err)\n\t\tif clientGone {\n\t\t\t// TODO: could we also get into this state if\n\t\t\t// the peer does a half close\n\t\t\t// (e.g. CloseWrite) because they're done\n\t\t\t// sending frames but they're still wanting\n\t\t\t// our open replies?  Investigate.\n\t\t\t// TODO: add CloseWrite to crypto/tls.Conn first\n\t\t\t// so we have a way to test this? I suppose\n\t\t\t// just for testing we could have a non-TLS mode.\n\t\t\treturn false\n\t\t}\n\t} else {\n\t\tf := res.f\n\t\tif VerboseLogs {\n\t\t\tsc.vlogf(\"http2: server read frame %v\", summarizeFrame(f))\n\t\t}\n\t\terr = sc.processFrame(f)\n\t\tif err == nil {\n\t\t\treturn true\n\t\t}\n\t}\n\n\tswitch ev := err.(type) {\n\tcase StreamError:\n\t\tsc.resetStream(ev)\n\t\treturn true\n\tcase goAwayFlowError:\n\t\tsc.goAway(ErrCodeFlowControl)\n\t\treturn true\n\tcase ConnectionError:\n\t\tsc.logf(\"http2: server connection error from %v: %v\", sc.conn.RemoteAddr(), ev)\n\t\tsc.goAway(ErrCode(ev))\n\t\treturn true // goAway will handle shutdown\n\tdefault:\n\t\tif res.err != nil {\n\t\t\tsc.vlogf(\"http2: server closing client connection; error reading frame from client %s: %v\", sc.conn.RemoteAddr(), err)\n\t\t} else {\n\t\t\tsc.logf(\"http2: server closing client connection: %v\", err)\n\t\t}\n\t\treturn false\n\t}\n}\n\nfunc (sc *serverConn) processFrame(f Frame) error {\n\tsc.serveG.check()\n\n\t// First frame received must be SETTINGS.\n\tif !sc.sawFirstSettings {\n\t\tif _, ok := f.(*SettingsFrame); !ok {\n\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t}\n\t\tsc.sawFirstSettings = true\n\t}\n\n\tswitch f := f.(type) {\n\tcase *SettingsFrame:\n\t\treturn sc.processSettings(f)\n\tcase *MetaHeadersFrame:\n\t\treturn sc.processHeaders(f)\n\tcase *WindowUpdateFrame:\n\t\treturn sc.processWindowUpdate(f)\n\tcase *PingFrame:\n\t\treturn sc.processPing(f)\n\tcase *DataFrame:\n\t\treturn sc.processData(f)\n\tcase *RSTStreamFrame:\n\t\treturn sc.processResetStream(f)\n\tcase *PriorityFrame:\n\t\treturn sc.processPriority(f)\n\tcase *GoAwayFrame:\n\t\treturn sc.processGoAway(f)\n\tcase *PushPromiseFrame:\n\t\t// A client cannot push. Thus, servers MUST treat the receipt of a PUSH_PROMISE\n\t\t// frame as a connection error (Section 5.4.1) of type PROTOCOL_ERROR.\n\t\treturn ConnectionError(ErrCodeProtocol)\n\tdefault:\n\t\tsc.vlogf(\"http2: server ignoring frame: %v\", f.Header())\n\t\treturn nil\n\t}\n}\n\nfunc (sc *serverConn) processPing(f *PingFrame) error {\n\tsc.serveG.check()\n\tif f.IsAck() {\n\t\t// 6.7 PING: \" An endpoint MUST NOT respond to PING frames\n\t\t// containing this flag.\"\n\t\treturn nil\n\t}\n\tif f.StreamID != 0 {\n\t\t// \"PING frames are not associated with any individual\n\t\t// stream. If a PING frame is received with a stream\n\t\t// identifier field value other than 0x0, the recipient MUST\n\t\t// respond with a connection error (Section 5.4.1) of type\n\t\t// PROTOCOL_ERROR.\"\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tif sc.inGoAway && sc.goAwayCode != ErrCodeNo {\n\t\treturn nil\n\t}\n\tsc.writeFrame(FrameWriteRequest{write: writePingAck{f}})\n\treturn nil\n}\n\nfunc (sc *serverConn) processWindowUpdate(f *WindowUpdateFrame) error {\n\tsc.serveG.check()\n\tswitch {\n\tcase f.StreamID != 0: // stream-level flow control\n\t\tstate, st := sc.state(f.StreamID)\n\t\tif state == stateIdle {\n\t\t\t// Section 5.1: \"Receiving any frame other than HEADERS\n\t\t\t// or PRIORITY on a stream in this state MUST be\n\t\t\t// treated as a connection error (Section 5.4.1) of\n\t\t\t// type PROTOCOL_ERROR.\"\n\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t}\n\t\tif st == nil {\n\t\t\t// \"WINDOW_UPDATE can be sent by a peer that has sent a\n\t\t\t// frame bearing the END_STREAM flag. This means that a\n\t\t\t// receiver could receive a WINDOW_UPDATE frame on a \"half\n\t\t\t// closed (remote)\" or \"closed\" stream. A receiver MUST\n\t\t\t// NOT treat this as an error, see Section 5.1.\"\n\t\t\treturn nil\n\t\t}\n\t\tif !st.flow.add(int32(f.Increment)) {\n\t\t\treturn streamError(f.StreamID, ErrCodeFlowControl)\n\t\t}\n\tdefault: // connection-level flow control\n\t\tif !sc.flow.add(int32(f.Increment)) {\n\t\t\treturn goAwayFlowError{}\n\t\t}\n\t}\n\tsc.scheduleFrameWrite()\n\treturn nil\n}\n\nfunc (sc *serverConn) processResetStream(f *RSTStreamFrame) error {\n\tsc.serveG.check()\n\n\tstate, st := sc.state(f.StreamID)\n\tif state == stateIdle {\n\t\t// 6.4 \"RST_STREAM frames MUST NOT be sent for a\n\t\t// stream in the \"idle\" state. If a RST_STREAM frame\n\t\t// identifying an idle stream is received, the\n\t\t// recipient MUST treat this as a connection error\n\t\t// (Section 5.4.1) of type PROTOCOL_ERROR.\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tif st != nil {\n\t\tst.cancelCtx()\n\t\tsc.closeStream(st, streamError(f.StreamID, f.ErrCode))\n\t}\n\treturn nil\n}\n\nfunc (sc *serverConn) closeStream(st *stream, err error) {\n\tsc.serveG.check()\n\tif st.state == stateIdle || st.state == stateClosed {\n\t\tpanic(fmt.Sprintf(\"invariant; can't close stream in state %v\", st.state))\n\t}\n\tst.state = stateClosed\n\tif st.writeDeadline != nil {\n\t\tst.writeDeadline.Stop()\n\t}\n\tif st.isPushed() {\n\t\tsc.curPushedStreams--\n\t} else {\n\t\tsc.curClientStreams--\n\t}\n\tdelete(sc.streams, st.id)\n\tif len(sc.streams) == 0 {\n\t\tsc.setConnState(http.StateIdle)\n\t\tif sc.srv.IdleTimeout != 0 {\n\t\t\tsc.idleTimer.Reset(sc.srv.IdleTimeout)\n\t\t}\n\t\tif h1ServerKeepAlivesDisabled(sc.hs) {\n\t\t\tsc.startGracefulShutdownInternal()\n\t\t}\n\t}\n\tif p := st.body; p != nil {\n\t\t// Return any buffered unread bytes worth of conn-level flow control.\n\t\t// See golang.org/issue/16481\n\t\tsc.sendWindowUpdate(nil, p.Len())\n\n\t\tp.CloseWithError(err)\n\t}\n\tst.cw.Close() // signals Handler's CloseNotifier, unblocks writes, etc\n\tsc.writeSched.CloseStream(st.id)\n}\n\nfunc (sc *serverConn) processSettings(f *SettingsFrame) error {\n\tsc.serveG.check()\n\tif f.IsAck() {\n\t\tsc.unackedSettings--\n\t\tif sc.unackedSettings < 0 {\n\t\t\t// Why is the peer ACKing settings we never sent?\n\t\t\t// The spec doesn't mention this case, but\n\t\t\t// hang up on them anyway.\n\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t}\n\t\treturn nil\n\t}\n\tif err := f.ForeachSetting(sc.processSetting); err != nil {\n\t\treturn err\n\t}\n\tsc.needToSendSettingsAck = true\n\tsc.scheduleFrameWrite()\n\treturn nil\n}\n\nfunc (sc *serverConn) processSetting(s Setting) error {\n\tsc.serveG.check()\n\tif err := s.Valid(); err != nil {\n\t\treturn err\n\t}\n\tif VerboseLogs {\n\t\tsc.vlogf(\"http2: server processing setting %v\", s)\n\t}\n\tswitch s.ID {\n\tcase SettingHeaderTableSize:\n\t\tsc.headerTableSize = s.Val\n\t\tsc.hpackEncoder.SetMaxDynamicTableSize(s.Val)\n\tcase SettingEnablePush:\n\t\tsc.pushEnabled = s.Val != 0\n\tcase SettingMaxConcurrentStreams:\n\t\tsc.clientMaxStreams = s.Val\n\tcase SettingInitialWindowSize:\n\t\treturn sc.processSettingInitialWindowSize(s.Val)\n\tcase SettingMaxFrameSize:\n\t\tsc.maxFrameSize = int32(s.Val) // the maximum valid s.Val is < 2^31\n\tcase SettingMaxHeaderListSize:\n\t\tsc.peerMaxHeaderListSize = s.Val\n\tdefault:\n\t\t// Unknown setting: \"An endpoint that receives a SETTINGS\n\t\t// frame with any unknown or unsupported identifier MUST\n\t\t// ignore that setting.\"\n\t\tif VerboseLogs {\n\t\t\tsc.vlogf(\"http2: server ignoring unknown setting %v\", s)\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (sc *serverConn) processSettingInitialWindowSize(val uint32) error {\n\tsc.serveG.check()\n\t// Note: val already validated to be within range by\n\t// processSetting's Valid call.\n\n\t// \"A SETTINGS frame can alter the initial flow control window\n\t// size for all current streams. When the value of\n\t// SETTINGS_INITIAL_WINDOW_SIZE changes, a receiver MUST\n\t// adjust the size of all stream flow control windows that it\n\t// maintains by the difference between the new value and the\n\t// old value.\"\n\told := sc.initialStreamSendWindowSize\n\tsc.initialStreamSendWindowSize = int32(val)\n\tgrowth := int32(val) - old // may be negative\n\tfor _, st := range sc.streams {\n\t\tif !st.flow.add(growth) {\n\t\t\t// 6.9.2 Initial Flow Control Window Size\n\t\t\t// \"An endpoint MUST treat a change to\n\t\t\t// SETTINGS_INITIAL_WINDOW_SIZE that causes any flow\n\t\t\t// control window to exceed the maximum size as a\n\t\t\t// connection error (Section 5.4.1) of type\n\t\t\t// FLOW_CONTROL_ERROR.\"\n\t\t\treturn ConnectionError(ErrCodeFlowControl)\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (sc *serverConn) processData(f *DataFrame) error {\n\tsc.serveG.check()\n\tif sc.inGoAway && sc.goAwayCode != ErrCodeNo {\n\t\treturn nil\n\t}\n\tdata := f.Data()\n\n\t// \"If a DATA frame is received whose stream is not in \"open\"\n\t// or \"half closed (local)\" state, the recipient MUST respond\n\t// with a stream error (Section 5.4.2) of type STREAM_CLOSED.\"\n\tid := f.Header().StreamID\n\tstate, st := sc.state(id)\n\tif id == 0 || state == stateIdle {\n\t\t// Section 5.1: \"Receiving any frame other than HEADERS\n\t\t// or PRIORITY on a stream in this state MUST be\n\t\t// treated as a connection error (Section 5.4.1) of\n\t\t// type PROTOCOL_ERROR.\"\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tif st == nil || state != stateOpen || st.gotTrailerHeader || st.resetQueued {\n\t\t// This includes sending a RST_STREAM if the stream is\n\t\t// in stateHalfClosedLocal (which currently means that\n\t\t// the http.Handler returned, so it's done reading &\n\t\t// done writing). Try to stop the client from sending\n\t\t// more DATA.\n\n\t\t// But still enforce their connection-level flow control,\n\t\t// and return any flow control bytes since we're not going\n\t\t// to consume them.\n\t\tif sc.inflow.available() < int32(f.Length) {\n\t\t\treturn streamError(id, ErrCodeFlowControl)\n\t\t}\n\t\t// Deduct the flow control from inflow, since we're\n\t\t// going to immediately add it back in\n\t\t// sendWindowUpdate, which also schedules sending the\n\t\t// frames.\n\t\tsc.inflow.take(int32(f.Length))\n\t\tsc.sendWindowUpdate(nil, int(f.Length)) // conn-level\n\n\t\tif st != nil && st.resetQueued {\n\t\t\t// Already have a stream error in flight. Don't send another.\n\t\t\treturn nil\n\t\t}\n\t\treturn streamError(id, ErrCodeStreamClosed)\n\t}\n\tif st.body == nil {\n\t\tpanic(\"internal error: should have a body in this state\")\n\t}\n\n\t// Sender sending more than they'd declared?\n\tif st.declBodyBytes != -1 && st.bodyBytes+int64(len(data)) > st.declBodyBytes {\n\t\tst.body.CloseWithError(fmt.Errorf(\"sender tried to send more than declared Content-Length of %d bytes\", st.declBodyBytes))\n\t\treturn streamError(id, ErrCodeStreamClosed)\n\t}\n\tif f.Length > 0 {\n\t\t// Check whether the client has flow control quota.\n\t\tif st.inflow.available() < int32(f.Length) {\n\t\t\treturn streamError(id, ErrCodeFlowControl)\n\t\t}\n\t\tst.inflow.take(int32(f.Length))\n\n\t\tif len(data) > 0 {\n\t\t\twrote, err := st.body.Write(data)\n\t\t\tif err != nil {\n\t\t\t\treturn streamError(id, ErrCodeStreamClosed)\n\t\t\t}\n\t\t\tif wrote != len(data) {\n\t\t\t\tpanic(\"internal error: bad Writer\")\n\t\t\t}\n\t\t\tst.bodyBytes += int64(len(data))\n\t\t}\n\n\t\t// Return any padded flow control now, since we won't\n\t\t// refund it later on body reads.\n\t\tif pad := int32(f.Length) - int32(len(data)); pad > 0 {\n\t\t\tsc.sendWindowUpdate32(nil, pad)\n\t\t\tsc.sendWindowUpdate32(st, pad)\n\t\t}\n\t}\n\tif f.StreamEnded() {\n\t\tst.endStream()\n\t}\n\treturn nil\n}\n\nfunc (sc *serverConn) processGoAway(f *GoAwayFrame) error {\n\tsc.serveG.check()\n\tif f.ErrCode != ErrCodeNo {\n\t\tsc.logf(\"http2: received GOAWAY %+v, starting graceful shutdown\", f)\n\t} else {\n\t\tsc.vlogf(\"http2: received GOAWAY %+v, starting graceful shutdown\", f)\n\t}\n\tsc.startGracefulShutdownInternal()\n\t// http://tools.ietf.org/html/rfc7540#section-6.8\n\t// We should not create any new streams, which means we should disable push.\n\tsc.pushEnabled = false\n\treturn nil\n}\n\n// isPushed reports whether the stream is server-initiated.\nfunc (st *stream) isPushed() bool {\n\treturn st.id%2 == 0\n}\n\n// endStream closes a Request.Body's pipe. It is called when a DATA\n// frame says a request body is over (or after trailers).\nfunc (st *stream) endStream() {\n\tsc := st.sc\n\tsc.serveG.check()\n\n\tif st.declBodyBytes != -1 && st.declBodyBytes != st.bodyBytes {\n\t\tst.body.CloseWithError(fmt.Errorf(\"request declared a Content-Length of %d but only wrote %d bytes\",\n\t\t\tst.declBodyBytes, st.bodyBytes))\n\t} else {\n\t\tst.body.closeWithErrorAndCode(io.EOF, st.copyTrailersToHandlerRequest)\n\t\tst.body.CloseWithError(io.EOF)\n\t}\n\tst.state = stateHalfClosedRemote\n}\n\n// copyTrailersToHandlerRequest is run in the Handler's goroutine in\n// its Request.Body.Read just before it gets io.EOF.\nfunc (st *stream) copyTrailersToHandlerRequest() {\n\tfor k, vv := range st.trailer {\n\t\tif _, ok := st.reqTrailer[k]; ok {\n\t\t\t// Only copy it over it was pre-declared.\n\t\t\tst.reqTrailer[k] = vv\n\t\t}\n\t}\n}\n\n// onWriteTimeout is run on its own goroutine (from time.AfterFunc)\n// when the stream's WriteTimeout has fired.\nfunc (st *stream) onWriteTimeout() {\n\tst.sc.writeFrameFromHandler(FrameWriteRequest{write: streamError(st.id, ErrCodeInternal)})\n}\n\nfunc (sc *serverConn) processHeaders(f *MetaHeadersFrame) error {\n\tsc.serveG.check()\n\tid := f.StreamID\n\tif sc.inGoAway {\n\t\t// Ignore.\n\t\treturn nil\n\t}\n\t// http://tools.ietf.org/html/rfc7540#section-5.1.1\n\t// Streams initiated by a client MUST use odd-numbered stream\n\t// identifiers. [...] An endpoint that receives an unexpected\n\t// stream identifier MUST respond with a connection error\n\t// (Section 5.4.1) of type PROTOCOL_ERROR.\n\tif id%2 != 1 {\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\t// A HEADERS frame can be used to create a new stream or\n\t// send a trailer for an open one. If we already have a stream\n\t// open, let it process its own HEADERS frame (trailers at this\n\t// point, if it's valid).\n\tif st := sc.streams[f.StreamID]; st != nil {\n\t\tif st.resetQueued {\n\t\t\t// We're sending RST_STREAM to close the stream, so don't bother\n\t\t\t// processing this frame.\n\t\t\treturn nil\n\t\t}\n\t\treturn st.processTrailerHeaders(f)\n\t}\n\n\t// [...] The identifier of a newly established stream MUST be\n\t// numerically greater than all streams that the initiating\n\t// endpoint has opened or reserved. [...]  An endpoint that\n\t// receives an unexpected stream identifier MUST respond with\n\t// a connection error (Section 5.4.1) of type PROTOCOL_ERROR.\n\tif id <= sc.maxClientStreamID {\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tsc.maxClientStreamID = id\n\n\tif sc.idleTimer != nil {\n\t\tsc.idleTimer.Stop()\n\t}\n\n\t// http://tools.ietf.org/html/rfc7540#section-5.1.2\n\t// [...] Endpoints MUST NOT exceed the limit set by their peer. An\n\t// endpoint that receives a HEADERS frame that causes their\n\t// advertised concurrent stream limit to be exceeded MUST treat\n\t// this as a stream error (Section 5.4.2) of type PROTOCOL_ERROR\n\t// or REFUSED_STREAM.\n\tif sc.curClientStreams+1 > sc.advMaxStreams {\n\t\tif sc.unackedSettings == 0 {\n\t\t\t// They should know better.\n\t\t\treturn streamError(id, ErrCodeProtocol)\n\t\t}\n\t\t// Assume it's a network race, where they just haven't\n\t\t// received our last SETTINGS update. But actually\n\t\t// this can't happen yet, because we don't yet provide\n\t\t// a way for users to adjust server parameters at\n\t\t// runtime.\n\t\treturn streamError(id, ErrCodeRefusedStream)\n\t}\n\n\tinitialState := stateOpen\n\tif f.StreamEnded() {\n\t\tinitialState = stateHalfClosedRemote\n\t}\n\tst := sc.newStream(id, 0, initialState)\n\n\tif f.HasPriority() {\n\t\tif err := checkPriority(f.StreamID, f.Priority); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsc.writeSched.AdjustStream(st.id, f.Priority)\n\t}\n\n\trw, req, err := sc.newWriterAndRequest(st, f)\n\tif err != nil {\n\t\treturn err\n\t}\n\tst.reqTrailer = req.Trailer\n\tif st.reqTrailer != nil {\n\t\tst.trailer = make(http.Header)\n\t}\n\tst.body = req.Body.(*requestBody).pipe // may be nil\n\tst.declBodyBytes = req.ContentLength\n\n\thandler := sc.handler.ServeHTTP\n\tif f.Truncated {\n\t\t// Their header list was too long. Send a 431 error.\n\t\thandler = handleHeaderListTooLong\n\t} else if err := checkValidHTTP2RequestHeaders(req.Header); err != nil {\n\t\thandler = new400Handler(err)\n\t}\n\n\t// The net/http package sets the read deadline from the\n\t// http.Server.ReadTimeout during the TLS handshake, but then\n\t// passes the connection off to us with the deadline already\n\t// set. Disarm it here after the request headers are read,\n\t// similar to how the http1 server works. Here it's\n\t// technically more like the http1 Server's ReadHeaderTimeout\n\t// (in Go 1.8), though. That's a more sane option anyway.\n\tif sc.hs.ReadTimeout != 0 {\n\t\tsc.conn.SetReadDeadline(time.Time{})\n\t}\n\n\tgo sc.runHandler(rw, req, handler)\n\treturn nil\n}\n\nfunc (st *stream) processTrailerHeaders(f *MetaHeadersFrame) error {\n\tsc := st.sc\n\tsc.serveG.check()\n\tif st.gotTrailerHeader {\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tst.gotTrailerHeader = true\n\tif !f.StreamEnded() {\n\t\treturn streamError(st.id, ErrCodeProtocol)\n\t}\n\n\tif len(f.PseudoFields()) > 0 {\n\t\treturn streamError(st.id, ErrCodeProtocol)\n\t}\n\tif st.trailer != nil {\n\t\tfor _, hf := range f.RegularFields() {\n\t\t\tkey := sc.canonicalHeader(hf.Name)\n\t\t\tif !ValidTrailerHeader(key) {\n\t\t\t\t// TODO: send more details to the peer somehow. But http2 has\n\t\t\t\t// no way to send debug data at a stream level. Discuss with\n\t\t\t\t// HTTP folk.\n\t\t\t\treturn streamError(st.id, ErrCodeProtocol)\n\t\t\t}\n\t\t\tst.trailer[key] = append(st.trailer[key], hf.Value)\n\t\t}\n\t}\n\tst.endStream()\n\treturn nil\n}\n\nfunc checkPriority(streamID uint32, p PriorityParam) error {\n\tif streamID == p.StreamDep {\n\t\t// Section 5.3.1: \"A stream cannot depend on itself. An endpoint MUST treat\n\t\t// this as a stream error (Section 5.4.2) of type PROTOCOL_ERROR.\"\n\t\t// Section 5.3.3 says that a stream can depend on one of its dependencies,\n\t\t// so it's only self-dependencies that are forbidden.\n\t\treturn streamError(streamID, ErrCodeProtocol)\n\t}\n\treturn nil\n}\n\nfunc (sc *serverConn) processPriority(f *PriorityFrame) error {\n\tif sc.inGoAway {\n\t\treturn nil\n\t}\n\tif err := checkPriority(f.StreamID, f.PriorityParam); err != nil {\n\t\treturn err\n\t}\n\tsc.writeSched.AdjustStream(f.StreamID, f.PriorityParam)\n\treturn nil\n}\n\nfunc (sc *serverConn) newStream(id, pusherID uint32, state streamState) *stream {\n\tsc.serveG.check()\n\tif id == 0 {\n\t\tpanic(\"internal error: cannot create stream with id 0\")\n\t}\n\n\tctx, cancelCtx := contextWithCancel(sc.baseCtx)\n\tst := &stream{\n\t\tsc:        sc,\n\t\tid:        id,\n\t\tstate:     state,\n\t\tctx:       ctx,\n\t\tcancelCtx: cancelCtx,\n\t}\n\tst.cw.Init()\n\tst.flow.conn = &sc.flow // link to conn-level counter\n\tst.flow.add(sc.initialStreamSendWindowSize)\n\tst.inflow.conn = &sc.inflow // link to conn-level counter\n\tst.inflow.add(sc.srv.initialStreamRecvWindowSize())\n\tif sc.hs.WriteTimeout != 0 {\n\t\tst.writeDeadline = time.AfterFunc(sc.hs.WriteTimeout, st.onWriteTimeout)\n\t}\n\n\tsc.streams[id] = st\n\tsc.writeSched.OpenStream(st.id, OpenStreamOptions{PusherID: pusherID})\n\tif st.isPushed() {\n\t\tsc.curPushedStreams++\n\t} else {\n\t\tsc.curClientStreams++\n\t}\n\tif sc.curOpenStreams() == 1 {\n\t\tsc.setConnState(http.StateActive)\n\t}\n\n\treturn st\n}\n\nfunc (sc *serverConn) newWriterAndRequest(st *stream, f *MetaHeadersFrame) (*responseWriter, *http.Request, error) {\n\tsc.serveG.check()\n\n\trp := requestParam{\n\t\tmethod:    f.PseudoValue(\"method\"),\n\t\tscheme:    f.PseudoValue(\"scheme\"),\n\t\tauthority: f.PseudoValue(\"authority\"),\n\t\tpath:      f.PseudoValue(\"path\"),\n\t}\n\n\tisConnect := rp.method == \"CONNECT\"\n\tif isConnect {\n\t\tif rp.path != \"\" || rp.scheme != \"\" || rp.authority == \"\" {\n\t\t\treturn nil, nil, streamError(f.StreamID, ErrCodeProtocol)\n\t\t}\n\t} else if rp.method == \"\" || rp.path == \"\" || (rp.scheme != \"https\" && rp.scheme != \"http\") {\n\t\t// See 8.1.2.6 Malformed Requests and Responses:\n\t\t//\n\t\t// Malformed requests or responses that are detected\n\t\t// MUST be treated as a stream error (Section 5.4.2)\n\t\t// of type PROTOCOL_ERROR.\"\n\t\t//\n\t\t// 8.1.2.3 Request Pseudo-Header Fields\n\t\t// \"All HTTP/2 requests MUST include exactly one valid\n\t\t// value for the :method, :scheme, and :path\n\t\t// pseudo-header fields\"\n\t\treturn nil, nil, streamError(f.StreamID, ErrCodeProtocol)\n\t}\n\n\tbodyOpen := !f.StreamEnded()\n\tif rp.method == \"HEAD\" && bodyOpen {\n\t\t// HEAD requests can't have bodies\n\t\treturn nil, nil, streamError(f.StreamID, ErrCodeProtocol)\n\t}\n\n\trp.header = make(http.Header)\n\tfor _, hf := range f.RegularFields() {\n\t\trp.header.Add(sc.canonicalHeader(hf.Name), hf.Value)\n\t}\n\tif rp.authority == \"\" {\n\t\trp.authority = rp.header.Get(\"Host\")\n\t}\n\n\trw, req, err := sc.newWriterAndRequestNoBody(st, rp)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tif bodyOpen {\n\t\tif vv, ok := rp.header[\"Content-Length\"]; ok {\n\t\t\treq.ContentLength, _ = strconv.ParseInt(vv[0], 10, 64)\n\t\t} else {\n\t\t\treq.ContentLength = -1\n\t\t}\n\t\treq.Body.(*requestBody).pipe = &pipe{\n\t\t\tb: &dataBuffer{expected: req.ContentLength},\n\t\t}\n\t}\n\treturn rw, req, nil\n}\n\ntype requestParam struct {\n\tmethod                  string\n\tscheme, authority, path string\n\theader                  http.Header\n}\n\nfunc (sc *serverConn) newWriterAndRequestNoBody(st *stream, rp requestParam) (*responseWriter, *http.Request, error) {\n\tsc.serveG.check()\n\n\tvar tlsState *tls.ConnectionState // nil if not scheme https\n\tif rp.scheme == \"https\" {\n\t\ttlsState = sc.tlsState\n\t}\n\n\tneedsContinue := rp.header.Get(\"Expect\") == \"100-continue\"\n\tif needsContinue {\n\t\trp.header.Del(\"Expect\")\n\t}\n\t// Merge Cookie headers into one \"; \"-delimited value.\n\tif cookies := rp.header[\"Cookie\"]; len(cookies) > 1 {\n\t\trp.header.Set(\"Cookie\", strings.Join(cookies, \"; \"))\n\t}\n\n\t// Setup Trailers\n\tvar trailer http.Header\n\tfor _, v := range rp.header[\"Trailer\"] {\n\t\tfor _, key := range strings.Split(v, \",\") {\n\t\t\tkey = http.CanonicalHeaderKey(strings.TrimSpace(key))\n\t\t\tswitch key {\n\t\t\tcase \"Transfer-Encoding\", \"Trailer\", \"Content-Length\":\n\t\t\t\t// Bogus. (copy of http1 rules)\n\t\t\t\t// Ignore.\n\t\t\tdefault:\n\t\t\t\tif trailer == nil {\n\t\t\t\t\ttrailer = make(http.Header)\n\t\t\t\t}\n\t\t\t\ttrailer[key] = nil\n\t\t\t}\n\t\t}\n\t}\n\tdelete(rp.header, \"Trailer\")\n\n\tvar url_ *url.URL\n\tvar requestURI string\n\tif rp.method == \"CONNECT\" {\n\t\turl_ = &url.URL{Host: rp.authority}\n\t\trequestURI = rp.authority // mimic HTTP/1 server behavior\n\t} else {\n\t\tvar err error\n\t\turl_, err = url.ParseRequestURI(rp.path)\n\t\tif err != nil {\n\t\t\treturn nil, nil, streamError(st.id, ErrCodeProtocol)\n\t\t}\n\t\trequestURI = rp.path\n\t}\n\n\tbody := &requestBody{\n\t\tconn:          sc,\n\t\tstream:        st,\n\t\tneedsContinue: needsContinue,\n\t}\n\treq := &http.Request{\n\t\tMethod:     rp.method,\n\t\tURL:        url_,\n\t\tRemoteAddr: sc.remoteAddrStr,\n\t\tHeader:     rp.header,\n\t\tRequestURI: requestURI,\n\t\tProto:      \"HTTP/2.0\",\n\t\tProtoMajor: 2,\n\t\tProtoMinor: 0,\n\t\tTLS:        tlsState,\n\t\tHost:       rp.authority,\n\t\tBody:       body,\n\t\tTrailer:    trailer,\n\t}\n\treq = requestWithContext(req, st.ctx)\n\n\trws := responseWriterStatePool.Get().(*responseWriterState)\n\tbwSave := rws.bw\n\t*rws = responseWriterState{} // zero all the fields\n\trws.conn = sc\n\trws.bw = bwSave\n\trws.bw.Reset(chunkWriter{rws})\n\trws.stream = st\n\trws.req = req\n\trws.body = body\n\n\trw := &responseWriter{rws: rws}\n\treturn rw, req, nil\n}\n\n// Run on its own goroutine.\nfunc (sc *serverConn) runHandler(rw *responseWriter, req *http.Request, handler func(http.ResponseWriter, *http.Request)) {\n\tdidPanic := true\n\tdefer func() {\n\t\trw.rws.stream.cancelCtx()\n\t\tif didPanic {\n\t\t\te := recover()\n\t\t\tsc.writeFrameFromHandler(FrameWriteRequest{\n\t\t\t\twrite:  handlerPanicRST{rw.rws.stream.id},\n\t\t\t\tstream: rw.rws.stream,\n\t\t\t})\n\t\t\t// Same as net/http:\n\t\t\tif shouldLogPanic(e) {\n\t\t\t\tconst size = 64 << 10\n\t\t\t\tbuf := make([]byte, size)\n\t\t\t\tbuf = buf[:runtime.Stack(buf, false)]\n\t\t\t\tsc.logf(\"http2: panic serving %v: %v\\n%s\", sc.conn.RemoteAddr(), e, buf)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\trw.handlerDone()\n\t}()\n\thandler(rw, req)\n\tdidPanic = false\n}\n\nfunc handleHeaderListTooLong(w http.ResponseWriter, r *http.Request) {\n\t// 10.5.1 Limits on Header Block Size:\n\t// .. \"A server that receives a larger header block than it is\n\t// willing to handle can send an HTTP 431 (Request Header Fields Too\n\t// Large) status code\"\n\tconst statusRequestHeaderFieldsTooLarge = 431 // only in Go 1.6+\n\tw.WriteHeader(statusRequestHeaderFieldsTooLarge)\n\tio.WriteString(w, \"<h1>HTTP Error 431</h1><p>Request Header Field(s) Too Large</p>\")\n}\n\n// called from handler goroutines.\n// h may be nil.\nfunc (sc *serverConn) writeHeaders(st *stream, headerData *writeResHeaders) error {\n\tsc.serveG.checkNotOn() // NOT on\n\tvar errc chan error\n\tif headerData.h != nil {\n\t\t// If there's a header map (which we don't own), so we have to block on\n\t\t// waiting for this frame to be written, so an http.Flush mid-handler\n\t\t// writes out the correct value of keys, before a handler later potentially\n\t\t// mutates it.\n\t\terrc = errChanPool.Get().(chan error)\n\t}\n\tif err := sc.writeFrameFromHandler(FrameWriteRequest{\n\t\twrite:  headerData,\n\t\tstream: st,\n\t\tdone:   errc,\n\t}); err != nil {\n\t\treturn err\n\t}\n\tif errc != nil {\n\t\tselect {\n\t\tcase err := <-errc:\n\t\t\terrChanPool.Put(errc)\n\t\t\treturn err\n\t\tcase <-sc.doneServing:\n\t\t\treturn errClientDisconnected\n\t\tcase <-st.cw:\n\t\t\treturn errStreamClosed\n\t\t}\n\t}\n\treturn nil\n}\n\n// called from handler goroutines.\nfunc (sc *serverConn) write100ContinueHeaders(st *stream) {\n\tsc.writeFrameFromHandler(FrameWriteRequest{\n\t\twrite:  write100ContinueHeadersFrame{st.id},\n\t\tstream: st,\n\t})\n}\n\n// A bodyReadMsg tells the server loop that the http.Handler read n\n// bytes of the DATA from the client on the given stream.\ntype bodyReadMsg struct {\n\tst *stream\n\tn  int\n}\n\n// called from handler goroutines.\n// Notes that the handler for the given stream ID read n bytes of its body\n// and schedules flow control tokens to be sent.\nfunc (sc *serverConn) noteBodyReadFromHandler(st *stream, n int, err error) {\n\tsc.serveG.checkNotOn() // NOT on\n\tif n > 0 {\n\t\tselect {\n\t\tcase sc.bodyReadCh <- bodyReadMsg{st, n}:\n\t\tcase <-sc.doneServing:\n\t\t}\n\t}\n}\n\nfunc (sc *serverConn) noteBodyRead(st *stream, n int) {\n\tsc.serveG.check()\n\tsc.sendWindowUpdate(nil, n) // conn-level\n\tif st.state != stateHalfClosedRemote && st.state != stateClosed {\n\t\t// Don't send this WINDOW_UPDATE if the stream is closed\n\t\t// remotely.\n\t\tsc.sendWindowUpdate(st, n)\n\t}\n}\n\n// st may be nil for conn-level\nfunc (sc *serverConn) sendWindowUpdate(st *stream, n int) {\n\tsc.serveG.check()\n\t// \"The legal range for the increment to the flow control\n\t// window is 1 to 2^31-1 (2,147,483,647) octets.\"\n\t// A Go Read call on 64-bit machines could in theory read\n\t// a larger Read than this. Very unlikely, but we handle it here\n\t// rather than elsewhere for now.\n\tconst maxUint31 = 1<<31 - 1\n\tfor n >= maxUint31 {\n\t\tsc.sendWindowUpdate32(st, maxUint31)\n\t\tn -= maxUint31\n\t}\n\tsc.sendWindowUpdate32(st, int32(n))\n}\n\n// st may be nil for conn-level\nfunc (sc *serverConn) sendWindowUpdate32(st *stream, n int32) {\n\tsc.serveG.check()\n\tif n == 0 {\n\t\treturn\n\t}\n\tif n < 0 {\n\t\tpanic(\"negative update\")\n\t}\n\tvar streamID uint32\n\tif st != nil {\n\t\tstreamID = st.id\n\t}\n\tsc.writeFrame(FrameWriteRequest{\n\t\twrite:  writeWindowUpdate{streamID: streamID, n: uint32(n)},\n\t\tstream: st,\n\t})\n\tvar ok bool\n\tif st == nil {\n\t\tok = sc.inflow.add(n)\n\t} else {\n\t\tok = st.inflow.add(n)\n\t}\n\tif !ok {\n\t\tpanic(\"internal error; sent too many window updates without decrements?\")\n\t}\n}\n\n// requestBody is the Handler's Request.Body type.\n// Read and Close may be called concurrently.\ntype requestBody struct {\n\tstream        *stream\n\tconn          *serverConn\n\tclosed        bool  // for use by Close only\n\tsawEOF        bool  // for use by Read only\n\tpipe          *pipe // non-nil if we have a HTTP entity message body\n\tneedsContinue bool  // need to send a 100-continue\n}\n\nfunc (b *requestBody) Close() error {\n\tif b.pipe != nil && !b.closed {\n\t\tb.pipe.BreakWithError(errClosedBody)\n\t}\n\tb.closed = true\n\treturn nil\n}\n\nfunc (b *requestBody) Read(p []byte) (n int, err error) {\n\tif b.needsContinue {\n\t\tb.needsContinue = false\n\t\tb.conn.write100ContinueHeaders(b.stream)\n\t}\n\tif b.pipe == nil || b.sawEOF {\n\t\treturn 0, io.EOF\n\t}\n\tn, err = b.pipe.Read(p)\n\tif err == io.EOF {\n\t\tb.sawEOF = true\n\t}\n\tif b.conn == nil && inTests {\n\t\treturn\n\t}\n\tb.conn.noteBodyReadFromHandler(b.stream, n, err)\n\treturn\n}\n\n// responseWriter is the http.ResponseWriter implementation. It's\n// intentionally small (1 pointer wide) to minimize garbage. The\n// responseWriterState pointer inside is zeroed at the end of a\n// request (in handlerDone) and calls on the responseWriter thereafter\n// simply crash (caller's mistake), but the much larger responseWriterState\n// and buffers are reused between multiple requests.\ntype responseWriter struct {\n\trws *responseWriterState\n}\n\n// Optional http.ResponseWriter interfaces implemented.\nvar (\n\t_ http.CloseNotifier = (*responseWriter)(nil)\n\t_ http.Flusher       = (*responseWriter)(nil)\n\t_ stringWriter       = (*responseWriter)(nil)\n)\n\ntype responseWriterState struct {\n\t// immutable within a request:\n\tstream *stream\n\treq    *http.Request\n\tbody   *requestBody // to close at end of request, if DATA frames didn't\n\tconn   *serverConn\n\n\t// TODO: adjust buffer writing sizes based on server config, frame size updates from peer, etc\n\tbw *bufio.Writer // writing to a chunkWriter{this *responseWriterState}\n\n\t// mutated by http.Handler goroutine:\n\thandlerHeader http.Header // nil until called\n\tsnapHeader    http.Header // snapshot of handlerHeader at WriteHeader time\n\ttrailers      []string    // set in writeChunk\n\tstatus        int         // status code passed to WriteHeader\n\twroteHeader   bool        // WriteHeader called (explicitly or implicitly). Not necessarily sent to user yet.\n\tsentHeader    bool        // have we sent the header frame?\n\thandlerDone   bool        // handler has finished\n\tdirty         bool        // a Write failed; don't reuse this responseWriterState\n\n\tsentContentLen int64 // non-zero if handler set a Content-Length header\n\twroteBytes     int64\n\n\tcloseNotifierMu sync.Mutex // guards closeNotifierCh\n\tcloseNotifierCh chan bool  // nil until first used\n}\n\ntype chunkWriter struct{ rws *responseWriterState }\n\nfunc (cw chunkWriter) Write(p []byte) (n int, err error) { return cw.rws.writeChunk(p) }\n\nfunc (rws *responseWriterState) hasTrailers() bool { return len(rws.trailers) != 0 }\n\n// declareTrailer is called for each Trailer header when the\n// response header is written. It notes that a header will need to be\n// written in the trailers at the end of the response.\nfunc (rws *responseWriterState) declareTrailer(k string) {\n\tk = http.CanonicalHeaderKey(k)\n\tif !ValidTrailerHeader(k) {\n\t\t// Forbidden by RFC 2616 14.40.\n\t\trws.conn.logf(\"ignoring invalid trailer %q\", k)\n\t\treturn\n\t}\n\tif !strSliceContains(rws.trailers, k) {\n\t\trws.trailers = append(rws.trailers, k)\n\t}\n}\n\n// writeChunk writes chunks from the bufio.Writer. But because\n// bufio.Writer may bypass its chunking, sometimes p may be\n// arbitrarily large.\n//\n// writeChunk is also responsible (on the first chunk) for sending the\n// HEADER response.\nfunc (rws *responseWriterState) writeChunk(p []byte) (n int, err error) {\n\tif !rws.wroteHeader {\n\t\trws.writeHeader(200)\n\t}\n\n\tisHeadResp := rws.req.Method == \"HEAD\"\n\tif !rws.sentHeader {\n\t\trws.sentHeader = true\n\t\tvar ctype, clen string\n\t\tif clen = rws.snapHeader.Get(\"Content-Length\"); clen != \"\" {\n\t\t\trws.snapHeader.Del(\"Content-Length\")\n\t\t\tclen64, err := strconv.ParseInt(clen, 10, 64)\n\t\t\tif err == nil && clen64 >= 0 {\n\t\t\t\trws.sentContentLen = clen64\n\t\t\t} else {\n\t\t\t\tclen = \"\"\n\t\t\t}\n\t\t}\n\t\tif clen == \"\" && rws.handlerDone && bodyAllowedForStatus(rws.status) && (len(p) > 0 || !isHeadResp) {\n\t\t\tclen = strconv.Itoa(len(p))\n\t\t}\n\t\t_, hasContentType := rws.snapHeader[\"Content-Type\"]\n\t\tif !hasContentType && bodyAllowedForStatus(rws.status) && len(p) > 0 {\n\t\t\tctype = http.DetectContentType(p)\n\t\t}\n\t\tvar date string\n\t\tif _, ok := rws.snapHeader[\"Date\"]; !ok {\n\t\t\t// TODO(bradfitz): be faster here, like net/http? measure.\n\t\t\tdate = time.Now().UTC().Format(http.TimeFormat)\n\t\t}\n\n\t\tfor _, v := range rws.snapHeader[\"Trailer\"] {\n\t\t\tforeachHeaderElement(v, rws.declareTrailer)\n\t\t}\n\n\t\tendStream := (rws.handlerDone && !rws.hasTrailers() && len(p) == 0) || isHeadResp\n\t\terr = rws.conn.writeHeaders(rws.stream, &writeResHeaders{\n\t\t\tstreamID:      rws.stream.id,\n\t\t\thttpResCode:   rws.status,\n\t\t\th:             rws.snapHeader,\n\t\t\tendStream:     endStream,\n\t\t\tcontentType:   ctype,\n\t\t\tcontentLength: clen,\n\t\t\tdate:          date,\n\t\t})\n\t\tif err != nil {\n\t\t\trws.dirty = true\n\t\t\treturn 0, err\n\t\t}\n\t\tif endStream {\n\t\t\treturn 0, nil\n\t\t}\n\t}\n\tif isHeadResp {\n\t\treturn len(p), nil\n\t}\n\tif len(p) == 0 && !rws.handlerDone {\n\t\treturn 0, nil\n\t}\n\n\tif rws.handlerDone {\n\t\trws.promoteUndeclaredTrailers()\n\t}\n\n\tendStream := rws.handlerDone && !rws.hasTrailers()\n\tif len(p) > 0 || endStream {\n\t\t// only send a 0 byte DATA frame if we're ending the stream.\n\t\tif err := rws.conn.writeDataFromHandler(rws.stream, p, endStream); err != nil {\n\t\t\trws.dirty = true\n\t\t\treturn 0, err\n\t\t}\n\t}\n\n\tif rws.handlerDone && rws.hasTrailers() {\n\t\terr = rws.conn.writeHeaders(rws.stream, &writeResHeaders{\n\t\t\tstreamID:  rws.stream.id,\n\t\t\th:         rws.handlerHeader,\n\t\t\ttrailers:  rws.trailers,\n\t\t\tendStream: true,\n\t\t})\n\t\tif err != nil {\n\t\t\trws.dirty = true\n\t\t}\n\t\treturn len(p), err\n\t}\n\treturn len(p), nil\n}\n\n// TrailerPrefix is a magic prefix for ResponseWriter.Header map keys\n// that, if present, signals that the map entry is actually for\n// the response trailers, and not the response headers. The prefix\n// is stripped after the ServeHTTP call finishes and the values are\n// sent in the trailers.\n//\n// This mechanism is intended only for trailers that are not known\n// prior to the headers being written. If the set of trailers is fixed\n// or known before the header is written, the normal Go trailers mechanism\n// is preferred:\n//    https://golang.org/pkg/net/http/#ResponseWriter\n//    https://golang.org/pkg/net/http/#example_ResponseWriter_trailers\nconst TrailerPrefix = \"Trailer:\"\n\n// promoteUndeclaredTrailers permits http.Handlers to set trailers\n// after the header has already been flushed. Because the Go\n// ResponseWriter interface has no way to set Trailers (only the\n// Header), and because we didn't want to expand the ResponseWriter\n// interface, and because nobody used trailers, and because RFC 2616\n// says you SHOULD (but not must) predeclare any trailers in the\n// header, the official ResponseWriter rules said trailers in Go must\n// be predeclared, and then we reuse the same ResponseWriter.Header()\n// map to mean both Headers and Trailers. When it's time to write the\n// Trailers, we pick out the fields of Headers that were declared as\n// trailers. That worked for a while, until we found the first major\n// user of Trailers in the wild: gRPC (using them only over http2),\n// and gRPC libraries permit setting trailers mid-stream without\n// predeclarnig them. So: change of plans. We still permit the old\n// way, but we also permit this hack: if a Header() key begins with\n// \"Trailer:\", the suffix of that key is a Trailer. Because ':' is an\n// invalid token byte anyway, there is no ambiguity. (And it's already\n// filtered out) It's mildly hacky, but not terrible.\n//\n// This method runs after the Handler is done and promotes any Header\n// fields to be trailers.\nfunc (rws *responseWriterState) promoteUndeclaredTrailers() {\n\tfor k, vv := range rws.handlerHeader {\n\t\tif !strings.HasPrefix(k, TrailerPrefix) {\n\t\t\tcontinue\n\t\t}\n\t\ttrailerKey := strings.TrimPrefix(k, TrailerPrefix)\n\t\trws.declareTrailer(trailerKey)\n\t\trws.handlerHeader[http.CanonicalHeaderKey(trailerKey)] = vv\n\t}\n\n\tif len(rws.trailers) > 1 {\n\t\tsorter := sorterPool.Get().(*sorter)\n\t\tsorter.SortStrings(rws.trailers)\n\t\tsorterPool.Put(sorter)\n\t}\n}\n\nfunc (w *responseWriter) Flush() {\n\trws := w.rws\n\tif rws == nil {\n\t\tpanic(\"Header called after Handler finished\")\n\t}\n\tif rws.bw.Buffered() > 0 {\n\t\tif err := rws.bw.Flush(); err != nil {\n\t\t\t// Ignore the error. The frame writer already knows.\n\t\t\treturn\n\t\t}\n\t} else {\n\t\t// The bufio.Writer won't call chunkWriter.Write\n\t\t// (writeChunk with zero bytes, so we have to do it\n\t\t// ourselves to force the HTTP response header and/or\n\t\t// final DATA frame (with END_STREAM) to be sent.\n\t\trws.writeChunk(nil)\n\t}\n}\n\nfunc (w *responseWriter) CloseNotify() <-chan bool {\n\trws := w.rws\n\tif rws == nil {\n\t\tpanic(\"CloseNotify called after Handler finished\")\n\t}\n\trws.closeNotifierMu.Lock()\n\tch := rws.closeNotifierCh\n\tif ch == nil {\n\t\tch = make(chan bool, 1)\n\t\trws.closeNotifierCh = ch\n\t\tcw := rws.stream.cw\n\t\tgo func() {\n\t\t\tcw.Wait() // wait for close\n\t\t\tch <- true\n\t\t}()\n\t}\n\trws.closeNotifierMu.Unlock()\n\treturn ch\n}\n\nfunc (w *responseWriter) Header() http.Header {\n\trws := w.rws\n\tif rws == nil {\n\t\tpanic(\"Header called after Handler finished\")\n\t}\n\tif rws.handlerHeader == nil {\n\t\trws.handlerHeader = make(http.Header)\n\t}\n\treturn rws.handlerHeader\n}\n\n// checkWriteHeaderCode is a copy of net/http's checkWriteHeaderCode.\nfunc checkWriteHeaderCode(code int) {\n\t// Issue 22880: require valid WriteHeader status codes.\n\t// For now we only enforce that it's three digits.\n\t// In the future we might block things over 599 (600 and above aren't defined\n\t// at http://httpwg.org/specs/rfc7231.html#status.codes)\n\t// and we might block under 200 (once we have more mature 1xx support).\n\t// But for now any three digits.\n\t//\n\t// We used to send \"HTTP/1.1 000 0\" on the wire in responses but there's\n\t// no equivalent bogus thing we can realistically send in HTTP/2,\n\t// so we'll consistently panic instead and help people find their bugs\n\t// early. (We can't return an error from WriteHeader even if we wanted to.)\n\tif code < 100 || code > 999 {\n\t\tpanic(fmt.Sprintf(\"invalid WriteHeader code %v\", code))\n\t}\n}\n\nfunc (w *responseWriter) WriteHeader(code int) {\n\trws := w.rws\n\tif rws == nil {\n\t\tpanic(\"WriteHeader called after Handler finished\")\n\t}\n\trws.writeHeader(code)\n}\n\nfunc (rws *responseWriterState) writeHeader(code int) {\n\tif !rws.wroteHeader {\n\t\tcheckWriteHeaderCode(code)\n\t\trws.wroteHeader = true\n\t\trws.status = code\n\t\tif len(rws.handlerHeader) > 0 {\n\t\t\trws.snapHeader = cloneHeader(rws.handlerHeader)\n\t\t}\n\t}\n}\n\nfunc cloneHeader(h http.Header) http.Header {\n\th2 := make(http.Header, len(h))\n\tfor k, vv := range h {\n\t\tvv2 := make([]string, len(vv))\n\t\tcopy(vv2, vv)\n\t\th2[k] = vv2\n\t}\n\treturn h2\n}\n\n// The Life Of A Write is like this:\n//\n// * Handler calls w.Write or w.WriteString ->\n// * -> rws.bw (*bufio.Writer) ->\n// * (Handler might call Flush)\n// * -> chunkWriter{rws}\n// * -> responseWriterState.writeChunk(p []byte)\n// * -> responseWriterState.writeChunk (most of the magic; see comment there)\nfunc (w *responseWriter) Write(p []byte) (n int, err error) {\n\treturn w.write(len(p), p, \"\")\n}\n\nfunc (w *responseWriter) WriteString(s string) (n int, err error) {\n\treturn w.write(len(s), nil, s)\n}\n\n// either dataB or dataS is non-zero.\nfunc (w *responseWriter) write(lenData int, dataB []byte, dataS string) (n int, err error) {\n\trws := w.rws\n\tif rws == nil {\n\t\tpanic(\"Write called after Handler finished\")\n\t}\n\tif !rws.wroteHeader {\n\t\tw.WriteHeader(200)\n\t}\n\tif !bodyAllowedForStatus(rws.status) {\n\t\treturn 0, http.ErrBodyNotAllowed\n\t}\n\trws.wroteBytes += int64(len(dataB)) + int64(len(dataS)) // only one can be set\n\tif rws.sentContentLen != 0 && rws.wroteBytes > rws.sentContentLen {\n\t\t// TODO: send a RST_STREAM\n\t\treturn 0, errors.New(\"http2: handler wrote more than declared Content-Length\")\n\t}\n\n\tif dataB != nil {\n\t\treturn rws.bw.Write(dataB)\n\t} else {\n\t\treturn rws.bw.WriteString(dataS)\n\t}\n}\n\nfunc (w *responseWriter) handlerDone() {\n\trws := w.rws\n\tdirty := rws.dirty\n\trws.handlerDone = true\n\tw.Flush()\n\tw.rws = nil\n\tif !dirty {\n\t\t// Only recycle the pool if all prior Write calls to\n\t\t// the serverConn goroutine completed successfully. If\n\t\t// they returned earlier due to resets from the peer\n\t\t// there might still be write goroutines outstanding\n\t\t// from the serverConn referencing the rws memory. See\n\t\t// issue 20704.\n\t\tresponseWriterStatePool.Put(rws)\n\t}\n}\n\n// Push errors.\nvar (\n\tErrRecursivePush    = errors.New(\"http2: recursive push not allowed\")\n\tErrPushLimitReached = errors.New(\"http2: push would exceed peer's SETTINGS_MAX_CONCURRENT_STREAMS\")\n)\n\n// pushOptions is the internal version of http.PushOptions, which we\n// cannot include here because it's only defined in Go 1.8 and later.\ntype pushOptions struct {\n\tMethod string\n\tHeader http.Header\n}\n\nfunc (w *responseWriter) push(target string, opts pushOptions) error {\n\tst := w.rws.stream\n\tsc := st.sc\n\tsc.serveG.checkNotOn()\n\n\t// No recursive pushes: \"PUSH_PROMISE frames MUST only be sent on a peer-initiated stream.\"\n\t// http://tools.ietf.org/html/rfc7540#section-6.6\n\tif st.isPushed() {\n\t\treturn ErrRecursivePush\n\t}\n\n\t// Default options.\n\tif opts.Method == \"\" {\n\t\topts.Method = \"GET\"\n\t}\n\tif opts.Header == nil {\n\t\topts.Header = http.Header{}\n\t}\n\twantScheme := \"http\"\n\tif w.rws.req.TLS != nil {\n\t\twantScheme = \"https\"\n\t}\n\n\t// Validate the request.\n\tu, err := url.Parse(target)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif u.Scheme == \"\" {\n\t\tif !strings.HasPrefix(target, \"/\") {\n\t\t\treturn fmt.Errorf(\"target must be an absolute URL or an absolute path: %q\", target)\n\t\t}\n\t\tu.Scheme = wantScheme\n\t\tu.Host = w.rws.req.Host\n\t} else {\n\t\tif u.Scheme != wantScheme {\n\t\t\treturn fmt.Errorf(\"cannot push URL with scheme %q from request with scheme %q\", u.Scheme, wantScheme)\n\t\t}\n\t\tif u.Host == \"\" {\n\t\t\treturn errors.New(\"URL must have a host\")\n\t\t}\n\t}\n\tfor k := range opts.Header {\n\t\tif strings.HasPrefix(k, \":\") {\n\t\t\treturn fmt.Errorf(\"promised request headers cannot include pseudo header %q\", k)\n\t\t}\n\t\t// These headers are meaningful only if the request has a body,\n\t\t// but PUSH_PROMISE requests cannot have a body.\n\t\t// http://tools.ietf.org/html/rfc7540#section-8.2\n\t\t// Also disallow Host, since the promised URL must be absolute.\n\t\tswitch strings.ToLower(k) {\n\t\tcase \"content-length\", \"content-encoding\", \"trailer\", \"te\", \"expect\", \"host\":\n\t\t\treturn fmt.Errorf(\"promised request headers cannot include %q\", k)\n\t\t}\n\t}\n\tif err := checkValidHTTP2RequestHeaders(opts.Header); err != nil {\n\t\treturn err\n\t}\n\n\t// The RFC effectively limits promised requests to GET and HEAD:\n\t// \"Promised requests MUST be cacheable [GET, HEAD, or POST], and MUST be safe [GET or HEAD]\"\n\t// http://tools.ietf.org/html/rfc7540#section-8.2\n\tif opts.Method != \"GET\" && opts.Method != \"HEAD\" {\n\t\treturn fmt.Errorf(\"method %q must be GET or HEAD\", opts.Method)\n\t}\n\n\tmsg := &startPushRequest{\n\t\tparent: st,\n\t\tmethod: opts.Method,\n\t\turl:    u,\n\t\theader: cloneHeader(opts.Header),\n\t\tdone:   errChanPool.Get().(chan error),\n\t}\n\n\tselect {\n\tcase <-sc.doneServing:\n\t\treturn errClientDisconnected\n\tcase <-st.cw:\n\t\treturn errStreamClosed\n\tcase sc.serveMsgCh <- msg:\n\t}\n\n\tselect {\n\tcase <-sc.doneServing:\n\t\treturn errClientDisconnected\n\tcase <-st.cw:\n\t\treturn errStreamClosed\n\tcase err := <-msg.done:\n\t\terrChanPool.Put(msg.done)\n\t\treturn err\n\t}\n}\n\ntype startPushRequest struct {\n\tparent *stream\n\tmethod string\n\turl    *url.URL\n\theader http.Header\n\tdone   chan error\n}\n\nfunc (sc *serverConn) startPush(msg *startPushRequest) {\n\tsc.serveG.check()\n\n\t// http://tools.ietf.org/html/rfc7540#section-6.6.\n\t// PUSH_PROMISE frames MUST only be sent on a peer-initiated stream that\n\t// is in either the \"open\" or \"half-closed (remote)\" state.\n\tif msg.parent.state != stateOpen && msg.parent.state != stateHalfClosedRemote {\n\t\t// responseWriter.Push checks that the stream is peer-initiaed.\n\t\tmsg.done <- errStreamClosed\n\t\treturn\n\t}\n\n\t// http://tools.ietf.org/html/rfc7540#section-6.6.\n\tif !sc.pushEnabled {\n\t\tmsg.done <- http.ErrNotSupported\n\t\treturn\n\t}\n\n\t// PUSH_PROMISE frames must be sent in increasing order by stream ID, so\n\t// we allocate an ID for the promised stream lazily, when the PUSH_PROMISE\n\t// is written. Once the ID is allocated, we start the request handler.\n\tallocatePromisedID := func() (uint32, error) {\n\t\tsc.serveG.check()\n\n\t\t// Check this again, just in case. Technically, we might have received\n\t\t// an updated SETTINGS by the time we got around to writing this frame.\n\t\tif !sc.pushEnabled {\n\t\t\treturn 0, http.ErrNotSupported\n\t\t}\n\t\t// http://tools.ietf.org/html/rfc7540#section-6.5.2.\n\t\tif sc.curPushedStreams+1 > sc.clientMaxStreams {\n\t\t\treturn 0, ErrPushLimitReached\n\t\t}\n\n\t\t// http://tools.ietf.org/html/rfc7540#section-5.1.1.\n\t\t// Streams initiated by the server MUST use even-numbered identifiers.\n\t\t// A server that is unable to establish a new stream identifier can send a GOAWAY\n\t\t// frame so that the client is forced to open a new connection for new streams.\n\t\tif sc.maxPushPromiseID+2 >= 1<<31 {\n\t\t\tsc.startGracefulShutdownInternal()\n\t\t\treturn 0, ErrPushLimitReached\n\t\t}\n\t\tsc.maxPushPromiseID += 2\n\t\tpromisedID := sc.maxPushPromiseID\n\n\t\t// http://tools.ietf.org/html/rfc7540#section-8.2.\n\t\t// Strictly speaking, the new stream should start in \"reserved (local)\", then\n\t\t// transition to \"half closed (remote)\" after sending the initial HEADERS, but\n\t\t// we start in \"half closed (remote)\" for simplicity.\n\t\t// See further comments at the definition of stateHalfClosedRemote.\n\t\tpromised := sc.newStream(promisedID, msg.parent.id, stateHalfClosedRemote)\n\t\trw, req, err := sc.newWriterAndRequestNoBody(promised, requestParam{\n\t\t\tmethod:    msg.method,\n\t\t\tscheme:    msg.url.Scheme,\n\t\t\tauthority: msg.url.Host,\n\t\t\tpath:      msg.url.RequestURI(),\n\t\t\theader:    cloneHeader(msg.header), // clone since handler runs concurrently with writing the PUSH_PROMISE\n\t\t})\n\t\tif err != nil {\n\t\t\t// Should not happen, since we've already validated msg.url.\n\t\t\tpanic(fmt.Sprintf(\"newWriterAndRequestNoBody(%+v): %v\", msg.url, err))\n\t\t}\n\n\t\tgo sc.runHandler(rw, req, sc.handler.ServeHTTP)\n\t\treturn promisedID, nil\n\t}\n\n\tsc.writeFrame(FrameWriteRequest{\n\t\twrite: &writePushPromise{\n\t\t\tstreamID:           msg.parent.id,\n\t\t\tmethod:             msg.method,\n\t\t\turl:                msg.url,\n\t\t\th:                  msg.header,\n\t\t\tallocatePromisedID: allocatePromisedID,\n\t\t},\n\t\tstream: msg.parent,\n\t\tdone:   msg.done,\n\t})\n}\n\n// foreachHeaderElement splits v according to the \"#rule\" construction\n// in RFC 2616 section 2.1 and calls fn for each non-empty element.\nfunc foreachHeaderElement(v string, fn func(string)) {\n\tv = textproto.TrimString(v)\n\tif v == \"\" {\n\t\treturn\n\t}\n\tif !strings.Contains(v, \",\") {\n\t\tfn(v)\n\t\treturn\n\t}\n\tfor _, f := range strings.Split(v, \",\") {\n\t\tif f = textproto.TrimString(f); f != \"\" {\n\t\t\tfn(f)\n\t\t}\n\t}\n}\n\n// From http://httpwg.org/specs/rfc7540.html#rfc.section.8.1.2.2\nvar connHeaders = []string{\n\t\"Connection\",\n\t\"Keep-Alive\",\n\t\"Proxy-Connection\",\n\t\"Transfer-Encoding\",\n\t\"Upgrade\",\n}\n\n// checkValidHTTP2RequestHeaders checks whether h is a valid HTTP/2 request,\n// per RFC 7540 Section 8.1.2.2.\n// The returned error is reported to users.\nfunc checkValidHTTP2RequestHeaders(h http.Header) error {\n\tfor _, k := range connHeaders {\n\t\tif _, ok := h[k]; ok {\n\t\t\treturn fmt.Errorf(\"request header %q is not valid in HTTP/2\", k)\n\t\t}\n\t}\n\tte := h[\"Te\"]\n\tif len(te) > 0 && (len(te) > 1 || (te[0] != \"trailers\" && te[0] != \"\")) {\n\t\treturn errors.New(`request header \"TE\" may only be \"trailers\" in HTTP/2`)\n\t}\n\treturn nil\n}\n\nfunc new400Handler(err error) http.HandlerFunc {\n\treturn func(w http.ResponseWriter, r *http.Request) {\n\t\thttp.Error(w, err.Error(), http.StatusBadRequest)\n\t}\n}\n\n// ValidTrailerHeader reports whether name is a valid header field name to appear\n// in trailers.\n// See: http://tools.ietf.org/html/rfc7230#section-4.1.2\nfunc ValidTrailerHeader(name string) bool {\n\tname = http.CanonicalHeaderKey(name)\n\tif strings.HasPrefix(name, \"If-\") || badTrailer[name] {\n\t\treturn false\n\t}\n\treturn true\n}\n\nvar badTrailer = map[string]bool{\n\t\"Authorization\":       true,\n\t\"Cache-Control\":       true,\n\t\"Connection\":          true,\n\t\"Content-Encoding\":    true,\n\t\"Content-Length\":      true,\n\t\"Content-Range\":       true,\n\t\"Content-Type\":        true,\n\t\"Expect\":              true,\n\t\"Host\":                true,\n\t\"Keep-Alive\":          true,\n\t\"Max-Forwards\":        true,\n\t\"Pragma\":              true,\n\t\"Proxy-Authenticate\":  true,\n\t\"Proxy-Authorization\": true,\n\t\"Proxy-Connection\":    true,\n\t\"Range\":               true,\n\t\"Realm\":               true,\n\t\"Te\":                  true,\n\t\"Trailer\":             true,\n\t\"Transfer-Encoding\":   true,\n\t\"Www-Authenticate\":    true,\n}\n\n// h1ServerKeepAlivesDisabled reports whether hs has its keep-alives\n// disabled. See comments on h1ServerShutdownChan above for why\n// the code is written this way.\nfunc h1ServerKeepAlivesDisabled(hs *http.Server) bool {\n\tvar x interface{} = hs\n\ttype I interface {\n\t\tdoKeepAlives() bool\n\t}\n\tif hs, ok := x.(I); ok {\n\t\treturn !hs.doKeepAlives()\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/transport.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Transport code.\n\npackage http2\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"compress/gzip\"\n\t\"crypto/rand\"\n\t\"crypto/tls\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"math\"\n\tmathrand \"math/rand\"\n\t\"net\"\n\t\"net/http\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/http2/hpack\"\n\t\"golang.org/x/net/idna\"\n\t\"golang.org/x/net/lex/httplex\"\n)\n\nconst (\n\t// transportDefaultConnFlow is how many connection-level flow control\n\t// tokens we give the server at start-up, past the default 64k.\n\ttransportDefaultConnFlow = 1 << 30\n\n\t// transportDefaultStreamFlow is how many stream-level flow\n\t// control tokens we announce to the peer, and how many bytes\n\t// we buffer per stream.\n\ttransportDefaultStreamFlow = 4 << 20\n\n\t// transportDefaultStreamMinRefresh is the minimum number of bytes we'll send\n\t// a stream-level WINDOW_UPDATE for at a time.\n\ttransportDefaultStreamMinRefresh = 4 << 10\n\n\tdefaultUserAgent = \"Go-http-client/2.0\"\n)\n\n// Transport is an HTTP/2 Transport.\n//\n// A Transport internally caches connections to servers. It is safe\n// for concurrent use by multiple goroutines.\ntype Transport struct {\n\t// DialTLS specifies an optional dial function for creating\n\t// TLS connections for requests.\n\t//\n\t// If DialTLS is nil, tls.Dial is used.\n\t//\n\t// If the returned net.Conn has a ConnectionState method like tls.Conn,\n\t// it will be used to set http.Response.TLS.\n\tDialTLS func(network, addr string, cfg *tls.Config) (net.Conn, error)\n\n\t// TLSClientConfig specifies the TLS configuration to use with\n\t// tls.Client. If nil, the default configuration is used.\n\tTLSClientConfig *tls.Config\n\n\t// ConnPool optionally specifies an alternate connection pool to use.\n\t// If nil, the default is used.\n\tConnPool ClientConnPool\n\n\t// DisableCompression, if true, prevents the Transport from\n\t// requesting compression with an \"Accept-Encoding: gzip\"\n\t// request header when the Request contains no existing\n\t// Accept-Encoding value. If the Transport requests gzip on\n\t// its own and gets a gzipped response, it's transparently\n\t// decoded in the Response.Body. However, if the user\n\t// explicitly requested gzip it is not automatically\n\t// uncompressed.\n\tDisableCompression bool\n\n\t// AllowHTTP, if true, permits HTTP/2 requests using the insecure,\n\t// plain-text \"http\" scheme. Note that this does not enable h2c support.\n\tAllowHTTP bool\n\n\t// MaxHeaderListSize is the http2 SETTINGS_MAX_HEADER_LIST_SIZE to\n\t// send in the initial settings frame. It is how many bytes\n\t// of response headers are allowed. Unlike the http2 spec, zero here\n\t// means to use a default limit (currently 10MB). If you actually\n\t// want to advertise an ulimited value to the peer, Transport\n\t// interprets the highest possible value here (0xffffffff or 1<<32-1)\n\t// to mean no limit.\n\tMaxHeaderListSize uint32\n\n\t// t1, if non-nil, is the standard library Transport using\n\t// this transport. Its settings are used (but not its\n\t// RoundTrip method, etc).\n\tt1 *http.Transport\n\n\tconnPoolOnce  sync.Once\n\tconnPoolOrDef ClientConnPool // non-nil version of ConnPool\n}\n\nfunc (t *Transport) maxHeaderListSize() uint32 {\n\tif t.MaxHeaderListSize == 0 {\n\t\treturn 10 << 20\n\t}\n\tif t.MaxHeaderListSize == 0xffffffff {\n\t\treturn 0\n\t}\n\treturn t.MaxHeaderListSize\n}\n\nfunc (t *Transport) disableCompression() bool {\n\treturn t.DisableCompression || (t.t1 != nil && t.t1.DisableCompression)\n}\n\nvar errTransportVersion = errors.New(\"http2: ConfigureTransport is only supported starting at Go 1.6\")\n\n// ConfigureTransport configures a net/http HTTP/1 Transport to use HTTP/2.\n// It requires Go 1.6 or later and returns an error if the net/http package is too old\n// or if t1 has already been HTTP/2-enabled.\nfunc ConfigureTransport(t1 *http.Transport) error {\n\t_, err := configureTransport(t1) // in configure_transport.go (go1.6) or not_go16.go\n\treturn err\n}\n\nfunc (t *Transport) connPool() ClientConnPool {\n\tt.connPoolOnce.Do(t.initConnPool)\n\treturn t.connPoolOrDef\n}\n\nfunc (t *Transport) initConnPool() {\n\tif t.ConnPool != nil {\n\t\tt.connPoolOrDef = t.ConnPool\n\t} else {\n\t\tt.connPoolOrDef = &clientConnPool{t: t}\n\t}\n}\n\n// ClientConn is the state of a single HTTP/2 client connection to an\n// HTTP/2 server.\ntype ClientConn struct {\n\tt         *Transport\n\ttconn     net.Conn             // usually *tls.Conn, except specialized impls\n\ttlsState  *tls.ConnectionState // nil only for specialized impls\n\tsingleUse bool                 // whether being used for a single http.Request\n\n\t// readLoop goroutine fields:\n\treaderDone chan struct{} // closed on error\n\treaderErr  error         // set before readerDone is closed\n\n\tidleTimeout time.Duration // or 0 for never\n\tidleTimer   *time.Timer\n\n\tmu              sync.Mutex // guards following\n\tcond            *sync.Cond // hold mu; broadcast on flow/closed changes\n\tflow            flow       // our conn-level flow control quota (cs.flow is per stream)\n\tinflow          flow       // peer's conn-level flow control\n\tclosed          bool\n\twantSettingsAck bool                     // we sent a SETTINGS frame and haven't heard back\n\tgoAway          *GoAwayFrame             // if non-nil, the GoAwayFrame we received\n\tgoAwayDebug     string                   // goAway frame's debug data, retained as a string\n\tstreams         map[uint32]*clientStream // client-initiated\n\tnextStreamID    uint32\n\tpendingRequests int                       // requests blocked and waiting to be sent because len(streams) == maxConcurrentStreams\n\tpings           map[[8]byte]chan struct{} // in flight ping data to notification channel\n\tbw              *bufio.Writer\n\tbr              *bufio.Reader\n\tfr              *Framer\n\tlastActive      time.Time\n\t// Settings from peer: (also guarded by mu)\n\tmaxFrameSize          uint32\n\tmaxConcurrentStreams  uint32\n\tpeerMaxHeaderListSize uint64\n\tinitialWindowSize     uint32\n\n\thbuf    bytes.Buffer // HPACK encoder writes into this\n\thenc    *hpack.Encoder\n\tfreeBuf [][]byte\n\n\twmu  sync.Mutex // held while writing; acquire AFTER mu if holding both\n\twerr error      // first write error that has occurred\n}\n\n// clientStream is the state for a single HTTP/2 stream. One of these\n// is created for each Transport.RoundTrip call.\ntype clientStream struct {\n\tcc            *ClientConn\n\treq           *http.Request\n\ttrace         *clientTrace // or nil\n\tID            uint32\n\tresc          chan resAndError\n\tbufPipe       pipe // buffered pipe with the flow-controlled response payload\n\tstartedWrite  bool // started request body write; guarded by cc.mu\n\trequestedGzip bool\n\ton100         func() // optional code to run if get a 100 continue response\n\n\tflow        flow  // guarded by cc.mu\n\tinflow      flow  // guarded by cc.mu\n\tbytesRemain int64 // -1 means unknown; owned by transportResponseBody.Read\n\treadErr     error // sticky read error; owned by transportResponseBody.Read\n\tstopReqBody error // if non-nil, stop writing req body; guarded by cc.mu\n\tdidReset    bool  // whether we sent a RST_STREAM to the server; guarded by cc.mu\n\n\tpeerReset chan struct{} // closed on peer reset\n\tresetErr  error         // populated before peerReset is closed\n\n\tdone chan struct{} // closed when stream remove from cc.streams map; close calls guarded by cc.mu\n\n\t// owned by clientConnReadLoop:\n\tfirstByte    bool // got the first response byte\n\tpastHeaders  bool // got first MetaHeadersFrame (actual headers)\n\tpastTrailers bool // got optional second MetaHeadersFrame (trailers)\n\n\ttrailer    http.Header  // accumulated trailers\n\tresTrailer *http.Header // client's Response.Trailer\n}\n\n// awaitRequestCancel waits for the user to cancel a request or for the done\n// channel to be signaled. A non-nil error is returned only if the request was\n// canceled.\nfunc awaitRequestCancel(req *http.Request, done <-chan struct{}) error {\n\tctx := reqContext(req)\n\tif req.Cancel == nil && ctx.Done() == nil {\n\t\treturn nil\n\t}\n\tselect {\n\tcase <-req.Cancel:\n\t\treturn errRequestCanceled\n\tcase <-ctx.Done():\n\t\treturn ctx.Err()\n\tcase <-done:\n\t\treturn nil\n\t}\n}\n\n// awaitRequestCancel waits for the user to cancel a request, its context to\n// expire, or for the request to be done (any way it might be removed from the\n// cc.streams map: peer reset, successful completion, TCP connection breakage,\n// etc). If the request is canceled, then cs will be canceled and closed.\nfunc (cs *clientStream) awaitRequestCancel(req *http.Request) {\n\tif err := awaitRequestCancel(req, cs.done); err != nil {\n\t\tcs.cancelStream()\n\t\tcs.bufPipe.CloseWithError(err)\n\t}\n}\n\nfunc (cs *clientStream) cancelStream() {\n\tcc := cs.cc\n\tcc.mu.Lock()\n\tdidReset := cs.didReset\n\tcs.didReset = true\n\tcc.mu.Unlock()\n\n\tif !didReset {\n\t\tcc.writeStreamReset(cs.ID, ErrCodeCancel, nil)\n\t\tcc.forgetStreamID(cs.ID)\n\t}\n}\n\n// checkResetOrDone reports any error sent in a RST_STREAM frame by the\n// server, or errStreamClosed if the stream is complete.\nfunc (cs *clientStream) checkResetOrDone() error {\n\tselect {\n\tcase <-cs.peerReset:\n\t\treturn cs.resetErr\n\tcase <-cs.done:\n\t\treturn errStreamClosed\n\tdefault:\n\t\treturn nil\n\t}\n}\n\nfunc (cs *clientStream) getStartedWrite() bool {\n\tcc := cs.cc\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\treturn cs.startedWrite\n}\n\nfunc (cs *clientStream) abortRequestBodyWrite(err error) {\n\tif err == nil {\n\t\tpanic(\"nil error\")\n\t}\n\tcc := cs.cc\n\tcc.mu.Lock()\n\tcs.stopReqBody = err\n\tcc.cond.Broadcast()\n\tcc.mu.Unlock()\n}\n\ntype stickyErrWriter struct {\n\tw   io.Writer\n\terr *error\n}\n\nfunc (sew stickyErrWriter) Write(p []byte) (n int, err error) {\n\tif *sew.err != nil {\n\t\treturn 0, *sew.err\n\t}\n\tn, err = sew.w.Write(p)\n\t*sew.err = err\n\treturn\n}\n\nvar ErrNoCachedConn = errors.New(\"http2: no cached connection was available\")\n\n// RoundTripOpt are options for the Transport.RoundTripOpt method.\ntype RoundTripOpt struct {\n\t// OnlyCachedConn controls whether RoundTripOpt may\n\t// create a new TCP connection. If set true and\n\t// no cached connection is available, RoundTripOpt\n\t// will return ErrNoCachedConn.\n\tOnlyCachedConn bool\n}\n\nfunc (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {\n\treturn t.RoundTripOpt(req, RoundTripOpt{})\n}\n\n// authorityAddr returns a given authority (a host/IP, or host:port / ip:port)\n// and returns a host:port. The port 443 is added if needed.\nfunc authorityAddr(scheme string, authority string) (addr string) {\n\thost, port, err := net.SplitHostPort(authority)\n\tif err != nil { // authority didn't have a port\n\t\tport = \"443\"\n\t\tif scheme == \"http\" {\n\t\t\tport = \"80\"\n\t\t}\n\t\thost = authority\n\t}\n\tif a, err := idna.ToASCII(host); err == nil {\n\t\thost = a\n\t}\n\t// IPv6 address literal, without a port:\n\tif strings.HasPrefix(host, \"[\") && strings.HasSuffix(host, \"]\") {\n\t\treturn host + \":\" + port\n\t}\n\treturn net.JoinHostPort(host, port)\n}\n\n// RoundTripOpt is like RoundTrip, but takes options.\nfunc (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Response, error) {\n\tif !(req.URL.Scheme == \"https\" || (req.URL.Scheme == \"http\" && t.AllowHTTP)) {\n\t\treturn nil, errors.New(\"http2: unsupported scheme\")\n\t}\n\n\taddr := authorityAddr(req.URL.Scheme, req.URL.Host)\n\tfor retry := 0; ; retry++ {\n\t\tcc, err := t.connPool().GetClientConn(req, addr)\n\t\tif err != nil {\n\t\t\tt.vlogf(\"http2: Transport failed to get client conn for %s: %v\", addr, err)\n\t\t\treturn nil, err\n\t\t}\n\t\ttraceGotConn(req, cc)\n\t\tres, gotErrAfterReqBodyWrite, err := cc.roundTrip(req)\n\t\tif err != nil && retry <= 6 {\n\t\t\tif req, err = shouldRetryRequest(req, err, gotErrAfterReqBodyWrite); err == nil {\n\t\t\t\t// After the first retry, do exponential backoff with 10% jitter.\n\t\t\t\tif retry == 0 {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tbackoff := float64(uint(1) << (uint(retry) - 1))\n\t\t\t\tbackoff += backoff * (0.1 * mathrand.Float64())\n\t\t\t\tselect {\n\t\t\t\tcase <-time.After(time.Second * time.Duration(backoff)):\n\t\t\t\t\tcontinue\n\t\t\t\tcase <-reqContext(req).Done():\n\t\t\t\t\treturn nil, reqContext(req).Err()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif err != nil {\n\t\t\tt.vlogf(\"RoundTrip failure: %v\", err)\n\t\t\treturn nil, err\n\t\t}\n\t\treturn res, nil\n\t}\n}\n\n// CloseIdleConnections closes any connections which were previously\n// connected from previous requests but are now sitting idle.\n// It does not interrupt any connections currently in use.\nfunc (t *Transport) CloseIdleConnections() {\n\tif cp, ok := t.connPool().(clientConnPoolIdleCloser); ok {\n\t\tcp.closeIdleConnections()\n\t}\n}\n\nvar (\n\terrClientConnClosed    = errors.New(\"http2: client conn is closed\")\n\terrClientConnUnusable  = errors.New(\"http2: client conn not usable\")\n\terrClientConnGotGoAway = errors.New(\"http2: Transport received Server's graceful shutdown GOAWAY\")\n)\n\n// shouldRetryRequest is called by RoundTrip when a request fails to get\n// response headers. It is always called with a non-nil error.\n// It returns either a request to retry (either the same request, or a\n// modified clone), or an error if the request can't be replayed.\nfunc shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*http.Request, error) {\n\tif !canRetryError(err) {\n\t\treturn nil, err\n\t}\n\tif !afterBodyWrite {\n\t\treturn req, nil\n\t}\n\t// If the Body is nil (or http.NoBody), it's safe to reuse\n\t// this request and its Body.\n\tif req.Body == nil || reqBodyIsNoBody(req.Body) {\n\t\treturn req, nil\n\t}\n\t// Otherwise we depend on the Request having its GetBody\n\t// func defined.\n\tgetBody := reqGetBody(req) // Go 1.8: getBody = req.GetBody\n\tif getBody == nil {\n\t\treturn nil, fmt.Errorf(\"http2: Transport: cannot retry err [%v] after Request.Body was written; define Request.GetBody to avoid this error\", err)\n\t}\n\tbody, err := getBody()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tnewReq := *req\n\tnewReq.Body = body\n\treturn &newReq, nil\n}\n\nfunc canRetryError(err error) bool {\n\tif err == errClientConnUnusable || err == errClientConnGotGoAway {\n\t\treturn true\n\t}\n\tif se, ok := err.(StreamError); ok {\n\t\treturn se.Code == ErrCodeRefusedStream\n\t}\n\treturn false\n}\n\nfunc (t *Transport) dialClientConn(addr string, singleUse bool) (*ClientConn, error) {\n\thost, _, err := net.SplitHostPort(addr)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\ttconn, err := t.dialTLS()(\"tcp\", addr, t.newTLSConfig(host))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn t.newClientConn(tconn, singleUse)\n}\n\nfunc (t *Transport) newTLSConfig(host string) *tls.Config {\n\tcfg := new(tls.Config)\n\tif t.TLSClientConfig != nil {\n\t\t*cfg = *cloneTLSConfig(t.TLSClientConfig)\n\t}\n\tif !strSliceContains(cfg.NextProtos, NextProtoTLS) {\n\t\tcfg.NextProtos = append([]string{NextProtoTLS}, cfg.NextProtos...)\n\t}\n\tif cfg.ServerName == \"\" {\n\t\tcfg.ServerName = host\n\t}\n\treturn cfg\n}\n\nfunc (t *Transport) dialTLS() func(string, string, *tls.Config) (net.Conn, error) {\n\tif t.DialTLS != nil {\n\t\treturn t.DialTLS\n\t}\n\treturn t.dialTLSDefault\n}\n\nfunc (t *Transport) dialTLSDefault(network, addr string, cfg *tls.Config) (net.Conn, error) {\n\tcn, err := tls.Dial(network, addr, cfg)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif err := cn.Handshake(); err != nil {\n\t\treturn nil, err\n\t}\n\tif !cfg.InsecureSkipVerify {\n\t\tif err := cn.VerifyHostname(cfg.ServerName); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tstate := cn.ConnectionState()\n\tif p := state.NegotiatedProtocol; p != NextProtoTLS {\n\t\treturn nil, fmt.Errorf(\"http2: unexpected ALPN protocol %q; want %q\", p, NextProtoTLS)\n\t}\n\tif !state.NegotiatedProtocolIsMutual {\n\t\treturn nil, errors.New(\"http2: could not negotiate protocol mutually\")\n\t}\n\treturn cn, nil\n}\n\n// disableKeepAlives reports whether connections should be closed as\n// soon as possible after handling the first request.\nfunc (t *Transport) disableKeepAlives() bool {\n\treturn t.t1 != nil && t.t1.DisableKeepAlives\n}\n\nfunc (t *Transport) expectContinueTimeout() time.Duration {\n\tif t.t1 == nil {\n\t\treturn 0\n\t}\n\treturn transportExpectContinueTimeout(t.t1)\n}\n\nfunc (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) {\n\treturn t.newClientConn(c, false)\n}\n\nfunc (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, error) {\n\tcc := &ClientConn{\n\t\tt:                     t,\n\t\ttconn:                 c,\n\t\treaderDone:            make(chan struct{}),\n\t\tnextStreamID:          1,\n\t\tmaxFrameSize:          16 << 10,           // spec default\n\t\tinitialWindowSize:     65535,              // spec default\n\t\tmaxConcurrentStreams:  1000,               // \"infinite\", per spec. 1000 seems good enough.\n\t\tpeerMaxHeaderListSize: 0xffffffffffffffff, // \"infinite\", per spec. Use 2^64-1 instead.\n\t\tstreams:               make(map[uint32]*clientStream),\n\t\tsingleUse:             singleUse,\n\t\twantSettingsAck:       true,\n\t\tpings:                 make(map[[8]byte]chan struct{}),\n\t}\n\tif d := t.idleConnTimeout(); d != 0 {\n\t\tcc.idleTimeout = d\n\t\tcc.idleTimer = time.AfterFunc(d, cc.onIdleTimeout)\n\t}\n\tif VerboseLogs {\n\t\tt.vlogf(\"http2: Transport creating client conn %p to %v\", cc, c.RemoteAddr())\n\t}\n\n\tcc.cond = sync.NewCond(&cc.mu)\n\tcc.flow.add(int32(initialWindowSize))\n\n\t// TODO: adjust this writer size to account for frame size +\n\t// MTU + crypto/tls record padding.\n\tcc.bw = bufio.NewWriter(stickyErrWriter{c, &cc.werr})\n\tcc.br = bufio.NewReader(c)\n\tcc.fr = NewFramer(cc.bw, cc.br)\n\tcc.fr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil)\n\tcc.fr.MaxHeaderListSize = t.maxHeaderListSize()\n\n\t// TODO: SetMaxDynamicTableSize, SetMaxDynamicTableSizeLimit on\n\t// henc in response to SETTINGS frames?\n\tcc.henc = hpack.NewEncoder(&cc.hbuf)\n\n\tif cs, ok := c.(connectionStater); ok {\n\t\tstate := cs.ConnectionState()\n\t\tcc.tlsState = &state\n\t}\n\n\tinitialSettings := []Setting{\n\t\t{ID: SettingEnablePush, Val: 0},\n\t\t{ID: SettingInitialWindowSize, Val: transportDefaultStreamFlow},\n\t}\n\tif max := t.maxHeaderListSize(); max != 0 {\n\t\tinitialSettings = append(initialSettings, Setting{ID: SettingMaxHeaderListSize, Val: max})\n\t}\n\n\tcc.bw.Write(clientPreface)\n\tcc.fr.WriteSettings(initialSettings...)\n\tcc.fr.WriteWindowUpdate(0, transportDefaultConnFlow)\n\tcc.inflow.add(transportDefaultConnFlow + initialWindowSize)\n\tcc.bw.Flush()\n\tif cc.werr != nil {\n\t\treturn nil, cc.werr\n\t}\n\n\tgo cc.readLoop()\n\treturn cc, nil\n}\n\nfunc (cc *ClientConn) setGoAway(f *GoAwayFrame) {\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\n\told := cc.goAway\n\tcc.goAway = f\n\n\t// Merge the previous and current GoAway error frames.\n\tif cc.goAwayDebug == \"\" {\n\t\tcc.goAwayDebug = string(f.DebugData())\n\t}\n\tif old != nil && old.ErrCode != ErrCodeNo {\n\t\tcc.goAway.ErrCode = old.ErrCode\n\t}\n\tlast := f.LastStreamID\n\tfor streamID, cs := range cc.streams {\n\t\tif streamID > last {\n\t\t\tselect {\n\t\t\tcase cs.resc <- resAndError{err: errClientConnGotGoAway}:\n\t\t\tdefault:\n\t\t\t}\n\t\t}\n\t}\n}\n\n// CanTakeNewRequest reports whether the connection can take a new request,\n// meaning it has not been closed or received or sent a GOAWAY.\nfunc (cc *ClientConn) CanTakeNewRequest() bool {\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\treturn cc.canTakeNewRequestLocked()\n}\n\nfunc (cc *ClientConn) canTakeNewRequestLocked() bool {\n\tif cc.singleUse && cc.nextStreamID > 1 {\n\t\treturn false\n\t}\n\treturn cc.goAway == nil && !cc.closed &&\n\t\tint64(cc.nextStreamID)+int64(cc.pendingRequests) < math.MaxInt32\n}\n\n// onIdleTimeout is called from a time.AfterFunc goroutine. It will\n// only be called when we're idle, but because we're coming from a new\n// goroutine, there could be a new request coming in at the same time,\n// so this simply calls the synchronized closeIfIdle to shut down this\n// connection. The timer could just call closeIfIdle, but this is more\n// clear.\nfunc (cc *ClientConn) onIdleTimeout() {\n\tcc.closeIfIdle()\n}\n\nfunc (cc *ClientConn) closeIfIdle() {\n\tcc.mu.Lock()\n\tif len(cc.streams) > 0 {\n\t\tcc.mu.Unlock()\n\t\treturn\n\t}\n\tcc.closed = true\n\tnextID := cc.nextStreamID\n\t// TODO: do clients send GOAWAY too? maybe? Just Close:\n\tcc.mu.Unlock()\n\n\tif VerboseLogs {\n\t\tcc.vlogf(\"http2: Transport closing idle conn %p (forSingleUse=%v, maxStream=%v)\", cc, cc.singleUse, nextID-2)\n\t}\n\tcc.tconn.Close()\n}\n\nconst maxAllocFrameSize = 512 << 10\n\n// frameBuffer returns a scratch buffer suitable for writing DATA frames.\n// They're capped at the min of the peer's max frame size or 512KB\n// (kinda arbitrarily), but definitely capped so we don't allocate 4GB\n// bufers.\nfunc (cc *ClientConn) frameScratchBuffer() []byte {\n\tcc.mu.Lock()\n\tsize := cc.maxFrameSize\n\tif size > maxAllocFrameSize {\n\t\tsize = maxAllocFrameSize\n\t}\n\tfor i, buf := range cc.freeBuf {\n\t\tif len(buf) >= int(size) {\n\t\t\tcc.freeBuf[i] = nil\n\t\t\tcc.mu.Unlock()\n\t\t\treturn buf[:size]\n\t\t}\n\t}\n\tcc.mu.Unlock()\n\treturn make([]byte, size)\n}\n\nfunc (cc *ClientConn) putFrameScratchBuffer(buf []byte) {\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\tconst maxBufs = 4 // arbitrary; 4 concurrent requests per conn? investigate.\n\tif len(cc.freeBuf) < maxBufs {\n\t\tcc.freeBuf = append(cc.freeBuf, buf)\n\t\treturn\n\t}\n\tfor i, old := range cc.freeBuf {\n\t\tif old == nil {\n\t\t\tcc.freeBuf[i] = buf\n\t\t\treturn\n\t\t}\n\t}\n\t// forget about it.\n}\n\n// errRequestCanceled is a copy of net/http's errRequestCanceled because it's not\n// exported. At least they'll be DeepEqual for h1-vs-h2 comparisons tests.\nvar errRequestCanceled = errors.New(\"net/http: request canceled\")\n\nfunc commaSeparatedTrailers(req *http.Request) (string, error) {\n\tkeys := make([]string, 0, len(req.Trailer))\n\tfor k := range req.Trailer {\n\t\tk = http.CanonicalHeaderKey(k)\n\t\tswitch k {\n\t\tcase \"Transfer-Encoding\", \"Trailer\", \"Content-Length\":\n\t\t\treturn \"\", &badStringError{\"invalid Trailer key\", k}\n\t\t}\n\t\tkeys = append(keys, k)\n\t}\n\tif len(keys) > 0 {\n\t\tsort.Strings(keys)\n\t\treturn strings.Join(keys, \",\"), nil\n\t}\n\treturn \"\", nil\n}\n\nfunc (cc *ClientConn) responseHeaderTimeout() time.Duration {\n\tif cc.t.t1 != nil {\n\t\treturn cc.t.t1.ResponseHeaderTimeout\n\t}\n\t// No way to do this (yet?) with just an http2.Transport. Probably\n\t// no need. Request.Cancel this is the new way. We only need to support\n\t// this for compatibility with the old http.Transport fields when\n\t// we're doing transparent http2.\n\treturn 0\n}\n\n// checkConnHeaders checks whether req has any invalid connection-level headers.\n// per RFC 7540 section 8.1.2.2: Connection-Specific Header Fields.\n// Certain headers are special-cased as okay but not transmitted later.\nfunc checkConnHeaders(req *http.Request) error {\n\tif v := req.Header.Get(\"Upgrade\"); v != \"\" {\n\t\treturn fmt.Errorf(\"http2: invalid Upgrade request header: %q\", req.Header[\"Upgrade\"])\n\t}\n\tif vv := req.Header[\"Transfer-Encoding\"]; len(vv) > 0 && (len(vv) > 1 || vv[0] != \"\" && vv[0] != \"chunked\") {\n\t\treturn fmt.Errorf(\"http2: invalid Transfer-Encoding request header: %q\", vv)\n\t}\n\tif vv := req.Header[\"Connection\"]; len(vv) > 0 && (len(vv) > 1 || vv[0] != \"\" && vv[0] != \"close\" && vv[0] != \"keep-alive\") {\n\t\treturn fmt.Errorf(\"http2: invalid Connection request header: %q\", vv)\n\t}\n\treturn nil\n}\n\n// actualContentLength returns a sanitized version of\n// req.ContentLength, where 0 actually means zero (not unknown) and -1\n// means unknown.\nfunc actualContentLength(req *http.Request) int64 {\n\tif req.Body == nil || reqBodyIsNoBody(req.Body) {\n\t\treturn 0\n\t}\n\tif req.ContentLength != 0 {\n\t\treturn req.ContentLength\n\t}\n\treturn -1\n}\n\nfunc (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) {\n\tresp, _, err := cc.roundTrip(req)\n\treturn resp, err\n}\n\nfunc (cc *ClientConn) roundTrip(req *http.Request) (res *http.Response, gotErrAfterReqBodyWrite bool, err error) {\n\tif err := checkConnHeaders(req); err != nil {\n\t\treturn nil, false, err\n\t}\n\tif cc.idleTimer != nil {\n\t\tcc.idleTimer.Stop()\n\t}\n\n\ttrailers, err := commaSeparatedTrailers(req)\n\tif err != nil {\n\t\treturn nil, false, err\n\t}\n\thasTrailers := trailers != \"\"\n\n\tcc.mu.Lock()\n\tif err := cc.awaitOpenSlotForRequest(req); err != nil {\n\t\tcc.mu.Unlock()\n\t\treturn nil, false, err\n\t}\n\n\tbody := req.Body\n\tcontentLen := actualContentLength(req)\n\thasBody := contentLen != 0\n\n\t// TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere?\n\tvar requestedGzip bool\n\tif !cc.t.disableCompression() &&\n\t\treq.Header.Get(\"Accept-Encoding\") == \"\" &&\n\t\treq.Header.Get(\"Range\") == \"\" &&\n\t\treq.Method != \"HEAD\" {\n\t\t// Request gzip only, not deflate. Deflate is ambiguous and\n\t\t// not as universally supported anyway.\n\t\t// See: http://www.gzip.org/zlib/zlib_faq.html#faq38\n\t\t//\n\t\t// Note that we don't request this for HEAD requests,\n\t\t// due to a bug in nginx:\n\t\t//   http://trac.nginx.org/nginx/ticket/358\n\t\t//   https://golang.org/issue/5522\n\t\t//\n\t\t// We don't request gzip if the request is for a range, since\n\t\t// auto-decoding a portion of a gzipped document will just fail\n\t\t// anyway. See https://golang.org/issue/8923\n\t\trequestedGzip = true\n\t}\n\n\t// we send: HEADERS{1}, CONTINUATION{0,} + DATA{0,} (DATA is\n\t// sent by writeRequestBody below, along with any Trailers,\n\t// again in form HEADERS{1}, CONTINUATION{0,})\n\thdrs, err := cc.encodeHeaders(req, requestedGzip, trailers, contentLen)\n\tif err != nil {\n\t\tcc.mu.Unlock()\n\t\treturn nil, false, err\n\t}\n\n\tcs := cc.newStream()\n\tcs.req = req\n\tcs.trace = requestTrace(req)\n\tcs.requestedGzip = requestedGzip\n\tbodyWriter := cc.t.getBodyWriterState(cs, body)\n\tcs.on100 = bodyWriter.on100\n\n\tcc.wmu.Lock()\n\tendStream := !hasBody && !hasTrailers\n\twerr := cc.writeHeaders(cs.ID, endStream, int(cc.maxFrameSize), hdrs)\n\tcc.wmu.Unlock()\n\ttraceWroteHeaders(cs.trace)\n\tcc.mu.Unlock()\n\n\tif werr != nil {\n\t\tif hasBody {\n\t\t\treq.Body.Close() // per RoundTripper contract\n\t\t\tbodyWriter.cancel()\n\t\t}\n\t\tcc.forgetStreamID(cs.ID)\n\t\t// Don't bother sending a RST_STREAM (our write already failed;\n\t\t// no need to keep writing)\n\t\ttraceWroteRequest(cs.trace, werr)\n\t\treturn nil, false, werr\n\t}\n\n\tvar respHeaderTimer <-chan time.Time\n\tif hasBody {\n\t\tbodyWriter.scheduleBodyWrite()\n\t} else {\n\t\ttraceWroteRequest(cs.trace, nil)\n\t\tif d := cc.responseHeaderTimeout(); d != 0 {\n\t\t\ttimer := time.NewTimer(d)\n\t\t\tdefer timer.Stop()\n\t\t\trespHeaderTimer = timer.C\n\t\t}\n\t}\n\n\treadLoopResCh := cs.resc\n\tbodyWritten := false\n\tctx := reqContext(req)\n\n\thandleReadLoopResponse := func(re resAndError) (*http.Response, bool, error) {\n\t\tres := re.res\n\t\tif re.err != nil || res.StatusCode > 299 {\n\t\t\t// On error or status code 3xx, 4xx, 5xx, etc abort any\n\t\t\t// ongoing write, assuming that the server doesn't care\n\t\t\t// about our request body. If the server replied with 1xx or\n\t\t\t// 2xx, however, then assume the server DOES potentially\n\t\t\t// want our body (e.g. full-duplex streaming:\n\t\t\t// golang.org/issue/13444). If it turns out the server\n\t\t\t// doesn't, they'll RST_STREAM us soon enough. This is a\n\t\t\t// heuristic to avoid adding knobs to Transport. Hopefully\n\t\t\t// we can keep it.\n\t\t\tbodyWriter.cancel()\n\t\t\tcs.abortRequestBodyWrite(errStopReqBodyWrite)\n\t\t}\n\t\tif re.err != nil {\n\t\t\tcc.forgetStreamID(cs.ID)\n\t\t\treturn nil, cs.getStartedWrite(), re.err\n\t\t}\n\t\tres.Request = req\n\t\tres.TLS = cc.tlsState\n\t\treturn res, false, nil\n\t}\n\n\tfor {\n\t\tselect {\n\t\tcase re := <-readLoopResCh:\n\t\t\treturn handleReadLoopResponse(re)\n\t\tcase <-respHeaderTimer:\n\t\t\tif !hasBody || bodyWritten {\n\t\t\t\tcc.writeStreamReset(cs.ID, ErrCodeCancel, nil)\n\t\t\t} else {\n\t\t\t\tbodyWriter.cancel()\n\t\t\t\tcs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel)\n\t\t\t}\n\t\t\tcc.forgetStreamID(cs.ID)\n\t\t\treturn nil, cs.getStartedWrite(), errTimeout\n\t\tcase <-ctx.Done():\n\t\t\tif !hasBody || bodyWritten {\n\t\t\t\tcc.writeStreamReset(cs.ID, ErrCodeCancel, nil)\n\t\t\t} else {\n\t\t\t\tbodyWriter.cancel()\n\t\t\t\tcs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel)\n\t\t\t}\n\t\t\tcc.forgetStreamID(cs.ID)\n\t\t\treturn nil, cs.getStartedWrite(), ctx.Err()\n\t\tcase <-req.Cancel:\n\t\t\tif !hasBody || bodyWritten {\n\t\t\t\tcc.writeStreamReset(cs.ID, ErrCodeCancel, nil)\n\t\t\t} else {\n\t\t\t\tbodyWriter.cancel()\n\t\t\t\tcs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel)\n\t\t\t}\n\t\t\tcc.forgetStreamID(cs.ID)\n\t\t\treturn nil, cs.getStartedWrite(), errRequestCanceled\n\t\tcase <-cs.peerReset:\n\t\t\t// processResetStream already removed the\n\t\t\t// stream from the streams map; no need for\n\t\t\t// forgetStreamID.\n\t\t\treturn nil, cs.getStartedWrite(), cs.resetErr\n\t\tcase err := <-bodyWriter.resc:\n\t\t\t// Prefer the read loop's response, if available. Issue 16102.\n\t\t\tselect {\n\t\t\tcase re := <-readLoopResCh:\n\t\t\t\treturn handleReadLoopResponse(re)\n\t\t\tdefault:\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\treturn nil, cs.getStartedWrite(), err\n\t\t\t}\n\t\t\tbodyWritten = true\n\t\t\tif d := cc.responseHeaderTimeout(); d != 0 {\n\t\t\t\ttimer := time.NewTimer(d)\n\t\t\t\tdefer timer.Stop()\n\t\t\t\trespHeaderTimer = timer.C\n\t\t\t}\n\t\t}\n\t}\n}\n\n// awaitOpenSlotForRequest waits until len(streams) < maxConcurrentStreams.\n// Must hold cc.mu.\nfunc (cc *ClientConn) awaitOpenSlotForRequest(req *http.Request) error {\n\tvar waitingForConn chan struct{}\n\tvar waitingForConnErr error // guarded by cc.mu\n\tfor {\n\t\tcc.lastActive = time.Now()\n\t\tif cc.closed || !cc.canTakeNewRequestLocked() {\n\t\t\treturn errClientConnUnusable\n\t\t}\n\t\tif int64(len(cc.streams))+1 <= int64(cc.maxConcurrentStreams) {\n\t\t\tif waitingForConn != nil {\n\t\t\t\tclose(waitingForConn)\n\t\t\t}\n\t\t\treturn nil\n\t\t}\n\t\t// Unfortunately, we cannot wait on a condition variable and channel at\n\t\t// the same time, so instead, we spin up a goroutine to check if the\n\t\t// request is canceled while we wait for a slot to open in the connection.\n\t\tif waitingForConn == nil {\n\t\t\twaitingForConn = make(chan struct{})\n\t\t\tgo func() {\n\t\t\t\tif err := awaitRequestCancel(req, waitingForConn); err != nil {\n\t\t\t\t\tcc.mu.Lock()\n\t\t\t\t\twaitingForConnErr = err\n\t\t\t\t\tcc.cond.Broadcast()\n\t\t\t\t\tcc.mu.Unlock()\n\t\t\t\t}\n\t\t\t}()\n\t\t}\n\t\tcc.pendingRequests++\n\t\tcc.cond.Wait()\n\t\tcc.pendingRequests--\n\t\tif waitingForConnErr != nil {\n\t\t\treturn waitingForConnErr\n\t\t}\n\t}\n}\n\n// requires cc.wmu be held\nfunc (cc *ClientConn) writeHeaders(streamID uint32, endStream bool, maxFrameSize int, hdrs []byte) error {\n\tfirst := true // first frame written (HEADERS is first, then CONTINUATION)\n\tfor len(hdrs) > 0 && cc.werr == nil {\n\t\tchunk := hdrs\n\t\tif len(chunk) > maxFrameSize {\n\t\t\tchunk = chunk[:maxFrameSize]\n\t\t}\n\t\thdrs = hdrs[len(chunk):]\n\t\tendHeaders := len(hdrs) == 0\n\t\tif first {\n\t\t\tcc.fr.WriteHeaders(HeadersFrameParam{\n\t\t\t\tStreamID:      streamID,\n\t\t\t\tBlockFragment: chunk,\n\t\t\t\tEndStream:     endStream,\n\t\t\t\tEndHeaders:    endHeaders,\n\t\t\t})\n\t\t\tfirst = false\n\t\t} else {\n\t\t\tcc.fr.WriteContinuation(streamID, endHeaders, chunk)\n\t\t}\n\t}\n\t// TODO(bradfitz): this Flush could potentially block (as\n\t// could the WriteHeaders call(s) above), which means they\n\t// wouldn't respond to Request.Cancel being readable. That's\n\t// rare, but this should probably be in a goroutine.\n\tcc.bw.Flush()\n\treturn cc.werr\n}\n\n// internal error values; they don't escape to callers\nvar (\n\t// abort request body write; don't send cancel\n\terrStopReqBodyWrite = errors.New(\"http2: aborting request body write\")\n\n\t// abort request body write, but send stream reset of cancel.\n\terrStopReqBodyWriteAndCancel = errors.New(\"http2: canceling request\")\n)\n\nfunc (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) (err error) {\n\tcc := cs.cc\n\tsentEnd := false // whether we sent the final DATA frame w/ END_STREAM\n\tbuf := cc.frameScratchBuffer()\n\tdefer cc.putFrameScratchBuffer(buf)\n\n\tdefer func() {\n\t\ttraceWroteRequest(cs.trace, err)\n\t\t// TODO: write h12Compare test showing whether\n\t\t// Request.Body is closed by the Transport,\n\t\t// and in multiple cases: server replies <=299 and >299\n\t\t// while still writing request body\n\t\tcerr := bodyCloser.Close()\n\t\tif err == nil {\n\t\t\terr = cerr\n\t\t}\n\t}()\n\n\treq := cs.req\n\thasTrailers := req.Trailer != nil\n\n\tvar sawEOF bool\n\tfor !sawEOF {\n\t\tn, err := body.Read(buf)\n\t\tif err == io.EOF {\n\t\t\tsawEOF = true\n\t\t\terr = nil\n\t\t} else if err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tremain := buf[:n]\n\t\tfor len(remain) > 0 && err == nil {\n\t\t\tvar allowed int32\n\t\t\tallowed, err = cs.awaitFlowControl(len(remain))\n\t\t\tswitch {\n\t\t\tcase err == errStopReqBodyWrite:\n\t\t\t\treturn err\n\t\t\tcase err == errStopReqBodyWriteAndCancel:\n\t\t\t\tcc.writeStreamReset(cs.ID, ErrCodeCancel, nil)\n\t\t\t\treturn err\n\t\t\tcase err != nil:\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcc.wmu.Lock()\n\t\t\tdata := remain[:allowed]\n\t\t\tremain = remain[allowed:]\n\t\t\tsentEnd = sawEOF && len(remain) == 0 && !hasTrailers\n\t\t\terr = cc.fr.WriteData(cs.ID, sentEnd, data)\n\t\t\tif err == nil {\n\t\t\t\t// TODO(bradfitz): this flush is for latency, not bandwidth.\n\t\t\t\t// Most requests won't need this. Make this opt-in or\n\t\t\t\t// opt-out?  Use some heuristic on the body type? Nagel-like\n\t\t\t\t// timers?  Based on 'n'? Only last chunk of this for loop,\n\t\t\t\t// unless flow control tokens are low? For now, always.\n\t\t\t\t// If we change this, see comment below.\n\t\t\t\terr = cc.bw.Flush()\n\t\t\t}\n\t\t\tcc.wmu.Unlock()\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tif sentEnd {\n\t\t// Already sent END_STREAM (which implies we have no\n\t\t// trailers) and flushed, because currently all\n\t\t// WriteData frames above get a flush. So we're done.\n\t\treturn nil\n\t}\n\n\tvar trls []byte\n\tif hasTrailers {\n\t\tcc.mu.Lock()\n\t\ttrls, err = cc.encodeTrailers(req)\n\t\tcc.mu.Unlock()\n\t\tif err != nil {\n\t\t\tcc.writeStreamReset(cs.ID, ErrCodeInternal, err)\n\t\t\tcc.forgetStreamID(cs.ID)\n\t\t\treturn err\n\t\t}\n\t}\n\n\tcc.mu.Lock()\n\tmaxFrameSize := int(cc.maxFrameSize)\n\tcc.mu.Unlock()\n\n\tcc.wmu.Lock()\n\tdefer cc.wmu.Unlock()\n\n\t// Two ways to send END_STREAM: either with trailers, or\n\t// with an empty DATA frame.\n\tif len(trls) > 0 {\n\t\terr = cc.writeHeaders(cs.ID, true, maxFrameSize, trls)\n\t} else {\n\t\terr = cc.fr.WriteData(cs.ID, true, nil)\n\t}\n\tif ferr := cc.bw.Flush(); ferr != nil && err == nil {\n\t\terr = ferr\n\t}\n\treturn err\n}\n\n// awaitFlowControl waits for [1, min(maxBytes, cc.cs.maxFrameSize)] flow\n// control tokens from the server.\n// It returns either the non-zero number of tokens taken or an error\n// if the stream is dead.\nfunc (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error) {\n\tcc := cs.cc\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\tfor {\n\t\tif cc.closed {\n\t\t\treturn 0, errClientConnClosed\n\t\t}\n\t\tif cs.stopReqBody != nil {\n\t\t\treturn 0, cs.stopReqBody\n\t\t}\n\t\tif err := cs.checkResetOrDone(); err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\tif a := cs.flow.available(); a > 0 {\n\t\t\ttake := a\n\t\t\tif int(take) > maxBytes {\n\n\t\t\t\ttake = int32(maxBytes) // can't truncate int; take is int32\n\t\t\t}\n\t\t\tif take > int32(cc.maxFrameSize) {\n\t\t\t\ttake = int32(cc.maxFrameSize)\n\t\t\t}\n\t\t\tcs.flow.take(take)\n\t\t\treturn take, nil\n\t\t}\n\t\tcc.cond.Wait()\n\t}\n}\n\ntype badStringError struct {\n\twhat string\n\tstr  string\n}\n\nfunc (e *badStringError) Error() string { return fmt.Sprintf(\"%s %q\", e.what, e.str) }\n\n// requires cc.mu be held.\nfunc (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trailers string, contentLength int64) ([]byte, error) {\n\tcc.hbuf.Reset()\n\n\thost := req.Host\n\tif host == \"\" {\n\t\thost = req.URL.Host\n\t}\n\thost, err := httplex.PunycodeHostPort(host)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar path string\n\tif req.Method != \"CONNECT\" {\n\t\tpath = req.URL.RequestURI()\n\t\tif !validPseudoPath(path) {\n\t\t\torig := path\n\t\t\tpath = strings.TrimPrefix(path, req.URL.Scheme+\"://\"+host)\n\t\t\tif !validPseudoPath(path) {\n\t\t\t\tif req.URL.Opaque != \"\" {\n\t\t\t\t\treturn nil, fmt.Errorf(\"invalid request :path %q from URL.Opaque = %q\", orig, req.URL.Opaque)\n\t\t\t\t} else {\n\t\t\t\t\treturn nil, fmt.Errorf(\"invalid request :path %q\", orig)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check for any invalid headers and return an error before we\n\t// potentially pollute our hpack state. (We want to be able to\n\t// continue to reuse the hpack encoder for future requests)\n\tfor k, vv := range req.Header {\n\t\tif !httplex.ValidHeaderFieldName(k) {\n\t\t\treturn nil, fmt.Errorf(\"invalid HTTP header name %q\", k)\n\t\t}\n\t\tfor _, v := range vv {\n\t\t\tif !httplex.ValidHeaderFieldValue(v) {\n\t\t\t\treturn nil, fmt.Errorf(\"invalid HTTP header value %q for header %q\", v, k)\n\t\t\t}\n\t\t}\n\t}\n\n\tenumerateHeaders := func(f func(name, value string)) {\n\t\t// 8.1.2.3 Request Pseudo-Header Fields\n\t\t// The :path pseudo-header field includes the path and query parts of the\n\t\t// target URI (the path-absolute production and optionally a '?' character\n\t\t// followed by the query production (see Sections 3.3 and 3.4 of\n\t\t// [RFC3986]).\n\t\tf(\":authority\", host)\n\t\tf(\":method\", req.Method)\n\t\tif req.Method != \"CONNECT\" {\n\t\t\tf(\":path\", path)\n\t\t\tf(\":scheme\", req.URL.Scheme)\n\t\t}\n\t\tif trailers != \"\" {\n\t\t\tf(\"trailer\", trailers)\n\t\t}\n\n\t\tvar didUA bool\n\t\tfor k, vv := range req.Header {\n\t\t\tif strings.EqualFold(k, \"host\") || strings.EqualFold(k, \"content-length\") {\n\t\t\t\t// Host is :authority, already sent.\n\t\t\t\t// Content-Length is automatic, set below.\n\t\t\t\tcontinue\n\t\t\t} else if strings.EqualFold(k, \"connection\") || strings.EqualFold(k, \"proxy-connection\") ||\n\t\t\t\tstrings.EqualFold(k, \"transfer-encoding\") || strings.EqualFold(k, \"upgrade\") ||\n\t\t\t\tstrings.EqualFold(k, \"keep-alive\") {\n\t\t\t\t// Per 8.1.2.2 Connection-Specific Header\n\t\t\t\t// Fields, don't send connection-specific\n\t\t\t\t// fields. We have already checked if any\n\t\t\t\t// are error-worthy so just ignore the rest.\n\t\t\t\tcontinue\n\t\t\t} else if strings.EqualFold(k, \"user-agent\") {\n\t\t\t\t// Match Go's http1 behavior: at most one\n\t\t\t\t// User-Agent. If set to nil or empty string,\n\t\t\t\t// then omit it. Otherwise if not mentioned,\n\t\t\t\t// include the default (below).\n\t\t\t\tdidUA = true\n\t\t\t\tif len(vv) < 1 {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tvv = vv[:1]\n\t\t\t\tif vv[0] == \"\" {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tfor _, v := range vv {\n\t\t\t\tf(k, v)\n\t\t\t}\n\t\t}\n\t\tif shouldSendReqContentLength(req.Method, contentLength) {\n\t\t\tf(\"content-length\", strconv.FormatInt(contentLength, 10))\n\t\t}\n\t\tif addGzipHeader {\n\t\t\tf(\"accept-encoding\", \"gzip\")\n\t\t}\n\t\tif !didUA {\n\t\t\tf(\"user-agent\", defaultUserAgent)\n\t\t}\n\t}\n\n\t// Do a first pass over the headers counting bytes to ensure\n\t// we don't exceed cc.peerMaxHeaderListSize. This is done as a\n\t// separate pass before encoding the headers to prevent\n\t// modifying the hpack state.\n\thlSize := uint64(0)\n\tenumerateHeaders(func(name, value string) {\n\t\thf := hpack.HeaderField{Name: name, Value: value}\n\t\thlSize += uint64(hf.Size())\n\t})\n\n\tif hlSize > cc.peerMaxHeaderListSize {\n\t\treturn nil, errRequestHeaderListSize\n\t}\n\n\t// Header list size is ok. Write the headers.\n\tenumerateHeaders(func(name, value string) {\n\t\tcc.writeHeader(strings.ToLower(name), value)\n\t})\n\n\treturn cc.hbuf.Bytes(), nil\n}\n\n// shouldSendReqContentLength reports whether the http2.Transport should send\n// a \"content-length\" request header. This logic is basically a copy of the net/http\n// transferWriter.shouldSendContentLength.\n// The contentLength is the corrected contentLength (so 0 means actually 0, not unknown).\n// -1 means unknown.\nfunc shouldSendReqContentLength(method string, contentLength int64) bool {\n\tif contentLength > 0 {\n\t\treturn true\n\t}\n\tif contentLength < 0 {\n\t\treturn false\n\t}\n\t// For zero bodies, whether we send a content-length depends on the method.\n\t// It also kinda doesn't matter for http2 either way, with END_STREAM.\n\tswitch method {\n\tcase \"POST\", \"PUT\", \"PATCH\":\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n\n// requires cc.mu be held.\nfunc (cc *ClientConn) encodeTrailers(req *http.Request) ([]byte, error) {\n\tcc.hbuf.Reset()\n\n\thlSize := uint64(0)\n\tfor k, vv := range req.Trailer {\n\t\tfor _, v := range vv {\n\t\t\thf := hpack.HeaderField{Name: k, Value: v}\n\t\t\thlSize += uint64(hf.Size())\n\t\t}\n\t}\n\tif hlSize > cc.peerMaxHeaderListSize {\n\t\treturn nil, errRequestHeaderListSize\n\t}\n\n\tfor k, vv := range req.Trailer {\n\t\t// Transfer-Encoding, etc.. have already been filtered at the\n\t\t// start of RoundTrip\n\t\tlowKey := strings.ToLower(k)\n\t\tfor _, v := range vv {\n\t\t\tcc.writeHeader(lowKey, v)\n\t\t}\n\t}\n\treturn cc.hbuf.Bytes(), nil\n}\n\nfunc (cc *ClientConn) writeHeader(name, value string) {\n\tif VerboseLogs {\n\t\tlog.Printf(\"http2: Transport encoding header %q = %q\", name, value)\n\t}\n\tcc.henc.WriteField(hpack.HeaderField{Name: name, Value: value})\n}\n\ntype resAndError struct {\n\tres *http.Response\n\terr error\n}\n\n// requires cc.mu be held.\nfunc (cc *ClientConn) newStream() *clientStream {\n\tcs := &clientStream{\n\t\tcc:        cc,\n\t\tID:        cc.nextStreamID,\n\t\tresc:      make(chan resAndError, 1),\n\t\tpeerReset: make(chan struct{}),\n\t\tdone:      make(chan struct{}),\n\t}\n\tcs.flow.add(int32(cc.initialWindowSize))\n\tcs.flow.setConnFlow(&cc.flow)\n\tcs.inflow.add(transportDefaultStreamFlow)\n\tcs.inflow.setConnFlow(&cc.inflow)\n\tcc.nextStreamID += 2\n\tcc.streams[cs.ID] = cs\n\treturn cs\n}\n\nfunc (cc *ClientConn) forgetStreamID(id uint32) {\n\tcc.streamByID(id, true)\n}\n\nfunc (cc *ClientConn) streamByID(id uint32, andRemove bool) *clientStream {\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\tcs := cc.streams[id]\n\tif andRemove && cs != nil && !cc.closed {\n\t\tcc.lastActive = time.Now()\n\t\tdelete(cc.streams, id)\n\t\tif len(cc.streams) == 0 && cc.idleTimer != nil {\n\t\t\tcc.idleTimer.Reset(cc.idleTimeout)\n\t\t}\n\t\tclose(cs.done)\n\t\t// Wake up checkResetOrDone via clientStream.awaitFlowControl and\n\t\t// wake up RoundTrip if there is a pending request.\n\t\tcc.cond.Broadcast()\n\t}\n\treturn cs\n}\n\n// clientConnReadLoop is the state owned by the clientConn's frame-reading readLoop.\ntype clientConnReadLoop struct {\n\tcc            *ClientConn\n\tcloseWhenIdle bool\n}\n\n// readLoop runs in its own goroutine and reads and dispatches frames.\nfunc (cc *ClientConn) readLoop() {\n\trl := &clientConnReadLoop{cc: cc}\n\tdefer rl.cleanup()\n\tcc.readerErr = rl.run()\n\tif ce, ok := cc.readerErr.(ConnectionError); ok {\n\t\tcc.wmu.Lock()\n\t\tcc.fr.WriteGoAway(0, ErrCode(ce), nil)\n\t\tcc.wmu.Unlock()\n\t}\n}\n\n// GoAwayError is returned by the Transport when the server closes the\n// TCP connection after sending a GOAWAY frame.\ntype GoAwayError struct {\n\tLastStreamID uint32\n\tErrCode      ErrCode\n\tDebugData    string\n}\n\nfunc (e GoAwayError) Error() string {\n\treturn fmt.Sprintf(\"http2: server sent GOAWAY and closed the connection; LastStreamID=%v, ErrCode=%v, debug=%q\",\n\t\te.LastStreamID, e.ErrCode, e.DebugData)\n}\n\nfunc isEOFOrNetReadError(err error) bool {\n\tif err == io.EOF {\n\t\treturn true\n\t}\n\tne, ok := err.(*net.OpError)\n\treturn ok && ne.Op == \"read\"\n}\n\nfunc (rl *clientConnReadLoop) cleanup() {\n\tcc := rl.cc\n\tdefer cc.tconn.Close()\n\tdefer cc.t.connPool().MarkDead(cc)\n\tdefer close(cc.readerDone)\n\n\tif cc.idleTimer != nil {\n\t\tcc.idleTimer.Stop()\n\t}\n\n\t// Close any response bodies if the server closes prematurely.\n\t// TODO: also do this if we've written the headers but not\n\t// gotten a response yet.\n\terr := cc.readerErr\n\tcc.mu.Lock()\n\tif cc.goAway != nil && isEOFOrNetReadError(err) {\n\t\terr = GoAwayError{\n\t\t\tLastStreamID: cc.goAway.LastStreamID,\n\t\t\tErrCode:      cc.goAway.ErrCode,\n\t\t\tDebugData:    cc.goAwayDebug,\n\t\t}\n\t} else if err == io.EOF {\n\t\terr = io.ErrUnexpectedEOF\n\t}\n\tfor _, cs := range cc.streams {\n\t\tcs.bufPipe.CloseWithError(err) // no-op if already closed\n\t\tselect {\n\t\tcase cs.resc <- resAndError{err: err}:\n\t\tdefault:\n\t\t}\n\t\tclose(cs.done)\n\t}\n\tcc.closed = true\n\tcc.cond.Broadcast()\n\tcc.mu.Unlock()\n}\n\nfunc (rl *clientConnReadLoop) run() error {\n\tcc := rl.cc\n\trl.closeWhenIdle = cc.t.disableKeepAlives() || cc.singleUse\n\tgotReply := false // ever saw a HEADERS reply\n\tgotSettings := false\n\tfor {\n\t\tf, err := cc.fr.ReadFrame()\n\t\tif err != nil {\n\t\t\tcc.vlogf(\"http2: Transport readFrame error on conn %p: (%T) %v\", cc, err, err)\n\t\t}\n\t\tif se, ok := err.(StreamError); ok {\n\t\t\tif cs := cc.streamByID(se.StreamID, false); cs != nil {\n\t\t\t\tcs.cc.writeStreamReset(cs.ID, se.Code, err)\n\t\t\t\tcs.cc.forgetStreamID(cs.ID)\n\t\t\t\tif se.Cause == nil {\n\t\t\t\t\tse.Cause = cc.fr.errDetail\n\t\t\t\t}\n\t\t\t\trl.endStreamError(cs, se)\n\t\t\t}\n\t\t\tcontinue\n\t\t} else if err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif VerboseLogs {\n\t\t\tcc.vlogf(\"http2: Transport received %s\", summarizeFrame(f))\n\t\t}\n\t\tif !gotSettings {\n\t\t\tif _, ok := f.(*SettingsFrame); !ok {\n\t\t\t\tcc.logf(\"protocol error: received %T before a SETTINGS frame\", f)\n\t\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t\t}\n\t\t\tgotSettings = true\n\t\t}\n\t\tmaybeIdle := false // whether frame might transition us to idle\n\n\t\tswitch f := f.(type) {\n\t\tcase *MetaHeadersFrame:\n\t\t\terr = rl.processHeaders(f)\n\t\t\tmaybeIdle = true\n\t\t\tgotReply = true\n\t\tcase *DataFrame:\n\t\t\terr = rl.processData(f)\n\t\t\tmaybeIdle = true\n\t\tcase *GoAwayFrame:\n\t\t\terr = rl.processGoAway(f)\n\t\t\tmaybeIdle = true\n\t\tcase *RSTStreamFrame:\n\t\t\terr = rl.processResetStream(f)\n\t\t\tmaybeIdle = true\n\t\tcase *SettingsFrame:\n\t\t\terr = rl.processSettings(f)\n\t\tcase *PushPromiseFrame:\n\t\t\terr = rl.processPushPromise(f)\n\t\tcase *WindowUpdateFrame:\n\t\t\terr = rl.processWindowUpdate(f)\n\t\tcase *PingFrame:\n\t\t\terr = rl.processPing(f)\n\t\tdefault:\n\t\t\tcc.logf(\"Transport: unhandled response frame type %T\", f)\n\t\t}\n\t\tif err != nil {\n\t\t\tif VerboseLogs {\n\t\t\t\tcc.vlogf(\"http2: Transport conn %p received error from processing frame %v: %v\", cc, summarizeFrame(f), err)\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\t\tif rl.closeWhenIdle && gotReply && maybeIdle {\n\t\t\tcc.closeIfIdle()\n\t\t}\n\t}\n}\n\nfunc (rl *clientConnReadLoop) processHeaders(f *MetaHeadersFrame) error {\n\tcc := rl.cc\n\tcs := cc.streamByID(f.StreamID, false)\n\tif cs == nil {\n\t\t// We'd get here if we canceled a request while the\n\t\t// server had its response still in flight. So if this\n\t\t// was just something we canceled, ignore it.\n\t\treturn nil\n\t}\n\tif f.StreamEnded() {\n\t\t// Issue 20521: If the stream has ended, streamByID() causes\n\t\t// clientStream.done to be closed, which causes the request's bodyWriter\n\t\t// to be closed with an errStreamClosed, which may be received by\n\t\t// clientConn.RoundTrip before the result of processing these headers.\n\t\t// Deferring stream closure allows the header processing to occur first.\n\t\t// clientConn.RoundTrip may still receive the bodyWriter error first, but\n\t\t// the fix for issue 16102 prioritises any response.\n\t\t//\n\t\t// Issue 22413: If there is no request body, we should close the\n\t\t// stream before writing to cs.resc so that the stream is closed\n\t\t// immediately once RoundTrip returns.\n\t\tif cs.req.Body != nil {\n\t\t\tdefer cc.forgetStreamID(f.StreamID)\n\t\t} else {\n\t\t\tcc.forgetStreamID(f.StreamID)\n\t\t}\n\t}\n\tif !cs.firstByte {\n\t\tif cs.trace != nil {\n\t\t\t// TODO(bradfitz): move first response byte earlier,\n\t\t\t// when we first read the 9 byte header, not waiting\n\t\t\t// until all the HEADERS+CONTINUATION frames have been\n\t\t\t// merged. This works for now.\n\t\t\ttraceFirstResponseByte(cs.trace)\n\t\t}\n\t\tcs.firstByte = true\n\t}\n\tif !cs.pastHeaders {\n\t\tcs.pastHeaders = true\n\t} else {\n\t\treturn rl.processTrailers(cs, f)\n\t}\n\n\tres, err := rl.handleResponse(cs, f)\n\tif err != nil {\n\t\tif _, ok := err.(ConnectionError); ok {\n\t\t\treturn err\n\t\t}\n\t\t// Any other error type is a stream error.\n\t\tcs.cc.writeStreamReset(f.StreamID, ErrCodeProtocol, err)\n\t\tcc.forgetStreamID(cs.ID)\n\t\tcs.resc <- resAndError{err: err}\n\t\treturn nil // return nil from process* funcs to keep conn alive\n\t}\n\tif res == nil {\n\t\t// (nil, nil) special case. See handleResponse docs.\n\t\treturn nil\n\t}\n\tcs.resTrailer = &res.Trailer\n\tcs.resc <- resAndError{res: res}\n\treturn nil\n}\n\n// may return error types nil, or ConnectionError. Any other error value\n// is a StreamError of type ErrCodeProtocol. The returned error in that case\n// is the detail.\n//\n// As a special case, handleResponse may return (nil, nil) to skip the\n// frame (currently only used for 100 expect continue). This special\n// case is going away after Issue 13851 is fixed.\nfunc (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFrame) (*http.Response, error) {\n\tif f.Truncated {\n\t\treturn nil, errResponseHeaderListSize\n\t}\n\n\tstatus := f.PseudoValue(\"status\")\n\tif status == \"\" {\n\t\treturn nil, errors.New(\"malformed response from server: missing status pseudo header\")\n\t}\n\tstatusCode, err := strconv.Atoi(status)\n\tif err != nil {\n\t\treturn nil, errors.New(\"malformed response from server: malformed non-numeric status pseudo header\")\n\t}\n\n\tif statusCode == 100 {\n\t\ttraceGot100Continue(cs.trace)\n\t\tif cs.on100 != nil {\n\t\t\tcs.on100() // forces any write delay timer to fire\n\t\t}\n\t\tcs.pastHeaders = false // do it all again\n\t\treturn nil, nil\n\t}\n\n\theader := make(http.Header)\n\tres := &http.Response{\n\t\tProto:      \"HTTP/2.0\",\n\t\tProtoMajor: 2,\n\t\tHeader:     header,\n\t\tStatusCode: statusCode,\n\t\tStatus:     status + \" \" + http.StatusText(statusCode),\n\t}\n\tfor _, hf := range f.RegularFields() {\n\t\tkey := http.CanonicalHeaderKey(hf.Name)\n\t\tif key == \"Trailer\" {\n\t\t\tt := res.Trailer\n\t\t\tif t == nil {\n\t\t\t\tt = make(http.Header)\n\t\t\t\tres.Trailer = t\n\t\t\t}\n\t\t\tforeachHeaderElement(hf.Value, func(v string) {\n\t\t\t\tt[http.CanonicalHeaderKey(v)] = nil\n\t\t\t})\n\t\t} else {\n\t\t\theader[key] = append(header[key], hf.Value)\n\t\t}\n\t}\n\n\tstreamEnded := f.StreamEnded()\n\tisHead := cs.req.Method == \"HEAD\"\n\tif !streamEnded || isHead {\n\t\tres.ContentLength = -1\n\t\tif clens := res.Header[\"Content-Length\"]; len(clens) == 1 {\n\t\t\tif clen64, err := strconv.ParseInt(clens[0], 10, 64); err == nil {\n\t\t\t\tres.ContentLength = clen64\n\t\t\t} else {\n\t\t\t\t// TODO: care? unlike http/1, it won't mess up our framing, so it's\n\t\t\t\t// more safe smuggling-wise to ignore.\n\t\t\t}\n\t\t} else if len(clens) > 1 {\n\t\t\t// TODO: care? unlike http/1, it won't mess up our framing, so it's\n\t\t\t// more safe smuggling-wise to ignore.\n\t\t}\n\t}\n\n\tif streamEnded || isHead {\n\t\tres.Body = noBody\n\t\treturn res, nil\n\t}\n\n\tcs.bufPipe = pipe{b: &dataBuffer{expected: res.ContentLength}}\n\tcs.bytesRemain = res.ContentLength\n\tres.Body = transportResponseBody{cs}\n\tgo cs.awaitRequestCancel(cs.req)\n\n\tif cs.requestedGzip && res.Header.Get(\"Content-Encoding\") == \"gzip\" {\n\t\tres.Header.Del(\"Content-Encoding\")\n\t\tres.Header.Del(\"Content-Length\")\n\t\tres.ContentLength = -1\n\t\tres.Body = &gzipReader{body: res.Body}\n\t\tsetResponseUncompressed(res)\n\t}\n\treturn res, nil\n}\n\nfunc (rl *clientConnReadLoop) processTrailers(cs *clientStream, f *MetaHeadersFrame) error {\n\tif cs.pastTrailers {\n\t\t// Too many HEADERS frames for this stream.\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tcs.pastTrailers = true\n\tif !f.StreamEnded() {\n\t\t// We expect that any headers for trailers also\n\t\t// has END_STREAM.\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tif len(f.PseudoFields()) > 0 {\n\t\t// No pseudo header fields are defined for trailers.\n\t\t// TODO: ConnectionError might be overly harsh? Check.\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\n\ttrailer := make(http.Header)\n\tfor _, hf := range f.RegularFields() {\n\t\tkey := http.CanonicalHeaderKey(hf.Name)\n\t\ttrailer[key] = append(trailer[key], hf.Value)\n\t}\n\tcs.trailer = trailer\n\n\trl.endStream(cs)\n\treturn nil\n}\n\n// transportResponseBody is the concrete type of Transport.RoundTrip's\n// Response.Body. It is an io.ReadCloser. On Read, it reads from cs.body.\n// On Close it sends RST_STREAM if EOF wasn't already seen.\ntype transportResponseBody struct {\n\tcs *clientStream\n}\n\nfunc (b transportResponseBody) Read(p []byte) (n int, err error) {\n\tcs := b.cs\n\tcc := cs.cc\n\n\tif cs.readErr != nil {\n\t\treturn 0, cs.readErr\n\t}\n\tn, err = b.cs.bufPipe.Read(p)\n\tif cs.bytesRemain != -1 {\n\t\tif int64(n) > cs.bytesRemain {\n\t\t\tn = int(cs.bytesRemain)\n\t\t\tif err == nil {\n\t\t\t\terr = errors.New(\"net/http: server replied with more than declared Content-Length; truncated\")\n\t\t\t\tcc.writeStreamReset(cs.ID, ErrCodeProtocol, err)\n\t\t\t}\n\t\t\tcs.readErr = err\n\t\t\treturn int(cs.bytesRemain), err\n\t\t}\n\t\tcs.bytesRemain -= int64(n)\n\t\tif err == io.EOF && cs.bytesRemain > 0 {\n\t\t\terr = io.ErrUnexpectedEOF\n\t\t\tcs.readErr = err\n\t\t\treturn n, err\n\t\t}\n\t}\n\tif n == 0 {\n\t\t// No flow control tokens to send back.\n\t\treturn\n\t}\n\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\n\tvar connAdd, streamAdd int32\n\t// Check the conn-level first, before the stream-level.\n\tif v := cc.inflow.available(); v < transportDefaultConnFlow/2 {\n\t\tconnAdd = transportDefaultConnFlow - v\n\t\tcc.inflow.add(connAdd)\n\t}\n\tif err == nil { // No need to refresh if the stream is over or failed.\n\t\t// Consider any buffered body data (read from the conn but not\n\t\t// consumed by the client) when computing flow control for this\n\t\t// stream.\n\t\tv := int(cs.inflow.available()) + cs.bufPipe.Len()\n\t\tif v < transportDefaultStreamFlow-transportDefaultStreamMinRefresh {\n\t\t\tstreamAdd = int32(transportDefaultStreamFlow - v)\n\t\t\tcs.inflow.add(streamAdd)\n\t\t}\n\t}\n\tif connAdd != 0 || streamAdd != 0 {\n\t\tcc.wmu.Lock()\n\t\tdefer cc.wmu.Unlock()\n\t\tif connAdd != 0 {\n\t\t\tcc.fr.WriteWindowUpdate(0, mustUint31(connAdd))\n\t\t}\n\t\tif streamAdd != 0 {\n\t\t\tcc.fr.WriteWindowUpdate(cs.ID, mustUint31(streamAdd))\n\t\t}\n\t\tcc.bw.Flush()\n\t}\n\treturn\n}\n\nvar errClosedResponseBody = errors.New(\"http2: response body closed\")\n\nfunc (b transportResponseBody) Close() error {\n\tcs := b.cs\n\tcc := cs.cc\n\n\tserverSentStreamEnd := cs.bufPipe.Err() == io.EOF\n\tunread := cs.bufPipe.Len()\n\n\tif unread > 0 || !serverSentStreamEnd {\n\t\tcc.mu.Lock()\n\t\tcc.wmu.Lock()\n\t\tif !serverSentStreamEnd {\n\t\t\tcc.fr.WriteRSTStream(cs.ID, ErrCodeCancel)\n\t\t\tcs.didReset = true\n\t\t}\n\t\t// Return connection-level flow control.\n\t\tif unread > 0 {\n\t\t\tcc.inflow.add(int32(unread))\n\t\t\tcc.fr.WriteWindowUpdate(0, uint32(unread))\n\t\t}\n\t\tcc.bw.Flush()\n\t\tcc.wmu.Unlock()\n\t\tcc.mu.Unlock()\n\t}\n\n\tcs.bufPipe.BreakWithError(errClosedResponseBody)\n\tcc.forgetStreamID(cs.ID)\n\treturn nil\n}\n\nfunc (rl *clientConnReadLoop) processData(f *DataFrame) error {\n\tcc := rl.cc\n\tcs := cc.streamByID(f.StreamID, f.StreamEnded())\n\tdata := f.Data()\n\tif cs == nil {\n\t\tcc.mu.Lock()\n\t\tneverSent := cc.nextStreamID\n\t\tcc.mu.Unlock()\n\t\tif f.StreamID >= neverSent {\n\t\t\t// We never asked for this.\n\t\t\tcc.logf(\"http2: Transport received unsolicited DATA frame; closing connection\")\n\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t}\n\t\t// We probably did ask for this, but canceled. Just ignore it.\n\t\t// TODO: be stricter here? only silently ignore things which\n\t\t// we canceled, but not things which were closed normally\n\t\t// by the peer? Tough without accumulating too much state.\n\n\t\t// But at least return their flow control:\n\t\tif f.Length > 0 {\n\t\t\tcc.mu.Lock()\n\t\t\tcc.inflow.add(int32(f.Length))\n\t\t\tcc.mu.Unlock()\n\n\t\t\tcc.wmu.Lock()\n\t\t\tcc.fr.WriteWindowUpdate(0, uint32(f.Length))\n\t\t\tcc.bw.Flush()\n\t\t\tcc.wmu.Unlock()\n\t\t}\n\t\treturn nil\n\t}\n\tif !cs.firstByte {\n\t\tcc.logf(\"protocol error: received DATA before a HEADERS frame\")\n\t\trl.endStreamError(cs, StreamError{\n\t\t\tStreamID: f.StreamID,\n\t\t\tCode:     ErrCodeProtocol,\n\t\t})\n\t\treturn nil\n\t}\n\tif f.Length > 0 {\n\t\tif cs.req.Method == \"HEAD\" && len(data) > 0 {\n\t\t\tcc.logf(\"protocol error: received DATA on a HEAD request\")\n\t\t\trl.endStreamError(cs, StreamError{\n\t\t\t\tStreamID: f.StreamID,\n\t\t\t\tCode:     ErrCodeProtocol,\n\t\t\t})\n\t\t\treturn nil\n\t\t}\n\t\t// Check connection-level flow control.\n\t\tcc.mu.Lock()\n\t\tif cs.inflow.available() >= int32(f.Length) {\n\t\t\tcs.inflow.take(int32(f.Length))\n\t\t} else {\n\t\t\tcc.mu.Unlock()\n\t\t\treturn ConnectionError(ErrCodeFlowControl)\n\t\t}\n\t\t// Return any padded flow control now, since we won't\n\t\t// refund it later on body reads.\n\t\tvar refund int\n\t\tif pad := int(f.Length) - len(data); pad > 0 {\n\t\t\trefund += pad\n\t\t}\n\t\t// Return len(data) now if the stream is already closed,\n\t\t// since data will never be read.\n\t\tdidReset := cs.didReset\n\t\tif didReset {\n\t\t\trefund += len(data)\n\t\t}\n\t\tif refund > 0 {\n\t\t\tcc.inflow.add(int32(refund))\n\t\t\tcc.wmu.Lock()\n\t\t\tcc.fr.WriteWindowUpdate(0, uint32(refund))\n\t\t\tif !didReset {\n\t\t\t\tcs.inflow.add(int32(refund))\n\t\t\t\tcc.fr.WriteWindowUpdate(cs.ID, uint32(refund))\n\t\t\t}\n\t\t\tcc.bw.Flush()\n\t\t\tcc.wmu.Unlock()\n\t\t}\n\t\tcc.mu.Unlock()\n\n\t\tif len(data) > 0 && !didReset {\n\t\t\tif _, err := cs.bufPipe.Write(data); err != nil {\n\t\t\t\trl.endStreamError(cs, err)\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t}\n\n\tif f.StreamEnded() {\n\t\trl.endStream(cs)\n\t}\n\treturn nil\n}\n\nvar errInvalidTrailers = errors.New(\"http2: invalid trailers\")\n\nfunc (rl *clientConnReadLoop) endStream(cs *clientStream) {\n\t// TODO: check that any declared content-length matches, like\n\t// server.go's (*stream).endStream method.\n\trl.endStreamError(cs, nil)\n}\n\nfunc (rl *clientConnReadLoop) endStreamError(cs *clientStream, err error) {\n\tvar code func()\n\tif err == nil {\n\t\terr = io.EOF\n\t\tcode = cs.copyTrailers\n\t}\n\tif isConnectionCloseRequest(cs.req) {\n\t\trl.closeWhenIdle = true\n\t}\n\tcs.bufPipe.closeWithErrorAndCode(err, code)\n\n\tselect {\n\tcase cs.resc <- resAndError{err: err}:\n\tdefault:\n\t}\n}\n\nfunc (cs *clientStream) copyTrailers() {\n\tfor k, vv := range cs.trailer {\n\t\tt := cs.resTrailer\n\t\tif *t == nil {\n\t\t\t*t = make(http.Header)\n\t\t}\n\t\t(*t)[k] = vv\n\t}\n}\n\nfunc (rl *clientConnReadLoop) processGoAway(f *GoAwayFrame) error {\n\tcc := rl.cc\n\tcc.t.connPool().MarkDead(cc)\n\tif f.ErrCode != 0 {\n\t\t// TODO: deal with GOAWAY more. particularly the error code\n\t\tcc.vlogf(\"transport got GOAWAY with error code = %v\", f.ErrCode)\n\t}\n\tcc.setGoAway(f)\n\treturn nil\n}\n\nfunc (rl *clientConnReadLoop) processSettings(f *SettingsFrame) error {\n\tcc := rl.cc\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\n\tif f.IsAck() {\n\t\tif cc.wantSettingsAck {\n\t\t\tcc.wantSettingsAck = false\n\t\t\treturn nil\n\t\t}\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\n\terr := f.ForeachSetting(func(s Setting) error {\n\t\tswitch s.ID {\n\t\tcase SettingMaxFrameSize:\n\t\t\tcc.maxFrameSize = s.Val\n\t\tcase SettingMaxConcurrentStreams:\n\t\t\tcc.maxConcurrentStreams = s.Val\n\t\tcase SettingMaxHeaderListSize:\n\t\t\tcc.peerMaxHeaderListSize = uint64(s.Val)\n\t\tcase SettingInitialWindowSize:\n\t\t\t// Values above the maximum flow-control\n\t\t\t// window size of 2^31-1 MUST be treated as a\n\t\t\t// connection error (Section 5.4.1) of type\n\t\t\t// FLOW_CONTROL_ERROR.\n\t\t\tif s.Val > math.MaxInt32 {\n\t\t\t\treturn ConnectionError(ErrCodeFlowControl)\n\t\t\t}\n\n\t\t\t// Adjust flow control of currently-open\n\t\t\t// frames by the difference of the old initial\n\t\t\t// window size and this one.\n\t\t\tdelta := int32(s.Val) - int32(cc.initialWindowSize)\n\t\t\tfor _, cs := range cc.streams {\n\t\t\t\tcs.flow.add(delta)\n\t\t\t}\n\t\t\tcc.cond.Broadcast()\n\n\t\t\tcc.initialWindowSize = s.Val\n\t\tdefault:\n\t\t\t// TODO(bradfitz): handle more settings? SETTINGS_HEADER_TABLE_SIZE probably.\n\t\t\tcc.vlogf(\"Unhandled Setting: %v\", s)\n\t\t}\n\t\treturn nil\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tcc.wmu.Lock()\n\tdefer cc.wmu.Unlock()\n\n\tcc.fr.WriteSettingsAck()\n\tcc.bw.Flush()\n\treturn cc.werr\n}\n\nfunc (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error {\n\tcc := rl.cc\n\tcs := cc.streamByID(f.StreamID, false)\n\tif f.StreamID != 0 && cs == nil {\n\t\treturn nil\n\t}\n\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\n\tfl := &cc.flow\n\tif cs != nil {\n\t\tfl = &cs.flow\n\t}\n\tif !fl.add(int32(f.Increment)) {\n\t\treturn ConnectionError(ErrCodeFlowControl)\n\t}\n\tcc.cond.Broadcast()\n\treturn nil\n}\n\nfunc (rl *clientConnReadLoop) processResetStream(f *RSTStreamFrame) error {\n\tcs := rl.cc.streamByID(f.StreamID, true)\n\tif cs == nil {\n\t\t// TODO: return error if server tries to RST_STEAM an idle stream\n\t\treturn nil\n\t}\n\tselect {\n\tcase <-cs.peerReset:\n\t\t// Already reset.\n\t\t// This is the only goroutine\n\t\t// which closes this, so there\n\t\t// isn't a race.\n\tdefault:\n\t\terr := streamError(cs.ID, f.ErrCode)\n\t\tcs.resetErr = err\n\t\tclose(cs.peerReset)\n\t\tcs.bufPipe.CloseWithError(err)\n\t\tcs.cc.cond.Broadcast() // wake up checkResetOrDone via clientStream.awaitFlowControl\n\t}\n\treturn nil\n}\n\n// Ping sends a PING frame to the server and waits for the ack.\n// Public implementation is in go17.go and not_go17.go\nfunc (cc *ClientConn) ping(ctx contextContext) error {\n\tc := make(chan struct{})\n\t// Generate a random payload\n\tvar p [8]byte\n\tfor {\n\t\tif _, err := rand.Read(p[:]); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcc.mu.Lock()\n\t\t// check for dup before insert\n\t\tif _, found := cc.pings[p]; !found {\n\t\t\tcc.pings[p] = c\n\t\t\tcc.mu.Unlock()\n\t\t\tbreak\n\t\t}\n\t\tcc.mu.Unlock()\n\t}\n\tcc.wmu.Lock()\n\tif err := cc.fr.WritePing(false, p); err != nil {\n\t\tcc.wmu.Unlock()\n\t\treturn err\n\t}\n\tif err := cc.bw.Flush(); err != nil {\n\t\tcc.wmu.Unlock()\n\t\treturn err\n\t}\n\tcc.wmu.Unlock()\n\tselect {\n\tcase <-c:\n\t\treturn nil\n\tcase <-ctx.Done():\n\t\treturn ctx.Err()\n\tcase <-cc.readerDone:\n\t\t// connection closed\n\t\treturn cc.readerErr\n\t}\n}\n\nfunc (rl *clientConnReadLoop) processPing(f *PingFrame) error {\n\tif f.IsAck() {\n\t\tcc := rl.cc\n\t\tcc.mu.Lock()\n\t\tdefer cc.mu.Unlock()\n\t\t// If ack, notify listener if any\n\t\tif c, ok := cc.pings[f.Data]; ok {\n\t\t\tclose(c)\n\t\t\tdelete(cc.pings, f.Data)\n\t\t}\n\t\treturn nil\n\t}\n\tcc := rl.cc\n\tcc.wmu.Lock()\n\tdefer cc.wmu.Unlock()\n\tif err := cc.fr.WritePing(true, f.Data); err != nil {\n\t\treturn err\n\t}\n\treturn cc.bw.Flush()\n}\n\nfunc (rl *clientConnReadLoop) processPushPromise(f *PushPromiseFrame) error {\n\t// We told the peer we don't want them.\n\t// Spec says:\n\t// \"PUSH_PROMISE MUST NOT be sent if the SETTINGS_ENABLE_PUSH\n\t// setting of the peer endpoint is set to 0. An endpoint that\n\t// has set this setting and has received acknowledgement MUST\n\t// treat the receipt of a PUSH_PROMISE frame as a connection\n\t// error (Section 5.4.1) of type PROTOCOL_ERROR.\"\n\treturn ConnectionError(ErrCodeProtocol)\n}\n\nfunc (cc *ClientConn) writeStreamReset(streamID uint32, code ErrCode, err error) {\n\t// TODO: map err to more interesting error codes, once the\n\t// HTTP community comes up with some. But currently for\n\t// RST_STREAM there's no equivalent to GOAWAY frame's debug\n\t// data, and the error codes are all pretty vague (\"cancel\").\n\tcc.wmu.Lock()\n\tcc.fr.WriteRSTStream(streamID, code)\n\tcc.bw.Flush()\n\tcc.wmu.Unlock()\n}\n\nvar (\n\terrResponseHeaderListSize = errors.New(\"http2: response header list larger than advertised limit\")\n\terrRequestHeaderListSize  = errors.New(\"http2: request header list larger than peer's advertised limit\")\n\terrPseudoTrailers         = errors.New(\"http2: invalid pseudo header in trailers\")\n)\n\nfunc (cc *ClientConn) logf(format string, args ...interface{}) {\n\tcc.t.logf(format, args...)\n}\n\nfunc (cc *ClientConn) vlogf(format string, args ...interface{}) {\n\tcc.t.vlogf(format, args...)\n}\n\nfunc (t *Transport) vlogf(format string, args ...interface{}) {\n\tif VerboseLogs {\n\t\tt.logf(format, args...)\n\t}\n}\n\nfunc (t *Transport) logf(format string, args ...interface{}) {\n\tlog.Printf(format, args...)\n}\n\nvar noBody io.ReadCloser = ioutil.NopCloser(bytes.NewReader(nil))\n\nfunc strSliceContains(ss []string, s string) bool {\n\tfor _, v := range ss {\n\t\tif v == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\ntype erringRoundTripper struct{ err error }\n\nfunc (rt erringRoundTripper) RoundTrip(*http.Request) (*http.Response, error) { return nil, rt.err }\n\n// gzipReader wraps a response body so it can lazily\n// call gzip.NewReader on the first call to Read\ntype gzipReader struct {\n\tbody io.ReadCloser // underlying Response.Body\n\tzr   *gzip.Reader  // lazily-initialized gzip reader\n\tzerr error         // sticky error\n}\n\nfunc (gz *gzipReader) Read(p []byte) (n int, err error) {\n\tif gz.zerr != nil {\n\t\treturn 0, gz.zerr\n\t}\n\tif gz.zr == nil {\n\t\tgz.zr, err = gzip.NewReader(gz.body)\n\t\tif err != nil {\n\t\t\tgz.zerr = err\n\t\t\treturn 0, err\n\t\t}\n\t}\n\treturn gz.zr.Read(p)\n}\n\nfunc (gz *gzipReader) Close() error {\n\treturn gz.body.Close()\n}\n\ntype errorReader struct{ err error }\n\nfunc (r errorReader) Read(p []byte) (int, error) { return 0, r.err }\n\n// bodyWriterState encapsulates various state around the Transport's writing\n// of the request body, particularly regarding doing delayed writes of the body\n// when the request contains \"Expect: 100-continue\".\ntype bodyWriterState struct {\n\tcs     *clientStream\n\ttimer  *time.Timer   // if non-nil, we're doing a delayed write\n\tfnonce *sync.Once    // to call fn with\n\tfn     func()        // the code to run in the goroutine, writing the body\n\tresc   chan error    // result of fn's execution\n\tdelay  time.Duration // how long we should delay a delayed write for\n}\n\nfunc (t *Transport) getBodyWriterState(cs *clientStream, body io.Reader) (s bodyWriterState) {\n\ts.cs = cs\n\tif body == nil {\n\t\treturn\n\t}\n\tresc := make(chan error, 1)\n\ts.resc = resc\n\ts.fn = func() {\n\t\tcs.cc.mu.Lock()\n\t\tcs.startedWrite = true\n\t\tcs.cc.mu.Unlock()\n\t\tresc <- cs.writeRequestBody(body, cs.req.Body)\n\t}\n\ts.delay = t.expectContinueTimeout()\n\tif s.delay == 0 ||\n\t\t!httplex.HeaderValuesContainsToken(\n\t\t\tcs.req.Header[\"Expect\"],\n\t\t\t\"100-continue\") {\n\t\treturn\n\t}\n\ts.fnonce = new(sync.Once)\n\n\t// Arm the timer with a very large duration, which we'll\n\t// intentionally lower later. It has to be large now because\n\t// we need a handle to it before writing the headers, but the\n\t// s.delay value is defined to not start until after the\n\t// request headers were written.\n\tconst hugeDuration = 365 * 24 * time.Hour\n\ts.timer = time.AfterFunc(hugeDuration, func() {\n\t\ts.fnonce.Do(s.fn)\n\t})\n\treturn\n}\n\nfunc (s bodyWriterState) cancel() {\n\tif s.timer != nil {\n\t\ts.timer.Stop()\n\t}\n}\n\nfunc (s bodyWriterState) on100() {\n\tif s.timer == nil {\n\t\t// If we didn't do a delayed write, ignore the server's\n\t\t// bogus 100 continue response.\n\t\treturn\n\t}\n\ts.timer.Stop()\n\tgo func() { s.fnonce.Do(s.fn) }()\n}\n\n// scheduleBodyWrite starts writing the body, either immediately (in\n// the common case) or after the delay timeout. It should not be\n// called until after the headers have been written.\nfunc (s bodyWriterState) scheduleBodyWrite() {\n\tif s.timer == nil {\n\t\t// We're not doing a delayed write (see\n\t\t// getBodyWriterState), so just start the writing\n\t\t// goroutine immediately.\n\t\tgo s.fn()\n\t\treturn\n\t}\n\ttraceWait100Continue(s.cs.trace)\n\tif s.timer.Stop() {\n\t\ts.timer.Reset(s.delay)\n\t}\n}\n\n// isConnectionCloseRequest reports whether req should use its own\n// connection for a single request and then close the connection.\nfunc isConnectionCloseRequest(req *http.Request) bool {\n\treturn req.Close || httplex.HeaderValuesContainsToken(req.Header[\"Connection\"], \"close\")\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/write.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"log\"\n\t\"net/http\"\n\t\"net/url\"\n\n\t\"golang.org/x/net/http2/hpack\"\n\t\"golang.org/x/net/lex/httplex\"\n)\n\n// writeFramer is implemented by any type that is used to write frames.\ntype writeFramer interface {\n\twriteFrame(writeContext) error\n\n\t// staysWithinBuffer reports whether this writer promises that\n\t// it will only write less than or equal to size bytes, and it\n\t// won't Flush the write context.\n\tstaysWithinBuffer(size int) bool\n}\n\n// writeContext is the interface needed by the various frame writer\n// types below. All the writeFrame methods below are scheduled via the\n// frame writing scheduler (see writeScheduler in writesched.go).\n//\n// This interface is implemented by *serverConn.\n//\n// TODO: decide whether to a) use this in the client code (which didn't\n// end up using this yet, because it has a simpler design, not\n// currently implementing priorities), or b) delete this and\n// make the server code a bit more concrete.\ntype writeContext interface {\n\tFramer() *Framer\n\tFlush() error\n\tCloseConn() error\n\t// HeaderEncoder returns an HPACK encoder that writes to the\n\t// returned buffer.\n\tHeaderEncoder() (*hpack.Encoder, *bytes.Buffer)\n}\n\n// writeEndsStream reports whether w writes a frame that will transition\n// the stream to a half-closed local state. This returns false for RST_STREAM,\n// which closes the entire stream (not just the local half).\nfunc writeEndsStream(w writeFramer) bool {\n\tswitch v := w.(type) {\n\tcase *writeData:\n\t\treturn v.endStream\n\tcase *writeResHeaders:\n\t\treturn v.endStream\n\tcase nil:\n\t\t// This can only happen if the caller reuses w after it's\n\t\t// been intentionally nil'ed out to prevent use. Keep this\n\t\t// here to catch future refactoring breaking it.\n\t\tpanic(\"writeEndsStream called on nil writeFramer\")\n\t}\n\treturn false\n}\n\ntype flushFrameWriter struct{}\n\nfunc (flushFrameWriter) writeFrame(ctx writeContext) error {\n\treturn ctx.Flush()\n}\n\nfunc (flushFrameWriter) staysWithinBuffer(max int) bool { return false }\n\ntype writeSettings []Setting\n\nfunc (s writeSettings) staysWithinBuffer(max int) bool {\n\tconst settingSize = 6 // uint16 + uint32\n\treturn frameHeaderLen+settingSize*len(s) <= max\n\n}\n\nfunc (s writeSettings) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WriteSettings([]Setting(s)...)\n}\n\ntype writeGoAway struct {\n\tmaxStreamID uint32\n\tcode        ErrCode\n}\n\nfunc (p *writeGoAway) writeFrame(ctx writeContext) error {\n\terr := ctx.Framer().WriteGoAway(p.maxStreamID, p.code, nil)\n\tctx.Flush() // ignore error: we're hanging up on them anyway\n\treturn err\n}\n\nfunc (*writeGoAway) staysWithinBuffer(max int) bool { return false } // flushes\n\ntype writeData struct {\n\tstreamID  uint32\n\tp         []byte\n\tendStream bool\n}\n\nfunc (w *writeData) String() string {\n\treturn fmt.Sprintf(\"writeData(stream=%d, p=%d, endStream=%v)\", w.streamID, len(w.p), w.endStream)\n}\n\nfunc (w *writeData) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WriteData(w.streamID, w.endStream, w.p)\n}\n\nfunc (w *writeData) staysWithinBuffer(max int) bool {\n\treturn frameHeaderLen+len(w.p) <= max\n}\n\n// handlerPanicRST is the message sent from handler goroutines when\n// the handler panics.\ntype handlerPanicRST struct {\n\tStreamID uint32\n}\n\nfunc (hp handlerPanicRST) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WriteRSTStream(hp.StreamID, ErrCodeInternal)\n}\n\nfunc (hp handlerPanicRST) staysWithinBuffer(max int) bool { return frameHeaderLen+4 <= max }\n\nfunc (se StreamError) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WriteRSTStream(se.StreamID, se.Code)\n}\n\nfunc (se StreamError) staysWithinBuffer(max int) bool { return frameHeaderLen+4 <= max }\n\ntype writePingAck struct{ pf *PingFrame }\n\nfunc (w writePingAck) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WritePing(true, w.pf.Data)\n}\n\nfunc (w writePingAck) staysWithinBuffer(max int) bool { return frameHeaderLen+len(w.pf.Data) <= max }\n\ntype writeSettingsAck struct{}\n\nfunc (writeSettingsAck) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WriteSettingsAck()\n}\n\nfunc (writeSettingsAck) staysWithinBuffer(max int) bool { return frameHeaderLen <= max }\n\n// splitHeaderBlock splits headerBlock into fragments so that each fragment fits\n// in a single frame, then calls fn for each fragment. firstFrag/lastFrag are true\n// for the first/last fragment, respectively.\nfunc splitHeaderBlock(ctx writeContext, headerBlock []byte, fn func(ctx writeContext, frag []byte, firstFrag, lastFrag bool) error) error {\n\t// For now we're lazy and just pick the minimum MAX_FRAME_SIZE\n\t// that all peers must support (16KB). Later we could care\n\t// more and send larger frames if the peer advertised it, but\n\t// there's little point. Most headers are small anyway (so we\n\t// generally won't have CONTINUATION frames), and extra frames\n\t// only waste 9 bytes anyway.\n\tconst maxFrameSize = 16384\n\n\tfirst := true\n\tfor len(headerBlock) > 0 {\n\t\tfrag := headerBlock\n\t\tif len(frag) > maxFrameSize {\n\t\t\tfrag = frag[:maxFrameSize]\n\t\t}\n\t\theaderBlock = headerBlock[len(frag):]\n\t\tif err := fn(ctx, frag, first, len(headerBlock) == 0); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirst = false\n\t}\n\treturn nil\n}\n\n// writeResHeaders is a request to write a HEADERS and 0+ CONTINUATION frames\n// for HTTP response headers or trailers from a server handler.\ntype writeResHeaders struct {\n\tstreamID    uint32\n\thttpResCode int         // 0 means no \":status\" line\n\th           http.Header // may be nil\n\ttrailers    []string    // if non-nil, which keys of h to write. nil means all.\n\tendStream   bool\n\n\tdate          string\n\tcontentType   string\n\tcontentLength string\n}\n\nfunc encKV(enc *hpack.Encoder, k, v string) {\n\tif VerboseLogs {\n\t\tlog.Printf(\"http2: server encoding header %q = %q\", k, v)\n\t}\n\tenc.WriteField(hpack.HeaderField{Name: k, Value: v})\n}\n\nfunc (w *writeResHeaders) staysWithinBuffer(max int) bool {\n\t// TODO: this is a common one. It'd be nice to return true\n\t// here and get into the fast path if we could be clever and\n\t// calculate the size fast enough, or at least a conservative\n\t// uppper bound that usually fires. (Maybe if w.h and\n\t// w.trailers are nil, so we don't need to enumerate it.)\n\t// Otherwise I'm afraid that just calculating the length to\n\t// answer this question would be slower than the ~2µs benefit.\n\treturn false\n}\n\nfunc (w *writeResHeaders) writeFrame(ctx writeContext) error {\n\tenc, buf := ctx.HeaderEncoder()\n\tbuf.Reset()\n\n\tif w.httpResCode != 0 {\n\t\tencKV(enc, \":status\", httpCodeString(w.httpResCode))\n\t}\n\n\tencodeHeaders(enc, w.h, w.trailers)\n\n\tif w.contentType != \"\" {\n\t\tencKV(enc, \"content-type\", w.contentType)\n\t}\n\tif w.contentLength != \"\" {\n\t\tencKV(enc, \"content-length\", w.contentLength)\n\t}\n\tif w.date != \"\" {\n\t\tencKV(enc, \"date\", w.date)\n\t}\n\n\theaderBlock := buf.Bytes()\n\tif len(headerBlock) == 0 && w.trailers == nil {\n\t\tpanic(\"unexpected empty hpack\")\n\t}\n\n\treturn splitHeaderBlock(ctx, headerBlock, w.writeHeaderBlock)\n}\n\nfunc (w *writeResHeaders) writeHeaderBlock(ctx writeContext, frag []byte, firstFrag, lastFrag bool) error {\n\tif firstFrag {\n\t\treturn ctx.Framer().WriteHeaders(HeadersFrameParam{\n\t\t\tStreamID:      w.streamID,\n\t\t\tBlockFragment: frag,\n\t\t\tEndStream:     w.endStream,\n\t\t\tEndHeaders:    lastFrag,\n\t\t})\n\t} else {\n\t\treturn ctx.Framer().WriteContinuation(w.streamID, lastFrag, frag)\n\t}\n}\n\n// writePushPromise is a request to write a PUSH_PROMISE and 0+ CONTINUATION frames.\ntype writePushPromise struct {\n\tstreamID uint32   // pusher stream\n\tmethod   string   // for :method\n\turl      *url.URL // for :scheme, :authority, :path\n\th        http.Header\n\n\t// Creates an ID for a pushed stream. This runs on serveG just before\n\t// the frame is written. The returned ID is copied to promisedID.\n\tallocatePromisedID func() (uint32, error)\n\tpromisedID         uint32\n}\n\nfunc (w *writePushPromise) staysWithinBuffer(max int) bool {\n\t// TODO: see writeResHeaders.staysWithinBuffer\n\treturn false\n}\n\nfunc (w *writePushPromise) writeFrame(ctx writeContext) error {\n\tenc, buf := ctx.HeaderEncoder()\n\tbuf.Reset()\n\n\tencKV(enc, \":method\", w.method)\n\tencKV(enc, \":scheme\", w.url.Scheme)\n\tencKV(enc, \":authority\", w.url.Host)\n\tencKV(enc, \":path\", w.url.RequestURI())\n\tencodeHeaders(enc, w.h, nil)\n\n\theaderBlock := buf.Bytes()\n\tif len(headerBlock) == 0 {\n\t\tpanic(\"unexpected empty hpack\")\n\t}\n\n\treturn splitHeaderBlock(ctx, headerBlock, w.writeHeaderBlock)\n}\n\nfunc (w *writePushPromise) writeHeaderBlock(ctx writeContext, frag []byte, firstFrag, lastFrag bool) error {\n\tif firstFrag {\n\t\treturn ctx.Framer().WritePushPromise(PushPromiseParam{\n\t\t\tStreamID:      w.streamID,\n\t\t\tPromiseID:     w.promisedID,\n\t\t\tBlockFragment: frag,\n\t\t\tEndHeaders:    lastFrag,\n\t\t})\n\t} else {\n\t\treturn ctx.Framer().WriteContinuation(w.streamID, lastFrag, frag)\n\t}\n}\n\ntype write100ContinueHeadersFrame struct {\n\tstreamID uint32\n}\n\nfunc (w write100ContinueHeadersFrame) writeFrame(ctx writeContext) error {\n\tenc, buf := ctx.HeaderEncoder()\n\tbuf.Reset()\n\tencKV(enc, \":status\", \"100\")\n\treturn ctx.Framer().WriteHeaders(HeadersFrameParam{\n\t\tStreamID:      w.streamID,\n\t\tBlockFragment: buf.Bytes(),\n\t\tEndStream:     false,\n\t\tEndHeaders:    true,\n\t})\n}\n\nfunc (w write100ContinueHeadersFrame) staysWithinBuffer(max int) bool {\n\t// Sloppy but conservative:\n\treturn 9+2*(len(\":status\")+len(\"100\")) <= max\n}\n\ntype writeWindowUpdate struct {\n\tstreamID uint32 // or 0 for conn-level\n\tn        uint32\n}\n\nfunc (wu writeWindowUpdate) staysWithinBuffer(max int) bool { return frameHeaderLen+4 <= max }\n\nfunc (wu writeWindowUpdate) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WriteWindowUpdate(wu.streamID, wu.n)\n}\n\n// encodeHeaders encodes an http.Header. If keys is not nil, then (k, h[k])\n// is encoded only only if k is in keys.\nfunc encodeHeaders(enc *hpack.Encoder, h http.Header, keys []string) {\n\tif keys == nil {\n\t\tsorter := sorterPool.Get().(*sorter)\n\t\t// Using defer here, since the returned keys from the\n\t\t// sorter.Keys method is only valid until the sorter\n\t\t// is returned:\n\t\tdefer sorterPool.Put(sorter)\n\t\tkeys = sorter.Keys(h)\n\t}\n\tfor _, k := range keys {\n\t\tvv := h[k]\n\t\tk = lowerHeader(k)\n\t\tif !validWireHeaderFieldName(k) {\n\t\t\t// Skip it as backup paranoia. Per\n\t\t\t// golang.org/issue/14048, these should\n\t\t\t// already be rejected at a higher level.\n\t\t\tcontinue\n\t\t}\n\t\tisTE := k == \"transfer-encoding\"\n\t\tfor _, v := range vv {\n\t\t\tif !httplex.ValidHeaderFieldValue(v) {\n\t\t\t\t// TODO: return an error? golang.org/issue/14048\n\t\t\t\t// For now just omit it.\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// TODO: more of \"8.1.2.2 Connection-Specific Header Fields\"\n\t\t\tif isTE && v != \"trailers\" {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tencKV(enc, k, v)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/writesched.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport \"fmt\"\n\n// WriteScheduler is the interface implemented by HTTP/2 write schedulers.\n// Methods are never called concurrently.\ntype WriteScheduler interface {\n\t// OpenStream opens a new stream in the write scheduler.\n\t// It is illegal to call this with streamID=0 or with a streamID that is\n\t// already open -- the call may panic.\n\tOpenStream(streamID uint32, options OpenStreamOptions)\n\n\t// CloseStream closes a stream in the write scheduler. Any frames queued on\n\t// this stream should be discarded. It is illegal to call this on a stream\n\t// that is not open -- the call may panic.\n\tCloseStream(streamID uint32)\n\n\t// AdjustStream adjusts the priority of the given stream. This may be called\n\t// on a stream that has not yet been opened or has been closed. Note that\n\t// RFC 7540 allows PRIORITY frames to be sent on streams in any state. See:\n\t// https://tools.ietf.org/html/rfc7540#section-5.1\n\tAdjustStream(streamID uint32, priority PriorityParam)\n\n\t// Push queues a frame in the scheduler. In most cases, this will not be\n\t// called with wr.StreamID()!=0 unless that stream is currently open. The one\n\t// exception is RST_STREAM frames, which may be sent on idle or closed streams.\n\tPush(wr FrameWriteRequest)\n\n\t// Pop dequeues the next frame to write. Returns false if no frames can\n\t// be written. Frames with a given wr.StreamID() are Pop'd in the same\n\t// order they are Push'd.\n\tPop() (wr FrameWriteRequest, ok bool)\n}\n\n// OpenStreamOptions specifies extra options for WriteScheduler.OpenStream.\ntype OpenStreamOptions struct {\n\t// PusherID is zero if the stream was initiated by the client. Otherwise,\n\t// PusherID names the stream that pushed the newly opened stream.\n\tPusherID uint32\n}\n\n// FrameWriteRequest is a request to write a frame.\ntype FrameWriteRequest struct {\n\t// write is the interface value that does the writing, once the\n\t// WriteScheduler has selected this frame to write. The write\n\t// functions are all defined in write.go.\n\twrite writeFramer\n\n\t// stream is the stream on which this frame will be written.\n\t// nil for non-stream frames like PING and SETTINGS.\n\tstream *stream\n\n\t// done, if non-nil, must be a buffered channel with space for\n\t// 1 message and is sent the return value from write (or an\n\t// earlier error) when the frame has been written.\n\tdone chan error\n}\n\n// StreamID returns the id of the stream this frame will be written to.\n// 0 is used for non-stream frames such as PING and SETTINGS.\nfunc (wr FrameWriteRequest) StreamID() uint32 {\n\tif wr.stream == nil {\n\t\tif se, ok := wr.write.(StreamError); ok {\n\t\t\t// (*serverConn).resetStream doesn't set\n\t\t\t// stream because it doesn't necessarily have\n\t\t\t// one. So special case this type of write\n\t\t\t// message.\n\t\t\treturn se.StreamID\n\t\t}\n\t\treturn 0\n\t}\n\treturn wr.stream.id\n}\n\n// DataSize returns the number of flow control bytes that must be consumed\n// to write this entire frame. This is 0 for non-DATA frames.\nfunc (wr FrameWriteRequest) DataSize() int {\n\tif wd, ok := wr.write.(*writeData); ok {\n\t\treturn len(wd.p)\n\t}\n\treturn 0\n}\n\n// Consume consumes min(n, available) bytes from this frame, where available\n// is the number of flow control bytes available on the stream. Consume returns\n// 0, 1, or 2 frames, where the integer return value gives the number of frames\n// returned.\n//\n// If flow control prevents consuming any bytes, this returns (_, _, 0). If\n// the entire frame was consumed, this returns (wr, _, 1). Otherwise, this\n// returns (consumed, rest, 2), where 'consumed' contains the consumed bytes and\n// 'rest' contains the remaining bytes. The consumed bytes are deducted from the\n// underlying stream's flow control budget.\nfunc (wr FrameWriteRequest) Consume(n int32) (FrameWriteRequest, FrameWriteRequest, int) {\n\tvar empty FrameWriteRequest\n\n\t// Non-DATA frames are always consumed whole.\n\twd, ok := wr.write.(*writeData)\n\tif !ok || len(wd.p) == 0 {\n\t\treturn wr, empty, 1\n\t}\n\n\t// Might need to split after applying limits.\n\tallowed := wr.stream.flow.available()\n\tif n < allowed {\n\t\tallowed = n\n\t}\n\tif wr.stream.sc.maxFrameSize < allowed {\n\t\tallowed = wr.stream.sc.maxFrameSize\n\t}\n\tif allowed <= 0 {\n\t\treturn empty, empty, 0\n\t}\n\tif len(wd.p) > int(allowed) {\n\t\twr.stream.flow.take(allowed)\n\t\tconsumed := FrameWriteRequest{\n\t\t\tstream: wr.stream,\n\t\t\twrite: &writeData{\n\t\t\t\tstreamID: wd.streamID,\n\t\t\t\tp:        wd.p[:allowed],\n\t\t\t\t// Even if the original had endStream set, there\n\t\t\t\t// are bytes remaining because len(wd.p) > allowed,\n\t\t\t\t// so we know endStream is false.\n\t\t\t\tendStream: false,\n\t\t\t},\n\t\t\t// Our caller is blocking on the final DATA frame, not\n\t\t\t// this intermediate frame, so no need to wait.\n\t\t\tdone: nil,\n\t\t}\n\t\trest := FrameWriteRequest{\n\t\t\tstream: wr.stream,\n\t\t\twrite: &writeData{\n\t\t\t\tstreamID:  wd.streamID,\n\t\t\t\tp:         wd.p[allowed:],\n\t\t\t\tendStream: wd.endStream,\n\t\t\t},\n\t\t\tdone: wr.done,\n\t\t}\n\t\treturn consumed, rest, 2\n\t}\n\n\t// The frame is consumed whole.\n\t// NB: This cast cannot overflow because allowed is <= math.MaxInt32.\n\twr.stream.flow.take(int32(len(wd.p)))\n\treturn wr, empty, 1\n}\n\n// String is for debugging only.\nfunc (wr FrameWriteRequest) String() string {\n\tvar des string\n\tif s, ok := wr.write.(fmt.Stringer); ok {\n\t\tdes = s.String()\n\t} else {\n\t\tdes = fmt.Sprintf(\"%T\", wr.write)\n\t}\n\treturn fmt.Sprintf(\"[FrameWriteRequest stream=%d, ch=%v, writer=%v]\", wr.StreamID(), wr.done != nil, des)\n}\n\n// replyToWriter sends err to wr.done and panics if the send must block\n// This does nothing if wr.done is nil.\nfunc (wr *FrameWriteRequest) replyToWriter(err error) {\n\tif wr.done == nil {\n\t\treturn\n\t}\n\tselect {\n\tcase wr.done <- err:\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"unbuffered done channel passed in for type %T\", wr.write))\n\t}\n\twr.write = nil // prevent use (assume it's tainted after wr.done send)\n}\n\n// writeQueue is used by implementations of WriteScheduler.\ntype writeQueue struct {\n\ts []FrameWriteRequest\n}\n\nfunc (q *writeQueue) empty() bool { return len(q.s) == 0 }\n\nfunc (q *writeQueue) push(wr FrameWriteRequest) {\n\tq.s = append(q.s, wr)\n}\n\nfunc (q *writeQueue) shift() FrameWriteRequest {\n\tif len(q.s) == 0 {\n\t\tpanic(\"invalid use of queue\")\n\t}\n\twr := q.s[0]\n\t// TODO: less copy-happy queue.\n\tcopy(q.s, q.s[1:])\n\tq.s[len(q.s)-1] = FrameWriteRequest{}\n\tq.s = q.s[:len(q.s)-1]\n\treturn wr\n}\n\n// consume consumes up to n bytes from q.s[0]. If the frame is\n// entirely consumed, it is removed from the queue. If the frame\n// is partially consumed, the frame is kept with the consumed\n// bytes removed. Returns true iff any bytes were consumed.\nfunc (q *writeQueue) consume(n int32) (FrameWriteRequest, bool) {\n\tif len(q.s) == 0 {\n\t\treturn FrameWriteRequest{}, false\n\t}\n\tconsumed, rest, numresult := q.s[0].Consume(n)\n\tswitch numresult {\n\tcase 0:\n\t\treturn FrameWriteRequest{}, false\n\tcase 1:\n\t\tq.shift()\n\tcase 2:\n\t\tq.s[0] = rest\n\t}\n\treturn consumed, true\n}\n\ntype writeQueuePool []*writeQueue\n\n// put inserts an unused writeQueue into the pool.\nfunc (p *writeQueuePool) put(q *writeQueue) {\n\tfor i := range q.s {\n\t\tq.s[i] = FrameWriteRequest{}\n\t}\n\tq.s = q.s[:0]\n\t*p = append(*p, q)\n}\n\n// get returns an empty writeQueue.\nfunc (p *writeQueuePool) get() *writeQueue {\n\tln := len(*p)\n\tif ln == 0 {\n\t\treturn new(writeQueue)\n\t}\n\tx := ln - 1\n\tq := (*p)[x]\n\t(*p)[x] = nil\n\t*p = (*p)[:x]\n\treturn q\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/writesched_priority.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"sort\"\n)\n\n// RFC 7540, Section 5.3.5: the default weight is 16.\nconst priorityDefaultWeight = 15 // 16 = 15 + 1\n\n// PriorityWriteSchedulerConfig configures a priorityWriteScheduler.\ntype PriorityWriteSchedulerConfig struct {\n\t// MaxClosedNodesInTree controls the maximum number of closed streams to\n\t// retain in the priority tree. Setting this to zero saves a small amount\n\t// of memory at the cost of performance.\n\t//\n\t// See RFC 7540, Section 5.3.4:\n\t//   \"It is possible for a stream to become closed while prioritization\n\t//   information ... is in transit. ... This potentially creates suboptimal\n\t//   prioritization, since the stream could be given a priority that is\n\t//   different from what is intended. To avoid these problems, an endpoint\n\t//   SHOULD retain stream prioritization state for a period after streams\n\t//   become closed. The longer state is retained, the lower the chance that\n\t//   streams are assigned incorrect or default priority values.\"\n\tMaxClosedNodesInTree int\n\n\t// MaxIdleNodesInTree controls the maximum number of idle streams to\n\t// retain in the priority tree. Setting this to zero saves a small amount\n\t// of memory at the cost of performance.\n\t//\n\t// See RFC 7540, Section 5.3.4:\n\t//   Similarly, streams that are in the \"idle\" state can be assigned\n\t//   priority or become a parent of other streams. This allows for the\n\t//   creation of a grouping node in the dependency tree, which enables\n\t//   more flexible expressions of priority. Idle streams begin with a\n\t//   default priority (Section 5.3.5).\n\tMaxIdleNodesInTree int\n\n\t// ThrottleOutOfOrderWrites enables write throttling to help ensure that\n\t// data is delivered in priority order. This works around a race where\n\t// stream B depends on stream A and both streams are about to call Write\n\t// to queue DATA frames. If B wins the race, a naive scheduler would eagerly\n\t// write as much data from B as possible, but this is suboptimal because A\n\t// is a higher-priority stream. With throttling enabled, we write a small\n\t// amount of data from B to minimize the amount of bandwidth that B can\n\t// steal from A.\n\tThrottleOutOfOrderWrites bool\n}\n\n// NewPriorityWriteScheduler constructs a WriteScheduler that schedules\n// frames by following HTTP/2 priorities as described in RFC 7540 Section 5.3.\n// If cfg is nil, default options are used.\nfunc NewPriorityWriteScheduler(cfg *PriorityWriteSchedulerConfig) WriteScheduler {\n\tif cfg == nil {\n\t\t// For justification of these defaults, see:\n\t\t// https://docs.google.com/document/d/1oLhNg1skaWD4_DtaoCxdSRN5erEXrH-KnLrMwEpOtFY\n\t\tcfg = &PriorityWriteSchedulerConfig{\n\t\t\tMaxClosedNodesInTree:     10,\n\t\t\tMaxIdleNodesInTree:       10,\n\t\t\tThrottleOutOfOrderWrites: false,\n\t\t}\n\t}\n\n\tws := &priorityWriteScheduler{\n\t\tnodes:                make(map[uint32]*priorityNode),\n\t\tmaxClosedNodesInTree: cfg.MaxClosedNodesInTree,\n\t\tmaxIdleNodesInTree:   cfg.MaxIdleNodesInTree,\n\t\tenableWriteThrottle:  cfg.ThrottleOutOfOrderWrites,\n\t}\n\tws.nodes[0] = &ws.root\n\tif cfg.ThrottleOutOfOrderWrites {\n\t\tws.writeThrottleLimit = 1024\n\t} else {\n\t\tws.writeThrottleLimit = math.MaxInt32\n\t}\n\treturn ws\n}\n\ntype priorityNodeState int\n\nconst (\n\tpriorityNodeOpen priorityNodeState = iota\n\tpriorityNodeClosed\n\tpriorityNodeIdle\n)\n\n// priorityNode is a node in an HTTP/2 priority tree.\n// Each node is associated with a single stream ID.\n// See RFC 7540, Section 5.3.\ntype priorityNode struct {\n\tq            writeQueue        // queue of pending frames to write\n\tid           uint32            // id of the stream, or 0 for the root of the tree\n\tweight       uint8             // the actual weight is weight+1, so the value is in [1,256]\n\tstate        priorityNodeState // open | closed | idle\n\tbytes        int64             // number of bytes written by this node, or 0 if closed\n\tsubtreeBytes int64             // sum(node.bytes) of all nodes in this subtree\n\n\t// These links form the priority tree.\n\tparent     *priorityNode\n\tkids       *priorityNode // start of the kids list\n\tprev, next *priorityNode // doubly-linked list of siblings\n}\n\nfunc (n *priorityNode) setParent(parent *priorityNode) {\n\tif n == parent {\n\t\tpanic(\"setParent to self\")\n\t}\n\tif n.parent == parent {\n\t\treturn\n\t}\n\t// Unlink from current parent.\n\tif parent := n.parent; parent != nil {\n\t\tif n.prev == nil {\n\t\t\tparent.kids = n.next\n\t\t} else {\n\t\t\tn.prev.next = n.next\n\t\t}\n\t\tif n.next != nil {\n\t\t\tn.next.prev = n.prev\n\t\t}\n\t}\n\t// Link to new parent.\n\t// If parent=nil, remove n from the tree.\n\t// Always insert at the head of parent.kids (this is assumed by walkReadyInOrder).\n\tn.parent = parent\n\tif parent == nil {\n\t\tn.next = nil\n\t\tn.prev = nil\n\t} else {\n\t\tn.next = parent.kids\n\t\tn.prev = nil\n\t\tif n.next != nil {\n\t\t\tn.next.prev = n\n\t\t}\n\t\tparent.kids = n\n\t}\n}\n\nfunc (n *priorityNode) addBytes(b int64) {\n\tn.bytes += b\n\tfor ; n != nil; n = n.parent {\n\t\tn.subtreeBytes += b\n\t}\n}\n\n// walkReadyInOrder iterates over the tree in priority order, calling f for each node\n// with a non-empty write queue. When f returns true, this funcion returns true and the\n// walk halts. tmp is used as scratch space for sorting.\n//\n// f(n, openParent) takes two arguments: the node to visit, n, and a bool that is true\n// if any ancestor p of n is still open (ignoring the root node).\nfunc (n *priorityNode) walkReadyInOrder(openParent bool, tmp *[]*priorityNode, f func(*priorityNode, bool) bool) bool {\n\tif !n.q.empty() && f(n, openParent) {\n\t\treturn true\n\t}\n\tif n.kids == nil {\n\t\treturn false\n\t}\n\n\t// Don't consider the root \"open\" when updating openParent since\n\t// we can't send data frames on the root stream (only control frames).\n\tif n.id != 0 {\n\t\topenParent = openParent || (n.state == priorityNodeOpen)\n\t}\n\n\t// Common case: only one kid or all kids have the same weight.\n\t// Some clients don't use weights; other clients (like web browsers)\n\t// use mostly-linear priority trees.\n\tw := n.kids.weight\n\tneedSort := false\n\tfor k := n.kids.next; k != nil; k = k.next {\n\t\tif k.weight != w {\n\t\t\tneedSort = true\n\t\t\tbreak\n\t\t}\n\t}\n\tif !needSort {\n\t\tfor k := n.kids; k != nil; k = k.next {\n\t\t\tif k.walkReadyInOrder(openParent, tmp, f) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}\n\n\t// Uncommon case: sort the child nodes. We remove the kids from the parent,\n\t// then re-insert after sorting so we can reuse tmp for future sort calls.\n\t*tmp = (*tmp)[:0]\n\tfor n.kids != nil {\n\t\t*tmp = append(*tmp, n.kids)\n\t\tn.kids.setParent(nil)\n\t}\n\tsort.Sort(sortPriorityNodeSiblings(*tmp))\n\tfor i := len(*tmp) - 1; i >= 0; i-- {\n\t\t(*tmp)[i].setParent(n) // setParent inserts at the head of n.kids\n\t}\n\tfor k := n.kids; k != nil; k = k.next {\n\t\tif k.walkReadyInOrder(openParent, tmp, f) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\ntype sortPriorityNodeSiblings []*priorityNode\n\nfunc (z sortPriorityNodeSiblings) Len() int      { return len(z) }\nfunc (z sortPriorityNodeSiblings) Swap(i, k int) { z[i], z[k] = z[k], z[i] }\nfunc (z sortPriorityNodeSiblings) Less(i, k int) bool {\n\t// Prefer the subtree that has sent fewer bytes relative to its weight.\n\t// See sections 5.3.2 and 5.3.4.\n\twi, bi := float64(z[i].weight+1), float64(z[i].subtreeBytes)\n\twk, bk := float64(z[k].weight+1), float64(z[k].subtreeBytes)\n\tif bi == 0 && bk == 0 {\n\t\treturn wi >= wk\n\t}\n\tif bk == 0 {\n\t\treturn false\n\t}\n\treturn bi/bk <= wi/wk\n}\n\ntype priorityWriteScheduler struct {\n\t// root is the root of the priority tree, where root.id = 0.\n\t// The root queues control frames that are not associated with any stream.\n\troot priorityNode\n\n\t// nodes maps stream ids to priority tree nodes.\n\tnodes map[uint32]*priorityNode\n\n\t// maxID is the maximum stream id in nodes.\n\tmaxID uint32\n\n\t// lists of nodes that have been closed or are idle, but are kept in\n\t// the tree for improved prioritization. When the lengths exceed either\n\t// maxClosedNodesInTree or maxIdleNodesInTree, old nodes are discarded.\n\tclosedNodes, idleNodes []*priorityNode\n\n\t// From the config.\n\tmaxClosedNodesInTree int\n\tmaxIdleNodesInTree   int\n\twriteThrottleLimit   int32\n\tenableWriteThrottle  bool\n\n\t// tmp is scratch space for priorityNode.walkReadyInOrder to reduce allocations.\n\ttmp []*priorityNode\n\n\t// pool of empty queues for reuse.\n\tqueuePool writeQueuePool\n}\n\nfunc (ws *priorityWriteScheduler) OpenStream(streamID uint32, options OpenStreamOptions) {\n\t// The stream may be currently idle but cannot be opened or closed.\n\tif curr := ws.nodes[streamID]; curr != nil {\n\t\tif curr.state != priorityNodeIdle {\n\t\t\tpanic(fmt.Sprintf(\"stream %d already opened\", streamID))\n\t\t}\n\t\tcurr.state = priorityNodeOpen\n\t\treturn\n\t}\n\n\t// RFC 7540, Section 5.3.5:\n\t//  \"All streams are initially assigned a non-exclusive dependency on stream 0x0.\n\t//  Pushed streams initially depend on their associated stream. In both cases,\n\t//  streams are assigned a default weight of 16.\"\n\tparent := ws.nodes[options.PusherID]\n\tif parent == nil {\n\t\tparent = &ws.root\n\t}\n\tn := &priorityNode{\n\t\tq:      *ws.queuePool.get(),\n\t\tid:     streamID,\n\t\tweight: priorityDefaultWeight,\n\t\tstate:  priorityNodeOpen,\n\t}\n\tn.setParent(parent)\n\tws.nodes[streamID] = n\n\tif streamID > ws.maxID {\n\t\tws.maxID = streamID\n\t}\n}\n\nfunc (ws *priorityWriteScheduler) CloseStream(streamID uint32) {\n\tif streamID == 0 {\n\t\tpanic(\"violation of WriteScheduler interface: cannot close stream 0\")\n\t}\n\tif ws.nodes[streamID] == nil {\n\t\tpanic(fmt.Sprintf(\"violation of WriteScheduler interface: unknown stream %d\", streamID))\n\t}\n\tif ws.nodes[streamID].state != priorityNodeOpen {\n\t\tpanic(fmt.Sprintf(\"violation of WriteScheduler interface: stream %d already closed\", streamID))\n\t}\n\n\tn := ws.nodes[streamID]\n\tn.state = priorityNodeClosed\n\tn.addBytes(-n.bytes)\n\n\tq := n.q\n\tws.queuePool.put(&q)\n\tn.q.s = nil\n\tif ws.maxClosedNodesInTree > 0 {\n\t\tws.addClosedOrIdleNode(&ws.closedNodes, ws.maxClosedNodesInTree, n)\n\t} else {\n\t\tws.removeNode(n)\n\t}\n}\n\nfunc (ws *priorityWriteScheduler) AdjustStream(streamID uint32, priority PriorityParam) {\n\tif streamID == 0 {\n\t\tpanic(\"adjustPriority on root\")\n\t}\n\n\t// If streamID does not exist, there are two cases:\n\t// - A closed stream that has been removed (this will have ID <= maxID)\n\t// - An idle stream that is being used for \"grouping\" (this will have ID > maxID)\n\tn := ws.nodes[streamID]\n\tif n == nil {\n\t\tif streamID <= ws.maxID || ws.maxIdleNodesInTree == 0 {\n\t\t\treturn\n\t\t}\n\t\tws.maxID = streamID\n\t\tn = &priorityNode{\n\t\t\tq:      *ws.queuePool.get(),\n\t\t\tid:     streamID,\n\t\t\tweight: priorityDefaultWeight,\n\t\t\tstate:  priorityNodeIdle,\n\t\t}\n\t\tn.setParent(&ws.root)\n\t\tws.nodes[streamID] = n\n\t\tws.addClosedOrIdleNode(&ws.idleNodes, ws.maxIdleNodesInTree, n)\n\t}\n\n\t// Section 5.3.1: A dependency on a stream that is not currently in the tree\n\t// results in that stream being given a default priority (Section 5.3.5).\n\tparent := ws.nodes[priority.StreamDep]\n\tif parent == nil {\n\t\tn.setParent(&ws.root)\n\t\tn.weight = priorityDefaultWeight\n\t\treturn\n\t}\n\n\t// Ignore if the client tries to make a node its own parent.\n\tif n == parent {\n\t\treturn\n\t}\n\n\t// Section 5.3.3:\n\t//   \"If a stream is made dependent on one of its own dependencies, the\n\t//   formerly dependent stream is first moved to be dependent on the\n\t//   reprioritized stream's previous parent. The moved dependency retains\n\t//   its weight.\"\n\t//\n\t// That is: if parent depends on n, move parent to depend on n.parent.\n\tfor x := parent.parent; x != nil; x = x.parent {\n\t\tif x == n {\n\t\t\tparent.setParent(n.parent)\n\t\t\tbreak\n\t\t}\n\t}\n\n\t// Section 5.3.3: The exclusive flag causes the stream to become the sole\n\t// dependency of its parent stream, causing other dependencies to become\n\t// dependent on the exclusive stream.\n\tif priority.Exclusive {\n\t\tk := parent.kids\n\t\tfor k != nil {\n\t\t\tnext := k.next\n\t\t\tif k != n {\n\t\t\t\tk.setParent(n)\n\t\t\t}\n\t\t\tk = next\n\t\t}\n\t}\n\n\tn.setParent(parent)\n\tn.weight = priority.Weight\n}\n\nfunc (ws *priorityWriteScheduler) Push(wr FrameWriteRequest) {\n\tvar n *priorityNode\n\tif id := wr.StreamID(); id == 0 {\n\t\tn = &ws.root\n\t} else {\n\t\tn = ws.nodes[id]\n\t\tif n == nil {\n\t\t\t// id is an idle or closed stream. wr should not be a HEADERS or\n\t\t\t// DATA frame. However, wr can be a RST_STREAM. In this case, we\n\t\t\t// push wr onto the root, rather than creating a new priorityNode,\n\t\t\t// since RST_STREAM is tiny and the stream's priority is unknown\n\t\t\t// anyway. See issue #17919.\n\t\t\tif wr.DataSize() > 0 {\n\t\t\t\tpanic(\"add DATA on non-open stream\")\n\t\t\t}\n\t\t\tn = &ws.root\n\t\t}\n\t}\n\tn.q.push(wr)\n}\n\nfunc (ws *priorityWriteScheduler) Pop() (wr FrameWriteRequest, ok bool) {\n\tws.root.walkReadyInOrder(false, &ws.tmp, func(n *priorityNode, openParent bool) bool {\n\t\tlimit := int32(math.MaxInt32)\n\t\tif openParent {\n\t\t\tlimit = ws.writeThrottleLimit\n\t\t}\n\t\twr, ok = n.q.consume(limit)\n\t\tif !ok {\n\t\t\treturn false\n\t\t}\n\t\tn.addBytes(int64(wr.DataSize()))\n\t\t// If B depends on A and B continuously has data available but A\n\t\t// does not, gradually increase the throttling limit to allow B to\n\t\t// steal more and more bandwidth from A.\n\t\tif openParent {\n\t\t\tws.writeThrottleLimit += 1024\n\t\t\tif ws.writeThrottleLimit < 0 {\n\t\t\t\tws.writeThrottleLimit = math.MaxInt32\n\t\t\t}\n\t\t} else if ws.enableWriteThrottle {\n\t\t\tws.writeThrottleLimit = 1024\n\t\t}\n\t\treturn true\n\t})\n\treturn wr, ok\n}\n\nfunc (ws *priorityWriteScheduler) addClosedOrIdleNode(list *[]*priorityNode, maxSize int, n *priorityNode) {\n\tif maxSize == 0 {\n\t\treturn\n\t}\n\tif len(*list) == maxSize {\n\t\t// Remove the oldest node, then shift left.\n\t\tws.removeNode((*list)[0])\n\t\tx := (*list)[1:]\n\t\tcopy(*list, x)\n\t\t*list = (*list)[:len(x)]\n\t}\n\t*list = append(*list, n)\n}\n\nfunc (ws *priorityWriteScheduler) removeNode(n *priorityNode) {\n\tfor k := n.kids; k != nil; k = k.next {\n\t\tk.setParent(n.parent)\n\t}\n\tn.setParent(nil)\n\tdelete(ws.nodes, n.id)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/writesched_random.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport \"math\"\n\n// NewRandomWriteScheduler constructs a WriteScheduler that ignores HTTP/2\n// priorities. Control frames like SETTINGS and PING are written before DATA\n// frames, but if no control frames are queued and multiple streams have queued\n// HEADERS or DATA frames, Pop selects a ready stream arbitrarily.\nfunc NewRandomWriteScheduler() WriteScheduler {\n\treturn &randomWriteScheduler{sq: make(map[uint32]*writeQueue)}\n}\n\ntype randomWriteScheduler struct {\n\t// zero are frames not associated with a specific stream.\n\tzero writeQueue\n\n\t// sq contains the stream-specific queues, keyed by stream ID.\n\t// When a stream is idle or closed, it's deleted from the map.\n\tsq map[uint32]*writeQueue\n\n\t// pool of empty queues for reuse.\n\tqueuePool writeQueuePool\n}\n\nfunc (ws *randomWriteScheduler) OpenStream(streamID uint32, options OpenStreamOptions) {\n\t// no-op: idle streams are not tracked\n}\n\nfunc (ws *randomWriteScheduler) CloseStream(streamID uint32) {\n\tq, ok := ws.sq[streamID]\n\tif !ok {\n\t\treturn\n\t}\n\tdelete(ws.sq, streamID)\n\tws.queuePool.put(q)\n}\n\nfunc (ws *randomWriteScheduler) AdjustStream(streamID uint32, priority PriorityParam) {\n\t// no-op: priorities are ignored\n}\n\nfunc (ws *randomWriteScheduler) Push(wr FrameWriteRequest) {\n\tid := wr.StreamID()\n\tif id == 0 {\n\t\tws.zero.push(wr)\n\t\treturn\n\t}\n\tq, ok := ws.sq[id]\n\tif !ok {\n\t\tq = ws.queuePool.get()\n\t\tws.sq[id] = q\n\t}\n\tq.push(wr)\n}\n\nfunc (ws *randomWriteScheduler) Pop() (FrameWriteRequest, bool) {\n\t// Control frames first.\n\tif !ws.zero.empty() {\n\t\treturn ws.zero.shift(), true\n\t}\n\t// Iterate over all non-idle streams until finding one that can be consumed.\n\tfor _, q := range ws.sq {\n\t\tif wr, ok := q.consume(math.MaxInt32); ok {\n\t\t\treturn wr, true\n\t\t}\n\t}\n\treturn FrameWriteRequest{}, false\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/idna/idna.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package idna implements IDNA2008 using the compatibility processing\n// defined by UTS (Unicode Technical Standard) #46, which defines a standard to\n// deal with the transition from IDNA2003.\n//\n// IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC\n// 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894.\n// UTS #46 is defined in http://www.unicode.org/reports/tr46.\n// See http://unicode.org/cldr/utility/idna.jsp for a visualization of the\n// differences between these two standards.\npackage idna // import \"golang.org/x/net/idna\"\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/secure/bidirule\"\n\t\"golang.org/x/text/unicode/bidi\"\n\t\"golang.org/x/text/unicode/norm\"\n)\n\n// NOTE: Unlike common practice in Go APIs, the functions will return a\n// sanitized domain name in case of errors. Browsers sometimes use a partially\n// evaluated string as lookup.\n// TODO: the current error handling is, in my opinion, the least opinionated.\n// Other strategies are also viable, though:\n// Option 1) Return an empty string in case of error, but allow the user to\n//    specify explicitly which errors to ignore.\n// Option 2) Return the partially evaluated string if it is itself a valid\n//    string, otherwise return the empty string in case of error.\n// Option 3) Option 1 and 2.\n// Option 4) Always return an empty string for now and implement Option 1 as\n//    needed, and document that the return string may not be empty in case of\n//    error in the future.\n// I think Option 1 is best, but it is quite opinionated.\n\n// ToASCII is a wrapper for Punycode.ToASCII.\nfunc ToASCII(s string) (string, error) {\n\treturn Punycode.process(s, true)\n}\n\n// ToUnicode is a wrapper for Punycode.ToUnicode.\nfunc ToUnicode(s string) (string, error) {\n\treturn Punycode.process(s, false)\n}\n\n// An Option configures a Profile at creation time.\ntype Option func(*options)\n\n// Transitional sets a Profile to use the Transitional mapping as defined in UTS\n// #46. This will cause, for example, \"ß\" to be mapped to \"ss\". Using the\n// transitional mapping provides a compromise between IDNA2003 and IDNA2008\n// compatibility. It is used by most browsers when resolving domain names. This\n// option is only meaningful if combined with MapForLookup.\nfunc Transitional(transitional bool) Option {\n\treturn func(o *options) { o.transitional = true }\n}\n\n// VerifyDNSLength sets whether a Profile should fail if any of the IDN parts\n// are longer than allowed by the RFC.\nfunc VerifyDNSLength(verify bool) Option {\n\treturn func(o *options) { o.verifyDNSLength = verify }\n}\n\n// RemoveLeadingDots removes leading label separators. Leading runes that map to\n// dots, such as U+3002 IDEOGRAPHIC FULL STOP, are removed as well.\n//\n// This is the behavior suggested by the UTS #46 and is adopted by some\n// browsers.\nfunc RemoveLeadingDots(remove bool) Option {\n\treturn func(o *options) { o.removeLeadingDots = remove }\n}\n\n// ValidateLabels sets whether to check the mandatory label validation criteria\n// as defined in Section 5.4 of RFC 5891. This includes testing for correct use\n// of hyphens ('-'), normalization, validity of runes, and the context rules.\nfunc ValidateLabels(enable bool) Option {\n\treturn func(o *options) {\n\t\t// Don't override existing mappings, but set one that at least checks\n\t\t// normalization if it is not set.\n\t\tif o.mapping == nil && enable {\n\t\t\to.mapping = normalize\n\t\t}\n\t\to.trie = trie\n\t\to.validateLabels = enable\n\t\to.fromPuny = validateFromPunycode\n\t}\n}\n\n// StrictDomainName limits the set of permissible ASCII characters to those\n// allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the\n// hyphen). This is set by default for MapForLookup and ValidateForRegistration.\n//\n// This option is useful, for instance, for browsers that allow characters\n// outside this range, for example a '_' (U+005F LOW LINE). See\n// http://www.rfc-editor.org/std/std3.txt for more details This option\n// corresponds to the UseSTD3ASCIIRules option in UTS #46.\nfunc StrictDomainName(use bool) Option {\n\treturn func(o *options) {\n\t\to.trie = trie\n\t\to.useSTD3Rules = use\n\t\to.fromPuny = validateFromPunycode\n\t}\n}\n\n// NOTE: the following options pull in tables. The tables should not be linked\n// in as long as the options are not used.\n\n// BidiRule enables the Bidi rule as defined in RFC 5893. Any application\n// that relies on proper validation of labels should include this rule.\nfunc BidiRule() Option {\n\treturn func(o *options) { o.bidirule = bidirule.ValidString }\n}\n\n// ValidateForRegistration sets validation options to verify that a given IDN is\n// properly formatted for registration as defined by Section 4 of RFC 5891.\nfunc ValidateForRegistration() Option {\n\treturn func(o *options) {\n\t\to.mapping = validateRegistration\n\t\tStrictDomainName(true)(o)\n\t\tValidateLabels(true)(o)\n\t\tVerifyDNSLength(true)(o)\n\t\tBidiRule()(o)\n\t}\n}\n\n// MapForLookup sets validation and mapping options such that a given IDN is\n// transformed for domain name lookup according to the requirements set out in\n// Section 5 of RFC 5891. The mappings follow the recommendations of RFC 5894,\n// RFC 5895 and UTS 46. It does not add the Bidi Rule. Use the BidiRule option\n// to add this check.\n//\n// The mappings include normalization and mapping case, width and other\n// compatibility mappings.\nfunc MapForLookup() Option {\n\treturn func(o *options) {\n\t\to.mapping = validateAndMap\n\t\tStrictDomainName(true)(o)\n\t\tValidateLabels(true)(o)\n\t}\n}\n\ntype options struct {\n\ttransitional      bool\n\tuseSTD3Rules      bool\n\tvalidateLabels    bool\n\tverifyDNSLength   bool\n\tremoveLeadingDots bool\n\n\ttrie *idnaTrie\n\n\t// fromPuny calls validation rules when converting A-labels to U-labels.\n\tfromPuny func(p *Profile, s string) error\n\n\t// mapping implements a validation and mapping step as defined in RFC 5895\n\t// or UTS 46, tailored to, for example, domain registration or lookup.\n\tmapping func(p *Profile, s string) (mapped string, isBidi bool, err error)\n\n\t// bidirule, if specified, checks whether s conforms to the Bidi Rule\n\t// defined in RFC 5893.\n\tbidirule func(s string) bool\n}\n\n// A Profile defines the configuration of an IDNA mapper.\ntype Profile struct {\n\toptions\n}\n\nfunc apply(o *options, opts []Option) {\n\tfor _, f := range opts {\n\t\tf(o)\n\t}\n}\n\n// New creates a new Profile.\n//\n// With no options, the returned Profile is the most permissive and equals the\n// Punycode Profile. Options can be passed to further restrict the Profile. The\n// MapForLookup and ValidateForRegistration options set a collection of options,\n// for lookup and registration purposes respectively, which can be tailored by\n// adding more fine-grained options, where later options override earlier\n// options.\nfunc New(o ...Option) *Profile {\n\tp := &Profile{}\n\tapply(&p.options, o)\n\treturn p\n}\n\n// ToASCII converts a domain or domain label to its ASCII form. For example,\n// ToASCII(\"bücher.example.com\") is \"xn--bcher-kva.example.com\", and\n// ToASCII(\"golang\") is \"golang\". If an error is encountered it will return\n// an error and a (partially) processed result.\nfunc (p *Profile) ToASCII(s string) (string, error) {\n\treturn p.process(s, true)\n}\n\n// ToUnicode converts a domain or domain label to its Unicode form. For example,\n// ToUnicode(\"xn--bcher-kva.example.com\") is \"bücher.example.com\", and\n// ToUnicode(\"golang\") is \"golang\". If an error is encountered it will return\n// an error and a (partially) processed result.\nfunc (p *Profile) ToUnicode(s string) (string, error) {\n\tpp := *p\n\tpp.transitional = false\n\treturn pp.process(s, false)\n}\n\n// String reports a string with a description of the profile for debugging\n// purposes. The string format may change with different versions.\nfunc (p *Profile) String() string {\n\ts := \"\"\n\tif p.transitional {\n\t\ts = \"Transitional\"\n\t} else {\n\t\ts = \"NonTransitional\"\n\t}\n\tif p.useSTD3Rules {\n\t\ts += \":UseSTD3Rules\"\n\t}\n\tif p.validateLabels {\n\t\ts += \":ValidateLabels\"\n\t}\n\tif p.verifyDNSLength {\n\t\ts += \":VerifyDNSLength\"\n\t}\n\treturn s\n}\n\nvar (\n\t// Punycode is a Profile that does raw punycode processing with a minimum\n\t// of validation.\n\tPunycode *Profile = punycode\n\n\t// Lookup is the recommended profile for looking up domain names, according\n\t// to Section 5 of RFC 5891. The exact configuration of this profile may\n\t// change over time.\n\tLookup *Profile = lookup\n\n\t// Display is the recommended profile for displaying domain names.\n\t// The configuration of this profile may change over time.\n\tDisplay *Profile = display\n\n\t// Registration is the recommended profile for checking whether a given\n\t// IDN is valid for registration, according to Section 4 of RFC 5891.\n\tRegistration *Profile = registration\n\n\tpunycode = &Profile{}\n\tlookup   = &Profile{options{\n\t\ttransitional:   true,\n\t\tuseSTD3Rules:   true,\n\t\tvalidateLabels: true,\n\t\ttrie:           trie,\n\t\tfromPuny:       validateFromPunycode,\n\t\tmapping:        validateAndMap,\n\t\tbidirule:       bidirule.ValidString,\n\t}}\n\tdisplay = &Profile{options{\n\t\tuseSTD3Rules:   true,\n\t\tvalidateLabels: true,\n\t\ttrie:           trie,\n\t\tfromPuny:       validateFromPunycode,\n\t\tmapping:        validateAndMap,\n\t\tbidirule:       bidirule.ValidString,\n\t}}\n\tregistration = &Profile{options{\n\t\tuseSTD3Rules:    true,\n\t\tvalidateLabels:  true,\n\t\tverifyDNSLength: true,\n\t\ttrie:            trie,\n\t\tfromPuny:        validateFromPunycode,\n\t\tmapping:         validateRegistration,\n\t\tbidirule:        bidirule.ValidString,\n\t}}\n\n\t// TODO: profiles\n\t// Register: recommended for approving domain names: don't do any mappings\n\t// but rather reject on invalid input. Bundle or block deviation characters.\n)\n\ntype labelError struct{ label, code_ string }\n\nfunc (e labelError) code() string { return e.code_ }\nfunc (e labelError) Error() string {\n\treturn fmt.Sprintf(\"idna: invalid label %q\", e.label)\n}\n\ntype runeError rune\n\nfunc (e runeError) code() string { return \"P1\" }\nfunc (e runeError) Error() string {\n\treturn fmt.Sprintf(\"idna: disallowed rune %U\", e)\n}\n\n// process implements the algorithm described in section 4 of UTS #46,\n// see http://www.unicode.org/reports/tr46.\nfunc (p *Profile) process(s string, toASCII bool) (string, error) {\n\tvar err error\n\tvar isBidi bool\n\tif p.mapping != nil {\n\t\ts, isBidi, err = p.mapping(p, s)\n\t}\n\t// Remove leading empty labels.\n\tif p.removeLeadingDots {\n\t\tfor ; len(s) > 0 && s[0] == '.'; s = s[1:] {\n\t\t}\n\t}\n\t// TODO: allow for a quick check of the tables data.\n\t// It seems like we should only create this error on ToASCII, but the\n\t// UTS 46 conformance tests suggests we should always check this.\n\tif err == nil && p.verifyDNSLength && s == \"\" {\n\t\terr = &labelError{s, \"A4\"}\n\t}\n\tlabels := labelIter{orig: s}\n\tfor ; !labels.done(); labels.next() {\n\t\tlabel := labels.label()\n\t\tif label == \"\" {\n\t\t\t// Empty labels are not okay. The label iterator skips the last\n\t\t\t// label if it is empty.\n\t\t\tif err == nil && p.verifyDNSLength {\n\t\t\t\terr = &labelError{s, \"A4\"}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif strings.HasPrefix(label, acePrefix) {\n\t\t\tu, err2 := decode(label[len(acePrefix):])\n\t\t\tif err2 != nil {\n\t\t\t\tif err == nil {\n\t\t\t\t\terr = err2\n\t\t\t\t}\n\t\t\t\t// Spec says keep the old label.\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tisBidi = isBidi || bidirule.DirectionString(u) != bidi.LeftToRight\n\t\t\tlabels.set(u)\n\t\t\tif err == nil && p.validateLabels {\n\t\t\t\terr = p.fromPuny(p, u)\n\t\t\t}\n\t\t\tif err == nil {\n\t\t\t\t// This should be called on NonTransitional, according to the\n\t\t\t\t// spec, but that currently does not have any effect. Use the\n\t\t\t\t// original profile to preserve options.\n\t\t\t\terr = p.validateLabel(u)\n\t\t\t}\n\t\t} else if err == nil {\n\t\t\terr = p.validateLabel(label)\n\t\t}\n\t}\n\tif isBidi && p.bidirule != nil && err == nil {\n\t\tfor labels.reset(); !labels.done(); labels.next() {\n\t\t\tif !p.bidirule(labels.label()) {\n\t\t\t\terr = &labelError{s, \"B\"}\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tif toASCII {\n\t\tfor labels.reset(); !labels.done(); labels.next() {\n\t\t\tlabel := labels.label()\n\t\t\tif !ascii(label) {\n\t\t\t\ta, err2 := encode(acePrefix, label)\n\t\t\t\tif err == nil {\n\t\t\t\t\terr = err2\n\t\t\t\t}\n\t\t\t\tlabel = a\n\t\t\t\tlabels.set(a)\n\t\t\t}\n\t\t\tn := len(label)\n\t\t\tif p.verifyDNSLength && err == nil && (n == 0 || n > 63) {\n\t\t\t\terr = &labelError{label, \"A4\"}\n\t\t\t}\n\t\t}\n\t}\n\ts = labels.result()\n\tif toASCII && p.verifyDNSLength && err == nil {\n\t\t// Compute the length of the domain name minus the root label and its dot.\n\t\tn := len(s)\n\t\tif n > 0 && s[n-1] == '.' {\n\t\t\tn--\n\t\t}\n\t\tif len(s) < 1 || n > 253 {\n\t\t\terr = &labelError{s, \"A4\"}\n\t\t}\n\t}\n\treturn s, err\n}\n\nfunc normalize(p *Profile, s string) (mapped string, isBidi bool, err error) {\n\t// TODO: consider first doing a quick check to see if any of these checks\n\t// need to be done. This will make it slower in the general case, but\n\t// faster in the common case.\n\tmapped = norm.NFC.String(s)\n\tisBidi = bidirule.DirectionString(mapped) == bidi.RightToLeft\n\treturn mapped, isBidi, nil\n}\n\nfunc validateRegistration(p *Profile, s string) (idem string, bidi bool, err error) {\n\t// TODO: filter need for normalization in loop below.\n\tif !norm.NFC.IsNormalString(s) {\n\t\treturn s, false, &labelError{s, \"V1\"}\n\t}\n\tfor i := 0; i < len(s); {\n\t\tv, sz := trie.lookupString(s[i:])\n\t\tif sz == 0 {\n\t\t\treturn s, bidi, runeError(utf8.RuneError)\n\t\t}\n\t\tbidi = bidi || info(v).isBidi(s[i:])\n\t\t// Copy bytes not copied so far.\n\t\tswitch p.simplify(info(v).category()) {\n\t\t// TODO: handle the NV8 defined in the Unicode idna data set to allow\n\t\t// for strict conformance to IDNA2008.\n\t\tcase valid, deviation:\n\t\tcase disallowed, mapped, unknown, ignored:\n\t\t\tr, _ := utf8.DecodeRuneInString(s[i:])\n\t\t\treturn s, bidi, runeError(r)\n\t\t}\n\t\ti += sz\n\t}\n\treturn s, bidi, nil\n}\n\nfunc (c info) isBidi(s string) bool {\n\tif !c.isMapped() {\n\t\treturn c&attributesMask == rtl\n\t}\n\t// TODO: also store bidi info for mapped data. This is possible, but a bit\n\t// cumbersome and not for the common case.\n\tp, _ := bidi.LookupString(s)\n\tswitch p.Class() {\n\tcase bidi.R, bidi.AL, bidi.AN:\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc validateAndMap(p *Profile, s string) (vm string, bidi bool, err error) {\n\tvar (\n\t\tb []byte\n\t\tk int\n\t)\n\t// combinedInfoBits contains the or-ed bits of all runes. We use this\n\t// to derive the mayNeedNorm bit later. This may trigger normalization\n\t// overeagerly, but it will not do so in the common case. The end result\n\t// is another 10% saving on BenchmarkProfile for the common case.\n\tvar combinedInfoBits info\n\tfor i := 0; i < len(s); {\n\t\tv, sz := trie.lookupString(s[i:])\n\t\tif sz == 0 {\n\t\t\tb = append(b, s[k:i]...)\n\t\t\tb = append(b, \"\\ufffd\"...)\n\t\t\tk = len(s)\n\t\t\tif err == nil {\n\t\t\t\terr = runeError(utf8.RuneError)\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tcombinedInfoBits |= info(v)\n\t\tbidi = bidi || info(v).isBidi(s[i:])\n\t\tstart := i\n\t\ti += sz\n\t\t// Copy bytes not copied so far.\n\t\tswitch p.simplify(info(v).category()) {\n\t\tcase valid:\n\t\t\tcontinue\n\t\tcase disallowed:\n\t\t\tif err == nil {\n\t\t\t\tr, _ := utf8.DecodeRuneInString(s[start:])\n\t\t\t\terr = runeError(r)\n\t\t\t}\n\t\t\tcontinue\n\t\tcase mapped, deviation:\n\t\t\tb = append(b, s[k:start]...)\n\t\t\tb = info(v).appendMapping(b, s[start:i])\n\t\tcase ignored:\n\t\t\tb = append(b, s[k:start]...)\n\t\t\t// drop the rune\n\t\tcase unknown:\n\t\t\tb = append(b, s[k:start]...)\n\t\t\tb = append(b, \"\\ufffd\"...)\n\t\t}\n\t\tk = i\n\t}\n\tif k == 0 {\n\t\t// No changes so far.\n\t\tif combinedInfoBits&mayNeedNorm != 0 {\n\t\t\ts = norm.NFC.String(s)\n\t\t}\n\t} else {\n\t\tb = append(b, s[k:]...)\n\t\tif norm.NFC.QuickSpan(b) != len(b) {\n\t\t\tb = norm.NFC.Bytes(b)\n\t\t}\n\t\t// TODO: the punycode converters require strings as input.\n\t\ts = string(b)\n\t}\n\treturn s, bidi, err\n}\n\n// A labelIter allows iterating over domain name labels.\ntype labelIter struct {\n\torig     string\n\tslice    []string\n\tcurStart int\n\tcurEnd   int\n\ti        int\n}\n\nfunc (l *labelIter) reset() {\n\tl.curStart = 0\n\tl.curEnd = 0\n\tl.i = 0\n}\n\nfunc (l *labelIter) done() bool {\n\treturn l.curStart >= len(l.orig)\n}\n\nfunc (l *labelIter) result() string {\n\tif l.slice != nil {\n\t\treturn strings.Join(l.slice, \".\")\n\t}\n\treturn l.orig\n}\n\nfunc (l *labelIter) label() string {\n\tif l.slice != nil {\n\t\treturn l.slice[l.i]\n\t}\n\tp := strings.IndexByte(l.orig[l.curStart:], '.')\n\tl.curEnd = l.curStart + p\n\tif p == -1 {\n\t\tl.curEnd = len(l.orig)\n\t}\n\treturn l.orig[l.curStart:l.curEnd]\n}\n\n// next sets the value to the next label. It skips the last label if it is empty.\nfunc (l *labelIter) next() {\n\tl.i++\n\tif l.slice != nil {\n\t\tif l.i >= len(l.slice) || l.i == len(l.slice)-1 && l.slice[l.i] == \"\" {\n\t\t\tl.curStart = len(l.orig)\n\t\t}\n\t} else {\n\t\tl.curStart = l.curEnd + 1\n\t\tif l.curStart == len(l.orig)-1 && l.orig[l.curStart] == '.' {\n\t\t\tl.curStart = len(l.orig)\n\t\t}\n\t}\n}\n\nfunc (l *labelIter) set(s string) {\n\tif l.slice == nil {\n\t\tl.slice = strings.Split(l.orig, \".\")\n\t}\n\tl.slice[l.i] = s\n}\n\n// acePrefix is the ASCII Compatible Encoding prefix.\nconst acePrefix = \"xn--\"\n\nfunc (p *Profile) simplify(cat category) category {\n\tswitch cat {\n\tcase disallowedSTD3Mapped:\n\t\tif p.useSTD3Rules {\n\t\t\tcat = disallowed\n\t\t} else {\n\t\t\tcat = mapped\n\t\t}\n\tcase disallowedSTD3Valid:\n\t\tif p.useSTD3Rules {\n\t\t\tcat = disallowed\n\t\t} else {\n\t\t\tcat = valid\n\t\t}\n\tcase deviation:\n\t\tif !p.transitional {\n\t\t\tcat = valid\n\t\t}\n\tcase validNV8, validXV8:\n\t\t// TODO: handle V2008\n\t\tcat = valid\n\t}\n\treturn cat\n}\n\nfunc validateFromPunycode(p *Profile, s string) error {\n\tif !norm.NFC.IsNormalString(s) {\n\t\treturn &labelError{s, \"V1\"}\n\t}\n\t// TODO: detect whether string may have to be normalized in the following\n\t// loop.\n\tfor i := 0; i < len(s); {\n\t\tv, sz := trie.lookupString(s[i:])\n\t\tif sz == 0 {\n\t\t\treturn runeError(utf8.RuneError)\n\t\t}\n\t\tif c := p.simplify(info(v).category()); c != valid && c != deviation {\n\t\t\treturn &labelError{s, \"V6\"}\n\t\t}\n\t\ti += sz\n\t}\n\treturn nil\n}\n\nconst (\n\tzwnj = \"\\u200c\"\n\tzwj  = \"\\u200d\"\n)\n\ntype joinState int8\n\nconst (\n\tstateStart joinState = iota\n\tstateVirama\n\tstateBefore\n\tstateBeforeVirama\n\tstateAfter\n\tstateFAIL\n)\n\nvar joinStates = [][numJoinTypes]joinState{\n\tstateStart: {\n\t\tjoiningL:   stateBefore,\n\t\tjoiningD:   stateBefore,\n\t\tjoinZWNJ:   stateFAIL,\n\t\tjoinZWJ:    stateFAIL,\n\t\tjoinVirama: stateVirama,\n\t},\n\tstateVirama: {\n\t\tjoiningL: stateBefore,\n\t\tjoiningD: stateBefore,\n\t},\n\tstateBefore: {\n\t\tjoiningL:   stateBefore,\n\t\tjoiningD:   stateBefore,\n\t\tjoiningT:   stateBefore,\n\t\tjoinZWNJ:   stateAfter,\n\t\tjoinZWJ:    stateFAIL,\n\t\tjoinVirama: stateBeforeVirama,\n\t},\n\tstateBeforeVirama: {\n\t\tjoiningL: stateBefore,\n\t\tjoiningD: stateBefore,\n\t\tjoiningT: stateBefore,\n\t},\n\tstateAfter: {\n\t\tjoiningL:   stateFAIL,\n\t\tjoiningD:   stateBefore,\n\t\tjoiningT:   stateAfter,\n\t\tjoiningR:   stateStart,\n\t\tjoinZWNJ:   stateFAIL,\n\t\tjoinZWJ:    stateFAIL,\n\t\tjoinVirama: stateAfter, // no-op as we can't accept joiners here\n\t},\n\tstateFAIL: {\n\t\t0:          stateFAIL,\n\t\tjoiningL:   stateFAIL,\n\t\tjoiningD:   stateFAIL,\n\t\tjoiningT:   stateFAIL,\n\t\tjoiningR:   stateFAIL,\n\t\tjoinZWNJ:   stateFAIL,\n\t\tjoinZWJ:    stateFAIL,\n\t\tjoinVirama: stateFAIL,\n\t},\n}\n\n// validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are\n// already implicitly satisfied by the overall implementation.\nfunc (p *Profile) validateLabel(s string) (err error) {\n\tif s == \"\" {\n\t\tif p.verifyDNSLength {\n\t\t\treturn &labelError{s, \"A4\"}\n\t\t}\n\t\treturn nil\n\t}\n\tif !p.validateLabels {\n\t\treturn nil\n\t}\n\ttrie := p.trie // p.validateLabels is only set if trie is set.\n\tif len(s) > 4 && s[2] == '-' && s[3] == '-' {\n\t\treturn &labelError{s, \"V2\"}\n\t}\n\tif s[0] == '-' || s[len(s)-1] == '-' {\n\t\treturn &labelError{s, \"V3\"}\n\t}\n\t// TODO: merge the use of this in the trie.\n\tv, sz := trie.lookupString(s)\n\tx := info(v)\n\tif x.isModifier() {\n\t\treturn &labelError{s, \"V5\"}\n\t}\n\t// Quickly return in the absence of zero-width (non) joiners.\n\tif strings.Index(s, zwj) == -1 && strings.Index(s, zwnj) == -1 {\n\t\treturn nil\n\t}\n\tst := stateStart\n\tfor i := 0; ; {\n\t\tjt := x.joinType()\n\t\tif s[i:i+sz] == zwj {\n\t\t\tjt = joinZWJ\n\t\t} else if s[i:i+sz] == zwnj {\n\t\t\tjt = joinZWNJ\n\t\t}\n\t\tst = joinStates[st][jt]\n\t\tif x.isViramaModifier() {\n\t\t\tst = joinStates[st][joinVirama]\n\t\t}\n\t\tif i += sz; i == len(s) {\n\t\t\tbreak\n\t\t}\n\t\tv, sz = trie.lookupString(s[i:])\n\t\tx = info(v)\n\t}\n\tif st == stateFAIL || st == stateAfter {\n\t\treturn &labelError{s, \"C\"}\n\t}\n\treturn nil\n}\n\nfunc ascii(s string) bool {\n\tfor i := 0; i < len(s); i++ {\n\t\tif s[i] >= utf8.RuneSelf {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/idna/punycode.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage idna\n\n// This file implements the Punycode algorithm from RFC 3492.\n\nimport (\n\t\"math\"\n\t\"strings\"\n\t\"unicode/utf8\"\n)\n\n// These parameter values are specified in section 5.\n//\n// All computation is done with int32s, so that overflow behavior is identical\n// regardless of whether int is 32-bit or 64-bit.\nconst (\n\tbase        int32 = 36\n\tdamp        int32 = 700\n\tinitialBias int32 = 72\n\tinitialN    int32 = 128\n\tskew        int32 = 38\n\ttmax        int32 = 26\n\ttmin        int32 = 1\n)\n\nfunc punyError(s string) error { return &labelError{s, \"A3\"} }\n\n// decode decodes a string as specified in section 6.2.\nfunc decode(encoded string) (string, error) {\n\tif encoded == \"\" {\n\t\treturn \"\", nil\n\t}\n\tpos := 1 + strings.LastIndex(encoded, \"-\")\n\tif pos == 1 {\n\t\treturn \"\", punyError(encoded)\n\t}\n\tif pos == len(encoded) {\n\t\treturn encoded[:len(encoded)-1], nil\n\t}\n\toutput := make([]rune, 0, len(encoded))\n\tif pos != 0 {\n\t\tfor _, r := range encoded[:pos-1] {\n\t\t\toutput = append(output, r)\n\t\t}\n\t}\n\ti, n, bias := int32(0), initialN, initialBias\n\tfor pos < len(encoded) {\n\t\toldI, w := i, int32(1)\n\t\tfor k := base; ; k += base {\n\t\t\tif pos == len(encoded) {\n\t\t\t\treturn \"\", punyError(encoded)\n\t\t\t}\n\t\t\tdigit, ok := decodeDigit(encoded[pos])\n\t\t\tif !ok {\n\t\t\t\treturn \"\", punyError(encoded)\n\t\t\t}\n\t\t\tpos++\n\t\t\ti += digit * w\n\t\t\tif i < 0 {\n\t\t\t\treturn \"\", punyError(encoded)\n\t\t\t}\n\t\t\tt := k - bias\n\t\t\tif t < tmin {\n\t\t\t\tt = tmin\n\t\t\t} else if t > tmax {\n\t\t\t\tt = tmax\n\t\t\t}\n\t\t\tif digit < t {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tw *= base - t\n\t\t\tif w >= math.MaxInt32/base {\n\t\t\t\treturn \"\", punyError(encoded)\n\t\t\t}\n\t\t}\n\t\tx := int32(len(output) + 1)\n\t\tbias = adapt(i-oldI, x, oldI == 0)\n\t\tn += i / x\n\t\ti %= x\n\t\tif n > utf8.MaxRune || len(output) >= 1024 {\n\t\t\treturn \"\", punyError(encoded)\n\t\t}\n\t\toutput = append(output, 0)\n\t\tcopy(output[i+1:], output[i:])\n\t\toutput[i] = n\n\t\ti++\n\t}\n\treturn string(output), nil\n}\n\n// encode encodes a string as specified in section 6.3 and prepends prefix to\n// the result.\n//\n// The \"while h < length(input)\" line in the specification becomes \"for\n// remaining != 0\" in the Go code, because len(s) in Go is in bytes, not runes.\nfunc encode(prefix, s string) (string, error) {\n\toutput := make([]byte, len(prefix), len(prefix)+1+2*len(s))\n\tcopy(output, prefix)\n\tdelta, n, bias := int32(0), initialN, initialBias\n\tb, remaining := int32(0), int32(0)\n\tfor _, r := range s {\n\t\tif r < 0x80 {\n\t\t\tb++\n\t\t\toutput = append(output, byte(r))\n\t\t} else {\n\t\t\tremaining++\n\t\t}\n\t}\n\th := b\n\tif b > 0 {\n\t\toutput = append(output, '-')\n\t}\n\tfor remaining != 0 {\n\t\tm := int32(0x7fffffff)\n\t\tfor _, r := range s {\n\t\t\tif m > r && r >= n {\n\t\t\t\tm = r\n\t\t\t}\n\t\t}\n\t\tdelta += (m - n) * (h + 1)\n\t\tif delta < 0 {\n\t\t\treturn \"\", punyError(s)\n\t\t}\n\t\tn = m\n\t\tfor _, r := range s {\n\t\t\tif r < n {\n\t\t\t\tdelta++\n\t\t\t\tif delta < 0 {\n\t\t\t\t\treturn \"\", punyError(s)\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif r > n {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tq := delta\n\t\t\tfor k := base; ; k += base {\n\t\t\t\tt := k - bias\n\t\t\t\tif t < tmin {\n\t\t\t\t\tt = tmin\n\t\t\t\t} else if t > tmax {\n\t\t\t\t\tt = tmax\n\t\t\t\t}\n\t\t\t\tif q < t {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\toutput = append(output, encodeDigit(t+(q-t)%(base-t)))\n\t\t\t\tq = (q - t) / (base - t)\n\t\t\t}\n\t\t\toutput = append(output, encodeDigit(q))\n\t\t\tbias = adapt(delta, h+1, h == b)\n\t\t\tdelta = 0\n\t\t\th++\n\t\t\tremaining--\n\t\t}\n\t\tdelta++\n\t\tn++\n\t}\n\treturn string(output), nil\n}\n\nfunc decodeDigit(x byte) (digit int32, ok bool) {\n\tswitch {\n\tcase '0' <= x && x <= '9':\n\t\treturn int32(x - ('0' - 26)), true\n\tcase 'A' <= x && x <= 'Z':\n\t\treturn int32(x - 'A'), true\n\tcase 'a' <= x && x <= 'z':\n\t\treturn int32(x - 'a'), true\n\t}\n\treturn 0, false\n}\n\nfunc encodeDigit(digit int32) byte {\n\tswitch {\n\tcase 0 <= digit && digit < 26:\n\t\treturn byte(digit + 'a')\n\tcase 26 <= digit && digit < 36:\n\t\treturn byte(digit + ('0' - 26))\n\t}\n\tpanic(\"idna: internal error in punycode encoding\")\n}\n\n// adapt is the bias adaptation function specified in section 6.1.\nfunc adapt(delta, numPoints int32, firstTime bool) int32 {\n\tif firstTime {\n\t\tdelta /= damp\n\t} else {\n\t\tdelta /= 2\n\t}\n\tdelta += delta / numPoints\n\tk := int32(0)\n\tfor delta > ((base-tmin)*tmax)/2 {\n\t\tdelta /= base - tmin\n\t\tk += base\n\t}\n\treturn k + (base-tmin+1)*delta/(delta+skew)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/idna/tables.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage idna\n\n// UnicodeVersion is the Unicode version from which the tables in this package are derived.\nconst UnicodeVersion = \"10.0.0\"\n\nvar mappings string = \"\" + // Size: 8176 bytes\n\t\"\\x00\\x01 \\x03 ̈\\x01a\\x03 ̄\\x012\\x013\\x03 ́\\x03 ̧\\x011\\x01o\\x051⁄4\\x051⁄2\" +\n\t\"\\x053⁄4\\x03i̇\\x03l·\\x03ʼn\\x01s\\x03dž\\x03ⱥ\\x03ⱦ\\x01h\\x01j\\x01r\\x01w\\x01y\" +\n\t\"\\x03 ̆\\x03 ̇\\x03 ̊\\x03 ̨\\x03 ̃\\x03 ̋\\x01l\\x01x\\x04̈́\\x03 ι\\x01;\\x05 ̈́\" +\n\t\"\\x04եւ\\x04اٴ\\x04وٴ\\x04ۇٴ\\x04يٴ\\x06क़\\x06ख़\\x06ग़\\x06ज़\\x06ड़\\x06ढ़\\x06फ़\" +\n\t\"\\x06य़\\x06ড়\\x06ঢ়\\x06য়\\x06ਲ਼\\x06ਸ਼\\x06ਖ਼\\x06ਗ਼\\x06ਜ਼\\x06ਫ਼\\x06ଡ଼\\x06ଢ଼\" +\n\t\"\\x06ํา\\x06ໍາ\\x06ຫນ\\x06ຫມ\\x06གྷ\\x06ཌྷ\\x06དྷ\\x06བྷ\\x06ཛྷ\\x06ཀྵ\\x06ཱི\\x06ཱུ\" +\n\t\"\\x06ྲྀ\\x09ྲཱྀ\\x06ླྀ\\x09ླཱྀ\\x06ཱྀ\\x06ྒྷ\\x06ྜྷ\\x06ྡྷ\\x06ྦྷ\\x06ྫྷ\\x06ྐྵ\\x02\" +\n\t\"в\\x02д\\x02о\\x02с\\x02т\\x02ъ\\x02ѣ\\x02æ\\x01b\\x01d\\x01e\\x02ǝ\\x01g\\x01i\\x01k\" +\n\t\"\\x01m\\x01n\\x02ȣ\\x01p\\x01t\\x01u\\x02ɐ\\x02ɑ\\x02ə\\x02ɛ\\x02ɜ\\x02ŋ\\x02ɔ\\x02ɯ\" +\n\t\"\\x01v\\x02β\\x02γ\\x02δ\\x02φ\\x02χ\\x02ρ\\x02н\\x02ɒ\\x01c\\x02ɕ\\x02ð\\x01f\\x02ɟ\" +\n\t\"\\x02ɡ\\x02ɥ\\x02ɨ\\x02ɩ\\x02ɪ\\x02ʝ\\x02ɭ\\x02ʟ\\x02ɱ\\x02ɰ\\x02ɲ\\x02ɳ\\x02ɴ\\x02ɵ\" +\n\t\"\\x02ɸ\\x02ʂ\\x02ʃ\\x02ƫ\\x02ʉ\\x02ʊ\\x02ʋ\\x02ʌ\\x01z\\x02ʐ\\x02ʑ\\x02ʒ\\x02θ\\x02ss\" +\n\t\"\\x02ά\\x02έ\\x02ή\\x02ί\\x02ό\\x02ύ\\x02ώ\\x05ἀι\\x05ἁι\\x05ἂι\\x05ἃι\\x05ἄι\\x05ἅι\" +\n\t\"\\x05ἆι\\x05ἇι\\x05ἠι\\x05ἡι\\x05ἢι\\x05ἣι\\x05ἤι\\x05ἥι\\x05ἦι\\x05ἧι\\x05ὠι\\x05ὡι\" +\n\t\"\\x05ὢι\\x05ὣι\\x05ὤι\\x05ὥι\\x05ὦι\\x05ὧι\\x05ὰι\\x04αι\\x04άι\\x05ᾶι\\x02ι\\x05 ̈͂\" +\n\t\"\\x05ὴι\\x04ηι\\x04ήι\\x05ῆι\\x05 ̓̀\\x05 ̓́\\x05 ̓͂\\x02ΐ\\x05 ̔̀\\x05 ̔́\\x05 ̔͂\" +\n\t\"\\x02ΰ\\x05 ̈̀\\x01`\\x05ὼι\\x04ωι\\x04ώι\\x05ῶι\\x06′′\\x09′′′\\x06‵‵\\x09‵‵‵\\x02!\" +\n\t\"!\\x02??\\x02?!\\x02!?\\x0c′′′′\\x010\\x014\\x015\\x016\\x017\\x018\\x019\\x01+\\x01=\" +\n\t\"\\x01(\\x01)\\x02rs\\x02ħ\\x02no\\x01q\\x02sm\\x02tm\\x02ω\\x02å\\x02א\\x02ב\\x02ג\" +\n\t\"\\x02ד\\x02π\\x051⁄7\\x051⁄9\\x061⁄10\\x051⁄3\\x052⁄3\\x051⁄5\\x052⁄5\\x053⁄5\\x054\" +\n\t\"⁄5\\x051⁄6\\x055⁄6\\x051⁄8\\x053⁄8\\x055⁄8\\x057⁄8\\x041⁄\\x02ii\\x02iv\\x02vi\" +\n\t\"\\x04viii\\x02ix\\x02xi\\x050⁄3\\x06∫∫\\x09∫∫∫\\x06∮∮\\x09∮∮∮\\x0210\\x0211\\x0212\" +\n\t\"\\x0213\\x0214\\x0215\\x0216\\x0217\\x0218\\x0219\\x0220\\x04(10)\\x04(11)\\x04(12)\" +\n\t\"\\x04(13)\\x04(14)\\x04(15)\\x04(16)\\x04(17)\\x04(18)\\x04(19)\\x04(20)\\x0c∫∫∫∫\" +\n\t\"\\x02==\\x05⫝̸\\x02ɫ\\x02ɽ\\x02ȿ\\x02ɀ\\x01.\\x04 ゙\\x04 ゚\\x06より\\x06コト\\x05(ᄀ)\\x05\" +\n\t\"(ᄂ)\\x05(ᄃ)\\x05(ᄅ)\\x05(ᄆ)\\x05(ᄇ)\\x05(ᄉ)\\x05(ᄋ)\\x05(ᄌ)\\x05(ᄎ)\\x05(ᄏ)\\x05(ᄐ\" +\n\t\")\\x05(ᄑ)\\x05(ᄒ)\\x05(가)\\x05(나)\\x05(다)\\x05(라)\\x05(마)\\x05(바)\\x05(사)\\x05(아)\" +\n\t\"\\x05(자)\\x05(차)\\x05(카)\\x05(타)\\x05(파)\\x05(하)\\x05(주)\\x08(오전)\\x08(오후)\\x05(一)\" +\n\t\"\\x05(二)\\x05(三)\\x05(四)\\x05(五)\\x05(六)\\x05(七)\\x05(八)\\x05(九)\\x05(十)\\x05(月)\" +\n\t\"\\x05(火)\\x05(水)\\x05(木)\\x05(金)\\x05(土)\\x05(日)\\x05(株)\\x05(有)\\x05(社)\\x05(名)\" +\n\t\"\\x05(特)\\x05(財)\\x05(祝)\\x05(労)\\x05(代)\\x05(呼)\\x05(学)\\x05(監)\\x05(企)\\x05(資)\" +\n\t\"\\x05(協)\\x05(祭)\\x05(休)\\x05(自)\\x05(至)\\x0221\\x0222\\x0223\\x0224\\x0225\\x0226\" +\n\t\"\\x0227\\x0228\\x0229\\x0230\\x0231\\x0232\\x0233\\x0234\\x0235\\x06참고\\x06주의\\x0236\" +\n\t\"\\x0237\\x0238\\x0239\\x0240\\x0241\\x0242\\x0243\\x0244\\x0245\\x0246\\x0247\\x0248\" +\n\t\"\\x0249\\x0250\\x041月\\x042月\\x043月\\x044月\\x045月\\x046月\\x047月\\x048月\\x049月\\x0510\" +\n\t\"月\\x0511月\\x0512月\\x02hg\\x02ev\\x0cアパート\\x0cアルファ\\x0cアンペア\\x09アール\\x0cイニング\\x09\" +\n\t\"インチ\\x09ウォン\\x0fエスクード\\x0cエーカー\\x09オンス\\x09オーム\\x09カイリ\\x0cカラット\\x0cカロリー\\x09ガロ\" +\n\t\"ン\\x09ガンマ\\x06ギガ\\x09ギニー\\x0cキュリー\\x0cギルダー\\x06キロ\\x0fキログラム\\x12キロメートル\\x0fキロワッ\" +\n\t\"ト\\x09グラム\\x0fグラムトン\\x0fクルゼイロ\\x0cクローネ\\x09ケース\\x09コルナ\\x09コーポ\\x0cサイクル\\x0fサンチ\" +\n\t\"ーム\\x0cシリング\\x09センチ\\x09セント\\x09ダース\\x06デシ\\x06ドル\\x06トン\\x06ナノ\\x09ノット\\x09ハイツ\" +\n\t\"\\x0fパーセント\\x09パーツ\\x0cバーレル\\x0fピアストル\\x09ピクル\\x06ピコ\\x06ビル\\x0fファラッド\\x0cフィート\" +\n\t\"\\x0fブッシェル\\x09フラン\\x0fヘクタール\\x06ペソ\\x09ペニヒ\\x09ヘルツ\\x09ペンス\\x09ページ\\x09ベータ\\x0cポイ\" +\n\t\"ント\\x09ボルト\\x06ホン\\x09ポンド\\x09ホール\\x09ホーン\\x0cマイクロ\\x09マイル\\x09マッハ\\x09マルク\\x0fマ\" +\n\t\"ンション\\x0cミクロン\\x06ミリ\\x0fミリバール\\x06メガ\\x0cメガトン\\x0cメートル\\x09ヤード\\x09ヤール\\x09ユアン\" +\n\t\"\\x0cリットル\\x06リラ\\x09ルピー\\x0cルーブル\\x06レム\\x0fレントゲン\\x09ワット\\x040点\\x041点\\x042点\" +\n\t\"\\x043点\\x044点\\x045点\\x046点\\x047点\\x048点\\x049点\\x0510点\\x0511点\\x0512点\\x0513点\" +\n\t\"\\x0514点\\x0515点\\x0516点\\x0517点\\x0518点\\x0519点\\x0520点\\x0521点\\x0522点\\x0523点\" +\n\t\"\\x0524点\\x02da\\x02au\\x02ov\\x02pc\\x02dm\\x02iu\\x06平成\\x06昭和\\x06大正\\x06明治\\x0c株\" +\n\t\"式会社\\x02pa\\x02na\\x02ma\\x02ka\\x02kb\\x02mb\\x02gb\\x04kcal\\x02pf\\x02nf\\x02m\" +\n\t\"g\\x02kg\\x02hz\\x02ml\\x02dl\\x02kl\\x02fm\\x02nm\\x02mm\\x02cm\\x02km\\x02m2\\x02m\" +\n\t\"3\\x05m∕s\\x06m∕s2\\x07rad∕s\\x08rad∕s2\\x02ps\\x02ns\\x02ms\\x02pv\\x02nv\\x02mv\" +\n\t\"\\x02kv\\x02pw\\x02nw\\x02mw\\x02kw\\x02bq\\x02cc\\x02cd\\x06c∕kg\\x02db\\x02gy\\x02\" +\n\t\"ha\\x02hp\\x02in\\x02kk\\x02kt\\x02lm\\x02ln\\x02lx\\x02ph\\x02pr\\x02sr\\x02sv\\x02\" +\n\t\"wb\\x05v∕m\\x05a∕m\\x041日\\x042日\\x043日\\x044日\\x045日\\x046日\\x047日\\x048日\\x049日\" +\n\t\"\\x0510日\\x0511日\\x0512日\\x0513日\\x0514日\\x0515日\\x0516日\\x0517日\\x0518日\\x0519日\" +\n\t\"\\x0520日\\x0521日\\x0522日\\x0523日\\x0524日\\x0525日\\x0526日\\x0527日\\x0528日\\x0529日\" +\n\t\"\\x0530日\\x0531日\\x02ь\\x02ɦ\\x02ɬ\\x02ʞ\\x02ʇ\\x02œ\\x04𤋮\\x04𢡊\\x04𢡄\\x04𣏕\\x04𥉉\" +\n\t\"\\x04𥳐\\x04𧻓\\x02ff\\x02fi\\x02fl\\x02st\\x04մն\\x04մե\\x04մի\\x04վն\\x04մխ\\x04יִ\" +\n\t\"\\x04ײַ\\x02ע\\x02ה\\x02כ\\x02ל\\x02ם\\x02ר\\x02ת\\x04שׁ\\x04שׂ\\x06שּׁ\\x06שּׂ\\x04א\" +\n\t\"ַ\\x04אָ\\x04אּ\\x04בּ\\x04גּ\\x04דּ\\x04הּ\\x04וּ\\x04זּ\\x04טּ\\x04יּ\\x04ךּ\\x04\" +\n\t\"כּ\\x04לּ\\x04מּ\\x04נּ\\x04סּ\\x04ףּ\\x04פּ\\x04צּ\\x04קּ\\x04רּ\\x04שּ\\x04תּ\" +\n\t\"\\x04וֹ\\x04בֿ\\x04כֿ\\x04פֿ\\x04אל\\x02ٱ\\x02ٻ\\x02پ\\x02ڀ\\x02ٺ\\x02ٿ\\x02ٹ\\x02ڤ\" +\n\t\"\\x02ڦ\\x02ڄ\\x02ڃ\\x02چ\\x02ڇ\\x02ڍ\\x02ڌ\\x02ڎ\\x02ڈ\\x02ژ\\x02ڑ\\x02ک\\x02گ\\x02ڳ\" +\n\t\"\\x02ڱ\\x02ں\\x02ڻ\\x02ۀ\\x02ہ\\x02ھ\\x02ے\\x02ۓ\\x02ڭ\\x02ۇ\\x02ۆ\\x02ۈ\\x02ۋ\\x02ۅ\" +\n\t\"\\x02ۉ\\x02ې\\x02ى\\x04ئا\\x04ئە\\x04ئو\\x04ئۇ\\x04ئۆ\\x04ئۈ\\x04ئې\\x04ئى\\x02ی\\x04\" +\n\t\"ئج\\x04ئح\\x04ئم\\x04ئي\\x04بج\\x04بح\\x04بخ\\x04بم\\x04بى\\x04بي\\x04تج\\x04تح\" +\n\t\"\\x04تخ\\x04تم\\x04تى\\x04تي\\x04ثج\\x04ثم\\x04ثى\\x04ثي\\x04جح\\x04جم\\x04حج\\x04حم\" +\n\t\"\\x04خج\\x04خح\\x04خم\\x04سج\\x04سح\\x04سخ\\x04سم\\x04صح\\x04صم\\x04ضج\\x04ضح\\x04ضخ\" +\n\t\"\\x04ضم\\x04طح\\x04طم\\x04ظم\\x04عج\\x04عم\\x04غج\\x04غم\\x04فج\\x04فح\\x04فخ\\x04فم\" +\n\t\"\\x04فى\\x04في\\x04قح\\x04قم\\x04قى\\x04قي\\x04كا\\x04كج\\x04كح\\x04كخ\\x04كل\\x04كم\" +\n\t\"\\x04كى\\x04كي\\x04لج\\x04لح\\x04لخ\\x04لم\\x04لى\\x04لي\\x04مج\\x04مح\\x04مخ\\x04مم\" +\n\t\"\\x04مى\\x04مي\\x04نج\\x04نح\\x04نخ\\x04نم\\x04نى\\x04ني\\x04هج\\x04هم\\x04هى\\x04هي\" +\n\t\"\\x04يج\\x04يح\\x04يخ\\x04يم\\x04يى\\x04يي\\x04ذٰ\\x04رٰ\\x04ىٰ\\x05 ٌّ\\x05 ٍّ\\x05\" +\n\t\" َّ\\x05 ُّ\\x05 ِّ\\x05 ّٰ\\x04ئر\\x04ئز\\x04ئن\\x04بر\\x04بز\\x04بن\\x04تر\\x04تز\" +\n\t\"\\x04تن\\x04ثر\\x04ثز\\x04ثن\\x04ما\\x04نر\\x04نز\\x04نن\\x04ير\\x04يز\\x04ين\\x04ئخ\" +\n\t\"\\x04ئه\\x04به\\x04ته\\x04صخ\\x04له\\x04نه\\x04هٰ\\x04يه\\x04ثه\\x04سه\\x04شم\\x04شه\" +\n\t\"\\x06ـَّ\\x06ـُّ\\x06ـِّ\\x04طى\\x04طي\\x04عى\\x04عي\\x04غى\\x04غي\\x04سى\\x04سي\" +\n\t\"\\x04شى\\x04شي\\x04حى\\x04حي\\x04جى\\x04جي\\x04خى\\x04خي\\x04صى\\x04صي\\x04ضى\\x04ضي\" +\n\t\"\\x04شج\\x04شح\\x04شخ\\x04شر\\x04سر\\x04صر\\x04ضر\\x04اً\\x06تجم\\x06تحج\\x06تحم\" +\n\t\"\\x06تخم\\x06تمج\\x06تمح\\x06تمخ\\x06جمح\\x06حمي\\x06حمى\\x06سحج\\x06سجح\\x06سجى\" +\n\t\"\\x06سمح\\x06سمج\\x06سمم\\x06صحح\\x06صمم\\x06شحم\\x06شجي\\x06شمخ\\x06شمم\\x06ضحى\" +\n\t\"\\x06ضخم\\x06طمح\\x06طمم\\x06طمي\\x06عجم\\x06عمم\\x06عمى\\x06غمم\\x06غمي\\x06غمى\" +\n\t\"\\x06فخم\\x06قمح\\x06قمم\\x06لحم\\x06لحي\\x06لحى\\x06لجج\\x06لخم\\x06لمح\\x06محج\" +\n\t\"\\x06محم\\x06محي\\x06مجح\\x06مجم\\x06مخج\\x06مخم\\x06مجخ\\x06همج\\x06همم\\x06نحم\" +\n\t\"\\x06نحى\\x06نجم\\x06نجى\\x06نمي\\x06نمى\\x06يمم\\x06بخي\\x06تجي\\x06تجى\\x06تخي\" +\n\t\"\\x06تخى\\x06تمي\\x06تمى\\x06جمي\\x06جحى\\x06جمى\\x06سخى\\x06صحي\\x06شحي\\x06ضحي\" +\n\t\"\\x06لجي\\x06لمي\\x06يحي\\x06يجي\\x06يمي\\x06ممي\\x06قمي\\x06نحي\\x06عمي\\x06كمي\" +\n\t\"\\x06نجح\\x06مخي\\x06لجم\\x06كمم\\x06جحي\\x06حجي\\x06مجي\\x06فمي\\x06بحي\\x06سخي\" +\n\t\"\\x06نجي\\x06صلے\\x06قلے\\x08الله\\x08اكبر\\x08محمد\\x08صلعم\\x08رسول\\x08عليه\" +\n\t\"\\x08وسلم\\x06صلى!صلى الله عليه وسلم\\x0fجل جلاله\\x08ریال\\x01,\\x01:\\x01!\" +\n\t\"\\x01?\\x01_\\x01{\\x01}\\x01[\\x01]\\x01#\\x01&\\x01*\\x01-\\x01<\\x01>\\x01\\\\\\x01$\" +\n\t\"\\x01%\\x01@\\x04ـً\\x04ـَ\\x04ـُ\\x04ـِ\\x04ـّ\\x04ـْ\\x02ء\\x02آ\\x02أ\\x02ؤ\\x02إ\" +\n\t\"\\x02ئ\\x02ا\\x02ب\\x02ة\\x02ت\\x02ث\\x02ج\\x02ح\\x02خ\\x02د\\x02ذ\\x02ر\\x02ز\\x02س\" +\n\t\"\\x02ش\\x02ص\\x02ض\\x02ط\\x02ظ\\x02ع\\x02غ\\x02ف\\x02ق\\x02ك\\x02ل\\x02م\\x02ن\\x02ه\" +\n\t\"\\x02و\\x02ي\\x04لآ\\x04لأ\\x04لإ\\x04لا\\x01\\x22\\x01'\\x01/\\x01^\\x01|\\x01~\\x02¢\" +\n\t\"\\x02£\\x02¬\\x02¦\\x02¥\\x08𝅗𝅥\\x08𝅘𝅥\\x0c𝅘𝅥𝅮\\x0c𝅘𝅥𝅯\\x0c𝅘𝅥𝅰\\x0c𝅘𝅥𝅱\\x0c𝅘𝅥𝅲\\x08𝆹\" +\n\t\"𝅥\\x08𝆺𝅥\\x0c𝆹𝅥𝅮\\x0c𝆺𝅥𝅮\\x0c𝆹𝅥𝅯\\x0c𝆺𝅥𝅯\\x02ı\\x02ȷ\\x02α\\x02ε\\x02ζ\\x02η\\x02\" +\n\t\"κ\\x02λ\\x02μ\\x02ν\\x02ξ\\x02ο\\x02σ\\x02τ\\x02υ\\x02ψ\\x03∇\\x03∂\\x02ϝ\\x02ٮ\\x02ڡ\" +\n\t\"\\x02ٯ\\x020,\\x021,\\x022,\\x023,\\x024,\\x025,\\x026,\\x027,\\x028,\\x029,\\x03(a)\" +\n\t\"\\x03(b)\\x03(c)\\x03(d)\\x03(e)\\x03(f)\\x03(g)\\x03(h)\\x03(i)\\x03(j)\\x03(k)\" +\n\t\"\\x03(l)\\x03(m)\\x03(n)\\x03(o)\\x03(p)\\x03(q)\\x03(r)\\x03(s)\\x03(t)\\x03(u)\" +\n\t\"\\x03(v)\\x03(w)\\x03(x)\\x03(y)\\x03(z)\\x07〔s〕\\x02wz\\x02hv\\x02sd\\x03ppv\\x02w\" +\n\t\"c\\x02mc\\x02md\\x02dj\\x06ほか\\x06ココ\\x03サ\\x03手\\x03字\\x03双\\x03デ\\x03二\\x03多\\x03解\" +\n\t\"\\x03天\\x03交\\x03映\\x03無\\x03料\\x03前\\x03後\\x03再\\x03新\\x03初\\x03終\\x03生\\x03販\\x03声\" +\n\t\"\\x03吹\\x03演\\x03投\\x03捕\\x03一\\x03三\\x03遊\\x03左\\x03中\\x03右\\x03指\\x03走\\x03打\\x03禁\" +\n\t\"\\x03空\\x03合\\x03満\\x03有\\x03月\\x03申\\x03割\\x03営\\x03配\\x09〔本〕\\x09〔三〕\\x09〔二〕\\x09〔安\" +\n\t\"〕\\x09〔点〕\\x09〔打〕\\x09〔盗〕\\x09〔勝〕\\x09〔敗〕\\x03得\\x03可\\x03丽\\x03丸\\x03乁\\x03你\\x03\" +\n\t\"侮\\x03侻\\x03倂\\x03偺\\x03備\\x03僧\\x03像\\x03㒞\\x03免\\x03兔\\x03兤\\x03具\\x03㒹\\x03內\\x03\" +\n\t\"冗\\x03冤\\x03仌\\x03冬\\x03况\\x03凵\\x03刃\\x03㓟\\x03刻\\x03剆\\x03剷\\x03㔕\\x03勇\\x03勉\\x03\" +\n\t\"勤\\x03勺\\x03包\\x03匆\\x03北\\x03卉\\x03卑\\x03博\\x03即\\x03卽\\x03卿\\x03灰\\x03及\\x03叟\\x03\" +\n\t\"叫\\x03叱\\x03吆\\x03咞\\x03吸\\x03呈\\x03周\\x03咢\\x03哶\\x03唐\\x03啓\\x03啣\\x03善\\x03喙\\x03\" +\n\t\"喫\\x03喳\\x03嗂\\x03圖\\x03嘆\\x03圗\\x03噑\\x03噴\\x03切\\x03壮\\x03城\\x03埴\\x03堍\\x03型\\x03\" +\n\t\"堲\\x03報\\x03墬\\x03売\\x03壷\\x03夆\\x03夢\\x03奢\\x03姬\\x03娛\\x03娧\\x03姘\\x03婦\\x03㛮\\x03\" +\n\t\"嬈\\x03嬾\\x03寃\\x03寘\\x03寧\\x03寳\\x03寿\\x03将\\x03尢\\x03㞁\\x03屠\\x03屮\\x03峀\\x03岍\\x03\" +\n\t\"嵃\\x03嵮\\x03嵫\\x03嵼\\x03巡\\x03巢\\x03㠯\\x03巽\\x03帨\\x03帽\\x03幩\\x03㡢\\x03㡼\\x03庰\\x03\" +\n\t\"庳\\x03庶\\x03廊\\x03廾\\x03舁\\x03弢\\x03㣇\\x03形\\x03彫\\x03㣣\\x03徚\\x03忍\\x03志\\x03忹\\x03\" +\n\t\"悁\\x03㤺\\x03㤜\\x03悔\\x03惇\\x03慈\\x03慌\\x03慎\\x03慺\\x03憎\\x03憲\\x03憤\\x03憯\\x03懞\\x03\" +\n\t\"懲\\x03懶\\x03成\\x03戛\\x03扝\\x03抱\\x03拔\\x03捐\\x03挽\\x03拼\\x03捨\\x03掃\\x03揤\\x03搢\\x03\" +\n\t\"揅\\x03掩\\x03㨮\\x03摩\\x03摾\\x03撝\\x03摷\\x03㩬\\x03敏\\x03敬\\x03旣\\x03書\\x03晉\\x03㬙\\x03\" +\n\t\"暑\\x03㬈\\x03㫤\\x03冒\\x03冕\\x03最\\x03暜\\x03肭\\x03䏙\\x03朗\\x03望\\x03朡\\x03杞\\x03杓\\x03\" +\n\t\"㭉\\x03柺\\x03枅\\x03桒\\x03梅\\x03梎\\x03栟\\x03椔\\x03㮝\\x03楂\\x03榣\\x03槪\\x03檨\\x03櫛\\x03\" +\n\t\"㰘\\x03次\\x03歔\\x03㱎\\x03歲\\x03殟\\x03殺\\x03殻\\x03汎\\x03沿\\x03泍\\x03汧\\x03洖\\x03派\\x03\" +\n\t\"海\\x03流\\x03浩\\x03浸\\x03涅\\x03洴\\x03港\\x03湮\\x03㴳\\x03滋\\x03滇\\x03淹\\x03潮\\x03濆\\x03\" +\n\t\"瀹\\x03瀞\\x03瀛\\x03㶖\\x03灊\\x03災\\x03灷\\x03炭\\x03煅\\x03熜\\x03爨\\x03爵\\x03牐\\x03犀\\x03\" +\n\t\"犕\\x03獺\\x03王\\x03㺬\\x03玥\\x03㺸\\x03瑇\\x03瑜\\x03瑱\\x03璅\\x03瓊\\x03㼛\\x03甤\\x03甾\\x03\" +\n\t\"異\\x03瘐\\x03㿼\\x03䀈\\x03直\\x03眞\\x03真\\x03睊\\x03䀹\\x03瞋\\x03䁆\\x03䂖\\x03硎\\x03碌\\x03\" +\n\t\"磌\\x03䃣\\x03祖\\x03福\\x03秫\\x03䄯\\x03穀\\x03穊\\x03穏\\x03䈂\\x03篆\\x03築\\x03䈧\\x03糒\\x03\" +\n\t\"䊠\\x03糨\\x03糣\\x03紀\\x03絣\\x03䌁\\x03緇\\x03縂\\x03繅\\x03䌴\\x03䍙\\x03罺\\x03羕\\x03翺\\x03\" +\n\t\"者\\x03聠\\x03聰\\x03䏕\\x03育\\x03脃\\x03䐋\\x03脾\\x03媵\\x03舄\\x03辞\\x03䑫\\x03芑\\x03芋\\x03\" +\n\t\"芝\\x03劳\\x03花\\x03芳\\x03芽\\x03苦\\x03若\\x03茝\\x03荣\\x03莭\\x03茣\\x03莽\\x03菧\\x03著\\x03\" +\n\t\"荓\\x03菊\\x03菌\\x03菜\\x03䔫\\x03蓱\\x03蓳\\x03蔖\\x03蕤\\x03䕝\\x03䕡\\x03䕫\\x03虐\\x03虜\\x03\" +\n\t\"虧\\x03虩\\x03蚩\\x03蚈\\x03蜎\\x03蛢\\x03蝹\\x03蜨\\x03蝫\\x03螆\\x03蟡\\x03蠁\\x03䗹\\x03衠\\x03\" +\n\t\"衣\\x03裗\\x03裞\\x03䘵\\x03裺\\x03㒻\\x03䚾\\x03䛇\\x03誠\\x03諭\\x03變\\x03豕\\x03貫\\x03賁\\x03\" +\n\t\"贛\\x03起\\x03跋\\x03趼\\x03跰\\x03軔\\x03輸\\x03邔\\x03郱\\x03鄑\\x03鄛\\x03鈸\\x03鋗\\x03鋘\\x03\" +\n\t\"鉼\\x03鏹\\x03鐕\\x03開\\x03䦕\\x03閷\\x03䧦\\x03雃\\x03嶲\\x03霣\\x03䩮\\x03䩶\\x03韠\\x03䪲\\x03\" +\n\t\"頋\\x03頩\\x03飢\\x03䬳\\x03餩\\x03馧\\x03駂\\x03駾\\x03䯎\\x03鬒\\x03鱀\\x03鳽\\x03䳎\\x03䳭\\x03\" +\n\t\"鵧\\x03䳸\\x03麻\\x03䵖\\x03黹\\x03黾\\x03鼅\\x03鼏\\x03鼖\\x03鼻\"\n\nvar xorData string = \"\" + // Size: 4855 bytes\n\t\"\\x02\\x0c\\x09\\x02\\xb0\\xec\\x02\\xad\\xd8\\x02\\xad\\xd9\\x02\\x06\\x07\\x02\\x0f\\x12\" +\n\t\"\\x02\\x0f\\x1f\\x02\\x0f\\x1d\\x02\\x01\\x13\\x02\\x0f\\x16\\x02\\x0f\\x0b\\x02\\x0f3\" +\n\t\"\\x02\\x0f7\\x02\\x0f?\\x02\\x0f/\\x02\\x0f*\\x02\\x0c&\\x02\\x0c*\\x02\\x0c;\\x02\\x0c9\" +\n\t\"\\x02\\x0c%\\x02\\xab\\xed\\x02\\xab\\xe2\\x02\\xab\\xe3\\x02\\xa9\\xe0\\x02\\xa9\\xe1\" +\n\t\"\\x02\\xa9\\xe6\\x02\\xa3\\xcb\\x02\\xa3\\xc8\\x02\\xa3\\xc9\\x02\\x01#\\x02\\x01\\x08\" +\n\t\"\\x02\\x0e>\\x02\\x0e'\\x02\\x0f\\x03\\x02\\x03\\x0d\\x02\\x03\\x09\\x02\\x03\\x17\\x02\" +\n\t\"\\x03\\x0e\\x02\\x02\\x03\\x02\\x011\\x02\\x01\\x00\\x02\\x01\\x10\\x02\\x03<\\x02\\x07\" +\n\t\"\\x0d\\x02\\x02\\x0c\\x02\\x0c0\\x02\\x01\\x03\\x02\\x01\\x01\\x02\\x01 \\x02\\x01\\x22\" +\n\t\"\\x02\\x01)\\x02\\x01\\x0a\\x02\\x01\\x0c\\x02\\x02\\x06\\x02\\x02\\x02\\x02\\x03\\x10\" +\n\t\"\\x03\\x037 \\x03\\x0b+\\x03\\x02\\x01\\x04\\x02\\x01\\x02\\x02\\x019\\x02\\x03\\x1c\\x02\" +\n\t\"\\x02$\\x03\\x80p$\\x02\\x03:\\x02\\x03\\x0a\\x03\\xc1r.\\x03\\xc1r,\\x03\\xc1r\\x02\" +\n\t\"\\x02\\x02:\\x02\\x02>\\x02\\x02,\\x02\\x02\\x10\\x02\\x02\\x00\\x03\\xc1s<\\x03\\xc1s*\" +\n\t\"\\x03\\xc2L$\\x03\\xc2L;\\x02\\x09)\\x02\\x0a\\x19\\x03\\x83\\xab\\xe3\\x03\\x83\\xab\" +\n\t\"\\xf2\\x03 4\\xe0\\x03\\x81\\xab\\xea\\x03\\x81\\xab\\xf3\\x03 4\\xef\\x03\\x96\\xe1\\xcd\" +\n\t\"\\x03\\x84\\xe5\\xc3\\x02\\x0d\\x11\\x03\\x8b\\xec\\xcb\\x03\\x94\\xec\\xcf\\x03\\x9a\\xec\" +\n\t\"\\xc2\\x03\\x8b\\xec\\xdb\\x03\\x94\\xec\\xdf\\x03\\x9a\\xec\\xd2\\x03\\x01\\x0c!\\x03\" +\n\t\"\\x01\\x0c#\\x03ʠ\\x9d\\x03ʣ\\x9c\\x03ʢ\\x9f\\x03ʥ\\x9e\\x03ʤ\\x91\\x03ʧ\\x90\\x03ʦ\\x93\" +\n\t\"\\x03ʩ\\x92\\x03ʨ\\x95\\x03\\xca\\xf3\\xb5\\x03\\xca\\xf0\\xb4\\x03\\xca\\xf1\\xb7\\x03\" +\n\t\"\\xca\\xf6\\xb6\\x03\\xca\\xf7\\x89\\x03\\xca\\xf4\\x88\\x03\\xca\\xf5\\x8b\\x03\\xca\\xfa\" +\n\t\"\\x8a\\x03\\xca\\xfb\\x8d\\x03\\xca\\xf8\\x8c\\x03\\xca\\xf9\\x8f\\x03\\xca\\xfe\\x8e\\x03\" +\n\t\"\\xca\\xff\\x81\\x03\\xca\\xfc\\x80\\x03\\xca\\xfd\\x83\\x03\\xca\\xe2\\x82\\x03\\xca\\xe3\" +\n\t\"\\x85\\x03\\xca\\xe0\\x84\\x03\\xca\\xe1\\x87\\x03\\xca\\xe6\\x86\\x03\\xca\\xe7\\x99\\x03\" +\n\t\"\\xca\\xe4\\x98\\x03\\xca\\xe5\\x9b\\x03\\xca\\xea\\x9a\\x03\\xca\\xeb\\x9d\\x03\\xca\\xe8\" +\n\t\"\\x9c\\x03ؓ\\x89\\x03ߔ\\x8b\\x02\\x010\\x03\\x03\\x04\\x1e\\x03\\x04\\x15\\x12\\x03\\x0b\" +\n\t\"\\x05,\\x03\\x06\\x04\\x00\\x03\\x06\\x04)\\x03\\x06\\x044\\x03\\x06\\x04<\\x03\\x06\\x05\" +\n\t\"\\x1d\\x03\\x06\\x06\\x00\\x03\\x06\\x06\\x0a\\x03\\x06\\x06'\\x03\\x06\\x062\\x03\\x0786\" +\n\t\"\\x03\\x079/\\x03\\x079 \\x03\\x07:\\x0e\\x03\\x07:\\x1b\\x03\\x07:%\\x03\\x07;/\\x03\" +\n\t\"\\x07;%\\x03\\x074\\x11\\x03\\x076\\x09\\x03\\x077*\\x03\\x070\\x01\\x03\\x070\\x0f\\x03\" +\n\t\"\\x070.\\x03\\x071\\x16\\x03\\x071\\x04\\x03\\x0710\\x03\\x072\\x18\\x03\\x072-\\x03\" +\n\t\"\\x073\\x14\\x03\\x073>\\x03\\x07'\\x09\\x03\\x07 \\x00\\x03\\x07\\x1f\\x0b\\x03\\x07\" +\n\t\"\\x18#\\x03\\x07\\x18(\\x03\\x07\\x186\\x03\\x07\\x18\\x03\\x03\\x07\\x19\\x16\\x03\\x07\" +\n\t\"\\x116\\x03\\x07\\x12'\\x03\\x07\\x13\\x10\\x03\\x07\\x0c&\\x03\\x07\\x0c\\x08\\x03\\x07\" +\n\t\"\\x0c\\x13\\x03\\x07\\x0d\\x02\\x03\\x07\\x0d\\x1c\\x03\\x07\\x0b5\\x03\\x07\\x0b\\x0a\" +\n\t\"\\x03\\x07\\x0b\\x01\\x03\\x07\\x0b\\x0f\\x03\\x07\\x05\\x00\\x03\\x07\\x05\\x09\\x03\\x07\" +\n\t\"\\x05\\x0b\\x03\\x07\\x07\\x01\\x03\\x07\\x07\\x08\\x03\\x07\\x00<\\x03\\x07\\x00+\\x03\" +\n\t\"\\x07\\x01)\\x03\\x07\\x01\\x1b\\x03\\x07\\x01\\x08\\x03\\x07\\x03?\\x03\\x0445\\x03\\x04\" +\n\t\"4\\x08\\x03\\x0454\\x03\\x04)/\\x03\\x04)5\\x03\\x04+\\x05\\x03\\x04+\\x14\\x03\\x04+ \" +\n\t\"\\x03\\x04+<\\x03\\x04*&\\x03\\x04*\\x22\\x03\\x04&8\\x03\\x04!\\x01\\x03\\x04!\\x22\" +\n\t\"\\x03\\x04\\x11+\\x03\\x04\\x10.\\x03\\x04\\x104\\x03\\x04\\x13=\\x03\\x04\\x12\\x04\\x03\" +\n\t\"\\x04\\x12\\x0a\\x03\\x04\\x0d\\x1d\\x03\\x04\\x0d\\x07\\x03\\x04\\x0d \\x03\\x05<>\\x03\" +\n\t\"\\x055<\\x03\\x055!\\x03\\x055#\\x03\\x055&\\x03\\x054\\x1d\\x03\\x054\\x02\\x03\\x054\" +\n\t\"\\x07\\x03\\x0571\\x03\\x053\\x1a\\x03\\x053\\x16\\x03\\x05.<\\x03\\x05.\\x07\\x03\\x05)\" +\n\t\":\\x03\\x05)<\\x03\\x05)\\x0c\\x03\\x05)\\x15\\x03\\x05+-\\x03\\x05+5\\x03\\x05$\\x1e\" +\n\t\"\\x03\\x05$\\x14\\x03\\x05'\\x04\\x03\\x05'\\x14\\x03\\x05&\\x02\\x03\\x05\\x226\\x03\" +\n\t\"\\x05\\x22\\x0c\\x03\\x05\\x22\\x1c\\x03\\x05\\x19\\x0a\\x03\\x05\\x1b\\x09\\x03\\x05\\x1b\" +\n\t\"\\x0c\\x03\\x05\\x14\\x07\\x03\\x05\\x16?\\x03\\x05\\x16\\x0c\\x03\\x05\\x0c\\x05\\x03\" +\n\t\"\\x05\\x0e\\x0f\\x03\\x05\\x01\\x0e\\x03\\x05\\x00(\\x03\\x05\\x030\\x03\\x05\\x03\\x06\" +\n\t\"\\x03\\x0a==\\x03\\x0a=1\\x03\\x0a=,\\x03\\x0a=\\x0c\\x03\\x0a??\\x03\\x0a<\\x08\\x03\" +\n\t\"\\x0a9!\\x03\\x0a9)\\x03\\x0a97\\x03\\x0a99\\x03\\x0a6\\x0a\\x03\\x0a6\\x1c\\x03\\x0a6\" +\n\t\"\\x17\\x03\\x0a7'\\x03\\x0a78\\x03\\x0a73\\x03\\x0a'\\x01\\x03\\x0a'&\\x03\\x0a\\x1f\" +\n\t\"\\x0e\\x03\\x0a\\x1f\\x03\\x03\\x0a\\x1f3\\x03\\x0a\\x1b/\\x03\\x0a\\x18\\x19\\x03\\x0a\" +\n\t\"\\x19\\x01\\x03\\x0a\\x16\\x14\\x03\\x0a\\x0e\\x22\\x03\\x0a\\x0f\\x10\\x03\\x0a\\x0f\\x02\" +\n\t\"\\x03\\x0a\\x0f \\x03\\x0a\\x0c\\x04\\x03\\x0a\\x0b>\\x03\\x0a\\x0b+\\x03\\x0a\\x08/\\x03\" +\n\t\"\\x0a\\x046\\x03\\x0a\\x05\\x14\\x03\\x0a\\x00\\x04\\x03\\x0a\\x00\\x10\\x03\\x0a\\x00\" +\n\t\"\\x14\\x03\\x0b<3\\x03\\x0b;*\\x03\\x0b9\\x22\\x03\\x0b9)\\x03\\x0b97\\x03\\x0b+\\x10\" +\n\t\"\\x03\\x0b((\\x03\\x0b&5\\x03\\x0b$\\x1c\\x03\\x0b$\\x12\\x03\\x0b%\\x04\\x03\\x0b#<\" +\n\t\"\\x03\\x0b#0\\x03\\x0b#\\x0d\\x03\\x0b#\\x19\\x03\\x0b!:\\x03\\x0b!\\x1f\\x03\\x0b!\\x00\" +\n\t\"\\x03\\x0b\\x1e5\\x03\\x0b\\x1c\\x1d\\x03\\x0b\\x1d-\\x03\\x0b\\x1d(\\x03\\x0b\\x18.\\x03\" +\n\t\"\\x0b\\x18 \\x03\\x0b\\x18\\x16\\x03\\x0b\\x14\\x13\\x03\\x0b\\x15$\\x03\\x0b\\x15\\x22\" +\n\t\"\\x03\\x0b\\x12\\x1b\\x03\\x0b\\x12\\x10\\x03\\x0b\\x132\\x03\\x0b\\x13=\\x03\\x0b\\x12\" +\n\t\"\\x18\\x03\\x0b\\x0c&\\x03\\x0b\\x061\\x03\\x0b\\x06:\\x03\\x0b\\x05#\\x03\\x0b\\x05<\" +\n\t\"\\x03\\x0b\\x04\\x0b\\x03\\x0b\\x04\\x04\\x03\\x0b\\x04\\x1b\\x03\\x0b\\x042\\x03\\x0b\" +\n\t\"\\x041\\x03\\x0b\\x03\\x03\\x03\\x0b\\x03\\x1d\\x03\\x0b\\x03/\\x03\\x0b\\x03+\\x03\\x0b\" +\n\t\"\\x02\\x1b\\x03\\x0b\\x02\\x00\\x03\\x0b\\x01\\x1e\\x03\\x0b\\x01\\x08\\x03\\x0b\\x015\" +\n\t\"\\x03\\x06\\x0d9\\x03\\x06\\x0d=\\x03\\x06\\x0d?\\x03\\x02\\x001\\x03\\x02\\x003\\x03\" +\n\t\"\\x02\\x02\\x19\\x03\\x02\\x006\\x03\\x02\\x02\\x1b\\x03\\x02\\x004\\x03\\x02\\x00<\\x03\" +\n\t\"\\x02\\x02\\x0a\\x03\\x02\\x02\\x0e\\x03\\x02\\x01\\x1a\\x03\\x02\\x01\\x07\\x03\\x02\\x01\" +\n\t\"\\x05\\x03\\x02\\x01\\x0b\\x03\\x02\\x01%\\x03\\x02\\x01\\x0c\\x03\\x02\\x01\\x04\\x03\" +\n\t\"\\x02\\x01\\x1c\\x03\\x02\\x00.\\x03\\x02\\x002\\x03\\x02\\x00>\\x03\\x02\\x00\\x12\\x03\" +\n\t\"\\x02\\x00\\x16\\x03\\x02\\x011\\x03\\x02\\x013\\x03\\x02\\x02 \\x03\\x02\\x02%\\x03\\x02\" +\n\t\"\\x02$\\x03\\x02\\x028\\x03\\x02\\x02;\\x03\\x02\\x024\\x03\\x02\\x012\\x03\\x02\\x022\" +\n\t\"\\x03\\x02\\x02/\\x03\\x02\\x01,\\x03\\x02\\x01\\x13\\x03\\x02\\x01\\x16\\x03\\x02\\x01\" +\n\t\"\\x11\\x03\\x02\\x01\\x1e\\x03\\x02\\x01\\x15\\x03\\x02\\x01\\x17\\x03\\x02\\x01\\x0f\\x03\" +\n\t\"\\x02\\x01\\x08\\x03\\x02\\x00?\\x03\\x02\\x03\\x07\\x03\\x02\\x03\\x0d\\x03\\x02\\x03\" +\n\t\"\\x13\\x03\\x02\\x03\\x1d\\x03\\x02\\x03\\x1f\\x03\\x02\\x00\\x03\\x03\\x02\\x00\\x0d\\x03\" +\n\t\"\\x02\\x00\\x01\\x03\\x02\\x00\\x1b\\x03\\x02\\x00\\x19\\x03\\x02\\x00\\x18\\x03\\x02\\x00\" +\n\t\"\\x13\\x03\\x02\\x00/\\x03\\x07>\\x12\\x03\\x07<\\x1f\\x03\\x07>\\x1d\\x03\\x06\\x1d\\x0e\" +\n\t\"\\x03\\x07>\\x1c\\x03\\x07>:\\x03\\x07>\\x13\\x03\\x04\\x12+\\x03\\x07?\\x03\\x03\\x07>\" +\n\t\"\\x02\\x03\\x06\\x224\\x03\\x06\\x1a.\\x03\\x07<%\\x03\\x06\\x1c\\x0b\\x03\\x0609\\x03\" +\n\t\"\\x05\\x1f\\x01\\x03\\x04'\\x08\\x03\\x93\\xfd\\xf5\\x03\\x02\\x0d \\x03\\x02\\x0d#\\x03\" +\n\t\"\\x02\\x0d!\\x03\\x02\\x0d&\\x03\\x02\\x0d\\x22\\x03\\x02\\x0d/\\x03\\x02\\x0d,\\x03\\x02\" +\n\t\"\\x0d$\\x03\\x02\\x0d'\\x03\\x02\\x0d%\\x03\\x02\\x0d;\\x03\\x02\\x0d=\\x03\\x02\\x0d?\" +\n\t\"\\x03\\x099.\\x03\\x08\\x0b7\\x03\\x08\\x02\\x14\\x03\\x08\\x14\\x0d\\x03\\x08.:\\x03\" +\n\t\"\\x089'\\x03\\x0f\\x0b\\x18\\x03\\x0f\\x1c1\\x03\\x0f\\x17&\\x03\\x0f9\\x1f\\x03\\x0f0\" +\n\t\"\\x0c\\x03\\x0e\\x0a9\\x03\\x0e\\x056\\x03\\x0e\\x1c#\\x03\\x0f\\x13\\x0e\\x03\\x072\\x00\" +\n\t\"\\x03\\x070\\x0d\\x03\\x072\\x0b\\x03\\x06\\x11\\x18\\x03\\x070\\x10\\x03\\x06\\x0f(\\x03\" +\n\t\"\\x072\\x05\\x03\\x06\\x0f,\\x03\\x073\\x15\\x03\\x06\\x07\\x08\\x03\\x05\\x16\\x02\\x03\" +\n\t\"\\x04\\x0b \\x03\\x05:8\\x03\\x05\\x16%\\x03\\x0a\\x0d\\x1f\\x03\\x06\\x16\\x10\\x03\\x05\" +\n\t\"\\x1d5\\x03\\x05*;\\x03\\x05\\x16\\x1b\\x03\\x04.-\\x03\\x06\\x1a\\x19\\x03\\x04\\x03,\" +\n\t\"\\x03\\x0b87\\x03\\x04/\\x0a\\x03\\x06\\x00,\\x03\\x04-\\x01\\x03\\x04\\x1e-\\x03\\x06/(\" +\n\t\"\\x03\\x0a\\x0b5\\x03\\x06\\x0e7\\x03\\x06\\x07.\\x03\\x0597\\x03\\x0a*%\\x03\\x0760\" +\n\t\"\\x03\\x06\\x0c;\\x03\\x05'\\x00\\x03\\x072.\\x03\\x072\\x08\\x03\\x06=\\x01\\x03\\x06\" +\n\t\"\\x05\\x1b\\x03\\x06\\x06\\x12\\x03\\x06$=\\x03\\x06'\\x0d\\x03\\x04\\x11\\x0f\\x03\\x076\" +\n\t\",\\x03\\x06\\x07;\\x03\\x06.,\\x03\\x86\\xf9\\xea\\x03\\x8f\\xff\\xeb\\x02\\x092\\x02\" +\n\t\"\\x095\\x02\\x094\\x02\\x09;\\x02\\x09>\\x02\\x098\\x02\\x09*\\x02\\x09/\\x02\\x09,\\x02\" +\n\t\"\\x09%\\x02\\x09&\\x02\\x09#\\x02\\x09 \\x02\\x08!\\x02\\x08%\\x02\\x08$\\x02\\x08+\\x02\" +\n\t\"\\x08.\\x02\\x08*\\x02\\x08&\\x02\\x088\\x02\\x08>\\x02\\x084\\x02\\x086\\x02\\x080\\x02\" +\n\t\"\\x08\\x10\\x02\\x08\\x17\\x02\\x08\\x12\\x02\\x08\\x1d\\x02\\x08\\x1f\\x02\\x08\\x13\\x02\" +\n\t\"\\x08\\x15\\x02\\x08\\x14\\x02\\x08\\x0c\\x03\\x8b\\xfd\\xd0\\x03\\x81\\xec\\xc6\\x03\\x87\" +\n\t\"\\xe0\\x8a\\x03-2\\xe3\\x03\\x80\\xef\\xe4\\x03-2\\xea\\x03\\x88\\xe6\\xeb\\x03\\x8e\\xe6\" +\n\t\"\\xe8\\x03\\x84\\xe6\\xe9\\x03\\x97\\xe6\\xee\\x03-2\\xf9\\x03-2\\xf6\\x03\\x8e\\xe3\\xad\" +\n\t\"\\x03\\x80\\xe3\\x92\\x03\\x88\\xe3\\x90\\x03\\x8e\\xe3\\x90\\x03\\x80\\xe3\\x97\\x03\\x88\" +\n\t\"\\xe3\\x95\\x03\\x88\\xfe\\xcb\\x03\\x8e\\xfe\\xca\\x03\\x84\\xfe\\xcd\\x03\\x91\\xef\\xc9\" +\n\t\"\\x03-2\\xc1\\x03-2\\xc0\\x03-2\\xcb\\x03\\x88@\\x09\\x03\\x8e@\\x08\\x03\\x8f\\xe0\\xf5\" +\n\t\"\\x03\\x8e\\xe6\\xf9\\x03\\x8e\\xe0\\xfa\\x03\\x93\\xff\\xf4\\x03\\x84\\xee\\xd3\\x03\\x0b\" +\n\t\"(\\x04\\x023 \\x021;\\x02\\x01*\\x03\\x0b#\\x10\\x03\\x0b 0\\x03\\x0b!\\x10\\x03\\x0b!0\" +\n\t\"\\x03\\x07\\x15\\x08\\x03\\x09?5\\x03\\x07\\x1f\\x08\\x03\\x07\\x17\\x0b\\x03\\x09\\x1f\" +\n\t\"\\x15\\x03\\x0b\\x1c7\\x03\\x0a+#\\x03\\x06\\x1a\\x1b\\x03\\x06\\x1a\\x14\\x03\\x0a\\x01\" +\n\t\"\\x18\\x03\\x06#\\x1b\\x03\\x0a2\\x0c\\x03\\x0a\\x01\\x04\\x03\\x09#;\\x03\\x08='\\x03\" +\n\t\"\\x08\\x1a\\x0a\\x03\\x07</\\x03\\x07:+\\x03\\x07\\x07*\\x03\\x06&\\x1c\\x03\\x09\\x0c\" +\n\t\"\\x16\\x03\\x09\\x10\\x0e\\x03\\x08'\\x0f\\x03\\x08+\\x09\\x03\\x074%\\x03\\x06!3\\x03\" +\n\t\"\\x06\\x03+\\x03\\x0b\\x1e\\x19\\x03\\x0a))\\x03\\x09\\x08\\x19\\x03\\x08,\\x05\\x03\\x07\" +\n\t\"<2\\x03\\x06\\x1c>\\x03\\x0a\\x111\\x03\\x09\\x1b\\x09\\x03\\x073.\\x03\\x07\\x01\\x00\" +\n\t\"\\x03\\x09/,\\x03\\x07#>\\x03\\x07\\x048\\x03\\x0a\\x1f\\x22\\x03\\x098>\\x03\\x09\\x11\" +\n\t\"\\x00\\x03\\x08/\\x17\\x03\\x06'\\x22\\x03\\x0b\\x1a+\\x03\\x0a\\x22\\x19\\x03\\x0a/1\" +\n\t\"\\x03\\x0974\\x03\\x09\\x0f\\x22\\x03\\x08,\\x22\\x03\\x08?\\x14\\x03\\x07$5\\x03\\x07<3\" +\n\t\"\\x03\\x07=*\\x03\\x07\\x13\\x18\\x03\\x068\\x0a\\x03\\x06\\x09\\x16\\x03\\x06\\x13\\x00\" +\n\t\"\\x03\\x08\\x067\\x03\\x08\\x01\\x03\\x03\\x08\\x12\\x1d\\x03\\x07+7\\x03\\x06(;\\x03\" +\n\t\"\\x06\\x1c?\\x03\\x07\\x0e\\x17\\x03\\x0a\\x06\\x1d\\x03\\x0a\\x19\\x07\\x03\\x08\\x14$\" +\n\t\"\\x03\\x07$;\\x03\\x08,$\\x03\\x08\\x06\\x0d\\x03\\x07\\x16\\x0a\\x03\\x06>>\\x03\\x0a\" +\n\t\"\\x06\\x12\\x03\\x0a\\x14)\\x03\\x09\\x0d\\x1f\\x03\\x09\\x12\\x17\\x03\\x09\\x19\\x01\" +\n\t\"\\x03\\x08\\x11 \\x03\\x08\\x1d'\\x03\\x06<\\x1a\\x03\\x0a.\\x00\\x03\\x07'\\x18\\x03\" +\n\t\"\\x0a\\x22\\x08\\x03\\x08\\x0d\\x0a\\x03\\x08\\x13)\\x03\\x07*)\\x03\\x06<,\\x03\\x07\" +\n\t\"\\x0b\\x1a\\x03\\x09.\\x14\\x03\\x09\\x0d\\x1e\\x03\\x07\\x0e#\\x03\\x0b\\x1d'\\x03\\x0a\" +\n\t\"\\x0a8\\x03\\x09%2\\x03\\x08+&\\x03\\x080\\x12\\x03\\x0a)4\\x03\\x08\\x06\\x1f\\x03\\x0b\" +\n\t\"\\x1b\\x1a\\x03\\x0a\\x1b\\x0f\\x03\\x0b\\x1d*\\x03\\x09\\x16$\\x03\\x090\\x11\\x03\\x08\" +\n\t\"\\x11\\x08\\x03\\x0a*(\\x03\\x0a\\x042\\x03\\x089,\\x03\\x074'\\x03\\x07\\x0f\\x05\\x03\" +\n\t\"\\x09\\x0b\\x0a\\x03\\x07\\x1b\\x01\\x03\\x09\\x17:\\x03\\x09.\\x0d\\x03\\x07.\\x11\\x03\" +\n\t\"\\x09+\\x15\\x03\\x080\\x13\\x03\\x0b\\x1f\\x19\\x03\\x0a \\x11\\x03\\x0a\\x220\\x03\\x09\" +\n\t\"\\x07;\\x03\\x08\\x16\\x1c\\x03\\x07,\\x13\\x03\\x07\\x0e/\\x03\\x06\\x221\\x03\\x0a.\" +\n\t\"\\x0a\\x03\\x0a7\\x02\\x03\\x0a\\x032\\x03\\x0a\\x1d.\\x03\\x091\\x06\\x03\\x09\\x19:\" +\n\t\"\\x03\\x08\\x02/\\x03\\x060+\\x03\\x06\\x0f-\\x03\\x06\\x1c\\x1f\\x03\\x06\\x1d\\x07\\x03\" +\n\t\"\\x0a,\\x11\\x03\\x09=\\x0d\\x03\\x09\\x0b;\\x03\\x07\\x1b/\\x03\\x0a\\x1f:\\x03\\x09 \" +\n\t\"\\x1f\\x03\\x09.\\x10\\x03\\x094\\x0b\\x03\\x09\\x1a1\\x03\\x08#\\x1a\\x03\\x084\\x1d\" +\n\t\"\\x03\\x08\\x01\\x1f\\x03\\x08\\x11\\x22\\x03\\x07'8\\x03\\x07\\x1a>\\x03\\x0757\\x03\" +\n\t\"\\x06&9\\x03\\x06+\\x11\\x03\\x0a.\\x0b\\x03\\x0a,>\\x03\\x0a4#\\x03\\x08%\\x17\\x03\" +\n\t\"\\x07\\x05\\x22\\x03\\x07\\x0c\\x0b\\x03\\x0a\\x1d+\\x03\\x0a\\x19\\x16\\x03\\x09+\\x1f\" +\n\t\"\\x03\\x09\\x08\\x0b\\x03\\x08\\x16\\x18\\x03\\x08+\\x12\\x03\\x0b\\x1d\\x0c\\x03\\x0a=\" +\n\t\"\\x10\\x03\\x0a\\x09\\x0d\\x03\\x0a\\x10\\x11\\x03\\x09&0\\x03\\x08(\\x1f\\x03\\x087\\x07\" +\n\t\"\\x03\\x08\\x185\\x03\\x07'6\\x03\\x06.\\x05\\x03\\x06=\\x04\\x03\\x06;;\\x03\\x06\\x06,\" +\n\t\"\\x03\\x0b\\x18>\\x03\\x08\\x00\\x18\\x03\\x06 \\x03\\x03\\x06<\\x00\\x03\\x09%\\x18\\x03\" +\n\t\"\\x0b\\x1c<\\x03\\x0a%!\\x03\\x0a\\x09\\x12\\x03\\x0a\\x16\\x02\\x03\\x090'\\x03\\x09\" +\n\t\"\\x0e=\\x03\\x08 \\x0e\\x03\\x08>\\x03\\x03\\x074>\\x03\\x06&?\\x03\\x06\\x19\\x09\\x03\" +\n\t\"\\x06?(\\x03\\x0a-\\x0e\\x03\\x09:3\\x03\\x098:\\x03\\x09\\x12\\x0b\\x03\\x09\\x1d\\x17\" +\n\t\"\\x03\\x087\\x05\\x03\\x082\\x14\\x03\\x08\\x06%\\x03\\x08\\x13\\x1f\\x03\\x06\\x06\\x0e\" +\n\t\"\\x03\\x0a\\x22<\\x03\\x09/<\\x03\\x06>+\\x03\\x0a'?\\x03\\x0a\\x13\\x0c\\x03\\x09\\x10<\" +\n\t\"\\x03\\x07\\x1b=\\x03\\x0a\\x19\\x13\\x03\\x09\\x22\\x1d\\x03\\x09\\x07\\x0d\\x03\\x08)\" +\n\t\"\\x1c\\x03\\x06=\\x1a\\x03\\x0a/4\\x03\\x0a7\\x11\\x03\\x0a\\x16:\\x03\\x09?3\\x03\\x09:\" +\n\t\"/\\x03\\x09\\x05\\x0a\\x03\\x09\\x14\\x06\\x03\\x087\\x22\\x03\\x080\\x07\\x03\\x08\\x1a\" +\n\t\"\\x1f\\x03\\x07\\x04(\\x03\\x07\\x04\\x09\\x03\\x06 %\\x03\\x06<\\x08\\x03\\x0a+\\x14\" +\n\t\"\\x03\\x09\\x1d\\x16\\x03\\x0a70\\x03\\x08 >\\x03\\x0857\\x03\\x070\\x0a\\x03\\x06=\\x12\" +\n\t\"\\x03\\x06\\x16%\\x03\\x06\\x1d,\\x03\\x099#\\x03\\x09\\x10>\\x03\\x07 \\x1e\\x03\\x08\" +\n\t\"\\x0c<\\x03\\x08\\x0b\\x18\\x03\\x08\\x15+\\x03\\x08,:\\x03\\x08%\\x22\\x03\\x07\\x0a$\" +\n\t\"\\x03\\x0b\\x1c=\\x03\\x07+\\x08\\x03\\x0a/\\x05\\x03\\x0a \\x07\\x03\\x0a\\x12'\\x03\" +\n\t\"\\x09#\\x11\\x03\\x08\\x1b\\x15\\x03\\x0a\\x06\\x01\\x03\\x09\\x1c\\x1b\\x03\\x0922\\x03\" +\n\t\"\\x07\\x14<\\x03\\x07\\x09\\x04\\x03\\x061\\x04\\x03\\x07\\x0e\\x01\\x03\\x0a\\x13\\x18\" +\n\t\"\\x03\\x0a-\\x0c\\x03\\x0a?\\x0d\\x03\\x0a\\x09\\x0a\\x03\\x091&\\x03\\x0a/\\x0b\\x03\" +\n\t\"\\x08$<\\x03\\x083\\x1d\\x03\\x08\\x0c$\\x03\\x08\\x0d\\x07\\x03\\x08\\x0d?\\x03\\x08\" +\n\t\"\\x0e\\x14\\x03\\x065\\x0a\\x03\\x08\\x1a#\\x03\\x08\\x16#\\x03\\x0702\\x03\\x07\\x03\" +\n\t\"\\x1a\\x03\\x06(\\x1d\\x03\\x06+\\x1b\\x03\\x06\\x0b\\x05\\x03\\x06\\x0b\\x17\\x03\\x06\" +\n\t\"\\x0c\\x04\\x03\\x06\\x1e\\x19\\x03\\x06+0\\x03\\x062\\x18\\x03\\x0b\\x16\\x1e\\x03\\x0a+\" +\n\t\"\\x16\\x03\\x0a-?\\x03\\x0a#:\\x03\\x0a#\\x10\\x03\\x0a%$\\x03\\x0a>+\\x03\\x0a01\\x03\" +\n\t\"\\x0a1\\x10\\x03\\x0a\\x099\\x03\\x0a\\x0a\\x12\\x03\\x0a\\x19\\x1f\\x03\\x0a\\x19\\x12\" +\n\t\"\\x03\\x09*)\\x03\\x09-\\x16\\x03\\x09.1\\x03\\x09.2\\x03\\x09<\\x0e\\x03\\x09> \\x03\" +\n\t\"\\x093\\x12\\x03\\x09\\x0b\\x01\\x03\\x09\\x1c2\\x03\\x09\\x11\\x1c\\x03\\x09\\x15%\\x03\" +\n\t\"\\x08,&\\x03\\x08!\\x22\\x03\\x089(\\x03\\x08\\x0b\\x1a\\x03\\x08\\x0d2\\x03\\x08\\x0c\" +\n\t\"\\x04\\x03\\x08\\x0c\\x06\\x03\\x08\\x0c\\x1f\\x03\\x08\\x0c\\x0c\\x03\\x08\\x0f\\x1f\\x03\" +\n\t\"\\x08\\x0f\\x1d\\x03\\x08\\x00\\x14\\x03\\x08\\x03\\x14\\x03\\x08\\x06\\x16\\x03\\x08\\x1e\" +\n\t\"#\\x03\\x08\\x11\\x11\\x03\\x08\\x10\\x18\\x03\\x08\\x14(\\x03\\x07)\\x1e\\x03\\x07.1\" +\n\t\"\\x03\\x07 $\\x03\\x07 '\\x03\\x078\\x08\\x03\\x07\\x0d0\\x03\\x07\\x0f7\\x03\\x07\\x05#\" +\n\t\"\\x03\\x07\\x05\\x1a\\x03\\x07\\x1a7\\x03\\x07\\x1d-\\x03\\x07\\x17\\x10\\x03\\x06)\\x1f\" +\n\t\"\\x03\\x062\\x0b\\x03\\x066\\x16\\x03\\x06\\x09\\x11\\x03\\x09(\\x1e\\x03\\x07!5\\x03\" +\n\t\"\\x0b\\x11\\x16\\x03\\x0a/\\x04\\x03\\x0a,\\x1a\\x03\\x0b\\x173\\x03\\x0a,1\\x03\\x0a/5\" +\n\t\"\\x03\\x0a\\x221\\x03\\x0a\\x22\\x0d\\x03\\x0a?%\\x03\\x0a<,\\x03\\x0a?#\\x03\\x0a>\\x19\" +\n\t\"\\x03\\x0a\\x08&\\x03\\x0a\\x0b\\x0e\\x03\\x0a\\x0c:\\x03\\x0a\\x0c+\\x03\\x0a\\x03\\x22\" +\n\t\"\\x03\\x0a\\x06)\\x03\\x0a\\x11\\x10\\x03\\x0a\\x11\\x1a\\x03\\x0a\\x17-\\x03\\x0a\\x14(\" +\n\t\"\\x03\\x09)\\x1e\\x03\\x09/\\x09\\x03\\x09.\\x00\\x03\\x09,\\x07\\x03\\x09/*\\x03\\x09-9\" +\n\t\"\\x03\\x09\\x228\\x03\\x09%\\x09\\x03\\x09:\\x12\\x03\\x09;\\x1d\\x03\\x09?\\x06\\x03\" +\n\t\"\\x093%\\x03\\x096\\x05\\x03\\x096\\x08\\x03\\x097\\x02\\x03\\x09\\x07,\\x03\\x09\\x04,\" +\n\t\"\\x03\\x09\\x1f\\x16\\x03\\x09\\x11\\x03\\x03\\x09\\x11\\x12\\x03\\x09\\x168\\x03\\x08*\" +\n\t\"\\x05\\x03\\x08/2\\x03\\x084:\\x03\\x08\\x22+\\x03\\x08 0\\x03\\x08&\\x0a\\x03\\x08;\" +\n\t\"\\x10\\x03\\x08>$\\x03\\x08>\\x18\\x03\\x0829\\x03\\x082:\\x03\\x081,\\x03\\x081<\\x03\" +\n\t\"\\x081\\x1c\\x03\\x087#\\x03\\x087*\\x03\\x08\\x09'\\x03\\x08\\x00\\x1d\\x03\\x08\\x05-\" +\n\t\"\\x03\\x08\\x1f4\\x03\\x08\\x1d\\x04\\x03\\x08\\x16\\x0f\\x03\\x07*7\\x03\\x07'!\\x03\" +\n\t\"\\x07%\\x1b\\x03\\x077\\x0c\\x03\\x07\\x0c1\\x03\\x07\\x0c.\\x03\\x07\\x00\\x06\\x03\\x07\" +\n\t\"\\x01\\x02\\x03\\x07\\x010\\x03\\x07\\x06=\\x03\\x07\\x01\\x03\\x03\\x07\\x01\\x13\\x03\" +\n\t\"\\x07\\x06\\x06\\x03\\x07\\x05\\x0a\\x03\\x07\\x1f\\x09\\x03\\x07\\x17:\\x03\\x06*1\\x03\" +\n\t\"\\x06-\\x1d\\x03\\x06\\x223\\x03\\x062:\\x03\\x060$\\x03\\x066\\x1e\\x03\\x064\\x12\\x03\" +\n\t\"\\x0645\\x03\\x06\\x0b\\x00\\x03\\x06\\x0b7\\x03\\x06\\x07\\x1f\\x03\\x06\\x15\\x12\\x03\" +\n\t\"\\x0c\\x05\\x0f\\x03\\x0b+\\x0b\\x03\\x0b+-\\x03\\x06\\x16\\x1b\\x03\\x06\\x15\\x17\\x03\" +\n\t\"\\x89\\xca\\xea\\x03\\x89\\xca\\xe8\\x03\\x0c8\\x10\\x03\\x0c8\\x01\\x03\\x0c8\\x0f\\x03\" +\n\t\"\\x0d8%\\x03\\x0d8!\\x03\\x0c8-\\x03\\x0c8/\\x03\\x0c8+\\x03\\x0c87\\x03\\x0c85\\x03\" +\n\t\"\\x0c9\\x09\\x03\\x0c9\\x0d\\x03\\x0c9\\x0f\\x03\\x0c9\\x0b\\x03\\xcfu\\x0c\\x03\\xcfu\" +\n\t\"\\x0f\\x03\\xcfu\\x0e\\x03\\xcfu\\x09\\x03\\x0c9\\x10\\x03\\x0d9\\x0c\\x03\\xcf`;\\x03\" +\n\t\"\\xcf`>\\x03\\xcf`9\\x03\\xcf`8\\x03\\xcf`7\\x03\\xcf`*\\x03\\xcf`-\\x03\\xcf`,\\x03\" +\n\t\"\\x0d\\x1b\\x1a\\x03\\x0d\\x1b&\\x03\\x0c=.\\x03\\x0c=%\\x03\\x0c>\\x1e\\x03\\x0c>\\x14\" +\n\t\"\\x03\\x0c?\\x06\\x03\\x0c?\\x0b\\x03\\x0c?\\x0c\\x03\\x0c?\\x0d\\x03\\x0c?\\x02\\x03\" +\n\t\"\\x0c>\\x0f\\x03\\x0c>\\x08\\x03\\x0c>\\x09\\x03\\x0c>,\\x03\\x0c>\\x0c\\x03\\x0c?\\x13\" +\n\t\"\\x03\\x0c?\\x16\\x03\\x0c?\\x15\\x03\\x0c?\\x1c\\x03\\x0c?\\x1f\\x03\\x0c?\\x1d\\x03\" +\n\t\"\\x0c?\\x1a\\x03\\x0c?\\x17\\x03\\x0c?\\x08\\x03\\x0c?\\x09\\x03\\x0c?\\x0e\\x03\\x0c?\" +\n\t\"\\x04\\x03\\x0c?\\x05\\x03\\x0c<?\\x03\\x0c=\\x00\\x03\\x0c=\\x06\\x03\\x0c=\\x05\\x03\" +\n\t\"\\x0c=\\x0c\\x03\\x0c=\\x0f\\x03\\x0c=\\x0d\\x03\\x0c=\\x0b\\x03\\x0c=\\x07\\x03\\x0c=\" +\n\t\"\\x19\\x03\\x0c=\\x15\\x03\\x0c=\\x11\\x03\\x0c=1\\x03\\x0c=3\\x03\\x0c=0\\x03\\x0c=>\" +\n\t\"\\x03\\x0c=2\\x03\\x0c=6\\x03\\x0c<\\x07\\x03\\x0c<\\x05\\x03\\x0e:!\\x03\\x0e:#\\x03\" +\n\t\"\\x0e8\\x09\\x03\\x0e:&\\x03\\x0e8\\x0b\\x03\\x0e:$\\x03\\x0e:,\\x03\\x0e8\\x1a\\x03\" +\n\t\"\\x0e8\\x1e\\x03\\x0e:*\\x03\\x0e:7\\x03\\x0e:5\\x03\\x0e:;\\x03\\x0e:\\x15\\x03\\x0e:<\" +\n\t\"\\x03\\x0e:4\\x03\\x0e:'\\x03\\x0e:-\\x03\\x0e:%\\x03\\x0e:?\\x03\\x0e:=\\x03\\x0e:)\" +\n\t\"\\x03\\x0e:/\\x03\\xcfs'\\x03\\x0d=\\x0f\\x03\\x0d+*\\x03\\x0d99\\x03\\x0d9;\\x03\\x0d9\" +\n\t\"?\\x03\\x0d)\\x0d\\x03\\x0d(%\\x02\\x01\\x18\\x02\\x01(\\x02\\x01\\x1e\\x03\\x0f$!\\x03\" +\n\t\"\\x0f87\\x03\\x0f4\\x0e\\x03\\x0f5\\x1d\\x03\\x06'\\x03\\x03\\x0f\\x08\\x18\\x03\\x0f\" +\n\t\"\\x0d\\x1b\\x03\\x0e2=\\x03\\x0e;\\x08\\x03\\x0e:\\x0b\\x03\\x0e\\x06$\\x03\\x0e\\x0d)\" +\n\t\"\\x03\\x0e\\x16\\x1f\\x03\\x0e\\x16\\x1b\\x03\\x0d$\\x0a\\x03\\x05,\\x1d\\x03\\x0d. \\x03\" +\n\t\"\\x0d.#\\x03\\x0c(/\\x03\\x09%\\x02\\x03\\x0d90\\x03\\x0d\\x0e4\\x03\\x0d\\x0d\\x0f\\x03\" +\n\t\"\\x0c#\\x00\\x03\\x0c,\\x1e\\x03\\x0c2\\x0e\\x03\\x0c\\x01\\x17\\x03\\x0c\\x09:\\x03\\x0e\" +\n\t\"\\x173\\x03\\x0c\\x08\\x03\\x03\\x0c\\x11\\x07\\x03\\x0c\\x10\\x18\\x03\\x0c\\x1f\\x1c\" +\n\t\"\\x03\\x0c\\x19\\x0e\\x03\\x0c\\x1a\\x1f\\x03\\x0f0>\\x03\\x0b->\\x03\\x0b<+\\x03\\x0b8\" +\n\t\"\\x13\\x03\\x0b\\x043\\x03\\x0b\\x14\\x03\\x03\\x0b\\x16%\\x03\\x0d\\x22&\\x03\\x0b\\x1a\" +\n\t\"\\x1a\\x03\\x0b\\x1a\\x04\\x03\\x0a%9\\x03\\x0a&2\\x03\\x0a&0\\x03\\x0a!\\x1a\\x03\\x0a!\" +\n\t\"7\\x03\\x0a5\\x10\\x03\\x0a=4\\x03\\x0a?\\x0e\\x03\\x0a>\\x10\\x03\\x0a\\x00 \\x03\\x0a\" +\n\t\"\\x0f:\\x03\\x0a\\x0f9\\x03\\x0a\\x0b\\x0a\\x03\\x0a\\x17%\\x03\\x0a\\x1b-\\x03\\x09-\" +\n\t\"\\x1a\\x03\\x09,4\\x03\\x09.,\\x03\\x09)\\x09\\x03\\x096!\\x03\\x091\\x1f\\x03\\x093\" +\n\t\"\\x16\\x03\\x0c+\\x1f\\x03\\x098 \\x03\\x098=\\x03\\x0c(\\x1a\\x03\\x0c(\\x16\\x03\\x09\" +\n\t\"\\x0a+\\x03\\x09\\x16\\x12\\x03\\x09\\x13\\x0e\\x03\\x09\\x153\\x03\\x08)!\\x03\\x09\\x1a\" +\n\t\"\\x01\\x03\\x09\\x18\\x01\\x03\\x08%#\\x03\\x08>\\x22\\x03\\x08\\x05%\\x03\\x08\\x02*\" +\n\t\"\\x03\\x08\\x15;\\x03\\x08\\x1b7\\x03\\x0f\\x07\\x1d\\x03\\x0f\\x04\\x03\\x03\\x070\\x0c\" +\n\t\"\\x03\\x07;\\x0b\\x03\\x07\\x08\\x17\\x03\\x07\\x12\\x06\\x03\\x06/-\\x03\\x0671\\x03\" +\n\t\"\\x065+\\x03\\x06>7\\x03\\x06\\x049\\x03\\x05+\\x1e\\x03\\x05,\\x17\\x03\\x05 \\x1d\\x03\" +\n\t\"\\x05\\x22\\x05\\x03\\x050\\x1d\"\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *idnaTrie) lookup(s []byte) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn idnaValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := idnaIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := idnaIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = idnaIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := idnaIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = idnaIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = idnaIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *idnaTrie) lookupUnsafe(s []byte) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn idnaValues[c0]\n\t}\n\ti := idnaIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = idnaIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = idnaIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *idnaTrie) lookupString(s string) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn idnaValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := idnaIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := idnaIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = idnaIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := idnaIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = idnaIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = idnaIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *idnaTrie) lookupStringUnsafe(s string) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn idnaValues[c0]\n\t}\n\ti := idnaIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = idnaIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = idnaIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// idnaTrie. Total size: 29052 bytes (28.37 KiB). Checksum: ef06e7ecc26f36dd.\ntype idnaTrie struct{}\n\nfunc newIdnaTrie(i int) *idnaTrie {\n\treturn &idnaTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *idnaTrie) lookupValue(n uint32, b byte) uint16 {\n\tswitch {\n\tcase n < 125:\n\t\treturn uint16(idnaValues[n<<6+uint32(b)])\n\tdefault:\n\t\tn -= 125\n\t\treturn uint16(idnaSparse.lookup(n, b))\n\t}\n}\n\n// idnaValues: 127 blocks, 8128 entries, 16256 bytes\n// The third block is the zero block.\nvar idnaValues = [8128]uint16{\n\t// Block 0x0, offset 0x0\n\t0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080,\n\t0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080,\n\t0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080,\n\t0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080,\n\t0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080,\n\t0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080,\n\t0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080,\n\t0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080,\n\t0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008,\n\t0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080,\n\t0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080,\n\t// Block 0x1, offset 0x40\n\t0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105,\n\t0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105,\n\t0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105,\n\t0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105,\n\t0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080,\n\t0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008,\n\t0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008,\n\t0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008,\n\t0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008,\n\t0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080,\n\t0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040,\n\t0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040,\n\t0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040,\n\t0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040,\n\t0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040,\n\t0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018,\n\t0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018,\n\t0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a,\n\t0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005,\n\t0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018,\n\t0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018,\n\t// Block 0x4, offset 0x100\n\t0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008,\n\t0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008,\n\t0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008,\n\t0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008,\n\t0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008,\n\t0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008,\n\t0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008,\n\t0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008,\n\t0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008,\n\t0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d,\n\t0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d,\n\t0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008,\n\t0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008,\n\t0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008,\n\t0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008,\n\t0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008,\n\t0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008,\n\t0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008,\n\t0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008,\n\t0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d,\n\t0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008,\n\t0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d,\n\t0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d,\n\t0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d,\n\t0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155,\n\t0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008,\n\t0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d,\n\t0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd,\n\t0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d,\n\t0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008,\n\t0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9,\n\t0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d,\n\t0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d,\n\t0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d,\n\t0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008,\n\t0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008,\n\t0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008,\n\t0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008,\n\t0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008,\n\t0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008,\n\t0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008,\n\t// Block 0x8, offset 0x200\n\t0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008,\n\t0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008,\n\t0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008,\n\t0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008,\n\t0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008,\n\t0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008,\n\t0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008,\n\t0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008,\n\t0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008,\n\t0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d,\n\t0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018,\n\t0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008,\n\t0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008,\n\t0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018,\n\t0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a,\n\t0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369,\n\t0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018,\n\t0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018,\n\t0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018,\n\t0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018,\n\t0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018,\n\t// Block 0xa, offset 0x280\n\t0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d,\n\t0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308,\n\t0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308,\n\t0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308,\n\t0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308,\n\t0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308,\n\t0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308,\n\t0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308,\n\t0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008,\n\t0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008,\n\t0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2,\n\t0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040,\n\t0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105,\n\t0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105,\n\t0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105,\n\t0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d,\n\t0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d,\n\t0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008,\n\t0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008,\n\t0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008,\n\t0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008,\n\t// Block 0xc, offset 0x300\n\t0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008,\n\t0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008,\n\t0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd,\n\t0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008,\n\t0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008,\n\t0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008,\n\t0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008,\n\t0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008,\n\t0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd,\n\t0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008,\n\t0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d,\n\t// Block 0xd, offset 0x340\n\t0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008,\n\t0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008,\n\t0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008,\n\t0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008,\n\t0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008,\n\t0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008,\n\t0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008,\n\t0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008,\n\t0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008,\n\t0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008,\n\t0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008,\n\t// Block 0xe, offset 0x380\n\t0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308,\n\t0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008,\n\t0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008,\n\t0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008,\n\t0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008,\n\t0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008,\n\t0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008,\n\t0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008,\n\t0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008,\n\t0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008,\n\t0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008,\n\t// Block 0xf, offset 0x3c0\n\t0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d,\n\t0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d,\n\t0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008,\n\t0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008,\n\t0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008,\n\t0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008,\n\t0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008,\n\t0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008,\n\t0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008,\n\t0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008,\n\t0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008,\n\t// Block 0x10, offset 0x400\n\t0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008,\n\t0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008,\n\t0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008,\n\t0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008,\n\t0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008,\n\t0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008,\n\t0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008,\n\t0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008,\n\t0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5,\n\t0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5,\n\t0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840,\n\t0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818,\n\t0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308,\n\t0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308,\n\t0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040,\n\t0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08,\n\t0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08,\n\t0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08,\n\t0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08,\n\t0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08,\n\t0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08,\n\t// Block 0x12, offset 0x480\n\t0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08,\n\t0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308,\n\t0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308,\n\t0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308,\n\t0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308,\n\t0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808,\n\t0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808,\n\t0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08,\n\t0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429,\n\t0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08,\n\t0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08,\n\t0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08,\n\t0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08,\n\t0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308,\n\t0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840,\n\t0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308,\n\t0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018,\n\t0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08,\n\t0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008,\n\t0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08,\n\t0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818,\n\t0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818,\n\t0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308,\n\t0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08,\n\t0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08,\n\t0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08,\n\t0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08,\n\t0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08,\n\t0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308,\n\t0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308,\n\t0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08,\n\t0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08,\n\t0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08,\n\t0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0808, 0x557: 0x0808,\n\t0x558: 0x0808, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040,\n\t0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08,\n\t0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08,\n\t0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040,\n\t0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040,\n\t0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040,\n\t0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308,\n\t0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008,\n\t0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308,\n\t0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308,\n\t0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1,\n\t0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308,\n\t0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008,\n\t0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008,\n\t0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008,\n\t0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008,\n\t0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008,\n\t0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008,\n\t0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040,\n\t0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008,\n\t0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008,\n\t0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008,\n\t0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040,\n\t0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008,\n\t0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040,\n\t0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040,\n\t0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040,\n\t0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008,\n\t0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040,\n\t0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008,\n\t0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1,\n\t0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308,\n\t0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008,\n\t0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008,\n\t0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018,\n\t0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018,\n\t0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x0040, 0x63f: 0x0040,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008,\n\t0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040,\n\t0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040,\n\t0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008,\n\t0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008,\n\t0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008,\n\t0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040,\n\t0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008,\n\t0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008,\n\t0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040,\n\t0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040,\n\t0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308,\n\t0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308,\n\t0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040,\n\t0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040,\n\t0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040,\n\t0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008,\n\t0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008,\n\t0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308,\n\t0x6b6: 0x0040, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040,\n\t0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008,\n\t0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008,\n\t0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008,\n\t0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008,\n\t0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008,\n\t0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008,\n\t0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040,\n\t0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008,\n\t0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008,\n\t0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040,\n\t0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008,\n\t// Block 0x1c, offset 0x700\n\t0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308,\n\t0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008,\n\t0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040,\n\t0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040,\n\t0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040,\n\t0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308,\n\t0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008,\n\t0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008,\n\t0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040,\n\t0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308,\n\t0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308,\n\t// Block 0x1d, offset 0x740\n\t0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008,\n\t0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008,\n\t0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040,\n\t0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008,\n\t0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008,\n\t0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008,\n\t0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040,\n\t0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008,\n\t0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008,\n\t0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040,\n\t0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308,\n\t// Block 0x1e, offset 0x780\n\t0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040,\n\t0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008,\n\t0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040,\n\t0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x0040, 0x796: 0x3308, 0x797: 0x3008,\n\t0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9,\n\t0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308,\n\t0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008,\n\t0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008,\n\t0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018,\n\t0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040,\n\t0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008,\n\t0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040,\n\t0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040,\n\t0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040,\n\t0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040,\n\t0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008,\n\t0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008,\n\t0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008,\n\t0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008,\n\t0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040,\n\t0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008,\n\t// Block 0x20, offset 0x800\n\t0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040,\n\t0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308,\n\t0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040,\n\t0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040,\n\t0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040,\n\t0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308,\n\t0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008,\n\t0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008,\n\t0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040,\n\t0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018,\n\t0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018,\n\t// Block 0x21, offset 0x840\n\t0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0040, 0x845: 0x0008,\n\t0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008,\n\t0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040,\n\t0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008,\n\t0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008,\n\t0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008,\n\t0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040,\n\t0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008,\n\t0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008,\n\t0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040,\n\t0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308,\n\t// Block 0x22, offset 0x880\n\t0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040,\n\t0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008,\n\t0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040,\n\t0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040,\n\t0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040,\n\t0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308,\n\t0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008,\n\t0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008,\n\t0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040,\n\t0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040,\n\t0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040,\n\t// Block 0x23, offset 0x8c0\n\t0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040,\n\t0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008,\n\t0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040,\n\t0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008,\n\t0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018,\n\t0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308,\n\t0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008,\n\t0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008,\n\t0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018,\n\t0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008,\n\t0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008,\n\t// Block 0x24, offset 0x900\n\t0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040,\n\t0x906: 0x0040, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0040, 0x90a: 0x0008, 0x90b: 0x0040,\n\t0x90c: 0x0040, 0x90d: 0x0008, 0x90e: 0x0040, 0x90f: 0x0040, 0x910: 0x0040, 0x911: 0x0040,\n\t0x912: 0x0040, 0x913: 0x0040, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008,\n\t0x918: 0x0040, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008,\n\t0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0040, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008,\n\t0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0040, 0x929: 0x0040,\n\t0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0040, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008,\n\t0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308,\n\t0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x0040, 0x93b: 0x3308,\n\t0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040,\n\t// Block 0x25, offset 0x940\n\t0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008,\n\t0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008,\n\t0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008,\n\t0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79,\n\t0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008,\n\t0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008,\n\t0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9,\n\t0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040,\n\t0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59,\n\t0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308,\n\t0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018,\n\t0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008,\n\t0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308,\n\t0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308,\n\t0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11,\n\t0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308,\n\t0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308,\n\t0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308,\n\t0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308,\n\t0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308,\n\t0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018,\n\t// Block 0x27, offset 0x9c0\n\t0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008,\n\t0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008,\n\t0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008,\n\t0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008,\n\t0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008,\n\t0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008,\n\t0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008,\n\t0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008,\n\t0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41,\n\t0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008,\n\t0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1,\n\t0xa06: 0x059d, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011,\n\t0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041,\n\t0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05b5, 0xa15: 0x05b5, 0xa16: 0x0f99, 0xa17: 0x0fa9,\n\t0xa18: 0x0fb9, 0xa19: 0x059d, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05cd, 0xa1d: 0x1099,\n\t0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269,\n\t0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1,\n\t0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008,\n\t0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008,\n\t0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008,\n\t0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008,\n\t// Block 0x29, offset 0xa40\n\t0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008,\n\t0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008,\n\t0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008,\n\t0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008,\n\t0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169,\n\t0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9,\n\t0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05e5, 0xa68: 0x1239, 0xa69: 0x1251,\n\t0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9,\n\t0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359,\n\t0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x05fd, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1,\n\t0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429,\n\t// Block 0x2a, offset 0xa80\n\t0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008,\n\t0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008,\n\t0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008,\n\t0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008,\n\t0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008,\n\t0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008,\n\t0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008,\n\t0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008,\n\t0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008,\n\t0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008,\n\t0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008,\n\t// Block 0x2b, offset 0xac0\n\t0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008,\n\t0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008,\n\t0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008,\n\t0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008,\n\t0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x0615, 0xadb: 0x0635, 0xadc: 0x0008, 0xadd: 0x0008,\n\t0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008,\n\t0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008,\n\t0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008,\n\t0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008,\n\t0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008,\n\t0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008,\n\t// Block 0x2c, offset 0xb00\n\t0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008,\n\t0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045,\n\t0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008,\n\t0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008,\n\t0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045,\n\t0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008,\n\t0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045,\n\t0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045,\n\t0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489,\n\t0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1,\n\t0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040,\n\t// Block 0x2d, offset 0xb40\n\t0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1,\n\t0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591,\n\t0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1,\n\t0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1,\n\t0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771,\n\t0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891,\n\t0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831,\n\t0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951,\n\t0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040,\n\t0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x064d, 0xb7b: 0x1459,\n\t0xb7c: 0x19b1, 0xb7d: 0x0666, 0xb7e: 0x1a31, 0xb7f: 0x0686,\n\t// Block 0x2e, offset 0xb80\n\t0xb80: 0x06a6, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040,\n\t0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06c5, 0xb89: 0x1471, 0xb8a: 0x06dd, 0xb8b: 0x1489,\n\t0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008,\n\t0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008,\n\t0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x06f5, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2,\n\t0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61,\n\t0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045,\n\t0xbaa: 0x070d, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa,\n\t0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040,\n\t0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x0725, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9,\n\t0xbbc: 0x1ce9, 0xbbd: 0x073e, 0xbbe: 0x075e, 0xbbf: 0x0040,\n\t// Block 0x2f, offset 0xbc0\n\t0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a,\n\t0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0,\n\t0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d,\n\t0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x077e,\n\t0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018,\n\t0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018,\n\t0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040,\n\t0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a,\n\t0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018,\n\t0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018,\n\t0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x079e, 0xbff: 0x0018,\n\t// Block 0x30, offset 0xc00\n\t0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018,\n\t0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018,\n\t0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018,\n\t0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9,\n\t0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018,\n\t0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340,\n\t0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040,\n\t0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340,\n\t0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61,\n\t0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07bd,\n\t0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71,\n\t// Block 0x31, offset 0xc40\n\t0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61,\n\t0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07d5,\n\t0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09,\n\t0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359,\n\t0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040,\n\t0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018,\n\t0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018,\n\t0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018,\n\t0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018,\n\t0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018,\n\t0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018,\n\t// Block 0x32, offset 0xc80\n\t0xc80: 0x07ee, 0xc81: 0x080e, 0xc82: 0x1159, 0xc83: 0x082d, 0xc84: 0x0018, 0xc85: 0x084e,\n\t0xc86: 0x086e, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x088d, 0xc8a: 0x0f31, 0xc8b: 0x0249,\n\t0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41,\n\t0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018,\n\t0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269,\n\t0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08ad, 0xca2: 0x2061, 0xca3: 0x0018,\n\t0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018,\n\t0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09,\n\t0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9,\n\t0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08cd,\n\t0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109,\n\t// Block 0x33, offset 0xcc0\n\t0xcc0: 0x08ed, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9,\n\t0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018,\n\t0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151,\n\t0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279,\n\t0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399,\n\t0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x0905, 0xce3: 0x2439,\n\t0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x0925, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369,\n\t0xcea: 0x24a9, 0xceb: 0x0945, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61,\n\t0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x0965, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451,\n\t0xcf6: 0x0985, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09a5,\n\t0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61,\n\t// Block 0x34, offset 0xd00\n\t0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018,\n\t0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040,\n\t0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040,\n\t0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040,\n\t0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040,\n\t0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51,\n\t0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601,\n\t0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691,\n\t0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a06, 0xd35: 0x0a26,\n\t0xd36: 0x0a46, 0xd37: 0x0a66, 0xd38: 0x0a86, 0xd39: 0x0aa6, 0xd3a: 0x0ac6, 0xd3b: 0x0ae6,\n\t0xd3c: 0x0b06, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a,\n\t// Block 0x35, offset 0xd40\n\t0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a,\n\t0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040,\n\t0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040,\n\t0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040,\n\t0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b26, 0xd5d: 0x0b46,\n\t0xd5e: 0x0b66, 0xd5f: 0x0b86, 0xd60: 0x0ba6, 0xd61: 0x0bc6, 0xd62: 0x0be6, 0xd63: 0x0c06,\n\t0xd64: 0x0c26, 0xd65: 0x0c46, 0xd66: 0x0c66, 0xd67: 0x0c86, 0xd68: 0x0ca6, 0xd69: 0x0cc6,\n\t0xd6a: 0x0ce6, 0xd6b: 0x0d06, 0xd6c: 0x0d26, 0xd6d: 0x0d46, 0xd6e: 0x0d66, 0xd6f: 0x0d86,\n\t0xd70: 0x0da6, 0xd71: 0x0dc6, 0xd72: 0x0de6, 0xd73: 0x0e06, 0xd74: 0x0e26, 0xd75: 0x0e46,\n\t0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199,\n\t0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259,\n\t// Block 0x36, offset 0xd80\n\t0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99,\n\t0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089,\n\t0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9,\n\t0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249,\n\t0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71,\n\t0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9,\n\t0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1,\n\t0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018,\n\t0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018,\n\t0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018,\n\t0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018,\n\t// Block 0x37, offset 0xdc0\n\t0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008,\n\t0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008,\n\t0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008,\n\t0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008,\n\t0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008,\n\t0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ebd,\n\t0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d,\n\t0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9,\n\t0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d,\n\t0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008,\n\t0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9,\n\t// Block 0x38, offset 0xe00\n\t0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008,\n\t0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008,\n\t0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008,\n\t0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008,\n\t0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008,\n\t0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008,\n\t0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018,\n\t0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308,\n\t0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040,\n\t0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018,\n\t0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018,\n\t// Block 0x39, offset 0xe40\n\t0xe40: 0x26fd, 0xe41: 0x271d, 0xe42: 0x273d, 0xe43: 0x275d, 0xe44: 0x277d, 0xe45: 0x279d,\n\t0xe46: 0x27bd, 0xe47: 0x27dd, 0xe48: 0x27fd, 0xe49: 0x281d, 0xe4a: 0x283d, 0xe4b: 0x285d,\n\t0xe4c: 0x287d, 0xe4d: 0x289d, 0xe4e: 0x28bd, 0xe4f: 0x28dd, 0xe50: 0x28fd, 0xe51: 0x291d,\n\t0xe52: 0x293d, 0xe53: 0x295d, 0xe54: 0x297d, 0xe55: 0x299d, 0xe56: 0x0040, 0xe57: 0x0040,\n\t0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040,\n\t0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040,\n\t0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040,\n\t0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040,\n\t0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040,\n\t0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040,\n\t0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040,\n\t// Block 0x3a, offset 0xe80\n\t0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008,\n\t0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018,\n\t0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018,\n\t0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018,\n\t0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018,\n\t0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018,\n\t0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018,\n\t0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018,\n\t0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018,\n\t0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29bd, 0xeb9: 0x29dd, 0xeba: 0x29fd, 0xebb: 0x0018,\n\t0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018,\n\t// Block 0x3b, offset 0xec0\n\t0xec0: 0x2b3d, 0xec1: 0x2b5d, 0xec2: 0x2b7d, 0xec3: 0x2b9d, 0xec4: 0x2bbd, 0xec5: 0x2bdd,\n\t0xec6: 0x2bdd, 0xec7: 0x2bdd, 0xec8: 0x2bfd, 0xec9: 0x2bfd, 0xeca: 0x2bfd, 0xecb: 0x2bfd,\n\t0xecc: 0x2c1d, 0xecd: 0x2c1d, 0xece: 0x2c1d, 0xecf: 0x2c3d, 0xed0: 0x2c5d, 0xed1: 0x2c5d,\n\t0xed2: 0x2a7d, 0xed3: 0x2a7d, 0xed4: 0x2c5d, 0xed5: 0x2c5d, 0xed6: 0x2c7d, 0xed7: 0x2c7d,\n\t0xed8: 0x2c5d, 0xed9: 0x2c5d, 0xeda: 0x2a7d, 0xedb: 0x2a7d, 0xedc: 0x2c5d, 0xedd: 0x2c5d,\n\t0xede: 0x2c3d, 0xedf: 0x2c3d, 0xee0: 0x2c9d, 0xee1: 0x2c9d, 0xee2: 0x2cbd, 0xee3: 0x2cbd,\n\t0xee4: 0x0040, 0xee5: 0x2cdd, 0xee6: 0x2cfd, 0xee7: 0x2d1d, 0xee8: 0x2d1d, 0xee9: 0x2d3d,\n\t0xeea: 0x2d5d, 0xeeb: 0x2d7d, 0xeec: 0x2d9d, 0xeed: 0x2dbd, 0xeee: 0x2ddd, 0xeef: 0x2dfd,\n\t0xef0: 0x2e1d, 0xef1: 0x2e3d, 0xef2: 0x2e3d, 0xef3: 0x2e5d, 0xef4: 0x2e7d, 0xef5: 0x2e7d,\n\t0xef6: 0x2e9d, 0xef7: 0x2ebd, 0xef8: 0x2e5d, 0xef9: 0x2edd, 0xefa: 0x2efd, 0xefb: 0x2edd,\n\t0xefc: 0x2e5d, 0xefd: 0x2f1d, 0xefe: 0x2f3d, 0xeff: 0x2f5d,\n\t// Block 0x3c, offset 0xf00\n\t0xf00: 0x2f7d, 0xf01: 0x2f9d, 0xf02: 0x2cfd, 0xf03: 0x2cdd, 0xf04: 0x2fbd, 0xf05: 0x2fdd,\n\t0xf06: 0x2ffd, 0xf07: 0x301d, 0xf08: 0x303d, 0xf09: 0x305d, 0xf0a: 0x307d, 0xf0b: 0x309d,\n\t0xf0c: 0x30bd, 0xf0d: 0x30dd, 0xf0e: 0x30fd, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018,\n\t0xf12: 0x311d, 0xf13: 0x313d, 0xf14: 0x315d, 0xf15: 0x317d, 0xf16: 0x319d, 0xf17: 0x31bd,\n\t0xf18: 0x31dd, 0xf19: 0x31fd, 0xf1a: 0x321d, 0xf1b: 0x323d, 0xf1c: 0x315d, 0xf1d: 0x325d,\n\t0xf1e: 0x327d, 0xf1f: 0x329d, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008,\n\t0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008,\n\t0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008,\n\t0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008,\n\t0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0040,\n\t0xf3c: 0x0040, 0xf3d: 0x0040, 0xf3e: 0x0040, 0xf3f: 0x0040,\n\t// Block 0x3d, offset 0xf40\n\t0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32bd, 0xf45: 0x32dd,\n\t0xf46: 0x32fd, 0xf47: 0x331d, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018,\n\t0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x333d, 0xf51: 0x3761,\n\t0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1,\n\t0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881,\n\t0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x335d, 0xf61: 0x337d, 0xf62: 0x339d, 0xf63: 0x33bd,\n\t0xf64: 0x33dd, 0xf65: 0x33dd, 0xf66: 0x33fd, 0xf67: 0x341d, 0xf68: 0x343d, 0xf69: 0x345d,\n\t0xf6a: 0x347d, 0xf6b: 0x349d, 0xf6c: 0x34bd, 0xf6d: 0x34dd, 0xf6e: 0x34fd, 0xf6f: 0x351d,\n\t0xf70: 0x353d, 0xf71: 0x355d, 0xf72: 0x357d, 0xf73: 0x359d, 0xf74: 0x35bd, 0xf75: 0x35dd,\n\t0xf76: 0x35fd, 0xf77: 0x361d, 0xf78: 0x363d, 0xf79: 0x365d, 0xf7a: 0x367d, 0xf7b: 0x369d,\n\t0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36bd, 0xf7f: 0x0018,\n\t// Block 0x3e, offset 0xf80\n\t0xf80: 0x36dd, 0xf81: 0x36fd, 0xf82: 0x371d, 0xf83: 0x373d, 0xf84: 0x375d, 0xf85: 0x377d,\n\t0xf86: 0x379d, 0xf87: 0x37bd, 0xf88: 0x37dd, 0xf89: 0x37fd, 0xf8a: 0x381d, 0xf8b: 0x383d,\n\t0xf8c: 0x385d, 0xf8d: 0x387d, 0xf8e: 0x389d, 0xf8f: 0x38bd, 0xf90: 0x38dd, 0xf91: 0x38fd,\n\t0xf92: 0x391d, 0xf93: 0x393d, 0xf94: 0x395d, 0xf95: 0x397d, 0xf96: 0x399d, 0xf97: 0x39bd,\n\t0xf98: 0x39dd, 0xf99: 0x39fd, 0xf9a: 0x3a1d, 0xf9b: 0x3a3d, 0xf9c: 0x3a5d, 0xf9d: 0x3a7d,\n\t0xf9e: 0x3a9d, 0xf9f: 0x3abd, 0xfa0: 0x3add, 0xfa1: 0x3afd, 0xfa2: 0x3b1d, 0xfa3: 0x3b3d,\n\t0xfa4: 0x3b5d, 0xfa5: 0x3b7d, 0xfa6: 0x127d, 0xfa7: 0x3b9d, 0xfa8: 0x3bbd, 0xfa9: 0x3bdd,\n\t0xfaa: 0x3bfd, 0xfab: 0x3c1d, 0xfac: 0x3c3d, 0xfad: 0x3c5d, 0xfae: 0x239d, 0xfaf: 0x3c7d,\n\t0xfb0: 0x3c9d, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999,\n\t0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29,\n\t0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89,\n\t// Block 0x3f, offset 0xfc0\n\t0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69,\n\t0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69,\n\t0xfcc: 0x3c99, 0xfcd: 0x3cbd, 0xfce: 0x3cb1, 0xfcf: 0x3cdd, 0xfd0: 0x3cfd, 0xfd1: 0x3d15,\n\t0xfd2: 0x3d2d, 0xfd3: 0x3d45, 0xfd4: 0x3d5d, 0xfd5: 0x3d5d, 0xfd6: 0x3d45, 0xfd7: 0x3d75,\n\t0xfd8: 0x07bd, 0xfd9: 0x3d8d, 0xfda: 0x3da5, 0xfdb: 0x3dbd, 0xfdc: 0x3dd5, 0xfdd: 0x3ded,\n\t0xfde: 0x3e05, 0xfdf: 0x3e1d, 0xfe0: 0x3e35, 0xfe1: 0x3e4d, 0xfe2: 0x3e65, 0xfe3: 0x3e7d,\n\t0xfe4: 0x3e95, 0xfe5: 0x3e95, 0xfe6: 0x3ead, 0xfe7: 0x3ead, 0xfe8: 0x3ec5, 0xfe9: 0x3ec5,\n\t0xfea: 0x3edd, 0xfeb: 0x3ef5, 0xfec: 0x3f0d, 0xfed: 0x3f25, 0xfee: 0x3f3d, 0xfef: 0x3f3d,\n\t0xff0: 0x3f55, 0xff1: 0x3f55, 0xff2: 0x3f55, 0xff3: 0x3f6d, 0xff4: 0x3f85, 0xff5: 0x3f9d,\n\t0xff6: 0x3fb5, 0xff7: 0x3f9d, 0xff8: 0x3fcd, 0xff9: 0x3fe5, 0xffa: 0x3f6d, 0xffb: 0x3ffd,\n\t0xffc: 0x4015, 0xffd: 0x4015, 0xffe: 0x4015, 0xfff: 0x0040,\n\t// Block 0x40, offset 0x1000\n\t0x1000: 0x3cc9, 0x1001: 0x3d31, 0x1002: 0x3d99, 0x1003: 0x3e01, 0x1004: 0x3e51, 0x1005: 0x3eb9,\n\t0x1006: 0x3f09, 0x1007: 0x3f59, 0x1008: 0x3fd9, 0x1009: 0x4041, 0x100a: 0x4091, 0x100b: 0x40e1,\n\t0x100c: 0x4131, 0x100d: 0x4199, 0x100e: 0x4201, 0x100f: 0x4251, 0x1010: 0x42a1, 0x1011: 0x42d9,\n\t0x1012: 0x4329, 0x1013: 0x4391, 0x1014: 0x43f9, 0x1015: 0x4431, 0x1016: 0x44b1, 0x1017: 0x4549,\n\t0x1018: 0x45c9, 0x1019: 0x4619, 0x101a: 0x4699, 0x101b: 0x4719, 0x101c: 0x4781, 0x101d: 0x47d1,\n\t0x101e: 0x4821, 0x101f: 0x4871, 0x1020: 0x48d9, 0x1021: 0x4959, 0x1022: 0x49c1, 0x1023: 0x4a11,\n\t0x1024: 0x4a61, 0x1025: 0x4ab1, 0x1026: 0x4ae9, 0x1027: 0x4b21, 0x1028: 0x4b59, 0x1029: 0x4b91,\n\t0x102a: 0x4be1, 0x102b: 0x4c31, 0x102c: 0x4cb1, 0x102d: 0x4d01, 0x102e: 0x4d69, 0x102f: 0x4de9,\n\t0x1030: 0x4e39, 0x1031: 0x4e71, 0x1032: 0x4ea9, 0x1033: 0x4f29, 0x1034: 0x4f91, 0x1035: 0x5011,\n\t0x1036: 0x5061, 0x1037: 0x50e1, 0x1038: 0x5119, 0x1039: 0x5169, 0x103a: 0x51b9, 0x103b: 0x5209,\n\t0x103c: 0x5259, 0x103d: 0x52a9, 0x103e: 0x5311, 0x103f: 0x5361,\n\t// Block 0x41, offset 0x1040\n\t0x1040: 0x5399, 0x1041: 0x53e9, 0x1042: 0x5439, 0x1043: 0x5489, 0x1044: 0x54f1, 0x1045: 0x5541,\n\t0x1046: 0x5591, 0x1047: 0x55e1, 0x1048: 0x5661, 0x1049: 0x56c9, 0x104a: 0x5701, 0x104b: 0x5781,\n\t0x104c: 0x57b9, 0x104d: 0x5821, 0x104e: 0x5889, 0x104f: 0x58d9, 0x1050: 0x5929, 0x1051: 0x5979,\n\t0x1052: 0x59e1, 0x1053: 0x5a19, 0x1054: 0x5a69, 0x1055: 0x5ad1, 0x1056: 0x5b09, 0x1057: 0x5b89,\n\t0x1058: 0x5bd9, 0x1059: 0x5c01, 0x105a: 0x5c29, 0x105b: 0x5c51, 0x105c: 0x5c79, 0x105d: 0x5ca1,\n\t0x105e: 0x5cc9, 0x105f: 0x5cf1, 0x1060: 0x5d19, 0x1061: 0x5d41, 0x1062: 0x5d69, 0x1063: 0x5d99,\n\t0x1064: 0x5dc9, 0x1065: 0x5df9, 0x1066: 0x5e29, 0x1067: 0x5e59, 0x1068: 0x5e89, 0x1069: 0x5eb9,\n\t0x106a: 0x5ee9, 0x106b: 0x5f19, 0x106c: 0x5f49, 0x106d: 0x5f79, 0x106e: 0x5fa9, 0x106f: 0x5fd9,\n\t0x1070: 0x6009, 0x1071: 0x402d, 0x1072: 0x6039, 0x1073: 0x6051, 0x1074: 0x404d, 0x1075: 0x6069,\n\t0x1076: 0x6081, 0x1077: 0x6099, 0x1078: 0x406d, 0x1079: 0x406d, 0x107a: 0x60b1, 0x107b: 0x60c9,\n\t0x107c: 0x6101, 0x107d: 0x6139, 0x107e: 0x6171, 0x107f: 0x61a9,\n\t// Block 0x42, offset 0x1080\n\t0x1080: 0x6211, 0x1081: 0x6229, 0x1082: 0x408d, 0x1083: 0x6241, 0x1084: 0x6259, 0x1085: 0x6271,\n\t0x1086: 0x6289, 0x1087: 0x62a1, 0x1088: 0x40ad, 0x1089: 0x62b9, 0x108a: 0x62e1, 0x108b: 0x62f9,\n\t0x108c: 0x40cd, 0x108d: 0x40cd, 0x108e: 0x6311, 0x108f: 0x6329, 0x1090: 0x6341, 0x1091: 0x40ed,\n\t0x1092: 0x410d, 0x1093: 0x412d, 0x1094: 0x414d, 0x1095: 0x416d, 0x1096: 0x6359, 0x1097: 0x6371,\n\t0x1098: 0x6389, 0x1099: 0x63a1, 0x109a: 0x63b9, 0x109b: 0x418d, 0x109c: 0x63d1, 0x109d: 0x63e9,\n\t0x109e: 0x6401, 0x109f: 0x41ad, 0x10a0: 0x41cd, 0x10a1: 0x6419, 0x10a2: 0x41ed, 0x10a3: 0x420d,\n\t0x10a4: 0x422d, 0x10a5: 0x6431, 0x10a6: 0x424d, 0x10a7: 0x6449, 0x10a8: 0x6479, 0x10a9: 0x6211,\n\t0x10aa: 0x426d, 0x10ab: 0x428d, 0x10ac: 0x42ad, 0x10ad: 0x42cd, 0x10ae: 0x64b1, 0x10af: 0x64f1,\n\t0x10b0: 0x6539, 0x10b1: 0x6551, 0x10b2: 0x42ed, 0x10b3: 0x6569, 0x10b4: 0x6581, 0x10b5: 0x6599,\n\t0x10b6: 0x430d, 0x10b7: 0x65b1, 0x10b8: 0x65c9, 0x10b9: 0x65b1, 0x10ba: 0x65e1, 0x10bb: 0x65f9,\n\t0x10bc: 0x432d, 0x10bd: 0x6611, 0x10be: 0x6629, 0x10bf: 0x6611,\n\t// Block 0x43, offset 0x10c0\n\t0x10c0: 0x434d, 0x10c1: 0x436d, 0x10c2: 0x0040, 0x10c3: 0x6641, 0x10c4: 0x6659, 0x10c5: 0x6671,\n\t0x10c6: 0x6689, 0x10c7: 0x0040, 0x10c8: 0x66c1, 0x10c9: 0x66d9, 0x10ca: 0x66f1, 0x10cb: 0x6709,\n\t0x10cc: 0x6721, 0x10cd: 0x6739, 0x10ce: 0x6401, 0x10cf: 0x6751, 0x10d0: 0x6769, 0x10d1: 0x6781,\n\t0x10d2: 0x438d, 0x10d3: 0x6799, 0x10d4: 0x6289, 0x10d5: 0x43ad, 0x10d6: 0x43cd, 0x10d7: 0x67b1,\n\t0x10d8: 0x0040, 0x10d9: 0x43ed, 0x10da: 0x67c9, 0x10db: 0x67e1, 0x10dc: 0x67f9, 0x10dd: 0x6811,\n\t0x10de: 0x6829, 0x10df: 0x6859, 0x10e0: 0x6889, 0x10e1: 0x68b1, 0x10e2: 0x68d9, 0x10e3: 0x6901,\n\t0x10e4: 0x6929, 0x10e5: 0x6951, 0x10e6: 0x6979, 0x10e7: 0x69a1, 0x10e8: 0x69c9, 0x10e9: 0x69f1,\n\t0x10ea: 0x6a21, 0x10eb: 0x6a51, 0x10ec: 0x6a81, 0x10ed: 0x6ab1, 0x10ee: 0x6ae1, 0x10ef: 0x6b11,\n\t0x10f0: 0x6b41, 0x10f1: 0x6b71, 0x10f2: 0x6ba1, 0x10f3: 0x6bd1, 0x10f4: 0x6c01, 0x10f5: 0x6c31,\n\t0x10f6: 0x6c61, 0x10f7: 0x6c91, 0x10f8: 0x6cc1, 0x10f9: 0x6cf1, 0x10fa: 0x6d21, 0x10fb: 0x6d51,\n\t0x10fc: 0x6d81, 0x10fd: 0x6db1, 0x10fe: 0x6de1, 0x10ff: 0x440d,\n\t// Block 0x44, offset 0x1100\n\t0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008,\n\t0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008,\n\t0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008,\n\t0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008,\n\t0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008,\n\t0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008,\n\t0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008,\n\t0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308,\n\t0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308,\n\t0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308,\n\t0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008,\n\t// Block 0x45, offset 0x1140\n\t0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008,\n\t0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008,\n\t0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008,\n\t0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008,\n\t0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e11,\n\t0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008,\n\t0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008,\n\t0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008,\n\t0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008,\n\t0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008,\n\t0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008,\n\t// Block 0x46, offset 0x1180\n\t0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018,\n\t0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018,\n\t0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018,\n\t0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008,\n\t0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008,\n\t0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008,\n\t0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008,\n\t0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008,\n\t0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008,\n\t0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008,\n\t0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008,\n\t// Block 0x47, offset 0x11c0\n\t0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008,\n\t0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008,\n\t0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008,\n\t0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008,\n\t0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008,\n\t0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008,\n\t0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008,\n\t0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008,\n\t0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008,\n\t0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d,\n\t0x11fc: 0x0008, 0x11fd: 0x442d, 0x11fe: 0xe00d, 0x11ff: 0x0008,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008,\n\t0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d,\n\t0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008,\n\t0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008,\n\t0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008,\n\t0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008,\n\t0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008,\n\t0x122a: 0x6e29, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e41, 0x122e: 0x1221, 0x122f: 0x0040,\n\t0x1230: 0x6e59, 0x1231: 0x6e71, 0x1232: 0x1239, 0x1233: 0x444d, 0x1234: 0xe00d, 0x1235: 0x0008,\n\t0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0x0040, 0x1239: 0x0040, 0x123a: 0x0040, 0x123b: 0x0040,\n\t0x123c: 0x0040, 0x123d: 0x0040, 0x123e: 0x0040, 0x123f: 0x0040,\n\t// Block 0x49, offset 0x1240\n\t0x1240: 0x64d5, 0x1241: 0x64f5, 0x1242: 0x6515, 0x1243: 0x6535, 0x1244: 0x6555, 0x1245: 0x6575,\n\t0x1246: 0x6595, 0x1247: 0x65b5, 0x1248: 0x65d5, 0x1249: 0x65f5, 0x124a: 0x6615, 0x124b: 0x6635,\n\t0x124c: 0x6655, 0x124d: 0x6675, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x6695, 0x1251: 0x0008,\n\t0x1252: 0x66b5, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x66d5, 0x1256: 0x66f5, 0x1257: 0x6715,\n\t0x1258: 0x6735, 0x1259: 0x6755, 0x125a: 0x6775, 0x125b: 0x6795, 0x125c: 0x67b5, 0x125d: 0x67d5,\n\t0x125e: 0x67f5, 0x125f: 0x0008, 0x1260: 0x6815, 0x1261: 0x0008, 0x1262: 0x6835, 0x1263: 0x0008,\n\t0x1264: 0x0008, 0x1265: 0x6855, 0x1266: 0x6875, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008,\n\t0x126a: 0x6895, 0x126b: 0x68b5, 0x126c: 0x68d5, 0x126d: 0x68f5, 0x126e: 0x6915, 0x126f: 0x6935,\n\t0x1270: 0x6955, 0x1271: 0x6975, 0x1272: 0x6995, 0x1273: 0x69b5, 0x1274: 0x69d5, 0x1275: 0x69f5,\n\t0x1276: 0x6a15, 0x1277: 0x6a35, 0x1278: 0x6a55, 0x1279: 0x6a75, 0x127a: 0x6a95, 0x127b: 0x6ab5,\n\t0x127c: 0x6ad5, 0x127d: 0x6af5, 0x127e: 0x6b15, 0x127f: 0x6b35,\n\t// Block 0x4a, offset 0x1280\n\t0x1280: 0x7a95, 0x1281: 0x7ab5, 0x1282: 0x7ad5, 0x1283: 0x7af5, 0x1284: 0x7b15, 0x1285: 0x7b35,\n\t0x1286: 0x7b55, 0x1287: 0x7b75, 0x1288: 0x7b95, 0x1289: 0x7bb5, 0x128a: 0x7bd5, 0x128b: 0x7bf5,\n\t0x128c: 0x7c15, 0x128d: 0x7c35, 0x128e: 0x7c55, 0x128f: 0x6ec9, 0x1290: 0x6ef1, 0x1291: 0x6f19,\n\t0x1292: 0x7c75, 0x1293: 0x7c95, 0x1294: 0x7cb5, 0x1295: 0x6f41, 0x1296: 0x6f69, 0x1297: 0x6f91,\n\t0x1298: 0x7cd5, 0x1299: 0x7cf5, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040,\n\t0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040,\n\t0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040,\n\t0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040,\n\t0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040,\n\t0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040,\n\t0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040,\n\t// Block 0x4b, offset 0x12c0\n\t0x12c0: 0x6fb9, 0x12c1: 0x6fd1, 0x12c2: 0x6fe9, 0x12c3: 0x7d15, 0x12c4: 0x7d35, 0x12c5: 0x7001,\n\t0x12c6: 0x7001, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040,\n\t0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040,\n\t0x12d2: 0x0040, 0x12d3: 0x7019, 0x12d4: 0x7041, 0x12d5: 0x7069, 0x12d6: 0x7091, 0x12d7: 0x70b9,\n\t0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x70e1,\n\t0x12de: 0x3308, 0x12df: 0x7109, 0x12e0: 0x7131, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7149,\n\t0x12e4: 0x7161, 0x12e5: 0x7179, 0x12e6: 0x7191, 0x12e7: 0x71a9, 0x12e8: 0x71c1, 0x12e9: 0x1fb2,\n\t0x12ea: 0x71d9, 0x12eb: 0x7201, 0x12ec: 0x7229, 0x12ed: 0x7261, 0x12ee: 0x7299, 0x12ef: 0x72c1,\n\t0x12f0: 0x72e9, 0x12f1: 0x7311, 0x12f2: 0x7339, 0x12f3: 0x7361, 0x12f4: 0x7389, 0x12f5: 0x73b1,\n\t0x12f6: 0x73d9, 0x12f7: 0x0040, 0x12f8: 0x7401, 0x12f9: 0x7429, 0x12fa: 0x7451, 0x12fb: 0x7479,\n\t0x12fc: 0x74a1, 0x12fd: 0x0040, 0x12fe: 0x74c9, 0x12ff: 0x0040,\n\t// Block 0x4c, offset 0x1300\n\t0x1300: 0x74f1, 0x1301: 0x7519, 0x1302: 0x0040, 0x1303: 0x7541, 0x1304: 0x7569, 0x1305: 0x0040,\n\t0x1306: 0x7591, 0x1307: 0x75b9, 0x1308: 0x75e1, 0x1309: 0x7609, 0x130a: 0x7631, 0x130b: 0x7659,\n\t0x130c: 0x7681, 0x130d: 0x76a9, 0x130e: 0x76d1, 0x130f: 0x76f9, 0x1310: 0x7721, 0x1311: 0x7721,\n\t0x1312: 0x7739, 0x1313: 0x7739, 0x1314: 0x7739, 0x1315: 0x7739, 0x1316: 0x7751, 0x1317: 0x7751,\n\t0x1318: 0x7751, 0x1319: 0x7751, 0x131a: 0x7769, 0x131b: 0x7769, 0x131c: 0x7769, 0x131d: 0x7769,\n\t0x131e: 0x7781, 0x131f: 0x7781, 0x1320: 0x7781, 0x1321: 0x7781, 0x1322: 0x7799, 0x1323: 0x7799,\n\t0x1324: 0x7799, 0x1325: 0x7799, 0x1326: 0x77b1, 0x1327: 0x77b1, 0x1328: 0x77b1, 0x1329: 0x77b1,\n\t0x132a: 0x77c9, 0x132b: 0x77c9, 0x132c: 0x77c9, 0x132d: 0x77c9, 0x132e: 0x77e1, 0x132f: 0x77e1,\n\t0x1330: 0x77e1, 0x1331: 0x77e1, 0x1332: 0x77f9, 0x1333: 0x77f9, 0x1334: 0x77f9, 0x1335: 0x77f9,\n\t0x1336: 0x7811, 0x1337: 0x7811, 0x1338: 0x7811, 0x1339: 0x7811, 0x133a: 0x7829, 0x133b: 0x7829,\n\t0x133c: 0x7829, 0x133d: 0x7829, 0x133e: 0x7841, 0x133f: 0x7841,\n\t// Block 0x4d, offset 0x1340\n\t0x1340: 0x7841, 0x1341: 0x7841, 0x1342: 0x7859, 0x1343: 0x7859, 0x1344: 0x7871, 0x1345: 0x7871,\n\t0x1346: 0x7889, 0x1347: 0x7889, 0x1348: 0x78a1, 0x1349: 0x78a1, 0x134a: 0x78b9, 0x134b: 0x78b9,\n\t0x134c: 0x78d1, 0x134d: 0x78d1, 0x134e: 0x78e9, 0x134f: 0x78e9, 0x1350: 0x78e9, 0x1351: 0x78e9,\n\t0x1352: 0x7901, 0x1353: 0x7901, 0x1354: 0x7901, 0x1355: 0x7901, 0x1356: 0x7919, 0x1357: 0x7919,\n\t0x1358: 0x7919, 0x1359: 0x7919, 0x135a: 0x7931, 0x135b: 0x7931, 0x135c: 0x7931, 0x135d: 0x7931,\n\t0x135e: 0x7949, 0x135f: 0x7949, 0x1360: 0x7961, 0x1361: 0x7961, 0x1362: 0x7961, 0x1363: 0x7961,\n\t0x1364: 0x7979, 0x1365: 0x7979, 0x1366: 0x7991, 0x1367: 0x7991, 0x1368: 0x7991, 0x1369: 0x7991,\n\t0x136a: 0x79a9, 0x136b: 0x79a9, 0x136c: 0x79a9, 0x136d: 0x79a9, 0x136e: 0x79c1, 0x136f: 0x79c1,\n\t0x1370: 0x79d9, 0x1371: 0x79d9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818,\n\t0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818,\n\t0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818,\n\t// Block 0x4e, offset 0x1380\n\t0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040,\n\t0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040,\n\t0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040,\n\t0x1392: 0x0040, 0x1393: 0x79f1, 0x1394: 0x79f1, 0x1395: 0x79f1, 0x1396: 0x79f1, 0x1397: 0x7a09,\n\t0x1398: 0x7a09, 0x1399: 0x7a21, 0x139a: 0x7a21, 0x139b: 0x7a39, 0x139c: 0x7a39, 0x139d: 0x0479,\n\t0x139e: 0x7a51, 0x139f: 0x7a51, 0x13a0: 0x7a69, 0x13a1: 0x7a69, 0x13a2: 0x7a81, 0x13a3: 0x7a81,\n\t0x13a4: 0x7a99, 0x13a5: 0x7a99, 0x13a6: 0x7a99, 0x13a7: 0x7a99, 0x13a8: 0x7ab1, 0x13a9: 0x7ab1,\n\t0x13aa: 0x7ac9, 0x13ab: 0x7ac9, 0x13ac: 0x7af1, 0x13ad: 0x7af1, 0x13ae: 0x7b19, 0x13af: 0x7b19,\n\t0x13b0: 0x7b41, 0x13b1: 0x7b41, 0x13b2: 0x7b69, 0x13b3: 0x7b69, 0x13b4: 0x7b91, 0x13b5: 0x7b91,\n\t0x13b6: 0x7bb9, 0x13b7: 0x7bb9, 0x13b8: 0x7bb9, 0x13b9: 0x7be1, 0x13ba: 0x7be1, 0x13bb: 0x7be1,\n\t0x13bc: 0x7c09, 0x13bd: 0x7c09, 0x13be: 0x7c09, 0x13bf: 0x7c09,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c0: 0x85f9, 0x13c1: 0x8621, 0x13c2: 0x8649, 0x13c3: 0x8671, 0x13c4: 0x8699, 0x13c5: 0x86c1,\n\t0x13c6: 0x86e9, 0x13c7: 0x8711, 0x13c8: 0x8739, 0x13c9: 0x8761, 0x13ca: 0x8789, 0x13cb: 0x87b1,\n\t0x13cc: 0x87d9, 0x13cd: 0x8801, 0x13ce: 0x8829, 0x13cf: 0x8851, 0x13d0: 0x8879, 0x13d1: 0x88a1,\n\t0x13d2: 0x88c9, 0x13d3: 0x88f1, 0x13d4: 0x8919, 0x13d5: 0x8941, 0x13d6: 0x8969, 0x13d7: 0x8991,\n\t0x13d8: 0x89b9, 0x13d9: 0x89e1, 0x13da: 0x8a09, 0x13db: 0x8a31, 0x13dc: 0x8a59, 0x13dd: 0x8a81,\n\t0x13de: 0x8aaa, 0x13df: 0x8ada, 0x13e0: 0x8b0a, 0x13e1: 0x8b3a, 0x13e2: 0x8b6a, 0x13e3: 0x8b9a,\n\t0x13e4: 0x8bc9, 0x13e5: 0x8bf1, 0x13e6: 0x7c71, 0x13e7: 0x8c19, 0x13e8: 0x7be1, 0x13e9: 0x7c99,\n\t0x13ea: 0x8c41, 0x13eb: 0x8c69, 0x13ec: 0x7d39, 0x13ed: 0x8c91, 0x13ee: 0x7d61, 0x13ef: 0x7d89,\n\t0x13f0: 0x8cb9, 0x13f1: 0x8ce1, 0x13f2: 0x7e29, 0x13f3: 0x8d09, 0x13f4: 0x7e51, 0x13f5: 0x7e79,\n\t0x13f6: 0x8d31, 0x13f7: 0x8d59, 0x13f8: 0x7ec9, 0x13f9: 0x8d81, 0x13fa: 0x7ef1, 0x13fb: 0x7f19,\n\t0x13fc: 0x83a1, 0x13fd: 0x83c9, 0x13fe: 0x8441, 0x13ff: 0x8469,\n\t// Block 0x50, offset 0x1400\n\t0x1400: 0x8491, 0x1401: 0x8531, 0x1402: 0x8559, 0x1403: 0x8581, 0x1404: 0x85a9, 0x1405: 0x8649,\n\t0x1406: 0x8671, 0x1407: 0x8699, 0x1408: 0x8da9, 0x1409: 0x8739, 0x140a: 0x8dd1, 0x140b: 0x8df9,\n\t0x140c: 0x8829, 0x140d: 0x8e21, 0x140e: 0x8851, 0x140f: 0x8879, 0x1410: 0x8a81, 0x1411: 0x8e49,\n\t0x1412: 0x8e71, 0x1413: 0x89b9, 0x1414: 0x8e99, 0x1415: 0x89e1, 0x1416: 0x8a09, 0x1417: 0x7c21,\n\t0x1418: 0x7c49, 0x1419: 0x8ec1, 0x141a: 0x7c71, 0x141b: 0x8ee9, 0x141c: 0x7cc1, 0x141d: 0x7ce9,\n\t0x141e: 0x7d11, 0x141f: 0x7d39, 0x1420: 0x8f11, 0x1421: 0x7db1, 0x1422: 0x7dd9, 0x1423: 0x7e01,\n\t0x1424: 0x7e29, 0x1425: 0x8f39, 0x1426: 0x7ec9, 0x1427: 0x7f41, 0x1428: 0x7f69, 0x1429: 0x7f91,\n\t0x142a: 0x7fb9, 0x142b: 0x7fe1, 0x142c: 0x8031, 0x142d: 0x8059, 0x142e: 0x8081, 0x142f: 0x80a9,\n\t0x1430: 0x80d1, 0x1431: 0x80f9, 0x1432: 0x8f61, 0x1433: 0x8121, 0x1434: 0x8149, 0x1435: 0x8171,\n\t0x1436: 0x8199, 0x1437: 0x81c1, 0x1438: 0x81e9, 0x1439: 0x8239, 0x143a: 0x8261, 0x143b: 0x8289,\n\t0x143c: 0x82b1, 0x143d: 0x82d9, 0x143e: 0x8301, 0x143f: 0x8329,\n\t// Block 0x51, offset 0x1440\n\t0x1440: 0x8351, 0x1441: 0x8379, 0x1442: 0x83f1, 0x1443: 0x8419, 0x1444: 0x84b9, 0x1445: 0x84e1,\n\t0x1446: 0x8509, 0x1447: 0x8531, 0x1448: 0x8559, 0x1449: 0x85d1, 0x144a: 0x85f9, 0x144b: 0x8621,\n\t0x144c: 0x8649, 0x144d: 0x8f89, 0x144e: 0x86c1, 0x144f: 0x86e9, 0x1450: 0x8711, 0x1451: 0x8739,\n\t0x1452: 0x87b1, 0x1453: 0x87d9, 0x1454: 0x8801, 0x1455: 0x8829, 0x1456: 0x8fb1, 0x1457: 0x88a1,\n\t0x1458: 0x88c9, 0x1459: 0x8fd9, 0x145a: 0x8941, 0x145b: 0x8969, 0x145c: 0x8991, 0x145d: 0x89b9,\n\t0x145e: 0x9001, 0x145f: 0x7c71, 0x1460: 0x8ee9, 0x1461: 0x7d39, 0x1462: 0x8f11, 0x1463: 0x7e29,\n\t0x1464: 0x8f39, 0x1465: 0x7ec9, 0x1466: 0x9029, 0x1467: 0x80d1, 0x1468: 0x9051, 0x1469: 0x9079,\n\t0x146a: 0x90a1, 0x146b: 0x8531, 0x146c: 0x8559, 0x146d: 0x8649, 0x146e: 0x8829, 0x146f: 0x8fb1,\n\t0x1470: 0x89b9, 0x1471: 0x9001, 0x1472: 0x90c9, 0x1473: 0x9101, 0x1474: 0x9139, 0x1475: 0x9171,\n\t0x1476: 0x9199, 0x1477: 0x91c1, 0x1478: 0x91e9, 0x1479: 0x9211, 0x147a: 0x9239, 0x147b: 0x9261,\n\t0x147c: 0x9289, 0x147d: 0x92b1, 0x147e: 0x92d9, 0x147f: 0x9301,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x9329, 0x1481: 0x9351, 0x1482: 0x9379, 0x1483: 0x93a1, 0x1484: 0x93c9, 0x1485: 0x93f1,\n\t0x1486: 0x9419, 0x1487: 0x9441, 0x1488: 0x9469, 0x1489: 0x9491, 0x148a: 0x94b9, 0x148b: 0x94e1,\n\t0x148c: 0x9079, 0x148d: 0x9509, 0x148e: 0x9531, 0x148f: 0x9559, 0x1490: 0x9581, 0x1491: 0x9171,\n\t0x1492: 0x9199, 0x1493: 0x91c1, 0x1494: 0x91e9, 0x1495: 0x9211, 0x1496: 0x9239, 0x1497: 0x9261,\n\t0x1498: 0x9289, 0x1499: 0x92b1, 0x149a: 0x92d9, 0x149b: 0x9301, 0x149c: 0x9329, 0x149d: 0x9351,\n\t0x149e: 0x9379, 0x149f: 0x93a1, 0x14a0: 0x93c9, 0x14a1: 0x93f1, 0x14a2: 0x9419, 0x14a3: 0x9441,\n\t0x14a4: 0x9469, 0x14a5: 0x9491, 0x14a6: 0x94b9, 0x14a7: 0x94e1, 0x14a8: 0x9079, 0x14a9: 0x9509,\n\t0x14aa: 0x9531, 0x14ab: 0x9559, 0x14ac: 0x9581, 0x14ad: 0x9491, 0x14ae: 0x94b9, 0x14af: 0x94e1,\n\t0x14b0: 0x9079, 0x14b1: 0x9051, 0x14b2: 0x90a1, 0x14b3: 0x8211, 0x14b4: 0x8059, 0x14b5: 0x8081,\n\t0x14b6: 0x80a9, 0x14b7: 0x9491, 0x14b8: 0x94b9, 0x14b9: 0x94e1, 0x14ba: 0x8211, 0x14bb: 0x8239,\n\t0x14bc: 0x95a9, 0x14bd: 0x95a9, 0x14be: 0x0018, 0x14bf: 0x0018,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040,\n\t0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040,\n\t0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x95d1, 0x14d1: 0x9609,\n\t0x14d2: 0x9609, 0x14d3: 0x9641, 0x14d4: 0x9679, 0x14d5: 0x96b1, 0x14d6: 0x96e9, 0x14d7: 0x9721,\n\t0x14d8: 0x9759, 0x14d9: 0x9759, 0x14da: 0x9791, 0x14db: 0x97c9, 0x14dc: 0x9801, 0x14dd: 0x9839,\n\t0x14de: 0x9871, 0x14df: 0x98a9, 0x14e0: 0x98a9, 0x14e1: 0x98e1, 0x14e2: 0x9919, 0x14e3: 0x9919,\n\t0x14e4: 0x9951, 0x14e5: 0x9951, 0x14e6: 0x9989, 0x14e7: 0x99c1, 0x14e8: 0x99c1, 0x14e9: 0x99f9,\n\t0x14ea: 0x9a31, 0x14eb: 0x9a31, 0x14ec: 0x9a69, 0x14ed: 0x9a69, 0x14ee: 0x9aa1, 0x14ef: 0x9ad9,\n\t0x14f0: 0x9ad9, 0x14f1: 0x9b11, 0x14f2: 0x9b11, 0x14f3: 0x9b49, 0x14f4: 0x9b81, 0x14f5: 0x9bb9,\n\t0x14f6: 0x9bf1, 0x14f7: 0x9bf1, 0x14f8: 0x9c29, 0x14f9: 0x9c61, 0x14fa: 0x9c99, 0x14fb: 0x9cd1,\n\t0x14fc: 0x9d09, 0x14fd: 0x9d09, 0x14fe: 0x9d41, 0x14ff: 0x9d79,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0xa949, 0x1501: 0xa981, 0x1502: 0xa9b9, 0x1503: 0xa8a1, 0x1504: 0x9bb9, 0x1505: 0x9989,\n\t0x1506: 0xa9f1, 0x1507: 0xaa29, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040,\n\t0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040,\n\t0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040,\n\t0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040,\n\t0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040,\n\t0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040,\n\t0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040,\n\t0x1530: 0xaa61, 0x1531: 0xaa99, 0x1532: 0xaad1, 0x1533: 0xab19, 0x1534: 0xab61, 0x1535: 0xaba9,\n\t0x1536: 0xabf1, 0x1537: 0xac39, 0x1538: 0xac81, 0x1539: 0xacc9, 0x153a: 0xad02, 0x153b: 0xae12,\n\t0x153c: 0xae91, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040,\n\t// Block 0x55, offset 0x1540\n\t0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0,\n\t0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0,\n\t0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaeda, 0x1551: 0x7d55,\n\t0x1552: 0x0040, 0x1553: 0xaeea, 0x1554: 0x03c2, 0x1555: 0xaefa, 0x1556: 0xaf0a, 0x1557: 0x7d75,\n\t0x1558: 0x7d95, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040,\n\t0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308,\n\t0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308,\n\t0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308,\n\t0x1570: 0x0040, 0x1571: 0x7db5, 0x1572: 0x7dd5, 0x1573: 0xaf1a, 0x1574: 0xaf1a, 0x1575: 0x1fd2,\n\t0x1576: 0x1fe2, 0x1577: 0xaf2a, 0x1578: 0xaf3a, 0x1579: 0x7df5, 0x157a: 0x7e15, 0x157b: 0x7e35,\n\t0x157c: 0x7df5, 0x157d: 0x7e55, 0x157e: 0x7e75, 0x157f: 0x7e55,\n\t// Block 0x56, offset 0x1580\n\t0x1580: 0x7e95, 0x1581: 0x7eb5, 0x1582: 0x7ed5, 0x1583: 0x7eb5, 0x1584: 0x7ef5, 0x1585: 0x0018,\n\t0x1586: 0x0018, 0x1587: 0xaf4a, 0x1588: 0xaf5a, 0x1589: 0x7f16, 0x158a: 0x7f36, 0x158b: 0x7f56,\n\t0x158c: 0x7f76, 0x158d: 0xaf1a, 0x158e: 0xaf1a, 0x158f: 0xaf1a, 0x1590: 0xaeda, 0x1591: 0x7f95,\n\t0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaeea, 0x1596: 0xaf0a, 0x1597: 0xaefa,\n\t0x1598: 0x7fb5, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf2a, 0x159c: 0xaf3a, 0x159d: 0x7e95,\n\t0x159e: 0x7ef5, 0x159f: 0xaf6a, 0x15a0: 0xaf7a, 0x15a1: 0xaf8a, 0x15a2: 0x1fb2, 0x15a3: 0xaf99,\n\t0x15a4: 0xafaa, 0x15a5: 0xafba, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xafca, 0x15a9: 0xafda,\n\t0x15aa: 0xafea, 0x15ab: 0xaffa, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040,\n\t0x15b0: 0x7fd6, 0x15b1: 0xb009, 0x15b2: 0x7ff6, 0x15b3: 0x0808, 0x15b4: 0x8016, 0x15b5: 0x0040,\n\t0x15b6: 0x8036, 0x15b7: 0xb031, 0x15b8: 0x8056, 0x15b9: 0xb059, 0x15ba: 0x8076, 0x15bb: 0xb081,\n\t0x15bc: 0x8096, 0x15bd: 0xb0a9, 0x15be: 0x80b6, 0x15bf: 0xb0d1,\n\t// Block 0x57, offset 0x15c0\n\t0x15c0: 0xb0f9, 0x15c1: 0xb111, 0x15c2: 0xb111, 0x15c3: 0xb129, 0x15c4: 0xb129, 0x15c5: 0xb141,\n\t0x15c6: 0xb141, 0x15c7: 0xb159, 0x15c8: 0xb159, 0x15c9: 0xb171, 0x15ca: 0xb171, 0x15cb: 0xb171,\n\t0x15cc: 0xb171, 0x15cd: 0xb189, 0x15ce: 0xb189, 0x15cf: 0xb1a1, 0x15d0: 0xb1a1, 0x15d1: 0xb1a1,\n\t0x15d2: 0xb1a1, 0x15d3: 0xb1b9, 0x15d4: 0xb1b9, 0x15d5: 0xb1d1, 0x15d6: 0xb1d1, 0x15d7: 0xb1d1,\n\t0x15d8: 0xb1d1, 0x15d9: 0xb1e9, 0x15da: 0xb1e9, 0x15db: 0xb1e9, 0x15dc: 0xb1e9, 0x15dd: 0xb201,\n\t0x15de: 0xb201, 0x15df: 0xb201, 0x15e0: 0xb201, 0x15e1: 0xb219, 0x15e2: 0xb219, 0x15e3: 0xb219,\n\t0x15e4: 0xb219, 0x15e5: 0xb231, 0x15e6: 0xb231, 0x15e7: 0xb231, 0x15e8: 0xb231, 0x15e9: 0xb249,\n\t0x15ea: 0xb249, 0x15eb: 0xb261, 0x15ec: 0xb261, 0x15ed: 0xb279, 0x15ee: 0xb279, 0x15ef: 0xb291,\n\t0x15f0: 0xb291, 0x15f1: 0xb2a9, 0x15f2: 0xb2a9, 0x15f3: 0xb2a9, 0x15f4: 0xb2a9, 0x15f5: 0xb2c1,\n\t0x15f6: 0xb2c1, 0x15f7: 0xb2c1, 0x15f8: 0xb2c1, 0x15f9: 0xb2d9, 0x15fa: 0xb2d9, 0x15fb: 0xb2d9,\n\t0x15fc: 0xb2d9, 0x15fd: 0xb2f1, 0x15fe: 0xb2f1, 0x15ff: 0xb2f1,\n\t// Block 0x58, offset 0x1600\n\t0x1600: 0xb2f1, 0x1601: 0xb309, 0x1602: 0xb309, 0x1603: 0xb309, 0x1604: 0xb309, 0x1605: 0xb321,\n\t0x1606: 0xb321, 0x1607: 0xb321, 0x1608: 0xb321, 0x1609: 0xb339, 0x160a: 0xb339, 0x160b: 0xb339,\n\t0x160c: 0xb339, 0x160d: 0xb351, 0x160e: 0xb351, 0x160f: 0xb351, 0x1610: 0xb351, 0x1611: 0xb369,\n\t0x1612: 0xb369, 0x1613: 0xb369, 0x1614: 0xb369, 0x1615: 0xb381, 0x1616: 0xb381, 0x1617: 0xb381,\n\t0x1618: 0xb381, 0x1619: 0xb399, 0x161a: 0xb399, 0x161b: 0xb399, 0x161c: 0xb399, 0x161d: 0xb3b1,\n\t0x161e: 0xb3b1, 0x161f: 0xb3b1, 0x1620: 0xb3b1, 0x1621: 0xb3c9, 0x1622: 0xb3c9, 0x1623: 0xb3c9,\n\t0x1624: 0xb3c9, 0x1625: 0xb3e1, 0x1626: 0xb3e1, 0x1627: 0xb3e1, 0x1628: 0xb3e1, 0x1629: 0xb3f9,\n\t0x162a: 0xb3f9, 0x162b: 0xb3f9, 0x162c: 0xb3f9, 0x162d: 0xb411, 0x162e: 0xb411, 0x162f: 0x7ab1,\n\t0x1630: 0x7ab1, 0x1631: 0xb429, 0x1632: 0xb429, 0x1633: 0xb429, 0x1634: 0xb429, 0x1635: 0xb441,\n\t0x1636: 0xb441, 0x1637: 0xb469, 0x1638: 0xb469, 0x1639: 0xb491, 0x163a: 0xb491, 0x163b: 0xb4b9,\n\t0x163c: 0xb4b9, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0,\n\t// Block 0x59, offset 0x1640\n\t0x1640: 0x0040, 0x1641: 0xaefa, 0x1642: 0xb4e2, 0x1643: 0xaf6a, 0x1644: 0xafda, 0x1645: 0xafea,\n\t0x1646: 0xaf7a, 0x1647: 0xb4f2, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xaf8a, 0x164b: 0x1fb2,\n\t0x164c: 0xaeda, 0x164d: 0xaf99, 0x164e: 0x29d1, 0x164f: 0xb502, 0x1650: 0x1f41, 0x1651: 0x00c9,\n\t0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81,\n\t0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaeea, 0x165b: 0x03c2, 0x165c: 0xafaa, 0x165d: 0x1fc2,\n\t0x165e: 0xafba, 0x165f: 0xaf0a, 0x1660: 0xaffa, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159,\n\t0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41,\n\t0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9,\n\t0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9,\n\t0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf4a,\n\t0x167c: 0xafca, 0x167d: 0xaf5a, 0x167e: 0xb512, 0x167f: 0xaf1a,\n\t// Block 0x5a, offset 0x1680\n\t0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09,\n\t0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51,\n\t0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039,\n\t0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279,\n\t0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf2a, 0x169c: 0xb522, 0x169d: 0xaf3a,\n\t0x169e: 0xb532, 0x169f: 0x80d5, 0x16a0: 0x80f5, 0x16a1: 0x29d1, 0x16a2: 0x8115, 0x16a3: 0x8115,\n\t0x16a4: 0x8135, 0x16a5: 0x8155, 0x16a6: 0x8175, 0x16a7: 0x8195, 0x16a8: 0x81b5, 0x16a9: 0x81d5,\n\t0x16aa: 0x81f5, 0x16ab: 0x8215, 0x16ac: 0x8235, 0x16ad: 0x8255, 0x16ae: 0x8275, 0x16af: 0x8295,\n\t0x16b0: 0x82b5, 0x16b1: 0x82d5, 0x16b2: 0x82f5, 0x16b3: 0x8315, 0x16b4: 0x8335, 0x16b5: 0x8355,\n\t0x16b6: 0x8375, 0x16b7: 0x8395, 0x16b8: 0x83b5, 0x16b9: 0x83d5, 0x16ba: 0x83f5, 0x16bb: 0x8415,\n\t0x16bc: 0x81b5, 0x16bd: 0x8435, 0x16be: 0x8455, 0x16bf: 0x8215,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x8475, 0x16c1: 0x8495, 0x16c2: 0x84b5, 0x16c3: 0x84d5, 0x16c4: 0x84f5, 0x16c5: 0x8515,\n\t0x16c6: 0x8535, 0x16c7: 0x8555, 0x16c8: 0x84d5, 0x16c9: 0x8575, 0x16ca: 0x84d5, 0x16cb: 0x8595,\n\t0x16cc: 0x8595, 0x16cd: 0x85b5, 0x16ce: 0x85b5, 0x16cf: 0x85d5, 0x16d0: 0x8515, 0x16d1: 0x85f5,\n\t0x16d2: 0x8615, 0x16d3: 0x85f5, 0x16d4: 0x8635, 0x16d5: 0x8615, 0x16d6: 0x8655, 0x16d7: 0x8655,\n\t0x16d8: 0x8675, 0x16d9: 0x8675, 0x16da: 0x8695, 0x16db: 0x8695, 0x16dc: 0x8615, 0x16dd: 0x8115,\n\t0x16de: 0x86b5, 0x16df: 0x86d5, 0x16e0: 0x0040, 0x16e1: 0x86f5, 0x16e2: 0x8715, 0x16e3: 0x8735,\n\t0x16e4: 0x8755, 0x16e5: 0x8735, 0x16e6: 0x8775, 0x16e7: 0x8795, 0x16e8: 0x87b5, 0x16e9: 0x87b5,\n\t0x16ea: 0x87d5, 0x16eb: 0x87d5, 0x16ec: 0x87f5, 0x16ed: 0x87f5, 0x16ee: 0x87d5, 0x16ef: 0x87d5,\n\t0x16f0: 0x8815, 0x16f1: 0x8835, 0x16f2: 0x8855, 0x16f3: 0x8875, 0x16f4: 0x8895, 0x16f5: 0x88b5,\n\t0x16f6: 0x88b5, 0x16f7: 0x88b5, 0x16f8: 0x88d5, 0x16f9: 0x88d5, 0x16fa: 0x88d5, 0x16fb: 0x88d5,\n\t0x16fc: 0x87b5, 0x16fd: 0x87b5, 0x16fe: 0x87b5, 0x16ff: 0x0040,\n\t// Block 0x5c, offset 0x1700\n\t0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x8715, 0x1703: 0x86f5, 0x1704: 0x88f5, 0x1705: 0x86f5,\n\t0x1706: 0x8715, 0x1707: 0x86f5, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x8915, 0x170b: 0x8715,\n\t0x170c: 0x8935, 0x170d: 0x88f5, 0x170e: 0x8935, 0x170f: 0x8715, 0x1710: 0x0040, 0x1711: 0x0040,\n\t0x1712: 0x8955, 0x1713: 0x8975, 0x1714: 0x8875, 0x1715: 0x8935, 0x1716: 0x88f5, 0x1717: 0x8935,\n\t0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x8995, 0x171b: 0x89b5, 0x171c: 0x8995, 0x171d: 0x0040,\n\t0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb541, 0x1721: 0xb559, 0x1722: 0xb571, 0x1723: 0x89d6,\n\t0x1724: 0xb589, 0x1725: 0xb5a1, 0x1726: 0x89f5, 0x1727: 0x0040, 0x1728: 0x8a15, 0x1729: 0x8a35,\n\t0x172a: 0x8a55, 0x172b: 0x8a35, 0x172c: 0x8a75, 0x172d: 0x8a95, 0x172e: 0x8ab5, 0x172f: 0x0040,\n\t0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040,\n\t0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340,\n\t0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040,\n\t// Block 0x5d, offset 0x1740\n\t0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08,\n\t0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808,\n\t0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08,\n\t0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908,\n\t0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08,\n\t0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808,\n\t0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040,\n\t0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18,\n\t0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818,\n\t0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040,\n\t0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040,\n\t// Block 0x5e, offset 0x1780\n\t0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08,\n\t0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08,\n\t0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08,\n\t0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040,\n\t0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040,\n\t0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040,\n\t0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18,\n\t0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818,\n\t0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040,\n\t0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040,\n\t0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040,\n\t// Block 0x5f, offset 0x17c0\n\t0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008,\n\t0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008,\n\t0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040,\n\t0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008,\n\t0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008,\n\t0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008,\n\t0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040,\n\t0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008,\n\t0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008,\n\t0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x0040,\n\t0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008,\n\t// Block 0x60, offset 0x1800\n\t0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040,\n\t0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008,\n\t0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040,\n\t0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008,\n\t0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008,\n\t0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008,\n\t0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308,\n\t0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040,\n\t0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040,\n\t0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040,\n\t0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040,\n\t// Block 0x61, offset 0x1840\n\t0x1840: 0x0039, 0x1841: 0x0ee9, 0x1842: 0x1159, 0x1843: 0x0ef9, 0x1844: 0x0f09, 0x1845: 0x1199,\n\t0x1846: 0x0f31, 0x1847: 0x0249, 0x1848: 0x0f41, 0x1849: 0x0259, 0x184a: 0x0f51, 0x184b: 0x0359,\n\t0x184c: 0x0f61, 0x184d: 0x0f71, 0x184e: 0x00d9, 0x184f: 0x0f99, 0x1850: 0x2039, 0x1851: 0x0269,\n\t0x1852: 0x01d9, 0x1853: 0x0fa9, 0x1854: 0x0fb9, 0x1855: 0x1089, 0x1856: 0x0279, 0x1857: 0x0369,\n\t0x1858: 0x0289, 0x1859: 0x13d1, 0x185a: 0x0039, 0x185b: 0x0ee9, 0x185c: 0x1159, 0x185d: 0x0ef9,\n\t0x185e: 0x0f09, 0x185f: 0x1199, 0x1860: 0x0f31, 0x1861: 0x0249, 0x1862: 0x0f41, 0x1863: 0x0259,\n\t0x1864: 0x0f51, 0x1865: 0x0359, 0x1866: 0x0f61, 0x1867: 0x0f71, 0x1868: 0x00d9, 0x1869: 0x0f99,\n\t0x186a: 0x2039, 0x186b: 0x0269, 0x186c: 0x01d9, 0x186d: 0x0fa9, 0x186e: 0x0fb9, 0x186f: 0x1089,\n\t0x1870: 0x0279, 0x1871: 0x0369, 0x1872: 0x0289, 0x1873: 0x13d1, 0x1874: 0x0039, 0x1875: 0x0ee9,\n\t0x1876: 0x1159, 0x1877: 0x0ef9, 0x1878: 0x0f09, 0x1879: 0x1199, 0x187a: 0x0f31, 0x187b: 0x0249,\n\t0x187c: 0x0f41, 0x187d: 0x0259, 0x187e: 0x0f51, 0x187f: 0x0359,\n\t// Block 0x62, offset 0x1880\n\t0x1880: 0x0f61, 0x1881: 0x0f71, 0x1882: 0x00d9, 0x1883: 0x0f99, 0x1884: 0x2039, 0x1885: 0x0269,\n\t0x1886: 0x01d9, 0x1887: 0x0fa9, 0x1888: 0x0fb9, 0x1889: 0x1089, 0x188a: 0x0279, 0x188b: 0x0369,\n\t0x188c: 0x0289, 0x188d: 0x13d1, 0x188e: 0x0039, 0x188f: 0x0ee9, 0x1890: 0x1159, 0x1891: 0x0ef9,\n\t0x1892: 0x0f09, 0x1893: 0x1199, 0x1894: 0x0f31, 0x1895: 0x0040, 0x1896: 0x0f41, 0x1897: 0x0259,\n\t0x1898: 0x0f51, 0x1899: 0x0359, 0x189a: 0x0f61, 0x189b: 0x0f71, 0x189c: 0x00d9, 0x189d: 0x0f99,\n\t0x189e: 0x2039, 0x189f: 0x0269, 0x18a0: 0x01d9, 0x18a1: 0x0fa9, 0x18a2: 0x0fb9, 0x18a3: 0x1089,\n\t0x18a4: 0x0279, 0x18a5: 0x0369, 0x18a6: 0x0289, 0x18a7: 0x13d1, 0x18a8: 0x0039, 0x18a9: 0x0ee9,\n\t0x18aa: 0x1159, 0x18ab: 0x0ef9, 0x18ac: 0x0f09, 0x18ad: 0x1199, 0x18ae: 0x0f31, 0x18af: 0x0249,\n\t0x18b0: 0x0f41, 0x18b1: 0x0259, 0x18b2: 0x0f51, 0x18b3: 0x0359, 0x18b4: 0x0f61, 0x18b5: 0x0f71,\n\t0x18b6: 0x00d9, 0x18b7: 0x0f99, 0x18b8: 0x2039, 0x18b9: 0x0269, 0x18ba: 0x01d9, 0x18bb: 0x0fa9,\n\t0x18bc: 0x0fb9, 0x18bd: 0x1089, 0x18be: 0x0279, 0x18bf: 0x0369,\n\t// Block 0x63, offset 0x18c0\n\t0x18c0: 0x0289, 0x18c1: 0x13d1, 0x18c2: 0x0039, 0x18c3: 0x0ee9, 0x18c4: 0x1159, 0x18c5: 0x0ef9,\n\t0x18c6: 0x0f09, 0x18c7: 0x1199, 0x18c8: 0x0f31, 0x18c9: 0x0249, 0x18ca: 0x0f41, 0x18cb: 0x0259,\n\t0x18cc: 0x0f51, 0x18cd: 0x0359, 0x18ce: 0x0f61, 0x18cf: 0x0f71, 0x18d0: 0x00d9, 0x18d1: 0x0f99,\n\t0x18d2: 0x2039, 0x18d3: 0x0269, 0x18d4: 0x01d9, 0x18d5: 0x0fa9, 0x18d6: 0x0fb9, 0x18d7: 0x1089,\n\t0x18d8: 0x0279, 0x18d9: 0x0369, 0x18da: 0x0289, 0x18db: 0x13d1, 0x18dc: 0x0039, 0x18dd: 0x0040,\n\t0x18de: 0x1159, 0x18df: 0x0ef9, 0x18e0: 0x0040, 0x18e1: 0x0040, 0x18e2: 0x0f31, 0x18e3: 0x0040,\n\t0x18e4: 0x0040, 0x18e5: 0x0259, 0x18e6: 0x0f51, 0x18e7: 0x0040, 0x18e8: 0x0040, 0x18e9: 0x0f71,\n\t0x18ea: 0x00d9, 0x18eb: 0x0f99, 0x18ec: 0x2039, 0x18ed: 0x0040, 0x18ee: 0x01d9, 0x18ef: 0x0fa9,\n\t0x18f0: 0x0fb9, 0x18f1: 0x1089, 0x18f2: 0x0279, 0x18f3: 0x0369, 0x18f4: 0x0289, 0x18f5: 0x13d1,\n\t0x18f6: 0x0039, 0x18f7: 0x0ee9, 0x18f8: 0x1159, 0x18f9: 0x0ef9, 0x18fa: 0x0040, 0x18fb: 0x1199,\n\t0x18fc: 0x0040, 0x18fd: 0x0249, 0x18fe: 0x0f41, 0x18ff: 0x0259,\n\t// Block 0x64, offset 0x1900\n\t0x1900: 0x0f51, 0x1901: 0x0359, 0x1902: 0x0f61, 0x1903: 0x0f71, 0x1904: 0x0040, 0x1905: 0x0f99,\n\t0x1906: 0x2039, 0x1907: 0x0269, 0x1908: 0x01d9, 0x1909: 0x0fa9, 0x190a: 0x0fb9, 0x190b: 0x1089,\n\t0x190c: 0x0279, 0x190d: 0x0369, 0x190e: 0x0289, 0x190f: 0x13d1, 0x1910: 0x0039, 0x1911: 0x0ee9,\n\t0x1912: 0x1159, 0x1913: 0x0ef9, 0x1914: 0x0f09, 0x1915: 0x1199, 0x1916: 0x0f31, 0x1917: 0x0249,\n\t0x1918: 0x0f41, 0x1919: 0x0259, 0x191a: 0x0f51, 0x191b: 0x0359, 0x191c: 0x0f61, 0x191d: 0x0f71,\n\t0x191e: 0x00d9, 0x191f: 0x0f99, 0x1920: 0x2039, 0x1921: 0x0269, 0x1922: 0x01d9, 0x1923: 0x0fa9,\n\t0x1924: 0x0fb9, 0x1925: 0x1089, 0x1926: 0x0279, 0x1927: 0x0369, 0x1928: 0x0289, 0x1929: 0x13d1,\n\t0x192a: 0x0039, 0x192b: 0x0ee9, 0x192c: 0x1159, 0x192d: 0x0ef9, 0x192e: 0x0f09, 0x192f: 0x1199,\n\t0x1930: 0x0f31, 0x1931: 0x0249, 0x1932: 0x0f41, 0x1933: 0x0259, 0x1934: 0x0f51, 0x1935: 0x0359,\n\t0x1936: 0x0f61, 0x1937: 0x0f71, 0x1938: 0x00d9, 0x1939: 0x0f99, 0x193a: 0x2039, 0x193b: 0x0269,\n\t0x193c: 0x01d9, 0x193d: 0x0fa9, 0x193e: 0x0fb9, 0x193f: 0x1089,\n\t// Block 0x65, offset 0x1940\n\t0x1940: 0x0279, 0x1941: 0x0369, 0x1942: 0x0289, 0x1943: 0x13d1, 0x1944: 0x0039, 0x1945: 0x0ee9,\n\t0x1946: 0x0040, 0x1947: 0x0ef9, 0x1948: 0x0f09, 0x1949: 0x1199, 0x194a: 0x0f31, 0x194b: 0x0040,\n\t0x194c: 0x0040, 0x194d: 0x0259, 0x194e: 0x0f51, 0x194f: 0x0359, 0x1950: 0x0f61, 0x1951: 0x0f71,\n\t0x1952: 0x00d9, 0x1953: 0x0f99, 0x1954: 0x2039, 0x1955: 0x0040, 0x1956: 0x01d9, 0x1957: 0x0fa9,\n\t0x1958: 0x0fb9, 0x1959: 0x1089, 0x195a: 0x0279, 0x195b: 0x0369, 0x195c: 0x0289, 0x195d: 0x0040,\n\t0x195e: 0x0039, 0x195f: 0x0ee9, 0x1960: 0x1159, 0x1961: 0x0ef9, 0x1962: 0x0f09, 0x1963: 0x1199,\n\t0x1964: 0x0f31, 0x1965: 0x0249, 0x1966: 0x0f41, 0x1967: 0x0259, 0x1968: 0x0f51, 0x1969: 0x0359,\n\t0x196a: 0x0f61, 0x196b: 0x0f71, 0x196c: 0x00d9, 0x196d: 0x0f99, 0x196e: 0x2039, 0x196f: 0x0269,\n\t0x1970: 0x01d9, 0x1971: 0x0fa9, 0x1972: 0x0fb9, 0x1973: 0x1089, 0x1974: 0x0279, 0x1975: 0x0369,\n\t0x1976: 0x0289, 0x1977: 0x13d1, 0x1978: 0x0039, 0x1979: 0x0ee9, 0x197a: 0x0040, 0x197b: 0x0ef9,\n\t0x197c: 0x0f09, 0x197d: 0x1199, 0x197e: 0x0f31, 0x197f: 0x0040,\n\t// Block 0x66, offset 0x1980\n\t0x1980: 0x0f41, 0x1981: 0x0259, 0x1982: 0x0f51, 0x1983: 0x0359, 0x1984: 0x0f61, 0x1985: 0x0040,\n\t0x1986: 0x00d9, 0x1987: 0x0040, 0x1988: 0x0040, 0x1989: 0x0040, 0x198a: 0x01d9, 0x198b: 0x0fa9,\n\t0x198c: 0x0fb9, 0x198d: 0x1089, 0x198e: 0x0279, 0x198f: 0x0369, 0x1990: 0x0289, 0x1991: 0x0040,\n\t0x1992: 0x0039, 0x1993: 0x0ee9, 0x1994: 0x1159, 0x1995: 0x0ef9, 0x1996: 0x0f09, 0x1997: 0x1199,\n\t0x1998: 0x0f31, 0x1999: 0x0249, 0x199a: 0x0f41, 0x199b: 0x0259, 0x199c: 0x0f51, 0x199d: 0x0359,\n\t0x199e: 0x0f61, 0x199f: 0x0f71, 0x19a0: 0x00d9, 0x19a1: 0x0f99, 0x19a2: 0x2039, 0x19a3: 0x0269,\n\t0x19a4: 0x01d9, 0x19a5: 0x0fa9, 0x19a6: 0x0fb9, 0x19a7: 0x1089, 0x19a8: 0x0279, 0x19a9: 0x0369,\n\t0x19aa: 0x0289, 0x19ab: 0x13d1, 0x19ac: 0x0039, 0x19ad: 0x0ee9, 0x19ae: 0x1159, 0x19af: 0x0ef9,\n\t0x19b0: 0x0f09, 0x19b1: 0x1199, 0x19b2: 0x0f31, 0x19b3: 0x0249, 0x19b4: 0x0f41, 0x19b5: 0x0259,\n\t0x19b6: 0x0f51, 0x19b7: 0x0359, 0x19b8: 0x0f61, 0x19b9: 0x0f71, 0x19ba: 0x00d9, 0x19bb: 0x0f99,\n\t0x19bc: 0x2039, 0x19bd: 0x0269, 0x19be: 0x01d9, 0x19bf: 0x0fa9,\n\t// Block 0x67, offset 0x19c0\n\t0x19c0: 0x0fb9, 0x19c1: 0x1089, 0x19c2: 0x0279, 0x19c3: 0x0369, 0x19c4: 0x0289, 0x19c5: 0x13d1,\n\t0x19c6: 0x0039, 0x19c7: 0x0ee9, 0x19c8: 0x1159, 0x19c9: 0x0ef9, 0x19ca: 0x0f09, 0x19cb: 0x1199,\n\t0x19cc: 0x0f31, 0x19cd: 0x0249, 0x19ce: 0x0f41, 0x19cf: 0x0259, 0x19d0: 0x0f51, 0x19d1: 0x0359,\n\t0x19d2: 0x0f61, 0x19d3: 0x0f71, 0x19d4: 0x00d9, 0x19d5: 0x0f99, 0x19d6: 0x2039, 0x19d7: 0x0269,\n\t0x19d8: 0x01d9, 0x19d9: 0x0fa9, 0x19da: 0x0fb9, 0x19db: 0x1089, 0x19dc: 0x0279, 0x19dd: 0x0369,\n\t0x19de: 0x0289, 0x19df: 0x13d1, 0x19e0: 0x0039, 0x19e1: 0x0ee9, 0x19e2: 0x1159, 0x19e3: 0x0ef9,\n\t0x19e4: 0x0f09, 0x19e5: 0x1199, 0x19e6: 0x0f31, 0x19e7: 0x0249, 0x19e8: 0x0f41, 0x19e9: 0x0259,\n\t0x19ea: 0x0f51, 0x19eb: 0x0359, 0x19ec: 0x0f61, 0x19ed: 0x0f71, 0x19ee: 0x00d9, 0x19ef: 0x0f99,\n\t0x19f0: 0x2039, 0x19f1: 0x0269, 0x19f2: 0x01d9, 0x19f3: 0x0fa9, 0x19f4: 0x0fb9, 0x19f5: 0x1089,\n\t0x19f6: 0x0279, 0x19f7: 0x0369, 0x19f8: 0x0289, 0x19f9: 0x13d1, 0x19fa: 0x0039, 0x19fb: 0x0ee9,\n\t0x19fc: 0x1159, 0x19fd: 0x0ef9, 0x19fe: 0x0f09, 0x19ff: 0x1199,\n\t// Block 0x68, offset 0x1a00\n\t0x1a00: 0x0f31, 0x1a01: 0x0249, 0x1a02: 0x0f41, 0x1a03: 0x0259, 0x1a04: 0x0f51, 0x1a05: 0x0359,\n\t0x1a06: 0x0f61, 0x1a07: 0x0f71, 0x1a08: 0x00d9, 0x1a09: 0x0f99, 0x1a0a: 0x2039, 0x1a0b: 0x0269,\n\t0x1a0c: 0x01d9, 0x1a0d: 0x0fa9, 0x1a0e: 0x0fb9, 0x1a0f: 0x1089, 0x1a10: 0x0279, 0x1a11: 0x0369,\n\t0x1a12: 0x0289, 0x1a13: 0x13d1, 0x1a14: 0x0039, 0x1a15: 0x0ee9, 0x1a16: 0x1159, 0x1a17: 0x0ef9,\n\t0x1a18: 0x0f09, 0x1a19: 0x1199, 0x1a1a: 0x0f31, 0x1a1b: 0x0249, 0x1a1c: 0x0f41, 0x1a1d: 0x0259,\n\t0x1a1e: 0x0f51, 0x1a1f: 0x0359, 0x1a20: 0x0f61, 0x1a21: 0x0f71, 0x1a22: 0x00d9, 0x1a23: 0x0f99,\n\t0x1a24: 0x2039, 0x1a25: 0x0269, 0x1a26: 0x01d9, 0x1a27: 0x0fa9, 0x1a28: 0x0fb9, 0x1a29: 0x1089,\n\t0x1a2a: 0x0279, 0x1a2b: 0x0369, 0x1a2c: 0x0289, 0x1a2d: 0x13d1, 0x1a2e: 0x0039, 0x1a2f: 0x0ee9,\n\t0x1a30: 0x1159, 0x1a31: 0x0ef9, 0x1a32: 0x0f09, 0x1a33: 0x1199, 0x1a34: 0x0f31, 0x1a35: 0x0249,\n\t0x1a36: 0x0f41, 0x1a37: 0x0259, 0x1a38: 0x0f51, 0x1a39: 0x0359, 0x1a3a: 0x0f61, 0x1a3b: 0x0f71,\n\t0x1a3c: 0x00d9, 0x1a3d: 0x0f99, 0x1a3e: 0x2039, 0x1a3f: 0x0269,\n\t// Block 0x69, offset 0x1a40\n\t0x1a40: 0x01d9, 0x1a41: 0x0fa9, 0x1a42: 0x0fb9, 0x1a43: 0x1089, 0x1a44: 0x0279, 0x1a45: 0x0369,\n\t0x1a46: 0x0289, 0x1a47: 0x13d1, 0x1a48: 0x0039, 0x1a49: 0x0ee9, 0x1a4a: 0x1159, 0x1a4b: 0x0ef9,\n\t0x1a4c: 0x0f09, 0x1a4d: 0x1199, 0x1a4e: 0x0f31, 0x1a4f: 0x0249, 0x1a50: 0x0f41, 0x1a51: 0x0259,\n\t0x1a52: 0x0f51, 0x1a53: 0x0359, 0x1a54: 0x0f61, 0x1a55: 0x0f71, 0x1a56: 0x00d9, 0x1a57: 0x0f99,\n\t0x1a58: 0x2039, 0x1a59: 0x0269, 0x1a5a: 0x01d9, 0x1a5b: 0x0fa9, 0x1a5c: 0x0fb9, 0x1a5d: 0x1089,\n\t0x1a5e: 0x0279, 0x1a5f: 0x0369, 0x1a60: 0x0289, 0x1a61: 0x13d1, 0x1a62: 0x0039, 0x1a63: 0x0ee9,\n\t0x1a64: 0x1159, 0x1a65: 0x0ef9, 0x1a66: 0x0f09, 0x1a67: 0x1199, 0x1a68: 0x0f31, 0x1a69: 0x0249,\n\t0x1a6a: 0x0f41, 0x1a6b: 0x0259, 0x1a6c: 0x0f51, 0x1a6d: 0x0359, 0x1a6e: 0x0f61, 0x1a6f: 0x0f71,\n\t0x1a70: 0x00d9, 0x1a71: 0x0f99, 0x1a72: 0x2039, 0x1a73: 0x0269, 0x1a74: 0x01d9, 0x1a75: 0x0fa9,\n\t0x1a76: 0x0fb9, 0x1a77: 0x1089, 0x1a78: 0x0279, 0x1a79: 0x0369, 0x1a7a: 0x0289, 0x1a7b: 0x13d1,\n\t0x1a7c: 0x0039, 0x1a7d: 0x0ee9, 0x1a7e: 0x1159, 0x1a7f: 0x0ef9,\n\t// Block 0x6a, offset 0x1a80\n\t0x1a80: 0x0f09, 0x1a81: 0x1199, 0x1a82: 0x0f31, 0x1a83: 0x0249, 0x1a84: 0x0f41, 0x1a85: 0x0259,\n\t0x1a86: 0x0f51, 0x1a87: 0x0359, 0x1a88: 0x0f61, 0x1a89: 0x0f71, 0x1a8a: 0x00d9, 0x1a8b: 0x0f99,\n\t0x1a8c: 0x2039, 0x1a8d: 0x0269, 0x1a8e: 0x01d9, 0x1a8f: 0x0fa9, 0x1a90: 0x0fb9, 0x1a91: 0x1089,\n\t0x1a92: 0x0279, 0x1a93: 0x0369, 0x1a94: 0x0289, 0x1a95: 0x13d1, 0x1a96: 0x0039, 0x1a97: 0x0ee9,\n\t0x1a98: 0x1159, 0x1a99: 0x0ef9, 0x1a9a: 0x0f09, 0x1a9b: 0x1199, 0x1a9c: 0x0f31, 0x1a9d: 0x0249,\n\t0x1a9e: 0x0f41, 0x1a9f: 0x0259, 0x1aa0: 0x0f51, 0x1aa1: 0x0359, 0x1aa2: 0x0f61, 0x1aa3: 0x0f71,\n\t0x1aa4: 0x00d9, 0x1aa5: 0x0f99, 0x1aa6: 0x2039, 0x1aa7: 0x0269, 0x1aa8: 0x01d9, 0x1aa9: 0x0fa9,\n\t0x1aaa: 0x0fb9, 0x1aab: 0x1089, 0x1aac: 0x0279, 0x1aad: 0x0369, 0x1aae: 0x0289, 0x1aaf: 0x13d1,\n\t0x1ab0: 0x0039, 0x1ab1: 0x0ee9, 0x1ab2: 0x1159, 0x1ab3: 0x0ef9, 0x1ab4: 0x0f09, 0x1ab5: 0x1199,\n\t0x1ab6: 0x0f31, 0x1ab7: 0x0249, 0x1ab8: 0x0f41, 0x1ab9: 0x0259, 0x1aba: 0x0f51, 0x1abb: 0x0359,\n\t0x1abc: 0x0f61, 0x1abd: 0x0f71, 0x1abe: 0x00d9, 0x1abf: 0x0f99,\n\t// Block 0x6b, offset 0x1ac0\n\t0x1ac0: 0x2039, 0x1ac1: 0x0269, 0x1ac2: 0x01d9, 0x1ac3: 0x0fa9, 0x1ac4: 0x0fb9, 0x1ac5: 0x1089,\n\t0x1ac6: 0x0279, 0x1ac7: 0x0369, 0x1ac8: 0x0289, 0x1ac9: 0x13d1, 0x1aca: 0x0039, 0x1acb: 0x0ee9,\n\t0x1acc: 0x1159, 0x1acd: 0x0ef9, 0x1ace: 0x0f09, 0x1acf: 0x1199, 0x1ad0: 0x0f31, 0x1ad1: 0x0249,\n\t0x1ad2: 0x0f41, 0x1ad3: 0x0259, 0x1ad4: 0x0f51, 0x1ad5: 0x0359, 0x1ad6: 0x0f61, 0x1ad7: 0x0f71,\n\t0x1ad8: 0x00d9, 0x1ad9: 0x0f99, 0x1ada: 0x2039, 0x1adb: 0x0269, 0x1adc: 0x01d9, 0x1add: 0x0fa9,\n\t0x1ade: 0x0fb9, 0x1adf: 0x1089, 0x1ae0: 0x0279, 0x1ae1: 0x0369, 0x1ae2: 0x0289, 0x1ae3: 0x13d1,\n\t0x1ae4: 0xba81, 0x1ae5: 0xba99, 0x1ae6: 0x0040, 0x1ae7: 0x0040, 0x1ae8: 0xbab1, 0x1ae9: 0x1099,\n\t0x1aea: 0x10b1, 0x1aeb: 0x10c9, 0x1aec: 0xbac9, 0x1aed: 0xbae1, 0x1aee: 0xbaf9, 0x1aef: 0x1429,\n\t0x1af0: 0x1a31, 0x1af1: 0xbb11, 0x1af2: 0xbb29, 0x1af3: 0xbb41, 0x1af4: 0xbb59, 0x1af5: 0xbb71,\n\t0x1af6: 0xbb89, 0x1af7: 0x2109, 0x1af8: 0x1111, 0x1af9: 0x1429, 0x1afa: 0xbba1, 0x1afb: 0xbbb9,\n\t0x1afc: 0xbbd1, 0x1afd: 0x10e1, 0x1afe: 0x10f9, 0x1aff: 0xbbe9,\n\t// Block 0x6c, offset 0x1b00\n\t0x1b00: 0x2079, 0x1b01: 0xbc01, 0x1b02: 0xbab1, 0x1b03: 0x1099, 0x1b04: 0x10b1, 0x1b05: 0x10c9,\n\t0x1b06: 0xbac9, 0x1b07: 0xbae1, 0x1b08: 0xbaf9, 0x1b09: 0x1429, 0x1b0a: 0x1a31, 0x1b0b: 0xbb11,\n\t0x1b0c: 0xbb29, 0x1b0d: 0xbb41, 0x1b0e: 0xbb59, 0x1b0f: 0xbb71, 0x1b10: 0xbb89, 0x1b11: 0x2109,\n\t0x1b12: 0x1111, 0x1b13: 0xbba1, 0x1b14: 0xbba1, 0x1b15: 0xbbb9, 0x1b16: 0xbbd1, 0x1b17: 0x10e1,\n\t0x1b18: 0x10f9, 0x1b19: 0xbbe9, 0x1b1a: 0x2079, 0x1b1b: 0xbc21, 0x1b1c: 0xbac9, 0x1b1d: 0x1429,\n\t0x1b1e: 0xbb11, 0x1b1f: 0x10e1, 0x1b20: 0x1111, 0x1b21: 0x2109, 0x1b22: 0xbab1, 0x1b23: 0x1099,\n\t0x1b24: 0x10b1, 0x1b25: 0x10c9, 0x1b26: 0xbac9, 0x1b27: 0xbae1, 0x1b28: 0xbaf9, 0x1b29: 0x1429,\n\t0x1b2a: 0x1a31, 0x1b2b: 0xbb11, 0x1b2c: 0xbb29, 0x1b2d: 0xbb41, 0x1b2e: 0xbb59, 0x1b2f: 0xbb71,\n\t0x1b30: 0xbb89, 0x1b31: 0x2109, 0x1b32: 0x1111, 0x1b33: 0x1429, 0x1b34: 0xbba1, 0x1b35: 0xbbb9,\n\t0x1b36: 0xbbd1, 0x1b37: 0x10e1, 0x1b38: 0x10f9, 0x1b39: 0xbbe9, 0x1b3a: 0x2079, 0x1b3b: 0xbc01,\n\t0x1b3c: 0xbab1, 0x1b3d: 0x1099, 0x1b3e: 0x10b1, 0x1b3f: 0x10c9,\n\t// Block 0x6d, offset 0x1b40\n\t0x1b40: 0xbac9, 0x1b41: 0xbae1, 0x1b42: 0xbaf9, 0x1b43: 0x1429, 0x1b44: 0x1a31, 0x1b45: 0xbb11,\n\t0x1b46: 0xbb29, 0x1b47: 0xbb41, 0x1b48: 0xbb59, 0x1b49: 0xbb71, 0x1b4a: 0xbb89, 0x1b4b: 0x2109,\n\t0x1b4c: 0x1111, 0x1b4d: 0xbba1, 0x1b4e: 0xbba1, 0x1b4f: 0xbbb9, 0x1b50: 0xbbd1, 0x1b51: 0x10e1,\n\t0x1b52: 0x10f9, 0x1b53: 0xbbe9, 0x1b54: 0x2079, 0x1b55: 0xbc21, 0x1b56: 0xbac9, 0x1b57: 0x1429,\n\t0x1b58: 0xbb11, 0x1b59: 0x10e1, 0x1b5a: 0x1111, 0x1b5b: 0x2109, 0x1b5c: 0xbab1, 0x1b5d: 0x1099,\n\t0x1b5e: 0x10b1, 0x1b5f: 0x10c9, 0x1b60: 0xbac9, 0x1b61: 0xbae1, 0x1b62: 0xbaf9, 0x1b63: 0x1429,\n\t0x1b64: 0x1a31, 0x1b65: 0xbb11, 0x1b66: 0xbb29, 0x1b67: 0xbb41, 0x1b68: 0xbb59, 0x1b69: 0xbb71,\n\t0x1b6a: 0xbb89, 0x1b6b: 0x2109, 0x1b6c: 0x1111, 0x1b6d: 0x1429, 0x1b6e: 0xbba1, 0x1b6f: 0xbbb9,\n\t0x1b70: 0xbbd1, 0x1b71: 0x10e1, 0x1b72: 0x10f9, 0x1b73: 0xbbe9, 0x1b74: 0x2079, 0x1b75: 0xbc01,\n\t0x1b76: 0xbab1, 0x1b77: 0x1099, 0x1b78: 0x10b1, 0x1b79: 0x10c9, 0x1b7a: 0xbac9, 0x1b7b: 0xbae1,\n\t0x1b7c: 0xbaf9, 0x1b7d: 0x1429, 0x1b7e: 0x1a31, 0x1b7f: 0xbb11,\n\t// Block 0x6e, offset 0x1b80\n\t0x1b80: 0xbb29, 0x1b81: 0xbb41, 0x1b82: 0xbb59, 0x1b83: 0xbb71, 0x1b84: 0xbb89, 0x1b85: 0x2109,\n\t0x1b86: 0x1111, 0x1b87: 0xbba1, 0x1b88: 0xbba1, 0x1b89: 0xbbb9, 0x1b8a: 0xbbd1, 0x1b8b: 0x10e1,\n\t0x1b8c: 0x10f9, 0x1b8d: 0xbbe9, 0x1b8e: 0x2079, 0x1b8f: 0xbc21, 0x1b90: 0xbac9, 0x1b91: 0x1429,\n\t0x1b92: 0xbb11, 0x1b93: 0x10e1, 0x1b94: 0x1111, 0x1b95: 0x2109, 0x1b96: 0xbab1, 0x1b97: 0x1099,\n\t0x1b98: 0x10b1, 0x1b99: 0x10c9, 0x1b9a: 0xbac9, 0x1b9b: 0xbae1, 0x1b9c: 0xbaf9, 0x1b9d: 0x1429,\n\t0x1b9e: 0x1a31, 0x1b9f: 0xbb11, 0x1ba0: 0xbb29, 0x1ba1: 0xbb41, 0x1ba2: 0xbb59, 0x1ba3: 0xbb71,\n\t0x1ba4: 0xbb89, 0x1ba5: 0x2109, 0x1ba6: 0x1111, 0x1ba7: 0x1429, 0x1ba8: 0xbba1, 0x1ba9: 0xbbb9,\n\t0x1baa: 0xbbd1, 0x1bab: 0x10e1, 0x1bac: 0x10f9, 0x1bad: 0xbbe9, 0x1bae: 0x2079, 0x1baf: 0xbc01,\n\t0x1bb0: 0xbab1, 0x1bb1: 0x1099, 0x1bb2: 0x10b1, 0x1bb3: 0x10c9, 0x1bb4: 0xbac9, 0x1bb5: 0xbae1,\n\t0x1bb6: 0xbaf9, 0x1bb7: 0x1429, 0x1bb8: 0x1a31, 0x1bb9: 0xbb11, 0x1bba: 0xbb29, 0x1bbb: 0xbb41,\n\t0x1bbc: 0xbb59, 0x1bbd: 0xbb71, 0x1bbe: 0xbb89, 0x1bbf: 0x2109,\n\t// Block 0x6f, offset 0x1bc0\n\t0x1bc0: 0x1111, 0x1bc1: 0xbba1, 0x1bc2: 0xbba1, 0x1bc3: 0xbbb9, 0x1bc4: 0xbbd1, 0x1bc5: 0x10e1,\n\t0x1bc6: 0x10f9, 0x1bc7: 0xbbe9, 0x1bc8: 0x2079, 0x1bc9: 0xbc21, 0x1bca: 0xbac9, 0x1bcb: 0x1429,\n\t0x1bcc: 0xbb11, 0x1bcd: 0x10e1, 0x1bce: 0x1111, 0x1bcf: 0x2109, 0x1bd0: 0xbab1, 0x1bd1: 0x1099,\n\t0x1bd2: 0x10b1, 0x1bd3: 0x10c9, 0x1bd4: 0xbac9, 0x1bd5: 0xbae1, 0x1bd6: 0xbaf9, 0x1bd7: 0x1429,\n\t0x1bd8: 0x1a31, 0x1bd9: 0xbb11, 0x1bda: 0xbb29, 0x1bdb: 0xbb41, 0x1bdc: 0xbb59, 0x1bdd: 0xbb71,\n\t0x1bde: 0xbb89, 0x1bdf: 0x2109, 0x1be0: 0x1111, 0x1be1: 0x1429, 0x1be2: 0xbba1, 0x1be3: 0xbbb9,\n\t0x1be4: 0xbbd1, 0x1be5: 0x10e1, 0x1be6: 0x10f9, 0x1be7: 0xbbe9, 0x1be8: 0x2079, 0x1be9: 0xbc01,\n\t0x1bea: 0xbab1, 0x1beb: 0x1099, 0x1bec: 0x10b1, 0x1bed: 0x10c9, 0x1bee: 0xbac9, 0x1bef: 0xbae1,\n\t0x1bf0: 0xbaf9, 0x1bf1: 0x1429, 0x1bf2: 0x1a31, 0x1bf3: 0xbb11, 0x1bf4: 0xbb29, 0x1bf5: 0xbb41,\n\t0x1bf6: 0xbb59, 0x1bf7: 0xbb71, 0x1bf8: 0xbb89, 0x1bf9: 0x2109, 0x1bfa: 0x1111, 0x1bfb: 0xbba1,\n\t0x1bfc: 0xbba1, 0x1bfd: 0xbbb9, 0x1bfe: 0xbbd1, 0x1bff: 0x10e1,\n\t// Block 0x70, offset 0x1c00\n\t0x1c00: 0x10f9, 0x1c01: 0xbbe9, 0x1c02: 0x2079, 0x1c03: 0xbc21, 0x1c04: 0xbac9, 0x1c05: 0x1429,\n\t0x1c06: 0xbb11, 0x1c07: 0x10e1, 0x1c08: 0x1111, 0x1c09: 0x2109, 0x1c0a: 0xbc41, 0x1c0b: 0xbc41,\n\t0x1c0c: 0x0040, 0x1c0d: 0x0040, 0x1c0e: 0x1f41, 0x1c0f: 0x00c9, 0x1c10: 0x0069, 0x1c11: 0x0079,\n\t0x1c12: 0x1f51, 0x1c13: 0x1f61, 0x1c14: 0x1f71, 0x1c15: 0x1f81, 0x1c16: 0x1f91, 0x1c17: 0x1fa1,\n\t0x1c18: 0x1f41, 0x1c19: 0x00c9, 0x1c1a: 0x0069, 0x1c1b: 0x0079, 0x1c1c: 0x1f51, 0x1c1d: 0x1f61,\n\t0x1c1e: 0x1f71, 0x1c1f: 0x1f81, 0x1c20: 0x1f91, 0x1c21: 0x1fa1, 0x1c22: 0x1f41, 0x1c23: 0x00c9,\n\t0x1c24: 0x0069, 0x1c25: 0x0079, 0x1c26: 0x1f51, 0x1c27: 0x1f61, 0x1c28: 0x1f71, 0x1c29: 0x1f81,\n\t0x1c2a: 0x1f91, 0x1c2b: 0x1fa1, 0x1c2c: 0x1f41, 0x1c2d: 0x00c9, 0x1c2e: 0x0069, 0x1c2f: 0x0079,\n\t0x1c30: 0x1f51, 0x1c31: 0x1f61, 0x1c32: 0x1f71, 0x1c33: 0x1f81, 0x1c34: 0x1f91, 0x1c35: 0x1fa1,\n\t0x1c36: 0x1f41, 0x1c37: 0x00c9, 0x1c38: 0x0069, 0x1c39: 0x0079, 0x1c3a: 0x1f51, 0x1c3b: 0x1f61,\n\t0x1c3c: 0x1f71, 0x1c3d: 0x1f81, 0x1c3e: 0x1f91, 0x1c3f: 0x1fa1,\n\t// Block 0x71, offset 0x1c40\n\t0x1c40: 0xe115, 0x1c41: 0xe115, 0x1c42: 0xe135, 0x1c43: 0xe135, 0x1c44: 0xe115, 0x1c45: 0xe115,\n\t0x1c46: 0xe175, 0x1c47: 0xe175, 0x1c48: 0xe115, 0x1c49: 0xe115, 0x1c4a: 0xe135, 0x1c4b: 0xe135,\n\t0x1c4c: 0xe115, 0x1c4d: 0xe115, 0x1c4e: 0xe1f5, 0x1c4f: 0xe1f5, 0x1c50: 0xe115, 0x1c51: 0xe115,\n\t0x1c52: 0xe135, 0x1c53: 0xe135, 0x1c54: 0xe115, 0x1c55: 0xe115, 0x1c56: 0xe175, 0x1c57: 0xe175,\n\t0x1c58: 0xe115, 0x1c59: 0xe115, 0x1c5a: 0xe135, 0x1c5b: 0xe135, 0x1c5c: 0xe115, 0x1c5d: 0xe115,\n\t0x1c5e: 0x8b05, 0x1c5f: 0x8b05, 0x1c60: 0x04b5, 0x1c61: 0x04b5, 0x1c62: 0x0a08, 0x1c63: 0x0a08,\n\t0x1c64: 0x0a08, 0x1c65: 0x0a08, 0x1c66: 0x0a08, 0x1c67: 0x0a08, 0x1c68: 0x0a08, 0x1c69: 0x0a08,\n\t0x1c6a: 0x0a08, 0x1c6b: 0x0a08, 0x1c6c: 0x0a08, 0x1c6d: 0x0a08, 0x1c6e: 0x0a08, 0x1c6f: 0x0a08,\n\t0x1c70: 0x0a08, 0x1c71: 0x0a08, 0x1c72: 0x0a08, 0x1c73: 0x0a08, 0x1c74: 0x0a08, 0x1c75: 0x0a08,\n\t0x1c76: 0x0a08, 0x1c77: 0x0a08, 0x1c78: 0x0a08, 0x1c79: 0x0a08, 0x1c7a: 0x0a08, 0x1c7b: 0x0a08,\n\t0x1c7c: 0x0a08, 0x1c7d: 0x0a08, 0x1c7e: 0x0a08, 0x1c7f: 0x0a08,\n\t// Block 0x72, offset 0x1c80\n\t0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0x0040, 0x1c85: 0xb411,\n\t0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0xb399, 0x1c8b: 0xb3b1,\n\t0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9,\n\t0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231,\n\t0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0xbc59, 0x1c9d: 0x7949,\n\t0x1c9e: 0xbc71, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040,\n\t0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0x0040, 0x1ca9: 0xb429,\n\t0x1caa: 0xb399, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339,\n\t0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1,\n\t0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0x0040, 0x1cbb: 0xb351,\n\t0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040,\n\t// Block 0x73, offset 0x1cc0\n\t0x1cc0: 0x0040, 0x1cc1: 0x0040, 0x1cc2: 0xb201, 0x1cc3: 0x0040, 0x1cc4: 0x0040, 0x1cc5: 0x0040,\n\t0x1cc6: 0x0040, 0x1cc7: 0xb219, 0x1cc8: 0x0040, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1,\n\t0x1ccc: 0x0040, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0x0040, 0x1cd1: 0xb2d9,\n\t0x1cd2: 0xb381, 0x1cd3: 0x0040, 0x1cd4: 0xb2c1, 0x1cd5: 0x0040, 0x1cd6: 0x0040, 0x1cd7: 0xb231,\n\t0x1cd8: 0x0040, 0x1cd9: 0xb2f1, 0x1cda: 0x0040, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x7949,\n\t0x1cde: 0x0040, 0x1cdf: 0xbc89, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0x0040,\n\t0x1ce4: 0xb3f9, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429,\n\t0x1cea: 0xb399, 0x1ceb: 0x0040, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339,\n\t0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0x0040, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1,\n\t0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0x0040, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351,\n\t0x1cfc: 0xbc59, 0x1cfd: 0x0040, 0x1cfe: 0xbc71, 0x1cff: 0x0040,\n\t// Block 0x74, offset 0x1d00\n\t0x1d00: 0xb189, 0x1d01: 0xb1a1, 0x1d02: 0xb201, 0x1d03: 0xb249, 0x1d04: 0xb3f9, 0x1d05: 0xb411,\n\t0x1d06: 0xb291, 0x1d07: 0xb219, 0x1d08: 0xb309, 0x1d09: 0xb429, 0x1d0a: 0x0040, 0x1d0b: 0xb3b1,\n\t0x1d0c: 0xb3c9, 0x1d0d: 0xb3e1, 0x1d0e: 0xb2a9, 0x1d0f: 0xb339, 0x1d10: 0xb369, 0x1d11: 0xb2d9,\n\t0x1d12: 0xb381, 0x1d13: 0xb279, 0x1d14: 0xb2c1, 0x1d15: 0xb1d1, 0x1d16: 0xb1e9, 0x1d17: 0xb231,\n\t0x1d18: 0xb261, 0x1d19: 0xb2f1, 0x1d1a: 0xb321, 0x1d1b: 0xb351, 0x1d1c: 0x0040, 0x1d1d: 0x0040,\n\t0x1d1e: 0x0040, 0x1d1f: 0x0040, 0x1d20: 0x0040, 0x1d21: 0xb1a1, 0x1d22: 0xb201, 0x1d23: 0xb249,\n\t0x1d24: 0x0040, 0x1d25: 0xb411, 0x1d26: 0xb291, 0x1d27: 0xb219, 0x1d28: 0xb309, 0x1d29: 0xb429,\n\t0x1d2a: 0x0040, 0x1d2b: 0xb3b1, 0x1d2c: 0xb3c9, 0x1d2d: 0xb3e1, 0x1d2e: 0xb2a9, 0x1d2f: 0xb339,\n\t0x1d30: 0xb369, 0x1d31: 0xb2d9, 0x1d32: 0xb381, 0x1d33: 0xb279, 0x1d34: 0xb2c1, 0x1d35: 0xb1d1,\n\t0x1d36: 0xb1e9, 0x1d37: 0xb231, 0x1d38: 0xb261, 0x1d39: 0xb2f1, 0x1d3a: 0xb321, 0x1d3b: 0xb351,\n\t0x1d3c: 0x0040, 0x1d3d: 0x0040, 0x1d3e: 0x0040, 0x1d3f: 0x0040,\n\t// Block 0x75, offset 0x1d40\n\t0x1d40: 0x0040, 0x1d41: 0xbca2, 0x1d42: 0xbcba, 0x1d43: 0xbcd2, 0x1d44: 0xbcea, 0x1d45: 0xbd02,\n\t0x1d46: 0xbd1a, 0x1d47: 0xbd32, 0x1d48: 0xbd4a, 0x1d49: 0xbd62, 0x1d4a: 0xbd7a, 0x1d4b: 0x0018,\n\t0x1d4c: 0x0018, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xbd92, 0x1d51: 0xbdb2,\n\t0x1d52: 0xbdd2, 0x1d53: 0xbdf2, 0x1d54: 0xbe12, 0x1d55: 0xbe32, 0x1d56: 0xbe52, 0x1d57: 0xbe72,\n\t0x1d58: 0xbe92, 0x1d59: 0xbeb2, 0x1d5a: 0xbed2, 0x1d5b: 0xbef2, 0x1d5c: 0xbf12, 0x1d5d: 0xbf32,\n\t0x1d5e: 0xbf52, 0x1d5f: 0xbf72, 0x1d60: 0xbf92, 0x1d61: 0xbfb2, 0x1d62: 0xbfd2, 0x1d63: 0xbff2,\n\t0x1d64: 0xc012, 0x1d65: 0xc032, 0x1d66: 0xc052, 0x1d67: 0xc072, 0x1d68: 0xc092, 0x1d69: 0xc0b2,\n\t0x1d6a: 0xc0d1, 0x1d6b: 0x1159, 0x1d6c: 0x0269, 0x1d6d: 0x6671, 0x1d6e: 0xc111, 0x1d6f: 0x0040,\n\t0x1d70: 0x0039, 0x1d71: 0x0ee9, 0x1d72: 0x1159, 0x1d73: 0x0ef9, 0x1d74: 0x0f09, 0x1d75: 0x1199,\n\t0x1d76: 0x0f31, 0x1d77: 0x0249, 0x1d78: 0x0f41, 0x1d79: 0x0259, 0x1d7a: 0x0f51, 0x1d7b: 0x0359,\n\t0x1d7c: 0x0f61, 0x1d7d: 0x0f71, 0x1d7e: 0x00d9, 0x1d7f: 0x0f99,\n\t// Block 0x76, offset 0x1d80\n\t0x1d80: 0x2039, 0x1d81: 0x0269, 0x1d82: 0x01d9, 0x1d83: 0x0fa9, 0x1d84: 0x0fb9, 0x1d85: 0x1089,\n\t0x1d86: 0x0279, 0x1d87: 0x0369, 0x1d88: 0x0289, 0x1d89: 0x13d1, 0x1d8a: 0xc129, 0x1d8b: 0x65b1,\n\t0x1d8c: 0xc141, 0x1d8d: 0x1441, 0x1d8e: 0xc159, 0x1d8f: 0xc179, 0x1d90: 0x0018, 0x1d91: 0x0018,\n\t0x1d92: 0x0018, 0x1d93: 0x0018, 0x1d94: 0x0018, 0x1d95: 0x0018, 0x1d96: 0x0018, 0x1d97: 0x0018,\n\t0x1d98: 0x0018, 0x1d99: 0x0018, 0x1d9a: 0x0018, 0x1d9b: 0x0018, 0x1d9c: 0x0018, 0x1d9d: 0x0018,\n\t0x1d9e: 0x0018, 0x1d9f: 0x0018, 0x1da0: 0x0018, 0x1da1: 0x0018, 0x1da2: 0x0018, 0x1da3: 0x0018,\n\t0x1da4: 0x0018, 0x1da5: 0x0018, 0x1da6: 0x0018, 0x1da7: 0x0018, 0x1da8: 0x0018, 0x1da9: 0x0018,\n\t0x1daa: 0xc191, 0x1dab: 0xc1a9, 0x1dac: 0x0040, 0x1dad: 0x0040, 0x1dae: 0x0040, 0x1daf: 0x0040,\n\t0x1db0: 0x0018, 0x1db1: 0x0018, 0x1db2: 0x0018, 0x1db3: 0x0018, 0x1db4: 0x0018, 0x1db5: 0x0018,\n\t0x1db6: 0x0018, 0x1db7: 0x0018, 0x1db8: 0x0018, 0x1db9: 0x0018, 0x1dba: 0x0018, 0x1dbb: 0x0018,\n\t0x1dbc: 0x0018, 0x1dbd: 0x0018, 0x1dbe: 0x0018, 0x1dbf: 0x0018,\n\t// Block 0x77, offset 0x1dc0\n\t0x1dc0: 0xc1d9, 0x1dc1: 0xc211, 0x1dc2: 0xc249, 0x1dc3: 0x0040, 0x1dc4: 0x0040, 0x1dc5: 0x0040,\n\t0x1dc6: 0x0040, 0x1dc7: 0x0040, 0x1dc8: 0x0040, 0x1dc9: 0x0040, 0x1dca: 0x0040, 0x1dcb: 0x0040,\n\t0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x0040, 0x1dcf: 0x0040, 0x1dd0: 0xc269, 0x1dd1: 0xc289,\n\t0x1dd2: 0xc2a9, 0x1dd3: 0xc2c9, 0x1dd4: 0xc2e9, 0x1dd5: 0xc309, 0x1dd6: 0xc329, 0x1dd7: 0xc349,\n\t0x1dd8: 0xc369, 0x1dd9: 0xc389, 0x1dda: 0xc3a9, 0x1ddb: 0xc3c9, 0x1ddc: 0xc3e9, 0x1ddd: 0xc409,\n\t0x1dde: 0xc429, 0x1ddf: 0xc449, 0x1de0: 0xc469, 0x1de1: 0xc489, 0x1de2: 0xc4a9, 0x1de3: 0xc4c9,\n\t0x1de4: 0xc4e9, 0x1de5: 0xc509, 0x1de6: 0xc529, 0x1de7: 0xc549, 0x1de8: 0xc569, 0x1de9: 0xc589,\n\t0x1dea: 0xc5a9, 0x1deb: 0xc5c9, 0x1dec: 0xc5e9, 0x1ded: 0xc609, 0x1dee: 0xc629, 0x1def: 0xc649,\n\t0x1df0: 0xc669, 0x1df1: 0xc689, 0x1df2: 0xc6a9, 0x1df3: 0xc6c9, 0x1df4: 0xc6e9, 0x1df5: 0xc709,\n\t0x1df6: 0xc729, 0x1df7: 0xc749, 0x1df8: 0xc769, 0x1df9: 0xc789, 0x1dfa: 0xc7a9, 0x1dfb: 0xc7c9,\n\t0x1dfc: 0x0040, 0x1dfd: 0x0040, 0x1dfe: 0x0040, 0x1dff: 0x0040,\n\t// Block 0x78, offset 0x1e00\n\t0x1e00: 0xcaf9, 0x1e01: 0xcb19, 0x1e02: 0xcb39, 0x1e03: 0x8b1d, 0x1e04: 0xcb59, 0x1e05: 0xcb79,\n\t0x1e06: 0xcb99, 0x1e07: 0xcbb9, 0x1e08: 0xcbd9, 0x1e09: 0xcbf9, 0x1e0a: 0xcc19, 0x1e0b: 0xcc39,\n\t0x1e0c: 0xcc59, 0x1e0d: 0x8b3d, 0x1e0e: 0xcc79, 0x1e0f: 0xcc99, 0x1e10: 0xccb9, 0x1e11: 0xccd9,\n\t0x1e12: 0x8b5d, 0x1e13: 0xccf9, 0x1e14: 0xcd19, 0x1e15: 0xc429, 0x1e16: 0x8b7d, 0x1e17: 0xcd39,\n\t0x1e18: 0xcd59, 0x1e19: 0xcd79, 0x1e1a: 0xcd99, 0x1e1b: 0xcdb9, 0x1e1c: 0x8b9d, 0x1e1d: 0xcdd9,\n\t0x1e1e: 0xcdf9, 0x1e1f: 0xce19, 0x1e20: 0xce39, 0x1e21: 0xce59, 0x1e22: 0xc789, 0x1e23: 0xce79,\n\t0x1e24: 0xce99, 0x1e25: 0xceb9, 0x1e26: 0xced9, 0x1e27: 0xcef9, 0x1e28: 0xcf19, 0x1e29: 0xcf39,\n\t0x1e2a: 0xcf59, 0x1e2b: 0xcf79, 0x1e2c: 0xcf99, 0x1e2d: 0xcfb9, 0x1e2e: 0xcfd9, 0x1e2f: 0xcff9,\n\t0x1e30: 0xd019, 0x1e31: 0xd039, 0x1e32: 0xd039, 0x1e33: 0xd039, 0x1e34: 0x8bbd, 0x1e35: 0xd059,\n\t0x1e36: 0xd079, 0x1e37: 0xd099, 0x1e38: 0x8bdd, 0x1e39: 0xd0b9, 0x1e3a: 0xd0d9, 0x1e3b: 0xd0f9,\n\t0x1e3c: 0xd119, 0x1e3d: 0xd139, 0x1e3e: 0xd159, 0x1e3f: 0xd179,\n\t// Block 0x79, offset 0x1e40\n\t0x1e40: 0xd199, 0x1e41: 0xd1b9, 0x1e42: 0xd1d9, 0x1e43: 0xd1f9, 0x1e44: 0xd219, 0x1e45: 0xd239,\n\t0x1e46: 0xd239, 0x1e47: 0xd259, 0x1e48: 0xd279, 0x1e49: 0xd299, 0x1e4a: 0xd2b9, 0x1e4b: 0xd2d9,\n\t0x1e4c: 0xd2f9, 0x1e4d: 0xd319, 0x1e4e: 0xd339, 0x1e4f: 0xd359, 0x1e50: 0xd379, 0x1e51: 0xd399,\n\t0x1e52: 0xd3b9, 0x1e53: 0xd3d9, 0x1e54: 0xd3f9, 0x1e55: 0xd419, 0x1e56: 0xd439, 0x1e57: 0xd459,\n\t0x1e58: 0xd479, 0x1e59: 0x8bfd, 0x1e5a: 0xd499, 0x1e5b: 0xd4b9, 0x1e5c: 0xd4d9, 0x1e5d: 0xc309,\n\t0x1e5e: 0xd4f9, 0x1e5f: 0xd519, 0x1e60: 0x8c1d, 0x1e61: 0x8c3d, 0x1e62: 0xd539, 0x1e63: 0xd559,\n\t0x1e64: 0xd579, 0x1e65: 0xd599, 0x1e66: 0xd5b9, 0x1e67: 0xd5d9, 0x1e68: 0x2040, 0x1e69: 0xd5f9,\n\t0x1e6a: 0xd619, 0x1e6b: 0xd619, 0x1e6c: 0x8c5d, 0x1e6d: 0xd639, 0x1e6e: 0xd659, 0x1e6f: 0xd679,\n\t0x1e70: 0xd699, 0x1e71: 0x8c7d, 0x1e72: 0xd6b9, 0x1e73: 0xd6d9, 0x1e74: 0x2040, 0x1e75: 0xd6f9,\n\t0x1e76: 0xd719, 0x1e77: 0xd739, 0x1e78: 0xd759, 0x1e79: 0xd779, 0x1e7a: 0xd799, 0x1e7b: 0x8c9d,\n\t0x1e7c: 0xd7b9, 0x1e7d: 0x8cbd, 0x1e7e: 0xd7d9, 0x1e7f: 0xd7f9,\n\t// Block 0x7a, offset 0x1e80\n\t0x1e80: 0xd819, 0x1e81: 0xd839, 0x1e82: 0xd859, 0x1e83: 0xd879, 0x1e84: 0xd899, 0x1e85: 0xd8b9,\n\t0x1e86: 0xd8d9, 0x1e87: 0xd8f9, 0x1e88: 0xd919, 0x1e89: 0x8cdd, 0x1e8a: 0xd939, 0x1e8b: 0xd959,\n\t0x1e8c: 0xd979, 0x1e8d: 0xd999, 0x1e8e: 0xd9b9, 0x1e8f: 0x8cfd, 0x1e90: 0xd9d9, 0x1e91: 0x8d1d,\n\t0x1e92: 0x8d3d, 0x1e93: 0xd9f9, 0x1e94: 0xda19, 0x1e95: 0xda19, 0x1e96: 0xda39, 0x1e97: 0x8d5d,\n\t0x1e98: 0x8d7d, 0x1e99: 0xda59, 0x1e9a: 0xda79, 0x1e9b: 0xda99, 0x1e9c: 0xdab9, 0x1e9d: 0xdad9,\n\t0x1e9e: 0xdaf9, 0x1e9f: 0xdb19, 0x1ea0: 0xdb39, 0x1ea1: 0xdb59, 0x1ea2: 0xdb79, 0x1ea3: 0xdb99,\n\t0x1ea4: 0x8d9d, 0x1ea5: 0xdbb9, 0x1ea6: 0xdbd9, 0x1ea7: 0xdbf9, 0x1ea8: 0xdc19, 0x1ea9: 0xdbf9,\n\t0x1eaa: 0xdc39, 0x1eab: 0xdc59, 0x1eac: 0xdc79, 0x1ead: 0xdc99, 0x1eae: 0xdcb9, 0x1eaf: 0xdcd9,\n\t0x1eb0: 0xdcf9, 0x1eb1: 0xdd19, 0x1eb2: 0xdd39, 0x1eb3: 0xdd59, 0x1eb4: 0xdd79, 0x1eb5: 0xdd99,\n\t0x1eb6: 0xddb9, 0x1eb7: 0xddd9, 0x1eb8: 0x8dbd, 0x1eb9: 0xddf9, 0x1eba: 0xde19, 0x1ebb: 0xde39,\n\t0x1ebc: 0xde59, 0x1ebd: 0xde79, 0x1ebe: 0x8ddd, 0x1ebf: 0xde99,\n\t// Block 0x7b, offset 0x1ec0\n\t0x1ec0: 0xe599, 0x1ec1: 0xe5b9, 0x1ec2: 0xe5d9, 0x1ec3: 0xe5f9, 0x1ec4: 0xe619, 0x1ec5: 0xe639,\n\t0x1ec6: 0x8efd, 0x1ec7: 0xe659, 0x1ec8: 0xe679, 0x1ec9: 0xe699, 0x1eca: 0xe6b9, 0x1ecb: 0xe6d9,\n\t0x1ecc: 0xe6f9, 0x1ecd: 0x8f1d, 0x1ece: 0xe719, 0x1ecf: 0xe739, 0x1ed0: 0x8f3d, 0x1ed1: 0x8f5d,\n\t0x1ed2: 0xe759, 0x1ed3: 0xe779, 0x1ed4: 0xe799, 0x1ed5: 0xe7b9, 0x1ed6: 0xe7d9, 0x1ed7: 0xe7f9,\n\t0x1ed8: 0xe819, 0x1ed9: 0xe839, 0x1eda: 0xe859, 0x1edb: 0x8f7d, 0x1edc: 0xe879, 0x1edd: 0x8f9d,\n\t0x1ede: 0xe899, 0x1edf: 0x2040, 0x1ee0: 0xe8b9, 0x1ee1: 0xe8d9, 0x1ee2: 0xe8f9, 0x1ee3: 0x8fbd,\n\t0x1ee4: 0xe919, 0x1ee5: 0xe939, 0x1ee6: 0x8fdd, 0x1ee7: 0x8ffd, 0x1ee8: 0xe959, 0x1ee9: 0xe979,\n\t0x1eea: 0xe999, 0x1eeb: 0xe9b9, 0x1eec: 0xe9d9, 0x1eed: 0xe9d9, 0x1eee: 0xe9f9, 0x1eef: 0xea19,\n\t0x1ef0: 0xea39, 0x1ef1: 0xea59, 0x1ef2: 0xea79, 0x1ef3: 0xea99, 0x1ef4: 0xeab9, 0x1ef5: 0x901d,\n\t0x1ef6: 0xead9, 0x1ef7: 0x903d, 0x1ef8: 0xeaf9, 0x1ef9: 0x905d, 0x1efa: 0xeb19, 0x1efb: 0x907d,\n\t0x1efc: 0x909d, 0x1efd: 0x90bd, 0x1efe: 0xeb39, 0x1eff: 0xeb59,\n\t// Block 0x7c, offset 0x1f00\n\t0x1f00: 0xeb79, 0x1f01: 0x90dd, 0x1f02: 0x90fd, 0x1f03: 0x911d, 0x1f04: 0x913d, 0x1f05: 0xeb99,\n\t0x1f06: 0xebb9, 0x1f07: 0xebb9, 0x1f08: 0xebd9, 0x1f09: 0xebf9, 0x1f0a: 0xec19, 0x1f0b: 0xec39,\n\t0x1f0c: 0xec59, 0x1f0d: 0x915d, 0x1f0e: 0xec79, 0x1f0f: 0xec99, 0x1f10: 0xecb9, 0x1f11: 0xecd9,\n\t0x1f12: 0x917d, 0x1f13: 0xecf9, 0x1f14: 0x919d, 0x1f15: 0x91bd, 0x1f16: 0xed19, 0x1f17: 0xed39,\n\t0x1f18: 0xed59, 0x1f19: 0xed79, 0x1f1a: 0xed99, 0x1f1b: 0xedb9, 0x1f1c: 0x91dd, 0x1f1d: 0x91fd,\n\t0x1f1e: 0x921d, 0x1f1f: 0x2040, 0x1f20: 0xedd9, 0x1f21: 0x923d, 0x1f22: 0xedf9, 0x1f23: 0xee19,\n\t0x1f24: 0xee39, 0x1f25: 0x925d, 0x1f26: 0xee59, 0x1f27: 0xee79, 0x1f28: 0xee99, 0x1f29: 0xeeb9,\n\t0x1f2a: 0xeed9, 0x1f2b: 0x927d, 0x1f2c: 0xeef9, 0x1f2d: 0xef19, 0x1f2e: 0xef39, 0x1f2f: 0xef59,\n\t0x1f30: 0xef79, 0x1f31: 0xef99, 0x1f32: 0x929d, 0x1f33: 0x92bd, 0x1f34: 0xefb9, 0x1f35: 0x92dd,\n\t0x1f36: 0xefd9, 0x1f37: 0x92fd, 0x1f38: 0xeff9, 0x1f39: 0xf019, 0x1f3a: 0xf039, 0x1f3b: 0x931d,\n\t0x1f3c: 0x933d, 0x1f3d: 0xf059, 0x1f3e: 0x935d, 0x1f3f: 0xf079,\n\t// Block 0x7d, offset 0x1f40\n\t0x1f40: 0xf6b9, 0x1f41: 0xf6d9, 0x1f42: 0xf6f9, 0x1f43: 0xf719, 0x1f44: 0xf739, 0x1f45: 0x951d,\n\t0x1f46: 0xf759, 0x1f47: 0xf779, 0x1f48: 0xf799, 0x1f49: 0xf7b9, 0x1f4a: 0xf7d9, 0x1f4b: 0x953d,\n\t0x1f4c: 0x955d, 0x1f4d: 0xf7f9, 0x1f4e: 0xf819, 0x1f4f: 0xf839, 0x1f50: 0xf859, 0x1f51: 0xf879,\n\t0x1f52: 0xf899, 0x1f53: 0x957d, 0x1f54: 0xf8b9, 0x1f55: 0xf8d9, 0x1f56: 0xf8f9, 0x1f57: 0xf919,\n\t0x1f58: 0x959d, 0x1f59: 0x95bd, 0x1f5a: 0xf939, 0x1f5b: 0xf959, 0x1f5c: 0xf979, 0x1f5d: 0x95dd,\n\t0x1f5e: 0xf999, 0x1f5f: 0xf9b9, 0x1f60: 0x6815, 0x1f61: 0x95fd, 0x1f62: 0xf9d9, 0x1f63: 0xf9f9,\n\t0x1f64: 0xfa19, 0x1f65: 0x961d, 0x1f66: 0xfa39, 0x1f67: 0xfa59, 0x1f68: 0xfa79, 0x1f69: 0xfa99,\n\t0x1f6a: 0xfab9, 0x1f6b: 0xfad9, 0x1f6c: 0xfaf9, 0x1f6d: 0x963d, 0x1f6e: 0xfb19, 0x1f6f: 0xfb39,\n\t0x1f70: 0xfb59, 0x1f71: 0x965d, 0x1f72: 0xfb79, 0x1f73: 0xfb99, 0x1f74: 0xfbb9, 0x1f75: 0xfbd9,\n\t0x1f76: 0x7b35, 0x1f77: 0x967d, 0x1f78: 0xfbf9, 0x1f79: 0xfc19, 0x1f7a: 0xfc39, 0x1f7b: 0x969d,\n\t0x1f7c: 0xfc59, 0x1f7d: 0x96bd, 0x1f7e: 0xfc79, 0x1f7f: 0xfc79,\n\t// Block 0x7e, offset 0x1f80\n\t0x1f80: 0xfc99, 0x1f81: 0x96dd, 0x1f82: 0xfcb9, 0x1f83: 0xfcd9, 0x1f84: 0xfcf9, 0x1f85: 0xfd19,\n\t0x1f86: 0xfd39, 0x1f87: 0xfd59, 0x1f88: 0xfd79, 0x1f89: 0x96fd, 0x1f8a: 0xfd99, 0x1f8b: 0xfdb9,\n\t0x1f8c: 0xfdd9, 0x1f8d: 0xfdf9, 0x1f8e: 0xfe19, 0x1f8f: 0xfe39, 0x1f90: 0x971d, 0x1f91: 0xfe59,\n\t0x1f92: 0x973d, 0x1f93: 0x975d, 0x1f94: 0x977d, 0x1f95: 0xfe79, 0x1f96: 0xfe99, 0x1f97: 0xfeb9,\n\t0x1f98: 0xfed9, 0x1f99: 0xfef9, 0x1f9a: 0xff19, 0x1f9b: 0xff39, 0x1f9c: 0xff59, 0x1f9d: 0x979d,\n\t0x1f9e: 0x0040, 0x1f9f: 0x0040, 0x1fa0: 0x0040, 0x1fa1: 0x0040, 0x1fa2: 0x0040, 0x1fa3: 0x0040,\n\t0x1fa4: 0x0040, 0x1fa5: 0x0040, 0x1fa6: 0x0040, 0x1fa7: 0x0040, 0x1fa8: 0x0040, 0x1fa9: 0x0040,\n\t0x1faa: 0x0040, 0x1fab: 0x0040, 0x1fac: 0x0040, 0x1fad: 0x0040, 0x1fae: 0x0040, 0x1faf: 0x0040,\n\t0x1fb0: 0x0040, 0x1fb1: 0x0040, 0x1fb2: 0x0040, 0x1fb3: 0x0040, 0x1fb4: 0x0040, 0x1fb5: 0x0040,\n\t0x1fb6: 0x0040, 0x1fb7: 0x0040, 0x1fb8: 0x0040, 0x1fb9: 0x0040, 0x1fba: 0x0040, 0x1fbb: 0x0040,\n\t0x1fbc: 0x0040, 0x1fbd: 0x0040, 0x1fbe: 0x0040, 0x1fbf: 0x0040,\n}\n\n// idnaIndex: 36 blocks, 2304 entries, 4608 bytes\n// Block 0 is the zero block.\nvar idnaIndex = [2304]uint16{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x01, 0xc3: 0x7d, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05,\n\t0xc8: 0x06, 0xc9: 0x7e, 0xca: 0x7f, 0xcb: 0x07, 0xcc: 0x80, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a,\n\t0xd0: 0x81, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x82, 0xd6: 0x83, 0xd7: 0x84,\n\t0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x85, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x86, 0xde: 0x87, 0xdf: 0x88,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07,\n\t0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c,\n\t0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x89, 0x121: 0x13, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16,\n\t0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8d,\n\t0x130: 0x8e, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x8f, 0x135: 0x21, 0x136: 0x90, 0x137: 0x91,\n\t0x138: 0x92, 0x139: 0x93, 0x13a: 0x22, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x96,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e,\n\t0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6,\n\t0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f,\n\t0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae,\n\t0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6,\n\t0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe,\n\t0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc3,\n\t0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc4, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc5, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc6, 0x187: 0x9b,\n\t0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0x9b,\n\t0x190: 0xca, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b,\n\t0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b,\n\t0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b,\n\t0x1a8: 0xcb, 0x1a9: 0xcc, 0x1aa: 0x9b, 0x1ab: 0xcd, 0x1ac: 0x9b, 0x1ad: 0xce, 0x1ae: 0xcf, 0x1af: 0xd0,\n\t0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5,\n\t0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1,\n\t0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41,\n\t0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f,\n\t0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f,\n\t0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f,\n\t0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f,\n\t0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f,\n\t0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f,\n\t0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f,\n\t0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f,\n\t0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f,\n\t0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f,\n\t0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f,\n\t0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b,\n\t0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f,\n\t0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f,\n\t0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f,\n\t0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f,\n\t0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f,\n\t0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f,\n\t0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f,\n\t0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f,\n\t// Block 0xa, offset 0x280\n\t0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f,\n\t0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f,\n\t0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f,\n\t0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f,\n\t0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f,\n\t0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f,\n\t0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f,\n\t0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe3,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f,\n\t0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f,\n\t0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe4, 0x2d3: 0xe5, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f,\n\t0x2d8: 0xe6, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe7, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe8,\n\t0x2e0: 0xe9, 0x2e1: 0xea, 0x2e2: 0xeb, 0x2e3: 0xec, 0x2e4: 0xed, 0x2e5: 0xee, 0x2e6: 0xef, 0x2e7: 0xf0,\n\t0x2e8: 0xf1, 0x2e9: 0xf2, 0x2ea: 0xf3, 0x2eb: 0xf4, 0x2ec: 0xf5, 0x2ed: 0xf6, 0x2ee: 0xf7, 0x2ef: 0xf8,\n\t0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f,\n\t0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f,\n\t// Block 0xc, offset 0x300\n\t0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f,\n\t0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f,\n\t0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f,\n\t0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xf9, 0x31f: 0xfa,\n\t// Block 0xd, offset 0x340\n\t0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba,\n\t0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba,\n\t0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba,\n\t0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba,\n\t0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba,\n\t0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba,\n\t0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba,\n\t0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba,\n\t// Block 0xe, offset 0x380\n\t0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba,\n\t0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba,\n\t0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba,\n\t0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba,\n\t0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfb, 0x3a5: 0xfc, 0x3a6: 0xfd, 0x3a7: 0xfe,\n\t0x3a8: 0x47, 0x3a9: 0xff, 0x3aa: 0x100, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c,\n\t0x3b0: 0x101, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x102, 0x3b7: 0x52,\n\t0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a,\n\t// Block 0xf, offset 0x3c0\n\t0x3c0: 0x103, 0x3c1: 0x104, 0x3c2: 0x9f, 0x3c3: 0x105, 0x3c4: 0x106, 0x3c5: 0x9b, 0x3c6: 0x107, 0x3c7: 0x108,\n\t0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x109, 0x3cb: 0x10a, 0x3cc: 0x10b, 0x3cd: 0x10c, 0x3ce: 0x10d, 0x3cf: 0x10e,\n\t0x3d0: 0x10f, 0x3d1: 0x9f, 0x3d2: 0x110, 0x3d3: 0x111, 0x3d4: 0x112, 0x3d5: 0x113, 0x3d6: 0xba, 0x3d7: 0xba,\n\t0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x114, 0x3dd: 0x115, 0x3de: 0xba, 0x3df: 0xba,\n\t0x3e0: 0x116, 0x3e1: 0x117, 0x3e2: 0x118, 0x3e3: 0x119, 0x3e4: 0x11a, 0x3e5: 0xba, 0x3e6: 0x11b, 0x3e7: 0x11c,\n\t0x3e8: 0x11d, 0x3e9: 0x11e, 0x3ea: 0x11f, 0x3eb: 0x5b, 0x3ec: 0x120, 0x3ed: 0x121, 0x3ee: 0x5c, 0x3ef: 0xba,\n\t0x3f0: 0x122, 0x3f1: 0x123, 0x3f2: 0x124, 0x3f3: 0x125, 0x3f4: 0xba, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba,\n\t0x3f8: 0xba, 0x3f9: 0x126, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0xba, 0x3fd: 0xba, 0x3fe: 0xba, 0x3ff: 0xba,\n\t// Block 0x10, offset 0x400\n\t0x400: 0x127, 0x401: 0x128, 0x402: 0x129, 0x403: 0x12a, 0x404: 0x12b, 0x405: 0x12c, 0x406: 0x12d, 0x407: 0x12e,\n\t0x408: 0x12f, 0x409: 0xba, 0x40a: 0x130, 0x40b: 0x131, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xba, 0x40f: 0xba,\n\t0x410: 0x132, 0x411: 0x133, 0x412: 0x134, 0x413: 0x135, 0x414: 0xba, 0x415: 0xba, 0x416: 0x136, 0x417: 0x137,\n\t0x418: 0x138, 0x419: 0x139, 0x41a: 0x13a, 0x41b: 0x13b, 0x41c: 0x13c, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba,\n\t0x420: 0xba, 0x421: 0xba, 0x422: 0x13d, 0x423: 0x13e, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba,\n\t0x428: 0x13f, 0x429: 0x140, 0x42a: 0x141, 0x42b: 0x142, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba,\n\t0x430: 0x143, 0x431: 0x144, 0x432: 0x145, 0x433: 0xba, 0x434: 0x146, 0x435: 0x147, 0x436: 0xba, 0x437: 0xba,\n\t0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0xba, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f,\n\t0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x148, 0x44f: 0xba,\n\t0x450: 0x9b, 0x451: 0x149, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x14a, 0x456: 0xba, 0x457: 0xba,\n\t0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba,\n\t0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba,\n\t0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba,\n\t0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba,\n\t0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba,\n\t// Block 0x12, offset 0x480\n\t0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f,\n\t0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f,\n\t0x490: 0x14b, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba,\n\t0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba,\n\t0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba,\n\t0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba,\n\t0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba,\n\t0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba,\n\t0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba,\n\t0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f,\n\t0x4d8: 0x9f, 0x4d9: 0x14c, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba,\n\t0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba,\n\t0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba,\n\t0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba,\n\t0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba,\n\t// Block 0x14, offset 0x500\n\t0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba,\n\t0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba,\n\t0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba,\n\t0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba,\n\t0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f,\n\t0x528: 0x142, 0x529: 0x14d, 0x52a: 0xba, 0x52b: 0x14e, 0x52c: 0x14f, 0x52d: 0x150, 0x52e: 0x151, 0x52f: 0xba,\n\t0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba,\n\t0x538: 0xba, 0x539: 0xba, 0x53a: 0xba, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x152, 0x53e: 0x153, 0x53f: 0x154,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f,\n\t0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f,\n\t0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f,\n\t0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x155,\n\t0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f,\n\t0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x156, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba,\n\t0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba,\n\t0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x9f, 0x581: 0x9f, 0x582: 0x9f, 0x583: 0x9f, 0x584: 0x157, 0x585: 0x158, 0x586: 0x9f, 0x587: 0x9f,\n\t0x588: 0x9f, 0x589: 0x9f, 0x58a: 0x9f, 0x58b: 0x159, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba,\n\t0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba,\n\t0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba,\n\t0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba,\n\t0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba,\n\t0x5b0: 0x9f, 0x5b1: 0x15a, 0x5b2: 0x15b, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba,\n\t0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x15c, 0x5c4: 0x15d, 0x5c5: 0x15e, 0x5c6: 0x15f, 0x5c7: 0x160,\n\t0x5c8: 0x9b, 0x5c9: 0x161, 0x5ca: 0xba, 0x5cb: 0xba, 0x5cc: 0x9b, 0x5cd: 0x162, 0x5ce: 0xba, 0x5cf: 0xba,\n\t0x5d0: 0x5f, 0x5d1: 0x60, 0x5d2: 0x61, 0x5d3: 0x62, 0x5d4: 0x63, 0x5d5: 0x64, 0x5d6: 0x65, 0x5d7: 0x66,\n\t0x5d8: 0x67, 0x5d9: 0x68, 0x5da: 0x69, 0x5db: 0x6a, 0x5dc: 0x6b, 0x5dd: 0x6c, 0x5de: 0x6d, 0x5df: 0x6e,\n\t0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b,\n\t0x5e8: 0x163, 0x5e9: 0x164, 0x5ea: 0x165, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba,\n\t0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba,\n\t0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x166, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba,\n\t0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba,\n\t0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba,\n\t0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba,\n\t0x620: 0x122, 0x621: 0x122, 0x622: 0x122, 0x623: 0x167, 0x624: 0x6f, 0x625: 0x168, 0x626: 0xba, 0x627: 0xba,\n\t0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba,\n\t0x630: 0xba, 0x631: 0xba, 0x632: 0xba, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba,\n\t0x638: 0x70, 0x639: 0x71, 0x63a: 0x72, 0x63b: 0x169, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x16a, 0x641: 0x9b, 0x642: 0x16b, 0x643: 0x16c, 0x644: 0x73, 0x645: 0x74, 0x646: 0x16d, 0x647: 0x16e,\n\t0x648: 0x75, 0x649: 0x16f, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b,\n\t0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b,\n\t0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x170, 0x65c: 0x9b, 0x65d: 0x171, 0x65e: 0x9b, 0x65f: 0x172,\n\t0x660: 0x173, 0x661: 0x174, 0x662: 0x175, 0x663: 0xba, 0x664: 0x176, 0x665: 0x177, 0x666: 0x178, 0x667: 0x179,\n\t0x668: 0xba, 0x669: 0xba, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba,\n\t0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba,\n\t0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f,\n\t0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f,\n\t0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f,\n\t0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x17a, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f,\n\t0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f,\n\t0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f,\n\t0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f,\n\t0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f,\n\t0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f,\n\t0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f,\n\t0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x17b, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f,\n\t0x6e0: 0x17c, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f,\n\t0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f,\n\t0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f,\n\t0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f,\n\t// Block 0x1c, offset 0x700\n\t0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f,\n\t0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f,\n\t0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f,\n\t0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f,\n\t0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f,\n\t0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f,\n\t0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f,\n\t0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x17d, 0x73b: 0x9f, 0x73c: 0x9f, 0x73d: 0x9f, 0x73e: 0x9f, 0x73f: 0x9f,\n\t// Block 0x1d, offset 0x740\n\t0x740: 0x9f, 0x741: 0x9f, 0x742: 0x9f, 0x743: 0x9f, 0x744: 0x9f, 0x745: 0x9f, 0x746: 0x9f, 0x747: 0x9f,\n\t0x748: 0x9f, 0x749: 0x9f, 0x74a: 0x9f, 0x74b: 0x9f, 0x74c: 0x9f, 0x74d: 0x9f, 0x74e: 0x9f, 0x74f: 0x9f,\n\t0x750: 0x9f, 0x751: 0x9f, 0x752: 0x9f, 0x753: 0x9f, 0x754: 0x9f, 0x755: 0x9f, 0x756: 0x9f, 0x757: 0x9f,\n\t0x758: 0x9f, 0x759: 0x9f, 0x75a: 0x9f, 0x75b: 0x9f, 0x75c: 0x9f, 0x75d: 0x9f, 0x75e: 0x9f, 0x75f: 0x9f,\n\t0x760: 0x9f, 0x761: 0x9f, 0x762: 0x9f, 0x763: 0x9f, 0x764: 0x9f, 0x765: 0x9f, 0x766: 0x9f, 0x767: 0x9f,\n\t0x768: 0x9f, 0x769: 0x9f, 0x76a: 0x9f, 0x76b: 0x9f, 0x76c: 0x9f, 0x76d: 0x9f, 0x76e: 0x9f, 0x76f: 0x17e,\n\t0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba,\n\t0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba,\n\t// Block 0x1e, offset 0x780\n\t0x780: 0xba, 0x781: 0xba, 0x782: 0xba, 0x783: 0xba, 0x784: 0xba, 0x785: 0xba, 0x786: 0xba, 0x787: 0xba,\n\t0x788: 0xba, 0x789: 0xba, 0x78a: 0xba, 0x78b: 0xba, 0x78c: 0xba, 0x78d: 0xba, 0x78e: 0xba, 0x78f: 0xba,\n\t0x790: 0xba, 0x791: 0xba, 0x792: 0xba, 0x793: 0xba, 0x794: 0xba, 0x795: 0xba, 0x796: 0xba, 0x797: 0xba,\n\t0x798: 0xba, 0x799: 0xba, 0x79a: 0xba, 0x79b: 0xba, 0x79c: 0xba, 0x79d: 0xba, 0x79e: 0xba, 0x79f: 0xba,\n\t0x7a0: 0x76, 0x7a1: 0x77, 0x7a2: 0x78, 0x7a3: 0x17f, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x180, 0x7a7: 0x7b,\n\t0x7a8: 0x7c, 0x7a9: 0xba, 0x7aa: 0xba, 0x7ab: 0xba, 0x7ac: 0xba, 0x7ad: 0xba, 0x7ae: 0xba, 0x7af: 0xba,\n\t0x7b0: 0xba, 0x7b1: 0xba, 0x7b2: 0xba, 0x7b3: 0xba, 0x7b4: 0xba, 0x7b5: 0xba, 0x7b6: 0xba, 0x7b7: 0xba,\n\t0x7b8: 0xba, 0x7b9: 0xba, 0x7ba: 0xba, 0x7bb: 0xba, 0x7bc: 0xba, 0x7bd: 0xba, 0x7be: 0xba, 0x7bf: 0xba,\n\t// Block 0x1f, offset 0x7c0\n\t0x7d0: 0x0d, 0x7d1: 0x0e, 0x7d2: 0x0f, 0x7d3: 0x10, 0x7d4: 0x11, 0x7d5: 0x0b, 0x7d6: 0x12, 0x7d7: 0x07,\n\t0x7d8: 0x13, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x14, 0x7dc: 0x0b, 0x7dd: 0x15, 0x7de: 0x16, 0x7df: 0x17,\n\t0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07,\n\t0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x18, 0x7eb: 0x19, 0x7ec: 0x1a, 0x7ed: 0x07, 0x7ee: 0x1b, 0x7ef: 0x1c,\n\t0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b,\n\t0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b,\n\t// Block 0x20, offset 0x800\n\t0x800: 0x0b, 0x801: 0x0b, 0x802: 0x0b, 0x803: 0x0b, 0x804: 0x0b, 0x805: 0x0b, 0x806: 0x0b, 0x807: 0x0b,\n\t0x808: 0x0b, 0x809: 0x0b, 0x80a: 0x0b, 0x80b: 0x0b, 0x80c: 0x0b, 0x80d: 0x0b, 0x80e: 0x0b, 0x80f: 0x0b,\n\t0x810: 0x0b, 0x811: 0x0b, 0x812: 0x0b, 0x813: 0x0b, 0x814: 0x0b, 0x815: 0x0b, 0x816: 0x0b, 0x817: 0x0b,\n\t0x818: 0x0b, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x0b, 0x81c: 0x0b, 0x81d: 0x0b, 0x81e: 0x0b, 0x81f: 0x0b,\n\t0x820: 0x0b, 0x821: 0x0b, 0x822: 0x0b, 0x823: 0x0b, 0x824: 0x0b, 0x825: 0x0b, 0x826: 0x0b, 0x827: 0x0b,\n\t0x828: 0x0b, 0x829: 0x0b, 0x82a: 0x0b, 0x82b: 0x0b, 0x82c: 0x0b, 0x82d: 0x0b, 0x82e: 0x0b, 0x82f: 0x0b,\n\t0x830: 0x0b, 0x831: 0x0b, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b,\n\t0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b,\n\t// Block 0x21, offset 0x840\n\t0x840: 0x181, 0x841: 0x182, 0x842: 0xba, 0x843: 0xba, 0x844: 0x183, 0x845: 0x183, 0x846: 0x183, 0x847: 0x184,\n\t0x848: 0xba, 0x849: 0xba, 0x84a: 0xba, 0x84b: 0xba, 0x84c: 0xba, 0x84d: 0xba, 0x84e: 0xba, 0x84f: 0xba,\n\t0x850: 0xba, 0x851: 0xba, 0x852: 0xba, 0x853: 0xba, 0x854: 0xba, 0x855: 0xba, 0x856: 0xba, 0x857: 0xba,\n\t0x858: 0xba, 0x859: 0xba, 0x85a: 0xba, 0x85b: 0xba, 0x85c: 0xba, 0x85d: 0xba, 0x85e: 0xba, 0x85f: 0xba,\n\t0x860: 0xba, 0x861: 0xba, 0x862: 0xba, 0x863: 0xba, 0x864: 0xba, 0x865: 0xba, 0x866: 0xba, 0x867: 0xba,\n\t0x868: 0xba, 0x869: 0xba, 0x86a: 0xba, 0x86b: 0xba, 0x86c: 0xba, 0x86d: 0xba, 0x86e: 0xba, 0x86f: 0xba,\n\t0x870: 0xba, 0x871: 0xba, 0x872: 0xba, 0x873: 0xba, 0x874: 0xba, 0x875: 0xba, 0x876: 0xba, 0x877: 0xba,\n\t0x878: 0xba, 0x879: 0xba, 0x87a: 0xba, 0x87b: 0xba, 0x87c: 0xba, 0x87d: 0xba, 0x87e: 0xba, 0x87f: 0xba,\n\t// Block 0x22, offset 0x880\n\t0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b,\n\t0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b,\n\t0x890: 0x0b, 0x891: 0x0b, 0x892: 0x0b, 0x893: 0x0b, 0x894: 0x0b, 0x895: 0x0b, 0x896: 0x0b, 0x897: 0x0b,\n\t0x898: 0x0b, 0x899: 0x0b, 0x89a: 0x0b, 0x89b: 0x0b, 0x89c: 0x0b, 0x89d: 0x0b, 0x89e: 0x0b, 0x89f: 0x0b,\n\t0x8a0: 0x1f, 0x8a1: 0x0b, 0x8a2: 0x0b, 0x8a3: 0x0b, 0x8a4: 0x0b, 0x8a5: 0x0b, 0x8a6: 0x0b, 0x8a7: 0x0b,\n\t0x8a8: 0x0b, 0x8a9: 0x0b, 0x8aa: 0x0b, 0x8ab: 0x0b, 0x8ac: 0x0b, 0x8ad: 0x0b, 0x8ae: 0x0b, 0x8af: 0x0b,\n\t0x8b0: 0x0b, 0x8b1: 0x0b, 0x8b2: 0x0b, 0x8b3: 0x0b, 0x8b4: 0x0b, 0x8b5: 0x0b, 0x8b6: 0x0b, 0x8b7: 0x0b,\n\t0x8b8: 0x0b, 0x8b9: 0x0b, 0x8ba: 0x0b, 0x8bb: 0x0b, 0x8bc: 0x0b, 0x8bd: 0x0b, 0x8be: 0x0b, 0x8bf: 0x0b,\n\t// Block 0x23, offset 0x8c0\n\t0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b,\n\t0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b,\n}\n\n// idnaSparseOffset: 264 entries, 528 bytes\nvar idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x4f, 0x5e, 0x63, 0x6b, 0x77, 0x85, 0x8a, 0x93, 0xa3, 0xb1, 0xbd, 0xc9, 0xda, 0xe4, 0xeb, 0xf8, 0x109, 0x110, 0x11b, 0x12a, 0x138, 0x142, 0x144, 0x149, 0x14c, 0x14f, 0x151, 0x15d, 0x168, 0x170, 0x176, 0x17c, 0x181, 0x186, 0x189, 0x18d, 0x193, 0x198, 0x1a4, 0x1ae, 0x1b4, 0x1c5, 0x1cf, 0x1d2, 0x1da, 0x1dd, 0x1ea, 0x1f2, 0x1f6, 0x1fd, 0x205, 0x215, 0x221, 0x223, 0x22d, 0x239, 0x245, 0x251, 0x259, 0x25e, 0x268, 0x279, 0x27d, 0x288, 0x28c, 0x295, 0x29d, 0x2a3, 0x2a8, 0x2ab, 0x2af, 0x2b5, 0x2b9, 0x2bd, 0x2c3, 0x2ca, 0x2d0, 0x2d8, 0x2df, 0x2ea, 0x2f4, 0x2f8, 0x2fb, 0x301, 0x305, 0x307, 0x30a, 0x30c, 0x30f, 0x319, 0x31c, 0x32b, 0x32f, 0x334, 0x337, 0x33b, 0x340, 0x345, 0x34b, 0x351, 0x360, 0x366, 0x36a, 0x379, 0x37e, 0x386, 0x390, 0x39b, 0x3a3, 0x3b4, 0x3bd, 0x3cd, 0x3da, 0x3e4, 0x3e9, 0x3f6, 0x3fa, 0x3ff, 0x401, 0x405, 0x407, 0x40b, 0x414, 0x41a, 0x41e, 0x42e, 0x438, 0x43d, 0x440, 0x446, 0x44d, 0x452, 0x456, 0x45c, 0x461, 0x46a, 0x46f, 0x475, 0x47c, 0x483, 0x48a, 0x48e, 0x493, 0x496, 0x49b, 0x4a7, 0x4ad, 0x4b2, 0x4b9, 0x4c1, 0x4c6, 0x4ca, 0x4da, 0x4e1, 0x4e5, 0x4e9, 0x4f0, 0x4f2, 0x4f5, 0x4f8, 0x4fc, 0x500, 0x506, 0x50f, 0x51b, 0x522, 0x52b, 0x533, 0x53a, 0x548, 0x555, 0x562, 0x56b, 0x56f, 0x57d, 0x585, 0x590, 0x599, 0x59f, 0x5a7, 0x5b0, 0x5ba, 0x5bd, 0x5c9, 0x5cc, 0x5d1, 0x5de, 0x5e7, 0x5f3, 0x5f6, 0x600, 0x609, 0x615, 0x622, 0x62a, 0x62d, 0x632, 0x635, 0x638, 0x63b, 0x642, 0x649, 0x64d, 0x658, 0x65b, 0x661, 0x666, 0x66a, 0x66d, 0x670, 0x673, 0x676, 0x679, 0x67e, 0x688, 0x68b, 0x68f, 0x69e, 0x6aa, 0x6ae, 0x6b3, 0x6b8, 0x6bc, 0x6c1, 0x6ca, 0x6d5, 0x6db, 0x6e3, 0x6e7, 0x6eb, 0x6f1, 0x6f7, 0x6fc, 0x6ff, 0x70f, 0x716, 0x719, 0x71c, 0x720, 0x726, 0x72b, 0x730, 0x735, 0x738, 0x73d, 0x740, 0x743, 0x747, 0x74b, 0x74e, 0x75e, 0x76f, 0x774, 0x776, 0x778}\n\n// idnaSparseValues: 1915 entries, 7660 bytes\nvar idnaSparseValues = [1915]valueRange{\n\t// Block 0x0, offset 0x0\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xe105, lo: 0x80, hi: 0x96},\n\t{value: 0x0018, lo: 0x97, hi: 0x97},\n\t{value: 0xe105, lo: 0x98, hi: 0x9e},\n\t{value: 0x001f, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xb6},\n\t{value: 0x0018, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0008, lo: 0xb8, hi: 0xbf},\n\t// Block 0x1, offset 0x8\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0xe01d, lo: 0x81, hi: 0x81},\n\t{value: 0x0008, lo: 0x82, hi: 0x82},\n\t{value: 0x0335, lo: 0x83, hi: 0x83},\n\t{value: 0x034d, lo: 0x84, hi: 0x84},\n\t{value: 0x0365, lo: 0x85, hi: 0x85},\n\t{value: 0xe00d, lo: 0x86, hi: 0x86},\n\t{value: 0x0008, lo: 0x87, hi: 0x87},\n\t{value: 0xe00d, lo: 0x88, hi: 0x88},\n\t{value: 0x0008, lo: 0x89, hi: 0x89},\n\t{value: 0xe00d, lo: 0x8a, hi: 0x8a},\n\t{value: 0x0008, lo: 0x8b, hi: 0x8b},\n\t{value: 0xe00d, lo: 0x8c, hi: 0x8c},\n\t{value: 0x0008, lo: 0x8d, hi: 0x8d},\n\t{value: 0xe00d, lo: 0x8e, hi: 0x8e},\n\t{value: 0x0008, lo: 0x8f, hi: 0xbf},\n\t// Block 0x2, offset 0x19\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0xaf},\n\t{value: 0x0249, lo: 0xb0, hi: 0xb0},\n\t{value: 0x037d, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0259, lo: 0xb2, hi: 0xb2},\n\t{value: 0x0269, lo: 0xb3, hi: 0xb3},\n\t{value: 0x034d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x0395, lo: 0xb5, hi: 0xb5},\n\t{value: 0xe1bd, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0279, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0289, lo: 0xb8, hi: 0xb8},\n\t{value: 0x0008, lo: 0xb9, hi: 0xbf},\n\t// Block 0x3, offset 0x25\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x3308, lo: 0x80, hi: 0xbf},\n\t// Block 0x4, offset 0x27\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x03f5, lo: 0x80, hi: 0x8f},\n\t{value: 0xe105, lo: 0x90, hi: 0x9f},\n\t{value: 0x049d, lo: 0xa0, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x5, offset 0x2c\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xe185, lo: 0x80, hi: 0x8f},\n\t{value: 0x0545, lo: 0x90, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x98},\n\t{value: 0x0008, lo: 0x99, hi: 0x99},\n\t{value: 0x0018, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0008, lo: 0xa1, hi: 0xbf},\n\t// Block 0x6, offset 0x34\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x0401, lo: 0x87, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x88},\n\t{value: 0x0018, lo: 0x89, hi: 0x8a},\n\t{value: 0x0040, lo: 0x8b, hi: 0x8c},\n\t{value: 0x0018, lo: 0x8d, hi: 0x8f},\n\t{value: 0x0040, lo: 0x90, hi: 0x90},\n\t{value: 0x3308, lo: 0x91, hi: 0xbd},\n\t{value: 0x0818, lo: 0xbe, hi: 0xbe},\n\t{value: 0x3308, lo: 0xbf, hi: 0xbf},\n\t// Block 0x7, offset 0x3f\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0818, lo: 0x80, hi: 0x80},\n\t{value: 0x3308, lo: 0x81, hi: 0x82},\n\t{value: 0x0818, lo: 0x83, hi: 0x83},\n\t{value: 0x3308, lo: 0x84, hi: 0x85},\n\t{value: 0x0818, lo: 0x86, hi: 0x86},\n\t{value: 0x3308, lo: 0x87, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0808, lo: 0x90, hi: 0xaa},\n\t{value: 0x0040, lo: 0xab, hi: 0xaf},\n\t{value: 0x0808, lo: 0xb0, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xbf},\n\t// Block 0x8, offset 0x4b\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0a08, lo: 0x80, hi: 0x87},\n\t{value: 0x0c08, lo: 0x88, hi: 0x99},\n\t{value: 0x0a08, lo: 0x9a, hi: 0xbf},\n\t// Block 0x9, offset 0x4f\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x3308, lo: 0x80, hi: 0x8a},\n\t{value: 0x0040, lo: 0x8b, hi: 0x8c},\n\t{value: 0x0c08, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0a08, lo: 0x8e, hi: 0x98},\n\t{value: 0x0c08, lo: 0x99, hi: 0x9b},\n\t{value: 0x0a08, lo: 0x9c, hi: 0xaa},\n\t{value: 0x0c08, lo: 0xab, hi: 0xac},\n\t{value: 0x0a08, lo: 0xad, hi: 0xb0},\n\t{value: 0x0c08, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0a08, lo: 0xb2, hi: 0xb2},\n\t{value: 0x0c08, lo: 0xb3, hi: 0xb4},\n\t{value: 0x0a08, lo: 0xb5, hi: 0xb7},\n\t{value: 0x0c08, lo: 0xb8, hi: 0xb9},\n\t{value: 0x0a08, lo: 0xba, hi: 0xbf},\n\t// Block 0xa, offset 0x5e\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0808, lo: 0x80, hi: 0xa5},\n\t{value: 0x3308, lo: 0xa6, hi: 0xb0},\n\t{value: 0x0808, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0040, lo: 0xb2, hi: 0xbf},\n\t// Block 0xb, offset 0x63\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0808, lo: 0x80, hi: 0x89},\n\t{value: 0x0a08, lo: 0x8a, hi: 0xaa},\n\t{value: 0x3308, lo: 0xab, hi: 0xb3},\n\t{value: 0x0808, lo: 0xb4, hi: 0xb5},\n\t{value: 0x0018, lo: 0xb6, hi: 0xb9},\n\t{value: 0x0818, lo: 0xba, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbf},\n\t// Block 0xc, offset 0x6b\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0808, lo: 0x80, hi: 0x95},\n\t{value: 0x3308, lo: 0x96, hi: 0x99},\n\t{value: 0x0808, lo: 0x9a, hi: 0x9a},\n\t{value: 0x3308, lo: 0x9b, hi: 0xa3},\n\t{value: 0x0808, lo: 0xa4, hi: 0xa4},\n\t{value: 0x3308, lo: 0xa5, hi: 0xa7},\n\t{value: 0x0808, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3308, lo: 0xa9, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xaf},\n\t{value: 0x0818, lo: 0xb0, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0xd, offset 0x77\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x0040, lo: 0x80, hi: 0x9f},\n\t{value: 0x0a08, lo: 0xa0, hi: 0xa9},\n\t{value: 0x0c08, lo: 0xaa, hi: 0xac},\n\t{value: 0x0808, lo: 0xad, hi: 0xad},\n\t{value: 0x0c08, lo: 0xae, hi: 0xae},\n\t{value: 0x0a08, lo: 0xaf, hi: 0xb0},\n\t{value: 0x0c08, lo: 0xb1, hi: 0xb2},\n\t{value: 0x0a08, lo: 0xb3, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xb5},\n\t{value: 0x0a08, lo: 0xb6, hi: 0xb8},\n\t{value: 0x0c08, lo: 0xb9, hi: 0xb9},\n\t{value: 0x0a08, lo: 0xba, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbf},\n\t// Block 0xe, offset 0x85\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0040, lo: 0x80, hi: 0x93},\n\t{value: 0x3308, lo: 0x94, hi: 0xa1},\n\t{value: 0x0840, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3308, lo: 0xa3, hi: 0xbf},\n\t// Block 0xf, offset 0x8a\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x3308, lo: 0x80, hi: 0x82},\n\t{value: 0x3008, lo: 0x83, hi: 0x83},\n\t{value: 0x0008, lo: 0x84, hi: 0xb9},\n\t{value: 0x3308, lo: 0xba, hi: 0xba},\n\t{value: 0x3008, lo: 0xbb, hi: 0xbb},\n\t{value: 0x3308, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbf},\n\t// Block 0x10, offset 0x93\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0x3308, lo: 0x80, hi: 0x80},\n\t{value: 0x3008, lo: 0x81, hi: 0x82},\n\t{value: 0x0040, lo: 0x83, hi: 0x85},\n\t{value: 0x3008, lo: 0x86, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x3008, lo: 0x8a, hi: 0x8c},\n\t{value: 0x3b08, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x90},\n\t{value: 0x0040, lo: 0x91, hi: 0x96},\n\t{value: 0x3008, lo: 0x97, hi: 0x97},\n\t{value: 0x0040, lo: 0x98, hi: 0xa5},\n\t{value: 0x0008, lo: 0xa6, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbf},\n\t// Block 0x11, offset 0xa3\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x3308, lo: 0x80, hi: 0x80},\n\t{value: 0x3008, lo: 0x81, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x84},\n\t{value: 0x0008, lo: 0x85, hi: 0x8c},\n\t{value: 0x0040, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0008, lo: 0x8e, hi: 0x90},\n\t{value: 0x0040, lo: 0x91, hi: 0x91},\n\t{value: 0x0008, lo: 0x92, hi: 0xa8},\n\t{value: 0x0040, lo: 0xa9, hi: 0xa9},\n\t{value: 0x0008, lo: 0xaa, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbd},\n\t{value: 0x3308, lo: 0xbe, hi: 0xbf},\n\t// Block 0x12, offset 0xb1\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x3308, lo: 0x80, hi: 0x81},\n\t{value: 0x3008, lo: 0x82, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x84},\n\t{value: 0x0008, lo: 0x85, hi: 0x8c},\n\t{value: 0x0040, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0008, lo: 0x8e, hi: 0x90},\n\t{value: 0x0040, lo: 0x91, hi: 0x91},\n\t{value: 0x0008, lo: 0x92, hi: 0xba},\n\t{value: 0x3b08, lo: 0xbb, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbf},\n\t// Block 0x13, offset 0xbd\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0040, lo: 0x80, hi: 0x81},\n\t{value: 0x3008, lo: 0x82, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x84},\n\t{value: 0x0008, lo: 0x85, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x99},\n\t{value: 0x0008, lo: 0x9a, hi: 0xb1},\n\t{value: 0x0040, lo: 0xb2, hi: 0xb2},\n\t{value: 0x0008, lo: 0xb3, hi: 0xbb},\n\t{value: 0x0040, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbf},\n\t// Block 0x14, offset 0xc9\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x89},\n\t{value: 0x3b08, lo: 0x8a, hi: 0x8a},\n\t{value: 0x0040, lo: 0x8b, hi: 0x8e},\n\t{value: 0x3008, lo: 0x8f, hi: 0x91},\n\t{value: 0x3308, lo: 0x92, hi: 0x94},\n\t{value: 0x0040, lo: 0x95, hi: 0x95},\n\t{value: 0x3308, lo: 0x96, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x97},\n\t{value: 0x3008, lo: 0x98, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xa5},\n\t{value: 0x0008, lo: 0xa6, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xb1},\n\t{value: 0x3008, lo: 0xb2, hi: 0xb3},\n\t{value: 0x0018, lo: 0xb4, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xbf},\n\t// Block 0x15, offset 0xda\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0040, lo: 0x80, hi: 0x80},\n\t{value: 0x0008, lo: 0x81, hi: 0xb0},\n\t{value: 0x3308, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0008, lo: 0xb2, hi: 0xb2},\n\t{value: 0x08f1, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3308, lo: 0xb4, hi: 0xb9},\n\t{value: 0x3b08, lo: 0xba, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbe},\n\t{value: 0x0018, lo: 0xbf, hi: 0xbf},\n\t// Block 0x16, offset 0xe4\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x3308, lo: 0x87, hi: 0x8e},\n\t{value: 0x0018, lo: 0x8f, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0018, lo: 0x9a, hi: 0x9b},\n\t{value: 0x0040, lo: 0x9c, hi: 0xbf},\n\t// Block 0x17, offset 0xeb\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0x84},\n\t{value: 0x0040, lo: 0x85, hi: 0x85},\n\t{value: 0x0008, lo: 0x86, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x87},\n\t{value: 0x3308, lo: 0x88, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9b},\n\t{value: 0x0961, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0999, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0008, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xbf},\n\t// Block 0x18, offset 0xf8\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x8a},\n\t{value: 0x0008, lo: 0x8b, hi: 0x8b},\n\t{value: 0xe03d, lo: 0x8c, hi: 0x8c},\n\t{value: 0x0018, lo: 0x8d, hi: 0x97},\n\t{value: 0x3308, lo: 0x98, hi: 0x99},\n\t{value: 0x0018, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa9},\n\t{value: 0x0018, lo: 0xaa, hi: 0xb4},\n\t{value: 0x3308, lo: 0xb5, hi: 0xb5},\n\t{value: 0x0018, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3308, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0018, lo: 0xb8, hi: 0xb8},\n\t{value: 0x3308, lo: 0xb9, hi: 0xb9},\n\t{value: 0x0018, lo: 0xba, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbf},\n\t// Block 0x19, offset 0x109\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0018, lo: 0x80, hi: 0x85},\n\t{value: 0x3308, lo: 0x86, hi: 0x86},\n\t{value: 0x0018, lo: 0x87, hi: 0x8c},\n\t{value: 0x0040, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0018, lo: 0x8e, hi: 0x9a},\n\t{value: 0x0040, lo: 0x9b, hi: 0xbf},\n\t// Block 0x1a, offset 0x110\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x0008, lo: 0x80, hi: 0xaa},\n\t{value: 0x3008, lo: 0xab, hi: 0xac},\n\t{value: 0x3308, lo: 0xad, hi: 0xb0},\n\t{value: 0x3008, lo: 0xb1, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb7},\n\t{value: 0x3008, lo: 0xb8, hi: 0xb8},\n\t{value: 0x3b08, lo: 0xb9, hi: 0xba},\n\t{value: 0x3008, lo: 0xbb, hi: 0xbc},\n\t{value: 0x3308, lo: 0xbd, hi: 0xbe},\n\t{value: 0x0008, lo: 0xbf, hi: 0xbf},\n\t// Block 0x1b, offset 0x11b\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x0008, lo: 0x80, hi: 0x89},\n\t{value: 0x0018, lo: 0x8a, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x95},\n\t{value: 0x3008, lo: 0x96, hi: 0x97},\n\t{value: 0x3308, lo: 0x98, hi: 0x99},\n\t{value: 0x0008, lo: 0x9a, hi: 0x9d},\n\t{value: 0x3308, lo: 0x9e, hi: 0xa0},\n\t{value: 0x0008, lo: 0xa1, hi: 0xa1},\n\t{value: 0x3008, lo: 0xa2, hi: 0xa4},\n\t{value: 0x0008, lo: 0xa5, hi: 0xa6},\n\t{value: 0x3008, lo: 0xa7, hi: 0xad},\n\t{value: 0x0008, lo: 0xae, hi: 0xb0},\n\t{value: 0x3308, lo: 0xb1, hi: 0xb4},\n\t{value: 0x0008, lo: 0xb5, hi: 0xbf},\n\t// Block 0x1c, offset 0x12a\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x0008, lo: 0x80, hi: 0x81},\n\t{value: 0x3308, lo: 0x82, hi: 0x82},\n\t{value: 0x3008, lo: 0x83, hi: 0x84},\n\t{value: 0x3308, lo: 0x85, hi: 0x86},\n\t{value: 0x3008, lo: 0x87, hi: 0x8c},\n\t{value: 0x3308, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0008, lo: 0x8e, hi: 0x8e},\n\t{value: 0x3008, lo: 0x8f, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x3008, lo: 0x9a, hi: 0x9c},\n\t{value: 0x3308, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0018, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xbf},\n\t// Block 0x1d, offset 0x138\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0040, lo: 0x80, hi: 0x86},\n\t{value: 0x055d, lo: 0x87, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8c},\n\t{value: 0x055d, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xba},\n\t{value: 0x0018, lo: 0xbb, hi: 0xbb},\n\t{value: 0xe105, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbf},\n\t// Block 0x1e, offset 0x142\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0018, lo: 0x80, hi: 0xbf},\n\t// Block 0x1f, offset 0x144\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0xa0},\n\t{value: 0x2018, lo: 0xa1, hi: 0xb5},\n\t{value: 0x0018, lo: 0xb6, hi: 0xbf},\n\t// Block 0x20, offset 0x149\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0xa7},\n\t{value: 0x2018, lo: 0xa8, hi: 0xbf},\n\t// Block 0x21, offset 0x14c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x2018, lo: 0x80, hi: 0x82},\n\t{value: 0x0018, lo: 0x83, hi: 0xbf},\n\t// Block 0x22, offset 0x14f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0008, lo: 0x80, hi: 0xbf},\n\t// Block 0x23, offset 0x151\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x0008, lo: 0x8a, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x97},\n\t{value: 0x0008, lo: 0x98, hi: 0x98},\n\t{value: 0x0040, lo: 0x99, hi: 0x99},\n\t{value: 0x0008, lo: 0x9a, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x24, offset 0x15d\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x0008, lo: 0x80, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x0008, lo: 0x8a, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xb0},\n\t{value: 0x0040, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0008, lo: 0xb2, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xb7},\n\t{value: 0x0008, lo: 0xb8, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0x25, offset 0x168\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0x0040, lo: 0x81, hi: 0x81},\n\t{value: 0x0008, lo: 0x82, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0x87},\n\t{value: 0x0008, lo: 0x88, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x97},\n\t{value: 0x0008, lo: 0x98, hi: 0xbf},\n\t// Block 0x26, offset 0x170\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0x90},\n\t{value: 0x0040, lo: 0x91, hi: 0x91},\n\t{value: 0x0008, lo: 0x92, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0x97},\n\t{value: 0x0008, lo: 0x98, hi: 0xbf},\n\t// Block 0x27, offset 0x176\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0x9a},\n\t{value: 0x0040, lo: 0x9b, hi: 0x9c},\n\t{value: 0x3308, lo: 0x9d, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xbc},\n\t{value: 0x0040, lo: 0xbd, hi: 0xbf},\n\t// Block 0x28, offset 0x17c\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x29, offset 0x181\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xb7},\n\t{value: 0xe045, lo: 0xb8, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbf},\n\t// Block 0x2a, offset 0x186\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0x80},\n\t{value: 0x0008, lo: 0x81, hi: 0xbf},\n\t// Block 0x2b, offset 0x189\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xac},\n\t{value: 0x0018, lo: 0xad, hi: 0xae},\n\t{value: 0x0008, lo: 0xaf, hi: 0xbf},\n\t// Block 0x2c, offset 0x18d\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0040, lo: 0x80, hi: 0x80},\n\t{value: 0x0008, lo: 0x81, hi: 0x9a},\n\t{value: 0x0018, lo: 0x9b, hi: 0x9c},\n\t{value: 0x0040, lo: 0x9d, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x2d, offset 0x193\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0xaa},\n\t{value: 0x0018, lo: 0xab, hi: 0xb0},\n\t{value: 0x0008, lo: 0xb1, hi: 0xb8},\n\t{value: 0x0040, lo: 0xb9, hi: 0xbf},\n\t// Block 0x2e, offset 0x198\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0x8c},\n\t{value: 0x0040, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0008, lo: 0x8e, hi: 0x91},\n\t{value: 0x3308, lo: 0x92, hi: 0x93},\n\t{value: 0x3b08, lo: 0x94, hi: 0x94},\n\t{value: 0x0040, lo: 0x95, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb3},\n\t{value: 0x3b08, lo: 0xb4, hi: 0xb4},\n\t{value: 0x0018, lo: 0xb5, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xbf},\n\t// Block 0x2f, offset 0x1a4\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x91},\n\t{value: 0x3308, lo: 0x92, hi: 0x93},\n\t{value: 0x0040, lo: 0x94, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xac},\n\t{value: 0x0040, lo: 0xad, hi: 0xad},\n\t{value: 0x0008, lo: 0xae, hi: 0xb0},\n\t{value: 0x0040, lo: 0xb1, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xbf},\n\t// Block 0x30, offset 0x1ae\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0xb3},\n\t{value: 0x3340, lo: 0xb4, hi: 0xb5},\n\t{value: 0x3008, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3308, lo: 0xb7, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbf},\n\t// Block 0x31, offset 0x1b4\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x3008, lo: 0x80, hi: 0x85},\n\t{value: 0x3308, lo: 0x86, hi: 0x86},\n\t{value: 0x3008, lo: 0x87, hi: 0x88},\n\t{value: 0x3308, lo: 0x89, hi: 0x91},\n\t{value: 0x3b08, lo: 0x92, hi: 0x92},\n\t{value: 0x3308, lo: 0x93, hi: 0x93},\n\t{value: 0x0018, lo: 0x94, hi: 0x96},\n\t{value: 0x0008, lo: 0x97, hi: 0x97},\n\t{value: 0x0018, lo: 0x98, hi: 0x9b},\n\t{value: 0x0008, lo: 0x9c, hi: 0x9c},\n\t{value: 0x3308, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa9},\n\t{value: 0x0040, lo: 0xaa, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbf},\n\t// Block 0x32, offset 0x1c5\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0018, lo: 0x80, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0x86},\n\t{value: 0x0218, lo: 0x87, hi: 0x87},\n\t{value: 0x0018, lo: 0x88, hi: 0x8a},\n\t{value: 0x33c0, lo: 0x8b, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0208, lo: 0xa0, hi: 0xbf},\n\t// Block 0x33, offset 0x1cf\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0208, lo: 0x80, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xbf},\n\t// Block 0x34, offset 0x1d2\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0x84},\n\t{value: 0x3308, lo: 0x85, hi: 0x86},\n\t{value: 0x0208, lo: 0x87, hi: 0xa8},\n\t{value: 0x3308, lo: 0xa9, hi: 0xa9},\n\t{value: 0x0208, lo: 0xaa, hi: 0xaa},\n\t{value: 0x0040, lo: 0xab, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x35, offset 0x1da\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xbf},\n\t// Block 0x36, offset 0x1dd\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0x9f},\n\t{value: 0x3308, lo: 0xa0, hi: 0xa2},\n\t{value: 0x3008, lo: 0xa3, hi: 0xa6},\n\t{value: 0x3308, lo: 0xa7, hi: 0xa8},\n\t{value: 0x3008, lo: 0xa9, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xaf},\n\t{value: 0x3008, lo: 0xb0, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb2},\n\t{value: 0x3008, lo: 0xb3, hi: 0xb8},\n\t{value: 0x3308, lo: 0xb9, hi: 0xbb},\n\t{value: 0x0040, lo: 0xbc, hi: 0xbf},\n\t// Block 0x37, offset 0x1ea\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0018, lo: 0x80, hi: 0x80},\n\t{value: 0x0040, lo: 0x81, hi: 0x83},\n\t{value: 0x0018, lo: 0x84, hi: 0x85},\n\t{value: 0x0008, lo: 0x86, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xbf},\n\t// Block 0x38, offset 0x1f2\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x39, offset 0x1f6\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0008, lo: 0x80, hi: 0x89},\n\t{value: 0x0040, lo: 0x8a, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0028, lo: 0x9a, hi: 0x9a},\n\t{value: 0x0040, lo: 0x9b, hi: 0x9d},\n\t{value: 0x0018, lo: 0x9e, hi: 0xbf},\n\t// Block 0x3a, offset 0x1fd\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0x96},\n\t{value: 0x3308, lo: 0x97, hi: 0x98},\n\t{value: 0x3008, lo: 0x99, hi: 0x9a},\n\t{value: 0x3308, lo: 0x9b, hi: 0x9b},\n\t{value: 0x0040, lo: 0x9c, hi: 0x9d},\n\t{value: 0x0018, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x3b, offset 0x205\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0x0008, lo: 0x80, hi: 0x94},\n\t{value: 0x3008, lo: 0x95, hi: 0x95},\n\t{value: 0x3308, lo: 0x96, hi: 0x96},\n\t{value: 0x3008, lo: 0x97, hi: 0x97},\n\t{value: 0x3308, lo: 0x98, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0x9f},\n\t{value: 0x3b08, lo: 0xa0, hi: 0xa0},\n\t{value: 0x3008, lo: 0xa1, hi: 0xa1},\n\t{value: 0x3308, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3008, lo: 0xa3, hi: 0xa4},\n\t{value: 0x3308, lo: 0xa5, hi: 0xac},\n\t{value: 0x3008, lo: 0xad, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xbc},\n\t{value: 0x0040, lo: 0xbd, hi: 0xbe},\n\t{value: 0x3308, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3c, offset 0x215\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0x89},\n\t{value: 0x0040, lo: 0x8a, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xa6},\n\t{value: 0x0008, lo: 0xa7, hi: 0xa7},\n\t{value: 0x0018, lo: 0xa8, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xbd},\n\t{value: 0x3318, lo: 0xbe, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3d, offset 0x221\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0040, lo: 0x80, hi: 0xbf},\n\t// Block 0x3e, offset 0x223\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x3308, lo: 0x80, hi: 0x83},\n\t{value: 0x3008, lo: 0x84, hi: 0x84},\n\t{value: 0x0008, lo: 0x85, hi: 0xb3},\n\t{value: 0x3308, lo: 0xb4, hi: 0xb4},\n\t{value: 0x3008, lo: 0xb5, hi: 0xb5},\n\t{value: 0x3308, lo: 0xb6, hi: 0xba},\n\t{value: 0x3008, lo: 0xbb, hi: 0xbb},\n\t{value: 0x3308, lo: 0xbc, hi: 0xbc},\n\t{value: 0x3008, lo: 0xbd, hi: 0xbf},\n\t// Block 0x3f, offset 0x22d\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x3008, lo: 0x80, hi: 0x81},\n\t{value: 0x3308, lo: 0x82, hi: 0x82},\n\t{value: 0x3008, lo: 0x83, hi: 0x83},\n\t{value: 0x3808, lo: 0x84, hi: 0x84},\n\t{value: 0x0008, lo: 0x85, hi: 0x8b},\n\t{value: 0x0040, lo: 0x8c, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0018, lo: 0x9a, hi: 0xaa},\n\t{value: 0x3308, lo: 0xab, hi: 0xb3},\n\t{value: 0x0018, lo: 0xb4, hi: 0xbc},\n\t{value: 0x0040, lo: 0xbd, hi: 0xbf},\n\t// Block 0x40, offset 0x239\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x3308, lo: 0x80, hi: 0x81},\n\t{value: 0x3008, lo: 0x82, hi: 0x82},\n\t{value: 0x0008, lo: 0x83, hi: 0xa0},\n\t{value: 0x3008, lo: 0xa1, hi: 0xa1},\n\t{value: 0x3308, lo: 0xa2, hi: 0xa5},\n\t{value: 0x3008, lo: 0xa6, hi: 0xa7},\n\t{value: 0x3308, lo: 0xa8, hi: 0xa9},\n\t{value: 0x3808, lo: 0xaa, hi: 0xaa},\n\t{value: 0x3b08, lo: 0xab, hi: 0xab},\n\t{value: 0x3308, lo: 0xac, hi: 0xad},\n\t{value: 0x0008, lo: 0xae, hi: 0xbf},\n\t// Block 0x41, offset 0x245\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0xa5},\n\t{value: 0x3308, lo: 0xa6, hi: 0xa6},\n\t{value: 0x3008, lo: 0xa7, hi: 0xa7},\n\t{value: 0x3308, lo: 0xa8, hi: 0xa9},\n\t{value: 0x3008, lo: 0xaa, hi: 0xac},\n\t{value: 0x3308, lo: 0xad, hi: 0xad},\n\t{value: 0x3008, lo: 0xae, hi: 0xae},\n\t{value: 0x3308, lo: 0xaf, hi: 0xb1},\n\t{value: 0x3808, lo: 0xb2, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xbb},\n\t{value: 0x0018, lo: 0xbc, hi: 0xbf},\n\t// Block 0x42, offset 0x251\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0xa3},\n\t{value: 0x3008, lo: 0xa4, hi: 0xab},\n\t{value: 0x3308, lo: 0xac, hi: 0xb3},\n\t{value: 0x3008, lo: 0xb4, hi: 0xb5},\n\t{value: 0x3308, lo: 0xb6, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xba},\n\t{value: 0x0018, lo: 0xbb, hi: 0xbf},\n\t// Block 0x43, offset 0x259\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x89},\n\t{value: 0x0040, lo: 0x8a, hi: 0x8c},\n\t{value: 0x0008, lo: 0x8d, hi: 0xbd},\n\t{value: 0x0018, lo: 0xbe, hi: 0xbf},\n\t// Block 0x44, offset 0x25e\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0e29, lo: 0x80, hi: 0x80},\n\t{value: 0x0e41, lo: 0x81, hi: 0x81},\n\t{value: 0x0e59, lo: 0x82, hi: 0x82},\n\t{value: 0x0e71, lo: 0x83, hi: 0x83},\n\t{value: 0x0e89, lo: 0x84, hi: 0x85},\n\t{value: 0x0ea1, lo: 0x86, hi: 0x86},\n\t{value: 0x0eb9, lo: 0x87, hi: 0x87},\n\t{value: 0x057d, lo: 0x88, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0xbf},\n\t// Block 0x45, offset 0x268\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x0018, lo: 0x80, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x3308, lo: 0x90, hi: 0x92},\n\t{value: 0x0018, lo: 0x93, hi: 0x93},\n\t{value: 0x3308, lo: 0x94, hi: 0xa0},\n\t{value: 0x3008, lo: 0xa1, hi: 0xa1},\n\t{value: 0x3308, lo: 0xa2, hi: 0xa8},\n\t{value: 0x0008, lo: 0xa9, hi: 0xac},\n\t{value: 0x3308, lo: 0xad, hi: 0xad},\n\t{value: 0x0008, lo: 0xae, hi: 0xb1},\n\t{value: 0x3008, lo: 0xb2, hi: 0xb3},\n\t{value: 0x3308, lo: 0xb4, hi: 0xb4},\n\t{value: 0x0008, lo: 0xb5, hi: 0xb6},\n\t{value: 0x3008, lo: 0xb7, hi: 0xb7},\n\t{value: 0x3308, lo: 0xb8, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbf},\n\t// Block 0x46, offset 0x279\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x3308, lo: 0x80, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xba},\n\t{value: 0x3308, lo: 0xbb, hi: 0xbf},\n\t// Block 0x47, offset 0x27d\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x0008, lo: 0x80, hi: 0x87},\n\t{value: 0xe045, lo: 0x88, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0x97},\n\t{value: 0xe045, lo: 0x98, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa7},\n\t{value: 0xe045, lo: 0xa8, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb7},\n\t{value: 0xe045, lo: 0xb8, hi: 0xbf},\n\t// Block 0x48, offset 0x288\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0040, lo: 0x80, hi: 0x8f},\n\t{value: 0x3318, lo: 0x90, hi: 0xb0},\n\t{value: 0x0040, lo: 0xb1, hi: 0xbf},\n\t// Block 0x49, offset 0x28c\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0018, lo: 0x80, hi: 0x82},\n\t{value: 0x0040, lo: 0x83, hi: 0x83},\n\t{value: 0x0008, lo: 0x84, hi: 0x84},\n\t{value: 0x0018, lo: 0x85, hi: 0x88},\n\t{value: 0x24c1, lo: 0x89, hi: 0x89},\n\t{value: 0x0018, lo: 0x8a, hi: 0x8b},\n\t{value: 0x0040, lo: 0x8c, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xbf},\n\t// Block 0x4a, offset 0x295\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0018, lo: 0x80, hi: 0xab},\n\t{value: 0x24f1, lo: 0xac, hi: 0xac},\n\t{value: 0x2529, lo: 0xad, hi: 0xad},\n\t{value: 0x0018, lo: 0xae, hi: 0xae},\n\t{value: 0x2579, lo: 0xaf, hi: 0xaf},\n\t{value: 0x25b1, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0018, lo: 0xb1, hi: 0xbf},\n\t// Block 0x4b, offset 0x29d\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0x9f},\n\t{value: 0x0080, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0018, lo: 0xa1, hi: 0xad},\n\t{value: 0x0080, lo: 0xae, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xbf},\n\t// Block 0x4c, offset 0x2a3\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0xa8},\n\t{value: 0x09c5, lo: 0xa9, hi: 0xa9},\n\t{value: 0x09e5, lo: 0xaa, hi: 0xaa},\n\t{value: 0x0018, lo: 0xab, hi: 0xbf},\n\t// Block 0x4d, offset 0x2a8\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0xa6},\n\t{value: 0x0040, lo: 0xa7, hi: 0xbf},\n\t// Block 0x4e, offset 0x2ab\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0x8b},\n\t{value: 0x28c1, lo: 0x8c, hi: 0x8c},\n\t{value: 0x0018, lo: 0x8d, hi: 0xbf},\n\t// Block 0x4f, offset 0x2af\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0xb3},\n\t{value: 0x0e66, lo: 0xb4, hi: 0xb4},\n\t{value: 0x292a, lo: 0xb5, hi: 0xb5},\n\t{value: 0x0e86, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0018, lo: 0xb7, hi: 0xbf},\n\t// Block 0x50, offset 0x2b5\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0x9b},\n\t{value: 0x2941, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0018, lo: 0x9d, hi: 0xbf},\n\t// Block 0x51, offset 0x2b9\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xb5},\n\t{value: 0x0018, lo: 0xb6, hi: 0xbf},\n\t// Block 0x52, offset 0x2bd\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0x97},\n\t{value: 0x0018, lo: 0x98, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbc},\n\t{value: 0x0018, lo: 0xbd, hi: 0xbf},\n\t// Block 0x53, offset 0x2c3\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0018, lo: 0x80, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x0018, lo: 0x8a, hi: 0x92},\n\t{value: 0x0040, lo: 0x93, hi: 0xab},\n\t{value: 0x0018, lo: 0xac, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbf},\n\t// Block 0x54, offset 0x2ca\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xe185, lo: 0x80, hi: 0x8f},\n\t{value: 0x03f5, lo: 0x90, hi: 0x9f},\n\t{value: 0x0ea5, lo: 0xa0, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x55, offset 0x2d0\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0xa5},\n\t{value: 0x0040, lo: 0xa6, hi: 0xa6},\n\t{value: 0x0008, lo: 0xa7, hi: 0xa7},\n\t{value: 0x0040, lo: 0xa8, hi: 0xac},\n\t{value: 0x0008, lo: 0xad, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x56, offset 0x2d8\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0008, lo: 0x80, hi: 0xa7},\n\t{value: 0x0040, lo: 0xa8, hi: 0xae},\n\t{value: 0xe075, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0040, lo: 0xb1, hi: 0xbe},\n\t{value: 0x3b08, lo: 0xbf, hi: 0xbf},\n\t// Block 0x57, offset 0x2df\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x0008, lo: 0x80, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa6},\n\t{value: 0x0040, lo: 0xa7, hi: 0xa7},\n\t{value: 0x0008, lo: 0xa8, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0008, lo: 0xb8, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0x58, offset 0x2ea\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x87},\n\t{value: 0x0008, lo: 0x88, hi: 0x8e},\n\t{value: 0x0040, lo: 0x8f, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x97},\n\t{value: 0x0008, lo: 0x98, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0x9f},\n\t{value: 0x3308, lo: 0xa0, hi: 0xbf},\n\t// Block 0x59, offset 0x2f4\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0xae},\n\t{value: 0x0008, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xbf},\n\t// Block 0x5a, offset 0x2f8\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0x89},\n\t{value: 0x0040, lo: 0x8a, hi: 0xbf},\n\t// Block 0x5b, offset 0x2fb\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9a},\n\t{value: 0x0018, lo: 0x9b, hi: 0x9e},\n\t{value: 0x0edd, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xbf},\n\t// Block 0x5c, offset 0x301\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0xb2},\n\t{value: 0x0efd, lo: 0xb3, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xbf},\n\t// Block 0x5d, offset 0x305\n\t{value: 0x0020, lo: 0x01},\n\t{value: 0x0f1d, lo: 0x80, hi: 0xbf},\n\t// Block 0x5e, offset 0x307\n\t{value: 0x0020, lo: 0x02},\n\t{value: 0x171d, lo: 0x80, hi: 0x8f},\n\t{value: 0x18fd, lo: 0x90, hi: 0xbf},\n\t// Block 0x5f, offset 0x30a\n\t{value: 0x0020, lo: 0x01},\n\t{value: 0x1efd, lo: 0x80, hi: 0xbf},\n\t// Block 0x60, offset 0x30c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0040, lo: 0x80, hi: 0x80},\n\t{value: 0x0008, lo: 0x81, hi: 0xbf},\n\t// Block 0x61, offset 0x30f\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x98},\n\t{value: 0x3308, lo: 0x99, hi: 0x9a},\n\t{value: 0x29e2, lo: 0x9b, hi: 0x9b},\n\t{value: 0x2a0a, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0008, lo: 0x9d, hi: 0x9e},\n\t{value: 0x2a31, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0008, lo: 0xa1, hi: 0xbf},\n\t// Block 0x62, offset 0x319\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xbe},\n\t{value: 0x2a69, lo: 0xbf, hi: 0xbf},\n\t// Block 0x63, offset 0x31c\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x0040, lo: 0x80, hi: 0x84},\n\t{value: 0x0008, lo: 0x85, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xb0},\n\t{value: 0x2a1d, lo: 0xb1, hi: 0xb1},\n\t{value: 0x2a3d, lo: 0xb2, hi: 0xb2},\n\t{value: 0x2a5d, lo: 0xb3, hi: 0xb3},\n\t{value: 0x2a7d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x2a5d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x2a9d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x2abd, lo: 0xb7, hi: 0xb7},\n\t{value: 0x2add, lo: 0xb8, hi: 0xb9},\n\t{value: 0x2afd, lo: 0xba, hi: 0xbb},\n\t{value: 0x2b1d, lo: 0xbc, hi: 0xbd},\n\t{value: 0x2afd, lo: 0xbe, hi: 0xbf},\n\t// Block 0x64, offset 0x32b\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0xa3},\n\t{value: 0x0040, lo: 0xa4, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x65, offset 0x32f\n\t{value: 0x0030, lo: 0x04},\n\t{value: 0x2aa2, lo: 0x80, hi: 0x9d},\n\t{value: 0x305a, lo: 0x9e, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0x9f},\n\t{value: 0x30a2, lo: 0xa0, hi: 0xbf},\n\t// Block 0x66, offset 0x334\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xaa},\n\t{value: 0x0040, lo: 0xab, hi: 0xbf},\n\t// Block 0x67, offset 0x337\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0x8c},\n\t{value: 0x0040, lo: 0x8d, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xbf},\n\t// Block 0x68, offset 0x33b\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xbd},\n\t{value: 0x0018, lo: 0xbe, hi: 0xbf},\n\t// Block 0x69, offset 0x340\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x8c},\n\t{value: 0x0018, lo: 0x8d, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xbf},\n\t// Block 0x6a, offset 0x345\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0xa5},\n\t{value: 0x0018, lo: 0xa6, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xb1},\n\t{value: 0x0018, lo: 0xb2, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xbf},\n\t// Block 0x6b, offset 0x34b\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0040, lo: 0x80, hi: 0xb6},\n\t{value: 0x0008, lo: 0xb7, hi: 0xb7},\n\t{value: 0x2009, lo: 0xb8, hi: 0xb8},\n\t{value: 0x6e89, lo: 0xb9, hi: 0xb9},\n\t{value: 0x0008, lo: 0xba, hi: 0xbf},\n\t// Block 0x6c, offset 0x351\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x0008, lo: 0x80, hi: 0x81},\n\t{value: 0x3308, lo: 0x82, hi: 0x82},\n\t{value: 0x0008, lo: 0x83, hi: 0x85},\n\t{value: 0x3b08, lo: 0x86, hi: 0x86},\n\t{value: 0x0008, lo: 0x87, hi: 0x8a},\n\t{value: 0x3308, lo: 0x8b, hi: 0x8b},\n\t{value: 0x0008, lo: 0x8c, hi: 0xa2},\n\t{value: 0x3008, lo: 0xa3, hi: 0xa4},\n\t{value: 0x3308, lo: 0xa5, hi: 0xa6},\n\t{value: 0x3008, lo: 0xa7, hi: 0xa7},\n\t{value: 0x0018, lo: 0xa8, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbf},\n\t// Block 0x6d, offset 0x360\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0208, lo: 0x80, hi: 0xb1},\n\t{value: 0x0108, lo: 0xb2, hi: 0xb2},\n\t{value: 0x0008, lo: 0xb3, hi: 0xb3},\n\t{value: 0x0018, lo: 0xb4, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xbf},\n\t// Block 0x6e, offset 0x366\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x3008, lo: 0x80, hi: 0x81},\n\t{value: 0x0008, lo: 0x82, hi: 0xb3},\n\t{value: 0x3008, lo: 0xb4, hi: 0xbf},\n\t// Block 0x6f, offset 0x36a\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x3008, lo: 0x80, hi: 0x83},\n\t{value: 0x3b08, lo: 0x84, hi: 0x84},\n\t{value: 0x3308, lo: 0x85, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0x8d},\n\t{value: 0x0018, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9f},\n\t{value: 0x3308, lo: 0xa0, hi: 0xb1},\n\t{value: 0x0008, lo: 0xb2, hi: 0xb7},\n\t{value: 0x0018, lo: 0xb8, hi: 0xba},\n\t{value: 0x0008, lo: 0xbb, hi: 0xbb},\n\t{value: 0x0018, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbf},\n\t// Block 0x70, offset 0x379\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0xa5},\n\t{value: 0x3308, lo: 0xa6, hi: 0xad},\n\t{value: 0x0018, lo: 0xae, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x71, offset 0x37e\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x3308, lo: 0x87, hi: 0x91},\n\t{value: 0x3008, lo: 0x92, hi: 0x92},\n\t{value: 0x3808, lo: 0x93, hi: 0x93},\n\t{value: 0x0040, lo: 0x94, hi: 0x9e},\n\t{value: 0x0018, lo: 0x9f, hi: 0xbc},\n\t{value: 0x0040, lo: 0xbd, hi: 0xbf},\n\t// Block 0x72, offset 0x386\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x3308, lo: 0x80, hi: 0x82},\n\t{value: 0x3008, lo: 0x83, hi: 0x83},\n\t{value: 0x0008, lo: 0x84, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3008, lo: 0xb4, hi: 0xb5},\n\t{value: 0x3308, lo: 0xb6, hi: 0xb9},\n\t{value: 0x3008, lo: 0xba, hi: 0xbb},\n\t{value: 0x3308, lo: 0xbc, hi: 0xbc},\n\t{value: 0x3008, lo: 0xbd, hi: 0xbf},\n\t// Block 0x73, offset 0x390\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x3808, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8e},\n\t{value: 0x0008, lo: 0x8f, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9d},\n\t{value: 0x0018, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa4},\n\t{value: 0x3308, lo: 0xa5, hi: 0xa5},\n\t{value: 0x0008, lo: 0xa6, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0x74, offset 0x39b\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0xa8},\n\t{value: 0x3308, lo: 0xa9, hi: 0xae},\n\t{value: 0x3008, lo: 0xaf, hi: 0xb0},\n\t{value: 0x3308, lo: 0xb1, hi: 0xb2},\n\t{value: 0x3008, lo: 0xb3, hi: 0xb4},\n\t{value: 0x3308, lo: 0xb5, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xbf},\n\t// Block 0x75, offset 0x3a3\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x0008, lo: 0x80, hi: 0x82},\n\t{value: 0x3308, lo: 0x83, hi: 0x83},\n\t{value: 0x0008, lo: 0x84, hi: 0x8b},\n\t{value: 0x3308, lo: 0x8c, hi: 0x8c},\n\t{value: 0x3008, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9b},\n\t{value: 0x0018, lo: 0x9c, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xb6},\n\t{value: 0x0018, lo: 0xb7, hi: 0xb9},\n\t{value: 0x0008, lo: 0xba, hi: 0xba},\n\t{value: 0x3008, lo: 0xbb, hi: 0xbb},\n\t{value: 0x3308, lo: 0xbc, hi: 0xbc},\n\t{value: 0x3008, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0008, lo: 0xbe, hi: 0xbf},\n\t// Block 0x76, offset 0x3b4\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0008, lo: 0x80, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0008, lo: 0xb1, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb4},\n\t{value: 0x0008, lo: 0xb5, hi: 0xb6},\n\t{value: 0x3308, lo: 0xb7, hi: 0xb8},\n\t{value: 0x0008, lo: 0xb9, hi: 0xbd},\n\t{value: 0x3308, lo: 0xbe, hi: 0xbf},\n\t// Block 0x77, offset 0x3bd\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0x3308, lo: 0x81, hi: 0x81},\n\t{value: 0x0008, lo: 0x82, hi: 0x82},\n\t{value: 0x0040, lo: 0x83, hi: 0x9a},\n\t{value: 0x0008, lo: 0x9b, hi: 0x9d},\n\t{value: 0x0018, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xaa},\n\t{value: 0x3008, lo: 0xab, hi: 0xab},\n\t{value: 0x3308, lo: 0xac, hi: 0xad},\n\t{value: 0x3008, lo: 0xae, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb1},\n\t{value: 0x0008, lo: 0xb2, hi: 0xb4},\n\t{value: 0x3008, lo: 0xb5, hi: 0xb5},\n\t{value: 0x3b08, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xbf},\n\t// Block 0x78, offset 0x3cd\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0040, lo: 0x80, hi: 0x80},\n\t{value: 0x0008, lo: 0x81, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x88},\n\t{value: 0x0008, lo: 0x89, hi: 0x8e},\n\t{value: 0x0040, lo: 0x8f, hi: 0x90},\n\t{value: 0x0008, lo: 0x91, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa6},\n\t{value: 0x0040, lo: 0xa7, hi: 0xa7},\n\t{value: 0x0008, lo: 0xa8, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x79, offset 0x3da\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x9a},\n\t{value: 0x0018, lo: 0x9b, hi: 0x9b},\n\t{value: 0x4465, lo: 0x9c, hi: 0x9c},\n\t{value: 0x447d, lo: 0x9d, hi: 0x9d},\n\t{value: 0x2971, lo: 0x9e, hi: 0x9e},\n\t{value: 0xe06d, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa5},\n\t{value: 0x0040, lo: 0xa6, hi: 0xaf},\n\t{value: 0x4495, lo: 0xb0, hi: 0xbf},\n\t// Block 0x7a, offset 0x3e4\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x44b5, lo: 0x80, hi: 0x8f},\n\t{value: 0x44d5, lo: 0x90, hi: 0x9f},\n\t{value: 0x44f5, lo: 0xa0, hi: 0xaf},\n\t{value: 0x44d5, lo: 0xb0, hi: 0xbf},\n\t// Block 0x7b, offset 0x3e9\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0xa2},\n\t{value: 0x3008, lo: 0xa3, hi: 0xa4},\n\t{value: 0x3308, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3008, lo: 0xa6, hi: 0xa7},\n\t{value: 0x3308, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3008, lo: 0xa9, hi: 0xaa},\n\t{value: 0x0018, lo: 0xab, hi: 0xab},\n\t{value: 0x3008, lo: 0xac, hi: 0xac},\n\t{value: 0x3b08, lo: 0xad, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbf},\n\t// Block 0x7c, offset 0x3f6\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xa3},\n\t{value: 0x0040, lo: 0xa4, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xbf},\n\t// Block 0x7d, offset 0x3fa\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x8a},\n\t{value: 0x0018, lo: 0x8b, hi: 0xbb},\n\t{value: 0x0040, lo: 0xbc, hi: 0xbf},\n\t// Block 0x7e, offset 0x3ff\n\t{value: 0x0020, lo: 0x01},\n\t{value: 0x4515, lo: 0x80, hi: 0xbf},\n\t// Block 0x7f, offset 0x401\n\t{value: 0x0020, lo: 0x03},\n\t{value: 0x4d15, lo: 0x80, hi: 0x94},\n\t{value: 0x4ad5, lo: 0x95, hi: 0x95},\n\t{value: 0x4fb5, lo: 0x96, hi: 0xbf},\n\t// Block 0x80, offset 0x405\n\t{value: 0x0020, lo: 0x01},\n\t{value: 0x54f5, lo: 0x80, hi: 0xbf},\n\t// Block 0x81, offset 0x407\n\t{value: 0x0020, lo: 0x03},\n\t{value: 0x5cf5, lo: 0x80, hi: 0x84},\n\t{value: 0x5655, lo: 0x85, hi: 0x85},\n\t{value: 0x5d95, lo: 0x86, hi: 0xbf},\n\t// Block 0x82, offset 0x40b\n\t{value: 0x0020, lo: 0x08},\n\t{value: 0x6b55, lo: 0x80, hi: 0x8f},\n\t{value: 0x6d15, lo: 0x90, hi: 0x90},\n\t{value: 0x6d55, lo: 0x91, hi: 0xab},\n\t{value: 0x6ea1, lo: 0xac, hi: 0xac},\n\t{value: 0x70b5, lo: 0xad, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xaf},\n\t{value: 0x70d5, lo: 0xb0, hi: 0xbf},\n\t// Block 0x83, offset 0x414\n\t{value: 0x0020, lo: 0x05},\n\t{value: 0x72d5, lo: 0x80, hi: 0xad},\n\t{value: 0x6535, lo: 0xae, hi: 0xae},\n\t{value: 0x7895, lo: 0xaf, hi: 0xb5},\n\t{value: 0x6f55, lo: 0xb6, hi: 0xb6},\n\t{value: 0x7975, lo: 0xb7, hi: 0xbf},\n\t// Block 0x84, offset 0x41a\n\t{value: 0x0028, lo: 0x03},\n\t{value: 0x7c21, lo: 0x80, hi: 0x82},\n\t{value: 0x7be1, lo: 0x83, hi: 0x83},\n\t{value: 0x7c99, lo: 0x84, hi: 0xbf},\n\t// Block 0x85, offset 0x41e\n\t{value: 0x0038, lo: 0x0f},\n\t{value: 0x9db1, lo: 0x80, hi: 0x83},\n\t{value: 0x9e59, lo: 0x84, hi: 0x85},\n\t{value: 0x9e91, lo: 0x86, hi: 0x87},\n\t{value: 0x9ec9, lo: 0x88, hi: 0x8f},\n\t{value: 0x0040, lo: 0x90, hi: 0x90},\n\t{value: 0x0040, lo: 0x91, hi: 0x91},\n\t{value: 0xa089, lo: 0x92, hi: 0x97},\n\t{value: 0xa1a1, lo: 0x98, hi: 0x9c},\n\t{value: 0xa281, lo: 0x9d, hi: 0xb3},\n\t{value: 0x9d41, lo: 0xb4, hi: 0xb4},\n\t{value: 0x9db1, lo: 0xb5, hi: 0xb5},\n\t{value: 0xa789, lo: 0xb6, hi: 0xbb},\n\t{value: 0xa869, lo: 0xbc, hi: 0xbc},\n\t{value: 0xa7f9, lo: 0xbd, hi: 0xbd},\n\t{value: 0xa8d9, lo: 0xbe, hi: 0xbf},\n\t// Block 0x86, offset 0x42e\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x8b},\n\t{value: 0x0040, lo: 0x8c, hi: 0x8c},\n\t{value: 0x0008, lo: 0x8d, hi: 0xa6},\n\t{value: 0x0040, lo: 0xa7, hi: 0xa7},\n\t{value: 0x0008, lo: 0xa8, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbb},\n\t{value: 0x0008, lo: 0xbc, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbe},\n\t{value: 0x0008, lo: 0xbf, hi: 0xbf},\n\t// Block 0x87, offset 0x438\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0xbf},\n\t// Block 0x88, offset 0x43d\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbf},\n\t// Block 0x89, offset 0x440\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0x82},\n\t{value: 0x0040, lo: 0x83, hi: 0x86},\n\t{value: 0x0018, lo: 0x87, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xb6},\n\t{value: 0x0018, lo: 0xb7, hi: 0xbf},\n\t// Block 0x8a, offset 0x446\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0018, lo: 0x80, hi: 0x8e},\n\t{value: 0x0040, lo: 0x8f, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0x9b},\n\t{value: 0x0040, lo: 0x9c, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0040, lo: 0xa1, hi: 0xbf},\n\t// Block 0x8b, offset 0x44d\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0040, lo: 0x80, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xbc},\n\t{value: 0x3308, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbf},\n\t// Block 0x8c, offset 0x452\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0x9c},\n\t{value: 0x0040, lo: 0x9d, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x8d, offset 0x456\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0x90},\n\t{value: 0x0040, lo: 0x91, hi: 0x9f},\n\t{value: 0x3308, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0018, lo: 0xa1, hi: 0xbb},\n\t{value: 0x0040, lo: 0xbc, hi: 0xbf},\n\t// Block 0x8e, offset 0x45c\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xa3},\n\t{value: 0x0040, lo: 0xa4, hi: 0xac},\n\t{value: 0x0008, lo: 0xad, hi: 0xbf},\n\t// Block 0x8f, offset 0x461\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x81},\n\t{value: 0x0008, lo: 0x82, hi: 0x89},\n\t{value: 0x0018, lo: 0x8a, hi: 0x8a},\n\t{value: 0x0040, lo: 0x8b, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xb5},\n\t{value: 0x3308, lo: 0xb6, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbf},\n\t// Block 0x90, offset 0x46a\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9e},\n\t{value: 0x0018, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x91, offset 0x46f\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x87},\n\t{value: 0x0008, lo: 0x88, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0xbf},\n\t// Block 0x92, offset 0x475\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xe145, lo: 0x80, hi: 0x87},\n\t{value: 0xe1c5, lo: 0x88, hi: 0x8f},\n\t{value: 0xe145, lo: 0x90, hi: 0x97},\n\t{value: 0x8ad5, lo: 0x98, hi: 0x9f},\n\t{value: 0x8aed, lo: 0xa0, hi: 0xa7},\n\t{value: 0x0008, lo: 0xa8, hi: 0xbf},\n\t// Block 0x93, offset 0x47c\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0008, lo: 0x80, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa9},\n\t{value: 0x0040, lo: 0xaa, hi: 0xaf},\n\t{value: 0x8aed, lo: 0xb0, hi: 0xb7},\n\t{value: 0x8ad5, lo: 0xb8, hi: 0xbf},\n\t// Block 0x94, offset 0x483\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xe145, lo: 0x80, hi: 0x87},\n\t{value: 0xe1c5, lo: 0x88, hi: 0x8f},\n\t{value: 0xe145, lo: 0x90, hi: 0x93},\n\t{value: 0x0040, lo: 0x94, hi: 0x97},\n\t{value: 0x0008, lo: 0x98, hi: 0xbb},\n\t{value: 0x0040, lo: 0xbc, hi: 0xbf},\n\t// Block 0x95, offset 0x48a\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xa7},\n\t{value: 0x0040, lo: 0xa8, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x96, offset 0x48e\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0xa3},\n\t{value: 0x0040, lo: 0xa4, hi: 0xae},\n\t{value: 0x0018, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbf},\n\t// Block 0x97, offset 0x493\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xbf},\n\t// Block 0x98, offset 0x496\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa7},\n\t{value: 0x0040, lo: 0xa8, hi: 0xbf},\n\t// Block 0x99, offset 0x49b\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0808, lo: 0x80, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0x87},\n\t{value: 0x0808, lo: 0x88, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x0808, lo: 0x8a, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0808, lo: 0xb7, hi: 0xb8},\n\t{value: 0x0040, lo: 0xb9, hi: 0xbb},\n\t{value: 0x0808, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0040, lo: 0xbd, hi: 0xbe},\n\t{value: 0x0808, lo: 0xbf, hi: 0xbf},\n\t// Block 0x9a, offset 0x4a7\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0808, lo: 0x80, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0x96},\n\t{value: 0x0818, lo: 0x97, hi: 0x9f},\n\t{value: 0x0808, lo: 0xa0, hi: 0xb6},\n\t{value: 0x0818, lo: 0xb7, hi: 0xbf},\n\t// Block 0x9b, offset 0x4ad\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0808, lo: 0x80, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0xa6},\n\t{value: 0x0818, lo: 0xa7, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbf},\n\t// Block 0x9c, offset 0x4b2\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0040, lo: 0x80, hi: 0x9f},\n\t{value: 0x0808, lo: 0xa0, hi: 0xb2},\n\t{value: 0x0040, lo: 0xb3, hi: 0xb3},\n\t{value: 0x0808, lo: 0xb4, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xba},\n\t{value: 0x0818, lo: 0xbb, hi: 0xbf},\n\t// Block 0x9d, offset 0x4b9\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0808, lo: 0x80, hi: 0x95},\n\t{value: 0x0818, lo: 0x96, hi: 0x9b},\n\t{value: 0x0040, lo: 0x9c, hi: 0x9e},\n\t{value: 0x0018, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0808, lo: 0xa0, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbe},\n\t{value: 0x0818, lo: 0xbf, hi: 0xbf},\n\t// Block 0x9e, offset 0x4c1\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0808, lo: 0x80, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xbb},\n\t{value: 0x0818, lo: 0xbc, hi: 0xbd},\n\t{value: 0x0808, lo: 0xbe, hi: 0xbf},\n\t// Block 0x9f, offset 0x4c6\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0818, lo: 0x80, hi: 0x8f},\n\t{value: 0x0040, lo: 0x90, hi: 0x91},\n\t{value: 0x0818, lo: 0x92, hi: 0xbf},\n\t// Block 0xa0, offset 0x4ca\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0x0808, lo: 0x80, hi: 0x80},\n\t{value: 0x3308, lo: 0x81, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x84},\n\t{value: 0x3308, lo: 0x85, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x8b},\n\t{value: 0x3308, lo: 0x8c, hi: 0x8f},\n\t{value: 0x0808, lo: 0x90, hi: 0x93},\n\t{value: 0x0040, lo: 0x94, hi: 0x94},\n\t{value: 0x0808, lo: 0x95, hi: 0x97},\n\t{value: 0x0040, lo: 0x98, hi: 0x98},\n\t{value: 0x0808, lo: 0x99, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xb7},\n\t{value: 0x3308, lo: 0xb8, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbe},\n\t{value: 0x3b08, lo: 0xbf, hi: 0xbf},\n\t// Block 0xa1, offset 0x4da\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0818, lo: 0x80, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0818, lo: 0x90, hi: 0x98},\n\t{value: 0x0040, lo: 0x99, hi: 0x9f},\n\t{value: 0x0808, lo: 0xa0, hi: 0xbc},\n\t{value: 0x0818, lo: 0xbd, hi: 0xbf},\n\t// Block 0xa2, offset 0x4e1\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0808, lo: 0x80, hi: 0x9c},\n\t{value: 0x0818, lo: 0x9d, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xbf},\n\t// Block 0xa3, offset 0x4e5\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0808, lo: 0x80, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xb8},\n\t{value: 0x0018, lo: 0xb9, hi: 0xbf},\n\t// Block 0xa4, offset 0x4e9\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0808, lo: 0x80, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0x97},\n\t{value: 0x0818, lo: 0x98, hi: 0x9f},\n\t{value: 0x0808, lo: 0xa0, hi: 0xb2},\n\t{value: 0x0040, lo: 0xb3, hi: 0xb7},\n\t{value: 0x0818, lo: 0xb8, hi: 0xbf},\n\t// Block 0xa5, offset 0x4f0\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0808, lo: 0x80, hi: 0xbf},\n\t// Block 0xa6, offset 0x4f2\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0808, lo: 0x80, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0xbf},\n\t// Block 0xa7, offset 0x4f5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x03dd, lo: 0x80, hi: 0xb2},\n\t{value: 0x0040, lo: 0xb3, hi: 0xbf},\n\t// Block 0xa8, offset 0x4f8\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0808, lo: 0x80, hi: 0xb2},\n\t{value: 0x0040, lo: 0xb3, hi: 0xb9},\n\t{value: 0x0818, lo: 0xba, hi: 0xbf},\n\t// Block 0xa9, offset 0x4fc\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0040, lo: 0x80, hi: 0x9f},\n\t{value: 0x0818, lo: 0xa0, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0xaa, offset 0x500\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x3008, lo: 0x80, hi: 0x80},\n\t{value: 0x3308, lo: 0x81, hi: 0x81},\n\t{value: 0x3008, lo: 0x82, hi: 0x82},\n\t{value: 0x0008, lo: 0x83, hi: 0xb7},\n\t{value: 0x3308, lo: 0xb8, hi: 0xbf},\n\t// Block 0xab, offset 0x506\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x3308, lo: 0x80, hi: 0x85},\n\t{value: 0x3b08, lo: 0x86, hi: 0x86},\n\t{value: 0x0018, lo: 0x87, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x91},\n\t{value: 0x0018, lo: 0x92, hi: 0xa5},\n\t{value: 0x0008, lo: 0xa6, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbe},\n\t{value: 0x3b08, lo: 0xbf, hi: 0xbf},\n\t// Block 0xac, offset 0x50f\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x3308, lo: 0x80, hi: 0x81},\n\t{value: 0x3008, lo: 0x82, hi: 0x82},\n\t{value: 0x0008, lo: 0x83, hi: 0xaf},\n\t{value: 0x3008, lo: 0xb0, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xb6},\n\t{value: 0x3008, lo: 0xb7, hi: 0xb8},\n\t{value: 0x3b08, lo: 0xb9, hi: 0xb9},\n\t{value: 0x3308, lo: 0xba, hi: 0xba},\n\t{value: 0x0018, lo: 0xbb, hi: 0xbc},\n\t{value: 0x0340, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0018, lo: 0xbe, hi: 0xbf},\n\t// Block 0xad, offset 0x51b\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0018, lo: 0x80, hi: 0x81},\n\t{value: 0x0040, lo: 0x82, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xa8},\n\t{value: 0x0040, lo: 0xa9, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbf},\n\t// Block 0xae, offset 0x522\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x3308, lo: 0x80, hi: 0x82},\n\t{value: 0x0008, lo: 0x83, hi: 0xa6},\n\t{value: 0x3308, lo: 0xa7, hi: 0xab},\n\t{value: 0x3008, lo: 0xac, hi: 0xac},\n\t{value: 0x3308, lo: 0xad, hi: 0xb2},\n\t{value: 0x3b08, lo: 0xb3, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xb5},\n\t{value: 0x0008, lo: 0xb6, hi: 0xbf},\n\t// Block 0xaf, offset 0x52b\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0018, lo: 0x80, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xb3},\n\t{value: 0x0018, lo: 0xb4, hi: 0xb5},\n\t{value: 0x0008, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xbf},\n\t// Block 0xb0, offset 0x533\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x3308, lo: 0x80, hi: 0x81},\n\t{value: 0x3008, lo: 0x82, hi: 0x82},\n\t{value: 0x0008, lo: 0x83, hi: 0xb2},\n\t{value: 0x3008, lo: 0xb3, hi: 0xb5},\n\t{value: 0x3308, lo: 0xb6, hi: 0xbe},\n\t{value: 0x3008, lo: 0xbf, hi: 0xbf},\n\t// Block 0xb1, offset 0x53a\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x3808, lo: 0x80, hi: 0x80},\n\t{value: 0x0008, lo: 0x81, hi: 0x84},\n\t{value: 0x0018, lo: 0x85, hi: 0x89},\n\t{value: 0x3308, lo: 0x8a, hi: 0x8c},\n\t{value: 0x0018, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x9a},\n\t{value: 0x0018, lo: 0x9b, hi: 0x9b},\n\t{value: 0x0008, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0018, lo: 0x9d, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0018, lo: 0xa1, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xbf},\n\t// Block 0xb2, offset 0x548\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0x91},\n\t{value: 0x0040, lo: 0x92, hi: 0x92},\n\t{value: 0x0008, lo: 0x93, hi: 0xab},\n\t{value: 0x3008, lo: 0xac, hi: 0xae},\n\t{value: 0x3308, lo: 0xaf, hi: 0xb1},\n\t{value: 0x3008, lo: 0xb2, hi: 0xb3},\n\t{value: 0x3308, lo: 0xb4, hi: 0xb4},\n\t{value: 0x3808, lo: 0xb5, hi: 0xb5},\n\t{value: 0x3308, lo: 0xb6, hi: 0xb7},\n\t{value: 0x0018, lo: 0xb8, hi: 0xbd},\n\t{value: 0x3308, lo: 0xbe, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0xb3, offset 0x555\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x87},\n\t{value: 0x0008, lo: 0x88, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x0008, lo: 0x8a, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8e},\n\t{value: 0x0008, lo: 0x8f, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9e},\n\t{value: 0x0008, lo: 0x9f, hi: 0xa8},\n\t{value: 0x0018, lo: 0xa9, hi: 0xa9},\n\t{value: 0x0040, lo: 0xaa, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0xb4, offset 0x562\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0008, lo: 0x80, hi: 0x9e},\n\t{value: 0x3308, lo: 0x9f, hi: 0x9f},\n\t{value: 0x3008, lo: 0xa0, hi: 0xa2},\n\t{value: 0x3308, lo: 0xa3, hi: 0xa9},\n\t{value: 0x3b08, lo: 0xaa, hi: 0xaa},\n\t{value: 0x0040, lo: 0xab, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbf},\n\t// Block 0xb5, offset 0x56b\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xb4},\n\t{value: 0x3008, lo: 0xb5, hi: 0xb7},\n\t{value: 0x3308, lo: 0xb8, hi: 0xbf},\n\t// Block 0xb6, offset 0x56f\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x3008, lo: 0x80, hi: 0x81},\n\t{value: 0x3b08, lo: 0x82, hi: 0x82},\n\t{value: 0x3308, lo: 0x83, hi: 0x84},\n\t{value: 0x3008, lo: 0x85, hi: 0x85},\n\t{value: 0x3308, lo: 0x86, hi: 0x86},\n\t{value: 0x0008, lo: 0x87, hi: 0x8a},\n\t{value: 0x0018, lo: 0x8b, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9a},\n\t{value: 0x0018, lo: 0x9b, hi: 0x9b},\n\t{value: 0x0040, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0018, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0xbf},\n\t// Block 0xb7, offset 0x57d\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0xaf},\n\t{value: 0x3008, lo: 0xb0, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xb8},\n\t{value: 0x3008, lo: 0xb9, hi: 0xb9},\n\t{value: 0x3308, lo: 0xba, hi: 0xba},\n\t{value: 0x3008, lo: 0xbb, hi: 0xbe},\n\t{value: 0x3308, lo: 0xbf, hi: 0xbf},\n\t// Block 0xb8, offset 0x585\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x3308, lo: 0x80, hi: 0x80},\n\t{value: 0x3008, lo: 0x81, hi: 0x81},\n\t{value: 0x3b08, lo: 0x82, hi: 0x82},\n\t{value: 0x3308, lo: 0x83, hi: 0x83},\n\t{value: 0x0008, lo: 0x84, hi: 0x85},\n\t{value: 0x0018, lo: 0x86, hi: 0x86},\n\t{value: 0x0008, lo: 0x87, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0xbf},\n\t// Block 0xb9, offset 0x590\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0008, lo: 0x80, hi: 0xae},\n\t{value: 0x3008, lo: 0xaf, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xb7},\n\t{value: 0x3008, lo: 0xb8, hi: 0xbb},\n\t{value: 0x3308, lo: 0xbc, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbe},\n\t{value: 0x3b08, lo: 0xbf, hi: 0xbf},\n\t// Block 0xba, offset 0x599\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x3308, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x97},\n\t{value: 0x0008, lo: 0x98, hi: 0x9b},\n\t{value: 0x3308, lo: 0x9c, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0xbf},\n\t// Block 0xbb, offset 0x59f\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0xaf},\n\t{value: 0x3008, lo: 0xb0, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xba},\n\t{value: 0x3008, lo: 0xbb, hi: 0xbc},\n\t{value: 0x3308, lo: 0xbd, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbe},\n\t{value: 0x3b08, lo: 0xbf, hi: 0xbf},\n\t// Block 0xbc, offset 0x5a7\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x3308, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x83},\n\t{value: 0x0008, lo: 0x84, hi: 0x84},\n\t{value: 0x0040, lo: 0x85, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xac},\n\t{value: 0x0040, lo: 0xad, hi: 0xbf},\n\t// Block 0xbd, offset 0x5b0\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0xaa},\n\t{value: 0x3308, lo: 0xab, hi: 0xab},\n\t{value: 0x3008, lo: 0xac, hi: 0xac},\n\t{value: 0x3308, lo: 0xad, hi: 0xad},\n\t{value: 0x3008, lo: 0xae, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xb5},\n\t{value: 0x3808, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3308, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xbf},\n\t// Block 0xbe, offset 0x5ba\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x89},\n\t{value: 0x0040, lo: 0x8a, hi: 0xbf},\n\t// Block 0xbf, offset 0x5bd\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9c},\n\t{value: 0x3308, lo: 0x9d, hi: 0x9f},\n\t{value: 0x3008, lo: 0xa0, hi: 0xa1},\n\t{value: 0x3308, lo: 0xa2, hi: 0xa5},\n\t{value: 0x3008, lo: 0xa6, hi: 0xa6},\n\t{value: 0x3308, lo: 0xa7, hi: 0xaa},\n\t{value: 0x3b08, lo: 0xab, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb9},\n\t{value: 0x0018, lo: 0xba, hi: 0xbf},\n\t// Block 0xc0, offset 0x5c9\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0040, lo: 0x80, hi: 0x9f},\n\t{value: 0x049d, lo: 0xa0, hi: 0xbf},\n\t// Block 0xc1, offset 0x5cc\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0xa9},\n\t{value: 0x0018, lo: 0xaa, hi: 0xb2},\n\t{value: 0x0040, lo: 0xb3, hi: 0xbe},\n\t{value: 0x0008, lo: 0xbf, hi: 0xbf},\n\t// Block 0xc2, offset 0x5d1\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0x3308, lo: 0x81, hi: 0x86},\n\t{value: 0x3008, lo: 0x87, hi: 0x88},\n\t{value: 0x3308, lo: 0x89, hi: 0x8a},\n\t{value: 0x0008, lo: 0x8b, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3b08, lo: 0xb4, hi: 0xb4},\n\t{value: 0x3308, lo: 0xb5, hi: 0xb8},\n\t{value: 0x3008, lo: 0xb9, hi: 0xb9},\n\t{value: 0x0008, lo: 0xba, hi: 0xba},\n\t{value: 0x3308, lo: 0xbb, hi: 0xbe},\n\t{value: 0x0018, lo: 0xbf, hi: 0xbf},\n\t// Block 0xc3, offset 0x5de\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0018, lo: 0x80, hi: 0x86},\n\t{value: 0x3b08, lo: 0x87, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x90},\n\t{value: 0x3308, lo: 0x91, hi: 0x96},\n\t{value: 0x3008, lo: 0x97, hi: 0x98},\n\t{value: 0x3308, lo: 0x99, hi: 0x9b},\n\t{value: 0x0008, lo: 0x9c, hi: 0xbf},\n\t// Block 0xc4, offset 0x5e7\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x85},\n\t{value: 0x0008, lo: 0x86, hi: 0x89},\n\t{value: 0x3308, lo: 0x8a, hi: 0x96},\n\t{value: 0x3008, lo: 0x97, hi: 0x97},\n\t{value: 0x3308, lo: 0x98, hi: 0x98},\n\t{value: 0x3b08, lo: 0x99, hi: 0x99},\n\t{value: 0x0018, lo: 0x9a, hi: 0x9c},\n\t{value: 0x0040, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0018, lo: 0x9e, hi: 0xa2},\n\t{value: 0x0040, lo: 0xa3, hi: 0xbf},\n\t// Block 0xc5, offset 0x5f3\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xb8},\n\t{value: 0x0040, lo: 0xb9, hi: 0xbf},\n\t// Block 0xc6, offset 0x5f6\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x0008, lo: 0x8a, hi: 0xae},\n\t{value: 0x3008, lo: 0xaf, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xb7},\n\t{value: 0x3308, lo: 0xb8, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbe},\n\t{value: 0x3b08, lo: 0xbf, hi: 0xbf},\n\t// Block 0xc7, offset 0x600\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0018, lo: 0x9a, hi: 0xac},\n\t{value: 0x0040, lo: 0xad, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb1},\n\t{value: 0x0008, lo: 0xb2, hi: 0xbf},\n\t// Block 0xc8, offset 0x609\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0x8f},\n\t{value: 0x0040, lo: 0x90, hi: 0x91},\n\t{value: 0x3308, lo: 0x92, hi: 0xa7},\n\t{value: 0x0040, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3008, lo: 0xa9, hi: 0xa9},\n\t{value: 0x3308, lo: 0xaa, hi: 0xb0},\n\t{value: 0x3008, lo: 0xb1, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb3},\n\t{value: 0x3008, lo: 0xb4, hi: 0xb4},\n\t{value: 0x3308, lo: 0xb5, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xbf},\n\t// Block 0xc9, offset 0x615\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x87},\n\t{value: 0x0008, lo: 0x88, hi: 0x89},\n\t{value: 0x0040, lo: 0x8a, hi: 0x8a},\n\t{value: 0x0008, lo: 0x8b, hi: 0xb0},\n\t{value: 0x3308, lo: 0xb1, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xb9},\n\t{value: 0x3308, lo: 0xba, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbb},\n\t{value: 0x3308, lo: 0xbc, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbe},\n\t{value: 0x3308, lo: 0xbf, hi: 0xbf},\n\t// Block 0xca, offset 0x622\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x3308, lo: 0x80, hi: 0x83},\n\t{value: 0x3b08, lo: 0x84, hi: 0x85},\n\t{value: 0x0008, lo: 0x86, hi: 0x86},\n\t{value: 0x3308, lo: 0x87, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0xbf},\n\t// Block 0xcb, offset 0x62a\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0xbf},\n\t// Block 0xcc, offset 0x62d\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xbf},\n\t// Block 0xcd, offset 0x632\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0xbf},\n\t// Block 0xce, offset 0x635\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xbf},\n\t// Block 0xcf, offset 0x638\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0xbf},\n\t// Block 0xd0, offset 0x63b\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0008, lo: 0x80, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa9},\n\t{value: 0x0040, lo: 0xaa, hi: 0xad},\n\t{value: 0x0018, lo: 0xae, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbf},\n\t// Block 0xd1, offset 0x642\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0040, lo: 0x80, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xb4},\n\t{value: 0x0018, lo: 0xb5, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xbf},\n\t// Block 0xd2, offset 0x649\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xb6},\n\t{value: 0x0018, lo: 0xb7, hi: 0xbf},\n\t// Block 0xd3, offset 0x64d\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x0008, lo: 0x80, hi: 0x83},\n\t{value: 0x0018, lo: 0x84, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9a},\n\t{value: 0x0018, lo: 0x9b, hi: 0xa1},\n\t{value: 0x0040, lo: 0xa2, hi: 0xa2},\n\t{value: 0x0008, lo: 0xa3, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbf},\n\t// Block 0xd4, offset 0x658\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x8f},\n\t{value: 0x0040, lo: 0x90, hi: 0xbf},\n\t// Block 0xd5, offset 0x65b\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0x84},\n\t{value: 0x0040, lo: 0x85, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x90},\n\t{value: 0x3008, lo: 0x91, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0xd6, offset 0x661\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0040, lo: 0x80, hi: 0x8e},\n\t{value: 0x3308, lo: 0x8f, hi: 0x92},\n\t{value: 0x0008, lo: 0x93, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xbf},\n\t// Block 0xd7, offset 0x666\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0040, lo: 0x80, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa1},\n\t{value: 0x0040, lo: 0xa2, hi: 0xbf},\n\t// Block 0xd8, offset 0x66a\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xac},\n\t{value: 0x0040, lo: 0xad, hi: 0xbf},\n\t// Block 0xd9, offset 0x66d\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xb2},\n\t{value: 0x0040, lo: 0xb3, hi: 0xbf},\n\t// Block 0xda, offset 0x670\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0xbf},\n\t// Block 0xdb, offset 0x673\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0040, lo: 0x80, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0xdc, offset 0x676\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xbb},\n\t{value: 0x0040, lo: 0xbc, hi: 0xbf},\n\t// Block 0xdd, offset 0x679\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0xaa},\n\t{value: 0x0040, lo: 0xab, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbc},\n\t{value: 0x0040, lo: 0xbd, hi: 0xbf},\n\t// Block 0xde, offset 0x67e\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9b},\n\t{value: 0x0018, lo: 0x9c, hi: 0x9c},\n\t{value: 0x3308, lo: 0x9d, hi: 0x9e},\n\t{value: 0x0018, lo: 0x9f, hi: 0x9f},\n\t{value: 0x03c0, lo: 0xa0, hi: 0xa3},\n\t{value: 0x0040, lo: 0xa4, hi: 0xbf},\n\t// Block 0xdf, offset 0x688\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xbf},\n\t// Block 0xe0, offset 0x68b\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0xa6},\n\t{value: 0x0040, lo: 0xa7, hi: 0xa8},\n\t{value: 0x0018, lo: 0xa9, hi: 0xbf},\n\t// Block 0xe1, offset 0x68f\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x0018, lo: 0x80, hi: 0x9d},\n\t{value: 0xb5b9, lo: 0x9e, hi: 0x9e},\n\t{value: 0xb601, lo: 0x9f, hi: 0x9f},\n\t{value: 0xb649, lo: 0xa0, hi: 0xa0},\n\t{value: 0xb6b1, lo: 0xa1, hi: 0xa1},\n\t{value: 0xb719, lo: 0xa2, hi: 0xa2},\n\t{value: 0xb781, lo: 0xa3, hi: 0xa3},\n\t{value: 0xb7e9, lo: 0xa4, hi: 0xa4},\n\t{value: 0x3018, lo: 0xa5, hi: 0xa6},\n\t{value: 0x3318, lo: 0xa7, hi: 0xa9},\n\t{value: 0x0018, lo: 0xaa, hi: 0xac},\n\t{value: 0x3018, lo: 0xad, hi: 0xb2},\n\t{value: 0x0340, lo: 0xb3, hi: 0xba},\n\t{value: 0x3318, lo: 0xbb, hi: 0xbf},\n\t// Block 0xe2, offset 0x69e\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x3318, lo: 0x80, hi: 0x82},\n\t{value: 0x0018, lo: 0x83, hi: 0x84},\n\t{value: 0x3318, lo: 0x85, hi: 0x8b},\n\t{value: 0x0018, lo: 0x8c, hi: 0xa9},\n\t{value: 0x3318, lo: 0xaa, hi: 0xad},\n\t{value: 0x0018, lo: 0xae, hi: 0xba},\n\t{value: 0xb851, lo: 0xbb, hi: 0xbb},\n\t{value: 0xb899, lo: 0xbc, hi: 0xbc},\n\t{value: 0xb8e1, lo: 0xbd, hi: 0xbd},\n\t{value: 0xb949, lo: 0xbe, hi: 0xbe},\n\t{value: 0xb9b1, lo: 0xbf, hi: 0xbf},\n\t// Block 0xe3, offset 0x6aa\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xba19, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0xa8},\n\t{value: 0x0040, lo: 0xa9, hi: 0xbf},\n\t// Block 0xe4, offset 0x6ae\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x81},\n\t{value: 0x3318, lo: 0x82, hi: 0x84},\n\t{value: 0x0018, lo: 0x85, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0xbf},\n\t// Block 0xe5, offset 0x6b3\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xb1},\n\t{value: 0x0040, lo: 0xb2, hi: 0xbf},\n\t// Block 0xe6, offset 0x6b8\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x3308, lo: 0x80, hi: 0xb6},\n\t{value: 0x0018, lo: 0xb7, hi: 0xba},\n\t{value: 0x3308, lo: 0xbb, hi: 0xbf},\n\t// Block 0xe7, offset 0x6bc\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x3308, lo: 0x80, hi: 0xac},\n\t{value: 0x0018, lo: 0xad, hi: 0xb4},\n\t{value: 0x3308, lo: 0xb5, hi: 0xb5},\n\t{value: 0x0018, lo: 0xb6, hi: 0xbf},\n\t// Block 0xe8, offset 0x6c1\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0018, lo: 0x80, hi: 0x83},\n\t{value: 0x3308, lo: 0x84, hi: 0x84},\n\t{value: 0x0018, lo: 0x85, hi: 0x8b},\n\t{value: 0x0040, lo: 0x8c, hi: 0x9a},\n\t{value: 0x3308, lo: 0x9b, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xa0},\n\t{value: 0x3308, lo: 0xa1, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbf},\n\t// Block 0xe9, offset 0x6ca\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x3308, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x87},\n\t{value: 0x3308, lo: 0x88, hi: 0x98},\n\t{value: 0x0040, lo: 0x99, hi: 0x9a},\n\t{value: 0x3308, lo: 0x9b, hi: 0xa1},\n\t{value: 0x0040, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3308, lo: 0xa3, hi: 0xa4},\n\t{value: 0x0040, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3308, lo: 0xa6, hi: 0xaa},\n\t{value: 0x0040, lo: 0xab, hi: 0xbf},\n\t// Block 0xea, offset 0x6d5\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0808, lo: 0x80, hi: 0x84},\n\t{value: 0x0040, lo: 0x85, hi: 0x86},\n\t{value: 0x0818, lo: 0x87, hi: 0x8f},\n\t{value: 0x3308, lo: 0x90, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0xbf},\n\t// Block 0xeb, offset 0x6db\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0a08, lo: 0x80, hi: 0x83},\n\t{value: 0x3308, lo: 0x84, hi: 0x8a},\n\t{value: 0x0040, lo: 0x8b, hi: 0x8f},\n\t{value: 0x0808, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9d},\n\t{value: 0x0818, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xbf},\n\t// Block 0xec, offset 0x6e3\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0040, lo: 0x80, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb1},\n\t{value: 0x0040, lo: 0xb2, hi: 0xbf},\n\t// Block 0xed, offset 0x6e7\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xbf},\n\t// Block 0xee, offset 0x6eb\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0x93},\n\t{value: 0x0040, lo: 0x94, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xb0},\n\t{value: 0x0018, lo: 0xb1, hi: 0xbf},\n\t// Block 0xef, offset 0x6f1\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0040, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x8f},\n\t{value: 0x0040, lo: 0x90, hi: 0x90},\n\t{value: 0x0018, lo: 0x91, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xbf},\n\t// Block 0xf0, offset 0x6f7\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x8f},\n\t{value: 0xc1c1, lo: 0x90, hi: 0x90},\n\t{value: 0x0018, lo: 0x91, hi: 0xac},\n\t{value: 0x0040, lo: 0xad, hi: 0xbf},\n\t// Block 0xf1, offset 0x6fc\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0040, lo: 0x80, hi: 0xa5},\n\t{value: 0x0018, lo: 0xa6, hi: 0xbf},\n\t// Block 0xf2, offset 0x6ff\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0xc7e9, lo: 0x80, hi: 0x80},\n\t{value: 0xc839, lo: 0x81, hi: 0x81},\n\t{value: 0xc889, lo: 0x82, hi: 0x82},\n\t{value: 0xc8d9, lo: 0x83, hi: 0x83},\n\t{value: 0xc929, lo: 0x84, hi: 0x84},\n\t{value: 0xc979, lo: 0x85, hi: 0x85},\n\t{value: 0xc9c9, lo: 0x86, hi: 0x86},\n\t{value: 0xca19, lo: 0x87, hi: 0x87},\n\t{value: 0xca69, lo: 0x88, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x8f},\n\t{value: 0xcab9, lo: 0x90, hi: 0x90},\n\t{value: 0xcad9, lo: 0x91, hi: 0x91},\n\t{value: 0x0040, lo: 0x92, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xa5},\n\t{value: 0x0040, lo: 0xa6, hi: 0xbf},\n\t// Block 0xf3, offset 0x70f\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0018, lo: 0x80, hi: 0x94},\n\t{value: 0x0040, lo: 0x95, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xac},\n\t{value: 0x0040, lo: 0xad, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb8},\n\t{value: 0x0040, lo: 0xb9, hi: 0xbf},\n\t// Block 0xf4, offset 0x716\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xbf},\n\t// Block 0xf5, offset 0x719\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0x94},\n\t{value: 0x0040, lo: 0x95, hi: 0xbf},\n\t// Block 0xf6, offset 0x71c\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0x8b},\n\t{value: 0x0040, lo: 0x8c, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xbf},\n\t// Block 0xf7, offset 0x720\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xbf},\n\t// Block 0xf8, offset 0x726\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xbf},\n\t// Block 0xf9, offset 0x72b\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x8b},\n\t{value: 0x0040, lo: 0x8c, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0xfa, offset 0x730\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x8c},\n\t{value: 0x0040, lo: 0x8d, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xbf},\n\t// Block 0xfb, offset 0x735\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0x97},\n\t{value: 0x0040, lo: 0x98, hi: 0xbf},\n\t// Block 0xfc, offset 0x738\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x80},\n\t{value: 0x0040, lo: 0x81, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xa6},\n\t{value: 0x0040, lo: 0xa7, hi: 0xbf},\n\t// Block 0xfd, offset 0x73d\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0xbf},\n\t// Block 0xfe, offset 0x740\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xbf},\n\t// Block 0xff, offset 0x743\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x100, offset 0x747\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xa1},\n\t{value: 0x0040, lo: 0xa2, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x101, offset 0x74b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xa0},\n\t{value: 0x0040, lo: 0xa1, hi: 0xbf},\n\t// Block 0x102, offset 0x74e\n\t{value: 0x0020, lo: 0x0f},\n\t{value: 0xdeb9, lo: 0x80, hi: 0x89},\n\t{value: 0x8dfd, lo: 0x8a, hi: 0x8a},\n\t{value: 0xdff9, lo: 0x8b, hi: 0x9c},\n\t{value: 0x8e1d, lo: 0x9d, hi: 0x9d},\n\t{value: 0xe239, lo: 0x9e, hi: 0xa2},\n\t{value: 0x8e3d, lo: 0xa3, hi: 0xa3},\n\t{value: 0xe2d9, lo: 0xa4, hi: 0xab},\n\t{value: 0x7ed5, lo: 0xac, hi: 0xac},\n\t{value: 0xe3d9, lo: 0xad, hi: 0xaf},\n\t{value: 0x8e5d, lo: 0xb0, hi: 0xb0},\n\t{value: 0xe439, lo: 0xb1, hi: 0xb6},\n\t{value: 0x8e7d, lo: 0xb7, hi: 0xb9},\n\t{value: 0xe4f9, lo: 0xba, hi: 0xba},\n\t{value: 0x8edd, lo: 0xbb, hi: 0xbb},\n\t{value: 0xe519, lo: 0xbc, hi: 0xbf},\n\t// Block 0x103, offset 0x75e\n\t{value: 0x0020, lo: 0x10},\n\t{value: 0x937d, lo: 0x80, hi: 0x80},\n\t{value: 0xf099, lo: 0x81, hi: 0x86},\n\t{value: 0x939d, lo: 0x87, hi: 0x8a},\n\t{value: 0xd9f9, lo: 0x8b, hi: 0x8b},\n\t{value: 0xf159, lo: 0x8c, hi: 0x96},\n\t{value: 0x941d, lo: 0x97, hi: 0x97},\n\t{value: 0xf2b9, lo: 0x98, hi: 0xa3},\n\t{value: 0x943d, lo: 0xa4, hi: 0xa6},\n\t{value: 0xf439, lo: 0xa7, hi: 0xaa},\n\t{value: 0x949d, lo: 0xab, hi: 0xab},\n\t{value: 0xf4b9, lo: 0xac, hi: 0xac},\n\t{value: 0x94bd, lo: 0xad, hi: 0xad},\n\t{value: 0xf4d9, lo: 0xae, hi: 0xaf},\n\t{value: 0x94dd, lo: 0xb0, hi: 0xb1},\n\t{value: 0xf519, lo: 0xb2, hi: 0xbe},\n\t{value: 0x2040, lo: 0xbf, hi: 0xbf},\n\t// Block 0x104, offset 0x76f\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0040, lo: 0x80, hi: 0x80},\n\t{value: 0x0340, lo: 0x81, hi: 0x81},\n\t{value: 0x0040, lo: 0x82, hi: 0x9f},\n\t{value: 0x0340, lo: 0xa0, hi: 0xbf},\n\t// Block 0x105, offset 0x774\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0340, lo: 0x80, hi: 0xbf},\n\t// Block 0x106, offset 0x776\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x33c0, lo: 0x80, hi: 0xbf},\n\t// Block 0x107, offset 0x778\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x33c0, lo: 0x80, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbf},\n}\n\n// Total table size 42115 bytes (41KiB); checksum: F4A1FA4E\n"
  },
  {
    "path": "vendor/golang.org/x/net/idna/trie.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage idna\n\n// appendMapping appends the mapping for the respective rune. isMapped must be\n// true. A mapping is a categorization of a rune as defined in UTS #46.\nfunc (c info) appendMapping(b []byte, s string) []byte {\n\tindex := int(c >> indexShift)\n\tif c&xorBit == 0 {\n\t\ts := mappings[index:]\n\t\treturn append(b, s[1:s[0]+1]...)\n\t}\n\tb = append(b, s...)\n\tif c&inlineXOR == inlineXOR {\n\t\t// TODO: support and handle two-byte inline masks\n\t\tb[len(b)-1] ^= byte(index)\n\t} else {\n\t\tfor p := len(b) - int(xorData[index]); p < len(b); p++ {\n\t\t\tindex++\n\t\t\tb[p] ^= xorData[index]\n\t\t}\n\t}\n\treturn b\n}\n\n// Sparse block handling code.\n\ntype valueRange struct {\n\tvalue  uint16 // header: value:stride\n\tlo, hi byte   // header: lo:n\n}\n\ntype sparseBlocks struct {\n\tvalues []valueRange\n\toffset []uint16\n}\n\nvar idnaSparse = sparseBlocks{\n\tvalues: idnaSparseValues[:],\n\toffset: idnaSparseOffset[:],\n}\n\n// Don't use newIdnaTrie to avoid unconditional linking in of the table.\nvar trie = &idnaTrie{}\n\n// lookup determines the type of block n and looks up the value for b.\n// For n < t.cutoff, the block is a simple lookup table. Otherwise, the block\n// is a list of ranges with an accompanying value. Given a matching range r,\n// the value for b is by r.value + (b - r.lo) * stride.\nfunc (t *sparseBlocks) lookup(n uint32, b byte) uint16 {\n\toffset := t.offset[n]\n\theader := t.values[offset]\n\tlo := offset + 1\n\thi := lo + uint16(header.lo)\n\tfor lo < hi {\n\t\tm := lo + (hi-lo)/2\n\t\tr := t.values[m]\n\t\tif r.lo <= b && b <= r.hi {\n\t\t\treturn r.value + uint16(b-r.lo)*header.value\n\t\t}\n\t\tif b < r.lo {\n\t\t\thi = m\n\t\t} else {\n\t\t\tlo = m + 1\n\t\t}\n\t}\n\treturn 0\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/idna/trieval.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage idna\n\n// This file contains definitions for interpreting the trie value of the idna\n// trie generated by \"go run gen*.go\". It is shared by both the generator\n// program and the resultant package. Sharing is achieved by the generator\n// copying gen_trieval.go to trieval.go and changing what's above this comment.\n\n// info holds information from the IDNA mapping table for a single rune. It is\n// the value returned by a trie lookup. In most cases, all information fits in\n// a 16-bit value. For mappings, this value may contain an index into a slice\n// with the mapped string. Such mappings can consist of the actual mapped value\n// or an XOR pattern to be applied to the bytes of the UTF8 encoding of the\n// input rune. This technique is used by the cases packages and reduces the\n// table size significantly.\n//\n// The per-rune values have the following format:\n//\n//   if mapped {\n//     if inlinedXOR {\n//       15..13 inline XOR marker\n//       12..11 unused\n//       10..3  inline XOR mask\n//     } else {\n//       15..3  index into xor or mapping table\n//     }\n//   } else {\n//       15..14 unused\n//       13     mayNeedNorm\n//       12..11 attributes\n//       10..8  joining type\n//        7..3  category type\n//   }\n//      2  use xor pattern\n//   1..0  mapped category\n//\n// See the definitions below for a more detailed description of the various\n// bits.\ntype info uint16\n\nconst (\n\tcatSmallMask = 0x3\n\tcatBigMask   = 0xF8\n\tindexShift   = 3\n\txorBit       = 0x4    // interpret the index as an xor pattern\n\tinlineXOR    = 0xE000 // These bits are set if the XOR pattern is inlined.\n\n\tjoinShift = 8\n\tjoinMask  = 0x07\n\n\t// Attributes\n\tattributesMask = 0x1800\n\tviramaModifier = 0x1800\n\tmodifier       = 0x1000\n\trtl            = 0x0800\n\n\tmayNeedNorm = 0x2000\n)\n\n// A category corresponds to a category defined in the IDNA mapping table.\ntype category uint16\n\nconst (\n\tunknown              category = 0 // not currently defined in unicode.\n\tmapped               category = 1\n\tdisallowedSTD3Mapped category = 2\n\tdeviation            category = 3\n)\n\nconst (\n\tvalid               category = 0x08\n\tvalidNV8            category = 0x18\n\tvalidXV8            category = 0x28\n\tdisallowed          category = 0x40\n\tdisallowedSTD3Valid category = 0x80\n\tignored             category = 0xC0\n)\n\n// join types and additional rune information\nconst (\n\tjoiningL = (iota + 1)\n\tjoiningD\n\tjoiningT\n\tjoiningR\n\n\t//the following types are derived during processing\n\tjoinZWJ\n\tjoinZWNJ\n\tjoinVirama\n\tnumJoinTypes\n)\n\nfunc (c info) isMapped() bool {\n\treturn c&0x3 != 0\n}\n\nfunc (c info) category() category {\n\tsmall := c & catSmallMask\n\tif small != 0 {\n\t\treturn category(small)\n\t}\n\treturn category(c & catBigMask)\n}\n\nfunc (c info) joinType() info {\n\tif c.isMapped() {\n\t\treturn 0\n\t}\n\treturn (c >> joinShift) & joinMask\n}\n\nfunc (c info) isModifier() bool {\n\treturn c&(modifier|catSmallMask) == modifier\n}\n\nfunc (c info) isViramaModifier() bool {\n\treturn c&(attributesMask|catSmallMask) == viramaModifier\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/internal/timeseries/timeseries.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package timeseries implements a time series structure for stats collection.\npackage timeseries // import \"golang.org/x/net/internal/timeseries\"\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"time\"\n)\n\nconst (\n\ttimeSeriesNumBuckets       = 64\n\tminuteHourSeriesNumBuckets = 60\n)\n\nvar timeSeriesResolutions = []time.Duration{\n\t1 * time.Second,\n\t10 * time.Second,\n\t1 * time.Minute,\n\t10 * time.Minute,\n\t1 * time.Hour,\n\t6 * time.Hour,\n\t24 * time.Hour,          // 1 day\n\t7 * 24 * time.Hour,      // 1 week\n\t4 * 7 * 24 * time.Hour,  // 4 weeks\n\t16 * 7 * 24 * time.Hour, // 16 weeks\n}\n\nvar minuteHourSeriesResolutions = []time.Duration{\n\t1 * time.Second,\n\t1 * time.Minute,\n}\n\n// An Observable is a kind of data that can be aggregated in a time series.\ntype Observable interface {\n\tMultiply(ratio float64)    // Multiplies the data in self by a given ratio\n\tAdd(other Observable)      // Adds the data from a different observation to self\n\tClear()                    // Clears the observation so it can be reused.\n\tCopyFrom(other Observable) // Copies the contents of a given observation to self\n}\n\n// Float attaches the methods of Observable to a float64.\ntype Float float64\n\n// NewFloat returns a Float.\nfunc NewFloat() Observable {\n\tf := Float(0)\n\treturn &f\n}\n\n// String returns the float as a string.\nfunc (f *Float) String() string { return fmt.Sprintf(\"%g\", f.Value()) }\n\n// Value returns the float's value.\nfunc (f *Float) Value() float64 { return float64(*f) }\n\nfunc (f *Float) Multiply(ratio float64) { *f *= Float(ratio) }\n\nfunc (f *Float) Add(other Observable) {\n\to := other.(*Float)\n\t*f += *o\n}\n\nfunc (f *Float) Clear() { *f = 0 }\n\nfunc (f *Float) CopyFrom(other Observable) {\n\to := other.(*Float)\n\t*f = *o\n}\n\n// A Clock tells the current time.\ntype Clock interface {\n\tTime() time.Time\n}\n\ntype defaultClock int\n\nvar defaultClockInstance defaultClock\n\nfunc (defaultClock) Time() time.Time { return time.Now() }\n\n// Information kept per level. Each level consists of a circular list of\n// observations. The start of the level may be derived from end and the\n// len(buckets) * sizeInMillis.\ntype tsLevel struct {\n\toldest   int               // index to oldest bucketed Observable\n\tnewest   int               // index to newest bucketed Observable\n\tend      time.Time         // end timestamp for this level\n\tsize     time.Duration     // duration of the bucketed Observable\n\tbuckets  []Observable      // collections of observations\n\tprovider func() Observable // used for creating new Observable\n}\n\nfunc (l *tsLevel) Clear() {\n\tl.oldest = 0\n\tl.newest = len(l.buckets) - 1\n\tl.end = time.Time{}\n\tfor i := range l.buckets {\n\t\tif l.buckets[i] != nil {\n\t\t\tl.buckets[i].Clear()\n\t\t\tl.buckets[i] = nil\n\t\t}\n\t}\n}\n\nfunc (l *tsLevel) InitLevel(size time.Duration, numBuckets int, f func() Observable) {\n\tl.size = size\n\tl.provider = f\n\tl.buckets = make([]Observable, numBuckets)\n}\n\n// Keeps a sequence of levels. Each level is responsible for storing data at\n// a given resolution. For example, the first level stores data at a one\n// minute resolution while the second level stores data at a one hour\n// resolution.\n\n// Each level is represented by a sequence of buckets. Each bucket spans an\n// interval equal to the resolution of the level. New observations are added\n// to the last bucket.\ntype timeSeries struct {\n\tprovider    func() Observable // make more Observable\n\tnumBuckets  int               // number of buckets in each level\n\tlevels      []*tsLevel        // levels of bucketed Observable\n\tlastAdd     time.Time         // time of last Observable tracked\n\ttotal       Observable        // convenient aggregation of all Observable\n\tclock       Clock             // Clock for getting current time\n\tpending     Observable        // observations not yet bucketed\n\tpendingTime time.Time         // what time are we keeping in pending\n\tdirty       bool              // if there are pending observations\n}\n\n// init initializes a level according to the supplied criteria.\nfunc (ts *timeSeries) init(resolutions []time.Duration, f func() Observable, numBuckets int, clock Clock) {\n\tts.provider = f\n\tts.numBuckets = numBuckets\n\tts.clock = clock\n\tts.levels = make([]*tsLevel, len(resolutions))\n\n\tfor i := range resolutions {\n\t\tif i > 0 && resolutions[i-1] >= resolutions[i] {\n\t\t\tlog.Print(\"timeseries: resolutions must be monotonically increasing\")\n\t\t\tbreak\n\t\t}\n\t\tnewLevel := new(tsLevel)\n\t\tnewLevel.InitLevel(resolutions[i], ts.numBuckets, ts.provider)\n\t\tts.levels[i] = newLevel\n\t}\n\n\tts.Clear()\n}\n\n// Clear removes all observations from the time series.\nfunc (ts *timeSeries) Clear() {\n\tts.lastAdd = time.Time{}\n\tts.total = ts.resetObservation(ts.total)\n\tts.pending = ts.resetObservation(ts.pending)\n\tts.pendingTime = time.Time{}\n\tts.dirty = false\n\n\tfor i := range ts.levels {\n\t\tts.levels[i].Clear()\n\t}\n}\n\n// Add records an observation at the current time.\nfunc (ts *timeSeries) Add(observation Observable) {\n\tts.AddWithTime(observation, ts.clock.Time())\n}\n\n// AddWithTime records an observation at the specified time.\nfunc (ts *timeSeries) AddWithTime(observation Observable, t time.Time) {\n\n\tsmallBucketDuration := ts.levels[0].size\n\n\tif t.After(ts.lastAdd) {\n\t\tts.lastAdd = t\n\t}\n\n\tif t.After(ts.pendingTime) {\n\t\tts.advance(t)\n\t\tts.mergePendingUpdates()\n\t\tts.pendingTime = ts.levels[0].end\n\t\tts.pending.CopyFrom(observation)\n\t\tts.dirty = true\n\t} else if t.After(ts.pendingTime.Add(-1 * smallBucketDuration)) {\n\t\t// The observation is close enough to go into the pending bucket.\n\t\t// This compensates for clock skewing and small scheduling delays\n\t\t// by letting the update stay in the fast path.\n\t\tts.pending.Add(observation)\n\t\tts.dirty = true\n\t} else {\n\t\tts.mergeValue(observation, t)\n\t}\n}\n\n// mergeValue inserts the observation at the specified time in the past into all levels.\nfunc (ts *timeSeries) mergeValue(observation Observable, t time.Time) {\n\tfor _, level := range ts.levels {\n\t\tindex := (ts.numBuckets - 1) - int(level.end.Sub(t)/level.size)\n\t\tif 0 <= index && index < ts.numBuckets {\n\t\t\tbucketNumber := (level.oldest + index) % ts.numBuckets\n\t\t\tif level.buckets[bucketNumber] == nil {\n\t\t\t\tlevel.buckets[bucketNumber] = level.provider()\n\t\t\t}\n\t\t\tlevel.buckets[bucketNumber].Add(observation)\n\t\t}\n\t}\n\tts.total.Add(observation)\n}\n\n// mergePendingUpdates applies the pending updates into all levels.\nfunc (ts *timeSeries) mergePendingUpdates() {\n\tif ts.dirty {\n\t\tts.mergeValue(ts.pending, ts.pendingTime)\n\t\tts.pending = ts.resetObservation(ts.pending)\n\t\tts.dirty = false\n\t}\n}\n\n// advance cycles the buckets at each level until the latest bucket in\n// each level can hold the time specified.\nfunc (ts *timeSeries) advance(t time.Time) {\n\tif !t.After(ts.levels[0].end) {\n\t\treturn\n\t}\n\tfor i := 0; i < len(ts.levels); i++ {\n\t\tlevel := ts.levels[i]\n\t\tif !level.end.Before(t) {\n\t\t\tbreak\n\t\t}\n\n\t\t// If the time is sufficiently far, just clear the level and advance\n\t\t// directly.\n\t\tif !t.Before(level.end.Add(level.size * time.Duration(ts.numBuckets))) {\n\t\t\tfor _, b := range level.buckets {\n\t\t\t\tts.resetObservation(b)\n\t\t\t}\n\t\t\tlevel.end = time.Unix(0, (t.UnixNano()/level.size.Nanoseconds())*level.size.Nanoseconds())\n\t\t}\n\n\t\tfor t.After(level.end) {\n\t\t\tlevel.end = level.end.Add(level.size)\n\t\t\tlevel.newest = level.oldest\n\t\t\tlevel.oldest = (level.oldest + 1) % ts.numBuckets\n\t\t\tts.resetObservation(level.buckets[level.newest])\n\t\t}\n\n\t\tt = level.end\n\t}\n}\n\n// Latest returns the sum of the num latest buckets from the level.\nfunc (ts *timeSeries) Latest(level, num int) Observable {\n\tnow := ts.clock.Time()\n\tif ts.levels[0].end.Before(now) {\n\t\tts.advance(now)\n\t}\n\n\tts.mergePendingUpdates()\n\n\tresult := ts.provider()\n\tl := ts.levels[level]\n\tindex := l.newest\n\n\tfor i := 0; i < num; i++ {\n\t\tif l.buckets[index] != nil {\n\t\t\tresult.Add(l.buckets[index])\n\t\t}\n\t\tif index == 0 {\n\t\t\tindex = ts.numBuckets\n\t\t}\n\t\tindex--\n\t}\n\n\treturn result\n}\n\n// LatestBuckets returns a copy of the num latest buckets from level.\nfunc (ts *timeSeries) LatestBuckets(level, num int) []Observable {\n\tif level < 0 || level > len(ts.levels) {\n\t\tlog.Print(\"timeseries: bad level argument: \", level)\n\t\treturn nil\n\t}\n\tif num < 0 || num >= ts.numBuckets {\n\t\tlog.Print(\"timeseries: bad num argument: \", num)\n\t\treturn nil\n\t}\n\n\tresults := make([]Observable, num)\n\tnow := ts.clock.Time()\n\tif ts.levels[0].end.Before(now) {\n\t\tts.advance(now)\n\t}\n\n\tts.mergePendingUpdates()\n\n\tl := ts.levels[level]\n\tindex := l.newest\n\n\tfor i := 0; i < num; i++ {\n\t\tresult := ts.provider()\n\t\tresults[i] = result\n\t\tif l.buckets[index] != nil {\n\t\t\tresult.CopyFrom(l.buckets[index])\n\t\t}\n\n\t\tif index == 0 {\n\t\t\tindex = ts.numBuckets\n\t\t}\n\t\tindex -= 1\n\t}\n\treturn results\n}\n\n// ScaleBy updates observations by scaling by factor.\nfunc (ts *timeSeries) ScaleBy(factor float64) {\n\tfor _, l := range ts.levels {\n\t\tfor i := 0; i < ts.numBuckets; i++ {\n\t\t\tl.buckets[i].Multiply(factor)\n\t\t}\n\t}\n\n\tts.total.Multiply(factor)\n\tts.pending.Multiply(factor)\n}\n\n// Range returns the sum of observations added over the specified time range.\n// If start or finish times don't fall on bucket boundaries of the same\n// level, then return values are approximate answers.\nfunc (ts *timeSeries) Range(start, finish time.Time) Observable {\n\treturn ts.ComputeRange(start, finish, 1)[0]\n}\n\n// Recent returns the sum of observations from the last delta.\nfunc (ts *timeSeries) Recent(delta time.Duration) Observable {\n\tnow := ts.clock.Time()\n\treturn ts.Range(now.Add(-delta), now)\n}\n\n// Total returns the total of all observations.\nfunc (ts *timeSeries) Total() Observable {\n\tts.mergePendingUpdates()\n\treturn ts.total\n}\n\n// ComputeRange computes a specified number of values into a slice using\n// the observations recorded over the specified time period. The return\n// values are approximate if the start or finish times don't fall on the\n// bucket boundaries at the same level or if the number of buckets spanning\n// the range is not an integral multiple of num.\nfunc (ts *timeSeries) ComputeRange(start, finish time.Time, num int) []Observable {\n\tif start.After(finish) {\n\t\tlog.Printf(\"timeseries: start > finish, %v>%v\", start, finish)\n\t\treturn nil\n\t}\n\n\tif num < 0 {\n\t\tlog.Printf(\"timeseries: num < 0, %v\", num)\n\t\treturn nil\n\t}\n\n\tresults := make([]Observable, num)\n\n\tfor _, l := range ts.levels {\n\t\tif !start.Before(l.end.Add(-l.size * time.Duration(ts.numBuckets))) {\n\t\t\tts.extract(l, start, finish, num, results)\n\t\t\treturn results\n\t\t}\n\t}\n\n\t// Failed to find a level that covers the desired range. So just\n\t// extract from the last level, even if it doesn't cover the entire\n\t// desired range.\n\tts.extract(ts.levels[len(ts.levels)-1], start, finish, num, results)\n\n\treturn results\n}\n\n// RecentList returns the specified number of values in slice over the most\n// recent time period of the specified range.\nfunc (ts *timeSeries) RecentList(delta time.Duration, num int) []Observable {\n\tif delta < 0 {\n\t\treturn nil\n\t}\n\tnow := ts.clock.Time()\n\treturn ts.ComputeRange(now.Add(-delta), now, num)\n}\n\n// extract returns a slice of specified number of observations from a given\n// level over a given range.\nfunc (ts *timeSeries) extract(l *tsLevel, start, finish time.Time, num int, results []Observable) {\n\tts.mergePendingUpdates()\n\n\tsrcInterval := l.size\n\tdstInterval := finish.Sub(start) / time.Duration(num)\n\tdstStart := start\n\tsrcStart := l.end.Add(-srcInterval * time.Duration(ts.numBuckets))\n\n\tsrcIndex := 0\n\n\t// Where should scanning start?\n\tif dstStart.After(srcStart) {\n\t\tadvance := dstStart.Sub(srcStart) / srcInterval\n\t\tsrcIndex += int(advance)\n\t\tsrcStart = srcStart.Add(advance * srcInterval)\n\t}\n\n\t// The i'th value is computed as show below.\n\t// interval = (finish/start)/num\n\t// i'th value = sum of observation in range\n\t//   [ start + i       * interval,\n\t//     start + (i + 1) * interval )\n\tfor i := 0; i < num; i++ {\n\t\tresults[i] = ts.resetObservation(results[i])\n\t\tdstEnd := dstStart.Add(dstInterval)\n\t\tfor srcIndex < ts.numBuckets && srcStart.Before(dstEnd) {\n\t\t\tsrcEnd := srcStart.Add(srcInterval)\n\t\t\tif srcEnd.After(ts.lastAdd) {\n\t\t\t\tsrcEnd = ts.lastAdd\n\t\t\t}\n\n\t\t\tif !srcEnd.Before(dstStart) {\n\t\t\t\tsrcValue := l.buckets[(srcIndex+l.oldest)%ts.numBuckets]\n\t\t\t\tif !srcStart.Before(dstStart) && !srcEnd.After(dstEnd) {\n\t\t\t\t\t// dst completely contains src.\n\t\t\t\t\tif srcValue != nil {\n\t\t\t\t\t\tresults[i].Add(srcValue)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// dst partially overlaps src.\n\t\t\t\t\toverlapStart := maxTime(srcStart, dstStart)\n\t\t\t\t\toverlapEnd := minTime(srcEnd, dstEnd)\n\t\t\t\t\tbase := srcEnd.Sub(srcStart)\n\t\t\t\t\tfraction := overlapEnd.Sub(overlapStart).Seconds() / base.Seconds()\n\n\t\t\t\t\tused := ts.provider()\n\t\t\t\t\tif srcValue != nil {\n\t\t\t\t\t\tused.CopyFrom(srcValue)\n\t\t\t\t\t}\n\t\t\t\t\tused.Multiply(fraction)\n\t\t\t\t\tresults[i].Add(used)\n\t\t\t\t}\n\n\t\t\t\tif srcEnd.After(dstEnd) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tsrcIndex++\n\t\t\tsrcStart = srcStart.Add(srcInterval)\n\t\t}\n\t\tdstStart = dstStart.Add(dstInterval)\n\t}\n}\n\n// resetObservation clears the content so the struct may be reused.\nfunc (ts *timeSeries) resetObservation(observation Observable) Observable {\n\tif observation == nil {\n\t\tobservation = ts.provider()\n\t} else {\n\t\tobservation.Clear()\n\t}\n\treturn observation\n}\n\n// TimeSeries tracks data at granularities from 1 second to 16 weeks.\ntype TimeSeries struct {\n\ttimeSeries\n}\n\n// NewTimeSeries creates a new TimeSeries using the function provided for creating new Observable.\nfunc NewTimeSeries(f func() Observable) *TimeSeries {\n\treturn NewTimeSeriesWithClock(f, defaultClockInstance)\n}\n\n// NewTimeSeriesWithClock creates a new TimeSeries using the function provided for creating new Observable and the clock for\n// assigning timestamps.\nfunc NewTimeSeriesWithClock(f func() Observable, clock Clock) *TimeSeries {\n\tts := new(TimeSeries)\n\tts.timeSeries.init(timeSeriesResolutions, f, timeSeriesNumBuckets, clock)\n\treturn ts\n}\n\n// MinuteHourSeries tracks data at granularities of 1 minute and 1 hour.\ntype MinuteHourSeries struct {\n\ttimeSeries\n}\n\n// NewMinuteHourSeries creates a new MinuteHourSeries using the function provided for creating new Observable.\nfunc NewMinuteHourSeries(f func() Observable) *MinuteHourSeries {\n\treturn NewMinuteHourSeriesWithClock(f, defaultClockInstance)\n}\n\n// NewMinuteHourSeriesWithClock creates a new MinuteHourSeries using the function provided for creating new Observable and the clock for\n// assigning timestamps.\nfunc NewMinuteHourSeriesWithClock(f func() Observable, clock Clock) *MinuteHourSeries {\n\tts := new(MinuteHourSeries)\n\tts.timeSeries.init(minuteHourSeriesResolutions, f,\n\t\tminuteHourSeriesNumBuckets, clock)\n\treturn ts\n}\n\nfunc (ts *MinuteHourSeries) Minute() Observable {\n\treturn ts.timeSeries.Latest(0, 60)\n}\n\nfunc (ts *MinuteHourSeries) Hour() Observable {\n\treturn ts.timeSeries.Latest(1, 60)\n}\n\nfunc minTime(a, b time.Time) time.Time {\n\tif a.Before(b) {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc maxTime(a, b time.Time) time.Time {\n\tif a.After(b) {\n\t\treturn a\n\t}\n\treturn b\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/lex/httplex/httplex.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package httplex contains rules around lexical matters of various\n// HTTP-related specifications.\n//\n// This package is shared by the standard library (which vendors it)\n// and x/net/http2. It comes with no API stability promise.\npackage httplex\n\nimport (\n\t\"net\"\n\t\"strings\"\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/net/idna\"\n)\n\nvar isTokenTable = [127]bool{\n\t'!':  true,\n\t'#':  true,\n\t'$':  true,\n\t'%':  true,\n\t'&':  true,\n\t'\\'': true,\n\t'*':  true,\n\t'+':  true,\n\t'-':  true,\n\t'.':  true,\n\t'0':  true,\n\t'1':  true,\n\t'2':  true,\n\t'3':  true,\n\t'4':  true,\n\t'5':  true,\n\t'6':  true,\n\t'7':  true,\n\t'8':  true,\n\t'9':  true,\n\t'A':  true,\n\t'B':  true,\n\t'C':  true,\n\t'D':  true,\n\t'E':  true,\n\t'F':  true,\n\t'G':  true,\n\t'H':  true,\n\t'I':  true,\n\t'J':  true,\n\t'K':  true,\n\t'L':  true,\n\t'M':  true,\n\t'N':  true,\n\t'O':  true,\n\t'P':  true,\n\t'Q':  true,\n\t'R':  true,\n\t'S':  true,\n\t'T':  true,\n\t'U':  true,\n\t'W':  true,\n\t'V':  true,\n\t'X':  true,\n\t'Y':  true,\n\t'Z':  true,\n\t'^':  true,\n\t'_':  true,\n\t'`':  true,\n\t'a':  true,\n\t'b':  true,\n\t'c':  true,\n\t'd':  true,\n\t'e':  true,\n\t'f':  true,\n\t'g':  true,\n\t'h':  true,\n\t'i':  true,\n\t'j':  true,\n\t'k':  true,\n\t'l':  true,\n\t'm':  true,\n\t'n':  true,\n\t'o':  true,\n\t'p':  true,\n\t'q':  true,\n\t'r':  true,\n\t's':  true,\n\t't':  true,\n\t'u':  true,\n\t'v':  true,\n\t'w':  true,\n\t'x':  true,\n\t'y':  true,\n\t'z':  true,\n\t'|':  true,\n\t'~':  true,\n}\n\nfunc IsTokenRune(r rune) bool {\n\ti := int(r)\n\treturn i < len(isTokenTable) && isTokenTable[i]\n}\n\nfunc isNotToken(r rune) bool {\n\treturn !IsTokenRune(r)\n}\n\n// HeaderValuesContainsToken reports whether any string in values\n// contains the provided token, ASCII case-insensitively.\nfunc HeaderValuesContainsToken(values []string, token string) bool {\n\tfor _, v := range values {\n\t\tif headerValueContainsToken(v, token) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// isOWS reports whether b is an optional whitespace byte, as defined\n// by RFC 7230 section 3.2.3.\nfunc isOWS(b byte) bool { return b == ' ' || b == '\\t' }\n\n// trimOWS returns x with all optional whitespace removes from the\n// beginning and end.\nfunc trimOWS(x string) string {\n\t// TODO: consider using strings.Trim(x, \" \\t\") instead,\n\t// if and when it's fast enough. See issue 10292.\n\t// But this ASCII-only code will probably always beat UTF-8\n\t// aware code.\n\tfor len(x) > 0 && isOWS(x[0]) {\n\t\tx = x[1:]\n\t}\n\tfor len(x) > 0 && isOWS(x[len(x)-1]) {\n\t\tx = x[:len(x)-1]\n\t}\n\treturn x\n}\n\n// headerValueContainsToken reports whether v (assumed to be a\n// 0#element, in the ABNF extension described in RFC 7230 section 7)\n// contains token amongst its comma-separated tokens, ASCII\n// case-insensitively.\nfunc headerValueContainsToken(v string, token string) bool {\n\tv = trimOWS(v)\n\tif comma := strings.IndexByte(v, ','); comma != -1 {\n\t\treturn tokenEqual(trimOWS(v[:comma]), token) || headerValueContainsToken(v[comma+1:], token)\n\t}\n\treturn tokenEqual(v, token)\n}\n\n// lowerASCII returns the ASCII lowercase version of b.\nfunc lowerASCII(b byte) byte {\n\tif 'A' <= b && b <= 'Z' {\n\t\treturn b + ('a' - 'A')\n\t}\n\treturn b\n}\n\n// tokenEqual reports whether t1 and t2 are equal, ASCII case-insensitively.\nfunc tokenEqual(t1, t2 string) bool {\n\tif len(t1) != len(t2) {\n\t\treturn false\n\t}\n\tfor i, b := range t1 {\n\t\tif b >= utf8.RuneSelf {\n\t\t\t// No UTF-8 or non-ASCII allowed in tokens.\n\t\t\treturn false\n\t\t}\n\t\tif lowerASCII(byte(b)) != lowerASCII(t2[i]) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// isLWS reports whether b is linear white space, according\n// to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2\n//      LWS            = [CRLF] 1*( SP | HT )\nfunc isLWS(b byte) bool { return b == ' ' || b == '\\t' }\n\n// isCTL reports whether b is a control byte, according\n// to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2\n//      CTL            = <any US-ASCII control character\n//                       (octets 0 - 31) and DEL (127)>\nfunc isCTL(b byte) bool {\n\tconst del = 0x7f // a CTL\n\treturn b < ' ' || b == del\n}\n\n// ValidHeaderFieldName reports whether v is a valid HTTP/1.x header name.\n// HTTP/2 imposes the additional restriction that uppercase ASCII\n// letters are not allowed.\n//\n//  RFC 7230 says:\n//   header-field   = field-name \":\" OWS field-value OWS\n//   field-name     = token\n//   token          = 1*tchar\n//   tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\" / \"+\" / \"-\" / \".\" /\n//           \"^\" / \"_\" / \"`\" / \"|\" / \"~\" / DIGIT / ALPHA\nfunc ValidHeaderFieldName(v string) bool {\n\tif len(v) == 0 {\n\t\treturn false\n\t}\n\tfor _, r := range v {\n\t\tif !IsTokenRune(r) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// ValidHostHeader reports whether h is a valid host header.\nfunc ValidHostHeader(h string) bool {\n\t// The latest spec is actually this:\n\t//\n\t// http://tools.ietf.org/html/rfc7230#section-5.4\n\t//     Host = uri-host [ \":\" port ]\n\t//\n\t// Where uri-host is:\n\t//     http://tools.ietf.org/html/rfc3986#section-3.2.2\n\t//\n\t// But we're going to be much more lenient for now and just\n\t// search for any byte that's not a valid byte in any of those\n\t// expressions.\n\tfor i := 0; i < len(h); i++ {\n\t\tif !validHostByte[h[i]] {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// See the validHostHeader comment.\nvar validHostByte = [256]bool{\n\t'0': true, '1': true, '2': true, '3': true, '4': true, '5': true, '6': true, '7': true,\n\t'8': true, '9': true,\n\n\t'a': true, 'b': true, 'c': true, 'd': true, 'e': true, 'f': true, 'g': true, 'h': true,\n\t'i': true, 'j': true, 'k': true, 'l': true, 'm': true, 'n': true, 'o': true, 'p': true,\n\t'q': true, 'r': true, 's': true, 't': true, 'u': true, 'v': true, 'w': true, 'x': true,\n\t'y': true, 'z': true,\n\n\t'A': true, 'B': true, 'C': true, 'D': true, 'E': true, 'F': true, 'G': true, 'H': true,\n\t'I': true, 'J': true, 'K': true, 'L': true, 'M': true, 'N': true, 'O': true, 'P': true,\n\t'Q': true, 'R': true, 'S': true, 'T': true, 'U': true, 'V': true, 'W': true, 'X': true,\n\t'Y': true, 'Z': true,\n\n\t'!':  true, // sub-delims\n\t'$':  true, // sub-delims\n\t'%':  true, // pct-encoded (and used in IPv6 zones)\n\t'&':  true, // sub-delims\n\t'(':  true, // sub-delims\n\t')':  true, // sub-delims\n\t'*':  true, // sub-delims\n\t'+':  true, // sub-delims\n\t',':  true, // sub-delims\n\t'-':  true, // unreserved\n\t'.':  true, // unreserved\n\t':':  true, // IPv6address + Host expression's optional port\n\t';':  true, // sub-delims\n\t'=':  true, // sub-delims\n\t'[':  true,\n\t'\\'': true, // sub-delims\n\t']':  true,\n\t'_':  true, // unreserved\n\t'~':  true, // unreserved\n}\n\n// ValidHeaderFieldValue reports whether v is a valid \"field-value\" according to\n// http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 :\n//\n//        message-header = field-name \":\" [ field-value ]\n//        field-value    = *( field-content | LWS )\n//        field-content  = <the OCTETs making up the field-value\n//                         and consisting of either *TEXT or combinations\n//                         of token, separators, and quoted-string>\n//\n// http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 :\n//\n//        TEXT           = <any OCTET except CTLs,\n//                          but including LWS>\n//        LWS            = [CRLF] 1*( SP | HT )\n//        CTL            = <any US-ASCII control character\n//                         (octets 0 - 31) and DEL (127)>\n//\n// RFC 7230 says:\n//  field-value    = *( field-content / obs-fold )\n//  obj-fold       =  N/A to http2, and deprecated\n//  field-content  = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n//  field-vchar    = VCHAR / obs-text\n//  obs-text       = %x80-FF\n//  VCHAR          = \"any visible [USASCII] character\"\n//\n// http2 further says: \"Similarly, HTTP/2 allows header field values\n// that are not valid. While most of the values that can be encoded\n// will not alter header field parsing, carriage return (CR, ASCII\n// 0xd), line feed (LF, ASCII 0xa), and the zero character (NUL, ASCII\n// 0x0) might be exploited by an attacker if they are translated\n// verbatim. Any request or response that contains a character not\n// permitted in a header field value MUST be treated as malformed\n// (Section 8.1.2.6). Valid characters are defined by the\n// field-content ABNF rule in Section 3.2 of [RFC7230].\"\n//\n// This function does not (yet?) properly handle the rejection of\n// strings that begin or end with SP or HTAB.\nfunc ValidHeaderFieldValue(v string) bool {\n\tfor i := 0; i < len(v); i++ {\n\t\tb := v[i]\n\t\tif isCTL(b) && !isLWS(b) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nfunc isASCII(s string) bool {\n\tfor i := 0; i < len(s); i++ {\n\t\tif s[i] >= utf8.RuneSelf {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// PunycodeHostPort returns the IDNA Punycode version\n// of the provided \"host\" or \"host:port\" string.\nfunc PunycodeHostPort(v string) (string, error) {\n\tif isASCII(v) {\n\t\treturn v, nil\n\t}\n\n\thost, port, err := net.SplitHostPort(v)\n\tif err != nil {\n\t\t// The input 'v' argument was just a \"host\" argument,\n\t\t// without a port. This error should not be returned\n\t\t// to the caller.\n\t\thost = v\n\t\tport = \"\"\n\t}\n\thost, err = idna.ToASCII(host)\n\tif err != nil {\n\t\t// Non-UTF-8? Not representable in Punycode, in any\n\t\t// case.\n\t\treturn \"\", err\n\t}\n\tif port == \"\" {\n\t\treturn host, nil\n\t}\n\treturn net.JoinHostPort(host, port), nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/trace/events.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage trace\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"io\"\n\t\"log\"\n\t\"net/http\"\n\t\"runtime\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"text/tabwriter\"\n\t\"time\"\n)\n\nconst maxEventsPerLog = 100\n\ntype bucket struct {\n\tMaxErrAge time.Duration\n\tString    string\n}\n\nvar buckets = []bucket{\n\t{0, \"total\"},\n\t{10 * time.Second, \"errs<10s\"},\n\t{1 * time.Minute, \"errs<1m\"},\n\t{10 * time.Minute, \"errs<10m\"},\n\t{1 * time.Hour, \"errs<1h\"},\n\t{10 * time.Hour, \"errs<10h\"},\n\t{24000 * time.Hour, \"errors\"},\n}\n\n// RenderEvents renders the HTML page typically served at /debug/events.\n// It does not do any auth checking. The request may be nil.\n//\n// Most users will use the Events handler.\nfunc RenderEvents(w http.ResponseWriter, req *http.Request, sensitive bool) {\n\tnow := time.Now()\n\tdata := &struct {\n\t\tFamilies []string // family names\n\t\tBuckets  []bucket\n\t\tCounts   [][]int // eventLog count per family/bucket\n\n\t\t// Set when a bucket has been selected.\n\t\tFamily    string\n\t\tBucket    int\n\t\tEventLogs eventLogs\n\t\tExpanded  bool\n\t}{\n\t\tBuckets: buckets,\n\t}\n\n\tdata.Families = make([]string, 0, len(families))\n\tfamMu.RLock()\n\tfor name := range families {\n\t\tdata.Families = append(data.Families, name)\n\t}\n\tfamMu.RUnlock()\n\tsort.Strings(data.Families)\n\n\t// Count the number of eventLogs in each family for each error age.\n\tdata.Counts = make([][]int, len(data.Families))\n\tfor i, name := range data.Families {\n\t\t// TODO(sameer): move this loop under the family lock.\n\t\tf := getEventFamily(name)\n\t\tdata.Counts[i] = make([]int, len(data.Buckets))\n\t\tfor j, b := range data.Buckets {\n\t\t\tdata.Counts[i][j] = f.Count(now, b.MaxErrAge)\n\t\t}\n\t}\n\n\tif req != nil {\n\t\tvar ok bool\n\t\tdata.Family, data.Bucket, ok = parseEventsArgs(req)\n\t\tif !ok {\n\t\t\t// No-op\n\t\t} else {\n\t\t\tdata.EventLogs = getEventFamily(data.Family).Copy(now, buckets[data.Bucket].MaxErrAge)\n\t\t}\n\t\tif data.EventLogs != nil {\n\t\t\tdefer data.EventLogs.Free()\n\t\t\tsort.Sort(data.EventLogs)\n\t\t}\n\t\tif exp, err := strconv.ParseBool(req.FormValue(\"exp\")); err == nil {\n\t\t\tdata.Expanded = exp\n\t\t}\n\t}\n\n\tfamMu.RLock()\n\tdefer famMu.RUnlock()\n\tif err := eventsTmpl().Execute(w, data); err != nil {\n\t\tlog.Printf(\"net/trace: Failed executing template: %v\", err)\n\t}\n}\n\nfunc parseEventsArgs(req *http.Request) (fam string, b int, ok bool) {\n\tfam, bStr := req.FormValue(\"fam\"), req.FormValue(\"b\")\n\tif fam == \"\" || bStr == \"\" {\n\t\treturn \"\", 0, false\n\t}\n\tb, err := strconv.Atoi(bStr)\n\tif err != nil || b < 0 || b >= len(buckets) {\n\t\treturn \"\", 0, false\n\t}\n\treturn fam, b, true\n}\n\n// An EventLog provides a log of events associated with a specific object.\ntype EventLog interface {\n\t// Printf formats its arguments with fmt.Sprintf and adds the\n\t// result to the event log.\n\tPrintf(format string, a ...interface{})\n\n\t// Errorf is like Printf, but it marks this event as an error.\n\tErrorf(format string, a ...interface{})\n\n\t// Finish declares that this event log is complete.\n\t// The event log should not be used after calling this method.\n\tFinish()\n}\n\n// NewEventLog returns a new EventLog with the specified family name\n// and title.\nfunc NewEventLog(family, title string) EventLog {\n\tel := newEventLog()\n\tel.ref()\n\tel.Family, el.Title = family, title\n\tel.Start = time.Now()\n\tel.events = make([]logEntry, 0, maxEventsPerLog)\n\tel.stack = make([]uintptr, 32)\n\tn := runtime.Callers(2, el.stack)\n\tel.stack = el.stack[:n]\n\n\tgetEventFamily(family).add(el)\n\treturn el\n}\n\nfunc (el *eventLog) Finish() {\n\tgetEventFamily(el.Family).remove(el)\n\tel.unref() // matches ref in New\n}\n\nvar (\n\tfamMu    sync.RWMutex\n\tfamilies = make(map[string]*eventFamily) // family name => family\n)\n\nfunc getEventFamily(fam string) *eventFamily {\n\tfamMu.Lock()\n\tdefer famMu.Unlock()\n\tf := families[fam]\n\tif f == nil {\n\t\tf = &eventFamily{}\n\t\tfamilies[fam] = f\n\t}\n\treturn f\n}\n\ntype eventFamily struct {\n\tmu        sync.RWMutex\n\teventLogs eventLogs\n}\n\nfunc (f *eventFamily) add(el *eventLog) {\n\tf.mu.Lock()\n\tf.eventLogs = append(f.eventLogs, el)\n\tf.mu.Unlock()\n}\n\nfunc (f *eventFamily) remove(el *eventLog) {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\tfor i, el0 := range f.eventLogs {\n\t\tif el == el0 {\n\t\t\tcopy(f.eventLogs[i:], f.eventLogs[i+1:])\n\t\t\tf.eventLogs = f.eventLogs[:len(f.eventLogs)-1]\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (f *eventFamily) Count(now time.Time, maxErrAge time.Duration) (n int) {\n\tf.mu.RLock()\n\tdefer f.mu.RUnlock()\n\tfor _, el := range f.eventLogs {\n\t\tif el.hasRecentError(now, maxErrAge) {\n\t\t\tn++\n\t\t}\n\t}\n\treturn\n}\n\nfunc (f *eventFamily) Copy(now time.Time, maxErrAge time.Duration) (els eventLogs) {\n\tf.mu.RLock()\n\tdefer f.mu.RUnlock()\n\tels = make(eventLogs, 0, len(f.eventLogs))\n\tfor _, el := range f.eventLogs {\n\t\tif el.hasRecentError(now, maxErrAge) {\n\t\t\tel.ref()\n\t\t\tels = append(els, el)\n\t\t}\n\t}\n\treturn\n}\n\ntype eventLogs []*eventLog\n\n// Free calls unref on each element of the list.\nfunc (els eventLogs) Free() {\n\tfor _, el := range els {\n\t\tel.unref()\n\t}\n}\n\n// eventLogs may be sorted in reverse chronological order.\nfunc (els eventLogs) Len() int           { return len(els) }\nfunc (els eventLogs) Less(i, j int) bool { return els[i].Start.After(els[j].Start) }\nfunc (els eventLogs) Swap(i, j int)      { els[i], els[j] = els[j], els[i] }\n\n// A logEntry is a timestamped log entry in an event log.\ntype logEntry struct {\n\tWhen    time.Time\n\tElapsed time.Duration // since previous event in log\n\tNewDay  bool          // whether this event is on a different day to the previous event\n\tWhat    string\n\tIsErr   bool\n}\n\n// WhenString returns a string representation of the elapsed time of the event.\n// It will include the date if midnight was crossed.\nfunc (e logEntry) WhenString() string {\n\tif e.NewDay {\n\t\treturn e.When.Format(\"2006/01/02 15:04:05.000000\")\n\t}\n\treturn e.When.Format(\"15:04:05.000000\")\n}\n\n// An eventLog represents an active event log.\ntype eventLog struct {\n\t// Family is the top-level grouping of event logs to which this belongs.\n\tFamily string\n\n\t// Title is the title of this event log.\n\tTitle string\n\n\t// Timing information.\n\tStart time.Time\n\n\t// Call stack where this event log was created.\n\tstack []uintptr\n\n\t// Append-only sequence of events.\n\t//\n\t// TODO(sameer): change this to a ring buffer to avoid the array copy\n\t// when we hit maxEventsPerLog.\n\tmu            sync.RWMutex\n\tevents        []logEntry\n\tLastErrorTime time.Time\n\tdiscarded     int\n\n\trefs int32 // how many buckets this is in\n}\n\nfunc (el *eventLog) reset() {\n\t// Clear all but the mutex. Mutexes may not be copied, even when unlocked.\n\tel.Family = \"\"\n\tel.Title = \"\"\n\tel.Start = time.Time{}\n\tel.stack = nil\n\tel.events = nil\n\tel.LastErrorTime = time.Time{}\n\tel.discarded = 0\n\tel.refs = 0\n}\n\nfunc (el *eventLog) hasRecentError(now time.Time, maxErrAge time.Duration) bool {\n\tif maxErrAge == 0 {\n\t\treturn true\n\t}\n\tel.mu.RLock()\n\tdefer el.mu.RUnlock()\n\treturn now.Sub(el.LastErrorTime) < maxErrAge\n}\n\n// delta returns the elapsed time since the last event or the log start,\n// and whether it spans midnight.\n// L >= el.mu\nfunc (el *eventLog) delta(t time.Time) (time.Duration, bool) {\n\tif len(el.events) == 0 {\n\t\treturn t.Sub(el.Start), false\n\t}\n\tprev := el.events[len(el.events)-1].When\n\treturn t.Sub(prev), prev.Day() != t.Day()\n\n}\n\nfunc (el *eventLog) Printf(format string, a ...interface{}) {\n\tel.printf(false, format, a...)\n}\n\nfunc (el *eventLog) Errorf(format string, a ...interface{}) {\n\tel.printf(true, format, a...)\n}\n\nfunc (el *eventLog) printf(isErr bool, format string, a ...interface{}) {\n\te := logEntry{When: time.Now(), IsErr: isErr, What: fmt.Sprintf(format, a...)}\n\tel.mu.Lock()\n\te.Elapsed, e.NewDay = el.delta(e.When)\n\tif len(el.events) < maxEventsPerLog {\n\t\tel.events = append(el.events, e)\n\t} else {\n\t\t// Discard the oldest event.\n\t\tif el.discarded == 0 {\n\t\t\t// el.discarded starts at two to count for the event it\n\t\t\t// is replacing, plus the next one that we are about to\n\t\t\t// drop.\n\t\t\tel.discarded = 2\n\t\t} else {\n\t\t\tel.discarded++\n\t\t}\n\t\t// TODO(sameer): if this causes allocations on a critical path,\n\t\t// change eventLog.What to be a fmt.Stringer, as in trace.go.\n\t\tel.events[0].What = fmt.Sprintf(\"(%d events discarded)\", el.discarded)\n\t\t// The timestamp of the discarded meta-event should be\n\t\t// the time of the last event it is representing.\n\t\tel.events[0].When = el.events[1].When\n\t\tcopy(el.events[1:], el.events[2:])\n\t\tel.events[maxEventsPerLog-1] = e\n\t}\n\tif e.IsErr {\n\t\tel.LastErrorTime = e.When\n\t}\n\tel.mu.Unlock()\n}\n\nfunc (el *eventLog) ref() {\n\tatomic.AddInt32(&el.refs, 1)\n}\n\nfunc (el *eventLog) unref() {\n\tif atomic.AddInt32(&el.refs, -1) == 0 {\n\t\tfreeEventLog(el)\n\t}\n}\n\nfunc (el *eventLog) When() string {\n\treturn el.Start.Format(\"2006/01/02 15:04:05.000000\")\n}\n\nfunc (el *eventLog) ElapsedTime() string {\n\telapsed := time.Since(el.Start)\n\treturn fmt.Sprintf(\"%.6f\", elapsed.Seconds())\n}\n\nfunc (el *eventLog) Stack() string {\n\tbuf := new(bytes.Buffer)\n\ttw := tabwriter.NewWriter(buf, 1, 8, 1, '\\t', 0)\n\tprintStackRecord(tw, el.stack)\n\ttw.Flush()\n\treturn buf.String()\n}\n\n// printStackRecord prints the function + source line information\n// for a single stack trace.\n// Adapted from runtime/pprof/pprof.go.\nfunc printStackRecord(w io.Writer, stk []uintptr) {\n\tfor _, pc := range stk {\n\t\tf := runtime.FuncForPC(pc)\n\t\tif f == nil {\n\t\t\tcontinue\n\t\t}\n\t\tfile, line := f.FileLine(pc)\n\t\tname := f.Name()\n\t\t// Hide runtime.goexit and any runtime functions at the beginning.\n\t\tif strings.HasPrefix(name, \"runtime.\") {\n\t\t\tcontinue\n\t\t}\n\t\tfmt.Fprintf(w, \"#   %s\\t%s:%d\\n\", name, file, line)\n\t}\n}\n\nfunc (el *eventLog) Events() []logEntry {\n\tel.mu.RLock()\n\tdefer el.mu.RUnlock()\n\treturn el.events\n}\n\n// freeEventLogs is a freelist of *eventLog\nvar freeEventLogs = make(chan *eventLog, 1000)\n\n// newEventLog returns a event log ready to use.\nfunc newEventLog() *eventLog {\n\tselect {\n\tcase el := <-freeEventLogs:\n\t\treturn el\n\tdefault:\n\t\treturn new(eventLog)\n\t}\n}\n\n// freeEventLog adds el to freeEventLogs if there's room.\n// This is non-blocking.\nfunc freeEventLog(el *eventLog) {\n\tel.reset()\n\tselect {\n\tcase freeEventLogs <- el:\n\tdefault:\n\t}\n}\n\nvar eventsTmplCache *template.Template\nvar eventsTmplOnce sync.Once\n\nfunc eventsTmpl() *template.Template {\n\teventsTmplOnce.Do(func() {\n\t\teventsTmplCache = template.Must(template.New(\"events\").Funcs(template.FuncMap{\n\t\t\t\"elapsed\":   elapsed,\n\t\t\t\"trimSpace\": strings.TrimSpace,\n\t\t}).Parse(eventsHTML))\n\t})\n\treturn eventsTmplCache\n}\n\nconst eventsHTML = `\n<html>\n\t<head>\n\t\t<title>events</title>\n\t</head>\n\t<style type=\"text/css\">\n\t\tbody {\n\t\t\tfont-family: sans-serif;\n\t\t}\n\t\ttable#req-status td.family {\n\t\t\tpadding-right: 2em;\n\t\t}\n\t\ttable#req-status td.active {\n\t\t\tpadding-right: 1em;\n\t\t}\n\t\ttable#req-status td.empty {\n\t\t\tcolor: #aaa;\n\t\t}\n\t\ttable#reqs {\n\t\t\tmargin-top: 1em;\n\t\t}\n\t\ttable#reqs tr.first {\n\t\t\t{{if $.Expanded}}font-weight: bold;{{end}}\n\t\t}\n\t\ttable#reqs td {\n\t\t\tfont-family: monospace;\n\t\t}\n\t\ttable#reqs td.when {\n\t\t\ttext-align: right;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\ttable#reqs td.elapsed {\n\t\t\tpadding: 0 0.5em;\n\t\t\ttext-align: right;\n\t\t\twhite-space: pre;\n\t\t\twidth: 10em;\n\t\t}\n\t\taddress {\n\t\t\tfont-size: smaller;\n\t\t\tmargin-top: 5em;\n\t\t}\n\t</style>\n\t<body>\n\n<h1>/debug/events</h1>\n\n<table id=\"req-status\">\n\t{{range $i, $fam := .Families}}\n\t<tr>\n\t\t<td class=\"family\">{{$fam}}</td>\n\n\t        {{range $j, $bucket := $.Buckets}}\n\t        {{$n := index $.Counts $i $j}}\n\t\t<td class=\"{{if not $bucket.MaxErrAge}}active{{end}}{{if not $n}}empty{{end}}\">\n\t                {{if $n}}<a href=\"?fam={{$fam}}&b={{$j}}{{if $.Expanded}}&exp=1{{end}}\">{{end}}\n\t\t        [{{$n}} {{$bucket.String}}]\n\t\t\t{{if $n}}</a>{{end}}\n\t\t</td>\n                {{end}}\n\n\t</tr>{{end}}\n</table>\n\n{{if $.EventLogs}}\n<hr />\n<h3>Family: {{$.Family}}</h3>\n\n{{if $.Expanded}}<a href=\"?fam={{$.Family}}&b={{$.Bucket}}\">{{end}}\n[Summary]{{if $.Expanded}}</a>{{end}}\n\n{{if not $.Expanded}}<a href=\"?fam={{$.Family}}&b={{$.Bucket}}&exp=1\">{{end}}\n[Expanded]{{if not $.Expanded}}</a>{{end}}\n\n<table id=\"reqs\">\n\t<tr><th>When</th><th>Elapsed</th></tr>\n\t{{range $el := $.EventLogs}}\n\t<tr class=\"first\">\n\t\t<td class=\"when\">{{$el.When}}</td>\n\t\t<td class=\"elapsed\">{{$el.ElapsedTime}}</td>\n\t\t<td>{{$el.Title}}\n\t</tr>\n\t{{if $.Expanded}}\n\t<tr>\n\t\t<td class=\"when\"></td>\n\t\t<td class=\"elapsed\"></td>\n\t\t<td><pre>{{$el.Stack|trimSpace}}</pre></td>\n\t</tr>\n\t{{range $el.Events}}\n\t<tr>\n\t\t<td class=\"when\">{{.WhenString}}</td>\n\t\t<td class=\"elapsed\">{{elapsed .Elapsed}}</td>\n\t\t<td>.{{if .IsErr}}E{{else}}.{{end}}. {{.What}}</td>\n\t</tr>\n\t{{end}}\n\t{{end}}\n\t{{end}}\n</table>\n{{end}}\n\t</body>\n</html>\n`\n"
  },
  {
    "path": "vendor/golang.org/x/net/trace/histogram.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage trace\n\n// This file implements histogramming for RPC statistics collection.\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"log\"\n\t\"math\"\n\t\"sync\"\n\n\t\"golang.org/x/net/internal/timeseries\"\n)\n\nconst (\n\tbucketCount = 38\n)\n\n// histogram keeps counts of values in buckets that are spaced\n// out in powers of 2: 0-1, 2-3, 4-7...\n// histogram implements timeseries.Observable\ntype histogram struct {\n\tsum          int64   // running total of measurements\n\tsumOfSquares float64 // square of running total\n\tbuckets      []int64 // bucketed values for histogram\n\tvalue        int     // holds a single value as an optimization\n\tvalueCount   int64   // number of values recorded for single value\n}\n\n// AddMeasurement records a value measurement observation to the histogram.\nfunc (h *histogram) addMeasurement(value int64) {\n\t// TODO: assert invariant\n\th.sum += value\n\th.sumOfSquares += float64(value) * float64(value)\n\n\tbucketIndex := getBucket(value)\n\n\tif h.valueCount == 0 || (h.valueCount > 0 && h.value == bucketIndex) {\n\t\th.value = bucketIndex\n\t\th.valueCount++\n\t} else {\n\t\th.allocateBuckets()\n\t\th.buckets[bucketIndex]++\n\t}\n}\n\nfunc (h *histogram) allocateBuckets() {\n\tif h.buckets == nil {\n\t\th.buckets = make([]int64, bucketCount)\n\t\th.buckets[h.value] = h.valueCount\n\t\th.value = 0\n\t\th.valueCount = -1\n\t}\n}\n\nfunc log2(i int64) int {\n\tn := 0\n\tfor ; i >= 0x100; i >>= 8 {\n\t\tn += 8\n\t}\n\tfor ; i > 0; i >>= 1 {\n\t\tn += 1\n\t}\n\treturn n\n}\n\nfunc getBucket(i int64) (index int) {\n\tindex = log2(i) - 1\n\tif index < 0 {\n\t\tindex = 0\n\t}\n\tif index >= bucketCount {\n\t\tindex = bucketCount - 1\n\t}\n\treturn\n}\n\n// Total returns the number of recorded observations.\nfunc (h *histogram) total() (total int64) {\n\tif h.valueCount >= 0 {\n\t\ttotal = h.valueCount\n\t}\n\tfor _, val := range h.buckets {\n\t\ttotal += int64(val)\n\t}\n\treturn\n}\n\n// Average returns the average value of recorded observations.\nfunc (h *histogram) average() float64 {\n\tt := h.total()\n\tif t == 0 {\n\t\treturn 0\n\t}\n\treturn float64(h.sum) / float64(t)\n}\n\n// Variance returns the variance of recorded observations.\nfunc (h *histogram) variance() float64 {\n\tt := float64(h.total())\n\tif t == 0 {\n\t\treturn 0\n\t}\n\ts := float64(h.sum) / t\n\treturn h.sumOfSquares/t - s*s\n}\n\n// StandardDeviation returns the standard deviation of recorded observations.\nfunc (h *histogram) standardDeviation() float64 {\n\treturn math.Sqrt(h.variance())\n}\n\n// PercentileBoundary estimates the value that the given fraction of recorded\n// observations are less than.\nfunc (h *histogram) percentileBoundary(percentile float64) int64 {\n\ttotal := h.total()\n\n\t// Corner cases (make sure result is strictly less than Total())\n\tif total == 0 {\n\t\treturn 0\n\t} else if total == 1 {\n\t\treturn int64(h.average())\n\t}\n\n\tpercentOfTotal := round(float64(total) * percentile)\n\tvar runningTotal int64\n\n\tfor i := range h.buckets {\n\t\tvalue := h.buckets[i]\n\t\trunningTotal += value\n\t\tif runningTotal == percentOfTotal {\n\t\t\t// We hit an exact bucket boundary. If the next bucket has data, it is a\n\t\t\t// good estimate of the value. If the bucket is empty, we interpolate the\n\t\t\t// midpoint between the next bucket's boundary and the next non-zero\n\t\t\t// bucket. If the remaining buckets are all empty, then we use the\n\t\t\t// boundary for the next bucket as the estimate.\n\t\t\tj := uint8(i + 1)\n\t\t\tmin := bucketBoundary(j)\n\t\t\tif runningTotal < total {\n\t\t\t\tfor h.buckets[j] == 0 {\n\t\t\t\t\tj++\n\t\t\t\t}\n\t\t\t}\n\t\t\tmax := bucketBoundary(j)\n\t\t\treturn min + round(float64(max-min)/2)\n\t\t} else if runningTotal > percentOfTotal {\n\t\t\t// The value is in this bucket. Interpolate the value.\n\t\t\tdelta := runningTotal - percentOfTotal\n\t\t\tpercentBucket := float64(value-delta) / float64(value)\n\t\t\tbucketMin := bucketBoundary(uint8(i))\n\t\t\tnextBucketMin := bucketBoundary(uint8(i + 1))\n\t\t\tbucketSize := nextBucketMin - bucketMin\n\t\t\treturn bucketMin + round(percentBucket*float64(bucketSize))\n\t\t}\n\t}\n\treturn bucketBoundary(bucketCount - 1)\n}\n\n// Median returns the estimated median of the observed values.\nfunc (h *histogram) median() int64 {\n\treturn h.percentileBoundary(0.5)\n}\n\n// Add adds other to h.\nfunc (h *histogram) Add(other timeseries.Observable) {\n\to := other.(*histogram)\n\tif o.valueCount == 0 {\n\t\t// Other histogram is empty\n\t} else if h.valueCount >= 0 && o.valueCount > 0 && h.value == o.value {\n\t\t// Both have a single bucketed value, aggregate them\n\t\th.valueCount += o.valueCount\n\t} else {\n\t\t// Two different values necessitate buckets in this histogram\n\t\th.allocateBuckets()\n\t\tif o.valueCount >= 0 {\n\t\t\th.buckets[o.value] += o.valueCount\n\t\t} else {\n\t\t\tfor i := range h.buckets {\n\t\t\t\th.buckets[i] += o.buckets[i]\n\t\t\t}\n\t\t}\n\t}\n\th.sumOfSquares += o.sumOfSquares\n\th.sum += o.sum\n}\n\n// Clear resets the histogram to an empty state, removing all observed values.\nfunc (h *histogram) Clear() {\n\th.buckets = nil\n\th.value = 0\n\th.valueCount = 0\n\th.sum = 0\n\th.sumOfSquares = 0\n}\n\n// CopyFrom copies from other, which must be a *histogram, into h.\nfunc (h *histogram) CopyFrom(other timeseries.Observable) {\n\to := other.(*histogram)\n\tif o.valueCount == -1 {\n\t\th.allocateBuckets()\n\t\tcopy(h.buckets, o.buckets)\n\t}\n\th.sum = o.sum\n\th.sumOfSquares = o.sumOfSquares\n\th.value = o.value\n\th.valueCount = o.valueCount\n}\n\n// Multiply scales the histogram by the specified ratio.\nfunc (h *histogram) Multiply(ratio float64) {\n\tif h.valueCount == -1 {\n\t\tfor i := range h.buckets {\n\t\t\th.buckets[i] = int64(float64(h.buckets[i]) * ratio)\n\t\t}\n\t} else {\n\t\th.valueCount = int64(float64(h.valueCount) * ratio)\n\t}\n\th.sum = int64(float64(h.sum) * ratio)\n\th.sumOfSquares = h.sumOfSquares * ratio\n}\n\n// New creates a new histogram.\nfunc (h *histogram) New() timeseries.Observable {\n\tr := new(histogram)\n\tr.Clear()\n\treturn r\n}\n\nfunc (h *histogram) String() string {\n\treturn fmt.Sprintf(\"%d, %f, %d, %d, %v\",\n\t\th.sum, h.sumOfSquares, h.value, h.valueCount, h.buckets)\n}\n\n// round returns the closest int64 to the argument\nfunc round(in float64) int64 {\n\treturn int64(math.Floor(in + 0.5))\n}\n\n// bucketBoundary returns the first value in the bucket.\nfunc bucketBoundary(bucket uint8) int64 {\n\tif bucket == 0 {\n\t\treturn 0\n\t}\n\treturn 1 << bucket\n}\n\n// bucketData holds data about a specific bucket for use in distTmpl.\ntype bucketData struct {\n\tLower, Upper       int64\n\tN                  int64\n\tPct, CumulativePct float64\n\tGraphWidth         int\n}\n\n// data holds data about a Distribution for use in distTmpl.\ntype data struct {\n\tBuckets                 []*bucketData\n\tCount, Median           int64\n\tMean, StandardDeviation float64\n}\n\n// maxHTMLBarWidth is the maximum width of the HTML bar for visualizing buckets.\nconst maxHTMLBarWidth = 350.0\n\n// newData returns data representing h for use in distTmpl.\nfunc (h *histogram) newData() *data {\n\t// Force the allocation of buckets to simplify the rendering implementation\n\th.allocateBuckets()\n\t// We scale the bars on the right so that the largest bar is\n\t// maxHTMLBarWidth pixels in width.\n\tmaxBucket := int64(0)\n\tfor _, n := range h.buckets {\n\t\tif n > maxBucket {\n\t\t\tmaxBucket = n\n\t\t}\n\t}\n\ttotal := h.total()\n\tbarsizeMult := maxHTMLBarWidth / float64(maxBucket)\n\tvar pctMult float64\n\tif total == 0 {\n\t\tpctMult = 1.0\n\t} else {\n\t\tpctMult = 100.0 / float64(total)\n\t}\n\n\tbuckets := make([]*bucketData, len(h.buckets))\n\trunningTotal := int64(0)\n\tfor i, n := range h.buckets {\n\t\tif n == 0 {\n\t\t\tcontinue\n\t\t}\n\t\trunningTotal += n\n\t\tvar upperBound int64\n\t\tif i < bucketCount-1 {\n\t\t\tupperBound = bucketBoundary(uint8(i + 1))\n\t\t} else {\n\t\t\tupperBound = math.MaxInt64\n\t\t}\n\t\tbuckets[i] = &bucketData{\n\t\t\tLower:         bucketBoundary(uint8(i)),\n\t\t\tUpper:         upperBound,\n\t\t\tN:             n,\n\t\t\tPct:           float64(n) * pctMult,\n\t\t\tCumulativePct: float64(runningTotal) * pctMult,\n\t\t\tGraphWidth:    int(float64(n) * barsizeMult),\n\t\t}\n\t}\n\treturn &data{\n\t\tBuckets:           buckets,\n\t\tCount:             total,\n\t\tMedian:            h.median(),\n\t\tMean:              h.average(),\n\t\tStandardDeviation: h.standardDeviation(),\n\t}\n}\n\nfunc (h *histogram) html() template.HTML {\n\tbuf := new(bytes.Buffer)\n\tif err := distTmpl().Execute(buf, h.newData()); err != nil {\n\t\tbuf.Reset()\n\t\tlog.Printf(\"net/trace: couldn't execute template: %v\", err)\n\t}\n\treturn template.HTML(buf.String())\n}\n\nvar distTmplCache *template.Template\nvar distTmplOnce sync.Once\n\nfunc distTmpl() *template.Template {\n\tdistTmplOnce.Do(func() {\n\t\t// Input: data\n\t\tdistTmplCache = template.Must(template.New(\"distTmpl\").Parse(`\n<table>\n<tr>\n    <td style=\"padding:0.25em\">Count: {{.Count}}</td>\n    <td style=\"padding:0.25em\">Mean: {{printf \"%.0f\" .Mean}}</td>\n    <td style=\"padding:0.25em\">StdDev: {{printf \"%.0f\" .StandardDeviation}}</td>\n    <td style=\"padding:0.25em\">Median: {{.Median}}</td>\n</tr>\n</table>\n<hr>\n<table>\n{{range $b := .Buckets}}\n{{if $b}}\n  <tr>\n    <td style=\"padding:0 0 0 0.25em\">[</td>\n    <td style=\"text-align:right;padding:0 0.25em\">{{.Lower}},</td>\n    <td style=\"text-align:right;padding:0 0.25em\">{{.Upper}})</td>\n    <td style=\"text-align:right;padding:0 0.25em\">{{.N}}</td>\n    <td style=\"text-align:right;padding:0 0.25em\">{{printf \"%#.3f\" .Pct}}%</td>\n    <td style=\"text-align:right;padding:0 0.25em\">{{printf \"%#.3f\" .CumulativePct}}%</td>\n    <td><div style=\"background-color: blue; height: 1em; width: {{.GraphWidth}};\"></div></td>\n  </tr>\n{{end}}\n{{end}}\n</table>\n`))\n\t})\n\treturn distTmplCache\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/trace/trace.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n/*\nPackage trace implements tracing of requests and long-lived objects.\nIt exports HTTP interfaces on /debug/requests and /debug/events.\n\nA trace.Trace provides tracing for short-lived objects, usually requests.\nA request handler might be implemented like this:\n\n\tfunc fooHandler(w http.ResponseWriter, req *http.Request) {\n\t\ttr := trace.New(\"mypkg.Foo\", req.URL.Path)\n\t\tdefer tr.Finish()\n\t\t...\n\t\ttr.LazyPrintf(\"some event %q happened\", str)\n\t\t...\n\t\tif err := somethingImportant(); err != nil {\n\t\t\ttr.LazyPrintf(\"somethingImportant failed: %v\", err)\n\t\t\ttr.SetError()\n\t\t}\n\t}\n\nThe /debug/requests HTTP endpoint organizes the traces by family,\nerrors, and duration.  It also provides histogram of request duration\nfor each family.\n\nA trace.EventLog provides tracing for long-lived objects, such as RPC\nconnections.\n\n\t// A Fetcher fetches URL paths for a single domain.\n\ttype Fetcher struct {\n\t\tdomain string\n\t\tevents trace.EventLog\n\t}\n\n\tfunc NewFetcher(domain string) *Fetcher {\n\t\treturn &Fetcher{\n\t\t\tdomain,\n\t\t\ttrace.NewEventLog(\"mypkg.Fetcher\", domain),\n\t\t}\n\t}\n\n\tfunc (f *Fetcher) Fetch(path string) (string, error) {\n\t\tresp, err := http.Get(\"http://\" + f.domain + \"/\" + path)\n\t\tif err != nil {\n\t\t\tf.events.Errorf(\"Get(%q) = %v\", path, err)\n\t\t\treturn \"\", err\n\t\t}\n\t\tf.events.Printf(\"Get(%q) = %s\", path, resp.Status)\n\t\t...\n\t}\n\n\tfunc (f *Fetcher) Close() error {\n\t\tf.events.Finish()\n\t\treturn nil\n\t}\n\nThe /debug/events HTTP endpoint organizes the event logs by family and\nby time since the last error.  The expanded view displays recent log\nentries and the log's call stack.\n*/\npackage trace // import \"golang.org/x/net/trace\"\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"io\"\n\t\"log\"\n\t\"net\"\n\t\"net/http\"\n\t\"runtime\"\n\t\"sort\"\n\t\"strconv\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"golang.org/x/net/internal/timeseries\"\n)\n\n// DebugUseAfterFinish controls whether to debug uses of Trace values after finishing.\n// FOR DEBUGGING ONLY. This will slow down the program.\nvar DebugUseAfterFinish = false\n\n// AuthRequest determines whether a specific request is permitted to load the\n// /debug/requests or /debug/events pages.\n//\n// It returns two bools; the first indicates whether the page may be viewed at all,\n// and the second indicates whether sensitive events will be shown.\n//\n// AuthRequest may be replaced by a program to customize its authorization requirements.\n//\n// The default AuthRequest function returns (true, true) if and only if the request\n// comes from localhost/127.0.0.1/[::1].\nvar AuthRequest = func(req *http.Request) (any, sensitive bool) {\n\t// RemoteAddr is commonly in the form \"IP\" or \"IP:port\".\n\t// If it is in the form \"IP:port\", split off the port.\n\thost, _, err := net.SplitHostPort(req.RemoteAddr)\n\tif err != nil {\n\t\thost = req.RemoteAddr\n\t}\n\tswitch host {\n\tcase \"localhost\", \"127.0.0.1\", \"::1\":\n\t\treturn true, true\n\tdefault:\n\t\treturn false, false\n\t}\n}\n\nfunc init() {\n\t// TODO(jbd): Serve Traces from /debug/traces in the future?\n\t// There is no requirement for a request to be present to have traces.\n\thttp.HandleFunc(\"/debug/requests\", Traces)\n\thttp.HandleFunc(\"/debug/events\", Events)\n}\n\n// Traces responds with traces from the program.\n// The package initialization registers it in http.DefaultServeMux\n// at /debug/requests.\n//\n// It performs authorization by running AuthRequest.\nfunc Traces(w http.ResponseWriter, req *http.Request) {\n\tany, sensitive := AuthRequest(req)\n\tif !any {\n\t\thttp.Error(w, \"not allowed\", http.StatusUnauthorized)\n\t\treturn\n\t}\n\tw.Header().Set(\"Content-Type\", \"text/html; charset=utf-8\")\n\tRender(w, req, sensitive)\n}\n\n// Events responds with a page of events collected by EventLogs.\n// The package initialization registers it in http.DefaultServeMux\n// at /debug/events.\n//\n// It performs authorization by running AuthRequest.\nfunc Events(w http.ResponseWriter, req *http.Request) {\n\tany, sensitive := AuthRequest(req)\n\tif !any {\n\t\thttp.Error(w, \"not allowed\", http.StatusUnauthorized)\n\t\treturn\n\t}\n\tw.Header().Set(\"Content-Type\", \"text/html; charset=utf-8\")\n\tRenderEvents(w, req, sensitive)\n}\n\n// Render renders the HTML page typically served at /debug/requests.\n// It does not do any auth checking. The request may be nil.\n//\n// Most users will use the Traces handler.\nfunc Render(w io.Writer, req *http.Request, sensitive bool) {\n\tdata := &struct {\n\t\tFamilies         []string\n\t\tActiveTraceCount map[string]int\n\t\tCompletedTraces  map[string]*family\n\n\t\t// Set when a bucket has been selected.\n\t\tTraces        traceList\n\t\tFamily        string\n\t\tBucket        int\n\t\tExpanded      bool\n\t\tTraced        bool\n\t\tActive        bool\n\t\tShowSensitive bool // whether to show sensitive events\n\n\t\tHistogram       template.HTML\n\t\tHistogramWindow string // e.g. \"last minute\", \"last hour\", \"all time\"\n\n\t\t// If non-zero, the set of traces is a partial set,\n\t\t// and this is the total number.\n\t\tTotal int\n\t}{\n\t\tCompletedTraces: completedTraces,\n\t}\n\n\tdata.ShowSensitive = sensitive\n\tif req != nil {\n\t\t// Allow show_sensitive=0 to force hiding of sensitive data for testing.\n\t\t// This only goes one way; you can't use show_sensitive=1 to see things.\n\t\tif req.FormValue(\"show_sensitive\") == \"0\" {\n\t\t\tdata.ShowSensitive = false\n\t\t}\n\n\t\tif exp, err := strconv.ParseBool(req.FormValue(\"exp\")); err == nil {\n\t\t\tdata.Expanded = exp\n\t\t}\n\t\tif exp, err := strconv.ParseBool(req.FormValue(\"rtraced\")); err == nil {\n\t\t\tdata.Traced = exp\n\t\t}\n\t}\n\n\tcompletedMu.RLock()\n\tdata.Families = make([]string, 0, len(completedTraces))\n\tfor fam := range completedTraces {\n\t\tdata.Families = append(data.Families, fam)\n\t}\n\tcompletedMu.RUnlock()\n\tsort.Strings(data.Families)\n\n\t// We are careful here to minimize the time spent locking activeMu,\n\t// since that lock is required every time an RPC starts and finishes.\n\tdata.ActiveTraceCount = make(map[string]int, len(data.Families))\n\tactiveMu.RLock()\n\tfor fam, s := range activeTraces {\n\t\tdata.ActiveTraceCount[fam] = s.Len()\n\t}\n\tactiveMu.RUnlock()\n\n\tvar ok bool\n\tdata.Family, data.Bucket, ok = parseArgs(req)\n\tswitch {\n\tcase !ok:\n\t\t// No-op\n\tcase data.Bucket == -1:\n\t\tdata.Active = true\n\t\tn := data.ActiveTraceCount[data.Family]\n\t\tdata.Traces = getActiveTraces(data.Family)\n\t\tif len(data.Traces) < n {\n\t\t\tdata.Total = n\n\t\t}\n\tcase data.Bucket < bucketsPerFamily:\n\t\tif b := lookupBucket(data.Family, data.Bucket); b != nil {\n\t\t\tdata.Traces = b.Copy(data.Traced)\n\t\t}\n\tdefault:\n\t\tif f := getFamily(data.Family, false); f != nil {\n\t\t\tvar obs timeseries.Observable\n\t\t\tf.LatencyMu.RLock()\n\t\t\tswitch o := data.Bucket - bucketsPerFamily; o {\n\t\t\tcase 0:\n\t\t\t\tobs = f.Latency.Minute()\n\t\t\t\tdata.HistogramWindow = \"last minute\"\n\t\t\tcase 1:\n\t\t\t\tobs = f.Latency.Hour()\n\t\t\t\tdata.HistogramWindow = \"last hour\"\n\t\t\tcase 2:\n\t\t\t\tobs = f.Latency.Total()\n\t\t\t\tdata.HistogramWindow = \"all time\"\n\t\t\t}\n\t\t\tf.LatencyMu.RUnlock()\n\t\t\tif obs != nil {\n\t\t\t\tdata.Histogram = obs.(*histogram).html()\n\t\t\t}\n\t\t}\n\t}\n\n\tif data.Traces != nil {\n\t\tdefer data.Traces.Free()\n\t\tsort.Sort(data.Traces)\n\t}\n\n\tcompletedMu.RLock()\n\tdefer completedMu.RUnlock()\n\tif err := pageTmpl().ExecuteTemplate(w, \"Page\", data); err != nil {\n\t\tlog.Printf(\"net/trace: Failed executing template: %v\", err)\n\t}\n}\n\nfunc parseArgs(req *http.Request) (fam string, b int, ok bool) {\n\tif req == nil {\n\t\treturn \"\", 0, false\n\t}\n\tfam, bStr := req.FormValue(\"fam\"), req.FormValue(\"b\")\n\tif fam == \"\" || bStr == \"\" {\n\t\treturn \"\", 0, false\n\t}\n\tb, err := strconv.Atoi(bStr)\n\tif err != nil || b < -1 {\n\t\treturn \"\", 0, false\n\t}\n\n\treturn fam, b, true\n}\n\nfunc lookupBucket(fam string, b int) *traceBucket {\n\tf := getFamily(fam, false)\n\tif f == nil || b < 0 || b >= len(f.Buckets) {\n\t\treturn nil\n\t}\n\treturn f.Buckets[b]\n}\n\ntype contextKeyT string\n\nvar contextKey = contextKeyT(\"golang.org/x/net/trace.Trace\")\n\n// Trace represents an active request.\ntype Trace interface {\n\t// LazyLog adds x to the event log. It will be evaluated each time the\n\t// /debug/requests page is rendered. Any memory referenced by x will be\n\t// pinned until the trace is finished and later discarded.\n\tLazyLog(x fmt.Stringer, sensitive bool)\n\n\t// LazyPrintf evaluates its arguments with fmt.Sprintf each time the\n\t// /debug/requests page is rendered. Any memory referenced by a will be\n\t// pinned until the trace is finished and later discarded.\n\tLazyPrintf(format string, a ...interface{})\n\n\t// SetError declares that this trace resulted in an error.\n\tSetError()\n\n\t// SetRecycler sets a recycler for the trace.\n\t// f will be called for each event passed to LazyLog at a time when\n\t// it is no longer required, whether while the trace is still active\n\t// and the event is discarded, or when a completed trace is discarded.\n\tSetRecycler(f func(interface{}))\n\n\t// SetTraceInfo sets the trace info for the trace.\n\t// This is currently unused.\n\tSetTraceInfo(traceID, spanID uint64)\n\n\t// SetMaxEvents sets the maximum number of events that will be stored\n\t// in the trace. This has no effect if any events have already been\n\t// added to the trace.\n\tSetMaxEvents(m int)\n\n\t// Finish declares that this trace is complete.\n\t// The trace should not be used after calling this method.\n\tFinish()\n}\n\ntype lazySprintf struct {\n\tformat string\n\ta      []interface{}\n}\n\nfunc (l *lazySprintf) String() string {\n\treturn fmt.Sprintf(l.format, l.a...)\n}\n\n// New returns a new Trace with the specified family and title.\nfunc New(family, title string) Trace {\n\ttr := newTrace()\n\ttr.ref()\n\ttr.Family, tr.Title = family, title\n\ttr.Start = time.Now()\n\ttr.maxEvents = maxEventsPerTrace\n\ttr.events = tr.eventsBuf[:0]\n\n\tactiveMu.RLock()\n\ts := activeTraces[tr.Family]\n\tactiveMu.RUnlock()\n\tif s == nil {\n\t\tactiveMu.Lock()\n\t\ts = activeTraces[tr.Family] // check again\n\t\tif s == nil {\n\t\t\ts = new(traceSet)\n\t\t\tactiveTraces[tr.Family] = s\n\t\t}\n\t\tactiveMu.Unlock()\n\t}\n\ts.Add(tr)\n\n\t// Trigger allocation of the completed trace structure for this family.\n\t// This will cause the family to be present in the request page during\n\t// the first trace of this family. We don't care about the return value,\n\t// nor is there any need for this to run inline, so we execute it in its\n\t// own goroutine, but only if the family isn't allocated yet.\n\tcompletedMu.RLock()\n\tif _, ok := completedTraces[tr.Family]; !ok {\n\t\tgo allocFamily(tr.Family)\n\t}\n\tcompletedMu.RUnlock()\n\n\treturn tr\n}\n\nfunc (tr *trace) Finish() {\n\ttr.Elapsed = time.Now().Sub(tr.Start)\n\tif DebugUseAfterFinish {\n\t\tbuf := make([]byte, 4<<10) // 4 KB should be enough\n\t\tn := runtime.Stack(buf, false)\n\t\ttr.finishStack = buf[:n]\n\t}\n\n\tactiveMu.RLock()\n\tm := activeTraces[tr.Family]\n\tactiveMu.RUnlock()\n\tm.Remove(tr)\n\n\tf := getFamily(tr.Family, true)\n\tfor _, b := range f.Buckets {\n\t\tif b.Cond.match(tr) {\n\t\t\tb.Add(tr)\n\t\t}\n\t}\n\t// Add a sample of elapsed time as microseconds to the family's timeseries\n\th := new(histogram)\n\th.addMeasurement(tr.Elapsed.Nanoseconds() / 1e3)\n\tf.LatencyMu.Lock()\n\tf.Latency.Add(h)\n\tf.LatencyMu.Unlock()\n\n\ttr.unref() // matches ref in New\n}\n\nconst (\n\tbucketsPerFamily    = 9\n\ttracesPerBucket     = 10\n\tmaxActiveTraces     = 20 // Maximum number of active traces to show.\n\tmaxEventsPerTrace   = 10\n\tnumHistogramBuckets = 38\n)\n\nvar (\n\t// The active traces.\n\tactiveMu     sync.RWMutex\n\tactiveTraces = make(map[string]*traceSet) // family -> traces\n\n\t// Families of completed traces.\n\tcompletedMu     sync.RWMutex\n\tcompletedTraces = make(map[string]*family) // family -> traces\n)\n\ntype traceSet struct {\n\tmu sync.RWMutex\n\tm  map[*trace]bool\n\n\t// We could avoid the entire map scan in FirstN by having a slice of all the traces\n\t// ordered by start time, and an index into that from the trace struct, with a periodic\n\t// repack of the slice after enough traces finish; we could also use a skip list or similar.\n\t// However, that would shift some of the expense from /debug/requests time to RPC time,\n\t// which is probably the wrong trade-off.\n}\n\nfunc (ts *traceSet) Len() int {\n\tts.mu.RLock()\n\tdefer ts.mu.RUnlock()\n\treturn len(ts.m)\n}\n\nfunc (ts *traceSet) Add(tr *trace) {\n\tts.mu.Lock()\n\tif ts.m == nil {\n\t\tts.m = make(map[*trace]bool)\n\t}\n\tts.m[tr] = true\n\tts.mu.Unlock()\n}\n\nfunc (ts *traceSet) Remove(tr *trace) {\n\tts.mu.Lock()\n\tdelete(ts.m, tr)\n\tts.mu.Unlock()\n}\n\n// FirstN returns the first n traces ordered by time.\nfunc (ts *traceSet) FirstN(n int) traceList {\n\tts.mu.RLock()\n\tdefer ts.mu.RUnlock()\n\n\tif n > len(ts.m) {\n\t\tn = len(ts.m)\n\t}\n\ttrl := make(traceList, 0, n)\n\n\t// Fast path for when no selectivity is needed.\n\tif n == len(ts.m) {\n\t\tfor tr := range ts.m {\n\t\t\ttr.ref()\n\t\t\ttrl = append(trl, tr)\n\t\t}\n\t\tsort.Sort(trl)\n\t\treturn trl\n\t}\n\n\t// Pick the oldest n traces.\n\t// This is inefficient. See the comment in the traceSet struct.\n\tfor tr := range ts.m {\n\t\t// Put the first n traces into trl in the order they occur.\n\t\t// When we have n, sort trl, and thereafter maintain its order.\n\t\tif len(trl) < n {\n\t\t\ttr.ref()\n\t\t\ttrl = append(trl, tr)\n\t\t\tif len(trl) == n {\n\t\t\t\t// This is guaranteed to happen exactly once during this loop.\n\t\t\t\tsort.Sort(trl)\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif tr.Start.After(trl[n-1].Start) {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Find where to insert this one.\n\t\ttr.ref()\n\t\ti := sort.Search(n, func(i int) bool { return trl[i].Start.After(tr.Start) })\n\t\ttrl[n-1].unref()\n\t\tcopy(trl[i+1:], trl[i:])\n\t\ttrl[i] = tr\n\t}\n\n\treturn trl\n}\n\nfunc getActiveTraces(fam string) traceList {\n\tactiveMu.RLock()\n\ts := activeTraces[fam]\n\tactiveMu.RUnlock()\n\tif s == nil {\n\t\treturn nil\n\t}\n\treturn s.FirstN(maxActiveTraces)\n}\n\nfunc getFamily(fam string, allocNew bool) *family {\n\tcompletedMu.RLock()\n\tf := completedTraces[fam]\n\tcompletedMu.RUnlock()\n\tif f == nil && allocNew {\n\t\tf = allocFamily(fam)\n\t}\n\treturn f\n}\n\nfunc allocFamily(fam string) *family {\n\tcompletedMu.Lock()\n\tdefer completedMu.Unlock()\n\tf := completedTraces[fam]\n\tif f == nil {\n\t\tf = newFamily()\n\t\tcompletedTraces[fam] = f\n\t}\n\treturn f\n}\n\n// family represents a set of trace buckets and associated latency information.\ntype family struct {\n\t// traces may occur in multiple buckets.\n\tBuckets [bucketsPerFamily]*traceBucket\n\n\t// latency time series\n\tLatencyMu sync.RWMutex\n\tLatency   *timeseries.MinuteHourSeries\n}\n\nfunc newFamily() *family {\n\treturn &family{\n\t\tBuckets: [bucketsPerFamily]*traceBucket{\n\t\t\t{Cond: minCond(0)},\n\t\t\t{Cond: minCond(50 * time.Millisecond)},\n\t\t\t{Cond: minCond(100 * time.Millisecond)},\n\t\t\t{Cond: minCond(200 * time.Millisecond)},\n\t\t\t{Cond: minCond(500 * time.Millisecond)},\n\t\t\t{Cond: minCond(1 * time.Second)},\n\t\t\t{Cond: minCond(10 * time.Second)},\n\t\t\t{Cond: minCond(100 * time.Second)},\n\t\t\t{Cond: errorCond{}},\n\t\t},\n\t\tLatency: timeseries.NewMinuteHourSeries(func() timeseries.Observable { return new(histogram) }),\n\t}\n}\n\n// traceBucket represents a size-capped bucket of historic traces,\n// along with a condition for a trace to belong to the bucket.\ntype traceBucket struct {\n\tCond cond\n\n\t// Ring buffer implementation of a fixed-size FIFO queue.\n\tmu     sync.RWMutex\n\tbuf    [tracesPerBucket]*trace\n\tstart  int // < tracesPerBucket\n\tlength int // <= tracesPerBucket\n}\n\nfunc (b *traceBucket) Add(tr *trace) {\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\n\ti := b.start + b.length\n\tif i >= tracesPerBucket {\n\t\ti -= tracesPerBucket\n\t}\n\tif b.length == tracesPerBucket {\n\t\t// \"Remove\" an element from the bucket.\n\t\tb.buf[i].unref()\n\t\tb.start++\n\t\tif b.start == tracesPerBucket {\n\t\t\tb.start = 0\n\t\t}\n\t}\n\tb.buf[i] = tr\n\tif b.length < tracesPerBucket {\n\t\tb.length++\n\t}\n\ttr.ref()\n}\n\n// Copy returns a copy of the traces in the bucket.\n// If tracedOnly is true, only the traces with trace information will be returned.\n// The logs will be ref'd before returning; the caller should call\n// the Free method when it is done with them.\n// TODO(dsymonds): keep track of traced requests in separate buckets.\nfunc (b *traceBucket) Copy(tracedOnly bool) traceList {\n\tb.mu.RLock()\n\tdefer b.mu.RUnlock()\n\n\ttrl := make(traceList, 0, b.length)\n\tfor i, x := 0, b.start; i < b.length; i++ {\n\t\ttr := b.buf[x]\n\t\tif !tracedOnly || tr.spanID != 0 {\n\t\t\ttr.ref()\n\t\t\ttrl = append(trl, tr)\n\t\t}\n\t\tx++\n\t\tif x == b.length {\n\t\t\tx = 0\n\t\t}\n\t}\n\treturn trl\n}\n\nfunc (b *traceBucket) Empty() bool {\n\tb.mu.RLock()\n\tdefer b.mu.RUnlock()\n\treturn b.length == 0\n}\n\n// cond represents a condition on a trace.\ntype cond interface {\n\tmatch(t *trace) bool\n\tString() string\n}\n\ntype minCond time.Duration\n\nfunc (m minCond) match(t *trace) bool { return t.Elapsed >= time.Duration(m) }\nfunc (m minCond) String() string      { return fmt.Sprintf(\"≥%gs\", time.Duration(m).Seconds()) }\n\ntype errorCond struct{}\n\nfunc (e errorCond) match(t *trace) bool { return t.IsError }\nfunc (e errorCond) String() string      { return \"errors\" }\n\ntype traceList []*trace\n\n// Free calls unref on each element of the list.\nfunc (trl traceList) Free() {\n\tfor _, t := range trl {\n\t\tt.unref()\n\t}\n}\n\n// traceList may be sorted in reverse chronological order.\nfunc (trl traceList) Len() int           { return len(trl) }\nfunc (trl traceList) Less(i, j int) bool { return trl[i].Start.After(trl[j].Start) }\nfunc (trl traceList) Swap(i, j int)      { trl[i], trl[j] = trl[j], trl[i] }\n\n// An event is a timestamped log entry in a trace.\ntype event struct {\n\tWhen       time.Time\n\tElapsed    time.Duration // since previous event in trace\n\tNewDay     bool          // whether this event is on a different day to the previous event\n\tRecyclable bool          // whether this event was passed via LazyLog\n\tSensitive  bool          // whether this event contains sensitive information\n\tWhat       interface{}   // string or fmt.Stringer\n}\n\n// WhenString returns a string representation of the elapsed time of the event.\n// It will include the date if midnight was crossed.\nfunc (e event) WhenString() string {\n\tif e.NewDay {\n\t\treturn e.When.Format(\"2006/01/02 15:04:05.000000\")\n\t}\n\treturn e.When.Format(\"15:04:05.000000\")\n}\n\n// discarded represents a number of discarded events.\n// It is stored as *discarded to make it easier to update in-place.\ntype discarded int\n\nfunc (d *discarded) String() string {\n\treturn fmt.Sprintf(\"(%d events discarded)\", int(*d))\n}\n\n// trace represents an active or complete request,\n// either sent or received by this program.\ntype trace struct {\n\t// Family is the top-level grouping of traces to which this belongs.\n\tFamily string\n\n\t// Title is the title of this trace.\n\tTitle string\n\n\t// Timing information.\n\tStart   time.Time\n\tElapsed time.Duration // zero while active\n\n\t// Trace information if non-zero.\n\ttraceID uint64\n\tspanID  uint64\n\n\t// Whether this trace resulted in an error.\n\tIsError bool\n\n\t// Append-only sequence of events (modulo discards).\n\tmu        sync.RWMutex\n\tevents    []event\n\tmaxEvents int\n\n\trefs     int32 // how many buckets this is in\n\trecycler func(interface{})\n\tdisc     discarded // scratch space to avoid allocation\n\n\tfinishStack []byte // where finish was called, if DebugUseAfterFinish is set\n\n\teventsBuf [4]event // preallocated buffer in case we only log a few events\n}\n\nfunc (tr *trace) reset() {\n\t// Clear all but the mutex. Mutexes may not be copied, even when unlocked.\n\ttr.Family = \"\"\n\ttr.Title = \"\"\n\ttr.Start = time.Time{}\n\ttr.Elapsed = 0\n\ttr.traceID = 0\n\ttr.spanID = 0\n\ttr.IsError = false\n\ttr.maxEvents = 0\n\ttr.events = nil\n\ttr.refs = 0\n\ttr.recycler = nil\n\ttr.disc = 0\n\ttr.finishStack = nil\n\tfor i := range tr.eventsBuf {\n\t\ttr.eventsBuf[i] = event{}\n\t}\n}\n\n// delta returns the elapsed time since the last event or the trace start,\n// and whether it spans midnight.\n// L >= tr.mu\nfunc (tr *trace) delta(t time.Time) (time.Duration, bool) {\n\tif len(tr.events) == 0 {\n\t\treturn t.Sub(tr.Start), false\n\t}\n\tprev := tr.events[len(tr.events)-1].When\n\treturn t.Sub(prev), prev.Day() != t.Day()\n}\n\nfunc (tr *trace) addEvent(x interface{}, recyclable, sensitive bool) {\n\tif DebugUseAfterFinish && tr.finishStack != nil {\n\t\tbuf := make([]byte, 4<<10) // 4 KB should be enough\n\t\tn := runtime.Stack(buf, false)\n\t\tlog.Printf(\"net/trace: trace used after finish:\\nFinished at:\\n%s\\nUsed at:\\n%s\", tr.finishStack, buf[:n])\n\t}\n\n\t/*\n\t\tNOTE TO DEBUGGERS\n\n\t\tIf you are here because your program panicked in this code,\n\t\tit is almost definitely the fault of code using this package,\n\t\tand very unlikely to be the fault of this code.\n\n\t\tThe most likely scenario is that some code elsewhere is using\n\t\ta trace.Trace after its Finish method is called.\n\t\tYou can temporarily set the DebugUseAfterFinish var\n\t\tto help discover where that is; do not leave that var set,\n\t\tsince it makes this package much less efficient.\n\t*/\n\n\te := event{When: time.Now(), What: x, Recyclable: recyclable, Sensitive: sensitive}\n\ttr.mu.Lock()\n\te.Elapsed, e.NewDay = tr.delta(e.When)\n\tif len(tr.events) < tr.maxEvents {\n\t\ttr.events = append(tr.events, e)\n\t} else {\n\t\t// Discard the middle events.\n\t\tdi := int((tr.maxEvents - 1) / 2)\n\t\tif d, ok := tr.events[di].What.(*discarded); ok {\n\t\t\t(*d)++\n\t\t} else {\n\t\t\t// disc starts at two to count for the event it is replacing,\n\t\t\t// plus the next one that we are about to drop.\n\t\t\ttr.disc = 2\n\t\t\tif tr.recycler != nil && tr.events[di].Recyclable {\n\t\t\t\tgo tr.recycler(tr.events[di].What)\n\t\t\t}\n\t\t\ttr.events[di].What = &tr.disc\n\t\t}\n\t\t// The timestamp of the discarded meta-event should be\n\t\t// the time of the last event it is representing.\n\t\ttr.events[di].When = tr.events[di+1].When\n\n\t\tif tr.recycler != nil && tr.events[di+1].Recyclable {\n\t\t\tgo tr.recycler(tr.events[di+1].What)\n\t\t}\n\t\tcopy(tr.events[di+1:], tr.events[di+2:])\n\t\ttr.events[tr.maxEvents-1] = e\n\t}\n\ttr.mu.Unlock()\n}\n\nfunc (tr *trace) LazyLog(x fmt.Stringer, sensitive bool) {\n\ttr.addEvent(x, true, sensitive)\n}\n\nfunc (tr *trace) LazyPrintf(format string, a ...interface{}) {\n\ttr.addEvent(&lazySprintf{format, a}, false, false)\n}\n\nfunc (tr *trace) SetError() { tr.IsError = true }\n\nfunc (tr *trace) SetRecycler(f func(interface{})) {\n\ttr.recycler = f\n}\n\nfunc (tr *trace) SetTraceInfo(traceID, spanID uint64) {\n\ttr.traceID, tr.spanID = traceID, spanID\n}\n\nfunc (tr *trace) SetMaxEvents(m int) {\n\t// Always keep at least three events: first, discarded count, last.\n\tif len(tr.events) == 0 && m > 3 {\n\t\ttr.maxEvents = m\n\t}\n}\n\nfunc (tr *trace) ref() {\n\tatomic.AddInt32(&tr.refs, 1)\n}\n\nfunc (tr *trace) unref() {\n\tif atomic.AddInt32(&tr.refs, -1) == 0 {\n\t\tif tr.recycler != nil {\n\t\t\t// freeTrace clears tr, so we hold tr.recycler and tr.events here.\n\t\t\tgo func(f func(interface{}), es []event) {\n\t\t\t\tfor _, e := range es {\n\t\t\t\t\tif e.Recyclable {\n\t\t\t\t\t\tf(e.What)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}(tr.recycler, tr.events)\n\t\t}\n\n\t\tfreeTrace(tr)\n\t}\n}\n\nfunc (tr *trace) When() string {\n\treturn tr.Start.Format(\"2006/01/02 15:04:05.000000\")\n}\n\nfunc (tr *trace) ElapsedTime() string {\n\tt := tr.Elapsed\n\tif t == 0 {\n\t\t// Active trace.\n\t\tt = time.Since(tr.Start)\n\t}\n\treturn fmt.Sprintf(\"%.6f\", t.Seconds())\n}\n\nfunc (tr *trace) Events() []event {\n\ttr.mu.RLock()\n\tdefer tr.mu.RUnlock()\n\treturn tr.events\n}\n\nvar traceFreeList = make(chan *trace, 1000) // TODO(dsymonds): Use sync.Pool?\n\n// newTrace returns a trace ready to use.\nfunc newTrace() *trace {\n\tselect {\n\tcase tr := <-traceFreeList:\n\t\treturn tr\n\tdefault:\n\t\treturn new(trace)\n\t}\n}\n\n// freeTrace adds tr to traceFreeList if there's room.\n// This is non-blocking.\nfunc freeTrace(tr *trace) {\n\tif DebugUseAfterFinish {\n\t\treturn // never reuse\n\t}\n\ttr.reset()\n\tselect {\n\tcase traceFreeList <- tr:\n\tdefault:\n\t}\n}\n\nfunc elapsed(d time.Duration) string {\n\tb := []byte(fmt.Sprintf(\"%.6f\", d.Seconds()))\n\n\t// For subsecond durations, blank all zeros before decimal point,\n\t// and all zeros between the decimal point and the first non-zero digit.\n\tif d < time.Second {\n\t\tdot := bytes.IndexByte(b, '.')\n\t\tfor i := 0; i < dot; i++ {\n\t\t\tb[i] = ' '\n\t\t}\n\t\tfor i := dot + 1; i < len(b); i++ {\n\t\t\tif b[i] == '0' {\n\t\t\t\tb[i] = ' '\n\t\t\t} else {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\treturn string(b)\n}\n\nvar pageTmplCache *template.Template\nvar pageTmplOnce sync.Once\n\nfunc pageTmpl() *template.Template {\n\tpageTmplOnce.Do(func() {\n\t\tpageTmplCache = template.Must(template.New(\"Page\").Funcs(template.FuncMap{\n\t\t\t\"elapsed\": elapsed,\n\t\t\t\"add\":     func(a, b int) int { return a + b },\n\t\t}).Parse(pageHTML))\n\t})\n\treturn pageTmplCache\n}\n\nconst pageHTML = `\n{{template \"Prolog\" .}}\n{{template \"StatusTable\" .}}\n{{template \"Epilog\" .}}\n\n{{define \"Prolog\"}}\n<html>\n\t<head>\n\t<title>/debug/requests</title>\n\t<style type=\"text/css\">\n\t\tbody {\n\t\t\tfont-family: sans-serif;\n\t\t}\n\t\ttable#tr-status td.family {\n\t\t\tpadding-right: 2em;\n\t\t}\n\t\ttable#tr-status td.active {\n\t\t\tpadding-right: 1em;\n\t\t}\n\t\ttable#tr-status td.latency-first {\n\t\t\tpadding-left: 1em;\n\t\t}\n\t\ttable#tr-status td.empty {\n\t\t\tcolor: #aaa;\n\t\t}\n\t\ttable#reqs {\n\t\t\tmargin-top: 1em;\n\t\t}\n\t\ttable#reqs tr.first {\n\t\t\t{{if $.Expanded}}font-weight: bold;{{end}}\n\t\t}\n\t\ttable#reqs td {\n\t\t\tfont-family: monospace;\n\t\t}\n\t\ttable#reqs td.when {\n\t\t\ttext-align: right;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\ttable#reqs td.elapsed {\n\t\t\tpadding: 0 0.5em;\n\t\t\ttext-align: right;\n\t\t\twhite-space: pre;\n\t\t\twidth: 10em;\n\t\t}\n\t\taddress {\n\t\t\tfont-size: smaller;\n\t\t\tmargin-top: 5em;\n\t\t}\n\t</style>\n\t</head>\n\t<body>\n\n<h1>/debug/requests</h1>\n{{end}} {{/* end of Prolog */}}\n\n{{define \"StatusTable\"}}\n<table id=\"tr-status\">\n\t{{range $fam := .Families}}\n\t<tr>\n\t\t<td class=\"family\">{{$fam}}</td>\n\n\t\t{{$n := index $.ActiveTraceCount $fam}}\n\t\t<td class=\"active {{if not $n}}empty{{end}}\">\n\t\t\t{{if $n}}<a href=\"?fam={{$fam}}&b=-1{{if $.Expanded}}&exp=1{{end}}\">{{end}}\n\t\t\t[{{$n}} active]\n\t\t\t{{if $n}}</a>{{end}}\n\t\t</td>\n\n\t\t{{$f := index $.CompletedTraces $fam}}\n\t\t{{range $i, $b := $f.Buckets}}\n\t\t{{$empty := $b.Empty}}\n\t\t<td {{if $empty}}class=\"empty\"{{end}}>\n\t\t{{if not $empty}}<a href=\"?fam={{$fam}}&b={{$i}}{{if $.Expanded}}&exp=1{{end}}\">{{end}}\n\t\t[{{.Cond}}]\n\t\t{{if not $empty}}</a>{{end}}\n\t\t</td>\n\t\t{{end}}\n\n\t\t{{$nb := len $f.Buckets}}\n\t\t<td class=\"latency-first\">\n\t\t<a href=\"?fam={{$fam}}&b={{$nb}}\">[minute]</a>\n\t\t</td>\n\t\t<td>\n\t\t<a href=\"?fam={{$fam}}&b={{add $nb 1}}\">[hour]</a>\n\t\t</td>\n\t\t<td>\n\t\t<a href=\"?fam={{$fam}}&b={{add $nb 2}}\">[total]</a>\n\t\t</td>\n\n\t</tr>\n\t{{end}}\n</table>\n{{end}} {{/* end of StatusTable */}}\n\n{{define \"Epilog\"}}\n{{if $.Traces}}\n<hr />\n<h3>Family: {{$.Family}}</h3>\n\n{{if or $.Expanded $.Traced}}\n  <a href=\"?fam={{$.Family}}&b={{$.Bucket}}\">[Normal/Summary]</a>\n{{else}}\n  [Normal/Summary]\n{{end}}\n\n{{if or (not $.Expanded) $.Traced}}\n  <a href=\"?fam={{$.Family}}&b={{$.Bucket}}&exp=1\">[Normal/Expanded]</a>\n{{else}}\n  [Normal/Expanded]\n{{end}}\n\n{{if not $.Active}}\n\t{{if or $.Expanded (not $.Traced)}}\n\t<a href=\"?fam={{$.Family}}&b={{$.Bucket}}&rtraced=1\">[Traced/Summary]</a>\n\t{{else}}\n\t[Traced/Summary]\n\t{{end}}\n\t{{if or (not $.Expanded) (not $.Traced)}}\n\t<a href=\"?fam={{$.Family}}&b={{$.Bucket}}&exp=1&rtraced=1\">[Traced/Expanded]</a>\n        {{else}}\n\t[Traced/Expanded]\n\t{{end}}\n{{end}}\n\n{{if $.Total}}\n<p><em>Showing <b>{{len $.Traces}}</b> of <b>{{$.Total}}</b> traces.</em></p>\n{{end}}\n\n<table id=\"reqs\">\n\t<caption>\n\t\t{{if $.Active}}Active{{else}}Completed{{end}} Requests\n\t</caption>\n\t<tr><th>When</th><th>Elapsed&nbsp;(s)</th></tr>\n\t{{range $tr := $.Traces}}\n\t<tr class=\"first\">\n\t\t<td class=\"when\">{{$tr.When}}</td>\n\t\t<td class=\"elapsed\">{{$tr.ElapsedTime}}</td>\n\t\t<td>{{$tr.Title}}</td>\n\t\t{{/* TODO: include traceID/spanID */}}\n\t</tr>\n\t{{if $.Expanded}}\n\t{{range $tr.Events}}\n\t<tr>\n\t\t<td class=\"when\">{{.WhenString}}</td>\n\t\t<td class=\"elapsed\">{{elapsed .Elapsed}}</td>\n\t\t<td>{{if or $.ShowSensitive (not .Sensitive)}}... {{.What}}{{else}}<em>[redacted]</em>{{end}}</td>\n\t</tr>\n\t{{end}}\n\t{{end}}\n\t{{end}}\n</table>\n{{end}} {{/* if $.Traces */}}\n\n{{if $.Histogram}}\n<h4>Latency (&micro;s) of {{$.Family}} over {{$.HistogramWindow}}</h4>\n{{$.Histogram}}\n{{end}} {{/* if $.Histogram */}}\n\n\t</body>\n</html>\n{{end}} {{/* end of Epilog */}}\n`\n"
  },
  {
    "path": "vendor/golang.org/x/net/trace/trace_go16.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.7\n\npackage trace\n\nimport \"golang.org/x/net/context\"\n\n// NewContext returns a copy of the parent context\n// and associates it with a Trace.\nfunc NewContext(ctx context.Context, tr Trace) context.Context {\n\treturn context.WithValue(ctx, contextKey, tr)\n}\n\n// FromContext returns the Trace bound to the context, if any.\nfunc FromContext(ctx context.Context) (tr Trace, ok bool) {\n\ttr, ok = ctx.Value(contextKey).(Trace)\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/trace/trace_go17.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.7\n\npackage trace\n\nimport \"context\"\n\n// NewContext returns a copy of the parent context\n// and associates it with a Trace.\nfunc NewContext(ctx context.Context, tr Trace) context.Context {\n\treturn context.WithValue(ctx, contextKey, tr)\n}\n\n// FromContext returns the Trace bound to the context, if any.\nfunc FromContext(ctx context.Context) (tr Trace, ok bool) {\n\ttr, ok = ctx.Value(contextKey).(Trace)\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/LICENSE",
    "content": "Copyright (c) 2009 The Go Authors. 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\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/google/appengine.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage google\n\nimport (\n\t\"sort\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/oauth2\"\n)\n\n// appengineFlex is set at init time by appengineflex_hook.go. If true, we are on App Engine Flex.\nvar appengineFlex bool\n\n// Set at init time by appengine_hook.go. If nil, we're not on App Engine.\nvar appengineTokenFunc func(c context.Context, scopes ...string) (token string, expiry time.Time, err error)\n\n// Set at init time by appengine_hook.go. If nil, we're not on App Engine.\nvar appengineAppIDFunc func(c context.Context) string\n\n// AppEngineTokenSource returns a token source that fetches tokens\n// issued to the current App Engine application's service account.\n// If you are implementing a 3-legged OAuth 2.0 flow on App Engine\n// that involves user accounts, see oauth2.Config instead.\n//\n// The provided context must have come from appengine.NewContext.\nfunc AppEngineTokenSource(ctx context.Context, scope ...string) oauth2.TokenSource {\n\tif appengineTokenFunc == nil {\n\t\tpanic(\"google: AppEngineTokenSource can only be used on App Engine.\")\n\t}\n\tscopes := append([]string{}, scope...)\n\tsort.Strings(scopes)\n\treturn &appEngineTokenSource{\n\t\tctx:    ctx,\n\t\tscopes: scopes,\n\t\tkey:    strings.Join(scopes, \" \"),\n\t}\n}\n\n// aeTokens helps the fetched tokens to be reused until their expiration.\nvar (\n\taeTokensMu sync.Mutex\n\taeTokens   = make(map[string]*tokenLock) // key is space-separated scopes\n)\n\ntype tokenLock struct {\n\tmu sync.Mutex // guards t; held while fetching or updating t\n\tt  *oauth2.Token\n}\n\ntype appEngineTokenSource struct {\n\tctx    context.Context\n\tscopes []string\n\tkey    string // to aeTokens map; space-separated scopes\n}\n\nfunc (ts *appEngineTokenSource) Token() (*oauth2.Token, error) {\n\tif appengineTokenFunc == nil {\n\t\tpanic(\"google: AppEngineTokenSource can only be used on App Engine.\")\n\t}\n\n\taeTokensMu.Lock()\n\ttok, ok := aeTokens[ts.key]\n\tif !ok {\n\t\ttok = &tokenLock{}\n\t\taeTokens[ts.key] = tok\n\t}\n\taeTokensMu.Unlock()\n\n\ttok.mu.Lock()\n\tdefer tok.mu.Unlock()\n\tif tok.t.Valid() {\n\t\treturn tok.t, nil\n\t}\n\taccess, exp, err := appengineTokenFunc(ts.ctx, ts.scopes...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\ttok.t = &oauth2.Token{\n\t\tAccessToken: access,\n\t\tExpiry:      exp,\n\t}\n\treturn tok.t, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/google/appengine_hook.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build appengine appenginevm\n\npackage google\n\nimport \"google.golang.org/appengine\"\n\nfunc init() {\n\tappengineTokenFunc = appengine.AccessToken\n\tappengineAppIDFunc = appengine.AppID\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/google/appengineflex_hook.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build appenginevm\n\npackage google\n\nfunc init() {\n\tappengineFlex = true // Flex doesn't support appengine.AccessToken; depend on metadata server.\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/google/default.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage google\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"net/http\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"runtime\"\n\n\t\"cloud.google.com/go/compute/metadata\"\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/oauth2\"\n)\n\n// DefaultCredentials holds \"Application Default Credentials\".\n// For more details, see:\n// https://developers.google.com/accounts/docs/application-default-credentials\ntype DefaultCredentials struct {\n\tProjectID   string // may be empty\n\tTokenSource oauth2.TokenSource\n\n\t// JSON contains the raw bytes from a JSON credentials file.\n\t// This field may be nil if authentication is provided by the\n\t// environment and not with a credentials file, e.g. when code is\n\t// running on Google Cloud Platform.\n\tJSON []byte\n}\n\n// DefaultClient returns an HTTP Client that uses the\n// DefaultTokenSource to obtain authentication credentials.\nfunc DefaultClient(ctx context.Context, scope ...string) (*http.Client, error) {\n\tts, err := DefaultTokenSource(ctx, scope...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn oauth2.NewClient(ctx, ts), nil\n}\n\n// DefaultTokenSource returns the token source for\n// \"Application Default Credentials\".\n// It is a shortcut for FindDefaultCredentials(ctx, scope).TokenSource.\nfunc DefaultTokenSource(ctx context.Context, scope ...string) (oauth2.TokenSource, error) {\n\tcreds, err := FindDefaultCredentials(ctx, scope...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn creds.TokenSource, nil\n}\n\n// FindDefaultCredentials searches for \"Application Default Credentials\".\n//\n// It looks for credentials in the following places,\n// preferring the first location found:\n//\n//   1. A JSON file whose path is specified by the\n//      GOOGLE_APPLICATION_CREDENTIALS environment variable.\n//   2. A JSON file in a location known to the gcloud command-line tool.\n//      On Windows, this is %APPDATA%/gcloud/application_default_credentials.json.\n//      On other systems, $HOME/.config/gcloud/application_default_credentials.json.\n//   3. On Google App Engine it uses the appengine.AccessToken function.\n//   4. On Google Compute Engine and Google App Engine Managed VMs, it fetches\n//      credentials from the metadata server.\n//      (In this final case any provided scopes are ignored.)\nfunc FindDefaultCredentials(ctx context.Context, scope ...string) (*DefaultCredentials, error) {\n\t// First, try the environment variable.\n\tconst envVar = \"GOOGLE_APPLICATION_CREDENTIALS\"\n\tif filename := os.Getenv(envVar); filename != \"\" {\n\t\tcreds, err := readCredentialsFile(ctx, filename, scope)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"google: error getting credentials using %v environment variable: %v\", envVar, err)\n\t\t}\n\t\treturn creds, nil\n\t}\n\n\t// Second, try a well-known file.\n\tfilename := wellKnownFile()\n\tif creds, err := readCredentialsFile(ctx, filename, scope); err == nil {\n\t\treturn creds, nil\n\t} else if !os.IsNotExist(err) {\n\t\treturn nil, fmt.Errorf(\"google: error getting credentials using well-known file (%v): %v\", filename, err)\n\t}\n\n\t// Third, if we're on Google App Engine use those credentials.\n\tif appengineTokenFunc != nil && !appengineFlex {\n\t\treturn &DefaultCredentials{\n\t\t\tProjectID:   appengineAppIDFunc(ctx),\n\t\t\tTokenSource: AppEngineTokenSource(ctx, scope...),\n\t\t}, nil\n\t}\n\n\t// Fourth, if we're on Google Compute Engine use the metadata server.\n\tif metadata.OnGCE() {\n\t\tid, _ := metadata.ProjectID()\n\t\treturn &DefaultCredentials{\n\t\t\tProjectID:   id,\n\t\t\tTokenSource: ComputeTokenSource(\"\"),\n\t\t}, nil\n\t}\n\n\t// None are found; return helpful error.\n\tconst url = \"https://developers.google.com/accounts/docs/application-default-credentials\"\n\treturn nil, fmt.Errorf(\"google: could not find default credentials. See %v for more information.\", url)\n}\n\nfunc wellKnownFile() string {\n\tconst f = \"application_default_credentials.json\"\n\tif runtime.GOOS == \"windows\" {\n\t\treturn filepath.Join(os.Getenv(\"APPDATA\"), \"gcloud\", f)\n\t}\n\treturn filepath.Join(guessUnixHomeDir(), \".config\", \"gcloud\", f)\n}\n\nfunc readCredentialsFile(ctx context.Context, filename string, scopes []string) (*DefaultCredentials, error) {\n\tb, err := ioutil.ReadFile(filename)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tvar f credentialsFile\n\tif err := json.Unmarshal(b, &f); err != nil {\n\t\treturn nil, err\n\t}\n\tts, err := f.tokenSource(ctx, append([]string(nil), scopes...))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &DefaultCredentials{\n\t\tProjectID:   f.ProjectID,\n\t\tTokenSource: ts,\n\t\tJSON:        b,\n\t}, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/google/google.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package google provides support for making OAuth2 authorized and\n// authenticated HTTP requests to Google APIs.\n// It supports the Web server flow, client-side credentials, service accounts,\n// Google Compute Engine service accounts, and Google App Engine service\n// accounts.\n//\n// For more information, please read\n// https://developers.google.com/accounts/docs/OAuth2\n// and\n// https://developers.google.com/accounts/docs/application-default-credentials.\npackage google // import \"golang.org/x/oauth2/google\"\n\nimport (\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"strings\"\n\t\"time\"\n\n\t\"cloud.google.com/go/compute/metadata\"\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/oauth2\"\n\t\"golang.org/x/oauth2/jwt\"\n)\n\n// Endpoint is Google's OAuth 2.0 endpoint.\nvar Endpoint = oauth2.Endpoint{\n\tAuthURL:  \"https://accounts.google.com/o/oauth2/auth\",\n\tTokenURL: \"https://accounts.google.com/o/oauth2/token\",\n}\n\n// JWTTokenURL is Google's OAuth 2.0 token URL to use with the JWT flow.\nconst JWTTokenURL = \"https://accounts.google.com/o/oauth2/token\"\n\n// ConfigFromJSON uses a Google Developers Console client_credentials.json\n// file to construct a config.\n// client_credentials.json can be downloaded from\n// https://console.developers.google.com, under \"Credentials\". Download the Web\n// application credentials in the JSON format and provide the contents of the\n// file as jsonKey.\nfunc ConfigFromJSON(jsonKey []byte, scope ...string) (*oauth2.Config, error) {\n\ttype cred struct {\n\t\tClientID     string   `json:\"client_id\"`\n\t\tClientSecret string   `json:\"client_secret\"`\n\t\tRedirectURIs []string `json:\"redirect_uris\"`\n\t\tAuthURI      string   `json:\"auth_uri\"`\n\t\tTokenURI     string   `json:\"token_uri\"`\n\t}\n\tvar j struct {\n\t\tWeb       *cred `json:\"web\"`\n\t\tInstalled *cred `json:\"installed\"`\n\t}\n\tif err := json.Unmarshal(jsonKey, &j); err != nil {\n\t\treturn nil, err\n\t}\n\tvar c *cred\n\tswitch {\n\tcase j.Web != nil:\n\t\tc = j.Web\n\tcase j.Installed != nil:\n\t\tc = j.Installed\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"oauth2/google: no credentials found\")\n\t}\n\tif len(c.RedirectURIs) < 1 {\n\t\treturn nil, errors.New(\"oauth2/google: missing redirect URL in the client_credentials.json\")\n\t}\n\treturn &oauth2.Config{\n\t\tClientID:     c.ClientID,\n\t\tClientSecret: c.ClientSecret,\n\t\tRedirectURL:  c.RedirectURIs[0],\n\t\tScopes:       scope,\n\t\tEndpoint: oauth2.Endpoint{\n\t\t\tAuthURL:  c.AuthURI,\n\t\t\tTokenURL: c.TokenURI,\n\t\t},\n\t}, nil\n}\n\n// JWTConfigFromJSON uses a Google Developers service account JSON key file to read\n// the credentials that authorize and authenticate the requests.\n// Create a service account on \"Credentials\" for your project at\n// https://console.developers.google.com to download a JSON key file.\nfunc JWTConfigFromJSON(jsonKey []byte, scope ...string) (*jwt.Config, error) {\n\tvar f credentialsFile\n\tif err := json.Unmarshal(jsonKey, &f); err != nil {\n\t\treturn nil, err\n\t}\n\tif f.Type != serviceAccountKey {\n\t\treturn nil, fmt.Errorf(\"google: read JWT from JSON credentials: 'type' field is %q (expected %q)\", f.Type, serviceAccountKey)\n\t}\n\tscope = append([]string(nil), scope...) // copy\n\treturn f.jwtConfig(scope), nil\n}\n\n// JSON key file types.\nconst (\n\tserviceAccountKey  = \"service_account\"\n\tuserCredentialsKey = \"authorized_user\"\n)\n\n// credentialsFile is the unmarshalled representation of a credentials file.\ntype credentialsFile struct {\n\tType string `json:\"type\"` // serviceAccountKey or userCredentialsKey\n\n\t// Service Account fields\n\tClientEmail  string `json:\"client_email\"`\n\tPrivateKeyID string `json:\"private_key_id\"`\n\tPrivateKey   string `json:\"private_key\"`\n\tTokenURL     string `json:\"token_uri\"`\n\tProjectID    string `json:\"project_id\"`\n\n\t// User Credential fields\n\t// (These typically come from gcloud auth.)\n\tClientSecret string `json:\"client_secret\"`\n\tClientID     string `json:\"client_id\"`\n\tRefreshToken string `json:\"refresh_token\"`\n}\n\nfunc (f *credentialsFile) jwtConfig(scopes []string) *jwt.Config {\n\tcfg := &jwt.Config{\n\t\tEmail:        f.ClientEmail,\n\t\tPrivateKey:   []byte(f.PrivateKey),\n\t\tPrivateKeyID: f.PrivateKeyID,\n\t\tScopes:       scopes,\n\t\tTokenURL:     f.TokenURL,\n\t}\n\tif cfg.TokenURL == \"\" {\n\t\tcfg.TokenURL = JWTTokenURL\n\t}\n\treturn cfg\n}\n\nfunc (f *credentialsFile) tokenSource(ctx context.Context, scopes []string) (oauth2.TokenSource, error) {\n\tswitch f.Type {\n\tcase serviceAccountKey:\n\t\tcfg := f.jwtConfig(scopes)\n\t\treturn cfg.TokenSource(ctx), nil\n\tcase userCredentialsKey:\n\t\tcfg := &oauth2.Config{\n\t\t\tClientID:     f.ClientID,\n\t\t\tClientSecret: f.ClientSecret,\n\t\t\tScopes:       scopes,\n\t\t\tEndpoint:     Endpoint,\n\t\t}\n\t\ttok := &oauth2.Token{RefreshToken: f.RefreshToken}\n\t\treturn cfg.TokenSource(ctx, tok), nil\n\tcase \"\":\n\t\treturn nil, errors.New(\"missing 'type' field in credentials\")\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"unknown credential type: %q\", f.Type)\n\t}\n}\n\n// ComputeTokenSource returns a token source that fetches access tokens\n// from Google Compute Engine (GCE)'s metadata server. It's only valid to use\n// this token source if your program is running on a GCE instance.\n// If no account is specified, \"default\" is used.\n// Further information about retrieving access tokens from the GCE metadata\n// server can be found at https://cloud.google.com/compute/docs/authentication.\nfunc ComputeTokenSource(account string) oauth2.TokenSource {\n\treturn oauth2.ReuseTokenSource(nil, computeSource{account: account})\n}\n\ntype computeSource struct {\n\taccount string\n}\n\nfunc (cs computeSource) Token() (*oauth2.Token, error) {\n\tif !metadata.OnGCE() {\n\t\treturn nil, errors.New(\"oauth2/google: can't get a token from the metadata service; not running on GCE\")\n\t}\n\tacct := cs.account\n\tif acct == \"\" {\n\t\tacct = \"default\"\n\t}\n\ttokenJSON, err := metadata.Get(\"instance/service-accounts/\" + acct + \"/token\")\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tvar res struct {\n\t\tAccessToken  string `json:\"access_token\"`\n\t\tExpiresInSec int    `json:\"expires_in\"`\n\t\tTokenType    string `json:\"token_type\"`\n\t}\n\terr = json.NewDecoder(strings.NewReader(tokenJSON)).Decode(&res)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"oauth2/google: invalid token JSON from metadata: %v\", err)\n\t}\n\tif res.ExpiresInSec == 0 || res.AccessToken == \"\" {\n\t\treturn nil, fmt.Errorf(\"oauth2/google: incomplete token received from metadata\")\n\t}\n\treturn &oauth2.Token{\n\t\tAccessToken: res.AccessToken,\n\t\tTokenType:   res.TokenType,\n\t\tExpiry:      time.Now().Add(time.Duration(res.ExpiresInSec) * time.Second),\n\t}, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/google/jwt.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage google\n\nimport (\n\t\"crypto/rsa\"\n\t\"fmt\"\n\t\"time\"\n\n\t\"golang.org/x/oauth2\"\n\t\"golang.org/x/oauth2/internal\"\n\t\"golang.org/x/oauth2/jws\"\n)\n\n// JWTAccessTokenSourceFromJSON uses a Google Developers service account JSON\n// key file to read the credentials that authorize and authenticate the\n// requests, and returns a TokenSource that does not use any OAuth2 flow but\n// instead creates a JWT and sends that as the access token.\n// The audience is typically a URL that specifies the scope of the credentials.\n//\n// Note that this is not a standard OAuth flow, but rather an\n// optimization supported by a few Google services.\n// Unless you know otherwise, you should use JWTConfigFromJSON instead.\nfunc JWTAccessTokenSourceFromJSON(jsonKey []byte, audience string) (oauth2.TokenSource, error) {\n\tcfg, err := JWTConfigFromJSON(jsonKey)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"google: could not parse JSON key: %v\", err)\n\t}\n\tpk, err := internal.ParseKey(cfg.PrivateKey)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"google: could not parse key: %v\", err)\n\t}\n\tts := &jwtAccessTokenSource{\n\t\temail:    cfg.Email,\n\t\taudience: audience,\n\t\tpk:       pk,\n\t\tpkID:     cfg.PrivateKeyID,\n\t}\n\ttok, err := ts.Token()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn oauth2.ReuseTokenSource(tok, ts), nil\n}\n\ntype jwtAccessTokenSource struct {\n\temail, audience string\n\tpk              *rsa.PrivateKey\n\tpkID            string\n}\n\nfunc (ts *jwtAccessTokenSource) Token() (*oauth2.Token, error) {\n\tiat := time.Now()\n\texp := iat.Add(time.Hour)\n\tcs := &jws.ClaimSet{\n\t\tIss: ts.email,\n\t\tSub: ts.email,\n\t\tAud: ts.audience,\n\t\tIat: iat.Unix(),\n\t\tExp: exp.Unix(),\n\t}\n\thdr := &jws.Header{\n\t\tAlgorithm: \"RS256\",\n\t\tTyp:       \"JWT\",\n\t\tKeyID:     string(ts.pkID),\n\t}\n\tmsg, err := jws.Encode(hdr, cs, ts.pk)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"google: could not encode JWT: %v\", err)\n\t}\n\treturn &oauth2.Token{AccessToken: msg, TokenType: \"Bearer\", Expiry: exp}, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/google/sdk.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage google\n\nimport (\n\t\"bufio\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"os\"\n\t\"os/user\"\n\t\"path/filepath\"\n\t\"runtime\"\n\t\"strings\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/oauth2\"\n)\n\ntype sdkCredentials struct {\n\tData []struct {\n\t\tCredential struct {\n\t\t\tClientID     string     `json:\"client_id\"`\n\t\t\tClientSecret string     `json:\"client_secret\"`\n\t\t\tAccessToken  string     `json:\"access_token\"`\n\t\t\tRefreshToken string     `json:\"refresh_token\"`\n\t\t\tTokenExpiry  *time.Time `json:\"token_expiry\"`\n\t\t} `json:\"credential\"`\n\t\tKey struct {\n\t\t\tAccount string `json:\"account\"`\n\t\t\tScope   string `json:\"scope\"`\n\t\t} `json:\"key\"`\n\t}\n}\n\n// An SDKConfig provides access to tokens from an account already\n// authorized via the Google Cloud SDK.\ntype SDKConfig struct {\n\tconf         oauth2.Config\n\tinitialToken *oauth2.Token\n}\n\n// NewSDKConfig creates an SDKConfig for the given Google Cloud SDK\n// account. If account is empty, the account currently active in\n// Google Cloud SDK properties is used.\n// Google Cloud SDK credentials must be created by running `gcloud auth`\n// before using this function.\n// The Google Cloud SDK is available at https://cloud.google.com/sdk/.\nfunc NewSDKConfig(account string) (*SDKConfig, error) {\n\tconfigPath, err := sdkConfigPath()\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"oauth2/google: error getting SDK config path: %v\", err)\n\t}\n\tcredentialsPath := filepath.Join(configPath, \"credentials\")\n\tf, err := os.Open(credentialsPath)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"oauth2/google: failed to load SDK credentials: %v\", err)\n\t}\n\tdefer f.Close()\n\n\tvar c sdkCredentials\n\tif err := json.NewDecoder(f).Decode(&c); err != nil {\n\t\treturn nil, fmt.Errorf(\"oauth2/google: failed to decode SDK credentials from %q: %v\", credentialsPath, err)\n\t}\n\tif len(c.Data) == 0 {\n\t\treturn nil, fmt.Errorf(\"oauth2/google: no credentials found in %q, run `gcloud auth login` to create one\", credentialsPath)\n\t}\n\tif account == \"\" {\n\t\tpropertiesPath := filepath.Join(configPath, \"properties\")\n\t\tf, err := os.Open(propertiesPath)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"oauth2/google: failed to load SDK properties: %v\", err)\n\t\t}\n\t\tdefer f.Close()\n\t\tini, err := parseINI(f)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"oauth2/google: failed to parse SDK properties %q: %v\", propertiesPath, err)\n\t\t}\n\t\tcore, ok := ini[\"core\"]\n\t\tif !ok {\n\t\t\treturn nil, fmt.Errorf(\"oauth2/google: failed to find [core] section in %v\", ini)\n\t\t}\n\t\tactive, ok := core[\"account\"]\n\t\tif !ok {\n\t\t\treturn nil, fmt.Errorf(\"oauth2/google: failed to find %q attribute in %v\", \"account\", core)\n\t\t}\n\t\taccount = active\n\t}\n\n\tfor _, d := range c.Data {\n\t\tif account == \"\" || d.Key.Account == account {\n\t\t\tif d.Credential.AccessToken == \"\" && d.Credential.RefreshToken == \"\" {\n\t\t\t\treturn nil, fmt.Errorf(\"oauth2/google: no token available for account %q\", account)\n\t\t\t}\n\t\t\tvar expiry time.Time\n\t\t\tif d.Credential.TokenExpiry != nil {\n\t\t\t\texpiry = *d.Credential.TokenExpiry\n\t\t\t}\n\t\t\treturn &SDKConfig{\n\t\t\t\tconf: oauth2.Config{\n\t\t\t\t\tClientID:     d.Credential.ClientID,\n\t\t\t\t\tClientSecret: d.Credential.ClientSecret,\n\t\t\t\t\tScopes:       strings.Split(d.Key.Scope, \" \"),\n\t\t\t\t\tEndpoint:     Endpoint,\n\t\t\t\t\tRedirectURL:  \"oob\",\n\t\t\t\t},\n\t\t\t\tinitialToken: &oauth2.Token{\n\t\t\t\t\tAccessToken:  d.Credential.AccessToken,\n\t\t\t\t\tRefreshToken: d.Credential.RefreshToken,\n\t\t\t\t\tExpiry:       expiry,\n\t\t\t\t},\n\t\t\t}, nil\n\t\t}\n\t}\n\treturn nil, fmt.Errorf(\"oauth2/google: no such credentials for account %q\", account)\n}\n\n// Client returns an HTTP client using Google Cloud SDK credentials to\n// authorize requests. The token will auto-refresh as necessary. The\n// underlying http.RoundTripper will be obtained using the provided\n// context. The returned client and its Transport should not be\n// modified.\nfunc (c *SDKConfig) Client(ctx context.Context) *http.Client {\n\treturn &http.Client{\n\t\tTransport: &oauth2.Transport{\n\t\t\tSource: c.TokenSource(ctx),\n\t\t},\n\t}\n}\n\n// TokenSource returns an oauth2.TokenSource that retrieve tokens from\n// Google Cloud SDK credentials using the provided context.\n// It will returns the current access token stored in the credentials,\n// and refresh it when it expires, but it won't update the credentials\n// with the new access token.\nfunc (c *SDKConfig) TokenSource(ctx context.Context) oauth2.TokenSource {\n\treturn c.conf.TokenSource(ctx, c.initialToken)\n}\n\n// Scopes are the OAuth 2.0 scopes the current account is authorized for.\nfunc (c *SDKConfig) Scopes() []string {\n\treturn c.conf.Scopes\n}\n\nfunc parseINI(ini io.Reader) (map[string]map[string]string, error) {\n\tresult := map[string]map[string]string{\n\t\t\"\": {}, // root section\n\t}\n\tscanner := bufio.NewScanner(ini)\n\tcurrentSection := \"\"\n\tfor scanner.Scan() {\n\t\tline := strings.TrimSpace(scanner.Text())\n\t\tif strings.HasPrefix(line, \";\") {\n\t\t\t// comment.\n\t\t\tcontinue\n\t\t}\n\t\tif strings.HasPrefix(line, \"[\") && strings.HasSuffix(line, \"]\") {\n\t\t\tcurrentSection = strings.TrimSpace(line[1 : len(line)-1])\n\t\t\tresult[currentSection] = map[string]string{}\n\t\t\tcontinue\n\t\t}\n\t\tparts := strings.SplitN(line, \"=\", 2)\n\t\tif len(parts) == 2 && parts[0] != \"\" {\n\t\t\tresult[currentSection][strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])\n\t\t}\n\t}\n\tif err := scanner.Err(); err != nil {\n\t\treturn nil, fmt.Errorf(\"error scanning ini: %v\", err)\n\t}\n\treturn result, nil\n}\n\n// sdkConfigPath tries to guess where the gcloud config is located.\n// It can be overridden during tests.\nvar sdkConfigPath = func() (string, error) {\n\tif runtime.GOOS == \"windows\" {\n\t\treturn filepath.Join(os.Getenv(\"APPDATA\"), \"gcloud\"), nil\n\t}\n\thomeDir := guessUnixHomeDir()\n\tif homeDir == \"\" {\n\t\treturn \"\", errors.New(\"unable to get current user home directory: os/user lookup failed; $HOME is empty\")\n\t}\n\treturn filepath.Join(homeDir, \".config\", \"gcloud\"), nil\n}\n\nfunc guessUnixHomeDir() string {\n\t// Prefer $HOME over user.Current due to glibc bug: golang.org/issue/13470\n\tif v := os.Getenv(\"HOME\"); v != \"\" {\n\t\treturn v\n\t}\n\t// Else, fall back to user.Current:\n\tif u, err := user.Current(); err == nil {\n\t\treturn u.HomeDir\n\t}\n\treturn \"\"\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/internal/client_appengine.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build appengine\n\npackage internal\n\nimport \"google.golang.org/appengine/urlfetch\"\n\nfunc init() {\n\tappengineClientHook = urlfetch.Client\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/internal/doc.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package internal contains support packages for oauth2 package.\npackage internal\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/internal/oauth2.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage internal\n\nimport (\n\t\"crypto/rsa\"\n\t\"crypto/x509\"\n\t\"encoding/pem\"\n\t\"errors\"\n\t\"fmt\"\n)\n\n// ParseKey converts the binary contents of a private key file\n// to an *rsa.PrivateKey. It detects whether the private key is in a\n// PEM container or not. If so, it extracts the the private key\n// from PEM container before conversion. It only supports PEM\n// containers with no passphrase.\nfunc ParseKey(key []byte) (*rsa.PrivateKey, error) {\n\tblock, _ := pem.Decode(key)\n\tif block != nil {\n\t\tkey = block.Bytes\n\t}\n\tparsedKey, err := x509.ParsePKCS8PrivateKey(key)\n\tif err != nil {\n\t\tparsedKey, err = x509.ParsePKCS1PrivateKey(key)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"private key should be a PEM or plain PKSC1 or PKCS8; parse error: %v\", err)\n\t\t}\n\t}\n\tparsed, ok := parsedKey.(*rsa.PrivateKey)\n\tif !ok {\n\t\treturn nil, errors.New(\"private key is invalid\")\n\t}\n\treturn parsed, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/internal/token.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage internal\n\nimport (\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"mime\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/context/ctxhttp\"\n)\n\n// Token represents the credentials used to authorize\n// the requests to access protected resources on the OAuth 2.0\n// provider's backend.\n//\n// This type is a mirror of oauth2.Token and exists to break\n// an otherwise-circular dependency. Other internal packages\n// should convert this Token into an oauth2.Token before use.\ntype Token struct {\n\t// AccessToken is the token that authorizes and authenticates\n\t// the requests.\n\tAccessToken string\n\n\t// TokenType is the type of token.\n\t// The Type method returns either this or \"Bearer\", the default.\n\tTokenType string\n\n\t// RefreshToken is a token that's used by the application\n\t// (as opposed to the user) to refresh the access token\n\t// if it expires.\n\tRefreshToken string\n\n\t// Expiry is the optional expiration time of the access token.\n\t//\n\t// If zero, TokenSource implementations will reuse the same\n\t// token forever and RefreshToken or equivalent\n\t// mechanisms for that TokenSource will not be used.\n\tExpiry time.Time\n\n\t// Raw optionally contains extra metadata from the server\n\t// when updating a token.\n\tRaw interface{}\n}\n\n// tokenJSON is the struct representing the HTTP response from OAuth2\n// providers returning a token in JSON form.\ntype tokenJSON struct {\n\tAccessToken  string         `json:\"access_token\"`\n\tTokenType    string         `json:\"token_type\"`\n\tRefreshToken string         `json:\"refresh_token\"`\n\tExpiresIn    expirationTime `json:\"expires_in\"` // at least PayPal returns string, while most return number\n\tExpires      expirationTime `json:\"expires\"`    // broken Facebook spelling of expires_in\n}\n\nfunc (e *tokenJSON) expiry() (t time.Time) {\n\tif v := e.ExpiresIn; v != 0 {\n\t\treturn time.Now().Add(time.Duration(v) * time.Second)\n\t}\n\tif v := e.Expires; v != 0 {\n\t\treturn time.Now().Add(time.Duration(v) * time.Second)\n\t}\n\treturn\n}\n\ntype expirationTime int32\n\nfunc (e *expirationTime) UnmarshalJSON(b []byte) error {\n\tvar n json.Number\n\terr := json.Unmarshal(b, &n)\n\tif err != nil {\n\t\treturn err\n\t}\n\ti, err := n.Int64()\n\tif err != nil {\n\t\treturn err\n\t}\n\t*e = expirationTime(i)\n\treturn nil\n}\n\nvar brokenAuthHeaderProviders = []string{\n\t\"https://accounts.google.com/\",\n\t\"https://api.codeswholesale.com/oauth/token\",\n\t\"https://api.dropbox.com/\",\n\t\"https://api.dropboxapi.com/\",\n\t\"https://api.instagram.com/\",\n\t\"https://api.netatmo.net/\",\n\t\"https://api.odnoklassniki.ru/\",\n\t\"https://api.pushbullet.com/\",\n\t\"https://api.soundcloud.com/\",\n\t\"https://api.twitch.tv/\",\n\t\"https://app.box.com/\",\n\t\"https://connect.stripe.com/\",\n\t\"https://graph.facebook.com\", // see https://github.com/golang/oauth2/issues/214\n\t\"https://login.microsoftonline.com/\",\n\t\"https://login.salesforce.com/\",\n\t\"https://login.windows.net\",\n\t\"https://login.live.com/\",\n\t\"https://oauth.sandbox.trainingpeaks.com/\",\n\t\"https://oauth.trainingpeaks.com/\",\n\t\"https://oauth.vk.com/\",\n\t\"https://openapi.baidu.com/\",\n\t\"https://slack.com/\",\n\t\"https://test-sandbox.auth.corp.google.com\",\n\t\"https://test.salesforce.com/\",\n\t\"https://user.gini.net/\",\n\t\"https://www.douban.com/\",\n\t\"https://www.googleapis.com/\",\n\t\"https://www.linkedin.com/\",\n\t\"https://www.strava.com/oauth/\",\n\t\"https://www.wunderlist.com/oauth/\",\n\t\"https://api.patreon.com/\",\n\t\"https://sandbox.codeswholesale.com/oauth/token\",\n\t\"https://api.sipgate.com/v1/authorization/oauth\",\n}\n\n// brokenAuthHeaderDomains lists broken providers that issue dynamic endpoints.\nvar brokenAuthHeaderDomains = []string{\n\t\".force.com\",\n\t\".myshopify.com\",\n\t\".okta.com\",\n\t\".oktapreview.com\",\n}\n\nfunc RegisterBrokenAuthHeaderProvider(tokenURL string) {\n\tbrokenAuthHeaderProviders = append(brokenAuthHeaderProviders, tokenURL)\n}\n\n// providerAuthHeaderWorks reports whether the OAuth2 server identified by the tokenURL\n// implements the OAuth2 spec correctly\n// See https://code.google.com/p/goauth2/issues/detail?id=31 for background.\n// In summary:\n// - Reddit only accepts client secret in the Authorization header\n// - Dropbox accepts either it in URL param or Auth header, but not both.\n// - Google only accepts URL param (not spec compliant?), not Auth header\n// - Stripe only accepts client secret in Auth header with Bearer method, not Basic\nfunc providerAuthHeaderWorks(tokenURL string) bool {\n\tfor _, s := range brokenAuthHeaderProviders {\n\t\tif strings.HasPrefix(tokenURL, s) {\n\t\t\t// Some sites fail to implement the OAuth2 spec fully.\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif u, err := url.Parse(tokenURL); err == nil {\n\t\tfor _, s := range brokenAuthHeaderDomains {\n\t\t\tif strings.HasSuffix(u.Host, s) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\n\t// Assume the provider implements the spec properly\n\t// otherwise. We can add more exceptions as they're\n\t// discovered. We will _not_ be adding configurable hooks\n\t// to this package to let users select server bugs.\n\treturn true\n}\n\nfunc RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string, v url.Values) (*Token, error) {\n\tbustedAuth := !providerAuthHeaderWorks(tokenURL)\n\tif bustedAuth {\n\t\tif clientID != \"\" {\n\t\t\tv.Set(\"client_id\", clientID)\n\t\t}\n\t\tif clientSecret != \"\" {\n\t\t\tv.Set(\"client_secret\", clientSecret)\n\t\t}\n\t}\n\treq, err := http.NewRequest(\"POST\", tokenURL, strings.NewReader(v.Encode()))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treq.Header.Set(\"Content-Type\", \"application/x-www-form-urlencoded\")\n\tif !bustedAuth {\n\t\treq.SetBasicAuth(url.QueryEscape(clientID), url.QueryEscape(clientSecret))\n\t}\n\tr, err := ctxhttp.Do(ctx, ContextClient(ctx), req)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer r.Body.Close()\n\tbody, err := ioutil.ReadAll(io.LimitReader(r.Body, 1<<20))\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"oauth2: cannot fetch token: %v\", err)\n\t}\n\tif code := r.StatusCode; code < 200 || code > 299 {\n\t\treturn nil, &RetrieveError{\n\t\t\tResponse: r,\n\t\t\tBody:     body,\n\t\t}\n\t}\n\n\tvar token *Token\n\tcontent, _, _ := mime.ParseMediaType(r.Header.Get(\"Content-Type\"))\n\tswitch content {\n\tcase \"application/x-www-form-urlencoded\", \"text/plain\":\n\t\tvals, err := url.ParseQuery(string(body))\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ttoken = &Token{\n\t\t\tAccessToken:  vals.Get(\"access_token\"),\n\t\t\tTokenType:    vals.Get(\"token_type\"),\n\t\t\tRefreshToken: vals.Get(\"refresh_token\"),\n\t\t\tRaw:          vals,\n\t\t}\n\t\te := vals.Get(\"expires_in\")\n\t\tif e == \"\" {\n\t\t\t// TODO(jbd): Facebook's OAuth2 implementation is broken and\n\t\t\t// returns expires_in field in expires. Remove the fallback to expires,\n\t\t\t// when Facebook fixes their implementation.\n\t\t\te = vals.Get(\"expires\")\n\t\t}\n\t\texpires, _ := strconv.Atoi(e)\n\t\tif expires != 0 {\n\t\t\ttoken.Expiry = time.Now().Add(time.Duration(expires) * time.Second)\n\t\t}\n\tdefault:\n\t\tvar tj tokenJSON\n\t\tif err = json.Unmarshal(body, &tj); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ttoken = &Token{\n\t\t\tAccessToken:  tj.AccessToken,\n\t\t\tTokenType:    tj.TokenType,\n\t\t\tRefreshToken: tj.RefreshToken,\n\t\t\tExpiry:       tj.expiry(),\n\t\t\tRaw:          make(map[string]interface{}),\n\t\t}\n\t\tjson.Unmarshal(body, &token.Raw) // no error checks for optional fields\n\t}\n\t// Don't overwrite `RefreshToken` with an empty value\n\t// if this was a token refreshing request.\n\tif token.RefreshToken == \"\" {\n\t\ttoken.RefreshToken = v.Get(\"refresh_token\")\n\t}\n\tif token.AccessToken == \"\" {\n\t\treturn token, errors.New(\"oauth2: server response missing access_token\")\n\t}\n\treturn token, nil\n}\n\ntype RetrieveError struct {\n\tResponse *http.Response\n\tBody     []byte\n}\n\nfunc (r *RetrieveError) Error() string {\n\treturn fmt.Sprintf(\"oauth2: cannot fetch token: %v\\nResponse: %s\", r.Response.Status, r.Body)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/internal/transport.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage internal\n\nimport (\n\t\"net/http\"\n\n\t\"golang.org/x/net/context\"\n)\n\n// HTTPClient is the context key to use with golang.org/x/net/context's\n// WithValue function to associate an *http.Client value with a context.\nvar HTTPClient ContextKey\n\n// ContextKey is just an empty struct. It exists so HTTPClient can be\n// an immutable public variable with a unique type. It's immutable\n// because nobody else can create a ContextKey, being unexported.\ntype ContextKey struct{}\n\nvar appengineClientHook func(context.Context) *http.Client\n\nfunc ContextClient(ctx context.Context) *http.Client {\n\tif ctx != nil {\n\t\tif hc, ok := ctx.Value(HTTPClient).(*http.Client); ok {\n\t\t\treturn hc\n\t\t}\n\t}\n\tif appengineClientHook != nil {\n\t\treturn appengineClientHook(ctx)\n\t}\n\treturn http.DefaultClient\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/jws/jws.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package jws provides a partial implementation\n// of JSON Web Signature encoding and decoding.\n// It exists to support the golang.org/x/oauth2 package.\n//\n// See RFC 7515.\n//\n// Deprecated: this package is not intended for public use and might be\n// removed in the future. It exists for internal use only.\n// Please switch to another JWS package or copy this package into your own\n// source tree.\npackage jws // import \"golang.org/x/oauth2/jws\"\n\nimport (\n\t\"bytes\"\n\t\"crypto\"\n\t\"crypto/rand\"\n\t\"crypto/rsa\"\n\t\"crypto/sha256\"\n\t\"encoding/base64\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"strings\"\n\t\"time\"\n)\n\n// ClaimSet contains information about the JWT signature including the\n// permissions being requested (scopes), the target of the token, the issuer,\n// the time the token was issued, and the lifetime of the token.\ntype ClaimSet struct {\n\tIss   string `json:\"iss\"`             // email address of the client_id of the application making the access token request\n\tScope string `json:\"scope,omitempty\"` // space-delimited list of the permissions the application requests\n\tAud   string `json:\"aud\"`             // descriptor of the intended target of the assertion (Optional).\n\tExp   int64  `json:\"exp\"`             // the expiration time of the assertion (seconds since Unix epoch)\n\tIat   int64  `json:\"iat\"`             // the time the assertion was issued (seconds since Unix epoch)\n\tTyp   string `json:\"typ,omitempty\"`   // token type (Optional).\n\n\t// Email for which the application is requesting delegated access (Optional).\n\tSub string `json:\"sub,omitempty\"`\n\n\t// The old name of Sub. Client keeps setting Prn to be\n\t// complaint with legacy OAuth 2.0 providers. (Optional)\n\tPrn string `json:\"prn,omitempty\"`\n\n\t// See http://tools.ietf.org/html/draft-jones-json-web-token-10#section-4.3\n\t// This array is marshalled using custom code (see (c *ClaimSet) encode()).\n\tPrivateClaims map[string]interface{} `json:\"-\"`\n}\n\nfunc (c *ClaimSet) encode() (string, error) {\n\t// Reverting time back for machines whose time is not perfectly in sync.\n\t// If client machine's time is in the future according\n\t// to Google servers, an access token will not be issued.\n\tnow := time.Now().Add(-10 * time.Second)\n\tif c.Iat == 0 {\n\t\tc.Iat = now.Unix()\n\t}\n\tif c.Exp == 0 {\n\t\tc.Exp = now.Add(time.Hour).Unix()\n\t}\n\tif c.Exp < c.Iat {\n\t\treturn \"\", fmt.Errorf(\"jws: invalid Exp = %v; must be later than Iat = %v\", c.Exp, c.Iat)\n\t}\n\n\tb, err := json.Marshal(c)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\n\tif len(c.PrivateClaims) == 0 {\n\t\treturn base64.RawURLEncoding.EncodeToString(b), nil\n\t}\n\n\t// Marshal private claim set and then append it to b.\n\tprv, err := json.Marshal(c.PrivateClaims)\n\tif err != nil {\n\t\treturn \"\", fmt.Errorf(\"jws: invalid map of private claims %v\", c.PrivateClaims)\n\t}\n\n\t// Concatenate public and private claim JSON objects.\n\tif !bytes.HasSuffix(b, []byte{'}'}) {\n\t\treturn \"\", fmt.Errorf(\"jws: invalid JSON %s\", b)\n\t}\n\tif !bytes.HasPrefix(prv, []byte{'{'}) {\n\t\treturn \"\", fmt.Errorf(\"jws: invalid JSON %s\", prv)\n\t}\n\tb[len(b)-1] = ','         // Replace closing curly brace with a comma.\n\tb = append(b, prv[1:]...) // Append private claims.\n\treturn base64.RawURLEncoding.EncodeToString(b), nil\n}\n\n// Header represents the header for the signed JWS payloads.\ntype Header struct {\n\t// The algorithm used for signature.\n\tAlgorithm string `json:\"alg\"`\n\n\t// Represents the token type.\n\tTyp string `json:\"typ\"`\n\n\t// The optional hint of which key is being used.\n\tKeyID string `json:\"kid,omitempty\"`\n}\n\nfunc (h *Header) encode() (string, error) {\n\tb, err := json.Marshal(h)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn base64.RawURLEncoding.EncodeToString(b), nil\n}\n\n// Decode decodes a claim set from a JWS payload.\nfunc Decode(payload string) (*ClaimSet, error) {\n\t// decode returned id token to get expiry\n\ts := strings.Split(payload, \".\")\n\tif len(s) < 2 {\n\t\t// TODO(jbd): Provide more context about the error.\n\t\treturn nil, errors.New(\"jws: invalid token received\")\n\t}\n\tdecoded, err := base64.RawURLEncoding.DecodeString(s[1])\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tc := &ClaimSet{}\n\terr = json.NewDecoder(bytes.NewBuffer(decoded)).Decode(c)\n\treturn c, err\n}\n\n// Signer returns a signature for the given data.\ntype Signer func(data []byte) (sig []byte, err error)\n\n// EncodeWithSigner encodes a header and claim set with the provided signer.\nfunc EncodeWithSigner(header *Header, c *ClaimSet, sg Signer) (string, error) {\n\thead, err := header.encode()\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tcs, err := c.encode()\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tss := fmt.Sprintf(\"%s.%s\", head, cs)\n\tsig, err := sg([]byte(ss))\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn fmt.Sprintf(\"%s.%s\", ss, base64.RawURLEncoding.EncodeToString(sig)), nil\n}\n\n// Encode encodes a signed JWS with provided header and claim set.\n// This invokes EncodeWithSigner using crypto/rsa.SignPKCS1v15 with the given RSA private key.\nfunc Encode(header *Header, c *ClaimSet, key *rsa.PrivateKey) (string, error) {\n\tsg := func(data []byte) (sig []byte, err error) {\n\t\th := sha256.New()\n\t\th.Write(data)\n\t\treturn rsa.SignPKCS1v15(rand.Reader, key, crypto.SHA256, h.Sum(nil))\n\t}\n\treturn EncodeWithSigner(header, c, sg)\n}\n\n// Verify tests whether the provided JWT token's signature was produced by the private key\n// associated with the supplied public key.\nfunc Verify(token string, key *rsa.PublicKey) error {\n\tparts := strings.Split(token, \".\")\n\tif len(parts) != 3 {\n\t\treturn errors.New(\"jws: invalid token received, token must have 3 parts\")\n\t}\n\n\tsignedContent := parts[0] + \".\" + parts[1]\n\tsignatureString, err := base64.RawURLEncoding.DecodeString(parts[2])\n\tif err != nil {\n\t\treturn err\n\t}\n\n\th := sha256.New()\n\th.Write([]byte(signedContent))\n\treturn rsa.VerifyPKCS1v15(key, crypto.SHA256, h.Sum(nil), []byte(signatureString))\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/jwt/jwt.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package jwt implements the OAuth 2.0 JSON Web Token flow, commonly\n// known as \"two-legged OAuth 2.0\".\n//\n// See: https://tools.ietf.org/html/draft-ietf-oauth-jwt-bearer-12\npackage jwt\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"strings\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/oauth2\"\n\t\"golang.org/x/oauth2/internal\"\n\t\"golang.org/x/oauth2/jws\"\n)\n\nvar (\n\tdefaultGrantType = \"urn:ietf:params:oauth:grant-type:jwt-bearer\"\n\tdefaultHeader    = &jws.Header{Algorithm: \"RS256\", Typ: \"JWT\"}\n)\n\n// Config is the configuration for using JWT to fetch tokens,\n// commonly known as \"two-legged OAuth 2.0\".\ntype Config struct {\n\t// Email is the OAuth client identifier used when communicating with\n\t// the configured OAuth provider.\n\tEmail string\n\n\t// PrivateKey contains the contents of an RSA private key or the\n\t// contents of a PEM file that contains a private key. The provided\n\t// private key is used to sign JWT payloads.\n\t// PEM containers with a passphrase are not supported.\n\t// Use the following command to convert a PKCS 12 file into a PEM.\n\t//\n\t//    $ openssl pkcs12 -in key.p12 -out key.pem -nodes\n\t//\n\tPrivateKey []byte\n\n\t// PrivateKeyID contains an optional hint indicating which key is being\n\t// used.\n\tPrivateKeyID string\n\n\t// Subject is the optional user to impersonate.\n\tSubject string\n\n\t// Scopes optionally specifies a list of requested permission scopes.\n\tScopes []string\n\n\t// TokenURL is the endpoint required to complete the 2-legged JWT flow.\n\tTokenURL string\n\n\t// Expires optionally specifies how long the token is valid for.\n\tExpires time.Duration\n}\n\n// TokenSource returns a JWT TokenSource using the configuration\n// in c and the HTTP client from the provided context.\nfunc (c *Config) TokenSource(ctx context.Context) oauth2.TokenSource {\n\treturn oauth2.ReuseTokenSource(nil, jwtSource{ctx, c})\n}\n\n// Client returns an HTTP client wrapping the context's\n// HTTP transport and adding Authorization headers with tokens\n// obtained from c.\n//\n// The returned client and its Transport should not be modified.\nfunc (c *Config) Client(ctx context.Context) *http.Client {\n\treturn oauth2.NewClient(ctx, c.TokenSource(ctx))\n}\n\n// jwtSource is a source that always does a signed JWT request for a token.\n// It should typically be wrapped with a reuseTokenSource.\ntype jwtSource struct {\n\tctx  context.Context\n\tconf *Config\n}\n\nfunc (js jwtSource) Token() (*oauth2.Token, error) {\n\tpk, err := internal.ParseKey(js.conf.PrivateKey)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\thc := oauth2.NewClient(js.ctx, nil)\n\tclaimSet := &jws.ClaimSet{\n\t\tIss:   js.conf.Email,\n\t\tScope: strings.Join(js.conf.Scopes, \" \"),\n\t\tAud:   js.conf.TokenURL,\n\t}\n\tif subject := js.conf.Subject; subject != \"\" {\n\t\tclaimSet.Sub = subject\n\t\t// prn is the old name of sub. Keep setting it\n\t\t// to be compatible with legacy OAuth 2.0 providers.\n\t\tclaimSet.Prn = subject\n\t}\n\tif t := js.conf.Expires; t > 0 {\n\t\tclaimSet.Exp = time.Now().Add(t).Unix()\n\t}\n\th := *defaultHeader\n\th.KeyID = js.conf.PrivateKeyID\n\tpayload, err := jws.Encode(&h, claimSet, pk)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tv := url.Values{}\n\tv.Set(\"grant_type\", defaultGrantType)\n\tv.Set(\"assertion\", payload)\n\tresp, err := hc.PostForm(js.conf.TokenURL, v)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"oauth2: cannot fetch token: %v\", err)\n\t}\n\tdefer resp.Body.Close()\n\tbody, err := ioutil.ReadAll(io.LimitReader(resp.Body, 1<<20))\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"oauth2: cannot fetch token: %v\", err)\n\t}\n\tif c := resp.StatusCode; c < 200 || c > 299 {\n\t\treturn nil, &oauth2.RetrieveError{\n\t\t\tResponse: resp,\n\t\t\tBody:     body,\n\t\t}\n\t}\n\t// tokenRes is the JSON response body.\n\tvar tokenRes struct {\n\t\tAccessToken string `json:\"access_token\"`\n\t\tTokenType   string `json:\"token_type\"`\n\t\tIDToken     string `json:\"id_token\"`\n\t\tExpiresIn   int64  `json:\"expires_in\"` // relative seconds from now\n\t}\n\tif err := json.Unmarshal(body, &tokenRes); err != nil {\n\t\treturn nil, fmt.Errorf(\"oauth2: cannot fetch token: %v\", err)\n\t}\n\ttoken := &oauth2.Token{\n\t\tAccessToken: tokenRes.AccessToken,\n\t\tTokenType:   tokenRes.TokenType,\n\t}\n\traw := make(map[string]interface{})\n\tjson.Unmarshal(body, &raw) // no error checks for optional fields\n\ttoken = token.WithExtra(raw)\n\n\tif secs := tokenRes.ExpiresIn; secs > 0 {\n\t\ttoken.Expiry = time.Now().Add(time.Duration(secs) * time.Second)\n\t}\n\tif v := tokenRes.IDToken; v != \"\" {\n\t\t// decode returned id token to get expiry\n\t\tclaimSet, err := jws.Decode(v)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"oauth2: error decoding JWT token: %v\", err)\n\t\t}\n\t\ttoken.Expiry = time.Unix(claimSet.Exp, 0)\n\t}\n\treturn token, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/oauth2.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package oauth2 provides support for making\n// OAuth2 authorized and authenticated HTTP requests.\n// It can additionally grant authorization with Bearer JWT.\npackage oauth2 // import \"golang.org/x/oauth2\"\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"strings\"\n\t\"sync\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/oauth2/internal\"\n)\n\n// NoContext is the default context you should supply if not using\n// your own context.Context (see https://golang.org/x/net/context).\n//\n// Deprecated: Use context.Background() or context.TODO() instead.\nvar NoContext = context.TODO()\n\n// RegisterBrokenAuthHeaderProvider registers an OAuth2 server\n// identified by the tokenURL prefix as an OAuth2 implementation\n// which doesn't support the HTTP Basic authentication\n// scheme to authenticate with the authorization server.\n// Once a server is registered, credentials (client_id and client_secret)\n// will be passed as query parameters rather than being present\n// in the Authorization header.\n// See https://code.google.com/p/goauth2/issues/detail?id=31 for background.\nfunc RegisterBrokenAuthHeaderProvider(tokenURL string) {\n\tinternal.RegisterBrokenAuthHeaderProvider(tokenURL)\n}\n\n// Config describes a typical 3-legged OAuth2 flow, with both the\n// client application information and the server's endpoint URLs.\n// For the client credentials 2-legged OAuth2 flow, see the clientcredentials\n// package (https://golang.org/x/oauth2/clientcredentials).\ntype Config struct {\n\t// ClientID is the application's ID.\n\tClientID string\n\n\t// ClientSecret is the application's secret.\n\tClientSecret string\n\n\t// Endpoint contains the resource server's token endpoint\n\t// URLs. These are constants specific to each server and are\n\t// often available via site-specific packages, such as\n\t// google.Endpoint or github.Endpoint.\n\tEndpoint Endpoint\n\n\t// RedirectURL is the URL to redirect users going through\n\t// the OAuth flow, after the resource owner's URLs.\n\tRedirectURL string\n\n\t// Scope specifies optional requested permissions.\n\tScopes []string\n}\n\n// A TokenSource is anything that can return a token.\ntype TokenSource interface {\n\t// Token returns a token or an error.\n\t// Token must be safe for concurrent use by multiple goroutines.\n\t// The returned Token must not be modified.\n\tToken() (*Token, error)\n}\n\n// Endpoint contains the OAuth 2.0 provider's authorization and token\n// endpoint URLs.\ntype Endpoint struct {\n\tAuthURL  string\n\tTokenURL string\n}\n\nvar (\n\t// AccessTypeOnline and AccessTypeOffline are options passed\n\t// to the Options.AuthCodeURL method. They modify the\n\t// \"access_type\" field that gets sent in the URL returned by\n\t// AuthCodeURL.\n\t//\n\t// Online is the default if neither is specified. If your\n\t// application needs to refresh access tokens when the user\n\t// is not present at the browser, then use offline. This will\n\t// result in your application obtaining a refresh token the\n\t// first time your application exchanges an authorization\n\t// code for a user.\n\tAccessTypeOnline  AuthCodeOption = SetAuthURLParam(\"access_type\", \"online\")\n\tAccessTypeOffline AuthCodeOption = SetAuthURLParam(\"access_type\", \"offline\")\n\n\t// ApprovalForce forces the users to view the consent dialog\n\t// and confirm the permissions request at the URL returned\n\t// from AuthCodeURL, even if they've already done so.\n\tApprovalForce AuthCodeOption = SetAuthURLParam(\"approval_prompt\", \"force\")\n)\n\n// An AuthCodeOption is passed to Config.AuthCodeURL.\ntype AuthCodeOption interface {\n\tsetValue(url.Values)\n}\n\ntype setParam struct{ k, v string }\n\nfunc (p setParam) setValue(m url.Values) { m.Set(p.k, p.v) }\n\n// SetAuthURLParam builds an AuthCodeOption which passes key/value parameters\n// to a provider's authorization endpoint.\nfunc SetAuthURLParam(key, value string) AuthCodeOption {\n\treturn setParam{key, value}\n}\n\n// AuthCodeURL returns a URL to OAuth 2.0 provider's consent page\n// that asks for permissions for the required scopes explicitly.\n//\n// State is a token to protect the user from CSRF attacks. You must\n// always provide a non-zero string and validate that it matches the\n// the state query parameter on your redirect callback.\n// See http://tools.ietf.org/html/rfc6749#section-10.12 for more info.\n//\n// Opts may include AccessTypeOnline or AccessTypeOffline, as well\n// as ApprovalForce.\nfunc (c *Config) AuthCodeURL(state string, opts ...AuthCodeOption) string {\n\tvar buf bytes.Buffer\n\tbuf.WriteString(c.Endpoint.AuthURL)\n\tv := url.Values{\n\t\t\"response_type\": {\"code\"},\n\t\t\"client_id\":     {c.ClientID},\n\t}\n\tif c.RedirectURL != \"\" {\n\t\tv.Set(\"redirect_uri\", c.RedirectURL)\n\t}\n\tif len(c.Scopes) > 0 {\n\t\tv.Set(\"scope\", strings.Join(c.Scopes, \" \"))\n\t}\n\tif state != \"\" {\n\t\t// TODO(light): Docs say never to omit state; don't allow empty.\n\t\tv.Set(\"state\", state)\n\t}\n\tfor _, opt := range opts {\n\t\topt.setValue(v)\n\t}\n\tif strings.Contains(c.Endpoint.AuthURL, \"?\") {\n\t\tbuf.WriteByte('&')\n\t} else {\n\t\tbuf.WriteByte('?')\n\t}\n\tbuf.WriteString(v.Encode())\n\treturn buf.String()\n}\n\n// PasswordCredentialsToken converts a resource owner username and password\n// pair into a token.\n//\n// Per the RFC, this grant type should only be used \"when there is a high\n// degree of trust between the resource owner and the client (e.g., the client\n// is part of the device operating system or a highly privileged application),\n// and when other authorization grant types are not available.\"\n// See https://tools.ietf.org/html/rfc6749#section-4.3 for more info.\n//\n// The HTTP client to use is derived from the context.\n// If nil, http.DefaultClient is used.\nfunc (c *Config) PasswordCredentialsToken(ctx context.Context, username, password string) (*Token, error) {\n\tv := url.Values{\n\t\t\"grant_type\": {\"password\"},\n\t\t\"username\":   {username},\n\t\t\"password\":   {password},\n\t}\n\tif len(c.Scopes) > 0 {\n\t\tv.Set(\"scope\", strings.Join(c.Scopes, \" \"))\n\t}\n\treturn retrieveToken(ctx, c, v)\n}\n\n// Exchange converts an authorization code into a token.\n//\n// It is used after a resource provider redirects the user back\n// to the Redirect URI (the URL obtained from AuthCodeURL).\n//\n// The HTTP client to use is derived from the context.\n// If a client is not provided via the context, http.DefaultClient is used.\n//\n// The code will be in the *http.Request.FormValue(\"code\"). Before\n// calling Exchange, be sure to validate FormValue(\"state\").\nfunc (c *Config) Exchange(ctx context.Context, code string) (*Token, error) {\n\tv := url.Values{\n\t\t\"grant_type\": {\"authorization_code\"},\n\t\t\"code\":       {code},\n\t}\n\tif c.RedirectURL != \"\" {\n\t\tv.Set(\"redirect_uri\", c.RedirectURL)\n\t}\n\treturn retrieveToken(ctx, c, v)\n}\n\n// Client returns an HTTP client using the provided token.\n// The token will auto-refresh as necessary. The underlying\n// HTTP transport will be obtained using the provided context.\n// The returned client and its Transport should not be modified.\nfunc (c *Config) Client(ctx context.Context, t *Token) *http.Client {\n\treturn NewClient(ctx, c.TokenSource(ctx, t))\n}\n\n// TokenSource returns a TokenSource that returns t until t expires,\n// automatically refreshing it as necessary using the provided context.\n//\n// Most users will use Config.Client instead.\nfunc (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource {\n\ttkr := &tokenRefresher{\n\t\tctx:  ctx,\n\t\tconf: c,\n\t}\n\tif t != nil {\n\t\ttkr.refreshToken = t.RefreshToken\n\t}\n\treturn &reuseTokenSource{\n\t\tt:   t,\n\t\tnew: tkr,\n\t}\n}\n\n// tokenRefresher is a TokenSource that makes \"grant_type\"==\"refresh_token\"\n// HTTP requests to renew a token using a RefreshToken.\ntype tokenRefresher struct {\n\tctx          context.Context // used to get HTTP requests\n\tconf         *Config\n\trefreshToken string\n}\n\n// WARNING: Token is not safe for concurrent access, as it\n// updates the tokenRefresher's refreshToken field.\n// Within this package, it is used by reuseTokenSource which\n// synchronizes calls to this method with its own mutex.\nfunc (tf *tokenRefresher) Token() (*Token, error) {\n\tif tf.refreshToken == \"\" {\n\t\treturn nil, errors.New(\"oauth2: token expired and refresh token is not set\")\n\t}\n\n\ttk, err := retrieveToken(tf.ctx, tf.conf, url.Values{\n\t\t\"grant_type\":    {\"refresh_token\"},\n\t\t\"refresh_token\": {tf.refreshToken},\n\t})\n\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif tf.refreshToken != tk.RefreshToken {\n\t\ttf.refreshToken = tk.RefreshToken\n\t}\n\treturn tk, err\n}\n\n// reuseTokenSource is a TokenSource that holds a single token in memory\n// and validates its expiry before each call to retrieve it with\n// Token. If it's expired, it will be auto-refreshed using the\n// new TokenSource.\ntype reuseTokenSource struct {\n\tnew TokenSource // called when t is expired.\n\n\tmu sync.Mutex // guards t\n\tt  *Token\n}\n\n// Token returns the current token if it's still valid, else will\n// refresh the current token (using r.Context for HTTP client\n// information) and return the new one.\nfunc (s *reuseTokenSource) Token() (*Token, error) {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif s.t.Valid() {\n\t\treturn s.t, nil\n\t}\n\tt, err := s.new.Token()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\ts.t = t\n\treturn t, nil\n}\n\n// StaticTokenSource returns a TokenSource that always returns the same token.\n// Because the provided token t is never refreshed, StaticTokenSource is only\n// useful for tokens that never expire.\nfunc StaticTokenSource(t *Token) TokenSource {\n\treturn staticTokenSource{t}\n}\n\n// staticTokenSource is a TokenSource that always returns the same Token.\ntype staticTokenSource struct {\n\tt *Token\n}\n\nfunc (s staticTokenSource) Token() (*Token, error) {\n\treturn s.t, nil\n}\n\n// HTTPClient is the context key to use with golang.org/x/net/context's\n// WithValue function to associate an *http.Client value with a context.\nvar HTTPClient internal.ContextKey\n\n// NewClient creates an *http.Client from a Context and TokenSource.\n// The returned client is not valid beyond the lifetime of the context.\n//\n// Note that if a custom *http.Client is provided via the Context it\n// is used only for token acquisition and is not used to configure the\n// *http.Client returned from NewClient.\n//\n// As a special case, if src is nil, a non-OAuth2 client is returned\n// using the provided context. This exists to support related OAuth2\n// packages.\nfunc NewClient(ctx context.Context, src TokenSource) *http.Client {\n\tif src == nil {\n\t\treturn internal.ContextClient(ctx)\n\t}\n\treturn &http.Client{\n\t\tTransport: &Transport{\n\t\t\tBase:   internal.ContextClient(ctx).Transport,\n\t\t\tSource: ReuseTokenSource(nil, src),\n\t\t},\n\t}\n}\n\n// ReuseTokenSource returns a TokenSource which repeatedly returns the\n// same token as long as it's valid, starting with t.\n// When its cached token is invalid, a new token is obtained from src.\n//\n// ReuseTokenSource is typically used to reuse tokens from a cache\n// (such as a file on disk) between runs of a program, rather than\n// obtaining new tokens unnecessarily.\n//\n// The initial token t may be nil, in which case the TokenSource is\n// wrapped in a caching version if it isn't one already. This also\n// means it's always safe to wrap ReuseTokenSource around any other\n// TokenSource without adverse effects.\nfunc ReuseTokenSource(t *Token, src TokenSource) TokenSource {\n\t// Don't wrap a reuseTokenSource in itself. That would work,\n\t// but cause an unnecessary number of mutex operations.\n\t// Just build the equivalent one.\n\tif rt, ok := src.(*reuseTokenSource); ok {\n\t\tif t == nil {\n\t\t\t// Just use it directly.\n\t\t\treturn rt\n\t\t}\n\t\tsrc = rt.new\n\t}\n\treturn &reuseTokenSource{\n\t\tt:   t,\n\t\tnew: src,\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/token.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage oauth2\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/oauth2/internal\"\n)\n\n// expiryDelta determines how earlier a token should be considered\n// expired than its actual expiration time. It is used to avoid late\n// expirations due to client-server time mismatches.\nconst expiryDelta = 10 * time.Second\n\n// Token represents the credentials used to authorize\n// the requests to access protected resources on the OAuth 2.0\n// provider's backend.\n//\n// Most users of this package should not access fields of Token\n// directly. They're exported mostly for use by related packages\n// implementing derivative OAuth2 flows.\ntype Token struct {\n\t// AccessToken is the token that authorizes and authenticates\n\t// the requests.\n\tAccessToken string `json:\"access_token\"`\n\n\t// TokenType is the type of token.\n\t// The Type method returns either this or \"Bearer\", the default.\n\tTokenType string `json:\"token_type,omitempty\"`\n\n\t// RefreshToken is a token that's used by the application\n\t// (as opposed to the user) to refresh the access token\n\t// if it expires.\n\tRefreshToken string `json:\"refresh_token,omitempty\"`\n\n\t// Expiry is the optional expiration time of the access token.\n\t//\n\t// If zero, TokenSource implementations will reuse the same\n\t// token forever and RefreshToken or equivalent\n\t// mechanisms for that TokenSource will not be used.\n\tExpiry time.Time `json:\"expiry,omitempty\"`\n\n\t// raw optionally contains extra metadata from the server\n\t// when updating a token.\n\traw interface{}\n}\n\n// Type returns t.TokenType if non-empty, else \"Bearer\".\nfunc (t *Token) Type() string {\n\tif strings.EqualFold(t.TokenType, \"bearer\") {\n\t\treturn \"Bearer\"\n\t}\n\tif strings.EqualFold(t.TokenType, \"mac\") {\n\t\treturn \"MAC\"\n\t}\n\tif strings.EqualFold(t.TokenType, \"basic\") {\n\t\treturn \"Basic\"\n\t}\n\tif t.TokenType != \"\" {\n\t\treturn t.TokenType\n\t}\n\treturn \"Bearer\"\n}\n\n// SetAuthHeader sets the Authorization header to r using the access\n// token in t.\n//\n// This method is unnecessary when using Transport or an HTTP Client\n// returned by this package.\nfunc (t *Token) SetAuthHeader(r *http.Request) {\n\tr.Header.Set(\"Authorization\", t.Type()+\" \"+t.AccessToken)\n}\n\n// WithExtra returns a new Token that's a clone of t, but using the\n// provided raw extra map. This is only intended for use by packages\n// implementing derivative OAuth2 flows.\nfunc (t *Token) WithExtra(extra interface{}) *Token {\n\tt2 := new(Token)\n\t*t2 = *t\n\tt2.raw = extra\n\treturn t2\n}\n\n// Extra returns an extra field.\n// Extra fields are key-value pairs returned by the server as a\n// part of the token retrieval response.\nfunc (t *Token) Extra(key string) interface{} {\n\tif raw, ok := t.raw.(map[string]interface{}); ok {\n\t\treturn raw[key]\n\t}\n\n\tvals, ok := t.raw.(url.Values)\n\tif !ok {\n\t\treturn nil\n\t}\n\n\tv := vals.Get(key)\n\tswitch s := strings.TrimSpace(v); strings.Count(s, \".\") {\n\tcase 0: // Contains no \".\"; try to parse as int\n\t\tif i, err := strconv.ParseInt(s, 10, 64); err == nil {\n\t\t\treturn i\n\t\t}\n\tcase 1: // Contains a single \".\"; try to parse as float\n\t\tif f, err := strconv.ParseFloat(s, 64); err == nil {\n\t\t\treturn f\n\t\t}\n\t}\n\n\treturn v\n}\n\n// expired reports whether the token is expired.\n// t must be non-nil.\nfunc (t *Token) expired() bool {\n\tif t.Expiry.IsZero() {\n\t\treturn false\n\t}\n\treturn t.Expiry.Round(0).Add(-expiryDelta).Before(time.Now())\n}\n\n// Valid reports whether t is non-nil, has an AccessToken, and is not expired.\nfunc (t *Token) Valid() bool {\n\treturn t != nil && t.AccessToken != \"\" && !t.expired()\n}\n\n// tokenFromInternal maps an *internal.Token struct into\n// a *Token struct.\nfunc tokenFromInternal(t *internal.Token) *Token {\n\tif t == nil {\n\t\treturn nil\n\t}\n\treturn &Token{\n\t\tAccessToken:  t.AccessToken,\n\t\tTokenType:    t.TokenType,\n\t\tRefreshToken: t.RefreshToken,\n\t\tExpiry:       t.Expiry,\n\t\traw:          t.Raw,\n\t}\n}\n\n// retrieveToken takes a *Config and uses that to retrieve an *internal.Token.\n// This token is then mapped from *internal.Token into an *oauth2.Token which is returned along\n// with an error..\nfunc retrieveToken(ctx context.Context, c *Config, v url.Values) (*Token, error) {\n\ttk, err := internal.RetrieveToken(ctx, c.ClientID, c.ClientSecret, c.Endpoint.TokenURL, v)\n\tif err != nil {\n\t\tif rErr, ok := err.(*internal.RetrieveError); ok {\n\t\t\treturn nil, (*RetrieveError)(rErr)\n\t\t}\n\t\treturn nil, err\n\t}\n\treturn tokenFromInternal(tk), nil\n}\n\n// RetrieveError is the error returned when the token endpoint returns a\n// non-2XX HTTP status code.\ntype RetrieveError struct {\n\tResponse *http.Response\n\t// Body is the body that was consumed by reading Response.Body.\n\t// It may be truncated.\n\tBody []byte\n}\n\nfunc (r *RetrieveError) Error() string {\n\treturn fmt.Sprintf(\"oauth2: cannot fetch token: %v\\nResponse: %s\", r.Response.Status, r.Body)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/oauth2/transport.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage oauth2\n\nimport (\n\t\"errors\"\n\t\"io\"\n\t\"net/http\"\n\t\"sync\"\n)\n\n// Transport is an http.RoundTripper that makes OAuth 2.0 HTTP requests,\n// wrapping a base RoundTripper and adding an Authorization header\n// with a token from the supplied Sources.\n//\n// Transport is a low-level mechanism. Most code will use the\n// higher-level Config.Client method instead.\ntype Transport struct {\n\t// Source supplies the token to add to outgoing requests'\n\t// Authorization headers.\n\tSource TokenSource\n\n\t// Base is the base RoundTripper used to make HTTP requests.\n\t// If nil, http.DefaultTransport is used.\n\tBase http.RoundTripper\n\n\tmu     sync.Mutex                      // guards modReq\n\tmodReq map[*http.Request]*http.Request // original -> modified\n}\n\n// RoundTrip authorizes and authenticates the request with an\n// access token. If no token exists or token is expired,\n// tries to refresh/fetch a new token.\nfunc (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {\n\tif t.Source == nil {\n\t\treturn nil, errors.New(\"oauth2: Transport's Source is nil\")\n\t}\n\ttoken, err := t.Source.Token()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treq2 := cloneRequest(req) // per RoundTripper contract\n\ttoken.SetAuthHeader(req2)\n\tt.setModReq(req, req2)\n\tres, err := t.base().RoundTrip(req2)\n\tif err != nil {\n\t\tt.setModReq(req, nil)\n\t\treturn nil, err\n\t}\n\tres.Body = &onEOFReader{\n\t\trc: res.Body,\n\t\tfn: func() { t.setModReq(req, nil) },\n\t}\n\treturn res, nil\n}\n\n// CancelRequest cancels an in-flight request by closing its connection.\nfunc (t *Transport) CancelRequest(req *http.Request) {\n\ttype canceler interface {\n\t\tCancelRequest(*http.Request)\n\t}\n\tif cr, ok := t.base().(canceler); ok {\n\t\tt.mu.Lock()\n\t\tmodReq := t.modReq[req]\n\t\tdelete(t.modReq, req)\n\t\tt.mu.Unlock()\n\t\tcr.CancelRequest(modReq)\n\t}\n}\n\nfunc (t *Transport) base() http.RoundTripper {\n\tif t.Base != nil {\n\t\treturn t.Base\n\t}\n\treturn http.DefaultTransport\n}\n\nfunc (t *Transport) setModReq(orig, mod *http.Request) {\n\tt.mu.Lock()\n\tdefer t.mu.Unlock()\n\tif t.modReq == nil {\n\t\tt.modReq = make(map[*http.Request]*http.Request)\n\t}\n\tif mod == nil {\n\t\tdelete(t.modReq, orig)\n\t} else {\n\t\tt.modReq[orig] = mod\n\t}\n}\n\n// cloneRequest returns a clone of the provided *http.Request.\n// The clone is a shallow copy of the struct and its Header map.\nfunc cloneRequest(r *http.Request) *http.Request {\n\t// shallow copy of the struct\n\tr2 := new(http.Request)\n\t*r2 = *r\n\t// deep copy of the Header\n\tr2.Header = make(http.Header, len(r.Header))\n\tfor k, s := range r.Header {\n\t\tr2.Header[k] = append([]string(nil), s...)\n\t}\n\treturn r2\n}\n\ntype onEOFReader struct {\n\trc io.ReadCloser\n\tfn func()\n}\n\nfunc (r *onEOFReader) Read(p []byte) (n int, err error) {\n\tn, err = r.rc.Read(p)\n\tif err == io.EOF {\n\t\tr.runFunc()\n\t}\n\treturn\n}\n\nfunc (r *onEOFReader) Close() error {\n\terr := r.rc.Close()\n\tr.runFunc()\n\treturn err\n}\n\nfunc (r *onEOFReader) runFunc() {\n\tif fn := r.fn; fn != nil {\n\t\tfn()\n\t\tr.fn = nil\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/LICENSE",
    "content": "Copyright (c) 2009 The Go Authors. 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\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/golang.org/x/sys/PATENTS",
    "content": "Additional IP Rights Grant (Patents)\n\n\"This implementation\" means the copyrightable works distributed by\nGoogle as part of the Go project.\n\nGoogle hereby grants to You a perpetual, worldwide, non-exclusive,\nno-charge, royalty-free, irrevocable (except as stated in this section)\npatent license to make, have made, use, offer to sell, sell, import,\ntransfer and otherwise run, modify and propagate the contents of this\nimplementation of Go, where such license applies only to those patent\nclaims, both currently owned or controlled by Google and acquired in\nthe future, licensable by Google that are necessarily infringed by this\nimplementation of Go.  This grant does not include claims that would be\ninfringed only as a consequence of further modification of this\nimplementation.  If you or your agent or exclusive licensee institute or\norder or agree to the institution of patent litigation against any\nentity (including a cross-claim or counterclaim in a lawsuit) alleging\nthat this implementation of Go or any code incorporated within this\nimplementation of Go constitutes direct or contributory patent\ninfringement, or inducement of patent infringement, then any patent\nrights granted to you under this License for this implementation of Go\nshall terminate as of the date such litigation is filed.\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/affinity_linux.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// CPU affinity functions\n\npackage unix\n\nimport (\n\t\"unsafe\"\n)\n\nconst cpuSetSize = _CPU_SETSIZE / _NCPUBITS\n\n// CPUSet represents a CPU affinity mask.\ntype CPUSet [cpuSetSize]cpuMask\n\nfunc schedAffinity(trap uintptr, pid int, set *CPUSet) error {\n\t_, _, e := RawSyscall(trap, uintptr(pid), uintptr(unsafe.Sizeof(set)), uintptr(unsafe.Pointer(set)))\n\tif e != 0 {\n\t\treturn errnoErr(e)\n\t}\n\treturn nil\n}\n\n// SchedGetaffinity gets the CPU affinity mask of the thread specified by pid.\n// If pid is 0 the calling thread is used.\nfunc SchedGetaffinity(pid int, set *CPUSet) error {\n\treturn schedAffinity(SYS_SCHED_GETAFFINITY, pid, set)\n}\n\n// SchedSetaffinity sets the CPU affinity mask of the thread specified by pid.\n// If pid is 0 the calling thread is used.\nfunc SchedSetaffinity(pid int, set *CPUSet) error {\n\treturn schedAffinity(SYS_SCHED_SETAFFINITY, pid, set)\n}\n\n// Zero clears the set s, so that it contains no CPUs.\nfunc (s *CPUSet) Zero() {\n\tfor i := range s {\n\t\ts[i] = 0\n\t}\n}\n\nfunc cpuBitsIndex(cpu int) int {\n\treturn cpu / _NCPUBITS\n}\n\nfunc cpuBitsMask(cpu int) cpuMask {\n\treturn cpuMask(1 << (uint(cpu) % _NCPUBITS))\n}\n\n// Set adds cpu to the set s.\nfunc (s *CPUSet) Set(cpu int) {\n\ti := cpuBitsIndex(cpu)\n\tif i < len(s) {\n\t\ts[i] |= cpuBitsMask(cpu)\n\t}\n}\n\n// Clear removes cpu from the set s.\nfunc (s *CPUSet) Clear(cpu int) {\n\ti := cpuBitsIndex(cpu)\n\tif i < len(s) {\n\t\ts[i] &^= cpuBitsMask(cpu)\n\t}\n}\n\n// IsSet reports whether cpu is in the set s.\nfunc (s *CPUSet) IsSet(cpu int) bool {\n\ti := cpuBitsIndex(cpu)\n\tif i < len(s) {\n\t\treturn s[i]&cpuBitsMask(cpu) != 0\n\t}\n\treturn false\n}\n\n// Count returns the number of CPUs in the set s.\nfunc (s *CPUSet) Count() int {\n\tc := 0\n\tfor _, b := range s {\n\t\tc += onesCount64(uint64(b))\n\t}\n\treturn c\n}\n\n// onesCount64 is a copy of Go 1.9's math/bits.OnesCount64.\n// Once this package can require Go 1.9, we can delete this\n// and update the caller to use bits.OnesCount64.\nfunc onesCount64(x uint64) int {\n\tconst m0 = 0x5555555555555555 // 01010101 ...\n\tconst m1 = 0x3333333333333333 // 00110011 ...\n\tconst m2 = 0x0f0f0f0f0f0f0f0f // 00001111 ...\n\tconst m3 = 0x00ff00ff00ff00ff // etc.\n\tconst m4 = 0x0000ffff0000ffff\n\n\t// Implementation: Parallel summing of adjacent bits.\n\t// See \"Hacker's Delight\", Chap. 5: Counting Bits.\n\t// The following pattern shows the general approach:\n\t//\n\t//   x = x>>1&(m0&m) + x&(m0&m)\n\t//   x = x>>2&(m1&m) + x&(m1&m)\n\t//   x = x>>4&(m2&m) + x&(m2&m)\n\t//   x = x>>8&(m3&m) + x&(m3&m)\n\t//   x = x>>16&(m4&m) + x&(m4&m)\n\t//   x = x>>32&(m5&m) + x&(m5&m)\n\t//   return int(x)\n\t//\n\t// Masking (& operations) can be left away when there's no\n\t// danger that a field's sum will carry over into the next\n\t// field: Since the result cannot be > 64, 8 bits is enough\n\t// and we can ignore the masks for the shifts by 8 and up.\n\t// Per \"Hacker's Delight\", the first line can be simplified\n\t// more, but it saves at best one instruction, so we leave\n\t// it alone for clarity.\n\tconst m = 1<<64 - 1\n\tx = x>>1&(m0&m) + x&(m0&m)\n\tx = x>>2&(m1&m) + x&(m1&m)\n\tx = (x>>4 + x) & (m2 & m)\n\tx += x >> 8\n\tx += x >> 16\n\tx += x >> 32\n\treturn int(x) & (1<<7 - 1)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_darwin_386.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for 386, Darwin\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_darwin_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for AMD64, Darwin\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-104\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_darwin_arm.s",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n// +build arm,darwin\n\n#include \"textflag.h\"\n\n//\n// System call support for ARM, Darwin\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tB\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_darwin_arm64.s",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n// +build arm64,darwin\n\n#include \"textflag.h\"\n\n//\n// System call support for AMD64, Darwin\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-56\n\tB\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-80\n\tB\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-104\n\tB\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-56\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-80\n\tB\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for AMD64, DragonFly\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-64\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-88\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-112\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-64\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-88\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_freebsd_386.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for 386, FreeBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for AMD64, FreeBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-104\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_freebsd_arm.s",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for ARM, FreeBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tB\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_386.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for 386, Linux\n//\n\n// See ../runtime/sys_linux_386.s for the reason why we always use int 0x80\n// instead of the glibc-specific \"CALL 0x10(GS)\".\n#define INVOKE_SYSCALL\tINT\t$0x80\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-24\n\tCALL\truntime·entersyscall(SB)\n\tMOVL\ttrap+0(FP), AX  // syscall entry\n\tMOVL\ta1+4(FP), BX\n\tMOVL\ta2+8(FP), CX\n\tMOVL\ta3+12(FP), DX\n\tMOVL\t$0, SI\n\tMOVL\t$0, DI\n\tINVOKE_SYSCALL\n\tMOVL\tAX, r1+16(FP)\n\tMOVL\tDX, r2+20(FP)\n\tCALL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24\n\tMOVL\ttrap+0(FP), AX  // syscall entry\n\tMOVL\ta1+4(FP), BX\n\tMOVL\ta2+8(FP), CX\n\tMOVL\ta3+12(FP), DX\n\tMOVL\t$0, SI\n\tMOVL\t$0, DI\n\tINVOKE_SYSCALL\n\tMOVL\tAX, r1+16(FP)\n\tMOVL\tDX, r2+20(FP)\n\tRET\n\nTEXT ·socketcall(SB),NOSPLIT,$0-36\n\tJMP\tsyscall·socketcall(SB)\n\nTEXT ·rawsocketcall(SB),NOSPLIT,$0-36\n\tJMP\tsyscall·rawsocketcall(SB)\n\nTEXT ·seek(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·seek(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for AMD64, Linux\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-48\n\tCALL\truntime·entersyscall(SB)\n\tMOVQ\ta1+8(FP), DI\n\tMOVQ\ta2+16(FP), SI\n\tMOVQ\ta3+24(FP), DX\n\tMOVQ\t$0, R10\n\tMOVQ\t$0, R8\n\tMOVQ\t$0, R9\n\tMOVQ\ttrap+0(FP), AX\t// syscall entry\n\tSYSCALL\n\tMOVQ\tAX, r1+32(FP)\n\tMOVQ\tDX, r2+40(FP)\n\tCALL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48\n\tMOVQ\ta1+8(FP), DI\n\tMOVQ\ta2+16(FP), SI\n\tMOVQ\ta3+24(FP), DX\n\tMOVQ\t$0, R10\n\tMOVQ\t$0, R8\n\tMOVQ\t$0, R9\n\tMOVQ\ttrap+0(FP), AX\t// syscall entry\n\tSYSCALL\n\tMOVQ\tAX, r1+32(FP)\n\tMOVQ\tDX, r2+40(FP)\n\tRET\n\nTEXT ·gettimeofday(SB),NOSPLIT,$0-16\n\tJMP\tsyscall·gettimeofday(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_arm.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for arm, Linux\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-24\n\tBL\truntime·entersyscall(SB)\n\tMOVW\ttrap+0(FP), R7\n\tMOVW\ta1+4(FP), R0\n\tMOVW\ta2+8(FP), R1\n\tMOVW\ta3+12(FP), R2\n\tMOVW\t$0, R3\n\tMOVW\t$0, R4\n\tMOVW\t$0, R5\n\tSWI\t$0\n\tMOVW\tR0, r1+16(FP)\n\tMOVW\t$0, R0\n\tMOVW\tR0, r2+20(FP)\n\tBL\truntime·exitsyscall(SB)\n\tRET\n\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24\n\tMOVW\ttrap+0(FP), R7\t// syscall entry\n\tMOVW\ta1+4(FP), R0\n\tMOVW\ta2+8(FP), R1\n\tMOVW\ta3+12(FP), R2\n\tSWI\t$0\n\tMOVW\tR0, r1+16(FP)\n\tMOVW\t$0, R0\n\tMOVW\tR0, r2+20(FP)\n\tRET\n\nTEXT ·seek(SB),NOSPLIT,$0-32\n\tB\tsyscall·seek(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_arm64.s",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build arm64\n// +build !gccgo\n\n#include \"textflag.h\"\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-56\n\tB\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-80\n\tB\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-48\n\tBL\truntime·entersyscall(SB)\n\tMOVD\ta1+8(FP), R0\n\tMOVD\ta2+16(FP), R1\n\tMOVD\ta3+24(FP), R2\n\tMOVD\t$0, R3\n\tMOVD\t$0, R4\n\tMOVD\t$0, R5\n\tMOVD\ttrap+0(FP), R8\t// syscall entry\n\tSVC\n\tMOVD\tR0, r1+32(FP)\t// r1\n\tMOVD\tR1, r2+40(FP)\t// r2\n\tBL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-80\n\tB\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48\n\tMOVD\ta1+8(FP), R0\n\tMOVD\ta2+16(FP), R1\n\tMOVD\ta3+24(FP), R2\n\tMOVD\t$0, R3\n\tMOVD\t$0, R4\n\tMOVD\t$0, R5\n\tMOVD\ttrap+0(FP), R8\t// syscall entry\n\tSVC\n\tMOVD\tR0, r1+32(FP)\n\tMOVD\tR1, r2+40(FP)\n\tRET\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_mips64x.s",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build mips64 mips64le\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for mips64, Linux\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-48\n\tJAL\truntime·entersyscall(SB)\n\tMOVV\ta1+8(FP), R4\n\tMOVV\ta2+16(FP), R5\n\tMOVV\ta3+24(FP), R6\n\tMOVV\tR0, R7\n\tMOVV\tR0, R8\n\tMOVV\tR0, R9\n\tMOVV\ttrap+0(FP), R2\t// syscall entry\n\tSYSCALL\n\tMOVV\tR2, r1+32(FP)\n\tMOVV\tR3, r2+40(FP)\n\tJAL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48\n\tMOVV\ta1+8(FP), R4\n\tMOVV\ta2+16(FP), R5\n\tMOVV\ta3+24(FP), R6\n\tMOVV\tR0, R7\n\tMOVV\tR0, R8\n\tMOVV\tR0, R9\n\tMOVV\ttrap+0(FP), R2\t// syscall entry\n\tSYSCALL\n\tMOVV\tR2, r1+32(FP)\n\tMOVV\tR3, r2+40(FP)\n\tRET\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_mipsx.s",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build mips mipsle\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for mips, Linux\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-28\n\tJMP syscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-40\n\tJMP syscall·Syscall6(SB)\n\nTEXT ·Syscall9(SB),NOSPLIT,$0-52\n\tJMP syscall·Syscall9(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-24\n\tJAL\truntime·entersyscall(SB)\n\tMOVW\ta1+4(FP), R4\n\tMOVW\ta2+8(FP), R5\n\tMOVW\ta3+12(FP), R6\n\tMOVW\tR0, R7\n\tMOVW\ttrap+0(FP), R2\t// syscall entry\n\tSYSCALL\n\tMOVW\tR2, r1+16(FP)\t// r1\n\tMOVW\tR3, r2+20(FP)\t// r2\n\tJAL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tJMP syscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-40\n\tJMP syscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24\n\tMOVW\ta1+4(FP), R4\n\tMOVW\ta2+8(FP), R5\n\tMOVW\ta3+12(FP), R6\n\tMOVW\ttrap+0(FP), R2\t// syscall entry\n\tSYSCALL\n\tMOVW\tR2, r1+16(FP)\n\tMOVW\tR3, r2+20(FP)\n\tRET\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build ppc64 ppc64le\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for ppc64, Linux\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-56\n\tBR\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-80\n\tBR\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-48\n\tBL\truntime·entersyscall(SB)\n\tMOVD\ta1+8(FP), R3\n\tMOVD\ta2+16(FP), R4\n\tMOVD\ta3+24(FP), R5\n\tMOVD\tR0, R6\n\tMOVD\tR0, R7\n\tMOVD\tR0, R8\n\tMOVD\ttrap+0(FP), R9\t// syscall entry\n\tSYSCALL R9\n\tMOVD\tR3, r1+32(FP)\n\tMOVD\tR4, r2+40(FP)\n\tBL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tBR\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-80\n\tBR\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48\n\tMOVD\ta1+8(FP), R3\n\tMOVD\ta2+16(FP), R4\n\tMOVD\ta3+24(FP), R5\n\tMOVD\tR0, R6\n\tMOVD\tR0, R7\n\tMOVD\tR0, R8\n\tMOVD\ttrap+0(FP), R9\t// syscall entry\n\tSYSCALL R9\n\tMOVD\tR3, r1+32(FP)\n\tMOVD\tR4, r2+40(FP)\n\tRET\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_s390x.s",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build s390x\n// +build linux\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for s390x, Linux\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-56\n\tBR\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-80\n\tBR\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-48\n\tBL\truntime·entersyscall(SB)\n\tMOVD\ta1+8(FP), R2\n\tMOVD\ta2+16(FP), R3\n\tMOVD\ta3+24(FP), R4\n\tMOVD\t$0, R5\n\tMOVD\t$0, R6\n\tMOVD\t$0, R7\n\tMOVD\ttrap+0(FP), R1\t// syscall entry\n\tSYSCALL\n\tMOVD\tR2, r1+32(FP)\n\tMOVD\tR3, r2+40(FP)\n\tBL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tBR\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-80\n\tBR\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48\n\tMOVD\ta1+8(FP), R2\n\tMOVD\ta2+16(FP), R3\n\tMOVD\ta3+24(FP), R4\n\tMOVD\t$0, R5\n\tMOVD\t$0, R6\n\tMOVD\t$0, R7\n\tMOVD\ttrap+0(FP), R1\t// syscall entry\n\tSYSCALL\n\tMOVD\tR2, r1+32(FP)\n\tMOVD\tR3, r2+40(FP)\n\tRET\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_netbsd_386.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for 386, NetBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for AMD64, NetBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-104\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_netbsd_arm.s",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for ARM, NetBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tB\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_openbsd_386.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for 386, OpenBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for AMD64, OpenBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-104\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_openbsd_arm.s",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for ARM, OpenBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tB\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_solaris_amd64.s",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go\n//\n\nTEXT ·sysvicall6(SB),NOSPLIT,$0-88\n\tJMP\tsyscall·sysvicall6(SB)\n\nTEXT ·rawSysvicall6(SB),NOSPLIT,$0-88\n\tJMP\tsyscall·rawSysvicall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/bluetooth_linux.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Bluetooth sockets and messages\n\npackage unix\n\n// Bluetooth Protocols\nconst (\n\tBTPROTO_L2CAP  = 0\n\tBTPROTO_HCI    = 1\n\tBTPROTO_SCO    = 2\n\tBTPROTO_RFCOMM = 3\n\tBTPROTO_BNEP   = 4\n\tBTPROTO_CMTP   = 5\n\tBTPROTO_HIDP   = 6\n\tBTPROTO_AVDTP  = 7\n)\n\nconst (\n\tHCI_CHANNEL_RAW     = 0\n\tHCI_CHANNEL_USER    = 1\n\tHCI_CHANNEL_MONITOR = 2\n\tHCI_CHANNEL_CONTROL = 3\n)\n\n// Socketoption Level\nconst (\n\tSOL_BLUETOOTH = 0x112\n\tSOL_HCI       = 0x0\n\tSOL_L2CAP     = 0x6\n\tSOL_RFCOMM    = 0x12\n\tSOL_SCO       = 0x11\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/cap_freebsd.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build freebsd\n\npackage unix\n\nimport (\n\terrorspkg \"errors\"\n\t\"fmt\"\n)\n\n// Go implementation of C mostly found in /usr/src/sys/kern/subr_capability.c\n\nconst (\n\t// This is the version of CapRights this package understands. See C implementation for parallels.\n\tcapRightsGoVersion = CAP_RIGHTS_VERSION_00\n\tcapArSizeMin       = CAP_RIGHTS_VERSION_00 + 2\n\tcapArSizeMax       = capRightsGoVersion + 2\n)\n\nvar (\n\tbit2idx = []int{\n\t\t-1, 0, 1, -1, 2, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,\n\t\t4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n\t}\n)\n\nfunc capidxbit(right uint64) int {\n\treturn int((right >> 57) & 0x1f)\n}\n\nfunc rightToIndex(right uint64) (int, error) {\n\tidx := capidxbit(right)\n\tif idx < 0 || idx >= len(bit2idx) {\n\t\treturn -2, fmt.Errorf(\"index for right 0x%x out of range\", right)\n\t}\n\treturn bit2idx[idx], nil\n}\n\nfunc caprver(right uint64) int {\n\treturn int(right >> 62)\n}\n\nfunc capver(rights *CapRights) int {\n\treturn caprver(rights.Rights[0])\n}\n\nfunc caparsize(rights *CapRights) int {\n\treturn capver(rights) + 2\n}\n\n// CapRightsSet sets the permissions in setrights in rights.\nfunc CapRightsSet(rights *CapRights, setrights []uint64) error {\n\t// This is essentially a copy of cap_rights_vset()\n\tif capver(rights) != CAP_RIGHTS_VERSION_00 {\n\t\treturn fmt.Errorf(\"bad rights version %d\", capver(rights))\n\t}\n\n\tn := caparsize(rights)\n\tif n < capArSizeMin || n > capArSizeMax {\n\t\treturn errorspkg.New(\"bad rights size\")\n\t}\n\n\tfor _, right := range setrights {\n\t\tif caprver(right) != CAP_RIGHTS_VERSION_00 {\n\t\t\treturn errorspkg.New(\"bad right version\")\n\t\t}\n\t\ti, err := rightToIndex(right)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif i >= n {\n\t\t\treturn errorspkg.New(\"index overflow\")\n\t\t}\n\t\tif capidxbit(rights.Rights[i]) != capidxbit(right) {\n\t\t\treturn errorspkg.New(\"index mismatch\")\n\t\t}\n\t\trights.Rights[i] |= right\n\t\tif capidxbit(rights.Rights[i]) != capidxbit(right) {\n\t\t\treturn errorspkg.New(\"index mismatch (after assign)\")\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// CapRightsClear clears the permissions in clearrights from rights.\nfunc CapRightsClear(rights *CapRights, clearrights []uint64) error {\n\t// This is essentially a copy of cap_rights_vclear()\n\tif capver(rights) != CAP_RIGHTS_VERSION_00 {\n\t\treturn fmt.Errorf(\"bad rights version %d\", capver(rights))\n\t}\n\n\tn := caparsize(rights)\n\tif n < capArSizeMin || n > capArSizeMax {\n\t\treturn errorspkg.New(\"bad rights size\")\n\t}\n\n\tfor _, right := range clearrights {\n\t\tif caprver(right) != CAP_RIGHTS_VERSION_00 {\n\t\t\treturn errorspkg.New(\"bad right version\")\n\t\t}\n\t\ti, err := rightToIndex(right)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif i >= n {\n\t\t\treturn errorspkg.New(\"index overflow\")\n\t\t}\n\t\tif capidxbit(rights.Rights[i]) != capidxbit(right) {\n\t\t\treturn errorspkg.New(\"index mismatch\")\n\t\t}\n\t\trights.Rights[i] &= ^(right & 0x01FFFFFFFFFFFFFF)\n\t\tif capidxbit(rights.Rights[i]) != capidxbit(right) {\n\t\t\treturn errorspkg.New(\"index mismatch (after assign)\")\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// CapRightsIsSet checks whether all the permissions in setrights are present in rights.\nfunc CapRightsIsSet(rights *CapRights, setrights []uint64) (bool, error) {\n\t// This is essentially a copy of cap_rights_is_vset()\n\tif capver(rights) != CAP_RIGHTS_VERSION_00 {\n\t\treturn false, fmt.Errorf(\"bad rights version %d\", capver(rights))\n\t}\n\n\tn := caparsize(rights)\n\tif n < capArSizeMin || n > capArSizeMax {\n\t\treturn false, errorspkg.New(\"bad rights size\")\n\t}\n\n\tfor _, right := range setrights {\n\t\tif caprver(right) != CAP_RIGHTS_VERSION_00 {\n\t\t\treturn false, errorspkg.New(\"bad right version\")\n\t\t}\n\t\ti, err := rightToIndex(right)\n\t\tif err != nil {\n\t\t\treturn false, err\n\t\t}\n\t\tif i >= n {\n\t\t\treturn false, errorspkg.New(\"index overflow\")\n\t\t}\n\t\tif capidxbit(rights.Rights[i]) != capidxbit(right) {\n\t\t\treturn false, errorspkg.New(\"index mismatch\")\n\t\t}\n\t\tif (rights.Rights[i] & right) != right {\n\t\t\treturn false, nil\n\t\t}\n\t}\n\n\treturn true, nil\n}\n\nfunc capright(idx uint64, bit uint64) uint64 {\n\treturn ((1 << (57 + idx)) | bit)\n}\n\n// CapRightsInit returns a pointer to an initialised CapRights structure filled with rights.\n// See man cap_rights_init(3) and rights(4).\nfunc CapRightsInit(rights []uint64) (*CapRights, error) {\n\tvar r CapRights\n\tr.Rights[0] = (capRightsGoVersion << 62) | capright(0, 0)\n\tr.Rights[1] = capright(1, 0)\n\n\terr := CapRightsSet(&r, rights)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &r, nil\n}\n\n// CapRightsLimit reduces the operations permitted on fd to at most those contained in rights.\n// The capability rights on fd can never be increased by CapRightsLimit.\n// See man cap_rights_limit(2) and rights(4).\nfunc CapRightsLimit(fd uintptr, rights *CapRights) error {\n\treturn capRightsLimit(int(fd), rights)\n}\n\n// CapRightsGet returns a CapRights structure containing the operations permitted on fd.\n// See man cap_rights_get(3) and rights(4).\nfunc CapRightsGet(fd uintptr) (*CapRights, error) {\n\tr, err := CapRightsInit(nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\terr = capRightsGet(capRightsGoVersion, int(fd), r)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn r, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/constants.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\npackage unix\n\nconst (\n\tR_OK = 0x4\n\tW_OK = 0x2\n\tX_OK = 0x1\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_darwin.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Functions to access/create device major and minor numbers matching the\n// encoding used in Darwin's sys/types.h header.\n\npackage unix\n\n// Major returns the major component of a Darwin device number.\nfunc Major(dev uint64) uint32 {\n\treturn uint32((dev >> 24) & 0xff)\n}\n\n// Minor returns the minor component of a Darwin device number.\nfunc Minor(dev uint64) uint32 {\n\treturn uint32(dev & 0xffffff)\n}\n\n// Mkdev returns a Darwin device number generated from the given major and minor\n// components.\nfunc Mkdev(major, minor uint32) uint64 {\n\treturn (uint64(major) << 24) | uint64(minor)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_dragonfly.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Functions to access/create device major and minor numbers matching the\n// encoding used in Dragonfly's sys/types.h header.\n//\n// The information below is extracted and adapted from sys/types.h:\n//\n// Minor gives a cookie instead of an index since in order to avoid changing the\n// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for\n// devices that don't use them.\n\npackage unix\n\n// Major returns the major component of a DragonFlyBSD device number.\nfunc Major(dev uint64) uint32 {\n\treturn uint32((dev >> 8) & 0xff)\n}\n\n// Minor returns the minor component of a DragonFlyBSD device number.\nfunc Minor(dev uint64) uint32 {\n\treturn uint32(dev & 0xffff00ff)\n}\n\n// Mkdev returns a DragonFlyBSD device number generated from the given major and\n// minor components.\nfunc Mkdev(major, minor uint32) uint64 {\n\treturn (uint64(major) << 8) | uint64(minor)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_freebsd.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Functions to access/create device major and minor numbers matching the\n// encoding used in FreeBSD's sys/types.h header.\n//\n// The information below is extracted and adapted from sys/types.h:\n//\n// Minor gives a cookie instead of an index since in order to avoid changing the\n// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for\n// devices that don't use them.\n\npackage unix\n\n// Major returns the major component of a FreeBSD device number.\nfunc Major(dev uint64) uint32 {\n\treturn uint32((dev >> 8) & 0xff)\n}\n\n// Minor returns the minor component of a FreeBSD device number.\nfunc Minor(dev uint64) uint32 {\n\treturn uint32(dev & 0xffff00ff)\n}\n\n// Mkdev returns a FreeBSD device number generated from the given major and\n// minor components.\nfunc Mkdev(major, minor uint32) uint64 {\n\treturn (uint64(major) << 8) | uint64(minor)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_linux.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Functions to access/create device major and minor numbers matching the\n// encoding used by the Linux kernel and glibc.\n//\n// The information below is extracted and adapted from bits/sysmacros.h in the\n// glibc sources:\n//\n// dev_t in glibc is 64-bit, with 32-bit major and minor numbers. glibc's\n// default encoding is MMMM Mmmm mmmM MMmm, where M is a hex digit of the major\n// number and m is a hex digit of the minor number. This is backward compatible\n// with legacy systems where dev_t is 16 bits wide, encoded as MMmm. It is also\n// backward compatible with the Linux kernel, which for some architectures uses\n// 32-bit dev_t, encoded as mmmM MMmm.\n\npackage unix\n\n// Major returns the major component of a Linux device number.\nfunc Major(dev uint64) uint32 {\n\tmajor := uint32((dev & 0x00000000000fff00) >> 8)\n\tmajor |= uint32((dev & 0xfffff00000000000) >> 32)\n\treturn major\n}\n\n// Minor returns the minor component of a Linux device number.\nfunc Minor(dev uint64) uint32 {\n\tminor := uint32((dev & 0x00000000000000ff) >> 0)\n\tminor |= uint32((dev & 0x00000ffffff00000) >> 12)\n\treturn minor\n}\n\n// Mkdev returns a Linux device number generated from the given major and minor\n// components.\nfunc Mkdev(major, minor uint32) uint64 {\n\tdev := (uint64(major) & 0x00000fff) << 8\n\tdev |= (uint64(major) & 0xfffff000) << 32\n\tdev |= (uint64(minor) & 0x000000ff) << 0\n\tdev |= (uint64(minor) & 0xffffff00) << 12\n\treturn dev\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_netbsd.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Functions to access/create device major and minor numbers matching the\n// encoding used in NetBSD's sys/types.h header.\n\npackage unix\n\n// Major returns the major component of a NetBSD device number.\nfunc Major(dev uint64) uint32 {\n\treturn uint32((dev & 0x000fff00) >> 8)\n}\n\n// Minor returns the minor component of a NetBSD device number.\nfunc Minor(dev uint64) uint32 {\n\tminor := uint32((dev & 0x000000ff) >> 0)\n\tminor |= uint32((dev & 0xfff00000) >> 12)\n\treturn minor\n}\n\n// Mkdev returns a NetBSD device number generated from the given major and minor\n// components.\nfunc Mkdev(major, minor uint32) uint64 {\n\tdev := (uint64(major) << 8) & 0x000fff00\n\tdev |= (uint64(minor) << 12) & 0xfff00000\n\tdev |= (uint64(minor) << 0) & 0x000000ff\n\treturn dev\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_openbsd.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Functions to access/create device major and minor numbers matching the\n// encoding used in OpenBSD's sys/types.h header.\n\npackage unix\n\n// Major returns the major component of an OpenBSD device number.\nfunc Major(dev uint64) uint32 {\n\treturn uint32((dev & 0x0000ff00) >> 8)\n}\n\n// Minor returns the minor component of an OpenBSD device number.\nfunc Minor(dev uint64) uint32 {\n\tminor := uint32((dev & 0x000000ff) >> 0)\n\tminor |= uint32((dev & 0xffff0000) >> 8)\n\treturn minor\n}\n\n// Mkdev returns an OpenBSD device number generated from the given major and minor\n// components.\nfunc Mkdev(major, minor uint32) uint64 {\n\tdev := (uint64(major) << 8) & 0x0000ff00\n\tdev |= (uint64(minor) << 8) & 0xffff0000\n\tdev |= (uint64(minor) << 0) & 0x000000ff\n\treturn dev\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dirent.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris\n\npackage unix\n\nimport \"unsafe\"\n\n// readInt returns the size-bytes unsigned integer in native byte order at offset off.\nfunc readInt(b []byte, off, size uintptr) (u uint64, ok bool) {\n\tif len(b) < int(off+size) {\n\t\treturn 0, false\n\t}\n\tif isBigEndian {\n\t\treturn readIntBE(b[off:], size), true\n\t}\n\treturn readIntLE(b[off:], size), true\n}\n\nfunc readIntBE(b []byte, size uintptr) uint64 {\n\tswitch size {\n\tcase 1:\n\t\treturn uint64(b[0])\n\tcase 2:\n\t\t_ = b[1] // bounds check hint to compiler; see golang.org/issue/14808\n\t\treturn uint64(b[1]) | uint64(b[0])<<8\n\tcase 4:\n\t\t_ = b[3] // bounds check hint to compiler; see golang.org/issue/14808\n\t\treturn uint64(b[3]) | uint64(b[2])<<8 | uint64(b[1])<<16 | uint64(b[0])<<24\n\tcase 8:\n\t\t_ = b[7] // bounds check hint to compiler; see golang.org/issue/14808\n\t\treturn uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 |\n\t\t\tuint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56\n\tdefault:\n\t\tpanic(\"syscall: readInt with unsupported size\")\n\t}\n}\n\nfunc readIntLE(b []byte, size uintptr) uint64 {\n\tswitch size {\n\tcase 1:\n\t\treturn uint64(b[0])\n\tcase 2:\n\t\t_ = b[1] // bounds check hint to compiler; see golang.org/issue/14808\n\t\treturn uint64(b[0]) | uint64(b[1])<<8\n\tcase 4:\n\t\t_ = b[3] // bounds check hint to compiler; see golang.org/issue/14808\n\t\treturn uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24\n\tcase 8:\n\t\t_ = b[7] // bounds check hint to compiler; see golang.org/issue/14808\n\t\treturn uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 |\n\t\t\tuint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56\n\tdefault:\n\t\tpanic(\"syscall: readInt with unsupported size\")\n\t}\n}\n\n// ParseDirent parses up to max directory entries in buf,\n// appending the names to names. It returns the number of\n// bytes consumed from buf, the number of entries added\n// to names, and the new names slice.\nfunc ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string) {\n\toriglen := len(buf)\n\tcount = 0\n\tfor max != 0 && len(buf) > 0 {\n\t\treclen, ok := direntReclen(buf)\n\t\tif !ok || reclen > uint64(len(buf)) {\n\t\t\treturn origlen, count, names\n\t\t}\n\t\trec := buf[:reclen]\n\t\tbuf = buf[reclen:]\n\t\tino, ok := direntIno(rec)\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\tif ino == 0 { // File absent in directory.\n\t\t\tcontinue\n\t\t}\n\t\tconst namoff = uint64(unsafe.Offsetof(Dirent{}.Name))\n\t\tnamlen, ok := direntNamlen(rec)\n\t\tif !ok || namoff+namlen > uint64(len(rec)) {\n\t\t\tbreak\n\t\t}\n\t\tname := rec[namoff : namoff+namlen]\n\t\tfor i, c := range name {\n\t\t\tif c == 0 {\n\t\t\t\tname = name[:i]\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// Check for useless names before allocating a string.\n\t\tif string(name) == \".\" || string(name) == \"..\" {\n\t\t\tcontinue\n\t\t}\n\t\tmax--\n\t\tcount++\n\t\tnames = append(names, string(name))\n\t}\n\treturn origlen - len(buf), count, names\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/endian_big.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// +build ppc64 s390x mips mips64\n\npackage unix\n\nconst isBigEndian = true\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/endian_little.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le\n\npackage unix\n\nconst isBigEndian = false\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/env_unix.go",
    "content": "// Copyright 2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\n// Unix environment variables.\n\npackage unix\n\nimport \"syscall\"\n\nfunc Getenv(key string) (value string, found bool) {\n\treturn syscall.Getenv(key)\n}\n\nfunc Setenv(key, value string) error {\n\treturn syscall.Setenv(key, value)\n}\n\nfunc Clearenv() {\n\tsyscall.Clearenv()\n}\n\nfunc Environ() []string {\n\treturn syscall.Environ()\n}\n\nfunc Unsetenv(key string) error {\n\treturn syscall.Unsetenv(key)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/errors_freebsd_386.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep\n// them here for backwards compatibility.\n\npackage unix\n\nconst (\n\tIFF_SMART                         = 0x20\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BSC                           = 0x53\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf2\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_IPXIP                         = 0xf9\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf6\n\tIFT_PFSYNC                        = 0xf7\n\tIFT_PLC                           = 0xae\n\tIFT_POS                           = 0xab\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xd7\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIPPROTO_MAXID                     = 0x34\n\tIPV6_FAITH                        = 0x1d\n\tIP_FAITH                          = 0x16\n\tMAP_NORESERVE                     = 0x40\n\tMAP_RENAME                        = 0x20\n\tNET_RT_MAXID                      = 0x6\n\tRTF_PRCLONING                     = 0x10000\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tSIOCADDRT                         = 0x8030720a\n\tSIOCALIFADDR                      = 0x8118691b\n\tSIOCDELRT                         = 0x8030720b\n\tSIOCDLIFADDR                      = 0x8118691d\n\tSIOCGLIFADDR                      = 0xc118691c\n\tSIOCGLIFPHYADDR                   = 0xc118694b\n\tSIOCSLIFPHYADDR                   = 0x8118694a\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep\n// them here for backwards compatibility.\n\npackage unix\n\nconst (\n\tIFF_SMART                         = 0x20\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BSC                           = 0x53\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf2\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_IPXIP                         = 0xf9\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf6\n\tIFT_PFSYNC                        = 0xf7\n\tIFT_PLC                           = 0xae\n\tIFT_POS                           = 0xab\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xd7\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIPPROTO_MAXID                     = 0x34\n\tIPV6_FAITH                        = 0x1d\n\tIP_FAITH                          = 0x16\n\tMAP_NORESERVE                     = 0x40\n\tMAP_RENAME                        = 0x20\n\tNET_RT_MAXID                      = 0x6\n\tRTF_PRCLONING                     = 0x10000\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tSIOCADDRT                         = 0x8040720a\n\tSIOCALIFADDR                      = 0x8118691b\n\tSIOCDELRT                         = 0x8040720b\n\tSIOCDLIFADDR                      = 0x8118691d\n\tSIOCGLIFADDR                      = 0xc118691c\n\tSIOCGLIFPHYADDR                   = 0xc118694b\n\tSIOCSLIFPHYADDR                   = 0x8118694a\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/errors_freebsd_arm.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage unix\n\nconst (\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BSC                           = 0x53\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf6\n\tIFT_PFSYNC                        = 0xf7\n\tIFT_PLC                           = 0xae\n\tIFT_POS                           = 0xab\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xd7\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\n\t// missing constants on FreeBSD-11.1-RELEASE, copied from old values in ztypes_freebsd_arm.go\n\tIFF_SMART       = 0x20\n\tIFT_FAITH       = 0xf2\n\tIFT_IPXIP       = 0xf9\n\tIPPROTO_MAXID   = 0x34\n\tIPV6_FAITH      = 0x1d\n\tIP_FAITH        = 0x16\n\tMAP_NORESERVE   = 0x40\n\tMAP_RENAME      = 0x20\n\tNET_RT_MAXID    = 0x6\n\tRTF_PRCLONING   = 0x10000\n\tRTM_OLDADD      = 0x9\n\tRTM_OLDDEL      = 0xa\n\tSIOCADDRT       = 0x8030720a\n\tSIOCALIFADDR    = 0x8118691b\n\tSIOCDELRT       = 0x8030720b\n\tSIOCDLIFADDR    = 0x8118691d\n\tSIOCGLIFADDR    = 0xc118691c\n\tSIOCGLIFPHYADDR = 0xc118694b\n\tSIOCSLIFPHYADDR = 0x8118694a\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/flock.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd\n\npackage unix\n\nimport \"unsafe\"\n\n// fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux\n// systems by flock_linux_32bit.go to be SYS_FCNTL64.\nvar fcntl64Syscall uintptr = SYS_FCNTL\n\n// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.\nfunc FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {\n\t_, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk)))\n\tif errno == 0 {\n\t\treturn nil\n\t}\n\treturn errno\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/flock_linux_32bit.go",
    "content": "// +build linux,386 linux,arm linux,mips linux,mipsle\n\n// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage unix\n\nfunc init() {\n\t// On 32-bit Linux systems, the fcntl syscall that matches Go's\n\t// Flock_t type is SYS_FCNTL64, not SYS_FCNTL.\n\tfcntl64Syscall = SYS_FCNTL64\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/gccgo.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build gccgo\n\npackage unix\n\nimport \"syscall\"\n\n// We can't use the gc-syntax .s files for gccgo. On the plus side\n// much of the functionality can be written directly in Go.\n\n//extern gccgoRealSyscallNoError\nfunc realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr)\n\n//extern gccgoRealSyscall\nfunc realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr)\n\nfunc SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) {\n\tsyscall.Entersyscall()\n\tr := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)\n\tsyscall.Exitsyscall()\n\treturn r, 0\n}\n\nfunc Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {\n\tsyscall.Entersyscall()\n\tr, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)\n\tsyscall.Exitsyscall()\n\treturn r, 0, syscall.Errno(errno)\n}\n\nfunc Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {\n\tsyscall.Entersyscall()\n\tr, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0)\n\tsyscall.Exitsyscall()\n\treturn r, 0, syscall.Errno(errno)\n}\n\nfunc Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) {\n\tsyscall.Entersyscall()\n\tr, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n\tsyscall.Exitsyscall()\n\treturn r, 0, syscall.Errno(errno)\n}\n\nfunc RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) {\n\tr := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)\n\treturn r, 0\n}\n\nfunc RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {\n\tr, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)\n\treturn r, 0, syscall.Errno(errno)\n}\n\nfunc RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {\n\tr, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0)\n\treturn r, 0, syscall.Errno(errno)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/gccgo_c.c",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build gccgo\n\n#include <errno.h>\n#include <stdint.h>\n#include <unistd.h>\n\n#define _STRINGIFY2_(x) #x\n#define _STRINGIFY_(x) _STRINGIFY2_(x)\n#define GOSYM_PREFIX _STRINGIFY_(__USER_LABEL_PREFIX__)\n\n// Call syscall from C code because the gccgo support for calling from\n// Go to C does not support varargs functions.\n\nstruct ret {\n\tuintptr_t r;\n\tuintptr_t err;\n};\n\nstruct ret\ngccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9)\n{\n\tstruct ret r;\n\n\terrno = 0;\n\tr.r = syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n\tr.err = errno;\n\treturn r;\n}\n\nuintptr_t\ngccgoRealSyscallNoError(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9)\n{\n\treturn syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n}\n\n// Define the use function in C so that it is not inlined.\n\nextern void use(void *) __asm__ (GOSYM_PREFIX GOPKGPATH \".use\") __attribute__((noinline));\n\nvoid\nuse(void *p __attribute__ ((unused)))\n{\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build gccgo,linux,amd64\n\npackage unix\n\nimport \"syscall\"\n\n//extern gettimeofday\nfunc realGettimeofday(*Timeval, *byte) int32\n\nfunc gettimeofday(tv *Timeval) (err syscall.Errno) {\n\tr := realGettimeofday(tv, nil)\n\tif r < 0 {\n\t\treturn syscall.GetErrno()\n\t}\n\treturn 0\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mkpost.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// mkpost processes the output of cgo -godefs to\n// modify the generated types. It is used to clean up\n// the sys API in an architecture specific manner.\n//\n// mkpost is run after cgo -godefs; see README.md.\npackage main\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"go/format\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"regexp\"\n)\n\nfunc main() {\n\t// Get the OS and architecture (using GOARCH_TARGET if it exists)\n\tgoos := os.Getenv(\"GOOS\")\n\tgoarch := os.Getenv(\"GOARCH_TARGET\")\n\tif goarch == \"\" {\n\t\tgoarch = os.Getenv(\"GOARCH\")\n\t}\n\t// Check that we are using the new build system if we should be.\n\tif goos == \"linux\" && goarch != \"sparc64\" {\n\t\tif os.Getenv(\"GOLANG_SYS_BUILD\") != \"docker\" {\n\t\t\tos.Stderr.WriteString(\"In the new build system, mkpost should not be called directly.\\n\")\n\t\t\tos.Stderr.WriteString(\"See README.md\\n\")\n\t\t\tos.Exit(1)\n\t\t}\n\t}\n\n\tb, err := ioutil.ReadAll(os.Stdin)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\t// If we have empty Ptrace structs, we should delete them. Only s390x emits\n\t// nonempty Ptrace structs.\n\tptraceRexexp := regexp.MustCompile(`type Ptrace((Psw|Fpregs|Per) struct {\\s*})`)\n\tb = ptraceRexexp.ReplaceAll(b, nil)\n\n\t// Replace the control_regs union with a blank identifier for now.\n\tcontrolRegsRegex := regexp.MustCompile(`(Control_regs)\\s+\\[0\\]uint64`)\n\tb = controlRegsRegex.ReplaceAll(b, []byte(\"_ [0]uint64\"))\n\n\t// Remove fields that are added by glibc\n\t// Note that this is unstable as the identifers are private.\n\tremoveFieldsRegex := regexp.MustCompile(`X__glibc\\S*`)\n\tb = removeFieldsRegex.ReplaceAll(b, []byte(\"_\"))\n\n\t// Convert [65]int8 to [65]byte in Utsname members to simplify\n\t// conversion to string; see golang.org/issue/20753\n\tconvertUtsnameRegex := regexp.MustCompile(`((Sys|Node|Domain)name|Release|Version|Machine)(\\s+)\\[(\\d+)\\]u?int8`)\n\tb = convertUtsnameRegex.ReplaceAll(b, []byte(\"$1$3[$4]byte\"))\n\n\t// We refuse to export private fields on s390x\n\tif goarch == \"s390x\" && goos == \"linux\" {\n\t\t// Remove cgo padding fields\n\t\tremoveFieldsRegex := regexp.MustCompile(`Pad_cgo_\\d+`)\n\t\tb = removeFieldsRegex.ReplaceAll(b, []byte(\"_\"))\n\n\t\t// Remove padding, hidden, or unused fields\n\t\tremoveFieldsRegex = regexp.MustCompile(`X_\\S+`)\n\t\tb = removeFieldsRegex.ReplaceAll(b, []byte(\"_\"))\n\t}\n\n\t// Remove the first line of warning from cgo\n\tb = b[bytes.IndexByte(b, '\\n')+1:]\n\t// Modify the command in the header to include:\n\t//  mkpost, our own warning, and a build tag.\n\treplacement := fmt.Sprintf(`$1 | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build %s,%s`, goarch, goos)\n\tcgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`)\n\tb = cgoCommandRegex.ReplaceAll(b, []byte(replacement))\n\n\t// gofmt\n\tb, err = format.Source(b)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tos.Stdout.Write(b)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/openbsd_pledge.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build openbsd\n// +build 386 amd64 arm\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nconst (\n\tSYS_PLEDGE = 108\n)\n\n// Pledge implements the pledge syscall. For more information see pledge(2).\nfunc Pledge(promises string, paths []string) error {\n\tpromisesPtr, err := syscall.BytePtrFromString(promises)\n\tif err != nil {\n\t\treturn err\n\t}\n\tpromisesUnsafe, pathsUnsafe := unsafe.Pointer(promisesPtr), unsafe.Pointer(nil)\n\tif paths != nil {\n\t\tvar pathsPtr []*byte\n\t\tif pathsPtr, err = syscall.SlicePtrFromStrings(paths); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpathsUnsafe = unsafe.Pointer(&pathsPtr[0])\n\t}\n\t_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(promisesUnsafe), uintptr(pathsUnsafe), 0)\n\tif e != 0 {\n\t\treturn e\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/pagesize_unix.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\n// For Unix, get the pagesize from the runtime.\n\npackage unix\n\nimport \"syscall\"\n\nfunc Getpagesize() int {\n\treturn syscall.Getpagesize()\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/race.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin,race linux,race freebsd,race\n\npackage unix\n\nimport (\n\t\"runtime\"\n\t\"unsafe\"\n)\n\nconst raceenabled = true\n\nfunc raceAcquire(addr unsafe.Pointer) {\n\truntime.RaceAcquire(addr)\n}\n\nfunc raceReleaseMerge(addr unsafe.Pointer) {\n\truntime.RaceReleaseMerge(addr)\n}\n\nfunc raceReadRange(addr unsafe.Pointer, len int) {\n\truntime.RaceReadRange(addr, len)\n}\n\nfunc raceWriteRange(addr unsafe.Pointer, len int) {\n\truntime.RaceWriteRange(addr, len)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/race0.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly\n\npackage unix\n\nimport (\n\t\"unsafe\"\n)\n\nconst raceenabled = false\n\nfunc raceAcquire(addr unsafe.Pointer) {\n}\n\nfunc raceReleaseMerge(addr unsafe.Pointer) {\n}\n\nfunc raceReadRange(addr unsafe.Pointer, len int) {\n}\n\nfunc raceWriteRange(addr unsafe.Pointer, len int) {\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/sockcmsg_linux.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Socket control messages\n\npackage unix\n\nimport \"unsafe\"\n\n// UnixCredentials encodes credentials into a socket control message\n// for sending to another process. This can be used for\n// authentication.\nfunc UnixCredentials(ucred *Ucred) []byte {\n\tb := make([]byte, CmsgSpace(SizeofUcred))\n\th := (*Cmsghdr)(unsafe.Pointer(&b[0]))\n\th.Level = SOL_SOCKET\n\th.Type = SCM_CREDENTIALS\n\th.SetLen(CmsgLen(SizeofUcred))\n\t*((*Ucred)(cmsgData(h))) = *ucred\n\treturn b\n}\n\n// ParseUnixCredentials decodes a socket control message that contains\n// credentials in a Ucred structure. To receive such a message, the\n// SO_PASSCRED option must be enabled on the socket.\nfunc ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) {\n\tif m.Header.Level != SOL_SOCKET {\n\t\treturn nil, EINVAL\n\t}\n\tif m.Header.Type != SCM_CREDENTIALS {\n\t\treturn nil, EINVAL\n\t}\n\tucred := *(*Ucred)(unsafe.Pointer(&m.Data[0]))\n\treturn &ucred, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/sockcmsg_unix.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\n// Socket control messages\n\npackage unix\n\nimport \"unsafe\"\n\n// Round the length of a raw sockaddr up to align it properly.\nfunc cmsgAlignOf(salen int) int {\n\tsalign := sizeofPtr\n\t// NOTE: It seems like 64-bit Darwin, DragonFly BSD and\n\t// Solaris kernels still require 32-bit aligned access to\n\t// network subsystem.\n\tif darwin64Bit || dragonfly64Bit || solaris64Bit {\n\t\tsalign = 4\n\t}\n\treturn (salen + salign - 1) & ^(salign - 1)\n}\n\n// CmsgLen returns the value to store in the Len field of the Cmsghdr\n// structure, taking into account any necessary alignment.\nfunc CmsgLen(datalen int) int {\n\treturn cmsgAlignOf(SizeofCmsghdr) + datalen\n}\n\n// CmsgSpace returns the number of bytes an ancillary element with\n// payload of the passed data length occupies.\nfunc CmsgSpace(datalen int) int {\n\treturn cmsgAlignOf(SizeofCmsghdr) + cmsgAlignOf(datalen)\n}\n\nfunc cmsgData(h *Cmsghdr) unsafe.Pointer {\n\treturn unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr)))\n}\n\n// SocketControlMessage represents a socket control message.\ntype SocketControlMessage struct {\n\tHeader Cmsghdr\n\tData   []byte\n}\n\n// ParseSocketControlMessage parses b as an array of socket control\n// messages.\nfunc ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error) {\n\tvar msgs []SocketControlMessage\n\ti := 0\n\tfor i+CmsgLen(0) <= len(b) {\n\t\th, dbuf, err := socketControlMessageHeaderAndData(b[i:])\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tm := SocketControlMessage{Header: *h, Data: dbuf}\n\t\tmsgs = append(msgs, m)\n\t\ti += cmsgAlignOf(int(h.Len))\n\t}\n\treturn msgs, nil\n}\n\nfunc socketControlMessageHeaderAndData(b []byte) (*Cmsghdr, []byte, error) {\n\th := (*Cmsghdr)(unsafe.Pointer(&b[0]))\n\tif h.Len < SizeofCmsghdr || uint64(h.Len) > uint64(len(b)) {\n\t\treturn nil, nil, EINVAL\n\t}\n\treturn h, b[cmsgAlignOf(SizeofCmsghdr):h.Len], nil\n}\n\n// UnixRights encodes a set of open file descriptors into a socket\n// control message for sending to another process.\nfunc UnixRights(fds ...int) []byte {\n\tdatalen := len(fds) * 4\n\tb := make([]byte, CmsgSpace(datalen))\n\th := (*Cmsghdr)(unsafe.Pointer(&b[0]))\n\th.Level = SOL_SOCKET\n\th.Type = SCM_RIGHTS\n\th.SetLen(CmsgLen(datalen))\n\tdata := cmsgData(h)\n\tfor _, fd := range fds {\n\t\t*(*int32)(data) = int32(fd)\n\t\tdata = unsafe.Pointer(uintptr(data) + 4)\n\t}\n\treturn b\n}\n\n// ParseUnixRights decodes a socket control message that contains an\n// integer array of open file descriptors from another process.\nfunc ParseUnixRights(m *SocketControlMessage) ([]int, error) {\n\tif m.Header.Level != SOL_SOCKET {\n\t\treturn nil, EINVAL\n\t}\n\tif m.Header.Type != SCM_RIGHTS {\n\t\treturn nil, EINVAL\n\t}\n\tfds := make([]int, len(m.Data)>>2)\n\tfor i, j := 0, 0; i < len(m.Data); i += 4 {\n\t\tfds[j] = int(*(*int32)(unsafe.Pointer(&m.Data[i])))\n\t\tj++\n\t}\n\treturn fds, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/str.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\npackage unix\n\nfunc itoa(val int) string { // do it here rather than with fmt to avoid dependency\n\tif val < 0 {\n\t\treturn \"-\" + uitoa(uint(-val))\n\t}\n\treturn uitoa(uint(val))\n}\n\nfunc uitoa(val uint) string {\n\tvar buf [32]byte // big enough for int64\n\ti := len(buf) - 1\n\tfor val >= 10 {\n\t\tbuf[i] = byte(val%10 + '0')\n\t\ti--\n\t\tval /= 10\n\t}\n\tbuf[i] = byte(val + '0')\n\treturn string(buf[i:])\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\n// Package unix contains an interface to the low-level operating system\n// primitives. OS details vary depending on the underlying system, and\n// by default, godoc will display OS-specific documentation for the current\n// system. If you want godoc to display OS documentation for another\n// system, set $GOOS and $GOARCH to the desired system. For example, if\n// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS\n// to freebsd and $GOARCH to arm.\n// The primary use of this package is inside other packages that provide a more\n// portable interface to the system, such as \"os\", \"time\" and \"net\".  Use\n// those packages rather than this one if you can.\n// For details of the functions and data types in this package consult\n// the manuals for the appropriate operating system.\n// These calls return err == nil to indicate success; otherwise\n// err represents an operating system error describing the failure and\n// holds a value of type syscall.Errno.\npackage unix // import \"golang.org/x/sys/unix\"\n\n// ByteSliceFromString returns a NUL-terminated slice of bytes\n// containing the text of s. If s contains a NUL byte at any\n// location, it returns (nil, EINVAL).\nfunc ByteSliceFromString(s string) ([]byte, error) {\n\tfor i := 0; i < len(s); i++ {\n\t\tif s[i] == 0 {\n\t\t\treturn nil, EINVAL\n\t\t}\n\t}\n\ta := make([]byte, len(s)+1)\n\tcopy(a, s)\n\treturn a, nil\n}\n\n// BytePtrFromString returns a pointer to a NUL-terminated array of\n// bytes containing the text of s. If s contains a NUL byte at any\n// location, it returns (nil, EINVAL).\nfunc BytePtrFromString(s string) (*byte, error) {\n\ta, err := ByteSliceFromString(s)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &a[0], nil\n}\n\n// Single-word zero for use when we need a valid pointer to 0 bytes.\n// See mkunix.pl.\nvar _zero uintptr\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_bsd.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd netbsd openbsd\n\n// BSD system call wrappers shared by *BSD based systems\n// including OS X (Darwin) and FreeBSD.  Like the other\n// syscall_*.go files it is compiled as Go code but also\n// used as input to mksyscall which parses the //sys\n// lines and generates system call stubs.\n\npackage unix\n\nimport (\n\t\"runtime\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n/*\n * Wrapped\n */\n\n//sysnb\tgetgroups(ngid int, gid *_Gid_t) (n int, err error)\n//sysnb\tsetgroups(ngid int, gid *_Gid_t) (err error)\n\nfunc Getgroups() (gids []int, err error) {\n\tn, err := getgroups(0, nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif n == 0 {\n\t\treturn nil, nil\n\t}\n\n\t// Sanity check group count. Max is 16 on BSD.\n\tif n < 0 || n > 1000 {\n\t\treturn nil, EINVAL\n\t}\n\n\ta := make([]_Gid_t, n)\n\tn, err = getgroups(n, &a[0])\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tgids = make([]int, n)\n\tfor i, v := range a[0:n] {\n\t\tgids[i] = int(v)\n\t}\n\treturn\n}\n\nfunc Setgroups(gids []int) (err error) {\n\tif len(gids) == 0 {\n\t\treturn setgroups(0, nil)\n\t}\n\n\ta := make([]_Gid_t, len(gids))\n\tfor i, v := range gids {\n\t\ta[i] = _Gid_t(v)\n\t}\n\treturn setgroups(len(a), &a[0])\n}\n\nfunc ReadDirent(fd int, buf []byte) (n int, err error) {\n\t// Final argument is (basep *uintptr) and the syscall doesn't take nil.\n\t// 64 bits should be enough. (32 bits isn't even on 386). Since the\n\t// actual system call is getdirentries64, 64 is a good guess.\n\t// TODO(rsc): Can we use a single global basep for all calls?\n\tvar base = (*uintptr)(unsafe.Pointer(new(uint64)))\n\treturn Getdirentries(fd, buf, base)\n}\n\n// Wait status is 7 bits at bottom, either 0 (exited),\n// 0x7F (stopped), or a signal number that caused an exit.\n// The 0x80 bit is whether there was a core dump.\n// An extra number (exit code, signal causing a stop)\n// is in the high bits.\n\ntype WaitStatus uint32\n\nconst (\n\tmask  = 0x7F\n\tcore  = 0x80\n\tshift = 8\n\n\texited  = 0\n\tstopped = 0x7F\n)\n\nfunc (w WaitStatus) Exited() bool { return w&mask == exited }\n\nfunc (w WaitStatus) ExitStatus() int {\n\tif w&mask != exited {\n\t\treturn -1\n\t}\n\treturn int(w >> shift)\n}\n\nfunc (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 }\n\nfunc (w WaitStatus) Signal() syscall.Signal {\n\tsig := syscall.Signal(w & mask)\n\tif sig == stopped || sig == 0 {\n\t\treturn -1\n\t}\n\treturn sig\n}\n\nfunc (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }\n\nfunc (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP }\n\nfunc (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP }\n\nfunc (w WaitStatus) StopSignal() syscall.Signal {\n\tif !w.Stopped() {\n\t\treturn -1\n\t}\n\treturn syscall.Signal(w>>shift) & 0xFF\n}\n\nfunc (w WaitStatus) TrapCause() int { return -1 }\n\n//sys\twait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error)\n\nfunc Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {\n\tvar status _C_int\n\twpid, err = wait4(pid, &status, options, rusage)\n\tif wstatus != nil {\n\t\t*wstatus = WaitStatus(status)\n\t}\n\treturn\n}\n\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\tShutdown(s int, how int) (err error)\n\nfunc (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Port < 0 || sa.Port > 0xFFFF {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Len = SizeofSockaddrInet4\n\tsa.raw.Family = AF_INET\n\tp := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))\n\tp[0] = byte(sa.Port >> 8)\n\tp[1] = byte(sa.Port)\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil\n}\n\nfunc (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Port < 0 || sa.Port > 0xFFFF {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Len = SizeofSockaddrInet6\n\tsa.raw.Family = AF_INET6\n\tp := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))\n\tp[0] = byte(sa.Port >> 8)\n\tp[1] = byte(sa.Port)\n\tsa.raw.Scope_id = sa.ZoneId\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil\n}\n\nfunc (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tname := sa.Name\n\tn := len(name)\n\tif n >= len(sa.raw.Path) || n == 0 {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL\n\tsa.raw.Family = AF_UNIX\n\tfor i := 0; i < n; i++ {\n\t\tsa.raw.Path[i] = int8(name[i])\n\t}\n\treturn unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil\n}\n\nfunc (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Index == 0 {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Len = sa.Len\n\tsa.raw.Family = AF_LINK\n\tsa.raw.Index = sa.Index\n\tsa.raw.Type = sa.Type\n\tsa.raw.Nlen = sa.Nlen\n\tsa.raw.Alen = sa.Alen\n\tsa.raw.Slen = sa.Slen\n\tfor i := 0; i < len(sa.raw.Data); i++ {\n\t\tsa.raw.Data[i] = sa.Data[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil\n}\n\nfunc anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {\n\tswitch rsa.Addr.Family {\n\tcase AF_LINK:\n\t\tpp := (*RawSockaddrDatalink)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrDatalink)\n\t\tsa.Len = pp.Len\n\t\tsa.Family = pp.Family\n\t\tsa.Index = pp.Index\n\t\tsa.Type = pp.Type\n\t\tsa.Nlen = pp.Nlen\n\t\tsa.Alen = pp.Alen\n\t\tsa.Slen = pp.Slen\n\t\tfor i := 0; i < len(sa.Data); i++ {\n\t\t\tsa.Data[i] = pp.Data[i]\n\t\t}\n\t\treturn sa, nil\n\n\tcase AF_UNIX:\n\t\tpp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))\n\t\tif pp.Len < 2 || pp.Len > SizeofSockaddrUnix {\n\t\t\treturn nil, EINVAL\n\t\t}\n\t\tsa := new(SockaddrUnix)\n\n\t\t// Some BSDs include the trailing NUL in the length, whereas\n\t\t// others do not. Work around this by subtracting the leading\n\t\t// family and len. The path is then scanned to see if a NUL\n\t\t// terminator still exists within the length.\n\t\tn := int(pp.Len) - 2 // subtract leading Family, Len\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif pp.Path[i] == 0 {\n\t\t\t\t// found early NUL; assume Len included the NUL\n\t\t\t\t// or was overestimating.\n\t\t\t\tn = i\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tbytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]\n\t\tsa.Name = string(bytes)\n\t\treturn sa, nil\n\n\tcase AF_INET:\n\t\tpp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrInet4)\n\t\tp := (*[2]byte)(unsafe.Pointer(&pp.Port))\n\t\tsa.Port = int(p[0])<<8 + int(p[1])\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\n\tcase AF_INET6:\n\t\tpp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrInet6)\n\t\tp := (*[2]byte)(unsafe.Pointer(&pp.Port))\n\t\tsa.Port = int(p[0])<<8 + int(p[1])\n\t\tsa.ZoneId = pp.Scope_id\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\t}\n\treturn nil, EAFNOSUPPORT\n}\n\nfunc Accept(fd int) (nfd int, sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tnfd, err = accept(fd, &rsa, &len)\n\tif err != nil {\n\t\treturn\n\t}\n\tif runtime.GOOS == \"darwin\" && len == 0 {\n\t\t// Accepted socket has no address.\n\t\t// This is likely due to a bug in xnu kernels,\n\t\t// where instead of ECONNABORTED error socket\n\t\t// is accepted, but has no address.\n\t\tClose(nfd)\n\t\treturn 0, nil, ECONNABORTED\n\t}\n\tsa, err = anyToSockaddr(&rsa)\n\tif err != nil {\n\t\tClose(nfd)\n\t\tnfd = 0\n\t}\n\treturn\n}\n\nfunc Getsockname(fd int) (sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tif err = getsockname(fd, &rsa, &len); err != nil {\n\t\treturn\n\t}\n\t// TODO(jsing): DragonFly has a \"bug\" (see issue 3349), which should be\n\t// reported upstream.\n\tif runtime.GOOS == \"dragonfly\" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 {\n\t\trsa.Addr.Family = AF_UNIX\n\t\trsa.Addr.Len = SizeofSockaddrUnix\n\t}\n\treturn anyToSockaddr(&rsa)\n}\n\n//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n\nfunc GetsockoptByte(fd, level, opt int) (value byte, err error) {\n\tvar n byte\n\tvallen := _Socklen(1)\n\terr = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)\n\treturn n, err\n}\n\nfunc GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) {\n\tvallen := _Socklen(4)\n\terr = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)\n\treturn value, err\n}\n\nfunc GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) {\n\tvar value IPMreq\n\tvallen := _Socklen(SizeofIPMreq)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {\n\tvar value IPv6Mreq\n\tvallen := _Socklen(SizeofIPv6Mreq)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {\n\tvar value IPv6MTUInfo\n\tvallen := _Socklen(SizeofIPv6MTUInfo)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {\n\tvar value ICMPv6Filter\n\tvallen := _Socklen(SizeofICMPv6Filter)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\n// GetsockoptString returns the string value of the socket option opt for the\n// socket associated with fd at the given socket level.\nfunc GetsockoptString(fd, level, opt int) (string, error) {\n\tbuf := make([]byte, 256)\n\tvallen := _Socklen(len(buf))\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn string(buf[:vallen-1]), nil\n}\n\n//sys   recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys   sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n\nfunc Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {\n\tvar msg Msghdr\n\tvar rsa RawSockaddrAny\n\tmsg.Name = (*byte)(unsafe.Pointer(&rsa))\n\tmsg.Namelen = uint32(SizeofSockaddrAny)\n\tvar iov Iovec\n\tif len(p) > 0 {\n\t\tiov.Base = (*byte)(unsafe.Pointer(&p[0]))\n\t\tiov.SetLen(len(p))\n\t}\n\tvar dummy byte\n\tif len(oob) > 0 {\n\t\t// receive at least one normal byte\n\t\tif len(p) == 0 {\n\t\t\tiov.Base = &dummy\n\t\t\tiov.SetLen(1)\n\t\t}\n\t\tmsg.Control = (*byte)(unsafe.Pointer(&oob[0]))\n\t\tmsg.SetControllen(len(oob))\n\t}\n\tmsg.Iov = &iov\n\tmsg.Iovlen = 1\n\tif n, err = recvmsg(fd, &msg, flags); err != nil {\n\t\treturn\n\t}\n\toobn = int(msg.Controllen)\n\trecvflags = int(msg.Flags)\n\t// source address is only specified if the socket is unconnected\n\tif rsa.Addr.Family != AF_UNSPEC {\n\t\tfrom, err = anyToSockaddr(&rsa)\n\t}\n\treturn\n}\n\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n\nfunc Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {\n\t_, err = SendmsgN(fd, p, oob, to, flags)\n\treturn\n}\n\nfunc SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {\n\tvar ptr unsafe.Pointer\n\tvar salen _Socklen\n\tif to != nil {\n\t\tptr, salen, err = to.sockaddr()\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t}\n\tvar msg Msghdr\n\tmsg.Name = (*byte)(unsafe.Pointer(ptr))\n\tmsg.Namelen = uint32(salen)\n\tvar iov Iovec\n\tif len(p) > 0 {\n\t\tiov.Base = (*byte)(unsafe.Pointer(&p[0]))\n\t\tiov.SetLen(len(p))\n\t}\n\tvar dummy byte\n\tif len(oob) > 0 {\n\t\t// send at least one normal byte\n\t\tif len(p) == 0 {\n\t\t\tiov.Base = &dummy\n\t\t\tiov.SetLen(1)\n\t\t}\n\t\tmsg.Control = (*byte)(unsafe.Pointer(&oob[0]))\n\t\tmsg.SetControllen(len(oob))\n\t}\n\tmsg.Iov = &iov\n\tmsg.Iovlen = 1\n\tif n, err = sendmsg(fd, &msg, flags); err != nil {\n\t\treturn 0, err\n\t}\n\tif len(oob) > 0 && len(p) == 0 {\n\t\tn = 0\n\t}\n\treturn n, nil\n}\n\n//sys\tkevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error)\n\nfunc Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err error) {\n\tvar change, event unsafe.Pointer\n\tif len(changes) > 0 {\n\t\tchange = unsafe.Pointer(&changes[0])\n\t}\n\tif len(events) > 0 {\n\t\tevent = unsafe.Pointer(&events[0])\n\t}\n\treturn kevent(kq, change, len(changes), event, len(events), timeout)\n}\n\n//sys\tsysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL\n\n// sysctlmib translates name to mib number and appends any additional args.\nfunc sysctlmib(name string, args ...int) ([]_C_int, error) {\n\t// Translate name to mib number.\n\tmib, err := nametomib(name)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tfor _, a := range args {\n\t\tmib = append(mib, _C_int(a))\n\t}\n\n\treturn mib, nil\n}\n\nfunc Sysctl(name string) (string, error) {\n\treturn SysctlArgs(name)\n}\n\nfunc SysctlArgs(name string, args ...int) (string, error) {\n\tbuf, err := SysctlRaw(name, args...)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tn := len(buf)\n\n\t// Throw away terminating NUL.\n\tif n > 0 && buf[n-1] == '\\x00' {\n\t\tn--\n\t}\n\treturn string(buf[0:n]), nil\n}\n\nfunc SysctlUint32(name string) (uint32, error) {\n\treturn SysctlUint32Args(name)\n}\n\nfunc SysctlUint32Args(name string, args ...int) (uint32, error) {\n\tmib, err := sysctlmib(name, args...)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\n\tn := uintptr(4)\n\tbuf := make([]byte, 4)\n\tif err := sysctl(mib, &buf[0], &n, nil, 0); err != nil {\n\t\treturn 0, err\n\t}\n\tif n != 4 {\n\t\treturn 0, EIO\n\t}\n\treturn *(*uint32)(unsafe.Pointer(&buf[0])), nil\n}\n\nfunc SysctlUint64(name string, args ...int) (uint64, error) {\n\tmib, err := sysctlmib(name, args...)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\n\tn := uintptr(8)\n\tbuf := make([]byte, 8)\n\tif err := sysctl(mib, &buf[0], &n, nil, 0); err != nil {\n\t\treturn 0, err\n\t}\n\tif n != 8 {\n\t\treturn 0, EIO\n\t}\n\treturn *(*uint64)(unsafe.Pointer(&buf[0])), nil\n}\n\nfunc SysctlRaw(name string, args ...int) ([]byte, error) {\n\tmib, err := sysctlmib(name, args...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Find size.\n\tn := uintptr(0)\n\tif err := sysctl(mib, nil, &n, nil, 0); err != nil {\n\t\treturn nil, err\n\t}\n\tif n == 0 {\n\t\treturn nil, nil\n\t}\n\n\t// Read into buffer of that size.\n\tbuf := make([]byte, n)\n\tif err := sysctl(mib, &buf[0], &n, nil, 0); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// The actual call may return less than the original reported required\n\t// size so ensure we deal with that.\n\treturn buf[:n], nil\n}\n\n//sys\tutimes(path string, timeval *[2]Timeval) (err error)\n\nfunc Utimes(path string, tv []Timeval) error {\n\tif tv == nil {\n\t\treturn utimes(path, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\nfunc UtimesNano(path string, ts []Timespec) error {\n\tif ts == nil {\n\t\terr := utimensat(AT_FDCWD, path, nil, 0)\n\t\tif err != ENOSYS {\n\t\t\treturn err\n\t\t}\n\t\treturn utimes(path, nil)\n\t}\n\tif len(ts) != 2 {\n\t\treturn EINVAL\n\t}\n\t// Darwin setattrlist can set nanosecond timestamps\n\terr := setattrlistTimes(path, ts, 0)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\terr = utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\t// Not as efficient as it could be because Timespec and\n\t// Timeval have different types in the different OSes\n\ttv := [2]Timeval{\n\t\tNsecToTimeval(TimespecToNsec(ts[0])),\n\t\tNsecToTimeval(TimespecToNsec(ts[1])),\n\t}\n\treturn utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\nfunc UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {\n\tif ts == nil {\n\t\treturn utimensat(dirfd, path, nil, flags)\n\t}\n\tif len(ts) != 2 {\n\t\treturn EINVAL\n\t}\n\terr := setattrlistTimes(path, ts, flags)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\treturn utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)\n}\n\n//sys\tfutimes(fd int, timeval *[2]Timeval) (err error)\n\nfunc Futimes(fd int, tv []Timeval) error {\n\tif tv == nil {\n\t\treturn futimes(fd, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\n//sys\tfcntl(fd int, cmd int, arg int) (val int, err error)\n\n//sys   poll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n\n// TODO: wrap\n//\tAcct(name nil-string) (err error)\n//\tGethostuuid(uuid *byte, timeout *Timespec) (err error)\n//\tPtrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error)\n\nvar mapper = &mmapper{\n\tactive: make(map[*byte][]byte),\n\tmmap:   mmap,\n\tmunmap: munmap,\n}\n\nfunc Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {\n\treturn mapper.Mmap(fd, offset, length, prot, flags)\n}\n\nfunc Munmap(b []byte) (err error) {\n\treturn mapper.Munmap(b)\n}\n\n//sys\tMadvise(b []byte, behav int) (err error)\n//sys\tMlock(b []byte) (err error)\n//sys\tMlockall(flags int) (err error)\n//sys\tMprotect(b []byte, prot int) (err error)\n//sys\tMsync(b []byte, flags int) (err error)\n//sys\tMunlock(b []byte) (err error)\n//sys\tMunlockall() (err error)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin.go",
    "content": "// Copyright 2009,2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Darwin system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and wrap\n// it in our own nicer implementation, either here or in\n// syscall_bsd.go or syscall_unix.go.\n\npackage unix\n\nimport (\n\terrorspkg \"errors\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nconst ImplementsGetwd = true\n\nfunc Getwd() (string, error) {\n\tbuf := make([]byte, 2048)\n\tattrs, err := getAttrList(\".\", attrList{CommonAttr: attrCmnFullpath}, buf, 0)\n\tif err == nil && len(attrs) == 1 && len(attrs[0]) >= 2 {\n\t\twd := string(attrs[0])\n\t\t// Sanity check that it's an absolute path and ends\n\t\t// in a null byte, which we then strip.\n\t\tif wd[0] == '/' && wd[len(wd)-1] == 0 {\n\t\t\treturn wd[:len(wd)-1], nil\n\t\t}\n\t}\n\t// If pkg/os/getwd.go gets ENOTSUP, it will fall back to the\n\t// slow algorithm.\n\treturn \"\", ENOTSUP\n}\n\ntype SockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n\traw    RawSockaddrDatalink\n}\n\n// Translate \"kern.hostname\" to []_C_int{0,1,2,3}.\nfunc nametomib(name string) (mib []_C_int, err error) {\n\tconst siz = unsafe.Sizeof(mib[0])\n\n\t// NOTE(rsc): It seems strange to set the buffer to have\n\t// size CTL_MAXNAME+2 but use only CTL_MAXNAME\n\t// as the size. I don't know why the +2 is here, but the\n\t// kernel uses +2 for its own implementation of this function.\n\t// I am scared that if we don't include the +2 here, the kernel\n\t// will silently write 2 words farther than we specify\n\t// and we'll get memory corruption.\n\tvar buf [CTL_MAXNAME + 2]_C_int\n\tn := uintptr(CTL_MAXNAME) * siz\n\n\tp := (*byte)(unsafe.Pointer(&buf[0]))\n\tbytes, err := ByteSliceFromString(name)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Magic sysctl: \"setting\" 0.3 to a string name\n\t// lets you read back the array of integers form.\n\tif err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil {\n\t\treturn nil, err\n\t}\n\treturn buf[0 : n/siz], nil\n}\n\nfunc direntIno(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))\n}\n\nfunc direntReclen(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))\n}\n\nfunc direntNamlen(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))\n}\n\n//sys   ptrace(request int, pid int, addr uintptr, data uintptr) (err error)\nfunc PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) }\nfunc PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) }\n\nconst (\n\tattrBitMapCount = 5\n\tattrCmnFullpath = 0x08000000\n)\n\ntype attrList struct {\n\tbitmapCount uint16\n\t_           uint16\n\tCommonAttr  uint32\n\tVolAttr     uint32\n\tDirAttr     uint32\n\tFileAttr    uint32\n\tForkattr    uint32\n}\n\nfunc getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (attrs [][]byte, err error) {\n\tif len(attrBuf) < 4 {\n\t\treturn nil, errorspkg.New(\"attrBuf too small\")\n\t}\n\tattrList.bitmapCount = attrBitMapCount\n\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t_, _, e1 := Syscall6(\n\t\tSYS_GETATTRLIST,\n\t\tuintptr(unsafe.Pointer(_p0)),\n\t\tuintptr(unsafe.Pointer(&attrList)),\n\t\tuintptr(unsafe.Pointer(&attrBuf[0])),\n\t\tuintptr(len(attrBuf)),\n\t\tuintptr(options),\n\t\t0,\n\t)\n\tif e1 != 0 {\n\t\treturn nil, e1\n\t}\n\tsize := *(*uint32)(unsafe.Pointer(&attrBuf[0]))\n\n\t// dat is the section of attrBuf that contains valid data,\n\t// without the 4 byte length header. All attribute offsets\n\t// are relative to dat.\n\tdat := attrBuf\n\tif int(size) < len(attrBuf) {\n\t\tdat = dat[:size]\n\t}\n\tdat = dat[4:] // remove length prefix\n\n\tfor i := uint32(0); int(i) < len(dat); {\n\t\theader := dat[i:]\n\t\tif len(header) < 8 {\n\t\t\treturn attrs, errorspkg.New(\"truncated attribute header\")\n\t\t}\n\t\tdatOff := *(*int32)(unsafe.Pointer(&header[0]))\n\t\tattrLen := *(*uint32)(unsafe.Pointer(&header[4]))\n\t\tif datOff < 0 || uint32(datOff)+attrLen > uint32(len(dat)) {\n\t\t\treturn attrs, errorspkg.New(\"truncated results; attrBuf too small\")\n\t\t}\n\t\tend := uint32(datOff) + attrLen\n\t\tattrs = append(attrs, dat[datOff:end])\n\t\ti = end\n\t\tif r := i % 4; r != 0 {\n\t\t\ti += (4 - r)\n\t\t}\n\t}\n\treturn\n}\n\n//sysnb pipe() (r int, w int, err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tp[0], p[1], err = pipe()\n\treturn\n}\n\nfunc Getfsstat(buf []Statfs_t, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tvar bufsize uintptr\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t\tbufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))\n\t}\n\tr0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(_p0), bufsize, uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc setattrlistTimes(path string, times []Timespec, flags int) error {\n\t_p0, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tvar attrList attrList\n\tattrList.bitmapCount = ATTR_BIT_MAP_COUNT\n\tattrList.CommonAttr = ATTR_CMN_MODTIME | ATTR_CMN_ACCTIME\n\n\t// order is mtime, atime: the opposite of Chtimes\n\tattributes := [2]Timespec{times[1], times[0]}\n\toptions := 0\n\tif flags&AT_SYMLINK_NOFOLLOW != 0 {\n\t\toptions |= FSOPT_NOFOLLOW\n\t}\n\t_, _, e1 := Syscall6(\n\t\tSYS_SETATTRLIST,\n\t\tuintptr(unsafe.Pointer(_p0)),\n\t\tuintptr(unsafe.Pointer(&attrList)),\n\t\tuintptr(unsafe.Pointer(&attributes)),\n\t\tuintptr(unsafe.Sizeof(attributes)),\n\t\tuintptr(options),\n\t\t0,\n\t)\n\tif e1 != 0 {\n\t\treturn e1\n\t}\n\treturn nil\n}\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) error {\n\t// Darwin doesn't support SYS_UTIMENSAT\n\treturn ENOSYS\n}\n\n/*\n * Wrapped\n */\n\n//sys\tkill(pid int, signum int, posix int) (err error)\n\nfunc Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(signum), 1) }\n\n//sys\tioctl(fd int, req uint, arg uintptr) (err error)\n\n// ioctl itself should not be exposed directly, but additional get/set\n// functions for specific types are permissible.\n\n// IoctlSetInt performs an ioctl operation which sets an integer value\n// on fd, using the specified request number.\nfunc IoctlSetInt(fd int, req uint, value int) error {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc IoctlSetWinsize(fd int, req uint, value *Winsize) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc IoctlSetTermios(fd int, req uint, value *Termios) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\n// IoctlGetInt performs an ioctl operation which gets an integer value\n// from fd, using the specified request number.\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc Uname(uname *Utsname) error {\n\tmib := []_C_int{CTL_KERN, KERN_OSTYPE}\n\tn := unsafe.Sizeof(uname.Sysname)\n\tif err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_HOSTNAME}\n\tn = unsafe.Sizeof(uname.Nodename)\n\tif err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_OSRELEASE}\n\tn = unsafe.Sizeof(uname.Release)\n\tif err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_VERSION}\n\tn = unsafe.Sizeof(uname.Version)\n\tif err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\t// The version might have newlines or tabs in it, convert them to\n\t// spaces.\n\tfor i, b := range uname.Version {\n\t\tif b == '\\n' || b == '\\t' {\n\t\t\tif i == len(uname.Version)-1 {\n\t\t\t\tuname.Version[i] = 0\n\t\t\t} else {\n\t\t\t\tuname.Version[i] = ' '\n\t\t\t}\n\t\t}\n\t}\n\n\tmib = []_C_int{CTL_HW, HW_MACHINE}\n\tn = unsafe.Sizeof(uname.Machine)\n\tif err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n/*\n * Exposed directly\n */\n//sys\tAccess(path string, mode uint32) (err error)\n//sys\tAdjtime(delta *Timeval, olddelta *Timeval) (err error)\n//sys\tChdir(path string) (err error)\n//sys\tChflags(path string, flags int) (err error)\n//sys\tChmod(path string, mode uint32) (err error)\n//sys\tChown(path string, uid int, gid int) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tDup(fd int) (nfd int, err error)\n//sys\tDup2(from int, to int) (err error)\n//sys\tExchangedata(path1 string, path2 string, options int) (err error)\n//sys\tExit(code int)\n//sys\tFaccessat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchflags(fd int, flags int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchmodat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFchownat(dirfd int, path string, uid int, gid int, flags int) (err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFpathconf(fd int, name int) (val int, err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64\n//sys\tFstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64\n//sys\tFsync(fd int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sys\tGetdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64\n//sys\tGetdtablesize() (size int)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (uid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n//sysnb\tGetpgrp() (pgrp int)\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (prio int, err error)\n//sysnb\tGetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGetsid(pid int) (sid int, err error)\n//sysnb\tGetuid() (uid int)\n//sysnb\tIssetugid() (tainted bool)\n//sys\tKqueue() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLink(path string, link string) (err error)\n//sys\tLinkat(pathfd int, path string, linkfd int, link string, flags int) (err error)\n//sys\tListen(s int, backlog int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64\n//sys\tMkdir(path string, mode uint32) (err error)\n//sys\tMkdirat(dirfd int, path string, mode uint32) (err error)\n//sys\tMkfifo(path string, mode uint32) (err error)\n//sys\tMknod(path string, mode uint32, dev int) (err error)\n//sys\tOpen(path string, mode int, perm uint32) (fd int, err error)\n//sys\tOpenat(dirfd int, path string, mode int, perm uint32) (fd int, err error)\n//sys\tPathconf(path string, name int) (val int, err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error)\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error)\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tReadlink(path string, buf []byte) (n int, err error)\n//sys\tReadlinkat(dirfd int, path string, buf []byte) (n int, err error)\n//sys\tRename(from string, to string) (err error)\n//sys\tRenameat(fromfd int, from string, tofd int, to string) (err error)\n//sys\tRevoke(path string) (err error)\n//sys\tRmdir(path string) (err error)\n//sys\tSeek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK\n//sys\tSelect(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)\n//sys\tSetegid(egid int) (err error)\n//sysnb\tSeteuid(euid int) (err error)\n//sysnb\tSetgid(gid int) (err error)\n//sys\tSetlogin(name string) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sys\tSetprivexec(flag int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sysnb\tSetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSettimeofday(tp *Timeval) (err error)\n//sysnb\tSetuid(uid int) (err error)\n//sys\tStat(path string, stat *Stat_t) (err error) = SYS_STAT64\n//sys\tStatfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64\n//sys\tSymlink(path string, link string) (err error)\n//sys\tSymlinkat(oldpath string, newdirfd int, newpath string) (err error)\n//sys\tSync() (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUmask(newmask int) (oldmask int)\n//sys\tUndelete(path string) (err error)\n//sys\tUnlink(path string) (err error)\n//sys\tUnlinkat(dirfd int, path string, flags int) (err error)\n//sys\tUnmount(path string, flags int) (err error)\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys   mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)\n//sys   munmap(addr uintptr, length uintptr) (err error)\n//sys\treadlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ\n//sys\twritelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE\n\n/*\n * Unimplemented\n */\n// Profil\n// Sigaction\n// Sigprocmask\n// Getlogin\n// Sigpending\n// Sigaltstack\n// Ioctl\n// Reboot\n// Execve\n// Vfork\n// Sbrk\n// Sstk\n// Ovadvise\n// Mincore\n// Setitimer\n// Swapon\n// Select\n// Sigsuspend\n// Readv\n// Writev\n// Nfssvc\n// Getfh\n// Quotactl\n// Mount\n// Csops\n// Waitid\n// Add_profil\n// Kdebug_trace\n// Sigreturn\n// Atsocket\n// Kqueue_from_portset_np\n// Kqueue_portset\n// Getattrlist\n// Setattrlist\n// Getdirentriesattr\n// Searchfs\n// Delete\n// Copyfile\n// Watchevent\n// Waitevent\n// Modwatch\n// Getxattr\n// Fgetxattr\n// Setxattr\n// Fsetxattr\n// Removexattr\n// Fremovexattr\n// Listxattr\n// Flistxattr\n// Fsctl\n// Initgroups\n// Posix_spawn\n// Nfsclnt\n// Fhopen\n// Minherit\n// Semsys\n// Msgsys\n// Shmsys\n// Semctl\n// Semget\n// Semop\n// Msgctl\n// Msgget\n// Msgsnd\n// Msgrcv\n// Shmat\n// Shmctl\n// Shmdt\n// Shmget\n// Shm_open\n// Shm_unlink\n// Sem_open\n// Sem_close\n// Sem_unlink\n// Sem_wait\n// Sem_trywait\n// Sem_post\n// Sem_getvalue\n// Sem_init\n// Sem_destroy\n// Open_extended\n// Umask_extended\n// Stat_extended\n// Lstat_extended\n// Fstat_extended\n// Chmod_extended\n// Fchmod_extended\n// Access_extended\n// Settid\n// Gettid\n// Setsgroups\n// Getsgroups\n// Setwgroups\n// Getwgroups\n// Mkfifo_extended\n// Mkdir_extended\n// Identitysvc\n// Shared_region_check_np\n// Shared_region_map_np\n// __pthread_mutex_destroy\n// __pthread_mutex_init\n// __pthread_mutex_lock\n// __pthread_mutex_trylock\n// __pthread_mutex_unlock\n// __pthread_cond_init\n// __pthread_cond_destroy\n// __pthread_cond_broadcast\n// __pthread_cond_signal\n// Setsid_with_pid\n// __pthread_cond_timedwait\n// Aio_fsync\n// Aio_return\n// Aio_suspend\n// Aio_cancel\n// Aio_error\n// Aio_read\n// Aio_write\n// Lio_listio\n// __pthread_cond_wait\n// Iopolicysys\n// __pthread_kill\n// __pthread_sigmask\n// __sigwait\n// __disable_threadsignal\n// __pthread_markcancel\n// __pthread_canceled\n// __semwait_signal\n// Proc_info\n// sendfile\n// Stat64_extended\n// Lstat64_extended\n// Fstat64_extended\n// __pthread_chdir\n// __pthread_fchdir\n// Audit\n// Auditon\n// Getauid\n// Setauid\n// Getaudit\n// Setaudit\n// Getaudit_addr\n// Setaudit_addr\n// Auditctl\n// Bsdthread_create\n// Bsdthread_terminate\n// Stack_snapshot\n// Bsdthread_register\n// Workq_open\n// Workq_ops\n// __mac_execve\n// __mac_syscall\n// __mac_get_file\n// __mac_set_file\n// __mac_get_link\n// __mac_set_link\n// __mac_get_proc\n// __mac_set_proc\n// __mac_get_fd\n// __mac_set_fd\n// __mac_get_pid\n// __mac_get_lcid\n// __mac_get_lctx\n// __mac_set_lctx\n// Setlcid\n// Read_nocancel\n// Write_nocancel\n// Open_nocancel\n// Close_nocancel\n// Wait4_nocancel\n// Recvmsg_nocancel\n// Sendmsg_nocancel\n// Recvfrom_nocancel\n// Accept_nocancel\n// Fcntl_nocancel\n// Select_nocancel\n// Fsync_nocancel\n// Connect_nocancel\n// Sigsuspend_nocancel\n// Readv_nocancel\n// Writev_nocancel\n// Sendto_nocancel\n// Pread_nocancel\n// Pwrite_nocancel\n// Waitid_nocancel\n// Poll_nocancel\n// Msgsnd_nocancel\n// Msgrcv_nocancel\n// Sem_wait_nocancel\n// Aio_suspend_nocancel\n// __sigwait_nocancel\n// __semwait_signal_nocancel\n// __mac_mount\n// __mac_get_mount\n// __mac_getfsstat\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin_386.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build 386,darwin\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: int32(sec), Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: int32(sec), Usec: int32(usec)}\n}\n\n//sysnb\tgettimeofday(tp *Timeval) (sec int32, usec int32, err error)\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t// The tv passed to gettimeofday must be non-nil\n\t// but is otherwise unused. The answers come back\n\t// in the two registers.\n\tsec, usec, err := gettimeofday(tv)\n\ttv.Sec = int32(sec)\n\ttv.Usec = int32(usec)\n\treturn err\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar length = uint64(count)\n\n\t_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0)\n\n\twritten = int(length)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n\n// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions\n// of darwin/386 the syscall is called sysctl instead of __sysctl.\nconst SYS___SYSCTL = SYS_SYSCTL\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,darwin\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\n//sysnb\tgettimeofday(tp *Timeval) (sec int64, usec int32, err error)\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t// The tv passed to gettimeofday must be non-nil\n\t// but is otherwise unused. The answers come back\n\t// in the two registers.\n\tsec, usec, err := gettimeofday(tv)\n\ttv.Sec = sec\n\ttv.Usec = usec\n\treturn err\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint64(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar length = uint64(count)\n\n\t_, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0)\n\n\twritten = int(length)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n\n// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions\n// of darwin/amd64 the syscall is called sysctl instead of __sysctl.\nconst SYS___SYSCTL = SYS_SYSCTL\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin_arm.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: int32(sec), Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: int32(sec), Usec: int32(usec)}\n}\n\n//sysnb\tgettimeofday(tp *Timeval) (sec int32, usec int32, err error)\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t// The tv passed to gettimeofday must be non-nil\n\t// but is otherwise unused. The answers come back\n\t// in the two registers.\n\tsec, usec, err := gettimeofday(tv)\n\ttv.Sec = int32(sec)\n\ttv.Usec = int32(usec)\n\treturn err\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar length = uint64(count)\n\n\t_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0)\n\n\twritten = int(length)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic\n\n// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions\n// of darwin/arm the syscall is called sysctl instead of __sysctl.\nconst SYS___SYSCTL = SYS_SYSCTL\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build arm64,darwin\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\n//sysnb\tgettimeofday(tp *Timeval) (sec int64, usec int32, err error)\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t// The tv passed to gettimeofday must be non-nil\n\t// but is otherwise unused. The answers come back\n\t// in the two registers.\n\tsec, usec, err := gettimeofday(tv)\n\ttv.Sec = sec\n\ttv.Usec = usec\n\treturn err\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint64(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar length = uint64(count)\n\n\t_, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0)\n\n\twritten = int(length)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic\n\n// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions\n// of darwin/arm64 the syscall is called sysctl instead of __sysctl.\nconst SYS___SYSCTL = SYS_SYSCTL\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_dragonfly.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// DragonFly BSD system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and wrap\n// it in our own nicer implementation, either here or in\n// syscall_bsd.go or syscall_unix.go.\n\npackage unix\n\nimport \"unsafe\"\n\ntype SockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n\tRcf    uint16\n\tRoute  [16]uint16\n\traw    RawSockaddrDatalink\n}\n\n// Translate \"kern.hostname\" to []_C_int{0,1,2,3}.\nfunc nametomib(name string) (mib []_C_int, err error) {\n\tconst siz = unsafe.Sizeof(mib[0])\n\n\t// NOTE(rsc): It seems strange to set the buffer to have\n\t// size CTL_MAXNAME+2 but use only CTL_MAXNAME\n\t// as the size. I don't know why the +2 is here, but the\n\t// kernel uses +2 for its own implementation of this function.\n\t// I am scared that if we don't include the +2 here, the kernel\n\t// will silently write 2 words farther than we specify\n\t// and we'll get memory corruption.\n\tvar buf [CTL_MAXNAME + 2]_C_int\n\tn := uintptr(CTL_MAXNAME) * siz\n\n\tp := (*byte)(unsafe.Pointer(&buf[0]))\n\tbytes, err := ByteSliceFromString(name)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Magic sysctl: \"setting\" 0.3 to a string name\n\t// lets you read back the array of integers form.\n\tif err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil {\n\t\treturn nil, err\n\t}\n\treturn buf[0 : n/siz], nil\n}\n\nfunc direntIno(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))\n}\n\nfunc direntReclen(buf []byte) (uint64, bool) {\n\tnamlen, ok := direntNamlen(buf)\n\tif !ok {\n\t\treturn 0, false\n\t}\n\treturn (16 + namlen + 1 + 7) &^ 7, true\n}\n\nfunc direntNamlen(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))\n}\n\n//sysnb pipe() (r int, w int, err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tp[0], p[1], err = pipe()\n\treturn\n}\n\n//sys\textpread(fd int, p []byte, flags int, offset int64) (n int, err error)\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\treturn extpread(fd, p, 0, offset)\n}\n\n//sys\textpwrite(fd int, p []byte, flags int, offset int64) (n int, err error)\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\treturn extpwrite(fd, p, 0, offset)\n}\n\nfunc Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tnfd, err = accept4(fd, &rsa, &len, flags)\n\tif err != nil {\n\t\treturn\n\t}\n\tif len > SizeofSockaddrAny {\n\t\tpanic(\"RawSockaddrAny too small\")\n\t}\n\tsa, err = anyToSockaddr(&rsa)\n\tif err != nil {\n\t\tClose(nfd)\n\t\tnfd = 0\n\t}\n\treturn\n}\n\nconst ImplementsGetwd = true\n\n//sys\tGetcwd(buf []byte) (n int, err error) = SYS___GETCWD\n\nfunc Getwd() (string, error) {\n\tvar buf [PathMax]byte\n\t_, err := Getcwd(buf[0:])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tn := clen(buf[:])\n\tif n < 1 {\n\t\treturn \"\", EINVAL\n\t}\n\treturn string(buf[:n]), nil\n}\n\nfunc Getfsstat(buf []Statfs_t, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tvar bufsize uintptr\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t\tbufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))\n\t}\n\tr0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc setattrlistTimes(path string, times []Timespec, flags int) error {\n\t// used on Darwin for UtimesNano\n\treturn ENOSYS\n}\n\n//sys\tioctl(fd int, req uint, arg uintptr) (err error)\n\n// ioctl itself should not be exposed directly, but additional get/set\n// functions for specific types are permissible.\n\n// IoctlSetInt performs an ioctl operation which sets an integer value\n// on fd, using the specified request number.\nfunc IoctlSetInt(fd int, req uint, value int) error {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc IoctlSetWinsize(fd int, req uint, value *Winsize) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc IoctlSetTermios(fd int, req uint, value *Termios) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\n// IoctlGetInt performs an ioctl operation which gets an integer value\n// from fd, using the specified request number.\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error {\n\terr := sysctl(mib, old, oldlen, nil, 0)\n\tif err != nil {\n\t\t// Utsname members on Dragonfly are only 32 bytes and\n\t\t// the syscall returns ENOMEM in case the actual value\n\t\t// is longer.\n\t\tif err == ENOMEM {\n\t\t\terr = nil\n\t\t}\n\t}\n\treturn err\n}\n\nfunc Uname(uname *Utsname) error {\n\tmib := []_C_int{CTL_KERN, KERN_OSTYPE}\n\tn := unsafe.Sizeof(uname.Sysname)\n\tif err := sysctlUname(mib, &uname.Sysname[0], &n); err != nil {\n\t\treturn err\n\t}\n\tuname.Sysname[unsafe.Sizeof(uname.Sysname)-1] = 0\n\n\tmib = []_C_int{CTL_KERN, KERN_HOSTNAME}\n\tn = unsafe.Sizeof(uname.Nodename)\n\tif err := sysctlUname(mib, &uname.Nodename[0], &n); err != nil {\n\t\treturn err\n\t}\n\tuname.Nodename[unsafe.Sizeof(uname.Nodename)-1] = 0\n\n\tmib = []_C_int{CTL_KERN, KERN_OSRELEASE}\n\tn = unsafe.Sizeof(uname.Release)\n\tif err := sysctlUname(mib, &uname.Release[0], &n); err != nil {\n\t\treturn err\n\t}\n\tuname.Release[unsafe.Sizeof(uname.Release)-1] = 0\n\n\tmib = []_C_int{CTL_KERN, KERN_VERSION}\n\tn = unsafe.Sizeof(uname.Version)\n\tif err := sysctlUname(mib, &uname.Version[0], &n); err != nil {\n\t\treturn err\n\t}\n\n\t// The version might have newlines or tabs in it, convert them to\n\t// spaces.\n\tfor i, b := range uname.Version {\n\t\tif b == '\\n' || b == '\\t' {\n\t\t\tif i == len(uname.Version)-1 {\n\t\t\t\tuname.Version[i] = 0\n\t\t\t} else {\n\t\t\t\tuname.Version[i] = ' '\n\t\t\t}\n\t\t}\n\t}\n\n\tmib = []_C_int{CTL_HW, HW_MACHINE}\n\tn = unsafe.Sizeof(uname.Machine)\n\tif err := sysctlUname(mib, &uname.Machine[0], &n); err != nil {\n\t\treturn err\n\t}\n\tuname.Machine[unsafe.Sizeof(uname.Machine)-1] = 0\n\n\treturn nil\n}\n\n/*\n * Exposed directly\n */\n//sys\tAccess(path string, mode uint32) (err error)\n//sys\tAdjtime(delta *Timeval, olddelta *Timeval) (err error)\n//sys\tChdir(path string) (err error)\n//sys\tChflags(path string, flags int) (err error)\n//sys\tChmod(path string, mode uint32) (err error)\n//sys\tChown(path string, uid int, gid int) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tDup(fd int) (nfd int, err error)\n//sys\tDup2(from int, to int) (err error)\n//sys\tExit(code int)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchflags(fd int, flags int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFpathconf(fd int, name int) (val int, err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatfs(fd int, stat *Statfs_t) (err error)\n//sys\tFsync(fd int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sys\tGetdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)\n//sys\tGetdtablesize() (size int)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (uid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n//sysnb\tGetpgrp() (pgrp int)\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (prio int, err error)\n//sysnb\tGetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGetsid(pid int) (sid int, err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tIssetugid() (tainted bool)\n//sys\tKill(pid int, signum syscall.Signal) (err error)\n//sys\tKqueue() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLink(path string, link string) (err error)\n//sys\tListen(s int, backlog int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tMkdir(path string, mode uint32) (err error)\n//sys\tMkfifo(path string, mode uint32) (err error)\n//sys\tMknod(path string, mode uint32, dev int) (err error)\n//sys\tNanosleep(time *Timespec, leftover *Timespec) (err error)\n//sys\tOpen(path string, mode int, perm uint32) (fd int, err error)\n//sys\tPathconf(path string, name int) (val int, err error)\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tReadlink(path string, buf []byte) (n int, err error)\n//sys\tRename(from string, to string) (err error)\n//sys\tRevoke(path string) (err error)\n//sys\tRmdir(path string) (err error)\n//sys\tSeek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK\n//sys\tSelect(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)\n//sysnb\tSetegid(egid int) (err error)\n//sysnb\tSeteuid(euid int) (err error)\n//sysnb\tSetgid(gid int) (err error)\n//sys\tSetlogin(name string) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSettimeofday(tp *Timeval) (err error)\n//sysnb\tSetuid(uid int) (err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, stat *Statfs_t) (err error)\n//sys\tSymlink(path string, link string) (err error)\n//sys\tSync() (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUmask(newmask int) (oldmask int)\n//sys\tUndelete(path string) (err error)\n//sys\tUnlink(path string) (err error)\n//sys\tUnmount(path string, flags int) (err error)\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys   mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)\n//sys   munmap(addr uintptr, length uintptr) (err error)\n//sys\treadlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ\n//sys\twritelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE\n//sys\taccept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error)\n//sys\tutimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)\n\n/*\n * Unimplemented\n * TODO(jsing): Update this list for DragonFly.\n */\n// Profil\n// Sigaction\n// Sigprocmask\n// Getlogin\n// Sigpending\n// Sigaltstack\n// Reboot\n// Execve\n// Vfork\n// Sbrk\n// Sstk\n// Ovadvise\n// Mincore\n// Setitimer\n// Swapon\n// Select\n// Sigsuspend\n// Readv\n// Writev\n// Nfssvc\n// Getfh\n// Quotactl\n// Mount\n// Csops\n// Waitid\n// Add_profil\n// Kdebug_trace\n// Sigreturn\n// Atsocket\n// Kqueue_from_portset_np\n// Kqueue_portset\n// Getattrlist\n// Setattrlist\n// Getdirentriesattr\n// Searchfs\n// Delete\n// Copyfile\n// Watchevent\n// Waitevent\n// Modwatch\n// Getxattr\n// Fgetxattr\n// Setxattr\n// Fsetxattr\n// Removexattr\n// Fremovexattr\n// Listxattr\n// Flistxattr\n// Fsctl\n// Initgroups\n// Posix_spawn\n// Nfsclnt\n// Fhopen\n// Minherit\n// Semsys\n// Msgsys\n// Shmsys\n// Semctl\n// Semget\n// Semop\n// Msgctl\n// Msgget\n// Msgsnd\n// Msgrcv\n// Shmat\n// Shmctl\n// Shmdt\n// Shmget\n// Shm_open\n// Shm_unlink\n// Sem_open\n// Sem_close\n// Sem_unlink\n// Sem_wait\n// Sem_trywait\n// Sem_post\n// Sem_getvalue\n// Sem_init\n// Sem_destroy\n// Open_extended\n// Umask_extended\n// Stat_extended\n// Lstat_extended\n// Fstat_extended\n// Chmod_extended\n// Fchmod_extended\n// Access_extended\n// Settid\n// Gettid\n// Setsgroups\n// Getsgroups\n// Setwgroups\n// Getwgroups\n// Mkfifo_extended\n// Mkdir_extended\n// Identitysvc\n// Shared_region_check_np\n// Shared_region_map_np\n// __pthread_mutex_destroy\n// __pthread_mutex_init\n// __pthread_mutex_lock\n// __pthread_mutex_trylock\n// __pthread_mutex_unlock\n// __pthread_cond_init\n// __pthread_cond_destroy\n// __pthread_cond_broadcast\n// __pthread_cond_signal\n// Setsid_with_pid\n// __pthread_cond_timedwait\n// Aio_fsync\n// Aio_return\n// Aio_suspend\n// Aio_cancel\n// Aio_error\n// Aio_read\n// Aio_write\n// Lio_listio\n// __pthread_cond_wait\n// Iopolicysys\n// __pthread_kill\n// __pthread_sigmask\n// __sigwait\n// __disable_threadsignal\n// __pthread_markcancel\n// __pthread_canceled\n// __semwait_signal\n// Proc_info\n// Stat64_extended\n// Lstat64_extended\n// Fstat64_extended\n// __pthread_chdir\n// __pthread_fchdir\n// Audit\n// Auditon\n// Getauid\n// Setauid\n// Getaudit\n// Setaudit\n// Getaudit_addr\n// Setaudit_addr\n// Auditctl\n// Bsdthread_create\n// Bsdthread_terminate\n// Stack_snapshot\n// Bsdthread_register\n// Workq_open\n// Workq_ops\n// __mac_execve\n// __mac_syscall\n// __mac_get_file\n// __mac_set_file\n// __mac_get_link\n// __mac_set_link\n// __mac_get_proc\n// __mac_set_proc\n// __mac_get_fd\n// __mac_set_fd\n// __mac_get_pid\n// __mac_get_lcid\n// __mac_get_lctx\n// __mac_set_lctx\n// Setlcid\n// Read_nocancel\n// Write_nocancel\n// Open_nocancel\n// Close_nocancel\n// Wait4_nocancel\n// Recvmsg_nocancel\n// Sendmsg_nocancel\n// Recvfrom_nocancel\n// Accept_nocancel\n// Fcntl_nocancel\n// Select_nocancel\n// Fsync_nocancel\n// Connect_nocancel\n// Sigsuspend_nocancel\n// Readv_nocancel\n// Writev_nocancel\n// Sendto_nocancel\n// Pread_nocancel\n// Pwrite_nocancel\n// Waitid_nocancel\n// Msgsnd_nocancel\n// Msgrcv_nocancel\n// Sem_wait_nocancel\n// Aio_suspend_nocancel\n// __sigwait_nocancel\n// __semwait_signal_nocancel\n// __mac_mount\n// __mac_get_mount\n// __mac_getfsstat\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,dragonfly\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint64(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar writtenOut uint64 = 0\n\t_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0)\n\n\twritten = int(writtenOut)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd.go",
    "content": "// Copyright 2009,2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// FreeBSD system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and wrap\n// it in our own nicer implementation, either here or in\n// syscall_bsd.go or syscall_unix.go.\n\npackage unix\n\nimport \"unsafe\"\n\ntype SockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [46]int8\n\traw    RawSockaddrDatalink\n}\n\n// Translate \"kern.hostname\" to []_C_int{0,1,2,3}.\nfunc nametomib(name string) (mib []_C_int, err error) {\n\tconst siz = unsafe.Sizeof(mib[0])\n\n\t// NOTE(rsc): It seems strange to set the buffer to have\n\t// size CTL_MAXNAME+2 but use only CTL_MAXNAME\n\t// as the size. I don't know why the +2 is here, but the\n\t// kernel uses +2 for its own implementation of this function.\n\t// I am scared that if we don't include the +2 here, the kernel\n\t// will silently write 2 words farther than we specify\n\t// and we'll get memory corruption.\n\tvar buf [CTL_MAXNAME + 2]_C_int\n\tn := uintptr(CTL_MAXNAME) * siz\n\n\tp := (*byte)(unsafe.Pointer(&buf[0]))\n\tbytes, err := ByteSliceFromString(name)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Magic sysctl: \"setting\" 0.3 to a string name\n\t// lets you read back the array of integers form.\n\tif err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil {\n\t\treturn nil, err\n\t}\n\treturn buf[0 : n/siz], nil\n}\n\nfunc direntIno(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))\n}\n\nfunc direntReclen(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))\n}\n\nfunc direntNamlen(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))\n}\n\n//sysnb pipe() (r int, w int, err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tp[0], p[1], err = pipe()\n\treturn\n}\n\nfunc GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {\n\tvar value IPMreqn\n\tvallen := _Socklen(SizeofIPMreqn)\n\terrno := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, errno\n}\n\nfunc SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))\n}\n\nfunc Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tnfd, err = accept4(fd, &rsa, &len, flags)\n\tif err != nil {\n\t\treturn\n\t}\n\tif len > SizeofSockaddrAny {\n\t\tpanic(\"RawSockaddrAny too small\")\n\t}\n\tsa, err = anyToSockaddr(&rsa)\n\tif err != nil {\n\t\tClose(nfd)\n\t\tnfd = 0\n\t}\n\treturn\n}\n\nconst ImplementsGetwd = true\n\n//sys\tGetcwd(buf []byte) (n int, err error) = SYS___GETCWD\n\nfunc Getwd() (string, error) {\n\tvar buf [PathMax]byte\n\t_, err := Getcwd(buf[0:])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tn := clen(buf[:])\n\tif n < 1 {\n\t\treturn \"\", EINVAL\n\t}\n\treturn string(buf[:n]), nil\n}\n\nfunc Getfsstat(buf []Statfs_t, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tvar bufsize uintptr\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t\tbufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))\n\t}\n\tr0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc setattrlistTimes(path string, times []Timespec, flags int) error {\n\t// used on Darwin for UtimesNano\n\treturn ENOSYS\n}\n\n// Derive extattr namespace and attribute name\n\nfunc xattrnamespace(fullattr string) (ns int, attr string, err error) {\n\ts := -1\n\tfor idx, val := range fullattr {\n\t\tif val == '.' {\n\t\t\ts = idx\n\t\t\tbreak\n\t\t}\n\t}\n\n\tif s == -1 {\n\t\treturn -1, \"\", ENOATTR\n\t}\n\n\tnamespace := fullattr[0:s]\n\tattr = fullattr[s+1:]\n\n\tswitch namespace {\n\tcase \"user\":\n\t\treturn EXTATTR_NAMESPACE_USER, attr, nil\n\tcase \"system\":\n\t\treturn EXTATTR_NAMESPACE_SYSTEM, attr, nil\n\tdefault:\n\t\treturn -1, \"\", ENOATTR\n\t}\n}\n\nfunc initxattrdest(dest []byte, idx int) (d unsafe.Pointer) {\n\tif len(dest) > idx {\n\t\treturn unsafe.Pointer(&dest[idx])\n\t} else {\n\t\treturn unsafe.Pointer(_zero)\n\t}\n}\n\n// FreeBSD implements its own syscalls to handle extended attributes\n\nfunc Getxattr(file string, attr string, dest []byte) (sz int, err error) {\n\td := initxattrdest(dest, 0)\n\tdestsize := len(dest)\n\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn -1, err\n\t}\n\n\treturn ExtattrGetFile(file, nsid, a, uintptr(d), destsize)\n}\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\td := initxattrdest(dest, 0)\n\tdestsize := len(dest)\n\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn -1, err\n\t}\n\n\treturn ExtattrGetFd(fd, nsid, a, uintptr(d), destsize)\n}\n\nfunc Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {\n\td := initxattrdest(dest, 0)\n\tdestsize := len(dest)\n\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn -1, err\n\t}\n\n\treturn ExtattrGetLink(link, nsid, a, uintptr(d), destsize)\n}\n\n// flags are unused on FreeBSD\n\nfunc Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {\n\td := unsafe.Pointer(&data[0])\n\tdatasiz := len(data)\n\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz)\n\treturn\n}\n\nfunc Setxattr(file string, attr string, data []byte, flags int) (err error) {\n\td := unsafe.Pointer(&data[0])\n\tdatasiz := len(data)\n\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz)\n\treturn\n}\n\nfunc Lsetxattr(link string, attr string, data []byte, flags int) (err error) {\n\td := unsafe.Pointer(&data[0])\n\tdatasiz := len(data)\n\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz)\n\treturn\n}\n\nfunc Removexattr(file string, attr string) (err error) {\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\n\terr = ExtattrDeleteFile(file, nsid, a)\n\treturn\n}\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\n\terr = ExtattrDeleteFd(fd, nsid, a)\n\treturn\n}\n\nfunc Lremovexattr(link string, attr string) (err error) {\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\n\terr = ExtattrDeleteLink(link, nsid, a)\n\treturn\n}\n\nfunc Listxattr(file string, dest []byte) (sz int, err error) {\n\td := initxattrdest(dest, 0)\n\tdestsiz := len(dest)\n\n\t// FreeBSD won't allow you to list xattrs from multiple namespaces\n\ts := 0\n\tfor _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {\n\t\tstmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz)\n\n\t\t/* Errors accessing system attrs are ignored so that\n\t\t * we can implement the Linux-like behavior of omitting errors that\n\t\t * we don't have read permissions on\n\t\t *\n\t\t * Linux will still error if we ask for user attributes on a file that\n\t\t * we don't have read permissions on, so don't ignore those errors\n\t\t */\n\t\tif e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {\n\t\t\tcontinue\n\t\t} else if e != nil {\n\t\t\treturn s, e\n\t\t}\n\n\t\ts += stmp\n\t\tdestsiz -= s\n\t\tif destsiz < 0 {\n\t\t\tdestsiz = 0\n\t\t}\n\t\td = initxattrdest(dest, s)\n\t}\n\n\treturn s, nil\n}\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\td := initxattrdest(dest, 0)\n\tdestsiz := len(dest)\n\n\ts := 0\n\tfor _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {\n\t\tstmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz)\n\t\tif e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {\n\t\t\tcontinue\n\t\t} else if e != nil {\n\t\t\treturn s, e\n\t\t}\n\n\t\ts += stmp\n\t\tdestsiz -= s\n\t\tif destsiz < 0 {\n\t\t\tdestsiz = 0\n\t\t}\n\t\td = initxattrdest(dest, s)\n\t}\n\n\treturn s, nil\n}\n\nfunc Llistxattr(link string, dest []byte) (sz int, err error) {\n\td := initxattrdest(dest, 0)\n\tdestsiz := len(dest)\n\n\ts := 0\n\tfor _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {\n\t\tstmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz)\n\t\tif e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {\n\t\t\tcontinue\n\t\t} else if e != nil {\n\t\t\treturn s, e\n\t\t}\n\n\t\ts += stmp\n\t\tdestsiz -= s\n\t\tif destsiz < 0 {\n\t\t\tdestsiz = 0\n\t\t}\n\t\td = initxattrdest(dest, s)\n\t}\n\n\treturn s, nil\n}\n\n//sys   ioctl(fd int, req uint, arg uintptr) (err error)\n\n// ioctl itself should not be exposed directly, but additional get/set\n// functions for specific types are permissible.\n\n// IoctlSetInt performs an ioctl operation which sets an integer value\n// on fd, using the specified request number.\nfunc IoctlSetInt(fd int, req uint, value int) error {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc IoctlSetWinsize(fd int, req uint, value *Winsize) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc IoctlSetTermios(fd int, req uint, value *Termios) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\n// IoctlGetInt performs an ioctl operation which gets an integer value\n// from fd, using the specified request number.\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc Uname(uname *Utsname) error {\n\tmib := []_C_int{CTL_KERN, KERN_OSTYPE}\n\tn := unsafe.Sizeof(uname.Sysname)\n\tif err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_HOSTNAME}\n\tn = unsafe.Sizeof(uname.Nodename)\n\tif err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_OSRELEASE}\n\tn = unsafe.Sizeof(uname.Release)\n\tif err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_VERSION}\n\tn = unsafe.Sizeof(uname.Version)\n\tif err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\t// The version might have newlines or tabs in it, convert them to\n\t// spaces.\n\tfor i, b := range uname.Version {\n\t\tif b == '\\n' || b == '\\t' {\n\t\t\tif i == len(uname.Version)-1 {\n\t\t\t\tuname.Version[i] = 0\n\t\t\t} else {\n\t\t\t\tuname.Version[i] = ' '\n\t\t\t}\n\t\t}\n\t}\n\n\tmib = []_C_int{CTL_HW, HW_MACHINE}\n\tn = unsafe.Sizeof(uname.Machine)\n\tif err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n/*\n * Exposed directly\n */\n//sys\tAccess(path string, mode uint32) (err error)\n//sys\tAdjtime(delta *Timeval, olddelta *Timeval) (err error)\n//sys\tCapEnter() (err error)\n//sys\tcapRightsGet(version int, fd int, rightsp *CapRights) (err error) = SYS___CAP_RIGHTS_GET\n//sys\tcapRightsLimit(fd int, rightsp *CapRights) (err error)\n//sys\tChdir(path string) (err error)\n//sys\tChflags(path string, flags int) (err error)\n//sys\tChmod(path string, mode uint32) (err error)\n//sys\tChown(path string, uid int, gid int) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tDup(fd int) (nfd int, err error)\n//sys\tDup2(from int, to int) (err error)\n//sys\tExit(code int)\n//sys\tExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error)\n//sys\tExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error)\n//sys\tExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error)\n//sys\tExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE\n//sys\tFaccessat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchflags(fd int, flags int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchmodat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFchownat(dirfd int, path string, uid int, gid int, flags int) (err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFpathconf(fd int, name int) (val int, err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatfs(fd int, stat *Statfs_t) (err error)\n//sys\tFsync(fd int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sys\tGetdents(fd int, buf []byte) (n int, err error)\n//sys\tGetdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)\n//sys\tGetdtablesize() (size int)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (uid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n//sysnb\tGetpgrp() (pgrp int)\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (prio int, err error)\n//sysnb\tGetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGetsid(pid int) (sid int, err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tIssetugid() (tainted bool)\n//sys\tKill(pid int, signum syscall.Signal) (err error)\n//sys\tKqueue() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLink(path string, link string) (err error)\n//sys\tLinkat(pathfd int, path string, linkfd int, link string, flags int) (err error)\n//sys\tListen(s int, backlog int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tMkdir(path string, mode uint32) (err error)\n//sys\tMkdirat(dirfd int, path string, mode uint32) (err error)\n//sys\tMkfifo(path string, mode uint32) (err error)\n//sys\tMknod(path string, mode uint32, dev int) (err error)\n//sys\tNanosleep(time *Timespec, leftover *Timespec) (err error)\n//sys\tOpen(path string, mode int, perm uint32) (fd int, err error)\n//sys\tOpenat(fdat int, path string, mode int, perm uint32) (fd int, err error)\n//sys\tPathconf(path string, name int) (val int, err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error)\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error)\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tReadlink(path string, buf []byte) (n int, err error)\n//sys\tReadlinkat(dirfd int, path string, buf []byte) (n int, err error)\n//sys\tRename(from string, to string) (err error)\n//sys\tRenameat(fromfd int, from string, tofd int, to string) (err error)\n//sys\tRevoke(path string) (err error)\n//sys\tRmdir(path string) (err error)\n//sys\tSeek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK\n//sys\tSelect(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)\n//sysnb\tSetegid(egid int) (err error)\n//sysnb\tSeteuid(euid int) (err error)\n//sysnb\tSetgid(gid int) (err error)\n//sys\tSetlogin(name string) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSettimeofday(tp *Timeval) (err error)\n//sysnb\tSetuid(uid int) (err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, stat *Statfs_t) (err error)\n//sys\tSymlink(path string, link string) (err error)\n//sys\tSymlinkat(oldpath string, newdirfd int, newpath string) (err error)\n//sys\tSync() (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUmask(newmask int) (oldmask int)\n//sys\tUndelete(path string) (err error)\n//sys\tUnlink(path string) (err error)\n//sys\tUnlinkat(dirfd int, path string, flags int) (err error)\n//sys\tUnmount(path string, flags int) (err error)\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys   mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)\n//sys   munmap(addr uintptr, length uintptr) (err error)\n//sys\treadlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ\n//sys\twritelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE\n//sys\taccept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error)\n//sys\tutimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)\n\n/*\n * Unimplemented\n */\n// Profil\n// Sigaction\n// Sigprocmask\n// Getlogin\n// Sigpending\n// Sigaltstack\n// Ioctl\n// Reboot\n// Execve\n// Vfork\n// Sbrk\n// Sstk\n// Ovadvise\n// Mincore\n// Setitimer\n// Swapon\n// Select\n// Sigsuspend\n// Readv\n// Writev\n// Nfssvc\n// Getfh\n// Quotactl\n// Mount\n// Csops\n// Waitid\n// Add_profil\n// Kdebug_trace\n// Sigreturn\n// Atsocket\n// Kqueue_from_portset_np\n// Kqueue_portset\n// Getattrlist\n// Setattrlist\n// Getdirentriesattr\n// Searchfs\n// Delete\n// Copyfile\n// Watchevent\n// Waitevent\n// Modwatch\n// Getxattr\n// Fgetxattr\n// Setxattr\n// Fsetxattr\n// Removexattr\n// Fremovexattr\n// Listxattr\n// Flistxattr\n// Fsctl\n// Initgroups\n// Posix_spawn\n// Nfsclnt\n// Fhopen\n// Minherit\n// Semsys\n// Msgsys\n// Shmsys\n// Semctl\n// Semget\n// Semop\n// Msgctl\n// Msgget\n// Msgsnd\n// Msgrcv\n// Shmat\n// Shmctl\n// Shmdt\n// Shmget\n// Shm_open\n// Shm_unlink\n// Sem_open\n// Sem_close\n// Sem_unlink\n// Sem_wait\n// Sem_trywait\n// Sem_post\n// Sem_getvalue\n// Sem_init\n// Sem_destroy\n// Open_extended\n// Umask_extended\n// Stat_extended\n// Lstat_extended\n// Fstat_extended\n// Chmod_extended\n// Fchmod_extended\n// Access_extended\n// Settid\n// Gettid\n// Setsgroups\n// Getsgroups\n// Setwgroups\n// Getwgroups\n// Mkfifo_extended\n// Mkdir_extended\n// Identitysvc\n// Shared_region_check_np\n// Shared_region_map_np\n// __pthread_mutex_destroy\n// __pthread_mutex_init\n// __pthread_mutex_lock\n// __pthread_mutex_trylock\n// __pthread_mutex_unlock\n// __pthread_cond_init\n// __pthread_cond_destroy\n// __pthread_cond_broadcast\n// __pthread_cond_signal\n// Setsid_with_pid\n// __pthread_cond_timedwait\n// Aio_fsync\n// Aio_return\n// Aio_suspend\n// Aio_cancel\n// Aio_error\n// Aio_read\n// Aio_write\n// Lio_listio\n// __pthread_cond_wait\n// Iopolicysys\n// __pthread_kill\n// __pthread_sigmask\n// __sigwait\n// __disable_threadsignal\n// __pthread_markcancel\n// __pthread_canceled\n// __semwait_signal\n// Proc_info\n// Stat64_extended\n// Lstat64_extended\n// Fstat64_extended\n// __pthread_chdir\n// __pthread_fchdir\n// Audit\n// Auditon\n// Getauid\n// Setauid\n// Getaudit\n// Setaudit\n// Getaudit_addr\n// Setaudit_addr\n// Auditctl\n// Bsdthread_create\n// Bsdthread_terminate\n// Stack_snapshot\n// Bsdthread_register\n// Workq_open\n// Workq_ops\n// __mac_execve\n// __mac_syscall\n// __mac_get_file\n// __mac_set_file\n// __mac_get_link\n// __mac_set_link\n// __mac_get_proc\n// __mac_set_proc\n// __mac_get_fd\n// __mac_set_fd\n// __mac_get_pid\n// __mac_get_lcid\n// __mac_get_lctx\n// __mac_set_lctx\n// Setlcid\n// Read_nocancel\n// Write_nocancel\n// Open_nocancel\n// Close_nocancel\n// Wait4_nocancel\n// Recvmsg_nocancel\n// Sendmsg_nocancel\n// Recvfrom_nocancel\n// Accept_nocancel\n// Fcntl_nocancel\n// Select_nocancel\n// Fsync_nocancel\n// Connect_nocancel\n// Sigsuspend_nocancel\n// Readv_nocancel\n// Writev_nocancel\n// Sendto_nocancel\n// Pread_nocancel\n// Pwrite_nocancel\n// Waitid_nocancel\n// Poll_nocancel\n// Msgsnd_nocancel\n// Msgrcv_nocancel\n// Sem_wait_nocancel\n// Aio_suspend_nocancel\n// __sigwait_nocancel\n// __semwait_signal_nocancel\n// __mac_mount\n// __mac_get_mount\n// __mac_getfsstat\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd_386.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build 386,freebsd\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: int32(sec), Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: int32(sec), Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar writtenOut uint64 = 0\n\t_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0)\n\n\twritten = int(writtenOut)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,freebsd\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint64(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar writtenOut uint64 = 0\n\t_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0)\n\n\twritten = int(writtenOut)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build arm,freebsd\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar writtenOut uint64 = 0\n\t_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0)\n\n\twritten = int(writtenOut)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Linux system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and\n// wrap it in our own nicer implementation.\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n// SyscallNoError may be used instead of Syscall for syscalls that don't fail.\nfunc SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)\n\n// RawSyscallNoError may be used instead of RawSyscall for syscalls that don't\n// fail.\nfunc RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)\n\n/*\n * Wrapped\n */\n\nfunc Access(path string, mode uint32) (err error) {\n\treturn Faccessat(AT_FDCWD, path, mode, 0)\n}\n\nfunc Chmod(path string, mode uint32) (err error) {\n\treturn Fchmodat(AT_FDCWD, path, mode, 0)\n}\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\treturn Fchownat(AT_FDCWD, path, uid, gid, 0)\n}\n\nfunc Creat(path string, mode uint32) (fd int, err error) {\n\treturn Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode)\n}\n\n//sys\tfchmodat(dirfd int, path string, mode uint32) (err error)\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\t// Linux fchmodat doesn't support the flags parameter. Mimick glibc's behavior\n\t// and check the flags. Otherwise the mode would be applied to the symlink\n\t// destination which is not what the user expects.\n\tif flags&^AT_SYMLINK_NOFOLLOW != 0 {\n\t\treturn EINVAL\n\t} else if flags&AT_SYMLINK_NOFOLLOW != 0 {\n\t\treturn EOPNOTSUPP\n\t}\n\treturn fchmodat(dirfd, path, mode)\n}\n\n//sys\tioctl(fd int, req uint, arg uintptr) (err error)\n\n// ioctl itself should not be exposed directly, but additional get/set\n// functions for specific types are permissible.\n\n// IoctlSetInt performs an ioctl operation which sets an integer value\n// on fd, using the specified request number.\nfunc IoctlSetInt(fd int, req uint, value int) error {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc IoctlSetWinsize(fd int, req uint, value *Winsize) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc IoctlSetTermios(fd int, req uint, value *Termios) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\n// IoctlGetInt performs an ioctl operation which gets an integer value\n// from fd, using the specified request number.\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\n//sys\tLinkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error)\n\nfunc Link(oldpath string, newpath string) (err error) {\n\treturn Linkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, 0)\n}\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\treturn Mkdirat(AT_FDCWD, path, mode)\n}\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\treturn Mknodat(AT_FDCWD, path, mode, dev)\n}\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\treturn openat(AT_FDCWD, path, mode|O_LARGEFILE, perm)\n}\n\n//sys\topenat(dirfd int, path string, flags int, mode uint32) (fd int, err error)\n\nfunc Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\treturn openat(dirfd, path, flags|O_LARGEFILE, mode)\n}\n\n//sys\tppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)\n\nfunc Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn ppoll(nil, 0, timeout, sigmask)\n\t}\n\treturn ppoll(&fds[0], len(fds), timeout, sigmask)\n}\n\n//sys\tReadlinkat(dirfd int, path string, buf []byte) (n int, err error)\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\treturn Readlinkat(AT_FDCWD, path, buf)\n}\n\nfunc Rename(oldpath string, newpath string) (err error) {\n\treturn Renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath)\n}\n\nfunc Rmdir(path string) error {\n\treturn Unlinkat(AT_FDCWD, path, AT_REMOVEDIR)\n}\n\n//sys\tSymlinkat(oldpath string, newdirfd int, newpath string) (err error)\n\nfunc Symlink(oldpath string, newpath string) (err error) {\n\treturn Symlinkat(oldpath, AT_FDCWD, newpath)\n}\n\nfunc Unlink(path string) error {\n\treturn Unlinkat(AT_FDCWD, path, 0)\n}\n\n//sys\tUnlinkat(dirfd int, path string, flags int) (err error)\n\n//sys\tutimes(path string, times *[2]Timeval) (err error)\n\nfunc Utimes(path string, tv []Timeval) error {\n\tif tv == nil {\n\t\terr := utimensat(AT_FDCWD, path, nil, 0)\n\t\tif err != ENOSYS {\n\t\t\treturn err\n\t\t}\n\t\treturn utimes(path, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar ts [2]Timespec\n\tts[0] = NsecToTimespec(TimevalToNsec(tv[0]))\n\tts[1] = NsecToTimespec(TimevalToNsec(tv[1]))\n\terr := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\treturn utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\n//sys\tutimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)\n\nfunc UtimesNano(path string, ts []Timespec) error {\n\tif ts == nil {\n\t\terr := utimensat(AT_FDCWD, path, nil, 0)\n\t\tif err != ENOSYS {\n\t\t\treturn err\n\t\t}\n\t\treturn utimes(path, nil)\n\t}\n\tif len(ts) != 2 {\n\t\treturn EINVAL\n\t}\n\terr := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\t// If the utimensat syscall isn't available (utimensat was added to Linux\n\t// in 2.6.22, Released, 8 July 2007) then fall back to utimes\n\tvar tv [2]Timeval\n\tfor i := 0; i < 2; i++ {\n\t\ttv[i] = NsecToTimeval(TimespecToNsec(ts[i]))\n\t}\n\treturn utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\nfunc UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {\n\tif ts == nil {\n\t\treturn utimensat(dirfd, path, nil, flags)\n\t}\n\tif len(ts) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)\n}\n\n//sys\tfutimesat(dirfd int, path *byte, times *[2]Timeval) (err error)\n\nfunc Futimesat(dirfd int, path string, tv []Timeval) error {\n\tpathp, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif tv == nil {\n\t\treturn futimesat(dirfd, pathp, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\nfunc Futimes(fd int, tv []Timeval) (err error) {\n\t// Believe it or not, this is the best we can do on Linux\n\t// (and is what glibc does).\n\treturn Utimes(\"/proc/self/fd/\"+itoa(fd), tv)\n}\n\nconst ImplementsGetwd = true\n\n//sys\tGetcwd(buf []byte) (n int, err error)\n\nfunc Getwd() (wd string, err error) {\n\tvar buf [PathMax]byte\n\tn, err := Getcwd(buf[0:])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\t// Getcwd returns the number of bytes written to buf, including the NUL.\n\tif n < 1 || n > len(buf) || buf[n-1] != 0 {\n\t\treturn \"\", EINVAL\n\t}\n\treturn string(buf[0 : n-1]), nil\n}\n\nfunc Getgroups() (gids []int, err error) {\n\tn, err := getgroups(0, nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif n == 0 {\n\t\treturn nil, nil\n\t}\n\n\t// Sanity check group count. Max is 1<<16 on Linux.\n\tif n < 0 || n > 1<<20 {\n\t\treturn nil, EINVAL\n\t}\n\n\ta := make([]_Gid_t, n)\n\tn, err = getgroups(n, &a[0])\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tgids = make([]int, n)\n\tfor i, v := range a[0:n] {\n\t\tgids[i] = int(v)\n\t}\n\treturn\n}\n\nfunc Setgroups(gids []int) (err error) {\n\tif len(gids) == 0 {\n\t\treturn setgroups(0, nil)\n\t}\n\n\ta := make([]_Gid_t, len(gids))\n\tfor i, v := range gids {\n\t\ta[i] = _Gid_t(v)\n\t}\n\treturn setgroups(len(a), &a[0])\n}\n\ntype WaitStatus uint32\n\n// Wait status is 7 bits at bottom, either 0 (exited),\n// 0x7F (stopped), or a signal number that caused an exit.\n// The 0x80 bit is whether there was a core dump.\n// An extra number (exit code, signal causing a stop)\n// is in the high bits. At least that's the idea.\n// There are various irregularities. For example, the\n// \"continued\" status is 0xFFFF, distinguishing itself\n// from stopped via the core dump bit.\n\nconst (\n\tmask    = 0x7F\n\tcore    = 0x80\n\texited  = 0x00\n\tstopped = 0x7F\n\tshift   = 8\n)\n\nfunc (w WaitStatus) Exited() bool { return w&mask == exited }\n\nfunc (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited }\n\nfunc (w WaitStatus) Stopped() bool { return w&0xFF == stopped }\n\nfunc (w WaitStatus) Continued() bool { return w == 0xFFFF }\n\nfunc (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }\n\nfunc (w WaitStatus) ExitStatus() int {\n\tif !w.Exited() {\n\t\treturn -1\n\t}\n\treturn int(w>>shift) & 0xFF\n}\n\nfunc (w WaitStatus) Signal() syscall.Signal {\n\tif !w.Signaled() {\n\t\treturn -1\n\t}\n\treturn syscall.Signal(w & mask)\n}\n\nfunc (w WaitStatus) StopSignal() syscall.Signal {\n\tif !w.Stopped() {\n\t\treturn -1\n\t}\n\treturn syscall.Signal(w>>shift) & 0xFF\n}\n\nfunc (w WaitStatus) TrapCause() int {\n\tif w.StopSignal() != SIGTRAP {\n\t\treturn -1\n\t}\n\treturn int(w>>shift) >> 8\n}\n\n//sys\twait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error)\n\nfunc Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {\n\tvar status _C_int\n\twpid, err = wait4(pid, &status, options, rusage)\n\tif wstatus != nil {\n\t\t*wstatus = WaitStatus(status)\n\t}\n\treturn\n}\n\nfunc Mkfifo(path string, mode uint32) error {\n\treturn Mknod(path, mode|S_IFIFO, 0)\n}\n\nfunc Mkfifoat(dirfd int, path string, mode uint32) error {\n\treturn Mknodat(dirfd, path, mode|S_IFIFO, 0)\n}\n\nfunc (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Port < 0 || sa.Port > 0xFFFF {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_INET\n\tp := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))\n\tp[0] = byte(sa.Port >> 8)\n\tp[1] = byte(sa.Port)\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil\n}\n\nfunc (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Port < 0 || sa.Port > 0xFFFF {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_INET6\n\tp := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))\n\tp[0] = byte(sa.Port >> 8)\n\tp[1] = byte(sa.Port)\n\tsa.raw.Scope_id = sa.ZoneId\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil\n}\n\nfunc (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tname := sa.Name\n\tn := len(name)\n\tif n >= len(sa.raw.Path) {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_UNIX\n\tfor i := 0; i < n; i++ {\n\t\tsa.raw.Path[i] = int8(name[i])\n\t}\n\t// length is family (uint16), name, NUL.\n\tsl := _Socklen(2)\n\tif n > 0 {\n\t\tsl += _Socklen(n) + 1\n\t}\n\tif sa.raw.Path[0] == '@' {\n\t\tsa.raw.Path[0] = 0\n\t\t// Don't count trailing NUL for abstract address.\n\t\tsl--\n\t}\n\n\treturn unsafe.Pointer(&sa.raw), sl, nil\n}\n\ntype SockaddrLinklayer struct {\n\tProtocol uint16\n\tIfindex  int\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]byte\n\traw      RawSockaddrLinklayer\n}\n\nfunc (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_PACKET\n\tsa.raw.Protocol = sa.Protocol\n\tsa.raw.Ifindex = int32(sa.Ifindex)\n\tsa.raw.Hatype = sa.Hatype\n\tsa.raw.Pkttype = sa.Pkttype\n\tsa.raw.Halen = sa.Halen\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil\n}\n\ntype SockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n\traw    RawSockaddrNetlink\n}\n\nfunc (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tsa.raw.Family = AF_NETLINK\n\tsa.raw.Pad = sa.Pad\n\tsa.raw.Pid = sa.Pid\n\tsa.raw.Groups = sa.Groups\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil\n}\n\ntype SockaddrHCI struct {\n\tDev     uint16\n\tChannel uint16\n\traw     RawSockaddrHCI\n}\n\nfunc (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tsa.raw.Family = AF_BLUETOOTH\n\tsa.raw.Dev = sa.Dev\n\tsa.raw.Channel = sa.Channel\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil\n}\n\n// SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets.\n// The RxID and TxID fields are used for transport protocol addressing in\n// (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with\n// zero values for CAN_RAW and CAN_BCM sockets as they have no meaning.\n//\n// The SockaddrCAN struct must be bound to the socket file descriptor\n// using Bind before the CAN socket can be used.\n//\n//      // Read one raw CAN frame\n//      fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW)\n//      addr := &SockaddrCAN{Ifindex: index}\n//      Bind(fd, addr)\n//      frame := make([]byte, 16)\n//      Read(fd, frame)\n//\n// The full SocketCAN documentation can be found in the linux kernel\n// archives at: https://www.kernel.org/doc/Documentation/networking/can.txt\ntype SockaddrCAN struct {\n\tIfindex int\n\tRxID    uint32\n\tTxID    uint32\n\traw     RawSockaddrCAN\n}\n\nfunc (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_CAN\n\tsa.raw.Ifindex = int32(sa.Ifindex)\n\trx := (*[4]byte)(unsafe.Pointer(&sa.RxID))\n\tfor i := 0; i < 4; i++ {\n\t\tsa.raw.Addr[i] = rx[i]\n\t}\n\ttx := (*[4]byte)(unsafe.Pointer(&sa.TxID))\n\tfor i := 0; i < 4; i++ {\n\t\tsa.raw.Addr[i+4] = tx[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil\n}\n\n// SockaddrALG implements the Sockaddr interface for AF_ALG type sockets.\n// SockaddrALG enables userspace access to the Linux kernel's cryptography\n// subsystem. The Type and Name fields specify which type of hash or cipher\n// should be used with a given socket.\n//\n// To create a file descriptor that provides access to a hash or cipher, both\n// Bind and Accept must be used. Once the setup process is complete, input\n// data can be written to the socket, processed by the kernel, and then read\n// back as hash output or ciphertext.\n//\n// Here is an example of using an AF_ALG socket with SHA1 hashing.\n// The initial socket setup process is as follows:\n//\n//      // Open a socket to perform SHA1 hashing.\n//      fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0)\n//      addr := &unix.SockaddrALG{Type: \"hash\", Name: \"sha1\"}\n//      unix.Bind(fd, addr)\n//      // Note: unix.Accept does not work at this time; must invoke accept()\n//      // manually using unix.Syscall.\n//      hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0)\n//\n// Once a file descriptor has been returned from Accept, it may be used to\n// perform SHA1 hashing. The descriptor is not safe for concurrent use, but\n// may be re-used repeatedly with subsequent Write and Read operations.\n//\n// When hashing a small byte slice or string, a single Write and Read may\n// be used:\n//\n//      // Assume hashfd is already configured using the setup process.\n//      hash := os.NewFile(hashfd, \"sha1\")\n//      // Hash an input string and read the results. Each Write discards\n//      // previous hash state. Read always reads the current state.\n//      b := make([]byte, 20)\n//      for i := 0; i < 2; i++ {\n//          io.WriteString(hash, \"Hello, world.\")\n//          hash.Read(b)\n//          fmt.Println(hex.EncodeToString(b))\n//      }\n//      // Output:\n//      // 2ae01472317d1935a84797ec1983ae243fc6aa28\n//      // 2ae01472317d1935a84797ec1983ae243fc6aa28\n//\n// For hashing larger byte slices, or byte streams such as those read from\n// a file or socket, use Sendto with MSG_MORE to instruct the kernel to update\n// the hash digest instead of creating a new one for a given chunk and finalizing it.\n//\n//      // Assume hashfd and addr are already configured using the setup process.\n//      hash := os.NewFile(hashfd, \"sha1\")\n//      // Hash the contents of a file.\n//      f, _ := os.Open(\"/tmp/linux-4.10-rc7.tar.xz\")\n//      b := make([]byte, 4096)\n//      for {\n//          n, err := f.Read(b)\n//          if err == io.EOF {\n//              break\n//          }\n//          unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr)\n//      }\n//      hash.Read(b)\n//      fmt.Println(hex.EncodeToString(b))\n//      // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5\n//\n// For more information, see: http://www.chronox.de/crypto-API/crypto/userspace-if.html.\ntype SockaddrALG struct {\n\tType    string\n\tName    string\n\tFeature uint32\n\tMask    uint32\n\traw     RawSockaddrALG\n}\n\nfunc (sa *SockaddrALG) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\t// Leave room for NUL byte terminator.\n\tif len(sa.Type) > 13 {\n\t\treturn nil, 0, EINVAL\n\t}\n\tif len(sa.Name) > 63 {\n\t\treturn nil, 0, EINVAL\n\t}\n\n\tsa.raw.Family = AF_ALG\n\tsa.raw.Feat = sa.Feature\n\tsa.raw.Mask = sa.Mask\n\n\ttyp, err := ByteSliceFromString(sa.Type)\n\tif err != nil {\n\t\treturn nil, 0, err\n\t}\n\tname, err := ByteSliceFromString(sa.Name)\n\tif err != nil {\n\t\treturn nil, 0, err\n\t}\n\n\tcopy(sa.raw.Type[:], typ)\n\tcopy(sa.raw.Name[:], name)\n\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrALG, nil\n}\n\n// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets.\n// SockaddrVM provides access to Linux VM sockets: a mechanism that enables\n// bidirectional communication between a hypervisor and its guest virtual\n// machines.\ntype SockaddrVM struct {\n\t// CID and Port specify a context ID and port address for a VM socket.\n\t// Guests have a unique CID, and hosts may have a well-known CID of:\n\t//  - VMADDR_CID_HYPERVISOR: refers to the hypervisor process.\n\t//  - VMADDR_CID_HOST: refers to other processes on the host.\n\tCID  uint32\n\tPort uint32\n\traw  RawSockaddrVM\n}\n\nfunc (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tsa.raw.Family = AF_VSOCK\n\tsa.raw.Port = sa.Port\n\tsa.raw.Cid = sa.CID\n\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil\n}\n\nfunc anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {\n\tswitch rsa.Addr.Family {\n\tcase AF_NETLINK:\n\t\tpp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrNetlink)\n\t\tsa.Family = pp.Family\n\t\tsa.Pad = pp.Pad\n\t\tsa.Pid = pp.Pid\n\t\tsa.Groups = pp.Groups\n\t\treturn sa, nil\n\n\tcase AF_PACKET:\n\t\tpp := (*RawSockaddrLinklayer)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrLinklayer)\n\t\tsa.Protocol = pp.Protocol\n\t\tsa.Ifindex = int(pp.Ifindex)\n\t\tsa.Hatype = pp.Hatype\n\t\tsa.Pkttype = pp.Pkttype\n\t\tsa.Halen = pp.Halen\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\n\tcase AF_UNIX:\n\t\tpp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrUnix)\n\t\tif pp.Path[0] == 0 {\n\t\t\t// \"Abstract\" Unix domain socket.\n\t\t\t// Rewrite leading NUL as @ for textual display.\n\t\t\t// (This is the standard convention.)\n\t\t\t// Not friendly to overwrite in place,\n\t\t\t// but the callers below don't care.\n\t\t\tpp.Path[0] = '@'\n\t\t}\n\n\t\t// Assume path ends at NUL.\n\t\t// This is not technically the Linux semantics for\n\t\t// abstract Unix domain sockets--they are supposed\n\t\t// to be uninterpreted fixed-size binary blobs--but\n\t\t// everyone uses this convention.\n\t\tn := 0\n\t\tfor n < len(pp.Path) && pp.Path[n] != 0 {\n\t\t\tn++\n\t\t}\n\t\tbytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]\n\t\tsa.Name = string(bytes)\n\t\treturn sa, nil\n\n\tcase AF_INET:\n\t\tpp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrInet4)\n\t\tp := (*[2]byte)(unsafe.Pointer(&pp.Port))\n\t\tsa.Port = int(p[0])<<8 + int(p[1])\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\n\tcase AF_INET6:\n\t\tpp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrInet6)\n\t\tp := (*[2]byte)(unsafe.Pointer(&pp.Port))\n\t\tsa.Port = int(p[0])<<8 + int(p[1])\n\t\tsa.ZoneId = pp.Scope_id\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\n\tcase AF_VSOCK:\n\t\tpp := (*RawSockaddrVM)(unsafe.Pointer(rsa))\n\t\tsa := &SockaddrVM{\n\t\t\tCID:  pp.Cid,\n\t\t\tPort: pp.Port,\n\t\t}\n\t\treturn sa, nil\n\t}\n\treturn nil, EAFNOSUPPORT\n}\n\nfunc Accept(fd int) (nfd int, sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tnfd, err = accept(fd, &rsa, &len)\n\tif err != nil {\n\t\treturn\n\t}\n\tsa, err = anyToSockaddr(&rsa)\n\tif err != nil {\n\t\tClose(nfd)\n\t\tnfd = 0\n\t}\n\treturn\n}\n\nfunc Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tnfd, err = accept4(fd, &rsa, &len, flags)\n\tif err != nil {\n\t\treturn\n\t}\n\tif len > SizeofSockaddrAny {\n\t\tpanic(\"RawSockaddrAny too small\")\n\t}\n\tsa, err = anyToSockaddr(&rsa)\n\tif err != nil {\n\t\tClose(nfd)\n\t\tnfd = 0\n\t}\n\treturn\n}\n\nfunc Getsockname(fd int) (sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tif err = getsockname(fd, &rsa, &len); err != nil {\n\t\treturn\n\t}\n\treturn anyToSockaddr(&rsa)\n}\n\nfunc GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) {\n\tvallen := _Socklen(4)\n\terr = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)\n\treturn value, err\n}\n\nfunc GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) {\n\tvar value IPMreq\n\tvallen := _Socklen(SizeofIPMreq)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {\n\tvar value IPMreqn\n\tvallen := _Socklen(SizeofIPMreqn)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {\n\tvar value IPv6Mreq\n\tvallen := _Socklen(SizeofIPv6Mreq)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {\n\tvar value IPv6MTUInfo\n\tvallen := _Socklen(SizeofIPv6MTUInfo)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {\n\tvar value ICMPv6Filter\n\tvallen := _Socklen(SizeofICMPv6Filter)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptUcred(fd, level, opt int) (*Ucred, error) {\n\tvar value Ucred\n\tvallen := _Socklen(SizeofUcred)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) {\n\tvar value TCPInfo\n\tvallen := _Socklen(SizeofTCPInfo)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\n// GetsockoptString returns the string value of the socket option opt for the\n// socket associated with fd at the given socket level.\nfunc GetsockoptString(fd, level, opt int) (string, error) {\n\tbuf := make([]byte, 256)\n\tvallen := _Socklen(len(buf))\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)\n\tif err != nil {\n\t\tif err == ERANGE {\n\t\t\tbuf = make([]byte, vallen)\n\t\t\terr = getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)\n\t\t}\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t}\n\treturn string(buf[:vallen-1]), nil\n}\n\nfunc SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))\n}\n\n// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html)\n\n// KeyctlInt calls keyctl commands in which each argument is an int.\n// These commands are KEYCTL_REVOKE, KEYCTL_CHOWN, KEYCTL_CLEAR, KEYCTL_LINK,\n// KEYCTL_UNLINK, KEYCTL_NEGATE, KEYCTL_SET_REQKEY_KEYRING, KEYCTL_SET_TIMEOUT,\n// KEYCTL_ASSUME_AUTHORITY, KEYCTL_SESSION_TO_PARENT, KEYCTL_REJECT,\n// KEYCTL_INVALIDATE, and KEYCTL_GET_PERSISTENT.\n//sys\tKeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) = SYS_KEYCTL\n\n// KeyctlBuffer calls keyctl commands in which the third and fourth\n// arguments are a buffer and its length, respectively.\n// These commands are KEYCTL_UPDATE, KEYCTL_READ, and KEYCTL_INSTANTIATE.\n//sys\tKeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) = SYS_KEYCTL\n\n// KeyctlString calls keyctl commands which return a string.\n// These commands are KEYCTL_DESCRIBE and KEYCTL_GET_SECURITY.\nfunc KeyctlString(cmd int, id int) (string, error) {\n\t// We must loop as the string data may change in between the syscalls.\n\t// We could allocate a large buffer here to reduce the chance that the\n\t// syscall needs to be called twice; however, this is unnecessary as\n\t// the performance loss is negligible.\n\tvar buffer []byte\n\tfor {\n\t\t// Try to fill the buffer with data\n\t\tlength, err := KeyctlBuffer(cmd, id, buffer, 0)\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\n\t\t// Check if the data was written\n\t\tif length <= len(buffer) {\n\t\t\t// Exclude the null terminator\n\t\t\treturn string(buffer[:length-1]), nil\n\t\t}\n\n\t\t// Make a bigger buffer if needed\n\t\tbuffer = make([]byte, length)\n\t}\n}\n\n// Keyctl commands with special signatures.\n\n// KeyctlGetKeyringID implements the KEYCTL_GET_KEYRING_ID command.\n// See the full documentation at:\n// http://man7.org/linux/man-pages/man3/keyctl_get_keyring_ID.3.html\nfunc KeyctlGetKeyringID(id int, create bool) (ringid int, err error) {\n\tcreateInt := 0\n\tif create {\n\t\tcreateInt = 1\n\t}\n\treturn KeyctlInt(KEYCTL_GET_KEYRING_ID, id, createInt, 0, 0)\n}\n\n// KeyctlSetperm implements the KEYCTL_SETPERM command. The perm value is the\n// key handle permission mask as described in the \"keyctl setperm\" section of\n// http://man7.org/linux/man-pages/man1/keyctl.1.html.\n// See the full documentation at:\n// http://man7.org/linux/man-pages/man3/keyctl_setperm.3.html\nfunc KeyctlSetperm(id int, perm uint32) error {\n\t_, err := KeyctlInt(KEYCTL_SETPERM, id, int(perm), 0, 0)\n\treturn err\n}\n\n//sys\tkeyctlJoin(cmd int, arg2 string) (ret int, err error) = SYS_KEYCTL\n\n// KeyctlJoinSessionKeyring implements the KEYCTL_JOIN_SESSION_KEYRING command.\n// See the full documentation at:\n// http://man7.org/linux/man-pages/man3/keyctl_join_session_keyring.3.html\nfunc KeyctlJoinSessionKeyring(name string) (ringid int, err error) {\n\treturn keyctlJoin(KEYCTL_JOIN_SESSION_KEYRING, name)\n}\n\n//sys\tkeyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) = SYS_KEYCTL\n\n// KeyctlSearch implements the KEYCTL_SEARCH command.\n// See the full documentation at:\n// http://man7.org/linux/man-pages/man3/keyctl_search.3.html\nfunc KeyctlSearch(ringid int, keyType, description string, destRingid int) (id int, err error) {\n\treturn keyctlSearch(KEYCTL_SEARCH, ringid, keyType, description, destRingid)\n}\n\n//sys\tkeyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) = SYS_KEYCTL\n\n// KeyctlInstantiateIOV implements the KEYCTL_INSTANTIATE_IOV command. This\n// command is similar to KEYCTL_INSTANTIATE, except that the payload is a slice\n// of Iovec (each of which represents a buffer) instead of a single buffer.\n// See the full documentation at:\n// http://man7.org/linux/man-pages/man3/keyctl_instantiate_iov.3.html\nfunc KeyctlInstantiateIOV(id int, payload []Iovec, ringid int) error {\n\treturn keyctlIOV(KEYCTL_INSTANTIATE_IOV, id, payload, ringid)\n}\n\n//sys\tkeyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) = SYS_KEYCTL\n\n// KeyctlDHCompute implements the KEYCTL_DH_COMPUTE command. This command\n// computes a Diffie-Hellman shared secret based on the provide params. The\n// secret is written to the provided buffer and the returned size is the number\n// of bytes written (returning an error if there is insufficient space in the\n// buffer). If a nil buffer is passed in, this function returns the minimum\n// buffer length needed to store the appropriate data. Note that this differs\n// from KEYCTL_READ's behavior which always returns the requested payload size.\n// See the full documentation at:\n// http://man7.org/linux/man-pages/man3/keyctl_dh_compute.3.html\nfunc KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error) {\n\treturn keyctlDH(KEYCTL_DH_COMPUTE, params, buffer)\n}\n\nfunc Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {\n\tvar msg Msghdr\n\tvar rsa RawSockaddrAny\n\tmsg.Name = (*byte)(unsafe.Pointer(&rsa))\n\tmsg.Namelen = uint32(SizeofSockaddrAny)\n\tvar iov Iovec\n\tif len(p) > 0 {\n\t\tiov.Base = &p[0]\n\t\tiov.SetLen(len(p))\n\t}\n\tvar dummy byte\n\tif len(oob) > 0 {\n\t\tvar sockType int\n\t\tsockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\t\t// receive at least one normal byte\n\t\tif sockType != SOCK_DGRAM && len(p) == 0 {\n\t\t\tiov.Base = &dummy\n\t\t\tiov.SetLen(1)\n\t\t}\n\t\tmsg.Control = &oob[0]\n\t\tmsg.SetControllen(len(oob))\n\t}\n\tmsg.Iov = &iov\n\tmsg.Iovlen = 1\n\tif n, err = recvmsg(fd, &msg, flags); err != nil {\n\t\treturn\n\t}\n\toobn = int(msg.Controllen)\n\trecvflags = int(msg.Flags)\n\t// source address is only specified if the socket is unconnected\n\tif rsa.Addr.Family != AF_UNSPEC {\n\t\tfrom, err = anyToSockaddr(&rsa)\n\t}\n\treturn\n}\n\nfunc Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {\n\t_, err = SendmsgN(fd, p, oob, to, flags)\n\treturn\n}\n\nfunc SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {\n\tvar ptr unsafe.Pointer\n\tvar salen _Socklen\n\tif to != nil {\n\t\tvar err error\n\t\tptr, salen, err = to.sockaddr()\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t}\n\tvar msg Msghdr\n\tmsg.Name = (*byte)(ptr)\n\tmsg.Namelen = uint32(salen)\n\tvar iov Iovec\n\tif len(p) > 0 {\n\t\tiov.Base = &p[0]\n\t\tiov.SetLen(len(p))\n\t}\n\tvar dummy byte\n\tif len(oob) > 0 {\n\t\tvar sockType int\n\t\tsockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\t// send at least one normal byte\n\t\tif sockType != SOCK_DGRAM && len(p) == 0 {\n\t\t\tiov.Base = &dummy\n\t\t\tiov.SetLen(1)\n\t\t}\n\t\tmsg.Control = &oob[0]\n\t\tmsg.SetControllen(len(oob))\n\t}\n\tmsg.Iov = &iov\n\tmsg.Iovlen = 1\n\tif n, err = sendmsg(fd, &msg, flags); err != nil {\n\t\treturn 0, err\n\t}\n\tif len(oob) > 0 && len(p) == 0 {\n\t\tn = 0\n\t}\n\treturn n, nil\n}\n\n// BindToDevice binds the socket associated with fd to device.\nfunc BindToDevice(fd int, device string) (err error) {\n\treturn SetsockoptString(fd, SOL_SOCKET, SO_BINDTODEVICE, device)\n}\n\n//sys\tptrace(request int, pid int, addr uintptr, data uintptr) (err error)\n\nfunc ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) {\n\t// The peek requests are machine-size oriented, so we wrap it\n\t// to retrieve arbitrary-length data.\n\n\t// The ptrace syscall differs from glibc's ptrace.\n\t// Peeks returns the word in *data, not as the return value.\n\n\tvar buf [sizeofPtr]byte\n\n\t// Leading edge. PEEKTEXT/PEEKDATA don't require aligned\n\t// access (PEEKUSER warns that it might), but if we don't\n\t// align our reads, we might straddle an unmapped page\n\t// boundary and not get the bytes leading up to the page\n\t// boundary.\n\tn := 0\n\tif addr%sizeofPtr != 0 {\n\t\terr = ptrace(req, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0])))\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\tn += copy(out, buf[addr%sizeofPtr:])\n\t\tout = out[n:]\n\t}\n\n\t// Remainder.\n\tfor len(out) > 0 {\n\t\t// We use an internal buffer to guarantee alignment.\n\t\t// It's not documented if this is necessary, but we're paranoid.\n\t\terr = ptrace(req, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0])))\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tcopied := copy(out, buf[0:])\n\t\tn += copied\n\t\tout = out[copied:]\n\t}\n\n\treturn n, nil\n}\n\nfunc PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) {\n\treturn ptracePeek(PTRACE_PEEKTEXT, pid, addr, out)\n}\n\nfunc PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) {\n\treturn ptracePeek(PTRACE_PEEKDATA, pid, addr, out)\n}\n\nfunc PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) {\n\treturn ptracePeek(PTRACE_PEEKUSR, pid, addr, out)\n}\n\nfunc ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) {\n\t// As for ptracePeek, we need to align our accesses to deal\n\t// with the possibility of straddling an invalid page.\n\n\t// Leading edge.\n\tn := 0\n\tif addr%sizeofPtr != 0 {\n\t\tvar buf [sizeofPtr]byte\n\t\terr = ptrace(peekReq, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0])))\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\tn += copy(buf[addr%sizeofPtr:], data)\n\t\tword := *((*uintptr)(unsafe.Pointer(&buf[0])))\n\t\terr = ptrace(pokeReq, pid, addr-addr%sizeofPtr, word)\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\tdata = data[n:]\n\t}\n\n\t// Interior.\n\tfor len(data) > sizeofPtr {\n\t\tword := *((*uintptr)(unsafe.Pointer(&data[0])))\n\t\terr = ptrace(pokeReq, pid, addr+uintptr(n), word)\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tn += sizeofPtr\n\t\tdata = data[sizeofPtr:]\n\t}\n\n\t// Trailing edge.\n\tif len(data) > 0 {\n\t\tvar buf [sizeofPtr]byte\n\t\terr = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0])))\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tcopy(buf[0:], data)\n\t\tword := *((*uintptr)(unsafe.Pointer(&buf[0])))\n\t\terr = ptrace(pokeReq, pid, addr+uintptr(n), word)\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tn += len(data)\n\t}\n\n\treturn n, nil\n}\n\nfunc PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) {\n\treturn ptracePoke(PTRACE_POKETEXT, PTRACE_PEEKTEXT, pid, addr, data)\n}\n\nfunc PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) {\n\treturn ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data)\n}\n\nfunc PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err error) {\n\treturn ptracePoke(PTRACE_POKEUSR, PTRACE_PEEKUSR, pid, addr, data)\n}\n\nfunc PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\nfunc PtraceSetRegs(pid int, regs *PtraceRegs) (err error) {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n\nfunc PtraceSetOptions(pid int, options int) (err error) {\n\treturn ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options))\n}\n\nfunc PtraceGetEventMsg(pid int) (msg uint, err error) {\n\tvar data _C_long\n\terr = ptrace(PTRACE_GETEVENTMSG, pid, 0, uintptr(unsafe.Pointer(&data)))\n\tmsg = uint(data)\n\treturn\n}\n\nfunc PtraceCont(pid int, signal int) (err error) {\n\treturn ptrace(PTRACE_CONT, pid, 0, uintptr(signal))\n}\n\nfunc PtraceSyscall(pid int, signal int) (err error) {\n\treturn ptrace(PTRACE_SYSCALL, pid, 0, uintptr(signal))\n}\n\nfunc PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) }\n\nfunc PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) }\n\nfunc PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) }\n\n//sys\treboot(magic1 uint, magic2 uint, cmd int, arg string) (err error)\n\nfunc Reboot(cmd int) (err error) {\n\treturn reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, \"\")\n}\n\nfunc ReadDirent(fd int, buf []byte) (n int, err error) {\n\treturn Getdents(fd, buf)\n}\n\nfunc direntIno(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))\n}\n\nfunc direntReclen(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))\n}\n\nfunc direntNamlen(buf []byte) (uint64, bool) {\n\treclen, ok := direntReclen(buf)\n\tif !ok {\n\t\treturn 0, false\n\t}\n\treturn reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true\n}\n\n//sys\tmount(source string, target string, fstype string, flags uintptr, data *byte) (err error)\n\nfunc Mount(source string, target string, fstype string, flags uintptr, data string) (err error) {\n\t// Certain file systems get rather angry and EINVAL if you give\n\t// them an empty string of data, rather than NULL.\n\tif data == \"\" {\n\t\treturn mount(source, target, fstype, flags, nil)\n\t}\n\tdatap, err := BytePtrFromString(data)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn mount(source, target, fstype, flags, datap)\n}\n\n// Sendto\n// Recvfrom\n// Socketpair\n\n/*\n * Direct access\n */\n//sys\tAcct(path string) (err error)\n//sys\tAddKey(keyType string, description string, payload []byte, ringid int) (id int, err error)\n//sys\tAdjtimex(buf *Timex) (state int, err error)\n//sys\tChdir(path string) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClockGettime(clockid int32, time *Timespec) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tCopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)\n//sys\tDup(oldfd int) (fd int, err error)\n//sys\tDup3(oldfd int, newfd int, flags int) (err error)\n//sysnb\tEpollCreate(size int) (fd int, err error)\n//sysnb\tEpollCreate1(flag int) (fd int, err error)\n//sysnb\tEpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error)\n//sys\tEventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2\n//sys\tExit(code int) = SYS_EXIT_GROUP\n//sys\tFaccessat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFallocate(fd int, mode uint32, off int64, len int64) (err error)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchownat(dirfd int, path string, uid int, gid int, flags int) (err error)\n//sys\tfcntl(fd int, cmd int, arg int) (val int, err error)\n//sys\tFdatasync(fd int) (err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFsync(fd int) (err error)\n//sys\tGetdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n\nfunc Getpgrp() (pid int) {\n\tpid, _ = Getpgid(0)\n\treturn\n}\n\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (prio int, err error)\n//sys\tGetrandom(buf []byte, flags int) (n int, err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGetsid(pid int) (sid int, err error)\n//sysnb\tGettid() (tid int)\n//sys\tGetxattr(path string, attr string, dest []byte) (sz int, err error)\n//sys\tInotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error)\n//sysnb\tInotifyInit1(flags int) (fd int, err error)\n//sysnb\tInotifyRmWatch(fd int, watchdesc uint32) (success int, err error)\n//sysnb\tKill(pid int, sig syscall.Signal) (err error)\n//sys\tKlogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG\n//sys\tLgetxattr(path string, attr string, dest []byte) (sz int, err error)\n//sys\tListxattr(path string, dest []byte) (sz int, err error)\n//sys\tLlistxattr(path string, dest []byte) (sz int, err error)\n//sys\tLremovexattr(path string, attr string) (err error)\n//sys\tLsetxattr(path string, attr string, data []byte, flags int) (err error)\n//sys\tMkdirat(dirfd int, path string, mode uint32) (err error)\n//sys\tMknodat(dirfd int, path string, mode uint32, dev int) (err error)\n//sys\tNanosleep(time *Timespec, leftover *Timespec) (err error)\n//sys\tPivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT\n//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64\n//sys   Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)\n//sys\tPselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tRemovexattr(path string, attr string) (err error)\n//sys\tRenameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)\n//sys\tRequestKey(keyType string, description string, callback string, destRingid int) (id int, err error)\n//sys\tSetdomainname(p []byte) (err error)\n//sys\tSethostname(p []byte) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSettimeofday(tv *Timeval) (err error)\n//sys\tSetns(fd int, nstype int) (err error)\n\n// issue 1435.\n// On linux Setuid and Setgid only affects the current thread, not the process.\n// This does not match what most callers expect so we must return an error\n// here rather than letting the caller think that the call succeeded.\n\nfunc Setuid(uid int) (err error) {\n\treturn EOPNOTSUPP\n}\n\nfunc Setgid(uid int) (err error) {\n\treturn EOPNOTSUPP\n}\n\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sys\tSetxattr(path string, attr string, data []byte, flags int) (err error)\n//sys\tSync()\n//sys\tSyncfs(fd int) (err error)\n//sysnb\tSysinfo(info *Sysinfo_t) (err error)\n//sys\tTee(rfd int, wfd int, len int, flags int) (n int64, err error)\n//sysnb\tTgkill(tgid int, tid int, sig syscall.Signal) (err error)\n//sysnb\tTimes(tms *Tms) (ticks uintptr, err error)\n//sysnb\tUmask(mask int) (oldmask int)\n//sysnb\tUname(buf *Utsname) (err error)\n//sys\tUnmount(target string, flags int) (err error) = SYS_UMOUNT2\n//sys\tUnshare(flags int) (err error)\n//sys\tUstat(dev int, ubuf *Ustat_t) (err error)\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys\texitThread(code int) (err error) = SYS_EXIT\n//sys\treadlen(fd int, p *byte, np int) (n int, err error) = SYS_READ\n//sys\twritelen(fd int, p *byte, np int) (n int, err error) = SYS_WRITE\n\n// mmap varies by architecture; see syscall_linux_*.go.\n//sys\tmunmap(addr uintptr, length uintptr) (err error)\n\nvar mapper = &mmapper{\n\tactive: make(map[*byte][]byte),\n\tmmap:   mmap,\n\tmunmap: munmap,\n}\n\nfunc Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {\n\treturn mapper.Mmap(fd, offset, length, prot, flags)\n}\n\nfunc Munmap(b []byte) (err error) {\n\treturn mapper.Munmap(b)\n}\n\n//sys\tMadvise(b []byte, advice int) (err error)\n//sys\tMprotect(b []byte, prot int) (err error)\n//sys\tMlock(b []byte) (err error)\n//sys\tMlockall(flags int) (err error)\n//sys\tMsync(b []byte, flags int) (err error)\n//sys\tMunlock(b []byte) (err error)\n//sys\tMunlockall() (err error)\n\n// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd,\n// using the specified flags.\nfunc Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {\n\tn, _, errno := Syscall6(\n\t\tSYS_VMSPLICE,\n\t\tuintptr(fd),\n\t\tuintptr(unsafe.Pointer(&iovs[0])),\n\t\tuintptr(len(iovs)),\n\t\tuintptr(flags),\n\t\t0,\n\t\t0,\n\t)\n\tif errno != 0 {\n\t\treturn 0, syscall.Errno(errno)\n\t}\n\n\treturn int(n), nil\n}\n\n/*\n * Unimplemented\n */\n// AfsSyscall\n// Alarm\n// ArchPrctl\n// Brk\n// Capget\n// Capset\n// ClockGetres\n// ClockNanosleep\n// ClockSettime\n// Clone\n// CreateModule\n// DeleteModule\n// EpollCtlOld\n// EpollPwait\n// EpollWaitOld\n// Execve\n// Fgetxattr\n// Flistxattr\n// Fork\n// Fremovexattr\n// Fsetxattr\n// Futex\n// GetKernelSyms\n// GetMempolicy\n// GetRobustList\n// GetThreadArea\n// Getitimer\n// Getpmsg\n// IoCancel\n// IoDestroy\n// IoGetevents\n// IoSetup\n// IoSubmit\n// IoprioGet\n// IoprioSet\n// KexecLoad\n// LookupDcookie\n// Mbind\n// MigratePages\n// Mincore\n// ModifyLdt\n// Mount\n// MovePages\n// MqGetsetattr\n// MqNotify\n// MqOpen\n// MqTimedreceive\n// MqTimedsend\n// MqUnlink\n// Mremap\n// Msgctl\n// Msgget\n// Msgrcv\n// Msgsnd\n// Nfsservctl\n// Personality\n// Pselect6\n// Ptrace\n// Putpmsg\n// QueryModule\n// Quotactl\n// Readahead\n// Readv\n// RemapFilePages\n// RestartSyscall\n// RtSigaction\n// RtSigpending\n// RtSigprocmask\n// RtSigqueueinfo\n// RtSigreturn\n// RtSigsuspend\n// RtSigtimedwait\n// SchedGetPriorityMax\n// SchedGetPriorityMin\n// SchedGetparam\n// SchedGetscheduler\n// SchedRrGetInterval\n// SchedSetparam\n// SchedYield\n// Security\n// Semctl\n// Semget\n// Semop\n// Semtimedop\n// SetMempolicy\n// SetRobustList\n// SetThreadArea\n// SetTidAddress\n// Shmat\n// Shmctl\n// Shmdt\n// Shmget\n// Sigaltstack\n// Signalfd\n// Swapoff\n// Swapon\n// Sysfs\n// TimerCreate\n// TimerDelete\n// TimerGetoverrun\n// TimerGettime\n// TimerSettime\n// Timerfd\n// Tkill (obsolete)\n// Tuxcall\n// Umount2\n// Uselib\n// Utimensat\n// Vfork\n// Vhangup\n// Vserver\n// Waitid\n// _Sysctl\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_386.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP)\n// so that go vet can check that they are correct.\n\n// +build 386,linux\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: int32(sec), Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: int32(sec), Usec: int32(usec)}\n}\n\n//sysnb\tpipe(p *[2]_C_int) (err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe(&pp)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n// 64-bit file system and 32-bit uid calls\n// (386 default is 32-bit file system and 16-bit uid).\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64\n//sys\tFchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32\n//sys\tFstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64\n//sys\tFtruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64\n//sysnb\tGetegid() (egid int) = SYS_GETEGID32\n//sysnb\tGeteuid() (euid int) = SYS_GETEUID32\n//sysnb\tGetgid() (gid int) = SYS_GETGID32\n//sysnb\tGetuid() (uid int) = SYS_GETUID32\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tIoperm(from int, num int, on int) (err error)\n//sys\tIopl(level int) (err error)\n//sys\tLchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32\n//sys\tLstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64\n//sys\tSetfsgid(gid int) (err error) = SYS_SETFSGID32\n//sys\tSetfsuid(uid int) (err error) = SYS_SETFSUID32\n//sysnb\tSetregid(rgid int, egid int) (err error) = SYS_SETREGID32\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32\n//sysnb\tSetreuid(ruid int, euid int) (err error) = SYS_SETREUID32\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)\n//sys\tStat(path string, stat *Stat_t) (err error) = SYS_STAT64\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error) = SYS_TRUNCATE64\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT\n\n//sys\tmmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tPause() (err error)\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tpage := uintptr(offset / 4096)\n\tif offset != int64(page)*4096 {\n\t\treturn 0, EINVAL\n\t}\n\treturn mmap2(addr, length, prot, flags, fd, page)\n}\n\ntype rlimit32 struct {\n\tCur uint32\n\tMax uint32\n}\n\n//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT\n\nconst rlimInf32 = ^uint32(0)\nconst rlimInf64 = ^uint64(0)\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\terr = prlimit(0, resource, nil, rlim)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\n\trl := rlimit32{}\n\terr = getrlimit(resource, &rl)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tif rl.Cur == rlimInf32 {\n\t\trlim.Cur = rlimInf64\n\t} else {\n\t\trlim.Cur = uint64(rl.Cur)\n\t}\n\n\tif rl.Max == rlimInf32 {\n\t\trlim.Max = rlimInf64\n\t} else {\n\t\trlim.Max = uint64(rl.Max)\n\t}\n\treturn\n}\n\n//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\terr = prlimit(0, resource, rlim, nil)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\n\trl := rlimit32{}\n\tif rlim.Cur == rlimInf64 {\n\t\trl.Cur = rlimInf32\n\t} else if rlim.Cur < uint64(rlimInf32) {\n\t\trl.Cur = uint32(rlim.Cur)\n\t} else {\n\t\treturn EINVAL\n\t}\n\tif rlim.Max == rlimInf64 {\n\t\trl.Max = rlimInf32\n\t} else if rlim.Max < uint64(rlimInf32) {\n\t\trl.Max = uint32(rlim.Max)\n\t} else {\n\t\treturn EINVAL\n\t}\n\n\treturn setrlimit(resource, &rl)\n}\n\n// Underlying system call writes to newoffset via pointer.\n// Implemented in assembly to avoid allocation.\nfunc seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno)\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tnewoffset, errno := seek(fd, offset, whence)\n\tif errno != 0 {\n\t\treturn 0, errno\n\t}\n\treturn newoffset, nil\n}\n\n// Vsyscalls on amd64.\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tTime(t *Time_t) (tt Time_t, err error)\n\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n\n// On x86 Linux, all the socket calls go through an extra indirection,\n// I think because the 5-register system call interface can't handle\n// the 6-argument calls like sendto and recvfrom. Instead the\n// arguments to the underlying system call are the number below\n// and a pointer to an array of uintptr. We hide the pointer in the\n// socketcall assembly to avoid allocation on every system call.\n\nconst (\n\t// see linux/net.h\n\t_SOCKET      = 1\n\t_BIND        = 2\n\t_CONNECT     = 3\n\t_LISTEN      = 4\n\t_ACCEPT      = 5\n\t_GETSOCKNAME = 6\n\t_GETPEERNAME = 7\n\t_SOCKETPAIR  = 8\n\t_SEND        = 9\n\t_RECV        = 10\n\t_SENDTO      = 11\n\t_RECVFROM    = 12\n\t_SHUTDOWN    = 13\n\t_SETSOCKOPT  = 14\n\t_GETSOCKOPT  = 15\n\t_SENDMSG     = 16\n\t_RECVMSG     = 17\n\t_ACCEPT4     = 18\n\t_RECVMMSG    = 19\n\t_SENDMMSG    = 20\n)\n\nfunc socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno)\nfunc rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno)\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tfd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tfd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, e := rawsocketcall(_GETSOCKNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, e := rawsocketcall(_GETPEERNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) {\n\t_, e := rawsocketcall(_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, e := socketcall(_BIND, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, e := socketcall(_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tfd, e := rawsocketcall(_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, e := socketcall(_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, e := socketcall(_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar base uintptr\n\tif len(p) > 0 {\n\t\tbase = uintptr(unsafe.Pointer(&p[0]))\n\t}\n\tn, e := socketcall(_RECVFROM, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar base uintptr\n\tif len(p) > 0 {\n\t\tbase = uintptr(unsafe.Pointer(&p[0]))\n\t}\n\t_, e := socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tn, e := socketcall(_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tn, e := socketcall(_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc Listen(s int, n int) (err error) {\n\t_, e := socketcall(_LISTEN, uintptr(s), uintptr(n), 0, 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc Shutdown(s, how int) (err error) {\n\t_, e := socketcall(_SHUTDOWN, uintptr(s), uintptr(how), 0, 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tpathp, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\t_, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,linux\n\npackage unix\n\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT\n//sys\tFstatfs(fd int, buf *Statfs_t) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tGetuid() (uid int)\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tIoperm(from int, num int, on int) (err error)\n//sys\tIopl(level int) (err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tListen(s int, n int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tPause() (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSeek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error)\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, buf *Statfs_t) (err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\terrno := gettimeofday(tv)\n\tif errno != 0 {\n\t\treturn errno\n\t}\n\treturn nil\n}\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tvar tv Timeval\n\terrno := gettimeofday(&tv)\n\tif errno != 0 {\n\t\treturn 0, errno\n\t}\n\tif t != nil {\n\t\t*t = Time_t(tv.Sec)\n\t}\n\treturn Time_t(tv.Sec), nil\n}\n\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\n//sysnb\tpipe(p *[2]_C_int) (err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe(&pp)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Rip }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint64(length)\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,linux\n// +build !gccgo\n\npackage unix\n\nimport \"syscall\"\n\n//go:noescape\nfunc gettimeofday(tv *Timeval) (err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_arm.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build arm,linux\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: int32(sec), Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: int32(sec), Usec: int32(usec)}\n}\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, 0)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n// Underlying system call writes to newoffset via pointer.\n// Implemented in assembly to avoid allocation.\nfunc seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno)\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tnewoffset, errno := seek(fd, offset, whence)\n\tif errno != 0 {\n\t\treturn 0, errno\n\t}\n\treturn newoffset, nil\n}\n\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tsocketpair(domain int, typ int, flags int, fd *[2]int32) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n\n// 64-bit file system and 32-bit uid calls\n// (16-bit uid calls are not always supported in newer kernels)\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32\n//sys\tFstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64\n//sysnb\tGetegid() (egid int) = SYS_GETEGID32\n//sysnb\tGeteuid() (euid int) = SYS_GETEUID32\n//sysnb\tGetgid() (gid int) = SYS_GETGID32\n//sysnb\tGetuid() (uid int) = SYS_GETUID32\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32\n//sys\tListen(s int, n int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT\n//sys\tSetfsgid(gid int) (err error) = SYS_SETFSGID32\n//sys\tSetfsuid(uid int) (err error) = SYS_SETFSUID32\n//sysnb\tSetregid(rgid int, egid int) (err error) = SYS_SETREGID32\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32\n//sysnb\tSetreuid(ruid int, euid int) (err error) = SYS_SETREUID32\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)\n//sys\tStat(path string, stat *Stat_t) (err error) = SYS_STAT64\n\n// Vsyscalls on amd64.\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tPause() (err error)\n\nfunc Time(t *Time_t) (Time_t, error) {\n\tvar tv Timeval\n\terr := Gettimeofday(&tv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tif t != nil {\n\t\t*t = Time_t(tv.Sec)\n\t}\n\treturn Time_t(tv.Sec), nil\n}\n\nfunc Utime(path string, buf *Utimbuf) error {\n\ttv := []Timeval{\n\t\t{Sec: buf.Actime},\n\t\t{Sec: buf.Modtime},\n\t}\n\treturn Utimes(path, tv)\n}\n\n//sys   Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys   Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tTruncate(path string, length int64) (err error) = SYS_TRUNCATE64\n//sys\tFtruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_ARM_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n//sys\tmmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error)\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tpathp, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\t_, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tpage := uintptr(offset / 4096)\n\tif offset != int64(page)*4096 {\n\t\treturn 0, EINVAL\n\t}\n\treturn mmap2(addr, length, prot, flags, fd, page)\n}\n\ntype rlimit32 struct {\n\tCur uint32\n\tMax uint32\n}\n\n//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT\n\nconst rlimInf32 = ^uint32(0)\nconst rlimInf64 = ^uint64(0)\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\terr = prlimit(0, resource, nil, rlim)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\n\trl := rlimit32{}\n\terr = getrlimit(resource, &rl)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tif rl.Cur == rlimInf32 {\n\t\trlim.Cur = rlimInf64\n\t} else {\n\t\trlim.Cur = uint64(rl.Cur)\n\t}\n\n\tif rl.Max == rlimInf32 {\n\t\trlim.Max = rlimInf64\n\t} else {\n\t\trlim.Max = uint64(rl.Max)\n\t}\n\treturn\n}\n\n//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\terr = prlimit(0, resource, rlim, nil)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\n\trl := rlimit32{}\n\tif rlim.Cur == rlimInf64 {\n\t\trl.Cur = rlimInf32\n\t} else if rlim.Cur < uint64(rlimInf32) {\n\t\trl.Cur = uint32(rlim.Cur)\n\t} else {\n\t\treturn EINVAL\n\t}\n\tif rlim.Max == rlimInf64 {\n\t\trl.Max = rlimInf32\n\t} else if rlim.Max < uint64(rlimInf32) {\n\t\trl.Max = uint32(rlim.Max)\n\t} else {\n\t\treturn EINVAL\n\t}\n\n\treturn setrlimit(resource, &rl)\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_arm64.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build arm64,linux\n\npackage unix\n\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(fd int, path string, stat *Stat_t, flags int) (err error)\n//sys\tFstatfs(fd int, buf *Statfs_t) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tListen(s int, n int) (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSeek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tts := Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}\n\treturn Pselect(nfd, r, w, e, &ts, nil)\n}\n\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error)\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\treturn Fstatat(AT_FDCWD, path, stat, 0)\n}\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\treturn Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW)\n}\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\treturn Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW)\n}\n\n//sys\tStatfs(path string, buf *Statfs_t) (err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)\n\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc Time(t *Time_t) (Time_t, error) {\n\tvar tv Timeval\n\terr := Gettimeofday(&tv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tif t != nil {\n\t\t*t = Time_t(tv.Sec)\n\t}\n\treturn Time_t(tv.Sec), nil\n}\n\nfunc Utime(path string, buf *Utimbuf) error {\n\ttv := []Timeval{\n\t\t{Sec: buf.Actime},\n\t\t{Sec: buf.Modtime},\n\t}\n\treturn Utimes(path, tv)\n}\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, 0)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Pc }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint64(length)\n}\n\nfunc InotifyInit() (fd int, err error) {\n\treturn InotifyInit1(0)\n}\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\treturn Dup3(oldfd, newfd, 0)\n}\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall6(SYS_PPOLL, 0, 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// TODO(dfc): constants that should be in zsysnum_linux_arm64.go, remove\n// these when the deprecated syscalls that the syscall package relies on\n// are removed.\nconst (\n\tSYS_GETPGRP      = 1060\n\tSYS_UTIMES       = 1037\n\tSYS_FUTIMESAT    = 1066\n\tSYS_PAUSE        = 1061\n\tSYS_USTAT        = 1070\n\tSYS_UTIME        = 1063\n\tSYS_LCHOWN       = 1032\n\tSYS_TIME         = 1062\n\tSYS_EPOLL_CREATE = 1042\n\tSYS_EPOLL_WAIT   = 1069\n)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tvar ts *Timespec\n\tif timeout >= 0 {\n\t\tts = new(Timespec)\n\t\t*ts = NsecToTimespec(int64(timeout) * 1e6)\n\t}\n\tif len(fds) == 0 {\n\t\treturn ppoll(nil, 0, ts, nil)\n\t}\n\treturn ppoll(&fds[0], len(fds), ts, nil)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build mips64 mips64le\n\npackage unix\n\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT\n//sys\tFstatfs(fd int, buf *Statfs_t) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tListen(s int, n int) (err error)\n//sys\tPause() (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSeek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tts := Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}\n\treturn Pselect(nfd, r, w, e, &ts, nil)\n}\n\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error)\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n//sys\tStatfs(path string, buf *Statfs_t) (err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)\n\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tvar tv Timeval\n\terr = Gettimeofday(&tv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tif t != nil {\n\t\t*t = Time_t(tv.Sec)\n\t}\n\treturn Time_t(tv.Sec), nil\n}\n\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, 0)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\treturn ENOSYS\n}\n\nfunc Iopl(level int) (err error) {\n\treturn ENOSYS\n}\n\ntype stat_t struct {\n\tDev        uint32\n\tPad0       [3]int32\n\tIno        uint64\n\tMode       uint32\n\tNlink      uint32\n\tUid        uint32\n\tGid        uint32\n\tRdev       uint32\n\tPad1       [3]uint32\n\tSize       int64\n\tAtime      uint32\n\tAtime_nsec uint32\n\tMtime      uint32\n\tMtime_nsec uint32\n\tCtime      uint32\n\tCtime_nsec uint32\n\tBlksize    uint32\n\tPad2       uint32\n\tBlocks     int64\n}\n\n//sys\tfstat(fd int, st *stat_t) (err error)\n//sys\tlstat(path string, st *stat_t) (err error)\n//sys\tstat(path string, st *stat_t) (err error)\n\nfunc Fstat(fd int, s *Stat_t) (err error) {\n\tst := &stat_t{}\n\terr = fstat(fd, st)\n\tfillStat_t(s, st)\n\treturn\n}\n\nfunc Lstat(path string, s *Stat_t) (err error) {\n\tst := &stat_t{}\n\terr = lstat(path, st)\n\tfillStat_t(s, st)\n\treturn\n}\n\nfunc Stat(path string, s *Stat_t) (err error) {\n\tst := &stat_t{}\n\terr = stat(path, st)\n\tfillStat_t(s, st)\n\treturn\n}\n\nfunc fillStat_t(s *Stat_t, st *stat_t) {\n\ts.Dev = st.Dev\n\ts.Ino = st.Ino\n\ts.Mode = st.Mode\n\ts.Nlink = st.Nlink\n\ts.Uid = st.Uid\n\ts.Gid = st.Gid\n\ts.Rdev = st.Rdev\n\ts.Size = st.Size\n\ts.Atim = Timespec{int64(st.Atime), int64(st.Atime_nsec)}\n\ts.Mtim = Timespec{int64(st.Mtime), int64(st.Mtime_nsec)}\n\ts.Ctim = Timespec{int64(st.Ctime), int64(st.Ctime_nsec)}\n\ts.Blksize = st.Blksize\n\ts.Blocks = st.Blocks\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Epc }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint64(length)\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build mips mipsle\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetuid() (uid int)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tListen(s int, n int) (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error) = SYS_TRUNCATE64\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tIoperm(from int, num int, on int) (err error)\n//sys\tIopl(level int) (err error)\n\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tTime(t *Time_t) (tt Time_t, err error)\n\n//sys\tLstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64\n//sys\tFstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64\n//sys\tStat(path string, stat *Stat_t) (err error) = SYS_STAT64\n\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tPause() (err error)\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))\n\tif e != 0 {\n\t\terr = errnoErr(e)\n\t}\n\treturn\n}\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tp, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\t_, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(p)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))\n\tif e != 0 {\n\t\terr = errnoErr(e)\n\t}\n\treturn\n}\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\t_, _, e := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offset>>32), uintptr(offset), uintptr(unsafe.Pointer(&off)), uintptr(whence), 0)\n\tif e != 0 {\n\t\terr = errnoErr(e)\n\t}\n\treturn\n}\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: int32(sec), Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: int32(sec), Usec: int32(usec)}\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, 0)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sys\tmmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error)\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tpage := uintptr(offset / 4096)\n\tif offset != int64(page)*4096 {\n\t\treturn 0, EINVAL\n\t}\n\treturn mmap2(addr, length, prot, flags, fd, page)\n}\n\nconst rlimInf32 = ^uint32(0)\nconst rlimInf64 = ^uint64(0)\n\ntype rlimit32 struct {\n\tCur uint32\n\tMax uint32\n}\n\n//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\terr = prlimit(0, resource, nil, rlim)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\n\trl := rlimit32{}\n\terr = getrlimit(resource, &rl)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tif rl.Cur == rlimInf32 {\n\t\trlim.Cur = rlimInf64\n\t} else {\n\t\trlim.Cur = uint64(rl.Cur)\n\t}\n\n\tif rl.Max == rlimInf32 {\n\t\trlim.Max = rlimInf64\n\t} else {\n\t\trlim.Max = uint64(rl.Max)\n\t}\n\treturn\n}\n\n//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\terr = prlimit(0, resource, rlim, nil)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\n\trl := rlimit32{}\n\tif rlim.Cur == rlimInf64 {\n\t\trl.Cur = rlimInf32\n\t} else if rlim.Cur < uint64(rlimInf32) {\n\t\trl.Cur = uint32(rlim.Cur)\n\t} else {\n\t\treturn EINVAL\n\t}\n\tif rlim.Max == rlimInf64 {\n\t\trl.Max = rlimInf32\n\t} else if rlim.Max < uint64(rlimInf32) {\n\t\trl.Max = uint32(rlim.Max)\n\t} else {\n\t\treturn EINVAL\n\t}\n\n\treturn setrlimit(resource, &rl)\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Epc }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build ppc64 ppc64le\n\npackage unix\n\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT\n//sys\tFstatfs(fd int, buf *Statfs_t) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT\n//sysnb\tGetuid() (uid int)\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tIoperm(from int, num int, on int) (err error)\n//sys\tIopl(level int) (err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tListen(s int, n int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tPause() (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSeek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error)\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, buf *Statfs_t) (err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error) = SYS_SYNC_FILE_RANGE2\n//sys\tTruncate(path string, length int64) (err error)\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)\n\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tTime(t *Time_t) (tt Time_t, err error)\n\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Nip }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Nip = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint64(length)\n}\n\n//sysnb pipe(p *[2]_C_int) (err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe(&pp)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_s390x.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build s390x,linux\n\npackage unix\n\nimport (\n\t\"unsafe\"\n)\n\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT\n//sys\tFstatfs(fd int, buf *Statfs_t) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tGetuid() (uid int)\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tPause() (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSeek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error)\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, buf *Statfs_t) (err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tvar tv Timeval\n\terr = Gettimeofday(&tv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tif t != nil {\n\t\t*t = Time_t(tv.Sec)\n\t}\n\treturn Time_t(tv.Sec), nil\n}\n\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0.\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\treturn ENOSYS\n}\n\nfunc Iopl(level int) (err error) {\n\treturn ENOSYS\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Psw.Addr }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Psw.Addr = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint64(length)\n}\n\n// Linux on s390x uses the old mmap interface, which requires arguments to be passed in a struct.\n// mmap2 also requires arguments to be passed in a struct; it is currently not exposed in <asm/unistd.h>.\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tmmap_args := [6]uintptr{addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)}\n\tr0, _, e1 := Syscall(SYS_MMAP, uintptr(unsafe.Pointer(&mmap_args[0])), 0, 0)\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// On s390x Linux, all the socket calls go through an extra indirection.\n// The arguments to the underlying system call (SYS_SOCKETCALL) are the\n// number below and a pointer to an array of uintptr.\nconst (\n\t// see linux/net.h\n\tnetSocket      = 1\n\tnetBind        = 2\n\tnetConnect     = 3\n\tnetListen      = 4\n\tnetAccept      = 5\n\tnetGetSockName = 6\n\tnetGetPeerName = 7\n\tnetSocketPair  = 8\n\tnetSend        = 9\n\tnetRecv        = 10\n\tnetSendTo      = 11\n\tnetRecvFrom    = 12\n\tnetShutdown    = 13\n\tnetSetSockOpt  = 14\n\tnetGetSockOpt  = 15\n\tnetSendMsg     = 16\n\tnetRecvMsg     = 17\n\tnetAccept4     = 18\n\tnetRecvMMsg    = 19\n\tnetSendMMsg    = 20\n)\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) {\n\targs := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))}\n\tfd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn 0, err\n\t}\n\treturn int(fd), nil\n}\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) {\n\targs := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)}\n\tfd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn 0, err\n\t}\n\treturn int(fd), nil\n}\n\nfunc getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error {\n\targs := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))}\n\t_, _, err := RawSyscall(SYS_SOCKETCALL, netGetSockName, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error {\n\targs := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))}\n\t_, _, err := RawSyscall(SYS_SOCKETCALL, netGetPeerName, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc socketpair(domain int, typ int, flags int, fd *[2]int32) error {\n\targs := [4]uintptr{uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd))}\n\t_, _, err := RawSyscall(SYS_SOCKETCALL, netSocketPair, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) error {\n\targs := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netBind, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) error {\n\targs := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netConnect, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc socket(domain int, typ int, proto int) (int, error) {\n\targs := [3]uintptr{uintptr(domain), uintptr(typ), uintptr(proto)}\n\tfd, _, err := RawSyscall(SYS_SOCKETCALL, netSocket, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn 0, err\n\t}\n\treturn int(fd), nil\n}\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) error {\n\targs := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen))}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netGetSockOpt, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) error {\n\targs := [4]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val)}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netSetSockOpt, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (int, error) {\n\tvar base uintptr\n\tif len(p) > 0 {\n\t\tbase = uintptr(unsafe.Pointer(&p[0]))\n\t}\n\targs := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))}\n\tn, _, err := Syscall(SYS_SOCKETCALL, netRecvFrom, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn 0, err\n\t}\n\treturn int(n), nil\n}\n\nfunc sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) error {\n\tvar base uintptr\n\tif len(p) > 0 {\n\t\tbase = uintptr(unsafe.Pointer(&p[0]))\n\t}\n\targs := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netSendTo, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (int, error) {\n\targs := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)}\n\tn, _, err := Syscall(SYS_SOCKETCALL, netRecvMsg, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn 0, err\n\t}\n\treturn int(n), nil\n}\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (int, error) {\n\targs := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)}\n\tn, _, err := Syscall(SYS_SOCKETCALL, netSendMsg, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn 0, err\n\t}\n\treturn int(n), nil\n}\n\nfunc Listen(s int, n int) error {\n\targs := [2]uintptr{uintptr(s), uintptr(n)}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netListen, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc Shutdown(s, how int) error {\n\targs := [2]uintptr{uintptr(s), uintptr(how)}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netShutdown, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build sparc64,linux\n\npackage unix\n\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64\n//sys\tFstatfs(fd int, buf *Statfs_t) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tGetuid() (uid int)\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tListen(s int, n int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tPause() (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSeek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error)\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, buf *Statfs_t) (err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\treturn ENOSYS\n}\n\nfunc Iopl(level int) (err error) {\n\treturn ENOSYS\n}\n\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tvar tv Timeval\n\terr = Gettimeofday(&tv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tif t != nil {\n\t\t*t = Time_t(tv.Sec)\n\t}\n\treturn Time_t(tv.Sec), nil\n}\n\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Tpc }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Tpc = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint64(length)\n}\n\n//sysnb pipe(p *[2]_C_int) (err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe(&pp)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd.go",
    "content": "// Copyright 2009,2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// NetBSD system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and wrap\n// it in our own nicer implementation, either here or in\n// syscall_bsd.go or syscall_unix.go.\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\ntype SockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n\traw    RawSockaddrDatalink\n}\n\nfunc Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n\nfunc sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) {\n\tvar olen uintptr\n\n\t// Get a list of all sysctl nodes below the given MIB by performing\n\t// a sysctl for the given MIB with CTL_QUERY appended.\n\tmib = append(mib, CTL_QUERY)\n\tqnode := Sysctlnode{Flags: SYSCTL_VERS_1}\n\tqp := (*byte)(unsafe.Pointer(&qnode))\n\tsz := unsafe.Sizeof(qnode)\n\tif err = sysctl(mib, nil, &olen, qp, sz); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Now that we know the size, get the actual nodes.\n\tnodes = make([]Sysctlnode, olen/sz)\n\tnp := (*byte)(unsafe.Pointer(&nodes[0]))\n\tif err = sysctl(mib, np, &olen, qp, sz); err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn nodes, nil\n}\n\nfunc nametomib(name string) (mib []_C_int, err error) {\n\t// Split name into components.\n\tvar parts []string\n\tlast := 0\n\tfor i := 0; i < len(name); i++ {\n\t\tif name[i] == '.' {\n\t\t\tparts = append(parts, name[last:i])\n\t\t\tlast = i + 1\n\t\t}\n\t}\n\tparts = append(parts, name[last:])\n\n\t// Discover the nodes and construct the MIB OID.\n\tfor partno, part := range parts {\n\t\tnodes, err := sysctlNodes(mib)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tfor _, node := range nodes {\n\t\t\tn := make([]byte, 0)\n\t\t\tfor i := range node.Name {\n\t\t\t\tif node.Name[i] != 0 {\n\t\t\t\t\tn = append(n, byte(node.Name[i]))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif string(n) == part {\n\t\t\t\tmib = append(mib, _C_int(node.Num))\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif len(mib) != partno+1 {\n\t\t\treturn nil, EINVAL\n\t\t}\n\t}\n\n\treturn mib, nil\n}\n\nfunc direntIno(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))\n}\n\nfunc direntReclen(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))\n}\n\nfunc direntNamlen(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))\n}\n\n//sysnb pipe() (fd1 int, fd2 int, err error)\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tp[0], p[1], err = pipe()\n\treturn\n}\n\n//sys getdents(fd int, buf []byte) (n int, err error)\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\treturn getdents(fd, buf)\n}\n\nconst ImplementsGetwd = true\n\n//sys\tGetcwd(buf []byte) (n int, err error) = SYS___GETCWD\n\nfunc Getwd() (string, error) {\n\tvar buf [PathMax]byte\n\t_, err := Getcwd(buf[0:])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tn := clen(buf[:])\n\tif n < 1 {\n\t\treturn \"\", EINVAL\n\t}\n\treturn string(buf[:n]), nil\n}\n\n// TODO\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\treturn -1, ENOSYS\n}\n\nfunc setattrlistTimes(path string, times []Timespec, flags int) error {\n\t// used on Darwin for UtimesNano\n\treturn ENOSYS\n}\n\n//sys\tioctl(fd int, req uint, arg uintptr) (err error)\n\n// ioctl itself should not be exposed directly, but additional get/set\n// functions for specific types are permissible.\n\n// IoctlSetInt performs an ioctl operation which sets an integer value\n// on fd, using the specified request number.\nfunc IoctlSetInt(fd int, req uint, value int) error {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc IoctlSetWinsize(fd int, req uint, value *Winsize) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc IoctlSetTermios(fd int, req uint, value *Termios) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\n// IoctlGetInt performs an ioctl operation which gets an integer value\n// from fd, using the specified request number.\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc Uname(uname *Utsname) error {\n\tmib := []_C_int{CTL_KERN, KERN_OSTYPE}\n\tn := unsafe.Sizeof(uname.Sysname)\n\tif err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_HOSTNAME}\n\tn = unsafe.Sizeof(uname.Nodename)\n\tif err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_OSRELEASE}\n\tn = unsafe.Sizeof(uname.Release)\n\tif err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_VERSION}\n\tn = unsafe.Sizeof(uname.Version)\n\tif err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\t// The version might have newlines or tabs in it, convert them to\n\t// spaces.\n\tfor i, b := range uname.Version {\n\t\tif b == '\\n' || b == '\\t' {\n\t\t\tif i == len(uname.Version)-1 {\n\t\t\t\tuname.Version[i] = 0\n\t\t\t} else {\n\t\t\t\tuname.Version[i] = ' '\n\t\t\t}\n\t\t}\n\t}\n\n\tmib = []_C_int{CTL_HW, HW_MACHINE}\n\tn = unsafe.Sizeof(uname.Machine)\n\tif err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n/*\n * Exposed directly\n */\n//sys\tAccess(path string, mode uint32) (err error)\n//sys\tAdjtime(delta *Timeval, olddelta *Timeval) (err error)\n//sys\tChdir(path string) (err error)\n//sys\tChflags(path string, flags int) (err error)\n//sys\tChmod(path string, mode uint32) (err error)\n//sys\tChown(path string, uid int, gid int) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tDup(fd int) (nfd int, err error)\n//sys\tDup2(from int, to int) (err error)\n//sys\tExit(code int)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchflags(fd int, flags int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFpathconf(fd int, name int) (val int, err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFsync(fd int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (uid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n//sysnb\tGetpgrp() (pgrp int)\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (prio int, err error)\n//sysnb\tGetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGetsid(pid int) (sid int, err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tIssetugid() (tainted bool)\n//sys\tKill(pid int, signum syscall.Signal) (err error)\n//sys\tKqueue() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLink(path string, link string) (err error)\n//sys\tListen(s int, backlog int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tMkdir(path string, mode uint32) (err error)\n//sys\tMkfifo(path string, mode uint32) (err error)\n//sys\tMknod(path string, mode uint32, dev int) (err error)\n//sys\tNanosleep(time *Timespec, leftover *Timespec) (err error)\n//sys\tOpen(path string, mode int, perm uint32) (fd int, err error)\n//sys\tPathconf(path string, name int) (val int, err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error)\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error)\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tReadlink(path string, buf []byte) (n int, err error)\n//sys\tRename(from string, to string) (err error)\n//sys\tRevoke(path string) (err error)\n//sys\tRmdir(path string) (err error)\n//sys\tSeek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK\n//sys\tSelect(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)\n//sysnb\tSetegid(egid int) (err error)\n//sysnb\tSeteuid(euid int) (err error)\n//sysnb\tSetgid(gid int) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sysnb\tSetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSettimeofday(tp *Timeval) (err error)\n//sysnb\tSetuid(uid int) (err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tSymlink(path string, link string) (err error)\n//sys\tSync() (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUmask(newmask int) (oldmask int)\n//sys\tUnlink(path string) (err error)\n//sys\tUnmount(path string, flags int) (err error)\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)\n//sys\tmunmap(addr uintptr, length uintptr) (err error)\n//sys\treadlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ\n//sys\twritelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE\n//sys\tutimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)\n\n/*\n * Unimplemented\n */\n// ____semctl13\n// __clone\n// __fhopen40\n// __fhstat40\n// __fhstatvfs140\n// __fstat30\n// __getcwd\n// __getfh30\n// __getlogin\n// __lstat30\n// __mount50\n// __msgctl13\n// __msync13\n// __ntp_gettime30\n// __posix_chown\n// __posix_fadvise50\n// __posix_fchown\n// __posix_lchown\n// __posix_rename\n// __setlogin\n// __shmctl13\n// __sigaction_sigtramp\n// __sigaltstack14\n// __sigpending14\n// __sigprocmask14\n// __sigsuspend14\n// __sigtimedwait\n// __stat30\n// __syscall\n// __vfork14\n// _ksem_close\n// _ksem_destroy\n// _ksem_getvalue\n// _ksem_init\n// _ksem_open\n// _ksem_post\n// _ksem_trywait\n// _ksem_unlink\n// _ksem_wait\n// _lwp_continue\n// _lwp_create\n// _lwp_ctl\n// _lwp_detach\n// _lwp_exit\n// _lwp_getname\n// _lwp_getprivate\n// _lwp_kill\n// _lwp_park\n// _lwp_self\n// _lwp_setname\n// _lwp_setprivate\n// _lwp_suspend\n// _lwp_unpark\n// _lwp_unpark_all\n// _lwp_wait\n// _lwp_wakeup\n// _pset_bind\n// _sched_getaffinity\n// _sched_getparam\n// _sched_setaffinity\n// _sched_setparam\n// acct\n// aio_cancel\n// aio_error\n// aio_fsync\n// aio_read\n// aio_return\n// aio_suspend\n// aio_write\n// break\n// clock_getres\n// clock_gettime\n// clock_settime\n// compat_09_ogetdomainname\n// compat_09_osetdomainname\n// compat_09_ouname\n// compat_10_omsgsys\n// compat_10_osemsys\n// compat_10_oshmsys\n// compat_12_fstat12\n// compat_12_getdirentries\n// compat_12_lstat12\n// compat_12_msync\n// compat_12_oreboot\n// compat_12_oswapon\n// compat_12_stat12\n// compat_13_sigaction13\n// compat_13_sigaltstack13\n// compat_13_sigpending13\n// compat_13_sigprocmask13\n// compat_13_sigreturn13\n// compat_13_sigsuspend13\n// compat_14___semctl\n// compat_14_msgctl\n// compat_14_shmctl\n// compat_16___sigaction14\n// compat_16___sigreturn14\n// compat_20_fhstatfs\n// compat_20_fstatfs\n// compat_20_getfsstat\n// compat_20_statfs\n// compat_30___fhstat30\n// compat_30___fstat13\n// compat_30___lstat13\n// compat_30___stat13\n// compat_30_fhopen\n// compat_30_fhstat\n// compat_30_fhstatvfs1\n// compat_30_getdents\n// compat_30_getfh\n// compat_30_ntp_gettime\n// compat_30_socket\n// compat_40_mount\n// compat_43_fstat43\n// compat_43_lstat43\n// compat_43_oaccept\n// compat_43_ocreat\n// compat_43_oftruncate\n// compat_43_ogetdirentries\n// compat_43_ogetdtablesize\n// compat_43_ogethostid\n// compat_43_ogethostname\n// compat_43_ogetkerninfo\n// compat_43_ogetpagesize\n// compat_43_ogetpeername\n// compat_43_ogetrlimit\n// compat_43_ogetsockname\n// compat_43_okillpg\n// compat_43_olseek\n// compat_43_ommap\n// compat_43_oquota\n// compat_43_orecv\n// compat_43_orecvfrom\n// compat_43_orecvmsg\n// compat_43_osend\n// compat_43_osendmsg\n// compat_43_osethostid\n// compat_43_osethostname\n// compat_43_osetrlimit\n// compat_43_osigblock\n// compat_43_osigsetmask\n// compat_43_osigstack\n// compat_43_osigvec\n// compat_43_otruncate\n// compat_43_owait\n// compat_43_stat43\n// execve\n// extattr_delete_fd\n// extattr_delete_file\n// extattr_delete_link\n// extattr_get_fd\n// extattr_get_file\n// extattr_get_link\n// extattr_list_fd\n// extattr_list_file\n// extattr_list_link\n// extattr_set_fd\n// extattr_set_file\n// extattr_set_link\n// extattrctl\n// fchroot\n// fdatasync\n// fgetxattr\n// fktrace\n// flistxattr\n// fork\n// fremovexattr\n// fsetxattr\n// fstatvfs1\n// fsync_range\n// getcontext\n// getitimer\n// getvfsstat\n// getxattr\n// ktrace\n// lchflags\n// lchmod\n// lfs_bmapv\n// lfs_markv\n// lfs_segclean\n// lfs_segwait\n// lgetxattr\n// lio_listio\n// listxattr\n// llistxattr\n// lremovexattr\n// lseek\n// lsetxattr\n// lutimes\n// madvise\n// mincore\n// minherit\n// modctl\n// mq_close\n// mq_getattr\n// mq_notify\n// mq_open\n// mq_receive\n// mq_send\n// mq_setattr\n// mq_timedreceive\n// mq_timedsend\n// mq_unlink\n// mremap\n// msgget\n// msgrcv\n// msgsnd\n// nfssvc\n// ntp_adjtime\n// pmc_control\n// pmc_get_info\n// pollts\n// preadv\n// profil\n// pselect\n// pset_assign\n// pset_create\n// pset_destroy\n// ptrace\n// pwritev\n// quotactl\n// rasctl\n// readv\n// reboot\n// removexattr\n// sa_enable\n// sa_preempt\n// sa_register\n// sa_setconcurrency\n// sa_stacks\n// sa_yield\n// sbrk\n// sched_yield\n// semconfig\n// semget\n// semop\n// setcontext\n// setitimer\n// setxattr\n// shmat\n// shmdt\n// shmget\n// sstk\n// statvfs1\n// swapctl\n// sysarch\n// syscall\n// timer_create\n// timer_delete\n// timer_getoverrun\n// timer_gettime\n// timer_settime\n// undelete\n// utrace\n// uuidgen\n// vadvise\n// vfork\n// writev\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd_386.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build 386,netbsd\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = uint32(mode)\n\tk.Flags = uint32(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,netbsd\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint64(fd)\n\tk.Filter = uint32(mode)\n\tk.Flags = uint32(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build arm,netbsd\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = uint32(mode)\n\tk.Flags = uint32(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd.go",
    "content": "// Copyright 2009,2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// OpenBSD system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and wrap\n// it in our own nicer implementation, either here or in\n// syscall_bsd.go or syscall_unix.go.\n\npackage unix\n\nimport (\n\t\"sort\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\ntype SockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [24]int8\n\traw    RawSockaddrDatalink\n}\n\nfunc Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n\nfunc nametomib(name string) (mib []_C_int, err error) {\n\ti := sort.Search(len(sysctlMib), func(i int) bool {\n\t\treturn sysctlMib[i].ctlname >= name\n\t})\n\tif i < len(sysctlMib) && sysctlMib[i].ctlname == name {\n\t\treturn sysctlMib[i].ctloid, nil\n\t}\n\treturn nil, EINVAL\n}\n\nfunc direntIno(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))\n}\n\nfunc direntReclen(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))\n}\n\nfunc direntNamlen(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))\n}\n\n//sysnb pipe(p *[2]_C_int) (err error)\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe(&pp)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sys getdents(fd int, buf []byte) (n int, err error)\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\treturn getdents(fd, buf)\n}\n\nconst ImplementsGetwd = true\n\n//sys\tGetcwd(buf []byte) (n int, err error) = SYS___GETCWD\n\nfunc Getwd() (string, error) {\n\tvar buf [PathMax]byte\n\t_, err := Getcwd(buf[0:])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tn := clen(buf[:])\n\tif n < 1 {\n\t\treturn \"\", EINVAL\n\t}\n\treturn string(buf[:n]), nil\n}\n\n// TODO\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\treturn -1, ENOSYS\n}\n\nfunc Getfsstat(buf []Statfs_t, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tvar bufsize uintptr\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t\tbufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))\n\t}\n\tr0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc setattrlistTimes(path string, times []Timespec, flags int) error {\n\t// used on Darwin for UtimesNano\n\treturn ENOSYS\n}\n\n//sys\tioctl(fd int, req uint, arg uintptr) (err error)\n\n// ioctl itself should not be exposed directly, but additional get/set\n// functions for specific types are permissible.\n\n// IoctlSetInt performs an ioctl operation which sets an integer value\n// on fd, using the specified request number.\nfunc IoctlSetInt(fd int, req uint, value int) error {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc IoctlSetWinsize(fd int, req uint, value *Winsize) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc IoctlSetTermios(fd int, req uint, value *Termios) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\n// IoctlGetInt performs an ioctl operation which gets an integer value\n// from fd, using the specified request number.\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc Uname(uname *Utsname) error {\n\tmib := []_C_int{CTL_KERN, KERN_OSTYPE}\n\tn := unsafe.Sizeof(uname.Sysname)\n\tif err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_HOSTNAME}\n\tn = unsafe.Sizeof(uname.Nodename)\n\tif err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_OSRELEASE}\n\tn = unsafe.Sizeof(uname.Release)\n\tif err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_VERSION}\n\tn = unsafe.Sizeof(uname.Version)\n\tif err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\t// The version might have newlines or tabs in it, convert them to\n\t// spaces.\n\tfor i, b := range uname.Version {\n\t\tif b == '\\n' || b == '\\t' {\n\t\t\tif i == len(uname.Version)-1 {\n\t\t\t\tuname.Version[i] = 0\n\t\t\t} else {\n\t\t\t\tuname.Version[i] = ' '\n\t\t\t}\n\t\t}\n\t}\n\n\tmib = []_C_int{CTL_HW, HW_MACHINE}\n\tn = unsafe.Sizeof(uname.Machine)\n\tif err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n/*\n * Exposed directly\n */\n//sys\tAccess(path string, mode uint32) (err error)\n//sys\tAdjtime(delta *Timeval, olddelta *Timeval) (err error)\n//sys\tChdir(path string) (err error)\n//sys\tChflags(path string, flags int) (err error)\n//sys\tChmod(path string, mode uint32) (err error)\n//sys\tChown(path string, uid int, gid int) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tDup(fd int) (nfd int, err error)\n//sys\tDup2(from int, to int) (err error)\n//sys\tExit(code int)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchflags(fd int, flags int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFpathconf(fd int, name int) (val int, err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatfs(fd int, stat *Statfs_t) (err error)\n//sys\tFsync(fd int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (uid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n//sysnb\tGetpgrp() (pgrp int)\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (prio int, err error)\n//sysnb\tGetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGetsid(pid int) (sid int, err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tIssetugid() (tainted bool)\n//sys\tKill(pid int, signum syscall.Signal) (err error)\n//sys\tKqueue() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLink(path string, link string) (err error)\n//sys\tListen(s int, backlog int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tMkdir(path string, mode uint32) (err error)\n//sys\tMkfifo(path string, mode uint32) (err error)\n//sys\tMknod(path string, mode uint32, dev int) (err error)\n//sys\tNanosleep(time *Timespec, leftover *Timespec) (err error)\n//sys\tOpen(path string, mode int, perm uint32) (fd int, err error)\n//sys\tPathconf(path string, name int) (val int, err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error)\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error)\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tReadlink(path string, buf []byte) (n int, err error)\n//sys\tRename(from string, to string) (err error)\n//sys\tRevoke(path string) (err error)\n//sys\tRmdir(path string) (err error)\n//sys\tSeek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK\n//sys\tSelect(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)\n//sysnb\tSetegid(egid int) (err error)\n//sysnb\tSeteuid(euid int) (err error)\n//sysnb\tSetgid(gid int) (err error)\n//sys\tSetlogin(name string) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSettimeofday(tp *Timeval) (err error)\n//sysnb\tSetuid(uid int) (err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, stat *Statfs_t) (err error)\n//sys\tSymlink(path string, link string) (err error)\n//sys\tSync() (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUmask(newmask int) (oldmask int)\n//sys\tUnlink(path string) (err error)\n//sys\tUnmount(path string, flags int) (err error)\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)\n//sys\tmunmap(addr uintptr, length uintptr) (err error)\n//sys\treadlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ\n//sys\twritelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE\n//sys\tutimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)\n\n/*\n * Unimplemented\n */\n// __getcwd\n// __semctl\n// __syscall\n// __sysctl\n// adjfreq\n// break\n// clock_getres\n// clock_gettime\n// clock_settime\n// closefrom\n// execve\n// faccessat\n// fchmodat\n// fchownat\n// fcntl\n// fhopen\n// fhstat\n// fhstatfs\n// fork\n// fstatat\n// futimens\n// getfh\n// getgid\n// getitimer\n// getlogin\n// getresgid\n// getresuid\n// getrtable\n// getthrid\n// ktrace\n// lfs_bmapv\n// lfs_markv\n// lfs_segclean\n// lfs_segwait\n// linkat\n// mincore\n// minherit\n// mkdirat\n// mkfifoat\n// mknodat\n// mount\n// mquery\n// msgctl\n// msgget\n// msgrcv\n// msgsnd\n// nfssvc\n// nnpfspioctl\n// openat\n// preadv\n// profil\n// pwritev\n// quotactl\n// readlinkat\n// readv\n// reboot\n// renameat\n// rfork\n// sched_yield\n// semget\n// semop\n// setgroups\n// setitimer\n// setrtable\n// setsockopt\n// shmat\n// shmctl\n// shmdt\n// shmget\n// sigaction\n// sigaltstack\n// sigpending\n// sigprocmask\n// sigreturn\n// sigsuspend\n// symlinkat\n// sysarch\n// syscall\n// threxit\n// thrsigdivert\n// thrsleep\n// thrwakeup\n// unlinkat\n// vfork\n// writev\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_386.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build 386,openbsd\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,openbsd\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint64(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build arm,openbsd\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_solaris.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Solaris system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and wrap\n// it in our own nicer implementation, either here or in\n// syscall_solaris.go or syscall_unix.go.\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n// Implemented in runtime/syscall_solaris.go.\ntype syscallFunc uintptr\n\nfunc rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)\nfunc sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)\n\ntype SockaddrDatalink struct {\n\tFamily uint16\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [244]int8\n\traw    RawSockaddrDatalink\n}\n\nfunc direntIno(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))\n}\n\nfunc direntReclen(buf []byte) (uint64, bool) {\n\treturn readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))\n}\n\nfunc direntNamlen(buf []byte) (uint64, bool) {\n\treclen, ok := direntReclen(buf)\n\tif !ok {\n\t\treturn 0, false\n\t}\n\treturn reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true\n}\n\n//sysnb\tpipe(p *[2]_C_int) (n int, err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\tn, err := pipe(&pp)\n\tif n != 0 {\n\t\treturn err\n\t}\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn nil\n}\n\nfunc (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Port < 0 || sa.Port > 0xFFFF {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_INET\n\tp := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))\n\tp[0] = byte(sa.Port >> 8)\n\tp[1] = byte(sa.Port)\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil\n}\n\nfunc (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Port < 0 || sa.Port > 0xFFFF {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_INET6\n\tp := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))\n\tp[0] = byte(sa.Port >> 8)\n\tp[1] = byte(sa.Port)\n\tsa.raw.Scope_id = sa.ZoneId\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil\n}\n\nfunc (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tname := sa.Name\n\tn := len(name)\n\tif n >= len(sa.raw.Path) {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_UNIX\n\tfor i := 0; i < n; i++ {\n\t\tsa.raw.Path[i] = int8(name[i])\n\t}\n\t// length is family (uint16), name, NUL.\n\tsl := _Socklen(2)\n\tif n > 0 {\n\t\tsl += _Socklen(n) + 1\n\t}\n\tif sa.raw.Path[0] == '@' {\n\t\tsa.raw.Path[0] = 0\n\t\t// Don't count trailing NUL for abstract address.\n\t\tsl--\n\t}\n\n\treturn unsafe.Pointer(&sa.raw), sl, nil\n}\n\n//sys\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getsockname\n\nfunc Getsockname(fd int) (sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tif err = getsockname(fd, &rsa, &len); err != nil {\n\t\treturn\n\t}\n\treturn anyToSockaddr(&rsa)\n}\n\n// GetsockoptString returns the string value of the socket option opt for the\n// socket associated with fd at the given socket level.\nfunc GetsockoptString(fd, level, opt int) (string, error) {\n\tbuf := make([]byte, 256)\n\tvallen := _Socklen(len(buf))\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn string(buf[:vallen-1]), nil\n}\n\nconst ImplementsGetwd = true\n\n//sys\tGetcwd(buf []byte) (n int, err error)\n\nfunc Getwd() (wd string, err error) {\n\tvar buf [PathMax]byte\n\t// Getcwd will return an error if it failed for any reason.\n\t_, err = Getcwd(buf[0:])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tn := clen(buf[:])\n\tif n < 1 {\n\t\treturn \"\", EINVAL\n\t}\n\treturn string(buf[:n]), nil\n}\n\n/*\n * Wrapped\n */\n\n//sysnb\tgetgroups(ngid int, gid *_Gid_t) (n int, err error)\n//sysnb\tsetgroups(ngid int, gid *_Gid_t) (err error)\n\nfunc Getgroups() (gids []int, err error) {\n\tn, err := getgroups(0, nil)\n\t// Check for error and sanity check group count. Newer versions of\n\t// Solaris allow up to 1024 (NGROUPS_MAX).\n\tif n < 0 || n > 1024 {\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treturn nil, EINVAL\n\t} else if n == 0 {\n\t\treturn nil, nil\n\t}\n\n\ta := make([]_Gid_t, n)\n\tn, err = getgroups(n, &a[0])\n\tif n == -1 {\n\t\treturn nil, err\n\t}\n\tgids = make([]int, n)\n\tfor i, v := range a[0:n] {\n\t\tgids[i] = int(v)\n\t}\n\treturn\n}\n\nfunc Setgroups(gids []int) (err error) {\n\tif len(gids) == 0 {\n\t\treturn setgroups(0, nil)\n\t}\n\n\ta := make([]_Gid_t, len(gids))\n\tfor i, v := range gids {\n\t\ta[i] = _Gid_t(v)\n\t}\n\treturn setgroups(len(a), &a[0])\n}\n\nfunc ReadDirent(fd int, buf []byte) (n int, err error) {\n\t// Final argument is (basep *uintptr) and the syscall doesn't take nil.\n\t// TODO(rsc): Can we use a single global basep for all calls?\n\treturn Getdents(fd, buf, new(uintptr))\n}\n\n// Wait status is 7 bits at bottom, either 0 (exited),\n// 0x7F (stopped), or a signal number that caused an exit.\n// The 0x80 bit is whether there was a core dump.\n// An extra number (exit code, signal causing a stop)\n// is in the high bits.\n\ntype WaitStatus uint32\n\nconst (\n\tmask  = 0x7F\n\tcore  = 0x80\n\tshift = 8\n\n\texited  = 0\n\tstopped = 0x7F\n)\n\nfunc (w WaitStatus) Exited() bool { return w&mask == exited }\n\nfunc (w WaitStatus) ExitStatus() int {\n\tif w&mask != exited {\n\t\treturn -1\n\t}\n\treturn int(w >> shift)\n}\n\nfunc (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 }\n\nfunc (w WaitStatus) Signal() syscall.Signal {\n\tsig := syscall.Signal(w & mask)\n\tif sig == stopped || sig == 0 {\n\t\treturn -1\n\t}\n\treturn sig\n}\n\nfunc (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }\n\nfunc (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP }\n\nfunc (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP }\n\nfunc (w WaitStatus) StopSignal() syscall.Signal {\n\tif !w.Stopped() {\n\t\treturn -1\n\t}\n\treturn syscall.Signal(w>>shift) & 0xFF\n}\n\nfunc (w WaitStatus) TrapCause() int { return -1 }\n\n//sys\twait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error)\n\nfunc Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (int, error) {\n\tvar status _C_int\n\trpid, err := wait4(int32(pid), &status, options, rusage)\n\twpid := int(rpid)\n\tif wpid == -1 {\n\t\treturn wpid, err\n\t}\n\tif wstatus != nil {\n\t\t*wstatus = WaitStatus(status)\n\t}\n\treturn wpid, nil\n}\n\n//sys\tgethostname(buf []byte) (n int, err error)\n\nfunc Gethostname() (name string, err error) {\n\tvar buf [MaxHostNameLen]byte\n\tn, err := gethostname(buf[:])\n\tif n != 0 {\n\t\treturn \"\", err\n\t}\n\tn = clen(buf[:])\n\tif n < 1 {\n\t\treturn \"\", EFAULT\n\t}\n\treturn string(buf[:n]), nil\n}\n\n//sys\tutimes(path string, times *[2]Timeval) (err error)\n\nfunc Utimes(path string, tv []Timeval) (err error) {\n\tif tv == nil {\n\t\treturn utimes(path, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\n//sys\tutimensat(fd int, path string, times *[2]Timespec, flag int) (err error)\n\nfunc UtimesNano(path string, ts []Timespec) error {\n\tif ts == nil {\n\t\treturn utimensat(AT_FDCWD, path, nil, 0)\n\t}\n\tif len(ts) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)\n}\n\nfunc UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {\n\tif ts == nil {\n\t\treturn utimensat(dirfd, path, nil, flags)\n\t}\n\tif len(ts) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)\n}\n\n//sys\tfcntl(fd int, cmd int, arg int) (val int, err error)\n\n// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.\nfunc FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(lk)), 0, 0, 0)\n\tif e1 != 0 {\n\t\treturn e1\n\t}\n\treturn nil\n}\n\n//sys\tfutimesat(fildes int, path *byte, times *[2]Timeval) (err error)\n\nfunc Futimesat(dirfd int, path string, tv []Timeval) error {\n\tpathp, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif tv == nil {\n\t\treturn futimesat(dirfd, pathp, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\n// Solaris doesn't have an futimes function because it allows NULL to be\n// specified as the path for futimesat. However, Go doesn't like\n// NULL-style string interfaces, so this simple wrapper is provided.\nfunc Futimes(fd int, tv []Timeval) error {\n\tif tv == nil {\n\t\treturn futimesat(fd, nil, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn futimesat(fd, nil, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\nfunc anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {\n\tswitch rsa.Addr.Family {\n\tcase AF_UNIX:\n\t\tpp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrUnix)\n\t\t// Assume path ends at NUL.\n\t\t// This is not technically the Solaris semantics for\n\t\t// abstract Unix domain sockets -- they are supposed\n\t\t// to be uninterpreted fixed-size binary blobs -- but\n\t\t// everyone uses this convention.\n\t\tn := 0\n\t\tfor n < len(pp.Path) && pp.Path[n] != 0 {\n\t\t\tn++\n\t\t}\n\t\tbytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]\n\t\tsa.Name = string(bytes)\n\t\treturn sa, nil\n\n\tcase AF_INET:\n\t\tpp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrInet4)\n\t\tp := (*[2]byte)(unsafe.Pointer(&pp.Port))\n\t\tsa.Port = int(p[0])<<8 + int(p[1])\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\n\tcase AF_INET6:\n\t\tpp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrInet6)\n\t\tp := (*[2]byte)(unsafe.Pointer(&pp.Port))\n\t\tsa.Port = int(p[0])<<8 + int(p[1])\n\t\tsa.ZoneId = pp.Scope_id\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\t}\n\treturn nil, EAFNOSUPPORT\n}\n\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = libsocket.accept\n\nfunc Accept(fd int) (nfd int, sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tnfd, err = accept(fd, &rsa, &len)\n\tif nfd == -1 {\n\t\treturn\n\t}\n\tsa, err = anyToSockaddr(&rsa)\n\tif err != nil {\n\t\tClose(nfd)\n\t\tnfd = 0\n\t}\n\treturn\n}\n\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_recvmsg\n\nfunc Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {\n\tvar msg Msghdr\n\tvar rsa RawSockaddrAny\n\tmsg.Name = (*byte)(unsafe.Pointer(&rsa))\n\tmsg.Namelen = uint32(SizeofSockaddrAny)\n\tvar iov Iovec\n\tif len(p) > 0 {\n\t\tiov.Base = (*int8)(unsafe.Pointer(&p[0]))\n\t\tiov.SetLen(len(p))\n\t}\n\tvar dummy int8\n\tif len(oob) > 0 {\n\t\t// receive at least one normal byte\n\t\tif len(p) == 0 {\n\t\t\tiov.Base = &dummy\n\t\t\tiov.SetLen(1)\n\t\t}\n\t\tmsg.Accrightslen = int32(len(oob))\n\t}\n\tmsg.Iov = &iov\n\tmsg.Iovlen = 1\n\tif n, err = recvmsg(fd, &msg, flags); n == -1 {\n\t\treturn\n\t}\n\toobn = int(msg.Accrightslen)\n\t// source address is only specified if the socket is unconnected\n\tif rsa.Addr.Family != AF_UNSPEC {\n\t\tfrom, err = anyToSockaddr(&rsa)\n\t}\n\treturn\n}\n\nfunc Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {\n\t_, err = SendmsgN(fd, p, oob, to, flags)\n\treturn\n}\n\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg\n\nfunc SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {\n\tvar ptr unsafe.Pointer\n\tvar salen _Socklen\n\tif to != nil {\n\t\tptr, salen, err = to.sockaddr()\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t}\n\tvar msg Msghdr\n\tmsg.Name = (*byte)(unsafe.Pointer(ptr))\n\tmsg.Namelen = uint32(salen)\n\tvar iov Iovec\n\tif len(p) > 0 {\n\t\tiov.Base = (*int8)(unsafe.Pointer(&p[0]))\n\t\tiov.SetLen(len(p))\n\t}\n\tvar dummy int8\n\tif len(oob) > 0 {\n\t\t// send at least one normal byte\n\t\tif len(p) == 0 {\n\t\t\tiov.Base = &dummy\n\t\t\tiov.SetLen(1)\n\t\t}\n\t\tmsg.Accrightslen = int32(len(oob))\n\t}\n\tmsg.Iov = &iov\n\tmsg.Iovlen = 1\n\tif n, err = sendmsg(fd, &msg, flags); err != nil {\n\t\treturn 0, err\n\t}\n\tif len(oob) > 0 && len(p) == 0 {\n\t\tn = 0\n\t}\n\treturn n, nil\n}\n\n//sys\tacct(path *byte) (err error)\n\nfunc Acct(path string) (err error) {\n\tif len(path) == 0 {\n\t\t// Assume caller wants to disable accounting.\n\t\treturn acct(nil)\n\t}\n\n\tpathp, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn acct(pathp)\n}\n\n//sys\t__makedev(version int, major uint, minor uint) (val uint64)\n\nfunc Mkdev(major, minor uint32) uint64 {\n\treturn __makedev(NEWDEV, uint(major), uint(minor))\n}\n\n//sys\t__major(version int, dev uint64) (val uint)\n\nfunc Major(dev uint64) uint32 {\n\treturn uint32(__major(NEWDEV, dev))\n}\n\n//sys\t__minor(version int, dev uint64) (val uint)\n\nfunc Minor(dev uint64) uint32 {\n\treturn uint32(__minor(NEWDEV, dev))\n}\n\n/*\n * Expose the ioctl function\n */\n\n//sys\tioctl(fd int, req uint, arg uintptr) (err error)\n\nfunc IoctlSetInt(fd int, req uint, value int) (err error) {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc IoctlSetWinsize(fd int, req uint, value *Winsize) (err error) {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc IoctlSetTermios(fd int, req uint, value *Termios) (err error) {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc IoctlSetTermio(fd int, req uint, value *Termio) (err error) {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermio(fd int, req uint) (*Termio, error) {\n\tvar value Termio\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\n//sys   poll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n\n/*\n * Exposed directly\n */\n//sys\tAccess(path string, mode uint32) (err error)\n//sys\tAdjtime(delta *Timeval, olddelta *Timeval) (err error)\n//sys\tChdir(path string) (err error)\n//sys\tChmod(path string, mode uint32) (err error)\n//sys\tChown(path string, uid int, gid int) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tCreat(path string, mode uint32) (fd int, err error)\n//sys\tDup(fd int) (nfd int, err error)\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sys\tExit(code int)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchmodat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFchownat(dirfd int, path string, uid int, gid int, flags int) (err error)\n//sys\tFdatasync(fd int) (err error)\n//sys Flock(fd int, how int) (err error)\n//sys\tFpathconf(fd int, name int) (val int, err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatvfs(fd int, vfsstat *Statvfs_t) (err error)\n//sys\tGetdents(fd int, buf []byte, basep *uintptr) (n int, err error)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n//sysnb\tGetpgrp() (pgid int, err error)\n//sys\tGeteuid() (euid int)\n//sys\tGetegid() (egid int)\n//sys\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (n int, err error)\n//sysnb\tGetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tKill(pid int, signum syscall.Signal) (err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLink(path string, link string) (err error)\n//sys\tListen(s int, backlog int) (err error) = libsocket.__xnet_llisten\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tMadvise(b []byte, advice int) (err error)\n//sys\tMkdir(path string, mode uint32) (err error)\n//sys\tMkdirat(dirfd int, path string, mode uint32) (err error)\n//sys\tMkfifo(path string, mode uint32) (err error)\n//sys\tMkfifoat(dirfd int, path string, mode uint32) (err error)\n//sys\tMknod(path string, mode uint32, dev int) (err error)\n//sys\tMknodat(dirfd int, path string, mode uint32, dev int) (err error)\n//sys\tMlock(b []byte) (err error)\n//sys\tMlockall(flags int) (err error)\n//sys\tMprotect(b []byte, prot int) (err error)\n//sys\tMsync(b []byte, flags int) (err error)\n//sys\tMunlock(b []byte) (err error)\n//sys\tMunlockall() (err error)\n//sys\tNanosleep(time *Timespec, leftover *Timespec) (err error)\n//sys\tOpen(path string, mode int, perm uint32) (fd int, err error)\n//sys\tOpenat(dirfd int, path string, flags int, mode uint32) (fd int, err error)\n//sys\tPathconf(path string, name int) (val int, err error)\n//sys\tPause() (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error)\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error)\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tReadlink(path string, buf []byte) (n int, err error)\n//sys\tRename(from string, to string) (err error)\n//sys\tRenameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)\n//sys\tRmdir(path string) (err error)\n//sys\tSeek(fd int, offset int64, whence int) (newoffset int64, err error) = lseek\n//sys\tSelect(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)\n//sysnb\tSetegid(egid int) (err error)\n//sysnb\tSeteuid(euid int) (err error)\n//sysnb\tSetgid(gid int) (err error)\n//sys\tSethostname(p []byte) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sysnb\tSetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSetuid(uid int) (err error)\n//sys\tShutdown(s int, how int) (err error) = libsocket.shutdown\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatvfs(path string, vfsstat *Statvfs_t) (err error)\n//sys\tSymlink(path string, link string) (err error)\n//sys\tSync() (err error)\n//sysnb\tTimes(tms *Tms) (ticks uintptr, err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tFsync(fd int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sys\tUmask(mask int) (oldmask int)\n//sysnb\tUname(buf *Utsname) (err error)\n//sys\tUnmount(target string, flags int) (err error) = libc.umount\n//sys\tUnlink(path string) (err error)\n//sys\tUnlinkat(dirfd int, path string, flags int) (err error)\n//sys\tUstat(dev int, ubuf *Ustat_t) (err error)\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_bind\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_connect\n//sys\tmmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)\n//sys\tmunmap(addr uintptr, length uintptr) (err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_sendto\n//sys\tsocket(domain int, typ int, proto int) (fd int, err error) = libsocket.__xnet_socket\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error) = libsocket.__xnet_socketpair\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) = libsocket.__xnet_getsockopt\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getpeername\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) = libsocket.setsockopt\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = libsocket.recvfrom\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nvar mapper = &mmapper{\n\tactive: make(map[*byte][]byte),\n\tmmap:   mmap,\n\tmunmap: munmap,\n}\n\nfunc Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {\n\treturn mapper.Mmap(fd, offset, length, prot, flags)\n}\n\nfunc Munmap(b []byte) (err error) {\n\treturn mapper.Munmap(b)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,solaris\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\t// TODO(aram): implement this, see issue 5847.\n\tpanic(\"unimplemented\")\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_unix.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\npackage unix\n\nimport (\n\t\"runtime\"\n\t\"sync\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar (\n\tStdin  = 0\n\tStdout = 1\n\tStderr = 2\n)\n\nconst (\n\tdarwin64Bit    = runtime.GOOS == \"darwin\" && sizeofPtr == 8\n\tdragonfly64Bit = runtime.GOOS == \"dragonfly\" && sizeofPtr == 8\n\tnetbsd32Bit    = runtime.GOOS == \"netbsd\" && sizeofPtr == 4\n\tsolaris64Bit   = runtime.GOOS == \"solaris\" && sizeofPtr == 8\n)\n\n// Do the interface allocations only once for common\n// Errno values.\nvar (\n\terrEAGAIN error = syscall.EAGAIN\n\terrEINVAL error = syscall.EINVAL\n\terrENOENT error = syscall.ENOENT\n)\n\n// errnoErr returns common boxed Errno values, to prevent\n// allocations at runtime.\nfunc errnoErr(e syscall.Errno) error {\n\tswitch e {\n\tcase 0:\n\t\treturn nil\n\tcase EAGAIN:\n\t\treturn errEAGAIN\n\tcase EINVAL:\n\t\treturn errEINVAL\n\tcase ENOENT:\n\t\treturn errENOENT\n\t}\n\treturn e\n}\n\n// clen returns the index of the first NULL byte in n or len(n) if n contains no\n// NULL byte or len(n) if n contains no NULL byte\nfunc clen(n []byte) int {\n\tfor i := 0; i < len(n); i++ {\n\t\tif n[i] == 0 {\n\t\t\treturn i\n\t\t}\n\t}\n\treturn len(n)\n}\n\n// Mmap manager, for use by operating system-specific implementations.\n\ntype mmapper struct {\n\tsync.Mutex\n\tactive map[*byte][]byte // active mappings; key is last byte in mapping\n\tmmap   func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error)\n\tmunmap func(addr uintptr, length uintptr) error\n}\n\nfunc (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {\n\tif length <= 0 {\n\t\treturn nil, EINVAL\n\t}\n\n\t// Map the requested memory.\n\taddr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset)\n\tif errno != nil {\n\t\treturn nil, errno\n\t}\n\n\t// Slice memory layout\n\tvar sl = struct {\n\t\taddr uintptr\n\t\tlen  int\n\t\tcap  int\n\t}{addr, length, length}\n\n\t// Use unsafe to turn sl into a []byte.\n\tb := *(*[]byte)(unsafe.Pointer(&sl))\n\n\t// Register mapping in m and return it.\n\tp := &b[cap(b)-1]\n\tm.Lock()\n\tdefer m.Unlock()\n\tm.active[p] = b\n\treturn b, nil\n}\n\nfunc (m *mmapper) Munmap(data []byte) (err error) {\n\tif len(data) == 0 || len(data) != cap(data) {\n\t\treturn EINVAL\n\t}\n\n\t// Find the base of the mapping.\n\tp := &data[cap(data)-1]\n\tm.Lock()\n\tdefer m.Unlock()\n\tb := m.active[p]\n\tif b == nil || &b[0] != &data[0] {\n\t\treturn EINVAL\n\t}\n\n\t// Unmap the memory and update m.\n\tif errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil {\n\t\treturn errno\n\t}\n\tdelete(m.active, p)\n\treturn nil\n}\n\nfunc Read(fd int, p []byte) (n int, err error) {\n\tn, err = read(fd, p)\n\tif raceenabled {\n\t\tif n > 0 {\n\t\t\traceWriteRange(unsafe.Pointer(&p[0]), n)\n\t\t}\n\t\tif err == nil {\n\t\t\traceAcquire(unsafe.Pointer(&ioSync))\n\t\t}\n\t}\n\treturn\n}\n\nfunc Write(fd int, p []byte) (n int, err error) {\n\tif raceenabled {\n\t\traceReleaseMerge(unsafe.Pointer(&ioSync))\n\t}\n\tn, err = write(fd, p)\n\tif raceenabled && n > 0 {\n\t\traceReadRange(unsafe.Pointer(&p[0]), n)\n\t}\n\treturn\n}\n\n// For testing: clients can set this flag to force\n// creation of IPv6 sockets to return EAFNOSUPPORT.\nvar SocketDisableIPv6 bool\n\ntype Sockaddr interface {\n\tsockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs\n}\n\ntype SockaddrInet4 struct {\n\tPort int\n\tAddr [4]byte\n\traw  RawSockaddrInet4\n}\n\ntype SockaddrInet6 struct {\n\tPort   int\n\tZoneId uint32\n\tAddr   [16]byte\n\traw    RawSockaddrInet6\n}\n\ntype SockaddrUnix struct {\n\tName string\n\traw  RawSockaddrUnix\n}\n\nfunc Bind(fd int, sa Sockaddr) (err error) {\n\tptr, n, err := sa.sockaddr()\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn bind(fd, ptr, n)\n}\n\nfunc Connect(fd int, sa Sockaddr) (err error) {\n\tptr, n, err := sa.sockaddr()\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn connect(fd, ptr, n)\n}\n\nfunc Getpeername(fd int) (sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tif err = getpeername(fd, &rsa, &len); err != nil {\n\t\treturn\n\t}\n\treturn anyToSockaddr(&rsa)\n}\n\nfunc GetsockoptInt(fd, level, opt int) (value int, err error) {\n\tvar n int32\n\tvallen := _Socklen(4)\n\terr = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)\n\treturn int(n), err\n}\n\nfunc Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tif n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil {\n\t\treturn\n\t}\n\tif rsa.Addr.Family != AF_UNSPEC {\n\t\tfrom, err = anyToSockaddr(&rsa)\n\t}\n\treturn\n}\n\nfunc Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) {\n\tptr, n, err := to.sockaddr()\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn sendto(fd, p, flags, ptr, n)\n}\n\nfunc SetsockoptByte(fd, level, opt int, value byte) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(&value), 1)\n}\n\nfunc SetsockoptInt(fd, level, opt int, value int) (err error) {\n\tvar n = int32(value)\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(&n), 4)\n}\n\nfunc SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4)\n}\n\nfunc SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq)\n}\n\nfunc SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq)\n}\n\nfunc SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter)\n}\n\nfunc SetsockoptLinger(fd, level, opt int, l *Linger) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger)\n}\n\nfunc SetsockoptString(fd, level, opt int, s string) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), uintptr(len(s)))\n}\n\nfunc SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv))\n}\n\nfunc Socket(domain, typ, proto int) (fd int, err error) {\n\tif domain == AF_INET6 && SocketDisableIPv6 {\n\t\treturn -1, EAFNOSUPPORT\n\t}\n\tfd, err = socket(domain, typ, proto)\n\treturn\n}\n\nfunc Socketpair(domain, typ, proto int) (fd [2]int, err error) {\n\tvar fdx [2]int32\n\terr = socketpair(domain, typ, proto, &fdx)\n\tif err == nil {\n\t\tfd[0] = int(fdx[0])\n\t\tfd[1] = int(fdx[1])\n\t}\n\treturn\n}\n\nfunc Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tif raceenabled {\n\t\traceReleaseMerge(unsafe.Pointer(&ioSync))\n\t}\n\treturn sendfile(outfd, infd, offset, count)\n}\n\nvar ioSync int64\n\nfunc CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) }\n\nfunc SetNonblock(fd int, nonblocking bool) (err error) {\n\tflag, err := fcntl(fd, F_GETFL, 0)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif nonblocking {\n\t\tflag |= O_NONBLOCK\n\t} else {\n\t\tflag &= ^O_NONBLOCK\n\t}\n\t_, err = fcntl(fd, F_SETFL, flag)\n\treturn err\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_unix_gc.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n// +build !gccgo\n\npackage unix\n\nimport \"syscall\"\n\nfunc Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)\nfunc Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)\nfunc RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)\nfunc RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/timestruct.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\npackage unix\n\nimport \"time\"\n\n// TimespecToNsec converts a Timespec value into a number of\n// nanoseconds since the Unix epoch.\nfunc TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }\n\n// NsecToTimespec takes a number of nanoseconds since the Unix epoch\n// and returns the corresponding Timespec value.\nfunc NsecToTimespec(nsec int64) Timespec {\n\tsec := nsec / 1e9\n\tnsec = nsec % 1e9\n\tif nsec < 0 {\n\t\tnsec += 1e9\n\t\tsec--\n\t}\n\treturn setTimespec(sec, nsec)\n}\n\n// TimeToTimespec converts t into a Timespec.\n// On some 32-bit systems the range of valid Timespec values are smaller\n// than that of time.Time values.  So if t is out of the valid range of\n// Timespec, it returns a zero Timespec and ERANGE.\nfunc TimeToTimespec(t time.Time) (Timespec, error) {\n\tsec := t.Unix()\n\tnsec := int64(t.Nanosecond())\n\tts := setTimespec(sec, nsec)\n\n\t// Currently all targets have either int32 or int64 for Timespec.Sec.\n\t// If there were a new target with floating point type for it, we have\n\t// to consider the rounding error.\n\tif int64(ts.Sec) != sec {\n\t\treturn Timespec{}, ERANGE\n\t}\n\treturn ts, nil\n}\n\n// TimevalToNsec converts a Timeval value into a number of nanoseconds\n// since the Unix epoch.\nfunc TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }\n\n// NsecToTimeval takes a number of nanoseconds since the Unix epoch\n// and returns the corresponding Timeval value.\nfunc NsecToTimeval(nsec int64) Timeval {\n\tnsec += 999 // round up to microsecond\n\tusec := nsec % 1e9 / 1e3\n\tsec := nsec / 1e9\n\tif usec < 0 {\n\t\tusec += 1e6\n\t\tsec--\n\t}\n\treturn setTimeval(sec, usec)\n}\n\n// Unix returns ts as the number of seconds and nanoseconds elapsed since the\n// Unix epoch.\nfunc (ts *Timespec) Unix() (sec int64, nsec int64) {\n\treturn int64(ts.Sec), int64(ts.Nsec)\n}\n\n// Unix returns tv as the number of seconds and nanoseconds elapsed since the\n// Unix epoch.\nfunc (tv *Timeval) Unix() (sec int64, nsec int64) {\n\treturn int64(tv.Sec), int64(tv.Usec) * 1000\n}\n\n// Nano returns ts as the number of nanoseconds elapsed since the Unix epoch.\nfunc (ts *Timespec) Nano() int64 {\n\treturn int64(ts.Sec)*1e9 + int64(ts.Nsec)\n}\n\n// Nano returns tv as the number of nanoseconds elapsed since the Unix epoch.\nfunc (tv *Timeval) Nano() int64 {\n\treturn int64(tv.Sec)*1e9 + int64(tv.Usec)*1000\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/types_darwin.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n/*\nInput to cgo -godefs.  See README.md\n*/\n\n// +godefs map struct_in_addr [4]byte /* in_addr */\n// +godefs map struct_in6_addr [16]byte /* in6_addr */\n\npackage unix\n\n/*\n#define __DARWIN_UNIX03 0\n#define KERNEL\n#define _DARWIN_USE_64_BIT_INODE\n#include <dirent.h>\n#include <fcntl.h>\n#include <poll.h>\n#include <signal.h>\n#include <termios.h>\n#include <unistd.h>\n#include <mach/mach.h>\n#include <mach/message.h>\n#include <sys/event.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/param.h>\n#include <sys/ptrace.h>\n#include <sys/resource.h>\n#include <sys/select.h>\n#include <sys/signal.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/time.h>\n#include <sys/types.h>\n#include <sys/uio.h>\n#include <sys/un.h>\n#include <sys/utsname.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_dl.h>\n#include <net/if_var.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/icmp6.h>\n#include <netinet/tcp.h>\n\nenum {\n\tsizeofPtr = sizeof(void*),\n};\n\nunion sockaddr_all {\n\tstruct sockaddr s1;\t// this one gets used for fields\n\tstruct sockaddr_in s2;\t// these pad it out\n\tstruct sockaddr_in6 s3;\n\tstruct sockaddr_un s4;\n\tstruct sockaddr_dl s5;\n};\n\nstruct sockaddr_any {\n\tstruct sockaddr addr;\n\tchar pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];\n};\n\n*/\nimport \"C\"\n\n// Machine characteristics; for internal use.\n\nconst (\n\tsizeofPtr      = C.sizeofPtr\n\tsizeofShort    = C.sizeof_short\n\tsizeofInt      = C.sizeof_int\n\tsizeofLong     = C.sizeof_long\n\tsizeofLongLong = C.sizeof_longlong\n)\n\n// Basic types\n\ntype (\n\t_C_short     C.short\n\t_C_int       C.int\n\t_C_long      C.long\n\t_C_long_long C.longlong\n)\n\n// Time\n\ntype Timespec C.struct_timespec\n\ntype Timeval C.struct_timeval\n\ntype Timeval32 C.struct_timeval32\n\n// Processes\n\ntype Rusage C.struct_rusage\n\ntype Rlimit C.struct_rlimit\n\ntype _Gid_t C.gid_t\n\n// Files\n\ntype Stat_t C.struct_stat64\n\ntype Statfs_t C.struct_statfs64\n\ntype Flock_t C.struct_flock\n\ntype Fstore_t C.struct_fstore\n\ntype Radvisory_t C.struct_radvisory\n\ntype Fbootstraptransfer_t C.struct_fbootstraptransfer\n\ntype Log2phys_t C.struct_log2phys\n\ntype Fsid C.struct_fsid\n\ntype Dirent C.struct_dirent\n\n// Sockets\n\ntype RawSockaddrInet4 C.struct_sockaddr_in\n\ntype RawSockaddrInet6 C.struct_sockaddr_in6\n\ntype RawSockaddrUnix C.struct_sockaddr_un\n\ntype RawSockaddrDatalink C.struct_sockaddr_dl\n\ntype RawSockaddr C.struct_sockaddr\n\ntype RawSockaddrAny C.struct_sockaddr_any\n\ntype _Socklen C.socklen_t\n\ntype Linger C.struct_linger\n\ntype Iovec C.struct_iovec\n\ntype IPMreq C.struct_ip_mreq\n\ntype IPv6Mreq C.struct_ipv6_mreq\n\ntype Msghdr C.struct_msghdr\n\ntype Cmsghdr C.struct_cmsghdr\n\ntype Inet4Pktinfo C.struct_in_pktinfo\n\ntype Inet6Pktinfo C.struct_in6_pktinfo\n\ntype IPv6MTUInfo C.struct_ip6_mtuinfo\n\ntype ICMPv6Filter C.struct_icmp6_filter\n\nconst (\n\tSizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in\n\tSizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6\n\tSizeofSockaddrAny      = C.sizeof_struct_sockaddr_any\n\tSizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un\n\tSizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl\n\tSizeofLinger           = C.sizeof_struct_linger\n\tSizeofIPMreq           = C.sizeof_struct_ip_mreq\n\tSizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq\n\tSizeofMsghdr           = C.sizeof_struct_msghdr\n\tSizeofCmsghdr          = C.sizeof_struct_cmsghdr\n\tSizeofInet4Pktinfo     = C.sizeof_struct_in_pktinfo\n\tSizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo\n\tSizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo\n\tSizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter\n)\n\n// Ptrace requests\n\nconst (\n\tPTRACE_TRACEME = C.PT_TRACE_ME\n\tPTRACE_CONT    = C.PT_CONTINUE\n\tPTRACE_KILL    = C.PT_KILL\n)\n\n// Events (kqueue, kevent)\n\ntype Kevent_t C.struct_kevent\n\n// Select\n\ntype FdSet C.fd_set\n\n// Routing and interface messages\n\nconst (\n\tSizeofIfMsghdr    = C.sizeof_struct_if_msghdr\n\tSizeofIfData      = C.sizeof_struct_if_data\n\tSizeofIfaMsghdr   = C.sizeof_struct_ifa_msghdr\n\tSizeofIfmaMsghdr  = C.sizeof_struct_ifma_msghdr\n\tSizeofIfmaMsghdr2 = C.sizeof_struct_ifma_msghdr2\n\tSizeofRtMsghdr    = C.sizeof_struct_rt_msghdr\n\tSizeofRtMetrics   = C.sizeof_struct_rt_metrics\n)\n\ntype IfMsghdr C.struct_if_msghdr\n\ntype IfData C.struct_if_data\n\ntype IfaMsghdr C.struct_ifa_msghdr\n\ntype IfmaMsghdr C.struct_ifma_msghdr\n\ntype IfmaMsghdr2 C.struct_ifma_msghdr2\n\ntype RtMsghdr C.struct_rt_msghdr\n\ntype RtMetrics C.struct_rt_metrics\n\n// Berkeley packet filter\n\nconst (\n\tSizeofBpfVersion = C.sizeof_struct_bpf_version\n\tSizeofBpfStat    = C.sizeof_struct_bpf_stat\n\tSizeofBpfProgram = C.sizeof_struct_bpf_program\n\tSizeofBpfInsn    = C.sizeof_struct_bpf_insn\n\tSizeofBpfHdr     = C.sizeof_struct_bpf_hdr\n)\n\ntype BpfVersion C.struct_bpf_version\n\ntype BpfStat C.struct_bpf_stat\n\ntype BpfProgram C.struct_bpf_program\n\ntype BpfInsn C.struct_bpf_insn\n\ntype BpfHdr C.struct_bpf_hdr\n\n// Terminal handling\n\ntype Termios C.struct_termios\n\ntype Winsize C.struct_winsize\n\n// fchmodat-like syscalls.\n\nconst (\n\tAT_FDCWD            = C.AT_FDCWD\n\tAT_REMOVEDIR        = C.AT_REMOVEDIR\n\tAT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW\n\tAT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW\n)\n\n// poll\n\ntype PollFd C.struct_pollfd\n\nconst (\n\tPOLLERR    = C.POLLERR\n\tPOLLHUP    = C.POLLHUP\n\tPOLLIN     = C.POLLIN\n\tPOLLNVAL   = C.POLLNVAL\n\tPOLLOUT    = C.POLLOUT\n\tPOLLPRI    = C.POLLPRI\n\tPOLLRDBAND = C.POLLRDBAND\n\tPOLLRDNORM = C.POLLRDNORM\n\tPOLLWRBAND = C.POLLWRBAND\n\tPOLLWRNORM = C.POLLWRNORM\n)\n\n// uname\n\ntype Utsname C.struct_utsname\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/types_dragonfly.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n/*\nInput to cgo -godefs.  See README.md\n*/\n\n// +godefs map struct_in_addr [4]byte /* in_addr */\n// +godefs map struct_in6_addr [16]byte /* in6_addr */\n\npackage unix\n\n/*\n#define KERNEL\n#include <dirent.h>\n#include <fcntl.h>\n#include <poll.h>\n#include <signal.h>\n#include <termios.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <sys/event.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/param.h>\n#include <sys/ptrace.h>\n#include <sys/resource.h>\n#include <sys/select.h>\n#include <sys/signal.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/time.h>\n#include <sys/types.h>\n#include <sys/un.h>\n#include <sys/utsname.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_dl.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/icmp6.h>\n#include <netinet/tcp.h>\n\nenum {\n\tsizeofPtr = sizeof(void*),\n};\n\nunion sockaddr_all {\n\tstruct sockaddr s1;\t// this one gets used for fields\n\tstruct sockaddr_in s2;\t// these pad it out\n\tstruct sockaddr_in6 s3;\n\tstruct sockaddr_un s4;\n\tstruct sockaddr_dl s5;\n};\n\nstruct sockaddr_any {\n\tstruct sockaddr addr;\n\tchar pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];\n};\n\n*/\nimport \"C\"\n\n// Machine characteristics; for internal use.\n\nconst (\n\tsizeofPtr      = C.sizeofPtr\n\tsizeofShort    = C.sizeof_short\n\tsizeofInt      = C.sizeof_int\n\tsizeofLong     = C.sizeof_long\n\tsizeofLongLong = C.sizeof_longlong\n)\n\n// Basic types\n\ntype (\n\t_C_short     C.short\n\t_C_int       C.int\n\t_C_long      C.long\n\t_C_long_long C.longlong\n)\n\n// Time\n\ntype Timespec C.struct_timespec\n\ntype Timeval C.struct_timeval\n\n// Processes\n\ntype Rusage C.struct_rusage\n\ntype Rlimit C.struct_rlimit\n\ntype _Gid_t C.gid_t\n\n// Files\n\nconst ( // Directory mode bits\n\tS_IFMT   = C.S_IFMT\n\tS_IFIFO  = C.S_IFIFO\n\tS_IFCHR  = C.S_IFCHR\n\tS_IFDIR  = C.S_IFDIR\n\tS_IFBLK  = C.S_IFBLK\n\tS_IFREG  = C.S_IFREG\n\tS_IFLNK  = C.S_IFLNK\n\tS_IFSOCK = C.S_IFSOCK\n\tS_ISUID  = C.S_ISUID\n\tS_ISGID  = C.S_ISGID\n\tS_ISVTX  = C.S_ISVTX\n\tS_IRUSR  = C.S_IRUSR\n\tS_IWUSR  = C.S_IWUSR\n\tS_IXUSR  = C.S_IXUSR\n)\n\ntype Stat_t C.struct_stat\n\ntype Statfs_t C.struct_statfs\n\ntype Flock_t C.struct_flock\n\ntype Dirent C.struct_dirent\n\ntype Fsid C.struct_fsid\n\n// File system limits\n\nconst (\n\tPathMax = C.PATH_MAX\n)\n\n// Sockets\n\ntype RawSockaddrInet4 C.struct_sockaddr_in\n\ntype RawSockaddrInet6 C.struct_sockaddr_in6\n\ntype RawSockaddrUnix C.struct_sockaddr_un\n\ntype RawSockaddrDatalink C.struct_sockaddr_dl\n\ntype RawSockaddr C.struct_sockaddr\n\ntype RawSockaddrAny C.struct_sockaddr_any\n\ntype _Socklen C.socklen_t\n\ntype Linger C.struct_linger\n\ntype Iovec C.struct_iovec\n\ntype IPMreq C.struct_ip_mreq\n\ntype IPv6Mreq C.struct_ipv6_mreq\n\ntype Msghdr C.struct_msghdr\n\ntype Cmsghdr C.struct_cmsghdr\n\ntype Inet6Pktinfo C.struct_in6_pktinfo\n\ntype IPv6MTUInfo C.struct_ip6_mtuinfo\n\ntype ICMPv6Filter C.struct_icmp6_filter\n\nconst (\n\tSizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in\n\tSizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6\n\tSizeofSockaddrAny      = C.sizeof_struct_sockaddr_any\n\tSizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un\n\tSizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl\n\tSizeofLinger           = C.sizeof_struct_linger\n\tSizeofIPMreq           = C.sizeof_struct_ip_mreq\n\tSizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq\n\tSizeofMsghdr           = C.sizeof_struct_msghdr\n\tSizeofCmsghdr          = C.sizeof_struct_cmsghdr\n\tSizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo\n\tSizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo\n\tSizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter\n)\n\n// Ptrace requests\n\nconst (\n\tPTRACE_TRACEME = C.PT_TRACE_ME\n\tPTRACE_CONT    = C.PT_CONTINUE\n\tPTRACE_KILL    = C.PT_KILL\n)\n\n// Events (kqueue, kevent)\n\ntype Kevent_t C.struct_kevent\n\n// Select\n\ntype FdSet C.fd_set\n\n// Routing and interface messages\n\nconst (\n\tSizeofIfMsghdr         = C.sizeof_struct_if_msghdr\n\tSizeofIfData           = C.sizeof_struct_if_data\n\tSizeofIfaMsghdr        = C.sizeof_struct_ifa_msghdr\n\tSizeofIfmaMsghdr       = C.sizeof_struct_ifma_msghdr\n\tSizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr\n\tSizeofRtMsghdr         = C.sizeof_struct_rt_msghdr\n\tSizeofRtMetrics        = C.sizeof_struct_rt_metrics\n)\n\ntype IfMsghdr C.struct_if_msghdr\n\ntype IfData C.struct_if_data\n\ntype IfaMsghdr C.struct_ifa_msghdr\n\ntype IfmaMsghdr C.struct_ifma_msghdr\n\ntype IfAnnounceMsghdr C.struct_if_announcemsghdr\n\ntype RtMsghdr C.struct_rt_msghdr\n\ntype RtMetrics C.struct_rt_metrics\n\n// Berkeley packet filter\n\nconst (\n\tSizeofBpfVersion = C.sizeof_struct_bpf_version\n\tSizeofBpfStat    = C.sizeof_struct_bpf_stat\n\tSizeofBpfProgram = C.sizeof_struct_bpf_program\n\tSizeofBpfInsn    = C.sizeof_struct_bpf_insn\n\tSizeofBpfHdr     = C.sizeof_struct_bpf_hdr\n)\n\ntype BpfVersion C.struct_bpf_version\n\ntype BpfStat C.struct_bpf_stat\n\ntype BpfProgram C.struct_bpf_program\n\ntype BpfInsn C.struct_bpf_insn\n\ntype BpfHdr C.struct_bpf_hdr\n\n// Terminal handling\n\ntype Termios C.struct_termios\n\ntype Winsize C.struct_winsize\n\n// fchmodat-like syscalls.\n\nconst (\n\tAT_FDCWD            = C.AT_FDCWD\n\tAT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW\n)\n\n// poll\n\ntype PollFd C.struct_pollfd\n\nconst (\n\tPOLLERR    = C.POLLERR\n\tPOLLHUP    = C.POLLHUP\n\tPOLLIN     = C.POLLIN\n\tPOLLNVAL   = C.POLLNVAL\n\tPOLLOUT    = C.POLLOUT\n\tPOLLPRI    = C.POLLPRI\n\tPOLLRDBAND = C.POLLRDBAND\n\tPOLLRDNORM = C.POLLRDNORM\n\tPOLLWRBAND = C.POLLWRBAND\n\tPOLLWRNORM = C.POLLWRNORM\n)\n\n// Uname\n\ntype Utsname C.struct_utsname\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/types_freebsd.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n/*\nInput to cgo -godefs.  See README.md\n*/\n\n// +godefs map struct_in_addr [4]byte /* in_addr */\n// +godefs map struct_in6_addr [16]byte /* in6_addr */\n\npackage unix\n\n/*\n#define KERNEL\n#include <dirent.h>\n#include <fcntl.h>\n#include <poll.h>\n#include <signal.h>\n#include <termios.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <sys/capability.h>\n#include <sys/event.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/param.h>\n#include <sys/ptrace.h>\n#include <sys/resource.h>\n#include <sys/select.h>\n#include <sys/signal.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/time.h>\n#include <sys/types.h>\n#include <sys/un.h>\n#include <sys/utsname.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_dl.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/icmp6.h>\n#include <netinet/tcp.h>\n\nenum {\n\tsizeofPtr = sizeof(void*),\n};\n\nunion sockaddr_all {\n\tstruct sockaddr s1;\t// this one gets used for fields\n\tstruct sockaddr_in s2;\t// these pad it out\n\tstruct sockaddr_in6 s3;\n\tstruct sockaddr_un s4;\n\tstruct sockaddr_dl s5;\n};\n\nstruct sockaddr_any {\n\tstruct sockaddr addr;\n\tchar pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];\n};\n\n// This structure is a duplicate of stat on FreeBSD 8-STABLE.\n// See /usr/include/sys/stat.h.\nstruct stat8 {\n#undef st_atimespec\tst_atim\n#undef st_mtimespec\tst_mtim\n#undef st_ctimespec\tst_ctim\n#undef st_birthtimespec\tst_birthtim\n\t__dev_t   st_dev;\n\tino_t     st_ino;\n\tmode_t    st_mode;\n\tnlink_t   st_nlink;\n\tuid_t     st_uid;\n\tgid_t     st_gid;\n\t__dev_t   st_rdev;\n#if __BSD_VISIBLE\n\tstruct  timespec st_atimespec;\n\tstruct  timespec st_mtimespec;\n\tstruct  timespec st_ctimespec;\n#else\n\ttime_t    st_atime;\n\tlong      __st_atimensec;\n\ttime_t    st_mtime;\n\tlong      __st_mtimensec;\n\ttime_t    st_ctime;\n\tlong      __st_ctimensec;\n#endif\n\toff_t     st_size;\n\tblkcnt_t st_blocks;\n\tblksize_t st_blksize;\n\tfflags_t  st_flags;\n\t__uint32_t st_gen;\n\t__int32_t st_lspare;\n#if __BSD_VISIBLE\n\tstruct timespec st_birthtimespec;\n\tunsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec));\n\tunsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec));\n#else\n\ttime_t    st_birthtime;\n\tlong      st_birthtimensec;\n\tunsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec));\n\tunsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec));\n#endif\n};\n\n// This structure is a duplicate of if_data on FreeBSD 8-STABLE.\n// See /usr/include/net/if.h.\nstruct if_data8 {\n\tu_char  ifi_type;\n\tu_char  ifi_physical;\n\tu_char  ifi_addrlen;\n\tu_char  ifi_hdrlen;\n\tu_char  ifi_link_state;\n\tu_char  ifi_spare_char1;\n\tu_char  ifi_spare_char2;\n\tu_char  ifi_datalen;\n\tu_long  ifi_mtu;\n\tu_long  ifi_metric;\n\tu_long  ifi_baudrate;\n\tu_long  ifi_ipackets;\n\tu_long  ifi_ierrors;\n\tu_long  ifi_opackets;\n\tu_long  ifi_oerrors;\n\tu_long  ifi_collisions;\n\tu_long  ifi_ibytes;\n\tu_long  ifi_obytes;\n\tu_long  ifi_imcasts;\n\tu_long  ifi_omcasts;\n\tu_long  ifi_iqdrops;\n\tu_long  ifi_noproto;\n\tu_long  ifi_hwassist;\n// FIXME: these are now unions, so maybe need to change definitions?\n#undef ifi_epoch\n\ttime_t  ifi_epoch;\n#undef ifi_lastchange\n\tstruct  timeval ifi_lastchange;\n};\n\n// This structure is a duplicate of if_msghdr on FreeBSD 8-STABLE.\n// See /usr/include/net/if.h.\nstruct if_msghdr8 {\n\tu_short ifm_msglen;\n\tu_char  ifm_version;\n\tu_char  ifm_type;\n\tint     ifm_addrs;\n\tint     ifm_flags;\n\tu_short ifm_index;\n\tstruct  if_data8 ifm_data;\n};\n*/\nimport \"C\"\n\n// Machine characteristics; for internal use.\n\nconst (\n\tsizeofPtr      = C.sizeofPtr\n\tsizeofShort    = C.sizeof_short\n\tsizeofInt      = C.sizeof_int\n\tsizeofLong     = C.sizeof_long\n\tsizeofLongLong = C.sizeof_longlong\n)\n\n// Basic types\n\ntype (\n\t_C_short     C.short\n\t_C_int       C.int\n\t_C_long      C.long\n\t_C_long_long C.longlong\n)\n\n// Time\n\ntype Timespec C.struct_timespec\n\ntype Timeval C.struct_timeval\n\n// Processes\n\ntype Rusage C.struct_rusage\n\ntype Rlimit C.struct_rlimit\n\ntype _Gid_t C.gid_t\n\n// Files\n\nconst ( // Directory mode bits\n\tS_IFMT   = C.S_IFMT\n\tS_IFIFO  = C.S_IFIFO\n\tS_IFCHR  = C.S_IFCHR\n\tS_IFDIR  = C.S_IFDIR\n\tS_IFBLK  = C.S_IFBLK\n\tS_IFREG  = C.S_IFREG\n\tS_IFLNK  = C.S_IFLNK\n\tS_IFSOCK = C.S_IFSOCK\n\tS_ISUID  = C.S_ISUID\n\tS_ISGID  = C.S_ISGID\n\tS_ISVTX  = C.S_ISVTX\n\tS_IRUSR  = C.S_IRUSR\n\tS_IWUSR  = C.S_IWUSR\n\tS_IXUSR  = C.S_IXUSR\n)\n\ntype Stat_t C.struct_stat8\n\ntype Statfs_t C.struct_statfs\n\ntype Flock_t C.struct_flock\n\ntype Dirent C.struct_dirent\n\ntype Fsid C.struct_fsid\n\n// File system limits\n\nconst (\n\tPathMax = C.PATH_MAX\n)\n\n// Advice to Fadvise\n\nconst (\n\tFADV_NORMAL     = C.POSIX_FADV_NORMAL\n\tFADV_RANDOM     = C.POSIX_FADV_RANDOM\n\tFADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL\n\tFADV_WILLNEED   = C.POSIX_FADV_WILLNEED\n\tFADV_DONTNEED   = C.POSIX_FADV_DONTNEED\n\tFADV_NOREUSE    = C.POSIX_FADV_NOREUSE\n)\n\n// Sockets\n\ntype RawSockaddrInet4 C.struct_sockaddr_in\n\ntype RawSockaddrInet6 C.struct_sockaddr_in6\n\ntype RawSockaddrUnix C.struct_sockaddr_un\n\ntype RawSockaddrDatalink C.struct_sockaddr_dl\n\ntype RawSockaddr C.struct_sockaddr\n\ntype RawSockaddrAny C.struct_sockaddr_any\n\ntype _Socklen C.socklen_t\n\ntype Linger C.struct_linger\n\ntype Iovec C.struct_iovec\n\ntype IPMreq C.struct_ip_mreq\n\ntype IPMreqn C.struct_ip_mreqn\n\ntype IPv6Mreq C.struct_ipv6_mreq\n\ntype Msghdr C.struct_msghdr\n\ntype Cmsghdr C.struct_cmsghdr\n\ntype Inet6Pktinfo C.struct_in6_pktinfo\n\ntype IPv6MTUInfo C.struct_ip6_mtuinfo\n\ntype ICMPv6Filter C.struct_icmp6_filter\n\nconst (\n\tSizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in\n\tSizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6\n\tSizeofSockaddrAny      = C.sizeof_struct_sockaddr_any\n\tSizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un\n\tSizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl\n\tSizeofLinger           = C.sizeof_struct_linger\n\tSizeofIPMreq           = C.sizeof_struct_ip_mreq\n\tSizeofIPMreqn          = C.sizeof_struct_ip_mreqn\n\tSizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq\n\tSizeofMsghdr           = C.sizeof_struct_msghdr\n\tSizeofCmsghdr          = C.sizeof_struct_cmsghdr\n\tSizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo\n\tSizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo\n\tSizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter\n)\n\n// Ptrace requests\n\nconst (\n\tPTRACE_TRACEME = C.PT_TRACE_ME\n\tPTRACE_CONT    = C.PT_CONTINUE\n\tPTRACE_KILL    = C.PT_KILL\n)\n\n// Events (kqueue, kevent)\n\ntype Kevent_t C.struct_kevent\n\n// Select\n\ntype FdSet C.fd_set\n\n// Routing and interface messages\n\nconst (\n\tsizeofIfMsghdr         = C.sizeof_struct_if_msghdr\n\tSizeofIfMsghdr         = C.sizeof_struct_if_msghdr8\n\tsizeofIfData           = C.sizeof_struct_if_data\n\tSizeofIfData           = C.sizeof_struct_if_data8\n\tSizeofIfaMsghdr        = C.sizeof_struct_ifa_msghdr\n\tSizeofIfmaMsghdr       = C.sizeof_struct_ifma_msghdr\n\tSizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr\n\tSizeofRtMsghdr         = C.sizeof_struct_rt_msghdr\n\tSizeofRtMetrics        = C.sizeof_struct_rt_metrics\n)\n\ntype ifMsghdr C.struct_if_msghdr\n\ntype IfMsghdr C.struct_if_msghdr8\n\ntype ifData C.struct_if_data\n\ntype IfData C.struct_if_data8\n\ntype IfaMsghdr C.struct_ifa_msghdr\n\ntype IfmaMsghdr C.struct_ifma_msghdr\n\ntype IfAnnounceMsghdr C.struct_if_announcemsghdr\n\ntype RtMsghdr C.struct_rt_msghdr\n\ntype RtMetrics C.struct_rt_metrics\n\n// Berkeley packet filter\n\nconst (\n\tSizeofBpfVersion    = C.sizeof_struct_bpf_version\n\tSizeofBpfStat       = C.sizeof_struct_bpf_stat\n\tSizeofBpfZbuf       = C.sizeof_struct_bpf_zbuf\n\tSizeofBpfProgram    = C.sizeof_struct_bpf_program\n\tSizeofBpfInsn       = C.sizeof_struct_bpf_insn\n\tSizeofBpfHdr        = C.sizeof_struct_bpf_hdr\n\tSizeofBpfZbufHeader = C.sizeof_struct_bpf_zbuf_header\n)\n\ntype BpfVersion C.struct_bpf_version\n\ntype BpfStat C.struct_bpf_stat\n\ntype BpfZbuf C.struct_bpf_zbuf\n\ntype BpfProgram C.struct_bpf_program\n\ntype BpfInsn C.struct_bpf_insn\n\ntype BpfHdr C.struct_bpf_hdr\n\ntype BpfZbufHeader C.struct_bpf_zbuf_header\n\n// Terminal handling\n\ntype Termios C.struct_termios\n\ntype Winsize C.struct_winsize\n\n// fchmodat-like syscalls.\n\nconst (\n\tAT_FDCWD            = C.AT_FDCWD\n\tAT_REMOVEDIR        = C.AT_REMOVEDIR\n\tAT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW\n\tAT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW\n)\n\n// poll\n\ntype PollFd C.struct_pollfd\n\nconst (\n\tPOLLERR      = C.POLLERR\n\tPOLLHUP      = C.POLLHUP\n\tPOLLIN       = C.POLLIN\n\tPOLLINIGNEOF = C.POLLINIGNEOF\n\tPOLLNVAL     = C.POLLNVAL\n\tPOLLOUT      = C.POLLOUT\n\tPOLLPRI      = C.POLLPRI\n\tPOLLRDBAND   = C.POLLRDBAND\n\tPOLLRDNORM   = C.POLLRDNORM\n\tPOLLWRBAND   = C.POLLWRBAND\n\tPOLLWRNORM   = C.POLLWRNORM\n)\n\n// Capabilities\n\ntype CapRights C.struct_cap_rights\n\n// Uname\n\ntype Utsname C.struct_utsname\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/types_netbsd.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n/*\nInput to cgo -godefs.  See README.md\n*/\n\n// +godefs map struct_in_addr [4]byte /* in_addr */\n// +godefs map struct_in6_addr [16]byte /* in6_addr */\n\npackage unix\n\n/*\n#define KERNEL\n#include <dirent.h>\n#include <fcntl.h>\n#include <poll.h>\n#include <signal.h>\n#include <termios.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <sys/param.h>\n#include <sys/types.h>\n#include <sys/event.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/ptrace.h>\n#include <sys/resource.h>\n#include <sys/select.h>\n#include <sys/signal.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/sysctl.h>\n#include <sys/time.h>\n#include <sys/uio.h>\n#include <sys/un.h>\n#include <sys/utsname.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_dl.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/icmp6.h>\n#include <netinet/tcp.h>\n\nenum {\n\tsizeofPtr = sizeof(void*),\n};\n\nunion sockaddr_all {\n\tstruct sockaddr s1;\t// this one gets used for fields\n\tstruct sockaddr_in s2;\t// these pad it out\n\tstruct sockaddr_in6 s3;\n\tstruct sockaddr_un s4;\n\tstruct sockaddr_dl s5;\n};\n\nstruct sockaddr_any {\n\tstruct sockaddr addr;\n\tchar pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];\n};\n\n*/\nimport \"C\"\n\n// Machine characteristics; for internal use.\n\nconst (\n\tsizeofPtr      = C.sizeofPtr\n\tsizeofShort    = C.sizeof_short\n\tsizeofInt      = C.sizeof_int\n\tsizeofLong     = C.sizeof_long\n\tsizeofLongLong = C.sizeof_longlong\n)\n\n// Basic types\n\ntype (\n\t_C_short     C.short\n\t_C_int       C.int\n\t_C_long      C.long\n\t_C_long_long C.longlong\n)\n\n// Time\n\ntype Timespec C.struct_timespec\n\ntype Timeval C.struct_timeval\n\n// Processes\n\ntype Rusage C.struct_rusage\n\ntype Rlimit C.struct_rlimit\n\ntype _Gid_t C.gid_t\n\n// Files\n\ntype Stat_t C.struct_stat\n\ntype Statfs_t C.struct_statfs\n\ntype Flock_t C.struct_flock\n\ntype Dirent C.struct_dirent\n\ntype Fsid C.fsid_t\n\n// File system limits\n\nconst (\n\tPathMax = C.PATH_MAX\n)\n\n// Sockets\n\ntype RawSockaddrInet4 C.struct_sockaddr_in\n\ntype RawSockaddrInet6 C.struct_sockaddr_in6\n\ntype RawSockaddrUnix C.struct_sockaddr_un\n\ntype RawSockaddrDatalink C.struct_sockaddr_dl\n\ntype RawSockaddr C.struct_sockaddr\n\ntype RawSockaddrAny C.struct_sockaddr_any\n\ntype _Socklen C.socklen_t\n\ntype Linger C.struct_linger\n\ntype Iovec C.struct_iovec\n\ntype IPMreq C.struct_ip_mreq\n\ntype IPv6Mreq C.struct_ipv6_mreq\n\ntype Msghdr C.struct_msghdr\n\ntype Cmsghdr C.struct_cmsghdr\n\ntype Inet6Pktinfo C.struct_in6_pktinfo\n\ntype IPv6MTUInfo C.struct_ip6_mtuinfo\n\ntype ICMPv6Filter C.struct_icmp6_filter\n\nconst (\n\tSizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in\n\tSizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6\n\tSizeofSockaddrAny      = C.sizeof_struct_sockaddr_any\n\tSizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un\n\tSizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl\n\tSizeofLinger           = C.sizeof_struct_linger\n\tSizeofIPMreq           = C.sizeof_struct_ip_mreq\n\tSizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq\n\tSizeofMsghdr           = C.sizeof_struct_msghdr\n\tSizeofCmsghdr          = C.sizeof_struct_cmsghdr\n\tSizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo\n\tSizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo\n\tSizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter\n)\n\n// Ptrace requests\n\nconst (\n\tPTRACE_TRACEME = C.PT_TRACE_ME\n\tPTRACE_CONT    = C.PT_CONTINUE\n\tPTRACE_KILL    = C.PT_KILL\n)\n\n// Events (kqueue, kevent)\n\ntype Kevent_t C.struct_kevent\n\n// Select\n\ntype FdSet C.fd_set\n\n// Routing and interface messages\n\nconst (\n\tSizeofIfMsghdr         = C.sizeof_struct_if_msghdr\n\tSizeofIfData           = C.sizeof_struct_if_data\n\tSizeofIfaMsghdr        = C.sizeof_struct_ifa_msghdr\n\tSizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr\n\tSizeofRtMsghdr         = C.sizeof_struct_rt_msghdr\n\tSizeofRtMetrics        = C.sizeof_struct_rt_metrics\n)\n\ntype IfMsghdr C.struct_if_msghdr\n\ntype IfData C.struct_if_data\n\ntype IfaMsghdr C.struct_ifa_msghdr\n\ntype IfAnnounceMsghdr C.struct_if_announcemsghdr\n\ntype RtMsghdr C.struct_rt_msghdr\n\ntype RtMetrics C.struct_rt_metrics\n\ntype Mclpool C.struct_mclpool\n\n// Berkeley packet filter\n\nconst (\n\tSizeofBpfVersion = C.sizeof_struct_bpf_version\n\tSizeofBpfStat    = C.sizeof_struct_bpf_stat\n\tSizeofBpfProgram = C.sizeof_struct_bpf_program\n\tSizeofBpfInsn    = C.sizeof_struct_bpf_insn\n\tSizeofBpfHdr     = C.sizeof_struct_bpf_hdr\n)\n\ntype BpfVersion C.struct_bpf_version\n\ntype BpfStat C.struct_bpf_stat\n\ntype BpfProgram C.struct_bpf_program\n\ntype BpfInsn C.struct_bpf_insn\n\ntype BpfHdr C.struct_bpf_hdr\n\ntype BpfTimeval C.struct_bpf_timeval\n\n// Terminal handling\n\ntype Termios C.struct_termios\n\ntype Winsize C.struct_winsize\n\n// fchmodat-like syscalls.\n\nconst (\n\tAT_FDCWD            = C.AT_FDCWD\n\tAT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW\n)\n\n// poll\n\ntype PollFd C.struct_pollfd\n\nconst (\n\tPOLLERR    = C.POLLERR\n\tPOLLHUP    = C.POLLHUP\n\tPOLLIN     = C.POLLIN\n\tPOLLNVAL   = C.POLLNVAL\n\tPOLLOUT    = C.POLLOUT\n\tPOLLPRI    = C.POLLPRI\n\tPOLLRDBAND = C.POLLRDBAND\n\tPOLLRDNORM = C.POLLRDNORM\n\tPOLLWRBAND = C.POLLWRBAND\n\tPOLLWRNORM = C.POLLWRNORM\n)\n\n// Sysctl\n\ntype Sysctlnode C.struct_sysctlnode\n\n// Uname\n\ntype Utsname C.struct_utsname\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/types_openbsd.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n/*\nInput to cgo -godefs.  See README.md\n*/\n\n// +godefs map struct_in_addr [4]byte /* in_addr */\n// +godefs map struct_in6_addr [16]byte /* in6_addr */\n\npackage unix\n\n/*\n#define KERNEL\n#include <dirent.h>\n#include <fcntl.h>\n#include <poll.h>\n#include <signal.h>\n#include <termios.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <sys/param.h>\n#include <sys/types.h>\n#include <sys/event.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/ptrace.h>\n#include <sys/resource.h>\n#include <sys/select.h>\n#include <sys/signal.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/time.h>\n#include <sys/uio.h>\n#include <sys/un.h>\n#include <sys/utsname.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_dl.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/icmp6.h>\n#include <netinet/tcp.h>\n\nenum {\n\tsizeofPtr = sizeof(void*),\n};\n\nunion sockaddr_all {\n\tstruct sockaddr s1;\t// this one gets used for fields\n\tstruct sockaddr_in s2;\t// these pad it out\n\tstruct sockaddr_in6 s3;\n\tstruct sockaddr_un s4;\n\tstruct sockaddr_dl s5;\n};\n\nstruct sockaddr_any {\n\tstruct sockaddr addr;\n\tchar pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];\n};\n\n*/\nimport \"C\"\n\n// Machine characteristics; for internal use.\n\nconst (\n\tsizeofPtr      = C.sizeofPtr\n\tsizeofShort    = C.sizeof_short\n\tsizeofInt      = C.sizeof_int\n\tsizeofLong     = C.sizeof_long\n\tsizeofLongLong = C.sizeof_longlong\n)\n\n// Basic types\n\ntype (\n\t_C_short     C.short\n\t_C_int       C.int\n\t_C_long      C.long\n\t_C_long_long C.longlong\n)\n\n// Time\n\ntype Timespec C.struct_timespec\n\ntype Timeval C.struct_timeval\n\n// Processes\n\ntype Rusage C.struct_rusage\n\ntype Rlimit C.struct_rlimit\n\ntype _Gid_t C.gid_t\n\n// Files\n\nconst ( // Directory mode bits\n\tS_IFMT   = C.S_IFMT\n\tS_IFIFO  = C.S_IFIFO\n\tS_IFCHR  = C.S_IFCHR\n\tS_IFDIR  = C.S_IFDIR\n\tS_IFBLK  = C.S_IFBLK\n\tS_IFREG  = C.S_IFREG\n\tS_IFLNK  = C.S_IFLNK\n\tS_IFSOCK = C.S_IFSOCK\n\tS_ISUID  = C.S_ISUID\n\tS_ISGID  = C.S_ISGID\n\tS_ISVTX  = C.S_ISVTX\n\tS_IRUSR  = C.S_IRUSR\n\tS_IWUSR  = C.S_IWUSR\n\tS_IXUSR  = C.S_IXUSR\n)\n\ntype Stat_t C.struct_stat\n\ntype Statfs_t C.struct_statfs\n\ntype Flock_t C.struct_flock\n\ntype Dirent C.struct_dirent\n\ntype Fsid C.fsid_t\n\n// File system limits\n\nconst (\n\tPathMax = C.PATH_MAX\n)\n\n// Sockets\n\ntype RawSockaddrInet4 C.struct_sockaddr_in\n\ntype RawSockaddrInet6 C.struct_sockaddr_in6\n\ntype RawSockaddrUnix C.struct_sockaddr_un\n\ntype RawSockaddrDatalink C.struct_sockaddr_dl\n\ntype RawSockaddr C.struct_sockaddr\n\ntype RawSockaddrAny C.struct_sockaddr_any\n\ntype _Socklen C.socklen_t\n\ntype Linger C.struct_linger\n\ntype Iovec C.struct_iovec\n\ntype IPMreq C.struct_ip_mreq\n\ntype IPv6Mreq C.struct_ipv6_mreq\n\ntype Msghdr C.struct_msghdr\n\ntype Cmsghdr C.struct_cmsghdr\n\ntype Inet6Pktinfo C.struct_in6_pktinfo\n\ntype IPv6MTUInfo C.struct_ip6_mtuinfo\n\ntype ICMPv6Filter C.struct_icmp6_filter\n\nconst (\n\tSizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in\n\tSizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6\n\tSizeofSockaddrAny      = C.sizeof_struct_sockaddr_any\n\tSizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un\n\tSizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl\n\tSizeofLinger           = C.sizeof_struct_linger\n\tSizeofIPMreq           = C.sizeof_struct_ip_mreq\n\tSizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq\n\tSizeofMsghdr           = C.sizeof_struct_msghdr\n\tSizeofCmsghdr          = C.sizeof_struct_cmsghdr\n\tSizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo\n\tSizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo\n\tSizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter\n)\n\n// Ptrace requests\n\nconst (\n\tPTRACE_TRACEME = C.PT_TRACE_ME\n\tPTRACE_CONT    = C.PT_CONTINUE\n\tPTRACE_KILL    = C.PT_KILL\n)\n\n// Events (kqueue, kevent)\n\ntype Kevent_t C.struct_kevent\n\n// Select\n\ntype FdSet C.fd_set\n\n// Routing and interface messages\n\nconst (\n\tSizeofIfMsghdr         = C.sizeof_struct_if_msghdr\n\tSizeofIfData           = C.sizeof_struct_if_data\n\tSizeofIfaMsghdr        = C.sizeof_struct_ifa_msghdr\n\tSizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr\n\tSizeofRtMsghdr         = C.sizeof_struct_rt_msghdr\n\tSizeofRtMetrics        = C.sizeof_struct_rt_metrics\n)\n\ntype IfMsghdr C.struct_if_msghdr\n\ntype IfData C.struct_if_data\n\ntype IfaMsghdr C.struct_ifa_msghdr\n\ntype IfAnnounceMsghdr C.struct_if_announcemsghdr\n\ntype RtMsghdr C.struct_rt_msghdr\n\ntype RtMetrics C.struct_rt_metrics\n\ntype Mclpool C.struct_mclpool\n\n// Berkeley packet filter\n\nconst (\n\tSizeofBpfVersion = C.sizeof_struct_bpf_version\n\tSizeofBpfStat    = C.sizeof_struct_bpf_stat\n\tSizeofBpfProgram = C.sizeof_struct_bpf_program\n\tSizeofBpfInsn    = C.sizeof_struct_bpf_insn\n\tSizeofBpfHdr     = C.sizeof_struct_bpf_hdr\n)\n\ntype BpfVersion C.struct_bpf_version\n\ntype BpfStat C.struct_bpf_stat\n\ntype BpfProgram C.struct_bpf_program\n\ntype BpfInsn C.struct_bpf_insn\n\ntype BpfHdr C.struct_bpf_hdr\n\ntype BpfTimeval C.struct_bpf_timeval\n\n// Terminal handling\n\ntype Termios C.struct_termios\n\ntype Winsize C.struct_winsize\n\n// fchmodat-like syscalls.\n\nconst (\n\tAT_FDCWD            = C.AT_FDCWD\n\tAT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW\n)\n\n// poll\n\ntype PollFd C.struct_pollfd\n\nconst (\n\tPOLLERR    = C.POLLERR\n\tPOLLHUP    = C.POLLHUP\n\tPOLLIN     = C.POLLIN\n\tPOLLNVAL   = C.POLLNVAL\n\tPOLLOUT    = C.POLLOUT\n\tPOLLPRI    = C.POLLPRI\n\tPOLLRDBAND = C.POLLRDBAND\n\tPOLLRDNORM = C.POLLRDNORM\n\tPOLLWRBAND = C.POLLWRBAND\n\tPOLLWRNORM = C.POLLWRNORM\n)\n\n// Uname\n\ntype Utsname C.struct_utsname\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/types_solaris.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n/*\nInput to cgo -godefs.  See README.md\n*/\n\n// +godefs map struct_in_addr [4]byte /* in_addr */\n// +godefs map struct_in6_addr [16]byte /* in6_addr */\n\npackage unix\n\n/*\n#define KERNEL\n// These defines ensure that builds done on newer versions of Solaris are\n// backwards-compatible with older versions of Solaris and\n// OpenSolaris-based derivatives.\n#define __USE_SUNOS_SOCKETS__          // msghdr\n#define __USE_LEGACY_PROTOTYPES__      // iovec\n#include <dirent.h>\n#include <fcntl.h>\n#include <netdb.h>\n#include <limits.h>\n#include <poll.h>\n#include <signal.h>\n#include <termios.h>\n#include <termio.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/param.h>\n#include <sys/resource.h>\n#include <sys/select.h>\n#include <sys/signal.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/statvfs.h>\n#include <sys/time.h>\n#include <sys/times.h>\n#include <sys/types.h>\n#include <sys/utsname.h>\n#include <sys/un.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_dl.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/icmp6.h>\n#include <netinet/tcp.h>\n#include <ustat.h>\n#include <utime.h>\n\nenum {\n\tsizeofPtr = sizeof(void*),\n};\n\nunion sockaddr_all {\n\tstruct sockaddr s1;\t// this one gets used for fields\n\tstruct sockaddr_in s2;\t// these pad it out\n\tstruct sockaddr_in6 s3;\n\tstruct sockaddr_un s4;\n\tstruct sockaddr_dl s5;\n};\n\nstruct sockaddr_any {\n\tstruct sockaddr addr;\n\tchar pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];\n};\n\n*/\nimport \"C\"\n\n// Machine characteristics; for internal use.\n\nconst (\n\tsizeofPtr      = C.sizeofPtr\n\tsizeofShort    = C.sizeof_short\n\tsizeofInt      = C.sizeof_int\n\tsizeofLong     = C.sizeof_long\n\tsizeofLongLong = C.sizeof_longlong\n\tPathMax        = C.PATH_MAX\n\tMaxHostNameLen = C.MAXHOSTNAMELEN\n)\n\n// Basic types\n\ntype (\n\t_C_short     C.short\n\t_C_int       C.int\n\t_C_long      C.long\n\t_C_long_long C.longlong\n)\n\n// Time\n\ntype Timespec C.struct_timespec\n\ntype Timeval C.struct_timeval\n\ntype Timeval32 C.struct_timeval32\n\ntype Tms C.struct_tms\n\ntype Utimbuf C.struct_utimbuf\n\n// Processes\n\ntype Rusage C.struct_rusage\n\ntype Rlimit C.struct_rlimit\n\ntype _Gid_t C.gid_t\n\n// Files\n\nconst ( // Directory mode bits\n\tS_IFMT   = C.S_IFMT\n\tS_IFIFO  = C.S_IFIFO\n\tS_IFCHR  = C.S_IFCHR\n\tS_IFDIR  = C.S_IFDIR\n\tS_IFBLK  = C.S_IFBLK\n\tS_IFREG  = C.S_IFREG\n\tS_IFLNK  = C.S_IFLNK\n\tS_IFSOCK = C.S_IFSOCK\n\tS_ISUID  = C.S_ISUID\n\tS_ISGID  = C.S_ISGID\n\tS_ISVTX  = C.S_ISVTX\n\tS_IRUSR  = C.S_IRUSR\n\tS_IWUSR  = C.S_IWUSR\n\tS_IXUSR  = C.S_IXUSR\n)\n\ntype Stat_t C.struct_stat\n\ntype Flock_t C.struct_flock\n\ntype Dirent C.struct_dirent\n\n// Filesystems\n\ntype _Fsblkcnt_t C.fsblkcnt_t\n\ntype Statvfs_t C.struct_statvfs\n\n// Sockets\n\ntype RawSockaddrInet4 C.struct_sockaddr_in\n\ntype RawSockaddrInet6 C.struct_sockaddr_in6\n\ntype RawSockaddrUnix C.struct_sockaddr_un\n\ntype RawSockaddrDatalink C.struct_sockaddr_dl\n\ntype RawSockaddr C.struct_sockaddr\n\ntype RawSockaddrAny C.struct_sockaddr_any\n\ntype _Socklen C.socklen_t\n\ntype Linger C.struct_linger\n\ntype Iovec C.struct_iovec\n\ntype IPMreq C.struct_ip_mreq\n\ntype IPv6Mreq C.struct_ipv6_mreq\n\ntype Msghdr C.struct_msghdr\n\ntype Cmsghdr C.struct_cmsghdr\n\ntype Inet6Pktinfo C.struct_in6_pktinfo\n\ntype IPv6MTUInfo C.struct_ip6_mtuinfo\n\ntype ICMPv6Filter C.struct_icmp6_filter\n\nconst (\n\tSizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in\n\tSizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6\n\tSizeofSockaddrAny      = C.sizeof_struct_sockaddr_any\n\tSizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un\n\tSizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl\n\tSizeofLinger           = C.sizeof_struct_linger\n\tSizeofIPMreq           = C.sizeof_struct_ip_mreq\n\tSizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq\n\tSizeofMsghdr           = C.sizeof_struct_msghdr\n\tSizeofCmsghdr          = C.sizeof_struct_cmsghdr\n\tSizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo\n\tSizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo\n\tSizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter\n)\n\n// Select\n\ntype FdSet C.fd_set\n\n// Misc\n\ntype Utsname C.struct_utsname\n\ntype Ustat_t C.struct_ustat\n\nconst (\n\tAT_FDCWD            = C.AT_FDCWD\n\tAT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW\n\tAT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW\n\tAT_REMOVEDIR        = C.AT_REMOVEDIR\n\tAT_EACCESS          = C.AT_EACCESS\n)\n\n// Routing and interface messages\n\nconst (\n\tSizeofIfMsghdr  = C.sizeof_struct_if_msghdr\n\tSizeofIfData    = C.sizeof_struct_if_data\n\tSizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr\n\tSizeofRtMsghdr  = C.sizeof_struct_rt_msghdr\n\tSizeofRtMetrics = C.sizeof_struct_rt_metrics\n)\n\ntype IfMsghdr C.struct_if_msghdr\n\ntype IfData C.struct_if_data\n\ntype IfaMsghdr C.struct_ifa_msghdr\n\ntype RtMsghdr C.struct_rt_msghdr\n\ntype RtMetrics C.struct_rt_metrics\n\n// Berkeley packet filter\n\nconst (\n\tSizeofBpfVersion = C.sizeof_struct_bpf_version\n\tSizeofBpfStat    = C.sizeof_struct_bpf_stat\n\tSizeofBpfProgram = C.sizeof_struct_bpf_program\n\tSizeofBpfInsn    = C.sizeof_struct_bpf_insn\n\tSizeofBpfHdr     = C.sizeof_struct_bpf_hdr\n)\n\ntype BpfVersion C.struct_bpf_version\n\ntype BpfStat C.struct_bpf_stat\n\ntype BpfProgram C.struct_bpf_program\n\ntype BpfInsn C.struct_bpf_insn\n\ntype BpfTimeval C.struct_bpf_timeval\n\ntype BpfHdr C.struct_bpf_hdr\n\n// Terminal handling\n\ntype Termios C.struct_termios\n\ntype Termio C.struct_termio\n\ntype Winsize C.struct_winsize\n\n// poll\n\ntype PollFd C.struct_pollfd\n\nconst (\n\tPOLLERR    = C.POLLERR\n\tPOLLHUP    = C.POLLHUP\n\tPOLLIN     = C.POLLIN\n\tPOLLNVAL   = C.POLLNVAL\n\tPOLLOUT    = C.POLLOUT\n\tPOLLPRI    = C.POLLPRI\n\tPOLLRDBAND = C.POLLRDBAND\n\tPOLLRDNORM = C.POLLRDNORM\n\tPOLLWRBAND = C.POLLWRBAND\n\tPOLLWRNORM = C.POLLWRNORM\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_darwin_386.go",
    "content": "// mkerrors.sh -m32\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,darwin\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m32 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1c\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x25\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x1e\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1c\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x28\n\tAF_NATM                           = 0x1f\n\tAF_NDRV                           = 0x1b\n\tAF_NETBIOS                        = 0x21\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PPP                            = 0x22\n\tAF_PUP                            = 0x4\n\tAF_RESERVED_36                    = 0x24\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x18\n\tAF_SNA                            = 0xb\n\tAF_SYSTEM                         = 0x20\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tAF_UTUN                           = 0x26\n\tALTWERASE                         = 0x200\n\tATTR_BIT_MAP_COUNT                = 0x5\n\tATTR_CMN_ACCESSMASK               = 0x20000\n\tATTR_CMN_ACCTIME                  = 0x1000\n\tATTR_CMN_ADDEDTIME                = 0x10000000\n\tATTR_CMN_BKUPTIME                 = 0x2000\n\tATTR_CMN_CHGTIME                  = 0x800\n\tATTR_CMN_CRTIME                   = 0x200\n\tATTR_CMN_DATA_PROTECT_FLAGS       = 0x40000000\n\tATTR_CMN_DEVID                    = 0x2\n\tATTR_CMN_DOCUMENT_ID              = 0x100000\n\tATTR_CMN_ERROR                    = 0x20000000\n\tATTR_CMN_EXTENDED_SECURITY        = 0x400000\n\tATTR_CMN_FILEID                   = 0x2000000\n\tATTR_CMN_FLAGS                    = 0x40000\n\tATTR_CMN_FNDRINFO                 = 0x4000\n\tATTR_CMN_FSID                     = 0x4\n\tATTR_CMN_FULLPATH                 = 0x8000000\n\tATTR_CMN_GEN_COUNT                = 0x80000\n\tATTR_CMN_GRPID                    = 0x10000\n\tATTR_CMN_GRPUUID                  = 0x1000000\n\tATTR_CMN_MODTIME                  = 0x400\n\tATTR_CMN_NAME                     = 0x1\n\tATTR_CMN_NAMEDATTRCOUNT           = 0x80000\n\tATTR_CMN_NAMEDATTRLIST            = 0x100000\n\tATTR_CMN_OBJID                    = 0x20\n\tATTR_CMN_OBJPERMANENTID           = 0x40\n\tATTR_CMN_OBJTAG                   = 0x10\n\tATTR_CMN_OBJTYPE                  = 0x8\n\tATTR_CMN_OWNERID                  = 0x8000\n\tATTR_CMN_PARENTID                 = 0x4000000\n\tATTR_CMN_PAROBJID                 = 0x80\n\tATTR_CMN_RETURNED_ATTRS           = 0x80000000\n\tATTR_CMN_SCRIPT                   = 0x100\n\tATTR_CMN_SETMASK                  = 0x41c7ff00\n\tATTR_CMN_USERACCESS               = 0x200000\n\tATTR_CMN_UUID                     = 0x800000\n\tATTR_CMN_VALIDMASK                = 0xffffffff\n\tATTR_CMN_VOLSETMASK               = 0x6700\n\tATTR_FILE_ALLOCSIZE               = 0x4\n\tATTR_FILE_CLUMPSIZE               = 0x10\n\tATTR_FILE_DATAALLOCSIZE           = 0x400\n\tATTR_FILE_DATAEXTENTS             = 0x800\n\tATTR_FILE_DATALENGTH              = 0x200\n\tATTR_FILE_DEVTYPE                 = 0x20\n\tATTR_FILE_FILETYPE                = 0x40\n\tATTR_FILE_FORKCOUNT               = 0x80\n\tATTR_FILE_FORKLIST                = 0x100\n\tATTR_FILE_IOBLOCKSIZE             = 0x8\n\tATTR_FILE_LINKCOUNT               = 0x1\n\tATTR_FILE_RSRCALLOCSIZE           = 0x2000\n\tATTR_FILE_RSRCEXTENTS             = 0x4000\n\tATTR_FILE_RSRCLENGTH              = 0x1000\n\tATTR_FILE_SETMASK                 = 0x20\n\tATTR_FILE_TOTALSIZE               = 0x2\n\tATTR_FILE_VALIDMASK               = 0x37ff\n\tATTR_VOL_ALLOCATIONCLUMP          = 0x40\n\tATTR_VOL_ATTRIBUTES               = 0x40000000\n\tATTR_VOL_CAPABILITIES             = 0x20000\n\tATTR_VOL_DIRCOUNT                 = 0x400\n\tATTR_VOL_ENCODINGSUSED            = 0x10000\n\tATTR_VOL_FILECOUNT                = 0x200\n\tATTR_VOL_FSTYPE                   = 0x1\n\tATTR_VOL_INFO                     = 0x80000000\n\tATTR_VOL_IOBLOCKSIZE              = 0x80\n\tATTR_VOL_MAXOBJCOUNT              = 0x800\n\tATTR_VOL_MINALLOCATION            = 0x20\n\tATTR_VOL_MOUNTEDDEVICE            = 0x8000\n\tATTR_VOL_MOUNTFLAGS               = 0x4000\n\tATTR_VOL_MOUNTPOINT               = 0x1000\n\tATTR_VOL_NAME                     = 0x2000\n\tATTR_VOL_OBJCOUNT                 = 0x100\n\tATTR_VOL_QUOTA_SIZE               = 0x10000000\n\tATTR_VOL_RESERVED_SIZE            = 0x20000000\n\tATTR_VOL_SETMASK                  = 0x80002000\n\tATTR_VOL_SIGNATURE                = 0x2\n\tATTR_VOL_SIZE                     = 0x4\n\tATTR_VOL_SPACEAVAIL               = 0x10\n\tATTR_VOL_SPACEFREE                = 0x8\n\tATTR_VOL_UUID                     = 0x40000\n\tATTR_VOL_VALIDMASK                = 0xf007ffff\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc00c4279\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044272\n\tBIOCGRTIMEOUT                     = 0x4008426e\n\tBIOCGSEESENT                      = 0x40044276\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044278\n\tBIOCSETF                          = 0x80084267\n\tBIOCSETFNR                        = 0x8008427e\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044273\n\tBIOCSRTIMEOUT                     = 0x8008426d\n\tBIOCSSEESENT                      = 0x80044277\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x80000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tBS0                               = 0x0\n\tBS1                               = 0x8000\n\tBSDLY                             = 0x8000\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLOCK_MONOTONIC                   = 0x6\n\tCLOCK_MONOTONIC_RAW               = 0x4\n\tCLOCK_MONOTONIC_RAW_APPROX        = 0x5\n\tCLOCK_PROCESS_CPUTIME_ID          = 0xc\n\tCLOCK_REALTIME                    = 0x0\n\tCLOCK_THREAD_CPUTIME_ID           = 0x10\n\tCLOCK_UPTIME_RAW                  = 0x8\n\tCLOCK_UPTIME_RAW_APPROX           = 0x9\n\tCR0                               = 0x0\n\tCR1                               = 0x1000\n\tCR2                               = 0x2000\n\tCR3                               = 0x3000\n\tCRDLY                             = 0x3000\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x30000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CHDLC                         = 0x68\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DBUS                          = 0xe7\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_DVB_CI                        = 0xeb\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HHDLC                         = 0x79\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NOFCS            = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPFILTER                      = 0x74\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPOIB                         = 0xf2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_ATM_CEMIC             = 0xee\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL          = 0xea\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_SRX_E2E               = 0xe9\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_JUNIPER_VS                    = 0xe8\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION       = 0xa6\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MATCHING_MAX                  = 0xf5\n\tDLT_MATCHING_MIN                  = 0x68\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPEG_2_TS                     = 0xf3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_MUX27010                      = 0xec\n\tDLT_NETANALYZER                   = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT       = 0xf1\n\tDLT_NFC_LLCP                      = 0xf5\n\tDLT_NFLOG                         = 0xef\n\tDLT_NG40                          = 0xf4\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PPP_WITH_DIRECTION            = 0xa6\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDLT_STANAG_5066_D_PDU             = 0xed\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_USER0                         = 0x93\n\tDLT_USER1                         = 0x94\n\tDLT_USER10                        = 0x9d\n\tDLT_USER11                        = 0x9e\n\tDLT_USER12                        = 0x9f\n\tDLT_USER13                        = 0xa0\n\tDLT_USER14                        = 0xa1\n\tDLT_USER15                        = 0xa2\n\tDLT_USER2                         = 0x95\n\tDLT_USER3                         = 0x96\n\tDLT_USER4                         = 0x97\n\tDLT_USER5                         = 0x98\n\tDLT_USER6                         = 0x99\n\tDLT_USER7                         = 0x9a\n\tDLT_USER8                         = 0x9b\n\tDLT_USER9                         = 0x9c\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_EXCEPT                     = -0xf\n\tEVFILT_FS                         = -0x9\n\tEVFILT_MACHPORT                   = -0x8\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0xf\n\tEVFILT_THREADMARKER               = 0xf\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_USER                       = -0xa\n\tEVFILT_VM                         = -0xc\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_DISPATCH                       = 0x80\n\tEV_DISPATCH2                      = 0x180\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG0                          = 0x1000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_OOBAND                         = 0x2000\n\tEV_POLL                           = 0x1000\n\tEV_RECEIPT                        = 0x40\n\tEV_SYSFLAGS                       = 0xf000\n\tEV_UDATA_SPECIFIC                 = 0x100\n\tEV_VANISHED                       = 0x200\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFF0                               = 0x0\n\tFF1                               = 0x4000\n\tFFDLY                             = 0x4000\n\tFLUSHO                            = 0x800000\n\tFSOPT_ATTR_CMN_EXTENDED           = 0x20\n\tFSOPT_NOFOLLOW                    = 0x1\n\tFSOPT_NOINMEMUPDATE               = 0x2\n\tFSOPT_PACK_INVAL_ATTRS            = 0x8\n\tFSOPT_REPORT_FULLSIZE             = 0x4\n\tF_ADDFILESIGS                     = 0x3d\n\tF_ADDFILESIGS_FOR_DYLD_SIM        = 0x53\n\tF_ADDFILESIGS_RETURN              = 0x61\n\tF_ADDSIGS                         = 0x3b\n\tF_ALLOCATEALL                     = 0x4\n\tF_ALLOCATECONTIG                  = 0x2\n\tF_BARRIERFSYNC                    = 0x55\n\tF_CHECK_LV                        = 0x62\n\tF_CHKCLEAN                        = 0x29\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0x43\n\tF_FINDSIGS                        = 0x4e\n\tF_FLUSH_DATA                      = 0x28\n\tF_FREEZE_FS                       = 0x35\n\tF_FULLFSYNC                       = 0x33\n\tF_GETCODEDIR                      = 0x48\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETLKPID                        = 0x42\n\tF_GETNOSIGPIPE                    = 0x4a\n\tF_GETOWN                          = 0x5\n\tF_GETPATH                         = 0x32\n\tF_GETPATH_MTMINFO                 = 0x47\n\tF_GETPROTECTIONCLASS              = 0x3f\n\tF_GETPROTECTIONLEVEL              = 0x4d\n\tF_GLOBAL_NOCACHE                  = 0x37\n\tF_LOG2PHYS                        = 0x31\n\tF_LOG2PHYS_EXT                    = 0x41\n\tF_NOCACHE                         = 0x30\n\tF_NODIRECT                        = 0x3e\n\tF_OK                              = 0x0\n\tF_PATHPKG_CHECK                   = 0x34\n\tF_PEOFPOSMODE                     = 0x3\n\tF_PREALLOCATE                     = 0x2a\n\tF_PUNCHHOLE                       = 0x63\n\tF_RDADVISE                        = 0x2c\n\tF_RDAHEAD                         = 0x2d\n\tF_RDLCK                           = 0x1\n\tF_SETBACKINGSTORE                 = 0x46\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETLKWTIMEOUT                   = 0xa\n\tF_SETNOSIGPIPE                    = 0x49\n\tF_SETOWN                          = 0x6\n\tF_SETPROTECTIONCLASS              = 0x40\n\tF_SETSIZE                         = 0x2b\n\tF_SINGLE_WRITER                   = 0x4c\n\tF_THAW_FS                         = 0x36\n\tF_TRANSCODEKEY                    = 0x4b\n\tF_TRIM_ACTIVE_FILE                = 0x64\n\tF_UNLCK                           = 0x2\n\tF_VOLPOSMODE                      = 0x4\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_ALTPHYS                       = 0x4000\n\tIFF_BROADCAST                     = 0x2\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_AAL5                          = 0x31\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ATM                           = 0x25\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_CARP                          = 0xf8\n\tIFT_CELLULAR                      = 0xff\n\tIFT_CEPT                          = 0x13\n\tIFT_DS3                           = 0x1e\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0x38\n\tIFT_FDDI                          = 0xf\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_GIF                           = 0x37\n\tIFT_HDH1822                       = 0x3\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE8023ADLAG                 = 0x88\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88026                      = 0xa\n\tIFT_L2VLAN                        = 0x87\n\tIFT_LAPB                          = 0x10\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_NSIP                          = 0x1b\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PDP                           = 0xff\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PKTAP                         = 0xfe\n\tIFT_PPP                           = 0x17\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_RS232                         = 0x21\n\tIFT_SDLC                          = 0x11\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0x39\n\tIFT_T1                            = 0x12\n\tIFT_ULTRA                         = 0x1d\n\tIFT_V35                           = 0x2d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LINKLOCALNETNUM                = 0xa9fe0000\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_3PC                       = 0x22\n\tIPPROTO_ADFS                      = 0x44\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_AHIP                      = 0x3d\n\tIPPROTO_APES                      = 0x63\n\tIPPROTO_ARGUS                     = 0xd\n\tIPPROTO_AX25                      = 0x5d\n\tIPPROTO_BHA                       = 0x31\n\tIPPROTO_BLT                       = 0x1e\n\tIPPROTO_BRSATMON                  = 0x4c\n\tIPPROTO_CFTP                      = 0x3e\n\tIPPROTO_CHAOS                     = 0x10\n\tIPPROTO_CMTP                      = 0x26\n\tIPPROTO_CPHB                      = 0x49\n\tIPPROTO_CPNX                      = 0x48\n\tIPPROTO_DDP                       = 0x25\n\tIPPROTO_DGP                       = 0x56\n\tIPPROTO_DIVERT                    = 0xfe\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_EMCON                     = 0xe\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GMTP                      = 0x64\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HELLO                     = 0x3f\n\tIPPROTO_HMP                       = 0x14\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IDPR                      = 0x23\n\tIPPROTO_IDRP                      = 0x2d\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IGP                       = 0x55\n\tIPPROTO_IGRP                      = 0x58\n\tIPPROTO_IL                        = 0x28\n\tIPPROTO_INLSP                     = 0x34\n\tIPPROTO_INP                       = 0x20\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPCV                      = 0x47\n\tIPPROTO_IPEIP                     = 0x5e\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPPC                      = 0x43\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IRTP                      = 0x1c\n\tIPPROTO_KRYPTOLAN                 = 0x41\n\tIPPROTO_LARP                      = 0x5b\n\tIPPROTO_LEAF1                     = 0x19\n\tIPPROTO_LEAF2                     = 0x1a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MEAS                      = 0x13\n\tIPPROTO_MHRP                      = 0x30\n\tIPPROTO_MICP                      = 0x5f\n\tIPPROTO_MTP                       = 0x5c\n\tIPPROTO_MUX                       = 0x12\n\tIPPROTO_ND                        = 0x4d\n\tIPPROTO_NHRP                      = 0x36\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_NSP                       = 0x1f\n\tIPPROTO_NVPII                     = 0xb\n\tIPPROTO_OSPFIGP                   = 0x59\n\tIPPROTO_PGM                       = 0x71\n\tIPPROTO_PIGP                      = 0x9\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PRM                       = 0x15\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_PVP                       = 0x4b\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_RCCMON                    = 0xa\n\tIPPROTO_RDP                       = 0x1b\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_RVD                       = 0x42\n\tIPPROTO_SATEXPAK                  = 0x40\n\tIPPROTO_SATMON                    = 0x45\n\tIPPROTO_SCCSP                     = 0x60\n\tIPPROTO_SCTP                      = 0x84\n\tIPPROTO_SDRP                      = 0x2a\n\tIPPROTO_SEP                       = 0x21\n\tIPPROTO_SRPC                      = 0x5a\n\tIPPROTO_ST                        = 0x7\n\tIPPROTO_SVMTP                     = 0x52\n\tIPPROTO_SWIPE                     = 0x35\n\tIPPROTO_TCF                       = 0x57\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_TPXX                      = 0x27\n\tIPPROTO_TRUNK1                    = 0x17\n\tIPPROTO_TRUNK2                    = 0x18\n\tIPPROTO_TTP                       = 0x54\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VINES                     = 0x53\n\tIPPROTO_VISA                      = 0x46\n\tIPPROTO_VMTP                      = 0x51\n\tIPPROTO_WBEXPAK                   = 0x4f\n\tIPPROTO_WBMON                     = 0x4e\n\tIPPROTO_WSN                       = 0x4a\n\tIPPROTO_XNET                      = 0xf\n\tIPPROTO_XTP                       = 0x24\n\tIPV6_2292DSTOPTS                  = 0x17\n\tIPV6_2292HOPLIMIT                 = 0x14\n\tIPV6_2292HOPOPTS                  = 0x16\n\tIPV6_2292NEXTHOP                  = 0x15\n\tIPV6_2292PKTINFO                  = 0x13\n\tIPV6_2292PKTOPTIONS               = 0x19\n\tIPV6_2292RTHDR                    = 0x18\n\tIPV6_BINDV6ONLY                   = 0x1b\n\tIPV6_BOUND_IF                     = 0x7d\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FLOW_ECN_MASK                = 0x300\n\tIPV6_FRAGTTL                      = 0x3c\n\tIPV6_FW_ADD                       = 0x1e\n\tIPV6_FW_DEL                       = 0x1f\n\tIPV6_FW_FLUSH                     = 0x20\n\tIPV6_FW_GET                       = 0x22\n\tIPV6_FW_ZERO                      = 0x21\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXOPTHDR                    = 0x800\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER         = 0x200\n\tIPV6_MAX_MEMBERSHIPS              = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER          = 0x80\n\tIPV6_MIN_MEMBERSHIPS              = 0x1f\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVTCLASS                   = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x24\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP          = 0x46\n\tIP_BLOCK_SOURCE                   = 0x48\n\tIP_BOUND_IF                       = 0x19\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP         = 0x47\n\tIP_DUMMYNET_CONFIGURE             = 0x3c\n\tIP_DUMMYNET_DEL                   = 0x3d\n\tIP_DUMMYNET_FLUSH                 = 0x3e\n\tIP_DUMMYNET_GET                   = 0x40\n\tIP_FAITH                          = 0x16\n\tIP_FW_ADD                         = 0x28\n\tIP_FW_DEL                         = 0x29\n\tIP_FW_FLUSH                       = 0x2a\n\tIP_FW_GET                         = 0x2c\n\tIP_FW_RESETLOG                    = 0x2d\n\tIP_FW_ZERO                        = 0x2b\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x15\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER           = 0x200\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER           = 0x80\n\tIP_MAX_SOCK_SRC_FILTER            = 0x80\n\tIP_MF                             = 0x2000\n\tIP_MIN_MEMBERSHIPS                = 0x1f\n\tIP_MSFILTER                       = 0x4a\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_IFINDEX              = 0x42\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_MULTICAST_VIF                  = 0xe\n\tIP_NAT__XXX                       = 0x37\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OLD_FW_ADD                     = 0x32\n\tIP_OLD_FW_DEL                     = 0x33\n\tIP_OLD_FW_FLUSH                   = 0x34\n\tIP_OLD_FW_GET                     = 0x36\n\tIP_OLD_FW_RESETLOG                = 0x38\n\tIP_OLD_FW_ZERO                    = 0x35\n\tIP_OPTIONS                        = 0x1\n\tIP_PKTINFO                        = 0x1a\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVPKTINFO                    = 0x1a\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTOS                        = 0x1b\n\tIP_RECVTTL                        = 0x18\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RSVP_OFF                       = 0x10\n\tIP_RSVP_ON                        = 0xf\n\tIP_RSVP_VIF_OFF                   = 0x12\n\tIP_RSVP_VIF_ON                    = 0x11\n\tIP_STRIPHDR                       = 0x17\n\tIP_TOS                            = 0x3\n\tIP_TRAFFIC_MGT_BACKGROUND         = 0x41\n\tIP_TTL                            = 0x4\n\tIP_UNBLOCK_SOURCE                 = 0x49\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIUTF8                             = 0x4000\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_CAN_REUSE                    = 0x9\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x5\n\tMADV_FREE_REUSABLE                = 0x7\n\tMADV_FREE_REUSE                   = 0x8\n\tMADV_NORMAL                       = 0x0\n\tMADV_PAGEOUT                      = 0xa\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_WILLNEED                     = 0x3\n\tMADV_ZERO_WIRED_PAGES             = 0x6\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_JIT                           = 0x800\n\tMAP_NOCACHE                       = 0x400\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_RESERVED0080                  = 0x80\n\tMAP_RESILIENT_CODESIGN            = 0x2000\n\tMAP_RESILIENT_MEDIA               = 0x4000\n\tMAP_SHARED                        = 0x1\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMNT_ASYNC                         = 0x40\n\tMNT_AUTOMOUNTED                   = 0x400000\n\tMNT_CMDFLAGS                      = 0xf0000\n\tMNT_CPROTECT                      = 0x80\n\tMNT_DEFWRITE                      = 0x2000000\n\tMNT_DONTBROWSE                    = 0x100000\n\tMNT_DOVOLFS                       = 0x8000\n\tMNT_DWAIT                         = 0x4\n\tMNT_EXPORTED                      = 0x100\n\tMNT_FORCE                         = 0x80000\n\tMNT_IGNORE_OWNERSHIP              = 0x200000\n\tMNT_JOURNALED                     = 0x800000\n\tMNT_LOCAL                         = 0x1000\n\tMNT_MULTILABEL                    = 0x4000000\n\tMNT_NOATIME                       = 0x10000000\n\tMNT_NOBLOCK                       = 0x20000\n\tMNT_NODEV                         = 0x10\n\tMNT_NOEXEC                        = 0x4\n\tMNT_NOSUID                        = 0x8\n\tMNT_NOUSERXATTR                   = 0x1000000\n\tMNT_NOWAIT                        = 0x2\n\tMNT_QUARANTINE                    = 0x400\n\tMNT_QUOTA                         = 0x2000\n\tMNT_RDONLY                        = 0x1\n\tMNT_RELOAD                        = 0x40000\n\tMNT_ROOTFS                        = 0x4000\n\tMNT_SYNCHRONOUS                   = 0x2\n\tMNT_UNION                         = 0x20\n\tMNT_UNKNOWNPERMISSIONS            = 0x200000\n\tMNT_UPDATE                        = 0x10000\n\tMNT_VISFLAGMASK                   = 0x17f0f5ff\n\tMNT_WAIT                          = 0x1\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOF                           = 0x100\n\tMSG_EOR                           = 0x8\n\tMSG_FLUSH                         = 0x400\n\tMSG_HAVEMORE                      = 0x2000\n\tMSG_HOLD                          = 0x800\n\tMSG_NEEDSA                        = 0x10000\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_RCVMORE                       = 0x4000\n\tMSG_SEND                          = 0x1000\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMSG_WAITSTREAM                    = 0x200\n\tMS_ASYNC                          = 0x1\n\tMS_DEACTIVATE                     = 0x8\n\tMS_INVALIDATE                     = 0x2\n\tMS_KILLPAGES                      = 0x4\n\tMS_SYNC                           = 0x10\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_DUMP2                      = 0x7\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_IFLIST2                    = 0x6\n\tNET_RT_MAXID                      = 0xa\n\tNET_RT_STAT                       = 0x4\n\tNET_RT_TRASH                      = 0x5\n\tNL0                               = 0x0\n\tNL1                               = 0x100\n\tNL2                               = 0x200\n\tNL3                               = 0x300\n\tNLDLY                             = 0x300\n\tNOFLSH                            = 0x80000000\n\tNOKERNINFO                        = 0x2000000\n\tNOTE_ABSOLUTE                     = 0x8\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_BACKGROUND                   = 0x40\n\tNOTE_CHILD                        = 0x4\n\tNOTE_CRITICAL                     = 0x20\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXITSTATUS                   = 0x4000000\n\tNOTE_EXIT_CSERROR                 = 0x40000\n\tNOTE_EXIT_DECRYPTFAIL             = 0x10000\n\tNOTE_EXIT_DETAIL                  = 0x2000000\n\tNOTE_EXIT_DETAIL_MASK             = 0x70000\n\tNOTE_EXIT_MEMORY                  = 0x20000\n\tNOTE_EXIT_REPARENTED              = 0x80000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FFAND                        = 0x40000000\n\tNOTE_FFCOPY                       = 0xc0000000\n\tNOTE_FFCTRLMASK                   = 0xc0000000\n\tNOTE_FFLAGSMASK                   = 0xffffff\n\tNOTE_FFNOP                        = 0x0\n\tNOTE_FFOR                         = 0x80000000\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_FUNLOCK                      = 0x100\n\tNOTE_LEEWAY                       = 0x10\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_MACH_CONTINUOUS_TIME         = 0x80\n\tNOTE_NONE                         = 0x80\n\tNOTE_NSECONDS                     = 0x4\n\tNOTE_OOB                          = 0x2\n\tNOTE_PCTRLMASK                    = -0x100000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_REAP                         = 0x10000000\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_SECONDS                      = 0x1\n\tNOTE_SIGNAL                       = 0x8000000\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRIGGER                      = 0x1000000\n\tNOTE_USECONDS                     = 0x2\n\tNOTE_VM_ERROR                     = 0x10000000\n\tNOTE_VM_PRESSURE                  = 0x80000000\n\tNOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000\n\tNOTE_VM_PRESSURE_TERMINATE        = 0x40000000\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFDEL                             = 0x20000\n\tOFILL                             = 0x80\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tOXTABS                            = 0x4\n\tO_ACCMODE                         = 0x3\n\tO_ALERT                           = 0x20000000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x1000000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x100000\n\tO_DP_GETRAWENCRYPTED              = 0x1\n\tO_DP_GETRAWUNENCRYPTED            = 0x2\n\tO_DSYNC                           = 0x400000\n\tO_EVTONLY                         = 0x8000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x20000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_POPUP                           = 0x80000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_SHLOCK                          = 0x10\n\tO_SYMLINK                         = 0x200000\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tPT_ATTACH                         = 0xa\n\tPT_ATTACHEXC                      = 0xe\n\tPT_CONTINUE                       = 0x7\n\tPT_DENY_ATTACH                    = 0x1f\n\tPT_DETACH                         = 0xb\n\tPT_FIRSTMACH                      = 0x20\n\tPT_FORCEQUOTA                     = 0x1e\n\tPT_KILL                           = 0x8\n\tPT_READ_D                         = 0x2\n\tPT_READ_I                         = 0x1\n\tPT_READ_U                         = 0x3\n\tPT_SIGEXC                         = 0xc\n\tPT_STEP                           = 0x9\n\tPT_THUPDATE                       = 0xd\n\tPT_TRACE_ME                       = 0x0\n\tPT_WRITE_D                        = 0x5\n\tPT_WRITE_I                        = 0x4\n\tPT_WRITE_U                        = 0x6\n\tRLIMIT_AS                         = 0x5\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_CPU_USAGE_MONITOR          = 0x2\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_MEMLOCK                    = 0x6\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_NPROC                      = 0x7\n\tRLIMIT_RSS                        = 0x5\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x8\n\tRTAX_NETMASK                      = 0x2\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CLONING                       = 0x100\n\tRTF_CONDEMNED                     = 0x2000000\n\tRTF_DELCLONE                      = 0x80\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_IFREF                         = 0x4000000\n\tRTF_IFSCOPE                       = 0x1000000\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MULTICAST                     = 0x800000\n\tRTF_NOIFREF                       = 0x2000\n\tRTF_PINNED                        = 0x100000\n\tRTF_PRCLONING                     = 0x10000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x40000\n\tRTF_PROXY                         = 0x8000000\n\tRTF_REJECT                        = 0x8\n\tRTF_ROUTER                        = 0x10000000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_WASCLONED                     = 0x20000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DELMADDR                      = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_GET2                          = 0x14\n\tRTM_IFINFO                        = 0xe\n\tRTM_IFINFO2                       = 0x12\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_NEWMADDR                      = 0xf\n\tRTM_NEWMADDR2                     = 0x13\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x3\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x2\n\tSCM_TIMESTAMP_MONOTONIC           = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCARPIPLL                       = 0xc0206928\n\tSIOCATMARK                        = 0x40047307\n\tSIOCAUTOADDR                      = 0xc0206926\n\tSIOCAUTONETMASK                   = 0x80206927\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFPHYADDR                    = 0x80206941\n\tSIOCGDRVSPEC                      = 0xc01c697b\n\tSIOCGETVLAN                       = 0xc020697f\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFALTMTU                     = 0xc0206948\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBOND                       = 0xc0206947\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCAP                        = 0xc020695b\n\tSIOCGIFCONF                       = 0xc0086924\n\tSIOCGIFDEVMTU                     = 0xc0206944\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFKPI                        = 0xc0206987\n\tSIOCGIFMAC                        = 0xc0206982\n\tSIOCGIFMEDIA                      = 0xc0286938\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc0206933\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206940\n\tSIOCGIFPHYS                       = 0xc0206935\n\tSIOCGIFPSRCADDR                   = 0xc020693f\n\tSIOCGIFSTATUS                     = 0xc331693d\n\tSIOCGIFVLAN                       = 0xc020697f\n\tSIOCGIFWAKEFLAGS                  = 0xc0206988\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCIFCREATE                      = 0xc0206978\n\tSIOCIFCREATE2                     = 0xc020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc00c6981\n\tSIOCRSLVMULTI                     = 0xc008693b\n\tSIOCSDRVSPEC                      = 0x801c697b\n\tSIOCSETVLAN                       = 0x8020697e\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFALTMTU                     = 0x80206945\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBOND                       = 0x80206946\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFCAP                        = 0x8020695a\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFKPI                        = 0x80206986\n\tSIOCSIFLLADDR                     = 0x8020693c\n\tSIOCSIFMAC                        = 0x80206983\n\tSIOCSIFMEDIA                      = 0xc0206937\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x80206934\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x8040693e\n\tSIOCSIFPHYS                       = 0x80206936\n\tSIOCSIFVLAN                       = 0x8020697e\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_MAXADDRLEN                   = 0xff\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_DONTTRUNC                      = 0x2000\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LABEL                          = 0x1010\n\tSO_LINGER                         = 0x80\n\tSO_LINGER_SEC                     = 0x1080\n\tSO_NETSVC_MARKING_LEVEL           = 0x1119\n\tSO_NET_SERVICE_TYPE               = 0x1116\n\tSO_NKE                            = 0x1021\n\tSO_NOADDRERR                      = 0x1023\n\tSO_NOSIGPIPE                      = 0x1022\n\tSO_NOTIFYCONFLICT                 = 0x1026\n\tSO_NP_EXTENSIONS                  = 0x1083\n\tSO_NREAD                          = 0x1020\n\tSO_NUMRCVPKT                      = 0x1112\n\tSO_NWRITE                         = 0x1024\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERLABEL                      = 0x1011\n\tSO_RANDOMPORT                     = 0x1082\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_REUSESHAREUID                  = 0x1025\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_TIMESTAMP                      = 0x400\n\tSO_TIMESTAMP_MONOTONIC            = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_UPCALLCLOSEWAIT                = 0x1027\n\tSO_USELOOPBACK                    = 0x40\n\tSO_WANTMORE                       = 0x4000\n\tSO_WANTOOBFLAG                    = 0x8000\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTAB0                              = 0x0\n\tTAB1                              = 0x400\n\tTAB2                              = 0x800\n\tTAB3                              = 0x4\n\tTABDLY                            = 0xc04\n\tTCIFLUSH                          = 0x1\n\tTCIOFF                            = 0x3\n\tTCIOFLUSH                         = 0x3\n\tTCION                             = 0x4\n\tTCOFLUSH                          = 0x2\n\tTCOOFF                            = 0x1\n\tTCOON                             = 0x2\n\tTCP_CONNECTIONTIMEOUT             = 0x20\n\tTCP_CONNECTION_INFO               = 0x106\n\tTCP_ENABLE_ECN                    = 0x104\n\tTCP_FASTOPEN                      = 0x105\n\tTCP_KEEPALIVE                     = 0x10\n\tTCP_KEEPCNT                       = 0x102\n\tTCP_KEEPINTVL                     = 0x101\n\tTCP_MAXHLEN                       = 0x3c\n\tTCP_MAXOLEN                       = 0x28\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x4\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOOPT                         = 0x8\n\tTCP_NOPUSH                        = 0x4\n\tTCP_NOTSENT_LOWAT                 = 0x201\n\tTCP_RXT_CONNDROPTIME              = 0x80\n\tTCP_RXT_FINDROP                   = 0x100\n\tTCP_SENDMOREACKS                  = 0x103\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x40087458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCDSIMICROCODE                  = 0x20007455\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGDRAINWAIT                    = 0x40047456\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCIXOFF                         = 0x20007480\n\tTIOCIXON                          = 0x20007481\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGDTRWAIT                     = 0x4004745a\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x40047403\n\tTIOCMODS                          = 0x80047404\n\tTIOCMSDTRWAIT                     = 0x8004745b\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTYGNAME                      = 0x40807453\n\tTIOCPTYGRANT                      = 0x20007454\n\tTIOCPTYUNLK                       = 0x20007452\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCONS                         = 0x20007463\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDRAINWAIT                    = 0x80047457\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x20007465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCTIMESTAMP                     = 0x40087459\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVM_LOADAVG                        = 0x2\n\tVM_MACHFACTOR                     = 0x4\n\tVM_MAXID                          = 0x6\n\tVM_METER                          = 0x1\n\tVM_SWAPUSAGE                      = 0x5\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVT0                               = 0x0\n\tVT1                               = 0x10000\n\tVTDLY                             = 0x10000\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWCONTINUED                        = 0x10\n\tWCOREFLAG                         = 0x80\n\tWEXITED                           = 0x4\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x20\n\tWORDSIZE                          = 0x20\n\tWSTOPPED                          = 0x8\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADARCH        = syscall.Errno(0x56)\n\tEBADEXEC        = syscall.Errno(0x55)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMACHO       = syscall.Errno(0x58)\n\tEBADMSG         = syscall.Errno(0x5e)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x59)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDEVERR         = syscall.Errno(0x53)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x5a)\n\tEILSEQ          = syscall.Errno(0x5c)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x6a)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5f)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x60)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x61)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5b)\n\tENOPOLICY       = syscall.Errno(0x67)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x62)\n\tENOSTR          = syscall.Errno(0x63)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x68)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x66)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x69)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x64)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tEPWROFF         = syscall.Errno(0x52)\n\tEQFULL          = syscall.Errno(0x6a)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHLIBVERS      = syscall.Errno(0x57)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x65)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"device not configured\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource deadlock avoided\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"resource busy\",\n\t17:  \"file exists\",\n\t18:  \"cross-device link\",\n\t19:  \"operation not supported by device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"result too large\",\n\t35:  \"resource temporarily unavailable\",\n\t36:  \"operation now in progress\",\n\t37:  \"operation already in progress\",\n\t38:  \"socket operation on non-socket\",\n\t39:  \"destination address required\",\n\t40:  \"message too long\",\n\t41:  \"protocol wrong type for socket\",\n\t42:  \"protocol not available\",\n\t43:  \"protocol not supported\",\n\t44:  \"socket type not supported\",\n\t45:  \"operation not supported\",\n\t46:  \"protocol family not supported\",\n\t47:  \"address family not supported by protocol family\",\n\t48:  \"address already in use\",\n\t49:  \"can't assign requested address\",\n\t50:  \"network is down\",\n\t51:  \"network is unreachable\",\n\t52:  \"network dropped connection on reset\",\n\t53:  \"software caused connection abort\",\n\t54:  \"connection reset by peer\",\n\t55:  \"no buffer space available\",\n\t56:  \"socket is already connected\",\n\t57:  \"socket is not connected\",\n\t58:  \"can't send after socket shutdown\",\n\t59:  \"too many references: can't splice\",\n\t60:  \"operation timed out\",\n\t61:  \"connection refused\",\n\t62:  \"too many levels of symbolic links\",\n\t63:  \"file name too long\",\n\t64:  \"host is down\",\n\t65:  \"no route to host\",\n\t66:  \"directory not empty\",\n\t67:  \"too many processes\",\n\t68:  \"too many users\",\n\t69:  \"disc quota exceeded\",\n\t70:  \"stale NFS file handle\",\n\t71:  \"too many levels of remote in path\",\n\t72:  \"RPC struct is bad\",\n\t73:  \"RPC version wrong\",\n\t74:  \"RPC prog. not avail\",\n\t75:  \"program version wrong\",\n\t76:  \"bad procedure for program\",\n\t77:  \"no locks available\",\n\t78:  \"function not implemented\",\n\t79:  \"inappropriate file type or format\",\n\t80:  \"authentication error\",\n\t81:  \"need authenticator\",\n\t82:  \"device power is off\",\n\t83:  \"device error\",\n\t84:  \"value too large to be stored in data type\",\n\t85:  \"bad executable (or shared library)\",\n\t86:  \"bad CPU type in executable\",\n\t87:  \"shared library version mismatch\",\n\t88:  \"malformed Mach-o file\",\n\t89:  \"operation canceled\",\n\t90:  \"identifier removed\",\n\t91:  \"no message of desired type\",\n\t92:  \"illegal byte sequence\",\n\t93:  \"attribute not found\",\n\t94:  \"bad message\",\n\t95:  \"EMULTIHOP (Reserved)\",\n\t96:  \"no message available on STREAM\",\n\t97:  \"ENOLINK (Reserved)\",\n\t98:  \"no STREAM resources\",\n\t99:  \"not a STREAM\",\n\t100: \"protocol error\",\n\t101: \"STREAM ioctl timeout\",\n\t102: \"operation not supported on socket\",\n\t103: \"policy not found\",\n\t104: \"state not recoverable\",\n\t105: \"previous owner died\",\n\t106: \"interface output queue is full\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"suspended (signal)\",\n\t18: \"suspended\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,darwin\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1c\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x25\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x1e\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1c\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x28\n\tAF_NATM                           = 0x1f\n\tAF_NDRV                           = 0x1b\n\tAF_NETBIOS                        = 0x21\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PPP                            = 0x22\n\tAF_PUP                            = 0x4\n\tAF_RESERVED_36                    = 0x24\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x18\n\tAF_SNA                            = 0xb\n\tAF_SYSTEM                         = 0x20\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tAF_UTUN                           = 0x26\n\tALTWERASE                         = 0x200\n\tATTR_BIT_MAP_COUNT                = 0x5\n\tATTR_CMN_ACCESSMASK               = 0x20000\n\tATTR_CMN_ACCTIME                  = 0x1000\n\tATTR_CMN_ADDEDTIME                = 0x10000000\n\tATTR_CMN_BKUPTIME                 = 0x2000\n\tATTR_CMN_CHGTIME                  = 0x800\n\tATTR_CMN_CRTIME                   = 0x200\n\tATTR_CMN_DATA_PROTECT_FLAGS       = 0x40000000\n\tATTR_CMN_DEVID                    = 0x2\n\tATTR_CMN_DOCUMENT_ID              = 0x100000\n\tATTR_CMN_ERROR                    = 0x20000000\n\tATTR_CMN_EXTENDED_SECURITY        = 0x400000\n\tATTR_CMN_FILEID                   = 0x2000000\n\tATTR_CMN_FLAGS                    = 0x40000\n\tATTR_CMN_FNDRINFO                 = 0x4000\n\tATTR_CMN_FSID                     = 0x4\n\tATTR_CMN_FULLPATH                 = 0x8000000\n\tATTR_CMN_GEN_COUNT                = 0x80000\n\tATTR_CMN_GRPID                    = 0x10000\n\tATTR_CMN_GRPUUID                  = 0x1000000\n\tATTR_CMN_MODTIME                  = 0x400\n\tATTR_CMN_NAME                     = 0x1\n\tATTR_CMN_NAMEDATTRCOUNT           = 0x80000\n\tATTR_CMN_NAMEDATTRLIST            = 0x100000\n\tATTR_CMN_OBJID                    = 0x20\n\tATTR_CMN_OBJPERMANENTID           = 0x40\n\tATTR_CMN_OBJTAG                   = 0x10\n\tATTR_CMN_OBJTYPE                  = 0x8\n\tATTR_CMN_OWNERID                  = 0x8000\n\tATTR_CMN_PARENTID                 = 0x4000000\n\tATTR_CMN_PAROBJID                 = 0x80\n\tATTR_CMN_RETURNED_ATTRS           = 0x80000000\n\tATTR_CMN_SCRIPT                   = 0x100\n\tATTR_CMN_SETMASK                  = 0x41c7ff00\n\tATTR_CMN_USERACCESS               = 0x200000\n\tATTR_CMN_UUID                     = 0x800000\n\tATTR_CMN_VALIDMASK                = 0xffffffff\n\tATTR_CMN_VOLSETMASK               = 0x6700\n\tATTR_FILE_ALLOCSIZE               = 0x4\n\tATTR_FILE_CLUMPSIZE               = 0x10\n\tATTR_FILE_DATAALLOCSIZE           = 0x400\n\tATTR_FILE_DATAEXTENTS             = 0x800\n\tATTR_FILE_DATALENGTH              = 0x200\n\tATTR_FILE_DEVTYPE                 = 0x20\n\tATTR_FILE_FILETYPE                = 0x40\n\tATTR_FILE_FORKCOUNT               = 0x80\n\tATTR_FILE_FORKLIST                = 0x100\n\tATTR_FILE_IOBLOCKSIZE             = 0x8\n\tATTR_FILE_LINKCOUNT               = 0x1\n\tATTR_FILE_RSRCALLOCSIZE           = 0x2000\n\tATTR_FILE_RSRCEXTENTS             = 0x4000\n\tATTR_FILE_RSRCLENGTH              = 0x1000\n\tATTR_FILE_SETMASK                 = 0x20\n\tATTR_FILE_TOTALSIZE               = 0x2\n\tATTR_FILE_VALIDMASK               = 0x37ff\n\tATTR_VOL_ALLOCATIONCLUMP          = 0x40\n\tATTR_VOL_ATTRIBUTES               = 0x40000000\n\tATTR_VOL_CAPABILITIES             = 0x20000\n\tATTR_VOL_DIRCOUNT                 = 0x400\n\tATTR_VOL_ENCODINGSUSED            = 0x10000\n\tATTR_VOL_FILECOUNT                = 0x200\n\tATTR_VOL_FSTYPE                   = 0x1\n\tATTR_VOL_INFO                     = 0x80000000\n\tATTR_VOL_IOBLOCKSIZE              = 0x80\n\tATTR_VOL_MAXOBJCOUNT              = 0x800\n\tATTR_VOL_MINALLOCATION            = 0x20\n\tATTR_VOL_MOUNTEDDEVICE            = 0x8000\n\tATTR_VOL_MOUNTFLAGS               = 0x4000\n\tATTR_VOL_MOUNTPOINT               = 0x1000\n\tATTR_VOL_NAME                     = 0x2000\n\tATTR_VOL_OBJCOUNT                 = 0x100\n\tATTR_VOL_QUOTA_SIZE               = 0x10000000\n\tATTR_VOL_RESERVED_SIZE            = 0x20000000\n\tATTR_VOL_SETMASK                  = 0x80002000\n\tATTR_VOL_SIGNATURE                = 0x2\n\tATTR_VOL_SIZE                     = 0x4\n\tATTR_VOL_SPACEAVAIL               = 0x10\n\tATTR_VOL_SPACEFREE                = 0x8\n\tATTR_VOL_UUID                     = 0x40000\n\tATTR_VOL_VALIDMASK                = 0xf007ffff\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc00c4279\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044272\n\tBIOCGRTIMEOUT                     = 0x4010426e\n\tBIOCGSEESENT                      = 0x40044276\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044278\n\tBIOCSETF                          = 0x80104267\n\tBIOCSETFNR                        = 0x8010427e\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044273\n\tBIOCSRTIMEOUT                     = 0x8010426d\n\tBIOCSSEESENT                      = 0x80044277\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x80000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tBS0                               = 0x0\n\tBS1                               = 0x8000\n\tBSDLY                             = 0x8000\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLOCK_MONOTONIC                   = 0x6\n\tCLOCK_MONOTONIC_RAW               = 0x4\n\tCLOCK_MONOTONIC_RAW_APPROX        = 0x5\n\tCLOCK_PROCESS_CPUTIME_ID          = 0xc\n\tCLOCK_REALTIME                    = 0x0\n\tCLOCK_THREAD_CPUTIME_ID           = 0x10\n\tCLOCK_UPTIME_RAW                  = 0x8\n\tCLOCK_UPTIME_RAW_APPROX           = 0x9\n\tCR0                               = 0x0\n\tCR1                               = 0x1000\n\tCR2                               = 0x2000\n\tCR3                               = 0x3000\n\tCRDLY                             = 0x3000\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x30000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CHDLC                         = 0x68\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DBUS                          = 0xe7\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_DVB_CI                        = 0xeb\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HHDLC                         = 0x79\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NOFCS            = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPFILTER                      = 0x74\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPOIB                         = 0xf2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_ATM_CEMIC             = 0xee\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL          = 0xea\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_SRX_E2E               = 0xe9\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_JUNIPER_VS                    = 0xe8\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION       = 0xa6\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MATCHING_MAX                  = 0xf5\n\tDLT_MATCHING_MIN                  = 0x68\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPEG_2_TS                     = 0xf3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_MUX27010                      = 0xec\n\tDLT_NETANALYZER                   = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT       = 0xf1\n\tDLT_NFC_LLCP                      = 0xf5\n\tDLT_NFLOG                         = 0xef\n\tDLT_NG40                          = 0xf4\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PPP_WITH_DIRECTION            = 0xa6\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDLT_STANAG_5066_D_PDU             = 0xed\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_USER0                         = 0x93\n\tDLT_USER1                         = 0x94\n\tDLT_USER10                        = 0x9d\n\tDLT_USER11                        = 0x9e\n\tDLT_USER12                        = 0x9f\n\tDLT_USER13                        = 0xa0\n\tDLT_USER14                        = 0xa1\n\tDLT_USER15                        = 0xa2\n\tDLT_USER2                         = 0x95\n\tDLT_USER3                         = 0x96\n\tDLT_USER4                         = 0x97\n\tDLT_USER5                         = 0x98\n\tDLT_USER6                         = 0x99\n\tDLT_USER7                         = 0x9a\n\tDLT_USER8                         = 0x9b\n\tDLT_USER9                         = 0x9c\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_EXCEPT                     = -0xf\n\tEVFILT_FS                         = -0x9\n\tEVFILT_MACHPORT                   = -0x8\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0xf\n\tEVFILT_THREADMARKER               = 0xf\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_USER                       = -0xa\n\tEVFILT_VM                         = -0xc\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_DISPATCH                       = 0x80\n\tEV_DISPATCH2                      = 0x180\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG0                          = 0x1000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_OOBAND                         = 0x2000\n\tEV_POLL                           = 0x1000\n\tEV_RECEIPT                        = 0x40\n\tEV_SYSFLAGS                       = 0xf000\n\tEV_UDATA_SPECIFIC                 = 0x100\n\tEV_VANISHED                       = 0x200\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFF0                               = 0x0\n\tFF1                               = 0x4000\n\tFFDLY                             = 0x4000\n\tFLUSHO                            = 0x800000\n\tFSOPT_ATTR_CMN_EXTENDED           = 0x20\n\tFSOPT_NOFOLLOW                    = 0x1\n\tFSOPT_NOINMEMUPDATE               = 0x2\n\tFSOPT_PACK_INVAL_ATTRS            = 0x8\n\tFSOPT_REPORT_FULLSIZE             = 0x4\n\tF_ADDFILESIGS                     = 0x3d\n\tF_ADDFILESIGS_FOR_DYLD_SIM        = 0x53\n\tF_ADDFILESIGS_RETURN              = 0x61\n\tF_ADDSIGS                         = 0x3b\n\tF_ALLOCATEALL                     = 0x4\n\tF_ALLOCATECONTIG                  = 0x2\n\tF_BARRIERFSYNC                    = 0x55\n\tF_CHECK_LV                        = 0x62\n\tF_CHKCLEAN                        = 0x29\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0x43\n\tF_FINDSIGS                        = 0x4e\n\tF_FLUSH_DATA                      = 0x28\n\tF_FREEZE_FS                       = 0x35\n\tF_FULLFSYNC                       = 0x33\n\tF_GETCODEDIR                      = 0x48\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETLKPID                        = 0x42\n\tF_GETNOSIGPIPE                    = 0x4a\n\tF_GETOWN                          = 0x5\n\tF_GETPATH                         = 0x32\n\tF_GETPATH_MTMINFO                 = 0x47\n\tF_GETPROTECTIONCLASS              = 0x3f\n\tF_GETPROTECTIONLEVEL              = 0x4d\n\tF_GLOBAL_NOCACHE                  = 0x37\n\tF_LOG2PHYS                        = 0x31\n\tF_LOG2PHYS_EXT                    = 0x41\n\tF_NOCACHE                         = 0x30\n\tF_NODIRECT                        = 0x3e\n\tF_OK                              = 0x0\n\tF_PATHPKG_CHECK                   = 0x34\n\tF_PEOFPOSMODE                     = 0x3\n\tF_PREALLOCATE                     = 0x2a\n\tF_PUNCHHOLE                       = 0x63\n\tF_RDADVISE                        = 0x2c\n\tF_RDAHEAD                         = 0x2d\n\tF_RDLCK                           = 0x1\n\tF_SETBACKINGSTORE                 = 0x46\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETLKWTIMEOUT                   = 0xa\n\tF_SETNOSIGPIPE                    = 0x49\n\tF_SETOWN                          = 0x6\n\tF_SETPROTECTIONCLASS              = 0x40\n\tF_SETSIZE                         = 0x2b\n\tF_SINGLE_WRITER                   = 0x4c\n\tF_THAW_FS                         = 0x36\n\tF_TRANSCODEKEY                    = 0x4b\n\tF_TRIM_ACTIVE_FILE                = 0x64\n\tF_UNLCK                           = 0x2\n\tF_VOLPOSMODE                      = 0x4\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_ALTPHYS                       = 0x4000\n\tIFF_BROADCAST                     = 0x2\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_AAL5                          = 0x31\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ATM                           = 0x25\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_CARP                          = 0xf8\n\tIFT_CELLULAR                      = 0xff\n\tIFT_CEPT                          = 0x13\n\tIFT_DS3                           = 0x1e\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0x38\n\tIFT_FDDI                          = 0xf\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_GIF                           = 0x37\n\tIFT_HDH1822                       = 0x3\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE8023ADLAG                 = 0x88\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88026                      = 0xa\n\tIFT_L2VLAN                        = 0x87\n\tIFT_LAPB                          = 0x10\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_NSIP                          = 0x1b\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PDP                           = 0xff\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PKTAP                         = 0xfe\n\tIFT_PPP                           = 0x17\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_RS232                         = 0x21\n\tIFT_SDLC                          = 0x11\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0x39\n\tIFT_T1                            = 0x12\n\tIFT_ULTRA                         = 0x1d\n\tIFT_V35                           = 0x2d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LINKLOCALNETNUM                = 0xa9fe0000\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_3PC                       = 0x22\n\tIPPROTO_ADFS                      = 0x44\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_AHIP                      = 0x3d\n\tIPPROTO_APES                      = 0x63\n\tIPPROTO_ARGUS                     = 0xd\n\tIPPROTO_AX25                      = 0x5d\n\tIPPROTO_BHA                       = 0x31\n\tIPPROTO_BLT                       = 0x1e\n\tIPPROTO_BRSATMON                  = 0x4c\n\tIPPROTO_CFTP                      = 0x3e\n\tIPPROTO_CHAOS                     = 0x10\n\tIPPROTO_CMTP                      = 0x26\n\tIPPROTO_CPHB                      = 0x49\n\tIPPROTO_CPNX                      = 0x48\n\tIPPROTO_DDP                       = 0x25\n\tIPPROTO_DGP                       = 0x56\n\tIPPROTO_DIVERT                    = 0xfe\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_EMCON                     = 0xe\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GMTP                      = 0x64\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HELLO                     = 0x3f\n\tIPPROTO_HMP                       = 0x14\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IDPR                      = 0x23\n\tIPPROTO_IDRP                      = 0x2d\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IGP                       = 0x55\n\tIPPROTO_IGRP                      = 0x58\n\tIPPROTO_IL                        = 0x28\n\tIPPROTO_INLSP                     = 0x34\n\tIPPROTO_INP                       = 0x20\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPCV                      = 0x47\n\tIPPROTO_IPEIP                     = 0x5e\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPPC                      = 0x43\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IRTP                      = 0x1c\n\tIPPROTO_KRYPTOLAN                 = 0x41\n\tIPPROTO_LARP                      = 0x5b\n\tIPPROTO_LEAF1                     = 0x19\n\tIPPROTO_LEAF2                     = 0x1a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MEAS                      = 0x13\n\tIPPROTO_MHRP                      = 0x30\n\tIPPROTO_MICP                      = 0x5f\n\tIPPROTO_MTP                       = 0x5c\n\tIPPROTO_MUX                       = 0x12\n\tIPPROTO_ND                        = 0x4d\n\tIPPROTO_NHRP                      = 0x36\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_NSP                       = 0x1f\n\tIPPROTO_NVPII                     = 0xb\n\tIPPROTO_OSPFIGP                   = 0x59\n\tIPPROTO_PGM                       = 0x71\n\tIPPROTO_PIGP                      = 0x9\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PRM                       = 0x15\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_PVP                       = 0x4b\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_RCCMON                    = 0xa\n\tIPPROTO_RDP                       = 0x1b\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_RVD                       = 0x42\n\tIPPROTO_SATEXPAK                  = 0x40\n\tIPPROTO_SATMON                    = 0x45\n\tIPPROTO_SCCSP                     = 0x60\n\tIPPROTO_SCTP                      = 0x84\n\tIPPROTO_SDRP                      = 0x2a\n\tIPPROTO_SEP                       = 0x21\n\tIPPROTO_SRPC                      = 0x5a\n\tIPPROTO_ST                        = 0x7\n\tIPPROTO_SVMTP                     = 0x52\n\tIPPROTO_SWIPE                     = 0x35\n\tIPPROTO_TCF                       = 0x57\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_TPXX                      = 0x27\n\tIPPROTO_TRUNK1                    = 0x17\n\tIPPROTO_TRUNK2                    = 0x18\n\tIPPROTO_TTP                       = 0x54\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VINES                     = 0x53\n\tIPPROTO_VISA                      = 0x46\n\tIPPROTO_VMTP                      = 0x51\n\tIPPROTO_WBEXPAK                   = 0x4f\n\tIPPROTO_WBMON                     = 0x4e\n\tIPPROTO_WSN                       = 0x4a\n\tIPPROTO_XNET                      = 0xf\n\tIPPROTO_XTP                       = 0x24\n\tIPV6_2292DSTOPTS                  = 0x17\n\tIPV6_2292HOPLIMIT                 = 0x14\n\tIPV6_2292HOPOPTS                  = 0x16\n\tIPV6_2292NEXTHOP                  = 0x15\n\tIPV6_2292PKTINFO                  = 0x13\n\tIPV6_2292PKTOPTIONS               = 0x19\n\tIPV6_2292RTHDR                    = 0x18\n\tIPV6_BINDV6ONLY                   = 0x1b\n\tIPV6_BOUND_IF                     = 0x7d\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FLOW_ECN_MASK                = 0x300\n\tIPV6_FRAGTTL                      = 0x3c\n\tIPV6_FW_ADD                       = 0x1e\n\tIPV6_FW_DEL                       = 0x1f\n\tIPV6_FW_FLUSH                     = 0x20\n\tIPV6_FW_GET                       = 0x22\n\tIPV6_FW_ZERO                      = 0x21\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXOPTHDR                    = 0x800\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER         = 0x200\n\tIPV6_MAX_MEMBERSHIPS              = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER          = 0x80\n\tIPV6_MIN_MEMBERSHIPS              = 0x1f\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVTCLASS                   = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x24\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP          = 0x46\n\tIP_BLOCK_SOURCE                   = 0x48\n\tIP_BOUND_IF                       = 0x19\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP         = 0x47\n\tIP_DUMMYNET_CONFIGURE             = 0x3c\n\tIP_DUMMYNET_DEL                   = 0x3d\n\tIP_DUMMYNET_FLUSH                 = 0x3e\n\tIP_DUMMYNET_GET                   = 0x40\n\tIP_FAITH                          = 0x16\n\tIP_FW_ADD                         = 0x28\n\tIP_FW_DEL                         = 0x29\n\tIP_FW_FLUSH                       = 0x2a\n\tIP_FW_GET                         = 0x2c\n\tIP_FW_RESETLOG                    = 0x2d\n\tIP_FW_ZERO                        = 0x2b\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x15\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER           = 0x200\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER           = 0x80\n\tIP_MAX_SOCK_SRC_FILTER            = 0x80\n\tIP_MF                             = 0x2000\n\tIP_MIN_MEMBERSHIPS                = 0x1f\n\tIP_MSFILTER                       = 0x4a\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_IFINDEX              = 0x42\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_MULTICAST_VIF                  = 0xe\n\tIP_NAT__XXX                       = 0x37\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OLD_FW_ADD                     = 0x32\n\tIP_OLD_FW_DEL                     = 0x33\n\tIP_OLD_FW_FLUSH                   = 0x34\n\tIP_OLD_FW_GET                     = 0x36\n\tIP_OLD_FW_RESETLOG                = 0x38\n\tIP_OLD_FW_ZERO                    = 0x35\n\tIP_OPTIONS                        = 0x1\n\tIP_PKTINFO                        = 0x1a\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVPKTINFO                    = 0x1a\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTOS                        = 0x1b\n\tIP_RECVTTL                        = 0x18\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RSVP_OFF                       = 0x10\n\tIP_RSVP_ON                        = 0xf\n\tIP_RSVP_VIF_OFF                   = 0x12\n\tIP_RSVP_VIF_ON                    = 0x11\n\tIP_STRIPHDR                       = 0x17\n\tIP_TOS                            = 0x3\n\tIP_TRAFFIC_MGT_BACKGROUND         = 0x41\n\tIP_TTL                            = 0x4\n\tIP_UNBLOCK_SOURCE                 = 0x49\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIUTF8                             = 0x4000\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_CAN_REUSE                    = 0x9\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x5\n\tMADV_FREE_REUSABLE                = 0x7\n\tMADV_FREE_REUSE                   = 0x8\n\tMADV_NORMAL                       = 0x0\n\tMADV_PAGEOUT                      = 0xa\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_WILLNEED                     = 0x3\n\tMADV_ZERO_WIRED_PAGES             = 0x6\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_JIT                           = 0x800\n\tMAP_NOCACHE                       = 0x400\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_RESERVED0080                  = 0x80\n\tMAP_RESILIENT_CODESIGN            = 0x2000\n\tMAP_RESILIENT_MEDIA               = 0x4000\n\tMAP_SHARED                        = 0x1\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMNT_ASYNC                         = 0x40\n\tMNT_AUTOMOUNTED                   = 0x400000\n\tMNT_CMDFLAGS                      = 0xf0000\n\tMNT_CPROTECT                      = 0x80\n\tMNT_DEFWRITE                      = 0x2000000\n\tMNT_DONTBROWSE                    = 0x100000\n\tMNT_DOVOLFS                       = 0x8000\n\tMNT_DWAIT                         = 0x4\n\tMNT_EXPORTED                      = 0x100\n\tMNT_FORCE                         = 0x80000\n\tMNT_IGNORE_OWNERSHIP              = 0x200000\n\tMNT_JOURNALED                     = 0x800000\n\tMNT_LOCAL                         = 0x1000\n\tMNT_MULTILABEL                    = 0x4000000\n\tMNT_NOATIME                       = 0x10000000\n\tMNT_NOBLOCK                       = 0x20000\n\tMNT_NODEV                         = 0x10\n\tMNT_NOEXEC                        = 0x4\n\tMNT_NOSUID                        = 0x8\n\tMNT_NOUSERXATTR                   = 0x1000000\n\tMNT_NOWAIT                        = 0x2\n\tMNT_QUARANTINE                    = 0x400\n\tMNT_QUOTA                         = 0x2000\n\tMNT_RDONLY                        = 0x1\n\tMNT_RELOAD                        = 0x40000\n\tMNT_ROOTFS                        = 0x4000\n\tMNT_SYNCHRONOUS                   = 0x2\n\tMNT_UNION                         = 0x20\n\tMNT_UNKNOWNPERMISSIONS            = 0x200000\n\tMNT_UPDATE                        = 0x10000\n\tMNT_VISFLAGMASK                   = 0x17f0f5ff\n\tMNT_WAIT                          = 0x1\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOF                           = 0x100\n\tMSG_EOR                           = 0x8\n\tMSG_FLUSH                         = 0x400\n\tMSG_HAVEMORE                      = 0x2000\n\tMSG_HOLD                          = 0x800\n\tMSG_NEEDSA                        = 0x10000\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_RCVMORE                       = 0x4000\n\tMSG_SEND                          = 0x1000\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMSG_WAITSTREAM                    = 0x200\n\tMS_ASYNC                          = 0x1\n\tMS_DEACTIVATE                     = 0x8\n\tMS_INVALIDATE                     = 0x2\n\tMS_KILLPAGES                      = 0x4\n\tMS_SYNC                           = 0x10\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_DUMP2                      = 0x7\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_IFLIST2                    = 0x6\n\tNET_RT_MAXID                      = 0xa\n\tNET_RT_STAT                       = 0x4\n\tNET_RT_TRASH                      = 0x5\n\tNL0                               = 0x0\n\tNL1                               = 0x100\n\tNL2                               = 0x200\n\tNL3                               = 0x300\n\tNLDLY                             = 0x300\n\tNOFLSH                            = 0x80000000\n\tNOKERNINFO                        = 0x2000000\n\tNOTE_ABSOLUTE                     = 0x8\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_BACKGROUND                   = 0x40\n\tNOTE_CHILD                        = 0x4\n\tNOTE_CRITICAL                     = 0x20\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXITSTATUS                   = 0x4000000\n\tNOTE_EXIT_CSERROR                 = 0x40000\n\tNOTE_EXIT_DECRYPTFAIL             = 0x10000\n\tNOTE_EXIT_DETAIL                  = 0x2000000\n\tNOTE_EXIT_DETAIL_MASK             = 0x70000\n\tNOTE_EXIT_MEMORY                  = 0x20000\n\tNOTE_EXIT_REPARENTED              = 0x80000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FFAND                        = 0x40000000\n\tNOTE_FFCOPY                       = 0xc0000000\n\tNOTE_FFCTRLMASK                   = 0xc0000000\n\tNOTE_FFLAGSMASK                   = 0xffffff\n\tNOTE_FFNOP                        = 0x0\n\tNOTE_FFOR                         = 0x80000000\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_FUNLOCK                      = 0x100\n\tNOTE_LEEWAY                       = 0x10\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_MACH_CONTINUOUS_TIME         = 0x80\n\tNOTE_NONE                         = 0x80\n\tNOTE_NSECONDS                     = 0x4\n\tNOTE_OOB                          = 0x2\n\tNOTE_PCTRLMASK                    = -0x100000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_REAP                         = 0x10000000\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_SECONDS                      = 0x1\n\tNOTE_SIGNAL                       = 0x8000000\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRIGGER                      = 0x1000000\n\tNOTE_USECONDS                     = 0x2\n\tNOTE_VM_ERROR                     = 0x10000000\n\tNOTE_VM_PRESSURE                  = 0x80000000\n\tNOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000\n\tNOTE_VM_PRESSURE_TERMINATE        = 0x40000000\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFDEL                             = 0x20000\n\tOFILL                             = 0x80\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tOXTABS                            = 0x4\n\tO_ACCMODE                         = 0x3\n\tO_ALERT                           = 0x20000000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x1000000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x100000\n\tO_DP_GETRAWENCRYPTED              = 0x1\n\tO_DP_GETRAWUNENCRYPTED            = 0x2\n\tO_DSYNC                           = 0x400000\n\tO_EVTONLY                         = 0x8000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x20000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_POPUP                           = 0x80000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_SHLOCK                          = 0x10\n\tO_SYMLINK                         = 0x200000\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tPT_ATTACH                         = 0xa\n\tPT_ATTACHEXC                      = 0xe\n\tPT_CONTINUE                       = 0x7\n\tPT_DENY_ATTACH                    = 0x1f\n\tPT_DETACH                         = 0xb\n\tPT_FIRSTMACH                      = 0x20\n\tPT_FORCEQUOTA                     = 0x1e\n\tPT_KILL                           = 0x8\n\tPT_READ_D                         = 0x2\n\tPT_READ_I                         = 0x1\n\tPT_READ_U                         = 0x3\n\tPT_SIGEXC                         = 0xc\n\tPT_STEP                           = 0x9\n\tPT_THUPDATE                       = 0xd\n\tPT_TRACE_ME                       = 0x0\n\tPT_WRITE_D                        = 0x5\n\tPT_WRITE_I                        = 0x4\n\tPT_WRITE_U                        = 0x6\n\tRLIMIT_AS                         = 0x5\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_CPU_USAGE_MONITOR          = 0x2\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_MEMLOCK                    = 0x6\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_NPROC                      = 0x7\n\tRLIMIT_RSS                        = 0x5\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x8\n\tRTAX_NETMASK                      = 0x2\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CLONING                       = 0x100\n\tRTF_CONDEMNED                     = 0x2000000\n\tRTF_DELCLONE                      = 0x80\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_IFREF                         = 0x4000000\n\tRTF_IFSCOPE                       = 0x1000000\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MULTICAST                     = 0x800000\n\tRTF_NOIFREF                       = 0x2000\n\tRTF_PINNED                        = 0x100000\n\tRTF_PRCLONING                     = 0x10000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x40000\n\tRTF_PROXY                         = 0x8000000\n\tRTF_REJECT                        = 0x8\n\tRTF_ROUTER                        = 0x10000000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_WASCLONED                     = 0x20000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DELMADDR                      = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_GET2                          = 0x14\n\tRTM_IFINFO                        = 0xe\n\tRTM_IFINFO2                       = 0x12\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_NEWMADDR                      = 0xf\n\tRTM_NEWMADDR2                     = 0x13\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x3\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x2\n\tSCM_TIMESTAMP_MONOTONIC           = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCARPIPLL                       = 0xc0206928\n\tSIOCATMARK                        = 0x40047307\n\tSIOCAUTOADDR                      = 0xc0206926\n\tSIOCAUTONETMASK                   = 0x80206927\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFPHYADDR                    = 0x80206941\n\tSIOCGDRVSPEC                      = 0xc028697b\n\tSIOCGETVLAN                       = 0xc020697f\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFALTMTU                     = 0xc0206948\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBOND                       = 0xc0206947\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCAP                        = 0xc020695b\n\tSIOCGIFCONF                       = 0xc00c6924\n\tSIOCGIFDEVMTU                     = 0xc0206944\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFKPI                        = 0xc0206987\n\tSIOCGIFMAC                        = 0xc0206982\n\tSIOCGIFMEDIA                      = 0xc02c6938\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc0206933\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206940\n\tSIOCGIFPHYS                       = 0xc0206935\n\tSIOCGIFPSRCADDR                   = 0xc020693f\n\tSIOCGIFSTATUS                     = 0xc331693d\n\tSIOCGIFVLAN                       = 0xc020697f\n\tSIOCGIFWAKEFLAGS                  = 0xc0206988\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCIFCREATE                      = 0xc0206978\n\tSIOCIFCREATE2                     = 0xc020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc0106981\n\tSIOCRSLVMULTI                     = 0xc010693b\n\tSIOCSDRVSPEC                      = 0x8028697b\n\tSIOCSETVLAN                       = 0x8020697e\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFALTMTU                     = 0x80206945\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBOND                       = 0x80206946\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFCAP                        = 0x8020695a\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFKPI                        = 0x80206986\n\tSIOCSIFLLADDR                     = 0x8020693c\n\tSIOCSIFMAC                        = 0x80206983\n\tSIOCSIFMEDIA                      = 0xc0206937\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x80206934\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x8040693e\n\tSIOCSIFPHYS                       = 0x80206936\n\tSIOCSIFVLAN                       = 0x8020697e\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_MAXADDRLEN                   = 0xff\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_DONTTRUNC                      = 0x2000\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LABEL                          = 0x1010\n\tSO_LINGER                         = 0x80\n\tSO_LINGER_SEC                     = 0x1080\n\tSO_NETSVC_MARKING_LEVEL           = 0x1119\n\tSO_NET_SERVICE_TYPE               = 0x1116\n\tSO_NKE                            = 0x1021\n\tSO_NOADDRERR                      = 0x1023\n\tSO_NOSIGPIPE                      = 0x1022\n\tSO_NOTIFYCONFLICT                 = 0x1026\n\tSO_NP_EXTENSIONS                  = 0x1083\n\tSO_NREAD                          = 0x1020\n\tSO_NUMRCVPKT                      = 0x1112\n\tSO_NWRITE                         = 0x1024\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERLABEL                      = 0x1011\n\tSO_RANDOMPORT                     = 0x1082\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_REUSESHAREUID                  = 0x1025\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_TIMESTAMP                      = 0x400\n\tSO_TIMESTAMP_MONOTONIC            = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_UPCALLCLOSEWAIT                = 0x1027\n\tSO_USELOOPBACK                    = 0x40\n\tSO_WANTMORE                       = 0x4000\n\tSO_WANTOOBFLAG                    = 0x8000\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTAB0                              = 0x0\n\tTAB1                              = 0x400\n\tTAB2                              = 0x800\n\tTAB3                              = 0x4\n\tTABDLY                            = 0xc04\n\tTCIFLUSH                          = 0x1\n\tTCIOFF                            = 0x3\n\tTCIOFLUSH                         = 0x3\n\tTCION                             = 0x4\n\tTCOFLUSH                          = 0x2\n\tTCOOFF                            = 0x1\n\tTCOON                             = 0x2\n\tTCP_CONNECTIONTIMEOUT             = 0x20\n\tTCP_CONNECTION_INFO               = 0x106\n\tTCP_ENABLE_ECN                    = 0x104\n\tTCP_FASTOPEN                      = 0x105\n\tTCP_KEEPALIVE                     = 0x10\n\tTCP_KEEPCNT                       = 0x102\n\tTCP_KEEPINTVL                     = 0x101\n\tTCP_MAXHLEN                       = 0x3c\n\tTCP_MAXOLEN                       = 0x28\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x4\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOOPT                         = 0x8\n\tTCP_NOPUSH                        = 0x4\n\tTCP_NOTSENT_LOWAT                 = 0x201\n\tTCP_RXT_CONNDROPTIME              = 0x80\n\tTCP_RXT_FINDROP                   = 0x100\n\tTCP_SENDMOREACKS                  = 0x103\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x40107458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCDSIMICROCODE                  = 0x20007455\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGDRAINWAIT                    = 0x40047456\n\tTIOCGETA                          = 0x40487413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCIXOFF                         = 0x20007480\n\tTIOCIXON                          = 0x20007481\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGDTRWAIT                     = 0x4004745a\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x40047403\n\tTIOCMODS                          = 0x80047404\n\tTIOCMSDTRWAIT                     = 0x8004745b\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTYGNAME                      = 0x40807453\n\tTIOCPTYGRANT                      = 0x20007454\n\tTIOCPTYUNLK                       = 0x20007452\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCONS                         = 0x20007463\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDRAINWAIT                    = 0x80047457\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x80487414\n\tTIOCSETAF                         = 0x80487416\n\tTIOCSETAW                         = 0x80487415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x20007465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCTIMESTAMP                     = 0x40107459\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVM_LOADAVG                        = 0x2\n\tVM_MACHFACTOR                     = 0x4\n\tVM_MAXID                          = 0x6\n\tVM_METER                          = 0x1\n\tVM_SWAPUSAGE                      = 0x5\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVT0                               = 0x0\n\tVT1                               = 0x10000\n\tVTDLY                             = 0x10000\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWCONTINUED                        = 0x10\n\tWCOREFLAG                         = 0x80\n\tWEXITED                           = 0x4\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x20\n\tWORDSIZE                          = 0x40\n\tWSTOPPED                          = 0x8\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADARCH        = syscall.Errno(0x56)\n\tEBADEXEC        = syscall.Errno(0x55)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMACHO       = syscall.Errno(0x58)\n\tEBADMSG         = syscall.Errno(0x5e)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x59)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDEVERR         = syscall.Errno(0x53)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x5a)\n\tEILSEQ          = syscall.Errno(0x5c)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x6a)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5f)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x60)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x61)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5b)\n\tENOPOLICY       = syscall.Errno(0x67)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x62)\n\tENOSTR          = syscall.Errno(0x63)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x68)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x66)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x69)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x64)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tEPWROFF         = syscall.Errno(0x52)\n\tEQFULL          = syscall.Errno(0x6a)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHLIBVERS      = syscall.Errno(0x57)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x65)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"device not configured\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource deadlock avoided\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"resource busy\",\n\t17:  \"file exists\",\n\t18:  \"cross-device link\",\n\t19:  \"operation not supported by device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"result too large\",\n\t35:  \"resource temporarily unavailable\",\n\t36:  \"operation now in progress\",\n\t37:  \"operation already in progress\",\n\t38:  \"socket operation on non-socket\",\n\t39:  \"destination address required\",\n\t40:  \"message too long\",\n\t41:  \"protocol wrong type for socket\",\n\t42:  \"protocol not available\",\n\t43:  \"protocol not supported\",\n\t44:  \"socket type not supported\",\n\t45:  \"operation not supported\",\n\t46:  \"protocol family not supported\",\n\t47:  \"address family not supported by protocol family\",\n\t48:  \"address already in use\",\n\t49:  \"can't assign requested address\",\n\t50:  \"network is down\",\n\t51:  \"network is unreachable\",\n\t52:  \"network dropped connection on reset\",\n\t53:  \"software caused connection abort\",\n\t54:  \"connection reset by peer\",\n\t55:  \"no buffer space available\",\n\t56:  \"socket is already connected\",\n\t57:  \"socket is not connected\",\n\t58:  \"can't send after socket shutdown\",\n\t59:  \"too many references: can't splice\",\n\t60:  \"operation timed out\",\n\t61:  \"connection refused\",\n\t62:  \"too many levels of symbolic links\",\n\t63:  \"file name too long\",\n\t64:  \"host is down\",\n\t65:  \"no route to host\",\n\t66:  \"directory not empty\",\n\t67:  \"too many processes\",\n\t68:  \"too many users\",\n\t69:  \"disc quota exceeded\",\n\t70:  \"stale NFS file handle\",\n\t71:  \"too many levels of remote in path\",\n\t72:  \"RPC struct is bad\",\n\t73:  \"RPC version wrong\",\n\t74:  \"RPC prog. not avail\",\n\t75:  \"program version wrong\",\n\t76:  \"bad procedure for program\",\n\t77:  \"no locks available\",\n\t78:  \"function not implemented\",\n\t79:  \"inappropriate file type or format\",\n\t80:  \"authentication error\",\n\t81:  \"need authenticator\",\n\t82:  \"device power is off\",\n\t83:  \"device error\",\n\t84:  \"value too large to be stored in data type\",\n\t85:  \"bad executable (or shared library)\",\n\t86:  \"bad CPU type in executable\",\n\t87:  \"shared library version mismatch\",\n\t88:  \"malformed Mach-o file\",\n\t89:  \"operation canceled\",\n\t90:  \"identifier removed\",\n\t91:  \"no message of desired type\",\n\t92:  \"illegal byte sequence\",\n\t93:  \"attribute not found\",\n\t94:  \"bad message\",\n\t95:  \"EMULTIHOP (Reserved)\",\n\t96:  \"no message available on STREAM\",\n\t97:  \"ENOLINK (Reserved)\",\n\t98:  \"no STREAM resources\",\n\t99:  \"not a STREAM\",\n\t100: \"protocol error\",\n\t101: \"STREAM ioctl timeout\",\n\t102: \"operation not supported on socket\",\n\t103: \"policy not found\",\n\t104: \"state not recoverable\",\n\t105: \"previous owner died\",\n\t106: \"interface output queue is full\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"suspended (signal)\",\n\t18: \"suspended\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go",
    "content": "// mkerrors.sh\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,darwin\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1c\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x25\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x1e\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1c\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x28\n\tAF_NATM                           = 0x1f\n\tAF_NDRV                           = 0x1b\n\tAF_NETBIOS                        = 0x21\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PPP                            = 0x22\n\tAF_PUP                            = 0x4\n\tAF_RESERVED_36                    = 0x24\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x18\n\tAF_SNA                            = 0xb\n\tAF_SYSTEM                         = 0x20\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tAF_UTUN                           = 0x26\n\tALTWERASE                         = 0x200\n\tATTR_BIT_MAP_COUNT                = 0x5\n\tATTR_CMN_ACCESSMASK               = 0x20000\n\tATTR_CMN_ACCTIME                  = 0x1000\n\tATTR_CMN_ADDEDTIME                = 0x10000000\n\tATTR_CMN_BKUPTIME                 = 0x2000\n\tATTR_CMN_CHGTIME                  = 0x800\n\tATTR_CMN_CRTIME                   = 0x200\n\tATTR_CMN_DATA_PROTECT_FLAGS       = 0x40000000\n\tATTR_CMN_DEVID                    = 0x2\n\tATTR_CMN_DOCUMENT_ID              = 0x100000\n\tATTR_CMN_ERROR                    = 0x20000000\n\tATTR_CMN_EXTENDED_SECURITY        = 0x400000\n\tATTR_CMN_FILEID                   = 0x2000000\n\tATTR_CMN_FLAGS                    = 0x40000\n\tATTR_CMN_FNDRINFO                 = 0x4000\n\tATTR_CMN_FSID                     = 0x4\n\tATTR_CMN_FULLPATH                 = 0x8000000\n\tATTR_CMN_GEN_COUNT                = 0x80000\n\tATTR_CMN_GRPID                    = 0x10000\n\tATTR_CMN_GRPUUID                  = 0x1000000\n\tATTR_CMN_MODTIME                  = 0x400\n\tATTR_CMN_NAME                     = 0x1\n\tATTR_CMN_NAMEDATTRCOUNT           = 0x80000\n\tATTR_CMN_NAMEDATTRLIST            = 0x100000\n\tATTR_CMN_OBJID                    = 0x20\n\tATTR_CMN_OBJPERMANENTID           = 0x40\n\tATTR_CMN_OBJTAG                   = 0x10\n\tATTR_CMN_OBJTYPE                  = 0x8\n\tATTR_CMN_OWNERID                  = 0x8000\n\tATTR_CMN_PARENTID                 = 0x4000000\n\tATTR_CMN_PAROBJID                 = 0x80\n\tATTR_CMN_RETURNED_ATTRS           = 0x80000000\n\tATTR_CMN_SCRIPT                   = 0x100\n\tATTR_CMN_SETMASK                  = 0x41c7ff00\n\tATTR_CMN_USERACCESS               = 0x200000\n\tATTR_CMN_UUID                     = 0x800000\n\tATTR_CMN_VALIDMASK                = 0xffffffff\n\tATTR_CMN_VOLSETMASK               = 0x6700\n\tATTR_FILE_ALLOCSIZE               = 0x4\n\tATTR_FILE_CLUMPSIZE               = 0x10\n\tATTR_FILE_DATAALLOCSIZE           = 0x400\n\tATTR_FILE_DATAEXTENTS             = 0x800\n\tATTR_FILE_DATALENGTH              = 0x200\n\tATTR_FILE_DEVTYPE                 = 0x20\n\tATTR_FILE_FILETYPE                = 0x40\n\tATTR_FILE_FORKCOUNT               = 0x80\n\tATTR_FILE_FORKLIST                = 0x100\n\tATTR_FILE_IOBLOCKSIZE             = 0x8\n\tATTR_FILE_LINKCOUNT               = 0x1\n\tATTR_FILE_RSRCALLOCSIZE           = 0x2000\n\tATTR_FILE_RSRCEXTENTS             = 0x4000\n\tATTR_FILE_RSRCLENGTH              = 0x1000\n\tATTR_FILE_SETMASK                 = 0x20\n\tATTR_FILE_TOTALSIZE               = 0x2\n\tATTR_FILE_VALIDMASK               = 0x37ff\n\tATTR_VOL_ALLOCATIONCLUMP          = 0x40\n\tATTR_VOL_ATTRIBUTES               = 0x40000000\n\tATTR_VOL_CAPABILITIES             = 0x20000\n\tATTR_VOL_DIRCOUNT                 = 0x400\n\tATTR_VOL_ENCODINGSUSED            = 0x10000\n\tATTR_VOL_FILECOUNT                = 0x200\n\tATTR_VOL_FSTYPE                   = 0x1\n\tATTR_VOL_INFO                     = 0x80000000\n\tATTR_VOL_IOBLOCKSIZE              = 0x80\n\tATTR_VOL_MAXOBJCOUNT              = 0x800\n\tATTR_VOL_MINALLOCATION            = 0x20\n\tATTR_VOL_MOUNTEDDEVICE            = 0x8000\n\tATTR_VOL_MOUNTFLAGS               = 0x4000\n\tATTR_VOL_MOUNTPOINT               = 0x1000\n\tATTR_VOL_NAME                     = 0x2000\n\tATTR_VOL_OBJCOUNT                 = 0x100\n\tATTR_VOL_QUOTA_SIZE               = 0x10000000\n\tATTR_VOL_RESERVED_SIZE            = 0x20000000\n\tATTR_VOL_SETMASK                  = 0x80002000\n\tATTR_VOL_SIGNATURE                = 0x2\n\tATTR_VOL_SIZE                     = 0x4\n\tATTR_VOL_SPACEAVAIL               = 0x10\n\tATTR_VOL_SPACEFREE                = 0x8\n\tATTR_VOL_UUID                     = 0x40000\n\tATTR_VOL_VALIDMASK                = 0xf007ffff\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc00c4279\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044272\n\tBIOCGRTIMEOUT                     = 0x4010426e\n\tBIOCGSEESENT                      = 0x40044276\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044278\n\tBIOCSETF                          = 0x80104267\n\tBIOCSETFNR                        = 0x8010427e\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044273\n\tBIOCSRTIMEOUT                     = 0x8010426d\n\tBIOCSSEESENT                      = 0x80044277\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x80000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tBS0                               = 0x0\n\tBS1                               = 0x8000\n\tBSDLY                             = 0x8000\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLOCK_MONOTONIC                   = 0x6\n\tCLOCK_MONOTONIC_RAW               = 0x4\n\tCLOCK_MONOTONIC_RAW_APPROX        = 0x5\n\tCLOCK_PROCESS_CPUTIME_ID          = 0xc\n\tCLOCK_REALTIME                    = 0x0\n\tCLOCK_THREAD_CPUTIME_ID           = 0x10\n\tCLOCK_UPTIME_RAW                  = 0x8\n\tCLOCK_UPTIME_RAW_APPROX           = 0x9\n\tCR0                               = 0x0\n\tCR1                               = 0x1000\n\tCR2                               = 0x2000\n\tCR3                               = 0x3000\n\tCRDLY                             = 0x3000\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x30000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CHDLC                         = 0x68\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DBUS                          = 0xe7\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_DVB_CI                        = 0xeb\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HHDLC                         = 0x79\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NOFCS            = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPFILTER                      = 0x74\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPOIB                         = 0xf2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_ATM_CEMIC             = 0xee\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL          = 0xea\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_SRX_E2E               = 0xe9\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_JUNIPER_VS                    = 0xe8\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION       = 0xa6\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MATCHING_MAX                  = 0xf5\n\tDLT_MATCHING_MIN                  = 0x68\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPEG_2_TS                     = 0xf3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_MUX27010                      = 0xec\n\tDLT_NETANALYZER                   = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT       = 0xf1\n\tDLT_NFC_LLCP                      = 0xf5\n\tDLT_NFLOG                         = 0xef\n\tDLT_NG40                          = 0xf4\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PPP_WITH_DIRECTION            = 0xa6\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDLT_STANAG_5066_D_PDU             = 0xed\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_USER0                         = 0x93\n\tDLT_USER1                         = 0x94\n\tDLT_USER10                        = 0x9d\n\tDLT_USER11                        = 0x9e\n\tDLT_USER12                        = 0x9f\n\tDLT_USER13                        = 0xa0\n\tDLT_USER14                        = 0xa1\n\tDLT_USER15                        = 0xa2\n\tDLT_USER2                         = 0x95\n\tDLT_USER3                         = 0x96\n\tDLT_USER4                         = 0x97\n\tDLT_USER5                         = 0x98\n\tDLT_USER6                         = 0x99\n\tDLT_USER7                         = 0x9a\n\tDLT_USER8                         = 0x9b\n\tDLT_USER9                         = 0x9c\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_EXCEPT                     = -0xf\n\tEVFILT_FS                         = -0x9\n\tEVFILT_MACHPORT                   = -0x8\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0xf\n\tEVFILT_THREADMARKER               = 0xf\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_USER                       = -0xa\n\tEVFILT_VM                         = -0xc\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_DISPATCH                       = 0x80\n\tEV_DISPATCH2                      = 0x180\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG0                          = 0x1000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_OOBAND                         = 0x2000\n\tEV_POLL                           = 0x1000\n\tEV_RECEIPT                        = 0x40\n\tEV_SYSFLAGS                       = 0xf000\n\tEV_UDATA_SPECIFIC                 = 0x100\n\tEV_VANISHED                       = 0x200\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFF0                               = 0x0\n\tFF1                               = 0x4000\n\tFFDLY                             = 0x4000\n\tFLUSHO                            = 0x800000\n\tFSOPT_ATTR_CMN_EXTENDED           = 0x20\n\tFSOPT_NOFOLLOW                    = 0x1\n\tFSOPT_NOINMEMUPDATE               = 0x2\n\tFSOPT_PACK_INVAL_ATTRS            = 0x8\n\tFSOPT_REPORT_FULLSIZE             = 0x4\n\tF_ADDFILESIGS                     = 0x3d\n\tF_ADDFILESIGS_FOR_DYLD_SIM        = 0x53\n\tF_ADDFILESIGS_RETURN              = 0x61\n\tF_ADDSIGS                         = 0x3b\n\tF_ALLOCATEALL                     = 0x4\n\tF_ALLOCATECONTIG                  = 0x2\n\tF_BARRIERFSYNC                    = 0x55\n\tF_CHECK_LV                        = 0x62\n\tF_CHKCLEAN                        = 0x29\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0x43\n\tF_FINDSIGS                        = 0x4e\n\tF_FLUSH_DATA                      = 0x28\n\tF_FREEZE_FS                       = 0x35\n\tF_FULLFSYNC                       = 0x33\n\tF_GETCODEDIR                      = 0x48\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETLKPID                        = 0x42\n\tF_GETNOSIGPIPE                    = 0x4a\n\tF_GETOWN                          = 0x5\n\tF_GETPATH                         = 0x32\n\tF_GETPATH_MTMINFO                 = 0x47\n\tF_GETPROTECTIONCLASS              = 0x3f\n\tF_GETPROTECTIONLEVEL              = 0x4d\n\tF_GLOBAL_NOCACHE                  = 0x37\n\tF_LOG2PHYS                        = 0x31\n\tF_LOG2PHYS_EXT                    = 0x41\n\tF_NOCACHE                         = 0x30\n\tF_NODIRECT                        = 0x3e\n\tF_OK                              = 0x0\n\tF_PATHPKG_CHECK                   = 0x34\n\tF_PEOFPOSMODE                     = 0x3\n\tF_PREALLOCATE                     = 0x2a\n\tF_PUNCHHOLE                       = 0x63\n\tF_RDADVISE                        = 0x2c\n\tF_RDAHEAD                         = 0x2d\n\tF_RDLCK                           = 0x1\n\tF_SETBACKINGSTORE                 = 0x46\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETLKWTIMEOUT                   = 0xa\n\tF_SETNOSIGPIPE                    = 0x49\n\tF_SETOWN                          = 0x6\n\tF_SETPROTECTIONCLASS              = 0x40\n\tF_SETSIZE                         = 0x2b\n\tF_SINGLE_WRITER                   = 0x4c\n\tF_THAW_FS                         = 0x36\n\tF_TRANSCODEKEY                    = 0x4b\n\tF_TRIM_ACTIVE_FILE                = 0x64\n\tF_UNLCK                           = 0x2\n\tF_VOLPOSMODE                      = 0x4\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_ALTPHYS                       = 0x4000\n\tIFF_BROADCAST                     = 0x2\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_AAL5                          = 0x31\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ATM                           = 0x25\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_CARP                          = 0xf8\n\tIFT_CELLULAR                      = 0xff\n\tIFT_CEPT                          = 0x13\n\tIFT_DS3                           = 0x1e\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0x38\n\tIFT_FDDI                          = 0xf\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_GIF                           = 0x37\n\tIFT_HDH1822                       = 0x3\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE8023ADLAG                 = 0x88\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88026                      = 0xa\n\tIFT_L2VLAN                        = 0x87\n\tIFT_LAPB                          = 0x10\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_NSIP                          = 0x1b\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PDP                           = 0xff\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PKTAP                         = 0xfe\n\tIFT_PPP                           = 0x17\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_RS232                         = 0x21\n\tIFT_SDLC                          = 0x11\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0x39\n\tIFT_T1                            = 0x12\n\tIFT_ULTRA                         = 0x1d\n\tIFT_V35                           = 0x2d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LINKLOCALNETNUM                = 0xa9fe0000\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_3PC                       = 0x22\n\tIPPROTO_ADFS                      = 0x44\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_AHIP                      = 0x3d\n\tIPPROTO_APES                      = 0x63\n\tIPPROTO_ARGUS                     = 0xd\n\tIPPROTO_AX25                      = 0x5d\n\tIPPROTO_BHA                       = 0x31\n\tIPPROTO_BLT                       = 0x1e\n\tIPPROTO_BRSATMON                  = 0x4c\n\tIPPROTO_CFTP                      = 0x3e\n\tIPPROTO_CHAOS                     = 0x10\n\tIPPROTO_CMTP                      = 0x26\n\tIPPROTO_CPHB                      = 0x49\n\tIPPROTO_CPNX                      = 0x48\n\tIPPROTO_DDP                       = 0x25\n\tIPPROTO_DGP                       = 0x56\n\tIPPROTO_DIVERT                    = 0xfe\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_EMCON                     = 0xe\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GMTP                      = 0x64\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HELLO                     = 0x3f\n\tIPPROTO_HMP                       = 0x14\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IDPR                      = 0x23\n\tIPPROTO_IDRP                      = 0x2d\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IGP                       = 0x55\n\tIPPROTO_IGRP                      = 0x58\n\tIPPROTO_IL                        = 0x28\n\tIPPROTO_INLSP                     = 0x34\n\tIPPROTO_INP                       = 0x20\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPCV                      = 0x47\n\tIPPROTO_IPEIP                     = 0x5e\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPPC                      = 0x43\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IRTP                      = 0x1c\n\tIPPROTO_KRYPTOLAN                 = 0x41\n\tIPPROTO_LARP                      = 0x5b\n\tIPPROTO_LEAF1                     = 0x19\n\tIPPROTO_LEAF2                     = 0x1a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MEAS                      = 0x13\n\tIPPROTO_MHRP                      = 0x30\n\tIPPROTO_MICP                      = 0x5f\n\tIPPROTO_MTP                       = 0x5c\n\tIPPROTO_MUX                       = 0x12\n\tIPPROTO_ND                        = 0x4d\n\tIPPROTO_NHRP                      = 0x36\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_NSP                       = 0x1f\n\tIPPROTO_NVPII                     = 0xb\n\tIPPROTO_OSPFIGP                   = 0x59\n\tIPPROTO_PGM                       = 0x71\n\tIPPROTO_PIGP                      = 0x9\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PRM                       = 0x15\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_PVP                       = 0x4b\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_RCCMON                    = 0xa\n\tIPPROTO_RDP                       = 0x1b\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_RVD                       = 0x42\n\tIPPROTO_SATEXPAK                  = 0x40\n\tIPPROTO_SATMON                    = 0x45\n\tIPPROTO_SCCSP                     = 0x60\n\tIPPROTO_SCTP                      = 0x84\n\tIPPROTO_SDRP                      = 0x2a\n\tIPPROTO_SEP                       = 0x21\n\tIPPROTO_SRPC                      = 0x5a\n\tIPPROTO_ST                        = 0x7\n\tIPPROTO_SVMTP                     = 0x52\n\tIPPROTO_SWIPE                     = 0x35\n\tIPPROTO_TCF                       = 0x57\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_TPXX                      = 0x27\n\tIPPROTO_TRUNK1                    = 0x17\n\tIPPROTO_TRUNK2                    = 0x18\n\tIPPROTO_TTP                       = 0x54\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VINES                     = 0x53\n\tIPPROTO_VISA                      = 0x46\n\tIPPROTO_VMTP                      = 0x51\n\tIPPROTO_WBEXPAK                   = 0x4f\n\tIPPROTO_WBMON                     = 0x4e\n\tIPPROTO_WSN                       = 0x4a\n\tIPPROTO_XNET                      = 0xf\n\tIPPROTO_XTP                       = 0x24\n\tIPV6_2292DSTOPTS                  = 0x17\n\tIPV6_2292HOPLIMIT                 = 0x14\n\tIPV6_2292HOPOPTS                  = 0x16\n\tIPV6_2292NEXTHOP                  = 0x15\n\tIPV6_2292PKTINFO                  = 0x13\n\tIPV6_2292PKTOPTIONS               = 0x19\n\tIPV6_2292RTHDR                    = 0x18\n\tIPV6_BINDV6ONLY                   = 0x1b\n\tIPV6_BOUND_IF                     = 0x7d\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FLOW_ECN_MASK                = 0x300\n\tIPV6_FRAGTTL                      = 0x3c\n\tIPV6_FW_ADD                       = 0x1e\n\tIPV6_FW_DEL                       = 0x1f\n\tIPV6_FW_FLUSH                     = 0x20\n\tIPV6_FW_GET                       = 0x22\n\tIPV6_FW_ZERO                      = 0x21\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXOPTHDR                    = 0x800\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER         = 0x200\n\tIPV6_MAX_MEMBERSHIPS              = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER          = 0x80\n\tIPV6_MIN_MEMBERSHIPS              = 0x1f\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVTCLASS                   = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x24\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP          = 0x46\n\tIP_BLOCK_SOURCE                   = 0x48\n\tIP_BOUND_IF                       = 0x19\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP         = 0x47\n\tIP_DUMMYNET_CONFIGURE             = 0x3c\n\tIP_DUMMYNET_DEL                   = 0x3d\n\tIP_DUMMYNET_FLUSH                 = 0x3e\n\tIP_DUMMYNET_GET                   = 0x40\n\tIP_FAITH                          = 0x16\n\tIP_FW_ADD                         = 0x28\n\tIP_FW_DEL                         = 0x29\n\tIP_FW_FLUSH                       = 0x2a\n\tIP_FW_GET                         = 0x2c\n\tIP_FW_RESETLOG                    = 0x2d\n\tIP_FW_ZERO                        = 0x2b\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x15\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER           = 0x200\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER           = 0x80\n\tIP_MAX_SOCK_SRC_FILTER            = 0x80\n\tIP_MF                             = 0x2000\n\tIP_MIN_MEMBERSHIPS                = 0x1f\n\tIP_MSFILTER                       = 0x4a\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_IFINDEX              = 0x42\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_MULTICAST_VIF                  = 0xe\n\tIP_NAT__XXX                       = 0x37\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OLD_FW_ADD                     = 0x32\n\tIP_OLD_FW_DEL                     = 0x33\n\tIP_OLD_FW_FLUSH                   = 0x34\n\tIP_OLD_FW_GET                     = 0x36\n\tIP_OLD_FW_RESETLOG                = 0x38\n\tIP_OLD_FW_ZERO                    = 0x35\n\tIP_OPTIONS                        = 0x1\n\tIP_PKTINFO                        = 0x1a\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVPKTINFO                    = 0x1a\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTOS                        = 0x1b\n\tIP_RECVTTL                        = 0x18\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RSVP_OFF                       = 0x10\n\tIP_RSVP_ON                        = 0xf\n\tIP_RSVP_VIF_OFF                   = 0x12\n\tIP_RSVP_VIF_ON                    = 0x11\n\tIP_STRIPHDR                       = 0x17\n\tIP_TOS                            = 0x3\n\tIP_TRAFFIC_MGT_BACKGROUND         = 0x41\n\tIP_TTL                            = 0x4\n\tIP_UNBLOCK_SOURCE                 = 0x49\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIUTF8                             = 0x4000\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_CAN_REUSE                    = 0x9\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x5\n\tMADV_FREE_REUSABLE                = 0x7\n\tMADV_FREE_REUSE                   = 0x8\n\tMADV_NORMAL                       = 0x0\n\tMADV_PAGEOUT                      = 0xa\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_WILLNEED                     = 0x3\n\tMADV_ZERO_WIRED_PAGES             = 0x6\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_JIT                           = 0x800\n\tMAP_NOCACHE                       = 0x400\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_RESERVED0080                  = 0x80\n\tMAP_RESILIENT_CODESIGN            = 0x2000\n\tMAP_RESILIENT_MEDIA               = 0x4000\n\tMAP_SHARED                        = 0x1\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMNT_ASYNC                         = 0x40\n\tMNT_AUTOMOUNTED                   = 0x400000\n\tMNT_CMDFLAGS                      = 0xf0000\n\tMNT_CPROTECT                      = 0x80\n\tMNT_DEFWRITE                      = 0x2000000\n\tMNT_DONTBROWSE                    = 0x100000\n\tMNT_DOVOLFS                       = 0x8000\n\tMNT_DWAIT                         = 0x4\n\tMNT_EXPORTED                      = 0x100\n\tMNT_FORCE                         = 0x80000\n\tMNT_IGNORE_OWNERSHIP              = 0x200000\n\tMNT_JOURNALED                     = 0x800000\n\tMNT_LOCAL                         = 0x1000\n\tMNT_MULTILABEL                    = 0x4000000\n\tMNT_NOATIME                       = 0x10000000\n\tMNT_NOBLOCK                       = 0x20000\n\tMNT_NODEV                         = 0x10\n\tMNT_NOEXEC                        = 0x4\n\tMNT_NOSUID                        = 0x8\n\tMNT_NOUSERXATTR                   = 0x1000000\n\tMNT_NOWAIT                        = 0x2\n\tMNT_QUARANTINE                    = 0x400\n\tMNT_QUOTA                         = 0x2000\n\tMNT_RDONLY                        = 0x1\n\tMNT_RELOAD                        = 0x40000\n\tMNT_ROOTFS                        = 0x4000\n\tMNT_SYNCHRONOUS                   = 0x2\n\tMNT_UNION                         = 0x20\n\tMNT_UNKNOWNPERMISSIONS            = 0x200000\n\tMNT_UPDATE                        = 0x10000\n\tMNT_VISFLAGMASK                   = 0x17f0f5ff\n\tMNT_WAIT                          = 0x1\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOF                           = 0x100\n\tMSG_EOR                           = 0x8\n\tMSG_FLUSH                         = 0x400\n\tMSG_HAVEMORE                      = 0x2000\n\tMSG_HOLD                          = 0x800\n\tMSG_NEEDSA                        = 0x10000\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_RCVMORE                       = 0x4000\n\tMSG_SEND                          = 0x1000\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMSG_WAITSTREAM                    = 0x200\n\tMS_ASYNC                          = 0x1\n\tMS_DEACTIVATE                     = 0x8\n\tMS_INVALIDATE                     = 0x2\n\tMS_KILLPAGES                      = 0x4\n\tMS_SYNC                           = 0x10\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_DUMP2                      = 0x7\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_IFLIST2                    = 0x6\n\tNET_RT_MAXID                      = 0xa\n\tNET_RT_STAT                       = 0x4\n\tNET_RT_TRASH                      = 0x5\n\tNL0                               = 0x0\n\tNL1                               = 0x100\n\tNL2                               = 0x200\n\tNL3                               = 0x300\n\tNLDLY                             = 0x300\n\tNOFLSH                            = 0x80000000\n\tNOKERNINFO                        = 0x2000000\n\tNOTE_ABSOLUTE                     = 0x8\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_BACKGROUND                   = 0x40\n\tNOTE_CHILD                        = 0x4\n\tNOTE_CRITICAL                     = 0x20\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXITSTATUS                   = 0x4000000\n\tNOTE_EXIT_CSERROR                 = 0x40000\n\tNOTE_EXIT_DECRYPTFAIL             = 0x10000\n\tNOTE_EXIT_DETAIL                  = 0x2000000\n\tNOTE_EXIT_DETAIL_MASK             = 0x70000\n\tNOTE_EXIT_MEMORY                  = 0x20000\n\tNOTE_EXIT_REPARENTED              = 0x80000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FFAND                        = 0x40000000\n\tNOTE_FFCOPY                       = 0xc0000000\n\tNOTE_FFCTRLMASK                   = 0xc0000000\n\tNOTE_FFLAGSMASK                   = 0xffffff\n\tNOTE_FFNOP                        = 0x0\n\tNOTE_FFOR                         = 0x80000000\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_FUNLOCK                      = 0x100\n\tNOTE_LEEWAY                       = 0x10\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_MACH_CONTINUOUS_TIME         = 0x80\n\tNOTE_NONE                         = 0x80\n\tNOTE_NSECONDS                     = 0x4\n\tNOTE_OOB                          = 0x2\n\tNOTE_PCTRLMASK                    = -0x100000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_REAP                         = 0x10000000\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_SECONDS                      = 0x1\n\tNOTE_SIGNAL                       = 0x8000000\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRIGGER                      = 0x1000000\n\tNOTE_USECONDS                     = 0x2\n\tNOTE_VM_ERROR                     = 0x10000000\n\tNOTE_VM_PRESSURE                  = 0x80000000\n\tNOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000\n\tNOTE_VM_PRESSURE_TERMINATE        = 0x40000000\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFDEL                             = 0x20000\n\tOFILL                             = 0x80\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tOXTABS                            = 0x4\n\tO_ACCMODE                         = 0x3\n\tO_ALERT                           = 0x20000000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x1000000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x100000\n\tO_DP_GETRAWENCRYPTED              = 0x1\n\tO_DP_GETRAWUNENCRYPTED            = 0x2\n\tO_DSYNC                           = 0x400000\n\tO_EVTONLY                         = 0x8000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x20000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_POPUP                           = 0x80000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_SHLOCK                          = 0x10\n\tO_SYMLINK                         = 0x200000\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tPT_ATTACH                         = 0xa\n\tPT_ATTACHEXC                      = 0xe\n\tPT_CONTINUE                       = 0x7\n\tPT_DENY_ATTACH                    = 0x1f\n\tPT_DETACH                         = 0xb\n\tPT_FIRSTMACH                      = 0x20\n\tPT_FORCEQUOTA                     = 0x1e\n\tPT_KILL                           = 0x8\n\tPT_READ_D                         = 0x2\n\tPT_READ_I                         = 0x1\n\tPT_READ_U                         = 0x3\n\tPT_SIGEXC                         = 0xc\n\tPT_STEP                           = 0x9\n\tPT_THUPDATE                       = 0xd\n\tPT_TRACE_ME                       = 0x0\n\tPT_WRITE_D                        = 0x5\n\tPT_WRITE_I                        = 0x4\n\tPT_WRITE_U                        = 0x6\n\tRLIMIT_AS                         = 0x5\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_CPU_USAGE_MONITOR          = 0x2\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_MEMLOCK                    = 0x6\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_NPROC                      = 0x7\n\tRLIMIT_RSS                        = 0x5\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x8\n\tRTAX_NETMASK                      = 0x2\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CLONING                       = 0x100\n\tRTF_CONDEMNED                     = 0x2000000\n\tRTF_DELCLONE                      = 0x80\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_IFREF                         = 0x4000000\n\tRTF_IFSCOPE                       = 0x1000000\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MULTICAST                     = 0x800000\n\tRTF_NOIFREF                       = 0x2000\n\tRTF_PINNED                        = 0x100000\n\tRTF_PRCLONING                     = 0x10000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x40000\n\tRTF_PROXY                         = 0x8000000\n\tRTF_REJECT                        = 0x8\n\tRTF_ROUTER                        = 0x10000000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_WASCLONED                     = 0x20000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DELMADDR                      = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_GET2                          = 0x14\n\tRTM_IFINFO                        = 0xe\n\tRTM_IFINFO2                       = 0x12\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_NEWMADDR                      = 0xf\n\tRTM_NEWMADDR2                     = 0x13\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x3\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x2\n\tSCM_TIMESTAMP_MONOTONIC           = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCARPIPLL                       = 0xc0206928\n\tSIOCATMARK                        = 0x40047307\n\tSIOCAUTOADDR                      = 0xc0206926\n\tSIOCAUTONETMASK                   = 0x80206927\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFPHYADDR                    = 0x80206941\n\tSIOCGDRVSPEC                      = 0xc028697b\n\tSIOCGETVLAN                       = 0xc020697f\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFALTMTU                     = 0xc0206948\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBOND                       = 0xc0206947\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCAP                        = 0xc020695b\n\tSIOCGIFCONF                       = 0xc00c6924\n\tSIOCGIFDEVMTU                     = 0xc0206944\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFKPI                        = 0xc0206987\n\tSIOCGIFMAC                        = 0xc0206982\n\tSIOCGIFMEDIA                      = 0xc02c6938\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc0206933\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206940\n\tSIOCGIFPHYS                       = 0xc0206935\n\tSIOCGIFPSRCADDR                   = 0xc020693f\n\tSIOCGIFSTATUS                     = 0xc331693d\n\tSIOCGIFVLAN                       = 0xc020697f\n\tSIOCGIFWAKEFLAGS                  = 0xc0206988\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCIFCREATE                      = 0xc0206978\n\tSIOCIFCREATE2                     = 0xc020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc0106981\n\tSIOCRSLVMULTI                     = 0xc010693b\n\tSIOCSDRVSPEC                      = 0x8028697b\n\tSIOCSETVLAN                       = 0x8020697e\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFALTMTU                     = 0x80206945\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBOND                       = 0x80206946\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFCAP                        = 0x8020695a\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFKPI                        = 0x80206986\n\tSIOCSIFLLADDR                     = 0x8020693c\n\tSIOCSIFMAC                        = 0x80206983\n\tSIOCSIFMEDIA                      = 0xc0206937\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x80206934\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x8040693e\n\tSIOCSIFPHYS                       = 0x80206936\n\tSIOCSIFVLAN                       = 0x8020697e\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_MAXADDRLEN                   = 0xff\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_DONTTRUNC                      = 0x2000\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LABEL                          = 0x1010\n\tSO_LINGER                         = 0x80\n\tSO_LINGER_SEC                     = 0x1080\n\tSO_NETSVC_MARKING_LEVEL           = 0x1119\n\tSO_NET_SERVICE_TYPE               = 0x1116\n\tSO_NKE                            = 0x1021\n\tSO_NOADDRERR                      = 0x1023\n\tSO_NOSIGPIPE                      = 0x1022\n\tSO_NOTIFYCONFLICT                 = 0x1026\n\tSO_NP_EXTENSIONS                  = 0x1083\n\tSO_NREAD                          = 0x1020\n\tSO_NUMRCVPKT                      = 0x1112\n\tSO_NWRITE                         = 0x1024\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERLABEL                      = 0x1011\n\tSO_RANDOMPORT                     = 0x1082\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_REUSESHAREUID                  = 0x1025\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_TIMESTAMP                      = 0x400\n\tSO_TIMESTAMP_MONOTONIC            = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_UPCALLCLOSEWAIT                = 0x1027\n\tSO_USELOOPBACK                    = 0x40\n\tSO_WANTMORE                       = 0x4000\n\tSO_WANTOOBFLAG                    = 0x8000\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTAB0                              = 0x0\n\tTAB1                              = 0x400\n\tTAB2                              = 0x800\n\tTAB3                              = 0x4\n\tTABDLY                            = 0xc04\n\tTCIFLUSH                          = 0x1\n\tTCIOFF                            = 0x3\n\tTCIOFLUSH                         = 0x3\n\tTCION                             = 0x4\n\tTCOFLUSH                          = 0x2\n\tTCOOFF                            = 0x1\n\tTCOON                             = 0x2\n\tTCP_CONNECTIONTIMEOUT             = 0x20\n\tTCP_CONNECTION_INFO               = 0x106\n\tTCP_ENABLE_ECN                    = 0x104\n\tTCP_FASTOPEN                      = 0x105\n\tTCP_KEEPALIVE                     = 0x10\n\tTCP_KEEPCNT                       = 0x102\n\tTCP_KEEPINTVL                     = 0x101\n\tTCP_MAXHLEN                       = 0x3c\n\tTCP_MAXOLEN                       = 0x28\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x4\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOOPT                         = 0x8\n\tTCP_NOPUSH                        = 0x4\n\tTCP_NOTSENT_LOWAT                 = 0x201\n\tTCP_RXT_CONNDROPTIME              = 0x80\n\tTCP_RXT_FINDROP                   = 0x100\n\tTCP_SENDMOREACKS                  = 0x103\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x40107458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCDSIMICROCODE                  = 0x20007455\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGDRAINWAIT                    = 0x40047456\n\tTIOCGETA                          = 0x40487413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCIXOFF                         = 0x20007480\n\tTIOCIXON                          = 0x20007481\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGDTRWAIT                     = 0x4004745a\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x40047403\n\tTIOCMODS                          = 0x80047404\n\tTIOCMSDTRWAIT                     = 0x8004745b\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTYGNAME                      = 0x40807453\n\tTIOCPTYGRANT                      = 0x20007454\n\tTIOCPTYUNLK                       = 0x20007452\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCONS                         = 0x20007463\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDRAINWAIT                    = 0x80047457\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x80487414\n\tTIOCSETAF                         = 0x80487416\n\tTIOCSETAW                         = 0x80487415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x20007465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCTIMESTAMP                     = 0x40107459\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVM_LOADAVG                        = 0x2\n\tVM_MACHFACTOR                     = 0x4\n\tVM_MAXID                          = 0x6\n\tVM_METER                          = 0x1\n\tVM_SWAPUSAGE                      = 0x5\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVT0                               = 0x0\n\tVT1                               = 0x10000\n\tVTDLY                             = 0x10000\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWCONTINUED                        = 0x10\n\tWCOREFLAG                         = 0x80\n\tWEXITED                           = 0x4\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x20\n\tWORDSIZE                          = 0x40\n\tWSTOPPED                          = 0x8\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADARCH        = syscall.Errno(0x56)\n\tEBADEXEC        = syscall.Errno(0x55)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMACHO       = syscall.Errno(0x58)\n\tEBADMSG         = syscall.Errno(0x5e)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x59)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDEVERR         = syscall.Errno(0x53)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x5a)\n\tEILSEQ          = syscall.Errno(0x5c)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x6a)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5f)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x60)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x61)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5b)\n\tENOPOLICY       = syscall.Errno(0x67)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x62)\n\tENOSTR          = syscall.Errno(0x63)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x68)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x66)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x69)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x64)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tEPWROFF         = syscall.Errno(0x52)\n\tEQFULL          = syscall.Errno(0x6a)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHLIBVERS      = syscall.Errno(0x57)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x65)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"device not configured\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource deadlock avoided\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"resource busy\",\n\t17:  \"file exists\",\n\t18:  \"cross-device link\",\n\t19:  \"operation not supported by device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"result too large\",\n\t35:  \"resource temporarily unavailable\",\n\t36:  \"operation now in progress\",\n\t37:  \"operation already in progress\",\n\t38:  \"socket operation on non-socket\",\n\t39:  \"destination address required\",\n\t40:  \"message too long\",\n\t41:  \"protocol wrong type for socket\",\n\t42:  \"protocol not available\",\n\t43:  \"protocol not supported\",\n\t44:  \"socket type not supported\",\n\t45:  \"operation not supported\",\n\t46:  \"protocol family not supported\",\n\t47:  \"address family not supported by protocol family\",\n\t48:  \"address already in use\",\n\t49:  \"can't assign requested address\",\n\t50:  \"network is down\",\n\t51:  \"network is unreachable\",\n\t52:  \"network dropped connection on reset\",\n\t53:  \"software caused connection abort\",\n\t54:  \"connection reset by peer\",\n\t55:  \"no buffer space available\",\n\t56:  \"socket is already connected\",\n\t57:  \"socket is not connected\",\n\t58:  \"can't send after socket shutdown\",\n\t59:  \"too many references: can't splice\",\n\t60:  \"operation timed out\",\n\t61:  \"connection refused\",\n\t62:  \"too many levels of symbolic links\",\n\t63:  \"file name too long\",\n\t64:  \"host is down\",\n\t65:  \"no route to host\",\n\t66:  \"directory not empty\",\n\t67:  \"too many processes\",\n\t68:  \"too many users\",\n\t69:  \"disc quota exceeded\",\n\t70:  \"stale NFS file handle\",\n\t71:  \"too many levels of remote in path\",\n\t72:  \"RPC struct is bad\",\n\t73:  \"RPC version wrong\",\n\t74:  \"RPC prog. not avail\",\n\t75:  \"program version wrong\",\n\t76:  \"bad procedure for program\",\n\t77:  \"no locks available\",\n\t78:  \"function not implemented\",\n\t79:  \"inappropriate file type or format\",\n\t80:  \"authentication error\",\n\t81:  \"need authenticator\",\n\t82:  \"device power is off\",\n\t83:  \"device error\",\n\t84:  \"value too large to be stored in data type\",\n\t85:  \"bad executable (or shared library)\",\n\t86:  \"bad CPU type in executable\",\n\t87:  \"shared library version mismatch\",\n\t88:  \"malformed Mach-o file\",\n\t89:  \"operation canceled\",\n\t90:  \"identifier removed\",\n\t91:  \"no message of desired type\",\n\t92:  \"illegal byte sequence\",\n\t93:  \"attribute not found\",\n\t94:  \"bad message\",\n\t95:  \"EMULTIHOP (Reserved)\",\n\t96:  \"no message available on STREAM\",\n\t97:  \"ENOLINK (Reserved)\",\n\t98:  \"no STREAM resources\",\n\t99:  \"not a STREAM\",\n\t100: \"protocol error\",\n\t101: \"STREAM ioctl timeout\",\n\t102: \"operation not supported on socket\",\n\t103: \"policy not found\",\n\t104: \"state not recoverable\",\n\t105: \"previous owner died\",\n\t106: \"interface output queue is full\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"suspended (signal)\",\n\t18: \"suspended\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm64,darwin\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1c\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x25\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x1e\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1c\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x28\n\tAF_NATM                           = 0x1f\n\tAF_NDRV                           = 0x1b\n\tAF_NETBIOS                        = 0x21\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PPP                            = 0x22\n\tAF_PUP                            = 0x4\n\tAF_RESERVED_36                    = 0x24\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x18\n\tAF_SNA                            = 0xb\n\tAF_SYSTEM                         = 0x20\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tAF_UTUN                           = 0x26\n\tALTWERASE                         = 0x200\n\tATTR_BIT_MAP_COUNT                = 0x5\n\tATTR_CMN_ACCESSMASK               = 0x20000\n\tATTR_CMN_ACCTIME                  = 0x1000\n\tATTR_CMN_ADDEDTIME                = 0x10000000\n\tATTR_CMN_BKUPTIME                 = 0x2000\n\tATTR_CMN_CHGTIME                  = 0x800\n\tATTR_CMN_CRTIME                   = 0x200\n\tATTR_CMN_DATA_PROTECT_FLAGS       = 0x40000000\n\tATTR_CMN_DEVID                    = 0x2\n\tATTR_CMN_DOCUMENT_ID              = 0x100000\n\tATTR_CMN_ERROR                    = 0x20000000\n\tATTR_CMN_EXTENDED_SECURITY        = 0x400000\n\tATTR_CMN_FILEID                   = 0x2000000\n\tATTR_CMN_FLAGS                    = 0x40000\n\tATTR_CMN_FNDRINFO                 = 0x4000\n\tATTR_CMN_FSID                     = 0x4\n\tATTR_CMN_FULLPATH                 = 0x8000000\n\tATTR_CMN_GEN_COUNT                = 0x80000\n\tATTR_CMN_GRPID                    = 0x10000\n\tATTR_CMN_GRPUUID                  = 0x1000000\n\tATTR_CMN_MODTIME                  = 0x400\n\tATTR_CMN_NAME                     = 0x1\n\tATTR_CMN_NAMEDATTRCOUNT           = 0x80000\n\tATTR_CMN_NAMEDATTRLIST            = 0x100000\n\tATTR_CMN_OBJID                    = 0x20\n\tATTR_CMN_OBJPERMANENTID           = 0x40\n\tATTR_CMN_OBJTAG                   = 0x10\n\tATTR_CMN_OBJTYPE                  = 0x8\n\tATTR_CMN_OWNERID                  = 0x8000\n\tATTR_CMN_PARENTID                 = 0x4000000\n\tATTR_CMN_PAROBJID                 = 0x80\n\tATTR_CMN_RETURNED_ATTRS           = 0x80000000\n\tATTR_CMN_SCRIPT                   = 0x100\n\tATTR_CMN_SETMASK                  = 0x41c7ff00\n\tATTR_CMN_USERACCESS               = 0x200000\n\tATTR_CMN_UUID                     = 0x800000\n\tATTR_CMN_VALIDMASK                = 0xffffffff\n\tATTR_CMN_VOLSETMASK               = 0x6700\n\tATTR_FILE_ALLOCSIZE               = 0x4\n\tATTR_FILE_CLUMPSIZE               = 0x10\n\tATTR_FILE_DATAALLOCSIZE           = 0x400\n\tATTR_FILE_DATAEXTENTS             = 0x800\n\tATTR_FILE_DATALENGTH              = 0x200\n\tATTR_FILE_DEVTYPE                 = 0x20\n\tATTR_FILE_FILETYPE                = 0x40\n\tATTR_FILE_FORKCOUNT               = 0x80\n\tATTR_FILE_FORKLIST                = 0x100\n\tATTR_FILE_IOBLOCKSIZE             = 0x8\n\tATTR_FILE_LINKCOUNT               = 0x1\n\tATTR_FILE_RSRCALLOCSIZE           = 0x2000\n\tATTR_FILE_RSRCEXTENTS             = 0x4000\n\tATTR_FILE_RSRCLENGTH              = 0x1000\n\tATTR_FILE_SETMASK                 = 0x20\n\tATTR_FILE_TOTALSIZE               = 0x2\n\tATTR_FILE_VALIDMASK               = 0x37ff\n\tATTR_VOL_ALLOCATIONCLUMP          = 0x40\n\tATTR_VOL_ATTRIBUTES               = 0x40000000\n\tATTR_VOL_CAPABILITIES             = 0x20000\n\tATTR_VOL_DIRCOUNT                 = 0x400\n\tATTR_VOL_ENCODINGSUSED            = 0x10000\n\tATTR_VOL_FILECOUNT                = 0x200\n\tATTR_VOL_FSTYPE                   = 0x1\n\tATTR_VOL_INFO                     = 0x80000000\n\tATTR_VOL_IOBLOCKSIZE              = 0x80\n\tATTR_VOL_MAXOBJCOUNT              = 0x800\n\tATTR_VOL_MINALLOCATION            = 0x20\n\tATTR_VOL_MOUNTEDDEVICE            = 0x8000\n\tATTR_VOL_MOUNTFLAGS               = 0x4000\n\tATTR_VOL_MOUNTPOINT               = 0x1000\n\tATTR_VOL_NAME                     = 0x2000\n\tATTR_VOL_OBJCOUNT                 = 0x100\n\tATTR_VOL_QUOTA_SIZE               = 0x10000000\n\tATTR_VOL_RESERVED_SIZE            = 0x20000000\n\tATTR_VOL_SETMASK                  = 0x80002000\n\tATTR_VOL_SIGNATURE                = 0x2\n\tATTR_VOL_SIZE                     = 0x4\n\tATTR_VOL_SPACEAVAIL               = 0x10\n\tATTR_VOL_SPACEFREE                = 0x8\n\tATTR_VOL_UUID                     = 0x40000\n\tATTR_VOL_VALIDMASK                = 0xf007ffff\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc00c4279\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044272\n\tBIOCGRTIMEOUT                     = 0x4010426e\n\tBIOCGSEESENT                      = 0x40044276\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044278\n\tBIOCSETF                          = 0x80104267\n\tBIOCSETFNR                        = 0x8010427e\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044273\n\tBIOCSRTIMEOUT                     = 0x8010426d\n\tBIOCSSEESENT                      = 0x80044277\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x80000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tBS0                               = 0x0\n\tBS1                               = 0x8000\n\tBSDLY                             = 0x8000\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLOCK_MONOTONIC                   = 0x6\n\tCLOCK_MONOTONIC_RAW               = 0x4\n\tCLOCK_MONOTONIC_RAW_APPROX        = 0x5\n\tCLOCK_PROCESS_CPUTIME_ID          = 0xc\n\tCLOCK_REALTIME                    = 0x0\n\tCLOCK_THREAD_CPUTIME_ID           = 0x10\n\tCLOCK_UPTIME_RAW                  = 0x8\n\tCLOCK_UPTIME_RAW_APPROX           = 0x9\n\tCR0                               = 0x0\n\tCR1                               = 0x1000\n\tCR2                               = 0x2000\n\tCR3                               = 0x3000\n\tCRDLY                             = 0x3000\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x30000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CHDLC                         = 0x68\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DBUS                          = 0xe7\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_DVB_CI                        = 0xeb\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HHDLC                         = 0x79\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NOFCS            = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPFILTER                      = 0x74\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPOIB                         = 0xf2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_ATM_CEMIC             = 0xee\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL          = 0xea\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_SRX_E2E               = 0xe9\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_JUNIPER_VS                    = 0xe8\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION       = 0xa6\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MATCHING_MAX                  = 0xf5\n\tDLT_MATCHING_MIN                  = 0x68\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPEG_2_TS                     = 0xf3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_MUX27010                      = 0xec\n\tDLT_NETANALYZER                   = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT       = 0xf1\n\tDLT_NFC_LLCP                      = 0xf5\n\tDLT_NFLOG                         = 0xef\n\tDLT_NG40                          = 0xf4\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PPP_WITH_DIRECTION            = 0xa6\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDLT_STANAG_5066_D_PDU             = 0xed\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_USER0                         = 0x93\n\tDLT_USER1                         = 0x94\n\tDLT_USER10                        = 0x9d\n\tDLT_USER11                        = 0x9e\n\tDLT_USER12                        = 0x9f\n\tDLT_USER13                        = 0xa0\n\tDLT_USER14                        = 0xa1\n\tDLT_USER15                        = 0xa2\n\tDLT_USER2                         = 0x95\n\tDLT_USER3                         = 0x96\n\tDLT_USER4                         = 0x97\n\tDLT_USER5                         = 0x98\n\tDLT_USER6                         = 0x99\n\tDLT_USER7                         = 0x9a\n\tDLT_USER8                         = 0x9b\n\tDLT_USER9                         = 0x9c\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_EXCEPT                     = -0xf\n\tEVFILT_FS                         = -0x9\n\tEVFILT_MACHPORT                   = -0x8\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0xf\n\tEVFILT_THREADMARKER               = 0xf\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_USER                       = -0xa\n\tEVFILT_VM                         = -0xc\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_DISPATCH                       = 0x80\n\tEV_DISPATCH2                      = 0x180\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG0                          = 0x1000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_OOBAND                         = 0x2000\n\tEV_POLL                           = 0x1000\n\tEV_RECEIPT                        = 0x40\n\tEV_SYSFLAGS                       = 0xf000\n\tEV_UDATA_SPECIFIC                 = 0x100\n\tEV_VANISHED                       = 0x200\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFF0                               = 0x0\n\tFF1                               = 0x4000\n\tFFDLY                             = 0x4000\n\tFLUSHO                            = 0x800000\n\tFSOPT_ATTR_CMN_EXTENDED           = 0x20\n\tFSOPT_NOFOLLOW                    = 0x1\n\tFSOPT_NOINMEMUPDATE               = 0x2\n\tFSOPT_PACK_INVAL_ATTRS            = 0x8\n\tFSOPT_REPORT_FULLSIZE             = 0x4\n\tF_ADDFILESIGS                     = 0x3d\n\tF_ADDFILESIGS_FOR_DYLD_SIM        = 0x53\n\tF_ADDFILESIGS_RETURN              = 0x61\n\tF_ADDSIGS                         = 0x3b\n\tF_ALLOCATEALL                     = 0x4\n\tF_ALLOCATECONTIG                  = 0x2\n\tF_BARRIERFSYNC                    = 0x55\n\tF_CHECK_LV                        = 0x62\n\tF_CHKCLEAN                        = 0x29\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0x43\n\tF_FINDSIGS                        = 0x4e\n\tF_FLUSH_DATA                      = 0x28\n\tF_FREEZE_FS                       = 0x35\n\tF_FULLFSYNC                       = 0x33\n\tF_GETCODEDIR                      = 0x48\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETLKPID                        = 0x42\n\tF_GETNOSIGPIPE                    = 0x4a\n\tF_GETOWN                          = 0x5\n\tF_GETPATH                         = 0x32\n\tF_GETPATH_MTMINFO                 = 0x47\n\tF_GETPROTECTIONCLASS              = 0x3f\n\tF_GETPROTECTIONLEVEL              = 0x4d\n\tF_GLOBAL_NOCACHE                  = 0x37\n\tF_LOG2PHYS                        = 0x31\n\tF_LOG2PHYS_EXT                    = 0x41\n\tF_NOCACHE                         = 0x30\n\tF_NODIRECT                        = 0x3e\n\tF_OK                              = 0x0\n\tF_PATHPKG_CHECK                   = 0x34\n\tF_PEOFPOSMODE                     = 0x3\n\tF_PREALLOCATE                     = 0x2a\n\tF_PUNCHHOLE                       = 0x63\n\tF_RDADVISE                        = 0x2c\n\tF_RDAHEAD                         = 0x2d\n\tF_RDLCK                           = 0x1\n\tF_SETBACKINGSTORE                 = 0x46\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETLKWTIMEOUT                   = 0xa\n\tF_SETNOSIGPIPE                    = 0x49\n\tF_SETOWN                          = 0x6\n\tF_SETPROTECTIONCLASS              = 0x40\n\tF_SETSIZE                         = 0x2b\n\tF_SINGLE_WRITER                   = 0x4c\n\tF_THAW_FS                         = 0x36\n\tF_TRANSCODEKEY                    = 0x4b\n\tF_TRIM_ACTIVE_FILE                = 0x64\n\tF_UNLCK                           = 0x2\n\tF_VOLPOSMODE                      = 0x4\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_ALTPHYS                       = 0x4000\n\tIFF_BROADCAST                     = 0x2\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_AAL5                          = 0x31\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ATM                           = 0x25\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_CARP                          = 0xf8\n\tIFT_CELLULAR                      = 0xff\n\tIFT_CEPT                          = 0x13\n\tIFT_DS3                           = 0x1e\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0x38\n\tIFT_FDDI                          = 0xf\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_GIF                           = 0x37\n\tIFT_HDH1822                       = 0x3\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE8023ADLAG                 = 0x88\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88026                      = 0xa\n\tIFT_L2VLAN                        = 0x87\n\tIFT_LAPB                          = 0x10\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_NSIP                          = 0x1b\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PDP                           = 0xff\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PKTAP                         = 0xfe\n\tIFT_PPP                           = 0x17\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_RS232                         = 0x21\n\tIFT_SDLC                          = 0x11\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0x39\n\tIFT_T1                            = 0x12\n\tIFT_ULTRA                         = 0x1d\n\tIFT_V35                           = 0x2d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LINKLOCALNETNUM                = 0xa9fe0000\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_3PC                       = 0x22\n\tIPPROTO_ADFS                      = 0x44\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_AHIP                      = 0x3d\n\tIPPROTO_APES                      = 0x63\n\tIPPROTO_ARGUS                     = 0xd\n\tIPPROTO_AX25                      = 0x5d\n\tIPPROTO_BHA                       = 0x31\n\tIPPROTO_BLT                       = 0x1e\n\tIPPROTO_BRSATMON                  = 0x4c\n\tIPPROTO_CFTP                      = 0x3e\n\tIPPROTO_CHAOS                     = 0x10\n\tIPPROTO_CMTP                      = 0x26\n\tIPPROTO_CPHB                      = 0x49\n\tIPPROTO_CPNX                      = 0x48\n\tIPPROTO_DDP                       = 0x25\n\tIPPROTO_DGP                       = 0x56\n\tIPPROTO_DIVERT                    = 0xfe\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_EMCON                     = 0xe\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GMTP                      = 0x64\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HELLO                     = 0x3f\n\tIPPROTO_HMP                       = 0x14\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IDPR                      = 0x23\n\tIPPROTO_IDRP                      = 0x2d\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IGP                       = 0x55\n\tIPPROTO_IGRP                      = 0x58\n\tIPPROTO_IL                        = 0x28\n\tIPPROTO_INLSP                     = 0x34\n\tIPPROTO_INP                       = 0x20\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPCV                      = 0x47\n\tIPPROTO_IPEIP                     = 0x5e\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPPC                      = 0x43\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IRTP                      = 0x1c\n\tIPPROTO_KRYPTOLAN                 = 0x41\n\tIPPROTO_LARP                      = 0x5b\n\tIPPROTO_LEAF1                     = 0x19\n\tIPPROTO_LEAF2                     = 0x1a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MEAS                      = 0x13\n\tIPPROTO_MHRP                      = 0x30\n\tIPPROTO_MICP                      = 0x5f\n\tIPPROTO_MTP                       = 0x5c\n\tIPPROTO_MUX                       = 0x12\n\tIPPROTO_ND                        = 0x4d\n\tIPPROTO_NHRP                      = 0x36\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_NSP                       = 0x1f\n\tIPPROTO_NVPII                     = 0xb\n\tIPPROTO_OSPFIGP                   = 0x59\n\tIPPROTO_PGM                       = 0x71\n\tIPPROTO_PIGP                      = 0x9\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PRM                       = 0x15\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_PVP                       = 0x4b\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_RCCMON                    = 0xa\n\tIPPROTO_RDP                       = 0x1b\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_RVD                       = 0x42\n\tIPPROTO_SATEXPAK                  = 0x40\n\tIPPROTO_SATMON                    = 0x45\n\tIPPROTO_SCCSP                     = 0x60\n\tIPPROTO_SCTP                      = 0x84\n\tIPPROTO_SDRP                      = 0x2a\n\tIPPROTO_SEP                       = 0x21\n\tIPPROTO_SRPC                      = 0x5a\n\tIPPROTO_ST                        = 0x7\n\tIPPROTO_SVMTP                     = 0x52\n\tIPPROTO_SWIPE                     = 0x35\n\tIPPROTO_TCF                       = 0x57\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_TPXX                      = 0x27\n\tIPPROTO_TRUNK1                    = 0x17\n\tIPPROTO_TRUNK2                    = 0x18\n\tIPPROTO_TTP                       = 0x54\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VINES                     = 0x53\n\tIPPROTO_VISA                      = 0x46\n\tIPPROTO_VMTP                      = 0x51\n\tIPPROTO_WBEXPAK                   = 0x4f\n\tIPPROTO_WBMON                     = 0x4e\n\tIPPROTO_WSN                       = 0x4a\n\tIPPROTO_XNET                      = 0xf\n\tIPPROTO_XTP                       = 0x24\n\tIPV6_2292DSTOPTS                  = 0x17\n\tIPV6_2292HOPLIMIT                 = 0x14\n\tIPV6_2292HOPOPTS                  = 0x16\n\tIPV6_2292NEXTHOP                  = 0x15\n\tIPV6_2292PKTINFO                  = 0x13\n\tIPV6_2292PKTOPTIONS               = 0x19\n\tIPV6_2292RTHDR                    = 0x18\n\tIPV6_BINDV6ONLY                   = 0x1b\n\tIPV6_BOUND_IF                     = 0x7d\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FLOW_ECN_MASK                = 0x300\n\tIPV6_FRAGTTL                      = 0x3c\n\tIPV6_FW_ADD                       = 0x1e\n\tIPV6_FW_DEL                       = 0x1f\n\tIPV6_FW_FLUSH                     = 0x20\n\tIPV6_FW_GET                       = 0x22\n\tIPV6_FW_ZERO                      = 0x21\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXOPTHDR                    = 0x800\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER         = 0x200\n\tIPV6_MAX_MEMBERSHIPS              = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER          = 0x80\n\tIPV6_MIN_MEMBERSHIPS              = 0x1f\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVTCLASS                   = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x24\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP          = 0x46\n\tIP_BLOCK_SOURCE                   = 0x48\n\tIP_BOUND_IF                       = 0x19\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP         = 0x47\n\tIP_DUMMYNET_CONFIGURE             = 0x3c\n\tIP_DUMMYNET_DEL                   = 0x3d\n\tIP_DUMMYNET_FLUSH                 = 0x3e\n\tIP_DUMMYNET_GET                   = 0x40\n\tIP_FAITH                          = 0x16\n\tIP_FW_ADD                         = 0x28\n\tIP_FW_DEL                         = 0x29\n\tIP_FW_FLUSH                       = 0x2a\n\tIP_FW_GET                         = 0x2c\n\tIP_FW_RESETLOG                    = 0x2d\n\tIP_FW_ZERO                        = 0x2b\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x15\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER           = 0x200\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER           = 0x80\n\tIP_MAX_SOCK_SRC_FILTER            = 0x80\n\tIP_MF                             = 0x2000\n\tIP_MIN_MEMBERSHIPS                = 0x1f\n\tIP_MSFILTER                       = 0x4a\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_IFINDEX              = 0x42\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_MULTICAST_VIF                  = 0xe\n\tIP_NAT__XXX                       = 0x37\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OLD_FW_ADD                     = 0x32\n\tIP_OLD_FW_DEL                     = 0x33\n\tIP_OLD_FW_FLUSH                   = 0x34\n\tIP_OLD_FW_GET                     = 0x36\n\tIP_OLD_FW_RESETLOG                = 0x38\n\tIP_OLD_FW_ZERO                    = 0x35\n\tIP_OPTIONS                        = 0x1\n\tIP_PKTINFO                        = 0x1a\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVPKTINFO                    = 0x1a\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTOS                        = 0x1b\n\tIP_RECVTTL                        = 0x18\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RSVP_OFF                       = 0x10\n\tIP_RSVP_ON                        = 0xf\n\tIP_RSVP_VIF_OFF                   = 0x12\n\tIP_RSVP_VIF_ON                    = 0x11\n\tIP_STRIPHDR                       = 0x17\n\tIP_TOS                            = 0x3\n\tIP_TRAFFIC_MGT_BACKGROUND         = 0x41\n\tIP_TTL                            = 0x4\n\tIP_UNBLOCK_SOURCE                 = 0x49\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIUTF8                             = 0x4000\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_CAN_REUSE                    = 0x9\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x5\n\tMADV_FREE_REUSABLE                = 0x7\n\tMADV_FREE_REUSE                   = 0x8\n\tMADV_NORMAL                       = 0x0\n\tMADV_PAGEOUT                      = 0xa\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_WILLNEED                     = 0x3\n\tMADV_ZERO_WIRED_PAGES             = 0x6\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_JIT                           = 0x800\n\tMAP_NOCACHE                       = 0x400\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_RESERVED0080                  = 0x80\n\tMAP_RESILIENT_CODESIGN            = 0x2000\n\tMAP_RESILIENT_MEDIA               = 0x4000\n\tMAP_SHARED                        = 0x1\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMNT_ASYNC                         = 0x40\n\tMNT_AUTOMOUNTED                   = 0x400000\n\tMNT_CMDFLAGS                      = 0xf0000\n\tMNT_CPROTECT                      = 0x80\n\tMNT_DEFWRITE                      = 0x2000000\n\tMNT_DONTBROWSE                    = 0x100000\n\tMNT_DOVOLFS                       = 0x8000\n\tMNT_DWAIT                         = 0x4\n\tMNT_EXPORTED                      = 0x100\n\tMNT_FORCE                         = 0x80000\n\tMNT_IGNORE_OWNERSHIP              = 0x200000\n\tMNT_JOURNALED                     = 0x800000\n\tMNT_LOCAL                         = 0x1000\n\tMNT_MULTILABEL                    = 0x4000000\n\tMNT_NOATIME                       = 0x10000000\n\tMNT_NOBLOCK                       = 0x20000\n\tMNT_NODEV                         = 0x10\n\tMNT_NOEXEC                        = 0x4\n\tMNT_NOSUID                        = 0x8\n\tMNT_NOUSERXATTR                   = 0x1000000\n\tMNT_NOWAIT                        = 0x2\n\tMNT_QUARANTINE                    = 0x400\n\tMNT_QUOTA                         = 0x2000\n\tMNT_RDONLY                        = 0x1\n\tMNT_RELOAD                        = 0x40000\n\tMNT_ROOTFS                        = 0x4000\n\tMNT_SYNCHRONOUS                   = 0x2\n\tMNT_UNION                         = 0x20\n\tMNT_UNKNOWNPERMISSIONS            = 0x200000\n\tMNT_UPDATE                        = 0x10000\n\tMNT_VISFLAGMASK                   = 0x17f0f5ff\n\tMNT_WAIT                          = 0x1\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOF                           = 0x100\n\tMSG_EOR                           = 0x8\n\tMSG_FLUSH                         = 0x400\n\tMSG_HAVEMORE                      = 0x2000\n\tMSG_HOLD                          = 0x800\n\tMSG_NEEDSA                        = 0x10000\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_RCVMORE                       = 0x4000\n\tMSG_SEND                          = 0x1000\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMSG_WAITSTREAM                    = 0x200\n\tMS_ASYNC                          = 0x1\n\tMS_DEACTIVATE                     = 0x8\n\tMS_INVALIDATE                     = 0x2\n\tMS_KILLPAGES                      = 0x4\n\tMS_SYNC                           = 0x10\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_DUMP2                      = 0x7\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_IFLIST2                    = 0x6\n\tNET_RT_MAXID                      = 0xa\n\tNET_RT_STAT                       = 0x4\n\tNET_RT_TRASH                      = 0x5\n\tNL0                               = 0x0\n\tNL1                               = 0x100\n\tNL2                               = 0x200\n\tNL3                               = 0x300\n\tNLDLY                             = 0x300\n\tNOFLSH                            = 0x80000000\n\tNOKERNINFO                        = 0x2000000\n\tNOTE_ABSOLUTE                     = 0x8\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_BACKGROUND                   = 0x40\n\tNOTE_CHILD                        = 0x4\n\tNOTE_CRITICAL                     = 0x20\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXITSTATUS                   = 0x4000000\n\tNOTE_EXIT_CSERROR                 = 0x40000\n\tNOTE_EXIT_DECRYPTFAIL             = 0x10000\n\tNOTE_EXIT_DETAIL                  = 0x2000000\n\tNOTE_EXIT_DETAIL_MASK             = 0x70000\n\tNOTE_EXIT_MEMORY                  = 0x20000\n\tNOTE_EXIT_REPARENTED              = 0x80000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FFAND                        = 0x40000000\n\tNOTE_FFCOPY                       = 0xc0000000\n\tNOTE_FFCTRLMASK                   = 0xc0000000\n\tNOTE_FFLAGSMASK                   = 0xffffff\n\tNOTE_FFNOP                        = 0x0\n\tNOTE_FFOR                         = 0x80000000\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_FUNLOCK                      = 0x100\n\tNOTE_LEEWAY                       = 0x10\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_MACH_CONTINUOUS_TIME         = 0x80\n\tNOTE_NONE                         = 0x80\n\tNOTE_NSECONDS                     = 0x4\n\tNOTE_OOB                          = 0x2\n\tNOTE_PCTRLMASK                    = -0x100000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_REAP                         = 0x10000000\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_SECONDS                      = 0x1\n\tNOTE_SIGNAL                       = 0x8000000\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRIGGER                      = 0x1000000\n\tNOTE_USECONDS                     = 0x2\n\tNOTE_VM_ERROR                     = 0x10000000\n\tNOTE_VM_PRESSURE                  = 0x80000000\n\tNOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000\n\tNOTE_VM_PRESSURE_TERMINATE        = 0x40000000\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFDEL                             = 0x20000\n\tOFILL                             = 0x80\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tOXTABS                            = 0x4\n\tO_ACCMODE                         = 0x3\n\tO_ALERT                           = 0x20000000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x1000000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x100000\n\tO_DP_GETRAWENCRYPTED              = 0x1\n\tO_DP_GETRAWUNENCRYPTED            = 0x2\n\tO_DSYNC                           = 0x400000\n\tO_EVTONLY                         = 0x8000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x20000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_POPUP                           = 0x80000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_SHLOCK                          = 0x10\n\tO_SYMLINK                         = 0x200000\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tPT_ATTACH                         = 0xa\n\tPT_ATTACHEXC                      = 0xe\n\tPT_CONTINUE                       = 0x7\n\tPT_DENY_ATTACH                    = 0x1f\n\tPT_DETACH                         = 0xb\n\tPT_FIRSTMACH                      = 0x20\n\tPT_FORCEQUOTA                     = 0x1e\n\tPT_KILL                           = 0x8\n\tPT_READ_D                         = 0x2\n\tPT_READ_I                         = 0x1\n\tPT_READ_U                         = 0x3\n\tPT_SIGEXC                         = 0xc\n\tPT_STEP                           = 0x9\n\tPT_THUPDATE                       = 0xd\n\tPT_TRACE_ME                       = 0x0\n\tPT_WRITE_D                        = 0x5\n\tPT_WRITE_I                        = 0x4\n\tPT_WRITE_U                        = 0x6\n\tRLIMIT_AS                         = 0x5\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_CPU_USAGE_MONITOR          = 0x2\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_MEMLOCK                    = 0x6\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_NPROC                      = 0x7\n\tRLIMIT_RSS                        = 0x5\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x8\n\tRTAX_NETMASK                      = 0x2\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CLONING                       = 0x100\n\tRTF_CONDEMNED                     = 0x2000000\n\tRTF_DELCLONE                      = 0x80\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_IFREF                         = 0x4000000\n\tRTF_IFSCOPE                       = 0x1000000\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MULTICAST                     = 0x800000\n\tRTF_NOIFREF                       = 0x2000\n\tRTF_PINNED                        = 0x100000\n\tRTF_PRCLONING                     = 0x10000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x40000\n\tRTF_PROXY                         = 0x8000000\n\tRTF_REJECT                        = 0x8\n\tRTF_ROUTER                        = 0x10000000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_WASCLONED                     = 0x20000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DELMADDR                      = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_GET2                          = 0x14\n\tRTM_IFINFO                        = 0xe\n\tRTM_IFINFO2                       = 0x12\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_NEWMADDR                      = 0xf\n\tRTM_NEWMADDR2                     = 0x13\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x3\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x2\n\tSCM_TIMESTAMP_MONOTONIC           = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCARPIPLL                       = 0xc0206928\n\tSIOCATMARK                        = 0x40047307\n\tSIOCAUTOADDR                      = 0xc0206926\n\tSIOCAUTONETMASK                   = 0x80206927\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFPHYADDR                    = 0x80206941\n\tSIOCGDRVSPEC                      = 0xc028697b\n\tSIOCGETVLAN                       = 0xc020697f\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFALTMTU                     = 0xc0206948\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBOND                       = 0xc0206947\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCAP                        = 0xc020695b\n\tSIOCGIFCONF                       = 0xc00c6924\n\tSIOCGIFDEVMTU                     = 0xc0206944\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFKPI                        = 0xc0206987\n\tSIOCGIFMAC                        = 0xc0206982\n\tSIOCGIFMEDIA                      = 0xc02c6938\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc0206933\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206940\n\tSIOCGIFPHYS                       = 0xc0206935\n\tSIOCGIFPSRCADDR                   = 0xc020693f\n\tSIOCGIFSTATUS                     = 0xc331693d\n\tSIOCGIFVLAN                       = 0xc020697f\n\tSIOCGIFWAKEFLAGS                  = 0xc0206988\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCIFCREATE                      = 0xc0206978\n\tSIOCIFCREATE2                     = 0xc020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc0106981\n\tSIOCRSLVMULTI                     = 0xc010693b\n\tSIOCSDRVSPEC                      = 0x8028697b\n\tSIOCSETVLAN                       = 0x8020697e\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFALTMTU                     = 0x80206945\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBOND                       = 0x80206946\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFCAP                        = 0x8020695a\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFKPI                        = 0x80206986\n\tSIOCSIFLLADDR                     = 0x8020693c\n\tSIOCSIFMAC                        = 0x80206983\n\tSIOCSIFMEDIA                      = 0xc0206937\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x80206934\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x8040693e\n\tSIOCSIFPHYS                       = 0x80206936\n\tSIOCSIFVLAN                       = 0x8020697e\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_MAXADDRLEN                   = 0xff\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_DONTTRUNC                      = 0x2000\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LABEL                          = 0x1010\n\tSO_LINGER                         = 0x80\n\tSO_LINGER_SEC                     = 0x1080\n\tSO_NETSVC_MARKING_LEVEL           = 0x1119\n\tSO_NET_SERVICE_TYPE               = 0x1116\n\tSO_NKE                            = 0x1021\n\tSO_NOADDRERR                      = 0x1023\n\tSO_NOSIGPIPE                      = 0x1022\n\tSO_NOTIFYCONFLICT                 = 0x1026\n\tSO_NP_EXTENSIONS                  = 0x1083\n\tSO_NREAD                          = 0x1020\n\tSO_NUMRCVPKT                      = 0x1112\n\tSO_NWRITE                         = 0x1024\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERLABEL                      = 0x1011\n\tSO_RANDOMPORT                     = 0x1082\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_REUSESHAREUID                  = 0x1025\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_TIMESTAMP                      = 0x400\n\tSO_TIMESTAMP_MONOTONIC            = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_UPCALLCLOSEWAIT                = 0x1027\n\tSO_USELOOPBACK                    = 0x40\n\tSO_WANTMORE                       = 0x4000\n\tSO_WANTOOBFLAG                    = 0x8000\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTAB0                              = 0x0\n\tTAB1                              = 0x400\n\tTAB2                              = 0x800\n\tTAB3                              = 0x4\n\tTABDLY                            = 0xc04\n\tTCIFLUSH                          = 0x1\n\tTCIOFF                            = 0x3\n\tTCIOFLUSH                         = 0x3\n\tTCION                             = 0x4\n\tTCOFLUSH                          = 0x2\n\tTCOOFF                            = 0x1\n\tTCOON                             = 0x2\n\tTCP_CONNECTIONTIMEOUT             = 0x20\n\tTCP_CONNECTION_INFO               = 0x106\n\tTCP_ENABLE_ECN                    = 0x104\n\tTCP_FASTOPEN                      = 0x105\n\tTCP_KEEPALIVE                     = 0x10\n\tTCP_KEEPCNT                       = 0x102\n\tTCP_KEEPINTVL                     = 0x101\n\tTCP_MAXHLEN                       = 0x3c\n\tTCP_MAXOLEN                       = 0x28\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x4\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOOPT                         = 0x8\n\tTCP_NOPUSH                        = 0x4\n\tTCP_NOTSENT_LOWAT                 = 0x201\n\tTCP_RXT_CONNDROPTIME              = 0x80\n\tTCP_RXT_FINDROP                   = 0x100\n\tTCP_SENDMOREACKS                  = 0x103\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x40107458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCDSIMICROCODE                  = 0x20007455\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGDRAINWAIT                    = 0x40047456\n\tTIOCGETA                          = 0x40487413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCIXOFF                         = 0x20007480\n\tTIOCIXON                          = 0x20007481\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGDTRWAIT                     = 0x4004745a\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x40047403\n\tTIOCMODS                          = 0x80047404\n\tTIOCMSDTRWAIT                     = 0x8004745b\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTYGNAME                      = 0x40807453\n\tTIOCPTYGRANT                      = 0x20007454\n\tTIOCPTYUNLK                       = 0x20007452\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCONS                         = 0x20007463\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDRAINWAIT                    = 0x80047457\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x80487414\n\tTIOCSETAF                         = 0x80487416\n\tTIOCSETAW                         = 0x80487415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x20007465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCTIMESTAMP                     = 0x40107459\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVM_LOADAVG                        = 0x2\n\tVM_MACHFACTOR                     = 0x4\n\tVM_MAXID                          = 0x6\n\tVM_METER                          = 0x1\n\tVM_SWAPUSAGE                      = 0x5\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVT0                               = 0x0\n\tVT1                               = 0x10000\n\tVTDLY                             = 0x10000\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWCONTINUED                        = 0x10\n\tWCOREFLAG                         = 0x80\n\tWEXITED                           = 0x4\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x20\n\tWORDSIZE                          = 0x40\n\tWSTOPPED                          = 0x8\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADARCH        = syscall.Errno(0x56)\n\tEBADEXEC        = syscall.Errno(0x55)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMACHO       = syscall.Errno(0x58)\n\tEBADMSG         = syscall.Errno(0x5e)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x59)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDEVERR         = syscall.Errno(0x53)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x5a)\n\tEILSEQ          = syscall.Errno(0x5c)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x6a)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5f)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x60)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x61)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5b)\n\tENOPOLICY       = syscall.Errno(0x67)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x62)\n\tENOSTR          = syscall.Errno(0x63)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x68)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x66)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x69)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x64)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tEPWROFF         = syscall.Errno(0x52)\n\tEQFULL          = syscall.Errno(0x6a)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHLIBVERS      = syscall.Errno(0x57)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x65)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"device not configured\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource deadlock avoided\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"resource busy\",\n\t17:  \"file exists\",\n\t18:  \"cross-device link\",\n\t19:  \"operation not supported by device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"result too large\",\n\t35:  \"resource temporarily unavailable\",\n\t36:  \"operation now in progress\",\n\t37:  \"operation already in progress\",\n\t38:  \"socket operation on non-socket\",\n\t39:  \"destination address required\",\n\t40:  \"message too long\",\n\t41:  \"protocol wrong type for socket\",\n\t42:  \"protocol not available\",\n\t43:  \"protocol not supported\",\n\t44:  \"socket type not supported\",\n\t45:  \"operation not supported\",\n\t46:  \"protocol family not supported\",\n\t47:  \"address family not supported by protocol family\",\n\t48:  \"address already in use\",\n\t49:  \"can't assign requested address\",\n\t50:  \"network is down\",\n\t51:  \"network is unreachable\",\n\t52:  \"network dropped connection on reset\",\n\t53:  \"software caused connection abort\",\n\t54:  \"connection reset by peer\",\n\t55:  \"no buffer space available\",\n\t56:  \"socket is already connected\",\n\t57:  \"socket is not connected\",\n\t58:  \"can't send after socket shutdown\",\n\t59:  \"too many references: can't splice\",\n\t60:  \"operation timed out\",\n\t61:  \"connection refused\",\n\t62:  \"too many levels of symbolic links\",\n\t63:  \"file name too long\",\n\t64:  \"host is down\",\n\t65:  \"no route to host\",\n\t66:  \"directory not empty\",\n\t67:  \"too many processes\",\n\t68:  \"too many users\",\n\t69:  \"disc quota exceeded\",\n\t70:  \"stale NFS file handle\",\n\t71:  \"too many levels of remote in path\",\n\t72:  \"RPC struct is bad\",\n\t73:  \"RPC version wrong\",\n\t74:  \"RPC prog. not avail\",\n\t75:  \"program version wrong\",\n\t76:  \"bad procedure for program\",\n\t77:  \"no locks available\",\n\t78:  \"function not implemented\",\n\t79:  \"inappropriate file type or format\",\n\t80:  \"authentication error\",\n\t81:  \"need authenticator\",\n\t82:  \"device power is off\",\n\t83:  \"device error\",\n\t84:  \"value too large to be stored in data type\",\n\t85:  \"bad executable (or shared library)\",\n\t86:  \"bad CPU type in executable\",\n\t87:  \"shared library version mismatch\",\n\t88:  \"malformed Mach-o file\",\n\t89:  \"operation canceled\",\n\t90:  \"identifier removed\",\n\t91:  \"no message of desired type\",\n\t92:  \"illegal byte sequence\",\n\t93:  \"attribute not found\",\n\t94:  \"bad message\",\n\t95:  \"EMULTIHOP (Reserved)\",\n\t96:  \"no message available on STREAM\",\n\t97:  \"ENOLINK (Reserved)\",\n\t98:  \"no STREAM resources\",\n\t99:  \"not a STREAM\",\n\t100: \"protocol error\",\n\t101: \"STREAM ioctl timeout\",\n\t102: \"operation not supported on socket\",\n\t103: \"policy not found\",\n\t104: \"state not recoverable\",\n\t105: \"previous owner died\",\n\t106: \"interface output queue is full\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"suspended (signal)\",\n\t18: \"suspended\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,dragonfly\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_ATM                            = 0x1e\n\tAF_BLUETOOTH                      = 0x21\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x23\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x1c\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x24\n\tAF_MPLS                           = 0x22\n\tAF_NATM                           = 0x1d\n\tAF_NETBIOS                        = 0x6\n\tAF_NETGRAPH                       = 0x20\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x18\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tALTWERASE                         = 0x200\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc0104279\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044272\n\tBIOCGRTIMEOUT                     = 0x4010426e\n\tBIOCGSEESENT                      = 0x40044276\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCLOCK                          = 0x2000427a\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044278\n\tBIOCSETF                          = 0x80104267\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSETWF                         = 0x8010427b\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044273\n\tBIOCSRTIMEOUT                     = 0x8010426d\n\tBIOCSSEESENT                      = 0x80044277\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x8\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DEFAULTBUFSIZE                = 0x1000\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x80000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MAX_CLONES                    = 0x80\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLOCK_MONOTONIC                   = 0x4\n\tCLOCK_MONOTONIC_FAST              = 0xc\n\tCLOCK_MONOTONIC_PRECISE           = 0xb\n\tCLOCK_PROCESS_CPUTIME_ID          = 0xf\n\tCLOCK_PROF                        = 0x2\n\tCLOCK_REALTIME                    = 0x0\n\tCLOCK_REALTIME_FAST               = 0xa\n\tCLOCK_REALTIME_PRECISE            = 0x9\n\tCLOCK_SECOND                      = 0xd\n\tCLOCK_THREAD_CPUTIME_ID           = 0xe\n\tCLOCK_UPTIME                      = 0x5\n\tCLOCK_UPTIME_FAST                 = 0x8\n\tCLOCK_UPTIME_PRECISE              = 0x7\n\tCLOCK_VIRTUAL                     = 0x1\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x30000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CHAOS                         = 0x5\n\tDLT_CHDLC                         = 0x68\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_HHDLC                         = 0x79\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPFILTER                      = 0x74\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_REDBACK_SMARTEDGE             = 0x20\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DBF                            = 0xf\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_EXCEPT                     = -0x8\n\tEVFILT_FS                         = -0xa\n\tEVFILT_MARKER                     = 0xf\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0xa\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_USER                       = -0x9\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_DISPATCH                       = 0x80\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_NODATA                         = 0x1000\n\tEV_ONESHOT                        = 0x10\n\tEV_RECEIPT                        = 0x40\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTEXIT_LWP                       = 0x10000\n\tEXTEXIT_PROC                      = 0x0\n\tEXTEXIT_SETINT                    = 0x1\n\tEXTEXIT_SIMPLE                    = 0x0\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFLUSHO                            = 0x800000\n\tF_DUP2FD                          = 0xa\n\tF_DUP2FD_CLOEXEC                  = 0x12\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0x11\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETOWN                          = 0x5\n\tF_OK                              = 0x0\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_ALTPHYS                       = 0x4000\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x118e72\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MONITOR                       = 0x40000\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NPOLLING                      = 0x100000\n\tIFF_OACTIVE                       = 0x400\n\tIFF_OACTIVE_COMPAT                = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_POLLING                       = 0x10000\n\tIFF_POLLING_COMPAT                = 0x10000\n\tIFF_PPROMISC                      = 0x20000\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_SMART                         = 0x20\n\tIFF_STATICARP                     = 0x80000\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf8\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf2\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xf3\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_3PC                       = 0x22\n\tIPPROTO_ADFS                      = 0x44\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_AHIP                      = 0x3d\n\tIPPROTO_APES                      = 0x63\n\tIPPROTO_ARGUS                     = 0xd\n\tIPPROTO_AX25                      = 0x5d\n\tIPPROTO_BHA                       = 0x31\n\tIPPROTO_BLT                       = 0x1e\n\tIPPROTO_BRSATMON                  = 0x4c\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_CFTP                      = 0x3e\n\tIPPROTO_CHAOS                     = 0x10\n\tIPPROTO_CMTP                      = 0x26\n\tIPPROTO_CPHB                      = 0x49\n\tIPPROTO_CPNX                      = 0x48\n\tIPPROTO_DDP                       = 0x25\n\tIPPROTO_DGP                       = 0x56\n\tIPPROTO_DIVERT                    = 0xfe\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_EMCON                     = 0xe\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GMTP                      = 0x64\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HELLO                     = 0x3f\n\tIPPROTO_HMP                       = 0x14\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IDPR                      = 0x23\n\tIPPROTO_IDRP                      = 0x2d\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IGP                       = 0x55\n\tIPPROTO_IGRP                      = 0x58\n\tIPPROTO_IL                        = 0x28\n\tIPPROTO_INLSP                     = 0x34\n\tIPPROTO_INP                       = 0x20\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPCV                      = 0x47\n\tIPPROTO_IPEIP                     = 0x5e\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPPC                      = 0x43\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IRTP                      = 0x1c\n\tIPPROTO_KRYPTOLAN                 = 0x41\n\tIPPROTO_LARP                      = 0x5b\n\tIPPROTO_LEAF1                     = 0x19\n\tIPPROTO_LEAF2                     = 0x1a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MEAS                      = 0x13\n\tIPPROTO_MHRP                      = 0x30\n\tIPPROTO_MICP                      = 0x5f\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_MTP                       = 0x5c\n\tIPPROTO_MUX                       = 0x12\n\tIPPROTO_ND                        = 0x4d\n\tIPPROTO_NHRP                      = 0x36\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_NSP                       = 0x1f\n\tIPPROTO_NVPII                     = 0xb\n\tIPPROTO_OSPFIGP                   = 0x59\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PGM                       = 0x71\n\tIPPROTO_PIGP                      = 0x9\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PRM                       = 0x15\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_PVP                       = 0x4b\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_RCCMON                    = 0xa\n\tIPPROTO_RDP                       = 0x1b\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_RVD                       = 0x42\n\tIPPROTO_SATEXPAK                  = 0x40\n\tIPPROTO_SATMON                    = 0x45\n\tIPPROTO_SCCSP                     = 0x60\n\tIPPROTO_SDRP                      = 0x2a\n\tIPPROTO_SEP                       = 0x21\n\tIPPROTO_SKIP                      = 0x39\n\tIPPROTO_SRPC                      = 0x5a\n\tIPPROTO_ST                        = 0x7\n\tIPPROTO_SVMTP                     = 0x52\n\tIPPROTO_SWIPE                     = 0x35\n\tIPPROTO_TCF                       = 0x57\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TLSP                      = 0x38\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_TPXX                      = 0x27\n\tIPPROTO_TRUNK1                    = 0x17\n\tIPPROTO_TRUNK2                    = 0x18\n\tIPPROTO_TTP                       = 0x54\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_UNKNOWN                   = 0x102\n\tIPPROTO_VINES                     = 0x53\n\tIPPROTO_VISA                      = 0x46\n\tIPPROTO_VMTP                      = 0x51\n\tIPPROTO_WBEXPAK                   = 0x4f\n\tIPPROTO_WBMON                     = 0x4e\n\tIPPROTO_WSN                       = 0x4a\n\tIPPROTO_XNET                      = 0xf\n\tIPPROTO_XTP                       = 0x24\n\tIPV6_AUTOFLOWLABEL                = 0x3b\n\tIPV6_BINDV6ONLY                   = 0x1b\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_FW_ADD                       = 0x1e\n\tIPV6_FW_DEL                       = 0x1f\n\tIPV6_FW_FLUSH                     = 0x20\n\tIPV6_FW_GET                       = 0x22\n\tIPV6_FW_ZERO                      = 0x21\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MINHLIM                      = 0x28\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MSFILTER                     = 0x4a\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PKTOPTIONS                   = 0x34\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_PREFER_TEMPADDR              = 0x3f\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_DUMMYNET_CONFIGURE             = 0x3c\n\tIP_DUMMYNET_DEL                   = 0x3d\n\tIP_DUMMYNET_FLUSH                 = 0x3e\n\tIP_DUMMYNET_GET                   = 0x40\n\tIP_FAITH                          = 0x16\n\tIP_FW_ADD                         = 0x32\n\tIP_FW_DEL                         = 0x33\n\tIP_FW_FLUSH                       = 0x34\n\tIP_FW_GET                         = 0x36\n\tIP_FW_RESETLOG                    = 0x37\n\tIP_FW_X                           = 0x31\n\tIP_FW_ZERO                        = 0x35\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x15\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0x14\n\tIP_MF                             = 0x2000\n\tIP_MINTTL                         = 0x42\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_MULTICAST_VIF                  = 0xe\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTTL                        = 0x41\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RSVP_OFF                       = 0x10\n\tIP_RSVP_ON                        = 0xf\n\tIP_RSVP_VIF_OFF                   = 0x12\n\tIP_RSVP_VIF_ON                    = 0x11\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_AUTOSYNC                     = 0x7\n\tMADV_CONTROL_END                  = 0xb\n\tMADV_CONTROL_START                = 0xa\n\tMADV_CORE                         = 0x9\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x5\n\tMADV_INVAL                        = 0xa\n\tMADV_NOCORE                       = 0x8\n\tMADV_NORMAL                       = 0x0\n\tMADV_NOSYNC                       = 0x6\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SETMAP                       = 0xb\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_INHERIT                       = 0x80\n\tMAP_NOCORE                        = 0x20000\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_NOSYNC                        = 0x800\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_SHARED                        = 0x1\n\tMAP_SIZEALIGN                     = 0x40000\n\tMAP_STACK                         = 0x400\n\tMAP_TRYFIXED                      = 0x10000\n\tMAP_VPAGETABLE                    = 0x2000\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMSG_CMSG_CLOEXEC                  = 0x1000\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOF                           = 0x100\n\tMSG_EOR                           = 0x8\n\tMSG_FBLOCKING                     = 0x10000\n\tMSG_FMASK                         = 0xffff0000\n\tMSG_FNONBLOCKING                  = 0x20000\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_SYNC                          = 0x800\n\tMSG_TRUNC                         = 0x10\n\tMSG_UNUSED09                      = 0x200\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x2\n\tMS_SYNC                           = 0x0\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_MAXID                      = 0x4\n\tNOFLSH                            = 0x80000000\n\tNOKERNINFO                        = 0x2000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FFAND                        = 0x40000000\n\tNOTE_FFCOPY                       = 0xc0000000\n\tNOTE_FFCTRLMASK                   = 0xc0000000\n\tNOTE_FFLAGSMASK                   = 0xffffff\n\tNOTE_FFNOP                        = 0x0\n\tNOTE_FFOR                         = 0x80000000\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_OOB                          = 0x2\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRIGGER                      = 0x1000000\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tOXTABS                            = 0x4\n\tO_ACCMODE                         = 0x3\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x20000\n\tO_CREAT                           = 0x200\n\tO_DIRECT                          = 0x10000\n\tO_DIRECTORY                       = 0x8000000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FAPPEND                         = 0x100000\n\tO_FASYNCWRITE                     = 0x800000\n\tO_FBLOCKING                       = 0x40000\n\tO_FMASK                           = 0xfc0000\n\tO_FNONBLOCKING                    = 0x80000\n\tO_FOFFSET                         = 0x200000\n\tO_FSYNC                           = 0x80\n\tO_FSYNCWRITE                      = 0x400000\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tRLIMIT_AS                         = 0xa\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0xb\n\tRTAX_MPLS1                        = 0x8\n\tRTAX_MPLS2                        = 0x9\n\tRTAX_MPLS3                        = 0xa\n\tRTAX_NETMASK                      = 0x2\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_MPLS1                         = 0x100\n\tRTA_MPLS2                         = 0x200\n\tRTA_MPLS3                         = 0x400\n\tRTA_NETMASK                       = 0x4\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MPLSOPS                       = 0x1000000\n\tRTF_MULTICAST                     = 0x800000\n\tRTF_PINNED                        = 0x100000\n\tRTF_PRCLONING                     = 0x10000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x40000\n\tRTF_REJECT                        = 0x8\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_WASCLONED                     = 0x20000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DELMADDR                      = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_IEEE80211                     = 0x12\n\tRTM_IFANNOUNCE                    = 0x11\n\tRTM_IFINFO                        = 0xe\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_NEWMADDR                      = 0xf\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x6\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_IWCAPSEGS                     = 0x400\n\tRTV_IWMAXSEGS                     = 0x200\n\tRTV_MSL                           = 0x100\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x3\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x2\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCADDRT                         = 0x8040720a\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCALIFADDR                      = 0x8118691b\n\tSIOCATMARK                        = 0x40047307\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDELRT                         = 0x8040720b\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFPHYADDR                    = 0x80206949\n\tSIOCDLIFADDR                      = 0x8118691d\n\tSIOCGDRVSPEC                      = 0xc028697b\n\tSIOCGETSGCNT                      = 0xc0207210\n\tSIOCGETVIFCNT                     = 0xc028720f\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCAP                        = 0xc020691f\n\tSIOCGIFCONF                       = 0xc0106924\n\tSIOCGIFDATA                       = 0xc0206926\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFGMEMB                      = 0xc028698a\n\tSIOCGIFINDEX                      = 0xc0206920\n\tSIOCGIFMEDIA                      = 0xc0306938\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc0206933\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206948\n\tSIOCGIFPHYS                       = 0xc0206935\n\tSIOCGIFPOLLCPU                    = 0xc020697e\n\tSIOCGIFPSRCADDR                   = 0xc0206947\n\tSIOCGIFSTATUS                     = 0xc331693b\n\tSIOCGIFTSOLEN                     = 0xc0206980\n\tSIOCGLIFADDR                      = 0xc118691c\n\tSIOCGLIFPHYADDR                   = 0xc118694b\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGPRIVATE_0                    = 0xc0206950\n\tSIOCGPRIVATE_1                    = 0xc0206951\n\tSIOCIFCREATE                      = 0xc020697a\n\tSIOCIFCREATE2                     = 0xc020697c\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc0106978\n\tSIOCSDRVSPEC                      = 0x8028697b\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFCAP                        = 0x8020691e\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFLLADDR                     = 0x8020693c\n\tSIOCSIFMEDIA                      = 0xc0206937\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x80206934\n\tSIOCSIFNAME                       = 0x80206928\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSIFPHYS                       = 0x80206936\n\tSIOCSIFPOLLCPU                    = 0x8020697d\n\tSIOCSIFTSOLEN                     = 0x8020697f\n\tSIOCSLIFPHYADDR                   = 0x8118694a\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSOCK_CLOEXEC                      = 0x10000000\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_MAXADDRLEN                   = 0xff\n\tSOCK_NONBLOCK                     = 0x20000000\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_ACCEPTFILTER                   = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_CPUHINT                        = 0x1030\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NOSIGPIPE                      = 0x800\n\tSO_OOBINLINE                      = 0x100\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDSPACE                       = 0x100a\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_TIMESTAMP                      = 0x400\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tTCIFLUSH                          = 0x1\n\tTCIOFF                            = 0x3\n\tTCIOFLUSH                         = 0x3\n\tTCION                             = 0x4\n\tTCOFLUSH                          = 0x2\n\tTCOOFF                            = 0x1\n\tTCOON                             = 0x2\n\tTCP_FASTKEEP                      = 0x80\n\tTCP_KEEPCNT                       = 0x400\n\tTCP_KEEPIDLE                      = 0x100\n\tTCP_KEEPINIT                      = 0x20\n\tTCP_KEEPINTVL                     = 0x200\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXHLEN                       = 0x3c\n\tTCP_MAXOLEN                       = 0x28\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MINMSS                        = 0x100\n\tTCP_MIN_WINSHIFT                  = 0x5\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOOPT                         = 0x8\n\tTCP_NOPUSH                        = 0x4\n\tTCP_SIGNATURE_ENABLE              = 0x10\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x40107458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGDRAINWAIT                    = 0x40047456\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGSID                          = 0x40047463\n\tTIOCGSIZE                         = 0x40087468\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCISPTMASTER                    = 0x20007455\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGDTRWAIT                     = 0x4004745a\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x40047403\n\tTIOCMODS                          = 0x80047404\n\tTIOCMSDTRWAIT                     = 0x8004745b\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDRAINWAIT                    = 0x80047457\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSSIZE                         = 0x80087467\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x20007465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCTIMESTAMP                     = 0x40107459\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVCHECKPT                          = 0x13\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVERASE2                           = 0x7\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVM_BCACHE_SIZE_MAX                = 0x0\n\tVM_SWZONE_SIZE_MAX                = 0x4000000000\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWCONTINUED                        = 0x4\n\tWCOREFLAG                         = 0x80\n\tWLINUXCLONE                       = 0x80000000\n\tWNOHANG                           = 0x1\n\tWSTOPPED                          = 0x7f\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEASYNC          = syscall.Errno(0x63)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x59)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x55)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOOFUS         = syscall.Errno(0x58)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x56)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x63)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5a)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x57)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5b)\n\tENOMEDIUM       = syscall.Errno(0x5d)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x5c)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUNUSED94       = syscall.Errno(0x5e)\n\tEUNUSED95       = syscall.Errno(0x5f)\n\tEUNUSED96       = syscall.Errno(0x60)\n\tEUNUSED97       = syscall.Errno(0x61)\n\tEUNUSED98       = syscall.Errno(0x62)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT     = syscall.Signal(0x6)\n\tSIGALRM     = syscall.Signal(0xe)\n\tSIGBUS      = syscall.Signal(0xa)\n\tSIGCHLD     = syscall.Signal(0x14)\n\tSIGCKPT     = syscall.Signal(0x21)\n\tSIGCKPTEXIT = syscall.Signal(0x22)\n\tSIGCONT     = syscall.Signal(0x13)\n\tSIGEMT      = syscall.Signal(0x7)\n\tSIGFPE      = syscall.Signal(0x8)\n\tSIGHUP      = syscall.Signal(0x1)\n\tSIGILL      = syscall.Signal(0x4)\n\tSIGINFO     = syscall.Signal(0x1d)\n\tSIGINT      = syscall.Signal(0x2)\n\tSIGIO       = syscall.Signal(0x17)\n\tSIGIOT      = syscall.Signal(0x6)\n\tSIGKILL     = syscall.Signal(0x9)\n\tSIGPIPE     = syscall.Signal(0xd)\n\tSIGPROF     = syscall.Signal(0x1b)\n\tSIGQUIT     = syscall.Signal(0x3)\n\tSIGSEGV     = syscall.Signal(0xb)\n\tSIGSTOP     = syscall.Signal(0x11)\n\tSIGSYS      = syscall.Signal(0xc)\n\tSIGTERM     = syscall.Signal(0xf)\n\tSIGTHR      = syscall.Signal(0x20)\n\tSIGTRAP     = syscall.Signal(0x5)\n\tSIGTSTP     = syscall.Signal(0x12)\n\tSIGTTIN     = syscall.Signal(0x15)\n\tSIGTTOU     = syscall.Signal(0x16)\n\tSIGURG      = syscall.Signal(0x10)\n\tSIGUSR1     = syscall.Signal(0x1e)\n\tSIGUSR2     = syscall.Signal(0x1f)\n\tSIGVTALRM   = syscall.Signal(0x1a)\n\tSIGWINCH    = syscall.Signal(0x1c)\n\tSIGXCPU     = syscall.Signal(0x18)\n\tSIGXFSZ     = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:  \"operation not permitted\",\n\t2:  \"no such file or directory\",\n\t3:  \"no such process\",\n\t4:  \"interrupted system call\",\n\t5:  \"input/output error\",\n\t6:  \"device not configured\",\n\t7:  \"argument list too long\",\n\t8:  \"exec format error\",\n\t9:  \"bad file descriptor\",\n\t10: \"no child processes\",\n\t11: \"resource deadlock avoided\",\n\t12: \"cannot allocate memory\",\n\t13: \"permission denied\",\n\t14: \"bad address\",\n\t15: \"block device required\",\n\t16: \"device busy\",\n\t17: \"file exists\",\n\t18: \"cross-device link\",\n\t19: \"operation not supported by device\",\n\t20: \"not a directory\",\n\t21: \"is a directory\",\n\t22: \"invalid argument\",\n\t23: \"too many open files in system\",\n\t24: \"too many open files\",\n\t25: \"inappropriate ioctl for device\",\n\t26: \"text file busy\",\n\t27: \"file too large\",\n\t28: \"no space left on device\",\n\t29: \"illegal seek\",\n\t30: \"read-only file system\",\n\t31: \"too many links\",\n\t32: \"broken pipe\",\n\t33: \"numerical argument out of domain\",\n\t34: \"result too large\",\n\t35: \"resource temporarily unavailable\",\n\t36: \"operation now in progress\",\n\t37: \"operation already in progress\",\n\t38: \"socket operation on non-socket\",\n\t39: \"destination address required\",\n\t40: \"message too long\",\n\t41: \"protocol wrong type for socket\",\n\t42: \"protocol not available\",\n\t43: \"protocol not supported\",\n\t44: \"socket type not supported\",\n\t45: \"operation not supported\",\n\t46: \"protocol family not supported\",\n\t47: \"address family not supported by protocol family\",\n\t48: \"address already in use\",\n\t49: \"can't assign requested address\",\n\t50: \"network is down\",\n\t51: \"network is unreachable\",\n\t52: \"network dropped connection on reset\",\n\t53: \"software caused connection abort\",\n\t54: \"connection reset by peer\",\n\t55: \"no buffer space available\",\n\t56: \"socket is already connected\",\n\t57: \"socket is not connected\",\n\t58: \"can't send after socket shutdown\",\n\t59: \"too many references: can't splice\",\n\t60: \"operation timed out\",\n\t61: \"connection refused\",\n\t62: \"too many levels of symbolic links\",\n\t63: \"file name too long\",\n\t64: \"host is down\",\n\t65: \"no route to host\",\n\t66: \"directory not empty\",\n\t67: \"too many processes\",\n\t68: \"too many users\",\n\t69: \"disc quota exceeded\",\n\t70: \"stale NFS file handle\",\n\t71: \"too many levels of remote in path\",\n\t72: \"RPC struct is bad\",\n\t73: \"RPC version wrong\",\n\t74: \"RPC prog. not avail\",\n\t75: \"program version wrong\",\n\t76: \"bad procedure for program\",\n\t77: \"no locks available\",\n\t78: \"function not implemented\",\n\t79: \"inappropriate file type or format\",\n\t80: \"authentication error\",\n\t81: \"need authenticator\",\n\t82: \"identifier removed\",\n\t83: \"no message of desired type\",\n\t84: \"value too large to be stored in data type\",\n\t85: \"operation canceled\",\n\t86: \"illegal byte sequence\",\n\t87: \"attribute not found\",\n\t88: \"programming error\",\n\t89: \"bad message\",\n\t90: \"multihop attempted\",\n\t91: \"link has been severed\",\n\t92: \"protocol error\",\n\t93: \"no medium found\",\n\t94: \"unknown error: 94\",\n\t95: \"unknown error: 95\",\n\t96: \"unknown error: 96\",\n\t97: \"unknown error: 97\",\n\t98: \"unknown error: 98\",\n\t99: \"unknown error: 99\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"suspended (signal)\",\n\t18: \"suspended\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n\t32: \"thread Scheduler\",\n\t33: \"checkPoint\",\n\t34: \"checkPointExit\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go",
    "content": "// mkerrors.sh -m32\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,freebsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m32 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                   = 0x10\n\tAF_ARP                         = 0x23\n\tAF_ATM                         = 0x1e\n\tAF_BLUETOOTH                   = 0x24\n\tAF_CCITT                       = 0xa\n\tAF_CHAOS                       = 0x5\n\tAF_CNT                         = 0x15\n\tAF_COIP                        = 0x14\n\tAF_DATAKIT                     = 0x9\n\tAF_DECnet                      = 0xc\n\tAF_DLI                         = 0xd\n\tAF_E164                        = 0x1a\n\tAF_ECMA                        = 0x8\n\tAF_HYLINK                      = 0xf\n\tAF_IEEE80211                   = 0x25\n\tAF_IMPLINK                     = 0x3\n\tAF_INET                        = 0x2\n\tAF_INET6                       = 0x1c\n\tAF_INET6_SDP                   = 0x2a\n\tAF_INET_SDP                    = 0x28\n\tAF_IPX                         = 0x17\n\tAF_ISDN                        = 0x1a\n\tAF_ISO                         = 0x7\n\tAF_LAT                         = 0xe\n\tAF_LINK                        = 0x12\n\tAF_LOCAL                       = 0x1\n\tAF_MAX                         = 0x2a\n\tAF_NATM                        = 0x1d\n\tAF_NETBIOS                     = 0x6\n\tAF_NETGRAPH                    = 0x20\n\tAF_OSI                         = 0x7\n\tAF_PUP                         = 0x4\n\tAF_ROUTE                       = 0x11\n\tAF_SCLUSTER                    = 0x22\n\tAF_SIP                         = 0x18\n\tAF_SLOW                        = 0x21\n\tAF_SNA                         = 0xb\n\tAF_UNIX                        = 0x1\n\tAF_UNSPEC                      = 0x0\n\tAF_VENDOR00                    = 0x27\n\tAF_VENDOR01                    = 0x29\n\tAF_VENDOR02                    = 0x2b\n\tAF_VENDOR03                    = 0x2d\n\tAF_VENDOR04                    = 0x2f\n\tAF_VENDOR05                    = 0x31\n\tAF_VENDOR06                    = 0x33\n\tAF_VENDOR07                    = 0x35\n\tAF_VENDOR08                    = 0x37\n\tAF_VENDOR09                    = 0x39\n\tAF_VENDOR10                    = 0x3b\n\tAF_VENDOR11                    = 0x3d\n\tAF_VENDOR12                    = 0x3f\n\tAF_VENDOR13                    = 0x41\n\tAF_VENDOR14                    = 0x43\n\tAF_VENDOR15                    = 0x45\n\tAF_VENDOR16                    = 0x47\n\tAF_VENDOR17                    = 0x49\n\tAF_VENDOR18                    = 0x4b\n\tAF_VENDOR19                    = 0x4d\n\tAF_VENDOR20                    = 0x4f\n\tAF_VENDOR21                    = 0x51\n\tAF_VENDOR22                    = 0x53\n\tAF_VENDOR23                    = 0x55\n\tAF_VENDOR24                    = 0x57\n\tAF_VENDOR25                    = 0x59\n\tAF_VENDOR26                    = 0x5b\n\tAF_VENDOR27                    = 0x5d\n\tAF_VENDOR28                    = 0x5f\n\tAF_VENDOR29                    = 0x61\n\tAF_VENDOR30                    = 0x63\n\tAF_VENDOR31                    = 0x65\n\tAF_VENDOR32                    = 0x67\n\tAF_VENDOR33                    = 0x69\n\tAF_VENDOR34                    = 0x6b\n\tAF_VENDOR35                    = 0x6d\n\tAF_VENDOR36                    = 0x6f\n\tAF_VENDOR37                    = 0x71\n\tAF_VENDOR38                    = 0x73\n\tAF_VENDOR39                    = 0x75\n\tAF_VENDOR40                    = 0x77\n\tAF_VENDOR41                    = 0x79\n\tAF_VENDOR42                    = 0x7b\n\tAF_VENDOR43                    = 0x7d\n\tAF_VENDOR44                    = 0x7f\n\tAF_VENDOR45                    = 0x81\n\tAF_VENDOR46                    = 0x83\n\tAF_VENDOR47                    = 0x85\n\tALTWERASE                      = 0x200\n\tB0                             = 0x0\n\tB110                           = 0x6e\n\tB115200                        = 0x1c200\n\tB1200                          = 0x4b0\n\tB134                           = 0x86\n\tB14400                         = 0x3840\n\tB150                           = 0x96\n\tB1800                          = 0x708\n\tB19200                         = 0x4b00\n\tB200                           = 0xc8\n\tB230400                        = 0x38400\n\tB2400                          = 0x960\n\tB28800                         = 0x7080\n\tB300                           = 0x12c\n\tB38400                         = 0x9600\n\tB460800                        = 0x70800\n\tB4800                          = 0x12c0\n\tB50                            = 0x32\n\tB57600                         = 0xe100\n\tB600                           = 0x258\n\tB7200                          = 0x1c20\n\tB75                            = 0x4b\n\tB76800                         = 0x12c00\n\tB921600                        = 0xe1000\n\tB9600                          = 0x2580\n\tBIOCFEEDBACK                   = 0x8004427c\n\tBIOCFLUSH                      = 0x20004268\n\tBIOCGBLEN                      = 0x40044266\n\tBIOCGDIRECTION                 = 0x40044276\n\tBIOCGDLT                       = 0x4004426a\n\tBIOCGDLTLIST                   = 0xc0084279\n\tBIOCGETBUFMODE                 = 0x4004427d\n\tBIOCGETIF                      = 0x4020426b\n\tBIOCGETZMAX                    = 0x4004427f\n\tBIOCGHDRCMPLT                  = 0x40044274\n\tBIOCGRSIG                      = 0x40044272\n\tBIOCGRTIMEOUT                  = 0x4008426e\n\tBIOCGSEESENT                   = 0x40044276\n\tBIOCGSTATS                     = 0x4008426f\n\tBIOCGTSTAMP                    = 0x40044283\n\tBIOCIMMEDIATE                  = 0x80044270\n\tBIOCLOCK                       = 0x2000427a\n\tBIOCPROMISC                    = 0x20004269\n\tBIOCROTZBUF                    = 0x400c4280\n\tBIOCSBLEN                      = 0xc0044266\n\tBIOCSDIRECTION                 = 0x80044277\n\tBIOCSDLT                       = 0x80044278\n\tBIOCSETBUFMODE                 = 0x8004427e\n\tBIOCSETF                       = 0x80084267\n\tBIOCSETFNR                     = 0x80084282\n\tBIOCSETIF                      = 0x8020426c\n\tBIOCSETWF                      = 0x8008427b\n\tBIOCSETZBUF                    = 0x800c4281\n\tBIOCSHDRCMPLT                  = 0x80044275\n\tBIOCSRSIG                      = 0x80044273\n\tBIOCSRTIMEOUT                  = 0x8008426d\n\tBIOCSSEESENT                   = 0x80044277\n\tBIOCSTSTAMP                    = 0x80044284\n\tBIOCVERSION                    = 0x40044271\n\tBPF_A                          = 0x10\n\tBPF_ABS                        = 0x20\n\tBPF_ADD                        = 0x0\n\tBPF_ALIGNMENT                  = 0x4\n\tBPF_ALU                        = 0x4\n\tBPF_AND                        = 0x50\n\tBPF_B                          = 0x10\n\tBPF_BUFMODE_BUFFER             = 0x1\n\tBPF_BUFMODE_ZBUF               = 0x2\n\tBPF_DIV                        = 0x30\n\tBPF_H                          = 0x8\n\tBPF_IMM                        = 0x0\n\tBPF_IND                        = 0x40\n\tBPF_JA                         = 0x0\n\tBPF_JEQ                        = 0x10\n\tBPF_JGE                        = 0x30\n\tBPF_JGT                        = 0x20\n\tBPF_JMP                        = 0x5\n\tBPF_JSET                       = 0x40\n\tBPF_K                          = 0x0\n\tBPF_LD                         = 0x0\n\tBPF_LDX                        = 0x1\n\tBPF_LEN                        = 0x80\n\tBPF_LSH                        = 0x60\n\tBPF_MAJOR_VERSION              = 0x1\n\tBPF_MAXBUFSIZE                 = 0x80000\n\tBPF_MAXINSNS                   = 0x200\n\tBPF_MEM                        = 0x60\n\tBPF_MEMWORDS                   = 0x10\n\tBPF_MINBUFSIZE                 = 0x20\n\tBPF_MINOR_VERSION              = 0x1\n\tBPF_MISC                       = 0x7\n\tBPF_MOD                        = 0x90\n\tBPF_MSH                        = 0xa0\n\tBPF_MUL                        = 0x20\n\tBPF_NEG                        = 0x80\n\tBPF_OR                         = 0x40\n\tBPF_RELEASE                    = 0x30bb6\n\tBPF_RET                        = 0x6\n\tBPF_RSH                        = 0x70\n\tBPF_ST                         = 0x2\n\tBPF_STX                        = 0x3\n\tBPF_SUB                        = 0x10\n\tBPF_TAX                        = 0x0\n\tBPF_TXA                        = 0x80\n\tBPF_T_BINTIME                  = 0x2\n\tBPF_T_BINTIME_FAST             = 0x102\n\tBPF_T_BINTIME_MONOTONIC        = 0x202\n\tBPF_T_BINTIME_MONOTONIC_FAST   = 0x302\n\tBPF_T_FAST                     = 0x100\n\tBPF_T_FLAG_MASK                = 0x300\n\tBPF_T_FORMAT_MASK              = 0x3\n\tBPF_T_MICROTIME                = 0x0\n\tBPF_T_MICROTIME_FAST           = 0x100\n\tBPF_T_MICROTIME_MONOTONIC      = 0x200\n\tBPF_T_MICROTIME_MONOTONIC_FAST = 0x300\n\tBPF_T_MONOTONIC                = 0x200\n\tBPF_T_MONOTONIC_FAST           = 0x300\n\tBPF_T_NANOTIME                 = 0x1\n\tBPF_T_NANOTIME_FAST            = 0x101\n\tBPF_T_NANOTIME_MONOTONIC       = 0x201\n\tBPF_T_NANOTIME_MONOTONIC_FAST  = 0x301\n\tBPF_T_NONE                     = 0x3\n\tBPF_T_NORMAL                   = 0x0\n\tBPF_W                          = 0x0\n\tBPF_X                          = 0x8\n\tBPF_XOR                        = 0xa0\n\tBRKINT                         = 0x2\n\tCAP_ACCEPT                     = 0x200000020000000\n\tCAP_ACL_CHECK                  = 0x400000000010000\n\tCAP_ACL_DELETE                 = 0x400000000020000\n\tCAP_ACL_GET                    = 0x400000000040000\n\tCAP_ACL_SET                    = 0x400000000080000\n\tCAP_ALL0                       = 0x20007ffffffffff\n\tCAP_ALL1                       = 0x4000000001fffff\n\tCAP_BIND                       = 0x200000040000000\n\tCAP_BINDAT                     = 0x200008000000400\n\tCAP_CHFLAGSAT                  = 0x200000000001400\n\tCAP_CONNECT                    = 0x200000080000000\n\tCAP_CONNECTAT                  = 0x200010000000400\n\tCAP_CREATE                     = 0x200000000000040\n\tCAP_EVENT                      = 0x400000000000020\n\tCAP_EXTATTR_DELETE             = 0x400000000001000\n\tCAP_EXTATTR_GET                = 0x400000000002000\n\tCAP_EXTATTR_LIST               = 0x400000000004000\n\tCAP_EXTATTR_SET                = 0x400000000008000\n\tCAP_FCHDIR                     = 0x200000000000800\n\tCAP_FCHFLAGS                   = 0x200000000001000\n\tCAP_FCHMOD                     = 0x200000000002000\n\tCAP_FCHMODAT                   = 0x200000000002400\n\tCAP_FCHOWN                     = 0x200000000004000\n\tCAP_FCHOWNAT                   = 0x200000000004400\n\tCAP_FCNTL                      = 0x200000000008000\n\tCAP_FCNTL_ALL                  = 0x78\n\tCAP_FCNTL_GETFL                = 0x8\n\tCAP_FCNTL_GETOWN               = 0x20\n\tCAP_FCNTL_SETFL                = 0x10\n\tCAP_FCNTL_SETOWN               = 0x40\n\tCAP_FEXECVE                    = 0x200000000000080\n\tCAP_FLOCK                      = 0x200000000010000\n\tCAP_FPATHCONF                  = 0x200000000020000\n\tCAP_FSCK                       = 0x200000000040000\n\tCAP_FSTAT                      = 0x200000000080000\n\tCAP_FSTATAT                    = 0x200000000080400\n\tCAP_FSTATFS                    = 0x200000000100000\n\tCAP_FSYNC                      = 0x200000000000100\n\tCAP_FTRUNCATE                  = 0x200000000000200\n\tCAP_FUTIMES                    = 0x200000000200000\n\tCAP_FUTIMESAT                  = 0x200000000200400\n\tCAP_GETPEERNAME                = 0x200000100000000\n\tCAP_GETSOCKNAME                = 0x200000200000000\n\tCAP_GETSOCKOPT                 = 0x200000400000000\n\tCAP_IOCTL                      = 0x400000000000080\n\tCAP_IOCTLS_ALL                 = 0x7fffffff\n\tCAP_KQUEUE                     = 0x400000000100040\n\tCAP_KQUEUE_CHANGE              = 0x400000000100000\n\tCAP_KQUEUE_EVENT               = 0x400000000000040\n\tCAP_LINKAT_SOURCE              = 0x200020000000400\n\tCAP_LINKAT_TARGET              = 0x200000000400400\n\tCAP_LISTEN                     = 0x200000800000000\n\tCAP_LOOKUP                     = 0x200000000000400\n\tCAP_MAC_GET                    = 0x400000000000001\n\tCAP_MAC_SET                    = 0x400000000000002\n\tCAP_MKDIRAT                    = 0x200000000800400\n\tCAP_MKFIFOAT                   = 0x200000001000400\n\tCAP_MKNODAT                    = 0x200000002000400\n\tCAP_MMAP                       = 0x200000000000010\n\tCAP_MMAP_R                     = 0x20000000000001d\n\tCAP_MMAP_RW                    = 0x20000000000001f\n\tCAP_MMAP_RWX                   = 0x20000000000003f\n\tCAP_MMAP_RX                    = 0x20000000000003d\n\tCAP_MMAP_W                     = 0x20000000000001e\n\tCAP_MMAP_WX                    = 0x20000000000003e\n\tCAP_MMAP_X                     = 0x20000000000003c\n\tCAP_PDGETPID                   = 0x400000000000200\n\tCAP_PDKILL                     = 0x400000000000800\n\tCAP_PDWAIT                     = 0x400000000000400\n\tCAP_PEELOFF                    = 0x200001000000000\n\tCAP_POLL_EVENT                 = 0x400000000000020\n\tCAP_PREAD                      = 0x20000000000000d\n\tCAP_PWRITE                     = 0x20000000000000e\n\tCAP_READ                       = 0x200000000000001\n\tCAP_RECV                       = 0x200000000000001\n\tCAP_RENAMEAT_SOURCE            = 0x200000004000400\n\tCAP_RENAMEAT_TARGET            = 0x200040000000400\n\tCAP_RIGHTS_VERSION             = 0x0\n\tCAP_RIGHTS_VERSION_00          = 0x0\n\tCAP_SEEK                       = 0x20000000000000c\n\tCAP_SEEK_TELL                  = 0x200000000000004\n\tCAP_SEM_GETVALUE               = 0x400000000000004\n\tCAP_SEM_POST                   = 0x400000000000008\n\tCAP_SEM_WAIT                   = 0x400000000000010\n\tCAP_SEND                       = 0x200000000000002\n\tCAP_SETSOCKOPT                 = 0x200002000000000\n\tCAP_SHUTDOWN                   = 0x200004000000000\n\tCAP_SOCK_CLIENT                = 0x200007780000003\n\tCAP_SOCK_SERVER                = 0x200007f60000003\n\tCAP_SYMLINKAT                  = 0x200000008000400\n\tCAP_TTYHOOK                    = 0x400000000000100\n\tCAP_UNLINKAT                   = 0x200000010000400\n\tCAP_UNUSED0_44                 = 0x200080000000000\n\tCAP_UNUSED0_57                 = 0x300000000000000\n\tCAP_UNUSED1_22                 = 0x400000000200000\n\tCAP_UNUSED1_57                 = 0x500000000000000\n\tCAP_WRITE                      = 0x200000000000002\n\tCFLUSH                         = 0xf\n\tCLOCAL                         = 0x8000\n\tCLOCK_MONOTONIC                = 0x4\n\tCLOCK_MONOTONIC_FAST           = 0xc\n\tCLOCK_MONOTONIC_PRECISE        = 0xb\n\tCLOCK_PROCESS_CPUTIME_ID       = 0xf\n\tCLOCK_PROF                     = 0x2\n\tCLOCK_REALTIME                 = 0x0\n\tCLOCK_REALTIME_FAST            = 0xa\n\tCLOCK_REALTIME_PRECISE         = 0x9\n\tCLOCK_SECOND                   = 0xd\n\tCLOCK_THREAD_CPUTIME_ID        = 0xe\n\tCLOCK_UPTIME                   = 0x5\n\tCLOCK_UPTIME_FAST              = 0x8\n\tCLOCK_UPTIME_PRECISE           = 0x7\n\tCLOCK_VIRTUAL                  = 0x1\n\tCREAD                          = 0x800\n\tCRTSCTS                        = 0x30000\n\tCS5                            = 0x0\n\tCS6                            = 0x100\n\tCS7                            = 0x200\n\tCS8                            = 0x300\n\tCSIZE                          = 0x300\n\tCSTART                         = 0x11\n\tCSTATUS                        = 0x14\n\tCSTOP                          = 0x13\n\tCSTOPB                         = 0x400\n\tCSUSP                          = 0x1a\n\tCTL_HW                         = 0x6\n\tCTL_KERN                       = 0x1\n\tCTL_MAXNAME                    = 0x18\n\tCTL_NET                        = 0x4\n\tDLT_A429                       = 0xb8\n\tDLT_A653_ICM                   = 0xb9\n\tDLT_AIRONET_HEADER             = 0x78\n\tDLT_AOS                        = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394     = 0x8a\n\tDLT_ARCNET                     = 0x7\n\tDLT_ARCNET_LINUX               = 0x81\n\tDLT_ATM_CLIP                   = 0x13\n\tDLT_ATM_RFC1483                = 0xb\n\tDLT_AURORA                     = 0x7e\n\tDLT_AX25                       = 0x3\n\tDLT_AX25_KISS                  = 0xca\n\tDLT_BACNET_MS_TP               = 0xa5\n\tDLT_BLUETOOTH_BREDR_BB         = 0xff\n\tDLT_BLUETOOTH_HCI_H4           = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9\n\tDLT_BLUETOOTH_LE_LL            = 0xfb\n\tDLT_BLUETOOTH_LE_LL_WITH_PHDR  = 0x100\n\tDLT_BLUETOOTH_LINUX_MONITOR    = 0xfe\n\tDLT_CAN20B                     = 0xbe\n\tDLT_CAN_SOCKETCAN              = 0xe3\n\tDLT_CHAOS                      = 0x5\n\tDLT_CHDLC                      = 0x68\n\tDLT_CISCO_IOS                  = 0x76\n\tDLT_C_HDLC                     = 0x68\n\tDLT_C_HDLC_WITH_DIR            = 0xcd\n\tDLT_DBUS                       = 0xe7\n\tDLT_DECT                       = 0xdd\n\tDLT_DOCSIS                     = 0x8f\n\tDLT_DVB_CI                     = 0xeb\n\tDLT_ECONET                     = 0x73\n\tDLT_EN10MB                     = 0x1\n\tDLT_EN3MB                      = 0x2\n\tDLT_ENC                        = 0x6d\n\tDLT_EPON                       = 0x103\n\tDLT_ERF                        = 0xc5\n\tDLT_ERF_ETH                    = 0xaf\n\tDLT_ERF_POS                    = 0xb0\n\tDLT_FC_2                       = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS     = 0xe1\n\tDLT_FDDI                       = 0xa\n\tDLT_FLEXRAY                    = 0xd2\n\tDLT_FRELAY                     = 0x6b\n\tDLT_FRELAY_WITH_DIR            = 0xce\n\tDLT_GCOM_SERIAL                = 0xad\n\tDLT_GCOM_T1E1                  = 0xac\n\tDLT_GPF_F                      = 0xab\n\tDLT_GPF_T                      = 0xaa\n\tDLT_GPRS_LLC                   = 0xa9\n\tDLT_GSMTAP_ABIS                = 0xda\n\tDLT_GSMTAP_UM                  = 0xd9\n\tDLT_HHDLC                      = 0x79\n\tDLT_IBM_SN                     = 0x92\n\tDLT_IBM_SP                     = 0x91\n\tDLT_IEEE802                    = 0x6\n\tDLT_IEEE802_11                 = 0x69\n\tDLT_IEEE802_11_RADIO           = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS       = 0xa3\n\tDLT_IEEE802_15_4               = 0xc3\n\tDLT_IEEE802_15_4_LINUX         = 0xbf\n\tDLT_IEEE802_15_4_NOFCS         = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY    = 0xd7\n\tDLT_IEEE802_16_MAC_CPS         = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO   = 0xc1\n\tDLT_INFINIBAND                 = 0xf7\n\tDLT_IPFILTER                   = 0x74\n\tDLT_IPMB                       = 0xc7\n\tDLT_IPMB_LINUX                 = 0xd1\n\tDLT_IPMI_HPM_2                 = 0x104\n\tDLT_IPNET                      = 0xe2\n\tDLT_IPOIB                      = 0xf2\n\tDLT_IPV4                       = 0xe4\n\tDLT_IPV6                       = 0xe5\n\tDLT_IP_OVER_FC                 = 0x7a\n\tDLT_JUNIPER_ATM1               = 0x89\n\tDLT_JUNIPER_ATM2               = 0x87\n\tDLT_JUNIPER_ATM_CEMIC          = 0xee\n\tDLT_JUNIPER_CHDLC              = 0xb5\n\tDLT_JUNIPER_ES                 = 0x84\n\tDLT_JUNIPER_ETHER              = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL       = 0xea\n\tDLT_JUNIPER_FRELAY             = 0xb4\n\tDLT_JUNIPER_GGSN               = 0x85\n\tDLT_JUNIPER_ISM                = 0xc2\n\tDLT_JUNIPER_MFR                = 0x86\n\tDLT_JUNIPER_MLFR               = 0x83\n\tDLT_JUNIPER_MLPPP              = 0x82\n\tDLT_JUNIPER_MONITOR            = 0xa4\n\tDLT_JUNIPER_PIC_PEER           = 0xae\n\tDLT_JUNIPER_PPP                = 0xb3\n\tDLT_JUNIPER_PPPOE              = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM          = 0xa8\n\tDLT_JUNIPER_SERVICES           = 0x88\n\tDLT_JUNIPER_SRX_E2E            = 0xe9\n\tDLT_JUNIPER_ST                 = 0xc8\n\tDLT_JUNIPER_VP                 = 0xb7\n\tDLT_JUNIPER_VS                 = 0xe8\n\tDLT_LAPB_WITH_DIR              = 0xcf\n\tDLT_LAPD                       = 0xcb\n\tDLT_LIN                        = 0xd4\n\tDLT_LINUX_EVDEV                = 0xd8\n\tDLT_LINUX_IRDA                 = 0x90\n\tDLT_LINUX_LAPD                 = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION    = 0xa6\n\tDLT_LINUX_SLL                  = 0x71\n\tDLT_LOOP                       = 0x6c\n\tDLT_LTALK                      = 0x72\n\tDLT_MATCHING_MAX               = 0x104\n\tDLT_MATCHING_MIN               = 0x68\n\tDLT_MFR                        = 0xb6\n\tDLT_MOST                       = 0xd3\n\tDLT_MPEG_2_TS                  = 0xf3\n\tDLT_MPLS                       = 0xdb\n\tDLT_MTP2                       = 0x8c\n\tDLT_MTP2_WITH_PHDR             = 0x8b\n\tDLT_MTP3                       = 0x8d\n\tDLT_MUX27010                   = 0xec\n\tDLT_NETANALYZER                = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT    = 0xf1\n\tDLT_NETLINK                    = 0xfd\n\tDLT_NFC_LLCP                   = 0xf5\n\tDLT_NFLOG                      = 0xef\n\tDLT_NG40                       = 0xf4\n\tDLT_NULL                       = 0x0\n\tDLT_PCI_EXP                    = 0x7d\n\tDLT_PFLOG                      = 0x75\n\tDLT_PFSYNC                     = 0x79\n\tDLT_PKTAP                      = 0x102\n\tDLT_PPI                        = 0xc0\n\tDLT_PPP                        = 0x9\n\tDLT_PPP_BSDOS                  = 0x10\n\tDLT_PPP_ETHER                  = 0x33\n\tDLT_PPP_PPPD                   = 0xa6\n\tDLT_PPP_SERIAL                 = 0x32\n\tDLT_PPP_WITH_DIR               = 0xcc\n\tDLT_PPP_WITH_DIRECTION         = 0xa6\n\tDLT_PRISM_HEADER               = 0x77\n\tDLT_PROFIBUS_DL                = 0x101\n\tDLT_PRONET                     = 0x4\n\tDLT_RAIF1                      = 0xc6\n\tDLT_RAW                        = 0xc\n\tDLT_RIO                        = 0x7c\n\tDLT_RTAC_SERIAL                = 0xfa\n\tDLT_SCCP                       = 0x8e\n\tDLT_SCTP                       = 0xf8\n\tDLT_SITA                       = 0xc4\n\tDLT_SLIP                       = 0x8\n\tDLT_SLIP_BSDOS                 = 0xf\n\tDLT_STANAG_5066_D_PDU          = 0xed\n\tDLT_SUNATM                     = 0x7b\n\tDLT_SYMANTEC_FIREWALL          = 0x63\n\tDLT_TZSP                       = 0x80\n\tDLT_USB                        = 0xba\n\tDLT_USBPCAP                    = 0xf9\n\tDLT_USB_LINUX                  = 0xbd\n\tDLT_USB_LINUX_MMAPPED          = 0xdc\n\tDLT_USER0                      = 0x93\n\tDLT_USER1                      = 0x94\n\tDLT_USER10                     = 0x9d\n\tDLT_USER11                     = 0x9e\n\tDLT_USER12                     = 0x9f\n\tDLT_USER13                     = 0xa0\n\tDLT_USER14                     = 0xa1\n\tDLT_USER15                     = 0xa2\n\tDLT_USER2                      = 0x95\n\tDLT_USER3                      = 0x96\n\tDLT_USER4                      = 0x97\n\tDLT_USER5                      = 0x98\n\tDLT_USER6                      = 0x99\n\tDLT_USER7                      = 0x9a\n\tDLT_USER8                      = 0x9b\n\tDLT_USER9                      = 0x9c\n\tDLT_WIHART                     = 0xdf\n\tDLT_WIRESHARK_UPPER_PDU        = 0xfc\n\tDLT_X2E_SERIAL                 = 0xd5\n\tDLT_X2E_XORAYA                 = 0xd6\n\tDT_BLK                         = 0x6\n\tDT_CHR                         = 0x2\n\tDT_DIR                         = 0x4\n\tDT_FIFO                        = 0x1\n\tDT_LNK                         = 0xa\n\tDT_REG                         = 0x8\n\tDT_SOCK                        = 0xc\n\tDT_UNKNOWN                     = 0x0\n\tDT_WHT                         = 0xe\n\tECHO                           = 0x8\n\tECHOCTL                        = 0x40\n\tECHOE                          = 0x2\n\tECHOK                          = 0x4\n\tECHOKE                         = 0x1\n\tECHONL                         = 0x10\n\tECHOPRT                        = 0x20\n\tEVFILT_AIO                     = -0x3\n\tEVFILT_FS                      = -0x9\n\tEVFILT_LIO                     = -0xa\n\tEVFILT_PROC                    = -0x5\n\tEVFILT_PROCDESC                = -0x8\n\tEVFILT_READ                    = -0x1\n\tEVFILT_SENDFILE                = -0xc\n\tEVFILT_SIGNAL                  = -0x6\n\tEVFILT_SYSCOUNT                = 0xc\n\tEVFILT_TIMER                   = -0x7\n\tEVFILT_USER                    = -0xb\n\tEVFILT_VNODE                   = -0x4\n\tEVFILT_WRITE                   = -0x2\n\tEV_ADD                         = 0x1\n\tEV_CLEAR                       = 0x20\n\tEV_DELETE                      = 0x2\n\tEV_DISABLE                     = 0x8\n\tEV_DISPATCH                    = 0x80\n\tEV_DROP                        = 0x1000\n\tEV_ENABLE                      = 0x4\n\tEV_EOF                         = 0x8000\n\tEV_ERROR                       = 0x4000\n\tEV_FLAG1                       = 0x2000\n\tEV_FLAG2                       = 0x4000\n\tEV_FORCEONESHOT                = 0x100\n\tEV_ONESHOT                     = 0x10\n\tEV_RECEIPT                     = 0x40\n\tEV_SYSFLAGS                    = 0xf000\n\tEXTA                           = 0x4b00\n\tEXTATTR_NAMESPACE_EMPTY        = 0x0\n\tEXTATTR_NAMESPACE_SYSTEM       = 0x2\n\tEXTATTR_NAMESPACE_USER         = 0x1\n\tEXTB                           = 0x9600\n\tEXTPROC                        = 0x800\n\tFD_CLOEXEC                     = 0x1\n\tFD_SETSIZE                     = 0x400\n\tFLUSHO                         = 0x800000\n\tF_CANCEL                       = 0x5\n\tF_DUP2FD                       = 0xa\n\tF_DUP2FD_CLOEXEC               = 0x12\n\tF_DUPFD                        = 0x0\n\tF_DUPFD_CLOEXEC                = 0x11\n\tF_GETFD                        = 0x1\n\tF_GETFL                        = 0x3\n\tF_GETLK                        = 0xb\n\tF_GETOWN                       = 0x5\n\tF_OGETLK                       = 0x7\n\tF_OK                           = 0x0\n\tF_OSETLK                       = 0x8\n\tF_OSETLKW                      = 0x9\n\tF_RDAHEAD                      = 0x10\n\tF_RDLCK                        = 0x1\n\tF_READAHEAD                    = 0xf\n\tF_SETFD                        = 0x2\n\tF_SETFL                        = 0x4\n\tF_SETLK                        = 0xc\n\tF_SETLKW                       = 0xd\n\tF_SETLK_REMOTE                 = 0xe\n\tF_SETOWN                       = 0x6\n\tF_UNLCK                        = 0x2\n\tF_UNLCKSYS                     = 0x4\n\tF_WRLCK                        = 0x3\n\tHUPCL                          = 0x4000\n\tHW_MACHINE                     = 0x1\n\tICANON                         = 0x100\n\tICMP6_FILTER                   = 0x12\n\tICRNL                          = 0x100\n\tIEXTEN                         = 0x400\n\tIFAN_ARRIVAL                   = 0x0\n\tIFAN_DEPARTURE                 = 0x1\n\tIFF_ALLMULTI                   = 0x200\n\tIFF_ALTPHYS                    = 0x4000\n\tIFF_BROADCAST                  = 0x2\n\tIFF_CANTCHANGE                 = 0x218f52\n\tIFF_CANTCONFIG                 = 0x10000\n\tIFF_DEBUG                      = 0x4\n\tIFF_DRV_OACTIVE                = 0x400\n\tIFF_DRV_RUNNING                = 0x40\n\tIFF_DYING                      = 0x200000\n\tIFF_LINK0                      = 0x1000\n\tIFF_LINK1                      = 0x2000\n\tIFF_LINK2                      = 0x4000\n\tIFF_LOOPBACK                   = 0x8\n\tIFF_MONITOR                    = 0x40000\n\tIFF_MULTICAST                  = 0x8000\n\tIFF_NOARP                      = 0x80\n\tIFF_OACTIVE                    = 0x400\n\tIFF_POINTOPOINT                = 0x10\n\tIFF_PPROMISC                   = 0x20000\n\tIFF_PROMISC                    = 0x100\n\tIFF_RENAMING                   = 0x400000\n\tIFF_RUNNING                    = 0x40\n\tIFF_SIMPLEX                    = 0x800\n\tIFF_STATICARP                  = 0x80000\n\tIFF_UP                         = 0x1\n\tIFNAMSIZ                       = 0x10\n\tIFT_BRIDGE                     = 0xd1\n\tIFT_CARP                       = 0xf8\n\tIFT_IEEE1394                   = 0x90\n\tIFT_INFINIBAND                 = 0xc7\n\tIFT_L2VLAN                     = 0x87\n\tIFT_L3IPVLAN                   = 0x88\n\tIFT_PPP                        = 0x17\n\tIFT_PROPVIRTUAL                = 0x35\n\tIGNBRK                         = 0x1\n\tIGNCR                          = 0x80\n\tIGNPAR                         = 0x4\n\tIMAXBEL                        = 0x2000\n\tINLCR                          = 0x40\n\tINPCK                          = 0x10\n\tIN_CLASSA_HOST                 = 0xffffff\n\tIN_CLASSA_MAX                  = 0x80\n\tIN_CLASSA_NET                  = 0xff000000\n\tIN_CLASSA_NSHIFT               = 0x18\n\tIN_CLASSB_HOST                 = 0xffff\n\tIN_CLASSB_MAX                  = 0x10000\n\tIN_CLASSB_NET                  = 0xffff0000\n\tIN_CLASSB_NSHIFT               = 0x10\n\tIN_CLASSC_HOST                 = 0xff\n\tIN_CLASSC_NET                  = 0xffffff00\n\tIN_CLASSC_NSHIFT               = 0x8\n\tIN_CLASSD_HOST                 = 0xfffffff\n\tIN_CLASSD_NET                  = 0xf0000000\n\tIN_CLASSD_NSHIFT               = 0x1c\n\tIN_LOOPBACKNET                 = 0x7f\n\tIN_RFC3021_MASK                = 0xfffffffe\n\tIPPROTO_3PC                    = 0x22\n\tIPPROTO_ADFS                   = 0x44\n\tIPPROTO_AH                     = 0x33\n\tIPPROTO_AHIP                   = 0x3d\n\tIPPROTO_APES                   = 0x63\n\tIPPROTO_ARGUS                  = 0xd\n\tIPPROTO_AX25                   = 0x5d\n\tIPPROTO_BHA                    = 0x31\n\tIPPROTO_BLT                    = 0x1e\n\tIPPROTO_BRSATMON               = 0x4c\n\tIPPROTO_CARP                   = 0x70\n\tIPPROTO_CFTP                   = 0x3e\n\tIPPROTO_CHAOS                  = 0x10\n\tIPPROTO_CMTP                   = 0x26\n\tIPPROTO_CPHB                   = 0x49\n\tIPPROTO_CPNX                   = 0x48\n\tIPPROTO_DDP                    = 0x25\n\tIPPROTO_DGP                    = 0x56\n\tIPPROTO_DIVERT                 = 0x102\n\tIPPROTO_DONE                   = 0x101\n\tIPPROTO_DSTOPTS                = 0x3c\n\tIPPROTO_EGP                    = 0x8\n\tIPPROTO_EMCON                  = 0xe\n\tIPPROTO_ENCAP                  = 0x62\n\tIPPROTO_EON                    = 0x50\n\tIPPROTO_ESP                    = 0x32\n\tIPPROTO_ETHERIP                = 0x61\n\tIPPROTO_FRAGMENT               = 0x2c\n\tIPPROTO_GGP                    = 0x3\n\tIPPROTO_GMTP                   = 0x64\n\tIPPROTO_GRE                    = 0x2f\n\tIPPROTO_HELLO                  = 0x3f\n\tIPPROTO_HIP                    = 0x8b\n\tIPPROTO_HMP                    = 0x14\n\tIPPROTO_HOPOPTS                = 0x0\n\tIPPROTO_ICMP                   = 0x1\n\tIPPROTO_ICMPV6                 = 0x3a\n\tIPPROTO_IDP                    = 0x16\n\tIPPROTO_IDPR                   = 0x23\n\tIPPROTO_IDRP                   = 0x2d\n\tIPPROTO_IGMP                   = 0x2\n\tIPPROTO_IGP                    = 0x55\n\tIPPROTO_IGRP                   = 0x58\n\tIPPROTO_IL                     = 0x28\n\tIPPROTO_INLSP                  = 0x34\n\tIPPROTO_INP                    = 0x20\n\tIPPROTO_IP                     = 0x0\n\tIPPROTO_IPCOMP                 = 0x6c\n\tIPPROTO_IPCV                   = 0x47\n\tIPPROTO_IPEIP                  = 0x5e\n\tIPPROTO_IPIP                   = 0x4\n\tIPPROTO_IPPC                   = 0x43\n\tIPPROTO_IPV4                   = 0x4\n\tIPPROTO_IPV6                   = 0x29\n\tIPPROTO_IRTP                   = 0x1c\n\tIPPROTO_KRYPTOLAN              = 0x41\n\tIPPROTO_LARP                   = 0x5b\n\tIPPROTO_LEAF1                  = 0x19\n\tIPPROTO_LEAF2                  = 0x1a\n\tIPPROTO_MAX                    = 0x100\n\tIPPROTO_MEAS                   = 0x13\n\tIPPROTO_MH                     = 0x87\n\tIPPROTO_MHRP                   = 0x30\n\tIPPROTO_MICP                   = 0x5f\n\tIPPROTO_MOBILE                 = 0x37\n\tIPPROTO_MPLS                   = 0x89\n\tIPPROTO_MTP                    = 0x5c\n\tIPPROTO_MUX                    = 0x12\n\tIPPROTO_ND                     = 0x4d\n\tIPPROTO_NHRP                   = 0x36\n\tIPPROTO_NONE                   = 0x3b\n\tIPPROTO_NSP                    = 0x1f\n\tIPPROTO_NVPII                  = 0xb\n\tIPPROTO_OLD_DIVERT             = 0xfe\n\tIPPROTO_OSPFIGP                = 0x59\n\tIPPROTO_PFSYNC                 = 0xf0\n\tIPPROTO_PGM                    = 0x71\n\tIPPROTO_PIGP                   = 0x9\n\tIPPROTO_PIM                    = 0x67\n\tIPPROTO_PRM                    = 0x15\n\tIPPROTO_PUP                    = 0xc\n\tIPPROTO_PVP                    = 0x4b\n\tIPPROTO_RAW                    = 0xff\n\tIPPROTO_RCCMON                 = 0xa\n\tIPPROTO_RDP                    = 0x1b\n\tIPPROTO_RESERVED_253           = 0xfd\n\tIPPROTO_RESERVED_254           = 0xfe\n\tIPPROTO_ROUTING                = 0x2b\n\tIPPROTO_RSVP                   = 0x2e\n\tIPPROTO_RVD                    = 0x42\n\tIPPROTO_SATEXPAK               = 0x40\n\tIPPROTO_SATMON                 = 0x45\n\tIPPROTO_SCCSP                  = 0x60\n\tIPPROTO_SCTP                   = 0x84\n\tIPPROTO_SDRP                   = 0x2a\n\tIPPROTO_SEND                   = 0x103\n\tIPPROTO_SEP                    = 0x21\n\tIPPROTO_SHIM6                  = 0x8c\n\tIPPROTO_SKIP                   = 0x39\n\tIPPROTO_SPACER                 = 0x7fff\n\tIPPROTO_SRPC                   = 0x5a\n\tIPPROTO_ST                     = 0x7\n\tIPPROTO_SVMTP                  = 0x52\n\tIPPROTO_SWIPE                  = 0x35\n\tIPPROTO_TCF                    = 0x57\n\tIPPROTO_TCP                    = 0x6\n\tIPPROTO_TLSP                   = 0x38\n\tIPPROTO_TP                     = 0x1d\n\tIPPROTO_TPXX                   = 0x27\n\tIPPROTO_TRUNK1                 = 0x17\n\tIPPROTO_TRUNK2                 = 0x18\n\tIPPROTO_TTP                    = 0x54\n\tIPPROTO_UDP                    = 0x11\n\tIPPROTO_UDPLITE                = 0x88\n\tIPPROTO_VINES                  = 0x53\n\tIPPROTO_VISA                   = 0x46\n\tIPPROTO_VMTP                   = 0x51\n\tIPPROTO_WBEXPAK                = 0x4f\n\tIPPROTO_WBMON                  = 0x4e\n\tIPPROTO_WSN                    = 0x4a\n\tIPPROTO_XNET                   = 0xf\n\tIPPROTO_XTP                    = 0x24\n\tIPV6_AUTOFLOWLABEL             = 0x3b\n\tIPV6_BINDANY                   = 0x40\n\tIPV6_BINDMULTI                 = 0x41\n\tIPV6_BINDV6ONLY                = 0x1b\n\tIPV6_CHECKSUM                  = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS    = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP    = 0x1\n\tIPV6_DEFHLIM                   = 0x40\n\tIPV6_DONTFRAG                  = 0x3e\n\tIPV6_DSTOPTS                   = 0x32\n\tIPV6_FLOWID                    = 0x43\n\tIPV6_FLOWINFO_MASK             = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK            = 0xffff0f00\n\tIPV6_FLOWTYPE                  = 0x44\n\tIPV6_FRAGTTL                   = 0x78\n\tIPV6_FW_ADD                    = 0x1e\n\tIPV6_FW_DEL                    = 0x1f\n\tIPV6_FW_FLUSH                  = 0x20\n\tIPV6_FW_GET                    = 0x22\n\tIPV6_FW_ZERO                   = 0x21\n\tIPV6_HLIMDEC                   = 0x1\n\tIPV6_HOPLIMIT                  = 0x2f\n\tIPV6_HOPOPTS                   = 0x31\n\tIPV6_IPSEC_POLICY              = 0x1c\n\tIPV6_JOIN_GROUP                = 0xc\n\tIPV6_LEAVE_GROUP               = 0xd\n\tIPV6_MAXHLIM                   = 0xff\n\tIPV6_MAXOPTHDR                 = 0x800\n\tIPV6_MAXPACKET                 = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER      = 0x200\n\tIPV6_MAX_MEMBERSHIPS           = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER       = 0x80\n\tIPV6_MIN_MEMBERSHIPS           = 0x1f\n\tIPV6_MMTU                      = 0x500\n\tIPV6_MSFILTER                  = 0x4a\n\tIPV6_MULTICAST_HOPS            = 0xa\n\tIPV6_MULTICAST_IF              = 0x9\n\tIPV6_MULTICAST_LOOP            = 0xb\n\tIPV6_NEXTHOP                   = 0x30\n\tIPV6_PATHMTU                   = 0x2c\n\tIPV6_PKTINFO                   = 0x2e\n\tIPV6_PORTRANGE                 = 0xe\n\tIPV6_PORTRANGE_DEFAULT         = 0x0\n\tIPV6_PORTRANGE_HIGH            = 0x1\n\tIPV6_PORTRANGE_LOW             = 0x2\n\tIPV6_PREFER_TEMPADDR           = 0x3f\n\tIPV6_RECVDSTOPTS               = 0x28\n\tIPV6_RECVFLOWID                = 0x46\n\tIPV6_RECVHOPLIMIT              = 0x25\n\tIPV6_RECVHOPOPTS               = 0x27\n\tIPV6_RECVPATHMTU               = 0x2b\n\tIPV6_RECVPKTINFO               = 0x24\n\tIPV6_RECVRSSBUCKETID           = 0x47\n\tIPV6_RECVRTHDR                 = 0x26\n\tIPV6_RECVTCLASS                = 0x39\n\tIPV6_RSSBUCKETID               = 0x45\n\tIPV6_RSS_LISTEN_BUCKET         = 0x42\n\tIPV6_RTHDR                     = 0x33\n\tIPV6_RTHDRDSTOPTS              = 0x23\n\tIPV6_RTHDR_LOOSE               = 0x0\n\tIPV6_RTHDR_STRICT              = 0x1\n\tIPV6_RTHDR_TYPE_0              = 0x0\n\tIPV6_SOCKOPT_RESERVED1         = 0x3\n\tIPV6_TCLASS                    = 0x3d\n\tIPV6_UNICAST_HOPS              = 0x4\n\tIPV6_USE_MIN_MTU               = 0x2a\n\tIPV6_V6ONLY                    = 0x1b\n\tIPV6_VERSION                   = 0x60\n\tIPV6_VERSION_MASK              = 0xf0\n\tIP_ADD_MEMBERSHIP              = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP       = 0x46\n\tIP_BINDANY                     = 0x18\n\tIP_BINDMULTI                   = 0x19\n\tIP_BLOCK_SOURCE                = 0x48\n\tIP_DEFAULT_MULTICAST_LOOP      = 0x1\n\tIP_DEFAULT_MULTICAST_TTL       = 0x1\n\tIP_DF                          = 0x4000\n\tIP_DONTFRAG                    = 0x43\n\tIP_DROP_MEMBERSHIP             = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP      = 0x47\n\tIP_DUMMYNET3                   = 0x31\n\tIP_DUMMYNET_CONFIGURE          = 0x3c\n\tIP_DUMMYNET_DEL                = 0x3d\n\tIP_DUMMYNET_FLUSH              = 0x3e\n\tIP_DUMMYNET_GET                = 0x40\n\tIP_FLOWID                      = 0x5a\n\tIP_FLOWTYPE                    = 0x5b\n\tIP_FW3                         = 0x30\n\tIP_FW_ADD                      = 0x32\n\tIP_FW_DEL                      = 0x33\n\tIP_FW_FLUSH                    = 0x34\n\tIP_FW_GET                      = 0x36\n\tIP_FW_NAT_CFG                  = 0x38\n\tIP_FW_NAT_DEL                  = 0x39\n\tIP_FW_NAT_GET_CONFIG           = 0x3a\n\tIP_FW_NAT_GET_LOG              = 0x3b\n\tIP_FW_RESETLOG                 = 0x37\n\tIP_FW_TABLE_ADD                = 0x28\n\tIP_FW_TABLE_DEL                = 0x29\n\tIP_FW_TABLE_FLUSH              = 0x2a\n\tIP_FW_TABLE_GETSIZE            = 0x2b\n\tIP_FW_TABLE_LIST               = 0x2c\n\tIP_FW_ZERO                     = 0x35\n\tIP_HDRINCL                     = 0x2\n\tIP_IPSEC_POLICY                = 0x15\n\tIP_MAXPACKET                   = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER        = 0x200\n\tIP_MAX_MEMBERSHIPS             = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER        = 0x80\n\tIP_MAX_SOCK_SRC_FILTER         = 0x80\n\tIP_MAX_SOURCE_FILTER           = 0x400\n\tIP_MF                          = 0x2000\n\tIP_MINTTL                      = 0x42\n\tIP_MIN_MEMBERSHIPS             = 0x1f\n\tIP_MSFILTER                    = 0x4a\n\tIP_MSS                         = 0x240\n\tIP_MULTICAST_IF                = 0x9\n\tIP_MULTICAST_LOOP              = 0xb\n\tIP_MULTICAST_TTL               = 0xa\n\tIP_MULTICAST_VIF               = 0xe\n\tIP_OFFMASK                     = 0x1fff\n\tIP_ONESBCAST                   = 0x17\n\tIP_OPTIONS                     = 0x1\n\tIP_PORTRANGE                   = 0x13\n\tIP_PORTRANGE_DEFAULT           = 0x0\n\tIP_PORTRANGE_HIGH              = 0x1\n\tIP_PORTRANGE_LOW               = 0x2\n\tIP_RECVDSTADDR                 = 0x7\n\tIP_RECVFLOWID                  = 0x5d\n\tIP_RECVIF                      = 0x14\n\tIP_RECVOPTS                    = 0x5\n\tIP_RECVRETOPTS                 = 0x6\n\tIP_RECVRSSBUCKETID             = 0x5e\n\tIP_RECVTOS                     = 0x44\n\tIP_RECVTTL                     = 0x41\n\tIP_RETOPTS                     = 0x8\n\tIP_RF                          = 0x8000\n\tIP_RSSBUCKETID                 = 0x5c\n\tIP_RSS_LISTEN_BUCKET           = 0x1a\n\tIP_RSVP_OFF                    = 0x10\n\tIP_RSVP_ON                     = 0xf\n\tIP_RSVP_VIF_OFF                = 0x12\n\tIP_RSVP_VIF_ON                 = 0x11\n\tIP_SENDSRCADDR                 = 0x7\n\tIP_TOS                         = 0x3\n\tIP_TTL                         = 0x4\n\tIP_UNBLOCK_SOURCE              = 0x49\n\tISIG                           = 0x80\n\tISTRIP                         = 0x20\n\tIXANY                          = 0x800\n\tIXOFF                          = 0x400\n\tIXON                           = 0x200\n\tKERN_HOSTNAME                  = 0xa\n\tKERN_OSRELEASE                 = 0x2\n\tKERN_OSTYPE                    = 0x1\n\tKERN_VERSION                   = 0x4\n\tLOCK_EX                        = 0x2\n\tLOCK_NB                        = 0x4\n\tLOCK_SH                        = 0x1\n\tLOCK_UN                        = 0x8\n\tMADV_AUTOSYNC                  = 0x7\n\tMADV_CORE                      = 0x9\n\tMADV_DONTNEED                  = 0x4\n\tMADV_FREE                      = 0x5\n\tMADV_NOCORE                    = 0x8\n\tMADV_NORMAL                    = 0x0\n\tMADV_NOSYNC                    = 0x6\n\tMADV_PROTECT                   = 0xa\n\tMADV_RANDOM                    = 0x1\n\tMADV_SEQUENTIAL                = 0x2\n\tMADV_WILLNEED                  = 0x3\n\tMAP_ALIGNED_SUPER              = 0x1000000\n\tMAP_ALIGNMENT_MASK             = -0x1000000\n\tMAP_ALIGNMENT_SHIFT            = 0x18\n\tMAP_ANON                       = 0x1000\n\tMAP_ANONYMOUS                  = 0x1000\n\tMAP_COPY                       = 0x2\n\tMAP_EXCL                       = 0x4000\n\tMAP_FILE                       = 0x0\n\tMAP_FIXED                      = 0x10\n\tMAP_HASSEMAPHORE               = 0x200\n\tMAP_NOCORE                     = 0x20000\n\tMAP_NOSYNC                     = 0x800\n\tMAP_PREFAULT_READ              = 0x40000\n\tMAP_PRIVATE                    = 0x2\n\tMAP_RESERVED0020               = 0x20\n\tMAP_RESERVED0040               = 0x40\n\tMAP_RESERVED0080               = 0x80\n\tMAP_RESERVED0100               = 0x100\n\tMAP_SHARED                     = 0x1\n\tMAP_STACK                      = 0x400\n\tMCL_CURRENT                    = 0x1\n\tMCL_FUTURE                     = 0x2\n\tMNT_ACLS                       = 0x8000000\n\tMNT_ASYNC                      = 0x40\n\tMNT_AUTOMOUNTED                = 0x200000000\n\tMNT_BYFSID                     = 0x8000000\n\tMNT_CMDFLAGS                   = 0xd0f0000\n\tMNT_DEFEXPORTED                = 0x200\n\tMNT_DELEXPORT                  = 0x20000\n\tMNT_EXKERB                     = 0x800\n\tMNT_EXPORTANON                 = 0x400\n\tMNT_EXPORTED                   = 0x100\n\tMNT_EXPUBLIC                   = 0x20000000\n\tMNT_EXRDONLY                   = 0x80\n\tMNT_FORCE                      = 0x80000\n\tMNT_GJOURNAL                   = 0x2000000\n\tMNT_IGNORE                     = 0x800000\n\tMNT_LAZY                       = 0x3\n\tMNT_LOCAL                      = 0x1000\n\tMNT_MULTILABEL                 = 0x4000000\n\tMNT_NFS4ACLS                   = 0x10\n\tMNT_NOATIME                    = 0x10000000\n\tMNT_NOCLUSTERR                 = 0x40000000\n\tMNT_NOCLUSTERW                 = 0x80000000\n\tMNT_NOEXEC                     = 0x4\n\tMNT_NONBUSY                    = 0x4000000\n\tMNT_NOSUID                     = 0x8\n\tMNT_NOSYMFOLLOW                = 0x400000\n\tMNT_NOWAIT                     = 0x2\n\tMNT_QUOTA                      = 0x2000\n\tMNT_RDONLY                     = 0x1\n\tMNT_RELOAD                     = 0x40000\n\tMNT_ROOTFS                     = 0x4000\n\tMNT_SNAPSHOT                   = 0x1000000\n\tMNT_SOFTDEP                    = 0x200000\n\tMNT_SUIDDIR                    = 0x100000\n\tMNT_SUJ                        = 0x100000000\n\tMNT_SUSPEND                    = 0x4\n\tMNT_SYNCHRONOUS                = 0x2\n\tMNT_UNION                      = 0x20\n\tMNT_UPDATE                     = 0x10000\n\tMNT_UPDATEMASK                 = 0x2d8d0807e\n\tMNT_USER                       = 0x8000\n\tMNT_VISFLAGMASK                = 0x3fef0ffff\n\tMNT_WAIT                       = 0x1\n\tMSG_CMSG_CLOEXEC               = 0x40000\n\tMSG_COMPAT                     = 0x8000\n\tMSG_CTRUNC                     = 0x20\n\tMSG_DONTROUTE                  = 0x4\n\tMSG_DONTWAIT                   = 0x80\n\tMSG_EOF                        = 0x100\n\tMSG_EOR                        = 0x8\n\tMSG_NBIO                       = 0x4000\n\tMSG_NOSIGNAL                   = 0x20000\n\tMSG_NOTIFICATION               = 0x2000\n\tMSG_OOB                        = 0x1\n\tMSG_PEEK                       = 0x2\n\tMSG_TRUNC                      = 0x10\n\tMSG_WAITALL                    = 0x40\n\tMSG_WAITFORONE                 = 0x80000\n\tMS_ASYNC                       = 0x1\n\tMS_INVALIDATE                  = 0x2\n\tMS_SYNC                        = 0x0\n\tNAME_MAX                       = 0xff\n\tNET_RT_DUMP                    = 0x1\n\tNET_RT_FLAGS                   = 0x2\n\tNET_RT_IFLIST                  = 0x3\n\tNET_RT_IFLISTL                 = 0x5\n\tNET_RT_IFMALIST                = 0x4\n\tNOFLSH                         = 0x80000000\n\tNOKERNINFO                     = 0x2000000\n\tNOTE_ATTRIB                    = 0x8\n\tNOTE_CHILD                     = 0x4\n\tNOTE_CLOSE                     = 0x100\n\tNOTE_CLOSE_WRITE               = 0x200\n\tNOTE_DELETE                    = 0x1\n\tNOTE_EXEC                      = 0x20000000\n\tNOTE_EXIT                      = 0x80000000\n\tNOTE_EXTEND                    = 0x4\n\tNOTE_FFAND                     = 0x40000000\n\tNOTE_FFCOPY                    = 0xc0000000\n\tNOTE_FFCTRLMASK                = 0xc0000000\n\tNOTE_FFLAGSMASK                = 0xffffff\n\tNOTE_FFNOP                     = 0x0\n\tNOTE_FFOR                      = 0x80000000\n\tNOTE_FILE_POLL                 = 0x2\n\tNOTE_FORK                      = 0x40000000\n\tNOTE_LINK                      = 0x10\n\tNOTE_LOWAT                     = 0x1\n\tNOTE_MSECONDS                  = 0x2\n\tNOTE_NSECONDS                  = 0x8\n\tNOTE_OPEN                      = 0x80\n\tNOTE_PCTRLMASK                 = 0xf0000000\n\tNOTE_PDATAMASK                 = 0xfffff\n\tNOTE_READ                      = 0x400\n\tNOTE_RENAME                    = 0x20\n\tNOTE_REVOKE                    = 0x40\n\tNOTE_SECONDS                   = 0x1\n\tNOTE_TRACK                     = 0x1\n\tNOTE_TRACKERR                  = 0x2\n\tNOTE_TRIGGER                   = 0x1000000\n\tNOTE_USECONDS                  = 0x4\n\tNOTE_WRITE                     = 0x2\n\tOCRNL                          = 0x10\n\tONLCR                          = 0x2\n\tONLRET                         = 0x40\n\tONOCR                          = 0x20\n\tONOEOT                         = 0x8\n\tOPOST                          = 0x1\n\tOXTABS                         = 0x4\n\tO_ACCMODE                      = 0x3\n\tO_APPEND                       = 0x8\n\tO_ASYNC                        = 0x40\n\tO_CLOEXEC                      = 0x100000\n\tO_CREAT                        = 0x200\n\tO_DIRECT                       = 0x10000\n\tO_DIRECTORY                    = 0x20000\n\tO_EXCL                         = 0x800\n\tO_EXEC                         = 0x40000\n\tO_EXLOCK                       = 0x20\n\tO_FSYNC                        = 0x80\n\tO_NDELAY                       = 0x4\n\tO_NOCTTY                       = 0x8000\n\tO_NOFOLLOW                     = 0x100\n\tO_NONBLOCK                     = 0x4\n\tO_RDONLY                       = 0x0\n\tO_RDWR                         = 0x2\n\tO_SHLOCK                       = 0x10\n\tO_SYNC                         = 0x80\n\tO_TRUNC                        = 0x400\n\tO_TTY_INIT                     = 0x80000\n\tO_VERIFY                       = 0x200000\n\tO_WRONLY                       = 0x1\n\tPARENB                         = 0x1000\n\tPARMRK                         = 0x8\n\tPARODD                         = 0x2000\n\tPENDIN                         = 0x20000000\n\tPRIO_PGRP                      = 0x1\n\tPRIO_PROCESS                   = 0x0\n\tPRIO_USER                      = 0x2\n\tPROT_EXEC                      = 0x4\n\tPROT_NONE                      = 0x0\n\tPROT_READ                      = 0x1\n\tPROT_WRITE                     = 0x2\n\tRLIMIT_AS                      = 0xa\n\tRLIMIT_CORE                    = 0x4\n\tRLIMIT_CPU                     = 0x0\n\tRLIMIT_DATA                    = 0x2\n\tRLIMIT_FSIZE                   = 0x1\n\tRLIMIT_MEMLOCK                 = 0x6\n\tRLIMIT_NOFILE                  = 0x8\n\tRLIMIT_NPROC                   = 0x7\n\tRLIMIT_RSS                     = 0x5\n\tRLIMIT_STACK                   = 0x3\n\tRLIM_INFINITY                  = 0x7fffffffffffffff\n\tRTAX_AUTHOR                    = 0x6\n\tRTAX_BRD                       = 0x7\n\tRTAX_DST                       = 0x0\n\tRTAX_GATEWAY                   = 0x1\n\tRTAX_GENMASK                   = 0x3\n\tRTAX_IFA                       = 0x5\n\tRTAX_IFP                       = 0x4\n\tRTAX_MAX                       = 0x8\n\tRTAX_NETMASK                   = 0x2\n\tRTA_AUTHOR                     = 0x40\n\tRTA_BRD                        = 0x80\n\tRTA_DST                        = 0x1\n\tRTA_GATEWAY                    = 0x2\n\tRTA_GENMASK                    = 0x8\n\tRTA_IFA                        = 0x20\n\tRTA_IFP                        = 0x10\n\tRTA_NETMASK                    = 0x4\n\tRTF_BLACKHOLE                  = 0x1000\n\tRTF_BROADCAST                  = 0x400000\n\tRTF_DONE                       = 0x40\n\tRTF_DYNAMIC                    = 0x10\n\tRTF_FIXEDMTU                   = 0x80000\n\tRTF_FMASK                      = 0x1004d808\n\tRTF_GATEWAY                    = 0x2\n\tRTF_GWFLAG_COMPAT              = 0x80000000\n\tRTF_HOST                       = 0x4\n\tRTF_LLDATA                     = 0x400\n\tRTF_LLINFO                     = 0x400\n\tRTF_LOCAL                      = 0x200000\n\tRTF_MODIFIED                   = 0x20\n\tRTF_MULTICAST                  = 0x800000\n\tRTF_PINNED                     = 0x100000\n\tRTF_PROTO1                     = 0x8000\n\tRTF_PROTO2                     = 0x4000\n\tRTF_PROTO3                     = 0x40000\n\tRTF_REJECT                     = 0x8\n\tRTF_RNH_LOCKED                 = 0x40000000\n\tRTF_STATIC                     = 0x800\n\tRTF_STICKY                     = 0x10000000\n\tRTF_UP                         = 0x1\n\tRTF_XRESOLVE                   = 0x200\n\tRTM_ADD                        = 0x1\n\tRTM_CHANGE                     = 0x3\n\tRTM_DELADDR                    = 0xd\n\tRTM_DELETE                     = 0x2\n\tRTM_DELMADDR                   = 0x10\n\tRTM_GET                        = 0x4\n\tRTM_IEEE80211                  = 0x12\n\tRTM_IFANNOUNCE                 = 0x11\n\tRTM_IFINFO                     = 0xe\n\tRTM_LOCK                       = 0x8\n\tRTM_LOSING                     = 0x5\n\tRTM_MISS                       = 0x7\n\tRTM_NEWADDR                    = 0xc\n\tRTM_NEWMADDR                   = 0xf\n\tRTM_REDIRECT                   = 0x6\n\tRTM_RESOLVE                    = 0xb\n\tRTM_RTTUNIT                    = 0xf4240\n\tRTM_VERSION                    = 0x5\n\tRTV_EXPIRE                     = 0x4\n\tRTV_HOPCOUNT                   = 0x2\n\tRTV_MTU                        = 0x1\n\tRTV_RPIPE                      = 0x8\n\tRTV_RTT                        = 0x40\n\tRTV_RTTVAR                     = 0x80\n\tRTV_SPIPE                      = 0x10\n\tRTV_SSTHRESH                   = 0x20\n\tRTV_WEIGHT                     = 0x100\n\tRT_ALL_FIBS                    = -0x1\n\tRT_BLACKHOLE                   = 0x40\n\tRT_CACHING_CONTEXT             = 0x1\n\tRT_DEFAULT_FIB                 = 0x0\n\tRT_HAS_GW                      = 0x80\n\tRT_HAS_HEADER                  = 0x10\n\tRT_HAS_HEADER_BIT              = 0x4\n\tRT_L2_ME                       = 0x4\n\tRT_L2_ME_BIT                   = 0x2\n\tRT_LLE_CACHE                   = 0x100\n\tRT_MAY_LOOP                    = 0x8\n\tRT_MAY_LOOP_BIT                = 0x3\n\tRT_NORTREF                     = 0x2\n\tRT_REJECT                      = 0x20\n\tRUSAGE_CHILDREN                = -0x1\n\tRUSAGE_SELF                    = 0x0\n\tRUSAGE_THREAD                  = 0x1\n\tSCM_BINTIME                    = 0x4\n\tSCM_CREDS                      = 0x3\n\tSCM_RIGHTS                     = 0x1\n\tSCM_TIMESTAMP                  = 0x2\n\tSHUT_RD                        = 0x0\n\tSHUT_RDWR                      = 0x2\n\tSHUT_WR                        = 0x1\n\tSIOCADDMULTI                   = 0x80206931\n\tSIOCAIFADDR                    = 0x8040691a\n\tSIOCAIFGROUP                   = 0x80246987\n\tSIOCATMARK                     = 0x40047307\n\tSIOCDELMULTI                   = 0x80206932\n\tSIOCDIFADDR                    = 0x80206919\n\tSIOCDIFGROUP                   = 0x80246989\n\tSIOCDIFPHYADDR                 = 0x80206949\n\tSIOCGDRVSPEC                   = 0xc01c697b\n\tSIOCGETSGCNT                   = 0xc0147210\n\tSIOCGETVIFCNT                  = 0xc014720f\n\tSIOCGHIWAT                     = 0x40047301\n\tSIOCGI2C                       = 0xc020693d\n\tSIOCGIFADDR                    = 0xc0206921\n\tSIOCGIFBRDADDR                 = 0xc0206923\n\tSIOCGIFCAP                     = 0xc020691f\n\tSIOCGIFCONF                    = 0xc0086924\n\tSIOCGIFDESCR                   = 0xc020692a\n\tSIOCGIFDSTADDR                 = 0xc0206922\n\tSIOCGIFFIB                     = 0xc020695c\n\tSIOCGIFFLAGS                   = 0xc0206911\n\tSIOCGIFGENERIC                 = 0xc020693a\n\tSIOCGIFGMEMB                   = 0xc024698a\n\tSIOCGIFGROUP                   = 0xc0246988\n\tSIOCGIFINDEX                   = 0xc0206920\n\tSIOCGIFMAC                     = 0xc0206926\n\tSIOCGIFMEDIA                   = 0xc0286938\n\tSIOCGIFMETRIC                  = 0xc0206917\n\tSIOCGIFMTU                     = 0xc0206933\n\tSIOCGIFNETMASK                 = 0xc0206925\n\tSIOCGIFPDSTADDR                = 0xc0206948\n\tSIOCGIFPHYS                    = 0xc0206935\n\tSIOCGIFPSRCADDR                = 0xc0206947\n\tSIOCGIFSTATUS                  = 0xc331693b\n\tSIOCGIFXMEDIA                  = 0xc028698b\n\tSIOCGLOWAT                     = 0x40047303\n\tSIOCGPGRP                      = 0x40047309\n\tSIOCGPRIVATE_0                 = 0xc0206950\n\tSIOCGPRIVATE_1                 = 0xc0206951\n\tSIOCGTUNFIB                    = 0xc020695e\n\tSIOCIFCREATE                   = 0xc020697a\n\tSIOCIFCREATE2                  = 0xc020697c\n\tSIOCIFDESTROY                  = 0x80206979\n\tSIOCIFGCLONERS                 = 0xc00c6978\n\tSIOCSDRVSPEC                   = 0x801c697b\n\tSIOCSHIWAT                     = 0x80047300\n\tSIOCSIFADDR                    = 0x8020690c\n\tSIOCSIFBRDADDR                 = 0x80206913\n\tSIOCSIFCAP                     = 0x8020691e\n\tSIOCSIFDESCR                   = 0x80206929\n\tSIOCSIFDSTADDR                 = 0x8020690e\n\tSIOCSIFFIB                     = 0x8020695d\n\tSIOCSIFFLAGS                   = 0x80206910\n\tSIOCSIFGENERIC                 = 0x80206939\n\tSIOCSIFLLADDR                  = 0x8020693c\n\tSIOCSIFMAC                     = 0x80206927\n\tSIOCSIFMEDIA                   = 0xc0206937\n\tSIOCSIFMETRIC                  = 0x80206918\n\tSIOCSIFMTU                     = 0x80206934\n\tSIOCSIFNAME                    = 0x80206928\n\tSIOCSIFNETMASK                 = 0x80206916\n\tSIOCSIFPHYADDR                 = 0x80406946\n\tSIOCSIFPHYS                    = 0x80206936\n\tSIOCSIFRVNET                   = 0xc020695b\n\tSIOCSIFVNET                    = 0xc020695a\n\tSIOCSLOWAT                     = 0x80047302\n\tSIOCSPGRP                      = 0x80047308\n\tSIOCSTUNFIB                    = 0x8020695f\n\tSOCK_CLOEXEC                   = 0x10000000\n\tSOCK_DGRAM                     = 0x2\n\tSOCK_MAXADDRLEN                = 0xff\n\tSOCK_NONBLOCK                  = 0x20000000\n\tSOCK_RAW                       = 0x3\n\tSOCK_RDM                       = 0x4\n\tSOCK_SEQPACKET                 = 0x5\n\tSOCK_STREAM                    = 0x1\n\tSOL_SOCKET                     = 0xffff\n\tSOMAXCONN                      = 0x80\n\tSO_ACCEPTCONN                  = 0x2\n\tSO_ACCEPTFILTER                = 0x1000\n\tSO_BINTIME                     = 0x2000\n\tSO_BROADCAST                   = 0x20\n\tSO_DEBUG                       = 0x1\n\tSO_DONTROUTE                   = 0x10\n\tSO_ERROR                       = 0x1007\n\tSO_KEEPALIVE                   = 0x8\n\tSO_LABEL                       = 0x1009\n\tSO_LINGER                      = 0x80\n\tSO_LISTENINCQLEN               = 0x1013\n\tSO_LISTENQLEN                  = 0x1012\n\tSO_LISTENQLIMIT                = 0x1011\n\tSO_NOSIGPIPE                   = 0x800\n\tSO_NO_DDP                      = 0x8000\n\tSO_NO_OFFLOAD                  = 0x4000\n\tSO_OOBINLINE                   = 0x100\n\tSO_PEERLABEL                   = 0x1010\n\tSO_PROTOCOL                    = 0x1016\n\tSO_PROTOTYPE                   = 0x1016\n\tSO_RCVBUF                      = 0x1002\n\tSO_RCVLOWAT                    = 0x1004\n\tSO_RCVTIMEO                    = 0x1006\n\tSO_REUSEADDR                   = 0x4\n\tSO_REUSEPORT                   = 0x200\n\tSO_SETFIB                      = 0x1014\n\tSO_SNDBUF                      = 0x1001\n\tSO_SNDLOWAT                    = 0x1003\n\tSO_SNDTIMEO                    = 0x1005\n\tSO_TIMESTAMP                   = 0x400\n\tSO_TYPE                        = 0x1008\n\tSO_USELOOPBACK                 = 0x40\n\tSO_USER_COOKIE                 = 0x1015\n\tSO_VENDOR                      = 0x80000000\n\tTAB0                           = 0x0\n\tTAB3                           = 0x4\n\tTABDLY                         = 0x4\n\tTCIFLUSH                       = 0x1\n\tTCIOFF                         = 0x3\n\tTCIOFLUSH                      = 0x3\n\tTCION                          = 0x4\n\tTCOFLUSH                       = 0x2\n\tTCOOFF                         = 0x1\n\tTCOON                          = 0x2\n\tTCP_CA_NAME_MAX                = 0x10\n\tTCP_CCALGOOPT                  = 0x41\n\tTCP_CONGESTION                 = 0x40\n\tTCP_FASTOPEN                   = 0x401\n\tTCP_FUNCTION_BLK               = 0x2000\n\tTCP_FUNCTION_NAME_LEN_MAX      = 0x20\n\tTCP_INFO                       = 0x20\n\tTCP_KEEPCNT                    = 0x400\n\tTCP_KEEPIDLE                   = 0x100\n\tTCP_KEEPINIT                   = 0x80\n\tTCP_KEEPINTVL                  = 0x200\n\tTCP_MAXBURST                   = 0x4\n\tTCP_MAXHLEN                    = 0x3c\n\tTCP_MAXOLEN                    = 0x28\n\tTCP_MAXSEG                     = 0x2\n\tTCP_MAXWIN                     = 0xffff\n\tTCP_MAX_SACK                   = 0x4\n\tTCP_MAX_WINSHIFT               = 0xe\n\tTCP_MD5SIG                     = 0x10\n\tTCP_MINMSS                     = 0xd8\n\tTCP_MSS                        = 0x218\n\tTCP_NODELAY                    = 0x1\n\tTCP_NOOPT                      = 0x8\n\tTCP_NOPUSH                     = 0x4\n\tTCP_PCAP_IN                    = 0x1000\n\tTCP_PCAP_OUT                   = 0x800\n\tTCP_VENDOR                     = 0x80000000\n\tTCSAFLUSH                      = 0x2\n\tTIOCCBRK                       = 0x2000747a\n\tTIOCCDTR                       = 0x20007478\n\tTIOCCONS                       = 0x80047462\n\tTIOCDRAIN                      = 0x2000745e\n\tTIOCEXCL                       = 0x2000740d\n\tTIOCEXT                        = 0x80047460\n\tTIOCFLUSH                      = 0x80047410\n\tTIOCGDRAINWAIT                 = 0x40047456\n\tTIOCGETA                       = 0x402c7413\n\tTIOCGETD                       = 0x4004741a\n\tTIOCGPGRP                      = 0x40047477\n\tTIOCGPTN                       = 0x4004740f\n\tTIOCGSID                       = 0x40047463\n\tTIOCGWINSZ                     = 0x40087468\n\tTIOCMBIC                       = 0x8004746b\n\tTIOCMBIS                       = 0x8004746c\n\tTIOCMGDTRWAIT                  = 0x4004745a\n\tTIOCMGET                       = 0x4004746a\n\tTIOCMSDTRWAIT                  = 0x8004745b\n\tTIOCMSET                       = 0x8004746d\n\tTIOCM_CAR                      = 0x40\n\tTIOCM_CD                       = 0x40\n\tTIOCM_CTS                      = 0x20\n\tTIOCM_DCD                      = 0x40\n\tTIOCM_DSR                      = 0x100\n\tTIOCM_DTR                      = 0x2\n\tTIOCM_LE                       = 0x1\n\tTIOCM_RI                       = 0x80\n\tTIOCM_RNG                      = 0x80\n\tTIOCM_RTS                      = 0x4\n\tTIOCM_SR                       = 0x10\n\tTIOCM_ST                       = 0x8\n\tTIOCNOTTY                      = 0x20007471\n\tTIOCNXCL                       = 0x2000740e\n\tTIOCOUTQ                       = 0x40047473\n\tTIOCPKT                        = 0x80047470\n\tTIOCPKT_DATA                   = 0x0\n\tTIOCPKT_DOSTOP                 = 0x20\n\tTIOCPKT_FLUSHREAD              = 0x1\n\tTIOCPKT_FLUSHWRITE             = 0x2\n\tTIOCPKT_IOCTL                  = 0x40\n\tTIOCPKT_NOSTOP                 = 0x10\n\tTIOCPKT_START                  = 0x8\n\tTIOCPKT_STOP                   = 0x4\n\tTIOCPTMASTER                   = 0x2000741c\n\tTIOCSBRK                       = 0x2000747b\n\tTIOCSCTTY                      = 0x20007461\n\tTIOCSDRAINWAIT                 = 0x80047457\n\tTIOCSDTR                       = 0x20007479\n\tTIOCSETA                       = 0x802c7414\n\tTIOCSETAF                      = 0x802c7416\n\tTIOCSETAW                      = 0x802c7415\n\tTIOCSETD                       = 0x8004741b\n\tTIOCSIG                        = 0x2004745f\n\tTIOCSPGRP                      = 0x80047476\n\tTIOCSTART                      = 0x2000746e\n\tTIOCSTAT                       = 0x20007465\n\tTIOCSTI                        = 0x80017472\n\tTIOCSTOP                       = 0x2000746f\n\tTIOCSWINSZ                     = 0x80087467\n\tTIOCTIMESTAMP                  = 0x40087459\n\tTIOCUCNTL                      = 0x80047466\n\tTOSTOP                         = 0x400000\n\tVDISCARD                       = 0xf\n\tVDSUSP                         = 0xb\n\tVEOF                           = 0x0\n\tVEOL                           = 0x1\n\tVEOL2                          = 0x2\n\tVERASE                         = 0x3\n\tVERASE2                        = 0x7\n\tVINTR                          = 0x8\n\tVKILL                          = 0x5\n\tVLNEXT                         = 0xe\n\tVMIN                           = 0x10\n\tVQUIT                          = 0x9\n\tVREPRINT                       = 0x6\n\tVSTART                         = 0xc\n\tVSTATUS                        = 0x12\n\tVSTOP                          = 0xd\n\tVSUSP                          = 0xa\n\tVTIME                          = 0x11\n\tVWERASE                        = 0x4\n\tWCONTINUED                     = 0x4\n\tWCOREFLAG                      = 0x80\n\tWEXITED                        = 0x10\n\tWLINUXCLONE                    = 0x80000000\n\tWNOHANG                        = 0x1\n\tWNOWAIT                        = 0x8\n\tWSTOPPED                       = 0x2\n\tWTRAPPED                       = 0x20\n\tWUNTRACED                      = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x59)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x55)\n\tECAPMODE        = syscall.Errno(0x5e)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOOFUS         = syscall.Errno(0x58)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x56)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x60)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5a)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x57)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCAPABLE     = syscall.Errno(0x5d)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x5f)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x60)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x5c)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGLIBRT  = syscall.Signal(0x21)\n\tSIGLWP    = syscall.Signal(0x20)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTHR    = syscall.Signal(0x20)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:  \"operation not permitted\",\n\t2:  \"no such file or directory\",\n\t3:  \"no such process\",\n\t4:  \"interrupted system call\",\n\t5:  \"input/output error\",\n\t6:  \"device not configured\",\n\t7:  \"argument list too long\",\n\t8:  \"exec format error\",\n\t9:  \"bad file descriptor\",\n\t10: \"no child processes\",\n\t11: \"resource deadlock avoided\",\n\t12: \"cannot allocate memory\",\n\t13: \"permission denied\",\n\t14: \"bad address\",\n\t15: \"block device required\",\n\t16: \"device busy\",\n\t17: \"file exists\",\n\t18: \"cross-device link\",\n\t19: \"operation not supported by device\",\n\t20: \"not a directory\",\n\t21: \"is a directory\",\n\t22: \"invalid argument\",\n\t23: \"too many open files in system\",\n\t24: \"too many open files\",\n\t25: \"inappropriate ioctl for device\",\n\t26: \"text file busy\",\n\t27: \"file too large\",\n\t28: \"no space left on device\",\n\t29: \"illegal seek\",\n\t30: \"read-only file system\",\n\t31: \"too many links\",\n\t32: \"broken pipe\",\n\t33: \"numerical argument out of domain\",\n\t34: \"result too large\",\n\t35: \"resource temporarily unavailable\",\n\t36: \"operation now in progress\",\n\t37: \"operation already in progress\",\n\t38: \"socket operation on non-socket\",\n\t39: \"destination address required\",\n\t40: \"message too long\",\n\t41: \"protocol wrong type for socket\",\n\t42: \"protocol not available\",\n\t43: \"protocol not supported\",\n\t44: \"socket type not supported\",\n\t45: \"operation not supported\",\n\t46: \"protocol family not supported\",\n\t47: \"address family not supported by protocol family\",\n\t48: \"address already in use\",\n\t49: \"can't assign requested address\",\n\t50: \"network is down\",\n\t51: \"network is unreachable\",\n\t52: \"network dropped connection on reset\",\n\t53: \"software caused connection abort\",\n\t54: \"connection reset by peer\",\n\t55: \"no buffer space available\",\n\t56: \"socket is already connected\",\n\t57: \"socket is not connected\",\n\t58: \"can't send after socket shutdown\",\n\t59: \"too many references: can't splice\",\n\t60: \"operation timed out\",\n\t61: \"connection refused\",\n\t62: \"too many levels of symbolic links\",\n\t63: \"file name too long\",\n\t64: \"host is down\",\n\t65: \"no route to host\",\n\t66: \"directory not empty\",\n\t67: \"too many processes\",\n\t68: \"too many users\",\n\t69: \"disc quota exceeded\",\n\t70: \"stale NFS file handle\",\n\t71: \"too many levels of remote in path\",\n\t72: \"RPC struct is bad\",\n\t73: \"RPC version wrong\",\n\t74: \"RPC prog. not avail\",\n\t75: \"program version wrong\",\n\t76: \"bad procedure for program\",\n\t77: \"no locks available\",\n\t78: \"function not implemented\",\n\t79: \"inappropriate file type or format\",\n\t80: \"authentication error\",\n\t81: \"need authenticator\",\n\t82: \"identifier removed\",\n\t83: \"no message of desired type\",\n\t84: \"value too large to be stored in data type\",\n\t85: \"operation canceled\",\n\t86: \"illegal byte sequence\",\n\t87: \"attribute not found\",\n\t88: \"programming error\",\n\t89: \"bad message\",\n\t90: \"multihop attempted\",\n\t91: \"link has been severed\",\n\t92: \"protocol error\",\n\t93: \"capabilities insufficient\",\n\t94: \"not permitted in capability mode\",\n\t95: \"state not recoverable\",\n\t96: \"previous owner died\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"suspended (signal)\",\n\t18: \"suspended\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n\t32: \"unknown signal\",\n\t33: \"unknown signal\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,freebsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                   = 0x10\n\tAF_ARP                         = 0x23\n\tAF_ATM                         = 0x1e\n\tAF_BLUETOOTH                   = 0x24\n\tAF_CCITT                       = 0xa\n\tAF_CHAOS                       = 0x5\n\tAF_CNT                         = 0x15\n\tAF_COIP                        = 0x14\n\tAF_DATAKIT                     = 0x9\n\tAF_DECnet                      = 0xc\n\tAF_DLI                         = 0xd\n\tAF_E164                        = 0x1a\n\tAF_ECMA                        = 0x8\n\tAF_HYLINK                      = 0xf\n\tAF_IEEE80211                   = 0x25\n\tAF_IMPLINK                     = 0x3\n\tAF_INET                        = 0x2\n\tAF_INET6                       = 0x1c\n\tAF_INET6_SDP                   = 0x2a\n\tAF_INET_SDP                    = 0x28\n\tAF_IPX                         = 0x17\n\tAF_ISDN                        = 0x1a\n\tAF_ISO                         = 0x7\n\tAF_LAT                         = 0xe\n\tAF_LINK                        = 0x12\n\tAF_LOCAL                       = 0x1\n\tAF_MAX                         = 0x2a\n\tAF_NATM                        = 0x1d\n\tAF_NETBIOS                     = 0x6\n\tAF_NETGRAPH                    = 0x20\n\tAF_OSI                         = 0x7\n\tAF_PUP                         = 0x4\n\tAF_ROUTE                       = 0x11\n\tAF_SCLUSTER                    = 0x22\n\tAF_SIP                         = 0x18\n\tAF_SLOW                        = 0x21\n\tAF_SNA                         = 0xb\n\tAF_UNIX                        = 0x1\n\tAF_UNSPEC                      = 0x0\n\tAF_VENDOR00                    = 0x27\n\tAF_VENDOR01                    = 0x29\n\tAF_VENDOR02                    = 0x2b\n\tAF_VENDOR03                    = 0x2d\n\tAF_VENDOR04                    = 0x2f\n\tAF_VENDOR05                    = 0x31\n\tAF_VENDOR06                    = 0x33\n\tAF_VENDOR07                    = 0x35\n\tAF_VENDOR08                    = 0x37\n\tAF_VENDOR09                    = 0x39\n\tAF_VENDOR10                    = 0x3b\n\tAF_VENDOR11                    = 0x3d\n\tAF_VENDOR12                    = 0x3f\n\tAF_VENDOR13                    = 0x41\n\tAF_VENDOR14                    = 0x43\n\tAF_VENDOR15                    = 0x45\n\tAF_VENDOR16                    = 0x47\n\tAF_VENDOR17                    = 0x49\n\tAF_VENDOR18                    = 0x4b\n\tAF_VENDOR19                    = 0x4d\n\tAF_VENDOR20                    = 0x4f\n\tAF_VENDOR21                    = 0x51\n\tAF_VENDOR22                    = 0x53\n\tAF_VENDOR23                    = 0x55\n\tAF_VENDOR24                    = 0x57\n\tAF_VENDOR25                    = 0x59\n\tAF_VENDOR26                    = 0x5b\n\tAF_VENDOR27                    = 0x5d\n\tAF_VENDOR28                    = 0x5f\n\tAF_VENDOR29                    = 0x61\n\tAF_VENDOR30                    = 0x63\n\tAF_VENDOR31                    = 0x65\n\tAF_VENDOR32                    = 0x67\n\tAF_VENDOR33                    = 0x69\n\tAF_VENDOR34                    = 0x6b\n\tAF_VENDOR35                    = 0x6d\n\tAF_VENDOR36                    = 0x6f\n\tAF_VENDOR37                    = 0x71\n\tAF_VENDOR38                    = 0x73\n\tAF_VENDOR39                    = 0x75\n\tAF_VENDOR40                    = 0x77\n\tAF_VENDOR41                    = 0x79\n\tAF_VENDOR42                    = 0x7b\n\tAF_VENDOR43                    = 0x7d\n\tAF_VENDOR44                    = 0x7f\n\tAF_VENDOR45                    = 0x81\n\tAF_VENDOR46                    = 0x83\n\tAF_VENDOR47                    = 0x85\n\tALTWERASE                      = 0x200\n\tB0                             = 0x0\n\tB110                           = 0x6e\n\tB115200                        = 0x1c200\n\tB1200                          = 0x4b0\n\tB134                           = 0x86\n\tB14400                         = 0x3840\n\tB150                           = 0x96\n\tB1800                          = 0x708\n\tB19200                         = 0x4b00\n\tB200                           = 0xc8\n\tB230400                        = 0x38400\n\tB2400                          = 0x960\n\tB28800                         = 0x7080\n\tB300                           = 0x12c\n\tB38400                         = 0x9600\n\tB460800                        = 0x70800\n\tB4800                          = 0x12c0\n\tB50                            = 0x32\n\tB57600                         = 0xe100\n\tB600                           = 0x258\n\tB7200                          = 0x1c20\n\tB75                            = 0x4b\n\tB76800                         = 0x12c00\n\tB921600                        = 0xe1000\n\tB9600                          = 0x2580\n\tBIOCFEEDBACK                   = 0x8004427c\n\tBIOCFLUSH                      = 0x20004268\n\tBIOCGBLEN                      = 0x40044266\n\tBIOCGDIRECTION                 = 0x40044276\n\tBIOCGDLT                       = 0x4004426a\n\tBIOCGDLTLIST                   = 0xc0104279\n\tBIOCGETBUFMODE                 = 0x4004427d\n\tBIOCGETIF                      = 0x4020426b\n\tBIOCGETZMAX                    = 0x4008427f\n\tBIOCGHDRCMPLT                  = 0x40044274\n\tBIOCGRSIG                      = 0x40044272\n\tBIOCGRTIMEOUT                  = 0x4010426e\n\tBIOCGSEESENT                   = 0x40044276\n\tBIOCGSTATS                     = 0x4008426f\n\tBIOCGTSTAMP                    = 0x40044283\n\tBIOCIMMEDIATE                  = 0x80044270\n\tBIOCLOCK                       = 0x2000427a\n\tBIOCPROMISC                    = 0x20004269\n\tBIOCROTZBUF                    = 0x40184280\n\tBIOCSBLEN                      = 0xc0044266\n\tBIOCSDIRECTION                 = 0x80044277\n\tBIOCSDLT                       = 0x80044278\n\tBIOCSETBUFMODE                 = 0x8004427e\n\tBIOCSETF                       = 0x80104267\n\tBIOCSETFNR                     = 0x80104282\n\tBIOCSETIF                      = 0x8020426c\n\tBIOCSETWF                      = 0x8010427b\n\tBIOCSETZBUF                    = 0x80184281\n\tBIOCSHDRCMPLT                  = 0x80044275\n\tBIOCSRSIG                      = 0x80044273\n\tBIOCSRTIMEOUT                  = 0x8010426d\n\tBIOCSSEESENT                   = 0x80044277\n\tBIOCSTSTAMP                    = 0x80044284\n\tBIOCVERSION                    = 0x40044271\n\tBPF_A                          = 0x10\n\tBPF_ABS                        = 0x20\n\tBPF_ADD                        = 0x0\n\tBPF_ALIGNMENT                  = 0x8\n\tBPF_ALU                        = 0x4\n\tBPF_AND                        = 0x50\n\tBPF_B                          = 0x10\n\tBPF_BUFMODE_BUFFER             = 0x1\n\tBPF_BUFMODE_ZBUF               = 0x2\n\tBPF_DIV                        = 0x30\n\tBPF_H                          = 0x8\n\tBPF_IMM                        = 0x0\n\tBPF_IND                        = 0x40\n\tBPF_JA                         = 0x0\n\tBPF_JEQ                        = 0x10\n\tBPF_JGE                        = 0x30\n\tBPF_JGT                        = 0x20\n\tBPF_JMP                        = 0x5\n\tBPF_JSET                       = 0x40\n\tBPF_K                          = 0x0\n\tBPF_LD                         = 0x0\n\tBPF_LDX                        = 0x1\n\tBPF_LEN                        = 0x80\n\tBPF_LSH                        = 0x60\n\tBPF_MAJOR_VERSION              = 0x1\n\tBPF_MAXBUFSIZE                 = 0x80000\n\tBPF_MAXINSNS                   = 0x200\n\tBPF_MEM                        = 0x60\n\tBPF_MEMWORDS                   = 0x10\n\tBPF_MINBUFSIZE                 = 0x20\n\tBPF_MINOR_VERSION              = 0x1\n\tBPF_MISC                       = 0x7\n\tBPF_MOD                        = 0x90\n\tBPF_MSH                        = 0xa0\n\tBPF_MUL                        = 0x20\n\tBPF_NEG                        = 0x80\n\tBPF_OR                         = 0x40\n\tBPF_RELEASE                    = 0x30bb6\n\tBPF_RET                        = 0x6\n\tBPF_RSH                        = 0x70\n\tBPF_ST                         = 0x2\n\tBPF_STX                        = 0x3\n\tBPF_SUB                        = 0x10\n\tBPF_TAX                        = 0x0\n\tBPF_TXA                        = 0x80\n\tBPF_T_BINTIME                  = 0x2\n\tBPF_T_BINTIME_FAST             = 0x102\n\tBPF_T_BINTIME_MONOTONIC        = 0x202\n\tBPF_T_BINTIME_MONOTONIC_FAST   = 0x302\n\tBPF_T_FAST                     = 0x100\n\tBPF_T_FLAG_MASK                = 0x300\n\tBPF_T_FORMAT_MASK              = 0x3\n\tBPF_T_MICROTIME                = 0x0\n\tBPF_T_MICROTIME_FAST           = 0x100\n\tBPF_T_MICROTIME_MONOTONIC      = 0x200\n\tBPF_T_MICROTIME_MONOTONIC_FAST = 0x300\n\tBPF_T_MONOTONIC                = 0x200\n\tBPF_T_MONOTONIC_FAST           = 0x300\n\tBPF_T_NANOTIME                 = 0x1\n\tBPF_T_NANOTIME_FAST            = 0x101\n\tBPF_T_NANOTIME_MONOTONIC       = 0x201\n\tBPF_T_NANOTIME_MONOTONIC_FAST  = 0x301\n\tBPF_T_NONE                     = 0x3\n\tBPF_T_NORMAL                   = 0x0\n\tBPF_W                          = 0x0\n\tBPF_X                          = 0x8\n\tBPF_XOR                        = 0xa0\n\tBRKINT                         = 0x2\n\tCAP_ACCEPT                     = 0x200000020000000\n\tCAP_ACL_CHECK                  = 0x400000000010000\n\tCAP_ACL_DELETE                 = 0x400000000020000\n\tCAP_ACL_GET                    = 0x400000000040000\n\tCAP_ACL_SET                    = 0x400000000080000\n\tCAP_ALL0                       = 0x20007ffffffffff\n\tCAP_ALL1                       = 0x4000000001fffff\n\tCAP_BIND                       = 0x200000040000000\n\tCAP_BINDAT                     = 0x200008000000400\n\tCAP_CHFLAGSAT                  = 0x200000000001400\n\tCAP_CONNECT                    = 0x200000080000000\n\tCAP_CONNECTAT                  = 0x200010000000400\n\tCAP_CREATE                     = 0x200000000000040\n\tCAP_EVENT                      = 0x400000000000020\n\tCAP_EXTATTR_DELETE             = 0x400000000001000\n\tCAP_EXTATTR_GET                = 0x400000000002000\n\tCAP_EXTATTR_LIST               = 0x400000000004000\n\tCAP_EXTATTR_SET                = 0x400000000008000\n\tCAP_FCHDIR                     = 0x200000000000800\n\tCAP_FCHFLAGS                   = 0x200000000001000\n\tCAP_FCHMOD                     = 0x200000000002000\n\tCAP_FCHMODAT                   = 0x200000000002400\n\tCAP_FCHOWN                     = 0x200000000004000\n\tCAP_FCHOWNAT                   = 0x200000000004400\n\tCAP_FCNTL                      = 0x200000000008000\n\tCAP_FCNTL_ALL                  = 0x78\n\tCAP_FCNTL_GETFL                = 0x8\n\tCAP_FCNTL_GETOWN               = 0x20\n\tCAP_FCNTL_SETFL                = 0x10\n\tCAP_FCNTL_SETOWN               = 0x40\n\tCAP_FEXECVE                    = 0x200000000000080\n\tCAP_FLOCK                      = 0x200000000010000\n\tCAP_FPATHCONF                  = 0x200000000020000\n\tCAP_FSCK                       = 0x200000000040000\n\tCAP_FSTAT                      = 0x200000000080000\n\tCAP_FSTATAT                    = 0x200000000080400\n\tCAP_FSTATFS                    = 0x200000000100000\n\tCAP_FSYNC                      = 0x200000000000100\n\tCAP_FTRUNCATE                  = 0x200000000000200\n\tCAP_FUTIMES                    = 0x200000000200000\n\tCAP_FUTIMESAT                  = 0x200000000200400\n\tCAP_GETPEERNAME                = 0x200000100000000\n\tCAP_GETSOCKNAME                = 0x200000200000000\n\tCAP_GETSOCKOPT                 = 0x200000400000000\n\tCAP_IOCTL                      = 0x400000000000080\n\tCAP_IOCTLS_ALL                 = 0x7fffffffffffffff\n\tCAP_KQUEUE                     = 0x400000000100040\n\tCAP_KQUEUE_CHANGE              = 0x400000000100000\n\tCAP_KQUEUE_EVENT               = 0x400000000000040\n\tCAP_LINKAT_SOURCE              = 0x200020000000400\n\tCAP_LINKAT_TARGET              = 0x200000000400400\n\tCAP_LISTEN                     = 0x200000800000000\n\tCAP_LOOKUP                     = 0x200000000000400\n\tCAP_MAC_GET                    = 0x400000000000001\n\tCAP_MAC_SET                    = 0x400000000000002\n\tCAP_MKDIRAT                    = 0x200000000800400\n\tCAP_MKFIFOAT                   = 0x200000001000400\n\tCAP_MKNODAT                    = 0x200000002000400\n\tCAP_MMAP                       = 0x200000000000010\n\tCAP_MMAP_R                     = 0x20000000000001d\n\tCAP_MMAP_RW                    = 0x20000000000001f\n\tCAP_MMAP_RWX                   = 0x20000000000003f\n\tCAP_MMAP_RX                    = 0x20000000000003d\n\tCAP_MMAP_W                     = 0x20000000000001e\n\tCAP_MMAP_WX                    = 0x20000000000003e\n\tCAP_MMAP_X                     = 0x20000000000003c\n\tCAP_PDGETPID                   = 0x400000000000200\n\tCAP_PDKILL                     = 0x400000000000800\n\tCAP_PDWAIT                     = 0x400000000000400\n\tCAP_PEELOFF                    = 0x200001000000000\n\tCAP_POLL_EVENT                 = 0x400000000000020\n\tCAP_PREAD                      = 0x20000000000000d\n\tCAP_PWRITE                     = 0x20000000000000e\n\tCAP_READ                       = 0x200000000000001\n\tCAP_RECV                       = 0x200000000000001\n\tCAP_RENAMEAT_SOURCE            = 0x200000004000400\n\tCAP_RENAMEAT_TARGET            = 0x200040000000400\n\tCAP_RIGHTS_VERSION             = 0x0\n\tCAP_RIGHTS_VERSION_00          = 0x0\n\tCAP_SEEK                       = 0x20000000000000c\n\tCAP_SEEK_TELL                  = 0x200000000000004\n\tCAP_SEM_GETVALUE               = 0x400000000000004\n\tCAP_SEM_POST                   = 0x400000000000008\n\tCAP_SEM_WAIT                   = 0x400000000000010\n\tCAP_SEND                       = 0x200000000000002\n\tCAP_SETSOCKOPT                 = 0x200002000000000\n\tCAP_SHUTDOWN                   = 0x200004000000000\n\tCAP_SOCK_CLIENT                = 0x200007780000003\n\tCAP_SOCK_SERVER                = 0x200007f60000003\n\tCAP_SYMLINKAT                  = 0x200000008000400\n\tCAP_TTYHOOK                    = 0x400000000000100\n\tCAP_UNLINKAT                   = 0x200000010000400\n\tCAP_UNUSED0_44                 = 0x200080000000000\n\tCAP_UNUSED0_57                 = 0x300000000000000\n\tCAP_UNUSED1_22                 = 0x400000000200000\n\tCAP_UNUSED1_57                 = 0x500000000000000\n\tCAP_WRITE                      = 0x200000000000002\n\tCFLUSH                         = 0xf\n\tCLOCAL                         = 0x8000\n\tCLOCK_MONOTONIC                = 0x4\n\tCLOCK_MONOTONIC_FAST           = 0xc\n\tCLOCK_MONOTONIC_PRECISE        = 0xb\n\tCLOCK_PROCESS_CPUTIME_ID       = 0xf\n\tCLOCK_PROF                     = 0x2\n\tCLOCK_REALTIME                 = 0x0\n\tCLOCK_REALTIME_FAST            = 0xa\n\tCLOCK_REALTIME_PRECISE         = 0x9\n\tCLOCK_SECOND                   = 0xd\n\tCLOCK_THREAD_CPUTIME_ID        = 0xe\n\tCLOCK_UPTIME                   = 0x5\n\tCLOCK_UPTIME_FAST              = 0x8\n\tCLOCK_UPTIME_PRECISE           = 0x7\n\tCLOCK_VIRTUAL                  = 0x1\n\tCREAD                          = 0x800\n\tCRTSCTS                        = 0x30000\n\tCS5                            = 0x0\n\tCS6                            = 0x100\n\tCS7                            = 0x200\n\tCS8                            = 0x300\n\tCSIZE                          = 0x300\n\tCSTART                         = 0x11\n\tCSTATUS                        = 0x14\n\tCSTOP                          = 0x13\n\tCSTOPB                         = 0x400\n\tCSUSP                          = 0x1a\n\tCTL_HW                         = 0x6\n\tCTL_KERN                       = 0x1\n\tCTL_MAXNAME                    = 0x18\n\tCTL_NET                        = 0x4\n\tDLT_A429                       = 0xb8\n\tDLT_A653_ICM                   = 0xb9\n\tDLT_AIRONET_HEADER             = 0x78\n\tDLT_AOS                        = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394     = 0x8a\n\tDLT_ARCNET                     = 0x7\n\tDLT_ARCNET_LINUX               = 0x81\n\tDLT_ATM_CLIP                   = 0x13\n\tDLT_ATM_RFC1483                = 0xb\n\tDLT_AURORA                     = 0x7e\n\tDLT_AX25                       = 0x3\n\tDLT_AX25_KISS                  = 0xca\n\tDLT_BACNET_MS_TP               = 0xa5\n\tDLT_BLUETOOTH_BREDR_BB         = 0xff\n\tDLT_BLUETOOTH_HCI_H4           = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9\n\tDLT_BLUETOOTH_LE_LL            = 0xfb\n\tDLT_BLUETOOTH_LE_LL_WITH_PHDR  = 0x100\n\tDLT_BLUETOOTH_LINUX_MONITOR    = 0xfe\n\tDLT_CAN20B                     = 0xbe\n\tDLT_CAN_SOCKETCAN              = 0xe3\n\tDLT_CHAOS                      = 0x5\n\tDLT_CHDLC                      = 0x68\n\tDLT_CISCO_IOS                  = 0x76\n\tDLT_C_HDLC                     = 0x68\n\tDLT_C_HDLC_WITH_DIR            = 0xcd\n\tDLT_DBUS                       = 0xe7\n\tDLT_DECT                       = 0xdd\n\tDLT_DOCSIS                     = 0x8f\n\tDLT_DVB_CI                     = 0xeb\n\tDLT_ECONET                     = 0x73\n\tDLT_EN10MB                     = 0x1\n\tDLT_EN3MB                      = 0x2\n\tDLT_ENC                        = 0x6d\n\tDLT_EPON                       = 0x103\n\tDLT_ERF                        = 0xc5\n\tDLT_ERF_ETH                    = 0xaf\n\tDLT_ERF_POS                    = 0xb0\n\tDLT_FC_2                       = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS     = 0xe1\n\tDLT_FDDI                       = 0xa\n\tDLT_FLEXRAY                    = 0xd2\n\tDLT_FRELAY                     = 0x6b\n\tDLT_FRELAY_WITH_DIR            = 0xce\n\tDLT_GCOM_SERIAL                = 0xad\n\tDLT_GCOM_T1E1                  = 0xac\n\tDLT_GPF_F                      = 0xab\n\tDLT_GPF_T                      = 0xaa\n\tDLT_GPRS_LLC                   = 0xa9\n\tDLT_GSMTAP_ABIS                = 0xda\n\tDLT_GSMTAP_UM                  = 0xd9\n\tDLT_HHDLC                      = 0x79\n\tDLT_IBM_SN                     = 0x92\n\tDLT_IBM_SP                     = 0x91\n\tDLT_IEEE802                    = 0x6\n\tDLT_IEEE802_11                 = 0x69\n\tDLT_IEEE802_11_RADIO           = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS       = 0xa3\n\tDLT_IEEE802_15_4               = 0xc3\n\tDLT_IEEE802_15_4_LINUX         = 0xbf\n\tDLT_IEEE802_15_4_NOFCS         = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY    = 0xd7\n\tDLT_IEEE802_16_MAC_CPS         = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO   = 0xc1\n\tDLT_INFINIBAND                 = 0xf7\n\tDLT_IPFILTER                   = 0x74\n\tDLT_IPMB                       = 0xc7\n\tDLT_IPMB_LINUX                 = 0xd1\n\tDLT_IPMI_HPM_2                 = 0x104\n\tDLT_IPNET                      = 0xe2\n\tDLT_IPOIB                      = 0xf2\n\tDLT_IPV4                       = 0xe4\n\tDLT_IPV6                       = 0xe5\n\tDLT_IP_OVER_FC                 = 0x7a\n\tDLT_JUNIPER_ATM1               = 0x89\n\tDLT_JUNIPER_ATM2               = 0x87\n\tDLT_JUNIPER_ATM_CEMIC          = 0xee\n\tDLT_JUNIPER_CHDLC              = 0xb5\n\tDLT_JUNIPER_ES                 = 0x84\n\tDLT_JUNIPER_ETHER              = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL       = 0xea\n\tDLT_JUNIPER_FRELAY             = 0xb4\n\tDLT_JUNIPER_GGSN               = 0x85\n\tDLT_JUNIPER_ISM                = 0xc2\n\tDLT_JUNIPER_MFR                = 0x86\n\tDLT_JUNIPER_MLFR               = 0x83\n\tDLT_JUNIPER_MLPPP              = 0x82\n\tDLT_JUNIPER_MONITOR            = 0xa4\n\tDLT_JUNIPER_PIC_PEER           = 0xae\n\tDLT_JUNIPER_PPP                = 0xb3\n\tDLT_JUNIPER_PPPOE              = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM          = 0xa8\n\tDLT_JUNIPER_SERVICES           = 0x88\n\tDLT_JUNIPER_SRX_E2E            = 0xe9\n\tDLT_JUNIPER_ST                 = 0xc8\n\tDLT_JUNIPER_VP                 = 0xb7\n\tDLT_JUNIPER_VS                 = 0xe8\n\tDLT_LAPB_WITH_DIR              = 0xcf\n\tDLT_LAPD                       = 0xcb\n\tDLT_LIN                        = 0xd4\n\tDLT_LINUX_EVDEV                = 0xd8\n\tDLT_LINUX_IRDA                 = 0x90\n\tDLT_LINUX_LAPD                 = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION    = 0xa6\n\tDLT_LINUX_SLL                  = 0x71\n\tDLT_LOOP                       = 0x6c\n\tDLT_LTALK                      = 0x72\n\tDLT_MATCHING_MAX               = 0x104\n\tDLT_MATCHING_MIN               = 0x68\n\tDLT_MFR                        = 0xb6\n\tDLT_MOST                       = 0xd3\n\tDLT_MPEG_2_TS                  = 0xf3\n\tDLT_MPLS                       = 0xdb\n\tDLT_MTP2                       = 0x8c\n\tDLT_MTP2_WITH_PHDR             = 0x8b\n\tDLT_MTP3                       = 0x8d\n\tDLT_MUX27010                   = 0xec\n\tDLT_NETANALYZER                = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT    = 0xf1\n\tDLT_NETLINK                    = 0xfd\n\tDLT_NFC_LLCP                   = 0xf5\n\tDLT_NFLOG                      = 0xef\n\tDLT_NG40                       = 0xf4\n\tDLT_NULL                       = 0x0\n\tDLT_PCI_EXP                    = 0x7d\n\tDLT_PFLOG                      = 0x75\n\tDLT_PFSYNC                     = 0x79\n\tDLT_PKTAP                      = 0x102\n\tDLT_PPI                        = 0xc0\n\tDLT_PPP                        = 0x9\n\tDLT_PPP_BSDOS                  = 0x10\n\tDLT_PPP_ETHER                  = 0x33\n\tDLT_PPP_PPPD                   = 0xa6\n\tDLT_PPP_SERIAL                 = 0x32\n\tDLT_PPP_WITH_DIR               = 0xcc\n\tDLT_PPP_WITH_DIRECTION         = 0xa6\n\tDLT_PRISM_HEADER               = 0x77\n\tDLT_PROFIBUS_DL                = 0x101\n\tDLT_PRONET                     = 0x4\n\tDLT_RAIF1                      = 0xc6\n\tDLT_RAW                        = 0xc\n\tDLT_RIO                        = 0x7c\n\tDLT_RTAC_SERIAL                = 0xfa\n\tDLT_SCCP                       = 0x8e\n\tDLT_SCTP                       = 0xf8\n\tDLT_SITA                       = 0xc4\n\tDLT_SLIP                       = 0x8\n\tDLT_SLIP_BSDOS                 = 0xf\n\tDLT_STANAG_5066_D_PDU          = 0xed\n\tDLT_SUNATM                     = 0x7b\n\tDLT_SYMANTEC_FIREWALL          = 0x63\n\tDLT_TZSP                       = 0x80\n\tDLT_USB                        = 0xba\n\tDLT_USBPCAP                    = 0xf9\n\tDLT_USB_LINUX                  = 0xbd\n\tDLT_USB_LINUX_MMAPPED          = 0xdc\n\tDLT_USER0                      = 0x93\n\tDLT_USER1                      = 0x94\n\tDLT_USER10                     = 0x9d\n\tDLT_USER11                     = 0x9e\n\tDLT_USER12                     = 0x9f\n\tDLT_USER13                     = 0xa0\n\tDLT_USER14                     = 0xa1\n\tDLT_USER15                     = 0xa2\n\tDLT_USER2                      = 0x95\n\tDLT_USER3                      = 0x96\n\tDLT_USER4                      = 0x97\n\tDLT_USER5                      = 0x98\n\tDLT_USER6                      = 0x99\n\tDLT_USER7                      = 0x9a\n\tDLT_USER8                      = 0x9b\n\tDLT_USER9                      = 0x9c\n\tDLT_WIHART                     = 0xdf\n\tDLT_WIRESHARK_UPPER_PDU        = 0xfc\n\tDLT_X2E_SERIAL                 = 0xd5\n\tDLT_X2E_XORAYA                 = 0xd6\n\tDT_BLK                         = 0x6\n\tDT_CHR                         = 0x2\n\tDT_DIR                         = 0x4\n\tDT_FIFO                        = 0x1\n\tDT_LNK                         = 0xa\n\tDT_REG                         = 0x8\n\tDT_SOCK                        = 0xc\n\tDT_UNKNOWN                     = 0x0\n\tDT_WHT                         = 0xe\n\tECHO                           = 0x8\n\tECHOCTL                        = 0x40\n\tECHOE                          = 0x2\n\tECHOK                          = 0x4\n\tECHOKE                         = 0x1\n\tECHONL                         = 0x10\n\tECHOPRT                        = 0x20\n\tEVFILT_AIO                     = -0x3\n\tEVFILT_FS                      = -0x9\n\tEVFILT_LIO                     = -0xa\n\tEVFILT_PROC                    = -0x5\n\tEVFILT_PROCDESC                = -0x8\n\tEVFILT_READ                    = -0x1\n\tEVFILT_SENDFILE                = -0xc\n\tEVFILT_SIGNAL                  = -0x6\n\tEVFILT_SYSCOUNT                = 0xc\n\tEVFILT_TIMER                   = -0x7\n\tEVFILT_USER                    = -0xb\n\tEVFILT_VNODE                   = -0x4\n\tEVFILT_WRITE                   = -0x2\n\tEV_ADD                         = 0x1\n\tEV_CLEAR                       = 0x20\n\tEV_DELETE                      = 0x2\n\tEV_DISABLE                     = 0x8\n\tEV_DISPATCH                    = 0x80\n\tEV_DROP                        = 0x1000\n\tEV_ENABLE                      = 0x4\n\tEV_EOF                         = 0x8000\n\tEV_ERROR                       = 0x4000\n\tEV_FLAG1                       = 0x2000\n\tEV_FLAG2                       = 0x4000\n\tEV_FORCEONESHOT                = 0x100\n\tEV_ONESHOT                     = 0x10\n\tEV_RECEIPT                     = 0x40\n\tEV_SYSFLAGS                    = 0xf000\n\tEXTA                           = 0x4b00\n\tEXTATTR_NAMESPACE_EMPTY        = 0x0\n\tEXTATTR_NAMESPACE_SYSTEM       = 0x2\n\tEXTATTR_NAMESPACE_USER         = 0x1\n\tEXTB                           = 0x9600\n\tEXTPROC                        = 0x800\n\tFD_CLOEXEC                     = 0x1\n\tFD_SETSIZE                     = 0x400\n\tFLUSHO                         = 0x800000\n\tF_CANCEL                       = 0x5\n\tF_DUP2FD                       = 0xa\n\tF_DUP2FD_CLOEXEC               = 0x12\n\tF_DUPFD                        = 0x0\n\tF_DUPFD_CLOEXEC                = 0x11\n\tF_GETFD                        = 0x1\n\tF_GETFL                        = 0x3\n\tF_GETLK                        = 0xb\n\tF_GETOWN                       = 0x5\n\tF_OGETLK                       = 0x7\n\tF_OK                           = 0x0\n\tF_OSETLK                       = 0x8\n\tF_OSETLKW                      = 0x9\n\tF_RDAHEAD                      = 0x10\n\tF_RDLCK                        = 0x1\n\tF_READAHEAD                    = 0xf\n\tF_SETFD                        = 0x2\n\tF_SETFL                        = 0x4\n\tF_SETLK                        = 0xc\n\tF_SETLKW                       = 0xd\n\tF_SETLK_REMOTE                 = 0xe\n\tF_SETOWN                       = 0x6\n\tF_UNLCK                        = 0x2\n\tF_UNLCKSYS                     = 0x4\n\tF_WRLCK                        = 0x3\n\tHUPCL                          = 0x4000\n\tHW_MACHINE                     = 0x1\n\tICANON                         = 0x100\n\tICMP6_FILTER                   = 0x12\n\tICRNL                          = 0x100\n\tIEXTEN                         = 0x400\n\tIFAN_ARRIVAL                   = 0x0\n\tIFAN_DEPARTURE                 = 0x1\n\tIFF_ALLMULTI                   = 0x200\n\tIFF_ALTPHYS                    = 0x4000\n\tIFF_BROADCAST                  = 0x2\n\tIFF_CANTCHANGE                 = 0x218f52\n\tIFF_CANTCONFIG                 = 0x10000\n\tIFF_DEBUG                      = 0x4\n\tIFF_DRV_OACTIVE                = 0x400\n\tIFF_DRV_RUNNING                = 0x40\n\tIFF_DYING                      = 0x200000\n\tIFF_LINK0                      = 0x1000\n\tIFF_LINK1                      = 0x2000\n\tIFF_LINK2                      = 0x4000\n\tIFF_LOOPBACK                   = 0x8\n\tIFF_MONITOR                    = 0x40000\n\tIFF_MULTICAST                  = 0x8000\n\tIFF_NOARP                      = 0x80\n\tIFF_OACTIVE                    = 0x400\n\tIFF_POINTOPOINT                = 0x10\n\tIFF_PPROMISC                   = 0x20000\n\tIFF_PROMISC                    = 0x100\n\tIFF_RENAMING                   = 0x400000\n\tIFF_RUNNING                    = 0x40\n\tIFF_SIMPLEX                    = 0x800\n\tIFF_STATICARP                  = 0x80000\n\tIFF_UP                         = 0x1\n\tIFNAMSIZ                       = 0x10\n\tIFT_BRIDGE                     = 0xd1\n\tIFT_CARP                       = 0xf8\n\tIFT_IEEE1394                   = 0x90\n\tIFT_INFINIBAND                 = 0xc7\n\tIFT_L2VLAN                     = 0x87\n\tIFT_L3IPVLAN                   = 0x88\n\tIFT_PPP                        = 0x17\n\tIFT_PROPVIRTUAL                = 0x35\n\tIGNBRK                         = 0x1\n\tIGNCR                          = 0x80\n\tIGNPAR                         = 0x4\n\tIMAXBEL                        = 0x2000\n\tINLCR                          = 0x40\n\tINPCK                          = 0x10\n\tIN_CLASSA_HOST                 = 0xffffff\n\tIN_CLASSA_MAX                  = 0x80\n\tIN_CLASSA_NET                  = 0xff000000\n\tIN_CLASSA_NSHIFT               = 0x18\n\tIN_CLASSB_HOST                 = 0xffff\n\tIN_CLASSB_MAX                  = 0x10000\n\tIN_CLASSB_NET                  = 0xffff0000\n\tIN_CLASSB_NSHIFT               = 0x10\n\tIN_CLASSC_HOST                 = 0xff\n\tIN_CLASSC_NET                  = 0xffffff00\n\tIN_CLASSC_NSHIFT               = 0x8\n\tIN_CLASSD_HOST                 = 0xfffffff\n\tIN_CLASSD_NET                  = 0xf0000000\n\tIN_CLASSD_NSHIFT               = 0x1c\n\tIN_LOOPBACKNET                 = 0x7f\n\tIN_RFC3021_MASK                = 0xfffffffe\n\tIPPROTO_3PC                    = 0x22\n\tIPPROTO_ADFS                   = 0x44\n\tIPPROTO_AH                     = 0x33\n\tIPPROTO_AHIP                   = 0x3d\n\tIPPROTO_APES                   = 0x63\n\tIPPROTO_ARGUS                  = 0xd\n\tIPPROTO_AX25                   = 0x5d\n\tIPPROTO_BHA                    = 0x31\n\tIPPROTO_BLT                    = 0x1e\n\tIPPROTO_BRSATMON               = 0x4c\n\tIPPROTO_CARP                   = 0x70\n\tIPPROTO_CFTP                   = 0x3e\n\tIPPROTO_CHAOS                  = 0x10\n\tIPPROTO_CMTP                   = 0x26\n\tIPPROTO_CPHB                   = 0x49\n\tIPPROTO_CPNX                   = 0x48\n\tIPPROTO_DDP                    = 0x25\n\tIPPROTO_DGP                    = 0x56\n\tIPPROTO_DIVERT                 = 0x102\n\tIPPROTO_DONE                   = 0x101\n\tIPPROTO_DSTOPTS                = 0x3c\n\tIPPROTO_EGP                    = 0x8\n\tIPPROTO_EMCON                  = 0xe\n\tIPPROTO_ENCAP                  = 0x62\n\tIPPROTO_EON                    = 0x50\n\tIPPROTO_ESP                    = 0x32\n\tIPPROTO_ETHERIP                = 0x61\n\tIPPROTO_FRAGMENT               = 0x2c\n\tIPPROTO_GGP                    = 0x3\n\tIPPROTO_GMTP                   = 0x64\n\tIPPROTO_GRE                    = 0x2f\n\tIPPROTO_HELLO                  = 0x3f\n\tIPPROTO_HIP                    = 0x8b\n\tIPPROTO_HMP                    = 0x14\n\tIPPROTO_HOPOPTS                = 0x0\n\tIPPROTO_ICMP                   = 0x1\n\tIPPROTO_ICMPV6                 = 0x3a\n\tIPPROTO_IDP                    = 0x16\n\tIPPROTO_IDPR                   = 0x23\n\tIPPROTO_IDRP                   = 0x2d\n\tIPPROTO_IGMP                   = 0x2\n\tIPPROTO_IGP                    = 0x55\n\tIPPROTO_IGRP                   = 0x58\n\tIPPROTO_IL                     = 0x28\n\tIPPROTO_INLSP                  = 0x34\n\tIPPROTO_INP                    = 0x20\n\tIPPROTO_IP                     = 0x0\n\tIPPROTO_IPCOMP                 = 0x6c\n\tIPPROTO_IPCV                   = 0x47\n\tIPPROTO_IPEIP                  = 0x5e\n\tIPPROTO_IPIP                   = 0x4\n\tIPPROTO_IPPC                   = 0x43\n\tIPPROTO_IPV4                   = 0x4\n\tIPPROTO_IPV6                   = 0x29\n\tIPPROTO_IRTP                   = 0x1c\n\tIPPROTO_KRYPTOLAN              = 0x41\n\tIPPROTO_LARP                   = 0x5b\n\tIPPROTO_LEAF1                  = 0x19\n\tIPPROTO_LEAF2                  = 0x1a\n\tIPPROTO_MAX                    = 0x100\n\tIPPROTO_MEAS                   = 0x13\n\tIPPROTO_MH                     = 0x87\n\tIPPROTO_MHRP                   = 0x30\n\tIPPROTO_MICP                   = 0x5f\n\tIPPROTO_MOBILE                 = 0x37\n\tIPPROTO_MPLS                   = 0x89\n\tIPPROTO_MTP                    = 0x5c\n\tIPPROTO_MUX                    = 0x12\n\tIPPROTO_ND                     = 0x4d\n\tIPPROTO_NHRP                   = 0x36\n\tIPPROTO_NONE                   = 0x3b\n\tIPPROTO_NSP                    = 0x1f\n\tIPPROTO_NVPII                  = 0xb\n\tIPPROTO_OLD_DIVERT             = 0xfe\n\tIPPROTO_OSPFIGP                = 0x59\n\tIPPROTO_PFSYNC                 = 0xf0\n\tIPPROTO_PGM                    = 0x71\n\tIPPROTO_PIGP                   = 0x9\n\tIPPROTO_PIM                    = 0x67\n\tIPPROTO_PRM                    = 0x15\n\tIPPROTO_PUP                    = 0xc\n\tIPPROTO_PVP                    = 0x4b\n\tIPPROTO_RAW                    = 0xff\n\tIPPROTO_RCCMON                 = 0xa\n\tIPPROTO_RDP                    = 0x1b\n\tIPPROTO_RESERVED_253           = 0xfd\n\tIPPROTO_RESERVED_254           = 0xfe\n\tIPPROTO_ROUTING                = 0x2b\n\tIPPROTO_RSVP                   = 0x2e\n\tIPPROTO_RVD                    = 0x42\n\tIPPROTO_SATEXPAK               = 0x40\n\tIPPROTO_SATMON                 = 0x45\n\tIPPROTO_SCCSP                  = 0x60\n\tIPPROTO_SCTP                   = 0x84\n\tIPPROTO_SDRP                   = 0x2a\n\tIPPROTO_SEND                   = 0x103\n\tIPPROTO_SEP                    = 0x21\n\tIPPROTO_SHIM6                  = 0x8c\n\tIPPROTO_SKIP                   = 0x39\n\tIPPROTO_SPACER                 = 0x7fff\n\tIPPROTO_SRPC                   = 0x5a\n\tIPPROTO_ST                     = 0x7\n\tIPPROTO_SVMTP                  = 0x52\n\tIPPROTO_SWIPE                  = 0x35\n\tIPPROTO_TCF                    = 0x57\n\tIPPROTO_TCP                    = 0x6\n\tIPPROTO_TLSP                   = 0x38\n\tIPPROTO_TP                     = 0x1d\n\tIPPROTO_TPXX                   = 0x27\n\tIPPROTO_TRUNK1                 = 0x17\n\tIPPROTO_TRUNK2                 = 0x18\n\tIPPROTO_TTP                    = 0x54\n\tIPPROTO_UDP                    = 0x11\n\tIPPROTO_UDPLITE                = 0x88\n\tIPPROTO_VINES                  = 0x53\n\tIPPROTO_VISA                   = 0x46\n\tIPPROTO_VMTP                   = 0x51\n\tIPPROTO_WBEXPAK                = 0x4f\n\tIPPROTO_WBMON                  = 0x4e\n\tIPPROTO_WSN                    = 0x4a\n\tIPPROTO_XNET                   = 0xf\n\tIPPROTO_XTP                    = 0x24\n\tIPV6_AUTOFLOWLABEL             = 0x3b\n\tIPV6_BINDANY                   = 0x40\n\tIPV6_BINDMULTI                 = 0x41\n\tIPV6_BINDV6ONLY                = 0x1b\n\tIPV6_CHECKSUM                  = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS    = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP    = 0x1\n\tIPV6_DEFHLIM                   = 0x40\n\tIPV6_DONTFRAG                  = 0x3e\n\tIPV6_DSTOPTS                   = 0x32\n\tIPV6_FLOWID                    = 0x43\n\tIPV6_FLOWINFO_MASK             = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK            = 0xffff0f00\n\tIPV6_FLOWTYPE                  = 0x44\n\tIPV6_FRAGTTL                   = 0x78\n\tIPV6_FW_ADD                    = 0x1e\n\tIPV6_FW_DEL                    = 0x1f\n\tIPV6_FW_FLUSH                  = 0x20\n\tIPV6_FW_GET                    = 0x22\n\tIPV6_FW_ZERO                   = 0x21\n\tIPV6_HLIMDEC                   = 0x1\n\tIPV6_HOPLIMIT                  = 0x2f\n\tIPV6_HOPOPTS                   = 0x31\n\tIPV6_IPSEC_POLICY              = 0x1c\n\tIPV6_JOIN_GROUP                = 0xc\n\tIPV6_LEAVE_GROUP               = 0xd\n\tIPV6_MAXHLIM                   = 0xff\n\tIPV6_MAXOPTHDR                 = 0x800\n\tIPV6_MAXPACKET                 = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER      = 0x200\n\tIPV6_MAX_MEMBERSHIPS           = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER       = 0x80\n\tIPV6_MIN_MEMBERSHIPS           = 0x1f\n\tIPV6_MMTU                      = 0x500\n\tIPV6_MSFILTER                  = 0x4a\n\tIPV6_MULTICAST_HOPS            = 0xa\n\tIPV6_MULTICAST_IF              = 0x9\n\tIPV6_MULTICAST_LOOP            = 0xb\n\tIPV6_NEXTHOP                   = 0x30\n\tIPV6_PATHMTU                   = 0x2c\n\tIPV6_PKTINFO                   = 0x2e\n\tIPV6_PORTRANGE                 = 0xe\n\tIPV6_PORTRANGE_DEFAULT         = 0x0\n\tIPV6_PORTRANGE_HIGH            = 0x1\n\tIPV6_PORTRANGE_LOW             = 0x2\n\tIPV6_PREFER_TEMPADDR           = 0x3f\n\tIPV6_RECVDSTOPTS               = 0x28\n\tIPV6_RECVFLOWID                = 0x46\n\tIPV6_RECVHOPLIMIT              = 0x25\n\tIPV6_RECVHOPOPTS               = 0x27\n\tIPV6_RECVPATHMTU               = 0x2b\n\tIPV6_RECVPKTINFO               = 0x24\n\tIPV6_RECVRSSBUCKETID           = 0x47\n\tIPV6_RECVRTHDR                 = 0x26\n\tIPV6_RECVTCLASS                = 0x39\n\tIPV6_RSSBUCKETID               = 0x45\n\tIPV6_RSS_LISTEN_BUCKET         = 0x42\n\tIPV6_RTHDR                     = 0x33\n\tIPV6_RTHDRDSTOPTS              = 0x23\n\tIPV6_RTHDR_LOOSE               = 0x0\n\tIPV6_RTHDR_STRICT              = 0x1\n\tIPV6_RTHDR_TYPE_0              = 0x0\n\tIPV6_SOCKOPT_RESERVED1         = 0x3\n\tIPV6_TCLASS                    = 0x3d\n\tIPV6_UNICAST_HOPS              = 0x4\n\tIPV6_USE_MIN_MTU               = 0x2a\n\tIPV6_V6ONLY                    = 0x1b\n\tIPV6_VERSION                   = 0x60\n\tIPV6_VERSION_MASK              = 0xf0\n\tIP_ADD_MEMBERSHIP              = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP       = 0x46\n\tIP_BINDANY                     = 0x18\n\tIP_BINDMULTI                   = 0x19\n\tIP_BLOCK_SOURCE                = 0x48\n\tIP_DEFAULT_MULTICAST_LOOP      = 0x1\n\tIP_DEFAULT_MULTICAST_TTL       = 0x1\n\tIP_DF                          = 0x4000\n\tIP_DONTFRAG                    = 0x43\n\tIP_DROP_MEMBERSHIP             = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP      = 0x47\n\tIP_DUMMYNET3                   = 0x31\n\tIP_DUMMYNET_CONFIGURE          = 0x3c\n\tIP_DUMMYNET_DEL                = 0x3d\n\tIP_DUMMYNET_FLUSH              = 0x3e\n\tIP_DUMMYNET_GET                = 0x40\n\tIP_FLOWID                      = 0x5a\n\tIP_FLOWTYPE                    = 0x5b\n\tIP_FW3                         = 0x30\n\tIP_FW_ADD                      = 0x32\n\tIP_FW_DEL                      = 0x33\n\tIP_FW_FLUSH                    = 0x34\n\tIP_FW_GET                      = 0x36\n\tIP_FW_NAT_CFG                  = 0x38\n\tIP_FW_NAT_DEL                  = 0x39\n\tIP_FW_NAT_GET_CONFIG           = 0x3a\n\tIP_FW_NAT_GET_LOG              = 0x3b\n\tIP_FW_RESETLOG                 = 0x37\n\tIP_FW_TABLE_ADD                = 0x28\n\tIP_FW_TABLE_DEL                = 0x29\n\tIP_FW_TABLE_FLUSH              = 0x2a\n\tIP_FW_TABLE_GETSIZE            = 0x2b\n\tIP_FW_TABLE_LIST               = 0x2c\n\tIP_FW_ZERO                     = 0x35\n\tIP_HDRINCL                     = 0x2\n\tIP_IPSEC_POLICY                = 0x15\n\tIP_MAXPACKET                   = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER        = 0x200\n\tIP_MAX_MEMBERSHIPS             = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER        = 0x80\n\tIP_MAX_SOCK_SRC_FILTER         = 0x80\n\tIP_MAX_SOURCE_FILTER           = 0x400\n\tIP_MF                          = 0x2000\n\tIP_MINTTL                      = 0x42\n\tIP_MIN_MEMBERSHIPS             = 0x1f\n\tIP_MSFILTER                    = 0x4a\n\tIP_MSS                         = 0x240\n\tIP_MULTICAST_IF                = 0x9\n\tIP_MULTICAST_LOOP              = 0xb\n\tIP_MULTICAST_TTL               = 0xa\n\tIP_MULTICAST_VIF               = 0xe\n\tIP_OFFMASK                     = 0x1fff\n\tIP_ONESBCAST                   = 0x17\n\tIP_OPTIONS                     = 0x1\n\tIP_PORTRANGE                   = 0x13\n\tIP_PORTRANGE_DEFAULT           = 0x0\n\tIP_PORTRANGE_HIGH              = 0x1\n\tIP_PORTRANGE_LOW               = 0x2\n\tIP_RECVDSTADDR                 = 0x7\n\tIP_RECVFLOWID                  = 0x5d\n\tIP_RECVIF                      = 0x14\n\tIP_RECVOPTS                    = 0x5\n\tIP_RECVRETOPTS                 = 0x6\n\tIP_RECVRSSBUCKETID             = 0x5e\n\tIP_RECVTOS                     = 0x44\n\tIP_RECVTTL                     = 0x41\n\tIP_RETOPTS                     = 0x8\n\tIP_RF                          = 0x8000\n\tIP_RSSBUCKETID                 = 0x5c\n\tIP_RSS_LISTEN_BUCKET           = 0x1a\n\tIP_RSVP_OFF                    = 0x10\n\tIP_RSVP_ON                     = 0xf\n\tIP_RSVP_VIF_OFF                = 0x12\n\tIP_RSVP_VIF_ON                 = 0x11\n\tIP_SENDSRCADDR                 = 0x7\n\tIP_TOS                         = 0x3\n\tIP_TTL                         = 0x4\n\tIP_UNBLOCK_SOURCE              = 0x49\n\tISIG                           = 0x80\n\tISTRIP                         = 0x20\n\tIXANY                          = 0x800\n\tIXOFF                          = 0x400\n\tIXON                           = 0x200\n\tKERN_HOSTNAME                  = 0xa\n\tKERN_OSRELEASE                 = 0x2\n\tKERN_OSTYPE                    = 0x1\n\tKERN_VERSION                   = 0x4\n\tLOCK_EX                        = 0x2\n\tLOCK_NB                        = 0x4\n\tLOCK_SH                        = 0x1\n\tLOCK_UN                        = 0x8\n\tMADV_AUTOSYNC                  = 0x7\n\tMADV_CORE                      = 0x9\n\tMADV_DONTNEED                  = 0x4\n\tMADV_FREE                      = 0x5\n\tMADV_NOCORE                    = 0x8\n\tMADV_NORMAL                    = 0x0\n\tMADV_NOSYNC                    = 0x6\n\tMADV_PROTECT                   = 0xa\n\tMADV_RANDOM                    = 0x1\n\tMADV_SEQUENTIAL                = 0x2\n\tMADV_WILLNEED                  = 0x3\n\tMAP_32BIT                      = 0x80000\n\tMAP_ALIGNED_SUPER              = 0x1000000\n\tMAP_ALIGNMENT_MASK             = -0x1000000\n\tMAP_ALIGNMENT_SHIFT            = 0x18\n\tMAP_ANON                       = 0x1000\n\tMAP_ANONYMOUS                  = 0x1000\n\tMAP_COPY                       = 0x2\n\tMAP_EXCL                       = 0x4000\n\tMAP_FILE                       = 0x0\n\tMAP_FIXED                      = 0x10\n\tMAP_HASSEMAPHORE               = 0x200\n\tMAP_NOCORE                     = 0x20000\n\tMAP_NOSYNC                     = 0x800\n\tMAP_PREFAULT_READ              = 0x40000\n\tMAP_PRIVATE                    = 0x2\n\tMAP_RESERVED0020               = 0x20\n\tMAP_RESERVED0040               = 0x40\n\tMAP_RESERVED0080               = 0x80\n\tMAP_RESERVED0100               = 0x100\n\tMAP_SHARED                     = 0x1\n\tMAP_STACK                      = 0x400\n\tMCL_CURRENT                    = 0x1\n\tMCL_FUTURE                     = 0x2\n\tMNT_ACLS                       = 0x8000000\n\tMNT_ASYNC                      = 0x40\n\tMNT_AUTOMOUNTED                = 0x200000000\n\tMNT_BYFSID                     = 0x8000000\n\tMNT_CMDFLAGS                   = 0xd0f0000\n\tMNT_DEFEXPORTED                = 0x200\n\tMNT_DELEXPORT                  = 0x20000\n\tMNT_EXKERB                     = 0x800\n\tMNT_EXPORTANON                 = 0x400\n\tMNT_EXPORTED                   = 0x100\n\tMNT_EXPUBLIC                   = 0x20000000\n\tMNT_EXRDONLY                   = 0x80\n\tMNT_FORCE                      = 0x80000\n\tMNT_GJOURNAL                   = 0x2000000\n\tMNT_IGNORE                     = 0x800000\n\tMNT_LAZY                       = 0x3\n\tMNT_LOCAL                      = 0x1000\n\tMNT_MULTILABEL                 = 0x4000000\n\tMNT_NFS4ACLS                   = 0x10\n\tMNT_NOATIME                    = 0x10000000\n\tMNT_NOCLUSTERR                 = 0x40000000\n\tMNT_NOCLUSTERW                 = 0x80000000\n\tMNT_NOEXEC                     = 0x4\n\tMNT_NONBUSY                    = 0x4000000\n\tMNT_NOSUID                     = 0x8\n\tMNT_NOSYMFOLLOW                = 0x400000\n\tMNT_NOWAIT                     = 0x2\n\tMNT_QUOTA                      = 0x2000\n\tMNT_RDONLY                     = 0x1\n\tMNT_RELOAD                     = 0x40000\n\tMNT_ROOTFS                     = 0x4000\n\tMNT_SNAPSHOT                   = 0x1000000\n\tMNT_SOFTDEP                    = 0x200000\n\tMNT_SUIDDIR                    = 0x100000\n\tMNT_SUJ                        = 0x100000000\n\tMNT_SUSPEND                    = 0x4\n\tMNT_SYNCHRONOUS                = 0x2\n\tMNT_UNION                      = 0x20\n\tMNT_UPDATE                     = 0x10000\n\tMNT_UPDATEMASK                 = 0x2d8d0807e\n\tMNT_USER                       = 0x8000\n\tMNT_VISFLAGMASK                = 0x3fef0ffff\n\tMNT_WAIT                       = 0x1\n\tMSG_CMSG_CLOEXEC               = 0x40000\n\tMSG_COMPAT                     = 0x8000\n\tMSG_CTRUNC                     = 0x20\n\tMSG_DONTROUTE                  = 0x4\n\tMSG_DONTWAIT                   = 0x80\n\tMSG_EOF                        = 0x100\n\tMSG_EOR                        = 0x8\n\tMSG_NBIO                       = 0x4000\n\tMSG_NOSIGNAL                   = 0x20000\n\tMSG_NOTIFICATION               = 0x2000\n\tMSG_OOB                        = 0x1\n\tMSG_PEEK                       = 0x2\n\tMSG_TRUNC                      = 0x10\n\tMSG_WAITALL                    = 0x40\n\tMSG_WAITFORONE                 = 0x80000\n\tMS_ASYNC                       = 0x1\n\tMS_INVALIDATE                  = 0x2\n\tMS_SYNC                        = 0x0\n\tNAME_MAX                       = 0xff\n\tNET_RT_DUMP                    = 0x1\n\tNET_RT_FLAGS                   = 0x2\n\tNET_RT_IFLIST                  = 0x3\n\tNET_RT_IFLISTL                 = 0x5\n\tNET_RT_IFMALIST                = 0x4\n\tNOFLSH                         = 0x80000000\n\tNOKERNINFO                     = 0x2000000\n\tNOTE_ATTRIB                    = 0x8\n\tNOTE_CHILD                     = 0x4\n\tNOTE_CLOSE                     = 0x100\n\tNOTE_CLOSE_WRITE               = 0x200\n\tNOTE_DELETE                    = 0x1\n\tNOTE_EXEC                      = 0x20000000\n\tNOTE_EXIT                      = 0x80000000\n\tNOTE_EXTEND                    = 0x4\n\tNOTE_FFAND                     = 0x40000000\n\tNOTE_FFCOPY                    = 0xc0000000\n\tNOTE_FFCTRLMASK                = 0xc0000000\n\tNOTE_FFLAGSMASK                = 0xffffff\n\tNOTE_FFNOP                     = 0x0\n\tNOTE_FFOR                      = 0x80000000\n\tNOTE_FILE_POLL                 = 0x2\n\tNOTE_FORK                      = 0x40000000\n\tNOTE_LINK                      = 0x10\n\tNOTE_LOWAT                     = 0x1\n\tNOTE_MSECONDS                  = 0x2\n\tNOTE_NSECONDS                  = 0x8\n\tNOTE_OPEN                      = 0x80\n\tNOTE_PCTRLMASK                 = 0xf0000000\n\tNOTE_PDATAMASK                 = 0xfffff\n\tNOTE_READ                      = 0x400\n\tNOTE_RENAME                    = 0x20\n\tNOTE_REVOKE                    = 0x40\n\tNOTE_SECONDS                   = 0x1\n\tNOTE_TRACK                     = 0x1\n\tNOTE_TRACKERR                  = 0x2\n\tNOTE_TRIGGER                   = 0x1000000\n\tNOTE_USECONDS                  = 0x4\n\tNOTE_WRITE                     = 0x2\n\tOCRNL                          = 0x10\n\tONLCR                          = 0x2\n\tONLRET                         = 0x40\n\tONOCR                          = 0x20\n\tONOEOT                         = 0x8\n\tOPOST                          = 0x1\n\tOXTABS                         = 0x4\n\tO_ACCMODE                      = 0x3\n\tO_APPEND                       = 0x8\n\tO_ASYNC                        = 0x40\n\tO_CLOEXEC                      = 0x100000\n\tO_CREAT                        = 0x200\n\tO_DIRECT                       = 0x10000\n\tO_DIRECTORY                    = 0x20000\n\tO_EXCL                         = 0x800\n\tO_EXEC                         = 0x40000\n\tO_EXLOCK                       = 0x20\n\tO_FSYNC                        = 0x80\n\tO_NDELAY                       = 0x4\n\tO_NOCTTY                       = 0x8000\n\tO_NOFOLLOW                     = 0x100\n\tO_NONBLOCK                     = 0x4\n\tO_RDONLY                       = 0x0\n\tO_RDWR                         = 0x2\n\tO_SHLOCK                       = 0x10\n\tO_SYNC                         = 0x80\n\tO_TRUNC                        = 0x400\n\tO_TTY_INIT                     = 0x80000\n\tO_VERIFY                       = 0x200000\n\tO_WRONLY                       = 0x1\n\tPARENB                         = 0x1000\n\tPARMRK                         = 0x8\n\tPARODD                         = 0x2000\n\tPENDIN                         = 0x20000000\n\tPRIO_PGRP                      = 0x1\n\tPRIO_PROCESS                   = 0x0\n\tPRIO_USER                      = 0x2\n\tPROT_EXEC                      = 0x4\n\tPROT_NONE                      = 0x0\n\tPROT_READ                      = 0x1\n\tPROT_WRITE                     = 0x2\n\tRLIMIT_AS                      = 0xa\n\tRLIMIT_CORE                    = 0x4\n\tRLIMIT_CPU                     = 0x0\n\tRLIMIT_DATA                    = 0x2\n\tRLIMIT_FSIZE                   = 0x1\n\tRLIMIT_MEMLOCK                 = 0x6\n\tRLIMIT_NOFILE                  = 0x8\n\tRLIMIT_NPROC                   = 0x7\n\tRLIMIT_RSS                     = 0x5\n\tRLIMIT_STACK                   = 0x3\n\tRLIM_INFINITY                  = 0x7fffffffffffffff\n\tRTAX_AUTHOR                    = 0x6\n\tRTAX_BRD                       = 0x7\n\tRTAX_DST                       = 0x0\n\tRTAX_GATEWAY                   = 0x1\n\tRTAX_GENMASK                   = 0x3\n\tRTAX_IFA                       = 0x5\n\tRTAX_IFP                       = 0x4\n\tRTAX_MAX                       = 0x8\n\tRTAX_NETMASK                   = 0x2\n\tRTA_AUTHOR                     = 0x40\n\tRTA_BRD                        = 0x80\n\tRTA_DST                        = 0x1\n\tRTA_GATEWAY                    = 0x2\n\tRTA_GENMASK                    = 0x8\n\tRTA_IFA                        = 0x20\n\tRTA_IFP                        = 0x10\n\tRTA_NETMASK                    = 0x4\n\tRTF_BLACKHOLE                  = 0x1000\n\tRTF_BROADCAST                  = 0x400000\n\tRTF_DONE                       = 0x40\n\tRTF_DYNAMIC                    = 0x10\n\tRTF_FIXEDMTU                   = 0x80000\n\tRTF_FMASK                      = 0x1004d808\n\tRTF_GATEWAY                    = 0x2\n\tRTF_GWFLAG_COMPAT              = 0x80000000\n\tRTF_HOST                       = 0x4\n\tRTF_LLDATA                     = 0x400\n\tRTF_LLINFO                     = 0x400\n\tRTF_LOCAL                      = 0x200000\n\tRTF_MODIFIED                   = 0x20\n\tRTF_MULTICAST                  = 0x800000\n\tRTF_PINNED                     = 0x100000\n\tRTF_PROTO1                     = 0x8000\n\tRTF_PROTO2                     = 0x4000\n\tRTF_PROTO3                     = 0x40000\n\tRTF_REJECT                     = 0x8\n\tRTF_RNH_LOCKED                 = 0x40000000\n\tRTF_STATIC                     = 0x800\n\tRTF_STICKY                     = 0x10000000\n\tRTF_UP                         = 0x1\n\tRTF_XRESOLVE                   = 0x200\n\tRTM_ADD                        = 0x1\n\tRTM_CHANGE                     = 0x3\n\tRTM_DELADDR                    = 0xd\n\tRTM_DELETE                     = 0x2\n\tRTM_DELMADDR                   = 0x10\n\tRTM_GET                        = 0x4\n\tRTM_IEEE80211                  = 0x12\n\tRTM_IFANNOUNCE                 = 0x11\n\tRTM_IFINFO                     = 0xe\n\tRTM_LOCK                       = 0x8\n\tRTM_LOSING                     = 0x5\n\tRTM_MISS                       = 0x7\n\tRTM_NEWADDR                    = 0xc\n\tRTM_NEWMADDR                   = 0xf\n\tRTM_REDIRECT                   = 0x6\n\tRTM_RESOLVE                    = 0xb\n\tRTM_RTTUNIT                    = 0xf4240\n\tRTM_VERSION                    = 0x5\n\tRTV_EXPIRE                     = 0x4\n\tRTV_HOPCOUNT                   = 0x2\n\tRTV_MTU                        = 0x1\n\tRTV_RPIPE                      = 0x8\n\tRTV_RTT                        = 0x40\n\tRTV_RTTVAR                     = 0x80\n\tRTV_SPIPE                      = 0x10\n\tRTV_SSTHRESH                   = 0x20\n\tRTV_WEIGHT                     = 0x100\n\tRT_ALL_FIBS                    = -0x1\n\tRT_BLACKHOLE                   = 0x40\n\tRT_CACHING_CONTEXT             = 0x1\n\tRT_DEFAULT_FIB                 = 0x0\n\tRT_HAS_GW                      = 0x80\n\tRT_HAS_HEADER                  = 0x10\n\tRT_HAS_HEADER_BIT              = 0x4\n\tRT_L2_ME                       = 0x4\n\tRT_L2_ME_BIT                   = 0x2\n\tRT_LLE_CACHE                   = 0x100\n\tRT_MAY_LOOP                    = 0x8\n\tRT_MAY_LOOP_BIT                = 0x3\n\tRT_NORTREF                     = 0x2\n\tRT_REJECT                      = 0x20\n\tRUSAGE_CHILDREN                = -0x1\n\tRUSAGE_SELF                    = 0x0\n\tRUSAGE_THREAD                  = 0x1\n\tSCM_BINTIME                    = 0x4\n\tSCM_CREDS                      = 0x3\n\tSCM_RIGHTS                     = 0x1\n\tSCM_TIMESTAMP                  = 0x2\n\tSHUT_RD                        = 0x0\n\tSHUT_RDWR                      = 0x2\n\tSHUT_WR                        = 0x1\n\tSIOCADDMULTI                   = 0x80206931\n\tSIOCAIFADDR                    = 0x8040691a\n\tSIOCAIFGROUP                   = 0x80286987\n\tSIOCATMARK                     = 0x40047307\n\tSIOCDELMULTI                   = 0x80206932\n\tSIOCDIFADDR                    = 0x80206919\n\tSIOCDIFGROUP                   = 0x80286989\n\tSIOCDIFPHYADDR                 = 0x80206949\n\tSIOCGDRVSPEC                   = 0xc028697b\n\tSIOCGETSGCNT                   = 0xc0207210\n\tSIOCGETVIFCNT                  = 0xc028720f\n\tSIOCGHIWAT                     = 0x40047301\n\tSIOCGI2C                       = 0xc020693d\n\tSIOCGIFADDR                    = 0xc0206921\n\tSIOCGIFBRDADDR                 = 0xc0206923\n\tSIOCGIFCAP                     = 0xc020691f\n\tSIOCGIFCONF                    = 0xc0106924\n\tSIOCGIFDESCR                   = 0xc020692a\n\tSIOCGIFDSTADDR                 = 0xc0206922\n\tSIOCGIFFIB                     = 0xc020695c\n\tSIOCGIFFLAGS                   = 0xc0206911\n\tSIOCGIFGENERIC                 = 0xc020693a\n\tSIOCGIFGMEMB                   = 0xc028698a\n\tSIOCGIFGROUP                   = 0xc0286988\n\tSIOCGIFINDEX                   = 0xc0206920\n\tSIOCGIFMAC                     = 0xc0206926\n\tSIOCGIFMEDIA                   = 0xc0306938\n\tSIOCGIFMETRIC                  = 0xc0206917\n\tSIOCGIFMTU                     = 0xc0206933\n\tSIOCGIFNETMASK                 = 0xc0206925\n\tSIOCGIFPDSTADDR                = 0xc0206948\n\tSIOCGIFPHYS                    = 0xc0206935\n\tSIOCGIFPSRCADDR                = 0xc0206947\n\tSIOCGIFSTATUS                  = 0xc331693b\n\tSIOCGIFXMEDIA                  = 0xc030698b\n\tSIOCGLOWAT                     = 0x40047303\n\tSIOCGPGRP                      = 0x40047309\n\tSIOCGPRIVATE_0                 = 0xc0206950\n\tSIOCGPRIVATE_1                 = 0xc0206951\n\tSIOCGTUNFIB                    = 0xc020695e\n\tSIOCIFCREATE                   = 0xc020697a\n\tSIOCIFCREATE2                  = 0xc020697c\n\tSIOCIFDESTROY                  = 0x80206979\n\tSIOCIFGCLONERS                 = 0xc0106978\n\tSIOCSDRVSPEC                   = 0x8028697b\n\tSIOCSHIWAT                     = 0x80047300\n\tSIOCSIFADDR                    = 0x8020690c\n\tSIOCSIFBRDADDR                 = 0x80206913\n\tSIOCSIFCAP                     = 0x8020691e\n\tSIOCSIFDESCR                   = 0x80206929\n\tSIOCSIFDSTADDR                 = 0x8020690e\n\tSIOCSIFFIB                     = 0x8020695d\n\tSIOCSIFFLAGS                   = 0x80206910\n\tSIOCSIFGENERIC                 = 0x80206939\n\tSIOCSIFLLADDR                  = 0x8020693c\n\tSIOCSIFMAC                     = 0x80206927\n\tSIOCSIFMEDIA                   = 0xc0206937\n\tSIOCSIFMETRIC                  = 0x80206918\n\tSIOCSIFMTU                     = 0x80206934\n\tSIOCSIFNAME                    = 0x80206928\n\tSIOCSIFNETMASK                 = 0x80206916\n\tSIOCSIFPHYADDR                 = 0x80406946\n\tSIOCSIFPHYS                    = 0x80206936\n\tSIOCSIFRVNET                   = 0xc020695b\n\tSIOCSIFVNET                    = 0xc020695a\n\tSIOCSLOWAT                     = 0x80047302\n\tSIOCSPGRP                      = 0x80047308\n\tSIOCSTUNFIB                    = 0x8020695f\n\tSOCK_CLOEXEC                   = 0x10000000\n\tSOCK_DGRAM                     = 0x2\n\tSOCK_MAXADDRLEN                = 0xff\n\tSOCK_NONBLOCK                  = 0x20000000\n\tSOCK_RAW                       = 0x3\n\tSOCK_RDM                       = 0x4\n\tSOCK_SEQPACKET                 = 0x5\n\tSOCK_STREAM                    = 0x1\n\tSOL_SOCKET                     = 0xffff\n\tSOMAXCONN                      = 0x80\n\tSO_ACCEPTCONN                  = 0x2\n\tSO_ACCEPTFILTER                = 0x1000\n\tSO_BINTIME                     = 0x2000\n\tSO_BROADCAST                   = 0x20\n\tSO_DEBUG                       = 0x1\n\tSO_DONTROUTE                   = 0x10\n\tSO_ERROR                       = 0x1007\n\tSO_KEEPALIVE                   = 0x8\n\tSO_LABEL                       = 0x1009\n\tSO_LINGER                      = 0x80\n\tSO_LISTENINCQLEN               = 0x1013\n\tSO_LISTENQLEN                  = 0x1012\n\tSO_LISTENQLIMIT                = 0x1011\n\tSO_NOSIGPIPE                   = 0x800\n\tSO_NO_DDP                      = 0x8000\n\tSO_NO_OFFLOAD                  = 0x4000\n\tSO_OOBINLINE                   = 0x100\n\tSO_PEERLABEL                   = 0x1010\n\tSO_PROTOCOL                    = 0x1016\n\tSO_PROTOTYPE                   = 0x1016\n\tSO_RCVBUF                      = 0x1002\n\tSO_RCVLOWAT                    = 0x1004\n\tSO_RCVTIMEO                    = 0x1006\n\tSO_REUSEADDR                   = 0x4\n\tSO_REUSEPORT                   = 0x200\n\tSO_SETFIB                      = 0x1014\n\tSO_SNDBUF                      = 0x1001\n\tSO_SNDLOWAT                    = 0x1003\n\tSO_SNDTIMEO                    = 0x1005\n\tSO_TIMESTAMP                   = 0x400\n\tSO_TYPE                        = 0x1008\n\tSO_USELOOPBACK                 = 0x40\n\tSO_USER_COOKIE                 = 0x1015\n\tSO_VENDOR                      = 0x80000000\n\tTAB0                           = 0x0\n\tTAB3                           = 0x4\n\tTABDLY                         = 0x4\n\tTCIFLUSH                       = 0x1\n\tTCIOFF                         = 0x3\n\tTCIOFLUSH                      = 0x3\n\tTCION                          = 0x4\n\tTCOFLUSH                       = 0x2\n\tTCOOFF                         = 0x1\n\tTCOON                          = 0x2\n\tTCP_CA_NAME_MAX                = 0x10\n\tTCP_CCALGOOPT                  = 0x41\n\tTCP_CONGESTION                 = 0x40\n\tTCP_FASTOPEN                   = 0x401\n\tTCP_FUNCTION_BLK               = 0x2000\n\tTCP_FUNCTION_NAME_LEN_MAX      = 0x20\n\tTCP_INFO                       = 0x20\n\tTCP_KEEPCNT                    = 0x400\n\tTCP_KEEPIDLE                   = 0x100\n\tTCP_KEEPINIT                   = 0x80\n\tTCP_KEEPINTVL                  = 0x200\n\tTCP_MAXBURST                   = 0x4\n\tTCP_MAXHLEN                    = 0x3c\n\tTCP_MAXOLEN                    = 0x28\n\tTCP_MAXSEG                     = 0x2\n\tTCP_MAXWIN                     = 0xffff\n\tTCP_MAX_SACK                   = 0x4\n\tTCP_MAX_WINSHIFT               = 0xe\n\tTCP_MD5SIG                     = 0x10\n\tTCP_MINMSS                     = 0xd8\n\tTCP_MSS                        = 0x218\n\tTCP_NODELAY                    = 0x1\n\tTCP_NOOPT                      = 0x8\n\tTCP_NOPUSH                     = 0x4\n\tTCP_PCAP_IN                    = 0x1000\n\tTCP_PCAP_OUT                   = 0x800\n\tTCP_VENDOR                     = 0x80000000\n\tTCSAFLUSH                      = 0x2\n\tTIOCCBRK                       = 0x2000747a\n\tTIOCCDTR                       = 0x20007478\n\tTIOCCONS                       = 0x80047462\n\tTIOCDRAIN                      = 0x2000745e\n\tTIOCEXCL                       = 0x2000740d\n\tTIOCEXT                        = 0x80047460\n\tTIOCFLUSH                      = 0x80047410\n\tTIOCGDRAINWAIT                 = 0x40047456\n\tTIOCGETA                       = 0x402c7413\n\tTIOCGETD                       = 0x4004741a\n\tTIOCGPGRP                      = 0x40047477\n\tTIOCGPTN                       = 0x4004740f\n\tTIOCGSID                       = 0x40047463\n\tTIOCGWINSZ                     = 0x40087468\n\tTIOCMBIC                       = 0x8004746b\n\tTIOCMBIS                       = 0x8004746c\n\tTIOCMGDTRWAIT                  = 0x4004745a\n\tTIOCMGET                       = 0x4004746a\n\tTIOCMSDTRWAIT                  = 0x8004745b\n\tTIOCMSET                       = 0x8004746d\n\tTIOCM_CAR                      = 0x40\n\tTIOCM_CD                       = 0x40\n\tTIOCM_CTS                      = 0x20\n\tTIOCM_DCD                      = 0x40\n\tTIOCM_DSR                      = 0x100\n\tTIOCM_DTR                      = 0x2\n\tTIOCM_LE                       = 0x1\n\tTIOCM_RI                       = 0x80\n\tTIOCM_RNG                      = 0x80\n\tTIOCM_RTS                      = 0x4\n\tTIOCM_SR                       = 0x10\n\tTIOCM_ST                       = 0x8\n\tTIOCNOTTY                      = 0x20007471\n\tTIOCNXCL                       = 0x2000740e\n\tTIOCOUTQ                       = 0x40047473\n\tTIOCPKT                        = 0x80047470\n\tTIOCPKT_DATA                   = 0x0\n\tTIOCPKT_DOSTOP                 = 0x20\n\tTIOCPKT_FLUSHREAD              = 0x1\n\tTIOCPKT_FLUSHWRITE             = 0x2\n\tTIOCPKT_IOCTL                  = 0x40\n\tTIOCPKT_NOSTOP                 = 0x10\n\tTIOCPKT_START                  = 0x8\n\tTIOCPKT_STOP                   = 0x4\n\tTIOCPTMASTER                   = 0x2000741c\n\tTIOCSBRK                       = 0x2000747b\n\tTIOCSCTTY                      = 0x20007461\n\tTIOCSDRAINWAIT                 = 0x80047457\n\tTIOCSDTR                       = 0x20007479\n\tTIOCSETA                       = 0x802c7414\n\tTIOCSETAF                      = 0x802c7416\n\tTIOCSETAW                      = 0x802c7415\n\tTIOCSETD                       = 0x8004741b\n\tTIOCSIG                        = 0x2004745f\n\tTIOCSPGRP                      = 0x80047476\n\tTIOCSTART                      = 0x2000746e\n\tTIOCSTAT                       = 0x20007465\n\tTIOCSTI                        = 0x80017472\n\tTIOCSTOP                       = 0x2000746f\n\tTIOCSWINSZ                     = 0x80087467\n\tTIOCTIMESTAMP                  = 0x40107459\n\tTIOCUCNTL                      = 0x80047466\n\tTOSTOP                         = 0x400000\n\tVDISCARD                       = 0xf\n\tVDSUSP                         = 0xb\n\tVEOF                           = 0x0\n\tVEOL                           = 0x1\n\tVEOL2                          = 0x2\n\tVERASE                         = 0x3\n\tVERASE2                        = 0x7\n\tVINTR                          = 0x8\n\tVKILL                          = 0x5\n\tVLNEXT                         = 0xe\n\tVMIN                           = 0x10\n\tVQUIT                          = 0x9\n\tVREPRINT                       = 0x6\n\tVSTART                         = 0xc\n\tVSTATUS                        = 0x12\n\tVSTOP                          = 0xd\n\tVSUSP                          = 0xa\n\tVTIME                          = 0x11\n\tVWERASE                        = 0x4\n\tWCONTINUED                     = 0x4\n\tWCOREFLAG                      = 0x80\n\tWEXITED                        = 0x10\n\tWLINUXCLONE                    = 0x80000000\n\tWNOHANG                        = 0x1\n\tWNOWAIT                        = 0x8\n\tWSTOPPED                       = 0x2\n\tWTRAPPED                       = 0x20\n\tWUNTRACED                      = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x59)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x55)\n\tECAPMODE        = syscall.Errno(0x5e)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOOFUS         = syscall.Errno(0x58)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x56)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x60)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5a)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x57)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCAPABLE     = syscall.Errno(0x5d)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x5f)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x60)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x5c)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGLIBRT  = syscall.Signal(0x21)\n\tSIGLWP    = syscall.Signal(0x20)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTHR    = syscall.Signal(0x20)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:  \"operation not permitted\",\n\t2:  \"no such file or directory\",\n\t3:  \"no such process\",\n\t4:  \"interrupted system call\",\n\t5:  \"input/output error\",\n\t6:  \"device not configured\",\n\t7:  \"argument list too long\",\n\t8:  \"exec format error\",\n\t9:  \"bad file descriptor\",\n\t10: \"no child processes\",\n\t11: \"resource deadlock avoided\",\n\t12: \"cannot allocate memory\",\n\t13: \"permission denied\",\n\t14: \"bad address\",\n\t15: \"block device required\",\n\t16: \"device busy\",\n\t17: \"file exists\",\n\t18: \"cross-device link\",\n\t19: \"operation not supported by device\",\n\t20: \"not a directory\",\n\t21: \"is a directory\",\n\t22: \"invalid argument\",\n\t23: \"too many open files in system\",\n\t24: \"too many open files\",\n\t25: \"inappropriate ioctl for device\",\n\t26: \"text file busy\",\n\t27: \"file too large\",\n\t28: \"no space left on device\",\n\t29: \"illegal seek\",\n\t30: \"read-only file system\",\n\t31: \"too many links\",\n\t32: \"broken pipe\",\n\t33: \"numerical argument out of domain\",\n\t34: \"result too large\",\n\t35: \"resource temporarily unavailable\",\n\t36: \"operation now in progress\",\n\t37: \"operation already in progress\",\n\t38: \"socket operation on non-socket\",\n\t39: \"destination address required\",\n\t40: \"message too long\",\n\t41: \"protocol wrong type for socket\",\n\t42: \"protocol not available\",\n\t43: \"protocol not supported\",\n\t44: \"socket type not supported\",\n\t45: \"operation not supported\",\n\t46: \"protocol family not supported\",\n\t47: \"address family not supported by protocol family\",\n\t48: \"address already in use\",\n\t49: \"can't assign requested address\",\n\t50: \"network is down\",\n\t51: \"network is unreachable\",\n\t52: \"network dropped connection on reset\",\n\t53: \"software caused connection abort\",\n\t54: \"connection reset by peer\",\n\t55: \"no buffer space available\",\n\t56: \"socket is already connected\",\n\t57: \"socket is not connected\",\n\t58: \"can't send after socket shutdown\",\n\t59: \"too many references: can't splice\",\n\t60: \"operation timed out\",\n\t61: \"connection refused\",\n\t62: \"too many levels of symbolic links\",\n\t63: \"file name too long\",\n\t64: \"host is down\",\n\t65: \"no route to host\",\n\t66: \"directory not empty\",\n\t67: \"too many processes\",\n\t68: \"too many users\",\n\t69: \"disc quota exceeded\",\n\t70: \"stale NFS file handle\",\n\t71: \"too many levels of remote in path\",\n\t72: \"RPC struct is bad\",\n\t73: \"RPC version wrong\",\n\t74: \"RPC prog. not avail\",\n\t75: \"program version wrong\",\n\t76: \"bad procedure for program\",\n\t77: \"no locks available\",\n\t78: \"function not implemented\",\n\t79: \"inappropriate file type or format\",\n\t80: \"authentication error\",\n\t81: \"need authenticator\",\n\t82: \"identifier removed\",\n\t83: \"no message of desired type\",\n\t84: \"value too large to be stored in data type\",\n\t85: \"operation canceled\",\n\t86: \"illegal byte sequence\",\n\t87: \"attribute not found\",\n\t88: \"programming error\",\n\t89: \"bad message\",\n\t90: \"multihop attempted\",\n\t91: \"link has been severed\",\n\t92: \"protocol error\",\n\t93: \"capabilities insufficient\",\n\t94: \"not permitted in capability mode\",\n\t95: \"state not recoverable\",\n\t96: \"previous owner died\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"suspended (signal)\",\n\t18: \"suspended\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n\t32: \"unknown signal\",\n\t33: \"unknown signal\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go",
    "content": "// mkerrors.sh\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,freebsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                   = 0x10\n\tAF_ARP                         = 0x23\n\tAF_ATM                         = 0x1e\n\tAF_BLUETOOTH                   = 0x24\n\tAF_CCITT                       = 0xa\n\tAF_CHAOS                       = 0x5\n\tAF_CNT                         = 0x15\n\tAF_COIP                        = 0x14\n\tAF_DATAKIT                     = 0x9\n\tAF_DECnet                      = 0xc\n\tAF_DLI                         = 0xd\n\tAF_E164                        = 0x1a\n\tAF_ECMA                        = 0x8\n\tAF_HYLINK                      = 0xf\n\tAF_IEEE80211                   = 0x25\n\tAF_IMPLINK                     = 0x3\n\tAF_INET                        = 0x2\n\tAF_INET6                       = 0x1c\n\tAF_INET6_SDP                   = 0x2a\n\tAF_INET_SDP                    = 0x28\n\tAF_IPX                         = 0x17\n\tAF_ISDN                        = 0x1a\n\tAF_ISO                         = 0x7\n\tAF_LAT                         = 0xe\n\tAF_LINK                        = 0x12\n\tAF_LOCAL                       = 0x1\n\tAF_MAX                         = 0x2a\n\tAF_NATM                        = 0x1d\n\tAF_NETBIOS                     = 0x6\n\tAF_NETGRAPH                    = 0x20\n\tAF_OSI                         = 0x7\n\tAF_PUP                         = 0x4\n\tAF_ROUTE                       = 0x11\n\tAF_SCLUSTER                    = 0x22\n\tAF_SIP                         = 0x18\n\tAF_SLOW                        = 0x21\n\tAF_SNA                         = 0xb\n\tAF_UNIX                        = 0x1\n\tAF_UNSPEC                      = 0x0\n\tAF_VENDOR00                    = 0x27\n\tAF_VENDOR01                    = 0x29\n\tAF_VENDOR02                    = 0x2b\n\tAF_VENDOR03                    = 0x2d\n\tAF_VENDOR04                    = 0x2f\n\tAF_VENDOR05                    = 0x31\n\tAF_VENDOR06                    = 0x33\n\tAF_VENDOR07                    = 0x35\n\tAF_VENDOR08                    = 0x37\n\tAF_VENDOR09                    = 0x39\n\tAF_VENDOR10                    = 0x3b\n\tAF_VENDOR11                    = 0x3d\n\tAF_VENDOR12                    = 0x3f\n\tAF_VENDOR13                    = 0x41\n\tAF_VENDOR14                    = 0x43\n\tAF_VENDOR15                    = 0x45\n\tAF_VENDOR16                    = 0x47\n\tAF_VENDOR17                    = 0x49\n\tAF_VENDOR18                    = 0x4b\n\tAF_VENDOR19                    = 0x4d\n\tAF_VENDOR20                    = 0x4f\n\tAF_VENDOR21                    = 0x51\n\tAF_VENDOR22                    = 0x53\n\tAF_VENDOR23                    = 0x55\n\tAF_VENDOR24                    = 0x57\n\tAF_VENDOR25                    = 0x59\n\tAF_VENDOR26                    = 0x5b\n\tAF_VENDOR27                    = 0x5d\n\tAF_VENDOR28                    = 0x5f\n\tAF_VENDOR29                    = 0x61\n\tAF_VENDOR30                    = 0x63\n\tAF_VENDOR31                    = 0x65\n\tAF_VENDOR32                    = 0x67\n\tAF_VENDOR33                    = 0x69\n\tAF_VENDOR34                    = 0x6b\n\tAF_VENDOR35                    = 0x6d\n\tAF_VENDOR36                    = 0x6f\n\tAF_VENDOR37                    = 0x71\n\tAF_VENDOR38                    = 0x73\n\tAF_VENDOR39                    = 0x75\n\tAF_VENDOR40                    = 0x77\n\tAF_VENDOR41                    = 0x79\n\tAF_VENDOR42                    = 0x7b\n\tAF_VENDOR43                    = 0x7d\n\tAF_VENDOR44                    = 0x7f\n\tAF_VENDOR45                    = 0x81\n\tAF_VENDOR46                    = 0x83\n\tAF_VENDOR47                    = 0x85\n\tALTWERASE                      = 0x200\n\tB0                             = 0x0\n\tB110                           = 0x6e\n\tB115200                        = 0x1c200\n\tB1200                          = 0x4b0\n\tB134                           = 0x86\n\tB14400                         = 0x3840\n\tB150                           = 0x96\n\tB1800                          = 0x708\n\tB19200                         = 0x4b00\n\tB200                           = 0xc8\n\tB230400                        = 0x38400\n\tB2400                          = 0x960\n\tB28800                         = 0x7080\n\tB300                           = 0x12c\n\tB38400                         = 0x9600\n\tB460800                        = 0x70800\n\tB4800                          = 0x12c0\n\tB50                            = 0x32\n\tB57600                         = 0xe100\n\tB600                           = 0x258\n\tB7200                          = 0x1c20\n\tB75                            = 0x4b\n\tB76800                         = 0x12c00\n\tB921600                        = 0xe1000\n\tB9600                          = 0x2580\n\tBIOCFEEDBACK                   = 0x8004427c\n\tBIOCFLUSH                      = 0x20004268\n\tBIOCGBLEN                      = 0x40044266\n\tBIOCGDIRECTION                 = 0x40044276\n\tBIOCGDLT                       = 0x4004426a\n\tBIOCGDLTLIST                   = 0xc0084279\n\tBIOCGETBUFMODE                 = 0x4004427d\n\tBIOCGETIF                      = 0x4020426b\n\tBIOCGETZMAX                    = 0x4004427f\n\tBIOCGHDRCMPLT                  = 0x40044274\n\tBIOCGRSIG                      = 0x40044272\n\tBIOCGRTIMEOUT                  = 0x4010426e\n\tBIOCGSEESENT                   = 0x40044276\n\tBIOCGSTATS                     = 0x4008426f\n\tBIOCGTSTAMP                    = 0x40044283\n\tBIOCIMMEDIATE                  = 0x80044270\n\tBIOCLOCK                       = 0x2000427a\n\tBIOCPROMISC                    = 0x20004269\n\tBIOCROTZBUF                    = 0x400c4280\n\tBIOCSBLEN                      = 0xc0044266\n\tBIOCSDIRECTION                 = 0x80044277\n\tBIOCSDLT                       = 0x80044278\n\tBIOCSETBUFMODE                 = 0x8004427e\n\tBIOCSETF                       = 0x80084267\n\tBIOCSETFNR                     = 0x80084282\n\tBIOCSETIF                      = 0x8020426c\n\tBIOCSETWF                      = 0x8008427b\n\tBIOCSETZBUF                    = 0x800c4281\n\tBIOCSHDRCMPLT                  = 0x80044275\n\tBIOCSRSIG                      = 0x80044273\n\tBIOCSRTIMEOUT                  = 0x8010426d\n\tBIOCSSEESENT                   = 0x80044277\n\tBIOCSTSTAMP                    = 0x80044284\n\tBIOCVERSION                    = 0x40044271\n\tBPF_A                          = 0x10\n\tBPF_ABS                        = 0x20\n\tBPF_ADD                        = 0x0\n\tBPF_ALIGNMENT                  = 0x4\n\tBPF_ALU                        = 0x4\n\tBPF_AND                        = 0x50\n\tBPF_B                          = 0x10\n\tBPF_BUFMODE_BUFFER             = 0x1\n\tBPF_BUFMODE_ZBUF               = 0x2\n\tBPF_DIV                        = 0x30\n\tBPF_H                          = 0x8\n\tBPF_IMM                        = 0x0\n\tBPF_IND                        = 0x40\n\tBPF_JA                         = 0x0\n\tBPF_JEQ                        = 0x10\n\tBPF_JGE                        = 0x30\n\tBPF_JGT                        = 0x20\n\tBPF_JMP                        = 0x5\n\tBPF_JSET                       = 0x40\n\tBPF_K                          = 0x0\n\tBPF_LD                         = 0x0\n\tBPF_LDX                        = 0x1\n\tBPF_LEN                        = 0x80\n\tBPF_LSH                        = 0x60\n\tBPF_MAJOR_VERSION              = 0x1\n\tBPF_MAXBUFSIZE                 = 0x80000\n\tBPF_MAXINSNS                   = 0x200\n\tBPF_MEM                        = 0x60\n\tBPF_MEMWORDS                   = 0x10\n\tBPF_MINBUFSIZE                 = 0x20\n\tBPF_MINOR_VERSION              = 0x1\n\tBPF_MISC                       = 0x7\n\tBPF_MOD                        = 0x90\n\tBPF_MSH                        = 0xa0\n\tBPF_MUL                        = 0x20\n\tBPF_NEG                        = 0x80\n\tBPF_OR                         = 0x40\n\tBPF_RELEASE                    = 0x30bb6\n\tBPF_RET                        = 0x6\n\tBPF_RSH                        = 0x70\n\tBPF_ST                         = 0x2\n\tBPF_STX                        = 0x3\n\tBPF_SUB                        = 0x10\n\tBPF_TAX                        = 0x0\n\tBPF_TXA                        = 0x80\n\tBPF_T_BINTIME                  = 0x2\n\tBPF_T_BINTIME_FAST             = 0x102\n\tBPF_T_BINTIME_MONOTONIC        = 0x202\n\tBPF_T_BINTIME_MONOTONIC_FAST   = 0x302\n\tBPF_T_FAST                     = 0x100\n\tBPF_T_FLAG_MASK                = 0x300\n\tBPF_T_FORMAT_MASK              = 0x3\n\tBPF_T_MICROTIME                = 0x0\n\tBPF_T_MICROTIME_FAST           = 0x100\n\tBPF_T_MICROTIME_MONOTONIC      = 0x200\n\tBPF_T_MICROTIME_MONOTONIC_FAST = 0x300\n\tBPF_T_MONOTONIC                = 0x200\n\tBPF_T_MONOTONIC_FAST           = 0x300\n\tBPF_T_NANOTIME                 = 0x1\n\tBPF_T_NANOTIME_FAST            = 0x101\n\tBPF_T_NANOTIME_MONOTONIC       = 0x201\n\tBPF_T_NANOTIME_MONOTONIC_FAST  = 0x301\n\tBPF_T_NONE                     = 0x3\n\tBPF_T_NORMAL                   = 0x0\n\tBPF_W                          = 0x0\n\tBPF_X                          = 0x8\n\tBPF_XOR                        = 0xa0\n\tBRKINT                         = 0x2\n\tCAP_ACCEPT                     = 0x200000020000000\n\tCAP_ACL_CHECK                  = 0x400000000010000\n\tCAP_ACL_DELETE                 = 0x400000000020000\n\tCAP_ACL_GET                    = 0x400000000040000\n\tCAP_ACL_SET                    = 0x400000000080000\n\tCAP_ALL0                       = 0x20007ffffffffff\n\tCAP_ALL1                       = 0x4000000001fffff\n\tCAP_BIND                       = 0x200000040000000\n\tCAP_BINDAT                     = 0x200008000000400\n\tCAP_CHFLAGSAT                  = 0x200000000001400\n\tCAP_CONNECT                    = 0x200000080000000\n\tCAP_CONNECTAT                  = 0x200010000000400\n\tCAP_CREATE                     = 0x200000000000040\n\tCAP_EVENT                      = 0x400000000000020\n\tCAP_EXTATTR_DELETE             = 0x400000000001000\n\tCAP_EXTATTR_GET                = 0x400000000002000\n\tCAP_EXTATTR_LIST               = 0x400000000004000\n\tCAP_EXTATTR_SET                = 0x400000000008000\n\tCAP_FCHDIR                     = 0x200000000000800\n\tCAP_FCHFLAGS                   = 0x200000000001000\n\tCAP_FCHMOD                     = 0x200000000002000\n\tCAP_FCHMODAT                   = 0x200000000002400\n\tCAP_FCHOWN                     = 0x200000000004000\n\tCAP_FCHOWNAT                   = 0x200000000004400\n\tCAP_FCNTL                      = 0x200000000008000\n\tCAP_FCNTL_ALL                  = 0x78\n\tCAP_FCNTL_GETFL                = 0x8\n\tCAP_FCNTL_GETOWN               = 0x20\n\tCAP_FCNTL_SETFL                = 0x10\n\tCAP_FCNTL_SETOWN               = 0x40\n\tCAP_FEXECVE                    = 0x200000000000080\n\tCAP_FLOCK                      = 0x200000000010000\n\tCAP_FPATHCONF                  = 0x200000000020000\n\tCAP_FSCK                       = 0x200000000040000\n\tCAP_FSTAT                      = 0x200000000080000\n\tCAP_FSTATAT                    = 0x200000000080400\n\tCAP_FSTATFS                    = 0x200000000100000\n\tCAP_FSYNC                      = 0x200000000000100\n\tCAP_FTRUNCATE                  = 0x200000000000200\n\tCAP_FUTIMES                    = 0x200000000200000\n\tCAP_FUTIMESAT                  = 0x200000000200400\n\tCAP_GETPEERNAME                = 0x200000100000000\n\tCAP_GETSOCKNAME                = 0x200000200000000\n\tCAP_GETSOCKOPT                 = 0x200000400000000\n\tCAP_IOCTL                      = 0x400000000000080\n\tCAP_IOCTLS_ALL                 = 0x7fffffff\n\tCAP_KQUEUE                     = 0x400000000100040\n\tCAP_KQUEUE_CHANGE              = 0x400000000100000\n\tCAP_KQUEUE_EVENT               = 0x400000000000040\n\tCAP_LINKAT_SOURCE              = 0x200020000000400\n\tCAP_LINKAT_TARGET              = 0x200000000400400\n\tCAP_LISTEN                     = 0x200000800000000\n\tCAP_LOOKUP                     = 0x200000000000400\n\tCAP_MAC_GET                    = 0x400000000000001\n\tCAP_MAC_SET                    = 0x400000000000002\n\tCAP_MKDIRAT                    = 0x200000000800400\n\tCAP_MKFIFOAT                   = 0x200000001000400\n\tCAP_MKNODAT                    = 0x200000002000400\n\tCAP_MMAP                       = 0x200000000000010\n\tCAP_MMAP_R                     = 0x20000000000001d\n\tCAP_MMAP_RW                    = 0x20000000000001f\n\tCAP_MMAP_RWX                   = 0x20000000000003f\n\tCAP_MMAP_RX                    = 0x20000000000003d\n\tCAP_MMAP_W                     = 0x20000000000001e\n\tCAP_MMAP_WX                    = 0x20000000000003e\n\tCAP_MMAP_X                     = 0x20000000000003c\n\tCAP_PDGETPID                   = 0x400000000000200\n\tCAP_PDKILL                     = 0x400000000000800\n\tCAP_PDWAIT                     = 0x400000000000400\n\tCAP_PEELOFF                    = 0x200001000000000\n\tCAP_POLL_EVENT                 = 0x400000000000020\n\tCAP_PREAD                      = 0x20000000000000d\n\tCAP_PWRITE                     = 0x20000000000000e\n\tCAP_READ                       = 0x200000000000001\n\tCAP_RECV                       = 0x200000000000001\n\tCAP_RENAMEAT_SOURCE            = 0x200000004000400\n\tCAP_RENAMEAT_TARGET            = 0x200040000000400\n\tCAP_RIGHTS_VERSION             = 0x0\n\tCAP_RIGHTS_VERSION_00          = 0x0\n\tCAP_SEEK                       = 0x20000000000000c\n\tCAP_SEEK_TELL                  = 0x200000000000004\n\tCAP_SEM_GETVALUE               = 0x400000000000004\n\tCAP_SEM_POST                   = 0x400000000000008\n\tCAP_SEM_WAIT                   = 0x400000000000010\n\tCAP_SEND                       = 0x200000000000002\n\tCAP_SETSOCKOPT                 = 0x200002000000000\n\tCAP_SHUTDOWN                   = 0x200004000000000\n\tCAP_SOCK_CLIENT                = 0x200007780000003\n\tCAP_SOCK_SERVER                = 0x200007f60000003\n\tCAP_SYMLINKAT                  = 0x200000008000400\n\tCAP_TTYHOOK                    = 0x400000000000100\n\tCAP_UNLINKAT                   = 0x200000010000400\n\tCAP_UNUSED0_44                 = 0x200080000000000\n\tCAP_UNUSED0_57                 = 0x300000000000000\n\tCAP_UNUSED1_22                 = 0x400000000200000\n\tCAP_UNUSED1_57                 = 0x500000000000000\n\tCAP_WRITE                      = 0x200000000000002\n\tCFLUSH                         = 0xf\n\tCLOCAL                         = 0x8000\n\tCLOCK_MONOTONIC                = 0x4\n\tCLOCK_MONOTONIC_FAST           = 0xc\n\tCLOCK_MONOTONIC_PRECISE        = 0xb\n\tCLOCK_PROCESS_CPUTIME_ID       = 0xf\n\tCLOCK_PROF                     = 0x2\n\tCLOCK_REALTIME                 = 0x0\n\tCLOCK_REALTIME_FAST            = 0xa\n\tCLOCK_REALTIME_PRECISE         = 0x9\n\tCLOCK_SECOND                   = 0xd\n\tCLOCK_THREAD_CPUTIME_ID        = 0xe\n\tCLOCK_UPTIME                   = 0x5\n\tCLOCK_UPTIME_FAST              = 0x8\n\tCLOCK_UPTIME_PRECISE           = 0x7\n\tCLOCK_VIRTUAL                  = 0x1\n\tCREAD                          = 0x800\n\tCRTSCTS                        = 0x30000\n\tCS5                            = 0x0\n\tCS6                            = 0x100\n\tCS7                            = 0x200\n\tCS8                            = 0x300\n\tCSIZE                          = 0x300\n\tCSTART                         = 0x11\n\tCSTATUS                        = 0x14\n\tCSTOP                          = 0x13\n\tCSTOPB                         = 0x400\n\tCSUSP                          = 0x1a\n\tCTL_HW                         = 0x6\n\tCTL_KERN                       = 0x1\n\tCTL_MAXNAME                    = 0x18\n\tCTL_NET                        = 0x4\n\tDLT_A429                       = 0xb8\n\tDLT_A653_ICM                   = 0xb9\n\tDLT_AIRONET_HEADER             = 0x78\n\tDLT_AOS                        = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394     = 0x8a\n\tDLT_ARCNET                     = 0x7\n\tDLT_ARCNET_LINUX               = 0x81\n\tDLT_ATM_CLIP                   = 0x13\n\tDLT_ATM_RFC1483                = 0xb\n\tDLT_AURORA                     = 0x7e\n\tDLT_AX25                       = 0x3\n\tDLT_AX25_KISS                  = 0xca\n\tDLT_BACNET_MS_TP               = 0xa5\n\tDLT_BLUETOOTH_BREDR_BB         = 0xff\n\tDLT_BLUETOOTH_HCI_H4           = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9\n\tDLT_BLUETOOTH_LE_LL            = 0xfb\n\tDLT_BLUETOOTH_LE_LL_WITH_PHDR  = 0x100\n\tDLT_BLUETOOTH_LINUX_MONITOR    = 0xfe\n\tDLT_CAN20B                     = 0xbe\n\tDLT_CAN_SOCKETCAN              = 0xe3\n\tDLT_CHAOS                      = 0x5\n\tDLT_CHDLC                      = 0x68\n\tDLT_CISCO_IOS                  = 0x76\n\tDLT_CLASS_NETBSD_RAWAF         = 0x2240000\n\tDLT_C_HDLC                     = 0x68\n\tDLT_C_HDLC_WITH_DIR            = 0xcd\n\tDLT_DBUS                       = 0xe7\n\tDLT_DECT                       = 0xdd\n\tDLT_DOCSIS                     = 0x8f\n\tDLT_DVB_CI                     = 0xeb\n\tDLT_ECONET                     = 0x73\n\tDLT_EN10MB                     = 0x1\n\tDLT_EN3MB                      = 0x2\n\tDLT_ENC                        = 0x6d\n\tDLT_EPON                       = 0x103\n\tDLT_ERF                        = 0xc5\n\tDLT_ERF_ETH                    = 0xaf\n\tDLT_ERF_POS                    = 0xb0\n\tDLT_FC_2                       = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS     = 0xe1\n\tDLT_FDDI                       = 0xa\n\tDLT_FLEXRAY                    = 0xd2\n\tDLT_FRELAY                     = 0x6b\n\tDLT_FRELAY_WITH_DIR            = 0xce\n\tDLT_GCOM_SERIAL                = 0xad\n\tDLT_GCOM_T1E1                  = 0xac\n\tDLT_GPF_F                      = 0xab\n\tDLT_GPF_T                      = 0xaa\n\tDLT_GPRS_LLC                   = 0xa9\n\tDLT_GSMTAP_ABIS                = 0xda\n\tDLT_GSMTAP_UM                  = 0xd9\n\tDLT_IBM_SN                     = 0x92\n\tDLT_IBM_SP                     = 0x91\n\tDLT_IEEE802                    = 0x6\n\tDLT_IEEE802_11                 = 0x69\n\tDLT_IEEE802_11_RADIO           = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS       = 0xa3\n\tDLT_IEEE802_15_4               = 0xc3\n\tDLT_IEEE802_15_4_LINUX         = 0xbf\n\tDLT_IEEE802_15_4_NOFCS         = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY    = 0xd7\n\tDLT_IEEE802_16_MAC_CPS         = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO   = 0xc1\n\tDLT_INFINIBAND                 = 0xf7\n\tDLT_IPFILTER                   = 0x74\n\tDLT_IPMB                       = 0xc7\n\tDLT_IPMB_LINUX                 = 0xd1\n\tDLT_IPMI_HPM_2                 = 0x104\n\tDLT_IPNET                      = 0xe2\n\tDLT_IPOIB                      = 0xf2\n\tDLT_IPV4                       = 0xe4\n\tDLT_IPV6                       = 0xe5\n\tDLT_IP_OVER_FC                 = 0x7a\n\tDLT_ISO_14443                  = 0x108\n\tDLT_JUNIPER_ATM1               = 0x89\n\tDLT_JUNIPER_ATM2               = 0x87\n\tDLT_JUNIPER_ATM_CEMIC          = 0xee\n\tDLT_JUNIPER_CHDLC              = 0xb5\n\tDLT_JUNIPER_ES                 = 0x84\n\tDLT_JUNIPER_ETHER              = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL       = 0xea\n\tDLT_JUNIPER_FRELAY             = 0xb4\n\tDLT_JUNIPER_GGSN               = 0x85\n\tDLT_JUNIPER_ISM                = 0xc2\n\tDLT_JUNIPER_MFR                = 0x86\n\tDLT_JUNIPER_MLFR               = 0x83\n\tDLT_JUNIPER_MLPPP              = 0x82\n\tDLT_JUNIPER_MONITOR            = 0xa4\n\tDLT_JUNIPER_PIC_PEER           = 0xae\n\tDLT_JUNIPER_PPP                = 0xb3\n\tDLT_JUNIPER_PPPOE              = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM          = 0xa8\n\tDLT_JUNIPER_SERVICES           = 0x88\n\tDLT_JUNIPER_SRX_E2E            = 0xe9\n\tDLT_JUNIPER_ST                 = 0xc8\n\tDLT_JUNIPER_VP                 = 0xb7\n\tDLT_JUNIPER_VS                 = 0xe8\n\tDLT_LAPB_WITH_DIR              = 0xcf\n\tDLT_LAPD                       = 0xcb\n\tDLT_LIN                        = 0xd4\n\tDLT_LINUX_EVDEV                = 0xd8\n\tDLT_LINUX_IRDA                 = 0x90\n\tDLT_LINUX_LAPD                 = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION    = 0xa6\n\tDLT_LINUX_SLL                  = 0x71\n\tDLT_LOOP                       = 0x6c\n\tDLT_LTALK                      = 0x72\n\tDLT_MATCHING_MAX               = 0x109\n\tDLT_MATCHING_MIN               = 0x68\n\tDLT_MFR                        = 0xb6\n\tDLT_MOST                       = 0xd3\n\tDLT_MPEG_2_TS                  = 0xf3\n\tDLT_MPLS                       = 0xdb\n\tDLT_MTP2                       = 0x8c\n\tDLT_MTP2_WITH_PHDR             = 0x8b\n\tDLT_MTP3                       = 0x8d\n\tDLT_MUX27010                   = 0xec\n\tDLT_NETANALYZER                = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT    = 0xf1\n\tDLT_NETLINK                    = 0xfd\n\tDLT_NFC_LLCP                   = 0xf5\n\tDLT_NFLOG                      = 0xef\n\tDLT_NG40                       = 0xf4\n\tDLT_NULL                       = 0x0\n\tDLT_PCI_EXP                    = 0x7d\n\tDLT_PFLOG                      = 0x75\n\tDLT_PFSYNC                     = 0x79\n\tDLT_PKTAP                      = 0x102\n\tDLT_PPI                        = 0xc0\n\tDLT_PPP                        = 0x9\n\tDLT_PPP_BSDOS                  = 0xe\n\tDLT_PPP_ETHER                  = 0x33\n\tDLT_PPP_PPPD                   = 0xa6\n\tDLT_PPP_SERIAL                 = 0x32\n\tDLT_PPP_WITH_DIR               = 0xcc\n\tDLT_PPP_WITH_DIRECTION         = 0xa6\n\tDLT_PRISM_HEADER               = 0x77\n\tDLT_PROFIBUS_DL                = 0x101\n\tDLT_PRONET                     = 0x4\n\tDLT_RAIF1                      = 0xc6\n\tDLT_RAW                        = 0xc\n\tDLT_RDS                        = 0x109\n\tDLT_REDBACK_SMARTEDGE          = 0x20\n\tDLT_RIO                        = 0x7c\n\tDLT_RTAC_SERIAL                = 0xfa\n\tDLT_SCCP                       = 0x8e\n\tDLT_SCTP                       = 0xf8\n\tDLT_SITA                       = 0xc4\n\tDLT_SLIP                       = 0x8\n\tDLT_SLIP_BSDOS                 = 0xd\n\tDLT_STANAG_5066_D_PDU          = 0xed\n\tDLT_SUNATM                     = 0x7b\n\tDLT_SYMANTEC_FIREWALL          = 0x63\n\tDLT_TZSP                       = 0x80\n\tDLT_USB                        = 0xba\n\tDLT_USBPCAP                    = 0xf9\n\tDLT_USB_FREEBSD                = 0xba\n\tDLT_USB_LINUX                  = 0xbd\n\tDLT_USB_LINUX_MMAPPED          = 0xdc\n\tDLT_USER0                      = 0x93\n\tDLT_USER1                      = 0x94\n\tDLT_USER10                     = 0x9d\n\tDLT_USER11                     = 0x9e\n\tDLT_USER12                     = 0x9f\n\tDLT_USER13                     = 0xa0\n\tDLT_USER14                     = 0xa1\n\tDLT_USER15                     = 0xa2\n\tDLT_USER2                      = 0x95\n\tDLT_USER3                      = 0x96\n\tDLT_USER4                      = 0x97\n\tDLT_USER5                      = 0x98\n\tDLT_USER6                      = 0x99\n\tDLT_USER7                      = 0x9a\n\tDLT_USER8                      = 0x9b\n\tDLT_USER9                      = 0x9c\n\tDLT_WATTSTOPPER_DLM            = 0x107\n\tDLT_WIHART                     = 0xdf\n\tDLT_WIRESHARK_UPPER_PDU        = 0xfc\n\tDLT_X2E_SERIAL                 = 0xd5\n\tDLT_X2E_XORAYA                 = 0xd6\n\tDLT_ZWAVE_R1_R2                = 0x105\n\tDLT_ZWAVE_R3                   = 0x106\n\tDT_BLK                         = 0x6\n\tDT_CHR                         = 0x2\n\tDT_DIR                         = 0x4\n\tDT_FIFO                        = 0x1\n\tDT_LNK                         = 0xa\n\tDT_REG                         = 0x8\n\tDT_SOCK                        = 0xc\n\tDT_UNKNOWN                     = 0x0\n\tDT_WHT                         = 0xe\n\tECHO                           = 0x8\n\tECHOCTL                        = 0x40\n\tECHOE                          = 0x2\n\tECHOK                          = 0x4\n\tECHOKE                         = 0x1\n\tECHONL                         = 0x10\n\tECHOPRT                        = 0x20\n\tEVFILT_AIO                     = -0x3\n\tEVFILT_FS                      = -0x9\n\tEVFILT_LIO                     = -0xa\n\tEVFILT_PROC                    = -0x5\n\tEVFILT_PROCDESC                = -0x8\n\tEVFILT_READ                    = -0x1\n\tEVFILT_SENDFILE                = -0xc\n\tEVFILT_SIGNAL                  = -0x6\n\tEVFILT_SYSCOUNT                = 0xc\n\tEVFILT_TIMER                   = -0x7\n\tEVFILT_USER                    = -0xb\n\tEVFILT_VNODE                   = -0x4\n\tEVFILT_WRITE                   = -0x2\n\tEV_ADD                         = 0x1\n\tEV_CLEAR                       = 0x20\n\tEV_DELETE                      = 0x2\n\tEV_DISABLE                     = 0x8\n\tEV_DISPATCH                    = 0x80\n\tEV_DROP                        = 0x1000\n\tEV_ENABLE                      = 0x4\n\tEV_EOF                         = 0x8000\n\tEV_ERROR                       = 0x4000\n\tEV_FLAG1                       = 0x2000\n\tEV_FLAG2                       = 0x4000\n\tEV_FORCEONESHOT                = 0x100\n\tEV_ONESHOT                     = 0x10\n\tEV_RECEIPT                     = 0x40\n\tEV_SYSFLAGS                    = 0xf000\n\tEXTA                           = 0x4b00\n\tEXTATTR_NAMESPACE_EMPTY        = 0x0\n\tEXTATTR_NAMESPACE_SYSTEM       = 0x2\n\tEXTATTR_NAMESPACE_USER         = 0x1\n\tEXTB                           = 0x9600\n\tEXTPROC                        = 0x800\n\tFD_CLOEXEC                     = 0x1\n\tFD_SETSIZE                     = 0x400\n\tFLUSHO                         = 0x800000\n\tF_CANCEL                       = 0x5\n\tF_DUP2FD                       = 0xa\n\tF_DUP2FD_CLOEXEC               = 0x12\n\tF_DUPFD                        = 0x0\n\tF_DUPFD_CLOEXEC                = 0x11\n\tF_GETFD                        = 0x1\n\tF_GETFL                        = 0x3\n\tF_GETLK                        = 0xb\n\tF_GETOWN                       = 0x5\n\tF_OGETLK                       = 0x7\n\tF_OK                           = 0x0\n\tF_OSETLK                       = 0x8\n\tF_OSETLKW                      = 0x9\n\tF_RDAHEAD                      = 0x10\n\tF_RDLCK                        = 0x1\n\tF_READAHEAD                    = 0xf\n\tF_SETFD                        = 0x2\n\tF_SETFL                        = 0x4\n\tF_SETLK                        = 0xc\n\tF_SETLKW                       = 0xd\n\tF_SETLK_REMOTE                 = 0xe\n\tF_SETOWN                       = 0x6\n\tF_UNLCK                        = 0x2\n\tF_UNLCKSYS                     = 0x4\n\tF_WRLCK                        = 0x3\n\tHUPCL                          = 0x4000\n\tHW_MACHINE                     = 0x1\n\tICANON                         = 0x100\n\tICMP6_FILTER                   = 0x12\n\tICRNL                          = 0x100\n\tIEXTEN                         = 0x400\n\tIFAN_ARRIVAL                   = 0x0\n\tIFAN_DEPARTURE                 = 0x1\n\tIFF_ALLMULTI                   = 0x200\n\tIFF_ALTPHYS                    = 0x4000\n\tIFF_BROADCAST                  = 0x2\n\tIFF_CANTCHANGE                 = 0x218f52\n\tIFF_CANTCONFIG                 = 0x10000\n\tIFF_DEBUG                      = 0x4\n\tIFF_DRV_OACTIVE                = 0x400\n\tIFF_DRV_RUNNING                = 0x40\n\tIFF_DYING                      = 0x200000\n\tIFF_LINK0                      = 0x1000\n\tIFF_LINK1                      = 0x2000\n\tIFF_LINK2                      = 0x4000\n\tIFF_LOOPBACK                   = 0x8\n\tIFF_MONITOR                    = 0x40000\n\tIFF_MULTICAST                  = 0x8000\n\tIFF_NOARP                      = 0x80\n\tIFF_OACTIVE                    = 0x400\n\tIFF_POINTOPOINT                = 0x10\n\tIFF_PPROMISC                   = 0x20000\n\tIFF_PROMISC                    = 0x100\n\tIFF_RENAMING                   = 0x400000\n\tIFF_RUNNING                    = 0x40\n\tIFF_SIMPLEX                    = 0x800\n\tIFF_STATICARP                  = 0x80000\n\tIFF_UP                         = 0x1\n\tIFNAMSIZ                       = 0x10\n\tIFT_BRIDGE                     = 0xd1\n\tIFT_CARP                       = 0xf8\n\tIFT_IEEE1394                   = 0x90\n\tIFT_INFINIBAND                 = 0xc7\n\tIFT_L2VLAN                     = 0x87\n\tIFT_L3IPVLAN                   = 0x88\n\tIFT_PPP                        = 0x17\n\tIFT_PROPVIRTUAL                = 0x35\n\tIGNBRK                         = 0x1\n\tIGNCR                          = 0x80\n\tIGNPAR                         = 0x4\n\tIMAXBEL                        = 0x2000\n\tINLCR                          = 0x40\n\tINPCK                          = 0x10\n\tIN_CLASSA_HOST                 = 0xffffff\n\tIN_CLASSA_MAX                  = 0x80\n\tIN_CLASSA_NET                  = 0xff000000\n\tIN_CLASSA_NSHIFT               = 0x18\n\tIN_CLASSB_HOST                 = 0xffff\n\tIN_CLASSB_MAX                  = 0x10000\n\tIN_CLASSB_NET                  = 0xffff0000\n\tIN_CLASSB_NSHIFT               = 0x10\n\tIN_CLASSC_HOST                 = 0xff\n\tIN_CLASSC_NET                  = 0xffffff00\n\tIN_CLASSC_NSHIFT               = 0x8\n\tIN_CLASSD_HOST                 = 0xfffffff\n\tIN_CLASSD_NET                  = 0xf0000000\n\tIN_CLASSD_NSHIFT               = 0x1c\n\tIN_LOOPBACKNET                 = 0x7f\n\tIN_RFC3021_MASK                = 0xfffffffe\n\tIPPROTO_3PC                    = 0x22\n\tIPPROTO_ADFS                   = 0x44\n\tIPPROTO_AH                     = 0x33\n\tIPPROTO_AHIP                   = 0x3d\n\tIPPROTO_APES                   = 0x63\n\tIPPROTO_ARGUS                  = 0xd\n\tIPPROTO_AX25                   = 0x5d\n\tIPPROTO_BHA                    = 0x31\n\tIPPROTO_BLT                    = 0x1e\n\tIPPROTO_BRSATMON               = 0x4c\n\tIPPROTO_CARP                   = 0x70\n\tIPPROTO_CFTP                   = 0x3e\n\tIPPROTO_CHAOS                  = 0x10\n\tIPPROTO_CMTP                   = 0x26\n\tIPPROTO_CPHB                   = 0x49\n\tIPPROTO_CPNX                   = 0x48\n\tIPPROTO_DDP                    = 0x25\n\tIPPROTO_DGP                    = 0x56\n\tIPPROTO_DIVERT                 = 0x102\n\tIPPROTO_DONE                   = 0x101\n\tIPPROTO_DSTOPTS                = 0x3c\n\tIPPROTO_EGP                    = 0x8\n\tIPPROTO_EMCON                  = 0xe\n\tIPPROTO_ENCAP                  = 0x62\n\tIPPROTO_EON                    = 0x50\n\tIPPROTO_ESP                    = 0x32\n\tIPPROTO_ETHERIP                = 0x61\n\tIPPROTO_FRAGMENT               = 0x2c\n\tIPPROTO_GGP                    = 0x3\n\tIPPROTO_GMTP                   = 0x64\n\tIPPROTO_GRE                    = 0x2f\n\tIPPROTO_HELLO                  = 0x3f\n\tIPPROTO_HIP                    = 0x8b\n\tIPPROTO_HMP                    = 0x14\n\tIPPROTO_HOPOPTS                = 0x0\n\tIPPROTO_ICMP                   = 0x1\n\tIPPROTO_ICMPV6                 = 0x3a\n\tIPPROTO_IDP                    = 0x16\n\tIPPROTO_IDPR                   = 0x23\n\tIPPROTO_IDRP                   = 0x2d\n\tIPPROTO_IGMP                   = 0x2\n\tIPPROTO_IGP                    = 0x55\n\tIPPROTO_IGRP                   = 0x58\n\tIPPROTO_IL                     = 0x28\n\tIPPROTO_INLSP                  = 0x34\n\tIPPROTO_INP                    = 0x20\n\tIPPROTO_IP                     = 0x0\n\tIPPROTO_IPCOMP                 = 0x6c\n\tIPPROTO_IPCV                   = 0x47\n\tIPPROTO_IPEIP                  = 0x5e\n\tIPPROTO_IPIP                   = 0x4\n\tIPPROTO_IPPC                   = 0x43\n\tIPPROTO_IPV4                   = 0x4\n\tIPPROTO_IPV6                   = 0x29\n\tIPPROTO_IRTP                   = 0x1c\n\tIPPROTO_KRYPTOLAN              = 0x41\n\tIPPROTO_LARP                   = 0x5b\n\tIPPROTO_LEAF1                  = 0x19\n\tIPPROTO_LEAF2                  = 0x1a\n\tIPPROTO_MAX                    = 0x100\n\tIPPROTO_MEAS                   = 0x13\n\tIPPROTO_MH                     = 0x87\n\tIPPROTO_MHRP                   = 0x30\n\tIPPROTO_MICP                   = 0x5f\n\tIPPROTO_MOBILE                 = 0x37\n\tIPPROTO_MPLS                   = 0x89\n\tIPPROTO_MTP                    = 0x5c\n\tIPPROTO_MUX                    = 0x12\n\tIPPROTO_ND                     = 0x4d\n\tIPPROTO_NHRP                   = 0x36\n\tIPPROTO_NONE                   = 0x3b\n\tIPPROTO_NSP                    = 0x1f\n\tIPPROTO_NVPII                  = 0xb\n\tIPPROTO_OLD_DIVERT             = 0xfe\n\tIPPROTO_OSPFIGP                = 0x59\n\tIPPROTO_PFSYNC                 = 0xf0\n\tIPPROTO_PGM                    = 0x71\n\tIPPROTO_PIGP                   = 0x9\n\tIPPROTO_PIM                    = 0x67\n\tIPPROTO_PRM                    = 0x15\n\tIPPROTO_PUP                    = 0xc\n\tIPPROTO_PVP                    = 0x4b\n\tIPPROTO_RAW                    = 0xff\n\tIPPROTO_RCCMON                 = 0xa\n\tIPPROTO_RDP                    = 0x1b\n\tIPPROTO_RESERVED_253           = 0xfd\n\tIPPROTO_RESERVED_254           = 0xfe\n\tIPPROTO_ROUTING                = 0x2b\n\tIPPROTO_RSVP                   = 0x2e\n\tIPPROTO_RVD                    = 0x42\n\tIPPROTO_SATEXPAK               = 0x40\n\tIPPROTO_SATMON                 = 0x45\n\tIPPROTO_SCCSP                  = 0x60\n\tIPPROTO_SCTP                   = 0x84\n\tIPPROTO_SDRP                   = 0x2a\n\tIPPROTO_SEND                   = 0x103\n\tIPPROTO_SEP                    = 0x21\n\tIPPROTO_SHIM6                  = 0x8c\n\tIPPROTO_SKIP                   = 0x39\n\tIPPROTO_SPACER                 = 0x7fff\n\tIPPROTO_SRPC                   = 0x5a\n\tIPPROTO_ST                     = 0x7\n\tIPPROTO_SVMTP                  = 0x52\n\tIPPROTO_SWIPE                  = 0x35\n\tIPPROTO_TCF                    = 0x57\n\tIPPROTO_TCP                    = 0x6\n\tIPPROTO_TLSP                   = 0x38\n\tIPPROTO_TP                     = 0x1d\n\tIPPROTO_TPXX                   = 0x27\n\tIPPROTO_TRUNK1                 = 0x17\n\tIPPROTO_TRUNK2                 = 0x18\n\tIPPROTO_TTP                    = 0x54\n\tIPPROTO_UDP                    = 0x11\n\tIPPROTO_UDPLITE                = 0x88\n\tIPPROTO_VINES                  = 0x53\n\tIPPROTO_VISA                   = 0x46\n\tIPPROTO_VMTP                   = 0x51\n\tIPPROTO_WBEXPAK                = 0x4f\n\tIPPROTO_WBMON                  = 0x4e\n\tIPPROTO_WSN                    = 0x4a\n\tIPPROTO_XNET                   = 0xf\n\tIPPROTO_XTP                    = 0x24\n\tIPV6_AUTOFLOWLABEL             = 0x3b\n\tIPV6_BINDANY                   = 0x40\n\tIPV6_BINDMULTI                 = 0x41\n\tIPV6_BINDV6ONLY                = 0x1b\n\tIPV6_CHECKSUM                  = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS    = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP    = 0x1\n\tIPV6_DEFHLIM                   = 0x40\n\tIPV6_DONTFRAG                  = 0x3e\n\tIPV6_DSTOPTS                   = 0x32\n\tIPV6_FLOWID                    = 0x43\n\tIPV6_FLOWINFO_MASK             = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK            = 0xffff0f00\n\tIPV6_FLOWTYPE                  = 0x44\n\tIPV6_FRAGTTL                   = 0x78\n\tIPV6_FW_ADD                    = 0x1e\n\tIPV6_FW_DEL                    = 0x1f\n\tIPV6_FW_FLUSH                  = 0x20\n\tIPV6_FW_GET                    = 0x22\n\tIPV6_FW_ZERO                   = 0x21\n\tIPV6_HLIMDEC                   = 0x1\n\tIPV6_HOPLIMIT                  = 0x2f\n\tIPV6_HOPOPTS                   = 0x31\n\tIPV6_IPSEC_POLICY              = 0x1c\n\tIPV6_JOIN_GROUP                = 0xc\n\tIPV6_LEAVE_GROUP               = 0xd\n\tIPV6_MAXHLIM                   = 0xff\n\tIPV6_MAXOPTHDR                 = 0x800\n\tIPV6_MAXPACKET                 = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER      = 0x200\n\tIPV6_MAX_MEMBERSHIPS           = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER       = 0x80\n\tIPV6_MIN_MEMBERSHIPS           = 0x1f\n\tIPV6_MMTU                      = 0x500\n\tIPV6_MSFILTER                  = 0x4a\n\tIPV6_MULTICAST_HOPS            = 0xa\n\tIPV6_MULTICAST_IF              = 0x9\n\tIPV6_MULTICAST_LOOP            = 0xb\n\tIPV6_NEXTHOP                   = 0x30\n\tIPV6_PATHMTU                   = 0x2c\n\tIPV6_PKTINFO                   = 0x2e\n\tIPV6_PORTRANGE                 = 0xe\n\tIPV6_PORTRANGE_DEFAULT         = 0x0\n\tIPV6_PORTRANGE_HIGH            = 0x1\n\tIPV6_PORTRANGE_LOW             = 0x2\n\tIPV6_PREFER_TEMPADDR           = 0x3f\n\tIPV6_RECVDSTOPTS               = 0x28\n\tIPV6_RECVFLOWID                = 0x46\n\tIPV6_RECVHOPLIMIT              = 0x25\n\tIPV6_RECVHOPOPTS               = 0x27\n\tIPV6_RECVPATHMTU               = 0x2b\n\tIPV6_RECVPKTINFO               = 0x24\n\tIPV6_RECVRSSBUCKETID           = 0x47\n\tIPV6_RECVRTHDR                 = 0x26\n\tIPV6_RECVTCLASS                = 0x39\n\tIPV6_RSSBUCKETID               = 0x45\n\tIPV6_RSS_LISTEN_BUCKET         = 0x42\n\tIPV6_RTHDR                     = 0x33\n\tIPV6_RTHDRDSTOPTS              = 0x23\n\tIPV6_RTHDR_LOOSE               = 0x0\n\tIPV6_RTHDR_STRICT              = 0x1\n\tIPV6_RTHDR_TYPE_0              = 0x0\n\tIPV6_SOCKOPT_RESERVED1         = 0x3\n\tIPV6_TCLASS                    = 0x3d\n\tIPV6_UNICAST_HOPS              = 0x4\n\tIPV6_USE_MIN_MTU               = 0x2a\n\tIPV6_V6ONLY                    = 0x1b\n\tIPV6_VERSION                   = 0x60\n\tIPV6_VERSION_MASK              = 0xf0\n\tIP_ADD_MEMBERSHIP              = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP       = 0x46\n\tIP_BINDANY                     = 0x18\n\tIP_BINDMULTI                   = 0x19\n\tIP_BLOCK_SOURCE                = 0x48\n\tIP_DEFAULT_MULTICAST_LOOP      = 0x1\n\tIP_DEFAULT_MULTICAST_TTL       = 0x1\n\tIP_DF                          = 0x4000\n\tIP_DONTFRAG                    = 0x43\n\tIP_DROP_MEMBERSHIP             = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP      = 0x47\n\tIP_DUMMYNET3                   = 0x31\n\tIP_DUMMYNET_CONFIGURE          = 0x3c\n\tIP_DUMMYNET_DEL                = 0x3d\n\tIP_DUMMYNET_FLUSH              = 0x3e\n\tIP_DUMMYNET_GET                = 0x40\n\tIP_FLOWID                      = 0x5a\n\tIP_FLOWTYPE                    = 0x5b\n\tIP_FW3                         = 0x30\n\tIP_FW_ADD                      = 0x32\n\tIP_FW_DEL                      = 0x33\n\tIP_FW_FLUSH                    = 0x34\n\tIP_FW_GET                      = 0x36\n\tIP_FW_NAT_CFG                  = 0x38\n\tIP_FW_NAT_DEL                  = 0x39\n\tIP_FW_NAT_GET_CONFIG           = 0x3a\n\tIP_FW_NAT_GET_LOG              = 0x3b\n\tIP_FW_RESETLOG                 = 0x37\n\tIP_FW_TABLE_ADD                = 0x28\n\tIP_FW_TABLE_DEL                = 0x29\n\tIP_FW_TABLE_FLUSH              = 0x2a\n\tIP_FW_TABLE_GETSIZE            = 0x2b\n\tIP_FW_TABLE_LIST               = 0x2c\n\tIP_FW_ZERO                     = 0x35\n\tIP_HDRINCL                     = 0x2\n\tIP_IPSEC_POLICY                = 0x15\n\tIP_MAXPACKET                   = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER        = 0x200\n\tIP_MAX_MEMBERSHIPS             = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER        = 0x80\n\tIP_MAX_SOCK_SRC_FILTER         = 0x80\n\tIP_MAX_SOURCE_FILTER           = 0x400\n\tIP_MF                          = 0x2000\n\tIP_MINTTL                      = 0x42\n\tIP_MIN_MEMBERSHIPS             = 0x1f\n\tIP_MSFILTER                    = 0x4a\n\tIP_MSS                         = 0x240\n\tIP_MULTICAST_IF                = 0x9\n\tIP_MULTICAST_LOOP              = 0xb\n\tIP_MULTICAST_TTL               = 0xa\n\tIP_MULTICAST_VIF               = 0xe\n\tIP_OFFMASK                     = 0x1fff\n\tIP_ONESBCAST                   = 0x17\n\tIP_OPTIONS                     = 0x1\n\tIP_PORTRANGE                   = 0x13\n\tIP_PORTRANGE_DEFAULT           = 0x0\n\tIP_PORTRANGE_HIGH              = 0x1\n\tIP_PORTRANGE_LOW               = 0x2\n\tIP_RECVDSTADDR                 = 0x7\n\tIP_RECVFLOWID                  = 0x5d\n\tIP_RECVIF                      = 0x14\n\tIP_RECVOPTS                    = 0x5\n\tIP_RECVRETOPTS                 = 0x6\n\tIP_RECVRSSBUCKETID             = 0x5e\n\tIP_RECVTOS                     = 0x44\n\tIP_RECVTTL                     = 0x41\n\tIP_RETOPTS                     = 0x8\n\tIP_RF                          = 0x8000\n\tIP_RSSBUCKETID                 = 0x5c\n\tIP_RSS_LISTEN_BUCKET           = 0x1a\n\tIP_RSVP_OFF                    = 0x10\n\tIP_RSVP_ON                     = 0xf\n\tIP_RSVP_VIF_OFF                = 0x12\n\tIP_RSVP_VIF_ON                 = 0x11\n\tIP_SENDSRCADDR                 = 0x7\n\tIP_TOS                         = 0x3\n\tIP_TTL                         = 0x4\n\tIP_UNBLOCK_SOURCE              = 0x49\n\tISIG                           = 0x80\n\tISTRIP                         = 0x20\n\tIXANY                          = 0x800\n\tIXOFF                          = 0x400\n\tIXON                           = 0x200\n\tKERN_HOSTNAME                  = 0xa\n\tKERN_OSRELEASE                 = 0x2\n\tKERN_OSTYPE                    = 0x1\n\tKERN_VERSION                   = 0x4\n\tLOCK_EX                        = 0x2\n\tLOCK_NB                        = 0x4\n\tLOCK_SH                        = 0x1\n\tLOCK_UN                        = 0x8\n\tMADV_AUTOSYNC                  = 0x7\n\tMADV_CORE                      = 0x9\n\tMADV_DONTNEED                  = 0x4\n\tMADV_FREE                      = 0x5\n\tMADV_NOCORE                    = 0x8\n\tMADV_NORMAL                    = 0x0\n\tMADV_NOSYNC                    = 0x6\n\tMADV_PROTECT                   = 0xa\n\tMADV_RANDOM                    = 0x1\n\tMADV_SEQUENTIAL                = 0x2\n\tMADV_WILLNEED                  = 0x3\n\tMAP_ALIGNED_SUPER              = 0x1000000\n\tMAP_ALIGNMENT_MASK             = -0x1000000\n\tMAP_ALIGNMENT_SHIFT            = 0x18\n\tMAP_ANON                       = 0x1000\n\tMAP_ANONYMOUS                  = 0x1000\n\tMAP_COPY                       = 0x2\n\tMAP_EXCL                       = 0x4000\n\tMAP_FILE                       = 0x0\n\tMAP_FIXED                      = 0x10\n\tMAP_GUARD                      = 0x2000\n\tMAP_HASSEMAPHORE               = 0x200\n\tMAP_NOCORE                     = 0x20000\n\tMAP_NOSYNC                     = 0x800\n\tMAP_PREFAULT_READ              = 0x40000\n\tMAP_PRIVATE                    = 0x2\n\tMAP_RESERVED0020               = 0x20\n\tMAP_RESERVED0040               = 0x40\n\tMAP_RESERVED0080               = 0x80\n\tMAP_RESERVED0100               = 0x100\n\tMAP_SHARED                     = 0x1\n\tMAP_STACK                      = 0x400\n\tMCL_CURRENT                    = 0x1\n\tMCL_FUTURE                     = 0x2\n\tMNT_ACLS                       = 0x8000000\n\tMNT_ASYNC                      = 0x40\n\tMNT_AUTOMOUNTED                = 0x200000000\n\tMNT_BYFSID                     = 0x8000000\n\tMNT_CMDFLAGS                   = 0xd0f0000\n\tMNT_DEFEXPORTED                = 0x200\n\tMNT_DELEXPORT                  = 0x20000\n\tMNT_EXKERB                     = 0x800\n\tMNT_EXPORTANON                 = 0x400\n\tMNT_EXPORTED                   = 0x100\n\tMNT_EXPUBLIC                   = 0x20000000\n\tMNT_EXRDONLY                   = 0x80\n\tMNT_FORCE                      = 0x80000\n\tMNT_GJOURNAL                   = 0x2000000\n\tMNT_IGNORE                     = 0x800000\n\tMNT_LAZY                       = 0x3\n\tMNT_LOCAL                      = 0x1000\n\tMNT_MULTILABEL                 = 0x4000000\n\tMNT_NFS4ACLS                   = 0x10\n\tMNT_NOATIME                    = 0x10000000\n\tMNT_NOCLUSTERR                 = 0x40000000\n\tMNT_NOCLUSTERW                 = 0x80000000\n\tMNT_NOEXEC                     = 0x4\n\tMNT_NONBUSY                    = 0x4000000\n\tMNT_NOSUID                     = 0x8\n\tMNT_NOSYMFOLLOW                = 0x400000\n\tMNT_NOWAIT                     = 0x2\n\tMNT_QUOTA                      = 0x2000\n\tMNT_RDONLY                     = 0x1\n\tMNT_RELOAD                     = 0x40000\n\tMNT_ROOTFS                     = 0x4000\n\tMNT_SNAPSHOT                   = 0x1000000\n\tMNT_SOFTDEP                    = 0x200000\n\tMNT_SUIDDIR                    = 0x100000\n\tMNT_SUJ                        = 0x100000000\n\tMNT_SUSPEND                    = 0x4\n\tMNT_SYNCHRONOUS                = 0x2\n\tMNT_UNION                      = 0x20\n\tMNT_UPDATE                     = 0x10000\n\tMNT_UPDATEMASK                 = 0x2d8d0807e\n\tMNT_USER                       = 0x8000\n\tMNT_VISFLAGMASK                = 0x3fef0ffff\n\tMNT_WAIT                       = 0x1\n\tMSG_CMSG_CLOEXEC               = 0x40000\n\tMSG_COMPAT                     = 0x8000\n\tMSG_CTRUNC                     = 0x20\n\tMSG_DONTROUTE                  = 0x4\n\tMSG_DONTWAIT                   = 0x80\n\tMSG_EOF                        = 0x100\n\tMSG_EOR                        = 0x8\n\tMSG_NBIO                       = 0x4000\n\tMSG_NOSIGNAL                   = 0x20000\n\tMSG_NOTIFICATION               = 0x2000\n\tMSG_OOB                        = 0x1\n\tMSG_PEEK                       = 0x2\n\tMSG_TRUNC                      = 0x10\n\tMSG_WAITALL                    = 0x40\n\tMSG_WAITFORONE                 = 0x80000\n\tMS_ASYNC                       = 0x1\n\tMS_INVALIDATE                  = 0x2\n\tMS_SYNC                        = 0x0\n\tNAME_MAX                       = 0xff\n\tNET_RT_DUMP                    = 0x1\n\tNET_RT_FLAGS                   = 0x2\n\tNET_RT_IFLIST                  = 0x3\n\tNET_RT_IFLISTL                 = 0x5\n\tNET_RT_IFMALIST                = 0x4\n\tNOFLSH                         = 0x80000000\n\tNOKERNINFO                     = 0x2000000\n\tNOTE_ATTRIB                    = 0x8\n\tNOTE_CHILD                     = 0x4\n\tNOTE_CLOSE                     = 0x100\n\tNOTE_CLOSE_WRITE               = 0x200\n\tNOTE_DELETE                    = 0x1\n\tNOTE_EXEC                      = 0x20000000\n\tNOTE_EXIT                      = 0x80000000\n\tNOTE_EXTEND                    = 0x4\n\tNOTE_FFAND                     = 0x40000000\n\tNOTE_FFCOPY                    = 0xc0000000\n\tNOTE_FFCTRLMASK                = 0xc0000000\n\tNOTE_FFLAGSMASK                = 0xffffff\n\tNOTE_FFNOP                     = 0x0\n\tNOTE_FFOR                      = 0x80000000\n\tNOTE_FILE_POLL                 = 0x2\n\tNOTE_FORK                      = 0x40000000\n\tNOTE_LINK                      = 0x10\n\tNOTE_LOWAT                     = 0x1\n\tNOTE_MSECONDS                  = 0x2\n\tNOTE_NSECONDS                  = 0x8\n\tNOTE_OPEN                      = 0x80\n\tNOTE_PCTRLMASK                 = 0xf0000000\n\tNOTE_PDATAMASK                 = 0xfffff\n\tNOTE_READ                      = 0x400\n\tNOTE_RENAME                    = 0x20\n\tNOTE_REVOKE                    = 0x40\n\tNOTE_SECONDS                   = 0x1\n\tNOTE_TRACK                     = 0x1\n\tNOTE_TRACKERR                  = 0x2\n\tNOTE_TRIGGER                   = 0x1000000\n\tNOTE_USECONDS                  = 0x4\n\tNOTE_WRITE                     = 0x2\n\tOCRNL                          = 0x10\n\tONLCR                          = 0x2\n\tONLRET                         = 0x40\n\tONOCR                          = 0x20\n\tONOEOT                         = 0x8\n\tOPOST                          = 0x1\n\tOXTABS                         = 0x4\n\tO_ACCMODE                      = 0x3\n\tO_APPEND                       = 0x8\n\tO_ASYNC                        = 0x40\n\tO_CLOEXEC                      = 0x100000\n\tO_CREAT                        = 0x200\n\tO_DIRECT                       = 0x10000\n\tO_DIRECTORY                    = 0x20000\n\tO_EXCL                         = 0x800\n\tO_EXEC                         = 0x40000\n\tO_EXLOCK                       = 0x20\n\tO_FSYNC                        = 0x80\n\tO_NDELAY                       = 0x4\n\tO_NOCTTY                       = 0x8000\n\tO_NOFOLLOW                     = 0x100\n\tO_NONBLOCK                     = 0x4\n\tO_RDONLY                       = 0x0\n\tO_RDWR                         = 0x2\n\tO_SHLOCK                       = 0x10\n\tO_SYNC                         = 0x80\n\tO_TRUNC                        = 0x400\n\tO_TTY_INIT                     = 0x80000\n\tO_VERIFY                       = 0x200000\n\tO_WRONLY                       = 0x1\n\tPARENB                         = 0x1000\n\tPARMRK                         = 0x8\n\tPARODD                         = 0x2000\n\tPENDIN                         = 0x20000000\n\tPRIO_PGRP                      = 0x1\n\tPRIO_PROCESS                   = 0x0\n\tPRIO_USER                      = 0x2\n\tPROT_EXEC                      = 0x4\n\tPROT_NONE                      = 0x0\n\tPROT_READ                      = 0x1\n\tPROT_WRITE                     = 0x2\n\tRLIMIT_AS                      = 0xa\n\tRLIMIT_CORE                    = 0x4\n\tRLIMIT_CPU                     = 0x0\n\tRLIMIT_DATA                    = 0x2\n\tRLIMIT_FSIZE                   = 0x1\n\tRLIMIT_MEMLOCK                 = 0x6\n\tRLIMIT_NOFILE                  = 0x8\n\tRLIMIT_NPROC                   = 0x7\n\tRLIMIT_RSS                     = 0x5\n\tRLIMIT_STACK                   = 0x3\n\tRLIM_INFINITY                  = 0x7fffffffffffffff\n\tRTAX_AUTHOR                    = 0x6\n\tRTAX_BRD                       = 0x7\n\tRTAX_DST                       = 0x0\n\tRTAX_GATEWAY                   = 0x1\n\tRTAX_GENMASK                   = 0x3\n\tRTAX_IFA                       = 0x5\n\tRTAX_IFP                       = 0x4\n\tRTAX_MAX                       = 0x8\n\tRTAX_NETMASK                   = 0x2\n\tRTA_AUTHOR                     = 0x40\n\tRTA_BRD                        = 0x80\n\tRTA_DST                        = 0x1\n\tRTA_GATEWAY                    = 0x2\n\tRTA_GENMASK                    = 0x8\n\tRTA_IFA                        = 0x20\n\tRTA_IFP                        = 0x10\n\tRTA_NETMASK                    = 0x4\n\tRTF_BLACKHOLE                  = 0x1000\n\tRTF_BROADCAST                  = 0x400000\n\tRTF_DONE                       = 0x40\n\tRTF_DYNAMIC                    = 0x10\n\tRTF_FIXEDMTU                   = 0x80000\n\tRTF_FMASK                      = 0x1004d808\n\tRTF_GATEWAY                    = 0x2\n\tRTF_GWFLAG_COMPAT              = 0x80000000\n\tRTF_HOST                       = 0x4\n\tRTF_LLDATA                     = 0x400\n\tRTF_LLINFO                     = 0x400\n\tRTF_LOCAL                      = 0x200000\n\tRTF_MODIFIED                   = 0x20\n\tRTF_MULTICAST                  = 0x800000\n\tRTF_PINNED                     = 0x100000\n\tRTF_PROTO1                     = 0x8000\n\tRTF_PROTO2                     = 0x4000\n\tRTF_PROTO3                     = 0x40000\n\tRTF_REJECT                     = 0x8\n\tRTF_RNH_LOCKED                 = 0x40000000\n\tRTF_STATIC                     = 0x800\n\tRTF_STICKY                     = 0x10000000\n\tRTF_UP                         = 0x1\n\tRTF_XRESOLVE                   = 0x200\n\tRTM_ADD                        = 0x1\n\tRTM_CHANGE                     = 0x3\n\tRTM_DELADDR                    = 0xd\n\tRTM_DELETE                     = 0x2\n\tRTM_DELMADDR                   = 0x10\n\tRTM_GET                        = 0x4\n\tRTM_IEEE80211                  = 0x12\n\tRTM_IFANNOUNCE                 = 0x11\n\tRTM_IFINFO                     = 0xe\n\tRTM_LOCK                       = 0x8\n\tRTM_LOSING                     = 0x5\n\tRTM_MISS                       = 0x7\n\tRTM_NEWADDR                    = 0xc\n\tRTM_NEWMADDR                   = 0xf\n\tRTM_REDIRECT                   = 0x6\n\tRTM_RESOLVE                    = 0xb\n\tRTM_RTTUNIT                    = 0xf4240\n\tRTM_VERSION                    = 0x5\n\tRTV_EXPIRE                     = 0x4\n\tRTV_HOPCOUNT                   = 0x2\n\tRTV_MTU                        = 0x1\n\tRTV_RPIPE                      = 0x8\n\tRTV_RTT                        = 0x40\n\tRTV_RTTVAR                     = 0x80\n\tRTV_SPIPE                      = 0x10\n\tRTV_SSTHRESH                   = 0x20\n\tRTV_WEIGHT                     = 0x100\n\tRT_ALL_FIBS                    = -0x1\n\tRT_BLACKHOLE                   = 0x40\n\tRT_CACHING_CONTEXT             = 0x1\n\tRT_DEFAULT_FIB                 = 0x0\n\tRT_HAS_GW                      = 0x80\n\tRT_HAS_HEADER                  = 0x10\n\tRT_HAS_HEADER_BIT              = 0x4\n\tRT_L2_ME                       = 0x4\n\tRT_L2_ME_BIT                   = 0x2\n\tRT_LLE_CACHE                   = 0x100\n\tRT_MAY_LOOP                    = 0x8\n\tRT_MAY_LOOP_BIT                = 0x3\n\tRT_NORTREF                     = 0x2\n\tRT_REJECT                      = 0x20\n\tRUSAGE_CHILDREN                = -0x1\n\tRUSAGE_SELF                    = 0x0\n\tRUSAGE_THREAD                  = 0x1\n\tSCM_BINTIME                    = 0x4\n\tSCM_CREDS                      = 0x3\n\tSCM_RIGHTS                     = 0x1\n\tSCM_TIMESTAMP                  = 0x2\n\tSHUT_RD                        = 0x0\n\tSHUT_RDWR                      = 0x2\n\tSHUT_WR                        = 0x1\n\tSIOCADDMULTI                   = 0x80206931\n\tSIOCAIFADDR                    = 0x8040691a\n\tSIOCAIFGROUP                   = 0x80246987\n\tSIOCATMARK                     = 0x40047307\n\tSIOCDELMULTI                   = 0x80206932\n\tSIOCDIFADDR                    = 0x80206919\n\tSIOCDIFGROUP                   = 0x80246989\n\tSIOCDIFPHYADDR                 = 0x80206949\n\tSIOCGDRVSPEC                   = 0xc01c697b\n\tSIOCGETSGCNT                   = 0xc0147210\n\tSIOCGETVIFCNT                  = 0xc014720f\n\tSIOCGHIWAT                     = 0x40047301\n\tSIOCGHWADDR                    = 0xc020693e\n\tSIOCGI2C                       = 0xc020693d\n\tSIOCGIFADDR                    = 0xc0206921\n\tSIOCGIFBRDADDR                 = 0xc0206923\n\tSIOCGIFCAP                     = 0xc020691f\n\tSIOCGIFCONF                    = 0xc0086924\n\tSIOCGIFDESCR                   = 0xc020692a\n\tSIOCGIFDSTADDR                 = 0xc0206922\n\tSIOCGIFFIB                     = 0xc020695c\n\tSIOCGIFFLAGS                   = 0xc0206911\n\tSIOCGIFGENERIC                 = 0xc020693a\n\tSIOCGIFGMEMB                   = 0xc024698a\n\tSIOCGIFGROUP                   = 0xc0246988\n\tSIOCGIFINDEX                   = 0xc0206920\n\tSIOCGIFMAC                     = 0xc0206926\n\tSIOCGIFMEDIA                   = 0xc0286938\n\tSIOCGIFMETRIC                  = 0xc0206917\n\tSIOCGIFMTU                     = 0xc0206933\n\tSIOCGIFNETMASK                 = 0xc0206925\n\tSIOCGIFPDSTADDR                = 0xc0206948\n\tSIOCGIFPHYS                    = 0xc0206935\n\tSIOCGIFPSRCADDR                = 0xc0206947\n\tSIOCGIFSTATUS                  = 0xc331693b\n\tSIOCGIFXMEDIA                  = 0xc028698b\n\tSIOCGLOWAT                     = 0x40047303\n\tSIOCGPGRP                      = 0x40047309\n\tSIOCGPRIVATE_0                 = 0xc0206950\n\tSIOCGPRIVATE_1                 = 0xc0206951\n\tSIOCGTUNFIB                    = 0xc020695e\n\tSIOCIFCREATE                   = 0xc020697a\n\tSIOCIFCREATE2                  = 0xc020697c\n\tSIOCIFDESTROY                  = 0x80206979\n\tSIOCIFGCLONERS                 = 0xc00c6978\n\tSIOCSDRVSPEC                   = 0x801c697b\n\tSIOCSHIWAT                     = 0x80047300\n\tSIOCSIFADDR                    = 0x8020690c\n\tSIOCSIFBRDADDR                 = 0x80206913\n\tSIOCSIFCAP                     = 0x8020691e\n\tSIOCSIFDESCR                   = 0x80206929\n\tSIOCSIFDSTADDR                 = 0x8020690e\n\tSIOCSIFFIB                     = 0x8020695d\n\tSIOCSIFFLAGS                   = 0x80206910\n\tSIOCSIFGENERIC                 = 0x80206939\n\tSIOCSIFLLADDR                  = 0x8020693c\n\tSIOCSIFMAC                     = 0x80206927\n\tSIOCSIFMEDIA                   = 0xc0206937\n\tSIOCSIFMETRIC                  = 0x80206918\n\tSIOCSIFMTU                     = 0x80206934\n\tSIOCSIFNAME                    = 0x80206928\n\tSIOCSIFNETMASK                 = 0x80206916\n\tSIOCSIFPHYADDR                 = 0x80406946\n\tSIOCSIFPHYS                    = 0x80206936\n\tSIOCSIFRVNET                   = 0xc020695b\n\tSIOCSIFVNET                    = 0xc020695a\n\tSIOCSLOWAT                     = 0x80047302\n\tSIOCSPGRP                      = 0x80047308\n\tSIOCSTUNFIB                    = 0x8020695f\n\tSOCK_CLOEXEC                   = 0x10000000\n\tSOCK_DGRAM                     = 0x2\n\tSOCK_MAXADDRLEN                = 0xff\n\tSOCK_NONBLOCK                  = 0x20000000\n\tSOCK_RAW                       = 0x3\n\tSOCK_RDM                       = 0x4\n\tSOCK_SEQPACKET                 = 0x5\n\tSOCK_STREAM                    = 0x1\n\tSOL_SOCKET                     = 0xffff\n\tSOMAXCONN                      = 0x80\n\tSO_ACCEPTCONN                  = 0x2\n\tSO_ACCEPTFILTER                = 0x1000\n\tSO_BINTIME                     = 0x2000\n\tSO_BROADCAST                   = 0x20\n\tSO_DEBUG                       = 0x1\n\tSO_DONTROUTE                   = 0x10\n\tSO_ERROR                       = 0x1007\n\tSO_KEEPALIVE                   = 0x8\n\tSO_LABEL                       = 0x1009\n\tSO_LINGER                      = 0x80\n\tSO_LISTENINCQLEN               = 0x1013\n\tSO_LISTENQLEN                  = 0x1012\n\tSO_LISTENQLIMIT                = 0x1011\n\tSO_NOSIGPIPE                   = 0x800\n\tSO_NO_DDP                      = 0x8000\n\tSO_NO_OFFLOAD                  = 0x4000\n\tSO_OOBINLINE                   = 0x100\n\tSO_PEERLABEL                   = 0x1010\n\tSO_PROTOCOL                    = 0x1016\n\tSO_PROTOTYPE                   = 0x1016\n\tSO_RCVBUF                      = 0x1002\n\tSO_RCVLOWAT                    = 0x1004\n\tSO_RCVTIMEO                    = 0x1006\n\tSO_REUSEADDR                   = 0x4\n\tSO_REUSEPORT                   = 0x200\n\tSO_SETFIB                      = 0x1014\n\tSO_SNDBUF                      = 0x1001\n\tSO_SNDLOWAT                    = 0x1003\n\tSO_SNDTIMEO                    = 0x1005\n\tSO_TIMESTAMP                   = 0x400\n\tSO_TYPE                        = 0x1008\n\tSO_USELOOPBACK                 = 0x40\n\tSO_USER_COOKIE                 = 0x1015\n\tSO_VENDOR                      = 0x80000000\n\tTAB0                           = 0x0\n\tTAB3                           = 0x4\n\tTABDLY                         = 0x4\n\tTCIFLUSH                       = 0x1\n\tTCIOFF                         = 0x3\n\tTCIOFLUSH                      = 0x3\n\tTCION                          = 0x4\n\tTCOFLUSH                       = 0x2\n\tTCOOFF                         = 0x1\n\tTCOON                          = 0x2\n\tTCP_CA_NAME_MAX                = 0x10\n\tTCP_CCALGOOPT                  = 0x41\n\tTCP_CONGESTION                 = 0x40\n\tTCP_FASTOPEN                   = 0x401\n\tTCP_FUNCTION_BLK               = 0x2000\n\tTCP_FUNCTION_NAME_LEN_MAX      = 0x20\n\tTCP_INFO                       = 0x20\n\tTCP_KEEPCNT                    = 0x400\n\tTCP_KEEPIDLE                   = 0x100\n\tTCP_KEEPINIT                   = 0x80\n\tTCP_KEEPINTVL                  = 0x200\n\tTCP_MAXBURST                   = 0x4\n\tTCP_MAXHLEN                    = 0x3c\n\tTCP_MAXOLEN                    = 0x28\n\tTCP_MAXSEG                     = 0x2\n\tTCP_MAXWIN                     = 0xffff\n\tTCP_MAX_SACK                   = 0x4\n\tTCP_MAX_WINSHIFT               = 0xe\n\tTCP_MD5SIG                     = 0x10\n\tTCP_MINMSS                     = 0xd8\n\tTCP_MSS                        = 0x218\n\tTCP_NODELAY                    = 0x1\n\tTCP_NOOPT                      = 0x8\n\tTCP_NOPUSH                     = 0x4\n\tTCP_PCAP_IN                    = 0x1000\n\tTCP_PCAP_OUT                   = 0x800\n\tTCP_VENDOR                     = 0x80000000\n\tTCSAFLUSH                      = 0x2\n\tTIOCCBRK                       = 0x2000747a\n\tTIOCCDTR                       = 0x20007478\n\tTIOCCONS                       = 0x80047462\n\tTIOCDRAIN                      = 0x2000745e\n\tTIOCEXCL                       = 0x2000740d\n\tTIOCEXT                        = 0x80047460\n\tTIOCFLUSH                      = 0x80047410\n\tTIOCGDRAINWAIT                 = 0x40047456\n\tTIOCGETA                       = 0x402c7413\n\tTIOCGETD                       = 0x4004741a\n\tTIOCGPGRP                      = 0x40047477\n\tTIOCGPTN                       = 0x4004740f\n\tTIOCGSID                       = 0x40047463\n\tTIOCGWINSZ                     = 0x40087468\n\tTIOCMBIC                       = 0x8004746b\n\tTIOCMBIS                       = 0x8004746c\n\tTIOCMGDTRWAIT                  = 0x4004745a\n\tTIOCMGET                       = 0x4004746a\n\tTIOCMSDTRWAIT                  = 0x8004745b\n\tTIOCMSET                       = 0x8004746d\n\tTIOCM_CAR                      = 0x40\n\tTIOCM_CD                       = 0x40\n\tTIOCM_CTS                      = 0x20\n\tTIOCM_DCD                      = 0x40\n\tTIOCM_DSR                      = 0x100\n\tTIOCM_DTR                      = 0x2\n\tTIOCM_LE                       = 0x1\n\tTIOCM_RI                       = 0x80\n\tTIOCM_RNG                      = 0x80\n\tTIOCM_RTS                      = 0x4\n\tTIOCM_SR                       = 0x10\n\tTIOCM_ST                       = 0x8\n\tTIOCNOTTY                      = 0x20007471\n\tTIOCNXCL                       = 0x2000740e\n\tTIOCOUTQ                       = 0x40047473\n\tTIOCPKT                        = 0x80047470\n\tTIOCPKT_DATA                   = 0x0\n\tTIOCPKT_DOSTOP                 = 0x20\n\tTIOCPKT_FLUSHREAD              = 0x1\n\tTIOCPKT_FLUSHWRITE             = 0x2\n\tTIOCPKT_IOCTL                  = 0x40\n\tTIOCPKT_NOSTOP                 = 0x10\n\tTIOCPKT_START                  = 0x8\n\tTIOCPKT_STOP                   = 0x4\n\tTIOCPTMASTER                   = 0x2000741c\n\tTIOCSBRK                       = 0x2000747b\n\tTIOCSCTTY                      = 0x20007461\n\tTIOCSDRAINWAIT                 = 0x80047457\n\tTIOCSDTR                       = 0x20007479\n\tTIOCSETA                       = 0x802c7414\n\tTIOCSETAF                      = 0x802c7416\n\tTIOCSETAW                      = 0x802c7415\n\tTIOCSETD                       = 0x8004741b\n\tTIOCSIG                        = 0x2004745f\n\tTIOCSPGRP                      = 0x80047476\n\tTIOCSTART                      = 0x2000746e\n\tTIOCSTAT                       = 0x20007465\n\tTIOCSTI                        = 0x80017472\n\tTIOCSTOP                       = 0x2000746f\n\tTIOCSWINSZ                     = 0x80087467\n\tTIOCTIMESTAMP                  = 0x40107459\n\tTIOCUCNTL                      = 0x80047466\n\tTOSTOP                         = 0x400000\n\tVDISCARD                       = 0xf\n\tVDSUSP                         = 0xb\n\tVEOF                           = 0x0\n\tVEOL                           = 0x1\n\tVEOL2                          = 0x2\n\tVERASE                         = 0x3\n\tVERASE2                        = 0x7\n\tVINTR                          = 0x8\n\tVKILL                          = 0x5\n\tVLNEXT                         = 0xe\n\tVMIN                           = 0x10\n\tVQUIT                          = 0x9\n\tVREPRINT                       = 0x6\n\tVSTART                         = 0xc\n\tVSTATUS                        = 0x12\n\tVSTOP                          = 0xd\n\tVSUSP                          = 0xa\n\tVTIME                          = 0x11\n\tVWERASE                        = 0x4\n\tWCONTINUED                     = 0x4\n\tWCOREFLAG                      = 0x80\n\tWEXITED                        = 0x10\n\tWLINUXCLONE                    = 0x80000000\n\tWNOHANG                        = 0x1\n\tWNOWAIT                        = 0x8\n\tWSTOPPED                       = 0x2\n\tWTRAPPED                       = 0x20\n\tWUNTRACED                      = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x59)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x55)\n\tECAPMODE        = syscall.Errno(0x5e)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOOFUS         = syscall.Errno(0x58)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x56)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x60)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5a)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x57)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCAPABLE     = syscall.Errno(0x5d)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x5f)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x60)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x5c)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGLIBRT  = syscall.Signal(0x21)\n\tSIGLWP    = syscall.Signal(0x20)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTHR    = syscall.Signal(0x20)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:  \"operation not permitted\",\n\t2:  \"no such file or directory\",\n\t3:  \"no such process\",\n\t4:  \"interrupted system call\",\n\t5:  \"input/output error\",\n\t6:  \"device not configured\",\n\t7:  \"argument list too long\",\n\t8:  \"exec format error\",\n\t9:  \"bad file descriptor\",\n\t10: \"no child processes\",\n\t11: \"resource deadlock avoided\",\n\t12: \"cannot allocate memory\",\n\t13: \"permission denied\",\n\t14: \"bad address\",\n\t15: \"block device required\",\n\t16: \"device busy\",\n\t17: \"file exists\",\n\t18: \"cross-device link\",\n\t19: \"operation not supported by device\",\n\t20: \"not a directory\",\n\t21: \"is a directory\",\n\t22: \"invalid argument\",\n\t23: \"too many open files in system\",\n\t24: \"too many open files\",\n\t25: \"inappropriate ioctl for device\",\n\t26: \"text file busy\",\n\t27: \"file too large\",\n\t28: \"no space left on device\",\n\t29: \"illegal seek\",\n\t30: \"read-only file system\",\n\t31: \"too many links\",\n\t32: \"broken pipe\",\n\t33: \"numerical argument out of domain\",\n\t34: \"result too large\",\n\t35: \"resource temporarily unavailable\",\n\t36: \"operation now in progress\",\n\t37: \"operation already in progress\",\n\t38: \"socket operation on non-socket\",\n\t39: \"destination address required\",\n\t40: \"message too long\",\n\t41: \"protocol wrong type for socket\",\n\t42: \"protocol not available\",\n\t43: \"protocol not supported\",\n\t44: \"socket type not supported\",\n\t45: \"operation not supported\",\n\t46: \"protocol family not supported\",\n\t47: \"address family not supported by protocol family\",\n\t48: \"address already in use\",\n\t49: \"can't assign requested address\",\n\t50: \"network is down\",\n\t51: \"network is unreachable\",\n\t52: \"network dropped connection on reset\",\n\t53: \"software caused connection abort\",\n\t54: \"connection reset by peer\",\n\t55: \"no buffer space available\",\n\t56: \"socket is already connected\",\n\t57: \"socket is not connected\",\n\t58: \"can't send after socket shutdown\",\n\t59: \"too many references: can't splice\",\n\t60: \"operation timed out\",\n\t61: \"connection refused\",\n\t62: \"too many levels of symbolic links\",\n\t63: \"file name too long\",\n\t64: \"host is down\",\n\t65: \"no route to host\",\n\t66: \"directory not empty\",\n\t67: \"too many processes\",\n\t68: \"too many users\",\n\t69: \"disc quota exceeded\",\n\t70: \"stale NFS file handle\",\n\t71: \"too many levels of remote in path\",\n\t72: \"RPC struct is bad\",\n\t73: \"RPC version wrong\",\n\t74: \"RPC prog. not avail\",\n\t75: \"program version wrong\",\n\t76: \"bad procedure for program\",\n\t77: \"no locks available\",\n\t78: \"function not implemented\",\n\t79: \"inappropriate file type or format\",\n\t80: \"authentication error\",\n\t81: \"need authenticator\",\n\t82: \"identifier removed\",\n\t83: \"no message of desired type\",\n\t84: \"value too large to be stored in data type\",\n\t85: \"operation canceled\",\n\t86: \"illegal byte sequence\",\n\t87: \"attribute not found\",\n\t88: \"programming error\",\n\t89: \"bad message\",\n\t90: \"multihop attempted\",\n\t91: \"link has been severed\",\n\t92: \"protocol error\",\n\t93: \"capabilities insufficient\",\n\t94: \"not permitted in capability mode\",\n\t95: \"state not recoverable\",\n\t96: \"previous owner died\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"suspended (signal)\",\n\t18: \"suspended\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n\t32: \"unknown signal\",\n\t33: \"unknown signal\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_386.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include -m32\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBLKBSZGET                            = 0x80041270\n\tBLKBSZSET                            = 0x40041271\n\tBLKFLSBUF                            = 0x1261\n\tBLKFRAGET                            = 0x1265\n\tBLKFRASET                            = 0x1264\n\tBLKGETSIZE                           = 0x1260\n\tBLKGETSIZE64                         = 0x80041272\n\tBLKPBSZGET                           = 0x127b\n\tBLKRAGET                             = 0x1263\n\tBLKRASET                             = 0x1262\n\tBLKROGET                             = 0x125e\n\tBLKROSET                             = 0x125d\n\tBLKRRPART                            = 0x125f\n\tBLKSECTGET                           = 0x1267\n\tBLKSECTSET                           = 0x1266\n\tBLKSSZGET                            = 0x1268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x1000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0xc\n\tF_GETLK64                            = 0xc\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0xd\n\tF_SETLK64                            = 0xd\n\tF_SETLKW                             = 0xe\n\tF_SETLKW64                           = 0xe\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x8000\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x8\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x7b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMAP_32BIT                            = 0x40\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x2000\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x4000\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_STACK                            = 0x20000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tNAME_MAX                             = 0xff\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPOST                                = 0x1\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x4000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x8000\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x2401\n\tPERF_EVENT_IOC_ENABLE                = 0x2400\n\tPERF_EVENT_IOC_ID                    = 0x80042407\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409\n\tPERF_EVENT_IOC_PERIOD                = 0x40082404\n\tPERF_EVENT_IOC_REFRESH               = 0x2402\n\tPERF_EVENT_IOC_RESET                 = 0x2403\n\tPERF_EVENT_IOC_SET_BPF               = 0x40042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x40042406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x2405\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETFPXREGS                    = 0x12\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_THREAD_AREA               = 0x19\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETFPXREGS                    = 0x13\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SET_THREAD_AREA               = 0x1a\n\tPTRACE_SINGLEBLOCK                   = 0x21\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_SYSEMU                        = 0x1f\n\tPTRACE_SYSEMU_SINGLESTEP             = 0x20\n\tPTRACE_TRACEME                       = 0x0\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x10\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1a\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x541b\n\tSIOCOUTQ                             = 0x5411\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x10\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x11\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x12\n\tSO_RCVTIMEO                          = 0x14\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x13\n\tSO_SNDTIMEO                          = 0x15\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x540b\n\tTCGETA                               = 0x5405\n\tTCGETS                               = 0x5401\n\tTCGETS2                              = 0x802c542a\n\tTCGETX                               = 0x5432\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x5409\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x5406\n\tTCSETAF                              = 0x5408\n\tTCSETAW                              = 0x5407\n\tTCSETS                               = 0x5402\n\tTCSETS2                              = 0x402c542b\n\tTCSETSF                              = 0x5404\n\tTCSETSF2                             = 0x402c542d\n\tTCSETSW                              = 0x5403\n\tTCSETSW2                             = 0x402c542c\n\tTCSETX                               = 0x5433\n\tTCSETXF                              = 0x5434\n\tTCSETXW                              = 0x5435\n\tTCXONC                               = 0x540a\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x80045432\n\tTIOCGETD                             = 0x5424\n\tTIOCGEXCL                            = 0x80045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGPGRP                            = 0x540f\n\tTIOCGPKT                             = 0x80045438\n\tTIOCGPTLCK                           = 0x80045439\n\tTIOCGPTN                             = 0x80045430\n\tTIOCGPTPEER                          = 0x5441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x5413\n\tTIOCINQ                              = 0x541b\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x5411\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x5423\n\tTIOCSIG                              = 0x40045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSPGRP                            = 0x5410\n\tTIOCSPTLCK                           = 0x40045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTI                              = 0x5412\n\tTIOCSWINSZ                           = 0x5414\n\tTIOCVHANGUP                          = 0x5437\n\tTOSTOP                               = 0x100\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x400854d5\n\tTUNDETACHFILTER                      = 0x400854d6\n\tTUNGETFEATURES                       = 0x800454cf\n\tTUNGETFILTER                         = 0x800854db\n\tTUNGETIFF                            = 0x800454d2\n\tTUNGETSNDBUF                         = 0x800454d3\n\tTUNGETVNETBE                         = 0x800454df\n\tTUNGETVNETHDRSZ                      = 0x800454d7\n\tTUNGETVNETLE                         = 0x800454dd\n\tTUNSETDEBUG                          = 0x400454c9\n\tTUNSETGROUP                          = 0x400454ce\n\tTUNSETIFF                            = 0x400454ca\n\tTUNSETIFINDEX                        = 0x400454da\n\tTUNSETLINK                           = 0x400454cd\n\tTUNSETNOCSUM                         = 0x400454c8\n\tTUNSETOFFLOAD                        = 0x400454d0\n\tTUNSETOWNER                          = 0x400454cc\n\tTUNSETPERSIST                        = 0x400454cb\n\tTUNSETQUEUE                          = 0x400454d9\n\tTUNSETSNDBUF                         = 0x400454d4\n\tTUNSETTXFILTER                       = 0x400454d1\n\tTUNSETVNETBE                         = 0x400454de\n\tTUNSETVNETHDRSZ                      = 0x400454d8\n\tTUNSETVNETLE                         = 0x400454dc\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0xb\n\tVEOL2                                = 0x10\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x6\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x80045702\n\tWDIOC_GETPRETIMEOUT                  = 0x80045709\n\tWDIOC_GETSTATUS                      = 0x80045701\n\tWDIOC_GETSUPPORT                     = 0x80285700\n\tWDIOC_GETTEMP                        = 0x80045703\n\tWDIOC_GETTIMELEFT                    = 0x8004570a\n\tWDIOC_GETTIMEOUT                     = 0x80045707\n\tWDIOC_KEEPALIVE                      = 0x80045705\n\tWDIOC_SETOPTIONS                     = 0x80045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x20\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXTABS                                = 0x1800\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x23)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"no such device or address\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource temporarily unavailable\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"device or resource busy\",\n\t17:  \"file exists\",\n\t18:  \"invalid cross-device link\",\n\t19:  \"no such device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"numerical result out of range\",\n\t35:  \"resource deadlock avoided\",\n\t36:  \"file name too long\",\n\t37:  \"no locks available\",\n\t38:  \"function not implemented\",\n\t39:  \"directory not empty\",\n\t40:  \"too many levels of symbolic links\",\n\t42:  \"no message of desired type\",\n\t43:  \"identifier removed\",\n\t44:  \"channel number out of range\",\n\t45:  \"level 2 not synchronized\",\n\t46:  \"level 3 halted\",\n\t47:  \"level 3 reset\",\n\t48:  \"link number out of range\",\n\t49:  \"protocol driver not attached\",\n\t50:  \"no CSI structure available\",\n\t51:  \"level 2 halted\",\n\t52:  \"invalid exchange\",\n\t53:  \"invalid request descriptor\",\n\t54:  \"exchange full\",\n\t55:  \"no anode\",\n\t56:  \"invalid request code\",\n\t57:  \"invalid slot\",\n\t59:  \"bad font file format\",\n\t60:  \"device not a stream\",\n\t61:  \"no data available\",\n\t62:  \"timer expired\",\n\t63:  \"out of streams resources\",\n\t64:  \"machine is not on the network\",\n\t65:  \"package not installed\",\n\t66:  \"object is remote\",\n\t67:  \"link has been severed\",\n\t68:  \"advertise error\",\n\t69:  \"srmount error\",\n\t70:  \"communication error on send\",\n\t71:  \"protocol error\",\n\t72:  \"multihop attempted\",\n\t73:  \"RFS specific error\",\n\t74:  \"bad message\",\n\t75:  \"value too large for defined data type\",\n\t76:  \"name not unique on network\",\n\t77:  \"file descriptor in bad state\",\n\t78:  \"remote address changed\",\n\t79:  \"can not access a needed shared library\",\n\t80:  \"accessing a corrupted shared library\",\n\t81:  \".lib section in a.out corrupted\",\n\t82:  \"attempting to link in too many shared libraries\",\n\t83:  \"cannot exec a shared library directly\",\n\t84:  \"invalid or incomplete multibyte or wide character\",\n\t85:  \"interrupted system call should be restarted\",\n\t86:  \"streams pipe error\",\n\t87:  \"too many users\",\n\t88:  \"socket operation on non-socket\",\n\t89:  \"destination address required\",\n\t90:  \"message too long\",\n\t91:  \"protocol wrong type for socket\",\n\t92:  \"protocol not available\",\n\t93:  \"protocol not supported\",\n\t94:  \"socket type not supported\",\n\t95:  \"operation not supported\",\n\t96:  \"protocol family not supported\",\n\t97:  \"address family not supported by protocol\",\n\t98:  \"address already in use\",\n\t99:  \"cannot assign requested address\",\n\t100: \"network is down\",\n\t101: \"network is unreachable\",\n\t102: \"network dropped connection on reset\",\n\t103: \"software caused connection abort\",\n\t104: \"connection reset by peer\",\n\t105: \"no buffer space available\",\n\t106: \"transport endpoint is already connected\",\n\t107: \"transport endpoint is not connected\",\n\t108: \"cannot send after transport endpoint shutdown\",\n\t109: \"too many references: cannot splice\",\n\t110: \"connection timed out\",\n\t111: \"connection refused\",\n\t112: \"host is down\",\n\t113: \"no route to host\",\n\t114: \"operation already in progress\",\n\t115: \"operation now in progress\",\n\t116: \"stale file handle\",\n\t117: \"structure needs cleaning\",\n\t118: \"not a XENIX named type file\",\n\t119: \"no XENIX semaphores available\",\n\t120: \"is a named type file\",\n\t121: \"remote I/O error\",\n\t122: \"disk quota exceeded\",\n\t123: \"no medium found\",\n\t124: \"wrong medium type\",\n\t125: \"operation canceled\",\n\t126: \"required key not available\",\n\t127: \"key has expired\",\n\t128: \"key has been revoked\",\n\t129: \"key was rejected by service\",\n\t130: \"owner died\",\n\t131: \"state not recoverable\",\n\t132: \"operation not possible due to RF-kill\",\n\t133: \"memory page has hardware error\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"bus error\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"user defined signal 1\",\n\t11: \"segmentation fault\",\n\t12: \"user defined signal 2\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"stack fault\",\n\t17: \"child exited\",\n\t18: \"continued\",\n\t19: \"stopped (signal)\",\n\t20: \"stopped\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"urgent I/O condition\",\n\t24: \"CPU time limit exceeded\",\n\t25: \"file size limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window changed\",\n\t29: \"I/O possible\",\n\t30: \"power failure\",\n\t31: \"bad system call\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBLKBSZGET                            = 0x80081270\n\tBLKBSZSET                            = 0x40081271\n\tBLKFLSBUF                            = 0x1261\n\tBLKFRAGET                            = 0x1265\n\tBLKFRASET                            = 0x1264\n\tBLKGETSIZE                           = 0x1260\n\tBLKGETSIZE64                         = 0x80081272\n\tBLKPBSZGET                           = 0x127b\n\tBLKRAGET                             = 0x1263\n\tBLKRASET                             = 0x1262\n\tBLKROGET                             = 0x125e\n\tBLKROSET                             = 0x125d\n\tBLKRRPART                            = 0x125f\n\tBLKSECTGET                           = 0x1267\n\tBLKSECTSET                           = 0x1266\n\tBLKSSZGET                            = 0x1268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x1000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x5\n\tF_GETLK64                            = 0x5\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0x6\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0x7\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x8000\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x8\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x7b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMAP_32BIT                            = 0x40\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x2000\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x4000\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_STACK                            = 0x20000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tNAME_MAX                             = 0xff\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPOST                                = 0x1\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x4000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x2401\n\tPERF_EVENT_IOC_ENABLE                = 0x2400\n\tPERF_EVENT_IOC_ID                    = 0x80082407\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409\n\tPERF_EVENT_IOC_PERIOD                = 0x40082404\n\tPERF_EVENT_IOC_REFRESH               = 0x2402\n\tPERF_EVENT_IOC_RESET                 = 0x2403\n\tPERF_EVENT_IOC_SET_BPF               = 0x40042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x40082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x2405\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPTRACE_ARCH_PRCTL                    = 0x1e\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETFPXREGS                    = 0x12\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_THREAD_AREA               = 0x19\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETFPXREGS                    = 0x13\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SET_THREAD_AREA               = 0x1a\n\tPTRACE_SINGLEBLOCK                   = 0x21\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_SYSEMU                        = 0x1f\n\tPTRACE_SYSEMU_SINGLESTEP             = 0x20\n\tPTRACE_TRACEME                       = 0x0\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x10\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1a\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x541b\n\tSIOCOUTQ                             = 0x5411\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x10\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x11\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x12\n\tSO_RCVTIMEO                          = 0x14\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x13\n\tSO_SNDTIMEO                          = 0x15\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x540b\n\tTCGETA                               = 0x5405\n\tTCGETS                               = 0x5401\n\tTCGETS2                              = 0x802c542a\n\tTCGETX                               = 0x5432\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x5409\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x5406\n\tTCSETAF                              = 0x5408\n\tTCSETAW                              = 0x5407\n\tTCSETS                               = 0x5402\n\tTCSETS2                              = 0x402c542b\n\tTCSETSF                              = 0x5404\n\tTCSETSF2                             = 0x402c542d\n\tTCSETSW                              = 0x5403\n\tTCSETSW2                             = 0x402c542c\n\tTCSETX                               = 0x5433\n\tTCSETXF                              = 0x5434\n\tTCSETXW                              = 0x5435\n\tTCXONC                               = 0x540a\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x80045432\n\tTIOCGETD                             = 0x5424\n\tTIOCGEXCL                            = 0x80045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGPGRP                            = 0x540f\n\tTIOCGPKT                             = 0x80045438\n\tTIOCGPTLCK                           = 0x80045439\n\tTIOCGPTN                             = 0x80045430\n\tTIOCGPTPEER                          = 0x5441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x5413\n\tTIOCINQ                              = 0x541b\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x5411\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x5423\n\tTIOCSIG                              = 0x40045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSPGRP                            = 0x5410\n\tTIOCSPTLCK                           = 0x40045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTI                              = 0x5412\n\tTIOCSWINSZ                           = 0x5414\n\tTIOCVHANGUP                          = 0x5437\n\tTOSTOP                               = 0x100\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x401054d5\n\tTUNDETACHFILTER                      = 0x401054d6\n\tTUNGETFEATURES                       = 0x800454cf\n\tTUNGETFILTER                         = 0x801054db\n\tTUNGETIFF                            = 0x800454d2\n\tTUNGETSNDBUF                         = 0x800454d3\n\tTUNGETVNETBE                         = 0x800454df\n\tTUNGETVNETHDRSZ                      = 0x800454d7\n\tTUNGETVNETLE                         = 0x800454dd\n\tTUNSETDEBUG                          = 0x400454c9\n\tTUNSETGROUP                          = 0x400454ce\n\tTUNSETIFF                            = 0x400454ca\n\tTUNSETIFINDEX                        = 0x400454da\n\tTUNSETLINK                           = 0x400454cd\n\tTUNSETNOCSUM                         = 0x400454c8\n\tTUNSETOFFLOAD                        = 0x400454d0\n\tTUNSETOWNER                          = 0x400454cc\n\tTUNSETPERSIST                        = 0x400454cb\n\tTUNSETQUEUE                          = 0x400454d9\n\tTUNSETSNDBUF                         = 0x400454d4\n\tTUNSETTXFILTER                       = 0x400454d1\n\tTUNSETVNETBE                         = 0x400454de\n\tTUNSETVNETHDRSZ                      = 0x400454d8\n\tTUNSETVNETLE                         = 0x400454dc\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0xb\n\tVEOL2                                = 0x10\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x6\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x80045702\n\tWDIOC_GETPRETIMEOUT                  = 0x80045709\n\tWDIOC_GETSTATUS                      = 0x80045701\n\tWDIOC_GETSUPPORT                     = 0x80285700\n\tWDIOC_GETTEMP                        = 0x80045703\n\tWDIOC_GETTIMELEFT                    = 0x8004570a\n\tWDIOC_GETTIMEOUT                     = 0x80045707\n\tWDIOC_KEEPALIVE                      = 0x80045705\n\tWDIOC_SETOPTIONS                     = 0x80045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXTABS                                = 0x1800\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x23)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"no such device or address\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource temporarily unavailable\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"device or resource busy\",\n\t17:  \"file exists\",\n\t18:  \"invalid cross-device link\",\n\t19:  \"no such device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"numerical result out of range\",\n\t35:  \"resource deadlock avoided\",\n\t36:  \"file name too long\",\n\t37:  \"no locks available\",\n\t38:  \"function not implemented\",\n\t39:  \"directory not empty\",\n\t40:  \"too many levels of symbolic links\",\n\t42:  \"no message of desired type\",\n\t43:  \"identifier removed\",\n\t44:  \"channel number out of range\",\n\t45:  \"level 2 not synchronized\",\n\t46:  \"level 3 halted\",\n\t47:  \"level 3 reset\",\n\t48:  \"link number out of range\",\n\t49:  \"protocol driver not attached\",\n\t50:  \"no CSI structure available\",\n\t51:  \"level 2 halted\",\n\t52:  \"invalid exchange\",\n\t53:  \"invalid request descriptor\",\n\t54:  \"exchange full\",\n\t55:  \"no anode\",\n\t56:  \"invalid request code\",\n\t57:  \"invalid slot\",\n\t59:  \"bad font file format\",\n\t60:  \"device not a stream\",\n\t61:  \"no data available\",\n\t62:  \"timer expired\",\n\t63:  \"out of streams resources\",\n\t64:  \"machine is not on the network\",\n\t65:  \"package not installed\",\n\t66:  \"object is remote\",\n\t67:  \"link has been severed\",\n\t68:  \"advertise error\",\n\t69:  \"srmount error\",\n\t70:  \"communication error on send\",\n\t71:  \"protocol error\",\n\t72:  \"multihop attempted\",\n\t73:  \"RFS specific error\",\n\t74:  \"bad message\",\n\t75:  \"value too large for defined data type\",\n\t76:  \"name not unique on network\",\n\t77:  \"file descriptor in bad state\",\n\t78:  \"remote address changed\",\n\t79:  \"can not access a needed shared library\",\n\t80:  \"accessing a corrupted shared library\",\n\t81:  \".lib section in a.out corrupted\",\n\t82:  \"attempting to link in too many shared libraries\",\n\t83:  \"cannot exec a shared library directly\",\n\t84:  \"invalid or incomplete multibyte or wide character\",\n\t85:  \"interrupted system call should be restarted\",\n\t86:  \"streams pipe error\",\n\t87:  \"too many users\",\n\t88:  \"socket operation on non-socket\",\n\t89:  \"destination address required\",\n\t90:  \"message too long\",\n\t91:  \"protocol wrong type for socket\",\n\t92:  \"protocol not available\",\n\t93:  \"protocol not supported\",\n\t94:  \"socket type not supported\",\n\t95:  \"operation not supported\",\n\t96:  \"protocol family not supported\",\n\t97:  \"address family not supported by protocol\",\n\t98:  \"address already in use\",\n\t99:  \"cannot assign requested address\",\n\t100: \"network is down\",\n\t101: \"network is unreachable\",\n\t102: \"network dropped connection on reset\",\n\t103: \"software caused connection abort\",\n\t104: \"connection reset by peer\",\n\t105: \"no buffer space available\",\n\t106: \"transport endpoint is already connected\",\n\t107: \"transport endpoint is not connected\",\n\t108: \"cannot send after transport endpoint shutdown\",\n\t109: \"too many references: cannot splice\",\n\t110: \"connection timed out\",\n\t111: \"connection refused\",\n\t112: \"host is down\",\n\t113: \"no route to host\",\n\t114: \"operation already in progress\",\n\t115: \"operation now in progress\",\n\t116: \"stale file handle\",\n\t117: \"structure needs cleaning\",\n\t118: \"not a XENIX named type file\",\n\t119: \"no XENIX semaphores available\",\n\t120: \"is a named type file\",\n\t121: \"remote I/O error\",\n\t122: \"disk quota exceeded\",\n\t123: \"no medium found\",\n\t124: \"wrong medium type\",\n\t125: \"operation canceled\",\n\t126: \"required key not available\",\n\t127: \"key has expired\",\n\t128: \"key has been revoked\",\n\t129: \"key was rejected by service\",\n\t130: \"owner died\",\n\t131: \"state not recoverable\",\n\t132: \"operation not possible due to RF-kill\",\n\t133: \"memory page has hardware error\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"bus error\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"user defined signal 1\",\n\t11: \"segmentation fault\",\n\t12: \"user defined signal 2\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"stack fault\",\n\t17: \"child exited\",\n\t18: \"continued\",\n\t19: \"stopped (signal)\",\n\t20: \"stopped\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"urgent I/O condition\",\n\t24: \"CPU time limit exceeded\",\n\t25: \"file size limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window changed\",\n\t29: \"I/O possible\",\n\t30: \"power failure\",\n\t31: \"bad system call\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_arm.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBLKBSZGET                            = 0x80041270\n\tBLKBSZSET                            = 0x40041271\n\tBLKFLSBUF                            = 0x1261\n\tBLKFRAGET                            = 0x1265\n\tBLKFRASET                            = 0x1264\n\tBLKGETSIZE                           = 0x1260\n\tBLKGETSIZE64                         = 0x80041272\n\tBLKPBSZGET                           = 0x127b\n\tBLKRAGET                             = 0x1263\n\tBLKRASET                             = 0x1262\n\tBLKROGET                             = 0x125e\n\tBLKROSET                             = 0x125d\n\tBLKRRPART                            = 0x125f\n\tBLKSECTGET                           = 0x1267\n\tBLKSECTSET                           = 0x1266\n\tBLKSSZGET                            = 0x1268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x1000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0xc\n\tF_GETLK64                            = 0xc\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0xd\n\tF_SETLK64                            = 0xd\n\tF_SETLKW                             = 0xe\n\tF_SETLKW64                           = 0xe\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x8000\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x8\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x7b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x2000\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x4000\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_STACK                            = 0x20000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tNAME_MAX                             = 0xff\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPOST                                = 0x1\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x10000\n\tO_DIRECTORY                          = 0x4000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x20000\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x8000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x404000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x2401\n\tPERF_EVENT_IOC_ENABLE                = 0x2400\n\tPERF_EVENT_IOC_ID                    = 0x80042407\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409\n\tPERF_EVENT_IOC_PERIOD                = 0x40082404\n\tPERF_EVENT_IOC_REFRESH               = 0x2402\n\tPERF_EVENT_IOC_RESET                 = 0x2403\n\tPERF_EVENT_IOC_SET_BPF               = 0x40042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x40042406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x2405\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETCRUNCHREGS                 = 0x19\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETHBPREGS                    = 0x1d\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GETVFPREGS                    = 0x1b\n\tPTRACE_GETWMMXREGS                   = 0x12\n\tPTRACE_GET_THREAD_AREA               = 0x16\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETCRUNCHREGS                 = 0x1a\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETHBPREGS                    = 0x1e\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SETVFPREGS                    = 0x1c\n\tPTRACE_SETWMMXREGS                   = 0x13\n\tPTRACE_SET_SYSCALL                   = 0x17\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tPT_DATA_ADDR                         = 0x10004\n\tPT_TEXT_ADDR                         = 0x10000\n\tPT_TEXT_END_ADDR                     = 0x10008\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x10\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1a\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x541b\n\tSIOCOUTQ                             = 0x5411\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x10\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x11\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x12\n\tSO_RCVTIMEO                          = 0x14\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x13\n\tSO_SNDTIMEO                          = 0x15\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x540b\n\tTCGETA                               = 0x5405\n\tTCGETS                               = 0x5401\n\tTCGETS2                              = 0x802c542a\n\tTCGETX                               = 0x5432\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x5409\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x5406\n\tTCSETAF                              = 0x5408\n\tTCSETAW                              = 0x5407\n\tTCSETS                               = 0x5402\n\tTCSETS2                              = 0x402c542b\n\tTCSETSF                              = 0x5404\n\tTCSETSF2                             = 0x402c542d\n\tTCSETSW                              = 0x5403\n\tTCSETSW2                             = 0x402c542c\n\tTCSETX                               = 0x5433\n\tTCSETXF                              = 0x5434\n\tTCSETXW                              = 0x5435\n\tTCXONC                               = 0x540a\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x80045432\n\tTIOCGETD                             = 0x5424\n\tTIOCGEXCL                            = 0x80045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGPGRP                            = 0x540f\n\tTIOCGPKT                             = 0x80045438\n\tTIOCGPTLCK                           = 0x80045439\n\tTIOCGPTN                             = 0x80045430\n\tTIOCGPTPEER                          = 0x5441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x5413\n\tTIOCINQ                              = 0x541b\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x5411\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x5423\n\tTIOCSIG                              = 0x40045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSPGRP                            = 0x5410\n\tTIOCSPTLCK                           = 0x40045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTI                              = 0x5412\n\tTIOCSWINSZ                           = 0x5414\n\tTIOCVHANGUP                          = 0x5437\n\tTOSTOP                               = 0x100\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x400854d5\n\tTUNDETACHFILTER                      = 0x400854d6\n\tTUNGETFEATURES                       = 0x800454cf\n\tTUNGETFILTER                         = 0x800854db\n\tTUNGETIFF                            = 0x800454d2\n\tTUNGETSNDBUF                         = 0x800454d3\n\tTUNGETVNETBE                         = 0x800454df\n\tTUNGETVNETHDRSZ                      = 0x800454d7\n\tTUNGETVNETLE                         = 0x800454dd\n\tTUNSETDEBUG                          = 0x400454c9\n\tTUNSETGROUP                          = 0x400454ce\n\tTUNSETIFF                            = 0x400454ca\n\tTUNSETIFINDEX                        = 0x400454da\n\tTUNSETLINK                           = 0x400454cd\n\tTUNSETNOCSUM                         = 0x400454c8\n\tTUNSETOFFLOAD                        = 0x400454d0\n\tTUNSETOWNER                          = 0x400454cc\n\tTUNSETPERSIST                        = 0x400454cb\n\tTUNSETQUEUE                          = 0x400454d9\n\tTUNSETSNDBUF                         = 0x400454d4\n\tTUNSETTXFILTER                       = 0x400454d1\n\tTUNSETVNETBE                         = 0x400454de\n\tTUNSETVNETHDRSZ                      = 0x400454d8\n\tTUNSETVNETLE                         = 0x400454dc\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0xb\n\tVEOL2                                = 0x10\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x6\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x80045702\n\tWDIOC_GETPRETIMEOUT                  = 0x80045709\n\tWDIOC_GETSTATUS                      = 0x80045701\n\tWDIOC_GETSUPPORT                     = 0x80285700\n\tWDIOC_GETTEMP                        = 0x80045703\n\tWDIOC_GETTIMELEFT                    = 0x8004570a\n\tWDIOC_GETTIMEOUT                     = 0x80045707\n\tWDIOC_KEEPALIVE                      = 0x80045705\n\tWDIOC_SETOPTIONS                     = 0x80045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x20\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXTABS                                = 0x1800\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x23)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"no such device or address\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource temporarily unavailable\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"device or resource busy\",\n\t17:  \"file exists\",\n\t18:  \"invalid cross-device link\",\n\t19:  \"no such device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"numerical result out of range\",\n\t35:  \"resource deadlock avoided\",\n\t36:  \"file name too long\",\n\t37:  \"no locks available\",\n\t38:  \"function not implemented\",\n\t39:  \"directory not empty\",\n\t40:  \"too many levels of symbolic links\",\n\t42:  \"no message of desired type\",\n\t43:  \"identifier removed\",\n\t44:  \"channel number out of range\",\n\t45:  \"level 2 not synchronized\",\n\t46:  \"level 3 halted\",\n\t47:  \"level 3 reset\",\n\t48:  \"link number out of range\",\n\t49:  \"protocol driver not attached\",\n\t50:  \"no CSI structure available\",\n\t51:  \"level 2 halted\",\n\t52:  \"invalid exchange\",\n\t53:  \"invalid request descriptor\",\n\t54:  \"exchange full\",\n\t55:  \"no anode\",\n\t56:  \"invalid request code\",\n\t57:  \"invalid slot\",\n\t59:  \"bad font file format\",\n\t60:  \"device not a stream\",\n\t61:  \"no data available\",\n\t62:  \"timer expired\",\n\t63:  \"out of streams resources\",\n\t64:  \"machine is not on the network\",\n\t65:  \"package not installed\",\n\t66:  \"object is remote\",\n\t67:  \"link has been severed\",\n\t68:  \"advertise error\",\n\t69:  \"srmount error\",\n\t70:  \"communication error on send\",\n\t71:  \"protocol error\",\n\t72:  \"multihop attempted\",\n\t73:  \"RFS specific error\",\n\t74:  \"bad message\",\n\t75:  \"value too large for defined data type\",\n\t76:  \"name not unique on network\",\n\t77:  \"file descriptor in bad state\",\n\t78:  \"remote address changed\",\n\t79:  \"can not access a needed shared library\",\n\t80:  \"accessing a corrupted shared library\",\n\t81:  \".lib section in a.out corrupted\",\n\t82:  \"attempting to link in too many shared libraries\",\n\t83:  \"cannot exec a shared library directly\",\n\t84:  \"invalid or incomplete multibyte or wide character\",\n\t85:  \"interrupted system call should be restarted\",\n\t86:  \"streams pipe error\",\n\t87:  \"too many users\",\n\t88:  \"socket operation on non-socket\",\n\t89:  \"destination address required\",\n\t90:  \"message too long\",\n\t91:  \"protocol wrong type for socket\",\n\t92:  \"protocol not available\",\n\t93:  \"protocol not supported\",\n\t94:  \"socket type not supported\",\n\t95:  \"operation not supported\",\n\t96:  \"protocol family not supported\",\n\t97:  \"address family not supported by protocol\",\n\t98:  \"address already in use\",\n\t99:  \"cannot assign requested address\",\n\t100: \"network is down\",\n\t101: \"network is unreachable\",\n\t102: \"network dropped connection on reset\",\n\t103: \"software caused connection abort\",\n\t104: \"connection reset by peer\",\n\t105: \"no buffer space available\",\n\t106: \"transport endpoint is already connected\",\n\t107: \"transport endpoint is not connected\",\n\t108: \"cannot send after transport endpoint shutdown\",\n\t109: \"too many references: cannot splice\",\n\t110: \"connection timed out\",\n\t111: \"connection refused\",\n\t112: \"host is down\",\n\t113: \"no route to host\",\n\t114: \"operation already in progress\",\n\t115: \"operation now in progress\",\n\t116: \"stale file handle\",\n\t117: \"structure needs cleaning\",\n\t118: \"not a XENIX named type file\",\n\t119: \"no XENIX semaphores available\",\n\t120: \"is a named type file\",\n\t121: \"remote I/O error\",\n\t122: \"disk quota exceeded\",\n\t123: \"no medium found\",\n\t124: \"wrong medium type\",\n\t125: \"operation canceled\",\n\t126: \"required key not available\",\n\t127: \"key has expired\",\n\t128: \"key has been revoked\",\n\t129: \"key was rejected by service\",\n\t130: \"owner died\",\n\t131: \"state not recoverable\",\n\t132: \"operation not possible due to RF-kill\",\n\t133: \"memory page has hardware error\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"bus error\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"user defined signal 1\",\n\t11: \"segmentation fault\",\n\t12: \"user defined signal 2\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"stack fault\",\n\t17: \"child exited\",\n\t18: \"continued\",\n\t19: \"stopped (signal)\",\n\t20: \"stopped\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"urgent I/O condition\",\n\t24: \"CPU time limit exceeded\",\n\t25: \"file size limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window changed\",\n\t29: \"I/O possible\",\n\t30: \"power failure\",\n\t31: \"bad system call\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm64,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBLKBSZGET                            = 0x80081270\n\tBLKBSZSET                            = 0x40081271\n\tBLKFLSBUF                            = 0x1261\n\tBLKFRAGET                            = 0x1265\n\tBLKFRASET                            = 0x1264\n\tBLKGETSIZE                           = 0x1260\n\tBLKGETSIZE64                         = 0x80081272\n\tBLKPBSZGET                           = 0x127b\n\tBLKRAGET                             = 0x1263\n\tBLKRASET                             = 0x1262\n\tBLKROGET                             = 0x125e\n\tBLKROSET                             = 0x125d\n\tBLKRRPART                            = 0x125f\n\tBLKSECTGET                           = 0x1267\n\tBLKSECTSET                           = 0x1266\n\tBLKSSZGET                            = 0x1268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tESR_MAGIC                            = 0x45535201\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tEXTRA_MAGIC                          = 0x45585401\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x1000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x5\n\tF_GETLK64                            = 0x5\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0x6\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0x7\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x8000\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x8\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x7b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x2000\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x4000\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_STACK                            = 0x20000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tNAME_MAX                             = 0xff\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPOST                                = 0x1\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x10000\n\tO_DIRECTORY                          = 0x4000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x8000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x404000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x2401\n\tPERF_EVENT_IOC_ENABLE                = 0x2400\n\tPERF_EVENT_IOC_ID                    = 0x80082407\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409\n\tPERF_EVENT_IOC_PERIOD                = 0x40082404\n\tPERF_EVENT_IOC_REFRESH               = 0x2402\n\tPERF_EVENT_IOC_RESET                 = 0x2403\n\tPERF_EVENT_IOC_SET_BPF               = 0x40042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x40082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x2405\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x10\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1a\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x541b\n\tSIOCOUTQ                             = 0x5411\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x10\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x11\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x12\n\tSO_RCVTIMEO                          = 0x14\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x13\n\tSO_SNDTIMEO                          = 0x15\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x540b\n\tTCGETA                               = 0x5405\n\tTCGETS                               = 0x5401\n\tTCGETS2                              = 0x802c542a\n\tTCGETX                               = 0x5432\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x5409\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x5406\n\tTCSETAF                              = 0x5408\n\tTCSETAW                              = 0x5407\n\tTCSETS                               = 0x5402\n\tTCSETS2                              = 0x402c542b\n\tTCSETSF                              = 0x5404\n\tTCSETSF2                             = 0x402c542d\n\tTCSETSW                              = 0x5403\n\tTCSETSW2                             = 0x402c542c\n\tTCSETX                               = 0x5433\n\tTCSETXF                              = 0x5434\n\tTCSETXW                              = 0x5435\n\tTCXONC                               = 0x540a\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x80045432\n\tTIOCGETD                             = 0x5424\n\tTIOCGEXCL                            = 0x80045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGPGRP                            = 0x540f\n\tTIOCGPKT                             = 0x80045438\n\tTIOCGPTLCK                           = 0x80045439\n\tTIOCGPTN                             = 0x80045430\n\tTIOCGPTPEER                          = 0x5441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x5413\n\tTIOCINQ                              = 0x541b\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x5411\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x5423\n\tTIOCSIG                              = 0x40045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSPGRP                            = 0x5410\n\tTIOCSPTLCK                           = 0x40045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTI                              = 0x5412\n\tTIOCSWINSZ                           = 0x5414\n\tTIOCVHANGUP                          = 0x5437\n\tTOSTOP                               = 0x100\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x401054d5\n\tTUNDETACHFILTER                      = 0x401054d6\n\tTUNGETFEATURES                       = 0x800454cf\n\tTUNGETFILTER                         = 0x801054db\n\tTUNGETIFF                            = 0x800454d2\n\tTUNGETSNDBUF                         = 0x800454d3\n\tTUNGETVNETBE                         = 0x800454df\n\tTUNGETVNETHDRSZ                      = 0x800454d7\n\tTUNGETVNETLE                         = 0x800454dd\n\tTUNSETDEBUG                          = 0x400454c9\n\tTUNSETGROUP                          = 0x400454ce\n\tTUNSETIFF                            = 0x400454ca\n\tTUNSETIFINDEX                        = 0x400454da\n\tTUNSETLINK                           = 0x400454cd\n\tTUNSETNOCSUM                         = 0x400454c8\n\tTUNSETOFFLOAD                        = 0x400454d0\n\tTUNSETOWNER                          = 0x400454cc\n\tTUNSETPERSIST                        = 0x400454cb\n\tTUNSETQUEUE                          = 0x400454d9\n\tTUNSETSNDBUF                         = 0x400454d4\n\tTUNSETTXFILTER                       = 0x400454d1\n\tTUNSETVNETBE                         = 0x400454de\n\tTUNSETVNETHDRSZ                      = 0x400454d8\n\tTUNSETVNETLE                         = 0x400454dc\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0xb\n\tVEOL2                                = 0x10\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x6\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x80045702\n\tWDIOC_GETPRETIMEOUT                  = 0x80045709\n\tWDIOC_GETSTATUS                      = 0x80045701\n\tWDIOC_GETSUPPORT                     = 0x80285700\n\tWDIOC_GETTEMP                        = 0x80045703\n\tWDIOC_GETTIMELEFT                    = 0x8004570a\n\tWDIOC_GETTIMEOUT                     = 0x80045707\n\tWDIOC_KEEPALIVE                      = 0x80045705\n\tWDIOC_SETOPTIONS                     = 0x80045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXTABS                                = 0x1800\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x23)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"no such device or address\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource temporarily unavailable\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"device or resource busy\",\n\t17:  \"file exists\",\n\t18:  \"invalid cross-device link\",\n\t19:  \"no such device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"numerical result out of range\",\n\t35:  \"resource deadlock avoided\",\n\t36:  \"file name too long\",\n\t37:  \"no locks available\",\n\t38:  \"function not implemented\",\n\t39:  \"directory not empty\",\n\t40:  \"too many levels of symbolic links\",\n\t42:  \"no message of desired type\",\n\t43:  \"identifier removed\",\n\t44:  \"channel number out of range\",\n\t45:  \"level 2 not synchronized\",\n\t46:  \"level 3 halted\",\n\t47:  \"level 3 reset\",\n\t48:  \"link number out of range\",\n\t49:  \"protocol driver not attached\",\n\t50:  \"no CSI structure available\",\n\t51:  \"level 2 halted\",\n\t52:  \"invalid exchange\",\n\t53:  \"invalid request descriptor\",\n\t54:  \"exchange full\",\n\t55:  \"no anode\",\n\t56:  \"invalid request code\",\n\t57:  \"invalid slot\",\n\t59:  \"bad font file format\",\n\t60:  \"device not a stream\",\n\t61:  \"no data available\",\n\t62:  \"timer expired\",\n\t63:  \"out of streams resources\",\n\t64:  \"machine is not on the network\",\n\t65:  \"package not installed\",\n\t66:  \"object is remote\",\n\t67:  \"link has been severed\",\n\t68:  \"advertise error\",\n\t69:  \"srmount error\",\n\t70:  \"communication error on send\",\n\t71:  \"protocol error\",\n\t72:  \"multihop attempted\",\n\t73:  \"RFS specific error\",\n\t74:  \"bad message\",\n\t75:  \"value too large for defined data type\",\n\t76:  \"name not unique on network\",\n\t77:  \"file descriptor in bad state\",\n\t78:  \"remote address changed\",\n\t79:  \"can not access a needed shared library\",\n\t80:  \"accessing a corrupted shared library\",\n\t81:  \".lib section in a.out corrupted\",\n\t82:  \"attempting to link in too many shared libraries\",\n\t83:  \"cannot exec a shared library directly\",\n\t84:  \"invalid or incomplete multibyte or wide character\",\n\t85:  \"interrupted system call should be restarted\",\n\t86:  \"streams pipe error\",\n\t87:  \"too many users\",\n\t88:  \"socket operation on non-socket\",\n\t89:  \"destination address required\",\n\t90:  \"message too long\",\n\t91:  \"protocol wrong type for socket\",\n\t92:  \"protocol not available\",\n\t93:  \"protocol not supported\",\n\t94:  \"socket type not supported\",\n\t95:  \"operation not supported\",\n\t96:  \"protocol family not supported\",\n\t97:  \"address family not supported by protocol\",\n\t98:  \"address already in use\",\n\t99:  \"cannot assign requested address\",\n\t100: \"network is down\",\n\t101: \"network is unreachable\",\n\t102: \"network dropped connection on reset\",\n\t103: \"software caused connection abort\",\n\t104: \"connection reset by peer\",\n\t105: \"no buffer space available\",\n\t106: \"transport endpoint is already connected\",\n\t107: \"transport endpoint is not connected\",\n\t108: \"cannot send after transport endpoint shutdown\",\n\t109: \"too many references: cannot splice\",\n\t110: \"connection timed out\",\n\t111: \"connection refused\",\n\t112: \"host is down\",\n\t113: \"no route to host\",\n\t114: \"operation already in progress\",\n\t115: \"operation now in progress\",\n\t116: \"stale file handle\",\n\t117: \"structure needs cleaning\",\n\t118: \"not a XENIX named type file\",\n\t119: \"no XENIX semaphores available\",\n\t120: \"is a named type file\",\n\t121: \"remote I/O error\",\n\t122: \"disk quota exceeded\",\n\t123: \"no medium found\",\n\t124: \"wrong medium type\",\n\t125: \"operation canceled\",\n\t126: \"required key not available\",\n\t127: \"key has expired\",\n\t128: \"key has been revoked\",\n\t129: \"key was rejected by service\",\n\t130: \"owner died\",\n\t131: \"state not recoverable\",\n\t132: \"operation not possible due to RF-kill\",\n\t133: \"memory page has hardware error\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"bus error\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"user defined signal 1\",\n\t11: \"segmentation fault\",\n\t12: \"user defined signal 2\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"stack fault\",\n\t17: \"child exited\",\n\t18: \"continued\",\n\t19: \"stopped (signal)\",\n\t20: \"stopped\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"urgent I/O condition\",\n\t24: \"CPU time limit exceeded\",\n\t25: \"file size limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window changed\",\n\t29: \"I/O possible\",\n\t30: \"power failure\",\n\t31: \"bad system call\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_mips.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBLKBSZGET                            = 0x40041270\n\tBLKBSZSET                            = 0x80041271\n\tBLKFLSBUF                            = 0x20001261\n\tBLKFRAGET                            = 0x20001265\n\tBLKFRASET                            = 0x20001264\n\tBLKGETSIZE                           = 0x20001260\n\tBLKGETSIZE64                         = 0x40041272\n\tBLKPBSZGET                           = 0x2000127b\n\tBLKRAGET                             = 0x20001263\n\tBLKRASET                             = 0x20001262\n\tBLKROGET                             = 0x2000125e\n\tBLKROSET                             = 0x2000125d\n\tBLKRRPART                            = 0x2000125f\n\tBLKSECTGET                           = 0x20001267\n\tBLKSECTSET                           = 0x20001266\n\tBLKSSZGET                            = 0x20001268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x80\n\tEFD_SEMAPHORE                        = 0x1\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x2000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x21\n\tF_GETLK64                            = 0x21\n\tF_GETOWN                             = 0x17\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x22\n\tF_SETLK64                            = 0x22\n\tF_SETLKW                             = 0x23\n\tF_SETLKW64                           = 0x23\n\tF_SETOWN                             = 0x18\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x100\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x8\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x80\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x200007b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMAP_ANON                             = 0x800\n\tMAP_ANONYMOUS                        = 0x800\n\tMAP_DENYWRITE                        = 0x2000\n\tMAP_EXECUTABLE                       = 0x4000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_GROWSDOWN                        = 0x1000\n\tMAP_HUGETLB                          = 0x80000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x8000\n\tMAP_NONBLOCK                         = 0x20000\n\tMAP_NORESERVE                        = 0x400\n\tMAP_POPULATE                         = 0x10000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_RENAME                           = 0x800\n\tMAP_SHARED                           = 0x1\n\tMAP_STACK                            = 0x40000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tNAME_MAX                             = 0xff\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPOST                                = 0x1\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x8\n\tO_ASYNC                              = 0x1000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x100\n\tO_DIRECT                             = 0x8000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x10\n\tO_EXCL                               = 0x400\n\tO_FSYNC                              = 0x4010\n\tO_LARGEFILE                          = 0x2000\n\tO_NDELAY                             = 0x80\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x800\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x80\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x4010\n\tO_SYNC                               = 0x4010\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x20002401\n\tPERF_EVENT_IOC_ENABLE                = 0x20002400\n\tPERF_EVENT_IOC_ID                    = 0x40042407\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409\n\tPERF_EVENT_IOC_PERIOD                = 0x80082404\n\tPERF_EVENT_IOC_REFRESH               = 0x20002402\n\tPERF_EVENT_IOC_RESET                 = 0x20002403\n\tPERF_EVENT_IOC_SET_BPF               = 0x80042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x80042406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x20002405\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_THREAD_AREA               = 0x19\n\tPTRACE_GET_THREAD_AREA_3264          = 0xc4\n\tPTRACE_GET_WATCH_REGS                = 0xd0\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKDATA_3264                 = 0xc1\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKTEXT_3264                 = 0xc0\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKEDATA_3264                 = 0xc3\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKETEXT_3264                 = 0xc2\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SET_THREAD_AREA               = 0x1a\n\tPTRACE_SET_WATCH_REGS                = 0xd1\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tRLIMIT_AS                            = 0x6\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x9\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x5\n\tRLIMIT_NPROC                         = 0x8\n\tRLIMIT_RSS                           = 0x7\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x10\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1a\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x40047307\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x40047309\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x467f\n\tSIOCOUTQ                             = 0x7472\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x80047308\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x1\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x80\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x2\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0xffff\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1009\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x20\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x1029\n\tSO_DONTROUTE                         = 0x10\n\tSO_ERROR                             = 0x1007\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x8\n\tSO_LINGER                            = 0x80\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0x100\n\tSO_PASSCRED                          = 0x11\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x12\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1e\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x1028\n\tSO_RCVBUF                            = 0x1002\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x1004\n\tSO_RCVTIMEO                          = 0x1006\n\tSO_REUSEADDR                         = 0x4\n\tSO_REUSEPORT                         = 0x200\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x1001\n\tSO_SNDBUFFORCE                       = 0x1f\n\tSO_SNDLOWAT                          = 0x1003\n\tSO_SNDTIMEO                          = 0x1005\n\tSO_STYLE                             = 0x1008\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x1008\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x5407\n\tTCGETA                               = 0x5401\n\tTCGETS                               = 0x540d\n\tTCGETS2                              = 0x4030542a\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x5410\n\tTCSBRK                               = 0x5405\n\tTCSBRKP                              = 0x5486\n\tTCSETA                               = 0x5402\n\tTCSETAF                              = 0x5404\n\tTCSETAW                              = 0x5403\n\tTCSETS                               = 0x540e\n\tTCSETS2                              = 0x8030542b\n\tTCSETSF                              = 0x5410\n\tTCSETSF2                             = 0x8030542d\n\tTCSETSW                              = 0x540f\n\tTCSETSW2                             = 0x8030542c\n\tTCXONC                               = 0x5406\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x80047478\n\tTIOCEXCL                             = 0x740d\n\tTIOCGDEV                             = 0x40045432\n\tTIOCGETD                             = 0x7400\n\tTIOCGETP                             = 0x7408\n\tTIOCGEXCL                            = 0x40045440\n\tTIOCGICOUNT                          = 0x5492\n\tTIOCGLCKTRMIOS                       = 0x548b\n\tTIOCGLTC                             = 0x7474\n\tTIOCGPGRP                            = 0x40047477\n\tTIOCGPKT                             = 0x40045438\n\tTIOCGPTLCK                           = 0x40045439\n\tTIOCGPTN                             = 0x40045430\n\tTIOCGPTPEER                          = 0x20005441\n\tTIOCGRS485                           = 0x4020542e\n\tTIOCGSERIAL                          = 0x5484\n\tTIOCGSID                             = 0x7416\n\tTIOCGSOFTCAR                         = 0x5481\n\tTIOCGWINSZ                           = 0x40087468\n\tTIOCINQ                              = 0x467f\n\tTIOCLINUX                            = 0x5483\n\tTIOCMBIC                             = 0x741c\n\tTIOCMBIS                             = 0x741b\n\tTIOCMGET                             = 0x741d\n\tTIOCMIWAIT                           = 0x5491\n\tTIOCMSET                             = 0x741a\n\tTIOCM_CAR                            = 0x100\n\tTIOCM_CD                             = 0x100\n\tTIOCM_CTS                            = 0x40\n\tTIOCM_DSR                            = 0x400\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x200\n\tTIOCM_RNG                            = 0x200\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x20\n\tTIOCM_ST                             = 0x10\n\tTIOCNOTTY                            = 0x5471\n\tTIOCNXCL                             = 0x740e\n\tTIOCOUTQ                             = 0x7472\n\tTIOCPKT                              = 0x5470\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x5480\n\tTIOCSERCONFIG                        = 0x5488\n\tTIOCSERGETLSR                        = 0x548e\n\tTIOCSERGETMULTI                      = 0x548f\n\tTIOCSERGSTRUCT                       = 0x548d\n\tTIOCSERGWILD                         = 0x5489\n\tTIOCSERSETMULTI                      = 0x5490\n\tTIOCSERSWILD                         = 0x548a\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x7401\n\tTIOCSETN                             = 0x740a\n\tTIOCSETP                             = 0x7409\n\tTIOCSIG                              = 0x80045436\n\tTIOCSLCKTRMIOS                       = 0x548c\n\tTIOCSLTC                             = 0x7475\n\tTIOCSPGRP                            = 0x80047476\n\tTIOCSPTLCK                           = 0x80045431\n\tTIOCSRS485                           = 0xc020542f\n\tTIOCSSERIAL                          = 0x5485\n\tTIOCSSOFTCAR                         = 0x5482\n\tTIOCSTI                              = 0x5472\n\tTIOCSWINSZ                           = 0x80087467\n\tTIOCVHANGUP                          = 0x5437\n\tTOSTOP                               = 0x8000\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x800854d5\n\tTUNDETACHFILTER                      = 0x800854d6\n\tTUNGETFEATURES                       = 0x400454cf\n\tTUNGETFILTER                         = 0x400854db\n\tTUNGETIFF                            = 0x400454d2\n\tTUNGETSNDBUF                         = 0x400454d3\n\tTUNGETVNETBE                         = 0x400454df\n\tTUNGETVNETHDRSZ                      = 0x400454d7\n\tTUNGETVNETLE                         = 0x400454dd\n\tTUNSETDEBUG                          = 0x800454c9\n\tTUNSETGROUP                          = 0x800454ce\n\tTUNSETIFF                            = 0x800454ca\n\tTUNSETIFINDEX                        = 0x800454da\n\tTUNSETLINK                           = 0x800454cd\n\tTUNSETNOCSUM                         = 0x800454c8\n\tTUNSETOFFLOAD                        = 0x800454d0\n\tTUNSETOWNER                          = 0x800454cc\n\tTUNSETPERSIST                        = 0x800454cb\n\tTUNSETQUEUE                          = 0x800454d9\n\tTUNSETSNDBUF                         = 0x800454d4\n\tTUNSETTXFILTER                       = 0x800454d1\n\tTUNSETVNETBE                         = 0x800454de\n\tTUNSETVNETHDRSZ                      = 0x800454d8\n\tTUNSETVNETLE                         = 0x800454dc\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x10\n\tVEOL                                 = 0x11\n\tVEOL2                                = 0x6\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x4\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVSWTCH                               = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x40045702\n\tWDIOC_GETPRETIMEOUT                  = 0x40045709\n\tWDIOC_GETSTATUS                      = 0x40045701\n\tWDIOC_GETSUPPORT                     = 0x40285700\n\tWDIOC_GETTEMP                        = 0x40045703\n\tWDIOC_GETTIMELEFT                    = 0x4004570a\n\tWDIOC_GETTIMEOUT                     = 0x40045707\n\tWDIOC_KEEPALIVE                      = 0x40045705\n\tWDIOC_SETOPTIONS                     = 0x40045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x20\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXTABS                                = 0x1800\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x7d)\n\tEADDRNOTAVAIL   = syscall.Errno(0x7e)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x7c)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x95)\n\tEBADE           = syscall.Errno(0x32)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x51)\n\tEBADMSG         = syscall.Errno(0x4d)\n\tEBADR           = syscall.Errno(0x33)\n\tEBADRQC         = syscall.Errno(0x36)\n\tEBADSLT         = syscall.Errno(0x37)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x9e)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x25)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x82)\n\tECONNREFUSED    = syscall.Errno(0x92)\n\tECONNRESET      = syscall.Errno(0x83)\n\tEDEADLK         = syscall.Errno(0x2d)\n\tEDEADLOCK       = syscall.Errno(0x38)\n\tEDESTADDRREQ    = syscall.Errno(0x60)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x46d)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x93)\n\tEHOSTUNREACH    = syscall.Errno(0x94)\n\tEHWPOISON       = syscall.Errno(0xa8)\n\tEIDRM           = syscall.Errno(0x24)\n\tEILSEQ          = syscall.Errno(0x58)\n\tEINIT           = syscall.Errno(0x8d)\n\tEINPROGRESS     = syscall.Errno(0x96)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x85)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x8b)\n\tEKEYEXPIRED     = syscall.Errno(0xa2)\n\tEKEYREJECTED    = syscall.Errno(0xa4)\n\tEKEYREVOKED     = syscall.Errno(0xa3)\n\tEL2HLT          = syscall.Errno(0x2c)\n\tEL2NSYNC        = syscall.Errno(0x26)\n\tEL3HLT          = syscall.Errno(0x27)\n\tEL3RST          = syscall.Errno(0x28)\n\tELIBACC         = syscall.Errno(0x53)\n\tELIBBAD         = syscall.Errno(0x54)\n\tELIBEXEC        = syscall.Errno(0x57)\n\tELIBMAX         = syscall.Errno(0x56)\n\tELIBSCN         = syscall.Errno(0x55)\n\tELNRNG          = syscall.Errno(0x29)\n\tELOOP           = syscall.Errno(0x5a)\n\tEMEDIUMTYPE     = syscall.Errno(0xa0)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x61)\n\tEMULTIHOP       = syscall.Errno(0x4a)\n\tENAMETOOLONG    = syscall.Errno(0x4e)\n\tENAVAIL         = syscall.Errno(0x8a)\n\tENETDOWN        = syscall.Errno(0x7f)\n\tENETRESET       = syscall.Errno(0x81)\n\tENETUNREACH     = syscall.Errno(0x80)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x35)\n\tENOBUFS         = syscall.Errno(0x84)\n\tENOCSI          = syscall.Errno(0x2b)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0xa1)\n\tENOLCK          = syscall.Errno(0x2e)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x9f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x23)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x63)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x59)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x86)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x5d)\n\tENOTNAM         = syscall.Errno(0x89)\n\tENOTRECOVERABLE = syscall.Errno(0xa6)\n\tENOTSOCK        = syscall.Errno(0x5f)\n\tENOTSUP         = syscall.Errno(0x7a)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x50)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x7a)\n\tEOVERFLOW       = syscall.Errno(0x4f)\n\tEOWNERDEAD      = syscall.Errno(0xa5)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x7b)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x78)\n\tEPROTOTYPE      = syscall.Errno(0x62)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x52)\n\tEREMDEV         = syscall.Errno(0x8e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x8c)\n\tERESTART        = syscall.Errno(0x5b)\n\tERFKILL         = syscall.Errno(0xa7)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x8f)\n\tESOCKTNOSUPPORT = syscall.Errno(0x79)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x97)\n\tESTRPIPE        = syscall.Errno(0x5c)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x91)\n\tETOOMANYREFS    = syscall.Errno(0x90)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x87)\n\tEUNATCH         = syscall.Errno(0x2a)\n\tEUSERS          = syscall.Errno(0x5e)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x34)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x12)\n\tSIGCLD    = syscall.Signal(0x12)\n\tSIGCONT   = syscall.Signal(0x19)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x16)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x16)\n\tSIGPROF   = syscall.Signal(0x1d)\n\tSIGPWR    = syscall.Signal(0x13)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x17)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x18)\n\tSIGTTIN   = syscall.Signal(0x1a)\n\tSIGTTOU   = syscall.Signal(0x1b)\n\tSIGURG    = syscall.Signal(0x15)\n\tSIGUSR1   = syscall.Signal(0x10)\n\tSIGUSR2   = syscall.Signal(0x11)\n\tSIGVTALRM = syscall.Signal(0x1c)\n\tSIGWINCH  = syscall.Signal(0x14)\n\tSIGXCPU   = syscall.Signal(0x1e)\n\tSIGXFSZ   = syscall.Signal(0x1f)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:    \"operation not permitted\",\n\t2:    \"no such file or directory\",\n\t3:    \"no such process\",\n\t4:    \"interrupted system call\",\n\t5:    \"input/output error\",\n\t6:    \"no such device or address\",\n\t7:    \"argument list too long\",\n\t8:    \"exec format error\",\n\t9:    \"bad file descriptor\",\n\t10:   \"no child processes\",\n\t11:   \"resource temporarily unavailable\",\n\t12:   \"cannot allocate memory\",\n\t13:   \"permission denied\",\n\t14:   \"bad address\",\n\t15:   \"block device required\",\n\t16:   \"device or resource busy\",\n\t17:   \"file exists\",\n\t18:   \"invalid cross-device link\",\n\t19:   \"no such device\",\n\t20:   \"not a directory\",\n\t21:   \"is a directory\",\n\t22:   \"invalid argument\",\n\t23:   \"too many open files in system\",\n\t24:   \"too many open files\",\n\t25:   \"inappropriate ioctl for device\",\n\t26:   \"text file busy\",\n\t27:   \"file too large\",\n\t28:   \"no space left on device\",\n\t29:   \"illegal seek\",\n\t30:   \"read-only file system\",\n\t31:   \"too many links\",\n\t32:   \"broken pipe\",\n\t33:   \"numerical argument out of domain\",\n\t34:   \"numerical result out of range\",\n\t35:   \"no message of desired type\",\n\t36:   \"identifier removed\",\n\t37:   \"channel number out of range\",\n\t38:   \"level 2 not synchronized\",\n\t39:   \"level 3 halted\",\n\t40:   \"level 3 reset\",\n\t41:   \"link number out of range\",\n\t42:   \"protocol driver not attached\",\n\t43:   \"no CSI structure available\",\n\t44:   \"level 2 halted\",\n\t45:   \"resource deadlock avoided\",\n\t46:   \"no locks available\",\n\t50:   \"invalid exchange\",\n\t51:   \"invalid request descriptor\",\n\t52:   \"exchange full\",\n\t53:   \"no anode\",\n\t54:   \"invalid request code\",\n\t55:   \"invalid slot\",\n\t56:   \"file locking deadlock error\",\n\t59:   \"bad font file format\",\n\t60:   \"device not a stream\",\n\t61:   \"no data available\",\n\t62:   \"timer expired\",\n\t63:   \"out of streams resources\",\n\t64:   \"machine is not on the network\",\n\t65:   \"package not installed\",\n\t66:   \"object is remote\",\n\t67:   \"link has been severed\",\n\t68:   \"advertise error\",\n\t69:   \"srmount error\",\n\t70:   \"communication error on send\",\n\t71:   \"protocol error\",\n\t73:   \"RFS specific error\",\n\t74:   \"multihop attempted\",\n\t77:   \"bad message\",\n\t78:   \"file name too long\",\n\t79:   \"value too large for defined data type\",\n\t80:   \"name not unique on network\",\n\t81:   \"file descriptor in bad state\",\n\t82:   \"remote address changed\",\n\t83:   \"can not access a needed shared library\",\n\t84:   \"accessing a corrupted shared library\",\n\t85:   \".lib section in a.out corrupted\",\n\t86:   \"attempting to link in too many shared libraries\",\n\t87:   \"cannot exec a shared library directly\",\n\t88:   \"invalid or incomplete multibyte or wide character\",\n\t89:   \"function not implemented\",\n\t90:   \"too many levels of symbolic links\",\n\t91:   \"interrupted system call should be restarted\",\n\t92:   \"streams pipe error\",\n\t93:   \"directory not empty\",\n\t94:   \"too many users\",\n\t95:   \"socket operation on non-socket\",\n\t96:   \"destination address required\",\n\t97:   \"message too long\",\n\t98:   \"protocol wrong type for socket\",\n\t99:   \"protocol not available\",\n\t120:  \"protocol not supported\",\n\t121:  \"socket type not supported\",\n\t122:  \"operation not supported\",\n\t123:  \"protocol family not supported\",\n\t124:  \"address family not supported by protocol\",\n\t125:  \"address already in use\",\n\t126:  \"cannot assign requested address\",\n\t127:  \"network is down\",\n\t128:  \"network is unreachable\",\n\t129:  \"network dropped connection on reset\",\n\t130:  \"software caused connection abort\",\n\t131:  \"connection reset by peer\",\n\t132:  \"no buffer space available\",\n\t133:  \"transport endpoint is already connected\",\n\t134:  \"transport endpoint is not connected\",\n\t135:  \"structure needs cleaning\",\n\t137:  \"not a XENIX named type file\",\n\t138:  \"no XENIX semaphores available\",\n\t139:  \"is a named type file\",\n\t140:  \"remote I/O error\",\n\t141:  \"unknown error 141\",\n\t142:  \"unknown error 142\",\n\t143:  \"cannot send after transport endpoint shutdown\",\n\t144:  \"too many references: cannot splice\",\n\t145:  \"connection timed out\",\n\t146:  \"connection refused\",\n\t147:  \"host is down\",\n\t148:  \"no route to host\",\n\t149:  \"operation already in progress\",\n\t150:  \"operation now in progress\",\n\t151:  \"stale file handle\",\n\t158:  \"operation canceled\",\n\t159:  \"no medium found\",\n\t160:  \"wrong medium type\",\n\t161:  \"required key not available\",\n\t162:  \"key has expired\",\n\t163:  \"key has been revoked\",\n\t164:  \"key was rejected by service\",\n\t165:  \"owner died\",\n\t166:  \"state not recoverable\",\n\t167:  \"operation not possible due to RF-kill\",\n\t168:  \"memory page has hardware error\",\n\t1133: \"disk quota exceeded\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"user defined signal 1\",\n\t17: \"user defined signal 2\",\n\t18: \"child exited\",\n\t19: \"power failure\",\n\t20: \"window changed\",\n\t21: \"urgent I/O condition\",\n\t22: \"I/O possible\",\n\t23: \"stopped (signal)\",\n\t24: \"stopped\",\n\t25: \"continued\",\n\t26: \"stopped (tty input)\",\n\t27: \"stopped (tty output)\",\n\t28: \"virtual timer expired\",\n\t29: \"profiling timer expired\",\n\t30: \"CPU time limit exceeded\",\n\t31: \"file size limit exceeded\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips64,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBLKBSZGET                            = 0x40081270\n\tBLKBSZSET                            = 0x80081271\n\tBLKFLSBUF                            = 0x20001261\n\tBLKFRAGET                            = 0x20001265\n\tBLKFRASET                            = 0x20001264\n\tBLKGETSIZE                           = 0x20001260\n\tBLKGETSIZE64                         = 0x40081272\n\tBLKPBSZGET                           = 0x2000127b\n\tBLKRAGET                             = 0x20001263\n\tBLKRASET                             = 0x20001262\n\tBLKROGET                             = 0x2000125e\n\tBLKROSET                             = 0x2000125d\n\tBLKRRPART                            = 0x2000125f\n\tBLKSECTGET                           = 0x20001267\n\tBLKSECTSET                           = 0x20001266\n\tBLKSSZGET                            = 0x20001268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x80\n\tEFD_SEMAPHORE                        = 0x1\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x2000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0xe\n\tF_GETLK64                            = 0xe\n\tF_GETOWN                             = 0x17\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0x6\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0x7\n\tF_SETOWN                             = 0x18\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x100\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x8\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x80\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x200007b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMAP_ANON                             = 0x800\n\tMAP_ANONYMOUS                        = 0x800\n\tMAP_DENYWRITE                        = 0x2000\n\tMAP_EXECUTABLE                       = 0x4000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_GROWSDOWN                        = 0x1000\n\tMAP_HUGETLB                          = 0x80000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x8000\n\tMAP_NONBLOCK                         = 0x20000\n\tMAP_NORESERVE                        = 0x400\n\tMAP_POPULATE                         = 0x10000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_RENAME                           = 0x800\n\tMAP_SHARED                           = 0x1\n\tMAP_STACK                            = 0x40000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tNAME_MAX                             = 0xff\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPOST                                = 0x1\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x8\n\tO_ASYNC                              = 0x1000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x100\n\tO_DIRECT                             = 0x8000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x10\n\tO_EXCL                               = 0x400\n\tO_FSYNC                              = 0x4010\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x80\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x800\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x80\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x4010\n\tO_SYNC                               = 0x4010\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x20002401\n\tPERF_EVENT_IOC_ENABLE                = 0x20002400\n\tPERF_EVENT_IOC_ID                    = 0x40082407\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409\n\tPERF_EVENT_IOC_PERIOD                = 0x80082404\n\tPERF_EVENT_IOC_REFRESH               = 0x20002402\n\tPERF_EVENT_IOC_RESET                 = 0x20002403\n\tPERF_EVENT_IOC_SET_BPF               = 0x80042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x80082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x20002405\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_THREAD_AREA               = 0x19\n\tPTRACE_GET_THREAD_AREA_3264          = 0xc4\n\tPTRACE_GET_WATCH_REGS                = 0xd0\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKDATA_3264                 = 0xc1\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKTEXT_3264                 = 0xc0\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKEDATA_3264                 = 0xc3\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKETEXT_3264                 = 0xc2\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SET_THREAD_AREA               = 0x1a\n\tPTRACE_SET_WATCH_REGS                = 0xd1\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tRLIMIT_AS                            = 0x6\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x9\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x5\n\tRLIMIT_NPROC                         = 0x8\n\tRLIMIT_RSS                           = 0x7\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x10\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1a\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x40047307\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x40047309\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x467f\n\tSIOCOUTQ                             = 0x7472\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x80047308\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x1\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x80\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x2\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0xffff\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1009\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x20\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x1029\n\tSO_DONTROUTE                         = 0x10\n\tSO_ERROR                             = 0x1007\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x8\n\tSO_LINGER                            = 0x80\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0x100\n\tSO_PASSCRED                          = 0x11\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x12\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1e\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x1028\n\tSO_RCVBUF                            = 0x1002\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x1004\n\tSO_RCVTIMEO                          = 0x1006\n\tSO_REUSEADDR                         = 0x4\n\tSO_REUSEPORT                         = 0x200\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x1001\n\tSO_SNDBUFFORCE                       = 0x1f\n\tSO_SNDLOWAT                          = 0x1003\n\tSO_SNDTIMEO                          = 0x1005\n\tSO_STYLE                             = 0x1008\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x1008\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x5407\n\tTCGETA                               = 0x5401\n\tTCGETS                               = 0x540d\n\tTCGETS2                              = 0x4030542a\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x5410\n\tTCSBRK                               = 0x5405\n\tTCSBRKP                              = 0x5486\n\tTCSETA                               = 0x5402\n\tTCSETAF                              = 0x5404\n\tTCSETAW                              = 0x5403\n\tTCSETS                               = 0x540e\n\tTCSETS2                              = 0x8030542b\n\tTCSETSF                              = 0x5410\n\tTCSETSF2                             = 0x8030542d\n\tTCSETSW                              = 0x540f\n\tTCSETSW2                             = 0x8030542c\n\tTCXONC                               = 0x5406\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x80047478\n\tTIOCEXCL                             = 0x740d\n\tTIOCGDEV                             = 0x40045432\n\tTIOCGETD                             = 0x7400\n\tTIOCGETP                             = 0x7408\n\tTIOCGEXCL                            = 0x40045440\n\tTIOCGICOUNT                          = 0x5492\n\tTIOCGLCKTRMIOS                       = 0x548b\n\tTIOCGLTC                             = 0x7474\n\tTIOCGPGRP                            = 0x40047477\n\tTIOCGPKT                             = 0x40045438\n\tTIOCGPTLCK                           = 0x40045439\n\tTIOCGPTN                             = 0x40045430\n\tTIOCGPTPEER                          = 0x20005441\n\tTIOCGRS485                           = 0x4020542e\n\tTIOCGSERIAL                          = 0x5484\n\tTIOCGSID                             = 0x7416\n\tTIOCGSOFTCAR                         = 0x5481\n\tTIOCGWINSZ                           = 0x40087468\n\tTIOCINQ                              = 0x467f\n\tTIOCLINUX                            = 0x5483\n\tTIOCMBIC                             = 0x741c\n\tTIOCMBIS                             = 0x741b\n\tTIOCMGET                             = 0x741d\n\tTIOCMIWAIT                           = 0x5491\n\tTIOCMSET                             = 0x741a\n\tTIOCM_CAR                            = 0x100\n\tTIOCM_CD                             = 0x100\n\tTIOCM_CTS                            = 0x40\n\tTIOCM_DSR                            = 0x400\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x200\n\tTIOCM_RNG                            = 0x200\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x20\n\tTIOCM_ST                             = 0x10\n\tTIOCNOTTY                            = 0x5471\n\tTIOCNXCL                             = 0x740e\n\tTIOCOUTQ                             = 0x7472\n\tTIOCPKT                              = 0x5470\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x5480\n\tTIOCSERCONFIG                        = 0x5488\n\tTIOCSERGETLSR                        = 0x548e\n\tTIOCSERGETMULTI                      = 0x548f\n\tTIOCSERGSTRUCT                       = 0x548d\n\tTIOCSERGWILD                         = 0x5489\n\tTIOCSERSETMULTI                      = 0x5490\n\tTIOCSERSWILD                         = 0x548a\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x7401\n\tTIOCSETN                             = 0x740a\n\tTIOCSETP                             = 0x7409\n\tTIOCSIG                              = 0x80045436\n\tTIOCSLCKTRMIOS                       = 0x548c\n\tTIOCSLTC                             = 0x7475\n\tTIOCSPGRP                            = 0x80047476\n\tTIOCSPTLCK                           = 0x80045431\n\tTIOCSRS485                           = 0xc020542f\n\tTIOCSSERIAL                          = 0x5485\n\tTIOCSSOFTCAR                         = 0x5482\n\tTIOCSTI                              = 0x5472\n\tTIOCSWINSZ                           = 0x80087467\n\tTIOCVHANGUP                          = 0x5437\n\tTOSTOP                               = 0x8000\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x801054d5\n\tTUNDETACHFILTER                      = 0x801054d6\n\tTUNGETFEATURES                       = 0x400454cf\n\tTUNGETFILTER                         = 0x401054db\n\tTUNGETIFF                            = 0x400454d2\n\tTUNGETSNDBUF                         = 0x400454d3\n\tTUNGETVNETBE                         = 0x400454df\n\tTUNGETVNETHDRSZ                      = 0x400454d7\n\tTUNGETVNETLE                         = 0x400454dd\n\tTUNSETDEBUG                          = 0x800454c9\n\tTUNSETGROUP                          = 0x800454ce\n\tTUNSETIFF                            = 0x800454ca\n\tTUNSETIFINDEX                        = 0x800454da\n\tTUNSETLINK                           = 0x800454cd\n\tTUNSETNOCSUM                         = 0x800454c8\n\tTUNSETOFFLOAD                        = 0x800454d0\n\tTUNSETOWNER                          = 0x800454cc\n\tTUNSETPERSIST                        = 0x800454cb\n\tTUNSETQUEUE                          = 0x800454d9\n\tTUNSETSNDBUF                         = 0x800454d4\n\tTUNSETTXFILTER                       = 0x800454d1\n\tTUNSETVNETBE                         = 0x800454de\n\tTUNSETVNETHDRSZ                      = 0x800454d8\n\tTUNSETVNETLE                         = 0x800454dc\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x10\n\tVEOL                                 = 0x11\n\tVEOL2                                = 0x6\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x4\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVSWTCH                               = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x40045702\n\tWDIOC_GETPRETIMEOUT                  = 0x40045709\n\tWDIOC_GETSTATUS                      = 0x40045701\n\tWDIOC_GETSUPPORT                     = 0x40285700\n\tWDIOC_GETTEMP                        = 0x40045703\n\tWDIOC_GETTIMELEFT                    = 0x4004570a\n\tWDIOC_GETTIMEOUT                     = 0x40045707\n\tWDIOC_KEEPALIVE                      = 0x40045705\n\tWDIOC_SETOPTIONS                     = 0x40045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXTABS                                = 0x1800\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x7d)\n\tEADDRNOTAVAIL   = syscall.Errno(0x7e)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x7c)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x95)\n\tEBADE           = syscall.Errno(0x32)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x51)\n\tEBADMSG         = syscall.Errno(0x4d)\n\tEBADR           = syscall.Errno(0x33)\n\tEBADRQC         = syscall.Errno(0x36)\n\tEBADSLT         = syscall.Errno(0x37)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x9e)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x25)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x82)\n\tECONNREFUSED    = syscall.Errno(0x92)\n\tECONNRESET      = syscall.Errno(0x83)\n\tEDEADLK         = syscall.Errno(0x2d)\n\tEDEADLOCK       = syscall.Errno(0x38)\n\tEDESTADDRREQ    = syscall.Errno(0x60)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x46d)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x93)\n\tEHOSTUNREACH    = syscall.Errno(0x94)\n\tEHWPOISON       = syscall.Errno(0xa8)\n\tEIDRM           = syscall.Errno(0x24)\n\tEILSEQ          = syscall.Errno(0x58)\n\tEINIT           = syscall.Errno(0x8d)\n\tEINPROGRESS     = syscall.Errno(0x96)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x85)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x8b)\n\tEKEYEXPIRED     = syscall.Errno(0xa2)\n\tEKEYREJECTED    = syscall.Errno(0xa4)\n\tEKEYREVOKED     = syscall.Errno(0xa3)\n\tEL2HLT          = syscall.Errno(0x2c)\n\tEL2NSYNC        = syscall.Errno(0x26)\n\tEL3HLT          = syscall.Errno(0x27)\n\tEL3RST          = syscall.Errno(0x28)\n\tELIBACC         = syscall.Errno(0x53)\n\tELIBBAD         = syscall.Errno(0x54)\n\tELIBEXEC        = syscall.Errno(0x57)\n\tELIBMAX         = syscall.Errno(0x56)\n\tELIBSCN         = syscall.Errno(0x55)\n\tELNRNG          = syscall.Errno(0x29)\n\tELOOP           = syscall.Errno(0x5a)\n\tEMEDIUMTYPE     = syscall.Errno(0xa0)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x61)\n\tEMULTIHOP       = syscall.Errno(0x4a)\n\tENAMETOOLONG    = syscall.Errno(0x4e)\n\tENAVAIL         = syscall.Errno(0x8a)\n\tENETDOWN        = syscall.Errno(0x7f)\n\tENETRESET       = syscall.Errno(0x81)\n\tENETUNREACH     = syscall.Errno(0x80)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x35)\n\tENOBUFS         = syscall.Errno(0x84)\n\tENOCSI          = syscall.Errno(0x2b)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0xa1)\n\tENOLCK          = syscall.Errno(0x2e)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x9f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x23)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x63)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x59)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x86)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x5d)\n\tENOTNAM         = syscall.Errno(0x89)\n\tENOTRECOVERABLE = syscall.Errno(0xa6)\n\tENOTSOCK        = syscall.Errno(0x5f)\n\tENOTSUP         = syscall.Errno(0x7a)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x50)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x7a)\n\tEOVERFLOW       = syscall.Errno(0x4f)\n\tEOWNERDEAD      = syscall.Errno(0xa5)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x7b)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x78)\n\tEPROTOTYPE      = syscall.Errno(0x62)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x52)\n\tEREMDEV         = syscall.Errno(0x8e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x8c)\n\tERESTART        = syscall.Errno(0x5b)\n\tERFKILL         = syscall.Errno(0xa7)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x8f)\n\tESOCKTNOSUPPORT = syscall.Errno(0x79)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x97)\n\tESTRPIPE        = syscall.Errno(0x5c)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x91)\n\tETOOMANYREFS    = syscall.Errno(0x90)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x87)\n\tEUNATCH         = syscall.Errno(0x2a)\n\tEUSERS          = syscall.Errno(0x5e)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x34)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x12)\n\tSIGCLD    = syscall.Signal(0x12)\n\tSIGCONT   = syscall.Signal(0x19)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x16)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x16)\n\tSIGPROF   = syscall.Signal(0x1d)\n\tSIGPWR    = syscall.Signal(0x13)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x17)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x18)\n\tSIGTTIN   = syscall.Signal(0x1a)\n\tSIGTTOU   = syscall.Signal(0x1b)\n\tSIGURG    = syscall.Signal(0x15)\n\tSIGUSR1   = syscall.Signal(0x10)\n\tSIGUSR2   = syscall.Signal(0x11)\n\tSIGVTALRM = syscall.Signal(0x1c)\n\tSIGWINCH  = syscall.Signal(0x14)\n\tSIGXCPU   = syscall.Signal(0x1e)\n\tSIGXFSZ   = syscall.Signal(0x1f)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:    \"operation not permitted\",\n\t2:    \"no such file or directory\",\n\t3:    \"no such process\",\n\t4:    \"interrupted system call\",\n\t5:    \"input/output error\",\n\t6:    \"no such device or address\",\n\t7:    \"argument list too long\",\n\t8:    \"exec format error\",\n\t9:    \"bad file descriptor\",\n\t10:   \"no child processes\",\n\t11:   \"resource temporarily unavailable\",\n\t12:   \"cannot allocate memory\",\n\t13:   \"permission denied\",\n\t14:   \"bad address\",\n\t15:   \"block device required\",\n\t16:   \"device or resource busy\",\n\t17:   \"file exists\",\n\t18:   \"invalid cross-device link\",\n\t19:   \"no such device\",\n\t20:   \"not a directory\",\n\t21:   \"is a directory\",\n\t22:   \"invalid argument\",\n\t23:   \"too many open files in system\",\n\t24:   \"too many open files\",\n\t25:   \"inappropriate ioctl for device\",\n\t26:   \"text file busy\",\n\t27:   \"file too large\",\n\t28:   \"no space left on device\",\n\t29:   \"illegal seek\",\n\t30:   \"read-only file system\",\n\t31:   \"too many links\",\n\t32:   \"broken pipe\",\n\t33:   \"numerical argument out of domain\",\n\t34:   \"numerical result out of range\",\n\t35:   \"no message of desired type\",\n\t36:   \"identifier removed\",\n\t37:   \"channel number out of range\",\n\t38:   \"level 2 not synchronized\",\n\t39:   \"level 3 halted\",\n\t40:   \"level 3 reset\",\n\t41:   \"link number out of range\",\n\t42:   \"protocol driver not attached\",\n\t43:   \"no CSI structure available\",\n\t44:   \"level 2 halted\",\n\t45:   \"resource deadlock avoided\",\n\t46:   \"no locks available\",\n\t50:   \"invalid exchange\",\n\t51:   \"invalid request descriptor\",\n\t52:   \"exchange full\",\n\t53:   \"no anode\",\n\t54:   \"invalid request code\",\n\t55:   \"invalid slot\",\n\t56:   \"file locking deadlock error\",\n\t59:   \"bad font file format\",\n\t60:   \"device not a stream\",\n\t61:   \"no data available\",\n\t62:   \"timer expired\",\n\t63:   \"out of streams resources\",\n\t64:   \"machine is not on the network\",\n\t65:   \"package not installed\",\n\t66:   \"object is remote\",\n\t67:   \"link has been severed\",\n\t68:   \"advertise error\",\n\t69:   \"srmount error\",\n\t70:   \"communication error on send\",\n\t71:   \"protocol error\",\n\t73:   \"RFS specific error\",\n\t74:   \"multihop attempted\",\n\t77:   \"bad message\",\n\t78:   \"file name too long\",\n\t79:   \"value too large for defined data type\",\n\t80:   \"name not unique on network\",\n\t81:   \"file descriptor in bad state\",\n\t82:   \"remote address changed\",\n\t83:   \"can not access a needed shared library\",\n\t84:   \"accessing a corrupted shared library\",\n\t85:   \".lib section in a.out corrupted\",\n\t86:   \"attempting to link in too many shared libraries\",\n\t87:   \"cannot exec a shared library directly\",\n\t88:   \"invalid or incomplete multibyte or wide character\",\n\t89:   \"function not implemented\",\n\t90:   \"too many levels of symbolic links\",\n\t91:   \"interrupted system call should be restarted\",\n\t92:   \"streams pipe error\",\n\t93:   \"directory not empty\",\n\t94:   \"too many users\",\n\t95:   \"socket operation on non-socket\",\n\t96:   \"destination address required\",\n\t97:   \"message too long\",\n\t98:   \"protocol wrong type for socket\",\n\t99:   \"protocol not available\",\n\t120:  \"protocol not supported\",\n\t121:  \"socket type not supported\",\n\t122:  \"operation not supported\",\n\t123:  \"protocol family not supported\",\n\t124:  \"address family not supported by protocol\",\n\t125:  \"address already in use\",\n\t126:  \"cannot assign requested address\",\n\t127:  \"network is down\",\n\t128:  \"network is unreachable\",\n\t129:  \"network dropped connection on reset\",\n\t130:  \"software caused connection abort\",\n\t131:  \"connection reset by peer\",\n\t132:  \"no buffer space available\",\n\t133:  \"transport endpoint is already connected\",\n\t134:  \"transport endpoint is not connected\",\n\t135:  \"structure needs cleaning\",\n\t137:  \"not a XENIX named type file\",\n\t138:  \"no XENIX semaphores available\",\n\t139:  \"is a named type file\",\n\t140:  \"remote I/O error\",\n\t141:  \"unknown error 141\",\n\t142:  \"unknown error 142\",\n\t143:  \"cannot send after transport endpoint shutdown\",\n\t144:  \"too many references: cannot splice\",\n\t145:  \"connection timed out\",\n\t146:  \"connection refused\",\n\t147:  \"host is down\",\n\t148:  \"no route to host\",\n\t149:  \"operation already in progress\",\n\t150:  \"operation now in progress\",\n\t151:  \"stale file handle\",\n\t158:  \"operation canceled\",\n\t159:  \"no medium found\",\n\t160:  \"wrong medium type\",\n\t161:  \"required key not available\",\n\t162:  \"key has expired\",\n\t163:  \"key has been revoked\",\n\t164:  \"key was rejected by service\",\n\t165:  \"owner died\",\n\t166:  \"state not recoverable\",\n\t167:  \"operation not possible due to RF-kill\",\n\t168:  \"memory page has hardware error\",\n\t1133: \"disk quota exceeded\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"user defined signal 1\",\n\t17: \"user defined signal 2\",\n\t18: \"child exited\",\n\t19: \"power failure\",\n\t20: \"window changed\",\n\t21: \"urgent I/O condition\",\n\t22: \"I/O possible\",\n\t23: \"stopped (signal)\",\n\t24: \"stopped\",\n\t25: \"continued\",\n\t26: \"stopped (tty input)\",\n\t27: \"stopped (tty output)\",\n\t28: \"virtual timer expired\",\n\t29: \"profiling timer expired\",\n\t30: \"CPU time limit exceeded\",\n\t31: \"file size limit exceeded\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips64le,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBLKBSZGET                            = 0x40081270\n\tBLKBSZSET                            = 0x80081271\n\tBLKFLSBUF                            = 0x20001261\n\tBLKFRAGET                            = 0x20001265\n\tBLKFRASET                            = 0x20001264\n\tBLKGETSIZE                           = 0x20001260\n\tBLKGETSIZE64                         = 0x40081272\n\tBLKPBSZGET                           = 0x2000127b\n\tBLKRAGET                             = 0x20001263\n\tBLKRASET                             = 0x20001262\n\tBLKROGET                             = 0x2000125e\n\tBLKROSET                             = 0x2000125d\n\tBLKRRPART                            = 0x2000125f\n\tBLKSECTGET                           = 0x20001267\n\tBLKSECTSET                           = 0x20001266\n\tBLKSSZGET                            = 0x20001268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x80\n\tEFD_SEMAPHORE                        = 0x1\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x2000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0xe\n\tF_GETLK64                            = 0xe\n\tF_GETOWN                             = 0x17\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0x6\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0x7\n\tF_SETOWN                             = 0x18\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x100\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x8\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x80\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x200007b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMAP_ANON                             = 0x800\n\tMAP_ANONYMOUS                        = 0x800\n\tMAP_DENYWRITE                        = 0x2000\n\tMAP_EXECUTABLE                       = 0x4000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_GROWSDOWN                        = 0x1000\n\tMAP_HUGETLB                          = 0x80000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x8000\n\tMAP_NONBLOCK                         = 0x20000\n\tMAP_NORESERVE                        = 0x400\n\tMAP_POPULATE                         = 0x10000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_RENAME                           = 0x800\n\tMAP_SHARED                           = 0x1\n\tMAP_STACK                            = 0x40000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tNAME_MAX                             = 0xff\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPOST                                = 0x1\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x8\n\tO_ASYNC                              = 0x1000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x100\n\tO_DIRECT                             = 0x8000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x10\n\tO_EXCL                               = 0x400\n\tO_FSYNC                              = 0x4010\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x80\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x800\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x80\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x4010\n\tO_SYNC                               = 0x4010\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x20002401\n\tPERF_EVENT_IOC_ENABLE                = 0x20002400\n\tPERF_EVENT_IOC_ID                    = 0x40082407\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409\n\tPERF_EVENT_IOC_PERIOD                = 0x80082404\n\tPERF_EVENT_IOC_REFRESH               = 0x20002402\n\tPERF_EVENT_IOC_RESET                 = 0x20002403\n\tPERF_EVENT_IOC_SET_BPF               = 0x80042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x80082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x20002405\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_THREAD_AREA               = 0x19\n\tPTRACE_GET_THREAD_AREA_3264          = 0xc4\n\tPTRACE_GET_WATCH_REGS                = 0xd0\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKDATA_3264                 = 0xc1\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKTEXT_3264                 = 0xc0\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKEDATA_3264                 = 0xc3\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKETEXT_3264                 = 0xc2\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SET_THREAD_AREA               = 0x1a\n\tPTRACE_SET_WATCH_REGS                = 0xd1\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tRLIMIT_AS                            = 0x6\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x9\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x5\n\tRLIMIT_NPROC                         = 0x8\n\tRLIMIT_RSS                           = 0x7\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x10\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1a\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x40047307\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x40047309\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x467f\n\tSIOCOUTQ                             = 0x7472\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x80047308\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x1\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x80\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x2\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0xffff\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1009\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x20\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x1029\n\tSO_DONTROUTE                         = 0x10\n\tSO_ERROR                             = 0x1007\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x8\n\tSO_LINGER                            = 0x80\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0x100\n\tSO_PASSCRED                          = 0x11\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x12\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1e\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x1028\n\tSO_RCVBUF                            = 0x1002\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x1004\n\tSO_RCVTIMEO                          = 0x1006\n\tSO_REUSEADDR                         = 0x4\n\tSO_REUSEPORT                         = 0x200\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x1001\n\tSO_SNDBUFFORCE                       = 0x1f\n\tSO_SNDLOWAT                          = 0x1003\n\tSO_SNDTIMEO                          = 0x1005\n\tSO_STYLE                             = 0x1008\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x1008\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x5407\n\tTCGETA                               = 0x5401\n\tTCGETS                               = 0x540d\n\tTCGETS2                              = 0x4030542a\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x5410\n\tTCSBRK                               = 0x5405\n\tTCSBRKP                              = 0x5486\n\tTCSETA                               = 0x5402\n\tTCSETAF                              = 0x5404\n\tTCSETAW                              = 0x5403\n\tTCSETS                               = 0x540e\n\tTCSETS2                              = 0x8030542b\n\tTCSETSF                              = 0x5410\n\tTCSETSF2                             = 0x8030542d\n\tTCSETSW                              = 0x540f\n\tTCSETSW2                             = 0x8030542c\n\tTCXONC                               = 0x5406\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x80047478\n\tTIOCEXCL                             = 0x740d\n\tTIOCGDEV                             = 0x40045432\n\tTIOCGETD                             = 0x7400\n\tTIOCGETP                             = 0x7408\n\tTIOCGEXCL                            = 0x40045440\n\tTIOCGICOUNT                          = 0x5492\n\tTIOCGLCKTRMIOS                       = 0x548b\n\tTIOCGLTC                             = 0x7474\n\tTIOCGPGRP                            = 0x40047477\n\tTIOCGPKT                             = 0x40045438\n\tTIOCGPTLCK                           = 0x40045439\n\tTIOCGPTN                             = 0x40045430\n\tTIOCGPTPEER                          = 0x20005441\n\tTIOCGRS485                           = 0x4020542e\n\tTIOCGSERIAL                          = 0x5484\n\tTIOCGSID                             = 0x7416\n\tTIOCGSOFTCAR                         = 0x5481\n\tTIOCGWINSZ                           = 0x40087468\n\tTIOCINQ                              = 0x467f\n\tTIOCLINUX                            = 0x5483\n\tTIOCMBIC                             = 0x741c\n\tTIOCMBIS                             = 0x741b\n\tTIOCMGET                             = 0x741d\n\tTIOCMIWAIT                           = 0x5491\n\tTIOCMSET                             = 0x741a\n\tTIOCM_CAR                            = 0x100\n\tTIOCM_CD                             = 0x100\n\tTIOCM_CTS                            = 0x40\n\tTIOCM_DSR                            = 0x400\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x200\n\tTIOCM_RNG                            = 0x200\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x20\n\tTIOCM_ST                             = 0x10\n\tTIOCNOTTY                            = 0x5471\n\tTIOCNXCL                             = 0x740e\n\tTIOCOUTQ                             = 0x7472\n\tTIOCPKT                              = 0x5470\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x5480\n\tTIOCSERCONFIG                        = 0x5488\n\tTIOCSERGETLSR                        = 0x548e\n\tTIOCSERGETMULTI                      = 0x548f\n\tTIOCSERGSTRUCT                       = 0x548d\n\tTIOCSERGWILD                         = 0x5489\n\tTIOCSERSETMULTI                      = 0x5490\n\tTIOCSERSWILD                         = 0x548a\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x7401\n\tTIOCSETN                             = 0x740a\n\tTIOCSETP                             = 0x7409\n\tTIOCSIG                              = 0x80045436\n\tTIOCSLCKTRMIOS                       = 0x548c\n\tTIOCSLTC                             = 0x7475\n\tTIOCSPGRP                            = 0x80047476\n\tTIOCSPTLCK                           = 0x80045431\n\tTIOCSRS485                           = 0xc020542f\n\tTIOCSSERIAL                          = 0x5485\n\tTIOCSSOFTCAR                         = 0x5482\n\tTIOCSTI                              = 0x5472\n\tTIOCSWINSZ                           = 0x80087467\n\tTIOCVHANGUP                          = 0x5437\n\tTOSTOP                               = 0x8000\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x801054d5\n\tTUNDETACHFILTER                      = 0x801054d6\n\tTUNGETFEATURES                       = 0x400454cf\n\tTUNGETFILTER                         = 0x401054db\n\tTUNGETIFF                            = 0x400454d2\n\tTUNGETSNDBUF                         = 0x400454d3\n\tTUNGETVNETBE                         = 0x400454df\n\tTUNGETVNETHDRSZ                      = 0x400454d7\n\tTUNGETVNETLE                         = 0x400454dd\n\tTUNSETDEBUG                          = 0x800454c9\n\tTUNSETGROUP                          = 0x800454ce\n\tTUNSETIFF                            = 0x800454ca\n\tTUNSETIFINDEX                        = 0x800454da\n\tTUNSETLINK                           = 0x800454cd\n\tTUNSETNOCSUM                         = 0x800454c8\n\tTUNSETOFFLOAD                        = 0x800454d0\n\tTUNSETOWNER                          = 0x800454cc\n\tTUNSETPERSIST                        = 0x800454cb\n\tTUNSETQUEUE                          = 0x800454d9\n\tTUNSETSNDBUF                         = 0x800454d4\n\tTUNSETTXFILTER                       = 0x800454d1\n\tTUNSETVNETBE                         = 0x800454de\n\tTUNSETVNETHDRSZ                      = 0x800454d8\n\tTUNSETVNETLE                         = 0x800454dc\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x10\n\tVEOL                                 = 0x11\n\tVEOL2                                = 0x6\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x4\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVSWTCH                               = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x40045702\n\tWDIOC_GETPRETIMEOUT                  = 0x40045709\n\tWDIOC_GETSTATUS                      = 0x40045701\n\tWDIOC_GETSUPPORT                     = 0x40285700\n\tWDIOC_GETTEMP                        = 0x40045703\n\tWDIOC_GETTIMELEFT                    = 0x4004570a\n\tWDIOC_GETTIMEOUT                     = 0x40045707\n\tWDIOC_KEEPALIVE                      = 0x40045705\n\tWDIOC_SETOPTIONS                     = 0x40045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXTABS                                = 0x1800\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x7d)\n\tEADDRNOTAVAIL   = syscall.Errno(0x7e)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x7c)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x95)\n\tEBADE           = syscall.Errno(0x32)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x51)\n\tEBADMSG         = syscall.Errno(0x4d)\n\tEBADR           = syscall.Errno(0x33)\n\tEBADRQC         = syscall.Errno(0x36)\n\tEBADSLT         = syscall.Errno(0x37)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x9e)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x25)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x82)\n\tECONNREFUSED    = syscall.Errno(0x92)\n\tECONNRESET      = syscall.Errno(0x83)\n\tEDEADLK         = syscall.Errno(0x2d)\n\tEDEADLOCK       = syscall.Errno(0x38)\n\tEDESTADDRREQ    = syscall.Errno(0x60)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x46d)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x93)\n\tEHOSTUNREACH    = syscall.Errno(0x94)\n\tEHWPOISON       = syscall.Errno(0xa8)\n\tEIDRM           = syscall.Errno(0x24)\n\tEILSEQ          = syscall.Errno(0x58)\n\tEINIT           = syscall.Errno(0x8d)\n\tEINPROGRESS     = syscall.Errno(0x96)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x85)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x8b)\n\tEKEYEXPIRED     = syscall.Errno(0xa2)\n\tEKEYREJECTED    = syscall.Errno(0xa4)\n\tEKEYREVOKED     = syscall.Errno(0xa3)\n\tEL2HLT          = syscall.Errno(0x2c)\n\tEL2NSYNC        = syscall.Errno(0x26)\n\tEL3HLT          = syscall.Errno(0x27)\n\tEL3RST          = syscall.Errno(0x28)\n\tELIBACC         = syscall.Errno(0x53)\n\tELIBBAD         = syscall.Errno(0x54)\n\tELIBEXEC        = syscall.Errno(0x57)\n\tELIBMAX         = syscall.Errno(0x56)\n\tELIBSCN         = syscall.Errno(0x55)\n\tELNRNG          = syscall.Errno(0x29)\n\tELOOP           = syscall.Errno(0x5a)\n\tEMEDIUMTYPE     = syscall.Errno(0xa0)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x61)\n\tEMULTIHOP       = syscall.Errno(0x4a)\n\tENAMETOOLONG    = syscall.Errno(0x4e)\n\tENAVAIL         = syscall.Errno(0x8a)\n\tENETDOWN        = syscall.Errno(0x7f)\n\tENETRESET       = syscall.Errno(0x81)\n\tENETUNREACH     = syscall.Errno(0x80)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x35)\n\tENOBUFS         = syscall.Errno(0x84)\n\tENOCSI          = syscall.Errno(0x2b)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0xa1)\n\tENOLCK          = syscall.Errno(0x2e)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x9f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x23)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x63)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x59)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x86)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x5d)\n\tENOTNAM         = syscall.Errno(0x89)\n\tENOTRECOVERABLE = syscall.Errno(0xa6)\n\tENOTSOCK        = syscall.Errno(0x5f)\n\tENOTSUP         = syscall.Errno(0x7a)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x50)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x7a)\n\tEOVERFLOW       = syscall.Errno(0x4f)\n\tEOWNERDEAD      = syscall.Errno(0xa5)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x7b)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x78)\n\tEPROTOTYPE      = syscall.Errno(0x62)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x52)\n\tEREMDEV         = syscall.Errno(0x8e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x8c)\n\tERESTART        = syscall.Errno(0x5b)\n\tERFKILL         = syscall.Errno(0xa7)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x8f)\n\tESOCKTNOSUPPORT = syscall.Errno(0x79)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x97)\n\tESTRPIPE        = syscall.Errno(0x5c)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x91)\n\tETOOMANYREFS    = syscall.Errno(0x90)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x87)\n\tEUNATCH         = syscall.Errno(0x2a)\n\tEUSERS          = syscall.Errno(0x5e)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x34)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x12)\n\tSIGCLD    = syscall.Signal(0x12)\n\tSIGCONT   = syscall.Signal(0x19)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x16)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x16)\n\tSIGPROF   = syscall.Signal(0x1d)\n\tSIGPWR    = syscall.Signal(0x13)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x17)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x18)\n\tSIGTTIN   = syscall.Signal(0x1a)\n\tSIGTTOU   = syscall.Signal(0x1b)\n\tSIGURG    = syscall.Signal(0x15)\n\tSIGUSR1   = syscall.Signal(0x10)\n\tSIGUSR2   = syscall.Signal(0x11)\n\tSIGVTALRM = syscall.Signal(0x1c)\n\tSIGWINCH  = syscall.Signal(0x14)\n\tSIGXCPU   = syscall.Signal(0x1e)\n\tSIGXFSZ   = syscall.Signal(0x1f)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:    \"operation not permitted\",\n\t2:    \"no such file or directory\",\n\t3:    \"no such process\",\n\t4:    \"interrupted system call\",\n\t5:    \"input/output error\",\n\t6:    \"no such device or address\",\n\t7:    \"argument list too long\",\n\t8:    \"exec format error\",\n\t9:    \"bad file descriptor\",\n\t10:   \"no child processes\",\n\t11:   \"resource temporarily unavailable\",\n\t12:   \"cannot allocate memory\",\n\t13:   \"permission denied\",\n\t14:   \"bad address\",\n\t15:   \"block device required\",\n\t16:   \"device or resource busy\",\n\t17:   \"file exists\",\n\t18:   \"invalid cross-device link\",\n\t19:   \"no such device\",\n\t20:   \"not a directory\",\n\t21:   \"is a directory\",\n\t22:   \"invalid argument\",\n\t23:   \"too many open files in system\",\n\t24:   \"too many open files\",\n\t25:   \"inappropriate ioctl for device\",\n\t26:   \"text file busy\",\n\t27:   \"file too large\",\n\t28:   \"no space left on device\",\n\t29:   \"illegal seek\",\n\t30:   \"read-only file system\",\n\t31:   \"too many links\",\n\t32:   \"broken pipe\",\n\t33:   \"numerical argument out of domain\",\n\t34:   \"numerical result out of range\",\n\t35:   \"no message of desired type\",\n\t36:   \"identifier removed\",\n\t37:   \"channel number out of range\",\n\t38:   \"level 2 not synchronized\",\n\t39:   \"level 3 halted\",\n\t40:   \"level 3 reset\",\n\t41:   \"link number out of range\",\n\t42:   \"protocol driver not attached\",\n\t43:   \"no CSI structure available\",\n\t44:   \"level 2 halted\",\n\t45:   \"resource deadlock avoided\",\n\t46:   \"no locks available\",\n\t50:   \"invalid exchange\",\n\t51:   \"invalid request descriptor\",\n\t52:   \"exchange full\",\n\t53:   \"no anode\",\n\t54:   \"invalid request code\",\n\t55:   \"invalid slot\",\n\t56:   \"file locking deadlock error\",\n\t59:   \"bad font file format\",\n\t60:   \"device not a stream\",\n\t61:   \"no data available\",\n\t62:   \"timer expired\",\n\t63:   \"out of streams resources\",\n\t64:   \"machine is not on the network\",\n\t65:   \"package not installed\",\n\t66:   \"object is remote\",\n\t67:   \"link has been severed\",\n\t68:   \"advertise error\",\n\t69:   \"srmount error\",\n\t70:   \"communication error on send\",\n\t71:   \"protocol error\",\n\t73:   \"RFS specific error\",\n\t74:   \"multihop attempted\",\n\t77:   \"bad message\",\n\t78:   \"file name too long\",\n\t79:   \"value too large for defined data type\",\n\t80:   \"name not unique on network\",\n\t81:   \"file descriptor in bad state\",\n\t82:   \"remote address changed\",\n\t83:   \"can not access a needed shared library\",\n\t84:   \"accessing a corrupted shared library\",\n\t85:   \".lib section in a.out corrupted\",\n\t86:   \"attempting to link in too many shared libraries\",\n\t87:   \"cannot exec a shared library directly\",\n\t88:   \"invalid or incomplete multibyte or wide character\",\n\t89:   \"function not implemented\",\n\t90:   \"too many levels of symbolic links\",\n\t91:   \"interrupted system call should be restarted\",\n\t92:   \"streams pipe error\",\n\t93:   \"directory not empty\",\n\t94:   \"too many users\",\n\t95:   \"socket operation on non-socket\",\n\t96:   \"destination address required\",\n\t97:   \"message too long\",\n\t98:   \"protocol wrong type for socket\",\n\t99:   \"protocol not available\",\n\t120:  \"protocol not supported\",\n\t121:  \"socket type not supported\",\n\t122:  \"operation not supported\",\n\t123:  \"protocol family not supported\",\n\t124:  \"address family not supported by protocol\",\n\t125:  \"address already in use\",\n\t126:  \"cannot assign requested address\",\n\t127:  \"network is down\",\n\t128:  \"network is unreachable\",\n\t129:  \"network dropped connection on reset\",\n\t130:  \"software caused connection abort\",\n\t131:  \"connection reset by peer\",\n\t132:  \"no buffer space available\",\n\t133:  \"transport endpoint is already connected\",\n\t134:  \"transport endpoint is not connected\",\n\t135:  \"structure needs cleaning\",\n\t137:  \"not a XENIX named type file\",\n\t138:  \"no XENIX semaphores available\",\n\t139:  \"is a named type file\",\n\t140:  \"remote I/O error\",\n\t141:  \"unknown error 141\",\n\t142:  \"unknown error 142\",\n\t143:  \"cannot send after transport endpoint shutdown\",\n\t144:  \"too many references: cannot splice\",\n\t145:  \"connection timed out\",\n\t146:  \"connection refused\",\n\t147:  \"host is down\",\n\t148:  \"no route to host\",\n\t149:  \"operation already in progress\",\n\t150:  \"operation now in progress\",\n\t151:  \"stale file handle\",\n\t158:  \"operation canceled\",\n\t159:  \"no medium found\",\n\t160:  \"wrong medium type\",\n\t161:  \"required key not available\",\n\t162:  \"key has expired\",\n\t163:  \"key has been revoked\",\n\t164:  \"key was rejected by service\",\n\t165:  \"owner died\",\n\t166:  \"state not recoverable\",\n\t167:  \"operation not possible due to RF-kill\",\n\t168:  \"memory page has hardware error\",\n\t1133: \"disk quota exceeded\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"user defined signal 1\",\n\t17: \"user defined signal 2\",\n\t18: \"child exited\",\n\t19: \"power failure\",\n\t20: \"window changed\",\n\t21: \"urgent I/O condition\",\n\t22: \"I/O possible\",\n\t23: \"stopped (signal)\",\n\t24: \"stopped\",\n\t25: \"continued\",\n\t26: \"stopped (tty input)\",\n\t27: \"stopped (tty output)\",\n\t28: \"virtual timer expired\",\n\t29: \"profiling timer expired\",\n\t30: \"CPU time limit exceeded\",\n\t31: \"file size limit exceeded\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mipsle,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBLKBSZGET                            = 0x40041270\n\tBLKBSZSET                            = 0x80041271\n\tBLKFLSBUF                            = 0x20001261\n\tBLKFRAGET                            = 0x20001265\n\tBLKFRASET                            = 0x20001264\n\tBLKGETSIZE                           = 0x20001260\n\tBLKGETSIZE64                         = 0x40041272\n\tBLKPBSZGET                           = 0x2000127b\n\tBLKRAGET                             = 0x20001263\n\tBLKRASET                             = 0x20001262\n\tBLKROGET                             = 0x2000125e\n\tBLKROSET                             = 0x2000125d\n\tBLKRRPART                            = 0x2000125f\n\tBLKSECTGET                           = 0x20001267\n\tBLKSECTSET                           = 0x20001266\n\tBLKSSZGET                            = 0x20001268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x80\n\tEFD_SEMAPHORE                        = 0x1\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x2000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x21\n\tF_GETLK64                            = 0x21\n\tF_GETOWN                             = 0x17\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x22\n\tF_SETLK64                            = 0x22\n\tF_SETLKW                             = 0x23\n\tF_SETLKW64                           = 0x23\n\tF_SETOWN                             = 0x18\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x100\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x8\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x80\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x200007b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMAP_ANON                             = 0x800\n\tMAP_ANONYMOUS                        = 0x800\n\tMAP_DENYWRITE                        = 0x2000\n\tMAP_EXECUTABLE                       = 0x4000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_GROWSDOWN                        = 0x1000\n\tMAP_HUGETLB                          = 0x80000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x8000\n\tMAP_NONBLOCK                         = 0x20000\n\tMAP_NORESERVE                        = 0x400\n\tMAP_POPULATE                         = 0x10000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_RENAME                           = 0x800\n\tMAP_SHARED                           = 0x1\n\tMAP_STACK                            = 0x40000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tNAME_MAX                             = 0xff\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPOST                                = 0x1\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x8\n\tO_ASYNC                              = 0x1000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x100\n\tO_DIRECT                             = 0x8000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x10\n\tO_EXCL                               = 0x400\n\tO_FSYNC                              = 0x4010\n\tO_LARGEFILE                          = 0x2000\n\tO_NDELAY                             = 0x80\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x800\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x80\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x4010\n\tO_SYNC                               = 0x4010\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x20002401\n\tPERF_EVENT_IOC_ENABLE                = 0x20002400\n\tPERF_EVENT_IOC_ID                    = 0x40042407\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409\n\tPERF_EVENT_IOC_PERIOD                = 0x80082404\n\tPERF_EVENT_IOC_REFRESH               = 0x20002402\n\tPERF_EVENT_IOC_RESET                 = 0x20002403\n\tPERF_EVENT_IOC_SET_BPF               = 0x80042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x80042406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x20002405\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_THREAD_AREA               = 0x19\n\tPTRACE_GET_THREAD_AREA_3264          = 0xc4\n\tPTRACE_GET_WATCH_REGS                = 0xd0\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKDATA_3264                 = 0xc1\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKTEXT_3264                 = 0xc0\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKEDATA_3264                 = 0xc3\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKETEXT_3264                 = 0xc2\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SET_THREAD_AREA               = 0x1a\n\tPTRACE_SET_WATCH_REGS                = 0xd1\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tRLIMIT_AS                            = 0x6\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x9\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x5\n\tRLIMIT_NPROC                         = 0x8\n\tRLIMIT_RSS                           = 0x7\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x10\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1a\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x40047307\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x40047309\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x467f\n\tSIOCOUTQ                             = 0x7472\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x80047308\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x1\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x80\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x2\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0xffff\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1009\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x20\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x1029\n\tSO_DONTROUTE                         = 0x10\n\tSO_ERROR                             = 0x1007\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x8\n\tSO_LINGER                            = 0x80\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0x100\n\tSO_PASSCRED                          = 0x11\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x12\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1e\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x1028\n\tSO_RCVBUF                            = 0x1002\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x1004\n\tSO_RCVTIMEO                          = 0x1006\n\tSO_REUSEADDR                         = 0x4\n\tSO_REUSEPORT                         = 0x200\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x1001\n\tSO_SNDBUFFORCE                       = 0x1f\n\tSO_SNDLOWAT                          = 0x1003\n\tSO_SNDTIMEO                          = 0x1005\n\tSO_STYLE                             = 0x1008\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x1008\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x5407\n\tTCGETA                               = 0x5401\n\tTCGETS                               = 0x540d\n\tTCGETS2                              = 0x4030542a\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x5410\n\tTCSBRK                               = 0x5405\n\tTCSBRKP                              = 0x5486\n\tTCSETA                               = 0x5402\n\tTCSETAF                              = 0x5404\n\tTCSETAW                              = 0x5403\n\tTCSETS                               = 0x540e\n\tTCSETS2                              = 0x8030542b\n\tTCSETSF                              = 0x5410\n\tTCSETSF2                             = 0x8030542d\n\tTCSETSW                              = 0x540f\n\tTCSETSW2                             = 0x8030542c\n\tTCXONC                               = 0x5406\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x80047478\n\tTIOCEXCL                             = 0x740d\n\tTIOCGDEV                             = 0x40045432\n\tTIOCGETD                             = 0x7400\n\tTIOCGETP                             = 0x7408\n\tTIOCGEXCL                            = 0x40045440\n\tTIOCGICOUNT                          = 0x5492\n\tTIOCGLCKTRMIOS                       = 0x548b\n\tTIOCGLTC                             = 0x7474\n\tTIOCGPGRP                            = 0x40047477\n\tTIOCGPKT                             = 0x40045438\n\tTIOCGPTLCK                           = 0x40045439\n\tTIOCGPTN                             = 0x40045430\n\tTIOCGPTPEER                          = 0x20005441\n\tTIOCGRS485                           = 0x4020542e\n\tTIOCGSERIAL                          = 0x5484\n\tTIOCGSID                             = 0x7416\n\tTIOCGSOFTCAR                         = 0x5481\n\tTIOCGWINSZ                           = 0x40087468\n\tTIOCINQ                              = 0x467f\n\tTIOCLINUX                            = 0x5483\n\tTIOCMBIC                             = 0x741c\n\tTIOCMBIS                             = 0x741b\n\tTIOCMGET                             = 0x741d\n\tTIOCMIWAIT                           = 0x5491\n\tTIOCMSET                             = 0x741a\n\tTIOCM_CAR                            = 0x100\n\tTIOCM_CD                             = 0x100\n\tTIOCM_CTS                            = 0x40\n\tTIOCM_DSR                            = 0x400\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x200\n\tTIOCM_RNG                            = 0x200\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x20\n\tTIOCM_ST                             = 0x10\n\tTIOCNOTTY                            = 0x5471\n\tTIOCNXCL                             = 0x740e\n\tTIOCOUTQ                             = 0x7472\n\tTIOCPKT                              = 0x5470\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x5480\n\tTIOCSERCONFIG                        = 0x5488\n\tTIOCSERGETLSR                        = 0x548e\n\tTIOCSERGETMULTI                      = 0x548f\n\tTIOCSERGSTRUCT                       = 0x548d\n\tTIOCSERGWILD                         = 0x5489\n\tTIOCSERSETMULTI                      = 0x5490\n\tTIOCSERSWILD                         = 0x548a\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x7401\n\tTIOCSETN                             = 0x740a\n\tTIOCSETP                             = 0x7409\n\tTIOCSIG                              = 0x80045436\n\tTIOCSLCKTRMIOS                       = 0x548c\n\tTIOCSLTC                             = 0x7475\n\tTIOCSPGRP                            = 0x80047476\n\tTIOCSPTLCK                           = 0x80045431\n\tTIOCSRS485                           = 0xc020542f\n\tTIOCSSERIAL                          = 0x5485\n\tTIOCSSOFTCAR                         = 0x5482\n\tTIOCSTI                              = 0x5472\n\tTIOCSWINSZ                           = 0x80087467\n\tTIOCVHANGUP                          = 0x5437\n\tTOSTOP                               = 0x8000\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x800854d5\n\tTUNDETACHFILTER                      = 0x800854d6\n\tTUNGETFEATURES                       = 0x400454cf\n\tTUNGETFILTER                         = 0x400854db\n\tTUNGETIFF                            = 0x400454d2\n\tTUNGETSNDBUF                         = 0x400454d3\n\tTUNGETVNETBE                         = 0x400454df\n\tTUNGETVNETHDRSZ                      = 0x400454d7\n\tTUNGETVNETLE                         = 0x400454dd\n\tTUNSETDEBUG                          = 0x800454c9\n\tTUNSETGROUP                          = 0x800454ce\n\tTUNSETIFF                            = 0x800454ca\n\tTUNSETIFINDEX                        = 0x800454da\n\tTUNSETLINK                           = 0x800454cd\n\tTUNSETNOCSUM                         = 0x800454c8\n\tTUNSETOFFLOAD                        = 0x800454d0\n\tTUNSETOWNER                          = 0x800454cc\n\tTUNSETPERSIST                        = 0x800454cb\n\tTUNSETQUEUE                          = 0x800454d9\n\tTUNSETSNDBUF                         = 0x800454d4\n\tTUNSETTXFILTER                       = 0x800454d1\n\tTUNSETVNETBE                         = 0x800454de\n\tTUNSETVNETHDRSZ                      = 0x800454d8\n\tTUNSETVNETLE                         = 0x800454dc\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x10\n\tVEOL                                 = 0x11\n\tVEOL2                                = 0x6\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x4\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVSWTCH                               = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x40045702\n\tWDIOC_GETPRETIMEOUT                  = 0x40045709\n\tWDIOC_GETSTATUS                      = 0x40045701\n\tWDIOC_GETSUPPORT                     = 0x40285700\n\tWDIOC_GETTEMP                        = 0x40045703\n\tWDIOC_GETTIMELEFT                    = 0x4004570a\n\tWDIOC_GETTIMEOUT                     = 0x40045707\n\tWDIOC_KEEPALIVE                      = 0x40045705\n\tWDIOC_SETOPTIONS                     = 0x40045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x20\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXTABS                                = 0x1800\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x7d)\n\tEADDRNOTAVAIL   = syscall.Errno(0x7e)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x7c)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x95)\n\tEBADE           = syscall.Errno(0x32)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x51)\n\tEBADMSG         = syscall.Errno(0x4d)\n\tEBADR           = syscall.Errno(0x33)\n\tEBADRQC         = syscall.Errno(0x36)\n\tEBADSLT         = syscall.Errno(0x37)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x9e)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x25)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x82)\n\tECONNREFUSED    = syscall.Errno(0x92)\n\tECONNRESET      = syscall.Errno(0x83)\n\tEDEADLK         = syscall.Errno(0x2d)\n\tEDEADLOCK       = syscall.Errno(0x38)\n\tEDESTADDRREQ    = syscall.Errno(0x60)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x46d)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x93)\n\tEHOSTUNREACH    = syscall.Errno(0x94)\n\tEHWPOISON       = syscall.Errno(0xa8)\n\tEIDRM           = syscall.Errno(0x24)\n\tEILSEQ          = syscall.Errno(0x58)\n\tEINIT           = syscall.Errno(0x8d)\n\tEINPROGRESS     = syscall.Errno(0x96)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x85)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x8b)\n\tEKEYEXPIRED     = syscall.Errno(0xa2)\n\tEKEYREJECTED    = syscall.Errno(0xa4)\n\tEKEYREVOKED     = syscall.Errno(0xa3)\n\tEL2HLT          = syscall.Errno(0x2c)\n\tEL2NSYNC        = syscall.Errno(0x26)\n\tEL3HLT          = syscall.Errno(0x27)\n\tEL3RST          = syscall.Errno(0x28)\n\tELIBACC         = syscall.Errno(0x53)\n\tELIBBAD         = syscall.Errno(0x54)\n\tELIBEXEC        = syscall.Errno(0x57)\n\tELIBMAX         = syscall.Errno(0x56)\n\tELIBSCN         = syscall.Errno(0x55)\n\tELNRNG          = syscall.Errno(0x29)\n\tELOOP           = syscall.Errno(0x5a)\n\tEMEDIUMTYPE     = syscall.Errno(0xa0)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x61)\n\tEMULTIHOP       = syscall.Errno(0x4a)\n\tENAMETOOLONG    = syscall.Errno(0x4e)\n\tENAVAIL         = syscall.Errno(0x8a)\n\tENETDOWN        = syscall.Errno(0x7f)\n\tENETRESET       = syscall.Errno(0x81)\n\tENETUNREACH     = syscall.Errno(0x80)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x35)\n\tENOBUFS         = syscall.Errno(0x84)\n\tENOCSI          = syscall.Errno(0x2b)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0xa1)\n\tENOLCK          = syscall.Errno(0x2e)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x9f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x23)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x63)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x59)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x86)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x5d)\n\tENOTNAM         = syscall.Errno(0x89)\n\tENOTRECOVERABLE = syscall.Errno(0xa6)\n\tENOTSOCK        = syscall.Errno(0x5f)\n\tENOTSUP         = syscall.Errno(0x7a)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x50)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x7a)\n\tEOVERFLOW       = syscall.Errno(0x4f)\n\tEOWNERDEAD      = syscall.Errno(0xa5)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x7b)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x78)\n\tEPROTOTYPE      = syscall.Errno(0x62)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x52)\n\tEREMDEV         = syscall.Errno(0x8e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x8c)\n\tERESTART        = syscall.Errno(0x5b)\n\tERFKILL         = syscall.Errno(0xa7)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x8f)\n\tESOCKTNOSUPPORT = syscall.Errno(0x79)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x97)\n\tESTRPIPE        = syscall.Errno(0x5c)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x91)\n\tETOOMANYREFS    = syscall.Errno(0x90)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x87)\n\tEUNATCH         = syscall.Errno(0x2a)\n\tEUSERS          = syscall.Errno(0x5e)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x34)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x12)\n\tSIGCLD    = syscall.Signal(0x12)\n\tSIGCONT   = syscall.Signal(0x19)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x16)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x16)\n\tSIGPROF   = syscall.Signal(0x1d)\n\tSIGPWR    = syscall.Signal(0x13)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x17)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x18)\n\tSIGTTIN   = syscall.Signal(0x1a)\n\tSIGTTOU   = syscall.Signal(0x1b)\n\tSIGURG    = syscall.Signal(0x15)\n\tSIGUSR1   = syscall.Signal(0x10)\n\tSIGUSR2   = syscall.Signal(0x11)\n\tSIGVTALRM = syscall.Signal(0x1c)\n\tSIGWINCH  = syscall.Signal(0x14)\n\tSIGXCPU   = syscall.Signal(0x1e)\n\tSIGXFSZ   = syscall.Signal(0x1f)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:    \"operation not permitted\",\n\t2:    \"no such file or directory\",\n\t3:    \"no such process\",\n\t4:    \"interrupted system call\",\n\t5:    \"input/output error\",\n\t6:    \"no such device or address\",\n\t7:    \"argument list too long\",\n\t8:    \"exec format error\",\n\t9:    \"bad file descriptor\",\n\t10:   \"no child processes\",\n\t11:   \"resource temporarily unavailable\",\n\t12:   \"cannot allocate memory\",\n\t13:   \"permission denied\",\n\t14:   \"bad address\",\n\t15:   \"block device required\",\n\t16:   \"device or resource busy\",\n\t17:   \"file exists\",\n\t18:   \"invalid cross-device link\",\n\t19:   \"no such device\",\n\t20:   \"not a directory\",\n\t21:   \"is a directory\",\n\t22:   \"invalid argument\",\n\t23:   \"too many open files in system\",\n\t24:   \"too many open files\",\n\t25:   \"inappropriate ioctl for device\",\n\t26:   \"text file busy\",\n\t27:   \"file too large\",\n\t28:   \"no space left on device\",\n\t29:   \"illegal seek\",\n\t30:   \"read-only file system\",\n\t31:   \"too many links\",\n\t32:   \"broken pipe\",\n\t33:   \"numerical argument out of domain\",\n\t34:   \"numerical result out of range\",\n\t35:   \"no message of desired type\",\n\t36:   \"identifier removed\",\n\t37:   \"channel number out of range\",\n\t38:   \"level 2 not synchronized\",\n\t39:   \"level 3 halted\",\n\t40:   \"level 3 reset\",\n\t41:   \"link number out of range\",\n\t42:   \"protocol driver not attached\",\n\t43:   \"no CSI structure available\",\n\t44:   \"level 2 halted\",\n\t45:   \"resource deadlock avoided\",\n\t46:   \"no locks available\",\n\t50:   \"invalid exchange\",\n\t51:   \"invalid request descriptor\",\n\t52:   \"exchange full\",\n\t53:   \"no anode\",\n\t54:   \"invalid request code\",\n\t55:   \"invalid slot\",\n\t56:   \"file locking deadlock error\",\n\t59:   \"bad font file format\",\n\t60:   \"device not a stream\",\n\t61:   \"no data available\",\n\t62:   \"timer expired\",\n\t63:   \"out of streams resources\",\n\t64:   \"machine is not on the network\",\n\t65:   \"package not installed\",\n\t66:   \"object is remote\",\n\t67:   \"link has been severed\",\n\t68:   \"advertise error\",\n\t69:   \"srmount error\",\n\t70:   \"communication error on send\",\n\t71:   \"protocol error\",\n\t73:   \"RFS specific error\",\n\t74:   \"multihop attempted\",\n\t77:   \"bad message\",\n\t78:   \"file name too long\",\n\t79:   \"value too large for defined data type\",\n\t80:   \"name not unique on network\",\n\t81:   \"file descriptor in bad state\",\n\t82:   \"remote address changed\",\n\t83:   \"can not access a needed shared library\",\n\t84:   \"accessing a corrupted shared library\",\n\t85:   \".lib section in a.out corrupted\",\n\t86:   \"attempting to link in too many shared libraries\",\n\t87:   \"cannot exec a shared library directly\",\n\t88:   \"invalid or incomplete multibyte or wide character\",\n\t89:   \"function not implemented\",\n\t90:   \"too many levels of symbolic links\",\n\t91:   \"interrupted system call should be restarted\",\n\t92:   \"streams pipe error\",\n\t93:   \"directory not empty\",\n\t94:   \"too many users\",\n\t95:   \"socket operation on non-socket\",\n\t96:   \"destination address required\",\n\t97:   \"message too long\",\n\t98:   \"protocol wrong type for socket\",\n\t99:   \"protocol not available\",\n\t120:  \"protocol not supported\",\n\t121:  \"socket type not supported\",\n\t122:  \"operation not supported\",\n\t123:  \"protocol family not supported\",\n\t124:  \"address family not supported by protocol\",\n\t125:  \"address already in use\",\n\t126:  \"cannot assign requested address\",\n\t127:  \"network is down\",\n\t128:  \"network is unreachable\",\n\t129:  \"network dropped connection on reset\",\n\t130:  \"software caused connection abort\",\n\t131:  \"connection reset by peer\",\n\t132:  \"no buffer space available\",\n\t133:  \"transport endpoint is already connected\",\n\t134:  \"transport endpoint is not connected\",\n\t135:  \"structure needs cleaning\",\n\t137:  \"not a XENIX named type file\",\n\t138:  \"no XENIX semaphores available\",\n\t139:  \"is a named type file\",\n\t140:  \"remote I/O error\",\n\t141:  \"unknown error 141\",\n\t142:  \"unknown error 142\",\n\t143:  \"cannot send after transport endpoint shutdown\",\n\t144:  \"too many references: cannot splice\",\n\t145:  \"connection timed out\",\n\t146:  \"connection refused\",\n\t147:  \"host is down\",\n\t148:  \"no route to host\",\n\t149:  \"operation already in progress\",\n\t150:  \"operation now in progress\",\n\t151:  \"stale file handle\",\n\t158:  \"operation canceled\",\n\t159:  \"no medium found\",\n\t160:  \"wrong medium type\",\n\t161:  \"required key not available\",\n\t162:  \"key has expired\",\n\t163:  \"key has been revoked\",\n\t164:  \"key was rejected by service\",\n\t165:  \"owner died\",\n\t166:  \"state not recoverable\",\n\t167:  \"operation not possible due to RF-kill\",\n\t168:  \"memory page has hardware error\",\n\t1133: \"disk quota exceeded\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"user defined signal 1\",\n\t17: \"user defined signal 2\",\n\t18: \"child exited\",\n\t19: \"power failure\",\n\t20: \"window changed\",\n\t21: \"urgent I/O condition\",\n\t22: \"I/O possible\",\n\t23: \"stopped (signal)\",\n\t24: \"stopped\",\n\t25: \"continued\",\n\t26: \"stopped (tty input)\",\n\t27: \"stopped (tty output)\",\n\t28: \"virtual timer expired\",\n\t29: \"profiling timer expired\",\n\t30: \"CPU time limit exceeded\",\n\t31: \"file size limit exceeded\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build ppc64,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tB0                                   = 0x0\n\tB1000000                             = 0x17\n\tB110                                 = 0x3\n\tB115200                              = 0x11\n\tB1152000                             = 0x18\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x19\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x1a\n\tB230400                              = 0x12\n\tB2400                                = 0xb\n\tB2500000                             = 0x1b\n\tB300                                 = 0x7\n\tB3000000                             = 0x1c\n\tB3500000                             = 0x1d\n\tB38400                               = 0xf\n\tB4000000                             = 0x1e\n\tB460800                              = 0x13\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x14\n\tB57600                               = 0x10\n\tB576000                              = 0x15\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x16\n\tB9600                                = 0xd\n\tBLKBSZGET                            = 0x40081270\n\tBLKBSZSET                            = 0x80081271\n\tBLKFLSBUF                            = 0x20001261\n\tBLKFRAGET                            = 0x20001265\n\tBLKFRASET                            = 0x20001264\n\tBLKGETSIZE                           = 0x20001260\n\tBLKGETSIZE64                         = 0x40081272\n\tBLKPBSZGET                           = 0x2000127b\n\tBLKRAGET                             = 0x20001263\n\tBLKRASET                             = 0x20001262\n\tBLKROGET                             = 0x2000125e\n\tBLKROSET                             = 0x2000125d\n\tBLKRRPART                            = 0x2000125f\n\tBLKSECTGET                           = 0x20001267\n\tBLKSECTSET                           = 0x20001266\n\tBLKSSZGET                            = 0x20001268\n\tBOTHER                               = 0x1f\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x8000\n\tBSDLY                                = 0x8000\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0xff\n\tCBAUDEX                              = 0x0\n\tCFLUSH                               = 0xf\n\tCIBAUD                               = 0xff0000\n\tCLOCAL                               = 0x8000\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCR0                                  = 0x0\n\tCR1                                  = 0x1000\n\tCR2                                  = 0x2000\n\tCR3                                  = 0x3000\n\tCRDLY                                = 0x3000\n\tCREAD                                = 0x800\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x100\n\tCS7                                  = 0x200\n\tCS8                                  = 0x300\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x300\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x400\n\tCSUSP                                = 0x1a\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x40\n\tECHOE                                = 0x2\n\tECHOK                                = 0x4\n\tECHOKE                               = 0x1\n\tECHONL                               = 0x10\n\tECHOPRT                              = 0x20\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000000\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x4000\n\tFFDLY                                = 0x4000\n\tFLUSHO                               = 0x800000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x5\n\tF_GETLK64                            = 0xc\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0xd\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0xe\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHUPCL                                = 0x4000\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x100\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x400\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x8\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x200007b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x80\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x1000\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x400\n\tIXON                                 = 0x200\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x80\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x40\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_STACK                            = 0x20000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x2000\n\tMCL_FUTURE                           = 0x4000\n\tMCL_ONFAULT                          = 0x8000\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tNAME_MAX                             = 0xff\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNL2                                  = 0x200\n\tNL3                                  = 0x300\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x300\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80000000\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x4\n\tONLCR                                = 0x2\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPOST                                = 0x1\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x20000\n\tO_DIRECTORY                          = 0x4000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x8000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x404000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x1000\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x2000\n\tPENDIN                               = 0x20000000\n\tPERF_EVENT_IOC_DISABLE               = 0x20002401\n\tPERF_EVENT_IOC_ENABLE                = 0x20002400\n\tPERF_EVENT_IOC_ID                    = 0x40082407\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409\n\tPERF_EVENT_IOC_PERIOD                = 0x80082404\n\tPERF_EVENT_IOC_REFRESH               = 0x20002402\n\tPERF_EVENT_IOC_RESET                 = 0x20002403\n\tPERF_EVENT_IOC_SET_BPF               = 0x80042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x80082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x20002405\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_SAO                             = 0x10\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETEVRREGS                    = 0x14\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGS64                     = 0x16\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GETVRREGS                     = 0x12\n\tPTRACE_GETVSRREGS                    = 0x1b\n\tPTRACE_GET_DEBUGREG                  = 0x19\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETEVRREGS                    = 0x15\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGS64                     = 0x17\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SETVRREGS                     = 0x13\n\tPTRACE_SETVSRREGS                    = 0x1c\n\tPTRACE_SET_DEBUGREG                  = 0x1a\n\tPTRACE_SINGLEBLOCK                   = 0x100\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tPT_CCR                               = 0x26\n\tPT_CTR                               = 0x23\n\tPT_DAR                               = 0x29\n\tPT_DSCR                              = 0x2c\n\tPT_DSISR                             = 0x2a\n\tPT_FPR0                              = 0x30\n\tPT_FPSCR                             = 0x50\n\tPT_LNK                               = 0x24\n\tPT_MSR                               = 0x21\n\tPT_NIP                               = 0x20\n\tPT_ORIG_R3                           = 0x22\n\tPT_R0                                = 0x0\n\tPT_R1                                = 0x1\n\tPT_R10                               = 0xa\n\tPT_R11                               = 0xb\n\tPT_R12                               = 0xc\n\tPT_R13                               = 0xd\n\tPT_R14                               = 0xe\n\tPT_R15                               = 0xf\n\tPT_R16                               = 0x10\n\tPT_R17                               = 0x11\n\tPT_R18                               = 0x12\n\tPT_R19                               = 0x13\n\tPT_R2                                = 0x2\n\tPT_R20                               = 0x14\n\tPT_R21                               = 0x15\n\tPT_R22                               = 0x16\n\tPT_R23                               = 0x17\n\tPT_R24                               = 0x18\n\tPT_R25                               = 0x19\n\tPT_R26                               = 0x1a\n\tPT_R27                               = 0x1b\n\tPT_R28                               = 0x1c\n\tPT_R29                               = 0x1d\n\tPT_R3                                = 0x3\n\tPT_R30                               = 0x1e\n\tPT_R31                               = 0x1f\n\tPT_R4                                = 0x4\n\tPT_R5                                = 0x5\n\tPT_R6                                = 0x6\n\tPT_R7                                = 0x7\n\tPT_R8                                = 0x8\n\tPT_R9                                = 0x9\n\tPT_REGS_COUNT                        = 0x2c\n\tPT_RESULT                            = 0x2b\n\tPT_SOFTE                             = 0x27\n\tPT_TRAP                              = 0x28\n\tPT_VR0                               = 0x52\n\tPT_VRSAVE                            = 0x94\n\tPT_VSCR                              = 0x93\n\tPT_VSR0                              = 0x96\n\tPT_VSR31                             = 0xd4\n\tPT_XER                               = 0x25\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x10\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1a\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x4004667f\n\tSIOCOUTQ                             = 0x40047473\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x14\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x15\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x10\n\tSO_RCVTIMEO                          = 0x12\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x11\n\tSO_SNDTIMEO                          = 0x13\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x400\n\tTAB2                                 = 0x800\n\tTAB3                                 = 0xc00\n\tTABDLY                               = 0xc00\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x2000741f\n\tTCGETA                               = 0x40147417\n\tTCGETS                               = 0x402c7413\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x2000741d\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x80147418\n\tTCSETAF                              = 0x8014741c\n\tTCSETAW                              = 0x80147419\n\tTCSETS                               = 0x802c7414\n\tTCSETSF                              = 0x802c7416\n\tTCSETSW                              = 0x802c7415\n\tTCXONC                               = 0x2000741e\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x40045432\n\tTIOCGETC                             = 0x40067412\n\tTIOCGETD                             = 0x5424\n\tTIOCGETP                             = 0x40067408\n\tTIOCGEXCL                            = 0x40045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGLTC                             = 0x40067474\n\tTIOCGPGRP                            = 0x40047477\n\tTIOCGPKT                             = 0x40045438\n\tTIOCGPTLCK                           = 0x40045439\n\tTIOCGPTN                             = 0x40045430\n\tTIOCGPTPEER                          = 0x20005441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x40087468\n\tTIOCINQ                              = 0x4004667f\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_LOOP                           = 0x8000\n\tTIOCM_OUT1                           = 0x2000\n\tTIOCM_OUT2                           = 0x4000\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x40047473\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETC                             = 0x80067411\n\tTIOCSETD                             = 0x5423\n\tTIOCSETN                             = 0x8006740a\n\tTIOCSETP                             = 0x80067409\n\tTIOCSIG                              = 0x80045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSLTC                             = 0x80067475\n\tTIOCSPGRP                            = 0x80047476\n\tTIOCSPTLCK                           = 0x80045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTART                            = 0x2000746e\n\tTIOCSTI                              = 0x5412\n\tTIOCSTOP                             = 0x2000746f\n\tTIOCSWINSZ                           = 0x80087467\n\tTIOCVHANGUP                          = 0x5437\n\tTOSTOP                               = 0x400000\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x801054d5\n\tTUNDETACHFILTER                      = 0x801054d6\n\tTUNGETFEATURES                       = 0x400454cf\n\tTUNGETFILTER                         = 0x401054db\n\tTUNGETIFF                            = 0x400454d2\n\tTUNGETSNDBUF                         = 0x400454d3\n\tTUNGETVNETBE                         = 0x400454df\n\tTUNGETVNETHDRSZ                      = 0x400454d7\n\tTUNGETVNETLE                         = 0x400454dd\n\tTUNSETDEBUG                          = 0x800454c9\n\tTUNSETGROUP                          = 0x800454ce\n\tTUNSETIFF                            = 0x800454ca\n\tTUNSETIFINDEX                        = 0x800454da\n\tTUNSETLINK                           = 0x800454cd\n\tTUNSETNOCSUM                         = 0x800454c8\n\tTUNSETOFFLOAD                        = 0x800454d0\n\tTUNSETOWNER                          = 0x800454cc\n\tTUNSETPERSIST                        = 0x800454cb\n\tTUNSETQUEUE                          = 0x800454d9\n\tTUNSETSNDBUF                         = 0x800454d4\n\tTUNSETTXFILTER                       = 0x800454d1\n\tTUNSETVNETBE                         = 0x800454de\n\tTUNSETVNETHDRSZ                      = 0x800454d8\n\tTUNSETVNETLE                         = 0x800454dc\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tVDISCARD                             = 0x10\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0x6\n\tVEOL2                                = 0x8\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x5\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xb\n\tVSTART                               = 0xd\n\tVSTOP                                = 0xe\n\tVSUSP                                = 0xc\n\tVSWTC                                = 0x9\n\tVT0                                  = 0x0\n\tVT1                                  = 0x10000\n\tVTDLY                                = 0x10000\n\tVTIME                                = 0x7\n\tVWERASE                              = 0xa\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x40045702\n\tWDIOC_GETPRETIMEOUT                  = 0x40045709\n\tWDIOC_GETSTATUS                      = 0x40045701\n\tWDIOC_GETSUPPORT                     = 0x40285700\n\tWDIOC_GETTEMP                        = 0x40045703\n\tWDIOC_GETTIMELEFT                    = 0x4004570a\n\tWDIOC_GETTIMEOUT                     = 0x40045707\n\tWDIOC_KEEPALIVE                      = 0x40045705\n\tWDIOC_SETOPTIONS                     = 0x40045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4000\n\tXTABS                                = 0xc00\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x3a)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"no such device or address\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource temporarily unavailable\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"device or resource busy\",\n\t17:  \"file exists\",\n\t18:  \"invalid cross-device link\",\n\t19:  \"no such device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"numerical result out of range\",\n\t35:  \"resource deadlock avoided\",\n\t36:  \"file name too long\",\n\t37:  \"no locks available\",\n\t38:  \"function not implemented\",\n\t39:  \"directory not empty\",\n\t40:  \"too many levels of symbolic links\",\n\t42:  \"no message of desired type\",\n\t43:  \"identifier removed\",\n\t44:  \"channel number out of range\",\n\t45:  \"level 2 not synchronized\",\n\t46:  \"level 3 halted\",\n\t47:  \"level 3 reset\",\n\t48:  \"link number out of range\",\n\t49:  \"protocol driver not attached\",\n\t50:  \"no CSI structure available\",\n\t51:  \"level 2 halted\",\n\t52:  \"invalid exchange\",\n\t53:  \"invalid request descriptor\",\n\t54:  \"exchange full\",\n\t55:  \"no anode\",\n\t56:  \"invalid request code\",\n\t57:  \"invalid slot\",\n\t58:  \"file locking deadlock error\",\n\t59:  \"bad font file format\",\n\t60:  \"device not a stream\",\n\t61:  \"no data available\",\n\t62:  \"timer expired\",\n\t63:  \"out of streams resources\",\n\t64:  \"machine is not on the network\",\n\t65:  \"package not installed\",\n\t66:  \"object is remote\",\n\t67:  \"link has been severed\",\n\t68:  \"advertise error\",\n\t69:  \"srmount error\",\n\t70:  \"communication error on send\",\n\t71:  \"protocol error\",\n\t72:  \"multihop attempted\",\n\t73:  \"RFS specific error\",\n\t74:  \"bad message\",\n\t75:  \"value too large for defined data type\",\n\t76:  \"name not unique on network\",\n\t77:  \"file descriptor in bad state\",\n\t78:  \"remote address changed\",\n\t79:  \"can not access a needed shared library\",\n\t80:  \"accessing a corrupted shared library\",\n\t81:  \".lib section in a.out corrupted\",\n\t82:  \"attempting to link in too many shared libraries\",\n\t83:  \"cannot exec a shared library directly\",\n\t84:  \"invalid or incomplete multibyte or wide character\",\n\t85:  \"interrupted system call should be restarted\",\n\t86:  \"streams pipe error\",\n\t87:  \"too many users\",\n\t88:  \"socket operation on non-socket\",\n\t89:  \"destination address required\",\n\t90:  \"message too long\",\n\t91:  \"protocol wrong type for socket\",\n\t92:  \"protocol not available\",\n\t93:  \"protocol not supported\",\n\t94:  \"socket type not supported\",\n\t95:  \"operation not supported\",\n\t96:  \"protocol family not supported\",\n\t97:  \"address family not supported by protocol\",\n\t98:  \"address already in use\",\n\t99:  \"cannot assign requested address\",\n\t100: \"network is down\",\n\t101: \"network is unreachable\",\n\t102: \"network dropped connection on reset\",\n\t103: \"software caused connection abort\",\n\t104: \"connection reset by peer\",\n\t105: \"no buffer space available\",\n\t106: \"transport endpoint is already connected\",\n\t107: \"transport endpoint is not connected\",\n\t108: \"cannot send after transport endpoint shutdown\",\n\t109: \"too many references: cannot splice\",\n\t110: \"connection timed out\",\n\t111: \"connection refused\",\n\t112: \"host is down\",\n\t113: \"no route to host\",\n\t114: \"operation already in progress\",\n\t115: \"operation now in progress\",\n\t116: \"stale file handle\",\n\t117: \"structure needs cleaning\",\n\t118: \"not a XENIX named type file\",\n\t119: \"no XENIX semaphores available\",\n\t120: \"is a named type file\",\n\t121: \"remote I/O error\",\n\t122: \"disk quota exceeded\",\n\t123: \"no medium found\",\n\t124: \"wrong medium type\",\n\t125: \"operation canceled\",\n\t126: \"required key not available\",\n\t127: \"key has expired\",\n\t128: \"key has been revoked\",\n\t129: \"key was rejected by service\",\n\t130: \"owner died\",\n\t131: \"state not recoverable\",\n\t132: \"operation not possible due to RF-kill\",\n\t133: \"memory page has hardware error\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"bus error\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"user defined signal 1\",\n\t11: \"segmentation fault\",\n\t12: \"user defined signal 2\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"stack fault\",\n\t17: \"child exited\",\n\t18: \"continued\",\n\t19: \"stopped (signal)\",\n\t20: \"stopped\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"urgent I/O condition\",\n\t24: \"CPU time limit exceeded\",\n\t25: \"file size limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window changed\",\n\t29: \"I/O possible\",\n\t30: \"power failure\",\n\t31: \"bad system call\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build ppc64le,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tB0                                   = 0x0\n\tB1000000                             = 0x17\n\tB110                                 = 0x3\n\tB115200                              = 0x11\n\tB1152000                             = 0x18\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x19\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x1a\n\tB230400                              = 0x12\n\tB2400                                = 0xb\n\tB2500000                             = 0x1b\n\tB300                                 = 0x7\n\tB3000000                             = 0x1c\n\tB3500000                             = 0x1d\n\tB38400                               = 0xf\n\tB4000000                             = 0x1e\n\tB460800                              = 0x13\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x14\n\tB57600                               = 0x10\n\tB576000                              = 0x15\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x16\n\tB9600                                = 0xd\n\tBLKBSZGET                            = 0x40081270\n\tBLKBSZSET                            = 0x80081271\n\tBLKFLSBUF                            = 0x20001261\n\tBLKFRAGET                            = 0x20001265\n\tBLKFRASET                            = 0x20001264\n\tBLKGETSIZE                           = 0x20001260\n\tBLKGETSIZE64                         = 0x40081272\n\tBLKPBSZGET                           = 0x2000127b\n\tBLKRAGET                             = 0x20001263\n\tBLKRASET                             = 0x20001262\n\tBLKROGET                             = 0x2000125e\n\tBLKROSET                             = 0x2000125d\n\tBLKRRPART                            = 0x2000125f\n\tBLKSECTGET                           = 0x20001267\n\tBLKSECTSET                           = 0x20001266\n\tBLKSSZGET                            = 0x20001268\n\tBOTHER                               = 0x1f\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x8000\n\tBSDLY                                = 0x8000\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0xff\n\tCBAUDEX                              = 0x0\n\tCFLUSH                               = 0xf\n\tCIBAUD                               = 0xff0000\n\tCLOCAL                               = 0x8000\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCR0                                  = 0x0\n\tCR1                                  = 0x1000\n\tCR2                                  = 0x2000\n\tCR3                                  = 0x3000\n\tCRDLY                                = 0x3000\n\tCREAD                                = 0x800\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x100\n\tCS7                                  = 0x200\n\tCS8                                  = 0x300\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x300\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x400\n\tCSUSP                                = 0x1a\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x40\n\tECHOE                                = 0x2\n\tECHOK                                = 0x4\n\tECHOKE                               = 0x1\n\tECHONL                               = 0x10\n\tECHOPRT                              = 0x20\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000000\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x4000\n\tFFDLY                                = 0x4000\n\tFLUSHO                               = 0x800000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x5\n\tF_GETLK64                            = 0xc\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0xd\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0xe\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHUPCL                                = 0x4000\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x100\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x400\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x8\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x200007b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x80\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x1000\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x400\n\tIXON                                 = 0x200\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x80\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x40\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_STACK                            = 0x20000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x2000\n\tMCL_FUTURE                           = 0x4000\n\tMCL_ONFAULT                          = 0x8000\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tNAME_MAX                             = 0xff\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNL2                                  = 0x200\n\tNL3                                  = 0x300\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x300\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80000000\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x4\n\tONLCR                                = 0x2\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPOST                                = 0x1\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x20000\n\tO_DIRECTORY                          = 0x4000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x8000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x404000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x1000\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x2000\n\tPENDIN                               = 0x20000000\n\tPERF_EVENT_IOC_DISABLE               = 0x20002401\n\tPERF_EVENT_IOC_ENABLE                = 0x20002400\n\tPERF_EVENT_IOC_ID                    = 0x40082407\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409\n\tPERF_EVENT_IOC_PERIOD                = 0x80082404\n\tPERF_EVENT_IOC_REFRESH               = 0x20002402\n\tPERF_EVENT_IOC_RESET                 = 0x20002403\n\tPERF_EVENT_IOC_SET_BPF               = 0x80042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x80082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x20002405\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_SAO                             = 0x10\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETEVRREGS                    = 0x14\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGS64                     = 0x16\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GETVRREGS                     = 0x12\n\tPTRACE_GETVSRREGS                    = 0x1b\n\tPTRACE_GET_DEBUGREG                  = 0x19\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETEVRREGS                    = 0x15\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGS64                     = 0x17\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SETVRREGS                     = 0x13\n\tPTRACE_SETVSRREGS                    = 0x1c\n\tPTRACE_SET_DEBUGREG                  = 0x1a\n\tPTRACE_SINGLEBLOCK                   = 0x100\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tPT_CCR                               = 0x26\n\tPT_CTR                               = 0x23\n\tPT_DAR                               = 0x29\n\tPT_DSCR                              = 0x2c\n\tPT_DSISR                             = 0x2a\n\tPT_FPR0                              = 0x30\n\tPT_FPSCR                             = 0x50\n\tPT_LNK                               = 0x24\n\tPT_MSR                               = 0x21\n\tPT_NIP                               = 0x20\n\tPT_ORIG_R3                           = 0x22\n\tPT_R0                                = 0x0\n\tPT_R1                                = 0x1\n\tPT_R10                               = 0xa\n\tPT_R11                               = 0xb\n\tPT_R12                               = 0xc\n\tPT_R13                               = 0xd\n\tPT_R14                               = 0xe\n\tPT_R15                               = 0xf\n\tPT_R16                               = 0x10\n\tPT_R17                               = 0x11\n\tPT_R18                               = 0x12\n\tPT_R19                               = 0x13\n\tPT_R2                                = 0x2\n\tPT_R20                               = 0x14\n\tPT_R21                               = 0x15\n\tPT_R22                               = 0x16\n\tPT_R23                               = 0x17\n\tPT_R24                               = 0x18\n\tPT_R25                               = 0x19\n\tPT_R26                               = 0x1a\n\tPT_R27                               = 0x1b\n\tPT_R28                               = 0x1c\n\tPT_R29                               = 0x1d\n\tPT_R3                                = 0x3\n\tPT_R30                               = 0x1e\n\tPT_R31                               = 0x1f\n\tPT_R4                                = 0x4\n\tPT_R5                                = 0x5\n\tPT_R6                                = 0x6\n\tPT_R7                                = 0x7\n\tPT_R8                                = 0x8\n\tPT_R9                                = 0x9\n\tPT_REGS_COUNT                        = 0x2c\n\tPT_RESULT                            = 0x2b\n\tPT_SOFTE                             = 0x27\n\tPT_TRAP                              = 0x28\n\tPT_VR0                               = 0x52\n\tPT_VRSAVE                            = 0x94\n\tPT_VSCR                              = 0x93\n\tPT_VSR0                              = 0x96\n\tPT_VSR31                             = 0xd4\n\tPT_XER                               = 0x25\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x10\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1a\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x4004667f\n\tSIOCOUTQ                             = 0x40047473\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x14\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x15\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x10\n\tSO_RCVTIMEO                          = 0x12\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x11\n\tSO_SNDTIMEO                          = 0x13\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x400\n\tTAB2                                 = 0x800\n\tTAB3                                 = 0xc00\n\tTABDLY                               = 0xc00\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x2000741f\n\tTCGETA                               = 0x40147417\n\tTCGETS                               = 0x402c7413\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x2000741d\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x80147418\n\tTCSETAF                              = 0x8014741c\n\tTCSETAW                              = 0x80147419\n\tTCSETS                               = 0x802c7414\n\tTCSETSF                              = 0x802c7416\n\tTCSETSW                              = 0x802c7415\n\tTCXONC                               = 0x2000741e\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x40045432\n\tTIOCGETC                             = 0x40067412\n\tTIOCGETD                             = 0x5424\n\tTIOCGETP                             = 0x40067408\n\tTIOCGEXCL                            = 0x40045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGLTC                             = 0x40067474\n\tTIOCGPGRP                            = 0x40047477\n\tTIOCGPKT                             = 0x40045438\n\tTIOCGPTLCK                           = 0x40045439\n\tTIOCGPTN                             = 0x40045430\n\tTIOCGPTPEER                          = 0x20005441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x40087468\n\tTIOCINQ                              = 0x4004667f\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_LOOP                           = 0x8000\n\tTIOCM_OUT1                           = 0x2000\n\tTIOCM_OUT2                           = 0x4000\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x40047473\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETC                             = 0x80067411\n\tTIOCSETD                             = 0x5423\n\tTIOCSETN                             = 0x8006740a\n\tTIOCSETP                             = 0x80067409\n\tTIOCSIG                              = 0x80045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSLTC                             = 0x80067475\n\tTIOCSPGRP                            = 0x80047476\n\tTIOCSPTLCK                           = 0x80045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTART                            = 0x2000746e\n\tTIOCSTI                              = 0x5412\n\tTIOCSTOP                             = 0x2000746f\n\tTIOCSWINSZ                           = 0x80087467\n\tTIOCVHANGUP                          = 0x5437\n\tTOSTOP                               = 0x400000\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x801054d5\n\tTUNDETACHFILTER                      = 0x801054d6\n\tTUNGETFEATURES                       = 0x400454cf\n\tTUNGETFILTER                         = 0x401054db\n\tTUNGETIFF                            = 0x400454d2\n\tTUNGETSNDBUF                         = 0x400454d3\n\tTUNGETVNETBE                         = 0x400454df\n\tTUNGETVNETHDRSZ                      = 0x400454d7\n\tTUNGETVNETLE                         = 0x400454dd\n\tTUNSETDEBUG                          = 0x800454c9\n\tTUNSETGROUP                          = 0x800454ce\n\tTUNSETIFF                            = 0x800454ca\n\tTUNSETIFINDEX                        = 0x800454da\n\tTUNSETLINK                           = 0x800454cd\n\tTUNSETNOCSUM                         = 0x800454c8\n\tTUNSETOFFLOAD                        = 0x800454d0\n\tTUNSETOWNER                          = 0x800454cc\n\tTUNSETPERSIST                        = 0x800454cb\n\tTUNSETQUEUE                          = 0x800454d9\n\tTUNSETSNDBUF                         = 0x800454d4\n\tTUNSETTXFILTER                       = 0x800454d1\n\tTUNSETVNETBE                         = 0x800454de\n\tTUNSETVNETHDRSZ                      = 0x800454d8\n\tTUNSETVNETLE                         = 0x800454dc\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tVDISCARD                             = 0x10\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0x6\n\tVEOL2                                = 0x8\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x5\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xb\n\tVSTART                               = 0xd\n\tVSTOP                                = 0xe\n\tVSUSP                                = 0xc\n\tVSWTC                                = 0x9\n\tVT0                                  = 0x0\n\tVT1                                  = 0x10000\n\tVTDLY                                = 0x10000\n\tVTIME                                = 0x7\n\tVWERASE                              = 0xa\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x40045702\n\tWDIOC_GETPRETIMEOUT                  = 0x40045709\n\tWDIOC_GETSTATUS                      = 0x40045701\n\tWDIOC_GETSUPPORT                     = 0x40285700\n\tWDIOC_GETTEMP                        = 0x40045703\n\tWDIOC_GETTIMELEFT                    = 0x4004570a\n\tWDIOC_GETTIMEOUT                     = 0x40045707\n\tWDIOC_KEEPALIVE                      = 0x40045705\n\tWDIOC_SETOPTIONS                     = 0x40045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4000\n\tXTABS                                = 0xc00\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x3a)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"no such device or address\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource temporarily unavailable\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"device or resource busy\",\n\t17:  \"file exists\",\n\t18:  \"invalid cross-device link\",\n\t19:  \"no such device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"numerical result out of range\",\n\t35:  \"resource deadlock avoided\",\n\t36:  \"file name too long\",\n\t37:  \"no locks available\",\n\t38:  \"function not implemented\",\n\t39:  \"directory not empty\",\n\t40:  \"too many levels of symbolic links\",\n\t42:  \"no message of desired type\",\n\t43:  \"identifier removed\",\n\t44:  \"channel number out of range\",\n\t45:  \"level 2 not synchronized\",\n\t46:  \"level 3 halted\",\n\t47:  \"level 3 reset\",\n\t48:  \"link number out of range\",\n\t49:  \"protocol driver not attached\",\n\t50:  \"no CSI structure available\",\n\t51:  \"level 2 halted\",\n\t52:  \"invalid exchange\",\n\t53:  \"invalid request descriptor\",\n\t54:  \"exchange full\",\n\t55:  \"no anode\",\n\t56:  \"invalid request code\",\n\t57:  \"invalid slot\",\n\t58:  \"file locking deadlock error\",\n\t59:  \"bad font file format\",\n\t60:  \"device not a stream\",\n\t61:  \"no data available\",\n\t62:  \"timer expired\",\n\t63:  \"out of streams resources\",\n\t64:  \"machine is not on the network\",\n\t65:  \"package not installed\",\n\t66:  \"object is remote\",\n\t67:  \"link has been severed\",\n\t68:  \"advertise error\",\n\t69:  \"srmount error\",\n\t70:  \"communication error on send\",\n\t71:  \"protocol error\",\n\t72:  \"multihop attempted\",\n\t73:  \"RFS specific error\",\n\t74:  \"bad message\",\n\t75:  \"value too large for defined data type\",\n\t76:  \"name not unique on network\",\n\t77:  \"file descriptor in bad state\",\n\t78:  \"remote address changed\",\n\t79:  \"can not access a needed shared library\",\n\t80:  \"accessing a corrupted shared library\",\n\t81:  \".lib section in a.out corrupted\",\n\t82:  \"attempting to link in too many shared libraries\",\n\t83:  \"cannot exec a shared library directly\",\n\t84:  \"invalid or incomplete multibyte or wide character\",\n\t85:  \"interrupted system call should be restarted\",\n\t86:  \"streams pipe error\",\n\t87:  \"too many users\",\n\t88:  \"socket operation on non-socket\",\n\t89:  \"destination address required\",\n\t90:  \"message too long\",\n\t91:  \"protocol wrong type for socket\",\n\t92:  \"protocol not available\",\n\t93:  \"protocol not supported\",\n\t94:  \"socket type not supported\",\n\t95:  \"operation not supported\",\n\t96:  \"protocol family not supported\",\n\t97:  \"address family not supported by protocol\",\n\t98:  \"address already in use\",\n\t99:  \"cannot assign requested address\",\n\t100: \"network is down\",\n\t101: \"network is unreachable\",\n\t102: \"network dropped connection on reset\",\n\t103: \"software caused connection abort\",\n\t104: \"connection reset by peer\",\n\t105: \"no buffer space available\",\n\t106: \"transport endpoint is already connected\",\n\t107: \"transport endpoint is not connected\",\n\t108: \"cannot send after transport endpoint shutdown\",\n\t109: \"too many references: cannot splice\",\n\t110: \"connection timed out\",\n\t111: \"connection refused\",\n\t112: \"host is down\",\n\t113: \"no route to host\",\n\t114: \"operation already in progress\",\n\t115: \"operation now in progress\",\n\t116: \"stale file handle\",\n\t117: \"structure needs cleaning\",\n\t118: \"not a XENIX named type file\",\n\t119: \"no XENIX semaphores available\",\n\t120: \"is a named type file\",\n\t121: \"remote I/O error\",\n\t122: \"disk quota exceeded\",\n\t123: \"no medium found\",\n\t124: \"wrong medium type\",\n\t125: \"operation canceled\",\n\t126: \"required key not available\",\n\t127: \"key has expired\",\n\t128: \"key has been revoked\",\n\t129: \"key was rejected by service\",\n\t130: \"owner died\",\n\t131: \"state not recoverable\",\n\t132: \"operation not possible due to RF-kill\",\n\t133: \"memory page has hardware error\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"bus error\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"user defined signal 1\",\n\t11: \"segmentation fault\",\n\t12: \"user defined signal 2\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"stack fault\",\n\t17: \"child exited\",\n\t18: \"continued\",\n\t19: \"stopped (signal)\",\n\t20: \"stopped\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"urgent I/O condition\",\n\t24: \"CPU time limit exceeded\",\n\t25: \"file size limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window changed\",\n\t29: \"I/O possible\",\n\t30: \"power failure\",\n\t31: \"bad system call\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build s390x,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBLKBSZGET                            = 0x80081270\n\tBLKBSZSET                            = 0x40081271\n\tBLKFLSBUF                            = 0x1261\n\tBLKFRAGET                            = 0x1265\n\tBLKFRASET                            = 0x1264\n\tBLKGETSIZE                           = 0x1260\n\tBLKGETSIZE64                         = 0x80081272\n\tBLKPBSZGET                           = 0x127b\n\tBLKRAGET                             = 0x1263\n\tBLKRASET                             = 0x1262\n\tBLKROGET                             = 0x125e\n\tBLKROSET                             = 0x125d\n\tBLKRRPART                            = 0x125f\n\tBLKSECTGET                           = 0x1267\n\tBLKSECTSET                           = 0x1266\n\tBLKSSZGET                            = 0x1268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x1000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x5\n\tF_GETLK64                            = 0x5\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0x6\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0x7\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x8000\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x8\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x7b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x2000\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x4000\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_STACK                            = 0x20000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tNAME_MAX                             = 0xff\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPOST                                = 0x1\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x4000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x2401\n\tPERF_EVENT_IOC_ENABLE                = 0x2400\n\tPERF_EVENT_IOC_ID                    = 0x80082407\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409\n\tPERF_EVENT_IOC_PERIOD                = 0x40082404\n\tPERF_EVENT_IOC_REFRESH               = 0x2402\n\tPERF_EVENT_IOC_RESET                 = 0x2403\n\tPERF_EVENT_IOC_SET_BPF               = 0x40042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x40082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x2405\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_DISABLE_TE                    = 0x5010\n\tPTRACE_ENABLE_TE                     = 0x5009\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_LAST_BREAK                = 0x5006\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKDATA_AREA                 = 0x5003\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKTEXT_AREA                 = 0x5002\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_PEEKUSR_AREA                  = 0x5000\n\tPTRACE_PEEK_SYSTEM_CALL              = 0x5007\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKEDATA_AREA                 = 0x5005\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKETEXT_AREA                 = 0x5004\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_POKEUSR_AREA                  = 0x5001\n\tPTRACE_POKE_SYSTEM_CALL              = 0x5008\n\tPTRACE_PROT                          = 0x15\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SINGLEBLOCK                   = 0xc\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TE_ABORT_RAND                 = 0x5011\n\tPTRACE_TRACEME                       = 0x0\n\tPT_ACR0                              = 0x90\n\tPT_ACR1                              = 0x94\n\tPT_ACR10                             = 0xb8\n\tPT_ACR11                             = 0xbc\n\tPT_ACR12                             = 0xc0\n\tPT_ACR13                             = 0xc4\n\tPT_ACR14                             = 0xc8\n\tPT_ACR15                             = 0xcc\n\tPT_ACR2                              = 0x98\n\tPT_ACR3                              = 0x9c\n\tPT_ACR4                              = 0xa0\n\tPT_ACR5                              = 0xa4\n\tPT_ACR6                              = 0xa8\n\tPT_ACR7                              = 0xac\n\tPT_ACR8                              = 0xb0\n\tPT_ACR9                              = 0xb4\n\tPT_CR_10                             = 0x168\n\tPT_CR_11                             = 0x170\n\tPT_CR_9                              = 0x160\n\tPT_ENDREGS                           = 0x1af\n\tPT_FPC                               = 0xd8\n\tPT_FPR0                              = 0xe0\n\tPT_FPR1                              = 0xe8\n\tPT_FPR10                             = 0x130\n\tPT_FPR11                             = 0x138\n\tPT_FPR12                             = 0x140\n\tPT_FPR13                             = 0x148\n\tPT_FPR14                             = 0x150\n\tPT_FPR15                             = 0x158\n\tPT_FPR2                              = 0xf0\n\tPT_FPR3                              = 0xf8\n\tPT_FPR4                              = 0x100\n\tPT_FPR5                              = 0x108\n\tPT_FPR6                              = 0x110\n\tPT_FPR7                              = 0x118\n\tPT_FPR8                              = 0x120\n\tPT_FPR9                              = 0x128\n\tPT_GPR0                              = 0x10\n\tPT_GPR1                              = 0x18\n\tPT_GPR10                             = 0x60\n\tPT_GPR11                             = 0x68\n\tPT_GPR12                             = 0x70\n\tPT_GPR13                             = 0x78\n\tPT_GPR14                             = 0x80\n\tPT_GPR15                             = 0x88\n\tPT_GPR2                              = 0x20\n\tPT_GPR3                              = 0x28\n\tPT_GPR4                              = 0x30\n\tPT_GPR5                              = 0x38\n\tPT_GPR6                              = 0x40\n\tPT_GPR7                              = 0x48\n\tPT_GPR8                              = 0x50\n\tPT_GPR9                              = 0x58\n\tPT_IEEE_IP                           = 0x1a8\n\tPT_LASTOFF                           = 0x1a8\n\tPT_ORIGGPR2                          = 0xd0\n\tPT_PSWADDR                           = 0x8\n\tPT_PSWMASK                           = 0x0\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x10\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1a\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x541b\n\tSIOCOUTQ                             = 0x5411\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x10\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x11\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x12\n\tSO_RCVTIMEO                          = 0x14\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x13\n\tSO_SNDTIMEO                          = 0x15\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x540b\n\tTCGETA                               = 0x5405\n\tTCGETS                               = 0x5401\n\tTCGETS2                              = 0x802c542a\n\tTCGETX                               = 0x5432\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x5409\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x5406\n\tTCSETAF                              = 0x5408\n\tTCSETAW                              = 0x5407\n\tTCSETS                               = 0x5402\n\tTCSETS2                              = 0x402c542b\n\tTCSETSF                              = 0x5404\n\tTCSETSF2                             = 0x402c542d\n\tTCSETSW                              = 0x5403\n\tTCSETSW2                             = 0x402c542c\n\tTCSETX                               = 0x5433\n\tTCSETXF                              = 0x5434\n\tTCSETXW                              = 0x5435\n\tTCXONC                               = 0x540a\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x80045432\n\tTIOCGETD                             = 0x5424\n\tTIOCGEXCL                            = 0x80045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGPGRP                            = 0x540f\n\tTIOCGPKT                             = 0x80045438\n\tTIOCGPTLCK                           = 0x80045439\n\tTIOCGPTN                             = 0x80045430\n\tTIOCGPTPEER                          = 0x5441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x5413\n\tTIOCINQ                              = 0x541b\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x5411\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x5423\n\tTIOCSIG                              = 0x40045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSPGRP                            = 0x5410\n\tTIOCSPTLCK                           = 0x40045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTI                              = 0x5412\n\tTIOCSWINSZ                           = 0x5414\n\tTIOCVHANGUP                          = 0x5437\n\tTOSTOP                               = 0x100\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x401054d5\n\tTUNDETACHFILTER                      = 0x401054d6\n\tTUNGETFEATURES                       = 0x800454cf\n\tTUNGETFILTER                         = 0x801054db\n\tTUNGETIFF                            = 0x800454d2\n\tTUNGETSNDBUF                         = 0x800454d3\n\tTUNGETVNETBE                         = 0x800454df\n\tTUNGETVNETHDRSZ                      = 0x800454d7\n\tTUNGETVNETLE                         = 0x800454dd\n\tTUNSETDEBUG                          = 0x400454c9\n\tTUNSETGROUP                          = 0x400454ce\n\tTUNSETIFF                            = 0x400454ca\n\tTUNSETIFINDEX                        = 0x400454da\n\tTUNSETLINK                           = 0x400454cd\n\tTUNSETNOCSUM                         = 0x400454c8\n\tTUNSETOFFLOAD                        = 0x400454d0\n\tTUNSETOWNER                          = 0x400454cc\n\tTUNSETPERSIST                        = 0x400454cb\n\tTUNSETQUEUE                          = 0x400454d9\n\tTUNSETSNDBUF                         = 0x400454d4\n\tTUNSETTXFILTER                       = 0x400454d1\n\tTUNSETVNETBE                         = 0x400454de\n\tTUNSETVNETHDRSZ                      = 0x400454d8\n\tTUNSETVNETLE                         = 0x400454dc\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0xb\n\tVEOL2                                = 0x10\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x6\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x80045702\n\tWDIOC_GETPRETIMEOUT                  = 0x80045709\n\tWDIOC_GETSTATUS                      = 0x80045701\n\tWDIOC_GETSUPPORT                     = 0x80285700\n\tWDIOC_GETTEMP                        = 0x80045703\n\tWDIOC_GETTIMELEFT                    = 0x8004570a\n\tWDIOC_GETTIMEOUT                     = 0x80045707\n\tWDIOC_KEEPALIVE                      = 0x80045705\n\tWDIOC_SETOPTIONS                     = 0x80045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXTABS                                = 0x1800\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x23)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"no such device or address\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource temporarily unavailable\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"device or resource busy\",\n\t17:  \"file exists\",\n\t18:  \"invalid cross-device link\",\n\t19:  \"no such device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"numerical result out of range\",\n\t35:  \"resource deadlock avoided\",\n\t36:  \"file name too long\",\n\t37:  \"no locks available\",\n\t38:  \"function not implemented\",\n\t39:  \"directory not empty\",\n\t40:  \"too many levels of symbolic links\",\n\t42:  \"no message of desired type\",\n\t43:  \"identifier removed\",\n\t44:  \"channel number out of range\",\n\t45:  \"level 2 not synchronized\",\n\t46:  \"level 3 halted\",\n\t47:  \"level 3 reset\",\n\t48:  \"link number out of range\",\n\t49:  \"protocol driver not attached\",\n\t50:  \"no CSI structure available\",\n\t51:  \"level 2 halted\",\n\t52:  \"invalid exchange\",\n\t53:  \"invalid request descriptor\",\n\t54:  \"exchange full\",\n\t55:  \"no anode\",\n\t56:  \"invalid request code\",\n\t57:  \"invalid slot\",\n\t59:  \"bad font file format\",\n\t60:  \"device not a stream\",\n\t61:  \"no data available\",\n\t62:  \"timer expired\",\n\t63:  \"out of streams resources\",\n\t64:  \"machine is not on the network\",\n\t65:  \"package not installed\",\n\t66:  \"object is remote\",\n\t67:  \"link has been severed\",\n\t68:  \"advertise error\",\n\t69:  \"srmount error\",\n\t70:  \"communication error on send\",\n\t71:  \"protocol error\",\n\t72:  \"multihop attempted\",\n\t73:  \"RFS specific error\",\n\t74:  \"bad message\",\n\t75:  \"value too large for defined data type\",\n\t76:  \"name not unique on network\",\n\t77:  \"file descriptor in bad state\",\n\t78:  \"remote address changed\",\n\t79:  \"can not access a needed shared library\",\n\t80:  \"accessing a corrupted shared library\",\n\t81:  \".lib section in a.out corrupted\",\n\t82:  \"attempting to link in too many shared libraries\",\n\t83:  \"cannot exec a shared library directly\",\n\t84:  \"invalid or incomplete multibyte or wide character\",\n\t85:  \"interrupted system call should be restarted\",\n\t86:  \"streams pipe error\",\n\t87:  \"too many users\",\n\t88:  \"socket operation on non-socket\",\n\t89:  \"destination address required\",\n\t90:  \"message too long\",\n\t91:  \"protocol wrong type for socket\",\n\t92:  \"protocol not available\",\n\t93:  \"protocol not supported\",\n\t94:  \"socket type not supported\",\n\t95:  \"operation not supported\",\n\t96:  \"protocol family not supported\",\n\t97:  \"address family not supported by protocol\",\n\t98:  \"address already in use\",\n\t99:  \"cannot assign requested address\",\n\t100: \"network is down\",\n\t101: \"network is unreachable\",\n\t102: \"network dropped connection on reset\",\n\t103: \"software caused connection abort\",\n\t104: \"connection reset by peer\",\n\t105: \"no buffer space available\",\n\t106: \"transport endpoint is already connected\",\n\t107: \"transport endpoint is not connected\",\n\t108: \"cannot send after transport endpoint shutdown\",\n\t109: \"too many references: cannot splice\",\n\t110: \"connection timed out\",\n\t111: \"connection refused\",\n\t112: \"host is down\",\n\t113: \"no route to host\",\n\t114: \"operation already in progress\",\n\t115: \"operation now in progress\",\n\t116: \"stale file handle\",\n\t117: \"structure needs cleaning\",\n\t118: \"not a XENIX named type file\",\n\t119: \"no XENIX semaphores available\",\n\t120: \"is a named type file\",\n\t121: \"remote I/O error\",\n\t122: \"disk quota exceeded\",\n\t123: \"no medium found\",\n\t124: \"wrong medium type\",\n\t125: \"operation canceled\",\n\t126: \"required key not available\",\n\t127: \"key has expired\",\n\t128: \"key has been revoked\",\n\t129: \"key was rejected by service\",\n\t130: \"owner died\",\n\t131: \"state not recoverable\",\n\t132: \"operation not possible due to RF-kill\",\n\t133: \"memory page has hardware error\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"bus error\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"user defined signal 1\",\n\t11: \"segmentation fault\",\n\t12: \"user defined signal 2\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"stack fault\",\n\t17: \"child exited\",\n\t18: \"continued\",\n\t19: \"stopped (signal)\",\n\t20: \"stopped\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"urgent I/O condition\",\n\t24: \"CPU time limit exceeded\",\n\t25: \"file size limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window changed\",\n\t29: \"I/O possible\",\n\t30: \"power failure\",\n\t31: \"bad system call\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go",
    "content": "// mkerrors.sh -m64\n// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT\n\n// +build sparc64,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                           = 0x26\n\tAF_APPLETALK                     = 0x5\n\tAF_ASH                           = 0x12\n\tAF_ATMPVC                        = 0x8\n\tAF_ATMSVC                        = 0x14\n\tAF_AX25                          = 0x3\n\tAF_BLUETOOTH                     = 0x1f\n\tAF_BRIDGE                        = 0x7\n\tAF_CAIF                          = 0x25\n\tAF_CAN                           = 0x1d\n\tAF_DECnet                        = 0xc\n\tAF_ECONET                        = 0x13\n\tAF_FILE                          = 0x1\n\tAF_IB                            = 0x1b\n\tAF_IEEE802154                    = 0x24\n\tAF_INET                          = 0x2\n\tAF_INET6                         = 0xa\n\tAF_IPX                           = 0x4\n\tAF_IRDA                          = 0x17\n\tAF_ISDN                          = 0x22\n\tAF_IUCV                          = 0x20\n\tAF_KCM                           = 0x29\n\tAF_KEY                           = 0xf\n\tAF_LLC                           = 0x1a\n\tAF_LOCAL                         = 0x1\n\tAF_MAX                           = 0x2a\n\tAF_MPLS                          = 0x1c\n\tAF_NETBEUI                       = 0xd\n\tAF_NETLINK                       = 0x10\n\tAF_NETROM                        = 0x6\n\tAF_NFC                           = 0x27\n\tAF_PACKET                        = 0x11\n\tAF_PHONET                        = 0x23\n\tAF_PPPOX                         = 0x18\n\tAF_RDS                           = 0x15\n\tAF_ROSE                          = 0xb\n\tAF_ROUTE                         = 0x10\n\tAF_RXRPC                         = 0x21\n\tAF_SECURITY                      = 0xe\n\tAF_SNA                           = 0x16\n\tAF_TIPC                          = 0x1e\n\tAF_UNIX                          = 0x1\n\tAF_UNSPEC                        = 0x0\n\tAF_VSOCK                         = 0x28\n\tAF_WANPIPE                       = 0x19\n\tAF_X25                           = 0x9\n\tALG_OP_DECRYPT                   = 0x0\n\tALG_OP_ENCRYPT                   = 0x1\n\tALG_SET_AEAD_ASSOCLEN            = 0x4\n\tALG_SET_AEAD_AUTHSIZE            = 0x5\n\tALG_SET_IV                       = 0x2\n\tALG_SET_KEY                      = 0x1\n\tALG_SET_OP                       = 0x3\n\tARPHRD_6LOWPAN                   = 0x339\n\tARPHRD_ADAPT                     = 0x108\n\tARPHRD_APPLETLK                  = 0x8\n\tARPHRD_ARCNET                    = 0x7\n\tARPHRD_ASH                       = 0x30d\n\tARPHRD_ATM                       = 0x13\n\tARPHRD_AX25                      = 0x3\n\tARPHRD_BIF                       = 0x307\n\tARPHRD_CAIF                      = 0x336\n\tARPHRD_CAN                       = 0x118\n\tARPHRD_CHAOS                     = 0x5\n\tARPHRD_CISCO                     = 0x201\n\tARPHRD_CSLIP                     = 0x101\n\tARPHRD_CSLIP6                    = 0x103\n\tARPHRD_DDCMP                     = 0x205\n\tARPHRD_DLCI                      = 0xf\n\tARPHRD_ECONET                    = 0x30e\n\tARPHRD_EETHER                    = 0x2\n\tARPHRD_ETHER                     = 0x1\n\tARPHRD_EUI64                     = 0x1b\n\tARPHRD_FCAL                      = 0x311\n\tARPHRD_FCFABRIC                  = 0x313\n\tARPHRD_FCPL                      = 0x312\n\tARPHRD_FCPP                      = 0x310\n\tARPHRD_FDDI                      = 0x306\n\tARPHRD_FRAD                      = 0x302\n\tARPHRD_HDLC                      = 0x201\n\tARPHRD_HIPPI                     = 0x30c\n\tARPHRD_HWX25                     = 0x110\n\tARPHRD_IEEE1394                  = 0x18\n\tARPHRD_IEEE802                   = 0x6\n\tARPHRD_IEEE80211                 = 0x321\n\tARPHRD_IEEE80211_PRISM           = 0x322\n\tARPHRD_IEEE80211_RADIOTAP        = 0x323\n\tARPHRD_IEEE802154                = 0x324\n\tARPHRD_IEEE802154_MONITOR        = 0x325\n\tARPHRD_IEEE802_TR                = 0x320\n\tARPHRD_INFINIBAND                = 0x20\n\tARPHRD_IP6GRE                    = 0x337\n\tARPHRD_IPDDP                     = 0x309\n\tARPHRD_IPGRE                     = 0x30a\n\tARPHRD_IRDA                      = 0x30f\n\tARPHRD_LAPB                      = 0x204\n\tARPHRD_LOCALTLK                  = 0x305\n\tARPHRD_LOOPBACK                  = 0x304\n\tARPHRD_METRICOM                  = 0x17\n\tARPHRD_NETLINK                   = 0x338\n\tARPHRD_NETROM                    = 0x0\n\tARPHRD_NONE                      = 0xfffe\n\tARPHRD_PHONET                    = 0x334\n\tARPHRD_PHONET_PIPE               = 0x335\n\tARPHRD_PIMREG                    = 0x30b\n\tARPHRD_PPP                       = 0x200\n\tARPHRD_PRONET                    = 0x4\n\tARPHRD_RAWHDLC                   = 0x206\n\tARPHRD_ROSE                      = 0x10e\n\tARPHRD_RSRVD                     = 0x104\n\tARPHRD_SIT                       = 0x308\n\tARPHRD_SKIP                      = 0x303\n\tARPHRD_SLIP                      = 0x100\n\tARPHRD_SLIP6                     = 0x102\n\tARPHRD_TUNNEL                    = 0x300\n\tARPHRD_TUNNEL6                   = 0x301\n\tARPHRD_VOID                      = 0xffff\n\tARPHRD_X25                       = 0x10f\n\tASI_LEON_DFLUSH                  = 0x11\n\tASI_LEON_IFLUSH                  = 0x10\n\tASI_LEON_MMUFLUSH                = 0x18\n\tB0                               = 0x0\n\tB1000000                         = 0x100c\n\tB110                             = 0x3\n\tB115200                          = 0x1002\n\tB1152000                         = 0x100d\n\tB1200                            = 0x9\n\tB134                             = 0x4\n\tB150                             = 0x5\n\tB1500000                         = 0x100e\n\tB153600                          = 0x1006\n\tB1800                            = 0xa\n\tB19200                           = 0xe\n\tB200                             = 0x6\n\tB2000000                         = 0x100f\n\tB230400                          = 0x1003\n\tB2400                            = 0xb\n\tB300                             = 0x7\n\tB307200                          = 0x1007\n\tB38400                           = 0xf\n\tB460800                          = 0x1004\n\tB4800                            = 0xc\n\tB50                              = 0x1\n\tB500000                          = 0x100a\n\tB57600                           = 0x1001\n\tB576000                          = 0x100b\n\tB600                             = 0x8\n\tB614400                          = 0x1008\n\tB75                              = 0x2\n\tB76800                           = 0x1005\n\tB921600                          = 0x1009\n\tB9600                            = 0xd\n\tBLKBSZGET                        = 0x80081270\n\tBLKBSZSET                        = 0x40081271\n\tBLKFLSBUF                        = 0x1261\n\tBLKFRAGET                        = 0x1265\n\tBLKFRASET                        = 0x1264\n\tBLKGETSIZE                       = 0x1260\n\tBLKGETSIZE64                     = 0x80081272\n\tBLKRAGET                         = 0x1263\n\tBLKRASET                         = 0x1262\n\tBLKROGET                         = 0x125e\n\tBLKROSET                         = 0x125d\n\tBLKRRPART                        = 0x125f\n\tBLKSECTGET                       = 0x1267\n\tBLKSECTSET                       = 0x1266\n\tBLKSSZGET                        = 0x1268\n\tBOTHER                           = 0x1000\n\tBPF_A                            = 0x10\n\tBPF_ABS                          = 0x20\n\tBPF_ADD                          = 0x0\n\tBPF_ALU                          = 0x4\n\tBPF_AND                          = 0x50\n\tBPF_B                            = 0x10\n\tBPF_DIV                          = 0x30\n\tBPF_H                            = 0x8\n\tBPF_IMM                          = 0x0\n\tBPF_IND                          = 0x40\n\tBPF_JA                           = 0x0\n\tBPF_JEQ                          = 0x10\n\tBPF_JGE                          = 0x30\n\tBPF_JGT                          = 0x20\n\tBPF_JMP                          = 0x5\n\tBPF_JSET                         = 0x40\n\tBPF_K                            = 0x0\n\tBPF_LD                           = 0x0\n\tBPF_LDX                          = 0x1\n\tBPF_LEN                          = 0x80\n\tBPF_LL_OFF                       = -0x200000\n\tBPF_LSH                          = 0x60\n\tBPF_MAJOR_VERSION                = 0x1\n\tBPF_MAXINSNS                     = 0x1000\n\tBPF_MEM                          = 0x60\n\tBPF_MEMWORDS                     = 0x10\n\tBPF_MINOR_VERSION                = 0x1\n\tBPF_MISC                         = 0x7\n\tBPF_MOD                          = 0x90\n\tBPF_MSH                          = 0xa0\n\tBPF_MUL                          = 0x20\n\tBPF_NEG                          = 0x80\n\tBPF_NET_OFF                      = -0x100000\n\tBPF_OR                           = 0x40\n\tBPF_RET                          = 0x6\n\tBPF_RSH                          = 0x70\n\tBPF_ST                           = 0x2\n\tBPF_STX                          = 0x3\n\tBPF_SUB                          = 0x10\n\tBPF_TAX                          = 0x0\n\tBPF_TXA                          = 0x80\n\tBPF_W                            = 0x0\n\tBPF_X                            = 0x8\n\tBPF_XOR                          = 0xa0\n\tBRKINT                           = 0x2\n\tBS0                              = 0x0\n\tBS1                              = 0x2000\n\tBSDLY                            = 0x2000\n\tCAN_BCM                          = 0x2\n\tCAN_EFF_FLAG                     = 0x80000000\n\tCAN_EFF_ID_BITS                  = 0x1d\n\tCAN_EFF_MASK                     = 0x1fffffff\n\tCAN_ERR_FLAG                     = 0x20000000\n\tCAN_ERR_MASK                     = 0x1fffffff\n\tCAN_INV_FILTER                   = 0x20000000\n\tCAN_ISOTP                        = 0x6\n\tCAN_MAX_DLC                      = 0x8\n\tCAN_MAX_DLEN                     = 0x8\n\tCAN_MCNET                        = 0x5\n\tCAN_MTU                          = 0x10\n\tCAN_NPROTO                       = 0x7\n\tCAN_RAW                          = 0x1\n\tCAN_RTR_FLAG                     = 0x40000000\n\tCAN_SFF_ID_BITS                  = 0xb\n\tCAN_SFF_MASK                     = 0x7ff\n\tCAN_TP16                         = 0x3\n\tCAN_TP20                         = 0x4\n\tCBAUD                            = 0x100f\n\tCBAUDEX                          = 0x1000\n\tCFLUSH                           = 0xf\n\tCIBAUD                           = 0x100f0000\n\tCLOCAL                           = 0x800\n\tCLOCK_BOOTTIME                   = 0x7\n\tCLOCK_BOOTTIME_ALARM             = 0x9\n\tCLOCK_DEFAULT                    = 0x0\n\tCLOCK_EXT                        = 0x1\n\tCLOCK_INT                        = 0x2\n\tCLOCK_MONOTONIC                  = 0x1\n\tCLOCK_MONOTONIC_COARSE           = 0x6\n\tCLOCK_MONOTONIC_RAW              = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID         = 0x2\n\tCLOCK_REALTIME                   = 0x0\n\tCLOCK_REALTIME_ALARM             = 0x8\n\tCLOCK_REALTIME_COARSE            = 0x5\n\tCLOCK_TAI                        = 0xb\n\tCLOCK_THREAD_CPUTIME_ID          = 0x3\n\tCLOCK_TXFROMRX                   = 0x4\n\tCLOCK_TXINT                      = 0x3\n\tCLONE_CHILD_CLEARTID             = 0x200000\n\tCLONE_CHILD_SETTID               = 0x1000000\n\tCLONE_DETACHED                   = 0x400000\n\tCLONE_FILES                      = 0x400\n\tCLONE_FS                         = 0x200\n\tCLONE_IO                         = 0x80000000\n\tCLONE_NEWCGROUP                  = 0x2000000\n\tCLONE_NEWIPC                     = 0x8000000\n\tCLONE_NEWNET                     = 0x40000000\n\tCLONE_NEWNS                      = 0x20000\n\tCLONE_NEWPID                     = 0x20000000\n\tCLONE_NEWUSER                    = 0x10000000\n\tCLONE_NEWUTS                     = 0x4000000\n\tCLONE_PARENT                     = 0x8000\n\tCLONE_PARENT_SETTID              = 0x100000\n\tCLONE_PTRACE                     = 0x2000\n\tCLONE_SETTLS                     = 0x80000\n\tCLONE_SIGHAND                    = 0x800\n\tCLONE_SYSVSEM                    = 0x40000\n\tCLONE_THREAD                     = 0x10000\n\tCLONE_UNTRACED                   = 0x800000\n\tCLONE_VFORK                      = 0x4000\n\tCLONE_VM                         = 0x100\n\tCMSPAR                           = 0x40000000\n\tCR0                              = 0x0\n\tCR1                              = 0x200\n\tCR2                              = 0x400\n\tCR3                              = 0x600\n\tCRDLY                            = 0x600\n\tCREAD                            = 0x80\n\tCRTSCTS                          = 0x80000000\n\tCS5                              = 0x0\n\tCS6                              = 0x10\n\tCS7                              = 0x20\n\tCS8                              = 0x30\n\tCSIGNAL                          = 0xff\n\tCSIZE                            = 0x30\n\tCSTART                           = 0x11\n\tCSTATUS                          = 0x0\n\tCSTOP                            = 0x13\n\tCSTOPB                           = 0x40\n\tCSUSP                            = 0x1a\n\tDT_BLK                           = 0x6\n\tDT_CHR                           = 0x2\n\tDT_DIR                           = 0x4\n\tDT_FIFO                          = 0x1\n\tDT_LNK                           = 0xa\n\tDT_REG                           = 0x8\n\tDT_SOCK                          = 0xc\n\tDT_UNKNOWN                       = 0x0\n\tDT_WHT                           = 0xe\n\tECHO                             = 0x8\n\tECHOCTL                          = 0x200\n\tECHOE                            = 0x10\n\tECHOK                            = 0x20\n\tECHOKE                           = 0x800\n\tECHONL                           = 0x40\n\tECHOPRT                          = 0x400\n\tEMT_TAGOVF                       = 0x1\n\tENCODING_DEFAULT                 = 0x0\n\tENCODING_FM_MARK                 = 0x3\n\tENCODING_FM_SPACE                = 0x4\n\tENCODING_MANCHESTER              = 0x5\n\tENCODING_NRZ                     = 0x1\n\tENCODING_NRZI                    = 0x2\n\tEPOLLERR                         = 0x8\n\tEPOLLET                          = 0x80000000\n\tEPOLLEXCLUSIVE                   = 0x10000000\n\tEPOLLHUP                         = 0x10\n\tEPOLLIN                          = 0x1\n\tEPOLLMSG                         = 0x400\n\tEPOLLONESHOT                     = 0x40000000\n\tEPOLLOUT                         = 0x4\n\tEPOLLPRI                         = 0x2\n\tEPOLLRDBAND                      = 0x80\n\tEPOLLRDHUP                       = 0x2000\n\tEPOLLRDNORM                      = 0x40\n\tEPOLLWAKEUP                      = 0x20000000\n\tEPOLLWRBAND                      = 0x200\n\tEPOLLWRNORM                      = 0x100\n\tEPOLL_CLOEXEC                    = 0x400000\n\tEPOLL_CTL_ADD                    = 0x1\n\tEPOLL_CTL_DEL                    = 0x2\n\tEPOLL_CTL_MOD                    = 0x3\n\tETH_P_1588                       = 0x88f7\n\tETH_P_8021AD                     = 0x88a8\n\tETH_P_8021AH                     = 0x88e7\n\tETH_P_8021Q                      = 0x8100\n\tETH_P_80221                      = 0x8917\n\tETH_P_802_2                      = 0x4\n\tETH_P_802_3                      = 0x1\n\tETH_P_802_3_MIN                  = 0x600\n\tETH_P_802_EX1                    = 0x88b5\n\tETH_P_AARP                       = 0x80f3\n\tETH_P_AF_IUCV                    = 0xfbfb\n\tETH_P_ALL                        = 0x3\n\tETH_P_AOE                        = 0x88a2\n\tETH_P_ARCNET                     = 0x1a\n\tETH_P_ARP                        = 0x806\n\tETH_P_ATALK                      = 0x809b\n\tETH_P_ATMFATE                    = 0x8884\n\tETH_P_ATMMPOA                    = 0x884c\n\tETH_P_AX25                       = 0x2\n\tETH_P_BATMAN                     = 0x4305\n\tETH_P_BPQ                        = 0x8ff\n\tETH_P_CAIF                       = 0xf7\n\tETH_P_CAN                        = 0xc\n\tETH_P_CANFD                      = 0xd\n\tETH_P_CONTROL                    = 0x16\n\tETH_P_CUST                       = 0x6006\n\tETH_P_DDCMP                      = 0x6\n\tETH_P_DEC                        = 0x6000\n\tETH_P_DIAG                       = 0x6005\n\tETH_P_DNA_DL                     = 0x6001\n\tETH_P_DNA_RC                     = 0x6002\n\tETH_P_DNA_RT                     = 0x6003\n\tETH_P_DSA                        = 0x1b\n\tETH_P_ECONET                     = 0x18\n\tETH_P_EDSA                       = 0xdada\n\tETH_P_FCOE                       = 0x8906\n\tETH_P_FIP                        = 0x8914\n\tETH_P_HDLC                       = 0x19\n\tETH_P_HSR                        = 0x892f\n\tETH_P_IEEE802154                 = 0xf6\n\tETH_P_IEEEPUP                    = 0xa00\n\tETH_P_IEEEPUPAT                  = 0xa01\n\tETH_P_IP                         = 0x800\n\tETH_P_IPV6                       = 0x86dd\n\tETH_P_IPX                        = 0x8137\n\tETH_P_IRDA                       = 0x17\n\tETH_P_LAT                        = 0x6004\n\tETH_P_LINK_CTL                   = 0x886c\n\tETH_P_LOCALTALK                  = 0x9\n\tETH_P_LOOP                       = 0x60\n\tETH_P_LOOPBACK                   = 0x9000\n\tETH_P_MACSEC                     = 0x88e5\n\tETH_P_MOBITEX                    = 0x15\n\tETH_P_MPLS_MC                    = 0x8848\n\tETH_P_MPLS_UC                    = 0x8847\n\tETH_P_MVRP                       = 0x88f5\n\tETH_P_PAE                        = 0x888e\n\tETH_P_PAUSE                      = 0x8808\n\tETH_P_PHONET                     = 0xf5\n\tETH_P_PPPTALK                    = 0x10\n\tETH_P_PPP_DISC                   = 0x8863\n\tETH_P_PPP_MP                     = 0x8\n\tETH_P_PPP_SES                    = 0x8864\n\tETH_P_PRP                        = 0x88fb\n\tETH_P_PUP                        = 0x200\n\tETH_P_PUPAT                      = 0x201\n\tETH_P_QINQ1                      = 0x9100\n\tETH_P_QINQ2                      = 0x9200\n\tETH_P_QINQ3                      = 0x9300\n\tETH_P_RARP                       = 0x8035\n\tETH_P_SCA                        = 0x6007\n\tETH_P_SLOW                       = 0x8809\n\tETH_P_SNAP                       = 0x5\n\tETH_P_TDLS                       = 0x890d\n\tETH_P_TEB                        = 0x6558\n\tETH_P_TIPC                       = 0x88ca\n\tETH_P_TRAILER                    = 0x1c\n\tETH_P_TR_802_2                   = 0x11\n\tETH_P_TSN                        = 0x22f0\n\tETH_P_WAN_PPP                    = 0x7\n\tETH_P_WCCP                       = 0x883e\n\tETH_P_X25                        = 0x805\n\tETH_P_XDSA                       = 0xf8\n\tEXTA                             = 0xe\n\tEXTB                             = 0xf\n\tEXTPROC                          = 0x10000\n\tFALLOC_FL_COLLAPSE_RANGE         = 0x8\n\tFALLOC_FL_INSERT_RANGE           = 0x20\n\tFALLOC_FL_KEEP_SIZE              = 0x1\n\tFALLOC_FL_NO_HIDE_STALE          = 0x4\n\tFALLOC_FL_PUNCH_HOLE             = 0x2\n\tFALLOC_FL_ZERO_RANGE             = 0x10\n\tFD_CLOEXEC                       = 0x1\n\tFD_SETSIZE                       = 0x400\n\tFF0                              = 0x0\n\tFF1                              = 0x8000\n\tFFDLY                            = 0x8000\n\tFLUSHO                           = 0x2000\n\tF_DUPFD                          = 0x0\n\tF_DUPFD_CLOEXEC                  = 0x406\n\tF_EXLCK                          = 0x4\n\tF_GETFD                          = 0x1\n\tF_GETFL                          = 0x3\n\tF_GETLEASE                       = 0x401\n\tF_GETLK                          = 0x7\n\tF_GETLK64                        = 0x7\n\tF_GETOWN                         = 0x5\n\tF_GETOWN_EX                      = 0x10\n\tF_GETPIPE_SZ                     = 0x408\n\tF_GETSIG                         = 0xb\n\tF_LOCK                           = 0x1\n\tF_NOTIFY                         = 0x402\n\tF_OFD_GETLK                      = 0x24\n\tF_OFD_SETLK                      = 0x25\n\tF_OFD_SETLKW                     = 0x26\n\tF_OK                             = 0x0\n\tF_RDLCK                          = 0x1\n\tF_SETFD                          = 0x2\n\tF_SETFL                          = 0x4\n\tF_SETLEASE                       = 0x400\n\tF_SETLK                          = 0x8\n\tF_SETLK64                        = 0x8\n\tF_SETLKW                         = 0x9\n\tF_SETLKW64                       = 0x9\n\tF_SETOWN                         = 0x6\n\tF_SETOWN_EX                      = 0xf\n\tF_SETPIPE_SZ                     = 0x407\n\tF_SETSIG                         = 0xa\n\tF_SHLCK                          = 0x8\n\tF_TEST                           = 0x3\n\tF_TLOCK                          = 0x2\n\tF_ULOCK                          = 0x0\n\tF_UNLCK                          = 0x3\n\tF_WRLCK                          = 0x2\n\tGRND_NONBLOCK                    = 0x1\n\tGRND_RANDOM                      = 0x2\n\tHUPCL                            = 0x400\n\tIBSHIFT                          = 0x10\n\tICANON                           = 0x2\n\tICMPV6_FILTER                    = 0x1\n\tICRNL                            = 0x100\n\tIEXTEN                           = 0x8000\n\tIFA_F_DADFAILED                  = 0x8\n\tIFA_F_DEPRECATED                 = 0x20\n\tIFA_F_HOMEADDRESS                = 0x10\n\tIFA_F_MANAGETEMPADDR             = 0x100\n\tIFA_F_MCAUTOJOIN                 = 0x400\n\tIFA_F_NODAD                      = 0x2\n\tIFA_F_NOPREFIXROUTE              = 0x200\n\tIFA_F_OPTIMISTIC                 = 0x4\n\tIFA_F_PERMANENT                  = 0x80\n\tIFA_F_SECONDARY                  = 0x1\n\tIFA_F_STABLE_PRIVACY             = 0x800\n\tIFA_F_TEMPORARY                  = 0x1\n\tIFA_F_TENTATIVE                  = 0x40\n\tIFA_MAX                          = 0x8\n\tIFF_ALLMULTI                     = 0x200\n\tIFF_ATTACH_QUEUE                 = 0x200\n\tIFF_AUTOMEDIA                    = 0x4000\n\tIFF_BROADCAST                    = 0x2\n\tIFF_DEBUG                        = 0x4\n\tIFF_DETACH_QUEUE                 = 0x400\n\tIFF_DORMANT                      = 0x20000\n\tIFF_DYNAMIC                      = 0x8000\n\tIFF_ECHO                         = 0x40000\n\tIFF_LOOPBACK                     = 0x8\n\tIFF_LOWER_UP                     = 0x10000\n\tIFF_MASTER                       = 0x400\n\tIFF_MULTICAST                    = 0x1000\n\tIFF_MULTI_QUEUE                  = 0x100\n\tIFF_NOARP                        = 0x80\n\tIFF_NOFILTER                     = 0x1000\n\tIFF_NOTRAILERS                   = 0x20\n\tIFF_NO_PI                        = 0x1000\n\tIFF_ONE_QUEUE                    = 0x2000\n\tIFF_PERSIST                      = 0x800\n\tIFF_POINTOPOINT                  = 0x10\n\tIFF_PORTSEL                      = 0x2000\n\tIFF_PROMISC                      = 0x100\n\tIFF_RUNNING                      = 0x40\n\tIFF_SLAVE                        = 0x800\n\tIFF_TAP                          = 0x2\n\tIFF_TUN                          = 0x1\n\tIFF_TUN_EXCL                     = 0x8000\n\tIFF_UP                           = 0x1\n\tIFF_VNET_HDR                     = 0x4000\n\tIFF_VOLATILE                     = 0x70c5a\n\tIFNAMSIZ                         = 0x10\n\tIGNBRK                           = 0x1\n\tIGNCR                            = 0x80\n\tIGNPAR                           = 0x4\n\tIMAXBEL                          = 0x2000\n\tINLCR                            = 0x40\n\tINPCK                            = 0x10\n\tIN_ACCESS                        = 0x1\n\tIN_ALL_EVENTS                    = 0xfff\n\tIN_ATTRIB                        = 0x4\n\tIN_CLASSA_HOST                   = 0xffffff\n\tIN_CLASSA_MAX                    = 0x80\n\tIN_CLASSA_NET                    = 0xff000000\n\tIN_CLASSA_NSHIFT                 = 0x18\n\tIN_CLASSB_HOST                   = 0xffff\n\tIN_CLASSB_MAX                    = 0x10000\n\tIN_CLASSB_NET                    = 0xffff0000\n\tIN_CLASSB_NSHIFT                 = 0x10\n\tIN_CLASSC_HOST                   = 0xff\n\tIN_CLASSC_NET                    = 0xffffff00\n\tIN_CLASSC_NSHIFT                 = 0x8\n\tIN_CLOEXEC                       = 0x400000\n\tIN_CLOSE                         = 0x18\n\tIN_CLOSE_NOWRITE                 = 0x10\n\tIN_CLOSE_WRITE                   = 0x8\n\tIN_CREATE                        = 0x100\n\tIN_DELETE                        = 0x200\n\tIN_DELETE_SELF                   = 0x400\n\tIN_DONT_FOLLOW                   = 0x2000000\n\tIN_EXCL_UNLINK                   = 0x4000000\n\tIN_IGNORED                       = 0x8000\n\tIN_ISDIR                         = 0x40000000\n\tIN_LOOPBACKNET                   = 0x7f\n\tIN_MASK_ADD                      = 0x20000000\n\tIN_MODIFY                        = 0x2\n\tIN_MOVE                          = 0xc0\n\tIN_MOVED_FROM                    = 0x40\n\tIN_MOVED_TO                      = 0x80\n\tIN_MOVE_SELF                     = 0x800\n\tIN_NONBLOCK                      = 0x4000\n\tIN_ONESHOT                       = 0x80000000\n\tIN_ONLYDIR                       = 0x1000000\n\tIN_OPEN                          = 0x20\n\tIN_Q_OVERFLOW                    = 0x4000\n\tIN_UNMOUNT                       = 0x2000\n\tIPPROTO_AH                       = 0x33\n\tIPPROTO_BEETPH                   = 0x5e\n\tIPPROTO_COMP                     = 0x6c\n\tIPPROTO_DCCP                     = 0x21\n\tIPPROTO_DSTOPTS                  = 0x3c\n\tIPPROTO_EGP                      = 0x8\n\tIPPROTO_ENCAP                    = 0x62\n\tIPPROTO_ESP                      = 0x32\n\tIPPROTO_FRAGMENT                 = 0x2c\n\tIPPROTO_GRE                      = 0x2f\n\tIPPROTO_HOPOPTS                  = 0x0\n\tIPPROTO_ICMP                     = 0x1\n\tIPPROTO_ICMPV6                   = 0x3a\n\tIPPROTO_IDP                      = 0x16\n\tIPPROTO_IGMP                     = 0x2\n\tIPPROTO_IP                       = 0x0\n\tIPPROTO_IPIP                     = 0x4\n\tIPPROTO_IPV6                     = 0x29\n\tIPPROTO_MH                       = 0x87\n\tIPPROTO_MPLS                     = 0x89\n\tIPPROTO_MTP                      = 0x5c\n\tIPPROTO_NONE                     = 0x3b\n\tIPPROTO_PIM                      = 0x67\n\tIPPROTO_PUP                      = 0xc\n\tIPPROTO_RAW                      = 0xff\n\tIPPROTO_ROUTING                  = 0x2b\n\tIPPROTO_RSVP                     = 0x2e\n\tIPPROTO_SCTP                     = 0x84\n\tIPPROTO_TCP                      = 0x6\n\tIPPROTO_TP                       = 0x1d\n\tIPPROTO_UDP                      = 0x11\n\tIPPROTO_UDPLITE                  = 0x88\n\tIPV6_2292DSTOPTS                 = 0x4\n\tIPV6_2292HOPLIMIT                = 0x8\n\tIPV6_2292HOPOPTS                 = 0x3\n\tIPV6_2292PKTINFO                 = 0x2\n\tIPV6_2292PKTOPTIONS              = 0x6\n\tIPV6_2292RTHDR                   = 0x5\n\tIPV6_ADDRFORM                    = 0x1\n\tIPV6_ADD_MEMBERSHIP              = 0x14\n\tIPV6_AUTHHDR                     = 0xa\n\tIPV6_CHECKSUM                    = 0x7\n\tIPV6_DONTFRAG                    = 0x3e\n\tIPV6_DROP_MEMBERSHIP             = 0x15\n\tIPV6_DSTOPTS                     = 0x3b\n\tIPV6_HDRINCL                     = 0x24\n\tIPV6_HOPLIMIT                    = 0x34\n\tIPV6_HOPOPTS                     = 0x36\n\tIPV6_IPSEC_POLICY                = 0x22\n\tIPV6_JOIN_ANYCAST                = 0x1b\n\tIPV6_JOIN_GROUP                  = 0x14\n\tIPV6_LEAVE_ANYCAST               = 0x1c\n\tIPV6_LEAVE_GROUP                 = 0x15\n\tIPV6_MTU                         = 0x18\n\tIPV6_MTU_DISCOVER                = 0x17\n\tIPV6_MULTICAST_HOPS              = 0x12\n\tIPV6_MULTICAST_IF                = 0x11\n\tIPV6_MULTICAST_LOOP              = 0x13\n\tIPV6_NEXTHOP                     = 0x9\n\tIPV6_PATHMTU                     = 0x3d\n\tIPV6_PKTINFO                     = 0x32\n\tIPV6_PMTUDISC_DO                 = 0x2\n\tIPV6_PMTUDISC_DONT               = 0x0\n\tIPV6_PMTUDISC_INTERFACE          = 0x4\n\tIPV6_PMTUDISC_OMIT               = 0x5\n\tIPV6_PMTUDISC_PROBE              = 0x3\n\tIPV6_PMTUDISC_WANT               = 0x1\n\tIPV6_RECVDSTOPTS                 = 0x3a\n\tIPV6_RECVERR                     = 0x19\n\tIPV6_RECVHOPLIMIT                = 0x33\n\tIPV6_RECVHOPOPTS                 = 0x35\n\tIPV6_RECVPATHMTU                 = 0x3c\n\tIPV6_RECVPKTINFO                 = 0x31\n\tIPV6_RECVRTHDR                   = 0x38\n\tIPV6_RECVTCLASS                  = 0x42\n\tIPV6_ROUTER_ALERT                = 0x16\n\tIPV6_RTHDR                       = 0x39\n\tIPV6_RTHDRDSTOPTS                = 0x37\n\tIPV6_RTHDR_LOOSE                 = 0x0\n\tIPV6_RTHDR_STRICT                = 0x1\n\tIPV6_RTHDR_TYPE_0                = 0x0\n\tIPV6_RXDSTOPTS                   = 0x3b\n\tIPV6_RXHOPOPTS                   = 0x36\n\tIPV6_TCLASS                      = 0x43\n\tIPV6_UNICAST_HOPS                = 0x10\n\tIPV6_V6ONLY                      = 0x1a\n\tIPV6_XFRM_POLICY                 = 0x23\n\tIP_ADD_MEMBERSHIP                = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP         = 0x27\n\tIP_BIND_ADDRESS_NO_PORT          = 0x18\n\tIP_BLOCK_SOURCE                  = 0x26\n\tIP_CHECKSUM                      = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP        = 0x1\n\tIP_DEFAULT_MULTICAST_TTL         = 0x1\n\tIP_DF                            = 0x4000\n\tIP_DROP_MEMBERSHIP               = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP        = 0x28\n\tIP_FREEBIND                      = 0xf\n\tIP_HDRINCL                       = 0x3\n\tIP_IPSEC_POLICY                  = 0x10\n\tIP_MAXPACKET                     = 0xffff\n\tIP_MAX_MEMBERSHIPS               = 0x14\n\tIP_MF                            = 0x2000\n\tIP_MINTTL                        = 0x15\n\tIP_MSFILTER                      = 0x29\n\tIP_MSS                           = 0x240\n\tIP_MTU                           = 0xe\n\tIP_MTU_DISCOVER                  = 0xa\n\tIP_MULTICAST_ALL                 = 0x31\n\tIP_MULTICAST_IF                  = 0x20\n\tIP_MULTICAST_LOOP                = 0x22\n\tIP_MULTICAST_TTL                 = 0x21\n\tIP_NODEFRAG                      = 0x16\n\tIP_OFFMASK                       = 0x1fff\n\tIP_OPTIONS                       = 0x4\n\tIP_ORIGDSTADDR                   = 0x14\n\tIP_PASSSEC                       = 0x12\n\tIP_PKTINFO                       = 0x8\n\tIP_PKTOPTIONS                    = 0x9\n\tIP_PMTUDISC                      = 0xa\n\tIP_PMTUDISC_DO                   = 0x2\n\tIP_PMTUDISC_DONT                 = 0x0\n\tIP_PMTUDISC_INTERFACE            = 0x4\n\tIP_PMTUDISC_OMIT                 = 0x5\n\tIP_PMTUDISC_PROBE                = 0x3\n\tIP_PMTUDISC_WANT                 = 0x1\n\tIP_RECVERR                       = 0xb\n\tIP_RECVOPTS                      = 0x6\n\tIP_RECVORIGDSTADDR               = 0x14\n\tIP_RECVRETOPTS                   = 0x7\n\tIP_RECVTOS                       = 0xd\n\tIP_RECVTTL                       = 0xc\n\tIP_RETOPTS                       = 0x7\n\tIP_RF                            = 0x8000\n\tIP_ROUTER_ALERT                  = 0x5\n\tIP_TOS                           = 0x1\n\tIP_TRANSPARENT                   = 0x13\n\tIP_TTL                           = 0x2\n\tIP_UNBLOCK_SOURCE                = 0x25\n\tIP_UNICAST_IF                    = 0x32\n\tIP_XFRM_POLICY                   = 0x11\n\tISIG                             = 0x1\n\tISTRIP                           = 0x20\n\tIUCLC                            = 0x200\n\tIUTF8                            = 0x4000\n\tIXANY                            = 0x800\n\tIXOFF                            = 0x1000\n\tIXON                             = 0x400\n\tLINUX_REBOOT_CMD_CAD_OFF         = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON          = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT            = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC           = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF       = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART         = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2        = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND      = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1              = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2              = 0x28121969\n\tLOCK_EX                          = 0x2\n\tLOCK_NB                          = 0x4\n\tLOCK_SH                          = 0x1\n\tLOCK_UN                          = 0x8\n\tMADV_DODUMP                      = 0x11\n\tMADV_DOFORK                      = 0xb\n\tMADV_DONTDUMP                    = 0x10\n\tMADV_DONTFORK                    = 0xa\n\tMADV_DONTNEED                    = 0x4\n\tMADV_FREE                        = 0x8\n\tMADV_HUGEPAGE                    = 0xe\n\tMADV_HWPOISON                    = 0x64\n\tMADV_MERGEABLE                   = 0xc\n\tMADV_NOHUGEPAGE                  = 0xf\n\tMADV_NORMAL                      = 0x0\n\tMADV_RANDOM                      = 0x1\n\tMADV_REMOVE                      = 0x9\n\tMADV_SEQUENTIAL                  = 0x2\n\tMADV_UNMERGEABLE                 = 0xd\n\tMADV_WILLNEED                    = 0x3\n\tMAP_ANON                         = 0x20\n\tMAP_ANONYMOUS                    = 0x20\n\tMAP_DENYWRITE                    = 0x800\n\tMAP_EXECUTABLE                   = 0x1000\n\tMAP_FILE                         = 0x0\n\tMAP_FIXED                        = 0x10\n\tMAP_GROWSDOWN                    = 0x200\n\tMAP_HUGETLB                      = 0x40000\n\tMAP_HUGE_MASK                    = 0x3f\n\tMAP_HUGE_SHIFT                   = 0x1a\n\tMAP_LOCKED                       = 0x100\n\tMAP_NONBLOCK                     = 0x10000\n\tMAP_NORESERVE                    = 0x40\n\tMAP_POPULATE                     = 0x8000\n\tMAP_PRIVATE                      = 0x2\n\tMAP_RENAME                       = 0x20\n\tMAP_SHARED                       = 0x1\n\tMAP_STACK                        = 0x20000\n\tMAP_TYPE                         = 0xf\n\tMCL_CURRENT                      = 0x2000\n\tMCL_FUTURE                       = 0x4000\n\tMCL_ONFAULT                      = 0x8000\n\tMNT_DETACH                       = 0x2\n\tMNT_EXPIRE                       = 0x4\n\tMNT_FORCE                        = 0x1\n\tMSG_BATCH                        = 0x40000\n\tMSG_CMSG_CLOEXEC                 = 0x40000000\n\tMSG_CONFIRM                      = 0x800\n\tMSG_CTRUNC                       = 0x8\n\tMSG_DONTROUTE                    = 0x4\n\tMSG_DONTWAIT                     = 0x40\n\tMSG_EOR                          = 0x80\n\tMSG_ERRQUEUE                     = 0x2000\n\tMSG_FASTOPEN                     = 0x20000000\n\tMSG_FIN                          = 0x200\n\tMSG_MORE                         = 0x8000\n\tMSG_NOSIGNAL                     = 0x4000\n\tMSG_OOB                          = 0x1\n\tMSG_PEEK                         = 0x2\n\tMSG_PROXY                        = 0x10\n\tMSG_RST                          = 0x1000\n\tMSG_SYN                          = 0x400\n\tMSG_TRUNC                        = 0x20\n\tMSG_TRYHARD                      = 0x4\n\tMSG_WAITALL                      = 0x100\n\tMSG_WAITFORONE                   = 0x10000\n\tMS_ACTIVE                        = 0x40000000\n\tMS_ASYNC                         = 0x1\n\tMS_BIND                          = 0x1000\n\tMS_DIRSYNC                       = 0x80\n\tMS_INVALIDATE                    = 0x2\n\tMS_I_VERSION                     = 0x800000\n\tMS_KERNMOUNT                     = 0x400000\n\tMS_LAZYTIME                      = 0x2000000\n\tMS_MANDLOCK                      = 0x40\n\tMS_MGC_MSK                       = 0xffff0000\n\tMS_MGC_VAL                       = 0xc0ed0000\n\tMS_MOVE                          = 0x2000\n\tMS_NOATIME                       = 0x400\n\tMS_NODEV                         = 0x4\n\tMS_NODIRATIME                    = 0x800\n\tMS_NOEXEC                        = 0x8\n\tMS_NOSUID                        = 0x2\n\tMS_NOUSER                        = -0x80000000\n\tMS_POSIXACL                      = 0x10000\n\tMS_PRIVATE                       = 0x40000\n\tMS_RDONLY                        = 0x1\n\tMS_REC                           = 0x4000\n\tMS_RELATIME                      = 0x200000\n\tMS_REMOUNT                       = 0x20\n\tMS_RMT_MASK                      = 0x2800051\n\tMS_SHARED                        = 0x100000\n\tMS_SILENT                        = 0x8000\n\tMS_SLAVE                         = 0x80000\n\tMS_STRICTATIME                   = 0x1000000\n\tMS_SYNC                          = 0x4\n\tMS_SYNCHRONOUS                   = 0x10\n\tMS_UNBINDABLE                    = 0x20000\n\tNAME_MAX                         = 0xff\n\tNETLINK_ADD_MEMBERSHIP           = 0x1\n\tNETLINK_AUDIT                    = 0x9\n\tNETLINK_BROADCAST_ERROR          = 0x4\n\tNETLINK_CAP_ACK                  = 0xa\n\tNETLINK_CONNECTOR                = 0xb\n\tNETLINK_CRYPTO                   = 0x15\n\tNETLINK_DNRTMSG                  = 0xe\n\tNETLINK_DROP_MEMBERSHIP          = 0x2\n\tNETLINK_ECRYPTFS                 = 0x13\n\tNETLINK_FIB_LOOKUP               = 0xa\n\tNETLINK_FIREWALL                 = 0x3\n\tNETLINK_GENERIC                  = 0x10\n\tNETLINK_INET_DIAG                = 0x4\n\tNETLINK_IP6_FW                   = 0xd\n\tNETLINK_ISCSI                    = 0x8\n\tNETLINK_KOBJECT_UEVENT           = 0xf\n\tNETLINK_LISTEN_ALL_NSID          = 0x8\n\tNETLINK_LIST_MEMBERSHIPS         = 0x9\n\tNETLINK_NETFILTER                = 0xc\n\tNETLINK_NFLOG                    = 0x5\n\tNETLINK_NO_ENOBUFS               = 0x5\n\tNETLINK_PKTINFO                  = 0x3\n\tNETLINK_RDMA                     = 0x14\n\tNETLINK_ROUTE                    = 0x0\n\tNETLINK_RX_RING                  = 0x6\n\tNETLINK_SCSITRANSPORT            = 0x12\n\tNETLINK_SELINUX                  = 0x7\n\tNETLINK_SOCK_DIAG                = 0x4\n\tNETLINK_TX_RING                  = 0x7\n\tNETLINK_UNUSED                   = 0x1\n\tNETLINK_USERSOCK                 = 0x2\n\tNETLINK_XFRM                     = 0x6\n\tNL0                              = 0x0\n\tNL1                              = 0x100\n\tNLA_ALIGNTO                      = 0x4\n\tNLA_F_NESTED                     = 0x8000\n\tNLA_F_NET_BYTEORDER              = 0x4000\n\tNLA_HDRLEN                       = 0x4\n\tNLDLY                            = 0x100\n\tNLMSG_ALIGNTO                    = 0x4\n\tNLMSG_DONE                       = 0x3\n\tNLMSG_ERROR                      = 0x2\n\tNLMSG_HDRLEN                     = 0x10\n\tNLMSG_MIN_TYPE                   = 0x10\n\tNLMSG_NOOP                       = 0x1\n\tNLMSG_OVERRUN                    = 0x4\n\tNLM_F_ACK                        = 0x4\n\tNLM_F_APPEND                     = 0x800\n\tNLM_F_ATOMIC                     = 0x400\n\tNLM_F_CREATE                     = 0x400\n\tNLM_F_DUMP                       = 0x300\n\tNLM_F_DUMP_FILTERED              = 0x20\n\tNLM_F_DUMP_INTR                  = 0x10\n\tNLM_F_ECHO                       = 0x8\n\tNLM_F_EXCL                       = 0x200\n\tNLM_F_MATCH                      = 0x200\n\tNLM_F_MULTI                      = 0x2\n\tNLM_F_REPLACE                    = 0x100\n\tNLM_F_REQUEST                    = 0x1\n\tNLM_F_ROOT                       = 0x100\n\tNOFLSH                           = 0x80\n\tOCRNL                            = 0x8\n\tOFDEL                            = 0x80\n\tOFILL                            = 0x40\n\tOLCUC                            = 0x2\n\tONLCR                            = 0x4\n\tONLRET                           = 0x20\n\tONOCR                            = 0x10\n\tOPOST                            = 0x1\n\tO_ACCMODE                        = 0x3\n\tO_APPEND                         = 0x8\n\tO_ASYNC                          = 0x40\n\tO_CLOEXEC                        = 0x400000\n\tO_CREAT                          = 0x200\n\tO_DIRECT                         = 0x100000\n\tO_DIRECTORY                      = 0x10000\n\tO_DSYNC                          = 0x2000\n\tO_EXCL                           = 0x800\n\tO_FSYNC                          = 0x802000\n\tO_LARGEFILE                      = 0x0\n\tO_NDELAY                         = 0x4004\n\tO_NOATIME                        = 0x200000\n\tO_NOCTTY                         = 0x8000\n\tO_NOFOLLOW                       = 0x20000\n\tO_NONBLOCK                       = 0x4000\n\tO_PATH                           = 0x1000000\n\tO_RDONLY                         = 0x0\n\tO_RDWR                           = 0x2\n\tO_RSYNC                          = 0x802000\n\tO_SYNC                           = 0x802000\n\tO_TMPFILE                        = 0x2010000\n\tO_TRUNC                          = 0x400\n\tO_WRONLY                         = 0x1\n\tPACKET_ADD_MEMBERSHIP            = 0x1\n\tPACKET_AUXDATA                   = 0x8\n\tPACKET_BROADCAST                 = 0x1\n\tPACKET_COPY_THRESH               = 0x7\n\tPACKET_DROP_MEMBERSHIP           = 0x2\n\tPACKET_FANOUT                    = 0x12\n\tPACKET_FANOUT_CBPF               = 0x6\n\tPACKET_FANOUT_CPU                = 0x2\n\tPACKET_FANOUT_DATA               = 0x16\n\tPACKET_FANOUT_EBPF               = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG        = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER      = 0x1000\n\tPACKET_FANOUT_HASH               = 0x0\n\tPACKET_FANOUT_LB                 = 0x1\n\tPACKET_FANOUT_QM                 = 0x5\n\tPACKET_FANOUT_RND                = 0x4\n\tPACKET_FANOUT_ROLLOVER           = 0x3\n\tPACKET_FASTROUTE                 = 0x6\n\tPACKET_HDRLEN                    = 0xb\n\tPACKET_HOST                      = 0x0\n\tPACKET_KERNEL                    = 0x7\n\tPACKET_LOOPBACK                  = 0x5\n\tPACKET_LOSS                      = 0xe\n\tPACKET_MR_ALLMULTI               = 0x2\n\tPACKET_MR_MULTICAST              = 0x0\n\tPACKET_MR_PROMISC                = 0x1\n\tPACKET_MR_UNICAST                = 0x3\n\tPACKET_MULTICAST                 = 0x2\n\tPACKET_ORIGDEV                   = 0x9\n\tPACKET_OTHERHOST                 = 0x3\n\tPACKET_OUTGOING                  = 0x4\n\tPACKET_QDISC_BYPASS              = 0x14\n\tPACKET_RECV_OUTPUT               = 0x3\n\tPACKET_RESERVE                   = 0xc\n\tPACKET_ROLLOVER_STATS            = 0x15\n\tPACKET_RX_RING                   = 0x5\n\tPACKET_STATISTICS                = 0x6\n\tPACKET_TIMESTAMP                 = 0x11\n\tPACKET_TX_HAS_OFF                = 0x13\n\tPACKET_TX_RING                   = 0xd\n\tPACKET_TX_TIMESTAMP              = 0x10\n\tPACKET_USER                      = 0x6\n\tPACKET_VERSION                   = 0xa\n\tPACKET_VNET_HDR                  = 0xf\n\tPARENB                           = 0x100\n\tPARITY_CRC16_PR0                 = 0x2\n\tPARITY_CRC16_PR0_CCITT           = 0x4\n\tPARITY_CRC16_PR1                 = 0x3\n\tPARITY_CRC16_PR1_CCITT           = 0x5\n\tPARITY_CRC32_PR0_CCITT           = 0x6\n\tPARITY_CRC32_PR1_CCITT           = 0x7\n\tPARITY_DEFAULT                   = 0x0\n\tPARITY_NONE                      = 0x1\n\tPARMRK                           = 0x8\n\tPARODD                           = 0x200\n\tPENDIN                           = 0x4000\n\tPRIO_PGRP                        = 0x1\n\tPRIO_PROCESS                     = 0x0\n\tPRIO_USER                        = 0x2\n\tPROT_EXEC                        = 0x4\n\tPROT_GROWSDOWN                   = 0x1000000\n\tPROT_GROWSUP                     = 0x2000000\n\tPROT_NONE                        = 0x0\n\tPROT_READ                        = 0x1\n\tPROT_WRITE                       = 0x2\n\tPR_CAPBSET_DROP                  = 0x18\n\tPR_CAPBSET_READ                  = 0x17\n\tPR_CAP_AMBIENT                   = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL         = 0x4\n\tPR_CAP_AMBIENT_IS_SET            = 0x1\n\tPR_CAP_AMBIENT_LOWER             = 0x3\n\tPR_CAP_AMBIENT_RAISE             = 0x2\n\tPR_ENDIAN_BIG                    = 0x0\n\tPR_ENDIAN_LITTLE                 = 0x1\n\tPR_ENDIAN_PPC_LITTLE             = 0x2\n\tPR_FPEMU_NOPRINT                 = 0x1\n\tPR_FPEMU_SIGFPE                  = 0x2\n\tPR_FP_EXC_ASYNC                  = 0x2\n\tPR_FP_EXC_DISABLED               = 0x0\n\tPR_FP_EXC_DIV                    = 0x10000\n\tPR_FP_EXC_INV                    = 0x100000\n\tPR_FP_EXC_NONRECOV               = 0x1\n\tPR_FP_EXC_OVF                    = 0x20000\n\tPR_FP_EXC_PRECISE                = 0x3\n\tPR_FP_EXC_RES                    = 0x80000\n\tPR_FP_EXC_SW_ENABLE              = 0x80\n\tPR_FP_EXC_UND                    = 0x40000\n\tPR_FP_MODE_FR                    = 0x1\n\tPR_FP_MODE_FRE                   = 0x2\n\tPR_GET_CHILD_SUBREAPER           = 0x25\n\tPR_GET_DUMPABLE                  = 0x3\n\tPR_GET_ENDIAN                    = 0x13\n\tPR_GET_FPEMU                     = 0x9\n\tPR_GET_FPEXC                     = 0xb\n\tPR_GET_FP_MODE                   = 0x2e\n\tPR_GET_KEEPCAPS                  = 0x7\n\tPR_GET_NAME                      = 0x10\n\tPR_GET_NO_NEW_PRIVS              = 0x27\n\tPR_GET_PDEATHSIG                 = 0x2\n\tPR_GET_SECCOMP                   = 0x15\n\tPR_GET_SECUREBITS                = 0x1b\n\tPR_GET_THP_DISABLE               = 0x2a\n\tPR_GET_TID_ADDRESS               = 0x28\n\tPR_GET_TIMERSLACK                = 0x1e\n\tPR_GET_TIMING                    = 0xd\n\tPR_GET_TSC                       = 0x19\n\tPR_GET_UNALIGN                   = 0x5\n\tPR_MCE_KILL                      = 0x21\n\tPR_MCE_KILL_CLEAR                = 0x0\n\tPR_MCE_KILL_DEFAULT              = 0x2\n\tPR_MCE_KILL_EARLY                = 0x1\n\tPR_MCE_KILL_GET                  = 0x22\n\tPR_MCE_KILL_LATE                 = 0x0\n\tPR_MCE_KILL_SET                  = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT        = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT         = 0x2b\n\tPR_SET_CHILD_SUBREAPER           = 0x24\n\tPR_SET_DUMPABLE                  = 0x4\n\tPR_SET_ENDIAN                    = 0x14\n\tPR_SET_FPEMU                     = 0xa\n\tPR_SET_FPEXC                     = 0xc\n\tPR_SET_FP_MODE                   = 0x2d\n\tPR_SET_KEEPCAPS                  = 0x8\n\tPR_SET_MM                        = 0x23\n\tPR_SET_MM_ARG_END                = 0x9\n\tPR_SET_MM_ARG_START              = 0x8\n\tPR_SET_MM_AUXV                   = 0xc\n\tPR_SET_MM_BRK                    = 0x7\n\tPR_SET_MM_END_CODE               = 0x2\n\tPR_SET_MM_END_DATA               = 0x4\n\tPR_SET_MM_ENV_END                = 0xb\n\tPR_SET_MM_ENV_START              = 0xa\n\tPR_SET_MM_EXE_FILE               = 0xd\n\tPR_SET_MM_MAP                    = 0xe\n\tPR_SET_MM_MAP_SIZE               = 0xf\n\tPR_SET_MM_START_BRK              = 0x6\n\tPR_SET_MM_START_CODE             = 0x1\n\tPR_SET_MM_START_DATA             = 0x3\n\tPR_SET_MM_START_STACK            = 0x5\n\tPR_SET_NAME                      = 0xf\n\tPR_SET_NO_NEW_PRIVS              = 0x26\n\tPR_SET_PDEATHSIG                 = 0x1\n\tPR_SET_PTRACER                   = 0x59616d61\n\tPR_SET_PTRACER_ANY               = -0x1\n\tPR_SET_SECCOMP                   = 0x16\n\tPR_SET_SECUREBITS                = 0x1c\n\tPR_SET_THP_DISABLE               = 0x29\n\tPR_SET_TIMERSLACK                = 0x1d\n\tPR_SET_TIMING                    = 0xe\n\tPR_SET_TSC                       = 0x1a\n\tPR_SET_UNALIGN                   = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE      = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE       = 0x20\n\tPR_TIMING_STATISTICAL            = 0x0\n\tPR_TIMING_TIMESTAMP              = 0x1\n\tPR_TSC_ENABLE                    = 0x1\n\tPR_TSC_SIGSEGV                   = 0x2\n\tPR_UNALIGN_NOPRINT               = 0x1\n\tPR_UNALIGN_SIGBUS                = 0x2\n\tPTRACE_ATTACH                    = 0x10\n\tPTRACE_CONT                      = 0x7\n\tPTRACE_DETACH                    = 0x11\n\tPTRACE_EVENT_CLONE               = 0x3\n\tPTRACE_EVENT_EXEC                = 0x4\n\tPTRACE_EVENT_EXIT                = 0x6\n\tPTRACE_EVENT_FORK                = 0x1\n\tPTRACE_EVENT_SECCOMP             = 0x7\n\tPTRACE_EVENT_STOP                = 0x80\n\tPTRACE_EVENT_VFORK               = 0x2\n\tPTRACE_EVENT_VFORK_DONE          = 0x5\n\tPTRACE_GETEVENTMSG               = 0x4201\n\tPTRACE_GETFPAREGS                = 0x14\n\tPTRACE_GETFPREGS                 = 0xe\n\tPTRACE_GETFPREGS64               = 0x19\n\tPTRACE_GETREGS                   = 0xc\n\tPTRACE_GETREGS64                 = 0x16\n\tPTRACE_GETREGSET                 = 0x4204\n\tPTRACE_GETSIGINFO                = 0x4202\n\tPTRACE_GETSIGMASK                = 0x420a\n\tPTRACE_INTERRUPT                 = 0x4207\n\tPTRACE_KILL                      = 0x8\n\tPTRACE_LISTEN                    = 0x4208\n\tPTRACE_O_EXITKILL                = 0x100000\n\tPTRACE_O_MASK                    = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP         = 0x200000\n\tPTRACE_O_TRACECLONE              = 0x8\n\tPTRACE_O_TRACEEXEC               = 0x10\n\tPTRACE_O_TRACEEXIT               = 0x40\n\tPTRACE_O_TRACEFORK               = 0x2\n\tPTRACE_O_TRACESECCOMP            = 0x80\n\tPTRACE_O_TRACESYSGOOD            = 0x1\n\tPTRACE_O_TRACEVFORK              = 0x4\n\tPTRACE_O_TRACEVFORKDONE          = 0x20\n\tPTRACE_PEEKDATA                  = 0x2\n\tPTRACE_PEEKSIGINFO               = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED        = 0x1\n\tPTRACE_PEEKTEXT                  = 0x1\n\tPTRACE_PEEKUSR                   = 0x3\n\tPTRACE_POKEDATA                  = 0x5\n\tPTRACE_POKETEXT                  = 0x4\n\tPTRACE_POKEUSR                   = 0x6\n\tPTRACE_READDATA                  = 0x10\n\tPTRACE_READTEXT                  = 0x12\n\tPTRACE_SECCOMP_GET_FILTER        = 0x420c\n\tPTRACE_SEIZE                     = 0x4206\n\tPTRACE_SETFPAREGS                = 0x15\n\tPTRACE_SETFPREGS                 = 0xf\n\tPTRACE_SETFPREGS64               = 0x1a\n\tPTRACE_SETOPTIONS                = 0x4200\n\tPTRACE_SETREGS                   = 0xd\n\tPTRACE_SETREGS64                 = 0x17\n\tPTRACE_SETREGSET                 = 0x4205\n\tPTRACE_SETSIGINFO                = 0x4203\n\tPTRACE_SETSIGMASK                = 0x420b\n\tPTRACE_SINGLESTEP                = 0x9\n\tPTRACE_SPARC_DETACH              = 0xb\n\tPTRACE_SYSCALL                   = 0x18\n\tPTRACE_TRACEME                   = 0x0\n\tPTRACE_WRITEDATA                 = 0x11\n\tPTRACE_WRITETEXT                 = 0x13\n\tPT_FP                            = 0x48\n\tPT_G0                            = 0x10\n\tPT_G1                            = 0x14\n\tPT_G2                            = 0x18\n\tPT_G3                            = 0x1c\n\tPT_G4                            = 0x20\n\tPT_G5                            = 0x24\n\tPT_G6                            = 0x28\n\tPT_G7                            = 0x2c\n\tPT_I0                            = 0x30\n\tPT_I1                            = 0x34\n\tPT_I2                            = 0x38\n\tPT_I3                            = 0x3c\n\tPT_I4                            = 0x40\n\tPT_I5                            = 0x44\n\tPT_I6                            = 0x48\n\tPT_I7                            = 0x4c\n\tPT_NPC                           = 0x8\n\tPT_PC                            = 0x4\n\tPT_PSR                           = 0x0\n\tPT_REGS_MAGIC                    = 0x57ac6c00\n\tPT_TNPC                          = 0x90\n\tPT_TPC                           = 0x88\n\tPT_TSTATE                        = 0x80\n\tPT_V9_FP                         = 0x70\n\tPT_V9_G0                         = 0x0\n\tPT_V9_G1                         = 0x8\n\tPT_V9_G2                         = 0x10\n\tPT_V9_G3                         = 0x18\n\tPT_V9_G4                         = 0x20\n\tPT_V9_G5                         = 0x28\n\tPT_V9_G6                         = 0x30\n\tPT_V9_G7                         = 0x38\n\tPT_V9_I0                         = 0x40\n\tPT_V9_I1                         = 0x48\n\tPT_V9_I2                         = 0x50\n\tPT_V9_I3                         = 0x58\n\tPT_V9_I4                         = 0x60\n\tPT_V9_I5                         = 0x68\n\tPT_V9_I6                         = 0x70\n\tPT_V9_I7                         = 0x78\n\tPT_V9_MAGIC                      = 0x9c\n\tPT_V9_TNPC                       = 0x90\n\tPT_V9_TPC                        = 0x88\n\tPT_V9_TSTATE                     = 0x80\n\tPT_V9_Y                          = 0x98\n\tPT_WIM                           = 0x10\n\tPT_Y                             = 0xc\n\tRLIMIT_AS                        = 0x9\n\tRLIMIT_CORE                      = 0x4\n\tRLIMIT_CPU                       = 0x0\n\tRLIMIT_DATA                      = 0x2\n\tRLIMIT_FSIZE                     = 0x1\n\tRLIMIT_NOFILE                    = 0x6\n\tRLIMIT_STACK                     = 0x3\n\tRLIM_INFINITY                    = -0x1\n\tRTAX_ADVMSS                      = 0x8\n\tRTAX_CC_ALGO                     = 0x10\n\tRTAX_CWND                        = 0x7\n\tRTAX_FEATURES                    = 0xc\n\tRTAX_FEATURE_ALLFRAG             = 0x8\n\tRTAX_FEATURE_ECN                 = 0x1\n\tRTAX_FEATURE_MASK                = 0xf\n\tRTAX_FEATURE_SACK                = 0x2\n\tRTAX_FEATURE_TIMESTAMP           = 0x4\n\tRTAX_HOPLIMIT                    = 0xa\n\tRTAX_INITCWND                    = 0xb\n\tRTAX_INITRWND                    = 0xe\n\tRTAX_LOCK                        = 0x1\n\tRTAX_MAX                         = 0x10\n\tRTAX_MTU                         = 0x2\n\tRTAX_QUICKACK                    = 0xf\n\tRTAX_REORDERING                  = 0x9\n\tRTAX_RTO_MIN                     = 0xd\n\tRTAX_RTT                         = 0x4\n\tRTAX_RTTVAR                      = 0x5\n\tRTAX_SSTHRESH                    = 0x6\n\tRTAX_UNSPEC                      = 0x0\n\tRTAX_WINDOW                      = 0x3\n\tRTA_ALIGNTO                      = 0x4\n\tRTA_MAX                          = 0x18\n\tRTCF_DIRECTSRC                   = 0x4000000\n\tRTCF_DOREDIRECT                  = 0x1000000\n\tRTCF_LOG                         = 0x2000000\n\tRTCF_MASQ                        = 0x400000\n\tRTCF_NAT                         = 0x800000\n\tRTCF_VALVE                       = 0x200000\n\tRTF_ADDRCLASSMASK                = 0xf8000000\n\tRTF_ADDRCONF                     = 0x40000\n\tRTF_ALLONLINK                    = 0x20000\n\tRTF_BROADCAST                    = 0x10000000\n\tRTF_CACHE                        = 0x1000000\n\tRTF_DEFAULT                      = 0x10000\n\tRTF_DYNAMIC                      = 0x10\n\tRTF_FLOW                         = 0x2000000\n\tRTF_GATEWAY                      = 0x2\n\tRTF_HOST                         = 0x4\n\tRTF_INTERFACE                    = 0x40000000\n\tRTF_IRTT                         = 0x100\n\tRTF_LINKRT                       = 0x100000\n\tRTF_LOCAL                        = 0x80000000\n\tRTF_MODIFIED                     = 0x20\n\tRTF_MSS                          = 0x40\n\tRTF_MTU                          = 0x40\n\tRTF_MULTICAST                    = 0x20000000\n\tRTF_NAT                          = 0x8000000\n\tRTF_NOFORWARD                    = 0x1000\n\tRTF_NONEXTHOP                    = 0x200000\n\tRTF_NOPMTUDISC                   = 0x4000\n\tRTF_POLICY                       = 0x4000000\n\tRTF_REINSTATE                    = 0x8\n\tRTF_REJECT                       = 0x200\n\tRTF_STATIC                       = 0x400\n\tRTF_THROW                        = 0x2000\n\tRTF_UP                           = 0x1\n\tRTF_WINDOW                       = 0x80\n\tRTF_XRESOLVE                     = 0x800\n\tRTM_BASE                         = 0x10\n\tRTM_DELACTION                    = 0x31\n\tRTM_DELADDR                      = 0x15\n\tRTM_DELADDRLABEL                 = 0x49\n\tRTM_DELLINK                      = 0x11\n\tRTM_DELMDB                       = 0x55\n\tRTM_DELNEIGH                     = 0x1d\n\tRTM_DELNSID                      = 0x59\n\tRTM_DELQDISC                     = 0x25\n\tRTM_DELROUTE                     = 0x19\n\tRTM_DELRULE                      = 0x21\n\tRTM_DELTCLASS                    = 0x29\n\tRTM_DELTFILTER                   = 0x2d\n\tRTM_F_CLONED                     = 0x200\n\tRTM_F_EQUALIZE                   = 0x400\n\tRTM_F_LOOKUP_TABLE               = 0x1000\n\tRTM_F_NOTIFY                     = 0x100\n\tRTM_F_PREFIX                     = 0x800\n\tRTM_GETACTION                    = 0x32\n\tRTM_GETADDR                      = 0x16\n\tRTM_GETADDRLABEL                 = 0x4a\n\tRTM_GETANYCAST                   = 0x3e\n\tRTM_GETDCB                       = 0x4e\n\tRTM_GETLINK                      = 0x12\n\tRTM_GETMDB                       = 0x56\n\tRTM_GETMULTICAST                 = 0x3a\n\tRTM_GETNEIGH                     = 0x1e\n\tRTM_GETNEIGHTBL                  = 0x42\n\tRTM_GETNETCONF                   = 0x52\n\tRTM_GETNSID                      = 0x5a\n\tRTM_GETQDISC                     = 0x26\n\tRTM_GETROUTE                     = 0x1a\n\tRTM_GETRULE                      = 0x22\n\tRTM_GETSTATS                     = 0x5e\n\tRTM_GETTCLASS                    = 0x2a\n\tRTM_GETTFILTER                   = 0x2e\n\tRTM_MAX                          = 0x5f\n\tRTM_NEWACTION                    = 0x30\n\tRTM_NEWADDR                      = 0x14\n\tRTM_NEWADDRLABEL                 = 0x48\n\tRTM_NEWLINK                      = 0x10\n\tRTM_NEWMDB                       = 0x54\n\tRTM_NEWNDUSEROPT                 = 0x44\n\tRTM_NEWNEIGH                     = 0x1c\n\tRTM_NEWNEIGHTBL                  = 0x40\n\tRTM_NEWNETCONF                   = 0x50\n\tRTM_NEWNSID                      = 0x58\n\tRTM_NEWPREFIX                    = 0x34\n\tRTM_NEWQDISC                     = 0x24\n\tRTM_NEWROUTE                     = 0x18\n\tRTM_NEWRULE                      = 0x20\n\tRTM_NEWSTATS                     = 0x5c\n\tRTM_NEWTCLASS                    = 0x28\n\tRTM_NEWTFILTER                   = 0x2c\n\tRTM_NR_FAMILIES                  = 0x14\n\tRTM_NR_MSGTYPES                  = 0x50\n\tRTM_SETDCB                       = 0x4f\n\tRTM_SETLINK                      = 0x13\n\tRTM_SETNEIGHTBL                  = 0x43\n\tRTNH_ALIGNTO                     = 0x4\n\tRTNH_COMPARE_MASK                = 0x11\n\tRTNH_F_DEAD                      = 0x1\n\tRTNH_F_LINKDOWN                  = 0x10\n\tRTNH_F_OFFLOAD                   = 0x8\n\tRTNH_F_ONLINK                    = 0x4\n\tRTNH_F_PERVASIVE                 = 0x2\n\tRTN_MAX                          = 0xb\n\tRTPROT_BABEL                     = 0x2a\n\tRTPROT_BIRD                      = 0xc\n\tRTPROT_BOOT                      = 0x3\n\tRTPROT_DHCP                      = 0x10\n\tRTPROT_DNROUTED                  = 0xd\n\tRTPROT_GATED                     = 0x8\n\tRTPROT_KERNEL                    = 0x2\n\tRTPROT_MROUTED                   = 0x11\n\tRTPROT_MRT                       = 0xa\n\tRTPROT_NTK                       = 0xf\n\tRTPROT_RA                        = 0x9\n\tRTPROT_REDIRECT                  = 0x1\n\tRTPROT_STATIC                    = 0x4\n\tRTPROT_UNSPEC                    = 0x0\n\tRTPROT_XORP                      = 0xe\n\tRTPROT_ZEBRA                     = 0xb\n\tRT_CLASS_DEFAULT                 = 0xfd\n\tRT_CLASS_LOCAL                   = 0xff\n\tRT_CLASS_MAIN                    = 0xfe\n\tRT_CLASS_MAX                     = 0xff\n\tRT_CLASS_UNSPEC                  = 0x0\n\tRUSAGE_CHILDREN                  = -0x1\n\tRUSAGE_SELF                      = 0x0\n\tRUSAGE_THREAD                    = 0x1\n\tSCM_CREDENTIALS                  = 0x2\n\tSCM_RIGHTS                       = 0x1\n\tSCM_TIMESTAMP                    = 0x1d\n\tSCM_TIMESTAMPING                 = 0x23\n\tSCM_TIMESTAMPNS                  = 0x21\n\tSCM_WIFI_STATUS                  = 0x25\n\tSHUT_RD                          = 0x0\n\tSHUT_RDWR                        = 0x2\n\tSHUT_WR                          = 0x1\n\tSIOCADDDLCI                      = 0x8980\n\tSIOCADDMULTI                     = 0x8931\n\tSIOCADDRT                        = 0x890b\n\tSIOCATMARK                       = 0x8905\n\tSIOCBONDCHANGEACTIVE             = 0x8995\n\tSIOCBONDENSLAVE                  = 0x8990\n\tSIOCBONDINFOQUERY                = 0x8994\n\tSIOCBONDRELEASE                  = 0x8991\n\tSIOCBONDSETHWADDR                = 0x8992\n\tSIOCBONDSLAVEINFOQUERY           = 0x8993\n\tSIOCBRADDBR                      = 0x89a0\n\tSIOCBRADDIF                      = 0x89a2\n\tSIOCBRDELBR                      = 0x89a1\n\tSIOCBRDELIF                      = 0x89a3\n\tSIOCDARP                         = 0x8953\n\tSIOCDELDLCI                      = 0x8981\n\tSIOCDELMULTI                     = 0x8932\n\tSIOCDELRT                        = 0x890c\n\tSIOCDEVPRIVATE                   = 0x89f0\n\tSIOCDIFADDR                      = 0x8936\n\tSIOCDRARP                        = 0x8960\n\tSIOCETHTOOL                      = 0x8946\n\tSIOCGARP                         = 0x8954\n\tSIOCGHWTSTAMP                    = 0x89b1\n\tSIOCGIFADDR                      = 0x8915\n\tSIOCGIFBR                        = 0x8940\n\tSIOCGIFBRDADDR                   = 0x8919\n\tSIOCGIFCONF                      = 0x8912\n\tSIOCGIFCOUNT                     = 0x8938\n\tSIOCGIFDSTADDR                   = 0x8917\n\tSIOCGIFENCAP                     = 0x8925\n\tSIOCGIFFLAGS                     = 0x8913\n\tSIOCGIFHWADDR                    = 0x8927\n\tSIOCGIFINDEX                     = 0x8933\n\tSIOCGIFMAP                       = 0x8970\n\tSIOCGIFMEM                       = 0x891f\n\tSIOCGIFMETRIC                    = 0x891d\n\tSIOCGIFMTU                       = 0x8921\n\tSIOCGIFNAME                      = 0x8910\n\tSIOCGIFNETMASK                   = 0x891b\n\tSIOCGIFPFLAGS                    = 0x8935\n\tSIOCGIFSLAVE                     = 0x8929\n\tSIOCGIFTXQLEN                    = 0x8942\n\tSIOCGIFVLAN                      = 0x8982\n\tSIOCGMIIPHY                      = 0x8947\n\tSIOCGMIIREG                      = 0x8948\n\tSIOCGPGRP                        = 0x8904\n\tSIOCGRARP                        = 0x8961\n\tSIOCGSTAMP                       = 0x8906\n\tSIOCGSTAMPNS                     = 0x8907\n\tSIOCINQ                          = 0x4004667f\n\tSIOCOUTQ                         = 0x40047473\n\tSIOCOUTQNSD                      = 0x894b\n\tSIOCPROTOPRIVATE                 = 0x89e0\n\tSIOCRTMSG                        = 0x890d\n\tSIOCSARP                         = 0x8955\n\tSIOCSHWTSTAMP                    = 0x89b0\n\tSIOCSIFADDR                      = 0x8916\n\tSIOCSIFBR                        = 0x8941\n\tSIOCSIFBRDADDR                   = 0x891a\n\tSIOCSIFDSTADDR                   = 0x8918\n\tSIOCSIFENCAP                     = 0x8926\n\tSIOCSIFFLAGS                     = 0x8914\n\tSIOCSIFHWADDR                    = 0x8924\n\tSIOCSIFHWBROADCAST               = 0x8937\n\tSIOCSIFLINK                      = 0x8911\n\tSIOCSIFMAP                       = 0x8971\n\tSIOCSIFMEM                       = 0x8920\n\tSIOCSIFMETRIC                    = 0x891e\n\tSIOCSIFMTU                       = 0x8922\n\tSIOCSIFNAME                      = 0x8923\n\tSIOCSIFNETMASK                   = 0x891c\n\tSIOCSIFPFLAGS                    = 0x8934\n\tSIOCSIFSLAVE                     = 0x8930\n\tSIOCSIFTXQLEN                    = 0x8943\n\tSIOCSIFVLAN                      = 0x8983\n\tSIOCSMIIREG                      = 0x8949\n\tSIOCSPGRP                        = 0x8902\n\tSIOCSRARP                        = 0x8962\n\tSIOCWANDEV                       = 0x894a\n\tSOCK_CLOEXEC                     = 0x400000\n\tSOCK_DCCP                        = 0x6\n\tSOCK_DGRAM                       = 0x2\n\tSOCK_NONBLOCK                    = 0x4000\n\tSOCK_PACKET                      = 0xa\n\tSOCK_RAW                         = 0x3\n\tSOCK_RDM                         = 0x4\n\tSOCK_SEQPACKET                   = 0x5\n\tSOCK_STREAM                      = 0x1\n\tSOL_AAL                          = 0x109\n\tSOL_ALG                          = 0x117\n\tSOL_ATM                          = 0x108\n\tSOL_CAIF                         = 0x116\n\tSOL_DCCP                         = 0x10d\n\tSOL_DECNET                       = 0x105\n\tSOL_ICMPV6                       = 0x3a\n\tSOL_IP                           = 0x0\n\tSOL_IPV6                         = 0x29\n\tSOL_IRDA                         = 0x10a\n\tSOL_IUCV                         = 0x115\n\tSOL_KCM                          = 0x119\n\tSOL_LLC                          = 0x10c\n\tSOL_NETBEUI                      = 0x10b\n\tSOL_NETLINK                      = 0x10e\n\tSOL_NFC                          = 0x118\n\tSOL_PACKET                       = 0x107\n\tSOL_PNPIPE                       = 0x113\n\tSOL_PPPOL2TP                     = 0x111\n\tSOL_RAW                          = 0xff\n\tSOL_RDS                          = 0x114\n\tSOL_RXRPC                        = 0x110\n\tSOL_SOCKET                       = 0xffff\n\tSOL_TCP                          = 0x6\n\tSOL_TIPC                         = 0x10f\n\tSOL_X25                          = 0x106\n\tSOMAXCONN                        = 0x80\n\tSO_ACCEPTCONN                    = 0x8000\n\tSO_ATTACH_BPF                    = 0x34\n\tSO_ATTACH_FILTER                 = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF         = 0x35\n\tSO_ATTACH_REUSEPORT_EBPF         = 0x36\n\tSO_BINDTODEVICE                  = 0xd\n\tSO_BPF_EXTENSIONS                = 0x32\n\tSO_BROADCAST                     = 0x20\n\tSO_BSDCOMPAT                     = 0x400\n\tSO_BUSY_POLL                     = 0x30\n\tSO_CNX_ADVICE                    = 0x37\n\tSO_DEBUG                         = 0x1\n\tSO_DETACH_BPF                    = 0x1b\n\tSO_DETACH_FILTER                 = 0x1b\n\tSO_DOMAIN                        = 0x1029\n\tSO_DONTROUTE                     = 0x10\n\tSO_ERROR                         = 0x1007\n\tSO_GET_FILTER                    = 0x1a\n\tSO_INCOMING_CPU                  = 0x33\n\tSO_KEEPALIVE                     = 0x8\n\tSO_LINGER                        = 0x80\n\tSO_LOCK_FILTER                   = 0x28\n\tSO_MARK                          = 0x22\n\tSO_MAX_PACING_RATE               = 0x31\n\tSO_NOFCS                         = 0x27\n\tSO_NO_CHECK                      = 0xb\n\tSO_OOBINLINE                     = 0x100\n\tSO_PASSCRED                      = 0x2\n\tSO_PASSSEC                       = 0x1f\n\tSO_PEEK_OFF                      = 0x26\n\tSO_PEERCRED                      = 0x40\n\tSO_PEERNAME                      = 0x1c\n\tSO_PEERSEC                       = 0x1e\n\tSO_PRIORITY                      = 0xc\n\tSO_PROTOCOL                      = 0x1028\n\tSO_RCVBUF                        = 0x1002\n\tSO_RCVBUFFORCE                   = 0x100b\n\tSO_RCVLOWAT                      = 0x800\n\tSO_RCVTIMEO                      = 0x2000\n\tSO_REUSEADDR                     = 0x4\n\tSO_REUSEPORT                     = 0x200\n\tSO_RXQ_OVFL                      = 0x24\n\tSO_SECURITY_AUTHENTICATION       = 0x5001\n\tSO_SECURITY_ENCRYPTION_NETWORK   = 0x5004\n\tSO_SECURITY_ENCRYPTION_TRANSPORT = 0x5002\n\tSO_SELECT_ERR_QUEUE              = 0x29\n\tSO_SNDBUF                        = 0x1001\n\tSO_SNDBUFFORCE                   = 0x100a\n\tSO_SNDLOWAT                      = 0x1000\n\tSO_SNDTIMEO                      = 0x4000\n\tSO_TIMESTAMP                     = 0x1d\n\tSO_TIMESTAMPING                  = 0x23\n\tSO_TIMESTAMPNS                   = 0x21\n\tSO_TYPE                          = 0x1008\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE    = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE    = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE        = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT    = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX      = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID    = 0x3\n\tSO_VM_SOCKETS_TRUSTED            = 0x5\n\tSO_WIFI_STATUS                   = 0x25\n\tSPLICE_F_GIFT                    = 0x8\n\tSPLICE_F_MORE                    = 0x4\n\tSPLICE_F_MOVE                    = 0x1\n\tSPLICE_F_NONBLOCK                = 0x2\n\tS_BLKSIZE                        = 0x200\n\tS_IEXEC                          = 0x40\n\tS_IFBLK                          = 0x6000\n\tS_IFCHR                          = 0x2000\n\tS_IFDIR                          = 0x4000\n\tS_IFIFO                          = 0x1000\n\tS_IFLNK                          = 0xa000\n\tS_IFMT                           = 0xf000\n\tS_IFREG                          = 0x8000\n\tS_IFSOCK                         = 0xc000\n\tS_IREAD                          = 0x100\n\tS_IRGRP                          = 0x20\n\tS_IROTH                          = 0x4\n\tS_IRUSR                          = 0x100\n\tS_IRWXG                          = 0x38\n\tS_IRWXO                          = 0x7\n\tS_IRWXU                          = 0x1c0\n\tS_ISGID                          = 0x400\n\tS_ISUID                          = 0x800\n\tS_ISVTX                          = 0x200\n\tS_IWGRP                          = 0x10\n\tS_IWOTH                          = 0x2\n\tS_IWRITE                         = 0x80\n\tS_IWUSR                          = 0x80\n\tS_IXGRP                          = 0x8\n\tS_IXOTH                          = 0x1\n\tS_IXUSR                          = 0x40\n\tTAB0                             = 0x0\n\tTAB1                             = 0x800\n\tTAB2                             = 0x1000\n\tTAB3                             = 0x1800\n\tTABDLY                           = 0x1800\n\tTCFLSH                           = 0x20005407\n\tTCGETA                           = 0x40125401\n\tTCGETS                           = 0x40245408\n\tTCGETS2                          = 0x402c540c\n\tTCIFLUSH                         = 0x0\n\tTCIOFF                           = 0x2\n\tTCIOFLUSH                        = 0x2\n\tTCION                            = 0x3\n\tTCOFLUSH                         = 0x1\n\tTCOOFF                           = 0x0\n\tTCOON                            = 0x1\n\tTCP_CC_INFO                      = 0x1a\n\tTCP_CONGESTION                   = 0xd\n\tTCP_COOKIE_IN_ALWAYS             = 0x1\n\tTCP_COOKIE_MAX                   = 0x10\n\tTCP_COOKIE_MIN                   = 0x8\n\tTCP_COOKIE_OUT_NEVER             = 0x2\n\tTCP_COOKIE_PAIR_SIZE             = 0x20\n\tTCP_COOKIE_TRANSACTIONS          = 0xf\n\tTCP_CORK                         = 0x3\n\tTCP_DEFER_ACCEPT                 = 0x9\n\tTCP_FASTOPEN                     = 0x17\n\tTCP_INFO                         = 0xb\n\tTCP_KEEPCNT                      = 0x6\n\tTCP_KEEPIDLE                     = 0x4\n\tTCP_KEEPINTVL                    = 0x5\n\tTCP_LINGER2                      = 0x8\n\tTCP_MAXSEG                       = 0x2\n\tTCP_MAXWIN                       = 0xffff\n\tTCP_MAX_WINSHIFT                 = 0xe\n\tTCP_MD5SIG                       = 0xe\n\tTCP_MD5SIG_MAXKEYLEN             = 0x50\n\tTCP_MSS                          = 0x200\n\tTCP_MSS_DEFAULT                  = 0x218\n\tTCP_MSS_DESIRED                  = 0x4c4\n\tTCP_NODELAY                      = 0x1\n\tTCP_NOTSENT_LOWAT                = 0x19\n\tTCP_QUEUE_SEQ                    = 0x15\n\tTCP_QUICKACK                     = 0xc\n\tTCP_REPAIR                       = 0x13\n\tTCP_REPAIR_OPTIONS               = 0x16\n\tTCP_REPAIR_QUEUE                 = 0x14\n\tTCP_SAVED_SYN                    = 0x1c\n\tTCP_SAVE_SYN                     = 0x1b\n\tTCP_SYNCNT                       = 0x7\n\tTCP_S_DATA_IN                    = 0x4\n\tTCP_S_DATA_OUT                   = 0x8\n\tTCP_THIN_DUPACK                  = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS         = 0x10\n\tTCP_TIMESTAMP                    = 0x18\n\tTCP_USER_TIMEOUT                 = 0x12\n\tTCP_WINDOW_CLAMP                 = 0xa\n\tTCSAFLUSH                        = 0x2\n\tTCSBRK                           = 0x20005405\n\tTCSBRKP                          = 0x5425\n\tTCSETA                           = 0x80125402\n\tTCSETAF                          = 0x80125404\n\tTCSETAW                          = 0x80125403\n\tTCSETS                           = 0x80245409\n\tTCSETS2                          = 0x802c540d\n\tTCSETSF                          = 0x8024540b\n\tTCSETSF2                         = 0x802c540f\n\tTCSETSW                          = 0x8024540a\n\tTCSETSW2                         = 0x802c540e\n\tTCXONC                           = 0x20005406\n\tTIOCCBRK                         = 0x2000747a\n\tTIOCCONS                         = 0x20007424\n\tTIOCEXCL                         = 0x2000740d\n\tTIOCGDEV                         = 0x40045432\n\tTIOCGETD                         = 0x40047400\n\tTIOCGEXCL                        = 0x40045440\n\tTIOCGICOUNT                      = 0x545d\n\tTIOCGLCKTRMIOS                   = 0x5456\n\tTIOCGPGRP                        = 0x40047483\n\tTIOCGPKT                         = 0x40045438\n\tTIOCGPTLCK                       = 0x40045439\n\tTIOCGPTN                         = 0x40047486\n\tTIOCGRS485                       = 0x40205441\n\tTIOCGSERIAL                      = 0x541e\n\tTIOCGSID                         = 0x40047485\n\tTIOCGSOFTCAR                     = 0x40047464\n\tTIOCGWINSZ                       = 0x40087468\n\tTIOCINQ                          = 0x4004667f\n\tTIOCLINUX                        = 0x541c\n\tTIOCMBIC                         = 0x8004746b\n\tTIOCMBIS                         = 0x8004746c\n\tTIOCMGET                         = 0x4004746a\n\tTIOCMIWAIT                       = 0x545c\n\tTIOCMSET                         = 0x8004746d\n\tTIOCM_CAR                        = 0x40\n\tTIOCM_CD                         = 0x40\n\tTIOCM_CTS                        = 0x20\n\tTIOCM_DSR                        = 0x100\n\tTIOCM_DTR                        = 0x2\n\tTIOCM_LE                         = 0x1\n\tTIOCM_LOOP                       = 0x8000\n\tTIOCM_OUT1                       = 0x2000\n\tTIOCM_OUT2                       = 0x4000\n\tTIOCM_RI                         = 0x80\n\tTIOCM_RNG                        = 0x80\n\tTIOCM_RTS                        = 0x4\n\tTIOCM_SR                         = 0x10\n\tTIOCM_ST                         = 0x8\n\tTIOCNOTTY                        = 0x20007471\n\tTIOCNXCL                         = 0x2000740e\n\tTIOCOUTQ                         = 0x40047473\n\tTIOCPKT                          = 0x80047470\n\tTIOCPKT_DATA                     = 0x0\n\tTIOCPKT_DOSTOP                   = 0x20\n\tTIOCPKT_FLUSHREAD                = 0x1\n\tTIOCPKT_FLUSHWRITE               = 0x2\n\tTIOCPKT_IOCTL                    = 0x40\n\tTIOCPKT_NOSTOP                   = 0x10\n\tTIOCPKT_START                    = 0x8\n\tTIOCPKT_STOP                     = 0x4\n\tTIOCSBRK                         = 0x2000747b\n\tTIOCSCTTY                        = 0x20007484\n\tTIOCSERCONFIG                    = 0x5453\n\tTIOCSERGETLSR                    = 0x5459\n\tTIOCSERGETMULTI                  = 0x545a\n\tTIOCSERGSTRUCT                   = 0x5458\n\tTIOCSERGWILD                     = 0x5454\n\tTIOCSERSETMULTI                  = 0x545b\n\tTIOCSERSWILD                     = 0x5455\n\tTIOCSER_TEMT                     = 0x1\n\tTIOCSETD                         = 0x80047401\n\tTIOCSIG                          = 0x80047488\n\tTIOCSLCKTRMIOS                   = 0x5457\n\tTIOCSPGRP                        = 0x80047482\n\tTIOCSPTLCK                       = 0x80047487\n\tTIOCSRS485                       = 0xc0205442\n\tTIOCSSERIAL                      = 0x541f\n\tTIOCSSOFTCAR                     = 0x80047465\n\tTIOCSTART                        = 0x2000746e\n\tTIOCSTI                          = 0x80017472\n\tTIOCSTOP                         = 0x2000746f\n\tTIOCSWINSZ                       = 0x80087467\n\tTIOCVHANGUP                      = 0x20005437\n\tTOSTOP                           = 0x100\n\tTUNATTACHFILTER                  = 0x801054d5\n\tTUNDETACHFILTER                  = 0x801054d6\n\tTUNGETFEATURES                   = 0x400454cf\n\tTUNGETFILTER                     = 0x401054db\n\tTUNGETIFF                        = 0x400454d2\n\tTUNGETSNDBUF                     = 0x400454d3\n\tTUNGETVNETBE                     = 0x400454df\n\tTUNGETVNETHDRSZ                  = 0x400454d7\n\tTUNGETVNETLE                     = 0x400454dd\n\tTUNSETDEBUG                      = 0x800454c9\n\tTUNSETGROUP                      = 0x800454ce\n\tTUNSETIFF                        = 0x800454ca\n\tTUNSETIFINDEX                    = 0x800454da\n\tTUNSETLINK                       = 0x800454cd\n\tTUNSETNOCSUM                     = 0x800454c8\n\tTUNSETOFFLOAD                    = 0x800454d0\n\tTUNSETOWNER                      = 0x800454cc\n\tTUNSETPERSIST                    = 0x800454cb\n\tTUNSETQUEUE                      = 0x800454d9\n\tTUNSETSNDBUF                     = 0x800454d4\n\tTUNSETTXFILTER                   = 0x800454d1\n\tTUNSETVNETBE                     = 0x800454de\n\tTUNSETVNETHDRSZ                  = 0x800454d8\n\tTUNSETVNETLE                     = 0x800454dc\n\tVDISCARD                         = 0xd\n\tVDSUSP                           = 0xb\n\tVEOF                             = 0x4\n\tVEOL                             = 0x5\n\tVEOL2                            = 0x6\n\tVERASE                           = 0x2\n\tVINTR                            = 0x0\n\tVKILL                            = 0x3\n\tVLNEXT                           = 0xf\n\tVMADDR_CID_ANY                   = 0xffffffff\n\tVMADDR_CID_HOST                  = 0x2\n\tVMADDR_CID_HYPERVISOR            = 0x0\n\tVMADDR_CID_RESERVED              = 0x1\n\tVMADDR_PORT_ANY                  = 0xffffffff\n\tVMIN                             = 0x4\n\tVQUIT                            = 0x1\n\tVREPRINT                         = 0xc\n\tVSTART                           = 0x8\n\tVSTOP                            = 0x9\n\tVSUSP                            = 0xa\n\tVSWTC                            = 0x7\n\tVT0                              = 0x0\n\tVT1                              = 0x4000\n\tVTDLY                            = 0x4000\n\tVTIME                            = 0x5\n\tVWERASE                          = 0xe\n\tWALL                             = 0x40000000\n\tWCLONE                           = 0x80000000\n\tWCONTINUED                       = 0x8\n\tWEXITED                          = 0x4\n\tWNOHANG                          = 0x1\n\tWNOTHREAD                        = 0x20000000\n\tWNOWAIT                          = 0x1000000\n\tWORDSIZE                         = 0x40\n\tWRAP                             = 0x20000\n\tWSTOPPED                         = 0x2\n\tWUNTRACED                        = 0x2\n\tXCASE                            = 0x4\n\tXTABS                            = 0x1800\n\t__TIOCFLUSH                      = 0x80047410\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEADV            = syscall.Errno(0x53)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x25)\n\tEBADE           = syscall.Errno(0x66)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x5d)\n\tEBADMSG         = syscall.Errno(0x4c)\n\tEBADR           = syscall.Errno(0x67)\n\tEBADRQC         = syscall.Errno(0x6a)\n\tEBADSLT         = syscall.Errno(0x6b)\n\tEBFONT          = syscall.Errno(0x6d)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7f)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x5e)\n\tECOMM           = syscall.Errno(0x55)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0x4e)\n\tEDEADLOCK       = syscall.Errno(0x6c)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x58)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEHWPOISON       = syscall.Errno(0x87)\n\tEIDRM           = syscall.Errno(0x4d)\n\tEILSEQ          = syscall.Errno(0x7a)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x81)\n\tEKEYREJECTED    = syscall.Errno(0x83)\n\tEKEYREVOKED     = syscall.Errno(0x82)\n\tEL2HLT          = syscall.Errno(0x65)\n\tEL2NSYNC        = syscall.Errno(0x5f)\n\tEL3HLT          = syscall.Errno(0x60)\n\tEL3RST          = syscall.Errno(0x61)\n\tELIBACC         = syscall.Errno(0x72)\n\tELIBBAD         = syscall.Errno(0x70)\n\tELIBEXEC        = syscall.Errno(0x6e)\n\tELIBMAX         = syscall.Errno(0x7b)\n\tELIBSCN         = syscall.Errno(0x7c)\n\tELNRNG          = syscall.Errno(0x62)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMEDIUMTYPE     = syscall.Errno(0x7e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x57)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x69)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENOCSI          = syscall.Errno(0x64)\n\tENODATA         = syscall.Errno(0x6f)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x80)\n\tENOLCK          = syscall.Errno(0x4f)\n\tENOLINK         = syscall.Errno(0x52)\n\tENOMEDIUM       = syscall.Errno(0x7d)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x4b)\n\tENONET          = syscall.Errno(0x50)\n\tENOPKG          = syscall.Errno(0x71)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x4a)\n\tENOSTR          = syscall.Errno(0x48)\n\tENOSYS          = syscall.Errno(0x5a)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x85)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x73)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x5c)\n\tEOWNERDEAD      = syscall.Errno(0x84)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROTO          = syscall.Errno(0x56)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x59)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x74)\n\tERFKILL         = syscall.Errno(0x86)\n\tEROFS           = syscall.Errno(0x1e)\n\tERREMOTE        = syscall.Errno(0x51)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x54)\n\tESTALE          = syscall.Errno(0x46)\n\tESTRPIPE        = syscall.Errno(0x5b)\n\tETIME           = syscall.Errno(0x49)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x63)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x68)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCLD    = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGLOST   = syscall.Signal(0x1d)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x17)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1d)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"no such device or address\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource temporarily unavailable\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"device or resource busy\",\n\t17:  \"file exists\",\n\t18:  \"invalid cross-device link\",\n\t19:  \"no such device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"numerical result out of range\",\n\t36:  \"operation now in progress\",\n\t37:  \"operation already in progress\",\n\t38:  \"socket operation on non-socket\",\n\t39:  \"destination address required\",\n\t40:  \"message too long\",\n\t41:  \"protocol wrong type for socket\",\n\t42:  \"protocol not available\",\n\t43:  \"protocol not supported\",\n\t44:  \"socket type not supported\",\n\t45:  \"operation not supported\",\n\t46:  \"protocol family not supported\",\n\t47:  \"address family not supported by protocol\",\n\t48:  \"address already in use\",\n\t49:  \"cannot assign requested address\",\n\t50:  \"network is down\",\n\t51:  \"network is unreachable\",\n\t52:  \"network dropped connection on reset\",\n\t53:  \"software caused connection abort\",\n\t54:  \"connection reset by peer\",\n\t55:  \"no buffer space available\",\n\t56:  \"transport endpoint is already connected\",\n\t57:  \"transport endpoint is not connected\",\n\t58:  \"cannot send after transport endpoint shutdown\",\n\t59:  \"too many references: cannot splice\",\n\t60:  \"connection timed out\",\n\t61:  \"connection refused\",\n\t62:  \"too many levels of symbolic links\",\n\t63:  \"file name too long\",\n\t64:  \"host is down\",\n\t65:  \"no route to host\",\n\t66:  \"directory not empty\",\n\t67:  \"too many processes\",\n\t68:  \"too many users\",\n\t69:  \"disk quota exceeded\",\n\t70:  \"stale file handle\",\n\t71:  \"object is remote\",\n\t72:  \"device not a stream\",\n\t73:  \"timer expired\",\n\t74:  \"out of streams resources\",\n\t75:  \"no message of desired type\",\n\t76:  \"bad message\",\n\t77:  \"identifier removed\",\n\t78:  \"resource deadlock avoided\",\n\t79:  \"no locks available\",\n\t80:  \"machine is not on the network\",\n\t81:  \"unknown error 81\",\n\t82:  \"link has been severed\",\n\t83:  \"advertise error\",\n\t84:  \"srmount error\",\n\t85:  \"communication error on send\",\n\t86:  \"protocol error\",\n\t87:  \"multihop attempted\",\n\t88:  \"RFS specific error\",\n\t89:  \"remote address changed\",\n\t90:  \"function not implemented\",\n\t91:  \"streams pipe error\",\n\t92:  \"value too large for defined data type\",\n\t93:  \"file descriptor in bad state\",\n\t94:  \"channel number out of range\",\n\t95:  \"level 2 not synchronized\",\n\t96:  \"level 3 halted\",\n\t97:  \"level 3 reset\",\n\t98:  \"link number out of range\",\n\t99:  \"protocol driver not attached\",\n\t100: \"no CSI structure available\",\n\t101: \"level 2 halted\",\n\t102: \"invalid exchange\",\n\t103: \"invalid request descriptor\",\n\t104: \"exchange full\",\n\t105: \"no anode\",\n\t106: \"invalid request code\",\n\t107: \"invalid slot\",\n\t108: \"file locking deadlock error\",\n\t109: \"bad font file format\",\n\t110: \"cannot exec a shared library directly\",\n\t111: \"no data available\",\n\t112: \"accessing a corrupted shared library\",\n\t113: \"package not installed\",\n\t114: \"can not access a needed shared library\",\n\t115: \"name not unique on network\",\n\t116: \"interrupted system call should be restarted\",\n\t117: \"structure needs cleaning\",\n\t118: \"not a XENIX named type file\",\n\t119: \"no XENIX semaphores available\",\n\t120: \"is a named type file\",\n\t121: \"remote I/O error\",\n\t122: \"invalid or incomplete multibyte or wide character\",\n\t123: \"attempting to link in too many shared libraries\",\n\t124: \".lib section in a.out corrupted\",\n\t125: \"no medium found\",\n\t126: \"wrong medium type\",\n\t127: \"operation canceled\",\n\t128: \"required key not available\",\n\t129: \"key has expired\",\n\t130: \"key has been revoked\",\n\t131: \"key was rejected by service\",\n\t132: \"owner died\",\n\t133: \"state not recoverable\",\n\t134: \"operation not possible due to RF-kill\",\n\t135: \"memory page has hardware error\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"stopped (signal)\",\n\t18: \"stopped\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"CPU time limit exceeded\",\n\t25: \"file size limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window changed\",\n\t29: \"resource lost\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go",
    "content": "// mkerrors.sh -m32\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,netbsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m32 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_ARP                            = 0x1c\n\tAF_BLUETOOTH                      = 0x1f\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x20\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x18\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x23\n\tAF_MPLS                           = 0x21\n\tAF_NATM                           = 0x1b\n\tAF_NS                             = 0x6\n\tAF_OROUTE                         = 0x11\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x22\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tARPHRD_ARCNET                     = 0x7\n\tARPHRD_ETHER                      = 0x1\n\tARPHRD_FRELAY                     = 0xf\n\tARPHRD_IEEE1394                   = 0x18\n\tARPHRD_IEEE802                    = 0x6\n\tARPHRD_STRIP                      = 0x17\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB460800                           = 0x70800\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB921600                           = 0xe1000\n\tB9600                             = 0x2580\n\tBIOCFEEDBACK                      = 0x8004427d\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc0084277\n\tBIOCGETIF                         = 0x4090426b\n\tBIOCGFEEDBACK                     = 0x4004427c\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRTIMEOUT                     = 0x400c427b\n\tBIOCGSEESENT                      = 0x40044278\n\tBIOCGSTATS                        = 0x4080426f\n\tBIOCGSTATSOLD                     = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044276\n\tBIOCSETF                          = 0x80084267\n\tBIOCSETIF                         = 0x8090426c\n\tBIOCSFEEDBACK                     = 0x8004427d\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRTIMEOUT                     = 0x800c427a\n\tBIOCSSEESENT                      = 0x80044279\n\tBIOCSTCPF                         = 0x80084272\n\tBIOCSUDPF                         = 0x80084273\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALIGNMENT32                   = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DFLTBUFSIZE                   = 0x100000\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x1000000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLONE_CSIGNAL                     = 0xff\n\tCLONE_FILES                       = 0x400\n\tCLONE_FS                          = 0x200\n\tCLONE_PID                         = 0x1000\n\tCLONE_PTRACE                      = 0x2000\n\tCLONE_SIGHAND                     = 0x800\n\tCLONE_VFORK                       = 0x4000\n\tCLONE_VM                          = 0x100\n\tCREAD                             = 0x800\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tCTL_QUERY                         = -0x2\n\tDIOCBSFLUSH                       = 0x20006478\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HDLC                          = 0x10\n\tDLT_HHDLC                         = 0x79\n\tDLT_HIPPI                         = 0xf\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0xe\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RAWAF_MASK                    = 0x2240000\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xd\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEMUL_LINUX                        = 0x1\n\tEMUL_LINUX32                      = 0x5\n\tEMUL_MAXID                        = 0x6\n\tEN_SW_CTL_INF                     = 0x1000\n\tEN_SW_CTL_PREC                    = 0x300\n\tEN_SW_CTL_ROUND                   = 0xc00\n\tEN_SW_DATACHAIN                   = 0x80\n\tEN_SW_DENORM                      = 0x2\n\tEN_SW_INVOP                       = 0x1\n\tEN_SW_OVERFLOW                    = 0x8\n\tEN_SW_PRECLOSS                    = 0x20\n\tEN_SW_UNDERFLOW                   = 0x10\n\tEN_SW_ZERODIV                     = 0x4\n\tETHERCAP_JUMBO_MTU                = 0x4\n\tETHERCAP_VLAN_HWTAGGING           = 0x2\n\tETHERCAP_VLAN_MTU                 = 0x1\n\tETHERMIN                          = 0x2e\n\tETHERMTU                          = 0x5dc\n\tETHERMTU_JUMBO                    = 0x2328\n\tETHERTYPE_8023                    = 0x4\n\tETHERTYPE_AARP                    = 0x80f3\n\tETHERTYPE_ACCTON                  = 0x8390\n\tETHERTYPE_AEONIC                  = 0x8036\n\tETHERTYPE_ALPHA                   = 0x814a\n\tETHERTYPE_AMBER                   = 0x6008\n\tETHERTYPE_AMOEBA                  = 0x8145\n\tETHERTYPE_APOLLO                  = 0x80f7\n\tETHERTYPE_APOLLODOMAIN            = 0x8019\n\tETHERTYPE_APPLETALK               = 0x809b\n\tETHERTYPE_APPLITEK                = 0x80c7\n\tETHERTYPE_ARGONAUT                = 0x803a\n\tETHERTYPE_ARP                     = 0x806\n\tETHERTYPE_AT                      = 0x809b\n\tETHERTYPE_ATALK                   = 0x809b\n\tETHERTYPE_ATOMIC                  = 0x86df\n\tETHERTYPE_ATT                     = 0x8069\n\tETHERTYPE_ATTSTANFORD             = 0x8008\n\tETHERTYPE_AUTOPHON                = 0x806a\n\tETHERTYPE_AXIS                    = 0x8856\n\tETHERTYPE_BCLOOP                  = 0x9003\n\tETHERTYPE_BOFL                    = 0x8102\n\tETHERTYPE_CABLETRON               = 0x7034\n\tETHERTYPE_CHAOS                   = 0x804\n\tETHERTYPE_COMDESIGN               = 0x806c\n\tETHERTYPE_COMPUGRAPHIC            = 0x806d\n\tETHERTYPE_COUNTERPOINT            = 0x8062\n\tETHERTYPE_CRONUS                  = 0x8004\n\tETHERTYPE_CRONUSVLN               = 0x8003\n\tETHERTYPE_DCA                     = 0x1234\n\tETHERTYPE_DDE                     = 0x807b\n\tETHERTYPE_DEBNI                   = 0xaaaa\n\tETHERTYPE_DECAM                   = 0x8048\n\tETHERTYPE_DECCUST                 = 0x6006\n\tETHERTYPE_DECDIAG                 = 0x6005\n\tETHERTYPE_DECDNS                  = 0x803c\n\tETHERTYPE_DECDTS                  = 0x803e\n\tETHERTYPE_DECEXPER                = 0x6000\n\tETHERTYPE_DECLAST                 = 0x8041\n\tETHERTYPE_DECLTM                  = 0x803f\n\tETHERTYPE_DECMUMPS                = 0x6009\n\tETHERTYPE_DECNETBIOS              = 0x8040\n\tETHERTYPE_DELTACON                = 0x86de\n\tETHERTYPE_DIDDLE                  = 0x4321\n\tETHERTYPE_DLOG1                   = 0x660\n\tETHERTYPE_DLOG2                   = 0x661\n\tETHERTYPE_DN                      = 0x6003\n\tETHERTYPE_DOGFIGHT                = 0x1989\n\tETHERTYPE_DSMD                    = 0x8039\n\tETHERTYPE_ECMA                    = 0x803\n\tETHERTYPE_ENCRYPT                 = 0x803d\n\tETHERTYPE_ES                      = 0x805d\n\tETHERTYPE_EXCELAN                 = 0x8010\n\tETHERTYPE_EXPERDATA               = 0x8049\n\tETHERTYPE_FLIP                    = 0x8146\n\tETHERTYPE_FLOWCONTROL             = 0x8808\n\tETHERTYPE_FRARP                   = 0x808\n\tETHERTYPE_GENDYN                  = 0x8068\n\tETHERTYPE_HAYES                   = 0x8130\n\tETHERTYPE_HIPPI_FP                = 0x8180\n\tETHERTYPE_HITACHI                 = 0x8820\n\tETHERTYPE_HP                      = 0x8005\n\tETHERTYPE_IEEEPUP                 = 0xa00\n\tETHERTYPE_IEEEPUPAT               = 0xa01\n\tETHERTYPE_IMLBL                   = 0x4c42\n\tETHERTYPE_IMLBLDIAG               = 0x424c\n\tETHERTYPE_IP                      = 0x800\n\tETHERTYPE_IPAS                    = 0x876c\n\tETHERTYPE_IPV6                    = 0x86dd\n\tETHERTYPE_IPX                     = 0x8137\n\tETHERTYPE_IPXNEW                  = 0x8037\n\tETHERTYPE_KALPANA                 = 0x8582\n\tETHERTYPE_LANBRIDGE               = 0x8038\n\tETHERTYPE_LANPROBE                = 0x8888\n\tETHERTYPE_LAT                     = 0x6004\n\tETHERTYPE_LBACK                   = 0x9000\n\tETHERTYPE_LITTLE                  = 0x8060\n\tETHERTYPE_LOGICRAFT               = 0x8148\n\tETHERTYPE_LOOPBACK                = 0x9000\n\tETHERTYPE_MATRA                   = 0x807a\n\tETHERTYPE_MAX                     = 0xffff\n\tETHERTYPE_MERIT                   = 0x807c\n\tETHERTYPE_MICP                    = 0x873a\n\tETHERTYPE_MOPDL                   = 0x6001\n\tETHERTYPE_MOPRC                   = 0x6002\n\tETHERTYPE_MOTOROLA                = 0x818d\n\tETHERTYPE_MPLS                    = 0x8847\n\tETHERTYPE_MPLS_MCAST              = 0x8848\n\tETHERTYPE_MUMPS                   = 0x813f\n\tETHERTYPE_NBPCC                   = 0x3c04\n\tETHERTYPE_NBPCLAIM                = 0x3c09\n\tETHERTYPE_NBPCLREQ                = 0x3c05\n\tETHERTYPE_NBPCLRSP                = 0x3c06\n\tETHERTYPE_NBPCREQ                 = 0x3c02\n\tETHERTYPE_NBPCRSP                 = 0x3c03\n\tETHERTYPE_NBPDG                   = 0x3c07\n\tETHERTYPE_NBPDGB                  = 0x3c08\n\tETHERTYPE_NBPDLTE                 = 0x3c0a\n\tETHERTYPE_NBPRAR                  = 0x3c0c\n\tETHERTYPE_NBPRAS                  = 0x3c0b\n\tETHERTYPE_NBPRST                  = 0x3c0d\n\tETHERTYPE_NBPSCD                  = 0x3c01\n\tETHERTYPE_NBPVCD                  = 0x3c00\n\tETHERTYPE_NBS                     = 0x802\n\tETHERTYPE_NCD                     = 0x8149\n\tETHERTYPE_NESTAR                  = 0x8006\n\tETHERTYPE_NETBEUI                 = 0x8191\n\tETHERTYPE_NOVELL                  = 0x8138\n\tETHERTYPE_NS                      = 0x600\n\tETHERTYPE_NSAT                    = 0x601\n\tETHERTYPE_NSCOMPAT                = 0x807\n\tETHERTYPE_NTRAILER                = 0x10\n\tETHERTYPE_OS9                     = 0x7007\n\tETHERTYPE_OS9NET                  = 0x7009\n\tETHERTYPE_PACER                   = 0x80c6\n\tETHERTYPE_PAE                     = 0x888e\n\tETHERTYPE_PCS                     = 0x4242\n\tETHERTYPE_PLANNING                = 0x8044\n\tETHERTYPE_PPP                     = 0x880b\n\tETHERTYPE_PPPOE                   = 0x8864\n\tETHERTYPE_PPPOEDISC               = 0x8863\n\tETHERTYPE_PRIMENTS                = 0x7031\n\tETHERTYPE_PUP                     = 0x200\n\tETHERTYPE_PUPAT                   = 0x200\n\tETHERTYPE_RACAL                   = 0x7030\n\tETHERTYPE_RATIONAL                = 0x8150\n\tETHERTYPE_RAWFR                   = 0x6559\n\tETHERTYPE_RCL                     = 0x1995\n\tETHERTYPE_RDP                     = 0x8739\n\tETHERTYPE_RETIX                   = 0x80f2\n\tETHERTYPE_REVARP                  = 0x8035\n\tETHERTYPE_SCA                     = 0x6007\n\tETHERTYPE_SECTRA                  = 0x86db\n\tETHERTYPE_SECUREDATA              = 0x876d\n\tETHERTYPE_SGITW                   = 0x817e\n\tETHERTYPE_SG_BOUNCE               = 0x8016\n\tETHERTYPE_SG_DIAG                 = 0x8013\n\tETHERTYPE_SG_NETGAMES             = 0x8014\n\tETHERTYPE_SG_RESV                 = 0x8015\n\tETHERTYPE_SIMNET                  = 0x5208\n\tETHERTYPE_SLOWPROTOCOLS           = 0x8809\n\tETHERTYPE_SNA                     = 0x80d5\n\tETHERTYPE_SNMP                    = 0x814c\n\tETHERTYPE_SONIX                   = 0xfaf5\n\tETHERTYPE_SPIDER                  = 0x809f\n\tETHERTYPE_SPRITE                  = 0x500\n\tETHERTYPE_STP                     = 0x8181\n\tETHERTYPE_TALARIS                 = 0x812b\n\tETHERTYPE_TALARISMC               = 0x852b\n\tETHERTYPE_TCPCOMP                 = 0x876b\n\tETHERTYPE_TCPSM                   = 0x9002\n\tETHERTYPE_TEC                     = 0x814f\n\tETHERTYPE_TIGAN                   = 0x802f\n\tETHERTYPE_TRAIL                   = 0x1000\n\tETHERTYPE_TRANSETHER              = 0x6558\n\tETHERTYPE_TYMSHARE                = 0x802e\n\tETHERTYPE_UBBST                   = 0x7005\n\tETHERTYPE_UBDEBUG                 = 0x900\n\tETHERTYPE_UBDIAGLOOP              = 0x7002\n\tETHERTYPE_UBDL                    = 0x7000\n\tETHERTYPE_UBNIU                   = 0x7001\n\tETHERTYPE_UBNMC                   = 0x7003\n\tETHERTYPE_VALID                   = 0x1600\n\tETHERTYPE_VARIAN                  = 0x80dd\n\tETHERTYPE_VAXELN                  = 0x803b\n\tETHERTYPE_VEECO                   = 0x8067\n\tETHERTYPE_VEXP                    = 0x805b\n\tETHERTYPE_VGLAB                   = 0x8131\n\tETHERTYPE_VINES                   = 0xbad\n\tETHERTYPE_VINESECHO               = 0xbaf\n\tETHERTYPE_VINESLOOP               = 0xbae\n\tETHERTYPE_VITAL                   = 0xff00\n\tETHERTYPE_VLAN                    = 0x8100\n\tETHERTYPE_VLTLMAN                 = 0x8080\n\tETHERTYPE_VPROD                   = 0x805c\n\tETHERTYPE_VURESERVED              = 0x8147\n\tETHERTYPE_WATERLOO                = 0x8130\n\tETHERTYPE_WELLFLEET               = 0x8103\n\tETHERTYPE_X25                     = 0x805\n\tETHERTYPE_X75                     = 0x801\n\tETHERTYPE_XNSSM                   = 0x9001\n\tETHERTYPE_XTP                     = 0x817d\n\tETHER_ADDR_LEN                    = 0x6\n\tETHER_CRC_LEN                     = 0x4\n\tETHER_CRC_POLY_BE                 = 0x4c11db6\n\tETHER_CRC_POLY_LE                 = 0xedb88320\n\tETHER_HDR_LEN                     = 0xe\n\tETHER_MAX_LEN                     = 0x5ee\n\tETHER_MAX_LEN_JUMBO               = 0x233a\n\tETHER_MIN_LEN                     = 0x40\n\tETHER_PPPOE_ENCAP_LEN             = 0x8\n\tETHER_TYPE_LEN                    = 0x2\n\tETHER_VLAN_ENCAP_LEN              = 0x4\n\tEVFILT_AIO                        = 0x2\n\tEVFILT_PROC                       = 0x4\n\tEVFILT_READ                       = 0x0\n\tEVFILT_SIGNAL                     = 0x5\n\tEVFILT_SYSCOUNT                   = 0x7\n\tEVFILT_TIMER                      = 0x6\n\tEVFILT_VNODE                      = 0x3\n\tEVFILT_WRITE                      = 0x1\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x100\n\tFLUSHO                            = 0x800000\n\tF_CLOSEM                          = 0xa\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0xc\n\tF_FSCTL                           = -0x80000000\n\tF_FSDIRMASK                       = 0x70000000\n\tF_FSIN                            = 0x10000000\n\tF_FSINOUT                         = 0x30000000\n\tF_FSOUT                           = 0x20000000\n\tF_FSPRIV                          = 0x8000\n\tF_FSVOID                          = 0x40000000\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETNOSIGPIPE                    = 0xd\n\tF_GETOWN                          = 0x5\n\tF_MAXFD                           = 0xb\n\tF_OK                              = 0x0\n\tF_PARAM_MASK                      = 0xfff\n\tF_PARAM_MAX                       = 0xfff\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETNOSIGPIPE                    = 0xe\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFA_ROUTE                         = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x8f52\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf8\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DOCSCABLEUPSTREAMCHANNEL      = 0xcd\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ECONET                        = 0xce\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf2\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INFINIBAND                    = 0xc7\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LINEGROUP                     = 0xd2\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_PON155                        = 0xcf\n\tIFT_PON622                        = 0xd0\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPATM                       = 0xc5\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_Q2931                         = 0xc9\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SIPSIG                        = 0xcc\n\tIFT_SIPTG                         = 0xcb\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xd7\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TELINK                        = 0xc8\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VIRTUALTG                     = 0xca\n\tIFT_VOICEDID                      = 0xd5\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEEMFGD                    = 0xd3\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFGDEANA                  = 0xd4\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERCABLE                = 0xc6\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IPV6_ICMP                 = 0x3a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VRRP                      = 0x70\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_EF                             = 0x8000\n\tIP_ERRORMTU                       = 0x15\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x16\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0x14\n\tIP_MF                             = 0x2000\n\tIP_MINFRAGSIZE                    = 0x45\n\tIP_MINTTL                         = 0x18\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTTL                        = 0x17\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x6\n\tMADV_NORMAL                       = 0x0\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SPACEAVAIL                   = 0x5\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ALIGNMENT_16MB                = 0x18000000\n\tMAP_ALIGNMENT_1TB                 = 0x28000000\n\tMAP_ALIGNMENT_256TB               = 0x30000000\n\tMAP_ALIGNMENT_4GB                 = 0x20000000\n\tMAP_ALIGNMENT_64KB                = 0x10000000\n\tMAP_ALIGNMENT_64PB                = 0x38000000\n\tMAP_ALIGNMENT_MASK                = -0x1000000\n\tMAP_ALIGNMENT_SHIFT               = 0x18\n\tMAP_ANON                          = 0x1000\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_INHERIT                       = 0x80\n\tMAP_INHERIT_COPY                  = 0x1\n\tMAP_INHERIT_DEFAULT               = 0x1\n\tMAP_INHERIT_DONATE_COPY           = 0x3\n\tMAP_INHERIT_NONE                  = 0x2\n\tMAP_INHERIT_SHARE                 = 0x0\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_SHARED                        = 0x1\n\tMAP_STACK                         = 0x2000\n\tMAP_TRYFIXED                      = 0x400\n\tMAP_WIRED                         = 0x800\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMSG_BCAST                         = 0x100\n\tMSG_CMSG_CLOEXEC                  = 0x800\n\tMSG_CONTROLMBUF                   = 0x2000000\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOR                           = 0x8\n\tMSG_IOVUSRSPACE                   = 0x4000000\n\tMSG_LENUSRSPACE                   = 0x8000000\n\tMSG_MCAST                         = 0x200\n\tMSG_NAMEMBUF                      = 0x1000000\n\tMSG_NBIO                          = 0x1000\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_TRUNC                         = 0x10\n\tMSG_USERFLAGS                     = 0xffffff\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x2\n\tMS_SYNC                           = 0x4\n\tNAME_MAX                          = 0x1ff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x5\n\tNET_RT_MAXID                      = 0x6\n\tNET_RT_OIFLIST                    = 0x4\n\tNET_RT_OOIFLIST                   = 0x3\n\tNOFLSH                            = 0x80000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFIOGETBMAP                       = 0xc004667a\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tO_ACCMODE                         = 0x3\n\tO_ALT_IO                          = 0x40000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x400000\n\tO_CREAT                           = 0x200\n\tO_DIRECT                          = 0x80000\n\tO_DIRECTORY                       = 0x200000\n\tO_DSYNC                           = 0x10000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_NOSIGPIPE                       = 0x1000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_RSYNC                           = 0x20000\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPRI_IOFLUSH                       = 0x7c\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tRLIMIT_AS                         = 0xa\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x9\n\tRTAX_NETMASK                      = 0x2\n\tRTAX_TAG                          = 0x8\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTA_TAG                           = 0x100\n\tRTF_ANNOUNCE                      = 0x20000\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_CLONED                        = 0x2000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_MASK                          = 0x80\n\tRTF_MODIFIED                      = 0x20\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_REJECT                        = 0x8\n\tRTF_SRC                           = 0x10000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_CHGADDR                       = 0x15\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_GET                           = 0x4\n\tRTM_IEEE80211                     = 0x11\n\tRTM_IFANNOUNCE                    = 0x10\n\tRTM_IFINFO                        = 0x14\n\tRTM_LLINFO_UPD                    = 0x13\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_OIFINFO                       = 0xf\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_OOIFINFO                      = 0xe\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_SETGATE                       = 0x12\n\tRTM_VERSION                       = 0x4\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x4\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x8\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80906931\n\tSIOCADDRT                         = 0x8030720a\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCALIFADDR                      = 0x8118691c\n\tSIOCATMARK                        = 0x40047307\n\tSIOCDELMULTI                      = 0x80906932\n\tSIOCDELRT                         = 0x8030720b\n\tSIOCDIFADDR                       = 0x80906919\n\tSIOCDIFPHYADDR                    = 0x80906949\n\tSIOCDLIFADDR                      = 0x8118691e\n\tSIOCGDRVSPEC                      = 0xc01c697b\n\tSIOCGETPFSYNC                     = 0xc09069f8\n\tSIOCGETSGCNT                      = 0xc0147534\n\tSIOCGETVIFCNT                     = 0xc0147533\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0906921\n\tSIOCGIFADDRPREF                   = 0xc0946920\n\tSIOCGIFALIAS                      = 0xc040691b\n\tSIOCGIFBRDADDR                    = 0xc0906923\n\tSIOCGIFCAP                        = 0xc0206976\n\tSIOCGIFCONF                       = 0xc0086926\n\tSIOCGIFDATA                       = 0xc0946985\n\tSIOCGIFDLT                        = 0xc0906977\n\tSIOCGIFDSTADDR                    = 0xc0906922\n\tSIOCGIFFLAGS                      = 0xc0906911\n\tSIOCGIFGENERIC                    = 0xc090693a\n\tSIOCGIFMEDIA                      = 0xc0286936\n\tSIOCGIFMETRIC                     = 0xc0906917\n\tSIOCGIFMTU                        = 0xc090697e\n\tSIOCGIFNETMASK                    = 0xc0906925\n\tSIOCGIFPDSTADDR                   = 0xc0906948\n\tSIOCGIFPSRCADDR                   = 0xc0906947\n\tSIOCGLIFADDR                      = 0xc118691d\n\tSIOCGLIFPHYADDR                   = 0xc118694b\n\tSIOCGLINKSTR                      = 0xc01c6987\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGVH                           = 0xc0906983\n\tSIOCIFCREATE                      = 0x8090697a\n\tSIOCIFDESTROY                     = 0x80906979\n\tSIOCIFGCLONERS                    = 0xc00c6978\n\tSIOCINITIFADDR                    = 0xc0446984\n\tSIOCSDRVSPEC                      = 0x801c697b\n\tSIOCSETPFSYNC                     = 0x809069f7\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8090690c\n\tSIOCSIFADDRPREF                   = 0x8094691f\n\tSIOCSIFBRDADDR                    = 0x80906913\n\tSIOCSIFCAP                        = 0x80206975\n\tSIOCSIFDSTADDR                    = 0x8090690e\n\tSIOCSIFFLAGS                      = 0x80906910\n\tSIOCSIFGENERIC                    = 0x80906939\n\tSIOCSIFMEDIA                      = 0xc0906935\n\tSIOCSIFMETRIC                     = 0x80906918\n\tSIOCSIFMTU                        = 0x8090697f\n\tSIOCSIFNETMASK                    = 0x80906916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSLIFPHYADDR                   = 0x8118694a\n\tSIOCSLINKSTR                      = 0x801c6988\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSIOCSVH                           = 0xc0906982\n\tSIOCZIFDATA                       = 0xc0946986\n\tSOCK_CLOEXEC                      = 0x10000000\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_FLAGS_MASK                   = 0xf0000000\n\tSOCK_NONBLOCK                     = 0x20000000\n\tSOCK_NOSIGPIPE                    = 0x40000000\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_ACCEPTFILTER                   = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NOHEADER                       = 0x100a\n\tSO_NOSIGPIPE                      = 0x800\n\tSO_OOBINLINE                      = 0x100\n\tSO_OVERFLOWED                     = 0x1009\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x100c\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x100b\n\tSO_TIMESTAMP                      = 0x2000\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tSYSCTL_VERSION                    = 0x1000000\n\tSYSCTL_VERS_0                     = 0x0\n\tSYSCTL_VERS_1                     = 0x1000000\n\tSYSCTL_VERS_MASK                  = 0xff000000\n\tS_ARCH1                           = 0x10000\n\tS_ARCH2                           = 0x20000\n\tS_BLKSIZE                         = 0x200\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tS_LOGIN_SET                       = 0x1\n\tTCIFLUSH                          = 0x1\n\tTCIOFLUSH                         = 0x3\n\tTCOFLUSH                          = 0x2\n\tTCP_CONGCTL                       = 0x20\n\tTCP_KEEPCNT                       = 0x6\n\tTCP_KEEPIDLE                      = 0x3\n\tTCP_KEEPINIT                      = 0x7\n\tTCP_KEEPINTVL                     = 0x5\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MD5SIG                        = 0x10\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x218\n\tTCP_NODELAY                       = 0x1\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x400c7458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLAG_CDTRCTS                  = 0x10\n\tTIOCFLAG_CLOCAL                   = 0x2\n\tTIOCFLAG_CRTSCTS                  = 0x4\n\tTIOCFLAG_MDMBUF                   = 0x8\n\tTIOCFLAG_SOFTCAR                  = 0x1\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGFLAGS                        = 0x4004745d\n\tTIOCGLINED                        = 0x40207442\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGQSIZE                        = 0x40047481\n\tTIOCGRANTPT                       = 0x20007447\n\tTIOCGSID                          = 0x40047463\n\tTIOCGSIZE                         = 0x40087468\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTMGET                        = 0x40287446\n\tTIOCPTSNAME                       = 0x40287448\n\tTIOCRCVFRAME                      = 0x80047445\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSFLAGS                        = 0x8004745c\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSLINED                        = 0x80207443\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSQSIZE                        = 0x80047480\n\tTIOCSSIZE                         = 0x80087467\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x80047465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCUCNTL                         = 0x80047466\n\tTIOCXMTFRAME                      = 0x80047444\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWALL                              = 0x8\n\tWALLSIG                           = 0x8\n\tWALTSIG                           = 0x4\n\tWCLONE                            = 0x4\n\tWCOREFLAG                         = 0x80\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x10000\n\tWNOZOMBIE                         = 0x20000\n\tWOPTSCHECKED                      = 0x40000\n\tWSTOPPED                          = 0x7f\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x58)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x57)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x55)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x60)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5e)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x59)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x5a)\n\tENOSTR          = syscall.Errno(0x5b)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x56)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x60)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x5c)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x20)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:  \"operation not permitted\",\n\t2:  \"no such file or directory\",\n\t3:  \"no such process\",\n\t4:  \"interrupted system call\",\n\t5:  \"input/output error\",\n\t6:  \"device not configured\",\n\t7:  \"argument list too long\",\n\t8:  \"exec format error\",\n\t9:  \"bad file descriptor\",\n\t10: \"no child processes\",\n\t11: \"resource deadlock avoided\",\n\t12: \"cannot allocate memory\",\n\t13: \"permission denied\",\n\t14: \"bad address\",\n\t15: \"block device required\",\n\t16: \"device busy\",\n\t17: \"file exists\",\n\t18: \"cross-device link\",\n\t19: \"operation not supported by device\",\n\t20: \"not a directory\",\n\t21: \"is a directory\",\n\t22: \"invalid argument\",\n\t23: \"too many open files in system\",\n\t24: \"too many open files\",\n\t25: \"inappropriate ioctl for device\",\n\t26: \"text file busy\",\n\t27: \"file too large\",\n\t28: \"no space left on device\",\n\t29: \"illegal seek\",\n\t30: \"read-only file system\",\n\t31: \"too many links\",\n\t32: \"broken pipe\",\n\t33: \"numerical argument out of domain\",\n\t34: \"result too large or too small\",\n\t35: \"resource temporarily unavailable\",\n\t36: \"operation now in progress\",\n\t37: \"operation already in progress\",\n\t38: \"socket operation on non-socket\",\n\t39: \"destination address required\",\n\t40: \"message too long\",\n\t41: \"protocol wrong type for socket\",\n\t42: \"protocol option not available\",\n\t43: \"protocol not supported\",\n\t44: \"socket type not supported\",\n\t45: \"operation not supported\",\n\t46: \"protocol family not supported\",\n\t47: \"address family not supported by protocol family\",\n\t48: \"address already in use\",\n\t49: \"can't assign requested address\",\n\t50: \"network is down\",\n\t51: \"network is unreachable\",\n\t52: \"network dropped connection on reset\",\n\t53: \"software caused connection abort\",\n\t54: \"connection reset by peer\",\n\t55: \"no buffer space available\",\n\t56: \"socket is already connected\",\n\t57: \"socket is not connected\",\n\t58: \"can't send after socket shutdown\",\n\t59: \"too many references: can't splice\",\n\t60: \"connection timed out\",\n\t61: \"connection refused\",\n\t62: \"too many levels of symbolic links\",\n\t63: \"file name too long\",\n\t64: \"host is down\",\n\t65: \"no route to host\",\n\t66: \"directory not empty\",\n\t67: \"too many processes\",\n\t68: \"too many users\",\n\t69: \"disc quota exceeded\",\n\t70: \"stale NFS file handle\",\n\t71: \"too many levels of remote in path\",\n\t72: \"RPC struct is bad\",\n\t73: \"RPC version wrong\",\n\t74: \"RPC prog. not avail\",\n\t75: \"program version wrong\",\n\t76: \"bad procedure for program\",\n\t77: \"no locks available\",\n\t78: \"function not implemented\",\n\t79: \"inappropriate file type or format\",\n\t80: \"authentication error\",\n\t81: \"need authenticator\",\n\t82: \"identifier removed\",\n\t83: \"no message of desired type\",\n\t84: \"value too large to be stored in data type\",\n\t85: \"illegal byte sequence\",\n\t86: \"not supported\",\n\t87: \"operation Canceled\",\n\t88: \"bad or Corrupt message\",\n\t89: \"no message available\",\n\t90: \"no STREAM resources\",\n\t91: \"not a STREAM\",\n\t92: \"STREAM ioctl timeout\",\n\t93: \"attribute not found\",\n\t94: \"multihop attempted\",\n\t95: \"link has been severed\",\n\t96: \"protocol error\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"stopped (signal)\",\n\t18: \"stopped\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n\t32: \"power fail/restart\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,netbsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_ARP                            = 0x1c\n\tAF_BLUETOOTH                      = 0x1f\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x20\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x18\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x23\n\tAF_MPLS                           = 0x21\n\tAF_NATM                           = 0x1b\n\tAF_NS                             = 0x6\n\tAF_OROUTE                         = 0x11\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x22\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tARPHRD_ARCNET                     = 0x7\n\tARPHRD_ETHER                      = 0x1\n\tARPHRD_FRELAY                     = 0xf\n\tARPHRD_IEEE1394                   = 0x18\n\tARPHRD_IEEE802                    = 0x6\n\tARPHRD_STRIP                      = 0x17\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB460800                           = 0x70800\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB921600                           = 0xe1000\n\tB9600                             = 0x2580\n\tBIOCFEEDBACK                      = 0x8004427d\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc0104277\n\tBIOCGETIF                         = 0x4090426b\n\tBIOCGFEEDBACK                     = 0x4004427c\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRTIMEOUT                     = 0x4010427b\n\tBIOCGSEESENT                      = 0x40044278\n\tBIOCGSTATS                        = 0x4080426f\n\tBIOCGSTATSOLD                     = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044276\n\tBIOCSETF                          = 0x80104267\n\tBIOCSETIF                         = 0x8090426c\n\tBIOCSFEEDBACK                     = 0x8004427d\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRTIMEOUT                     = 0x8010427a\n\tBIOCSSEESENT                      = 0x80044279\n\tBIOCSTCPF                         = 0x80104272\n\tBIOCSUDPF                         = 0x80104273\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x8\n\tBPF_ALIGNMENT32                   = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DFLTBUFSIZE                   = 0x100000\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x1000000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLONE_CSIGNAL                     = 0xff\n\tCLONE_FILES                       = 0x400\n\tCLONE_FS                          = 0x200\n\tCLONE_PID                         = 0x1000\n\tCLONE_PTRACE                      = 0x2000\n\tCLONE_SIGHAND                     = 0x800\n\tCLONE_VFORK                       = 0x4000\n\tCLONE_VM                          = 0x100\n\tCREAD                             = 0x800\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tCTL_QUERY                         = -0x2\n\tDIOCBSFLUSH                       = 0x20006478\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HDLC                          = 0x10\n\tDLT_HHDLC                         = 0x79\n\tDLT_HIPPI                         = 0xf\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0xe\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RAWAF_MASK                    = 0x2240000\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xd\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEMUL_LINUX                        = 0x1\n\tEMUL_LINUX32                      = 0x5\n\tEMUL_MAXID                        = 0x6\n\tETHERCAP_JUMBO_MTU                = 0x4\n\tETHERCAP_VLAN_HWTAGGING           = 0x2\n\tETHERCAP_VLAN_MTU                 = 0x1\n\tETHERMIN                          = 0x2e\n\tETHERMTU                          = 0x5dc\n\tETHERMTU_JUMBO                    = 0x2328\n\tETHERTYPE_8023                    = 0x4\n\tETHERTYPE_AARP                    = 0x80f3\n\tETHERTYPE_ACCTON                  = 0x8390\n\tETHERTYPE_AEONIC                  = 0x8036\n\tETHERTYPE_ALPHA                   = 0x814a\n\tETHERTYPE_AMBER                   = 0x6008\n\tETHERTYPE_AMOEBA                  = 0x8145\n\tETHERTYPE_APOLLO                  = 0x80f7\n\tETHERTYPE_APOLLODOMAIN            = 0x8019\n\tETHERTYPE_APPLETALK               = 0x809b\n\tETHERTYPE_APPLITEK                = 0x80c7\n\tETHERTYPE_ARGONAUT                = 0x803a\n\tETHERTYPE_ARP                     = 0x806\n\tETHERTYPE_AT                      = 0x809b\n\tETHERTYPE_ATALK                   = 0x809b\n\tETHERTYPE_ATOMIC                  = 0x86df\n\tETHERTYPE_ATT                     = 0x8069\n\tETHERTYPE_ATTSTANFORD             = 0x8008\n\tETHERTYPE_AUTOPHON                = 0x806a\n\tETHERTYPE_AXIS                    = 0x8856\n\tETHERTYPE_BCLOOP                  = 0x9003\n\tETHERTYPE_BOFL                    = 0x8102\n\tETHERTYPE_CABLETRON               = 0x7034\n\tETHERTYPE_CHAOS                   = 0x804\n\tETHERTYPE_COMDESIGN               = 0x806c\n\tETHERTYPE_COMPUGRAPHIC            = 0x806d\n\tETHERTYPE_COUNTERPOINT            = 0x8062\n\tETHERTYPE_CRONUS                  = 0x8004\n\tETHERTYPE_CRONUSVLN               = 0x8003\n\tETHERTYPE_DCA                     = 0x1234\n\tETHERTYPE_DDE                     = 0x807b\n\tETHERTYPE_DEBNI                   = 0xaaaa\n\tETHERTYPE_DECAM                   = 0x8048\n\tETHERTYPE_DECCUST                 = 0x6006\n\tETHERTYPE_DECDIAG                 = 0x6005\n\tETHERTYPE_DECDNS                  = 0x803c\n\tETHERTYPE_DECDTS                  = 0x803e\n\tETHERTYPE_DECEXPER                = 0x6000\n\tETHERTYPE_DECLAST                 = 0x8041\n\tETHERTYPE_DECLTM                  = 0x803f\n\tETHERTYPE_DECMUMPS                = 0x6009\n\tETHERTYPE_DECNETBIOS              = 0x8040\n\tETHERTYPE_DELTACON                = 0x86de\n\tETHERTYPE_DIDDLE                  = 0x4321\n\tETHERTYPE_DLOG1                   = 0x660\n\tETHERTYPE_DLOG2                   = 0x661\n\tETHERTYPE_DN                      = 0x6003\n\tETHERTYPE_DOGFIGHT                = 0x1989\n\tETHERTYPE_DSMD                    = 0x8039\n\tETHERTYPE_ECMA                    = 0x803\n\tETHERTYPE_ENCRYPT                 = 0x803d\n\tETHERTYPE_ES                      = 0x805d\n\tETHERTYPE_EXCELAN                 = 0x8010\n\tETHERTYPE_EXPERDATA               = 0x8049\n\tETHERTYPE_FLIP                    = 0x8146\n\tETHERTYPE_FLOWCONTROL             = 0x8808\n\tETHERTYPE_FRARP                   = 0x808\n\tETHERTYPE_GENDYN                  = 0x8068\n\tETHERTYPE_HAYES                   = 0x8130\n\tETHERTYPE_HIPPI_FP                = 0x8180\n\tETHERTYPE_HITACHI                 = 0x8820\n\tETHERTYPE_HP                      = 0x8005\n\tETHERTYPE_IEEEPUP                 = 0xa00\n\tETHERTYPE_IEEEPUPAT               = 0xa01\n\tETHERTYPE_IMLBL                   = 0x4c42\n\tETHERTYPE_IMLBLDIAG               = 0x424c\n\tETHERTYPE_IP                      = 0x800\n\tETHERTYPE_IPAS                    = 0x876c\n\tETHERTYPE_IPV6                    = 0x86dd\n\tETHERTYPE_IPX                     = 0x8137\n\tETHERTYPE_IPXNEW                  = 0x8037\n\tETHERTYPE_KALPANA                 = 0x8582\n\tETHERTYPE_LANBRIDGE               = 0x8038\n\tETHERTYPE_LANPROBE                = 0x8888\n\tETHERTYPE_LAT                     = 0x6004\n\tETHERTYPE_LBACK                   = 0x9000\n\tETHERTYPE_LITTLE                  = 0x8060\n\tETHERTYPE_LOGICRAFT               = 0x8148\n\tETHERTYPE_LOOPBACK                = 0x9000\n\tETHERTYPE_MATRA                   = 0x807a\n\tETHERTYPE_MAX                     = 0xffff\n\tETHERTYPE_MERIT                   = 0x807c\n\tETHERTYPE_MICP                    = 0x873a\n\tETHERTYPE_MOPDL                   = 0x6001\n\tETHERTYPE_MOPRC                   = 0x6002\n\tETHERTYPE_MOTOROLA                = 0x818d\n\tETHERTYPE_MPLS                    = 0x8847\n\tETHERTYPE_MPLS_MCAST              = 0x8848\n\tETHERTYPE_MUMPS                   = 0x813f\n\tETHERTYPE_NBPCC                   = 0x3c04\n\tETHERTYPE_NBPCLAIM                = 0x3c09\n\tETHERTYPE_NBPCLREQ                = 0x3c05\n\tETHERTYPE_NBPCLRSP                = 0x3c06\n\tETHERTYPE_NBPCREQ                 = 0x3c02\n\tETHERTYPE_NBPCRSP                 = 0x3c03\n\tETHERTYPE_NBPDG                   = 0x3c07\n\tETHERTYPE_NBPDGB                  = 0x3c08\n\tETHERTYPE_NBPDLTE                 = 0x3c0a\n\tETHERTYPE_NBPRAR                  = 0x3c0c\n\tETHERTYPE_NBPRAS                  = 0x3c0b\n\tETHERTYPE_NBPRST                  = 0x3c0d\n\tETHERTYPE_NBPSCD                  = 0x3c01\n\tETHERTYPE_NBPVCD                  = 0x3c00\n\tETHERTYPE_NBS                     = 0x802\n\tETHERTYPE_NCD                     = 0x8149\n\tETHERTYPE_NESTAR                  = 0x8006\n\tETHERTYPE_NETBEUI                 = 0x8191\n\tETHERTYPE_NOVELL                  = 0x8138\n\tETHERTYPE_NS                      = 0x600\n\tETHERTYPE_NSAT                    = 0x601\n\tETHERTYPE_NSCOMPAT                = 0x807\n\tETHERTYPE_NTRAILER                = 0x10\n\tETHERTYPE_OS9                     = 0x7007\n\tETHERTYPE_OS9NET                  = 0x7009\n\tETHERTYPE_PACER                   = 0x80c6\n\tETHERTYPE_PAE                     = 0x888e\n\tETHERTYPE_PCS                     = 0x4242\n\tETHERTYPE_PLANNING                = 0x8044\n\tETHERTYPE_PPP                     = 0x880b\n\tETHERTYPE_PPPOE                   = 0x8864\n\tETHERTYPE_PPPOEDISC               = 0x8863\n\tETHERTYPE_PRIMENTS                = 0x7031\n\tETHERTYPE_PUP                     = 0x200\n\tETHERTYPE_PUPAT                   = 0x200\n\tETHERTYPE_RACAL                   = 0x7030\n\tETHERTYPE_RATIONAL                = 0x8150\n\tETHERTYPE_RAWFR                   = 0x6559\n\tETHERTYPE_RCL                     = 0x1995\n\tETHERTYPE_RDP                     = 0x8739\n\tETHERTYPE_RETIX                   = 0x80f2\n\tETHERTYPE_REVARP                  = 0x8035\n\tETHERTYPE_SCA                     = 0x6007\n\tETHERTYPE_SECTRA                  = 0x86db\n\tETHERTYPE_SECUREDATA              = 0x876d\n\tETHERTYPE_SGITW                   = 0x817e\n\tETHERTYPE_SG_BOUNCE               = 0x8016\n\tETHERTYPE_SG_DIAG                 = 0x8013\n\tETHERTYPE_SG_NETGAMES             = 0x8014\n\tETHERTYPE_SG_RESV                 = 0x8015\n\tETHERTYPE_SIMNET                  = 0x5208\n\tETHERTYPE_SLOWPROTOCOLS           = 0x8809\n\tETHERTYPE_SNA                     = 0x80d5\n\tETHERTYPE_SNMP                    = 0x814c\n\tETHERTYPE_SONIX                   = 0xfaf5\n\tETHERTYPE_SPIDER                  = 0x809f\n\tETHERTYPE_SPRITE                  = 0x500\n\tETHERTYPE_STP                     = 0x8181\n\tETHERTYPE_TALARIS                 = 0x812b\n\tETHERTYPE_TALARISMC               = 0x852b\n\tETHERTYPE_TCPCOMP                 = 0x876b\n\tETHERTYPE_TCPSM                   = 0x9002\n\tETHERTYPE_TEC                     = 0x814f\n\tETHERTYPE_TIGAN                   = 0x802f\n\tETHERTYPE_TRAIL                   = 0x1000\n\tETHERTYPE_TRANSETHER              = 0x6558\n\tETHERTYPE_TYMSHARE                = 0x802e\n\tETHERTYPE_UBBST                   = 0x7005\n\tETHERTYPE_UBDEBUG                 = 0x900\n\tETHERTYPE_UBDIAGLOOP              = 0x7002\n\tETHERTYPE_UBDL                    = 0x7000\n\tETHERTYPE_UBNIU                   = 0x7001\n\tETHERTYPE_UBNMC                   = 0x7003\n\tETHERTYPE_VALID                   = 0x1600\n\tETHERTYPE_VARIAN                  = 0x80dd\n\tETHERTYPE_VAXELN                  = 0x803b\n\tETHERTYPE_VEECO                   = 0x8067\n\tETHERTYPE_VEXP                    = 0x805b\n\tETHERTYPE_VGLAB                   = 0x8131\n\tETHERTYPE_VINES                   = 0xbad\n\tETHERTYPE_VINESECHO               = 0xbaf\n\tETHERTYPE_VINESLOOP               = 0xbae\n\tETHERTYPE_VITAL                   = 0xff00\n\tETHERTYPE_VLAN                    = 0x8100\n\tETHERTYPE_VLTLMAN                 = 0x8080\n\tETHERTYPE_VPROD                   = 0x805c\n\tETHERTYPE_VURESERVED              = 0x8147\n\tETHERTYPE_WATERLOO                = 0x8130\n\tETHERTYPE_WELLFLEET               = 0x8103\n\tETHERTYPE_X25                     = 0x805\n\tETHERTYPE_X75                     = 0x801\n\tETHERTYPE_XNSSM                   = 0x9001\n\tETHERTYPE_XTP                     = 0x817d\n\tETHER_ADDR_LEN                    = 0x6\n\tETHER_CRC_LEN                     = 0x4\n\tETHER_CRC_POLY_BE                 = 0x4c11db6\n\tETHER_CRC_POLY_LE                 = 0xedb88320\n\tETHER_HDR_LEN                     = 0xe\n\tETHER_MAX_LEN                     = 0x5ee\n\tETHER_MAX_LEN_JUMBO               = 0x233a\n\tETHER_MIN_LEN                     = 0x40\n\tETHER_PPPOE_ENCAP_LEN             = 0x8\n\tETHER_TYPE_LEN                    = 0x2\n\tETHER_VLAN_ENCAP_LEN              = 0x4\n\tEVFILT_AIO                        = 0x2\n\tEVFILT_PROC                       = 0x4\n\tEVFILT_READ                       = 0x0\n\tEVFILT_SIGNAL                     = 0x5\n\tEVFILT_SYSCOUNT                   = 0x7\n\tEVFILT_TIMER                      = 0x6\n\tEVFILT_VNODE                      = 0x3\n\tEVFILT_WRITE                      = 0x1\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x100\n\tFLUSHO                            = 0x800000\n\tF_CLOSEM                          = 0xa\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0xc\n\tF_FSCTL                           = -0x80000000\n\tF_FSDIRMASK                       = 0x70000000\n\tF_FSIN                            = 0x10000000\n\tF_FSINOUT                         = 0x30000000\n\tF_FSOUT                           = 0x20000000\n\tF_FSPRIV                          = 0x8000\n\tF_FSVOID                          = 0x40000000\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETNOSIGPIPE                    = 0xd\n\tF_GETOWN                          = 0x5\n\tF_MAXFD                           = 0xb\n\tF_OK                              = 0x0\n\tF_PARAM_MASK                      = 0xfff\n\tF_PARAM_MAX                       = 0xfff\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETNOSIGPIPE                    = 0xe\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFA_ROUTE                         = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x8f52\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf8\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DOCSCABLEUPSTREAMCHANNEL      = 0xcd\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ECONET                        = 0xce\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf2\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INFINIBAND                    = 0xc7\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LINEGROUP                     = 0xd2\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_PON155                        = 0xcf\n\tIFT_PON622                        = 0xd0\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPATM                       = 0xc5\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_Q2931                         = 0xc9\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SIPSIG                        = 0xcc\n\tIFT_SIPTG                         = 0xcb\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xd7\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TELINK                        = 0xc8\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VIRTUALTG                     = 0xca\n\tIFT_VOICEDID                      = 0xd5\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEEMFGD                    = 0xd3\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFGDEANA                  = 0xd4\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERCABLE                = 0xc6\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IPV6_ICMP                 = 0x3a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VRRP                      = 0x70\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_EF                             = 0x8000\n\tIP_ERRORMTU                       = 0x15\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x16\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0x14\n\tIP_MF                             = 0x2000\n\tIP_MINFRAGSIZE                    = 0x45\n\tIP_MINTTL                         = 0x18\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTTL                        = 0x17\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x6\n\tMADV_NORMAL                       = 0x0\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SPACEAVAIL                   = 0x5\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ALIGNMENT_16MB                = 0x18000000\n\tMAP_ALIGNMENT_1TB                 = 0x28000000\n\tMAP_ALIGNMENT_256TB               = 0x30000000\n\tMAP_ALIGNMENT_4GB                 = 0x20000000\n\tMAP_ALIGNMENT_64KB                = 0x10000000\n\tMAP_ALIGNMENT_64PB                = 0x38000000\n\tMAP_ALIGNMENT_MASK                = -0x1000000\n\tMAP_ALIGNMENT_SHIFT               = 0x18\n\tMAP_ANON                          = 0x1000\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_INHERIT                       = 0x80\n\tMAP_INHERIT_COPY                  = 0x1\n\tMAP_INHERIT_DEFAULT               = 0x1\n\tMAP_INHERIT_DONATE_COPY           = 0x3\n\tMAP_INHERIT_NONE                  = 0x2\n\tMAP_INHERIT_SHARE                 = 0x0\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_SHARED                        = 0x1\n\tMAP_STACK                         = 0x2000\n\tMAP_TRYFIXED                      = 0x400\n\tMAP_WIRED                         = 0x800\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMSG_BCAST                         = 0x100\n\tMSG_CMSG_CLOEXEC                  = 0x800\n\tMSG_CONTROLMBUF                   = 0x2000000\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOR                           = 0x8\n\tMSG_IOVUSRSPACE                   = 0x4000000\n\tMSG_LENUSRSPACE                   = 0x8000000\n\tMSG_MCAST                         = 0x200\n\tMSG_NAMEMBUF                      = 0x1000000\n\tMSG_NBIO                          = 0x1000\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_TRUNC                         = 0x10\n\tMSG_USERFLAGS                     = 0xffffff\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x2\n\tMS_SYNC                           = 0x4\n\tNAME_MAX                          = 0x1ff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x5\n\tNET_RT_MAXID                      = 0x6\n\tNET_RT_OIFLIST                    = 0x4\n\tNET_RT_OOIFLIST                   = 0x3\n\tNOFLSH                            = 0x80000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFIOGETBMAP                       = 0xc004667a\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tO_ACCMODE                         = 0x3\n\tO_ALT_IO                          = 0x40000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x400000\n\tO_CREAT                           = 0x200\n\tO_DIRECT                          = 0x80000\n\tO_DIRECTORY                       = 0x200000\n\tO_DSYNC                           = 0x10000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_NOSIGPIPE                       = 0x1000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_RSYNC                           = 0x20000\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPRI_IOFLUSH                       = 0x7c\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tRLIMIT_AS                         = 0xa\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x9\n\tRTAX_NETMASK                      = 0x2\n\tRTAX_TAG                          = 0x8\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTA_TAG                           = 0x100\n\tRTF_ANNOUNCE                      = 0x20000\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_CLONED                        = 0x2000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_MASK                          = 0x80\n\tRTF_MODIFIED                      = 0x20\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_REJECT                        = 0x8\n\tRTF_SRC                           = 0x10000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_CHGADDR                       = 0x15\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_GET                           = 0x4\n\tRTM_IEEE80211                     = 0x11\n\tRTM_IFANNOUNCE                    = 0x10\n\tRTM_IFINFO                        = 0x14\n\tRTM_LLINFO_UPD                    = 0x13\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_OIFINFO                       = 0xf\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_OOIFINFO                      = 0xe\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_SETGATE                       = 0x12\n\tRTM_VERSION                       = 0x4\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x4\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x8\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80906931\n\tSIOCADDRT                         = 0x8038720a\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCALIFADDR                      = 0x8118691c\n\tSIOCATMARK                        = 0x40047307\n\tSIOCDELMULTI                      = 0x80906932\n\tSIOCDELRT                         = 0x8038720b\n\tSIOCDIFADDR                       = 0x80906919\n\tSIOCDIFPHYADDR                    = 0x80906949\n\tSIOCDLIFADDR                      = 0x8118691e\n\tSIOCGDRVSPEC                      = 0xc028697b\n\tSIOCGETPFSYNC                     = 0xc09069f8\n\tSIOCGETSGCNT                      = 0xc0207534\n\tSIOCGETVIFCNT                     = 0xc0287533\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0906921\n\tSIOCGIFADDRPREF                   = 0xc0986920\n\tSIOCGIFALIAS                      = 0xc040691b\n\tSIOCGIFBRDADDR                    = 0xc0906923\n\tSIOCGIFCAP                        = 0xc0206976\n\tSIOCGIFCONF                       = 0xc0106926\n\tSIOCGIFDATA                       = 0xc0986985\n\tSIOCGIFDLT                        = 0xc0906977\n\tSIOCGIFDSTADDR                    = 0xc0906922\n\tSIOCGIFFLAGS                      = 0xc0906911\n\tSIOCGIFGENERIC                    = 0xc090693a\n\tSIOCGIFMEDIA                      = 0xc0306936\n\tSIOCGIFMETRIC                     = 0xc0906917\n\tSIOCGIFMTU                        = 0xc090697e\n\tSIOCGIFNETMASK                    = 0xc0906925\n\tSIOCGIFPDSTADDR                   = 0xc0906948\n\tSIOCGIFPSRCADDR                   = 0xc0906947\n\tSIOCGLIFADDR                      = 0xc118691d\n\tSIOCGLIFPHYADDR                   = 0xc118694b\n\tSIOCGLINKSTR                      = 0xc0286987\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGVH                           = 0xc0906983\n\tSIOCIFCREATE                      = 0x8090697a\n\tSIOCIFDESTROY                     = 0x80906979\n\tSIOCIFGCLONERS                    = 0xc0106978\n\tSIOCINITIFADDR                    = 0xc0706984\n\tSIOCSDRVSPEC                      = 0x8028697b\n\tSIOCSETPFSYNC                     = 0x809069f7\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8090690c\n\tSIOCSIFADDRPREF                   = 0x8098691f\n\tSIOCSIFBRDADDR                    = 0x80906913\n\tSIOCSIFCAP                        = 0x80206975\n\tSIOCSIFDSTADDR                    = 0x8090690e\n\tSIOCSIFFLAGS                      = 0x80906910\n\tSIOCSIFGENERIC                    = 0x80906939\n\tSIOCSIFMEDIA                      = 0xc0906935\n\tSIOCSIFMETRIC                     = 0x80906918\n\tSIOCSIFMTU                        = 0x8090697f\n\tSIOCSIFNETMASK                    = 0x80906916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSLIFPHYADDR                   = 0x8118694a\n\tSIOCSLINKSTR                      = 0x80286988\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSIOCSVH                           = 0xc0906982\n\tSIOCZIFDATA                       = 0xc0986986\n\tSOCK_CLOEXEC                      = 0x10000000\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_FLAGS_MASK                   = 0xf0000000\n\tSOCK_NONBLOCK                     = 0x20000000\n\tSOCK_NOSIGPIPE                    = 0x40000000\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_ACCEPTFILTER                   = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NOHEADER                       = 0x100a\n\tSO_NOSIGPIPE                      = 0x800\n\tSO_OOBINLINE                      = 0x100\n\tSO_OVERFLOWED                     = 0x1009\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x100c\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x100b\n\tSO_TIMESTAMP                      = 0x2000\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tSYSCTL_VERSION                    = 0x1000000\n\tSYSCTL_VERS_0                     = 0x0\n\tSYSCTL_VERS_1                     = 0x1000000\n\tSYSCTL_VERS_MASK                  = 0xff000000\n\tS_ARCH1                           = 0x10000\n\tS_ARCH2                           = 0x20000\n\tS_BLKSIZE                         = 0x200\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tS_LOGIN_SET                       = 0x1\n\tTCIFLUSH                          = 0x1\n\tTCIOFLUSH                         = 0x3\n\tTCOFLUSH                          = 0x2\n\tTCP_CONGCTL                       = 0x20\n\tTCP_KEEPCNT                       = 0x6\n\tTCP_KEEPIDLE                      = 0x3\n\tTCP_KEEPINIT                      = 0x7\n\tTCP_KEEPINTVL                     = 0x5\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MD5SIG                        = 0x10\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x218\n\tTCP_NODELAY                       = 0x1\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x40107458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLAG_CDTRCTS                  = 0x10\n\tTIOCFLAG_CLOCAL                   = 0x2\n\tTIOCFLAG_CRTSCTS                  = 0x4\n\tTIOCFLAG_MDMBUF                   = 0x8\n\tTIOCFLAG_SOFTCAR                  = 0x1\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGFLAGS                        = 0x4004745d\n\tTIOCGLINED                        = 0x40207442\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGQSIZE                        = 0x40047481\n\tTIOCGRANTPT                       = 0x20007447\n\tTIOCGSID                          = 0x40047463\n\tTIOCGSIZE                         = 0x40087468\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTMGET                        = 0x40287446\n\tTIOCPTSNAME                       = 0x40287448\n\tTIOCRCVFRAME                      = 0x80087445\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSFLAGS                        = 0x8004745c\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSLINED                        = 0x80207443\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSQSIZE                        = 0x80047480\n\tTIOCSSIZE                         = 0x80087467\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x80047465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCUCNTL                         = 0x80047466\n\tTIOCXMTFRAME                      = 0x80087444\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWALL                              = 0x8\n\tWALLSIG                           = 0x8\n\tWALTSIG                           = 0x4\n\tWCLONE                            = 0x4\n\tWCOREFLAG                         = 0x80\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x10000\n\tWNOZOMBIE                         = 0x20000\n\tWOPTSCHECKED                      = 0x40000\n\tWSTOPPED                          = 0x7f\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x58)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x57)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x55)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x60)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5e)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x59)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x5a)\n\tENOSTR          = syscall.Errno(0x5b)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x56)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x60)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x5c)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x20)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:  \"operation not permitted\",\n\t2:  \"no such file or directory\",\n\t3:  \"no such process\",\n\t4:  \"interrupted system call\",\n\t5:  \"input/output error\",\n\t6:  \"device not configured\",\n\t7:  \"argument list too long\",\n\t8:  \"exec format error\",\n\t9:  \"bad file descriptor\",\n\t10: \"no child processes\",\n\t11: \"resource deadlock avoided\",\n\t12: \"cannot allocate memory\",\n\t13: \"permission denied\",\n\t14: \"bad address\",\n\t15: \"block device required\",\n\t16: \"device busy\",\n\t17: \"file exists\",\n\t18: \"cross-device link\",\n\t19: \"operation not supported by device\",\n\t20: \"not a directory\",\n\t21: \"is a directory\",\n\t22: \"invalid argument\",\n\t23: \"too many open files in system\",\n\t24: \"too many open files\",\n\t25: \"inappropriate ioctl for device\",\n\t26: \"text file busy\",\n\t27: \"file too large\",\n\t28: \"no space left on device\",\n\t29: \"illegal seek\",\n\t30: \"read-only file system\",\n\t31: \"too many links\",\n\t32: \"broken pipe\",\n\t33: \"numerical argument out of domain\",\n\t34: \"result too large or too small\",\n\t35: \"resource temporarily unavailable\",\n\t36: \"operation now in progress\",\n\t37: \"operation already in progress\",\n\t38: \"socket operation on non-socket\",\n\t39: \"destination address required\",\n\t40: \"message too long\",\n\t41: \"protocol wrong type for socket\",\n\t42: \"protocol option not available\",\n\t43: \"protocol not supported\",\n\t44: \"socket type not supported\",\n\t45: \"operation not supported\",\n\t46: \"protocol family not supported\",\n\t47: \"address family not supported by protocol family\",\n\t48: \"address already in use\",\n\t49: \"can't assign requested address\",\n\t50: \"network is down\",\n\t51: \"network is unreachable\",\n\t52: \"network dropped connection on reset\",\n\t53: \"software caused connection abort\",\n\t54: \"connection reset by peer\",\n\t55: \"no buffer space available\",\n\t56: \"socket is already connected\",\n\t57: \"socket is not connected\",\n\t58: \"can't send after socket shutdown\",\n\t59: \"too many references: can't splice\",\n\t60: \"connection timed out\",\n\t61: \"connection refused\",\n\t62: \"too many levels of symbolic links\",\n\t63: \"file name too long\",\n\t64: \"host is down\",\n\t65: \"no route to host\",\n\t66: \"directory not empty\",\n\t67: \"too many processes\",\n\t68: \"too many users\",\n\t69: \"disc quota exceeded\",\n\t70: \"stale NFS file handle\",\n\t71: \"too many levels of remote in path\",\n\t72: \"RPC struct is bad\",\n\t73: \"RPC version wrong\",\n\t74: \"RPC prog. not avail\",\n\t75: \"program version wrong\",\n\t76: \"bad procedure for program\",\n\t77: \"no locks available\",\n\t78: \"function not implemented\",\n\t79: \"inappropriate file type or format\",\n\t80: \"authentication error\",\n\t81: \"need authenticator\",\n\t82: \"identifier removed\",\n\t83: \"no message of desired type\",\n\t84: \"value too large to be stored in data type\",\n\t85: \"illegal byte sequence\",\n\t86: \"not supported\",\n\t87: \"operation Canceled\",\n\t88: \"bad or Corrupt message\",\n\t89: \"no message available\",\n\t90: \"no STREAM resources\",\n\t91: \"not a STREAM\",\n\t92: \"STREAM ioctl timeout\",\n\t93: \"attribute not found\",\n\t94: \"multihop attempted\",\n\t95: \"link has been severed\",\n\t96: \"protocol error\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"stopped (signal)\",\n\t18: \"stopped\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n\t32: \"power fail/restart\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go",
    "content": "// mkerrors.sh -marm\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,netbsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -marm _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_ARP                            = 0x1c\n\tAF_BLUETOOTH                      = 0x1f\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x20\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x18\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x23\n\tAF_MPLS                           = 0x21\n\tAF_NATM                           = 0x1b\n\tAF_NS                             = 0x6\n\tAF_OROUTE                         = 0x11\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x22\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tARPHRD_ARCNET                     = 0x7\n\tARPHRD_ETHER                      = 0x1\n\tARPHRD_FRELAY                     = 0xf\n\tARPHRD_IEEE1394                   = 0x18\n\tARPHRD_IEEE802                    = 0x6\n\tARPHRD_STRIP                      = 0x17\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB460800                           = 0x70800\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB921600                           = 0xe1000\n\tB9600                             = 0x2580\n\tBIOCFEEDBACK                      = 0x8004427d\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc0084277\n\tBIOCGETIF                         = 0x4090426b\n\tBIOCGFEEDBACK                     = 0x4004427c\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRTIMEOUT                     = 0x400c427b\n\tBIOCGSEESENT                      = 0x40044278\n\tBIOCGSTATS                        = 0x4080426f\n\tBIOCGSTATSOLD                     = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044276\n\tBIOCSETF                          = 0x80084267\n\tBIOCSETIF                         = 0x8090426c\n\tBIOCSFEEDBACK                     = 0x8004427d\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRTIMEOUT                     = 0x800c427a\n\tBIOCSSEESENT                      = 0x80044279\n\tBIOCSTCPF                         = 0x80084272\n\tBIOCSUDPF                         = 0x80084273\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALIGNMENT32                   = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DFLTBUFSIZE                   = 0x100000\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x1000000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCREAD                             = 0x800\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tCTL_QUERY                         = -0x2\n\tDIOCBSFLUSH                       = 0x20006478\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HDLC                          = 0x10\n\tDLT_HHDLC                         = 0x79\n\tDLT_HIPPI                         = 0xf\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0xe\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RAWAF_MASK                    = 0x2240000\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xd\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEMUL_LINUX                        = 0x1\n\tEMUL_LINUX32                      = 0x5\n\tEMUL_MAXID                        = 0x6\n\tETHERCAP_JUMBO_MTU                = 0x4\n\tETHERCAP_VLAN_HWTAGGING           = 0x2\n\tETHERCAP_VLAN_MTU                 = 0x1\n\tETHERMIN                          = 0x2e\n\tETHERMTU                          = 0x5dc\n\tETHERMTU_JUMBO                    = 0x2328\n\tETHERTYPE_8023                    = 0x4\n\tETHERTYPE_AARP                    = 0x80f3\n\tETHERTYPE_ACCTON                  = 0x8390\n\tETHERTYPE_AEONIC                  = 0x8036\n\tETHERTYPE_ALPHA                   = 0x814a\n\tETHERTYPE_AMBER                   = 0x6008\n\tETHERTYPE_AMOEBA                  = 0x8145\n\tETHERTYPE_APOLLO                  = 0x80f7\n\tETHERTYPE_APOLLODOMAIN            = 0x8019\n\tETHERTYPE_APPLETALK               = 0x809b\n\tETHERTYPE_APPLITEK                = 0x80c7\n\tETHERTYPE_ARGONAUT                = 0x803a\n\tETHERTYPE_ARP                     = 0x806\n\tETHERTYPE_AT                      = 0x809b\n\tETHERTYPE_ATALK                   = 0x809b\n\tETHERTYPE_ATOMIC                  = 0x86df\n\tETHERTYPE_ATT                     = 0x8069\n\tETHERTYPE_ATTSTANFORD             = 0x8008\n\tETHERTYPE_AUTOPHON                = 0x806a\n\tETHERTYPE_AXIS                    = 0x8856\n\tETHERTYPE_BCLOOP                  = 0x9003\n\tETHERTYPE_BOFL                    = 0x8102\n\tETHERTYPE_CABLETRON               = 0x7034\n\tETHERTYPE_CHAOS                   = 0x804\n\tETHERTYPE_COMDESIGN               = 0x806c\n\tETHERTYPE_COMPUGRAPHIC            = 0x806d\n\tETHERTYPE_COUNTERPOINT            = 0x8062\n\tETHERTYPE_CRONUS                  = 0x8004\n\tETHERTYPE_CRONUSVLN               = 0x8003\n\tETHERTYPE_DCA                     = 0x1234\n\tETHERTYPE_DDE                     = 0x807b\n\tETHERTYPE_DEBNI                   = 0xaaaa\n\tETHERTYPE_DECAM                   = 0x8048\n\tETHERTYPE_DECCUST                 = 0x6006\n\tETHERTYPE_DECDIAG                 = 0x6005\n\tETHERTYPE_DECDNS                  = 0x803c\n\tETHERTYPE_DECDTS                  = 0x803e\n\tETHERTYPE_DECEXPER                = 0x6000\n\tETHERTYPE_DECLAST                 = 0x8041\n\tETHERTYPE_DECLTM                  = 0x803f\n\tETHERTYPE_DECMUMPS                = 0x6009\n\tETHERTYPE_DECNETBIOS              = 0x8040\n\tETHERTYPE_DELTACON                = 0x86de\n\tETHERTYPE_DIDDLE                  = 0x4321\n\tETHERTYPE_DLOG1                   = 0x660\n\tETHERTYPE_DLOG2                   = 0x661\n\tETHERTYPE_DN                      = 0x6003\n\tETHERTYPE_DOGFIGHT                = 0x1989\n\tETHERTYPE_DSMD                    = 0x8039\n\tETHERTYPE_ECMA                    = 0x803\n\tETHERTYPE_ENCRYPT                 = 0x803d\n\tETHERTYPE_ES                      = 0x805d\n\tETHERTYPE_EXCELAN                 = 0x8010\n\tETHERTYPE_EXPERDATA               = 0x8049\n\tETHERTYPE_FLIP                    = 0x8146\n\tETHERTYPE_FLOWCONTROL             = 0x8808\n\tETHERTYPE_FRARP                   = 0x808\n\tETHERTYPE_GENDYN                  = 0x8068\n\tETHERTYPE_HAYES                   = 0x8130\n\tETHERTYPE_HIPPI_FP                = 0x8180\n\tETHERTYPE_HITACHI                 = 0x8820\n\tETHERTYPE_HP                      = 0x8005\n\tETHERTYPE_IEEEPUP                 = 0xa00\n\tETHERTYPE_IEEEPUPAT               = 0xa01\n\tETHERTYPE_IMLBL                   = 0x4c42\n\tETHERTYPE_IMLBLDIAG               = 0x424c\n\tETHERTYPE_IP                      = 0x800\n\tETHERTYPE_IPAS                    = 0x876c\n\tETHERTYPE_IPV6                    = 0x86dd\n\tETHERTYPE_IPX                     = 0x8137\n\tETHERTYPE_IPXNEW                  = 0x8037\n\tETHERTYPE_KALPANA                 = 0x8582\n\tETHERTYPE_LANBRIDGE               = 0x8038\n\tETHERTYPE_LANPROBE                = 0x8888\n\tETHERTYPE_LAT                     = 0x6004\n\tETHERTYPE_LBACK                   = 0x9000\n\tETHERTYPE_LITTLE                  = 0x8060\n\tETHERTYPE_LOGICRAFT               = 0x8148\n\tETHERTYPE_LOOPBACK                = 0x9000\n\tETHERTYPE_MATRA                   = 0x807a\n\tETHERTYPE_MAX                     = 0xffff\n\tETHERTYPE_MERIT                   = 0x807c\n\tETHERTYPE_MICP                    = 0x873a\n\tETHERTYPE_MOPDL                   = 0x6001\n\tETHERTYPE_MOPRC                   = 0x6002\n\tETHERTYPE_MOTOROLA                = 0x818d\n\tETHERTYPE_MPLS                    = 0x8847\n\tETHERTYPE_MPLS_MCAST              = 0x8848\n\tETHERTYPE_MUMPS                   = 0x813f\n\tETHERTYPE_NBPCC                   = 0x3c04\n\tETHERTYPE_NBPCLAIM                = 0x3c09\n\tETHERTYPE_NBPCLREQ                = 0x3c05\n\tETHERTYPE_NBPCLRSP                = 0x3c06\n\tETHERTYPE_NBPCREQ                 = 0x3c02\n\tETHERTYPE_NBPCRSP                 = 0x3c03\n\tETHERTYPE_NBPDG                   = 0x3c07\n\tETHERTYPE_NBPDGB                  = 0x3c08\n\tETHERTYPE_NBPDLTE                 = 0x3c0a\n\tETHERTYPE_NBPRAR                  = 0x3c0c\n\tETHERTYPE_NBPRAS                  = 0x3c0b\n\tETHERTYPE_NBPRST                  = 0x3c0d\n\tETHERTYPE_NBPSCD                  = 0x3c01\n\tETHERTYPE_NBPVCD                  = 0x3c00\n\tETHERTYPE_NBS                     = 0x802\n\tETHERTYPE_NCD                     = 0x8149\n\tETHERTYPE_NESTAR                  = 0x8006\n\tETHERTYPE_NETBEUI                 = 0x8191\n\tETHERTYPE_NOVELL                  = 0x8138\n\tETHERTYPE_NS                      = 0x600\n\tETHERTYPE_NSAT                    = 0x601\n\tETHERTYPE_NSCOMPAT                = 0x807\n\tETHERTYPE_NTRAILER                = 0x10\n\tETHERTYPE_OS9                     = 0x7007\n\tETHERTYPE_OS9NET                  = 0x7009\n\tETHERTYPE_PACER                   = 0x80c6\n\tETHERTYPE_PAE                     = 0x888e\n\tETHERTYPE_PCS                     = 0x4242\n\tETHERTYPE_PLANNING                = 0x8044\n\tETHERTYPE_PPP                     = 0x880b\n\tETHERTYPE_PPPOE                   = 0x8864\n\tETHERTYPE_PPPOEDISC               = 0x8863\n\tETHERTYPE_PRIMENTS                = 0x7031\n\tETHERTYPE_PUP                     = 0x200\n\tETHERTYPE_PUPAT                   = 0x200\n\tETHERTYPE_RACAL                   = 0x7030\n\tETHERTYPE_RATIONAL                = 0x8150\n\tETHERTYPE_RAWFR                   = 0x6559\n\tETHERTYPE_RCL                     = 0x1995\n\tETHERTYPE_RDP                     = 0x8739\n\tETHERTYPE_RETIX                   = 0x80f2\n\tETHERTYPE_REVARP                  = 0x8035\n\tETHERTYPE_SCA                     = 0x6007\n\tETHERTYPE_SECTRA                  = 0x86db\n\tETHERTYPE_SECUREDATA              = 0x876d\n\tETHERTYPE_SGITW                   = 0x817e\n\tETHERTYPE_SG_BOUNCE               = 0x8016\n\tETHERTYPE_SG_DIAG                 = 0x8013\n\tETHERTYPE_SG_NETGAMES             = 0x8014\n\tETHERTYPE_SG_RESV                 = 0x8015\n\tETHERTYPE_SIMNET                  = 0x5208\n\tETHERTYPE_SLOWPROTOCOLS           = 0x8809\n\tETHERTYPE_SNA                     = 0x80d5\n\tETHERTYPE_SNMP                    = 0x814c\n\tETHERTYPE_SONIX                   = 0xfaf5\n\tETHERTYPE_SPIDER                  = 0x809f\n\tETHERTYPE_SPRITE                  = 0x500\n\tETHERTYPE_STP                     = 0x8181\n\tETHERTYPE_TALARIS                 = 0x812b\n\tETHERTYPE_TALARISMC               = 0x852b\n\tETHERTYPE_TCPCOMP                 = 0x876b\n\tETHERTYPE_TCPSM                   = 0x9002\n\tETHERTYPE_TEC                     = 0x814f\n\tETHERTYPE_TIGAN                   = 0x802f\n\tETHERTYPE_TRAIL                   = 0x1000\n\tETHERTYPE_TRANSETHER              = 0x6558\n\tETHERTYPE_TYMSHARE                = 0x802e\n\tETHERTYPE_UBBST                   = 0x7005\n\tETHERTYPE_UBDEBUG                 = 0x900\n\tETHERTYPE_UBDIAGLOOP              = 0x7002\n\tETHERTYPE_UBDL                    = 0x7000\n\tETHERTYPE_UBNIU                   = 0x7001\n\tETHERTYPE_UBNMC                   = 0x7003\n\tETHERTYPE_VALID                   = 0x1600\n\tETHERTYPE_VARIAN                  = 0x80dd\n\tETHERTYPE_VAXELN                  = 0x803b\n\tETHERTYPE_VEECO                   = 0x8067\n\tETHERTYPE_VEXP                    = 0x805b\n\tETHERTYPE_VGLAB                   = 0x8131\n\tETHERTYPE_VINES                   = 0xbad\n\tETHERTYPE_VINESECHO               = 0xbaf\n\tETHERTYPE_VINESLOOP               = 0xbae\n\tETHERTYPE_VITAL                   = 0xff00\n\tETHERTYPE_VLAN                    = 0x8100\n\tETHERTYPE_VLTLMAN                 = 0x8080\n\tETHERTYPE_VPROD                   = 0x805c\n\tETHERTYPE_VURESERVED              = 0x8147\n\tETHERTYPE_WATERLOO                = 0x8130\n\tETHERTYPE_WELLFLEET               = 0x8103\n\tETHERTYPE_X25                     = 0x805\n\tETHERTYPE_X75                     = 0x801\n\tETHERTYPE_XNSSM                   = 0x9001\n\tETHERTYPE_XTP                     = 0x817d\n\tETHER_ADDR_LEN                    = 0x6\n\tETHER_CRC_LEN                     = 0x4\n\tETHER_CRC_POLY_BE                 = 0x4c11db6\n\tETHER_CRC_POLY_LE                 = 0xedb88320\n\tETHER_HDR_LEN                     = 0xe\n\tETHER_MAX_LEN                     = 0x5ee\n\tETHER_MAX_LEN_JUMBO               = 0x233a\n\tETHER_MIN_LEN                     = 0x40\n\tETHER_PPPOE_ENCAP_LEN             = 0x8\n\tETHER_TYPE_LEN                    = 0x2\n\tETHER_VLAN_ENCAP_LEN              = 0x4\n\tEVFILT_AIO                        = 0x2\n\tEVFILT_PROC                       = 0x4\n\tEVFILT_READ                       = 0x0\n\tEVFILT_SIGNAL                     = 0x5\n\tEVFILT_SYSCOUNT                   = 0x7\n\tEVFILT_TIMER                      = 0x6\n\tEVFILT_VNODE                      = 0x3\n\tEVFILT_WRITE                      = 0x1\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x100\n\tFLUSHO                            = 0x800000\n\tF_CLOSEM                          = 0xa\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0xc\n\tF_FSCTL                           = -0x80000000\n\tF_FSDIRMASK                       = 0x70000000\n\tF_FSIN                            = 0x10000000\n\tF_FSINOUT                         = 0x30000000\n\tF_FSOUT                           = 0x20000000\n\tF_FSPRIV                          = 0x8000\n\tF_FSVOID                          = 0x40000000\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETNOSIGPIPE                    = 0xd\n\tF_GETOWN                          = 0x5\n\tF_MAXFD                           = 0xb\n\tF_OK                              = 0x0\n\tF_PARAM_MASK                      = 0xfff\n\tF_PARAM_MAX                       = 0xfff\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETNOSIGPIPE                    = 0xe\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFA_ROUTE                         = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x8f52\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf8\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DOCSCABLEUPSTREAMCHANNEL      = 0xcd\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ECONET                        = 0xce\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf2\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INFINIBAND                    = 0xc7\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LINEGROUP                     = 0xd2\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_PON155                        = 0xcf\n\tIFT_PON622                        = 0xd0\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPATM                       = 0xc5\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_Q2931                         = 0xc9\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SIPSIG                        = 0xcc\n\tIFT_SIPTG                         = 0xcb\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xd7\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TELINK                        = 0xc8\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VIRTUALTG                     = 0xca\n\tIFT_VOICEDID                      = 0xd5\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEEMFGD                    = 0xd3\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFGDEANA                  = 0xd4\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERCABLE                = 0xc6\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IPV6_ICMP                 = 0x3a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VRRP                      = 0x70\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_EF                             = 0x8000\n\tIP_ERRORMTU                       = 0x15\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x16\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0x14\n\tIP_MF                             = 0x2000\n\tIP_MINFRAGSIZE                    = 0x45\n\tIP_MINTTL                         = 0x18\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTTL                        = 0x17\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x6\n\tMADV_NORMAL                       = 0x0\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SPACEAVAIL                   = 0x5\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ALIGNMENT_16MB                = 0x18000000\n\tMAP_ALIGNMENT_1TB                 = 0x28000000\n\tMAP_ALIGNMENT_256TB               = 0x30000000\n\tMAP_ALIGNMENT_4GB                 = 0x20000000\n\tMAP_ALIGNMENT_64KB                = 0x10000000\n\tMAP_ALIGNMENT_64PB                = 0x38000000\n\tMAP_ALIGNMENT_MASK                = -0x1000000\n\tMAP_ALIGNMENT_SHIFT               = 0x18\n\tMAP_ANON                          = 0x1000\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_INHERIT                       = 0x80\n\tMAP_INHERIT_COPY                  = 0x1\n\tMAP_INHERIT_DEFAULT               = 0x1\n\tMAP_INHERIT_DONATE_COPY           = 0x3\n\tMAP_INHERIT_NONE                  = 0x2\n\tMAP_INHERIT_SHARE                 = 0x0\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_SHARED                        = 0x1\n\tMAP_STACK                         = 0x2000\n\tMAP_TRYFIXED                      = 0x400\n\tMAP_WIRED                         = 0x800\n\tMSG_BCAST                         = 0x100\n\tMSG_CMSG_CLOEXEC                  = 0x800\n\tMSG_CONTROLMBUF                   = 0x2000000\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOR                           = 0x8\n\tMSG_IOVUSRSPACE                   = 0x4000000\n\tMSG_LENUSRSPACE                   = 0x8000000\n\tMSG_MCAST                         = 0x200\n\tMSG_NAMEMBUF                      = 0x1000000\n\tMSG_NBIO                          = 0x1000\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_TRUNC                         = 0x10\n\tMSG_USERFLAGS                     = 0xffffff\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x2\n\tMS_SYNC                           = 0x4\n\tNAME_MAX                          = 0x1ff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x5\n\tNET_RT_MAXID                      = 0x6\n\tNET_RT_OIFLIST                    = 0x4\n\tNET_RT_OOIFLIST                   = 0x3\n\tNOFLSH                            = 0x80000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFIOGETBMAP                       = 0xc004667a\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tO_ACCMODE                         = 0x3\n\tO_ALT_IO                          = 0x40000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x400000\n\tO_CREAT                           = 0x200\n\tO_DIRECT                          = 0x80000\n\tO_DIRECTORY                       = 0x200000\n\tO_DSYNC                           = 0x10000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_NOSIGPIPE                       = 0x1000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_RSYNC                           = 0x20000\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tPRI_IOFLUSH                       = 0x7c\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tRLIMIT_AS                         = 0xa\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x9\n\tRTAX_NETMASK                      = 0x2\n\tRTAX_TAG                          = 0x8\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTA_TAG                           = 0x100\n\tRTF_ANNOUNCE                      = 0x20000\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_CLONED                        = 0x2000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_MASK                          = 0x80\n\tRTF_MODIFIED                      = 0x20\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_REJECT                        = 0x8\n\tRTF_SRC                           = 0x10000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_CHGADDR                       = 0x15\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_GET                           = 0x4\n\tRTM_IEEE80211                     = 0x11\n\tRTM_IFANNOUNCE                    = 0x10\n\tRTM_IFINFO                        = 0x14\n\tRTM_LLINFO_UPD                    = 0x13\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_OIFINFO                       = 0xf\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_OOIFINFO                      = 0xe\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_SETGATE                       = 0x12\n\tRTM_VERSION                       = 0x4\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x4\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x8\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80906931\n\tSIOCADDRT                         = 0x8030720a\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCALIFADDR                      = 0x8118691c\n\tSIOCATMARK                        = 0x40047307\n\tSIOCDELMULTI                      = 0x80906932\n\tSIOCDELRT                         = 0x8030720b\n\tSIOCDIFADDR                       = 0x80906919\n\tSIOCDIFPHYADDR                    = 0x80906949\n\tSIOCDLIFADDR                      = 0x8118691e\n\tSIOCGDRVSPEC                      = 0xc01c697b\n\tSIOCGETPFSYNC                     = 0xc09069f8\n\tSIOCGETSGCNT                      = 0xc0147534\n\tSIOCGETVIFCNT                     = 0xc0147533\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0906921\n\tSIOCGIFADDRPREF                   = 0xc0946920\n\tSIOCGIFALIAS                      = 0xc040691b\n\tSIOCGIFBRDADDR                    = 0xc0906923\n\tSIOCGIFCAP                        = 0xc0206976\n\tSIOCGIFCONF                       = 0xc0086926\n\tSIOCGIFDATA                       = 0xc0946985\n\tSIOCGIFDLT                        = 0xc0906977\n\tSIOCGIFDSTADDR                    = 0xc0906922\n\tSIOCGIFFLAGS                      = 0xc0906911\n\tSIOCGIFGENERIC                    = 0xc090693a\n\tSIOCGIFMEDIA                      = 0xc0286936\n\tSIOCGIFMETRIC                     = 0xc0906917\n\tSIOCGIFMTU                        = 0xc090697e\n\tSIOCGIFNETMASK                    = 0xc0906925\n\tSIOCGIFPDSTADDR                   = 0xc0906948\n\tSIOCGIFPSRCADDR                   = 0xc0906947\n\tSIOCGLIFADDR                      = 0xc118691d\n\tSIOCGLIFPHYADDR                   = 0xc118694b\n\tSIOCGLINKSTR                      = 0xc01c6987\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGVH                           = 0xc0906983\n\tSIOCIFCREATE                      = 0x8090697a\n\tSIOCIFDESTROY                     = 0x80906979\n\tSIOCIFGCLONERS                    = 0xc00c6978\n\tSIOCINITIFADDR                    = 0xc0446984\n\tSIOCSDRVSPEC                      = 0x801c697b\n\tSIOCSETPFSYNC                     = 0x809069f7\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8090690c\n\tSIOCSIFADDRPREF                   = 0x8094691f\n\tSIOCSIFBRDADDR                    = 0x80906913\n\tSIOCSIFCAP                        = 0x80206975\n\tSIOCSIFDSTADDR                    = 0x8090690e\n\tSIOCSIFFLAGS                      = 0x80906910\n\tSIOCSIFGENERIC                    = 0x80906939\n\tSIOCSIFMEDIA                      = 0xc0906935\n\tSIOCSIFMETRIC                     = 0x80906918\n\tSIOCSIFMTU                        = 0x8090697f\n\tSIOCSIFNETMASK                    = 0x80906916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSLIFPHYADDR                   = 0x8118694a\n\tSIOCSLINKSTR                      = 0x801c6988\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSIOCSVH                           = 0xc0906982\n\tSIOCZIFDATA                       = 0xc0946986\n\tSOCK_CLOEXEC                      = 0x10000000\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_FLAGS_MASK                   = 0xf0000000\n\tSOCK_NONBLOCK                     = 0x20000000\n\tSOCK_NOSIGPIPE                    = 0x40000000\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_ACCEPTFILTER                   = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NOHEADER                       = 0x100a\n\tSO_NOSIGPIPE                      = 0x800\n\tSO_OOBINLINE                      = 0x100\n\tSO_OVERFLOWED                     = 0x1009\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x100c\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x100b\n\tSO_TIMESTAMP                      = 0x2000\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tSYSCTL_VERSION                    = 0x1000000\n\tSYSCTL_VERS_0                     = 0x0\n\tSYSCTL_VERS_1                     = 0x1000000\n\tSYSCTL_VERS_MASK                  = 0xff000000\n\tS_ARCH1                           = 0x10000\n\tS_ARCH2                           = 0x20000\n\tS_BLKSIZE                         = 0x200\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTCIFLUSH                          = 0x1\n\tTCIOFLUSH                         = 0x3\n\tTCOFLUSH                          = 0x2\n\tTCP_CONGCTL                       = 0x20\n\tTCP_KEEPCNT                       = 0x6\n\tTCP_KEEPIDLE                      = 0x3\n\tTCP_KEEPINIT                      = 0x7\n\tTCP_KEEPINTVL                     = 0x5\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MD5SIG                        = 0x10\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x218\n\tTCP_NODELAY                       = 0x1\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x400c7458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLAG_CDTRCTS                  = 0x10\n\tTIOCFLAG_CLOCAL                   = 0x2\n\tTIOCFLAG_CRTSCTS                  = 0x4\n\tTIOCFLAG_MDMBUF                   = 0x8\n\tTIOCFLAG_SOFTCAR                  = 0x1\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGFLAGS                        = 0x4004745d\n\tTIOCGLINED                        = 0x40207442\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGQSIZE                        = 0x40047481\n\tTIOCGRANTPT                       = 0x20007447\n\tTIOCGSID                          = 0x40047463\n\tTIOCGSIZE                         = 0x40087468\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTMGET                        = 0x48087446\n\tTIOCPTSNAME                       = 0x48087448\n\tTIOCRCVFRAME                      = 0x80047445\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSFLAGS                        = 0x8004745c\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSLINED                        = 0x80207443\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSQSIZE                        = 0x80047480\n\tTIOCSSIZE                         = 0x80087467\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x80047465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCUCNTL                         = 0x80047466\n\tTIOCXMTFRAME                      = 0x80047444\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWALL                              = 0x8\n\tWALLSIG                           = 0x8\n\tWALTSIG                           = 0x4\n\tWCLONE                            = 0x4\n\tWCOREFLAG                         = 0x80\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x10000\n\tWNOZOMBIE                         = 0x20000\n\tWOPTSCHECKED                      = 0x40000\n\tWSTOPPED                          = 0x7f\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x58)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x57)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x55)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x60)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5e)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x59)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x5a)\n\tENOSTR          = syscall.Errno(0x5b)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x56)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x60)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x5c)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x20)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:  \"operation not permitted\",\n\t2:  \"no such file or directory\",\n\t3:  \"no such process\",\n\t4:  \"interrupted system call\",\n\t5:  \"input/output error\",\n\t6:  \"device not configured\",\n\t7:  \"argument list too long\",\n\t8:  \"exec format error\",\n\t9:  \"bad file descriptor\",\n\t10: \"no child processes\",\n\t11: \"resource deadlock avoided\",\n\t12: \"cannot allocate memory\",\n\t13: \"permission denied\",\n\t14: \"bad address\",\n\t15: \"block device required\",\n\t16: \"device busy\",\n\t17: \"file exists\",\n\t18: \"cross-device link\",\n\t19: \"operation not supported by device\",\n\t20: \"not a directory\",\n\t21: \"is a directory\",\n\t22: \"invalid argument\",\n\t23: \"too many open files in system\",\n\t24: \"too many open files\",\n\t25: \"inappropriate ioctl for device\",\n\t26: \"text file busy\",\n\t27: \"file too large\",\n\t28: \"no space left on device\",\n\t29: \"illegal seek\",\n\t30: \"read-only file system\",\n\t31: \"too many links\",\n\t32: \"broken pipe\",\n\t33: \"numerical argument out of domain\",\n\t34: \"result too large or too small\",\n\t35: \"resource temporarily unavailable\",\n\t36: \"operation now in progress\",\n\t37: \"operation already in progress\",\n\t38: \"socket operation on non-socket\",\n\t39: \"destination address required\",\n\t40: \"message too long\",\n\t41: \"protocol wrong type for socket\",\n\t42: \"protocol option not available\",\n\t43: \"protocol not supported\",\n\t44: \"socket type not supported\",\n\t45: \"operation not supported\",\n\t46: \"protocol family not supported\",\n\t47: \"address family not supported by protocol family\",\n\t48: \"address already in use\",\n\t49: \"can't assign requested address\",\n\t50: \"network is down\",\n\t51: \"network is unreachable\",\n\t52: \"network dropped connection on reset\",\n\t53: \"software caused connection abort\",\n\t54: \"connection reset by peer\",\n\t55: \"no buffer space available\",\n\t56: \"socket is already connected\",\n\t57: \"socket is not connected\",\n\t58: \"can't send after socket shutdown\",\n\t59: \"too many references: can't splice\",\n\t60: \"connection timed out\",\n\t61: \"connection refused\",\n\t62: \"too many levels of symbolic links\",\n\t63: \"file name too long\",\n\t64: \"host is down\",\n\t65: \"no route to host\",\n\t66: \"directory not empty\",\n\t67: \"too many processes\",\n\t68: \"too many users\",\n\t69: \"disc quota exceeded\",\n\t70: \"stale NFS file handle\",\n\t71: \"too many levels of remote in path\",\n\t72: \"RPC struct is bad\",\n\t73: \"RPC version wrong\",\n\t74: \"RPC prog. not avail\",\n\t75: \"program version wrong\",\n\t76: \"bad procedure for program\",\n\t77: \"no locks available\",\n\t78: \"function not implemented\",\n\t79: \"inappropriate file type or format\",\n\t80: \"authentication error\",\n\t81: \"need authenticator\",\n\t82: \"identifier removed\",\n\t83: \"no message of desired type\",\n\t84: \"value too large to be stored in data type\",\n\t85: \"illegal byte sequence\",\n\t86: \"not supported\",\n\t87: \"operation Canceled\",\n\t88: \"bad or Corrupt message\",\n\t89: \"no message available\",\n\t90: \"no STREAM resources\",\n\t91: \"not a STREAM\",\n\t92: \"STREAM ioctl timeout\",\n\t93: \"attribute not found\",\n\t94: \"multihop attempted\",\n\t95: \"link has been severed\",\n\t96: \"protocol error\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"stopped (signal)\",\n\t18: \"stopped\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n\t32: \"power fail/restart\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go",
    "content": "// mkerrors.sh -m32\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,openbsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m32 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_BLUETOOTH                      = 0x20\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_ENCAP                          = 0x1c\n\tAF_HYLINK                         = 0xf\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x18\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_KEY                            = 0x1e\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x24\n\tAF_MPLS                           = 0x21\n\tAF_NATM                           = 0x1b\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x1d\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tARPHRD_ETHER                      = 0x1\n\tARPHRD_FRELAY                     = 0xf\n\tARPHRD_IEEE1394                   = 0x18\n\tARPHRD_IEEE802                    = 0x6\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDIRFILT                      = 0x4004427c\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc008427b\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGFILDROP                      = 0x40044278\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044273\n\tBIOCGRTIMEOUT                     = 0x400c426e\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCLOCK                          = 0x20004276\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDIRFILT                      = 0x8004427d\n\tBIOCSDLT                          = 0x8004427a\n\tBIOCSETF                          = 0x80084267\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSETWF                         = 0x80084277\n\tBIOCSFILDROP                      = 0x80044279\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044272\n\tBIOCSRTIMEOUT                     = 0x800c426d\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIRECTION_IN                  = 0x1\n\tBPF_DIRECTION_OUT                 = 0x2\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x200000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCREAD                             = 0x800\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0xff\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDIOCOSFPFLUSH                     = 0x2000444e\n\tDLT_ARCNET                        = 0x7\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AX25                          = 0x3\n\tDLT_CHAOS                         = 0x5\n\tDLT_C_HDLC                        = 0x68\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0xd\n\tDLT_FDDI                          = 0xa\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_LOOP                          = 0xc\n\tDLT_MPLS                          = 0xdb\n\tDLT_NULL                          = 0x0\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PRONET                        = 0x4\n\tDLT_RAW                           = 0xe\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEMT_TAGOVF                        = 0x1\n\tEMUL_ENABLED                      = 0x1\n\tEMUL_NATIVE                       = 0x2\n\tENDRUNDISC                        = 0x9\n\tETHERMIN                          = 0x2e\n\tETHERMTU                          = 0x5dc\n\tETHERTYPE_8023                    = 0x4\n\tETHERTYPE_AARP                    = 0x80f3\n\tETHERTYPE_ACCTON                  = 0x8390\n\tETHERTYPE_AEONIC                  = 0x8036\n\tETHERTYPE_ALPHA                   = 0x814a\n\tETHERTYPE_AMBER                   = 0x6008\n\tETHERTYPE_AMOEBA                  = 0x8145\n\tETHERTYPE_AOE                     = 0x88a2\n\tETHERTYPE_APOLLO                  = 0x80f7\n\tETHERTYPE_APOLLODOMAIN            = 0x8019\n\tETHERTYPE_APPLETALK               = 0x809b\n\tETHERTYPE_APPLITEK                = 0x80c7\n\tETHERTYPE_ARGONAUT                = 0x803a\n\tETHERTYPE_ARP                     = 0x806\n\tETHERTYPE_AT                      = 0x809b\n\tETHERTYPE_ATALK                   = 0x809b\n\tETHERTYPE_ATOMIC                  = 0x86df\n\tETHERTYPE_ATT                     = 0x8069\n\tETHERTYPE_ATTSTANFORD             = 0x8008\n\tETHERTYPE_AUTOPHON                = 0x806a\n\tETHERTYPE_AXIS                    = 0x8856\n\tETHERTYPE_BCLOOP                  = 0x9003\n\tETHERTYPE_BOFL                    = 0x8102\n\tETHERTYPE_CABLETRON               = 0x7034\n\tETHERTYPE_CHAOS                   = 0x804\n\tETHERTYPE_COMDESIGN               = 0x806c\n\tETHERTYPE_COMPUGRAPHIC            = 0x806d\n\tETHERTYPE_COUNTERPOINT            = 0x8062\n\tETHERTYPE_CRONUS                  = 0x8004\n\tETHERTYPE_CRONUSVLN               = 0x8003\n\tETHERTYPE_DCA                     = 0x1234\n\tETHERTYPE_DDE                     = 0x807b\n\tETHERTYPE_DEBNI                   = 0xaaaa\n\tETHERTYPE_DECAM                   = 0x8048\n\tETHERTYPE_DECCUST                 = 0x6006\n\tETHERTYPE_DECDIAG                 = 0x6005\n\tETHERTYPE_DECDNS                  = 0x803c\n\tETHERTYPE_DECDTS                  = 0x803e\n\tETHERTYPE_DECEXPER                = 0x6000\n\tETHERTYPE_DECLAST                 = 0x8041\n\tETHERTYPE_DECLTM                  = 0x803f\n\tETHERTYPE_DECMUMPS                = 0x6009\n\tETHERTYPE_DECNETBIOS              = 0x8040\n\tETHERTYPE_DELTACON                = 0x86de\n\tETHERTYPE_DIDDLE                  = 0x4321\n\tETHERTYPE_DLOG1                   = 0x660\n\tETHERTYPE_DLOG2                   = 0x661\n\tETHERTYPE_DN                      = 0x6003\n\tETHERTYPE_DOGFIGHT                = 0x1989\n\tETHERTYPE_DSMD                    = 0x8039\n\tETHERTYPE_ECMA                    = 0x803\n\tETHERTYPE_ENCRYPT                 = 0x803d\n\tETHERTYPE_ES                      = 0x805d\n\tETHERTYPE_EXCELAN                 = 0x8010\n\tETHERTYPE_EXPERDATA               = 0x8049\n\tETHERTYPE_FLIP                    = 0x8146\n\tETHERTYPE_FLOWCONTROL             = 0x8808\n\tETHERTYPE_FRARP                   = 0x808\n\tETHERTYPE_GENDYN                  = 0x8068\n\tETHERTYPE_HAYES                   = 0x8130\n\tETHERTYPE_HIPPI_FP                = 0x8180\n\tETHERTYPE_HITACHI                 = 0x8820\n\tETHERTYPE_HP                      = 0x8005\n\tETHERTYPE_IEEEPUP                 = 0xa00\n\tETHERTYPE_IEEEPUPAT               = 0xa01\n\tETHERTYPE_IMLBL                   = 0x4c42\n\tETHERTYPE_IMLBLDIAG               = 0x424c\n\tETHERTYPE_IP                      = 0x800\n\tETHERTYPE_IPAS                    = 0x876c\n\tETHERTYPE_IPV6                    = 0x86dd\n\tETHERTYPE_IPX                     = 0x8137\n\tETHERTYPE_IPXNEW                  = 0x8037\n\tETHERTYPE_KALPANA                 = 0x8582\n\tETHERTYPE_LANBRIDGE               = 0x8038\n\tETHERTYPE_LANPROBE                = 0x8888\n\tETHERTYPE_LAT                     = 0x6004\n\tETHERTYPE_LBACK                   = 0x9000\n\tETHERTYPE_LITTLE                  = 0x8060\n\tETHERTYPE_LLDP                    = 0x88cc\n\tETHERTYPE_LOGICRAFT               = 0x8148\n\tETHERTYPE_LOOPBACK                = 0x9000\n\tETHERTYPE_MATRA                   = 0x807a\n\tETHERTYPE_MAX                     = 0xffff\n\tETHERTYPE_MERIT                   = 0x807c\n\tETHERTYPE_MICP                    = 0x873a\n\tETHERTYPE_MOPDL                   = 0x6001\n\tETHERTYPE_MOPRC                   = 0x6002\n\tETHERTYPE_MOTOROLA                = 0x818d\n\tETHERTYPE_MPLS                    = 0x8847\n\tETHERTYPE_MPLS_MCAST              = 0x8848\n\tETHERTYPE_MUMPS                   = 0x813f\n\tETHERTYPE_NBPCC                   = 0x3c04\n\tETHERTYPE_NBPCLAIM                = 0x3c09\n\tETHERTYPE_NBPCLREQ                = 0x3c05\n\tETHERTYPE_NBPCLRSP                = 0x3c06\n\tETHERTYPE_NBPCREQ                 = 0x3c02\n\tETHERTYPE_NBPCRSP                 = 0x3c03\n\tETHERTYPE_NBPDG                   = 0x3c07\n\tETHERTYPE_NBPDGB                  = 0x3c08\n\tETHERTYPE_NBPDLTE                 = 0x3c0a\n\tETHERTYPE_NBPRAR                  = 0x3c0c\n\tETHERTYPE_NBPRAS                  = 0x3c0b\n\tETHERTYPE_NBPRST                  = 0x3c0d\n\tETHERTYPE_NBPSCD                  = 0x3c01\n\tETHERTYPE_NBPVCD                  = 0x3c00\n\tETHERTYPE_NBS                     = 0x802\n\tETHERTYPE_NCD                     = 0x8149\n\tETHERTYPE_NESTAR                  = 0x8006\n\tETHERTYPE_NETBEUI                 = 0x8191\n\tETHERTYPE_NOVELL                  = 0x8138\n\tETHERTYPE_NS                      = 0x600\n\tETHERTYPE_NSAT                    = 0x601\n\tETHERTYPE_NSCOMPAT                = 0x807\n\tETHERTYPE_NTRAILER                = 0x10\n\tETHERTYPE_OS9                     = 0x7007\n\tETHERTYPE_OS9NET                  = 0x7009\n\tETHERTYPE_PACER                   = 0x80c6\n\tETHERTYPE_PAE                     = 0x888e\n\tETHERTYPE_PCS                     = 0x4242\n\tETHERTYPE_PLANNING                = 0x8044\n\tETHERTYPE_PPP                     = 0x880b\n\tETHERTYPE_PPPOE                   = 0x8864\n\tETHERTYPE_PPPOEDISC               = 0x8863\n\tETHERTYPE_PRIMENTS                = 0x7031\n\tETHERTYPE_PUP                     = 0x200\n\tETHERTYPE_PUPAT                   = 0x200\n\tETHERTYPE_QINQ                    = 0x88a8\n\tETHERTYPE_RACAL                   = 0x7030\n\tETHERTYPE_RATIONAL                = 0x8150\n\tETHERTYPE_RAWFR                   = 0x6559\n\tETHERTYPE_RCL                     = 0x1995\n\tETHERTYPE_RDP                     = 0x8739\n\tETHERTYPE_RETIX                   = 0x80f2\n\tETHERTYPE_REVARP                  = 0x8035\n\tETHERTYPE_SCA                     = 0x6007\n\tETHERTYPE_SECTRA                  = 0x86db\n\tETHERTYPE_SECUREDATA              = 0x876d\n\tETHERTYPE_SGITW                   = 0x817e\n\tETHERTYPE_SG_BOUNCE               = 0x8016\n\tETHERTYPE_SG_DIAG                 = 0x8013\n\tETHERTYPE_SG_NETGAMES             = 0x8014\n\tETHERTYPE_SG_RESV                 = 0x8015\n\tETHERTYPE_SIMNET                  = 0x5208\n\tETHERTYPE_SLOW                    = 0x8809\n\tETHERTYPE_SNA                     = 0x80d5\n\tETHERTYPE_SNMP                    = 0x814c\n\tETHERTYPE_SONIX                   = 0xfaf5\n\tETHERTYPE_SPIDER                  = 0x809f\n\tETHERTYPE_SPRITE                  = 0x500\n\tETHERTYPE_STP                     = 0x8181\n\tETHERTYPE_TALARIS                 = 0x812b\n\tETHERTYPE_TALARISMC               = 0x852b\n\tETHERTYPE_TCPCOMP                 = 0x876b\n\tETHERTYPE_TCPSM                   = 0x9002\n\tETHERTYPE_TEC                     = 0x814f\n\tETHERTYPE_TIGAN                   = 0x802f\n\tETHERTYPE_TRAIL                   = 0x1000\n\tETHERTYPE_TRANSETHER              = 0x6558\n\tETHERTYPE_TYMSHARE                = 0x802e\n\tETHERTYPE_UBBST                   = 0x7005\n\tETHERTYPE_UBDEBUG                 = 0x900\n\tETHERTYPE_UBDIAGLOOP              = 0x7002\n\tETHERTYPE_UBDL                    = 0x7000\n\tETHERTYPE_UBNIU                   = 0x7001\n\tETHERTYPE_UBNMC                   = 0x7003\n\tETHERTYPE_VALID                   = 0x1600\n\tETHERTYPE_VARIAN                  = 0x80dd\n\tETHERTYPE_VAXELN                  = 0x803b\n\tETHERTYPE_VEECO                   = 0x8067\n\tETHERTYPE_VEXP                    = 0x805b\n\tETHERTYPE_VGLAB                   = 0x8131\n\tETHERTYPE_VINES                   = 0xbad\n\tETHERTYPE_VINESECHO               = 0xbaf\n\tETHERTYPE_VINESLOOP               = 0xbae\n\tETHERTYPE_VITAL                   = 0xff00\n\tETHERTYPE_VLAN                    = 0x8100\n\tETHERTYPE_VLTLMAN                 = 0x8080\n\tETHERTYPE_VPROD                   = 0x805c\n\tETHERTYPE_VURESERVED              = 0x8147\n\tETHERTYPE_WATERLOO                = 0x8130\n\tETHERTYPE_WELLFLEET               = 0x8103\n\tETHERTYPE_X25                     = 0x805\n\tETHERTYPE_X75                     = 0x801\n\tETHERTYPE_XNSSM                   = 0x9001\n\tETHERTYPE_XTP                     = 0x817d\n\tETHER_ADDR_LEN                    = 0x6\n\tETHER_ALIGN                       = 0x2\n\tETHER_CRC_LEN                     = 0x4\n\tETHER_CRC_POLY_BE                 = 0x4c11db6\n\tETHER_CRC_POLY_LE                 = 0xedb88320\n\tETHER_HDR_LEN                     = 0xe\n\tETHER_MAX_DIX_LEN                 = 0x600\n\tETHER_MAX_LEN                     = 0x5ee\n\tETHER_MIN_LEN                     = 0x40\n\tETHER_TYPE_LEN                    = 0x2\n\tETHER_VLAN_ENCAP_LEN              = 0x4\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0x7\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFLUSHO                            = 0x800000\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0xa\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETOWN                          = 0x5\n\tF_OK                              = 0x0\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFA_ROUTE                         = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x8e52\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BLUETOOTH                     = 0xf8\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf7\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DOCSCABLEUPSTREAMCHANNEL      = 0xcd\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DUMMY                         = 0xf1\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ECONET                        = 0xce\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf3\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INFINIBAND                    = 0xc7\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LINEGROUP                     = 0xd2\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFLOW                         = 0xf9\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_PON155                        = 0xcf\n\tIFT_PON622                        = 0xd0\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPATM                       = 0xc5\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf2\n\tIFT_Q2931                         = 0xc9\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SIPSIG                        = 0xcc\n\tIFT_SIPTG                         = 0xcb\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TELINK                        = 0xc8\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VIRTUALTG                     = 0xca\n\tIFT_VOICEDID                      = 0xd5\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEEMFGD                    = 0xd3\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFGDEANA                  = 0xd4\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERCABLE                = 0xc6\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIN_RFC3021_HOST                   = 0x1\n\tIN_RFC3021_NET                    = 0xfffffffe\n\tIN_RFC3021_NSHIFT                 = 0x1f\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_DIVERT                    = 0x102\n\tIPPROTO_DIVERT_INIT               = 0x2\n\tIPPROTO_DIVERT_RESP               = 0x1\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x103\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_MPLS                      = 0x89\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_UDP                       = 0x11\n\tIPV6_AUTH_LEVEL                   = 0x35\n\tIPV6_AUTOFLOWLABEL                = 0x3b\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_ESP_NETWORK_LEVEL            = 0x37\n\tIPV6_ESP_TRANS_LEVEL              = 0x36\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPCOMP_LEVEL                 = 0x3c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_OPTIONS                      = 0x1\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PIPEX                        = 0x3f\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVDSTPORT                  = 0x40\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTABLE                       = 0x1021\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_AUTH_LEVEL                     = 0x14\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DIVERTFL                       = 0x1022\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_ESP_NETWORK_LEVEL              = 0x16\n\tIP_ESP_TRANS_LEVEL                = 0x15\n\tIP_HDRINCL                        = 0x2\n\tIP_IPCOMP_LEVEL                   = 0x1d\n\tIP_IPSECFLOWINFO                  = 0x24\n\tIP_IPSEC_LOCAL_AUTH               = 0x1b\n\tIP_IPSEC_LOCAL_CRED               = 0x19\n\tIP_IPSEC_LOCAL_ID                 = 0x17\n\tIP_IPSEC_REMOTE_AUTH              = 0x1c\n\tIP_IPSEC_REMOTE_CRED              = 0x1a\n\tIP_IPSEC_REMOTE_ID                = 0x18\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MF                             = 0x2000\n\tIP_MINTTL                         = 0x20\n\tIP_MIN_MEMBERSHIPS                = 0xf\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PIPEX                          = 0x22\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVDSTPORT                    = 0x21\n\tIP_RECVIF                         = 0x1e\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVRTABLE                     = 0x23\n\tIP_RECVTTL                        = 0x1f\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RTABLE                         = 0x1021\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLCNT_OVERLOAD_FLUSH               = 0x6\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x6\n\tMADV_NORMAL                       = 0x0\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SPACEAVAIL                   = 0x5\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ANON                          = 0x1000\n\tMAP_COPY                          = 0x4\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_FLAGMASK                      = 0x1ff7\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_INHERIT                       = 0x80\n\tMAP_INHERIT_COPY                  = 0x1\n\tMAP_INHERIT_DONATE_COPY           = 0x3\n\tMAP_INHERIT_NONE                  = 0x2\n\tMAP_INHERIT_SHARE                 = 0x0\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_SHARED                        = 0x1\n\tMAP_TRYFIXED                      = 0x400\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMSG_BCAST                         = 0x100\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOR                           = 0x8\n\tMSG_MCAST                         = 0x200\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x4\n\tMS_SYNC                           = 0x2\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_MAXID                      = 0x6\n\tNET_RT_STATS                      = 0x4\n\tNET_RT_TABLE                      = 0x5\n\tNOFLSH                            = 0x80000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EOF                          = 0x2\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRUNCATE                     = 0x80\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tONLCR                             = 0x2\n\tONLRET                            = 0x80\n\tONOCR                             = 0x40\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tO_ACCMODE                         = 0x3\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x10000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x20000\n\tO_DSYNC                           = 0x80\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_RSYNC                           = 0x80\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPF_FLUSH                          = 0x1\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tPT_MASK                           = 0x3ff000\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_LABEL                        = 0xa\n\tRTAX_MAX                          = 0xb\n\tRTAX_NETMASK                      = 0x2\n\tRTAX_SRC                          = 0x8\n\tRTAX_SRCMASK                      = 0x9\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_LABEL                         = 0x400\n\tRTA_NETMASK                       = 0x4\n\tRTA_SRC                           = 0x100\n\tRTA_SRCMASK                       = 0x200\n\tRTF_ANNOUNCE                      = 0x4000\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_CLONED                        = 0x10000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_FMASK                         = 0x10f808\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_MASK                          = 0x80\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MPATH                         = 0x40000\n\tRTF_MPLS                          = 0x100000\n\tRTF_PERMANENT_ARP                 = 0x2000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x2000\n\tRTF_REJECT                        = 0x8\n\tRTF_SOURCE                        = 0x20000\n\tRTF_STATIC                        = 0x800\n\tRTF_TUNNEL                        = 0x100000\n\tRTF_UP                            = 0x1\n\tRTF_USETRAILERS                   = 0x8000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DESYNC                        = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_IFANNOUNCE                    = 0xf\n\tRTM_IFINFO                        = 0xe\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MAXSIZE                       = 0x800\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRT_TABLEID_MAX                    = 0xff\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tRUSAGE_THREAD                     = 0x1\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCAIFGROUP                      = 0x80246987\n\tSIOCALIFADDR                      = 0x8218691c\n\tSIOCATMARK                        = 0x40047307\n\tSIOCBRDGADD                       = 0x8054693c\n\tSIOCBRDGADDS                      = 0x80546941\n\tSIOCBRDGARL                       = 0x806e694d\n\tSIOCBRDGDADDR                     = 0x81286947\n\tSIOCBRDGDEL                       = 0x8054693d\n\tSIOCBRDGDELS                      = 0x80546942\n\tSIOCBRDGFLUSH                     = 0x80546948\n\tSIOCBRDGFRL                       = 0x806e694e\n\tSIOCBRDGGCACHE                    = 0xc0146941\n\tSIOCBRDGGFD                       = 0xc0146952\n\tSIOCBRDGGHT                       = 0xc0146951\n\tSIOCBRDGGIFFLGS                   = 0xc054693e\n\tSIOCBRDGGMA                       = 0xc0146953\n\tSIOCBRDGGPARAM                    = 0xc03c6958\n\tSIOCBRDGGPRI                      = 0xc0146950\n\tSIOCBRDGGRL                       = 0xc028694f\n\tSIOCBRDGGSIFS                     = 0xc054693c\n\tSIOCBRDGGTO                       = 0xc0146946\n\tSIOCBRDGIFS                       = 0xc0546942\n\tSIOCBRDGRTS                       = 0xc0186943\n\tSIOCBRDGSADDR                     = 0xc1286944\n\tSIOCBRDGSCACHE                    = 0x80146940\n\tSIOCBRDGSFD                       = 0x80146952\n\tSIOCBRDGSHT                       = 0x80146951\n\tSIOCBRDGSIFCOST                   = 0x80546955\n\tSIOCBRDGSIFFLGS                   = 0x8054693f\n\tSIOCBRDGSIFPRIO                   = 0x80546954\n\tSIOCBRDGSMA                       = 0x80146953\n\tSIOCBRDGSPRI                      = 0x80146950\n\tSIOCBRDGSPROTO                    = 0x8014695a\n\tSIOCBRDGSTO                       = 0x80146945\n\tSIOCBRDGSTXHC                     = 0x80146959\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFGROUP                      = 0x80246989\n\tSIOCDIFPHYADDR                    = 0x80206949\n\tSIOCDLIFADDR                      = 0x8218691e\n\tSIOCGETKALIVE                     = 0xc01869a4\n\tSIOCGETLABEL                      = 0x8020699a\n\tSIOCGETPFLOW                      = 0xc02069fe\n\tSIOCGETPFSYNC                     = 0xc02069f8\n\tSIOCGETSGCNT                      = 0xc0147534\n\tSIOCGETVIFCNT                     = 0xc0147533\n\tSIOCGETVLAN                       = 0xc0206990\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCONF                       = 0xc0086924\n\tSIOCGIFDATA                       = 0xc020691b\n\tSIOCGIFDESCR                      = 0xc0206981\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGATTR                      = 0xc024698b\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFGMEMB                      = 0xc024698a\n\tSIOCGIFGROUP                      = 0xc0246988\n\tSIOCGIFHARDMTU                    = 0xc02069a5\n\tSIOCGIFMEDIA                      = 0xc0286936\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc020697e\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206948\n\tSIOCGIFPRIORITY                   = 0xc020699c\n\tSIOCGIFPSRCADDR                   = 0xc0206947\n\tSIOCGIFRDOMAIN                    = 0xc02069a0\n\tSIOCGIFRTLABEL                    = 0xc0206983\n\tSIOCGIFTIMESLOT                   = 0xc0206986\n\tSIOCGIFXFLAGS                     = 0xc020699e\n\tSIOCGLIFADDR                      = 0xc218691d\n\tSIOCGLIFPHYADDR                   = 0xc218694b\n\tSIOCGLIFPHYRTABLE                 = 0xc02069a2\n\tSIOCGLIFPHYTTL                    = 0xc02069a9\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGSPPPPARAMS                   = 0xc0206994\n\tSIOCGVH                           = 0xc02069f6\n\tSIOCGVNETID                       = 0xc02069a7\n\tSIOCIFCREATE                      = 0x8020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc00c6978\n\tSIOCSETKALIVE                     = 0x801869a3\n\tSIOCSETLABEL                      = 0x80206999\n\tSIOCSETPFLOW                      = 0x802069fd\n\tSIOCSETPFSYNC                     = 0x802069f7\n\tSIOCSETVLAN                       = 0x8020698f\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFDESCR                      = 0x80206980\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGATTR                      = 0x8024698c\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFLLADDR                     = 0x8020691f\n\tSIOCSIFMEDIA                      = 0xc0206935\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x8020697f\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSIFPRIORITY                   = 0x8020699b\n\tSIOCSIFRDOMAIN                    = 0x8020699f\n\tSIOCSIFRTLABEL                    = 0x80206982\n\tSIOCSIFTIMESLOT                   = 0x80206985\n\tSIOCSIFXFLAGS                     = 0x8020699d\n\tSIOCSLIFPHYADDR                   = 0x8218694a\n\tSIOCSLIFPHYRTABLE                 = 0x802069a1\n\tSIOCSLIFPHYTTL                    = 0x802069a8\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSIOCSSPPPPARAMS                   = 0x80206993\n\tSIOCSVH                           = 0xc02069f5\n\tSIOCSVNETID                       = 0x802069a6\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BINDANY                        = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NETPROC                        = 0x1020\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERCRED                       = 0x1022\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_RTABLE                         = 0x1021\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_SPLICE                         = 0x1023\n\tSO_TIMESTAMP                      = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tTCIFLUSH                          = 0x1\n\tTCIOFLUSH                         = 0x3\n\tTCOFLUSH                          = 0x2\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x3\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MD5SIG                        = 0x4\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOPUSH                        = 0x10\n\tTCP_NSTATES                       = 0xb\n\tTCP_SACK_ENABLE                   = 0x8\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLAG_CLOCAL                   = 0x2\n\tTIOCFLAG_CRTSCTS                  = 0x4\n\tTIOCFLAG_MDMBUF                   = 0x8\n\tTIOCFLAG_PPS                      = 0x10\n\tTIOCFLAG_SOFTCAR                  = 0x1\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGFLAGS                        = 0x4004745d\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGSID                          = 0x40047463\n\tTIOCGTSTAMP                       = 0x400c745b\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x4004746a\n\tTIOCMODS                          = 0x8004746d\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSFLAGS                        = 0x8004745c\n\tTIOCSIG                           = 0x8004745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x80047465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSTSTAMP                       = 0x8008745a\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWALTSIG                           = 0x4\n\tWCONTINUED                        = 0x8\n\tWCOREFLAG                         = 0x80\n\tWNOHANG                           = 0x1\n\tWSTOPPED                          = 0x7f\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x58)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x59)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEIPSEC          = syscall.Errno(0x52)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x5b)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMEDIUMTYPE     = syscall.Errno(0x56)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x53)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOMEDIUM       = syscall.Errno(0x55)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5a)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x5b)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x57)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTHR    = syscall.Signal(0x20)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:  \"operation not permitted\",\n\t2:  \"no such file or directory\",\n\t3:  \"no such process\",\n\t4:  \"interrupted system call\",\n\t5:  \"input/output error\",\n\t6:  \"device not configured\",\n\t7:  \"argument list too long\",\n\t8:  \"exec format error\",\n\t9:  \"bad file descriptor\",\n\t10: \"no child processes\",\n\t11: \"resource deadlock avoided\",\n\t12: \"cannot allocate memory\",\n\t13: \"permission denied\",\n\t14: \"bad address\",\n\t15: \"block device required\",\n\t16: \"device busy\",\n\t17: \"file exists\",\n\t18: \"cross-device link\",\n\t19: \"operation not supported by device\",\n\t20: \"not a directory\",\n\t21: \"is a directory\",\n\t22: \"invalid argument\",\n\t23: \"too many open files in system\",\n\t24: \"too many open files\",\n\t25: \"inappropriate ioctl for device\",\n\t26: \"text file busy\",\n\t27: \"file too large\",\n\t28: \"no space left on device\",\n\t29: \"illegal seek\",\n\t30: \"read-only file system\",\n\t31: \"too many links\",\n\t32: \"broken pipe\",\n\t33: \"numerical argument out of domain\",\n\t34: \"result too large\",\n\t35: \"resource temporarily unavailable\",\n\t36: \"operation now in progress\",\n\t37: \"operation already in progress\",\n\t38: \"socket operation on non-socket\",\n\t39: \"destination address required\",\n\t40: \"message too long\",\n\t41: \"protocol wrong type for socket\",\n\t42: \"protocol not available\",\n\t43: \"protocol not supported\",\n\t44: \"socket type not supported\",\n\t45: \"operation not supported\",\n\t46: \"protocol family not supported\",\n\t47: \"address family not supported by protocol family\",\n\t48: \"address already in use\",\n\t49: \"can't assign requested address\",\n\t50: \"network is down\",\n\t51: \"network is unreachable\",\n\t52: \"network dropped connection on reset\",\n\t53: \"software caused connection abort\",\n\t54: \"connection reset by peer\",\n\t55: \"no buffer space available\",\n\t56: \"socket is already connected\",\n\t57: \"socket is not connected\",\n\t58: \"can't send after socket shutdown\",\n\t59: \"too many references: can't splice\",\n\t60: \"connection timed out\",\n\t61: \"connection refused\",\n\t62: \"too many levels of symbolic links\",\n\t63: \"file name too long\",\n\t64: \"host is down\",\n\t65: \"no route to host\",\n\t66: \"directory not empty\",\n\t67: \"too many processes\",\n\t68: \"too many users\",\n\t69: \"disc quota exceeded\",\n\t70: \"stale NFS file handle\",\n\t71: \"too many levels of remote in path\",\n\t72: \"RPC struct is bad\",\n\t73: \"RPC version wrong\",\n\t74: \"RPC prog. not avail\",\n\t75: \"program version wrong\",\n\t76: \"bad procedure for program\",\n\t77: \"no locks available\",\n\t78: \"function not implemented\",\n\t79: \"inappropriate file type or format\",\n\t80: \"authentication error\",\n\t81: \"need authenticator\",\n\t82: \"IPsec processing failure\",\n\t83: \"attribute not found\",\n\t84: \"illegal byte sequence\",\n\t85: \"no medium found\",\n\t86: \"wrong medium type\",\n\t87: \"value too large to be stored in data type\",\n\t88: \"operation canceled\",\n\t89: \"identifier removed\",\n\t90: \"no message of desired type\",\n\t91: \"not supported\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"stopped (signal)\",\n\t18: \"stopped\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n\t32: \"thread AST\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,openbsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_BLUETOOTH                      = 0x20\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_ENCAP                          = 0x1c\n\tAF_HYLINK                         = 0xf\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x18\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_KEY                            = 0x1e\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x24\n\tAF_MPLS                           = 0x21\n\tAF_NATM                           = 0x1b\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x1d\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tARPHRD_ETHER                      = 0x1\n\tARPHRD_FRELAY                     = 0xf\n\tARPHRD_IEEE1394                   = 0x18\n\tARPHRD_IEEE802                    = 0x6\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDIRFILT                      = 0x4004427c\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc010427b\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGFILDROP                      = 0x40044278\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044273\n\tBIOCGRTIMEOUT                     = 0x4010426e\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCLOCK                          = 0x20004276\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDIRFILT                      = 0x8004427d\n\tBIOCSDLT                          = 0x8004427a\n\tBIOCSETF                          = 0x80104267\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSETWF                         = 0x80104277\n\tBIOCSFILDROP                      = 0x80044279\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044272\n\tBIOCSRTIMEOUT                     = 0x8010426d\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIRECTION_IN                  = 0x1\n\tBPF_DIRECTION_OUT                 = 0x2\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x200000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCREAD                             = 0x800\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0xff\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDIOCOSFPFLUSH                     = 0x2000444e\n\tDLT_ARCNET                        = 0x7\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AX25                          = 0x3\n\tDLT_CHAOS                         = 0x5\n\tDLT_C_HDLC                        = 0x68\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0xd\n\tDLT_FDDI                          = 0xa\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_LOOP                          = 0xc\n\tDLT_MPLS                          = 0xdb\n\tDLT_NULL                          = 0x0\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PRONET                        = 0x4\n\tDLT_RAW                           = 0xe\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEMT_TAGOVF                        = 0x1\n\tEMUL_ENABLED                      = 0x1\n\tEMUL_NATIVE                       = 0x2\n\tENDRUNDISC                        = 0x9\n\tETHERMIN                          = 0x2e\n\tETHERMTU                          = 0x5dc\n\tETHERTYPE_8023                    = 0x4\n\tETHERTYPE_AARP                    = 0x80f3\n\tETHERTYPE_ACCTON                  = 0x8390\n\tETHERTYPE_AEONIC                  = 0x8036\n\tETHERTYPE_ALPHA                   = 0x814a\n\tETHERTYPE_AMBER                   = 0x6008\n\tETHERTYPE_AMOEBA                  = 0x8145\n\tETHERTYPE_AOE                     = 0x88a2\n\tETHERTYPE_APOLLO                  = 0x80f7\n\tETHERTYPE_APOLLODOMAIN            = 0x8019\n\tETHERTYPE_APPLETALK               = 0x809b\n\tETHERTYPE_APPLITEK                = 0x80c7\n\tETHERTYPE_ARGONAUT                = 0x803a\n\tETHERTYPE_ARP                     = 0x806\n\tETHERTYPE_AT                      = 0x809b\n\tETHERTYPE_ATALK                   = 0x809b\n\tETHERTYPE_ATOMIC                  = 0x86df\n\tETHERTYPE_ATT                     = 0x8069\n\tETHERTYPE_ATTSTANFORD             = 0x8008\n\tETHERTYPE_AUTOPHON                = 0x806a\n\tETHERTYPE_AXIS                    = 0x8856\n\tETHERTYPE_BCLOOP                  = 0x9003\n\tETHERTYPE_BOFL                    = 0x8102\n\tETHERTYPE_CABLETRON               = 0x7034\n\tETHERTYPE_CHAOS                   = 0x804\n\tETHERTYPE_COMDESIGN               = 0x806c\n\tETHERTYPE_COMPUGRAPHIC            = 0x806d\n\tETHERTYPE_COUNTERPOINT            = 0x8062\n\tETHERTYPE_CRONUS                  = 0x8004\n\tETHERTYPE_CRONUSVLN               = 0x8003\n\tETHERTYPE_DCA                     = 0x1234\n\tETHERTYPE_DDE                     = 0x807b\n\tETHERTYPE_DEBNI                   = 0xaaaa\n\tETHERTYPE_DECAM                   = 0x8048\n\tETHERTYPE_DECCUST                 = 0x6006\n\tETHERTYPE_DECDIAG                 = 0x6005\n\tETHERTYPE_DECDNS                  = 0x803c\n\tETHERTYPE_DECDTS                  = 0x803e\n\tETHERTYPE_DECEXPER                = 0x6000\n\tETHERTYPE_DECLAST                 = 0x8041\n\tETHERTYPE_DECLTM                  = 0x803f\n\tETHERTYPE_DECMUMPS                = 0x6009\n\tETHERTYPE_DECNETBIOS              = 0x8040\n\tETHERTYPE_DELTACON                = 0x86de\n\tETHERTYPE_DIDDLE                  = 0x4321\n\tETHERTYPE_DLOG1                   = 0x660\n\tETHERTYPE_DLOG2                   = 0x661\n\tETHERTYPE_DN                      = 0x6003\n\tETHERTYPE_DOGFIGHT                = 0x1989\n\tETHERTYPE_DSMD                    = 0x8039\n\tETHERTYPE_ECMA                    = 0x803\n\tETHERTYPE_ENCRYPT                 = 0x803d\n\tETHERTYPE_ES                      = 0x805d\n\tETHERTYPE_EXCELAN                 = 0x8010\n\tETHERTYPE_EXPERDATA               = 0x8049\n\tETHERTYPE_FLIP                    = 0x8146\n\tETHERTYPE_FLOWCONTROL             = 0x8808\n\tETHERTYPE_FRARP                   = 0x808\n\tETHERTYPE_GENDYN                  = 0x8068\n\tETHERTYPE_HAYES                   = 0x8130\n\tETHERTYPE_HIPPI_FP                = 0x8180\n\tETHERTYPE_HITACHI                 = 0x8820\n\tETHERTYPE_HP                      = 0x8005\n\tETHERTYPE_IEEEPUP                 = 0xa00\n\tETHERTYPE_IEEEPUPAT               = 0xa01\n\tETHERTYPE_IMLBL                   = 0x4c42\n\tETHERTYPE_IMLBLDIAG               = 0x424c\n\tETHERTYPE_IP                      = 0x800\n\tETHERTYPE_IPAS                    = 0x876c\n\tETHERTYPE_IPV6                    = 0x86dd\n\tETHERTYPE_IPX                     = 0x8137\n\tETHERTYPE_IPXNEW                  = 0x8037\n\tETHERTYPE_KALPANA                 = 0x8582\n\tETHERTYPE_LANBRIDGE               = 0x8038\n\tETHERTYPE_LANPROBE                = 0x8888\n\tETHERTYPE_LAT                     = 0x6004\n\tETHERTYPE_LBACK                   = 0x9000\n\tETHERTYPE_LITTLE                  = 0x8060\n\tETHERTYPE_LLDP                    = 0x88cc\n\tETHERTYPE_LOGICRAFT               = 0x8148\n\tETHERTYPE_LOOPBACK                = 0x9000\n\tETHERTYPE_MATRA                   = 0x807a\n\tETHERTYPE_MAX                     = 0xffff\n\tETHERTYPE_MERIT                   = 0x807c\n\tETHERTYPE_MICP                    = 0x873a\n\tETHERTYPE_MOPDL                   = 0x6001\n\tETHERTYPE_MOPRC                   = 0x6002\n\tETHERTYPE_MOTOROLA                = 0x818d\n\tETHERTYPE_MPLS                    = 0x8847\n\tETHERTYPE_MPLS_MCAST              = 0x8848\n\tETHERTYPE_MUMPS                   = 0x813f\n\tETHERTYPE_NBPCC                   = 0x3c04\n\tETHERTYPE_NBPCLAIM                = 0x3c09\n\tETHERTYPE_NBPCLREQ                = 0x3c05\n\tETHERTYPE_NBPCLRSP                = 0x3c06\n\tETHERTYPE_NBPCREQ                 = 0x3c02\n\tETHERTYPE_NBPCRSP                 = 0x3c03\n\tETHERTYPE_NBPDG                   = 0x3c07\n\tETHERTYPE_NBPDGB                  = 0x3c08\n\tETHERTYPE_NBPDLTE                 = 0x3c0a\n\tETHERTYPE_NBPRAR                  = 0x3c0c\n\tETHERTYPE_NBPRAS                  = 0x3c0b\n\tETHERTYPE_NBPRST                  = 0x3c0d\n\tETHERTYPE_NBPSCD                  = 0x3c01\n\tETHERTYPE_NBPVCD                  = 0x3c00\n\tETHERTYPE_NBS                     = 0x802\n\tETHERTYPE_NCD                     = 0x8149\n\tETHERTYPE_NESTAR                  = 0x8006\n\tETHERTYPE_NETBEUI                 = 0x8191\n\tETHERTYPE_NOVELL                  = 0x8138\n\tETHERTYPE_NS                      = 0x600\n\tETHERTYPE_NSAT                    = 0x601\n\tETHERTYPE_NSCOMPAT                = 0x807\n\tETHERTYPE_NTRAILER                = 0x10\n\tETHERTYPE_OS9                     = 0x7007\n\tETHERTYPE_OS9NET                  = 0x7009\n\tETHERTYPE_PACER                   = 0x80c6\n\tETHERTYPE_PAE                     = 0x888e\n\tETHERTYPE_PCS                     = 0x4242\n\tETHERTYPE_PLANNING                = 0x8044\n\tETHERTYPE_PPP                     = 0x880b\n\tETHERTYPE_PPPOE                   = 0x8864\n\tETHERTYPE_PPPOEDISC               = 0x8863\n\tETHERTYPE_PRIMENTS                = 0x7031\n\tETHERTYPE_PUP                     = 0x200\n\tETHERTYPE_PUPAT                   = 0x200\n\tETHERTYPE_QINQ                    = 0x88a8\n\tETHERTYPE_RACAL                   = 0x7030\n\tETHERTYPE_RATIONAL                = 0x8150\n\tETHERTYPE_RAWFR                   = 0x6559\n\tETHERTYPE_RCL                     = 0x1995\n\tETHERTYPE_RDP                     = 0x8739\n\tETHERTYPE_RETIX                   = 0x80f2\n\tETHERTYPE_REVARP                  = 0x8035\n\tETHERTYPE_SCA                     = 0x6007\n\tETHERTYPE_SECTRA                  = 0x86db\n\tETHERTYPE_SECUREDATA              = 0x876d\n\tETHERTYPE_SGITW                   = 0x817e\n\tETHERTYPE_SG_BOUNCE               = 0x8016\n\tETHERTYPE_SG_DIAG                 = 0x8013\n\tETHERTYPE_SG_NETGAMES             = 0x8014\n\tETHERTYPE_SG_RESV                 = 0x8015\n\tETHERTYPE_SIMNET                  = 0x5208\n\tETHERTYPE_SLOW                    = 0x8809\n\tETHERTYPE_SNA                     = 0x80d5\n\tETHERTYPE_SNMP                    = 0x814c\n\tETHERTYPE_SONIX                   = 0xfaf5\n\tETHERTYPE_SPIDER                  = 0x809f\n\tETHERTYPE_SPRITE                  = 0x500\n\tETHERTYPE_STP                     = 0x8181\n\tETHERTYPE_TALARIS                 = 0x812b\n\tETHERTYPE_TALARISMC               = 0x852b\n\tETHERTYPE_TCPCOMP                 = 0x876b\n\tETHERTYPE_TCPSM                   = 0x9002\n\tETHERTYPE_TEC                     = 0x814f\n\tETHERTYPE_TIGAN                   = 0x802f\n\tETHERTYPE_TRAIL                   = 0x1000\n\tETHERTYPE_TRANSETHER              = 0x6558\n\tETHERTYPE_TYMSHARE                = 0x802e\n\tETHERTYPE_UBBST                   = 0x7005\n\tETHERTYPE_UBDEBUG                 = 0x900\n\tETHERTYPE_UBDIAGLOOP              = 0x7002\n\tETHERTYPE_UBDL                    = 0x7000\n\tETHERTYPE_UBNIU                   = 0x7001\n\tETHERTYPE_UBNMC                   = 0x7003\n\tETHERTYPE_VALID                   = 0x1600\n\tETHERTYPE_VARIAN                  = 0x80dd\n\tETHERTYPE_VAXELN                  = 0x803b\n\tETHERTYPE_VEECO                   = 0x8067\n\tETHERTYPE_VEXP                    = 0x805b\n\tETHERTYPE_VGLAB                   = 0x8131\n\tETHERTYPE_VINES                   = 0xbad\n\tETHERTYPE_VINESECHO               = 0xbaf\n\tETHERTYPE_VINESLOOP               = 0xbae\n\tETHERTYPE_VITAL                   = 0xff00\n\tETHERTYPE_VLAN                    = 0x8100\n\tETHERTYPE_VLTLMAN                 = 0x8080\n\tETHERTYPE_VPROD                   = 0x805c\n\tETHERTYPE_VURESERVED              = 0x8147\n\tETHERTYPE_WATERLOO                = 0x8130\n\tETHERTYPE_WELLFLEET               = 0x8103\n\tETHERTYPE_X25                     = 0x805\n\tETHERTYPE_X75                     = 0x801\n\tETHERTYPE_XNSSM                   = 0x9001\n\tETHERTYPE_XTP                     = 0x817d\n\tETHER_ADDR_LEN                    = 0x6\n\tETHER_ALIGN                       = 0x2\n\tETHER_CRC_LEN                     = 0x4\n\tETHER_CRC_POLY_BE                 = 0x4c11db6\n\tETHER_CRC_POLY_LE                 = 0xedb88320\n\tETHER_HDR_LEN                     = 0xe\n\tETHER_MAX_DIX_LEN                 = 0x600\n\tETHER_MAX_LEN                     = 0x5ee\n\tETHER_MIN_LEN                     = 0x40\n\tETHER_TYPE_LEN                    = 0x2\n\tETHER_VLAN_ENCAP_LEN              = 0x4\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0x7\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFLUSHO                            = 0x800000\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0xa\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETOWN                          = 0x5\n\tF_OK                              = 0x0\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFA_ROUTE                         = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x8e52\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BLUETOOTH                     = 0xf8\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf7\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DOCSCABLEUPSTREAMCHANNEL      = 0xcd\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DUMMY                         = 0xf1\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ECONET                        = 0xce\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf3\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INFINIBAND                    = 0xc7\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LINEGROUP                     = 0xd2\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFLOW                         = 0xf9\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_PON155                        = 0xcf\n\tIFT_PON622                        = 0xd0\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPATM                       = 0xc5\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf2\n\tIFT_Q2931                         = 0xc9\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SIPSIG                        = 0xcc\n\tIFT_SIPTG                         = 0xcb\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TELINK                        = 0xc8\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VIRTUALTG                     = 0xca\n\tIFT_VOICEDID                      = 0xd5\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEEMFGD                    = 0xd3\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFGDEANA                  = 0xd4\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERCABLE                = 0xc6\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIN_RFC3021_HOST                   = 0x1\n\tIN_RFC3021_NET                    = 0xfffffffe\n\tIN_RFC3021_NSHIFT                 = 0x1f\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_DIVERT                    = 0x102\n\tIPPROTO_DIVERT_INIT               = 0x2\n\tIPPROTO_DIVERT_RESP               = 0x1\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x103\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_MPLS                      = 0x89\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_UDP                       = 0x11\n\tIPV6_AUTH_LEVEL                   = 0x35\n\tIPV6_AUTOFLOWLABEL                = 0x3b\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_ESP_NETWORK_LEVEL            = 0x37\n\tIPV6_ESP_TRANS_LEVEL              = 0x36\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPCOMP_LEVEL                 = 0x3c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_OPTIONS                      = 0x1\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PIPEX                        = 0x3f\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVDSTPORT                  = 0x40\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTABLE                       = 0x1021\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_AUTH_LEVEL                     = 0x14\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DIVERTFL                       = 0x1022\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_ESP_NETWORK_LEVEL              = 0x16\n\tIP_ESP_TRANS_LEVEL                = 0x15\n\tIP_HDRINCL                        = 0x2\n\tIP_IPCOMP_LEVEL                   = 0x1d\n\tIP_IPSECFLOWINFO                  = 0x24\n\tIP_IPSEC_LOCAL_AUTH               = 0x1b\n\tIP_IPSEC_LOCAL_CRED               = 0x19\n\tIP_IPSEC_LOCAL_ID                 = 0x17\n\tIP_IPSEC_REMOTE_AUTH              = 0x1c\n\tIP_IPSEC_REMOTE_CRED              = 0x1a\n\tIP_IPSEC_REMOTE_ID                = 0x18\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MF                             = 0x2000\n\tIP_MINTTL                         = 0x20\n\tIP_MIN_MEMBERSHIPS                = 0xf\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PIPEX                          = 0x22\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVDSTPORT                    = 0x21\n\tIP_RECVIF                         = 0x1e\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVRTABLE                     = 0x23\n\tIP_RECVTTL                        = 0x1f\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RTABLE                         = 0x1021\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLCNT_OVERLOAD_FLUSH               = 0x6\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x6\n\tMADV_NORMAL                       = 0x0\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SPACEAVAIL                   = 0x5\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ANON                          = 0x1000\n\tMAP_COPY                          = 0x4\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_FLAGMASK                      = 0x1ff7\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_INHERIT                       = 0x80\n\tMAP_INHERIT_COPY                  = 0x1\n\tMAP_INHERIT_DONATE_COPY           = 0x3\n\tMAP_INHERIT_NONE                  = 0x2\n\tMAP_INHERIT_SHARE                 = 0x0\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_SHARED                        = 0x1\n\tMAP_TRYFIXED                      = 0x400\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMSG_BCAST                         = 0x100\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOR                           = 0x8\n\tMSG_MCAST                         = 0x200\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x4\n\tMS_SYNC                           = 0x2\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_MAXID                      = 0x6\n\tNET_RT_STATS                      = 0x4\n\tNET_RT_TABLE                      = 0x5\n\tNOFLSH                            = 0x80000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EOF                          = 0x2\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRUNCATE                     = 0x80\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tONLCR                             = 0x2\n\tONLRET                            = 0x80\n\tONOCR                             = 0x40\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tO_ACCMODE                         = 0x3\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x10000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x20000\n\tO_DSYNC                           = 0x80\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_RSYNC                           = 0x80\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPF_FLUSH                          = 0x1\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_LABEL                        = 0xa\n\tRTAX_MAX                          = 0xb\n\tRTAX_NETMASK                      = 0x2\n\tRTAX_SRC                          = 0x8\n\tRTAX_SRCMASK                      = 0x9\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_LABEL                         = 0x400\n\tRTA_NETMASK                       = 0x4\n\tRTA_SRC                           = 0x100\n\tRTA_SRCMASK                       = 0x200\n\tRTF_ANNOUNCE                      = 0x4000\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_CLONED                        = 0x10000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_FMASK                         = 0x10f808\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_MASK                          = 0x80\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MPATH                         = 0x40000\n\tRTF_MPLS                          = 0x100000\n\tRTF_PERMANENT_ARP                 = 0x2000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x2000\n\tRTF_REJECT                        = 0x8\n\tRTF_SOURCE                        = 0x20000\n\tRTF_STATIC                        = 0x800\n\tRTF_TUNNEL                        = 0x100000\n\tRTF_UP                            = 0x1\n\tRTF_USETRAILERS                   = 0x8000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DESYNC                        = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_IFANNOUNCE                    = 0xf\n\tRTM_IFINFO                        = 0xe\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MAXSIZE                       = 0x800\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRT_TABLEID_MAX                    = 0xff\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tRUSAGE_THREAD                     = 0x1\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCAIFGROUP                      = 0x80286987\n\tSIOCALIFADDR                      = 0x8218691c\n\tSIOCATMARK                        = 0x40047307\n\tSIOCBRDGADD                       = 0x8058693c\n\tSIOCBRDGADDS                      = 0x80586941\n\tSIOCBRDGARL                       = 0x806e694d\n\tSIOCBRDGDADDR                     = 0x81286947\n\tSIOCBRDGDEL                       = 0x8058693d\n\tSIOCBRDGDELS                      = 0x80586942\n\tSIOCBRDGFLUSH                     = 0x80586948\n\tSIOCBRDGFRL                       = 0x806e694e\n\tSIOCBRDGGCACHE                    = 0xc0146941\n\tSIOCBRDGGFD                       = 0xc0146952\n\tSIOCBRDGGHT                       = 0xc0146951\n\tSIOCBRDGGIFFLGS                   = 0xc058693e\n\tSIOCBRDGGMA                       = 0xc0146953\n\tSIOCBRDGGPARAM                    = 0xc0406958\n\tSIOCBRDGGPRI                      = 0xc0146950\n\tSIOCBRDGGRL                       = 0xc030694f\n\tSIOCBRDGGSIFS                     = 0xc058693c\n\tSIOCBRDGGTO                       = 0xc0146946\n\tSIOCBRDGIFS                       = 0xc0586942\n\tSIOCBRDGRTS                       = 0xc0206943\n\tSIOCBRDGSADDR                     = 0xc1286944\n\tSIOCBRDGSCACHE                    = 0x80146940\n\tSIOCBRDGSFD                       = 0x80146952\n\tSIOCBRDGSHT                       = 0x80146951\n\tSIOCBRDGSIFCOST                   = 0x80586955\n\tSIOCBRDGSIFFLGS                   = 0x8058693f\n\tSIOCBRDGSIFPRIO                   = 0x80586954\n\tSIOCBRDGSMA                       = 0x80146953\n\tSIOCBRDGSPRI                      = 0x80146950\n\tSIOCBRDGSPROTO                    = 0x8014695a\n\tSIOCBRDGSTO                       = 0x80146945\n\tSIOCBRDGSTXHC                     = 0x80146959\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFGROUP                      = 0x80286989\n\tSIOCDIFPHYADDR                    = 0x80206949\n\tSIOCDLIFADDR                      = 0x8218691e\n\tSIOCGETKALIVE                     = 0xc01869a4\n\tSIOCGETLABEL                      = 0x8020699a\n\tSIOCGETPFLOW                      = 0xc02069fe\n\tSIOCGETPFSYNC                     = 0xc02069f8\n\tSIOCGETSGCNT                      = 0xc0207534\n\tSIOCGETVIFCNT                     = 0xc0287533\n\tSIOCGETVLAN                       = 0xc0206990\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCONF                       = 0xc0106924\n\tSIOCGIFDATA                       = 0xc020691b\n\tSIOCGIFDESCR                      = 0xc0206981\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGATTR                      = 0xc028698b\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFGMEMB                      = 0xc028698a\n\tSIOCGIFGROUP                      = 0xc0286988\n\tSIOCGIFHARDMTU                    = 0xc02069a5\n\tSIOCGIFMEDIA                      = 0xc0306936\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc020697e\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206948\n\tSIOCGIFPRIORITY                   = 0xc020699c\n\tSIOCGIFPSRCADDR                   = 0xc0206947\n\tSIOCGIFRDOMAIN                    = 0xc02069a0\n\tSIOCGIFRTLABEL                    = 0xc0206983\n\tSIOCGIFTIMESLOT                   = 0xc0206986\n\tSIOCGIFXFLAGS                     = 0xc020699e\n\tSIOCGLIFADDR                      = 0xc218691d\n\tSIOCGLIFPHYADDR                   = 0xc218694b\n\tSIOCGLIFPHYRTABLE                 = 0xc02069a2\n\tSIOCGLIFPHYTTL                    = 0xc02069a9\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGSPPPPARAMS                   = 0xc0206994\n\tSIOCGVH                           = 0xc02069f6\n\tSIOCGVNETID                       = 0xc02069a7\n\tSIOCIFCREATE                      = 0x8020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc0106978\n\tSIOCSETKALIVE                     = 0x801869a3\n\tSIOCSETLABEL                      = 0x80206999\n\tSIOCSETPFLOW                      = 0x802069fd\n\tSIOCSETPFSYNC                     = 0x802069f7\n\tSIOCSETVLAN                       = 0x8020698f\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFDESCR                      = 0x80206980\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGATTR                      = 0x8028698c\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFLLADDR                     = 0x8020691f\n\tSIOCSIFMEDIA                      = 0xc0206935\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x8020697f\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSIFPRIORITY                   = 0x8020699b\n\tSIOCSIFRDOMAIN                    = 0x8020699f\n\tSIOCSIFRTLABEL                    = 0x80206982\n\tSIOCSIFTIMESLOT                   = 0x80206985\n\tSIOCSIFXFLAGS                     = 0x8020699d\n\tSIOCSLIFPHYADDR                   = 0x8218694a\n\tSIOCSLIFPHYRTABLE                 = 0x802069a1\n\tSIOCSLIFPHYTTL                    = 0x802069a8\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSIOCSSPPPPARAMS                   = 0x80206993\n\tSIOCSVH                           = 0xc02069f5\n\tSIOCSVNETID                       = 0x802069a6\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BINDANY                        = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NETPROC                        = 0x1020\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERCRED                       = 0x1022\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_RTABLE                         = 0x1021\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_SPLICE                         = 0x1023\n\tSO_TIMESTAMP                      = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tTCIFLUSH                          = 0x1\n\tTCIOFLUSH                         = 0x3\n\tTCOFLUSH                          = 0x2\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x3\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MD5SIG                        = 0x4\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOPUSH                        = 0x10\n\tTCP_NSTATES                       = 0xb\n\tTCP_SACK_ENABLE                   = 0x8\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLAG_CLOCAL                   = 0x2\n\tTIOCFLAG_CRTSCTS                  = 0x4\n\tTIOCFLAG_MDMBUF                   = 0x8\n\tTIOCFLAG_PPS                      = 0x10\n\tTIOCFLAG_SOFTCAR                  = 0x1\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGFLAGS                        = 0x4004745d\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGSID                          = 0x40047463\n\tTIOCGTSTAMP                       = 0x4010745b\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x4004746a\n\tTIOCMODS                          = 0x8004746d\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSFLAGS                        = 0x8004745c\n\tTIOCSIG                           = 0x8004745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x80047465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSTSTAMP                       = 0x8008745a\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWALTSIG                           = 0x4\n\tWCONTINUED                        = 0x8\n\tWCOREFLAG                         = 0x80\n\tWNOHANG                           = 0x1\n\tWSTOPPED                          = 0x7f\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x58)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x59)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEIPSEC          = syscall.Errno(0x52)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x5b)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMEDIUMTYPE     = syscall.Errno(0x56)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x53)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOMEDIUM       = syscall.Errno(0x55)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5a)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x5b)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x57)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTHR    = syscall.Signal(0x20)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:  \"operation not permitted\",\n\t2:  \"no such file or directory\",\n\t3:  \"no such process\",\n\t4:  \"interrupted system call\",\n\t5:  \"input/output error\",\n\t6:  \"device not configured\",\n\t7:  \"argument list too long\",\n\t8:  \"exec format error\",\n\t9:  \"bad file descriptor\",\n\t10: \"no child processes\",\n\t11: \"resource deadlock avoided\",\n\t12: \"cannot allocate memory\",\n\t13: \"permission denied\",\n\t14: \"bad address\",\n\t15: \"block device required\",\n\t16: \"device busy\",\n\t17: \"file exists\",\n\t18: \"cross-device link\",\n\t19: \"operation not supported by device\",\n\t20: \"not a directory\",\n\t21: \"is a directory\",\n\t22: \"invalid argument\",\n\t23: \"too many open files in system\",\n\t24: \"too many open files\",\n\t25: \"inappropriate ioctl for device\",\n\t26: \"text file busy\",\n\t27: \"file too large\",\n\t28: \"no space left on device\",\n\t29: \"illegal seek\",\n\t30: \"read-only file system\",\n\t31: \"too many links\",\n\t32: \"broken pipe\",\n\t33: \"numerical argument out of domain\",\n\t34: \"result too large\",\n\t35: \"resource temporarily unavailable\",\n\t36: \"operation now in progress\",\n\t37: \"operation already in progress\",\n\t38: \"socket operation on non-socket\",\n\t39: \"destination address required\",\n\t40: \"message too long\",\n\t41: \"protocol wrong type for socket\",\n\t42: \"protocol not available\",\n\t43: \"protocol not supported\",\n\t44: \"socket type not supported\",\n\t45: \"operation not supported\",\n\t46: \"protocol family not supported\",\n\t47: \"address family not supported by protocol family\",\n\t48: \"address already in use\",\n\t49: \"can't assign requested address\",\n\t50: \"network is down\",\n\t51: \"network is unreachable\",\n\t52: \"network dropped connection on reset\",\n\t53: \"software caused connection abort\",\n\t54: \"connection reset by peer\",\n\t55: \"no buffer space available\",\n\t56: \"socket is already connected\",\n\t57: \"socket is not connected\",\n\t58: \"can't send after socket shutdown\",\n\t59: \"too many references: can't splice\",\n\t60: \"connection timed out\",\n\t61: \"connection refused\",\n\t62: \"too many levels of symbolic links\",\n\t63: \"file name too long\",\n\t64: \"host is down\",\n\t65: \"no route to host\",\n\t66: \"directory not empty\",\n\t67: \"too many processes\",\n\t68: \"too many users\",\n\t69: \"disc quota exceeded\",\n\t70: \"stale NFS file handle\",\n\t71: \"too many levels of remote in path\",\n\t72: \"RPC struct is bad\",\n\t73: \"RPC version wrong\",\n\t74: \"RPC prog. not avail\",\n\t75: \"program version wrong\",\n\t76: \"bad procedure for program\",\n\t77: \"no locks available\",\n\t78: \"function not implemented\",\n\t79: \"inappropriate file type or format\",\n\t80: \"authentication error\",\n\t81: \"need authenticator\",\n\t82: \"IPsec processing failure\",\n\t83: \"attribute not found\",\n\t84: \"illegal byte sequence\",\n\t85: \"no medium found\",\n\t86: \"wrong medium type\",\n\t87: \"value too large to be stored in data type\",\n\t88: \"operation canceled\",\n\t89: \"identifier removed\",\n\t90: \"no message of desired type\",\n\t91: \"not supported\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"stopped (signal)\",\n\t18: \"stopped\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n\t32: \"thread AST\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go",
    "content": "// mkerrors.sh\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- _const.go\n\n// +build arm,openbsd\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_BLUETOOTH                      = 0x20\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_ENCAP                          = 0x1c\n\tAF_HYLINK                         = 0xf\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x18\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_KEY                            = 0x1e\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x24\n\tAF_MPLS                           = 0x21\n\tAF_NATM                           = 0x1b\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x1d\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tARPHRD_ETHER                      = 0x1\n\tARPHRD_FRELAY                     = 0xf\n\tARPHRD_IEEE1394                   = 0x18\n\tARPHRD_IEEE802                    = 0x6\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDIRFILT                      = 0x4004427c\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc008427b\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGFILDROP                      = 0x40044278\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044273\n\tBIOCGRTIMEOUT                     = 0x400c426e\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCLOCK                          = 0x20004276\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDIRFILT                      = 0x8004427d\n\tBIOCSDLT                          = 0x8004427a\n\tBIOCSETF                          = 0x80084267\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSETWF                         = 0x80084277\n\tBIOCSFILDROP                      = 0x80044279\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044272\n\tBIOCSRTIMEOUT                     = 0x800c426d\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIRECTION_IN                  = 0x1\n\tBPF_DIRECTION_OUT                 = 0x2\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x200000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCREAD                             = 0x800\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0xff\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDIOCOSFPFLUSH                     = 0x2000444e\n\tDLT_ARCNET                        = 0x7\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AX25                          = 0x3\n\tDLT_CHAOS                         = 0x5\n\tDLT_C_HDLC                        = 0x68\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0xd\n\tDLT_FDDI                          = 0xa\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_LOOP                          = 0xc\n\tDLT_MPLS                          = 0xdb\n\tDLT_NULL                          = 0x0\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PRONET                        = 0x4\n\tDLT_RAW                           = 0xe\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEMT_TAGOVF                        = 0x1\n\tEMUL_ENABLED                      = 0x1\n\tEMUL_NATIVE                       = 0x2\n\tENDRUNDISC                        = 0x9\n\tETHERMIN                          = 0x2e\n\tETHERMTU                          = 0x5dc\n\tETHERTYPE_8023                    = 0x4\n\tETHERTYPE_AARP                    = 0x80f3\n\tETHERTYPE_ACCTON                  = 0x8390\n\tETHERTYPE_AEONIC                  = 0x8036\n\tETHERTYPE_ALPHA                   = 0x814a\n\tETHERTYPE_AMBER                   = 0x6008\n\tETHERTYPE_AMOEBA                  = 0x8145\n\tETHERTYPE_AOE                     = 0x88a2\n\tETHERTYPE_APOLLO                  = 0x80f7\n\tETHERTYPE_APOLLODOMAIN            = 0x8019\n\tETHERTYPE_APPLETALK               = 0x809b\n\tETHERTYPE_APPLITEK                = 0x80c7\n\tETHERTYPE_ARGONAUT                = 0x803a\n\tETHERTYPE_ARP                     = 0x806\n\tETHERTYPE_AT                      = 0x809b\n\tETHERTYPE_ATALK                   = 0x809b\n\tETHERTYPE_ATOMIC                  = 0x86df\n\tETHERTYPE_ATT                     = 0x8069\n\tETHERTYPE_ATTSTANFORD             = 0x8008\n\tETHERTYPE_AUTOPHON                = 0x806a\n\tETHERTYPE_AXIS                    = 0x8856\n\tETHERTYPE_BCLOOP                  = 0x9003\n\tETHERTYPE_BOFL                    = 0x8102\n\tETHERTYPE_CABLETRON               = 0x7034\n\tETHERTYPE_CHAOS                   = 0x804\n\tETHERTYPE_COMDESIGN               = 0x806c\n\tETHERTYPE_COMPUGRAPHIC            = 0x806d\n\tETHERTYPE_COUNTERPOINT            = 0x8062\n\tETHERTYPE_CRONUS                  = 0x8004\n\tETHERTYPE_CRONUSVLN               = 0x8003\n\tETHERTYPE_DCA                     = 0x1234\n\tETHERTYPE_DDE                     = 0x807b\n\tETHERTYPE_DEBNI                   = 0xaaaa\n\tETHERTYPE_DECAM                   = 0x8048\n\tETHERTYPE_DECCUST                 = 0x6006\n\tETHERTYPE_DECDIAG                 = 0x6005\n\tETHERTYPE_DECDNS                  = 0x803c\n\tETHERTYPE_DECDTS                  = 0x803e\n\tETHERTYPE_DECEXPER                = 0x6000\n\tETHERTYPE_DECLAST                 = 0x8041\n\tETHERTYPE_DECLTM                  = 0x803f\n\tETHERTYPE_DECMUMPS                = 0x6009\n\tETHERTYPE_DECNETBIOS              = 0x8040\n\tETHERTYPE_DELTACON                = 0x86de\n\tETHERTYPE_DIDDLE                  = 0x4321\n\tETHERTYPE_DLOG1                   = 0x660\n\tETHERTYPE_DLOG2                   = 0x661\n\tETHERTYPE_DN                      = 0x6003\n\tETHERTYPE_DOGFIGHT                = 0x1989\n\tETHERTYPE_DSMD                    = 0x8039\n\tETHERTYPE_ECMA                    = 0x803\n\tETHERTYPE_ENCRYPT                 = 0x803d\n\tETHERTYPE_ES                      = 0x805d\n\tETHERTYPE_EXCELAN                 = 0x8010\n\tETHERTYPE_EXPERDATA               = 0x8049\n\tETHERTYPE_FLIP                    = 0x8146\n\tETHERTYPE_FLOWCONTROL             = 0x8808\n\tETHERTYPE_FRARP                   = 0x808\n\tETHERTYPE_GENDYN                  = 0x8068\n\tETHERTYPE_HAYES                   = 0x8130\n\tETHERTYPE_HIPPI_FP                = 0x8180\n\tETHERTYPE_HITACHI                 = 0x8820\n\tETHERTYPE_HP                      = 0x8005\n\tETHERTYPE_IEEEPUP                 = 0xa00\n\tETHERTYPE_IEEEPUPAT               = 0xa01\n\tETHERTYPE_IMLBL                   = 0x4c42\n\tETHERTYPE_IMLBLDIAG               = 0x424c\n\tETHERTYPE_IP                      = 0x800\n\tETHERTYPE_IPAS                    = 0x876c\n\tETHERTYPE_IPV6                    = 0x86dd\n\tETHERTYPE_IPX                     = 0x8137\n\tETHERTYPE_IPXNEW                  = 0x8037\n\tETHERTYPE_KALPANA                 = 0x8582\n\tETHERTYPE_LANBRIDGE               = 0x8038\n\tETHERTYPE_LANPROBE                = 0x8888\n\tETHERTYPE_LAT                     = 0x6004\n\tETHERTYPE_LBACK                   = 0x9000\n\tETHERTYPE_LITTLE                  = 0x8060\n\tETHERTYPE_LLDP                    = 0x88cc\n\tETHERTYPE_LOGICRAFT               = 0x8148\n\tETHERTYPE_LOOPBACK                = 0x9000\n\tETHERTYPE_MATRA                   = 0x807a\n\tETHERTYPE_MAX                     = 0xffff\n\tETHERTYPE_MERIT                   = 0x807c\n\tETHERTYPE_MICP                    = 0x873a\n\tETHERTYPE_MOPDL                   = 0x6001\n\tETHERTYPE_MOPRC                   = 0x6002\n\tETHERTYPE_MOTOROLA                = 0x818d\n\tETHERTYPE_MPLS                    = 0x8847\n\tETHERTYPE_MPLS_MCAST              = 0x8848\n\tETHERTYPE_MUMPS                   = 0x813f\n\tETHERTYPE_NBPCC                   = 0x3c04\n\tETHERTYPE_NBPCLAIM                = 0x3c09\n\tETHERTYPE_NBPCLREQ                = 0x3c05\n\tETHERTYPE_NBPCLRSP                = 0x3c06\n\tETHERTYPE_NBPCREQ                 = 0x3c02\n\tETHERTYPE_NBPCRSP                 = 0x3c03\n\tETHERTYPE_NBPDG                   = 0x3c07\n\tETHERTYPE_NBPDGB                  = 0x3c08\n\tETHERTYPE_NBPDLTE                 = 0x3c0a\n\tETHERTYPE_NBPRAR                  = 0x3c0c\n\tETHERTYPE_NBPRAS                  = 0x3c0b\n\tETHERTYPE_NBPRST                  = 0x3c0d\n\tETHERTYPE_NBPSCD                  = 0x3c01\n\tETHERTYPE_NBPVCD                  = 0x3c00\n\tETHERTYPE_NBS                     = 0x802\n\tETHERTYPE_NCD                     = 0x8149\n\tETHERTYPE_NESTAR                  = 0x8006\n\tETHERTYPE_NETBEUI                 = 0x8191\n\tETHERTYPE_NOVELL                  = 0x8138\n\tETHERTYPE_NS                      = 0x600\n\tETHERTYPE_NSAT                    = 0x601\n\tETHERTYPE_NSCOMPAT                = 0x807\n\tETHERTYPE_NTRAILER                = 0x10\n\tETHERTYPE_OS9                     = 0x7007\n\tETHERTYPE_OS9NET                  = 0x7009\n\tETHERTYPE_PACER                   = 0x80c6\n\tETHERTYPE_PAE                     = 0x888e\n\tETHERTYPE_PCS                     = 0x4242\n\tETHERTYPE_PLANNING                = 0x8044\n\tETHERTYPE_PPP                     = 0x880b\n\tETHERTYPE_PPPOE                   = 0x8864\n\tETHERTYPE_PPPOEDISC               = 0x8863\n\tETHERTYPE_PRIMENTS                = 0x7031\n\tETHERTYPE_PUP                     = 0x200\n\tETHERTYPE_PUPAT                   = 0x200\n\tETHERTYPE_QINQ                    = 0x88a8\n\tETHERTYPE_RACAL                   = 0x7030\n\tETHERTYPE_RATIONAL                = 0x8150\n\tETHERTYPE_RAWFR                   = 0x6559\n\tETHERTYPE_RCL                     = 0x1995\n\tETHERTYPE_RDP                     = 0x8739\n\tETHERTYPE_RETIX                   = 0x80f2\n\tETHERTYPE_REVARP                  = 0x8035\n\tETHERTYPE_SCA                     = 0x6007\n\tETHERTYPE_SECTRA                  = 0x86db\n\tETHERTYPE_SECUREDATA              = 0x876d\n\tETHERTYPE_SGITW                   = 0x817e\n\tETHERTYPE_SG_BOUNCE               = 0x8016\n\tETHERTYPE_SG_DIAG                 = 0x8013\n\tETHERTYPE_SG_NETGAMES             = 0x8014\n\tETHERTYPE_SG_RESV                 = 0x8015\n\tETHERTYPE_SIMNET                  = 0x5208\n\tETHERTYPE_SLOW                    = 0x8809\n\tETHERTYPE_SNA                     = 0x80d5\n\tETHERTYPE_SNMP                    = 0x814c\n\tETHERTYPE_SONIX                   = 0xfaf5\n\tETHERTYPE_SPIDER                  = 0x809f\n\tETHERTYPE_SPRITE                  = 0x500\n\tETHERTYPE_STP                     = 0x8181\n\tETHERTYPE_TALARIS                 = 0x812b\n\tETHERTYPE_TALARISMC               = 0x852b\n\tETHERTYPE_TCPCOMP                 = 0x876b\n\tETHERTYPE_TCPSM                   = 0x9002\n\tETHERTYPE_TEC                     = 0x814f\n\tETHERTYPE_TIGAN                   = 0x802f\n\tETHERTYPE_TRAIL                   = 0x1000\n\tETHERTYPE_TRANSETHER              = 0x6558\n\tETHERTYPE_TYMSHARE                = 0x802e\n\tETHERTYPE_UBBST                   = 0x7005\n\tETHERTYPE_UBDEBUG                 = 0x900\n\tETHERTYPE_UBDIAGLOOP              = 0x7002\n\tETHERTYPE_UBDL                    = 0x7000\n\tETHERTYPE_UBNIU                   = 0x7001\n\tETHERTYPE_UBNMC                   = 0x7003\n\tETHERTYPE_VALID                   = 0x1600\n\tETHERTYPE_VARIAN                  = 0x80dd\n\tETHERTYPE_VAXELN                  = 0x803b\n\tETHERTYPE_VEECO                   = 0x8067\n\tETHERTYPE_VEXP                    = 0x805b\n\tETHERTYPE_VGLAB                   = 0x8131\n\tETHERTYPE_VINES                   = 0xbad\n\tETHERTYPE_VINESECHO               = 0xbaf\n\tETHERTYPE_VINESLOOP               = 0xbae\n\tETHERTYPE_VITAL                   = 0xff00\n\tETHERTYPE_VLAN                    = 0x8100\n\tETHERTYPE_VLTLMAN                 = 0x8080\n\tETHERTYPE_VPROD                   = 0x805c\n\tETHERTYPE_VURESERVED              = 0x8147\n\tETHERTYPE_WATERLOO                = 0x8130\n\tETHERTYPE_WELLFLEET               = 0x8103\n\tETHERTYPE_X25                     = 0x805\n\tETHERTYPE_X75                     = 0x801\n\tETHERTYPE_XNSSM                   = 0x9001\n\tETHERTYPE_XTP                     = 0x817d\n\tETHER_ADDR_LEN                    = 0x6\n\tETHER_ALIGN                       = 0x2\n\tETHER_CRC_LEN                     = 0x4\n\tETHER_CRC_POLY_BE                 = 0x4c11db6\n\tETHER_CRC_POLY_LE                 = 0xedb88320\n\tETHER_HDR_LEN                     = 0xe\n\tETHER_MAX_DIX_LEN                 = 0x600\n\tETHER_MAX_LEN                     = 0x5ee\n\tETHER_MIN_LEN                     = 0x40\n\tETHER_TYPE_LEN                    = 0x2\n\tETHER_VLAN_ENCAP_LEN              = 0x4\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0x7\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFLUSHO                            = 0x800000\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0xa\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETOWN                          = 0x5\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFA_ROUTE                         = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x8e52\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BLUETOOTH                     = 0xf8\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf7\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DOCSCABLEUPSTREAMCHANNEL      = 0xcd\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DUMMY                         = 0xf1\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ECONET                        = 0xce\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf3\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INFINIBAND                    = 0xc7\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LINEGROUP                     = 0xd2\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFLOW                         = 0xf9\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_PON155                        = 0xcf\n\tIFT_PON622                        = 0xd0\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPATM                       = 0xc5\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf2\n\tIFT_Q2931                         = 0xc9\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SIPSIG                        = 0xcc\n\tIFT_SIPTG                         = 0xcb\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TELINK                        = 0xc8\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VIRTUALTG                     = 0xca\n\tIFT_VOICEDID                      = 0xd5\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEEMFGD                    = 0xd3\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFGDEANA                  = 0xd4\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERCABLE                = 0xc6\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIN_RFC3021_HOST                   = 0x1\n\tIN_RFC3021_NET                    = 0xfffffffe\n\tIN_RFC3021_NSHIFT                 = 0x1f\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_DIVERT                    = 0x102\n\tIPPROTO_DIVERT_INIT               = 0x2\n\tIPPROTO_DIVERT_RESP               = 0x1\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x103\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_MPLS                      = 0x89\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_UDP                       = 0x11\n\tIPV6_AUTH_LEVEL                   = 0x35\n\tIPV6_AUTOFLOWLABEL                = 0x3b\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_ESP_NETWORK_LEVEL            = 0x37\n\tIPV6_ESP_TRANS_LEVEL              = 0x36\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPCOMP_LEVEL                 = 0x3c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_OPTIONS                      = 0x1\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PIPEX                        = 0x3f\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVDSTPORT                  = 0x40\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTABLE                       = 0x1021\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_AUTH_LEVEL                     = 0x14\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DIVERTFL                       = 0x1022\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_ESP_NETWORK_LEVEL              = 0x16\n\tIP_ESP_TRANS_LEVEL                = 0x15\n\tIP_HDRINCL                        = 0x2\n\tIP_IPCOMP_LEVEL                   = 0x1d\n\tIP_IPSECFLOWINFO                  = 0x24\n\tIP_IPSEC_LOCAL_AUTH               = 0x1b\n\tIP_IPSEC_LOCAL_CRED               = 0x19\n\tIP_IPSEC_LOCAL_ID                 = 0x17\n\tIP_IPSEC_REMOTE_AUTH              = 0x1c\n\tIP_IPSEC_REMOTE_CRED              = 0x1a\n\tIP_IPSEC_REMOTE_ID                = 0x18\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MF                             = 0x2000\n\tIP_MINTTL                         = 0x20\n\tIP_MIN_MEMBERSHIPS                = 0xf\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PIPEX                          = 0x22\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVDSTPORT                    = 0x21\n\tIP_RECVIF                         = 0x1e\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVRTABLE                     = 0x23\n\tIP_RECVTTL                        = 0x1f\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RTABLE                         = 0x1021\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLCNT_OVERLOAD_FLUSH               = 0x6\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x6\n\tMADV_NORMAL                       = 0x0\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SPACEAVAIL                   = 0x5\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_FLAGMASK                      = 0x3ff7\n\tMAP_HASSEMAPHORE                  = 0x0\n\tMAP_INHERIT                       = 0x0\n\tMAP_INHERIT_COPY                  = 0x1\n\tMAP_INHERIT_NONE                  = 0x2\n\tMAP_INHERIT_SHARE                 = 0x0\n\tMAP_INHERIT_ZERO                  = 0x3\n\tMAP_NOEXTEND                      = 0x0\n\tMAP_NORESERVE                     = 0x0\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x0\n\tMAP_SHARED                        = 0x1\n\tMAP_TRYFIXED                      = 0x0\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMSG_BCAST                         = 0x100\n\tMSG_CMSG_CLOEXEC                  = 0x800\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOR                           = 0x8\n\tMSG_MCAST                         = 0x200\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x4\n\tMS_SYNC                           = 0x2\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_MAXID                      = 0x6\n\tNET_RT_STATS                      = 0x4\n\tNET_RT_TABLE                      = 0x5\n\tNOFLSH                            = 0x80000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EOF                          = 0x2\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRUNCATE                     = 0x80\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tONLCR                             = 0x2\n\tONLRET                            = 0x80\n\tONOCR                             = 0x40\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tO_ACCMODE                         = 0x3\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x10000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x20000\n\tO_DSYNC                           = 0x80\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_RSYNC                           = 0x80\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPF_FLUSH                          = 0x1\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_LABEL                        = 0xa\n\tRTAX_MAX                          = 0xb\n\tRTAX_NETMASK                      = 0x2\n\tRTAX_SRC                          = 0x8\n\tRTAX_SRCMASK                      = 0x9\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_LABEL                         = 0x400\n\tRTA_NETMASK                       = 0x4\n\tRTA_SRC                           = 0x100\n\tRTA_SRCMASK                       = 0x200\n\tRTF_ANNOUNCE                      = 0x4000\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CLONED                        = 0x10000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_FMASK                         = 0x70f808\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MASK                          = 0x80\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MPATH                         = 0x40000\n\tRTF_MPLS                          = 0x100000\n\tRTF_PERMANENT_ARP                 = 0x2000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x2000\n\tRTF_REJECT                        = 0x8\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_USETRAILERS                   = 0x8000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DESYNC                        = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_IFANNOUNCE                    = 0xf\n\tRTM_IFINFO                        = 0xe\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MAXSIZE                       = 0x800\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRT_TABLEID_MAX                    = 0xff\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tRUSAGE_THREAD                     = 0x1\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCAIFGROUP                      = 0x80246987\n\tSIOCALIFADDR                      = 0x8218691c\n\tSIOCATMARK                        = 0x40047307\n\tSIOCBRDGADD                       = 0x8054693c\n\tSIOCBRDGADDS                      = 0x80546941\n\tSIOCBRDGARL                       = 0x806e694d\n\tSIOCBRDGDADDR                     = 0x81286947\n\tSIOCBRDGDEL                       = 0x8054693d\n\tSIOCBRDGDELS                      = 0x80546942\n\tSIOCBRDGFLUSH                     = 0x80546948\n\tSIOCBRDGFRL                       = 0x806e694e\n\tSIOCBRDGGCACHE                    = 0xc0146941\n\tSIOCBRDGGFD                       = 0xc0146952\n\tSIOCBRDGGHT                       = 0xc0146951\n\tSIOCBRDGGIFFLGS                   = 0xc054693e\n\tSIOCBRDGGMA                       = 0xc0146953\n\tSIOCBRDGGPARAM                    = 0xc03c6958\n\tSIOCBRDGGPRI                      = 0xc0146950\n\tSIOCBRDGGRL                       = 0xc028694f\n\tSIOCBRDGGSIFS                     = 0xc054693c\n\tSIOCBRDGGTO                       = 0xc0146946\n\tSIOCBRDGIFS                       = 0xc0546942\n\tSIOCBRDGRTS                       = 0xc0186943\n\tSIOCBRDGSADDR                     = 0xc1286944\n\tSIOCBRDGSCACHE                    = 0x80146940\n\tSIOCBRDGSFD                       = 0x80146952\n\tSIOCBRDGSHT                       = 0x80146951\n\tSIOCBRDGSIFCOST                   = 0x80546955\n\tSIOCBRDGSIFFLGS                   = 0x8054693f\n\tSIOCBRDGSIFPRIO                   = 0x80546954\n\tSIOCBRDGSMA                       = 0x80146953\n\tSIOCBRDGSPRI                      = 0x80146950\n\tSIOCBRDGSPROTO                    = 0x8014695a\n\tSIOCBRDGSTO                       = 0x80146945\n\tSIOCBRDGSTXHC                     = 0x80146959\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFGROUP                      = 0x80246989\n\tSIOCDIFPHYADDR                    = 0x80206949\n\tSIOCDLIFADDR                      = 0x8218691e\n\tSIOCGETKALIVE                     = 0xc01869a4\n\tSIOCGETLABEL                      = 0x8020699a\n\tSIOCGETPFLOW                      = 0xc02069fe\n\tSIOCGETPFSYNC                     = 0xc02069f8\n\tSIOCGETSGCNT                      = 0xc0147534\n\tSIOCGETVIFCNT                     = 0xc0147533\n\tSIOCGETVLAN                       = 0xc0206990\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCONF                       = 0xc0086924\n\tSIOCGIFDATA                       = 0xc020691b\n\tSIOCGIFDESCR                      = 0xc0206981\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGATTR                      = 0xc024698b\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFGMEMB                      = 0xc024698a\n\tSIOCGIFGROUP                      = 0xc0246988\n\tSIOCGIFHARDMTU                    = 0xc02069a5\n\tSIOCGIFMEDIA                      = 0xc0286936\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc020697e\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206948\n\tSIOCGIFPRIORITY                   = 0xc020699c\n\tSIOCGIFPSRCADDR                   = 0xc0206947\n\tSIOCGIFRDOMAIN                    = 0xc02069a0\n\tSIOCGIFRTLABEL                    = 0xc0206983\n\tSIOCGIFRXR                        = 0x802069aa\n\tSIOCGIFTIMESLOT                   = 0xc0206986\n\tSIOCGIFXFLAGS                     = 0xc020699e\n\tSIOCGLIFADDR                      = 0xc218691d\n\tSIOCGLIFPHYADDR                   = 0xc218694b\n\tSIOCGLIFPHYRTABLE                 = 0xc02069a2\n\tSIOCGLIFPHYTTL                    = 0xc02069a9\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGSPPPPARAMS                   = 0xc0206994\n\tSIOCGVH                           = 0xc02069f6\n\tSIOCGVNETID                       = 0xc02069a7\n\tSIOCIFCREATE                      = 0x8020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc00c6978\n\tSIOCSETKALIVE                     = 0x801869a3\n\tSIOCSETLABEL                      = 0x80206999\n\tSIOCSETPFLOW                      = 0x802069fd\n\tSIOCSETPFSYNC                     = 0x802069f7\n\tSIOCSETVLAN                       = 0x8020698f\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFDESCR                      = 0x80206980\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGATTR                      = 0x8024698c\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFLLADDR                     = 0x8020691f\n\tSIOCSIFMEDIA                      = 0xc0206935\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x8020697f\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSIFPRIORITY                   = 0x8020699b\n\tSIOCSIFRDOMAIN                    = 0x8020699f\n\tSIOCSIFRTLABEL                    = 0x80206982\n\tSIOCSIFTIMESLOT                   = 0x80206985\n\tSIOCSIFXFLAGS                     = 0x8020699d\n\tSIOCSLIFPHYADDR                   = 0x8218694a\n\tSIOCSLIFPHYRTABLE                 = 0x802069a1\n\tSIOCSLIFPHYTTL                    = 0x802069a8\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSIOCSSPPPPARAMS                   = 0x80206993\n\tSIOCSVH                           = 0xc02069f5\n\tSIOCSVNETID                       = 0x802069a6\n\tSOCK_CLOEXEC                      = 0x8000\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_NONBLOCK                     = 0x4000\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BINDANY                        = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NETPROC                        = 0x1020\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERCRED                       = 0x1022\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_RTABLE                         = 0x1021\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_SPLICE                         = 0x1023\n\tSO_TIMESTAMP                      = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tTCIFLUSH                          = 0x1\n\tTCIOFLUSH                         = 0x3\n\tTCOFLUSH                          = 0x2\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x3\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MD5SIG                        = 0x4\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOPUSH                        = 0x10\n\tTCP_NSTATES                       = 0xb\n\tTCP_SACK_ENABLE                   = 0x8\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLAG_CLOCAL                   = 0x2\n\tTIOCFLAG_CRTSCTS                  = 0x4\n\tTIOCFLAG_MDMBUF                   = 0x8\n\tTIOCFLAG_PPS                      = 0x10\n\tTIOCFLAG_SOFTCAR                  = 0x1\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGFLAGS                        = 0x4004745d\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGSID                          = 0x40047463\n\tTIOCGTSTAMP                       = 0x400c745b\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x4004746a\n\tTIOCMODS                          = 0x8004746d\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSFLAGS                        = 0x8004745c\n\tTIOCSIG                           = 0x8004745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x80047465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSTSTAMP                       = 0x8008745a\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWALTSIG                           = 0x4\n\tWCONTINUED                        = 0x8\n\tWCOREFLAG                         = 0x80\n\tWNOHANG                           = 0x1\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x58)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x59)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEIPSEC          = syscall.Errno(0x52)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x5b)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMEDIUMTYPE     = syscall.Errno(0x56)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x53)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOMEDIUM       = syscall.Errno(0x55)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5a)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x5b)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x57)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTHR    = syscall.Signal(0x20)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:  \"operation not permitted\",\n\t2:  \"no such file or directory\",\n\t3:  \"no such process\",\n\t4:  \"interrupted system call\",\n\t5:  \"input/output error\",\n\t6:  \"device not configured\",\n\t7:  \"argument list too long\",\n\t8:  \"exec format error\",\n\t9:  \"bad file descriptor\",\n\t10: \"no child processes\",\n\t11: \"resource deadlock avoided\",\n\t12: \"cannot allocate memory\",\n\t13: \"permission denied\",\n\t14: \"bad address\",\n\t15: \"block device required\",\n\t16: \"device busy\",\n\t17: \"file exists\",\n\t18: \"cross-device link\",\n\t19: \"operation not supported by device\",\n\t20: \"not a directory\",\n\t21: \"is a directory\",\n\t22: \"invalid argument\",\n\t23: \"too many open files in system\",\n\t24: \"too many open files\",\n\t25: \"inappropriate ioctl for device\",\n\t26: \"text file busy\",\n\t27: \"file too large\",\n\t28: \"no space left on device\",\n\t29: \"illegal seek\",\n\t30: \"read-only file system\",\n\t31: \"too many links\",\n\t32: \"broken pipe\",\n\t33: \"numerical argument out of domain\",\n\t34: \"result too large\",\n\t35: \"resource temporarily unavailable\",\n\t36: \"operation now in progress\",\n\t37: \"operation already in progress\",\n\t38: \"socket operation on non-socket\",\n\t39: \"destination address required\",\n\t40: \"message too long\",\n\t41: \"protocol wrong type for socket\",\n\t42: \"protocol not available\",\n\t43: \"protocol not supported\",\n\t44: \"socket type not supported\",\n\t45: \"operation not supported\",\n\t46: \"protocol family not supported\",\n\t47: \"address family not supported by protocol family\",\n\t48: \"address already in use\",\n\t49: \"can't assign requested address\",\n\t50: \"network is down\",\n\t51: \"network is unreachable\",\n\t52: \"network dropped connection on reset\",\n\t53: \"software caused connection abort\",\n\t54: \"connection reset by peer\",\n\t55: \"no buffer space available\",\n\t56: \"socket is already connected\",\n\t57: \"socket is not connected\",\n\t58: \"can't send after socket shutdown\",\n\t59: \"too many references: can't splice\",\n\t60: \"connection timed out\",\n\t61: \"connection refused\",\n\t62: \"too many levels of symbolic links\",\n\t63: \"file name too long\",\n\t64: \"host is down\",\n\t65: \"no route to host\",\n\t66: \"directory not empty\",\n\t67: \"too many processes\",\n\t68: \"too many users\",\n\t69: \"disc quota exceeded\",\n\t70: \"stale NFS file handle\",\n\t71: \"too many levels of remote in path\",\n\t72: \"RPC struct is bad\",\n\t73: \"RPC version wrong\",\n\t74: \"RPC prog. not avail\",\n\t75: \"program version wrong\",\n\t76: \"bad procedure for program\",\n\t77: \"no locks available\",\n\t78: \"function not implemented\",\n\t79: \"inappropriate file type or format\",\n\t80: \"authentication error\",\n\t81: \"need authenticator\",\n\t82: \"IPsec processing failure\",\n\t83: \"attribute not found\",\n\t84: \"illegal byte sequence\",\n\t85: \"no medium found\",\n\t86: \"wrong medium type\",\n\t87: \"value too large to be stored in data type\",\n\t88: \"operation canceled\",\n\t89: \"identifier removed\",\n\t90: \"no message of desired type\",\n\t91: \"not supported\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/BPT trap\",\n\t6:  \"abort trap\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"stopped (signal)\",\n\t18: \"stopped\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"cputime limit exceeded\",\n\t25: \"filesize limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window size changes\",\n\t29: \"information request\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n\t32: \"thread AST\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,solaris\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_802                        = 0x12\n\tAF_APPLETALK                  = 0x10\n\tAF_CCITT                      = 0xa\n\tAF_CHAOS                      = 0x5\n\tAF_DATAKIT                    = 0x9\n\tAF_DECnet                     = 0xc\n\tAF_DLI                        = 0xd\n\tAF_ECMA                       = 0x8\n\tAF_FILE                       = 0x1\n\tAF_GOSIP                      = 0x16\n\tAF_HYLINK                     = 0xf\n\tAF_IMPLINK                    = 0x3\n\tAF_INET                       = 0x2\n\tAF_INET6                      = 0x1a\n\tAF_INET_OFFLOAD               = 0x1e\n\tAF_IPX                        = 0x17\n\tAF_KEY                        = 0x1b\n\tAF_LAT                        = 0xe\n\tAF_LINK                       = 0x19\n\tAF_LOCAL                      = 0x1\n\tAF_MAX                        = 0x20\n\tAF_NBS                        = 0x7\n\tAF_NCA                        = 0x1c\n\tAF_NIT                        = 0x11\n\tAF_NS                         = 0x6\n\tAF_OSI                        = 0x13\n\tAF_OSINET                     = 0x15\n\tAF_PACKET                     = 0x20\n\tAF_POLICY                     = 0x1d\n\tAF_PUP                        = 0x4\n\tAF_ROUTE                      = 0x18\n\tAF_SNA                        = 0xb\n\tAF_TRILL                      = 0x1f\n\tAF_UNIX                       = 0x1\n\tAF_UNSPEC                     = 0x0\n\tAF_X25                        = 0x14\n\tARPHRD_ARCNET                 = 0x7\n\tARPHRD_ATM                    = 0x10\n\tARPHRD_AX25                   = 0x3\n\tARPHRD_CHAOS                  = 0x5\n\tARPHRD_EETHER                 = 0x2\n\tARPHRD_ETHER                  = 0x1\n\tARPHRD_FC                     = 0x12\n\tARPHRD_FRAME                  = 0xf\n\tARPHRD_HDLC                   = 0x11\n\tARPHRD_IB                     = 0x20\n\tARPHRD_IEEE802                = 0x6\n\tARPHRD_IPATM                  = 0x13\n\tARPHRD_METRICOM               = 0x17\n\tARPHRD_TUNNEL                 = 0x1f\n\tB0                            = 0x0\n\tB110                          = 0x3\n\tB115200                       = 0x12\n\tB1200                         = 0x9\n\tB134                          = 0x4\n\tB150                          = 0x5\n\tB153600                       = 0x13\n\tB1800                         = 0xa\n\tB19200                        = 0xe\n\tB200                          = 0x6\n\tB230400                       = 0x14\n\tB2400                         = 0xb\n\tB300                          = 0x7\n\tB307200                       = 0x15\n\tB38400                        = 0xf\n\tB460800                       = 0x16\n\tB4800                         = 0xc\n\tB50                           = 0x1\n\tB57600                        = 0x10\n\tB600                          = 0x8\n\tB75                           = 0x2\n\tB76800                        = 0x11\n\tB921600                       = 0x17\n\tB9600                         = 0xd\n\tBIOCFLUSH                     = 0x20004268\n\tBIOCGBLEN                     = 0x40044266\n\tBIOCGDLT                      = 0x4004426a\n\tBIOCGDLTLIST                  = -0x3fefbd89\n\tBIOCGDLTLIST32                = -0x3ff7bd89\n\tBIOCGETIF                     = 0x4020426b\n\tBIOCGETLIF                    = 0x4078426b\n\tBIOCGHDRCMPLT                 = 0x40044274\n\tBIOCGRTIMEOUT                 = 0x4010427b\n\tBIOCGRTIMEOUT32               = 0x4008427b\n\tBIOCGSEESENT                  = 0x40044278\n\tBIOCGSTATS                    = 0x4080426f\n\tBIOCGSTATSOLD                 = 0x4008426f\n\tBIOCIMMEDIATE                 = -0x7ffbbd90\n\tBIOCPROMISC                   = 0x20004269\n\tBIOCSBLEN                     = -0x3ffbbd9a\n\tBIOCSDLT                      = -0x7ffbbd8a\n\tBIOCSETF                      = -0x7fefbd99\n\tBIOCSETF32                    = -0x7ff7bd99\n\tBIOCSETIF                     = -0x7fdfbd94\n\tBIOCSETLIF                    = -0x7f87bd94\n\tBIOCSHDRCMPLT                 = -0x7ffbbd8b\n\tBIOCSRTIMEOUT                 = -0x7fefbd86\n\tBIOCSRTIMEOUT32               = -0x7ff7bd86\n\tBIOCSSEESENT                  = -0x7ffbbd87\n\tBIOCSTCPF                     = -0x7fefbd8e\n\tBIOCSUDPF                     = -0x7fefbd8d\n\tBIOCVERSION                   = 0x40044271\n\tBPF_A                         = 0x10\n\tBPF_ABS                       = 0x20\n\tBPF_ADD                       = 0x0\n\tBPF_ALIGNMENT                 = 0x4\n\tBPF_ALU                       = 0x4\n\tBPF_AND                       = 0x50\n\tBPF_B                         = 0x10\n\tBPF_DFLTBUFSIZE               = 0x100000\n\tBPF_DIV                       = 0x30\n\tBPF_H                         = 0x8\n\tBPF_IMM                       = 0x0\n\tBPF_IND                       = 0x40\n\tBPF_JA                        = 0x0\n\tBPF_JEQ                       = 0x10\n\tBPF_JGE                       = 0x30\n\tBPF_JGT                       = 0x20\n\tBPF_JMP                       = 0x5\n\tBPF_JSET                      = 0x40\n\tBPF_K                         = 0x0\n\tBPF_LD                        = 0x0\n\tBPF_LDX                       = 0x1\n\tBPF_LEN                       = 0x80\n\tBPF_LSH                       = 0x60\n\tBPF_MAJOR_VERSION             = 0x1\n\tBPF_MAXBUFSIZE                = 0x1000000\n\tBPF_MAXINSNS                  = 0x200\n\tBPF_MEM                       = 0x60\n\tBPF_MEMWORDS                  = 0x10\n\tBPF_MINBUFSIZE                = 0x20\n\tBPF_MINOR_VERSION             = 0x1\n\tBPF_MISC                      = 0x7\n\tBPF_MSH                       = 0xa0\n\tBPF_MUL                       = 0x20\n\tBPF_NEG                       = 0x80\n\tBPF_OR                        = 0x40\n\tBPF_RELEASE                   = 0x30bb6\n\tBPF_RET                       = 0x6\n\tBPF_RSH                       = 0x70\n\tBPF_ST                        = 0x2\n\tBPF_STX                       = 0x3\n\tBPF_SUB                       = 0x10\n\tBPF_TAX                       = 0x0\n\tBPF_TXA                       = 0x80\n\tBPF_W                         = 0x0\n\tBPF_X                         = 0x8\n\tBRKINT                        = 0x2\n\tBS0                           = 0x0\n\tBS1                           = 0x2000\n\tBSDLY                         = 0x2000\n\tCBAUD                         = 0xf\n\tCFLUSH                        = 0xf\n\tCIBAUD                        = 0xf0000\n\tCLOCAL                        = 0x800\n\tCLOCK_HIGHRES                 = 0x4\n\tCLOCK_LEVEL                   = 0xa\n\tCLOCK_MONOTONIC               = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID      = 0x5\n\tCLOCK_PROF                    = 0x2\n\tCLOCK_REALTIME                = 0x3\n\tCLOCK_THREAD_CPUTIME_ID       = 0x2\n\tCLOCK_VIRTUAL                 = 0x1\n\tCR0                           = 0x0\n\tCR1                           = 0x200\n\tCR2                           = 0x400\n\tCR3                           = 0x600\n\tCRDLY                         = 0x600\n\tCREAD                         = 0x80\n\tCRTSCTS                       = 0x80000000\n\tCS5                           = 0x0\n\tCS6                           = 0x10\n\tCS7                           = 0x20\n\tCS8                           = 0x30\n\tCSIZE                         = 0x30\n\tCSTART                        = 0x11\n\tCSTATUS                       = 0x14\n\tCSTOP                         = 0x13\n\tCSTOPB                        = 0x40\n\tCSUSP                         = 0x1a\n\tCSWTCH                        = 0x1a\n\tDLT_AIRONET_HEADER            = 0x78\n\tDLT_APPLE_IP_OVER_IEEE1394    = 0x8a\n\tDLT_ARCNET                    = 0x7\n\tDLT_ARCNET_LINUX              = 0x81\n\tDLT_ATM_CLIP                  = 0x13\n\tDLT_ATM_RFC1483               = 0xb\n\tDLT_AURORA                    = 0x7e\n\tDLT_AX25                      = 0x3\n\tDLT_BACNET_MS_TP              = 0xa5\n\tDLT_CHAOS                     = 0x5\n\tDLT_CISCO_IOS                 = 0x76\n\tDLT_C_HDLC                    = 0x68\n\tDLT_DOCSIS                    = 0x8f\n\tDLT_ECONET                    = 0x73\n\tDLT_EN10MB                    = 0x1\n\tDLT_EN3MB                     = 0x2\n\tDLT_ENC                       = 0x6d\n\tDLT_ERF_ETH                   = 0xaf\n\tDLT_ERF_POS                   = 0xb0\n\tDLT_FDDI                      = 0xa\n\tDLT_FRELAY                    = 0x6b\n\tDLT_GCOM_SERIAL               = 0xad\n\tDLT_GCOM_T1E1                 = 0xac\n\tDLT_GPF_F                     = 0xab\n\tDLT_GPF_T                     = 0xaa\n\tDLT_GPRS_LLC                  = 0xa9\n\tDLT_HDLC                      = 0x10\n\tDLT_HHDLC                     = 0x79\n\tDLT_HIPPI                     = 0xf\n\tDLT_IBM_SN                    = 0x92\n\tDLT_IBM_SP                    = 0x91\n\tDLT_IEEE802                   = 0x6\n\tDLT_IEEE802_11                = 0x69\n\tDLT_IEEE802_11_RADIO          = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS      = 0xa3\n\tDLT_IPNET                     = 0xe2\n\tDLT_IPOIB                     = 0xa2\n\tDLT_IP_OVER_FC                = 0x7a\n\tDLT_JUNIPER_ATM1              = 0x89\n\tDLT_JUNIPER_ATM2              = 0x87\n\tDLT_JUNIPER_CHDLC             = 0xb5\n\tDLT_JUNIPER_ES                = 0x84\n\tDLT_JUNIPER_ETHER             = 0xb2\n\tDLT_JUNIPER_FRELAY            = 0xb4\n\tDLT_JUNIPER_GGSN              = 0x85\n\tDLT_JUNIPER_MFR               = 0x86\n\tDLT_JUNIPER_MLFR              = 0x83\n\tDLT_JUNIPER_MLPPP             = 0x82\n\tDLT_JUNIPER_MONITOR           = 0xa4\n\tDLT_JUNIPER_PIC_PEER          = 0xae\n\tDLT_JUNIPER_PPP               = 0xb3\n\tDLT_JUNIPER_PPPOE             = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM         = 0xa8\n\tDLT_JUNIPER_SERVICES          = 0x88\n\tDLT_LINUX_IRDA                = 0x90\n\tDLT_LINUX_LAPD                = 0xb1\n\tDLT_LINUX_SLL                 = 0x71\n\tDLT_LOOP                      = 0x6c\n\tDLT_LTALK                     = 0x72\n\tDLT_MTP2                      = 0x8c\n\tDLT_MTP2_WITH_PHDR            = 0x8b\n\tDLT_MTP3                      = 0x8d\n\tDLT_NULL                      = 0x0\n\tDLT_PCI_EXP                   = 0x7d\n\tDLT_PFLOG                     = 0x75\n\tDLT_PFSYNC                    = 0x12\n\tDLT_PPP                       = 0x9\n\tDLT_PPP_BSDOS                 = 0xe\n\tDLT_PPP_PPPD                  = 0xa6\n\tDLT_PRISM_HEADER              = 0x77\n\tDLT_PRONET                    = 0x4\n\tDLT_RAW                       = 0xc\n\tDLT_RAWAF_MASK                = 0x2240000\n\tDLT_RIO                       = 0x7c\n\tDLT_SCCP                      = 0x8e\n\tDLT_SLIP                      = 0x8\n\tDLT_SLIP_BSDOS                = 0xd\n\tDLT_SUNATM                    = 0x7b\n\tDLT_SYMANTEC_FIREWALL         = 0x63\n\tDLT_TZSP                      = 0x80\n\tECHO                          = 0x8\n\tECHOCTL                       = 0x200\n\tECHOE                         = 0x10\n\tECHOK                         = 0x20\n\tECHOKE                        = 0x800\n\tECHONL                        = 0x40\n\tECHOPRT                       = 0x400\n\tEMPTY_SET                     = 0x0\n\tEMT_CPCOVF                    = 0x1\n\tEQUALITY_CHECK                = 0x0\n\tEXTA                          = 0xe\n\tEXTB                          = 0xf\n\tFD_CLOEXEC                    = 0x1\n\tFD_NFDBITS                    = 0x40\n\tFD_SETSIZE                    = 0x10000\n\tFF0                           = 0x0\n\tFF1                           = 0x8000\n\tFFDLY                         = 0x8000\n\tFLUSHALL                      = 0x1\n\tFLUSHDATA                     = 0x0\n\tFLUSHO                        = 0x2000\n\tF_ALLOCSP                     = 0xa\n\tF_ALLOCSP64                   = 0xa\n\tF_BADFD                       = 0x2e\n\tF_BLKSIZE                     = 0x13\n\tF_BLOCKS                      = 0x12\n\tF_CHKFL                       = 0x8\n\tF_COMPAT                      = 0x8\n\tF_DUP2FD                      = 0x9\n\tF_DUP2FD_CLOEXEC              = 0x24\n\tF_DUPFD                       = 0x0\n\tF_DUPFD_CLOEXEC               = 0x25\n\tF_FLOCK                       = 0x35\n\tF_FLOCK64                     = 0x35\n\tF_FLOCKW                      = 0x36\n\tF_FLOCKW64                    = 0x36\n\tF_FREESP                      = 0xb\n\tF_FREESP64                    = 0xb\n\tF_GETFD                       = 0x1\n\tF_GETFL                       = 0x3\n\tF_GETLK                       = 0xe\n\tF_GETLK64                     = 0xe\n\tF_GETOWN                      = 0x17\n\tF_GETXFL                      = 0x2d\n\tF_HASREMOTELOCKS              = 0x1a\n\tF_ISSTREAM                    = 0xd\n\tF_MANDDNY                     = 0x10\n\tF_MDACC                       = 0x20\n\tF_NODNY                       = 0x0\n\tF_NPRIV                       = 0x10\n\tF_OFD_GETLK                   = 0x2f\n\tF_OFD_GETLK64                 = 0x2f\n\tF_OFD_SETLK                   = 0x30\n\tF_OFD_SETLK64                 = 0x30\n\tF_OFD_SETLKW                  = 0x31\n\tF_OFD_SETLKW64                = 0x31\n\tF_PRIV                        = 0xf\n\tF_QUOTACTL                    = 0x11\n\tF_RDACC                       = 0x1\n\tF_RDDNY                       = 0x1\n\tF_RDLCK                       = 0x1\n\tF_REVOKE                      = 0x19\n\tF_RMACC                       = 0x4\n\tF_RMDNY                       = 0x4\n\tF_RWACC                       = 0x3\n\tF_RWDNY                       = 0x3\n\tF_SETFD                       = 0x2\n\tF_SETFL                       = 0x4\n\tF_SETLK                       = 0x6\n\tF_SETLK64                     = 0x6\n\tF_SETLK64_NBMAND              = 0x2a\n\tF_SETLKW                      = 0x7\n\tF_SETLKW64                    = 0x7\n\tF_SETLK_NBMAND                = 0x2a\n\tF_SETOWN                      = 0x18\n\tF_SHARE                       = 0x28\n\tF_SHARE_NBMAND                = 0x2b\n\tF_UNLCK                       = 0x3\n\tF_UNLKSYS                     = 0x4\n\tF_UNSHARE                     = 0x29\n\tF_WRACC                       = 0x2\n\tF_WRDNY                       = 0x2\n\tF_WRLCK                       = 0x2\n\tHUPCL                         = 0x400\n\tIBSHIFT                       = 0x10\n\tICANON                        = 0x2\n\tICRNL                         = 0x100\n\tIEXTEN                        = 0x8000\n\tIFF_ADDRCONF                  = 0x80000\n\tIFF_ALLMULTI                  = 0x200\n\tIFF_ANYCAST                   = 0x400000\n\tIFF_BROADCAST                 = 0x2\n\tIFF_CANTCHANGE                = 0x7f203003b5a\n\tIFF_COS_ENABLED               = 0x200000000\n\tIFF_DEBUG                     = 0x4\n\tIFF_DEPRECATED                = 0x40000\n\tIFF_DHCPRUNNING               = 0x4000\n\tIFF_DUPLICATE                 = 0x4000000000\n\tIFF_FAILED                    = 0x10000000\n\tIFF_FIXEDMTU                  = 0x1000000000\n\tIFF_INACTIVE                  = 0x40000000\n\tIFF_INTELLIGENT               = 0x400\n\tIFF_IPMP                      = 0x8000000000\n\tIFF_IPMP_CANTCHANGE           = 0x10000000\n\tIFF_IPMP_INVALID              = 0x1ec200080\n\tIFF_IPV4                      = 0x1000000\n\tIFF_IPV6                      = 0x2000000\n\tIFF_L3PROTECT                 = 0x40000000000\n\tIFF_LOOPBACK                  = 0x8\n\tIFF_MULTICAST                 = 0x800\n\tIFF_MULTI_BCAST               = 0x1000\n\tIFF_NOACCEPT                  = 0x4000000\n\tIFF_NOARP                     = 0x80\n\tIFF_NOFAILOVER                = 0x8000000\n\tIFF_NOLINKLOCAL               = 0x20000000000\n\tIFF_NOLOCAL                   = 0x20000\n\tIFF_NONUD                     = 0x200000\n\tIFF_NORTEXCH                  = 0x800000\n\tIFF_NOTRAILERS                = 0x20\n\tIFF_NOXMIT                    = 0x10000\n\tIFF_OFFLINE                   = 0x80000000\n\tIFF_POINTOPOINT               = 0x10\n\tIFF_PREFERRED                 = 0x400000000\n\tIFF_PRIVATE                   = 0x8000\n\tIFF_PROMISC                   = 0x100\n\tIFF_ROUTER                    = 0x100000\n\tIFF_RUNNING                   = 0x40\n\tIFF_STANDBY                   = 0x20000000\n\tIFF_TEMPORARY                 = 0x800000000\n\tIFF_UNNUMBERED                = 0x2000\n\tIFF_UP                        = 0x1\n\tIFF_VIRTUAL                   = 0x2000000000\n\tIFF_VRRP                      = 0x10000000000\n\tIFF_XRESOLV                   = 0x100000000\n\tIFNAMSIZ                      = 0x10\n\tIFT_1822                      = 0x2\n\tIFT_6TO4                      = 0xca\n\tIFT_AAL5                      = 0x31\n\tIFT_ARCNET                    = 0x23\n\tIFT_ARCNETPLUS                = 0x24\n\tIFT_ATM                       = 0x25\n\tIFT_CEPT                      = 0x13\n\tIFT_DS3                       = 0x1e\n\tIFT_EON                       = 0x19\n\tIFT_ETHER                     = 0x6\n\tIFT_FDDI                      = 0xf\n\tIFT_FRELAY                    = 0x20\n\tIFT_FRELAYDCE                 = 0x2c\n\tIFT_HDH1822                   = 0x3\n\tIFT_HIPPI                     = 0x2f\n\tIFT_HSSI                      = 0x2e\n\tIFT_HY                        = 0xe\n\tIFT_IB                        = 0xc7\n\tIFT_IPV4                      = 0xc8\n\tIFT_IPV6                      = 0xc9\n\tIFT_ISDNBASIC                 = 0x14\n\tIFT_ISDNPRIMARY               = 0x15\n\tIFT_ISO88022LLC               = 0x29\n\tIFT_ISO88023                  = 0x7\n\tIFT_ISO88024                  = 0x8\n\tIFT_ISO88025                  = 0x9\n\tIFT_ISO88026                  = 0xa\n\tIFT_LAPB                      = 0x10\n\tIFT_LOCALTALK                 = 0x2a\n\tIFT_LOOP                      = 0x18\n\tIFT_MIOX25                    = 0x26\n\tIFT_MODEM                     = 0x30\n\tIFT_NSIP                      = 0x1b\n\tIFT_OTHER                     = 0x1\n\tIFT_P10                       = 0xc\n\tIFT_P80                       = 0xd\n\tIFT_PARA                      = 0x22\n\tIFT_PPP                       = 0x17\n\tIFT_PROPMUX                   = 0x36\n\tIFT_PROPVIRTUAL               = 0x35\n\tIFT_PTPSERIAL                 = 0x16\n\tIFT_RS232                     = 0x21\n\tIFT_SDLC                      = 0x11\n\tIFT_SIP                       = 0x1f\n\tIFT_SLIP                      = 0x1c\n\tIFT_SMDSDXI                   = 0x2b\n\tIFT_SMDSICIP                  = 0x34\n\tIFT_SONET                     = 0x27\n\tIFT_SONETPATH                 = 0x32\n\tIFT_SONETVT                   = 0x33\n\tIFT_STARLAN                   = 0xb\n\tIFT_T1                        = 0x12\n\tIFT_ULTRA                     = 0x1d\n\tIFT_V35                       = 0x2d\n\tIFT_X25                       = 0x5\n\tIFT_X25DDN                    = 0x4\n\tIFT_X25PLE                    = 0x28\n\tIFT_XETHER                    = 0x1a\n\tIGNBRK                        = 0x1\n\tIGNCR                         = 0x80\n\tIGNPAR                        = 0x4\n\tIMAXBEL                       = 0x2000\n\tINLCR                         = 0x40\n\tINPCK                         = 0x10\n\tIN_AUTOCONF_MASK              = 0xffff0000\n\tIN_AUTOCONF_NET               = 0xa9fe0000\n\tIN_CLASSA_HOST                = 0xffffff\n\tIN_CLASSA_MAX                 = 0x80\n\tIN_CLASSA_NET                 = 0xff000000\n\tIN_CLASSA_NSHIFT              = 0x18\n\tIN_CLASSB_HOST                = 0xffff\n\tIN_CLASSB_MAX                 = 0x10000\n\tIN_CLASSB_NET                 = 0xffff0000\n\tIN_CLASSB_NSHIFT              = 0x10\n\tIN_CLASSC_HOST                = 0xff\n\tIN_CLASSC_NET                 = 0xffffff00\n\tIN_CLASSC_NSHIFT              = 0x8\n\tIN_CLASSD_HOST                = 0xfffffff\n\tIN_CLASSD_NET                 = 0xf0000000\n\tIN_CLASSD_NSHIFT              = 0x1c\n\tIN_CLASSE_NET                 = 0xffffffff\n\tIN_LOOPBACKNET                = 0x7f\n\tIN_PRIVATE12_MASK             = 0xfff00000\n\tIN_PRIVATE12_NET              = 0xac100000\n\tIN_PRIVATE16_MASK             = 0xffff0000\n\tIN_PRIVATE16_NET              = 0xc0a80000\n\tIN_PRIVATE8_MASK              = 0xff000000\n\tIN_PRIVATE8_NET               = 0xa000000\n\tIPPROTO_AH                    = 0x33\n\tIPPROTO_DSTOPTS               = 0x3c\n\tIPPROTO_EGP                   = 0x8\n\tIPPROTO_ENCAP                 = 0x4\n\tIPPROTO_EON                   = 0x50\n\tIPPROTO_ESP                   = 0x32\n\tIPPROTO_FRAGMENT              = 0x2c\n\tIPPROTO_GGP                   = 0x3\n\tIPPROTO_HELLO                 = 0x3f\n\tIPPROTO_HOPOPTS               = 0x0\n\tIPPROTO_ICMP                  = 0x1\n\tIPPROTO_ICMPV6                = 0x3a\n\tIPPROTO_IDP                   = 0x16\n\tIPPROTO_IGMP                  = 0x2\n\tIPPROTO_IP                    = 0x0\n\tIPPROTO_IPV6                  = 0x29\n\tIPPROTO_MAX                   = 0x100\n\tIPPROTO_ND                    = 0x4d\n\tIPPROTO_NONE                  = 0x3b\n\tIPPROTO_OSPF                  = 0x59\n\tIPPROTO_PIM                   = 0x67\n\tIPPROTO_PUP                   = 0xc\n\tIPPROTO_RAW                   = 0xff\n\tIPPROTO_ROUTING               = 0x2b\n\tIPPROTO_RSVP                  = 0x2e\n\tIPPROTO_SCTP                  = 0x84\n\tIPPROTO_TCP                   = 0x6\n\tIPPROTO_UDP                   = 0x11\n\tIPV6_ADD_MEMBERSHIP           = 0x9\n\tIPV6_BOUND_IF                 = 0x41\n\tIPV6_CHECKSUM                 = 0x18\n\tIPV6_DONTFRAG                 = 0x21\n\tIPV6_DROP_MEMBERSHIP          = 0xa\n\tIPV6_DSTOPTS                  = 0xf\n\tIPV6_FLOWINFO_FLOWLABEL       = 0xffff0f00\n\tIPV6_FLOWINFO_TCLASS          = 0xf00f\n\tIPV6_HOPLIMIT                 = 0xc\n\tIPV6_HOPOPTS                  = 0xe\n\tIPV6_JOIN_GROUP               = 0x9\n\tIPV6_LEAVE_GROUP              = 0xa\n\tIPV6_MULTICAST_HOPS           = 0x7\n\tIPV6_MULTICAST_IF             = 0x6\n\tIPV6_MULTICAST_LOOP           = 0x8\n\tIPV6_NEXTHOP                  = 0xd\n\tIPV6_PAD1_OPT                 = 0x0\n\tIPV6_PATHMTU                  = 0x25\n\tIPV6_PKTINFO                  = 0xb\n\tIPV6_PREFER_SRC_CGA           = 0x20\n\tIPV6_PREFER_SRC_CGADEFAULT    = 0x10\n\tIPV6_PREFER_SRC_CGAMASK       = 0x30\n\tIPV6_PREFER_SRC_COA           = 0x2\n\tIPV6_PREFER_SRC_DEFAULT       = 0x15\n\tIPV6_PREFER_SRC_HOME          = 0x1\n\tIPV6_PREFER_SRC_MASK          = 0x3f\n\tIPV6_PREFER_SRC_MIPDEFAULT    = 0x1\n\tIPV6_PREFER_SRC_MIPMASK       = 0x3\n\tIPV6_PREFER_SRC_NONCGA        = 0x10\n\tIPV6_PREFER_SRC_PUBLIC        = 0x4\n\tIPV6_PREFER_SRC_TMP           = 0x8\n\tIPV6_PREFER_SRC_TMPDEFAULT    = 0x4\n\tIPV6_PREFER_SRC_TMPMASK       = 0xc\n\tIPV6_RECVDSTOPTS              = 0x28\n\tIPV6_RECVHOPLIMIT             = 0x13\n\tIPV6_RECVHOPOPTS              = 0x14\n\tIPV6_RECVPATHMTU              = 0x24\n\tIPV6_RECVPKTINFO              = 0x12\n\tIPV6_RECVRTHDR                = 0x16\n\tIPV6_RECVRTHDRDSTOPTS         = 0x17\n\tIPV6_RECVTCLASS               = 0x19\n\tIPV6_RTHDR                    = 0x10\n\tIPV6_RTHDRDSTOPTS             = 0x11\n\tIPV6_RTHDR_TYPE_0             = 0x0\n\tIPV6_SEC_OPT                  = 0x22\n\tIPV6_SRC_PREFERENCES          = 0x23\n\tIPV6_TCLASS                   = 0x26\n\tIPV6_UNICAST_HOPS             = 0x5\n\tIPV6_UNSPEC_SRC               = 0x42\n\tIPV6_USE_MIN_MTU              = 0x20\n\tIPV6_V6ONLY                   = 0x27\n\tIP_ADD_MEMBERSHIP             = 0x13\n\tIP_ADD_SOURCE_MEMBERSHIP      = 0x17\n\tIP_BLOCK_SOURCE               = 0x15\n\tIP_BOUND_IF                   = 0x41\n\tIP_BROADCAST                  = 0x106\n\tIP_BROADCAST_TTL              = 0x43\n\tIP_DEFAULT_MULTICAST_LOOP     = 0x1\n\tIP_DEFAULT_MULTICAST_TTL      = 0x1\n\tIP_DF                         = 0x4000\n\tIP_DHCPINIT_IF                = 0x45\n\tIP_DONTFRAG                   = 0x1b\n\tIP_DONTROUTE                  = 0x105\n\tIP_DROP_MEMBERSHIP            = 0x14\n\tIP_DROP_SOURCE_MEMBERSHIP     = 0x18\n\tIP_HDRINCL                    = 0x2\n\tIP_MAXPACKET                  = 0xffff\n\tIP_MF                         = 0x2000\n\tIP_MSS                        = 0x240\n\tIP_MULTICAST_IF               = 0x10\n\tIP_MULTICAST_LOOP             = 0x12\n\tIP_MULTICAST_TTL              = 0x11\n\tIP_NEXTHOP                    = 0x19\n\tIP_OPTIONS                    = 0x1\n\tIP_PKTINFO                    = 0x1a\n\tIP_RECVDSTADDR                = 0x7\n\tIP_RECVIF                     = 0x9\n\tIP_RECVOPTS                   = 0x5\n\tIP_RECVPKTINFO                = 0x1a\n\tIP_RECVRETOPTS                = 0x6\n\tIP_RECVSLLA                   = 0xa\n\tIP_RECVTTL                    = 0xb\n\tIP_RETOPTS                    = 0x8\n\tIP_REUSEADDR                  = 0x104\n\tIP_SEC_OPT                    = 0x22\n\tIP_TOS                        = 0x3\n\tIP_TTL                        = 0x4\n\tIP_UNBLOCK_SOURCE             = 0x16\n\tIP_UNSPEC_SRC                 = 0x42\n\tISIG                          = 0x1\n\tISTRIP                        = 0x20\n\tIUCLC                         = 0x200\n\tIXANY                         = 0x800\n\tIXOFF                         = 0x1000\n\tIXON                          = 0x400\n\tLOCK_EX                       = 0x2\n\tLOCK_NB                       = 0x4\n\tLOCK_SH                       = 0x1\n\tLOCK_UN                       = 0x8\n\tMADV_ACCESS_DEFAULT           = 0x6\n\tMADV_ACCESS_LWP               = 0x7\n\tMADV_ACCESS_MANY              = 0x8\n\tMADV_DONTNEED                 = 0x4\n\tMADV_FREE                     = 0x5\n\tMADV_NORMAL                   = 0x0\n\tMADV_PURGE                    = 0x9\n\tMADV_RANDOM                   = 0x1\n\tMADV_SEQUENTIAL               = 0x2\n\tMADV_WILLNEED                 = 0x3\n\tMAP_32BIT                     = 0x80\n\tMAP_ALIGN                     = 0x200\n\tMAP_ANON                      = 0x100\n\tMAP_ANONYMOUS                 = 0x100\n\tMAP_FILE                      = 0x0\n\tMAP_FIXED                     = 0x10\n\tMAP_INITDATA                  = 0x800\n\tMAP_NORESERVE                 = 0x40\n\tMAP_PRIVATE                   = 0x2\n\tMAP_RENAME                    = 0x20\n\tMAP_SHARED                    = 0x1\n\tMAP_TEXT                      = 0x400\n\tMAP_TYPE                      = 0xf\n\tMCL_CURRENT                   = 0x1\n\tMCL_FUTURE                    = 0x2\n\tMSG_CTRUNC                    = 0x10\n\tMSG_DONTROUTE                 = 0x4\n\tMSG_DONTWAIT                  = 0x80\n\tMSG_DUPCTRL                   = 0x800\n\tMSG_EOR                       = 0x8\n\tMSG_MAXIOVLEN                 = 0x10\n\tMSG_NOTIFICATION              = 0x100\n\tMSG_OOB                       = 0x1\n\tMSG_PEEK                      = 0x2\n\tMSG_TRUNC                     = 0x20\n\tMSG_WAITALL                   = 0x40\n\tMSG_XPG4_2                    = 0x8000\n\tMS_ASYNC                      = 0x1\n\tMS_INVALIDATE                 = 0x2\n\tMS_OLDSYNC                    = 0x0\n\tMS_SYNC                       = 0x4\n\tM_FLUSH                       = 0x86\n\tNAME_MAX                      = 0xff\n\tNEWDEV                        = 0x1\n\tNL0                           = 0x0\n\tNL1                           = 0x100\n\tNLDLY                         = 0x100\n\tNOFLSH                        = 0x80\n\tOCRNL                         = 0x8\n\tOFDEL                         = 0x80\n\tOFILL                         = 0x40\n\tOLCUC                         = 0x2\n\tOLDDEV                        = 0x0\n\tONBITSMAJOR                   = 0x7\n\tONBITSMINOR                   = 0x8\n\tONLCR                         = 0x4\n\tONLRET                        = 0x20\n\tONOCR                         = 0x10\n\tOPENFAIL                      = -0x1\n\tOPOST                         = 0x1\n\tO_ACCMODE                     = 0x600003\n\tO_APPEND                      = 0x8\n\tO_CLOEXEC                     = 0x800000\n\tO_CREAT                       = 0x100\n\tO_DSYNC                       = 0x40\n\tO_EXCL                        = 0x400\n\tO_EXEC                        = 0x400000\n\tO_LARGEFILE                   = 0x2000\n\tO_NDELAY                      = 0x4\n\tO_NOCTTY                      = 0x800\n\tO_NOFOLLOW                    = 0x20000\n\tO_NOLINKS                     = 0x40000\n\tO_NONBLOCK                    = 0x80\n\tO_RDONLY                      = 0x0\n\tO_RDWR                        = 0x2\n\tO_RSYNC                       = 0x8000\n\tO_SEARCH                      = 0x200000\n\tO_SIOCGIFCONF                 = -0x3ff796ec\n\tO_SIOCGLIFCONF                = -0x3fef9688\n\tO_SYNC                        = 0x10\n\tO_TRUNC                       = 0x200\n\tO_WRONLY                      = 0x1\n\tO_XATTR                       = 0x4000\n\tPARENB                        = 0x100\n\tPAREXT                        = 0x100000\n\tPARMRK                        = 0x8\n\tPARODD                        = 0x200\n\tPENDIN                        = 0x4000\n\tPRIO_PGRP                     = 0x1\n\tPRIO_PROCESS                  = 0x0\n\tPRIO_USER                     = 0x2\n\tPROT_EXEC                     = 0x4\n\tPROT_NONE                     = 0x0\n\tPROT_READ                     = 0x1\n\tPROT_WRITE                    = 0x2\n\tRLIMIT_AS                     = 0x6\n\tRLIMIT_CORE                   = 0x4\n\tRLIMIT_CPU                    = 0x0\n\tRLIMIT_DATA                   = 0x2\n\tRLIMIT_FSIZE                  = 0x1\n\tRLIMIT_NOFILE                 = 0x5\n\tRLIMIT_STACK                  = 0x3\n\tRLIM_INFINITY                 = -0x3\n\tRTAX_AUTHOR                   = 0x6\n\tRTAX_BRD                      = 0x7\n\tRTAX_DST                      = 0x0\n\tRTAX_GATEWAY                  = 0x1\n\tRTAX_GENMASK                  = 0x3\n\tRTAX_IFA                      = 0x5\n\tRTAX_IFP                      = 0x4\n\tRTAX_MAX                      = 0x9\n\tRTAX_NETMASK                  = 0x2\n\tRTAX_SRC                      = 0x8\n\tRTA_AUTHOR                    = 0x40\n\tRTA_BRD                       = 0x80\n\tRTA_DST                       = 0x1\n\tRTA_GATEWAY                   = 0x2\n\tRTA_GENMASK                   = 0x8\n\tRTA_IFA                       = 0x20\n\tRTA_IFP                       = 0x10\n\tRTA_NETMASK                   = 0x4\n\tRTA_NUMBITS                   = 0x9\n\tRTA_SRC                       = 0x100\n\tRTF_BLACKHOLE                 = 0x1000\n\tRTF_CLONING                   = 0x100\n\tRTF_DONE                      = 0x40\n\tRTF_DYNAMIC                   = 0x10\n\tRTF_GATEWAY                   = 0x2\n\tRTF_HOST                      = 0x4\n\tRTF_INDIRECT                  = 0x40000\n\tRTF_KERNEL                    = 0x80000\n\tRTF_LLINFO                    = 0x400\n\tRTF_MASK                      = 0x80\n\tRTF_MODIFIED                  = 0x20\n\tRTF_MULTIRT                   = 0x10000\n\tRTF_PRIVATE                   = 0x2000\n\tRTF_PROTO1                    = 0x8000\n\tRTF_PROTO2                    = 0x4000\n\tRTF_REJECT                    = 0x8\n\tRTF_SETSRC                    = 0x20000\n\tRTF_STATIC                    = 0x800\n\tRTF_UP                        = 0x1\n\tRTF_XRESOLVE                  = 0x200\n\tRTF_ZONE                      = 0x100000\n\tRTM_ADD                       = 0x1\n\tRTM_CHANGE                    = 0x3\n\tRTM_CHGADDR                   = 0xf\n\tRTM_DELADDR                   = 0xd\n\tRTM_DELETE                    = 0x2\n\tRTM_FREEADDR                  = 0x10\n\tRTM_GET                       = 0x4\n\tRTM_IFINFO                    = 0xe\n\tRTM_LOCK                      = 0x8\n\tRTM_LOSING                    = 0x5\n\tRTM_MISS                      = 0x7\n\tRTM_NEWADDR                   = 0xc\n\tRTM_OLDADD                    = 0x9\n\tRTM_OLDDEL                    = 0xa\n\tRTM_REDIRECT                  = 0x6\n\tRTM_RESOLVE                   = 0xb\n\tRTM_VERSION                   = 0x3\n\tRTV_EXPIRE                    = 0x4\n\tRTV_HOPCOUNT                  = 0x2\n\tRTV_MTU                       = 0x1\n\tRTV_RPIPE                     = 0x8\n\tRTV_RTT                       = 0x40\n\tRTV_RTTVAR                    = 0x80\n\tRTV_SPIPE                     = 0x10\n\tRTV_SSTHRESH                  = 0x20\n\tRT_AWARE                      = 0x1\n\tRUSAGE_CHILDREN               = -0x1\n\tRUSAGE_SELF                   = 0x0\n\tSCM_RIGHTS                    = 0x1010\n\tSCM_TIMESTAMP                 = 0x1013\n\tSCM_UCRED                     = 0x1012\n\tSHUT_RD                       = 0x0\n\tSHUT_RDWR                     = 0x2\n\tSHUT_WR                       = 0x1\n\tSIG2STR_MAX                   = 0x20\n\tSIOCADDMULTI                  = -0x7fdf96cf\n\tSIOCADDRT                     = -0x7fcf8df6\n\tSIOCATMARK                    = 0x40047307\n\tSIOCDARP                      = -0x7fdb96e0\n\tSIOCDELMULTI                  = -0x7fdf96ce\n\tSIOCDELRT                     = -0x7fcf8df5\n\tSIOCDXARP                     = -0x7fff9658\n\tSIOCGARP                      = -0x3fdb96e1\n\tSIOCGDSTINFO                  = -0x3fff965c\n\tSIOCGENADDR                   = -0x3fdf96ab\n\tSIOCGENPSTATS                 = -0x3fdf96c7\n\tSIOCGETLSGCNT                 = -0x3fef8deb\n\tSIOCGETNAME                   = 0x40107334\n\tSIOCGETPEER                   = 0x40107335\n\tSIOCGETPROP                   = -0x3fff8f44\n\tSIOCGETSGCNT                  = -0x3feb8deb\n\tSIOCGETSYNC                   = -0x3fdf96d3\n\tSIOCGETVIFCNT                 = -0x3feb8dec\n\tSIOCGHIWAT                    = 0x40047301\n\tSIOCGIFADDR                   = -0x3fdf96f3\n\tSIOCGIFBRDADDR                = -0x3fdf96e9\n\tSIOCGIFCONF                   = -0x3ff796a4\n\tSIOCGIFDSTADDR                = -0x3fdf96f1\n\tSIOCGIFFLAGS                  = -0x3fdf96ef\n\tSIOCGIFHWADDR                 = -0x3fdf9647\n\tSIOCGIFINDEX                  = -0x3fdf96a6\n\tSIOCGIFMEM                    = -0x3fdf96ed\n\tSIOCGIFMETRIC                 = -0x3fdf96e5\n\tSIOCGIFMTU                    = -0x3fdf96ea\n\tSIOCGIFMUXID                  = -0x3fdf96a8\n\tSIOCGIFNETMASK                = -0x3fdf96e7\n\tSIOCGIFNUM                    = 0x40046957\n\tSIOCGIP6ADDRPOLICY            = -0x3fff965e\n\tSIOCGIPMSFILTER               = -0x3ffb964c\n\tSIOCGLIFADDR                  = -0x3f87968f\n\tSIOCGLIFBINDING               = -0x3f879666\n\tSIOCGLIFBRDADDR               = -0x3f879685\n\tSIOCGLIFCONF                  = -0x3fef965b\n\tSIOCGLIFDADSTATE              = -0x3f879642\n\tSIOCGLIFDSTADDR               = -0x3f87968d\n\tSIOCGLIFFLAGS                 = -0x3f87968b\n\tSIOCGLIFGROUPINFO             = -0x3f4b9663\n\tSIOCGLIFGROUPNAME             = -0x3f879664\n\tSIOCGLIFHWADDR                = -0x3f879640\n\tSIOCGLIFINDEX                 = -0x3f87967b\n\tSIOCGLIFLNKINFO               = -0x3f879674\n\tSIOCGLIFMETRIC                = -0x3f879681\n\tSIOCGLIFMTU                   = -0x3f879686\n\tSIOCGLIFMUXID                 = -0x3f87967d\n\tSIOCGLIFNETMASK               = -0x3f879683\n\tSIOCGLIFNUM                   = -0x3ff3967e\n\tSIOCGLIFSRCOF                 = -0x3fef964f\n\tSIOCGLIFSUBNET                = -0x3f879676\n\tSIOCGLIFTOKEN                 = -0x3f879678\n\tSIOCGLIFUSESRC                = -0x3f879651\n\tSIOCGLIFZONE                  = -0x3f879656\n\tSIOCGLOWAT                    = 0x40047303\n\tSIOCGMSFILTER                 = -0x3ffb964e\n\tSIOCGPGRP                     = 0x40047309\n\tSIOCGSTAMP                    = -0x3fef9646\n\tSIOCGXARP                     = -0x3fff9659\n\tSIOCIFDETACH                  = -0x7fdf96c8\n\tSIOCILB                       = -0x3ffb9645\n\tSIOCLIFADDIF                  = -0x3f879691\n\tSIOCLIFDELND                  = -0x7f879673\n\tSIOCLIFGETND                  = -0x3f879672\n\tSIOCLIFREMOVEIF               = -0x7f879692\n\tSIOCLIFSETND                  = -0x7f879671\n\tSIOCLOWER                     = -0x7fdf96d7\n\tSIOCSARP                      = -0x7fdb96e2\n\tSIOCSCTPGOPT                  = -0x3fef9653\n\tSIOCSCTPPEELOFF               = -0x3ffb9652\n\tSIOCSCTPSOPT                  = -0x7fef9654\n\tSIOCSENABLESDP                = -0x3ffb9649\n\tSIOCSETPROP                   = -0x7ffb8f43\n\tSIOCSETSYNC                   = -0x7fdf96d4\n\tSIOCSHIWAT                    = -0x7ffb8d00\n\tSIOCSIFADDR                   = -0x7fdf96f4\n\tSIOCSIFBRDADDR                = -0x7fdf96e8\n\tSIOCSIFDSTADDR                = -0x7fdf96f2\n\tSIOCSIFFLAGS                  = -0x7fdf96f0\n\tSIOCSIFINDEX                  = -0x7fdf96a5\n\tSIOCSIFMEM                    = -0x7fdf96ee\n\tSIOCSIFMETRIC                 = -0x7fdf96e4\n\tSIOCSIFMTU                    = -0x7fdf96eb\n\tSIOCSIFMUXID                  = -0x7fdf96a7\n\tSIOCSIFNAME                   = -0x7fdf96b7\n\tSIOCSIFNETMASK                = -0x7fdf96e6\n\tSIOCSIP6ADDRPOLICY            = -0x7fff965d\n\tSIOCSIPMSFILTER               = -0x7ffb964b\n\tSIOCSLGETREQ                  = -0x3fdf96b9\n\tSIOCSLIFADDR                  = -0x7f879690\n\tSIOCSLIFBRDADDR               = -0x7f879684\n\tSIOCSLIFDSTADDR               = -0x7f87968e\n\tSIOCSLIFFLAGS                 = -0x7f87968c\n\tSIOCSLIFGROUPNAME             = -0x7f879665\n\tSIOCSLIFINDEX                 = -0x7f87967a\n\tSIOCSLIFLNKINFO               = -0x7f879675\n\tSIOCSLIFMETRIC                = -0x7f879680\n\tSIOCSLIFMTU                   = -0x7f879687\n\tSIOCSLIFMUXID                 = -0x7f87967c\n\tSIOCSLIFNAME                  = -0x3f87967f\n\tSIOCSLIFNETMASK               = -0x7f879682\n\tSIOCSLIFPREFIX                = -0x3f879641\n\tSIOCSLIFSUBNET                = -0x7f879677\n\tSIOCSLIFTOKEN                 = -0x7f879679\n\tSIOCSLIFUSESRC                = -0x7f879650\n\tSIOCSLIFZONE                  = -0x7f879655\n\tSIOCSLOWAT                    = -0x7ffb8cfe\n\tSIOCSLSTAT                    = -0x7fdf96b8\n\tSIOCSMSFILTER                 = -0x7ffb964d\n\tSIOCSPGRP                     = -0x7ffb8cf8\n\tSIOCSPROMISC                  = -0x7ffb96d0\n\tSIOCSQPTR                     = -0x3ffb9648\n\tSIOCSSDSTATS                  = -0x3fdf96d2\n\tSIOCSSESTATS                  = -0x3fdf96d1\n\tSIOCSXARP                     = -0x7fff965a\n\tSIOCTMYADDR                   = -0x3ff79670\n\tSIOCTMYSITE                   = -0x3ff7966e\n\tSIOCTONLINK                   = -0x3ff7966f\n\tSIOCUPPER                     = -0x7fdf96d8\n\tSIOCX25RCV                    = -0x3fdf96c4\n\tSIOCX25TBL                    = -0x3fdf96c3\n\tSIOCX25XMT                    = -0x3fdf96c5\n\tSIOCXPROTO                    = 0x20007337\n\tSOCK_CLOEXEC                  = 0x80000\n\tSOCK_DGRAM                    = 0x1\n\tSOCK_NDELAY                   = 0x200000\n\tSOCK_NONBLOCK                 = 0x100000\n\tSOCK_RAW                      = 0x4\n\tSOCK_RDM                      = 0x5\n\tSOCK_SEQPACKET                = 0x6\n\tSOCK_STREAM                   = 0x2\n\tSOCK_TYPE_MASK                = 0xffff\n\tSOL_FILTER                    = 0xfffc\n\tSOL_PACKET                    = 0xfffd\n\tSOL_ROUTE                     = 0xfffe\n\tSOL_SOCKET                    = 0xffff\n\tSOMAXCONN                     = 0x80\n\tSO_ACCEPTCONN                 = 0x2\n\tSO_ALL                        = 0x3f\n\tSO_ALLZONES                   = 0x1014\n\tSO_ANON_MLP                   = 0x100a\n\tSO_ATTACH_FILTER              = 0x40000001\n\tSO_BAND                       = 0x4000\n\tSO_BROADCAST                  = 0x20\n\tSO_COPYOPT                    = 0x80000\n\tSO_DEBUG                      = 0x1\n\tSO_DELIM                      = 0x8000\n\tSO_DETACH_FILTER              = 0x40000002\n\tSO_DGRAM_ERRIND               = 0x200\n\tSO_DOMAIN                     = 0x100c\n\tSO_DONTLINGER                 = -0x81\n\tSO_DONTROUTE                  = 0x10\n\tSO_ERROPT                     = 0x40000\n\tSO_ERROR                      = 0x1007\n\tSO_EXCLBIND                   = 0x1015\n\tSO_HIWAT                      = 0x10\n\tSO_ISNTTY                     = 0x800\n\tSO_ISTTY                      = 0x400\n\tSO_KEEPALIVE                  = 0x8\n\tSO_LINGER                     = 0x80\n\tSO_LOWAT                      = 0x20\n\tSO_MAC_EXEMPT                 = 0x100b\n\tSO_MAC_IMPLICIT               = 0x1016\n\tSO_MAXBLK                     = 0x100000\n\tSO_MAXPSZ                     = 0x8\n\tSO_MINPSZ                     = 0x4\n\tSO_MREADOFF                   = 0x80\n\tSO_MREADON                    = 0x40\n\tSO_NDELOFF                    = 0x200\n\tSO_NDELON                     = 0x100\n\tSO_NODELIM                    = 0x10000\n\tSO_OOBINLINE                  = 0x100\n\tSO_PROTOTYPE                  = 0x1009\n\tSO_RCVBUF                     = 0x1002\n\tSO_RCVLOWAT                   = 0x1004\n\tSO_RCVPSH                     = 0x100d\n\tSO_RCVTIMEO                   = 0x1006\n\tSO_READOPT                    = 0x1\n\tSO_RECVUCRED                  = 0x400\n\tSO_REUSEADDR                  = 0x4\n\tSO_SECATTR                    = 0x1011\n\tSO_SNDBUF                     = 0x1001\n\tSO_SNDLOWAT                   = 0x1003\n\tSO_SNDTIMEO                   = 0x1005\n\tSO_STRHOLD                    = 0x20000\n\tSO_TAIL                       = 0x200000\n\tSO_TIMESTAMP                  = 0x1013\n\tSO_TONSTOP                    = 0x2000\n\tSO_TOSTOP                     = 0x1000\n\tSO_TYPE                       = 0x1008\n\tSO_USELOOPBACK                = 0x40\n\tSO_VRRP                       = 0x1017\n\tSO_WROFF                      = 0x2\n\tTAB0                          = 0x0\n\tTAB1                          = 0x800\n\tTAB2                          = 0x1000\n\tTAB3                          = 0x1800\n\tTABDLY                        = 0x1800\n\tTCFLSH                        = 0x5407\n\tTCGETA                        = 0x5401\n\tTCGETS                        = 0x540d\n\tTCIFLUSH                      = 0x0\n\tTCIOFF                        = 0x2\n\tTCIOFLUSH                     = 0x2\n\tTCION                         = 0x3\n\tTCOFLUSH                      = 0x1\n\tTCOOFF                        = 0x0\n\tTCOON                         = 0x1\n\tTCP_ABORT_THRESHOLD           = 0x11\n\tTCP_ANONPRIVBIND              = 0x20\n\tTCP_CONN_ABORT_THRESHOLD      = 0x13\n\tTCP_CONN_NOTIFY_THRESHOLD     = 0x12\n\tTCP_CORK                      = 0x18\n\tTCP_EXCLBIND                  = 0x21\n\tTCP_INIT_CWND                 = 0x15\n\tTCP_KEEPALIVE                 = 0x8\n\tTCP_KEEPALIVE_ABORT_THRESHOLD = 0x17\n\tTCP_KEEPALIVE_THRESHOLD       = 0x16\n\tTCP_KEEPCNT                   = 0x23\n\tTCP_KEEPIDLE                  = 0x22\n\tTCP_KEEPINTVL                 = 0x24\n\tTCP_LINGER2                   = 0x1c\n\tTCP_MAXSEG                    = 0x2\n\tTCP_MSS                       = 0x218\n\tTCP_NODELAY                   = 0x1\n\tTCP_NOTIFY_THRESHOLD          = 0x10\n\tTCP_RECVDSTADDR               = 0x14\n\tTCP_RTO_INITIAL               = 0x19\n\tTCP_RTO_MAX                   = 0x1b\n\tTCP_RTO_MIN                   = 0x1a\n\tTCSAFLUSH                     = 0x5410\n\tTCSBRK                        = 0x5405\n\tTCSETA                        = 0x5402\n\tTCSETAF                       = 0x5404\n\tTCSETAW                       = 0x5403\n\tTCSETS                        = 0x540e\n\tTCSETSF                       = 0x5410\n\tTCSETSW                       = 0x540f\n\tTCXONC                        = 0x5406\n\tTIOC                          = 0x5400\n\tTIOCCBRK                      = 0x747a\n\tTIOCCDTR                      = 0x7478\n\tTIOCCILOOP                    = 0x746c\n\tTIOCEXCL                      = 0x740d\n\tTIOCFLUSH                     = 0x7410\n\tTIOCGETC                      = 0x7412\n\tTIOCGETD                      = 0x7400\n\tTIOCGETP                      = 0x7408\n\tTIOCGLTC                      = 0x7474\n\tTIOCGPGRP                     = 0x7414\n\tTIOCGPPS                      = 0x547d\n\tTIOCGPPSEV                    = 0x547f\n\tTIOCGSID                      = 0x7416\n\tTIOCGSOFTCAR                  = 0x5469\n\tTIOCGWINSZ                    = 0x5468\n\tTIOCHPCL                      = 0x7402\n\tTIOCKBOF                      = 0x5409\n\tTIOCKBON                      = 0x5408\n\tTIOCLBIC                      = 0x747e\n\tTIOCLBIS                      = 0x747f\n\tTIOCLGET                      = 0x747c\n\tTIOCLSET                      = 0x747d\n\tTIOCMBIC                      = 0x741c\n\tTIOCMBIS                      = 0x741b\n\tTIOCMGET                      = 0x741d\n\tTIOCMSET                      = 0x741a\n\tTIOCM_CAR                     = 0x40\n\tTIOCM_CD                      = 0x40\n\tTIOCM_CTS                     = 0x20\n\tTIOCM_DSR                     = 0x100\n\tTIOCM_DTR                     = 0x2\n\tTIOCM_LE                      = 0x1\n\tTIOCM_RI                      = 0x80\n\tTIOCM_RNG                     = 0x80\n\tTIOCM_RTS                     = 0x4\n\tTIOCM_SR                      = 0x10\n\tTIOCM_ST                      = 0x8\n\tTIOCNOTTY                     = 0x7471\n\tTIOCNXCL                      = 0x740e\n\tTIOCOUTQ                      = 0x7473\n\tTIOCREMOTE                    = 0x741e\n\tTIOCSBRK                      = 0x747b\n\tTIOCSCTTY                     = 0x7484\n\tTIOCSDTR                      = 0x7479\n\tTIOCSETC                      = 0x7411\n\tTIOCSETD                      = 0x7401\n\tTIOCSETN                      = 0x740a\n\tTIOCSETP                      = 0x7409\n\tTIOCSIGNAL                    = 0x741f\n\tTIOCSILOOP                    = 0x746d\n\tTIOCSLTC                      = 0x7475\n\tTIOCSPGRP                     = 0x7415\n\tTIOCSPPS                      = 0x547e\n\tTIOCSSOFTCAR                  = 0x546a\n\tTIOCSTART                     = 0x746e\n\tTIOCSTI                       = 0x7417\n\tTIOCSTOP                      = 0x746f\n\tTIOCSWINSZ                    = 0x5467\n\tTOSTOP                        = 0x100\n\tVCEOF                         = 0x8\n\tVCEOL                         = 0x9\n\tVDISCARD                      = 0xd\n\tVDSUSP                        = 0xb\n\tVEOF                          = 0x4\n\tVEOL                          = 0x5\n\tVEOL2                         = 0x6\n\tVERASE                        = 0x2\n\tVERASE2                       = 0x11\n\tVINTR                         = 0x0\n\tVKILL                         = 0x3\n\tVLNEXT                        = 0xf\n\tVMIN                          = 0x4\n\tVQUIT                         = 0x1\n\tVREPRINT                      = 0xc\n\tVSTART                        = 0x8\n\tVSTATUS                       = 0x10\n\tVSTOP                         = 0x9\n\tVSUSP                         = 0xa\n\tVSWTCH                        = 0x7\n\tVT0                           = 0x0\n\tVT1                           = 0x4000\n\tVTDLY                         = 0x4000\n\tVTIME                         = 0x5\n\tVWERASE                       = 0xe\n\tWCONTFLG                      = 0xffff\n\tWCONTINUED                    = 0x8\n\tWCOREFLG                      = 0x80\n\tWEXITED                       = 0x1\n\tWNOHANG                       = 0x40\n\tWNOWAIT                       = 0x80\n\tWOPTMASK                      = 0xcf\n\tWRAP                          = 0x20000\n\tWSIGMASK                      = 0x7f\n\tWSTOPFLG                      = 0x7f\n\tWSTOPPED                      = 0x4\n\tWTRAPPED                      = 0x2\n\tWUNTRACED                     = 0x4\n\tXCASE                         = 0x4\n\tXTABS                         = 0x1800\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x7d)\n\tEADDRNOTAVAIL   = syscall.Errno(0x7e)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x7c)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x95)\n\tEBADE           = syscall.Errno(0x32)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x51)\n\tEBADMSG         = syscall.Errno(0x4d)\n\tEBADR           = syscall.Errno(0x33)\n\tEBADRQC         = syscall.Errno(0x36)\n\tEBADSLT         = syscall.Errno(0x37)\n\tEBFONT          = syscall.Errno(0x39)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x2f)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x25)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x82)\n\tECONNREFUSED    = syscall.Errno(0x92)\n\tECONNRESET      = syscall.Errno(0x83)\n\tEDEADLK         = syscall.Errno(0x2d)\n\tEDEADLOCK       = syscall.Errno(0x38)\n\tEDESTADDRREQ    = syscall.Errno(0x60)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x31)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x93)\n\tEHOSTUNREACH    = syscall.Errno(0x94)\n\tEIDRM           = syscall.Errno(0x24)\n\tEILSEQ          = syscall.Errno(0x58)\n\tEINPROGRESS     = syscall.Errno(0x96)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x85)\n\tEISDIR          = syscall.Errno(0x15)\n\tEL2HLT          = syscall.Errno(0x2c)\n\tEL2NSYNC        = syscall.Errno(0x26)\n\tEL3HLT          = syscall.Errno(0x27)\n\tEL3RST          = syscall.Errno(0x28)\n\tELIBACC         = syscall.Errno(0x53)\n\tELIBBAD         = syscall.Errno(0x54)\n\tELIBEXEC        = syscall.Errno(0x57)\n\tELIBMAX         = syscall.Errno(0x56)\n\tELIBSCN         = syscall.Errno(0x55)\n\tELNRNG          = syscall.Errno(0x29)\n\tELOCKUNMAPPED   = syscall.Errno(0x48)\n\tELOOP           = syscall.Errno(0x5a)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x61)\n\tEMULTIHOP       = syscall.Errno(0x4a)\n\tENAMETOOLONG    = syscall.Errno(0x4e)\n\tENETDOWN        = syscall.Errno(0x7f)\n\tENETRESET       = syscall.Errno(0x81)\n\tENETUNREACH     = syscall.Errno(0x80)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x35)\n\tENOBUFS         = syscall.Errno(0x84)\n\tENOCSI          = syscall.Errno(0x2b)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x2e)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x23)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x63)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x59)\n\tENOTACTIVE      = syscall.Errno(0x49)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x86)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x5d)\n\tENOTRECOVERABLE = syscall.Errno(0x3b)\n\tENOTSOCK        = syscall.Errno(0x5f)\n\tENOTSUP         = syscall.Errno(0x30)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x50)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x7a)\n\tEOVERFLOW       = syscall.Errno(0x4f)\n\tEOWNERDEAD      = syscall.Errno(0x3a)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x7b)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x78)\n\tEPROTOTYPE      = syscall.Errno(0x62)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x52)\n\tEREMOTE         = syscall.Errno(0x42)\n\tERESTART        = syscall.Errno(0x5b)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x8f)\n\tESOCKTNOSUPPORT = syscall.Errno(0x79)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x97)\n\tESTRPIPE        = syscall.Errno(0x5c)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x91)\n\tETOOMANYREFS    = syscall.Errno(0x90)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUNATCH         = syscall.Errno(0x2a)\n\tEUSERS          = syscall.Errno(0x5e)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x34)\n)\n\n// Signals\nconst (\n\tSIGABRT    = syscall.Signal(0x6)\n\tSIGALRM    = syscall.Signal(0xe)\n\tSIGBUS     = syscall.Signal(0xa)\n\tSIGCANCEL  = syscall.Signal(0x24)\n\tSIGCHLD    = syscall.Signal(0x12)\n\tSIGCLD     = syscall.Signal(0x12)\n\tSIGCONT    = syscall.Signal(0x19)\n\tSIGEMT     = syscall.Signal(0x7)\n\tSIGFPE     = syscall.Signal(0x8)\n\tSIGFREEZE  = syscall.Signal(0x22)\n\tSIGHUP     = syscall.Signal(0x1)\n\tSIGILL     = syscall.Signal(0x4)\n\tSIGINFO    = syscall.Signal(0x29)\n\tSIGINT     = syscall.Signal(0x2)\n\tSIGIO      = syscall.Signal(0x16)\n\tSIGIOT     = syscall.Signal(0x6)\n\tSIGJVM1    = syscall.Signal(0x27)\n\tSIGJVM2    = syscall.Signal(0x28)\n\tSIGKILL    = syscall.Signal(0x9)\n\tSIGLOST    = syscall.Signal(0x25)\n\tSIGLWP     = syscall.Signal(0x21)\n\tSIGPIPE    = syscall.Signal(0xd)\n\tSIGPOLL    = syscall.Signal(0x16)\n\tSIGPROF    = syscall.Signal(0x1d)\n\tSIGPWR     = syscall.Signal(0x13)\n\tSIGQUIT    = syscall.Signal(0x3)\n\tSIGSEGV    = syscall.Signal(0xb)\n\tSIGSTOP    = syscall.Signal(0x17)\n\tSIGSYS     = syscall.Signal(0xc)\n\tSIGTERM    = syscall.Signal(0xf)\n\tSIGTHAW    = syscall.Signal(0x23)\n\tSIGTRAP    = syscall.Signal(0x5)\n\tSIGTSTP    = syscall.Signal(0x18)\n\tSIGTTIN    = syscall.Signal(0x1a)\n\tSIGTTOU    = syscall.Signal(0x1b)\n\tSIGURG     = syscall.Signal(0x15)\n\tSIGUSR1    = syscall.Signal(0x10)\n\tSIGUSR2    = syscall.Signal(0x11)\n\tSIGVTALRM  = syscall.Signal(0x1c)\n\tSIGWAITING = syscall.Signal(0x20)\n\tSIGWINCH   = syscall.Signal(0x14)\n\tSIGXCPU    = syscall.Signal(0x1e)\n\tSIGXFSZ    = syscall.Signal(0x1f)\n\tSIGXRES    = syscall.Signal(0x26)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"not owner\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"I/O error\",\n\t6:   \"no such device or address\",\n\t7:   \"arg list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file number\",\n\t10:  \"no child processes\",\n\t11:  \"resource temporarily unavailable\",\n\t12:  \"not enough space\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"device busy\",\n\t17:  \"file exists\",\n\t18:  \"cross-device link\",\n\t19:  \"no such device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"file table overflow\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"argument out of domain\",\n\t34:  \"result too large\",\n\t35:  \"no message of desired type\",\n\t36:  \"identifier removed\",\n\t37:  \"channel number out of range\",\n\t38:  \"level 2 not synchronized\",\n\t39:  \"level 3 halted\",\n\t40:  \"level 3 reset\",\n\t41:  \"link number out of range\",\n\t42:  \"protocol driver not attached\",\n\t43:  \"no CSI structure available\",\n\t44:  \"level 2 halted\",\n\t45:  \"deadlock situation detected/avoided\",\n\t46:  \"no record locks available\",\n\t47:  \"operation canceled\",\n\t48:  \"operation not supported\",\n\t49:  \"disc quota exceeded\",\n\t50:  \"bad exchange descriptor\",\n\t51:  \"bad request descriptor\",\n\t52:  \"message tables full\",\n\t53:  \"anode table overflow\",\n\t54:  \"bad request code\",\n\t55:  \"invalid slot\",\n\t56:  \"file locking deadlock\",\n\t57:  \"bad font file format\",\n\t58:  \"owner of the lock died\",\n\t59:  \"lock is not recoverable\",\n\t60:  \"not a stream device\",\n\t61:  \"no data available\",\n\t62:  \"timer expired\",\n\t63:  \"out of stream resources\",\n\t64:  \"machine is not on the network\",\n\t65:  \"package not installed\",\n\t66:  \"object is remote\",\n\t67:  \"link has been severed\",\n\t68:  \"advertise error\",\n\t69:  \"srmount error\",\n\t70:  \"communication error on send\",\n\t71:  \"protocol error\",\n\t72:  \"locked lock was unmapped \",\n\t73:  \"facility is not active\",\n\t74:  \"multihop attempted\",\n\t77:  \"not a data message\",\n\t78:  \"file name too long\",\n\t79:  \"value too large for defined data type\",\n\t80:  \"name not unique on network\",\n\t81:  \"file descriptor in bad state\",\n\t82:  \"remote address changed\",\n\t83:  \"can not access a needed shared library\",\n\t84:  \"accessing a corrupted shared library\",\n\t85:  \".lib section in a.out corrupted\",\n\t86:  \"attempting to link in more shared libraries than system limit\",\n\t87:  \"can not exec a shared library directly\",\n\t88:  \"illegal byte sequence\",\n\t89:  \"operation not applicable\",\n\t90:  \"number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS\",\n\t91:  \"error 91\",\n\t92:  \"error 92\",\n\t93:  \"directory not empty\",\n\t94:  \"too many users\",\n\t95:  \"socket operation on non-socket\",\n\t96:  \"destination address required\",\n\t97:  \"message too long\",\n\t98:  \"protocol wrong type for socket\",\n\t99:  \"option not supported by protocol\",\n\t120: \"protocol not supported\",\n\t121: \"socket type not supported\",\n\t122: \"operation not supported on transport endpoint\",\n\t123: \"protocol family not supported\",\n\t124: \"address family not supported by protocol family\",\n\t125: \"address already in use\",\n\t126: \"cannot assign requested address\",\n\t127: \"network is down\",\n\t128: \"network is unreachable\",\n\t129: \"network dropped connection because of reset\",\n\t130: \"software caused connection abort\",\n\t131: \"connection reset by peer\",\n\t132: \"no buffer space available\",\n\t133: \"transport endpoint is already connected\",\n\t134: \"transport endpoint is not connected\",\n\t143: \"cannot send after socket shutdown\",\n\t144: \"too many references: cannot splice\",\n\t145: \"connection timed out\",\n\t146: \"connection refused\",\n\t147: \"host is down\",\n\t148: \"no route to host\",\n\t149: \"operation already in progress\",\n\t150: \"operation now in progress\",\n\t151: \"stale NFS file handle\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal Instruction\",\n\t5:  \"trace/Breakpoint Trap\",\n\t6:  \"abort\",\n\t7:  \"emulation Trap\",\n\t8:  \"arithmetic Exception\",\n\t9:  \"killed\",\n\t10: \"bus Error\",\n\t11: \"segmentation Fault\",\n\t12: \"bad System Call\",\n\t13: \"broken Pipe\",\n\t14: \"alarm Clock\",\n\t15: \"terminated\",\n\t16: \"user Signal 1\",\n\t17: \"user Signal 2\",\n\t18: \"child Status Changed\",\n\t19: \"power-Fail/Restart\",\n\t20: \"window Size Change\",\n\t21: \"urgent Socket Condition\",\n\t22: \"pollable Event\",\n\t23: \"stopped (signal)\",\n\t24: \"stopped (user)\",\n\t25: \"continued\",\n\t26: \"stopped (tty input)\",\n\t27: \"stopped (tty output)\",\n\t28: \"virtual Timer Expired\",\n\t29: \"profiling Timer Expired\",\n\t30: \"cpu Limit Exceeded\",\n\t31: \"file Size Limit Exceeded\",\n\t32: \"no runnable lwp\",\n\t33: \"inter-lwp signal\",\n\t34: \"checkpoint Freeze\",\n\t35: \"checkpoint Thaw\",\n\t36: \"thread Cancellation\",\n\t37: \"resource Lost\",\n\t38: \"resource Control Exceeded\",\n\t39: \"reserved for JVM 1\",\n\t40: \"reserved for JVM 2\",\n\t41: \"information Request\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zptrace386_linux.go",
    "content": "// Code generated by linux/mkall.go generatePtracePair(386, amd64). DO NOT EDIT.\n\n// +build linux\n// +build 386 amd64\n\npackage unix\n\nimport \"unsafe\"\n\n// PtraceRegs386 is the registers used by 386 binaries.\ntype PtraceRegs386 struct {\n\tEbx      int32\n\tEcx      int32\n\tEdx      int32\n\tEsi      int32\n\tEdi      int32\n\tEbp      int32\n\tEax      int32\n\tXds      int32\n\tXes      int32\n\tXfs      int32\n\tXgs      int32\n\tOrig_eax int32\n\tEip      int32\n\tXcs      int32\n\tEflags   int32\n\tEsp      int32\n\tXss      int32\n}\n\n// PtraceGetRegs386 fetches the registers used by 386 binaries.\nfunc PtraceGetRegs386(pid int, regsout *PtraceRegs386) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegs386 sets the registers used by 386 binaries.\nfunc PtraceSetRegs386(pid int, regs *PtraceRegs386) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n\n// PtraceRegsAmd64 is the registers used by amd64 binaries.\ntype PtraceRegsAmd64 struct {\n\tR15      uint64\n\tR14      uint64\n\tR13      uint64\n\tR12      uint64\n\tRbp      uint64\n\tRbx      uint64\n\tR11      uint64\n\tR10      uint64\n\tR9       uint64\n\tR8       uint64\n\tRax      uint64\n\tRcx      uint64\n\tRdx      uint64\n\tRsi      uint64\n\tRdi      uint64\n\tOrig_rax uint64\n\tRip      uint64\n\tCs       uint64\n\tEflags   uint64\n\tRsp      uint64\n\tSs       uint64\n\tFs_base  uint64\n\tGs_base  uint64\n\tDs       uint64\n\tEs       uint64\n\tFs       uint64\n\tGs       uint64\n}\n\n// PtraceGetRegsAmd64 fetches the registers used by amd64 binaries.\nfunc PtraceGetRegsAmd64(pid int, regsout *PtraceRegsAmd64) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsAmd64 sets the registers used by amd64 binaries.\nfunc PtraceSetRegsAmd64(pid int, regs *PtraceRegsAmd64) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zptracearm_linux.go",
    "content": "// Code generated by linux/mkall.go generatePtracePair(arm, arm64). DO NOT EDIT.\n\n// +build linux\n// +build arm arm64\n\npackage unix\n\nimport \"unsafe\"\n\n// PtraceRegsArm is the registers used by arm binaries.\ntype PtraceRegsArm struct {\n\tUregs [18]uint32\n}\n\n// PtraceGetRegsArm fetches the registers used by arm binaries.\nfunc PtraceGetRegsArm(pid int, regsout *PtraceRegsArm) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsArm sets the registers used by arm binaries.\nfunc PtraceSetRegsArm(pid int, regs *PtraceRegsArm) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n\n// PtraceRegsArm64 is the registers used by arm64 binaries.\ntype PtraceRegsArm64 struct {\n\tRegs   [31]uint64\n\tSp     uint64\n\tPc     uint64\n\tPstate uint64\n}\n\n// PtraceGetRegsArm64 fetches the registers used by arm64 binaries.\nfunc PtraceGetRegsArm64(pid int, regsout *PtraceRegsArm64) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsArm64 sets the registers used by arm64 binaries.\nfunc PtraceSetRegsArm64(pid int, regs *PtraceRegsArm64) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zptracemips_linux.go",
    "content": "// Code generated by linux/mkall.go generatePtracePair(mips, mips64). DO NOT EDIT.\n\n// +build linux\n// +build mips mips64\n\npackage unix\n\nimport \"unsafe\"\n\n// PtraceRegsMips is the registers used by mips binaries.\ntype PtraceRegsMips struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\n// PtraceGetRegsMips fetches the registers used by mips binaries.\nfunc PtraceGetRegsMips(pid int, regsout *PtraceRegsMips) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsMips sets the registers used by mips binaries.\nfunc PtraceSetRegsMips(pid int, regs *PtraceRegsMips) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n\n// PtraceRegsMips64 is the registers used by mips64 binaries.\ntype PtraceRegsMips64 struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\n// PtraceGetRegsMips64 fetches the registers used by mips64 binaries.\nfunc PtraceGetRegsMips64(pid int, regsout *PtraceRegsMips64) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsMips64 sets the registers used by mips64 binaries.\nfunc PtraceSetRegsMips64(pid int, regs *PtraceRegsMips64) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zptracemipsle_linux.go",
    "content": "// Code generated by linux/mkall.go generatePtracePair(mipsle, mips64le). DO NOT EDIT.\n\n// +build linux\n// +build mipsle mips64le\n\npackage unix\n\nimport \"unsafe\"\n\n// PtraceRegsMipsle is the registers used by mipsle binaries.\ntype PtraceRegsMipsle struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\n// PtraceGetRegsMipsle fetches the registers used by mipsle binaries.\nfunc PtraceGetRegsMipsle(pid int, regsout *PtraceRegsMipsle) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsMipsle sets the registers used by mipsle binaries.\nfunc PtraceSetRegsMipsle(pid int, regs *PtraceRegsMipsle) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n\n// PtraceRegsMips64le is the registers used by mips64le binaries.\ntype PtraceRegsMips64le struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\n// PtraceGetRegsMips64le fetches the registers used by mips64le binaries.\nfunc PtraceGetRegsMips64le(pid int, regsout *PtraceRegsMips64le) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsMips64le sets the registers used by mips64le binaries.\nfunc PtraceSetRegsMips64le(pid int, regs *PtraceRegsMips64le) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go",
    "content": "// mksyscall.pl -l32 -tags darwin,386 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build darwin,386\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kill(pid int, signum int, posix int) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exchangedata(path1 string, path2 string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path1)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(path2)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setprivexec(flag int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc gettimeofday(tp *Timeval) (sec int32, usec int32, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tsec = int32(r0)\n\tusec = int32(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go",
    "content": "// mksyscall.pl -tags darwin,amd64 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build darwin,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kill(pid int, signum int, posix int) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exchangedata(path1 string, path2 string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path1)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(path2)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setprivexec(flag int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc gettimeofday(tp *Timeval) (sec int64, usec int32, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tsec = int64(r0)\n\tusec = int32(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go",
    "content": "// mksyscall.pl -tags darwin,arm syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build darwin,arm\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kill(pid int, signum int, posix int) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exchangedata(path1 string, path2 string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path1)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(path2)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setprivexec(flag int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc gettimeofday(tp *Timeval) (sec int32, usec int32, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tsec = int32(r0)\n\tusec = int32(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go",
    "content": "// mksyscall.pl -tags darwin,arm64 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build darwin,arm64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kill(pid int, signum int, posix int) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exchangedata(path1 string, path2 string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path1)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(path2)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setprivexec(flag int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc gettimeofday(tp *Timeval) (sec int64, usec int32, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tsec = int64(r0)\n\tusec = int32(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go",
    "content": "// mksyscall.pl -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build dragonfly,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc extpread(fd int, p []byte, flags int, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTPREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTPWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0)\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go",
    "content": "// mksyscall.pl -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build freebsd,386\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CapEnter() (err error) {\n\t_, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc capRightsGet(version int, fd int, rightsp *CapRights) (err error) {\n\t_, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc capRightsLimit(fd int, rightsp *CapRights) (err error) {\n\t_, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go",
    "content": "// mksyscall.pl -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build freebsd,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CapEnter() (err error) {\n\t_, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc capRightsGet(version int, fd int, rightsp *CapRights) (err error) {\n\t_, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc capRightsLimit(fd int, rightsp *CapRights) (err error) {\n\t_, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go",
    "content": "// mksyscall.pl -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build freebsd,arm\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CapEnter() (err error) {\n\t_, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc capRightsGet(version int, fd int, rightsp *CapRights) (err error) {\n\t_, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc capRightsLimit(fd int, rightsp *CapRights) (err error) {\n\t_, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_386.go",
    "content": "// mksyscall.pl -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,386\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Iopl(level int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0)\n\ttt = Time_t(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go",
    "content": "// mksyscall.pl -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Iopl(level int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go",
    "content": "// mksyscall.pl -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,arm\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go",
    "content": "// mksyscall.pl -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,arm64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go",
    "content": "// mksyscall.pl -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,mips\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(int64(r0)<<32 | int64(r1))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length>>32), uintptr(length), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(int64(r0)<<32 | int64(r1))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length>>32), uintptr(length), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Iopl(level int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0)\n\ttt = Time_t(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go",
    "content": "// mksyscall.pl -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,mips64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fstat(fd int, st *stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc lstat(path string, st *stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc stat(path string, st *stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go",
    "content": "// mksyscall.pl -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,mips64le\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fstat(fd int, st *stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc lstat(path string, st *stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc stat(path string, st *stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go",
    "content": "// mksyscall.pl -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,mipsle\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Iopl(level int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0)\n\ttt = Time_t(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go",
    "content": "// mksyscall.pl -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,ppc64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Iopl(level int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0)\n\ttt = Time_t(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go",
    "content": "// mksyscall.pl -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,ppc64le\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Iopl(level int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0)\n\ttt = Time_t(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go",
    "content": "// mksyscall.pl -tags linux,s390x syscall_linux.go syscall_linux_s390x.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,s390x\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go",
    "content": "// mksyscall.pl -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,sparc64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscall(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go",
    "content": "// mksyscall.pl -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build netbsd,386\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (fd1 int, fd2 int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tfd1 = int(r0)\n\tfd2 = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go",
    "content": "// mksyscall.pl -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build netbsd,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (fd1 int, fd2 int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tfd1 = int(r0)\n\tfd2 = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0)\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go",
    "content": "// mksyscall.pl -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build netbsd,arm\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (fd1 int, fd2 int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tfd1 = int(r0)\n\tfd2 = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go",
    "content": "// mksyscall.pl -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build openbsd,386\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go",
    "content": "// mksyscall.pl -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build openbsd,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0)\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go",
    "content": "// mksyscall.pl -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build openbsd,arm\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go",
    "content": "// mksyscall_solaris.pl -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build solaris,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n//go:cgo_import_dynamic libc_pipe pipe \"libc.so\"\n//go:cgo_import_dynamic libc_getsockname getsockname \"libsocket.so\"\n//go:cgo_import_dynamic libc_getcwd getcwd \"libc.so\"\n//go:cgo_import_dynamic libc_getgroups getgroups \"libc.so\"\n//go:cgo_import_dynamic libc_setgroups setgroups \"libc.so\"\n//go:cgo_import_dynamic libc_wait4 wait4 \"libc.so\"\n//go:cgo_import_dynamic libc_gethostname gethostname \"libc.so\"\n//go:cgo_import_dynamic libc_utimes utimes \"libc.so\"\n//go:cgo_import_dynamic libc_utimensat utimensat \"libc.so\"\n//go:cgo_import_dynamic libc_fcntl fcntl \"libc.so\"\n//go:cgo_import_dynamic libc_futimesat futimesat \"libc.so\"\n//go:cgo_import_dynamic libc_accept accept \"libsocket.so\"\n//go:cgo_import_dynamic libc___xnet_recvmsg __xnet_recvmsg \"libsocket.so\"\n//go:cgo_import_dynamic libc___xnet_sendmsg __xnet_sendmsg \"libsocket.so\"\n//go:cgo_import_dynamic libc_acct acct \"libc.so\"\n//go:cgo_import_dynamic libc___makedev __makedev \"libc.so\"\n//go:cgo_import_dynamic libc___major __major \"libc.so\"\n//go:cgo_import_dynamic libc___minor __minor \"libc.so\"\n//go:cgo_import_dynamic libc_ioctl ioctl \"libc.so\"\n//go:cgo_import_dynamic libc_poll poll \"libc.so\"\n//go:cgo_import_dynamic libc_access access \"libc.so\"\n//go:cgo_import_dynamic libc_adjtime adjtime \"libc.so\"\n//go:cgo_import_dynamic libc_chdir chdir \"libc.so\"\n//go:cgo_import_dynamic libc_chmod chmod \"libc.so\"\n//go:cgo_import_dynamic libc_chown chown \"libc.so\"\n//go:cgo_import_dynamic libc_chroot chroot \"libc.so\"\n//go:cgo_import_dynamic libc_close close \"libc.so\"\n//go:cgo_import_dynamic libc_creat creat \"libc.so\"\n//go:cgo_import_dynamic libc_dup dup \"libc.so\"\n//go:cgo_import_dynamic libc_dup2 dup2 \"libc.so\"\n//go:cgo_import_dynamic libc_exit exit \"libc.so\"\n//go:cgo_import_dynamic libc_fchdir fchdir \"libc.so\"\n//go:cgo_import_dynamic libc_fchmod fchmod \"libc.so\"\n//go:cgo_import_dynamic libc_fchmodat fchmodat \"libc.so\"\n//go:cgo_import_dynamic libc_fchown fchown \"libc.so\"\n//go:cgo_import_dynamic libc_fchownat fchownat \"libc.so\"\n//go:cgo_import_dynamic libc_fdatasync fdatasync \"libc.so\"\n//go:cgo_import_dynamic libc_flock flock \"libc.so\"\n//go:cgo_import_dynamic libc_fpathconf fpathconf \"libc.so\"\n//go:cgo_import_dynamic libc_fstat fstat \"libc.so\"\n//go:cgo_import_dynamic libc_fstatvfs fstatvfs \"libc.so\"\n//go:cgo_import_dynamic libc_getdents getdents \"libc.so\"\n//go:cgo_import_dynamic libc_getgid getgid \"libc.so\"\n//go:cgo_import_dynamic libc_getpid getpid \"libc.so\"\n//go:cgo_import_dynamic libc_getpgid getpgid \"libc.so\"\n//go:cgo_import_dynamic libc_getpgrp getpgrp \"libc.so\"\n//go:cgo_import_dynamic libc_geteuid geteuid \"libc.so\"\n//go:cgo_import_dynamic libc_getegid getegid \"libc.so\"\n//go:cgo_import_dynamic libc_getppid getppid \"libc.so\"\n//go:cgo_import_dynamic libc_getpriority getpriority \"libc.so\"\n//go:cgo_import_dynamic libc_getrlimit getrlimit \"libc.so\"\n//go:cgo_import_dynamic libc_getrusage getrusage \"libc.so\"\n//go:cgo_import_dynamic libc_gettimeofday gettimeofday \"libc.so\"\n//go:cgo_import_dynamic libc_getuid getuid \"libc.so\"\n//go:cgo_import_dynamic libc_kill kill \"libc.so\"\n//go:cgo_import_dynamic libc_lchown lchown \"libc.so\"\n//go:cgo_import_dynamic libc_link link \"libc.so\"\n//go:cgo_import_dynamic libc___xnet_llisten __xnet_llisten \"libsocket.so\"\n//go:cgo_import_dynamic libc_lstat lstat \"libc.so\"\n//go:cgo_import_dynamic libc_madvise madvise \"libc.so\"\n//go:cgo_import_dynamic libc_mkdir mkdir \"libc.so\"\n//go:cgo_import_dynamic libc_mkdirat mkdirat \"libc.so\"\n//go:cgo_import_dynamic libc_mkfifo mkfifo \"libc.so\"\n//go:cgo_import_dynamic libc_mkfifoat mkfifoat \"libc.so\"\n//go:cgo_import_dynamic libc_mknod mknod \"libc.so\"\n//go:cgo_import_dynamic libc_mknodat mknodat \"libc.so\"\n//go:cgo_import_dynamic libc_mlock mlock \"libc.so\"\n//go:cgo_import_dynamic libc_mlockall mlockall \"libc.so\"\n//go:cgo_import_dynamic libc_mprotect mprotect \"libc.so\"\n//go:cgo_import_dynamic libc_msync msync \"libc.so\"\n//go:cgo_import_dynamic libc_munlock munlock \"libc.so\"\n//go:cgo_import_dynamic libc_munlockall munlockall \"libc.so\"\n//go:cgo_import_dynamic libc_nanosleep nanosleep \"libc.so\"\n//go:cgo_import_dynamic libc_open open \"libc.so\"\n//go:cgo_import_dynamic libc_openat openat \"libc.so\"\n//go:cgo_import_dynamic libc_pathconf pathconf \"libc.so\"\n//go:cgo_import_dynamic libc_pause pause \"libc.so\"\n//go:cgo_import_dynamic libc_pread pread \"libc.so\"\n//go:cgo_import_dynamic libc_pwrite pwrite \"libc.so\"\n//go:cgo_import_dynamic libc_read read \"libc.so\"\n//go:cgo_import_dynamic libc_readlink readlink \"libc.so\"\n//go:cgo_import_dynamic libc_rename rename \"libc.so\"\n//go:cgo_import_dynamic libc_renameat renameat \"libc.so\"\n//go:cgo_import_dynamic libc_rmdir rmdir \"libc.so\"\n//go:cgo_import_dynamic libc_lseek lseek \"libc.so\"\n//go:cgo_import_dynamic libc_select select \"libc.so\"\n//go:cgo_import_dynamic libc_setegid setegid \"libc.so\"\n//go:cgo_import_dynamic libc_seteuid seteuid \"libc.so\"\n//go:cgo_import_dynamic libc_setgid setgid \"libc.so\"\n//go:cgo_import_dynamic libc_sethostname sethostname \"libc.so\"\n//go:cgo_import_dynamic libc_setpgid setpgid \"libc.so\"\n//go:cgo_import_dynamic libc_setpriority setpriority \"libc.so\"\n//go:cgo_import_dynamic libc_setregid setregid \"libc.so\"\n//go:cgo_import_dynamic libc_setreuid setreuid \"libc.so\"\n//go:cgo_import_dynamic libc_setrlimit setrlimit \"libc.so\"\n//go:cgo_import_dynamic libc_setsid setsid \"libc.so\"\n//go:cgo_import_dynamic libc_setuid setuid \"libc.so\"\n//go:cgo_import_dynamic libc_shutdown shutdown \"libsocket.so\"\n//go:cgo_import_dynamic libc_stat stat \"libc.so\"\n//go:cgo_import_dynamic libc_statvfs statvfs \"libc.so\"\n//go:cgo_import_dynamic libc_symlink symlink \"libc.so\"\n//go:cgo_import_dynamic libc_sync sync \"libc.so\"\n//go:cgo_import_dynamic libc_times times \"libc.so\"\n//go:cgo_import_dynamic libc_truncate truncate \"libc.so\"\n//go:cgo_import_dynamic libc_fsync fsync \"libc.so\"\n//go:cgo_import_dynamic libc_ftruncate ftruncate \"libc.so\"\n//go:cgo_import_dynamic libc_umask umask \"libc.so\"\n//go:cgo_import_dynamic libc_uname uname \"libc.so\"\n//go:cgo_import_dynamic libc_umount umount \"libc.so\"\n//go:cgo_import_dynamic libc_unlink unlink \"libc.so\"\n//go:cgo_import_dynamic libc_unlinkat unlinkat \"libc.so\"\n//go:cgo_import_dynamic libc_ustat ustat \"libc.so\"\n//go:cgo_import_dynamic libc_utime utime \"libc.so\"\n//go:cgo_import_dynamic libc___xnet_bind __xnet_bind \"libsocket.so\"\n//go:cgo_import_dynamic libc___xnet_connect __xnet_connect \"libsocket.so\"\n//go:cgo_import_dynamic libc_mmap mmap \"libc.so\"\n//go:cgo_import_dynamic libc_munmap munmap \"libc.so\"\n//go:cgo_import_dynamic libc___xnet_sendto __xnet_sendto \"libsocket.so\"\n//go:cgo_import_dynamic libc___xnet_socket __xnet_socket \"libsocket.so\"\n//go:cgo_import_dynamic libc___xnet_socketpair __xnet_socketpair \"libsocket.so\"\n//go:cgo_import_dynamic libc_write write \"libc.so\"\n//go:cgo_import_dynamic libc___xnet_getsockopt __xnet_getsockopt \"libsocket.so\"\n//go:cgo_import_dynamic libc_getpeername getpeername \"libsocket.so\"\n//go:cgo_import_dynamic libc_setsockopt setsockopt \"libsocket.so\"\n//go:cgo_import_dynamic libc_recvfrom recvfrom \"libsocket.so\"\n\n//go:linkname procpipe libc_pipe\n//go:linkname procgetsockname libc_getsockname\n//go:linkname procGetcwd libc_getcwd\n//go:linkname procgetgroups libc_getgroups\n//go:linkname procsetgroups libc_setgroups\n//go:linkname procwait4 libc_wait4\n//go:linkname procgethostname libc_gethostname\n//go:linkname procutimes libc_utimes\n//go:linkname procutimensat libc_utimensat\n//go:linkname procfcntl libc_fcntl\n//go:linkname procfutimesat libc_futimesat\n//go:linkname procaccept libc_accept\n//go:linkname proc__xnet_recvmsg libc___xnet_recvmsg\n//go:linkname proc__xnet_sendmsg libc___xnet_sendmsg\n//go:linkname procacct libc_acct\n//go:linkname proc__makedev libc___makedev\n//go:linkname proc__major libc___major\n//go:linkname proc__minor libc___minor\n//go:linkname procioctl libc_ioctl\n//go:linkname procpoll libc_poll\n//go:linkname procAccess libc_access\n//go:linkname procAdjtime libc_adjtime\n//go:linkname procChdir libc_chdir\n//go:linkname procChmod libc_chmod\n//go:linkname procChown libc_chown\n//go:linkname procChroot libc_chroot\n//go:linkname procClose libc_close\n//go:linkname procCreat libc_creat\n//go:linkname procDup libc_dup\n//go:linkname procDup2 libc_dup2\n//go:linkname procExit libc_exit\n//go:linkname procFchdir libc_fchdir\n//go:linkname procFchmod libc_fchmod\n//go:linkname procFchmodat libc_fchmodat\n//go:linkname procFchown libc_fchown\n//go:linkname procFchownat libc_fchownat\n//go:linkname procFdatasync libc_fdatasync\n//go:linkname procFlock libc_flock\n//go:linkname procFpathconf libc_fpathconf\n//go:linkname procFstat libc_fstat\n//go:linkname procFstatvfs libc_fstatvfs\n//go:linkname procGetdents libc_getdents\n//go:linkname procGetgid libc_getgid\n//go:linkname procGetpid libc_getpid\n//go:linkname procGetpgid libc_getpgid\n//go:linkname procGetpgrp libc_getpgrp\n//go:linkname procGeteuid libc_geteuid\n//go:linkname procGetegid libc_getegid\n//go:linkname procGetppid libc_getppid\n//go:linkname procGetpriority libc_getpriority\n//go:linkname procGetrlimit libc_getrlimit\n//go:linkname procGetrusage libc_getrusage\n//go:linkname procGettimeofday libc_gettimeofday\n//go:linkname procGetuid libc_getuid\n//go:linkname procKill libc_kill\n//go:linkname procLchown libc_lchown\n//go:linkname procLink libc_link\n//go:linkname proc__xnet_llisten libc___xnet_llisten\n//go:linkname procLstat libc_lstat\n//go:linkname procMadvise libc_madvise\n//go:linkname procMkdir libc_mkdir\n//go:linkname procMkdirat libc_mkdirat\n//go:linkname procMkfifo libc_mkfifo\n//go:linkname procMkfifoat libc_mkfifoat\n//go:linkname procMknod libc_mknod\n//go:linkname procMknodat libc_mknodat\n//go:linkname procMlock libc_mlock\n//go:linkname procMlockall libc_mlockall\n//go:linkname procMprotect libc_mprotect\n//go:linkname procMsync libc_msync\n//go:linkname procMunlock libc_munlock\n//go:linkname procMunlockall libc_munlockall\n//go:linkname procNanosleep libc_nanosleep\n//go:linkname procOpen libc_open\n//go:linkname procOpenat libc_openat\n//go:linkname procPathconf libc_pathconf\n//go:linkname procPause libc_pause\n//go:linkname procPread libc_pread\n//go:linkname procPwrite libc_pwrite\n//go:linkname procread libc_read\n//go:linkname procReadlink libc_readlink\n//go:linkname procRename libc_rename\n//go:linkname procRenameat libc_renameat\n//go:linkname procRmdir libc_rmdir\n//go:linkname proclseek libc_lseek\n//go:linkname procSelect libc_select\n//go:linkname procSetegid libc_setegid\n//go:linkname procSeteuid libc_seteuid\n//go:linkname procSetgid libc_setgid\n//go:linkname procSethostname libc_sethostname\n//go:linkname procSetpgid libc_setpgid\n//go:linkname procSetpriority libc_setpriority\n//go:linkname procSetregid libc_setregid\n//go:linkname procSetreuid libc_setreuid\n//go:linkname procSetrlimit libc_setrlimit\n//go:linkname procSetsid libc_setsid\n//go:linkname procSetuid libc_setuid\n//go:linkname procshutdown libc_shutdown\n//go:linkname procStat libc_stat\n//go:linkname procStatvfs libc_statvfs\n//go:linkname procSymlink libc_symlink\n//go:linkname procSync libc_sync\n//go:linkname procTimes libc_times\n//go:linkname procTruncate libc_truncate\n//go:linkname procFsync libc_fsync\n//go:linkname procFtruncate libc_ftruncate\n//go:linkname procUmask libc_umask\n//go:linkname procUname libc_uname\n//go:linkname procumount libc_umount\n//go:linkname procUnlink libc_unlink\n//go:linkname procUnlinkat libc_unlinkat\n//go:linkname procUstat libc_ustat\n//go:linkname procUtime libc_utime\n//go:linkname proc__xnet_bind libc___xnet_bind\n//go:linkname proc__xnet_connect libc___xnet_connect\n//go:linkname procmmap libc_mmap\n//go:linkname procmunmap libc_munmap\n//go:linkname proc__xnet_sendto libc___xnet_sendto\n//go:linkname proc__xnet_socket libc___xnet_socket\n//go:linkname proc__xnet_socketpair libc___xnet_socketpair\n//go:linkname procwrite libc_write\n//go:linkname proc__xnet_getsockopt libc___xnet_getsockopt\n//go:linkname procgetpeername libc_getpeername\n//go:linkname procsetsockopt libc_setsockopt\n//go:linkname procrecvfrom libc_recvfrom\n\nvar (\n\tprocpipe,\n\tprocgetsockname,\n\tprocGetcwd,\n\tprocgetgroups,\n\tprocsetgroups,\n\tprocwait4,\n\tprocgethostname,\n\tprocutimes,\n\tprocutimensat,\n\tprocfcntl,\n\tprocfutimesat,\n\tprocaccept,\n\tproc__xnet_recvmsg,\n\tproc__xnet_sendmsg,\n\tprocacct,\n\tproc__makedev,\n\tproc__major,\n\tproc__minor,\n\tprocioctl,\n\tprocpoll,\n\tprocAccess,\n\tprocAdjtime,\n\tprocChdir,\n\tprocChmod,\n\tprocChown,\n\tprocChroot,\n\tprocClose,\n\tprocCreat,\n\tprocDup,\n\tprocDup2,\n\tprocExit,\n\tprocFchdir,\n\tprocFchmod,\n\tprocFchmodat,\n\tprocFchown,\n\tprocFchownat,\n\tprocFdatasync,\n\tprocFlock,\n\tprocFpathconf,\n\tprocFstat,\n\tprocFstatvfs,\n\tprocGetdents,\n\tprocGetgid,\n\tprocGetpid,\n\tprocGetpgid,\n\tprocGetpgrp,\n\tprocGeteuid,\n\tprocGetegid,\n\tprocGetppid,\n\tprocGetpriority,\n\tprocGetrlimit,\n\tprocGetrusage,\n\tprocGettimeofday,\n\tprocGetuid,\n\tprocKill,\n\tprocLchown,\n\tprocLink,\n\tproc__xnet_llisten,\n\tprocLstat,\n\tprocMadvise,\n\tprocMkdir,\n\tprocMkdirat,\n\tprocMkfifo,\n\tprocMkfifoat,\n\tprocMknod,\n\tprocMknodat,\n\tprocMlock,\n\tprocMlockall,\n\tprocMprotect,\n\tprocMsync,\n\tprocMunlock,\n\tprocMunlockall,\n\tprocNanosleep,\n\tprocOpen,\n\tprocOpenat,\n\tprocPathconf,\n\tprocPause,\n\tprocPread,\n\tprocPwrite,\n\tprocread,\n\tprocReadlink,\n\tprocRename,\n\tprocRenameat,\n\tprocRmdir,\n\tproclseek,\n\tprocSelect,\n\tprocSetegid,\n\tprocSeteuid,\n\tprocSetgid,\n\tprocSethostname,\n\tprocSetpgid,\n\tprocSetpriority,\n\tprocSetregid,\n\tprocSetreuid,\n\tprocSetrlimit,\n\tprocSetsid,\n\tprocSetuid,\n\tprocshutdown,\n\tprocStat,\n\tprocStatvfs,\n\tprocSymlink,\n\tprocSync,\n\tprocTimes,\n\tprocTruncate,\n\tprocFsync,\n\tprocFtruncate,\n\tprocUmask,\n\tprocUname,\n\tprocumount,\n\tprocUnlink,\n\tprocUnlinkat,\n\tprocUstat,\n\tprocUtime,\n\tproc__xnet_bind,\n\tproc__xnet_connect,\n\tprocmmap,\n\tprocmunmap,\n\tproc__xnet_sendto,\n\tproc__xnet_socket,\n\tproc__xnet_socketpair,\n\tprocwrite,\n\tproc__xnet_getsockopt,\n\tprocgetpeername,\n\tprocsetsockopt,\n\tprocrecvfrom syscallFunc\n)\n\nfunc pipe(p *[2]_C_int) (n int, err error) {\n\tr0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe)), 1, uintptr(unsafe.Pointer(p)), 0, 0, 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\tif len(buf) > 0 {\n\t\t_p0 = &buf[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetcwd)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwait4)), 4, uintptr(pid), uintptr(unsafe.Pointer(statusp)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int32(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc gethostname(buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\tif len(buf) > 0 {\n\t\t_p0 = &buf[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimes)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimensat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flag), 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc futimesat(fildes int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfutimesat)), 3, uintptr(fildes), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept)), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_recvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc acct(path *byte) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procacct)), 1, uintptr(unsafe.Pointer(path)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc __makedev(version int, major uint, minor uint) (val uint64) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__makedev)), 3, uintptr(version), uintptr(major), uintptr(minor), 0, 0, 0)\n\tval = uint64(r0)\n\treturn\n}\n\nfunc __major(version int, dev uint64) (val uint) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__major)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0)\n\tval = uint(r0)\n\treturn\n}\n\nfunc __minor(version int, dev uint64) (val uint) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__minor)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0)\n\tval = uint(r0)\n\treturn\n}\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpoll)), 3, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAccess)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChmod)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Creat(path string, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procCreat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Exit(code int) {\n\tsysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0)\n\treturn\n}\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchownat)), 5, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFlock)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatvfs)), 2, uintptr(fd), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 *byte\n\tif len(buf) > 0 {\n\t\t_p0 = &buf[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetdents)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getpgrp() (pgid int, err error) {\n\tr0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgrp)), 0, 0, 0, 0, 0, 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Geteuid() (euid int) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\nfunc Getpriority(which int, who int) (n int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procKill)), 2, uintptr(pid), uintptr(signum), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLchown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLstat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 *byte\n\tif len(b) > 0 {\n\t\t_p0 = &b[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMadvise)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(advice), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdir)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdirat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifo)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mkfifoat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifoat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknod)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 *byte\n\tif len(b) > 0 {\n\t\t_p0 = &b[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 *byte\n\tif len(b) > 0 {\n\t\t_p0 = &b[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMprotect)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(prot), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 *byte\n\tif len(b) > 0 {\n\t\t_p0 = &b[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMsync)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(flags), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 *byte\n\tif len(b) > 0 {\n\t\t_p0 = &b[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpen)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpenat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPathconf)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0, 0, 0, 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Pause() (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 *byte\n\tif len(p) > 0 {\n\t\t_p0 = &p[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 *byte\n\tif len(p) > 0 {\n\t\t_p0 = &p[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 *byte\n\tif len(p) > 0 {\n\t\t_p0 = &p[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\tif len(buf) > 0 {\n\t\t_p1 = &buf[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procReadlink)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(len(buf)), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRename)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRenameat)), 4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRmdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0)\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSelect)), 5, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 *byte\n\tif len(p) > 0 {\n\t\t_p0 = &p[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Statvfs(path string, vfsstat *Statvfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStatvfs)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSymlink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Sync() (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procTruncate)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procumount)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlink)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUtime)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_bind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_connect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmmap)), 6, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 *byte\n\tif len(buf) > 0 {\n\t\t_p0 = &buf[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendto)), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 *byte\n\tif len(p) > 0 {\n\t\t_p0 = &p[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 *byte\n\tif len(p) > 0 {\n\t\t_p0 = &p[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procrecvfrom)), 6, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go",
    "content": "// mksysctl_openbsd.pl\n// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT\n\npackage unix\n\ntype mibentry struct {\n\tctlname string\n\tctloid  []_C_int\n}\n\nvar sysctlMib = []mibentry{\n\t{\"ddb.console\", []_C_int{9, 6}},\n\t{\"ddb.log\", []_C_int{9, 7}},\n\t{\"ddb.max_line\", []_C_int{9, 3}},\n\t{\"ddb.max_width\", []_C_int{9, 2}},\n\t{\"ddb.panic\", []_C_int{9, 5}},\n\t{\"ddb.radix\", []_C_int{9, 1}},\n\t{\"ddb.tab_stop_width\", []_C_int{9, 4}},\n\t{\"ddb.trigger\", []_C_int{9, 8}},\n\t{\"fs.posix.setuid\", []_C_int{3, 1, 1}},\n\t{\"hw.allowpowerdown\", []_C_int{6, 22}},\n\t{\"hw.byteorder\", []_C_int{6, 4}},\n\t{\"hw.cpuspeed\", []_C_int{6, 12}},\n\t{\"hw.diskcount\", []_C_int{6, 10}},\n\t{\"hw.disknames\", []_C_int{6, 8}},\n\t{\"hw.diskstats\", []_C_int{6, 9}},\n\t{\"hw.machine\", []_C_int{6, 1}},\n\t{\"hw.model\", []_C_int{6, 2}},\n\t{\"hw.ncpu\", []_C_int{6, 3}},\n\t{\"hw.ncpufound\", []_C_int{6, 21}},\n\t{\"hw.pagesize\", []_C_int{6, 7}},\n\t{\"hw.physmem\", []_C_int{6, 19}},\n\t{\"hw.product\", []_C_int{6, 15}},\n\t{\"hw.serialno\", []_C_int{6, 17}},\n\t{\"hw.setperf\", []_C_int{6, 13}},\n\t{\"hw.usermem\", []_C_int{6, 20}},\n\t{\"hw.uuid\", []_C_int{6, 18}},\n\t{\"hw.vendor\", []_C_int{6, 14}},\n\t{\"hw.version\", []_C_int{6, 16}},\n\t{\"kern.arandom\", []_C_int{1, 37}},\n\t{\"kern.argmax\", []_C_int{1, 8}},\n\t{\"kern.boottime\", []_C_int{1, 21}},\n\t{\"kern.bufcachepercent\", []_C_int{1, 72}},\n\t{\"kern.ccpu\", []_C_int{1, 45}},\n\t{\"kern.clockrate\", []_C_int{1, 12}},\n\t{\"kern.consdev\", []_C_int{1, 75}},\n\t{\"kern.cp_time\", []_C_int{1, 40}},\n\t{\"kern.cp_time2\", []_C_int{1, 71}},\n\t{\"kern.cryptodevallowsoft\", []_C_int{1, 53}},\n\t{\"kern.domainname\", []_C_int{1, 22}},\n\t{\"kern.file\", []_C_int{1, 73}},\n\t{\"kern.forkstat\", []_C_int{1, 42}},\n\t{\"kern.fscale\", []_C_int{1, 46}},\n\t{\"kern.fsync\", []_C_int{1, 33}},\n\t{\"kern.hostid\", []_C_int{1, 11}},\n\t{\"kern.hostname\", []_C_int{1, 10}},\n\t{\"kern.intrcnt.nintrcnt\", []_C_int{1, 63, 1}},\n\t{\"kern.job_control\", []_C_int{1, 19}},\n\t{\"kern.malloc.buckets\", []_C_int{1, 39, 1}},\n\t{\"kern.malloc.kmemnames\", []_C_int{1, 39, 3}},\n\t{\"kern.maxclusters\", []_C_int{1, 67}},\n\t{\"kern.maxfiles\", []_C_int{1, 7}},\n\t{\"kern.maxlocksperuid\", []_C_int{1, 70}},\n\t{\"kern.maxpartitions\", []_C_int{1, 23}},\n\t{\"kern.maxproc\", []_C_int{1, 6}},\n\t{\"kern.maxthread\", []_C_int{1, 25}},\n\t{\"kern.maxvnodes\", []_C_int{1, 5}},\n\t{\"kern.mbstat\", []_C_int{1, 59}},\n\t{\"kern.msgbuf\", []_C_int{1, 48}},\n\t{\"kern.msgbufsize\", []_C_int{1, 38}},\n\t{\"kern.nchstats\", []_C_int{1, 41}},\n\t{\"kern.netlivelocks\", []_C_int{1, 76}},\n\t{\"kern.nfiles\", []_C_int{1, 56}},\n\t{\"kern.ngroups\", []_C_int{1, 18}},\n\t{\"kern.nosuidcoredump\", []_C_int{1, 32}},\n\t{\"kern.nprocs\", []_C_int{1, 47}},\n\t{\"kern.nselcoll\", []_C_int{1, 43}},\n\t{\"kern.nthreads\", []_C_int{1, 26}},\n\t{\"kern.numvnodes\", []_C_int{1, 58}},\n\t{\"kern.osrelease\", []_C_int{1, 2}},\n\t{\"kern.osrevision\", []_C_int{1, 3}},\n\t{\"kern.ostype\", []_C_int{1, 1}},\n\t{\"kern.osversion\", []_C_int{1, 27}},\n\t{\"kern.pool_debug\", []_C_int{1, 77}},\n\t{\"kern.posix1version\", []_C_int{1, 17}},\n\t{\"kern.proc\", []_C_int{1, 66}},\n\t{\"kern.random\", []_C_int{1, 31}},\n\t{\"kern.rawpartition\", []_C_int{1, 24}},\n\t{\"kern.saved_ids\", []_C_int{1, 20}},\n\t{\"kern.securelevel\", []_C_int{1, 9}},\n\t{\"kern.seminfo\", []_C_int{1, 61}},\n\t{\"kern.shminfo\", []_C_int{1, 62}},\n\t{\"kern.somaxconn\", []_C_int{1, 28}},\n\t{\"kern.sominconn\", []_C_int{1, 29}},\n\t{\"kern.splassert\", []_C_int{1, 54}},\n\t{\"kern.stackgap_random\", []_C_int{1, 50}},\n\t{\"kern.sysvipc_info\", []_C_int{1, 51}},\n\t{\"kern.sysvmsg\", []_C_int{1, 34}},\n\t{\"kern.sysvsem\", []_C_int{1, 35}},\n\t{\"kern.sysvshm\", []_C_int{1, 36}},\n\t{\"kern.timecounter.choice\", []_C_int{1, 69, 4}},\n\t{\"kern.timecounter.hardware\", []_C_int{1, 69, 3}},\n\t{\"kern.timecounter.tick\", []_C_int{1, 69, 1}},\n\t{\"kern.timecounter.timestepwarnings\", []_C_int{1, 69, 2}},\n\t{\"kern.tty.maxptys\", []_C_int{1, 44, 6}},\n\t{\"kern.tty.nptys\", []_C_int{1, 44, 7}},\n\t{\"kern.tty.tk_cancc\", []_C_int{1, 44, 4}},\n\t{\"kern.tty.tk_nin\", []_C_int{1, 44, 1}},\n\t{\"kern.tty.tk_nout\", []_C_int{1, 44, 2}},\n\t{\"kern.tty.tk_rawcc\", []_C_int{1, 44, 3}},\n\t{\"kern.tty.ttyinfo\", []_C_int{1, 44, 5}},\n\t{\"kern.ttycount\", []_C_int{1, 57}},\n\t{\"kern.userasymcrypto\", []_C_int{1, 60}},\n\t{\"kern.usercrypto\", []_C_int{1, 52}},\n\t{\"kern.usermount\", []_C_int{1, 30}},\n\t{\"kern.version\", []_C_int{1, 4}},\n\t{\"kern.vnode\", []_C_int{1, 13}},\n\t{\"kern.watchdog.auto\", []_C_int{1, 64, 2}},\n\t{\"kern.watchdog.period\", []_C_int{1, 64, 1}},\n\t{\"net.bpf.bufsize\", []_C_int{4, 31, 1}},\n\t{\"net.bpf.maxbufsize\", []_C_int{4, 31, 2}},\n\t{\"net.inet.ah.enable\", []_C_int{4, 2, 51, 1}},\n\t{\"net.inet.ah.stats\", []_C_int{4, 2, 51, 2}},\n\t{\"net.inet.carp.allow\", []_C_int{4, 2, 112, 1}},\n\t{\"net.inet.carp.log\", []_C_int{4, 2, 112, 3}},\n\t{\"net.inet.carp.preempt\", []_C_int{4, 2, 112, 2}},\n\t{\"net.inet.carp.stats\", []_C_int{4, 2, 112, 4}},\n\t{\"net.inet.divert.recvspace\", []_C_int{4, 2, 258, 1}},\n\t{\"net.inet.divert.sendspace\", []_C_int{4, 2, 258, 2}},\n\t{\"net.inet.divert.stats\", []_C_int{4, 2, 258, 3}},\n\t{\"net.inet.esp.enable\", []_C_int{4, 2, 50, 1}},\n\t{\"net.inet.esp.stats\", []_C_int{4, 2, 50, 4}},\n\t{\"net.inet.esp.udpencap\", []_C_int{4, 2, 50, 2}},\n\t{\"net.inet.esp.udpencap_port\", []_C_int{4, 2, 50, 3}},\n\t{\"net.inet.etherip.allow\", []_C_int{4, 2, 97, 1}},\n\t{\"net.inet.etherip.stats\", []_C_int{4, 2, 97, 2}},\n\t{\"net.inet.gre.allow\", []_C_int{4, 2, 47, 1}},\n\t{\"net.inet.gre.wccp\", []_C_int{4, 2, 47, 2}},\n\t{\"net.inet.icmp.bmcastecho\", []_C_int{4, 2, 1, 2}},\n\t{\"net.inet.icmp.errppslimit\", []_C_int{4, 2, 1, 3}},\n\t{\"net.inet.icmp.maskrepl\", []_C_int{4, 2, 1, 1}},\n\t{\"net.inet.icmp.rediraccept\", []_C_int{4, 2, 1, 4}},\n\t{\"net.inet.icmp.redirtimeout\", []_C_int{4, 2, 1, 5}},\n\t{\"net.inet.icmp.stats\", []_C_int{4, 2, 1, 7}},\n\t{\"net.inet.icmp.tstamprepl\", []_C_int{4, 2, 1, 6}},\n\t{\"net.inet.igmp.stats\", []_C_int{4, 2, 2, 1}},\n\t{\"net.inet.ip.arpqueued\", []_C_int{4, 2, 0, 36}},\n\t{\"net.inet.ip.encdebug\", []_C_int{4, 2, 0, 12}},\n\t{\"net.inet.ip.forwarding\", []_C_int{4, 2, 0, 1}},\n\t{\"net.inet.ip.ifq.congestion\", []_C_int{4, 2, 0, 30, 4}},\n\t{\"net.inet.ip.ifq.drops\", []_C_int{4, 2, 0, 30, 3}},\n\t{\"net.inet.ip.ifq.len\", []_C_int{4, 2, 0, 30, 1}},\n\t{\"net.inet.ip.ifq.maxlen\", []_C_int{4, 2, 0, 30, 2}},\n\t{\"net.inet.ip.maxqueue\", []_C_int{4, 2, 0, 11}},\n\t{\"net.inet.ip.mforwarding\", []_C_int{4, 2, 0, 31}},\n\t{\"net.inet.ip.mrtproto\", []_C_int{4, 2, 0, 34}},\n\t{\"net.inet.ip.mrtstats\", []_C_int{4, 2, 0, 35}},\n\t{\"net.inet.ip.mtu\", []_C_int{4, 2, 0, 4}},\n\t{\"net.inet.ip.mtudisc\", []_C_int{4, 2, 0, 27}},\n\t{\"net.inet.ip.mtudisctimeout\", []_C_int{4, 2, 0, 28}},\n\t{\"net.inet.ip.multipath\", []_C_int{4, 2, 0, 32}},\n\t{\"net.inet.ip.portfirst\", []_C_int{4, 2, 0, 7}},\n\t{\"net.inet.ip.porthifirst\", []_C_int{4, 2, 0, 9}},\n\t{\"net.inet.ip.porthilast\", []_C_int{4, 2, 0, 10}},\n\t{\"net.inet.ip.portlast\", []_C_int{4, 2, 0, 8}},\n\t{\"net.inet.ip.redirect\", []_C_int{4, 2, 0, 2}},\n\t{\"net.inet.ip.sourceroute\", []_C_int{4, 2, 0, 5}},\n\t{\"net.inet.ip.stats\", []_C_int{4, 2, 0, 33}},\n\t{\"net.inet.ip.ttl\", []_C_int{4, 2, 0, 3}},\n\t{\"net.inet.ipcomp.enable\", []_C_int{4, 2, 108, 1}},\n\t{\"net.inet.ipcomp.stats\", []_C_int{4, 2, 108, 2}},\n\t{\"net.inet.ipip.allow\", []_C_int{4, 2, 4, 1}},\n\t{\"net.inet.ipip.stats\", []_C_int{4, 2, 4, 2}},\n\t{\"net.inet.mobileip.allow\", []_C_int{4, 2, 55, 1}},\n\t{\"net.inet.pfsync.stats\", []_C_int{4, 2, 240, 1}},\n\t{\"net.inet.pim.stats\", []_C_int{4, 2, 103, 1}},\n\t{\"net.inet.tcp.ackonpush\", []_C_int{4, 2, 6, 13}},\n\t{\"net.inet.tcp.always_keepalive\", []_C_int{4, 2, 6, 22}},\n\t{\"net.inet.tcp.baddynamic\", []_C_int{4, 2, 6, 6}},\n\t{\"net.inet.tcp.drop\", []_C_int{4, 2, 6, 19}},\n\t{\"net.inet.tcp.ecn\", []_C_int{4, 2, 6, 14}},\n\t{\"net.inet.tcp.ident\", []_C_int{4, 2, 6, 9}},\n\t{\"net.inet.tcp.keepidle\", []_C_int{4, 2, 6, 3}},\n\t{\"net.inet.tcp.keepinittime\", []_C_int{4, 2, 6, 2}},\n\t{\"net.inet.tcp.keepintvl\", []_C_int{4, 2, 6, 4}},\n\t{\"net.inet.tcp.mssdflt\", []_C_int{4, 2, 6, 11}},\n\t{\"net.inet.tcp.reasslimit\", []_C_int{4, 2, 6, 18}},\n\t{\"net.inet.tcp.rfc1323\", []_C_int{4, 2, 6, 1}},\n\t{\"net.inet.tcp.rfc3390\", []_C_int{4, 2, 6, 17}},\n\t{\"net.inet.tcp.rstppslimit\", []_C_int{4, 2, 6, 12}},\n\t{\"net.inet.tcp.sack\", []_C_int{4, 2, 6, 10}},\n\t{\"net.inet.tcp.sackholelimit\", []_C_int{4, 2, 6, 20}},\n\t{\"net.inet.tcp.slowhz\", []_C_int{4, 2, 6, 5}},\n\t{\"net.inet.tcp.stats\", []_C_int{4, 2, 6, 21}},\n\t{\"net.inet.tcp.synbucketlimit\", []_C_int{4, 2, 6, 16}},\n\t{\"net.inet.tcp.syncachelimit\", []_C_int{4, 2, 6, 15}},\n\t{\"net.inet.udp.baddynamic\", []_C_int{4, 2, 17, 2}},\n\t{\"net.inet.udp.checksum\", []_C_int{4, 2, 17, 1}},\n\t{\"net.inet.udp.recvspace\", []_C_int{4, 2, 17, 3}},\n\t{\"net.inet.udp.sendspace\", []_C_int{4, 2, 17, 4}},\n\t{\"net.inet.udp.stats\", []_C_int{4, 2, 17, 5}},\n\t{\"net.inet6.divert.recvspace\", []_C_int{4, 24, 86, 1}},\n\t{\"net.inet6.divert.sendspace\", []_C_int{4, 24, 86, 2}},\n\t{\"net.inet6.divert.stats\", []_C_int{4, 24, 86, 3}},\n\t{\"net.inet6.icmp6.errppslimit\", []_C_int{4, 24, 30, 14}},\n\t{\"net.inet6.icmp6.mtudisc_hiwat\", []_C_int{4, 24, 30, 16}},\n\t{\"net.inet6.icmp6.mtudisc_lowat\", []_C_int{4, 24, 30, 17}},\n\t{\"net.inet6.icmp6.nd6_debug\", []_C_int{4, 24, 30, 18}},\n\t{\"net.inet6.icmp6.nd6_delay\", []_C_int{4, 24, 30, 8}},\n\t{\"net.inet6.icmp6.nd6_maxnudhint\", []_C_int{4, 24, 30, 15}},\n\t{\"net.inet6.icmp6.nd6_mmaxtries\", []_C_int{4, 24, 30, 10}},\n\t{\"net.inet6.icmp6.nd6_prune\", []_C_int{4, 24, 30, 6}},\n\t{\"net.inet6.icmp6.nd6_umaxtries\", []_C_int{4, 24, 30, 9}},\n\t{\"net.inet6.icmp6.nd6_useloopback\", []_C_int{4, 24, 30, 11}},\n\t{\"net.inet6.icmp6.nodeinfo\", []_C_int{4, 24, 30, 13}},\n\t{\"net.inet6.icmp6.rediraccept\", []_C_int{4, 24, 30, 2}},\n\t{\"net.inet6.icmp6.redirtimeout\", []_C_int{4, 24, 30, 3}},\n\t{\"net.inet6.ip6.accept_rtadv\", []_C_int{4, 24, 17, 12}},\n\t{\"net.inet6.ip6.auto_flowlabel\", []_C_int{4, 24, 17, 17}},\n\t{\"net.inet6.ip6.dad_count\", []_C_int{4, 24, 17, 16}},\n\t{\"net.inet6.ip6.dad_pending\", []_C_int{4, 24, 17, 49}},\n\t{\"net.inet6.ip6.defmcasthlim\", []_C_int{4, 24, 17, 18}},\n\t{\"net.inet6.ip6.forwarding\", []_C_int{4, 24, 17, 1}},\n\t{\"net.inet6.ip6.forwsrcrt\", []_C_int{4, 24, 17, 5}},\n\t{\"net.inet6.ip6.hdrnestlimit\", []_C_int{4, 24, 17, 15}},\n\t{\"net.inet6.ip6.hlim\", []_C_int{4, 24, 17, 3}},\n\t{\"net.inet6.ip6.log_interval\", []_C_int{4, 24, 17, 14}},\n\t{\"net.inet6.ip6.maxdynroutes\", []_C_int{4, 24, 17, 48}},\n\t{\"net.inet6.ip6.maxfragpackets\", []_C_int{4, 24, 17, 9}},\n\t{\"net.inet6.ip6.maxfrags\", []_C_int{4, 24, 17, 41}},\n\t{\"net.inet6.ip6.maxifdefrouters\", []_C_int{4, 24, 17, 47}},\n\t{\"net.inet6.ip6.maxifprefixes\", []_C_int{4, 24, 17, 46}},\n\t{\"net.inet6.ip6.mforwarding\", []_C_int{4, 24, 17, 42}},\n\t{\"net.inet6.ip6.mrtproto\", []_C_int{4, 24, 17, 8}},\n\t{\"net.inet6.ip6.mtudisctimeout\", []_C_int{4, 24, 17, 50}},\n\t{\"net.inet6.ip6.multicast_mtudisc\", []_C_int{4, 24, 17, 44}},\n\t{\"net.inet6.ip6.multipath\", []_C_int{4, 24, 17, 43}},\n\t{\"net.inet6.ip6.neighborgcthresh\", []_C_int{4, 24, 17, 45}},\n\t{\"net.inet6.ip6.redirect\", []_C_int{4, 24, 17, 2}},\n\t{\"net.inet6.ip6.rr_prune\", []_C_int{4, 24, 17, 22}},\n\t{\"net.inet6.ip6.sourcecheck\", []_C_int{4, 24, 17, 10}},\n\t{\"net.inet6.ip6.sourcecheck_logint\", []_C_int{4, 24, 17, 11}},\n\t{\"net.inet6.ip6.use_deprecated\", []_C_int{4, 24, 17, 21}},\n\t{\"net.inet6.ip6.v6only\", []_C_int{4, 24, 17, 24}},\n\t{\"net.key.sadb_dump\", []_C_int{4, 30, 1}},\n\t{\"net.key.spd_dump\", []_C_int{4, 30, 2}},\n\t{\"net.mpls.ifq.congestion\", []_C_int{4, 33, 3, 4}},\n\t{\"net.mpls.ifq.drops\", []_C_int{4, 33, 3, 3}},\n\t{\"net.mpls.ifq.len\", []_C_int{4, 33, 3, 1}},\n\t{\"net.mpls.ifq.maxlen\", []_C_int{4, 33, 3, 2}},\n\t{\"net.mpls.mapttl_ip\", []_C_int{4, 33, 5}},\n\t{\"net.mpls.mapttl_ip6\", []_C_int{4, 33, 6}},\n\t{\"net.mpls.maxloop_inkernel\", []_C_int{4, 33, 4}},\n\t{\"net.mpls.ttl\", []_C_int{4, 33, 2}},\n\t{\"net.pflow.stats\", []_C_int{4, 34, 1}},\n\t{\"net.pipex.enable\", []_C_int{4, 35, 1}},\n\t{\"vm.anonmin\", []_C_int{2, 7}},\n\t{\"vm.loadavg\", []_C_int{2, 2}},\n\t{\"vm.maxslp\", []_C_int{2, 10}},\n\t{\"vm.nkmempages\", []_C_int{2, 6}},\n\t{\"vm.psstrings\", []_C_int{2, 3}},\n\t{\"vm.swapencrypt.enable\", []_C_int{2, 5, 0}},\n\t{\"vm.swapencrypt.keyscreated\", []_C_int{2, 5, 1}},\n\t{\"vm.swapencrypt.keysdeleted\", []_C_int{2, 5, 2}},\n\t{\"vm.uspace\", []_C_int{2, 11}},\n\t{\"vm.uvmexp\", []_C_int{2, 4}},\n\t{\"vm.vmmeter\", []_C_int{2, 1}},\n\t{\"vm.vnodemin\", []_C_int{2, 9}},\n\t{\"vm.vtextmin\", []_C_int{2, 8}},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go",
    "content": "// mksysctl_openbsd.pl\n// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT\n\npackage unix\n\ntype mibentry struct {\n\tctlname string\n\tctloid  []_C_int\n}\n\nvar sysctlMib = []mibentry{\n\t{\"ddb.console\", []_C_int{9, 6}},\n\t{\"ddb.log\", []_C_int{9, 7}},\n\t{\"ddb.max_line\", []_C_int{9, 3}},\n\t{\"ddb.max_width\", []_C_int{9, 2}},\n\t{\"ddb.panic\", []_C_int{9, 5}},\n\t{\"ddb.radix\", []_C_int{9, 1}},\n\t{\"ddb.tab_stop_width\", []_C_int{9, 4}},\n\t{\"ddb.trigger\", []_C_int{9, 8}},\n\t{\"fs.posix.setuid\", []_C_int{3, 1, 1}},\n\t{\"hw.allowpowerdown\", []_C_int{6, 22}},\n\t{\"hw.byteorder\", []_C_int{6, 4}},\n\t{\"hw.cpuspeed\", []_C_int{6, 12}},\n\t{\"hw.diskcount\", []_C_int{6, 10}},\n\t{\"hw.disknames\", []_C_int{6, 8}},\n\t{\"hw.diskstats\", []_C_int{6, 9}},\n\t{\"hw.machine\", []_C_int{6, 1}},\n\t{\"hw.model\", []_C_int{6, 2}},\n\t{\"hw.ncpu\", []_C_int{6, 3}},\n\t{\"hw.ncpufound\", []_C_int{6, 21}},\n\t{\"hw.pagesize\", []_C_int{6, 7}},\n\t{\"hw.physmem\", []_C_int{6, 19}},\n\t{\"hw.product\", []_C_int{6, 15}},\n\t{\"hw.serialno\", []_C_int{6, 17}},\n\t{\"hw.setperf\", []_C_int{6, 13}},\n\t{\"hw.usermem\", []_C_int{6, 20}},\n\t{\"hw.uuid\", []_C_int{6, 18}},\n\t{\"hw.vendor\", []_C_int{6, 14}},\n\t{\"hw.version\", []_C_int{6, 16}},\n\t{\"kern.arandom\", []_C_int{1, 37}},\n\t{\"kern.argmax\", []_C_int{1, 8}},\n\t{\"kern.boottime\", []_C_int{1, 21}},\n\t{\"kern.bufcachepercent\", []_C_int{1, 72}},\n\t{\"kern.ccpu\", []_C_int{1, 45}},\n\t{\"kern.clockrate\", []_C_int{1, 12}},\n\t{\"kern.consdev\", []_C_int{1, 75}},\n\t{\"kern.cp_time\", []_C_int{1, 40}},\n\t{\"kern.cp_time2\", []_C_int{1, 71}},\n\t{\"kern.cryptodevallowsoft\", []_C_int{1, 53}},\n\t{\"kern.domainname\", []_C_int{1, 22}},\n\t{\"kern.file\", []_C_int{1, 73}},\n\t{\"kern.forkstat\", []_C_int{1, 42}},\n\t{\"kern.fscale\", []_C_int{1, 46}},\n\t{\"kern.fsync\", []_C_int{1, 33}},\n\t{\"kern.hostid\", []_C_int{1, 11}},\n\t{\"kern.hostname\", []_C_int{1, 10}},\n\t{\"kern.intrcnt.nintrcnt\", []_C_int{1, 63, 1}},\n\t{\"kern.job_control\", []_C_int{1, 19}},\n\t{\"kern.malloc.buckets\", []_C_int{1, 39, 1}},\n\t{\"kern.malloc.kmemnames\", []_C_int{1, 39, 3}},\n\t{\"kern.maxclusters\", []_C_int{1, 67}},\n\t{\"kern.maxfiles\", []_C_int{1, 7}},\n\t{\"kern.maxlocksperuid\", []_C_int{1, 70}},\n\t{\"kern.maxpartitions\", []_C_int{1, 23}},\n\t{\"kern.maxproc\", []_C_int{1, 6}},\n\t{\"kern.maxthread\", []_C_int{1, 25}},\n\t{\"kern.maxvnodes\", []_C_int{1, 5}},\n\t{\"kern.mbstat\", []_C_int{1, 59}},\n\t{\"kern.msgbuf\", []_C_int{1, 48}},\n\t{\"kern.msgbufsize\", []_C_int{1, 38}},\n\t{\"kern.nchstats\", []_C_int{1, 41}},\n\t{\"kern.netlivelocks\", []_C_int{1, 76}},\n\t{\"kern.nfiles\", []_C_int{1, 56}},\n\t{\"kern.ngroups\", []_C_int{1, 18}},\n\t{\"kern.nosuidcoredump\", []_C_int{1, 32}},\n\t{\"kern.nprocs\", []_C_int{1, 47}},\n\t{\"kern.nselcoll\", []_C_int{1, 43}},\n\t{\"kern.nthreads\", []_C_int{1, 26}},\n\t{\"kern.numvnodes\", []_C_int{1, 58}},\n\t{\"kern.osrelease\", []_C_int{1, 2}},\n\t{\"kern.osrevision\", []_C_int{1, 3}},\n\t{\"kern.ostype\", []_C_int{1, 1}},\n\t{\"kern.osversion\", []_C_int{1, 27}},\n\t{\"kern.pool_debug\", []_C_int{1, 77}},\n\t{\"kern.posix1version\", []_C_int{1, 17}},\n\t{\"kern.proc\", []_C_int{1, 66}},\n\t{\"kern.random\", []_C_int{1, 31}},\n\t{\"kern.rawpartition\", []_C_int{1, 24}},\n\t{\"kern.saved_ids\", []_C_int{1, 20}},\n\t{\"kern.securelevel\", []_C_int{1, 9}},\n\t{\"kern.seminfo\", []_C_int{1, 61}},\n\t{\"kern.shminfo\", []_C_int{1, 62}},\n\t{\"kern.somaxconn\", []_C_int{1, 28}},\n\t{\"kern.sominconn\", []_C_int{1, 29}},\n\t{\"kern.splassert\", []_C_int{1, 54}},\n\t{\"kern.stackgap_random\", []_C_int{1, 50}},\n\t{\"kern.sysvipc_info\", []_C_int{1, 51}},\n\t{\"kern.sysvmsg\", []_C_int{1, 34}},\n\t{\"kern.sysvsem\", []_C_int{1, 35}},\n\t{\"kern.sysvshm\", []_C_int{1, 36}},\n\t{\"kern.timecounter.choice\", []_C_int{1, 69, 4}},\n\t{\"kern.timecounter.hardware\", []_C_int{1, 69, 3}},\n\t{\"kern.timecounter.tick\", []_C_int{1, 69, 1}},\n\t{\"kern.timecounter.timestepwarnings\", []_C_int{1, 69, 2}},\n\t{\"kern.tty.maxptys\", []_C_int{1, 44, 6}},\n\t{\"kern.tty.nptys\", []_C_int{1, 44, 7}},\n\t{\"kern.tty.tk_cancc\", []_C_int{1, 44, 4}},\n\t{\"kern.tty.tk_nin\", []_C_int{1, 44, 1}},\n\t{\"kern.tty.tk_nout\", []_C_int{1, 44, 2}},\n\t{\"kern.tty.tk_rawcc\", []_C_int{1, 44, 3}},\n\t{\"kern.tty.ttyinfo\", []_C_int{1, 44, 5}},\n\t{\"kern.ttycount\", []_C_int{1, 57}},\n\t{\"kern.userasymcrypto\", []_C_int{1, 60}},\n\t{\"kern.usercrypto\", []_C_int{1, 52}},\n\t{\"kern.usermount\", []_C_int{1, 30}},\n\t{\"kern.version\", []_C_int{1, 4}},\n\t{\"kern.vnode\", []_C_int{1, 13}},\n\t{\"kern.watchdog.auto\", []_C_int{1, 64, 2}},\n\t{\"kern.watchdog.period\", []_C_int{1, 64, 1}},\n\t{\"net.bpf.bufsize\", []_C_int{4, 31, 1}},\n\t{\"net.bpf.maxbufsize\", []_C_int{4, 31, 2}},\n\t{\"net.inet.ah.enable\", []_C_int{4, 2, 51, 1}},\n\t{\"net.inet.ah.stats\", []_C_int{4, 2, 51, 2}},\n\t{\"net.inet.carp.allow\", []_C_int{4, 2, 112, 1}},\n\t{\"net.inet.carp.log\", []_C_int{4, 2, 112, 3}},\n\t{\"net.inet.carp.preempt\", []_C_int{4, 2, 112, 2}},\n\t{\"net.inet.carp.stats\", []_C_int{4, 2, 112, 4}},\n\t{\"net.inet.divert.recvspace\", []_C_int{4, 2, 258, 1}},\n\t{\"net.inet.divert.sendspace\", []_C_int{4, 2, 258, 2}},\n\t{\"net.inet.divert.stats\", []_C_int{4, 2, 258, 3}},\n\t{\"net.inet.esp.enable\", []_C_int{4, 2, 50, 1}},\n\t{\"net.inet.esp.stats\", []_C_int{4, 2, 50, 4}},\n\t{\"net.inet.esp.udpencap\", []_C_int{4, 2, 50, 2}},\n\t{\"net.inet.esp.udpencap_port\", []_C_int{4, 2, 50, 3}},\n\t{\"net.inet.etherip.allow\", []_C_int{4, 2, 97, 1}},\n\t{\"net.inet.etherip.stats\", []_C_int{4, 2, 97, 2}},\n\t{\"net.inet.gre.allow\", []_C_int{4, 2, 47, 1}},\n\t{\"net.inet.gre.wccp\", []_C_int{4, 2, 47, 2}},\n\t{\"net.inet.icmp.bmcastecho\", []_C_int{4, 2, 1, 2}},\n\t{\"net.inet.icmp.errppslimit\", []_C_int{4, 2, 1, 3}},\n\t{\"net.inet.icmp.maskrepl\", []_C_int{4, 2, 1, 1}},\n\t{\"net.inet.icmp.rediraccept\", []_C_int{4, 2, 1, 4}},\n\t{\"net.inet.icmp.redirtimeout\", []_C_int{4, 2, 1, 5}},\n\t{\"net.inet.icmp.stats\", []_C_int{4, 2, 1, 7}},\n\t{\"net.inet.icmp.tstamprepl\", []_C_int{4, 2, 1, 6}},\n\t{\"net.inet.igmp.stats\", []_C_int{4, 2, 2, 1}},\n\t{\"net.inet.ip.arpqueued\", []_C_int{4, 2, 0, 36}},\n\t{\"net.inet.ip.encdebug\", []_C_int{4, 2, 0, 12}},\n\t{\"net.inet.ip.forwarding\", []_C_int{4, 2, 0, 1}},\n\t{\"net.inet.ip.ifq.congestion\", []_C_int{4, 2, 0, 30, 4}},\n\t{\"net.inet.ip.ifq.drops\", []_C_int{4, 2, 0, 30, 3}},\n\t{\"net.inet.ip.ifq.len\", []_C_int{4, 2, 0, 30, 1}},\n\t{\"net.inet.ip.ifq.maxlen\", []_C_int{4, 2, 0, 30, 2}},\n\t{\"net.inet.ip.maxqueue\", []_C_int{4, 2, 0, 11}},\n\t{\"net.inet.ip.mforwarding\", []_C_int{4, 2, 0, 31}},\n\t{\"net.inet.ip.mrtproto\", []_C_int{4, 2, 0, 34}},\n\t{\"net.inet.ip.mrtstats\", []_C_int{4, 2, 0, 35}},\n\t{\"net.inet.ip.mtu\", []_C_int{4, 2, 0, 4}},\n\t{\"net.inet.ip.mtudisc\", []_C_int{4, 2, 0, 27}},\n\t{\"net.inet.ip.mtudisctimeout\", []_C_int{4, 2, 0, 28}},\n\t{\"net.inet.ip.multipath\", []_C_int{4, 2, 0, 32}},\n\t{\"net.inet.ip.portfirst\", []_C_int{4, 2, 0, 7}},\n\t{\"net.inet.ip.porthifirst\", []_C_int{4, 2, 0, 9}},\n\t{\"net.inet.ip.porthilast\", []_C_int{4, 2, 0, 10}},\n\t{\"net.inet.ip.portlast\", []_C_int{4, 2, 0, 8}},\n\t{\"net.inet.ip.redirect\", []_C_int{4, 2, 0, 2}},\n\t{\"net.inet.ip.sourceroute\", []_C_int{4, 2, 0, 5}},\n\t{\"net.inet.ip.stats\", []_C_int{4, 2, 0, 33}},\n\t{\"net.inet.ip.ttl\", []_C_int{4, 2, 0, 3}},\n\t{\"net.inet.ipcomp.enable\", []_C_int{4, 2, 108, 1}},\n\t{\"net.inet.ipcomp.stats\", []_C_int{4, 2, 108, 2}},\n\t{\"net.inet.ipip.allow\", []_C_int{4, 2, 4, 1}},\n\t{\"net.inet.ipip.stats\", []_C_int{4, 2, 4, 2}},\n\t{\"net.inet.mobileip.allow\", []_C_int{4, 2, 55, 1}},\n\t{\"net.inet.pfsync.stats\", []_C_int{4, 2, 240, 1}},\n\t{\"net.inet.pim.stats\", []_C_int{4, 2, 103, 1}},\n\t{\"net.inet.tcp.ackonpush\", []_C_int{4, 2, 6, 13}},\n\t{\"net.inet.tcp.always_keepalive\", []_C_int{4, 2, 6, 22}},\n\t{\"net.inet.tcp.baddynamic\", []_C_int{4, 2, 6, 6}},\n\t{\"net.inet.tcp.drop\", []_C_int{4, 2, 6, 19}},\n\t{\"net.inet.tcp.ecn\", []_C_int{4, 2, 6, 14}},\n\t{\"net.inet.tcp.ident\", []_C_int{4, 2, 6, 9}},\n\t{\"net.inet.tcp.keepidle\", []_C_int{4, 2, 6, 3}},\n\t{\"net.inet.tcp.keepinittime\", []_C_int{4, 2, 6, 2}},\n\t{\"net.inet.tcp.keepintvl\", []_C_int{4, 2, 6, 4}},\n\t{\"net.inet.tcp.mssdflt\", []_C_int{4, 2, 6, 11}},\n\t{\"net.inet.tcp.reasslimit\", []_C_int{4, 2, 6, 18}},\n\t{\"net.inet.tcp.rfc1323\", []_C_int{4, 2, 6, 1}},\n\t{\"net.inet.tcp.rfc3390\", []_C_int{4, 2, 6, 17}},\n\t{\"net.inet.tcp.rstppslimit\", []_C_int{4, 2, 6, 12}},\n\t{\"net.inet.tcp.sack\", []_C_int{4, 2, 6, 10}},\n\t{\"net.inet.tcp.sackholelimit\", []_C_int{4, 2, 6, 20}},\n\t{\"net.inet.tcp.slowhz\", []_C_int{4, 2, 6, 5}},\n\t{\"net.inet.tcp.stats\", []_C_int{4, 2, 6, 21}},\n\t{\"net.inet.tcp.synbucketlimit\", []_C_int{4, 2, 6, 16}},\n\t{\"net.inet.tcp.syncachelimit\", []_C_int{4, 2, 6, 15}},\n\t{\"net.inet.udp.baddynamic\", []_C_int{4, 2, 17, 2}},\n\t{\"net.inet.udp.checksum\", []_C_int{4, 2, 17, 1}},\n\t{\"net.inet.udp.recvspace\", []_C_int{4, 2, 17, 3}},\n\t{\"net.inet.udp.sendspace\", []_C_int{4, 2, 17, 4}},\n\t{\"net.inet.udp.stats\", []_C_int{4, 2, 17, 5}},\n\t{\"net.inet6.divert.recvspace\", []_C_int{4, 24, 86, 1}},\n\t{\"net.inet6.divert.sendspace\", []_C_int{4, 24, 86, 2}},\n\t{\"net.inet6.divert.stats\", []_C_int{4, 24, 86, 3}},\n\t{\"net.inet6.icmp6.errppslimit\", []_C_int{4, 24, 30, 14}},\n\t{\"net.inet6.icmp6.mtudisc_hiwat\", []_C_int{4, 24, 30, 16}},\n\t{\"net.inet6.icmp6.mtudisc_lowat\", []_C_int{4, 24, 30, 17}},\n\t{\"net.inet6.icmp6.nd6_debug\", []_C_int{4, 24, 30, 18}},\n\t{\"net.inet6.icmp6.nd6_delay\", []_C_int{4, 24, 30, 8}},\n\t{\"net.inet6.icmp6.nd6_maxnudhint\", []_C_int{4, 24, 30, 15}},\n\t{\"net.inet6.icmp6.nd6_mmaxtries\", []_C_int{4, 24, 30, 10}},\n\t{\"net.inet6.icmp6.nd6_prune\", []_C_int{4, 24, 30, 6}},\n\t{\"net.inet6.icmp6.nd6_umaxtries\", []_C_int{4, 24, 30, 9}},\n\t{\"net.inet6.icmp6.nd6_useloopback\", []_C_int{4, 24, 30, 11}},\n\t{\"net.inet6.icmp6.nodeinfo\", []_C_int{4, 24, 30, 13}},\n\t{\"net.inet6.icmp6.rediraccept\", []_C_int{4, 24, 30, 2}},\n\t{\"net.inet6.icmp6.redirtimeout\", []_C_int{4, 24, 30, 3}},\n\t{\"net.inet6.ip6.accept_rtadv\", []_C_int{4, 24, 17, 12}},\n\t{\"net.inet6.ip6.auto_flowlabel\", []_C_int{4, 24, 17, 17}},\n\t{\"net.inet6.ip6.dad_count\", []_C_int{4, 24, 17, 16}},\n\t{\"net.inet6.ip6.dad_pending\", []_C_int{4, 24, 17, 49}},\n\t{\"net.inet6.ip6.defmcasthlim\", []_C_int{4, 24, 17, 18}},\n\t{\"net.inet6.ip6.forwarding\", []_C_int{4, 24, 17, 1}},\n\t{\"net.inet6.ip6.forwsrcrt\", []_C_int{4, 24, 17, 5}},\n\t{\"net.inet6.ip6.hdrnestlimit\", []_C_int{4, 24, 17, 15}},\n\t{\"net.inet6.ip6.hlim\", []_C_int{4, 24, 17, 3}},\n\t{\"net.inet6.ip6.log_interval\", []_C_int{4, 24, 17, 14}},\n\t{\"net.inet6.ip6.maxdynroutes\", []_C_int{4, 24, 17, 48}},\n\t{\"net.inet6.ip6.maxfragpackets\", []_C_int{4, 24, 17, 9}},\n\t{\"net.inet6.ip6.maxfrags\", []_C_int{4, 24, 17, 41}},\n\t{\"net.inet6.ip6.maxifdefrouters\", []_C_int{4, 24, 17, 47}},\n\t{\"net.inet6.ip6.maxifprefixes\", []_C_int{4, 24, 17, 46}},\n\t{\"net.inet6.ip6.mforwarding\", []_C_int{4, 24, 17, 42}},\n\t{\"net.inet6.ip6.mrtproto\", []_C_int{4, 24, 17, 8}},\n\t{\"net.inet6.ip6.mtudisctimeout\", []_C_int{4, 24, 17, 50}},\n\t{\"net.inet6.ip6.multicast_mtudisc\", []_C_int{4, 24, 17, 44}},\n\t{\"net.inet6.ip6.multipath\", []_C_int{4, 24, 17, 43}},\n\t{\"net.inet6.ip6.neighborgcthresh\", []_C_int{4, 24, 17, 45}},\n\t{\"net.inet6.ip6.redirect\", []_C_int{4, 24, 17, 2}},\n\t{\"net.inet6.ip6.rr_prune\", []_C_int{4, 24, 17, 22}},\n\t{\"net.inet6.ip6.sourcecheck\", []_C_int{4, 24, 17, 10}},\n\t{\"net.inet6.ip6.sourcecheck_logint\", []_C_int{4, 24, 17, 11}},\n\t{\"net.inet6.ip6.use_deprecated\", []_C_int{4, 24, 17, 21}},\n\t{\"net.inet6.ip6.v6only\", []_C_int{4, 24, 17, 24}},\n\t{\"net.key.sadb_dump\", []_C_int{4, 30, 1}},\n\t{\"net.key.spd_dump\", []_C_int{4, 30, 2}},\n\t{\"net.mpls.ifq.congestion\", []_C_int{4, 33, 3, 4}},\n\t{\"net.mpls.ifq.drops\", []_C_int{4, 33, 3, 3}},\n\t{\"net.mpls.ifq.len\", []_C_int{4, 33, 3, 1}},\n\t{\"net.mpls.ifq.maxlen\", []_C_int{4, 33, 3, 2}},\n\t{\"net.mpls.mapttl_ip\", []_C_int{4, 33, 5}},\n\t{\"net.mpls.mapttl_ip6\", []_C_int{4, 33, 6}},\n\t{\"net.mpls.maxloop_inkernel\", []_C_int{4, 33, 4}},\n\t{\"net.mpls.ttl\", []_C_int{4, 33, 2}},\n\t{\"net.pflow.stats\", []_C_int{4, 34, 1}},\n\t{\"net.pipex.enable\", []_C_int{4, 35, 1}},\n\t{\"vm.anonmin\", []_C_int{2, 7}},\n\t{\"vm.loadavg\", []_C_int{2, 2}},\n\t{\"vm.maxslp\", []_C_int{2, 10}},\n\t{\"vm.nkmempages\", []_C_int{2, 6}},\n\t{\"vm.psstrings\", []_C_int{2, 3}},\n\t{\"vm.swapencrypt.enable\", []_C_int{2, 5, 0}},\n\t{\"vm.swapencrypt.keyscreated\", []_C_int{2, 5, 1}},\n\t{\"vm.swapencrypt.keysdeleted\", []_C_int{2, 5, 2}},\n\t{\"vm.uspace\", []_C_int{2, 11}},\n\t{\"vm.uvmexp\", []_C_int{2, 4}},\n\t{\"vm.vmmeter\", []_C_int{2, 1}},\n\t{\"vm.vnodemin\", []_C_int{2, 9}},\n\t{\"vm.vtextmin\", []_C_int{2, 8}},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go",
    "content": "// mksysctl_openbsd.pl\n// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT\n\npackage unix\n\ntype mibentry struct {\n\tctlname string\n\tctloid  []_C_int\n}\n\nvar sysctlMib = []mibentry{\n\t{\"ddb.console\", []_C_int{9, 6}},\n\t{\"ddb.log\", []_C_int{9, 7}},\n\t{\"ddb.max_line\", []_C_int{9, 3}},\n\t{\"ddb.max_width\", []_C_int{9, 2}},\n\t{\"ddb.panic\", []_C_int{9, 5}},\n\t{\"ddb.radix\", []_C_int{9, 1}},\n\t{\"ddb.tab_stop_width\", []_C_int{9, 4}},\n\t{\"ddb.trigger\", []_C_int{9, 8}},\n\t{\"fs.posix.setuid\", []_C_int{3, 1, 1}},\n\t{\"hw.allowpowerdown\", []_C_int{6, 22}},\n\t{\"hw.byteorder\", []_C_int{6, 4}},\n\t{\"hw.cpuspeed\", []_C_int{6, 12}},\n\t{\"hw.diskcount\", []_C_int{6, 10}},\n\t{\"hw.disknames\", []_C_int{6, 8}},\n\t{\"hw.diskstats\", []_C_int{6, 9}},\n\t{\"hw.machine\", []_C_int{6, 1}},\n\t{\"hw.model\", []_C_int{6, 2}},\n\t{\"hw.ncpu\", []_C_int{6, 3}},\n\t{\"hw.ncpufound\", []_C_int{6, 21}},\n\t{\"hw.pagesize\", []_C_int{6, 7}},\n\t{\"hw.physmem\", []_C_int{6, 19}},\n\t{\"hw.product\", []_C_int{6, 15}},\n\t{\"hw.serialno\", []_C_int{6, 17}},\n\t{\"hw.setperf\", []_C_int{6, 13}},\n\t{\"hw.usermem\", []_C_int{6, 20}},\n\t{\"hw.uuid\", []_C_int{6, 18}},\n\t{\"hw.vendor\", []_C_int{6, 14}},\n\t{\"hw.version\", []_C_int{6, 16}},\n\t{\"kern.arandom\", []_C_int{1, 37}},\n\t{\"kern.argmax\", []_C_int{1, 8}},\n\t{\"kern.boottime\", []_C_int{1, 21}},\n\t{\"kern.bufcachepercent\", []_C_int{1, 72}},\n\t{\"kern.ccpu\", []_C_int{1, 45}},\n\t{\"kern.clockrate\", []_C_int{1, 12}},\n\t{\"kern.consdev\", []_C_int{1, 75}},\n\t{\"kern.cp_time\", []_C_int{1, 40}},\n\t{\"kern.cp_time2\", []_C_int{1, 71}},\n\t{\"kern.cryptodevallowsoft\", []_C_int{1, 53}},\n\t{\"kern.domainname\", []_C_int{1, 22}},\n\t{\"kern.file\", []_C_int{1, 73}},\n\t{\"kern.forkstat\", []_C_int{1, 42}},\n\t{\"kern.fscale\", []_C_int{1, 46}},\n\t{\"kern.fsync\", []_C_int{1, 33}},\n\t{\"kern.hostid\", []_C_int{1, 11}},\n\t{\"kern.hostname\", []_C_int{1, 10}},\n\t{\"kern.intrcnt.nintrcnt\", []_C_int{1, 63, 1}},\n\t{\"kern.job_control\", []_C_int{1, 19}},\n\t{\"kern.malloc.buckets\", []_C_int{1, 39, 1}},\n\t{\"kern.malloc.kmemnames\", []_C_int{1, 39, 3}},\n\t{\"kern.maxclusters\", []_C_int{1, 67}},\n\t{\"kern.maxfiles\", []_C_int{1, 7}},\n\t{\"kern.maxlocksperuid\", []_C_int{1, 70}},\n\t{\"kern.maxpartitions\", []_C_int{1, 23}},\n\t{\"kern.maxproc\", []_C_int{1, 6}},\n\t{\"kern.maxthread\", []_C_int{1, 25}},\n\t{\"kern.maxvnodes\", []_C_int{1, 5}},\n\t{\"kern.mbstat\", []_C_int{1, 59}},\n\t{\"kern.msgbuf\", []_C_int{1, 48}},\n\t{\"kern.msgbufsize\", []_C_int{1, 38}},\n\t{\"kern.nchstats\", []_C_int{1, 41}},\n\t{\"kern.netlivelocks\", []_C_int{1, 76}},\n\t{\"kern.nfiles\", []_C_int{1, 56}},\n\t{\"kern.ngroups\", []_C_int{1, 18}},\n\t{\"kern.nosuidcoredump\", []_C_int{1, 32}},\n\t{\"kern.nprocs\", []_C_int{1, 47}},\n\t{\"kern.nselcoll\", []_C_int{1, 43}},\n\t{\"kern.nthreads\", []_C_int{1, 26}},\n\t{\"kern.numvnodes\", []_C_int{1, 58}},\n\t{\"kern.osrelease\", []_C_int{1, 2}},\n\t{\"kern.osrevision\", []_C_int{1, 3}},\n\t{\"kern.ostype\", []_C_int{1, 1}},\n\t{\"kern.osversion\", []_C_int{1, 27}},\n\t{\"kern.pool_debug\", []_C_int{1, 77}},\n\t{\"kern.posix1version\", []_C_int{1, 17}},\n\t{\"kern.proc\", []_C_int{1, 66}},\n\t{\"kern.random\", []_C_int{1, 31}},\n\t{\"kern.rawpartition\", []_C_int{1, 24}},\n\t{\"kern.saved_ids\", []_C_int{1, 20}},\n\t{\"kern.securelevel\", []_C_int{1, 9}},\n\t{\"kern.seminfo\", []_C_int{1, 61}},\n\t{\"kern.shminfo\", []_C_int{1, 62}},\n\t{\"kern.somaxconn\", []_C_int{1, 28}},\n\t{\"kern.sominconn\", []_C_int{1, 29}},\n\t{\"kern.splassert\", []_C_int{1, 54}},\n\t{\"kern.stackgap_random\", []_C_int{1, 50}},\n\t{\"kern.sysvipc_info\", []_C_int{1, 51}},\n\t{\"kern.sysvmsg\", []_C_int{1, 34}},\n\t{\"kern.sysvsem\", []_C_int{1, 35}},\n\t{\"kern.sysvshm\", []_C_int{1, 36}},\n\t{\"kern.timecounter.choice\", []_C_int{1, 69, 4}},\n\t{\"kern.timecounter.hardware\", []_C_int{1, 69, 3}},\n\t{\"kern.timecounter.tick\", []_C_int{1, 69, 1}},\n\t{\"kern.timecounter.timestepwarnings\", []_C_int{1, 69, 2}},\n\t{\"kern.tty.maxptys\", []_C_int{1, 44, 6}},\n\t{\"kern.tty.nptys\", []_C_int{1, 44, 7}},\n\t{\"kern.tty.tk_cancc\", []_C_int{1, 44, 4}},\n\t{\"kern.tty.tk_nin\", []_C_int{1, 44, 1}},\n\t{\"kern.tty.tk_nout\", []_C_int{1, 44, 2}},\n\t{\"kern.tty.tk_rawcc\", []_C_int{1, 44, 3}},\n\t{\"kern.tty.ttyinfo\", []_C_int{1, 44, 5}},\n\t{\"kern.ttycount\", []_C_int{1, 57}},\n\t{\"kern.userasymcrypto\", []_C_int{1, 60}},\n\t{\"kern.usercrypto\", []_C_int{1, 52}},\n\t{\"kern.usermount\", []_C_int{1, 30}},\n\t{\"kern.version\", []_C_int{1, 4}},\n\t{\"kern.vnode\", []_C_int{1, 13}},\n\t{\"kern.watchdog.auto\", []_C_int{1, 64, 2}},\n\t{\"kern.watchdog.period\", []_C_int{1, 64, 1}},\n\t{\"net.bpf.bufsize\", []_C_int{4, 31, 1}},\n\t{\"net.bpf.maxbufsize\", []_C_int{4, 31, 2}},\n\t{\"net.inet.ah.enable\", []_C_int{4, 2, 51, 1}},\n\t{\"net.inet.ah.stats\", []_C_int{4, 2, 51, 2}},\n\t{\"net.inet.carp.allow\", []_C_int{4, 2, 112, 1}},\n\t{\"net.inet.carp.log\", []_C_int{4, 2, 112, 3}},\n\t{\"net.inet.carp.preempt\", []_C_int{4, 2, 112, 2}},\n\t{\"net.inet.carp.stats\", []_C_int{4, 2, 112, 4}},\n\t{\"net.inet.divert.recvspace\", []_C_int{4, 2, 258, 1}},\n\t{\"net.inet.divert.sendspace\", []_C_int{4, 2, 258, 2}},\n\t{\"net.inet.divert.stats\", []_C_int{4, 2, 258, 3}},\n\t{\"net.inet.esp.enable\", []_C_int{4, 2, 50, 1}},\n\t{\"net.inet.esp.stats\", []_C_int{4, 2, 50, 4}},\n\t{\"net.inet.esp.udpencap\", []_C_int{4, 2, 50, 2}},\n\t{\"net.inet.esp.udpencap_port\", []_C_int{4, 2, 50, 3}},\n\t{\"net.inet.etherip.allow\", []_C_int{4, 2, 97, 1}},\n\t{\"net.inet.etherip.stats\", []_C_int{4, 2, 97, 2}},\n\t{\"net.inet.gre.allow\", []_C_int{4, 2, 47, 1}},\n\t{\"net.inet.gre.wccp\", []_C_int{4, 2, 47, 2}},\n\t{\"net.inet.icmp.bmcastecho\", []_C_int{4, 2, 1, 2}},\n\t{\"net.inet.icmp.errppslimit\", []_C_int{4, 2, 1, 3}},\n\t{\"net.inet.icmp.maskrepl\", []_C_int{4, 2, 1, 1}},\n\t{\"net.inet.icmp.rediraccept\", []_C_int{4, 2, 1, 4}},\n\t{\"net.inet.icmp.redirtimeout\", []_C_int{4, 2, 1, 5}},\n\t{\"net.inet.icmp.stats\", []_C_int{4, 2, 1, 7}},\n\t{\"net.inet.icmp.tstamprepl\", []_C_int{4, 2, 1, 6}},\n\t{\"net.inet.igmp.stats\", []_C_int{4, 2, 2, 1}},\n\t{\"net.inet.ip.arpqueued\", []_C_int{4, 2, 0, 36}},\n\t{\"net.inet.ip.encdebug\", []_C_int{4, 2, 0, 12}},\n\t{\"net.inet.ip.forwarding\", []_C_int{4, 2, 0, 1}},\n\t{\"net.inet.ip.ifq.congestion\", []_C_int{4, 2, 0, 30, 4}},\n\t{\"net.inet.ip.ifq.drops\", []_C_int{4, 2, 0, 30, 3}},\n\t{\"net.inet.ip.ifq.len\", []_C_int{4, 2, 0, 30, 1}},\n\t{\"net.inet.ip.ifq.maxlen\", []_C_int{4, 2, 0, 30, 2}},\n\t{\"net.inet.ip.maxqueue\", []_C_int{4, 2, 0, 11}},\n\t{\"net.inet.ip.mforwarding\", []_C_int{4, 2, 0, 31}},\n\t{\"net.inet.ip.mrtproto\", []_C_int{4, 2, 0, 34}},\n\t{\"net.inet.ip.mrtstats\", []_C_int{4, 2, 0, 35}},\n\t{\"net.inet.ip.mtu\", []_C_int{4, 2, 0, 4}},\n\t{\"net.inet.ip.mtudisc\", []_C_int{4, 2, 0, 27}},\n\t{\"net.inet.ip.mtudisctimeout\", []_C_int{4, 2, 0, 28}},\n\t{\"net.inet.ip.multipath\", []_C_int{4, 2, 0, 32}},\n\t{\"net.inet.ip.portfirst\", []_C_int{4, 2, 0, 7}},\n\t{\"net.inet.ip.porthifirst\", []_C_int{4, 2, 0, 9}},\n\t{\"net.inet.ip.porthilast\", []_C_int{4, 2, 0, 10}},\n\t{\"net.inet.ip.portlast\", []_C_int{4, 2, 0, 8}},\n\t{\"net.inet.ip.redirect\", []_C_int{4, 2, 0, 2}},\n\t{\"net.inet.ip.sourceroute\", []_C_int{4, 2, 0, 5}},\n\t{\"net.inet.ip.stats\", []_C_int{4, 2, 0, 33}},\n\t{\"net.inet.ip.ttl\", []_C_int{4, 2, 0, 3}},\n\t{\"net.inet.ipcomp.enable\", []_C_int{4, 2, 108, 1}},\n\t{\"net.inet.ipcomp.stats\", []_C_int{4, 2, 108, 2}},\n\t{\"net.inet.ipip.allow\", []_C_int{4, 2, 4, 1}},\n\t{\"net.inet.ipip.stats\", []_C_int{4, 2, 4, 2}},\n\t{\"net.inet.mobileip.allow\", []_C_int{4, 2, 55, 1}},\n\t{\"net.inet.pfsync.stats\", []_C_int{4, 2, 240, 1}},\n\t{\"net.inet.pim.stats\", []_C_int{4, 2, 103, 1}},\n\t{\"net.inet.tcp.ackonpush\", []_C_int{4, 2, 6, 13}},\n\t{\"net.inet.tcp.always_keepalive\", []_C_int{4, 2, 6, 22}},\n\t{\"net.inet.tcp.baddynamic\", []_C_int{4, 2, 6, 6}},\n\t{\"net.inet.tcp.drop\", []_C_int{4, 2, 6, 19}},\n\t{\"net.inet.tcp.ecn\", []_C_int{4, 2, 6, 14}},\n\t{\"net.inet.tcp.ident\", []_C_int{4, 2, 6, 9}},\n\t{\"net.inet.tcp.keepidle\", []_C_int{4, 2, 6, 3}},\n\t{\"net.inet.tcp.keepinittime\", []_C_int{4, 2, 6, 2}},\n\t{\"net.inet.tcp.keepintvl\", []_C_int{4, 2, 6, 4}},\n\t{\"net.inet.tcp.mssdflt\", []_C_int{4, 2, 6, 11}},\n\t{\"net.inet.tcp.reasslimit\", []_C_int{4, 2, 6, 18}},\n\t{\"net.inet.tcp.rfc1323\", []_C_int{4, 2, 6, 1}},\n\t{\"net.inet.tcp.rfc3390\", []_C_int{4, 2, 6, 17}},\n\t{\"net.inet.tcp.rstppslimit\", []_C_int{4, 2, 6, 12}},\n\t{\"net.inet.tcp.sack\", []_C_int{4, 2, 6, 10}},\n\t{\"net.inet.tcp.sackholelimit\", []_C_int{4, 2, 6, 20}},\n\t{\"net.inet.tcp.slowhz\", []_C_int{4, 2, 6, 5}},\n\t{\"net.inet.tcp.stats\", []_C_int{4, 2, 6, 21}},\n\t{\"net.inet.tcp.synbucketlimit\", []_C_int{4, 2, 6, 16}},\n\t{\"net.inet.tcp.syncachelimit\", []_C_int{4, 2, 6, 15}},\n\t{\"net.inet.udp.baddynamic\", []_C_int{4, 2, 17, 2}},\n\t{\"net.inet.udp.checksum\", []_C_int{4, 2, 17, 1}},\n\t{\"net.inet.udp.recvspace\", []_C_int{4, 2, 17, 3}},\n\t{\"net.inet.udp.sendspace\", []_C_int{4, 2, 17, 4}},\n\t{\"net.inet.udp.stats\", []_C_int{4, 2, 17, 5}},\n\t{\"net.inet6.divert.recvspace\", []_C_int{4, 24, 86, 1}},\n\t{\"net.inet6.divert.sendspace\", []_C_int{4, 24, 86, 2}},\n\t{\"net.inet6.divert.stats\", []_C_int{4, 24, 86, 3}},\n\t{\"net.inet6.icmp6.errppslimit\", []_C_int{4, 24, 30, 14}},\n\t{\"net.inet6.icmp6.mtudisc_hiwat\", []_C_int{4, 24, 30, 16}},\n\t{\"net.inet6.icmp6.mtudisc_lowat\", []_C_int{4, 24, 30, 17}},\n\t{\"net.inet6.icmp6.nd6_debug\", []_C_int{4, 24, 30, 18}},\n\t{\"net.inet6.icmp6.nd6_delay\", []_C_int{4, 24, 30, 8}},\n\t{\"net.inet6.icmp6.nd6_maxnudhint\", []_C_int{4, 24, 30, 15}},\n\t{\"net.inet6.icmp6.nd6_mmaxtries\", []_C_int{4, 24, 30, 10}},\n\t{\"net.inet6.icmp6.nd6_prune\", []_C_int{4, 24, 30, 6}},\n\t{\"net.inet6.icmp6.nd6_umaxtries\", []_C_int{4, 24, 30, 9}},\n\t{\"net.inet6.icmp6.nd6_useloopback\", []_C_int{4, 24, 30, 11}},\n\t{\"net.inet6.icmp6.nodeinfo\", []_C_int{4, 24, 30, 13}},\n\t{\"net.inet6.icmp6.rediraccept\", []_C_int{4, 24, 30, 2}},\n\t{\"net.inet6.icmp6.redirtimeout\", []_C_int{4, 24, 30, 3}},\n\t{\"net.inet6.ip6.accept_rtadv\", []_C_int{4, 24, 17, 12}},\n\t{\"net.inet6.ip6.auto_flowlabel\", []_C_int{4, 24, 17, 17}},\n\t{\"net.inet6.ip6.dad_count\", []_C_int{4, 24, 17, 16}},\n\t{\"net.inet6.ip6.dad_pending\", []_C_int{4, 24, 17, 49}},\n\t{\"net.inet6.ip6.defmcasthlim\", []_C_int{4, 24, 17, 18}},\n\t{\"net.inet6.ip6.forwarding\", []_C_int{4, 24, 17, 1}},\n\t{\"net.inet6.ip6.forwsrcrt\", []_C_int{4, 24, 17, 5}},\n\t{\"net.inet6.ip6.hdrnestlimit\", []_C_int{4, 24, 17, 15}},\n\t{\"net.inet6.ip6.hlim\", []_C_int{4, 24, 17, 3}},\n\t{\"net.inet6.ip6.log_interval\", []_C_int{4, 24, 17, 14}},\n\t{\"net.inet6.ip6.maxdynroutes\", []_C_int{4, 24, 17, 48}},\n\t{\"net.inet6.ip6.maxfragpackets\", []_C_int{4, 24, 17, 9}},\n\t{\"net.inet6.ip6.maxfrags\", []_C_int{4, 24, 17, 41}},\n\t{\"net.inet6.ip6.maxifdefrouters\", []_C_int{4, 24, 17, 47}},\n\t{\"net.inet6.ip6.maxifprefixes\", []_C_int{4, 24, 17, 46}},\n\t{\"net.inet6.ip6.mforwarding\", []_C_int{4, 24, 17, 42}},\n\t{\"net.inet6.ip6.mrtproto\", []_C_int{4, 24, 17, 8}},\n\t{\"net.inet6.ip6.mtudisctimeout\", []_C_int{4, 24, 17, 50}},\n\t{\"net.inet6.ip6.multicast_mtudisc\", []_C_int{4, 24, 17, 44}},\n\t{\"net.inet6.ip6.multipath\", []_C_int{4, 24, 17, 43}},\n\t{\"net.inet6.ip6.neighborgcthresh\", []_C_int{4, 24, 17, 45}},\n\t{\"net.inet6.ip6.redirect\", []_C_int{4, 24, 17, 2}},\n\t{\"net.inet6.ip6.rr_prune\", []_C_int{4, 24, 17, 22}},\n\t{\"net.inet6.ip6.sourcecheck\", []_C_int{4, 24, 17, 10}},\n\t{\"net.inet6.ip6.sourcecheck_logint\", []_C_int{4, 24, 17, 11}},\n\t{\"net.inet6.ip6.use_deprecated\", []_C_int{4, 24, 17, 21}},\n\t{\"net.inet6.ip6.v6only\", []_C_int{4, 24, 17, 24}},\n\t{\"net.key.sadb_dump\", []_C_int{4, 30, 1}},\n\t{\"net.key.spd_dump\", []_C_int{4, 30, 2}},\n\t{\"net.mpls.ifq.congestion\", []_C_int{4, 33, 3, 4}},\n\t{\"net.mpls.ifq.drops\", []_C_int{4, 33, 3, 3}},\n\t{\"net.mpls.ifq.len\", []_C_int{4, 33, 3, 1}},\n\t{\"net.mpls.ifq.maxlen\", []_C_int{4, 33, 3, 2}},\n\t{\"net.mpls.mapttl_ip\", []_C_int{4, 33, 5}},\n\t{\"net.mpls.mapttl_ip6\", []_C_int{4, 33, 6}},\n\t{\"net.mpls.maxloop_inkernel\", []_C_int{4, 33, 4}},\n\t{\"net.mpls.ttl\", []_C_int{4, 33, 2}},\n\t{\"net.pflow.stats\", []_C_int{4, 34, 1}},\n\t{\"net.pipex.enable\", []_C_int{4, 35, 1}},\n\t{\"vm.anonmin\", []_C_int{2, 7}},\n\t{\"vm.loadavg\", []_C_int{2, 2}},\n\t{\"vm.maxslp\", []_C_int{2, 10}},\n\t{\"vm.nkmempages\", []_C_int{2, 6}},\n\t{\"vm.psstrings\", []_C_int{2, 3}},\n\t{\"vm.swapencrypt.enable\", []_C_int{2, 5, 0}},\n\t{\"vm.swapencrypt.keyscreated\", []_C_int{2, 5, 1}},\n\t{\"vm.swapencrypt.keysdeleted\", []_C_int{2, 5, 2}},\n\t{\"vm.uspace\", []_C_int{2, 11}},\n\t{\"vm.uvmexp\", []_C_int{2, 4}},\n\t{\"vm.vmmeter\", []_C_int{2, 1}},\n\t{\"vm.vnodemin\", []_C_int{2, 9}},\n\t{\"vm.vtextmin\", []_C_int{2, 8}},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go",
    "content": "// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/syscall.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,darwin\n\npackage unix\n\nconst (\n\tSYS_SYSCALL                        = 0\n\tSYS_EXIT                           = 1\n\tSYS_FORK                           = 2\n\tSYS_READ                           = 3\n\tSYS_WRITE                          = 4\n\tSYS_OPEN                           = 5\n\tSYS_CLOSE                          = 6\n\tSYS_WAIT4                          = 7\n\tSYS_LINK                           = 9\n\tSYS_UNLINK                         = 10\n\tSYS_CHDIR                          = 12\n\tSYS_FCHDIR                         = 13\n\tSYS_MKNOD                          = 14\n\tSYS_CHMOD                          = 15\n\tSYS_CHOWN                          = 16\n\tSYS_GETFSSTAT                      = 18\n\tSYS_GETPID                         = 20\n\tSYS_SETUID                         = 23\n\tSYS_GETUID                         = 24\n\tSYS_GETEUID                        = 25\n\tSYS_PTRACE                         = 26\n\tSYS_RECVMSG                        = 27\n\tSYS_SENDMSG                        = 28\n\tSYS_RECVFROM                       = 29\n\tSYS_ACCEPT                         = 30\n\tSYS_GETPEERNAME                    = 31\n\tSYS_GETSOCKNAME                    = 32\n\tSYS_ACCESS                         = 33\n\tSYS_CHFLAGS                        = 34\n\tSYS_FCHFLAGS                       = 35\n\tSYS_SYNC                           = 36\n\tSYS_KILL                           = 37\n\tSYS_GETPPID                        = 39\n\tSYS_DUP                            = 41\n\tSYS_PIPE                           = 42\n\tSYS_GETEGID                        = 43\n\tSYS_SIGACTION                      = 46\n\tSYS_GETGID                         = 47\n\tSYS_SIGPROCMASK                    = 48\n\tSYS_GETLOGIN                       = 49\n\tSYS_SETLOGIN                       = 50\n\tSYS_ACCT                           = 51\n\tSYS_SIGPENDING                     = 52\n\tSYS_SIGALTSTACK                    = 53\n\tSYS_IOCTL                          = 54\n\tSYS_REBOOT                         = 55\n\tSYS_REVOKE                         = 56\n\tSYS_SYMLINK                        = 57\n\tSYS_READLINK                       = 58\n\tSYS_EXECVE                         = 59\n\tSYS_UMASK                          = 60\n\tSYS_CHROOT                         = 61\n\tSYS_MSYNC                          = 65\n\tSYS_VFORK                          = 66\n\tSYS_MUNMAP                         = 73\n\tSYS_MPROTECT                       = 74\n\tSYS_MADVISE                        = 75\n\tSYS_MINCORE                        = 78\n\tSYS_GETGROUPS                      = 79\n\tSYS_SETGROUPS                      = 80\n\tSYS_GETPGRP                        = 81\n\tSYS_SETPGID                        = 82\n\tSYS_SETITIMER                      = 83\n\tSYS_SWAPON                         = 85\n\tSYS_GETITIMER                      = 86\n\tSYS_GETDTABLESIZE                  = 89\n\tSYS_DUP2                           = 90\n\tSYS_FCNTL                          = 92\n\tSYS_SELECT                         = 93\n\tSYS_FSYNC                          = 95\n\tSYS_SETPRIORITY                    = 96\n\tSYS_SOCKET                         = 97\n\tSYS_CONNECT                        = 98\n\tSYS_GETPRIORITY                    = 100\n\tSYS_BIND                           = 104\n\tSYS_SETSOCKOPT                     = 105\n\tSYS_LISTEN                         = 106\n\tSYS_SIGSUSPEND                     = 111\n\tSYS_GETTIMEOFDAY                   = 116\n\tSYS_GETRUSAGE                      = 117\n\tSYS_GETSOCKOPT                     = 118\n\tSYS_READV                          = 120\n\tSYS_WRITEV                         = 121\n\tSYS_SETTIMEOFDAY                   = 122\n\tSYS_FCHOWN                         = 123\n\tSYS_FCHMOD                         = 124\n\tSYS_SETREUID                       = 126\n\tSYS_SETREGID                       = 127\n\tSYS_RENAME                         = 128\n\tSYS_FLOCK                          = 131\n\tSYS_MKFIFO                         = 132\n\tSYS_SENDTO                         = 133\n\tSYS_SHUTDOWN                       = 134\n\tSYS_SOCKETPAIR                     = 135\n\tSYS_MKDIR                          = 136\n\tSYS_RMDIR                          = 137\n\tSYS_UTIMES                         = 138\n\tSYS_FUTIMES                        = 139\n\tSYS_ADJTIME                        = 140\n\tSYS_GETHOSTUUID                    = 142\n\tSYS_SETSID                         = 147\n\tSYS_GETPGID                        = 151\n\tSYS_SETPRIVEXEC                    = 152\n\tSYS_PREAD                          = 153\n\tSYS_PWRITE                         = 154\n\tSYS_NFSSVC                         = 155\n\tSYS_STATFS                         = 157\n\tSYS_FSTATFS                        = 158\n\tSYS_UNMOUNT                        = 159\n\tSYS_GETFH                          = 161\n\tSYS_QUOTACTL                       = 165\n\tSYS_MOUNT                          = 167\n\tSYS_CSOPS                          = 169\n\tSYS_CSOPS_AUDITTOKEN               = 170\n\tSYS_WAITID                         = 173\n\tSYS_KDEBUG_TYPEFILTER              = 177\n\tSYS_KDEBUG_TRACE_STRING            = 178\n\tSYS_KDEBUG_TRACE64                 = 179\n\tSYS_KDEBUG_TRACE                   = 180\n\tSYS_SETGID                         = 181\n\tSYS_SETEGID                        = 182\n\tSYS_SETEUID                        = 183\n\tSYS_SIGRETURN                      = 184\n\tSYS_THREAD_SELFCOUNTS              = 186\n\tSYS_FDATASYNC                      = 187\n\tSYS_STAT                           = 188\n\tSYS_FSTAT                          = 189\n\tSYS_LSTAT                          = 190\n\tSYS_PATHCONF                       = 191\n\tSYS_FPATHCONF                      = 192\n\tSYS_GETRLIMIT                      = 194\n\tSYS_SETRLIMIT                      = 195\n\tSYS_GETDIRENTRIES                  = 196\n\tSYS_MMAP                           = 197\n\tSYS_LSEEK                          = 199\n\tSYS_TRUNCATE                       = 200\n\tSYS_FTRUNCATE                      = 201\n\tSYS_SYSCTL                         = 202\n\tSYS_MLOCK                          = 203\n\tSYS_MUNLOCK                        = 204\n\tSYS_UNDELETE                       = 205\n\tSYS_OPEN_DPROTECTED_NP             = 216\n\tSYS_GETATTRLIST                    = 220\n\tSYS_SETATTRLIST                    = 221\n\tSYS_GETDIRENTRIESATTR              = 222\n\tSYS_EXCHANGEDATA                   = 223\n\tSYS_SEARCHFS                       = 225\n\tSYS_DELETE                         = 226\n\tSYS_COPYFILE                       = 227\n\tSYS_FGETATTRLIST                   = 228\n\tSYS_FSETATTRLIST                   = 229\n\tSYS_POLL                           = 230\n\tSYS_WATCHEVENT                     = 231\n\tSYS_WAITEVENT                      = 232\n\tSYS_MODWATCH                       = 233\n\tSYS_GETXATTR                       = 234\n\tSYS_FGETXATTR                      = 235\n\tSYS_SETXATTR                       = 236\n\tSYS_FSETXATTR                      = 237\n\tSYS_REMOVEXATTR                    = 238\n\tSYS_FREMOVEXATTR                   = 239\n\tSYS_LISTXATTR                      = 240\n\tSYS_FLISTXATTR                     = 241\n\tSYS_FSCTL                          = 242\n\tSYS_INITGROUPS                     = 243\n\tSYS_POSIX_SPAWN                    = 244\n\tSYS_FFSCTL                         = 245\n\tSYS_NFSCLNT                        = 247\n\tSYS_FHOPEN                         = 248\n\tSYS_MINHERIT                       = 250\n\tSYS_SEMSYS                         = 251\n\tSYS_MSGSYS                         = 252\n\tSYS_SHMSYS                         = 253\n\tSYS_SEMCTL                         = 254\n\tSYS_SEMGET                         = 255\n\tSYS_SEMOP                          = 256\n\tSYS_MSGCTL                         = 258\n\tSYS_MSGGET                         = 259\n\tSYS_MSGSND                         = 260\n\tSYS_MSGRCV                         = 261\n\tSYS_SHMAT                          = 262\n\tSYS_SHMCTL                         = 263\n\tSYS_SHMDT                          = 264\n\tSYS_SHMGET                         = 265\n\tSYS_SHM_OPEN                       = 266\n\tSYS_SHM_UNLINK                     = 267\n\tSYS_SEM_OPEN                       = 268\n\tSYS_SEM_CLOSE                      = 269\n\tSYS_SEM_UNLINK                     = 270\n\tSYS_SEM_WAIT                       = 271\n\tSYS_SEM_TRYWAIT                    = 272\n\tSYS_SEM_POST                       = 273\n\tSYS_SYSCTLBYNAME                   = 274\n\tSYS_OPEN_EXTENDED                  = 277\n\tSYS_UMASK_EXTENDED                 = 278\n\tSYS_STAT_EXTENDED                  = 279\n\tSYS_LSTAT_EXTENDED                 = 280\n\tSYS_FSTAT_EXTENDED                 = 281\n\tSYS_CHMOD_EXTENDED                 = 282\n\tSYS_FCHMOD_EXTENDED                = 283\n\tSYS_ACCESS_EXTENDED                = 284\n\tSYS_SETTID                         = 285\n\tSYS_GETTID                         = 286\n\tSYS_SETSGROUPS                     = 287\n\tSYS_GETSGROUPS                     = 288\n\tSYS_SETWGROUPS                     = 289\n\tSYS_GETWGROUPS                     = 290\n\tSYS_MKFIFO_EXTENDED                = 291\n\tSYS_MKDIR_EXTENDED                 = 292\n\tSYS_IDENTITYSVC                    = 293\n\tSYS_SHARED_REGION_CHECK_NP         = 294\n\tSYS_VM_PRESSURE_MONITOR            = 296\n\tSYS_PSYNCH_RW_LONGRDLOCK           = 297\n\tSYS_PSYNCH_RW_YIELDWRLOCK          = 298\n\tSYS_PSYNCH_RW_DOWNGRADE            = 299\n\tSYS_PSYNCH_RW_UPGRADE              = 300\n\tSYS_PSYNCH_MUTEXWAIT               = 301\n\tSYS_PSYNCH_MUTEXDROP               = 302\n\tSYS_PSYNCH_CVBROAD                 = 303\n\tSYS_PSYNCH_CVSIGNAL                = 304\n\tSYS_PSYNCH_CVWAIT                  = 305\n\tSYS_PSYNCH_RW_RDLOCK               = 306\n\tSYS_PSYNCH_RW_WRLOCK               = 307\n\tSYS_PSYNCH_RW_UNLOCK               = 308\n\tSYS_PSYNCH_RW_UNLOCK2              = 309\n\tSYS_GETSID                         = 310\n\tSYS_SETTID_WITH_PID                = 311\n\tSYS_PSYNCH_CVCLRPREPOST            = 312\n\tSYS_AIO_FSYNC                      = 313\n\tSYS_AIO_RETURN                     = 314\n\tSYS_AIO_SUSPEND                    = 315\n\tSYS_AIO_CANCEL                     = 316\n\tSYS_AIO_ERROR                      = 317\n\tSYS_AIO_READ                       = 318\n\tSYS_AIO_WRITE                      = 319\n\tSYS_LIO_LISTIO                     = 320\n\tSYS_IOPOLICYSYS                    = 322\n\tSYS_PROCESS_POLICY                 = 323\n\tSYS_MLOCKALL                       = 324\n\tSYS_MUNLOCKALL                     = 325\n\tSYS_ISSETUGID                      = 327\n\tSYS___PTHREAD_KILL                 = 328\n\tSYS___PTHREAD_SIGMASK              = 329\n\tSYS___SIGWAIT                      = 330\n\tSYS___DISABLE_THREADSIGNAL         = 331\n\tSYS___PTHREAD_MARKCANCEL           = 332\n\tSYS___PTHREAD_CANCELED             = 333\n\tSYS___SEMWAIT_SIGNAL               = 334\n\tSYS_PROC_INFO                      = 336\n\tSYS_SENDFILE                       = 337\n\tSYS_STAT64                         = 338\n\tSYS_FSTAT64                        = 339\n\tSYS_LSTAT64                        = 340\n\tSYS_STAT64_EXTENDED                = 341\n\tSYS_LSTAT64_EXTENDED               = 342\n\tSYS_FSTAT64_EXTENDED               = 343\n\tSYS_GETDIRENTRIES64                = 344\n\tSYS_STATFS64                       = 345\n\tSYS_FSTATFS64                      = 346\n\tSYS_GETFSSTAT64                    = 347\n\tSYS___PTHREAD_CHDIR                = 348\n\tSYS___PTHREAD_FCHDIR               = 349\n\tSYS_AUDIT                          = 350\n\tSYS_AUDITON                        = 351\n\tSYS_GETAUID                        = 353\n\tSYS_SETAUID                        = 354\n\tSYS_GETAUDIT_ADDR                  = 357\n\tSYS_SETAUDIT_ADDR                  = 358\n\tSYS_AUDITCTL                       = 359\n\tSYS_BSDTHREAD_CREATE               = 360\n\tSYS_BSDTHREAD_TERMINATE            = 361\n\tSYS_KQUEUE                         = 362\n\tSYS_KEVENT                         = 363\n\tSYS_LCHOWN                         = 364\n\tSYS_BSDTHREAD_REGISTER             = 366\n\tSYS_WORKQ_OPEN                     = 367\n\tSYS_WORKQ_KERNRETURN               = 368\n\tSYS_KEVENT64                       = 369\n\tSYS___OLD_SEMWAIT_SIGNAL           = 370\n\tSYS___OLD_SEMWAIT_SIGNAL_NOCANCEL  = 371\n\tSYS_THREAD_SELFID                  = 372\n\tSYS_LEDGER                         = 373\n\tSYS_KEVENT_QOS                     = 374\n\tSYS_KEVENT_ID                      = 375\n\tSYS___MAC_EXECVE                   = 380\n\tSYS___MAC_SYSCALL                  = 381\n\tSYS___MAC_GET_FILE                 = 382\n\tSYS___MAC_SET_FILE                 = 383\n\tSYS___MAC_GET_LINK                 = 384\n\tSYS___MAC_SET_LINK                 = 385\n\tSYS___MAC_GET_PROC                 = 386\n\tSYS___MAC_SET_PROC                 = 387\n\tSYS___MAC_GET_FD                   = 388\n\tSYS___MAC_SET_FD                   = 389\n\tSYS___MAC_GET_PID                  = 390\n\tSYS_PSELECT                        = 394\n\tSYS_PSELECT_NOCANCEL               = 395\n\tSYS_READ_NOCANCEL                  = 396\n\tSYS_WRITE_NOCANCEL                 = 397\n\tSYS_OPEN_NOCANCEL                  = 398\n\tSYS_CLOSE_NOCANCEL                 = 399\n\tSYS_WAIT4_NOCANCEL                 = 400\n\tSYS_RECVMSG_NOCANCEL               = 401\n\tSYS_SENDMSG_NOCANCEL               = 402\n\tSYS_RECVFROM_NOCANCEL              = 403\n\tSYS_ACCEPT_NOCANCEL                = 404\n\tSYS_MSYNC_NOCANCEL                 = 405\n\tSYS_FCNTL_NOCANCEL                 = 406\n\tSYS_SELECT_NOCANCEL                = 407\n\tSYS_FSYNC_NOCANCEL                 = 408\n\tSYS_CONNECT_NOCANCEL               = 409\n\tSYS_SIGSUSPEND_NOCANCEL            = 410\n\tSYS_READV_NOCANCEL                 = 411\n\tSYS_WRITEV_NOCANCEL                = 412\n\tSYS_SENDTO_NOCANCEL                = 413\n\tSYS_PREAD_NOCANCEL                 = 414\n\tSYS_PWRITE_NOCANCEL                = 415\n\tSYS_WAITID_NOCANCEL                = 416\n\tSYS_POLL_NOCANCEL                  = 417\n\tSYS_MSGSND_NOCANCEL                = 418\n\tSYS_MSGRCV_NOCANCEL                = 419\n\tSYS_SEM_WAIT_NOCANCEL              = 420\n\tSYS_AIO_SUSPEND_NOCANCEL           = 421\n\tSYS___SIGWAIT_NOCANCEL             = 422\n\tSYS___SEMWAIT_SIGNAL_NOCANCEL      = 423\n\tSYS___MAC_MOUNT                    = 424\n\tSYS___MAC_GET_MOUNT                = 425\n\tSYS___MAC_GETFSSTAT                = 426\n\tSYS_FSGETPATH                      = 427\n\tSYS_AUDIT_SESSION_SELF             = 428\n\tSYS_AUDIT_SESSION_JOIN             = 429\n\tSYS_FILEPORT_MAKEPORT              = 430\n\tSYS_FILEPORT_MAKEFD                = 431\n\tSYS_AUDIT_SESSION_PORT             = 432\n\tSYS_PID_SUSPEND                    = 433\n\tSYS_PID_RESUME                     = 434\n\tSYS_PID_HIBERNATE                  = 435\n\tSYS_PID_SHUTDOWN_SOCKETS           = 436\n\tSYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438\n\tSYS_KAS_INFO                       = 439\n\tSYS_MEMORYSTATUS_CONTROL           = 440\n\tSYS_GUARDED_OPEN_NP                = 441\n\tSYS_GUARDED_CLOSE_NP               = 442\n\tSYS_GUARDED_KQUEUE_NP              = 443\n\tSYS_CHANGE_FDGUARD_NP              = 444\n\tSYS_USRCTL                         = 445\n\tSYS_PROC_RLIMIT_CONTROL            = 446\n\tSYS_CONNECTX                       = 447\n\tSYS_DISCONNECTX                    = 448\n\tSYS_PEELOFF                        = 449\n\tSYS_SOCKET_DELEGATE                = 450\n\tSYS_TELEMETRY                      = 451\n\tSYS_PROC_UUID_POLICY               = 452\n\tSYS_MEMORYSTATUS_GET_LEVEL         = 453\n\tSYS_SYSTEM_OVERRIDE                = 454\n\tSYS_VFS_PURGE                      = 455\n\tSYS_SFI_CTL                        = 456\n\tSYS_SFI_PIDCTL                     = 457\n\tSYS_COALITION                      = 458\n\tSYS_COALITION_INFO                 = 459\n\tSYS_NECP_MATCH_POLICY              = 460\n\tSYS_GETATTRLISTBULK                = 461\n\tSYS_CLONEFILEAT                    = 462\n\tSYS_OPENAT                         = 463\n\tSYS_OPENAT_NOCANCEL                = 464\n\tSYS_RENAMEAT                       = 465\n\tSYS_FACCESSAT                      = 466\n\tSYS_FCHMODAT                       = 467\n\tSYS_FCHOWNAT                       = 468\n\tSYS_FSTATAT                        = 469\n\tSYS_FSTATAT64                      = 470\n\tSYS_LINKAT                         = 471\n\tSYS_UNLINKAT                       = 472\n\tSYS_READLINKAT                     = 473\n\tSYS_SYMLINKAT                      = 474\n\tSYS_MKDIRAT                        = 475\n\tSYS_GETATTRLISTAT                  = 476\n\tSYS_PROC_TRACE_LOG                 = 477\n\tSYS_BSDTHREAD_CTL                  = 478\n\tSYS_OPENBYID_NP                    = 479\n\tSYS_RECVMSG_X                      = 480\n\tSYS_SENDMSG_X                      = 481\n\tSYS_THREAD_SELFUSAGE               = 482\n\tSYS_CSRCTL                         = 483\n\tSYS_GUARDED_OPEN_DPROTECTED_NP     = 484\n\tSYS_GUARDED_WRITE_NP               = 485\n\tSYS_GUARDED_PWRITE_NP              = 486\n\tSYS_GUARDED_WRITEV_NP              = 487\n\tSYS_RENAMEATX_NP                   = 488\n\tSYS_MREMAP_ENCRYPTED               = 489\n\tSYS_NETAGENT_TRIGGER               = 490\n\tSYS_STACK_SNAPSHOT_WITH_CONFIG     = 491\n\tSYS_MICROSTACKSHOT                 = 492\n\tSYS_GRAB_PGO_DATA                  = 493\n\tSYS_PERSONA                        = 494\n\tSYS_WORK_INTERVAL_CTL              = 499\n\tSYS_GETENTROPY                     = 500\n\tSYS_NECP_OPEN                      = 501\n\tSYS_NECP_CLIENT_ACTION             = 502\n\tSYS___NEXUS_OPEN                   = 503\n\tSYS___NEXUS_REGISTER               = 504\n\tSYS___NEXUS_DEREGISTER             = 505\n\tSYS___NEXUS_CREATE                 = 506\n\tSYS___NEXUS_DESTROY                = 507\n\tSYS___NEXUS_GET_OPT                = 508\n\tSYS___NEXUS_SET_OPT                = 509\n\tSYS___CHANNEL_OPEN                 = 510\n\tSYS___CHANNEL_GET_INFO             = 511\n\tSYS___CHANNEL_SYNC                 = 512\n\tSYS___CHANNEL_GET_OPT              = 513\n\tSYS___CHANNEL_SET_OPT              = 514\n\tSYS_ULOCK_WAIT                     = 515\n\tSYS_ULOCK_WAKE                     = 516\n\tSYS_FCLONEFILEAT                   = 517\n\tSYS_FS_SNAPSHOT                    = 518\n\tSYS_TERMINATE_WITH_PAYLOAD         = 520\n\tSYS_ABORT_WITH_PAYLOAD             = 521\n\tSYS_NECP_SESSION_OPEN              = 522\n\tSYS_NECP_SESSION_ACTION            = 523\n\tSYS_SETATTRLISTAT                  = 524\n\tSYS_NET_QOS_GUIDELINE              = 525\n\tSYS_FMOUNT                         = 526\n\tSYS_NTP_ADJTIME                    = 527\n\tSYS_NTP_GETTIME                    = 528\n\tSYS_OS_FAULT_WITH_PAYLOAD          = 529\n\tSYS_MAXSYSCALL                     = 530\n\tSYS_INVALID                        = 63\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go",
    "content": "// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/syscall.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,darwin\n\npackage unix\n\nconst (\n\tSYS_SYSCALL                        = 0\n\tSYS_EXIT                           = 1\n\tSYS_FORK                           = 2\n\tSYS_READ                           = 3\n\tSYS_WRITE                          = 4\n\tSYS_OPEN                           = 5\n\tSYS_CLOSE                          = 6\n\tSYS_WAIT4                          = 7\n\tSYS_LINK                           = 9\n\tSYS_UNLINK                         = 10\n\tSYS_CHDIR                          = 12\n\tSYS_FCHDIR                         = 13\n\tSYS_MKNOD                          = 14\n\tSYS_CHMOD                          = 15\n\tSYS_CHOWN                          = 16\n\tSYS_GETFSSTAT                      = 18\n\tSYS_GETPID                         = 20\n\tSYS_SETUID                         = 23\n\tSYS_GETUID                         = 24\n\tSYS_GETEUID                        = 25\n\tSYS_PTRACE                         = 26\n\tSYS_RECVMSG                        = 27\n\tSYS_SENDMSG                        = 28\n\tSYS_RECVFROM                       = 29\n\tSYS_ACCEPT                         = 30\n\tSYS_GETPEERNAME                    = 31\n\tSYS_GETSOCKNAME                    = 32\n\tSYS_ACCESS                         = 33\n\tSYS_CHFLAGS                        = 34\n\tSYS_FCHFLAGS                       = 35\n\tSYS_SYNC                           = 36\n\tSYS_KILL                           = 37\n\tSYS_GETPPID                        = 39\n\tSYS_DUP                            = 41\n\tSYS_PIPE                           = 42\n\tSYS_GETEGID                        = 43\n\tSYS_SIGACTION                      = 46\n\tSYS_GETGID                         = 47\n\tSYS_SIGPROCMASK                    = 48\n\tSYS_GETLOGIN                       = 49\n\tSYS_SETLOGIN                       = 50\n\tSYS_ACCT                           = 51\n\tSYS_SIGPENDING                     = 52\n\tSYS_SIGALTSTACK                    = 53\n\tSYS_IOCTL                          = 54\n\tSYS_REBOOT                         = 55\n\tSYS_REVOKE                         = 56\n\tSYS_SYMLINK                        = 57\n\tSYS_READLINK                       = 58\n\tSYS_EXECVE                         = 59\n\tSYS_UMASK                          = 60\n\tSYS_CHROOT                         = 61\n\tSYS_MSYNC                          = 65\n\tSYS_VFORK                          = 66\n\tSYS_MUNMAP                         = 73\n\tSYS_MPROTECT                       = 74\n\tSYS_MADVISE                        = 75\n\tSYS_MINCORE                        = 78\n\tSYS_GETGROUPS                      = 79\n\tSYS_SETGROUPS                      = 80\n\tSYS_GETPGRP                        = 81\n\tSYS_SETPGID                        = 82\n\tSYS_SETITIMER                      = 83\n\tSYS_SWAPON                         = 85\n\tSYS_GETITIMER                      = 86\n\tSYS_GETDTABLESIZE                  = 89\n\tSYS_DUP2                           = 90\n\tSYS_FCNTL                          = 92\n\tSYS_SELECT                         = 93\n\tSYS_FSYNC                          = 95\n\tSYS_SETPRIORITY                    = 96\n\tSYS_SOCKET                         = 97\n\tSYS_CONNECT                        = 98\n\tSYS_GETPRIORITY                    = 100\n\tSYS_BIND                           = 104\n\tSYS_SETSOCKOPT                     = 105\n\tSYS_LISTEN                         = 106\n\tSYS_SIGSUSPEND                     = 111\n\tSYS_GETTIMEOFDAY                   = 116\n\tSYS_GETRUSAGE                      = 117\n\tSYS_GETSOCKOPT                     = 118\n\tSYS_READV                          = 120\n\tSYS_WRITEV                         = 121\n\tSYS_SETTIMEOFDAY                   = 122\n\tSYS_FCHOWN                         = 123\n\tSYS_FCHMOD                         = 124\n\tSYS_SETREUID                       = 126\n\tSYS_SETREGID                       = 127\n\tSYS_RENAME                         = 128\n\tSYS_FLOCK                          = 131\n\tSYS_MKFIFO                         = 132\n\tSYS_SENDTO                         = 133\n\tSYS_SHUTDOWN                       = 134\n\tSYS_SOCKETPAIR                     = 135\n\tSYS_MKDIR                          = 136\n\tSYS_RMDIR                          = 137\n\tSYS_UTIMES                         = 138\n\tSYS_FUTIMES                        = 139\n\tSYS_ADJTIME                        = 140\n\tSYS_GETHOSTUUID                    = 142\n\tSYS_SETSID                         = 147\n\tSYS_GETPGID                        = 151\n\tSYS_SETPRIVEXEC                    = 152\n\tSYS_PREAD                          = 153\n\tSYS_PWRITE                         = 154\n\tSYS_NFSSVC                         = 155\n\tSYS_STATFS                         = 157\n\tSYS_FSTATFS                        = 158\n\tSYS_UNMOUNT                        = 159\n\tSYS_GETFH                          = 161\n\tSYS_QUOTACTL                       = 165\n\tSYS_MOUNT                          = 167\n\tSYS_CSOPS                          = 169\n\tSYS_CSOPS_AUDITTOKEN               = 170\n\tSYS_WAITID                         = 173\n\tSYS_KDEBUG_TYPEFILTER              = 177\n\tSYS_KDEBUG_TRACE_STRING            = 178\n\tSYS_KDEBUG_TRACE64                 = 179\n\tSYS_KDEBUG_TRACE                   = 180\n\tSYS_SETGID                         = 181\n\tSYS_SETEGID                        = 182\n\tSYS_SETEUID                        = 183\n\tSYS_SIGRETURN                      = 184\n\tSYS_THREAD_SELFCOUNTS              = 186\n\tSYS_FDATASYNC                      = 187\n\tSYS_STAT                           = 188\n\tSYS_FSTAT                          = 189\n\tSYS_LSTAT                          = 190\n\tSYS_PATHCONF                       = 191\n\tSYS_FPATHCONF                      = 192\n\tSYS_GETRLIMIT                      = 194\n\tSYS_SETRLIMIT                      = 195\n\tSYS_GETDIRENTRIES                  = 196\n\tSYS_MMAP                           = 197\n\tSYS_LSEEK                          = 199\n\tSYS_TRUNCATE                       = 200\n\tSYS_FTRUNCATE                      = 201\n\tSYS_SYSCTL                         = 202\n\tSYS_MLOCK                          = 203\n\tSYS_MUNLOCK                        = 204\n\tSYS_UNDELETE                       = 205\n\tSYS_OPEN_DPROTECTED_NP             = 216\n\tSYS_GETATTRLIST                    = 220\n\tSYS_SETATTRLIST                    = 221\n\tSYS_GETDIRENTRIESATTR              = 222\n\tSYS_EXCHANGEDATA                   = 223\n\tSYS_SEARCHFS                       = 225\n\tSYS_DELETE                         = 226\n\tSYS_COPYFILE                       = 227\n\tSYS_FGETATTRLIST                   = 228\n\tSYS_FSETATTRLIST                   = 229\n\tSYS_POLL                           = 230\n\tSYS_WATCHEVENT                     = 231\n\tSYS_WAITEVENT                      = 232\n\tSYS_MODWATCH                       = 233\n\tSYS_GETXATTR                       = 234\n\tSYS_FGETXATTR                      = 235\n\tSYS_SETXATTR                       = 236\n\tSYS_FSETXATTR                      = 237\n\tSYS_REMOVEXATTR                    = 238\n\tSYS_FREMOVEXATTR                   = 239\n\tSYS_LISTXATTR                      = 240\n\tSYS_FLISTXATTR                     = 241\n\tSYS_FSCTL                          = 242\n\tSYS_INITGROUPS                     = 243\n\tSYS_POSIX_SPAWN                    = 244\n\tSYS_FFSCTL                         = 245\n\tSYS_NFSCLNT                        = 247\n\tSYS_FHOPEN                         = 248\n\tSYS_MINHERIT                       = 250\n\tSYS_SEMSYS                         = 251\n\tSYS_MSGSYS                         = 252\n\tSYS_SHMSYS                         = 253\n\tSYS_SEMCTL                         = 254\n\tSYS_SEMGET                         = 255\n\tSYS_SEMOP                          = 256\n\tSYS_MSGCTL                         = 258\n\tSYS_MSGGET                         = 259\n\tSYS_MSGSND                         = 260\n\tSYS_MSGRCV                         = 261\n\tSYS_SHMAT                          = 262\n\tSYS_SHMCTL                         = 263\n\tSYS_SHMDT                          = 264\n\tSYS_SHMGET                         = 265\n\tSYS_SHM_OPEN                       = 266\n\tSYS_SHM_UNLINK                     = 267\n\tSYS_SEM_OPEN                       = 268\n\tSYS_SEM_CLOSE                      = 269\n\tSYS_SEM_UNLINK                     = 270\n\tSYS_SEM_WAIT                       = 271\n\tSYS_SEM_TRYWAIT                    = 272\n\tSYS_SEM_POST                       = 273\n\tSYS_SYSCTLBYNAME                   = 274\n\tSYS_OPEN_EXTENDED                  = 277\n\tSYS_UMASK_EXTENDED                 = 278\n\tSYS_STAT_EXTENDED                  = 279\n\tSYS_LSTAT_EXTENDED                 = 280\n\tSYS_FSTAT_EXTENDED                 = 281\n\tSYS_CHMOD_EXTENDED                 = 282\n\tSYS_FCHMOD_EXTENDED                = 283\n\tSYS_ACCESS_EXTENDED                = 284\n\tSYS_SETTID                         = 285\n\tSYS_GETTID                         = 286\n\tSYS_SETSGROUPS                     = 287\n\tSYS_GETSGROUPS                     = 288\n\tSYS_SETWGROUPS                     = 289\n\tSYS_GETWGROUPS                     = 290\n\tSYS_MKFIFO_EXTENDED                = 291\n\tSYS_MKDIR_EXTENDED                 = 292\n\tSYS_IDENTITYSVC                    = 293\n\tSYS_SHARED_REGION_CHECK_NP         = 294\n\tSYS_VM_PRESSURE_MONITOR            = 296\n\tSYS_PSYNCH_RW_LONGRDLOCK           = 297\n\tSYS_PSYNCH_RW_YIELDWRLOCK          = 298\n\tSYS_PSYNCH_RW_DOWNGRADE            = 299\n\tSYS_PSYNCH_RW_UPGRADE              = 300\n\tSYS_PSYNCH_MUTEXWAIT               = 301\n\tSYS_PSYNCH_MUTEXDROP               = 302\n\tSYS_PSYNCH_CVBROAD                 = 303\n\tSYS_PSYNCH_CVSIGNAL                = 304\n\tSYS_PSYNCH_CVWAIT                  = 305\n\tSYS_PSYNCH_RW_RDLOCK               = 306\n\tSYS_PSYNCH_RW_WRLOCK               = 307\n\tSYS_PSYNCH_RW_UNLOCK               = 308\n\tSYS_PSYNCH_RW_UNLOCK2              = 309\n\tSYS_GETSID                         = 310\n\tSYS_SETTID_WITH_PID                = 311\n\tSYS_PSYNCH_CVCLRPREPOST            = 312\n\tSYS_AIO_FSYNC                      = 313\n\tSYS_AIO_RETURN                     = 314\n\tSYS_AIO_SUSPEND                    = 315\n\tSYS_AIO_CANCEL                     = 316\n\tSYS_AIO_ERROR                      = 317\n\tSYS_AIO_READ                       = 318\n\tSYS_AIO_WRITE                      = 319\n\tSYS_LIO_LISTIO                     = 320\n\tSYS_IOPOLICYSYS                    = 322\n\tSYS_PROCESS_POLICY                 = 323\n\tSYS_MLOCKALL                       = 324\n\tSYS_MUNLOCKALL                     = 325\n\tSYS_ISSETUGID                      = 327\n\tSYS___PTHREAD_KILL                 = 328\n\tSYS___PTHREAD_SIGMASK              = 329\n\tSYS___SIGWAIT                      = 330\n\tSYS___DISABLE_THREADSIGNAL         = 331\n\tSYS___PTHREAD_MARKCANCEL           = 332\n\tSYS___PTHREAD_CANCELED             = 333\n\tSYS___SEMWAIT_SIGNAL               = 334\n\tSYS_PROC_INFO                      = 336\n\tSYS_SENDFILE                       = 337\n\tSYS_STAT64                         = 338\n\tSYS_FSTAT64                        = 339\n\tSYS_LSTAT64                        = 340\n\tSYS_STAT64_EXTENDED                = 341\n\tSYS_LSTAT64_EXTENDED               = 342\n\tSYS_FSTAT64_EXTENDED               = 343\n\tSYS_GETDIRENTRIES64                = 344\n\tSYS_STATFS64                       = 345\n\tSYS_FSTATFS64                      = 346\n\tSYS_GETFSSTAT64                    = 347\n\tSYS___PTHREAD_CHDIR                = 348\n\tSYS___PTHREAD_FCHDIR               = 349\n\tSYS_AUDIT                          = 350\n\tSYS_AUDITON                        = 351\n\tSYS_GETAUID                        = 353\n\tSYS_SETAUID                        = 354\n\tSYS_GETAUDIT_ADDR                  = 357\n\tSYS_SETAUDIT_ADDR                  = 358\n\tSYS_AUDITCTL                       = 359\n\tSYS_BSDTHREAD_CREATE               = 360\n\tSYS_BSDTHREAD_TERMINATE            = 361\n\tSYS_KQUEUE                         = 362\n\tSYS_KEVENT                         = 363\n\tSYS_LCHOWN                         = 364\n\tSYS_BSDTHREAD_REGISTER             = 366\n\tSYS_WORKQ_OPEN                     = 367\n\tSYS_WORKQ_KERNRETURN               = 368\n\tSYS_KEVENT64                       = 369\n\tSYS___OLD_SEMWAIT_SIGNAL           = 370\n\tSYS___OLD_SEMWAIT_SIGNAL_NOCANCEL  = 371\n\tSYS_THREAD_SELFID                  = 372\n\tSYS_LEDGER                         = 373\n\tSYS_KEVENT_QOS                     = 374\n\tSYS_KEVENT_ID                      = 375\n\tSYS___MAC_EXECVE                   = 380\n\tSYS___MAC_SYSCALL                  = 381\n\tSYS___MAC_GET_FILE                 = 382\n\tSYS___MAC_SET_FILE                 = 383\n\tSYS___MAC_GET_LINK                 = 384\n\tSYS___MAC_SET_LINK                 = 385\n\tSYS___MAC_GET_PROC                 = 386\n\tSYS___MAC_SET_PROC                 = 387\n\tSYS___MAC_GET_FD                   = 388\n\tSYS___MAC_SET_FD                   = 389\n\tSYS___MAC_GET_PID                  = 390\n\tSYS_PSELECT                        = 394\n\tSYS_PSELECT_NOCANCEL               = 395\n\tSYS_READ_NOCANCEL                  = 396\n\tSYS_WRITE_NOCANCEL                 = 397\n\tSYS_OPEN_NOCANCEL                  = 398\n\tSYS_CLOSE_NOCANCEL                 = 399\n\tSYS_WAIT4_NOCANCEL                 = 400\n\tSYS_RECVMSG_NOCANCEL               = 401\n\tSYS_SENDMSG_NOCANCEL               = 402\n\tSYS_RECVFROM_NOCANCEL              = 403\n\tSYS_ACCEPT_NOCANCEL                = 404\n\tSYS_MSYNC_NOCANCEL                 = 405\n\tSYS_FCNTL_NOCANCEL                 = 406\n\tSYS_SELECT_NOCANCEL                = 407\n\tSYS_FSYNC_NOCANCEL                 = 408\n\tSYS_CONNECT_NOCANCEL               = 409\n\tSYS_SIGSUSPEND_NOCANCEL            = 410\n\tSYS_READV_NOCANCEL                 = 411\n\tSYS_WRITEV_NOCANCEL                = 412\n\tSYS_SENDTO_NOCANCEL                = 413\n\tSYS_PREAD_NOCANCEL                 = 414\n\tSYS_PWRITE_NOCANCEL                = 415\n\tSYS_WAITID_NOCANCEL                = 416\n\tSYS_POLL_NOCANCEL                  = 417\n\tSYS_MSGSND_NOCANCEL                = 418\n\tSYS_MSGRCV_NOCANCEL                = 419\n\tSYS_SEM_WAIT_NOCANCEL              = 420\n\tSYS_AIO_SUSPEND_NOCANCEL           = 421\n\tSYS___SIGWAIT_NOCANCEL             = 422\n\tSYS___SEMWAIT_SIGNAL_NOCANCEL      = 423\n\tSYS___MAC_MOUNT                    = 424\n\tSYS___MAC_GET_MOUNT                = 425\n\tSYS___MAC_GETFSSTAT                = 426\n\tSYS_FSGETPATH                      = 427\n\tSYS_AUDIT_SESSION_SELF             = 428\n\tSYS_AUDIT_SESSION_JOIN             = 429\n\tSYS_FILEPORT_MAKEPORT              = 430\n\tSYS_FILEPORT_MAKEFD                = 431\n\tSYS_AUDIT_SESSION_PORT             = 432\n\tSYS_PID_SUSPEND                    = 433\n\tSYS_PID_RESUME                     = 434\n\tSYS_PID_HIBERNATE                  = 435\n\tSYS_PID_SHUTDOWN_SOCKETS           = 436\n\tSYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438\n\tSYS_KAS_INFO                       = 439\n\tSYS_MEMORYSTATUS_CONTROL           = 440\n\tSYS_GUARDED_OPEN_NP                = 441\n\tSYS_GUARDED_CLOSE_NP               = 442\n\tSYS_GUARDED_KQUEUE_NP              = 443\n\tSYS_CHANGE_FDGUARD_NP              = 444\n\tSYS_USRCTL                         = 445\n\tSYS_PROC_RLIMIT_CONTROL            = 446\n\tSYS_CONNECTX                       = 447\n\tSYS_DISCONNECTX                    = 448\n\tSYS_PEELOFF                        = 449\n\tSYS_SOCKET_DELEGATE                = 450\n\tSYS_TELEMETRY                      = 451\n\tSYS_PROC_UUID_POLICY               = 452\n\tSYS_MEMORYSTATUS_GET_LEVEL         = 453\n\tSYS_SYSTEM_OVERRIDE                = 454\n\tSYS_VFS_PURGE                      = 455\n\tSYS_SFI_CTL                        = 456\n\tSYS_SFI_PIDCTL                     = 457\n\tSYS_COALITION                      = 458\n\tSYS_COALITION_INFO                 = 459\n\tSYS_NECP_MATCH_POLICY              = 460\n\tSYS_GETATTRLISTBULK                = 461\n\tSYS_CLONEFILEAT                    = 462\n\tSYS_OPENAT                         = 463\n\tSYS_OPENAT_NOCANCEL                = 464\n\tSYS_RENAMEAT                       = 465\n\tSYS_FACCESSAT                      = 466\n\tSYS_FCHMODAT                       = 467\n\tSYS_FCHOWNAT                       = 468\n\tSYS_FSTATAT                        = 469\n\tSYS_FSTATAT64                      = 470\n\tSYS_LINKAT                         = 471\n\tSYS_UNLINKAT                       = 472\n\tSYS_READLINKAT                     = 473\n\tSYS_SYMLINKAT                      = 474\n\tSYS_MKDIRAT                        = 475\n\tSYS_GETATTRLISTAT                  = 476\n\tSYS_PROC_TRACE_LOG                 = 477\n\tSYS_BSDTHREAD_CTL                  = 478\n\tSYS_OPENBYID_NP                    = 479\n\tSYS_RECVMSG_X                      = 480\n\tSYS_SENDMSG_X                      = 481\n\tSYS_THREAD_SELFUSAGE               = 482\n\tSYS_CSRCTL                         = 483\n\tSYS_GUARDED_OPEN_DPROTECTED_NP     = 484\n\tSYS_GUARDED_WRITE_NP               = 485\n\tSYS_GUARDED_PWRITE_NP              = 486\n\tSYS_GUARDED_WRITEV_NP              = 487\n\tSYS_RENAMEATX_NP                   = 488\n\tSYS_MREMAP_ENCRYPTED               = 489\n\tSYS_NETAGENT_TRIGGER               = 490\n\tSYS_STACK_SNAPSHOT_WITH_CONFIG     = 491\n\tSYS_MICROSTACKSHOT                 = 492\n\tSYS_GRAB_PGO_DATA                  = 493\n\tSYS_PERSONA                        = 494\n\tSYS_WORK_INTERVAL_CTL              = 499\n\tSYS_GETENTROPY                     = 500\n\tSYS_NECP_OPEN                      = 501\n\tSYS_NECP_CLIENT_ACTION             = 502\n\tSYS___NEXUS_OPEN                   = 503\n\tSYS___NEXUS_REGISTER               = 504\n\tSYS___NEXUS_DEREGISTER             = 505\n\tSYS___NEXUS_CREATE                 = 506\n\tSYS___NEXUS_DESTROY                = 507\n\tSYS___NEXUS_GET_OPT                = 508\n\tSYS___NEXUS_SET_OPT                = 509\n\tSYS___CHANNEL_OPEN                 = 510\n\tSYS___CHANNEL_GET_INFO             = 511\n\tSYS___CHANNEL_SYNC                 = 512\n\tSYS___CHANNEL_GET_OPT              = 513\n\tSYS___CHANNEL_SET_OPT              = 514\n\tSYS_ULOCK_WAIT                     = 515\n\tSYS_ULOCK_WAKE                     = 516\n\tSYS_FCLONEFILEAT                   = 517\n\tSYS_FS_SNAPSHOT                    = 518\n\tSYS_TERMINATE_WITH_PAYLOAD         = 520\n\tSYS_ABORT_WITH_PAYLOAD             = 521\n\tSYS_NECP_SESSION_OPEN              = 522\n\tSYS_NECP_SESSION_ACTION            = 523\n\tSYS_SETATTRLISTAT                  = 524\n\tSYS_NET_QOS_GUIDELINE              = 525\n\tSYS_FMOUNT                         = 526\n\tSYS_NTP_ADJTIME                    = 527\n\tSYS_NTP_GETTIME                    = 528\n\tSYS_OS_FAULT_WITH_PAYLOAD          = 529\n\tSYS_MAXSYSCALL                     = 530\n\tSYS_INVALID                        = 63\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go",
    "content": "// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,darwin\n\npackage unix\n\nconst (\n\tSYS_SYSCALL                        = 0\n\tSYS_EXIT                           = 1\n\tSYS_FORK                           = 2\n\tSYS_READ                           = 3\n\tSYS_WRITE                          = 4\n\tSYS_OPEN                           = 5\n\tSYS_CLOSE                          = 6\n\tSYS_WAIT4                          = 7\n\tSYS_LINK                           = 9\n\tSYS_UNLINK                         = 10\n\tSYS_CHDIR                          = 12\n\tSYS_FCHDIR                         = 13\n\tSYS_MKNOD                          = 14\n\tSYS_CHMOD                          = 15\n\tSYS_CHOWN                          = 16\n\tSYS_GETFSSTAT                      = 18\n\tSYS_GETPID                         = 20\n\tSYS_SETUID                         = 23\n\tSYS_GETUID                         = 24\n\tSYS_GETEUID                        = 25\n\tSYS_PTRACE                         = 26\n\tSYS_RECVMSG                        = 27\n\tSYS_SENDMSG                        = 28\n\tSYS_RECVFROM                       = 29\n\tSYS_ACCEPT                         = 30\n\tSYS_GETPEERNAME                    = 31\n\tSYS_GETSOCKNAME                    = 32\n\tSYS_ACCESS                         = 33\n\tSYS_CHFLAGS                        = 34\n\tSYS_FCHFLAGS                       = 35\n\tSYS_SYNC                           = 36\n\tSYS_KILL                           = 37\n\tSYS_GETPPID                        = 39\n\tSYS_DUP                            = 41\n\tSYS_PIPE                           = 42\n\tSYS_GETEGID                        = 43\n\tSYS_SIGACTION                      = 46\n\tSYS_GETGID                         = 47\n\tSYS_SIGPROCMASK                    = 48\n\tSYS_GETLOGIN                       = 49\n\tSYS_SETLOGIN                       = 50\n\tSYS_ACCT                           = 51\n\tSYS_SIGPENDING                     = 52\n\tSYS_SIGALTSTACK                    = 53\n\tSYS_IOCTL                          = 54\n\tSYS_REBOOT                         = 55\n\tSYS_REVOKE                         = 56\n\tSYS_SYMLINK                        = 57\n\tSYS_READLINK                       = 58\n\tSYS_EXECVE                         = 59\n\tSYS_UMASK                          = 60\n\tSYS_CHROOT                         = 61\n\tSYS_MSYNC                          = 65\n\tSYS_VFORK                          = 66\n\tSYS_MUNMAP                         = 73\n\tSYS_MPROTECT                       = 74\n\tSYS_MADVISE                        = 75\n\tSYS_MINCORE                        = 78\n\tSYS_GETGROUPS                      = 79\n\tSYS_SETGROUPS                      = 80\n\tSYS_GETPGRP                        = 81\n\tSYS_SETPGID                        = 82\n\tSYS_SETITIMER                      = 83\n\tSYS_SWAPON                         = 85\n\tSYS_GETITIMER                      = 86\n\tSYS_GETDTABLESIZE                  = 89\n\tSYS_DUP2                           = 90\n\tSYS_FCNTL                          = 92\n\tSYS_SELECT                         = 93\n\tSYS_FSYNC                          = 95\n\tSYS_SETPRIORITY                    = 96\n\tSYS_SOCKET                         = 97\n\tSYS_CONNECT                        = 98\n\tSYS_GETPRIORITY                    = 100\n\tSYS_BIND                           = 104\n\tSYS_SETSOCKOPT                     = 105\n\tSYS_LISTEN                         = 106\n\tSYS_SIGSUSPEND                     = 111\n\tSYS_GETTIMEOFDAY                   = 116\n\tSYS_GETRUSAGE                      = 117\n\tSYS_GETSOCKOPT                     = 118\n\tSYS_READV                          = 120\n\tSYS_WRITEV                         = 121\n\tSYS_SETTIMEOFDAY                   = 122\n\tSYS_FCHOWN                         = 123\n\tSYS_FCHMOD                         = 124\n\tSYS_SETREUID                       = 126\n\tSYS_SETREGID                       = 127\n\tSYS_RENAME                         = 128\n\tSYS_FLOCK                          = 131\n\tSYS_MKFIFO                         = 132\n\tSYS_SENDTO                         = 133\n\tSYS_SHUTDOWN                       = 134\n\tSYS_SOCKETPAIR                     = 135\n\tSYS_MKDIR                          = 136\n\tSYS_RMDIR                          = 137\n\tSYS_UTIMES                         = 138\n\tSYS_FUTIMES                        = 139\n\tSYS_ADJTIME                        = 140\n\tSYS_GETHOSTUUID                    = 142\n\tSYS_SETSID                         = 147\n\tSYS_GETPGID                        = 151\n\tSYS_SETPRIVEXEC                    = 152\n\tSYS_PREAD                          = 153\n\tSYS_PWRITE                         = 154\n\tSYS_NFSSVC                         = 155\n\tSYS_STATFS                         = 157\n\tSYS_FSTATFS                        = 158\n\tSYS_UNMOUNT                        = 159\n\tSYS_GETFH                          = 161\n\tSYS_QUOTACTL                       = 165\n\tSYS_MOUNT                          = 167\n\tSYS_CSOPS                          = 169\n\tSYS_CSOPS_AUDITTOKEN               = 170\n\tSYS_WAITID                         = 173\n\tSYS_KDEBUG_TYPEFILTER              = 177\n\tSYS_KDEBUG_TRACE_STRING            = 178\n\tSYS_KDEBUG_TRACE64                 = 179\n\tSYS_KDEBUG_TRACE                   = 180\n\tSYS_SETGID                         = 181\n\tSYS_SETEGID                        = 182\n\tSYS_SETEUID                        = 183\n\tSYS_SIGRETURN                      = 184\n\tSYS_THREAD_SELFCOUNTS              = 186\n\tSYS_FDATASYNC                      = 187\n\tSYS_STAT                           = 188\n\tSYS_FSTAT                          = 189\n\tSYS_LSTAT                          = 190\n\tSYS_PATHCONF                       = 191\n\tSYS_FPATHCONF                      = 192\n\tSYS_GETRLIMIT                      = 194\n\tSYS_SETRLIMIT                      = 195\n\tSYS_GETDIRENTRIES                  = 196\n\tSYS_MMAP                           = 197\n\tSYS_LSEEK                          = 199\n\tSYS_TRUNCATE                       = 200\n\tSYS_FTRUNCATE                      = 201\n\tSYS_SYSCTL                         = 202\n\tSYS_MLOCK                          = 203\n\tSYS_MUNLOCK                        = 204\n\tSYS_UNDELETE                       = 205\n\tSYS_OPEN_DPROTECTED_NP             = 216\n\tSYS_GETATTRLIST                    = 220\n\tSYS_SETATTRLIST                    = 221\n\tSYS_GETDIRENTRIESATTR              = 222\n\tSYS_EXCHANGEDATA                   = 223\n\tSYS_SEARCHFS                       = 225\n\tSYS_DELETE                         = 226\n\tSYS_COPYFILE                       = 227\n\tSYS_FGETATTRLIST                   = 228\n\tSYS_FSETATTRLIST                   = 229\n\tSYS_POLL                           = 230\n\tSYS_WATCHEVENT                     = 231\n\tSYS_WAITEVENT                      = 232\n\tSYS_MODWATCH                       = 233\n\tSYS_GETXATTR                       = 234\n\tSYS_FGETXATTR                      = 235\n\tSYS_SETXATTR                       = 236\n\tSYS_FSETXATTR                      = 237\n\tSYS_REMOVEXATTR                    = 238\n\tSYS_FREMOVEXATTR                   = 239\n\tSYS_LISTXATTR                      = 240\n\tSYS_FLISTXATTR                     = 241\n\tSYS_FSCTL                          = 242\n\tSYS_INITGROUPS                     = 243\n\tSYS_POSIX_SPAWN                    = 244\n\tSYS_FFSCTL                         = 245\n\tSYS_NFSCLNT                        = 247\n\tSYS_FHOPEN                         = 248\n\tSYS_MINHERIT                       = 250\n\tSYS_SEMSYS                         = 251\n\tSYS_MSGSYS                         = 252\n\tSYS_SHMSYS                         = 253\n\tSYS_SEMCTL                         = 254\n\tSYS_SEMGET                         = 255\n\tSYS_SEMOP                          = 256\n\tSYS_MSGCTL                         = 258\n\tSYS_MSGGET                         = 259\n\tSYS_MSGSND                         = 260\n\tSYS_MSGRCV                         = 261\n\tSYS_SHMAT                          = 262\n\tSYS_SHMCTL                         = 263\n\tSYS_SHMDT                          = 264\n\tSYS_SHMGET                         = 265\n\tSYS_SHM_OPEN                       = 266\n\tSYS_SHM_UNLINK                     = 267\n\tSYS_SEM_OPEN                       = 268\n\tSYS_SEM_CLOSE                      = 269\n\tSYS_SEM_UNLINK                     = 270\n\tSYS_SEM_WAIT                       = 271\n\tSYS_SEM_TRYWAIT                    = 272\n\tSYS_SEM_POST                       = 273\n\tSYS_SYSCTLBYNAME                   = 274\n\tSYS_OPEN_EXTENDED                  = 277\n\tSYS_UMASK_EXTENDED                 = 278\n\tSYS_STAT_EXTENDED                  = 279\n\tSYS_LSTAT_EXTENDED                 = 280\n\tSYS_FSTAT_EXTENDED                 = 281\n\tSYS_CHMOD_EXTENDED                 = 282\n\tSYS_FCHMOD_EXTENDED                = 283\n\tSYS_ACCESS_EXTENDED                = 284\n\tSYS_SETTID                         = 285\n\tSYS_GETTID                         = 286\n\tSYS_SETSGROUPS                     = 287\n\tSYS_GETSGROUPS                     = 288\n\tSYS_SETWGROUPS                     = 289\n\tSYS_GETWGROUPS                     = 290\n\tSYS_MKFIFO_EXTENDED                = 291\n\tSYS_MKDIR_EXTENDED                 = 292\n\tSYS_IDENTITYSVC                    = 293\n\tSYS_SHARED_REGION_CHECK_NP         = 294\n\tSYS_VM_PRESSURE_MONITOR            = 296\n\tSYS_PSYNCH_RW_LONGRDLOCK           = 297\n\tSYS_PSYNCH_RW_YIELDWRLOCK          = 298\n\tSYS_PSYNCH_RW_DOWNGRADE            = 299\n\tSYS_PSYNCH_RW_UPGRADE              = 300\n\tSYS_PSYNCH_MUTEXWAIT               = 301\n\tSYS_PSYNCH_MUTEXDROP               = 302\n\tSYS_PSYNCH_CVBROAD                 = 303\n\tSYS_PSYNCH_CVSIGNAL                = 304\n\tSYS_PSYNCH_CVWAIT                  = 305\n\tSYS_PSYNCH_RW_RDLOCK               = 306\n\tSYS_PSYNCH_RW_WRLOCK               = 307\n\tSYS_PSYNCH_RW_UNLOCK               = 308\n\tSYS_PSYNCH_RW_UNLOCK2              = 309\n\tSYS_GETSID                         = 310\n\tSYS_SETTID_WITH_PID                = 311\n\tSYS_PSYNCH_CVCLRPREPOST            = 312\n\tSYS_AIO_FSYNC                      = 313\n\tSYS_AIO_RETURN                     = 314\n\tSYS_AIO_SUSPEND                    = 315\n\tSYS_AIO_CANCEL                     = 316\n\tSYS_AIO_ERROR                      = 317\n\tSYS_AIO_READ                       = 318\n\tSYS_AIO_WRITE                      = 319\n\tSYS_LIO_LISTIO                     = 320\n\tSYS_IOPOLICYSYS                    = 322\n\tSYS_PROCESS_POLICY                 = 323\n\tSYS_MLOCKALL                       = 324\n\tSYS_MUNLOCKALL                     = 325\n\tSYS_ISSETUGID                      = 327\n\tSYS___PTHREAD_KILL                 = 328\n\tSYS___PTHREAD_SIGMASK              = 329\n\tSYS___SIGWAIT                      = 330\n\tSYS___DISABLE_THREADSIGNAL         = 331\n\tSYS___PTHREAD_MARKCANCEL           = 332\n\tSYS___PTHREAD_CANCELED             = 333\n\tSYS___SEMWAIT_SIGNAL               = 334\n\tSYS_PROC_INFO                      = 336\n\tSYS_SENDFILE                       = 337\n\tSYS_STAT64                         = 338\n\tSYS_FSTAT64                        = 339\n\tSYS_LSTAT64                        = 340\n\tSYS_STAT64_EXTENDED                = 341\n\tSYS_LSTAT64_EXTENDED               = 342\n\tSYS_FSTAT64_EXTENDED               = 343\n\tSYS_GETDIRENTRIES64                = 344\n\tSYS_STATFS64                       = 345\n\tSYS_FSTATFS64                      = 346\n\tSYS_GETFSSTAT64                    = 347\n\tSYS___PTHREAD_CHDIR                = 348\n\tSYS___PTHREAD_FCHDIR               = 349\n\tSYS_AUDIT                          = 350\n\tSYS_AUDITON                        = 351\n\tSYS_GETAUID                        = 353\n\tSYS_SETAUID                        = 354\n\tSYS_GETAUDIT_ADDR                  = 357\n\tSYS_SETAUDIT_ADDR                  = 358\n\tSYS_AUDITCTL                       = 359\n\tSYS_BSDTHREAD_CREATE               = 360\n\tSYS_BSDTHREAD_TERMINATE            = 361\n\tSYS_KQUEUE                         = 362\n\tSYS_KEVENT                         = 363\n\tSYS_LCHOWN                         = 364\n\tSYS_BSDTHREAD_REGISTER             = 366\n\tSYS_WORKQ_OPEN                     = 367\n\tSYS_WORKQ_KERNRETURN               = 368\n\tSYS_KEVENT64                       = 369\n\tSYS___OLD_SEMWAIT_SIGNAL           = 370\n\tSYS___OLD_SEMWAIT_SIGNAL_NOCANCEL  = 371\n\tSYS_THREAD_SELFID                  = 372\n\tSYS_LEDGER                         = 373\n\tSYS_KEVENT_QOS                     = 374\n\tSYS_KEVENT_ID                      = 375\n\tSYS___MAC_EXECVE                   = 380\n\tSYS___MAC_SYSCALL                  = 381\n\tSYS___MAC_GET_FILE                 = 382\n\tSYS___MAC_SET_FILE                 = 383\n\tSYS___MAC_GET_LINK                 = 384\n\tSYS___MAC_SET_LINK                 = 385\n\tSYS___MAC_GET_PROC                 = 386\n\tSYS___MAC_SET_PROC                 = 387\n\tSYS___MAC_GET_FD                   = 388\n\tSYS___MAC_SET_FD                   = 389\n\tSYS___MAC_GET_PID                  = 390\n\tSYS_PSELECT                        = 394\n\tSYS_PSELECT_NOCANCEL               = 395\n\tSYS_READ_NOCANCEL                  = 396\n\tSYS_WRITE_NOCANCEL                 = 397\n\tSYS_OPEN_NOCANCEL                  = 398\n\tSYS_CLOSE_NOCANCEL                 = 399\n\tSYS_WAIT4_NOCANCEL                 = 400\n\tSYS_RECVMSG_NOCANCEL               = 401\n\tSYS_SENDMSG_NOCANCEL               = 402\n\tSYS_RECVFROM_NOCANCEL              = 403\n\tSYS_ACCEPT_NOCANCEL                = 404\n\tSYS_MSYNC_NOCANCEL                 = 405\n\tSYS_FCNTL_NOCANCEL                 = 406\n\tSYS_SELECT_NOCANCEL                = 407\n\tSYS_FSYNC_NOCANCEL                 = 408\n\tSYS_CONNECT_NOCANCEL               = 409\n\tSYS_SIGSUSPEND_NOCANCEL            = 410\n\tSYS_READV_NOCANCEL                 = 411\n\tSYS_WRITEV_NOCANCEL                = 412\n\tSYS_SENDTO_NOCANCEL                = 413\n\tSYS_PREAD_NOCANCEL                 = 414\n\tSYS_PWRITE_NOCANCEL                = 415\n\tSYS_WAITID_NOCANCEL                = 416\n\tSYS_POLL_NOCANCEL                  = 417\n\tSYS_MSGSND_NOCANCEL                = 418\n\tSYS_MSGRCV_NOCANCEL                = 419\n\tSYS_SEM_WAIT_NOCANCEL              = 420\n\tSYS_AIO_SUSPEND_NOCANCEL           = 421\n\tSYS___SIGWAIT_NOCANCEL             = 422\n\tSYS___SEMWAIT_SIGNAL_NOCANCEL      = 423\n\tSYS___MAC_MOUNT                    = 424\n\tSYS___MAC_GET_MOUNT                = 425\n\tSYS___MAC_GETFSSTAT                = 426\n\tSYS_FSGETPATH                      = 427\n\tSYS_AUDIT_SESSION_SELF             = 428\n\tSYS_AUDIT_SESSION_JOIN             = 429\n\tSYS_FILEPORT_MAKEPORT              = 430\n\tSYS_FILEPORT_MAKEFD                = 431\n\tSYS_AUDIT_SESSION_PORT             = 432\n\tSYS_PID_SUSPEND                    = 433\n\tSYS_PID_RESUME                     = 434\n\tSYS_PID_HIBERNATE                  = 435\n\tSYS_PID_SHUTDOWN_SOCKETS           = 436\n\tSYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438\n\tSYS_KAS_INFO                       = 439\n\tSYS_MEMORYSTATUS_CONTROL           = 440\n\tSYS_GUARDED_OPEN_NP                = 441\n\tSYS_GUARDED_CLOSE_NP               = 442\n\tSYS_GUARDED_KQUEUE_NP              = 443\n\tSYS_CHANGE_FDGUARD_NP              = 444\n\tSYS_USRCTL                         = 445\n\tSYS_PROC_RLIMIT_CONTROL            = 446\n\tSYS_CONNECTX                       = 447\n\tSYS_DISCONNECTX                    = 448\n\tSYS_PEELOFF                        = 449\n\tSYS_SOCKET_DELEGATE                = 450\n\tSYS_TELEMETRY                      = 451\n\tSYS_PROC_UUID_POLICY               = 452\n\tSYS_MEMORYSTATUS_GET_LEVEL         = 453\n\tSYS_SYSTEM_OVERRIDE                = 454\n\tSYS_VFS_PURGE                      = 455\n\tSYS_SFI_CTL                        = 456\n\tSYS_SFI_PIDCTL                     = 457\n\tSYS_COALITION                      = 458\n\tSYS_COALITION_INFO                 = 459\n\tSYS_NECP_MATCH_POLICY              = 460\n\tSYS_GETATTRLISTBULK                = 461\n\tSYS_CLONEFILEAT                    = 462\n\tSYS_OPENAT                         = 463\n\tSYS_OPENAT_NOCANCEL                = 464\n\tSYS_RENAMEAT                       = 465\n\tSYS_FACCESSAT                      = 466\n\tSYS_FCHMODAT                       = 467\n\tSYS_FCHOWNAT                       = 468\n\tSYS_FSTATAT                        = 469\n\tSYS_FSTATAT64                      = 470\n\tSYS_LINKAT                         = 471\n\tSYS_UNLINKAT                       = 472\n\tSYS_READLINKAT                     = 473\n\tSYS_SYMLINKAT                      = 474\n\tSYS_MKDIRAT                        = 475\n\tSYS_GETATTRLISTAT                  = 476\n\tSYS_PROC_TRACE_LOG                 = 477\n\tSYS_BSDTHREAD_CTL                  = 478\n\tSYS_OPENBYID_NP                    = 479\n\tSYS_RECVMSG_X                      = 480\n\tSYS_SENDMSG_X                      = 481\n\tSYS_THREAD_SELFUSAGE               = 482\n\tSYS_CSRCTL                         = 483\n\tSYS_GUARDED_OPEN_DPROTECTED_NP     = 484\n\tSYS_GUARDED_WRITE_NP               = 485\n\tSYS_GUARDED_PWRITE_NP              = 486\n\tSYS_GUARDED_WRITEV_NP              = 487\n\tSYS_RENAMEATX_NP                   = 488\n\tSYS_MREMAP_ENCRYPTED               = 489\n\tSYS_NETAGENT_TRIGGER               = 490\n\tSYS_STACK_SNAPSHOT_WITH_CONFIG     = 491\n\tSYS_MICROSTACKSHOT                 = 492\n\tSYS_GRAB_PGO_DATA                  = 493\n\tSYS_PERSONA                        = 494\n\tSYS_WORK_INTERVAL_CTL              = 499\n\tSYS_GETENTROPY                     = 500\n\tSYS_NECP_OPEN                      = 501\n\tSYS_NECP_CLIENT_ACTION             = 502\n\tSYS___NEXUS_OPEN                   = 503\n\tSYS___NEXUS_REGISTER               = 504\n\tSYS___NEXUS_DEREGISTER             = 505\n\tSYS___NEXUS_CREATE                 = 506\n\tSYS___NEXUS_DESTROY                = 507\n\tSYS___NEXUS_GET_OPT                = 508\n\tSYS___NEXUS_SET_OPT                = 509\n\tSYS___CHANNEL_OPEN                 = 510\n\tSYS___CHANNEL_GET_INFO             = 511\n\tSYS___CHANNEL_SYNC                 = 512\n\tSYS___CHANNEL_GET_OPT              = 513\n\tSYS___CHANNEL_SET_OPT              = 514\n\tSYS_ULOCK_WAIT                     = 515\n\tSYS_ULOCK_WAKE                     = 516\n\tSYS_FCLONEFILEAT                   = 517\n\tSYS_FS_SNAPSHOT                    = 518\n\tSYS_TERMINATE_WITH_PAYLOAD         = 520\n\tSYS_ABORT_WITH_PAYLOAD             = 521\n\tSYS_NECP_SESSION_OPEN              = 522\n\tSYS_NECP_SESSION_ACTION            = 523\n\tSYS_SETATTRLISTAT                  = 524\n\tSYS_NET_QOS_GUIDELINE              = 525\n\tSYS_FMOUNT                         = 526\n\tSYS_NTP_ADJTIME                    = 527\n\tSYS_NTP_GETTIME                    = 528\n\tSYS_OS_FAULT_WITH_PAYLOAD          = 529\n\tSYS_MAXSYSCALL                     = 530\n\tSYS_INVALID                        = 63\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go",
    "content": "// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm64,darwin\n\npackage unix\n\nconst (\n\tSYS_SYSCALL                        = 0\n\tSYS_EXIT                           = 1\n\tSYS_FORK                           = 2\n\tSYS_READ                           = 3\n\tSYS_WRITE                          = 4\n\tSYS_OPEN                           = 5\n\tSYS_CLOSE                          = 6\n\tSYS_WAIT4                          = 7\n\tSYS_LINK                           = 9\n\tSYS_UNLINK                         = 10\n\tSYS_CHDIR                          = 12\n\tSYS_FCHDIR                         = 13\n\tSYS_MKNOD                          = 14\n\tSYS_CHMOD                          = 15\n\tSYS_CHOWN                          = 16\n\tSYS_GETFSSTAT                      = 18\n\tSYS_GETPID                         = 20\n\tSYS_SETUID                         = 23\n\tSYS_GETUID                         = 24\n\tSYS_GETEUID                        = 25\n\tSYS_PTRACE                         = 26\n\tSYS_RECVMSG                        = 27\n\tSYS_SENDMSG                        = 28\n\tSYS_RECVFROM                       = 29\n\tSYS_ACCEPT                         = 30\n\tSYS_GETPEERNAME                    = 31\n\tSYS_GETSOCKNAME                    = 32\n\tSYS_ACCESS                         = 33\n\tSYS_CHFLAGS                        = 34\n\tSYS_FCHFLAGS                       = 35\n\tSYS_SYNC                           = 36\n\tSYS_KILL                           = 37\n\tSYS_GETPPID                        = 39\n\tSYS_DUP                            = 41\n\tSYS_PIPE                           = 42\n\tSYS_GETEGID                        = 43\n\tSYS_SIGACTION                      = 46\n\tSYS_GETGID                         = 47\n\tSYS_SIGPROCMASK                    = 48\n\tSYS_GETLOGIN                       = 49\n\tSYS_SETLOGIN                       = 50\n\tSYS_ACCT                           = 51\n\tSYS_SIGPENDING                     = 52\n\tSYS_SIGALTSTACK                    = 53\n\tSYS_IOCTL                          = 54\n\tSYS_REBOOT                         = 55\n\tSYS_REVOKE                         = 56\n\tSYS_SYMLINK                        = 57\n\tSYS_READLINK                       = 58\n\tSYS_EXECVE                         = 59\n\tSYS_UMASK                          = 60\n\tSYS_CHROOT                         = 61\n\tSYS_MSYNC                          = 65\n\tSYS_VFORK                          = 66\n\tSYS_MUNMAP                         = 73\n\tSYS_MPROTECT                       = 74\n\tSYS_MADVISE                        = 75\n\tSYS_MINCORE                        = 78\n\tSYS_GETGROUPS                      = 79\n\tSYS_SETGROUPS                      = 80\n\tSYS_GETPGRP                        = 81\n\tSYS_SETPGID                        = 82\n\tSYS_SETITIMER                      = 83\n\tSYS_SWAPON                         = 85\n\tSYS_GETITIMER                      = 86\n\tSYS_GETDTABLESIZE                  = 89\n\tSYS_DUP2                           = 90\n\tSYS_FCNTL                          = 92\n\tSYS_SELECT                         = 93\n\tSYS_FSYNC                          = 95\n\tSYS_SETPRIORITY                    = 96\n\tSYS_SOCKET                         = 97\n\tSYS_CONNECT                        = 98\n\tSYS_GETPRIORITY                    = 100\n\tSYS_BIND                           = 104\n\tSYS_SETSOCKOPT                     = 105\n\tSYS_LISTEN                         = 106\n\tSYS_SIGSUSPEND                     = 111\n\tSYS_GETTIMEOFDAY                   = 116\n\tSYS_GETRUSAGE                      = 117\n\tSYS_GETSOCKOPT                     = 118\n\tSYS_READV                          = 120\n\tSYS_WRITEV                         = 121\n\tSYS_SETTIMEOFDAY                   = 122\n\tSYS_FCHOWN                         = 123\n\tSYS_FCHMOD                         = 124\n\tSYS_SETREUID                       = 126\n\tSYS_SETREGID                       = 127\n\tSYS_RENAME                         = 128\n\tSYS_FLOCK                          = 131\n\tSYS_MKFIFO                         = 132\n\tSYS_SENDTO                         = 133\n\tSYS_SHUTDOWN                       = 134\n\tSYS_SOCKETPAIR                     = 135\n\tSYS_MKDIR                          = 136\n\tSYS_RMDIR                          = 137\n\tSYS_UTIMES                         = 138\n\tSYS_FUTIMES                        = 139\n\tSYS_ADJTIME                        = 140\n\tSYS_GETHOSTUUID                    = 142\n\tSYS_SETSID                         = 147\n\tSYS_GETPGID                        = 151\n\tSYS_SETPRIVEXEC                    = 152\n\tSYS_PREAD                          = 153\n\tSYS_PWRITE                         = 154\n\tSYS_NFSSVC                         = 155\n\tSYS_STATFS                         = 157\n\tSYS_FSTATFS                        = 158\n\tSYS_UNMOUNT                        = 159\n\tSYS_GETFH                          = 161\n\tSYS_QUOTACTL                       = 165\n\tSYS_MOUNT                          = 167\n\tSYS_CSOPS                          = 169\n\tSYS_CSOPS_AUDITTOKEN               = 170\n\tSYS_WAITID                         = 173\n\tSYS_KDEBUG_TYPEFILTER              = 177\n\tSYS_KDEBUG_TRACE_STRING            = 178\n\tSYS_KDEBUG_TRACE64                 = 179\n\tSYS_KDEBUG_TRACE                   = 180\n\tSYS_SETGID                         = 181\n\tSYS_SETEGID                        = 182\n\tSYS_SETEUID                        = 183\n\tSYS_SIGRETURN                      = 184\n\tSYS_THREAD_SELFCOUNTS              = 186\n\tSYS_FDATASYNC                      = 187\n\tSYS_STAT                           = 188\n\tSYS_FSTAT                          = 189\n\tSYS_LSTAT                          = 190\n\tSYS_PATHCONF                       = 191\n\tSYS_FPATHCONF                      = 192\n\tSYS_GETRLIMIT                      = 194\n\tSYS_SETRLIMIT                      = 195\n\tSYS_GETDIRENTRIES                  = 196\n\tSYS_MMAP                           = 197\n\tSYS_LSEEK                          = 199\n\tSYS_TRUNCATE                       = 200\n\tSYS_FTRUNCATE                      = 201\n\tSYS_SYSCTL                         = 202\n\tSYS_MLOCK                          = 203\n\tSYS_MUNLOCK                        = 204\n\tSYS_UNDELETE                       = 205\n\tSYS_OPEN_DPROTECTED_NP             = 216\n\tSYS_GETATTRLIST                    = 220\n\tSYS_SETATTRLIST                    = 221\n\tSYS_GETDIRENTRIESATTR              = 222\n\tSYS_EXCHANGEDATA                   = 223\n\tSYS_SEARCHFS                       = 225\n\tSYS_DELETE                         = 226\n\tSYS_COPYFILE                       = 227\n\tSYS_FGETATTRLIST                   = 228\n\tSYS_FSETATTRLIST                   = 229\n\tSYS_POLL                           = 230\n\tSYS_WATCHEVENT                     = 231\n\tSYS_WAITEVENT                      = 232\n\tSYS_MODWATCH                       = 233\n\tSYS_GETXATTR                       = 234\n\tSYS_FGETXATTR                      = 235\n\tSYS_SETXATTR                       = 236\n\tSYS_FSETXATTR                      = 237\n\tSYS_REMOVEXATTR                    = 238\n\tSYS_FREMOVEXATTR                   = 239\n\tSYS_LISTXATTR                      = 240\n\tSYS_FLISTXATTR                     = 241\n\tSYS_FSCTL                          = 242\n\tSYS_INITGROUPS                     = 243\n\tSYS_POSIX_SPAWN                    = 244\n\tSYS_FFSCTL                         = 245\n\tSYS_NFSCLNT                        = 247\n\tSYS_FHOPEN                         = 248\n\tSYS_MINHERIT                       = 250\n\tSYS_SEMSYS                         = 251\n\tSYS_MSGSYS                         = 252\n\tSYS_SHMSYS                         = 253\n\tSYS_SEMCTL                         = 254\n\tSYS_SEMGET                         = 255\n\tSYS_SEMOP                          = 256\n\tSYS_MSGCTL                         = 258\n\tSYS_MSGGET                         = 259\n\tSYS_MSGSND                         = 260\n\tSYS_MSGRCV                         = 261\n\tSYS_SHMAT                          = 262\n\tSYS_SHMCTL                         = 263\n\tSYS_SHMDT                          = 264\n\tSYS_SHMGET                         = 265\n\tSYS_SHM_OPEN                       = 266\n\tSYS_SHM_UNLINK                     = 267\n\tSYS_SEM_OPEN                       = 268\n\tSYS_SEM_CLOSE                      = 269\n\tSYS_SEM_UNLINK                     = 270\n\tSYS_SEM_WAIT                       = 271\n\tSYS_SEM_TRYWAIT                    = 272\n\tSYS_SEM_POST                       = 273\n\tSYS_SYSCTLBYNAME                   = 274\n\tSYS_OPEN_EXTENDED                  = 277\n\tSYS_UMASK_EXTENDED                 = 278\n\tSYS_STAT_EXTENDED                  = 279\n\tSYS_LSTAT_EXTENDED                 = 280\n\tSYS_FSTAT_EXTENDED                 = 281\n\tSYS_CHMOD_EXTENDED                 = 282\n\tSYS_FCHMOD_EXTENDED                = 283\n\tSYS_ACCESS_EXTENDED                = 284\n\tSYS_SETTID                         = 285\n\tSYS_GETTID                         = 286\n\tSYS_SETSGROUPS                     = 287\n\tSYS_GETSGROUPS                     = 288\n\tSYS_SETWGROUPS                     = 289\n\tSYS_GETWGROUPS                     = 290\n\tSYS_MKFIFO_EXTENDED                = 291\n\tSYS_MKDIR_EXTENDED                 = 292\n\tSYS_IDENTITYSVC                    = 293\n\tSYS_SHARED_REGION_CHECK_NP         = 294\n\tSYS_VM_PRESSURE_MONITOR            = 296\n\tSYS_PSYNCH_RW_LONGRDLOCK           = 297\n\tSYS_PSYNCH_RW_YIELDWRLOCK          = 298\n\tSYS_PSYNCH_RW_DOWNGRADE            = 299\n\tSYS_PSYNCH_RW_UPGRADE              = 300\n\tSYS_PSYNCH_MUTEXWAIT               = 301\n\tSYS_PSYNCH_MUTEXDROP               = 302\n\tSYS_PSYNCH_CVBROAD                 = 303\n\tSYS_PSYNCH_CVSIGNAL                = 304\n\tSYS_PSYNCH_CVWAIT                  = 305\n\tSYS_PSYNCH_RW_RDLOCK               = 306\n\tSYS_PSYNCH_RW_WRLOCK               = 307\n\tSYS_PSYNCH_RW_UNLOCK               = 308\n\tSYS_PSYNCH_RW_UNLOCK2              = 309\n\tSYS_GETSID                         = 310\n\tSYS_SETTID_WITH_PID                = 311\n\tSYS_PSYNCH_CVCLRPREPOST            = 312\n\tSYS_AIO_FSYNC                      = 313\n\tSYS_AIO_RETURN                     = 314\n\tSYS_AIO_SUSPEND                    = 315\n\tSYS_AIO_CANCEL                     = 316\n\tSYS_AIO_ERROR                      = 317\n\tSYS_AIO_READ                       = 318\n\tSYS_AIO_WRITE                      = 319\n\tSYS_LIO_LISTIO                     = 320\n\tSYS_IOPOLICYSYS                    = 322\n\tSYS_PROCESS_POLICY                 = 323\n\tSYS_MLOCKALL                       = 324\n\tSYS_MUNLOCKALL                     = 325\n\tSYS_ISSETUGID                      = 327\n\tSYS___PTHREAD_KILL                 = 328\n\tSYS___PTHREAD_SIGMASK              = 329\n\tSYS___SIGWAIT                      = 330\n\tSYS___DISABLE_THREADSIGNAL         = 331\n\tSYS___PTHREAD_MARKCANCEL           = 332\n\tSYS___PTHREAD_CANCELED             = 333\n\tSYS___SEMWAIT_SIGNAL               = 334\n\tSYS_PROC_INFO                      = 336\n\tSYS_SENDFILE                       = 337\n\tSYS_STAT64                         = 338\n\tSYS_FSTAT64                        = 339\n\tSYS_LSTAT64                        = 340\n\tSYS_STAT64_EXTENDED                = 341\n\tSYS_LSTAT64_EXTENDED               = 342\n\tSYS_FSTAT64_EXTENDED               = 343\n\tSYS_GETDIRENTRIES64                = 344\n\tSYS_STATFS64                       = 345\n\tSYS_FSTATFS64                      = 346\n\tSYS_GETFSSTAT64                    = 347\n\tSYS___PTHREAD_CHDIR                = 348\n\tSYS___PTHREAD_FCHDIR               = 349\n\tSYS_AUDIT                          = 350\n\tSYS_AUDITON                        = 351\n\tSYS_GETAUID                        = 353\n\tSYS_SETAUID                        = 354\n\tSYS_GETAUDIT_ADDR                  = 357\n\tSYS_SETAUDIT_ADDR                  = 358\n\tSYS_AUDITCTL                       = 359\n\tSYS_BSDTHREAD_CREATE               = 360\n\tSYS_BSDTHREAD_TERMINATE            = 361\n\tSYS_KQUEUE                         = 362\n\tSYS_KEVENT                         = 363\n\tSYS_LCHOWN                         = 364\n\tSYS_BSDTHREAD_REGISTER             = 366\n\tSYS_WORKQ_OPEN                     = 367\n\tSYS_WORKQ_KERNRETURN               = 368\n\tSYS_KEVENT64                       = 369\n\tSYS___OLD_SEMWAIT_SIGNAL           = 370\n\tSYS___OLD_SEMWAIT_SIGNAL_NOCANCEL  = 371\n\tSYS_THREAD_SELFID                  = 372\n\tSYS_LEDGER                         = 373\n\tSYS_KEVENT_QOS                     = 374\n\tSYS_KEVENT_ID                      = 375\n\tSYS___MAC_EXECVE                   = 380\n\tSYS___MAC_SYSCALL                  = 381\n\tSYS___MAC_GET_FILE                 = 382\n\tSYS___MAC_SET_FILE                 = 383\n\tSYS___MAC_GET_LINK                 = 384\n\tSYS___MAC_SET_LINK                 = 385\n\tSYS___MAC_GET_PROC                 = 386\n\tSYS___MAC_SET_PROC                 = 387\n\tSYS___MAC_GET_FD                   = 388\n\tSYS___MAC_SET_FD                   = 389\n\tSYS___MAC_GET_PID                  = 390\n\tSYS_PSELECT                        = 394\n\tSYS_PSELECT_NOCANCEL               = 395\n\tSYS_READ_NOCANCEL                  = 396\n\tSYS_WRITE_NOCANCEL                 = 397\n\tSYS_OPEN_NOCANCEL                  = 398\n\tSYS_CLOSE_NOCANCEL                 = 399\n\tSYS_WAIT4_NOCANCEL                 = 400\n\tSYS_RECVMSG_NOCANCEL               = 401\n\tSYS_SENDMSG_NOCANCEL               = 402\n\tSYS_RECVFROM_NOCANCEL              = 403\n\tSYS_ACCEPT_NOCANCEL                = 404\n\tSYS_MSYNC_NOCANCEL                 = 405\n\tSYS_FCNTL_NOCANCEL                 = 406\n\tSYS_SELECT_NOCANCEL                = 407\n\tSYS_FSYNC_NOCANCEL                 = 408\n\tSYS_CONNECT_NOCANCEL               = 409\n\tSYS_SIGSUSPEND_NOCANCEL            = 410\n\tSYS_READV_NOCANCEL                 = 411\n\tSYS_WRITEV_NOCANCEL                = 412\n\tSYS_SENDTO_NOCANCEL                = 413\n\tSYS_PREAD_NOCANCEL                 = 414\n\tSYS_PWRITE_NOCANCEL                = 415\n\tSYS_WAITID_NOCANCEL                = 416\n\tSYS_POLL_NOCANCEL                  = 417\n\tSYS_MSGSND_NOCANCEL                = 418\n\tSYS_MSGRCV_NOCANCEL                = 419\n\tSYS_SEM_WAIT_NOCANCEL              = 420\n\tSYS_AIO_SUSPEND_NOCANCEL           = 421\n\tSYS___SIGWAIT_NOCANCEL             = 422\n\tSYS___SEMWAIT_SIGNAL_NOCANCEL      = 423\n\tSYS___MAC_MOUNT                    = 424\n\tSYS___MAC_GET_MOUNT                = 425\n\tSYS___MAC_GETFSSTAT                = 426\n\tSYS_FSGETPATH                      = 427\n\tSYS_AUDIT_SESSION_SELF             = 428\n\tSYS_AUDIT_SESSION_JOIN             = 429\n\tSYS_FILEPORT_MAKEPORT              = 430\n\tSYS_FILEPORT_MAKEFD                = 431\n\tSYS_AUDIT_SESSION_PORT             = 432\n\tSYS_PID_SUSPEND                    = 433\n\tSYS_PID_RESUME                     = 434\n\tSYS_PID_HIBERNATE                  = 435\n\tSYS_PID_SHUTDOWN_SOCKETS           = 436\n\tSYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438\n\tSYS_KAS_INFO                       = 439\n\tSYS_MEMORYSTATUS_CONTROL           = 440\n\tSYS_GUARDED_OPEN_NP                = 441\n\tSYS_GUARDED_CLOSE_NP               = 442\n\tSYS_GUARDED_KQUEUE_NP              = 443\n\tSYS_CHANGE_FDGUARD_NP              = 444\n\tSYS_USRCTL                         = 445\n\tSYS_PROC_RLIMIT_CONTROL            = 446\n\tSYS_CONNECTX                       = 447\n\tSYS_DISCONNECTX                    = 448\n\tSYS_PEELOFF                        = 449\n\tSYS_SOCKET_DELEGATE                = 450\n\tSYS_TELEMETRY                      = 451\n\tSYS_PROC_UUID_POLICY               = 452\n\tSYS_MEMORYSTATUS_GET_LEVEL         = 453\n\tSYS_SYSTEM_OVERRIDE                = 454\n\tSYS_VFS_PURGE                      = 455\n\tSYS_SFI_CTL                        = 456\n\tSYS_SFI_PIDCTL                     = 457\n\tSYS_COALITION                      = 458\n\tSYS_COALITION_INFO                 = 459\n\tSYS_NECP_MATCH_POLICY              = 460\n\tSYS_GETATTRLISTBULK                = 461\n\tSYS_CLONEFILEAT                    = 462\n\tSYS_OPENAT                         = 463\n\tSYS_OPENAT_NOCANCEL                = 464\n\tSYS_RENAMEAT                       = 465\n\tSYS_FACCESSAT                      = 466\n\tSYS_FCHMODAT                       = 467\n\tSYS_FCHOWNAT                       = 468\n\tSYS_FSTATAT                        = 469\n\tSYS_FSTATAT64                      = 470\n\tSYS_LINKAT                         = 471\n\tSYS_UNLINKAT                       = 472\n\tSYS_READLINKAT                     = 473\n\tSYS_SYMLINKAT                      = 474\n\tSYS_MKDIRAT                        = 475\n\tSYS_GETATTRLISTAT                  = 476\n\tSYS_PROC_TRACE_LOG                 = 477\n\tSYS_BSDTHREAD_CTL                  = 478\n\tSYS_OPENBYID_NP                    = 479\n\tSYS_RECVMSG_X                      = 480\n\tSYS_SENDMSG_X                      = 481\n\tSYS_THREAD_SELFUSAGE               = 482\n\tSYS_CSRCTL                         = 483\n\tSYS_GUARDED_OPEN_DPROTECTED_NP     = 484\n\tSYS_GUARDED_WRITE_NP               = 485\n\tSYS_GUARDED_PWRITE_NP              = 486\n\tSYS_GUARDED_WRITEV_NP              = 487\n\tSYS_RENAMEATX_NP                   = 488\n\tSYS_MREMAP_ENCRYPTED               = 489\n\tSYS_NETAGENT_TRIGGER               = 490\n\tSYS_STACK_SNAPSHOT_WITH_CONFIG     = 491\n\tSYS_MICROSTACKSHOT                 = 492\n\tSYS_GRAB_PGO_DATA                  = 493\n\tSYS_PERSONA                        = 494\n\tSYS_WORK_INTERVAL_CTL              = 499\n\tSYS_GETENTROPY                     = 500\n\tSYS_NECP_OPEN                      = 501\n\tSYS_NECP_CLIENT_ACTION             = 502\n\tSYS___NEXUS_OPEN                   = 503\n\tSYS___NEXUS_REGISTER               = 504\n\tSYS___NEXUS_DEREGISTER             = 505\n\tSYS___NEXUS_CREATE                 = 506\n\tSYS___NEXUS_DESTROY                = 507\n\tSYS___NEXUS_GET_OPT                = 508\n\tSYS___NEXUS_SET_OPT                = 509\n\tSYS___CHANNEL_OPEN                 = 510\n\tSYS___CHANNEL_GET_INFO             = 511\n\tSYS___CHANNEL_SYNC                 = 512\n\tSYS___CHANNEL_GET_OPT              = 513\n\tSYS___CHANNEL_SET_OPT              = 514\n\tSYS_ULOCK_WAIT                     = 515\n\tSYS_ULOCK_WAKE                     = 516\n\tSYS_FCLONEFILEAT                   = 517\n\tSYS_FS_SNAPSHOT                    = 518\n\tSYS_TERMINATE_WITH_PAYLOAD         = 520\n\tSYS_ABORT_WITH_PAYLOAD             = 521\n\tSYS_NECP_SESSION_OPEN              = 522\n\tSYS_NECP_SESSION_ACTION            = 523\n\tSYS_SETATTRLISTAT                  = 524\n\tSYS_NET_QOS_GUIDELINE              = 525\n\tSYS_FMOUNT                         = 526\n\tSYS_NTP_ADJTIME                    = 527\n\tSYS_NTP_GETTIME                    = 528\n\tSYS_OS_FAULT_WITH_PAYLOAD          = 529\n\tSYS_MAXSYSCALL                     = 530\n\tSYS_INVALID                        = 63\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go",
    "content": "// mksysnum_dragonfly.pl\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,dragonfly\n\npackage unix\n\nconst (\n\t// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int\n\tSYS_EXIT          = 1   // { void exit(int rval); }\n\tSYS_FORK          = 2   // { int fork(void); }\n\tSYS_READ          = 3   // { ssize_t read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE         = 4   // { ssize_t write(int fd, const void *buf, size_t nbyte); }\n\tSYS_OPEN          = 5   // { int open(char *path, int flags, int mode); }\n\tSYS_CLOSE         = 6   // { int close(int fd); }\n\tSYS_WAIT4         = 7   // { int wait4(int pid, int *status, int options, \\\n\tSYS_LINK          = 9   // { int link(char *path, char *link); }\n\tSYS_UNLINK        = 10  // { int unlink(char *path); }\n\tSYS_CHDIR         = 12  // { int chdir(char *path); }\n\tSYS_FCHDIR        = 13  // { int fchdir(int fd); }\n\tSYS_MKNOD         = 14  // { int mknod(char *path, int mode, int dev); }\n\tSYS_CHMOD         = 15  // { int chmod(char *path, int mode); }\n\tSYS_CHOWN         = 16  // { int chown(char *path, int uid, int gid); }\n\tSYS_OBREAK        = 17  // { int obreak(char *nsize); } break obreak_args int\n\tSYS_GETFSSTAT     = 18  // { int getfsstat(struct statfs *buf, long bufsize, \\\n\tSYS_GETPID        = 20  // { pid_t getpid(void); }\n\tSYS_MOUNT         = 21  // { int mount(char *type, char *path, int flags, \\\n\tSYS_UNMOUNT       = 22  // { int unmount(char *path, int flags); }\n\tSYS_SETUID        = 23  // { int setuid(uid_t uid); }\n\tSYS_GETUID        = 24  // { uid_t getuid(void); }\n\tSYS_GETEUID       = 25  // { uid_t geteuid(void); }\n\tSYS_PTRACE        = 26  // { int ptrace(int req, pid_t pid, caddr_t addr, \\\n\tSYS_RECVMSG       = 27  // { int recvmsg(int s, struct msghdr *msg, int flags); }\n\tSYS_SENDMSG       = 28  // { int sendmsg(int s, caddr_t msg, int flags); }\n\tSYS_RECVFROM      = 29  // { int recvfrom(int s, caddr_t buf, size_t len, \\\n\tSYS_ACCEPT        = 30  // { int accept(int s, caddr_t name, int *anamelen); }\n\tSYS_GETPEERNAME   = 31  // { int getpeername(int fdes, caddr_t asa, int *alen); }\n\tSYS_GETSOCKNAME   = 32  // { int getsockname(int fdes, caddr_t asa, int *alen); }\n\tSYS_ACCESS        = 33  // { int access(char *path, int flags); }\n\tSYS_CHFLAGS       = 34  // { int chflags(char *path, int flags); }\n\tSYS_FCHFLAGS      = 35  // { int fchflags(int fd, int flags); }\n\tSYS_SYNC          = 36  // { int sync(void); }\n\tSYS_KILL          = 37  // { int kill(int pid, int signum); }\n\tSYS_GETPPID       = 39  // { pid_t getppid(void); }\n\tSYS_DUP           = 41  // { int dup(int fd); }\n\tSYS_PIPE          = 42  // { int pipe(void); }\n\tSYS_GETEGID       = 43  // { gid_t getegid(void); }\n\tSYS_PROFIL        = 44  // { int profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE        = 45  // { int ktrace(const char *fname, int ops, int facs, \\\n\tSYS_GETGID        = 47  // { gid_t getgid(void); }\n\tSYS_GETLOGIN      = 49  // { int getlogin(char *namebuf, u_int namelen); }\n\tSYS_SETLOGIN      = 50  // { int setlogin(char *namebuf); }\n\tSYS_ACCT          = 51  // { int acct(char *path); }\n\tSYS_SIGALTSTACK   = 53  // { int sigaltstack(stack_t *ss, stack_t *oss); }\n\tSYS_IOCTL         = 54  // { int ioctl(int fd, u_long com, caddr_t data); }\n\tSYS_REBOOT        = 55  // { int reboot(int opt); }\n\tSYS_REVOKE        = 56  // { int revoke(char *path); }\n\tSYS_SYMLINK       = 57  // { int symlink(char *path, char *link); }\n\tSYS_READLINK      = 58  // { int readlink(char *path, char *buf, int count); }\n\tSYS_EXECVE        = 59  // { int execve(char *fname, char **argv, char **envv); }\n\tSYS_UMASK         = 60  // { int umask(int newmask); } umask umask_args int\n\tSYS_CHROOT        = 61  // { int chroot(char *path); }\n\tSYS_MSYNC         = 65  // { int msync(void *addr, size_t len, int flags); }\n\tSYS_VFORK         = 66  // { pid_t vfork(void); }\n\tSYS_SBRK          = 69  // { int sbrk(int incr); }\n\tSYS_SSTK          = 70  // { int sstk(int incr); }\n\tSYS_MUNMAP        = 73  // { int munmap(void *addr, size_t len); }\n\tSYS_MPROTECT      = 74  // { int mprotect(void *addr, size_t len, int prot); }\n\tSYS_MADVISE       = 75  // { int madvise(void *addr, size_t len, int behav); }\n\tSYS_MINCORE       = 78  // { int mincore(const void *addr, size_t len, \\\n\tSYS_GETGROUPS     = 79  // { int getgroups(u_int gidsetsize, gid_t *gidset); }\n\tSYS_SETGROUPS     = 80  // { int setgroups(u_int gidsetsize, gid_t *gidset); }\n\tSYS_GETPGRP       = 81  // { int getpgrp(void); }\n\tSYS_SETPGID       = 82  // { int setpgid(int pid, int pgid); }\n\tSYS_SETITIMER     = 83  // { int setitimer(u_int which, struct itimerval *itv, \\\n\tSYS_SWAPON        = 85  // { int swapon(char *name); }\n\tSYS_GETITIMER     = 86  // { int getitimer(u_int which, struct itimerval *itv); }\n\tSYS_GETDTABLESIZE = 89  // { int getdtablesize(void); }\n\tSYS_DUP2          = 90  // { int dup2(int from, int to); }\n\tSYS_FCNTL         = 92  // { int fcntl(int fd, int cmd, long arg); }\n\tSYS_SELECT        = 93  // { int select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_FSYNC         = 95  // { int fsync(int fd); }\n\tSYS_SETPRIORITY   = 96  // { int setpriority(int which, int who, int prio); }\n\tSYS_SOCKET        = 97  // { int socket(int domain, int type, int protocol); }\n\tSYS_CONNECT       = 98  // { int connect(int s, caddr_t name, int namelen); }\n\tSYS_GETPRIORITY   = 100 // { int getpriority(int which, int who); }\n\tSYS_BIND          = 104 // { int bind(int s, caddr_t name, int namelen); }\n\tSYS_SETSOCKOPT    = 105 // { int setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN        = 106 // { int listen(int s, int backlog); }\n\tSYS_GETTIMEOFDAY  = 116 // { int gettimeofday(struct timeval *tp, \\\n\tSYS_GETRUSAGE     = 117 // { int getrusage(int who, struct rusage *rusage); }\n\tSYS_GETSOCKOPT    = 118 // { int getsockopt(int s, int level, int name, \\\n\tSYS_READV         = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); }\n\tSYS_WRITEV        = 121 // { int writev(int fd, struct iovec *iovp, \\\n\tSYS_SETTIMEOFDAY  = 122 // { int settimeofday(struct timeval *tv, \\\n\tSYS_FCHOWN        = 123 // { int fchown(int fd, int uid, int gid); }\n\tSYS_FCHMOD        = 124 // { int fchmod(int fd, int mode); }\n\tSYS_SETREUID      = 126 // { int setreuid(int ruid, int euid); }\n\tSYS_SETREGID      = 127 // { int setregid(int rgid, int egid); }\n\tSYS_RENAME        = 128 // { int rename(char *from, char *to); }\n\tSYS_FLOCK         = 131 // { int flock(int fd, int how); }\n\tSYS_MKFIFO        = 132 // { int mkfifo(char *path, int mode); }\n\tSYS_SENDTO        = 133 // { int sendto(int s, caddr_t buf, size_t len, \\\n\tSYS_SHUTDOWN      = 134 // { int shutdown(int s, int how); }\n\tSYS_SOCKETPAIR    = 135 // { int socketpair(int domain, int type, int protocol, \\\n\tSYS_MKDIR         = 136 // { int mkdir(char *path, int mode); }\n\tSYS_RMDIR         = 137 // { int rmdir(char *path); }\n\tSYS_UTIMES        = 138 // { int utimes(char *path, struct timeval *tptr); }\n\tSYS_ADJTIME       = 140 // { int adjtime(struct timeval *delta, \\\n\tSYS_SETSID        = 147 // { int setsid(void); }\n\tSYS_QUOTACTL      = 148 // { int quotactl(char *path, int cmd, int uid, \\\n\tSYS_STATFS        = 157 // { int statfs(char *path, struct statfs *buf); }\n\tSYS_FSTATFS       = 158 // { int fstatfs(int fd, struct statfs *buf); }\n\tSYS_GETFH         = 161 // { int getfh(char *fname, struct fhandle *fhp); }\n\tSYS_GETDOMAINNAME = 162 // { int getdomainname(char *domainname, int len); }\n\tSYS_SETDOMAINNAME = 163 // { int setdomainname(char *domainname, int len); }\n\tSYS_UNAME         = 164 // { int uname(struct utsname *name); }\n\tSYS_SYSARCH       = 165 // { int sysarch(int op, char *parms); }\n\tSYS_RTPRIO        = 166 // { int rtprio(int function, pid_t pid, \\\n\tSYS_EXTPREAD      = 173 // { ssize_t extpread(int fd, void *buf, \\\n\tSYS_EXTPWRITE     = 174 // { ssize_t extpwrite(int fd, const void *buf, \\\n\tSYS_NTP_ADJTIME   = 176 // { int ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID        = 181 // { int setgid(gid_t gid); }\n\tSYS_SETEGID       = 182 // { int setegid(gid_t egid); }\n\tSYS_SETEUID       = 183 // { int seteuid(uid_t euid); }\n\tSYS_PATHCONF      = 191 // { int pathconf(char *path, int name); }\n\tSYS_FPATHCONF     = 192 // { int fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT     = 194 // { int getrlimit(u_int which, \\\n\tSYS_SETRLIMIT     = 195 // { int setrlimit(u_int which, \\\n\tSYS_MMAP          = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, \\\n\t// SYS_NOSYS = 198;  // { int nosys(void); } __syscall __syscall_args int\n\tSYS_LSEEK                  = 199 // { off_t lseek(int fd, int pad, off_t offset, \\\n\tSYS_TRUNCATE               = 200 // { int truncate(char *path, int pad, off_t length); }\n\tSYS_FTRUNCATE              = 201 // { int ftruncate(int fd, int pad, off_t length); }\n\tSYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, void *old, \\\n\tSYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE               = 205 // { int undelete(char *path); }\n\tSYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }\n\tSYS_GETPGID                = 207 // { int getpgid(pid_t pid); }\n\tSYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \\\n\tSYS___SEMCTL               = 220 // { int __semctl(int semid, int semnum, int cmd, \\\n\tSYS_SEMGET                 = 221 // { int semget(key_t key, int nsems, int semflg); }\n\tSYS_SEMOP                  = 222 // { int semop(int semid, struct sembuf *sops, \\\n\tSYS_MSGCTL                 = 224 // { int msgctl(int msqid, int cmd, \\\n\tSYS_MSGGET                 = 225 // { int msgget(key_t key, int msgflg); }\n\tSYS_MSGSND                 = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, \\\n\tSYS_MSGRCV                 = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, \\\n\tSYS_SHMAT                  = 228 // { caddr_t shmat(int shmid, const void *shmaddr, \\\n\tSYS_SHMCTL                 = 229 // { int shmctl(int shmid, int cmd, \\\n\tSYS_SHMDT                  = 230 // { int shmdt(const void *shmaddr); }\n\tSYS_SHMGET                 = 231 // { int shmget(key_t key, size_t size, int shmflg); }\n\tSYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME          = 233 // { int clock_settime(clockid_t clock_id, \\\n\tSYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \\\n\tSYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \\\n\tSYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, int inherit); }\n\tSYS_RFORK                  = 251 // { int rfork(int flags); }\n\tSYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, \\\n\tSYS_ISSETUGID              = 253 // { int issetugid(void); }\n\tSYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }\n\tSYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }\n\tSYS_LUTIMES                = 276 // { int lutimes(char *path, struct timeval *tptr); }\n\tSYS_EXTPREADV              = 289 // { ssize_t extpreadv(int fd, struct iovec *iovp, \\\n\tSYS_EXTPWRITEV             = 290 // { ssize_t extpwritev(int fd, struct iovec *iovp,\\\n\tSYS_FHSTATFS               = 297 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }\n\tSYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); }\n\tSYS_MODNEXT                = 300 // { int modnext(int modid); }\n\tSYS_MODSTAT                = 301 // { int modstat(int modid, struct module_stat* stat); }\n\tSYS_MODFNEXT               = 302 // { int modfnext(int modid); }\n\tSYS_MODFIND                = 303 // { int modfind(const char *name); }\n\tSYS_KLDLOAD                = 304 // { int kldload(const char *file); }\n\tSYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }\n\tSYS_KLDFIND                = 306 // { int kldfind(const char *file); }\n\tSYS_KLDNEXT                = 307 // { int kldnext(int fileid); }\n\tSYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); }\n\tSYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }\n\tSYS_GETSID                 = 310 // { int getsid(pid_t pid); }\n\tSYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); }\n\tSYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }\n\tSYS_AIO_RETURN             = 314 // { int aio_return(struct aiocb *aiocbp); }\n\tSYS_AIO_SUSPEND            = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }\n\tSYS_AIO_CANCEL             = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); }\n\tSYS_AIO_ERROR              = 317 // { int aio_error(struct aiocb *aiocbp); }\n\tSYS_AIO_READ               = 318 // { int aio_read(struct aiocb *aiocbp); }\n\tSYS_AIO_WRITE              = 319 // { int aio_write(struct aiocb *aiocbp); }\n\tSYS_LIO_LISTIO             = 320 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }\n\tSYS_YIELD                  = 321 // { int yield(void); }\n\tSYS_MLOCKALL               = 324 // { int mlockall(int how); }\n\tSYS_MUNLOCKALL             = 325 // { int munlockall(void); }\n\tSYS___GETCWD               = 326 // { int __getcwd(u_char *buf, u_int buflen); }\n\tSYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); }\n\tSYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); }\n\tSYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }\n\tSYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }\n\tSYS_SCHED_YIELD            = 331 // { int sched_yield (void); }\n\tSYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }\n\tSYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }\n\tSYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }\n\tSYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }\n\tSYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, void *data); }\n\tSYS_JAIL                   = 338 // { int jail(struct jail *jail); }\n\tSYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, const sigset_t *set, \\\n\tSYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }\n\tSYS_SIGACTION              = 342 // { int sigaction(int sig, const struct sigaction *act, \\\n\tSYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }\n\tSYS_SIGRETURN              = 344 // { int sigreturn(ucontext_t *sigcntxp); }\n\tSYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set,\\\n\tSYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set,\\\n\tSYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \\\n\tSYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \\\n\tSYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, acl_type_t type, \\\n\tSYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, acl_type_t type, \\\n\tSYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \\\n\tSYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); }\n\tSYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \\\n\tSYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, \\\n\tSYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \\\n\tSYS_EXTATTR_SET_FILE       = 356 // { int extattr_set_file(const char *path, \\\n\tSYS_EXTATTR_GET_FILE       = 357 // { int extattr_get_file(const char *path, \\\n\tSYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \\\n\tSYS_AIO_WAITCOMPLETE       = 359 // { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }\n\tSYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }\n\tSYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }\n\tSYS_KQUEUE                 = 362 // { int kqueue(void); }\n\tSYS_KEVENT                 = 363 // { int kevent(int fd, \\\n\tSYS_KENV                   = 390 // { int kenv(int what, const char *name, char *value, int len); }\n\tSYS_LCHFLAGS               = 391 // { int lchflags(char *path, int flags); }\n\tSYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, int count); }\n\tSYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, \\\n\tSYS_VARSYM_SET             = 450 // { int varsym_set(int level, const char *name, const char *data); }\n\tSYS_VARSYM_GET             = 451 // { int varsym_get(int mask, const char *wild, char *buf, int bufsize); }\n\tSYS_VARSYM_LIST            = 452 // { int varsym_list(int level, char *buf, int maxsize, int *marker); }\n\tSYS_EXEC_SYS_REGISTER      = 465 // { int exec_sys_register(void *entry); }\n\tSYS_EXEC_SYS_UNREGISTER    = 466 // { int exec_sys_unregister(int id); }\n\tSYS_SYS_CHECKPOINT         = 467 // { int sys_checkpoint(int type, int fd, pid_t pid, int retval); }\n\tSYS_MOUNTCTL               = 468 // { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); }\n\tSYS_UMTX_SLEEP             = 469 // { int umtx_sleep(volatile const int *ptr, int value, int timeout); }\n\tSYS_UMTX_WAKEUP            = 470 // { int umtx_wakeup(volatile const int *ptr, int count); }\n\tSYS_JAIL_ATTACH            = 471 // { int jail_attach(int jid); }\n\tSYS_SET_TLS_AREA           = 472 // { int set_tls_area(int which, struct tls_info *info, size_t infosize); }\n\tSYS_GET_TLS_AREA           = 473 // { int get_tls_area(int which, struct tls_info *info, size_t infosize); }\n\tSYS_CLOSEFROM              = 474 // { int closefrom(int fd); }\n\tSYS_STAT                   = 475 // { int stat(const char *path, struct stat *ub); }\n\tSYS_FSTAT                  = 476 // { int fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                  = 477 // { int lstat(const char *path, struct stat *ub); }\n\tSYS_FHSTAT                 = 478 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); }\n\tSYS_GETDIRENTRIES          = 479 // { int getdirentries(int fd, char *buf, u_int count, \\\n\tSYS_GETDENTS               = 480 // { int getdents(int fd, char *buf, size_t count); }\n\tSYS_USCHED_SET             = 481 // { int usched_set(pid_t pid, int cmd, void *data, \\\n\tSYS_EXTACCEPT              = 482 // { int extaccept(int s, int flags, caddr_t name, int *anamelen); }\n\tSYS_EXTCONNECT             = 483 // { int extconnect(int s, int flags, caddr_t name, int namelen); }\n\tSYS_MCONTROL               = 485 // { int mcontrol(void *addr, size_t len, int behav, off_t value); }\n\tSYS_VMSPACE_CREATE         = 486 // { int vmspace_create(void *id, int type, void *data); }\n\tSYS_VMSPACE_DESTROY        = 487 // { int vmspace_destroy(void *id); }\n\tSYS_VMSPACE_CTL            = 488 // { int vmspace_ctl(void *id, int cmd, \t\t\\\n\tSYS_VMSPACE_MMAP           = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, \\\n\tSYS_VMSPACE_MUNMAP         = 490 // { int vmspace_munmap(void *id, void *addr,\t\\\n\tSYS_VMSPACE_MCONTROL       = 491 // { int vmspace_mcontrol(void *id, void *addr, \t\\\n\tSYS_VMSPACE_PREAD          = 492 // { ssize_t vmspace_pread(void *id, void *buf, \\\n\tSYS_VMSPACE_PWRITE         = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, \\\n\tSYS_EXTEXIT                = 494 // { void extexit(int how, int status, void *addr); }\n\tSYS_LWP_CREATE             = 495 // { int lwp_create(struct lwp_params *params); }\n\tSYS_LWP_GETTID             = 496 // { lwpid_t lwp_gettid(void); }\n\tSYS_LWP_KILL               = 497 // { int lwp_kill(pid_t pid, lwpid_t tid, int signum); }\n\tSYS_LWP_RTPRIO             = 498 // { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); }\n\tSYS_PSELECT                = 499 // { int pselect(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_STATVFS                = 500 // { int statvfs(const char *path, struct statvfs *buf); }\n\tSYS_FSTATVFS               = 501 // { int fstatvfs(int fd, struct statvfs *buf); }\n\tSYS_FHSTATVFS              = 502 // { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); }\n\tSYS_GETVFSSTAT             = 503 // { int getvfsstat(struct statfs *buf,          \\\n\tSYS_OPENAT                 = 504 // { int openat(int fd, char *path, int flags, int mode); }\n\tSYS_FSTATAT                = 505 // { int fstatat(int fd, char *path, \t\\\n\tSYS_FCHMODAT               = 506 // { int fchmodat(int fd, char *path, int mode, \\\n\tSYS_FCHOWNAT               = 507 // { int fchownat(int fd, char *path, int uid, int gid, \\\n\tSYS_UNLINKAT               = 508 // { int unlinkat(int fd, char *path, int flags); }\n\tSYS_FACCESSAT              = 509 // { int faccessat(int fd, char *path, int amode, \\\n\tSYS_MQ_OPEN                = 510 // { mqd_t mq_open(const char * name, int oflag, \\\n\tSYS_MQ_CLOSE               = 511 // { int mq_close(mqd_t mqdes); }\n\tSYS_MQ_UNLINK              = 512 // { int mq_unlink(const char *name); }\n\tSYS_MQ_GETATTR             = 513 // { int mq_getattr(mqd_t mqdes, \\\n\tSYS_MQ_SETATTR             = 514 // { int mq_setattr(mqd_t mqdes, \\\n\tSYS_MQ_NOTIFY              = 515 // { int mq_notify(mqd_t mqdes, \\\n\tSYS_MQ_SEND                = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, \\\n\tSYS_MQ_RECEIVE             = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \\\n\tSYS_MQ_TIMEDSEND           = 518 // { int mq_timedsend(mqd_t mqdes, \\\n\tSYS_MQ_TIMEDRECEIVE        = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, \\\n\tSYS_IOPRIO_SET             = 520 // { int ioprio_set(int which, int who, int prio); }\n\tSYS_IOPRIO_GET             = 521 // { int ioprio_get(int which, int who); }\n\tSYS_CHROOT_KERNEL          = 522 // { int chroot_kernel(char *path); }\n\tSYS_RENAMEAT               = 523 // { int renameat(int oldfd, char *old, int newfd, \\\n\tSYS_MKDIRAT                = 524 // { int mkdirat(int fd, char *path, mode_t mode); }\n\tSYS_MKFIFOAT               = 525 // { int mkfifoat(int fd, char *path, mode_t mode); }\n\tSYS_MKNODAT                = 526 // { int mknodat(int fd, char *path, mode_t mode, \\\n\tSYS_READLINKAT             = 527 // { int readlinkat(int fd, char *path, char *buf, \\\n\tSYS_SYMLINKAT              = 528 // { int symlinkat(char *path1, int fd, char *path2); }\n\tSYS_SWAPOFF                = 529 // { int swapoff(char *name); }\n\tSYS_VQUOTACTL              = 530 // { int vquotactl(const char *path, \\\n\tSYS_LINKAT                 = 531 // { int linkat(int fd1, char *path1, int fd2, \\\n\tSYS_EACCESS                = 532 // { int eaccess(char *path, int flags); }\n\tSYS_LPATHCONF              = 533 // { int lpathconf(char *path, int name); }\n\tSYS_VMM_GUEST_CTL          = 534 // { int vmm_guest_ctl(int op, struct vmm_guest_options *options); }\n\tSYS_VMM_GUEST_SYNC_ADDR    = 535 // { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); }\n\tSYS_PROCCTL                = 536 // { int procctl(idtype_t idtype, id_t id, int cmd, void *data); }\n\tSYS_CHFLAGSAT              = 537 // { int chflagsat(int fd, const char *path, int flags, int atflags);}\n\tSYS_PIPE2                  = 538 // { int pipe2(int *fildes, int flags); }\n\tSYS_UTIMENSAT              = 539 // { int utimensat(int fd, const char *path, const struct timespec *ts, int flags); }\n\tSYS_FUTIMENS               = 540 // { int futimens(int fd, const struct timespec *ts); }\n\tSYS_ACCEPT4                = 541 // { int accept4(int s, caddr_t name, int *anamelen, int flags); }\n\tSYS_LWP_SETNAME            = 542 // { int lwp_setname(lwpid_t tid, const char *name); }\n\tSYS_PPOLL                  = 543 // { int ppoll(struct pollfd *fds, u_int nfds, \\\n\tSYS_LWP_SETAFFINITY        = 544 // { int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); }\n\tSYS_LWP_GETAFFINITY        = 545 // { int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); }\n\tSYS_LWP_CREATE2            = 546 // { int lwp_create2(struct lwp_params *params, const cpumask_t *mask); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go",
    "content": "// mksysnum_freebsd.pl\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,freebsd\n\npackage unix\n\nconst (\n\t// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int\n\tSYS_EXIT                   = 1   // { void sys_exit(int rval); } exit \\\n\tSYS_FORK                   = 2   // { int fork(void); }\n\tSYS_READ                   = 3   // { ssize_t read(int fd, void *buf, \\\n\tSYS_WRITE                  = 4   // { ssize_t write(int fd, const void *buf, \\\n\tSYS_OPEN                   = 5   // { int open(char *path, int flags, int mode); }\n\tSYS_CLOSE                  = 6   // { int close(int fd); }\n\tSYS_WAIT4                  = 7   // { int wait4(int pid, int *status, \\\n\tSYS_LINK                   = 9   // { int link(char *path, char *link); }\n\tSYS_UNLINK                 = 10  // { int unlink(char *path); }\n\tSYS_CHDIR                  = 12  // { int chdir(char *path); }\n\tSYS_FCHDIR                 = 13  // { int fchdir(int fd); }\n\tSYS_MKNOD                  = 14  // { int mknod(char *path, int mode, int dev); }\n\tSYS_CHMOD                  = 15  // { int chmod(char *path, int mode); }\n\tSYS_CHOWN                  = 16  // { int chown(char *path, int uid, int gid); }\n\tSYS_OBREAK                 = 17  // { int obreak(char *nsize); } break \\\n\tSYS_GETPID                 = 20  // { pid_t getpid(void); }\n\tSYS_MOUNT                  = 21  // { int mount(char *type, char *path, \\\n\tSYS_UNMOUNT                = 22  // { int unmount(char *path, int flags); }\n\tSYS_SETUID                 = 23  // { int setuid(uid_t uid); }\n\tSYS_GETUID                 = 24  // { uid_t getuid(void); }\n\tSYS_GETEUID                = 25  // { uid_t geteuid(void); }\n\tSYS_PTRACE                 = 26  // { int ptrace(int req, pid_t pid, \\\n\tSYS_RECVMSG                = 27  // { int recvmsg(int s, struct msghdr *msg, \\\n\tSYS_SENDMSG                = 28  // { int sendmsg(int s, struct msghdr *msg, \\\n\tSYS_RECVFROM               = 29  // { int recvfrom(int s, caddr_t buf, \\\n\tSYS_ACCEPT                 = 30  // { int accept(int s, \\\n\tSYS_GETPEERNAME            = 31  // { int getpeername(int fdes, \\\n\tSYS_GETSOCKNAME            = 32  // { int getsockname(int fdes, \\\n\tSYS_ACCESS                 = 33  // { int access(char *path, int amode); }\n\tSYS_CHFLAGS                = 34  // { int chflags(const char *path, u_long flags); }\n\tSYS_FCHFLAGS               = 35  // { int fchflags(int fd, u_long flags); }\n\tSYS_SYNC                   = 36  // { int sync(void); }\n\tSYS_KILL                   = 37  // { int kill(int pid, int signum); }\n\tSYS_GETPPID                = 39  // { pid_t getppid(void); }\n\tSYS_DUP                    = 41  // { int dup(u_int fd); }\n\tSYS_PIPE                   = 42  // { int pipe(void); }\n\tSYS_GETEGID                = 43  // { gid_t getegid(void); }\n\tSYS_PROFIL                 = 44  // { int profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE                 = 45  // { int ktrace(const char *fname, int ops, \\\n\tSYS_GETGID                 = 47  // { gid_t getgid(void); }\n\tSYS_GETLOGIN               = 49  // { int getlogin(char *namebuf, u_int \\\n\tSYS_SETLOGIN               = 50  // { int setlogin(char *namebuf); }\n\tSYS_ACCT                   = 51  // { int acct(char *path); }\n\tSYS_SIGALTSTACK            = 53  // { int sigaltstack(stack_t *ss, \\\n\tSYS_IOCTL                  = 54  // { int ioctl(int fd, u_long com, \\\n\tSYS_REBOOT                 = 55  // { int reboot(int opt); }\n\tSYS_REVOKE                 = 56  // { int revoke(char *path); }\n\tSYS_SYMLINK                = 57  // { int symlink(char *path, char *link); }\n\tSYS_READLINK               = 58  // { ssize_t readlink(char *path, char *buf, \\\n\tSYS_EXECVE                 = 59  // { int execve(char *fname, char **argv, \\\n\tSYS_UMASK                  = 60  // { int umask(int newmask); } umask umask_args \\\n\tSYS_CHROOT                 = 61  // { int chroot(char *path); }\n\tSYS_MSYNC                  = 65  // { int msync(void *addr, size_t len, \\\n\tSYS_VFORK                  = 66  // { int vfork(void); }\n\tSYS_SBRK                   = 69  // { int sbrk(int incr); }\n\tSYS_SSTK                   = 70  // { int sstk(int incr); }\n\tSYS_OVADVISE               = 72  // { int ovadvise(int anom); } vadvise \\\n\tSYS_MUNMAP                 = 73  // { int munmap(void *addr, size_t len); }\n\tSYS_MPROTECT               = 74  // { int mprotect(const void *addr, size_t len, \\\n\tSYS_MADVISE                = 75  // { int madvise(void *addr, size_t len, \\\n\tSYS_MINCORE                = 78  // { int mincore(const void *addr, size_t len, \\\n\tSYS_GETGROUPS              = 79  // { int getgroups(u_int gidsetsize, \\\n\tSYS_SETGROUPS              = 80  // { int setgroups(u_int gidsetsize, \\\n\tSYS_GETPGRP                = 81  // { int getpgrp(void); }\n\tSYS_SETPGID                = 82  // { int setpgid(int pid, int pgid); }\n\tSYS_SETITIMER              = 83  // { int setitimer(u_int which, struct \\\n\tSYS_SWAPON                 = 85  // { int swapon(char *name); }\n\tSYS_GETITIMER              = 86  // { int getitimer(u_int which, \\\n\tSYS_GETDTABLESIZE          = 89  // { int getdtablesize(void); }\n\tSYS_DUP2                   = 90  // { int dup2(u_int from, u_int to); }\n\tSYS_FCNTL                  = 92  // { int fcntl(int fd, int cmd, long arg); }\n\tSYS_SELECT                 = 93  // { int select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_FSYNC                  = 95  // { int fsync(int fd); }\n\tSYS_SETPRIORITY            = 96  // { int setpriority(int which, int who, \\\n\tSYS_SOCKET                 = 97  // { int socket(int domain, int type, \\\n\tSYS_CONNECT                = 98  // { int connect(int s, caddr_t name, \\\n\tSYS_GETPRIORITY            = 100 // { int getpriority(int which, int who); }\n\tSYS_BIND                   = 104 // { int bind(int s, caddr_t name, \\\n\tSYS_SETSOCKOPT             = 105 // { int setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN                 = 106 // { int listen(int s, int backlog); }\n\tSYS_GETTIMEOFDAY           = 116 // { int gettimeofday(struct timeval *tp, \\\n\tSYS_GETRUSAGE              = 117 // { int getrusage(int who, \\\n\tSYS_GETSOCKOPT             = 118 // { int getsockopt(int s, int level, int name, \\\n\tSYS_READV                  = 120 // { int readv(int fd, struct iovec *iovp, \\\n\tSYS_WRITEV                 = 121 // { int writev(int fd, struct iovec *iovp, \\\n\tSYS_SETTIMEOFDAY           = 122 // { int settimeofday(struct timeval *tv, \\\n\tSYS_FCHOWN                 = 123 // { int fchown(int fd, int uid, int gid); }\n\tSYS_FCHMOD                 = 124 // { int fchmod(int fd, int mode); }\n\tSYS_SETREUID               = 126 // { int setreuid(int ruid, int euid); }\n\tSYS_SETREGID               = 127 // { int setregid(int rgid, int egid); }\n\tSYS_RENAME                 = 128 // { int rename(char *from, char *to); }\n\tSYS_FLOCK                  = 131 // { int flock(int fd, int how); }\n\tSYS_MKFIFO                 = 132 // { int mkfifo(char *path, int mode); }\n\tSYS_SENDTO                 = 133 // { int sendto(int s, caddr_t buf, size_t len, \\\n\tSYS_SHUTDOWN               = 134 // { int shutdown(int s, int how); }\n\tSYS_SOCKETPAIR             = 135 // { int socketpair(int domain, int type, \\\n\tSYS_MKDIR                  = 136 // { int mkdir(char *path, int mode); }\n\tSYS_RMDIR                  = 137 // { int rmdir(char *path); }\n\tSYS_UTIMES                 = 138 // { int utimes(char *path, \\\n\tSYS_ADJTIME                = 140 // { int adjtime(struct timeval *delta, \\\n\tSYS_SETSID                 = 147 // { int setsid(void); }\n\tSYS_QUOTACTL               = 148 // { int quotactl(char *path, int cmd, int uid, \\\n\tSYS_LGETFH                 = 160 // { int lgetfh(char *fname, \\\n\tSYS_GETFH                  = 161 // { int getfh(char *fname, \\\n\tSYS_SYSARCH                = 165 // { int sysarch(int op, char *parms); }\n\tSYS_RTPRIO                 = 166 // { int rtprio(int function, pid_t pid, \\\n\tSYS_FREEBSD6_PREAD         = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \\\n\tSYS_FREEBSD6_PWRITE        = 174 // { ssize_t freebsd6_pwrite(int fd, \\\n\tSYS_SETFIB                 = 175 // { int setfib(int fibnum); }\n\tSYS_NTP_ADJTIME            = 176 // { int ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID                 = 181 // { int setgid(gid_t gid); }\n\tSYS_SETEGID                = 182 // { int setegid(gid_t egid); }\n\tSYS_SETEUID                = 183 // { int seteuid(uid_t euid); }\n\tSYS_STAT                   = 188 // { int stat(char *path, struct stat *ub); }\n\tSYS_FSTAT                  = 189 // { int fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                  = 190 // { int lstat(char *path, struct stat *ub); }\n\tSYS_PATHCONF               = 191 // { int pathconf(char *path, int name); }\n\tSYS_FPATHCONF              = 192 // { int fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT              = 194 // { int getrlimit(u_int which, \\\n\tSYS_SETRLIMIT              = 195 // { int setrlimit(u_int which, \\\n\tSYS_GETDIRENTRIES          = 196 // { int getdirentries(int fd, char *buf, \\\n\tSYS_FREEBSD6_MMAP          = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \\\n\tSYS_FREEBSD6_LSEEK         = 199 // { off_t freebsd6_lseek(int fd, int pad, \\\n\tSYS_FREEBSD6_TRUNCATE      = 200 // { int freebsd6_truncate(char *path, int pad, \\\n\tSYS_FREEBSD6_FTRUNCATE     = 201 // { int freebsd6_ftruncate(int fd, int pad, \\\n\tSYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, \\\n\tSYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE               = 205 // { int undelete(char *path); }\n\tSYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }\n\tSYS_GETPGID                = 207 // { int getpgid(pid_t pid); }\n\tSYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \\\n\tSYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME          = 233 // { int clock_settime( \\\n\tSYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \\\n\tSYS_KTIMER_CREATE          = 235 // { int ktimer_create(clockid_t clock_id, \\\n\tSYS_KTIMER_DELETE          = 236 // { int ktimer_delete(int timerid); }\n\tSYS_KTIMER_SETTIME         = 237 // { int ktimer_settime(int timerid, int flags, \\\n\tSYS_KTIMER_GETTIME         = 238 // { int ktimer_gettime(int timerid, struct \\\n\tSYS_KTIMER_GETOVERRUN      = 239 // { int ktimer_getoverrun(int timerid); }\n\tSYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \\\n\tSYS_FFCLOCK_GETCOUNTER     = 241 // { int ffclock_getcounter(ffcounter *ffcount); }\n\tSYS_FFCLOCK_SETESTIMATE    = 242 // { int ffclock_setestimate( \\\n\tSYS_FFCLOCK_GETESTIMATE    = 243 // { int ffclock_getestimate( \\\n\tSYS_CLOCK_GETCPUCLOCKID2   = 247 // { int clock_getcpuclockid2(id_t id,\\\n\tSYS_NTP_GETTIME            = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }\n\tSYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, \\\n\tSYS_RFORK                  = 251 // { int rfork(int flags); }\n\tSYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, \\\n\tSYS_ISSETUGID              = 253 // { int issetugid(void); }\n\tSYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }\n\tSYS_GETDENTS               = 272 // { int getdents(int fd, char *buf, \\\n\tSYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }\n\tSYS_LUTIMES                = 276 // { int lutimes(char *path, \\\n\tSYS_NSTAT                  = 278 // { int nstat(char *path, struct nstat *ub); }\n\tSYS_NFSTAT                 = 279 // { int nfstat(int fd, struct nstat *sb); }\n\tSYS_NLSTAT                 = 280 // { int nlstat(char *path, struct nstat *ub); }\n\tSYS_PREADV                 = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \\\n\tSYS_PWRITEV                = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \\\n\tSYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, \\\n\tSYS_FHSTAT                 = 299 // { int fhstat(const struct fhandle *u_fhp, \\\n\tSYS_MODNEXT                = 300 // { int modnext(int modid); }\n\tSYS_MODSTAT                = 301 // { int modstat(int modid, \\\n\tSYS_MODFNEXT               = 302 // { int modfnext(int modid); }\n\tSYS_MODFIND                = 303 // { int modfind(const char *name); }\n\tSYS_KLDLOAD                = 304 // { int kldload(const char *file); }\n\tSYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }\n\tSYS_KLDFIND                = 306 // { int kldfind(const char *file); }\n\tSYS_KLDNEXT                = 307 // { int kldnext(int fileid); }\n\tSYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct \\\n\tSYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }\n\tSYS_GETSID                 = 310 // { int getsid(pid_t pid); }\n\tSYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, \\\n\tSYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, \\\n\tSYS_YIELD                  = 321 // { int yield(void); }\n\tSYS_MLOCKALL               = 324 // { int mlockall(int how); }\n\tSYS_MUNLOCKALL             = 325 // { int munlockall(void); }\n\tSYS___GETCWD               = 326 // { int __getcwd(char *buf, u_int buflen); }\n\tSYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, \\\n\tSYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct \\\n\tSYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int \\\n\tSYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }\n\tSYS_SCHED_YIELD            = 331 // { int sched_yield (void); }\n\tSYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }\n\tSYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }\n\tSYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, \\\n\tSYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }\n\tSYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, \\\n\tSYS_JAIL                   = 338 // { int jail(struct jail *jail); }\n\tSYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, \\\n\tSYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }\n\tSYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }\n\tSYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set, \\\n\tSYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set, \\\n\tSYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \\\n\tSYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \\\n\tSYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, \\\n\tSYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, \\\n\tSYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \\\n\tSYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, \\\n\tSYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \\\n\tSYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, \\\n\tSYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \\\n\tSYS_EXTATTR_SET_FILE       = 356 // { ssize_t extattr_set_file( \\\n\tSYS_EXTATTR_GET_FILE       = 357 // { ssize_t extattr_get_file( \\\n\tSYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \\\n\tSYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \\\n\tSYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \\\n\tSYS_KQUEUE                 = 362 // { int kqueue(void); }\n\tSYS_KEVENT                 = 363 // { int kevent(int fd, \\\n\tSYS_EXTATTR_SET_FD         = 371 // { ssize_t extattr_set_fd(int fd, \\\n\tSYS_EXTATTR_GET_FD         = 372 // { ssize_t extattr_get_fd(int fd, \\\n\tSYS_EXTATTR_DELETE_FD      = 373 // { int extattr_delete_fd(int fd, \\\n\tSYS___SETUGID              = 374 // { int __setugid(int flag); }\n\tSYS_EACCESS                = 376 // { int eaccess(char *path, int amode); }\n\tSYS_NMOUNT                 = 378 // { int nmount(struct iovec *iovp, \\\n\tSYS___MAC_GET_PROC         = 384 // { int __mac_get_proc(struct mac *mac_p); }\n\tSYS___MAC_SET_PROC         = 385 // { int __mac_set_proc(struct mac *mac_p); }\n\tSYS___MAC_GET_FD           = 386 // { int __mac_get_fd(int fd, \\\n\tSYS___MAC_GET_FILE         = 387 // { int __mac_get_file(const char *path_p, \\\n\tSYS___MAC_SET_FD           = 388 // { int __mac_set_fd(int fd, \\\n\tSYS___MAC_SET_FILE         = 389 // { int __mac_set_file(const char *path_p, \\\n\tSYS_KENV                   = 390 // { int kenv(int what, const char *name, \\\n\tSYS_LCHFLAGS               = 391 // { int lchflags(const char *path, \\\n\tSYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, \\\n\tSYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, \\\n\tSYS_MAC_SYSCALL            = 394 // { int mac_syscall(const char *policy, \\\n\tSYS_GETFSSTAT              = 395 // { int getfsstat(struct statfs *buf, \\\n\tSYS_STATFS                 = 396 // { int statfs(char *path, \\\n\tSYS_FSTATFS                = 397 // { int fstatfs(int fd, struct statfs *buf); }\n\tSYS_FHSTATFS               = 398 // { int fhstatfs(const struct fhandle *u_fhp, \\\n\tSYS___MAC_GET_PID          = 409 // { int __mac_get_pid(pid_t pid, \\\n\tSYS___MAC_GET_LINK         = 410 // { int __mac_get_link(const char *path_p, \\\n\tSYS___MAC_SET_LINK         = 411 // { int __mac_set_link(const char *path_p, \\\n\tSYS_EXTATTR_SET_LINK       = 412 // { ssize_t extattr_set_link( \\\n\tSYS_EXTATTR_GET_LINK       = 413 // { ssize_t extattr_get_link( \\\n\tSYS_EXTATTR_DELETE_LINK    = 414 // { int extattr_delete_link( \\\n\tSYS___MAC_EXECVE           = 415 // { int __mac_execve(char *fname, char **argv, \\\n\tSYS_SIGACTION              = 416 // { int sigaction(int sig, \\\n\tSYS_SIGRETURN              = 417 // { int sigreturn( \\\n\tSYS_GETCONTEXT             = 421 // { int getcontext(struct __ucontext *ucp); }\n\tSYS_SETCONTEXT             = 422 // { int setcontext( \\\n\tSYS_SWAPCONTEXT            = 423 // { int swapcontext(struct __ucontext *oucp, \\\n\tSYS_SWAPOFF                = 424 // { int swapoff(const char *name); }\n\tSYS___ACL_GET_LINK         = 425 // { int __acl_get_link(const char *path, \\\n\tSYS___ACL_SET_LINK         = 426 // { int __acl_set_link(const char *path, \\\n\tSYS___ACL_DELETE_LINK      = 427 // { int __acl_delete_link(const char *path, \\\n\tSYS___ACL_ACLCHECK_LINK    = 428 // { int __acl_aclcheck_link(const char *path, \\\n\tSYS_SIGWAIT                = 429 // { int sigwait(const sigset_t *set, \\\n\tSYS_THR_CREATE             = 430 // { int thr_create(ucontext_t *ctx, long *id, \\\n\tSYS_THR_EXIT               = 431 // { void thr_exit(long *state); }\n\tSYS_THR_SELF               = 432 // { int thr_self(long *id); }\n\tSYS_THR_KILL               = 433 // { int thr_kill(long id, int sig); }\n\tSYS__UMTX_LOCK             = 434 // { int _umtx_lock(struct umtx *umtx); }\n\tSYS__UMTX_UNLOCK           = 435 // { int _umtx_unlock(struct umtx *umtx); }\n\tSYS_JAIL_ATTACH            = 436 // { int jail_attach(int jid); }\n\tSYS_EXTATTR_LIST_FD        = 437 // { ssize_t extattr_list_fd(int fd, \\\n\tSYS_EXTATTR_LIST_FILE      = 438 // { ssize_t extattr_list_file( \\\n\tSYS_EXTATTR_LIST_LINK      = 439 // { ssize_t extattr_list_link( \\\n\tSYS_THR_SUSPEND            = 442 // { int thr_suspend( \\\n\tSYS_THR_WAKE               = 443 // { int thr_wake(long id); }\n\tSYS_KLDUNLOADF             = 444 // { int kldunloadf(int fileid, int flags); }\n\tSYS_AUDIT                  = 445 // { int audit(const void *record, \\\n\tSYS_AUDITON                = 446 // { int auditon(int cmd, void *data, \\\n\tSYS_GETAUID                = 447 // { int getauid(uid_t *auid); }\n\tSYS_SETAUID                = 448 // { int setauid(uid_t *auid); }\n\tSYS_GETAUDIT               = 449 // { int getaudit(struct auditinfo *auditinfo); }\n\tSYS_SETAUDIT               = 450 // { int setaudit(struct auditinfo *auditinfo); }\n\tSYS_GETAUDIT_ADDR          = 451 // { int getaudit_addr( \\\n\tSYS_SETAUDIT_ADDR          = 452 // { int setaudit_addr( \\\n\tSYS_AUDITCTL               = 453 // { int auditctl(char *path); }\n\tSYS__UMTX_OP               = 454 // { int _umtx_op(void *obj, int op, \\\n\tSYS_THR_NEW                = 455 // { int thr_new(struct thr_param *param, \\\n\tSYS_SIGQUEUE               = 456 // { int sigqueue(pid_t pid, int signum, void *value); }\n\tSYS_ABORT2                 = 463 // { int abort2(const char *why, int nargs, void **args); }\n\tSYS_THR_SET_NAME           = 464 // { int thr_set_name(long id, const char *name); }\n\tSYS_RTPRIO_THREAD          = 466 // { int rtprio_thread(int function, \\\n\tSYS_PREAD                  = 475 // { ssize_t pread(int fd, void *buf, \\\n\tSYS_PWRITE                 = 476 // { ssize_t pwrite(int fd, const void *buf, \\\n\tSYS_MMAP                   = 477 // { caddr_t mmap(caddr_t addr, size_t len, \\\n\tSYS_LSEEK                  = 478 // { off_t lseek(int fd, off_t offset, \\\n\tSYS_TRUNCATE               = 479 // { int truncate(char *path, off_t length); }\n\tSYS_FTRUNCATE              = 480 // { int ftruncate(int fd, off_t length); }\n\tSYS_THR_KILL2              = 481 // { int thr_kill2(pid_t pid, long id, int sig); }\n\tSYS_SHM_OPEN               = 482 // { int shm_open(const char *path, int flags, \\\n\tSYS_SHM_UNLINK             = 483 // { int shm_unlink(const char *path); }\n\tSYS_CPUSET                 = 484 // { int cpuset(cpusetid_t *setid); }\n\tSYS_CPUSET_SETID           = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \\\n\tSYS_CPUSET_GETID           = 486 // { int cpuset_getid(cpulevel_t level, \\\n\tSYS_CPUSET_GETAFFINITY     = 487 // { int cpuset_getaffinity(cpulevel_t level, \\\n\tSYS_CPUSET_SETAFFINITY     = 488 // { int cpuset_setaffinity(cpulevel_t level, \\\n\tSYS_FACCESSAT              = 489 // { int faccessat(int fd, char *path, int amode, \\\n\tSYS_FCHMODAT               = 490 // { int fchmodat(int fd, char *path, mode_t mode, \\\n\tSYS_FCHOWNAT               = 491 // { int fchownat(int fd, char *path, uid_t uid, \\\n\tSYS_FEXECVE                = 492 // { int fexecve(int fd, char **argv, \\\n\tSYS_FSTATAT                = 493 // { int fstatat(int fd, char *path, \\\n\tSYS_FUTIMESAT              = 494 // { int futimesat(int fd, char *path, \\\n\tSYS_LINKAT                 = 495 // { int linkat(int fd1, char *path1, int fd2, \\\n\tSYS_MKDIRAT                = 496 // { int mkdirat(int fd, char *path, mode_t mode); }\n\tSYS_MKFIFOAT               = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }\n\tSYS_MKNODAT                = 498 // { int mknodat(int fd, char *path, mode_t mode, \\\n\tSYS_OPENAT                 = 499 // { int openat(int fd, char *path, int flag, \\\n\tSYS_READLINKAT             = 500 // { int readlinkat(int fd, char *path, char *buf, \\\n\tSYS_RENAMEAT               = 501 // { int renameat(int oldfd, char *old, int newfd, \\\n\tSYS_SYMLINKAT              = 502 // { int symlinkat(char *path1, int fd, \\\n\tSYS_UNLINKAT               = 503 // { int unlinkat(int fd, char *path, int flag); }\n\tSYS_POSIX_OPENPT           = 504 // { int posix_openpt(int flags); }\n\tSYS_JAIL_GET               = 506 // { int jail_get(struct iovec *iovp, \\\n\tSYS_JAIL_SET               = 507 // { int jail_set(struct iovec *iovp, \\\n\tSYS_JAIL_REMOVE            = 508 // { int jail_remove(int jid); }\n\tSYS_CLOSEFROM              = 509 // { int closefrom(int lowfd); }\n\tSYS_LPATHCONF              = 513 // { int lpathconf(char *path, int name); }\n\tSYS___CAP_RIGHTS_GET       = 515 // { int __cap_rights_get(int version, \\\n\tSYS_CAP_ENTER              = 516 // { int cap_enter(void); }\n\tSYS_CAP_GETMODE            = 517 // { int cap_getmode(u_int *modep); }\n\tSYS_PDFORK                 = 518 // { int pdfork(int *fdp, int flags); }\n\tSYS_PDKILL                 = 519 // { int pdkill(int fd, int signum); }\n\tSYS_PDGETPID               = 520 // { int pdgetpid(int fd, pid_t *pidp); }\n\tSYS_PSELECT                = 522 // { int pselect(int nd, fd_set *in, \\\n\tSYS_GETLOGINCLASS          = 523 // { int getloginclass(char *namebuf, \\\n\tSYS_SETLOGINCLASS          = 524 // { int setloginclass(const char *namebuf); }\n\tSYS_RCTL_GET_RACCT         = 525 // { int rctl_get_racct(const void *inbufp, \\\n\tSYS_RCTL_GET_RULES         = 526 // { int rctl_get_rules(const void *inbufp, \\\n\tSYS_RCTL_GET_LIMITS        = 527 // { int rctl_get_limits(const void *inbufp, \\\n\tSYS_RCTL_ADD_RULE          = 528 // { int rctl_add_rule(const void *inbufp, \\\n\tSYS_RCTL_REMOVE_RULE       = 529 // { int rctl_remove_rule(const void *inbufp, \\\n\tSYS_POSIX_FALLOCATE        = 530 // { int posix_fallocate(int fd, \\\n\tSYS_POSIX_FADVISE          = 531 // { int posix_fadvise(int fd, off_t offset, \\\n\tSYS_WAIT6                  = 532 // { int wait6(idtype_t idtype, id_t id, \\\n\tSYS_CAP_RIGHTS_LIMIT       = 533 // { int cap_rights_limit(int fd, \\\n\tSYS_CAP_IOCTLS_LIMIT       = 534 // { int cap_ioctls_limit(int fd, \\\n\tSYS_CAP_IOCTLS_GET         = 535 // { ssize_t cap_ioctls_get(int fd, \\\n\tSYS_CAP_FCNTLS_LIMIT       = 536 // { int cap_fcntls_limit(int fd, \\\n\tSYS_CAP_FCNTLS_GET         = 537 // { int cap_fcntls_get(int fd, \\\n\tSYS_BINDAT                 = 538 // { int bindat(int fd, int s, caddr_t name, \\\n\tSYS_CONNECTAT              = 539 // { int connectat(int fd, int s, caddr_t name, \\\n\tSYS_CHFLAGSAT              = 540 // { int chflagsat(int fd, const char *path, \\\n\tSYS_ACCEPT4                = 541 // { int accept4(int s, \\\n\tSYS_PIPE2                  = 542 // { int pipe2(int *fildes, int flags); }\n\tSYS_PROCCTL                = 544 // { int procctl(idtype_t idtype, id_t id, \\\n\tSYS_PPOLL                  = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \\\n\tSYS_FUTIMENS               = 546 // { int futimens(int fd, \\\n\tSYS_UTIMENSAT              = 547 // { int utimensat(int fd, \\\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go",
    "content": "// mksysnum_freebsd.pl\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,freebsd\n\npackage unix\n\nconst (\n\t// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int\n\tSYS_EXIT                   = 1   // { void sys_exit(int rval); } exit \\\n\tSYS_FORK                   = 2   // { int fork(void); }\n\tSYS_READ                   = 3   // { ssize_t read(int fd, void *buf, \\\n\tSYS_WRITE                  = 4   // { ssize_t write(int fd, const void *buf, \\\n\tSYS_OPEN                   = 5   // { int open(char *path, int flags, int mode); }\n\tSYS_CLOSE                  = 6   // { int close(int fd); }\n\tSYS_WAIT4                  = 7   // { int wait4(int pid, int *status, \\\n\tSYS_LINK                   = 9   // { int link(char *path, char *link); }\n\tSYS_UNLINK                 = 10  // { int unlink(char *path); }\n\tSYS_CHDIR                  = 12  // { int chdir(char *path); }\n\tSYS_FCHDIR                 = 13  // { int fchdir(int fd); }\n\tSYS_MKNOD                  = 14  // { int mknod(char *path, int mode, int dev); }\n\tSYS_CHMOD                  = 15  // { int chmod(char *path, int mode); }\n\tSYS_CHOWN                  = 16  // { int chown(char *path, int uid, int gid); }\n\tSYS_OBREAK                 = 17  // { int obreak(char *nsize); } break \\\n\tSYS_GETPID                 = 20  // { pid_t getpid(void); }\n\tSYS_MOUNT                  = 21  // { int mount(char *type, char *path, \\\n\tSYS_UNMOUNT                = 22  // { int unmount(char *path, int flags); }\n\tSYS_SETUID                 = 23  // { int setuid(uid_t uid); }\n\tSYS_GETUID                 = 24  // { uid_t getuid(void); }\n\tSYS_GETEUID                = 25  // { uid_t geteuid(void); }\n\tSYS_PTRACE                 = 26  // { int ptrace(int req, pid_t pid, \\\n\tSYS_RECVMSG                = 27  // { int recvmsg(int s, struct msghdr *msg, \\\n\tSYS_SENDMSG                = 28  // { int sendmsg(int s, struct msghdr *msg, \\\n\tSYS_RECVFROM               = 29  // { int recvfrom(int s, caddr_t buf, \\\n\tSYS_ACCEPT                 = 30  // { int accept(int s, \\\n\tSYS_GETPEERNAME            = 31  // { int getpeername(int fdes, \\\n\tSYS_GETSOCKNAME            = 32  // { int getsockname(int fdes, \\\n\tSYS_ACCESS                 = 33  // { int access(char *path, int amode); }\n\tSYS_CHFLAGS                = 34  // { int chflags(const char *path, u_long flags); }\n\tSYS_FCHFLAGS               = 35  // { int fchflags(int fd, u_long flags); }\n\tSYS_SYNC                   = 36  // { int sync(void); }\n\tSYS_KILL                   = 37  // { int kill(int pid, int signum); }\n\tSYS_GETPPID                = 39  // { pid_t getppid(void); }\n\tSYS_DUP                    = 41  // { int dup(u_int fd); }\n\tSYS_PIPE                   = 42  // { int pipe(void); }\n\tSYS_GETEGID                = 43  // { gid_t getegid(void); }\n\tSYS_PROFIL                 = 44  // { int profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE                 = 45  // { int ktrace(const char *fname, int ops, \\\n\tSYS_GETGID                 = 47  // { gid_t getgid(void); }\n\tSYS_GETLOGIN               = 49  // { int getlogin(char *namebuf, u_int \\\n\tSYS_SETLOGIN               = 50  // { int setlogin(char *namebuf); }\n\tSYS_ACCT                   = 51  // { int acct(char *path); }\n\tSYS_SIGALTSTACK            = 53  // { int sigaltstack(stack_t *ss, \\\n\tSYS_IOCTL                  = 54  // { int ioctl(int fd, u_long com, \\\n\tSYS_REBOOT                 = 55  // { int reboot(int opt); }\n\tSYS_REVOKE                 = 56  // { int revoke(char *path); }\n\tSYS_SYMLINK                = 57  // { int symlink(char *path, char *link); }\n\tSYS_READLINK               = 58  // { ssize_t readlink(char *path, char *buf, \\\n\tSYS_EXECVE                 = 59  // { int execve(char *fname, char **argv, \\\n\tSYS_UMASK                  = 60  // { int umask(int newmask); } umask umask_args \\\n\tSYS_CHROOT                 = 61  // { int chroot(char *path); }\n\tSYS_MSYNC                  = 65  // { int msync(void *addr, size_t len, \\\n\tSYS_VFORK                  = 66  // { int vfork(void); }\n\tSYS_SBRK                   = 69  // { int sbrk(int incr); }\n\tSYS_SSTK                   = 70  // { int sstk(int incr); }\n\tSYS_OVADVISE               = 72  // { int ovadvise(int anom); } vadvise \\\n\tSYS_MUNMAP                 = 73  // { int munmap(void *addr, size_t len); }\n\tSYS_MPROTECT               = 74  // { int mprotect(const void *addr, size_t len, \\\n\tSYS_MADVISE                = 75  // { int madvise(void *addr, size_t len, \\\n\tSYS_MINCORE                = 78  // { int mincore(const void *addr, size_t len, \\\n\tSYS_GETGROUPS              = 79  // { int getgroups(u_int gidsetsize, \\\n\tSYS_SETGROUPS              = 80  // { int setgroups(u_int gidsetsize, \\\n\tSYS_GETPGRP                = 81  // { int getpgrp(void); }\n\tSYS_SETPGID                = 82  // { int setpgid(int pid, int pgid); }\n\tSYS_SETITIMER              = 83  // { int setitimer(u_int which, struct \\\n\tSYS_SWAPON                 = 85  // { int swapon(char *name); }\n\tSYS_GETITIMER              = 86  // { int getitimer(u_int which, \\\n\tSYS_GETDTABLESIZE          = 89  // { int getdtablesize(void); }\n\tSYS_DUP2                   = 90  // { int dup2(u_int from, u_int to); }\n\tSYS_FCNTL                  = 92  // { int fcntl(int fd, int cmd, long arg); }\n\tSYS_SELECT                 = 93  // { int select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_FSYNC                  = 95  // { int fsync(int fd); }\n\tSYS_SETPRIORITY            = 96  // { int setpriority(int which, int who, \\\n\tSYS_SOCKET                 = 97  // { int socket(int domain, int type, \\\n\tSYS_CONNECT                = 98  // { int connect(int s, caddr_t name, \\\n\tSYS_GETPRIORITY            = 100 // { int getpriority(int which, int who); }\n\tSYS_BIND                   = 104 // { int bind(int s, caddr_t name, \\\n\tSYS_SETSOCKOPT             = 105 // { int setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN                 = 106 // { int listen(int s, int backlog); }\n\tSYS_GETTIMEOFDAY           = 116 // { int gettimeofday(struct timeval *tp, \\\n\tSYS_GETRUSAGE              = 117 // { int getrusage(int who, \\\n\tSYS_GETSOCKOPT             = 118 // { int getsockopt(int s, int level, int name, \\\n\tSYS_READV                  = 120 // { int readv(int fd, struct iovec *iovp, \\\n\tSYS_WRITEV                 = 121 // { int writev(int fd, struct iovec *iovp, \\\n\tSYS_SETTIMEOFDAY           = 122 // { int settimeofday(struct timeval *tv, \\\n\tSYS_FCHOWN                 = 123 // { int fchown(int fd, int uid, int gid); }\n\tSYS_FCHMOD                 = 124 // { int fchmod(int fd, int mode); }\n\tSYS_SETREUID               = 126 // { int setreuid(int ruid, int euid); }\n\tSYS_SETREGID               = 127 // { int setregid(int rgid, int egid); }\n\tSYS_RENAME                 = 128 // { int rename(char *from, char *to); }\n\tSYS_FLOCK                  = 131 // { int flock(int fd, int how); }\n\tSYS_MKFIFO                 = 132 // { int mkfifo(char *path, int mode); }\n\tSYS_SENDTO                 = 133 // { int sendto(int s, caddr_t buf, size_t len, \\\n\tSYS_SHUTDOWN               = 134 // { int shutdown(int s, int how); }\n\tSYS_SOCKETPAIR             = 135 // { int socketpair(int domain, int type, \\\n\tSYS_MKDIR                  = 136 // { int mkdir(char *path, int mode); }\n\tSYS_RMDIR                  = 137 // { int rmdir(char *path); }\n\tSYS_UTIMES                 = 138 // { int utimes(char *path, \\\n\tSYS_ADJTIME                = 140 // { int adjtime(struct timeval *delta, \\\n\tSYS_SETSID                 = 147 // { int setsid(void); }\n\tSYS_QUOTACTL               = 148 // { int quotactl(char *path, int cmd, int uid, \\\n\tSYS_LGETFH                 = 160 // { int lgetfh(char *fname, \\\n\tSYS_GETFH                  = 161 // { int getfh(char *fname, \\\n\tSYS_SYSARCH                = 165 // { int sysarch(int op, char *parms); }\n\tSYS_RTPRIO                 = 166 // { int rtprio(int function, pid_t pid, \\\n\tSYS_FREEBSD6_PREAD         = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \\\n\tSYS_FREEBSD6_PWRITE        = 174 // { ssize_t freebsd6_pwrite(int fd, \\\n\tSYS_SETFIB                 = 175 // { int setfib(int fibnum); }\n\tSYS_NTP_ADJTIME            = 176 // { int ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID                 = 181 // { int setgid(gid_t gid); }\n\tSYS_SETEGID                = 182 // { int setegid(gid_t egid); }\n\tSYS_SETEUID                = 183 // { int seteuid(uid_t euid); }\n\tSYS_STAT                   = 188 // { int stat(char *path, struct stat *ub); }\n\tSYS_FSTAT                  = 189 // { int fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                  = 190 // { int lstat(char *path, struct stat *ub); }\n\tSYS_PATHCONF               = 191 // { int pathconf(char *path, int name); }\n\tSYS_FPATHCONF              = 192 // { int fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT              = 194 // { int getrlimit(u_int which, \\\n\tSYS_SETRLIMIT              = 195 // { int setrlimit(u_int which, \\\n\tSYS_GETDIRENTRIES          = 196 // { int getdirentries(int fd, char *buf, \\\n\tSYS_FREEBSD6_MMAP          = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \\\n\tSYS_FREEBSD6_LSEEK         = 199 // { off_t freebsd6_lseek(int fd, int pad, \\\n\tSYS_FREEBSD6_TRUNCATE      = 200 // { int freebsd6_truncate(char *path, int pad, \\\n\tSYS_FREEBSD6_FTRUNCATE     = 201 // { int freebsd6_ftruncate(int fd, int pad, \\\n\tSYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, \\\n\tSYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE               = 205 // { int undelete(char *path); }\n\tSYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }\n\tSYS_GETPGID                = 207 // { int getpgid(pid_t pid); }\n\tSYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \\\n\tSYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME          = 233 // { int clock_settime( \\\n\tSYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \\\n\tSYS_KTIMER_CREATE          = 235 // { int ktimer_create(clockid_t clock_id, \\\n\tSYS_KTIMER_DELETE          = 236 // { int ktimer_delete(int timerid); }\n\tSYS_KTIMER_SETTIME         = 237 // { int ktimer_settime(int timerid, int flags, \\\n\tSYS_KTIMER_GETTIME         = 238 // { int ktimer_gettime(int timerid, struct \\\n\tSYS_KTIMER_GETOVERRUN      = 239 // { int ktimer_getoverrun(int timerid); }\n\tSYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \\\n\tSYS_FFCLOCK_GETCOUNTER     = 241 // { int ffclock_getcounter(ffcounter *ffcount); }\n\tSYS_FFCLOCK_SETESTIMATE    = 242 // { int ffclock_setestimate( \\\n\tSYS_FFCLOCK_GETESTIMATE    = 243 // { int ffclock_getestimate( \\\n\tSYS_CLOCK_GETCPUCLOCKID2   = 247 // { int clock_getcpuclockid2(id_t id,\\\n\tSYS_NTP_GETTIME            = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }\n\tSYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, \\\n\tSYS_RFORK                  = 251 // { int rfork(int flags); }\n\tSYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, \\\n\tSYS_ISSETUGID              = 253 // { int issetugid(void); }\n\tSYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }\n\tSYS_GETDENTS               = 272 // { int getdents(int fd, char *buf, \\\n\tSYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }\n\tSYS_LUTIMES                = 276 // { int lutimes(char *path, \\\n\tSYS_NSTAT                  = 278 // { int nstat(char *path, struct nstat *ub); }\n\tSYS_NFSTAT                 = 279 // { int nfstat(int fd, struct nstat *sb); }\n\tSYS_NLSTAT                 = 280 // { int nlstat(char *path, struct nstat *ub); }\n\tSYS_PREADV                 = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \\\n\tSYS_PWRITEV                = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \\\n\tSYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, \\\n\tSYS_FHSTAT                 = 299 // { int fhstat(const struct fhandle *u_fhp, \\\n\tSYS_MODNEXT                = 300 // { int modnext(int modid); }\n\tSYS_MODSTAT                = 301 // { int modstat(int modid, \\\n\tSYS_MODFNEXT               = 302 // { int modfnext(int modid); }\n\tSYS_MODFIND                = 303 // { int modfind(const char *name); }\n\tSYS_KLDLOAD                = 304 // { int kldload(const char *file); }\n\tSYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }\n\tSYS_KLDFIND                = 306 // { int kldfind(const char *file); }\n\tSYS_KLDNEXT                = 307 // { int kldnext(int fileid); }\n\tSYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct \\\n\tSYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }\n\tSYS_GETSID                 = 310 // { int getsid(pid_t pid); }\n\tSYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, \\\n\tSYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, \\\n\tSYS_YIELD                  = 321 // { int yield(void); }\n\tSYS_MLOCKALL               = 324 // { int mlockall(int how); }\n\tSYS_MUNLOCKALL             = 325 // { int munlockall(void); }\n\tSYS___GETCWD               = 326 // { int __getcwd(char *buf, u_int buflen); }\n\tSYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, \\\n\tSYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct \\\n\tSYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int \\\n\tSYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }\n\tSYS_SCHED_YIELD            = 331 // { int sched_yield (void); }\n\tSYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }\n\tSYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }\n\tSYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, \\\n\tSYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }\n\tSYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, \\\n\tSYS_JAIL                   = 338 // { int jail(struct jail *jail); }\n\tSYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, \\\n\tSYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }\n\tSYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }\n\tSYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set, \\\n\tSYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set, \\\n\tSYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \\\n\tSYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \\\n\tSYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, \\\n\tSYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, \\\n\tSYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \\\n\tSYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, \\\n\tSYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \\\n\tSYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, \\\n\tSYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \\\n\tSYS_EXTATTR_SET_FILE       = 356 // { ssize_t extattr_set_file( \\\n\tSYS_EXTATTR_GET_FILE       = 357 // { ssize_t extattr_get_file( \\\n\tSYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \\\n\tSYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \\\n\tSYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \\\n\tSYS_KQUEUE                 = 362 // { int kqueue(void); }\n\tSYS_KEVENT                 = 363 // { int kevent(int fd, \\\n\tSYS_EXTATTR_SET_FD         = 371 // { ssize_t extattr_set_fd(int fd, \\\n\tSYS_EXTATTR_GET_FD         = 372 // { ssize_t extattr_get_fd(int fd, \\\n\tSYS_EXTATTR_DELETE_FD      = 373 // { int extattr_delete_fd(int fd, \\\n\tSYS___SETUGID              = 374 // { int __setugid(int flag); }\n\tSYS_EACCESS                = 376 // { int eaccess(char *path, int amode); }\n\tSYS_NMOUNT                 = 378 // { int nmount(struct iovec *iovp, \\\n\tSYS___MAC_GET_PROC         = 384 // { int __mac_get_proc(struct mac *mac_p); }\n\tSYS___MAC_SET_PROC         = 385 // { int __mac_set_proc(struct mac *mac_p); }\n\tSYS___MAC_GET_FD           = 386 // { int __mac_get_fd(int fd, \\\n\tSYS___MAC_GET_FILE         = 387 // { int __mac_get_file(const char *path_p, \\\n\tSYS___MAC_SET_FD           = 388 // { int __mac_set_fd(int fd, \\\n\tSYS___MAC_SET_FILE         = 389 // { int __mac_set_file(const char *path_p, \\\n\tSYS_KENV                   = 390 // { int kenv(int what, const char *name, \\\n\tSYS_LCHFLAGS               = 391 // { int lchflags(const char *path, \\\n\tSYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, \\\n\tSYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, \\\n\tSYS_MAC_SYSCALL            = 394 // { int mac_syscall(const char *policy, \\\n\tSYS_GETFSSTAT              = 395 // { int getfsstat(struct statfs *buf, \\\n\tSYS_STATFS                 = 396 // { int statfs(char *path, \\\n\tSYS_FSTATFS                = 397 // { int fstatfs(int fd, struct statfs *buf); }\n\tSYS_FHSTATFS               = 398 // { int fhstatfs(const struct fhandle *u_fhp, \\\n\tSYS___MAC_GET_PID          = 409 // { int __mac_get_pid(pid_t pid, \\\n\tSYS___MAC_GET_LINK         = 410 // { int __mac_get_link(const char *path_p, \\\n\tSYS___MAC_SET_LINK         = 411 // { int __mac_set_link(const char *path_p, \\\n\tSYS_EXTATTR_SET_LINK       = 412 // { ssize_t extattr_set_link( \\\n\tSYS_EXTATTR_GET_LINK       = 413 // { ssize_t extattr_get_link( \\\n\tSYS_EXTATTR_DELETE_LINK    = 414 // { int extattr_delete_link( \\\n\tSYS___MAC_EXECVE           = 415 // { int __mac_execve(char *fname, char **argv, \\\n\tSYS_SIGACTION              = 416 // { int sigaction(int sig, \\\n\tSYS_SIGRETURN              = 417 // { int sigreturn( \\\n\tSYS_GETCONTEXT             = 421 // { int getcontext(struct __ucontext *ucp); }\n\tSYS_SETCONTEXT             = 422 // { int setcontext( \\\n\tSYS_SWAPCONTEXT            = 423 // { int swapcontext(struct __ucontext *oucp, \\\n\tSYS_SWAPOFF                = 424 // { int swapoff(const char *name); }\n\tSYS___ACL_GET_LINK         = 425 // { int __acl_get_link(const char *path, \\\n\tSYS___ACL_SET_LINK         = 426 // { int __acl_set_link(const char *path, \\\n\tSYS___ACL_DELETE_LINK      = 427 // { int __acl_delete_link(const char *path, \\\n\tSYS___ACL_ACLCHECK_LINK    = 428 // { int __acl_aclcheck_link(const char *path, \\\n\tSYS_SIGWAIT                = 429 // { int sigwait(const sigset_t *set, \\\n\tSYS_THR_CREATE             = 430 // { int thr_create(ucontext_t *ctx, long *id, \\\n\tSYS_THR_EXIT               = 431 // { void thr_exit(long *state); }\n\tSYS_THR_SELF               = 432 // { int thr_self(long *id); }\n\tSYS_THR_KILL               = 433 // { int thr_kill(long id, int sig); }\n\tSYS__UMTX_LOCK             = 434 // { int _umtx_lock(struct umtx *umtx); }\n\tSYS__UMTX_UNLOCK           = 435 // { int _umtx_unlock(struct umtx *umtx); }\n\tSYS_JAIL_ATTACH            = 436 // { int jail_attach(int jid); }\n\tSYS_EXTATTR_LIST_FD        = 437 // { ssize_t extattr_list_fd(int fd, \\\n\tSYS_EXTATTR_LIST_FILE      = 438 // { ssize_t extattr_list_file( \\\n\tSYS_EXTATTR_LIST_LINK      = 439 // { ssize_t extattr_list_link( \\\n\tSYS_THR_SUSPEND            = 442 // { int thr_suspend( \\\n\tSYS_THR_WAKE               = 443 // { int thr_wake(long id); }\n\tSYS_KLDUNLOADF             = 444 // { int kldunloadf(int fileid, int flags); }\n\tSYS_AUDIT                  = 445 // { int audit(const void *record, \\\n\tSYS_AUDITON                = 446 // { int auditon(int cmd, void *data, \\\n\tSYS_GETAUID                = 447 // { int getauid(uid_t *auid); }\n\tSYS_SETAUID                = 448 // { int setauid(uid_t *auid); }\n\tSYS_GETAUDIT               = 449 // { int getaudit(struct auditinfo *auditinfo); }\n\tSYS_SETAUDIT               = 450 // { int setaudit(struct auditinfo *auditinfo); }\n\tSYS_GETAUDIT_ADDR          = 451 // { int getaudit_addr( \\\n\tSYS_SETAUDIT_ADDR          = 452 // { int setaudit_addr( \\\n\tSYS_AUDITCTL               = 453 // { int auditctl(char *path); }\n\tSYS__UMTX_OP               = 454 // { int _umtx_op(void *obj, int op, \\\n\tSYS_THR_NEW                = 455 // { int thr_new(struct thr_param *param, \\\n\tSYS_SIGQUEUE               = 456 // { int sigqueue(pid_t pid, int signum, void *value); }\n\tSYS_ABORT2                 = 463 // { int abort2(const char *why, int nargs, void **args); }\n\tSYS_THR_SET_NAME           = 464 // { int thr_set_name(long id, const char *name); }\n\tSYS_RTPRIO_THREAD          = 466 // { int rtprio_thread(int function, \\\n\tSYS_PREAD                  = 475 // { ssize_t pread(int fd, void *buf, \\\n\tSYS_PWRITE                 = 476 // { ssize_t pwrite(int fd, const void *buf, \\\n\tSYS_MMAP                   = 477 // { caddr_t mmap(caddr_t addr, size_t len, \\\n\tSYS_LSEEK                  = 478 // { off_t lseek(int fd, off_t offset, \\\n\tSYS_TRUNCATE               = 479 // { int truncate(char *path, off_t length); }\n\tSYS_FTRUNCATE              = 480 // { int ftruncate(int fd, off_t length); }\n\tSYS_THR_KILL2              = 481 // { int thr_kill2(pid_t pid, long id, int sig); }\n\tSYS_SHM_OPEN               = 482 // { int shm_open(const char *path, int flags, \\\n\tSYS_SHM_UNLINK             = 483 // { int shm_unlink(const char *path); }\n\tSYS_CPUSET                 = 484 // { int cpuset(cpusetid_t *setid); }\n\tSYS_CPUSET_SETID           = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \\\n\tSYS_CPUSET_GETID           = 486 // { int cpuset_getid(cpulevel_t level, \\\n\tSYS_CPUSET_GETAFFINITY     = 487 // { int cpuset_getaffinity(cpulevel_t level, \\\n\tSYS_CPUSET_SETAFFINITY     = 488 // { int cpuset_setaffinity(cpulevel_t level, \\\n\tSYS_FACCESSAT              = 489 // { int faccessat(int fd, char *path, int amode, \\\n\tSYS_FCHMODAT               = 490 // { int fchmodat(int fd, char *path, mode_t mode, \\\n\tSYS_FCHOWNAT               = 491 // { int fchownat(int fd, char *path, uid_t uid, \\\n\tSYS_FEXECVE                = 492 // { int fexecve(int fd, char **argv, \\\n\tSYS_FSTATAT                = 493 // { int fstatat(int fd, char *path, \\\n\tSYS_FUTIMESAT              = 494 // { int futimesat(int fd, char *path, \\\n\tSYS_LINKAT                 = 495 // { int linkat(int fd1, char *path1, int fd2, \\\n\tSYS_MKDIRAT                = 496 // { int mkdirat(int fd, char *path, mode_t mode); }\n\tSYS_MKFIFOAT               = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }\n\tSYS_MKNODAT                = 498 // { int mknodat(int fd, char *path, mode_t mode, \\\n\tSYS_OPENAT                 = 499 // { int openat(int fd, char *path, int flag, \\\n\tSYS_READLINKAT             = 500 // { int readlinkat(int fd, char *path, char *buf, \\\n\tSYS_RENAMEAT               = 501 // { int renameat(int oldfd, char *old, int newfd, \\\n\tSYS_SYMLINKAT              = 502 // { int symlinkat(char *path1, int fd, \\\n\tSYS_UNLINKAT               = 503 // { int unlinkat(int fd, char *path, int flag); }\n\tSYS_POSIX_OPENPT           = 504 // { int posix_openpt(int flags); }\n\tSYS_JAIL_GET               = 506 // { int jail_get(struct iovec *iovp, \\\n\tSYS_JAIL_SET               = 507 // { int jail_set(struct iovec *iovp, \\\n\tSYS_JAIL_REMOVE            = 508 // { int jail_remove(int jid); }\n\tSYS_CLOSEFROM              = 509 // { int closefrom(int lowfd); }\n\tSYS_LPATHCONF              = 513 // { int lpathconf(char *path, int name); }\n\tSYS___CAP_RIGHTS_GET       = 515 // { int __cap_rights_get(int version, \\\n\tSYS_CAP_ENTER              = 516 // { int cap_enter(void); }\n\tSYS_CAP_GETMODE            = 517 // { int cap_getmode(u_int *modep); }\n\tSYS_PDFORK                 = 518 // { int pdfork(int *fdp, int flags); }\n\tSYS_PDKILL                 = 519 // { int pdkill(int fd, int signum); }\n\tSYS_PDGETPID               = 520 // { int pdgetpid(int fd, pid_t *pidp); }\n\tSYS_PSELECT                = 522 // { int pselect(int nd, fd_set *in, \\\n\tSYS_GETLOGINCLASS          = 523 // { int getloginclass(char *namebuf, \\\n\tSYS_SETLOGINCLASS          = 524 // { int setloginclass(const char *namebuf); }\n\tSYS_RCTL_GET_RACCT         = 525 // { int rctl_get_racct(const void *inbufp, \\\n\tSYS_RCTL_GET_RULES         = 526 // { int rctl_get_rules(const void *inbufp, \\\n\tSYS_RCTL_GET_LIMITS        = 527 // { int rctl_get_limits(const void *inbufp, \\\n\tSYS_RCTL_ADD_RULE          = 528 // { int rctl_add_rule(const void *inbufp, \\\n\tSYS_RCTL_REMOVE_RULE       = 529 // { int rctl_remove_rule(const void *inbufp, \\\n\tSYS_POSIX_FALLOCATE        = 530 // { int posix_fallocate(int fd, \\\n\tSYS_POSIX_FADVISE          = 531 // { int posix_fadvise(int fd, off_t offset, \\\n\tSYS_WAIT6                  = 532 // { int wait6(idtype_t idtype, id_t id, \\\n\tSYS_CAP_RIGHTS_LIMIT       = 533 // { int cap_rights_limit(int fd, \\\n\tSYS_CAP_IOCTLS_LIMIT       = 534 // { int cap_ioctls_limit(int fd, \\\n\tSYS_CAP_IOCTLS_GET         = 535 // { ssize_t cap_ioctls_get(int fd, \\\n\tSYS_CAP_FCNTLS_LIMIT       = 536 // { int cap_fcntls_limit(int fd, \\\n\tSYS_CAP_FCNTLS_GET         = 537 // { int cap_fcntls_get(int fd, \\\n\tSYS_BINDAT                 = 538 // { int bindat(int fd, int s, caddr_t name, \\\n\tSYS_CONNECTAT              = 539 // { int connectat(int fd, int s, caddr_t name, \\\n\tSYS_CHFLAGSAT              = 540 // { int chflagsat(int fd, const char *path, \\\n\tSYS_ACCEPT4                = 541 // { int accept4(int s, \\\n\tSYS_PIPE2                  = 542 // { int pipe2(int *fildes, int flags); }\n\tSYS_PROCCTL                = 544 // { int procctl(idtype_t idtype, id_t id, \\\n\tSYS_PPOLL                  = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \\\n\tSYS_FUTIMENS               = 546 // { int futimens(int fd, \\\n\tSYS_UTIMENSAT              = 547 // { int utimensat(int fd, \\\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go",
    "content": "// mksysnum_freebsd.pl\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,freebsd\n\npackage unix\n\nconst (\n\t// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int\n\tSYS_EXIT                   = 1   // { void sys_exit(int rval); } exit \\\n\tSYS_FORK                   = 2   // { int fork(void); }\n\tSYS_READ                   = 3   // { ssize_t read(int fd, void *buf, \\\n\tSYS_WRITE                  = 4   // { ssize_t write(int fd, const void *buf, \\\n\tSYS_OPEN                   = 5   // { int open(char *path, int flags, int mode); }\n\tSYS_CLOSE                  = 6   // { int close(int fd); }\n\tSYS_WAIT4                  = 7   // { int wait4(int pid, int *status, \\\n\tSYS_LINK                   = 9   // { int link(char *path, char *link); }\n\tSYS_UNLINK                 = 10  // { int unlink(char *path); }\n\tSYS_CHDIR                  = 12  // { int chdir(char *path); }\n\tSYS_FCHDIR                 = 13  // { int fchdir(int fd); }\n\tSYS_MKNOD                  = 14  // { int mknod(char *path, int mode, int dev); }\n\tSYS_CHMOD                  = 15  // { int chmod(char *path, int mode); }\n\tSYS_CHOWN                  = 16  // { int chown(char *path, int uid, int gid); }\n\tSYS_OBREAK                 = 17  // { int obreak(char *nsize); } break \\\n\tSYS_GETPID                 = 20  // { pid_t getpid(void); }\n\tSYS_MOUNT                  = 21  // { int mount(char *type, char *path, \\\n\tSYS_UNMOUNT                = 22  // { int unmount(char *path, int flags); }\n\tSYS_SETUID                 = 23  // { int setuid(uid_t uid); }\n\tSYS_GETUID                 = 24  // { uid_t getuid(void); }\n\tSYS_GETEUID                = 25  // { uid_t geteuid(void); }\n\tSYS_PTRACE                 = 26  // { int ptrace(int req, pid_t pid, \\\n\tSYS_RECVMSG                = 27  // { int recvmsg(int s, struct msghdr *msg, \\\n\tSYS_SENDMSG                = 28  // { int sendmsg(int s, struct msghdr *msg, \\\n\tSYS_RECVFROM               = 29  // { int recvfrom(int s, caddr_t buf, \\\n\tSYS_ACCEPT                 = 30  // { int accept(int s, \\\n\tSYS_GETPEERNAME            = 31  // { int getpeername(int fdes, \\\n\tSYS_GETSOCKNAME            = 32  // { int getsockname(int fdes, \\\n\tSYS_ACCESS                 = 33  // { int access(char *path, int amode); }\n\tSYS_CHFLAGS                = 34  // { int chflags(const char *path, u_long flags); }\n\tSYS_FCHFLAGS               = 35  // { int fchflags(int fd, u_long flags); }\n\tSYS_SYNC                   = 36  // { int sync(void); }\n\tSYS_KILL                   = 37  // { int kill(int pid, int signum); }\n\tSYS_GETPPID                = 39  // { pid_t getppid(void); }\n\tSYS_DUP                    = 41  // { int dup(u_int fd); }\n\tSYS_PIPE                   = 42  // { int pipe(void); }\n\tSYS_GETEGID                = 43  // { gid_t getegid(void); }\n\tSYS_PROFIL                 = 44  // { int profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE                 = 45  // { int ktrace(const char *fname, int ops, \\\n\tSYS_GETGID                 = 47  // { gid_t getgid(void); }\n\tSYS_GETLOGIN               = 49  // { int getlogin(char *namebuf, u_int \\\n\tSYS_SETLOGIN               = 50  // { int setlogin(char *namebuf); }\n\tSYS_ACCT                   = 51  // { int acct(char *path); }\n\tSYS_SIGALTSTACK            = 53  // { int sigaltstack(stack_t *ss, \\\n\tSYS_IOCTL                  = 54  // { int ioctl(int fd, u_long com, \\\n\tSYS_REBOOT                 = 55  // { int reboot(int opt); }\n\tSYS_REVOKE                 = 56  // { int revoke(char *path); }\n\tSYS_SYMLINK                = 57  // { int symlink(char *path, char *link); }\n\tSYS_READLINK               = 58  // { ssize_t readlink(char *path, char *buf, \\\n\tSYS_EXECVE                 = 59  // { int execve(char *fname, char **argv, \\\n\tSYS_UMASK                  = 60  // { int umask(int newmask); } umask umask_args \\\n\tSYS_CHROOT                 = 61  // { int chroot(char *path); }\n\tSYS_MSYNC                  = 65  // { int msync(void *addr, size_t len, \\\n\tSYS_VFORK                  = 66  // { int vfork(void); }\n\tSYS_SBRK                   = 69  // { int sbrk(int incr); }\n\tSYS_SSTK                   = 70  // { int sstk(int incr); }\n\tSYS_OVADVISE               = 72  // { int ovadvise(int anom); } vadvise \\\n\tSYS_MUNMAP                 = 73  // { int munmap(void *addr, size_t len); }\n\tSYS_MPROTECT               = 74  // { int mprotect(const void *addr, size_t len, \\\n\tSYS_MADVISE                = 75  // { int madvise(void *addr, size_t len, \\\n\tSYS_MINCORE                = 78  // { int mincore(const void *addr, size_t len, \\\n\tSYS_GETGROUPS              = 79  // { int getgroups(u_int gidsetsize, \\\n\tSYS_SETGROUPS              = 80  // { int setgroups(u_int gidsetsize, \\\n\tSYS_GETPGRP                = 81  // { int getpgrp(void); }\n\tSYS_SETPGID                = 82  // { int setpgid(int pid, int pgid); }\n\tSYS_SETITIMER              = 83  // { int setitimer(u_int which, struct \\\n\tSYS_SWAPON                 = 85  // { int swapon(char *name); }\n\tSYS_GETITIMER              = 86  // { int getitimer(u_int which, \\\n\tSYS_GETDTABLESIZE          = 89  // { int getdtablesize(void); }\n\tSYS_DUP2                   = 90  // { int dup2(u_int from, u_int to); }\n\tSYS_FCNTL                  = 92  // { int fcntl(int fd, int cmd, long arg); }\n\tSYS_SELECT                 = 93  // { int select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_FSYNC                  = 95  // { int fsync(int fd); }\n\tSYS_SETPRIORITY            = 96  // { int setpriority(int which, int who, \\\n\tSYS_SOCKET                 = 97  // { int socket(int domain, int type, \\\n\tSYS_CONNECT                = 98  // { int connect(int s, caddr_t name, \\\n\tSYS_GETPRIORITY            = 100 // { int getpriority(int which, int who); }\n\tSYS_BIND                   = 104 // { int bind(int s, caddr_t name, \\\n\tSYS_SETSOCKOPT             = 105 // { int setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN                 = 106 // { int listen(int s, int backlog); }\n\tSYS_GETTIMEOFDAY           = 116 // { int gettimeofday(struct timeval *tp, \\\n\tSYS_GETRUSAGE              = 117 // { int getrusage(int who, \\\n\tSYS_GETSOCKOPT             = 118 // { int getsockopt(int s, int level, int name, \\\n\tSYS_READV                  = 120 // { int readv(int fd, struct iovec *iovp, \\\n\tSYS_WRITEV                 = 121 // { int writev(int fd, struct iovec *iovp, \\\n\tSYS_SETTIMEOFDAY           = 122 // { int settimeofday(struct timeval *tv, \\\n\tSYS_FCHOWN                 = 123 // { int fchown(int fd, int uid, int gid); }\n\tSYS_FCHMOD                 = 124 // { int fchmod(int fd, int mode); }\n\tSYS_SETREUID               = 126 // { int setreuid(int ruid, int euid); }\n\tSYS_SETREGID               = 127 // { int setregid(int rgid, int egid); }\n\tSYS_RENAME                 = 128 // { int rename(char *from, char *to); }\n\tSYS_FLOCK                  = 131 // { int flock(int fd, int how); }\n\tSYS_MKFIFO                 = 132 // { int mkfifo(char *path, int mode); }\n\tSYS_SENDTO                 = 133 // { int sendto(int s, caddr_t buf, size_t len, \\\n\tSYS_SHUTDOWN               = 134 // { int shutdown(int s, int how); }\n\tSYS_SOCKETPAIR             = 135 // { int socketpair(int domain, int type, \\\n\tSYS_MKDIR                  = 136 // { int mkdir(char *path, int mode); }\n\tSYS_RMDIR                  = 137 // { int rmdir(char *path); }\n\tSYS_UTIMES                 = 138 // { int utimes(char *path, \\\n\tSYS_ADJTIME                = 140 // { int adjtime(struct timeval *delta, \\\n\tSYS_SETSID                 = 147 // { int setsid(void); }\n\tSYS_QUOTACTL               = 148 // { int quotactl(char *path, int cmd, int uid, \\\n\tSYS_LGETFH                 = 160 // { int lgetfh(char *fname, \\\n\tSYS_GETFH                  = 161 // { int getfh(char *fname, \\\n\tSYS_SYSARCH                = 165 // { int sysarch(int op, char *parms); }\n\tSYS_RTPRIO                 = 166 // { int rtprio(int function, pid_t pid, \\\n\tSYS_FREEBSD6_PREAD         = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \\\n\tSYS_FREEBSD6_PWRITE        = 174 // { ssize_t freebsd6_pwrite(int fd, \\\n\tSYS_SETFIB                 = 175 // { int setfib(int fibnum); }\n\tSYS_NTP_ADJTIME            = 176 // { int ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID                 = 181 // { int setgid(gid_t gid); }\n\tSYS_SETEGID                = 182 // { int setegid(gid_t egid); }\n\tSYS_SETEUID                = 183 // { int seteuid(uid_t euid); }\n\tSYS_STAT                   = 188 // { int stat(char *path, struct stat *ub); }\n\tSYS_FSTAT                  = 189 // { int fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                  = 190 // { int lstat(char *path, struct stat *ub); }\n\tSYS_PATHCONF               = 191 // { int pathconf(char *path, int name); }\n\tSYS_FPATHCONF              = 192 // { int fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT              = 194 // { int getrlimit(u_int which, \\\n\tSYS_SETRLIMIT              = 195 // { int setrlimit(u_int which, \\\n\tSYS_GETDIRENTRIES          = 196 // { int getdirentries(int fd, char *buf, \\\n\tSYS_FREEBSD6_MMAP          = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \\\n\tSYS_FREEBSD6_LSEEK         = 199 // { off_t freebsd6_lseek(int fd, int pad, \\\n\tSYS_FREEBSD6_TRUNCATE      = 200 // { int freebsd6_truncate(char *path, int pad, \\\n\tSYS_FREEBSD6_FTRUNCATE     = 201 // { int freebsd6_ftruncate(int fd, int pad, \\\n\tSYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, \\\n\tSYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE               = 205 // { int undelete(char *path); }\n\tSYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }\n\tSYS_GETPGID                = 207 // { int getpgid(pid_t pid); }\n\tSYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \\\n\tSYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME          = 233 // { int clock_settime( \\\n\tSYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \\\n\tSYS_KTIMER_CREATE          = 235 // { int ktimer_create(clockid_t clock_id, \\\n\tSYS_KTIMER_DELETE          = 236 // { int ktimer_delete(int timerid); }\n\tSYS_KTIMER_SETTIME         = 237 // { int ktimer_settime(int timerid, int flags, \\\n\tSYS_KTIMER_GETTIME         = 238 // { int ktimer_gettime(int timerid, struct \\\n\tSYS_KTIMER_GETOVERRUN      = 239 // { int ktimer_getoverrun(int timerid); }\n\tSYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \\\n\tSYS_FFCLOCK_GETCOUNTER     = 241 // { int ffclock_getcounter(ffcounter *ffcount); }\n\tSYS_FFCLOCK_SETESTIMATE    = 242 // { int ffclock_setestimate( \\\n\tSYS_FFCLOCK_GETESTIMATE    = 243 // { int ffclock_getestimate( \\\n\tSYS_CLOCK_GETCPUCLOCKID2   = 247 // { int clock_getcpuclockid2(id_t id,\\\n\tSYS_NTP_GETTIME            = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }\n\tSYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, \\\n\tSYS_RFORK                  = 251 // { int rfork(int flags); }\n\tSYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, \\\n\tSYS_ISSETUGID              = 253 // { int issetugid(void); }\n\tSYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }\n\tSYS_GETDENTS               = 272 // { int getdents(int fd, char *buf, \\\n\tSYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }\n\tSYS_LUTIMES                = 276 // { int lutimes(char *path, \\\n\tSYS_NSTAT                  = 278 // { int nstat(char *path, struct nstat *ub); }\n\tSYS_NFSTAT                 = 279 // { int nfstat(int fd, struct nstat *sb); }\n\tSYS_NLSTAT                 = 280 // { int nlstat(char *path, struct nstat *ub); }\n\tSYS_PREADV                 = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \\\n\tSYS_PWRITEV                = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \\\n\tSYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, \\\n\tSYS_FHSTAT                 = 299 // { int fhstat(const struct fhandle *u_fhp, \\\n\tSYS_MODNEXT                = 300 // { int modnext(int modid); }\n\tSYS_MODSTAT                = 301 // { int modstat(int modid, \\\n\tSYS_MODFNEXT               = 302 // { int modfnext(int modid); }\n\tSYS_MODFIND                = 303 // { int modfind(const char *name); }\n\tSYS_KLDLOAD                = 304 // { int kldload(const char *file); }\n\tSYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }\n\tSYS_KLDFIND                = 306 // { int kldfind(const char *file); }\n\tSYS_KLDNEXT                = 307 // { int kldnext(int fileid); }\n\tSYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct \\\n\tSYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }\n\tSYS_GETSID                 = 310 // { int getsid(pid_t pid); }\n\tSYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, \\\n\tSYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, \\\n\tSYS_YIELD                  = 321 // { int yield(void); }\n\tSYS_MLOCKALL               = 324 // { int mlockall(int how); }\n\tSYS_MUNLOCKALL             = 325 // { int munlockall(void); }\n\tSYS___GETCWD               = 326 // { int __getcwd(char *buf, u_int buflen); }\n\tSYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, \\\n\tSYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct \\\n\tSYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int \\\n\tSYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }\n\tSYS_SCHED_YIELD            = 331 // { int sched_yield (void); }\n\tSYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }\n\tSYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }\n\tSYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, \\\n\tSYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }\n\tSYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, \\\n\tSYS_JAIL                   = 338 // { int jail(struct jail *jail); }\n\tSYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, \\\n\tSYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }\n\tSYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }\n\tSYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set, \\\n\tSYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set, \\\n\tSYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \\\n\tSYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \\\n\tSYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, \\\n\tSYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, \\\n\tSYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \\\n\tSYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, \\\n\tSYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \\\n\tSYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, \\\n\tSYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \\\n\tSYS_EXTATTR_SET_FILE       = 356 // { ssize_t extattr_set_file( \\\n\tSYS_EXTATTR_GET_FILE       = 357 // { ssize_t extattr_get_file( \\\n\tSYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \\\n\tSYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \\\n\tSYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \\\n\tSYS_KQUEUE                 = 362 // { int kqueue(void); }\n\tSYS_KEVENT                 = 363 // { int kevent(int fd, \\\n\tSYS_EXTATTR_SET_FD         = 371 // { ssize_t extattr_set_fd(int fd, \\\n\tSYS_EXTATTR_GET_FD         = 372 // { ssize_t extattr_get_fd(int fd, \\\n\tSYS_EXTATTR_DELETE_FD      = 373 // { int extattr_delete_fd(int fd, \\\n\tSYS___SETUGID              = 374 // { int __setugid(int flag); }\n\tSYS_EACCESS                = 376 // { int eaccess(char *path, int amode); }\n\tSYS_NMOUNT                 = 378 // { int nmount(struct iovec *iovp, \\\n\tSYS___MAC_GET_PROC         = 384 // { int __mac_get_proc(struct mac *mac_p); }\n\tSYS___MAC_SET_PROC         = 385 // { int __mac_set_proc(struct mac *mac_p); }\n\tSYS___MAC_GET_FD           = 386 // { int __mac_get_fd(int fd, \\\n\tSYS___MAC_GET_FILE         = 387 // { int __mac_get_file(const char *path_p, \\\n\tSYS___MAC_SET_FD           = 388 // { int __mac_set_fd(int fd, \\\n\tSYS___MAC_SET_FILE         = 389 // { int __mac_set_file(const char *path_p, \\\n\tSYS_KENV                   = 390 // { int kenv(int what, const char *name, \\\n\tSYS_LCHFLAGS               = 391 // { int lchflags(const char *path, \\\n\tSYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, \\\n\tSYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, \\\n\tSYS_MAC_SYSCALL            = 394 // { int mac_syscall(const char *policy, \\\n\tSYS_GETFSSTAT              = 395 // { int getfsstat(struct statfs *buf, \\\n\tSYS_STATFS                 = 396 // { int statfs(char *path, \\\n\tSYS_FSTATFS                = 397 // { int fstatfs(int fd, struct statfs *buf); }\n\tSYS_FHSTATFS               = 398 // { int fhstatfs(const struct fhandle *u_fhp, \\\n\tSYS___MAC_GET_PID          = 409 // { int __mac_get_pid(pid_t pid, \\\n\tSYS___MAC_GET_LINK         = 410 // { int __mac_get_link(const char *path_p, \\\n\tSYS___MAC_SET_LINK         = 411 // { int __mac_set_link(const char *path_p, \\\n\tSYS_EXTATTR_SET_LINK       = 412 // { ssize_t extattr_set_link( \\\n\tSYS_EXTATTR_GET_LINK       = 413 // { ssize_t extattr_get_link( \\\n\tSYS_EXTATTR_DELETE_LINK    = 414 // { int extattr_delete_link( \\\n\tSYS___MAC_EXECVE           = 415 // { int __mac_execve(char *fname, char **argv, \\\n\tSYS_SIGACTION              = 416 // { int sigaction(int sig, \\\n\tSYS_SIGRETURN              = 417 // { int sigreturn( \\\n\tSYS_GETCONTEXT             = 421 // { int getcontext(struct __ucontext *ucp); }\n\tSYS_SETCONTEXT             = 422 // { int setcontext( \\\n\tSYS_SWAPCONTEXT            = 423 // { int swapcontext(struct __ucontext *oucp, \\\n\tSYS_SWAPOFF                = 424 // { int swapoff(const char *name); }\n\tSYS___ACL_GET_LINK         = 425 // { int __acl_get_link(const char *path, \\\n\tSYS___ACL_SET_LINK         = 426 // { int __acl_set_link(const char *path, \\\n\tSYS___ACL_DELETE_LINK      = 427 // { int __acl_delete_link(const char *path, \\\n\tSYS___ACL_ACLCHECK_LINK    = 428 // { int __acl_aclcheck_link(const char *path, \\\n\tSYS_SIGWAIT                = 429 // { int sigwait(const sigset_t *set, \\\n\tSYS_THR_CREATE             = 430 // { int thr_create(ucontext_t *ctx, long *id, \\\n\tSYS_THR_EXIT               = 431 // { void thr_exit(long *state); }\n\tSYS_THR_SELF               = 432 // { int thr_self(long *id); }\n\tSYS_THR_KILL               = 433 // { int thr_kill(long id, int sig); }\n\tSYS__UMTX_LOCK             = 434 // { int _umtx_lock(struct umtx *umtx); }\n\tSYS__UMTX_UNLOCK           = 435 // { int _umtx_unlock(struct umtx *umtx); }\n\tSYS_JAIL_ATTACH            = 436 // { int jail_attach(int jid); }\n\tSYS_EXTATTR_LIST_FD        = 437 // { ssize_t extattr_list_fd(int fd, \\\n\tSYS_EXTATTR_LIST_FILE      = 438 // { ssize_t extattr_list_file( \\\n\tSYS_EXTATTR_LIST_LINK      = 439 // { ssize_t extattr_list_link( \\\n\tSYS_THR_SUSPEND            = 442 // { int thr_suspend( \\\n\tSYS_THR_WAKE               = 443 // { int thr_wake(long id); }\n\tSYS_KLDUNLOADF             = 444 // { int kldunloadf(int fileid, int flags); }\n\tSYS_AUDIT                  = 445 // { int audit(const void *record, \\\n\tSYS_AUDITON                = 446 // { int auditon(int cmd, void *data, \\\n\tSYS_GETAUID                = 447 // { int getauid(uid_t *auid); }\n\tSYS_SETAUID                = 448 // { int setauid(uid_t *auid); }\n\tSYS_GETAUDIT               = 449 // { int getaudit(struct auditinfo *auditinfo); }\n\tSYS_SETAUDIT               = 450 // { int setaudit(struct auditinfo *auditinfo); }\n\tSYS_GETAUDIT_ADDR          = 451 // { int getaudit_addr( \\\n\tSYS_SETAUDIT_ADDR          = 452 // { int setaudit_addr( \\\n\tSYS_AUDITCTL               = 453 // { int auditctl(char *path); }\n\tSYS__UMTX_OP               = 454 // { int _umtx_op(void *obj, int op, \\\n\tSYS_THR_NEW                = 455 // { int thr_new(struct thr_param *param, \\\n\tSYS_SIGQUEUE               = 456 // { int sigqueue(pid_t pid, int signum, void *value); }\n\tSYS_ABORT2                 = 463 // { int abort2(const char *why, int nargs, void **args); }\n\tSYS_THR_SET_NAME           = 464 // { int thr_set_name(long id, const char *name); }\n\tSYS_RTPRIO_THREAD          = 466 // { int rtprio_thread(int function, \\\n\tSYS_PREAD                  = 475 // { ssize_t pread(int fd, void *buf, \\\n\tSYS_PWRITE                 = 476 // { ssize_t pwrite(int fd, const void *buf, \\\n\tSYS_MMAP                   = 477 // { caddr_t mmap(caddr_t addr, size_t len, \\\n\tSYS_LSEEK                  = 478 // { off_t lseek(int fd, off_t offset, \\\n\tSYS_TRUNCATE               = 479 // { int truncate(char *path, off_t length); }\n\tSYS_FTRUNCATE              = 480 // { int ftruncate(int fd, off_t length); }\n\tSYS_THR_KILL2              = 481 // { int thr_kill2(pid_t pid, long id, int sig); }\n\tSYS_SHM_OPEN               = 482 // { int shm_open(const char *path, int flags, \\\n\tSYS_SHM_UNLINK             = 483 // { int shm_unlink(const char *path); }\n\tSYS_CPUSET                 = 484 // { int cpuset(cpusetid_t *setid); }\n\tSYS_CPUSET_SETID           = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \\\n\tSYS_CPUSET_GETID           = 486 // { int cpuset_getid(cpulevel_t level, \\\n\tSYS_CPUSET_GETAFFINITY     = 487 // { int cpuset_getaffinity(cpulevel_t level, \\\n\tSYS_CPUSET_SETAFFINITY     = 488 // { int cpuset_setaffinity(cpulevel_t level, \\\n\tSYS_FACCESSAT              = 489 // { int faccessat(int fd, char *path, int amode, \\\n\tSYS_FCHMODAT               = 490 // { int fchmodat(int fd, char *path, mode_t mode, \\\n\tSYS_FCHOWNAT               = 491 // { int fchownat(int fd, char *path, uid_t uid, \\\n\tSYS_FEXECVE                = 492 // { int fexecve(int fd, char **argv, \\\n\tSYS_FSTATAT                = 493 // { int fstatat(int fd, char *path, \\\n\tSYS_FUTIMESAT              = 494 // { int futimesat(int fd, char *path, \\\n\tSYS_LINKAT                 = 495 // { int linkat(int fd1, char *path1, int fd2, \\\n\tSYS_MKDIRAT                = 496 // { int mkdirat(int fd, char *path, mode_t mode); }\n\tSYS_MKFIFOAT               = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }\n\tSYS_MKNODAT                = 498 // { int mknodat(int fd, char *path, mode_t mode, \\\n\tSYS_OPENAT                 = 499 // { int openat(int fd, char *path, int flag, \\\n\tSYS_READLINKAT             = 500 // { int readlinkat(int fd, char *path, char *buf, \\\n\tSYS_RENAMEAT               = 501 // { int renameat(int oldfd, char *old, int newfd, \\\n\tSYS_SYMLINKAT              = 502 // { int symlinkat(char *path1, int fd, \\\n\tSYS_UNLINKAT               = 503 // { int unlinkat(int fd, char *path, int flag); }\n\tSYS_POSIX_OPENPT           = 504 // { int posix_openpt(int flags); }\n\tSYS_JAIL_GET               = 506 // { int jail_get(struct iovec *iovp, \\\n\tSYS_JAIL_SET               = 507 // { int jail_set(struct iovec *iovp, \\\n\tSYS_JAIL_REMOVE            = 508 // { int jail_remove(int jid); }\n\tSYS_CLOSEFROM              = 509 // { int closefrom(int lowfd); }\n\tSYS_LPATHCONF              = 513 // { int lpathconf(char *path, int name); }\n\tSYS___CAP_RIGHTS_GET       = 515 // { int __cap_rights_get(int version, \\\n\tSYS_CAP_ENTER              = 516 // { int cap_enter(void); }\n\tSYS_CAP_GETMODE            = 517 // { int cap_getmode(u_int *modep); }\n\tSYS_PDFORK                 = 518 // { int pdfork(int *fdp, int flags); }\n\tSYS_PDKILL                 = 519 // { int pdkill(int fd, int signum); }\n\tSYS_PDGETPID               = 520 // { int pdgetpid(int fd, pid_t *pidp); }\n\tSYS_PSELECT                = 522 // { int pselect(int nd, fd_set *in, \\\n\tSYS_GETLOGINCLASS          = 523 // { int getloginclass(char *namebuf, \\\n\tSYS_SETLOGINCLASS          = 524 // { int setloginclass(const char *namebuf); }\n\tSYS_RCTL_GET_RACCT         = 525 // { int rctl_get_racct(const void *inbufp, \\\n\tSYS_RCTL_GET_RULES         = 526 // { int rctl_get_rules(const void *inbufp, \\\n\tSYS_RCTL_GET_LIMITS        = 527 // { int rctl_get_limits(const void *inbufp, \\\n\tSYS_RCTL_ADD_RULE          = 528 // { int rctl_add_rule(const void *inbufp, \\\n\tSYS_RCTL_REMOVE_RULE       = 529 // { int rctl_remove_rule(const void *inbufp, \\\n\tSYS_POSIX_FALLOCATE        = 530 // { int posix_fallocate(int fd, \\\n\tSYS_POSIX_FADVISE          = 531 // { int posix_fadvise(int fd, off_t offset, \\\n\tSYS_WAIT6                  = 532 // { int wait6(idtype_t idtype, id_t id, \\\n\tSYS_CAP_RIGHTS_LIMIT       = 533 // { int cap_rights_limit(int fd, \\\n\tSYS_CAP_IOCTLS_LIMIT       = 534 // { int cap_ioctls_limit(int fd, \\\n\tSYS_CAP_IOCTLS_GET         = 535 // { ssize_t cap_ioctls_get(int fd, \\\n\tSYS_CAP_FCNTLS_LIMIT       = 536 // { int cap_fcntls_limit(int fd, \\\n\tSYS_CAP_FCNTLS_GET         = 537 // { int cap_fcntls_get(int fd, \\\n\tSYS_BINDAT                 = 538 // { int bindat(int fd, int s, caddr_t name, \\\n\tSYS_CONNECTAT              = 539 // { int connectat(int fd, int s, caddr_t name, \\\n\tSYS_CHFLAGSAT              = 540 // { int chflagsat(int fd, const char *path, \\\n\tSYS_ACCEPT4                = 541 // { int accept4(int s, \\\n\tSYS_PIPE2                  = 542 // { int pipe2(int *fildes, int flags); }\n\tSYS_PROCCTL                = 544 // { int procctl(idtype_t idtype, id_t id, \\\n\tSYS_PPOLL                  = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \\\n\tSYS_FUTIMENS               = 546 // { int futimens(int fd, \\\n\tSYS_UTIMENSAT              = 547 // { int utimensat(int fd, \\\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_386.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -m32 /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,linux\n\npackage unix\n\nconst (\n\tSYS_RESTART_SYSCALL        = 0\n\tSYS_EXIT                   = 1\n\tSYS_FORK                   = 2\n\tSYS_READ                   = 3\n\tSYS_WRITE                  = 4\n\tSYS_OPEN                   = 5\n\tSYS_CLOSE                  = 6\n\tSYS_WAITPID                = 7\n\tSYS_CREAT                  = 8\n\tSYS_LINK                   = 9\n\tSYS_UNLINK                 = 10\n\tSYS_EXECVE                 = 11\n\tSYS_CHDIR                  = 12\n\tSYS_TIME                   = 13\n\tSYS_MKNOD                  = 14\n\tSYS_CHMOD                  = 15\n\tSYS_LCHOWN                 = 16\n\tSYS_BREAK                  = 17\n\tSYS_OLDSTAT                = 18\n\tSYS_LSEEK                  = 19\n\tSYS_GETPID                 = 20\n\tSYS_MOUNT                  = 21\n\tSYS_UMOUNT                 = 22\n\tSYS_SETUID                 = 23\n\tSYS_GETUID                 = 24\n\tSYS_STIME                  = 25\n\tSYS_PTRACE                 = 26\n\tSYS_ALARM                  = 27\n\tSYS_OLDFSTAT               = 28\n\tSYS_PAUSE                  = 29\n\tSYS_UTIME                  = 30\n\tSYS_STTY                   = 31\n\tSYS_GTTY                   = 32\n\tSYS_ACCESS                 = 33\n\tSYS_NICE                   = 34\n\tSYS_FTIME                  = 35\n\tSYS_SYNC                   = 36\n\tSYS_KILL                   = 37\n\tSYS_RENAME                 = 38\n\tSYS_MKDIR                  = 39\n\tSYS_RMDIR                  = 40\n\tSYS_DUP                    = 41\n\tSYS_PIPE                   = 42\n\tSYS_TIMES                  = 43\n\tSYS_PROF                   = 44\n\tSYS_BRK                    = 45\n\tSYS_SETGID                 = 46\n\tSYS_GETGID                 = 47\n\tSYS_SIGNAL                 = 48\n\tSYS_GETEUID                = 49\n\tSYS_GETEGID                = 50\n\tSYS_ACCT                   = 51\n\tSYS_UMOUNT2                = 52\n\tSYS_LOCK                   = 53\n\tSYS_IOCTL                  = 54\n\tSYS_FCNTL                  = 55\n\tSYS_MPX                    = 56\n\tSYS_SETPGID                = 57\n\tSYS_ULIMIT                 = 58\n\tSYS_OLDOLDUNAME            = 59\n\tSYS_UMASK                  = 60\n\tSYS_CHROOT                 = 61\n\tSYS_USTAT                  = 62\n\tSYS_DUP2                   = 63\n\tSYS_GETPPID                = 64\n\tSYS_GETPGRP                = 65\n\tSYS_SETSID                 = 66\n\tSYS_SIGACTION              = 67\n\tSYS_SGETMASK               = 68\n\tSYS_SSETMASK               = 69\n\tSYS_SETREUID               = 70\n\tSYS_SETREGID               = 71\n\tSYS_SIGSUSPEND             = 72\n\tSYS_SIGPENDING             = 73\n\tSYS_SETHOSTNAME            = 74\n\tSYS_SETRLIMIT              = 75\n\tSYS_GETRLIMIT              = 76\n\tSYS_GETRUSAGE              = 77\n\tSYS_GETTIMEOFDAY           = 78\n\tSYS_SETTIMEOFDAY           = 79\n\tSYS_GETGROUPS              = 80\n\tSYS_SETGROUPS              = 81\n\tSYS_SELECT                 = 82\n\tSYS_SYMLINK                = 83\n\tSYS_OLDLSTAT               = 84\n\tSYS_READLINK               = 85\n\tSYS_USELIB                 = 86\n\tSYS_SWAPON                 = 87\n\tSYS_REBOOT                 = 88\n\tSYS_READDIR                = 89\n\tSYS_MMAP                   = 90\n\tSYS_MUNMAP                 = 91\n\tSYS_TRUNCATE               = 92\n\tSYS_FTRUNCATE              = 93\n\tSYS_FCHMOD                 = 94\n\tSYS_FCHOWN                 = 95\n\tSYS_GETPRIORITY            = 96\n\tSYS_SETPRIORITY            = 97\n\tSYS_PROFIL                 = 98\n\tSYS_STATFS                 = 99\n\tSYS_FSTATFS                = 100\n\tSYS_IOPERM                 = 101\n\tSYS_SOCKETCALL             = 102\n\tSYS_SYSLOG                 = 103\n\tSYS_SETITIMER              = 104\n\tSYS_GETITIMER              = 105\n\tSYS_STAT                   = 106\n\tSYS_LSTAT                  = 107\n\tSYS_FSTAT                  = 108\n\tSYS_OLDUNAME               = 109\n\tSYS_IOPL                   = 110\n\tSYS_VHANGUP                = 111\n\tSYS_IDLE                   = 112\n\tSYS_VM86OLD                = 113\n\tSYS_WAIT4                  = 114\n\tSYS_SWAPOFF                = 115\n\tSYS_SYSINFO                = 116\n\tSYS_IPC                    = 117\n\tSYS_FSYNC                  = 118\n\tSYS_SIGRETURN              = 119\n\tSYS_CLONE                  = 120\n\tSYS_SETDOMAINNAME          = 121\n\tSYS_UNAME                  = 122\n\tSYS_MODIFY_LDT             = 123\n\tSYS_ADJTIMEX               = 124\n\tSYS_MPROTECT               = 125\n\tSYS_SIGPROCMASK            = 126\n\tSYS_CREATE_MODULE          = 127\n\tSYS_INIT_MODULE            = 128\n\tSYS_DELETE_MODULE          = 129\n\tSYS_GET_KERNEL_SYMS        = 130\n\tSYS_QUOTACTL               = 131\n\tSYS_GETPGID                = 132\n\tSYS_FCHDIR                 = 133\n\tSYS_BDFLUSH                = 134\n\tSYS_SYSFS                  = 135\n\tSYS_PERSONALITY            = 136\n\tSYS_AFS_SYSCALL            = 137\n\tSYS_SETFSUID               = 138\n\tSYS_SETFSGID               = 139\n\tSYS__LLSEEK                = 140\n\tSYS_GETDENTS               = 141\n\tSYS__NEWSELECT             = 142\n\tSYS_FLOCK                  = 143\n\tSYS_MSYNC                  = 144\n\tSYS_READV                  = 145\n\tSYS_WRITEV                 = 146\n\tSYS_GETSID                 = 147\n\tSYS_FDATASYNC              = 148\n\tSYS__SYSCTL                = 149\n\tSYS_MLOCK                  = 150\n\tSYS_MUNLOCK                = 151\n\tSYS_MLOCKALL               = 152\n\tSYS_MUNLOCKALL             = 153\n\tSYS_SCHED_SETPARAM         = 154\n\tSYS_SCHED_GETPARAM         = 155\n\tSYS_SCHED_SETSCHEDULER     = 156\n\tSYS_SCHED_GETSCHEDULER     = 157\n\tSYS_SCHED_YIELD            = 158\n\tSYS_SCHED_GET_PRIORITY_MAX = 159\n\tSYS_SCHED_GET_PRIORITY_MIN = 160\n\tSYS_SCHED_RR_GET_INTERVAL  = 161\n\tSYS_NANOSLEEP              = 162\n\tSYS_MREMAP                 = 163\n\tSYS_SETRESUID              = 164\n\tSYS_GETRESUID              = 165\n\tSYS_VM86                   = 166\n\tSYS_QUERY_MODULE           = 167\n\tSYS_POLL                   = 168\n\tSYS_NFSSERVCTL             = 169\n\tSYS_SETRESGID              = 170\n\tSYS_GETRESGID              = 171\n\tSYS_PRCTL                  = 172\n\tSYS_RT_SIGRETURN           = 173\n\tSYS_RT_SIGACTION           = 174\n\tSYS_RT_SIGPROCMASK         = 175\n\tSYS_RT_SIGPENDING          = 176\n\tSYS_RT_SIGTIMEDWAIT        = 177\n\tSYS_RT_SIGQUEUEINFO        = 178\n\tSYS_RT_SIGSUSPEND          = 179\n\tSYS_PREAD64                = 180\n\tSYS_PWRITE64               = 181\n\tSYS_CHOWN                  = 182\n\tSYS_GETCWD                 = 183\n\tSYS_CAPGET                 = 184\n\tSYS_CAPSET                 = 185\n\tSYS_SIGALTSTACK            = 186\n\tSYS_SENDFILE               = 187\n\tSYS_GETPMSG                = 188\n\tSYS_PUTPMSG                = 189\n\tSYS_VFORK                  = 190\n\tSYS_UGETRLIMIT             = 191\n\tSYS_MMAP2                  = 192\n\tSYS_TRUNCATE64             = 193\n\tSYS_FTRUNCATE64            = 194\n\tSYS_STAT64                 = 195\n\tSYS_LSTAT64                = 196\n\tSYS_FSTAT64                = 197\n\tSYS_LCHOWN32               = 198\n\tSYS_GETUID32               = 199\n\tSYS_GETGID32               = 200\n\tSYS_GETEUID32              = 201\n\tSYS_GETEGID32              = 202\n\tSYS_SETREUID32             = 203\n\tSYS_SETREGID32             = 204\n\tSYS_GETGROUPS32            = 205\n\tSYS_SETGROUPS32            = 206\n\tSYS_FCHOWN32               = 207\n\tSYS_SETRESUID32            = 208\n\tSYS_GETRESUID32            = 209\n\tSYS_SETRESGID32            = 210\n\tSYS_GETRESGID32            = 211\n\tSYS_CHOWN32                = 212\n\tSYS_SETUID32               = 213\n\tSYS_SETGID32               = 214\n\tSYS_SETFSUID32             = 215\n\tSYS_SETFSGID32             = 216\n\tSYS_PIVOT_ROOT             = 217\n\tSYS_MINCORE                = 218\n\tSYS_MADVISE                = 219\n\tSYS_GETDENTS64             = 220\n\tSYS_FCNTL64                = 221\n\tSYS_GETTID                 = 224\n\tSYS_READAHEAD              = 225\n\tSYS_SETXATTR               = 226\n\tSYS_LSETXATTR              = 227\n\tSYS_FSETXATTR              = 228\n\tSYS_GETXATTR               = 229\n\tSYS_LGETXATTR              = 230\n\tSYS_FGETXATTR              = 231\n\tSYS_LISTXATTR              = 232\n\tSYS_LLISTXATTR             = 233\n\tSYS_FLISTXATTR             = 234\n\tSYS_REMOVEXATTR            = 235\n\tSYS_LREMOVEXATTR           = 236\n\tSYS_FREMOVEXATTR           = 237\n\tSYS_TKILL                  = 238\n\tSYS_SENDFILE64             = 239\n\tSYS_FUTEX                  = 240\n\tSYS_SCHED_SETAFFINITY      = 241\n\tSYS_SCHED_GETAFFINITY      = 242\n\tSYS_SET_THREAD_AREA        = 243\n\tSYS_GET_THREAD_AREA        = 244\n\tSYS_IO_SETUP               = 245\n\tSYS_IO_DESTROY             = 246\n\tSYS_IO_GETEVENTS           = 247\n\tSYS_IO_SUBMIT              = 248\n\tSYS_IO_CANCEL              = 249\n\tSYS_FADVISE64              = 250\n\tSYS_EXIT_GROUP             = 252\n\tSYS_LOOKUP_DCOOKIE         = 253\n\tSYS_EPOLL_CREATE           = 254\n\tSYS_EPOLL_CTL              = 255\n\tSYS_EPOLL_WAIT             = 256\n\tSYS_REMAP_FILE_PAGES       = 257\n\tSYS_SET_TID_ADDRESS        = 258\n\tSYS_TIMER_CREATE           = 259\n\tSYS_TIMER_SETTIME          = 260\n\tSYS_TIMER_GETTIME          = 261\n\tSYS_TIMER_GETOVERRUN       = 262\n\tSYS_TIMER_DELETE           = 263\n\tSYS_CLOCK_SETTIME          = 264\n\tSYS_CLOCK_GETTIME          = 265\n\tSYS_CLOCK_GETRES           = 266\n\tSYS_CLOCK_NANOSLEEP        = 267\n\tSYS_STATFS64               = 268\n\tSYS_FSTATFS64              = 269\n\tSYS_TGKILL                 = 270\n\tSYS_UTIMES                 = 271\n\tSYS_FADVISE64_64           = 272\n\tSYS_VSERVER                = 273\n\tSYS_MBIND                  = 274\n\tSYS_GET_MEMPOLICY          = 275\n\tSYS_SET_MEMPOLICY          = 276\n\tSYS_MQ_OPEN                = 277\n\tSYS_MQ_UNLINK              = 278\n\tSYS_MQ_TIMEDSEND           = 279\n\tSYS_MQ_TIMEDRECEIVE        = 280\n\tSYS_MQ_NOTIFY              = 281\n\tSYS_MQ_GETSETATTR          = 282\n\tSYS_KEXEC_LOAD             = 283\n\tSYS_WAITID                 = 284\n\tSYS_ADD_KEY                = 286\n\tSYS_REQUEST_KEY            = 287\n\tSYS_KEYCTL                 = 288\n\tSYS_IOPRIO_SET             = 289\n\tSYS_IOPRIO_GET             = 290\n\tSYS_INOTIFY_INIT           = 291\n\tSYS_INOTIFY_ADD_WATCH      = 292\n\tSYS_INOTIFY_RM_WATCH       = 293\n\tSYS_MIGRATE_PAGES          = 294\n\tSYS_OPENAT                 = 295\n\tSYS_MKDIRAT                = 296\n\tSYS_MKNODAT                = 297\n\tSYS_FCHOWNAT               = 298\n\tSYS_FUTIMESAT              = 299\n\tSYS_FSTATAT64              = 300\n\tSYS_UNLINKAT               = 301\n\tSYS_RENAMEAT               = 302\n\tSYS_LINKAT                 = 303\n\tSYS_SYMLINKAT              = 304\n\tSYS_READLINKAT             = 305\n\tSYS_FCHMODAT               = 306\n\tSYS_FACCESSAT              = 307\n\tSYS_PSELECT6               = 308\n\tSYS_PPOLL                  = 309\n\tSYS_UNSHARE                = 310\n\tSYS_SET_ROBUST_LIST        = 311\n\tSYS_GET_ROBUST_LIST        = 312\n\tSYS_SPLICE                 = 313\n\tSYS_SYNC_FILE_RANGE        = 314\n\tSYS_TEE                    = 315\n\tSYS_VMSPLICE               = 316\n\tSYS_MOVE_PAGES             = 317\n\tSYS_GETCPU                 = 318\n\tSYS_EPOLL_PWAIT            = 319\n\tSYS_UTIMENSAT              = 320\n\tSYS_SIGNALFD               = 321\n\tSYS_TIMERFD_CREATE         = 322\n\tSYS_EVENTFD                = 323\n\tSYS_FALLOCATE              = 324\n\tSYS_TIMERFD_SETTIME        = 325\n\tSYS_TIMERFD_GETTIME        = 326\n\tSYS_SIGNALFD4              = 327\n\tSYS_EVENTFD2               = 328\n\tSYS_EPOLL_CREATE1          = 329\n\tSYS_DUP3                   = 330\n\tSYS_PIPE2                  = 331\n\tSYS_INOTIFY_INIT1          = 332\n\tSYS_PREADV                 = 333\n\tSYS_PWRITEV                = 334\n\tSYS_RT_TGSIGQUEUEINFO      = 335\n\tSYS_PERF_EVENT_OPEN        = 336\n\tSYS_RECVMMSG               = 337\n\tSYS_FANOTIFY_INIT          = 338\n\tSYS_FANOTIFY_MARK          = 339\n\tSYS_PRLIMIT64              = 340\n\tSYS_NAME_TO_HANDLE_AT      = 341\n\tSYS_OPEN_BY_HANDLE_AT      = 342\n\tSYS_CLOCK_ADJTIME          = 343\n\tSYS_SYNCFS                 = 344\n\tSYS_SENDMMSG               = 345\n\tSYS_SETNS                  = 346\n\tSYS_PROCESS_VM_READV       = 347\n\tSYS_PROCESS_VM_WRITEV      = 348\n\tSYS_KCMP                   = 349\n\tSYS_FINIT_MODULE           = 350\n\tSYS_SCHED_SETATTR          = 351\n\tSYS_SCHED_GETATTR          = 352\n\tSYS_RENAMEAT2              = 353\n\tSYS_SECCOMP                = 354\n\tSYS_GETRANDOM              = 355\n\tSYS_MEMFD_CREATE           = 356\n\tSYS_BPF                    = 357\n\tSYS_EXECVEAT               = 358\n\tSYS_SOCKET                 = 359\n\tSYS_SOCKETPAIR             = 360\n\tSYS_BIND                   = 361\n\tSYS_CONNECT                = 362\n\tSYS_LISTEN                 = 363\n\tSYS_ACCEPT4                = 364\n\tSYS_GETSOCKOPT             = 365\n\tSYS_SETSOCKOPT             = 366\n\tSYS_GETSOCKNAME            = 367\n\tSYS_GETPEERNAME            = 368\n\tSYS_SENDTO                 = 369\n\tSYS_SENDMSG                = 370\n\tSYS_RECVFROM               = 371\n\tSYS_RECVMSG                = 372\n\tSYS_SHUTDOWN               = 373\n\tSYS_USERFAULTFD            = 374\n\tSYS_MEMBARRIER             = 375\n\tSYS_MLOCK2                 = 376\n\tSYS_COPY_FILE_RANGE        = 377\n\tSYS_PREADV2                = 378\n\tSYS_PWRITEV2               = 379\n\tSYS_PKEY_MPROTECT          = 380\n\tSYS_PKEY_ALLOC             = 381\n\tSYS_PKEY_FREE              = 382\n\tSYS_STATX                  = 383\n\tSYS_ARCH_PRCTL             = 384\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -m64 /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,linux\n\npackage unix\n\nconst (\n\tSYS_READ                   = 0\n\tSYS_WRITE                  = 1\n\tSYS_OPEN                   = 2\n\tSYS_CLOSE                  = 3\n\tSYS_STAT                   = 4\n\tSYS_FSTAT                  = 5\n\tSYS_LSTAT                  = 6\n\tSYS_POLL                   = 7\n\tSYS_LSEEK                  = 8\n\tSYS_MMAP                   = 9\n\tSYS_MPROTECT               = 10\n\tSYS_MUNMAP                 = 11\n\tSYS_BRK                    = 12\n\tSYS_RT_SIGACTION           = 13\n\tSYS_RT_SIGPROCMASK         = 14\n\tSYS_RT_SIGRETURN           = 15\n\tSYS_IOCTL                  = 16\n\tSYS_PREAD64                = 17\n\tSYS_PWRITE64               = 18\n\tSYS_READV                  = 19\n\tSYS_WRITEV                 = 20\n\tSYS_ACCESS                 = 21\n\tSYS_PIPE                   = 22\n\tSYS_SELECT                 = 23\n\tSYS_SCHED_YIELD            = 24\n\tSYS_MREMAP                 = 25\n\tSYS_MSYNC                  = 26\n\tSYS_MINCORE                = 27\n\tSYS_MADVISE                = 28\n\tSYS_SHMGET                 = 29\n\tSYS_SHMAT                  = 30\n\tSYS_SHMCTL                 = 31\n\tSYS_DUP                    = 32\n\tSYS_DUP2                   = 33\n\tSYS_PAUSE                  = 34\n\tSYS_NANOSLEEP              = 35\n\tSYS_GETITIMER              = 36\n\tSYS_ALARM                  = 37\n\tSYS_SETITIMER              = 38\n\tSYS_GETPID                 = 39\n\tSYS_SENDFILE               = 40\n\tSYS_SOCKET                 = 41\n\tSYS_CONNECT                = 42\n\tSYS_ACCEPT                 = 43\n\tSYS_SENDTO                 = 44\n\tSYS_RECVFROM               = 45\n\tSYS_SENDMSG                = 46\n\tSYS_RECVMSG                = 47\n\tSYS_SHUTDOWN               = 48\n\tSYS_BIND                   = 49\n\tSYS_LISTEN                 = 50\n\tSYS_GETSOCKNAME            = 51\n\tSYS_GETPEERNAME            = 52\n\tSYS_SOCKETPAIR             = 53\n\tSYS_SETSOCKOPT             = 54\n\tSYS_GETSOCKOPT             = 55\n\tSYS_CLONE                  = 56\n\tSYS_FORK                   = 57\n\tSYS_VFORK                  = 58\n\tSYS_EXECVE                 = 59\n\tSYS_EXIT                   = 60\n\tSYS_WAIT4                  = 61\n\tSYS_KILL                   = 62\n\tSYS_UNAME                  = 63\n\tSYS_SEMGET                 = 64\n\tSYS_SEMOP                  = 65\n\tSYS_SEMCTL                 = 66\n\tSYS_SHMDT                  = 67\n\tSYS_MSGGET                 = 68\n\tSYS_MSGSND                 = 69\n\tSYS_MSGRCV                 = 70\n\tSYS_MSGCTL                 = 71\n\tSYS_FCNTL                  = 72\n\tSYS_FLOCK                  = 73\n\tSYS_FSYNC                  = 74\n\tSYS_FDATASYNC              = 75\n\tSYS_TRUNCATE               = 76\n\tSYS_FTRUNCATE              = 77\n\tSYS_GETDENTS               = 78\n\tSYS_GETCWD                 = 79\n\tSYS_CHDIR                  = 80\n\tSYS_FCHDIR                 = 81\n\tSYS_RENAME                 = 82\n\tSYS_MKDIR                  = 83\n\tSYS_RMDIR                  = 84\n\tSYS_CREAT                  = 85\n\tSYS_LINK                   = 86\n\tSYS_UNLINK                 = 87\n\tSYS_SYMLINK                = 88\n\tSYS_READLINK               = 89\n\tSYS_CHMOD                  = 90\n\tSYS_FCHMOD                 = 91\n\tSYS_CHOWN                  = 92\n\tSYS_FCHOWN                 = 93\n\tSYS_LCHOWN                 = 94\n\tSYS_UMASK                  = 95\n\tSYS_GETTIMEOFDAY           = 96\n\tSYS_GETRLIMIT              = 97\n\tSYS_GETRUSAGE              = 98\n\tSYS_SYSINFO                = 99\n\tSYS_TIMES                  = 100\n\tSYS_PTRACE                 = 101\n\tSYS_GETUID                 = 102\n\tSYS_SYSLOG                 = 103\n\tSYS_GETGID                 = 104\n\tSYS_SETUID                 = 105\n\tSYS_SETGID                 = 106\n\tSYS_GETEUID                = 107\n\tSYS_GETEGID                = 108\n\tSYS_SETPGID                = 109\n\tSYS_GETPPID                = 110\n\tSYS_GETPGRP                = 111\n\tSYS_SETSID                 = 112\n\tSYS_SETREUID               = 113\n\tSYS_SETREGID               = 114\n\tSYS_GETGROUPS              = 115\n\tSYS_SETGROUPS              = 116\n\tSYS_SETRESUID              = 117\n\tSYS_GETRESUID              = 118\n\tSYS_SETRESGID              = 119\n\tSYS_GETRESGID              = 120\n\tSYS_GETPGID                = 121\n\tSYS_SETFSUID               = 122\n\tSYS_SETFSGID               = 123\n\tSYS_GETSID                 = 124\n\tSYS_CAPGET                 = 125\n\tSYS_CAPSET                 = 126\n\tSYS_RT_SIGPENDING          = 127\n\tSYS_RT_SIGTIMEDWAIT        = 128\n\tSYS_RT_SIGQUEUEINFO        = 129\n\tSYS_RT_SIGSUSPEND          = 130\n\tSYS_SIGALTSTACK            = 131\n\tSYS_UTIME                  = 132\n\tSYS_MKNOD                  = 133\n\tSYS_USELIB                 = 134\n\tSYS_PERSONALITY            = 135\n\tSYS_USTAT                  = 136\n\tSYS_STATFS                 = 137\n\tSYS_FSTATFS                = 138\n\tSYS_SYSFS                  = 139\n\tSYS_GETPRIORITY            = 140\n\tSYS_SETPRIORITY            = 141\n\tSYS_SCHED_SETPARAM         = 142\n\tSYS_SCHED_GETPARAM         = 143\n\tSYS_SCHED_SETSCHEDULER     = 144\n\tSYS_SCHED_GETSCHEDULER     = 145\n\tSYS_SCHED_GET_PRIORITY_MAX = 146\n\tSYS_SCHED_GET_PRIORITY_MIN = 147\n\tSYS_SCHED_RR_GET_INTERVAL  = 148\n\tSYS_MLOCK                  = 149\n\tSYS_MUNLOCK                = 150\n\tSYS_MLOCKALL               = 151\n\tSYS_MUNLOCKALL             = 152\n\tSYS_VHANGUP                = 153\n\tSYS_MODIFY_LDT             = 154\n\tSYS_PIVOT_ROOT             = 155\n\tSYS__SYSCTL                = 156\n\tSYS_PRCTL                  = 157\n\tSYS_ARCH_PRCTL             = 158\n\tSYS_ADJTIMEX               = 159\n\tSYS_SETRLIMIT              = 160\n\tSYS_CHROOT                 = 161\n\tSYS_SYNC                   = 162\n\tSYS_ACCT                   = 163\n\tSYS_SETTIMEOFDAY           = 164\n\tSYS_MOUNT                  = 165\n\tSYS_UMOUNT2                = 166\n\tSYS_SWAPON                 = 167\n\tSYS_SWAPOFF                = 168\n\tSYS_REBOOT                 = 169\n\tSYS_SETHOSTNAME            = 170\n\tSYS_SETDOMAINNAME          = 171\n\tSYS_IOPL                   = 172\n\tSYS_IOPERM                 = 173\n\tSYS_CREATE_MODULE          = 174\n\tSYS_INIT_MODULE            = 175\n\tSYS_DELETE_MODULE          = 176\n\tSYS_GET_KERNEL_SYMS        = 177\n\tSYS_QUERY_MODULE           = 178\n\tSYS_QUOTACTL               = 179\n\tSYS_NFSSERVCTL             = 180\n\tSYS_GETPMSG                = 181\n\tSYS_PUTPMSG                = 182\n\tSYS_AFS_SYSCALL            = 183\n\tSYS_TUXCALL                = 184\n\tSYS_SECURITY               = 185\n\tSYS_GETTID                 = 186\n\tSYS_READAHEAD              = 187\n\tSYS_SETXATTR               = 188\n\tSYS_LSETXATTR              = 189\n\tSYS_FSETXATTR              = 190\n\tSYS_GETXATTR               = 191\n\tSYS_LGETXATTR              = 192\n\tSYS_FGETXATTR              = 193\n\tSYS_LISTXATTR              = 194\n\tSYS_LLISTXATTR             = 195\n\tSYS_FLISTXATTR             = 196\n\tSYS_REMOVEXATTR            = 197\n\tSYS_LREMOVEXATTR           = 198\n\tSYS_FREMOVEXATTR           = 199\n\tSYS_TKILL                  = 200\n\tSYS_TIME                   = 201\n\tSYS_FUTEX                  = 202\n\tSYS_SCHED_SETAFFINITY      = 203\n\tSYS_SCHED_GETAFFINITY      = 204\n\tSYS_SET_THREAD_AREA        = 205\n\tSYS_IO_SETUP               = 206\n\tSYS_IO_DESTROY             = 207\n\tSYS_IO_GETEVENTS           = 208\n\tSYS_IO_SUBMIT              = 209\n\tSYS_IO_CANCEL              = 210\n\tSYS_GET_THREAD_AREA        = 211\n\tSYS_LOOKUP_DCOOKIE         = 212\n\tSYS_EPOLL_CREATE           = 213\n\tSYS_EPOLL_CTL_OLD          = 214\n\tSYS_EPOLL_WAIT_OLD         = 215\n\tSYS_REMAP_FILE_PAGES       = 216\n\tSYS_GETDENTS64             = 217\n\tSYS_SET_TID_ADDRESS        = 218\n\tSYS_RESTART_SYSCALL        = 219\n\tSYS_SEMTIMEDOP             = 220\n\tSYS_FADVISE64              = 221\n\tSYS_TIMER_CREATE           = 222\n\tSYS_TIMER_SETTIME          = 223\n\tSYS_TIMER_GETTIME          = 224\n\tSYS_TIMER_GETOVERRUN       = 225\n\tSYS_TIMER_DELETE           = 226\n\tSYS_CLOCK_SETTIME          = 227\n\tSYS_CLOCK_GETTIME          = 228\n\tSYS_CLOCK_GETRES           = 229\n\tSYS_CLOCK_NANOSLEEP        = 230\n\tSYS_EXIT_GROUP             = 231\n\tSYS_EPOLL_WAIT             = 232\n\tSYS_EPOLL_CTL              = 233\n\tSYS_TGKILL                 = 234\n\tSYS_UTIMES                 = 235\n\tSYS_VSERVER                = 236\n\tSYS_MBIND                  = 237\n\tSYS_SET_MEMPOLICY          = 238\n\tSYS_GET_MEMPOLICY          = 239\n\tSYS_MQ_OPEN                = 240\n\tSYS_MQ_UNLINK              = 241\n\tSYS_MQ_TIMEDSEND           = 242\n\tSYS_MQ_TIMEDRECEIVE        = 243\n\tSYS_MQ_NOTIFY              = 244\n\tSYS_MQ_GETSETATTR          = 245\n\tSYS_KEXEC_LOAD             = 246\n\tSYS_WAITID                 = 247\n\tSYS_ADD_KEY                = 248\n\tSYS_REQUEST_KEY            = 249\n\tSYS_KEYCTL                 = 250\n\tSYS_IOPRIO_SET             = 251\n\tSYS_IOPRIO_GET             = 252\n\tSYS_INOTIFY_INIT           = 253\n\tSYS_INOTIFY_ADD_WATCH      = 254\n\tSYS_INOTIFY_RM_WATCH       = 255\n\tSYS_MIGRATE_PAGES          = 256\n\tSYS_OPENAT                 = 257\n\tSYS_MKDIRAT                = 258\n\tSYS_MKNODAT                = 259\n\tSYS_FCHOWNAT               = 260\n\tSYS_FUTIMESAT              = 261\n\tSYS_NEWFSTATAT             = 262\n\tSYS_UNLINKAT               = 263\n\tSYS_RENAMEAT               = 264\n\tSYS_LINKAT                 = 265\n\tSYS_SYMLINKAT              = 266\n\tSYS_READLINKAT             = 267\n\tSYS_FCHMODAT               = 268\n\tSYS_FACCESSAT              = 269\n\tSYS_PSELECT6               = 270\n\tSYS_PPOLL                  = 271\n\tSYS_UNSHARE                = 272\n\tSYS_SET_ROBUST_LIST        = 273\n\tSYS_GET_ROBUST_LIST        = 274\n\tSYS_SPLICE                 = 275\n\tSYS_TEE                    = 276\n\tSYS_SYNC_FILE_RANGE        = 277\n\tSYS_VMSPLICE               = 278\n\tSYS_MOVE_PAGES             = 279\n\tSYS_UTIMENSAT              = 280\n\tSYS_EPOLL_PWAIT            = 281\n\tSYS_SIGNALFD               = 282\n\tSYS_TIMERFD_CREATE         = 283\n\tSYS_EVENTFD                = 284\n\tSYS_FALLOCATE              = 285\n\tSYS_TIMERFD_SETTIME        = 286\n\tSYS_TIMERFD_GETTIME        = 287\n\tSYS_ACCEPT4                = 288\n\tSYS_SIGNALFD4              = 289\n\tSYS_EVENTFD2               = 290\n\tSYS_EPOLL_CREATE1          = 291\n\tSYS_DUP3                   = 292\n\tSYS_PIPE2                  = 293\n\tSYS_INOTIFY_INIT1          = 294\n\tSYS_PREADV                 = 295\n\tSYS_PWRITEV                = 296\n\tSYS_RT_TGSIGQUEUEINFO      = 297\n\tSYS_PERF_EVENT_OPEN        = 298\n\tSYS_RECVMMSG               = 299\n\tSYS_FANOTIFY_INIT          = 300\n\tSYS_FANOTIFY_MARK          = 301\n\tSYS_PRLIMIT64              = 302\n\tSYS_NAME_TO_HANDLE_AT      = 303\n\tSYS_OPEN_BY_HANDLE_AT      = 304\n\tSYS_CLOCK_ADJTIME          = 305\n\tSYS_SYNCFS                 = 306\n\tSYS_SENDMMSG               = 307\n\tSYS_SETNS                  = 308\n\tSYS_GETCPU                 = 309\n\tSYS_PROCESS_VM_READV       = 310\n\tSYS_PROCESS_VM_WRITEV      = 311\n\tSYS_KCMP                   = 312\n\tSYS_FINIT_MODULE           = 313\n\tSYS_SCHED_SETATTR          = 314\n\tSYS_SCHED_GETATTR          = 315\n\tSYS_RENAMEAT2              = 316\n\tSYS_SECCOMP                = 317\n\tSYS_GETRANDOM              = 318\n\tSYS_MEMFD_CREATE           = 319\n\tSYS_KEXEC_FILE_LOAD        = 320\n\tSYS_BPF                    = 321\n\tSYS_EXECVEAT               = 322\n\tSYS_USERFAULTFD            = 323\n\tSYS_MEMBARRIER             = 324\n\tSYS_MLOCK2                 = 325\n\tSYS_COPY_FILE_RANGE        = 326\n\tSYS_PREADV2                = 327\n\tSYS_PWRITEV2               = 328\n\tSYS_PKEY_MPROTECT          = 329\n\tSYS_PKEY_ALLOC             = 330\n\tSYS_PKEY_FREE              = 331\n\tSYS_STATX                  = 332\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,linux\n\npackage unix\n\nconst (\n\tSYS_RESTART_SYSCALL        = 0\n\tSYS_EXIT                   = 1\n\tSYS_FORK                   = 2\n\tSYS_READ                   = 3\n\tSYS_WRITE                  = 4\n\tSYS_OPEN                   = 5\n\tSYS_CLOSE                  = 6\n\tSYS_CREAT                  = 8\n\tSYS_LINK                   = 9\n\tSYS_UNLINK                 = 10\n\tSYS_EXECVE                 = 11\n\tSYS_CHDIR                  = 12\n\tSYS_MKNOD                  = 14\n\tSYS_CHMOD                  = 15\n\tSYS_LCHOWN                 = 16\n\tSYS_LSEEK                  = 19\n\tSYS_GETPID                 = 20\n\tSYS_MOUNT                  = 21\n\tSYS_SETUID                 = 23\n\tSYS_GETUID                 = 24\n\tSYS_PTRACE                 = 26\n\tSYS_PAUSE                  = 29\n\tSYS_ACCESS                 = 33\n\tSYS_NICE                   = 34\n\tSYS_SYNC                   = 36\n\tSYS_KILL                   = 37\n\tSYS_RENAME                 = 38\n\tSYS_MKDIR                  = 39\n\tSYS_RMDIR                  = 40\n\tSYS_DUP                    = 41\n\tSYS_PIPE                   = 42\n\tSYS_TIMES                  = 43\n\tSYS_BRK                    = 45\n\tSYS_SETGID                 = 46\n\tSYS_GETGID                 = 47\n\tSYS_GETEUID                = 49\n\tSYS_GETEGID                = 50\n\tSYS_ACCT                   = 51\n\tSYS_UMOUNT2                = 52\n\tSYS_IOCTL                  = 54\n\tSYS_FCNTL                  = 55\n\tSYS_SETPGID                = 57\n\tSYS_UMASK                  = 60\n\tSYS_CHROOT                 = 61\n\tSYS_USTAT                  = 62\n\tSYS_DUP2                   = 63\n\tSYS_GETPPID                = 64\n\tSYS_GETPGRP                = 65\n\tSYS_SETSID                 = 66\n\tSYS_SIGACTION              = 67\n\tSYS_SETREUID               = 70\n\tSYS_SETREGID               = 71\n\tSYS_SIGSUSPEND             = 72\n\tSYS_SIGPENDING             = 73\n\tSYS_SETHOSTNAME            = 74\n\tSYS_SETRLIMIT              = 75\n\tSYS_GETRUSAGE              = 77\n\tSYS_GETTIMEOFDAY           = 78\n\tSYS_SETTIMEOFDAY           = 79\n\tSYS_GETGROUPS              = 80\n\tSYS_SETGROUPS              = 81\n\tSYS_SYMLINK                = 83\n\tSYS_READLINK               = 85\n\tSYS_USELIB                 = 86\n\tSYS_SWAPON                 = 87\n\tSYS_REBOOT                 = 88\n\tSYS_MUNMAP                 = 91\n\tSYS_TRUNCATE               = 92\n\tSYS_FTRUNCATE              = 93\n\tSYS_FCHMOD                 = 94\n\tSYS_FCHOWN                 = 95\n\tSYS_GETPRIORITY            = 96\n\tSYS_SETPRIORITY            = 97\n\tSYS_STATFS                 = 99\n\tSYS_FSTATFS                = 100\n\tSYS_SYSLOG                 = 103\n\tSYS_SETITIMER              = 104\n\tSYS_GETITIMER              = 105\n\tSYS_STAT                   = 106\n\tSYS_LSTAT                  = 107\n\tSYS_FSTAT                  = 108\n\tSYS_VHANGUP                = 111\n\tSYS_WAIT4                  = 114\n\tSYS_SWAPOFF                = 115\n\tSYS_SYSINFO                = 116\n\tSYS_FSYNC                  = 118\n\tSYS_SIGRETURN              = 119\n\tSYS_CLONE                  = 120\n\tSYS_SETDOMAINNAME          = 121\n\tSYS_UNAME                  = 122\n\tSYS_ADJTIMEX               = 124\n\tSYS_MPROTECT               = 125\n\tSYS_SIGPROCMASK            = 126\n\tSYS_INIT_MODULE            = 128\n\tSYS_DELETE_MODULE          = 129\n\tSYS_QUOTACTL               = 131\n\tSYS_GETPGID                = 132\n\tSYS_FCHDIR                 = 133\n\tSYS_BDFLUSH                = 134\n\tSYS_SYSFS                  = 135\n\tSYS_PERSONALITY            = 136\n\tSYS_SETFSUID               = 138\n\tSYS_SETFSGID               = 139\n\tSYS__LLSEEK                = 140\n\tSYS_GETDENTS               = 141\n\tSYS__NEWSELECT             = 142\n\tSYS_FLOCK                  = 143\n\tSYS_MSYNC                  = 144\n\tSYS_READV                  = 145\n\tSYS_WRITEV                 = 146\n\tSYS_GETSID                 = 147\n\tSYS_FDATASYNC              = 148\n\tSYS__SYSCTL                = 149\n\tSYS_MLOCK                  = 150\n\tSYS_MUNLOCK                = 151\n\tSYS_MLOCKALL               = 152\n\tSYS_MUNLOCKALL             = 153\n\tSYS_SCHED_SETPARAM         = 154\n\tSYS_SCHED_GETPARAM         = 155\n\tSYS_SCHED_SETSCHEDULER     = 156\n\tSYS_SCHED_GETSCHEDULER     = 157\n\tSYS_SCHED_YIELD            = 158\n\tSYS_SCHED_GET_PRIORITY_MAX = 159\n\tSYS_SCHED_GET_PRIORITY_MIN = 160\n\tSYS_SCHED_RR_GET_INTERVAL  = 161\n\tSYS_NANOSLEEP              = 162\n\tSYS_MREMAP                 = 163\n\tSYS_SETRESUID              = 164\n\tSYS_GETRESUID              = 165\n\tSYS_POLL                   = 168\n\tSYS_NFSSERVCTL             = 169\n\tSYS_SETRESGID              = 170\n\tSYS_GETRESGID              = 171\n\tSYS_PRCTL                  = 172\n\tSYS_RT_SIGRETURN           = 173\n\tSYS_RT_SIGACTION           = 174\n\tSYS_RT_SIGPROCMASK         = 175\n\tSYS_RT_SIGPENDING          = 176\n\tSYS_RT_SIGTIMEDWAIT        = 177\n\tSYS_RT_SIGQUEUEINFO        = 178\n\tSYS_RT_SIGSUSPEND          = 179\n\tSYS_PREAD64                = 180\n\tSYS_PWRITE64               = 181\n\tSYS_CHOWN                  = 182\n\tSYS_GETCWD                 = 183\n\tSYS_CAPGET                 = 184\n\tSYS_CAPSET                 = 185\n\tSYS_SIGALTSTACK            = 186\n\tSYS_SENDFILE               = 187\n\tSYS_VFORK                  = 190\n\tSYS_UGETRLIMIT             = 191\n\tSYS_MMAP2                  = 192\n\tSYS_TRUNCATE64             = 193\n\tSYS_FTRUNCATE64            = 194\n\tSYS_STAT64                 = 195\n\tSYS_LSTAT64                = 196\n\tSYS_FSTAT64                = 197\n\tSYS_LCHOWN32               = 198\n\tSYS_GETUID32               = 199\n\tSYS_GETGID32               = 200\n\tSYS_GETEUID32              = 201\n\tSYS_GETEGID32              = 202\n\tSYS_SETREUID32             = 203\n\tSYS_SETREGID32             = 204\n\tSYS_GETGROUPS32            = 205\n\tSYS_SETGROUPS32            = 206\n\tSYS_FCHOWN32               = 207\n\tSYS_SETRESUID32            = 208\n\tSYS_GETRESUID32            = 209\n\tSYS_SETRESGID32            = 210\n\tSYS_GETRESGID32            = 211\n\tSYS_CHOWN32                = 212\n\tSYS_SETUID32               = 213\n\tSYS_SETGID32               = 214\n\tSYS_SETFSUID32             = 215\n\tSYS_SETFSGID32             = 216\n\tSYS_GETDENTS64             = 217\n\tSYS_PIVOT_ROOT             = 218\n\tSYS_MINCORE                = 219\n\tSYS_MADVISE                = 220\n\tSYS_FCNTL64                = 221\n\tSYS_GETTID                 = 224\n\tSYS_READAHEAD              = 225\n\tSYS_SETXATTR               = 226\n\tSYS_LSETXATTR              = 227\n\tSYS_FSETXATTR              = 228\n\tSYS_GETXATTR               = 229\n\tSYS_LGETXATTR              = 230\n\tSYS_FGETXATTR              = 231\n\tSYS_LISTXATTR              = 232\n\tSYS_LLISTXATTR             = 233\n\tSYS_FLISTXATTR             = 234\n\tSYS_REMOVEXATTR            = 235\n\tSYS_LREMOVEXATTR           = 236\n\tSYS_FREMOVEXATTR           = 237\n\tSYS_TKILL                  = 238\n\tSYS_SENDFILE64             = 239\n\tSYS_FUTEX                  = 240\n\tSYS_SCHED_SETAFFINITY      = 241\n\tSYS_SCHED_GETAFFINITY      = 242\n\tSYS_IO_SETUP               = 243\n\tSYS_IO_DESTROY             = 244\n\tSYS_IO_GETEVENTS           = 245\n\tSYS_IO_SUBMIT              = 246\n\tSYS_IO_CANCEL              = 247\n\tSYS_EXIT_GROUP             = 248\n\tSYS_LOOKUP_DCOOKIE         = 249\n\tSYS_EPOLL_CREATE           = 250\n\tSYS_EPOLL_CTL              = 251\n\tSYS_EPOLL_WAIT             = 252\n\tSYS_REMAP_FILE_PAGES       = 253\n\tSYS_SET_TID_ADDRESS        = 256\n\tSYS_TIMER_CREATE           = 257\n\tSYS_TIMER_SETTIME          = 258\n\tSYS_TIMER_GETTIME          = 259\n\tSYS_TIMER_GETOVERRUN       = 260\n\tSYS_TIMER_DELETE           = 261\n\tSYS_CLOCK_SETTIME          = 262\n\tSYS_CLOCK_GETTIME          = 263\n\tSYS_CLOCK_GETRES           = 264\n\tSYS_CLOCK_NANOSLEEP        = 265\n\tSYS_STATFS64               = 266\n\tSYS_FSTATFS64              = 267\n\tSYS_TGKILL                 = 268\n\tSYS_UTIMES                 = 269\n\tSYS_ARM_FADVISE64_64       = 270\n\tSYS_PCICONFIG_IOBASE       = 271\n\tSYS_PCICONFIG_READ         = 272\n\tSYS_PCICONFIG_WRITE        = 273\n\tSYS_MQ_OPEN                = 274\n\tSYS_MQ_UNLINK              = 275\n\tSYS_MQ_TIMEDSEND           = 276\n\tSYS_MQ_TIMEDRECEIVE        = 277\n\tSYS_MQ_NOTIFY              = 278\n\tSYS_MQ_GETSETATTR          = 279\n\tSYS_WAITID                 = 280\n\tSYS_SOCKET                 = 281\n\tSYS_BIND                   = 282\n\tSYS_CONNECT                = 283\n\tSYS_LISTEN                 = 284\n\tSYS_ACCEPT                 = 285\n\tSYS_GETSOCKNAME            = 286\n\tSYS_GETPEERNAME            = 287\n\tSYS_SOCKETPAIR             = 288\n\tSYS_SEND                   = 289\n\tSYS_SENDTO                 = 290\n\tSYS_RECV                   = 291\n\tSYS_RECVFROM               = 292\n\tSYS_SHUTDOWN               = 293\n\tSYS_SETSOCKOPT             = 294\n\tSYS_GETSOCKOPT             = 295\n\tSYS_SENDMSG                = 296\n\tSYS_RECVMSG                = 297\n\tSYS_SEMOP                  = 298\n\tSYS_SEMGET                 = 299\n\tSYS_SEMCTL                 = 300\n\tSYS_MSGSND                 = 301\n\tSYS_MSGRCV                 = 302\n\tSYS_MSGGET                 = 303\n\tSYS_MSGCTL                 = 304\n\tSYS_SHMAT                  = 305\n\tSYS_SHMDT                  = 306\n\tSYS_SHMGET                 = 307\n\tSYS_SHMCTL                 = 308\n\tSYS_ADD_KEY                = 309\n\tSYS_REQUEST_KEY            = 310\n\tSYS_KEYCTL                 = 311\n\tSYS_SEMTIMEDOP             = 312\n\tSYS_VSERVER                = 313\n\tSYS_IOPRIO_SET             = 314\n\tSYS_IOPRIO_GET             = 315\n\tSYS_INOTIFY_INIT           = 316\n\tSYS_INOTIFY_ADD_WATCH      = 317\n\tSYS_INOTIFY_RM_WATCH       = 318\n\tSYS_MBIND                  = 319\n\tSYS_GET_MEMPOLICY          = 320\n\tSYS_SET_MEMPOLICY          = 321\n\tSYS_OPENAT                 = 322\n\tSYS_MKDIRAT                = 323\n\tSYS_MKNODAT                = 324\n\tSYS_FCHOWNAT               = 325\n\tSYS_FUTIMESAT              = 326\n\tSYS_FSTATAT64              = 327\n\tSYS_UNLINKAT               = 328\n\tSYS_RENAMEAT               = 329\n\tSYS_LINKAT                 = 330\n\tSYS_SYMLINKAT              = 331\n\tSYS_READLINKAT             = 332\n\tSYS_FCHMODAT               = 333\n\tSYS_FACCESSAT              = 334\n\tSYS_PSELECT6               = 335\n\tSYS_PPOLL                  = 336\n\tSYS_UNSHARE                = 337\n\tSYS_SET_ROBUST_LIST        = 338\n\tSYS_GET_ROBUST_LIST        = 339\n\tSYS_SPLICE                 = 340\n\tSYS_ARM_SYNC_FILE_RANGE    = 341\n\tSYS_TEE                    = 342\n\tSYS_VMSPLICE               = 343\n\tSYS_MOVE_PAGES             = 344\n\tSYS_GETCPU                 = 345\n\tSYS_EPOLL_PWAIT            = 346\n\tSYS_KEXEC_LOAD             = 347\n\tSYS_UTIMENSAT              = 348\n\tSYS_SIGNALFD               = 349\n\tSYS_TIMERFD_CREATE         = 350\n\tSYS_EVENTFD                = 351\n\tSYS_FALLOCATE              = 352\n\tSYS_TIMERFD_SETTIME        = 353\n\tSYS_TIMERFD_GETTIME        = 354\n\tSYS_SIGNALFD4              = 355\n\tSYS_EVENTFD2               = 356\n\tSYS_EPOLL_CREATE1          = 357\n\tSYS_DUP3                   = 358\n\tSYS_PIPE2                  = 359\n\tSYS_INOTIFY_INIT1          = 360\n\tSYS_PREADV                 = 361\n\tSYS_PWRITEV                = 362\n\tSYS_RT_TGSIGQUEUEINFO      = 363\n\tSYS_PERF_EVENT_OPEN        = 364\n\tSYS_RECVMMSG               = 365\n\tSYS_ACCEPT4                = 366\n\tSYS_FANOTIFY_INIT          = 367\n\tSYS_FANOTIFY_MARK          = 368\n\tSYS_PRLIMIT64              = 369\n\tSYS_NAME_TO_HANDLE_AT      = 370\n\tSYS_OPEN_BY_HANDLE_AT      = 371\n\tSYS_CLOCK_ADJTIME          = 372\n\tSYS_SYNCFS                 = 373\n\tSYS_SENDMMSG               = 374\n\tSYS_SETNS                  = 375\n\tSYS_PROCESS_VM_READV       = 376\n\tSYS_PROCESS_VM_WRITEV      = 377\n\tSYS_KCMP                   = 378\n\tSYS_FINIT_MODULE           = 379\n\tSYS_SCHED_SETATTR          = 380\n\tSYS_SCHED_GETATTR          = 381\n\tSYS_RENAMEAT2              = 382\n\tSYS_SECCOMP                = 383\n\tSYS_GETRANDOM              = 384\n\tSYS_MEMFD_CREATE           = 385\n\tSYS_BPF                    = 386\n\tSYS_EXECVEAT               = 387\n\tSYS_USERFAULTFD            = 388\n\tSYS_MEMBARRIER             = 389\n\tSYS_MLOCK2                 = 390\n\tSYS_COPY_FILE_RANGE        = 391\n\tSYS_PREADV2                = 392\n\tSYS_PWRITEV2               = 393\n\tSYS_PKEY_MPROTECT          = 394\n\tSYS_PKEY_ALLOC             = 395\n\tSYS_PKEY_FREE              = 396\n\tSYS_STATX                  = 397\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm64,linux\n\npackage unix\n\nconst (\n\tSYS_IO_SETUP               = 0\n\tSYS_IO_DESTROY             = 1\n\tSYS_IO_SUBMIT              = 2\n\tSYS_IO_CANCEL              = 3\n\tSYS_IO_GETEVENTS           = 4\n\tSYS_SETXATTR               = 5\n\tSYS_LSETXATTR              = 6\n\tSYS_FSETXATTR              = 7\n\tSYS_GETXATTR               = 8\n\tSYS_LGETXATTR              = 9\n\tSYS_FGETXATTR              = 10\n\tSYS_LISTXATTR              = 11\n\tSYS_LLISTXATTR             = 12\n\tSYS_FLISTXATTR             = 13\n\tSYS_REMOVEXATTR            = 14\n\tSYS_LREMOVEXATTR           = 15\n\tSYS_FREMOVEXATTR           = 16\n\tSYS_GETCWD                 = 17\n\tSYS_LOOKUP_DCOOKIE         = 18\n\tSYS_EVENTFD2               = 19\n\tSYS_EPOLL_CREATE1          = 20\n\tSYS_EPOLL_CTL              = 21\n\tSYS_EPOLL_PWAIT            = 22\n\tSYS_DUP                    = 23\n\tSYS_DUP3                   = 24\n\tSYS_FCNTL                  = 25\n\tSYS_INOTIFY_INIT1          = 26\n\tSYS_INOTIFY_ADD_WATCH      = 27\n\tSYS_INOTIFY_RM_WATCH       = 28\n\tSYS_IOCTL                  = 29\n\tSYS_IOPRIO_SET             = 30\n\tSYS_IOPRIO_GET             = 31\n\tSYS_FLOCK                  = 32\n\tSYS_MKNODAT                = 33\n\tSYS_MKDIRAT                = 34\n\tSYS_UNLINKAT               = 35\n\tSYS_SYMLINKAT              = 36\n\tSYS_LINKAT                 = 37\n\tSYS_RENAMEAT               = 38\n\tSYS_UMOUNT2                = 39\n\tSYS_MOUNT                  = 40\n\tSYS_PIVOT_ROOT             = 41\n\tSYS_NFSSERVCTL             = 42\n\tSYS_STATFS                 = 43\n\tSYS_FSTATFS                = 44\n\tSYS_TRUNCATE               = 45\n\tSYS_FTRUNCATE              = 46\n\tSYS_FALLOCATE              = 47\n\tSYS_FACCESSAT              = 48\n\tSYS_CHDIR                  = 49\n\tSYS_FCHDIR                 = 50\n\tSYS_CHROOT                 = 51\n\tSYS_FCHMOD                 = 52\n\tSYS_FCHMODAT               = 53\n\tSYS_FCHOWNAT               = 54\n\tSYS_FCHOWN                 = 55\n\tSYS_OPENAT                 = 56\n\tSYS_CLOSE                  = 57\n\tSYS_VHANGUP                = 58\n\tSYS_PIPE2                  = 59\n\tSYS_QUOTACTL               = 60\n\tSYS_GETDENTS64             = 61\n\tSYS_LSEEK                  = 62\n\tSYS_READ                   = 63\n\tSYS_WRITE                  = 64\n\tSYS_READV                  = 65\n\tSYS_WRITEV                 = 66\n\tSYS_PREAD64                = 67\n\tSYS_PWRITE64               = 68\n\tSYS_PREADV                 = 69\n\tSYS_PWRITEV                = 70\n\tSYS_SENDFILE               = 71\n\tSYS_PSELECT6               = 72\n\tSYS_PPOLL                  = 73\n\tSYS_SIGNALFD4              = 74\n\tSYS_VMSPLICE               = 75\n\tSYS_SPLICE                 = 76\n\tSYS_TEE                    = 77\n\tSYS_READLINKAT             = 78\n\tSYS_FSTATAT                = 79\n\tSYS_FSTAT                  = 80\n\tSYS_SYNC                   = 81\n\tSYS_FSYNC                  = 82\n\tSYS_FDATASYNC              = 83\n\tSYS_SYNC_FILE_RANGE        = 84\n\tSYS_TIMERFD_CREATE         = 85\n\tSYS_TIMERFD_SETTIME        = 86\n\tSYS_TIMERFD_GETTIME        = 87\n\tSYS_UTIMENSAT              = 88\n\tSYS_ACCT                   = 89\n\tSYS_CAPGET                 = 90\n\tSYS_CAPSET                 = 91\n\tSYS_PERSONALITY            = 92\n\tSYS_EXIT                   = 93\n\tSYS_EXIT_GROUP             = 94\n\tSYS_WAITID                 = 95\n\tSYS_SET_TID_ADDRESS        = 96\n\tSYS_UNSHARE                = 97\n\tSYS_FUTEX                  = 98\n\tSYS_SET_ROBUST_LIST        = 99\n\tSYS_GET_ROBUST_LIST        = 100\n\tSYS_NANOSLEEP              = 101\n\tSYS_GETITIMER              = 102\n\tSYS_SETITIMER              = 103\n\tSYS_KEXEC_LOAD             = 104\n\tSYS_INIT_MODULE            = 105\n\tSYS_DELETE_MODULE          = 106\n\tSYS_TIMER_CREATE           = 107\n\tSYS_TIMER_GETTIME          = 108\n\tSYS_TIMER_GETOVERRUN       = 109\n\tSYS_TIMER_SETTIME          = 110\n\tSYS_TIMER_DELETE           = 111\n\tSYS_CLOCK_SETTIME          = 112\n\tSYS_CLOCK_GETTIME          = 113\n\tSYS_CLOCK_GETRES           = 114\n\tSYS_CLOCK_NANOSLEEP        = 115\n\tSYS_SYSLOG                 = 116\n\tSYS_PTRACE                 = 117\n\tSYS_SCHED_SETPARAM         = 118\n\tSYS_SCHED_SETSCHEDULER     = 119\n\tSYS_SCHED_GETSCHEDULER     = 120\n\tSYS_SCHED_GETPARAM         = 121\n\tSYS_SCHED_SETAFFINITY      = 122\n\tSYS_SCHED_GETAFFINITY      = 123\n\tSYS_SCHED_YIELD            = 124\n\tSYS_SCHED_GET_PRIORITY_MAX = 125\n\tSYS_SCHED_GET_PRIORITY_MIN = 126\n\tSYS_SCHED_RR_GET_INTERVAL  = 127\n\tSYS_RESTART_SYSCALL        = 128\n\tSYS_KILL                   = 129\n\tSYS_TKILL                  = 130\n\tSYS_TGKILL                 = 131\n\tSYS_SIGALTSTACK            = 132\n\tSYS_RT_SIGSUSPEND          = 133\n\tSYS_RT_SIGACTION           = 134\n\tSYS_RT_SIGPROCMASK         = 135\n\tSYS_RT_SIGPENDING          = 136\n\tSYS_RT_SIGTIMEDWAIT        = 137\n\tSYS_RT_SIGQUEUEINFO        = 138\n\tSYS_RT_SIGRETURN           = 139\n\tSYS_SETPRIORITY            = 140\n\tSYS_GETPRIORITY            = 141\n\tSYS_REBOOT                 = 142\n\tSYS_SETREGID               = 143\n\tSYS_SETGID                 = 144\n\tSYS_SETREUID               = 145\n\tSYS_SETUID                 = 146\n\tSYS_SETRESUID              = 147\n\tSYS_GETRESUID              = 148\n\tSYS_SETRESGID              = 149\n\tSYS_GETRESGID              = 150\n\tSYS_SETFSUID               = 151\n\tSYS_SETFSGID               = 152\n\tSYS_TIMES                  = 153\n\tSYS_SETPGID                = 154\n\tSYS_GETPGID                = 155\n\tSYS_GETSID                 = 156\n\tSYS_SETSID                 = 157\n\tSYS_GETGROUPS              = 158\n\tSYS_SETGROUPS              = 159\n\tSYS_UNAME                  = 160\n\tSYS_SETHOSTNAME            = 161\n\tSYS_SETDOMAINNAME          = 162\n\tSYS_GETRLIMIT              = 163\n\tSYS_SETRLIMIT              = 164\n\tSYS_GETRUSAGE              = 165\n\tSYS_UMASK                  = 166\n\tSYS_PRCTL                  = 167\n\tSYS_GETCPU                 = 168\n\tSYS_GETTIMEOFDAY           = 169\n\tSYS_SETTIMEOFDAY           = 170\n\tSYS_ADJTIMEX               = 171\n\tSYS_GETPID                 = 172\n\tSYS_GETPPID                = 173\n\tSYS_GETUID                 = 174\n\tSYS_GETEUID                = 175\n\tSYS_GETGID                 = 176\n\tSYS_GETEGID                = 177\n\tSYS_GETTID                 = 178\n\tSYS_SYSINFO                = 179\n\tSYS_MQ_OPEN                = 180\n\tSYS_MQ_UNLINK              = 181\n\tSYS_MQ_TIMEDSEND           = 182\n\tSYS_MQ_TIMEDRECEIVE        = 183\n\tSYS_MQ_NOTIFY              = 184\n\tSYS_MQ_GETSETATTR          = 185\n\tSYS_MSGGET                 = 186\n\tSYS_MSGCTL                 = 187\n\tSYS_MSGRCV                 = 188\n\tSYS_MSGSND                 = 189\n\tSYS_SEMGET                 = 190\n\tSYS_SEMCTL                 = 191\n\tSYS_SEMTIMEDOP             = 192\n\tSYS_SEMOP                  = 193\n\tSYS_SHMGET                 = 194\n\tSYS_SHMCTL                 = 195\n\tSYS_SHMAT                  = 196\n\tSYS_SHMDT                  = 197\n\tSYS_SOCKET                 = 198\n\tSYS_SOCKETPAIR             = 199\n\tSYS_BIND                   = 200\n\tSYS_LISTEN                 = 201\n\tSYS_ACCEPT                 = 202\n\tSYS_CONNECT                = 203\n\tSYS_GETSOCKNAME            = 204\n\tSYS_GETPEERNAME            = 205\n\tSYS_SENDTO                 = 206\n\tSYS_RECVFROM               = 207\n\tSYS_SETSOCKOPT             = 208\n\tSYS_GETSOCKOPT             = 209\n\tSYS_SHUTDOWN               = 210\n\tSYS_SENDMSG                = 211\n\tSYS_RECVMSG                = 212\n\tSYS_READAHEAD              = 213\n\tSYS_BRK                    = 214\n\tSYS_MUNMAP                 = 215\n\tSYS_MREMAP                 = 216\n\tSYS_ADD_KEY                = 217\n\tSYS_REQUEST_KEY            = 218\n\tSYS_KEYCTL                 = 219\n\tSYS_CLONE                  = 220\n\tSYS_EXECVE                 = 221\n\tSYS_MMAP                   = 222\n\tSYS_FADVISE64              = 223\n\tSYS_SWAPON                 = 224\n\tSYS_SWAPOFF                = 225\n\tSYS_MPROTECT               = 226\n\tSYS_MSYNC                  = 227\n\tSYS_MLOCK                  = 228\n\tSYS_MUNLOCK                = 229\n\tSYS_MLOCKALL               = 230\n\tSYS_MUNLOCKALL             = 231\n\tSYS_MINCORE                = 232\n\tSYS_MADVISE                = 233\n\tSYS_REMAP_FILE_PAGES       = 234\n\tSYS_MBIND                  = 235\n\tSYS_GET_MEMPOLICY          = 236\n\tSYS_SET_MEMPOLICY          = 237\n\tSYS_MIGRATE_PAGES          = 238\n\tSYS_MOVE_PAGES             = 239\n\tSYS_RT_TGSIGQUEUEINFO      = 240\n\tSYS_PERF_EVENT_OPEN        = 241\n\tSYS_ACCEPT4                = 242\n\tSYS_RECVMMSG               = 243\n\tSYS_ARCH_SPECIFIC_SYSCALL  = 244\n\tSYS_WAIT4                  = 260\n\tSYS_PRLIMIT64              = 261\n\tSYS_FANOTIFY_INIT          = 262\n\tSYS_FANOTIFY_MARK          = 263\n\tSYS_NAME_TO_HANDLE_AT      = 264\n\tSYS_OPEN_BY_HANDLE_AT      = 265\n\tSYS_CLOCK_ADJTIME          = 266\n\tSYS_SYNCFS                 = 267\n\tSYS_SETNS                  = 268\n\tSYS_SENDMMSG               = 269\n\tSYS_PROCESS_VM_READV       = 270\n\tSYS_PROCESS_VM_WRITEV      = 271\n\tSYS_KCMP                   = 272\n\tSYS_FINIT_MODULE           = 273\n\tSYS_SCHED_SETATTR          = 274\n\tSYS_SCHED_GETATTR          = 275\n\tSYS_RENAMEAT2              = 276\n\tSYS_SECCOMP                = 277\n\tSYS_GETRANDOM              = 278\n\tSYS_MEMFD_CREATE           = 279\n\tSYS_BPF                    = 280\n\tSYS_EXECVEAT               = 281\n\tSYS_USERFAULTFD            = 282\n\tSYS_MEMBARRIER             = 283\n\tSYS_MLOCK2                 = 284\n\tSYS_COPY_FILE_RANGE        = 285\n\tSYS_PREADV2                = 286\n\tSYS_PWRITEV2               = 287\n\tSYS_PKEY_MPROTECT          = 288\n\tSYS_PKEY_ALLOC             = 289\n\tSYS_PKEY_FREE              = 290\n\tSYS_STATX                  = 291\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips,linux\n\npackage unix\n\nconst (\n\tSYS_SYSCALL                = 4000\n\tSYS_EXIT                   = 4001\n\tSYS_FORK                   = 4002\n\tSYS_READ                   = 4003\n\tSYS_WRITE                  = 4004\n\tSYS_OPEN                   = 4005\n\tSYS_CLOSE                  = 4006\n\tSYS_WAITPID                = 4007\n\tSYS_CREAT                  = 4008\n\tSYS_LINK                   = 4009\n\tSYS_UNLINK                 = 4010\n\tSYS_EXECVE                 = 4011\n\tSYS_CHDIR                  = 4012\n\tSYS_TIME                   = 4013\n\tSYS_MKNOD                  = 4014\n\tSYS_CHMOD                  = 4015\n\tSYS_LCHOWN                 = 4016\n\tSYS_BREAK                  = 4017\n\tSYS_UNUSED18               = 4018\n\tSYS_LSEEK                  = 4019\n\tSYS_GETPID                 = 4020\n\tSYS_MOUNT                  = 4021\n\tSYS_UMOUNT                 = 4022\n\tSYS_SETUID                 = 4023\n\tSYS_GETUID                 = 4024\n\tSYS_STIME                  = 4025\n\tSYS_PTRACE                 = 4026\n\tSYS_ALARM                  = 4027\n\tSYS_UNUSED28               = 4028\n\tSYS_PAUSE                  = 4029\n\tSYS_UTIME                  = 4030\n\tSYS_STTY                   = 4031\n\tSYS_GTTY                   = 4032\n\tSYS_ACCESS                 = 4033\n\tSYS_NICE                   = 4034\n\tSYS_FTIME                  = 4035\n\tSYS_SYNC                   = 4036\n\tSYS_KILL                   = 4037\n\tSYS_RENAME                 = 4038\n\tSYS_MKDIR                  = 4039\n\tSYS_RMDIR                  = 4040\n\tSYS_DUP                    = 4041\n\tSYS_PIPE                   = 4042\n\tSYS_TIMES                  = 4043\n\tSYS_PROF                   = 4044\n\tSYS_BRK                    = 4045\n\tSYS_SETGID                 = 4046\n\tSYS_GETGID                 = 4047\n\tSYS_SIGNAL                 = 4048\n\tSYS_GETEUID                = 4049\n\tSYS_GETEGID                = 4050\n\tSYS_ACCT                   = 4051\n\tSYS_UMOUNT2                = 4052\n\tSYS_LOCK                   = 4053\n\tSYS_IOCTL                  = 4054\n\tSYS_FCNTL                  = 4055\n\tSYS_MPX                    = 4056\n\tSYS_SETPGID                = 4057\n\tSYS_ULIMIT                 = 4058\n\tSYS_UNUSED59               = 4059\n\tSYS_UMASK                  = 4060\n\tSYS_CHROOT                 = 4061\n\tSYS_USTAT                  = 4062\n\tSYS_DUP2                   = 4063\n\tSYS_GETPPID                = 4064\n\tSYS_GETPGRP                = 4065\n\tSYS_SETSID                 = 4066\n\tSYS_SIGACTION              = 4067\n\tSYS_SGETMASK               = 4068\n\tSYS_SSETMASK               = 4069\n\tSYS_SETREUID               = 4070\n\tSYS_SETREGID               = 4071\n\tSYS_SIGSUSPEND             = 4072\n\tSYS_SIGPENDING             = 4073\n\tSYS_SETHOSTNAME            = 4074\n\tSYS_SETRLIMIT              = 4075\n\tSYS_GETRLIMIT              = 4076\n\tSYS_GETRUSAGE              = 4077\n\tSYS_GETTIMEOFDAY           = 4078\n\tSYS_SETTIMEOFDAY           = 4079\n\tSYS_GETGROUPS              = 4080\n\tSYS_SETGROUPS              = 4081\n\tSYS_RESERVED82             = 4082\n\tSYS_SYMLINK                = 4083\n\tSYS_UNUSED84               = 4084\n\tSYS_READLINK               = 4085\n\tSYS_USELIB                 = 4086\n\tSYS_SWAPON                 = 4087\n\tSYS_REBOOT                 = 4088\n\tSYS_READDIR                = 4089\n\tSYS_MMAP                   = 4090\n\tSYS_MUNMAP                 = 4091\n\tSYS_TRUNCATE               = 4092\n\tSYS_FTRUNCATE              = 4093\n\tSYS_FCHMOD                 = 4094\n\tSYS_FCHOWN                 = 4095\n\tSYS_GETPRIORITY            = 4096\n\tSYS_SETPRIORITY            = 4097\n\tSYS_PROFIL                 = 4098\n\tSYS_STATFS                 = 4099\n\tSYS_FSTATFS                = 4100\n\tSYS_IOPERM                 = 4101\n\tSYS_SOCKETCALL             = 4102\n\tSYS_SYSLOG                 = 4103\n\tSYS_SETITIMER              = 4104\n\tSYS_GETITIMER              = 4105\n\tSYS_STAT                   = 4106\n\tSYS_LSTAT                  = 4107\n\tSYS_FSTAT                  = 4108\n\tSYS_UNUSED109              = 4109\n\tSYS_IOPL                   = 4110\n\tSYS_VHANGUP                = 4111\n\tSYS_IDLE                   = 4112\n\tSYS_VM86                   = 4113\n\tSYS_WAIT4                  = 4114\n\tSYS_SWAPOFF                = 4115\n\tSYS_SYSINFO                = 4116\n\tSYS_IPC                    = 4117\n\tSYS_FSYNC                  = 4118\n\tSYS_SIGRETURN              = 4119\n\tSYS_CLONE                  = 4120\n\tSYS_SETDOMAINNAME          = 4121\n\tSYS_UNAME                  = 4122\n\tSYS_MODIFY_LDT             = 4123\n\tSYS_ADJTIMEX               = 4124\n\tSYS_MPROTECT               = 4125\n\tSYS_SIGPROCMASK            = 4126\n\tSYS_CREATE_MODULE          = 4127\n\tSYS_INIT_MODULE            = 4128\n\tSYS_DELETE_MODULE          = 4129\n\tSYS_GET_KERNEL_SYMS        = 4130\n\tSYS_QUOTACTL               = 4131\n\tSYS_GETPGID                = 4132\n\tSYS_FCHDIR                 = 4133\n\tSYS_BDFLUSH                = 4134\n\tSYS_SYSFS                  = 4135\n\tSYS_PERSONALITY            = 4136\n\tSYS_AFS_SYSCALL            = 4137\n\tSYS_SETFSUID               = 4138\n\tSYS_SETFSGID               = 4139\n\tSYS__LLSEEK                = 4140\n\tSYS_GETDENTS               = 4141\n\tSYS__NEWSELECT             = 4142\n\tSYS_FLOCK                  = 4143\n\tSYS_MSYNC                  = 4144\n\tSYS_READV                  = 4145\n\tSYS_WRITEV                 = 4146\n\tSYS_CACHEFLUSH             = 4147\n\tSYS_CACHECTL               = 4148\n\tSYS_SYSMIPS                = 4149\n\tSYS_UNUSED150              = 4150\n\tSYS_GETSID                 = 4151\n\tSYS_FDATASYNC              = 4152\n\tSYS__SYSCTL                = 4153\n\tSYS_MLOCK                  = 4154\n\tSYS_MUNLOCK                = 4155\n\tSYS_MLOCKALL               = 4156\n\tSYS_MUNLOCKALL             = 4157\n\tSYS_SCHED_SETPARAM         = 4158\n\tSYS_SCHED_GETPARAM         = 4159\n\tSYS_SCHED_SETSCHEDULER     = 4160\n\tSYS_SCHED_GETSCHEDULER     = 4161\n\tSYS_SCHED_YIELD            = 4162\n\tSYS_SCHED_GET_PRIORITY_MAX = 4163\n\tSYS_SCHED_GET_PRIORITY_MIN = 4164\n\tSYS_SCHED_RR_GET_INTERVAL  = 4165\n\tSYS_NANOSLEEP              = 4166\n\tSYS_MREMAP                 = 4167\n\tSYS_ACCEPT                 = 4168\n\tSYS_BIND                   = 4169\n\tSYS_CONNECT                = 4170\n\tSYS_GETPEERNAME            = 4171\n\tSYS_GETSOCKNAME            = 4172\n\tSYS_GETSOCKOPT             = 4173\n\tSYS_LISTEN                 = 4174\n\tSYS_RECV                   = 4175\n\tSYS_RECVFROM               = 4176\n\tSYS_RECVMSG                = 4177\n\tSYS_SEND                   = 4178\n\tSYS_SENDMSG                = 4179\n\tSYS_SENDTO                 = 4180\n\tSYS_SETSOCKOPT             = 4181\n\tSYS_SHUTDOWN               = 4182\n\tSYS_SOCKET                 = 4183\n\tSYS_SOCKETPAIR             = 4184\n\tSYS_SETRESUID              = 4185\n\tSYS_GETRESUID              = 4186\n\tSYS_QUERY_MODULE           = 4187\n\tSYS_POLL                   = 4188\n\tSYS_NFSSERVCTL             = 4189\n\tSYS_SETRESGID              = 4190\n\tSYS_GETRESGID              = 4191\n\tSYS_PRCTL                  = 4192\n\tSYS_RT_SIGRETURN           = 4193\n\tSYS_RT_SIGACTION           = 4194\n\tSYS_RT_SIGPROCMASK         = 4195\n\tSYS_RT_SIGPENDING          = 4196\n\tSYS_RT_SIGTIMEDWAIT        = 4197\n\tSYS_RT_SIGQUEUEINFO        = 4198\n\tSYS_RT_SIGSUSPEND          = 4199\n\tSYS_PREAD64                = 4200\n\tSYS_PWRITE64               = 4201\n\tSYS_CHOWN                  = 4202\n\tSYS_GETCWD                 = 4203\n\tSYS_CAPGET                 = 4204\n\tSYS_CAPSET                 = 4205\n\tSYS_SIGALTSTACK            = 4206\n\tSYS_SENDFILE               = 4207\n\tSYS_GETPMSG                = 4208\n\tSYS_PUTPMSG                = 4209\n\tSYS_MMAP2                  = 4210\n\tSYS_TRUNCATE64             = 4211\n\tSYS_FTRUNCATE64            = 4212\n\tSYS_STAT64                 = 4213\n\tSYS_LSTAT64                = 4214\n\tSYS_FSTAT64                = 4215\n\tSYS_PIVOT_ROOT             = 4216\n\tSYS_MINCORE                = 4217\n\tSYS_MADVISE                = 4218\n\tSYS_GETDENTS64             = 4219\n\tSYS_FCNTL64                = 4220\n\tSYS_RESERVED221            = 4221\n\tSYS_GETTID                 = 4222\n\tSYS_READAHEAD              = 4223\n\tSYS_SETXATTR               = 4224\n\tSYS_LSETXATTR              = 4225\n\tSYS_FSETXATTR              = 4226\n\tSYS_GETXATTR               = 4227\n\tSYS_LGETXATTR              = 4228\n\tSYS_FGETXATTR              = 4229\n\tSYS_LISTXATTR              = 4230\n\tSYS_LLISTXATTR             = 4231\n\tSYS_FLISTXATTR             = 4232\n\tSYS_REMOVEXATTR            = 4233\n\tSYS_LREMOVEXATTR           = 4234\n\tSYS_FREMOVEXATTR           = 4235\n\tSYS_TKILL                  = 4236\n\tSYS_SENDFILE64             = 4237\n\tSYS_FUTEX                  = 4238\n\tSYS_SCHED_SETAFFINITY      = 4239\n\tSYS_SCHED_GETAFFINITY      = 4240\n\tSYS_IO_SETUP               = 4241\n\tSYS_IO_DESTROY             = 4242\n\tSYS_IO_GETEVENTS           = 4243\n\tSYS_IO_SUBMIT              = 4244\n\tSYS_IO_CANCEL              = 4245\n\tSYS_EXIT_GROUP             = 4246\n\tSYS_LOOKUP_DCOOKIE         = 4247\n\tSYS_EPOLL_CREATE           = 4248\n\tSYS_EPOLL_CTL              = 4249\n\tSYS_EPOLL_WAIT             = 4250\n\tSYS_REMAP_FILE_PAGES       = 4251\n\tSYS_SET_TID_ADDRESS        = 4252\n\tSYS_RESTART_SYSCALL        = 4253\n\tSYS_FADVISE64              = 4254\n\tSYS_STATFS64               = 4255\n\tSYS_FSTATFS64              = 4256\n\tSYS_TIMER_CREATE           = 4257\n\tSYS_TIMER_SETTIME          = 4258\n\tSYS_TIMER_GETTIME          = 4259\n\tSYS_TIMER_GETOVERRUN       = 4260\n\tSYS_TIMER_DELETE           = 4261\n\tSYS_CLOCK_SETTIME          = 4262\n\tSYS_CLOCK_GETTIME          = 4263\n\tSYS_CLOCK_GETRES           = 4264\n\tSYS_CLOCK_NANOSLEEP        = 4265\n\tSYS_TGKILL                 = 4266\n\tSYS_UTIMES                 = 4267\n\tSYS_MBIND                  = 4268\n\tSYS_GET_MEMPOLICY          = 4269\n\tSYS_SET_MEMPOLICY          = 4270\n\tSYS_MQ_OPEN                = 4271\n\tSYS_MQ_UNLINK              = 4272\n\tSYS_MQ_TIMEDSEND           = 4273\n\tSYS_MQ_TIMEDRECEIVE        = 4274\n\tSYS_MQ_NOTIFY              = 4275\n\tSYS_MQ_GETSETATTR          = 4276\n\tSYS_VSERVER                = 4277\n\tSYS_WAITID                 = 4278\n\tSYS_ADD_KEY                = 4280\n\tSYS_REQUEST_KEY            = 4281\n\tSYS_KEYCTL                 = 4282\n\tSYS_SET_THREAD_AREA        = 4283\n\tSYS_INOTIFY_INIT           = 4284\n\tSYS_INOTIFY_ADD_WATCH      = 4285\n\tSYS_INOTIFY_RM_WATCH       = 4286\n\tSYS_MIGRATE_PAGES          = 4287\n\tSYS_OPENAT                 = 4288\n\tSYS_MKDIRAT                = 4289\n\tSYS_MKNODAT                = 4290\n\tSYS_FCHOWNAT               = 4291\n\tSYS_FUTIMESAT              = 4292\n\tSYS_FSTATAT64              = 4293\n\tSYS_UNLINKAT               = 4294\n\tSYS_RENAMEAT               = 4295\n\tSYS_LINKAT                 = 4296\n\tSYS_SYMLINKAT              = 4297\n\tSYS_READLINKAT             = 4298\n\tSYS_FCHMODAT               = 4299\n\tSYS_FACCESSAT              = 4300\n\tSYS_PSELECT6               = 4301\n\tSYS_PPOLL                  = 4302\n\tSYS_UNSHARE                = 4303\n\tSYS_SPLICE                 = 4304\n\tSYS_SYNC_FILE_RANGE        = 4305\n\tSYS_TEE                    = 4306\n\tSYS_VMSPLICE               = 4307\n\tSYS_MOVE_PAGES             = 4308\n\tSYS_SET_ROBUST_LIST        = 4309\n\tSYS_GET_ROBUST_LIST        = 4310\n\tSYS_KEXEC_LOAD             = 4311\n\tSYS_GETCPU                 = 4312\n\tSYS_EPOLL_PWAIT            = 4313\n\tSYS_IOPRIO_SET             = 4314\n\tSYS_IOPRIO_GET             = 4315\n\tSYS_UTIMENSAT              = 4316\n\tSYS_SIGNALFD               = 4317\n\tSYS_TIMERFD                = 4318\n\tSYS_EVENTFD                = 4319\n\tSYS_FALLOCATE              = 4320\n\tSYS_TIMERFD_CREATE         = 4321\n\tSYS_TIMERFD_GETTIME        = 4322\n\tSYS_TIMERFD_SETTIME        = 4323\n\tSYS_SIGNALFD4              = 4324\n\tSYS_EVENTFD2               = 4325\n\tSYS_EPOLL_CREATE1          = 4326\n\tSYS_DUP3                   = 4327\n\tSYS_PIPE2                  = 4328\n\tSYS_INOTIFY_INIT1          = 4329\n\tSYS_PREADV                 = 4330\n\tSYS_PWRITEV                = 4331\n\tSYS_RT_TGSIGQUEUEINFO      = 4332\n\tSYS_PERF_EVENT_OPEN        = 4333\n\tSYS_ACCEPT4                = 4334\n\tSYS_RECVMMSG               = 4335\n\tSYS_FANOTIFY_INIT          = 4336\n\tSYS_FANOTIFY_MARK          = 4337\n\tSYS_PRLIMIT64              = 4338\n\tSYS_NAME_TO_HANDLE_AT      = 4339\n\tSYS_OPEN_BY_HANDLE_AT      = 4340\n\tSYS_CLOCK_ADJTIME          = 4341\n\tSYS_SYNCFS                 = 4342\n\tSYS_SENDMMSG               = 4343\n\tSYS_SETNS                  = 4344\n\tSYS_PROCESS_VM_READV       = 4345\n\tSYS_PROCESS_VM_WRITEV      = 4346\n\tSYS_KCMP                   = 4347\n\tSYS_FINIT_MODULE           = 4348\n\tSYS_SCHED_SETATTR          = 4349\n\tSYS_SCHED_GETATTR          = 4350\n\tSYS_RENAMEAT2              = 4351\n\tSYS_SECCOMP                = 4352\n\tSYS_GETRANDOM              = 4353\n\tSYS_MEMFD_CREATE           = 4354\n\tSYS_BPF                    = 4355\n\tSYS_EXECVEAT               = 4356\n\tSYS_USERFAULTFD            = 4357\n\tSYS_MEMBARRIER             = 4358\n\tSYS_MLOCK2                 = 4359\n\tSYS_COPY_FILE_RANGE        = 4360\n\tSYS_PREADV2                = 4361\n\tSYS_PWRITEV2               = 4362\n\tSYS_PKEY_MPROTECT          = 4363\n\tSYS_PKEY_ALLOC             = 4364\n\tSYS_PKEY_FREE              = 4365\n\tSYS_STATX                  = 4366\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips64,linux\n\npackage unix\n\nconst (\n\tSYS_READ                   = 5000\n\tSYS_WRITE                  = 5001\n\tSYS_OPEN                   = 5002\n\tSYS_CLOSE                  = 5003\n\tSYS_STAT                   = 5004\n\tSYS_FSTAT                  = 5005\n\tSYS_LSTAT                  = 5006\n\tSYS_POLL                   = 5007\n\tSYS_LSEEK                  = 5008\n\tSYS_MMAP                   = 5009\n\tSYS_MPROTECT               = 5010\n\tSYS_MUNMAP                 = 5011\n\tSYS_BRK                    = 5012\n\tSYS_RT_SIGACTION           = 5013\n\tSYS_RT_SIGPROCMASK         = 5014\n\tSYS_IOCTL                  = 5015\n\tSYS_PREAD64                = 5016\n\tSYS_PWRITE64               = 5017\n\tSYS_READV                  = 5018\n\tSYS_WRITEV                 = 5019\n\tSYS_ACCESS                 = 5020\n\tSYS_PIPE                   = 5021\n\tSYS__NEWSELECT             = 5022\n\tSYS_SCHED_YIELD            = 5023\n\tSYS_MREMAP                 = 5024\n\tSYS_MSYNC                  = 5025\n\tSYS_MINCORE                = 5026\n\tSYS_MADVISE                = 5027\n\tSYS_SHMGET                 = 5028\n\tSYS_SHMAT                  = 5029\n\tSYS_SHMCTL                 = 5030\n\tSYS_DUP                    = 5031\n\tSYS_DUP2                   = 5032\n\tSYS_PAUSE                  = 5033\n\tSYS_NANOSLEEP              = 5034\n\tSYS_GETITIMER              = 5035\n\tSYS_SETITIMER              = 5036\n\tSYS_ALARM                  = 5037\n\tSYS_GETPID                 = 5038\n\tSYS_SENDFILE               = 5039\n\tSYS_SOCKET                 = 5040\n\tSYS_CONNECT                = 5041\n\tSYS_ACCEPT                 = 5042\n\tSYS_SENDTO                 = 5043\n\tSYS_RECVFROM               = 5044\n\tSYS_SENDMSG                = 5045\n\tSYS_RECVMSG                = 5046\n\tSYS_SHUTDOWN               = 5047\n\tSYS_BIND                   = 5048\n\tSYS_LISTEN                 = 5049\n\tSYS_GETSOCKNAME            = 5050\n\tSYS_GETPEERNAME            = 5051\n\tSYS_SOCKETPAIR             = 5052\n\tSYS_SETSOCKOPT             = 5053\n\tSYS_GETSOCKOPT             = 5054\n\tSYS_CLONE                  = 5055\n\tSYS_FORK                   = 5056\n\tSYS_EXECVE                 = 5057\n\tSYS_EXIT                   = 5058\n\tSYS_WAIT4                  = 5059\n\tSYS_KILL                   = 5060\n\tSYS_UNAME                  = 5061\n\tSYS_SEMGET                 = 5062\n\tSYS_SEMOP                  = 5063\n\tSYS_SEMCTL                 = 5064\n\tSYS_SHMDT                  = 5065\n\tSYS_MSGGET                 = 5066\n\tSYS_MSGSND                 = 5067\n\tSYS_MSGRCV                 = 5068\n\tSYS_MSGCTL                 = 5069\n\tSYS_FCNTL                  = 5070\n\tSYS_FLOCK                  = 5071\n\tSYS_FSYNC                  = 5072\n\tSYS_FDATASYNC              = 5073\n\tSYS_TRUNCATE               = 5074\n\tSYS_FTRUNCATE              = 5075\n\tSYS_GETDENTS               = 5076\n\tSYS_GETCWD                 = 5077\n\tSYS_CHDIR                  = 5078\n\tSYS_FCHDIR                 = 5079\n\tSYS_RENAME                 = 5080\n\tSYS_MKDIR                  = 5081\n\tSYS_RMDIR                  = 5082\n\tSYS_CREAT                  = 5083\n\tSYS_LINK                   = 5084\n\tSYS_UNLINK                 = 5085\n\tSYS_SYMLINK                = 5086\n\tSYS_READLINK               = 5087\n\tSYS_CHMOD                  = 5088\n\tSYS_FCHMOD                 = 5089\n\tSYS_CHOWN                  = 5090\n\tSYS_FCHOWN                 = 5091\n\tSYS_LCHOWN                 = 5092\n\tSYS_UMASK                  = 5093\n\tSYS_GETTIMEOFDAY           = 5094\n\tSYS_GETRLIMIT              = 5095\n\tSYS_GETRUSAGE              = 5096\n\tSYS_SYSINFO                = 5097\n\tSYS_TIMES                  = 5098\n\tSYS_PTRACE                 = 5099\n\tSYS_GETUID                 = 5100\n\tSYS_SYSLOG                 = 5101\n\tSYS_GETGID                 = 5102\n\tSYS_SETUID                 = 5103\n\tSYS_SETGID                 = 5104\n\tSYS_GETEUID                = 5105\n\tSYS_GETEGID                = 5106\n\tSYS_SETPGID                = 5107\n\tSYS_GETPPID                = 5108\n\tSYS_GETPGRP                = 5109\n\tSYS_SETSID                 = 5110\n\tSYS_SETREUID               = 5111\n\tSYS_SETREGID               = 5112\n\tSYS_GETGROUPS              = 5113\n\tSYS_SETGROUPS              = 5114\n\tSYS_SETRESUID              = 5115\n\tSYS_GETRESUID              = 5116\n\tSYS_SETRESGID              = 5117\n\tSYS_GETRESGID              = 5118\n\tSYS_GETPGID                = 5119\n\tSYS_SETFSUID               = 5120\n\tSYS_SETFSGID               = 5121\n\tSYS_GETSID                 = 5122\n\tSYS_CAPGET                 = 5123\n\tSYS_CAPSET                 = 5124\n\tSYS_RT_SIGPENDING          = 5125\n\tSYS_RT_SIGTIMEDWAIT        = 5126\n\tSYS_RT_SIGQUEUEINFO        = 5127\n\tSYS_RT_SIGSUSPEND          = 5128\n\tSYS_SIGALTSTACK            = 5129\n\tSYS_UTIME                  = 5130\n\tSYS_MKNOD                  = 5131\n\tSYS_PERSONALITY            = 5132\n\tSYS_USTAT                  = 5133\n\tSYS_STATFS                 = 5134\n\tSYS_FSTATFS                = 5135\n\tSYS_SYSFS                  = 5136\n\tSYS_GETPRIORITY            = 5137\n\tSYS_SETPRIORITY            = 5138\n\tSYS_SCHED_SETPARAM         = 5139\n\tSYS_SCHED_GETPARAM         = 5140\n\tSYS_SCHED_SETSCHEDULER     = 5141\n\tSYS_SCHED_GETSCHEDULER     = 5142\n\tSYS_SCHED_GET_PRIORITY_MAX = 5143\n\tSYS_SCHED_GET_PRIORITY_MIN = 5144\n\tSYS_SCHED_RR_GET_INTERVAL  = 5145\n\tSYS_MLOCK                  = 5146\n\tSYS_MUNLOCK                = 5147\n\tSYS_MLOCKALL               = 5148\n\tSYS_MUNLOCKALL             = 5149\n\tSYS_VHANGUP                = 5150\n\tSYS_PIVOT_ROOT             = 5151\n\tSYS__SYSCTL                = 5152\n\tSYS_PRCTL                  = 5153\n\tSYS_ADJTIMEX               = 5154\n\tSYS_SETRLIMIT              = 5155\n\tSYS_CHROOT                 = 5156\n\tSYS_SYNC                   = 5157\n\tSYS_ACCT                   = 5158\n\tSYS_SETTIMEOFDAY           = 5159\n\tSYS_MOUNT                  = 5160\n\tSYS_UMOUNT2                = 5161\n\tSYS_SWAPON                 = 5162\n\tSYS_SWAPOFF                = 5163\n\tSYS_REBOOT                 = 5164\n\tSYS_SETHOSTNAME            = 5165\n\tSYS_SETDOMAINNAME          = 5166\n\tSYS_CREATE_MODULE          = 5167\n\tSYS_INIT_MODULE            = 5168\n\tSYS_DELETE_MODULE          = 5169\n\tSYS_GET_KERNEL_SYMS        = 5170\n\tSYS_QUERY_MODULE           = 5171\n\tSYS_QUOTACTL               = 5172\n\tSYS_NFSSERVCTL             = 5173\n\tSYS_GETPMSG                = 5174\n\tSYS_PUTPMSG                = 5175\n\tSYS_AFS_SYSCALL            = 5176\n\tSYS_RESERVED177            = 5177\n\tSYS_GETTID                 = 5178\n\tSYS_READAHEAD              = 5179\n\tSYS_SETXATTR               = 5180\n\tSYS_LSETXATTR              = 5181\n\tSYS_FSETXATTR              = 5182\n\tSYS_GETXATTR               = 5183\n\tSYS_LGETXATTR              = 5184\n\tSYS_FGETXATTR              = 5185\n\tSYS_LISTXATTR              = 5186\n\tSYS_LLISTXATTR             = 5187\n\tSYS_FLISTXATTR             = 5188\n\tSYS_REMOVEXATTR            = 5189\n\tSYS_LREMOVEXATTR           = 5190\n\tSYS_FREMOVEXATTR           = 5191\n\tSYS_TKILL                  = 5192\n\tSYS_RESERVED193            = 5193\n\tSYS_FUTEX                  = 5194\n\tSYS_SCHED_SETAFFINITY      = 5195\n\tSYS_SCHED_GETAFFINITY      = 5196\n\tSYS_CACHEFLUSH             = 5197\n\tSYS_CACHECTL               = 5198\n\tSYS_SYSMIPS                = 5199\n\tSYS_IO_SETUP               = 5200\n\tSYS_IO_DESTROY             = 5201\n\tSYS_IO_GETEVENTS           = 5202\n\tSYS_IO_SUBMIT              = 5203\n\tSYS_IO_CANCEL              = 5204\n\tSYS_EXIT_GROUP             = 5205\n\tSYS_LOOKUP_DCOOKIE         = 5206\n\tSYS_EPOLL_CREATE           = 5207\n\tSYS_EPOLL_CTL              = 5208\n\tSYS_EPOLL_WAIT             = 5209\n\tSYS_REMAP_FILE_PAGES       = 5210\n\tSYS_RT_SIGRETURN           = 5211\n\tSYS_SET_TID_ADDRESS        = 5212\n\tSYS_RESTART_SYSCALL        = 5213\n\tSYS_SEMTIMEDOP             = 5214\n\tSYS_FADVISE64              = 5215\n\tSYS_TIMER_CREATE           = 5216\n\tSYS_TIMER_SETTIME          = 5217\n\tSYS_TIMER_GETTIME          = 5218\n\tSYS_TIMER_GETOVERRUN       = 5219\n\tSYS_TIMER_DELETE           = 5220\n\tSYS_CLOCK_SETTIME          = 5221\n\tSYS_CLOCK_GETTIME          = 5222\n\tSYS_CLOCK_GETRES           = 5223\n\tSYS_CLOCK_NANOSLEEP        = 5224\n\tSYS_TGKILL                 = 5225\n\tSYS_UTIMES                 = 5226\n\tSYS_MBIND                  = 5227\n\tSYS_GET_MEMPOLICY          = 5228\n\tSYS_SET_MEMPOLICY          = 5229\n\tSYS_MQ_OPEN                = 5230\n\tSYS_MQ_UNLINK              = 5231\n\tSYS_MQ_TIMEDSEND           = 5232\n\tSYS_MQ_TIMEDRECEIVE        = 5233\n\tSYS_MQ_NOTIFY              = 5234\n\tSYS_MQ_GETSETATTR          = 5235\n\tSYS_VSERVER                = 5236\n\tSYS_WAITID                 = 5237\n\tSYS_ADD_KEY                = 5239\n\tSYS_REQUEST_KEY            = 5240\n\tSYS_KEYCTL                 = 5241\n\tSYS_SET_THREAD_AREA        = 5242\n\tSYS_INOTIFY_INIT           = 5243\n\tSYS_INOTIFY_ADD_WATCH      = 5244\n\tSYS_INOTIFY_RM_WATCH       = 5245\n\tSYS_MIGRATE_PAGES          = 5246\n\tSYS_OPENAT                 = 5247\n\tSYS_MKDIRAT                = 5248\n\tSYS_MKNODAT                = 5249\n\tSYS_FCHOWNAT               = 5250\n\tSYS_FUTIMESAT              = 5251\n\tSYS_NEWFSTATAT             = 5252\n\tSYS_UNLINKAT               = 5253\n\tSYS_RENAMEAT               = 5254\n\tSYS_LINKAT                 = 5255\n\tSYS_SYMLINKAT              = 5256\n\tSYS_READLINKAT             = 5257\n\tSYS_FCHMODAT               = 5258\n\tSYS_FACCESSAT              = 5259\n\tSYS_PSELECT6               = 5260\n\tSYS_PPOLL                  = 5261\n\tSYS_UNSHARE                = 5262\n\tSYS_SPLICE                 = 5263\n\tSYS_SYNC_FILE_RANGE        = 5264\n\tSYS_TEE                    = 5265\n\tSYS_VMSPLICE               = 5266\n\tSYS_MOVE_PAGES             = 5267\n\tSYS_SET_ROBUST_LIST        = 5268\n\tSYS_GET_ROBUST_LIST        = 5269\n\tSYS_KEXEC_LOAD             = 5270\n\tSYS_GETCPU                 = 5271\n\tSYS_EPOLL_PWAIT            = 5272\n\tSYS_IOPRIO_SET             = 5273\n\tSYS_IOPRIO_GET             = 5274\n\tSYS_UTIMENSAT              = 5275\n\tSYS_SIGNALFD               = 5276\n\tSYS_TIMERFD                = 5277\n\tSYS_EVENTFD                = 5278\n\tSYS_FALLOCATE              = 5279\n\tSYS_TIMERFD_CREATE         = 5280\n\tSYS_TIMERFD_GETTIME        = 5281\n\tSYS_TIMERFD_SETTIME        = 5282\n\tSYS_SIGNALFD4              = 5283\n\tSYS_EVENTFD2               = 5284\n\tSYS_EPOLL_CREATE1          = 5285\n\tSYS_DUP3                   = 5286\n\tSYS_PIPE2                  = 5287\n\tSYS_INOTIFY_INIT1          = 5288\n\tSYS_PREADV                 = 5289\n\tSYS_PWRITEV                = 5290\n\tSYS_RT_TGSIGQUEUEINFO      = 5291\n\tSYS_PERF_EVENT_OPEN        = 5292\n\tSYS_ACCEPT4                = 5293\n\tSYS_RECVMMSG               = 5294\n\tSYS_FANOTIFY_INIT          = 5295\n\tSYS_FANOTIFY_MARK          = 5296\n\tSYS_PRLIMIT64              = 5297\n\tSYS_NAME_TO_HANDLE_AT      = 5298\n\tSYS_OPEN_BY_HANDLE_AT      = 5299\n\tSYS_CLOCK_ADJTIME          = 5300\n\tSYS_SYNCFS                 = 5301\n\tSYS_SENDMMSG               = 5302\n\tSYS_SETNS                  = 5303\n\tSYS_PROCESS_VM_READV       = 5304\n\tSYS_PROCESS_VM_WRITEV      = 5305\n\tSYS_KCMP                   = 5306\n\tSYS_FINIT_MODULE           = 5307\n\tSYS_GETDENTS64             = 5308\n\tSYS_SCHED_SETATTR          = 5309\n\tSYS_SCHED_GETATTR          = 5310\n\tSYS_RENAMEAT2              = 5311\n\tSYS_SECCOMP                = 5312\n\tSYS_GETRANDOM              = 5313\n\tSYS_MEMFD_CREATE           = 5314\n\tSYS_BPF                    = 5315\n\tSYS_EXECVEAT               = 5316\n\tSYS_USERFAULTFD            = 5317\n\tSYS_MEMBARRIER             = 5318\n\tSYS_MLOCK2                 = 5319\n\tSYS_COPY_FILE_RANGE        = 5320\n\tSYS_PREADV2                = 5321\n\tSYS_PWRITEV2               = 5322\n\tSYS_PKEY_MPROTECT          = 5323\n\tSYS_PKEY_ALLOC             = 5324\n\tSYS_PKEY_FREE              = 5325\n\tSYS_STATX                  = 5326\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips64le,linux\n\npackage unix\n\nconst (\n\tSYS_READ                   = 5000\n\tSYS_WRITE                  = 5001\n\tSYS_OPEN                   = 5002\n\tSYS_CLOSE                  = 5003\n\tSYS_STAT                   = 5004\n\tSYS_FSTAT                  = 5005\n\tSYS_LSTAT                  = 5006\n\tSYS_POLL                   = 5007\n\tSYS_LSEEK                  = 5008\n\tSYS_MMAP                   = 5009\n\tSYS_MPROTECT               = 5010\n\tSYS_MUNMAP                 = 5011\n\tSYS_BRK                    = 5012\n\tSYS_RT_SIGACTION           = 5013\n\tSYS_RT_SIGPROCMASK         = 5014\n\tSYS_IOCTL                  = 5015\n\tSYS_PREAD64                = 5016\n\tSYS_PWRITE64               = 5017\n\tSYS_READV                  = 5018\n\tSYS_WRITEV                 = 5019\n\tSYS_ACCESS                 = 5020\n\tSYS_PIPE                   = 5021\n\tSYS__NEWSELECT             = 5022\n\tSYS_SCHED_YIELD            = 5023\n\tSYS_MREMAP                 = 5024\n\tSYS_MSYNC                  = 5025\n\tSYS_MINCORE                = 5026\n\tSYS_MADVISE                = 5027\n\tSYS_SHMGET                 = 5028\n\tSYS_SHMAT                  = 5029\n\tSYS_SHMCTL                 = 5030\n\tSYS_DUP                    = 5031\n\tSYS_DUP2                   = 5032\n\tSYS_PAUSE                  = 5033\n\tSYS_NANOSLEEP              = 5034\n\tSYS_GETITIMER              = 5035\n\tSYS_SETITIMER              = 5036\n\tSYS_ALARM                  = 5037\n\tSYS_GETPID                 = 5038\n\tSYS_SENDFILE               = 5039\n\tSYS_SOCKET                 = 5040\n\tSYS_CONNECT                = 5041\n\tSYS_ACCEPT                 = 5042\n\tSYS_SENDTO                 = 5043\n\tSYS_RECVFROM               = 5044\n\tSYS_SENDMSG                = 5045\n\tSYS_RECVMSG                = 5046\n\tSYS_SHUTDOWN               = 5047\n\tSYS_BIND                   = 5048\n\tSYS_LISTEN                 = 5049\n\tSYS_GETSOCKNAME            = 5050\n\tSYS_GETPEERNAME            = 5051\n\tSYS_SOCKETPAIR             = 5052\n\tSYS_SETSOCKOPT             = 5053\n\tSYS_GETSOCKOPT             = 5054\n\tSYS_CLONE                  = 5055\n\tSYS_FORK                   = 5056\n\tSYS_EXECVE                 = 5057\n\tSYS_EXIT                   = 5058\n\tSYS_WAIT4                  = 5059\n\tSYS_KILL                   = 5060\n\tSYS_UNAME                  = 5061\n\tSYS_SEMGET                 = 5062\n\tSYS_SEMOP                  = 5063\n\tSYS_SEMCTL                 = 5064\n\tSYS_SHMDT                  = 5065\n\tSYS_MSGGET                 = 5066\n\tSYS_MSGSND                 = 5067\n\tSYS_MSGRCV                 = 5068\n\tSYS_MSGCTL                 = 5069\n\tSYS_FCNTL                  = 5070\n\tSYS_FLOCK                  = 5071\n\tSYS_FSYNC                  = 5072\n\tSYS_FDATASYNC              = 5073\n\tSYS_TRUNCATE               = 5074\n\tSYS_FTRUNCATE              = 5075\n\tSYS_GETDENTS               = 5076\n\tSYS_GETCWD                 = 5077\n\tSYS_CHDIR                  = 5078\n\tSYS_FCHDIR                 = 5079\n\tSYS_RENAME                 = 5080\n\tSYS_MKDIR                  = 5081\n\tSYS_RMDIR                  = 5082\n\tSYS_CREAT                  = 5083\n\tSYS_LINK                   = 5084\n\tSYS_UNLINK                 = 5085\n\tSYS_SYMLINK                = 5086\n\tSYS_READLINK               = 5087\n\tSYS_CHMOD                  = 5088\n\tSYS_FCHMOD                 = 5089\n\tSYS_CHOWN                  = 5090\n\tSYS_FCHOWN                 = 5091\n\tSYS_LCHOWN                 = 5092\n\tSYS_UMASK                  = 5093\n\tSYS_GETTIMEOFDAY           = 5094\n\tSYS_GETRLIMIT              = 5095\n\tSYS_GETRUSAGE              = 5096\n\tSYS_SYSINFO                = 5097\n\tSYS_TIMES                  = 5098\n\tSYS_PTRACE                 = 5099\n\tSYS_GETUID                 = 5100\n\tSYS_SYSLOG                 = 5101\n\tSYS_GETGID                 = 5102\n\tSYS_SETUID                 = 5103\n\tSYS_SETGID                 = 5104\n\tSYS_GETEUID                = 5105\n\tSYS_GETEGID                = 5106\n\tSYS_SETPGID                = 5107\n\tSYS_GETPPID                = 5108\n\tSYS_GETPGRP                = 5109\n\tSYS_SETSID                 = 5110\n\tSYS_SETREUID               = 5111\n\tSYS_SETREGID               = 5112\n\tSYS_GETGROUPS              = 5113\n\tSYS_SETGROUPS              = 5114\n\tSYS_SETRESUID              = 5115\n\tSYS_GETRESUID              = 5116\n\tSYS_SETRESGID              = 5117\n\tSYS_GETRESGID              = 5118\n\tSYS_GETPGID                = 5119\n\tSYS_SETFSUID               = 5120\n\tSYS_SETFSGID               = 5121\n\tSYS_GETSID                 = 5122\n\tSYS_CAPGET                 = 5123\n\tSYS_CAPSET                 = 5124\n\tSYS_RT_SIGPENDING          = 5125\n\tSYS_RT_SIGTIMEDWAIT        = 5126\n\tSYS_RT_SIGQUEUEINFO        = 5127\n\tSYS_RT_SIGSUSPEND          = 5128\n\tSYS_SIGALTSTACK            = 5129\n\tSYS_UTIME                  = 5130\n\tSYS_MKNOD                  = 5131\n\tSYS_PERSONALITY            = 5132\n\tSYS_USTAT                  = 5133\n\tSYS_STATFS                 = 5134\n\tSYS_FSTATFS                = 5135\n\tSYS_SYSFS                  = 5136\n\tSYS_GETPRIORITY            = 5137\n\tSYS_SETPRIORITY            = 5138\n\tSYS_SCHED_SETPARAM         = 5139\n\tSYS_SCHED_GETPARAM         = 5140\n\tSYS_SCHED_SETSCHEDULER     = 5141\n\tSYS_SCHED_GETSCHEDULER     = 5142\n\tSYS_SCHED_GET_PRIORITY_MAX = 5143\n\tSYS_SCHED_GET_PRIORITY_MIN = 5144\n\tSYS_SCHED_RR_GET_INTERVAL  = 5145\n\tSYS_MLOCK                  = 5146\n\tSYS_MUNLOCK                = 5147\n\tSYS_MLOCKALL               = 5148\n\tSYS_MUNLOCKALL             = 5149\n\tSYS_VHANGUP                = 5150\n\tSYS_PIVOT_ROOT             = 5151\n\tSYS__SYSCTL                = 5152\n\tSYS_PRCTL                  = 5153\n\tSYS_ADJTIMEX               = 5154\n\tSYS_SETRLIMIT              = 5155\n\tSYS_CHROOT                 = 5156\n\tSYS_SYNC                   = 5157\n\tSYS_ACCT                   = 5158\n\tSYS_SETTIMEOFDAY           = 5159\n\tSYS_MOUNT                  = 5160\n\tSYS_UMOUNT2                = 5161\n\tSYS_SWAPON                 = 5162\n\tSYS_SWAPOFF                = 5163\n\tSYS_REBOOT                 = 5164\n\tSYS_SETHOSTNAME            = 5165\n\tSYS_SETDOMAINNAME          = 5166\n\tSYS_CREATE_MODULE          = 5167\n\tSYS_INIT_MODULE            = 5168\n\tSYS_DELETE_MODULE          = 5169\n\tSYS_GET_KERNEL_SYMS        = 5170\n\tSYS_QUERY_MODULE           = 5171\n\tSYS_QUOTACTL               = 5172\n\tSYS_NFSSERVCTL             = 5173\n\tSYS_GETPMSG                = 5174\n\tSYS_PUTPMSG                = 5175\n\tSYS_AFS_SYSCALL            = 5176\n\tSYS_RESERVED177            = 5177\n\tSYS_GETTID                 = 5178\n\tSYS_READAHEAD              = 5179\n\tSYS_SETXATTR               = 5180\n\tSYS_LSETXATTR              = 5181\n\tSYS_FSETXATTR              = 5182\n\tSYS_GETXATTR               = 5183\n\tSYS_LGETXATTR              = 5184\n\tSYS_FGETXATTR              = 5185\n\tSYS_LISTXATTR              = 5186\n\tSYS_LLISTXATTR             = 5187\n\tSYS_FLISTXATTR             = 5188\n\tSYS_REMOVEXATTR            = 5189\n\tSYS_LREMOVEXATTR           = 5190\n\tSYS_FREMOVEXATTR           = 5191\n\tSYS_TKILL                  = 5192\n\tSYS_RESERVED193            = 5193\n\tSYS_FUTEX                  = 5194\n\tSYS_SCHED_SETAFFINITY      = 5195\n\tSYS_SCHED_GETAFFINITY      = 5196\n\tSYS_CACHEFLUSH             = 5197\n\tSYS_CACHECTL               = 5198\n\tSYS_SYSMIPS                = 5199\n\tSYS_IO_SETUP               = 5200\n\tSYS_IO_DESTROY             = 5201\n\tSYS_IO_GETEVENTS           = 5202\n\tSYS_IO_SUBMIT              = 5203\n\tSYS_IO_CANCEL              = 5204\n\tSYS_EXIT_GROUP             = 5205\n\tSYS_LOOKUP_DCOOKIE         = 5206\n\tSYS_EPOLL_CREATE           = 5207\n\tSYS_EPOLL_CTL              = 5208\n\tSYS_EPOLL_WAIT             = 5209\n\tSYS_REMAP_FILE_PAGES       = 5210\n\tSYS_RT_SIGRETURN           = 5211\n\tSYS_SET_TID_ADDRESS        = 5212\n\tSYS_RESTART_SYSCALL        = 5213\n\tSYS_SEMTIMEDOP             = 5214\n\tSYS_FADVISE64              = 5215\n\tSYS_TIMER_CREATE           = 5216\n\tSYS_TIMER_SETTIME          = 5217\n\tSYS_TIMER_GETTIME          = 5218\n\tSYS_TIMER_GETOVERRUN       = 5219\n\tSYS_TIMER_DELETE           = 5220\n\tSYS_CLOCK_SETTIME          = 5221\n\tSYS_CLOCK_GETTIME          = 5222\n\tSYS_CLOCK_GETRES           = 5223\n\tSYS_CLOCK_NANOSLEEP        = 5224\n\tSYS_TGKILL                 = 5225\n\tSYS_UTIMES                 = 5226\n\tSYS_MBIND                  = 5227\n\tSYS_GET_MEMPOLICY          = 5228\n\tSYS_SET_MEMPOLICY          = 5229\n\tSYS_MQ_OPEN                = 5230\n\tSYS_MQ_UNLINK              = 5231\n\tSYS_MQ_TIMEDSEND           = 5232\n\tSYS_MQ_TIMEDRECEIVE        = 5233\n\tSYS_MQ_NOTIFY              = 5234\n\tSYS_MQ_GETSETATTR          = 5235\n\tSYS_VSERVER                = 5236\n\tSYS_WAITID                 = 5237\n\tSYS_ADD_KEY                = 5239\n\tSYS_REQUEST_KEY            = 5240\n\tSYS_KEYCTL                 = 5241\n\tSYS_SET_THREAD_AREA        = 5242\n\tSYS_INOTIFY_INIT           = 5243\n\tSYS_INOTIFY_ADD_WATCH      = 5244\n\tSYS_INOTIFY_RM_WATCH       = 5245\n\tSYS_MIGRATE_PAGES          = 5246\n\tSYS_OPENAT                 = 5247\n\tSYS_MKDIRAT                = 5248\n\tSYS_MKNODAT                = 5249\n\tSYS_FCHOWNAT               = 5250\n\tSYS_FUTIMESAT              = 5251\n\tSYS_NEWFSTATAT             = 5252\n\tSYS_UNLINKAT               = 5253\n\tSYS_RENAMEAT               = 5254\n\tSYS_LINKAT                 = 5255\n\tSYS_SYMLINKAT              = 5256\n\tSYS_READLINKAT             = 5257\n\tSYS_FCHMODAT               = 5258\n\tSYS_FACCESSAT              = 5259\n\tSYS_PSELECT6               = 5260\n\tSYS_PPOLL                  = 5261\n\tSYS_UNSHARE                = 5262\n\tSYS_SPLICE                 = 5263\n\tSYS_SYNC_FILE_RANGE        = 5264\n\tSYS_TEE                    = 5265\n\tSYS_VMSPLICE               = 5266\n\tSYS_MOVE_PAGES             = 5267\n\tSYS_SET_ROBUST_LIST        = 5268\n\tSYS_GET_ROBUST_LIST        = 5269\n\tSYS_KEXEC_LOAD             = 5270\n\tSYS_GETCPU                 = 5271\n\tSYS_EPOLL_PWAIT            = 5272\n\tSYS_IOPRIO_SET             = 5273\n\tSYS_IOPRIO_GET             = 5274\n\tSYS_UTIMENSAT              = 5275\n\tSYS_SIGNALFD               = 5276\n\tSYS_TIMERFD                = 5277\n\tSYS_EVENTFD                = 5278\n\tSYS_FALLOCATE              = 5279\n\tSYS_TIMERFD_CREATE         = 5280\n\tSYS_TIMERFD_GETTIME        = 5281\n\tSYS_TIMERFD_SETTIME        = 5282\n\tSYS_SIGNALFD4              = 5283\n\tSYS_EVENTFD2               = 5284\n\tSYS_EPOLL_CREATE1          = 5285\n\tSYS_DUP3                   = 5286\n\tSYS_PIPE2                  = 5287\n\tSYS_INOTIFY_INIT1          = 5288\n\tSYS_PREADV                 = 5289\n\tSYS_PWRITEV                = 5290\n\tSYS_RT_TGSIGQUEUEINFO      = 5291\n\tSYS_PERF_EVENT_OPEN        = 5292\n\tSYS_ACCEPT4                = 5293\n\tSYS_RECVMMSG               = 5294\n\tSYS_FANOTIFY_INIT          = 5295\n\tSYS_FANOTIFY_MARK          = 5296\n\tSYS_PRLIMIT64              = 5297\n\tSYS_NAME_TO_HANDLE_AT      = 5298\n\tSYS_OPEN_BY_HANDLE_AT      = 5299\n\tSYS_CLOCK_ADJTIME          = 5300\n\tSYS_SYNCFS                 = 5301\n\tSYS_SENDMMSG               = 5302\n\tSYS_SETNS                  = 5303\n\tSYS_PROCESS_VM_READV       = 5304\n\tSYS_PROCESS_VM_WRITEV      = 5305\n\tSYS_KCMP                   = 5306\n\tSYS_FINIT_MODULE           = 5307\n\tSYS_GETDENTS64             = 5308\n\tSYS_SCHED_SETATTR          = 5309\n\tSYS_SCHED_GETATTR          = 5310\n\tSYS_RENAMEAT2              = 5311\n\tSYS_SECCOMP                = 5312\n\tSYS_GETRANDOM              = 5313\n\tSYS_MEMFD_CREATE           = 5314\n\tSYS_BPF                    = 5315\n\tSYS_EXECVEAT               = 5316\n\tSYS_USERFAULTFD            = 5317\n\tSYS_MEMBARRIER             = 5318\n\tSYS_MLOCK2                 = 5319\n\tSYS_COPY_FILE_RANGE        = 5320\n\tSYS_PREADV2                = 5321\n\tSYS_PWRITEV2               = 5322\n\tSYS_PKEY_MPROTECT          = 5323\n\tSYS_PKEY_ALLOC             = 5324\n\tSYS_PKEY_FREE              = 5325\n\tSYS_STATX                  = 5326\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mipsle,linux\n\npackage unix\n\nconst (\n\tSYS_SYSCALL                = 4000\n\tSYS_EXIT                   = 4001\n\tSYS_FORK                   = 4002\n\tSYS_READ                   = 4003\n\tSYS_WRITE                  = 4004\n\tSYS_OPEN                   = 4005\n\tSYS_CLOSE                  = 4006\n\tSYS_WAITPID                = 4007\n\tSYS_CREAT                  = 4008\n\tSYS_LINK                   = 4009\n\tSYS_UNLINK                 = 4010\n\tSYS_EXECVE                 = 4011\n\tSYS_CHDIR                  = 4012\n\tSYS_TIME                   = 4013\n\tSYS_MKNOD                  = 4014\n\tSYS_CHMOD                  = 4015\n\tSYS_LCHOWN                 = 4016\n\tSYS_BREAK                  = 4017\n\tSYS_UNUSED18               = 4018\n\tSYS_LSEEK                  = 4019\n\tSYS_GETPID                 = 4020\n\tSYS_MOUNT                  = 4021\n\tSYS_UMOUNT                 = 4022\n\tSYS_SETUID                 = 4023\n\tSYS_GETUID                 = 4024\n\tSYS_STIME                  = 4025\n\tSYS_PTRACE                 = 4026\n\tSYS_ALARM                  = 4027\n\tSYS_UNUSED28               = 4028\n\tSYS_PAUSE                  = 4029\n\tSYS_UTIME                  = 4030\n\tSYS_STTY                   = 4031\n\tSYS_GTTY                   = 4032\n\tSYS_ACCESS                 = 4033\n\tSYS_NICE                   = 4034\n\tSYS_FTIME                  = 4035\n\tSYS_SYNC                   = 4036\n\tSYS_KILL                   = 4037\n\tSYS_RENAME                 = 4038\n\tSYS_MKDIR                  = 4039\n\tSYS_RMDIR                  = 4040\n\tSYS_DUP                    = 4041\n\tSYS_PIPE                   = 4042\n\tSYS_TIMES                  = 4043\n\tSYS_PROF                   = 4044\n\tSYS_BRK                    = 4045\n\tSYS_SETGID                 = 4046\n\tSYS_GETGID                 = 4047\n\tSYS_SIGNAL                 = 4048\n\tSYS_GETEUID                = 4049\n\tSYS_GETEGID                = 4050\n\tSYS_ACCT                   = 4051\n\tSYS_UMOUNT2                = 4052\n\tSYS_LOCK                   = 4053\n\tSYS_IOCTL                  = 4054\n\tSYS_FCNTL                  = 4055\n\tSYS_MPX                    = 4056\n\tSYS_SETPGID                = 4057\n\tSYS_ULIMIT                 = 4058\n\tSYS_UNUSED59               = 4059\n\tSYS_UMASK                  = 4060\n\tSYS_CHROOT                 = 4061\n\tSYS_USTAT                  = 4062\n\tSYS_DUP2                   = 4063\n\tSYS_GETPPID                = 4064\n\tSYS_GETPGRP                = 4065\n\tSYS_SETSID                 = 4066\n\tSYS_SIGACTION              = 4067\n\tSYS_SGETMASK               = 4068\n\tSYS_SSETMASK               = 4069\n\tSYS_SETREUID               = 4070\n\tSYS_SETREGID               = 4071\n\tSYS_SIGSUSPEND             = 4072\n\tSYS_SIGPENDING             = 4073\n\tSYS_SETHOSTNAME            = 4074\n\tSYS_SETRLIMIT              = 4075\n\tSYS_GETRLIMIT              = 4076\n\tSYS_GETRUSAGE              = 4077\n\tSYS_GETTIMEOFDAY           = 4078\n\tSYS_SETTIMEOFDAY           = 4079\n\tSYS_GETGROUPS              = 4080\n\tSYS_SETGROUPS              = 4081\n\tSYS_RESERVED82             = 4082\n\tSYS_SYMLINK                = 4083\n\tSYS_UNUSED84               = 4084\n\tSYS_READLINK               = 4085\n\tSYS_USELIB                 = 4086\n\tSYS_SWAPON                 = 4087\n\tSYS_REBOOT                 = 4088\n\tSYS_READDIR                = 4089\n\tSYS_MMAP                   = 4090\n\tSYS_MUNMAP                 = 4091\n\tSYS_TRUNCATE               = 4092\n\tSYS_FTRUNCATE              = 4093\n\tSYS_FCHMOD                 = 4094\n\tSYS_FCHOWN                 = 4095\n\tSYS_GETPRIORITY            = 4096\n\tSYS_SETPRIORITY            = 4097\n\tSYS_PROFIL                 = 4098\n\tSYS_STATFS                 = 4099\n\tSYS_FSTATFS                = 4100\n\tSYS_IOPERM                 = 4101\n\tSYS_SOCKETCALL             = 4102\n\tSYS_SYSLOG                 = 4103\n\tSYS_SETITIMER              = 4104\n\tSYS_GETITIMER              = 4105\n\tSYS_STAT                   = 4106\n\tSYS_LSTAT                  = 4107\n\tSYS_FSTAT                  = 4108\n\tSYS_UNUSED109              = 4109\n\tSYS_IOPL                   = 4110\n\tSYS_VHANGUP                = 4111\n\tSYS_IDLE                   = 4112\n\tSYS_VM86                   = 4113\n\tSYS_WAIT4                  = 4114\n\tSYS_SWAPOFF                = 4115\n\tSYS_SYSINFO                = 4116\n\tSYS_IPC                    = 4117\n\tSYS_FSYNC                  = 4118\n\tSYS_SIGRETURN              = 4119\n\tSYS_CLONE                  = 4120\n\tSYS_SETDOMAINNAME          = 4121\n\tSYS_UNAME                  = 4122\n\tSYS_MODIFY_LDT             = 4123\n\tSYS_ADJTIMEX               = 4124\n\tSYS_MPROTECT               = 4125\n\tSYS_SIGPROCMASK            = 4126\n\tSYS_CREATE_MODULE          = 4127\n\tSYS_INIT_MODULE            = 4128\n\tSYS_DELETE_MODULE          = 4129\n\tSYS_GET_KERNEL_SYMS        = 4130\n\tSYS_QUOTACTL               = 4131\n\tSYS_GETPGID                = 4132\n\tSYS_FCHDIR                 = 4133\n\tSYS_BDFLUSH                = 4134\n\tSYS_SYSFS                  = 4135\n\tSYS_PERSONALITY            = 4136\n\tSYS_AFS_SYSCALL            = 4137\n\tSYS_SETFSUID               = 4138\n\tSYS_SETFSGID               = 4139\n\tSYS__LLSEEK                = 4140\n\tSYS_GETDENTS               = 4141\n\tSYS__NEWSELECT             = 4142\n\tSYS_FLOCK                  = 4143\n\tSYS_MSYNC                  = 4144\n\tSYS_READV                  = 4145\n\tSYS_WRITEV                 = 4146\n\tSYS_CACHEFLUSH             = 4147\n\tSYS_CACHECTL               = 4148\n\tSYS_SYSMIPS                = 4149\n\tSYS_UNUSED150              = 4150\n\tSYS_GETSID                 = 4151\n\tSYS_FDATASYNC              = 4152\n\tSYS__SYSCTL                = 4153\n\tSYS_MLOCK                  = 4154\n\tSYS_MUNLOCK                = 4155\n\tSYS_MLOCKALL               = 4156\n\tSYS_MUNLOCKALL             = 4157\n\tSYS_SCHED_SETPARAM         = 4158\n\tSYS_SCHED_GETPARAM         = 4159\n\tSYS_SCHED_SETSCHEDULER     = 4160\n\tSYS_SCHED_GETSCHEDULER     = 4161\n\tSYS_SCHED_YIELD            = 4162\n\tSYS_SCHED_GET_PRIORITY_MAX = 4163\n\tSYS_SCHED_GET_PRIORITY_MIN = 4164\n\tSYS_SCHED_RR_GET_INTERVAL  = 4165\n\tSYS_NANOSLEEP              = 4166\n\tSYS_MREMAP                 = 4167\n\tSYS_ACCEPT                 = 4168\n\tSYS_BIND                   = 4169\n\tSYS_CONNECT                = 4170\n\tSYS_GETPEERNAME            = 4171\n\tSYS_GETSOCKNAME            = 4172\n\tSYS_GETSOCKOPT             = 4173\n\tSYS_LISTEN                 = 4174\n\tSYS_RECV                   = 4175\n\tSYS_RECVFROM               = 4176\n\tSYS_RECVMSG                = 4177\n\tSYS_SEND                   = 4178\n\tSYS_SENDMSG                = 4179\n\tSYS_SENDTO                 = 4180\n\tSYS_SETSOCKOPT             = 4181\n\tSYS_SHUTDOWN               = 4182\n\tSYS_SOCKET                 = 4183\n\tSYS_SOCKETPAIR             = 4184\n\tSYS_SETRESUID              = 4185\n\tSYS_GETRESUID              = 4186\n\tSYS_QUERY_MODULE           = 4187\n\tSYS_POLL                   = 4188\n\tSYS_NFSSERVCTL             = 4189\n\tSYS_SETRESGID              = 4190\n\tSYS_GETRESGID              = 4191\n\tSYS_PRCTL                  = 4192\n\tSYS_RT_SIGRETURN           = 4193\n\tSYS_RT_SIGACTION           = 4194\n\tSYS_RT_SIGPROCMASK         = 4195\n\tSYS_RT_SIGPENDING          = 4196\n\tSYS_RT_SIGTIMEDWAIT        = 4197\n\tSYS_RT_SIGQUEUEINFO        = 4198\n\tSYS_RT_SIGSUSPEND          = 4199\n\tSYS_PREAD64                = 4200\n\tSYS_PWRITE64               = 4201\n\tSYS_CHOWN                  = 4202\n\tSYS_GETCWD                 = 4203\n\tSYS_CAPGET                 = 4204\n\tSYS_CAPSET                 = 4205\n\tSYS_SIGALTSTACK            = 4206\n\tSYS_SENDFILE               = 4207\n\tSYS_GETPMSG                = 4208\n\tSYS_PUTPMSG                = 4209\n\tSYS_MMAP2                  = 4210\n\tSYS_TRUNCATE64             = 4211\n\tSYS_FTRUNCATE64            = 4212\n\tSYS_STAT64                 = 4213\n\tSYS_LSTAT64                = 4214\n\tSYS_FSTAT64                = 4215\n\tSYS_PIVOT_ROOT             = 4216\n\tSYS_MINCORE                = 4217\n\tSYS_MADVISE                = 4218\n\tSYS_GETDENTS64             = 4219\n\tSYS_FCNTL64                = 4220\n\tSYS_RESERVED221            = 4221\n\tSYS_GETTID                 = 4222\n\tSYS_READAHEAD              = 4223\n\tSYS_SETXATTR               = 4224\n\tSYS_LSETXATTR              = 4225\n\tSYS_FSETXATTR              = 4226\n\tSYS_GETXATTR               = 4227\n\tSYS_LGETXATTR              = 4228\n\tSYS_FGETXATTR              = 4229\n\tSYS_LISTXATTR              = 4230\n\tSYS_LLISTXATTR             = 4231\n\tSYS_FLISTXATTR             = 4232\n\tSYS_REMOVEXATTR            = 4233\n\tSYS_LREMOVEXATTR           = 4234\n\tSYS_FREMOVEXATTR           = 4235\n\tSYS_TKILL                  = 4236\n\tSYS_SENDFILE64             = 4237\n\tSYS_FUTEX                  = 4238\n\tSYS_SCHED_SETAFFINITY      = 4239\n\tSYS_SCHED_GETAFFINITY      = 4240\n\tSYS_IO_SETUP               = 4241\n\tSYS_IO_DESTROY             = 4242\n\tSYS_IO_GETEVENTS           = 4243\n\tSYS_IO_SUBMIT              = 4244\n\tSYS_IO_CANCEL              = 4245\n\tSYS_EXIT_GROUP             = 4246\n\tSYS_LOOKUP_DCOOKIE         = 4247\n\tSYS_EPOLL_CREATE           = 4248\n\tSYS_EPOLL_CTL              = 4249\n\tSYS_EPOLL_WAIT             = 4250\n\tSYS_REMAP_FILE_PAGES       = 4251\n\tSYS_SET_TID_ADDRESS        = 4252\n\tSYS_RESTART_SYSCALL        = 4253\n\tSYS_FADVISE64              = 4254\n\tSYS_STATFS64               = 4255\n\tSYS_FSTATFS64              = 4256\n\tSYS_TIMER_CREATE           = 4257\n\tSYS_TIMER_SETTIME          = 4258\n\tSYS_TIMER_GETTIME          = 4259\n\tSYS_TIMER_GETOVERRUN       = 4260\n\tSYS_TIMER_DELETE           = 4261\n\tSYS_CLOCK_SETTIME          = 4262\n\tSYS_CLOCK_GETTIME          = 4263\n\tSYS_CLOCK_GETRES           = 4264\n\tSYS_CLOCK_NANOSLEEP        = 4265\n\tSYS_TGKILL                 = 4266\n\tSYS_UTIMES                 = 4267\n\tSYS_MBIND                  = 4268\n\tSYS_GET_MEMPOLICY          = 4269\n\tSYS_SET_MEMPOLICY          = 4270\n\tSYS_MQ_OPEN                = 4271\n\tSYS_MQ_UNLINK              = 4272\n\tSYS_MQ_TIMEDSEND           = 4273\n\tSYS_MQ_TIMEDRECEIVE        = 4274\n\tSYS_MQ_NOTIFY              = 4275\n\tSYS_MQ_GETSETATTR          = 4276\n\tSYS_VSERVER                = 4277\n\tSYS_WAITID                 = 4278\n\tSYS_ADD_KEY                = 4280\n\tSYS_REQUEST_KEY            = 4281\n\tSYS_KEYCTL                 = 4282\n\tSYS_SET_THREAD_AREA        = 4283\n\tSYS_INOTIFY_INIT           = 4284\n\tSYS_INOTIFY_ADD_WATCH      = 4285\n\tSYS_INOTIFY_RM_WATCH       = 4286\n\tSYS_MIGRATE_PAGES          = 4287\n\tSYS_OPENAT                 = 4288\n\tSYS_MKDIRAT                = 4289\n\tSYS_MKNODAT                = 4290\n\tSYS_FCHOWNAT               = 4291\n\tSYS_FUTIMESAT              = 4292\n\tSYS_FSTATAT64              = 4293\n\tSYS_UNLINKAT               = 4294\n\tSYS_RENAMEAT               = 4295\n\tSYS_LINKAT                 = 4296\n\tSYS_SYMLINKAT              = 4297\n\tSYS_READLINKAT             = 4298\n\tSYS_FCHMODAT               = 4299\n\tSYS_FACCESSAT              = 4300\n\tSYS_PSELECT6               = 4301\n\tSYS_PPOLL                  = 4302\n\tSYS_UNSHARE                = 4303\n\tSYS_SPLICE                 = 4304\n\tSYS_SYNC_FILE_RANGE        = 4305\n\tSYS_TEE                    = 4306\n\tSYS_VMSPLICE               = 4307\n\tSYS_MOVE_PAGES             = 4308\n\tSYS_SET_ROBUST_LIST        = 4309\n\tSYS_GET_ROBUST_LIST        = 4310\n\tSYS_KEXEC_LOAD             = 4311\n\tSYS_GETCPU                 = 4312\n\tSYS_EPOLL_PWAIT            = 4313\n\tSYS_IOPRIO_SET             = 4314\n\tSYS_IOPRIO_GET             = 4315\n\tSYS_UTIMENSAT              = 4316\n\tSYS_SIGNALFD               = 4317\n\tSYS_TIMERFD                = 4318\n\tSYS_EVENTFD                = 4319\n\tSYS_FALLOCATE              = 4320\n\tSYS_TIMERFD_CREATE         = 4321\n\tSYS_TIMERFD_GETTIME        = 4322\n\tSYS_TIMERFD_SETTIME        = 4323\n\tSYS_SIGNALFD4              = 4324\n\tSYS_EVENTFD2               = 4325\n\tSYS_EPOLL_CREATE1          = 4326\n\tSYS_DUP3                   = 4327\n\tSYS_PIPE2                  = 4328\n\tSYS_INOTIFY_INIT1          = 4329\n\tSYS_PREADV                 = 4330\n\tSYS_PWRITEV                = 4331\n\tSYS_RT_TGSIGQUEUEINFO      = 4332\n\tSYS_PERF_EVENT_OPEN        = 4333\n\tSYS_ACCEPT4                = 4334\n\tSYS_RECVMMSG               = 4335\n\tSYS_FANOTIFY_INIT          = 4336\n\tSYS_FANOTIFY_MARK          = 4337\n\tSYS_PRLIMIT64              = 4338\n\tSYS_NAME_TO_HANDLE_AT      = 4339\n\tSYS_OPEN_BY_HANDLE_AT      = 4340\n\tSYS_CLOCK_ADJTIME          = 4341\n\tSYS_SYNCFS                 = 4342\n\tSYS_SENDMMSG               = 4343\n\tSYS_SETNS                  = 4344\n\tSYS_PROCESS_VM_READV       = 4345\n\tSYS_PROCESS_VM_WRITEV      = 4346\n\tSYS_KCMP                   = 4347\n\tSYS_FINIT_MODULE           = 4348\n\tSYS_SCHED_SETATTR          = 4349\n\tSYS_SCHED_GETATTR          = 4350\n\tSYS_RENAMEAT2              = 4351\n\tSYS_SECCOMP                = 4352\n\tSYS_GETRANDOM              = 4353\n\tSYS_MEMFD_CREATE           = 4354\n\tSYS_BPF                    = 4355\n\tSYS_EXECVEAT               = 4356\n\tSYS_USERFAULTFD            = 4357\n\tSYS_MEMBARRIER             = 4358\n\tSYS_MLOCK2                 = 4359\n\tSYS_COPY_FILE_RANGE        = 4360\n\tSYS_PREADV2                = 4361\n\tSYS_PWRITEV2               = 4362\n\tSYS_PKEY_MPROTECT          = 4363\n\tSYS_PKEY_ALLOC             = 4364\n\tSYS_PKEY_FREE              = 4365\n\tSYS_STATX                  = 4366\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build ppc64,linux\n\npackage unix\n\nconst (\n\tSYS_RESTART_SYSCALL        = 0\n\tSYS_EXIT                   = 1\n\tSYS_FORK                   = 2\n\tSYS_READ                   = 3\n\tSYS_WRITE                  = 4\n\tSYS_OPEN                   = 5\n\tSYS_CLOSE                  = 6\n\tSYS_WAITPID                = 7\n\tSYS_CREAT                  = 8\n\tSYS_LINK                   = 9\n\tSYS_UNLINK                 = 10\n\tSYS_EXECVE                 = 11\n\tSYS_CHDIR                  = 12\n\tSYS_TIME                   = 13\n\tSYS_MKNOD                  = 14\n\tSYS_CHMOD                  = 15\n\tSYS_LCHOWN                 = 16\n\tSYS_BREAK                  = 17\n\tSYS_OLDSTAT                = 18\n\tSYS_LSEEK                  = 19\n\tSYS_GETPID                 = 20\n\tSYS_MOUNT                  = 21\n\tSYS_UMOUNT                 = 22\n\tSYS_SETUID                 = 23\n\tSYS_GETUID                 = 24\n\tSYS_STIME                  = 25\n\tSYS_PTRACE                 = 26\n\tSYS_ALARM                  = 27\n\tSYS_OLDFSTAT               = 28\n\tSYS_PAUSE                  = 29\n\tSYS_UTIME                  = 30\n\tSYS_STTY                   = 31\n\tSYS_GTTY                   = 32\n\tSYS_ACCESS                 = 33\n\tSYS_NICE                   = 34\n\tSYS_FTIME                  = 35\n\tSYS_SYNC                   = 36\n\tSYS_KILL                   = 37\n\tSYS_RENAME                 = 38\n\tSYS_MKDIR                  = 39\n\tSYS_RMDIR                  = 40\n\tSYS_DUP                    = 41\n\tSYS_PIPE                   = 42\n\tSYS_TIMES                  = 43\n\tSYS_PROF                   = 44\n\tSYS_BRK                    = 45\n\tSYS_SETGID                 = 46\n\tSYS_GETGID                 = 47\n\tSYS_SIGNAL                 = 48\n\tSYS_GETEUID                = 49\n\tSYS_GETEGID                = 50\n\tSYS_ACCT                   = 51\n\tSYS_UMOUNT2                = 52\n\tSYS_LOCK                   = 53\n\tSYS_IOCTL                  = 54\n\tSYS_FCNTL                  = 55\n\tSYS_MPX                    = 56\n\tSYS_SETPGID                = 57\n\tSYS_ULIMIT                 = 58\n\tSYS_OLDOLDUNAME            = 59\n\tSYS_UMASK                  = 60\n\tSYS_CHROOT                 = 61\n\tSYS_USTAT                  = 62\n\tSYS_DUP2                   = 63\n\tSYS_GETPPID                = 64\n\tSYS_GETPGRP                = 65\n\tSYS_SETSID                 = 66\n\tSYS_SIGACTION              = 67\n\tSYS_SGETMASK               = 68\n\tSYS_SSETMASK               = 69\n\tSYS_SETREUID               = 70\n\tSYS_SETREGID               = 71\n\tSYS_SIGSUSPEND             = 72\n\tSYS_SIGPENDING             = 73\n\tSYS_SETHOSTNAME            = 74\n\tSYS_SETRLIMIT              = 75\n\tSYS_GETRLIMIT              = 76\n\tSYS_GETRUSAGE              = 77\n\tSYS_GETTIMEOFDAY           = 78\n\tSYS_SETTIMEOFDAY           = 79\n\tSYS_GETGROUPS              = 80\n\tSYS_SETGROUPS              = 81\n\tSYS_SELECT                 = 82\n\tSYS_SYMLINK                = 83\n\tSYS_OLDLSTAT               = 84\n\tSYS_READLINK               = 85\n\tSYS_USELIB                 = 86\n\tSYS_SWAPON                 = 87\n\tSYS_REBOOT                 = 88\n\tSYS_READDIR                = 89\n\tSYS_MMAP                   = 90\n\tSYS_MUNMAP                 = 91\n\tSYS_TRUNCATE               = 92\n\tSYS_FTRUNCATE              = 93\n\tSYS_FCHMOD                 = 94\n\tSYS_FCHOWN                 = 95\n\tSYS_GETPRIORITY            = 96\n\tSYS_SETPRIORITY            = 97\n\tSYS_PROFIL                 = 98\n\tSYS_STATFS                 = 99\n\tSYS_FSTATFS                = 100\n\tSYS_IOPERM                 = 101\n\tSYS_SOCKETCALL             = 102\n\tSYS_SYSLOG                 = 103\n\tSYS_SETITIMER              = 104\n\tSYS_GETITIMER              = 105\n\tSYS_STAT                   = 106\n\tSYS_LSTAT                  = 107\n\tSYS_FSTAT                  = 108\n\tSYS_OLDUNAME               = 109\n\tSYS_IOPL                   = 110\n\tSYS_VHANGUP                = 111\n\tSYS_IDLE                   = 112\n\tSYS_VM86                   = 113\n\tSYS_WAIT4                  = 114\n\tSYS_SWAPOFF                = 115\n\tSYS_SYSINFO                = 116\n\tSYS_IPC                    = 117\n\tSYS_FSYNC                  = 118\n\tSYS_SIGRETURN              = 119\n\tSYS_CLONE                  = 120\n\tSYS_SETDOMAINNAME          = 121\n\tSYS_UNAME                  = 122\n\tSYS_MODIFY_LDT             = 123\n\tSYS_ADJTIMEX               = 124\n\tSYS_MPROTECT               = 125\n\tSYS_SIGPROCMASK            = 126\n\tSYS_CREATE_MODULE          = 127\n\tSYS_INIT_MODULE            = 128\n\tSYS_DELETE_MODULE          = 129\n\tSYS_GET_KERNEL_SYMS        = 130\n\tSYS_QUOTACTL               = 131\n\tSYS_GETPGID                = 132\n\tSYS_FCHDIR                 = 133\n\tSYS_BDFLUSH                = 134\n\tSYS_SYSFS                  = 135\n\tSYS_PERSONALITY            = 136\n\tSYS_AFS_SYSCALL            = 137\n\tSYS_SETFSUID               = 138\n\tSYS_SETFSGID               = 139\n\tSYS__LLSEEK                = 140\n\tSYS_GETDENTS               = 141\n\tSYS__NEWSELECT             = 142\n\tSYS_FLOCK                  = 143\n\tSYS_MSYNC                  = 144\n\tSYS_READV                  = 145\n\tSYS_WRITEV                 = 146\n\tSYS_GETSID                 = 147\n\tSYS_FDATASYNC              = 148\n\tSYS__SYSCTL                = 149\n\tSYS_MLOCK                  = 150\n\tSYS_MUNLOCK                = 151\n\tSYS_MLOCKALL               = 152\n\tSYS_MUNLOCKALL             = 153\n\tSYS_SCHED_SETPARAM         = 154\n\tSYS_SCHED_GETPARAM         = 155\n\tSYS_SCHED_SETSCHEDULER     = 156\n\tSYS_SCHED_GETSCHEDULER     = 157\n\tSYS_SCHED_YIELD            = 158\n\tSYS_SCHED_GET_PRIORITY_MAX = 159\n\tSYS_SCHED_GET_PRIORITY_MIN = 160\n\tSYS_SCHED_RR_GET_INTERVAL  = 161\n\tSYS_NANOSLEEP              = 162\n\tSYS_MREMAP                 = 163\n\tSYS_SETRESUID              = 164\n\tSYS_GETRESUID              = 165\n\tSYS_QUERY_MODULE           = 166\n\tSYS_POLL                   = 167\n\tSYS_NFSSERVCTL             = 168\n\tSYS_SETRESGID              = 169\n\tSYS_GETRESGID              = 170\n\tSYS_PRCTL                  = 171\n\tSYS_RT_SIGRETURN           = 172\n\tSYS_RT_SIGACTION           = 173\n\tSYS_RT_SIGPROCMASK         = 174\n\tSYS_RT_SIGPENDING          = 175\n\tSYS_RT_SIGTIMEDWAIT        = 176\n\tSYS_RT_SIGQUEUEINFO        = 177\n\tSYS_RT_SIGSUSPEND          = 178\n\tSYS_PREAD64                = 179\n\tSYS_PWRITE64               = 180\n\tSYS_CHOWN                  = 181\n\tSYS_GETCWD                 = 182\n\tSYS_CAPGET                 = 183\n\tSYS_CAPSET                 = 184\n\tSYS_SIGALTSTACK            = 185\n\tSYS_SENDFILE               = 186\n\tSYS_GETPMSG                = 187\n\tSYS_PUTPMSG                = 188\n\tSYS_VFORK                  = 189\n\tSYS_UGETRLIMIT             = 190\n\tSYS_READAHEAD              = 191\n\tSYS_PCICONFIG_READ         = 198\n\tSYS_PCICONFIG_WRITE        = 199\n\tSYS_PCICONFIG_IOBASE       = 200\n\tSYS_MULTIPLEXER            = 201\n\tSYS_GETDENTS64             = 202\n\tSYS_PIVOT_ROOT             = 203\n\tSYS_MADVISE                = 205\n\tSYS_MINCORE                = 206\n\tSYS_GETTID                 = 207\n\tSYS_TKILL                  = 208\n\tSYS_SETXATTR               = 209\n\tSYS_LSETXATTR              = 210\n\tSYS_FSETXATTR              = 211\n\tSYS_GETXATTR               = 212\n\tSYS_LGETXATTR              = 213\n\tSYS_FGETXATTR              = 214\n\tSYS_LISTXATTR              = 215\n\tSYS_LLISTXATTR             = 216\n\tSYS_FLISTXATTR             = 217\n\tSYS_REMOVEXATTR            = 218\n\tSYS_LREMOVEXATTR           = 219\n\tSYS_FREMOVEXATTR           = 220\n\tSYS_FUTEX                  = 221\n\tSYS_SCHED_SETAFFINITY      = 222\n\tSYS_SCHED_GETAFFINITY      = 223\n\tSYS_TUXCALL                = 225\n\tSYS_IO_SETUP               = 227\n\tSYS_IO_DESTROY             = 228\n\tSYS_IO_GETEVENTS           = 229\n\tSYS_IO_SUBMIT              = 230\n\tSYS_IO_CANCEL              = 231\n\tSYS_SET_TID_ADDRESS        = 232\n\tSYS_FADVISE64              = 233\n\tSYS_EXIT_GROUP             = 234\n\tSYS_LOOKUP_DCOOKIE         = 235\n\tSYS_EPOLL_CREATE           = 236\n\tSYS_EPOLL_CTL              = 237\n\tSYS_EPOLL_WAIT             = 238\n\tSYS_REMAP_FILE_PAGES       = 239\n\tSYS_TIMER_CREATE           = 240\n\tSYS_TIMER_SETTIME          = 241\n\tSYS_TIMER_GETTIME          = 242\n\tSYS_TIMER_GETOVERRUN       = 243\n\tSYS_TIMER_DELETE           = 244\n\tSYS_CLOCK_SETTIME          = 245\n\tSYS_CLOCK_GETTIME          = 246\n\tSYS_CLOCK_GETRES           = 247\n\tSYS_CLOCK_NANOSLEEP        = 248\n\tSYS_SWAPCONTEXT            = 249\n\tSYS_TGKILL                 = 250\n\tSYS_UTIMES                 = 251\n\tSYS_STATFS64               = 252\n\tSYS_FSTATFS64              = 253\n\tSYS_RTAS                   = 255\n\tSYS_SYS_DEBUG_SETCONTEXT   = 256\n\tSYS_MIGRATE_PAGES          = 258\n\tSYS_MBIND                  = 259\n\tSYS_GET_MEMPOLICY          = 260\n\tSYS_SET_MEMPOLICY          = 261\n\tSYS_MQ_OPEN                = 262\n\tSYS_MQ_UNLINK              = 263\n\tSYS_MQ_TIMEDSEND           = 264\n\tSYS_MQ_TIMEDRECEIVE        = 265\n\tSYS_MQ_NOTIFY              = 266\n\tSYS_MQ_GETSETATTR          = 267\n\tSYS_KEXEC_LOAD             = 268\n\tSYS_ADD_KEY                = 269\n\tSYS_REQUEST_KEY            = 270\n\tSYS_KEYCTL                 = 271\n\tSYS_WAITID                 = 272\n\tSYS_IOPRIO_SET             = 273\n\tSYS_IOPRIO_GET             = 274\n\tSYS_INOTIFY_INIT           = 275\n\tSYS_INOTIFY_ADD_WATCH      = 276\n\tSYS_INOTIFY_RM_WATCH       = 277\n\tSYS_SPU_RUN                = 278\n\tSYS_SPU_CREATE             = 279\n\tSYS_PSELECT6               = 280\n\tSYS_PPOLL                  = 281\n\tSYS_UNSHARE                = 282\n\tSYS_SPLICE                 = 283\n\tSYS_TEE                    = 284\n\tSYS_VMSPLICE               = 285\n\tSYS_OPENAT                 = 286\n\tSYS_MKDIRAT                = 287\n\tSYS_MKNODAT                = 288\n\tSYS_FCHOWNAT               = 289\n\tSYS_FUTIMESAT              = 290\n\tSYS_NEWFSTATAT             = 291\n\tSYS_UNLINKAT               = 292\n\tSYS_RENAMEAT               = 293\n\tSYS_LINKAT                 = 294\n\tSYS_SYMLINKAT              = 295\n\tSYS_READLINKAT             = 296\n\tSYS_FCHMODAT               = 297\n\tSYS_FACCESSAT              = 298\n\tSYS_GET_ROBUST_LIST        = 299\n\tSYS_SET_ROBUST_LIST        = 300\n\tSYS_MOVE_PAGES             = 301\n\tSYS_GETCPU                 = 302\n\tSYS_EPOLL_PWAIT            = 303\n\tSYS_UTIMENSAT              = 304\n\tSYS_SIGNALFD               = 305\n\tSYS_TIMERFD_CREATE         = 306\n\tSYS_EVENTFD                = 307\n\tSYS_SYNC_FILE_RANGE2       = 308\n\tSYS_FALLOCATE              = 309\n\tSYS_SUBPAGE_PROT           = 310\n\tSYS_TIMERFD_SETTIME        = 311\n\tSYS_TIMERFD_GETTIME        = 312\n\tSYS_SIGNALFD4              = 313\n\tSYS_EVENTFD2               = 314\n\tSYS_EPOLL_CREATE1          = 315\n\tSYS_DUP3                   = 316\n\tSYS_PIPE2                  = 317\n\tSYS_INOTIFY_INIT1          = 318\n\tSYS_PERF_EVENT_OPEN        = 319\n\tSYS_PREADV                 = 320\n\tSYS_PWRITEV                = 321\n\tSYS_RT_TGSIGQUEUEINFO      = 322\n\tSYS_FANOTIFY_INIT          = 323\n\tSYS_FANOTIFY_MARK          = 324\n\tSYS_PRLIMIT64              = 325\n\tSYS_SOCKET                 = 326\n\tSYS_BIND                   = 327\n\tSYS_CONNECT                = 328\n\tSYS_LISTEN                 = 329\n\tSYS_ACCEPT                 = 330\n\tSYS_GETSOCKNAME            = 331\n\tSYS_GETPEERNAME            = 332\n\tSYS_SOCKETPAIR             = 333\n\tSYS_SEND                   = 334\n\tSYS_SENDTO                 = 335\n\tSYS_RECV                   = 336\n\tSYS_RECVFROM               = 337\n\tSYS_SHUTDOWN               = 338\n\tSYS_SETSOCKOPT             = 339\n\tSYS_GETSOCKOPT             = 340\n\tSYS_SENDMSG                = 341\n\tSYS_RECVMSG                = 342\n\tSYS_RECVMMSG               = 343\n\tSYS_ACCEPT4                = 344\n\tSYS_NAME_TO_HANDLE_AT      = 345\n\tSYS_OPEN_BY_HANDLE_AT      = 346\n\tSYS_CLOCK_ADJTIME          = 347\n\tSYS_SYNCFS                 = 348\n\tSYS_SENDMMSG               = 349\n\tSYS_SETNS                  = 350\n\tSYS_PROCESS_VM_READV       = 351\n\tSYS_PROCESS_VM_WRITEV      = 352\n\tSYS_FINIT_MODULE           = 353\n\tSYS_KCMP                   = 354\n\tSYS_SCHED_SETATTR          = 355\n\tSYS_SCHED_GETATTR          = 356\n\tSYS_RENAMEAT2              = 357\n\tSYS_SECCOMP                = 358\n\tSYS_GETRANDOM              = 359\n\tSYS_MEMFD_CREATE           = 360\n\tSYS_BPF                    = 361\n\tSYS_EXECVEAT               = 362\n\tSYS_SWITCH_ENDIAN          = 363\n\tSYS_USERFAULTFD            = 364\n\tSYS_MEMBARRIER             = 365\n\tSYS_MLOCK2                 = 378\n\tSYS_COPY_FILE_RANGE        = 379\n\tSYS_PREADV2                = 380\n\tSYS_PWRITEV2               = 381\n\tSYS_KEXEC_FILE_LOAD        = 382\n\tSYS_STATX                  = 383\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build ppc64le,linux\n\npackage unix\n\nconst (\n\tSYS_RESTART_SYSCALL        = 0\n\tSYS_EXIT                   = 1\n\tSYS_FORK                   = 2\n\tSYS_READ                   = 3\n\tSYS_WRITE                  = 4\n\tSYS_OPEN                   = 5\n\tSYS_CLOSE                  = 6\n\tSYS_WAITPID                = 7\n\tSYS_CREAT                  = 8\n\tSYS_LINK                   = 9\n\tSYS_UNLINK                 = 10\n\tSYS_EXECVE                 = 11\n\tSYS_CHDIR                  = 12\n\tSYS_TIME                   = 13\n\tSYS_MKNOD                  = 14\n\tSYS_CHMOD                  = 15\n\tSYS_LCHOWN                 = 16\n\tSYS_BREAK                  = 17\n\tSYS_OLDSTAT                = 18\n\tSYS_LSEEK                  = 19\n\tSYS_GETPID                 = 20\n\tSYS_MOUNT                  = 21\n\tSYS_UMOUNT                 = 22\n\tSYS_SETUID                 = 23\n\tSYS_GETUID                 = 24\n\tSYS_STIME                  = 25\n\tSYS_PTRACE                 = 26\n\tSYS_ALARM                  = 27\n\tSYS_OLDFSTAT               = 28\n\tSYS_PAUSE                  = 29\n\tSYS_UTIME                  = 30\n\tSYS_STTY                   = 31\n\tSYS_GTTY                   = 32\n\tSYS_ACCESS                 = 33\n\tSYS_NICE                   = 34\n\tSYS_FTIME                  = 35\n\tSYS_SYNC                   = 36\n\tSYS_KILL                   = 37\n\tSYS_RENAME                 = 38\n\tSYS_MKDIR                  = 39\n\tSYS_RMDIR                  = 40\n\tSYS_DUP                    = 41\n\tSYS_PIPE                   = 42\n\tSYS_TIMES                  = 43\n\tSYS_PROF                   = 44\n\tSYS_BRK                    = 45\n\tSYS_SETGID                 = 46\n\tSYS_GETGID                 = 47\n\tSYS_SIGNAL                 = 48\n\tSYS_GETEUID                = 49\n\tSYS_GETEGID                = 50\n\tSYS_ACCT                   = 51\n\tSYS_UMOUNT2                = 52\n\tSYS_LOCK                   = 53\n\tSYS_IOCTL                  = 54\n\tSYS_FCNTL                  = 55\n\tSYS_MPX                    = 56\n\tSYS_SETPGID                = 57\n\tSYS_ULIMIT                 = 58\n\tSYS_OLDOLDUNAME            = 59\n\tSYS_UMASK                  = 60\n\tSYS_CHROOT                 = 61\n\tSYS_USTAT                  = 62\n\tSYS_DUP2                   = 63\n\tSYS_GETPPID                = 64\n\tSYS_GETPGRP                = 65\n\tSYS_SETSID                 = 66\n\tSYS_SIGACTION              = 67\n\tSYS_SGETMASK               = 68\n\tSYS_SSETMASK               = 69\n\tSYS_SETREUID               = 70\n\tSYS_SETREGID               = 71\n\tSYS_SIGSUSPEND             = 72\n\tSYS_SIGPENDING             = 73\n\tSYS_SETHOSTNAME            = 74\n\tSYS_SETRLIMIT              = 75\n\tSYS_GETRLIMIT              = 76\n\tSYS_GETRUSAGE              = 77\n\tSYS_GETTIMEOFDAY           = 78\n\tSYS_SETTIMEOFDAY           = 79\n\tSYS_GETGROUPS              = 80\n\tSYS_SETGROUPS              = 81\n\tSYS_SELECT                 = 82\n\tSYS_SYMLINK                = 83\n\tSYS_OLDLSTAT               = 84\n\tSYS_READLINK               = 85\n\tSYS_USELIB                 = 86\n\tSYS_SWAPON                 = 87\n\tSYS_REBOOT                 = 88\n\tSYS_READDIR                = 89\n\tSYS_MMAP                   = 90\n\tSYS_MUNMAP                 = 91\n\tSYS_TRUNCATE               = 92\n\tSYS_FTRUNCATE              = 93\n\tSYS_FCHMOD                 = 94\n\tSYS_FCHOWN                 = 95\n\tSYS_GETPRIORITY            = 96\n\tSYS_SETPRIORITY            = 97\n\tSYS_PROFIL                 = 98\n\tSYS_STATFS                 = 99\n\tSYS_FSTATFS                = 100\n\tSYS_IOPERM                 = 101\n\tSYS_SOCKETCALL             = 102\n\tSYS_SYSLOG                 = 103\n\tSYS_SETITIMER              = 104\n\tSYS_GETITIMER              = 105\n\tSYS_STAT                   = 106\n\tSYS_LSTAT                  = 107\n\tSYS_FSTAT                  = 108\n\tSYS_OLDUNAME               = 109\n\tSYS_IOPL                   = 110\n\tSYS_VHANGUP                = 111\n\tSYS_IDLE                   = 112\n\tSYS_VM86                   = 113\n\tSYS_WAIT4                  = 114\n\tSYS_SWAPOFF                = 115\n\tSYS_SYSINFO                = 116\n\tSYS_IPC                    = 117\n\tSYS_FSYNC                  = 118\n\tSYS_SIGRETURN              = 119\n\tSYS_CLONE                  = 120\n\tSYS_SETDOMAINNAME          = 121\n\tSYS_UNAME                  = 122\n\tSYS_MODIFY_LDT             = 123\n\tSYS_ADJTIMEX               = 124\n\tSYS_MPROTECT               = 125\n\tSYS_SIGPROCMASK            = 126\n\tSYS_CREATE_MODULE          = 127\n\tSYS_INIT_MODULE            = 128\n\tSYS_DELETE_MODULE          = 129\n\tSYS_GET_KERNEL_SYMS        = 130\n\tSYS_QUOTACTL               = 131\n\tSYS_GETPGID                = 132\n\tSYS_FCHDIR                 = 133\n\tSYS_BDFLUSH                = 134\n\tSYS_SYSFS                  = 135\n\tSYS_PERSONALITY            = 136\n\tSYS_AFS_SYSCALL            = 137\n\tSYS_SETFSUID               = 138\n\tSYS_SETFSGID               = 139\n\tSYS__LLSEEK                = 140\n\tSYS_GETDENTS               = 141\n\tSYS__NEWSELECT             = 142\n\tSYS_FLOCK                  = 143\n\tSYS_MSYNC                  = 144\n\tSYS_READV                  = 145\n\tSYS_WRITEV                 = 146\n\tSYS_GETSID                 = 147\n\tSYS_FDATASYNC              = 148\n\tSYS__SYSCTL                = 149\n\tSYS_MLOCK                  = 150\n\tSYS_MUNLOCK                = 151\n\tSYS_MLOCKALL               = 152\n\tSYS_MUNLOCKALL             = 153\n\tSYS_SCHED_SETPARAM         = 154\n\tSYS_SCHED_GETPARAM         = 155\n\tSYS_SCHED_SETSCHEDULER     = 156\n\tSYS_SCHED_GETSCHEDULER     = 157\n\tSYS_SCHED_YIELD            = 158\n\tSYS_SCHED_GET_PRIORITY_MAX = 159\n\tSYS_SCHED_GET_PRIORITY_MIN = 160\n\tSYS_SCHED_RR_GET_INTERVAL  = 161\n\tSYS_NANOSLEEP              = 162\n\tSYS_MREMAP                 = 163\n\tSYS_SETRESUID              = 164\n\tSYS_GETRESUID              = 165\n\tSYS_QUERY_MODULE           = 166\n\tSYS_POLL                   = 167\n\tSYS_NFSSERVCTL             = 168\n\tSYS_SETRESGID              = 169\n\tSYS_GETRESGID              = 170\n\tSYS_PRCTL                  = 171\n\tSYS_RT_SIGRETURN           = 172\n\tSYS_RT_SIGACTION           = 173\n\tSYS_RT_SIGPROCMASK         = 174\n\tSYS_RT_SIGPENDING          = 175\n\tSYS_RT_SIGTIMEDWAIT        = 176\n\tSYS_RT_SIGQUEUEINFO        = 177\n\tSYS_RT_SIGSUSPEND          = 178\n\tSYS_PREAD64                = 179\n\tSYS_PWRITE64               = 180\n\tSYS_CHOWN                  = 181\n\tSYS_GETCWD                 = 182\n\tSYS_CAPGET                 = 183\n\tSYS_CAPSET                 = 184\n\tSYS_SIGALTSTACK            = 185\n\tSYS_SENDFILE               = 186\n\tSYS_GETPMSG                = 187\n\tSYS_PUTPMSG                = 188\n\tSYS_VFORK                  = 189\n\tSYS_UGETRLIMIT             = 190\n\tSYS_READAHEAD              = 191\n\tSYS_PCICONFIG_READ         = 198\n\tSYS_PCICONFIG_WRITE        = 199\n\tSYS_PCICONFIG_IOBASE       = 200\n\tSYS_MULTIPLEXER            = 201\n\tSYS_GETDENTS64             = 202\n\tSYS_PIVOT_ROOT             = 203\n\tSYS_MADVISE                = 205\n\tSYS_MINCORE                = 206\n\tSYS_GETTID                 = 207\n\tSYS_TKILL                  = 208\n\tSYS_SETXATTR               = 209\n\tSYS_LSETXATTR              = 210\n\tSYS_FSETXATTR              = 211\n\tSYS_GETXATTR               = 212\n\tSYS_LGETXATTR              = 213\n\tSYS_FGETXATTR              = 214\n\tSYS_LISTXATTR              = 215\n\tSYS_LLISTXATTR             = 216\n\tSYS_FLISTXATTR             = 217\n\tSYS_REMOVEXATTR            = 218\n\tSYS_LREMOVEXATTR           = 219\n\tSYS_FREMOVEXATTR           = 220\n\tSYS_FUTEX                  = 221\n\tSYS_SCHED_SETAFFINITY      = 222\n\tSYS_SCHED_GETAFFINITY      = 223\n\tSYS_TUXCALL                = 225\n\tSYS_IO_SETUP               = 227\n\tSYS_IO_DESTROY             = 228\n\tSYS_IO_GETEVENTS           = 229\n\tSYS_IO_SUBMIT              = 230\n\tSYS_IO_CANCEL              = 231\n\tSYS_SET_TID_ADDRESS        = 232\n\tSYS_FADVISE64              = 233\n\tSYS_EXIT_GROUP             = 234\n\tSYS_LOOKUP_DCOOKIE         = 235\n\tSYS_EPOLL_CREATE           = 236\n\tSYS_EPOLL_CTL              = 237\n\tSYS_EPOLL_WAIT             = 238\n\tSYS_REMAP_FILE_PAGES       = 239\n\tSYS_TIMER_CREATE           = 240\n\tSYS_TIMER_SETTIME          = 241\n\tSYS_TIMER_GETTIME          = 242\n\tSYS_TIMER_GETOVERRUN       = 243\n\tSYS_TIMER_DELETE           = 244\n\tSYS_CLOCK_SETTIME          = 245\n\tSYS_CLOCK_GETTIME          = 246\n\tSYS_CLOCK_GETRES           = 247\n\tSYS_CLOCK_NANOSLEEP        = 248\n\tSYS_SWAPCONTEXT            = 249\n\tSYS_TGKILL                 = 250\n\tSYS_UTIMES                 = 251\n\tSYS_STATFS64               = 252\n\tSYS_FSTATFS64              = 253\n\tSYS_RTAS                   = 255\n\tSYS_SYS_DEBUG_SETCONTEXT   = 256\n\tSYS_MIGRATE_PAGES          = 258\n\tSYS_MBIND                  = 259\n\tSYS_GET_MEMPOLICY          = 260\n\tSYS_SET_MEMPOLICY          = 261\n\tSYS_MQ_OPEN                = 262\n\tSYS_MQ_UNLINK              = 263\n\tSYS_MQ_TIMEDSEND           = 264\n\tSYS_MQ_TIMEDRECEIVE        = 265\n\tSYS_MQ_NOTIFY              = 266\n\tSYS_MQ_GETSETATTR          = 267\n\tSYS_KEXEC_LOAD             = 268\n\tSYS_ADD_KEY                = 269\n\tSYS_REQUEST_KEY            = 270\n\tSYS_KEYCTL                 = 271\n\tSYS_WAITID                 = 272\n\tSYS_IOPRIO_SET             = 273\n\tSYS_IOPRIO_GET             = 274\n\tSYS_INOTIFY_INIT           = 275\n\tSYS_INOTIFY_ADD_WATCH      = 276\n\tSYS_INOTIFY_RM_WATCH       = 277\n\tSYS_SPU_RUN                = 278\n\tSYS_SPU_CREATE             = 279\n\tSYS_PSELECT6               = 280\n\tSYS_PPOLL                  = 281\n\tSYS_UNSHARE                = 282\n\tSYS_SPLICE                 = 283\n\tSYS_TEE                    = 284\n\tSYS_VMSPLICE               = 285\n\tSYS_OPENAT                 = 286\n\tSYS_MKDIRAT                = 287\n\tSYS_MKNODAT                = 288\n\tSYS_FCHOWNAT               = 289\n\tSYS_FUTIMESAT              = 290\n\tSYS_NEWFSTATAT             = 291\n\tSYS_UNLINKAT               = 292\n\tSYS_RENAMEAT               = 293\n\tSYS_LINKAT                 = 294\n\tSYS_SYMLINKAT              = 295\n\tSYS_READLINKAT             = 296\n\tSYS_FCHMODAT               = 297\n\tSYS_FACCESSAT              = 298\n\tSYS_GET_ROBUST_LIST        = 299\n\tSYS_SET_ROBUST_LIST        = 300\n\tSYS_MOVE_PAGES             = 301\n\tSYS_GETCPU                 = 302\n\tSYS_EPOLL_PWAIT            = 303\n\tSYS_UTIMENSAT              = 304\n\tSYS_SIGNALFD               = 305\n\tSYS_TIMERFD_CREATE         = 306\n\tSYS_EVENTFD                = 307\n\tSYS_SYNC_FILE_RANGE2       = 308\n\tSYS_FALLOCATE              = 309\n\tSYS_SUBPAGE_PROT           = 310\n\tSYS_TIMERFD_SETTIME        = 311\n\tSYS_TIMERFD_GETTIME        = 312\n\tSYS_SIGNALFD4              = 313\n\tSYS_EVENTFD2               = 314\n\tSYS_EPOLL_CREATE1          = 315\n\tSYS_DUP3                   = 316\n\tSYS_PIPE2                  = 317\n\tSYS_INOTIFY_INIT1          = 318\n\tSYS_PERF_EVENT_OPEN        = 319\n\tSYS_PREADV                 = 320\n\tSYS_PWRITEV                = 321\n\tSYS_RT_TGSIGQUEUEINFO      = 322\n\tSYS_FANOTIFY_INIT          = 323\n\tSYS_FANOTIFY_MARK          = 324\n\tSYS_PRLIMIT64              = 325\n\tSYS_SOCKET                 = 326\n\tSYS_BIND                   = 327\n\tSYS_CONNECT                = 328\n\tSYS_LISTEN                 = 329\n\tSYS_ACCEPT                 = 330\n\tSYS_GETSOCKNAME            = 331\n\tSYS_GETPEERNAME            = 332\n\tSYS_SOCKETPAIR             = 333\n\tSYS_SEND                   = 334\n\tSYS_SENDTO                 = 335\n\tSYS_RECV                   = 336\n\tSYS_RECVFROM               = 337\n\tSYS_SHUTDOWN               = 338\n\tSYS_SETSOCKOPT             = 339\n\tSYS_GETSOCKOPT             = 340\n\tSYS_SENDMSG                = 341\n\tSYS_RECVMSG                = 342\n\tSYS_RECVMMSG               = 343\n\tSYS_ACCEPT4                = 344\n\tSYS_NAME_TO_HANDLE_AT      = 345\n\tSYS_OPEN_BY_HANDLE_AT      = 346\n\tSYS_CLOCK_ADJTIME          = 347\n\tSYS_SYNCFS                 = 348\n\tSYS_SENDMMSG               = 349\n\tSYS_SETNS                  = 350\n\tSYS_PROCESS_VM_READV       = 351\n\tSYS_PROCESS_VM_WRITEV      = 352\n\tSYS_FINIT_MODULE           = 353\n\tSYS_KCMP                   = 354\n\tSYS_SCHED_SETATTR          = 355\n\tSYS_SCHED_GETATTR          = 356\n\tSYS_RENAMEAT2              = 357\n\tSYS_SECCOMP                = 358\n\tSYS_GETRANDOM              = 359\n\tSYS_MEMFD_CREATE           = 360\n\tSYS_BPF                    = 361\n\tSYS_EXECVEAT               = 362\n\tSYS_SWITCH_ENDIAN          = 363\n\tSYS_USERFAULTFD            = 364\n\tSYS_MEMBARRIER             = 365\n\tSYS_MLOCK2                 = 378\n\tSYS_COPY_FILE_RANGE        = 379\n\tSYS_PREADV2                = 380\n\tSYS_PWRITEV2               = 381\n\tSYS_KEXEC_FILE_LOAD        = 382\n\tSYS_STATX                  = 383\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build s390x,linux\n\npackage unix\n\nconst (\n\tSYS_EXIT                   = 1\n\tSYS_FORK                   = 2\n\tSYS_READ                   = 3\n\tSYS_WRITE                  = 4\n\tSYS_OPEN                   = 5\n\tSYS_CLOSE                  = 6\n\tSYS_RESTART_SYSCALL        = 7\n\tSYS_CREAT                  = 8\n\tSYS_LINK                   = 9\n\tSYS_UNLINK                 = 10\n\tSYS_EXECVE                 = 11\n\tSYS_CHDIR                  = 12\n\tSYS_MKNOD                  = 14\n\tSYS_CHMOD                  = 15\n\tSYS_LSEEK                  = 19\n\tSYS_GETPID                 = 20\n\tSYS_MOUNT                  = 21\n\tSYS_UMOUNT                 = 22\n\tSYS_PTRACE                 = 26\n\tSYS_ALARM                  = 27\n\tSYS_PAUSE                  = 29\n\tSYS_UTIME                  = 30\n\tSYS_ACCESS                 = 33\n\tSYS_NICE                   = 34\n\tSYS_SYNC                   = 36\n\tSYS_KILL                   = 37\n\tSYS_RENAME                 = 38\n\tSYS_MKDIR                  = 39\n\tSYS_RMDIR                  = 40\n\tSYS_DUP                    = 41\n\tSYS_PIPE                   = 42\n\tSYS_TIMES                  = 43\n\tSYS_BRK                    = 45\n\tSYS_SIGNAL                 = 48\n\tSYS_ACCT                   = 51\n\tSYS_UMOUNT2                = 52\n\tSYS_IOCTL                  = 54\n\tSYS_FCNTL                  = 55\n\tSYS_SETPGID                = 57\n\tSYS_UMASK                  = 60\n\tSYS_CHROOT                 = 61\n\tSYS_USTAT                  = 62\n\tSYS_DUP2                   = 63\n\tSYS_GETPPID                = 64\n\tSYS_GETPGRP                = 65\n\tSYS_SETSID                 = 66\n\tSYS_SIGACTION              = 67\n\tSYS_SIGSUSPEND             = 72\n\tSYS_SIGPENDING             = 73\n\tSYS_SETHOSTNAME            = 74\n\tSYS_SETRLIMIT              = 75\n\tSYS_GETRUSAGE              = 77\n\tSYS_GETTIMEOFDAY           = 78\n\tSYS_SETTIMEOFDAY           = 79\n\tSYS_SYMLINK                = 83\n\tSYS_READLINK               = 85\n\tSYS_USELIB                 = 86\n\tSYS_SWAPON                 = 87\n\tSYS_REBOOT                 = 88\n\tSYS_READDIR                = 89\n\tSYS_MMAP                   = 90\n\tSYS_MUNMAP                 = 91\n\tSYS_TRUNCATE               = 92\n\tSYS_FTRUNCATE              = 93\n\tSYS_FCHMOD                 = 94\n\tSYS_GETPRIORITY            = 96\n\tSYS_SETPRIORITY            = 97\n\tSYS_STATFS                 = 99\n\tSYS_FSTATFS                = 100\n\tSYS_SOCKETCALL             = 102\n\tSYS_SYSLOG                 = 103\n\tSYS_SETITIMER              = 104\n\tSYS_GETITIMER              = 105\n\tSYS_STAT                   = 106\n\tSYS_LSTAT                  = 107\n\tSYS_FSTAT                  = 108\n\tSYS_LOOKUP_DCOOKIE         = 110\n\tSYS_VHANGUP                = 111\n\tSYS_IDLE                   = 112\n\tSYS_WAIT4                  = 114\n\tSYS_SWAPOFF                = 115\n\tSYS_SYSINFO                = 116\n\tSYS_IPC                    = 117\n\tSYS_FSYNC                  = 118\n\tSYS_SIGRETURN              = 119\n\tSYS_CLONE                  = 120\n\tSYS_SETDOMAINNAME          = 121\n\tSYS_UNAME                  = 122\n\tSYS_ADJTIMEX               = 124\n\tSYS_MPROTECT               = 125\n\tSYS_SIGPROCMASK            = 126\n\tSYS_CREATE_MODULE          = 127\n\tSYS_INIT_MODULE            = 128\n\tSYS_DELETE_MODULE          = 129\n\tSYS_GET_KERNEL_SYMS        = 130\n\tSYS_QUOTACTL               = 131\n\tSYS_GETPGID                = 132\n\tSYS_FCHDIR                 = 133\n\tSYS_BDFLUSH                = 134\n\tSYS_SYSFS                  = 135\n\tSYS_PERSONALITY            = 136\n\tSYS_AFS_SYSCALL            = 137\n\tSYS_GETDENTS               = 141\n\tSYS_FLOCK                  = 143\n\tSYS_MSYNC                  = 144\n\tSYS_READV                  = 145\n\tSYS_WRITEV                 = 146\n\tSYS_GETSID                 = 147\n\tSYS_FDATASYNC              = 148\n\tSYS__SYSCTL                = 149\n\tSYS_MLOCK                  = 150\n\tSYS_MUNLOCK                = 151\n\tSYS_MLOCKALL               = 152\n\tSYS_MUNLOCKALL             = 153\n\tSYS_SCHED_SETPARAM         = 154\n\tSYS_SCHED_GETPARAM         = 155\n\tSYS_SCHED_SETSCHEDULER     = 156\n\tSYS_SCHED_GETSCHEDULER     = 157\n\tSYS_SCHED_YIELD            = 158\n\tSYS_SCHED_GET_PRIORITY_MAX = 159\n\tSYS_SCHED_GET_PRIORITY_MIN = 160\n\tSYS_SCHED_RR_GET_INTERVAL  = 161\n\tSYS_NANOSLEEP              = 162\n\tSYS_MREMAP                 = 163\n\tSYS_QUERY_MODULE           = 167\n\tSYS_POLL                   = 168\n\tSYS_NFSSERVCTL             = 169\n\tSYS_PRCTL                  = 172\n\tSYS_RT_SIGRETURN           = 173\n\tSYS_RT_SIGACTION           = 174\n\tSYS_RT_SIGPROCMASK         = 175\n\tSYS_RT_SIGPENDING          = 176\n\tSYS_RT_SIGTIMEDWAIT        = 177\n\tSYS_RT_SIGQUEUEINFO        = 178\n\tSYS_RT_SIGSUSPEND          = 179\n\tSYS_PREAD64                = 180\n\tSYS_PWRITE64               = 181\n\tSYS_GETCWD                 = 183\n\tSYS_CAPGET                 = 184\n\tSYS_CAPSET                 = 185\n\tSYS_SIGALTSTACK            = 186\n\tSYS_SENDFILE               = 187\n\tSYS_GETPMSG                = 188\n\tSYS_PUTPMSG                = 189\n\tSYS_VFORK                  = 190\n\tSYS_PIVOT_ROOT             = 217\n\tSYS_MINCORE                = 218\n\tSYS_MADVISE                = 219\n\tSYS_GETDENTS64             = 220\n\tSYS_READAHEAD              = 222\n\tSYS_SETXATTR               = 224\n\tSYS_LSETXATTR              = 225\n\tSYS_FSETXATTR              = 226\n\tSYS_GETXATTR               = 227\n\tSYS_LGETXATTR              = 228\n\tSYS_FGETXATTR              = 229\n\tSYS_LISTXATTR              = 230\n\tSYS_LLISTXATTR             = 231\n\tSYS_FLISTXATTR             = 232\n\tSYS_REMOVEXATTR            = 233\n\tSYS_LREMOVEXATTR           = 234\n\tSYS_FREMOVEXATTR           = 235\n\tSYS_GETTID                 = 236\n\tSYS_TKILL                  = 237\n\tSYS_FUTEX                  = 238\n\tSYS_SCHED_SETAFFINITY      = 239\n\tSYS_SCHED_GETAFFINITY      = 240\n\tSYS_TGKILL                 = 241\n\tSYS_IO_SETUP               = 243\n\tSYS_IO_DESTROY             = 244\n\tSYS_IO_GETEVENTS           = 245\n\tSYS_IO_SUBMIT              = 246\n\tSYS_IO_CANCEL              = 247\n\tSYS_EXIT_GROUP             = 248\n\tSYS_EPOLL_CREATE           = 249\n\tSYS_EPOLL_CTL              = 250\n\tSYS_EPOLL_WAIT             = 251\n\tSYS_SET_TID_ADDRESS        = 252\n\tSYS_FADVISE64              = 253\n\tSYS_TIMER_CREATE           = 254\n\tSYS_TIMER_SETTIME          = 255\n\tSYS_TIMER_GETTIME          = 256\n\tSYS_TIMER_GETOVERRUN       = 257\n\tSYS_TIMER_DELETE           = 258\n\tSYS_CLOCK_SETTIME          = 259\n\tSYS_CLOCK_GETTIME          = 260\n\tSYS_CLOCK_GETRES           = 261\n\tSYS_CLOCK_NANOSLEEP        = 262\n\tSYS_STATFS64               = 265\n\tSYS_FSTATFS64              = 266\n\tSYS_REMAP_FILE_PAGES       = 267\n\tSYS_MBIND                  = 268\n\tSYS_GET_MEMPOLICY          = 269\n\tSYS_SET_MEMPOLICY          = 270\n\tSYS_MQ_OPEN                = 271\n\tSYS_MQ_UNLINK              = 272\n\tSYS_MQ_TIMEDSEND           = 273\n\tSYS_MQ_TIMEDRECEIVE        = 274\n\tSYS_MQ_NOTIFY              = 275\n\tSYS_MQ_GETSETATTR          = 276\n\tSYS_KEXEC_LOAD             = 277\n\tSYS_ADD_KEY                = 278\n\tSYS_REQUEST_KEY            = 279\n\tSYS_KEYCTL                 = 280\n\tSYS_WAITID                 = 281\n\tSYS_IOPRIO_SET             = 282\n\tSYS_IOPRIO_GET             = 283\n\tSYS_INOTIFY_INIT           = 284\n\tSYS_INOTIFY_ADD_WATCH      = 285\n\tSYS_INOTIFY_RM_WATCH       = 286\n\tSYS_MIGRATE_PAGES          = 287\n\tSYS_OPENAT                 = 288\n\tSYS_MKDIRAT                = 289\n\tSYS_MKNODAT                = 290\n\tSYS_FCHOWNAT               = 291\n\tSYS_FUTIMESAT              = 292\n\tSYS_UNLINKAT               = 294\n\tSYS_RENAMEAT               = 295\n\tSYS_LINKAT                 = 296\n\tSYS_SYMLINKAT              = 297\n\tSYS_READLINKAT             = 298\n\tSYS_FCHMODAT               = 299\n\tSYS_FACCESSAT              = 300\n\tSYS_PSELECT6               = 301\n\tSYS_PPOLL                  = 302\n\tSYS_UNSHARE                = 303\n\tSYS_SET_ROBUST_LIST        = 304\n\tSYS_GET_ROBUST_LIST        = 305\n\tSYS_SPLICE                 = 306\n\tSYS_SYNC_FILE_RANGE        = 307\n\tSYS_TEE                    = 308\n\tSYS_VMSPLICE               = 309\n\tSYS_MOVE_PAGES             = 310\n\tSYS_GETCPU                 = 311\n\tSYS_EPOLL_PWAIT            = 312\n\tSYS_UTIMES                 = 313\n\tSYS_FALLOCATE              = 314\n\tSYS_UTIMENSAT              = 315\n\tSYS_SIGNALFD               = 316\n\tSYS_TIMERFD                = 317\n\tSYS_EVENTFD                = 318\n\tSYS_TIMERFD_CREATE         = 319\n\tSYS_TIMERFD_SETTIME        = 320\n\tSYS_TIMERFD_GETTIME        = 321\n\tSYS_SIGNALFD4              = 322\n\tSYS_EVENTFD2               = 323\n\tSYS_INOTIFY_INIT1          = 324\n\tSYS_PIPE2                  = 325\n\tSYS_DUP3                   = 326\n\tSYS_EPOLL_CREATE1          = 327\n\tSYS_PREADV                 = 328\n\tSYS_PWRITEV                = 329\n\tSYS_RT_TGSIGQUEUEINFO      = 330\n\tSYS_PERF_EVENT_OPEN        = 331\n\tSYS_FANOTIFY_INIT          = 332\n\tSYS_FANOTIFY_MARK          = 333\n\tSYS_PRLIMIT64              = 334\n\tSYS_NAME_TO_HANDLE_AT      = 335\n\tSYS_OPEN_BY_HANDLE_AT      = 336\n\tSYS_CLOCK_ADJTIME          = 337\n\tSYS_SYNCFS                 = 338\n\tSYS_SETNS                  = 339\n\tSYS_PROCESS_VM_READV       = 340\n\tSYS_PROCESS_VM_WRITEV      = 341\n\tSYS_S390_RUNTIME_INSTR     = 342\n\tSYS_KCMP                   = 343\n\tSYS_FINIT_MODULE           = 344\n\tSYS_SCHED_SETATTR          = 345\n\tSYS_SCHED_GETATTR          = 346\n\tSYS_RENAMEAT2              = 347\n\tSYS_SECCOMP                = 348\n\tSYS_GETRANDOM              = 349\n\tSYS_MEMFD_CREATE           = 350\n\tSYS_BPF                    = 351\n\tSYS_S390_PCI_MMIO_WRITE    = 352\n\tSYS_S390_PCI_MMIO_READ     = 353\n\tSYS_EXECVEAT               = 354\n\tSYS_USERFAULTFD            = 355\n\tSYS_MEMBARRIER             = 356\n\tSYS_RECVMMSG               = 357\n\tSYS_SENDMMSG               = 358\n\tSYS_SOCKET                 = 359\n\tSYS_SOCKETPAIR             = 360\n\tSYS_BIND                   = 361\n\tSYS_CONNECT                = 362\n\tSYS_LISTEN                 = 363\n\tSYS_ACCEPT4                = 364\n\tSYS_GETSOCKOPT             = 365\n\tSYS_SETSOCKOPT             = 366\n\tSYS_GETSOCKNAME            = 367\n\tSYS_GETPEERNAME            = 368\n\tSYS_SENDTO                 = 369\n\tSYS_SENDMSG                = 370\n\tSYS_RECVFROM               = 371\n\tSYS_RECVMSG                = 372\n\tSYS_SHUTDOWN               = 373\n\tSYS_MLOCK2                 = 374\n\tSYS_COPY_FILE_RANGE        = 375\n\tSYS_PREADV2                = 376\n\tSYS_PWRITEV2               = 377\n\tSYS_S390_GUARDED_STORAGE   = 378\n\tSYS_STATX                  = 379\n\tSYS_SELECT                 = 142\n\tSYS_GETRLIMIT              = 191\n\tSYS_LCHOWN                 = 198\n\tSYS_GETUID                 = 199\n\tSYS_GETGID                 = 200\n\tSYS_GETEUID                = 201\n\tSYS_GETEGID                = 202\n\tSYS_SETREUID               = 203\n\tSYS_SETREGID               = 204\n\tSYS_GETGROUPS              = 205\n\tSYS_SETGROUPS              = 206\n\tSYS_FCHOWN                 = 207\n\tSYS_SETRESUID              = 208\n\tSYS_GETRESUID              = 209\n\tSYS_SETRESGID              = 210\n\tSYS_GETRESGID              = 211\n\tSYS_CHOWN                  = 212\n\tSYS_SETUID                 = 213\n\tSYS_SETGID                 = 214\n\tSYS_SETFSUID               = 215\n\tSYS_SETFSGID               = 216\n\tSYS_NEWFSTATAT             = 293\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go",
    "content": "// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__arch64__ linux/usr/include/asm/unistd.h\n// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT\n\n// +build sparc64,linux\n\npackage unix\n\nconst (\n\tSYS_RESTART_SYSCALL        = 0\n\tSYS_EXIT                   = 1\n\tSYS_FORK                   = 2\n\tSYS_READ                   = 3\n\tSYS_WRITE                  = 4\n\tSYS_OPEN                   = 5\n\tSYS_CLOSE                  = 6\n\tSYS_WAIT4                  = 7\n\tSYS_CREAT                  = 8\n\tSYS_LINK                   = 9\n\tSYS_UNLINK                 = 10\n\tSYS_EXECV                  = 11\n\tSYS_CHDIR                  = 12\n\tSYS_CHOWN                  = 13\n\tSYS_MKNOD                  = 14\n\tSYS_CHMOD                  = 15\n\tSYS_LCHOWN                 = 16\n\tSYS_BRK                    = 17\n\tSYS_PERFCTR                = 18\n\tSYS_LSEEK                  = 19\n\tSYS_GETPID                 = 20\n\tSYS_CAPGET                 = 21\n\tSYS_CAPSET                 = 22\n\tSYS_SETUID                 = 23\n\tSYS_GETUID                 = 24\n\tSYS_VMSPLICE               = 25\n\tSYS_PTRACE                 = 26\n\tSYS_ALARM                  = 27\n\tSYS_SIGALTSTACK            = 28\n\tSYS_PAUSE                  = 29\n\tSYS_UTIME                  = 30\n\tSYS_ACCESS                 = 33\n\tSYS_NICE                   = 34\n\tSYS_SYNC                   = 36\n\tSYS_KILL                   = 37\n\tSYS_STAT                   = 38\n\tSYS_SENDFILE               = 39\n\tSYS_LSTAT                  = 40\n\tSYS_DUP                    = 41\n\tSYS_PIPE                   = 42\n\tSYS_TIMES                  = 43\n\tSYS_UMOUNT2                = 45\n\tSYS_SETGID                 = 46\n\tSYS_GETGID                 = 47\n\tSYS_SIGNAL                 = 48\n\tSYS_GETEUID                = 49\n\tSYS_GETEGID                = 50\n\tSYS_ACCT                   = 51\n\tSYS_MEMORY_ORDERING        = 52\n\tSYS_IOCTL                  = 54\n\tSYS_REBOOT                 = 55\n\tSYS_SYMLINK                = 57\n\tSYS_READLINK               = 58\n\tSYS_EXECVE                 = 59\n\tSYS_UMASK                  = 60\n\tSYS_CHROOT                 = 61\n\tSYS_FSTAT                  = 62\n\tSYS_FSTAT64                = 63\n\tSYS_GETPAGESIZE            = 64\n\tSYS_MSYNC                  = 65\n\tSYS_VFORK                  = 66\n\tSYS_PREAD64                = 67\n\tSYS_PWRITE64               = 68\n\tSYS_MMAP                   = 71\n\tSYS_MUNMAP                 = 73\n\tSYS_MPROTECT               = 74\n\tSYS_MADVISE                = 75\n\tSYS_VHANGUP                = 76\n\tSYS_MINCORE                = 78\n\tSYS_GETGROUPS              = 79\n\tSYS_SETGROUPS              = 80\n\tSYS_GETPGRP                = 81\n\tSYS_SETITIMER              = 83\n\tSYS_SWAPON                 = 85\n\tSYS_GETITIMER              = 86\n\tSYS_SETHOSTNAME            = 88\n\tSYS_DUP2                   = 90\n\tSYS_FCNTL                  = 92\n\tSYS_SELECT                 = 93\n\tSYS_FSYNC                  = 95\n\tSYS_SETPRIORITY            = 96\n\tSYS_SOCKET                 = 97\n\tSYS_CONNECT                = 98\n\tSYS_ACCEPT                 = 99\n\tSYS_GETPRIORITY            = 100\n\tSYS_RT_SIGRETURN           = 101\n\tSYS_RT_SIGACTION           = 102\n\tSYS_RT_SIGPROCMASK         = 103\n\tSYS_RT_SIGPENDING          = 104\n\tSYS_RT_SIGTIMEDWAIT        = 105\n\tSYS_RT_SIGQUEUEINFO        = 106\n\tSYS_RT_SIGSUSPEND          = 107\n\tSYS_SETRESUID              = 108\n\tSYS_GETRESUID              = 109\n\tSYS_SETRESGID              = 110\n\tSYS_GETRESGID              = 111\n\tSYS_RECVMSG                = 113\n\tSYS_SENDMSG                = 114\n\tSYS_GETTIMEOFDAY           = 116\n\tSYS_GETRUSAGE              = 117\n\tSYS_GETSOCKOPT             = 118\n\tSYS_GETCWD                 = 119\n\tSYS_READV                  = 120\n\tSYS_WRITEV                 = 121\n\tSYS_SETTIMEOFDAY           = 122\n\tSYS_FCHOWN                 = 123\n\tSYS_FCHMOD                 = 124\n\tSYS_RECVFROM               = 125\n\tSYS_SETREUID               = 126\n\tSYS_SETREGID               = 127\n\tSYS_RENAME                 = 128\n\tSYS_TRUNCATE               = 129\n\tSYS_FTRUNCATE              = 130\n\tSYS_FLOCK                  = 131\n\tSYS_LSTAT64                = 132\n\tSYS_SENDTO                 = 133\n\tSYS_SHUTDOWN               = 134\n\tSYS_SOCKETPAIR             = 135\n\tSYS_MKDIR                  = 136\n\tSYS_RMDIR                  = 137\n\tSYS_UTIMES                 = 138\n\tSYS_STAT64                 = 139\n\tSYS_SENDFILE64             = 140\n\tSYS_GETPEERNAME            = 141\n\tSYS_FUTEX                  = 142\n\tSYS_GETTID                 = 143\n\tSYS_GETRLIMIT              = 144\n\tSYS_SETRLIMIT              = 145\n\tSYS_PIVOT_ROOT             = 146\n\tSYS_PRCTL                  = 147\n\tSYS_PCICONFIG_READ         = 148\n\tSYS_PCICONFIG_WRITE        = 149\n\tSYS_GETSOCKNAME            = 150\n\tSYS_INOTIFY_INIT           = 151\n\tSYS_INOTIFY_ADD_WATCH      = 152\n\tSYS_POLL                   = 153\n\tSYS_GETDENTS64             = 154\n\tSYS_INOTIFY_RM_WATCH       = 156\n\tSYS_STATFS                 = 157\n\tSYS_FSTATFS                = 158\n\tSYS_UMOUNT                 = 159\n\tSYS_SCHED_SET_AFFINITY     = 160\n\tSYS_SCHED_GET_AFFINITY     = 161\n\tSYS_GETDOMAINNAME          = 162\n\tSYS_SETDOMAINNAME          = 163\n\tSYS_UTRAP_INSTALL          = 164\n\tSYS_QUOTACTL               = 165\n\tSYS_SET_TID_ADDRESS        = 166\n\tSYS_MOUNT                  = 167\n\tSYS_USTAT                  = 168\n\tSYS_SETXATTR               = 169\n\tSYS_LSETXATTR              = 170\n\tSYS_FSETXATTR              = 171\n\tSYS_GETXATTR               = 172\n\tSYS_LGETXATTR              = 173\n\tSYS_GETDENTS               = 174\n\tSYS_SETSID                 = 175\n\tSYS_FCHDIR                 = 176\n\tSYS_FGETXATTR              = 177\n\tSYS_LISTXATTR              = 178\n\tSYS_LLISTXATTR             = 179\n\tSYS_FLISTXATTR             = 180\n\tSYS_REMOVEXATTR            = 181\n\tSYS_LREMOVEXATTR           = 182\n\tSYS_SIGPENDING             = 183\n\tSYS_QUERY_MODULE           = 184\n\tSYS_SETPGID                = 185\n\tSYS_FREMOVEXATTR           = 186\n\tSYS_TKILL                  = 187\n\tSYS_EXIT_GROUP             = 188\n\tSYS_UNAME                  = 189\n\tSYS_INIT_MODULE            = 190\n\tSYS_PERSONALITY            = 191\n\tSYS_REMAP_FILE_PAGES       = 192\n\tSYS_EPOLL_CREATE           = 193\n\tSYS_EPOLL_CTL              = 194\n\tSYS_EPOLL_WAIT             = 195\n\tSYS_IOPRIO_SET             = 196\n\tSYS_GETPPID                = 197\n\tSYS_SIGACTION              = 198\n\tSYS_SGETMASK               = 199\n\tSYS_SSETMASK               = 200\n\tSYS_SIGSUSPEND             = 201\n\tSYS_OLDLSTAT               = 202\n\tSYS_USELIB                 = 203\n\tSYS_READDIR                = 204\n\tSYS_READAHEAD              = 205\n\tSYS_SOCKETCALL             = 206\n\tSYS_SYSLOG                 = 207\n\tSYS_LOOKUP_DCOOKIE         = 208\n\tSYS_FADVISE64              = 209\n\tSYS_FADVISE64_64           = 210\n\tSYS_TGKILL                 = 211\n\tSYS_WAITPID                = 212\n\tSYS_SWAPOFF                = 213\n\tSYS_SYSINFO                = 214\n\tSYS_IPC                    = 215\n\tSYS_SIGRETURN              = 216\n\tSYS_CLONE                  = 217\n\tSYS_IOPRIO_GET             = 218\n\tSYS_ADJTIMEX               = 219\n\tSYS_SIGPROCMASK            = 220\n\tSYS_CREATE_MODULE          = 221\n\tSYS_DELETE_MODULE          = 222\n\tSYS_GET_KERNEL_SYMS        = 223\n\tSYS_GETPGID                = 224\n\tSYS_BDFLUSH                = 225\n\tSYS_SYSFS                  = 226\n\tSYS_AFS_SYSCALL            = 227\n\tSYS_SETFSUID               = 228\n\tSYS_SETFSGID               = 229\n\tSYS__NEWSELECT             = 230\n\tSYS_SPLICE                 = 232\n\tSYS_STIME                  = 233\n\tSYS_STATFS64               = 234\n\tSYS_FSTATFS64              = 235\n\tSYS__LLSEEK                = 236\n\tSYS_MLOCK                  = 237\n\tSYS_MUNLOCK                = 238\n\tSYS_MLOCKALL               = 239\n\tSYS_MUNLOCKALL             = 240\n\tSYS_SCHED_SETPARAM         = 241\n\tSYS_SCHED_GETPARAM         = 242\n\tSYS_SCHED_SETSCHEDULER     = 243\n\tSYS_SCHED_GETSCHEDULER     = 244\n\tSYS_SCHED_YIELD            = 245\n\tSYS_SCHED_GET_PRIORITY_MAX = 246\n\tSYS_SCHED_GET_PRIORITY_MIN = 247\n\tSYS_SCHED_RR_GET_INTERVAL  = 248\n\tSYS_NANOSLEEP              = 249\n\tSYS_MREMAP                 = 250\n\tSYS__SYSCTL                = 251\n\tSYS_GETSID                 = 252\n\tSYS_FDATASYNC              = 253\n\tSYS_NFSSERVCTL             = 254\n\tSYS_SYNC_FILE_RANGE        = 255\n\tSYS_CLOCK_SETTIME          = 256\n\tSYS_CLOCK_GETTIME          = 257\n\tSYS_CLOCK_GETRES           = 258\n\tSYS_CLOCK_NANOSLEEP        = 259\n\tSYS_SCHED_GETAFFINITY      = 260\n\tSYS_SCHED_SETAFFINITY      = 261\n\tSYS_TIMER_SETTIME          = 262\n\tSYS_TIMER_GETTIME          = 263\n\tSYS_TIMER_GETOVERRUN       = 264\n\tSYS_TIMER_DELETE           = 265\n\tSYS_TIMER_CREATE           = 266\n\tSYS_IO_SETUP               = 268\n\tSYS_IO_DESTROY             = 269\n\tSYS_IO_SUBMIT              = 270\n\tSYS_IO_CANCEL              = 271\n\tSYS_IO_GETEVENTS           = 272\n\tSYS_MQ_OPEN                = 273\n\tSYS_MQ_UNLINK              = 274\n\tSYS_MQ_TIMEDSEND           = 275\n\tSYS_MQ_TIMEDRECEIVE        = 276\n\tSYS_MQ_NOTIFY              = 277\n\tSYS_MQ_GETSETATTR          = 278\n\tSYS_WAITID                 = 279\n\tSYS_TEE                    = 280\n\tSYS_ADD_KEY                = 281\n\tSYS_REQUEST_KEY            = 282\n\tSYS_KEYCTL                 = 283\n\tSYS_OPENAT                 = 284\n\tSYS_MKDIRAT                = 285\n\tSYS_MKNODAT                = 286\n\tSYS_FCHOWNAT               = 287\n\tSYS_FUTIMESAT              = 288\n\tSYS_FSTATAT64              = 289\n\tSYS_UNLINKAT               = 290\n\tSYS_RENAMEAT               = 291\n\tSYS_LINKAT                 = 292\n\tSYS_SYMLINKAT              = 293\n\tSYS_READLINKAT             = 294\n\tSYS_FCHMODAT               = 295\n\tSYS_FACCESSAT              = 296\n\tSYS_PSELECT6               = 297\n\tSYS_PPOLL                  = 298\n\tSYS_UNSHARE                = 299\n\tSYS_SET_ROBUST_LIST        = 300\n\tSYS_GET_ROBUST_LIST        = 301\n\tSYS_MIGRATE_PAGES          = 302\n\tSYS_MBIND                  = 303\n\tSYS_GET_MEMPOLICY          = 304\n\tSYS_SET_MEMPOLICY          = 305\n\tSYS_KEXEC_LOAD             = 306\n\tSYS_MOVE_PAGES             = 307\n\tSYS_GETCPU                 = 308\n\tSYS_EPOLL_PWAIT            = 309\n\tSYS_UTIMENSAT              = 310\n\tSYS_SIGNALFD               = 311\n\tSYS_TIMERFD_CREATE         = 312\n\tSYS_EVENTFD                = 313\n\tSYS_FALLOCATE              = 314\n\tSYS_TIMERFD_SETTIME        = 315\n\tSYS_TIMERFD_GETTIME        = 316\n\tSYS_SIGNALFD4              = 317\n\tSYS_EVENTFD2               = 318\n\tSYS_EPOLL_CREATE1          = 319\n\tSYS_DUP3                   = 320\n\tSYS_PIPE2                  = 321\n\tSYS_INOTIFY_INIT1          = 322\n\tSYS_ACCEPT4                = 323\n\tSYS_PREADV                 = 324\n\tSYS_PWRITEV                = 325\n\tSYS_RT_TGSIGQUEUEINFO      = 326\n\tSYS_PERF_EVENT_OPEN        = 327\n\tSYS_RECVMMSG               = 328\n\tSYS_FANOTIFY_INIT          = 329\n\tSYS_FANOTIFY_MARK          = 330\n\tSYS_PRLIMIT64              = 331\n\tSYS_NAME_TO_HANDLE_AT      = 332\n\tSYS_OPEN_BY_HANDLE_AT      = 333\n\tSYS_CLOCK_ADJTIME          = 334\n\tSYS_SYNCFS                 = 335\n\tSYS_SENDMMSG               = 336\n\tSYS_SETNS                  = 337\n\tSYS_PROCESS_VM_READV       = 338\n\tSYS_PROCESS_VM_WRITEV      = 339\n\tSYS_KERN_FEATURES          = 340\n\tSYS_KCMP                   = 341\n\tSYS_FINIT_MODULE           = 342\n\tSYS_SCHED_SETATTR          = 343\n\tSYS_SCHED_GETATTR          = 344\n\tSYS_RENAMEAT2              = 345\n\tSYS_SECCOMP                = 346\n\tSYS_GETRANDOM              = 347\n\tSYS_MEMFD_CREATE           = 348\n\tSYS_BPF                    = 349\n\tSYS_EXECVEAT               = 350\n\tSYS_MEMBARRIER             = 351\n\tSYS_USERFAULTFD            = 352\n\tSYS_BIND                   = 353\n\tSYS_LISTEN                 = 354\n\tSYS_SETSOCKOPT             = 355\n\tSYS_MLOCK2                 = 356\n\tSYS_COPY_FILE_RANGE        = 357\n\tSYS_PREADV2                = 358\n\tSYS_PWRITEV2               = 359\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go",
    "content": "// mksysnum_netbsd.pl\n// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT\n\n// +build 386,netbsd\n\npackage unix\n\nconst (\n\tSYS_EXIT                 = 1   // { void|sys||exit(int rval); }\n\tSYS_FORK                 = 2   // { int|sys||fork(void); }\n\tSYS_READ                 = 3   // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE                = 4   // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); }\n\tSYS_OPEN                 = 5   // { int|sys||open(const char *path, int flags, ... mode_t mode); }\n\tSYS_CLOSE                = 6   // { int|sys||close(int fd); }\n\tSYS_LINK                 = 9   // { int|sys||link(const char *path, const char *link); }\n\tSYS_UNLINK               = 10  // { int|sys||unlink(const char *path); }\n\tSYS_CHDIR                = 12  // { int|sys||chdir(const char *path); }\n\tSYS_FCHDIR               = 13  // { int|sys||fchdir(int fd); }\n\tSYS_CHMOD                = 15  // { int|sys||chmod(const char *path, mode_t mode); }\n\tSYS_CHOWN                = 16  // { int|sys||chown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_BREAK                = 17  // { int|sys||obreak(char *nsize); }\n\tSYS_GETPID               = 20  // { pid_t|sys||getpid_with_ppid(void); }\n\tSYS_UNMOUNT              = 22  // { int|sys||unmount(const char *path, int flags); }\n\tSYS_SETUID               = 23  // { int|sys||setuid(uid_t uid); }\n\tSYS_GETUID               = 24  // { uid_t|sys||getuid_with_euid(void); }\n\tSYS_GETEUID              = 25  // { uid_t|sys||geteuid(void); }\n\tSYS_PTRACE               = 26  // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); }\n\tSYS_RECVMSG              = 27  // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); }\n\tSYS_SENDMSG              = 28  // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); }\n\tSYS_RECVFROM             = 29  // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); }\n\tSYS_ACCEPT               = 30  // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); }\n\tSYS_GETPEERNAME          = 31  // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); }\n\tSYS_GETSOCKNAME          = 32  // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); }\n\tSYS_ACCESS               = 33  // { int|sys||access(const char *path, int flags); }\n\tSYS_CHFLAGS              = 34  // { int|sys||chflags(const char *path, u_long flags); }\n\tSYS_FCHFLAGS             = 35  // { int|sys||fchflags(int fd, u_long flags); }\n\tSYS_SYNC                 = 36  // { void|sys||sync(void); }\n\tSYS_KILL                 = 37  // { int|sys||kill(pid_t pid, int signum); }\n\tSYS_GETPPID              = 39  // { pid_t|sys||getppid(void); }\n\tSYS_DUP                  = 41  // { int|sys||dup(int fd); }\n\tSYS_PIPE                 = 42  // { int|sys||pipe(void); }\n\tSYS_GETEGID              = 43  // { gid_t|sys||getegid(void); }\n\tSYS_PROFIL               = 44  // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); }\n\tSYS_KTRACE               = 45  // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); }\n\tSYS_GETGID               = 47  // { gid_t|sys||getgid_with_egid(void); }\n\tSYS___GETLOGIN           = 49  // { int|sys||__getlogin(char *namebuf, size_t namelen); }\n\tSYS___SETLOGIN           = 50  // { int|sys||__setlogin(const char *namebuf); }\n\tSYS_ACCT                 = 51  // { int|sys||acct(const char *path); }\n\tSYS_IOCTL                = 54  // { int|sys||ioctl(int fd, u_long com, ... void *data); }\n\tSYS_REVOKE               = 56  // { int|sys||revoke(const char *path); }\n\tSYS_SYMLINK              = 57  // { int|sys||symlink(const char *path, const char *link); }\n\tSYS_READLINK             = 58  // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); }\n\tSYS_EXECVE               = 59  // { int|sys||execve(const char *path, char * const *argp, char * const *envp); }\n\tSYS_UMASK                = 60  // { mode_t|sys||umask(mode_t newmask); }\n\tSYS_CHROOT               = 61  // { int|sys||chroot(const char *path); }\n\tSYS_VFORK                = 66  // { int|sys||vfork(void); }\n\tSYS_SBRK                 = 69  // { int|sys||sbrk(intptr_t incr); }\n\tSYS_SSTK                 = 70  // { int|sys||sstk(int incr); }\n\tSYS_VADVISE              = 72  // { int|sys||ovadvise(int anom); }\n\tSYS_MUNMAP               = 73  // { int|sys||munmap(void *addr, size_t len); }\n\tSYS_MPROTECT             = 74  // { int|sys||mprotect(void *addr, size_t len, int prot); }\n\tSYS_MADVISE              = 75  // { int|sys||madvise(void *addr, size_t len, int behav); }\n\tSYS_MINCORE              = 78  // { int|sys||mincore(void *addr, size_t len, char *vec); }\n\tSYS_GETGROUPS            = 79  // { int|sys||getgroups(int gidsetsize, gid_t *gidset); }\n\tSYS_SETGROUPS            = 80  // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); }\n\tSYS_GETPGRP              = 81  // { int|sys||getpgrp(void); }\n\tSYS_SETPGID              = 82  // { int|sys||setpgid(pid_t pid, pid_t pgid); }\n\tSYS_DUP2                 = 90  // { int|sys||dup2(int from, int to); }\n\tSYS_FCNTL                = 92  // { int|sys||fcntl(int fd, int cmd, ... void *arg); }\n\tSYS_FSYNC                = 95  // { int|sys||fsync(int fd); }\n\tSYS_SETPRIORITY          = 96  // { int|sys||setpriority(int which, id_t who, int prio); }\n\tSYS_CONNECT              = 98  // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); }\n\tSYS_GETPRIORITY          = 100 // { int|sys||getpriority(int which, id_t who); }\n\tSYS_BIND                 = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); }\n\tSYS_SETSOCKOPT           = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); }\n\tSYS_LISTEN               = 106 // { int|sys||listen(int s, int backlog); }\n\tSYS_GETSOCKOPT           = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); }\n\tSYS_READV                = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); }\n\tSYS_WRITEV               = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); }\n\tSYS_FCHOWN               = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS_FCHMOD               = 124 // { int|sys||fchmod(int fd, mode_t mode); }\n\tSYS_SETREUID             = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); }\n\tSYS_SETREGID             = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); }\n\tSYS_RENAME               = 128 // { int|sys||rename(const char *from, const char *to); }\n\tSYS_FLOCK                = 131 // { int|sys||flock(int fd, int how); }\n\tSYS_MKFIFO               = 132 // { int|sys||mkfifo(const char *path, mode_t mode); }\n\tSYS_SENDTO               = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); }\n\tSYS_SHUTDOWN             = 134 // { int|sys||shutdown(int s, int how); }\n\tSYS_SOCKETPAIR           = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); }\n\tSYS_MKDIR                = 136 // { int|sys||mkdir(const char *path, mode_t mode); }\n\tSYS_RMDIR                = 137 // { int|sys||rmdir(const char *path); }\n\tSYS_SETSID               = 147 // { int|sys||setsid(void); }\n\tSYS_SYSARCH              = 165 // { int|sys||sysarch(int op, void *parms); }\n\tSYS_PREAD                = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); }\n\tSYS_PWRITE               = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); }\n\tSYS_NTP_ADJTIME          = 176 // { int|sys||ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID               = 181 // { int|sys||setgid(gid_t gid); }\n\tSYS_SETEGID              = 182 // { int|sys||setegid(gid_t egid); }\n\tSYS_SETEUID              = 183 // { int|sys||seteuid(uid_t euid); }\n\tSYS_PATHCONF             = 191 // { long|sys||pathconf(const char *path, int name); }\n\tSYS_FPATHCONF            = 192 // { long|sys||fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT            = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); }\n\tSYS_SETRLIMIT            = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); }\n\tSYS_MMAP                 = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); }\n\tSYS_LSEEK                = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); }\n\tSYS_TRUNCATE             = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); }\n\tSYS_FTRUNCATE            = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); }\n\tSYS___SYSCTL             = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); }\n\tSYS_MLOCK                = 203 // { int|sys||mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK              = 204 // { int|sys||munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE             = 205 // { int|sys||undelete(const char *path); }\n\tSYS_GETPGID              = 207 // { pid_t|sys||getpgid(pid_t pid); }\n\tSYS_REBOOT               = 208 // { int|sys||reboot(int opt, char *bootstr); }\n\tSYS_POLL                 = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); }\n\tSYS_SEMGET               = 221 // { int|sys||semget(key_t key, int nsems, int semflg); }\n\tSYS_SEMOP                = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); }\n\tSYS_SEMCONFIG            = 223 // { int|sys||semconfig(int flag); }\n\tSYS_MSGGET               = 225 // { int|sys||msgget(key_t key, int msgflg); }\n\tSYS_MSGSND               = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }\n\tSYS_MSGRCV               = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }\n\tSYS_SHMAT                = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); }\n\tSYS_SHMDT                = 230 // { int|sys||shmdt(const void *shmaddr); }\n\tSYS_SHMGET               = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); }\n\tSYS_TIMER_CREATE         = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); }\n\tSYS_TIMER_DELETE         = 236 // { int|sys||timer_delete(timer_t timerid); }\n\tSYS_TIMER_GETOVERRUN     = 239 // { int|sys||timer_getoverrun(timer_t timerid); }\n\tSYS_FDATASYNC            = 241 // { int|sys||fdatasync(int fd); }\n\tSYS_MLOCKALL             = 242 // { int|sys||mlockall(int flags); }\n\tSYS_MUNLOCKALL           = 243 // { int|sys||munlockall(void); }\n\tSYS_SIGQUEUEINFO         = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); }\n\tSYS_MODCTL               = 246 // { int|sys||modctl(int cmd, void *arg); }\n\tSYS___POSIX_RENAME       = 270 // { int|sys||__posix_rename(const char *from, const char *to); }\n\tSYS_SWAPCTL              = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); }\n\tSYS_MINHERIT             = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); }\n\tSYS_LCHMOD               = 274 // { int|sys||lchmod(const char *path, mode_t mode); }\n\tSYS_LCHOWN               = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_MSYNC                = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); }\n\tSYS___POSIX_CHOWN        = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); }\n\tSYS___POSIX_FCHOWN       = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS___POSIX_LCHOWN       = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_GETSID               = 286 // { pid_t|sys||getsid(pid_t pid); }\n\tSYS___CLONE              = 287 // { pid_t|sys||__clone(int flags, void *stack); }\n\tSYS_FKTRACE              = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); }\n\tSYS_PREADV               = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); }\n\tSYS_PWRITEV              = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); }\n\tSYS___GETCWD             = 296 // { int|sys||__getcwd(char *bufp, size_t length); }\n\tSYS_FCHROOT              = 297 // { int|sys||fchroot(int fd); }\n\tSYS_LCHFLAGS             = 304 // { int|sys||lchflags(const char *path, u_long flags); }\n\tSYS_ISSETUGID            = 305 // { int|sys||issetugid(void); }\n\tSYS_UTRACE               = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); }\n\tSYS_GETCONTEXT           = 307 // { int|sys||getcontext(struct __ucontext *ucp); }\n\tSYS_SETCONTEXT           = 308 // { int|sys||setcontext(const struct __ucontext *ucp); }\n\tSYS__LWP_CREATE          = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); }\n\tSYS__LWP_EXIT            = 310 // { int|sys||_lwp_exit(void); }\n\tSYS__LWP_SELF            = 311 // { lwpid_t|sys||_lwp_self(void); }\n\tSYS__LWP_WAIT            = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); }\n\tSYS__LWP_SUSPEND         = 313 // { int|sys||_lwp_suspend(lwpid_t target); }\n\tSYS__LWP_CONTINUE        = 314 // { int|sys||_lwp_continue(lwpid_t target); }\n\tSYS__LWP_WAKEUP          = 315 // { int|sys||_lwp_wakeup(lwpid_t target); }\n\tSYS__LWP_GETPRIVATE      = 316 // { void *|sys||_lwp_getprivate(void); }\n\tSYS__LWP_SETPRIVATE      = 317 // { void|sys||_lwp_setprivate(void *ptr); }\n\tSYS__LWP_KILL            = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); }\n\tSYS__LWP_DETACH          = 319 // { int|sys||_lwp_detach(lwpid_t target); }\n\tSYS__LWP_UNPARK          = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); }\n\tSYS__LWP_UNPARK_ALL      = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); }\n\tSYS__LWP_SETNAME         = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); }\n\tSYS__LWP_GETNAME         = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); }\n\tSYS__LWP_CTL             = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); }\n\tSYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); }\n\tSYS_PMC_GET_INFO         = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); }\n\tSYS_PMC_CONTROL          = 342 // { int|sys||pmc_control(int ctr, int op, void *args); }\n\tSYS_RASCTL               = 343 // { int|sys||rasctl(void *addr, size_t len, int op); }\n\tSYS_KQUEUE               = 344 // { int|sys||kqueue(void); }\n\tSYS__SCHED_SETPARAM      = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); }\n\tSYS__SCHED_GETPARAM      = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); }\n\tSYS__SCHED_SETAFFINITY   = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); }\n\tSYS__SCHED_GETAFFINITY   = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); }\n\tSYS_SCHED_YIELD          = 350 // { int|sys||sched_yield(void); }\n\tSYS_FSYNC_RANGE          = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); }\n\tSYS_UUIDGEN              = 355 // { int|sys||uuidgen(struct uuid *store, int count); }\n\tSYS_GETVFSSTAT           = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); }\n\tSYS_STATVFS1             = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); }\n\tSYS_FSTATVFS1            = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); }\n\tSYS_EXTATTRCTL           = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_FILE     = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_FILE     = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_FILE  = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_FD       = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_FD       = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_FD    = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_LINK     = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_LINK     = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_LINK  = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_LIST_FD      = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_EXTATTR_LIST_FILE    = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_EXTATTR_LIST_LINK    = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_SETXATTR             = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); }\n\tSYS_LSETXATTR            = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); }\n\tSYS_FSETXATTR            = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); }\n\tSYS_GETXATTR             = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); }\n\tSYS_LGETXATTR            = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); }\n\tSYS_FGETXATTR            = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); }\n\tSYS_LISTXATTR            = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); }\n\tSYS_LLISTXATTR           = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); }\n\tSYS_FLISTXATTR           = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); }\n\tSYS_REMOVEXATTR          = 384 // { int|sys||removexattr(const char *path, const char *name); }\n\tSYS_LREMOVEXATTR         = 385 // { int|sys||lremovexattr(const char *path, const char *name); }\n\tSYS_FREMOVEXATTR         = 386 // { int|sys||fremovexattr(int fd, const char *name); }\n\tSYS_GETDENTS             = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); }\n\tSYS_SOCKET               = 394 // { int|sys|30|socket(int domain, int type, int protocol); }\n\tSYS_GETFH                = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); }\n\tSYS_MOUNT                = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); }\n\tSYS_MREMAP               = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); }\n\tSYS_PSET_CREATE          = 412 // { int|sys||pset_create(psetid_t *psid); }\n\tSYS_PSET_DESTROY         = 413 // { int|sys||pset_destroy(psetid_t psid); }\n\tSYS_PSET_ASSIGN          = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); }\n\tSYS__PSET_BIND           = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); }\n\tSYS_POSIX_FADVISE        = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); }\n\tSYS_SELECT               = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }\n\tSYS_GETTIMEOFDAY         = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); }\n\tSYS_SETTIMEOFDAY         = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); }\n\tSYS_UTIMES               = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); }\n\tSYS_ADJTIME              = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); }\n\tSYS_FUTIMES              = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); }\n\tSYS_LUTIMES              = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); }\n\tSYS_SETITIMER            = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); }\n\tSYS_GETITIMER            = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); }\n\tSYS_CLOCK_GETTIME        = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); }\n\tSYS_CLOCK_SETTIME        = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); }\n\tSYS_CLOCK_GETRES         = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); }\n\tSYS_NANOSLEEP            = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }\n\tSYS___SIGTIMEDWAIT       = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); }\n\tSYS__LWP_PARK            = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); }\n\tSYS_KEVENT               = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); }\n\tSYS_PSELECT              = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); }\n\tSYS_POLLTS               = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); }\n\tSYS_STAT                 = 439 // { int|sys|50|stat(const char *path, struct stat *ub); }\n\tSYS_FSTAT                = 440 // { int|sys|50|fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); }\n\tSYS___SEMCTL             = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); }\n\tSYS_SHMCTL               = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); }\n\tSYS_MSGCTL               = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); }\n\tSYS_GETRUSAGE            = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); }\n\tSYS_TIMER_SETTIME        = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); }\n\tSYS_TIMER_GETTIME        = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); }\n\tSYS_NTP_GETTIME          = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); }\n\tSYS_WAIT4                = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); }\n\tSYS_MKNOD                = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); }\n\tSYS_FHSTAT               = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); }\n\tSYS_PIPE2                = 453 // { int|sys||pipe2(int *fildes, int flags); }\n\tSYS_DUP3                 = 454 // { int|sys||dup3(int from, int to, int flags); }\n\tSYS_KQUEUE1              = 455 // { int|sys||kqueue1(int flags); }\n\tSYS_PACCEPT              = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); }\n\tSYS_LINKAT               = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); }\n\tSYS_RENAMEAT             = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); }\n\tSYS_MKFIFOAT             = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); }\n\tSYS_MKNODAT              = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); }\n\tSYS_MKDIRAT              = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); }\n\tSYS_FACCESSAT            = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); }\n\tSYS_FCHMODAT             = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); }\n\tSYS_FCHOWNAT             = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); }\n\tSYS_FEXECVE              = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); }\n\tSYS_FSTATAT              = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); }\n\tSYS_UTIMENSAT            = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); }\n\tSYS_OPENAT               = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); }\n\tSYS_READLINKAT           = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); }\n\tSYS_SYMLINKAT            = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); }\n\tSYS_UNLINKAT             = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); }\n\tSYS_FUTIMENS             = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); }\n\tSYS___QUOTACTL           = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); }\n\tSYS_POSIX_SPAWN          = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); }\n\tSYS_RECVMMSG             = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); }\n\tSYS_SENDMMSG             = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go",
    "content": "// mksysnum_netbsd.pl\n// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT\n\n// +build amd64,netbsd\n\npackage unix\n\nconst (\n\tSYS_EXIT                 = 1   // { void|sys||exit(int rval); }\n\tSYS_FORK                 = 2   // { int|sys||fork(void); }\n\tSYS_READ                 = 3   // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE                = 4   // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); }\n\tSYS_OPEN                 = 5   // { int|sys||open(const char *path, int flags, ... mode_t mode); }\n\tSYS_CLOSE                = 6   // { int|sys||close(int fd); }\n\tSYS_LINK                 = 9   // { int|sys||link(const char *path, const char *link); }\n\tSYS_UNLINK               = 10  // { int|sys||unlink(const char *path); }\n\tSYS_CHDIR                = 12  // { int|sys||chdir(const char *path); }\n\tSYS_FCHDIR               = 13  // { int|sys||fchdir(int fd); }\n\tSYS_CHMOD                = 15  // { int|sys||chmod(const char *path, mode_t mode); }\n\tSYS_CHOWN                = 16  // { int|sys||chown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_BREAK                = 17  // { int|sys||obreak(char *nsize); }\n\tSYS_GETPID               = 20  // { pid_t|sys||getpid_with_ppid(void); }\n\tSYS_UNMOUNT              = 22  // { int|sys||unmount(const char *path, int flags); }\n\tSYS_SETUID               = 23  // { int|sys||setuid(uid_t uid); }\n\tSYS_GETUID               = 24  // { uid_t|sys||getuid_with_euid(void); }\n\tSYS_GETEUID              = 25  // { uid_t|sys||geteuid(void); }\n\tSYS_PTRACE               = 26  // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); }\n\tSYS_RECVMSG              = 27  // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); }\n\tSYS_SENDMSG              = 28  // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); }\n\tSYS_RECVFROM             = 29  // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); }\n\tSYS_ACCEPT               = 30  // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); }\n\tSYS_GETPEERNAME          = 31  // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); }\n\tSYS_GETSOCKNAME          = 32  // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); }\n\tSYS_ACCESS               = 33  // { int|sys||access(const char *path, int flags); }\n\tSYS_CHFLAGS              = 34  // { int|sys||chflags(const char *path, u_long flags); }\n\tSYS_FCHFLAGS             = 35  // { int|sys||fchflags(int fd, u_long flags); }\n\tSYS_SYNC                 = 36  // { void|sys||sync(void); }\n\tSYS_KILL                 = 37  // { int|sys||kill(pid_t pid, int signum); }\n\tSYS_GETPPID              = 39  // { pid_t|sys||getppid(void); }\n\tSYS_DUP                  = 41  // { int|sys||dup(int fd); }\n\tSYS_PIPE                 = 42  // { int|sys||pipe(void); }\n\tSYS_GETEGID              = 43  // { gid_t|sys||getegid(void); }\n\tSYS_PROFIL               = 44  // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); }\n\tSYS_KTRACE               = 45  // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); }\n\tSYS_GETGID               = 47  // { gid_t|sys||getgid_with_egid(void); }\n\tSYS___GETLOGIN           = 49  // { int|sys||__getlogin(char *namebuf, size_t namelen); }\n\tSYS___SETLOGIN           = 50  // { int|sys||__setlogin(const char *namebuf); }\n\tSYS_ACCT                 = 51  // { int|sys||acct(const char *path); }\n\tSYS_IOCTL                = 54  // { int|sys||ioctl(int fd, u_long com, ... void *data); }\n\tSYS_REVOKE               = 56  // { int|sys||revoke(const char *path); }\n\tSYS_SYMLINK              = 57  // { int|sys||symlink(const char *path, const char *link); }\n\tSYS_READLINK             = 58  // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); }\n\tSYS_EXECVE               = 59  // { int|sys||execve(const char *path, char * const *argp, char * const *envp); }\n\tSYS_UMASK                = 60  // { mode_t|sys||umask(mode_t newmask); }\n\tSYS_CHROOT               = 61  // { int|sys||chroot(const char *path); }\n\tSYS_VFORK                = 66  // { int|sys||vfork(void); }\n\tSYS_SBRK                 = 69  // { int|sys||sbrk(intptr_t incr); }\n\tSYS_SSTK                 = 70  // { int|sys||sstk(int incr); }\n\tSYS_VADVISE              = 72  // { int|sys||ovadvise(int anom); }\n\tSYS_MUNMAP               = 73  // { int|sys||munmap(void *addr, size_t len); }\n\tSYS_MPROTECT             = 74  // { int|sys||mprotect(void *addr, size_t len, int prot); }\n\tSYS_MADVISE              = 75  // { int|sys||madvise(void *addr, size_t len, int behav); }\n\tSYS_MINCORE              = 78  // { int|sys||mincore(void *addr, size_t len, char *vec); }\n\tSYS_GETGROUPS            = 79  // { int|sys||getgroups(int gidsetsize, gid_t *gidset); }\n\tSYS_SETGROUPS            = 80  // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); }\n\tSYS_GETPGRP              = 81  // { int|sys||getpgrp(void); }\n\tSYS_SETPGID              = 82  // { int|sys||setpgid(pid_t pid, pid_t pgid); }\n\tSYS_DUP2                 = 90  // { int|sys||dup2(int from, int to); }\n\tSYS_FCNTL                = 92  // { int|sys||fcntl(int fd, int cmd, ... void *arg); }\n\tSYS_FSYNC                = 95  // { int|sys||fsync(int fd); }\n\tSYS_SETPRIORITY          = 96  // { int|sys||setpriority(int which, id_t who, int prio); }\n\tSYS_CONNECT              = 98  // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); }\n\tSYS_GETPRIORITY          = 100 // { int|sys||getpriority(int which, id_t who); }\n\tSYS_BIND                 = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); }\n\tSYS_SETSOCKOPT           = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); }\n\tSYS_LISTEN               = 106 // { int|sys||listen(int s, int backlog); }\n\tSYS_GETSOCKOPT           = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); }\n\tSYS_READV                = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); }\n\tSYS_WRITEV               = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); }\n\tSYS_FCHOWN               = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS_FCHMOD               = 124 // { int|sys||fchmod(int fd, mode_t mode); }\n\tSYS_SETREUID             = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); }\n\tSYS_SETREGID             = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); }\n\tSYS_RENAME               = 128 // { int|sys||rename(const char *from, const char *to); }\n\tSYS_FLOCK                = 131 // { int|sys||flock(int fd, int how); }\n\tSYS_MKFIFO               = 132 // { int|sys||mkfifo(const char *path, mode_t mode); }\n\tSYS_SENDTO               = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); }\n\tSYS_SHUTDOWN             = 134 // { int|sys||shutdown(int s, int how); }\n\tSYS_SOCKETPAIR           = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); }\n\tSYS_MKDIR                = 136 // { int|sys||mkdir(const char *path, mode_t mode); }\n\tSYS_RMDIR                = 137 // { int|sys||rmdir(const char *path); }\n\tSYS_SETSID               = 147 // { int|sys||setsid(void); }\n\tSYS_SYSARCH              = 165 // { int|sys||sysarch(int op, void *parms); }\n\tSYS_PREAD                = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); }\n\tSYS_PWRITE               = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); }\n\tSYS_NTP_ADJTIME          = 176 // { int|sys||ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID               = 181 // { int|sys||setgid(gid_t gid); }\n\tSYS_SETEGID              = 182 // { int|sys||setegid(gid_t egid); }\n\tSYS_SETEUID              = 183 // { int|sys||seteuid(uid_t euid); }\n\tSYS_PATHCONF             = 191 // { long|sys||pathconf(const char *path, int name); }\n\tSYS_FPATHCONF            = 192 // { long|sys||fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT            = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); }\n\tSYS_SETRLIMIT            = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); }\n\tSYS_MMAP                 = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); }\n\tSYS_LSEEK                = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); }\n\tSYS_TRUNCATE             = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); }\n\tSYS_FTRUNCATE            = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); }\n\tSYS___SYSCTL             = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); }\n\tSYS_MLOCK                = 203 // { int|sys||mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK              = 204 // { int|sys||munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE             = 205 // { int|sys||undelete(const char *path); }\n\tSYS_GETPGID              = 207 // { pid_t|sys||getpgid(pid_t pid); }\n\tSYS_REBOOT               = 208 // { int|sys||reboot(int opt, char *bootstr); }\n\tSYS_POLL                 = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); }\n\tSYS_SEMGET               = 221 // { int|sys||semget(key_t key, int nsems, int semflg); }\n\tSYS_SEMOP                = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); }\n\tSYS_SEMCONFIG            = 223 // { int|sys||semconfig(int flag); }\n\tSYS_MSGGET               = 225 // { int|sys||msgget(key_t key, int msgflg); }\n\tSYS_MSGSND               = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }\n\tSYS_MSGRCV               = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }\n\tSYS_SHMAT                = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); }\n\tSYS_SHMDT                = 230 // { int|sys||shmdt(const void *shmaddr); }\n\tSYS_SHMGET               = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); }\n\tSYS_TIMER_CREATE         = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); }\n\tSYS_TIMER_DELETE         = 236 // { int|sys||timer_delete(timer_t timerid); }\n\tSYS_TIMER_GETOVERRUN     = 239 // { int|sys||timer_getoverrun(timer_t timerid); }\n\tSYS_FDATASYNC            = 241 // { int|sys||fdatasync(int fd); }\n\tSYS_MLOCKALL             = 242 // { int|sys||mlockall(int flags); }\n\tSYS_MUNLOCKALL           = 243 // { int|sys||munlockall(void); }\n\tSYS_SIGQUEUEINFO         = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); }\n\tSYS_MODCTL               = 246 // { int|sys||modctl(int cmd, void *arg); }\n\tSYS___POSIX_RENAME       = 270 // { int|sys||__posix_rename(const char *from, const char *to); }\n\tSYS_SWAPCTL              = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); }\n\tSYS_MINHERIT             = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); }\n\tSYS_LCHMOD               = 274 // { int|sys||lchmod(const char *path, mode_t mode); }\n\tSYS_LCHOWN               = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_MSYNC                = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); }\n\tSYS___POSIX_CHOWN        = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); }\n\tSYS___POSIX_FCHOWN       = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS___POSIX_LCHOWN       = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_GETSID               = 286 // { pid_t|sys||getsid(pid_t pid); }\n\tSYS___CLONE              = 287 // { pid_t|sys||__clone(int flags, void *stack); }\n\tSYS_FKTRACE              = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); }\n\tSYS_PREADV               = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); }\n\tSYS_PWRITEV              = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); }\n\tSYS___GETCWD             = 296 // { int|sys||__getcwd(char *bufp, size_t length); }\n\tSYS_FCHROOT              = 297 // { int|sys||fchroot(int fd); }\n\tSYS_LCHFLAGS             = 304 // { int|sys||lchflags(const char *path, u_long flags); }\n\tSYS_ISSETUGID            = 305 // { int|sys||issetugid(void); }\n\tSYS_UTRACE               = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); }\n\tSYS_GETCONTEXT           = 307 // { int|sys||getcontext(struct __ucontext *ucp); }\n\tSYS_SETCONTEXT           = 308 // { int|sys||setcontext(const struct __ucontext *ucp); }\n\tSYS__LWP_CREATE          = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); }\n\tSYS__LWP_EXIT            = 310 // { int|sys||_lwp_exit(void); }\n\tSYS__LWP_SELF            = 311 // { lwpid_t|sys||_lwp_self(void); }\n\tSYS__LWP_WAIT            = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); }\n\tSYS__LWP_SUSPEND         = 313 // { int|sys||_lwp_suspend(lwpid_t target); }\n\tSYS__LWP_CONTINUE        = 314 // { int|sys||_lwp_continue(lwpid_t target); }\n\tSYS__LWP_WAKEUP          = 315 // { int|sys||_lwp_wakeup(lwpid_t target); }\n\tSYS__LWP_GETPRIVATE      = 316 // { void *|sys||_lwp_getprivate(void); }\n\tSYS__LWP_SETPRIVATE      = 317 // { void|sys||_lwp_setprivate(void *ptr); }\n\tSYS__LWP_KILL            = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); }\n\tSYS__LWP_DETACH          = 319 // { int|sys||_lwp_detach(lwpid_t target); }\n\tSYS__LWP_UNPARK          = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); }\n\tSYS__LWP_UNPARK_ALL      = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); }\n\tSYS__LWP_SETNAME         = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); }\n\tSYS__LWP_GETNAME         = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); }\n\tSYS__LWP_CTL             = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); }\n\tSYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); }\n\tSYS_PMC_GET_INFO         = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); }\n\tSYS_PMC_CONTROL          = 342 // { int|sys||pmc_control(int ctr, int op, void *args); }\n\tSYS_RASCTL               = 343 // { int|sys||rasctl(void *addr, size_t len, int op); }\n\tSYS_KQUEUE               = 344 // { int|sys||kqueue(void); }\n\tSYS__SCHED_SETPARAM      = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); }\n\tSYS__SCHED_GETPARAM      = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); }\n\tSYS__SCHED_SETAFFINITY   = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); }\n\tSYS__SCHED_GETAFFINITY   = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); }\n\tSYS_SCHED_YIELD          = 350 // { int|sys||sched_yield(void); }\n\tSYS_FSYNC_RANGE          = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); }\n\tSYS_UUIDGEN              = 355 // { int|sys||uuidgen(struct uuid *store, int count); }\n\tSYS_GETVFSSTAT           = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); }\n\tSYS_STATVFS1             = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); }\n\tSYS_FSTATVFS1            = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); }\n\tSYS_EXTATTRCTL           = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_FILE     = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_FILE     = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_FILE  = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_FD       = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_FD       = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_FD    = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_LINK     = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_LINK     = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_LINK  = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_LIST_FD      = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_EXTATTR_LIST_FILE    = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_EXTATTR_LIST_LINK    = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_SETXATTR             = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); }\n\tSYS_LSETXATTR            = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); }\n\tSYS_FSETXATTR            = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); }\n\tSYS_GETXATTR             = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); }\n\tSYS_LGETXATTR            = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); }\n\tSYS_FGETXATTR            = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); }\n\tSYS_LISTXATTR            = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); }\n\tSYS_LLISTXATTR           = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); }\n\tSYS_FLISTXATTR           = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); }\n\tSYS_REMOVEXATTR          = 384 // { int|sys||removexattr(const char *path, const char *name); }\n\tSYS_LREMOVEXATTR         = 385 // { int|sys||lremovexattr(const char *path, const char *name); }\n\tSYS_FREMOVEXATTR         = 386 // { int|sys||fremovexattr(int fd, const char *name); }\n\tSYS_GETDENTS             = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); }\n\tSYS_SOCKET               = 394 // { int|sys|30|socket(int domain, int type, int protocol); }\n\tSYS_GETFH                = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); }\n\tSYS_MOUNT                = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); }\n\tSYS_MREMAP               = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); }\n\tSYS_PSET_CREATE          = 412 // { int|sys||pset_create(psetid_t *psid); }\n\tSYS_PSET_DESTROY         = 413 // { int|sys||pset_destroy(psetid_t psid); }\n\tSYS_PSET_ASSIGN          = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); }\n\tSYS__PSET_BIND           = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); }\n\tSYS_POSIX_FADVISE        = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); }\n\tSYS_SELECT               = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }\n\tSYS_GETTIMEOFDAY         = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); }\n\tSYS_SETTIMEOFDAY         = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); }\n\tSYS_UTIMES               = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); }\n\tSYS_ADJTIME              = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); }\n\tSYS_FUTIMES              = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); }\n\tSYS_LUTIMES              = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); }\n\tSYS_SETITIMER            = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); }\n\tSYS_GETITIMER            = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); }\n\tSYS_CLOCK_GETTIME        = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); }\n\tSYS_CLOCK_SETTIME        = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); }\n\tSYS_CLOCK_GETRES         = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); }\n\tSYS_NANOSLEEP            = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }\n\tSYS___SIGTIMEDWAIT       = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); }\n\tSYS__LWP_PARK            = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); }\n\tSYS_KEVENT               = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); }\n\tSYS_PSELECT              = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); }\n\tSYS_POLLTS               = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); }\n\tSYS_STAT                 = 439 // { int|sys|50|stat(const char *path, struct stat *ub); }\n\tSYS_FSTAT                = 440 // { int|sys|50|fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); }\n\tSYS___SEMCTL             = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); }\n\tSYS_SHMCTL               = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); }\n\tSYS_MSGCTL               = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); }\n\tSYS_GETRUSAGE            = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); }\n\tSYS_TIMER_SETTIME        = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); }\n\tSYS_TIMER_GETTIME        = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); }\n\tSYS_NTP_GETTIME          = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); }\n\tSYS_WAIT4                = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); }\n\tSYS_MKNOD                = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); }\n\tSYS_FHSTAT               = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); }\n\tSYS_PIPE2                = 453 // { int|sys||pipe2(int *fildes, int flags); }\n\tSYS_DUP3                 = 454 // { int|sys||dup3(int from, int to, int flags); }\n\tSYS_KQUEUE1              = 455 // { int|sys||kqueue1(int flags); }\n\tSYS_PACCEPT              = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); }\n\tSYS_LINKAT               = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); }\n\tSYS_RENAMEAT             = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); }\n\tSYS_MKFIFOAT             = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); }\n\tSYS_MKNODAT              = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); }\n\tSYS_MKDIRAT              = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); }\n\tSYS_FACCESSAT            = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); }\n\tSYS_FCHMODAT             = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); }\n\tSYS_FCHOWNAT             = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); }\n\tSYS_FEXECVE              = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); }\n\tSYS_FSTATAT              = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); }\n\tSYS_UTIMENSAT            = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); }\n\tSYS_OPENAT               = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); }\n\tSYS_READLINKAT           = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); }\n\tSYS_SYMLINKAT            = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); }\n\tSYS_UNLINKAT             = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); }\n\tSYS_FUTIMENS             = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); }\n\tSYS___QUOTACTL           = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); }\n\tSYS_POSIX_SPAWN          = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); }\n\tSYS_RECVMMSG             = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); }\n\tSYS_SENDMMSG             = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go",
    "content": "// mksysnum_netbsd.pl\n// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT\n\n// +build arm,netbsd\n\npackage unix\n\nconst (\n\tSYS_EXIT                 = 1   // { void|sys||exit(int rval); }\n\tSYS_FORK                 = 2   // { int|sys||fork(void); }\n\tSYS_READ                 = 3   // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE                = 4   // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); }\n\tSYS_OPEN                 = 5   // { int|sys||open(const char *path, int flags, ... mode_t mode); }\n\tSYS_CLOSE                = 6   // { int|sys||close(int fd); }\n\tSYS_LINK                 = 9   // { int|sys||link(const char *path, const char *link); }\n\tSYS_UNLINK               = 10  // { int|sys||unlink(const char *path); }\n\tSYS_CHDIR                = 12  // { int|sys||chdir(const char *path); }\n\tSYS_FCHDIR               = 13  // { int|sys||fchdir(int fd); }\n\tSYS_CHMOD                = 15  // { int|sys||chmod(const char *path, mode_t mode); }\n\tSYS_CHOWN                = 16  // { int|sys||chown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_BREAK                = 17  // { int|sys||obreak(char *nsize); }\n\tSYS_GETPID               = 20  // { pid_t|sys||getpid_with_ppid(void); }\n\tSYS_UNMOUNT              = 22  // { int|sys||unmount(const char *path, int flags); }\n\tSYS_SETUID               = 23  // { int|sys||setuid(uid_t uid); }\n\tSYS_GETUID               = 24  // { uid_t|sys||getuid_with_euid(void); }\n\tSYS_GETEUID              = 25  // { uid_t|sys||geteuid(void); }\n\tSYS_PTRACE               = 26  // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); }\n\tSYS_RECVMSG              = 27  // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); }\n\tSYS_SENDMSG              = 28  // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); }\n\tSYS_RECVFROM             = 29  // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); }\n\tSYS_ACCEPT               = 30  // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); }\n\tSYS_GETPEERNAME          = 31  // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); }\n\tSYS_GETSOCKNAME          = 32  // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); }\n\tSYS_ACCESS               = 33  // { int|sys||access(const char *path, int flags); }\n\tSYS_CHFLAGS              = 34  // { int|sys||chflags(const char *path, u_long flags); }\n\tSYS_FCHFLAGS             = 35  // { int|sys||fchflags(int fd, u_long flags); }\n\tSYS_SYNC                 = 36  // { void|sys||sync(void); }\n\tSYS_KILL                 = 37  // { int|sys||kill(pid_t pid, int signum); }\n\tSYS_GETPPID              = 39  // { pid_t|sys||getppid(void); }\n\tSYS_DUP                  = 41  // { int|sys||dup(int fd); }\n\tSYS_PIPE                 = 42  // { int|sys||pipe(void); }\n\tSYS_GETEGID              = 43  // { gid_t|sys||getegid(void); }\n\tSYS_PROFIL               = 44  // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); }\n\tSYS_KTRACE               = 45  // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); }\n\tSYS_GETGID               = 47  // { gid_t|sys||getgid_with_egid(void); }\n\tSYS___GETLOGIN           = 49  // { int|sys||__getlogin(char *namebuf, size_t namelen); }\n\tSYS___SETLOGIN           = 50  // { int|sys||__setlogin(const char *namebuf); }\n\tSYS_ACCT                 = 51  // { int|sys||acct(const char *path); }\n\tSYS_IOCTL                = 54  // { int|sys||ioctl(int fd, u_long com, ... void *data); }\n\tSYS_REVOKE               = 56  // { int|sys||revoke(const char *path); }\n\tSYS_SYMLINK              = 57  // { int|sys||symlink(const char *path, const char *link); }\n\tSYS_READLINK             = 58  // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); }\n\tSYS_EXECVE               = 59  // { int|sys||execve(const char *path, char * const *argp, char * const *envp); }\n\tSYS_UMASK                = 60  // { mode_t|sys||umask(mode_t newmask); }\n\tSYS_CHROOT               = 61  // { int|sys||chroot(const char *path); }\n\tSYS_VFORK                = 66  // { int|sys||vfork(void); }\n\tSYS_SBRK                 = 69  // { int|sys||sbrk(intptr_t incr); }\n\tSYS_SSTK                 = 70  // { int|sys||sstk(int incr); }\n\tSYS_VADVISE              = 72  // { int|sys||ovadvise(int anom); }\n\tSYS_MUNMAP               = 73  // { int|sys||munmap(void *addr, size_t len); }\n\tSYS_MPROTECT             = 74  // { int|sys||mprotect(void *addr, size_t len, int prot); }\n\tSYS_MADVISE              = 75  // { int|sys||madvise(void *addr, size_t len, int behav); }\n\tSYS_MINCORE              = 78  // { int|sys||mincore(void *addr, size_t len, char *vec); }\n\tSYS_GETGROUPS            = 79  // { int|sys||getgroups(int gidsetsize, gid_t *gidset); }\n\tSYS_SETGROUPS            = 80  // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); }\n\tSYS_GETPGRP              = 81  // { int|sys||getpgrp(void); }\n\tSYS_SETPGID              = 82  // { int|sys||setpgid(pid_t pid, pid_t pgid); }\n\tSYS_DUP2                 = 90  // { int|sys||dup2(int from, int to); }\n\tSYS_FCNTL                = 92  // { int|sys||fcntl(int fd, int cmd, ... void *arg); }\n\tSYS_FSYNC                = 95  // { int|sys||fsync(int fd); }\n\tSYS_SETPRIORITY          = 96  // { int|sys||setpriority(int which, id_t who, int prio); }\n\tSYS_CONNECT              = 98  // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); }\n\tSYS_GETPRIORITY          = 100 // { int|sys||getpriority(int which, id_t who); }\n\tSYS_BIND                 = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); }\n\tSYS_SETSOCKOPT           = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); }\n\tSYS_LISTEN               = 106 // { int|sys||listen(int s, int backlog); }\n\tSYS_GETSOCKOPT           = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); }\n\tSYS_READV                = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); }\n\tSYS_WRITEV               = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); }\n\tSYS_FCHOWN               = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS_FCHMOD               = 124 // { int|sys||fchmod(int fd, mode_t mode); }\n\tSYS_SETREUID             = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); }\n\tSYS_SETREGID             = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); }\n\tSYS_RENAME               = 128 // { int|sys||rename(const char *from, const char *to); }\n\tSYS_FLOCK                = 131 // { int|sys||flock(int fd, int how); }\n\tSYS_MKFIFO               = 132 // { int|sys||mkfifo(const char *path, mode_t mode); }\n\tSYS_SENDTO               = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); }\n\tSYS_SHUTDOWN             = 134 // { int|sys||shutdown(int s, int how); }\n\tSYS_SOCKETPAIR           = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); }\n\tSYS_MKDIR                = 136 // { int|sys||mkdir(const char *path, mode_t mode); }\n\tSYS_RMDIR                = 137 // { int|sys||rmdir(const char *path); }\n\tSYS_SETSID               = 147 // { int|sys||setsid(void); }\n\tSYS_SYSARCH              = 165 // { int|sys||sysarch(int op, void *parms); }\n\tSYS_PREAD                = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); }\n\tSYS_PWRITE               = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); }\n\tSYS_NTP_ADJTIME          = 176 // { int|sys||ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID               = 181 // { int|sys||setgid(gid_t gid); }\n\tSYS_SETEGID              = 182 // { int|sys||setegid(gid_t egid); }\n\tSYS_SETEUID              = 183 // { int|sys||seteuid(uid_t euid); }\n\tSYS_PATHCONF             = 191 // { long|sys||pathconf(const char *path, int name); }\n\tSYS_FPATHCONF            = 192 // { long|sys||fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT            = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); }\n\tSYS_SETRLIMIT            = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); }\n\tSYS_MMAP                 = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); }\n\tSYS_LSEEK                = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); }\n\tSYS_TRUNCATE             = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); }\n\tSYS_FTRUNCATE            = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); }\n\tSYS___SYSCTL             = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); }\n\tSYS_MLOCK                = 203 // { int|sys||mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK              = 204 // { int|sys||munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE             = 205 // { int|sys||undelete(const char *path); }\n\tSYS_GETPGID              = 207 // { pid_t|sys||getpgid(pid_t pid); }\n\tSYS_REBOOT               = 208 // { int|sys||reboot(int opt, char *bootstr); }\n\tSYS_POLL                 = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); }\n\tSYS_SEMGET               = 221 // { int|sys||semget(key_t key, int nsems, int semflg); }\n\tSYS_SEMOP                = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); }\n\tSYS_SEMCONFIG            = 223 // { int|sys||semconfig(int flag); }\n\tSYS_MSGGET               = 225 // { int|sys||msgget(key_t key, int msgflg); }\n\tSYS_MSGSND               = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }\n\tSYS_MSGRCV               = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }\n\tSYS_SHMAT                = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); }\n\tSYS_SHMDT                = 230 // { int|sys||shmdt(const void *shmaddr); }\n\tSYS_SHMGET               = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); }\n\tSYS_TIMER_CREATE         = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); }\n\tSYS_TIMER_DELETE         = 236 // { int|sys||timer_delete(timer_t timerid); }\n\tSYS_TIMER_GETOVERRUN     = 239 // { int|sys||timer_getoverrun(timer_t timerid); }\n\tSYS_FDATASYNC            = 241 // { int|sys||fdatasync(int fd); }\n\tSYS_MLOCKALL             = 242 // { int|sys||mlockall(int flags); }\n\tSYS_MUNLOCKALL           = 243 // { int|sys||munlockall(void); }\n\tSYS_SIGQUEUEINFO         = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); }\n\tSYS_MODCTL               = 246 // { int|sys||modctl(int cmd, void *arg); }\n\tSYS___POSIX_RENAME       = 270 // { int|sys||__posix_rename(const char *from, const char *to); }\n\tSYS_SWAPCTL              = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); }\n\tSYS_MINHERIT             = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); }\n\tSYS_LCHMOD               = 274 // { int|sys||lchmod(const char *path, mode_t mode); }\n\tSYS_LCHOWN               = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_MSYNC                = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); }\n\tSYS___POSIX_CHOWN        = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); }\n\tSYS___POSIX_FCHOWN       = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS___POSIX_LCHOWN       = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_GETSID               = 286 // { pid_t|sys||getsid(pid_t pid); }\n\tSYS___CLONE              = 287 // { pid_t|sys||__clone(int flags, void *stack); }\n\tSYS_FKTRACE              = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); }\n\tSYS_PREADV               = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); }\n\tSYS_PWRITEV              = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); }\n\tSYS___GETCWD             = 296 // { int|sys||__getcwd(char *bufp, size_t length); }\n\tSYS_FCHROOT              = 297 // { int|sys||fchroot(int fd); }\n\tSYS_LCHFLAGS             = 304 // { int|sys||lchflags(const char *path, u_long flags); }\n\tSYS_ISSETUGID            = 305 // { int|sys||issetugid(void); }\n\tSYS_UTRACE               = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); }\n\tSYS_GETCONTEXT           = 307 // { int|sys||getcontext(struct __ucontext *ucp); }\n\tSYS_SETCONTEXT           = 308 // { int|sys||setcontext(const struct __ucontext *ucp); }\n\tSYS__LWP_CREATE          = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); }\n\tSYS__LWP_EXIT            = 310 // { int|sys||_lwp_exit(void); }\n\tSYS__LWP_SELF            = 311 // { lwpid_t|sys||_lwp_self(void); }\n\tSYS__LWP_WAIT            = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); }\n\tSYS__LWP_SUSPEND         = 313 // { int|sys||_lwp_suspend(lwpid_t target); }\n\tSYS__LWP_CONTINUE        = 314 // { int|sys||_lwp_continue(lwpid_t target); }\n\tSYS__LWP_WAKEUP          = 315 // { int|sys||_lwp_wakeup(lwpid_t target); }\n\tSYS__LWP_GETPRIVATE      = 316 // { void *|sys||_lwp_getprivate(void); }\n\tSYS__LWP_SETPRIVATE      = 317 // { void|sys||_lwp_setprivate(void *ptr); }\n\tSYS__LWP_KILL            = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); }\n\tSYS__LWP_DETACH          = 319 // { int|sys||_lwp_detach(lwpid_t target); }\n\tSYS__LWP_UNPARK          = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); }\n\tSYS__LWP_UNPARK_ALL      = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); }\n\tSYS__LWP_SETNAME         = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); }\n\tSYS__LWP_GETNAME         = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); }\n\tSYS__LWP_CTL             = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); }\n\tSYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); }\n\tSYS_PMC_GET_INFO         = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); }\n\tSYS_PMC_CONTROL          = 342 // { int|sys||pmc_control(int ctr, int op, void *args); }\n\tSYS_RASCTL               = 343 // { int|sys||rasctl(void *addr, size_t len, int op); }\n\tSYS_KQUEUE               = 344 // { int|sys||kqueue(void); }\n\tSYS__SCHED_SETPARAM      = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); }\n\tSYS__SCHED_GETPARAM      = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); }\n\tSYS__SCHED_SETAFFINITY   = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); }\n\tSYS__SCHED_GETAFFINITY   = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); }\n\tSYS_SCHED_YIELD          = 350 // { int|sys||sched_yield(void); }\n\tSYS_FSYNC_RANGE          = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); }\n\tSYS_UUIDGEN              = 355 // { int|sys||uuidgen(struct uuid *store, int count); }\n\tSYS_GETVFSSTAT           = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); }\n\tSYS_STATVFS1             = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); }\n\tSYS_FSTATVFS1            = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); }\n\tSYS_EXTATTRCTL           = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_FILE     = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_FILE     = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_FILE  = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_FD       = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_FD       = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_FD    = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_LINK     = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_LINK     = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_LINK  = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_LIST_FD      = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_EXTATTR_LIST_FILE    = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_EXTATTR_LIST_LINK    = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_SETXATTR             = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); }\n\tSYS_LSETXATTR            = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); }\n\tSYS_FSETXATTR            = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); }\n\tSYS_GETXATTR             = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); }\n\tSYS_LGETXATTR            = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); }\n\tSYS_FGETXATTR            = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); }\n\tSYS_LISTXATTR            = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); }\n\tSYS_LLISTXATTR           = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); }\n\tSYS_FLISTXATTR           = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); }\n\tSYS_REMOVEXATTR          = 384 // { int|sys||removexattr(const char *path, const char *name); }\n\tSYS_LREMOVEXATTR         = 385 // { int|sys||lremovexattr(const char *path, const char *name); }\n\tSYS_FREMOVEXATTR         = 386 // { int|sys||fremovexattr(int fd, const char *name); }\n\tSYS_GETDENTS             = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); }\n\tSYS_SOCKET               = 394 // { int|sys|30|socket(int domain, int type, int protocol); }\n\tSYS_GETFH                = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); }\n\tSYS_MOUNT                = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); }\n\tSYS_MREMAP               = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); }\n\tSYS_PSET_CREATE          = 412 // { int|sys||pset_create(psetid_t *psid); }\n\tSYS_PSET_DESTROY         = 413 // { int|sys||pset_destroy(psetid_t psid); }\n\tSYS_PSET_ASSIGN          = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); }\n\tSYS__PSET_BIND           = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); }\n\tSYS_POSIX_FADVISE        = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); }\n\tSYS_SELECT               = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }\n\tSYS_GETTIMEOFDAY         = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); }\n\tSYS_SETTIMEOFDAY         = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); }\n\tSYS_UTIMES               = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); }\n\tSYS_ADJTIME              = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); }\n\tSYS_FUTIMES              = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); }\n\tSYS_LUTIMES              = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); }\n\tSYS_SETITIMER            = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); }\n\tSYS_GETITIMER            = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); }\n\tSYS_CLOCK_GETTIME        = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); }\n\tSYS_CLOCK_SETTIME        = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); }\n\tSYS_CLOCK_GETRES         = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); }\n\tSYS_NANOSLEEP            = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }\n\tSYS___SIGTIMEDWAIT       = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); }\n\tSYS__LWP_PARK            = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); }\n\tSYS_KEVENT               = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); }\n\tSYS_PSELECT              = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); }\n\tSYS_POLLTS               = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); }\n\tSYS_STAT                 = 439 // { int|sys|50|stat(const char *path, struct stat *ub); }\n\tSYS_FSTAT                = 440 // { int|sys|50|fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); }\n\tSYS___SEMCTL             = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); }\n\tSYS_SHMCTL               = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); }\n\tSYS_MSGCTL               = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); }\n\tSYS_GETRUSAGE            = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); }\n\tSYS_TIMER_SETTIME        = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); }\n\tSYS_TIMER_GETTIME        = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); }\n\tSYS_NTP_GETTIME          = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); }\n\tSYS_WAIT4                = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); }\n\tSYS_MKNOD                = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); }\n\tSYS_FHSTAT               = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); }\n\tSYS_PIPE2                = 453 // { int|sys||pipe2(int *fildes, int flags); }\n\tSYS_DUP3                 = 454 // { int|sys||dup3(int from, int to, int flags); }\n\tSYS_KQUEUE1              = 455 // { int|sys||kqueue1(int flags); }\n\tSYS_PACCEPT              = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); }\n\tSYS_LINKAT               = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); }\n\tSYS_RENAMEAT             = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); }\n\tSYS_MKFIFOAT             = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); }\n\tSYS_MKNODAT              = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); }\n\tSYS_MKDIRAT              = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); }\n\tSYS_FACCESSAT            = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); }\n\tSYS_FCHMODAT             = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); }\n\tSYS_FCHOWNAT             = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); }\n\tSYS_FEXECVE              = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); }\n\tSYS_FSTATAT              = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); }\n\tSYS_UTIMENSAT            = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); }\n\tSYS_OPENAT               = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); }\n\tSYS_READLINKAT           = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); }\n\tSYS_SYMLINKAT            = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); }\n\tSYS_UNLINKAT             = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); }\n\tSYS_FUTIMENS             = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); }\n\tSYS___QUOTACTL           = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); }\n\tSYS_POSIX_SPAWN          = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); }\n\tSYS_RECVMMSG             = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); }\n\tSYS_SENDMMSG             = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go",
    "content": "// mksysnum_openbsd.pl\n// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT\n\n// +build 386,openbsd\n\npackage unix\n\nconst (\n\tSYS_EXIT           = 1   // { void sys_exit(int rval); }\n\tSYS_FORK           = 2   // { int sys_fork(void); }\n\tSYS_READ           = 3   // { ssize_t sys_read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, \\\n\tSYS_OPEN           = 5   // { int sys_open(const char *path, \\\n\tSYS_CLOSE          = 6   // { int sys_close(int fd); }\n\tSYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, \\\n\tSYS_LINK           = 9   // { int sys_link(const char *path, const char *link); }\n\tSYS_UNLINK         = 10  // { int sys_unlink(const char *path); }\n\tSYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, \\\n\tSYS_CHDIR          = 12  // { int sys_chdir(const char *path); }\n\tSYS_FCHDIR         = 13  // { int sys_fchdir(int fd); }\n\tSYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, \\\n\tSYS_CHMOD          = 15  // { int sys_chmod(const char *path, mode_t mode); }\n\tSYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, \\\n\tSYS_OBREAK         = 17  // { int sys_obreak(char *nsize); } break\n\tSYS_GETDTABLECOUNT = 18  // { int sys_getdtablecount(void); }\n\tSYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, \\\n\tSYS_GETPID         = 20  // { pid_t sys_getpid(void); }\n\tSYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, \\\n\tSYS_UNMOUNT        = 22  // { int sys_unmount(const char *path, int flags); }\n\tSYS_SETUID         = 23  // { int sys_setuid(uid_t uid); }\n\tSYS_GETUID         = 24  // { uid_t sys_getuid(void); }\n\tSYS_GETEUID        = 25  // { uid_t sys_geteuid(void); }\n\tSYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \\\n\tSYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \\\n\tSYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, \\\n\tSYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \\\n\tSYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, \\\n\tSYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, \\\n\tSYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, \\\n\tSYS_ACCESS         = 33  // { int sys_access(const char *path, int flags); }\n\tSYS_CHFLAGS        = 34  // { int sys_chflags(const char *path, u_int flags); }\n\tSYS_FCHFLAGS       = 35  // { int sys_fchflags(int fd, u_int flags); }\n\tSYS_SYNC           = 36  // { void sys_sync(void); }\n\tSYS_KILL           = 37  // { int sys_kill(int pid, int signum); }\n\tSYS_STAT           = 38  // { int sys_stat(const char *path, struct stat *ub); }\n\tSYS_GETPPID        = 39  // { pid_t sys_getppid(void); }\n\tSYS_LSTAT          = 40  // { int sys_lstat(const char *path, struct stat *ub); }\n\tSYS_DUP            = 41  // { int sys_dup(int fd); }\n\tSYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, \\\n\tSYS_GETEGID        = 43  // { gid_t sys_getegid(void); }\n\tSYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, \\\n\tSYS_SIGACTION      = 46  // { int sys_sigaction(int signum, \\\n\tSYS_GETGID         = 47  // { gid_t sys_getgid(void); }\n\tSYS_SIGPROCMASK    = 48  // { int sys_sigprocmask(int how, sigset_t mask); }\n\tSYS_GETLOGIN       = 49  // { int sys_getlogin(char *namebuf, u_int namelen); }\n\tSYS_SETLOGIN       = 50  // { int sys_setlogin(const char *namebuf); }\n\tSYS_ACCT           = 51  // { int sys_acct(const char *path); }\n\tSYS_SIGPENDING     = 52  // { int sys_sigpending(void); }\n\tSYS_FSTAT          = 53  // { int sys_fstat(int fd, struct stat *sb); }\n\tSYS_IOCTL          = 54  // { int sys_ioctl(int fd, \\\n\tSYS_REBOOT         = 55  // { int sys_reboot(int opt); }\n\tSYS_REVOKE         = 56  // { int sys_revoke(const char *path); }\n\tSYS_SYMLINK        = 57  // { int sys_symlink(const char *path, \\\n\tSYS_READLINK       = 58  // { int sys_readlink(const char *path, char *buf, \\\n\tSYS_EXECVE         = 59  // { int sys_execve(const char *path, \\\n\tSYS_UMASK          = 60  // { mode_t sys_umask(mode_t newmask); }\n\tSYS_CHROOT         = 61  // { int sys_chroot(const char *path); }\n\tSYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \\\n\tSYS_STATFS         = 63  // { int sys_statfs(const char *path, \\\n\tSYS_FSTATFS        = 64  // { int sys_fstatfs(int fd, struct statfs *buf); }\n\tSYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, \\\n\tSYS_VFORK          = 66  // { int sys_vfork(void); }\n\tSYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, \\\n\tSYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, \\\n\tSYS_SETITIMER      = 69  // { int sys_setitimer(int which, \\\n\tSYS_GETITIMER      = 70  // { int sys_getitimer(int which, \\\n\tSYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_KEVENT         = 72  // { int sys_kevent(int fd, \\\n\tSYS_MUNMAP         = 73  // { int sys_munmap(void *addr, size_t len); }\n\tSYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, \\\n\tSYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, \\\n\tSYS_UTIMES         = 76  // { int sys_utimes(const char *path, \\\n\tSYS_FUTIMES        = 77  // { int sys_futimes(int fd, \\\n\tSYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, \\\n\tSYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, \\\n\tSYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, \\\n\tSYS_GETPGRP        = 81  // { int sys_getpgrp(void); }\n\tSYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, int pgid); }\n\tSYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, \\\n\tSYS_FUTIMENS       = 85  // { int sys_futimens(int fd, \\\n\tSYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, \\\n\tSYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, \\\n\tSYS_DUP2           = 90  // { int sys_dup2(int from, int to); }\n\tSYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, \\\n\tSYS_FCNTL          = 92  // { int sys_fcntl(int fd, int cmd, ... void *arg); }\n\tSYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, \\\n\tSYS_FSYNC          = 95  // { int sys_fsync(int fd); }\n\tSYS_SETPRIORITY    = 96  // { int sys_setpriority(int which, id_t who, int prio); }\n\tSYS_SOCKET         = 97  // { int sys_socket(int domain, int type, int protocol); }\n\tSYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, \\\n\tSYS_GETDENTS       = 99  // { int sys_getdents(int fd, void *buf, size_t buflen); }\n\tSYS_GETPRIORITY    = 100 // { int sys_getpriority(int which, id_t who); }\n\tSYS_SIGRETURN      = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }\n\tSYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, \\\n\tSYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN         = 106 // { int sys_listen(int s, int backlog); }\n\tSYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, \\\n\tSYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }\n\tSYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \\\n\tSYS_READV          = 120 // { ssize_t sys_readv(int fd, \\\n\tSYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, \\\n\tSYS_FCHOWN         = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS_FCHMOD         = 124 // { int sys_fchmod(int fd, mode_t mode); }\n\tSYS_SETREUID       = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); }\n\tSYS_SETREGID       = 127 // { int sys_setregid(gid_t rgid, gid_t egid); }\n\tSYS_RENAME         = 128 // { int sys_rename(const char *from, const char *to); }\n\tSYS_FLOCK          = 131 // { int sys_flock(int fd, int how); }\n\tSYS_MKFIFO         = 132 // { int sys_mkfifo(const char *path, mode_t mode); }\n\tSYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, \\\n\tSYS_SHUTDOWN       = 134 // { int sys_shutdown(int s, int how); }\n\tSYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, \\\n\tSYS_MKDIR          = 136 // { int sys_mkdir(const char *path, mode_t mode); }\n\tSYS_RMDIR          = 137 // { int sys_rmdir(const char *path); }\n\tSYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, \\\n\tSYS_SETSID         = 147 // { int sys_setsid(void); }\n\tSYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, \\\n\tSYS_NFSSVC         = 155 // { int sys_nfssvc(int flag, void *argp); }\n\tSYS_GETFH          = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); }\n\tSYS_SYSARCH        = 165 // { int sys_sysarch(int op, void *parms); }\n\tSYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, \\\n\tSYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \\\n\tSYS_SETGID         = 181 // { int sys_setgid(gid_t gid); }\n\tSYS_SETEGID        = 182 // { int sys_setegid(gid_t egid); }\n\tSYS_SETEUID        = 183 // { int sys_seteuid(uid_t euid); }\n\tSYS_PATHCONF       = 191 // { long sys_pathconf(const char *path, int name); }\n\tSYS_FPATHCONF      = 192 // { long sys_fpathconf(int fd, int name); }\n\tSYS_SWAPCTL        = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); }\n\tSYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, \\\n\tSYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, \\\n\tSYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \\\n\tSYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \\\n\tSYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, \\\n\tSYS_FTRUNCATE      = 201 // { int sys_ftruncate(int fd, int pad, off_t length); }\n\tSYS___SYSCTL       = 202 // { int sys___sysctl(const int *name, u_int namelen, \\\n\tSYS_MLOCK          = 203 // { int sys_mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK        = 204 // { int sys_munlock(const void *addr, size_t len); }\n\tSYS_GETPGID        = 207 // { pid_t sys_getpgid(pid_t pid); }\n\tSYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, \\\n\tSYS_SEMGET         = 221 // { int sys_semget(key_t key, int nsems, int semflg); }\n\tSYS_MSGGET         = 225 // { int sys_msgget(key_t key, int msgflg); }\n\tSYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \\\n\tSYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \\\n\tSYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \\\n\tSYS_SHMDT          = 230 // { int sys_shmdt(const void *shmaddr); }\n\tSYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, \\\n\tSYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, \\\n\tSYS_ISSETUGID      = 253 // { int sys_issetugid(void); }\n\tSYS_LCHOWN         = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_GETSID         = 255 // { pid_t sys_getsid(pid_t pid); }\n\tSYS_MSYNC          = 256 // { int sys_msync(void *addr, size_t len, int flags); }\n\tSYS_PIPE           = 263 // { int sys_pipe(int *fdp); }\n\tSYS_FHOPEN         = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); }\n\tSYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, \\\n\tSYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, \\\n\tSYS_KQUEUE         = 269 // { int sys_kqueue(void); }\n\tSYS_MLOCKALL       = 271 // { int sys_mlockall(int flags); }\n\tSYS_MUNLOCKALL     = 272 // { int sys_munlockall(void); }\n\tSYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \\\n\tSYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \\\n\tSYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \\\n\tSYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \\\n\tSYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \\\n\tSYS_CLOSEFROM      = 287 // { int sys_closefrom(int fd); }\n\tSYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \\\n\tSYS_SHMGET         = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); }\n\tSYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, \\\n\tSYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, \\\n\tSYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, \\\n\tSYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, \\\n\tSYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, \\\n\tSYS_SCHED_YIELD    = 298 // { int sys_sched_yield(void); }\n\tSYS_GETTHRID       = 299 // { pid_t sys_getthrid(void); }\n\tSYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, \\\n\tSYS___THREXIT      = 302 // { void sys___threxit(pid_t *notdead); }\n\tSYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \\\n\tSYS___GETCWD       = 304 // { int sys___getcwd(char *buf, size_t len); }\n\tSYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, \\\n\tSYS_SETRTABLE      = 310 // { int sys_setrtable(int rtableid); }\n\tSYS_GETRTABLE      = 311 // { int sys_getrtable(void); }\n\tSYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, \\\n\tSYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, \\\n\tSYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, \\\n\tSYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \\\n\tSYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, \\\n\tSYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, \\\n\tSYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, \\\n\tSYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, \\\n\tSYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \\\n\tSYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, \\\n\tSYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, \\\n\tSYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, \\\n\tSYS___SET_TCB      = 329 // { void sys___set_tcb(void *tcb); }\n\tSYS___GET_TCB      = 330 // { void *sys___get_tcb(void); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go",
    "content": "// mksysnum_openbsd.pl\n// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT\n\n// +build amd64,openbsd\n\npackage unix\n\nconst (\n\tSYS_EXIT           = 1   // { void sys_exit(int rval); }\n\tSYS_FORK           = 2   // { int sys_fork(void); }\n\tSYS_READ           = 3   // { ssize_t sys_read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, \\\n\tSYS_OPEN           = 5   // { int sys_open(const char *path, \\\n\tSYS_CLOSE          = 6   // { int sys_close(int fd); }\n\tSYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, \\\n\tSYS_LINK           = 9   // { int sys_link(const char *path, const char *link); }\n\tSYS_UNLINK         = 10  // { int sys_unlink(const char *path); }\n\tSYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, \\\n\tSYS_CHDIR          = 12  // { int sys_chdir(const char *path); }\n\tSYS_FCHDIR         = 13  // { int sys_fchdir(int fd); }\n\tSYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, \\\n\tSYS_CHMOD          = 15  // { int sys_chmod(const char *path, mode_t mode); }\n\tSYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, \\\n\tSYS_OBREAK         = 17  // { int sys_obreak(char *nsize); } break\n\tSYS_GETDTABLECOUNT = 18  // { int sys_getdtablecount(void); }\n\tSYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, \\\n\tSYS_GETPID         = 20  // { pid_t sys_getpid(void); }\n\tSYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, \\\n\tSYS_UNMOUNT        = 22  // { int sys_unmount(const char *path, int flags); }\n\tSYS_SETUID         = 23  // { int sys_setuid(uid_t uid); }\n\tSYS_GETUID         = 24  // { uid_t sys_getuid(void); }\n\tSYS_GETEUID        = 25  // { uid_t sys_geteuid(void); }\n\tSYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \\\n\tSYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \\\n\tSYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, \\\n\tSYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \\\n\tSYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, \\\n\tSYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, \\\n\tSYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, \\\n\tSYS_ACCESS         = 33  // { int sys_access(const char *path, int flags); }\n\tSYS_CHFLAGS        = 34  // { int sys_chflags(const char *path, u_int flags); }\n\tSYS_FCHFLAGS       = 35  // { int sys_fchflags(int fd, u_int flags); }\n\tSYS_SYNC           = 36  // { void sys_sync(void); }\n\tSYS_KILL           = 37  // { int sys_kill(int pid, int signum); }\n\tSYS_STAT           = 38  // { int sys_stat(const char *path, struct stat *ub); }\n\tSYS_GETPPID        = 39  // { pid_t sys_getppid(void); }\n\tSYS_LSTAT          = 40  // { int sys_lstat(const char *path, struct stat *ub); }\n\tSYS_DUP            = 41  // { int sys_dup(int fd); }\n\tSYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, \\\n\tSYS_GETEGID        = 43  // { gid_t sys_getegid(void); }\n\tSYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, \\\n\tSYS_SIGACTION      = 46  // { int sys_sigaction(int signum, \\\n\tSYS_GETGID         = 47  // { gid_t sys_getgid(void); }\n\tSYS_SIGPROCMASK    = 48  // { int sys_sigprocmask(int how, sigset_t mask); }\n\tSYS_GETLOGIN       = 49  // { int sys_getlogin(char *namebuf, u_int namelen); }\n\tSYS_SETLOGIN       = 50  // { int sys_setlogin(const char *namebuf); }\n\tSYS_ACCT           = 51  // { int sys_acct(const char *path); }\n\tSYS_SIGPENDING     = 52  // { int sys_sigpending(void); }\n\tSYS_FSTAT          = 53  // { int sys_fstat(int fd, struct stat *sb); }\n\tSYS_IOCTL          = 54  // { int sys_ioctl(int fd, \\\n\tSYS_REBOOT         = 55  // { int sys_reboot(int opt); }\n\tSYS_REVOKE         = 56  // { int sys_revoke(const char *path); }\n\tSYS_SYMLINK        = 57  // { int sys_symlink(const char *path, \\\n\tSYS_READLINK       = 58  // { int sys_readlink(const char *path, char *buf, \\\n\tSYS_EXECVE         = 59  // { int sys_execve(const char *path, \\\n\tSYS_UMASK          = 60  // { mode_t sys_umask(mode_t newmask); }\n\tSYS_CHROOT         = 61  // { int sys_chroot(const char *path); }\n\tSYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \\\n\tSYS_STATFS         = 63  // { int sys_statfs(const char *path, \\\n\tSYS_FSTATFS        = 64  // { int sys_fstatfs(int fd, struct statfs *buf); }\n\tSYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, \\\n\tSYS_VFORK          = 66  // { int sys_vfork(void); }\n\tSYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, \\\n\tSYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, \\\n\tSYS_SETITIMER      = 69  // { int sys_setitimer(int which, \\\n\tSYS_GETITIMER      = 70  // { int sys_getitimer(int which, \\\n\tSYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_KEVENT         = 72  // { int sys_kevent(int fd, \\\n\tSYS_MUNMAP         = 73  // { int sys_munmap(void *addr, size_t len); }\n\tSYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, \\\n\tSYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, \\\n\tSYS_UTIMES         = 76  // { int sys_utimes(const char *path, \\\n\tSYS_FUTIMES        = 77  // { int sys_futimes(int fd, \\\n\tSYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, \\\n\tSYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, \\\n\tSYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, \\\n\tSYS_GETPGRP        = 81  // { int sys_getpgrp(void); }\n\tSYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, int pgid); }\n\tSYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, \\\n\tSYS_FUTIMENS       = 85  // { int sys_futimens(int fd, \\\n\tSYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, \\\n\tSYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, \\\n\tSYS_DUP2           = 90  // { int sys_dup2(int from, int to); }\n\tSYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, \\\n\tSYS_FCNTL          = 92  // { int sys_fcntl(int fd, int cmd, ... void *arg); }\n\tSYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, \\\n\tSYS_FSYNC          = 95  // { int sys_fsync(int fd); }\n\tSYS_SETPRIORITY    = 96  // { int sys_setpriority(int which, id_t who, int prio); }\n\tSYS_SOCKET         = 97  // { int sys_socket(int domain, int type, int protocol); }\n\tSYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, \\\n\tSYS_GETDENTS       = 99  // { int sys_getdents(int fd, void *buf, size_t buflen); }\n\tSYS_GETPRIORITY    = 100 // { int sys_getpriority(int which, id_t who); }\n\tSYS_SIGRETURN      = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }\n\tSYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, \\\n\tSYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN         = 106 // { int sys_listen(int s, int backlog); }\n\tSYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, \\\n\tSYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }\n\tSYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \\\n\tSYS_READV          = 120 // { ssize_t sys_readv(int fd, \\\n\tSYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, \\\n\tSYS_FCHOWN         = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS_FCHMOD         = 124 // { int sys_fchmod(int fd, mode_t mode); }\n\tSYS_SETREUID       = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); }\n\tSYS_SETREGID       = 127 // { int sys_setregid(gid_t rgid, gid_t egid); }\n\tSYS_RENAME         = 128 // { int sys_rename(const char *from, const char *to); }\n\tSYS_FLOCK          = 131 // { int sys_flock(int fd, int how); }\n\tSYS_MKFIFO         = 132 // { int sys_mkfifo(const char *path, mode_t mode); }\n\tSYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, \\\n\tSYS_SHUTDOWN       = 134 // { int sys_shutdown(int s, int how); }\n\tSYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, \\\n\tSYS_MKDIR          = 136 // { int sys_mkdir(const char *path, mode_t mode); }\n\tSYS_RMDIR          = 137 // { int sys_rmdir(const char *path); }\n\tSYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, \\\n\tSYS_SETSID         = 147 // { int sys_setsid(void); }\n\tSYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, \\\n\tSYS_NFSSVC         = 155 // { int sys_nfssvc(int flag, void *argp); }\n\tSYS_GETFH          = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); }\n\tSYS_SYSARCH        = 165 // { int sys_sysarch(int op, void *parms); }\n\tSYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, \\\n\tSYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \\\n\tSYS_SETGID         = 181 // { int sys_setgid(gid_t gid); }\n\tSYS_SETEGID        = 182 // { int sys_setegid(gid_t egid); }\n\tSYS_SETEUID        = 183 // { int sys_seteuid(uid_t euid); }\n\tSYS_PATHCONF       = 191 // { long sys_pathconf(const char *path, int name); }\n\tSYS_FPATHCONF      = 192 // { long sys_fpathconf(int fd, int name); }\n\tSYS_SWAPCTL        = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); }\n\tSYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, \\\n\tSYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, \\\n\tSYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \\\n\tSYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \\\n\tSYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, \\\n\tSYS_FTRUNCATE      = 201 // { int sys_ftruncate(int fd, int pad, off_t length); }\n\tSYS___SYSCTL       = 202 // { int sys___sysctl(const int *name, u_int namelen, \\\n\tSYS_MLOCK          = 203 // { int sys_mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK        = 204 // { int sys_munlock(const void *addr, size_t len); }\n\tSYS_GETPGID        = 207 // { pid_t sys_getpgid(pid_t pid); }\n\tSYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, \\\n\tSYS_SEMGET         = 221 // { int sys_semget(key_t key, int nsems, int semflg); }\n\tSYS_MSGGET         = 225 // { int sys_msgget(key_t key, int msgflg); }\n\tSYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \\\n\tSYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \\\n\tSYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \\\n\tSYS_SHMDT          = 230 // { int sys_shmdt(const void *shmaddr); }\n\tSYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, \\\n\tSYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, \\\n\tSYS_ISSETUGID      = 253 // { int sys_issetugid(void); }\n\tSYS_LCHOWN         = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_GETSID         = 255 // { pid_t sys_getsid(pid_t pid); }\n\tSYS_MSYNC          = 256 // { int sys_msync(void *addr, size_t len, int flags); }\n\tSYS_PIPE           = 263 // { int sys_pipe(int *fdp); }\n\tSYS_FHOPEN         = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); }\n\tSYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, \\\n\tSYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, \\\n\tSYS_KQUEUE         = 269 // { int sys_kqueue(void); }\n\tSYS_MLOCKALL       = 271 // { int sys_mlockall(int flags); }\n\tSYS_MUNLOCKALL     = 272 // { int sys_munlockall(void); }\n\tSYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \\\n\tSYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \\\n\tSYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \\\n\tSYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \\\n\tSYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \\\n\tSYS_CLOSEFROM      = 287 // { int sys_closefrom(int fd); }\n\tSYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \\\n\tSYS_SHMGET         = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); }\n\tSYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, \\\n\tSYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, \\\n\tSYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, \\\n\tSYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, \\\n\tSYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, \\\n\tSYS_SCHED_YIELD    = 298 // { int sys_sched_yield(void); }\n\tSYS_GETTHRID       = 299 // { pid_t sys_getthrid(void); }\n\tSYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, \\\n\tSYS___THREXIT      = 302 // { void sys___threxit(pid_t *notdead); }\n\tSYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \\\n\tSYS___GETCWD       = 304 // { int sys___getcwd(char *buf, size_t len); }\n\tSYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, \\\n\tSYS_SETRTABLE      = 310 // { int sys_setrtable(int rtableid); }\n\tSYS_GETRTABLE      = 311 // { int sys_getrtable(void); }\n\tSYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, \\\n\tSYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, \\\n\tSYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, \\\n\tSYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \\\n\tSYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, \\\n\tSYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, \\\n\tSYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, \\\n\tSYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, \\\n\tSYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \\\n\tSYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, \\\n\tSYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, \\\n\tSYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, \\\n\tSYS___SET_TCB      = 329 // { void sys___set_tcb(void *tcb); }\n\tSYS___GET_TCB      = 330 // { void *sys___get_tcb(void); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go",
    "content": "// mksysnum_openbsd.pl\n// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT\n\n// +build arm,openbsd\n\npackage unix\n\nconst (\n\tSYS_EXIT           = 1   // { void sys_exit(int rval); }\n\tSYS_FORK           = 2   // { int sys_fork(void); }\n\tSYS_READ           = 3   // { ssize_t sys_read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, \\\n\tSYS_OPEN           = 5   // { int sys_open(const char *path, \\\n\tSYS_CLOSE          = 6   // { int sys_close(int fd); }\n\tSYS_GETENTROPY     = 7   // { int sys_getentropy(void *buf, size_t nbyte); }\n\tSYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, \\\n\tSYS_LINK           = 9   // { int sys_link(const char *path, const char *link); }\n\tSYS_UNLINK         = 10  // { int sys_unlink(const char *path); }\n\tSYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, \\\n\tSYS_CHDIR          = 12  // { int sys_chdir(const char *path); }\n\tSYS_FCHDIR         = 13  // { int sys_fchdir(int fd); }\n\tSYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, \\\n\tSYS_CHMOD          = 15  // { int sys_chmod(const char *path, mode_t mode); }\n\tSYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, \\\n\tSYS_OBREAK         = 17  // { int sys_obreak(char *nsize); } break\n\tSYS_GETDTABLECOUNT = 18  // { int sys_getdtablecount(void); }\n\tSYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, \\\n\tSYS_GETPID         = 20  // { pid_t sys_getpid(void); }\n\tSYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, \\\n\tSYS_UNMOUNT        = 22  // { int sys_unmount(const char *path, int flags); }\n\tSYS_SETUID         = 23  // { int sys_setuid(uid_t uid); }\n\tSYS_GETUID         = 24  // { uid_t sys_getuid(void); }\n\tSYS_GETEUID        = 25  // { uid_t sys_geteuid(void); }\n\tSYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \\\n\tSYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \\\n\tSYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, \\\n\tSYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \\\n\tSYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, \\\n\tSYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, \\\n\tSYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, \\\n\tSYS_ACCESS         = 33  // { int sys_access(const char *path, int amode); }\n\tSYS_CHFLAGS        = 34  // { int sys_chflags(const char *path, u_int flags); }\n\tSYS_FCHFLAGS       = 35  // { int sys_fchflags(int fd, u_int flags); }\n\tSYS_SYNC           = 36  // { void sys_sync(void); }\n\tSYS_STAT           = 38  // { int sys_stat(const char *path, struct stat *ub); }\n\tSYS_GETPPID        = 39  // { pid_t sys_getppid(void); }\n\tSYS_LSTAT          = 40  // { int sys_lstat(const char *path, struct stat *ub); }\n\tSYS_DUP            = 41  // { int sys_dup(int fd); }\n\tSYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, \\\n\tSYS_GETEGID        = 43  // { gid_t sys_getegid(void); }\n\tSYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, \\\n\tSYS_SIGACTION      = 46  // { int sys_sigaction(int signum, \\\n\tSYS_GETGID         = 47  // { gid_t sys_getgid(void); }\n\tSYS_SIGPROCMASK    = 48  // { int sys_sigprocmask(int how, sigset_t mask); }\n\tSYS_GETLOGIN       = 49  // { int sys_getlogin(char *namebuf, u_int namelen); }\n\tSYS_SETLOGIN       = 50  // { int sys_setlogin(const char *namebuf); }\n\tSYS_ACCT           = 51  // { int sys_acct(const char *path); }\n\tSYS_SIGPENDING     = 52  // { int sys_sigpending(void); }\n\tSYS_FSTAT          = 53  // { int sys_fstat(int fd, struct stat *sb); }\n\tSYS_IOCTL          = 54  // { int sys_ioctl(int fd, \\\n\tSYS_REBOOT         = 55  // { int sys_reboot(int opt); }\n\tSYS_REVOKE         = 56  // { int sys_revoke(const char *path); }\n\tSYS_SYMLINK        = 57  // { int sys_symlink(const char *path, \\\n\tSYS_READLINK       = 58  // { ssize_t sys_readlink(const char *path, \\\n\tSYS_EXECVE         = 59  // { int sys_execve(const char *path, \\\n\tSYS_UMASK          = 60  // { mode_t sys_umask(mode_t newmask); }\n\tSYS_CHROOT         = 61  // { int sys_chroot(const char *path); }\n\tSYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \\\n\tSYS_STATFS         = 63  // { int sys_statfs(const char *path, \\\n\tSYS_FSTATFS        = 64  // { int sys_fstatfs(int fd, struct statfs *buf); }\n\tSYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, \\\n\tSYS_VFORK          = 66  // { int sys_vfork(void); }\n\tSYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, \\\n\tSYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, \\\n\tSYS_SETITIMER      = 69  // { int sys_setitimer(int which, \\\n\tSYS_GETITIMER      = 70  // { int sys_getitimer(int which, \\\n\tSYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_KEVENT         = 72  // { int sys_kevent(int fd, \\\n\tSYS_MUNMAP         = 73  // { int sys_munmap(void *addr, size_t len); }\n\tSYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, \\\n\tSYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, \\\n\tSYS_UTIMES         = 76  // { int sys_utimes(const char *path, \\\n\tSYS_FUTIMES        = 77  // { int sys_futimes(int fd, \\\n\tSYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, \\\n\tSYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, \\\n\tSYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, \\\n\tSYS_GETPGRP        = 81  // { int sys_getpgrp(void); }\n\tSYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, pid_t pgid); }\n\tSYS_SENDSYSLOG     = 83  // { int sys_sendsyslog(const void *buf, size_t nbyte); }\n\tSYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, \\\n\tSYS_FUTIMENS       = 85  // { int sys_futimens(int fd, \\\n\tSYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, \\\n\tSYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, \\\n\tSYS_DUP2           = 90  // { int sys_dup2(int from, int to); }\n\tSYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, \\\n\tSYS_FCNTL          = 92  // { int sys_fcntl(int fd, int cmd, ... void *arg); }\n\tSYS_ACCEPT4        = 93  // { int sys_accept4(int s, struct sockaddr *name, \\\n\tSYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, \\\n\tSYS_FSYNC          = 95  // { int sys_fsync(int fd); }\n\tSYS_SETPRIORITY    = 96  // { int sys_setpriority(int which, id_t who, int prio); }\n\tSYS_SOCKET         = 97  // { int sys_socket(int domain, int type, int protocol); }\n\tSYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, \\\n\tSYS_GETDENTS       = 99  // { int sys_getdents(int fd, void *buf, size_t buflen); }\n\tSYS_GETPRIORITY    = 100 // { int sys_getpriority(int which, id_t who); }\n\tSYS_PIPE2          = 101 // { int sys_pipe2(int *fdp, int flags); }\n\tSYS_DUP3           = 102 // { int sys_dup3(int from, int to, int flags); }\n\tSYS_SIGRETURN      = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }\n\tSYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, \\\n\tSYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN         = 106 // { int sys_listen(int s, int backlog); }\n\tSYS_CHFLAGSAT      = 107 // { int sys_chflagsat(int fd, const char *path, \\\n\tSYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, \\\n\tSYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }\n\tSYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \\\n\tSYS_READV          = 120 // { ssize_t sys_readv(int fd, \\\n\tSYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, \\\n\tSYS_KILL           = 122 // { int sys_kill(int pid, int signum); }\n\tSYS_FCHOWN         = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS_FCHMOD         = 124 // { int sys_fchmod(int fd, mode_t mode); }\n\tSYS_SETREUID       = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); }\n\tSYS_SETREGID       = 127 // { int sys_setregid(gid_t rgid, gid_t egid); }\n\tSYS_RENAME         = 128 // { int sys_rename(const char *from, const char *to); }\n\tSYS_FLOCK          = 131 // { int sys_flock(int fd, int how); }\n\tSYS_MKFIFO         = 132 // { int sys_mkfifo(const char *path, mode_t mode); }\n\tSYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, \\\n\tSYS_SHUTDOWN       = 134 // { int sys_shutdown(int s, int how); }\n\tSYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, \\\n\tSYS_MKDIR          = 136 // { int sys_mkdir(const char *path, mode_t mode); }\n\tSYS_RMDIR          = 137 // { int sys_rmdir(const char *path); }\n\tSYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, \\\n\tSYS_SETSID         = 147 // { int sys_setsid(void); }\n\tSYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, \\\n\tSYS_NFSSVC         = 155 // { int sys_nfssvc(int flag, void *argp); }\n\tSYS_GETFH          = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); }\n\tSYS_SYSARCH        = 165 // { int sys_sysarch(int op, void *parms); }\n\tSYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, \\\n\tSYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \\\n\tSYS_SETGID         = 181 // { int sys_setgid(gid_t gid); }\n\tSYS_SETEGID        = 182 // { int sys_setegid(gid_t egid); }\n\tSYS_SETEUID        = 183 // { int sys_seteuid(uid_t euid); }\n\tSYS_PATHCONF       = 191 // { long sys_pathconf(const char *path, int name); }\n\tSYS_FPATHCONF      = 192 // { long sys_fpathconf(int fd, int name); }\n\tSYS_SWAPCTL        = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); }\n\tSYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, \\\n\tSYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, \\\n\tSYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \\\n\tSYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \\\n\tSYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, \\\n\tSYS_FTRUNCATE      = 201 // { int sys_ftruncate(int fd, int pad, off_t length); }\n\tSYS___SYSCTL       = 202 // { int sys___sysctl(const int *name, u_int namelen, \\\n\tSYS_MLOCK          = 203 // { int sys_mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK        = 204 // { int sys_munlock(const void *addr, size_t len); }\n\tSYS_GETPGID        = 207 // { pid_t sys_getpgid(pid_t pid); }\n\tSYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, \\\n\tSYS_SEMGET         = 221 // { int sys_semget(key_t key, int nsems, int semflg); }\n\tSYS_MSGGET         = 225 // { int sys_msgget(key_t key, int msgflg); }\n\tSYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \\\n\tSYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \\\n\tSYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \\\n\tSYS_SHMDT          = 230 // { int sys_shmdt(const void *shmaddr); }\n\tSYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, \\\n\tSYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, \\\n\tSYS_ISSETUGID      = 253 // { int sys_issetugid(void); }\n\tSYS_LCHOWN         = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_GETSID         = 255 // { pid_t sys_getsid(pid_t pid); }\n\tSYS_MSYNC          = 256 // { int sys_msync(void *addr, size_t len, int flags); }\n\tSYS_PIPE           = 263 // { int sys_pipe(int *fdp); }\n\tSYS_FHOPEN         = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); }\n\tSYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, \\\n\tSYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, \\\n\tSYS_KQUEUE         = 269 // { int sys_kqueue(void); }\n\tSYS_MLOCKALL       = 271 // { int sys_mlockall(int flags); }\n\tSYS_MUNLOCKALL     = 272 // { int sys_munlockall(void); }\n\tSYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \\\n\tSYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \\\n\tSYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \\\n\tSYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \\\n\tSYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \\\n\tSYS_CLOSEFROM      = 287 // { int sys_closefrom(int fd); }\n\tSYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \\\n\tSYS_SHMGET         = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); }\n\tSYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, \\\n\tSYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, \\\n\tSYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, \\\n\tSYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, \\\n\tSYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, \\\n\tSYS_SCHED_YIELD    = 298 // { int sys_sched_yield(void); }\n\tSYS_GETTHRID       = 299 // { pid_t sys_getthrid(void); }\n\tSYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, \\\n\tSYS___THREXIT      = 302 // { void sys___threxit(pid_t *notdead); }\n\tSYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \\\n\tSYS___GETCWD       = 304 // { int sys___getcwd(char *buf, size_t len); }\n\tSYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, \\\n\tSYS_SETRTABLE      = 310 // { int sys_setrtable(int rtableid); }\n\tSYS_GETRTABLE      = 311 // { int sys_getrtable(void); }\n\tSYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, \\\n\tSYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, \\\n\tSYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, \\\n\tSYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \\\n\tSYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, \\\n\tSYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, \\\n\tSYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, \\\n\tSYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, \\\n\tSYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \\\n\tSYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, \\\n\tSYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, \\\n\tSYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, \\\n\tSYS___SET_TCB      = 329 // { void sys___set_tcb(void *tcb); }\n\tSYS___GET_TCB      = 330 // { void *sys___get_tcb(void); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_darwin_386.go",
    "content": "// cgo -godefs types_darwin.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,darwin\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Timeval32 struct{}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           int32\n\tMode          uint16\n\tNlink         uint16\n\tIno           uint64\n\tUid           uint32\n\tGid           uint32\n\tRdev          int32\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tQspare        [2]int64\n}\n\ntype Statfs_t struct {\n\tBsize       uint32\n\tIosize      int32\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      uint64\n\tFiles       uint64\n\tFfree       uint64\n\tFsid        Fsid\n\tOwner       uint32\n\tType        uint32\n\tFlags       uint32\n\tFssubtype   uint32\n\tFstypename  [16]int8\n\tMntonname   [1024]int8\n\tMntfromname [1024]int8\n\tReserved    [8]uint32\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Fstore_t struct {\n\tFlags      uint32\n\tPosmode    int32\n\tOffset     int64\n\tLength     int64\n\tBytesalloc int64\n}\n\ntype Radvisory_t struct {\n\tOffset int64\n\tCount  int32\n}\n\ntype Fbootstraptransfer_t struct {\n\tOffset int64\n\tLength uint32\n\tBuffer *byte\n}\n\ntype Log2phys_t struct {\n\tFlags       uint32\n\tContigbytes int64\n\tDevoffset   int64\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tSeekoff   uint64\n\tReclen    uint16\n\tNamlen    uint16\n\tType      uint8\n\tName      [1024]int8\n\tPad_cgo_0 [3]byte\n}\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     int32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  uint32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet4Pktinfo     = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int32\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\nconst (\n\tSizeofIfMsghdr    = 0x70\n\tSizeofIfData      = 0x60\n\tSizeofIfaMsghdr   = 0x14\n\tSizeofIfmaMsghdr  = 0x10\n\tSizeofIfmaMsghdr2 = 0x14\n\tSizeofRtMsghdr    = 0x5c\n\tSizeofRtMetrics   = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tTypelen    uint8\n\tPhysical   uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tRecvquota  uint8\n\tXmitquota  uint8\n\tUnused1    uint8\n\tMtu        uint32\n\tMetric     uint32\n\tBaudrate   uint32\n\tIpackets   uint32\n\tIerrors    uint32\n\tOpackets   uint32\n\tOerrors    uint32\n\tCollisions uint32\n\tIbytes     uint32\n\tObytes     uint32\n\tImcasts    uint32\n\tOmcasts    uint32\n\tIqdrops    uint32\n\tNoproto    uint32\n\tRecvtiming uint32\n\tXmittiming uint32\n\tLastchange Timeval\n\tUnused2    uint32\n\tHwassist   uint32\n\tReserved1  uint32\n\tReserved2  uint32\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tMetric    int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype IfmaMsghdr2 struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tRefcount  int32\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tUse       int32\n\tInits     uint32\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   int32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n\tFiller   [4]uint32\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x8\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    Timeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x2\n\tAT_REMOVEDIR        = 0x80\n\tAT_SYMLINK_FOLLOW   = 0x40\n\tAT_SYMLINK_NOFOLLOW = 0x20\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go",
    "content": "// cgo -godefs types_darwin.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,darwin\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec       int64\n\tUsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Timeval32 struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           int32\n\tMode          uint16\n\tNlink         uint16\n\tIno           uint64\n\tUid           uint32\n\tGid           uint32\n\tRdev          int32\n\tPad_cgo_0     [4]byte\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tQspare        [2]int64\n}\n\ntype Statfs_t struct {\n\tBsize       uint32\n\tIosize      int32\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      uint64\n\tFiles       uint64\n\tFfree       uint64\n\tFsid        Fsid\n\tOwner       uint32\n\tType        uint32\n\tFlags       uint32\n\tFssubtype   uint32\n\tFstypename  [16]int8\n\tMntonname   [1024]int8\n\tMntfromname [1024]int8\n\tReserved    [8]uint32\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Fstore_t struct {\n\tFlags      uint32\n\tPosmode    int32\n\tOffset     int64\n\tLength     int64\n\tBytesalloc int64\n}\n\ntype Radvisory_t struct {\n\tOffset    int64\n\tCount     int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Fbootstraptransfer_t struct {\n\tOffset int64\n\tLength uint64\n\tBuffer *byte\n}\n\ntype Log2phys_t struct {\n\tFlags     uint32\n\tPad_cgo_0 [8]byte\n\tPad_cgo_1 [8]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tSeekoff   uint64\n\tReclen    uint16\n\tNamlen    uint16\n\tType      uint8\n\tName      [1024]int8\n\tPad_cgo_0 [3]byte\n}\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     int32\n\tPad_cgo_1  [4]byte\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  uint32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet4Pktinfo     = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint64\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\nconst (\n\tSizeofIfMsghdr    = 0x70\n\tSizeofIfData      = 0x60\n\tSizeofIfaMsghdr   = 0x14\n\tSizeofIfmaMsghdr  = 0x10\n\tSizeofIfmaMsghdr2 = 0x14\n\tSizeofRtMsghdr    = 0x5c\n\tSizeofRtMetrics   = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tTypelen    uint8\n\tPhysical   uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tRecvquota  uint8\n\tXmitquota  uint8\n\tUnused1    uint8\n\tMtu        uint32\n\tMetric     uint32\n\tBaudrate   uint32\n\tIpackets   uint32\n\tIerrors    uint32\n\tOpackets   uint32\n\tOerrors    uint32\n\tCollisions uint32\n\tIbytes     uint32\n\tObytes     uint32\n\tImcasts    uint32\n\tOmcasts    uint32\n\tIqdrops    uint32\n\tNoproto    uint32\n\tRecvtiming uint32\n\tXmittiming uint32\n\tLastchange Timeval32\n\tUnused2    uint32\n\tHwassist   uint32\n\tReserved1  uint32\n\tReserved2  uint32\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tMetric    int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype IfmaMsghdr2 struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tRefcount  int32\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tUse       int32\n\tInits     uint32\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   int32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n\tFiller   [4]uint32\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x10\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen       uint32\n\tPad_cgo_0 [4]byte\n\tInsns     *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    Timeval32\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype Termios struct {\n\tIflag     uint64\n\tOflag     uint64\n\tCflag     uint64\n\tLflag     uint64\n\tCc        [20]uint8\n\tPad_cgo_0 [4]byte\n\tIspeed    uint64\n\tOspeed    uint64\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x2\n\tAT_REMOVEDIR        = 0x80\n\tAT_SYMLINK_FOLLOW   = 0x40\n\tAT_SYMLINK_NOFOLLOW = 0x20\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go",
    "content": "// NOTE: cgo can't generate struct Stat_t and struct Statfs_t yet\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types_darwin.go\n\n// +build arm,darwin\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Timeval32 [0]byte\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           int32\n\tMode          uint16\n\tNlink         uint16\n\tIno           uint64\n\tUid           uint32\n\tGid           uint32\n\tRdev          int32\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tQspare        [2]int64\n}\n\ntype Statfs_t struct {\n\tBsize       uint32\n\tIosize      int32\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      uint64\n\tFiles       uint64\n\tFfree       uint64\n\tFsid        Fsid\n\tOwner       uint32\n\tType        uint32\n\tFlags       uint32\n\tFssubtype   uint32\n\tFstypename  [16]int8\n\tMntonname   [1024]int8\n\tMntfromname [1024]int8\n\tReserved    [8]uint32\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Fstore_t struct {\n\tFlags      uint32\n\tPosmode    int32\n\tOffset     int64\n\tLength     int64\n\tBytesalloc int64\n}\n\ntype Radvisory_t struct {\n\tOffset int64\n\tCount  int32\n}\n\ntype Fbootstraptransfer_t struct {\n\tOffset int64\n\tLength uint32\n\tBuffer *byte\n}\n\ntype Log2phys_t struct {\n\tFlags       uint32\n\tContigbytes int64\n\tDevoffset   int64\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tSeekoff   uint64\n\tReclen    uint16\n\tNamlen    uint16\n\tType      uint8\n\tName      [1024]int8\n\tPad_cgo_0 [3]byte\n}\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     int32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  uint32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet4Pktinfo     = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int32\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\nconst (\n\tSizeofIfMsghdr    = 0x70\n\tSizeofIfData      = 0x60\n\tSizeofIfaMsghdr   = 0x14\n\tSizeofIfmaMsghdr  = 0x10\n\tSizeofIfmaMsghdr2 = 0x14\n\tSizeofRtMsghdr    = 0x5c\n\tSizeofRtMetrics   = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tTypelen    uint8\n\tPhysical   uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tRecvquota  uint8\n\tXmitquota  uint8\n\tUnused1    uint8\n\tMtu        uint32\n\tMetric     uint32\n\tBaudrate   uint32\n\tIpackets   uint32\n\tIerrors    uint32\n\tOpackets   uint32\n\tOerrors    uint32\n\tCollisions uint32\n\tIbytes     uint32\n\tObytes     uint32\n\tImcasts    uint32\n\tOmcasts    uint32\n\tIqdrops    uint32\n\tNoproto    uint32\n\tRecvtiming uint32\n\tXmittiming uint32\n\tLastchange Timeval\n\tUnused2    uint32\n\tHwassist   uint32\n\tReserved1  uint32\n\tReserved2  uint32\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tMetric    int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype IfmaMsghdr2 struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tRefcount  int32\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tUse       int32\n\tInits     uint32\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   int32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n\tFiller   [4]uint32\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x8\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    Timeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x2\n\tAT_REMOVEDIR        = 0x80\n\tAT_SYMLINK_FOLLOW   = 0x40\n\tAT_SYMLINK_NOFOLLOW = 0x20\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go",
    "content": "// cgo -godefs types_darwin.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm64,darwin\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec       int64\n\tUsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Timeval32 struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           int32\n\tMode          uint16\n\tNlink         uint16\n\tIno           uint64\n\tUid           uint32\n\tGid           uint32\n\tRdev          int32\n\tPad_cgo_0     [4]byte\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tQspare        [2]int64\n}\n\ntype Statfs_t struct {\n\tBsize       uint32\n\tIosize      int32\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      uint64\n\tFiles       uint64\n\tFfree       uint64\n\tFsid        Fsid\n\tOwner       uint32\n\tType        uint32\n\tFlags       uint32\n\tFssubtype   uint32\n\tFstypename  [16]int8\n\tMntonname   [1024]int8\n\tMntfromname [1024]int8\n\tReserved    [8]uint32\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Fstore_t struct {\n\tFlags      uint32\n\tPosmode    int32\n\tOffset     int64\n\tLength     int64\n\tBytesalloc int64\n}\n\ntype Radvisory_t struct {\n\tOffset    int64\n\tCount     int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Fbootstraptransfer_t struct {\n\tOffset int64\n\tLength uint64\n\tBuffer *byte\n}\n\ntype Log2phys_t struct {\n\tFlags     uint32\n\tPad_cgo_0 [8]byte\n\tPad_cgo_1 [8]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tSeekoff   uint64\n\tReclen    uint16\n\tNamlen    uint16\n\tType      uint8\n\tName      [1024]int8\n\tPad_cgo_0 [3]byte\n}\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     int32\n\tPad_cgo_1  [4]byte\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  uint32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet4Pktinfo     = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint64\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\nconst (\n\tSizeofIfMsghdr    = 0x70\n\tSizeofIfData      = 0x60\n\tSizeofIfaMsghdr   = 0x14\n\tSizeofIfmaMsghdr  = 0x10\n\tSizeofIfmaMsghdr2 = 0x14\n\tSizeofRtMsghdr    = 0x5c\n\tSizeofRtMetrics   = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tTypelen    uint8\n\tPhysical   uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tRecvquota  uint8\n\tXmitquota  uint8\n\tUnused1    uint8\n\tMtu        uint32\n\tMetric     uint32\n\tBaudrate   uint32\n\tIpackets   uint32\n\tIerrors    uint32\n\tOpackets   uint32\n\tOerrors    uint32\n\tCollisions uint32\n\tIbytes     uint32\n\tObytes     uint32\n\tImcasts    uint32\n\tOmcasts    uint32\n\tIqdrops    uint32\n\tNoproto    uint32\n\tRecvtiming uint32\n\tXmittiming uint32\n\tLastchange Timeval32\n\tUnused2    uint32\n\tHwassist   uint32\n\tReserved1  uint32\n\tReserved2  uint32\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tMetric    int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype IfmaMsghdr2 struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tRefcount  int32\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tUse       int32\n\tInits     uint32\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   int32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n\tFiller   [4]uint32\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x10\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen       uint32\n\tPad_cgo_0 [4]byte\n\tInsns     *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    Timeval32\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype Termios struct {\n\tIflag     uint64\n\tOflag     uint64\n\tCflag     uint64\n\tLflag     uint64\n\tCc        [20]uint8\n\tPad_cgo_0 [4]byte\n\tIspeed    uint64\n\tOspeed    uint64\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x2\n\tAT_REMOVEDIR        = 0x80\n\tAT_SYMLINK_FOLLOW   = 0x40\n\tAT_SYMLINK_NOFOLLOW = 0x20\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go",
    "content": "// cgo -godefs types_dragonfly.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,dragonfly\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur int64\n\tMax int64\n}\n\ntype _Gid_t uint32\n\nconst (\n\tS_IFMT   = 0xf000\n\tS_IFIFO  = 0x1000\n\tS_IFCHR  = 0x2000\n\tS_IFDIR  = 0x4000\n\tS_IFBLK  = 0x6000\n\tS_IFREG  = 0x8000\n\tS_IFLNK  = 0xa000\n\tS_IFSOCK = 0xc000\n\tS_ISUID  = 0x800\n\tS_ISGID  = 0x400\n\tS_ISVTX  = 0x200\n\tS_IRUSR  = 0x100\n\tS_IWUSR  = 0x80\n\tS_IXUSR  = 0x40\n)\n\ntype Stat_t struct {\n\tIno      uint64\n\tNlink    uint32\n\tDev      uint32\n\tMode     uint16\n\tPadding1 uint16\n\tUid      uint32\n\tGid      uint32\n\tRdev     uint32\n\tAtim     Timespec\n\tMtim     Timespec\n\tCtim     Timespec\n\tSize     int64\n\tBlocks   int64\n\tBlksize  uint32\n\tFlags    uint32\n\tGen      uint32\n\tLspare   int32\n\tQspare1  int64\n\tQspare2  int64\n}\n\ntype Statfs_t struct {\n\tSpare2      int64\n\tBsize       int64\n\tIosize      int64\n\tBlocks      int64\n\tBfree       int64\n\tBavail      int64\n\tFiles       int64\n\tFfree       int64\n\tFsid        Fsid\n\tOwner       uint32\n\tType        int32\n\tFlags       int32\n\tPad_cgo_0   [4]byte\n\tSyncwrites  int64\n\tAsyncwrites int64\n\tFstypename  [16]int8\n\tMntonname   [80]int8\n\tSyncreads   int64\n\tAsyncreads  int64\n\tSpares1     int16\n\tMntfromname [80]int8\n\tSpares2     int16\n\tPad_cgo_1   [4]byte\n\tSpare       [2]int64\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno  uint64\n\tNamlen  uint16\n\tType    uint8\n\tUnused1 uint8\n\tUnused2 uint32\n\tName    [256]int8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n\tRcf    uint16\n\tRoute  [16]uint16\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     int32\n\tPad_cgo_1  [4]byte\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x36\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint64\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [16]uint64\n}\n\nconst (\n\tSizeofIfMsghdr         = 0xb0\n\tSizeofIfData           = 0xa0\n\tSizeofIfaMsghdr        = 0x14\n\tSizeofIfmaMsghdr       = 0x10\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x98\n\tSizeofRtMetrics        = 0x70\n)\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tPhysical   uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tRecvquota  uint8\n\tXmitquota  uint8\n\tPad_cgo_0  [2]byte\n\tMtu        uint64\n\tMetric     uint64\n\tLink_state uint64\n\tBaudrate   uint64\n\tIpackets   uint64\n\tIerrors    uint64\n\tOpackets   uint64\n\tOerrors    uint64\n\tCollisions uint64\n\tIbytes     uint64\n\tObytes     uint64\n\tImcasts    uint64\n\tOmcasts    uint64\n\tIqdrops    uint64\n\tNoproto    uint64\n\tHwassist   uint64\n\tOqdrops    uint64\n\tLastchange Timeval\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tMetric    int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tUse       int32\n\tInits     uint64\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks     uint64\n\tMtu       uint64\n\tPksent    uint64\n\tExpire    uint64\n\tSendpipe  uint64\n\tSsthresh  uint64\n\tRtt       uint64\n\tRttvar    uint64\n\tRecvpipe  uint64\n\tHopcount  uint64\n\tMssopt    uint16\n\tPad       uint16\n\tPad_cgo_0 [4]byte\n\tMsl       uint64\n\tIwmaxsegs uint64\n\tIwcapsegs uint64\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x10\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x20\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen       uint32\n\tPad_cgo_0 [4]byte\n\tInsns     *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    Timeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = 0xfffafdcd\n\tAT_SYMLINK_NOFOLLOW = 0x1\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [32]byte\n\tNodename [32]byte\n\tRelease  [32]byte\n\tVersion  [32]byte\n\tMachine  [32]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go",
    "content": "// cgo -godefs types_freebsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,freebsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur int64\n\tMax int64\n}\n\ntype _Gid_t uint32\n\nconst (\n\tS_IFMT   = 0xf000\n\tS_IFIFO  = 0x1000\n\tS_IFCHR  = 0x2000\n\tS_IFDIR  = 0x4000\n\tS_IFBLK  = 0x6000\n\tS_IFREG  = 0x8000\n\tS_IFLNK  = 0xa000\n\tS_IFSOCK = 0xc000\n\tS_ISUID  = 0x800\n\tS_ISGID  = 0x400\n\tS_ISVTX  = 0x200\n\tS_IRUSR  = 0x100\n\tS_IWUSR  = 0x80\n\tS_IXUSR  = 0x40\n)\n\ntype Stat_t struct {\n\tDev           uint32\n\tIno           uint32\n\tMode          uint16\n\tNlink         uint16\n\tUid           uint32\n\tGid           uint32\n\tRdev          uint32\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tBirthtimespec Timespec\n\tPad_cgo_0     [8]byte\n}\n\ntype Statfs_t struct {\n\tVersion     uint32\n\tType        uint32\n\tFlags       uint64\n\tBsize       uint64\n\tIosize      uint64\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      int64\n\tFiles       uint64\n\tFfree       int64\n\tSyncwrites  uint64\n\tAsyncwrites uint64\n\tSyncreads   uint64\n\tAsyncreads  uint64\n\tSpare       [10]uint64\n\tNamemax     uint32\n\tOwner       uint32\n\tFsid        Fsid\n\tCharspare   [80]int8\n\tFstypename  [16]int8\n\tMntfromname [88]int8\n\tMntonname   [88]int8\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n\tSysid  int32\n}\n\ntype Dirent struct {\n\tFileno uint32\n\tReclen uint16\n\tType   uint8\n\tNamlen uint8\n\tName   [256]int8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [46]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     int32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x36\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPMreqn          = 0xc\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int32\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tX__fds_bits [32]uint32\n}\n\nconst (\n\tsizeofIfMsghdr         = 0xa8\n\tSizeofIfMsghdr         = 0x60\n\tsizeofIfData           = 0x98\n\tSizeofIfData           = 0x50\n\tSizeofIfaMsghdr        = 0x14\n\tSizeofIfmaMsghdr       = 0x10\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x5c\n\tSizeofRtMetrics        = 0x38\n)\n\ntype ifMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      ifData\n}\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype ifData struct {\n\tType              uint8\n\tPhysical          uint8\n\tAddrlen           uint8\n\tHdrlen            uint8\n\tLink_state        uint8\n\tVhid              uint8\n\tDatalen           uint16\n\tMtu               uint32\n\tMetric            uint32\n\tBaudrate          uint64\n\tIpackets          uint64\n\tIerrors           uint64\n\tOpackets          uint64\n\tOerrors           uint64\n\tCollisions        uint64\n\tIbytes            uint64\n\tObytes            uint64\n\tImcasts           uint64\n\tOmcasts           uint64\n\tIqdrops           uint64\n\tOqdrops           uint64\n\tNoproto           uint64\n\tHwassist          uint64\n\tX__ifi_epoch      [8]byte\n\tX__ifi_lastchange [16]byte\n}\n\ntype IfData struct {\n\tType        uint8\n\tPhysical    uint8\n\tAddrlen     uint8\n\tHdrlen      uint8\n\tLink_state  uint8\n\tSpare_char1 uint8\n\tSpare_char2 uint8\n\tDatalen     uint8\n\tMtu         uint32\n\tMetric      uint32\n\tBaudrate    uint32\n\tIpackets    uint32\n\tIerrors     uint32\n\tOpackets    uint32\n\tOerrors     uint32\n\tCollisions  uint32\n\tIbytes      uint32\n\tObytes      uint32\n\tImcasts     uint32\n\tOmcasts     uint32\n\tIqdrops     uint32\n\tNoproto     uint32\n\tHwassist    uint32\n\tEpoch       int32\n\tLastchange  Timeval\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tMetric    int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tFmask     int32\n\tInits     uint32\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   uint32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n\tWeight   uint32\n\tFiller   [3]uint32\n}\n\nconst (\n\tSizeofBpfVersion    = 0x4\n\tSizeofBpfStat       = 0x8\n\tSizeofBpfZbuf       = 0xc\n\tSizeofBpfProgram    = 0x8\n\tSizeofBpfInsn       = 0x8\n\tSizeofBpfHdr        = 0x14\n\tSizeofBpfZbufHeader = 0x20\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfZbuf struct {\n\tBufa   *byte\n\tBufb   *byte\n\tBuflen uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    Timeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype BpfZbufHeader struct {\n\tKernel_gen uint32\n\tKernel_len uint32\n\tUser_gen   uint32\n\tX_bzh_pad  [5]uint32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_REMOVEDIR        = 0x800\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR      = 0x8\n\tPOLLHUP      = 0x10\n\tPOLLIN       = 0x1\n\tPOLLINIGNEOF = 0x2000\n\tPOLLNVAL     = 0x20\n\tPOLLOUT      = 0x4\n\tPOLLPRI      = 0x2\n\tPOLLRDBAND   = 0x80\n\tPOLLRDNORM   = 0x40\n\tPOLLWRBAND   = 0x100\n\tPOLLWRNORM   = 0x4\n)\n\ntype CapRights struct {\n\tRights [2]uint64\n}\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go",
    "content": "// cgo -godefs types_freebsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,freebsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur int64\n\tMax int64\n}\n\ntype _Gid_t uint32\n\nconst (\n\tS_IFMT   = 0xf000\n\tS_IFIFO  = 0x1000\n\tS_IFCHR  = 0x2000\n\tS_IFDIR  = 0x4000\n\tS_IFBLK  = 0x6000\n\tS_IFREG  = 0x8000\n\tS_IFLNK  = 0xa000\n\tS_IFSOCK = 0xc000\n\tS_ISUID  = 0x800\n\tS_ISGID  = 0x400\n\tS_ISVTX  = 0x200\n\tS_IRUSR  = 0x100\n\tS_IWUSR  = 0x80\n\tS_IXUSR  = 0x40\n)\n\ntype Stat_t struct {\n\tDev           uint32\n\tIno           uint32\n\tMode          uint16\n\tNlink         uint16\n\tUid           uint32\n\tGid           uint32\n\tRdev          uint32\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tBirthtimespec Timespec\n}\n\ntype Statfs_t struct {\n\tVersion     uint32\n\tType        uint32\n\tFlags       uint64\n\tBsize       uint64\n\tIosize      uint64\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      int64\n\tFiles       uint64\n\tFfree       int64\n\tSyncwrites  uint64\n\tAsyncwrites uint64\n\tSyncreads   uint64\n\tAsyncreads  uint64\n\tSpare       [10]uint64\n\tNamemax     uint32\n\tOwner       uint32\n\tFsid        Fsid\n\tCharspare   [80]int8\n\tFstypename  [16]int8\n\tMntfromname [88]int8\n\tMntonname   [88]int8\n}\n\ntype Flock_t struct {\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tType      int16\n\tWhence    int16\n\tSysid     int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Dirent struct {\n\tFileno uint32\n\tReclen uint16\n\tType   uint8\n\tNamlen uint8\n\tName   [256]int8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [46]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     int32\n\tPad_cgo_1  [4]byte\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x36\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPMreqn          = 0xc\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint64\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tX__fds_bits [16]uint64\n}\n\nconst (\n\tsizeofIfMsghdr         = 0xa8\n\tSizeofIfMsghdr         = 0xa8\n\tsizeofIfData           = 0x98\n\tSizeofIfData           = 0x98\n\tSizeofIfaMsghdr        = 0x14\n\tSizeofIfmaMsghdr       = 0x10\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x98\n\tSizeofRtMetrics        = 0x70\n)\n\ntype ifMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      ifData\n}\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype ifData struct {\n\tType              uint8\n\tPhysical          uint8\n\tAddrlen           uint8\n\tHdrlen            uint8\n\tLink_state        uint8\n\tVhid              uint8\n\tDatalen           uint16\n\tMtu               uint32\n\tMetric            uint32\n\tBaudrate          uint64\n\tIpackets          uint64\n\tIerrors           uint64\n\tOpackets          uint64\n\tOerrors           uint64\n\tCollisions        uint64\n\tIbytes            uint64\n\tObytes            uint64\n\tImcasts           uint64\n\tOmcasts           uint64\n\tIqdrops           uint64\n\tOqdrops           uint64\n\tNoproto           uint64\n\tHwassist          uint64\n\tX__ifi_epoch      [8]byte\n\tX__ifi_lastchange [16]byte\n}\n\ntype IfData struct {\n\tType        uint8\n\tPhysical    uint8\n\tAddrlen     uint8\n\tHdrlen      uint8\n\tLink_state  uint8\n\tSpare_char1 uint8\n\tSpare_char2 uint8\n\tDatalen     uint8\n\tMtu         uint64\n\tMetric      uint64\n\tBaudrate    uint64\n\tIpackets    uint64\n\tIerrors     uint64\n\tOpackets    uint64\n\tOerrors     uint64\n\tCollisions  uint64\n\tIbytes      uint64\n\tObytes      uint64\n\tImcasts     uint64\n\tOmcasts     uint64\n\tIqdrops     uint64\n\tNoproto     uint64\n\tHwassist    uint64\n\tEpoch       int64\n\tLastchange  Timeval\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tMetric    int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tFmask     int32\n\tInits     uint64\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint64\n\tMtu      uint64\n\tHopcount uint64\n\tExpire   uint64\n\tRecvpipe uint64\n\tSendpipe uint64\n\tSsthresh uint64\n\tRtt      uint64\n\tRttvar   uint64\n\tPksent   uint64\n\tWeight   uint64\n\tFiller   [3]uint64\n}\n\nconst (\n\tSizeofBpfVersion    = 0x4\n\tSizeofBpfStat       = 0x8\n\tSizeofBpfZbuf       = 0x18\n\tSizeofBpfProgram    = 0x10\n\tSizeofBpfInsn       = 0x8\n\tSizeofBpfHdr        = 0x20\n\tSizeofBpfZbufHeader = 0x20\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfZbuf struct {\n\tBufa   *byte\n\tBufb   *byte\n\tBuflen uint64\n}\n\ntype BpfProgram struct {\n\tLen       uint32\n\tPad_cgo_0 [4]byte\n\tInsns     *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    Timeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype BpfZbufHeader struct {\n\tKernel_gen uint32\n\tKernel_len uint32\n\tUser_gen   uint32\n\tX_bzh_pad  [5]uint32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_REMOVEDIR        = 0x800\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR      = 0x8\n\tPOLLHUP      = 0x10\n\tPOLLIN       = 0x1\n\tPOLLINIGNEOF = 0x2000\n\tPOLLNVAL     = 0x20\n\tPOLLOUT      = 0x4\n\tPOLLPRI      = 0x2\n\tPOLLRDBAND   = 0x80\n\tPOLLRDNORM   = 0x40\n\tPOLLWRBAND   = 0x100\n\tPOLLWRNORM   = 0x4\n)\n\ntype CapRights struct {\n\tRights [2]uint64\n}\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go",
    "content": "// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,freebsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec       int64\n\tNsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Timeval struct {\n\tSec       int64\n\tUsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur int64\n\tMax int64\n}\n\ntype _Gid_t uint32\n\nconst (\n\tS_IFMT   = 0xf000\n\tS_IFIFO  = 0x1000\n\tS_IFCHR  = 0x2000\n\tS_IFDIR  = 0x4000\n\tS_IFBLK  = 0x6000\n\tS_IFREG  = 0x8000\n\tS_IFLNK  = 0xa000\n\tS_IFSOCK = 0xc000\n\tS_ISUID  = 0x800\n\tS_ISGID  = 0x400\n\tS_ISVTX  = 0x200\n\tS_IRUSR  = 0x100\n\tS_IWUSR  = 0x80\n\tS_IXUSR  = 0x40\n)\n\ntype Stat_t struct {\n\tDev           uint32\n\tIno           uint32\n\tMode          uint16\n\tNlink         uint16\n\tUid           uint32\n\tGid           uint32\n\tRdev          uint32\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tBirthtimespec Timespec\n}\n\ntype Statfs_t struct {\n\tVersion     uint32\n\tType        uint32\n\tFlags       uint64\n\tBsize       uint64\n\tIosize      uint64\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      int64\n\tFiles       uint64\n\tFfree       int64\n\tSyncwrites  uint64\n\tAsyncwrites uint64\n\tSyncreads   uint64\n\tAsyncreads  uint64\n\tSpare       [10]uint64\n\tNamemax     uint32\n\tOwner       uint32\n\tFsid        Fsid\n\tCharspare   [80]int8\n\tFstypename  [16]int8\n\tMntfromname [88]int8\n\tMntonname   [88]int8\n}\n\ntype Flock_t struct {\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tType      int16\n\tWhence    int16\n\tSysid     int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Dirent struct {\n\tFileno uint32\n\tReclen uint16\n\tType   uint8\n\tNamlen uint8\n\tName   [256]int8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [46]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     int32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x36\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPMreqn          = 0xc\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int32\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tX__fds_bits [32]uint32\n}\n\nconst (\n\tsizeofIfMsghdr         = 0xa8\n\tSizeofIfMsghdr         = 0x70\n\tsizeofIfData           = 0x98\n\tSizeofIfData           = 0x60\n\tSizeofIfaMsghdr        = 0x14\n\tSizeofIfmaMsghdr       = 0x10\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x5c\n\tSizeofRtMetrics        = 0x38\n)\n\ntype ifMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      ifData\n}\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype ifData struct {\n\tType              uint8\n\tPhysical          uint8\n\tAddrlen           uint8\n\tHdrlen            uint8\n\tLink_state        uint8\n\tVhid              uint8\n\tDatalen           uint16\n\tMtu               uint32\n\tMetric            uint32\n\tBaudrate          uint64\n\tIpackets          uint64\n\tIerrors           uint64\n\tOpackets          uint64\n\tOerrors           uint64\n\tCollisions        uint64\n\tIbytes            uint64\n\tObytes            uint64\n\tImcasts           uint64\n\tOmcasts           uint64\n\tIqdrops           uint64\n\tOqdrops           uint64\n\tNoproto           uint64\n\tHwassist          uint64\n\tX__ifi_epoch      [8]byte\n\tX__ifi_lastchange [16]byte\n}\n\ntype IfData struct {\n\tType        uint8\n\tPhysical    uint8\n\tAddrlen     uint8\n\tHdrlen      uint8\n\tLink_state  uint8\n\tSpare_char1 uint8\n\tSpare_char2 uint8\n\tDatalen     uint8\n\tMtu         uint32\n\tMetric      uint32\n\tBaudrate    uint32\n\tIpackets    uint32\n\tIerrors     uint32\n\tOpackets    uint32\n\tOerrors     uint32\n\tCollisions  uint32\n\tIbytes      uint32\n\tObytes      uint32\n\tImcasts     uint32\n\tOmcasts     uint32\n\tIqdrops     uint32\n\tNoproto     uint32\n\tHwassist    uint32\n\tPad_cgo_0   [4]byte\n\tEpoch       int64\n\tLastchange  Timeval\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tMetric    int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tFmask     int32\n\tInits     uint32\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   uint32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n\tWeight   uint32\n\tFiller   [3]uint32\n}\n\nconst (\n\tSizeofBpfVersion    = 0x4\n\tSizeofBpfStat       = 0x8\n\tSizeofBpfZbuf       = 0xc\n\tSizeofBpfProgram    = 0x8\n\tSizeofBpfInsn       = 0x8\n\tSizeofBpfHdr        = 0x20\n\tSizeofBpfZbufHeader = 0x20\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfZbuf struct {\n\tBufa   *byte\n\tBufb   *byte\n\tBuflen uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    Timeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype BpfZbufHeader struct {\n\tKernel_gen uint32\n\tKernel_len uint32\n\tUser_gen   uint32\n\tX_bzh_pad  [5]uint32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_REMOVEDIR        = 0x800\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR      = 0x8\n\tPOLLHUP      = 0x10\n\tPOLLIN       = 0x1\n\tPOLLINIGNEOF = 0x2000\n\tPOLLNVAL     = 0x20\n\tPOLLOUT      = 0x4\n\tPOLLPRI      = 0x2\n\tPOLLRDBAND   = 0x80\n\tPOLLRDNORM   = 0x40\n\tPOLLWRBAND   = 0x100\n\tPOLLWRNORM   = 0x4\n)\n\ntype CapRights struct {\n\tRights [2]uint64\n}\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_386.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Timex struct {\n\tModes     uint32\n\tOffset    int32\n\tFreq      int32\n\tMaxerror  int32\n\tEsterror  int32\n\tStatus    int32\n\tConstant  int32\n\tPrecision int32\n\tTolerance int32\n\tTime      Timeval\n\tTick      int32\n\tPpsfreq   int32\n\tJitter    int32\n\tShift     int32\n\tStabil    int32\n\tJitcnt    int32\n\tCalcnt    int32\n\tErrcnt    int32\n\tStbcnt    int32\n\tTai       int32\n\tPad_cgo_0 [44]byte\n}\n\ntype Time_t int32\n\ntype Tms struct {\n\tUtime  int32\n\tStime  int32\n\tCutime int32\n\tCstime int32\n}\n\ntype Utimbuf struct {\n\tActime  int32\n\tModtime int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev       uint64\n\tX__pad1   uint16\n\tPad_cgo_0 [2]byte\n\tX__st_ino uint32\n\tMode      uint32\n\tNlink     uint32\n\tUid       uint32\n\tGid       uint32\n\tRdev      uint64\n\tX__pad2   uint16\n\tPad_cgo_1 [2]byte\n\tSize      int64\n\tBlksize   int32\n\tBlocks    int64\n\tAtim      Timespec\n\tMtim      Timespec\n\tCtim      Timespec\n\tIno       uint64\n}\n\ntype Statfs_t struct {\n\tType    int32\n\tBsize   int32\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int32\n\tFrsize  int32\n\tFlags   int32\n\tSpare   [4]int32\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tType      uint8\n\tName      [256]int8\n\tPad_cgo_0 [1]byte\n}\n\ntype Fsid struct {\n\tX__val [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\tStart  int64\n\tLen    int64\n\tPid    int32\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily    uint16\n\tPad_cgo_0 [2]byte\n\tIfindex   int32\n\tAddr      [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     uint32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\tPad_cgo_0      [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x8\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x1c\n\tSizeofCmsghdr           = 0xc\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC          = 0x0\n\tIFA_ADDRESS         = 0x1\n\tIFA_LOCAL           = 0x2\n\tIFA_LABEL           = 0x3\n\tIFA_BROADCAST       = 0x4\n\tIFA_ANYCAST         = 0x5\n\tIFA_CACHEINFO       = 0x6\n\tIFA_MULTICAST       = 0x7\n\tIFLA_UNSPEC         = 0x0\n\tIFLA_ADDRESS        = 0x1\n\tIFLA_BROADCAST      = 0x2\n\tIFLA_IFNAME         = 0x3\n\tIFLA_MTU            = 0x4\n\tIFLA_LINK           = 0x5\n\tIFLA_QDISC          = 0x6\n\tIFLA_STATS          = 0x7\n\tIFLA_COST           = 0x8\n\tIFLA_PRIORITY       = 0x9\n\tIFLA_MASTER         = 0xa\n\tIFLA_WIRELESS       = 0xb\n\tIFLA_PROTINFO       = 0xc\n\tIFLA_TXQLEN         = 0xd\n\tIFLA_MAP            = 0xe\n\tIFLA_WEIGHT         = 0xf\n\tIFLA_OPERSTATE      = 0x10\n\tIFLA_LINKMODE       = 0x11\n\tIFLA_LINKINFO       = 0x12\n\tIFLA_NET_NS_PID     = 0x13\n\tIFLA_IFALIAS        = 0x14\n\tIFLA_MAX            = 0x2c\n\tRT_SCOPE_UNIVERSE   = 0x0\n\tRT_SCOPE_SITE       = 0xc8\n\tRT_SCOPE_LINK       = 0xfd\n\tRT_SCOPE_HOST       = 0xfe\n\tRT_SCOPE_NOWHERE    = 0xff\n\tRT_TABLE_UNSPEC     = 0x0\n\tRT_TABLE_COMPAT     = 0xfc\n\tRT_TABLE_DEFAULT    = 0xfd\n\tRT_TABLE_MAIN       = 0xfe\n\tRT_TABLE_LOCAL      = 0xff\n\tRT_TABLE_MAX        = 0xffffffff\n\tRTA_UNSPEC          = 0x0\n\tRTA_DST             = 0x1\n\tRTA_SRC             = 0x2\n\tRTA_IIF             = 0x3\n\tRTA_OIF             = 0x4\n\tRTA_GATEWAY         = 0x5\n\tRTA_PRIORITY        = 0x6\n\tRTA_PREFSRC         = 0x7\n\tRTA_METRICS         = 0x8\n\tRTA_MULTIPATH       = 0x9\n\tRTA_FLOW            = 0xb\n\tRTA_CACHEINFO       = 0xc\n\tRTA_TABLE           = 0xf\n\tRTN_UNSPEC          = 0x0\n\tRTN_UNICAST         = 0x1\n\tRTN_LOCAL           = 0x2\n\tRTN_BROADCAST       = 0x3\n\tRTN_ANYCAST         = 0x4\n\tRTN_MULTICAST       = 0x5\n\tRTN_BLACKHOLE       = 0x6\n\tRTN_UNREACHABLE     = 0x7\n\tRTN_PROHIBIT        = 0x8\n\tRTN_THROW           = 0x9\n\tRTN_NAT             = 0xa\n\tRTN_XRESOLVE        = 0xb\n\tRTNLGRP_NONE        = 0x0\n\tRTNLGRP_LINK        = 0x1\n\tRTNLGRP_NOTIFY      = 0x2\n\tRTNLGRP_NEIGH       = 0x3\n\tRTNLGRP_TC          = 0x4\n\tRTNLGRP_IPV4_IFADDR = 0x5\n\tRTNLGRP_IPV4_MROUTE = 0x6\n\tRTNLGRP_IPV4_ROUTE  = 0x7\n\tRTNLGRP_IPV4_RULE   = 0x8\n\tRTNLGRP_IPV6_IFADDR = 0x9\n\tRTNLGRP_IPV6_MROUTE = 0xa\n\tRTNLGRP_IPV6_ROUTE  = 0xb\n\tRTNLGRP_IPV6_IFINFO = 0xc\n\tRTNLGRP_IPV6_PREFIX = 0x12\n\tRTNLGRP_IPV6_RULE   = 0x13\n\tRTNLGRP_ND_USEROPT  = 0x14\n\tSizeofNlMsghdr      = 0x10\n\tSizeofNlMsgerr      = 0x14\n\tSizeofRtGenmsg      = 0x1\n\tSizeofNlAttr        = 0x4\n\tSizeofRtAttr        = 0x4\n\tSizeofIfInfomsg     = 0x10\n\tSizeofIfAddrmsg     = 0x8\n\tSizeofRtMsg         = 0xc\n\tSizeofRtNexthop     = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily     uint8\n\tX__ifi_pad uint8\n\tType       uint16\n\tIndex      int32\n\tFlags      uint32\n\tChange     uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x8\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen       uint16\n\tPad_cgo_0 [2]byte\n\tFilter    *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tEbx      int32\n\tEcx      int32\n\tEdx      int32\n\tEsi      int32\n\tEdi      int32\n\tEbp      int32\n\tEax      int32\n\tXds      int32\n\tXes      int32\n\tXfs      int32\n\tXgs      int32\n\tOrig_eax int32\n\tEip      int32\n\tXcs      int32\n\tEflags   int32\n\tEsp      int32\n\tXss      int32\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\ntype Sysinfo_t struct {\n\tUptime    int32\n\tLoads     [3]uint32\n\tTotalram  uint32\n\tFreeram   uint32\n\tSharedram uint32\n\tBufferram uint32\n\tTotalswap uint32\n\tFreeswap  uint32\n\tProcs     uint16\n\tPad       uint16\n\tTotalhigh uint32\n\tFreehigh  uint32\n\tUnit      uint32\n\tX_f       [8]int8\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\tTinode uint32\n\tFname  [6]int8\n\tFpack  [6]int8\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_NO_AUTOMOUNT     = 0x800\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tX__val [32]uint32\n}\n\nconst RNDGETENTCNT = 0x80045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [19]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\tPad_cgo_0                 [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\tPad_cgo_1                 [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\tPad_cgo_2                 [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\tPad_cgo_3                 [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint32\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x20\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\tPad_cgo_0 [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\tPad_cgo_1 [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\tPad_cgo_2 [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\tPad_cgo_3 [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint64\n\tIno     uint64\n\tNlink   uint64\n\tMode    uint32\n\tUid     uint32\n\tGid     uint32\n\tX__pad0 int32\n\tRdev    uint64\n\tSize    int64\n\tBlksize int64\n\tBlocks  int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\t_       [3]int64\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFrsize  int64\n\tFlags   int64\n\tSpare   [4]int64\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tType      uint8\n\tName      [256]int8\n\tPad_cgo_0 [5]byte\n}\n\ntype Fsid struct {\n\tX__val [2]int32\n}\n\ntype Flock_t struct {\n\tType      int16\n\tWhence    int16\n\tPad_cgo_0 [4]byte\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tPad_cgo_1 [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily    uint16\n\tPad_cgo_0 [2]byte\n\tIfindex   int32\n\tAddr      [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\tPad_cgo_1  [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\tPad_cgo_0      [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC          = 0x0\n\tIFA_ADDRESS         = 0x1\n\tIFA_LOCAL           = 0x2\n\tIFA_LABEL           = 0x3\n\tIFA_BROADCAST       = 0x4\n\tIFA_ANYCAST         = 0x5\n\tIFA_CACHEINFO       = 0x6\n\tIFA_MULTICAST       = 0x7\n\tIFLA_UNSPEC         = 0x0\n\tIFLA_ADDRESS        = 0x1\n\tIFLA_BROADCAST      = 0x2\n\tIFLA_IFNAME         = 0x3\n\tIFLA_MTU            = 0x4\n\tIFLA_LINK           = 0x5\n\tIFLA_QDISC          = 0x6\n\tIFLA_STATS          = 0x7\n\tIFLA_COST           = 0x8\n\tIFLA_PRIORITY       = 0x9\n\tIFLA_MASTER         = 0xa\n\tIFLA_WIRELESS       = 0xb\n\tIFLA_PROTINFO       = 0xc\n\tIFLA_TXQLEN         = 0xd\n\tIFLA_MAP            = 0xe\n\tIFLA_WEIGHT         = 0xf\n\tIFLA_OPERSTATE      = 0x10\n\tIFLA_LINKMODE       = 0x11\n\tIFLA_LINKINFO       = 0x12\n\tIFLA_NET_NS_PID     = 0x13\n\tIFLA_IFALIAS        = 0x14\n\tIFLA_MAX            = 0x2c\n\tRT_SCOPE_UNIVERSE   = 0x0\n\tRT_SCOPE_SITE       = 0xc8\n\tRT_SCOPE_LINK       = 0xfd\n\tRT_SCOPE_HOST       = 0xfe\n\tRT_SCOPE_NOWHERE    = 0xff\n\tRT_TABLE_UNSPEC     = 0x0\n\tRT_TABLE_COMPAT     = 0xfc\n\tRT_TABLE_DEFAULT    = 0xfd\n\tRT_TABLE_MAIN       = 0xfe\n\tRT_TABLE_LOCAL      = 0xff\n\tRT_TABLE_MAX        = 0xffffffff\n\tRTA_UNSPEC          = 0x0\n\tRTA_DST             = 0x1\n\tRTA_SRC             = 0x2\n\tRTA_IIF             = 0x3\n\tRTA_OIF             = 0x4\n\tRTA_GATEWAY         = 0x5\n\tRTA_PRIORITY        = 0x6\n\tRTA_PREFSRC         = 0x7\n\tRTA_METRICS         = 0x8\n\tRTA_MULTIPATH       = 0x9\n\tRTA_FLOW            = 0xb\n\tRTA_CACHEINFO       = 0xc\n\tRTA_TABLE           = 0xf\n\tRTN_UNSPEC          = 0x0\n\tRTN_UNICAST         = 0x1\n\tRTN_LOCAL           = 0x2\n\tRTN_BROADCAST       = 0x3\n\tRTN_ANYCAST         = 0x4\n\tRTN_MULTICAST       = 0x5\n\tRTN_BLACKHOLE       = 0x6\n\tRTN_UNREACHABLE     = 0x7\n\tRTN_PROHIBIT        = 0x8\n\tRTN_THROW           = 0x9\n\tRTN_NAT             = 0xa\n\tRTN_XRESOLVE        = 0xb\n\tRTNLGRP_NONE        = 0x0\n\tRTNLGRP_LINK        = 0x1\n\tRTNLGRP_NOTIFY      = 0x2\n\tRTNLGRP_NEIGH       = 0x3\n\tRTNLGRP_TC          = 0x4\n\tRTNLGRP_IPV4_IFADDR = 0x5\n\tRTNLGRP_IPV4_MROUTE = 0x6\n\tRTNLGRP_IPV4_ROUTE  = 0x7\n\tRTNLGRP_IPV4_RULE   = 0x8\n\tRTNLGRP_IPV6_IFADDR = 0x9\n\tRTNLGRP_IPV6_MROUTE = 0xa\n\tRTNLGRP_IPV6_ROUTE  = 0xb\n\tRTNLGRP_IPV6_IFINFO = 0xc\n\tRTNLGRP_IPV6_PREFIX = 0x12\n\tRTNLGRP_IPV6_RULE   = 0x13\n\tRTNLGRP_ND_USEROPT  = 0x14\n\tSizeofNlMsghdr      = 0x10\n\tSizeofNlMsgerr      = 0x14\n\tSizeofRtGenmsg      = 0x1\n\tSizeofNlAttr        = 0x4\n\tSizeofRtAttr        = 0x4\n\tSizeofIfInfomsg     = 0x10\n\tSizeofIfAddrmsg     = 0x8\n\tSizeofRtMsg         = 0xc\n\tSizeofRtNexthop     = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily     uint8\n\tX__ifi_pad uint8\n\tType       uint16\n\tIndex      int32\n\tFlags      uint32\n\tChange     uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen       uint16\n\tPad_cgo_0 [6]byte\n\tFilter    *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tR15      uint64\n\tR14      uint64\n\tR13      uint64\n\tR12      uint64\n\tRbp      uint64\n\tRbx      uint64\n\tR11      uint64\n\tR10      uint64\n\tR9       uint64\n\tR8       uint64\n\tRax      uint64\n\tRcx      uint64\n\tRdx      uint64\n\tRsi      uint64\n\tRdi      uint64\n\tOrig_rax uint64\n\tRip      uint64\n\tCs       uint64\n\tEflags   uint64\n\tRsp      uint64\n\tSs       uint64\n\tFs_base  uint64\n\tGs_base  uint64\n\tDs       uint64\n\tEs       uint64\n\tFs       uint64\n\tGs       uint64\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\tPad_cgo_0 [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\tX_f       [0]int8\n\tPad_cgo_1 [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree     int32\n\tPad_cgo_0 [4]byte\n\tTinode    uint64\n\tFname     [6]int8\n\tFpack     [6]int8\n\tPad_cgo_1 [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_NO_AUTOMOUNT     = 0x800\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tX__val [16]uint64\n}\n\nconst RNDGETENTCNT = 0x80045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [19]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\tPad_cgo_0                 [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\tPad_cgo_1                 [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\tPad_cgo_2                 [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\tPad_cgo_3                 [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_arm.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Timex struct {\n\tModes     uint32\n\tOffset    int32\n\tFreq      int32\n\tMaxerror  int32\n\tEsterror  int32\n\tStatus    int32\n\tConstant  int32\n\tPrecision int32\n\tTolerance int32\n\tTime      Timeval\n\tTick      int32\n\tPpsfreq   int32\n\tJitter    int32\n\tShift     int32\n\tStabil    int32\n\tJitcnt    int32\n\tCalcnt    int32\n\tErrcnt    int32\n\tStbcnt    int32\n\tTai       int32\n\tPad_cgo_0 [44]byte\n}\n\ntype Time_t int32\n\ntype Tms struct {\n\tUtime  int32\n\tStime  int32\n\tCutime int32\n\tCstime int32\n}\n\ntype Utimbuf struct {\n\tActime  int32\n\tModtime int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev       uint64\n\tX__pad1   uint16\n\tPad_cgo_0 [2]byte\n\tX__st_ino uint32\n\tMode      uint32\n\tNlink     uint32\n\tUid       uint32\n\tGid       uint32\n\tRdev      uint64\n\tX__pad2   uint16\n\tPad_cgo_1 [6]byte\n\tSize      int64\n\tBlksize   int32\n\tPad_cgo_2 [4]byte\n\tBlocks    int64\n\tAtim      Timespec\n\tMtim      Timespec\n\tCtim      Timespec\n\tIno       uint64\n}\n\ntype Statfs_t struct {\n\tType      int32\n\tBsize     int32\n\tBlocks    uint64\n\tBfree     uint64\n\tBavail    uint64\n\tFiles     uint64\n\tFfree     uint64\n\tFsid      Fsid\n\tNamelen   int32\n\tFrsize    int32\n\tFlags     int32\n\tSpare     [4]int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tType      uint8\n\tName      [256]uint8\n\tPad_cgo_0 [5]byte\n}\n\ntype Fsid struct {\n\tX__val [2]int32\n}\n\ntype Flock_t struct {\n\tType      int16\n\tWhence    int16\n\tPad_cgo_0 [4]byte\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tPad_cgo_1 [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily    uint16\n\tPad_cgo_0 [2]byte\n\tIfindex   int32\n\tAddr      [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]uint8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]uint8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     uint32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\tPad_cgo_0      [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x8\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x1c\n\tSizeofCmsghdr           = 0xc\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC          = 0x0\n\tIFA_ADDRESS         = 0x1\n\tIFA_LOCAL           = 0x2\n\tIFA_LABEL           = 0x3\n\tIFA_BROADCAST       = 0x4\n\tIFA_ANYCAST         = 0x5\n\tIFA_CACHEINFO       = 0x6\n\tIFA_MULTICAST       = 0x7\n\tIFLA_UNSPEC         = 0x0\n\tIFLA_ADDRESS        = 0x1\n\tIFLA_BROADCAST      = 0x2\n\tIFLA_IFNAME         = 0x3\n\tIFLA_MTU            = 0x4\n\tIFLA_LINK           = 0x5\n\tIFLA_QDISC          = 0x6\n\tIFLA_STATS          = 0x7\n\tIFLA_COST           = 0x8\n\tIFLA_PRIORITY       = 0x9\n\tIFLA_MASTER         = 0xa\n\tIFLA_WIRELESS       = 0xb\n\tIFLA_PROTINFO       = 0xc\n\tIFLA_TXQLEN         = 0xd\n\tIFLA_MAP            = 0xe\n\tIFLA_WEIGHT         = 0xf\n\tIFLA_OPERSTATE      = 0x10\n\tIFLA_LINKMODE       = 0x11\n\tIFLA_LINKINFO       = 0x12\n\tIFLA_NET_NS_PID     = 0x13\n\tIFLA_IFALIAS        = 0x14\n\tIFLA_MAX            = 0x2c\n\tRT_SCOPE_UNIVERSE   = 0x0\n\tRT_SCOPE_SITE       = 0xc8\n\tRT_SCOPE_LINK       = 0xfd\n\tRT_SCOPE_HOST       = 0xfe\n\tRT_SCOPE_NOWHERE    = 0xff\n\tRT_TABLE_UNSPEC     = 0x0\n\tRT_TABLE_COMPAT     = 0xfc\n\tRT_TABLE_DEFAULT    = 0xfd\n\tRT_TABLE_MAIN       = 0xfe\n\tRT_TABLE_LOCAL      = 0xff\n\tRT_TABLE_MAX        = 0xffffffff\n\tRTA_UNSPEC          = 0x0\n\tRTA_DST             = 0x1\n\tRTA_SRC             = 0x2\n\tRTA_IIF             = 0x3\n\tRTA_OIF             = 0x4\n\tRTA_GATEWAY         = 0x5\n\tRTA_PRIORITY        = 0x6\n\tRTA_PREFSRC         = 0x7\n\tRTA_METRICS         = 0x8\n\tRTA_MULTIPATH       = 0x9\n\tRTA_FLOW            = 0xb\n\tRTA_CACHEINFO       = 0xc\n\tRTA_TABLE           = 0xf\n\tRTN_UNSPEC          = 0x0\n\tRTN_UNICAST         = 0x1\n\tRTN_LOCAL           = 0x2\n\tRTN_BROADCAST       = 0x3\n\tRTN_ANYCAST         = 0x4\n\tRTN_MULTICAST       = 0x5\n\tRTN_BLACKHOLE       = 0x6\n\tRTN_UNREACHABLE     = 0x7\n\tRTN_PROHIBIT        = 0x8\n\tRTN_THROW           = 0x9\n\tRTN_NAT             = 0xa\n\tRTN_XRESOLVE        = 0xb\n\tRTNLGRP_NONE        = 0x0\n\tRTNLGRP_LINK        = 0x1\n\tRTNLGRP_NOTIFY      = 0x2\n\tRTNLGRP_NEIGH       = 0x3\n\tRTNLGRP_TC          = 0x4\n\tRTNLGRP_IPV4_IFADDR = 0x5\n\tRTNLGRP_IPV4_MROUTE = 0x6\n\tRTNLGRP_IPV4_ROUTE  = 0x7\n\tRTNLGRP_IPV4_RULE   = 0x8\n\tRTNLGRP_IPV6_IFADDR = 0x9\n\tRTNLGRP_IPV6_MROUTE = 0xa\n\tRTNLGRP_IPV6_ROUTE  = 0xb\n\tRTNLGRP_IPV6_IFINFO = 0xc\n\tRTNLGRP_IPV6_PREFIX = 0x12\n\tRTNLGRP_IPV6_RULE   = 0x13\n\tRTNLGRP_ND_USEROPT  = 0x14\n\tSizeofNlMsghdr      = 0x10\n\tSizeofNlMsgerr      = 0x14\n\tSizeofRtGenmsg      = 0x1\n\tSizeofNlAttr        = 0x4\n\tSizeofRtAttr        = 0x4\n\tSizeofIfInfomsg     = 0x10\n\tSizeofIfAddrmsg     = 0x8\n\tSizeofRtMsg         = 0xc\n\tSizeofRtNexthop     = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily     uint8\n\tX__ifi_pad uint8\n\tType       uint16\n\tIndex      int32\n\tFlags      uint32\n\tChange     uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x8\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen       uint16\n\tPad_cgo_0 [2]byte\n\tFilter    *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tUregs [18]uint32\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\ntype Sysinfo_t struct {\n\tUptime    int32\n\tLoads     [3]uint32\n\tTotalram  uint32\n\tFreeram   uint32\n\tSharedram uint32\n\tBufferram uint32\n\tTotalswap uint32\n\tFreeswap  uint32\n\tProcs     uint16\n\tPad       uint16\n\tTotalhigh uint32\n\tFreehigh  uint32\n\tUnit      uint32\n\tX_f       [8]uint8\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\tTinode uint32\n\tFname  [6]uint8\n\tFpack  [6]uint8\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tPadFd  int32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_NO_AUTOMOUNT     = 0x800\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tX__val [32]uint32\n}\n\nconst RNDGETENTCNT = 0x80045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [19]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\tPad_cgo_0                 [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\tPad_cgo_1                 [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]uint8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\tPad_cgo_2                 [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\tPad_cgo_3                 [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint32\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x20\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm64,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\tPad_cgo_0 [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\tPad_cgo_1 [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\tPad_cgo_2 [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\tPad_cgo_3 [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint64\n\tIno     uint64\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint64\n\tX__pad1 uint64\n\tSize    int64\n\tBlksize int32\n\tX__pad2 int32\n\tBlocks  int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\t_       [2]int32\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFrsize  int64\n\tFlags   int64\n\tSpare   [4]int64\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tType      uint8\n\tName      [256]int8\n\tPad_cgo_0 [5]byte\n}\n\ntype Fsid struct {\n\tX__val [2]int32\n}\n\ntype Flock_t struct {\n\tType      int16\n\tWhence    int16\n\tPad_cgo_0 [4]byte\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tPad_cgo_1 [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily    uint16\n\tPad_cgo_0 [2]byte\n\tIfindex   int32\n\tAddr      [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\tPad_cgo_1  [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\tPad_cgo_0      [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC          = 0x0\n\tIFA_ADDRESS         = 0x1\n\tIFA_LOCAL           = 0x2\n\tIFA_LABEL           = 0x3\n\tIFA_BROADCAST       = 0x4\n\tIFA_ANYCAST         = 0x5\n\tIFA_CACHEINFO       = 0x6\n\tIFA_MULTICAST       = 0x7\n\tIFLA_UNSPEC         = 0x0\n\tIFLA_ADDRESS        = 0x1\n\tIFLA_BROADCAST      = 0x2\n\tIFLA_IFNAME         = 0x3\n\tIFLA_MTU            = 0x4\n\tIFLA_LINK           = 0x5\n\tIFLA_QDISC          = 0x6\n\tIFLA_STATS          = 0x7\n\tIFLA_COST           = 0x8\n\tIFLA_PRIORITY       = 0x9\n\tIFLA_MASTER         = 0xa\n\tIFLA_WIRELESS       = 0xb\n\tIFLA_PROTINFO       = 0xc\n\tIFLA_TXQLEN         = 0xd\n\tIFLA_MAP            = 0xe\n\tIFLA_WEIGHT         = 0xf\n\tIFLA_OPERSTATE      = 0x10\n\tIFLA_LINKMODE       = 0x11\n\tIFLA_LINKINFO       = 0x12\n\tIFLA_NET_NS_PID     = 0x13\n\tIFLA_IFALIAS        = 0x14\n\tIFLA_MAX            = 0x2c\n\tRT_SCOPE_UNIVERSE   = 0x0\n\tRT_SCOPE_SITE       = 0xc8\n\tRT_SCOPE_LINK       = 0xfd\n\tRT_SCOPE_HOST       = 0xfe\n\tRT_SCOPE_NOWHERE    = 0xff\n\tRT_TABLE_UNSPEC     = 0x0\n\tRT_TABLE_COMPAT     = 0xfc\n\tRT_TABLE_DEFAULT    = 0xfd\n\tRT_TABLE_MAIN       = 0xfe\n\tRT_TABLE_LOCAL      = 0xff\n\tRT_TABLE_MAX        = 0xffffffff\n\tRTA_UNSPEC          = 0x0\n\tRTA_DST             = 0x1\n\tRTA_SRC             = 0x2\n\tRTA_IIF             = 0x3\n\tRTA_OIF             = 0x4\n\tRTA_GATEWAY         = 0x5\n\tRTA_PRIORITY        = 0x6\n\tRTA_PREFSRC         = 0x7\n\tRTA_METRICS         = 0x8\n\tRTA_MULTIPATH       = 0x9\n\tRTA_FLOW            = 0xb\n\tRTA_CACHEINFO       = 0xc\n\tRTA_TABLE           = 0xf\n\tRTN_UNSPEC          = 0x0\n\tRTN_UNICAST         = 0x1\n\tRTN_LOCAL           = 0x2\n\tRTN_BROADCAST       = 0x3\n\tRTN_ANYCAST         = 0x4\n\tRTN_MULTICAST       = 0x5\n\tRTN_BLACKHOLE       = 0x6\n\tRTN_UNREACHABLE     = 0x7\n\tRTN_PROHIBIT        = 0x8\n\tRTN_THROW           = 0x9\n\tRTN_NAT             = 0xa\n\tRTN_XRESOLVE        = 0xb\n\tRTNLGRP_NONE        = 0x0\n\tRTNLGRP_LINK        = 0x1\n\tRTNLGRP_NOTIFY      = 0x2\n\tRTNLGRP_NEIGH       = 0x3\n\tRTNLGRP_TC          = 0x4\n\tRTNLGRP_IPV4_IFADDR = 0x5\n\tRTNLGRP_IPV4_MROUTE = 0x6\n\tRTNLGRP_IPV4_ROUTE  = 0x7\n\tRTNLGRP_IPV4_RULE   = 0x8\n\tRTNLGRP_IPV6_IFADDR = 0x9\n\tRTNLGRP_IPV6_MROUTE = 0xa\n\tRTNLGRP_IPV6_ROUTE  = 0xb\n\tRTNLGRP_IPV6_IFINFO = 0xc\n\tRTNLGRP_IPV6_PREFIX = 0x12\n\tRTNLGRP_IPV6_RULE   = 0x13\n\tRTNLGRP_ND_USEROPT  = 0x14\n\tSizeofNlMsghdr      = 0x10\n\tSizeofNlMsgerr      = 0x14\n\tSizeofRtGenmsg      = 0x1\n\tSizeofNlAttr        = 0x4\n\tSizeofRtAttr        = 0x4\n\tSizeofIfInfomsg     = 0x10\n\tSizeofIfAddrmsg     = 0x8\n\tSizeofRtMsg         = 0xc\n\tSizeofRtNexthop     = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily     uint8\n\tX__ifi_pad uint8\n\tType       uint16\n\tIndex      int32\n\tFlags      uint32\n\tChange     uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen       uint16\n\tPad_cgo_0 [6]byte\n\tFilter    *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tRegs   [31]uint64\n\tSp     uint64\n\tPc     uint64\n\tPstate uint64\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\tPad_cgo_0 [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\tX_f       [0]int8\n\tPad_cgo_1 [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree     int32\n\tPad_cgo_0 [4]byte\n\tTinode    uint64\n\tFname     [6]int8\n\tFpack     [6]int8\n\tPad_cgo_1 [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tPadFd  int32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_NO_AUTOMOUNT     = 0x800\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tX__val [16]uint64\n}\n\nconst RNDGETENTCNT = 0x80045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [19]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\tPad_cgo_0                 [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\tPad_cgo_1                 [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\tPad_cgo_2                 [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\tPad_cgo_3                 [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_mips.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Timex struct {\n\tModes     uint32\n\tOffset    int32\n\tFreq      int32\n\tMaxerror  int32\n\tEsterror  int32\n\tStatus    int32\n\tConstant  int32\n\tPrecision int32\n\tTolerance int32\n\tTime      Timeval\n\tTick      int32\n\tPpsfreq   int32\n\tJitter    int32\n\tShift     int32\n\tStabil    int32\n\tJitcnt    int32\n\tCalcnt    int32\n\tErrcnt    int32\n\tStbcnt    int32\n\tTai       int32\n\tPad_cgo_0 [44]byte\n}\n\ntype Time_t int32\n\ntype Tms struct {\n\tUtime  int32\n\tStime  int32\n\tCutime int32\n\tCstime int32\n}\n\ntype Utimbuf struct {\n\tActime  int32\n\tModtime int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint32\n\tPad1    [3]int32\n\tIno     uint64\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint32\n\tPad2    [3]int32\n\tSize    int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tBlksize int32\n\tPad4    int32\n\tBlocks  int64\n\tPad5    [14]int32\n}\n\ntype Statfs_t struct {\n\tType      int32\n\tBsize     int32\n\tFrsize    int32\n\tPad_cgo_0 [4]byte\n\tBlocks    uint64\n\tBfree     uint64\n\tFiles     uint64\n\tFfree     uint64\n\tBavail    uint64\n\tFsid      Fsid\n\tNamelen   int32\n\tFlags     int32\n\tSpare     [5]int32\n\tPad_cgo_1 [4]byte\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tType      uint8\n\tName      [256]int8\n\tPad_cgo_0 [5]byte\n}\n\ntype Fsid struct {\n\tX__val [2]int32\n}\n\ntype Flock_t struct {\n\tType      int16\n\tWhence    int16\n\tPad_cgo_0 [4]byte\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tPad_cgo_1 [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily    uint16\n\tPad_cgo_0 [2]byte\n\tIfindex   int32\n\tAddr      [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     uint32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\tPad_cgo_0      [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x8\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x1c\n\tSizeofCmsghdr           = 0xc\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC          = 0x0\n\tIFA_ADDRESS         = 0x1\n\tIFA_LOCAL           = 0x2\n\tIFA_LABEL           = 0x3\n\tIFA_BROADCAST       = 0x4\n\tIFA_ANYCAST         = 0x5\n\tIFA_CACHEINFO       = 0x6\n\tIFA_MULTICAST       = 0x7\n\tIFLA_UNSPEC         = 0x0\n\tIFLA_ADDRESS        = 0x1\n\tIFLA_BROADCAST      = 0x2\n\tIFLA_IFNAME         = 0x3\n\tIFLA_MTU            = 0x4\n\tIFLA_LINK           = 0x5\n\tIFLA_QDISC          = 0x6\n\tIFLA_STATS          = 0x7\n\tIFLA_COST           = 0x8\n\tIFLA_PRIORITY       = 0x9\n\tIFLA_MASTER         = 0xa\n\tIFLA_WIRELESS       = 0xb\n\tIFLA_PROTINFO       = 0xc\n\tIFLA_TXQLEN         = 0xd\n\tIFLA_MAP            = 0xe\n\tIFLA_WEIGHT         = 0xf\n\tIFLA_OPERSTATE      = 0x10\n\tIFLA_LINKMODE       = 0x11\n\tIFLA_LINKINFO       = 0x12\n\tIFLA_NET_NS_PID     = 0x13\n\tIFLA_IFALIAS        = 0x14\n\tIFLA_MAX            = 0x2c\n\tRT_SCOPE_UNIVERSE   = 0x0\n\tRT_SCOPE_SITE       = 0xc8\n\tRT_SCOPE_LINK       = 0xfd\n\tRT_SCOPE_HOST       = 0xfe\n\tRT_SCOPE_NOWHERE    = 0xff\n\tRT_TABLE_UNSPEC     = 0x0\n\tRT_TABLE_COMPAT     = 0xfc\n\tRT_TABLE_DEFAULT    = 0xfd\n\tRT_TABLE_MAIN       = 0xfe\n\tRT_TABLE_LOCAL      = 0xff\n\tRT_TABLE_MAX        = 0xffffffff\n\tRTA_UNSPEC          = 0x0\n\tRTA_DST             = 0x1\n\tRTA_SRC             = 0x2\n\tRTA_IIF             = 0x3\n\tRTA_OIF             = 0x4\n\tRTA_GATEWAY         = 0x5\n\tRTA_PRIORITY        = 0x6\n\tRTA_PREFSRC         = 0x7\n\tRTA_METRICS         = 0x8\n\tRTA_MULTIPATH       = 0x9\n\tRTA_FLOW            = 0xb\n\tRTA_CACHEINFO       = 0xc\n\tRTA_TABLE           = 0xf\n\tRTN_UNSPEC          = 0x0\n\tRTN_UNICAST         = 0x1\n\tRTN_LOCAL           = 0x2\n\tRTN_BROADCAST       = 0x3\n\tRTN_ANYCAST         = 0x4\n\tRTN_MULTICAST       = 0x5\n\tRTN_BLACKHOLE       = 0x6\n\tRTN_UNREACHABLE     = 0x7\n\tRTN_PROHIBIT        = 0x8\n\tRTN_THROW           = 0x9\n\tRTN_NAT             = 0xa\n\tRTN_XRESOLVE        = 0xb\n\tRTNLGRP_NONE        = 0x0\n\tRTNLGRP_LINK        = 0x1\n\tRTNLGRP_NOTIFY      = 0x2\n\tRTNLGRP_NEIGH       = 0x3\n\tRTNLGRP_TC          = 0x4\n\tRTNLGRP_IPV4_IFADDR = 0x5\n\tRTNLGRP_IPV4_MROUTE = 0x6\n\tRTNLGRP_IPV4_ROUTE  = 0x7\n\tRTNLGRP_IPV4_RULE   = 0x8\n\tRTNLGRP_IPV6_IFADDR = 0x9\n\tRTNLGRP_IPV6_MROUTE = 0xa\n\tRTNLGRP_IPV6_ROUTE  = 0xb\n\tRTNLGRP_IPV6_IFINFO = 0xc\n\tRTNLGRP_IPV6_PREFIX = 0x12\n\tRTNLGRP_IPV6_RULE   = 0x13\n\tRTNLGRP_ND_USEROPT  = 0x14\n\tSizeofNlMsghdr      = 0x10\n\tSizeofNlMsgerr      = 0x14\n\tSizeofRtGenmsg      = 0x1\n\tSizeofNlAttr        = 0x4\n\tSizeofRtAttr        = 0x4\n\tSizeofIfInfomsg     = 0x10\n\tSizeofIfAddrmsg     = 0x8\n\tSizeofRtMsg         = 0xc\n\tSizeofRtNexthop     = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily     uint8\n\tX__ifi_pad uint8\n\tType       uint16\n\tIndex      int32\n\tFlags      uint32\n\tChange     uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x8\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen       uint16\n\tPad_cgo_0 [2]byte\n\tFilter    *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\ntype Sysinfo_t struct {\n\tUptime    int32\n\tLoads     [3]uint32\n\tTotalram  uint32\n\tFreeram   uint32\n\tSharedram uint32\n\tBufferram uint32\n\tTotalswap uint32\n\tFreeswap  uint32\n\tProcs     uint16\n\tPad       uint16\n\tTotalhigh uint32\n\tFreehigh  uint32\n\tUnit      uint32\n\tX_f       [8]int8\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\tTinode uint32\n\tFname  [6]int8\n\tFpack  [6]int8\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tPadFd  int32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_NO_AUTOMOUNT     = 0x800\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tX__val [32]uint32\n}\n\nconst RNDGETENTCNT = 0x40045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [23]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\tPad_cgo_0                 [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\tPad_cgo_1                 [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\tPad_cgo_2                 [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\tPad_cgo_3                 [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint32\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x20\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips64,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\tPad_cgo_0 [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\tPad_cgo_1 [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\tPad_cgo_2 [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\tPad_cgo_3 [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint32\n\tPad1    [3]uint32\n\tIno     uint64\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint32\n\tPad2    [3]uint32\n\tSize    int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tBlksize uint32\n\tPad4    uint32\n\tBlocks  int64\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tFrsize  int64\n\tBlocks  uint64\n\tBfree   uint64\n\tFiles   uint64\n\tFfree   uint64\n\tBavail  uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFlags   int64\n\tSpare   [5]int64\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tType      uint8\n\tName      [256]int8\n\tPad_cgo_0 [5]byte\n}\n\ntype Fsid struct {\n\tX__val [2]int32\n}\n\ntype Flock_t struct {\n\tType      int16\n\tWhence    int16\n\tPad_cgo_0 [4]byte\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tPad_cgo_1 [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily    uint16\n\tPad_cgo_0 [2]byte\n\tIfindex   int32\n\tAddr      [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\tPad_cgo_1  [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\tPad_cgo_0      [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC          = 0x0\n\tIFA_ADDRESS         = 0x1\n\tIFA_LOCAL           = 0x2\n\tIFA_LABEL           = 0x3\n\tIFA_BROADCAST       = 0x4\n\tIFA_ANYCAST         = 0x5\n\tIFA_CACHEINFO       = 0x6\n\tIFA_MULTICAST       = 0x7\n\tIFLA_UNSPEC         = 0x0\n\tIFLA_ADDRESS        = 0x1\n\tIFLA_BROADCAST      = 0x2\n\tIFLA_IFNAME         = 0x3\n\tIFLA_MTU            = 0x4\n\tIFLA_LINK           = 0x5\n\tIFLA_QDISC          = 0x6\n\tIFLA_STATS          = 0x7\n\tIFLA_COST           = 0x8\n\tIFLA_PRIORITY       = 0x9\n\tIFLA_MASTER         = 0xa\n\tIFLA_WIRELESS       = 0xb\n\tIFLA_PROTINFO       = 0xc\n\tIFLA_TXQLEN         = 0xd\n\tIFLA_MAP            = 0xe\n\tIFLA_WEIGHT         = 0xf\n\tIFLA_OPERSTATE      = 0x10\n\tIFLA_LINKMODE       = 0x11\n\tIFLA_LINKINFO       = 0x12\n\tIFLA_NET_NS_PID     = 0x13\n\tIFLA_IFALIAS        = 0x14\n\tIFLA_MAX            = 0x2c\n\tRT_SCOPE_UNIVERSE   = 0x0\n\tRT_SCOPE_SITE       = 0xc8\n\tRT_SCOPE_LINK       = 0xfd\n\tRT_SCOPE_HOST       = 0xfe\n\tRT_SCOPE_NOWHERE    = 0xff\n\tRT_TABLE_UNSPEC     = 0x0\n\tRT_TABLE_COMPAT     = 0xfc\n\tRT_TABLE_DEFAULT    = 0xfd\n\tRT_TABLE_MAIN       = 0xfe\n\tRT_TABLE_LOCAL      = 0xff\n\tRT_TABLE_MAX        = 0xffffffff\n\tRTA_UNSPEC          = 0x0\n\tRTA_DST             = 0x1\n\tRTA_SRC             = 0x2\n\tRTA_IIF             = 0x3\n\tRTA_OIF             = 0x4\n\tRTA_GATEWAY         = 0x5\n\tRTA_PRIORITY        = 0x6\n\tRTA_PREFSRC         = 0x7\n\tRTA_METRICS         = 0x8\n\tRTA_MULTIPATH       = 0x9\n\tRTA_FLOW            = 0xb\n\tRTA_CACHEINFO       = 0xc\n\tRTA_TABLE           = 0xf\n\tRTN_UNSPEC          = 0x0\n\tRTN_UNICAST         = 0x1\n\tRTN_LOCAL           = 0x2\n\tRTN_BROADCAST       = 0x3\n\tRTN_ANYCAST         = 0x4\n\tRTN_MULTICAST       = 0x5\n\tRTN_BLACKHOLE       = 0x6\n\tRTN_UNREACHABLE     = 0x7\n\tRTN_PROHIBIT        = 0x8\n\tRTN_THROW           = 0x9\n\tRTN_NAT             = 0xa\n\tRTN_XRESOLVE        = 0xb\n\tRTNLGRP_NONE        = 0x0\n\tRTNLGRP_LINK        = 0x1\n\tRTNLGRP_NOTIFY      = 0x2\n\tRTNLGRP_NEIGH       = 0x3\n\tRTNLGRP_TC          = 0x4\n\tRTNLGRP_IPV4_IFADDR = 0x5\n\tRTNLGRP_IPV4_MROUTE = 0x6\n\tRTNLGRP_IPV4_ROUTE  = 0x7\n\tRTNLGRP_IPV4_RULE   = 0x8\n\tRTNLGRP_IPV6_IFADDR = 0x9\n\tRTNLGRP_IPV6_MROUTE = 0xa\n\tRTNLGRP_IPV6_ROUTE  = 0xb\n\tRTNLGRP_IPV6_IFINFO = 0xc\n\tRTNLGRP_IPV6_PREFIX = 0x12\n\tRTNLGRP_IPV6_RULE   = 0x13\n\tRTNLGRP_ND_USEROPT  = 0x14\n\tSizeofNlMsghdr      = 0x10\n\tSizeofNlMsgerr      = 0x14\n\tSizeofRtGenmsg      = 0x1\n\tSizeofNlAttr        = 0x4\n\tSizeofRtAttr        = 0x4\n\tSizeofIfInfomsg     = 0x10\n\tSizeofIfAddrmsg     = 0x8\n\tSizeofRtMsg         = 0xc\n\tSizeofRtNexthop     = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily     uint8\n\tX__ifi_pad uint8\n\tType       uint16\n\tIndex      int32\n\tFlags      uint32\n\tChange     uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen       uint16\n\tPad_cgo_0 [6]byte\n\tFilter    *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\tPad_cgo_0 [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\tX_f       [0]int8\n\tPad_cgo_1 [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree     int32\n\tPad_cgo_0 [4]byte\n\tTinode    uint64\n\tFname     [6]int8\n\tFpack     [6]int8\n\tPad_cgo_1 [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_NO_AUTOMOUNT     = 0x800\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tX__val [16]uint64\n}\n\nconst RNDGETENTCNT = 0x40045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [23]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\tPad_cgo_0                 [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\tPad_cgo_1                 [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\tPad_cgo_2                 [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\tPad_cgo_3                 [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips64le,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\tPad_cgo_0 [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\tPad_cgo_1 [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\tPad_cgo_2 [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\tPad_cgo_3 [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint32\n\tPad1    [3]uint32\n\tIno     uint64\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint32\n\tPad2    [3]uint32\n\tSize    int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tBlksize uint32\n\tPad4    uint32\n\tBlocks  int64\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tFrsize  int64\n\tBlocks  uint64\n\tBfree   uint64\n\tFiles   uint64\n\tFfree   uint64\n\tBavail  uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFlags   int64\n\tSpare   [5]int64\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tType      uint8\n\tName      [256]int8\n\tPad_cgo_0 [5]byte\n}\n\ntype Fsid struct {\n\tX__val [2]int32\n}\n\ntype Flock_t struct {\n\tType      int16\n\tWhence    int16\n\tPad_cgo_0 [4]byte\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tPad_cgo_1 [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily    uint16\n\tPad_cgo_0 [2]byte\n\tIfindex   int32\n\tAddr      [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\tPad_cgo_1  [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\tPad_cgo_0      [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC          = 0x0\n\tIFA_ADDRESS         = 0x1\n\tIFA_LOCAL           = 0x2\n\tIFA_LABEL           = 0x3\n\tIFA_BROADCAST       = 0x4\n\tIFA_ANYCAST         = 0x5\n\tIFA_CACHEINFO       = 0x6\n\tIFA_MULTICAST       = 0x7\n\tIFLA_UNSPEC         = 0x0\n\tIFLA_ADDRESS        = 0x1\n\tIFLA_BROADCAST      = 0x2\n\tIFLA_IFNAME         = 0x3\n\tIFLA_MTU            = 0x4\n\tIFLA_LINK           = 0x5\n\tIFLA_QDISC          = 0x6\n\tIFLA_STATS          = 0x7\n\tIFLA_COST           = 0x8\n\tIFLA_PRIORITY       = 0x9\n\tIFLA_MASTER         = 0xa\n\tIFLA_WIRELESS       = 0xb\n\tIFLA_PROTINFO       = 0xc\n\tIFLA_TXQLEN         = 0xd\n\tIFLA_MAP            = 0xe\n\tIFLA_WEIGHT         = 0xf\n\tIFLA_OPERSTATE      = 0x10\n\tIFLA_LINKMODE       = 0x11\n\tIFLA_LINKINFO       = 0x12\n\tIFLA_NET_NS_PID     = 0x13\n\tIFLA_IFALIAS        = 0x14\n\tIFLA_MAX            = 0x2c\n\tRT_SCOPE_UNIVERSE   = 0x0\n\tRT_SCOPE_SITE       = 0xc8\n\tRT_SCOPE_LINK       = 0xfd\n\tRT_SCOPE_HOST       = 0xfe\n\tRT_SCOPE_NOWHERE    = 0xff\n\tRT_TABLE_UNSPEC     = 0x0\n\tRT_TABLE_COMPAT     = 0xfc\n\tRT_TABLE_DEFAULT    = 0xfd\n\tRT_TABLE_MAIN       = 0xfe\n\tRT_TABLE_LOCAL      = 0xff\n\tRT_TABLE_MAX        = 0xffffffff\n\tRTA_UNSPEC          = 0x0\n\tRTA_DST             = 0x1\n\tRTA_SRC             = 0x2\n\tRTA_IIF             = 0x3\n\tRTA_OIF             = 0x4\n\tRTA_GATEWAY         = 0x5\n\tRTA_PRIORITY        = 0x6\n\tRTA_PREFSRC         = 0x7\n\tRTA_METRICS         = 0x8\n\tRTA_MULTIPATH       = 0x9\n\tRTA_FLOW            = 0xb\n\tRTA_CACHEINFO       = 0xc\n\tRTA_TABLE           = 0xf\n\tRTN_UNSPEC          = 0x0\n\tRTN_UNICAST         = 0x1\n\tRTN_LOCAL           = 0x2\n\tRTN_BROADCAST       = 0x3\n\tRTN_ANYCAST         = 0x4\n\tRTN_MULTICAST       = 0x5\n\tRTN_BLACKHOLE       = 0x6\n\tRTN_UNREACHABLE     = 0x7\n\tRTN_PROHIBIT        = 0x8\n\tRTN_THROW           = 0x9\n\tRTN_NAT             = 0xa\n\tRTN_XRESOLVE        = 0xb\n\tRTNLGRP_NONE        = 0x0\n\tRTNLGRP_LINK        = 0x1\n\tRTNLGRP_NOTIFY      = 0x2\n\tRTNLGRP_NEIGH       = 0x3\n\tRTNLGRP_TC          = 0x4\n\tRTNLGRP_IPV4_IFADDR = 0x5\n\tRTNLGRP_IPV4_MROUTE = 0x6\n\tRTNLGRP_IPV4_ROUTE  = 0x7\n\tRTNLGRP_IPV4_RULE   = 0x8\n\tRTNLGRP_IPV6_IFADDR = 0x9\n\tRTNLGRP_IPV6_MROUTE = 0xa\n\tRTNLGRP_IPV6_ROUTE  = 0xb\n\tRTNLGRP_IPV6_IFINFO = 0xc\n\tRTNLGRP_IPV6_PREFIX = 0x12\n\tRTNLGRP_IPV6_RULE   = 0x13\n\tRTNLGRP_ND_USEROPT  = 0x14\n\tSizeofNlMsghdr      = 0x10\n\tSizeofNlMsgerr      = 0x14\n\tSizeofRtGenmsg      = 0x1\n\tSizeofNlAttr        = 0x4\n\tSizeofRtAttr        = 0x4\n\tSizeofIfInfomsg     = 0x10\n\tSizeofIfAddrmsg     = 0x8\n\tSizeofRtMsg         = 0xc\n\tSizeofRtNexthop     = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily     uint8\n\tX__ifi_pad uint8\n\tType       uint16\n\tIndex      int32\n\tFlags      uint32\n\tChange     uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen       uint16\n\tPad_cgo_0 [6]byte\n\tFilter    *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\tPad_cgo_0 [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\tX_f       [0]int8\n\tPad_cgo_1 [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree     int32\n\tPad_cgo_0 [4]byte\n\tTinode    uint64\n\tFname     [6]int8\n\tFpack     [6]int8\n\tPad_cgo_1 [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_NO_AUTOMOUNT     = 0x800\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tX__val [16]uint64\n}\n\nconst RNDGETENTCNT = 0x40045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [23]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\tPad_cgo_0                 [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\tPad_cgo_1                 [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\tPad_cgo_2                 [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\tPad_cgo_3                 [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mipsle,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Timex struct {\n\tModes     uint32\n\tOffset    int32\n\tFreq      int32\n\tMaxerror  int32\n\tEsterror  int32\n\tStatus    int32\n\tConstant  int32\n\tPrecision int32\n\tTolerance int32\n\tTime      Timeval\n\tTick      int32\n\tPpsfreq   int32\n\tJitter    int32\n\tShift     int32\n\tStabil    int32\n\tJitcnt    int32\n\tCalcnt    int32\n\tErrcnt    int32\n\tStbcnt    int32\n\tTai       int32\n\tPad_cgo_0 [44]byte\n}\n\ntype Time_t int32\n\ntype Tms struct {\n\tUtime  int32\n\tStime  int32\n\tCutime int32\n\tCstime int32\n}\n\ntype Utimbuf struct {\n\tActime  int32\n\tModtime int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint32\n\tPad1    [3]int32\n\tIno     uint64\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint32\n\tPad2    [3]int32\n\tSize    int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tBlksize int32\n\tPad4    int32\n\tBlocks  int64\n\tPad5    [14]int32\n}\n\ntype Statfs_t struct {\n\tType      int32\n\tBsize     int32\n\tFrsize    int32\n\tPad_cgo_0 [4]byte\n\tBlocks    uint64\n\tBfree     uint64\n\tFiles     uint64\n\tFfree     uint64\n\tBavail    uint64\n\tFsid      Fsid\n\tNamelen   int32\n\tFlags     int32\n\tSpare     [5]int32\n\tPad_cgo_1 [4]byte\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tType      uint8\n\tName      [256]int8\n\tPad_cgo_0 [5]byte\n}\n\ntype Fsid struct {\n\tX__val [2]int32\n}\n\ntype Flock_t struct {\n\tType      int16\n\tWhence    int16\n\tPad_cgo_0 [4]byte\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tPad_cgo_1 [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily    uint16\n\tPad_cgo_0 [2]byte\n\tIfindex   int32\n\tAddr      [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     uint32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\tPad_cgo_0      [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x8\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x1c\n\tSizeofCmsghdr           = 0xc\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC          = 0x0\n\tIFA_ADDRESS         = 0x1\n\tIFA_LOCAL           = 0x2\n\tIFA_LABEL           = 0x3\n\tIFA_BROADCAST       = 0x4\n\tIFA_ANYCAST         = 0x5\n\tIFA_CACHEINFO       = 0x6\n\tIFA_MULTICAST       = 0x7\n\tIFLA_UNSPEC         = 0x0\n\tIFLA_ADDRESS        = 0x1\n\tIFLA_BROADCAST      = 0x2\n\tIFLA_IFNAME         = 0x3\n\tIFLA_MTU            = 0x4\n\tIFLA_LINK           = 0x5\n\tIFLA_QDISC          = 0x6\n\tIFLA_STATS          = 0x7\n\tIFLA_COST           = 0x8\n\tIFLA_PRIORITY       = 0x9\n\tIFLA_MASTER         = 0xa\n\tIFLA_WIRELESS       = 0xb\n\tIFLA_PROTINFO       = 0xc\n\tIFLA_TXQLEN         = 0xd\n\tIFLA_MAP            = 0xe\n\tIFLA_WEIGHT         = 0xf\n\tIFLA_OPERSTATE      = 0x10\n\tIFLA_LINKMODE       = 0x11\n\tIFLA_LINKINFO       = 0x12\n\tIFLA_NET_NS_PID     = 0x13\n\tIFLA_IFALIAS        = 0x14\n\tIFLA_MAX            = 0x2c\n\tRT_SCOPE_UNIVERSE   = 0x0\n\tRT_SCOPE_SITE       = 0xc8\n\tRT_SCOPE_LINK       = 0xfd\n\tRT_SCOPE_HOST       = 0xfe\n\tRT_SCOPE_NOWHERE    = 0xff\n\tRT_TABLE_UNSPEC     = 0x0\n\tRT_TABLE_COMPAT     = 0xfc\n\tRT_TABLE_DEFAULT    = 0xfd\n\tRT_TABLE_MAIN       = 0xfe\n\tRT_TABLE_LOCAL      = 0xff\n\tRT_TABLE_MAX        = 0xffffffff\n\tRTA_UNSPEC          = 0x0\n\tRTA_DST             = 0x1\n\tRTA_SRC             = 0x2\n\tRTA_IIF             = 0x3\n\tRTA_OIF             = 0x4\n\tRTA_GATEWAY         = 0x5\n\tRTA_PRIORITY        = 0x6\n\tRTA_PREFSRC         = 0x7\n\tRTA_METRICS         = 0x8\n\tRTA_MULTIPATH       = 0x9\n\tRTA_FLOW            = 0xb\n\tRTA_CACHEINFO       = 0xc\n\tRTA_TABLE           = 0xf\n\tRTN_UNSPEC          = 0x0\n\tRTN_UNICAST         = 0x1\n\tRTN_LOCAL           = 0x2\n\tRTN_BROADCAST       = 0x3\n\tRTN_ANYCAST         = 0x4\n\tRTN_MULTICAST       = 0x5\n\tRTN_BLACKHOLE       = 0x6\n\tRTN_UNREACHABLE     = 0x7\n\tRTN_PROHIBIT        = 0x8\n\tRTN_THROW           = 0x9\n\tRTN_NAT             = 0xa\n\tRTN_XRESOLVE        = 0xb\n\tRTNLGRP_NONE        = 0x0\n\tRTNLGRP_LINK        = 0x1\n\tRTNLGRP_NOTIFY      = 0x2\n\tRTNLGRP_NEIGH       = 0x3\n\tRTNLGRP_TC          = 0x4\n\tRTNLGRP_IPV4_IFADDR = 0x5\n\tRTNLGRP_IPV4_MROUTE = 0x6\n\tRTNLGRP_IPV4_ROUTE  = 0x7\n\tRTNLGRP_IPV4_RULE   = 0x8\n\tRTNLGRP_IPV6_IFADDR = 0x9\n\tRTNLGRP_IPV6_MROUTE = 0xa\n\tRTNLGRP_IPV6_ROUTE  = 0xb\n\tRTNLGRP_IPV6_IFINFO = 0xc\n\tRTNLGRP_IPV6_PREFIX = 0x12\n\tRTNLGRP_IPV6_RULE   = 0x13\n\tRTNLGRP_ND_USEROPT  = 0x14\n\tSizeofNlMsghdr      = 0x10\n\tSizeofNlMsgerr      = 0x14\n\tSizeofRtGenmsg      = 0x1\n\tSizeofNlAttr        = 0x4\n\tSizeofRtAttr        = 0x4\n\tSizeofIfInfomsg     = 0x10\n\tSizeofIfAddrmsg     = 0x8\n\tSizeofRtMsg         = 0xc\n\tSizeofRtNexthop     = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily     uint8\n\tX__ifi_pad uint8\n\tType       uint16\n\tIndex      int32\n\tFlags      uint32\n\tChange     uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x8\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen       uint16\n\tPad_cgo_0 [2]byte\n\tFilter    *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\ntype Sysinfo_t struct {\n\tUptime    int32\n\tLoads     [3]uint32\n\tTotalram  uint32\n\tFreeram   uint32\n\tSharedram uint32\n\tBufferram uint32\n\tTotalswap uint32\n\tFreeswap  uint32\n\tProcs     uint16\n\tPad       uint16\n\tTotalhigh uint32\n\tFreehigh  uint32\n\tUnit      uint32\n\tX_f       [8]int8\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\tTinode uint32\n\tFname  [6]int8\n\tFpack  [6]int8\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tPadFd  int32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_NO_AUTOMOUNT     = 0x800\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tX__val [32]uint32\n}\n\nconst RNDGETENTCNT = 0x40045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [23]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\tPad_cgo_0                 [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\tPad_cgo_1                 [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\tPad_cgo_2                 [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\tPad_cgo_3                 [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint32\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x20\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build ppc64,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\tPad_cgo_0 [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\tPad_cgo_1 [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\tPad_cgo_2 [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\tPad_cgo_3 [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint64\n\tIno     uint64\n\tNlink   uint64\n\tMode    uint32\n\tUid     uint32\n\tGid     uint32\n\tX__pad2 int32\n\tRdev    uint64\n\tSize    int64\n\tBlksize int64\n\tBlocks  int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\t_       uint64\n\t_       uint64\n\t_       uint64\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFrsize  int64\n\tFlags   int64\n\tSpare   [4]int64\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tType      uint8\n\tName      [256]uint8\n\tPad_cgo_0 [5]byte\n}\n\ntype Fsid struct {\n\tX__val [2]int32\n}\n\ntype Flock_t struct {\n\tType      int16\n\tWhence    int16\n\tPad_cgo_0 [4]byte\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tPad_cgo_1 [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily    uint16\n\tPad_cgo_0 [2]byte\n\tIfindex   int32\n\tAddr      [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]uint8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]uint8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\tPad_cgo_1  [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\tPad_cgo_0      [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC          = 0x0\n\tIFA_ADDRESS         = 0x1\n\tIFA_LOCAL           = 0x2\n\tIFA_LABEL           = 0x3\n\tIFA_BROADCAST       = 0x4\n\tIFA_ANYCAST         = 0x5\n\tIFA_CACHEINFO       = 0x6\n\tIFA_MULTICAST       = 0x7\n\tIFLA_UNSPEC         = 0x0\n\tIFLA_ADDRESS        = 0x1\n\tIFLA_BROADCAST      = 0x2\n\tIFLA_IFNAME         = 0x3\n\tIFLA_MTU            = 0x4\n\tIFLA_LINK           = 0x5\n\tIFLA_QDISC          = 0x6\n\tIFLA_STATS          = 0x7\n\tIFLA_COST           = 0x8\n\tIFLA_PRIORITY       = 0x9\n\tIFLA_MASTER         = 0xa\n\tIFLA_WIRELESS       = 0xb\n\tIFLA_PROTINFO       = 0xc\n\tIFLA_TXQLEN         = 0xd\n\tIFLA_MAP            = 0xe\n\tIFLA_WEIGHT         = 0xf\n\tIFLA_OPERSTATE      = 0x10\n\tIFLA_LINKMODE       = 0x11\n\tIFLA_LINKINFO       = 0x12\n\tIFLA_NET_NS_PID     = 0x13\n\tIFLA_IFALIAS        = 0x14\n\tIFLA_MAX            = 0x2c\n\tRT_SCOPE_UNIVERSE   = 0x0\n\tRT_SCOPE_SITE       = 0xc8\n\tRT_SCOPE_LINK       = 0xfd\n\tRT_SCOPE_HOST       = 0xfe\n\tRT_SCOPE_NOWHERE    = 0xff\n\tRT_TABLE_UNSPEC     = 0x0\n\tRT_TABLE_COMPAT     = 0xfc\n\tRT_TABLE_DEFAULT    = 0xfd\n\tRT_TABLE_MAIN       = 0xfe\n\tRT_TABLE_LOCAL      = 0xff\n\tRT_TABLE_MAX        = 0xffffffff\n\tRTA_UNSPEC          = 0x0\n\tRTA_DST             = 0x1\n\tRTA_SRC             = 0x2\n\tRTA_IIF             = 0x3\n\tRTA_OIF             = 0x4\n\tRTA_GATEWAY         = 0x5\n\tRTA_PRIORITY        = 0x6\n\tRTA_PREFSRC         = 0x7\n\tRTA_METRICS         = 0x8\n\tRTA_MULTIPATH       = 0x9\n\tRTA_FLOW            = 0xb\n\tRTA_CACHEINFO       = 0xc\n\tRTA_TABLE           = 0xf\n\tRTN_UNSPEC          = 0x0\n\tRTN_UNICAST         = 0x1\n\tRTN_LOCAL           = 0x2\n\tRTN_BROADCAST       = 0x3\n\tRTN_ANYCAST         = 0x4\n\tRTN_MULTICAST       = 0x5\n\tRTN_BLACKHOLE       = 0x6\n\tRTN_UNREACHABLE     = 0x7\n\tRTN_PROHIBIT        = 0x8\n\tRTN_THROW           = 0x9\n\tRTN_NAT             = 0xa\n\tRTN_XRESOLVE        = 0xb\n\tRTNLGRP_NONE        = 0x0\n\tRTNLGRP_LINK        = 0x1\n\tRTNLGRP_NOTIFY      = 0x2\n\tRTNLGRP_NEIGH       = 0x3\n\tRTNLGRP_TC          = 0x4\n\tRTNLGRP_IPV4_IFADDR = 0x5\n\tRTNLGRP_IPV4_MROUTE = 0x6\n\tRTNLGRP_IPV4_ROUTE  = 0x7\n\tRTNLGRP_IPV4_RULE   = 0x8\n\tRTNLGRP_IPV6_IFADDR = 0x9\n\tRTNLGRP_IPV6_MROUTE = 0xa\n\tRTNLGRP_IPV6_ROUTE  = 0xb\n\tRTNLGRP_IPV6_IFINFO = 0xc\n\tRTNLGRP_IPV6_PREFIX = 0x12\n\tRTNLGRP_IPV6_RULE   = 0x13\n\tRTNLGRP_ND_USEROPT  = 0x14\n\tSizeofNlMsghdr      = 0x10\n\tSizeofNlMsgerr      = 0x14\n\tSizeofRtGenmsg      = 0x1\n\tSizeofNlAttr        = 0x4\n\tSizeofRtAttr        = 0x4\n\tSizeofIfInfomsg     = 0x10\n\tSizeofIfAddrmsg     = 0x8\n\tSizeofRtMsg         = 0xc\n\tSizeofRtNexthop     = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily     uint8\n\tX__ifi_pad uint8\n\tType       uint16\n\tIndex      int32\n\tFlags      uint32\n\tChange     uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen       uint16\n\tPad_cgo_0 [6]byte\n\tFilter    *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tGpr       [32]uint64\n\tNip       uint64\n\tMsr       uint64\n\tOrig_gpr3 uint64\n\tCtr       uint64\n\tLink      uint64\n\tXer       uint64\n\tCcr       uint64\n\tSofte     uint64\n\tTrap      uint64\n\tDar       uint64\n\tDsisr     uint64\n\tResult    uint64\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\tPad_cgo_0 [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\tX_f       [0]uint8\n\tPad_cgo_1 [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree     int32\n\tPad_cgo_0 [4]byte\n\tTinode    uint64\n\tFname     [6]uint8\n\tFpack     [6]uint8\n\tPad_cgo_1 [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents  uint32\n\tX_padFd int32\n\tFd      int32\n\tPad     int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_NO_AUTOMOUNT     = 0x800\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tX__val [16]uint64\n}\n\nconst RNDGETENTCNT = 0x40045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [19]uint8\n\tLine   uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\tPad_cgo_0                 [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\tPad_cgo_1                 [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]uint8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\tPad_cgo_2                 [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\tPad_cgo_3                 [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build ppc64le,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\tPad_cgo_0 [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\tPad_cgo_1 [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\tPad_cgo_2 [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\tPad_cgo_3 [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint64\n\tIno     uint64\n\tNlink   uint64\n\tMode    uint32\n\tUid     uint32\n\tGid     uint32\n\tX__pad2 int32\n\tRdev    uint64\n\tSize    int64\n\tBlksize int64\n\tBlocks  int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\t_       uint64\n\t_       uint64\n\t_       uint64\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFrsize  int64\n\tFlags   int64\n\tSpare   [4]int64\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tType      uint8\n\tName      [256]uint8\n\tPad_cgo_0 [5]byte\n}\n\ntype Fsid struct {\n\tX__val [2]int32\n}\n\ntype Flock_t struct {\n\tType      int16\n\tWhence    int16\n\tPad_cgo_0 [4]byte\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tPad_cgo_1 [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily    uint16\n\tPad_cgo_0 [2]byte\n\tIfindex   int32\n\tAddr      [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]uint8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]uint8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\tPad_cgo_1  [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\tPad_cgo_0      [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC          = 0x0\n\tIFA_ADDRESS         = 0x1\n\tIFA_LOCAL           = 0x2\n\tIFA_LABEL           = 0x3\n\tIFA_BROADCAST       = 0x4\n\tIFA_ANYCAST         = 0x5\n\tIFA_CACHEINFO       = 0x6\n\tIFA_MULTICAST       = 0x7\n\tIFLA_UNSPEC         = 0x0\n\tIFLA_ADDRESS        = 0x1\n\tIFLA_BROADCAST      = 0x2\n\tIFLA_IFNAME         = 0x3\n\tIFLA_MTU            = 0x4\n\tIFLA_LINK           = 0x5\n\tIFLA_QDISC          = 0x6\n\tIFLA_STATS          = 0x7\n\tIFLA_COST           = 0x8\n\tIFLA_PRIORITY       = 0x9\n\tIFLA_MASTER         = 0xa\n\tIFLA_WIRELESS       = 0xb\n\tIFLA_PROTINFO       = 0xc\n\tIFLA_TXQLEN         = 0xd\n\tIFLA_MAP            = 0xe\n\tIFLA_WEIGHT         = 0xf\n\tIFLA_OPERSTATE      = 0x10\n\tIFLA_LINKMODE       = 0x11\n\tIFLA_LINKINFO       = 0x12\n\tIFLA_NET_NS_PID     = 0x13\n\tIFLA_IFALIAS        = 0x14\n\tIFLA_MAX            = 0x2c\n\tRT_SCOPE_UNIVERSE   = 0x0\n\tRT_SCOPE_SITE       = 0xc8\n\tRT_SCOPE_LINK       = 0xfd\n\tRT_SCOPE_HOST       = 0xfe\n\tRT_SCOPE_NOWHERE    = 0xff\n\tRT_TABLE_UNSPEC     = 0x0\n\tRT_TABLE_COMPAT     = 0xfc\n\tRT_TABLE_DEFAULT    = 0xfd\n\tRT_TABLE_MAIN       = 0xfe\n\tRT_TABLE_LOCAL      = 0xff\n\tRT_TABLE_MAX        = 0xffffffff\n\tRTA_UNSPEC          = 0x0\n\tRTA_DST             = 0x1\n\tRTA_SRC             = 0x2\n\tRTA_IIF             = 0x3\n\tRTA_OIF             = 0x4\n\tRTA_GATEWAY         = 0x5\n\tRTA_PRIORITY        = 0x6\n\tRTA_PREFSRC         = 0x7\n\tRTA_METRICS         = 0x8\n\tRTA_MULTIPATH       = 0x9\n\tRTA_FLOW            = 0xb\n\tRTA_CACHEINFO       = 0xc\n\tRTA_TABLE           = 0xf\n\tRTN_UNSPEC          = 0x0\n\tRTN_UNICAST         = 0x1\n\tRTN_LOCAL           = 0x2\n\tRTN_BROADCAST       = 0x3\n\tRTN_ANYCAST         = 0x4\n\tRTN_MULTICAST       = 0x5\n\tRTN_BLACKHOLE       = 0x6\n\tRTN_UNREACHABLE     = 0x7\n\tRTN_PROHIBIT        = 0x8\n\tRTN_THROW           = 0x9\n\tRTN_NAT             = 0xa\n\tRTN_XRESOLVE        = 0xb\n\tRTNLGRP_NONE        = 0x0\n\tRTNLGRP_LINK        = 0x1\n\tRTNLGRP_NOTIFY      = 0x2\n\tRTNLGRP_NEIGH       = 0x3\n\tRTNLGRP_TC          = 0x4\n\tRTNLGRP_IPV4_IFADDR = 0x5\n\tRTNLGRP_IPV4_MROUTE = 0x6\n\tRTNLGRP_IPV4_ROUTE  = 0x7\n\tRTNLGRP_IPV4_RULE   = 0x8\n\tRTNLGRP_IPV6_IFADDR = 0x9\n\tRTNLGRP_IPV6_MROUTE = 0xa\n\tRTNLGRP_IPV6_ROUTE  = 0xb\n\tRTNLGRP_IPV6_IFINFO = 0xc\n\tRTNLGRP_IPV6_PREFIX = 0x12\n\tRTNLGRP_IPV6_RULE   = 0x13\n\tRTNLGRP_ND_USEROPT  = 0x14\n\tSizeofNlMsghdr      = 0x10\n\tSizeofNlMsgerr      = 0x14\n\tSizeofRtGenmsg      = 0x1\n\tSizeofNlAttr        = 0x4\n\tSizeofRtAttr        = 0x4\n\tSizeofIfInfomsg     = 0x10\n\tSizeofIfAddrmsg     = 0x8\n\tSizeofRtMsg         = 0xc\n\tSizeofRtNexthop     = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily     uint8\n\tX__ifi_pad uint8\n\tType       uint16\n\tIndex      int32\n\tFlags      uint32\n\tChange     uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen       uint16\n\tPad_cgo_0 [6]byte\n\tFilter    *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tGpr       [32]uint64\n\tNip       uint64\n\tMsr       uint64\n\tOrig_gpr3 uint64\n\tCtr       uint64\n\tLink      uint64\n\tXer       uint64\n\tCcr       uint64\n\tSofte     uint64\n\tTrap      uint64\n\tDar       uint64\n\tDsisr     uint64\n\tResult    uint64\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\tPad_cgo_0 [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\tX_f       [0]uint8\n\tPad_cgo_1 [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree     int32\n\tPad_cgo_0 [4]byte\n\tTinode    uint64\n\tFname     [6]uint8\n\tFpack     [6]uint8\n\tPad_cgo_1 [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents  uint32\n\tX_padFd int32\n\tFd      int32\n\tPad     int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_NO_AUTOMOUNT     = 0x800\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tX__val [16]uint64\n}\n\nconst RNDGETENTCNT = 0x40045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [19]uint8\n\tLine   uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\tPad_cgo_0                 [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\tPad_cgo_1                 [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]uint8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\tPad_cgo_2                 [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\tPad_cgo_3                 [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build s390x,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\t_         [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\t_         [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\t_         [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\t_         [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint64\n\tIno     uint64\n\tNlink   uint64\n\tMode    uint32\n\tUid     uint32\n\tGid     uint32\n\t_       int32\n\tRdev    uint64\n\tSize    int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tBlksize int64\n\tBlocks  int64\n\t_       [3]int64\n}\n\ntype Statfs_t struct {\n\tType    uint32\n\tBsize   uint32\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen uint32\n\tFrsize  uint32\n\tFlags   uint32\n\tSpare   [4]uint32\n\t_       [4]byte\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tName   [256]int8\n\t_      [5]byte\n}\n\ntype Fsid struct {\n\t_ [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\t_      [4]byte\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\t_      [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x6\n\tFADV_NOREUSE    = 0x7\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily  uint16\n\t_       [2]byte\n\tIfindex int32\n\tAddr    [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\t_          [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\t_          [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\t_              [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC          = 0x0\n\tIFA_ADDRESS         = 0x1\n\tIFA_LOCAL           = 0x2\n\tIFA_LABEL           = 0x3\n\tIFA_BROADCAST       = 0x4\n\tIFA_ANYCAST         = 0x5\n\tIFA_CACHEINFO       = 0x6\n\tIFA_MULTICAST       = 0x7\n\tIFLA_UNSPEC         = 0x0\n\tIFLA_ADDRESS        = 0x1\n\tIFLA_BROADCAST      = 0x2\n\tIFLA_IFNAME         = 0x3\n\tIFLA_MTU            = 0x4\n\tIFLA_LINK           = 0x5\n\tIFLA_QDISC          = 0x6\n\tIFLA_STATS          = 0x7\n\tIFLA_COST           = 0x8\n\tIFLA_PRIORITY       = 0x9\n\tIFLA_MASTER         = 0xa\n\tIFLA_WIRELESS       = 0xb\n\tIFLA_PROTINFO       = 0xc\n\tIFLA_TXQLEN         = 0xd\n\tIFLA_MAP            = 0xe\n\tIFLA_WEIGHT         = 0xf\n\tIFLA_OPERSTATE      = 0x10\n\tIFLA_LINKMODE       = 0x11\n\tIFLA_LINKINFO       = 0x12\n\tIFLA_NET_NS_PID     = 0x13\n\tIFLA_IFALIAS        = 0x14\n\tIFLA_MAX            = 0x2c\n\tRT_SCOPE_UNIVERSE   = 0x0\n\tRT_SCOPE_SITE       = 0xc8\n\tRT_SCOPE_LINK       = 0xfd\n\tRT_SCOPE_HOST       = 0xfe\n\tRT_SCOPE_NOWHERE    = 0xff\n\tRT_TABLE_UNSPEC     = 0x0\n\tRT_TABLE_COMPAT     = 0xfc\n\tRT_TABLE_DEFAULT    = 0xfd\n\tRT_TABLE_MAIN       = 0xfe\n\tRT_TABLE_LOCAL      = 0xff\n\tRT_TABLE_MAX        = 0xffffffff\n\tRTA_UNSPEC          = 0x0\n\tRTA_DST             = 0x1\n\tRTA_SRC             = 0x2\n\tRTA_IIF             = 0x3\n\tRTA_OIF             = 0x4\n\tRTA_GATEWAY         = 0x5\n\tRTA_PRIORITY        = 0x6\n\tRTA_PREFSRC         = 0x7\n\tRTA_METRICS         = 0x8\n\tRTA_MULTIPATH       = 0x9\n\tRTA_FLOW            = 0xb\n\tRTA_CACHEINFO       = 0xc\n\tRTA_TABLE           = 0xf\n\tRTN_UNSPEC          = 0x0\n\tRTN_UNICAST         = 0x1\n\tRTN_LOCAL           = 0x2\n\tRTN_BROADCAST       = 0x3\n\tRTN_ANYCAST         = 0x4\n\tRTN_MULTICAST       = 0x5\n\tRTN_BLACKHOLE       = 0x6\n\tRTN_UNREACHABLE     = 0x7\n\tRTN_PROHIBIT        = 0x8\n\tRTN_THROW           = 0x9\n\tRTN_NAT             = 0xa\n\tRTN_XRESOLVE        = 0xb\n\tRTNLGRP_NONE        = 0x0\n\tRTNLGRP_LINK        = 0x1\n\tRTNLGRP_NOTIFY      = 0x2\n\tRTNLGRP_NEIGH       = 0x3\n\tRTNLGRP_TC          = 0x4\n\tRTNLGRP_IPV4_IFADDR = 0x5\n\tRTNLGRP_IPV4_MROUTE = 0x6\n\tRTNLGRP_IPV4_ROUTE  = 0x7\n\tRTNLGRP_IPV4_RULE   = 0x8\n\tRTNLGRP_IPV6_IFADDR = 0x9\n\tRTNLGRP_IPV6_MROUTE = 0xa\n\tRTNLGRP_IPV6_ROUTE  = 0xb\n\tRTNLGRP_IPV6_IFINFO = 0xc\n\tRTNLGRP_IPV6_PREFIX = 0x12\n\tRTNLGRP_IPV6_RULE   = 0x13\n\tRTNLGRP_ND_USEROPT  = 0x14\n\tSizeofNlMsghdr      = 0x10\n\tSizeofNlMsgerr      = 0x14\n\tSizeofRtGenmsg      = 0x1\n\tSizeofNlAttr        = 0x4\n\tSizeofRtAttr        = 0x4\n\tSizeofIfInfomsg     = 0x10\n\tSizeofIfAddrmsg     = 0x8\n\tSizeofRtMsg         = 0xc\n\tSizeofRtNexthop     = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily uint8\n\t_      uint8\n\tType   uint16\n\tIndex  int32\n\tFlags  uint32\n\tChange uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen    uint16\n\t_      [6]byte\n\tFilter *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tPsw                      PtracePsw\n\tGprs                     [16]uint64\n\tAcrs                     [16]uint32\n\tOrig_gpr2                uint64\n\tFp_regs                  PtraceFpregs\n\tPer_info                 PtracePer\n\tIeee_instruction_pointer uint64\n}\n\ntype PtracePsw struct {\n\tMask uint64\n\tAddr uint64\n}\n\ntype PtraceFpregs struct {\n\tFpc  uint32\n\t_    [4]byte\n\tFprs [16]float64\n}\n\ntype PtracePer struct {\n\t_             [0]uint64\n\t_             [24]byte\n\t_             [8]byte\n\tStarting_addr uint64\n\tEnding_addr   uint64\n\tPerc_atmid    uint16\n\t_             [6]byte\n\tAddress       uint64\n\tAccess_id     uint8\n\t_             [7]byte\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\t_         [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\t_         [0]int8\n\t_         [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\t_      [4]byte\n\tTinode uint64\n\tFname  [6]int8\n\tFpack  [6]int8\n\t_      [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\t_      int32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_NO_AUTOMOUNT     = 0x800\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\t_ [16]uint64\n}\n\nconst RNDGETENTCNT = 0x80045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [19]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\t_                         [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\t_                         [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\t_                         [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\t_                         [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go",
    "content": "// +build sparc64,linux\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types_linux.go | go run mkpost.go\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec       int64\n\tUsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Timex struct {\n\tModes     uint32\n\tPad_cgo_0 [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\tPad_cgo_1 [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\tPad_cgo_2 [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\tPad_cgo_3 [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev                uint64\n\tX__pad1            uint16\n\tPad_cgo_0          [6]byte\n\tIno                uint64\n\tMode               uint32\n\tNlink              uint32\n\tUid                uint32\n\tGid                uint32\n\tRdev               uint64\n\tX__pad2            uint16\n\tPad_cgo_1          [6]byte\n\tSize               int64\n\tBlksize            int64\n\tBlocks             int64\n\tAtim               Timespec\n\tMtim               Timespec\n\tCtim               Timespec\n\tX__glibc_reserved4 uint64\n\tX__glibc_reserved5 uint64\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFrsize  int64\n\tFlags   int64\n\tSpare   [4]int64\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tType      uint8\n\tName      [256]int8\n\tPad_cgo_0 [5]byte\n}\n\ntype Fsid struct {\n\tX__val [2]int32\n}\n\ntype Flock_t struct {\n\tType              int16\n\tWhence            int16\n\tPad_cgo_0         [4]byte\n\tStart             int64\n\tLen               int64\n\tPid               int32\n\tX__glibc_reserved int16\n\tPad_cgo_1         [2]byte\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily    uint16\n\tPad_cgo_0 [2]byte\n\tIfindex   int32\n\tAddr      [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\tPad_cgo_1  [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\tPad_cgo_0      [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC          = 0x0\n\tIFA_ADDRESS         = 0x1\n\tIFA_LOCAL           = 0x2\n\tIFA_LABEL           = 0x3\n\tIFA_BROADCAST       = 0x4\n\tIFA_ANYCAST         = 0x5\n\tIFA_CACHEINFO       = 0x6\n\tIFA_MULTICAST       = 0x7\n\tIFLA_UNSPEC         = 0x0\n\tIFLA_ADDRESS        = 0x1\n\tIFLA_BROADCAST      = 0x2\n\tIFLA_IFNAME         = 0x3\n\tIFLA_MTU            = 0x4\n\tIFLA_LINK           = 0x5\n\tIFLA_QDISC          = 0x6\n\tIFLA_STATS          = 0x7\n\tIFLA_COST           = 0x8\n\tIFLA_PRIORITY       = 0x9\n\tIFLA_MASTER         = 0xa\n\tIFLA_WIRELESS       = 0xb\n\tIFLA_PROTINFO       = 0xc\n\tIFLA_TXQLEN         = 0xd\n\tIFLA_MAP            = 0xe\n\tIFLA_WEIGHT         = 0xf\n\tIFLA_OPERSTATE      = 0x10\n\tIFLA_LINKMODE       = 0x11\n\tIFLA_LINKINFO       = 0x12\n\tIFLA_NET_NS_PID     = 0x13\n\tIFLA_IFALIAS        = 0x14\n\tIFLA_MAX            = 0x2a\n\tRT_SCOPE_UNIVERSE   = 0x0\n\tRT_SCOPE_SITE       = 0xc8\n\tRT_SCOPE_LINK       = 0xfd\n\tRT_SCOPE_HOST       = 0xfe\n\tRT_SCOPE_NOWHERE    = 0xff\n\tRT_TABLE_UNSPEC     = 0x0\n\tRT_TABLE_COMPAT     = 0xfc\n\tRT_TABLE_DEFAULT    = 0xfd\n\tRT_TABLE_MAIN       = 0xfe\n\tRT_TABLE_LOCAL      = 0xff\n\tRT_TABLE_MAX        = 0xffffffff\n\tRTA_UNSPEC          = 0x0\n\tRTA_DST             = 0x1\n\tRTA_SRC             = 0x2\n\tRTA_IIF             = 0x3\n\tRTA_OIF             = 0x4\n\tRTA_GATEWAY         = 0x5\n\tRTA_PRIORITY        = 0x6\n\tRTA_PREFSRC         = 0x7\n\tRTA_METRICS         = 0x8\n\tRTA_MULTIPATH       = 0x9\n\tRTA_FLOW            = 0xb\n\tRTA_CACHEINFO       = 0xc\n\tRTA_TABLE           = 0xf\n\tRTN_UNSPEC          = 0x0\n\tRTN_UNICAST         = 0x1\n\tRTN_LOCAL           = 0x2\n\tRTN_BROADCAST       = 0x3\n\tRTN_ANYCAST         = 0x4\n\tRTN_MULTICAST       = 0x5\n\tRTN_BLACKHOLE       = 0x6\n\tRTN_UNREACHABLE     = 0x7\n\tRTN_PROHIBIT        = 0x8\n\tRTN_THROW           = 0x9\n\tRTN_NAT             = 0xa\n\tRTN_XRESOLVE        = 0xb\n\tRTNLGRP_NONE        = 0x0\n\tRTNLGRP_LINK        = 0x1\n\tRTNLGRP_NOTIFY      = 0x2\n\tRTNLGRP_NEIGH       = 0x3\n\tRTNLGRP_TC          = 0x4\n\tRTNLGRP_IPV4_IFADDR = 0x5\n\tRTNLGRP_IPV4_MROUTE = 0x6\n\tRTNLGRP_IPV4_ROUTE  = 0x7\n\tRTNLGRP_IPV4_RULE   = 0x8\n\tRTNLGRP_IPV6_IFADDR = 0x9\n\tRTNLGRP_IPV6_MROUTE = 0xa\n\tRTNLGRP_IPV6_ROUTE  = 0xb\n\tRTNLGRP_IPV6_IFINFO = 0xc\n\tRTNLGRP_IPV6_PREFIX = 0x12\n\tRTNLGRP_IPV6_RULE   = 0x13\n\tRTNLGRP_ND_USEROPT  = 0x14\n\tSizeofNlMsghdr      = 0x10\n\tSizeofNlMsgerr      = 0x14\n\tSizeofRtGenmsg      = 0x1\n\tSizeofNlAttr        = 0x4\n\tSizeofRtAttr        = 0x4\n\tSizeofIfInfomsg     = 0x10\n\tSizeofIfAddrmsg     = 0x8\n\tSizeofRtMsg         = 0xc\n\tSizeofRtNexthop     = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily     uint8\n\tX__ifi_pad uint8\n\tType       uint16\n\tIndex      int32\n\tFlags      uint32\n\tChange     uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen       uint16\n\tPad_cgo_0 [6]byte\n\tFilter    *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tRegs   [16]uint64\n\tTstate uint64\n\tTpc    uint64\n\tTnpc   uint64\n\tY      uint32\n\tMagic  uint32\n}\n\ntype ptracePsw struct {\n}\n\ntype ptraceFpregs struct {\n}\n\ntype ptracePer struct {\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\tPad_cgo_0 [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\tX_f       [0]int8\n\tPad_cgo_1 [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree     int32\n\tPad_cgo_0 [4]byte\n\tTinode    uint64\n\tFname     [6]int8\n\tFpack     [6]int8\n\tPad_cgo_1 [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents  uint32\n\tX_padFd int32\n\tFd      int32\n\tPad     int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x800\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tX__val [16]uint64\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [19]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go",
    "content": "// cgo -godefs types_netbsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,netbsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           uint64\n\tMode          uint32\n\tIno           uint64\n\tNlink         uint32\n\tUid           uint32\n\tGid           uint32\n\tRdev          uint64\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       uint32\n\tFlags         uint32\n\tGen           uint32\n\tSpare         [2]uint32\n}\n\ntype Statfs_t [0]byte\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno    uint64\n\tReclen    uint16\n\tNamlen    uint16\n\tType      uint8\n\tName      [512]int8\n\tPad_cgo_0 [3]byte\n}\n\ntype Fsid struct {\n\tX__fsid_val [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     int32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter uint32\n\tFlags  uint32\n\tFflags uint32\n\tData   int64\n\tUdata  int32\n}\n\ntype FdSet struct {\n\tBits [8]uint32\n}\n\nconst (\n\tSizeofIfMsghdr         = 0x98\n\tSizeofIfData           = 0x84\n\tSizeofIfaMsghdr        = 0x18\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x78\n\tSizeofRtMetrics        = 0x50\n)\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n\tPad_cgo_1 [4]byte\n}\n\ntype IfData struct {\n\tType       uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tPad_cgo_0  [1]byte\n\tLink_state int32\n\tMtu        uint64\n\tMetric     uint64\n\tBaudrate   uint64\n\tIpackets   uint64\n\tIerrors    uint64\n\tOpackets   uint64\n\tOerrors    uint64\n\tCollisions uint64\n\tIbytes     uint64\n\tObytes     uint64\n\tImcasts    uint64\n\tOmcasts    uint64\n\tIqdrops    uint64\n\tNoproto    uint64\n\tLastchange Timespec\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tMetric    int32\n\tIndex     uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tUse       int32\n\tInits     int32\n\tPad_cgo_1 [4]byte\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint64\n\tMtu      uint64\n\tHopcount uint64\n\tRecvpipe uint64\n\tSendpipe uint64\n\tSsthresh uint64\n\tRtt      uint64\n\tRttvar   uint64\n\tExpire   int64\n\tPksent   int64\n}\n\ntype Mclpool [0]byte\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x80\n\tSizeofBpfProgram = 0x8\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv    uint64\n\tDrop    uint64\n\tCapt    uint64\n\tPadding [13]uint64\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    BpfTimeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype BpfTimeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed int32\n\tOspeed int32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_SYMLINK_NOFOLLOW = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Sysctlnode struct {\n\tFlags           uint32\n\tNum             int32\n\tName            [32]int8\n\tVer             uint32\n\tX__rsvd         uint32\n\tUn              [16]byte\n\tX_sysctl_size   [8]byte\n\tX_sysctl_func   [8]byte\n\tX_sysctl_parent [8]byte\n\tX_sysctl_desc   [8]byte\n}\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go",
    "content": "// cgo -godefs types_netbsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,netbsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec       int64\n\tUsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           uint64\n\tMode          uint32\n\tPad_cgo_0     [4]byte\n\tIno           uint64\n\tNlink         uint32\n\tUid           uint32\n\tGid           uint32\n\tPad_cgo_1     [4]byte\n\tRdev          uint64\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       uint32\n\tFlags         uint32\n\tGen           uint32\n\tSpare         [2]uint32\n\tPad_cgo_2     [4]byte\n}\n\ntype Statfs_t [0]byte\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno    uint64\n\tReclen    uint16\n\tNamlen    uint16\n\tType      uint8\n\tName      [512]int8\n\tPad_cgo_0 [3]byte\n}\n\ntype Fsid struct {\n\tX__fsid_val [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     int32\n\tPad_cgo_1  [4]byte\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent     uint64\n\tFilter    uint32\n\tFlags     uint32\n\tFflags    uint32\n\tPad_cgo_0 [4]byte\n\tData      int64\n\tUdata     int64\n}\n\ntype FdSet struct {\n\tBits [8]uint32\n}\n\nconst (\n\tSizeofIfMsghdr         = 0x98\n\tSizeofIfData           = 0x88\n\tSizeofIfaMsghdr        = 0x18\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x78\n\tSizeofRtMetrics        = 0x50\n)\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tPad_cgo_0  [1]byte\n\tLink_state int32\n\tMtu        uint64\n\tMetric     uint64\n\tBaudrate   uint64\n\tIpackets   uint64\n\tIerrors    uint64\n\tOpackets   uint64\n\tOerrors    uint64\n\tCollisions uint64\n\tIbytes     uint64\n\tObytes     uint64\n\tImcasts    uint64\n\tOmcasts    uint64\n\tIqdrops    uint64\n\tNoproto    uint64\n\tLastchange Timespec\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tMetric    int32\n\tIndex     uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tUse       int32\n\tInits     int32\n\tPad_cgo_1 [4]byte\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint64\n\tMtu      uint64\n\tHopcount uint64\n\tRecvpipe uint64\n\tSendpipe uint64\n\tSsthresh uint64\n\tRtt      uint64\n\tRttvar   uint64\n\tExpire   int64\n\tPksent   int64\n}\n\ntype Mclpool [0]byte\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x80\n\tSizeofBpfProgram = 0x10\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x20\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv    uint64\n\tDrop    uint64\n\tCapt    uint64\n\tPadding [13]uint64\n}\n\ntype BpfProgram struct {\n\tLen       uint32\n\tPad_cgo_0 [4]byte\n\tInsns     *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    BpfTimeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype BpfTimeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed int32\n\tOspeed int32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_SYMLINK_NOFOLLOW = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Sysctlnode struct {\n\tFlags           uint32\n\tNum             int32\n\tName            [32]int8\n\tVer             uint32\n\tX__rsvd         uint32\n\tUn              [16]byte\n\tX_sysctl_size   [8]byte\n\tX_sysctl_func   [8]byte\n\tX_sysctl_parent [8]byte\n\tX_sysctl_desc   [8]byte\n}\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go",
    "content": "// cgo -godefs types_netbsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,netbsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec       int64\n\tNsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Timeval struct {\n\tSec       int64\n\tUsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           uint64\n\tMode          uint32\n\tPad_cgo_0     [4]byte\n\tIno           uint64\n\tNlink         uint32\n\tUid           uint32\n\tGid           uint32\n\tPad_cgo_1     [4]byte\n\tRdev          uint64\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       uint32\n\tFlags         uint32\n\tGen           uint32\n\tSpare         [2]uint32\n\tPad_cgo_2     [4]byte\n}\n\ntype Statfs_t [0]byte\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno    uint64\n\tReclen    uint16\n\tNamlen    uint16\n\tType      uint8\n\tName      [512]int8\n\tPad_cgo_0 [3]byte\n}\n\ntype Fsid struct {\n\tX__fsid_val [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     int32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent     uint32\n\tFilter    uint32\n\tFlags     uint32\n\tFflags    uint32\n\tData      int64\n\tUdata     int32\n\tPad_cgo_0 [4]byte\n}\n\ntype FdSet struct {\n\tBits [8]uint32\n}\n\nconst (\n\tSizeofIfMsghdr         = 0x98\n\tSizeofIfData           = 0x88\n\tSizeofIfaMsghdr        = 0x18\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x78\n\tSizeofRtMetrics        = 0x50\n)\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tPad_cgo_0  [1]byte\n\tLink_state int32\n\tMtu        uint64\n\tMetric     uint64\n\tBaudrate   uint64\n\tIpackets   uint64\n\tIerrors    uint64\n\tOpackets   uint64\n\tOerrors    uint64\n\tCollisions uint64\n\tIbytes     uint64\n\tObytes     uint64\n\tImcasts    uint64\n\tOmcasts    uint64\n\tIqdrops    uint64\n\tNoproto    uint64\n\tLastchange Timespec\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tMetric    int32\n\tIndex     uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tUse       int32\n\tInits     int32\n\tPad_cgo_1 [4]byte\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint64\n\tMtu      uint64\n\tHopcount uint64\n\tRecvpipe uint64\n\tSendpipe uint64\n\tSsthresh uint64\n\tRtt      uint64\n\tRttvar   uint64\n\tExpire   int64\n\tPksent   int64\n}\n\ntype Mclpool [0]byte\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x80\n\tSizeofBpfProgram = 0x8\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv    uint64\n\tDrop    uint64\n\tCapt    uint64\n\tPadding [13]uint64\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    BpfTimeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype BpfTimeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed int32\n\tOspeed int32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_SYMLINK_NOFOLLOW = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Sysctlnode struct {\n\tFlags           uint32\n\tNum             int32\n\tName            [32]int8\n\tVer             uint32\n\tX__rsvd         uint32\n\tUn              [16]byte\n\tX_sysctl_size   [8]byte\n\tX_sysctl_func   [8]byte\n\tX_sysctl_parent [8]byte\n\tX_sysctl_desc   [8]byte\n}\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go",
    "content": "// cgo -godefs types_openbsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,openbsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\nconst (\n\tS_IFMT   = 0xf000\n\tS_IFIFO  = 0x1000\n\tS_IFCHR  = 0x2000\n\tS_IFDIR  = 0x4000\n\tS_IFBLK  = 0x6000\n\tS_IFREG  = 0x8000\n\tS_IFLNK  = 0xa000\n\tS_IFSOCK = 0xc000\n\tS_ISUID  = 0x800\n\tS_ISGID  = 0x400\n\tS_ISVTX  = 0x200\n\tS_IRUSR  = 0x100\n\tS_IWUSR  = 0x80\n\tS_IXUSR  = 0x40\n)\n\ntype Stat_t struct {\n\tMode           uint32\n\tDev            int32\n\tIno            uint64\n\tNlink          uint32\n\tUid            uint32\n\tGid            uint32\n\tRdev           int32\n\tAtim           Timespec\n\tMtim           Timespec\n\tCtim           Timespec\n\tSize           int64\n\tBlocks         int64\n\tBlksize        uint32\n\tFlags          uint32\n\tGen            uint32\n\tX__st_birthtim Timespec\n}\n\ntype Statfs_t struct {\n\tF_flags       uint32\n\tF_bsize       uint32\n\tF_iosize      uint32\n\tF_blocks      uint64\n\tF_bfree       uint64\n\tF_bavail      int64\n\tF_files       uint64\n\tF_ffree       uint64\n\tF_favail      int64\n\tF_syncwrites  uint64\n\tF_syncreads   uint64\n\tF_asyncwrites uint64\n\tF_asyncreads  uint64\n\tF_fsid        Fsid\n\tF_namemax     uint32\n\tF_owner       uint32\n\tF_ctime       uint64\n\tF_fstypename  [16]int8\n\tF_mntonname   [90]int8\n\tF_mntfromname [90]int8\n\tF_mntfromspec [90]int8\n\tPad_cgo_0     [2]byte\n\tMount_info    [160]byte\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno       uint64\n\tOff          int64\n\tReclen       uint16\n\tType         uint8\n\tNamlen       uint8\n\tX__d_padding [4]uint8\n\tName         [256]int8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [24]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     uint32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x20\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]uint32\n}\n\nconst (\n\tSizeofIfMsghdr         = 0xec\n\tSizeofIfData           = 0xd4\n\tSizeofIfaMsghdr        = 0x18\n\tSizeofIfAnnounceMsghdr = 0x1a\n\tSizeofRtMsghdr         = 0x60\n\tSizeofRtMetrics        = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tTableid uint16\n\tPad1    uint8\n\tPad2    uint8\n\tAddrs   int32\n\tFlags   int32\n\tXflags  int32\n\tData    IfData\n}\n\ntype IfData struct {\n\tType         uint8\n\tAddrlen      uint8\n\tHdrlen       uint8\n\tLink_state   uint8\n\tMtu          uint32\n\tMetric       uint32\n\tPad          uint32\n\tBaudrate     uint64\n\tIpackets     uint64\n\tIerrors      uint64\n\tOpackets     uint64\n\tOerrors      uint64\n\tCollisions   uint64\n\tIbytes       uint64\n\tObytes       uint64\n\tImcasts      uint64\n\tOmcasts      uint64\n\tIqdrops      uint64\n\tNoproto      uint64\n\tCapabilities uint32\n\tLastchange   Timeval\n\tMclpool      [7]Mclpool\n}\n\ntype IfaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tTableid uint16\n\tPad1    uint8\n\tPad2    uint8\n\tAddrs   int32\n\tFlags   int32\n\tMetric  int32\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tWhat    uint16\n\tName    [16]int8\n}\n\ntype RtMsghdr struct {\n\tMsglen   uint16\n\tVersion  uint8\n\tType     uint8\n\tHdrlen   uint16\n\tIndex    uint16\n\tTableid  uint16\n\tPriority uint8\n\tMpls     uint8\n\tAddrs    int32\n\tFlags    int32\n\tFmask    int32\n\tPid      int32\n\tSeq      int32\n\tErrno    int32\n\tInits    uint32\n\tRmx      RtMetrics\n}\n\ntype RtMetrics struct {\n\tPksent   uint64\n\tExpire   int64\n\tLocks    uint32\n\tMtu      uint32\n\tRefcnt   uint32\n\tHopcount uint32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPad      uint32\n}\n\ntype Mclpool struct {\n\tGrown int32\n\tAlive uint16\n\tHwm   uint16\n\tCwm   uint16\n\tLwm   uint16\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x8\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    BpfTimeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype BpfTimeval struct {\n\tSec  uint32\n\tUsec uint32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed int32\n\tOspeed int32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_SYMLINK_NOFOLLOW = 0x2\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go",
    "content": "// cgo -godefs types_openbsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,openbsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\nconst (\n\tS_IFMT   = 0xf000\n\tS_IFIFO  = 0x1000\n\tS_IFCHR  = 0x2000\n\tS_IFDIR  = 0x4000\n\tS_IFBLK  = 0x6000\n\tS_IFREG  = 0x8000\n\tS_IFLNK  = 0xa000\n\tS_IFSOCK = 0xc000\n\tS_ISUID  = 0x800\n\tS_ISGID  = 0x400\n\tS_ISVTX  = 0x200\n\tS_IRUSR  = 0x100\n\tS_IWUSR  = 0x80\n\tS_IXUSR  = 0x40\n)\n\ntype Stat_t struct {\n\tMode           uint32\n\tDev            int32\n\tIno            uint64\n\tNlink          uint32\n\tUid            uint32\n\tGid            uint32\n\tRdev           int32\n\tAtim           Timespec\n\tMtim           Timespec\n\tCtim           Timespec\n\tSize           int64\n\tBlocks         int64\n\tBlksize        uint32\n\tFlags          uint32\n\tGen            uint32\n\tPad_cgo_0      [4]byte\n\tX__st_birthtim Timespec\n}\n\ntype Statfs_t struct {\n\tF_flags       uint32\n\tF_bsize       uint32\n\tF_iosize      uint32\n\tPad_cgo_0     [4]byte\n\tF_blocks      uint64\n\tF_bfree       uint64\n\tF_bavail      int64\n\tF_files       uint64\n\tF_ffree       uint64\n\tF_favail      int64\n\tF_syncwrites  uint64\n\tF_syncreads   uint64\n\tF_asyncwrites uint64\n\tF_asyncreads  uint64\n\tF_fsid        Fsid\n\tF_namemax     uint32\n\tF_owner       uint32\n\tF_ctime       uint64\n\tF_fstypename  [16]int8\n\tF_mntonname   [90]int8\n\tF_mntfromname [90]int8\n\tF_mntfromspec [90]int8\n\tPad_cgo_1     [2]byte\n\tMount_info    [160]byte\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno       uint64\n\tOff          int64\n\tReclen       uint16\n\tType         uint8\n\tNamlen       uint8\n\tX__d_padding [4]uint8\n\tName         [256]int8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [24]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     uint32\n\tPad_cgo_1  [4]byte\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x20\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint64\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]uint32\n}\n\nconst (\n\tSizeofIfMsghdr         = 0xf8\n\tSizeofIfData           = 0xe0\n\tSizeofIfaMsghdr        = 0x18\n\tSizeofIfAnnounceMsghdr = 0x1a\n\tSizeofRtMsghdr         = 0x60\n\tSizeofRtMetrics        = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tTableid uint16\n\tPad1    uint8\n\tPad2    uint8\n\tAddrs   int32\n\tFlags   int32\n\tXflags  int32\n\tData    IfData\n}\n\ntype IfData struct {\n\tType         uint8\n\tAddrlen      uint8\n\tHdrlen       uint8\n\tLink_state   uint8\n\tMtu          uint32\n\tMetric       uint32\n\tPad          uint32\n\tBaudrate     uint64\n\tIpackets     uint64\n\tIerrors      uint64\n\tOpackets     uint64\n\tOerrors      uint64\n\tCollisions   uint64\n\tIbytes       uint64\n\tObytes       uint64\n\tImcasts      uint64\n\tOmcasts      uint64\n\tIqdrops      uint64\n\tNoproto      uint64\n\tCapabilities uint32\n\tPad_cgo_0    [4]byte\n\tLastchange   Timeval\n\tMclpool      [7]Mclpool\n\tPad_cgo_1    [4]byte\n}\n\ntype IfaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tTableid uint16\n\tPad1    uint8\n\tPad2    uint8\n\tAddrs   int32\n\tFlags   int32\n\tMetric  int32\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tWhat    uint16\n\tName    [16]int8\n}\n\ntype RtMsghdr struct {\n\tMsglen   uint16\n\tVersion  uint8\n\tType     uint8\n\tHdrlen   uint16\n\tIndex    uint16\n\tTableid  uint16\n\tPriority uint8\n\tMpls     uint8\n\tAddrs    int32\n\tFlags    int32\n\tFmask    int32\n\tPid      int32\n\tSeq      int32\n\tErrno    int32\n\tInits    uint32\n\tRmx      RtMetrics\n}\n\ntype RtMetrics struct {\n\tPksent   uint64\n\tExpire   int64\n\tLocks    uint32\n\tMtu      uint32\n\tRefcnt   uint32\n\tHopcount uint32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPad      uint32\n}\n\ntype Mclpool struct {\n\tGrown int32\n\tAlive uint16\n\tHwm   uint16\n\tCwm   uint16\n\tLwm   uint16\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x10\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen       uint32\n\tPad_cgo_0 [4]byte\n\tInsns     *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    BpfTimeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype BpfTimeval struct {\n\tSec  uint32\n\tUsec uint32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed int32\n\tOspeed int32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_SYMLINK_NOFOLLOW = 0x2\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go",
    "content": "// cgo -godefs types_openbsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,openbsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\nconst (\n\tS_IFMT   = 0xf000\n\tS_IFIFO  = 0x1000\n\tS_IFCHR  = 0x2000\n\tS_IFDIR  = 0x4000\n\tS_IFBLK  = 0x6000\n\tS_IFREG  = 0x8000\n\tS_IFLNK  = 0xa000\n\tS_IFSOCK = 0xc000\n\tS_ISUID  = 0x800\n\tS_ISGID  = 0x400\n\tS_ISVTX  = 0x200\n\tS_IRUSR  = 0x100\n\tS_IWUSR  = 0x80\n\tS_IXUSR  = 0x40\n)\n\ntype Stat_t struct {\n\tMode           uint32\n\tDev            int32\n\tIno            uint64\n\tNlink          uint32\n\tUid            uint32\n\tGid            uint32\n\tRdev           int32\n\tAtim           Timespec\n\tMtim           Timespec\n\tCtim           Timespec\n\tSize           int64\n\tBlocks         int64\n\tBlksize        int32\n\tFlags          uint32\n\tGen            uint32\n\tX__st_birthtim Timespec\n}\n\ntype Statfs_t struct {\n\tF_flags       uint32\n\tF_bsize       uint32\n\tF_iosize      uint32\n\tF_blocks      uint64\n\tF_bfree       uint64\n\tF_bavail      int64\n\tF_files       uint64\n\tF_ffree       uint64\n\tF_favail      int64\n\tF_syncwrites  uint64\n\tF_syncreads   uint64\n\tF_asyncwrites uint64\n\tF_asyncreads  uint64\n\tF_fsid        Fsid\n\tF_namemax     uint32\n\tF_owner       uint32\n\tF_ctime       uint64\n\tF_fstypename  [16]uint8\n\tF_mntonname   [90]uint8\n\tF_mntfromname [90]uint8\n\tF_mntfromspec [90]uint8\n\tPad_cgo_0     [2]byte\n\tMount_info    [160]byte\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno       uint64\n\tOff          int64\n\tReclen       uint16\n\tType         uint8\n\tNamlen       uint8\n\tX__d_padding [4]uint8\n\tName         [256]uint8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [24]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     uint32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x20\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]uint32\n}\n\nconst (\n\tSizeofIfMsghdr         = 0x98\n\tSizeofIfData           = 0x80\n\tSizeofIfaMsghdr        = 0x18\n\tSizeofIfAnnounceMsghdr = 0x1a\n\tSizeofRtMsghdr         = 0x60\n\tSizeofRtMetrics        = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tTableid uint16\n\tPad1    uint8\n\tPad2    uint8\n\tAddrs   int32\n\tFlags   int32\n\tXflags  int32\n\tData    IfData\n}\n\ntype IfData struct {\n\tType         uint8\n\tAddrlen      uint8\n\tHdrlen       uint8\n\tLink_state   uint8\n\tMtu          uint32\n\tMetric       uint32\n\tPad          uint32\n\tBaudrate     uint64\n\tIpackets     uint64\n\tIerrors      uint64\n\tOpackets     uint64\n\tOerrors      uint64\n\tCollisions   uint64\n\tIbytes       uint64\n\tObytes       uint64\n\tImcasts      uint64\n\tOmcasts      uint64\n\tIqdrops      uint64\n\tNoproto      uint64\n\tCapabilities uint32\n\tLastchange   Timeval\n}\n\ntype IfaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tTableid uint16\n\tPad1    uint8\n\tPad2    uint8\n\tAddrs   int32\n\tFlags   int32\n\tMetric  int32\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tWhat    uint16\n\tName    [16]uint8\n}\n\ntype RtMsghdr struct {\n\tMsglen   uint16\n\tVersion  uint8\n\tType     uint8\n\tHdrlen   uint16\n\tIndex    uint16\n\tTableid  uint16\n\tPriority uint8\n\tMpls     uint8\n\tAddrs    int32\n\tFlags    int32\n\tFmask    int32\n\tPid      int32\n\tSeq      int32\n\tErrno    int32\n\tInits    uint32\n\tRmx      RtMetrics\n}\n\ntype RtMetrics struct {\n\tPksent   uint64\n\tExpire   int64\n\tLocks    uint32\n\tMtu      uint32\n\tRefcnt   uint32\n\tHopcount uint32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPad      uint32\n}\n\ntype Mclpool struct{}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x8\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    BpfTimeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype BpfTimeval struct {\n\tSec  uint32\n\tUsec uint32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed int32\n\tOspeed int32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_SYMLINK_NOFOLLOW = 0x2\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go",
    "content": "// cgo -godefs types_solaris.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,solaris\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x400\n\tMaxHostNameLen = 0x100\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timeval32 struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\nconst (\n\tS_IFMT   = 0xf000\n\tS_IFIFO  = 0x1000\n\tS_IFCHR  = 0x2000\n\tS_IFDIR  = 0x4000\n\tS_IFBLK  = 0x6000\n\tS_IFREG  = 0x8000\n\tS_IFLNK  = 0xa000\n\tS_IFSOCK = 0xc000\n\tS_ISUID  = 0x800\n\tS_ISGID  = 0x400\n\tS_ISVTX  = 0x200\n\tS_IRUSR  = 0x100\n\tS_IWUSR  = 0x80\n\tS_IXUSR  = 0x40\n)\n\ntype Stat_t struct {\n\tDev       uint64\n\tIno       uint64\n\tMode      uint32\n\tNlink     uint32\n\tUid       uint32\n\tGid       uint32\n\tRdev      uint64\n\tSize      int64\n\tAtim      Timespec\n\tMtim      Timespec\n\tCtim      Timespec\n\tBlksize   int32\n\tPad_cgo_0 [4]byte\n\tBlocks    int64\n\tFstype    [16]int8\n}\n\ntype Flock_t struct {\n\tType      int16\n\tWhence    int16\n\tPad_cgo_0 [4]byte\n\tStart     int64\n\tLen       int64\n\tSysid     int32\n\tPid       int32\n\tPad       [4]int64\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tName      [1]int8\n\tPad_cgo_0 [5]byte\n}\n\ntype _Fsblkcnt_t uint64\n\ntype Statvfs_t struct {\n\tBsize    uint64\n\tFrsize   uint64\n\tBlocks   uint64\n\tBfree    uint64\n\tBavail   uint64\n\tFiles    uint64\n\tFfree    uint64\n\tFavail   uint64\n\tFsid     uint64\n\tBasetype [16]int8\n\tFlag     uint64\n\tNamemax  uint64\n\tFstr     [32]int8\n}\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily         uint16\n\tPort           uint16\n\tFlowinfo       uint32\n\tAddr           [16]byte /* in6_addr */\n\tScope_id       uint32\n\tX__sin6_src_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tFamily uint16\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [244]int8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [236]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *int8\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName         *byte\n\tNamelen      uint32\n\tPad_cgo_0    [4]byte\n\tIov          *Iovec\n\tIovlen       int32\n\tPad_cgo_1    [4]byte\n\tAccrights    *int8\n\tAccrightslen int32\n\tPad_cgo_2    [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tX__icmp6_filt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x20\n\tSizeofSockaddrAny      = 0xfc\n\tSizeofSockaddrUnix     = 0x6e\n\tSizeofSockaddrDatalink = 0xfc\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x24\n\tSizeofICMPv6Filter     = 0x20\n)\n\ntype FdSet struct {\n\tBits [1024]int64\n}\n\ntype Utsname struct {\n\tSysname  [257]byte\n\tNodename [257]byte\n\tRelease  [257]byte\n\tVersion  [257]byte\n\tMachine  [257]byte\n}\n\ntype Ustat_t struct {\n\tTfree     int64\n\tTinode    uint64\n\tFname     [6]int8\n\tFpack     [6]int8\n\tPad_cgo_0 [4]byte\n}\n\nconst (\n\tAT_FDCWD            = 0xffd19553\n\tAT_SYMLINK_NOFOLLOW = 0x1000\n\tAT_SYMLINK_FOLLOW   = 0x2000\n\tAT_REMOVEDIR        = 0x1\n\tAT_EACCESS          = 0x4\n)\n\nconst (\n\tSizeofIfMsghdr  = 0x54\n\tSizeofIfData    = 0x44\n\tSizeofIfaMsghdr = 0x14\n\tSizeofRtMsghdr  = 0x4c\n\tSizeofRtMetrics = 0x28\n)\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tPad_cgo_0  [1]byte\n\tMtu        uint32\n\tMetric     uint32\n\tBaudrate   uint32\n\tIpackets   uint32\n\tIerrors    uint32\n\tOpackets   uint32\n\tOerrors    uint32\n\tCollisions uint32\n\tIbytes     uint32\n\tObytes     uint32\n\tImcasts    uint32\n\tOmcasts    uint32\n\tIqdrops    uint32\n\tNoproto    uint32\n\tLastchange Timeval32\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tMetric    int32\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tUse       int32\n\tInits     uint32\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   uint32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x80\n\tSizeofBpfProgram = 0x10\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv    uint64\n\tDrop    uint64\n\tCapt    uint64\n\tPadding [13]uint64\n}\n\ntype BpfProgram struct {\n\tLen       uint32\n\tPad_cgo_0 [4]byte\n\tInsns     *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfTimeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype BpfHdr struct {\n\tTstamp    BpfTimeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype Termios struct {\n\tIflag     uint32\n\tOflag     uint32\n\tCflag     uint32\n\tLflag     uint32\n\tCc        [19]uint8\n\tPad_cgo_0 [1]byte\n}\n\ntype Termio struct {\n\tIflag     uint16\n\tOflag     uint16\n\tCflag     uint16\n\tLflag     uint16\n\tLine      int8\n\tCc        [8]uint8\n\tPad_cgo_0 [1]byte\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/LICENSE",
    "content": "Copyright (c) 2009 The Go Authors. 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\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/golang.org/x/text/PATENTS",
    "content": "Additional IP Rights Grant (Patents)\n\n\"This implementation\" means the copyrightable works distributed by\nGoogle as part of the Go project.\n\nGoogle hereby grants to You a perpetual, worldwide, non-exclusive,\nno-charge, royalty-free, irrevocable (except as stated in this section)\npatent license to make, have made, use, offer to sell, sell, import,\ntransfer and otherwise run, modify and propagate the contents of this\nimplementation of Go, where such license applies only to those patent\nclaims, both currently owned or controlled by Google and acquired in\nthe future, licensable by Google that are necessarily infringed by this\nimplementation of Go.  This grant does not include claims that would be\ninfringed only as a consequence of further modification of this\nimplementation.  If you or your agent or exclusive licensee institute or\norder or agree to the institution of patent litigation against any\nentity (including a cross-claim or counterclaim in a lawsuit) alleging\nthat this implementation of Go or any code incorporated within this\nimplementation of Go constitutes direct or contributory patent\ninfringement, or inducement of patent infringement, then any patent\nrights granted to you under this License for this implementation of Go\nshall terminate as of the date such litigation is filed.\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/build/builder.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage build // import \"golang.org/x/text/collate/build\"\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"sort\"\n\t\"strings\"\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/internal/colltab\"\n\t\"golang.org/x/text/language\"\n\t\"golang.org/x/text/unicode/norm\"\n)\n\n// TODO: optimizations:\n// - expandElem is currently 20K. By putting unique colElems in a separate\n//   table and having a byte array of indexes into this table, we can reduce\n//   the total size to about 7K. By also factoring out the length bytes, we\n//   can reduce this to about 6K.\n// - trie valueBlocks are currently 100K. There are a lot of sparse blocks\n//   and many consecutive values with the same stride. This can be further\n//   compacted.\n// - Compress secondary weights into 8 bits.\n// - Some LDML specs specify a context element. Currently we simply concatenate\n//   those.  Context can be implemented using the contraction trie. If Builder\n//   could analyze and detect when using a context makes sense, there is no\n//   need to expose this construct in the API.\n\n// A Builder builds a root collation table.  The user must specify the\n// collation elements for each entry.  A common use will be to base the weights\n// on those specified in the allkeys* file as provided by the UCA or CLDR.\ntype Builder struct {\n\tindex  *trieBuilder\n\troot   ordering\n\tlocale []*Tailoring\n\tt      *table\n\terr    error\n\tbuilt  bool\n\n\tminNonVar int // lowest primary recorded for a variable\n\tvarTop    int // highest primary recorded for a non-variable\n\n\t// indexes used for reusing expansions and contractions\n\texpIndex map[string]int      // positions of expansions keyed by their string representation\n\tctHandle map[string]ctHandle // contraction handles keyed by a concatenation of the suffixes\n\tctElem   map[string]int      // contraction elements keyed by their string representation\n}\n\n// A Tailoring builds a collation table based on another collation table.\n// The table is defined by specifying tailorings to the underlying table.\n// See http://unicode.org/reports/tr35/ for an overview of tailoring\n// collation tables.  The CLDR contains pre-defined tailorings for a variety\n// of languages (See http://www.unicode.org/Public/cldr/<version>/core.zip.)\ntype Tailoring struct {\n\tid      string\n\tbuilder *Builder\n\tindex   *ordering\n\n\tanchor *entry\n\tbefore bool\n}\n\n// NewBuilder returns a new Builder.\nfunc NewBuilder() *Builder {\n\treturn &Builder{\n\t\tindex:    newTrieBuilder(),\n\t\troot:     makeRootOrdering(),\n\t\texpIndex: make(map[string]int),\n\t\tctHandle: make(map[string]ctHandle),\n\t\tctElem:   make(map[string]int),\n\t}\n}\n\n// Tailoring returns a Tailoring for the given locale.  One should\n// have completed all calls to Add before calling Tailoring.\nfunc (b *Builder) Tailoring(loc language.Tag) *Tailoring {\n\tt := &Tailoring{\n\t\tid:      loc.String(),\n\t\tbuilder: b,\n\t\tindex:   b.root.clone(),\n\t}\n\tt.index.id = t.id\n\tb.locale = append(b.locale, t)\n\treturn t\n}\n\n// Add adds an entry to the collation element table, mapping\n// a slice of runes to a sequence of collation elements.\n// A collation element is specified as list of weights: []int{primary, secondary, ...}.\n// The entries are typically obtained from a collation element table\n// as defined in http://www.unicode.org/reports/tr10/#Data_Table_Format.\n// Note that the collation elements specified by colelems are only used\n// as a guide.  The actual weights generated by Builder may differ.\n// The argument variables is a list of indices into colelems that should contain\n// a value for each colelem that is a variable. (See the reference above.)\nfunc (b *Builder) Add(runes []rune, colelems [][]int, variables []int) error {\n\tstr := string(runes)\n\telems := make([]rawCE, len(colelems))\n\tfor i, ce := range colelems {\n\t\tif len(ce) == 0 {\n\t\t\tbreak\n\t\t}\n\t\telems[i] = makeRawCE(ce, 0)\n\t\tif len(ce) == 1 {\n\t\t\telems[i].w[1] = defaultSecondary\n\t\t}\n\t\tif len(ce) <= 2 {\n\t\t\telems[i].w[2] = defaultTertiary\n\t\t}\n\t\tif len(ce) <= 3 {\n\t\t\telems[i].w[3] = ce[0]\n\t\t}\n\t}\n\tfor i, ce := range elems {\n\t\tp := ce.w[0]\n\t\tisvar := false\n\t\tfor _, j := range variables {\n\t\t\tif i == j {\n\t\t\t\tisvar = true\n\t\t\t}\n\t\t}\n\t\tif isvar {\n\t\t\tif p >= b.minNonVar && b.minNonVar > 0 {\n\t\t\t\treturn fmt.Errorf(\"primary value %X of variable is larger than the smallest non-variable %X\", p, b.minNonVar)\n\t\t\t}\n\t\t\tif p > b.varTop {\n\t\t\t\tb.varTop = p\n\t\t\t}\n\t\t} else if p > 1 { // 1 is a special primary value reserved for FFFE\n\t\t\tif p <= b.varTop {\n\t\t\t\treturn fmt.Errorf(\"primary value %X of non-variable is smaller than the highest variable %X\", p, b.varTop)\n\t\t\t}\n\t\t\tif b.minNonVar == 0 || p < b.minNonVar {\n\t\t\t\tb.minNonVar = p\n\t\t\t}\n\t\t}\n\t}\n\telems, err := convertLargeWeights(elems)\n\tif err != nil {\n\t\treturn err\n\t}\n\tcccs := []uint8{}\n\tnfd := norm.NFD.String(str)\n\tfor i := range nfd {\n\t\tcccs = append(cccs, norm.NFD.PropertiesString(nfd[i:]).CCC())\n\t}\n\tif len(cccs) < len(elems) {\n\t\tif len(cccs) > 2 {\n\t\t\treturn fmt.Errorf(\"number of decomposed characters should be greater or equal to the number of collation elements for len(colelems) > 3 (%d < %d)\", len(cccs), len(elems))\n\t\t}\n\t\tp := len(elems) - 1\n\t\tfor ; p > 0 && elems[p].w[0] == 0; p-- {\n\t\t\telems[p].ccc = cccs[len(cccs)-1]\n\t\t}\n\t\tfor ; p >= 0; p-- {\n\t\t\telems[p].ccc = cccs[0]\n\t\t}\n\t} else {\n\t\tfor i := range elems {\n\t\t\telems[i].ccc = cccs[i]\n\t\t}\n\t}\n\t// doNorm in collate.go assumes that the following conditions hold.\n\tif len(elems) > 1 && len(cccs) > 1 && cccs[0] != 0 && cccs[0] != cccs[len(cccs)-1] {\n\t\treturn fmt.Errorf(\"incompatible CCC values for expansion %X (%d)\", runes, cccs)\n\t}\n\tb.root.newEntry(str, elems)\n\treturn nil\n}\n\nfunc (t *Tailoring) setAnchor(anchor string) error {\n\tanchor = norm.NFC.String(anchor)\n\ta := t.index.find(anchor)\n\tif a == nil {\n\t\ta = t.index.newEntry(anchor, nil)\n\t\ta.implicit = true\n\t\ta.modified = true\n\t\tfor _, r := range []rune(anchor) {\n\t\t\te := t.index.find(string(r))\n\t\t\te.lock = true\n\t\t}\n\t}\n\tt.anchor = a\n\treturn nil\n}\n\n// SetAnchor sets the point after which elements passed in subsequent calls to\n// Insert will be inserted.  It is equivalent to the reset directive in an LDML\n// specification.  See Insert for an example.\n// SetAnchor supports the following logical reset positions:\n// <first_tertiary_ignorable/>, <last_teriary_ignorable/>, <first_primary_ignorable/>,\n// and <last_non_ignorable/>.\nfunc (t *Tailoring) SetAnchor(anchor string) error {\n\tif err := t.setAnchor(anchor); err != nil {\n\t\treturn err\n\t}\n\tt.before = false\n\treturn nil\n}\n\n// SetAnchorBefore is similar to SetAnchor, except that subsequent calls to\n// Insert will insert entries before the anchor.\nfunc (t *Tailoring) SetAnchorBefore(anchor string) error {\n\tif err := t.setAnchor(anchor); err != nil {\n\t\treturn err\n\t}\n\tt.before = true\n\treturn nil\n}\n\n// Insert sets the ordering of str relative to the entry set by the previous\n// call to SetAnchor or Insert.  The argument extend corresponds\n// to the extend elements as defined in LDML.  A non-empty value for extend\n// will cause the collation elements corresponding to extend to be appended\n// to the collation elements generated for the entry added by Insert.\n// This has the same net effect as sorting str after the string anchor+extend.\n// See http://www.unicode.org/reports/tr10/#Tailoring_Example for details\n// on parametric tailoring and http://unicode.org/reports/tr35/#Collation_Elements\n// for full details on LDML.\n//\n// Examples: create a tailoring for Swedish, where \"ä\" is ordered after \"z\"\n// at the primary sorting level:\n//      t := b.Tailoring(\"se\")\n// \t\tt.SetAnchor(\"z\")\n// \t\tt.Insert(colltab.Primary, \"ä\", \"\")\n// Order \"ü\" after \"ue\" at the secondary sorting level:\n//\t\tt.SetAnchor(\"ue\")\n//\t\tt.Insert(colltab.Secondary, \"ü\",\"\")\n// or\n//\t\tt.SetAnchor(\"u\")\n//\t\tt.Insert(colltab.Secondary, \"ü\", \"e\")\n// Order \"q\" afer \"ab\" at the secondary level and \"Q\" after \"q\"\n// at the tertiary level:\n// \t\tt.SetAnchor(\"ab\")\n// \t\tt.Insert(colltab.Secondary, \"q\", \"\")\n// \t\tt.Insert(colltab.Tertiary, \"Q\", \"\")\n// Order \"b\" before \"a\":\n//      t.SetAnchorBefore(\"a\")\n//      t.Insert(colltab.Primary, \"b\", \"\")\n// Order \"0\" after the last primary ignorable:\n//      t.SetAnchor(\"<last_primary_ignorable/>\")\n//      t.Insert(colltab.Primary, \"0\", \"\")\nfunc (t *Tailoring) Insert(level colltab.Level, str, extend string) error {\n\tif t.anchor == nil {\n\t\treturn fmt.Errorf(\"%s:Insert: no anchor point set for tailoring of %s\", t.id, str)\n\t}\n\tstr = norm.NFC.String(str)\n\te := t.index.find(str)\n\tif e == nil {\n\t\te = t.index.newEntry(str, nil)\n\t} else if e.logical != noAnchor {\n\t\treturn fmt.Errorf(\"%s:Insert: cannot reinsert logical reset position %q\", t.id, e.str)\n\t}\n\tif e.lock {\n\t\treturn fmt.Errorf(\"%s:Insert: cannot reinsert element %q\", t.id, e.str)\n\t}\n\ta := t.anchor\n\t// Find the first element after the anchor which differs at a level smaller or\n\t// equal to the given level.  Then insert at this position.\n\t// See http://unicode.org/reports/tr35/#Collation_Elements, Section 5.14.5 for details.\n\te.before = t.before\n\tif t.before {\n\t\tt.before = false\n\t\tif a.prev == nil {\n\t\t\ta.insertBefore(e)\n\t\t} else {\n\t\t\tfor a = a.prev; a.level > level; a = a.prev {\n\t\t\t}\n\t\t\ta.insertAfter(e)\n\t\t}\n\t\te.level = level\n\t} else {\n\t\tfor ; a.level > level; a = a.next {\n\t\t}\n\t\te.level = a.level\n\t\tif a != e {\n\t\t\ta.insertAfter(e)\n\t\t\ta.level = level\n\t\t} else {\n\t\t\t// We don't set a to prev itself. This has the effect of the entry\n\t\t\t// getting new collation elements that are an increment of itself.\n\t\t\t// This is intentional.\n\t\t\ta.prev.level = level\n\t\t}\n\t}\n\te.extend = norm.NFD.String(extend)\n\te.exclude = false\n\te.modified = true\n\te.elems = nil\n\tt.anchor = e\n\treturn nil\n}\n\nfunc (o *ordering) getWeight(e *entry) []rawCE {\n\tif len(e.elems) == 0 && e.logical == noAnchor {\n\t\tif e.implicit {\n\t\t\tfor _, r := range e.runes {\n\t\t\t\te.elems = append(e.elems, o.getWeight(o.find(string(r)))...)\n\t\t\t}\n\t\t} else if e.before {\n\t\t\tcount := [colltab.Identity + 1]int{}\n\t\t\ta := e\n\t\t\tfor ; a.elems == nil && !a.implicit; a = a.next {\n\t\t\t\tcount[a.level]++\n\t\t\t}\n\t\t\te.elems = []rawCE{makeRawCE(a.elems[0].w, a.elems[0].ccc)}\n\t\t\tfor i := colltab.Primary; i < colltab.Quaternary; i++ {\n\t\t\t\tif count[i] != 0 {\n\t\t\t\t\te.elems[0].w[i] -= count[i]\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif e.prev != nil {\n\t\t\t\to.verifyWeights(e.prev, e, e.prev.level)\n\t\t\t}\n\t\t} else {\n\t\t\tprev := e.prev\n\t\t\te.elems = nextWeight(prev.level, o.getWeight(prev))\n\t\t\to.verifyWeights(e, e.next, e.level)\n\t\t}\n\t}\n\treturn e.elems\n}\n\nfunc (o *ordering) addExtension(e *entry) {\n\tif ex := o.find(e.extend); ex != nil {\n\t\te.elems = append(e.elems, ex.elems...)\n\t} else {\n\t\tfor _, r := range []rune(e.extend) {\n\t\t\te.elems = append(e.elems, o.find(string(r)).elems...)\n\t\t}\n\t}\n\te.extend = \"\"\n}\n\nfunc (o *ordering) verifyWeights(a, b *entry, level colltab.Level) error {\n\tif level == colltab.Identity || b == nil || b.elems == nil || a.elems == nil {\n\t\treturn nil\n\t}\n\tfor i := colltab.Primary; i < level; i++ {\n\t\tif a.elems[0].w[i] < b.elems[0].w[i] {\n\t\t\treturn nil\n\t\t}\n\t}\n\tif a.elems[0].w[level] >= b.elems[0].w[level] {\n\t\terr := fmt.Errorf(\"%s:overflow: collation elements of %q (%X) overflows those of %q (%X) at level %d (%X >= %X)\", o.id, a.str, a.runes, b.str, b.runes, level, a.elems, b.elems)\n\t\tlog.Println(err)\n\t\t// TODO: return the error instead, or better, fix the conflicting entry by making room.\n\t}\n\treturn nil\n}\n\nfunc (b *Builder) error(e error) {\n\tif e != nil {\n\t\tb.err = e\n\t}\n}\n\nfunc (b *Builder) errorID(locale string, e error) {\n\tif e != nil {\n\t\tb.err = fmt.Errorf(\"%s:%v\", locale, e)\n\t}\n}\n\n// patchNorm ensures that NFC and NFD counterparts are consistent.\nfunc (o *ordering) patchNorm() {\n\t// Insert the NFD counterparts, if necessary.\n\tfor _, e := range o.ordered {\n\t\tnfd := norm.NFD.String(e.str)\n\t\tif nfd != e.str {\n\t\t\tif e0 := o.find(nfd); e0 != nil && !e0.modified {\n\t\t\t\te0.elems = e.elems\n\t\t\t} else if e.modified && !equalCEArrays(o.genColElems(nfd), e.elems) {\n\t\t\t\te := o.newEntry(nfd, e.elems)\n\t\t\t\te.modified = true\n\t\t\t}\n\t\t}\n\t}\n\t// Update unchanged composed forms if one of their parts changed.\n\tfor _, e := range o.ordered {\n\t\tnfd := norm.NFD.String(e.str)\n\t\tif e.modified || nfd == e.str {\n\t\t\tcontinue\n\t\t}\n\t\tif e0 := o.find(nfd); e0 != nil {\n\t\t\te.elems = e0.elems\n\t\t} else {\n\t\t\te.elems = o.genColElems(nfd)\n\t\t\tif norm.NFD.LastBoundary([]byte(nfd)) == 0 {\n\t\t\t\tr := []rune(nfd)\n\t\t\t\thead := string(r[0])\n\t\t\t\ttail := \"\"\n\t\t\t\tfor i := 1; i < len(r); i++ {\n\t\t\t\t\ts := norm.NFC.String(head + string(r[i]))\n\t\t\t\t\tif e0 := o.find(s); e0 != nil && e0.modified {\n\t\t\t\t\t\thead = s\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttail += string(r[i])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\te.elems = append(o.genColElems(head), o.genColElems(tail)...)\n\t\t\t}\n\t\t}\n\t}\n\t// Exclude entries for which the individual runes generate the same collation elements.\n\tfor _, e := range o.ordered {\n\t\tif len(e.runes) > 1 && equalCEArrays(o.genColElems(e.str), e.elems) {\n\t\t\te.exclude = true\n\t\t}\n\t}\n}\n\nfunc (b *Builder) buildOrdering(o *ordering) {\n\tfor _, e := range o.ordered {\n\t\to.getWeight(e)\n\t}\n\tfor _, e := range o.ordered {\n\t\to.addExtension(e)\n\t}\n\to.patchNorm()\n\to.sort()\n\tsimplify(o)\n\tb.processExpansions(o)   // requires simplify\n\tb.processContractions(o) // requires simplify\n\n\tt := newNode()\n\tfor e := o.front(); e != nil; e, _ = e.nextIndexed() {\n\t\tif !e.skip() {\n\t\t\tce, err := e.encode()\n\t\t\tb.errorID(o.id, err)\n\t\t\tt.insert(e.runes[0], ce)\n\t\t}\n\t}\n\to.handle = b.index.addTrie(t)\n}\n\nfunc (b *Builder) build() (*table, error) {\n\tif b.built {\n\t\treturn b.t, b.err\n\t}\n\tb.built = true\n\tb.t = &table{\n\t\tTable: colltab.Table{\n\t\t\tMaxContractLen: utf8.UTFMax,\n\t\t\tVariableTop:    uint32(b.varTop),\n\t\t},\n\t}\n\n\tb.buildOrdering(&b.root)\n\tb.t.root = b.root.handle\n\tfor _, t := range b.locale {\n\t\tb.buildOrdering(t.index)\n\t\tif b.err != nil {\n\t\t\tbreak\n\t\t}\n\t}\n\ti, err := b.index.generate()\n\tb.t.trie = *i\n\tb.t.Index = colltab.Trie{\n\t\tIndex:   i.index,\n\t\tValues:  i.values,\n\t\tIndex0:  i.index[blockSize*b.t.root.lookupStart:],\n\t\tValues0: i.values[blockSize*b.t.root.valueStart:],\n\t}\n\tb.error(err)\n\treturn b.t, b.err\n}\n\n// Build builds the root Collator.\nfunc (b *Builder) Build() (colltab.Weighter, error) {\n\ttable, err := b.build()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn table, nil\n}\n\n// Build builds a Collator for Tailoring t.\nfunc (t *Tailoring) Build() (colltab.Weighter, error) {\n\t// TODO: implement.\n\treturn nil, nil\n}\n\n// Print prints the tables for b and all its Tailorings as a Go file\n// that can be included in the Collate package.\nfunc (b *Builder) Print(w io.Writer) (n int, err error) {\n\tp := func(nn int, e error) {\n\t\tn += nn\n\t\tif err == nil {\n\t\t\terr = e\n\t\t}\n\t}\n\tt, err := b.build()\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tp(fmt.Fprintf(w, `var availableLocales = \"und`))\n\tfor _, loc := range b.locale {\n\t\tif loc.id != \"und\" {\n\t\t\tp(fmt.Fprintf(w, \",%s\", loc.id))\n\t\t}\n\t}\n\tp(fmt.Fprint(w, \"\\\"\\n\\n\"))\n\tp(fmt.Fprintf(w, \"const varTop = 0x%x\\n\\n\", b.varTop))\n\tp(fmt.Fprintln(w, \"var locales = [...]tableIndex{\"))\n\tfor _, loc := range b.locale {\n\t\tif loc.id == \"und\" {\n\t\t\tp(t.fprintIndex(w, loc.index.handle, loc.id))\n\t\t}\n\t}\n\tfor _, loc := range b.locale {\n\t\tif loc.id != \"und\" {\n\t\t\tp(t.fprintIndex(w, loc.index.handle, loc.id))\n\t\t}\n\t}\n\tp(fmt.Fprint(w, \"}\\n\\n\"))\n\tn, _, err = t.fprint(w, \"main\")\n\treturn\n}\n\n// reproducibleFromNFKD checks whether the given expansion could be generated\n// from an NFKD expansion.\nfunc reproducibleFromNFKD(e *entry, exp, nfkd []rawCE) bool {\n\t// Length must be equal.\n\tif len(exp) != len(nfkd) {\n\t\treturn false\n\t}\n\tfor i, ce := range exp {\n\t\t// Primary and secondary values should be equal.\n\t\tif ce.w[0] != nfkd[i].w[0] || ce.w[1] != nfkd[i].w[1] {\n\t\t\treturn false\n\t\t}\n\t\t// Tertiary values should be equal to maxTertiary for third element onwards.\n\t\t// TODO: there seem to be a lot of cases in CLDR (e.g. ㏭ in zh.xml) that can\n\t\t// simply be dropped.  Try this out by dropping the following code.\n\t\tif i >= 2 && ce.w[2] != maxTertiary {\n\t\t\treturn false\n\t\t}\n\t\tif _, err := makeCE(ce); err != nil {\n\t\t\t// Simply return false. The error will be caught elsewhere.\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nfunc simplify(o *ordering) {\n\t// Runes that are a starter of a contraction should not be removed.\n\t// (To date, there is only Kannada character 0CCA.)\n\tkeep := make(map[rune]bool)\n\tfor e := o.front(); e != nil; e, _ = e.nextIndexed() {\n\t\tif len(e.runes) > 1 {\n\t\t\tkeep[e.runes[0]] = true\n\t\t}\n\t}\n\t// Tag entries for which the runes NFKD decompose to identical values.\n\tfor e := o.front(); e != nil; e, _ = e.nextIndexed() {\n\t\ts := e.str\n\t\tnfkd := norm.NFKD.String(s)\n\t\tnfd := norm.NFD.String(s)\n\t\tif e.decompose || len(e.runes) > 1 || len(e.elems) == 1 || keep[e.runes[0]] || nfkd == nfd {\n\t\t\tcontinue\n\t\t}\n\t\tif reproducibleFromNFKD(e, e.elems, o.genColElems(nfkd)) {\n\t\t\te.decompose = true\n\t\t}\n\t}\n}\n\n// appendExpansion converts the given collation sequence to\n// collation elements and adds them to the expansion table.\n// It returns an index to the expansion table.\nfunc (b *Builder) appendExpansion(e *entry) int {\n\tt := b.t\n\ti := len(t.ExpandElem)\n\tce := uint32(len(e.elems))\n\tt.ExpandElem = append(t.ExpandElem, ce)\n\tfor _, w := range e.elems {\n\t\tce, err := makeCE(w)\n\t\tif err != nil {\n\t\t\tb.error(err)\n\t\t\treturn -1\n\t\t}\n\t\tt.ExpandElem = append(t.ExpandElem, ce)\n\t}\n\treturn i\n}\n\n// processExpansions extracts data necessary to generate\n// the extraction tables.\nfunc (b *Builder) processExpansions(o *ordering) {\n\tfor e := o.front(); e != nil; e, _ = e.nextIndexed() {\n\t\tif !e.expansion() {\n\t\t\tcontinue\n\t\t}\n\t\tkey := fmt.Sprintf(\"%v\", e.elems)\n\t\ti, ok := b.expIndex[key]\n\t\tif !ok {\n\t\t\ti = b.appendExpansion(e)\n\t\t\tb.expIndex[key] = i\n\t\t}\n\t\te.expansionIndex = i\n\t}\n}\n\nfunc (b *Builder) processContractions(o *ordering) {\n\t// Collate contractions per starter rune.\n\tstarters := []rune{}\n\tcm := make(map[rune][]*entry)\n\tfor e := o.front(); e != nil; e, _ = e.nextIndexed() {\n\t\tif e.contraction() {\n\t\t\tif len(e.str) > b.t.MaxContractLen {\n\t\t\t\tb.t.MaxContractLen = len(e.str)\n\t\t\t}\n\t\t\tr := e.runes[0]\n\t\t\tif _, ok := cm[r]; !ok {\n\t\t\t\tstarters = append(starters, r)\n\t\t\t}\n\t\t\tcm[r] = append(cm[r], e)\n\t\t}\n\t}\n\t// Add entries of single runes that are at a start of a contraction.\n\tfor e := o.front(); e != nil; e, _ = e.nextIndexed() {\n\t\tif !e.contraction() {\n\t\t\tr := e.runes[0]\n\t\t\tif _, ok := cm[r]; ok {\n\t\t\t\tcm[r] = append(cm[r], e)\n\t\t\t}\n\t\t}\n\t}\n\t// Build the tries for the contractions.\n\tt := b.t\n\tfor _, r := range starters {\n\t\tl := cm[r]\n\t\t// Compute suffix strings. There are 31 different contraction suffix\n\t\t// sets for 715 contractions and 82 contraction starter runes as of\n\t\t// version 6.0.0.\n\t\tsufx := []string{}\n\t\thasSingle := false\n\t\tfor _, e := range l {\n\t\t\tif len(e.runes) > 1 {\n\t\t\t\tsufx = append(sufx, string(e.runes[1:]))\n\t\t\t} else {\n\t\t\t\thasSingle = true\n\t\t\t}\n\t\t}\n\t\tif !hasSingle {\n\t\t\tb.error(fmt.Errorf(\"no single entry for starter rune %U found\", r))\n\t\t\tcontinue\n\t\t}\n\t\t// Unique the suffix set.\n\t\tsort.Strings(sufx)\n\t\tkey := strings.Join(sufx, \"\\n\")\n\t\thandle, ok := b.ctHandle[key]\n\t\tif !ok {\n\t\t\tvar err error\n\t\t\thandle, err = appendTrie(&t.ContractTries, sufx)\n\t\t\tif err != nil {\n\t\t\t\tb.error(err)\n\t\t\t}\n\t\t\tb.ctHandle[key] = handle\n\t\t}\n\t\t// Bucket sort entries in index order.\n\t\tes := make([]*entry, len(l))\n\t\tfor _, e := range l {\n\t\t\tvar p, sn int\n\t\t\tif len(e.runes) > 1 {\n\t\t\t\tstr := []byte(string(e.runes[1:]))\n\t\t\t\tp, sn = lookup(&t.ContractTries, handle, str)\n\t\t\t\tif sn != len(str) {\n\t\t\t\t\tlog.Fatalf(\"%s: processContractions: unexpected length for '%X'; len=%d; want %d\", o.id, e.runes, sn, len(str))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif es[p] != nil {\n\t\t\t\tlog.Fatalf(\"%s: multiple contractions for position %d for rune %U\", o.id, p, e.runes[0])\n\t\t\t}\n\t\t\tes[p] = e\n\t\t}\n\t\t// Create collation elements for contractions.\n\t\telems := []uint32{}\n\t\tfor _, e := range es {\n\t\t\tce, err := e.encodeBase()\n\t\t\tb.errorID(o.id, err)\n\t\t\telems = append(elems, ce)\n\t\t}\n\t\tkey = fmt.Sprintf(\"%v\", elems)\n\t\ti, ok := b.ctElem[key]\n\t\tif !ok {\n\t\t\ti = len(t.ContractElem)\n\t\t\tb.ctElem[key] = i\n\t\t\tt.ContractElem = append(t.ContractElem, elems...)\n\t\t}\n\t\t// Store info in entry for starter rune.\n\t\tes[0].contractionIndex = i\n\t\tes[0].contractionHandle = handle\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/build/colelem.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage build\n\nimport (\n\t\"fmt\"\n\t\"unicode\"\n\n\t\"golang.org/x/text/internal/colltab\"\n)\n\nconst (\n\tdefaultSecondary = 0x20\n\tdefaultTertiary  = 0x2\n\tmaxTertiary      = 0x1F\n)\n\ntype rawCE struct {\n\tw   []int\n\tccc uint8\n}\n\nfunc makeRawCE(w []int, ccc uint8) rawCE {\n\tce := rawCE{w: make([]int, 4), ccc: ccc}\n\tcopy(ce.w, w)\n\treturn ce\n}\n\n// A collation element is represented as an uint32.\n// In the typical case, a rune maps to a single collation element. If a rune\n// can be the start of a contraction or expands into multiple collation elements,\n// then the collation element that is associated with a rune will have a special\n// form to represent such m to n mappings.  Such special collation elements\n// have a value >= 0x80000000.\n\nconst (\n\tmaxPrimaryBits   = 21\n\tmaxSecondaryBits = 12\n\tmaxTertiaryBits  = 8\n)\n\nfunc makeCE(ce rawCE) (uint32, error) {\n\tv, e := colltab.MakeElem(ce.w[0], ce.w[1], ce.w[2], ce.ccc)\n\treturn uint32(v), e\n}\n\n// For contractions, collation elements are of the form\n// 110bbbbb bbbbbbbb iiiiiiii iiiinnnn, where\n//   - n* is the size of the first node in the contraction trie.\n//   - i* is the index of the first node in the contraction trie.\n//   - b* is the offset into the contraction collation element table.\n// See contract.go for details on the contraction trie.\nconst (\n\tcontractID            = 0xC0000000\n\tmaxNBits              = 4\n\tmaxTrieIndexBits      = 12\n\tmaxContractOffsetBits = 13\n)\n\nfunc makeContractIndex(h ctHandle, offset int) (uint32, error) {\n\tif h.n >= 1<<maxNBits {\n\t\treturn 0, fmt.Errorf(\"size of contraction trie node too large: %d >= %d\", h.n, 1<<maxNBits)\n\t}\n\tif h.index >= 1<<maxTrieIndexBits {\n\t\treturn 0, fmt.Errorf(\"size of contraction trie offset too large: %d >= %d\", h.index, 1<<maxTrieIndexBits)\n\t}\n\tif offset >= 1<<maxContractOffsetBits {\n\t\treturn 0, fmt.Errorf(\"contraction offset out of bounds: %x >= %x\", offset, 1<<maxContractOffsetBits)\n\t}\n\tce := uint32(contractID)\n\tce += uint32(offset << (maxNBits + maxTrieIndexBits))\n\tce += uint32(h.index << maxNBits)\n\tce += uint32(h.n)\n\treturn ce, nil\n}\n\n// For expansions, collation elements are of the form\n// 11100000 00000000 bbbbbbbb bbbbbbbb,\n// where b* is the index into the expansion sequence table.\nconst (\n\texpandID           = 0xE0000000\n\tmaxExpandIndexBits = 16\n)\n\nfunc makeExpandIndex(index int) (uint32, error) {\n\tif index >= 1<<maxExpandIndexBits {\n\t\treturn 0, fmt.Errorf(\"expansion index out of bounds: %x >= %x\", index, 1<<maxExpandIndexBits)\n\t}\n\treturn expandID + uint32(index), nil\n}\n\n// Each list of collation elements corresponding to an expansion starts with\n// a header indicating the length of the sequence.\nfunc makeExpansionHeader(n int) (uint32, error) {\n\treturn uint32(n), nil\n}\n\n// Some runes can be expanded using NFKD decomposition. Instead of storing the full\n// sequence of collation elements, we decompose the rune and lookup the collation\n// elements for each rune in the decomposition and modify the tertiary weights.\n// The collation element, in this case, is of the form\n// 11110000 00000000 wwwwwwww vvvvvvvv, where\n//   - v* is the replacement tertiary weight for the first rune,\n//   - w* is the replacement tertiary weight for the second rune,\n// Tertiary weights of subsequent runes should be replaced with maxTertiary.\n// See http://www.unicode.org/reports/tr10/#Compatibility_Decompositions for more details.\nconst (\n\tdecompID = 0xF0000000\n)\n\nfunc makeDecompose(t1, t2 int) (uint32, error) {\n\tif t1 >= 256 || t1 < 0 {\n\t\treturn 0, fmt.Errorf(\"first tertiary weight out of bounds: %d >= 256\", t1)\n\t}\n\tif t2 >= 256 || t2 < 0 {\n\t\treturn 0, fmt.Errorf(\"second tertiary weight out of bounds: %d >= 256\", t2)\n\t}\n\treturn uint32(t2<<8+t1) + decompID, nil\n}\n\nconst (\n\t// These constants were taken from http://www.unicode.org/versions/Unicode6.0.0/ch12.pdf.\n\tminUnified       rune = 0x4E00\n\tmaxUnified            = 0x9FFF\n\tminCompatibility      = 0xF900\n\tmaxCompatibility      = 0xFAFF\n\tminRare               = 0x3400\n\tmaxRare               = 0x4DBF\n)\nconst (\n\tcommonUnifiedOffset = 0x10000\n\trareUnifiedOffset   = 0x20000 // largest rune in common is U+FAFF\n\totherOffset         = 0x50000 // largest rune in rare is U+2FA1D\n\tillegalOffset       = otherOffset + int(unicode.MaxRune)\n\tmaxPrimary          = illegalOffset + 1\n)\n\n// implicitPrimary returns the primary weight for the a rune\n// for which there is no entry for the rune in the collation table.\n// We take a different approach from the one specified in\n// http://unicode.org/reports/tr10/#Implicit_Weights,\n// but preserve the resulting relative ordering of the runes.\nfunc implicitPrimary(r rune) int {\n\tif unicode.Is(unicode.Ideographic, r) {\n\t\tif r >= minUnified && r <= maxUnified {\n\t\t\t// The most common case for CJK.\n\t\t\treturn int(r) + commonUnifiedOffset\n\t\t}\n\t\tif r >= minCompatibility && r <= maxCompatibility {\n\t\t\t// This will typically not hit. The DUCET explicitly specifies mappings\n\t\t\t// for all characters that do not decompose.\n\t\t\treturn int(r) + commonUnifiedOffset\n\t\t}\n\t\treturn int(r) + rareUnifiedOffset\n\t}\n\treturn int(r) + otherOffset\n}\n\n// convertLargeWeights converts collation elements with large\n// primaries (either double primaries or for illegal runes)\n// to our own representation.\n// A CJK character C is represented in the DUCET as\n//   [.FBxx.0020.0002.C][.BBBB.0000.0000.C]\n// We will rewrite these characters to a single CE.\n// We assume the CJK values start at 0x8000.\n// See http://unicode.org/reports/tr10/#Implicit_Weights\nfunc convertLargeWeights(elems []rawCE) (res []rawCE, err error) {\n\tconst (\n\t\tcjkPrimaryStart   = 0xFB40\n\t\trarePrimaryStart  = 0xFB80\n\t\totherPrimaryStart = 0xFBC0\n\t\tillegalPrimary    = 0xFFFE\n\t\thighBitsMask      = 0x3F\n\t\tlowBitsMask       = 0x7FFF\n\t\tlowBitsFlag       = 0x8000\n\t\tshiftBits         = 15\n\t)\n\tfor i := 0; i < len(elems); i++ {\n\t\tce := elems[i].w\n\t\tp := ce[0]\n\t\tif p < cjkPrimaryStart {\n\t\t\tcontinue\n\t\t}\n\t\tif p > 0xFFFF {\n\t\t\treturn elems, fmt.Errorf(\"found primary weight %X; should be <= 0xFFFF\", p)\n\t\t}\n\t\tif p >= illegalPrimary {\n\t\t\tce[0] = illegalOffset + p - illegalPrimary\n\t\t} else {\n\t\t\tif i+1 >= len(elems) {\n\t\t\t\treturn elems, fmt.Errorf(\"second part of double primary weight missing: %v\", elems)\n\t\t\t}\n\t\t\tif elems[i+1].w[0]&lowBitsFlag == 0 {\n\t\t\t\treturn elems, fmt.Errorf(\"malformed second part of double primary weight: %v\", elems)\n\t\t\t}\n\t\t\tnp := ((p & highBitsMask) << shiftBits) + elems[i+1].w[0]&lowBitsMask\n\t\t\tswitch {\n\t\t\tcase p < rarePrimaryStart:\n\t\t\t\tnp += commonUnifiedOffset\n\t\t\tcase p < otherPrimaryStart:\n\t\t\t\tnp += rareUnifiedOffset\n\t\t\tdefault:\n\t\t\t\tp += otherOffset\n\t\t\t}\n\t\t\tce[0] = np\n\t\t\tfor j := i + 1; j+1 < len(elems); j++ {\n\t\t\t\telems[j] = elems[j+1]\n\t\t\t}\n\t\t\telems = elems[:len(elems)-1]\n\t\t}\n\t}\n\treturn elems, nil\n}\n\n// nextWeight computes the first possible collation weights following elems\n// for the given level.\nfunc nextWeight(level colltab.Level, elems []rawCE) []rawCE {\n\tif level == colltab.Identity {\n\t\tnext := make([]rawCE, len(elems))\n\t\tcopy(next, elems)\n\t\treturn next\n\t}\n\tnext := []rawCE{makeRawCE(elems[0].w, elems[0].ccc)}\n\tnext[0].w[level]++\n\tif level < colltab.Secondary {\n\t\tnext[0].w[colltab.Secondary] = defaultSecondary\n\t}\n\tif level < colltab.Tertiary {\n\t\tnext[0].w[colltab.Tertiary] = defaultTertiary\n\t}\n\t// Filter entries that cannot influence ordering.\n\tfor _, ce := range elems[1:] {\n\t\tskip := true\n\t\tfor i := colltab.Primary; i < level; i++ {\n\t\t\tskip = skip && ce.w[i] == 0\n\t\t}\n\t\tif !skip {\n\t\t\tnext = append(next, ce)\n\t\t}\n\t}\n\treturn next\n}\n\nfunc nextVal(elems []rawCE, i int, level colltab.Level) (index, value int) {\n\tfor ; i < len(elems) && elems[i].w[level] == 0; i++ {\n\t}\n\tif i < len(elems) {\n\t\treturn i, elems[i].w[level]\n\t}\n\treturn i, 0\n}\n\n// compareWeights returns -1 if a < b, 1 if a > b, or 0 otherwise.\n// It also returns the collation level at which the difference is found.\nfunc compareWeights(a, b []rawCE) (result int, level colltab.Level) {\n\tfor level := colltab.Primary; level < colltab.Identity; level++ {\n\t\tvar va, vb int\n\t\tfor ia, ib := 0, 0; ia < len(a) || ib < len(b); ia, ib = ia+1, ib+1 {\n\t\t\tia, va = nextVal(a, ia, level)\n\t\t\tib, vb = nextVal(b, ib, level)\n\t\t\tif va != vb {\n\t\t\t\tif va < vb {\n\t\t\t\t\treturn -1, level\n\t\t\t\t} else {\n\t\t\t\t\treturn 1, level\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn 0, colltab.Identity\n}\n\nfunc equalCE(a, b rawCE) bool {\n\tfor i := 0; i < 3; i++ {\n\t\tif b.w[i] != a.w[i] {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nfunc equalCEArrays(a, b []rawCE) bool {\n\tif len(a) != len(b) {\n\t\treturn false\n\t}\n\tfor i := range a {\n\t\tif !equalCE(a[i], b[i]) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/build/contract.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage build\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/colltab\"\n)\n\n// This file contains code for detecting contractions and generating\n// the necessary tables.\n// Any Unicode Collation Algorithm (UCA) table entry that has more than\n// one rune one the left-hand side is called a contraction.\n// See http://www.unicode.org/reports/tr10/#Contractions for more details.\n//\n// We define the following terms:\n//   initial:     a rune that appears as the first rune in a contraction.\n//   suffix:      a sequence of runes succeeding the initial rune\n//                in a given contraction.\n//   non-initial: a rune that appears in a suffix.\n//\n// A rune may be both an initial and a non-initial and may be so in\n// many contractions.  An initial may typically also appear by itself.\n// In case of ambiguities, the UCA requires we match the longest\n// contraction.\n//\n// Many contraction rules share the same set of possible suffixes.\n// We store sets of suffixes in a trie that associates an index with\n// each suffix in the set.  This index can be used to look up a\n// collation element associated with the (starter rune, suffix) pair.\n//\n// The trie is defined on a UTF-8 byte sequence.\n// The overall trie is represented as an array of ctEntries.  Each node of the trie\n// is represented as a subsequence of ctEntries, where each entry corresponds to\n// a possible match of a next character in the search string.  An entry\n// also includes the length and offset to the next sequence of entries\n// to check in case of a match.\n\nconst (\n\tfinal   = 0\n\tnoIndex = 0xFF\n)\n\n// ctEntry associates to a matching byte an offset and/or next sequence of\n// bytes to check. A ctEntry c is called final if a match means that the\n// longest suffix has been found.  An entry c is final if c.N == 0.\n// A single final entry can match a range of characters to an offset.\n// A non-final entry always matches a single byte. Note that a non-final\n// entry might still resemble a completed suffix.\n// Examples:\n// The suffix strings \"ab\" and \"ac\" can be represented as:\n// []ctEntry{\n//     {'a', 1, 1, noIndex},  // 'a' by itself does not match, so i is 0xFF.\n//     {'b', 'c', 0, 1},   // \"ab\" -> 1, \"ac\" -> 2\n// }\n//\n// The suffix strings \"ab\", \"abc\", \"abd\", and \"abcd\" can be represented as:\n// []ctEntry{\n//     {'a', 1, 1, noIndex}, // 'a' must be followed by 'b'.\n//     {'b', 1, 2, 1},    // \"ab\" -> 1, may be followed by 'c' or 'd'.\n//     {'d', 'd', final, 3},  // \"abd\" -> 3\n//     {'c', 4, 1, 2},    // \"abc\" -> 2, may be followed by 'd'.\n//     {'d', 'd', final, 4},  // \"abcd\" -> 4\n// }\n// See genStateTests in contract_test.go for more examples.\ntype ctEntry struct {\n\tL uint8 // non-final: byte value to match; final: lowest match in range.\n\tH uint8 // non-final: relative index to next block; final: highest match in range.\n\tN uint8 // non-final: length of next block; final: final\n\tI uint8 // result offset. Will be noIndex if more bytes are needed to complete.\n}\n\n// contractTrieSet holds a set of contraction tries. The tries are stored\n// consecutively in the entry field.\ntype contractTrieSet []struct{ l, h, n, i uint8 }\n\n// ctHandle is used to identify a trie in the trie set, consisting in an offset\n// in the array and the size of the first node.\ntype ctHandle struct {\n\tindex, n int\n}\n\n// appendTrie adds a new trie for the given suffixes to the trie set and returns\n// a handle to it.  The handle will be invalid on error.\nfunc appendTrie(ct *colltab.ContractTrieSet, suffixes []string) (ctHandle, error) {\n\tes := make([]stridx, len(suffixes))\n\tfor i, s := range suffixes {\n\t\tes[i].str = s\n\t}\n\tsort.Sort(offsetSort(es))\n\tfor i := range es {\n\t\tes[i].index = i + 1\n\t}\n\tsort.Sort(genidxSort(es))\n\ti := len(*ct)\n\tn, err := genStates(ct, es)\n\tif err != nil {\n\t\t*ct = (*ct)[:i]\n\t\treturn ctHandle{}, err\n\t}\n\treturn ctHandle{i, n}, nil\n}\n\n// genStates generates ctEntries for a given suffix set and returns\n// the number of entries for the first node.\nfunc genStates(ct *colltab.ContractTrieSet, sis []stridx) (int, error) {\n\tif len(sis) == 0 {\n\t\treturn 0, fmt.Errorf(\"genStates: list of suffices must be non-empty\")\n\t}\n\tstart := len(*ct)\n\t// create entries for differing first bytes.\n\tfor _, si := range sis {\n\t\ts := si.str\n\t\tif len(s) == 0 {\n\t\t\tcontinue\n\t\t}\n\t\tadded := false\n\t\tc := s[0]\n\t\tif len(s) > 1 {\n\t\t\tfor j := len(*ct) - 1; j >= start; j-- {\n\t\t\t\tif (*ct)[j].L == c {\n\t\t\t\t\tadded = true\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !added {\n\t\t\t\t*ct = append(*ct, ctEntry{L: c, I: noIndex})\n\t\t\t}\n\t\t} else {\n\t\t\tfor j := len(*ct) - 1; j >= start; j-- {\n\t\t\t\t// Update the offset for longer suffixes with the same byte.\n\t\t\t\tif (*ct)[j].L == c {\n\t\t\t\t\t(*ct)[j].I = uint8(si.index)\n\t\t\t\t\tadded = true\n\t\t\t\t}\n\t\t\t\t// Extend range of final ctEntry, if possible.\n\t\t\t\tif (*ct)[j].H+1 == c {\n\t\t\t\t\t(*ct)[j].H = c\n\t\t\t\t\tadded = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !added {\n\t\t\t\t*ct = append(*ct, ctEntry{L: c, H: c, N: final, I: uint8(si.index)})\n\t\t\t}\n\t\t}\n\t}\n\tn := len(*ct) - start\n\t// Append nodes for the remainder of the suffixes for each ctEntry.\n\tsp := 0\n\tfor i, end := start, len(*ct); i < end; i++ {\n\t\tfe := (*ct)[i]\n\t\tif fe.H == 0 { // uninitialized non-final\n\t\t\tln := len(*ct) - start - n\n\t\t\tif ln > 0xFF {\n\t\t\t\treturn 0, fmt.Errorf(\"genStates: relative block offset too large: %d > 255\", ln)\n\t\t\t}\n\t\t\tfe.H = uint8(ln)\n\t\t\t// Find first non-final strings with same byte as current entry.\n\t\t\tfor ; sis[sp].str[0] != fe.L; sp++ {\n\t\t\t}\n\t\t\tse := sp + 1\n\t\t\tfor ; se < len(sis) && len(sis[se].str) > 1 && sis[se].str[0] == fe.L; se++ {\n\t\t\t}\n\t\t\tsl := sis[sp:se]\n\t\t\tsp = se\n\t\t\tfor i, si := range sl {\n\t\t\t\tsl[i].str = si.str[1:]\n\t\t\t}\n\t\t\tnn, err := genStates(ct, sl)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\tfe.N = uint8(nn)\n\t\t\t(*ct)[i] = fe\n\t\t}\n\t}\n\tsort.Sort(entrySort((*ct)[start : start+n]))\n\treturn n, nil\n}\n\n// There may be both a final and non-final entry for a byte if the byte\n// is implied in a range of matches in the final entry.\n// We need to ensure that the non-final entry comes first in that case.\ntype entrySort colltab.ContractTrieSet\n\nfunc (fe entrySort) Len() int      { return len(fe) }\nfunc (fe entrySort) Swap(i, j int) { fe[i], fe[j] = fe[j], fe[i] }\nfunc (fe entrySort) Less(i, j int) bool {\n\treturn fe[i].L > fe[j].L\n}\n\n// stridx is used for sorting suffixes and their associated offsets.\ntype stridx struct {\n\tstr   string\n\tindex int\n}\n\n// For computing the offsets, we first sort by size, and then by string.\n// This ensures that strings that only differ in the last byte by 1\n// are sorted consecutively in increasing order such that they can\n// be packed as a range in a final ctEntry.\ntype offsetSort []stridx\n\nfunc (si offsetSort) Len() int      { return len(si) }\nfunc (si offsetSort) Swap(i, j int) { si[i], si[j] = si[j], si[i] }\nfunc (si offsetSort) Less(i, j int) bool {\n\tif len(si[i].str) != len(si[j].str) {\n\t\treturn len(si[i].str) > len(si[j].str)\n\t}\n\treturn si[i].str < si[j].str\n}\n\n// For indexing, we want to ensure that strings are sorted in string order, where\n// for strings with the same prefix, we put longer strings before shorter ones.\ntype genidxSort []stridx\n\nfunc (si genidxSort) Len() int      { return len(si) }\nfunc (si genidxSort) Swap(i, j int) { si[i], si[j] = si[j], si[i] }\nfunc (si genidxSort) Less(i, j int) bool {\n\tif strings.HasPrefix(si[j].str, si[i].str) {\n\t\treturn false\n\t}\n\tif strings.HasPrefix(si[i].str, si[j].str) {\n\t\treturn true\n\t}\n\treturn si[i].str < si[j].str\n}\n\n// lookup matches the longest suffix in str and returns the associated offset\n// and the number of bytes consumed.\nfunc lookup(ct *colltab.ContractTrieSet, h ctHandle, str []byte) (index, ns int) {\n\tstates := (*ct)[h.index:]\n\tp := 0\n\tn := h.n\n\tfor i := 0; i < n && p < len(str); {\n\t\te := states[i]\n\t\tc := str[p]\n\t\tif c >= e.L {\n\t\t\tif e.L == c {\n\t\t\t\tp++\n\t\t\t\tif e.I != noIndex {\n\t\t\t\t\tindex, ns = int(e.I), p\n\t\t\t\t}\n\t\t\t\tif e.N != final {\n\t\t\t\t\t// set to new state\n\t\t\t\t\ti, states, n = 0, states[int(e.H)+n:], int(e.N)\n\t\t\t\t} else {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t} else if e.N == final && c <= e.H {\n\t\t\t\tp++\n\t\t\t\treturn int(c-e.L) + int(e.I), p\n\t\t\t}\n\t\t}\n\t\ti++\n\t}\n\treturn\n}\n\n// print writes the contractTrieSet t as compilable Go code to w. It returns\n// the total number of bytes written and the size of the resulting data structure in bytes.\nfunc print(t *colltab.ContractTrieSet, w io.Writer, name string) (n, size int, err error) {\n\tupdate3 := func(nn, sz int, e error) {\n\t\tn += nn\n\t\tif err == nil {\n\t\t\terr = e\n\t\t}\n\t\tsize += sz\n\t}\n\tupdate2 := func(nn int, e error) { update3(nn, 0, e) }\n\n\tupdate3(printArray(*t, w, name))\n\tupdate2(fmt.Fprintf(w, \"var %sContractTrieSet = \", name))\n\tupdate3(printStruct(*t, w, name))\n\tupdate2(fmt.Fprintln(w))\n\treturn\n}\n\nfunc printArray(ct colltab.ContractTrieSet, w io.Writer, name string) (n, size int, err error) {\n\tp := func(f string, a ...interface{}) {\n\t\tnn, e := fmt.Fprintf(w, f, a...)\n\t\tn += nn\n\t\tif err == nil {\n\t\t\terr = e\n\t\t}\n\t}\n\tsize = len(ct) * 4\n\tp(\"// %sCTEntries: %d entries, %d bytes\\n\", name, len(ct), size)\n\tp(\"var %sCTEntries = [%d]struct{L,H,N,I uint8}{\\n\", name, len(ct))\n\tfor _, fe := range ct {\n\t\tp(\"\\t{0x%X, 0x%X, %d, %d},\\n\", fe.L, fe.H, fe.N, fe.I)\n\t}\n\tp(\"}\\n\")\n\treturn\n}\n\nfunc printStruct(ct colltab.ContractTrieSet, w io.Writer, name string) (n, size int, err error) {\n\tn, err = fmt.Fprintf(w, \"colltab.ContractTrieSet( %sCTEntries[:] )\", name)\n\tsize = int(reflect.TypeOf(ct).Size())\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/build/order.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage build\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"sort\"\n\t\"strings\"\n\t\"unicode\"\n\n\t\"golang.org/x/text/internal/colltab\"\n\t\"golang.org/x/text/unicode/norm\"\n)\n\ntype logicalAnchor int\n\nconst (\n\tfirstAnchor logicalAnchor = -1\n\tnoAnchor                  = 0\n\tlastAnchor                = 1\n)\n\n// entry is used to keep track of a single entry in the collation element table\n// during building. Examples of entries can be found in the Default Unicode\n// Collation Element Table.\n// See http://www.unicode.org/Public/UCA/6.0.0/allkeys.txt.\ntype entry struct {\n\tstr    string // same as string(runes)\n\trunes  []rune\n\telems  []rawCE // the collation elements\n\textend string  // weights of extend to be appended to elems\n\tbefore bool    // weights relative to next instead of previous.\n\tlock   bool    // entry is used in extension and can no longer be moved.\n\n\t// prev, next, and level are used to keep track of tailorings.\n\tprev, next *entry\n\tlevel      colltab.Level // next differs at this level\n\tskipRemove bool          // do not unlink when removed\n\n\tdecompose bool // can use NFKD decomposition to generate elems\n\texclude   bool // do not include in table\n\timplicit  bool // derived, is not included in the list\n\tmodified  bool // entry was modified in tailoring\n\tlogical   logicalAnchor\n\n\texpansionIndex    int // used to store index into expansion table\n\tcontractionHandle ctHandle\n\tcontractionIndex  int // index into contraction elements\n}\n\nfunc (e *entry) String() string {\n\treturn fmt.Sprintf(\"%X (%q) -> %X (ch:%x; ci:%d, ei:%d)\",\n\t\te.runes, e.str, e.elems, e.contractionHandle, e.contractionIndex, e.expansionIndex)\n}\n\nfunc (e *entry) skip() bool {\n\treturn e.contraction()\n}\n\nfunc (e *entry) expansion() bool {\n\treturn !e.decompose && len(e.elems) > 1\n}\n\nfunc (e *entry) contraction() bool {\n\treturn len(e.runes) > 1\n}\n\nfunc (e *entry) contractionStarter() bool {\n\treturn e.contractionHandle.n != 0\n}\n\n// nextIndexed gets the next entry that needs to be stored in the table.\n// It returns the entry and the collation level at which the next entry differs\n// from the current entry.\n// Entries that can be explicitly derived and logical reset positions are\n// examples of entries that will not be indexed.\nfunc (e *entry) nextIndexed() (*entry, colltab.Level) {\n\tlevel := e.level\n\tfor e = e.next; e != nil && (e.exclude || len(e.elems) == 0); e = e.next {\n\t\tif e.level < level {\n\t\t\tlevel = e.level\n\t\t}\n\t}\n\treturn e, level\n}\n\n// remove unlinks entry e from the sorted chain and clears the collation\n// elements. e may not be at the front or end of the list. This should always\n// be the case, as the front and end of the list are always logical anchors,\n// which may not be removed.\nfunc (e *entry) remove() {\n\tif e.logical != noAnchor {\n\t\tlog.Fatalf(\"may not remove anchor %q\", e.str)\n\t}\n\t// TODO: need to set e.prev.level to e.level if e.level is smaller?\n\te.elems = nil\n\tif !e.skipRemove {\n\t\tif e.prev != nil {\n\t\t\te.prev.next = e.next\n\t\t}\n\t\tif e.next != nil {\n\t\t\te.next.prev = e.prev\n\t\t}\n\t}\n\te.skipRemove = false\n}\n\n// insertAfter inserts n after e.\nfunc (e *entry) insertAfter(n *entry) {\n\tif e == n {\n\t\tpanic(\"e == anchor\")\n\t}\n\tif e == nil {\n\t\tpanic(\"unexpected nil anchor\")\n\t}\n\tn.remove()\n\tn.decompose = false // redo decomposition test\n\n\tn.next = e.next\n\tn.prev = e\n\tif e.next != nil {\n\t\te.next.prev = n\n\t}\n\te.next = n\n}\n\n// insertBefore inserts n before e.\nfunc (e *entry) insertBefore(n *entry) {\n\tif e == n {\n\t\tpanic(\"e == anchor\")\n\t}\n\tif e == nil {\n\t\tpanic(\"unexpected nil anchor\")\n\t}\n\tn.remove()\n\tn.decompose = false // redo decomposition test\n\n\tn.prev = e.prev\n\tn.next = e\n\tif e.prev != nil {\n\t\te.prev.next = n\n\t}\n\te.prev = n\n}\n\nfunc (e *entry) encodeBase() (ce uint32, err error) {\n\tswitch {\n\tcase e.expansion():\n\t\tce, err = makeExpandIndex(e.expansionIndex)\n\tdefault:\n\t\tif e.decompose {\n\t\t\tlog.Fatal(\"decompose should be handled elsewhere\")\n\t\t}\n\t\tce, err = makeCE(e.elems[0])\n\t}\n\treturn\n}\n\nfunc (e *entry) encode() (ce uint32, err error) {\n\tif e.skip() {\n\t\tlog.Fatal(\"cannot build colElem for entry that should be skipped\")\n\t}\n\tswitch {\n\tcase e.decompose:\n\t\tt1 := e.elems[0].w[2]\n\t\tt2 := 0\n\t\tif len(e.elems) > 1 {\n\t\t\tt2 = e.elems[1].w[2]\n\t\t}\n\t\tce, err = makeDecompose(t1, t2)\n\tcase e.contractionStarter():\n\t\tce, err = makeContractIndex(e.contractionHandle, e.contractionIndex)\n\tdefault:\n\t\tif len(e.runes) > 1 {\n\t\t\tlog.Fatal(\"colElem: contractions are handled in contraction trie\")\n\t\t}\n\t\tce, err = e.encodeBase()\n\t}\n\treturn\n}\n\n// entryLess returns true if a sorts before b and false otherwise.\nfunc entryLess(a, b *entry) bool {\n\tif res, _ := compareWeights(a.elems, b.elems); res != 0 {\n\t\treturn res == -1\n\t}\n\tif a.logical != noAnchor {\n\t\treturn a.logical == firstAnchor\n\t}\n\tif b.logical != noAnchor {\n\t\treturn b.logical == lastAnchor\n\t}\n\treturn a.str < b.str\n}\n\ntype sortedEntries []*entry\n\nfunc (s sortedEntries) Len() int {\n\treturn len(s)\n}\n\nfunc (s sortedEntries) Swap(i, j int) {\n\ts[i], s[j] = s[j], s[i]\n}\n\nfunc (s sortedEntries) Less(i, j int) bool {\n\treturn entryLess(s[i], s[j])\n}\n\ntype ordering struct {\n\tid       string\n\tentryMap map[string]*entry\n\tordered  []*entry\n\thandle   *trieHandle\n}\n\n// insert inserts e into both entryMap and ordered.\n// Note that insert simply appends e to ordered.  To reattain a sorted\n// order, o.sort() should be called.\nfunc (o *ordering) insert(e *entry) {\n\tif e.logical == noAnchor {\n\t\to.entryMap[e.str] = e\n\t} else {\n\t\t// Use key format as used in UCA rules.\n\t\to.entryMap[fmt.Sprintf(\"[%s]\", e.str)] = e\n\t\t// Also add index entry for XML format.\n\t\to.entryMap[fmt.Sprintf(\"<%s/>\", strings.Replace(e.str, \" \", \"_\", -1))] = e\n\t}\n\to.ordered = append(o.ordered, e)\n}\n\n// newEntry creates a new entry for the given info and inserts it into\n// the index.\nfunc (o *ordering) newEntry(s string, ces []rawCE) *entry {\n\te := &entry{\n\t\trunes: []rune(s),\n\t\telems: ces,\n\t\tstr:   s,\n\t}\n\to.insert(e)\n\treturn e\n}\n\n// find looks up and returns the entry for the given string.\n// It returns nil if str is not in the index and if an implicit value\n// cannot be derived, that is, if str represents more than one rune.\nfunc (o *ordering) find(str string) *entry {\n\te := o.entryMap[str]\n\tif e == nil {\n\t\tr := []rune(str)\n\t\tif len(r) == 1 {\n\t\t\tconst (\n\t\t\t\tfirstHangul = 0xAC00\n\t\t\t\tlastHangul  = 0xD7A3\n\t\t\t)\n\t\t\tif r[0] >= firstHangul && r[0] <= lastHangul {\n\t\t\t\tce := []rawCE{}\n\t\t\t\tnfd := norm.NFD.String(str)\n\t\t\t\tfor _, r := range nfd {\n\t\t\t\t\tce = append(ce, o.find(string(r)).elems...)\n\t\t\t\t}\n\t\t\t\te = o.newEntry(nfd, ce)\n\t\t\t} else {\n\t\t\t\te = o.newEntry(string(r[0]), []rawCE{\n\t\t\t\t\t{w: []int{\n\t\t\t\t\t\timplicitPrimary(r[0]),\n\t\t\t\t\t\tdefaultSecondary,\n\t\t\t\t\t\tdefaultTertiary,\n\t\t\t\t\t\tint(r[0]),\n\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\te.modified = true\n\t\t\t}\n\t\t\te.exclude = true // do not index implicits\n\t\t}\n\t}\n\treturn e\n}\n\n// makeRootOrdering returns a newly initialized ordering value and populates\n// it with a set of logical reset points that can be used as anchors.\n// The anchors first_tertiary_ignorable and __END__ will always sort at\n// the beginning and end, respectively. This means that prev and next are non-nil\n// for any indexed entry.\nfunc makeRootOrdering() ordering {\n\tconst max = unicode.MaxRune\n\to := ordering{\n\t\tentryMap: make(map[string]*entry),\n\t}\n\tinsert := func(typ logicalAnchor, s string, ce []int) {\n\t\te := &entry{\n\t\t\telems:   []rawCE{{w: ce}},\n\t\t\tstr:     s,\n\t\t\texclude: true,\n\t\t\tlogical: typ,\n\t\t}\n\t\to.insert(e)\n\t}\n\tinsert(firstAnchor, \"first tertiary ignorable\", []int{0, 0, 0, 0})\n\tinsert(lastAnchor, \"last tertiary ignorable\", []int{0, 0, 0, max})\n\tinsert(lastAnchor, \"last primary ignorable\", []int{0, defaultSecondary, defaultTertiary, max})\n\tinsert(lastAnchor, \"last non ignorable\", []int{maxPrimary, defaultSecondary, defaultTertiary, max})\n\tinsert(lastAnchor, \"__END__\", []int{1 << maxPrimaryBits, defaultSecondary, defaultTertiary, max})\n\treturn o\n}\n\n// patchForInsert eleminates entries from the list with more than one collation element.\n// The next and prev fields of the eliminated entries still point to appropriate\n// values in the newly created list.\n// It requires that sort has been called.\nfunc (o *ordering) patchForInsert() {\n\tfor i := 0; i < len(o.ordered)-1; {\n\t\te := o.ordered[i]\n\t\tlev := e.level\n\t\tn := e.next\n\t\tfor ; n != nil && len(n.elems) > 1; n = n.next {\n\t\t\tif n.level < lev {\n\t\t\t\tlev = n.level\n\t\t\t}\n\t\t\tn.skipRemove = true\n\t\t}\n\t\tfor ; o.ordered[i] != n; i++ {\n\t\t\to.ordered[i].level = lev\n\t\t\to.ordered[i].next = n\n\t\t\to.ordered[i+1].prev = e\n\t\t}\n\t}\n}\n\n// clone copies all ordering of es into a new ordering value.\nfunc (o *ordering) clone() *ordering {\n\to.sort()\n\too := ordering{\n\t\tentryMap: make(map[string]*entry),\n\t}\n\tfor _, e := range o.ordered {\n\t\tne := &entry{\n\t\t\trunes:     e.runes,\n\t\t\telems:     e.elems,\n\t\t\tstr:       e.str,\n\t\t\tdecompose: e.decompose,\n\t\t\texclude:   e.exclude,\n\t\t\tlogical:   e.logical,\n\t\t}\n\t\too.insert(ne)\n\t}\n\too.sort() // link all ordering.\n\too.patchForInsert()\n\treturn &oo\n}\n\n// front returns the first entry to be indexed.\n// It assumes that sort() has been called.\nfunc (o *ordering) front() *entry {\n\te := o.ordered[0]\n\tif e.prev != nil {\n\t\tlog.Panicf(\"unexpected first entry: %v\", e)\n\t}\n\t// The first entry is always a logical position, which should not be indexed.\n\te, _ = e.nextIndexed()\n\treturn e\n}\n\n// sort sorts all ordering based on their collation elements and initializes\n// the prev, next, and level fields accordingly.\nfunc (o *ordering) sort() {\n\tsort.Sort(sortedEntries(o.ordered))\n\tl := o.ordered\n\tfor i := 1; i < len(l); i++ {\n\t\tk := i - 1\n\t\tl[k].next = l[i]\n\t\t_, l[k].level = compareWeights(l[k].elems, l[i].elems)\n\t\tl[i].prev = l[k]\n\t}\n}\n\n// genColElems generates a collation element array from the runes in str. This\n// assumes that all collation elements have already been added to the Builder.\nfunc (o *ordering) genColElems(str string) []rawCE {\n\telems := []rawCE{}\n\tfor _, r := range []rune(str) {\n\t\tfor _, ce := range o.find(string(r)).elems {\n\t\t\tif ce.w[0] != 0 || ce.w[1] != 0 || ce.w[2] != 0 {\n\t\t\t\telems = append(elems, ce)\n\t\t\t}\n\t\t}\n\t}\n\treturn elems\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/build/table.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage build\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"reflect\"\n\n\t\"golang.org/x/text/internal/colltab\"\n)\n\n// table is an intermediate structure that roughly resembles the table in collate.\ntype table struct {\n\tcolltab.Table\n\ttrie trie\n\troot *trieHandle\n}\n\n// print writes the table as Go compilable code to w. It prefixes the\n// variable names with name. It returns the number of bytes written\n// and the size of the resulting table.\nfunc (t *table) fprint(w io.Writer, name string) (n, size int, err error) {\n\tupdate := func(nn, sz int, e error) {\n\t\tn += nn\n\t\tif err == nil {\n\t\t\terr = e\n\t\t}\n\t\tsize += sz\n\t}\n\t// Write arrays needed for the structure.\n\tupdate(printColElems(w, t.ExpandElem, name+\"ExpandElem\"))\n\tupdate(printColElems(w, t.ContractElem, name+\"ContractElem\"))\n\tupdate(t.trie.printArrays(w, name))\n\tupdate(printArray(t.ContractTries, w, name))\n\n\tnn, e := fmt.Fprintf(w, \"// Total size of %sTable is %d bytes\\n\", name, size)\n\tupdate(nn, 0, e)\n\treturn\n}\n\nfunc (t *table) fprintIndex(w io.Writer, h *trieHandle, id string) (n int, err error) {\n\tp := func(f string, a ...interface{}) {\n\t\tnn, e := fmt.Fprintf(w, f, a...)\n\t\tn += nn\n\t\tif err == nil {\n\t\t\terr = e\n\t\t}\n\t}\n\tp(\"\\t{ // %s\\n\", id)\n\tp(\"\\t\\tlookupOffset: 0x%x,\\n\", h.lookupStart)\n\tp(\"\\t\\tvaluesOffset: 0x%x,\\n\", h.valueStart)\n\tp(\"\\t},\\n\")\n\treturn\n}\n\nfunc printColElems(w io.Writer, a []uint32, name string) (n, sz int, err error) {\n\tp := func(f string, a ...interface{}) {\n\t\tnn, e := fmt.Fprintf(w, f, a...)\n\t\tn += nn\n\t\tif err == nil {\n\t\t\terr = e\n\t\t}\n\t}\n\tsz = len(a) * int(reflect.TypeOf(uint32(0)).Size())\n\tp(\"// %s: %d entries, %d bytes\\n\", name, len(a), sz)\n\tp(\"var %s = [%d]uint32 {\", name, len(a))\n\tfor i, c := range a {\n\t\tswitch {\n\t\tcase i%64 == 0:\n\t\t\tp(\"\\n\\t// Block %d, offset 0x%x\\n\", i/64, i)\n\t\tcase (i%64)%6 == 0:\n\t\t\tp(\"\\n\\t\")\n\t\t}\n\t\tp(\"0x%.8X, \", c)\n\t}\n\tp(\"\\n}\\n\\n\")\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/build/trie.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// The trie in this file is used to associate the first full character\n// in a UTF-8 string to a collation element.\n// All but the last byte in a UTF-8 byte sequence are\n// used to look up offsets in the index table to be used for the next byte.\n// The last byte is used to index into a table of collation elements.\n// This file contains the code for the generation of the trie.\n\npackage build\n\nimport (\n\t\"fmt\"\n\t\"hash/fnv\"\n\t\"io\"\n\t\"reflect\"\n)\n\nconst (\n\tblockSize   = 64\n\tblockOffset = 2 // Subtract 2 blocks to compensate for the 0x80 added to continuation bytes.\n)\n\ntype trieHandle struct {\n\tlookupStart uint16 // offset in table for first byte\n\tvalueStart  uint16 // offset in table for first byte\n}\n\ntype trie struct {\n\tindex  []uint16\n\tvalues []uint32\n}\n\n// trieNode is the intermediate trie structure used for generating a trie.\ntype trieNode struct {\n\tindex    []*trieNode\n\tvalue    []uint32\n\tb        byte\n\trefValue uint16\n\trefIndex uint16\n}\n\nfunc newNode() *trieNode {\n\treturn &trieNode{\n\t\tindex: make([]*trieNode, 64),\n\t\tvalue: make([]uint32, 128), // root node size is 128 instead of 64\n\t}\n}\n\nfunc (n *trieNode) isInternal() bool {\n\treturn n.value != nil\n}\n\nfunc (n *trieNode) insert(r rune, value uint32) {\n\tconst maskx = 0x3F // mask out two most-significant bits\n\tstr := string(r)\n\tif len(str) == 1 {\n\t\tn.value[str[0]] = value\n\t\treturn\n\t}\n\tfor i := 0; i < len(str)-1; i++ {\n\t\tb := str[i] & maskx\n\t\tif n.index == nil {\n\t\t\tn.index = make([]*trieNode, blockSize)\n\t\t}\n\t\tnn := n.index[b]\n\t\tif nn == nil {\n\t\t\tnn = &trieNode{}\n\t\t\tnn.b = b\n\t\t\tn.index[b] = nn\n\t\t}\n\t\tn = nn\n\t}\n\tif n.value == nil {\n\t\tn.value = make([]uint32, blockSize)\n\t}\n\tb := str[len(str)-1] & maskx\n\tn.value[b] = value\n}\n\ntype trieBuilder struct {\n\tt *trie\n\n\troots []*trieHandle\n\n\tlookupBlocks []*trieNode\n\tvalueBlocks  []*trieNode\n\n\tlookupBlockIdx map[uint32]*trieNode\n\tvalueBlockIdx  map[uint32]*trieNode\n}\n\nfunc newTrieBuilder() *trieBuilder {\n\tindex := &trieBuilder{}\n\tindex.lookupBlocks = make([]*trieNode, 0)\n\tindex.valueBlocks = make([]*trieNode, 0)\n\tindex.lookupBlockIdx = make(map[uint32]*trieNode)\n\tindex.valueBlockIdx = make(map[uint32]*trieNode)\n\t// The third nil is the default null block.  The other two blocks\n\t// are used to guarantee an offset of at least 3 for each block.\n\tindex.lookupBlocks = append(index.lookupBlocks, nil, nil, nil)\n\tindex.t = &trie{}\n\treturn index\n}\n\nfunc (b *trieBuilder) computeOffsets(n *trieNode) *trieNode {\n\thasher := fnv.New32()\n\tif n.index != nil {\n\t\tfor i, nn := range n.index {\n\t\t\tvar vi, vv uint16\n\t\t\tif nn != nil {\n\t\t\t\tnn = b.computeOffsets(nn)\n\t\t\t\tn.index[i] = nn\n\t\t\t\tvi = nn.refIndex\n\t\t\t\tvv = nn.refValue\n\t\t\t}\n\t\t\thasher.Write([]byte{byte(vi >> 8), byte(vi)})\n\t\t\thasher.Write([]byte{byte(vv >> 8), byte(vv)})\n\t\t}\n\t\th := hasher.Sum32()\n\t\tnn, ok := b.lookupBlockIdx[h]\n\t\tif !ok {\n\t\t\tn.refIndex = uint16(len(b.lookupBlocks)) - blockOffset\n\t\t\tb.lookupBlocks = append(b.lookupBlocks, n)\n\t\t\tb.lookupBlockIdx[h] = n\n\t\t} else {\n\t\t\tn = nn\n\t\t}\n\t} else {\n\t\tfor _, v := range n.value {\n\t\t\thasher.Write([]byte{byte(v >> 24), byte(v >> 16), byte(v >> 8), byte(v)})\n\t\t}\n\t\th := hasher.Sum32()\n\t\tnn, ok := b.valueBlockIdx[h]\n\t\tif !ok {\n\t\t\tn.refValue = uint16(len(b.valueBlocks)) - blockOffset\n\t\t\tn.refIndex = n.refValue\n\t\t\tb.valueBlocks = append(b.valueBlocks, n)\n\t\t\tb.valueBlockIdx[h] = n\n\t\t} else {\n\t\t\tn = nn\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (b *trieBuilder) addStartValueBlock(n *trieNode) uint16 {\n\thasher := fnv.New32()\n\tfor _, v := range n.value[:2*blockSize] {\n\t\thasher.Write([]byte{byte(v >> 24), byte(v >> 16), byte(v >> 8), byte(v)})\n\t}\n\th := hasher.Sum32()\n\tnn, ok := b.valueBlockIdx[h]\n\tif !ok {\n\t\tn.refValue = uint16(len(b.valueBlocks))\n\t\tn.refIndex = n.refValue\n\t\tb.valueBlocks = append(b.valueBlocks, n)\n\t\t// Add a dummy block to accommodate the double block size.\n\t\tb.valueBlocks = append(b.valueBlocks, nil)\n\t\tb.valueBlockIdx[h] = n\n\t} else {\n\t\tn = nn\n\t}\n\treturn n.refValue\n}\n\nfunc genValueBlock(t *trie, n *trieNode) {\n\tif n != nil {\n\t\tfor _, v := range n.value {\n\t\t\tt.values = append(t.values, v)\n\t\t}\n\t}\n}\n\nfunc genLookupBlock(t *trie, n *trieNode) {\n\tfor _, nn := range n.index {\n\t\tv := uint16(0)\n\t\tif nn != nil {\n\t\t\tif n.index != nil {\n\t\t\t\tv = nn.refIndex\n\t\t\t} else {\n\t\t\t\tv = nn.refValue\n\t\t\t}\n\t\t}\n\t\tt.index = append(t.index, v)\n\t}\n}\n\nfunc (b *trieBuilder) addTrie(n *trieNode) *trieHandle {\n\th := &trieHandle{}\n\tb.roots = append(b.roots, h)\n\th.valueStart = b.addStartValueBlock(n)\n\tif len(b.roots) == 1 {\n\t\t// We insert a null block after the first start value block.\n\t\t// This ensures that continuation bytes UTF-8 sequences of length\n\t\t// greater than 2 will automatically hit a null block if there\n\t\t// was an undefined entry.\n\t\tb.valueBlocks = append(b.valueBlocks, nil)\n\t}\n\tn = b.computeOffsets(n)\n\t// Offset by one extra block as the first byte starts at 0xC0 instead of 0x80.\n\th.lookupStart = n.refIndex - 1\n\treturn h\n}\n\n// generate generates and returns the trie for n.\nfunc (b *trieBuilder) generate() (t *trie, err error) {\n\tt = b.t\n\tif len(b.valueBlocks) >= 1<<16 {\n\t\treturn nil, fmt.Errorf(\"maximum number of value blocks exceeded (%d > %d)\", len(b.valueBlocks), 1<<16)\n\t}\n\tif len(b.lookupBlocks) >= 1<<16 {\n\t\treturn nil, fmt.Errorf(\"maximum number of lookup blocks exceeded (%d > %d)\", len(b.lookupBlocks), 1<<16)\n\t}\n\tgenValueBlock(t, b.valueBlocks[0])\n\tgenValueBlock(t, &trieNode{value: make([]uint32, 64)})\n\tfor i := 2; i < len(b.valueBlocks); i++ {\n\t\tgenValueBlock(t, b.valueBlocks[i])\n\t}\n\tn := &trieNode{index: make([]*trieNode, 64)}\n\tgenLookupBlock(t, n)\n\tgenLookupBlock(t, n)\n\tgenLookupBlock(t, n)\n\tfor i := 3; i < len(b.lookupBlocks); i++ {\n\t\tgenLookupBlock(t, b.lookupBlocks[i])\n\t}\n\treturn b.t, nil\n}\n\nfunc (t *trie) printArrays(w io.Writer, name string) (n, size int, err error) {\n\tp := func(f string, a ...interface{}) {\n\t\tnn, e := fmt.Fprintf(w, f, a...)\n\t\tn += nn\n\t\tif err == nil {\n\t\t\terr = e\n\t\t}\n\t}\n\tnv := len(t.values)\n\tp(\"// %sValues: %d entries, %d bytes\\n\", name, nv, nv*4)\n\tp(\"// Block 2 is the null block.\\n\")\n\tp(\"var %sValues = [%d]uint32 {\", name, nv)\n\tvar printnewline bool\n\tfor i, v := range t.values {\n\t\tif i%blockSize == 0 {\n\t\t\tp(\"\\n\\t// Block %#x, offset %#x\", i/blockSize, i)\n\t\t}\n\t\tif i%4 == 0 {\n\t\t\tprintnewline = true\n\t\t}\n\t\tif v != 0 {\n\t\t\tif printnewline {\n\t\t\t\tp(\"\\n\\t\")\n\t\t\t\tprintnewline = false\n\t\t\t}\n\t\t\tp(\"%#04x:%#08x, \", i, v)\n\t\t}\n\t}\n\tp(\"\\n}\\n\\n\")\n\tni := len(t.index)\n\tp(\"// %sLookup: %d entries, %d bytes\\n\", name, ni, ni*2)\n\tp(\"// Block 0 is the null block.\\n\")\n\tp(\"var %sLookup = [%d]uint16 {\", name, ni)\n\tprintnewline = false\n\tfor i, v := range t.index {\n\t\tif i%blockSize == 0 {\n\t\t\tp(\"\\n\\t// Block %#x, offset %#x\", i/blockSize, i)\n\t\t}\n\t\tif i%8 == 0 {\n\t\t\tprintnewline = true\n\t\t}\n\t\tif v != 0 {\n\t\t\tif printnewline {\n\t\t\t\tp(\"\\n\\t\")\n\t\t\t\tprintnewline = false\n\t\t\t}\n\t\t\tp(\"%#03x:%#02x, \", i, v)\n\t\t}\n\t}\n\tp(\"\\n}\\n\\n\")\n\treturn n, nv*4 + ni*2, err\n}\n\nfunc (t *trie) printStruct(w io.Writer, handle *trieHandle, name string) (n, sz int, err error) {\n\tconst msg = \"trie{ %sLookup[%d:], %sValues[%d:], %sLookup[:], %sValues[:]}\"\n\tn, err = fmt.Fprintf(w, msg, name, handle.lookupStart*blockSize, name, handle.valueStart*blockSize, name, name)\n\tsz += int(reflect.TypeOf(trie{}).Size())\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/collate.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// TODO: remove hard-coded versions when we have implemented fractional weights.\n// The current implementation is incompatible with later CLDR versions.\n//go:generate go run maketables.go -cldr=23 -unicode=6.2.0\n\n// Package collate contains types for comparing and sorting Unicode strings\n// according to a given collation order.\npackage collate // import \"golang.org/x/text/collate\"\n\nimport (\n\t\"bytes\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/colltab\"\n\t\"golang.org/x/text/language\"\n)\n\n// Collator provides functionality for comparing strings for a given\n// collation order.\ntype Collator struct {\n\toptions\n\n\tsorter sorter\n\n\t_iter [2]iter\n}\n\nfunc (c *Collator) iter(i int) *iter {\n\t// TODO: evaluate performance for making the second iterator optional.\n\treturn &c._iter[i]\n}\n\n// Supported returns the list of languages for which collating differs from its parent.\nfunc Supported() []language.Tag {\n\t// TODO: use language.Coverage instead.\n\n\tt := make([]language.Tag, len(tags))\n\tcopy(t, tags)\n\treturn t\n}\n\nfunc init() {\n\tids := strings.Split(availableLocales, \",\")\n\ttags = make([]language.Tag, len(ids))\n\tfor i, s := range ids {\n\t\ttags[i] = language.Raw.MustParse(s)\n\t}\n}\n\nvar tags []language.Tag\n\n// New returns a new Collator initialized for the given locale.\nfunc New(t language.Tag, o ...Option) *Collator {\n\tindex := colltab.MatchLang(t, tags)\n\tc := newCollator(getTable(locales[index]))\n\n\t// Set options from the user-supplied tag.\n\tc.setFromTag(t)\n\n\t// Set the user-supplied options.\n\tc.setOptions(o)\n\n\tc.init()\n\treturn c\n}\n\n// NewFromTable returns a new Collator for the given Weighter.\nfunc NewFromTable(w colltab.Weighter, o ...Option) *Collator {\n\tc := newCollator(w)\n\tc.setOptions(o)\n\tc.init()\n\treturn c\n}\n\nfunc (c *Collator) init() {\n\tif c.numeric {\n\t\tc.t = colltab.NewNumericWeighter(c.t)\n\t}\n\tc._iter[0].init(c)\n\tc._iter[1].init(c)\n}\n\n// Buffer holds keys generated by Key and KeyString.\ntype Buffer struct {\n\tbuf [4096]byte\n\tkey []byte\n}\n\nfunc (b *Buffer) init() {\n\tif b.key == nil {\n\t\tb.key = b.buf[:0]\n\t}\n}\n\n// Reset clears the buffer from previous results generated by Key and KeyString.\nfunc (b *Buffer) Reset() {\n\tb.key = b.key[:0]\n}\n\n// Compare returns an integer comparing the two byte slices.\n// The result will be 0 if a==b, -1 if a < b, and +1 if a > b.\nfunc (c *Collator) Compare(a, b []byte) int {\n\t// TODO: skip identical prefixes once we have a fast way to detect if a rune is\n\t// part of a contraction. This would lead to roughly a 10% speedup for the colcmp regtest.\n\tc.iter(0).SetInput(a)\n\tc.iter(1).SetInput(b)\n\tif res := c.compare(); res != 0 {\n\t\treturn res\n\t}\n\tif !c.ignore[colltab.Identity] {\n\t\treturn bytes.Compare(a, b)\n\t}\n\treturn 0\n}\n\n// CompareString returns an integer comparing the two strings.\n// The result will be 0 if a==b, -1 if a < b, and +1 if a > b.\nfunc (c *Collator) CompareString(a, b string) int {\n\t// TODO: skip identical prefixes once we have a fast way to detect if a rune is\n\t// part of a contraction. This would lead to roughly a 10% speedup for the colcmp regtest.\n\tc.iter(0).SetInputString(a)\n\tc.iter(1).SetInputString(b)\n\tif res := c.compare(); res != 0 {\n\t\treturn res\n\t}\n\tif !c.ignore[colltab.Identity] {\n\t\tif a < b {\n\t\t\treturn -1\n\t\t} else if a > b {\n\t\t\treturn 1\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc compareLevel(f func(i *iter) int, a, b *iter) int {\n\ta.pce = 0\n\tb.pce = 0\n\tfor {\n\t\tva := f(a)\n\t\tvb := f(b)\n\t\tif va != vb {\n\t\t\tif va < vb {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\treturn 1\n\t\t} else if va == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc (c *Collator) compare() int {\n\tia, ib := c.iter(0), c.iter(1)\n\t// Process primary level\n\tif c.alternate != altShifted {\n\t\t// TODO: implement script reordering\n\t\tif res := compareLevel((*iter).nextPrimary, ia, ib); res != 0 {\n\t\t\treturn res\n\t\t}\n\t} else {\n\t\t// TODO: handle shifted\n\t}\n\tif !c.ignore[colltab.Secondary] {\n\t\tf := (*iter).nextSecondary\n\t\tif c.backwards {\n\t\t\tf = (*iter).prevSecondary\n\t\t}\n\t\tif res := compareLevel(f, ia, ib); res != 0 {\n\t\t\treturn res\n\t\t}\n\t}\n\t// TODO: special case handling (Danish?)\n\tif !c.ignore[colltab.Tertiary] || c.caseLevel {\n\t\tif res := compareLevel((*iter).nextTertiary, ia, ib); res != 0 {\n\t\t\treturn res\n\t\t}\n\t\tif !c.ignore[colltab.Quaternary] {\n\t\t\tif res := compareLevel((*iter).nextQuaternary, ia, ib); res != 0 {\n\t\t\t\treturn res\n\t\t\t}\n\t\t}\n\t}\n\treturn 0\n}\n\n// Key returns the collation key for str.\n// Passing the buffer buf may avoid memory allocations.\n// The returned slice will point to an allocation in Buffer and will remain\n// valid until the next call to buf.Reset().\nfunc (c *Collator) Key(buf *Buffer, str []byte) []byte {\n\t// See http://www.unicode.org/reports/tr10/#Main_Algorithm for more details.\n\tbuf.init()\n\treturn c.key(buf, c.getColElems(str))\n}\n\n// KeyFromString returns the collation key for str.\n// Passing the buffer buf may avoid memory allocations.\n// The returned slice will point to an allocation in Buffer and will retain\n// valid until the next call to buf.ResetKeys().\nfunc (c *Collator) KeyFromString(buf *Buffer, str string) []byte {\n\t// See http://www.unicode.org/reports/tr10/#Main_Algorithm for more details.\n\tbuf.init()\n\treturn c.key(buf, c.getColElemsString(str))\n}\n\nfunc (c *Collator) key(buf *Buffer, w []colltab.Elem) []byte {\n\tprocessWeights(c.alternate, c.t.Top(), w)\n\tkn := len(buf.key)\n\tc.keyFromElems(buf, w)\n\treturn buf.key[kn:]\n}\n\nfunc (c *Collator) getColElems(str []byte) []colltab.Elem {\n\ti := c.iter(0)\n\ti.SetInput(str)\n\tfor i.Next() {\n\t}\n\treturn i.Elems\n}\n\nfunc (c *Collator) getColElemsString(str string) []colltab.Elem {\n\ti := c.iter(0)\n\ti.SetInputString(str)\n\tfor i.Next() {\n\t}\n\treturn i.Elems\n}\n\ntype iter struct {\n\twa [512]colltab.Elem\n\n\tcolltab.Iter\n\tpce int\n}\n\nfunc (i *iter) init(c *Collator) {\n\ti.Weighter = c.t\n\ti.Elems = i.wa[:0]\n}\n\nfunc (i *iter) nextPrimary() int {\n\tfor {\n\t\tfor ; i.pce < i.N; i.pce++ {\n\t\t\tif v := i.Elems[i.pce].Primary(); v != 0 {\n\t\t\t\ti.pce++\n\t\t\t\treturn v\n\t\t\t}\n\t\t}\n\t\tif !i.Next() {\n\t\t\treturn 0\n\t\t}\n\t}\n\tpanic(\"should not reach here\")\n}\n\nfunc (i *iter) nextSecondary() int {\n\tfor ; i.pce < len(i.Elems); i.pce++ {\n\t\tif v := i.Elems[i.pce].Secondary(); v != 0 {\n\t\t\ti.pce++\n\t\t\treturn v\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc (i *iter) prevSecondary() int {\n\tfor ; i.pce < len(i.Elems); i.pce++ {\n\t\tif v := i.Elems[len(i.Elems)-i.pce-1].Secondary(); v != 0 {\n\t\t\ti.pce++\n\t\t\treturn v\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc (i *iter) nextTertiary() int {\n\tfor ; i.pce < len(i.Elems); i.pce++ {\n\t\tif v := i.Elems[i.pce].Tertiary(); v != 0 {\n\t\t\ti.pce++\n\t\t\treturn int(v)\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc (i *iter) nextQuaternary() int {\n\tfor ; i.pce < len(i.Elems); i.pce++ {\n\t\tif v := i.Elems[i.pce].Quaternary(); v != 0 {\n\t\t\ti.pce++\n\t\t\treturn v\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc appendPrimary(key []byte, p int) []byte {\n\t// Convert to variable length encoding; supports up to 23 bits.\n\tif p <= 0x7FFF {\n\t\tkey = append(key, uint8(p>>8), uint8(p))\n\t} else {\n\t\tkey = append(key, uint8(p>>16)|0x80, uint8(p>>8), uint8(p))\n\t}\n\treturn key\n}\n\n// keyFromElems converts the weights ws to a compact sequence of bytes.\n// The result will be appended to the byte buffer in buf.\nfunc (c *Collator) keyFromElems(buf *Buffer, ws []colltab.Elem) {\n\tfor _, v := range ws {\n\t\tif w := v.Primary(); w > 0 {\n\t\t\tbuf.key = appendPrimary(buf.key, w)\n\t\t}\n\t}\n\tif !c.ignore[colltab.Secondary] {\n\t\tbuf.key = append(buf.key, 0, 0)\n\t\t// TODO: we can use one 0 if we can guarantee that all non-zero weights are > 0xFF.\n\t\tif !c.backwards {\n\t\t\tfor _, v := range ws {\n\t\t\t\tif w := v.Secondary(); w > 0 {\n\t\t\t\t\tbuf.key = append(buf.key, uint8(w>>8), uint8(w))\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor i := len(ws) - 1; i >= 0; i-- {\n\t\t\t\tif w := ws[i].Secondary(); w > 0 {\n\t\t\t\t\tbuf.key = append(buf.key, uint8(w>>8), uint8(w))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else if c.caseLevel {\n\t\tbuf.key = append(buf.key, 0, 0)\n\t}\n\tif !c.ignore[colltab.Tertiary] || c.caseLevel {\n\t\tbuf.key = append(buf.key, 0, 0)\n\t\tfor _, v := range ws {\n\t\t\tif w := v.Tertiary(); w > 0 {\n\t\t\t\tbuf.key = append(buf.key, uint8(w))\n\t\t\t}\n\t\t}\n\t\t// Derive the quaternary weights from the options and other levels.\n\t\t// Note that we represent MaxQuaternary as 0xFF. The first byte of the\n\t\t// representation of a primary weight is always smaller than 0xFF,\n\t\t// so using this single byte value will compare correctly.\n\t\tif !c.ignore[colltab.Quaternary] && c.alternate >= altShifted {\n\t\t\tif c.alternate == altShiftTrimmed {\n\t\t\t\tlastNonFFFF := len(buf.key)\n\t\t\t\tbuf.key = append(buf.key, 0)\n\t\t\t\tfor _, v := range ws {\n\t\t\t\t\tif w := v.Quaternary(); w == colltab.MaxQuaternary {\n\t\t\t\t\t\tbuf.key = append(buf.key, 0xFF)\n\t\t\t\t\t} else if w > 0 {\n\t\t\t\t\t\tbuf.key = appendPrimary(buf.key, w)\n\t\t\t\t\t\tlastNonFFFF = len(buf.key)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbuf.key = buf.key[:lastNonFFFF]\n\t\t\t} else {\n\t\t\t\tbuf.key = append(buf.key, 0)\n\t\t\t\tfor _, v := range ws {\n\t\t\t\t\tif w := v.Quaternary(); w == colltab.MaxQuaternary {\n\t\t\t\t\t\tbuf.key = append(buf.key, 0xFF)\n\t\t\t\t\t} else if w > 0 {\n\t\t\t\t\t\tbuf.key = appendPrimary(buf.key, w)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc processWeights(vw alternateHandling, top uint32, wa []colltab.Elem) {\n\tignore := false\n\tvtop := int(top)\n\tswitch vw {\n\tcase altShifted, altShiftTrimmed:\n\t\tfor i := range wa {\n\t\t\tif p := wa[i].Primary(); p <= vtop && p != 0 {\n\t\t\t\twa[i] = colltab.MakeQuaternary(p)\n\t\t\t\tignore = true\n\t\t\t} else if p == 0 {\n\t\t\t\tif ignore {\n\t\t\t\t\twa[i] = colltab.Ignore\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tignore = false\n\t\t\t}\n\t\t}\n\tcase altBlanked:\n\t\tfor i := range wa {\n\t\t\tif p := wa[i].Primary(); p <= vtop && (ignore || p != 0) {\n\t\t\t\twa[i] = colltab.Ignore\n\t\t\t\tignore = true\n\t\t\t} else {\n\t\t\t\tignore = false\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/index.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage collate\n\nimport \"golang.org/x/text/internal/colltab\"\n\nconst blockSize = 64\n\nfunc getTable(t tableIndex) *colltab.Table {\n\treturn &colltab.Table{\n\t\tIndex: colltab.Trie{\n\t\t\tIndex0:  mainLookup[:][blockSize*t.lookupOffset:],\n\t\t\tValues0: mainValues[:][blockSize*t.valuesOffset:],\n\t\t\tIndex:   mainLookup[:],\n\t\t\tValues:  mainValues[:],\n\t\t},\n\t\tExpandElem:     mainExpandElem[:],\n\t\tContractTries:  colltab.ContractTrieSet(mainCTEntries[:]),\n\t\tContractElem:   mainContractElem[:],\n\t\tMaxContractLen: 18,\n\t\tVariableTop:    varTop,\n\t}\n}\n\n// tableIndex holds information for constructing a table\n// for a certain locale based on the main table.\ntype tableIndex struct {\n\tlookupOffset uint32\n\tvaluesOffset uint32\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/maketables.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// Collation table generator.\n// Data read from the web.\n\npackage main\n\nimport (\n\t\"archive/zip\"\n\t\"bufio\"\n\t\"bytes\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"regexp\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/collate\"\n\t\"golang.org/x/text/collate/build\"\n\t\"golang.org/x/text/internal/colltab\"\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/language\"\n\t\"golang.org/x/text/unicode/cldr\"\n)\n\nvar (\n\ttest = flag.Bool(\"test\", false,\n\t\t\"test existing tables; can be used to compare web data with package data.\")\n\tshort = flag.Bool(\"short\", false, `Use \"short\" alternatives, when available.`)\n\tdraft = flag.Bool(\"draft\", false, `Use draft versions, when available.`)\n\ttags  = flag.String(\"tags\", \"\", \"build tags to be included after +build directive\")\n\tpkg   = flag.String(\"package\", \"collate\",\n\t\t\"the name of the package in which the generated file is to be included\")\n\n\ttables = flagStringSetAllowAll(\"tables\", \"collate\", \"collate,chars\",\n\t\t\"comma-spearated list of tables to generate.\")\n\texclude = flagStringSet(\"exclude\", \"zh2\", \"\",\n\t\t\"comma-separated list of languages to exclude.\")\n\tinclude = flagStringSet(\"include\", \"\", \"\",\n\t\t\"comma-separated list of languages to include. Include trumps exclude.\")\n\t// TODO: Not included: unihan gb2312han zhuyin big5han (for size reasons)\n\t// TODO: Not included: traditional (buggy for Bengali)\n\ttypes = flagStringSetAllowAll(\"types\", \"standard,phonebook,phonetic,reformed,pinyin,stroke\", \"\",\n\t\t\"comma-separated list of types that should be included.\")\n)\n\n// stringSet implements an ordered set based on a list.  It implements flag.Value\n// to allow a set to be specified as a comma-separated list.\ntype stringSet struct {\n\ts        []string\n\tallowed  *stringSet\n\tdirty    bool // needs compaction if true\n\tall      bool\n\tallowAll bool\n}\n\nfunc flagStringSet(name, def, allowed, usage string) *stringSet {\n\tss := &stringSet{}\n\tif allowed != \"\" {\n\t\tusage += fmt.Sprintf(\" (allowed values: any of %s)\", allowed)\n\t\tss.allowed = &stringSet{}\n\t\tfailOnError(ss.allowed.Set(allowed))\n\t}\n\tss.Set(def)\n\tflag.Var(ss, name, usage)\n\treturn ss\n}\n\nfunc flagStringSetAllowAll(name, def, allowed, usage string) *stringSet {\n\tss := &stringSet{allowAll: true}\n\tif allowed == \"\" {\n\t\tflag.Var(ss, name, usage+fmt.Sprintf(` Use \"all\" to select all.`))\n\t} else {\n\t\tss.allowed = &stringSet{}\n\t\tfailOnError(ss.allowed.Set(allowed))\n\t\tflag.Var(ss, name, usage+fmt.Sprintf(` (allowed values: \"all\" or any of %s)`, allowed))\n\t}\n\tss.Set(def)\n\treturn ss\n}\n\nfunc (ss stringSet) Len() int {\n\treturn len(ss.s)\n}\n\nfunc (ss stringSet) String() string {\n\treturn strings.Join(ss.s, \",\")\n}\n\nfunc (ss *stringSet) Set(s string) error {\n\tif ss.allowAll && s == \"all\" {\n\t\tss.s = nil\n\t\tss.all = true\n\t\treturn nil\n\t}\n\tss.s = ss.s[:0]\n\tfor _, s := range strings.Split(s, \",\") {\n\t\tif s := strings.TrimSpace(s); s != \"\" {\n\t\t\tif ss.allowed != nil && !ss.allowed.contains(s) {\n\t\t\t\treturn fmt.Errorf(\"unsupported value %q; must be one of %s\", s, ss.allowed)\n\t\t\t}\n\t\t\tss.add(s)\n\t\t}\n\t}\n\tss.compact()\n\treturn nil\n}\n\nfunc (ss *stringSet) add(s string) {\n\tss.s = append(ss.s, s)\n\tss.dirty = true\n}\n\nfunc (ss *stringSet) values() []string {\n\tss.compact()\n\treturn ss.s\n}\n\nfunc (ss *stringSet) contains(s string) bool {\n\tif ss.all {\n\t\treturn true\n\t}\n\tfor _, v := range ss.s {\n\t\tif v == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunc (ss *stringSet) compact() {\n\tif !ss.dirty {\n\t\treturn\n\t}\n\ta := ss.s\n\tsort.Strings(a)\n\tk := 0\n\tfor i := 1; i < len(a); i++ {\n\t\tif a[k] != a[i] {\n\t\t\ta[k+1] = a[i]\n\t\t\tk++\n\t\t}\n\t}\n\tss.s = a[:k+1]\n\tss.dirty = false\n}\n\nfunc skipLang(l string) bool {\n\tif include.Len() > 0 {\n\t\treturn !include.contains(l)\n\t}\n\treturn exclude.contains(l)\n}\n\n// altInclude returns a list of alternatives (for the LDML alt attribute)\n// in order of preference.  An empty string in this list indicates the\n// default entry.\nfunc altInclude() []string {\n\tl := []string{}\n\tif *short {\n\t\tl = append(l, \"short\")\n\t}\n\tl = append(l, \"\")\n\t// TODO: handle draft using cldr.SetDraftLevel\n\tif *draft {\n\t\tl = append(l, \"proposed\")\n\t}\n\treturn l\n}\n\nfunc failOnError(e error) {\n\tif e != nil {\n\t\tlog.Panic(e)\n\t}\n}\n\nfunc openArchive() *zip.Reader {\n\tf := gen.OpenCLDRCoreZip()\n\tbuffer, err := ioutil.ReadAll(f)\n\tf.Close()\n\tfailOnError(err)\n\tarchive, err := zip.NewReader(bytes.NewReader(buffer), int64(len(buffer)))\n\tfailOnError(err)\n\treturn archive\n}\n\n// parseUCA parses a Default Unicode Collation Element Table of the format\n// specified in http://www.unicode.org/reports/tr10/#File_Format.\n// It returns the variable top.\nfunc parseUCA(builder *build.Builder) {\n\tvar r io.ReadCloser\n\tvar err error\n\tfor _, f := range openArchive().File {\n\t\tif strings.HasSuffix(f.Name, \"allkeys_CLDR.txt\") {\n\t\t\tr, err = f.Open()\n\t\t}\n\t}\n\tif r == nil {\n\t\tlog.Fatal(\"File allkeys_CLDR.txt not found in archive.\")\n\t}\n\tfailOnError(err)\n\tdefer r.Close()\n\tscanner := bufio.NewScanner(r)\n\tcolelem := regexp.MustCompile(`\\[([.*])([0-9A-F.]+)\\]`)\n\tfor i := 1; scanner.Scan(); i++ {\n\t\tline := scanner.Text()\n\t\tif len(line) == 0 || line[0] == '#' {\n\t\t\tcontinue\n\t\t}\n\t\tif line[0] == '@' {\n\t\t\t// parse properties\n\t\t\tswitch {\n\t\t\tcase strings.HasPrefix(line[1:], \"version \"):\n\t\t\t\ta := strings.Split(line[1:], \" \")\n\t\t\t\tif a[1] != gen.UnicodeVersion() {\n\t\t\t\t\tlog.Fatalf(\"incompatible version %s; want %s\", a[1], gen.UnicodeVersion())\n\t\t\t\t}\n\t\t\tcase strings.HasPrefix(line[1:], \"backwards \"):\n\t\t\t\tlog.Fatalf(\"%d: unsupported option backwards\", i)\n\t\t\tdefault:\n\t\t\t\tlog.Printf(\"%d: unknown option %s\", i, line[1:])\n\t\t\t}\n\t\t} else {\n\t\t\t// parse entries\n\t\t\tpart := strings.Split(line, \" ; \")\n\t\t\tif len(part) != 2 {\n\t\t\t\tlog.Fatalf(\"%d: production rule without ';': %v\", i, line)\n\t\t\t}\n\t\t\tlhs := []rune{}\n\t\t\tfor _, v := range strings.Split(part[0], \" \") {\n\t\t\t\tif v == \"\" {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tlhs = append(lhs, rune(convHex(i, v)))\n\t\t\t}\n\t\t\tvar n int\n\t\t\tvar vars []int\n\t\t\trhs := [][]int{}\n\t\t\tfor i, m := range colelem.FindAllStringSubmatch(part[1], -1) {\n\t\t\t\tn += len(m[0])\n\t\t\t\telem := []int{}\n\t\t\t\tfor _, h := range strings.Split(m[2], \".\") {\n\t\t\t\t\telem = append(elem, convHex(i, h))\n\t\t\t\t}\n\t\t\t\tif m[1] == \"*\" {\n\t\t\t\t\tvars = append(vars, i)\n\t\t\t\t}\n\t\t\t\trhs = append(rhs, elem)\n\t\t\t}\n\t\t\tif len(part[1]) < n+3 || part[1][n+1] != '#' {\n\t\t\t\tlog.Fatalf(\"%d: expected comment; found %s\", i, part[1][n:])\n\t\t\t}\n\t\t\tif *test {\n\t\t\t\ttestInput.add(string(lhs))\n\t\t\t}\n\t\t\tfailOnError(builder.Add(lhs, rhs, vars))\n\t\t}\n\t}\n\tif scanner.Err() != nil {\n\t\tlog.Fatal(scanner.Err())\n\t}\n}\n\nfunc convHex(line int, s string) int {\n\tr, e := strconv.ParseInt(s, 16, 32)\n\tif e != nil {\n\t\tlog.Fatalf(\"%d: %v\", line, e)\n\t}\n\treturn int(r)\n}\n\nvar testInput = stringSet{}\n\nvar charRe = regexp.MustCompile(`&#x([0-9A-F]*);`)\nvar tagRe = regexp.MustCompile(`<([a-z_]*)  */>`)\n\nvar mainLocales = []string{}\n\n// charsets holds a list of exemplar characters per category.\ntype charSets map[string][]string\n\nfunc (p charSets) fprint(w io.Writer) {\n\tfmt.Fprintln(w, \"[exN]string{\")\n\tfor i, k := range []string{\"\", \"contractions\", \"punctuation\", \"auxiliary\", \"currencySymbol\", \"index\"} {\n\t\tif set := p[k]; len(set) != 0 {\n\t\t\tfmt.Fprintf(w, \"\\t\\t%d: %q,\\n\", i, strings.Join(set, \" \"))\n\t\t}\n\t}\n\tfmt.Fprintln(w, \"\\t},\")\n}\n\nvar localeChars = make(map[string]charSets)\n\nconst exemplarHeader = `\ntype exemplarType int\nconst (\n\texCharacters exemplarType = iota\n\texContractions\n\texPunctuation\n\texAuxiliary\n\texCurrency\n\texIndex\n\texN\n)\n`\n\nfunc printExemplarCharacters(w io.Writer) {\n\tfmt.Fprintln(w, exemplarHeader)\n\tfmt.Fprintln(w, \"var exemplarCharacters = map[string][exN]string{\")\n\tfor _, loc := range mainLocales {\n\t\tfmt.Fprintf(w, \"\\t%q: \", loc)\n\t\tlocaleChars[loc].fprint(w)\n\t}\n\tfmt.Fprintln(w, \"}\")\n}\n\nfunc decodeCLDR(d *cldr.Decoder) *cldr.CLDR {\n\tr := gen.OpenCLDRCoreZip()\n\tdata, err := d.DecodeZip(r)\n\tfailOnError(err)\n\treturn data\n}\n\n// parseMain parses XML files in the main directory of the CLDR core.zip file.\nfunc parseMain() {\n\td := &cldr.Decoder{}\n\td.SetDirFilter(\"main\")\n\td.SetSectionFilter(\"characters\")\n\tdata := decodeCLDR(d)\n\tfor _, loc := range data.Locales() {\n\t\tx := data.RawLDML(loc)\n\t\tif skipLang(x.Identity.Language.Type) {\n\t\t\tcontinue\n\t\t}\n\t\tif x.Characters != nil {\n\t\t\tx, _ = data.LDML(loc)\n\t\t\tloc = language.Make(loc).String()\n\t\t\tfor _, ec := range x.Characters.ExemplarCharacters {\n\t\t\t\tif ec.Draft != \"\" {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif _, ok := localeChars[loc]; !ok {\n\t\t\t\t\tmainLocales = append(mainLocales, loc)\n\t\t\t\t\tlocaleChars[loc] = make(charSets)\n\t\t\t\t}\n\t\t\t\tlocaleChars[loc][ec.Type] = parseCharacters(ec.Data())\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc parseCharacters(chars string) []string {\n\tparseSingle := func(s string) (r rune, tail string, escaped bool) {\n\t\tif s[0] == '\\\\' {\n\t\t\treturn rune(s[1]), s[2:], true\n\t\t}\n\t\tr, sz := utf8.DecodeRuneInString(s)\n\t\treturn r, s[sz:], false\n\t}\n\tchars = strings.TrimSpace(chars)\n\tif n := len(chars) - 1; chars[n] == ']' && chars[0] == '[' {\n\t\tchars = chars[1:n]\n\t}\n\tlist := []string{}\n\tvar r, last, end rune\n\tfor len(chars) > 0 {\n\t\tif chars[0] == '{' { // character sequence\n\t\t\tbuf := []rune{}\n\t\t\tfor chars = chars[1:]; len(chars) > 0; {\n\t\t\t\tr, chars, _ = parseSingle(chars)\n\t\t\t\tif r == '}' {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif r == ' ' {\n\t\t\t\t\tlog.Fatalf(\"space not supported in sequence %q\", chars)\n\t\t\t\t}\n\t\t\t\tbuf = append(buf, r)\n\t\t\t}\n\t\t\tlist = append(list, string(buf))\n\t\t\tlast = 0\n\t\t} else { // single character\n\t\t\tescaped := false\n\t\t\tr, chars, escaped = parseSingle(chars)\n\t\t\tif r != ' ' {\n\t\t\t\tif r == '-' && !escaped {\n\t\t\t\t\tif last == 0 {\n\t\t\t\t\t\tlog.Fatal(\"'-' should be preceded by a character\")\n\t\t\t\t\t}\n\t\t\t\t\tend, chars, _ = parseSingle(chars)\n\t\t\t\t\tfor ; last <= end; last++ {\n\t\t\t\t\t\tlist = append(list, string(last))\n\t\t\t\t\t}\n\t\t\t\t\tlast = 0\n\t\t\t\t} else {\n\t\t\t\t\tlist = append(list, string(r))\n\t\t\t\t\tlast = r\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn list\n}\n\nvar fileRe = regexp.MustCompile(`.*/collation/(.*)\\.xml`)\n\n// typeMap translates legacy type keys to their BCP47 equivalent.\nvar typeMap = map[string]string{\n\t\"phonebook\":   \"phonebk\",\n\t\"traditional\": \"trad\",\n}\n\n// parseCollation parses XML files in the collation directory of the CLDR core.zip file.\nfunc parseCollation(b *build.Builder) {\n\td := &cldr.Decoder{}\n\td.SetDirFilter(\"collation\")\n\tdata := decodeCLDR(d)\n\tfor _, loc := range data.Locales() {\n\t\tx, err := data.LDML(loc)\n\t\tfailOnError(err)\n\t\tif skipLang(x.Identity.Language.Type) {\n\t\t\tcontinue\n\t\t}\n\t\tcs := x.Collations.Collation\n\t\tsl := cldr.MakeSlice(&cs)\n\t\tif len(types.s) == 0 {\n\t\t\tsl.SelectAnyOf(\"type\", x.Collations.Default())\n\t\t} else if !types.all {\n\t\t\tsl.SelectAnyOf(\"type\", types.s...)\n\t\t}\n\t\tsl.SelectOnePerGroup(\"alt\", altInclude())\n\n\t\tfor _, c := range cs {\n\t\t\tid, err := language.Parse(loc)\n\t\t\tif err != nil {\n\t\t\t\tfmt.Fprintf(os.Stderr, \"invalid locale: %q\", err)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// Support both old- and new-style defaults.\n\t\t\td := c.Type\n\t\t\tif x.Collations.DefaultCollation == nil {\n\t\t\t\td = x.Collations.Default()\n\t\t\t} else {\n\t\t\t\td = x.Collations.DefaultCollation.Data()\n\t\t\t}\n\t\t\t// We assume tables are being built either for search or collation,\n\t\t\t// but not both. For search the default is always \"search\".\n\t\t\tif d != c.Type && c.Type != \"search\" {\n\t\t\t\ttyp := c.Type\n\t\t\t\tif len(c.Type) > 8 {\n\t\t\t\t\ttyp = typeMap[c.Type]\n\t\t\t\t}\n\t\t\t\tid, err = id.SetTypeForKey(\"co\", typ)\n\t\t\t\tfailOnError(err)\n\t\t\t}\n\t\t\tt := b.Tailoring(id)\n\t\t\tc.Process(processor{t})\n\t\t}\n\t}\n}\n\ntype processor struct {\n\tt *build.Tailoring\n}\n\nfunc (p processor) Reset(anchor string, before int) (err error) {\n\tif before != 0 {\n\t\terr = p.t.SetAnchorBefore(anchor)\n\t} else {\n\t\terr = p.t.SetAnchor(anchor)\n\t}\n\tfailOnError(err)\n\treturn nil\n}\n\nfunc (p processor) Insert(level int, str, context, extend string) error {\n\tstr = context + str\n\tif *test {\n\t\ttestInput.add(str)\n\t}\n\t// TODO: mimic bug in old maketables: remove.\n\terr := p.t.Insert(colltab.Level(level-1), str, context+extend)\n\tfailOnError(err)\n\treturn nil\n}\n\nfunc (p processor) Index(id string) {\n}\n\nfunc testCollator(c *collate.Collator) {\n\tc0 := collate.New(language.Und)\n\n\t// iterator over all characters for all locales and check\n\t// whether Key is equal.\n\tbuf := collate.Buffer{}\n\n\t// Add all common and not too uncommon runes to the test set.\n\tfor i := rune(0); i < 0x30000; i++ {\n\t\ttestInput.add(string(i))\n\t}\n\tfor i := rune(0xE0000); i < 0xF0000; i++ {\n\t\ttestInput.add(string(i))\n\t}\n\tfor _, str := range testInput.values() {\n\t\tk0 := c0.KeyFromString(&buf, str)\n\t\tk := c.KeyFromString(&buf, str)\n\t\tif !bytes.Equal(k0, k) {\n\t\t\tfailOnError(fmt.Errorf(\"test:%U: keys differ (%x vs %x)\", []rune(str), k0, k))\n\t\t}\n\t\tbuf.Reset()\n\t}\n\tfmt.Println(\"PASS\")\n}\n\nfunc main() {\n\tgen.Init()\n\tb := build.NewBuilder()\n\tparseUCA(b)\n\tif tables.contains(\"chars\") {\n\t\tparseMain()\n\t}\n\tparseCollation(b)\n\n\tc, err := b.Build()\n\tfailOnError(err)\n\n\tif *test {\n\t\ttestCollator(collate.NewFromTable(c))\n\t} else {\n\t\tw := &bytes.Buffer{}\n\n\t\tgen.WriteUnicodeVersion(w)\n\t\tgen.WriteCLDRVersion(w)\n\n\t\tif tables.contains(\"collate\") {\n\t\t\t_, err = b.Print(w)\n\t\t\tfailOnError(err)\n\t\t}\n\t\tif tables.contains(\"chars\") {\n\t\t\tprintExemplarCharacters(w)\n\t\t}\n\t\tgen.WriteGoFile(\"tables.go\", *pkg, w.Bytes())\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/option.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage collate\n\nimport (\n\t\"sort\"\n\n\t\"golang.org/x/text/internal/colltab\"\n\t\"golang.org/x/text/language\"\n\t\"golang.org/x/text/unicode/norm\"\n)\n\n// newCollator creates a new collator with default options configured.\nfunc newCollator(t colltab.Weighter) *Collator {\n\t// Initialize a collator with default options.\n\tc := &Collator{\n\t\toptions: options{\n\t\t\tignore: [colltab.NumLevels]bool{\n\t\t\t\tcolltab.Quaternary: true,\n\t\t\t\tcolltab.Identity:   true,\n\t\t\t},\n\t\t\tf: norm.NFD,\n\t\t\tt: t,\n\t\t},\n\t}\n\n\t// TODO: store vt in tags or remove.\n\tc.variableTop = t.Top()\n\n\treturn c\n}\n\n// An Option is used to change the behavior of a Collator. Options override the\n// settings passed through the locale identifier.\ntype Option struct {\n\tpriority int\n\tf        func(o *options)\n}\n\ntype prioritizedOptions []Option\n\nfunc (p prioritizedOptions) Len() int {\n\treturn len(p)\n}\n\nfunc (p prioritizedOptions) Swap(i, j int) {\n\tp[i], p[j] = p[j], p[i]\n}\n\nfunc (p prioritizedOptions) Less(i, j int) bool {\n\treturn p[i].priority < p[j].priority\n}\n\ntype options struct {\n\t// ignore specifies which levels to ignore.\n\tignore [colltab.NumLevels]bool\n\n\t// caseLevel is true if there is an additional level of case matching\n\t// between the secondary and tertiary levels.\n\tcaseLevel bool\n\n\t// backwards specifies the order of sorting at the secondary level.\n\t// This option exists predominantly to support reverse sorting of accents in French.\n\tbackwards bool\n\n\t// numeric specifies whether any sequence of decimal digits (category is Nd)\n\t// is sorted at a primary level with its numeric value.\n\t// For example, \"A-21\" < \"A-123\".\n\t// This option is set by wrapping the main Weighter with NewNumericWeighter.\n\tnumeric bool\n\n\t// alternate specifies an alternative handling of variables.\n\talternate alternateHandling\n\n\t// variableTop is the largest primary value that is considered to be\n\t// variable.\n\tvariableTop uint32\n\n\tt colltab.Weighter\n\n\tf norm.Form\n}\n\nfunc (o *options) setOptions(opts []Option) {\n\tsort.Sort(prioritizedOptions(opts))\n\tfor _, x := range opts {\n\t\tx.f(o)\n\t}\n}\n\n// OptionsFromTag extracts the BCP47 collation options from the tag and\n// configures a collator accordingly. These options are set before any other\n// option.\nfunc OptionsFromTag(t language.Tag) Option {\n\treturn Option{0, func(o *options) {\n\t\to.setFromTag(t)\n\t}}\n}\n\nfunc (o *options) setFromTag(t language.Tag) {\n\to.caseLevel = ldmlBool(t, o.caseLevel, \"kc\")\n\to.backwards = ldmlBool(t, o.backwards, \"kb\")\n\to.numeric = ldmlBool(t, o.numeric, \"kn\")\n\n\t// Extract settings from the BCP47 u extension.\n\tswitch t.TypeForKey(\"ks\") { // strength\n\tcase \"level1\":\n\t\to.ignore[colltab.Secondary] = true\n\t\to.ignore[colltab.Tertiary] = true\n\tcase \"level2\":\n\t\to.ignore[colltab.Tertiary] = true\n\tcase \"level3\", \"\":\n\t\t// The default.\n\tcase \"level4\":\n\t\to.ignore[colltab.Quaternary] = false\n\tcase \"identic\":\n\t\to.ignore[colltab.Quaternary] = false\n\t\to.ignore[colltab.Identity] = false\n\t}\n\n\tswitch t.TypeForKey(\"ka\") {\n\tcase \"shifted\":\n\t\to.alternate = altShifted\n\t// The following two types are not official BCP47, but we support them to\n\t// give access to this otherwise hidden functionality. The name blanked is\n\t// derived from the LDML name blanked and posix reflects the main use of\n\t// the shift-trimmed option.\n\tcase \"blanked\":\n\t\to.alternate = altBlanked\n\tcase \"posix\":\n\t\to.alternate = altShiftTrimmed\n\t}\n\n\t// TODO: caseFirst (\"kf\"), reorder (\"kr\"), and maybe variableTop (\"vt\").\n\n\t// Not used:\n\t// - normalization (\"kk\", not necessary for this implementation)\n\t// - hiraganaQuatenary (\"kh\", obsolete)\n}\n\nfunc ldmlBool(t language.Tag, old bool, key string) bool {\n\tswitch t.TypeForKey(key) {\n\tcase \"true\":\n\t\treturn true\n\tcase \"false\":\n\t\treturn false\n\tdefault:\n\t\treturn old\n\t}\n}\n\nvar (\n\t// IgnoreCase sets case-insensitive comparison.\n\tIgnoreCase Option = ignoreCase\n\tignoreCase        = Option{3, ignoreCaseF}\n\n\t// IgnoreDiacritics causes diacritical marks to be ignored. (\"o\" == \"ö\").\n\tIgnoreDiacritics Option = ignoreDiacritics\n\tignoreDiacritics        = Option{3, ignoreDiacriticsF}\n\n\t// IgnoreWidth causes full-width characters to match their half-width\n\t// equivalents.\n\tIgnoreWidth Option = ignoreWidth\n\tignoreWidth        = Option{2, ignoreWidthF}\n\n\t// Loose sets the collator to ignore diacritics, case and weight.\n\tLoose Option = loose\n\tloose        = Option{4, looseF}\n\n\t// Force ordering if strings are equivalent but not equal.\n\tForce Option = force\n\tforce        = Option{5, forceF}\n\n\t// Numeric specifies that numbers should sort numerically (\"2\" < \"12\").\n\tNumeric Option = numeric\n\tnumeric        = Option{5, numericF}\n)\n\nfunc ignoreWidthF(o *options) {\n\to.ignore[colltab.Tertiary] = true\n\to.caseLevel = true\n}\n\nfunc ignoreDiacriticsF(o *options) {\n\to.ignore[colltab.Secondary] = true\n}\n\nfunc ignoreCaseF(o *options) {\n\to.ignore[colltab.Tertiary] = true\n\to.caseLevel = false\n}\n\nfunc looseF(o *options) {\n\tignoreWidthF(o)\n\tignoreDiacriticsF(o)\n\tignoreCaseF(o)\n}\n\nfunc forceF(o *options) {\n\to.ignore[colltab.Identity] = false\n}\n\nfunc numericF(o *options) { o.numeric = true }\n\n// Reorder overrides the pre-defined ordering of scripts and character sets.\nfunc Reorder(s ...string) Option {\n\t// TODO: need fractional weights to implement this.\n\tpanic(\"TODO: implement\")\n}\n\n// TODO: consider making these public again. These options cannot be fully\n// specified in BCP47, so an API interface seems warranted. Still a higher-level\n// interface would be nice (e.g. a POSIX option for enabling altShiftTrimmed)\n\n// alternateHandling identifies the various ways in which variables are handled.\n// A rune with a primary weight lower than the variable top is considered a\n// variable.\n// See http://www.unicode.org/reports/tr10/#Variable_Weighting for details.\ntype alternateHandling int\n\nconst (\n\t// altNonIgnorable turns off special handling of variables.\n\taltNonIgnorable alternateHandling = iota\n\n\t// altBlanked sets variables and all subsequent primary ignorables to be\n\t// ignorable at all levels. This is identical to removing all variables\n\t// and subsequent primary ignorables from the input.\n\taltBlanked\n\n\t// altShifted sets variables to be ignorable for levels one through three and\n\t// adds a fourth level based on the values of the ignored levels.\n\taltShifted\n\n\t// altShiftTrimmed is a slight variant of altShifted that is used to\n\t// emulate POSIX.\n\taltShiftTrimmed\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/sort.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage collate\n\nimport (\n\t\"bytes\"\n\t\"sort\"\n)\n\nconst (\n\tmaxSortBuffer  = 40960\n\tmaxSortEntries = 4096\n)\n\ntype swapper interface {\n\tSwap(i, j int)\n}\n\ntype sorter struct {\n\tbuf  *Buffer\n\tkeys [][]byte\n\tsrc  swapper\n}\n\nfunc (s *sorter) init(n int) {\n\tif s.buf == nil {\n\t\ts.buf = &Buffer{}\n\t\ts.buf.init()\n\t}\n\tif cap(s.keys) < n {\n\t\ts.keys = make([][]byte, n)\n\t}\n\ts.keys = s.keys[0:n]\n}\n\nfunc (s *sorter) sort(src swapper) {\n\ts.src = src\n\tsort.Sort(s)\n}\n\nfunc (s sorter) Len() int {\n\treturn len(s.keys)\n}\n\nfunc (s sorter) Less(i, j int) bool {\n\treturn bytes.Compare(s.keys[i], s.keys[j]) == -1\n}\n\nfunc (s sorter) Swap(i, j int) {\n\ts.keys[i], s.keys[j] = s.keys[j], s.keys[i]\n\ts.src.Swap(i, j)\n}\n\n// A Lister can be sorted by Collator's Sort method.\ntype Lister interface {\n\tLen() int\n\tSwap(i, j int)\n\t// Bytes returns the bytes of the text at index i.\n\tBytes(i int) []byte\n}\n\n// Sort uses sort.Sort to sort the strings represented by x using the rules of c.\nfunc (c *Collator) Sort(x Lister) {\n\tn := x.Len()\n\tc.sorter.init(n)\n\tfor i := 0; i < n; i++ {\n\t\tc.sorter.keys[i] = c.Key(c.sorter.buf, x.Bytes(i))\n\t}\n\tc.sorter.sort(x)\n}\n\n// SortStrings uses sort.Sort to sort the strings in x using the rules of c.\nfunc (c *Collator) SortStrings(x []string) {\n\tc.sorter.init(len(x))\n\tfor i, s := range x {\n\t\tc.sorter.keys[i] = c.KeyFromString(c.sorter.buf, s)\n\t}\n\tc.sorter.sort(sort.StringSlice(x))\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/tables.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage collate\n\n// UnicodeVersion is the Unicode version from which the tables in this package are derived.\nconst UnicodeVersion = \"6.2.0\"\n\n// CLDRVersion is the CLDR version from which the tables in this package are derived.\nconst CLDRVersion = \"23\"\n\nvar availableLocales = \"und,aa,af,ar,as,az,be,bg,bn,bs,bs-Cyrl,ca,cs,cy,da,de-u-co-phonebk,de,dz,ee,el,en,en-US,en-US-u-va-posix,eo,es,et,fa,fa-AF,fi,fi-u-co-standard,fil,fo,fr,fr-CA,gu,ha,haw,he,hi,hr,hu,hy,ig,is,ja,kk,kl,km,kn,ko,kok,ln-u-co-phonetic,ln,lt,lv,mk,ml,mr,mt,my,nb,nn,nso,om,or,pa,pl,ps,ro,ru,se,si,sk,sl,sq,sr,sr-Latn,ssy,sv,sv-u-co-standard,ta,te,th,tn,to,tr,uk,ur,vi,wae,yo,zh,zh-u-co-stroke,zh-Hant-u-co-pinyin,zh-Hant\"\n\nconst varTop = 0x30e\n\nvar locales = [...]tableIndex{\n\t{ // und\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // aa\n\t\tlookupOffset: 0x1c,\n\t\tvaluesOffset: 0x1b4,\n\t},\n\t{ // af\n\t\tlookupOffset: 0x1d,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ar\n\t\tlookupOffset: 0x1f,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // as\n\t\tlookupOffset: 0x21,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // az\n\t\tlookupOffset: 0x27,\n\t\tvaluesOffset: 0x1d7,\n\t},\n\t{ // be\n\t\tlookupOffset: 0x28,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // bg\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // bn\n\t\tlookupOffset: 0x2a,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // bs\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // bs-Cyrl\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ca\n\t\tlookupOffset: 0x2b,\n\t\tvaluesOffset: 0x1ec,\n\t},\n\t{ // cs\n\t\tlookupOffset: 0x2d,\n\t\tvaluesOffset: 0x1f0,\n\t},\n\t{ // cy\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x1f5,\n\t},\n\t{ // da\n\t\tlookupOffset: 0x30,\n\t\tvaluesOffset: 0x1f7,\n\t},\n\t{ // de-u-co-phonebk\n\t\tlookupOffset: 0x32,\n\t\tvaluesOffset: 0x201,\n\t},\n\t{ // de\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // dz\n\t\tlookupOffset: 0x34,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ee\n\t\tlookupOffset: 0x3a,\n\t\tvaluesOffset: 0x20a,\n\t},\n\t{ // el\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // en\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // en-US\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // en-US-u-va-posix\n\t\tlookupOffset: 0x41,\n\t\tvaluesOffset: 0x219,\n\t},\n\t{ // eo\n\t\tlookupOffset: 0x42,\n\t\tvaluesOffset: 0x23b,\n\t},\n\t{ // es\n\t\tlookupOffset: 0x43,\n\t\tvaluesOffset: 0x23f,\n\t},\n\t{ // et\n\t\tlookupOffset: 0x49,\n\t\tvaluesOffset: 0x242,\n\t},\n\t{ // fa\n\t\tlookupOffset: 0x4b,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // fa-AF\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // fi\n\t\tlookupOffset: 0x4e,\n\t\tvaluesOffset: 0x25a,\n\t},\n\t{ // fi-u-co-standard\n\t\tlookupOffset: 0x54,\n\t\tvaluesOffset: 0x265,\n\t},\n\t{ // fil\n\t\tlookupOffset: 0x43,\n\t\tvaluesOffset: 0x272,\n\t},\n\t{ // fo\n\t\tlookupOffset: 0x30,\n\t\tvaluesOffset: 0x1f7,\n\t},\n\t{ // fr\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // fr-CA\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // gu\n\t\tlookupOffset: 0x56,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ha\n\t\tlookupOffset: 0x57,\n\t\tvaluesOffset: 0x275,\n\t},\n\t{ // haw\n\t\tlookupOffset: 0x5e,\n\t\tvaluesOffset: 0x27a,\n\t},\n\t{ // he\n\t\tlookupOffset: 0x5f,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // hi\n\t\tlookupOffset: 0x61,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // hr\n\t\tlookupOffset: 0x63,\n\t\tvaluesOffset: 0x291,\n\t},\n\t{ // hu\n\t\tlookupOffset: 0x65,\n\t\tvaluesOffset: 0x297,\n\t},\n\t{ // hy\n\t\tlookupOffset: 0x66,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ig\n\t\tlookupOffset: 0x68,\n\t\tvaluesOffset: 0x29f,\n\t},\n\t{ // is\n\t\tlookupOffset: 0x6a,\n\t\tvaluesOffset: 0x2a3,\n\t},\n\t{ // ja\n\t\tlookupOffset: 0x76,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // kk\n\t\tlookupOffset: 0x77,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // kl\n\t\tlookupOffset: 0x78,\n\t\tvaluesOffset: 0x414,\n\t},\n\t{ // km\n\t\tlookupOffset: 0x7a,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // kn\n\t\tlookupOffset: 0x7c,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ko\n\t\tlookupOffset: 0x88,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // kok\n\t\tlookupOffset: 0x8a,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ln-u-co-phonetic\n\t\tlookupOffset: 0x8b,\n\t\tvaluesOffset: 0x570,\n\t},\n\t{ // ln\n\t\tlookupOffset: 0x8b,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // lt\n\t\tlookupOffset: 0x91,\n\t\tvaluesOffset: 0x574,\n\t},\n\t{ // lv\n\t\tlookupOffset: 0x93,\n\t\tvaluesOffset: 0x582,\n\t},\n\t{ // mk\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ml\n\t\tlookupOffset: 0x95,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // mr\n\t\tlookupOffset: 0x97,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // mt\n\t\tlookupOffset: 0x9a,\n\t\tvaluesOffset: 0x58a,\n\t},\n\t{ // my\n\t\tlookupOffset: 0x9c,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // nb\n\t\tlookupOffset: 0x30,\n\t\tvaluesOffset: 0x593,\n\t},\n\t{ // nn\n\t\tlookupOffset: 0x30,\n\t\tvaluesOffset: 0x593,\n\t},\n\t{ // nso\n\t\tlookupOffset: 0x9e,\n\t\tvaluesOffset: 0x595,\n\t},\n\t{ // om\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x59b,\n\t},\n\t{ // or\n\t\tlookupOffset: 0xa0,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // pa\n\t\tlookupOffset: 0xa2,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // pl\n\t\tlookupOffset: 0xa4,\n\t\tvaluesOffset: 0x5a1,\n\t},\n\t{ // ps\n\t\tlookupOffset: 0xa7,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ro\n\t\tlookupOffset: 0xa9,\n\t\tvaluesOffset: 0x5b3,\n\t},\n\t{ // ru\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // se\n\t\tlookupOffset: 0xab,\n\t\tvaluesOffset: 0x5ba,\n\t},\n\t{ // si\n\t\tlookupOffset: 0xad,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // sk\n\t\tlookupOffset: 0xaf,\n\t\tvaluesOffset: 0x5c7,\n\t},\n\t{ // sl\n\t\tlookupOffset: 0xb0,\n\t\tvaluesOffset: 0x5cc,\n\t},\n\t{ // sq\n\t\tlookupOffset: 0xb2,\n\t\tvaluesOffset: 0x5cf,\n\t},\n\t{ // sr\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // sr-Latn\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ssy\n\t\tlookupOffset: 0x1c,\n\t\tvaluesOffset: 0x1b4,\n\t},\n\t{ // sv\n\t\tlookupOffset: 0xb4,\n\t\tvaluesOffset: 0x5d3,\n\t},\n\t{ // sv-u-co-standard\n\t\tlookupOffset: 0xb6,\n\t\tvaluesOffset: 0x5d9,\n\t},\n\t{ // ta\n\t\tlookupOffset: 0xb8,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // te\n\t\tlookupOffset: 0xba,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // th\n\t\tlookupOffset: 0xbc,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // tn\n\t\tlookupOffset: 0x9e,\n\t\tvaluesOffset: 0x595,\n\t},\n\t{ // to\n\t\tlookupOffset: 0xbe,\n\t\tvaluesOffset: 0x5e1,\n\t},\n\t{ // tr\n\t\tlookupOffset: 0xc4,\n\t\tvaluesOffset: 0x5ed,\n\t},\n\t{ // uk\n\t\tlookupOffset: 0xc5,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ur\n\t\tlookupOffset: 0xc7,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // vi\n\t\tlookupOffset: 0xc9,\n\t\tvaluesOffset: 0x5fc,\n\t},\n\t{ // wae\n\t\tlookupOffset: 0xca,\n\t\tvaluesOffset: 0x610,\n\t},\n\t{ // yo\n\t\tlookupOffset: 0xcc,\n\t\tvaluesOffset: 0x613,\n\t},\n\t{ // zh\n\t\tlookupOffset: 0xe6,\n\t\tvaluesOffset: 0x618,\n\t},\n\t{ // zh-u-co-stroke\n\t\tlookupOffset: 0xff,\n\t\tvaluesOffset: 0x618,\n\t},\n\t{ // zh-Hant-u-co-pinyin\n\t\tlookupOffset: 0xe6,\n\t\tvaluesOffset: 0x618,\n\t},\n\t{ // zh-Hant\n\t\tlookupOffset: 0xff,\n\t\tvaluesOffset: 0x618,\n\t},\n}\n\n// mainExpandElem: 46864 entries, 187456 bytes\nvar mainExpandElem = [46864]uint32{\n\t// Block 0, offset 0x0\n\t0x00000002, 0xAE604702, 0xAE603202, 0x00000002, 0xA000A51A, 0xA000BA1A,\n\t0x00000002, 0xA000A91A, 0xA000BA1A, 0x00000002, 0xA000AD1A, 0xA000BA1A,\n\t0x00000002, 0xA000B21A, 0xA000BA1A, 0x00000002, 0xA000B61A, 0xA000BA1A,\n\t0x00000002, 0xA000BA1A, 0xA000D11A, 0x00000004, 0x0003F484, 0x0029CE84,\n\t0x0029CC84, 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, 0x0029CE84,\n\t0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, 0x0029D084, 0x0003F69F,\n\t0x00000004, 0x0003F484, 0x0029CE84, 0x0029D284, 0x0003F69F, 0x00000004,\n\t0x0003F484, 0x0029CE84, 0x0029D484, 0x0003F69F, 0x00000004, 0x0003F484,\n\t0x0029CE84, 0x0029D684, 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84,\n\t0x0029D884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, 0x0029DA84,\n\t0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84,\n\t// Block 1, offset 0x40\n\t0x0029DC84, 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, 0x0029DE84,\n\t0x0003F69F, 0x00000004, 0x0003F484, 0x0029D084, 0x0029CC84, 0x0003F69F,\n\t0x00000004, 0x0003F484, 0x0062AC84, 0x0063A884, 0x0003F69F, 0x00000004,\n\t0x0003F484, 0x0062B084, 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484,\n\t0x0062B284, 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062B684,\n\t0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062B884, 0x0063A884,\n\t0x0003F69F, 0x00000004, 0x0003F484, 0x0062BA84, 0x0063A884, 0x0003F69F,\n\t0x00000004, 0x0003F484, 0x0062BE84, 0x0063A884, 0x0003F69F, 0x00000004,\n\t0x0003F484, 0x0062C284, 0x0063A884, 0x0003F69F, 0x00000007, 0x0003F484,\n\t0x0062C284, 0x0063B884, 0x0062C484, 0x0063B084, 0x00646A84, 0x0003F69F,\n\t0x00000006, 0x0003F484, 0x0062C284, 0x0063B884,\n\t// Block 2, offset 0x80\n\t0x0062D084, 0x0063C284, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062C484,\n\t0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062C484, 0x0063C284,\n\t0x0003F69F, 0x00000004, 0x0003F484, 0x0062C884, 0x0063A884, 0x0003F69F,\n\t0x00000004, 0x0003F484, 0x0062CA84, 0x0063A884, 0x0003F69F, 0x00000004,\n\t0x0003F484, 0x0062CC84, 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484,\n\t0x0062CE84, 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062D084,\n\t0x0063A884, 0x0003F69F, 0x00000004, 0x00050E84, 0x00050E84, 0x00050E84,\n\t0x00050E9F, 0x00000002, 0x40062C20, 0xAE603202, 0x00000002, 0x40062C20,\n\t0xAE603502, 0x00000002, 0x40062C20, 0xAE604502, 0x00000002, 0x40063620,\n\t0xAE603202, 0x00000002, 0x40063620, 0xAE603502, 0x00000002, 0x40063620,\n\t0xAE604502, 0x00000002, 0x40063820, 0xAE603202,\n\t// Block 3, offset 0xc0\n\t0x00000002, 0x40063820, 0xAE603502, 0x00000002, 0x40063820, 0xAE604502,\n\t0x00000002, 0x40084420, 0xA0105402, 0x00000002, 0x40084620, 0xA0105402,\n\t0x00000002, 0x40084C20, 0xA0105402, 0x00000002, 0x4008B820, 0xA0105402,\n\t0x00000002, 0x4008BC20, 0xA0105402, 0x00000002, 0x4008C020, 0xA0105402,\n\t0x00000002, 0x40091E20, 0xA0105402, 0x00000002, 0x40092620, 0xA0105402,\n\t0x00000002, 0x40092A20, 0xA0105402, 0x00000002, 0x40094020, 0xA0105402,\n\t0x00000002, 0x40094220, 0xA0105402, 0x00000002, 0x40094420, 0xA0105402,\n\t0x00000002, 0x40097820, 0xA0105402, 0x00000002, 0x40097A20, 0xA0105402,\n\t0x00000004, 0x00098484, 0x00098484, 0x00098484, 0x0009849F, 0x00000002,\n\t0x40099E20, 0xA0105402, 0x00000002, 0x4009AA20, 0xA0105402, 0x00000002,\n\t0x4009AC20, 0xA0105402, 0x00000002, 0x4009B020,\n\t// Block 4, offset 0x100\n\t0xA0105402, 0x00000002, 0x4009B820, 0xA0105402, 0x00000002, 0x4009DE20,\n\t0xA0105402, 0x00000002, 0x4009E220, 0xA0105402, 0x00000002, 0x4009E420,\n\t0xA0105402, 0x00000002, 0x4009F420, 0xA0105402, 0x00000002, 0x4009F620,\n\t0xA0105402, 0x00000002, 0x4009F820, 0xA0105402, 0x00000002, 0x4009FA20,\n\t0xA0105402, 0x00000002, 0x4009FC20, 0xA0105402, 0x00000002, 0x4009FE20,\n\t0xA0105402, 0x00000002, 0x400A0020, 0xA0105402, 0x00000002, 0x400A0220,\n\t0xA0105402, 0x00000002, 0x400A0820, 0xA0105402, 0x00000002, 0x400A0A20,\n\t0xA0105402, 0x00000002, 0x400A0C20, 0xA0105402, 0x00000002, 0x400A0E20,\n\t0xA0105402, 0x00000002, 0x400A1E20, 0xA0105402, 0x00000002, 0x400A2020,\n\t0xA0105402, 0x00000002, 0x400A4020, 0xA0105402, 0x00000002, 0x400A4C20,\n\t0xA0105402, 0x00000002, 0x400A4E20, 0xA0105402,\n\t// Block 5, offset 0x140\n\t0x00000002, 0x400A5220, 0xA0105402, 0x00000002, 0x400A5820, 0xA0105402,\n\t0x00000002, 0x400A5A20, 0xA0105402, 0x00000002, 0x400A5C20, 0xA0105402,\n\t0x00000002, 0x400A5E20, 0xA0105402, 0x00000002, 0x40164620, 0xA0105402,\n\t0x00000002, 0x4027CE20, 0xA0012802, 0x00000002, 0x4027D020, 0xA0012802,\n\t0x00000002, 0x4027D420, 0xA0812802, 0x00000002, 0x4027D820, 0xA0812802,\n\t0x00000002, 0x4029CC20, 0xA0013F02, 0x00000002, 0x4029CC20, 0xA0014002,\n\t0x00000002, 0x4029CC20, 0xA0014202, 0x00000002, 0x4029CC20, 0xA0014402,\n\t0x00000002, 0x4029CC20, 0xA0014502, 0x00000002, 0x4029CC20, 0xA0014602,\n\t0x00000002, 0x4029CC20, 0xA0014702, 0x00000002, 0x4029CC20, 0xA0014802,\n\t0x00000002, 0x4029CC20, 0xA0014902, 0x00000002, 0x4029CC20, 0xA0014A02,\n\t0x00000002, 0x4029CC20, 0xA0014B02, 0x00000002,\n\t// Block 6, offset 0x180\n\t0x4029CC20, 0xA0014B02, 0x00000002, 0x4029CC20, 0xA0014C02, 0x00000002,\n\t0x4029CC20, 0xA0014D02, 0x00000002, 0x4029CC20, 0xA0014E02, 0x00000002,\n\t0x4029CC20, 0xA0014F02, 0x00000002, 0x4029CC20, 0xA0015002, 0x00000002,\n\t0x4029CC20, 0xA0015102, 0x00000002, 0x4029CC20, 0xA0015202, 0x00000002,\n\t0x4029CC20, 0xA0015302, 0x00000002, 0x4029CC20, 0xA0015402, 0x00000002,\n\t0x4029CC20, 0xA0015502, 0x00000002, 0x4029CC20, 0xA0015602, 0x00000002,\n\t0x0029CC84, 0xA0015604, 0x00000002, 0x4029CC20, 0xA0015702, 0x00000002,\n\t0x4029CC20, 0xA0015802, 0x00000002, 0x4029CC20, 0xA0015902, 0x00000002,\n\t0x4029CC20, 0xA0015A02, 0x00000002, 0x4029CC20, 0xA0015B02, 0x00000002,\n\t0x4029CC20, 0xA0015C02, 0x00000002, 0x4029CC20, 0xA0015D02, 0x00000002,\n\t0x4029CC20, 0xA0015E02, 0x00000002, 0x4029CC20,\n\t// Block 7, offset 0x1c0\n\t0xA0015F02, 0x00000002, 0x4029CC20, 0xA0016002, 0x00000002, 0x4029CC20,\n\t0xA0016102, 0x00000002, 0x4029CC20, 0xA0016202, 0x00000002, 0x4029CC20,\n\t0xA0016302, 0x00000002, 0x4029CC20, 0xA0016402, 0x00000002, 0x4029CC20,\n\t0xA0016502, 0x00000002, 0x4029CC20, 0xA0016602, 0x00000002, 0x4029CC20,\n\t0xA0016802, 0x00000002, 0x4029CC20, 0xA0017202, 0x00000002, 0x4029CC20,\n\t0xA0017302, 0x00000002, 0x4029CC20, 0xA0017402, 0x00000003, 0x0029CC9E,\n\t0x0009589E, 0x0029D29E, 0x00000002, 0x4029CE20, 0xA0013F02, 0x00000002,\n\t0x4029CE20, 0xA0014002, 0x00000002, 0x4029CE20, 0xA0014102, 0x00000002,\n\t0x4029CE20, 0xA0014202, 0x00000002, 0x4029CE20, 0xA0014302, 0x00000002,\n\t0x4029CE20, 0xA0014402, 0x00000002, 0x4029CE20, 0xA0014502, 0x00000002,\n\t0x4029CE20, 0xA0014602, 0x00000002, 0x4029CE20,\n\t// Block 8, offset 0x200\n\t0xA0014702, 0x00000002, 0x4029CE20, 0xA0014802, 0x00000002, 0x4029CE20,\n\t0xA0014902, 0x00000002, 0x4029CE20, 0xA0014A02, 0x00000002, 0x4029CE20,\n\t0xA0014B02, 0x00000002, 0x4029CE20, 0xA0014B02, 0x00000002, 0x4029CE20,\n\t0xA0014B02, 0x00000002, 0x4029CE20, 0xA0014C02, 0x00000002, 0x4029CE20,\n\t0xA0014D02, 0x00000002, 0x4029CE20, 0xA0014E02, 0x00000002, 0x4029CE20,\n\t0xA0014F02, 0x00000002, 0x4029CE20, 0xA0015002, 0x00000002, 0x4029CE20,\n\t0xA0015102, 0x00000002, 0x4029CE20, 0xA0015102, 0x00000002, 0x4029CE20,\n\t0xA0015202, 0x00000002, 0x4029CE20, 0xA0015302, 0x00000002, 0x4029CE20,\n\t0xA0015402, 0x00000002, 0x4029CE20, 0xA0015502, 0x00000002, 0x4029CE20,\n\t0xA0015602, 0x00000002, 0x0029CE84, 0xA0015604, 0x00000002, 0x4029CE20,\n\t0xA0015702, 0x00000002, 0x4029CE20, 0xA0015802,\n\t// Block 9, offset 0x240\n\t0x00000002, 0x4029CE20, 0xA0015902, 0x00000002, 0x4029CE20, 0xA0015A02,\n\t0x00000002, 0x4029CE20, 0xA0015B02, 0x00000002, 0x4029CE20, 0xA0015C02,\n\t0x00000002, 0x4029CE20, 0xA0015D02, 0x00000002, 0x4029CE20, 0xA0015E02,\n\t0x00000002, 0x4029CE20, 0xA0015F02, 0x00000002, 0x4029CE20, 0xA0016002,\n\t0x00000002, 0x4029CE20, 0xA0016102, 0x00000002, 0x4029CE20, 0xA0016202,\n\t0x00000002, 0x4029CE20, 0xA0016302, 0x00000002, 0x4029CE20, 0xA0016402,\n\t0x00000002, 0x4029CE20, 0xA0016502, 0x00000002, 0x4029CE20, 0xA0016602,\n\t0x00000002, 0x4029CE20, 0xA0016702, 0x00000002, 0x4029CE20, 0xA0016802,\n\t0x00000002, 0x4029CE20, 0xA0016802, 0x00000002, 0x4029CE20, 0xA0016802,\n\t0x00000002, 0x4029CE20, 0xA0016802, 0x00000002, 0x4029CE20, 0xA0016A02,\n\t0x00000002, 0x4029CE20, 0xA0016B02, 0x00000002,\n\t// Block 10, offset 0x280\n\t0x4029CE20, 0xA0016C02, 0x00000002, 0x4029CE20, 0xA0016C02, 0x00000002,\n\t0x4029CE20, 0xA0016C02, 0x00000002, 0x4029CE20, 0xA0016C02, 0x00000002,\n\t0x4029CE20, 0xA0016C02, 0x00000002, 0x4029CE20, 0xA0016C02, 0x00000002,\n\t0x4029CE20, 0xA0016D02, 0x00000002, 0x4029CE20, 0xA0016E02, 0x00000002,\n\t0x4029CE20, 0xA0016F02, 0x00000002, 0x4029CE20, 0xA0017002, 0x00000002,\n\t0x4029CE20, 0xA0017102, 0x00000002, 0x4029CE20, 0xA0017202, 0x00000002,\n\t0x4029CE20, 0xA0017302, 0x00000002, 0x4029CE20, 0xA0017402, 0x00000002,\n\t0x4029CE20, 0xA0017502, 0x00000002, 0x4029CE20, 0xA0017602, 0x00000002,\n\t0x4029CE20, 0xA0017702, 0x00000004, 0x0029CE9E, 0x0009589E, 0x0029CE9E,\n\t0x0029CC9E, 0x00000003, 0x0029CE9E, 0x0009589E, 0x0029D09E, 0x00000003,\n\t0x0029CE9E, 0x0009589E, 0x0029D29E, 0x00000003,\n\t// Block 11, offset 0x2c0\n\t0x0029CE9E, 0x0009589E, 0x0029D49E, 0x00000003, 0x0029CE9E, 0x0009589E,\n\t0x0029D69E, 0x00000003, 0x0029CE9E, 0x0009589E, 0x0029D89E, 0x00000003,\n\t0x0029CE9E, 0x0009589E, 0x0029DA9E, 0x00000003, 0x0029CE9E, 0x0009589E,\n\t0x0029DC9E, 0x00000003, 0x0029CE9E, 0x0009589E, 0x0029DE9E, 0x00000002,\n\t0x0029CE86, 0x0029CC86, 0x00000002, 0x0029CE86, 0x0029CC86, 0x00000002,\n\t0x0029CE86, 0x0029CC86, 0x00000002, 0x0029CE86, 0x0029CC86, 0x00000002,\n\t0x0029CE86, 0x0029CC86, 0x00000002, 0x0029CE86, 0x0029CE86, 0x00000002,\n\t0x0029CE86, 0x0029D086, 0x00000002, 0x0029CE86, 0x0029D286, 0x00000002,\n\t0x0029CE86, 0x0029D486, 0x00000002, 0x0029CE86, 0x0029D686, 0x00000002,\n\t0x0029CE86, 0x0029D886, 0x00000002, 0x0029CE86, 0x0029DA86, 0x00000002,\n\t0x0029CE86, 0x0029DC86, 0x00000002, 0x0029CE86,\n\t// Block 12, offset 0x300\n\t0x0029DE86, 0x00000002, 0x4029D020, 0xA0013F02, 0x00000002, 0x4029D020,\n\t0xA0014002, 0x00000002, 0x4029D020, 0xA0014102, 0x00000002, 0x4029D020,\n\t0xA0014202, 0x00000002, 0x4029D020, 0xA0014302, 0x00000002, 0x4029D020,\n\t0xA0014402, 0x00000002, 0x4029D020, 0xA0014502, 0x00000002, 0x4029D020,\n\t0xA0014602, 0x00000002, 0x4029D020, 0xA0014702, 0x00000002, 0x4029D020,\n\t0xA0014802, 0x00000002, 0x4029D020, 0xA0014902, 0x00000002, 0x4029D020,\n\t0xA0014A02, 0x00000002, 0x4029D020, 0xA0014B02, 0x00000002, 0x4029D020,\n\t0xA0014B02, 0x00000002, 0x4029D020, 0xA0014B02, 0x00000002, 0x4029D020,\n\t0xA0014C02, 0x00000002, 0x4029D020, 0xA0014D02, 0x00000002, 0x4029D020,\n\t0xA0014E02, 0x00000002, 0x4029D020, 0xA0014F02, 0x00000002, 0x4029D020,\n\t0xA0015002, 0x00000002, 0x4029D020, 0xA0015102,\n\t// Block 13, offset 0x340\n\t0x00000002, 0x4029D020, 0xA0015202, 0x00000002, 0x4029D020, 0xA0015302,\n\t0x00000002, 0x4029D020, 0xA0015402, 0x00000002, 0x4029D020, 0xA0015502,\n\t0x00000002, 0x4029D020, 0xA0015602, 0x00000002, 0x0029D084, 0xA0015604,\n\t0x00000002, 0x4029D020, 0xA0015702, 0x00000002, 0x4029D020, 0xA0015802,\n\t0x00000002, 0x4029D020, 0xA0015902, 0x00000002, 0x4029D020, 0xA0015A02,\n\t0x00000002, 0x4029D020, 0xA0015B02, 0x00000002, 0x4029D020, 0xA0015C02,\n\t0x00000002, 0x4029D020, 0xA0015D02, 0x00000002, 0x4029D020, 0xA0015E02,\n\t0x00000002, 0x4029D020, 0xA0015F02, 0x00000002, 0x4029D020, 0xA0016002,\n\t0x00000002, 0x4029D020, 0xA0016102, 0x00000002, 0x4029D020, 0xA0016202,\n\t0x00000002, 0x4029D020, 0xA0016302, 0x00000002, 0x4029D020, 0xA0016402,\n\t0x00000002, 0x4029D020, 0xA0016502, 0x00000002,\n\t// Block 14, offset 0x380\n\t0x4029D020, 0xA0016602, 0x00000002, 0x4029D020, 0xA0016702, 0x00000002,\n\t0x4029D020, 0xA0016802, 0x00000002, 0x4029D020, 0xA0016802, 0x00000002,\n\t0x4029D020, 0xA0016802, 0x00000002, 0x4029D020, 0xA0016802, 0x00000002,\n\t0x4029D020, 0xA0016B02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002,\n\t0x4029D020, 0xA0016C02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002,\n\t0x4029D020, 0xA0016C02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002,\n\t0x4029D020, 0xA0016C02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002,\n\t0x4029D020, 0xA0016C02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002,\n\t0x4029D020, 0xA0016E02, 0x00000002, 0x4029D020, 0xA0016F02, 0x00000002,\n\t0x4029D020, 0xA0017002, 0x00000002, 0x4029D020, 0xA0017102, 0x00000002,\n\t0x4029D020, 0xA0017202, 0x00000002, 0x4029D020,\n\t// Block 15, offset 0x3c0\n\t0xA0017302, 0x00000002, 0x4029D020, 0xA0017402, 0x00000002, 0x4029D020,\n\t0xA0017502, 0x00000002, 0x4029D020, 0xA0017602, 0x00000002, 0x4029D020,\n\t0xA0017702, 0x00000003, 0x0029D09E, 0x0009589E, 0x0029D29E, 0x00000003,\n\t0x0029D09E, 0x0009589E, 0x0029D69E, 0x00000002, 0x0029D086, 0x0029CC86,\n\t0x00000002, 0x0029D086, 0x0029CC86, 0x00000002, 0x4029D220, 0xA0013F02,\n\t0x00000002, 0x4029D220, 0xA0014002, 0x00000002, 0x4029D220, 0xA0014102,\n\t0x00000002, 0x4029D220, 0xA0014202, 0x00000002, 0x4029D220, 0xA0014302,\n\t0x00000002, 0x4029D220, 0xA0014402, 0x00000002, 0x4029D220, 0xA0014502,\n\t0x00000002, 0x4029D220, 0xA0014602, 0x00000002, 0x4029D220, 0xA0014702,\n\t0x00000002, 0x4029D220, 0xA0014802, 0x00000002, 0x4029D220, 0xA0014902,\n\t0x00000002, 0x4029D220, 0xA0014A02, 0x00000002,\n\t// Block 16, offset 0x400\n\t0x4029D220, 0xA0014B02, 0x00000002, 0x4029D220, 0xA0014B02, 0x00000002,\n\t0x4029D220, 0xA0014B02, 0x00000002, 0x4029D220, 0xA0014C02, 0x00000002,\n\t0x4029D220, 0xA0014D02, 0x00000002, 0x4029D220, 0xA0014E02, 0x00000002,\n\t0x4029D220, 0xA0014F02, 0x00000002, 0x4029D220, 0xA0015002, 0x00000002,\n\t0x4029D220, 0xA0015102, 0x00000002, 0x4029D220, 0xA0015202, 0x00000002,\n\t0x4029D220, 0xA0015302, 0x00000002, 0x4029D220, 0xA0015402, 0x00000002,\n\t0x4029D220, 0xA0015502, 0x00000002, 0x4029D220, 0xA0015602, 0x00000002,\n\t0x0029D284, 0xA0015604, 0x00000002, 0x4029D220, 0xA0015702, 0x00000002,\n\t0x4029D220, 0xA0015802, 0x00000002, 0x4029D220, 0xA0015902, 0x00000002,\n\t0x4029D220, 0xA0015A02, 0x00000002, 0x4029D220, 0xA0015B02, 0x00000002,\n\t0x4029D220, 0xA0015C02, 0x00000002, 0x4029D220,\n\t// Block 17, offset 0x440\n\t0xA0015D02, 0x00000002, 0x4029D220, 0xA0015E02, 0x00000002, 0x4029D220,\n\t0xA0015F02, 0x00000002, 0x4029D220, 0xA0016002, 0x00000002, 0x4029D220,\n\t0xA0016102, 0x00000002, 0x4029D220, 0xA0016202, 0x00000002, 0x4029D220,\n\t0xA0016302, 0x00000002, 0x4029D220, 0xA0016402, 0x00000002, 0x4029D220,\n\t0xA0016502, 0x00000002, 0x4029D220, 0xA0016602, 0x00000002, 0x4029D220,\n\t0xA0016702, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220,\n\t0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220,\n\t0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220,\n\t0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220,\n\t0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220,\n\t0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02,\n\t// Block 18, offset 0x480\n\t0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02,\n\t0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220, 0xA0016E02,\n\t0x00000002, 0x4029D220, 0xA0016F02, 0x00000002, 0x4029D220, 0xA0017002,\n\t0x00000002, 0x4029D220, 0xA0017102, 0x00000002, 0x4029D220, 0xA0017202,\n\t0x00000002, 0x4029D220, 0xA0017302, 0x00000002, 0x4029D220, 0xA0017402,\n\t0x00000002, 0x4029D220, 0xA0017502, 0x00000002, 0x4029D220, 0xA0017602,\n\t0x00000002, 0x4029D220, 0xA0017702, 0x00000003, 0x0029D29E, 0x0009589E,\n\t0x0029D49E, 0x00000003, 0x0029D29E, 0x0009589E, 0x0029D69E, 0x00000003,\n\t0x0029D29E, 0x0009589E, 0x0029DC9E, 0x00000002, 0x0029D286, 0x0029CC86,\n\t0x00000002, 0x4029D420, 0xA0013F02, 0x00000002, 0x4029D420, 0xA0014002,\n\t0x00000002, 0x4029D420, 0xA0014102, 0x00000002,\n\t// Block 19, offset 0x4c0\n\t0x4029D420, 0xA0014202, 0x00000002, 0x4029D420, 0xA0014302, 0x00000002,\n\t0x4029D420, 0xA0014402, 0x00000002, 0x4029D420, 0xA0014502, 0x00000002,\n\t0x4029D420, 0xA0014602, 0x00000002, 0x4029D420, 0xA0014702, 0x00000002,\n\t0x4029D420, 0xA0014802, 0x00000002, 0x4029D420, 0xA0014902, 0x00000002,\n\t0x4029D420, 0xA0014A02, 0x00000002, 0x4029D420, 0xA0014B02, 0x00000002,\n\t0x4029D420, 0xA0014C02, 0x00000002, 0x4029D420, 0xA0014D02, 0x00000002,\n\t0x4029D420, 0xA0014E02, 0x00000002, 0x4029D420, 0xA0014F02, 0x00000002,\n\t0x4029D420, 0xA0015002, 0x00000002, 0x4029D420, 0xA0015102, 0x00000002,\n\t0x4029D420, 0xA0015202, 0x00000002, 0x4029D420, 0xA0015302, 0x00000002,\n\t0x4029D420, 0xA0015402, 0x00000002, 0x4029D420, 0xA0015502, 0x00000002,\n\t0x4029D420, 0xA0015602, 0x00000002, 0x0029D484,\n\t// Block 20, offset 0x500\n\t0xA0015604, 0x00000002, 0x4029D420, 0xA0015702, 0x00000002, 0x4029D420,\n\t0xA0015802, 0x00000002, 0x4029D420, 0xA0015902, 0x00000002, 0x4029D420,\n\t0xA0015A02, 0x00000002, 0x4029D420, 0xA0015B02, 0x00000002, 0x4029D420,\n\t0xA0015C02, 0x00000002, 0x4029D420, 0xA0015D02, 0x00000002, 0x4029D420,\n\t0xA0015E02, 0x00000002, 0x4029D420, 0xA0015F02, 0x00000002, 0x4029D420,\n\t0xA0016002, 0x00000002, 0x4029D420, 0xA0016102, 0x00000002, 0x4029D420,\n\t0xA0016202, 0x00000002, 0x4029D420, 0xA0016302, 0x00000002, 0x4029D420,\n\t0xA0016402, 0x00000002, 0x4029D420, 0xA0016502, 0x00000002, 0x4029D420,\n\t0xA0016602, 0x00000002, 0x4029D420, 0xA0016702, 0x00000002, 0x4029D420,\n\t0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420,\n\t0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02,\n\t// Block 21, offset 0x540\n\t0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02,\n\t0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02,\n\t0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02,\n\t0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02,\n\t0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02,\n\t0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0017002,\n\t0x00000002, 0x4029D420, 0xA0017102, 0x00000002, 0x4029D420, 0xA0017202,\n\t0x00000002, 0x4029D420, 0xA0017302, 0x00000002, 0x4029D420, 0xA0017402,\n\t0x00000002, 0x4029D420, 0xA0017502, 0x00000002, 0x4029D420, 0xA0017602,\n\t0x00000002, 0x4029D420, 0xA0017702, 0x00000003, 0x0029D49E, 0x0009589E,\n\t0x0029D69E, 0x00000002, 0x0029D486, 0x0029CC86,\n\t// Block 22, offset 0x580\n\t0x00000002, 0x4029D620, 0xA0013F02, 0x00000002, 0x4029D620, 0xA0014002,\n\t0x00000002, 0x4029D620, 0xA0014102, 0x00000002, 0x4029D620, 0xA0014202,\n\t0x00000002, 0x4029D620, 0xA0014302, 0x00000002, 0x4029D620, 0xA0014402,\n\t0x00000002, 0x4029D620, 0xA0014502, 0x00000002, 0x4029D620, 0xA0014602,\n\t0x00000002, 0x4029D620, 0xA0014702, 0x00000002, 0x4029D620, 0xA0014802,\n\t0x00000002, 0x4029D620, 0xA0014902, 0x00000002, 0x4029D620, 0xA0014A02,\n\t0x00000002, 0x4029D620, 0xA0014B02, 0x00000002, 0x4029D620, 0xA0014C02,\n\t0x00000002, 0x4029D620, 0xA0014D02, 0x00000002, 0x4029D620, 0xA0014E02,\n\t0x00000002, 0x4029D620, 0xA0014F02, 0x00000002, 0x4029D620, 0xA0015002,\n\t0x00000002, 0x4029D620, 0xA0015102, 0x00000002, 0x4029D620, 0xA0015202,\n\t0x00000002, 0x4029D620, 0xA0015302, 0x00000002,\n\t// Block 23, offset 0x5c0\n\t0x4029D620, 0xA0015402, 0x00000002, 0x4029D620, 0xA0015502, 0x00000002,\n\t0x4029D620, 0xA0015602, 0x00000002, 0x0029D684, 0xA0015604, 0x00000002,\n\t0x4029D620, 0xA0015702, 0x00000002, 0x4029D620, 0xA0015802, 0x00000002,\n\t0x4029D620, 0xA0015902, 0x00000002, 0x4029D620, 0xA0015A02, 0x00000002,\n\t0x4029D620, 0xA0015B02, 0x00000002, 0x4029D620, 0xA0015C02, 0x00000002,\n\t0x4029D620, 0xA0015D02, 0x00000002, 0x4029D620, 0xA0015E02, 0x00000002,\n\t0x4029D620, 0xA0015F02, 0x00000002, 0x4029D620, 0xA0016002, 0x00000002,\n\t0x4029D620, 0xA0016102, 0x00000002, 0x4029D620, 0xA0016202, 0x00000002,\n\t0x4029D620, 0xA0016302, 0x00000002, 0x4029D620, 0xA0016402, 0x00000002,\n\t0x4029D620, 0xA0016502, 0x00000002, 0x4029D620, 0xA0016602, 0x00000002,\n\t0x4029D620, 0xA0016702, 0x00000002, 0x4029D620,\n\t// Block 24, offset 0x600\n\t0xA0016802, 0x00000002, 0x4029D620, 0xA0016802, 0x00000002, 0x4029D620,\n\t0xA0016802, 0x00000002, 0x4029D620, 0xA0016802, 0x00000002, 0x4029D620,\n\t0xA0016802, 0x00000002, 0x4029D620, 0xA0016A02, 0x00000002, 0x4029D620,\n\t0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620,\n\t0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620,\n\t0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620,\n\t0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620,\n\t0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620,\n\t0xA0016C02, 0x00000002, 0x4029D620, 0xA0017202, 0x00000002, 0x4029D620,\n\t0xA0017302, 0x00000002, 0x4029D620, 0xA0017402, 0x00000002, 0x4029D620,\n\t0xA0017502, 0x00000002, 0x4029D620, 0xA0017702,\n\t// Block 25, offset 0x640\n\t0x00000003, 0x0029D69E, 0x0009589E, 0x0029D89E, 0x00000003, 0x0029D69E,\n\t0x0009589E, 0x0029DC9E, 0x00000002, 0x0029D686, 0x0029CC86, 0x00000002,\n\t0x4029D820, 0xA0013F02, 0x00000002, 0x4029D820, 0xA0014002, 0x00000002,\n\t0x4029D820, 0xA0014102, 0x00000002, 0x4029D820, 0xA0014202, 0x00000002,\n\t0x4029D820, 0xA0014302, 0x00000002, 0x4029D820, 0xA0014402, 0x00000002,\n\t0x4029D820, 0xA0014502, 0x00000002, 0x4029D820, 0xA0014602, 0x00000002,\n\t0x4029D820, 0xA0014702, 0x00000002, 0x4029D820, 0xA0014802, 0x00000002,\n\t0x4029D820, 0xA0014902, 0x00000002, 0x4029D820, 0xA0014A02, 0x00000002,\n\t0x4029D820, 0xA0014B02, 0x00000002, 0x4029D820, 0xA0014C02, 0x00000002,\n\t0x4029D820, 0xA0014D02, 0x00000002, 0x4029D820, 0xA0014E02, 0x00000002,\n\t0x4029D820, 0xA0014F02, 0x00000002, 0x4029D820,\n\t// Block 26, offset 0x680\n\t0xA0015002, 0x00000002, 0x4029D820, 0xA0015102, 0x00000002, 0x4029D820,\n\t0xA0015202, 0x00000002, 0x4029D820, 0xA0015302, 0x00000002, 0x4029D820,\n\t0xA0015402, 0x00000002, 0x4029D820, 0xA0015502, 0x00000002, 0x4029D820,\n\t0xA0015602, 0x00000002, 0x0029D884, 0xA0015604, 0x00000002, 0x4029D820,\n\t0xA0015702, 0x00000002, 0x4029D820, 0xA0015802, 0x00000002, 0x4029D820,\n\t0xA0015902, 0x00000002, 0x4029D820, 0xA0015A02, 0x00000002, 0x4029D820,\n\t0xA0015B02, 0x00000002, 0x4029D820, 0xA0015C02, 0x00000002, 0x4029D820,\n\t0xA0015D02, 0x00000002, 0x4029D820, 0xA0015E02, 0x00000002, 0x4029D820,\n\t0xA0015F02, 0x00000002, 0x4029D820, 0xA0016002, 0x00000002, 0x4029D820,\n\t0xA0016102, 0x00000002, 0x4029D820, 0xA0016202, 0x00000002, 0x4029D820,\n\t0xA0016302, 0x00000002, 0x4029D820, 0xA0016402,\n\t// Block 27, offset 0x6c0\n\t0x00000002, 0x4029D820, 0xA0016502, 0x00000002, 0x4029D820, 0xA0016602,\n\t0x00000002, 0x4029D820, 0xA0016702, 0x00000002, 0x4029D820, 0xA0016902,\n\t0x00000002, 0x4029D820, 0xA0016C02, 0x00000002, 0x4029D820, 0xA0016C02,\n\t0x00000002, 0x4029D820, 0xA0016C02, 0x00000002, 0x4029D820, 0xA0016C02,\n\t0x00000002, 0x4029D820, 0xA0016C02, 0x00000002, 0x4029D820, 0xA0016C02,\n\t0x00000002, 0x4029D820, 0xA0016C02, 0x00000002, 0x4029D820, 0xA0017202,\n\t0x00000002, 0x4029D820, 0xA0017302, 0x00000002, 0x4029D820, 0xA0017402,\n\t0x00000002, 0x4029D820, 0xA0017502, 0x00000002, 0x4029D820, 0xA0017702,\n\t0x00000002, 0x0029D886, 0x0029CC86, 0x00000002, 0x4029DA20, 0xA0013F02,\n\t0x00000002, 0x4029DA20, 0xA0014002, 0x00000002, 0x4029DA20, 0xA0014102,\n\t0x00000002, 0x4029DA20, 0xA0014202, 0x00000002,\n\t// Block 28, offset 0x700\n\t0x4029DA20, 0xA0014302, 0x00000002, 0x4029DA20, 0xA0014402, 0x00000002,\n\t0x4029DA20, 0xA0014502, 0x00000002, 0x4029DA20, 0xA0014602, 0x00000002,\n\t0x4029DA20, 0xA0014702, 0x00000002, 0x4029DA20, 0xA0014802, 0x00000002,\n\t0x4029DA20, 0xA0014902, 0x00000002, 0x4029DA20, 0xA0014A02, 0x00000002,\n\t0x4029DA20, 0xA0014B02, 0x00000002, 0x4029DA20, 0xA0014C02, 0x00000002,\n\t0x4029DA20, 0xA0014D02, 0x00000002, 0x4029DA20, 0xA0014E02, 0x00000002,\n\t0x4029DA20, 0xA0014F02, 0x00000002, 0x4029DA20, 0xA0015002, 0x00000002,\n\t0x4029DA20, 0xA0015102, 0x00000002, 0x4029DA20, 0xA0015202, 0x00000002,\n\t0x4029DA20, 0xA0015302, 0x00000002, 0x4029DA20, 0xA0015402, 0x00000002,\n\t0x4029DA20, 0xA0015502, 0x00000002, 0x4029DA20, 0xA0015602, 0x00000002,\n\t0x0029DA84, 0xA0015604, 0x00000002, 0x4029DA20,\n\t// Block 29, offset 0x740\n\t0xA0015702, 0x00000002, 0x4029DA20, 0xA0015802, 0x00000002, 0x4029DA20,\n\t0xA0015902, 0x00000002, 0x4029DA20, 0xA0015A02, 0x00000002, 0x4029DA20,\n\t0xA0015B02, 0x00000002, 0x4029DA20, 0xA0015C02, 0x00000002, 0x4029DA20,\n\t0xA0015D02, 0x00000002, 0x4029DA20, 0xA0015E02, 0x00000002, 0x4029DA20,\n\t0xA0015F02, 0x00000002, 0x4029DA20, 0xA0016002, 0x00000002, 0x4029DA20,\n\t0xA0016102, 0x00000002, 0x4029DA20, 0xA0016202, 0x00000002, 0x4029DA20,\n\t0xA0016302, 0x00000002, 0x4029DA20, 0xA0016402, 0x00000002, 0x4029DA20,\n\t0xA0016502, 0x00000002, 0x4029DA20, 0xA0016602, 0x00000002, 0x4029DA20,\n\t0xA0016702, 0x00000002, 0x4029DA20, 0xA0016C02, 0x00000002, 0x4029DA20,\n\t0xA0016C02, 0x00000002, 0x4029DA20, 0xA0016C02, 0x00000002, 0x4029DA20,\n\t0xA0016C02, 0x00000002, 0x4029DA20, 0xA0016C02,\n\t// Block 30, offset 0x780\n\t0x00000002, 0x4029DA20, 0xA0016C02, 0x00000002, 0x4029DA20, 0xA0016C02,\n\t0x00000002, 0x4029DA20, 0xA0016C02, 0x00000002, 0x4029DA20, 0xA0017202,\n\t0x00000002, 0x4029DA20, 0xA0017302, 0x00000002, 0x4029DA20, 0xA0017402,\n\t0x00000002, 0x4029DA20, 0xA0017502, 0x00000002, 0x4029DA20, 0xA0017702,\n\t0x00000003, 0x0029DA9E, 0x0009589E, 0x0029DC9E, 0x00000002, 0x0029DA86,\n\t0x0029CC86, 0x00000002, 0x4029DC20, 0xA0013F02, 0x00000002, 0x4029DC20,\n\t0xA0014002, 0x00000002, 0x4029DC20, 0xA0014102, 0x00000002, 0x4029DC20,\n\t0xA0014202, 0x00000002, 0x4029DC20, 0xA0014302, 0x00000002, 0x4029DC20,\n\t0xA0014402, 0x00000002, 0x4029DC20, 0xA0014502, 0x00000002, 0x4029DC20,\n\t0xA0014602, 0x00000002, 0x4029DC20, 0xA0014702, 0x00000002, 0x4029DC20,\n\t0xA0014802, 0x00000002, 0x4029DC20, 0xA0014902,\n\t// Block 31, offset 0x7c0\n\t0x00000002, 0x4029DC20, 0xA0014A02, 0x00000002, 0x4029DC20, 0xA0014B02,\n\t0x00000002, 0x4029DC20, 0xA0014C02, 0x00000002, 0x4029DC20, 0xA0014D02,\n\t0x00000002, 0x4029DC20, 0xA0014E02, 0x00000002, 0x4029DC20, 0xA0014F02,\n\t0x00000002, 0x4029DC20, 0xA0015002, 0x00000002, 0x4029DC20, 0xA0015102,\n\t0x00000002, 0x4029DC20, 0xA0015202, 0x00000002, 0x4029DC20, 0xA0015302,\n\t0x00000002, 0x4029DC20, 0xA0015402, 0x00000002, 0x4029DC20, 0xA0015502,\n\t0x00000002, 0x4029DC20, 0xA0015602, 0x00000002, 0x0029DC84, 0xA0015604,\n\t0x00000002, 0x4029DC20, 0xA0015702, 0x00000002, 0x4029DC20, 0xA0015802,\n\t0x00000002, 0x4029DC20, 0xA0015902, 0x00000002, 0x4029DC20, 0xA0015A02,\n\t0x00000002, 0x4029DC20, 0xA0015B02, 0x00000002, 0x4029DC20, 0xA0015C02,\n\t0x00000002, 0x4029DC20, 0xA0015D02, 0x00000002,\n\t// Block 32, offset 0x800\n\t0x4029DC20, 0xA0015E02, 0x00000002, 0x4029DC20, 0xA0015F02, 0x00000002,\n\t0x4029DC20, 0xA0016002, 0x00000002, 0x4029DC20, 0xA0016102, 0x00000002,\n\t0x4029DC20, 0xA0016202, 0x00000002, 0x4029DC20, 0xA0016302, 0x00000002,\n\t0x4029DC20, 0xA0016402, 0x00000002, 0x4029DC20, 0xA0016502, 0x00000002,\n\t0x4029DC20, 0xA0016602, 0x00000002, 0x4029DC20, 0xA0016702, 0x00000002,\n\t0x4029DC20, 0xA0016C02, 0x00000002, 0x4029DC20, 0xA0016C02, 0x00000002,\n\t0x4029DC20, 0xA0016C02, 0x00000002, 0x4029DC20, 0xA0016C02, 0x00000002,\n\t0x4029DC20, 0xA0016C02, 0x00000002, 0x4029DC20, 0xA0016C02, 0x00000002,\n\t0x4029DC20, 0xA0016C02, 0x00000002, 0x4029DC20, 0xA0017202, 0x00000002,\n\t0x4029DC20, 0xA0017302, 0x00000002, 0x4029DC20, 0xA0017402, 0x00000002,\n\t0x4029DC20, 0xA0017502, 0x00000002, 0x4029DC20,\n\t// Block 33, offset 0x840\n\t0xA0017702, 0x00000002, 0x0029DC86, 0x0029CC86, 0x00000002, 0x4029DE20,\n\t0xA0013F02, 0x00000002, 0x4029DE20, 0xA0014002, 0x00000002, 0x4029DE20,\n\t0xA0014102, 0x00000002, 0x4029DE20, 0xA0014202, 0x00000002, 0x4029DE20,\n\t0xA0014302, 0x00000002, 0x4029DE20, 0xA0014402, 0x00000002, 0x4029DE20,\n\t0xA0014502, 0x00000002, 0x4029DE20, 0xA0014602, 0x00000002, 0x4029DE20,\n\t0xA0014702, 0x00000002, 0x4029DE20, 0xA0014802, 0x00000002, 0x4029DE20,\n\t0xA0014902, 0x00000002, 0x4029DE20, 0xA0014A02, 0x00000002, 0x4029DE20,\n\t0xA0014B02, 0x00000002, 0x4029DE20, 0xA0014C02, 0x00000002, 0x4029DE20,\n\t0xA0014D02, 0x00000002, 0x4029DE20, 0xA0014E02, 0x00000002, 0x4029DE20,\n\t0xA0014F02, 0x00000002, 0x4029DE20, 0xA0015002, 0x00000002, 0x4029DE20,\n\t0xA0015102, 0x00000002, 0x4029DE20, 0xA0015202,\n\t// Block 34, offset 0x880\n\t0x00000002, 0x4029DE20, 0xA0015302, 0x00000002, 0x4029DE20, 0xA0015402,\n\t0x00000002, 0x4029DE20, 0xA0015502, 0x00000002, 0x4029DE20, 0xA0015602,\n\t0x00000002, 0x0029DE84, 0xA0015604, 0x00000002, 0x4029DE20, 0xA0015702,\n\t0x00000002, 0x4029DE20, 0xA0015802, 0x00000002, 0x4029DE20, 0xA0015902,\n\t0x00000002, 0x4029DE20, 0xA0015A02, 0x00000002, 0x4029DE20, 0xA0015B02,\n\t0x00000002, 0x4029DE20, 0xA0015C02, 0x00000002, 0x4029DE20, 0xA0015D02,\n\t0x00000002, 0x4029DE20, 0xA0015E02, 0x00000002, 0x4029DE20, 0xA0015F02,\n\t0x00000002, 0x4029DE20, 0xA0016002, 0x00000002, 0x4029DE20, 0xA0016102,\n\t0x00000002, 0x4029DE20, 0xA0016202, 0x00000002, 0x4029DE20, 0xA0016302,\n\t0x00000002, 0x4029DE20, 0xA0016402, 0x00000002, 0x4029DE20, 0xA0016502,\n\t0x00000002, 0x4029DE20, 0xA0016602, 0x00000002,\n\t// Block 35, offset 0x8c0\n\t0x4029DE20, 0xA0016702, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002,\n\t0x4029DE20, 0xA0016C02, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002,\n\t0x4029DE20, 0xA0016C02, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002,\n\t0x4029DE20, 0xA0016C02, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002,\n\t0x4029DE20, 0xA0016C02, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002,\n\t0x4029DE20, 0xA0017202, 0x00000002, 0x4029DE20, 0xA0017302, 0x00000002,\n\t0x4029DE20, 0xA0017402, 0x00000002, 0x4029DE20, 0xA0017502, 0x00000002,\n\t0x4029DE20, 0xA0017702, 0x00000002, 0x402BDE20, 0xAE603202, 0x00000002,\n\t0x002BDE88, 0xAE603202, 0x00000002, 0x402BDE20, 0xAE603502, 0x00000002,\n\t0x002BDE88, 0xAE603502, 0x00000002, 0x402BDE20, 0xAE603702, 0x00000002,\n\t0x002BDE88, 0xAE603702, 0x00000003, 0x402BDE20,\n\t// Block 36, offset 0x900\n\t0xAE603702, 0xAE603202, 0x00000003, 0x002BDE88, 0xAE603702, 0xAE603202,\n\t0x00000003, 0x402BDE20, 0xAE603702, 0xAE603502, 0x00000003, 0x002BDE88,\n\t0xAE603702, 0xAE603502, 0x00000003, 0x402BDE20, 0xAE603702, 0xAE604E02,\n\t0x00000003, 0x002BDE88, 0xAE603702, 0xAE604E02, 0x00000003, 0x402BDE20,\n\t0xAE603702, 0xAE606402, 0x00000003, 0x002BDE88, 0xAE603702, 0xAE606402,\n\t0x00000002, 0x402BDE20, 0xAE603C02, 0x00000002, 0x002BDE88, 0xAE603C02,\n\t0x00000003, 0x402BDE20, 0xAE603C02, 0xAE603202, 0x00000003, 0x002BDE88,\n\t0xAE603C02, 0xAE603202, 0x00000003, 0x402BDE20, 0xAE603C02, 0xAE603502,\n\t0x00000003, 0x002BDE88, 0xAE603C02, 0xAE603502, 0x00000003, 0x402BDE20,\n\t0xAE603C02, 0xAE604E02, 0x00000003, 0x002BDE88, 0xAE603C02, 0xAE604E02,\n\t0x00000003, 0x402BDE20, 0xAE603C02, 0xAE606402,\n\t// Block 37, offset 0x940\n\t0x00000003, 0x002BDE88, 0xAE603C02, 0xAE606402, 0x00000002, 0x402BDE20,\n\t0xAE604102, 0x00000002, 0x002BDE88, 0xAE604102, 0x00000002, 0x402BDE20,\n\t0xAE604302, 0x00000002, 0x002BDE88, 0xAE604302, 0x00000003, 0x402BDE20,\n\t0xAE604302, 0xAE603202, 0x00000003, 0x002BDE88, 0xAE604302, 0xAE603202,\n\t0x00000002, 0x402BDE20, 0xAE604702, 0x00000002, 0x002BDE88, 0xAE604702,\n\t0x00000003, 0x402BDE20, 0xAE604702, 0xAE605B02, 0x00000003, 0x002BDE88,\n\t0xAE604702, 0xAE605B02, 0x00000002, 0x402BDE20, 0xAE604E02, 0x00000002,\n\t0x002BDE88, 0xAE604E02, 0x00000002, 0x402BDE20, 0xAE605202, 0x00000002,\n\t0x002BDE88, 0xAE605202, 0x00000003, 0x402BDE20, 0xAE605202, 0xAE605B02,\n\t0x00000003, 0x002BDE88, 0xAE605202, 0xAE605B02, 0x00000002, 0x402BDE20,\n\t0xACA05902, 0x00000002, 0x002BDE88, 0xACA05902,\n\t// Block 38, offset 0x980\n\t0x00000002, 0x402BDE20, 0xAE605B02, 0x00000002, 0x002BDE88, 0xAE605B02,\n\t0x00000002, 0x402BDE20, 0xAE606402, 0x00000002, 0x002BDE88, 0xAE606402,\n\t0x00000002, 0x402BDE20, 0xAE606502, 0x00000002, 0x002BDE88, 0xAE606502,\n\t0x00000002, 0x402BDE20, 0xAE606702, 0x00000002, 0x002BDE88, 0xAE606702,\n\t0x00000002, 0x402BDE20, 0xADC07002, 0x00000002, 0x002BDE88, 0xADC07002,\n\t0x00000003, 0x402BDE20, 0xADC07002, 0xAE603702, 0x00000003, 0x002BDE88,\n\t0xADC07002, 0xAE603702, 0x00000003, 0x402BDE20, 0xADC07002, 0xAE603C02,\n\t0x00000003, 0x002BDE88, 0xADC07002, 0xAE603C02, 0x00000002, 0x402BDE20,\n\t0xADC07602, 0x00000002, 0x002BDE88, 0xADC07602, 0x00000002, 0x84E615EF,\n\t0xAE613904, 0x00000004, 0x002BDE9C, 0x0002E49C, 0x002E829C, 0x0002E49C,\n\t0x00000003, 0x002BDE84, 0x0004E284, 0x002C3A84,\n\t// Block 39, offset 0x9c0\n\t0x00000003, 0x002BDE84, 0x0004E284, 0x002FE684, 0x00000003, 0x002BDE8A,\n\t0x0004E284, 0x002FE68A, 0x00000003, 0x002BDE9D, 0x0009569C, 0x002E829C,\n\t0x00000002, 0x002BDE84, 0x002BDE84, 0x00000002, 0x002BDE8A, 0x002BDE8A,\n\t0x00000002, 0x002BDE9D, 0x002C0A9D, 0x00000003, 0x002BDE84, 0xA0013904,\n\t0x002C9884, 0x00000003, 0x84E615EF, 0xAE613904, 0x84E6164C, 0x00000003,\n\t0x002BDE8A, 0xA0013904, 0x002C988A, 0x00000003, 0x002BDE94, 0xA0013914,\n\t0x002C9894, 0x00000004, 0x002BDE84, 0xA0013904, 0x002C9884, 0xAE603202,\n\t0x00000004, 0x002BDE8A, 0xA0013904, 0x002C988A, 0xAE603202, 0x00000004,\n\t0x002BDE84, 0xA0013904, 0x002C9884, 0xAE605B02, 0x00000004, 0x002BDE8A,\n\t0xA0013904, 0x002C988A, 0xAE605B02, 0x00000002, 0x84E615EF, 0x84E61771,\n\t0x00000002, 0x002BDE84, 0x002EE284, 0x00000002,\n\t// Block 40, offset 0xa00\n\t0x002BDE8A, 0x002EE28A, 0x00000002, 0x002BDE84, 0x00306C84, 0x00000002,\n\t0x002BDE8A, 0x00306C8A, 0x00000002, 0x84E615EF, 0x84E6185F, 0x00000002,\n\t0x002BDE84, 0x0030BE84, 0x00000002, 0x002BDE8A, 0x0030BE8A, 0x00000003,\n\t0x002BDE84, 0xA0013904, 0x0030BE84, 0x00000003, 0x002BDE8A, 0xA0013904,\n\t0x0030BE8A, 0x00000002, 0x002BDE84, 0x00310084, 0x00000002, 0x002BDE8A,\n\t0x0031008A, 0x00000002, 0x402C0A20, 0xAE605202, 0x00000002, 0x002C0A88,\n\t0xAE605202, 0x00000002, 0x402C0A20, 0xADC07002, 0x00000002, 0x002C0A88,\n\t0xADC07002, 0x00000002, 0x402C0A20, 0xADC07B02, 0x00000002, 0x002C0A88,\n\t0xADC07B02, 0x00000003, 0x002C0A9C, 0x002BDE9C, 0x002F7A9C, 0x00000002,\n\t0x402C3A20, 0xAE603202, 0x00000002, 0x002C3A88, 0xAE603202, 0x00000002,\n\t0x402C3A20, 0xAE603C02, 0x00000002, 0x002C3A88,\n\t// Block 41, offset 0xa40\n\t0xAE603C02, 0x00000002, 0x402C3A20, 0xAE604102, 0x00000002, 0x002C3A88,\n\t0xAE604102, 0x00000002, 0x402C3A20, 0xAE605202, 0x00000002, 0x002C3A88,\n\t0xAE605202, 0x00000002, 0x402C3A20, 0xACA05602, 0x00000002, 0x84E6161D,\n\t0xAE605604, 0x00000002, 0x002C3A88, 0xACA05602, 0x00000003, 0x402C3A20,\n\t0xACA05602, 0xAE603202, 0x00000003, 0x002C3A88, 0xACA05602, 0xAE603202,\n\t0x00000003, 0x002C3A84, 0x0004E284, 0x002EE284, 0x00000003, 0x002C3A84,\n\t0x0004E284, 0x00306C84, 0x00000004, 0x002C3A9D, 0x0009569C, 0x002DFE9C,\n\t0x002D229C, 0x00000003, 0x002C3A9C, 0x002BDE9C, 0x002E229C, 0x00000002,\n\t0x002C3A9D, 0x002E229D, 0x00000003, 0x002C3A9C, 0x002E829C, 0x0029D09C,\n\t0x00000003, 0x002C3A9C, 0x002E829C, 0x0029D29C, 0x00000003, 0x002C3A9D,\n\t0x002EE29C, 0x0002E49C, 0x00000004, 0x002C3A9D,\n\t// Block 42, offset 0xa80\n\t0x002EE29D, 0x002EE29D, 0x002E229D, 0x00000002, 0x402C6220, 0xAE604102,\n\t0x00000002, 0x002C6288, 0xAE604102, 0x00000002, 0x402C6220, 0xAE605202,\n\t0x00000002, 0x002C6288, 0xAE605202, 0x00000002, 0x402C6220, 0xACA05602,\n\t0x00000002, 0x002C6288, 0xACA05602, 0x00000002, 0x402C6220, 0xADC07002,\n\t0x00000002, 0x002C6288, 0xADC07002, 0x00000002, 0x402C6220, 0xADC07802,\n\t0x00000002, 0x002C6288, 0xADC07802, 0x00000002, 0x402C6220, 0xADC07B02,\n\t0x00000002, 0x002C6288, 0xADC07B02, 0x00000002, 0x402C6220, 0xA0007D02,\n\t0x00000002, 0x002C6288, 0xA0007D02, 0x00000002, 0x002C6284, 0xA0013904,\n\t0x00000002, 0x84E61631, 0xAE613904, 0x00000002, 0x002C628A, 0xA0013904,\n\t0x00000002, 0x84E61631, 0xAE613A04, 0x00000002, 0x002C6284, 0xA0013A04,\n\t0x00000002, 0x002C628A, 0xA0013A04, 0x00000002,\n\t// Block 43, offset 0xac0\n\t0x002C6284, 0x002C0A84, 0x00000003, 0x002C629C, 0x002E829C, 0x0029D09C,\n\t0x00000003, 0x002C629C, 0x002E829C, 0x0029D29C, 0x00000002, 0x002C6284,\n\t0x00312A84, 0x00000003, 0x002C6284, 0x00312A84, 0xA0004104, 0x00000003,\n\t0x002C628A, 0x00312A84, 0xA0004104, 0x00000003, 0x002C628A, 0x00312A8A,\n\t0xA0004104, 0x00000002, 0x002C6284, 0x00315084, 0x00000002, 0x002C6284,\n\t0x00316484, 0x00000002, 0x402C9820, 0xAE603202, 0x00000002, 0x002C9888,\n\t0xAE603202, 0x00000002, 0x402C9820, 0xAE603502, 0x00000002, 0x002C9888,\n\t0xAE603502, 0x00000002, 0x402C9820, 0xAE603702, 0x00000002, 0x002C9888,\n\t0xAE603702, 0x00000002, 0x402C9820, 0xAE603C02, 0x00000002, 0x002C9888,\n\t0xAE603C02, 0x00000003, 0x402C9820, 0xAE603C02, 0xAE603202, 0x00000003,\n\t0x002C9888, 0xAE603C02, 0xAE603202, 0x00000003,\n\t// Block 44, offset 0xb00\n\t0x402C9820, 0xAE603C02, 0xAE603502, 0x00000003, 0x002C9888, 0xAE603C02,\n\t0xAE603502, 0x00000003, 0x402C9820, 0xAE603C02, 0xAE604E02, 0x00000003,\n\t0x002C9888, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C9820, 0xAE603C02,\n\t0xAE606402, 0x00000003, 0x002C9888, 0xAE603C02, 0xAE606402, 0x00000002,\n\t0x402C9820, 0xAE604102, 0x00000002, 0x002C9888, 0xAE604102, 0x00000002,\n\t0x402C9820, 0xAE604702, 0x00000002, 0x002C9888, 0xAE604702, 0x00000002,\n\t0x402C9820, 0xAE604E02, 0x00000002, 0x002C9888, 0xAE604E02, 0x00000002,\n\t0x402C9820, 0xAE605202, 0x00000002, 0x002C9888, 0xAE605202, 0x00000002,\n\t0x402C9820, 0xACA05602, 0x00000002, 0x002C9888, 0xACA05602, 0x00000003,\n\t0x402C9820, 0xACA05602, 0xAE603702, 0x00000003, 0x002C9888, 0xACA05602,\n\t0xAE603702, 0x00000002, 0x402C9820, 0xACA05902,\n\t// Block 45, offset 0xb40\n\t0x00000002, 0x002C9888, 0xACA05902, 0x00000002, 0x402C9820, 0xAE605B02,\n\t0x00000002, 0x002C9888, 0xAE605B02, 0x00000003, 0x402C9820, 0xAE605B02,\n\t0xAE603202, 0x00000003, 0x002C9888, 0xAE605B02, 0xAE603202, 0x00000003,\n\t0x402C9820, 0xAE605B02, 0xAE603502, 0x00000003, 0x002C9888, 0xAE605B02,\n\t0xAE603502, 0x00000002, 0x402C9820, 0xAE606402, 0x00000002, 0x002C9888,\n\t0xAE606402, 0x00000002, 0x402C9820, 0xAE606502, 0x00000002, 0x002C9888,\n\t0xAE606502, 0x00000002, 0x402C9820, 0xAE606702, 0x00000002, 0x002C9888,\n\t0xAE606702, 0x00000002, 0x402C9820, 0xADC07002, 0x00000002, 0x002C9888,\n\t0xADC07002, 0x00000003, 0x402C9820, 0xADC07002, 0xAE603C02, 0x00000003,\n\t0x002C9888, 0xADC07002, 0xAE603C02, 0x00000002, 0x402C9820, 0xADC07802,\n\t0x00000002, 0x002C9888, 0xADC07802, 0x00000002,\n\t// Block 46, offset 0xb80\n\t0x402C9820, 0xADC07A02, 0x00000002, 0x002C9888, 0xADC07A02, 0x00000003,\n\t0x002C989C, 0x002F7A9C, 0x002D229C, 0x00000002, 0x402D0820, 0xAE605202,\n\t0x00000002, 0x002D0888, 0xAE605202, 0x00000002, 0x002D0884, 0xA0013A04,\n\t0x00000002, 0x002D088A, 0xA0013A04, 0x00000003, 0x002D088A, 0x002BDE8A,\n\t0x0030F68A, 0x00000003, 0x002D0884, 0x002D0884, 0x002D9A84, 0x00000003,\n\t0x002D0884, 0x002D0884, 0x002E2284, 0x00000002, 0x002D0884, 0x002EDA84,\n\t0x00000004, 0x002D089D, 0x002F7A9D, 0x002C989D, 0x002C989D, 0x00000002,\n\t0x402D2220, 0xAE603202, 0x00000002, 0x002D2288, 0xAE603202, 0x00000002,\n\t0x402D2220, 0xAE603702, 0x00000002, 0x002D2288, 0xAE603702, 0x00000002,\n\t0x402D2220, 0xAE603C02, 0x00000002, 0x002D2288, 0xAE603C02, 0x00000002,\n\t0x402D2220, 0xAE604102, 0x00000002, 0x002D2288,\n\t// Block 47, offset 0xbc0\n\t0xAE604102, 0x00000002, 0x402D2220, 0xAE605202, 0x00000002, 0x002D2288,\n\t0xAE605202, 0x00000002, 0x402D2220, 0xACA05602, 0x00000002, 0x002D2288,\n\t0xACA05602, 0x00000002, 0x402D2220, 0xAE605B02, 0x00000002, 0x002D2288,\n\t0xAE605B02, 0x00000002, 0x002D2284, 0xA0006104, 0x00000002, 0x002D228A,\n\t0xA0006104, 0x00000002, 0x002D2284, 0xA0013A04, 0x00000002, 0x002D228A,\n\t0xA0013A04, 0x00000003, 0x002D229C, 0x002BDE9C, 0x002E229C, 0x00000003,\n\t0x002D229D, 0x002D689D, 0x00312A9C, 0x00000003, 0x002D229D, 0x002F2C9D,\n\t0x002BDE9C, 0x00000002, 0x402D6820, 0xAE603C02, 0x00000002, 0x002D6888,\n\t0xAE603C02, 0x00000002, 0x402D6820, 0xAE604102, 0x00000002, 0x002D6888,\n\t0xAE604102, 0x00000002, 0x402D6820, 0xAE604702, 0x00000002, 0x002D6888,\n\t0xAE604702, 0x00000002, 0x402D6820, 0xAE605202,\n\t// Block 48, offset 0xc00\n\t0x00000002, 0x002D6888, 0xAE605202, 0x00000002, 0x402D6820, 0xACA05602,\n\t0x00000002, 0x002D6888, 0xACA05602, 0x00000002, 0x402D6820, 0xADC07002,\n\t0x00000002, 0x002D6888, 0xADC07002, 0x00000002, 0x402D6820, 0xADC07902,\n\t0x00000002, 0x002D6888, 0xADC07902, 0x00000002, 0x402D6820, 0xADC07B02,\n\t0x00000002, 0x402D6820, 0xA0007D02, 0x00000002, 0x002D6888, 0xA0007D02,\n\t0x00000003, 0x002D689C, 0x002F2C9D, 0x002BDE9C, 0x00000002, 0x402D9A20,\n\t0xAE603202, 0x00000002, 0x002D9A88, 0xAE603202, 0x00000002, 0x402D9A20,\n\t0xAE603502, 0x00000002, 0x002D9A88, 0xAE603502, 0x00000002, 0x402D9A20,\n\t0xAE603702, 0x00000002, 0x002D9A88, 0xAE603702, 0x00000002, 0x402D9A20,\n\t0xAE603C02, 0x00000002, 0x002D9A88, 0xAE603C02, 0x00000002, 0x402D9A20,\n\t0xAE604102, 0x00000002, 0x002D9A88, 0xAE604102,\n\t// Block 49, offset 0xc40\n\t0x00000002, 0x402D9A20, 0xAE604702, 0x00000002, 0x002D9A88, 0xAE604702,\n\t0x00000003, 0x402D9A20, 0xAE604702, 0xAE603202, 0x00000003, 0x002D9A88,\n\t0xAE604702, 0xAE603202, 0x00000002, 0x402D9A20, 0xAE604E02, 0x00000002,\n\t0x002D9A88, 0xAE604E02, 0x00000002, 0x002D9A88, 0xAE605202, 0x00000002,\n\t0x402D9A20, 0xACA05902, 0x00000002, 0x002D9A88, 0xACA05902, 0x00000002,\n\t0x402D9A20, 0xAE605B02, 0x00000002, 0x002D9A88, 0xAE605B02, 0x00000002,\n\t0x402D9A20, 0xAE606402, 0x00000002, 0x002D9A88, 0xAE606402, 0x00000002,\n\t0x402D9A20, 0xAE606502, 0x00000002, 0x002D9A88, 0xAE606502, 0x00000002,\n\t0x402D9A20, 0xAE606702, 0x00000002, 0x002D9A88, 0xAE606702, 0x00000002,\n\t0x402D9A20, 0xADC07002, 0x00000002, 0x002D9A88, 0xADC07002, 0x00000002,\n\t0x402D9A20, 0xADC07A02, 0x00000002, 0x002D9A88,\n\t// Block 50, offset 0xc80\n\t0xADC07A02, 0x00000002, 0x002D9A9D, 0x002C3A9D, 0x00000002, 0x002D9A9D,\n\t0x002C629D, 0x00000002, 0x402DCC20, 0xAE603C02, 0x00000002, 0x002DCC88,\n\t0xAE603C02, 0x00000002, 0x402DCC20, 0xAE604102, 0x00000002, 0x402DFE20,\n\t0xAE603202, 0x00000002, 0x002DFE88, 0xAE603202, 0x00000002, 0x402DFE20,\n\t0xAE604102, 0x00000002, 0x002DFE88, 0xAE604102, 0x00000002, 0x402DFE20,\n\t0xACA05602, 0x00000002, 0x002DFE88, 0xACA05602, 0x00000002, 0x002DFE84,\n\t0xA0006104, 0x00000002, 0x002DFE8A, 0xA0006104, 0x00000002, 0x402DFE20,\n\t0xADC07002, 0x00000002, 0x002DFE88, 0xADC07002, 0x00000002, 0x402DFE20,\n\t0xADC07B02, 0x00000002, 0x002DFE88, 0xADC07B02, 0x00000004, 0x002DFE9C,\n\t0x002C3A9C, 0x002BDE9C, 0x002E229C, 0x00000003, 0x002DFE9C, 0x002D689D,\n\t0x00312A9C, 0x00000003, 0x002DFE9C, 0x002E829C,\n\t// Block 51, offset 0xcc0\n\t0x0029D09C, 0x00000003, 0x002DFE9C, 0x002E829C, 0x0029D29C, 0x00000003,\n\t0x002DFE9C, 0x002F2C9D, 0x002BDE9C, 0x00000002, 0x402E2220, 0xAE603202,\n\t0x00000002, 0x002E2288, 0xAE603202, 0x00000002, 0x402E2220, 0xAE604102,\n\t0x00000002, 0x002E2288, 0xAE604102, 0x00000002, 0x402E2220, 0xACA05602,\n\t0x00000002, 0x002E2288, 0xACA05602, 0x00000002, 0x402E2220, 0xADC07002,\n\t0x00000002, 0x002E2288, 0xADC07002, 0x00000003, 0x402E2220, 0xADC07002,\n\t0xAE605B02, 0x00000003, 0x002E2288, 0xADC07002, 0xAE605B02, 0x00000002,\n\t0x402E2220, 0xADC07802, 0x00000002, 0x002E2288, 0xADC07802, 0x00000002,\n\t0x402E2220, 0xADC07B02, 0x00000002, 0x002E2288, 0xADC07B02, 0x00000002,\n\t0x402E2220, 0xA0007D02, 0x00000002, 0x002E2288, 0xA0007D02, 0x00000002,\n\t0x402E2220, 0xA0013902, 0x00000002, 0x402E2220,\n\t// Block 52, offset 0xd00\n\t0xA0013902, 0x00000002, 0x002E2288, 0xA0013902, 0x00000002, 0x002E2288,\n\t0xA0013902, 0x00000002, 0x002E2284, 0x002E2284, 0x00000002, 0x002E228A,\n\t0x002E228A, 0x00000003, 0x002E229C, 0x002EE29C, 0x002D229C, 0x00000002,\n\t0x002E2284, 0x002FE684, 0x00000003, 0x002E229D, 0x00302C9D, 0x002C629D,\n\t0x00000002, 0x002E2284, 0x00312A84, 0x00000002, 0x402E8220, 0xAE603202,\n\t0x00000002, 0x002E8288, 0xAE603202, 0x00000002, 0x402E8220, 0xAE605202,\n\t0x00000002, 0x002E8288, 0xAE605202, 0x00000002, 0x402E8220, 0xADC07002,\n\t0x00000002, 0x002E8288, 0xADC07002, 0x00000003, 0x002E829C, 0x0009569C,\n\t0x002FE69C, 0x00000004, 0x002E829C, 0x0009569C, 0x002FE69C, 0x0029D09C,\n\t0x00000003, 0x002E829D, 0x002D689D, 0x00312A9C, 0x00000003, 0x002E829C,\n\t0x002D9A9C, 0x002E229C, 0x00000003, 0x002E829C,\n\t// Block 53, offset 0xd40\n\t0x002E829C, 0x0029D09C, 0x00000003, 0x002E829C, 0x002E829C, 0x0029D29C,\n\t0x00000003, 0x002E829C, 0x002EE29C, 0x002E229C, 0x00000003, 0x002E829D,\n\t0x002F2C9D, 0x002BDE9C, 0x00000002, 0x402E9E20, 0xAE603202, 0x00000002,\n\t0x002E9E88, 0xAE603202, 0x00000002, 0x402E9E20, 0xAE603502, 0x00000002,\n\t0x002E9E88, 0xAE603502, 0x00000002, 0x402E9E20, 0xAE604102, 0x00000002,\n\t0x002E9E88, 0xAE604102, 0x00000002, 0x402E9E20, 0xAE604E02, 0x00000002,\n\t0x002E9E88, 0xAE604E02, 0x00000002, 0x402E9E20, 0xAE605202, 0x00000002,\n\t0x002E9E88, 0xAE605202, 0x00000002, 0x402E9E20, 0xACA05602, 0x00000002,\n\t0x002E9E88, 0xACA05602, 0x00000002, 0x002E9E84, 0xA0006104, 0x00000002,\n\t0x002E9E8A, 0xA0006104, 0x00000002, 0x402E9E20, 0xADC07002, 0x00000002,\n\t0x002E9E88, 0xADC07002, 0x00000002, 0x402E9E20,\n\t// Block 54, offset 0xd80\n\t0xADC07802, 0x00000002, 0x002E9E88, 0xADC07802, 0x00000002, 0x402E9E20,\n\t0xADC07B02, 0x00000002, 0x002E9E88, 0xADC07B02, 0x00000003, 0x002E9E9D,\n\t0x002C989D, 0x0030E29D, 0x00000002, 0x002E9E9D, 0x002D229D, 0x00000002,\n\t0x402EE220, 0xAE603202, 0x00000002, 0x002EE288, 0xAE603202, 0x00000002,\n\t0x402EE220, 0xAE603502, 0x00000002, 0x002EE288, 0xAE603502, 0x00000002,\n\t0x402EE220, 0xAE603702, 0x00000002, 0x002EE288, 0xAE603702, 0x00000002,\n\t0x402EE220, 0xAE603C02, 0x00000002, 0x002EE288, 0xAE603C02, 0x00000003,\n\t0x402EE220, 0xAE603C02, 0xAE603202, 0x00000003, 0x002EE288, 0xAE603C02,\n\t0xAE603202, 0x00000003, 0x402EE220, 0xAE603C02, 0xAE603502, 0x00000003,\n\t0x002EE288, 0xAE603C02, 0xAE603502, 0x00000003, 0x402EE220, 0xAE603C02,\n\t0xAE604E02, 0x00000003, 0x002EE288, 0xAE603C02,\n\t// Block 55, offset 0xdc0\n\t0xAE604E02, 0x00000003, 0x402EE220, 0xAE603C02, 0xAE606402, 0x00000003,\n\t0x002EE288, 0xAE603C02, 0xAE606402, 0x00000002, 0x402EE220, 0xAE604102,\n\t0x00000002, 0x002EE288, 0xAE604102, 0x00000002, 0x402EE220, 0xAE604702,\n\t0x00000002, 0x002EE288, 0xAE604702, 0x00000003, 0x402EE220, 0xAE604702,\n\t0xAE605B02, 0x00000003, 0x002EE288, 0xAE604702, 0xAE605B02, 0x00000002,\n\t0x402EE220, 0xAE604D02, 0x00000002, 0x002EE288, 0xAE604D02, 0x00000002,\n\t0x402EE220, 0xAE604E02, 0x00000002, 0x002EE288, 0xAE604E02, 0x00000003,\n\t0x402EE220, 0xAE604E02, 0xAE603202, 0x00000003, 0x002EE288, 0xAE604E02,\n\t0xAE603202, 0x00000003, 0x402EE220, 0xAE604E02, 0xAE604702, 0x00000003,\n\t0x002EE288, 0xAE604E02, 0xAE604702, 0x00000003, 0x402EE220, 0xAE604E02,\n\t0xAE605B02, 0x00000003, 0x002EE288, 0xAE604E02,\n\t// Block 56, offset 0xe00\n\t0xAE605B02, 0x00000002, 0x402EE220, 0xAE605202, 0x00000002, 0x002EE288,\n\t0xAE605202, 0x00000003, 0x402EE220, 0xAE605202, 0xAE605B02, 0x00000003,\n\t0x002EE288, 0xAE605202, 0xAE605B02, 0x00000002, 0x402EE220, 0xA0005402,\n\t0x00000002, 0x002EE288, 0xA0005402, 0x00000003, 0x402EE220, 0xA0005402,\n\t0xAE603202, 0x00000003, 0x002EE288, 0xA0005402, 0xAE603202, 0x00000002,\n\t0x402EE220, 0xACA05902, 0x00000002, 0x002EE288, 0xACA05902, 0x00000003,\n\t0x402EE220, 0xACA05902, 0xAE605B02, 0x00000003, 0x002EE288, 0xACA05902,\n\t0xAE605B02, 0x00000002, 0x402EE220, 0xAE605B02, 0x00000002, 0x002EE288,\n\t0xAE605B02, 0x00000003, 0x402EE220, 0xAE605B02, 0xAE603202, 0x00000003,\n\t0x002EE288, 0xAE605B02, 0xAE603202, 0x00000003, 0x402EE220, 0xAE605B02,\n\t0xAE603502, 0x00000003, 0x002EE288, 0xAE605B02,\n\t// Block 57, offset 0xe40\n\t0xAE603502, 0x00000002, 0x402EE220, 0xAE606402, 0x00000002, 0x002EE288,\n\t0xAE606402, 0x00000002, 0x402EE220, 0xAE606502, 0x00000002, 0x002EE288,\n\t0xAE606502, 0x00000002, 0x402EE220, 0xAE606702, 0x00000002, 0x002EE288,\n\t0xAE606702, 0x00000002, 0x402EE220, 0xAD806802, 0x00000002, 0x002EE288,\n\t0xAD806802, 0x00000003, 0x402EE220, 0xAD806802, 0xAE603202, 0x00000003,\n\t0x002EE288, 0xAD806802, 0xAE603202, 0x00000003, 0x402EE220, 0xAD806802,\n\t0xAE603502, 0x00000003, 0x002EE288, 0xAD806802, 0xAE603502, 0x00000003,\n\t0x402EE220, 0xAD806802, 0xAE604E02, 0x00000003, 0x002EE288, 0xAD806802,\n\t0xAE604E02, 0x00000003, 0x402EE220, 0xAD806802, 0xAE606402, 0x00000003,\n\t0x002EE288, 0xAD806802, 0xAE606402, 0x00000003, 0x402EE220, 0xAD806802,\n\t0xADC07002, 0x00000003, 0x002EE288, 0xAD806802,\n\t// Block 58, offset 0xe80\n\t0xADC07002, 0x00000002, 0x402EE220, 0xADC07002, 0x00000002, 0x002EE288,\n\t0xADC07002, 0x00000003, 0x402EE220, 0xADC07002, 0xAE603C02, 0x00000003,\n\t0x002EE288, 0xADC07002, 0xAE603C02, 0x00000003, 0x002EE284, 0xA0013904,\n\t0x002C9884, 0x00000003, 0x002EE28A, 0xA0013904, 0x002C988A, 0x00000003,\n\t0x002EE294, 0xA0013914, 0x002C9894, 0x00000002, 0x002EE29D, 0x002DFE9D,\n\t0x00000002, 0x002EE284, 0x002EE284, 0x00000002, 0x002EE28A, 0x002EE28A,\n\t0x00000002, 0x402F2C20, 0xAE603202, 0x00000002, 0x002F2C88, 0xAE603202,\n\t0x00000002, 0x402F2C20, 0xAE605202, 0x00000002, 0x002F2C88, 0xAE605202,\n\t0x00000004, 0x002F2C9C, 0x0002E49C, 0x002E829C, 0x0002E49C, 0x00000002,\n\t0x002F2C9D, 0x002BDE9D, 0x00000003, 0x002F2C9D, 0x002F2C9D, 0x002E829D,\n\t0x00000003, 0x002F2C9D, 0x002F2C9D, 0x0030BE9D,\n\t// Block 59, offset 0xec0\n\t0x00000003, 0x002F2C9D, 0x00302C9D, 0x002C989D, 0x00000002, 0x002F5684,\n\t0x002F2C84, 0x00000002, 0x402F7A20, 0xAE603202, 0x00000002, 0x002F7A88,\n\t0xAE603202, 0x00000002, 0x402F7A20, 0xAE604102, 0x00000002, 0x002F7A88,\n\t0xAE604102, 0x00000002, 0x402F7A20, 0xAE605202, 0x00000002, 0x002F7A88,\n\t0xAE605202, 0x00000002, 0x402F7A20, 0xACA05602, 0x00000002, 0x002F7A88,\n\t0xACA05602, 0x00000002, 0x002F7A84, 0xA0006104, 0x00000002, 0x002F7A8A,\n\t0xA0006104, 0x00000002, 0x402F7A20, 0xAE606502, 0x00000002, 0x002F7A88,\n\t0xAE606502, 0x00000002, 0x402F7A20, 0xAE606702, 0x00000002, 0x002F7A88,\n\t0xAE606702, 0x00000002, 0x402F7A20, 0xADC07002, 0x00000002, 0x002F7A88,\n\t0xADC07002, 0x00000003, 0x402F7A20, 0xADC07002, 0xAE605B02, 0x00000003,\n\t0x002F7A88, 0xADC07002, 0xAE605B02, 0x00000002,\n\t// Block 60, offset 0xf00\n\t0x402F7A20, 0xADC07B02, 0x00000002, 0x002F7A88, 0xADC07B02, 0x00000002,\n\t0x002F7A84, 0xA0013A04, 0x00000002, 0x002F7A8A, 0xA0013A04, 0x00000003,\n\t0x002F7A9C, 0x002BDE9C, 0x002C629C, 0x00000005, 0x002F7A9C, 0x002BDE9C,\n\t0x002C629C, 0x0009569C, 0x002FE69C, 0x00000006, 0x002F7A9C, 0x002BDE9C,\n\t0x002C629C, 0x0009569C, 0x002FE69C, 0x0029D09C, 0x00000002, 0x402FE620,\n\t0xAE603202, 0x00000002, 0x002FE688, 0xAE603202, 0x00000003, 0x402FE620,\n\t0xAE603202, 0xAE605202, 0x00000003, 0x002FE688, 0xAE603202, 0xAE605202,\n\t0x00000002, 0x402FE620, 0xAE603C02, 0x00000002, 0x002FE688, 0xAE603C02,\n\t0x00000002, 0x402FE620, 0xAE604102, 0x00000002, 0x002FE688, 0xAE604102,\n\t0x00000003, 0x402FE620, 0xAE604102, 0xAE605202, 0x00000003, 0x002FE688,\n\t0xAE604102, 0xAE605202, 0x00000002, 0x402FE620,\n\t// Block 61, offset 0xf40\n\t0xAE605202, 0x00000002, 0x002FE688, 0xAE605202, 0x00000002, 0x402FE620,\n\t0xACA05602, 0x00000002, 0x002FE688, 0xACA05602, 0x00000002, 0x002FE684,\n\t0xA0006104, 0x00000002, 0x002FE68A, 0xA0006104, 0x00000002, 0x402FE620,\n\t0xADC07002, 0x00000002, 0x002FE688, 0xADC07002, 0x00000003, 0x402FE620,\n\t0xADC07002, 0xAE605202, 0x00000003, 0x002FE688, 0xADC07002, 0xAE605202,\n\t0x00000002, 0x402FE620, 0xADC07702, 0x00000002, 0x002FE688, 0xADC07702,\n\t0x00000002, 0x002FE684, 0xA0013A04, 0x00000002, 0x84E617F3, 0xAE613A04,\n\t0x00000002, 0x002FE684, 0xA0013A04, 0x00000002, 0x002FE68A, 0xA0013A04,\n\t0x00000003, 0x002FE684, 0xA0013A04, 0xAE605202, 0x00000002, 0x002FE69D,\n\t0x002BDE9D, 0x00000003, 0x002FE69D, 0x002EE29D, 0x002FE69D, 0x00000003,\n\t0x002FE684, 0xA0013904, 0x002FE684, 0x00000003,\n\t// Block 62, offset 0xf80\n\t0x002FE68A, 0xA0013904, 0x002FE68A, 0x00000003, 0x002FE684, 0xA0013A04,\n\t0x00302C84, 0x00000002, 0x40302C20, 0xAE604102, 0x00000002, 0x00302C88,\n\t0xAE604102, 0x00000002, 0x40302C20, 0xAE604702, 0x00000002, 0x40302C20,\n\t0xAE605202, 0x00000002, 0x00302C88, 0xAE605202, 0x00000002, 0x40302C20,\n\t0xACA05602, 0x00000002, 0x00302C88, 0xACA05602, 0x00000002, 0x40302C20,\n\t0xADC07002, 0x00000002, 0x00302C88, 0xADC07002, 0x00000002, 0x40302C20,\n\t0xADC07702, 0x00000002, 0x00302C88, 0xADC07702, 0x00000002, 0x40302C20,\n\t0xADC07802, 0x00000002, 0x00302C88, 0xADC07802, 0x00000002, 0x40302C20,\n\t0xADC07B02, 0x00000002, 0x00302C88, 0xADC07B02, 0x00000002, 0x00302C84,\n\t0xA0013A04, 0x00000002, 0x00302C8A, 0xA0013A04, 0x00000002, 0x00302C84,\n\t0x002C5684, 0x00000003, 0x00302C8A, 0x002C988A,\n\t// Block 63, offset 0xfc0\n\t0x002E228A, 0x00000003, 0x00302C84, 0xA0013904, 0x002D6884, 0x00000003,\n\t0x00302C9D, 0x002D689D, 0x00312A9C, 0x00000002, 0x00302C84, 0x002FE684,\n\t0x00000002, 0x00302C84, 0x002FE684, 0x00000002, 0x00302C84, 0x00300884,\n\t0x00000002, 0x00302C84, 0x00312A84, 0x00000002, 0x00302C8A, 0x00312A84,\n\t0x00000002, 0x40306C20, 0xAE603202, 0x00000002, 0x00306C88, 0xAE603202,\n\t0x00000002, 0x40306C20, 0xAE603502, 0x00000002, 0x00306C88, 0xAE603502,\n\t0x00000002, 0x40306C20, 0xAE603702, 0x00000002, 0x00306C88, 0xAE603702,\n\t0x00000002, 0x40306C20, 0xAE603C02, 0x00000002, 0x00306C88, 0xAE603C02,\n\t0x00000002, 0x40306C20, 0xAE604102, 0x00000002, 0x00306C88, 0xAE604102,\n\t0x00000002, 0x40306C20, 0xAE604302, 0x00000002, 0x00306C88, 0xAE604302,\n\t0x00000002, 0x40306C20, 0xAE604702, 0x00000002,\n\t// Block 64, offset 0x1000\n\t0x00306C88, 0xAE604702, 0x00000003, 0x40306C20, 0xAE604702, 0xAE603202,\n\t0x00000003, 0x00306C88, 0xAE604702, 0xAE603202, 0x00000003, 0x40306C20,\n\t0xAE604702, 0xAE603502, 0x00000003, 0x00306C88, 0xAE604702, 0xAE603502,\n\t0x00000003, 0x40306C20, 0xAE604702, 0xAE604102, 0x00000003, 0x00306C88,\n\t0xAE604702, 0xAE604102, 0x00000003, 0x40306C20, 0xAE604702, 0xAE605B02,\n\t0x00000003, 0x00306C88, 0xAE604702, 0xAE605B02, 0x00000002, 0x40306C20,\n\t0xAE604D02, 0x00000002, 0x00306C88, 0xAE604D02, 0x00000002, 0x40306C20,\n\t0xAE604E02, 0x00000002, 0x00306C88, 0xAE604E02, 0x00000003, 0x40306C20,\n\t0xAE604E02, 0xAE603202, 0x00000003, 0x00306C88, 0xAE604E02, 0xAE603202,\n\t0x00000002, 0x40306C20, 0xACA05902, 0x00000002, 0x00306C88, 0xACA05902,\n\t0x00000002, 0x40306C20, 0xAE605B02, 0x00000002,\n\t// Block 65, offset 0x1040\n\t0x00306C88, 0xAE605B02, 0x00000003, 0x40306C20, 0xAE605B02, 0xAE604702,\n\t0x00000003, 0x00306C88, 0xAE605B02, 0xAE604702, 0x00000002, 0x40306C20,\n\t0xAE606402, 0x00000002, 0x00306C88, 0xAE606402, 0x00000002, 0x40306C20,\n\t0xAE606502, 0x00000002, 0x00306C88, 0xAE606502, 0x00000002, 0x40306C20,\n\t0xAE606702, 0x00000002, 0x00306C88, 0xAE606702, 0x00000002, 0x40306C20,\n\t0xAD806802, 0x00000002, 0x00306C88, 0xAD806802, 0x00000003, 0x40306C20,\n\t0xAD806802, 0xAE603202, 0x00000003, 0x00306C88, 0xAD806802, 0xAE603202,\n\t0x00000003, 0x40306C20, 0xAD806802, 0xAE603502, 0x00000003, 0x00306C88,\n\t0xAD806802, 0xAE603502, 0x00000003, 0x40306C20, 0xAD806802, 0xAE604E02,\n\t0x00000003, 0x00306C88, 0xAD806802, 0xAE604E02, 0x00000003, 0x40306C20,\n\t0xAD806802, 0xAE606402, 0x00000003, 0x00306C88,\n\t// Block 66, offset 0x1080\n\t0xAD806802, 0xAE606402, 0x00000003, 0x40306C20, 0xAD806802, 0xADC07002,\n\t0x00000003, 0x00306C88, 0xAD806802, 0xADC07002, 0x00000002, 0x40306C20,\n\t0xADC07002, 0x00000002, 0x00306C88, 0xADC07002, 0x00000002, 0x40306C20,\n\t0xADC07502, 0x00000002, 0x00306C88, 0xADC07502, 0x00000002, 0x40306C20,\n\t0xADC07802, 0x00000002, 0x00306C88, 0xADC07802, 0x00000002, 0x40306C20,\n\t0xADC07A02, 0x00000002, 0x00306C88, 0xADC07A02, 0x00000003, 0x00306C9D,\n\t0x002F2C9D, 0x0002BA9C, 0x00000002, 0x4030BE20, 0xAE604E02, 0x00000002,\n\t0x0030BE88, 0xAE604E02, 0x00000002, 0x4030BE20, 0xADC07002, 0x00000002,\n\t0x0030BE88, 0xADC07002, 0x00000003, 0x0030BE9D, 0x0009569C, 0x002E829C,\n\t0x00000004, 0x0030BE84, 0x002D9A84, 0x002D9A84, 0x002D9A9F, 0x00000004,\n\t0x0030BE8A, 0x002D9A8A, 0x002D9A8A, 0x002D9A9F,\n\t// Block 67, offset 0x10c0\n\t0x00000002, 0x0030BE9D, 0x002FE69D, 0x00000002, 0x0030BE84, 0x00310084,\n\t0x00000002, 0x0030BE8A, 0x0031008A, 0x00000002, 0x4030E220, 0xAE603202,\n\t0x00000002, 0x0030E288, 0xAE603202, 0x00000002, 0x4030E220, 0xAE603502,\n\t0x00000002, 0x0030E288, 0xAE603502, 0x00000002, 0x4030E220, 0xAE603C02,\n\t0x00000002, 0x0030E288, 0xAE603C02, 0x00000002, 0x4030E220, 0xAE604302,\n\t0x00000002, 0x4030E220, 0xAE604702, 0x00000002, 0x0030E288, 0xAE604702,\n\t0x00000002, 0x4030E220, 0xAE605202, 0x00000002, 0x0030E288, 0xAE605202,\n\t0x00000002, 0x4030E220, 0xADC07002, 0x00000002, 0x0030E288, 0xADC07002,\n\t0x00000002, 0x0030E29D, 0x002C3A9D, 0x00000002, 0x4030F620, 0xAE604702,\n\t0x00000002, 0x0030F688, 0xAE604702, 0x00000002, 0x4030F620, 0xAE605202,\n\t0x00000002, 0x0030F688, 0xAE605202, 0x00000002,\n\t// Block 68, offset 0x1100\n\t0x40310020, 0xAE603202, 0x00000002, 0x00310088, 0xAE603202, 0x00000002,\n\t0x40310020, 0xAE603502, 0x00000002, 0x00310088, 0xAE603502, 0x00000002,\n\t0x40310020, 0xAE603C02, 0x00000002, 0x00310088, 0xAE603C02, 0x00000002,\n\t0x40310020, 0xAE604302, 0x00000002, 0x40310020, 0xAE604702, 0x00000002,\n\t0x00310088, 0xAE604702, 0x00000002, 0x40310020, 0xAE604E02, 0x00000002,\n\t0x00310088, 0xAE604E02, 0x00000002, 0x40310020, 0xAE605202, 0x00000002,\n\t0x00310088, 0xAE605202, 0x00000002, 0x40310020, 0xAE605B02, 0x00000002,\n\t0x00310088, 0xAE605B02, 0x00000002, 0x40310020, 0xAE606402, 0x00000002,\n\t0x00310088, 0xAE606402, 0x00000002, 0x40310020, 0xADC07002, 0x00000002,\n\t0x00310088, 0xADC07002, 0x00000002, 0x40312A20, 0xAE603202, 0x00000002,\n\t0x00312A88, 0xAE603202, 0x00000002, 0x40312A20,\n\t// Block 69, offset 0x1140\n\t0xAE603C02, 0x00000002, 0x00312A88, 0xAE603C02, 0x00000002, 0x40312A20,\n\t0xAE604102, 0x00000002, 0x00312A88, 0xAE604102, 0x00000002, 0x40312A20,\n\t0xAE605202, 0x00000002, 0x00312A88, 0xAE605202, 0x00000002, 0x40312A20,\n\t0xADC07002, 0x00000002, 0x00312A88, 0xADC07002, 0x00000002, 0x40312A20,\n\t0xADC07B02, 0x00000002, 0x00312A88, 0xADC07B02, 0x00000002, 0x00312A84,\n\t0x0030E284, 0x00000002, 0x40316420, 0xAE604102, 0x00000002, 0x00316488,\n\t0xAE604102, 0x00000002, 0x40325220, 0xAE602202, 0x00000002, 0x00325288,\n\t0xAE602202, 0x00000003, 0x40325220, 0xAE602202, 0xAE603202, 0x00000003,\n\t0x00325288, 0xAE602202, 0xAE603202, 0x00000004, 0x40325220, 0xAE602202,\n\t0xAE603202, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602202, 0xAE603202,\n\t0xAF007F02, 0x00000003, 0x40325220, 0xAE602202,\n\t// Block 70, offset 0x1180\n\t0xAE603502, 0x00000003, 0x00325288, 0xAE602202, 0xAE603502, 0x00000004,\n\t0x40325220, 0xAE602202, 0xAE603502, 0xAF007F02, 0x00000004, 0x00325288,\n\t0xAE602202, 0xAE603502, 0xAF007F02, 0x00000003, 0x40325220, 0xAE602202,\n\t0xAE604502, 0x00000003, 0x00325288, 0xAE602202, 0xAE604502, 0x00000004,\n\t0x40325220, 0xAE602202, 0xAE604502, 0xAF007F02, 0x00000004, 0x00325288,\n\t0xAE602202, 0xAE604502, 0xAF007F02, 0x00000003, 0x40325220, 0xAE602202,\n\t0xAF007F02, 0x00000003, 0x00325288, 0xAE602202, 0xAF007F02, 0x00000002,\n\t0x40325220, 0xAE602A02, 0x00000002, 0x00325288, 0xAE602A02, 0x00000003,\n\t0x40325220, 0xAE602A02, 0xAE603202, 0x00000003, 0x00325288, 0xAE602A02,\n\t0xAE603202, 0x00000004, 0x40325220, 0xAE602A02, 0xAE603202, 0xAF007F02,\n\t0x00000004, 0x00325288, 0xAE602A02, 0xAE603202,\n\t// Block 71, offset 0x11c0\n\t0xAF007F02, 0x00000003, 0x40325220, 0xAE602A02, 0xAE603502, 0x00000003,\n\t0x00325288, 0xAE602A02, 0xAE603502, 0x00000004, 0x40325220, 0xAE602A02,\n\t0xAE603502, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602A02, 0xAE603502,\n\t0xAF007F02, 0x00000003, 0x40325220, 0xAE602A02, 0xAE604502, 0x00000003,\n\t0x00325288, 0xAE602A02, 0xAE604502, 0x00000004, 0x40325220, 0xAE602A02,\n\t0xAE604502, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602A02, 0xAE604502,\n\t0xAF007F02, 0x00000003, 0x40325220, 0xAE602A02, 0xAF007F02, 0x00000003,\n\t0x00325288, 0xAE602A02, 0xAF007F02, 0x00000002, 0x40325220, 0xAE603202,\n\t0x00000002, 0x00325288, 0xAE603202, 0x00000003, 0x40325220, 0xAE603202,\n\t0xAF007F02, 0x00000002, 0x40325220, 0xAE603502, 0x00000002, 0x00325288,\n\t0xAE603502, 0x00000003, 0x40325220, 0xAE603502,\n\t// Block 72, offset 0x1200\n\t0xAF007F02, 0x00000002, 0x40325220, 0xAE603702, 0x00000002, 0x00325288,\n\t0xAE603702, 0x00000002, 0x40325220, 0xAE604502, 0x00000003, 0x40325220,\n\t0xAE604502, 0xAF007F02, 0x00000002, 0x40325220, 0xAE605B02, 0x00000002,\n\t0x00325288, 0xAE605B02, 0x00000002, 0x40325220, 0xAF007F02, 0x00000002,\n\t0x00325288, 0xAF007F02, 0x00000002, 0x40325C20, 0xAE602202, 0x00000002,\n\t0x00325C88, 0xAE602202, 0x00000003, 0x40325C20, 0xAE602202, 0xAE603202,\n\t0x00000003, 0x00325C88, 0xAE602202, 0xAE603202, 0x00000003, 0x40325C20,\n\t0xAE602202, 0xAE603502, 0x00000003, 0x00325C88, 0xAE602202, 0xAE603502,\n\t0x00000002, 0x40325C20, 0xAE602A02, 0x00000002, 0x00325C88, 0xAE602A02,\n\t0x00000003, 0x40325C20, 0xAE602A02, 0xAE603202, 0x00000003, 0x00325C88,\n\t0xAE602A02, 0xAE603202, 0x00000003, 0x40325C20,\n\t// Block 73, offset 0x1240\n\t0xAE602A02, 0xAE603502, 0x00000003, 0x00325C88, 0xAE602A02, 0xAE603502,\n\t0x00000002, 0x40325C20, 0xAE603202, 0x00000002, 0x00325C88, 0xAE603202,\n\t0x00000002, 0x40325C20, 0xAE603502, 0x00000002, 0x00325C88, 0xAE603502,\n\t0x00000002, 0x40326820, 0xAE602202, 0x00000002, 0x00326888, 0xAE602202,\n\t0x00000003, 0x40326820, 0xAE602202, 0xAE603202, 0x00000003, 0x00326888,\n\t0xAE602202, 0xAE603202, 0x00000004, 0x40326820, 0xAE602202, 0xAE603202,\n\t0xAF007F02, 0x00000004, 0x00326888, 0xAE602202, 0xAE603202, 0xAF007F02,\n\t0x00000003, 0x40326820, 0xAE602202, 0xAE603502, 0x00000003, 0x00326888,\n\t0xAE602202, 0xAE603502, 0x00000004, 0x40326820, 0xAE602202, 0xAE603502,\n\t0xAF007F02, 0x00000004, 0x00326888, 0xAE602202, 0xAE603502, 0xAF007F02,\n\t0x00000003, 0x40326820, 0xAE602202, 0xAE604502,\n\t// Block 74, offset 0x1280\n\t0x00000003, 0x00326888, 0xAE602202, 0xAE604502, 0x00000004, 0x40326820,\n\t0xAE602202, 0xAE604502, 0xAF007F02, 0x00000004, 0x00326888, 0xAE602202,\n\t0xAE604502, 0xAF007F02, 0x00000003, 0x40326820, 0xAE602202, 0xAF007F02,\n\t0x00000003, 0x00326888, 0xAE602202, 0xAF007F02, 0x00000002, 0x40326820,\n\t0xAE602A02, 0x00000002, 0x00326888, 0xAE602A02, 0x00000003, 0x40326820,\n\t0xAE602A02, 0xAE603202, 0x00000003, 0x00326888, 0xAE602A02, 0xAE603202,\n\t0x00000004, 0x40326820, 0xAE602A02, 0xAE603202, 0xAF007F02, 0x00000004,\n\t0x00326888, 0xAE602A02, 0xAE603202, 0xAF007F02, 0x00000003, 0x40326820,\n\t0xAE602A02, 0xAE603502, 0x00000003, 0x00326888, 0xAE602A02, 0xAE603502,\n\t0x00000004, 0x40326820, 0xAE602A02, 0xAE603502, 0xAF007F02, 0x00000004,\n\t0x00326888, 0xAE602A02, 0xAE603502, 0xAF007F02,\n\t// Block 75, offset 0x12c0\n\t0x00000003, 0x40326820, 0xAE602A02, 0xAE604502, 0x00000003, 0x00326888,\n\t0xAE602A02, 0xAE604502, 0x00000004, 0x40326820, 0xAE602A02, 0xAE604502,\n\t0xAF007F02, 0x00000004, 0x00326888, 0xAE602A02, 0xAE604502, 0xAF007F02,\n\t0x00000003, 0x40326820, 0xAE602A02, 0xAF007F02, 0x00000003, 0x00326888,\n\t0xAE602A02, 0xAF007F02, 0x00000002, 0x40326820, 0xAE603202, 0x00000002,\n\t0x00326888, 0xAE603202, 0x00000003, 0x40326820, 0xAE603202, 0xAF007F02,\n\t0x00000002, 0x40326820, 0xAE603502, 0x00000002, 0x00326888, 0xAE603502,\n\t0x00000003, 0x40326820, 0xAE603502, 0xAF007F02, 0x00000002, 0x40326820,\n\t0xAE604502, 0x00000003, 0x40326820, 0xAE604502, 0xAF007F02, 0x00000002,\n\t0x40326820, 0xAF007F02, 0x00000002, 0x00326888, 0xAF007F02, 0x00000002,\n\t0x40326C20, 0xAE602202, 0x00000002, 0x00326C88,\n\t// Block 76, offset 0x1300\n\t0xAE602202, 0x00000003, 0x40326C20, 0xAE602202, 0xAE603202, 0x00000003,\n\t0x00326C88, 0xAE602202, 0xAE603202, 0x00000003, 0x40326C20, 0xAE602202,\n\t0xAE603502, 0x00000003, 0x00326C88, 0xAE602202, 0xAE603502, 0x00000003,\n\t0x40326C20, 0xAE602202, 0xAE604502, 0x00000003, 0x00326C88, 0xAE602202,\n\t0xAE604502, 0x00000002, 0x40326C20, 0xAE602A02, 0x00000002, 0x00326C88,\n\t0xAE602A02, 0x00000003, 0x40326C20, 0xAE602A02, 0xAE603202, 0x00000003,\n\t0x00326C88, 0xAE602A02, 0xAE603202, 0x00000003, 0x40326C20, 0xAE602A02,\n\t0xAE603502, 0x00000003, 0x00326C88, 0xAE602A02, 0xAE603502, 0x00000003,\n\t0x40326C20, 0xAE602A02, 0xAE604502, 0x00000003, 0x00326C88, 0xAE602A02,\n\t0xAE604502, 0x00000002, 0x40326C20, 0xAE603202, 0x00000002, 0x00326C88,\n\t0xAE603202, 0x00000002, 0x40326C20, 0xAE603502,\n\t// Block 77, offset 0x1340\n\t0x00000002, 0x00326C88, 0xAE603502, 0x00000002, 0x40326C20, 0xAE603702,\n\t0x00000002, 0x00326C88, 0xAE603702, 0x00000002, 0x40326C20, 0xAE604502,\n\t0x00000002, 0x40326C20, 0xAE604702, 0x00000002, 0x00326C88, 0xAE604702,\n\t0x00000003, 0x40326C20, 0xAE604702, 0xAE603202, 0x00000003, 0x40326C20,\n\t0xAE604702, 0xAE603502, 0x00000003, 0x40326C20, 0xAE604702, 0xAE604502,\n\t0x00000002, 0x40326C20, 0xAE605B02, 0x00000002, 0x00326C88, 0xAE605B02,\n\t0x00000003, 0x00327084, 0x00325284, 0x00326C84, 0x00000003, 0x0032708A,\n\t0x00325284, 0x00326C84, 0x00000002, 0x40327C20, 0xAE602202, 0x00000002,\n\t0x00327C88, 0xAE602202, 0x00000003, 0x40327C20, 0xAE602202, 0xAE603202,\n\t0x00000003, 0x00327C88, 0xAE602202, 0xAE603202, 0x00000003, 0x40327C20,\n\t0xAE602202, 0xAE603502, 0x00000003, 0x00327C88,\n\t// Block 78, offset 0x1380\n\t0xAE602202, 0xAE603502, 0x00000002, 0x40327C20, 0xAE602A02, 0x00000002,\n\t0x00327C88, 0xAE602A02, 0x00000003, 0x40327C20, 0xAE602A02, 0xAE603202,\n\t0x00000003, 0x00327C88, 0xAE602A02, 0xAE603202, 0x00000003, 0x40327C20,\n\t0xAE602A02, 0xAE603502, 0x00000003, 0x00327C88, 0xAE602A02, 0xAE603502,\n\t0x00000002, 0x40327C20, 0xAE603202, 0x00000002, 0x00327C88, 0xAE603202,\n\t0x00000002, 0x40327C20, 0xAE603502, 0x00000002, 0x00327C88, 0xAE603502,\n\t0x00000002, 0x40328820, 0xAE602202, 0x00000002, 0x40328820, 0xAE602A02,\n\t0x00000002, 0x00328888, 0xAE602A02, 0x00000002, 0x40329820, 0xAE602202,\n\t0x00000003, 0x40329820, 0xAE602202, 0xAE603202, 0x00000003, 0x40329820,\n\t0xAE602202, 0xAE603502, 0x00000003, 0x40329820, 0xAE602202, 0xAE604502,\n\t0x00000002, 0x40329820, 0xAE602A02, 0x00000002,\n\t// Block 79, offset 0x13c0\n\t0x00329888, 0xAE602A02, 0x00000003, 0x40329820, 0xAE602A02, 0xAE603202,\n\t0x00000003, 0x00329888, 0xAE602A02, 0xAE603202, 0x00000003, 0x40329820,\n\t0xAE602A02, 0xAE603502, 0x00000003, 0x00329888, 0xAE602A02, 0xAE603502,\n\t0x00000003, 0x40329820, 0xAE602A02, 0xAE604502, 0x00000003, 0x00329888,\n\t0xAE602A02, 0xAE604502, 0x00000002, 0x40329820, 0xAE603202, 0x00000002,\n\t0x00329888, 0xAE603202, 0x00000002, 0x40329820, 0xAE603502, 0x00000002,\n\t0x00329888, 0xAE603502, 0x00000002, 0x40329820, 0xAE603702, 0x00000002,\n\t0x00329888, 0xAE603702, 0x00000002, 0x40329820, 0xAE604502, 0x00000002,\n\t0x40329820, 0xAE604702, 0x00000002, 0x00329888, 0xAE604702, 0x00000003,\n\t0x40329820, 0xAE604702, 0xAE603202, 0x00000003, 0x40329820, 0xAE604702,\n\t0xAE603502, 0x00000003, 0x40329820, 0xAE604702,\n\t// Block 80, offset 0x1400\n\t0xAE604502, 0x00000002, 0x40329820, 0xAE605B02, 0x00000002, 0x00329888,\n\t0xAE605B02, 0x00000002, 0x4032A220, 0xAE602202, 0x00000002, 0x0032A288,\n\t0xAE602202, 0x00000003, 0x4032A220, 0xAE602202, 0xAE603202, 0x00000003,\n\t0x0032A288, 0xAE602202, 0xAE603202, 0x00000004, 0x4032A220, 0xAE602202,\n\t0xAE603202, 0xAF007F02, 0x00000004, 0x0032A288, 0xAE602202, 0xAE603202,\n\t0xAF007F02, 0x00000003, 0x4032A220, 0xAE602202, 0xAE603502, 0x00000003,\n\t0x0032A288, 0xAE602202, 0xAE603502, 0x00000004, 0x4032A220, 0xAE602202,\n\t0xAE603502, 0xAF007F02, 0x00000004, 0x0032A288, 0xAE602202, 0xAE603502,\n\t0xAF007F02, 0x00000003, 0x4032A220, 0xAE602202, 0xAE604502, 0x00000003,\n\t0x0032A288, 0xAE602202, 0xAE604502, 0x00000004, 0x4032A220, 0xAE602202,\n\t0xAE604502, 0xAF007F02, 0x00000004, 0x0032A288,\n\t// Block 81, offset 0x1440\n\t0xAE602202, 0xAE604502, 0xAF007F02, 0x00000003, 0x4032A220, 0xAE602202,\n\t0xAF007F02, 0x00000003, 0x0032A288, 0xAE602202, 0xAF007F02, 0x00000002,\n\t0x4032A220, 0xAE602A02, 0x00000002, 0x0032A288, 0xAE602A02, 0x00000003,\n\t0x4032A220, 0xAE602A02, 0xAE603202, 0x00000003, 0x0032A288, 0xAE602A02,\n\t0xAE603202, 0x00000004, 0x4032A220, 0xAE602A02, 0xAE603202, 0xAF007F02,\n\t0x00000004, 0x0032A288, 0xAE602A02, 0xAE603202, 0xAF007F02, 0x00000003,\n\t0x4032A220, 0xAE602A02, 0xAE603502, 0x00000003, 0x0032A288, 0xAE602A02,\n\t0xAE603502, 0x00000004, 0x4032A220, 0xAE602A02, 0xAE603502, 0xAF007F02,\n\t0x00000004, 0x0032A288, 0xAE602A02, 0xAE603502, 0xAF007F02, 0x00000003,\n\t0x4032A220, 0xAE602A02, 0xAE604502, 0x00000003, 0x0032A288, 0xAE602A02,\n\t0xAE604502, 0x00000004, 0x4032A220, 0xAE602A02,\n\t// Block 82, offset 0x1480\n\t0xAE604502, 0xAF007F02, 0x00000004, 0x0032A288, 0xAE602A02, 0xAE604502,\n\t0xAF007F02, 0x00000003, 0x4032A220, 0xAE602A02, 0xAF007F02, 0x00000003,\n\t0x0032A288, 0xAE602A02, 0xAF007F02, 0x00000002, 0x4032A220, 0xAE603202,\n\t0x00000002, 0x0032A288, 0xAE603202, 0x00000003, 0x4032A220, 0xAE603202,\n\t0xAF007F02, 0x00000002, 0x4032A220, 0xAE603502, 0x00000002, 0x0032A288,\n\t0xAE603502, 0x00000003, 0x4032A220, 0xAE603502, 0xAF007F02, 0x00000002,\n\t0x4032A220, 0xAE604502, 0x00000003, 0x4032A220, 0xAE604502, 0xAF007F02,\n\t0x00000002, 0x4032A220, 0xAF007F02, 0x00000002, 0x0032A288, 0xAF007F02,\n\t0x00000003, 0x0032C084, 0x0032AA84, 0x0032BE84, 0x00000002, 0x00336284,\n\t0xA0013A04, 0x00000002, 0x0033628A, 0xA0013A04, 0x00000002, 0x4033B220,\n\t0xAE603502, 0x00000002, 0x0033B288, 0xAE603502,\n\t// Block 83, offset 0x14c0\n\t0x00000002, 0x4033B220, 0xAE604702, 0x00000002, 0x0033B288, 0xAE604702,\n\t0x00000002, 0x4033CA20, 0xAE603702, 0x00000002, 0x0033CA88, 0xAE603702,\n\t0x00000002, 0x40341420, 0xAE603502, 0x00000002, 0x00341488, 0xAE603502,\n\t0x00000002, 0x40341420, 0xAE605B02, 0x00000002, 0x00341488, 0xAE605B02,\n\t0x00000002, 0x84E61A9D, 0x84E61AA6, 0x00000002, 0x40357220, 0xAE605B02,\n\t0x00000002, 0x00357288, 0xAE605B02, 0x00000002, 0x40389020, 0xA1108C02,\n\t0x00000002, 0x40389020, 0xA1208D02, 0x00000002, 0x40389020, 0xA1509202,\n\t0x00000002, 0x40389220, 0xA1509202, 0x00000002, 0x40389220, 0xA1709502,\n\t0x00000002, 0x40389420, 0xA1509202, 0x00000002, 0x40389620, 0xA1509202,\n\t0x00000002, 0x40389820, 0xA1509202, 0x00000002, 0x40389A20, 0xA1308E02,\n\t0x00000002, 0x40389A20, 0xA1509202, 0x00000002,\n\t// Block 84, offset 0x1500\n\t0x00389A84, 0x00389A84, 0x00000002, 0x00389A84, 0x0038A284, 0x00000002,\n\t0x40389C20, 0xA1509202, 0x00000002, 0x4038A020, 0xA1509202, 0x00000002,\n\t0x4038A220, 0xA0E08902, 0x00000002, 0x4038A220, 0xA1509202, 0x00000002,\n\t0x0038A284, 0x0038A284, 0x00000003, 0x0038A284, 0x0038A284, 0xA1108C02,\n\t0x00000002, 0x4038A420, 0xA1509202, 0x00000002, 0x0038A499, 0xA1509202,\n\t0x00000002, 0x4038A420, 0xA1709502, 0x00000002, 0x4038A620, 0xA1509202,\n\t0x00000002, 0x4038A820, 0xA1509202, 0x00000002, 0x4038AA20, 0xA1509202,\n\t0x00000002, 0x4038AC20, 0xA1509202, 0x00000002, 0x4038B020, 0xA1509202,\n\t0x00000002, 0x0038B099, 0xA1509202, 0x00000002, 0x4038B020, 0xA1709502,\n\t0x00000002, 0x4038B220, 0xA1509202, 0x00000002, 0x4038B420, 0xA1509202,\n\t0x00000002, 0x4038B620, 0xA1509202, 0x00000002,\n\t// Block 85, offset 0x1540\n\t0x4038B820, 0xA1909002, 0x00000002, 0x4038B820, 0xA1809102, 0x00000002,\n\t0x4038B820, 0xA1509202, 0x00000003, 0x4038B820, 0xA1509202, 0xA1909002,\n\t0x00000003, 0x4038B820, 0xA1509202, 0xA1809102, 0x00000002, 0x4038BA20,\n\t0xA1509202, 0x00000002, 0x00391C84, 0xA0013A04, 0x00000002, 0x00393099,\n\t0x00393899, 0x00000002, 0x0039309A, 0x0039389A, 0x00000002, 0x00393097,\n\t0x00396497, 0x00000002, 0x0039309A, 0x0039649A, 0x00000002, 0x00393097,\n\t0x00397297, 0x00000002, 0x0039309A, 0x0039729A, 0x00000002, 0x00393097,\n\t0x00397497, 0x00000002, 0x00393099, 0x0039A499, 0x00000002, 0x00393099,\n\t0x0039A699, 0x00000002, 0x00393097, 0x003A4E97, 0x00000002, 0x00393098,\n\t0x003A4E98, 0x00000002, 0x00393099, 0x003A4E99, 0x00000002, 0x0039309A,\n\t0x003A4E9A, 0x00000002, 0x00393099, 0x003A5699,\n\t// Block 86, offset 0x1580\n\t0x00000002, 0x00393097, 0x003A6897, 0x00000002, 0x00393098, 0x003A6898,\n\t0x00000002, 0x00393099, 0x003A7299, 0x00000002, 0x0039309A, 0x003A729A,\n\t0x00000002, 0x00393099, 0x003A7499, 0x00000002, 0x0039309A, 0x003A749A,\n\t0x00000002, 0x00393099, 0x003A7A99, 0x00000002, 0x0039309A, 0x003A7A9A,\n\t0x00000002, 0x00393099, 0x003A7C99, 0x00000002, 0x0039309A, 0x003A7C9A,\n\t0x00000002, 0x00393099, 0x003A7E99, 0x00000002, 0x0039309A, 0x003A7E9A,\n\t0x00000002, 0x00393097, 0x003A8E97, 0x00000002, 0x00393099, 0x003A8E99,\n\t0x00000002, 0x00393099, 0x003A8E99, 0x00000002, 0x0039309A, 0x003A8E9A,\n\t0x00000002, 0x0039309A, 0x003A8E9A, 0x00000002, 0x00393099, 0x003A9099,\n\t0x00000002, 0x0039309A, 0x003A909A, 0x00000002, 0x00393097, 0x003A9897,\n\t0x00000002, 0x00393099, 0x003A9899, 0x00000002,\n\t// Block 87, offset 0x15c0\n\t0x0039309A, 0x003A989A, 0x00000004, 0x0039389A, 0x003A1A9A, 0x00393C9A,\n\t0x0039A49A, 0x00000004, 0x0039389A, 0x003A409A, 0x003A409A, 0x003A689A,\n\t0x00000003, 0x00393C99, 0x00397299, 0x003A9099, 0x00000003, 0x00393C99,\n\t0x00397499, 0x003A9099, 0x00000003, 0x00395697, 0x00396497, 0x003A4E97,\n\t0x00000003, 0x00395699, 0x00396499, 0x003A8E99, 0x00000003, 0x00395699,\n\t0x00396499, 0x003A9099, 0x00000003, 0x00395697, 0x00397297, 0x00396497,\n\t0x00000003, 0x00395699, 0x00397299, 0x00396499, 0x00000003, 0x00395697,\n\t0x00397297, 0x003A4E97, 0x00000003, 0x00395697, 0x00397497, 0x003A4E97,\n\t0x00000003, 0x00395699, 0x00397499, 0x003A8E99, 0x00000003, 0x00395699,\n\t0x00397499, 0x003A9099, 0x00000003, 0x00395697, 0x003A4E97, 0x00396497,\n\t0x00000003, 0x00395697, 0x003A4E97, 0x00397297,\n\t// Block 88, offset 0x1600\n\t0x00000003, 0x00395697, 0x003A4E97, 0x00397497, 0x00000003, 0x00395699,\n\t0x003A4E99, 0x003A8E99, 0x00000003, 0x00395699, 0x003A4E99, 0x003A9099,\n\t0x00000003, 0x00396499, 0x00397299, 0x003A8E99, 0x00000003, 0x00396499,\n\t0x00397299, 0x003A9099, 0x00000008, 0x0039649A, 0x003A409A, 0x0002129A,\n\t0x0039649A, 0x003A409A, 0x0039389A, 0x003A409A, 0x003A689A, 0x00000003,\n\t0x00396497, 0x003A4E97, 0x00397297, 0x00000003, 0x00396499, 0x003A4E99,\n\t0x00397299, 0x00000003, 0x00396499, 0x003A4E99, 0x003A8E99, 0x00000003,\n\t0x00396499, 0x003A4E99, 0x003A9099, 0x00000003, 0x00397299, 0x00396499,\n\t0x003A9099, 0x00000003, 0x00397299, 0x003A4E99, 0x003A8E99, 0x00000003,\n\t0x00397299, 0x003A4E99, 0x003A9099, 0x00000004, 0x0039A49A, 0x0039C69A,\n\t0x003A749A, 0x003A409A, 0x00000003, 0x0039C697,\n\t// Block 89, offset 0x1640\n\t0x00396497, 0x00397297, 0x00000003, 0x0039C699, 0x00396499, 0x003A8E99,\n\t0x00000003, 0x0039C697, 0x00397297, 0x00396497, 0x00000003, 0x0039C699,\n\t0x00397499, 0x003A8E99, 0x00000003, 0x0039C699, 0x00397499, 0x003A9099,\n\t0x00000003, 0x0039C697, 0x003A4E97, 0x00396497, 0x00000003, 0x0039C697,\n\t0x003A4E97, 0x00397297, 0x00000003, 0x0039C699, 0x003A4E99, 0x00397299,\n\t0x00000003, 0x0039C697, 0x003A4E97, 0x003A4E97, 0x00000003, 0x0039C699,\n\t0x003A4E99, 0x003A4E99, 0x00000003, 0x0039C899, 0x00396499, 0x003A9099,\n\t0x00000003, 0x0039C897, 0x00397297, 0x003A4E97, 0x00000003, 0x0039C899,\n\t0x00397299, 0x003A4E99, 0x00000003, 0x0039C899, 0x00397299, 0x003A9099,\n\t0x00000003, 0x0039C897, 0x003A4E97, 0x00397497, 0x00000003, 0x0039C899,\n\t0x003A4E99, 0x00397499, 0x00000003, 0x0039C897,\n\t// Block 90, offset 0x1680\n\t0x003A4E97, 0x003A4E97, 0x00000003, 0x0039C899, 0x003A4E99, 0x003A4E99,\n\t0x00000003, 0x0039DC97, 0x00397297, 0x00397297, 0x00000003, 0x0039DC99,\n\t0x00397299, 0x00397299, 0x00000003, 0x0039DC99, 0x00397299, 0x003A9099,\n\t0x00000004, 0x0039DC9A, 0x003A409A, 0x0039EE9A, 0x003A4E9A, 0x00000003,\n\t0x0039DC9A, 0x003A409A, 0x003A8E9A, 0x00000012, 0x0039DC9A, 0x003A409A,\n\t0x003A8E9A, 0x0002129A, 0x0039389A, 0x003A409A, 0x003A409A, 0x003A689A,\n\t0x0002129A, 0x0039EE9A, 0x003A409A, 0x003A909A, 0x003A689A, 0x0002129A,\n\t0x003A749A, 0x0039C69A, 0x003A409A, 0x003A4E9A, 0x00000003, 0x0039DC9A,\n\t0x003A409A, 0x003AAA9A, 0x00000003, 0x0039DC97, 0x003A4E97, 0x003A4E97,\n\t0x00000003, 0x0039DC99, 0x003A4E99, 0x003A4E99, 0x00000003, 0x0039DE99,\n\t0x00397299, 0x003A8E99, 0x00000003, 0x0039DE99,\n\t// Block 91, offset 0x16c0\n\t0x00397299, 0x003A9099, 0x00000003, 0x0039DE97, 0x00397497, 0x003A4E97,\n\t0x00000003, 0x0039DE99, 0x00397499, 0x003A4E99, 0x00000003, 0x0039E697,\n\t0x003A4E97, 0x00397297, 0x00000003, 0x0039E699, 0x003A4E99, 0x00397299,\n\t0x00000003, 0x0039E697, 0x003A4E97, 0x003A4E97, 0x00000003, 0x0039E699,\n\t0x003A4E99, 0x003A9099, 0x00000003, 0x0039EE97, 0x00396497, 0x003A4E97,\n\t0x00000003, 0x0039EE99, 0x00396499, 0x003A4E99, 0x00000004, 0x0039EE9A,\n\t0x003A409A, 0x003A909A, 0x003A689A, 0x00000003, 0x0039EE97, 0x003A4E97,\n\t0x003A4E97, 0x00000003, 0x0039EE99, 0x003A4E99, 0x003A4E99, 0x00000003,\n\t0x0039EE99, 0x003A4E99, 0x003A8E99, 0x00000003, 0x0039EE99, 0x003A4E99,\n\t0x003A9099, 0x00000003, 0x0039F099, 0x003A4E99, 0x003A4E99, 0x00000003,\n\t0x0039F099, 0x003A4E99, 0x003A8E99, 0x00000003,\n\t// Block 92, offset 0x1700\n\t0x0039F099, 0x003A4E99, 0x003A9099, 0x00000003, 0x0039FC97, 0x00397497,\n\t0x003A4E97, 0x00000003, 0x0039FC99, 0x00397499, 0x003A4E99, 0x00000003,\n\t0x0039FC99, 0x003A4E99, 0x003A9099, 0x00000003, 0x003A129A, 0x003A409A,\n\t0x003AAA9A, 0x00000003, 0x003A1297, 0x003A4E97, 0x00397297, 0x00000003,\n\t0x003A1299, 0x003A4E99, 0x00397299, 0x00000003, 0x003A1299, 0x003A4E99,\n\t0x003A4E99, 0x00000003, 0x003A1299, 0x003A4E99, 0x003A9099, 0x00000003,\n\t0x003A1A97, 0x003A4E97, 0x003A4E97, 0x00000003, 0x003A1A99, 0x003A4E99,\n\t0x003A4E99, 0x00000003, 0x003A1A99, 0x003A4E99, 0x003A9099, 0x00000002,\n\t0x003A4099, 0x00391E99, 0x00000002, 0x003A409A, 0x00391E9A, 0x00000002,\n\t0x003A4099, 0x00392099, 0x00000002, 0x003A409A, 0x0039209A, 0x00000002,\n\t0x003A4099, 0x00392899, 0x00000002, 0x003A409A,\n\t// Block 93, offset 0x1740\n\t0x0039289A, 0x00000003, 0x003A4097, 0x00396497, 0x00396497, 0x00000003,\n\t0x003A4099, 0x00396499, 0x00396499, 0x00000003, 0x003A4097, 0x00396497,\n\t0x003A4E97, 0x00000003, 0x003A4099, 0x00396499, 0x003A4E99, 0x00000003,\n\t0x003A4099, 0x00396499, 0x003A9099, 0x00000003, 0x003A4097, 0x00397297,\n\t0x003A4E97, 0x00000003, 0x003A4099, 0x00397299, 0x003A4E99, 0x00000003,\n\t0x003A4099, 0x00397299, 0x003A8E99, 0x00000003, 0x003A4099, 0x00397299,\n\t0x003A9099, 0x00000003, 0x003A4097, 0x00397497, 0x003A4E97, 0x00000003,\n\t0x003A4099, 0x00397499, 0x003A4E99, 0x00000003, 0x003A4097, 0x003A4E97,\n\t0x00397297, 0x00000003, 0x003A4099, 0x003A4E99, 0x00397299, 0x00000003,\n\t0x003A4099, 0x003A4E99, 0x003A9099, 0x00000002, 0x003A4E84, 0xA0013A04,\n\t0x00000003, 0x003A4E97, 0x00396497, 0x00397297,\n\t// Block 94, offset 0x1780\n\t0x00000003, 0x003A4E97, 0x00396497, 0x00397497, 0x00000003, 0x003A4E97,\n\t0x00396497, 0x003A4E97, 0x00000003, 0x003A4E99, 0x00396499, 0x003A9099,\n\t0x00000003, 0x003A4E97, 0x00397297, 0x00396497, 0x00000003, 0x003A4E97,\n\t0x00397297, 0x003A4E97, 0x00000004, 0x003A4E9A, 0x0039729A, 0x003A4E9A,\n\t0x0039889A, 0x00000003, 0x003A4E99, 0x00397299, 0x003A9099, 0x00000003,\n\t0x003A4E97, 0x00397497, 0x00396497, 0x00000003, 0x003A4E97, 0x00397497,\n\t0x003A4E97, 0x00000003, 0x003A4E99, 0x00397499, 0x003A9099, 0x00000003,\n\t0x003A4E99, 0x003A4E99, 0x003A9099, 0x00000003, 0x003A5697, 0x00396497,\n\t0x00397297, 0x00000003, 0x003A5699, 0x00396499, 0x00397299, 0x00000003,\n\t0x003A5697, 0x00396497, 0x003A4E97, 0x00000003, 0x003A5699, 0x00396499,\n\t0x003A4E99, 0x00000003, 0x003A5699, 0x00396499,\n\t// Block 95, offset 0x17c0\n\t0x003A8E99, 0x00000003, 0x003A5699, 0x00396499, 0x003A9099, 0x00000003,\n\t0x003A5697, 0x00397297, 0x003A4E97, 0x00000003, 0x003A5699, 0x00397299,\n\t0x003A8E99, 0x00000003, 0x003A5699, 0x00397299, 0x003A9099, 0x00000003,\n\t0x003A5699, 0x003A4E99, 0x003A8E99, 0x00000003, 0x003A5699, 0x003A4E99,\n\t0x003A9099, 0x00000003, 0x003A6897, 0x003A4E97, 0x00396497, 0x00000003,\n\t0x003A6897, 0x003A4E97, 0x003A4E97, 0x00000002, 0x403A6C20, 0xAE60BE02,\n\t0x00000002, 0x403A7220, 0xAE60BE02, 0x00000004, 0x003A749A, 0x0039C69A,\n\t0x003A409A, 0x003A4E9A, 0x00000003, 0x003A9099, 0x00396499, 0x003A9099,\n\t0x00000003, 0x003A9099, 0x00397299, 0x003A9099, 0x00000003, 0x003A9097,\n\t0x003A4E97, 0x003A4E97, 0x00000003, 0x003A9099, 0x003A4E99, 0x003A4E99,\n\t0x00000003, 0x003A9099, 0x003A4E99, 0x003A9099,\n\t// Block 96, offset 0x1800\n\t0x00000002, 0x403AAA20, 0xAE60BE02, 0x00000002, 0x003AB284, 0xA0013C04,\n\t0x00000002, 0x003AB484, 0xA0013A04, 0x00000002, 0x003AB484, 0xA0013C04,\n\t0x00000002, 0x003AB884, 0xA0013C04, 0x00000002, 0x003AC484, 0xA0013A04,\n\t0x00000002, 0x003AD884, 0xA0013A04, 0x00000002, 0x003B9484, 0xA0013904,\n\t0x00000002, 0x003B9684, 0xA0013904, 0x00000002, 0x003B9A84, 0xA0013904,\n\t0x00000002, 0x403FEC20, 0xA070F102, 0x00000002, 0x403FEE20, 0xA070F102,\n\t0x00000002, 0x403FF020, 0xA070F102, 0x00000002, 0x403FFC20, 0xA070F102,\n\t0x00000002, 0x40400A20, 0xA070F102, 0x00000002, 0x40400E20, 0xA070F102,\n\t0x00000002, 0x40401A20, 0xA070F102, 0x00000002, 0x40401E20, 0xA070F102,\n\t0x00000002, 0x40402820, 0xA070F102, 0x00000002, 0x40402C20, 0xA070F102,\n\t0x00000002, 0x40403020, 0xA070F102, 0x00000002,\n\t// Block 97, offset 0x1840\n\t0x4040B020, 0xA070F102, 0x00000002, 0x4040B220, 0xA070F102, 0x00000002,\n\t0x0040B684, 0x0040F884, 0x00000002, 0x4040CA20, 0xA070F102, 0x00000002,\n\t0x40411620, 0xA070F102, 0x00000002, 0x40411E20, 0xA070F102, 0x00000002,\n\t0x40412020, 0xA070F102, 0x00000002, 0x40412A20, 0xA070F102, 0x00000002,\n\t0x40414620, 0xA070F102, 0x00000002, 0x40415420, 0xA070F102, 0x00000002,\n\t0x40422A20, 0xA070F102, 0x00000002, 0x40422C20, 0xA070F102, 0x00000002,\n\t0x00442284, 0x00449084, 0x00000002, 0x00443E84, 0x00449084, 0x00000002,\n\t0x00444884, 0x00449084, 0x00000002, 0x00445884, 0x00449084, 0x00000002,\n\t0x00445884, 0x00449084, 0x00000002, 0x00445A84, 0x00449084, 0x00000002,\n\t0x00446684, 0x00449084, 0x00000002, 0x4046AA20, 0xA070F102, 0x00000002,\n\t0x4046AC20, 0xA070F102, 0x00000002, 0x4046BE20,\n\t// Block 98, offset 0x1880\n\t0xA070F102, 0x00000002, 0x40491020, 0x40498420, 0x00000002, 0x40491020,\n\t0x40498620, 0x00000002, 0x40491020, 0x40498820, 0x00000002, 0x40491020,\n\t0x40498A20, 0x00000002, 0x40491020, 0x40498C20, 0x00000002, 0x40491220,\n\t0x40498420, 0x00000002, 0x40491220, 0x40498620, 0x00000002, 0x40491220,\n\t0x40498820, 0x00000002, 0x40491220, 0x40498A20, 0x00000002, 0x40491220,\n\t0x40498C20, 0x00000002, 0x40491420, 0x40498420, 0x00000002, 0x40491420,\n\t0x40498620, 0x00000002, 0x40491420, 0x40498820, 0x00000002, 0x40491420,\n\t0x40498A20, 0x00000002, 0x40491420, 0x40498C20, 0x00000002, 0x40491620,\n\t0x40498420, 0x00000002, 0x40491620, 0x40498620, 0x00000002, 0x40491620,\n\t0x40498820, 0x00000002, 0x40491620, 0x40498A20, 0x00000002, 0x40491620,\n\t0x40498C20, 0x00000002, 0x40491820, 0x40498420,\n\t// Block 99, offset 0x18c0\n\t0x00000002, 0x40491820, 0x40498620, 0x00000002, 0x40491820, 0x40498820,\n\t0x00000002, 0x40491820, 0x40498A20, 0x00000002, 0x40491820, 0x40498C20,\n\t0x00000002, 0x40491A20, 0x40498420, 0x00000002, 0x40491A20, 0x40498620,\n\t0x00000002, 0x40491A20, 0x40498820, 0x00000002, 0x40491A20, 0x40498A20,\n\t0x00000002, 0x40491A20, 0x40498C20, 0x00000002, 0x40491C20, 0x40498420,\n\t0x00000002, 0x40491C20, 0x40498620, 0x00000002, 0x40491C20, 0x40498820,\n\t0x00000002, 0x40491C20, 0x40498A20, 0x00000002, 0x40491C20, 0x40498C20,\n\t0x00000002, 0x40491E20, 0x40498420, 0x00000002, 0x40491E20, 0x40498620,\n\t0x00000002, 0x40491E20, 0x40498820, 0x00000002, 0x40491E20, 0x40498A20,\n\t0x00000002, 0x40491E20, 0x40498C20, 0x00000002, 0x40492020, 0x40498420,\n\t0x00000002, 0x40492020, 0x40498620, 0x00000002,\n\t// Block 100, offset 0x1900\n\t0x40492020, 0x40498820, 0x00000002, 0x40492020, 0x40498A20, 0x00000002,\n\t0x40492020, 0x40498C20, 0x00000002, 0x40492220, 0x40498420, 0x00000002,\n\t0x40492220, 0x40498620, 0x00000002, 0x40492220, 0x40498820, 0x00000002,\n\t0x40492220, 0x40498A20, 0x00000002, 0x40492220, 0x40498C20, 0x00000002,\n\t0x40492420, 0x40498420, 0x00000002, 0x40492420, 0x40498620, 0x00000002,\n\t0x40492420, 0x40498820, 0x00000002, 0x40492420, 0x40498A20, 0x00000002,\n\t0x40492420, 0x40498C20, 0x00000002, 0x40492620, 0x40498420, 0x00000002,\n\t0x40492620, 0x40498620, 0x00000002, 0x40492620, 0x40498820, 0x00000002,\n\t0x40492620, 0x40498A20, 0x00000002, 0x40492620, 0x40498C20, 0x00000002,\n\t0x40492820, 0x40498420, 0x00000002, 0x40492820, 0x40498620, 0x00000002,\n\t0x40492820, 0x40498820, 0x00000002, 0x40492820,\n\t// Block 101, offset 0x1940\n\t0x40498A20, 0x00000002, 0x40492820, 0x40498C20, 0x00000002, 0x40492A20,\n\t0x40498420, 0x00000002, 0x40492A20, 0x40498620, 0x00000002, 0x40492A20,\n\t0x40498820, 0x00000002, 0x40492A20, 0x40498A20, 0x00000002, 0x40492A20,\n\t0x40498C20, 0x00000002, 0x40492C20, 0x40498420, 0x00000002, 0x40492C20,\n\t0x40498620, 0x00000002, 0x40492C20, 0x40498820, 0x00000002, 0x40492C20,\n\t0x40498A20, 0x00000002, 0x40492C20, 0x40498C20, 0x00000002, 0x40492E20,\n\t0x40498420, 0x00000002, 0x40492E20, 0x40498620, 0x00000002, 0x40492E20,\n\t0x40498820, 0x00000002, 0x40492E20, 0x40498A20, 0x00000002, 0x40492E20,\n\t0x40498C20, 0x00000002, 0x40493020, 0x40498420, 0x00000002, 0x40493020,\n\t0x40498620, 0x00000002, 0x40493020, 0x40498820, 0x00000002, 0x40493020,\n\t0x40498A20, 0x00000002, 0x40493020, 0x40498C20,\n\t// Block 102, offset 0x1980\n\t0x00000002, 0x40493220, 0x40498420, 0x00000002, 0x40493220, 0x40498620,\n\t0x00000002, 0x40493220, 0x40498820, 0x00000002, 0x40493220, 0x40498A20,\n\t0x00000002, 0x40493220, 0x40498C20, 0x00000002, 0x40493420, 0x40498420,\n\t0x00000002, 0x40493420, 0x40498620, 0x00000002, 0x40493420, 0x40498820,\n\t0x00000002, 0x40493420, 0x40498A20, 0x00000002, 0x40493420, 0x40498C20,\n\t0x00000002, 0x40493620, 0x40498420, 0x00000002, 0x40493620, 0x40498620,\n\t0x00000002, 0x40493620, 0x40498820, 0x00000002, 0x40493620, 0x40498A20,\n\t0x00000002, 0x40493620, 0x40498C20, 0x00000002, 0x40493820, 0x40498420,\n\t0x00000002, 0x40493820, 0x40498620, 0x00000002, 0x40493820, 0x40498820,\n\t0x00000002, 0x40493820, 0x40498A20, 0x00000002, 0x40493820, 0x40498C20,\n\t0x00000002, 0x40493A20, 0x40498420, 0x00000002,\n\t// Block 103, offset 0x19c0\n\t0x40493A20, 0x40498620, 0x00000002, 0x40493A20, 0x40498820, 0x00000002,\n\t0x40493A20, 0x40498A20, 0x00000002, 0x40493A20, 0x40498C20, 0x00000002,\n\t0x40493C20, 0x40498420, 0x00000002, 0x40493C20, 0x40498620, 0x00000002,\n\t0x40493C20, 0x40498820, 0x00000002, 0x40493C20, 0x40498A20, 0x00000002,\n\t0x40493C20, 0x40498C20, 0x00000002, 0x40493E20, 0x40498420, 0x00000002,\n\t0x40493E20, 0x40498620, 0x00000002, 0x40493E20, 0x40498820, 0x00000002,\n\t0x40493E20, 0x40498A20, 0x00000002, 0x40493E20, 0x40498C20, 0x00000002,\n\t0x40494020, 0x40498420, 0x00000002, 0x40494020, 0x40498620, 0x00000002,\n\t0x40494020, 0x40498820, 0x00000002, 0x40494020, 0x40498A20, 0x00000002,\n\t0x40494020, 0x40498C20, 0x00000002, 0x40494220, 0x40498420, 0x00000002,\n\t0x40494220, 0x40498620, 0x00000002, 0x40494220,\n\t// Block 104, offset 0x1a00\n\t0x40498820, 0x00000002, 0x40494220, 0x40498A20, 0x00000002, 0x40494220,\n\t0x40498C20, 0x00000002, 0x40494420, 0x40498420, 0x00000002, 0x40494420,\n\t0x40498620, 0x00000002, 0x40494420, 0x40498820, 0x00000002, 0x40494420,\n\t0x40498A20, 0x00000002, 0x40494420, 0x40498C20, 0x00000002, 0x40494620,\n\t0x40498420, 0x00000002, 0x40494620, 0x40498620, 0x00000002, 0x40494620,\n\t0x40498820, 0x00000002, 0x40494620, 0x40498A20, 0x00000002, 0x40494620,\n\t0x40498C20, 0x00000002, 0x40494820, 0x40498420, 0x00000002, 0x40494820,\n\t0x40498620, 0x00000002, 0x40494820, 0x40498820, 0x00000002, 0x40494820,\n\t0x40498A20, 0x00000002, 0x40494820, 0x40498C20, 0x00000002, 0x40494A20,\n\t0x40498420, 0x00000002, 0x40494A20, 0x40498620, 0x00000002, 0x40494A20,\n\t0x40498820, 0x00000002, 0x40494A20, 0x40498A20,\n\t// Block 105, offset 0x1a40\n\t0x00000002, 0x40494A20, 0x40498C20, 0x00000002, 0x40494C20, 0x40498420,\n\t0x00000002, 0x40494C20, 0x40498620, 0x00000002, 0x40494C20, 0x40498820,\n\t0x00000002, 0x40494C20, 0x40498A20, 0x00000002, 0x40494C20, 0x40498C20,\n\t0x00000002, 0x40494E20, 0x40498420, 0x00000002, 0x40494E20, 0x40498620,\n\t0x00000002, 0x40494E20, 0x40498820, 0x00000002, 0x40494E20, 0x40498A20,\n\t0x00000002, 0x40494E20, 0x40498C20, 0x00000002, 0x40495020, 0x40498420,\n\t0x00000002, 0x40495020, 0x40498620, 0x00000002, 0x40495020, 0x40498820,\n\t0x00000002, 0x40495020, 0x40498A20, 0x00000002, 0x40495020, 0x40498C20,\n\t0x00000002, 0x40495220, 0x40498420, 0x00000002, 0x40495220, 0x40498620,\n\t0x00000002, 0x40495220, 0x40498820, 0x00000002, 0x40495220, 0x40498A20,\n\t0x00000002, 0x40495220, 0x40498C20, 0x00000002,\n\t// Block 106, offset 0x1a80\n\t0x40495420, 0x40498420, 0x00000002, 0x40495420, 0x40498620, 0x00000002,\n\t0x40495420, 0x40498820, 0x00000002, 0x40495420, 0x40498A20, 0x00000002,\n\t0x40495420, 0x40498C20, 0x00000002, 0x40495620, 0x40498420, 0x00000002,\n\t0x40495620, 0x40498620, 0x00000002, 0x40495620, 0x40498820, 0x00000002,\n\t0x40495620, 0x40498A20, 0x00000002, 0x40495620, 0x40498C20, 0x00000002,\n\t0x40495820, 0x40498420, 0x00000002, 0x40495820, 0x40498620, 0x00000002,\n\t0x40495820, 0x40498820, 0x00000002, 0x40495820, 0x40498A20, 0x00000002,\n\t0x40495820, 0x40498C20, 0x00000002, 0x40495A20, 0x40498420, 0x00000002,\n\t0x40495A20, 0x40498620, 0x00000002, 0x40495A20, 0x40498820, 0x00000002,\n\t0x40495A20, 0x40498A20, 0x00000002, 0x40495A20, 0x40498C20, 0x00000002,\n\t0x40495C20, 0x40498420, 0x00000002, 0x40495C20,\n\t// Block 107, offset 0x1ac0\n\t0x40498620, 0x00000002, 0x40495C20, 0x40498820, 0x00000002, 0x40495C20,\n\t0x40498A20, 0x00000002, 0x40495C20, 0x40498C20, 0x00000002, 0x40495E20,\n\t0x40498420, 0x00000002, 0x40495E20, 0x40498620, 0x00000002, 0x40495E20,\n\t0x40498820, 0x00000002, 0x40495E20, 0x40498A20, 0x00000002, 0x40495E20,\n\t0x40498C20, 0x00000002, 0x40496020, 0x40498420, 0x00000002, 0x40496020,\n\t0x40498620, 0x00000002, 0x40496020, 0x40498820, 0x00000002, 0x40496020,\n\t0x40498A20, 0x00000002, 0x40496020, 0x40498C20, 0x00000002, 0x40496220,\n\t0x40498420, 0x00000002, 0x40496220, 0x40498620, 0x00000002, 0x40496220,\n\t0x40498820, 0x00000002, 0x40496220, 0x40498A20, 0x00000002, 0x40496220,\n\t0x40498C20, 0x00000002, 0x40496420, 0x40498420, 0x00000002, 0x40496420,\n\t0x40498620, 0x00000002, 0x40496420, 0x40498820,\n\t// Block 108, offset 0x1b00\n\t0x00000002, 0x40496420, 0x40498A20, 0x00000002, 0x40496420, 0x40498C20,\n\t0x00000002, 0x40496620, 0x40498420, 0x00000002, 0x40496620, 0x40498620,\n\t0x00000002, 0x40496620, 0x40498820, 0x00000002, 0x40496620, 0x40498A20,\n\t0x00000002, 0x40496620, 0x40498C20, 0x00000002, 0x40496820, 0x40498420,\n\t0x00000002, 0x40496820, 0x40498620, 0x00000002, 0x40496820, 0x40498820,\n\t0x00000002, 0x40496820, 0x40498A20, 0x00000002, 0x40496820, 0x40498C20,\n\t0x00000002, 0x40496A20, 0x40498420, 0x00000002, 0x40496A20, 0x40498620,\n\t0x00000002, 0x40496A20, 0x40498820, 0x00000002, 0x40496A20, 0x40498A20,\n\t0x00000002, 0x40496A20, 0x40498C20, 0x00000002, 0x40499020, 0x4049E620,\n\t0x00000002, 0x40499020, 0x4049E820, 0x00000002, 0x40499020, 0x4049EA20,\n\t0x00000002, 0x40499020, 0x4049EC20, 0x00000002,\n\t// Block 109, offset 0x1b40\n\t0x40499020, 0x4049EE20, 0x00000002, 0x40499220, 0x4049E620, 0x00000002,\n\t0x40499220, 0x4049E820, 0x00000002, 0x40499220, 0x4049EA20, 0x00000002,\n\t0x40499220, 0x4049EC20, 0x00000002, 0x40499220, 0x4049EE20, 0x00000002,\n\t0x40499420, 0x4049E620, 0x00000002, 0x40499420, 0x4049E820, 0x00000002,\n\t0x40499420, 0x4049EA20, 0x00000002, 0x40499420, 0x4049EC20, 0x00000002,\n\t0x40499420, 0x4049EE20, 0x00000002, 0x40499620, 0x4049E620, 0x00000002,\n\t0x40499620, 0x4049E820, 0x00000002, 0x40499620, 0x4049EA20, 0x00000002,\n\t0x40499620, 0x4049EC20, 0x00000002, 0x40499620, 0x4049EE20, 0x00000002,\n\t0x40499820, 0x4049E620, 0x00000002, 0x40499820, 0x4049E820, 0x00000002,\n\t0x40499820, 0x4049EA20, 0x00000002, 0x40499820, 0x4049EC20, 0x00000002,\n\t0x40499820, 0x4049EE20, 0x00000002, 0x40499A20,\n\t// Block 110, offset 0x1b80\n\t0x4049E620, 0x00000002, 0x40499A20, 0x4049E820, 0x00000002, 0x40499A20,\n\t0x4049EA20, 0x00000002, 0x40499A20, 0x4049EC20, 0x00000002, 0x40499A20,\n\t0x4049EE20, 0x00000002, 0x40499C20, 0x4049E620, 0x00000002, 0x40499C20,\n\t0x4049E820, 0x00000002, 0x40499C20, 0x4049EA20, 0x00000002, 0x40499C20,\n\t0x4049EC20, 0x00000002, 0x40499C20, 0x4049EE20, 0x00000002, 0x40499E20,\n\t0x4049E620, 0x00000002, 0x40499E20, 0x4049E820, 0x00000002, 0x40499E20,\n\t0x4049EA20, 0x00000002, 0x40499E20, 0x4049EC20, 0x00000002, 0x40499E20,\n\t0x4049EE20, 0x00000002, 0x4049A020, 0x4049E620, 0x00000002, 0x4049A020,\n\t0x4049E820, 0x00000002, 0x4049A020, 0x4049EA20, 0x00000002, 0x4049A020,\n\t0x4049EC20, 0x00000002, 0x4049A020, 0x4049EE20, 0x00000002, 0x4049A220,\n\t0x4049E620, 0x00000002, 0x4049A220, 0x4049E820,\n\t// Block 111, offset 0x1bc0\n\t0x00000002, 0x4049A220, 0x4049EA20, 0x00000002, 0x4049A220, 0x4049EC20,\n\t0x00000002, 0x4049A220, 0x4049EE20, 0x00000002, 0x4049A420, 0x4049E620,\n\t0x00000002, 0x4049A420, 0x4049E820, 0x00000002, 0x4049A420, 0x4049EA20,\n\t0x00000002, 0x4049A420, 0x4049EC20, 0x00000002, 0x4049A420, 0x4049EE20,\n\t0x00000002, 0x4049A620, 0x4049E620, 0x00000002, 0x4049A620, 0x4049E820,\n\t0x00000002, 0x4049A620, 0x4049EA20, 0x00000002, 0x4049A620, 0x4049EC20,\n\t0x00000002, 0x4049A620, 0x4049EE20, 0x00000002, 0x4049A820, 0x4049E620,\n\t0x00000002, 0x4049A820, 0x4049E820, 0x00000002, 0x4049A820, 0x4049EA20,\n\t0x00000002, 0x4049A820, 0x4049EC20, 0x00000002, 0x4049A820, 0x4049EE20,\n\t0x00000002, 0x4049AA20, 0x4049E620, 0x00000002, 0x4049AA20, 0x4049E820,\n\t0x00000002, 0x4049AA20, 0x4049EA20, 0x00000002,\n\t// Block 112, offset 0x1c00\n\t0x4049AA20, 0x4049EC20, 0x00000002, 0x4049AA20, 0x4049EE20, 0x00000002,\n\t0x4049AC20, 0x4049E620, 0x00000002, 0x4049AC20, 0x4049E820, 0x00000002,\n\t0x4049AC20, 0x4049EA20, 0x00000002, 0x4049AC20, 0x4049EC20, 0x00000002,\n\t0x4049AC20, 0x4049EE20, 0x00000002, 0x4049AE20, 0x4049E620, 0x00000002,\n\t0x4049AE20, 0x4049E820, 0x00000002, 0x4049AE20, 0x4049EA20, 0x00000002,\n\t0x4049AE20, 0x4049EC20, 0x00000002, 0x4049AE20, 0x4049EE20, 0x00000002,\n\t0x4049B020, 0x4049E620, 0x00000002, 0x4049B020, 0x4049E820, 0x00000002,\n\t0x4049B020, 0x4049EA20, 0x00000002, 0x4049B020, 0x4049EC20, 0x00000002,\n\t0x4049B020, 0x4049EE20, 0x00000002, 0x4049B220, 0x4049E620, 0x00000002,\n\t0x4049B220, 0x4049E820, 0x00000002, 0x4049B220, 0x4049EA20, 0x00000002,\n\t0x4049B220, 0x4049EC20, 0x00000002, 0x4049B220,\n\t// Block 113, offset 0x1c40\n\t0x4049EE20, 0x00000002, 0x4049B420, 0x4049E620, 0x00000002, 0x4049B420,\n\t0x4049E820, 0x00000002, 0x4049B420, 0x4049EA20, 0x00000002, 0x4049B420,\n\t0x4049EC20, 0x00000002, 0x4049B420, 0x4049EE20, 0x00000002, 0x4049B620,\n\t0x4049E620, 0x00000002, 0x4049B620, 0x4049E820, 0x00000002, 0x4049B620,\n\t0x4049EA20, 0x00000002, 0x4049B620, 0x4049EC20, 0x00000002, 0x4049B620,\n\t0x4049EE20, 0x00000002, 0x4049B820, 0x4049E620, 0x00000002, 0x4049B820,\n\t0x4049E820, 0x00000002, 0x4049B820, 0x4049EA20, 0x00000002, 0x4049B820,\n\t0x4049EC20, 0x00000002, 0x4049B820, 0x4049EE20, 0x00000002, 0x4049BA20,\n\t0x4049E620, 0x00000002, 0x4049BA20, 0x4049E820, 0x00000002, 0x4049BA20,\n\t0x4049EA20, 0x00000002, 0x4049BA20, 0x4049EC20, 0x00000002, 0x4049BA20,\n\t0x4049EE20, 0x00000002, 0x4049BC20, 0x4049E620,\n\t// Block 114, offset 0x1c80\n\t0x00000002, 0x4049BC20, 0x4049E820, 0x00000002, 0x4049BC20, 0x4049EA20,\n\t0x00000002, 0x4049BC20, 0x4049EC20, 0x00000002, 0x4049BC20, 0x4049EE20,\n\t0x00000002, 0x4049BE20, 0x4049E620, 0x00000002, 0x4049BE20, 0x4049E820,\n\t0x00000002, 0x4049BE20, 0x4049EA20, 0x00000002, 0x4049BE20, 0x4049EC20,\n\t0x00000002, 0x4049BE20, 0x4049EE20, 0x00000002, 0x4049C020, 0x4049E620,\n\t0x00000002, 0x4049C020, 0x4049E820, 0x00000002, 0x4049C020, 0x4049EA20,\n\t0x00000002, 0x4049C020, 0x4049EC20, 0x00000002, 0x4049C020, 0x4049EE20,\n\t0x00000002, 0x4049C220, 0x4049E620, 0x00000002, 0x4049C220, 0x4049E820,\n\t0x00000002, 0x4049C220, 0x4049EA20, 0x00000002, 0x4049C220, 0x4049EC20,\n\t0x00000002, 0x4049C220, 0x4049EE20, 0x00000003, 0x0049C484, 0x0049AC84,\n\t0x4049E620, 0x00000003, 0x0049C484, 0x0049AC84,\n\t// Block 115, offset 0x1cc0\n\t0x4049E820, 0x00000003, 0x0049C484, 0x0049AC84, 0x4049EA20, 0x00000003,\n\t0x0049C484, 0x0049AC84, 0x4049EC20, 0x00000003, 0x0049C484, 0x0049AC84,\n\t0x4049EE20, 0x00000003, 0x0049C484, 0x0049BA84, 0x4049E620, 0x00000003,\n\t0x0049C484, 0x0049BA84, 0x4049E820, 0x00000003, 0x0049C484, 0x0049BA84,\n\t0x4049EA20, 0x00000003, 0x0049C484, 0x0049BA84, 0x4049EC20, 0x00000003,\n\t0x0049C484, 0x0049BA84, 0x4049EE20, 0x00000002, 0x4049C420, 0x4049E620,\n\t0x00000002, 0x4049C420, 0x4049E820, 0x00000002, 0x4049C420, 0x4049EA20,\n\t0x00000002, 0x4049C420, 0x4049EC20, 0x00000002, 0x4049C420, 0x4049EE20,\n\t0x00000002, 0x4049C620, 0x4049E620, 0x00000002, 0x4049C620, 0x4049E820,\n\t0x00000002, 0x4049C620, 0x4049EA20, 0x00000002, 0x4049C620, 0x4049EC20,\n\t0x00000002, 0x4049C620, 0x4049EE20, 0x00000002,\n\t// Block 116, offset 0x1d00\n\t0x4049C820, 0x4049E620, 0x00000002, 0x4049C820, 0x4049E820, 0x00000002,\n\t0x4049C820, 0x4049EA20, 0x00000002, 0x4049C820, 0x4049EC20, 0x00000002,\n\t0x4049C820, 0x4049EE20, 0x00000002, 0x4049F020, 0x404A5A20, 0x00000002,\n\t0x4049F020, 0x404A5C20, 0x00000002, 0x4049F020, 0x404A6220, 0x00000002,\n\t0x4049F020, 0x404A6620, 0x00000002, 0x4049F020, 0x404A6820, 0x00000002,\n\t0x4049F220, 0x404A5A20, 0x00000002, 0x4049F220, 0x404A5C20, 0x00000002,\n\t0x4049F220, 0x404A6220, 0x00000002, 0x4049F220, 0x404A6620, 0x00000002,\n\t0x4049F220, 0x404A6820, 0x00000002, 0x4049F420, 0x404A5A20, 0x00000002,\n\t0x4049F420, 0x404A5C20, 0x00000002, 0x4049F420, 0x404A6220, 0x00000002,\n\t0x4049F420, 0x404A6620, 0x00000002, 0x4049F420, 0x404A6820, 0x00000002,\n\t0x4049F620, 0x404A5A20, 0x00000002, 0x4049F620,\n\t// Block 117, offset 0x1d40\n\t0x404A5C20, 0x00000002, 0x4049F620, 0x404A6220, 0x00000002, 0x4049F620,\n\t0x404A6620, 0x00000002, 0x4049F620, 0x404A6820, 0x00000002, 0x4049F820,\n\t0x404A5A20, 0x00000002, 0x4049F820, 0x404A5C20, 0x00000002, 0x4049F820,\n\t0x404A6220, 0x00000002, 0x4049F820, 0x404A6620, 0x00000002, 0x4049F820,\n\t0x404A6820, 0x00000002, 0x4049FA20, 0x404A5A20, 0x00000002, 0x4049FA20,\n\t0x404A5C20, 0x00000002, 0x4049FA20, 0x404A6220, 0x00000002, 0x4049FA20,\n\t0x404A6620, 0x00000002, 0x4049FA20, 0x404A6820, 0x00000002, 0x4049FC20,\n\t0x404A5A20, 0x00000002, 0x4049FC20, 0x404A5C20, 0x00000002, 0x4049FC20,\n\t0x404A6220, 0x00000002, 0x4049FC20, 0x404A6620, 0x00000002, 0x4049FC20,\n\t0x404A6820, 0x00000002, 0x4049FE20, 0x404A5A20, 0x00000002, 0x4049FE20,\n\t0x404A5C20, 0x00000002, 0x4049FE20, 0x404A6220,\n\t// Block 118, offset 0x1d80\n\t0x00000002, 0x4049FE20, 0x404A6620, 0x00000002, 0x4049FE20, 0x404A6820,\n\t0x00000002, 0x404A0020, 0x404A5A20, 0x00000002, 0x404A0020, 0x404A5C20,\n\t0x00000002, 0x404A0020, 0x404A6220, 0x00000002, 0x404A0020, 0x404A6620,\n\t0x00000002, 0x404A0020, 0x404A6820, 0x00000002, 0x404A0220, 0x404A5A20,\n\t0x00000002, 0x404A0220, 0x404A5C20, 0x00000002, 0x404A0220, 0x404A6220,\n\t0x00000002, 0x404A0220, 0x404A6620, 0x00000002, 0x404A0220, 0x404A6820,\n\t0x00000002, 0x404A0420, 0x404A5A20, 0x00000002, 0x404A0420, 0x404A5C20,\n\t0x00000002, 0x404A0420, 0x404A6220, 0x00000002, 0x404A0420, 0x404A6620,\n\t0x00000002, 0x404A0420, 0x404A6820, 0x00000002, 0x404A0620, 0x404A5A20,\n\t0x00000002, 0x404A0620, 0x404A5C20, 0x00000002, 0x404A0620, 0x404A6220,\n\t0x00000002, 0x404A0620, 0x404A6620, 0x00000002,\n\t// Block 119, offset 0x1dc0\n\t0x404A0620, 0x404A6820, 0x00000002, 0x404A0820, 0x404A5A20, 0x00000002,\n\t0x404A0820, 0x404A5C20, 0x00000002, 0x404A0820, 0x404A6220, 0x00000002,\n\t0x404A0820, 0x404A6620, 0x00000002, 0x404A0820, 0x404A6820, 0x00000002,\n\t0x404A0A20, 0x404A5A20, 0x00000002, 0x404A0A20, 0x404A5C20, 0x00000002,\n\t0x404A0A20, 0x404A6220, 0x00000002, 0x404A0A20, 0x404A6620, 0x00000002,\n\t0x404A0A20, 0x404A6820, 0x00000002, 0x404A0C20, 0x404A5A20, 0x00000002,\n\t0x404A0C20, 0x404A5C20, 0x00000002, 0x404A0C20, 0x404A6220, 0x00000002,\n\t0x404A0C20, 0x404A6620, 0x00000002, 0x404A0C20, 0x404A6820, 0x00000002,\n\t0x404A0E20, 0x404A5A20, 0x00000002, 0x404A0E20, 0x404A5C20, 0x00000002,\n\t0x404A0E20, 0x404A6220, 0x00000002, 0x404A0E20, 0x404A6620, 0x00000002,\n\t0x404A0E20, 0x404A6820, 0x00000002, 0x404A1020,\n\t// Block 120, offset 0x1e00\n\t0x404A5A20, 0x00000002, 0x404A1020, 0x404A5C20, 0x00000002, 0x404A1020,\n\t0x404A6220, 0x00000002, 0x404A1020, 0x404A6620, 0x00000002, 0x404A1020,\n\t0x404A6820, 0x00000002, 0x404A1220, 0x404A5A20, 0x00000002, 0x404A1220,\n\t0x404A5C20, 0x00000002, 0x404A1220, 0x404A6220, 0x00000002, 0x404A1220,\n\t0x404A6620, 0x00000002, 0x404A1220, 0x404A6820, 0x00000002, 0x404A1420,\n\t0x404A5A20, 0x00000002, 0x404A1420, 0x404A5C20, 0x00000002, 0x404A1420,\n\t0x404A6220, 0x00000002, 0x404A1420, 0x404A6620, 0x00000002, 0x404A1420,\n\t0x404A6820, 0x00000002, 0x404A1620, 0x404A5A20, 0x00000002, 0x404A1620,\n\t0x404A5C20, 0x00000002, 0x404A1620, 0x404A6220, 0x00000002, 0x404A1620,\n\t0x404A6620, 0x00000002, 0x404A1620, 0x404A6820, 0x00000002, 0x404A1820,\n\t0x404A5A20, 0x00000002, 0x404A1820, 0x404A5C20,\n\t// Block 121, offset 0x1e40\n\t0x00000002, 0x404A1820, 0x404A6220, 0x00000002, 0x404A1820, 0x404A6620,\n\t0x00000002, 0x404A1820, 0x404A6820, 0x00000002, 0x404A1A20, 0x404A5A20,\n\t0x00000002, 0x404A1A20, 0x404A5C20, 0x00000002, 0x404A1A20, 0x404A6220,\n\t0x00000002, 0x404A1A20, 0x404A6620, 0x00000002, 0x404A1A20, 0x404A6820,\n\t0x00000002, 0x404A1C20, 0x404A5A20, 0x00000002, 0x404A1C20, 0x404A5C20,\n\t0x00000002, 0x404A1C20, 0x404A6220, 0x00000002, 0x404A1C20, 0x404A6620,\n\t0x00000002, 0x404A1C20, 0x404A6820, 0x00000002, 0x404A1E20, 0x404A5A20,\n\t0x00000002, 0x404A1E20, 0x404A5C20, 0x00000002, 0x404A1E20, 0x404A6220,\n\t0x00000002, 0x404A1E20, 0x404A6620, 0x00000002, 0x404A1E20, 0x404A6820,\n\t0x00000002, 0x404A2020, 0x404A5A20, 0x00000002, 0x404A2020, 0x404A5C20,\n\t0x00000002, 0x404A2020, 0x404A6220, 0x00000002,\n\t// Block 122, offset 0x1e80\n\t0x404A2020, 0x404A6620, 0x00000002, 0x404A2020, 0x404A6820, 0x00000002,\n\t0x404A2220, 0x404A5A20, 0x00000002, 0x404A2220, 0x404A5C20, 0x00000002,\n\t0x404A2220, 0x404A6220, 0x00000002, 0x404A2220, 0x404A6620, 0x00000002,\n\t0x404A2220, 0x404A6820, 0x00000002, 0x404A2420, 0x404A5A20, 0x00000002,\n\t0x404A2420, 0x404A5C20, 0x00000002, 0x404A2420, 0x404A6220, 0x00000002,\n\t0x404A2420, 0x404A6620, 0x00000002, 0x404A2420, 0x404A6820, 0x00000002,\n\t0x404A2620, 0x404A5A20, 0x00000002, 0x404A2620, 0x404A5C20, 0x00000002,\n\t0x404A2620, 0x404A6220, 0x00000002, 0x404A2620, 0x404A6620, 0x00000002,\n\t0x404A2620, 0x404A6820, 0x00000002, 0x404A2820, 0x404A5A20, 0x00000002,\n\t0x404A2820, 0x404A5C20, 0x00000002, 0x404A2820, 0x404A6220, 0x00000002,\n\t0x404A2820, 0x404A6620, 0x00000002, 0x404A2820,\n\t// Block 123, offset 0x1ec0\n\t0x404A6820, 0x00000002, 0x404A2A20, 0x404A5A20, 0x00000002, 0x404A2A20,\n\t0x404A5C20, 0x00000002, 0x404A2A20, 0x404A6220, 0x00000002, 0x404A2A20,\n\t0x404A6620, 0x00000002, 0x404A2A20, 0x404A6820, 0x00000002, 0x404A2C20,\n\t0x404A5A20, 0x00000002, 0x404A2C20, 0x404A5C20, 0x00000002, 0x404A2C20,\n\t0x404A6220, 0x00000002, 0x404A2C20, 0x404A6620, 0x00000002, 0x404A2C20,\n\t0x404A6820, 0x00000002, 0x404A2E20, 0x404A5A20, 0x00000002, 0x404A2E20,\n\t0x404A5C20, 0x00000002, 0x404A2E20, 0x404A6220, 0x00000002, 0x404A2E20,\n\t0x404A6620, 0x00000002, 0x404A2E20, 0x404A6820, 0x00000002, 0x404A3020,\n\t0x404A5A20, 0x00000002, 0x404A3020, 0x404A5C20, 0x00000002, 0x404A3020,\n\t0x404A6220, 0x00000002, 0x404A3020, 0x404A6620, 0x00000002, 0x404A3020,\n\t0x404A6820, 0x00000002, 0x404A3220, 0x404A5A20,\n\t// Block 124, offset 0x1f00\n\t0x00000002, 0x404A3220, 0x404A5C20, 0x00000002, 0x404A3220, 0x404A6220,\n\t0x00000002, 0x404A3220, 0x404A6620, 0x00000002, 0x404A3220, 0x404A6820,\n\t0x00000002, 0x404A3420, 0x404A5A20, 0x00000002, 0x404A3420, 0x404A5C20,\n\t0x00000002, 0x404A3420, 0x404A6220, 0x00000002, 0x404A3420, 0x404A6620,\n\t0x00000002, 0x404A3420, 0x404A6820, 0x00000002, 0x404A3620, 0x404A5A20,\n\t0x00000002, 0x404A3620, 0x404A5C20, 0x00000002, 0x404A3620, 0x404A6220,\n\t0x00000002, 0x404A3620, 0x404A6620, 0x00000002, 0x404A3620, 0x404A6820,\n\t0x00000002, 0x404A3820, 0x404A5A20, 0x00000002, 0x404A3820, 0x404A5C20,\n\t0x00000002, 0x404A3820, 0x404A6220, 0x00000002, 0x404A3820, 0x404A6620,\n\t0x00000002, 0x404A3820, 0x404A6820, 0x00000002, 0x404A3A20, 0x404A5A20,\n\t0x00000002, 0x404A3A20, 0x404A5C20, 0x00000002,\n\t// Block 125, offset 0x1f40\n\t0x404A3A20, 0x404A6220, 0x00000002, 0x404A3A20, 0x404A6620, 0x00000002,\n\t0x404A3A20, 0x404A6820, 0x00000002, 0x404A3C20, 0x404A5A20, 0x00000002,\n\t0x404A3C20, 0x404A5C20, 0x00000002, 0x404A3C20, 0x404A6220, 0x00000002,\n\t0x404A3C20, 0x404A6620, 0x00000002, 0x404A3C20, 0x404A6820, 0x00000002,\n\t0x404A3E20, 0x404A5A20, 0x00000002, 0x404A3E20, 0x404A5C20, 0x00000002,\n\t0x404A3E20, 0x404A6220, 0x00000002, 0x404A3E20, 0x404A6620, 0x00000002,\n\t0x404A3E20, 0x404A6820, 0x00000002, 0x404A4020, 0x404A5A20, 0x00000002,\n\t0x404A4020, 0x404A5C20, 0x00000002, 0x404A4020, 0x404A6220, 0x00000002,\n\t0x404A4020, 0x404A6620, 0x00000002, 0x404A4020, 0x404A6820, 0x00000002,\n\t0x404A4220, 0x404A5A20, 0x00000002, 0x404A4220, 0x404A5C20, 0x00000002,\n\t0x404A4220, 0x404A6220, 0x00000002, 0x404A4220,\n\t// Block 126, offset 0x1f80\n\t0x404A6620, 0x00000002, 0x404A4220, 0x404A6820, 0x00000002, 0x404A4420,\n\t0x404A5A20, 0x00000002, 0x404A4420, 0x404A5C20, 0x00000002, 0x404A4420,\n\t0x404A6220, 0x00000002, 0x404A4420, 0x404A6620, 0x00000002, 0x404A4420,\n\t0x404A6820, 0x00000002, 0x404A4620, 0x404A5A20, 0x00000002, 0x404A4620,\n\t0x404A5C20, 0x00000002, 0x404A4620, 0x404A6220, 0x00000002, 0x404A4620,\n\t0x404A6620, 0x00000002, 0x404A4620, 0x404A6820, 0x00000002, 0x404A4820,\n\t0x404A5A20, 0x00000002, 0x404A4820, 0x404A5C20, 0x00000002, 0x404A4820,\n\t0x404A6220, 0x00000002, 0x404A4820, 0x404A6620, 0x00000002, 0x404A4820,\n\t0x404A6820, 0x00000002, 0x404A4A20, 0x404A5A20, 0x00000002, 0x404A4A20,\n\t0x404A5C20, 0x00000002, 0x404A4A20, 0x404A6220, 0x00000002, 0x404A4A20,\n\t0x404A6620, 0x00000002, 0x404A4A20, 0x404A6820,\n\t// Block 127, offset 0x1fc0\n\t0x00000002, 0x404A4C20, 0x404A5A20, 0x00000002, 0x404A4C20, 0x404A5C20,\n\t0x00000002, 0x404A4C20, 0x404A6220, 0x00000002, 0x404A4C20, 0x404A6620,\n\t0x00000002, 0x404A4C20, 0x404A6820, 0x00000002, 0x404A4E20, 0x404A5A20,\n\t0x00000002, 0x404A4E20, 0x404A5C20, 0x00000002, 0x404A4E20, 0x404A6220,\n\t0x00000002, 0x404A4E20, 0x404A6620, 0x00000002, 0x404A4E20, 0x404A6820,\n\t0x00000002, 0x404A7620, 0x404AF820, 0x00000002, 0x404A7820, 0x404AF820,\n\t0x00000002, 0x404A8020, 0x404B0020, 0x00000002, 0x404A8220, 0x404B0020,\n\t0x00000002, 0x404AA020, 0x404B0020, 0x00000002, 0x404AA220, 0x404B0020,\n\t0x00000002, 0x404AB020, 0x404B0020, 0x00000002, 0x404AB220, 0x404B0020,\n\t0x00000002, 0x404AC020, 0x404B0020, 0x00000002, 0x404AC220, 0x404B0020,\n\t0x00000002, 0x404AD020, 0x404B0020, 0x00000002,\n\t// Block 128, offset 0x2000\n\t0x404AD220, 0x404B0020, 0x00000002, 0x004AD684, 0xA0013A04, 0x00000002,\n\t0x004AE684, 0xA0013A04, 0x00000002, 0x004AE884, 0xA0013A04, 0x00000002,\n\t0x004AEA84, 0xA0013A04, 0x00000002, 0x404AEA20, 0x8281258D, 0x00000002,\n\t0x404AEA20, 0x82812591, 0x00000002, 0x404AF020, 0x8281258D, 0x00000002,\n\t0x404AF020, 0x82812591, 0x00000003, 0x004B0284, 0x004B3084, 0xA000F304,\n\t0x00000003, 0x004EA684, 0x004F1484, 0x004EA684, 0x00000002, 0x0050AE84,\n\t0x0050DA84, 0x00000003, 0x0050AE84, 0x0050DA84, 0x0050F084, 0x00000003,\n\t0x00514E84, 0x00519A84, 0x00514E84, 0x00000002, 0x005ADA84, 0xA0013904,\n\t0x00000002, 0x005ADC84, 0xA0013904, 0x00000002, 0x005ADC84, 0xA0013A04,\n\t0x00000002, 0x005ADE84, 0xA0013904, 0x00000002, 0x005ADE84, 0x005ADE84,\n\t0x00000002, 0x005AE084, 0xA0013904, 0x00000002,\n\t// Block 129, offset 0x2040\n\t0x005AE084, 0xA0013A04, 0x00000002, 0x005AE084, 0xA0013C04, 0x00000002,\n\t0x005AE084, 0xA0013D04, 0x00000002, 0x005AE884, 0xA0013904, 0x00000002,\n\t0x005AE884, 0xA0013A04, 0x00000002, 0x005AE884, 0xA0013C04, 0x00000002,\n\t0x005AE884, 0xA0013D04, 0x00000002, 0x005AEC84, 0xA0013904, 0x00000002,\n\t0x005AEE84, 0xA0013904, 0x00000002, 0x005AEE84, 0xA0013A04, 0x00000002,\n\t0x005AEE84, 0xA0013C04, 0x00000002, 0x005AF084, 0xA0013904, 0x00000002,\n\t0x005AF084, 0xA0013A04, 0x00000002, 0x005AF284, 0xA0013904, 0x00000002,\n\t0x005AF484, 0xA0013904, 0x00000002, 0x005AF684, 0xA0013904, 0x00000002,\n\t0x005AF684, 0x005B0884, 0x00000002, 0x005AFA84, 0xA0013904, 0x00000002,\n\t0x005AFE84, 0xA0013904, 0x00000002, 0x005AFE84, 0xA0013A04, 0x00000002,\n\t0x005AFE84, 0xA0013C04, 0x00000002, 0x005AFE84,\n\t// Block 130, offset 0x2080\n\t0xA0013D04, 0x00000002, 0x005AFE84, 0xA0013E04, 0x00000002, 0x005B0084,\n\t0xA0013904, 0x00000002, 0x005B0084, 0xA0013A04, 0x00000002, 0x005B0284,\n\t0xA0013904, 0x00000002, 0x005B0284, 0xA0013A04, 0x00000002, 0x005B0684,\n\t0xA0013904, 0x00000002, 0x005B0684, 0xA0013A04, 0x00000004, 0x005B0684,\n\t0xA0013904, 0x005B0684, 0xA0013904, 0x00000002, 0x005B0884, 0xA0013904,\n\t0x00000002, 0x005B0A84, 0xA0013904, 0x00000002, 0x005B2484, 0xA0013904,\n\t0x00000002, 0x005B2484, 0xA0013A04, 0x00000002, 0x005B2684, 0xA0013904,\n\t0x00000002, 0x005B2A84, 0xA0013904, 0x00000002, 0x005B3084, 0xA0013904,\n\t0x00000002, 0x005B3284, 0xA0013904, 0x00000002, 0x005B3484, 0xA0013904,\n\t0x00000002, 0x005B3684, 0xA0013904, 0x00000002, 0x005B3884, 0xA0013904,\n\t0x00000002, 0x005B3A84, 0xA0013904, 0x00000002,\n\t// Block 131, offset 0x20c0\n\t0x005B3E84, 0xA0013904, 0x00000002, 0x005B4084, 0xA0013904, 0x00000002,\n\t0x005B4284, 0xA0013904, 0x00000002, 0x005B4484, 0xA0013904, 0x00000002,\n\t0x005B4684, 0xA0013904, 0x00000002, 0x005B4884, 0xA0013904, 0x00000002,\n\t0x005B5284, 0xA0013904, 0x00000002, 0x005B5484, 0xA0013904, 0x00000002,\n\t0x005B5684, 0xA0013904, 0x00000002, 0x005B5884, 0xA0013904, 0x00000002,\n\t0x005B5C84, 0xA0013904, 0x00000002, 0x005B6484, 0xA0013904, 0x00000002,\n\t0x005B6684, 0xA0013904, 0x00000002, 0x005B6884, 0xA0013904, 0x00000002,\n\t0x005B6A84, 0xA0013904, 0x00000002, 0x005B6C84, 0xA0013904, 0x00000002,\n\t0x005B7484, 0xA0013904, 0x00000002, 0x005B7684, 0xA0013904, 0x00000002,\n\t0x005B7884, 0xA0013904, 0x00000002, 0x005B7A84, 0xA0013904, 0x00000002,\n\t0x005B9884, 0x005D9684, 0x00000002, 0x005BBC84,\n\t// Block 132, offset 0x2100\n\t0x005D9684, 0x00000002, 0x005BE684, 0x005D9684, 0x00000002, 0x005C0E84,\n\t0x005D9884, 0x00000002, 0x005C2484, 0x005D9684, 0x00000002, 0x005C3084,\n\t0x005D9884, 0x00000002, 0x005C3484, 0x005D9884, 0x00000002, 0x005C4084,\n\t0x005D9684, 0x00000002, 0x005C8A84, 0x005D9684, 0x00000002, 0x005CE884,\n\t0x005D9684, 0x00000002, 0x005D1684, 0x005D9684, 0x00000002, 0x005D2284,\n\t0x005D9884, 0x00000002, 0x005D3084, 0x005D9684, 0x00000004, 0x0062C486,\n\t0x0063C286, 0x0062C286, 0x0063CE86, 0x00000005, 0x0062C886, 0x0063A886,\n\t0x00648286, 0x0062AC86, 0x0063B886, 0x00000003, 0x0065769C, 0x0027D69C,\n\t0x0065CA9C, 0x00000005, 0x0065769C, 0x0065AA9C, 0xA001291C, 0x0027D69C,\n\t0x00659E9C, 0x00000004, 0x0065769C, 0x0065CA9C, 0x0065AE9C, 0x0065769C,\n\t0x00000005, 0x0065769C, 0x0065D89C, 0x0065B09C,\n\t// Block 133, offset 0x2140\n\t0xA001291C, 0x0065769C, 0x00000005, 0x0065789C, 0x0065A29C, 0x0065D89C,\n\t0x0065869C, 0xA001281C, 0x00000003, 0x0065789C, 0x0065D89C, 0x0065989C,\n\t0x00000002, 0x00657A8E, 0xA0812802, 0x00000002, 0x00657A91, 0xA0812802,\n\t0x00000003, 0x00657A9C, 0x0065809C, 0x0065D89C, 0x00000004, 0x00657E9C,\n\t0x0027D69C, 0x0065829C, 0x0027D69C, 0x00000006, 0x00657E9C, 0x0065909C,\n\t0x0065869C, 0x0027D69C, 0x00659E9C, 0xA001281C, 0x00000003, 0x0065809C,\n\t0x0027D69C, 0x0065B89C, 0x00000003, 0x0065809C, 0x0065D89C, 0x0065909C,\n\t0x00000002, 0x0065828E, 0xA0812802, 0x00000002, 0x00658291, 0xA0812802,\n\t0x00000003, 0x0065829C, 0x0065789C, 0x0065C89C, 0x00000004, 0x0065829C,\n\t0x0065C69C, 0x00659A9C, 0x00659E9C, 0x00000004, 0x0065829C, 0x0065CE9C,\n\t0x0065C89C, 0x0027D69C, 0x00000004, 0x0065829C,\n\t// Block 134, offset 0x2180\n\t0xA001281C, 0x0065CE9C, 0x0065D89C, 0x00000004, 0x0065829C, 0xA001281C,\n\t0x0065D89C, 0x0065B49C, 0x00000002, 0x0065848E, 0xA0812802, 0x00000002,\n\t0x00658491, 0xA0812802, 0x00000004, 0x0065849C, 0xA001281C, 0x0065829C,\n\t0xA001281C, 0x00000004, 0x0065849C, 0xA001281C, 0x0065A29C, 0x0027D69C,\n\t0x00000004, 0x0065849C, 0x0065C09C, 0x0065C89C, 0x0027D69C, 0x00000006,\n\t0x0065849C, 0xA001281C, 0x0065CA9C, 0x0065969C, 0xA001281C, 0x0027D69C,\n\t0x00000006, 0x0065849C, 0x0065CE9C, 0x0065869C, 0xA001281C, 0x0065C69C,\n\t0x0065B89C, 0x00000006, 0x0065849C, 0x0065CE9C, 0x0065BA9C, 0x0027D69C,\n\t0x00659E9C, 0x0065CA9C, 0x00000005, 0x0065849C, 0x0065CE9C, 0x0065D09C,\n\t0x00659A9C, 0x00659E9C, 0x00000002, 0x0065868E, 0xA0812802, 0x00000002,\n\t0x00658691, 0xA0812802, 0x00000004, 0x0065869C,\n\t// Block 135, offset 0x21c0\n\t0xA001281C, 0x0065C69C, 0x0065B89C, 0x00000006, 0x0065869C, 0xA001281C,\n\t0x0065C69C, 0x0065B89C, 0x00659E9C, 0x0065D89C, 0x00000006, 0x0065869C,\n\t0x0065CA9C, 0x0065929C, 0xA001281C, 0x0065789C, 0x0065CE9C, 0x00000004,\n\t0x0065869C, 0x0065CE9C, 0x0027D69C, 0x0065A69C, 0x00000002, 0x0065888E,\n\t0xA0812802, 0x00000002, 0x00658891, 0xA0812802, 0x00000003, 0x0065889C,\n\t0x0027D69C, 0x0065909C, 0x00000002, 0x00658A8E, 0xA0812802, 0x00000002,\n\t0x00658A91, 0xA0812802, 0x00000004, 0x00658A9C, 0x0027D69C, 0x0065B29C,\n\t0xA001291C, 0x00000003, 0x00658A9C, 0x0065CA9C, 0x0065A09C, 0x00000002,\n\t0x00658C8E, 0xA0812802, 0x00000002, 0x00658C91, 0xA0812802, 0x00000004,\n\t0x00658C9C, 0x0065789C, 0x0065869C, 0x0065CA9C, 0x00000005, 0x00658C9C,\n\t0x0065D89C, 0x0065989C, 0x0027D69C, 0x0065B89C,\n\t// Block 136, offset 0x2200\n\t0x00000002, 0x00658E8E, 0xA0812802, 0x00000002, 0x00658E91, 0xA0812802,\n\t0x00000002, 0x00658E84, 0x0065BA84, 0x00000005, 0x00658E9C, 0x0065C89C,\n\t0x0065D89C, 0x0065869C, 0xA001281C, 0x00000002, 0x0065908E, 0xA0812802,\n\t0x00000002, 0x00659091, 0xA0812802, 0x00000002, 0x0065928E, 0xA0812802,\n\t0x00000002, 0x00659291, 0xA0812802, 0x00000003, 0x0065929C, 0x0065D89C,\n\t0x0065989C, 0x00000003, 0x0065929C, 0x0065D89C, 0x00659E9C, 0x00000002,\n\t0x0065948E, 0xA0812802, 0x00000002, 0x00659491, 0xA0812802, 0x00000002,\n\t0x0065968E, 0xA0812802, 0x00000002, 0x00659691, 0xA0812802, 0x00000004,\n\t0x0065969C, 0xA001281C, 0x0027D69C, 0x0065909C, 0x00000002, 0x0065988E,\n\t0xA0812802, 0x00000002, 0x00659891, 0xA0812802, 0x00000002, 0x00659A8E,\n\t0xA0812802, 0x00000002, 0x00659A91, 0xA0812802,\n\t// Block 137, offset 0x2240\n\t0x00000002, 0x00659C8E, 0xA0812802, 0x00000002, 0x00659C91, 0xA0812802,\n\t0x00000003, 0x00659C9C, 0xA001281C, 0x00658E9C, 0x00000002, 0x00659E8E,\n\t0xA0812802, 0x00000002, 0x00659E91, 0xA0812802, 0x00000003, 0x00659E9C,\n\t0xA001281C, 0x0065CA9C, 0x00000003, 0x0065A89C, 0x00659A9C, 0x00659E9C,\n\t0x00000002, 0x0065AA8E, 0xA0812802, 0x00000002, 0x0065AA91, 0xA0812802,\n\t0x00000002, 0x0065AA8E, 0xA0812902, 0x00000002, 0x0065AA91, 0xA0812902,\n\t0x00000006, 0x0065AA9C, 0xA001291C, 0x0027D69C, 0x0065929C, 0x0065D89C,\n\t0x00659E9C, 0x00000004, 0x0065AA9C, 0xA001291C, 0x0027D69C, 0x00659A9C,\n\t0x00000005, 0x0065AA9C, 0xA001281C, 0x0027D69C, 0x0065CC9C, 0x0065CA9C,\n\t0x00000003, 0x0065AA9C, 0x0065789C, 0x00659A9C, 0x00000002, 0x0065AC8E,\n\t0xA0812802, 0x00000002, 0x0065AC91, 0xA0812802,\n\t// Block 138, offset 0x2280\n\t0x00000002, 0x0065AC8E, 0xA0812902, 0x00000002, 0x0065AC91, 0xA0812902,\n\t0x00000006, 0x0065AC9C, 0xA001291C, 0x0065769C, 0x0065909C, 0x00659E9C,\n\t0x0065CA9C, 0x00000004, 0x0065AC9C, 0xA001291C, 0x0065869C, 0x0065CA9C,\n\t0x00000003, 0x0065AC9C, 0xA001291C, 0x00658A9C, 0x00000003, 0x0065AC9C,\n\t0xA001281C, 0x0065CA9C, 0x00000002, 0x0065AE8E, 0xA0812802, 0x00000002,\n\t0x0065AE91, 0xA0812802, 0x00000002, 0x0065AE8E, 0xA0812902, 0x00000002,\n\t0x0065AE91, 0xA0812902, 0x00000006, 0x0065AE9C, 0x0065769C, 0x0065C69C,\n\t0x00659A9C, 0x00659E9C, 0xA001281C, 0x00000004, 0x0065AE9C, 0x0065789C,\n\t0x0027D69C, 0x00659E9C, 0x00000006, 0x0065AE9C, 0xA001281C, 0x00659A9C,\n\t0x00658E9C, 0x00657E9C, 0x0065CA9C, 0x00000003, 0x0065AE9C, 0x0065C69C,\n\t0x0065D89C, 0x00000002, 0x0065B08E, 0xA0812802,\n\t// Block 139, offset 0x22c0\n\t0x00000002, 0x0065B091, 0xA0812802, 0x00000002, 0x0065B08E, 0xA0812902,\n\t0x00000002, 0x0065B091, 0xA0812902, 0x00000005, 0x0065B09C, 0xA001291C,\n\t0x0027D69C, 0x00658E9C, 0xA001281C, 0x00000004, 0x0065B09C, 0xA001281C,\n\t0x0027D69C, 0x0065969C, 0x00000005, 0x0065B09C, 0x0065869C, 0x0065969C,\n\t0x0027D69C, 0x0065CA9C, 0x00000003, 0x0065B09C, 0xA001291C, 0x0065949C,\n\t0x00000004, 0x0065B09C, 0xA001291C, 0x0065A29C, 0x0065AC9C, 0x00000003,\n\t0x0065B09C, 0x0065CA9C, 0x00659A9C, 0x00000004, 0x0065B09C, 0xA001291C,\n\t0x0065D89C, 0x0065909C, 0x00000002, 0x0065B28E, 0xA0812802, 0x00000002,\n\t0x0065B291, 0xA0812802, 0x00000002, 0x0065B28E, 0xA0812902, 0x00000002,\n\t0x0065B291, 0xA0812902, 0x00000003, 0x0065B29C, 0x0027D69C, 0x0065CA9C,\n\t0x00000003, 0x0065B29C, 0x0027D69C, 0x0065D89C,\n\t// Block 140, offset 0x2300\n\t0x00000005, 0x0065B29C, 0xA001291C, 0x0065789C, 0x0065D89C, 0x00659E9C,\n\t0x00000004, 0x0065B29C, 0xA001281C, 0x0065CA9C, 0x00659E9C, 0x00000005,\n\t0x0065B29C, 0xA001291C, 0x0065D89C, 0x00659E9C, 0xA001281C, 0x00000004,\n\t0x0065B49C, 0x0065789C, 0x0065869C, 0x0065CE9C, 0x00000003, 0x0065B49C,\n\t0x0065789C, 0x0065CA9C, 0x00000002, 0x0065B484, 0x00659084, 0x00000003,\n\t0x0065B49C, 0x00659A9C, 0x0065AA9C, 0x00000003, 0x0065B49C, 0x0065CA9C,\n\t0x0065869C, 0x00000005, 0x0065B49C, 0x0065D89C, 0x00658E9C, 0x0065C49C,\n\t0x0065D89C, 0x00000004, 0x0065B69C, 0x0065869C, 0x0065CE9C, 0x0065D89C,\n\t0x00000006, 0x0065B69C, 0x0065C89C, 0x0065AA9C, 0xA001281C, 0x0027D69C,\n\t0x0065CA9C, 0x00000004, 0x0065BA9C, 0x0027D69C, 0x00659E9C, 0x0065CA9C,\n\t0x00000003, 0x0065BA9C, 0x0065829C, 0xA001281C,\n\t// Block 141, offset 0x2340\n\t0x00000005, 0x0065BA9C, 0x0065829C, 0xA001281C, 0x00659E9C, 0x0065D89C,\n\t0x00000004, 0x0065BE9C, 0x0027D69C, 0x00659E9C, 0xA001281C, 0x00000003,\n\t0x0065BE9C, 0x0027D69C, 0x0065CA9C, 0x00000003, 0x0065C09C, 0x0065769C,\n\t0x0065D89C, 0x00000004, 0x0065C89C, 0x00659A9C, 0x00659E9C, 0x0065CA9C,\n\t0x00000005, 0x0065CA9C, 0x0027D69C, 0x0065AE9C, 0xA001281C, 0x0065CA9C,\n\t0x00000004, 0x0065CA9C, 0x0065AC9C, 0xA001291C, 0x0027D69C, 0x00000006,\n\t0x0065CC9C, 0x0065D89C, 0x00659E9C, 0x0065889C, 0xA001281C, 0x0065D89C,\n\t0x00000002, 0x0065D091, 0xA0812802, 0x00000003, 0x0065D09C, 0x00659A9C,\n\t0x00659E9C, 0x00000002, 0x0065D291, 0xA0812802, 0x00000002, 0x0065D491,\n\t0xA0812802, 0x00000002, 0x0065D691, 0xA0812802, 0x00000002, 0x0065DA84,\n\t0xA0013A04, 0x00000002, 0x0065EC84, 0xA0013A04,\n\t// Block 142, offset 0x2380\n\t0x00000002, 0x0065F684, 0xA0013A04, 0x00000002, 0x00660684, 0xA0013A04,\n\t0x00000002, 0x00661284, 0xA0013A04, 0x00000002, 0x00661484, 0xA0013A04,\n\t0x00000002, 0x00661C84, 0xA0013A04, 0x00000002, 0x00661E84, 0xA0013A04,\n\t0x00000002, 0x00662284, 0xA0013A04, 0x00000002, 0x00663884, 0xA0013A04,\n\t0x00000002, 0x00663896, 0xA0013A16, 0x00000002, 0x00663A84, 0xA0013A04,\n\t0x00000002, 0x00663A84, 0xA0013C04, 0x00000002, 0x0075C284, 0xA0013904,\n\t0x00000002, 0x00862084, 0xA0013904, 0x00000002, 0x00862284, 0xA0013904,\n\t0x00000002, 0x00862484, 0xA0013904, 0x00000002, 0x00862684, 0xA0013904,\n\t0x00000002, 0x00862884, 0xA0013904, 0x00000002, 0x00862A84, 0xA0013904,\n\t0x00000002, 0x00862C84, 0xA0013904, 0x00000002, 0x00862C84, 0xA0013A04,\n\t0x00000002, 0x00862E84, 0xA0013904, 0x00000002,\n\t// Block 143, offset 0x23c0\n\t0x00863084, 0xA0013904, 0x00000002, 0x00863284, 0xA0013904, 0x00000002,\n\t0x00863284, 0xA0013A04, 0x00000002, 0x00863484, 0xA0013904, 0x00000002,\n\t0x00863484, 0xA0013A04, 0x00000002, 0x00863684, 0xA0013904, 0x00000002,\n\t0x00863684, 0xA0013A04, 0x00000002, 0x00863884, 0xA0013904, 0x00000002,\n\t0x00863A84, 0xA0013904, 0x00000002, 0x00863C84, 0xA0013904, 0x00000002,\n\t0x00863E84, 0xA0013904, 0x00000002, 0x00863E84, 0xA0013A04, 0x00000002,\n\t0x00863E84, 0xA0013C04, 0x00000002, 0x00864084, 0xA0013904, 0x00000002,\n\t0x00864284, 0xA0013904, 0x00000002, 0x00864484, 0xA0013904, 0x00000002,\n\t0x00864684, 0xA0013904, 0x00000002, 0x00864684, 0xA0013A04, 0x00000002,\n\t0x00864884, 0xA0013904, 0x00000002, 0x00864884, 0xA0013A04, 0x00000002,\n\t0x00864A84, 0xA0013904, 0x00000002, 0x00864C84,\n\t// Block 144, offset 0x2400\n\t0xA0013904, 0x00000002, 0x029C6C84, 0xA0013904, 0x00000002, 0x029CB284,\n\t0xA0013904, 0x00000002, 0x02A30484, 0xA0013904, 0x00000002, 0x02A3C084,\n\t0xA0013904, 0x00000002, 0x02A40084, 0xA0013904, 0x00000002, 0x02A6B884,\n\t0xA0013904, 0x00000002, 0x02A6D284, 0xA0013904, 0x00000002, 0x02A70484,\n\t0xA0013904, 0x00000002, 0x02B81E84, 0xA0013904, 0x00000002, 0x02B81E84,\n\t0xA0013A04, 0x00000002, 0x02B84484, 0xA0013904, 0x00000002, 0x02B84684,\n\t0xA0013904, 0x00000002, 0x02BEA084, 0xA0013904, 0x00000002, 0x02BF8684,\n\t0xA0013904, 0x00000002, 0x02CBCA84, 0xA0013904, 0x00000002, 0x02CE1084,\n\t0xA0013904, 0x00000004, 0x02D0549C, 0x02BE1E9C, 0x029E349C, 0x02F27C9C,\n\t0x00000002, 0x02D6F484, 0xA0013904, 0x00000002, 0x02E45684, 0xA0013904,\n\t0x00000002, 0x02E4B684, 0xA0013904, 0x00000002,\n\t// Block 145, offset 0x2440\n\t0x02E71684, 0xA0013904, 0x00000002, 0x02EB1684, 0xA0013904, 0x00000002,\n\t0x02EDDC84, 0xA0013904, 0x00000002, 0x02F27484, 0xA0013904, 0x00000002,\n\t0x02F5F284, 0xA0013904, 0x00000002, 0x02FEA484, 0xA0013904, 0x00000002,\n\t0x02FEA684, 0xA0013904, 0x00000002, 0x02FEA684, 0xA0013A04, 0x00000002,\n\t0x02FF1484, 0xA0013904, 0x00000002, 0x02FF1484, 0xA0013A04, 0x00000002,\n\t0x0300FE84, 0xA0013904, 0x00000002, 0x03011284, 0xA0013904, 0x00000002,\n\t0x0303F884, 0xA0013904, 0x00000002, 0x0304F284, 0xA0013904, 0x00000002,\n\t0x0304F284, 0xA0013A04, 0x00000002, 0x0313A484, 0xA0013904, 0x00000002,\n\t0x031B6684, 0xA0013904, 0x00000002, 0x031F6C84, 0xA0013904, 0x00000002,\n\t0x031F6C84, 0xA0013A04, 0x00000002, 0x03212284, 0xA0013904, 0x00000002,\n\t0x032C3884, 0xA0013904, 0x00000002, 0x032DD084,\n\t// Block 146, offset 0x2480\n\t0xA0013904, 0x00000002, 0x0331C084, 0xA0013904, 0x00000002, 0x03332C84,\n\t0xA0013904, 0x00000002, 0x03355084, 0xA0013904, 0x00000002, 0x03367884,\n\t0xA0013904, 0x00000002, 0x033CEA84, 0xA0013904, 0x00000002, 0x033E9484,\n\t0xA0013904, 0x00000002, 0x033EA484, 0xA0013904, 0x00000002, 0x033F1A84,\n\t0xA0013904, 0x00000002, 0x033F3884, 0xA0013904, 0x00000002, 0x033F3884,\n\t0xA0013A04, 0x00000003, 0x0003F484, 0x002C9884, 0x0003F69F, 0x00000003,\n\t0x0003F484, 0x002C988A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002D6884,\n\t0x0003F69F, 0x00000003, 0x0003F484, 0x002D688A, 0x0003F69F, 0x00000003,\n\t0x0003F484, 0x002D9A84, 0x0003F69F, 0x00000003, 0x0003F484, 0x002D9A8A,\n\t0x0003F69F, 0x00000003, 0x0003F484, 0x002DFE84, 0x0003F69F, 0x00000003,\n\t0x0003F484, 0x002DFE8A, 0x0003F69F, 0x00000003,\n\t// Block 147, offset 0x24c0\n\t0x0003F484, 0x002EE284, 0x0003F69F, 0x00000003, 0x0003F484, 0x002EE28A,\n\t0x0003F69F, 0x00000003, 0x0003F484, 0x002F5684, 0x0003F69F, 0x00000003,\n\t0x0003F484, 0x002F568A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002F7A84,\n\t0x0003F69F, 0x00000003, 0x0003F484, 0x002F7A8A, 0x0003F69F, 0x00000003,\n\t0x0003F484, 0x002FE684, 0x0003F69F, 0x00000003, 0x0003F484, 0x002FE68A,\n\t0x0003F69F, 0x00000003, 0x0003F484, 0x00302C84, 0x0003F69F, 0x00000003,\n\t0x0003F484, 0x00302C8A, 0x0003F69F, 0x00000003, 0x0003F484, 0x0030F684,\n\t0x0003F69F, 0x00000003, 0x0003F484, 0x0030F68A, 0x0003F69F, 0x00000003,\n\t0x0004B084, 0x002FE68A, 0x0004B29F, 0x00000002, 0x002C0A9D, 0x002F569C,\n\t0x00000002, 0x402C0C20, 0xAE604102, 0x00000002, 0x002C0C83, 0xAE604102,\n\t0x00000002, 0x402C0C20, 0xAE604702, 0x00000002,\n\t// Block 148, offset 0x2500\n\t0x402C0C20, 0xAE605202, 0x00000002, 0x002C0C83, 0xAE605202, 0x00000002,\n\t0x402C0C20, 0xACA05602, 0x00000002, 0x002C0C83, 0xACA05602, 0x00000002,\n\t0x402C0C20, 0xADC07002, 0x00000002, 0x002C0C83, 0xADC07002, 0x00000002,\n\t0x402C0C20, 0xADC07702, 0x00000002, 0x002C0C83, 0xADC07702, 0x00000002,\n\t0x402C0C20, 0xADC07802, 0x00000002, 0x002C0C83, 0xADC07802, 0x00000002,\n\t0x402C0C20, 0xADC07B02, 0x00000002, 0x002C0C83, 0xADC07B02, 0x00000002,\n\t0x402C0E20, 0xAE603202, 0x00000002, 0x002C0E83, 0xAE603202, 0x00000003,\n\t0x402C0E20, 0xAE603202, 0xAE605202, 0x00000003, 0x002C0E83, 0xAE603202,\n\t0xAE605202, 0x00000002, 0x402C0E20, 0xAE603C02, 0x00000002, 0x002C0E83,\n\t0xAE603C02, 0x00000002, 0x402C0E20, 0xAE604102, 0x00000002, 0x002C0E83,\n\t0xAE604102, 0x00000003, 0x402C0E20, 0xAE604102,\n\t// Block 149, offset 0x2540\n\t0xAE605202, 0x00000003, 0x002C0E83, 0xAE604102, 0xAE605202, 0x00000002,\n\t0x402C0E20, 0xAE605202, 0x00000002, 0x002C0E83, 0xAE605202, 0x00000002,\n\t0x402C0E20, 0xACA05602, 0x00000002, 0x002C0E83, 0xACA05602, 0x00000002,\n\t0x402C0E20, 0xADC07002, 0x00000002, 0x002C0E83, 0xADC07002, 0x00000003,\n\t0x402C0E20, 0xADC07002, 0xAE605202, 0x00000003, 0x002C0E83, 0xADC07002,\n\t0xAE605202, 0x00000002, 0x402C0E20, 0xADC07702, 0x00000002, 0x002C0E83,\n\t0xADC07702, 0x00000002, 0x402C1020, 0xAE603202, 0x00000002, 0x002C1083,\n\t0xAE603202, 0x00000002, 0x402C1020, 0xAE603502, 0x00000002, 0x002C1083,\n\t0xAE603502, 0x00000002, 0x402C1020, 0xAE603702, 0x00000002, 0x002C1083,\n\t0xAE603702, 0x00000002, 0x402C1020, 0xAE603C02, 0x00000002, 0x002C1083,\n\t0xAE603C02, 0x00000003, 0x402C1020, 0xAE603C02,\n\t// Block 150, offset 0x2580\n\t0xAE603202, 0x00000003, 0x002C1083, 0xAE603C02, 0xAE603202, 0x00000003,\n\t0x402C1020, 0xAE603C02, 0xAE603502, 0x00000003, 0x002C1083, 0xAE603C02,\n\t0xAE603502, 0x00000003, 0x402C1020, 0xAE603C02, 0xAE604E02, 0x00000003,\n\t0x002C1083, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C1020, 0xAE603C02,\n\t0xAE606402, 0x00000003, 0x002C1083, 0xAE603C02, 0xAE606402, 0x00000002,\n\t0x402C1020, 0xAE604102, 0x00000002, 0x002C1083, 0xAE604102, 0x00000002,\n\t0x402C1020, 0xAE604702, 0x00000002, 0x002C1083, 0xAE604702, 0x00000002,\n\t0x402C1020, 0xAE604E02, 0x00000002, 0x002C1083, 0xAE604E02, 0x00000002,\n\t0x402C1020, 0xAE605202, 0x00000002, 0x002C1083, 0xAE605202, 0x00000002,\n\t0x402C1020, 0xACA05602, 0x00000002, 0x002C1083, 0xACA05602, 0x00000003,\n\t0x402C1020, 0xACA05602, 0xAE603702, 0x00000003,\n\t// Block 151, offset 0x25c0\n\t0x002C1083, 0xACA05602, 0xAE603702, 0x00000002, 0x402C1020, 0xACA05902,\n\t0x00000002, 0x002C1083, 0xACA05902, 0x00000002, 0x402C1020, 0xAE605B02,\n\t0x00000002, 0x002C1083, 0xAE605B02, 0x00000003, 0x402C1020, 0xAE605B02,\n\t0xAE603202, 0x00000003, 0x002C1083, 0xAE605B02, 0xAE603202, 0x00000003,\n\t0x402C1020, 0xAE605B02, 0xAE603502, 0x00000003, 0x002C1083, 0xAE605B02,\n\t0xAE603502, 0x00000002, 0x402C1020, 0xAE606402, 0x00000002, 0x002C1083,\n\t0xAE606402, 0x00000002, 0x402C1020, 0xAE606502, 0x00000002, 0x002C1083,\n\t0xAE606502, 0x00000002, 0x402C1020, 0xAE606702, 0x00000002, 0x002C1083,\n\t0xAE606702, 0x00000002, 0x402C1020, 0xADC07002, 0x00000002, 0x002C1083,\n\t0xADC07002, 0x00000003, 0x402C1020, 0xADC07002, 0xAE603C02, 0x00000003,\n\t0x002C1083, 0xADC07002, 0xAE603C02, 0x00000002,\n\t// Block 152, offset 0x2600\n\t0x402C1020, 0xADC07802, 0x00000002, 0x002C1083, 0xADC07802, 0x00000002,\n\t0x402C1020, 0xADC07A02, 0x00000002, 0x002C1083, 0xADC07A02, 0x00000002,\n\t0x402C3C20, 0xAE603202, 0x00000002, 0x002C3C83, 0xAE603202, 0x00000002,\n\t0x402C3C20, 0xAE604102, 0x00000002, 0x002C3C83, 0xAE604102, 0x00000002,\n\t0x402C3C20, 0xACA05602, 0x00000002, 0x002C3C83, 0xACA05602, 0x00000002,\n\t0x402C3C20, 0xADC07002, 0x00000002, 0x002C3C83, 0xADC07002, 0x00000002,\n\t0x402C3C20, 0xADC07B02, 0x00000002, 0x002C3C83, 0xADC07B02, 0x00000002,\n\t0x402C3E20, 0xAE604702, 0x00000002, 0x002C3E83, 0xAE604702, 0x00000002,\n\t0x402C3E20, 0xAE605202, 0x00000002, 0x002C3E83, 0xAE605202, 0x00000002,\n\t0x402C4020, 0xAE603202, 0x00000002, 0x002C4083, 0xAE603202, 0x00000002,\n\t0x402C4020, 0xAE603502, 0x00000002, 0x002C4083,\n\t// Block 153, offset 0x2640\n\t0xAE603502, 0x00000002, 0x402C4020, 0xAE603702, 0x00000002, 0x002C4083,\n\t0xAE603702, 0x00000002, 0x402C4020, 0xAE603C02, 0x00000002, 0x002C4083,\n\t0xAE603C02, 0x00000002, 0x402C4020, 0xAE604102, 0x00000002, 0x002C4083,\n\t0xAE604102, 0x00000002, 0x402C4020, 0xAE604702, 0x00000002, 0x002C4083,\n\t0xAE604702, 0x00000003, 0x402C4020, 0xAE604702, 0xAE603202, 0x00000003,\n\t0x002C4083, 0xAE604702, 0xAE603202, 0x00000002, 0x402C4020, 0xAE604E02,\n\t0x00000002, 0x002C4083, 0xAE604E02, 0x00000002, 0x002C4083, 0xAE605202,\n\t0x00000002, 0x402C4020, 0xACA05902, 0x00000002, 0x002C4083, 0xACA05902,\n\t0x00000002, 0x402C4020, 0xAE605B02, 0x00000002, 0x002C4083, 0xAE605B02,\n\t0x00000002, 0x402C4020, 0xAE606402, 0x00000002, 0x002C4083, 0xAE606402,\n\t0x00000002, 0x402C4020, 0xAE606502, 0x00000002,\n\t// Block 154, offset 0x2680\n\t0x002C4083, 0xAE606502, 0x00000002, 0x402C4020, 0xAE606702, 0x00000002,\n\t0x002C4083, 0xAE606702, 0x00000002, 0x402C4020, 0xADC07002, 0x00000002,\n\t0x002C4083, 0xADC07002, 0x00000002, 0x402C4020, 0xADC07A02, 0x00000002,\n\t0x002C4083, 0xADC07A02, 0x00000002, 0x402C6620, 0xAE603202, 0x00000002,\n\t0x002C6683, 0xAE603202, 0x00000002, 0x402C6620, 0xAE604102, 0x00000002,\n\t0x002C6683, 0xAE604102, 0x00000002, 0x402C6620, 0xAE605202, 0x00000002,\n\t0x002C6683, 0xAE605202, 0x00000002, 0x402C6620, 0xACA05602, 0x00000002,\n\t0x002C6683, 0xACA05602, 0x00000002, 0x402C6620, 0xAE606502, 0x00000002,\n\t0x002C6683, 0xAE606502, 0x00000002, 0x402C6620, 0xAE606702, 0x00000002,\n\t0x002C6683, 0xAE606702, 0x00000002, 0x402C6620, 0xADC07002, 0x00000002,\n\t0x002C6683, 0xADC07002, 0x00000003, 0x402C6620,\n\t// Block 155, offset 0x26c0\n\t0xADC07002, 0xAE605B02, 0x00000003, 0x002C6683, 0xADC07002, 0xAE605B02,\n\t0x00000002, 0x402C6620, 0xADC07B02, 0x00000002, 0x002C6683, 0xADC07B02,\n\t0x00000002, 0x002C989C, 0x0030BE9D, 0x00000002, 0x002D0884, 0x002D9A84,\n\t0x00000002, 0x402D2420, 0xAE603202, 0x00000002, 0x002D2483, 0xAE603202,\n\t0x00000002, 0x402D2420, 0xAE603502, 0x00000002, 0x002D2483, 0xAE603502,\n\t0x00000002, 0x402D2420, 0xAE603702, 0x00000002, 0x002D2483, 0xAE603702,\n\t0x00000002, 0x402D2420, 0xAE603C02, 0x00000002, 0x002D2483, 0xAE603C02,\n\t0x00000003, 0x402D2420, 0xAE603C02, 0xAE603202, 0x00000003, 0x002D2483,\n\t0xAE603C02, 0xAE603202, 0x00000003, 0x402D2420, 0xAE603C02, 0xAE603502,\n\t0x00000003, 0x002D2483, 0xAE603C02, 0xAE603502, 0x00000003, 0x402D2420,\n\t0xAE603C02, 0xAE604E02, 0x00000003, 0x002D2483,\n\t// Block 156, offset 0x2700\n\t0xAE603C02, 0xAE604E02, 0x00000003, 0x402D2420, 0xAE603C02, 0xAE606402,\n\t0x00000003, 0x002D2483, 0xAE603C02, 0xAE606402, 0x00000002, 0x402D2420,\n\t0xAE604102, 0x00000002, 0x002D2483, 0xAE604102, 0x00000002, 0x402D2420,\n\t0xAE604702, 0x00000002, 0x002D2483, 0xAE604702, 0x00000003, 0x402D2420,\n\t0xAE604702, 0xAE605B02, 0x00000003, 0x002D2483, 0xAE604702, 0xAE605B02,\n\t0x00000002, 0x402D2420, 0xAE604D02, 0x00000002, 0x002D2483, 0xAE604D02,\n\t0x00000002, 0x402D2420, 0xAE604E02, 0x00000002, 0x002D2483, 0xAE604E02,\n\t0x00000003, 0x402D2420, 0xAE604E02, 0xAE603202, 0x00000003, 0x002D2483,\n\t0xAE604E02, 0xAE603202, 0x00000003, 0x402D2420, 0xAE604E02, 0xAE604702,\n\t0x00000003, 0x002D2483, 0xAE604E02, 0xAE604702, 0x00000003, 0x402D2420,\n\t0xAE604E02, 0xAE605B02, 0x00000003, 0x002D2483,\n\t// Block 157, offset 0x2740\n\t0xAE604E02, 0xAE605B02, 0x00000002, 0x402D2420, 0xAE605202, 0x00000002,\n\t0x002D2483, 0xAE605202, 0x00000003, 0x402D2420, 0xAE605202, 0xAE605B02,\n\t0x00000003, 0x002D2483, 0xAE605202, 0xAE605B02, 0x00000002, 0x402D2420,\n\t0xACA05902, 0x00000002, 0x002D2483, 0xACA05902, 0x00000003, 0x402D2420,\n\t0xACA05902, 0xAE605B02, 0x00000003, 0x002D2483, 0xACA05902, 0xAE605B02,\n\t0x00000002, 0x402D2420, 0xAE605B02, 0x00000002, 0x002D2483, 0xAE605B02,\n\t0x00000003, 0x402D2420, 0xAE605B02, 0xAE603202, 0x00000003, 0x002D2483,\n\t0xAE605B02, 0xAE603202, 0x00000003, 0x402D2420, 0xAE605B02, 0xAE603502,\n\t0x00000003, 0x002D2483, 0xAE605B02, 0xAE603502, 0x00000002, 0x402D2420,\n\t0xAE606402, 0x00000002, 0x002D2483, 0xAE606402, 0x00000002, 0x402D2420,\n\t0xAE606502, 0x00000002, 0x002D2483, 0xAE606502,\n\t// Block 158, offset 0x2780\n\t0x00000002, 0x402D2420, 0xAE606702, 0x00000002, 0x002D2483, 0xAE606702,\n\t0x00000002, 0x402D2420, 0xAD806802, 0x00000002, 0x002D2483, 0xAD806802,\n\t0x00000003, 0x402D2420, 0xAD806802, 0xAE603202, 0x00000003, 0x002D2483,\n\t0xAD806802, 0xAE603202, 0x00000003, 0x402D2420, 0xAD806802, 0xAE603502,\n\t0x00000003, 0x002D2483, 0xAD806802, 0xAE603502, 0x00000003, 0x402D2420,\n\t0xAD806802, 0xAE604E02, 0x00000003, 0x002D2483, 0xAD806802, 0xAE604E02,\n\t0x00000003, 0x402D2420, 0xAD806802, 0xAE606402, 0x00000003, 0x002D2483,\n\t0xAD806802, 0xAE606402, 0x00000003, 0x402D2420, 0xAD806802, 0xADC07002,\n\t0x00000003, 0x002D2483, 0xAD806802, 0xADC07002, 0x00000002, 0x402D2420,\n\t0xADC07002, 0x00000002, 0x002D2483, 0xADC07002, 0x00000003, 0x402D2420,\n\t0xADC07002, 0xAE603C02, 0x00000003, 0x002D2483,\n\t// Block 159, offset 0x27c0\n\t0xADC07002, 0xAE603C02, 0x00000002, 0x002D689C, 0x002BDE9C, 0x00000002,\n\t0x002D689D, 0x002D229C, 0x00000002, 0x002D689D, 0x002F2C9D, 0x00000002,\n\t0x002D689D, 0x0030BE9D, 0x00000002, 0x002D689D, 0x00312A9C, 0x00000002,\n\t0x002D9A84, 0x002D9A9F, 0x00000002, 0x002D9A8A, 0x002D9A9F, 0x00000003,\n\t0x002D9A84, 0x002D9A84, 0x002D9A9F, 0x00000003, 0x002D9A8A, 0x002D9A8A,\n\t0x002D9A9F, 0x00000002, 0x002D9A84, 0x002DCC84, 0x00000002, 0x002D9A8A,\n\t0x002DCC8A, 0x00000002, 0x002D9A9C, 0x002E9E9C, 0x00000002, 0x002D9A9D,\n\t0x00306C9D, 0x00000002, 0x002D9A84, 0x0030BE9F, 0x00000002, 0x002D9A8A,\n\t0x0030BE9F, 0x00000002, 0x002D9A84, 0x0030F69F, 0x00000002, 0x002D9A8A,\n\t0x0030F69F, 0x00000002, 0x002DFE9C, 0x002BDE9D, 0x00000002, 0x002DFE9D,\n\t0x002C0A9D, 0x00000002, 0x002DFE9C, 0x002D229C,\n\t// Block 160, offset 0x2800\n\t0x00000002, 0x002DFE9D, 0x002DFE9D, 0x00000002, 0x002DFE9C, 0x002E229C,\n\t0x00000002, 0x002DFE9C, 0x002E829C, 0x00000002, 0x002DFE9D, 0x002E829D,\n\t0x00000002, 0x002DFE9C, 0x00302C9C, 0x00000002, 0x002DFE9C, 0x0030BE9D,\n\t0x00000002, 0x002DFE9C, 0x0030E29D, 0x00000002, 0x002DFE9C, 0x0032A29D,\n\t0x00000002, 0x002E229C, 0x0030F69C, 0x00000002, 0x002E829C, 0x002FE69C,\n\t0x00000002, 0x002E9E8A, 0x002EE284, 0x00000002, 0x002E9E9C, 0x002FE69C,\n\t0x00000002, 0x002EE29C, 0x0030BE9D, 0x00000002, 0x002F2C9D, 0x002D689D,\n\t0x00000002, 0x002F2C9D, 0x002F7A9D, 0x00000002, 0x002F2C9C, 0x002FE69C,\n\t0x00000002, 0x002FE69D, 0x002C629D, 0x00000002, 0x002FE694, 0x002E8294,\n\t0x00000002, 0x002FE69C, 0x002F7A9C, 0x00000002, 0x002FE69D, 0x002FE69D,\n\t0x00000002, 0x002FE684, 0x00302C84, 0x00000002,\n\t// Block 161, offset 0x2840\n\t0x002FE69D, 0x0030BE9C, 0x00000002, 0x00302C94, 0x002E8294, 0x00000002,\n\t0x0030BE84, 0x002D9A9F, 0x00000002, 0x0030BE8A, 0x002D9A9F, 0x00000003,\n\t0x0030BE84, 0x002D9A84, 0x002D9A9F, 0x00000003, 0x0030BE8A, 0x002D9A8A,\n\t0x002D9A9F, 0x00000002, 0x4030E420, 0xAE603C02, 0x00000002, 0x0030E483,\n\t0xAE603C02, 0x00000002, 0x4030E420, 0xAE604102, 0x00000002, 0x0030E483,\n\t0xAE604102, 0x00000002, 0x4030E420, 0xAE604702, 0x00000002, 0x0030E483,\n\t0xAE604702, 0x00000002, 0x4030E420, 0xAE605202, 0x00000002, 0x0030E483,\n\t0xAE605202, 0x00000002, 0x4030E420, 0xACA05602, 0x00000002, 0x0030E483,\n\t0xACA05602, 0x00000002, 0x4030E420, 0xADC07002, 0x00000002, 0x0030E483,\n\t0xADC07002, 0x00000002, 0x4030E420, 0xADC07902, 0x00000002, 0x0030E483,\n\t0xADC07902, 0x00000002, 0x4030E420, 0xADC07B02,\n\t// Block 162, offset 0x2880\n\t0x00000002, 0x0030F684, 0x002D9A9F, 0x00000002, 0x0030F68A, 0x002D9A9F,\n\t0x00000003, 0x0030F684, 0x002D9A84, 0x002D9A9F, 0x00000003, 0x0030F68A,\n\t0x002D9A8A, 0x002D9A9F, 0x00000002, 0x0032769C, 0x002FE69C, 0x00000002,\n\t0x00393C99, 0x003A8E99, 0x00000002, 0x00393C9A, 0x003A8E9A, 0x00000002,\n\t0x00395699, 0x003A8E99, 0x00000002, 0x0039569A, 0x003A8E9A, 0x00000002,\n\t0x00395899, 0x003A8E99, 0x00000002, 0x0039589A, 0x003A8E9A, 0x00000002,\n\t0x00396499, 0x003A8E99, 0x00000002, 0x0039649A, 0x003A8E9A, 0x00000002,\n\t0x00397299, 0x003A8E99, 0x00000002, 0x0039729A, 0x003A8E9A, 0x00000002,\n\t0x00397499, 0x003A8E99, 0x00000002, 0x0039749A, 0x003A8E9A, 0x00000002,\n\t0x0039C699, 0x003A8E99, 0x00000002, 0x0039C69A, 0x003A8E9A, 0x00000002,\n\t0x0039C899, 0x003A8E99, 0x00000002, 0x0039C89A,\n\t// Block 163, offset 0x28c0\n\t0x003A8E9A, 0x00000002, 0x0039DC99, 0x003A8E99, 0x00000002, 0x0039DC9A,\n\t0x003A8E9A, 0x00000002, 0x0039DE99, 0x003A8E99, 0x00000002, 0x0039DE9A,\n\t0x003A8E9A, 0x00000002, 0x0039E699, 0x003A8E99, 0x00000002, 0x0039E69A,\n\t0x003A8E9A, 0x00000002, 0x0039EE99, 0x003A8E99, 0x00000002, 0x0039EE9A,\n\t0x003A8E9A, 0x00000002, 0x0039F099, 0x003A8E99, 0x00000002, 0x0039F09A,\n\t0x003A8E9A, 0x00000002, 0x0039FC99, 0x003A8E99, 0x00000002, 0x0039FC9A,\n\t0x003A8E9A, 0x00000002, 0x003A1299, 0x003A8E99, 0x00000002, 0x003A129A,\n\t0x003A8E9A, 0x00000002, 0x003A1A99, 0x003A8E99, 0x00000002, 0x003A1A9A,\n\t0x003A8E9A, 0x00000002, 0x003A4099, 0x003A8E99, 0x00000002, 0x003A409A,\n\t0x003A8E9A, 0x00000002, 0x003A4E9A, 0x003A8E9A, 0x00000002, 0x003A5699,\n\t0x003A8E99, 0x00000002, 0x003A569A, 0x003A8E9A,\n\t// Block 164, offset 0x2900\n\t0x00000002, 0x003A689A, 0x003A8E9A, 0x00000002, 0x003A9099, 0x003A8E99,\n\t0x00000002, 0x003A909A, 0x003A8E9A, 0x00000002, 0x402D6A20, 0xAE604702,\n\t0x00000002, 0x002D6A83, 0xAE604702, 0x00000002, 0x402D6A20, 0xAE605202,\n\t0x00000002, 0x002D6A83, 0xAE605202, 0x00000002, 0x002D9883, 0xAE603202,\n\t0x00000002, 0x002D9883, 0xAE603502, 0x00000002, 0x002D9883, 0xAE603702,\n\t0x00000002, 0x002D9883, 0xAE603C02, 0x00000002, 0x002D9883, 0xAE604102,\n\t0x00000002, 0x002D9883, 0xAE604702, 0x00000003, 0x002D9883, 0xAE604702,\n\t0xAE603202, 0x00000002, 0x002D9883, 0xAE604E02, 0x00000002, 0x002D9883,\n\t0xACA05902, 0x00000002, 0x002D9883, 0xAE605B02, 0x00000002, 0x002D9883,\n\t0xAE606402, 0x00000002, 0x002D9883, 0xAE606502, 0x00000002, 0x002D9883,\n\t0xAE606702, 0x00000002, 0x002D9883, 0xADC07002,\n\t// Block 165, offset 0x2940\n\t0x00000002, 0x002D9883, 0xADC07A02, 0x00000002, 0x402EE420, 0xAE604E02,\n\t0x00000002, 0x002EE483, 0xAE604E02, 0x00000002, 0x402EE420, 0xAE605B02,\n\t0x00000002, 0x002EE483, 0xAE605B02, 0x00000002, 0x40306E20, 0xAE603202,\n\t0x00000002, 0x00306E83, 0xAE603202, 0x00000002, 0x40306E20, 0xAE603502,\n\t0x00000002, 0x00306E83, 0xAE603502, 0x00000002, 0x40306E20, 0xAE604102,\n\t0x00000002, 0x00306E83, 0xAE604102, 0x00000002, 0x40306E20, 0xAE605B02,\n\t0x00000002, 0x00306E83, 0xAE605B02, 0x00000002, 0x402FE820, 0xAE605202,\n\t0x00000002, 0x002FE883, 0xAE605202, 0x00000002, 0x002C6294, 0xA0013914,\n\t0x00000002, 0x00302C83, 0x402D6820, 0x00000002, 0x00302C89, 0x002D6888,\n\t0x00000002, 0x40310021, 0xAE603202, 0x00000002, 0x003100A3, 0xAE603202,\n\t0x00000002, 0x40310021, 0xAE603502, 0x00000002,\n\t// Block 166, offset 0x2980\n\t0x003100A3, 0xAE603502, 0x00000002, 0x40310021, 0xAE604102, 0x00000002,\n\t0x003100A3, 0xAE604102, 0x00000002, 0x40310021, 0xAE605B02, 0x00000002,\n\t0x003100A3, 0xAE605B02, 0x00000002, 0x40320C20, 0xAE603202, 0x00000002,\n\t0x00320C83, 0xAE603202, 0x00000002, 0x40320C20, 0xAE605B02, 0x00000002,\n\t0x00320C83, 0xAE605B02, 0x00000002, 0x40320C21, 0xAE605B02, 0x00000002,\n\t0x00320CA3, 0xAE605B02, 0x00000002, 0x40320E20, 0xAE603202, 0x00000002,\n\t0x00320E83, 0xAE603202, 0x00000002, 0x40320E21, 0xAE604E02, 0x00000002,\n\t0x00320EA3, 0xAE604E02, 0x00000002, 0x40320E21, 0xAE605B02, 0x00000002,\n\t0x00320EA3, 0xAE605B02, 0x00000002, 0x40321020, 0xAE603202, 0x00000002,\n\t0x00321083, 0xAE603202, 0x00000002, 0x402BDE21, 0x002C9888, 0x00000002,\n\t0x002BDEA3, 0x002C9888, 0x00000003, 0x402BDE21,\n\t// Block 167, offset 0x29c0\n\t0x002C9888, 0xAE605B02, 0x00000003, 0x002BDEA3, 0x002C9888, 0xAE605B02,\n\t0x00000002, 0x402EE221, 0x002C9888, 0x00000002, 0x002EE2A3, 0x002C9888,\n\t0x00000003, 0x402EE221, 0x002C9888, 0xAE604E02, 0x00000003, 0x002EE2A3,\n\t0x002C9888, 0xAE604E02, 0x00000003, 0x402EE221, 0x002C9888, 0xAE605B02,\n\t0x00000003, 0x002EE2A3, 0x002C9888, 0xAE605B02, 0x00000002, 0x40306C21,\n\t0x002C9888, 0x00000002, 0x00306CA3, 0x002C9888, 0x00000003, 0x40306C21,\n\t0x002C9888, 0xAE603202, 0x00000003, 0x00306CA3, 0x002C9888, 0xAE603202,\n\t0x00000003, 0x40306C21, 0x002C9888, 0xAE603502, 0x00000003, 0x00306CA3,\n\t0x002C9888, 0xAE603502, 0x00000003, 0x40306C21, 0x002C9888, 0xAE604102,\n\t0x00000003, 0x00306CA3, 0x002C9888, 0xAE604102, 0x00000003, 0x40306C21,\n\t0x002C9888, 0xAE605B02, 0x00000003, 0x00306CA3,\n\t// Block 168, offset 0x2a00\n\t0x002C9888, 0xAE605B02, 0x00000002, 0x404A7620, 0x838225B3, 0x00000004,\n\t0x004A8083, 0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004A8084,\n\t0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004A8083, 0x404AB420,\n\t0x404A8020, 0x404AFA20, 0x00000004, 0x004A8084, 0x404AB420, 0x404A8020,\n\t0x404AFA20, 0x00000004, 0x004A8083, 0x404AFA20, 0x404A8020, 0x404AFA20,\n\t0x00000004, 0x004A8084, 0x404AFA20, 0x404A8020, 0x404AFA20, 0x00000002,\n\t0x404A8020, 0x828225B5, 0x00000004, 0x004AB083, 0x404A8020, 0x404A8020,\n\t0x404AFA20, 0x00000004, 0x004AB084, 0x404A8020, 0x404A8020, 0x404AFA20,\n\t0x00000004, 0x004AB083, 0x404A8420, 0x404A8020, 0x404AFA20, 0x00000004,\n\t0x004AB084, 0x404A8420, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AB083,\n\t0x404AB820, 0x404A8020, 0x404AFA20, 0x00000004,\n\t// Block 169, offset 0x2a40\n\t0x004AB084, 0x404AB820, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AB083,\n\t0x404AC020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AB084, 0x404AC020,\n\t0x404A8020, 0x404AFA20, 0x00000004, 0x004AB083, 0x404AC420, 0x404A8020,\n\t0x404AFA20, 0x00000004, 0x004AB084, 0x404AC420, 0x404A8020, 0x404AFA20,\n\t0x00000002, 0x404AB020, 0x828225B5, 0x00000002, 0x004AB083, 0x828225B5,\n\t0x00000004, 0x004AC083, 0x404A8020, 0x404A8020, 0x404AFA20, 0x00000004,\n\t0x004AC084, 0x404A8020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC083,\n\t0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC084, 0x404AB020,\n\t0x404A8020, 0x404AFA20, 0x00000004, 0x004AC083, 0x404AFA20, 0x404A8020,\n\t0x404AFA20, 0x00000004, 0x004AC084, 0x404AFA20, 0x404A8020, 0x404AFA20,\n\t0x00000002, 0x404AC020, 0x828225B5, 0x00000004,\n\t// Block 170, offset 0x2a80\n\t0x004AC483, 0x404A8420, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC484,\n\t0x404A8420, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC483, 0x404AB020,\n\t0x404A8020, 0x404AFA20, 0x00000004, 0x004AC484, 0x404AB020, 0x404A8020,\n\t0x404AFA20, 0x00000004, 0x004AC483, 0x404AB420, 0x404A8020, 0x404AFA20,\n\t0x00000004, 0x004AC484, 0x404AB420, 0x404A8020, 0x404AFA20, 0x00000002,\n\t0x404AD020, 0x828225B5, 0x00000004, 0x004AE083, 0x404A8020, 0x404A8020,\n\t0x404AFA20, 0x00000004, 0x004AE084, 0x404A8020, 0x404A8020, 0x404AFA20,\n\t0x00000004, 0x004AE083, 0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004,\n\t0x004AE084, 0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AE083,\n\t0x404AC020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AE084, 0x404AC020,\n\t0x404A8020, 0x404AFA20, 0x00000002, 0x404AEA20,\n\t// Block 171, offset 0x2ac0\n\t0x8281258B, 0x00000002, 0x404AF020, 0x8281258B, 0x00000002, 0x82822599,\n\t0x838225B3, 0x00000002, 0x8282259B, 0x828225B5, 0x00000002, 0x828225A3,\n\t0x828225B5, 0x00000002, 0x838225A3, 0x828225B5, 0x00000002, 0x828225A7,\n\t0x828225B5, 0x00000002, 0x828225AB, 0x828225B5, 0x00000002, 0x402BDE20,\n\t0xAE604202, 0x00000002, 0x002BDE88, 0xAE604202, 0x00000003, 0x402BDE20,\n\t0xAE604202, 0xAE603202, 0x00000003, 0x002BDE88, 0xAE604202, 0xAE603202,\n\t0x00000003, 0x402BDE20, 0xAE604202, 0xAE603502, 0x00000003, 0x002BDE88,\n\t0xAE604202, 0xAE603502, 0x00000003, 0x402BDE20, 0xAE604202, 0xAE604E02,\n\t0x00000003, 0x002BDE88, 0xAE604202, 0xAE604E02, 0x00000003, 0x402BDE20,\n\t0xAE604202, 0xAE606402, 0x00000003, 0x002BDE88, 0xAE604202, 0xAE606402,\n\t0x00000003, 0x402BDE20, 0xADC07002, 0xAE604202,\n\t// Block 172, offset 0x2b00\n\t0x00000003, 0x002BDE88, 0xADC07002, 0xAE604202, 0x00000002, 0x402C3A20,\n\t0xAE604202, 0x00000002, 0x002C3A88, 0xAE604202, 0x00000002, 0x402C9820,\n\t0xAE604202, 0x00000002, 0x002C9888, 0xAE604202, 0x00000003, 0x402C9820,\n\t0xAE604202, 0xAE603202, 0x00000003, 0x002C9888, 0xAE604202, 0xAE603202,\n\t0x00000003, 0x402C9820, 0xAE604202, 0xAE603502, 0x00000003, 0x002C9888,\n\t0xAE604202, 0xAE603502, 0x00000003, 0x402C9820, 0xAE604202, 0xAE604E02,\n\t0x00000003, 0x002C9888, 0xAE604202, 0xAE604E02, 0x00000003, 0x402C9820,\n\t0xAE604202, 0xAE606402, 0x00000003, 0x002C9888, 0xAE604202, 0xAE606402,\n\t0x00000003, 0x402C9820, 0xADC07002, 0xAE604202, 0x00000003, 0x002C9888,\n\t0xADC07002, 0xAE604202, 0x00000002, 0x402D2220, 0xAE604202, 0x00000002,\n\t0x002D2288, 0xAE604202, 0x00000002, 0x402D6820,\n\t// Block 173, offset 0x2b40\n\t0xAE604202, 0x00000002, 0x002D6888, 0xAE604202, 0x00000002, 0x402D9A20,\n\t0xAE604202, 0x00000002, 0x002D9A88, 0xAE604202, 0x00000002, 0x402DCC20,\n\t0xAE604202, 0x00000002, 0x002DCC88, 0xAE604202, 0x00000002, 0x402EE220,\n\t0xAE604202, 0x00000002, 0x002EE288, 0xAE604202, 0x00000003, 0x402EE220,\n\t0xAE604202, 0xAE603202, 0x00000003, 0x002EE288, 0xAE604202, 0xAE603202,\n\t0x00000003, 0x402EE220, 0xAE604202, 0xAE603502, 0x00000003, 0x002EE288,\n\t0xAE604202, 0xAE603502, 0x00000003, 0x402EE220, 0xAE604202, 0xAE604E02,\n\t0x00000003, 0x002EE288, 0xAE604202, 0xAE604E02, 0x00000003, 0x402EE220,\n\t0xAE604202, 0xAE606402, 0x00000003, 0x002EE288, 0xAE604202, 0xAE606402,\n\t0x00000003, 0x402EE220, 0xADC07002, 0xAE604202, 0x00000003, 0x002EE288,\n\t0xADC07002, 0xAE604202, 0x00000002, 0x402FE620,\n\t// Block 174, offset 0x2b80\n\t0xAE604202, 0x00000002, 0x002FE688, 0xAE604202, 0x00000002, 0x40306C20,\n\t0xAE604202, 0x00000002, 0x00306C88, 0xAE604202, 0x00000002, 0x4030E220,\n\t0xAE604202, 0x00000002, 0x0030E288, 0xAE604202, 0x00000002, 0x40310020,\n\t0xAE604202, 0x00000002, 0x00310088, 0xAE604202, 0x00000002, 0x40312A20,\n\t0xAE604202, 0x00000002, 0x00312A88, 0xAE604202, 0x00000003, 0x00026C84,\n\t0x00026C84, 0x0009429F, 0x00000002, 0x0002BA84, 0x0002BA9F, 0x00000002,\n\t0x0002BA84, 0x0002C49F, 0x00000002, 0x0002C484, 0x0002BA9F, 0x00000002,\n\t0x0002C484, 0x0002C49F, 0x00000002, 0x0002E484, 0x0002E49F, 0x00000002,\n\t0x0002E496, 0x0002E49F, 0x00000003, 0x0002E484, 0x0002E484, 0x0002E49F,\n\t0x00000003, 0x0002E496, 0x0002E496, 0x0002E49F, 0x00000003, 0x0003F484,\n\t0x0029CE84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t// Block 175, offset 0x2bc0\n\t0x0029D084, 0x0003F69F, 0x00000003, 0x0003F484, 0x0029D284, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0029D484, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0029D684, 0x0003F69F, 0x00000003, 0x0003F484, 0x0029D884, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0029DA84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0029DC84, 0x0003F69F, 0x00000003, 0x0003F484, 0x0029DE84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002BDE84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002BDE8A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002C0A84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002C0A8A, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002C3A84, 0x0003F69F, 0x00000003, 0x0003F484, 0x002C3A8A, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002C6284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002C628A, 0x0003F69F, 0x00000003, 0x0003F484,\n\t// Block 176, offset 0x2c00\n\t0x002D0884, 0x0003F69F, 0x00000003, 0x0003F484, 0x002D088A, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002D2284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002D228A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002DCC84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002DCC8A, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002E2284, 0x0003F69F, 0x00000003, 0x0003F484, 0x002E228A, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002E8284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002E828A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002E9E84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002E9E8A, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002F2C84, 0x0003F69F, 0x00000003, 0x0003F484, 0x002F2C8A, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x00306C84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x00306C8A, 0x0003F69F, 0x00000003, 0x0003F484,\n\t// Block 177, offset 0x2c40\n\t0x0030BE84, 0x0003F69F, 0x00000003, 0x0003F484, 0x0030BE8A, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0030E284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0030E28A, 0x0003F69F, 0x00000003, 0x0003F484, 0x00310084, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0031008A, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x00312A84, 0x0003F69F, 0x00000003, 0x0003F484, 0x00312A8A, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0062AC84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0062B084, 0x0003F69F, 0x00000003, 0x0003F484, 0x0062B284, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0062B684, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0062B884, 0x0003F69F, 0x00000003, 0x0003F484, 0x0062BA84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0062BE84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0062C284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t// Block 178, offset 0x2c80\n\t0x0062C484, 0x0003F69F, 0x00000003, 0x0003F484, 0x0062C884, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0062CA84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0062CC84, 0x0003F69F, 0x00000003, 0x0003F484, 0x0062CE84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0062D084, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x029C0084, 0x0003F69F, 0x00000003, 0x0003F484, 0x029C0684, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x029C1284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x029CBA84, 0x0003F69F, 0x00000003, 0x0003F484, 0x029D1884, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x029D2884, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x029DC684, 0x0003F69F, 0x00000003, 0x0003F484, 0x029E0284, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x029E2284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02A2D684, 0x0003F69F, 0x00000003, 0x0003F484,\n\t// Block 179, offset 0x2cc0\n\t0x02A2DA84, 0x0003F69F, 0x00000003, 0x0003F484, 0x02A56884, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x02A68284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02A6A884, 0x0003F69F, 0x00000003, 0x0003F484, 0x02A81A84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x02A8F884, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02ADB684, 0x0003F69F, 0x00000003, 0x0003F484, 0x02AE3E84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x02B6CC84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02CBCA84, 0x0003F69F, 0x00000003, 0x0003F484, 0x02CE1084, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x02CE1284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02CE5084, 0x0003F69F, 0x00000003, 0x0003F484, 0x02D05484, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x02D86884, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02E0D684, 0x0003F69F, 0x00000003, 0x0003F484,\n\t// Block 180, offset 0x2d00\n\t0x02E4F284, 0x0003F69F, 0x00000003, 0x0003F484, 0x02EDC684, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x02F27C84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02F2BA84, 0x0003F69F, 0x00000003, 0x0003F484, 0x02F2DA84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0303D484, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0303E684, 0x0003F69F, 0x00000003, 0x0003F484, 0x03194284, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x03198E84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0323A284, 0x0003F69F, 0x00000002, 0x00070484, 0x002C3A8A, 0x00000002,\n\t0x00070484, 0x002D088A, 0x00000002, 0x00094284, 0x0009429F, 0x00000003,\n\t0x00094284, 0x00094284, 0x0009429F, 0x00000002, 0x0029CC84, 0x0002409F,\n\t0x00000002, 0x0029CC84, 0x0002E49F, 0x00000002, 0x0029CC84, 0x02E1729F,\n\t0x00000002, 0x0029CE84, 0x0002409F, 0x00000002,\n\t// Block 181, offset 0x2d40\n\t0x0029CE84, 0x0002E49F, 0x00000002, 0x0029CE9E, 0x0009589E, 0x00000002,\n\t0x0029CE86, 0x0029CC86, 0x00000003, 0x0029CE84, 0x0029CC84, 0x0002E49F,\n\t0x00000003, 0x0029CE84, 0x0029CC84, 0x02CBCA9F, 0x00000003, 0x0029CE84,\n\t0x0029CC84, 0x02CE109F, 0x00000003, 0x0029CE84, 0x0029CC84, 0x02E1729F,\n\t0x00000002, 0x0029CE86, 0x0029CE86, 0x00000003, 0x0029CE84, 0x0029CE84,\n\t0x0002E49F, 0x00000003, 0x0029CE84, 0x0029CE84, 0x02CBCA9F, 0x00000003,\n\t0x0029CE84, 0x0029CE84, 0x02CE109F, 0x00000003, 0x0029CE84, 0x0029CE84,\n\t0x02E1729F, 0x00000002, 0x0029CE86, 0x0029D086, 0x00000003, 0x0029CE84,\n\t0x0029D084, 0x0002E49F, 0x00000003, 0x0029CE84, 0x0029D084, 0x02CBCA9F,\n\t0x00000003, 0x0029CE84, 0x0029D084, 0x02CE109F, 0x00000003, 0x0029CE84,\n\t0x0029D084, 0x02E1729F, 0x00000002, 0x0029CE86,\n\t// Block 182, offset 0x2d80\n\t0x0029D286, 0x00000003, 0x0029CE84, 0x0029D284, 0x0002E49F, 0x00000003,\n\t0x0029CE84, 0x0029D284, 0x02CBCA9F, 0x00000003, 0x0029CE84, 0x0029D284,\n\t0x02E1729F, 0x00000002, 0x0029CE86, 0x0029D486, 0x00000003, 0x0029CE84,\n\t0x0029D484, 0x0002E49F, 0x00000003, 0x0029CE84, 0x0029D484, 0x02CBCA9F,\n\t0x00000003, 0x0029CE84, 0x0029D484, 0x02E1729F, 0x00000002, 0x0029CE86,\n\t0x0029D686, 0x00000003, 0x0029CE84, 0x0029D684, 0x0002E49F, 0x00000003,\n\t0x0029CE84, 0x0029D684, 0x02CBCA9F, 0x00000003, 0x0029CE84, 0x0029D684,\n\t0x02E1729F, 0x00000002, 0x0029CE86, 0x0029D886, 0x00000003, 0x0029CE84,\n\t0x0029D884, 0x0002E49F, 0x00000003, 0x0029CE84, 0x0029D884, 0x02CBCA9F,\n\t0x00000003, 0x0029CE84, 0x0029D884, 0x02E1729F, 0x00000002, 0x0029CE86,\n\t0x0029DA86, 0x00000003, 0x0029CE84, 0x0029DA84,\n\t// Block 183, offset 0x2dc0\n\t0x0002E49F, 0x00000003, 0x0029CE84, 0x0029DA84, 0x02CBCA9F, 0x00000003,\n\t0x0029CE84, 0x0029DA84, 0x02E1729F, 0x00000002, 0x0029CE86, 0x0029DC86,\n\t0x00000003, 0x0029CE84, 0x0029DC84, 0x0002E49F, 0x00000003, 0x0029CE84,\n\t0x0029DC84, 0x02CBCA9F, 0x00000003, 0x0029CE84, 0x0029DC84, 0x02E1729F,\n\t0x00000002, 0x0029CE86, 0x0029DE86, 0x00000003, 0x0029CE84, 0x0029DE84,\n\t0x0002E49F, 0x00000003, 0x0029CE84, 0x0029DE84, 0x02CBCA9F, 0x00000003,\n\t0x0029CE84, 0x0029DE84, 0x02E1729F, 0x00000002, 0x0029CE84, 0x02CBCA9F,\n\t0x00000002, 0x0029CE84, 0x02CE109F, 0x00000002, 0x0029CE84, 0x02E1729F,\n\t0x00000002, 0x0029D084, 0x0002409F, 0x00000002, 0x0029D084, 0x0002E49F,\n\t0x00000002, 0x0029D086, 0x0029CC86, 0x00000003, 0x0029D084, 0x0029CC84,\n\t0x0002E49F, 0x00000003, 0x0029D084, 0x0029CC84,\n\t// Block 184, offset 0x2e00\n\t0x02CBCA9F, 0x00000003, 0x0029D084, 0x0029CC84, 0x02E1729F, 0x00000002,\n\t0x0029D086, 0x0029CE86, 0x00000003, 0x0029D084, 0x0029CE84, 0x02CBCA9F,\n\t0x00000003, 0x0029D084, 0x0029CE84, 0x02E1729F, 0x00000002, 0x0029D086,\n\t0x0029D086, 0x00000003, 0x0029D084, 0x0029D084, 0x02CBCA9F, 0x00000003,\n\t0x0029D084, 0x0029D084, 0x02E1729F, 0x00000002, 0x0029D086, 0x0029D286,\n\t0x00000003, 0x0029D084, 0x0029D284, 0x02CBCA9F, 0x00000003, 0x0029D084,\n\t0x0029D284, 0x02E1729F, 0x00000002, 0x0029D086, 0x0029D486, 0x00000003,\n\t0x0029D084, 0x0029D484, 0x02CBCA9F, 0x00000003, 0x0029D084, 0x0029D484,\n\t0x02E1729F, 0x00000002, 0x0029D086, 0x0029D686, 0x00000003, 0x0029D084,\n\t0x0029D684, 0x02CBCA9F, 0x00000002, 0x0029D086, 0x0029D886, 0x00000003,\n\t0x0029D084, 0x0029D884, 0x02CBCA9F, 0x00000002,\n\t// Block 185, offset 0x2e40\n\t0x0029D086, 0x0029DA86, 0x00000003, 0x0029D084, 0x0029DA84, 0x02CBCA9F,\n\t0x00000002, 0x0029D086, 0x0029DC86, 0x00000003, 0x0029D084, 0x0029DC84,\n\t0x02CBCA9F, 0x00000002, 0x0029D086, 0x0029DE86, 0x00000003, 0x0029D084,\n\t0x0029DE84, 0x02CBCA9F, 0x00000002, 0x0029D084, 0x02CBCA9F, 0x00000002,\n\t0x0029D084, 0x02CE109F, 0x00000002, 0x0029D084, 0x02E1729F, 0x00000002,\n\t0x0029D284, 0x0002409F, 0x00000002, 0x0029D284, 0x0002E49F, 0x00000002,\n\t0x0029D286, 0x0029CC86, 0x00000003, 0x0029D284, 0x0029CC84, 0x02CBCA9F,\n\t0x00000002, 0x0029D286, 0x0029CE86, 0x00000003, 0x0029D284, 0x0029CE84,\n\t0x02CBCA9F, 0x00000002, 0x0029D286, 0x0029D086, 0x00000002, 0x0029D286,\n\t0x0029D286, 0x00000002, 0x0029D286, 0x0029D486, 0x00000002, 0x0029D286,\n\t0x0029D686, 0x00000002, 0x0029D286, 0x0029D886,\n\t// Block 186, offset 0x2e80\n\t0x00000002, 0x0029D286, 0x0029DA86, 0x00000002, 0x0029D286, 0x0029DC86,\n\t0x00000002, 0x0029D286, 0x0029DE86, 0x00000002, 0x0029D284, 0x02CBCA9F,\n\t0x00000002, 0x0029D284, 0x02CE109F, 0x00000002, 0x0029D284, 0x02E1729F,\n\t0x00000002, 0x0029D484, 0x0002409F, 0x00000002, 0x0029D484, 0x0002E49F,\n\t0x00000002, 0x0029D486, 0x0029CC86, 0x00000002, 0x0029D486, 0x0029CE86,\n\t0x00000002, 0x0029D486, 0x0029D086, 0x00000002, 0x0029D486, 0x0029D286,\n\t0x00000002, 0x0029D486, 0x0029D486, 0x00000002, 0x0029D486, 0x0029D686,\n\t0x00000002, 0x0029D486, 0x0029D886, 0x00000002, 0x0029D486, 0x0029DA86,\n\t0x00000002, 0x0029D486, 0x0029DC86, 0x00000002, 0x0029D486, 0x0029DE86,\n\t0x00000002, 0x0029D484, 0x02CBCA9F, 0x00000002, 0x0029D484, 0x02CE109F,\n\t0x00000002, 0x0029D484, 0x02E1729F, 0x00000002,\n\t// Block 187, offset 0x2ec0\n\t0x0029D684, 0x0002409F, 0x00000002, 0x0029D684, 0x0002E49F, 0x00000002,\n\t0x0029D686, 0x0029CC86, 0x00000002, 0x0029D684, 0x02CBCA9F, 0x00000002,\n\t0x0029D684, 0x02CE109F, 0x00000002, 0x0029D684, 0x02E1729F, 0x00000002,\n\t0x0029D884, 0x0002409F, 0x00000002, 0x0029D884, 0x0002E49F, 0x00000002,\n\t0x0029D884, 0x02CBCA9F, 0x00000002, 0x0029D884, 0x02CE109F, 0x00000002,\n\t0x0029D884, 0x02E1729F, 0x00000002, 0x0029DA84, 0x0002409F, 0x00000002,\n\t0x0029DA84, 0x0002E49F, 0x00000002, 0x0029DA84, 0x02CBCA9F, 0x00000002,\n\t0x0029DA84, 0x02CE109F, 0x00000002, 0x0029DA84, 0x02E1729F, 0x00000002,\n\t0x0029DC84, 0x0002409F, 0x00000002, 0x0029DC84, 0x0002E49F, 0x00000002,\n\t0x0029DC84, 0x02CBCA9F, 0x00000002, 0x0029DC84, 0x02CE109F, 0x00000002,\n\t0x0029DC84, 0x02E1729F, 0x00000002, 0x0029DE84,\n\t// Block 188, offset 0x2f00\n\t0x0002409F, 0x00000002, 0x0029DE84, 0x0002E49F, 0x00000002, 0x0029DE84,\n\t0x02CBCA9F, 0x00000002, 0x0029DE84, 0x02CE109F, 0x00000002, 0x0029DE84,\n\t0x02E1729F, 0x00000002, 0x002BDE9D, 0x00306C9D, 0x00000002, 0x002BDE84,\n\t0x0031E284, 0x00000002, 0x402C1820, 0xA0105402, 0x00000002, 0x402C1A20,\n\t0xA0105402, 0x00000002, 0x402C1C20, 0xA0105402, 0x00000002, 0x402C2220,\n\t0xAE603202, 0x00000002, 0x402C2220, 0xAE603502, 0x00000002, 0x402C2220,\n\t0xAE603702, 0x00000003, 0x402C2220, 0xAE603702, 0xAE603202, 0x00000003,\n\t0x402C2220, 0xAE603702, 0xAE603502, 0x00000003, 0x402C2220, 0xAE603702,\n\t0xAE604E02, 0x00000003, 0x402C2220, 0xAE603702, 0xAE606402, 0x00000002,\n\t0x402C2220, 0xAE603C02, 0x00000003, 0x402C2220, 0xAE603C02, 0xAE603202,\n\t0x00000003, 0x402C2220, 0xAE603C02, 0xAE603502,\n\t// Block 189, offset 0x2f40\n\t0x00000003, 0x402C2220, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C2220,\n\t0xAE603C02, 0xAE606402, 0x00000002, 0x402C2220, 0xAE604102, 0x00000002,\n\t0x402C2220, 0xAE604302, 0x00000003, 0x402C2220, 0xAE604302, 0xAE603202,\n\t0x00000002, 0x402C2220, 0xAE604702, 0x00000003, 0x402C2220, 0xAE604702,\n\t0xAE605B02, 0x00000002, 0x402C2220, 0xAE604E02, 0x00000002, 0x402C2220,\n\t0xAE605202, 0x00000003, 0x402C2220, 0xAE605202, 0xAE605B02, 0x00000002,\n\t0x402C2220, 0xACA05902, 0x00000002, 0x402C2220, 0xAE605B02, 0x00000002,\n\t0x402C2220, 0xAE606402, 0x00000002, 0x402C2220, 0xAE606502, 0x00000002,\n\t0x402C2220, 0xAE606702, 0x00000002, 0x402C2220, 0xADC07002, 0x00000003,\n\t0x402C2220, 0xADC07002, 0xAE603702, 0x00000003, 0x402C2220, 0xADC07002,\n\t0xAE603C02, 0x00000002, 0x402C2220, 0xADC07602,\n\t// Block 190, offset 0x2f80\n\t0x00000002, 0x402C2420, 0xAE605202, 0x00000002, 0x402C2420, 0xADC07002,\n\t0x00000002, 0x402C2420, 0xADC07B02, 0x00000002, 0x402C2620, 0xAE603202,\n\t0x00000002, 0x402C2620, 0xAE603C02, 0x00000002, 0x402C2620, 0xAE604102,\n\t0x00000002, 0x402C2620, 0xAE605202, 0x00000002, 0x402C2620, 0xACA05602,\n\t0x00000003, 0x402C2620, 0xACA05602, 0xAE603202, 0x00000002, 0x402C2820,\n\t0xAE604102, 0x00000002, 0x402C2820, 0xAE605202, 0x00000002, 0x402C2820,\n\t0xACA05602, 0x00000002, 0x402C2820, 0xADC07002, 0x00000002, 0x402C2820,\n\t0xADC07802, 0x00000002, 0x402C2820, 0xADC07B02, 0x00000002, 0x402C2A20,\n\t0xAE603202, 0x00000002, 0x402C2A20, 0xAE603502, 0x00000002, 0x402C2A20,\n\t0xAE603702, 0x00000002, 0x402C2A20, 0xAE603C02, 0x00000003, 0x402C2A20,\n\t0xAE603C02, 0xAE603202, 0x00000003, 0x402C2A20,\n\t// Block 191, offset 0x2fc0\n\t0xAE603C02, 0xAE603502, 0x00000003, 0x402C2A20, 0xAE603C02, 0xAE604E02,\n\t0x00000003, 0x402C2A20, 0xAE603C02, 0xAE606402, 0x00000002, 0x402C2A20,\n\t0xAE604102, 0x00000002, 0x402C2A20, 0xAE604702, 0x00000002, 0x402C2A20,\n\t0xAE604E02, 0x00000002, 0x402C2A20, 0xAE605202, 0x00000002, 0x402C2A20,\n\t0xACA05602, 0x00000003, 0x402C2A20, 0xACA05602, 0xAE603702, 0x00000002,\n\t0x402C2A20, 0xACA05902, 0x00000002, 0x402C2A20, 0xAE605B02, 0x00000003,\n\t0x402C2A20, 0xAE605B02, 0xAE603202, 0x00000003, 0x402C2A20, 0xAE605B02,\n\t0xAE603502, 0x00000002, 0x402C2A20, 0xAE606402, 0x00000002, 0x402C2A20,\n\t0xAE606502, 0x00000002, 0x402C2A20, 0xAE606702, 0x00000002, 0x402C2A20,\n\t0xADC07002, 0x00000003, 0x402C2A20, 0xADC07002, 0xAE603C02, 0x00000002,\n\t0x402C2A20, 0xADC07802, 0x00000002, 0x402C2A20,\n\t// Block 192, offset 0x3000\n\t0xADC07A02, 0x00000002, 0x402C2C20, 0xAE605202, 0x00000002, 0x402C2E20,\n\t0xAE603202, 0x00000002, 0x402C2E20, 0xAE603702, 0x00000002, 0x402C2E20,\n\t0xAE603C02, 0x00000002, 0x402C2E20, 0xAE604102, 0x00000002, 0x402C2E20,\n\t0xAE605202, 0x00000002, 0x402C2E20, 0xACA05602, 0x00000002, 0x402C2E20,\n\t0xAE605B02, 0x00000002, 0x402C3020, 0xAE603C02, 0x00000002, 0x402C3020,\n\t0xAE604102, 0x00000002, 0x402C3020, 0xAE604702, 0x00000002, 0x402C3020,\n\t0xAE605202, 0x00000002, 0x402C3020, 0xACA05602, 0x00000002, 0x402C3020,\n\t0xADC07002, 0x00000002, 0x402C3020, 0xADC07902, 0x00000002, 0x402C3220,\n\t0xAE603202, 0x00000002, 0x402C3220, 0xAE603502, 0x00000002, 0x402C3220,\n\t0xAE603702, 0x00000002, 0x402C3220, 0xAE603C02, 0x00000002, 0x402C3220,\n\t0xAE604102, 0x00000002, 0x402C3220, 0xAE604702,\n\t// Block 193, offset 0x3040\n\t0x00000003, 0x402C3220, 0xAE604702, 0xAE603202, 0x00000002, 0x402C3220,\n\t0xAE604E02, 0x00000002, 0x402C3220, 0xAE605202, 0x00000002, 0x402C3220,\n\t0xACA05902, 0x00000002, 0x402C3220, 0xAE605B02, 0x00000002, 0x402C3220,\n\t0xAE606402, 0x00000002, 0x402C3220, 0xAE606502, 0x00000002, 0x402C3220,\n\t0xAE606702, 0x00000002, 0x402C3220, 0xADC07002, 0x00000002, 0x402C3220,\n\t0xADC07A02, 0x00000002, 0x402C3420, 0xAE603C02, 0x00000002, 0x402C3620,\n\t0xAE603202, 0x00000002, 0x402C3620, 0xAE604102, 0x00000002, 0x402C3620,\n\t0xACA05602, 0x00000002, 0x402C3620, 0xADC07002, 0x00000002, 0x402C3620,\n\t0xADC07B02, 0x00000002, 0x402C3820, 0xAE603202, 0x00000002, 0x402C3820,\n\t0xAE604102, 0x00000002, 0x402C3820, 0xACA05602, 0x00000002, 0x402C3820,\n\t0xADC07002, 0x00000003, 0x402C3820, 0xADC07002,\n\t// Block 194, offset 0x3080\n\t0xAE605B02, 0x00000002, 0x402C3820, 0xADC07802, 0x00000002, 0x402C3820,\n\t0xADC07B02, 0x00000002, 0x402C3A20, 0xAE603202, 0x00000002, 0x402C3A20,\n\t0xAE605202, 0x00000002, 0x402C3A20, 0xADC07002, 0x00000002, 0x002C3A9C,\n\t0x002C3A9C, 0x00000002, 0x002C3A8C, 0x002C628C, 0x00000002, 0x002C3A9C,\n\t0x002C629C, 0x00000002, 0x002C3A9C, 0x002E829C, 0x00000002, 0x402C3C20,\n\t0xAE603202, 0x00000002, 0x402C3C20, 0xAE603502, 0x00000002, 0x402C3C20,\n\t0xAE604102, 0x00000002, 0x402C3C20, 0xAE604E02, 0x00000002, 0x402C3C20,\n\t0xAE605202, 0x00000002, 0x402C3C20, 0xACA05602, 0x00000002, 0x402C3C20,\n\t0xADC07002, 0x00000002, 0x402C3C20, 0xADC07802, 0x00000002, 0x402C3C20,\n\t0xADC07B02, 0x00000002, 0x402C3E20, 0xAE603202, 0x00000002, 0x402C3E20,\n\t0xAE603502, 0x00000002, 0x402C3E20, 0xAE603702,\n\t// Block 195, offset 0x30c0\n\t0x00000002, 0x402C3E20, 0xAE603C02, 0x00000003, 0x402C3E20, 0xAE603C02,\n\t0xAE603202, 0x00000003, 0x402C3E20, 0xAE603C02, 0xAE603502, 0x00000003,\n\t0x402C3E20, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C3E20, 0xAE603C02,\n\t0xAE606402, 0x00000002, 0x402C3E20, 0xAE604102, 0x00000002, 0x402C3E20,\n\t0xAE604702, 0x00000003, 0x402C3E20, 0xAE604702, 0xAE605B02, 0x00000002,\n\t0x402C3E20, 0xAE604D02, 0x00000002, 0x402C3E20, 0xAE604E02, 0x00000003,\n\t0x402C3E20, 0xAE604E02, 0xAE603202, 0x00000003, 0x402C3E20, 0xAE604E02,\n\t0xAE604702, 0x00000003, 0x402C3E20, 0xAE604E02, 0xAE605B02, 0x00000002,\n\t0x402C3E20, 0xAE605202, 0x00000003, 0x402C3E20, 0xAE605202, 0xAE605B02,\n\t0x00000002, 0x402C3E20, 0xACA05902, 0x00000003, 0x402C3E20, 0xACA05902,\n\t0xAE605B02, 0x00000002, 0x402C3E20, 0xAE605B02,\n\t// Block 196, offset 0x3100\n\t0x00000003, 0x402C3E20, 0xAE605B02, 0xAE603202, 0x00000003, 0x402C3E20,\n\t0xAE605B02, 0xAE603502, 0x00000002, 0x402C3E20, 0xAE606402, 0x00000002,\n\t0x402C3E20, 0xAE606502, 0x00000002, 0x402C3E20, 0xAE606702, 0x00000002,\n\t0x402C3E20, 0xAD806802, 0x00000003, 0x402C3E20, 0xAD806802, 0xAE603202,\n\t0x00000003, 0x402C3E20, 0xAD806802, 0xAE603502, 0x00000003, 0x402C3E20,\n\t0xAD806802, 0xAE604E02, 0x00000003, 0x402C3E20, 0xAD806802, 0xAE606402,\n\t0x00000003, 0x402C3E20, 0xAD806802, 0xADC07002, 0x00000002, 0x402C3E20,\n\t0xADC07002, 0x00000003, 0x402C3E20, 0xADC07002, 0xAE603C02, 0x00000002,\n\t0x402C4020, 0xAE603202, 0x00000002, 0x402C4020, 0xAE605202, 0x00000002,\n\t0x402C4420, 0xAE603202, 0x00000002, 0x402C4420, 0xAE604102, 0x00000002,\n\t0x402C4420, 0xAE605202, 0x00000002, 0x402C4420,\n\t// Block 197, offset 0x3140\n\t0xACA05602, 0x00000002, 0x402C4420, 0xAE606502, 0x00000002, 0x402C4420,\n\t0xAE606702, 0x00000002, 0x402C4420, 0xADC07002, 0x00000003, 0x402C4420,\n\t0xADC07002, 0xAE605B02, 0x00000002, 0x402C4420, 0xADC07B02, 0x00000002,\n\t0x402C4620, 0xAE603202, 0x00000003, 0x402C4620, 0xAE603202, 0xAE605202,\n\t0x00000002, 0x402C4620, 0xAE603C02, 0x00000002, 0x402C4620, 0xAE604102,\n\t0x00000003, 0x402C4620, 0xAE604102, 0xAE605202, 0x00000002, 0x402C4620,\n\t0xAE605202, 0x00000002, 0x402C4620, 0xACA05602, 0x00000002, 0x402C4620,\n\t0xADC07002, 0x00000003, 0x402C4620, 0xADC07002, 0xAE605202, 0x00000002,\n\t0x402C4620, 0xADC07702, 0x00000002, 0x402C4820, 0xAE604102, 0x00000002,\n\t0x402C4820, 0xAE605202, 0x00000002, 0x402C4820, 0xACA05602, 0x00000002,\n\t0x402C4820, 0xADC07002, 0x00000002, 0x402C4820,\n\t// Block 198, offset 0x3180\n\t0xADC07702, 0x00000002, 0x402C4820, 0xADC07802, 0x00000002, 0x402C4820,\n\t0xADC07B02, 0x00000002, 0x402C4A20, 0xAE603202, 0x00000002, 0x402C4A20,\n\t0xAE603502, 0x00000002, 0x402C4A20, 0xAE603702, 0x00000002, 0x402C4A20,\n\t0xAE603C02, 0x00000002, 0x402C4A20, 0xAE604102, 0x00000002, 0x402C4A20,\n\t0xAE604302, 0x00000002, 0x402C4A20, 0xAE604702, 0x00000003, 0x402C4A20,\n\t0xAE604702, 0xAE603202, 0x00000003, 0x402C4A20, 0xAE604702, 0xAE603502,\n\t0x00000003, 0x402C4A20, 0xAE604702, 0xAE604102, 0x00000003, 0x402C4A20,\n\t0xAE604702, 0xAE605B02, 0x00000002, 0x402C4A20, 0xAE604D02, 0x00000002,\n\t0x402C4A20, 0xAE604E02, 0x00000003, 0x402C4A20, 0xAE604E02, 0xAE603202,\n\t0x00000002, 0x402C4A20, 0xACA05902, 0x00000002, 0x402C4A20, 0xAE605B02,\n\t0x00000003, 0x402C4A20, 0xAE605B02, 0xAE604702,\n\t// Block 199, offset 0x31c0\n\t0x00000002, 0x402C4A20, 0xAE606402, 0x00000002, 0x402C4A20, 0xAE606502,\n\t0x00000002, 0x402C4A20, 0xAE606702, 0x00000002, 0x402C4A20, 0xAD806802,\n\t0x00000003, 0x402C4A20, 0xAD806802, 0xAE603202, 0x00000003, 0x402C4A20,\n\t0xAD806802, 0xAE603502, 0x00000003, 0x402C4A20, 0xAD806802, 0xAE604E02,\n\t0x00000003, 0x402C4A20, 0xAD806802, 0xAE606402, 0x00000003, 0x402C4A20,\n\t0xAD806802, 0xADC07002, 0x00000002, 0x402C4A20, 0xADC07002, 0x00000002,\n\t0x402C4A20, 0xADC07502, 0x00000002, 0x402C4A20, 0xADC07802, 0x00000002,\n\t0x402C4A20, 0xADC07A02, 0x00000002, 0x402C4C20, 0xAE604E02, 0x00000002,\n\t0x402C4C20, 0xADC07002, 0x00000002, 0x402C4E20, 0xAE603202, 0x00000002,\n\t0x402C4E20, 0xAE603502, 0x00000002, 0x402C4E20, 0xAE603C02, 0x00000002,\n\t0x402C4E20, 0xAE604702, 0x00000002, 0x402C4E20,\n\t// Block 200, offset 0x3200\n\t0xAE605202, 0x00000002, 0x402C4E20, 0xADC07002, 0x00000002, 0x402C5020,\n\t0xAE604702, 0x00000002, 0x402C5020, 0xAE605202, 0x00000002, 0x402C5220,\n\t0xAE603202, 0x00000002, 0x402C5220, 0xAE603502, 0x00000002, 0x402C5220,\n\t0xAE603C02, 0x00000002, 0x402C5220, 0xAE604702, 0x00000002, 0x402C5220,\n\t0xAE604E02, 0x00000002, 0x402C5220, 0xAE605202, 0x00000002, 0x402C5220,\n\t0xAE605B02, 0x00000002, 0x402C5220, 0xAE606402, 0x00000002, 0x402C5220,\n\t0xADC07002, 0x00000002, 0x402C5420, 0xAE603202, 0x00000002, 0x402C5420,\n\t0xAE603C02, 0x00000002, 0x402C5420, 0xAE604102, 0x00000002, 0x402C5420,\n\t0xAE605202, 0x00000002, 0x402C5420, 0xADC07002, 0x00000002, 0x402C5420,\n\t0xADC07B02, 0x00000002, 0x402C6220, 0xAE603202, 0x00000002, 0x402C6220,\n\t0xAE603502, 0x00000002, 0x402C6220, 0xAE603702,\n\t// Block 201, offset 0x3240\n\t0x00000003, 0x402C6220, 0xAE603702, 0xAE603202, 0x00000003, 0x402C6220,\n\t0xAE603702, 0xAE603502, 0x00000003, 0x402C6220, 0xAE603702, 0xAE604E02,\n\t0x00000003, 0x402C6220, 0xAE603702, 0xAE606402, 0x00000002, 0x402C6220,\n\t0xAE603C02, 0x00000003, 0x402C6220, 0xAE603C02, 0xAE603202, 0x00000003,\n\t0x402C6220, 0xAE603C02, 0xAE603502, 0x00000003, 0x402C6220, 0xAE603C02,\n\t0xAE604E02, 0x00000003, 0x402C6220, 0xAE603C02, 0xAE606402, 0x00000002,\n\t0x402C6220, 0xAE604102, 0x00000002, 0x402C6220, 0xAE604302, 0x00000003,\n\t0x402C6220, 0xAE604302, 0xAE603202, 0x00000002, 0x402C6220, 0xAE604702,\n\t0x00000003, 0x402C6220, 0xAE604702, 0xAE605B02, 0x00000002, 0x402C6220,\n\t0xAE604E02, 0x00000002, 0x402C6220, 0xAE605202, 0x00000003, 0x402C6220,\n\t0xAE605202, 0xAE605B02, 0x00000002, 0x402C6220,\n\t// Block 202, offset 0x3280\n\t0xACA05902, 0x00000002, 0x402C6220, 0xAE605B02, 0x00000002, 0x402C6220,\n\t0xAE606402, 0x00000002, 0x402C6220, 0xAE606502, 0x00000002, 0x402C6220,\n\t0xAE606702, 0x00000002, 0x402C6220, 0xADC07002, 0x00000003, 0x402C6220,\n\t0xADC07002, 0xAE603702, 0x00000003, 0x402C6220, 0xADC07002, 0xAE603C02,\n\t0x00000002, 0x402C6220, 0xADC07602, 0x00000002, 0x002C629C, 0x002BDE9C,\n\t0x00000002, 0x002C629C, 0x002C0A9D, 0x00000002, 0x002C629D, 0x002DCC9D,\n\t0x00000002, 0x002C629C, 0x002E229C, 0x00000002, 0x002C629C, 0x002E829C,\n\t0x00000002, 0x002C6284, 0x00312A84, 0x00000002, 0x002C628A, 0x00312A84,\n\t0x00000002, 0x002C628A, 0x00312A8A, 0x00000002, 0x402C6420, 0xAE605202,\n\t0x00000002, 0x402C6420, 0xADC07002, 0x00000002, 0x402C6420, 0xADC07B02,\n\t0x00000002, 0x402C6620, 0xAE603202, 0x00000002,\n\t// Block 203, offset 0x32c0\n\t0x402C6620, 0xAE603C02, 0x00000002, 0x402C6620, 0xAE604102, 0x00000002,\n\t0x402C6620, 0xAE605202, 0x00000002, 0x402C6620, 0xACA05602, 0x00000003,\n\t0x402C6620, 0xACA05602, 0xAE603202, 0x00000002, 0x402C6820, 0xAE604102,\n\t0x00000002, 0x402C6820, 0xAE605202, 0x00000002, 0x402C6820, 0xACA05602,\n\t0x00000002, 0x402C6820, 0xADC07002, 0x00000002, 0x402C6820, 0xADC07802,\n\t0x00000002, 0x402C6820, 0xADC07B02, 0x00000002, 0x402C6A20, 0xAE603202,\n\t0x00000002, 0x402C6A20, 0xAE603502, 0x00000002, 0x402C6A20, 0xAE603702,\n\t0x00000002, 0x402C6A20, 0xAE603C02, 0x00000003, 0x402C6A20, 0xAE603C02,\n\t0xAE603202, 0x00000003, 0x402C6A20, 0xAE603C02, 0xAE603502, 0x00000003,\n\t0x402C6A20, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C6A20, 0xAE603C02,\n\t0xAE606402, 0x00000002, 0x402C6A20, 0xAE604102,\n\t// Block 204, offset 0x3300\n\t0x00000002, 0x402C6A20, 0xAE604702, 0x00000002, 0x402C6A20, 0xAE604E02,\n\t0x00000002, 0x402C6A20, 0xAE605202, 0x00000002, 0x402C6A20, 0xACA05602,\n\t0x00000003, 0x402C6A20, 0xACA05602, 0xAE603702, 0x00000002, 0x402C6A20,\n\t0xACA05902, 0x00000002, 0x402C6A20, 0xAE605B02, 0x00000003, 0x402C6A20,\n\t0xAE605B02, 0xAE603202, 0x00000003, 0x402C6A20, 0xAE605B02, 0xAE603502,\n\t0x00000002, 0x402C6A20, 0xAE606402, 0x00000002, 0x402C6A20, 0xAE606502,\n\t0x00000002, 0x402C6A20, 0xAE606702, 0x00000002, 0x402C6A20, 0xADC07002,\n\t0x00000003, 0x402C6A20, 0xADC07002, 0xAE603C02, 0x00000002, 0x402C6A20,\n\t0xADC07802, 0x00000002, 0x402C6A20, 0xADC07A02, 0x00000002, 0x402C6C20,\n\t0xAE605202, 0x00000002, 0x402C6E20, 0xAE603202, 0x00000002, 0x402C6E20,\n\t0xAE603702, 0x00000002, 0x402C6E20, 0xAE603C02,\n\t// Block 205, offset 0x3340\n\t0x00000002, 0x402C6E20, 0xAE604102, 0x00000002, 0x402C6E20, 0xAE605202,\n\t0x00000002, 0x402C6E20, 0xACA05602, 0x00000002, 0x402C6E20, 0xAE605B02,\n\t0x00000002, 0x402C7020, 0xAE603C02, 0x00000002, 0x402C7020, 0xAE604102,\n\t0x00000002, 0x402C7020, 0xAE604702, 0x00000002, 0x402C7020, 0xAE605202,\n\t0x00000002, 0x402C7020, 0xACA05602, 0x00000002, 0x402C7020, 0xADC07002,\n\t0x00000002, 0x402C7020, 0xADC07902, 0x00000002, 0x402C7020, 0xADC07B02,\n\t0x00000002, 0x402C7220, 0xAE603202, 0x00000002, 0x402C7220, 0xAE603502,\n\t0x00000002, 0x402C7220, 0xAE603702, 0x00000002, 0x402C7220, 0xAE603C02,\n\t0x00000002, 0x402C7220, 0xAE604102, 0x00000002, 0x402C7220, 0xAE604702,\n\t0x00000003, 0x402C7220, 0xAE604702, 0xAE603202, 0x00000002, 0x402C7220,\n\t0xAE604E02, 0x00000002, 0x402C7220, 0xACA05902,\n\t// Block 206, offset 0x3380\n\t0x00000002, 0x402C7220, 0xAE605B02, 0x00000002, 0x402C7220, 0xAE606402,\n\t0x00000002, 0x402C7220, 0xAE606502, 0x00000002, 0x402C7220, 0xAE606702,\n\t0x00000002, 0x402C7220, 0xADC07002, 0x00000002, 0x402C7220, 0xADC07A02,\n\t0x00000002, 0x402C7420, 0xAE603C02, 0x00000002, 0x402C7420, 0xAE604102,\n\t0x00000002, 0x402C7620, 0xAE603202, 0x00000002, 0x402C7620, 0xAE604102,\n\t0x00000002, 0x402C7620, 0xACA05602, 0x00000002, 0x402C7620, 0xADC07002,\n\t0x00000002, 0x402C7620, 0xADC07B02, 0x00000002, 0x402C7820, 0xAE603202,\n\t0x00000002, 0x402C7820, 0xAE604102, 0x00000002, 0x402C7820, 0xACA05602,\n\t0x00000002, 0x402C7820, 0xADC07002, 0x00000003, 0x402C7820, 0xADC07002,\n\t0xAE605B02, 0x00000002, 0x402C7820, 0xADC07802, 0x00000002, 0x402C7820,\n\t0xADC07B02, 0x00000002, 0x402C7A20, 0xAE603202,\n\t// Block 207, offset 0x33c0\n\t0x00000002, 0x402C7A20, 0xAE605202, 0x00000002, 0x402C7A20, 0xADC07002,\n\t0x00000002, 0x402C7C20, 0xAE603202, 0x00000002, 0x402C7C20, 0xAE603502,\n\t0x00000002, 0x402C7C20, 0xAE604102, 0x00000002, 0x402C7C20, 0xAE604E02,\n\t0x00000002, 0x402C7C20, 0xAE605202, 0x00000002, 0x402C7C20, 0xACA05602,\n\t0x00000002, 0x402C7C20, 0xADC07002, 0x00000002, 0x402C7C20, 0xADC07802,\n\t0x00000002, 0x402C7C20, 0xADC07B02, 0x00000002, 0x402C7E20, 0xAE603202,\n\t0x00000002, 0x402C7E20, 0xAE603502, 0x00000002, 0x402C7E20, 0xAE603702,\n\t0x00000002, 0x402C7E20, 0xAE603C02, 0x00000003, 0x402C7E20, 0xAE603C02,\n\t0xAE603202, 0x00000003, 0x402C7E20, 0xAE603C02, 0xAE603502, 0x00000003,\n\t0x402C7E20, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C7E20, 0xAE603C02,\n\t0xAE606402, 0x00000002, 0x402C7E20, 0xAE604102,\n\t// Block 208, offset 0x3400\n\t0x00000002, 0x402C7E20, 0xAE604702, 0x00000003, 0x402C7E20, 0xAE604702,\n\t0xAE605B02, 0x00000002, 0x402C7E20, 0xAE604D02, 0x00000002, 0x402C7E20,\n\t0xAE604E02, 0x00000003, 0x402C7E20, 0xAE604E02, 0xAE603202, 0x00000003,\n\t0x402C7E20, 0xAE604E02, 0xAE604702, 0x00000003, 0x402C7E20, 0xAE604E02,\n\t0xAE605B02, 0x00000002, 0x402C7E20, 0xAE605202, 0x00000003, 0x402C7E20,\n\t0xAE605202, 0xAE605B02, 0x00000002, 0x402C7E20, 0xACA05902, 0x00000003,\n\t0x402C7E20, 0xACA05902, 0xAE605B02, 0x00000002, 0x402C7E20, 0xAE605B02,\n\t0x00000003, 0x402C7E20, 0xAE605B02, 0xAE603202, 0x00000003, 0x402C7E20,\n\t0xAE605B02, 0xAE603502, 0x00000002, 0x402C7E20, 0xAE606402, 0x00000002,\n\t0x402C7E20, 0xAE606502, 0x00000002, 0x402C7E20, 0xAE606702, 0x00000002,\n\t0x402C7E20, 0xAD806802, 0x00000003, 0x402C7E20,\n\t// Block 209, offset 0x3440\n\t0xAD806802, 0xAE603202, 0x00000003, 0x402C7E20, 0xAD806802, 0xAE603502,\n\t0x00000003, 0x402C7E20, 0xAD806802, 0xAE604E02, 0x00000003, 0x402C7E20,\n\t0xAD806802, 0xAE606402, 0x00000003, 0x402C7E20, 0xAD806802, 0xADC07002,\n\t0x00000002, 0x402C7E20, 0xADC07002, 0x00000003, 0x402C7E20, 0xADC07002,\n\t0xAE603C02, 0x00000002, 0x402C8020, 0xAE603202, 0x00000002, 0x402C8020,\n\t0xAE605202, 0x00000002, 0x402C8420, 0xAE603202, 0x00000002, 0x402C8420,\n\t0xAE604102, 0x00000002, 0x402C8420, 0xAE605202, 0x00000002, 0x402C8420,\n\t0xACA05602, 0x00000002, 0x402C8420, 0xAE606502, 0x00000002, 0x402C8420,\n\t0xAE606702, 0x00000002, 0x402C8420, 0xADC07002, 0x00000003, 0x402C8420,\n\t0xADC07002, 0xAE605B02, 0x00000002, 0x402C8420, 0xADC07B02, 0x00000002,\n\t0x402C8620, 0xAE603202, 0x00000003, 0x402C8620,\n\t// Block 210, offset 0x3480\n\t0xAE603202, 0xAE605202, 0x00000002, 0x402C8620, 0xAE603C02, 0x00000002,\n\t0x402C8620, 0xAE604102, 0x00000003, 0x402C8620, 0xAE604102, 0xAE605202,\n\t0x00000002, 0x402C8620, 0xAE605202, 0x00000002, 0x402C8620, 0xACA05602,\n\t0x00000002, 0x402C8620, 0xADC07002, 0x00000003, 0x402C8620, 0xADC07002,\n\t0xAE605202, 0x00000002, 0x402C8620, 0xADC07702, 0x00000002, 0x402C8820,\n\t0xAE604102, 0x00000002, 0x402C8820, 0xAE604702, 0x00000002, 0x402C8820,\n\t0xAE605202, 0x00000002, 0x402C8820, 0xACA05602, 0x00000002, 0x402C8820,\n\t0xADC07002, 0x00000002, 0x402C8820, 0xADC07702, 0x00000002, 0x402C8820,\n\t0xADC07802, 0x00000002, 0x402C8820, 0xADC07B02, 0x00000002, 0x402C8A20,\n\t0xAE603202, 0x00000002, 0x402C8A20, 0xAE603502, 0x00000002, 0x402C8A20,\n\t0xAE603702, 0x00000002, 0x402C8A20, 0xAE603C02,\n\t// Block 211, offset 0x34c0\n\t0x00000002, 0x402C8A20, 0xAE604102, 0x00000002, 0x402C8A20, 0xAE604302,\n\t0x00000002, 0x402C8A20, 0xAE604702, 0x00000003, 0x402C8A20, 0xAE604702,\n\t0xAE603202, 0x00000003, 0x402C8A20, 0xAE604702, 0xAE603502, 0x00000003,\n\t0x402C8A20, 0xAE604702, 0xAE604102, 0x00000003, 0x402C8A20, 0xAE604702,\n\t0xAE605B02, 0x00000002, 0x402C8A20, 0xAE604D02, 0x00000002, 0x402C8A20,\n\t0xAE604E02, 0x00000003, 0x402C8A20, 0xAE604E02, 0xAE603202, 0x00000002,\n\t0x402C8A20, 0xACA05902, 0x00000002, 0x402C8A20, 0xAE605B02, 0x00000003,\n\t0x402C8A20, 0xAE605B02, 0xAE604702, 0x00000002, 0x402C8A20, 0xAE606402,\n\t0x00000002, 0x402C8A20, 0xAE606502, 0x00000002, 0x402C8A20, 0xAE606702,\n\t0x00000002, 0x402C8A20, 0xAD806802, 0x00000003, 0x402C8A20, 0xAD806802,\n\t0xAE603202, 0x00000003, 0x402C8A20, 0xAD806802,\n\t// Block 212, offset 0x3500\n\t0xAE603502, 0x00000003, 0x402C8A20, 0xAD806802, 0xAE604E02, 0x00000003,\n\t0x402C8A20, 0xAD806802, 0xAE606402, 0x00000003, 0x402C8A20, 0xAD806802,\n\t0xADC07002, 0x00000002, 0x402C8A20, 0xADC07002, 0x00000002, 0x402C8A20,\n\t0xADC07502, 0x00000002, 0x402C8A20, 0xADC07802, 0x00000002, 0x402C8A20,\n\t0xADC07A02, 0x00000002, 0x402C8C20, 0xAE604E02, 0x00000002, 0x402C8C20,\n\t0xADC07002, 0x00000002, 0x402C8E20, 0xAE603202, 0x00000002, 0x402C8E20,\n\t0xAE603502, 0x00000002, 0x402C8E20, 0xAE603C02, 0x00000002, 0x402C8E20,\n\t0xAE604302, 0x00000002, 0x402C8E20, 0xAE604702, 0x00000002, 0x402C8E20,\n\t0xAE605202, 0x00000002, 0x402C8E20, 0xADC07002, 0x00000002, 0x402C9020,\n\t0xAE604702, 0x00000002, 0x402C9020, 0xAE605202, 0x00000002, 0x402C9220,\n\t0xAE603202, 0x00000002, 0x402C9220, 0xAE603502,\n\t// Block 213, offset 0x3540\n\t0x00000002, 0x402C9220, 0xAE603C02, 0x00000002, 0x402C9220, 0xAE604302,\n\t0x00000002, 0x402C9220, 0xAE604702, 0x00000002, 0x402C9220, 0xAE604E02,\n\t0x00000002, 0x402C9220, 0xAE605202, 0x00000002, 0x402C9220, 0xAE605B02,\n\t0x00000002, 0x402C9220, 0xAE606402, 0x00000002, 0x402C9220, 0xADC07002,\n\t0x00000002, 0x402C9420, 0xAE603202, 0x00000002, 0x402C9420, 0xAE603C02,\n\t0x00000002, 0x402C9420, 0xAE604102, 0x00000002, 0x402C9420, 0xAE605202,\n\t0x00000002, 0x402C9420, 0xADC07002, 0x00000002, 0x402C9420, 0xADC07B02,\n\t0x00000002, 0x002D0884, 0x002D0884, 0x00000002, 0x002D0884, 0x002E2284,\n\t0x00000002, 0x002D089C, 0x002E829C, 0x00000002, 0x002D229D, 0x002C0A9D,\n\t0x00000002, 0x002D229D, 0x0031009C, 0x00000002, 0x002E2284, 0x002DCC84,\n\t0x00000002, 0x002E228A, 0x002DCC84, 0x00000002,\n\t// Block 214, offset 0x3580\n\t0x002E228A, 0x002DCC8A, 0x00000002, 0x002E229C, 0x002E829C, 0x00000002,\n\t0x002E229C, 0x002E9E9C, 0x00000002, 0x002E829C, 0x0029D09C, 0x00000002,\n\t0x002E829C, 0x0029D29C, 0x00000002, 0x002E829C, 0x002BDE9D, 0x00000002,\n\t0x002E829C, 0x002C0A9C, 0x00000002, 0x002E829D, 0x002C0A9D, 0x00000002,\n\t0x002E8294, 0x002C3A94, 0x00000002, 0x002E8294, 0x002C6294, 0x00000002,\n\t0x002E829C, 0x002D229C, 0x00000002, 0x002E829C, 0x002E229C, 0x00000002,\n\t0x002E829C, 0x002E829C, 0x00000002, 0x002E829C, 0x0030BE9D, 0x00000002,\n\t0x002E829D, 0x0030BE9D, 0x00000002, 0x002E829D, 0x0030BE9D, 0x00000002,\n\t0x002E829C, 0x0030E29D, 0x00000002, 0x002E829D, 0x0030E29D, 0x00000002,\n\t0x002E829D, 0x0032A29D, 0x00000002, 0x002E9E9C, 0x002BDE9D, 0x00000002,\n\t0x002E9E9C, 0x002D089D, 0x00000002, 0x002E9E84,\n\t// Block 215, offset 0x35c0\n\t0x002DCC84, 0x00000002, 0x002E9E8A, 0x002DCC84, 0x00000002, 0x002E9E8A,\n\t0x002DCC8A, 0x00000002, 0x002E9E9C, 0x002E829C, 0x00000002, 0x002E9E9C,\n\t0x0030BE9D, 0x00000002, 0x002E9E9C, 0x0030E29D, 0x00000002, 0x002F2C9C,\n\t0x002BDE9D, 0x00000002, 0x002F2C9D, 0x002BDE9C, 0x00000002, 0x002F2C9C,\n\t0x002C3A9C, 0x00000002, 0x002F2C9C, 0x002D089D, 0x00000002, 0x002F2C9C,\n\t0x0030BE9D, 0x00000002, 0x002F2C9C, 0x0030E29D, 0x00000002, 0x0030E29D,\n\t0x002C0A9C, 0x00000002, 0x0030E29D, 0x002C3A9D, 0x00000002, 0x0030E28C,\n\t0x00312A8C, 0x00000002, 0x0031DE84, 0x002E9E84, 0x00000002, 0x0032769C,\n\t0x002BDE9D, 0x00000002, 0x0032769C, 0x002D089D, 0x00000002, 0x0032769C,\n\t0x002D229C, 0x00000002, 0x0032769C, 0x002E229C, 0x00000002, 0x0032769C,\n\t0x002E829C, 0x00000002, 0x0032769C, 0x0030BE9D,\n\t// Block 216, offset 0x3600\n\t0x00000002, 0x0032769C, 0x0030E29D, 0x00000002, 0x40302620, 0xAE605202,\n\t0x00000002, 0x00302683, 0xAE605202, 0x00000002, 0x40302820, 0xAE603202,\n\t0x00000002, 0x00302883, 0xAE603202, 0x00000002, 0x40302820, 0xAE603C02,\n\t0x00000002, 0x00302883, 0xAE603C02, 0x00000002, 0x40302820, 0xAE605202,\n\t0x00000002, 0x00302883, 0xAE605202, 0x00000002, 0x40302820, 0xADC07002,\n\t0x00000002, 0x00302883, 0xADC07002, 0x00000002, 0x40302820, 0xADC07B02,\n\t0x00000002, 0x00302883, 0xADC07B02, 0x00000002, 0x4030BE21, 0xAE603202,\n\t0x00000002, 0x0030BEA3, 0xAE603202, 0x00000002, 0x4030BE21, 0xAE603502,\n\t0x00000002, 0x0030BEA3, 0xAE603502, 0x00000002, 0x4030BE21, 0xAE603C02,\n\t0x00000002, 0x0030BEA3, 0xAE603C02, 0x00000002, 0x4030BE21, 0xAE604302,\n\t0x00000002, 0x4030BE21, 0xAE604702, 0x00000002,\n\t// Block 217, offset 0x3640\n\t0x0030BEA3, 0xAE604702, 0x00000002, 0x4030BE21, 0xAE605202, 0x00000002,\n\t0x0030BEA3, 0xAE605202, 0x00000002, 0x4030BE21, 0xADC07002, 0x00000002,\n\t0x0030BEA3, 0xADC07002, 0x00000002, 0x4030EE20, 0xAE603202, 0x00000002,\n\t0x0030EE83, 0xAE603202, 0x00000002, 0x4030EE20, 0xAE603C02, 0x00000002,\n\t0x0030EE83, 0xAE603C02, 0x00000002, 0x4030EE20, 0xAE604702, 0x00000002,\n\t0x0030EE83, 0xAE604702, 0x00000002, 0x4030EE20, 0xAE605B02, 0x00000002,\n\t0x0030EE83, 0xAE605B02, 0x00000002, 0x4030EE20, 0xAD806802, 0x00000002,\n\t0x0030EE83, 0xAD806802, 0x00000002, 0x4030F020, 0xAE605B02, 0x00000002,\n\t0x0030F083, 0xAE605B02, 0x00000002, 0x4030F220, 0xAE605B02, 0x00000002,\n\t0x0030F283, 0xAE605B02, 0x00000002, 0x4030F420, 0xAE603202, 0x00000002,\n\t0x0030F483, 0xAE603202, 0x00000002, 0x4030F420,\n\t// Block 218, offset 0x3680\n\t0xAE603502, 0x00000002, 0x0030F483, 0xAE603502, 0x00000002, 0x4030F420,\n\t0xAE604102, 0x00000002, 0x0030F483, 0xAE604102, 0x00000002, 0x4030F420,\n\t0xAE605B02, 0x00000002, 0x0030F483, 0xAE605B02, 0x00000002, 0xA000B218,\n\t0xA000BA18, 0x00000002, 0xA000B618, 0xA000BA18, 0x00000002, 0x00393899,\n\t0xA000A219, 0x00000002, 0x0039389A, 0xA000A21A, 0x00000002, 0x00393C97,\n\t0x003A6897, 0x00000002, 0x00393C98, 0x003A6898, 0x00000002, 0x00393C99,\n\t0x003A9099, 0x00000002, 0x00393C9A, 0x003A909A, 0x00000002, 0x00395697,\n\t0x003A6897, 0x00000002, 0x00395698, 0x003A6898, 0x00000002, 0x00395699,\n\t0x003A9099, 0x00000002, 0x0039569A, 0x003A909A, 0x00000002, 0x00395898,\n\t0x003A6898, 0x00000002, 0x00395899, 0x003A9099, 0x00000002, 0x0039589A,\n\t0x003A909A, 0x00000002, 0x00396499, 0x003A9099,\n\t// Block 219, offset 0x36c0\n\t0x00000002, 0x0039649A, 0x003A909A, 0x00000002, 0x00397299, 0x003A9099,\n\t0x00000002, 0x0039729A, 0x003A909A, 0x00000002, 0x00397499, 0x003A9099,\n\t0x00000002, 0x0039749A, 0x003A909A, 0x00000002, 0x0039C697, 0x003A6897,\n\t0x00000002, 0x0039C698, 0x003A6898, 0x00000002, 0x0039C699, 0x003A9099,\n\t0x00000002, 0x0039C69A, 0x003A909A, 0x00000002, 0x0039C897, 0x003A6897,\n\t0x00000002, 0x0039C898, 0x003A6898, 0x00000002, 0x0039C899, 0x003A9099,\n\t0x00000002, 0x0039C89A, 0x003A909A, 0x00000002, 0x0039DC99, 0x003A9099,\n\t0x00000002, 0x0039DC9A, 0x003A909A, 0x00000002, 0x0039DE99, 0x003A9099,\n\t0x00000002, 0x0039DE9A, 0x003A909A, 0x00000002, 0x0039E699, 0x003A9099,\n\t0x00000002, 0x0039E69A, 0x003A909A, 0x00000002, 0x0039EE99, 0x003A9099,\n\t0x00000002, 0x0039EE9A, 0x003A909A, 0x00000002,\n\t// Block 220, offset 0x3700\n\t0x0039F099, 0x003A9099, 0x00000002, 0x0039F09A, 0x003A909A, 0x00000002,\n\t0x0039FC99, 0x003A9099, 0x00000002, 0x0039FC9A, 0x003A909A, 0x00000002,\n\t0x003A1299, 0x003A9099, 0x00000002, 0x003A129A, 0x003A909A, 0x00000002,\n\t0x003A1A99, 0x00393899, 0x00000002, 0x003A1A9A, 0x0039389A, 0x00000002,\n\t0x003A1A97, 0x00396497, 0x00000002, 0x003A1A9A, 0x0039649A, 0x00000002,\n\t0x003A1A97, 0x00397297, 0x00000002, 0x003A1A9A, 0x0039729A, 0x00000002,\n\t0x003A1A97, 0x00397497, 0x00000002, 0x003A1A9A, 0x0039749A, 0x00000002,\n\t0x003A1A97, 0x003A4097, 0x00000002, 0x003A1A98, 0x003A4098, 0x00000002,\n\t0x003A1A99, 0x003A4099, 0x00000002, 0x003A1A9A, 0x003A409A, 0x00000002,\n\t0x003A1A97, 0x003A4E97, 0x00000002, 0x003A1A98, 0x003A4E98, 0x00000002,\n\t0x003A1A99, 0x003A4E99, 0x00000002, 0x003A1A9A,\n\t// Block 221, offset 0x3740\n\t0x003A4E9A, 0x00000002, 0x003A1A99, 0x003A9099, 0x00000002, 0x003A1A9A,\n\t0x003A909A, 0x00000002, 0x003A4097, 0x003A6897, 0x00000002, 0x003A4099,\n\t0x003A9099, 0x00000002, 0x003A409A, 0x003A909A, 0x00000002, 0x003A4E9A,\n\t0x003A909A, 0x00000002, 0x003A5697, 0x003A6897, 0x00000002, 0x003A5698,\n\t0x003A6898, 0x00000002, 0x003A5699, 0x003A9099, 0x00000002, 0x003A569A,\n\t0x003A909A, 0x00000002, 0x003A6897, 0xA000D117, 0x00000002, 0x003A6897,\n\t0x00396497, 0x00000002, 0x003A689A, 0x0039649A, 0x00000002, 0x003A6897,\n\t0x003A4E97, 0x00000002, 0x003A689A, 0x003A4E9A, 0x00000002, 0x003A689A,\n\t0x003A909A, 0x00000002, 0x003A7299, 0xA000BE19, 0x00000002, 0x003A729A,\n\t0xA000BE1A, 0x00000002, 0x403A8822, 0xAE60BE02, 0x00000002, 0x003A8E99,\n\t0xA000D119, 0x00000002, 0x003A8E9A, 0xA000D11A,\n\t// Block 222, offset 0x3780\n\t0x00000002, 0x003A9084, 0x00391C84, 0x00000002, 0x003A9097, 0x00396497,\n\t0x00000002, 0x003A909A, 0x0039649A, 0x00000002, 0x003A9097, 0x00397297,\n\t0x00000002, 0x003A909A, 0x0039729A, 0x00000002, 0x003A9097, 0x00397497,\n\t0x00000002, 0x003A909A, 0x0039749A, 0x00000002, 0x003A9099, 0x0039A499,\n\t0x00000002, 0x003A9099, 0x0039A699, 0x00000002, 0x003A9097, 0x003A4E97,\n\t0x00000002, 0x003A9098, 0x003A4E98, 0x00000002, 0x003A9099, 0x003A4E99,\n\t0x00000002, 0x003A909A, 0x003A4E9A, 0x00000002, 0x003A9099, 0x003A5699,\n\t0x00000002, 0x003A9097, 0x003A6897, 0x00000002, 0x003A9098, 0x003A6898,\n\t0x00000002, 0x003A9099, 0x003A9099, 0x00000002, 0x003A909A, 0x003A909A,\n\t0x00000002, 0x403A9222, 0xAE60BE02, 0x00000002, 0x003AAA99, 0xA000BE19,\n\t0x00000002, 0x003AAA9A, 0xA000BE1A, 0x00000002,\n\t// Block 223, offset 0x37c0\n\t0x402C6221, 0x40021220, 0x00000002, 0x002C62A3, 0x40021220, 0x00000002,\n\t0x402D2221, 0x40021220, 0x00000002, 0x002D22A3, 0x40021220, 0x00000002,\n\t0x402E9E21, 0x40021220, 0x00000002, 0x002E9EA3, 0x40021220, 0x00000002,\n\t0x40302C21, 0x40021220, 0x00000002, 0x00302CA3, 0x40021220, 0x00000002,\n\t0x40312A21, 0x40021220, 0x00000002, 0x00312AA3, 0x40021220, 0x00000003,\n\t0x40312A21, 0x40021220, 0xAE604102, 0x00000003, 0x00312AA3, 0x40021220,\n\t0xAE604102, 0x00000002, 0x40320E20, 0xAE605B02, 0x00000002, 0x00320E83,\n\t0xAE605B02, 0x00000002, 0x40320E21, 0xAE603202, 0x00000002, 0x00320EA3,\n\t0xAE603202, 0x00000002, 0x40321020, 0xAE604E02, 0x00000002, 0x00321083,\n\t0xAE604E02, 0x00000002, 0x40321020, 0xAE605B02, 0x00000002, 0x00321083,\n\t0xAE605B02, 0x00000002, 0x40321021, 0xAE603202,\n\t// Block 224, offset 0x3800\n\t0x00000002, 0x003210A3, 0xAE603202, 0x00000002, 0x40302C21, 0x402D6820,\n\t0x00000002, 0x00302CA3, 0x402D6820, 0x00000002, 0x40321023, 0xAE603202,\n\t0x00000002, 0x003210E3, 0xAE603202, 0x00000002, 0x40321023, 0xAE603C02,\n\t0x00000002, 0x003210E3, 0xAE603C02, 0x00000002, 0x40321023, 0xAE604702,\n\t0x00000002, 0x003210E3, 0xAE604702, 0x00000002, 0x40321023, 0xAE605B02,\n\t0x00000002, 0x003210E3, 0xAE605B02, 0x00000002, 0x40321023, 0xAD806802,\n\t0x00000002, 0x003210E3, 0xAD806802, 0x00000002, 0x002BDE83, 0xAE603202,\n\t0x00000002, 0x002BDE83, 0xAE603502, 0x00000002, 0x002BDE83, 0xAE603702,\n\t0x00000003, 0x002BDE83, 0xAE603702, 0xAE603202, 0x00000003, 0x002BDE83,\n\t0xAE603702, 0xAE603502, 0x00000003, 0x002BDE83, 0xAE603702, 0xAE604E02,\n\t0x00000003, 0x002BDE83, 0xAE603702, 0xAE606402,\n\t// Block 225, offset 0x3840\n\t0x00000002, 0x002BDE83, 0xAE603C02, 0x00000003, 0x002BDE83, 0xAE603C02,\n\t0xAE603202, 0x00000003, 0x002BDE83, 0xAE603C02, 0xAE603502, 0x00000003,\n\t0x002BDE83, 0xAE603C02, 0xAE604E02, 0x00000003, 0x002BDE83, 0xAE603C02,\n\t0xAE606402, 0x00000002, 0x002BDE83, 0xAE604102, 0x00000002, 0x002BDE83,\n\t0xAE604302, 0x00000003, 0x002BDE83, 0xAE604302, 0xAE603202, 0x00000002,\n\t0x002BDE83, 0xAE604702, 0x00000003, 0x002BDE83, 0xAE604702, 0xAE605B02,\n\t0x00000002, 0x002BDE83, 0xAE604E02, 0x00000002, 0x002BDE83, 0xAE605202,\n\t0x00000003, 0x002BDE83, 0xAE605202, 0xAE605B02, 0x00000002, 0x002BDE83,\n\t0xACA05902, 0x00000002, 0x002BDE83, 0xAE605B02, 0x00000002, 0x002BDE83,\n\t0xAE606402, 0x00000002, 0x002BDE83, 0xAE606502, 0x00000002, 0x002BDE83,\n\t0xAE606702, 0x00000002, 0x002BDE83, 0xADC07002,\n\t// Block 226, offset 0x3880\n\t0x00000003, 0x002BDE83, 0xADC07002, 0xAE603702, 0x00000003, 0x002BDE83,\n\t0xADC07002, 0xAE603C02, 0x00000002, 0x002BDE83, 0xADC07602, 0x00000002,\n\t0x402BE020, 0xAE603202, 0x00000002, 0x002BE083, 0xAE603202, 0x00000002,\n\t0x402BE020, 0xAE603502, 0x00000002, 0x002BE083, 0xAE603502, 0x00000002,\n\t0x402BE020, 0xAE603702, 0x00000002, 0x002BE083, 0xAE603702, 0x00000002,\n\t0x402BE020, 0xAE603C02, 0x00000002, 0x002BE083, 0xAE603C02, 0x00000003,\n\t0x402BE020, 0xAE603C02, 0xAE603202, 0x00000003, 0x002BE083, 0xAE603C02,\n\t0xAE603202, 0x00000003, 0x402BE020, 0xAE603C02, 0xAE603502, 0x00000003,\n\t0x002BE083, 0xAE603C02, 0xAE603502, 0x00000003, 0x402BE020, 0xAE603C02,\n\t0xAE604E02, 0x00000003, 0x002BE083, 0xAE603C02, 0xAE604E02, 0x00000003,\n\t0x402BE020, 0xAE603C02, 0xAE606402, 0x00000003,\n\t// Block 227, offset 0x38c0\n\t0x002BE083, 0xAE603C02, 0xAE606402, 0x00000002, 0x402BE020, 0xAE604102,\n\t0x00000002, 0x002BE083, 0xAE604102, 0x00000002, 0x402BE020, 0xAE604702,\n\t0x00000002, 0x002BE083, 0xAE604702, 0x00000002, 0x402BE020, 0xAE604E02,\n\t0x00000002, 0x002BE083, 0xAE604E02, 0x00000002, 0x402BE020, 0xAE605202,\n\t0x00000002, 0x002BE083, 0xAE605202, 0x00000002, 0x402BE020, 0xACA05602,\n\t0x00000002, 0x002BE083, 0xACA05602, 0x00000003, 0x402BE020, 0xACA05602,\n\t0xAE603702, 0x00000003, 0x002BE083, 0xACA05602, 0xAE603702, 0x00000002,\n\t0x402BE020, 0xACA05902, 0x00000002, 0x002BE083, 0xACA05902, 0x00000002,\n\t0x402BE020, 0xAE605B02, 0x00000002, 0x002BE083, 0xAE605B02, 0x00000003,\n\t0x402BE020, 0xAE605B02, 0xAE603202, 0x00000003, 0x002BE083, 0xAE605B02,\n\t0xAE603202, 0x00000003, 0x402BE020, 0xAE605B02,\n\t// Block 228, offset 0x3900\n\t0xAE603502, 0x00000003, 0x002BE083, 0xAE605B02, 0xAE603502, 0x00000002,\n\t0x402BE020, 0xAE606402, 0x00000002, 0x002BE083, 0xAE606402, 0x00000002,\n\t0x402BE020, 0xAE606502, 0x00000002, 0x002BE083, 0xAE606502, 0x00000002,\n\t0x402BE020, 0xAE606702, 0x00000002, 0x002BE083, 0xAE606702, 0x00000002,\n\t0x402BE020, 0xADC07002, 0x00000002, 0x002BE083, 0xADC07002, 0x00000003,\n\t0x402BE020, 0xADC07002, 0xAE603C02, 0x00000003, 0x002BE083, 0xADC07002,\n\t0xAE603C02, 0x00000002, 0x402BE020, 0xADC07802, 0x00000002, 0x002BE083,\n\t0xADC07802, 0x00000002, 0x402BE020, 0xADC07A02, 0x00000002, 0x002BE083,\n\t0xADC07A02, 0x00000002, 0x402BE220, 0xAE603202, 0x00000002, 0x002BE283,\n\t0xAE603202, 0x00000002, 0x402BE220, 0xAE603502, 0x00000002, 0x002BE283,\n\t0xAE603502, 0x00000002, 0x402BE220, 0xAE603702,\n\t// Block 229, offset 0x3940\n\t0x00000002, 0x002BE283, 0xAE603702, 0x00000002, 0x402BE220, 0xAE603C02,\n\t0x00000002, 0x002BE283, 0xAE603C02, 0x00000002, 0x402BE220, 0xAE604102,\n\t0x00000002, 0x002BE283, 0xAE604102, 0x00000002, 0x402BE220, 0xAE604702,\n\t0x00000002, 0x002BE283, 0xAE604702, 0x00000003, 0x402BE220, 0xAE604702,\n\t0xAE603202, 0x00000003, 0x002BE283, 0xAE604702, 0xAE603202, 0x00000002,\n\t0x402BE220, 0xAE604E02, 0x00000002, 0x002BE283, 0xAE604E02, 0x00000002,\n\t0x002BE283, 0xAE605202, 0x00000002, 0x402BE220, 0xACA05902, 0x00000002,\n\t0x002BE283, 0xACA05902, 0x00000002, 0x402BE220, 0xAE605B02, 0x00000002,\n\t0x002BE283, 0xAE605B02, 0x00000002, 0x402BE220, 0xAE606402, 0x00000002,\n\t0x002BE283, 0xAE606402, 0x00000002, 0x402BE220, 0xAE606502, 0x00000002,\n\t0x002BE283, 0xAE606502, 0x00000002, 0x402BE220,\n\t// Block 230, offset 0x3980\n\t0xAE606702, 0x00000002, 0x002BE283, 0xAE606702, 0x00000002, 0x402BE220,\n\t0xADC07002, 0x00000002, 0x002BE283, 0xADC07002, 0x00000002, 0x402BE220,\n\t0xADC07A02, 0x00000002, 0x002BE283, 0xADC07A02, 0x00000002, 0x402BE420,\n\t0xAE603202, 0x00000002, 0x002BE483, 0xAE603202, 0x00000002, 0x402BE420,\n\t0xAE603502, 0x00000002, 0x002BE483, 0xAE603502, 0x00000002, 0x402BE420,\n\t0xAE603702, 0x00000002, 0x002BE483, 0xAE603702, 0x00000002, 0x402BE420,\n\t0xAE603C02, 0x00000002, 0x002BE483, 0xAE603C02, 0x00000003, 0x402BE420,\n\t0xAE603C02, 0xAE603202, 0x00000003, 0x002BE483, 0xAE603C02, 0xAE603202,\n\t0x00000003, 0x402BE420, 0xAE603C02, 0xAE603502, 0x00000003, 0x002BE483,\n\t0xAE603C02, 0xAE603502, 0x00000003, 0x402BE420, 0xAE603C02, 0xAE604E02,\n\t0x00000003, 0x002BE483, 0xAE603C02, 0xAE604E02,\n\t// Block 231, offset 0x39c0\n\t0x00000003, 0x402BE420, 0xAE603C02, 0xAE606402, 0x00000003, 0x002BE483,\n\t0xAE603C02, 0xAE606402, 0x00000002, 0x402BE420, 0xAE604102, 0x00000002,\n\t0x002BE483, 0xAE604102, 0x00000002, 0x402BE420, 0xAE604702, 0x00000002,\n\t0x002BE483, 0xAE604702, 0x00000003, 0x402BE420, 0xAE604702, 0xAE605B02,\n\t0x00000003, 0x002BE483, 0xAE604702, 0xAE605B02, 0x00000002, 0x402BE420,\n\t0xAE604D02, 0x00000002, 0x002BE483, 0xAE604D02, 0x00000002, 0x402BE420,\n\t0xAE604E02, 0x00000002, 0x002BE483, 0xAE604E02, 0x00000003, 0x402BE420,\n\t0xAE604E02, 0xAE603202, 0x00000003, 0x002BE483, 0xAE604E02, 0xAE603202,\n\t0x00000003, 0x402BE420, 0xAE604E02, 0xAE604702, 0x00000003, 0x002BE483,\n\t0xAE604E02, 0xAE604702, 0x00000003, 0x402BE420, 0xAE604E02, 0xAE605B02,\n\t0x00000003, 0x002BE483, 0xAE604E02, 0xAE605B02,\n\t// Block 232, offset 0x3a00\n\t0x00000002, 0x402BE420, 0xAE605202, 0x00000002, 0x002BE483, 0xAE605202,\n\t0x00000003, 0x402BE420, 0xAE605202, 0xAE605B02, 0x00000003, 0x002BE483,\n\t0xAE605202, 0xAE605B02, 0x00000002, 0x402BE420, 0xACA05902, 0x00000002,\n\t0x002BE483, 0xACA05902, 0x00000003, 0x402BE420, 0xACA05902, 0xAE605B02,\n\t0x00000003, 0x002BE483, 0xACA05902, 0xAE605B02, 0x00000002, 0x402BE420,\n\t0xAE605B02, 0x00000002, 0x002BE483, 0xAE605B02, 0x00000003, 0x402BE420,\n\t0xAE605B02, 0xAE603202, 0x00000003, 0x002BE483, 0xAE605B02, 0xAE603202,\n\t0x00000003, 0x402BE420, 0xAE605B02, 0xAE603502, 0x00000003, 0x002BE483,\n\t0xAE605B02, 0xAE603502, 0x00000002, 0x402BE420, 0xAE606402, 0x00000002,\n\t0x002BE483, 0xAE606402, 0x00000002, 0x402BE420, 0xAE606502, 0x00000002,\n\t0x002BE483, 0xAE606502, 0x00000002, 0x402BE420,\n\t// Block 233, offset 0x3a40\n\t0xAE606702, 0x00000002, 0x002BE483, 0xAE606702, 0x00000002, 0x402BE420,\n\t0xAD806802, 0x00000002, 0x002BE483, 0xAD806802, 0x00000003, 0x402BE420,\n\t0xAD806802, 0xAE603202, 0x00000003, 0x002BE483, 0xAD806802, 0xAE603202,\n\t0x00000003, 0x402BE420, 0xAD806802, 0xAE603502, 0x00000003, 0x002BE483,\n\t0xAD806802, 0xAE603502, 0x00000003, 0x402BE420, 0xAD806802, 0xAE604E02,\n\t0x00000003, 0x002BE483, 0xAD806802, 0xAE604E02, 0x00000003, 0x402BE420,\n\t0xAD806802, 0xAE606402, 0x00000003, 0x002BE483, 0xAD806802, 0xAE606402,\n\t0x00000003, 0x402BE420, 0xAD806802, 0xADC07002, 0x00000003, 0x002BE483,\n\t0xAD806802, 0xADC07002, 0x00000002, 0x402BE420, 0xADC07002, 0x00000002,\n\t0x002BE483, 0xADC07002, 0x00000003, 0x402BE420, 0xADC07002, 0xAE603C02,\n\t0x00000003, 0x002BE483, 0xADC07002, 0xAE603C02,\n\t// Block 234, offset 0x3a80\n\t0x00000002, 0x402BE620, 0xAE603202, 0x00000002, 0x002BE683, 0xAE603202,\n\t0x00000002, 0x402BE620, 0xAE603502, 0x00000002, 0x002BE683, 0xAE603502,\n\t0x00000002, 0x402BE620, 0xAE603702, 0x00000002, 0x002BE683, 0xAE603702,\n\t0x00000002, 0x402BE620, 0xAE603C02, 0x00000002, 0x002BE683, 0xAE603C02,\n\t0x00000002, 0x402BE620, 0xAE604102, 0x00000002, 0x002BE683, 0xAE604102,\n\t0x00000002, 0x402BE620, 0xAE604302, 0x00000002, 0x002BE683, 0xAE604302,\n\t0x00000002, 0x402BE620, 0xAE604702, 0x00000002, 0x002BE683, 0xAE604702,\n\t0x00000003, 0x402BE620, 0xAE604702, 0xAE603202, 0x00000003, 0x002BE683,\n\t0xAE604702, 0xAE603202, 0x00000003, 0x402BE620, 0xAE604702, 0xAE603502,\n\t0x00000003, 0x002BE683, 0xAE604702, 0xAE603502, 0x00000003, 0x402BE620,\n\t0xAE604702, 0xAE604102, 0x00000003, 0x002BE683,\n\t// Block 235, offset 0x3ac0\n\t0xAE604702, 0xAE604102, 0x00000003, 0x402BE620, 0xAE604702, 0xAE605B02,\n\t0x00000003, 0x002BE683, 0xAE604702, 0xAE605B02, 0x00000002, 0x402BE620,\n\t0xAE604D02, 0x00000002, 0x002BE683, 0xAE604D02, 0x00000002, 0x402BE620,\n\t0xAE604E02, 0x00000002, 0x002BE683, 0xAE604E02, 0x00000003, 0x402BE620,\n\t0xAE604E02, 0xAE603202, 0x00000003, 0x002BE683, 0xAE604E02, 0xAE603202,\n\t0x00000002, 0x402BE620, 0xACA05902, 0x00000002, 0x002BE683, 0xACA05902,\n\t0x00000002, 0x402BE620, 0xAE605B02, 0x00000002, 0x002BE683, 0xAE605B02,\n\t0x00000003, 0x402BE620, 0xAE605B02, 0xAE604702, 0x00000003, 0x002BE683,\n\t0xAE605B02, 0xAE604702, 0x00000002, 0x402BE620, 0xAE606402, 0x00000002,\n\t0x002BE683, 0xAE606402, 0x00000002, 0x402BE620, 0xAE606502, 0x00000002,\n\t0x002BE683, 0xAE606502, 0x00000002, 0x402BE620,\n\t// Block 236, offset 0x3b00\n\t0xAE606702, 0x00000002, 0x002BE683, 0xAE606702, 0x00000002, 0x402BE620,\n\t0xAD806802, 0x00000002, 0x002BE683, 0xAD806802, 0x00000003, 0x402BE620,\n\t0xAD806802, 0xAE603202, 0x00000003, 0x002BE683, 0xAD806802, 0xAE603202,\n\t0x00000003, 0x402BE620, 0xAD806802, 0xAE603502, 0x00000003, 0x002BE683,\n\t0xAD806802, 0xAE603502, 0x00000003, 0x402BE620, 0xAD806802, 0xAE604E02,\n\t0x00000003, 0x002BE683, 0xAD806802, 0xAE604E02, 0x00000003, 0x402BE620,\n\t0xAD806802, 0xAE606402, 0x00000003, 0x002BE683, 0xAD806802, 0xAE606402,\n\t0x00000003, 0x402BE620, 0xAD806802, 0xADC07002, 0x00000003, 0x002BE683,\n\t0xAD806802, 0xADC07002, 0x00000002, 0x402BE620, 0xADC07002, 0x00000002,\n\t0x002BE683, 0xADC07002, 0x00000002, 0x402BE620, 0xADC07502, 0x00000002,\n\t0x002BE683, 0xADC07502, 0x00000002, 0x402BE620,\n\t// Block 237, offset 0x3b40\n\t0xADC07802, 0x00000002, 0x002BE683, 0xADC07802, 0x00000002, 0x402BE620,\n\t0xADC07A02, 0x00000002, 0x002BE683, 0xADC07A02, 0x00000002, 0x402BE820,\n\t0xAE603C02, 0x00000002, 0x002BE883, 0xAE603C02, 0x00000002, 0x402BE820,\n\t0xAE604102, 0x00000002, 0x002BE883, 0xAE604102, 0x00000002, 0x402BE820,\n\t0xAE604702, 0x00000002, 0x002BE883, 0xAE604702, 0x00000002, 0x402BE820,\n\t0xAE605202, 0x00000002, 0x002BE883, 0xAE605202, 0x00000002, 0x402BE820,\n\t0xACA05602, 0x00000002, 0x002BE883, 0xACA05602, 0x00000002, 0x402BE820,\n\t0xADC07002, 0x00000002, 0x002BE883, 0xADC07002, 0x00000002, 0x402BE820,\n\t0xADC07902, 0x00000002, 0x002BE883, 0xADC07902, 0x00000002, 0x402BE820,\n\t0xADC07B02, 0x00000002, 0x402BEA20, 0xAE603202, 0x00000002, 0x002BEA83,\n\t0xAE603202, 0x00000002, 0x402BEA20, 0xAE604102,\n\t// Block 238, offset 0x3b80\n\t0x00000002, 0x002BEA83, 0xAE604102, 0x00000002, 0x402BEA20, 0xACA05602,\n\t0x00000002, 0x002BEA83, 0xACA05602, 0x00000002, 0x402BEA20, 0xADC07002,\n\t0x00000002, 0x002BEA83, 0xADC07002, 0x00000002, 0x402BEA20, 0xADC07B02,\n\t0x00000002, 0x002BEA83, 0xADC07B02, 0x00000002, 0x402BEC20, 0xAE603202,\n\t0x00000002, 0x002BEC83, 0xAE603202, 0x00000002, 0x402BEC20, 0xAE604102,\n\t0x00000002, 0x002BEC83, 0xAE604102, 0x00000002, 0x402BEC20, 0xACA05602,\n\t0x00000002, 0x002BEC83, 0xACA05602, 0x00000002, 0x402BEC20, 0xADC07002,\n\t0x00000002, 0x002BEC83, 0xADC07002, 0x00000003, 0x402BEC20, 0xADC07002,\n\t0xAE605B02, 0x00000003, 0x002BEC83, 0xADC07002, 0xAE605B02, 0x00000002,\n\t0x402BEC20, 0xADC07802, 0x00000002, 0x002BEC83, 0xADC07802, 0x00000002,\n\t0x402BEC20, 0xADC07B02, 0x00000002, 0x002BEC83,\n\t// Block 239, offset 0x3bc0\n\t0xADC07B02, 0x00000002, 0x402BEE20, 0xAE603202, 0x00000002, 0x002BEE83,\n\t0xAE603202, 0x00000002, 0x402BEE20, 0xAE605202, 0x00000002, 0x002BEE83,\n\t0xAE605202, 0x00000002, 0x402BEE20, 0xADC07002, 0x00000002, 0x002BEE83,\n\t0xADC07002, 0x00000002, 0x402BF020, 0xAE603202, 0x00000002, 0x002BF083,\n\t0xAE603202, 0x00000002, 0x402BF020, 0xAE603502, 0x00000002, 0x002BF083,\n\t0xAE603502, 0x00000002, 0x402BF020, 0xAE604102, 0x00000002, 0x002BF083,\n\t0xAE604102, 0x00000002, 0x402BF020, 0xAE604E02, 0x00000002, 0x002BF083,\n\t0xAE604E02, 0x00000002, 0x402BF020, 0xAE605202, 0x00000002, 0x002BF083,\n\t0xAE605202, 0x00000002, 0x402BF020, 0xACA05602, 0x00000002, 0x002BF083,\n\t0xACA05602, 0x00000002, 0x402BF020, 0xADC07002, 0x00000002, 0x002BF083,\n\t0xADC07002, 0x00000002, 0x402BF020, 0xADC07802,\n\t// Block 240, offset 0x3c00\n\t0x00000002, 0x002BF083, 0xADC07802, 0x00000002, 0x402BF020, 0xADC07B02,\n\t0x00000002, 0x002BF083, 0xADC07B02, 0x00000002, 0x402BF220, 0xAE603202,\n\t0x00000002, 0x002BF283, 0xAE603202, 0x00000002, 0x402BF220, 0xAE605202,\n\t0x00000002, 0x002BF283, 0xAE605202, 0x00000002, 0x402BF420, 0xAE603202,\n\t0x00000002, 0x002BF483, 0xAE603202, 0x00000002, 0x402BF420, 0xAE603502,\n\t0x00000002, 0x002BF483, 0xAE603502, 0x00000002, 0x402BF420, 0xAE603C02,\n\t0x00000002, 0x002BF483, 0xAE603C02, 0x00000002, 0x402BF420, 0xAE604302,\n\t0x00000002, 0x402BF420, 0xAE604702, 0x00000002, 0x002BF483, 0xAE604702,\n\t0x00000002, 0x402BF420, 0xAE605202, 0x00000002, 0x002BF483, 0xAE605202,\n\t0x00000002, 0x402BF420, 0xADC07002, 0x00000002, 0x002BF483, 0xADC07002,\n\t0x00000002, 0x402C3E20, 0xACA05602, 0x00000002,\n\t// Block 241, offset 0x3c40\n\t0x002C3E83, 0xACA05602, 0x00000002, 0x002C3C83, 0x402C3C20, 0x00000002,\n\t0x002C3C85, 0x402C3C20, 0x00000002, 0x002C3C87, 0x002C3C86, 0x00000002,\n\t0x002C6483, 0x402C6420, 0x00000002, 0x002C6485, 0x402C6420, 0x00000002,\n\t0x002C6487, 0x002C6486, 0x00000002, 0x002C6683, 0x402C6620, 0x00000002,\n\t0x002C6685, 0x402C6620, 0x00000002, 0x002C6687, 0x002C6686, 0x00000002,\n\t0x002D2483, 0x402D2420, 0x00000002, 0x002D2485, 0x402D2420, 0x00000002,\n\t0x002D2487, 0x002D2486, 0x00000002, 0x002E2483, 0x402E2420, 0x00000002,\n\t0x002E2485, 0x402E2420, 0x00000002, 0x002E2487, 0x002E2486, 0x00000002,\n\t0x002EA083, 0x402EA020, 0x00000002, 0x002EA085, 0x402EA020, 0x00000002,\n\t0x002EA087, 0x002EA086, 0x00000002, 0x002FE883, 0x402FE820, 0x00000002,\n\t0x002FE885, 0x402FE820, 0x00000002, 0x002FE887,\n\t// Block 242, offset 0x3c80\n\t0x002FE886, 0x00000002, 0x00302E83, 0x40302E20, 0x00000002, 0x00302E85,\n\t0x40302E20, 0x00000002, 0x00302E87, 0x00302E86, 0x00000002, 0x00312C83,\n\t0x40312C20, 0x00000002, 0x00312C85, 0x40312C20, 0x00000002, 0x00312C87,\n\t0x00312C86, 0x00000002, 0x402EE420, 0xAE603C02, 0x00000002, 0x002EE483,\n\t0xAE603C02, 0x00000002, 0x402EE420, 0xAD806802, 0x00000002, 0x002EE483,\n\t0xAD806802, 0x00000002, 0x40306E20, 0xAD806802, 0x00000002, 0x00306E83,\n\t0xAD806802, 0x00000002, 0x402C0820, 0xAE603702, 0x00000002, 0x002C0883,\n\t0xAE603702, 0x00000002, 0x402C0820, 0xAE603C02, 0x00000002, 0x002C0883,\n\t0xAE603C02, 0x00000002, 0x402D0620, 0xAE603C02, 0x00000002, 0x002D0683,\n\t0xAE603C02, 0x00000002, 0x402D0620, 0xAE605B02, 0x00000002, 0x002D0683,\n\t0xAE605B02, 0x00000002, 0x402DCA20, 0xAE604702,\n\t// Block 243, offset 0x3cc0\n\t0x00000002, 0x002DCA83, 0xAE604702, 0x00000002, 0x402F2A20, 0xAE603C02,\n\t0x00000002, 0x002F2A83, 0xAE603C02, 0x00000002, 0x402F2A20, 0xAE604E02,\n\t0x00000002, 0x002F2A83, 0xAE604E02, 0x00000002, 0x402F2A20, 0xAE605B02,\n\t0x00000002, 0x002F2A83, 0xAE605B02, 0x00000002, 0x402F2A20, 0xAD806802,\n\t0x00000002, 0x002F2A83, 0xAD806802, 0x00000002, 0x4030BC20, 0xAE604702,\n\t0x00000002, 0x0030BC83, 0xAE604702, 0x00000002, 0x4030BC20, 0xAE604E02,\n\t0x00000002, 0x0030BC83, 0xAE604E02, 0x00000002, 0x4030BC20, 0xAD806802,\n\t0x00000002, 0x0030BC83, 0xAD806802, 0x00000002, 0x40320E20, 0xAE604E02,\n\t0x00000002, 0x00320E83, 0xAE604E02, 0x00000003, 0x0004B084, 0x029C1284,\n\t0x0004B29F, 0x00000003, 0x0004B084, 0x029D1884, 0x0004B29F, 0x00000003,\n\t0x0004B084, 0x02A5BA84, 0x0004B29F, 0x00000003,\n\t// Block 244, offset 0x3d00\n\t0x0004B084, 0x02B71284, 0x0004B29F, 0x00000003, 0x0004B084, 0x02C4A684,\n\t0x0004B29F, 0x00000003, 0x0004B084, 0x02CAAE84, 0x0004B29F, 0x00000003,\n\t0x0004B084, 0x02CE5884, 0x0004B29F, 0x00000003, 0x0004B084, 0x02E17284,\n\t0x0004B29F, 0x00000003, 0x0004B084, 0x02EDAE84, 0x0004B29F, 0x00000002,\n\t0x0065768E, 0x0065768F, 0x00000002, 0x0065768E, 0x00657691, 0x00000002,\n\t0x00657690, 0x0065768F, 0x00000002, 0x00657690, 0x00657691, 0x00000002,\n\t0x0065768E, 0x0065828F, 0x00000002, 0x0065768E, 0x00658291, 0x00000003,\n\t0x0065768E, 0x00658291, 0xA0812802, 0x00000002, 0x0065768E, 0x00658C91,\n\t0x00000003, 0x0065768E, 0x00658C91, 0xA0812802, 0x00000002, 0x0065768E,\n\t0x00659691, 0x00000003, 0x0065768E, 0x00659691, 0xA0812802, 0x00000002,\n\t0x0065768E, 0x0065A091, 0x00000002, 0x0065768E,\n\t// Block 245, offset 0x3d40\n\t0x0065AA8F, 0x00000002, 0x0065768E, 0x0065AA91, 0x00000003, 0x0065768E,\n\t0x0065AA91, 0xA0812802, 0x00000003, 0x0065768E, 0x0065AA91, 0xA0812902,\n\t0x00000002, 0x0065768E, 0x0065B491, 0x00000002, 0x0065768E, 0x0065BE8F,\n\t0x00000002, 0x0065768E, 0x0065BE91, 0x00000002, 0x0065768E, 0x0065C68F,\n\t0x00000002, 0x0065768E, 0x0065C691, 0x00000002, 0x0065768E, 0x0065D08F,\n\t0x00000002, 0x0065768E, 0x0065D091, 0x00000003, 0x0065768E, 0x0065D091,\n\t0xA0812802, 0x00000002, 0x0065788E, 0x0065788F, 0x00000002, 0x0065788E,\n\t0x00657891, 0x00000002, 0x00657890, 0x0065788F, 0x00000002, 0x00657890,\n\t0x00657891, 0x00000002, 0x0065788E, 0x00658491, 0x00000003, 0x0065788E,\n\t0x00658491, 0xA0812802, 0x00000002, 0x0065788E, 0x00658E8F, 0x00000002,\n\t0x0065788E, 0x00658E91, 0x00000003, 0x0065788E,\n\t// Block 246, offset 0x3d80\n\t0x00658E91, 0xA0812802, 0x00000002, 0x0065788E, 0x00659891, 0x00000003,\n\t0x0065788E, 0x00659891, 0xA0812802, 0x00000002, 0x0065788E, 0x0065A291,\n\t0x00000002, 0x0065788E, 0x0065AC8F, 0x00000002, 0x0065788E, 0x0065AC91,\n\t0x00000003, 0x0065788E, 0x0065AC91, 0xA0812802, 0x00000003, 0x0065788E,\n\t0x0065AC91, 0xA0812902, 0x00000002, 0x0065788E, 0x0065B691, 0x00000002,\n\t0x0065788E, 0x0065C88F, 0x00000002, 0x0065788E, 0x0065C891, 0x00000002,\n\t0x0065788E, 0x0065D291, 0x00000003, 0x0065788E, 0x0065D291, 0xA0812802,\n\t0x00000002, 0x00657A8E, 0x00657A8F, 0x00000002, 0x00657A8E, 0x00657A91,\n\t0x00000002, 0x00657A90, 0x00657A8F, 0x00000002, 0x00657A90, 0x00657A91,\n\t0x00000003, 0x00657A8E, 0x00657A91, 0xA0812802, 0x00000003, 0x00657A90,\n\t0x00657A8F, 0xA0812802, 0x00000003, 0x00657A90,\n\t// Block 247, offset 0x3dc0\n\t0x00657A91, 0xA0812802, 0x00000004, 0x00657A90, 0x00657A91, 0xA0812802,\n\t0xA0812802, 0x00000002, 0x00657A8E, 0x0065868F, 0x00000002, 0x00657A8E,\n\t0x00658691, 0x00000003, 0x00657A8E, 0x00658691, 0xA0812802, 0x00000002,\n\t0x00657A8E, 0x0065908F, 0x00000002, 0x00657A8E, 0x00659091, 0x00000003,\n\t0x00657A8E, 0x00659091, 0xA0812802, 0x00000002, 0x00657A8E, 0x00659A8F,\n\t0x00000002, 0x00657A8E, 0x00659A91, 0x00000003, 0x00657A8E, 0x00659A91,\n\t0xA0812802, 0x00000002, 0x00657A8E, 0x0065A48F, 0x00000002, 0x00657A8E,\n\t0x0065A491, 0x00000002, 0x00657A8E, 0x0065AE8F, 0x00000002, 0x00657A8E,\n\t0x0065AE91, 0x00000003, 0x00657A8E, 0x0065AE91, 0xA0812802, 0x00000003,\n\t0x00657A8E, 0x0065AE91, 0xA0812902, 0x00000002, 0x00657A8E, 0x0065B88F,\n\t0x00000002, 0x00657A8E, 0x0065B891, 0x00000002,\n\t// Block 248, offset 0x3e00\n\t0x00657A8E, 0x0065C08F, 0x00000002, 0x00657A8E, 0x0065C091, 0x00000002,\n\t0x00657A8E, 0x0065CA8F, 0x00000002, 0x00657A8E, 0x0065CA91, 0x00000002,\n\t0x00657E8E, 0x00657E8F, 0x00000002, 0x00657E8E, 0x00657E91, 0x00000002,\n\t0x00657E90, 0x00657E8F, 0x00000002, 0x00657E90, 0x00657E91, 0x00000002,\n\t0x00657E8E, 0x0065888F, 0x00000002, 0x00657E8E, 0x00658891, 0x00000003,\n\t0x00657E8E, 0x00658891, 0xA0812802, 0x00000002, 0x00657E8E, 0x00659291,\n\t0x00000003, 0x00657E8E, 0x00659291, 0xA0812802, 0x00000002, 0x00657E8E,\n\t0x00659C91, 0x00000003, 0x00657E8E, 0x00659C91, 0xA0812802, 0x00000002,\n\t0x00657E8E, 0x0065A691, 0x00000002, 0x00657E8E, 0x0065B08F, 0x00000002,\n\t0x00657E8E, 0x0065B091, 0x00000003, 0x00657E8E, 0x0065B091, 0xA0812802,\n\t0x00000003, 0x00657E8E, 0x0065B091, 0xA0812902,\n\t// Block 249, offset 0x3e40\n\t0x00000002, 0x00657E8E, 0x0065BA91, 0x00000002, 0x00657E8E, 0x0065CC8F,\n\t0x00000002, 0x00657E8E, 0x0065CC91, 0x00000002, 0x00657E8E, 0x0065D491,\n\t0x00000003, 0x00657E8E, 0x0065D491, 0xA0812802, 0x00000002, 0x0065808E,\n\t0x0065808F, 0x00000002, 0x0065808E, 0x00658091, 0x00000002, 0x00658090,\n\t0x0065808F, 0x00000002, 0x00658090, 0x00658091, 0x00000002, 0x0065808E,\n\t0x00658A91, 0x00000003, 0x0065808E, 0x00658A91, 0xA0812802, 0x00000002,\n\t0x0065808E, 0x00659491, 0x00000003, 0x0065808E, 0x00659491, 0xA0812802,\n\t0x00000002, 0x0065808E, 0x00659E8F, 0x00000002, 0x0065808E, 0x00659E91,\n\t0x00000003, 0x0065808E, 0x00659E91, 0xA0812802, 0x00000002, 0x0065808E,\n\t0x0065A891, 0x00000002, 0x0065808E, 0x0065B28F, 0x00000002, 0x0065808E,\n\t0x0065B291, 0x00000003, 0x0065808E, 0x0065B291,\n\t// Block 250, offset 0x3e80\n\t0xA0812802, 0x00000003, 0x0065808E, 0x0065B291, 0xA0812902, 0x00000002,\n\t0x0065808E, 0x0065BC91, 0x00000002, 0x0065808E, 0x0065C48F, 0x00000002,\n\t0x0065808E, 0x0065C491, 0x00000002, 0x0065808E, 0x0065CE8F, 0x00000002,\n\t0x0065808E, 0x0065CE91, 0x00000002, 0x0065808E, 0x0065D691, 0x00000003,\n\t0x0065808E, 0x0065D691, 0xA0812802, 0x00000002, 0x00658290, 0x0065828F,\n\t0x00000002, 0x00658290, 0x00658291, 0x00000003, 0x0065848F, 0x00658291,\n\t0xA0812802, 0x00000002, 0x00658490, 0x00658491, 0x00000003, 0x00658490,\n\t0x00658491, 0xA0812802, 0x00000004, 0x00658490, 0x00658491, 0xA0812802,\n\t0xA0812802, 0x00000002, 0x00658690, 0x0065868F, 0x00000002, 0x00658690,\n\t0x00658691, 0x00000003, 0x00658690, 0x0065868F, 0xA0812802, 0x00000003,\n\t0x00658690, 0x00658691, 0xA0812802, 0x00000004,\n\t// Block 251, offset 0x3ec0\n\t0x00658690, 0x00658691, 0xA0812802, 0xA0812802, 0x00000002, 0x00658890,\n\t0x0065888F, 0x00000002, 0x00658890, 0x00658891, 0x00000003, 0x00658A8F,\n\t0x00658891, 0xA0812802, 0x00000002, 0x00658A90, 0x00658A91, 0x00000003,\n\t0x00658A90, 0x00658A91, 0xA0812802, 0x00000004, 0x00658A90, 0x00658A91,\n\t0xA0812802, 0xA0812802, 0x00000002, 0x40658A21, 0x00659E91, 0x00000002,\n\t0x00658C90, 0x00658C91, 0x00000003, 0x00658C90, 0x00658C91, 0xA0812802,\n\t0x00000004, 0x00658C90, 0x00658C91, 0xA0812802, 0xA0812802, 0x00000002,\n\t0x00658E90, 0x00658E8F, 0x00000002, 0x00658E90, 0x00658E91, 0x00000003,\n\t0x00658E90, 0x00658E8F, 0xA0812802, 0x00000003, 0x00658E90, 0x00658E91,\n\t0xA0812802, 0x00000004, 0x00658E90, 0x00658E91, 0xA0812802, 0xA0812802,\n\t0x00000002, 0x00659090, 0x0065908F, 0x00000002,\n\t// Block 252, offset 0x3f00\n\t0x00659090, 0x00659091, 0x00000003, 0x00659090, 0x0065908F, 0xA0812802,\n\t0x00000003, 0x00659090, 0x00659091, 0xA0812802, 0x00000004, 0x00659090,\n\t0x00659091, 0xA0812802, 0xA0812802, 0x00000002, 0x00659290, 0x00659291,\n\t0x00000003, 0x00659290, 0x00659291, 0xA0812802, 0x00000004, 0x00659290,\n\t0x00659291, 0xA0812802, 0xA0812802, 0x00000002, 0x00659490, 0x00659491,\n\t0x00000003, 0x00659490, 0x00659491, 0xA0812802, 0x00000004, 0x00659490,\n\t0x00659491, 0xA0812802, 0xA0812802, 0x00000002, 0x00659690, 0x00659691,\n\t0x00000003, 0x00659690, 0x00659691, 0xA0812802, 0x00000004, 0x00659690,\n\t0x00659691, 0xA0812802, 0xA0812802, 0x00000002, 0x00659890, 0x00659891,\n\t0x00000003, 0x00659890, 0x00659891, 0xA0812802, 0x00000004, 0x00659890,\n\t0x00659891, 0xA0812802, 0xA0812802, 0x00000002,\n\t// Block 253, offset 0x3f40\n\t0x00659A90, 0x00659A8F, 0x00000002, 0x00659A90, 0x00659A91, 0x00000003,\n\t0x00659A90, 0x00659A8F, 0xA0812802, 0x00000003, 0x00659A90, 0x00659A91,\n\t0xA0812802, 0x00000004, 0x00659A90, 0x00659A91, 0xA0812802, 0xA0812802,\n\t0x00000002, 0x00659C90, 0x00659C91, 0x00000003, 0x00659C90, 0x00659C91,\n\t0xA0812802, 0x00000004, 0x00659C90, 0x00659C91, 0xA0812802, 0xA0812802,\n\t0x00000002, 0x00659E90, 0x00659E8F, 0x00000002, 0x00659E90, 0x00659E91,\n\t0x00000003, 0x00659E90, 0x00659E8F, 0xA0812802, 0x00000003, 0x00659E90,\n\t0x00659E91, 0xA0812802, 0x00000004, 0x00659E90, 0x00659E91, 0xA0812802,\n\t0xA0812802, 0x00000002, 0x0065A090, 0x0065A091, 0x00000002, 0x0065A290,\n\t0x0065A291, 0x00000002, 0x0065A490, 0x0065A48F, 0x00000002, 0x0065A490,\n\t0x0065A491, 0x00000002, 0x0065A690, 0x0065A691,\n\t// Block 254, offset 0x3f80\n\t0x00000002, 0x0065A890, 0x0065A891, 0x00000002, 0x0065AA90, 0x0065AA8F,\n\t0x00000002, 0x0065AA90, 0x0065AA91, 0x00000003, 0x0065AA90, 0x0065AA8F,\n\t0xA0812802, 0x00000003, 0x0065AA90, 0x0065AA91, 0xA0812802, 0x00000004,\n\t0x0065AA90, 0x0065AA91, 0xA0812802, 0xA0812802, 0x00000003, 0x0065AA90,\n\t0x0065AA91, 0xA0812902, 0x00000004, 0x0065AA90, 0x0065AA91, 0xA0812902,\n\t0xA0812802, 0x00000002, 0x0065AC90, 0x0065AC8F, 0x00000002, 0x0065AC90,\n\t0x0065AC91, 0x00000003, 0x0065AC90, 0x0065AC8F, 0xA0812802, 0x00000003,\n\t0x0065AC90, 0x0065AC91, 0xA0812802, 0x00000004, 0x0065AC90, 0x0065AC91,\n\t0xA0812802, 0xA0812802, 0x00000003, 0x0065AC90, 0x0065AC91, 0xA0812902,\n\t0x00000004, 0x0065AC90, 0x0065AC91, 0xA0812902, 0xA0812802, 0x00000002,\n\t0x0065AE90, 0x0065AE8F, 0x00000002, 0x0065AE90,\n\t// Block 255, offset 0x3fc0\n\t0x0065AE91, 0x00000003, 0x0065AE90, 0x0065AE8F, 0xA0812802, 0x00000003,\n\t0x0065AE90, 0x0065AE91, 0xA0812802, 0x00000004, 0x0065AE90, 0x0065AE91,\n\t0xA0812802, 0xA0812802, 0x00000003, 0x0065AE90, 0x0065AE91, 0xA0812902,\n\t0x00000004, 0x0065AE90, 0x0065AE91, 0xA0812902, 0xA0812802, 0x00000002,\n\t0x0065B090, 0x0065B08F, 0x00000002, 0x0065B090, 0x0065B091, 0x00000003,\n\t0x0065B090, 0x0065B08F, 0xA0812802, 0x00000003, 0x0065B090, 0x0065B091,\n\t0xA0812802, 0x00000004, 0x0065B090, 0x0065B091, 0xA0812802, 0xA0812802,\n\t0x00000003, 0x0065B090, 0x0065B091, 0xA0812902, 0x00000004, 0x0065B090,\n\t0x0065B091, 0xA0812902, 0xA0812802, 0x00000002, 0x0065B290, 0x0065B28F,\n\t0x00000002, 0x0065B290, 0x0065B291, 0x00000003, 0x0065B290, 0x0065B28F,\n\t0xA0812802, 0x00000003, 0x0065B290, 0x0065B291,\n\t// Block 256, offset 0x4000\n\t0xA0812802, 0x00000004, 0x0065B290, 0x0065B291, 0xA0812802, 0xA0812802,\n\t0x00000003, 0x0065B290, 0x0065B291, 0xA0812902, 0x00000004, 0x0065B290,\n\t0x0065B291, 0xA0812902, 0xA0812802, 0x00000002, 0x0065B490, 0x0065B491,\n\t0x00000002, 0x0065B690, 0x0065B691, 0x00000002, 0x0065B890, 0x0065B88F,\n\t0x00000002, 0x0065B890, 0x0065B891, 0x00000002, 0x0065BA90, 0x0065BA91,\n\t0x00000002, 0x0065BC90, 0x0065BC91, 0x00000002, 0x0065BE90, 0x0065BE8F,\n\t0x00000002, 0x0065BE90, 0x0065BE91, 0x00000002, 0x0065C090, 0x0065C08F,\n\t0x00000002, 0x0065C090, 0x0065C091, 0x00000002, 0x0065C490, 0x0065C48F,\n\t0x00000002, 0x0065C490, 0x0065C491, 0x00000002, 0x4065C421, 0x0065C891,\n\t0x00000002, 0x0065C690, 0x0065C68F, 0x00000002, 0x0065C690, 0x0065C691,\n\t0x00000002, 0x0065C890, 0x0065C88F, 0x00000002,\n\t// Block 257, offset 0x4040\n\t0x0065C890, 0x0065C891, 0x00000002, 0x0065CA90, 0x0065CA8F, 0x00000002,\n\t0x0065CA90, 0x0065CA91, 0x00000002, 0x0065CC90, 0x0065CC8F, 0x00000002,\n\t0x0065CC90, 0x0065CC91, 0x00000002, 0x0065CE90, 0x0065CE8F, 0x00000002,\n\t0x0065CE90, 0x0065CE91, 0x00000002, 0x0065D090, 0x0065D08F, 0x00000002,\n\t0x0065D090, 0x0065D091, 0x00000003, 0x0065D090, 0x0065D08F, 0xA0812802,\n\t0x00000003, 0x0065D090, 0x0065D091, 0xA0812802, 0x00000004, 0x0065D090,\n\t0x0065D091, 0xA0812802, 0xA0812802, 0x00000002, 0x0065D290, 0x0065D291,\n\t0x00000003, 0x0065D290, 0x0065D291, 0xA0812802, 0x00000004, 0x0065D290,\n\t0x0065D291, 0xA0812802, 0xA0812802, 0x00000002, 0x0065D490, 0x0065D491,\n\t0x00000003, 0x0065D490, 0x0065D491, 0xA0812802, 0x00000004, 0x0065D490,\n\t0x0065D491, 0xA0812802, 0xA0812802, 0x00000002,\n\t// Block 258, offset 0x4080\n\t0x0065D690, 0x0065D691, 0x00000003, 0x0065D690, 0x0065D691, 0xA0812802,\n\t0x00000004, 0x0065D690, 0x0065D691, 0xA0812802, 0xA0812802, 0x00000002,\n\t0x0065D890, 0x0065D891, 0x00000002, 0x02B24E9C, 0x02D6C69C, 0x00000002,\n\t0x02BCE69C, 0x02C4209C, 0x00000002, 0x02CC1C9C, 0x02D9769C, 0x00000002,\n\t0x02CC5A9C, 0x02A9189C, 0x00000003, 0x00032683, 0x404FDA20, 0x40032620,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FA420, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FA620, 0x00000003, 0x404FD821, 0x82092817, 0x404FA820,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FAA20, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FAC20, 0x00000003, 0x404FD821, 0x82092817, 0x404FAE20,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FB020, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FB220, 0x00000003, 0x404FD821,\n\t// Block 259, offset 0x40c0\n\t0x82092817, 0x404FB420, 0x00000003, 0x404FD821, 0x82092817, 0x404FB620,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FB820, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FBA20, 0x00000003, 0x404FD821, 0x82092817, 0x404FBC20,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FBE20, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FC020, 0x00000003, 0x404FD821, 0x82092817, 0x404FC220,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FC420, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FC620, 0x00000003, 0x404FD821, 0x82092817, 0x404FC820,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FCA20, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FCC20, 0x00000003, 0x404FD821, 0x82092817, 0x404FCE20,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FD020, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FD220, 0x00000003, 0x404FD821,\n\t// Block 260, offset 0x4100\n\t0x82092817, 0x404FD420, 0x00000003, 0x404FD821, 0x82092817, 0x404FD620,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FD820, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FDA20, 0x00000003, 0x404FD821, 0x82092817, 0x404FDA20,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FDC20, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FDC20, 0x00000003, 0x404FD821, 0x82092817, 0x404FDC20,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FDE20, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FDE20, 0x00000003, 0x404FD821, 0x82092817, 0x404FE020,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FE220, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FE420, 0x00000003, 0x404FD821, 0x82092817, 0x404FE620,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FE820, 0x00000002, 0x404FE820,\n\t0x40500E20, 0x00000002, 0x404FE821, 0x40501020,\n\t// Block 261, offset 0x4140\n\t0x00000002, 0x404FE821, 0x40501220, 0x00000002, 0x404FE821, 0x40501820,\n\t0x00000003, 0x004FE8A3, 0x40501820, 0x404FA420, 0x00000002, 0x404FE821,\n\t0x40501A20, 0x00000003, 0x004FE8A3, 0x40501A20, 0x404FDC20, 0x00000002,\n\t0x404FE821, 0x40502620, 0x00000002, 0x404FE821, 0x40502820, 0x00000002,\n\t0x404FE821, 0x40502A20, 0x00000002, 0x004FE8A3, 0x40502A20, 0x00000002,\n\t0x404FE821, 0x40502C20, 0x00000002, 0x4062AC21, 0x4063A820, 0x00000002,\n\t0x4062AC22, 0x4063A820, 0x00000002, 0x4062AC23, 0x4063A820, 0x00000002,\n\t0x4062AC24, 0x4063A820, 0x00000002, 0x4062AC25, 0x4063A820, 0x00000002,\n\t0x4062AC26, 0x4063A820, 0x00000002, 0x4062AC27, 0x4063A820, 0x00000002,\n\t0x4062AC28, 0x4063A820, 0x00000002, 0x4062AC29, 0x4063A820, 0x00000002,\n\t0x4062AC2A, 0x4063A820, 0x00000002, 0x4062AC2B,\n\t// Block 262, offset 0x4180\n\t0x4063A820, 0x00000002, 0x4062AC2C, 0x4063A820, 0x00000002, 0x4062AC2D,\n\t0x4063A820, 0x00000002, 0x4062AC2E, 0x4063A820, 0x00000002, 0x4062AC2F,\n\t0x4063A820, 0x00000002, 0x4062AC30, 0x4063A820, 0x00000002, 0x4062AC31,\n\t0x4063A820, 0x00000002, 0x4062AC32, 0x4063A820, 0x00000002, 0x4062AC33,\n\t0x4063A820, 0x00000002, 0x4062AC34, 0x4063A820, 0x00000002, 0x4062AC35,\n\t0x4063A820, 0x00000002, 0x4062AC36, 0x4063A820, 0x00000002, 0x4062AC37,\n\t0x4063A820, 0x00000002, 0x4062AC38, 0x4063A820, 0x00000002, 0x4062AC39,\n\t0x4063A820, 0x00000002, 0x4062AC3A, 0x4063A820, 0x00000002, 0x4062AC3B,\n\t0x4063A820, 0x00000002, 0x4062AC3C, 0x4063A820, 0x00000002, 0x4062AC3D,\n\t0x4063A820, 0x00000002, 0x4062AC3E, 0x4063A820, 0x00000002, 0x4062AC3F,\n\t0x4063A820, 0x00000002, 0x4062AC40, 0x4063A820,\n\t// Block 263, offset 0x41c0\n\t0x00000002, 0x4062AC41, 0x4063A820, 0x00000002, 0x4062AC42, 0x4063A820,\n\t0x00000002, 0x4062AC43, 0x4063A820, 0x00000002, 0x4062AC44, 0x4063A820,\n\t0x00000002, 0x4062AC45, 0x4063A820, 0x00000002, 0x4062AC46, 0x4063A820,\n\t0x00000002, 0x4062AC47, 0x4063A820, 0x00000002, 0x4062AC48, 0x4063A820,\n\t0x00000002, 0x4062AC49, 0x4063A820, 0x00000002, 0x4062AC4A, 0x4063A820,\n\t0x00000002, 0x4062AC4B, 0x4063A820, 0x00000002, 0x4062AC4C, 0x4063A820,\n\t0x00000003, 0x4062AC21, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC22,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062AC23, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062AC24, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC25,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062AC26, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062AC27, 0x4063A820, 0x40646420,\n\t// Block 264, offset 0x4200\n\t0x00000003, 0x4062AC28, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC29,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062AC2A, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062AC2B, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC2C,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062AC2D, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062AC2E, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC2F,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062AC30, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062AC31, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC21,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC22, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC23, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC24,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC25, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC26, 0x4063A820, 0x40646A20,\n\t// Block 265, offset 0x4240\n\t0x00000003, 0x4062AC27, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC28,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC2A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC2B,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC2C, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC2D, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC2E,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC2F, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC30, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC31,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC32, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC33, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC34,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC35, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC36, 0x4063A820, 0x40646A20,\n\t// Block 266, offset 0x4280\n\t0x00000003, 0x4062AC37, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC38,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC39, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC3A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC3B,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC3C, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC3D, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC3E,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC3F, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC40, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC41,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC42, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC43, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC21,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062AC22, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062AC23, 0x4063A820, 0x40647220,\n\t// Block 267, offset 0x42c0\n\t0x00000003, 0x4062AC24, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC25,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062AC26, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062AC27, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC28,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062AC29, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062AC2A, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC2B,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062AC2C, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062AC2D, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC2E,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062AC2F, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062AC30, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC21,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC22, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC23, 0x4063A820, 0x40648220,\n\t// Block 268, offset 0x4300\n\t0x00000003, 0x4062AC24, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC25,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC26, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC27, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC28,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC29, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC2A, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC2B,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC2C, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC2D, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC2E,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC2F, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC30, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC31,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC32, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC33, 0x4063A820, 0x40648220,\n\t// Block 269, offset 0x4340\n\t0x00000003, 0x4062AC34, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC35,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC36, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC37, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC38,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC39, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC3A, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC3B,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC3C, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC3D, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC3E,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC3F, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC40, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC41,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC42, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC43, 0x4063A820, 0x40648220,\n\t// Block 270, offset 0x4380\n\t0x00000003, 0x4062AC21, 0x4063A820, 0x40648420, 0x00000003, 0x4062AC22,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062AC23, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062AC24, 0x4063A820, 0x40648420, 0x00000003, 0x4062AC25,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062AC26, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062AC27, 0x4063A820, 0x40648420, 0x00000003, 0x4062AC21,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC22, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC23, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC24,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC25, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC26, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC27,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC28, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC29, 0x4063A820, 0x40648C20,\n\t// Block 271, offset 0x43c0\n\t0x00000003, 0x4062AC2A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC2B,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC2C, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC2D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC2E,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC2F, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC30, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC31,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC32, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC33, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC34,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC35, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC36, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC37,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC38, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC39, 0x4063A820, 0x40648C20,\n\t// Block 272, offset 0x4400\n\t0x00000003, 0x4062AC3A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC3B,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC3C, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC3D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC3E,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC3F, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC40, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC41,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC42, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC43, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC44,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC45, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC46, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC47,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC48, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC49, 0x4063A820, 0x40648C20,\n\t// Block 273, offset 0x4440\n\t0x00000002, 0x4062AC21, 0x4063AA20, 0x00000002, 0x4062AC22, 0x4063AA20,\n\t0x00000002, 0x4062AC23, 0x4063AA20, 0x00000002, 0x4062AC24, 0x4063AA20,\n\t0x00000002, 0x4062AC25, 0x4063AA20, 0x00000002, 0x4062AC26, 0x4063AA20,\n\t0x00000002, 0x4062AC27, 0x4063AA20, 0x00000002, 0x4062AC28, 0x4063AA20,\n\t0x00000002, 0x4062AC29, 0x4063AA20, 0x00000002, 0x4062AC2A, 0x4063AA20,\n\t0x00000002, 0x4062AC2B, 0x4063AA20, 0x00000002, 0x4062AC2C, 0x4063AA20,\n\t0x00000002, 0x4062AC2D, 0x4063AA20, 0x00000002, 0x4062AC2E, 0x4063AA20,\n\t0x00000002, 0x4062AC2F, 0x4063AA20, 0x00000002, 0x4062AC30, 0x4063AA20,\n\t0x00000002, 0x4062AC31, 0x4063AA20, 0x00000002, 0x4062AC32, 0x4063AA20,\n\t0x00000002, 0x4062AC33, 0x4063AA20, 0x00000002, 0x4062AC34, 0x4063AA20,\n\t0x00000002, 0x4062AC35, 0x4063AA20, 0x00000002,\n\t// Block 274, offset 0x4480\n\t0x4062AC36, 0x4063AA20, 0x00000002, 0x4062AC37, 0x4063AA20, 0x00000002,\n\t0x4062AC38, 0x4063AA20, 0x00000002, 0x4062AC39, 0x4063AA20, 0x00000002,\n\t0x4062AC3A, 0x4063AA20, 0x00000003, 0x4062AC21, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062AC22, 0x4063AA20, 0x40646420, 0x00000003, 0x4062AC21,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062AC22, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062AC23, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062AC24,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062AC25, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062AC26, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062AC21,\n\t0x4063AC20, 0x40646420, 0x00000002, 0x4062AC21, 0x4063B020, 0x00000002,\n\t0x4062AC22, 0x4063B020, 0x00000002, 0x4062AC23, 0x4063B020, 0x00000002,\n\t0x4062AC24, 0x4063B020, 0x00000002, 0x4062AC25,\n\t// Block 275, offset 0x44c0\n\t0x4063B020, 0x00000002, 0x4062AC26, 0x4063B020, 0x00000002, 0x4062AC27,\n\t0x4063B020, 0x00000002, 0x4062AC28, 0x4063B020, 0x00000002, 0x4062AC29,\n\t0x4063B020, 0x00000002, 0x4062AC2A, 0x4063B020, 0x00000002, 0x4062AC2B,\n\t0x4063B020, 0x00000002, 0x4062AC2C, 0x4063B020, 0x00000002, 0x4062AC2D,\n\t0x4063B020, 0x00000002, 0x4062AC2E, 0x4063B020, 0x00000002, 0x4062AC2F,\n\t0x4063B020, 0x00000002, 0x4062AC30, 0x4063B020, 0x00000002, 0x4062AC31,\n\t0x4063B020, 0x00000002, 0x4062AC32, 0x4063B020, 0x00000002, 0x4062AC33,\n\t0x4063B020, 0x00000002, 0x4062AC34, 0x4063B020, 0x00000002, 0x4062AC35,\n\t0x4063B020, 0x00000002, 0x4062AC36, 0x4063B020, 0x00000002, 0x4062AC37,\n\t0x4063B020, 0x00000002, 0x4062AC38, 0x4063B020, 0x00000002, 0x4062AC39,\n\t0x4063B020, 0x00000002, 0x4062AC3A, 0x4063B020,\n\t// Block 276, offset 0x4500\n\t0x00000002, 0x4062AC3B, 0x4063B020, 0x00000002, 0x4062AC3C, 0x4063B020,\n\t0x00000002, 0x4062AC3D, 0x4063B020, 0x00000002, 0x4062AC3E, 0x4063B020,\n\t0x00000003, 0x4062AC21, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC22,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062AC24, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC25,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062AC27, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC28,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062AC2A, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC2B,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062AC2C, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062AC2D, 0x4063B020, 0x40646A20,\n\t// Block 277, offset 0x4540\n\t0x00000003, 0x4062AC2E, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC2F,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062AC31, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC32,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062AC21, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062AC22, 0x4063B020, 0x40647220, 0x00000003, 0x4062AC23,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062AC24, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062AC25, 0x4063B020, 0x40647220, 0x00000003, 0x4062AC26,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062AC27, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062AC21, 0x4063B020, 0x40648220, 0x00000003, 0x4062AC22,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062AC23, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062AC24, 0x4063B020, 0x40648220,\n\t// Block 278, offset 0x4580\n\t0x00000003, 0x4062AC25, 0x4063B020, 0x40648220, 0x00000003, 0x4062AC26,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062AC27, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062AC28, 0x4063B020, 0x40648220, 0x00000003, 0x4062AC29,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062AC21, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062AC22, 0x4063B020, 0x40648420, 0x00000003, 0x4062AC23,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062AC24, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062AC25, 0x4063B020, 0x40648420, 0x00000002, 0x4062AC21,\n\t0x4063B220, 0x00000002, 0x4062AC22, 0x4063B220, 0x00000002, 0x4062AC23,\n\t0x4063B220, 0x00000003, 0x4062AC21, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062AC22, 0x4063B420, 0x40646420, 0x00000003, 0x4062AC23, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062AC24, 0x4063B420,\n\t// Block 279, offset 0x45c0\n\t0x40646420, 0x00000003, 0x4062AC25, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062AC26, 0x4063B420, 0x40646420, 0x00000003, 0x4062AC27, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062AC28, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062AC29, 0x4063B420, 0x40646420, 0x00000003, 0x4062AC2A, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062AC2B, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062AC2C, 0x4063B420, 0x40646420, 0x00000003, 0x4062AC2D, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062AC21, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC22, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062AC24, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC25, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062AC27, 0x4063B420,\n\t// Block 280, offset 0x4600\n\t0x40646A20, 0x00000003, 0x4062AC28, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC29, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC2A, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062AC2B, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC2C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC2D, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062AC2E, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC2F, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062AC31, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC32, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC33, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062AC34, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC21, 0x4063B420, 0x40647220, 0x00000003, 0x4062AC22, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062AC23, 0x4063B420,\n\t// Block 281, offset 0x4640\n\t0x40647220, 0x00000003, 0x4062AC24, 0x4063B420, 0x40647220, 0x00000003,\n\t0x4062AC25, 0x4063B420, 0x40647220, 0x00000003, 0x4062AC26, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062AC27, 0x4063B420, 0x40647220, 0x00000003,\n\t0x4062AC28, 0x4063B420, 0x40647220, 0x00000003, 0x4062AC29, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062AC21, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062AC22, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC23, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062AC24, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062AC25, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC26, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062AC27, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062AC28, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC29, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062AC2A, 0x4063B420,\n\t// Block 282, offset 0x4680\n\t0x40648220, 0x00000003, 0x4062AC2B, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062AC2C, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC2D, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062AC2E, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062AC2F, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC21, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC22, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC23, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC24, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC25, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC26, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC27, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC28, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC29, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC2A, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC2B, 0x4063B420,\n\t// Block 283, offset 0x46c0\n\t0x40648C20, 0x00000003, 0x4062AC2C, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC2D, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC2E, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC2F, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC30, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC31, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC32, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC33, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC34, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC35, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC36, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC37, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC38, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC39, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC3A, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC3B, 0x4063B420,\n\t// Block 284, offset 0x4700\n\t0x40648C20, 0x00000003, 0x4062AC3C, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC3D, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC3E, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC3F, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC40, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC41, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC42, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC43, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC44, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC45, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC46, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC47, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC48, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC49, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC4A, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC4B, 0x4063B420,\n\t// Block 285, offset 0x4740\n\t0x40648C20, 0x00000003, 0x4062AC4C, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC4D, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC4E, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC4F, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC50, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC51, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC52, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC53, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC54, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC55, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC56, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC57, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC58, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC59, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC5A, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC5B, 0x4063B420,\n\t// Block 286, offset 0x4780\n\t0x40648C20, 0x00000003, 0x4062AC5C, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC5D, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC5E, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC5F, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC60, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC61, 0x4063B420,\n\t0x40648C20, 0x00000002, 0x4062AC21, 0x4063B620, 0x00000002, 0x4062AC22,\n\t0x4063B620, 0x00000002, 0x4062AC23, 0x4063B620, 0x00000002, 0x4062AC24,\n\t0x4063B620, 0x00000002, 0x4062AC25, 0x4063B620, 0x00000002, 0x4062AC26,\n\t0x4063B620, 0x00000002, 0x4062AC27, 0x4063B620, 0x00000002, 0x4062AC28,\n\t0x4063B620, 0x00000002, 0x4062AC29, 0x4063B620, 0x00000002, 0x4062AC2A,\n\t0x4063B620, 0x00000002, 0x4062AC2B, 0x4063B620, 0x00000002, 0x4062AC2C,\n\t0x4063B620, 0x00000002, 0x4062AC2D, 0x4063B620,\n\t// Block 287, offset 0x47c0\n\t0x00000002, 0x4062AC2E, 0x4063B620, 0x00000002, 0x4062AC2F, 0x4063B620,\n\t0x00000002, 0x4062AC30, 0x4063B620, 0x00000002, 0x4062AC31, 0x4063B620,\n\t0x00000002, 0x4062AC32, 0x4063B620, 0x00000002, 0x4062AC33, 0x4063B620,\n\t0x00000002, 0x4062AC34, 0x4063B620, 0x00000002, 0x4062AC35, 0x4063B620,\n\t0x00000002, 0x4062AC36, 0x4063B620, 0x00000002, 0x4062AC37, 0x4063B620,\n\t0x00000002, 0x4062AC38, 0x4063B620, 0x00000002, 0x4062AC39, 0x4063B620,\n\t0x00000002, 0x4062AC3A, 0x4063B620, 0x00000002, 0x4062AC3B, 0x4063B620,\n\t0x00000002, 0x4062AC3C, 0x4063B620, 0x00000002, 0x4062AC3D, 0x4063B620,\n\t0x00000002, 0x4062AC3E, 0x4063B620, 0x00000002, 0x4062AC3F, 0x4063B620,\n\t0x00000002, 0x4062AC40, 0x4063B620, 0x00000002, 0x4062AC41, 0x4063B620,\n\t0x00000002, 0x4062AC42, 0x4063B620, 0x00000002,\n\t// Block 288, offset 0x4800\n\t0x4062AC43, 0x4063B620, 0x00000002, 0x4062AC44, 0x4063B620, 0x00000002,\n\t0x4062AC21, 0x4063B820, 0x00000002, 0x4062AC22, 0x4063B820, 0x00000002,\n\t0x4062AC23, 0x4063B820, 0x00000002, 0x4062AC24, 0x4063B820, 0x00000002,\n\t0x4062AC25, 0x4063B820, 0x00000002, 0x4062AC26, 0x4063B820, 0x00000002,\n\t0x4062AC27, 0x4063B820, 0x00000002, 0x4062AC28, 0x4063B820, 0x00000002,\n\t0x4062AC29, 0x4063B820, 0x00000002, 0x4062AC2A, 0x4063B820, 0x00000002,\n\t0x4062AC2B, 0x4063B820, 0x00000002, 0x4062AC2C, 0x4063B820, 0x00000002,\n\t0x4062AC2D, 0x4063B820, 0x00000002, 0x4062AC2E, 0x4063B820, 0x00000002,\n\t0x4062AC2F, 0x4063B820, 0x00000002, 0x4062AC30, 0x4063B820, 0x00000002,\n\t0x4062AC31, 0x4063B820, 0x00000002, 0x4062AC32, 0x4063B820, 0x00000002,\n\t0x4062AC33, 0x4063B820, 0x00000002, 0x4062AC34,\n\t// Block 289, offset 0x4840\n\t0x4063B820, 0x00000002, 0x4062AC35, 0x4063B820, 0x00000002, 0x4062AC36,\n\t0x4063B820, 0x00000002, 0x4062AC37, 0x4063B820, 0x00000002, 0x4062AC38,\n\t0x4063B820, 0x00000002, 0x4062AC39, 0x4063B820, 0x00000002, 0x4062AC3A,\n\t0x4063B820, 0x00000002, 0x4062AC3B, 0x4063B820, 0x00000002, 0x4062AC3C,\n\t0x4063B820, 0x00000002, 0x4062AC3D, 0x4063B820, 0x00000002, 0x4062AC3E,\n\t0x4063B820, 0x00000002, 0x4062AC3F, 0x4063B820, 0x00000002, 0x4062AC40,\n\t0x4063B820, 0x00000002, 0x4062AC41, 0x4063B820, 0x00000002, 0x4062AC42,\n\t0x4063B820, 0x00000002, 0x4062AC43, 0x4063B820, 0x00000002, 0x4062AC44,\n\t0x4063B820, 0x00000002, 0x4062AC45, 0x4063B820, 0x00000002, 0x4062AC46,\n\t0x4063B820, 0x00000002, 0x4062AC47, 0x4063B820, 0x00000002, 0x4062AC48,\n\t0x4063B820, 0x00000002, 0x4062AC49, 0x4063B820,\n\t// Block 290, offset 0x4880\n\t0x00000002, 0x4062AC4A, 0x4063B820, 0x00000002, 0x4062AC4B, 0x4063B820,\n\t0x00000002, 0x4062AC4C, 0x4063B820, 0x00000002, 0x4062AC4D, 0x4063B820,\n\t0x00000002, 0x4062AC4E, 0x4063B820, 0x00000002, 0x4062AC4F, 0x4063B820,\n\t0x00000002, 0x4062AC50, 0x4063B820, 0x00000002, 0x4062AC51, 0x4063B820,\n\t0x00000002, 0x4062AC52, 0x4063B820, 0x00000002, 0x4062AC53, 0x4063B820,\n\t0x00000002, 0x4062AC54, 0x4063B820, 0x00000002, 0x4062AC55, 0x4063B820,\n\t0x00000002, 0x4062AC56, 0x4063B820, 0x00000002, 0x4062AC57, 0x4063B820,\n\t0x00000002, 0x4062AC58, 0x4063B820, 0x00000002, 0x4062AC59, 0x4063B820,\n\t0x00000002, 0x4062AC5A, 0x4063B820, 0x00000002, 0x4062AC5B, 0x4063B820,\n\t0x00000002, 0x4062AC5C, 0x4063B820, 0x00000002, 0x4062AC5D, 0x4063B820,\n\t0x00000002, 0x4062AC5E, 0x4063B820, 0x00000002,\n\t// Block 291, offset 0x48c0\n\t0x4062AC5F, 0x4063B820, 0x00000002, 0x4062AC60, 0x4063B820, 0x00000002,\n\t0x4062AC61, 0x4063B820, 0x00000002, 0x4062AC62, 0x4063B820, 0x00000002,\n\t0x4062AC63, 0x4063B820, 0x00000003, 0x4062AC21, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062AC22, 0x4063B820, 0x40646420, 0x00000003, 0x4062AC23,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062AC24, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062AC25, 0x4063B820, 0x40646420, 0x00000003, 0x4062AC26,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062AC27, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062AC28, 0x4063B820, 0x40646420, 0x00000003, 0x4062AC29,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062AC2A, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062AC2B, 0x4063B820, 0x40646420, 0x00000003, 0x4062AC2C,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062AC21,\n\t// Block 292, offset 0x4900\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC22, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC23, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC24,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC25, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC26, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC27,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC28, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC29, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC2A,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC2B, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC2C, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC2D,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC2E, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC2F, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC30,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC31,\n\t// Block 293, offset 0x4940\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC32, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC33, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC34,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC35, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC36, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC37,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC38, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC21, 0x4063B820, 0x40647220, 0x00000003, 0x4062AC22,\n\t0x4063B820, 0x40647220, 0x00000003, 0x4062AC23, 0x4063B820, 0x40647220,\n\t0x00000003, 0x4062AC24, 0x4063B820, 0x40647220, 0x00000003, 0x4062AC25,\n\t0x4063B820, 0x40647220, 0x00000003, 0x4062AC26, 0x4063B820, 0x40647220,\n\t0x00000003, 0x4062AC21, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC22,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC23,\n\t// Block 294, offset 0x4980\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC24, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC25, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC26,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC27, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC28, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC29,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC2A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC2B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC2C,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC2D, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC2E, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC2F,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC30, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC31, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC32,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC33,\n\t// Block 295, offset 0x49c0\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC34, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC35, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC36,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC37, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC38, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC39,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC3A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC3B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC3C,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC21, 0x4063B820, 0x40648E20,\n\t0x00000002, 0x4062AC21, 0x4063BA20, 0x00000002, 0x4062AC22, 0x4063BA20,\n\t0x00000002, 0x4062AC23, 0x4063BA20, 0x00000002, 0x4062AC24, 0x4063BA20,\n\t0x00000002, 0x4062AC25, 0x4063BA20, 0x00000002, 0x4062AC26, 0x4063BA20,\n\t0x00000002, 0x4062AC27, 0x4063BA20, 0x00000002,\n\t// Block 296, offset 0x4a00\n\t0x4062AC28, 0x4063BA20, 0x00000002, 0x4062AC29, 0x4063BA20, 0x00000002,\n\t0x4062AC2A, 0x4063BA20, 0x00000002, 0x4062AC2B, 0x4063BA20, 0x00000002,\n\t0x4062AC2C, 0x4063BA20, 0x00000002, 0x4062AC2D, 0x4063BA20, 0x00000002,\n\t0x4062AC2E, 0x4063BA20, 0x00000002, 0x4062AC2F, 0x4063BA20, 0x00000002,\n\t0x4062AC30, 0x4063BA20, 0x00000002, 0x4062AC31, 0x4063BA20, 0x00000002,\n\t0x4062AC32, 0x4063BA20, 0x00000002, 0x4062AC33, 0x4063BA20, 0x00000002,\n\t0x4062AC34, 0x4063BA20, 0x00000002, 0x4062AC35, 0x4063BA20, 0x00000002,\n\t0x4062AC36, 0x4063BA20, 0x00000002, 0x4062AC37, 0x4063BA20, 0x00000002,\n\t0x4062AC38, 0x4063BA20, 0x00000002, 0x4062AC39, 0x4063BA20, 0x00000003,\n\t0x4062AC21, 0x4063BA20, 0x40646420, 0x00000003, 0x4062AC22, 0x4063BA20,\n\t0x40646420, 0x00000003, 0x4062AC23, 0x4063BA20,\n\t// Block 297, offset 0x4a40\n\t0x40646420, 0x00000003, 0x4062AC24, 0x4063BA20, 0x40646420, 0x00000003,\n\t0x4062AC25, 0x4063BA20, 0x40646420, 0x00000003, 0x4062AC26, 0x4063BA20,\n\t0x40646420, 0x00000003, 0x4062AC27, 0x4063BA20, 0x40646420, 0x00000003,\n\t0x4062AC28, 0x4063BA20, 0x40646420, 0x00000003, 0x4062AC29, 0x4063BA20,\n\t0x40646420, 0x00000003, 0x4062AC21, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC22, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC24, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC25, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC27, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC28, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC2A, 0x4063BA20,\n\t// Block 298, offset 0x4a80\n\t0x40646A20, 0x00000003, 0x4062AC2B, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC2C, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC2D, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC2E, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC2F, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC31, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC32, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC33, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC34, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC35, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC36, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC37, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC38, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC39, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC3A, 0x4063BA20,\n\t// Block 299, offset 0x4ac0\n\t0x40646A20, 0x00000003, 0x4062AC3B, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC3C, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC3D, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC3E, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC3F, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC21, 0x4063BA20,\n\t0x40647220, 0x00000003, 0x4062AC22, 0x4063BA20, 0x40647220, 0x00000003,\n\t0x4062AC23, 0x4063BA20, 0x40647220, 0x00000003, 0x4062AC24, 0x4063BA20,\n\t0x40647220, 0x00000003, 0x4062AC25, 0x4063BA20, 0x40647220, 0x00000003,\n\t0x4062AC26, 0x4063BA20, 0x40647220, 0x00000003, 0x4062AC27, 0x4063BA20,\n\t0x40647220, 0x00000003, 0x4062AC28, 0x4063BA20, 0x40647220, 0x00000003,\n\t0x4062AC29, 0x4063BA20, 0x40647220, 0x00000003, 0x4062AC2A, 0x4063BA20,\n\t0x40647220, 0x00000003, 0x4062AC21, 0x4063BA20,\n\t// Block 300, offset 0x4b00\n\t0x40648C20, 0x00000003, 0x4062AC22, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC23, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC24, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC25, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC26, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC27, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC28, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC29, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC2A, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC2B, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC2C, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC2D, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC2E, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC2F, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC30, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC31, 0x4063BA20,\n\t// Block 301, offset 0x4b40\n\t0x40648C20, 0x00000003, 0x4062AC32, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC33, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC34, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC35, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC36, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC37, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC38, 0x4063BA20, 0x40648C20, 0x00000002,\n\t0x4062AC21, 0x4063BC20, 0x00000002, 0x4062AC22, 0x4063BC20, 0x00000002,\n\t0x4062AC23, 0x4063BC20, 0x00000002, 0x4062AC24, 0x4063BC20, 0x00000002,\n\t0x4062AC25, 0x4063BC20, 0x00000002, 0x4062AC26, 0x4063BC20, 0x00000002,\n\t0x4062AC27, 0x4063BC20, 0x00000002, 0x4062AC21, 0x4063BE20, 0x00000002,\n\t0x4062AC22, 0x4063BE20, 0x00000002, 0x4062AC23, 0x4063BE20, 0x00000002,\n\t0x4062AC24, 0x4063BE20, 0x00000002, 0x4062AC25,\n\t// Block 302, offset 0x4b80\n\t0x4063BE20, 0x00000002, 0x4062AC26, 0x4063BE20, 0x00000002, 0x4062AC27,\n\t0x4063BE20, 0x00000002, 0x4062AC28, 0x4063BE20, 0x00000002, 0x4062AC29,\n\t0x4063BE20, 0x00000002, 0x4062AC2A, 0x4063BE20, 0x00000002, 0x4062AC2B,\n\t0x4063BE20, 0x00000002, 0x4062AC2C, 0x4063BE20, 0x00000002, 0x4062AC2D,\n\t0x4063BE20, 0x00000002, 0x4062AC2E, 0x4063BE20, 0x00000002, 0x4062AC2F,\n\t0x4063BE20, 0x00000002, 0x4062AC30, 0x4063BE20, 0x00000003, 0x4062AC21,\n\t0x4063BE20, 0x40646420, 0x00000003, 0x4062AC21, 0x4063BE20, 0x40648C20,\n\t0x00000003, 0x4062AC22, 0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC23,\n\t0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC24, 0x4063BE20, 0x40648C20,\n\t0x00000003, 0x4062AC25, 0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC26,\n\t0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC27,\n\t// Block 303, offset 0x4bc0\n\t0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC28, 0x4063BE20, 0x40648C20,\n\t0x00000002, 0x4062AC21, 0x4063C020, 0x00000002, 0x4062AC22, 0x4063C020,\n\t0x00000002, 0x4062AC23, 0x4063C020, 0x00000002, 0x4062AC24, 0x4063C020,\n\t0x00000002, 0x4062AC25, 0x4063C020, 0x00000002, 0x4062AC26, 0x4063C020,\n\t0x00000002, 0x4062AC27, 0x4063C020, 0x00000002, 0x4062AC28, 0x4063C020,\n\t0x00000002, 0x4062AC29, 0x4063C020, 0x00000002, 0x4062AC2A, 0x4063C020,\n\t0x00000002, 0x4062AC2B, 0x4063C020, 0x00000002, 0x4062AC2C, 0x4063C020,\n\t0x00000002, 0x4062AC2D, 0x4063C020, 0x00000002, 0x4062AC2E, 0x4063C020,\n\t0x00000002, 0x4062AC2F, 0x4063C020, 0x00000002, 0x4062AC30, 0x4063C020,\n\t0x00000002, 0x4062AC31, 0x4063C020, 0x00000002, 0x4062AC32, 0x4063C020,\n\t0x00000002, 0x4062AC33, 0x4063C020, 0x00000002,\n\t// Block 304, offset 0x4c00\n\t0x4062AC34, 0x4063C020, 0x00000002, 0x4062AC35, 0x4063C020, 0x00000002,\n\t0x4062AC36, 0x4063C020, 0x00000002, 0x4062AC37, 0x4063C020, 0x00000002,\n\t0x4062AC38, 0x4063C020, 0x00000002, 0x4062AC39, 0x4063C020, 0x00000002,\n\t0x4062AC3A, 0x4063C020, 0x00000002, 0x4062AC3B, 0x4063C020, 0x00000002,\n\t0x4062AC3C, 0x4063C020, 0x00000002, 0x4062AC3D, 0x4063C020, 0x00000002,\n\t0x4062AC3E, 0x4063C020, 0x00000002, 0x4062AC3F, 0x4063C020, 0x00000002,\n\t0x4062AC40, 0x4063C020, 0x00000002, 0x4062AC41, 0x4063C020, 0x00000002,\n\t0x4062AC42, 0x4063C020, 0x00000002, 0x4062AC43, 0x4063C020, 0x00000002,\n\t0x4062AC44, 0x4063C020, 0x00000002, 0x4062AC45, 0x4063C020, 0x00000002,\n\t0x4062AC46, 0x4063C020, 0x00000002, 0x4062AC47, 0x4063C020, 0x00000002,\n\t0x4062AC48, 0x4063C020, 0x00000002, 0x4062AC49,\n\t// Block 305, offset 0x4c40\n\t0x4063C020, 0x00000002, 0x4062AC4A, 0x4063C020, 0x00000002, 0x4062AC4B,\n\t0x4063C020, 0x00000002, 0x4062AC4C, 0x4063C020, 0x00000002, 0x4062AC21,\n\t0x4063C220, 0x00000002, 0x4062AC22, 0x4063C220, 0x00000002, 0x4062AC23,\n\t0x4063C220, 0x00000002, 0x4062AC24, 0x4063C220, 0x00000002, 0x4062AC25,\n\t0x4063C220, 0x00000002, 0x4062AC26, 0x4063C220, 0x00000002, 0x4062AC27,\n\t0x4063C220, 0x00000002, 0x4062AC28, 0x4063C220, 0x00000002, 0x4062AC29,\n\t0x4063C220, 0x00000002, 0x4062AC2A, 0x4063C220, 0x00000002, 0x4062AC2B,\n\t0x4063C220, 0x00000002, 0x4062AC2C, 0x4063C220, 0x00000002, 0x4062AC2D,\n\t0x4063C220, 0x00000002, 0x4062AC2E, 0x4063C220, 0x00000002, 0x4062AC2F,\n\t0x4063C220, 0x00000002, 0x4062AC30, 0x4063C220, 0x00000002, 0x4062AC31,\n\t0x4063C220, 0x00000002, 0x4062AC32, 0x4063C220,\n\t// Block 306, offset 0x4c80\n\t0x00000002, 0x4062AC33, 0x4063C220, 0x00000002, 0x4062AC34, 0x4063C220,\n\t0x00000002, 0x4062AC35, 0x4063C220, 0x00000002, 0x4062AC36, 0x4063C220,\n\t0x00000002, 0x4062AC37, 0x4063C220, 0x00000002, 0x4062AC38, 0x4063C220,\n\t0x00000002, 0x4062AC39, 0x4063C220, 0x00000002, 0x4062AC3A, 0x4063C220,\n\t0x00000002, 0x4062AC3B, 0x4063C220, 0x00000002, 0x4062AC3C, 0x4063C220,\n\t0x00000002, 0x4062AC3D, 0x4063C220, 0x00000002, 0x4062AC3E, 0x4063C220,\n\t0x00000002, 0x4062AC3F, 0x4063C220, 0x00000002, 0x4062AC40, 0x4063C220,\n\t0x00000002, 0x4062AC41, 0x4063C220, 0x00000002, 0x4062AC42, 0x4063C220,\n\t0x00000002, 0x4062AC43, 0x4063C220, 0x00000002, 0x4062AC44, 0x4063C220,\n\t0x00000002, 0x4062AC45, 0x4063C220, 0x00000002, 0x4062AC46, 0x4063C220,\n\t0x00000002, 0x4062AC47, 0x4063C220, 0x00000002,\n\t// Block 307, offset 0x4cc0\n\t0x4062AC48, 0x4063C220, 0x00000002, 0x4062AC49, 0x4063C220, 0x00000002,\n\t0x4062AC4A, 0x4063C220, 0x00000002, 0x4062AC4B, 0x4063C220, 0x00000002,\n\t0x4062AC4C, 0x4063C220, 0x00000002, 0x4062AC4D, 0x4063C220, 0x00000002,\n\t0x4062AC4E, 0x4063C220, 0x00000002, 0x4062AC4F, 0x4063C220, 0x00000002,\n\t0x4062AC50, 0x4063C220, 0x00000002, 0x4062AC51, 0x4063C220, 0x00000002,\n\t0x4062AC52, 0x4063C220, 0x00000002, 0x4062AC53, 0x4063C220, 0x00000002,\n\t0x4062AC54, 0x4063C220, 0x00000002, 0x4062AC55, 0x4063C220, 0x00000002,\n\t0x4062AC56, 0x4063C220, 0x00000002, 0x4062AC57, 0x4063C220, 0x00000002,\n\t0x4062AC58, 0x4063C220, 0x00000002, 0x4062AC59, 0x4063C220, 0x00000002,\n\t0x4062AC5A, 0x4063C220, 0x00000002, 0x4062AC5B, 0x4063C220, 0x00000002,\n\t0x4062AC5C, 0x4063C220, 0x00000002, 0x4062AC5D,\n\t// Block 308, offset 0x4d00\n\t0x4063C220, 0x00000002, 0x4062AC5E, 0x4063C220, 0x00000002, 0x4062AC5F,\n\t0x4063C220, 0x00000002, 0x4062AC60, 0x4063C220, 0x00000002, 0x4062AC61,\n\t0x4063C220, 0x00000002, 0x4062AC62, 0x4063C220, 0x00000002, 0x4062AC63,\n\t0x4063C220, 0x00000002, 0x4062AC64, 0x4063C220, 0x00000002, 0x4062AC65,\n\t0x4063C220, 0x00000002, 0x4062AC66, 0x4063C220, 0x00000002, 0x4062AC67,\n\t0x4063C220, 0x00000002, 0x4062AC68, 0x4063C220, 0x00000002, 0x4062AC69,\n\t0x4063C220, 0x00000002, 0x4062AC6A, 0x4063C220, 0x00000002, 0x4062AC6B,\n\t0x4063C220, 0x00000002, 0x4062AC6C, 0x4063C220, 0x00000002, 0x4062AC6D,\n\t0x4063C220, 0x00000002, 0x4062AC6E, 0x4063C220, 0x00000002, 0x4062AC6F,\n\t0x4063C220, 0x00000002, 0x4062AC70, 0x4063C220, 0x00000002, 0x4062AC71,\n\t0x4063C220, 0x00000002, 0x4062AC72, 0x4063C220,\n\t// Block 309, offset 0x4d40\n\t0x00000002, 0x4062AC73, 0x4063C220, 0x00000002, 0x4062AC74, 0x4063C220,\n\t0x00000002, 0x4062AC75, 0x4063C220, 0x00000002, 0x4062AC76, 0x4063C220,\n\t0x00000002, 0x4062AC77, 0x4063C220, 0x00000002, 0x4062AC78, 0x4063C220,\n\t0x00000002, 0x4062AC79, 0x4063C220, 0x00000002, 0x4062AC7A, 0x4063C220,\n\t0x00000002, 0x4062AC7B, 0x4063C220, 0x00000002, 0x4062AC7C, 0x4063C220,\n\t0x00000002, 0x4062AC7D, 0x4063C220, 0x00000002, 0x4062AC7E, 0x4063C220,\n\t0x00000002, 0x4062AC7F, 0x4063C220, 0x00000002, 0x4062AC80, 0x4063C220,\n\t0x00000002, 0x4062AC81, 0x4063C220, 0x00000002, 0x4062AC82, 0x4063C220,\n\t0x00000002, 0x4062AC83, 0x4063C220, 0x00000002, 0x4062AC84, 0x4063C220,\n\t0x00000002, 0x4062AC85, 0x4063C220, 0x00000002, 0x4062AC86, 0x4063C220,\n\t0x00000002, 0x4062AC87, 0x4063C220, 0x00000003,\n\t// Block 310, offset 0x4d80\n\t0x4062AC21, 0x4063C220, 0x40646420, 0x00000003, 0x4062AC22, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062AC23, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062AC24, 0x4063C220, 0x40646420, 0x00000003, 0x4062AC25, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062AC26, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062AC27, 0x4063C220, 0x40646420, 0x00000003, 0x4062AC28, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062AC29, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062AC2A, 0x4063C220, 0x40646420, 0x00000003, 0x4062AC21, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062AC22, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062AC23, 0x4063C220, 0x40646A20, 0x00000003, 0x4062AC24, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062AC25, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062AC26, 0x4063C220, 0x40646A20, 0x00000003,\n\t// Block 311, offset 0x4dc0\n\t0x4062AC27, 0x4063C220, 0x40646A20, 0x00000003, 0x4062AC28, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062AC29, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062AC21, 0x4063C220, 0x40647220, 0x00000003, 0x4062AC22, 0x4063C220,\n\t0x40647220, 0x00000003, 0x4062AC23, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062AC24, 0x4063C220, 0x40647220, 0x00000003, 0x4062AC25, 0x4063C220,\n\t0x40647220, 0x00000003, 0x4062AC26, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062AC27, 0x4063C220, 0x40647220, 0x00000003, 0x4062AC28, 0x4063C220,\n\t0x40647220, 0x00000003, 0x4062AC21, 0x4063C220, 0x40648C20, 0x00000003,\n\t0x4062AC22, 0x4063C220, 0x40648C20, 0x00000003, 0x4062AC23, 0x4063C220,\n\t0x40648C20, 0x00000003, 0x4062AC24, 0x4063C220, 0x40648C20, 0x00000003,\n\t0x4062AC25, 0x4063C220, 0x40648C20, 0x00000003,\n\t// Block 312, offset 0x4e00\n\t0x4062AC26, 0x4063C220, 0x40648C20, 0x00000003, 0x4062AC27, 0x4063C220,\n\t0x40648C20, 0x00000003, 0x4062AC21, 0x4063C420, 0x40646A20, 0x00000003,\n\t0x4062AC22, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063C420,\n\t0x40646A20, 0x00000003, 0x4062AC24, 0x4063C420, 0x40646A20, 0x00000003,\n\t0x4062AC25, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063C420,\n\t0x40646A20, 0x00000003, 0x4062AC27, 0x4063C420, 0x40646A20, 0x00000003,\n\t0x4062AC28, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063C420,\n\t0x40646A20, 0x00000003, 0x4062AC2A, 0x4063C420, 0x40646A20, 0x00000003,\n\t0x4062AC2B, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC2C, 0x4063C420,\n\t0x40646A20, 0x00000003, 0x4062AC2D, 0x4063C420, 0x40646A20, 0x00000003,\n\t0x4062AC2E, 0x4063C420, 0x40646A20, 0x00000003,\n\t// Block 313, offset 0x4e40\n\t0x4062AC2F, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063C420,\n\t0x40646A20, 0x00000003, 0x4062AC21, 0x4063C420, 0x40647220, 0x00000003,\n\t0x4062AC22, 0x4063C420, 0x40647220, 0x00000003, 0x4062AC23, 0x4063C420,\n\t0x40647220, 0x00000003, 0x4062AC24, 0x4063C420, 0x40647220, 0x00000003,\n\t0x4062AC25, 0x4063C420, 0x40647220, 0x00000002, 0x4062AC21, 0x4063C620,\n\t0x00000002, 0x4062AC22, 0x4063C620, 0x00000002, 0x4062AC23, 0x4063C620,\n\t0x00000002, 0x4062AC24, 0x4063C620, 0x00000002, 0x4062AC25, 0x4063C620,\n\t0x00000002, 0x4062AC26, 0x4063C620, 0x00000002, 0x4062AC27, 0x4063C620,\n\t0x00000002, 0x4062AC28, 0x4063C620, 0x00000002, 0x4062AC29, 0x4063C620,\n\t0x00000002, 0x4062AC2A, 0x4063C620, 0x00000002, 0x4062AC2B, 0x4063C620,\n\t0x00000002, 0x4062AC2C, 0x4063C620, 0x00000002,\n\t// Block 314, offset 0x4e80\n\t0x4062AC2D, 0x4063C620, 0x00000002, 0x4062AC2E, 0x4063C620, 0x00000002,\n\t0x4062AC2F, 0x4063C620, 0x00000002, 0x4062AC30, 0x4063C620, 0x00000002,\n\t0x4062AC31, 0x4063C620, 0x00000002, 0x4062AC32, 0x4063C620, 0x00000002,\n\t0x4062AC33, 0x4063C620, 0x00000002, 0x4062AC34, 0x4063C620, 0x00000002,\n\t0x4062AC21, 0x4063C820, 0x00000002, 0x4062AC22, 0x4063C820, 0x00000002,\n\t0x4062AC23, 0x4063C820, 0x00000002, 0x4062AC24, 0x4063C820, 0x00000002,\n\t0x4062AC21, 0x4063CA20, 0x00000002, 0x4062AC22, 0x4063CA20, 0x00000002,\n\t0x4062AC23, 0x4063CA20, 0x00000002, 0x4062AC24, 0x4063CA20, 0x00000002,\n\t0x4062AC25, 0x4063CA20, 0x00000002, 0x4062AC26, 0x4063CA20, 0x00000002,\n\t0x4062AC27, 0x4063CA20, 0x00000002, 0x4062AC28, 0x4063CA20, 0x00000002,\n\t0x4062AC29, 0x4063CA20, 0x00000002, 0x4062AC2A,\n\t// Block 315, offset 0x4ec0\n\t0x4063CA20, 0x00000002, 0x4062AC2B, 0x4063CA20, 0x00000002, 0x4062AC2C,\n\t0x4063CA20, 0x00000002, 0x4062AC2D, 0x4063CA20, 0x00000002, 0x4062AC2E,\n\t0x4063CA20, 0x00000002, 0x4062AC2F, 0x4063CA20, 0x00000002, 0x4062AC30,\n\t0x4063CA20, 0x00000002, 0x4062AC31, 0x4063CA20, 0x00000002, 0x4062AC32,\n\t0x4063CA20, 0x00000002, 0x4062AC33, 0x4063CA20, 0x00000002, 0x4062AC34,\n\t0x4063CA20, 0x00000002, 0x4062AC35, 0x4063CA20, 0x00000002, 0x4062AC36,\n\t0x4063CA20, 0x00000002, 0x4062AC37, 0x4063CA20, 0x00000002, 0x4062AC38,\n\t0x4063CA20, 0x00000002, 0x4062AC39, 0x4063CA20, 0x00000002, 0x4062AC3A,\n\t0x4063CA20, 0x00000002, 0x4062AC3B, 0x4063CA20, 0x00000002, 0x4062AC3C,\n\t0x4063CA20, 0x00000002, 0x4062AC3D, 0x4063CA20, 0x00000002, 0x4062AC3E,\n\t0x4063CA20, 0x00000002, 0x4062AC3F, 0x4063CA20,\n\t// Block 316, offset 0x4f00\n\t0x00000002, 0x4062AC40, 0x4063CA20, 0x00000003, 0x4062AC21, 0x4063CA20,\n\t0x40646A20, 0x00000003, 0x4062AC22, 0x4063CA20, 0x40646A20, 0x00000003,\n\t0x4062AC23, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062AC24, 0x4063CA20,\n\t0x40646A20, 0x00000003, 0x4062AC25, 0x4063CA20, 0x40646A20, 0x00000003,\n\t0x4062AC26, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062AC27, 0x4063CA20,\n\t0x40646A20, 0x00000003, 0x4062AC28, 0x4063CA20, 0x40646A20, 0x00000003,\n\t0x4062AC21, 0x4063CA20, 0x40647220, 0x00000003, 0x4062AC21, 0x4063CC20,\n\t0x40646420, 0x00000003, 0x4062AC22, 0x4063CC20, 0x40646420, 0x00000003,\n\t0x4062AC23, 0x4063CC20, 0x40646420, 0x00000003, 0x4062AC24, 0x4063CC20,\n\t0x40646420, 0x00000003, 0x4062AC25, 0x4063CC20, 0x40646420, 0x00000003,\n\t0x4062AC26, 0x4063CC20, 0x40646420, 0x00000003,\n\t// Block 317, offset 0x4f40\n\t0x4062AC27, 0x4063CC20, 0x40646420, 0x00000003, 0x4062AC28, 0x4063CC20,\n\t0x40646420, 0x00000003, 0x4062AC29, 0x4063CC20, 0x40646420, 0x00000003,\n\t0x4062AC2A, 0x4063CC20, 0x40646420, 0x00000003, 0x4062AC2B, 0x4063CC20,\n\t0x40646420, 0x00000003, 0x4062AC21, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC22, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC24, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC25, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC27, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC28, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC2A, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC2B, 0x4063CC20, 0x40646A20, 0x00000003,\n\t// Block 318, offset 0x4f80\n\t0x4062AC2C, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC2D, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC2E, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC2F, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC31, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC32, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC33, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC34, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC35, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC36, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC37, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC38, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC39, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC21, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062AC22, 0x4063CC20, 0x40648220, 0x00000003,\n\t// Block 319, offset 0x4fc0\n\t0x4062AC23, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC24, 0x4063CC20,\n\t0x40648220, 0x00000003, 0x4062AC25, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062AC26, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC27, 0x4063CC20,\n\t0x40648220, 0x00000003, 0x4062AC28, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062AC29, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC2A, 0x4063CC20,\n\t0x40648220, 0x00000003, 0x4062AC2B, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062AC2C, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC2D, 0x4063CC20,\n\t0x40648220, 0x00000003, 0x4062AC2E, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062AC2F, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC30, 0x4063CC20,\n\t0x40648220, 0x00000003, 0x4062AC31, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062AC32, 0x4063CC20, 0x40648220, 0x00000003,\n\t// Block 320, offset 0x5000\n\t0x4062AC21, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC22, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062AC23, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062AC24, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC25, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062AC26, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062AC27, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC28, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062AC29, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062AC2A, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC2B, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062AC2C, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062AC2D, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC21, 0x4063CC20,\n\t0x40648C20, 0x00000003, 0x4062AC22, 0x4063CC20, 0x40648C20, 0x00000003,\n\t0x4062AC23, 0x4063CC20, 0x40648C20, 0x00000003,\n\t// Block 321, offset 0x5040\n\t0x4062AC24, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062AC25, 0x4063CC20,\n\t0x40648C20, 0x00000003, 0x4062AC26, 0x4063CC20, 0x40648C20, 0x00000002,\n\t0x4062AC21, 0x4063D020, 0x00000002, 0x4062AC22, 0x4063D020, 0x00000002,\n\t0x4062AC23, 0x4063D020, 0x00000002, 0x4062AC24, 0x4063D020, 0x00000002,\n\t0x4062AC25, 0x4063D020, 0x00000002, 0x4062AC26, 0x4063D020, 0x00000002,\n\t0x4062AC27, 0x4063D020, 0x00000002, 0x4062AC28, 0x4063D020, 0x00000002,\n\t0x4062AC29, 0x4063D020, 0x00000002, 0x4062AC2A, 0x4063D020, 0x00000002,\n\t0x4062AC2B, 0x4063D020, 0x00000002, 0x4062AC2C, 0x4063D020, 0x00000002,\n\t0x4062AC2D, 0x4063D020, 0x00000002, 0x4062AC2E, 0x4063D020, 0x00000002,\n\t0x4062AC2F, 0x4063D020, 0x00000002, 0x4062AC30, 0x4063D020, 0x00000002,\n\t0x4062AC31, 0x4063D020, 0x00000002, 0x4062AC32,\n\t// Block 322, offset 0x5080\n\t0x4063D020, 0x00000002, 0x4062AC33, 0x4063D020, 0x00000002, 0x4062AC34,\n\t0x4063D020, 0x00000002, 0x4062AC35, 0x4063D020, 0x00000002, 0x4062AC36,\n\t0x4063D020, 0x00000002, 0x4062AC37, 0x4063D020, 0x00000002, 0x4062AC38,\n\t0x4063D020, 0x00000002, 0x4062AC39, 0x4063D020, 0x00000002, 0x4062AC3A,\n\t0x4063D020, 0x00000002, 0x4062AC3B, 0x4063D020, 0x00000002, 0x4062AC3C,\n\t0x4063D020, 0x00000002, 0x4062AC3D, 0x4063D020, 0x00000002, 0x4062AC3E,\n\t0x4063D020, 0x00000002, 0x4062AC3F, 0x4063D020, 0x00000002, 0x4062AC40,\n\t0x4063D020, 0x00000002, 0x4062AC41, 0x4063D020, 0x00000002, 0x4062AC42,\n\t0x4063D020, 0x00000002, 0x4062AC43, 0x4063D020, 0x00000002, 0x4062AC44,\n\t0x4063D020, 0x00000002, 0x4062AC45, 0x4063D020, 0x00000002, 0x4062AC46,\n\t0x4063D020, 0x00000002, 0x4062AC47, 0x4063D020,\n\t// Block 323, offset 0x50c0\n\t0x00000002, 0x4062AC48, 0x4063D020, 0x00000002, 0x4062AC49, 0x4063D020,\n\t0x00000002, 0x4062AC4A, 0x4063D020, 0x00000002, 0x4062AC4B, 0x4063D020,\n\t0x00000002, 0x4062AC4C, 0x4063D020, 0x00000002, 0x4062AC4D, 0x4063D020,\n\t0x00000002, 0x4062AC4E, 0x4063D020, 0x00000002, 0x4062AC4F, 0x4063D020,\n\t0x00000002, 0x4062AC50, 0x4063D020, 0x00000002, 0x4062AC51, 0x4063D020,\n\t0x00000002, 0x4062AC52, 0x4063D020, 0x00000002, 0x4062AC53, 0x4063D020,\n\t0x00000002, 0x4062AC54, 0x4063D020, 0x00000002, 0x4062AC55, 0x4063D020,\n\t0x00000002, 0x4062AC56, 0x4063D020, 0x00000002, 0x4062AC57, 0x4063D020,\n\t0x00000002, 0x4062AC58, 0x4063D020, 0x00000002, 0x4062AC59, 0x4063D020,\n\t0x00000002, 0x4062AC5A, 0x4063D020, 0x00000002, 0x4062AC5B, 0x4063D020,\n\t0x00000002, 0x4062AC5C, 0x4063D020, 0x00000002,\n\t// Block 324, offset 0x5100\n\t0x4062AC5D, 0x4063D020, 0x00000002, 0x4062AC5E, 0x4063D020, 0x00000002,\n\t0x4062AC5F, 0x4063D020, 0x00000002, 0x4062AC60, 0x4063D020, 0x00000002,\n\t0x4062AC61, 0x4063D020, 0x00000002, 0x4062AC62, 0x4063D020, 0x00000002,\n\t0x4062AC63, 0x4063D020, 0x00000002, 0x4062AC64, 0x4063D020, 0x00000002,\n\t0x4062AC65, 0x4063D020, 0x00000002, 0x4062AC66, 0x4063D020, 0x00000002,\n\t0x4062AC67, 0x4063D020, 0x00000002, 0x4062AC68, 0x4063D020, 0x00000002,\n\t0x4062AC69, 0x4063D020, 0x00000002, 0x4062AC6A, 0x4063D020, 0x00000002,\n\t0x4062AC6B, 0x4063D020, 0x00000002, 0x4062AC6C, 0x4063D020, 0x00000002,\n\t0x4062AC6D, 0x4063D020, 0x00000002, 0x4062AC6E, 0x4063D020, 0x00000002,\n\t0x4062AC6F, 0x4063D020, 0x00000002, 0x4062AC70, 0x4063D020, 0x00000002,\n\t0x4062AC71, 0x4063D020, 0x00000002, 0x4062AC72,\n\t// Block 325, offset 0x5140\n\t0x4063D020, 0x00000002, 0x4062AC73, 0x4063D020, 0x00000002, 0x4062AC74,\n\t0x4063D020, 0x00000002, 0x4062AC75, 0x4063D020, 0x00000002, 0x4062AC76,\n\t0x4063D020, 0x00000002, 0x4062AC77, 0x4063D020, 0x00000002, 0x4062AC78,\n\t0x4063D020, 0x00000002, 0x4062AC79, 0x4063D020, 0x00000002, 0x4062AC7A,\n\t0x4063D020, 0x00000002, 0x4062AC7B, 0x4063D020, 0x00000002, 0x4062AC7C,\n\t0x4063D020, 0x00000002, 0x4062AC7D, 0x4063D020, 0x00000002, 0x4062AC7E,\n\t0x4063D020, 0x00000002, 0x4062AC7F, 0x4063D020, 0x00000002, 0x4062AC80,\n\t0x4063D020, 0x00000002, 0x4062AC81, 0x4063D020, 0x00000002, 0x4062AC82,\n\t0x4063D020, 0x00000002, 0x4062AC83, 0x4063D020, 0x00000002, 0x4062AC84,\n\t0x4063D020, 0x00000003, 0x4062AC21, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062AC21, 0x4063D020, 0x40647220, 0x00000003,\n\t// Block 326, offset 0x5180\n\t0x4062AC22, 0x4063D020, 0x40647220, 0x00000003, 0x4062AC23, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062AC24, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062AC25, 0x4063D020, 0x40647220, 0x00000003, 0x4062AC26, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062AC21, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062AE21, 0x4063D020, 0x40646420, 0x00000002, 0x4062B021, 0x4063A820,\n\t0x00000002, 0x4062B022, 0x4063A820, 0x00000002, 0x4062B023, 0x4063A820,\n\t0x00000002, 0x4062B024, 0x4063A820, 0x00000002, 0x4062B025, 0x4063A820,\n\t0x00000002, 0x4062B026, 0x4063A820, 0x00000002, 0x4062B027, 0x4063A820,\n\t0x00000002, 0x4062B028, 0x4063A820, 0x00000002, 0x4062B029, 0x4063A820,\n\t0x00000002, 0x4062B02A, 0x4063A820, 0x00000002, 0x4062B02B, 0x4063A820,\n\t0x00000003, 0x4062B021, 0x4063A820, 0x40646420,\n\t// Block 327, offset 0x51c0\n\t0x00000003, 0x4062B021, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B022,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B023, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B024, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B025,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B026, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B027, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B021,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062B022, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062B021, 0x4063A820, 0x40648220, 0x00000003, 0x4062B022,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B023, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B024, 0x4063A820, 0x40648220, 0x00000003, 0x4062B025,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B026, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B027, 0x4063A820, 0x40648220,\n\t// Block 328, offset 0x5200\n\t0x00000003, 0x4062B021, 0x4063A820, 0x40648420, 0x00000003, 0x4062B022,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062B021, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B022, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B023,\n\t0x4063A820, 0x40648C20, 0x00000002, 0x4062B021, 0x4063AA20, 0x00000002,\n\t0x4062B022, 0x4063AA20, 0x00000002, 0x4062B023, 0x4063AA20, 0x00000002,\n\t0x4062B024, 0x4063AA20, 0x00000002, 0x4062B025, 0x4063AA20, 0x00000002,\n\t0x4062B026, 0x4063AA20, 0x00000002, 0x4062B027, 0x4063AA20, 0x00000002,\n\t0x4062B028, 0x4063AA20, 0x00000002, 0x4062B029, 0x4063AA20, 0x00000002,\n\t0x4062B02A, 0x4063AA20, 0x00000002, 0x4062B021, 0x4063B420, 0x00000003,\n\t0x4062B021, 0x4063B420, 0x40646420, 0x00000003, 0x4062B021, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062B022, 0x4063B420,\n\t// Block 329, offset 0x5240\n\t0x40646A20, 0x00000003, 0x4062B023, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062B024, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B021, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062B022, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062B023, 0x4063B420, 0x40648220, 0x00000003, 0x4062B024, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062B021, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062B022, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B023, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062B024, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062B025, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B026, 0x4063B420,\n\t0x40648C20, 0x00000002, 0x4062B021, 0x4063B820, 0x00000002, 0x4062B022,\n\t0x4063B820, 0x00000002, 0x4062B023, 0x4063B820, 0x00000002, 0x4062B024,\n\t0x4063B820, 0x00000002, 0x4062B025, 0x4063B820,\n\t// Block 330, offset 0x5280\n\t0x00000002, 0x4062B026, 0x4063B820, 0x00000002, 0x4062B027, 0x4063B820,\n\t0x00000002, 0x4062B028, 0x4063B820, 0x00000002, 0x4062B029, 0x4063B820,\n\t0x00000002, 0x4062B02A, 0x4063B820, 0x00000002, 0x4062B02B, 0x4063B820,\n\t0x00000002, 0x4062B02C, 0x4063B820, 0x00000003, 0x4062B021, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B022, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B023, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B024, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B025, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B026, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B027, 0x4063B820,\n\t0x40648C20, 0x00000002, 0x4062B021, 0x4063BE20, 0x00000002, 0x4062B022,\n\t0x4063BE20, 0x00000002, 0x4062B023, 0x4063BE20, 0x00000002, 0x4062B021,\n\t0x4063C020, 0x00000002, 0x4062B022, 0x4063C020,\n\t// Block 331, offset 0x52c0\n\t0x00000002, 0x4062B023, 0x4063C020, 0x00000002, 0x4062B024, 0x4063C020,\n\t0x00000002, 0x4062B025, 0x4063C020, 0x00000002, 0x4062B026, 0x4063C020,\n\t0x00000002, 0x4062B027, 0x4063C020, 0x00000002, 0x4062B021, 0x4063C220,\n\t0x00000002, 0x4062B022, 0x4063C220, 0x00000003, 0x4062B021, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B021, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062B022, 0x4063C220, 0x40647220, 0x00000003, 0x4062B023, 0x4063C220,\n\t0x40647220, 0x00000002, 0x4062B021, 0x4063CA20, 0x00000002, 0x4062B022,\n\t0x4063CA20, 0x00000002, 0x4062B023, 0x4063CA20, 0x00000002, 0x4062B024,\n\t0x4063CA20, 0x00000003, 0x4062B021, 0x4063CA20, 0x40646420, 0x00000003,\n\t0x4062B021, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062B021, 0x4063D020,\n\t0x00000002, 0x4062B022, 0x4063D020, 0x00000002,\n\t// Block 332, offset 0x5300\n\t0x4062B023, 0x4063D020, 0x00000002, 0x4062B024, 0x4063D020, 0x00000002,\n\t0x4062B025, 0x4063D020, 0x00000002, 0x4062B026, 0x4063D020, 0x00000002,\n\t0x4062B027, 0x4063D020, 0x00000002, 0x4062B028, 0x4063D020, 0x00000003,\n\t0x4062B021, 0x4063D020, 0x40646420, 0x00000003, 0x4062B022, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062B023, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062B024, 0x4063D020, 0x40646420, 0x00000002, 0x4062B221, 0x4063A820,\n\t0x00000002, 0x4062B222, 0x4063A820, 0x00000002, 0x4062B223, 0x4063A820,\n\t0x00000003, 0x4062B221, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B222,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B223, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B224, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B225,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B226,\n\t// Block 333, offset 0x5340\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B227, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B228, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B229,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B22A, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B22B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B22C,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B22D, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B22E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B22F,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B230, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B231, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B232,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B233, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B234, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B235,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B236,\n\t// Block 334, offset 0x5380\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B237, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B238, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B239,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B23A, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B23B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B23C,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B23D, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B221, 0x4063A820, 0x40647220, 0x00000003, 0x4062B222,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062B223, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062B224, 0x4063A820, 0x40647220, 0x00000003, 0x4062B225,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062B226, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062B227, 0x4063A820, 0x40647220, 0x00000003, 0x4062B228,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062B229,\n\t// Block 335, offset 0x53c0\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062B22A, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062B221, 0x4063A820, 0x40648220, 0x00000003, 0x4062B222,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B223, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B224, 0x4063A820, 0x40648220, 0x00000003, 0x4062B225,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B226, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B227, 0x4063A820, 0x40648220, 0x00000003, 0x4062B228,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B229, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B22A, 0x4063A820, 0x40648220, 0x00000003, 0x4062B22B,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B22C, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B22D, 0x4063A820, 0x40648220, 0x00000003, 0x4062B22E,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B22F,\n\t// Block 336, offset 0x5400\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B230, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B231, 0x4063A820, 0x40648220, 0x00000003, 0x4062B232,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B233, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B234, 0x4063A820, 0x40648220, 0x00000003, 0x4062B235,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B236, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B237, 0x4063A820, 0x40648220, 0x00000003, 0x4062B238,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B239, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B23A, 0x4063A820, 0x40648220, 0x00000003, 0x4062B23B,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B23C, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B23D, 0x4063A820, 0x40648220, 0x00000003, 0x4062B221,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062B222,\n\t// Block 337, offset 0x5440\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062B223, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062B224, 0x4063A820, 0x40648420, 0x00000003, 0x4062B225,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062B221, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B222, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B223,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B224, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B225, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B226,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B227, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B228, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B229,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B22A, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B22B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B22C,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B22D,\n\t// Block 338, offset 0x5480\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B22E, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B22F, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B230,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B231, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B232, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B233,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B234, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B235, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B236,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B237, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B238, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B239,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B23A, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B23B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B23C,\n\t0x4063A820, 0x40648C20, 0x00000002, 0x4062B221,\n\t// Block 339, offset 0x54c0\n\t0x4063AA20, 0x00000002, 0x4062B222, 0x4063AA20, 0x00000002, 0x4062B223,\n\t0x4063AA20, 0x00000002, 0x4062B224, 0x4063AA20, 0x00000002, 0x4062B225,\n\t0x4063AA20, 0x00000002, 0x4062B226, 0x4063AA20, 0x00000002, 0x4062B227,\n\t0x4063AA20, 0x00000002, 0x4062B228, 0x4063AA20, 0x00000002, 0x4062B229,\n\t0x4063AA20, 0x00000002, 0x4062B22A, 0x4063AA20, 0x00000002, 0x4062B22B,\n\t0x4063AA20, 0x00000002, 0x4062B22C, 0x4063AA20, 0x00000002, 0x4062B22D,\n\t0x4063AA20, 0x00000002, 0x4062B22E, 0x4063AA20, 0x00000002, 0x4062B22F,\n\t0x4063AA20, 0x00000002, 0x4062B230, 0x4063AA20, 0x00000002, 0x4062B231,\n\t0x4063AA20, 0x00000002, 0x4062B232, 0x4063AA20, 0x00000002, 0x4062B233,\n\t0x4063AA20, 0x00000002, 0x4062B234, 0x4063AA20, 0x00000002, 0x4062B235,\n\t0x4063AA20, 0x00000002, 0x4062B236, 0x4063AA20,\n\t// Block 340, offset 0x5500\n\t0x00000003, 0x4062B221, 0x4063AA20, 0x40646420, 0x00000003, 0x4062B221,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062B222, 0x4063B020, 0x40646420,\n\t0x00000002, 0x4062B221, 0x4063B820, 0x00000002, 0x4062B222, 0x4063B820,\n\t0x00000002, 0x4062B223, 0x4063B820, 0x00000002, 0x4062B224, 0x4063B820,\n\t0x00000002, 0x4062B225, 0x4063B820, 0x00000002, 0x4062B226, 0x4063B820,\n\t0x00000002, 0x4062B227, 0x4063B820, 0x00000002, 0x4062B228, 0x4063B820,\n\t0x00000002, 0x4062B229, 0x4063B820, 0x00000002, 0x4062B22A, 0x4063B820,\n\t0x00000002, 0x4062B22B, 0x4063B820, 0x00000002, 0x4062B22C, 0x4063B820,\n\t0x00000002, 0x4062B22D, 0x4063B820, 0x00000002, 0x4062B22E, 0x4063B820,\n\t0x00000002, 0x4062B22F, 0x4063B820, 0x00000002, 0x4062B230, 0x4063B820,\n\t0x00000002, 0x4062B231, 0x4063B820, 0x00000002,\n\t// Block 341, offset 0x5540\n\t0x4062B232, 0x4063B820, 0x00000002, 0x4062B233, 0x4063B820, 0x00000002,\n\t0x4062B234, 0x4063B820, 0x00000002, 0x4062B235, 0x4063B820, 0x00000002,\n\t0x4062B236, 0x4063B820, 0x00000002, 0x4062B237, 0x4063B820, 0x00000002,\n\t0x4062B238, 0x4063B820, 0x00000002, 0x4062B239, 0x4063B820, 0x00000002,\n\t0x4062B23A, 0x4063B820, 0x00000002, 0x4062B23B, 0x4063B820, 0x00000002,\n\t0x4062B23C, 0x4063B820, 0x00000002, 0x4062B23D, 0x4063B820, 0x00000002,\n\t0x4062B23E, 0x4063B820, 0x00000002, 0x4062B23F, 0x4063B820, 0x00000002,\n\t0x4062B240, 0x4063B820, 0x00000002, 0x4062B241, 0x4063B820, 0x00000002,\n\t0x4062B242, 0x4063B820, 0x00000002, 0x4062B243, 0x4063B820, 0x00000002,\n\t0x4062B244, 0x4063B820, 0x00000002, 0x4062B245, 0x4063B820, 0x00000002,\n\t0x4062B246, 0x4063B820, 0x00000002, 0x4062B247,\n\t// Block 342, offset 0x5580\n\t0x4063B820, 0x00000002, 0x4062B248, 0x4063B820, 0x00000002, 0x4062B249,\n\t0x4063B820, 0x00000002, 0x4062B24A, 0x4063B820, 0x00000002, 0x4062B24B,\n\t0x4063B820, 0x00000002, 0x4062B24C, 0x4063B820, 0x00000002, 0x4062B24D,\n\t0x4063B820, 0x00000002, 0x4062B24E, 0x4063B820, 0x00000002, 0x4062B24F,\n\t0x4063B820, 0x00000002, 0x4062B250, 0x4063B820, 0x00000002, 0x4062B251,\n\t0x4063B820, 0x00000002, 0x4062B252, 0x4063B820, 0x00000002, 0x4062B253,\n\t0x4063B820, 0x00000002, 0x4062B254, 0x4063B820, 0x00000002, 0x4062B255,\n\t0x4063B820, 0x00000002, 0x4062B256, 0x4063B820, 0x00000002, 0x4062B257,\n\t0x4063B820, 0x00000002, 0x4062B258, 0x4063B820, 0x00000002, 0x4062B259,\n\t0x4063B820, 0x00000002, 0x4062B25A, 0x4063B820, 0x00000002, 0x4062B25B,\n\t0x4063B820, 0x00000003, 0x4062B221, 0x4063B820,\n\t// Block 343, offset 0x55c0\n\t0x40646420, 0x00000003, 0x4062B222, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062B223, 0x4063B820, 0x40646420, 0x00000003, 0x4062B224, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062B225, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062B226, 0x4063B820, 0x40646420, 0x00000003, 0x4062B227, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062B228, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062B229, 0x4063B820, 0x40646420, 0x00000003, 0x4062B22A, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062B22B, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062B22C, 0x4063B820, 0x40646420, 0x00000003, 0x4062B221, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062B222, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062B223, 0x4063B820, 0x40646A20, 0x00000003, 0x4062B224, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062B225, 0x4063B820,\n\t// Block 344, offset 0x5600\n\t0x40646A20, 0x00000003, 0x4062B226, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062B227, 0x4063B820, 0x40646A20, 0x00000003, 0x4062B228, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062B229, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062B22A, 0x4063B820, 0x40646A20, 0x00000003, 0x4062B22B, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062B22C, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062B22D, 0x4063B820, 0x40646A20, 0x00000003, 0x4062B221, 0x4063B820,\n\t0x40647220, 0x00000003, 0x4062B222, 0x4063B820, 0x40647220, 0x00000003,\n\t0x4062B223, 0x4063B820, 0x40647220, 0x00000003, 0x4062B224, 0x4063B820,\n\t0x40647220, 0x00000003, 0x4062B221, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B222, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B223, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B224, 0x4063B820,\n\t// Block 345, offset 0x5640\n\t0x40648C20, 0x00000003, 0x4062B225, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B226, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B227, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B228, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B229, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B22A, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B22B, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B22C, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B22D, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B22E, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B22F, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B230, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B231, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B232, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B233, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B234, 0x4063B820,\n\t// Block 346, offset 0x5680\n\t0x40648C20, 0x00000003, 0x4062B235, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B236, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B237, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B238, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B239, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B23A, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B23B, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B23C, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B23D, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B23E, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B23F, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B240, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B241, 0x4063B820, 0x40648C20, 0x00000002,\n\t0x4062B221, 0x4063C220, 0x00000002, 0x4062B222, 0x4063C220, 0x00000002,\n\t0x4062B223, 0x4063C220, 0x00000002, 0x4062B224,\n\t// Block 347, offset 0x56c0\n\t0x4063C220, 0x00000002, 0x4062B225, 0x4063C220, 0x00000002, 0x4062B226,\n\t0x4063C220, 0x00000002, 0x4062B227, 0x4063C220, 0x00000002, 0x4062B228,\n\t0x4063C220, 0x00000002, 0x4062B229, 0x4063C220, 0x00000002, 0x4062B22A,\n\t0x4063C220, 0x00000002, 0x4062B22B, 0x4063C220, 0x00000002, 0x4062B22C,\n\t0x4063C220, 0x00000002, 0x4062B22D, 0x4063C220, 0x00000002, 0x4062B22E,\n\t0x4063C220, 0x00000002, 0x4062B22F, 0x4063C220, 0x00000002, 0x4062B230,\n\t0x4063C220, 0x00000002, 0x4062B231, 0x4063C220, 0x00000003, 0x4062B221,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062B222, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062B223, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B224,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062B225, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062B226, 0x4063C220, 0x40646A20,\n\t// Block 348, offset 0x5700\n\t0x00000003, 0x4062B227, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B228,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062B221, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062B221, 0x4063CC20, 0x40646420, 0x00000003, 0x4062B221,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B222, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B223, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B224,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B225, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B226, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B227,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B228, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B229, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B22A,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B22B, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B22C, 0x4063CC20, 0x40648C20,\n\t// Block 349, offset 0x5740\n\t0x00000003, 0x4062B22D, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B22E,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B22F, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B230, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B231,\n\t0x4063CC20, 0x40648C20, 0x00000002, 0x4062B621, 0x4063A820, 0x00000002,\n\t0x4062B622, 0x4063A820, 0x00000002, 0x4062B623, 0x4063A820, 0x00000002,\n\t0x4062B624, 0x4063A820, 0x00000002, 0x4062B625, 0x4063A820, 0x00000002,\n\t0x4062B626, 0x4063A820, 0x00000002, 0x4062B627, 0x4063A820, 0x00000002,\n\t0x4062B628, 0x4063A820, 0x00000002, 0x4062B629, 0x4063A820, 0x00000002,\n\t0x4062B62A, 0x4063A820, 0x00000002, 0x4062B62B, 0x4063A820, 0x00000002,\n\t0x4062B62C, 0x4063A820, 0x00000002, 0x4062B62D, 0x4063A820, 0x00000002,\n\t0x4062B62E, 0x4063A820, 0x00000002, 0x4062B62F,\n\t// Block 350, offset 0x5780\n\t0x4063A820, 0x00000002, 0x4062B630, 0x4063A820, 0x00000002, 0x4062B631,\n\t0x4063A820, 0x00000003, 0x4062B621, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062B622, 0x4063A820, 0x40646420, 0x00000003, 0x4062B623, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062B624, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062B625, 0x4063A820, 0x40646420, 0x00000003, 0x4062B626, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062B627, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062B628, 0x4063A820, 0x40646420, 0x00000003, 0x4062B629, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062B621, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B622, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B623, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B624, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B625, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 351, offset 0x57c0\n\t0x4062B626, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B627, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B628, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B629, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B62A, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B62B, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B62C, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B62D, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B62E, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B62F, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B621, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062B622, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062B623, 0x4063A820, 0x40647220, 0x00000003, 0x4062B624, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062B621, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062B622, 0x4063A820, 0x40648220, 0x00000003,\n\t// Block 352, offset 0x5800\n\t0x4062B623, 0x4063A820, 0x40648220, 0x00000003, 0x4062B624, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062B625, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062B626, 0x4063A820, 0x40648220, 0x00000003, 0x4062B627, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062B628, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062B629, 0x4063A820, 0x40648220, 0x00000003, 0x4062B62A, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062B62B, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062B62C, 0x4063A820, 0x40648220, 0x00000003, 0x4062B621, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062B622, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062B623, 0x4063A820, 0x40648420, 0x00000003, 0x4062B624, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062B621, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B622, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 353, offset 0x5840\n\t0x4062B623, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B624, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B625, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B626, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B627, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B628, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B629, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B62A, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B62B, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B62C, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B62D, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B62E, 0x4063A820, 0x40648C20, 0x00000002,\n\t0x4062B621, 0x4063AA20, 0x00000002, 0x4062B622, 0x4063AA20, 0x00000002,\n\t0x4062B623, 0x4063AA20, 0x00000002, 0x4062B624, 0x4063AA20, 0x00000002,\n\t0x4062B625, 0x4063AA20, 0x00000002, 0x4062B626,\n\t// Block 354, offset 0x5880\n\t0x4063AA20, 0x00000003, 0x4062B621, 0x4063AA20, 0x40648C20, 0x00000003,\n\t0x4062B621, 0x4063AC20, 0x40646420, 0x00000003, 0x4062B622, 0x4063AC20,\n\t0x40646420, 0x00000003, 0x4062B623, 0x4063AC20, 0x40646420, 0x00000003,\n\t0x4062B621, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B622, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062B623, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062B624, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B625, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062B626, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062B627, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B628, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062B629, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062B62A, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B62B, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062B62C, 0x4063AC20,\n\t// Block 355, offset 0x58c0\n\t0x40648C20, 0x00000003, 0x4062B62D, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062B62E, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B62F, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062B630, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062B631, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B632, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062B633, 0x4063AC20, 0x40648C20, 0x00000002,\n\t0x4062B621, 0x4063B420, 0x00000002, 0x4062B622, 0x4063B420, 0x00000002,\n\t0x4062B623, 0x4063B420, 0x00000002, 0x4062B624, 0x4063B420, 0x00000002,\n\t0x4062B625, 0x4063B420, 0x00000002, 0x4062B626, 0x4063B420, 0x00000002,\n\t0x4062B627, 0x4063B420, 0x00000002, 0x4062B628, 0x4063B420, 0x00000002,\n\t0x4062B629, 0x4063B420, 0x00000002, 0x4062B62A, 0x4063B420, 0x00000002,\n\t0x4062B62B, 0x4063B420, 0x00000002, 0x4062B62C,\n\t// Block 356, offset 0x5900\n\t0x4063B420, 0x00000002, 0x4062B62D, 0x4063B420, 0x00000002, 0x4062B62E,\n\t0x4063B420, 0x00000002, 0x4062B62F, 0x4063B420, 0x00000002, 0x4062B630,\n\t0x4063B420, 0x00000002, 0x4062B631, 0x4063B420, 0x00000002, 0x4062B632,\n\t0x4063B420, 0x00000002, 0x4062B633, 0x4063B420, 0x00000002, 0x4062B634,\n\t0x4063B420, 0x00000002, 0x4062B635, 0x4063B420, 0x00000002, 0x4062B636,\n\t0x4063B420, 0x00000002, 0x4062B637, 0x4063B420, 0x00000002, 0x4062B638,\n\t0x4063B420, 0x00000002, 0x4062B639, 0x4063B420, 0x00000002, 0x4062B63A,\n\t0x4063B420, 0x00000002, 0x4062B63B, 0x4063B420, 0x00000002, 0x4062B63C,\n\t0x4063B420, 0x00000002, 0x4062B63D, 0x4063B420, 0x00000003, 0x4062B621,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062B622, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062B623, 0x4063B420, 0x40646420,\n\t// Block 357, offset 0x5940\n\t0x00000003, 0x4062B624, 0x4063B420, 0x40646420, 0x00000003, 0x4062B625,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062B626, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062B627, 0x4063B420, 0x40646420, 0x00000003, 0x4062B628,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062B629, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062B62A, 0x4063B420, 0x40646420, 0x00000003, 0x4062B62B,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062B62C, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062B62D, 0x4063B420, 0x40646420, 0x00000003, 0x4062B621,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B622, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B623, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B624,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B625, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B626, 0x4063B420, 0x40646A20,\n\t// Block 358, offset 0x5980\n\t0x00000003, 0x4062B627, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B628,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B629, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B62A, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B62B,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B62C, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B62D, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B62E,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B62F, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B630, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B631,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B632, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B633, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B621,\n\t0x4063B420, 0x40647220, 0x00000003, 0x4062B622, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062B623, 0x4063B420, 0x40647220,\n\t// Block 359, offset 0x59c0\n\t0x00000003, 0x4062B624, 0x4063B420, 0x40647220, 0x00000003, 0x4062B625,\n\t0x4063B420, 0x40647220, 0x00000003, 0x4062B626, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062B627, 0x4063B420, 0x40647220, 0x00000003, 0x4062B628,\n\t0x4063B420, 0x40647220, 0x00000003, 0x4062B629, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062B621, 0x4063B420, 0x40648220, 0x00000003, 0x4062B622,\n\t0x4063B420, 0x40648220, 0x00000003, 0x4062B623, 0x4063B420, 0x40648220,\n\t0x00000003, 0x4062B624, 0x4063B420, 0x40648220, 0x00000003, 0x4062B625,\n\t0x4063B420, 0x40648220, 0x00000003, 0x4062B626, 0x4063B420, 0x40648220,\n\t0x00000003, 0x4062B627, 0x4063B420, 0x40648220, 0x00000003, 0x4062B628,\n\t0x4063B420, 0x40648220, 0x00000003, 0x4062B621, 0x4063B420, 0x40648420,\n\t0x00000003, 0x4062B622, 0x4063B420, 0x40648420,\n\t// Block 360, offset 0x5a00\n\t0x00000003, 0x4062B623, 0x4063B420, 0x40648420, 0x00000003, 0x4062B621,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B622, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B623, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B624,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B625, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B626, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B627,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B628, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B629, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B62A,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B62B, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B62C, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B62D,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B62E, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B62F, 0x4063B420, 0x40648C20,\n\t// Block 361, offset 0x5a40\n\t0x00000003, 0x4062B630, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B631,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B632, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B633, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B634,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B635, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B636, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B637,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B638, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B639, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B63A,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B63B, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B63C, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B63D,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B63E, 0x4063B420, 0x40648C20,\n\t0x00000002, 0x4062B621, 0x4063B620, 0x00000002,\n\t// Block 362, offset 0x5a80\n\t0x4062B622, 0x4063B620, 0x00000002, 0x4062B623, 0x4063B620, 0x00000002,\n\t0x4062B624, 0x4063B620, 0x00000002, 0x4062B625, 0x4063B620, 0x00000002,\n\t0x4062B626, 0x4063B620, 0x00000002, 0x4062B627, 0x4063B620, 0x00000002,\n\t0x4062B621, 0x4063B820, 0x00000002, 0x4062B622, 0x4063B820, 0x00000002,\n\t0x4062B623, 0x4063B820, 0x00000002, 0x4062B624, 0x4063B820, 0x00000002,\n\t0x4062B625, 0x4063B820, 0x00000002, 0x4062B626, 0x4063B820, 0x00000002,\n\t0x4062B627, 0x4063B820, 0x00000002, 0x4062B628, 0x4063B820, 0x00000002,\n\t0x4062B629, 0x4063B820, 0x00000002, 0x4062B62A, 0x4063B820, 0x00000002,\n\t0x4062B62B, 0x4063B820, 0x00000002, 0x4062B62C, 0x4063B820, 0x00000002,\n\t0x4062B62D, 0x4063B820, 0x00000002, 0x4062B62E, 0x4063B820, 0x00000002,\n\t0x4062B62F, 0x4063B820, 0x00000002, 0x4062B630,\n\t// Block 363, offset 0x5ac0\n\t0x4063B820, 0x00000002, 0x4062B631, 0x4063B820, 0x00000002, 0x4062B632,\n\t0x4063B820, 0x00000002, 0x4062B633, 0x4063B820, 0x00000002, 0x4062B634,\n\t0x4063B820, 0x00000002, 0x4062B635, 0x4063B820, 0x00000002, 0x4062B636,\n\t0x4063B820, 0x00000002, 0x4062B637, 0x4063B820, 0x00000002, 0x4062B638,\n\t0x4063B820, 0x00000002, 0x4062B639, 0x4063B820, 0x00000002, 0x4062B63A,\n\t0x4063B820, 0x00000002, 0x4062B63B, 0x4063B820, 0x00000002, 0x4062B63C,\n\t0x4063B820, 0x00000002, 0x4062B63D, 0x4063B820, 0x00000002, 0x4062B63E,\n\t0x4063B820, 0x00000002, 0x4062B63F, 0x4063B820, 0x00000003, 0x4062B621,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B622, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B623, 0x4063B820, 0x40646420, 0x00000003, 0x4062B624,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B625,\n\t// Block 364, offset 0x5b00\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B626, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B627, 0x4063B820, 0x40646420, 0x00000003, 0x4062B628,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B629, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B62A, 0x4063B820, 0x40646420, 0x00000003, 0x4062B62B,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B62C, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B62D, 0x4063B820, 0x40646420, 0x00000003, 0x4062B62E,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B621, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062B621, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B622,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B623, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B624, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B625,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B626,\n\t// Block 365, offset 0x5b40\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B627, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B628, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B629,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B62A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B62B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B62C,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B62D, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B62E, 0x4063B820, 0x40648C20, 0x00000002, 0x4062B621,\n\t0x4063BE20, 0x00000002, 0x4062B622, 0x4063BE20, 0x00000002, 0x4062B623,\n\t0x4063BE20, 0x00000002, 0x4062B624, 0x4063BE20, 0x00000002, 0x4062B625,\n\t0x4063BE20, 0x00000002, 0x4062B626, 0x4063BE20, 0x00000002, 0x4062B627,\n\t0x4063BE20, 0x00000002, 0x4062B628, 0x4063BE20, 0x00000002, 0x4062B629,\n\t0x4063BE20, 0x00000002, 0x4062B62A, 0x4063BE20,\n\t// Block 366, offset 0x5b80\n\t0x00000002, 0x4062B62B, 0x4063BE20, 0x00000002, 0x4062B62C, 0x4063BE20,\n\t0x00000002, 0x4062B62D, 0x4063BE20, 0x00000002, 0x4062B62E, 0x4063BE20,\n\t0x00000002, 0x4062B62F, 0x4063BE20, 0x00000002, 0x4062B630, 0x4063BE20,\n\t0x00000002, 0x4062B631, 0x4063BE20, 0x00000002, 0x4062B632, 0x4063BE20,\n\t0x00000002, 0x4062B633, 0x4063BE20, 0x00000002, 0x4062B621, 0x4063C020,\n\t0x00000002, 0x4062B622, 0x4063C020, 0x00000002, 0x4062B623, 0x4063C020,\n\t0x00000002, 0x4062B624, 0x4063C020, 0x00000002, 0x4062B625, 0x4063C020,\n\t0x00000002, 0x4062B626, 0x4063C020, 0x00000002, 0x4062B627, 0x4063C020,\n\t0x00000002, 0x4062B628, 0x4063C020, 0x00000002, 0x4062B629, 0x4063C020,\n\t0x00000002, 0x4062B62A, 0x4063C020, 0x00000002, 0x4062B62B, 0x4063C020,\n\t0x00000002, 0x4062B62C, 0x4063C020, 0x00000002,\n\t// Block 367, offset 0x5bc0\n\t0x4062B62D, 0x4063C020, 0x00000002, 0x4062B62E, 0x4063C020, 0x00000002,\n\t0x4062B62F, 0x4063C020, 0x00000002, 0x4062B630, 0x4063C020, 0x00000002,\n\t0x4062B631, 0x4063C020, 0x00000002, 0x4062B632, 0x4063C020, 0x00000002,\n\t0x4062B633, 0x4063C020, 0x00000002, 0x4062B634, 0x4063C020, 0x00000002,\n\t0x4062B635, 0x4063C020, 0x00000002, 0x4062B636, 0x4063C020, 0x00000002,\n\t0x4062B637, 0x4063C020, 0x00000002, 0x4062B638, 0x4063C020, 0x00000003,\n\t0x4062B621, 0x4063C020, 0x40648C20, 0x00000003, 0x4062B622, 0x4063C020,\n\t0x40648C20, 0x00000002, 0x4062B621, 0x4063C220, 0x00000002, 0x4062B622,\n\t0x4063C220, 0x00000002, 0x4062B623, 0x4063C220, 0x00000002, 0x4062B624,\n\t0x4063C220, 0x00000002, 0x4062B625, 0x4063C220, 0x00000002, 0x4062B626,\n\t0x4063C220, 0x00000002, 0x4062B627, 0x4063C220,\n\t// Block 368, offset 0x5c00\n\t0x00000002, 0x4062B628, 0x4063C220, 0x00000002, 0x4062B629, 0x4063C220,\n\t0x00000002, 0x4062B62A, 0x4063C220, 0x00000002, 0x4062B62B, 0x4063C220,\n\t0x00000002, 0x4062B62C, 0x4063C220, 0x00000002, 0x4062B62D, 0x4063C220,\n\t0x00000002, 0x4062B62E, 0x4063C220, 0x00000002, 0x4062B62F, 0x4063C220,\n\t0x00000002, 0x4062B630, 0x4063C220, 0x00000002, 0x4062B631, 0x4063C220,\n\t0x00000002, 0x4062B632, 0x4063C220, 0x00000002, 0x4062B633, 0x4063C220,\n\t0x00000002, 0x4062B634, 0x4063C220, 0x00000002, 0x4062B621, 0x4063CA20,\n\t0x00000002, 0x4062B622, 0x4063CA20, 0x00000002, 0x4062B623, 0x4063CA20,\n\t0x00000002, 0x4062B624, 0x4063CA20, 0x00000002, 0x4062B625, 0x4063CA20,\n\t0x00000002, 0x4062B626, 0x4063CA20, 0x00000002, 0x4062B627, 0x4063CA20,\n\t0x00000002, 0x4062B628, 0x4063CA20, 0x00000002,\n\t// Block 369, offset 0x5c40\n\t0x4062B629, 0x4063CA20, 0x00000002, 0x4062B62A, 0x4063CA20, 0x00000002,\n\t0x4062B62B, 0x4063CA20, 0x00000002, 0x4062B62C, 0x4063CA20, 0x00000002,\n\t0x4062B62D, 0x4063CA20, 0x00000002, 0x4062B62E, 0x4063CA20, 0x00000002,\n\t0x4062B62F, 0x4063CA20, 0x00000002, 0x4062B630, 0x4063CA20, 0x00000002,\n\t0x4062B631, 0x4063CA20, 0x00000002, 0x4062B632, 0x4063CA20, 0x00000002,\n\t0x4062B633, 0x4063CA20, 0x00000003, 0x4062B621, 0x4063CA20, 0x40646420,\n\t0x00000003, 0x4062B622, 0x4063CA20, 0x40646420, 0x00000003, 0x4062B623,\n\t0x4063CA20, 0x40646420, 0x00000003, 0x4062B624, 0x4063CA20, 0x40646420,\n\t0x00000003, 0x4062B621, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062B622,\n\t0x4063CA20, 0x40646A20, 0x00000003, 0x4062B623, 0x4063CA20, 0x40646A20,\n\t0x00000003, 0x4062B624, 0x4063CA20, 0x40646A20,\n\t// Block 370, offset 0x5c80\n\t0x00000003, 0x4062B625, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062B626,\n\t0x4063CA20, 0x40646A20, 0x00000003, 0x4062B627, 0x4063CA20, 0x40646A20,\n\t0x00000003, 0x4062B621, 0x4063CA20, 0x40647220, 0x00000003, 0x4062B622,\n\t0x4063CA20, 0x40647220, 0x00000003, 0x4062B623, 0x4063CA20, 0x40647220,\n\t0x00000003, 0x4062B624, 0x4063CA20, 0x40647220, 0x00000003, 0x4062B625,\n\t0x4063CA20, 0x40647220, 0x00000003, 0x4062B621, 0x4063CA20, 0x40648C20,\n\t0x00000003, 0x4062B622, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062B623,\n\t0x4063CA20, 0x40648C20, 0x00000003, 0x4062B621, 0x4063CC20, 0x40646420,\n\t0x00000003, 0x4062B622, 0x4063CC20, 0x40646420, 0x00000003, 0x4062B623,\n\t0x4063CC20, 0x40646420, 0x00000003, 0x4062B621, 0x4063CC20, 0x40648220,\n\t0x00000003, 0x4062B622, 0x4063CC20, 0x40648220,\n\t// Block 371, offset 0x5cc0\n\t0x00000003, 0x4062B623, 0x4063CC20, 0x40648220, 0x00000003, 0x4062B624,\n\t0x4063CC20, 0x40648220, 0x00000003, 0x4062B621, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B622, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B623,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B624, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B625, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B626,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B627, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B628, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062B621,\n\t0x4063D020, 0x00000002, 0x4062B622, 0x4063D020, 0x00000002, 0x4062B623,\n\t0x4063D020, 0x00000002, 0x4062B624, 0x4063D020, 0x00000002, 0x4062B625,\n\t0x4063D020, 0x00000002, 0x4062B626, 0x4063D020, 0x00000002, 0x4062B627,\n\t0x4063D020, 0x00000002, 0x4062B628, 0x4063D020,\n\t// Block 372, offset 0x5d00\n\t0x00000002, 0x4062B629, 0x4063D020, 0x00000002, 0x4062B62A, 0x4063D020,\n\t0x00000002, 0x4062B62B, 0x4063D020, 0x00000002, 0x4062B62C, 0x4063D020,\n\t0x00000002, 0x4062B62D, 0x4063D020, 0x00000002, 0x4062B62E, 0x4063D020,\n\t0x00000002, 0x4062B62F, 0x4063D020, 0x00000002, 0x4062B630, 0x4063D020,\n\t0x00000002, 0x4062B631, 0x4063D020, 0x00000002, 0x4062B632, 0x4063D020,\n\t0x00000002, 0x4062B633, 0x4063D020, 0x00000002, 0x4062B634, 0x4063D020,\n\t0x00000002, 0x4062B635, 0x4063D020, 0x00000002, 0x4062B636, 0x4063D020,\n\t0x00000002, 0x4062B637, 0x4063D020, 0x00000002, 0x4062B638, 0x4063D020,\n\t0x00000002, 0x4062B639, 0x4063D020, 0x00000002, 0x4062B63A, 0x4063D020,\n\t0x00000002, 0x4062B63B, 0x4063D020, 0x00000002, 0x4062B63C, 0x4063D020,\n\t0x00000002, 0x4062B63D, 0x4063D020, 0x00000002,\n\t// Block 373, offset 0x5d40\n\t0x4062B63E, 0x4063D020, 0x00000002, 0x4062B63F, 0x4063D020, 0x00000002,\n\t0x4062B640, 0x4063D020, 0x00000002, 0x4062B641, 0x4063D020, 0x00000002,\n\t0x4062B642, 0x4063D020, 0x00000002, 0x4062B643, 0x4063D020, 0x00000002,\n\t0x4062B644, 0x4063D020, 0x00000002, 0x4062B645, 0x4063D020, 0x00000002,\n\t0x4062B646, 0x4063D020, 0x00000002, 0x4062B647, 0x4063D020, 0x00000003,\n\t0x4062B621, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B622, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B623, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062B624, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B625, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B626, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062B627, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B628, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B629, 0x4063D020,\n\t// Block 374, offset 0x5d80\n\t0x40646A20, 0x00000003, 0x4062B62A, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062B62B, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B62C, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B62D, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062B62E, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B62F, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B630, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062B631, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B632, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B633, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062B634, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B635, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B621, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062B622, 0x4063D020, 0x40648220, 0x00000003, 0x4062B623, 0x4063D020,\n\t0x40648220, 0x00000003, 0x4062B624, 0x4063D020,\n\t// Block 375, offset 0x5dc0\n\t0x40648220, 0x00000003, 0x4062B625, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062B626, 0x4063D020, 0x40648220, 0x00000003, 0x4062B621, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062B622, 0x4063D020, 0x40648420, 0x00000003,\n\t0x4062B623, 0x4063D020, 0x40648420, 0x00000003, 0x4062B624, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062B625, 0x4063D020, 0x40648420, 0x00000002,\n\t0x4062B821, 0x4063A820, 0x00000002, 0x4062B822, 0x4063A820, 0x00000002,\n\t0x4062B823, 0x4063A820, 0x00000002, 0x4062B824, 0x4063A820, 0x00000002,\n\t0x4062B825, 0x4063A820, 0x00000002, 0x4062B826, 0x4063A820, 0x00000002,\n\t0x4062B827, 0x4063A820, 0x00000002, 0x4062B828, 0x4063A820, 0x00000002,\n\t0x4062B829, 0x4063A820, 0x00000002, 0x4062B82A, 0x4063A820, 0x00000002,\n\t0x4062B82B, 0x4063A820, 0x00000002, 0x4062B82C,\n\t// Block 376, offset 0x5e00\n\t0x4063A820, 0x00000002, 0x4062B82D, 0x4063A820, 0x00000002, 0x4062B82E,\n\t0x4063A820, 0x00000003, 0x4062B821, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062B822, 0x4063A820, 0x40646420, 0x00000003, 0x4062B823, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062B824, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062B825, 0x4063A820, 0x40646420, 0x00000003, 0x4062B826, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062B827, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062B828, 0x4063A820, 0x40646420, 0x00000003, 0x4062B821, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B822, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B823, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B824, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B825, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B826, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 377, offset 0x5e40\n\t0x4062B827, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B828, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B829, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B82A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B82B, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B82C, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B82D, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B82E, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B82F, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B830, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B831, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B832, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B833, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B834, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B835, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B836, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 378, offset 0x5e80\n\t0x4062B837, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B838, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B839, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B83A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B83B, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B83C, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B821, 0x4063A820, 0x40647220, 0x00000003, 0x4062B822, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062B823, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062B824, 0x4063A820, 0x40647220, 0x00000003, 0x4062B825, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062B826, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062B827, 0x4063A820, 0x40647220, 0x00000003, 0x4062B828, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062B829, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062B821, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 379, offset 0x5ec0\n\t0x4062B822, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B823, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B824, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B825, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B826, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B827, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B828, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B829, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B82A, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B82B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B82C, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B82D, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B82E, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B82F, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B830, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B831, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 380, offset 0x5f00\n\t0x4062B832, 0x4063A820, 0x40648C20, 0x00000002, 0x4062B821, 0x4063AA20,\n\t0x00000002, 0x4062B822, 0x4063AA20, 0x00000002, 0x4062B823, 0x4063AA20,\n\t0x00000002, 0x4062B824, 0x4063AA20, 0x00000002, 0x4062B825, 0x4063AA20,\n\t0x00000002, 0x4062B826, 0x4063AA20, 0x00000002, 0x4062B827, 0x4063AA20,\n\t0x00000002, 0x4062B828, 0x4063AA20, 0x00000002, 0x4062B829, 0x4063AA20,\n\t0x00000002, 0x4062B82A, 0x4063AA20, 0x00000002, 0x4062B82B, 0x4063AA20,\n\t0x00000002, 0x4062B82C, 0x4063AA20, 0x00000002, 0x4062B82D, 0x4063AA20,\n\t0x00000002, 0x4062B82E, 0x4063AA20, 0x00000002, 0x4062B82F, 0x4063AA20,\n\t0x00000002, 0x4062B830, 0x4063AA20, 0x00000002, 0x4062B831, 0x4063AA20,\n\t0x00000002, 0x4062B832, 0x4063AA20, 0x00000002, 0x4062B833, 0x4063AA20,\n\t0x00000002, 0x4062B834, 0x4063AA20, 0x00000002,\n\t// Block 381, offset 0x5f40\n\t0x4062B835, 0x4063AA20, 0x00000002, 0x4062B836, 0x4063AA20, 0x00000002,\n\t0x4062B837, 0x4063AA20, 0x00000003, 0x4062B821, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062B822, 0x4063AA20, 0x40646420, 0x00000003, 0x4062B823,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062B824, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062B825, 0x4063AA20, 0x40646420, 0x00000003, 0x4062B826,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062B827, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062B828, 0x4063AA20, 0x40646420, 0x00000003, 0x4062B821,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062B822, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062B823, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062B824,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062B825, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062B826, 0x4063AA20, 0x40648C20,\n\t// Block 382, offset 0x5f80\n\t0x00000003, 0x4062B827, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062B828,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062B829, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062B82A, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062B821,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062B822, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062B823, 0x4063B420, 0x40646420, 0x00000003, 0x4062B824,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062B821, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B822, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B823,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B824, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B825, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B826,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B827, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B828, 0x4063B420, 0x40646A20,\n\t// Block 383, offset 0x5fc0\n\t0x00000003, 0x4062B829, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B82A,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B82B, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B82C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B82D,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B82E, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B82F, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B830,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B821, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062B822, 0x4063B420, 0x40647220, 0x00000003, 0x4062B823,\n\t0x4063B420, 0x40647220, 0x00000003, 0x4062B824, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062B821, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B822,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B823, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B824, 0x4063B420, 0x40648C20,\n\t// Block 384, offset 0x6000\n\t0x00000003, 0x4062B825, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B826,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B827, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B828, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B829,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B82A, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B82B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B82C,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B82D, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B82E, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B82F,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B830, 0x4063B420, 0x40648C20,\n\t0x00000002, 0x4062B821, 0x4063B620, 0x00000002, 0x4062B821, 0x4063B820,\n\t0x00000002, 0x4062B822, 0x4063B820, 0x00000002, 0x4062B823, 0x4063B820,\n\t0x00000002, 0x4062B824, 0x4063B820, 0x00000002,\n\t// Block 385, offset 0x6040\n\t0x4062B825, 0x4063B820, 0x00000002, 0x4062B826, 0x4063B820, 0x00000002,\n\t0x4062B827, 0x4063B820, 0x00000002, 0x4062B828, 0x4063B820, 0x00000002,\n\t0x4062B829, 0x4063B820, 0x00000002, 0x4062B82A, 0x4063B820, 0x00000002,\n\t0x4062B82B, 0x4063B820, 0x00000002, 0x4062B82C, 0x4063B820, 0x00000002,\n\t0x4062B82D, 0x4063B820, 0x00000002, 0x4062B82E, 0x4063B820, 0x00000002,\n\t0x4062B82F, 0x4063B820, 0x00000002, 0x4062B830, 0x4063B820, 0x00000002,\n\t0x4062B831, 0x4063B820, 0x00000002, 0x4062B832, 0x4063B820, 0x00000002,\n\t0x4062B833, 0x4063B820, 0x00000002, 0x4062B834, 0x4063B820, 0x00000002,\n\t0x4062B835, 0x4063B820, 0x00000002, 0x4062B836, 0x4063B820, 0x00000002,\n\t0x4062B837, 0x4063B820, 0x00000002, 0x4062B838, 0x4063B820, 0x00000002,\n\t0x4062B839, 0x4063B820, 0x00000002, 0x4062B83A,\n\t// Block 386, offset 0x6080\n\t0x4063B820, 0x00000002, 0x4062B83B, 0x4063B820, 0x00000002, 0x4062B83C,\n\t0x4063B820, 0x00000002, 0x4062B83D, 0x4063B820, 0x00000002, 0x4062B83E,\n\t0x4063B820, 0x00000002, 0x4062B83F, 0x4063B820, 0x00000002, 0x4062B840,\n\t0x4063B820, 0x00000002, 0x4062B841, 0x4063B820, 0x00000002, 0x4062B842,\n\t0x4063B820, 0x00000002, 0x4062B843, 0x4063B820, 0x00000002, 0x4062B844,\n\t0x4063B820, 0x00000002, 0x4062B845, 0x4063B820, 0x00000002, 0x4062B846,\n\t0x4063B820, 0x00000002, 0x4062B847, 0x4063B820, 0x00000003, 0x4062B821,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B822, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B823, 0x4063B820, 0x40646420, 0x00000003, 0x4062B824,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B825, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B826, 0x4063B820, 0x40646420,\n\t// Block 387, offset 0x60c0\n\t0x00000003, 0x4062B827, 0x4063B820, 0x40646420, 0x00000003, 0x4062B828,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B829, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B821, 0x4063B820, 0x40647220, 0x00000003, 0x4062B822,\n\t0x4063B820, 0x40647220, 0x00000003, 0x4062B821, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B822, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B823,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B824, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B825, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B826,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B827, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B828, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B829,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B82A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B82B, 0x4063B820, 0x40648C20,\n\t// Block 388, offset 0x6100\n\t0x00000003, 0x4062B82C, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B82D,\n\t0x4063B820, 0x40648C20, 0x00000002, 0x4062B821, 0x4063C020, 0x00000002,\n\t0x4062B822, 0x4063C020, 0x00000002, 0x4062B823, 0x4063C020, 0x00000002,\n\t0x4062B824, 0x4063C020, 0x00000002, 0x4062B825, 0x4063C020, 0x00000002,\n\t0x4062B826, 0x4063C020, 0x00000002, 0x4062B827, 0x4063C020, 0x00000002,\n\t0x4062B828, 0x4063C020, 0x00000002, 0x4062B829, 0x4063C020, 0x00000002,\n\t0x4062B82A, 0x4063C020, 0x00000002, 0x4062B82B, 0x4063C020, 0x00000002,\n\t0x4062B82C, 0x4063C020, 0x00000002, 0x4062B82D, 0x4063C020, 0x00000002,\n\t0x4062B82E, 0x4063C020, 0x00000002, 0x4062B82F, 0x4063C020, 0x00000002,\n\t0x4062B830, 0x4063C020, 0x00000002, 0x4062B821, 0x4063C220, 0x00000002,\n\t0x4062B822, 0x4063C220, 0x00000002, 0x4062B823,\n\t// Block 389, offset 0x6140\n\t0x4063C220, 0x00000002, 0x4062B824, 0x4063C220, 0x00000002, 0x4062B825,\n\t0x4063C220, 0x00000002, 0x4062B826, 0x4063C220, 0x00000002, 0x4062B827,\n\t0x4063C220, 0x00000002, 0x4062B828, 0x4063C220, 0x00000002, 0x4062B829,\n\t0x4063C220, 0x00000002, 0x4062B82A, 0x4063C220, 0x00000002, 0x4062B82B,\n\t0x4063C220, 0x00000002, 0x4062B82C, 0x4063C220, 0x00000002, 0x4062B82D,\n\t0x4063C220, 0x00000002, 0x4062B82E, 0x4063C220, 0x00000002, 0x4062B82F,\n\t0x4063C220, 0x00000002, 0x4062B830, 0x4063C220, 0x00000002, 0x4062B831,\n\t0x4063C220, 0x00000002, 0x4062B832, 0x4063C220, 0x00000002, 0x4062B833,\n\t0x4063C220, 0x00000002, 0x4062B834, 0x4063C220, 0x00000002, 0x4062B835,\n\t0x4063C220, 0x00000002, 0x4062B836, 0x4063C220, 0x00000002, 0x4062B837,\n\t0x4063C220, 0x00000002, 0x4062B838, 0x4063C220,\n\t// Block 390, offset 0x6180\n\t0x00000002, 0x4062B839, 0x4063C220, 0x00000002, 0x4062B83A, 0x4063C220,\n\t0x00000002, 0x4062B83B, 0x4063C220, 0x00000003, 0x4062B821, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062B822, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062B823, 0x4063C220, 0x40646420, 0x00000003, 0x4062B821, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B822, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062B823, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B824, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B825, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062B826, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B827, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B828, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062B829, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B82A, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B82B, 0x4063C220,\n\t// Block 391, offset 0x61c0\n\t0x40646A20, 0x00000003, 0x4062B82C, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062B82D, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B82E, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B82F, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062B830, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B831, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B832, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062B833, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B821, 0x4063C220,\n\t0x40647220, 0x00000003, 0x4062B822, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062B823, 0x4063C220, 0x40647220, 0x00000002, 0x4062B821, 0x4063D020,\n\t0x00000002, 0x4062B822, 0x4063D020, 0x00000002, 0x4062B823, 0x4063D020,\n\t0x00000002, 0x4062B824, 0x4063D020, 0x00000002, 0x4062B825, 0x4063D020,\n\t0x00000002, 0x4062B826, 0x4063D020, 0x00000002,\n\t// Block 392, offset 0x6200\n\t0x4062B827, 0x4063D020, 0x00000002, 0x4062B828, 0x4063D020, 0x00000002,\n\t0x4062B829, 0x4063D020, 0x00000002, 0x4062B82A, 0x4063D020, 0x00000002,\n\t0x4062B82B, 0x4063D020, 0x00000002, 0x4062B82C, 0x4063D020, 0x00000002,\n\t0x4062B82D, 0x4063D020, 0x00000002, 0x4062B82E, 0x4063D020, 0x00000002,\n\t0x4062B82F, 0x4063D020, 0x00000002, 0x4062B830, 0x4063D020, 0x00000002,\n\t0x4062B831, 0x4063D020, 0x00000002, 0x4062B832, 0x4063D020, 0x00000002,\n\t0x4062B833, 0x4063D020, 0x00000002, 0x4062B834, 0x4063D020, 0x00000002,\n\t0x4062B835, 0x4063D020, 0x00000002, 0x4062B836, 0x4063D020, 0x00000002,\n\t0x4062B837, 0x4063D020, 0x00000002, 0x4062B838, 0x4063D020, 0x00000002,\n\t0x4062B839, 0x4063D020, 0x00000002, 0x4062B83A, 0x4063D020, 0x00000002,\n\t0x4062B83B, 0x4063D020, 0x00000002, 0x4062B83C,\n\t// Block 393, offset 0x6240\n\t0x4063D020, 0x00000002, 0x4062B83D, 0x4063D020, 0x00000002, 0x4062B83E,\n\t0x4063D020, 0x00000002, 0x4062B83F, 0x4063D020, 0x00000002, 0x4062B840,\n\t0x4063D020, 0x00000002, 0x4062B841, 0x4063D020, 0x00000003, 0x4062B821,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B822, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B823, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B824,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B825, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B826, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B827,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B828, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B829, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B82A,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B82B, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B82C, 0x4063D020, 0x40646A20,\n\t// Block 394, offset 0x6280\n\t0x00000003, 0x4062B82D, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B82E,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B82F, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B830, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B831,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B832, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B833, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B834,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B835, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B836, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B837,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B821, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062B822, 0x4063D020, 0x40647220, 0x00000003, 0x4062B823,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062B824, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062B825, 0x4063D020, 0x40647220,\n\t// Block 395, offset 0x62c0\n\t0x00000003, 0x4062BA21, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA22,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA23, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA24, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA25,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA26, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA27, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA28,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA29, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA2A, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA2B,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA2C, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA2D, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA2E,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA2F, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA30, 0x4063A820, 0x40646420,\n\t// Block 396, offset 0x6300\n\t0x00000003, 0x4062BA31, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA32,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA33, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA34, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA35,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA36, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA37, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA38,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA39, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA21, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA22,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA23, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA24, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA25,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA26, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA27, 0x4063A820, 0x40646A20,\n\t// Block 397, offset 0x6340\n\t0x00000003, 0x4062BA28, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA29,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA2A, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA2B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA2C,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA2D, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA2E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA2F,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA30, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA31, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA32,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA33, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA34, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA35,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA36, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA37, 0x4063A820, 0x40646A20,\n\t// Block 398, offset 0x6380\n\t0x00000003, 0x4062BA38, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA39,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA3A, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA3B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA3C,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA3D, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA3E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA3F,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA40, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA41, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA21,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062BA22, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BA23, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA24,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062BA25, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BA26, 0x4063A820, 0x40647220,\n\t// Block 399, offset 0x63c0\n\t0x00000003, 0x4062BA27, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA28,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062BA29, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BA2A, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA2B,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062BA2C, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BA2D, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA2E,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062BA2F, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BA30, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA21,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA22, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA23, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA24,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA25, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA26, 0x4063A820, 0x40648C20,\n\t// Block 400, offset 0x6400\n\t0x00000003, 0x4062BA27, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA28,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA29, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA2A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA2B,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA2C, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA2D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA2E,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA2F, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA30, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA31,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA32, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA33, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA34,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA35, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA36, 0x4063A820, 0x40648C20,\n\t// Block 401, offset 0x6440\n\t0x00000003, 0x4062BA37, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA38,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA39, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA3A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA3B,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA3C, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA3D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA3E,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA3F, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA40, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA41,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA42, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA43, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA44,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA45, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA46, 0x4063A820, 0x40648C20,\n\t// Block 402, offset 0x6480\n\t0x00000003, 0x4062BA47, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA48,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA49, 0x4063A820, 0x40648C20,\n\t0x00000002, 0x4062BA21, 0x4063AA20, 0x00000002, 0x4062BA22, 0x4063AA20,\n\t0x00000002, 0x4062BA23, 0x4063AA20, 0x00000002, 0x4062BA24, 0x4063AA20,\n\t0x00000002, 0x4062BA25, 0x4063AA20, 0x00000002, 0x4062BA26, 0x4063AA20,\n\t0x00000002, 0x4062BA27, 0x4063AA20, 0x00000002, 0x4062BA28, 0x4063AA20,\n\t0x00000002, 0x4062BA29, 0x4063AA20, 0x00000002, 0x4062BA2A, 0x4063AA20,\n\t0x00000002, 0x4062BA2B, 0x4063AA20, 0x00000002, 0x4062BA2C, 0x4063AA20,\n\t0x00000002, 0x4062BA2D, 0x4063AA20, 0x00000002, 0x4062BA2E, 0x4063AA20,\n\t0x00000002, 0x4062BA2F, 0x4063AA20, 0x00000002, 0x4062BA30, 0x4063AA20,\n\t0x00000002, 0x4062BA31, 0x4063AA20, 0x00000002,\n\t// Block 403, offset 0x64c0\n\t0x4062BA32, 0x4063AA20, 0x00000002, 0x4062BA33, 0x4063AA20, 0x00000002,\n\t0x4062BA34, 0x4063AA20, 0x00000002, 0x4062BA35, 0x4063AA20, 0x00000002,\n\t0x4062BA36, 0x4063AA20, 0x00000002, 0x4062BA37, 0x4063AA20, 0x00000002,\n\t0x4062BA38, 0x4063AA20, 0x00000003, 0x4062BA21, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062BA22, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BA23,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062BA24, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062BA25, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BA26,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062BA27, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062BA28, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BA29,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062BA21, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BA22, 0x4063B020, 0x40646A20,\n\t// Block 404, offset 0x6500\n\t0x00000003, 0x4062BA23, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA24,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BA25, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BA26, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA27,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BA28, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BA29, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA2A,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BA2B, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BA2C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA2D,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BA2E, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BA21, 0x4063B020, 0x40647220, 0x00000003, 0x4062BA22,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BA23, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BA24, 0x4063B020, 0x40647220,\n\t// Block 405, offset 0x6540\n\t0x00000003, 0x4062BA25, 0x4063B020, 0x40647220, 0x00000003, 0x4062BA26,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BA21, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BA22, 0x4063B020, 0x40648220, 0x00000003, 0x4062BA23,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BA24, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BA25, 0x4063B020, 0x40648220, 0x00000003, 0x4062BA26,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BA27, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BA28, 0x4063B020, 0x40648220, 0x00000003, 0x4062BA29,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BA2A, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BA2B, 0x4063B020, 0x40648220, 0x00000003, 0x4062BA2C,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BA21, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062BA22, 0x4063B020, 0x40648420,\n\t// Block 406, offset 0x6580\n\t0x00000003, 0x4062BA21, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA22,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062BA23, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062BA24, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA25,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062BA26, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062BA27, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA28,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062BA29, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062BA2A, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA2B,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062BA2C, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062BA2D, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA2E,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062BA2F, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062BA30, 0x4063B420, 0x40646420,\n\t// Block 407, offset 0x65c0\n\t0x00000003, 0x4062BA31, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA21,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062BA22, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062BA23, 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA24,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062BA25, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062BA26, 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA27,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062BA28, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062BA29, 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA2A,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062BA2B, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062BA2C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA2D,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062BA2E, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062BA2F, 0x4063B420, 0x40646A20,\n\t// Block 408, offset 0x6600\n\t0x00000003, 0x4062BA21, 0x4063B420, 0x40647220, 0x00000003, 0x4062BA22,\n\t0x4063B420, 0x40647220, 0x00000003, 0x4062BA23, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062BA24, 0x4063B420, 0x40647220, 0x00000003, 0x4062BA25,\n\t0x4063B420, 0x40647220, 0x00000003, 0x4062BA26, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062BA21, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA22,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA23, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA24, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA25,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA26, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA27, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA28,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA29, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA2A, 0x4063B420, 0x40648C20,\n\t// Block 409, offset 0x6640\n\t0x00000003, 0x4062BA2B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA2C,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA2D, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA2E, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA2F,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA30, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA31, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA32,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA33, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA34, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA35,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA36, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA37, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA38,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA39, 0x4063B420, 0x40648C20,\n\t0x00000002, 0x4062BA21, 0x4063B820, 0x00000002,\n\t// Block 410, offset 0x6680\n\t0x4062BA22, 0x4063B820, 0x00000002, 0x4062BA23, 0x4063B820, 0x00000002,\n\t0x4062BA24, 0x4063B820, 0x00000002, 0x4062BA25, 0x4063B820, 0x00000002,\n\t0x4062BA26, 0x4063B820, 0x00000002, 0x4062BA27, 0x4063B820, 0x00000002,\n\t0x4062BA28, 0x4063B820, 0x00000002, 0x4062BA29, 0x4063B820, 0x00000002,\n\t0x4062BA2A, 0x4063B820, 0x00000002, 0x4062BA2B, 0x4063B820, 0x00000002,\n\t0x4062BA2C, 0x4063B820, 0x00000002, 0x4062BA2D, 0x4063B820, 0x00000002,\n\t0x4062BA2E, 0x4063B820, 0x00000002, 0x4062BA2F, 0x4063B820, 0x00000002,\n\t0x4062BA30, 0x4063B820, 0x00000002, 0x4062BA31, 0x4063B820, 0x00000002,\n\t0x4062BA32, 0x4063B820, 0x00000002, 0x4062BA33, 0x4063B820, 0x00000002,\n\t0x4062BA34, 0x4063B820, 0x00000002, 0x4062BA35, 0x4063B820, 0x00000002,\n\t0x4062BA36, 0x4063B820, 0x00000002, 0x4062BA37,\n\t// Block 411, offset 0x66c0\n\t0x4063B820, 0x00000003, 0x4062BA21, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA22, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA23, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA24, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA25, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA26, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA27, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA28, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA29, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA2A, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA2B, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA2C, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA2D, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA2E, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA2F, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA30, 0x4063B820,\n\t// Block 412, offset 0x6700\n\t0x40646420, 0x00000003, 0x4062BA31, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA32, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA33, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA34, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA35, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA36, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA37, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA38, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA39, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA3A, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA21, 0x4063B820, 0x40646A20, 0x00000003, 0x4062BA21, 0x4063B820,\n\t0x40647220, 0x00000003, 0x4062BA21, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA22, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA23, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062BA24, 0x4063B820,\n\t// Block 413, offset 0x6740\n\t0x40648C20, 0x00000003, 0x4062BA25, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA26, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA27, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062BA28, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA29, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA2A, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062BA2B, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA2C, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA2D, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062BA2E, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA2F, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA30, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062BA31, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA32, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA33, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062BA34, 0x4063B820,\n\t// Block 414, offset 0x6780\n\t0x40648C20, 0x00000003, 0x4062BA35, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA36, 0x4063B820, 0x40648C20, 0x00000002, 0x4062BA21, 0x4063C220,\n\t0x00000002, 0x4062BA22, 0x4063C220, 0x00000002, 0x4062BA23, 0x4063C220,\n\t0x00000002, 0x4062BA24, 0x4063C220, 0x00000002, 0x4062BA25, 0x4063C220,\n\t0x00000002, 0x4062BA26, 0x4063C220, 0x00000002, 0x4062BA27, 0x4063C220,\n\t0x00000002, 0x4062BA28, 0x4063C220, 0x00000002, 0x4062BA29, 0x4063C220,\n\t0x00000002, 0x4062BA2A, 0x4063C220, 0x00000002, 0x4062BA2B, 0x4063C220,\n\t0x00000002, 0x4062BA2C, 0x4063C220, 0x00000002, 0x4062BA2D, 0x4063C220,\n\t0x00000002, 0x4062BA2E, 0x4063C220, 0x00000002, 0x4062BA2F, 0x4063C220,\n\t0x00000002, 0x4062BA30, 0x4063C220, 0x00000002, 0x4062BA31, 0x4063C220,\n\t0x00000002, 0x4062BA32, 0x4063C220, 0x00000002,\n\t// Block 415, offset 0x67c0\n\t0x4062BA33, 0x4063C220, 0x00000002, 0x4062BA34, 0x4063C220, 0x00000002,\n\t0x4062BA35, 0x4063C220, 0x00000002, 0x4062BA36, 0x4063C220, 0x00000002,\n\t0x4062BA37, 0x4063C220, 0x00000002, 0x4062BA38, 0x4063C220, 0x00000002,\n\t0x4062BA39, 0x4063C220, 0x00000002, 0x4062BA3A, 0x4063C220, 0x00000002,\n\t0x4062BA3B, 0x4063C220, 0x00000002, 0x4062BA3C, 0x4063C220, 0x00000002,\n\t0x4062BA3D, 0x4063C220, 0x00000002, 0x4062BA3E, 0x4063C220, 0x00000002,\n\t0x4062BA3F, 0x4063C220, 0x00000002, 0x4062BA40, 0x4063C220, 0x00000002,\n\t0x4062BA41, 0x4063C220, 0x00000002, 0x4062BA42, 0x4063C220, 0x00000002,\n\t0x4062BA43, 0x4063C220, 0x00000002, 0x4062BA44, 0x4063C220, 0x00000002,\n\t0x4062BA45, 0x4063C220, 0x00000002, 0x4062BA46, 0x4063C220, 0x00000002,\n\t0x4062BA47, 0x4063C220, 0x00000002, 0x4062BA48,\n\t// Block 416, offset 0x6800\n\t0x4063C220, 0x00000002, 0x4062BA49, 0x4063C220, 0x00000002, 0x4062BA4A,\n\t0x4063C220, 0x00000002, 0x4062BA4B, 0x4063C220, 0x00000002, 0x4062BA4C,\n\t0x4063C220, 0x00000002, 0x4062BA4D, 0x4063C220, 0x00000002, 0x4062BA4E,\n\t0x4063C220, 0x00000002, 0x4062BA4F, 0x4063C220, 0x00000002, 0x4062BA50,\n\t0x4063C220, 0x00000002, 0x4062BA51, 0x4063C220, 0x00000002, 0x4062BA52,\n\t0x4063C220, 0x00000002, 0x4062BA53, 0x4063C220, 0x00000002, 0x4062BA54,\n\t0x4063C220, 0x00000002, 0x4062BA55, 0x4063C220, 0x00000002, 0x4062BA56,\n\t0x4063C220, 0x00000002, 0x4062BA57, 0x4063C220, 0x00000002, 0x4062BA58,\n\t0x4063C220, 0x00000002, 0x4062BA59, 0x4063C220, 0x00000002, 0x4062BA5A,\n\t0x4063C220, 0x00000002, 0x4062BA5B, 0x4063C220, 0x00000002, 0x4062BA5C,\n\t0x4063C220, 0x00000002, 0x4062BA5D, 0x4063C220,\n\t// Block 417, offset 0x6840\n\t0x00000002, 0x4062BA5E, 0x4063C220, 0x00000002, 0x4062BA5F, 0x4063C220,\n\t0x00000002, 0x4062BA60, 0x4063C220, 0x00000002, 0x4062BA61, 0x4063C220,\n\t0x00000002, 0x4062BA62, 0x4063C220, 0x00000002, 0x4062BA63, 0x4063C220,\n\t0x00000002, 0x4062BA64, 0x4063C220, 0x00000002, 0x4062BA65, 0x4063C220,\n\t0x00000003, 0x4062BA21, 0x4063C220, 0x40646420, 0x00000003, 0x4062BA21,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA22, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA23, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA24,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA25, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA26, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA27,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA28, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA29, 0x4063C220, 0x40646A20,\n\t// Block 418, offset 0x6880\n\t0x00000003, 0x4062BA2A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA2B,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA2C, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA2D, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA2E,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA2F, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA30, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA31,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA32, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA33, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA34,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA35, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA36, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA37,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA38, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA39, 0x4063C220, 0x40646A20,\n\t// Block 419, offset 0x68c0\n\t0x00000003, 0x4062BA3A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA3B,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA3C, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA3D, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA3E,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA3F, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA40, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA41,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA42, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA43, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA44,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA45, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA46, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA21,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062BA22, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062BA23, 0x4063C220, 0x40647220,\n\t// Block 420, offset 0x6900\n\t0x00000003, 0x4062BA24, 0x4063C220, 0x40647220, 0x00000003, 0x4062BA25,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062BA26, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062BA27, 0x4063C220, 0x40647220, 0x00000003, 0x4062BA28,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062BA29, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062BA2A, 0x4063C220, 0x40647220, 0x00000003, 0x4062BA2B,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062BA2C, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062BA21, 0x4063C220, 0x40648C20, 0x00000003, 0x4062BA22,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062BA23, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062BA24, 0x4063C220, 0x40648C20, 0x00000003, 0x4062BA25,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062BA26, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062BA27, 0x4063C220, 0x40648C20,\n\t// Block 421, offset 0x6940\n\t0x00000003, 0x4062BA28, 0x4063C220, 0x40648C20, 0x00000003, 0x4062BA29,\n\t0x4063C220, 0x40648C20, 0x00000002, 0x4062BA21, 0x4063D020, 0x00000002,\n\t0x4062BA22, 0x4063D020, 0x00000002, 0x4062BA23, 0x4063D020, 0x00000002,\n\t0x4062BA24, 0x4063D020, 0x00000002, 0x4062BA25, 0x4063D020, 0x00000002,\n\t0x4062BA26, 0x4063D020, 0x00000002, 0x4062BA27, 0x4063D020, 0x00000002,\n\t0x4062BA28, 0x4063D020, 0x00000002, 0x4062BA29, 0x4063D020, 0x00000002,\n\t0x4062BA2A, 0x4063D020, 0x00000002, 0x4062BA2B, 0x4063D020, 0x00000002,\n\t0x4062BA2C, 0x4063D020, 0x00000002, 0x4062BA2D, 0x4063D020, 0x00000002,\n\t0x4062BA2E, 0x4063D020, 0x00000002, 0x4062BA2F, 0x4063D020, 0x00000002,\n\t0x4062BA30, 0x4063D020, 0x00000002, 0x4062BA31, 0x4063D020, 0x00000002,\n\t0x4062BA32, 0x4063D020, 0x00000002, 0x4062BA33,\n\t// Block 422, offset 0x6980\n\t0x4063D020, 0x00000002, 0x4062BA34, 0x4063D020, 0x00000002, 0x4062BA35,\n\t0x4063D020, 0x00000002, 0x4062BA36, 0x4063D020, 0x00000002, 0x4062BA37,\n\t0x4063D020, 0x00000002, 0x4062BA38, 0x4063D020, 0x00000002, 0x4062BA39,\n\t0x4063D020, 0x00000002, 0x4062BA3A, 0x4063D020, 0x00000002, 0x4062BA3B,\n\t0x4063D020, 0x00000002, 0x4062BA3C, 0x4063D020, 0x00000002, 0x4062BA3D,\n\t0x4063D020, 0x00000002, 0x4062BA3E, 0x4063D020, 0x00000002, 0x4062BA3F,\n\t0x4063D020, 0x00000002, 0x4062BA40, 0x4063D020, 0x00000002, 0x4062BA41,\n\t0x4063D020, 0x00000002, 0x4062BA42, 0x4063D020, 0x00000002, 0x4062BA43,\n\t0x4063D020, 0x00000002, 0x4062BA44, 0x4063D020, 0x00000002, 0x4062BA45,\n\t0x4063D020, 0x00000002, 0x4062BA46, 0x4063D020, 0x00000002, 0x4062BA47,\n\t0x4063D020, 0x00000002, 0x4062BA48, 0x4063D020,\n\t// Block 423, offset 0x69c0\n\t0x00000002, 0x4062BA49, 0x4063D020, 0x00000002, 0x4062BA4A, 0x4063D020,\n\t0x00000002, 0x4062BA4B, 0x4063D020, 0x00000002, 0x4062BA4C, 0x4063D020,\n\t0x00000002, 0x4062BA4D, 0x4063D020, 0x00000002, 0x4062BA4E, 0x4063D020,\n\t0x00000002, 0x4062BA4F, 0x4063D020, 0x00000002, 0x4062BA50, 0x4063D020,\n\t0x00000002, 0x4062BA51, 0x4063D020, 0x00000002, 0x4062BA52, 0x4063D020,\n\t0x00000002, 0x4062BA53, 0x4063D020, 0x00000002, 0x4062BA54, 0x4063D020,\n\t0x00000002, 0x4062BA55, 0x4063D020, 0x00000002, 0x4062BA56, 0x4063D020,\n\t0x00000002, 0x4062BA57, 0x4063D020, 0x00000002, 0x4062BA58, 0x4063D020,\n\t0x00000002, 0x4062BA59, 0x4063D020, 0x00000002, 0x4062BA5A, 0x4063D020,\n\t0x00000002, 0x4062BA5B, 0x4063D020, 0x00000002, 0x4062BA5C, 0x4063D020,\n\t0x00000002, 0x4062BA5D, 0x4063D020, 0x00000002,\n\t// Block 424, offset 0x6a00\n\t0x4062BA5E, 0x4063D020, 0x00000002, 0x4062BA5F, 0x4063D020, 0x00000002,\n\t0x4062BA60, 0x4063D020, 0x00000002, 0x4062BA61, 0x4063D020, 0x00000002,\n\t0x4062BA62, 0x4063D020, 0x00000002, 0x4062BA63, 0x4063D020, 0x00000002,\n\t0x4062BA64, 0x4063D020, 0x00000002, 0x4062BA65, 0x4063D020, 0x00000002,\n\t0x4062BA66, 0x4063D020, 0x00000002, 0x4062BA67, 0x4063D020, 0x00000002,\n\t0x4062BA68, 0x4063D020, 0x00000002, 0x4062BA69, 0x4063D020, 0x00000002,\n\t0x4062BA6A, 0x4063D020, 0x00000002, 0x4062BA6B, 0x4063D020, 0x00000002,\n\t0x4062BA6C, 0x4063D020, 0x00000002, 0x4062BA6D, 0x4063D020, 0x00000002,\n\t0x4062BA6E, 0x4063D020, 0x00000002, 0x4062BA6F, 0x4063D020, 0x00000002,\n\t0x4062BA70, 0x4063D020, 0x00000002, 0x4062BA71, 0x4063D020, 0x00000002,\n\t0x4062BA72, 0x4063D020, 0x00000002, 0x4062BA73,\n\t// Block 425, offset 0x6a40\n\t0x4063D020, 0x00000002, 0x4062BA74, 0x4063D020, 0x00000002, 0x4062BA75,\n\t0x4063D020, 0x00000003, 0x4062BA21, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA22, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA23, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA24, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA25, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA26, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA27, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA28, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA29, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA2A, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA2B, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA2C, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA2D, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA2E, 0x4063D020, 0x40646A20, 0x00000003,\n\t// Block 426, offset 0x6a80\n\t0x4062BA2F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA30, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA31, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA32, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA33, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA34, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA35, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA36, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA37, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA38, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA39, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA3A, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA3B, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA21, 0x4063D020,\n\t0x40648C20, 0x00000003, 0x4062BA22, 0x4063D020, 0x40648C20, 0x00000003,\n\t0x4062BA23, 0x4063D020, 0x40648C20, 0x00000003,\n\t// Block 427, offset 0x6ac0\n\t0x4062BA24, 0x4063D020, 0x40648C20, 0x00000003, 0x4062BA25, 0x4063D020,\n\t0x40648C20, 0x00000003, 0x4062BA26, 0x4063D020, 0x40648C20, 0x00000003,\n\t0x4062BA27, 0x4063D020, 0x40648C20, 0x00000003, 0x4062BA28, 0x4063D020,\n\t0x40648C20, 0x00000002, 0x4062BE21, 0x4063A820, 0x00000002, 0x4062BE22,\n\t0x4063A820, 0x00000002, 0x4062BE23, 0x4063A820, 0x00000002, 0x4062BE24,\n\t0x4063A820, 0x00000002, 0x4062BE25, 0x4063A820, 0x00000002, 0x4062BE26,\n\t0x4063A820, 0x00000002, 0x4062BE27, 0x4063A820, 0x00000002, 0x4062BE28,\n\t0x4063A820, 0x00000002, 0x4062BE29, 0x4063A820, 0x00000002, 0x4062BE2A,\n\t0x4063A820, 0x00000002, 0x4062BE2B, 0x4063A820, 0x00000002, 0x4062BE2C,\n\t0x4063A820, 0x00000002, 0x4062BE2D, 0x4063A820, 0x00000002, 0x4062BE2E,\n\t0x4063A820, 0x00000002, 0x4062BE2F, 0x4063A820,\n\t// Block 428, offset 0x6b00\n\t0x00000002, 0x4062BE30, 0x4063A820, 0x00000002, 0x4062BE31, 0x4063A820,\n\t0x00000002, 0x4062BE32, 0x4063A820, 0x00000002, 0x4062BE33, 0x4063A820,\n\t0x00000002, 0x4062BE34, 0x4063A820, 0x00000002, 0x4062BE35, 0x4063A820,\n\t0x00000002, 0x4062BE36, 0x4063A820, 0x00000002, 0x4062BE37, 0x4063A820,\n\t0x00000002, 0x4062BE38, 0x4063A820, 0x00000002, 0x4062BE39, 0x4063A820,\n\t0x00000002, 0x4062BE3A, 0x4063A820, 0x00000002, 0x4062BE3B, 0x4063A820,\n\t0x00000002, 0x4062BE3C, 0x4063A820, 0x00000002, 0x4062BE3D, 0x4063A820,\n\t0x00000002, 0x4062BE3E, 0x4063A820, 0x00000002, 0x4062BE3F, 0x4063A820,\n\t0x00000002, 0x4062BE40, 0x4063A820, 0x00000002, 0x4062BE41, 0x4063A820,\n\t0x00000002, 0x4062BE42, 0x4063A820, 0x00000002, 0x4062BE43, 0x4063A820,\n\t0x00000002, 0x4062BE44, 0x4063A820, 0x00000002,\n\t// Block 429, offset 0x6b40\n\t0x4062BE45, 0x4063A820, 0x00000002, 0x4062BE46, 0x4063A820, 0x00000002,\n\t0x4062BE47, 0x4063A820, 0x00000002, 0x4062BE48, 0x4063A820, 0x00000002,\n\t0x4062BE49, 0x4063A820, 0x00000002, 0x4062BE4A, 0x4063A820, 0x00000002,\n\t0x4062BE4B, 0x4063A820, 0x00000002, 0x4062BE4C, 0x4063A820, 0x00000002,\n\t0x4062BE4D, 0x4063A820, 0x00000002, 0x4062BE4E, 0x4063A820, 0x00000002,\n\t0x4062BE4F, 0x4063A820, 0x00000002, 0x4062BE50, 0x4063A820, 0x00000002,\n\t0x4062BE51, 0x4063A820, 0x00000002, 0x4062BE52, 0x4063A820, 0x00000002,\n\t0x4062BE53, 0x4063A820, 0x00000002, 0x4062BE54, 0x4063A820, 0x00000002,\n\t0x4062BE55, 0x4063A820, 0x00000002, 0x4062BE56, 0x4063A820, 0x00000002,\n\t0x4062BE57, 0x4063A820, 0x00000002, 0x4062BE58, 0x4063A820, 0x00000002,\n\t0x4062BE59, 0x4063A820, 0x00000002, 0x4062BE5A,\n\t// Block 430, offset 0x6b80\n\t0x4063A820, 0x00000002, 0x4062BE5B, 0x4063A820, 0x00000002, 0x4062BE5C,\n\t0x4063A820, 0x00000002, 0x4062BE5D, 0x4063A820, 0x00000002, 0x4062BE5E,\n\t0x4063A820, 0x00000002, 0x4062BE5F, 0x4063A820, 0x00000002, 0x4062BE60,\n\t0x4063A820, 0x00000002, 0x4062BE61, 0x4063A820, 0x00000002, 0x4062BE62,\n\t0x4063A820, 0x00000002, 0x4062BE63, 0x4063A820, 0x00000002, 0x4062BE64,\n\t0x4063A820, 0x00000002, 0x4062BE65, 0x4063A820, 0x00000002, 0x4062BE66,\n\t0x4063A820, 0x00000002, 0x4062BE67, 0x4063A820, 0x00000002, 0x4062BE68,\n\t0x4063A820, 0x00000002, 0x4062BE69, 0x4063A820, 0x00000002, 0x4062BE6A,\n\t0x4063A820, 0x00000002, 0x4062BE6B, 0x4063A820, 0x00000002, 0x4062BE6C,\n\t0x4063A820, 0x00000002, 0x4062BE6D, 0x4063A820, 0x00000002, 0x4062BE6E,\n\t0x4063A820, 0x00000002, 0x4062BE6F, 0x4063A820,\n\t// Block 431, offset 0x6bc0\n\t0x00000003, 0x4062BE21, 0x4063A820, 0x40646420, 0x00000003, 0x4062BE22,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BE23, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BE24, 0x4063A820, 0x40646420, 0x00000003, 0x4062BE25,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BE26, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BE21, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE22,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE23, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE24, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE25,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE26, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE27, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE28,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE29, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE2A, 0x4063A820, 0x40646A20,\n\t// Block 432, offset 0x6c00\n\t0x00000003, 0x4062BE2B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE2C,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE2D, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE2E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE2F,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE30, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE31, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE32,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE33, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE34, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE35,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE36, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE37, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE38,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE21, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BE22, 0x4063A820, 0x40647220,\n\t// Block 433, offset 0x6c40\n\t0x00000003, 0x4062BE23, 0x4063A820, 0x40647220, 0x00000003, 0x4062BE24,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062BE25, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BE21, 0x4063A820, 0x40648220, 0x00000003, 0x4062BE22,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062BE23, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062BE24, 0x4063A820, 0x40648220, 0x00000003, 0x4062BE25,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062BE26, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062BE27, 0x4063A820, 0x40648220, 0x00000003, 0x4062BE28,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062BE29, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062BE2A, 0x4063A820, 0x40648220, 0x00000003, 0x4062BE21,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062BE22, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062BE23, 0x4063A820, 0x40648420,\n\t// Block 434, offset 0x6c80\n\t0x00000003, 0x4062BE24, 0x4063A820, 0x40648420, 0x00000003, 0x4062BE25,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062BE26, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062BE27, 0x4063A820, 0x40648420, 0x00000003, 0x4062BE28,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062BE29, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062BE2A, 0x4063A820, 0x40648420, 0x00000003, 0x4062BE2B,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062BE21, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE22, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE23,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE24, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE25, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE26,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE27, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE28, 0x4063A820, 0x40648C20,\n\t// Block 435, offset 0x6cc0\n\t0x00000003, 0x4062BE29, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE2A,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE2B, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE2C, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE2D,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE2E, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE2F, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE30,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE31, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE32, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE33,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE34, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE35, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE36,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE37, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE38, 0x4063A820, 0x40648C20,\n\t// Block 436, offset 0x6d00\n\t0x00000003, 0x4062BE39, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE3A,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE3B, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE3C, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE3D,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE3E, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE3F, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE40,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE41, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE42, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE43,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE44, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE45, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE46,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE47, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE48, 0x4063A820, 0x40648C20,\n\t// Block 437, offset 0x6d40\n\t0x00000002, 0x4062BE21, 0x4063AA20, 0x00000002, 0x4062BE22, 0x4063AA20,\n\t0x00000002, 0x4062BE23, 0x4063AA20, 0x00000002, 0x4062BE24, 0x4063AA20,\n\t0x00000003, 0x4062BE21, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BE22,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062BE23, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062BE24, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BE25,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062BE26, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062BE27, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BE21,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062BE22, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062BE23, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062BE24,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062BE25, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062BE26, 0x4063AA20, 0x40648C20,\n\t// Block 438, offset 0x6d80\n\t0x00000002, 0x4062BE21, 0x4063B020, 0x00000002, 0x4062BE22, 0x4063B020,\n\t0x00000002, 0x4062BE23, 0x4063B020, 0x00000002, 0x4062BE24, 0x4063B020,\n\t0x00000002, 0x4062BE25, 0x4063B020, 0x00000002, 0x4062BE26, 0x4063B020,\n\t0x00000002, 0x4062BE27, 0x4063B020, 0x00000002, 0x4062BE28, 0x4063B020,\n\t0x00000002, 0x4062BE29, 0x4063B020, 0x00000002, 0x4062BE2A, 0x4063B020,\n\t0x00000002, 0x4062BE2B, 0x4063B020, 0x00000002, 0x4062BE2C, 0x4063B020,\n\t0x00000002, 0x4062BE2D, 0x4063B020, 0x00000002, 0x4062BE2E, 0x4063B020,\n\t0x00000002, 0x4062BE2F, 0x4063B020, 0x00000002, 0x4062BE30, 0x4063B020,\n\t0x00000002, 0x4062BE31, 0x4063B020, 0x00000002, 0x4062BE32, 0x4063B020,\n\t0x00000002, 0x4062BE33, 0x4063B020, 0x00000002, 0x4062BE34, 0x4063B020,\n\t0x00000002, 0x4062BE35, 0x4063B020, 0x00000002,\n\t// Block 439, offset 0x6dc0\n\t0x4062BE36, 0x4063B020, 0x00000002, 0x4062BE37, 0x4063B020, 0x00000002,\n\t0x4062BE38, 0x4063B020, 0x00000002, 0x4062BE39, 0x4063B020, 0x00000002,\n\t0x4062BE3A, 0x4063B020, 0x00000002, 0x4062BE3B, 0x4063B020, 0x00000002,\n\t0x4062BE3C, 0x4063B020, 0x00000002, 0x4062BE3D, 0x4063B020, 0x00000002,\n\t0x4062BE3E, 0x4063B020, 0x00000002, 0x4062BE3F, 0x4063B020, 0x00000002,\n\t0x4062BE40, 0x4063B020, 0x00000002, 0x4062BE41, 0x4063B020, 0x00000002,\n\t0x4062BE42, 0x4063B020, 0x00000002, 0x4062BE43, 0x4063B020, 0x00000002,\n\t0x4062BE44, 0x4063B020, 0x00000002, 0x4062BE45, 0x4063B020, 0x00000002,\n\t0x4062BE46, 0x4063B020, 0x00000002, 0x4062BE47, 0x4063B020, 0x00000002,\n\t0x4062BE48, 0x4063B020, 0x00000003, 0x4062BE21, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE22, 0x4063B020, 0x40646420,\n\t// Block 440, offset 0x6e00\n\t0x00000003, 0x4062BE23, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE24,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062BE25, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE26, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE27,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062BE28, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE29, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE2A,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062BE2B, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE2C, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE2D,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062BE2E, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE2F, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE30,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062BE31, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE32, 0x4063B020, 0x40646420,\n\t// Block 441, offset 0x6e40\n\t0x00000003, 0x4062BE33, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE34,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062BE35, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE36, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE21,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE22, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE23, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE24,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE25, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE26, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE27,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE28, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE29, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE2A,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE2B, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE2C, 0x4063B020, 0x40646A20,\n\t// Block 442, offset 0x6e80\n\t0x00000003, 0x4062BE2D, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE2E,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE2F, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE30, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE31,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE32, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE33, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE34,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE35, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE36, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE37,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE38, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE39, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE3A,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE3B, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE3C, 0x4063B020, 0x40646A20,\n\t// Block 443, offset 0x6ec0\n\t0x00000003, 0x4062BE3D, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE3E,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE3F, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE40, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE41,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE42, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE43, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE44,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE45, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE46, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE47,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE48, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE49, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE4A,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE4B, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE4C, 0x4063B020, 0x40646A20,\n\t// Block 444, offset 0x6f00\n\t0x00000003, 0x4062BE4D, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE4E,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE4F, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE50, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE21,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE22, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE23, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE24,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE25, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE26, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE27,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE28, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE29, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE2A,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE2B, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE2C, 0x4063B020, 0x40647220,\n\t// Block 445, offset 0x6f40\n\t0x00000003, 0x4062BE2D, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE2E,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE2F, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE30, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE31,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE32, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE33, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE34,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE35, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE21, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE22,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BE23, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BE24, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE25,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BE26, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BE27, 0x4063B020, 0x40648220,\n\t// Block 446, offset 0x6f80\n\t0x00000003, 0x4062BE28, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE29,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BE2A, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BE2B, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE2C,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BE2D, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BE2E, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE2F,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BE21, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062BE22, 0x4063B020, 0x40648420, 0x00000003, 0x4062BE23,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062BE24, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062BE25, 0x4063B020, 0x40648420, 0x00000003, 0x4062BE26,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062BE27, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062BE28, 0x4063B020, 0x40648420,\n\t// Block 447, offset 0x6fc0\n\t0x00000003, 0x4062BE29, 0x4063B020, 0x40648420, 0x00000003, 0x4062BE2A,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062BE21, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062BE22, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE23,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062BE24, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062BE25, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE26,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062BE27, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062BE28, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE29,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062BE2A, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062BE2B, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE2C,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062BE2D, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062BE2E, 0x4063B020, 0x40648C20,\n\t// Block 448, offset 0x7000\n\t0x00000003, 0x4062BE2F, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE30,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062BE31, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062BE32, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE33,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062BE34, 0x4063B020, 0x40648C20,\n\t0x00000002, 0x4062BE21, 0x4063B220, 0x00000002, 0x4062BE22, 0x4063B220,\n\t0x00000002, 0x4062BE23, 0x4063B220, 0x00000002, 0x4062BE24, 0x4063B220,\n\t0x00000002, 0x4062BE25, 0x4063B220, 0x00000002, 0x4062BE26, 0x4063B220,\n\t0x00000002, 0x4062BE27, 0x4063B220, 0x00000002, 0x4062BE28, 0x4063B220,\n\t0x00000002, 0x4062BE29, 0x4063B220, 0x00000002, 0x4062BE2A, 0x4063B220,\n\t0x00000002, 0x4062BE2B, 0x4063B220, 0x00000002, 0x4062BE2C, 0x4063B220,\n\t0x00000002, 0x4062BE21, 0x4063B820, 0x00000002,\n\t// Block 449, offset 0x7040\n\t0x4062BE22, 0x4063B820, 0x00000002, 0x4062BE23, 0x4063B820, 0x00000002,\n\t0x4062BE24, 0x4063B820, 0x00000002, 0x4062BE25, 0x4063B820, 0x00000002,\n\t0x4062BE26, 0x4063B820, 0x00000002, 0x4062BE27, 0x4063B820, 0x00000002,\n\t0x4062BE28, 0x4063B820, 0x00000002, 0x4062BE29, 0x4063B820, 0x00000002,\n\t0x4062BE2A, 0x4063B820, 0x00000002, 0x4062BE2B, 0x4063B820, 0x00000002,\n\t0x4062BE2C, 0x4063B820, 0x00000002, 0x4062BE2D, 0x4063B820, 0x00000002,\n\t0x4062BE2E, 0x4063B820, 0x00000002, 0x4062BE2F, 0x4063B820, 0x00000002,\n\t0x4062BE30, 0x4063B820, 0x00000002, 0x4062BE31, 0x4063B820, 0x00000002,\n\t0x4062BE32, 0x4063B820, 0x00000002, 0x4062BE33, 0x4063B820, 0x00000002,\n\t0x4062BE34, 0x4063B820, 0x00000002, 0x4062BE35, 0x4063B820, 0x00000002,\n\t0x4062BE36, 0x4063B820, 0x00000002, 0x4062BE37,\n\t// Block 450, offset 0x7080\n\t0x4063B820, 0x00000002, 0x4062BE38, 0x4063B820, 0x00000002, 0x4062BE39,\n\t0x4063B820, 0x00000002, 0x4062BE3A, 0x4063B820, 0x00000002, 0x4062BE3B,\n\t0x4063B820, 0x00000002, 0x4062BE3C, 0x4063B820, 0x00000002, 0x4062BE3D,\n\t0x4063B820, 0x00000002, 0x4062BE3E, 0x4063B820, 0x00000002, 0x4062BE3F,\n\t0x4063B820, 0x00000002, 0x4062BE40, 0x4063B820, 0x00000002, 0x4062BE41,\n\t0x4063B820, 0x00000002, 0x4062BE42, 0x4063B820, 0x00000002, 0x4062BE43,\n\t0x4063B820, 0x00000002, 0x4062BE44, 0x4063B820, 0x00000002, 0x4062BE45,\n\t0x4063B820, 0x00000002, 0x4062BE46, 0x4063B820, 0x00000002, 0x4062BE47,\n\t0x4063B820, 0x00000002, 0x4062BE48, 0x4063B820, 0x00000002, 0x4062BE49,\n\t0x4063B820, 0x00000002, 0x4062BE4A, 0x4063B820, 0x00000002, 0x4062BE4B,\n\t0x4063B820, 0x00000002, 0x4062BE4C, 0x4063B820,\n\t// Block 451, offset 0x70c0\n\t0x00000002, 0x4062BE4D, 0x4063B820, 0x00000002, 0x4062BE4E, 0x4063B820,\n\t0x00000002, 0x4062BE4F, 0x4063B820, 0x00000002, 0x4062BE50, 0x4063B820,\n\t0x00000002, 0x4062BE51, 0x4063B820, 0x00000002, 0x4062BE52, 0x4063B820,\n\t0x00000002, 0x4062BE53, 0x4063B820, 0x00000002, 0x4062BE54, 0x4063B820,\n\t0x00000002, 0x4062BE55, 0x4063B820, 0x00000002, 0x4062BE56, 0x4063B820,\n\t0x00000002, 0x4062BE57, 0x4063B820, 0x00000002, 0x4062BE58, 0x4063B820,\n\t0x00000002, 0x4062BE59, 0x4063B820, 0x00000002, 0x4062BE5A, 0x4063B820,\n\t0x00000002, 0x4062BE5B, 0x4063B820, 0x00000002, 0x4062BE5C, 0x4063B820,\n\t0x00000003, 0x4062BE21, 0x4063B820, 0x40646420, 0x00000003, 0x4062BE22,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062BE23, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062BE24, 0x4063B820, 0x40646420,\n\t// Block 452, offset 0x7100\n\t0x00000003, 0x4062BE25, 0x4063B820, 0x40646420, 0x00000003, 0x4062BE26,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062BE27, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062BE28, 0x4063B820, 0x40646420, 0x00000003, 0x4062BE29,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062BE2A, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062BE2B, 0x4063B820, 0x40646420, 0x00000003, 0x4062BE21,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062BE22, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062BE23, 0x4063B820, 0x40646A20, 0x00000003, 0x4062BE24,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062BE25, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062BE26, 0x4063B820, 0x40646A20, 0x00000003, 0x4062BE27,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062BE28, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062BE21, 0x4063B820, 0x40647220,\n\t// Block 453, offset 0x7140\n\t0x00000003, 0x4062BE22, 0x4063B820, 0x40647220, 0x00000003, 0x4062BE23,\n\t0x4063B820, 0x40647220, 0x00000003, 0x4062BE21, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062BE22, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BE23,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062BE24, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062BE25, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BE26,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062BE27, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062BE28, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BE29,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062BE2A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062BE2B, 0x4063B820, 0x40648C20, 0x00000002, 0x4062BE21,\n\t0x4063BC20, 0x00000002, 0x4062BE22, 0x4063BC20, 0x00000002, 0x4062BE23,\n\t0x4063BC20, 0x00000002, 0x4062BE24, 0x4063BC20,\n\t// Block 454, offset 0x7180\n\t0x00000002, 0x4062BE25, 0x4063BC20, 0x00000002, 0x4062BE26, 0x4063BC20,\n\t0x00000002, 0x4062BE27, 0x4063BC20, 0x00000002, 0x4062BE21, 0x4063BE20,\n\t0x00000002, 0x4062BE22, 0x4063BE20, 0x00000002, 0x4062BE21, 0x4063C220,\n\t0x00000002, 0x4062BE22, 0x4063C220, 0x00000002, 0x4062BE23, 0x4063C220,\n\t0x00000002, 0x4062BE24, 0x4063C220, 0x00000002, 0x4062BE25, 0x4063C220,\n\t0x00000002, 0x4062BE26, 0x4063C220, 0x00000002, 0x4062BE27, 0x4063C220,\n\t0x00000002, 0x4062BE28, 0x4063C220, 0x00000002, 0x4062BE29, 0x4063C220,\n\t0x00000002, 0x4062BE2A, 0x4063C220, 0x00000002, 0x4062BE2B, 0x4063C220,\n\t0x00000002, 0x4062BE2C, 0x4063C220, 0x00000002, 0x4062BE2D, 0x4063C220,\n\t0x00000002, 0x4062BE2E, 0x4063C220, 0x00000002, 0x4062BE2F, 0x4063C220,\n\t0x00000002, 0x4062BE30, 0x4063C220, 0x00000002,\n\t// Block 455, offset 0x71c0\n\t0x4062BE31, 0x4063C220, 0x00000002, 0x4062BE32, 0x4063C220, 0x00000002,\n\t0x4062BE33, 0x4063C220, 0x00000002, 0x4062BE34, 0x4063C220, 0x00000002,\n\t0x4062BE35, 0x4063C220, 0x00000002, 0x4062BE36, 0x4063C220, 0x00000002,\n\t0x4062BE37, 0x4063C220, 0x00000002, 0x4062BE38, 0x4063C220, 0x00000002,\n\t0x4062BE39, 0x4063C220, 0x00000002, 0x4062BE3A, 0x4063C220, 0x00000002,\n\t0x4062BE3B, 0x4063C220, 0x00000002, 0x4062BE3C, 0x4063C220, 0x00000002,\n\t0x4062BE3D, 0x4063C220, 0x00000002, 0x4062BE3E, 0x4063C220, 0x00000002,\n\t0x4062BE3F, 0x4063C220, 0x00000002, 0x4062BE40, 0x4063C220, 0x00000002,\n\t0x4062BE41, 0x4063C220, 0x00000002, 0x4062BE42, 0x4063C220, 0x00000002,\n\t0x4062BE43, 0x4063C220, 0x00000002, 0x4062BE44, 0x4063C220, 0x00000002,\n\t0x4062BE45, 0x4063C220, 0x00000002, 0x4062BE46,\n\t// Block 456, offset 0x7200\n\t0x4063C220, 0x00000002, 0x4062BE47, 0x4063C220, 0x00000002, 0x4062BE48,\n\t0x4063C220, 0x00000002, 0x4062BE49, 0x4063C220, 0x00000002, 0x4062BE4A,\n\t0x4063C220, 0x00000002, 0x4062BE4B, 0x4063C220, 0x00000002, 0x4062BE4C,\n\t0x4063C220, 0x00000002, 0x4062BE4D, 0x4063C220, 0x00000002, 0x4062BE4E,\n\t0x4063C220, 0x00000002, 0x4062BE4F, 0x4063C220, 0x00000002, 0x4062BE50,\n\t0x4063C220, 0x00000002, 0x4062BE51, 0x4063C220, 0x00000002, 0x4062BE52,\n\t0x4063C220, 0x00000002, 0x4062BE53, 0x4063C220, 0x00000002, 0x4062BE54,\n\t0x4063C220, 0x00000002, 0x4062BE55, 0x4063C220, 0x00000002, 0x4062BE56,\n\t0x4063C220, 0x00000002, 0x4062BE57, 0x4063C220, 0x00000002, 0x4062BE58,\n\t0x4063C220, 0x00000002, 0x4062BE59, 0x4063C220, 0x00000002, 0x4062BE5A,\n\t0x4063C220, 0x00000002, 0x4062BE5B, 0x4063C220,\n\t// Block 457, offset 0x7240\n\t0x00000002, 0x4062BE5C, 0x4063C220, 0x00000002, 0x4062BE5D, 0x4063C220,\n\t0x00000002, 0x4062BE5E, 0x4063C220, 0x00000002, 0x4062BE5F, 0x4063C220,\n\t0x00000002, 0x4062BE60, 0x4063C220, 0x00000002, 0x4062BE61, 0x4063C220,\n\t0x00000002, 0x4062BE62, 0x4063C220, 0x00000002, 0x4062BE63, 0x4063C220,\n\t0x00000002, 0x4062BE64, 0x4063C220, 0x00000002, 0x4062BE65, 0x4063C220,\n\t0x00000002, 0x4062BE66, 0x4063C220, 0x00000002, 0x4062BE67, 0x4063C220,\n\t0x00000002, 0x4062BE68, 0x4063C220, 0x00000002, 0x4062BE69, 0x4063C220,\n\t0x00000002, 0x4062BE6A, 0x4063C220, 0x00000002, 0x4062BE6B, 0x4063C220,\n\t0x00000002, 0x4062BE6C, 0x4063C220, 0x00000002, 0x4062BE6D, 0x4063C220,\n\t0x00000002, 0x4062BE6E, 0x4063C220, 0x00000002, 0x4062BE6F, 0x4063C220,\n\t0x00000002, 0x4062BE70, 0x4063C220, 0x00000002,\n\t// Block 458, offset 0x7280\n\t0x4062BE71, 0x4063C220, 0x00000002, 0x4062BE72, 0x4063C220, 0x00000003,\n\t0x4062BE21, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE22, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062BE23, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062BE24, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE25, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062BE26, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062BE27, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE28, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062BE29, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062BE2A, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE2B, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062BE2C, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062BE2D, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE2E, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062BE2F, 0x4063C220,\n\t// Block 459, offset 0x72c0\n\t0x40646420, 0x00000003, 0x4062BE30, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062BE31, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE32, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062BE33, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062BE21, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE22, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE23, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE24, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE25, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE26, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE27, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE28, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE29, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE2A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE2B, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE2C, 0x4063C220,\n\t// Block 460, offset 0x7300\n\t0x40646A20, 0x00000003, 0x4062BE2D, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE2E, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE2F, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE30, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE31, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE32, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE33, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE34, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE35, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE36, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE37, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE38, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE39, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE3A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE3B, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE3C, 0x4063C220,\n\t// Block 461, offset 0x7340\n\t0x40646A20, 0x00000003, 0x4062BE3D, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE3E, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE3F, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE40, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE41, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE42, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE43, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE44, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE21, 0x4063C220,\n\t0x40647220, 0x00000003, 0x4062BE22, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062BE23, 0x4063C220, 0x40647220, 0x00000003, 0x4062BE24, 0x4063C220,\n\t0x40647220, 0x00000003, 0x4062BE25, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062BE21, 0x4063C220, 0x40648C20, 0x00000003, 0x4062BE22, 0x4063C220,\n\t0x40648C20, 0x00000003, 0x4062BE23, 0x4063C220,\n\t// Block 462, offset 0x7380\n\t0x40648C20, 0x00000003, 0x4062BE24, 0x4063C220, 0x40648C20, 0x00000002,\n\t0x4062BE21, 0x4063C820, 0x00000002, 0x4062BE22, 0x4063C820, 0x00000002,\n\t0x4062BE23, 0x4063C820, 0x00000003, 0x4062BE21, 0x4063CC20, 0x40647220,\n\t0x00000003, 0x4062BE22, 0x4063CC20, 0x40647220, 0x00000003, 0x4062BE23,\n\t0x4063CC20, 0x40647220, 0x00000003, 0x4062BE24, 0x4063CC20, 0x40647220,\n\t0x00000003, 0x4062BE21, 0x4063CC20, 0x40648420, 0x00000003, 0x4062BE22,\n\t0x4063CC20, 0x40648420, 0x00000003, 0x4062BE23, 0x4063CC20, 0x40648420,\n\t0x00000003, 0x4062BE24, 0x4063CC20, 0x40648420, 0x00000003, 0x4062BE25,\n\t0x4063CC20, 0x40648420, 0x00000003, 0x4062BE26, 0x4063CC20, 0x40648420,\n\t0x00000003, 0x4062BE27, 0x4063CC20, 0x40648420, 0x00000003, 0x4062BE28,\n\t0x4063CC20, 0x40648420, 0x00000003, 0x4062BE21,\n\t// Block 463, offset 0x73c0\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE22, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062BE23, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE24,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE25, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062BE26, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE27,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE28, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062BE29, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE2A,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE2B, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062BE2C, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062BE21,\n\t0x4063D020, 0x00000002, 0x4062BE22, 0x4063D020, 0x00000002, 0x4062BE23,\n\t0x4063D020, 0x00000002, 0x4062BE24, 0x4063D020, 0x00000002, 0x4062BE25,\n\t0x4063D020, 0x00000002, 0x4062BE26, 0x4063D020,\n\t// Block 464, offset 0x7400\n\t0x00000002, 0x4062BE27, 0x4063D020, 0x00000002, 0x4062BE28, 0x4063D020,\n\t0x00000002, 0x4062BE29, 0x4063D020, 0x00000002, 0x4062BE2A, 0x4063D020,\n\t0x00000002, 0x4062BE2B, 0x4063D020, 0x00000002, 0x4062BE2C, 0x4063D020,\n\t0x00000002, 0x4062BE2D, 0x4063D020, 0x00000002, 0x4062BE2E, 0x4063D020,\n\t0x00000002, 0x4062BE2F, 0x4063D020, 0x00000002, 0x4062BE30, 0x4063D020,\n\t0x00000002, 0x4062BE31, 0x4063D020, 0x00000002, 0x4062BE32, 0x4063D020,\n\t0x00000002, 0x4062BE33, 0x4063D020, 0x00000002, 0x4062BE34, 0x4063D020,\n\t0x00000002, 0x4062BE35, 0x4063D020, 0x00000002, 0x4062BE36, 0x4063D020,\n\t0x00000002, 0x4062BE37, 0x4063D020, 0x00000002, 0x4062BE38, 0x4063D020,\n\t0x00000002, 0x4062BE39, 0x4063D020, 0x00000002, 0x4062BE3A, 0x4063D020,\n\t0x00000002, 0x4062BE3B, 0x4063D020, 0x00000002,\n\t// Block 465, offset 0x7440\n\t0x4062BE3C, 0x4063D020, 0x00000002, 0x4062BE3D, 0x4063D020, 0x00000002,\n\t0x4062BE3E, 0x4063D020, 0x00000002, 0x4062BE3F, 0x4063D020, 0x00000002,\n\t0x4062BE40, 0x4063D020, 0x00000002, 0x4062BE41, 0x4063D020, 0x00000002,\n\t0x4062BE42, 0x4063D020, 0x00000002, 0x4062BE43, 0x4063D020, 0x00000002,\n\t0x4062BE44, 0x4063D020, 0x00000002, 0x4062BE45, 0x4063D020, 0x00000002,\n\t0x4062BE46, 0x4063D020, 0x00000002, 0x4062BE47, 0x4063D020, 0x00000002,\n\t0x4062BE48, 0x4063D020, 0x00000002, 0x4062BE49, 0x4063D020, 0x00000002,\n\t0x4062BE4A, 0x4063D020, 0x00000002, 0x4062BE4B, 0x4063D020, 0x00000002,\n\t0x4062BE4C, 0x4063D020, 0x00000002, 0x4062BE4D, 0x4063D020, 0x00000003,\n\t0x4062BE21, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE22, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062BE23, 0x4063D020,\n\t// Block 466, offset 0x7480\n\t0x40646420, 0x00000003, 0x4062BE24, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062BE25, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE26, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062BE27, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062BE28, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE29, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062BE2A, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062BE2B, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE2C, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062BE2D, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062BE2E, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE2F, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062BE30, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062BE31, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE32, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062BE21, 0x4063D020,\n\t// Block 467, offset 0x74c0\n\t0x40646A20, 0x00000003, 0x4062BE22, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE23, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE24, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE25, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE26, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE27, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE28, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE29, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE2A, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE2B, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE2C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE2D, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE2E, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE2F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE30, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE31, 0x4063D020,\n\t// Block 468, offset 0x7500\n\t0x40646A20, 0x00000003, 0x4062BE32, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE33, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE34, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE35, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE36, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE37, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE38, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE39, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE3A, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE3B, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE3C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE3D, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE3E, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE3F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE40, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE41, 0x4063D020,\n\t// Block 469, offset 0x7540\n\t0x40646A20, 0x00000003, 0x4062BE21, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062BE22, 0x4063D020, 0x40647220, 0x00000003, 0x4062BE23, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062BE24, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062BE25, 0x4063D020, 0x40647220, 0x00000003, 0x4062BE26, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062BE21, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062BE22, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE23, 0x4063D020,\n\t0x40648220, 0x00000003, 0x4062BE24, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062BE25, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE26, 0x4063D020,\n\t0x40648220, 0x00000003, 0x4062BE27, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062BE28, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE29, 0x4063D020,\n\t0x40648220, 0x00000003, 0x4062BE2A, 0x4063D020,\n\t// Block 470, offset 0x7580\n\t0x40648220, 0x00000003, 0x4062BE2B, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062BE2C, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE2D, 0x4063D020,\n\t0x40648220, 0x00000003, 0x4062BE2E, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062BE2F, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE21, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062BE22, 0x4063D020, 0x40648420, 0x00000003,\n\t0x4062BE23, 0x4063D020, 0x40648420, 0x00000003, 0x4062C021, 0x4063A820,\n\t0x40648C20, 0x00000002, 0x4062C021, 0x4063D020, 0x00000002, 0x4062C221,\n\t0x4063A820, 0x00000002, 0x4062C222, 0x4063A820, 0x00000002, 0x4062C223,\n\t0x4063A820, 0x00000002, 0x4062C224, 0x4063A820, 0x00000002, 0x4062C225,\n\t0x4063A820, 0x00000002, 0x4062C226, 0x4063A820, 0x00000002, 0x4062C227,\n\t0x4063A820, 0x00000002, 0x4062C228, 0x4063A820,\n\t// Block 471, offset 0x75c0\n\t0x00000002, 0x4062C229, 0x4063A820, 0x00000002, 0x4062C22A, 0x4063A820,\n\t0x00000002, 0x4062C22B, 0x4063A820, 0x00000002, 0x4062C22C, 0x4063A820,\n\t0x00000002, 0x4062C22D, 0x4063A820, 0x00000002, 0x4062C22E, 0x4063A820,\n\t0x00000002, 0x4062C22F, 0x4063A820, 0x00000002, 0x4062C230, 0x4063A820,\n\t0x00000002, 0x4062C231, 0x4063A820, 0x00000002, 0x4062C232, 0x4063A820,\n\t0x00000002, 0x4062C233, 0x4063A820, 0x00000002, 0x4062C234, 0x4063A820,\n\t0x00000002, 0x4062C235, 0x4063A820, 0x00000002, 0x4062C236, 0x4063A820,\n\t0x00000002, 0x4062C237, 0x4063A820, 0x00000002, 0x4062C238, 0x4063A820,\n\t0x00000002, 0x4062C239, 0x4063A820, 0x00000002, 0x4062C23A, 0x4063A820,\n\t0x00000002, 0x4062C23B, 0x4063A820, 0x00000002, 0x4062C23C, 0x4063A820,\n\t0x00000002, 0x4062C23D, 0x4063A820, 0x00000003,\n\t// Block 472, offset 0x7600\n\t0x4062C221, 0x4063A820, 0x40646420, 0x00000003, 0x4062C222, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C223, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C224, 0x4063A820, 0x40646420, 0x00000003, 0x4062C225, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C226, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C227, 0x4063A820, 0x40646420, 0x00000003, 0x4062C228, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C229, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C22A, 0x4063A820, 0x40646420, 0x00000003, 0x4062C22B, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C22C, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C22D, 0x4063A820, 0x40646420, 0x00000003, 0x4062C22E, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C22F, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C230, 0x4063A820, 0x40646420, 0x00000003,\n\t// Block 473, offset 0x7640\n\t0x4062C231, 0x4063A820, 0x40646420, 0x00000003, 0x4062C232, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C233, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C234, 0x4063A820, 0x40646420, 0x00000003, 0x4062C235, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C236, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C237, 0x4063A820, 0x40646420, 0x00000003, 0x4062C238, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C239, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C221, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C222, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C223, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C224, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C225, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C226, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C227, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 474, offset 0x7680\n\t0x4062C228, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C229, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C22A, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C22B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C22C, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C22D, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C22E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C221, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062C222, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062C223, 0x4063A820, 0x40647220, 0x00000003, 0x4062C224, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062C225, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062C226, 0x4063A820, 0x40647220, 0x00000003, 0x4062C227, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062C228, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062C229, 0x4063A820, 0x40647220, 0x00000003,\n\t// Block 475, offset 0x76c0\n\t0x4062C22A, 0x4063A820, 0x40647220, 0x00000003, 0x4062C22B, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062C22C, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062C221, 0x4063A820, 0x40648220, 0x00000003, 0x4062C222, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C223, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C224, 0x4063A820, 0x40648220, 0x00000003, 0x4062C225, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C226, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C227, 0x4063A820, 0x40648220, 0x00000003, 0x4062C228, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C229, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C22A, 0x4063A820, 0x40648220, 0x00000003, 0x4062C22B, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C22C, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C22D, 0x4063A820, 0x40648220, 0x00000003,\n\t// Block 476, offset 0x7700\n\t0x4062C22E, 0x4063A820, 0x40648220, 0x00000003, 0x4062C22F, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C230, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C231, 0x4063A820, 0x40648220, 0x00000003, 0x4062C232, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C233, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C221, 0x4063A820, 0x40648420, 0x00000003, 0x4062C222, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062C223, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062C224, 0x4063A820, 0x40648420, 0x00000003, 0x4062C221, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C222, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C223, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C224, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C225, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C226, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 477, offset 0x7740\n\t0x4062C227, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C228, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C229, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C22A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C22B, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C22C, 0x4063A820, 0x40648C20, 0x00000002,\n\t0x4062C221, 0x4063AA20, 0x00000002, 0x4062C222, 0x4063AA20, 0x00000002,\n\t0x4062C223, 0x4063AA20, 0x00000002, 0x4062C224, 0x4063AA20, 0x00000002,\n\t0x4062C225, 0x4063AA20, 0x00000002, 0x4062C226, 0x4063AA20, 0x00000002,\n\t0x4062C227, 0x4063AA20, 0x00000002, 0x4062C228, 0x4063AA20, 0x00000002,\n\t0x4062C229, 0x4063AA20, 0x00000002, 0x4062C22A, 0x4063AA20, 0x00000002,\n\t0x4062C22B, 0x4063AA20, 0x00000002, 0x4062C22C, 0x4063AA20, 0x00000002,\n\t0x4062C22D, 0x4063AA20, 0x00000002, 0x4062C22E,\n\t// Block 478, offset 0x7780\n\t0x4063AA20, 0x00000002, 0x4062C22F, 0x4063AA20, 0x00000002, 0x4062C230,\n\t0x4063AA20, 0x00000002, 0x4062C231, 0x4063AA20, 0x00000002, 0x4062C232,\n\t0x4063AA20, 0x00000002, 0x4062C233, 0x4063AA20, 0x00000002, 0x4062C234,\n\t0x4063AA20, 0x00000002, 0x4062C235, 0x4063AA20, 0x00000002, 0x4062C236,\n\t0x4063AA20, 0x00000002, 0x4062C237, 0x4063AA20, 0x00000002, 0x4062C238,\n\t0x4063AA20, 0x00000002, 0x4062C239, 0x4063AA20, 0x00000002, 0x4062C23A,\n\t0x4063AA20, 0x00000002, 0x4062C23B, 0x4063AA20, 0x00000002, 0x4062C23C,\n\t0x4063AA20, 0x00000002, 0x4062C23D, 0x4063AA20, 0x00000002, 0x4062C23E,\n\t0x4063AA20, 0x00000002, 0x4062C23F, 0x4063AA20, 0x00000003, 0x4062C221,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062C222, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062C223, 0x4063AA20, 0x40646420,\n\t// Block 479, offset 0x77c0\n\t0x00000003, 0x4062C224, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C225,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062C226, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062C227, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C228,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062C229, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062C22A, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C22B,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062C221, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062C222, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C223,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062C224, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062C225, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C226,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062C227, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062C228, 0x4063AA20, 0x40648C20,\n\t// Block 480, offset 0x7800\n\t0x00000002, 0x4062C221, 0x4063AC20, 0x00000002, 0x4062C222, 0x4063AC20,\n\t0x00000002, 0x4062C223, 0x4063AC20, 0x00000002, 0x4062C224, 0x4063AC20,\n\t0x00000002, 0x4062C225, 0x4063AC20, 0x00000002, 0x4062C226, 0x4063AC20,\n\t0x00000002, 0x4062C227, 0x4063AC20, 0x00000002, 0x4062C228, 0x4063AC20,\n\t0x00000002, 0x4062C229, 0x4063AC20, 0x00000002, 0x4062C22A, 0x4063AC20,\n\t0x00000002, 0x4062C22B, 0x4063AC20, 0x00000003, 0x4062C221, 0x4063AC20,\n\t0x40646420, 0x00000003, 0x4062C222, 0x4063AC20, 0x40646420, 0x00000003,\n\t0x4062C223, 0x4063AC20, 0x40646420, 0x00000003, 0x4062C224, 0x4063AC20,\n\t0x40646420, 0x00000003, 0x4062C225, 0x4063AC20, 0x40646420, 0x00000003,\n\t0x4062C226, 0x4063AC20, 0x40646420, 0x00000003, 0x4062C227, 0x4063AC20,\n\t0x40646420, 0x00000003, 0x4062C228, 0x4063AC20,\n\t// Block 481, offset 0x7840\n\t0x40646420, 0x00000003, 0x4062C229, 0x4063AC20, 0x40646420, 0x00000003,\n\t0x4062C22A, 0x4063AC20, 0x40646420, 0x00000003, 0x4062C22B, 0x4063AC20,\n\t0x40646420, 0x00000003, 0x4062C22C, 0x4063AC20, 0x40646420, 0x00000003,\n\t0x4062C22D, 0x4063AC20, 0x40646420, 0x00000003, 0x4062C22E, 0x4063AC20,\n\t0x40646420, 0x00000003, 0x4062C22F, 0x4063AC20, 0x40646420, 0x00000003,\n\t0x4062C221, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C222, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C223, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C224, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C225, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C226, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C227, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C228, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C229, 0x4063AC20,\n\t// Block 482, offset 0x7880\n\t0x40648C20, 0x00000003, 0x4062C22A, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C22B, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C22C, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C22D, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C22E, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C22F, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C230, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C231, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C232, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C233, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C234, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C235, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C236, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C237, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C238, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C239, 0x4063AC20,\n\t// Block 483, offset 0x78c0\n\t0x40648C20, 0x00000003, 0x4062C23A, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C23B, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C23C, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C23D, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C23E, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C23F, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C240, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C241, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C242, 0x4063AC20,\n\t0x40648C20, 0x00000002, 0x4062C221, 0x4063B020, 0x00000002, 0x4062C222,\n\t0x4063B020, 0x00000002, 0x4062C223, 0x4063B020, 0x00000002, 0x4062C224,\n\t0x4063B020, 0x00000002, 0x4062C225, 0x4063B020, 0x00000002, 0x4062C226,\n\t0x4063B020, 0x00000002, 0x4062C227, 0x4063B020, 0x00000002, 0x4062C228,\n\t0x4063B020, 0x00000002, 0x4062C229, 0x4063B020,\n\t// Block 484, offset 0x7900\n\t0x00000002, 0x4062C22A, 0x4063B020, 0x00000002, 0x4062C22B, 0x4063B020,\n\t0x00000002, 0x4062C22C, 0x4063B020, 0x00000002, 0x4062C22D, 0x4063B020,\n\t0x00000002, 0x4062C22E, 0x4063B020, 0x00000003, 0x4062C221, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C222, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C223, 0x4063B020, 0x40646420, 0x00000003, 0x4062C224, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C225, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C226, 0x4063B020, 0x40646420, 0x00000003, 0x4062C221, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C222, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C223, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C224, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C225, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C226, 0x4063B020, 0x40646A20, 0x00000003,\n\t// Block 485, offset 0x7940\n\t0x4062C227, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C228, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C229, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C22A, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C22C, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C22D, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C221, 0x4063B020,\n\t0x40647220, 0x00000003, 0x4062C222, 0x4063B020, 0x40647220, 0x00000003,\n\t0x4062C223, 0x4063B020, 0x40647220, 0x00000003, 0x4062C221, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C222, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C223, 0x4063B020, 0x40648220, 0x00000003, 0x4062C224, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C225, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C226, 0x4063B020, 0x40648220, 0x00000003,\n\t// Block 486, offset 0x7980\n\t0x4062C227, 0x4063B020, 0x40648220, 0x00000003, 0x4062C228, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C229, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C22A, 0x4063B020, 0x40648220, 0x00000003, 0x4062C22B, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C22C, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C221, 0x4063B020, 0x40648420, 0x00000003, 0x4062C222, 0x4063B020,\n\t0x40648420, 0x00000003, 0x4062C223, 0x4063B020, 0x40648420, 0x00000003,\n\t0x4062C224, 0x4063B020, 0x40648420, 0x00000002, 0x4062C221, 0x4063B220,\n\t0x00000002, 0x4062C222, 0x4063B220, 0x00000003, 0x4062C221, 0x4063B220,\n\t0x40646A20, 0x00000002, 0x4062C221, 0x4063B420, 0x00000002, 0x4062C222,\n\t0x4063B420, 0x00000002, 0x4062C223, 0x4063B420, 0x00000002, 0x4062C224,\n\t0x4063B420, 0x00000002, 0x4062C225, 0x4063B420,\n\t// Block 487, offset 0x79c0\n\t0x00000002, 0x4062C226, 0x4063B420, 0x00000002, 0x4062C227, 0x4063B420,\n\t0x00000002, 0x4062C228, 0x4063B420, 0x00000002, 0x4062C229, 0x4063B420,\n\t0x00000002, 0x4062C22A, 0x4063B420, 0x00000002, 0x4062C22B, 0x4063B420,\n\t0x00000002, 0x4062C22C, 0x4063B420, 0x00000002, 0x4062C22D, 0x4063B420,\n\t0x00000002, 0x4062C22E, 0x4063B420, 0x00000003, 0x4062C221, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062C222, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062C223, 0x4063B420, 0x40646420, 0x00000003, 0x4062C224, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062C225, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062C226, 0x4063B420, 0x40646420, 0x00000003, 0x4062C227, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062C228, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062C229, 0x4063B420, 0x40646420, 0x00000003,\n\t// Block 488, offset 0x7a00\n\t0x4062C22A, 0x4063B420, 0x40646420, 0x00000003, 0x4062C22B, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062C22C, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062C22D, 0x4063B420, 0x40646420, 0x00000003, 0x4062C221, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C222, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C223, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C224, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C225, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C226, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C227, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C228, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C229, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C22A, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C22B, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C22C, 0x4063B420, 0x40646A20, 0x00000003,\n\t// Block 489, offset 0x7a40\n\t0x4062C22D, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C22E, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C22F, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C230, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C231, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C232, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C233, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C234, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C235, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C236, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C237, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C238, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C239, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C23A, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C23B, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C23C, 0x4063B420, 0x40646A20, 0x00000003,\n\t// Block 490, offset 0x7a80\n\t0x4062C23D, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C23E, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C23F, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C240, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C241, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C242, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C243, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C244, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C245, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C246, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C247, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C248, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C249, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C24A, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C24B, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C24C, 0x4063B420, 0x40646A20, 0x00000003,\n\t// Block 491, offset 0x7ac0\n\t0x4062C221, 0x4063B420, 0x40647220, 0x00000003, 0x4062C222, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062C223, 0x4063B420, 0x40647220, 0x00000003,\n\t0x4062C224, 0x4063B420, 0x40647220, 0x00000003, 0x4062C225, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062C221, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C222, 0x4063B420, 0x40648220, 0x00000003, 0x4062C223, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C224, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C225, 0x4063B420, 0x40648220, 0x00000003, 0x4062C226, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C227, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C228, 0x4063B420, 0x40648220, 0x00000003, 0x4062C229, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C22A, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C22B, 0x4063B420, 0x40648220, 0x00000003,\n\t// Block 492, offset 0x7b00\n\t0x4062C22C, 0x4063B420, 0x40648220, 0x00000003, 0x4062C22D, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C22E, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C22F, 0x4063B420, 0x40648220, 0x00000003, 0x4062C230, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C231, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C232, 0x4063B420, 0x40648220, 0x00000003, 0x4062C233, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C234, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C235, 0x4063B420, 0x40648220, 0x00000003, 0x4062C236, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C221, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062C222, 0x4063B420, 0x40648420, 0x00000003, 0x4062C223, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062C224, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062C225, 0x4063B420, 0x40648420, 0x00000003,\n\t// Block 493, offset 0x7b40\n\t0x4062C226, 0x4063B420, 0x40648420, 0x00000003, 0x4062C227, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062C221, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C222, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C223, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C224, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C225, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C226, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C227, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C228, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C229, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C22A, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C22B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C22C, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C22D, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C22E, 0x4063B420, 0x40648C20, 0x00000003,\n\t// Block 494, offset 0x7b80\n\t0x4062C22F, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C230, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C231, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C232, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C233, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C234, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C235, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C236, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C237, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C238, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C239, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C23A, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C23B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C23C, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C23D, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C23E, 0x4063B420, 0x40648C20, 0x00000003,\n\t// Block 495, offset 0x7bc0\n\t0x4062C23F, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C240, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C241, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C242, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C243, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C244, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C245, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C246, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C247, 0x4063B420, 0x40648C20, 0x00000002,\n\t0x4062C221, 0x4063B620, 0x00000002, 0x4062C222, 0x4063B620, 0x00000002,\n\t0x4062C223, 0x4063B620, 0x00000002, 0x4062C224, 0x4063B620, 0x00000002,\n\t0x4062C225, 0x4063B620, 0x00000002, 0x4062C226, 0x4063B620, 0x00000002,\n\t0x4062C227, 0x4063B620, 0x00000002, 0x4062C228, 0x4063B620, 0x00000002,\n\t0x4062C229, 0x4063B620, 0x00000002, 0x4062C22A,\n\t// Block 496, offset 0x7c00\n\t0x4063B620, 0x00000002, 0x4062C22B, 0x4063B620, 0x00000002, 0x4062C22C,\n\t0x4063B620, 0x00000002, 0x4062C22D, 0x4063B620, 0x00000002, 0x4062C22E,\n\t0x4063B620, 0x00000002, 0x4062C22F, 0x4063B620, 0x00000002, 0x4062C230,\n\t0x4063B620, 0x00000002, 0x4062C231, 0x4063B620, 0x00000002, 0x4062C232,\n\t0x4063B620, 0x00000002, 0x4062C233, 0x4063B620, 0x00000002, 0x4062C234,\n\t0x4063B620, 0x00000002, 0x4062C235, 0x4063B620, 0x00000002, 0x4062C236,\n\t0x4063B620, 0x00000002, 0x4062C237, 0x4063B620, 0x00000002, 0x4062C238,\n\t0x4063B620, 0x00000002, 0x4062C239, 0x4063B620, 0x00000002, 0x4062C23A,\n\t0x4063B620, 0x00000002, 0x4062C23B, 0x4063B620, 0x00000002, 0x4062C23C,\n\t0x4063B620, 0x00000002, 0x4062C23D, 0x4063B620, 0x00000002, 0x4062C23E,\n\t0x4063B620, 0x00000002, 0x4062C23F, 0x4063B620,\n\t// Block 497, offset 0x7c40\n\t0x00000002, 0x4062C240, 0x4063B620, 0x00000002, 0x4062C241, 0x4063B620,\n\t0x00000002, 0x4062C242, 0x4063B620, 0x00000002, 0x4062C243, 0x4063B620,\n\t0x00000002, 0x4062C244, 0x4063B620, 0x00000002, 0x4062C245, 0x4063B620,\n\t0x00000002, 0x4062C246, 0x4063B620, 0x00000002, 0x4062C247, 0x4063B620,\n\t0x00000002, 0x4062C221, 0x4063B820, 0x00000002, 0x4062C222, 0x4063B820,\n\t0x00000002, 0x4062C223, 0x4063B820, 0x00000002, 0x4062C224, 0x4063B820,\n\t0x00000002, 0x4062C225, 0x4063B820, 0x00000002, 0x4062C226, 0x4063B820,\n\t0x00000002, 0x4062C227, 0x4063B820, 0x00000002, 0x4062C228, 0x4063B820,\n\t0x00000002, 0x4062C229, 0x4063B820, 0x00000002, 0x4062C22A, 0x4063B820,\n\t0x00000002, 0x4062C22B, 0x4063B820, 0x00000002, 0x4062C22C, 0x4063B820,\n\t0x00000002, 0x4062C22D, 0x4063B820, 0x00000002,\n\t// Block 498, offset 0x7c80\n\t0x4062C22E, 0x4063B820, 0x00000002, 0x4062C22F, 0x4063B820, 0x00000002,\n\t0x4062C230, 0x4063B820, 0x00000002, 0x4062C231, 0x4063B820, 0x00000002,\n\t0x4062C232, 0x4063B820, 0x00000002, 0x4062C233, 0x4063B820, 0x00000002,\n\t0x4062C234, 0x4063B820, 0x00000002, 0x4062C235, 0x4063B820, 0x00000002,\n\t0x4062C236, 0x4063B820, 0x00000002, 0x4062C237, 0x4063B820, 0x00000002,\n\t0x4062C238, 0x4063B820, 0x00000002, 0x4062C239, 0x4063B820, 0x00000002,\n\t0x4062C23A, 0x4063B820, 0x00000002, 0x4062C23B, 0x4063B820, 0x00000002,\n\t0x4062C23C, 0x4063B820, 0x00000002, 0x4062C23D, 0x4063B820, 0x00000002,\n\t0x4062C23E, 0x4063B820, 0x00000002, 0x4062C23F, 0x4063B820, 0x00000002,\n\t0x4062C240, 0x4063B820, 0x00000002, 0x4062C241, 0x4063B820, 0x00000002,\n\t0x4062C242, 0x4063B820, 0x00000002, 0x4062C243,\n\t// Block 499, offset 0x7cc0\n\t0x4063B820, 0x00000002, 0x4062C244, 0x4063B820, 0x00000002, 0x4062C245,\n\t0x4063B820, 0x00000002, 0x4062C246, 0x4063B820, 0x00000002, 0x4062C247,\n\t0x4063B820, 0x00000002, 0x4062C248, 0x4063B820, 0x00000002, 0x4062C249,\n\t0x4063B820, 0x00000002, 0x4062C24A, 0x4063B820, 0x00000002, 0x4062C24B,\n\t0x4063B820, 0x00000002, 0x4062C24C, 0x4063B820, 0x00000002, 0x4062C24D,\n\t0x4063B820, 0x00000002, 0x4062C24E, 0x4063B820, 0x00000002, 0x4062C24F,\n\t0x4063B820, 0x00000002, 0x4062C250, 0x4063B820, 0x00000002, 0x4062C251,\n\t0x4063B820, 0x00000002, 0x4062C252, 0x4063B820, 0x00000002, 0x4062C253,\n\t0x4063B820, 0x00000002, 0x4062C254, 0x4063B820, 0x00000002, 0x4062C255,\n\t0x4063B820, 0x00000002, 0x4062C256, 0x4063B820, 0x00000003, 0x4062C221,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062C222,\n\t// Block 500, offset 0x7d00\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062C223, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062C224, 0x4063B820, 0x40646420, 0x00000003, 0x4062C225,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062C221, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C222, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C223,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C224, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C225, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C226,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C227, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C228, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C229,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C22A, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C22B, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C22C,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C22D,\n\t// Block 501, offset 0x7d40\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C22E, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C22F, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C230,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C231, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C221, 0x4063B820, 0x40647220, 0x00000003, 0x4062C222,\n\t0x4063B820, 0x40647220, 0x00000003, 0x4062C223, 0x4063B820, 0x40647220,\n\t0x00000003, 0x4062C221, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C222,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C223, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C224, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C225,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C226, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C227, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C228,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C229,\n\t// Block 502, offset 0x7d80\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C22A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C22B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C22C,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C22D, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C22E, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C22F,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C230, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C231, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C232,\n\t0x4063B820, 0x40648C20, 0x00000002, 0x4062C221, 0x4063BA20, 0x00000002,\n\t0x4062C222, 0x4063BA20, 0x00000002, 0x4062C223, 0x4063BA20, 0x00000002,\n\t0x4062C224, 0x4063BA20, 0x00000002, 0x4062C225, 0x4063BA20, 0x00000002,\n\t0x4062C226, 0x4063BA20, 0x00000002, 0x4062C227, 0x4063BA20, 0x00000002,\n\t0x4062C228, 0x4063BA20, 0x00000002, 0x4062C229,\n\t// Block 503, offset 0x7dc0\n\t0x4063BA20, 0x00000002, 0x4062C22A, 0x4063BA20, 0x00000002, 0x4062C22B,\n\t0x4063BA20, 0x00000002, 0x4062C22C, 0x4063BA20, 0x00000002, 0x4062C22D,\n\t0x4063BA20, 0x00000002, 0x4062C22E, 0x4063BA20, 0x00000002, 0x4062C22F,\n\t0x4063BA20, 0x00000002, 0x4062C230, 0x4063BA20, 0x00000002, 0x4062C231,\n\t0x4063BA20, 0x00000003, 0x4062C221, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C222, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C223, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C224, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C225, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C226, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C227, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C228, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C229, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C22A, 0x4063BA20,\n\t// Block 504, offset 0x7e00\n\t0x40646A20, 0x00000003, 0x4062C22B, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C22C, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C22D, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C22E, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C22F, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C230, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C231, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C232, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C233, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C234, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C235, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C236, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C237, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C238, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C239, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C23A, 0x4063BA20,\n\t// Block 505, offset 0x7e40\n\t0x40646A20, 0x00000003, 0x4062C221, 0x4063BA20, 0x40647220, 0x00000003,\n\t0x4062C221, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062C222, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062C223, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062C224, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062C225, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062C226, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062C227, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062C228, 0x4063BA20,\n\t0x40648C20, 0x00000002, 0x4062C221, 0x4063BC20, 0x00000002, 0x4062C222,\n\t0x4063BC20, 0x00000002, 0x4062C223, 0x4063BC20, 0x00000002, 0x4062C224,\n\t0x4063BC20, 0x00000002, 0x4062C225, 0x4063BC20, 0x00000002, 0x4062C221,\n\t0x4063BE20, 0x00000002, 0x4062C222, 0x4063BE20, 0x00000002, 0x4062C223,\n\t0x4063BE20, 0x00000002, 0x4062C224, 0x4063BE20,\n\t// Block 506, offset 0x7e80\n\t0x00000002, 0x4062C225, 0x4063BE20, 0x00000002, 0x4062C226, 0x4063BE20,\n\t0x00000002, 0x4062C227, 0x4063BE20, 0x00000002, 0x4062C228, 0x4063BE20,\n\t0x00000002, 0x4062C229, 0x4063BE20, 0x00000002, 0x4062C22A, 0x4063BE20,\n\t0x00000002, 0x4062C22B, 0x4063BE20, 0x00000002, 0x4062C22C, 0x4063BE20,\n\t0x00000002, 0x4062C22D, 0x4063BE20, 0x00000002, 0x4062C22E, 0x4063BE20,\n\t0x00000002, 0x4062C221, 0x4063C020, 0x00000002, 0x4062C222, 0x4063C020,\n\t0x00000002, 0x4062C223, 0x4063C020, 0x00000002, 0x4062C224, 0x4063C020,\n\t0x00000002, 0x4062C225, 0x4063C020, 0x00000002, 0x4062C226, 0x4063C020,\n\t0x00000002, 0x4062C227, 0x4063C020, 0x00000002, 0x4062C228, 0x4063C020,\n\t0x00000002, 0x4062C229, 0x4063C020, 0x00000002, 0x4062C22A, 0x4063C020,\n\t0x00000002, 0x4062C22B, 0x4063C020, 0x00000002,\n\t// Block 507, offset 0x7ec0\n\t0x4062C22C, 0x4063C020, 0x00000002, 0x4062C22D, 0x4063C020, 0x00000002,\n\t0x4062C22E, 0x4063C020, 0x00000002, 0x4062C22F, 0x4063C020, 0x00000002,\n\t0x4062C230, 0x4063C020, 0x00000002, 0x4062C231, 0x4063C020, 0x00000002,\n\t0x4062C232, 0x4063C020, 0x00000002, 0x4062C233, 0x4063C020, 0x00000002,\n\t0x4062C234, 0x4063C020, 0x00000002, 0x4062C235, 0x4063C020, 0x00000002,\n\t0x4062C236, 0x4063C020, 0x00000002, 0x4062C237, 0x4063C020, 0x00000002,\n\t0x4062C238, 0x4063C020, 0x00000002, 0x4062C239, 0x4063C020, 0x00000002,\n\t0x4062C23A, 0x4063C020, 0x00000002, 0x4062C23B, 0x4063C020, 0x00000002,\n\t0x4062C23C, 0x4063C020, 0x00000002, 0x4062C23D, 0x4063C020, 0x00000002,\n\t0x4062C23E, 0x4063C020, 0x00000002, 0x4062C23F, 0x4063C020, 0x00000002,\n\t0x4062C240, 0x4063C020, 0x00000002, 0x4062C241,\n\t// Block 508, offset 0x7f00\n\t0x4063C020, 0x00000002, 0x4062C242, 0x4063C020, 0x00000002, 0x4062C243,\n\t0x4063C020, 0x00000002, 0x4062C244, 0x4063C020, 0x00000002, 0x4062C245,\n\t0x4063C020, 0x00000002, 0x4062C246, 0x4063C020, 0x00000002, 0x4062C247,\n\t0x4063C020, 0x00000002, 0x4062C248, 0x4063C020, 0x00000002, 0x4062C249,\n\t0x4063C020, 0x00000002, 0x4062C24A, 0x4063C020, 0x00000002, 0x4062C24B,\n\t0x4063C020, 0x00000002, 0x4062C24C, 0x4063C020, 0x00000003, 0x4062C221,\n\t0x4063C020, 0x40646420, 0x00000003, 0x4062C222, 0x4063C020, 0x40646420,\n\t0x00000003, 0x4062C223, 0x4063C020, 0x40646420, 0x00000003, 0x4062C224,\n\t0x4063C020, 0x40646420, 0x00000003, 0x4062C225, 0x4063C020, 0x40646420,\n\t0x00000003, 0x4062C226, 0x4063C020, 0x40646420, 0x00000003, 0x4062C227,\n\t0x4063C020, 0x40646420, 0x00000003, 0x4062C228,\n\t// Block 509, offset 0x7f40\n\t0x4063C020, 0x40646420, 0x00000003, 0x4062C221, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C222, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C223,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C224, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C225, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C226,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C227, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C228, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C229,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C22A, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C22B, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C22C,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C22D, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C22E, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C22F,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C230,\n\t// Block 510, offset 0x7f80\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C231, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C232, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C233,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C234, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C235, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C236,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C237, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C238, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C239,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C23A, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C23B, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C23C,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C23D, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C23E, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C23F,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C240,\n\t// Block 511, offset 0x7fc0\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C241, 0x4063C020, 0x40648C20,\n\t0x00000002, 0x4062C221, 0x4063C220, 0x00000002, 0x4062C222, 0x4063C220,\n\t0x00000002, 0x4062C223, 0x4063C220, 0x00000002, 0x4062C224, 0x4063C220,\n\t0x00000002, 0x4062C225, 0x4063C220, 0x00000002, 0x4062C226, 0x4063C220,\n\t0x00000002, 0x4062C227, 0x4063C220, 0x00000002, 0x4062C228, 0x4063C220,\n\t0x00000002, 0x4062C229, 0x4063C220, 0x00000002, 0x4062C22A, 0x4063C220,\n\t0x00000002, 0x4062C22B, 0x4063C220, 0x00000002, 0x4062C22C, 0x4063C220,\n\t0x00000002, 0x4062C22D, 0x4063C220, 0x00000002, 0x4062C22E, 0x4063C220,\n\t0x00000002, 0x4062C22F, 0x4063C220, 0x00000002, 0x4062C230, 0x4063C220,\n\t0x00000002, 0x4062C231, 0x4063C220, 0x00000002, 0x4062C232, 0x4063C220,\n\t0x00000002, 0x4062C233, 0x4063C220, 0x00000002,\n\t// Block 512, offset 0x8000\n\t0x4062C234, 0x4063C220, 0x00000002, 0x4062C235, 0x4063C220, 0x00000002,\n\t0x4062C236, 0x4063C220, 0x00000002, 0x4062C237, 0x4063C220, 0x00000002,\n\t0x4062C238, 0x4063C220, 0x00000002, 0x4062C239, 0x4063C220, 0x00000002,\n\t0x4062C23A, 0x4063C220, 0x00000002, 0x4062C23B, 0x4063C220, 0x00000002,\n\t0x4062C23C, 0x4063C220, 0x00000002, 0x4062C23D, 0x4063C220, 0x00000002,\n\t0x4062C23E, 0x4063C220, 0x00000002, 0x4062C23F, 0x4063C220, 0x00000002,\n\t0x4062C240, 0x4063C220, 0x00000002, 0x4062C241, 0x4063C220, 0x00000002,\n\t0x4062C242, 0x4063C220, 0x00000002, 0x4062C243, 0x4063C220, 0x00000002,\n\t0x4062C244, 0x4063C220, 0x00000002, 0x4062C245, 0x4063C220, 0x00000002,\n\t0x4062C246, 0x4063C220, 0x00000002, 0x4062C247, 0x4063C220, 0x00000002,\n\t0x4062C248, 0x4063C220, 0x00000002, 0x4062C249,\n\t// Block 513, offset 0x8040\n\t0x4063C220, 0x00000002, 0x4062C24A, 0x4063C220, 0x00000002, 0x4062C24B,\n\t0x4063C220, 0x00000002, 0x4062C24C, 0x4063C220, 0x00000002, 0x4062C24D,\n\t0x4063C220, 0x00000002, 0x4062C24E, 0x4063C220, 0x00000002, 0x4062C24F,\n\t0x4063C220, 0x00000002, 0x4062C250, 0x4063C220, 0x00000002, 0x4062C251,\n\t0x4063C220, 0x00000002, 0x4062C252, 0x4063C220, 0x00000002, 0x4062C253,\n\t0x4063C220, 0x00000002, 0x4062C254, 0x4063C220, 0x00000003, 0x4062C221,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C222, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C223, 0x4063C220, 0x40646420, 0x00000003, 0x4062C224,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C225, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C226, 0x4063C220, 0x40646420, 0x00000003, 0x4062C227,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C228,\n\t// Block 514, offset 0x8080\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C229, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C22A, 0x4063C220, 0x40646420, 0x00000003, 0x4062C221,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C222, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C223, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C224,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C225, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C226, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C227,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C228, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C229, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C22A,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C22C, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C22D,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C22E,\n\t// Block 515, offset 0x80c0\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C22F, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C230, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C231,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C232, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C221, 0x4063C220, 0x40647220, 0x00000003, 0x4062C222,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062C223, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062C221, 0x4063C220, 0x40648C20, 0x00000003, 0x4062C222,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062C221, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C222, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C223,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C224, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C225, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C226,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C227,\n\t// Block 516, offset 0x8100\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C228, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C229, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C22A,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C22C, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C22D,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C22E, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C22F, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C230,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C231, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C232, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C233,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C234, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C235, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C236,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C237,\n\t// Block 517, offset 0x8140\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C238, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C239, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C23A,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C23B, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C23C, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C23D,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C23E, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C23F, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C240,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C241, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C242, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C243,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C244, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C245, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C246,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C247,\n\t// Block 518, offset 0x8180\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C248, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C221, 0x4063C420, 0x40647220, 0x00000003, 0x4062C222,\n\t0x4063C420, 0x40647220, 0x00000003, 0x4062C223, 0x4063C420, 0x40647220,\n\t0x00000003, 0x4062C224, 0x4063C420, 0x40647220, 0x00000003, 0x4062C225,\n\t0x4063C420, 0x40647220, 0x00000002, 0x4062C221, 0x4063C820, 0x00000002,\n\t0x4062C222, 0x4063C820, 0x00000002, 0x4062C223, 0x4063C820, 0x00000002,\n\t0x4062C224, 0x4063C820, 0x00000002, 0x4062C225, 0x4063C820, 0x00000002,\n\t0x4062C226, 0x4063C820, 0x00000002, 0x4062C227, 0x4063C820, 0x00000002,\n\t0x4062C228, 0x4063C820, 0x00000002, 0x4062C229, 0x4063C820, 0x00000002,\n\t0x4062C22A, 0x4063C820, 0x00000002, 0x4062C22B, 0x4063C820, 0x00000002,\n\t0x4062C22C, 0x4063C820, 0x00000002, 0x4062C22D,\n\t// Block 519, offset 0x81c0\n\t0x4063C820, 0x00000002, 0x4062C22E, 0x4063C820, 0x00000002, 0x4062C22F,\n\t0x4063C820, 0x00000002, 0x4062C230, 0x4063C820, 0x00000002, 0x4062C231,\n\t0x4063C820, 0x00000002, 0x4062C232, 0x4063C820, 0x00000002, 0x4062C233,\n\t0x4063C820, 0x00000002, 0x4062C234, 0x4063C820, 0x00000002, 0x4062C235,\n\t0x4063C820, 0x00000002, 0x4062C236, 0x4063C820, 0x00000002, 0x4062C237,\n\t0x4063C820, 0x00000002, 0x4062C238, 0x4063C820, 0x00000002, 0x4062C239,\n\t0x4063C820, 0x00000002, 0x4062C23A, 0x4063C820, 0x00000002, 0x4062C23B,\n\t0x4063C820, 0x00000002, 0x4062C23C, 0x4063C820, 0x00000002, 0x4062C23D,\n\t0x4063C820, 0x00000002, 0x4062C23E, 0x4063C820, 0x00000002, 0x4062C23F,\n\t0x4063C820, 0x00000002, 0x4062C240, 0x4063C820, 0x00000002, 0x4062C241,\n\t0x4063C820, 0x00000002, 0x4062C242, 0x4063C820,\n\t// Block 520, offset 0x8200\n\t0x00000002, 0x4062C243, 0x4063C820, 0x00000002, 0x4062C244, 0x4063C820,\n\t0x00000002, 0x4062C245, 0x4063C820, 0x00000002, 0x4062C246, 0x4063C820,\n\t0x00000002, 0x4062C247, 0x4063C820, 0x00000002, 0x4062C221, 0x4063CA20,\n\t0x00000002, 0x4062C222, 0x4063CA20, 0x00000002, 0x4062C223, 0x4063CA20,\n\t0x00000002, 0x4062C224, 0x4063CA20, 0x00000002, 0x4062C225, 0x4063CA20,\n\t0x00000002, 0x4062C226, 0x4063CA20, 0x00000002, 0x4062C227, 0x4063CA20,\n\t0x00000002, 0x4062C228, 0x4063CA20, 0x00000002, 0x4062C229, 0x4063CA20,\n\t0x00000002, 0x4062C22A, 0x4063CA20, 0x00000002, 0x4062C22B, 0x4063CA20,\n\t0x00000002, 0x4062C22C, 0x4063CA20, 0x00000002, 0x4062C22D, 0x4063CA20,\n\t0x00000002, 0x4062C22E, 0x4063CA20, 0x00000002, 0x4062C22F, 0x4063CA20,\n\t0x00000002, 0x4062C230, 0x4063CA20, 0x00000002,\n\t// Block 521, offset 0x8240\n\t0x4062C231, 0x4063CA20, 0x00000002, 0x4062C232, 0x4063CA20, 0x00000002,\n\t0x4062C233, 0x4063CA20, 0x00000002, 0x4062C234, 0x4063CA20, 0x00000002,\n\t0x4062C235, 0x4063CA20, 0x00000002, 0x4062C236, 0x4063CA20, 0x00000002,\n\t0x4062C237, 0x4063CA20, 0x00000002, 0x4062C238, 0x4063CA20, 0x00000002,\n\t0x4062C239, 0x4063CA20, 0x00000002, 0x4062C23A, 0x4063CA20, 0x00000002,\n\t0x4062C23B, 0x4063CA20, 0x00000002, 0x4062C23C, 0x4063CA20, 0x00000002,\n\t0x4062C23D, 0x4063CA20, 0x00000002, 0x4062C23E, 0x4063CA20, 0x00000002,\n\t0x4062C23F, 0x4063CA20, 0x00000002, 0x4062C240, 0x4063CA20, 0x00000002,\n\t0x4062C241, 0x4063CA20, 0x00000002, 0x4062C242, 0x4063CA20, 0x00000002,\n\t0x4062C243, 0x4063CA20, 0x00000002, 0x4062C244, 0x4063CA20, 0x00000002,\n\t0x4062C245, 0x4063CA20, 0x00000002, 0x4062C246,\n\t// Block 522, offset 0x8280\n\t0x4063CA20, 0x00000002, 0x4062C247, 0x4063CA20, 0x00000002, 0x4062C248,\n\t0x4063CA20, 0x00000002, 0x4062C249, 0x4063CA20, 0x00000002, 0x4062C24A,\n\t0x4063CA20, 0x00000002, 0x4062C24B, 0x4063CA20, 0x00000002, 0x4062C24C,\n\t0x4063CA20, 0x00000002, 0x4062C24D, 0x4063CA20, 0x00000002, 0x4062C24E,\n\t0x4063CA20, 0x00000002, 0x4062C24F, 0x4063CA20, 0x00000002, 0x4062C250,\n\t0x4063CA20, 0x00000002, 0x4062C251, 0x4063CA20, 0x00000002, 0x4062C252,\n\t0x4063CA20, 0x00000002, 0x4062C253, 0x4063CA20, 0x00000002, 0x4062C254,\n\t0x4063CA20, 0x00000002, 0x4062C255, 0x4063CA20, 0x00000002, 0x4062C256,\n\t0x4063CA20, 0x00000002, 0x4062C257, 0x4063CA20, 0x00000002, 0x4062C258,\n\t0x4063CA20, 0x00000002, 0x4062C259, 0x4063CA20, 0x00000002, 0x4062C25A,\n\t0x4063CA20, 0x00000002, 0x4062C25B, 0x4063CA20,\n\t// Block 523, offset 0x82c0\n\t0x00000002, 0x4062C25C, 0x4063CA20, 0x00000002, 0x4062C25D, 0x4063CA20,\n\t0x00000002, 0x4062C25E, 0x4063CA20, 0x00000002, 0x4062C25F, 0x4063CA20,\n\t0x00000002, 0x4062C260, 0x4063CA20, 0x00000002, 0x4062C261, 0x4063CA20,\n\t0x00000002, 0x4062C262, 0x4063CA20, 0x00000002, 0x4062C263, 0x4063CA20,\n\t0x00000002, 0x4062C264, 0x4063CA20, 0x00000002, 0x4062C265, 0x4063CA20,\n\t0x00000002, 0x4062C266, 0x4063CA20, 0x00000002, 0x4062C267, 0x4063CA20,\n\t0x00000002, 0x4062C268, 0x4063CA20, 0x00000002, 0x4062C269, 0x4063CA20,\n\t0x00000002, 0x4062C26A, 0x4063CA20, 0x00000002, 0x4062C26B, 0x4063CA20,\n\t0x00000002, 0x4062C26C, 0x4063CA20, 0x00000002, 0x4062C26D, 0x4063CA20,\n\t0x00000003, 0x4062C221, 0x4063CA20, 0x40646420, 0x00000003, 0x4062C222,\n\t0x4063CA20, 0x40646420, 0x00000003, 0x4062C223,\n\t// Block 524, offset 0x8300\n\t0x4063CA20, 0x40646420, 0x00000003, 0x4062C224, 0x4063CA20, 0x40646420,\n\t0x00000003, 0x4062C225, 0x4063CA20, 0x40646420, 0x00000003, 0x4062C221,\n\t0x4063CA20, 0x40646A20, 0x00000003, 0x4062C222, 0x4063CA20, 0x40646A20,\n\t0x00000003, 0x4062C223, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C224,\n\t0x4063CA20, 0x40646A20, 0x00000003, 0x4062C225, 0x4063CA20, 0x40646A20,\n\t0x00000003, 0x4062C226, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C227,\n\t0x4063CA20, 0x40646A20, 0x00000003, 0x4062C228, 0x4063CA20, 0x40646A20,\n\t0x00000003, 0x4062C229, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C22A,\n\t0x4063CA20, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063CA20, 0x40646A20,\n\t0x00000003, 0x4062C221, 0x4063CA20, 0x40647220, 0x00000003, 0x4062C222,\n\t0x4063CA20, 0x40647220, 0x00000003, 0x4062C223,\n\t// Block 525, offset 0x8340\n\t0x4063CA20, 0x40647220, 0x00000003, 0x4062C221, 0x4063CA20, 0x40648C20,\n\t0x00000003, 0x4062C222, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062C223,\n\t0x4063CA20, 0x40648C20, 0x00000003, 0x4062C224, 0x4063CA20, 0x40648C20,\n\t0x00000003, 0x4062C225, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062C221,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C222, 0x4063CC20, 0x40646A20,\n\t0x00000003, 0x4062C223, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C224,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C225, 0x4063CC20, 0x40646A20,\n\t0x00000003, 0x4062C226, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C227,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C228, 0x4063CC20, 0x40646A20,\n\t0x00000003, 0x4062C229, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22A,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22B,\n\t// Block 526, offset 0x8380\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22C, 0x4063CC20, 0x40646A20,\n\t0x00000003, 0x4062C22D, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22E,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22F, 0x4063CC20, 0x40646A20,\n\t0x00000003, 0x4062C230, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C231,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C232, 0x4063CC20, 0x40646A20,\n\t0x00000003, 0x4062C233, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C234,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C221, 0x4063CC20, 0x40647220,\n\t0x00000003, 0x4062C222, 0x4063CC20, 0x40647220, 0x00000003, 0x4062C221,\n\t0x4063CC20, 0x40648220, 0x00000003, 0x4062C222, 0x4063CC20, 0x40648220,\n\t0x00000003, 0x4062C223, 0x4063CC20, 0x40648220, 0x00000003, 0x4062C224,\n\t0x4063CC20, 0x40648220, 0x00000003, 0x4062C225,\n\t// Block 527, offset 0x83c0\n\t0x4063CC20, 0x40648220, 0x00000003, 0x4062C226, 0x4063CC20, 0x40648220,\n\t0x00000003, 0x4062C227, 0x4063CC20, 0x40648220, 0x00000003, 0x4062C228,\n\t0x4063CC20, 0x40648220, 0x00000003, 0x4062C229, 0x4063CC20, 0x40648220,\n\t0x00000003, 0x4062C22A, 0x4063CC20, 0x40648220, 0x00000003, 0x4062C22B,\n\t0x4063CC20, 0x40648220, 0x00000003, 0x4062C221, 0x4063CC20, 0x40648420,\n\t0x00000003, 0x4062C222, 0x4063CC20, 0x40648420, 0x00000003, 0x4062C223,\n\t0x4063CC20, 0x40648420, 0x00000003, 0x4062C224, 0x4063CC20, 0x40648420,\n\t0x00000003, 0x4062C225, 0x4063CC20, 0x40648420, 0x00000003, 0x4062C226,\n\t0x4063CC20, 0x40648420, 0x00000003, 0x4062C221, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062C222, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C223,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062C224,\n\t// Block 528, offset 0x8400\n\t0x4063CC20, 0x40648C20, 0x00000002, 0x4062C221, 0x4063CE20, 0x00000002,\n\t0x4062C222, 0x4063CE20, 0x00000002, 0x4062C223, 0x4063CE20, 0x00000002,\n\t0x4062C224, 0x4063CE20, 0x00000002, 0x4062C225, 0x4063CE20, 0x00000002,\n\t0x4062C226, 0x4063CE20, 0x00000002, 0x4062C227, 0x4063CE20, 0x00000002,\n\t0x4062C228, 0x4063CE20, 0x00000002, 0x4062C229, 0x4063CE20, 0x00000002,\n\t0x4062C22A, 0x4063CE20, 0x00000002, 0x4062C22B, 0x4063CE20, 0x00000002,\n\t0x4062C22C, 0x4063CE20, 0x00000002, 0x4062C22D, 0x4063CE20, 0x00000002,\n\t0x4062C22E, 0x4063CE20, 0x00000002, 0x4062C22F, 0x4063CE20, 0x00000002,\n\t0x4062C230, 0x4063CE20, 0x00000002, 0x4062C231, 0x4063CE20, 0x00000002,\n\t0x4062C232, 0x4063CE20, 0x00000002, 0x4062C233, 0x4063CE20, 0x00000002,\n\t0x4062C234, 0x4063CE20, 0x00000002, 0x4062C235,\n\t// Block 529, offset 0x8440\n\t0x4063CE20, 0x00000002, 0x4062C236, 0x4063CE20, 0x00000002, 0x4062C237,\n\t0x4063CE20, 0x00000002, 0x4062C238, 0x4063CE20, 0x00000002, 0x4062C239,\n\t0x4063CE20, 0x00000002, 0x4062C23A, 0x4063CE20, 0x00000002, 0x4062C23B,\n\t0x4063CE20, 0x00000002, 0x4062C23C, 0x4063CE20, 0x00000002, 0x4062C23D,\n\t0x4063CE20, 0x00000002, 0x4062C221, 0x4063D020, 0x00000002, 0x4062C222,\n\t0x4063D020, 0x00000002, 0x4062C223, 0x4063D020, 0x00000002, 0x4062C224,\n\t0x4063D020, 0x00000002, 0x4062C225, 0x4063D020, 0x00000002, 0x4062C226,\n\t0x4063D020, 0x00000002, 0x4062C227, 0x4063D020, 0x00000002, 0x4062C228,\n\t0x4063D020, 0x00000002, 0x4062C229, 0x4063D020, 0x00000002, 0x4062C22A,\n\t0x4063D020, 0x00000002, 0x4062C22B, 0x4063D020, 0x00000002, 0x4062C22C,\n\t0x4063D020, 0x00000002, 0x4062C22D, 0x4063D020,\n\t// Block 530, offset 0x8480\n\t0x00000002, 0x4062C22E, 0x4063D020, 0x00000002, 0x4062C22F, 0x4063D020,\n\t0x00000002, 0x4062C230, 0x4063D020, 0x00000002, 0x4062C231, 0x4063D020,\n\t0x00000002, 0x4062C232, 0x4063D020, 0x00000002, 0x4062C233, 0x4063D020,\n\t0x00000002, 0x4062C234, 0x4063D020, 0x00000002, 0x4062C235, 0x4063D020,\n\t0x00000002, 0x4062C236, 0x4063D020, 0x00000002, 0x4062C237, 0x4063D020,\n\t0x00000002, 0x4062C238, 0x4063D020, 0x00000002, 0x4062C239, 0x4063D020,\n\t0x00000002, 0x4062C23A, 0x4063D020, 0x00000002, 0x4062C23B, 0x4063D020,\n\t0x00000002, 0x4062C23C, 0x4063D020, 0x00000002, 0x4062C23D, 0x4063D020,\n\t0x00000002, 0x4062C23E, 0x4063D020, 0x00000002, 0x4062C23F, 0x4063D020,\n\t0x00000002, 0x4062C240, 0x4063D020, 0x00000002, 0x4062C241, 0x4063D020,\n\t0x00000002, 0x4062C242, 0x4063D020, 0x00000002,\n\t// Block 531, offset 0x84c0\n\t0x4062C243, 0x4063D020, 0x00000003, 0x4062C221, 0x4063D020, 0x40646420,\n\t0x00000003, 0x4062C222, 0x4063D020, 0x40646420, 0x00000003, 0x4062C223,\n\t0x4063D020, 0x40646420, 0x00000003, 0x4062C224, 0x4063D020, 0x40646420,\n\t0x00000003, 0x4062C225, 0x4063D020, 0x40646420, 0x00000003, 0x4062C226,\n\t0x4063D020, 0x40646420, 0x00000003, 0x4062C227, 0x4063D020, 0x40646420,\n\t0x00000003, 0x4062C228, 0x4063D020, 0x40646420, 0x00000003, 0x4062C229,\n\t0x4063D020, 0x40646420, 0x00000003, 0x4062C221, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C222, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C223,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C224, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C225, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C226,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C227,\n\t// Block 532, offset 0x8500\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C228, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C229, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C22A,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C22C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C22D,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C22E, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C22F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C230,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C231, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C232, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C233,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C234, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C235, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C236,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C237,\n\t// Block 533, offset 0x8540\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C238, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C239, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C23A,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C23B, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C23C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C221,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062C222, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062C223, 0x4063D020, 0x40647220, 0x00000003, 0x4062C224,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062C225, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062C226, 0x4063D020, 0x40647220, 0x00000003, 0x4062C227,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062C228, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062C229, 0x4063D020, 0x40647220, 0x00000003, 0x4062C22A,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062C22B,\n\t// Block 534, offset 0x8580\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062C221, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C222, 0x4063D020, 0x40648220, 0x00000003, 0x4062C223,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C224, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C225, 0x4063D020, 0x40648220, 0x00000003, 0x4062C226,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C227, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C228, 0x4063D020, 0x40648220, 0x00000003, 0x4062C229,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C22A, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C22B, 0x4063D020, 0x40648220, 0x00000003, 0x4062C22C,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C221, 0x4063D020, 0x40648420,\n\t0x00000003, 0x4062C222, 0x4063D020, 0x40648420, 0x00000003, 0x4062C223,\n\t0x4063D020, 0x40648420, 0x00000003, 0x4062C221,\n\t// Block 535, offset 0x85c0\n\t0x4063D020, 0x40648C20, 0x00000003, 0x4062C222, 0x4063D020, 0x40648C20,\n\t0x00000003, 0x4062C223, 0x4063D020, 0x40648C20, 0x00000003, 0x4062C224,\n\t0x4063D020, 0x40648C20, 0x00000003, 0x4062C225, 0x4063D020, 0x40648C20,\n\t0x00000002, 0x4062C421, 0x4063A820, 0x00000002, 0x4062C422, 0x4063A820,\n\t0x00000002, 0x4062C423, 0x4063A820, 0x00000002, 0x4062C424, 0x4063A820,\n\t0x00000002, 0x4062C425, 0x4063A820, 0x00000002, 0x4062C426, 0x4063A820,\n\t0x00000002, 0x4062C427, 0x4063A820, 0x00000002, 0x4062C428, 0x4063A820,\n\t0x00000002, 0x4062C429, 0x4063A820, 0x00000002, 0x4062C42A, 0x4063A820,\n\t0x00000002, 0x4062C42B, 0x4063A820, 0x00000002, 0x4062C42C, 0x4063A820,\n\t0x00000002, 0x4062C42D, 0x4063A820, 0x00000002, 0x4062C42E, 0x4063A820,\n\t0x00000002, 0x4062C42F, 0x4063A820, 0x00000002,\n\t// Block 536, offset 0x8600\n\t0x4062C430, 0x4063A820, 0x00000002, 0x4062C431, 0x4063A820, 0x00000002,\n\t0x4062C432, 0x4063A820, 0x00000002, 0x4062C433, 0x4063A820, 0x00000002,\n\t0x4062C434, 0x4063A820, 0x00000002, 0x4062C435, 0x4063A820, 0x00000002,\n\t0x4062C436, 0x4063A820, 0x00000002, 0x4062C437, 0x4063A820, 0x00000002,\n\t0x4062C438, 0x4063A820, 0x00000002, 0x4062C439, 0x4063A820, 0x00000002,\n\t0x4062C43A, 0x4063A820, 0x00000002, 0x4062C43B, 0x4063A820, 0x00000002,\n\t0x4062C43C, 0x4063A820, 0x00000002, 0x4062C43D, 0x4063A820, 0x00000002,\n\t0x4062C43E, 0x4063A820, 0x00000002, 0x4062C43F, 0x4063A820, 0x00000002,\n\t0x4062C440, 0x4063A820, 0x00000002, 0x4062C441, 0x4063A820, 0x00000002,\n\t0x4062C442, 0x4063A820, 0x00000002, 0x4062C443, 0x4063A820, 0x00000002,\n\t0x4062C444, 0x4063A820, 0x00000002, 0x4062C445,\n\t// Block 537, offset 0x8640\n\t0x4063A820, 0x00000002, 0x4062C446, 0x4063A820, 0x00000002, 0x4062C447,\n\t0x4063A820, 0x00000002, 0x4062C448, 0x4063A820, 0x00000002, 0x4062C449,\n\t0x4063A820, 0x00000002, 0x4062C44A, 0x4063A820, 0x00000002, 0x4062C44B,\n\t0x4063A820, 0x00000002, 0x4062C44C, 0x4063A820, 0x00000002, 0x4062C44D,\n\t0x4063A820, 0x00000002, 0x4062C44E, 0x4063A820, 0x00000002, 0x4062C44F,\n\t0x4063A820, 0x00000002, 0x4062C450, 0x4063A820, 0x00000002, 0x4062C451,\n\t0x4063A820, 0x00000002, 0x4062C452, 0x4063A820, 0x00000002, 0x4062C453,\n\t0x4063A820, 0x00000002, 0x4062C454, 0x4063A820, 0x00000003, 0x4062C421,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C422, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062C423, 0x4063A820, 0x40646420, 0x00000003, 0x4062C424,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C425,\n\t// Block 538, offset 0x8680\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C426, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062C427, 0x4063A820, 0x40646420, 0x00000003, 0x4062C428,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C429, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062C42A, 0x4063A820, 0x40646420, 0x00000003, 0x4062C42B,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C42C, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062C42D, 0x4063A820, 0x40646420, 0x00000003, 0x4062C42E,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C42F, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062C430, 0x4063A820, 0x40646420, 0x00000003, 0x4062C431,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C432, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062C433, 0x4063A820, 0x40646420, 0x00000003, 0x4062C434,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C435,\n\t// Block 539, offset 0x86c0\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C421, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062C422, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C423,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062C424, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062C425, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C426,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062C427, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062C428, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C421,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062C422, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062C423, 0x4063A820, 0x40648220, 0x00000003, 0x4062C424,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062C425, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062C426, 0x4063A820, 0x40648220, 0x00000003, 0x4062C427,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062C428,\n\t// Block 540, offset 0x8700\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062C429, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062C421, 0x4063A820, 0x40648420, 0x00000003, 0x4062C422,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062C423, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062C424, 0x4063A820, 0x40648420, 0x00000003, 0x4062C425,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062C426, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062C421, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C422,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C423, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C424, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C425,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C426, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C427, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C428,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C429,\n\t// Block 541, offset 0x8740\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C42A, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C42B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C42C,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C42D, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C42E, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C42F,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C430, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C431, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C432,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C433, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C434, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C435,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C436, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C437, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C438,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C439,\n\t// Block 542, offset 0x8780\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C43A, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C43B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C43C,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C43D, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C43E, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C43F,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C440, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C441, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C442,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C443, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C444, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C445,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C446, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C447, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C448,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C449,\n\t// Block 543, offset 0x87c0\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C44A, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C44B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C44C,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C44D, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C44E, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C44F,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C450, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C451, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C452,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C453, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C454, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C455,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C456, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C457, 0x4063A820, 0x40648C20, 0x00000002, 0x4062C421,\n\t0x4063AA20, 0x00000002, 0x4062C422, 0x4063AA20,\n\t// Block 544, offset 0x8800\n\t0x00000002, 0x4062C423, 0x4063AA20, 0x00000002, 0x4062C424, 0x4063AA20,\n\t0x00000002, 0x4062C425, 0x4063AA20, 0x00000002, 0x4062C426, 0x4063AA20,\n\t0x00000002, 0x4062C427, 0x4063AA20, 0x00000002, 0x4062C428, 0x4063AA20,\n\t0x00000002, 0x4062C429, 0x4063AA20, 0x00000002, 0x4062C42A, 0x4063AA20,\n\t0x00000002, 0x4062C42B, 0x4063AA20, 0x00000002, 0x4062C42C, 0x4063AA20,\n\t0x00000002, 0x4062C42D, 0x4063AA20, 0x00000002, 0x4062C42E, 0x4063AA20,\n\t0x00000002, 0x4062C42F, 0x4063AA20, 0x00000002, 0x4062C430, 0x4063AA20,\n\t0x00000002, 0x4062C431, 0x4063AA20, 0x00000002, 0x4062C432, 0x4063AA20,\n\t0x00000002, 0x4062C433, 0x4063AA20, 0x00000002, 0x4062C434, 0x4063AA20,\n\t0x00000002, 0x4062C435, 0x4063AA20, 0x00000002, 0x4062C436, 0x4063AA20,\n\t0x00000002, 0x4062C437, 0x4063AA20, 0x00000003,\n\t// Block 545, offset 0x8840\n\t0x4062C421, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C422, 0x4063AA20,\n\t0x40648C20, 0x00000003, 0x4062C423, 0x4063AA20, 0x40648C20, 0x00000003,\n\t0x4062C424, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C425, 0x4063AA20,\n\t0x40648C20, 0x00000003, 0x4062C426, 0x4063AA20, 0x40648C20, 0x00000003,\n\t0x4062C427, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C428, 0x4063AA20,\n\t0x40648C20, 0x00000002, 0x4062C421, 0x4063B020, 0x00000002, 0x4062C422,\n\t0x4063B020, 0x00000002, 0x4062C423, 0x4063B020, 0x00000002, 0x4062C424,\n\t0x4063B020, 0x00000002, 0x4062C425, 0x4063B020, 0x00000002, 0x4062C426,\n\t0x4063B020, 0x00000002, 0x4062C427, 0x4063B020, 0x00000002, 0x4062C428,\n\t0x4063B020, 0x00000002, 0x4062C429, 0x4063B020, 0x00000002, 0x4062C42A,\n\t0x4063B020, 0x00000002, 0x4062C42B, 0x4063B020,\n\t// Block 546, offset 0x8880\n\t0x00000002, 0x4062C42C, 0x4063B020, 0x00000002, 0x4062C42D, 0x4063B020,\n\t0x00000002, 0x4062C42E, 0x4063B020, 0x00000002, 0x4062C42F, 0x4063B020,\n\t0x00000002, 0x4062C430, 0x4063B020, 0x00000002, 0x4062C431, 0x4063B020,\n\t0x00000002, 0x4062C432, 0x4063B020, 0x00000002, 0x4062C433, 0x4063B020,\n\t0x00000002, 0x4062C434, 0x4063B020, 0x00000002, 0x4062C435, 0x4063B020,\n\t0x00000002, 0x4062C436, 0x4063B020, 0x00000002, 0x4062C437, 0x4063B020,\n\t0x00000002, 0x4062C438, 0x4063B020, 0x00000002, 0x4062C439, 0x4063B020,\n\t0x00000002, 0x4062C43A, 0x4063B020, 0x00000002, 0x4062C43B, 0x4063B020,\n\t0x00000002, 0x4062C43C, 0x4063B020, 0x00000002, 0x4062C43D, 0x4063B020,\n\t0x00000002, 0x4062C43E, 0x4063B020, 0x00000002, 0x4062C43F, 0x4063B020,\n\t0x00000002, 0x4062C440, 0x4063B020, 0x00000002,\n\t// Block 547, offset 0x88c0\n\t0x4062C441, 0x4063B020, 0x00000002, 0x4062C442, 0x4063B020, 0x00000002,\n\t0x4062C443, 0x4063B020, 0x00000002, 0x4062C444, 0x4063B020, 0x00000002,\n\t0x4062C445, 0x4063B020, 0x00000002, 0x4062C446, 0x4063B020, 0x00000002,\n\t0x4062C447, 0x4063B020, 0x00000002, 0x4062C448, 0x4063B020, 0x00000002,\n\t0x4062C449, 0x4063B020, 0x00000002, 0x4062C44A, 0x4063B020, 0x00000002,\n\t0x4062C44B, 0x4063B020, 0x00000002, 0x4062C44C, 0x4063B020, 0x00000002,\n\t0x4062C44D, 0x4063B020, 0x00000002, 0x4062C44E, 0x4063B020, 0x00000003,\n\t0x4062C421, 0x4063B020, 0x40646420, 0x00000003, 0x4062C422, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C423, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C424, 0x4063B020, 0x40646420, 0x00000003, 0x4062C425, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C426, 0x4063B020,\n\t// Block 548, offset 0x8900\n\t0x40646420, 0x00000003, 0x4062C427, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C428, 0x4063B020, 0x40646420, 0x00000003, 0x4062C429, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C42A, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C42B, 0x4063B020, 0x40646420, 0x00000003, 0x4062C42C, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C42D, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C42E, 0x4063B020, 0x40646420, 0x00000003, 0x4062C42F, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C430, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C431, 0x4063B020, 0x40646420, 0x00000003, 0x4062C432, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C433, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C434, 0x4063B020, 0x40646420, 0x00000003, 0x4062C435, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C436, 0x4063B020,\n\t// Block 549, offset 0x8940\n\t0x40646420, 0x00000003, 0x4062C437, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C438, 0x4063B020, 0x40646420, 0x00000003, 0x4062C439, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C43A, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C43B, 0x4063B020, 0x40646420, 0x00000003, 0x4062C43C, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C43D, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C43E, 0x4063B020, 0x40646420, 0x00000003, 0x4062C43F, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C421, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C422, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C423, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C424, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C425, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C426, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C427, 0x4063B020,\n\t// Block 550, offset 0x8980\n\t0x40646A20, 0x00000003, 0x4062C428, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C429, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C42A, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C42B, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C42C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C42D, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C42E, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C42F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C430, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C431, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C432, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C433, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C434, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C435, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C436, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C437, 0x4063B020,\n\t// Block 551, offset 0x89c0\n\t0x40646A20, 0x00000003, 0x4062C438, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C439, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C43A, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C43B, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C43C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C43D, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C43E, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C43F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C440, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C441, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C442, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C443, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C444, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C445, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C446, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C447, 0x4063B020,\n\t// Block 552, offset 0x8a00\n\t0x40646A20, 0x00000003, 0x4062C448, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C449, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C44A, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C44B, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C44C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C44D, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C44E, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C44F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C450, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C451, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C452, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C453, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C454, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C455, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C456, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C457, 0x4063B020,\n\t// Block 553, offset 0x8a40\n\t0x40646A20, 0x00000003, 0x4062C458, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C459, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C45A, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C45B, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C45C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C45D, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C45E, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C45F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C460, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C461, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C462, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C463, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C464, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C465, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C466, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C467, 0x4063B020,\n\t// Block 554, offset 0x8a80\n\t0x40646A20, 0x00000003, 0x4062C468, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C469, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C46A, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C46B, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C46C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C46D, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C46E, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C46F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C470, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C471, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C421, 0x4063B020, 0x40647220, 0x00000003, 0x4062C422, 0x4063B020,\n\t0x40647220, 0x00000003, 0x4062C423, 0x4063B020, 0x40647220, 0x00000003,\n\t0x4062C424, 0x4063B020, 0x40647220, 0x00000003, 0x4062C425, 0x4063B020,\n\t0x40647220, 0x00000003, 0x4062C426, 0x4063B020,\n\t// Block 555, offset 0x8ac0\n\t0x40647220, 0x00000003, 0x4062C427, 0x4063B020, 0x40647220, 0x00000003,\n\t0x4062C428, 0x4063B020, 0x40647220, 0x00000003, 0x4062C429, 0x4063B020,\n\t0x40647220, 0x00000003, 0x4062C42A, 0x4063B020, 0x40647220, 0x00000003,\n\t0x4062C42B, 0x4063B020, 0x40647220, 0x00000003, 0x4062C421, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C422, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C423, 0x4063B020, 0x40648220, 0x00000003, 0x4062C424, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C425, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C426, 0x4063B020, 0x40648220, 0x00000003, 0x4062C427, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C428, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C429, 0x4063B020, 0x40648220, 0x00000003, 0x4062C42A, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C42B, 0x4063B020,\n\t// Block 556, offset 0x8b00\n\t0x40648220, 0x00000003, 0x4062C42C, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C42D, 0x4063B020, 0x40648220, 0x00000003, 0x4062C42E, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C42F, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C430, 0x4063B020, 0x40648220, 0x00000003, 0x4062C431, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C432, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C433, 0x4063B020, 0x40648220, 0x00000003, 0x4062C434, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C421, 0x4063B020, 0x40648420, 0x00000003,\n\t0x4062C422, 0x4063B020, 0x40648420, 0x00000003, 0x4062C423, 0x4063B020,\n\t0x40648420, 0x00000003, 0x4062C424, 0x4063B020, 0x40648420, 0x00000003,\n\t0x4062C425, 0x4063B020, 0x40648420, 0x00000003, 0x4062C426, 0x4063B020,\n\t0x40648420, 0x00000003, 0x4062C427, 0x4063B020,\n\t// Block 557, offset 0x8b40\n\t0x40648420, 0x00000003, 0x4062C428, 0x4063B020, 0x40648420, 0x00000003,\n\t0x4062C429, 0x4063B020, 0x40648420, 0x00000003, 0x4062C421, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C422, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C423, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C424, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C425, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C426, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C427, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C428, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C429, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C42A, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C42B, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C42C, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C42D, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C42E, 0x4063B020,\n\t// Block 558, offset 0x8b80\n\t0x40648C20, 0x00000003, 0x4062C42F, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C430, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C431, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C432, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C433, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C434, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C435, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C436, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C437, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C438, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C439, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C43A, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C43B, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C43C, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C43D, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C43E, 0x4063B020,\n\t// Block 559, offset 0x8bc0\n\t0x40648C20, 0x00000003, 0x4062C43F, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C440, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C441, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C442, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C443, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C444, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C445, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C446, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C447, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C448, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C449, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C44A, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C44B, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C44C, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C44D, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C44E, 0x4063B020,\n\t// Block 560, offset 0x8c00\n\t0x40648C20, 0x00000003, 0x4062C44F, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C450, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C451, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C452, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C453, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C454, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C455, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C456, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C457, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C458, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C459, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C45A, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C45B, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C45C, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C45D, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C45E, 0x4063B020,\n\t// Block 561, offset 0x8c40\n\t0x40648C20, 0x00000003, 0x4062C45F, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C460, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C461, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C462, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C463, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C464, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C465, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C466, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C467, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C468, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C469, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C46A, 0x4063B020,\n\t0x40648C20, 0x00000002, 0x4062C421, 0x4063B220, 0x00000002, 0x4062C422,\n\t0x4063B220, 0x00000002, 0x4062C423, 0x4063B220, 0x00000002, 0x4062C424,\n\t0x4063B220, 0x00000002, 0x4062C425, 0x4063B220,\n\t// Block 562, offset 0x8c80\n\t0x00000002, 0x4062C426, 0x4063B220, 0x00000002, 0x4062C427, 0x4063B220,\n\t0x00000002, 0x4062C428, 0x4063B220, 0x00000002, 0x4062C429, 0x4063B220,\n\t0x00000002, 0x4062C42A, 0x4063B220, 0x00000002, 0x4062C42B, 0x4063B220,\n\t0x00000002, 0x4062C42C, 0x4063B220, 0x00000002, 0x4062C42D, 0x4063B220,\n\t0x00000002, 0x4062C42E, 0x4063B220, 0x00000002, 0x4062C42F, 0x4063B220,\n\t0x00000002, 0x4062C430, 0x4063B220, 0x00000002, 0x4062C431, 0x4063B220,\n\t0x00000002, 0x4062C432, 0x4063B220, 0x00000002, 0x4062C433, 0x4063B220,\n\t0x00000002, 0x4062C434, 0x4063B220, 0x00000002, 0x4062C435, 0x4063B220,\n\t0x00000002, 0x4062C436, 0x4063B220, 0x00000002, 0x4062C437, 0x4063B220,\n\t0x00000002, 0x4062C438, 0x4063B220, 0x00000002, 0x4062C439, 0x4063B220,\n\t0x00000002, 0x4062C43A, 0x4063B220, 0x00000002,\n\t// Block 563, offset 0x8cc0\n\t0x4062C43B, 0x4063B220, 0x00000002, 0x4062C43C, 0x4063B220, 0x00000002,\n\t0x4062C43D, 0x4063B220, 0x00000002, 0x4062C43E, 0x4063B220, 0x00000002,\n\t0x4062C43F, 0x4063B220, 0x00000002, 0x4062C440, 0x4063B220, 0x00000002,\n\t0x4062C441, 0x4063B220, 0x00000002, 0x4062C442, 0x4063B220, 0x00000002,\n\t0x4062C443, 0x4063B220, 0x00000002, 0x4062C444, 0x4063B220, 0x00000002,\n\t0x4062C445, 0x4063B220, 0x00000002, 0x4062C446, 0x4063B220, 0x00000002,\n\t0x4062C447, 0x4063B220, 0x00000002, 0x4062C448, 0x4063B220, 0x00000002,\n\t0x4062C421, 0x4063B820, 0x00000002, 0x4062C422, 0x4063B820, 0x00000002,\n\t0x4062C423, 0x4063B820, 0x00000002, 0x4062C424, 0x4063B820, 0x00000002,\n\t0x4062C425, 0x4063B820, 0x00000002, 0x4062C426, 0x4063B820, 0x00000002,\n\t0x4062C427, 0x4063B820, 0x00000002, 0x4062C428,\n\t// Block 564, offset 0x8d00\n\t0x4063B820, 0x00000002, 0x4062C429, 0x4063B820, 0x00000002, 0x4062C42A,\n\t0x4063B820, 0x00000002, 0x4062C42B, 0x4063B820, 0x00000002, 0x4062C42C,\n\t0x4063B820, 0x00000002, 0x4062C42D, 0x4063B820, 0x00000002, 0x4062C42E,\n\t0x4063B820, 0x00000002, 0x4062C42F, 0x4063B820, 0x00000002, 0x4062C430,\n\t0x4063B820, 0x00000002, 0x4062C431, 0x4063B820, 0x00000002, 0x4062C432,\n\t0x4063B820, 0x00000002, 0x4062C433, 0x4063B820, 0x00000002, 0x4062C434,\n\t0x4063B820, 0x00000002, 0x4062C435, 0x4063B820, 0x00000002, 0x4062C436,\n\t0x4063B820, 0x00000002, 0x4062C437, 0x4063B820, 0x00000002, 0x4062C438,\n\t0x4063B820, 0x00000002, 0x4062C439, 0x4063B820, 0x00000002, 0x4062C43A,\n\t0x4063B820, 0x00000002, 0x4062C43B, 0x4063B820, 0x00000002, 0x4062C43C,\n\t0x4063B820, 0x00000002, 0x4062C43D, 0x4063B820,\n\t// Block 565, offset 0x8d40\n\t0x00000002, 0x4062C43E, 0x4063B820, 0x00000002, 0x4062C43F, 0x4063B820,\n\t0x00000002, 0x4062C440, 0x4063B820, 0x00000002, 0x4062C441, 0x4063B820,\n\t0x00000002, 0x4062C442, 0x4063B820, 0x00000002, 0x4062C443, 0x4063B820,\n\t0x00000002, 0x4062C444, 0x4063B820, 0x00000002, 0x4062C445, 0x4063B820,\n\t0x00000002, 0x4062C446, 0x4063B820, 0x00000002, 0x4062C447, 0x4063B820,\n\t0x00000002, 0x4062C448, 0x4063B820, 0x00000002, 0x4062C449, 0x4063B820,\n\t0x00000002, 0x4062C44A, 0x4063B820, 0x00000002, 0x4062C44B, 0x4063B820,\n\t0x00000002, 0x4062C44C, 0x4063B820, 0x00000002, 0x4062C44D, 0x4063B820,\n\t0x00000002, 0x4062C44E, 0x4063B820, 0x00000002, 0x4062C44F, 0x4063B820,\n\t0x00000002, 0x4062C450, 0x4063B820, 0x00000002, 0x4062C451, 0x4063B820,\n\t0x00000002, 0x4062C452, 0x4063B820, 0x00000002,\n\t// Block 566, offset 0x8d80\n\t0x4062C453, 0x4063B820, 0x00000002, 0x4062C454, 0x4063B820, 0x00000002,\n\t0x4062C455, 0x4063B820, 0x00000002, 0x4062C456, 0x4063B820, 0x00000002,\n\t0x4062C457, 0x4063B820, 0x00000002, 0x4062C458, 0x4063B820, 0x00000002,\n\t0x4062C459, 0x4063B820, 0x00000002, 0x4062C45A, 0x4063B820, 0x00000002,\n\t0x4062C45B, 0x4063B820, 0x00000002, 0x4062C45C, 0x4063B820, 0x00000002,\n\t0x4062C45D, 0x4063B820, 0x00000002, 0x4062C45E, 0x4063B820, 0x00000002,\n\t0x4062C45F, 0x4063B820, 0x00000002, 0x4062C460, 0x4063B820, 0x00000002,\n\t0x4062C461, 0x4063B820, 0x00000002, 0x4062C462, 0x4063B820, 0x00000002,\n\t0x4062C463, 0x4063B820, 0x00000002, 0x4062C464, 0x4063B820, 0x00000002,\n\t0x4062C465, 0x4063B820, 0x00000002, 0x4062C466, 0x4063B820, 0x00000002,\n\t0x4062C467, 0x4063B820, 0x00000002, 0x4062C468,\n\t// Block 567, offset 0x8dc0\n\t0x4063B820, 0x00000002, 0x4062C469, 0x4063B820, 0x00000002, 0x4062C46A,\n\t0x4063B820, 0x00000002, 0x4062C46B, 0x4063B820, 0x00000002, 0x4062C46C,\n\t0x4063B820, 0x00000002, 0x4062C46D, 0x4063B820, 0x00000002, 0x4062C46E,\n\t0x4063B820, 0x00000002, 0x4062C46F, 0x4063B820, 0x00000002, 0x4062C470,\n\t0x4063B820, 0x00000003, 0x4062C421, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062C422, 0x4063B820, 0x40646420, 0x00000003, 0x4062C423, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062C424, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062C425, 0x4063B820, 0x40646420, 0x00000003, 0x4062C421, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062C422, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062C423, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C421, 0x4063B820,\n\t0x40647220, 0x00000003, 0x4062C422, 0x4063B820,\n\t// Block 568, offset 0x8e00\n\t0x40647220, 0x00000003, 0x4062C423, 0x4063B820, 0x40647220, 0x00000003,\n\t0x4062C421, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C422, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C423, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C424, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C425, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C426, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C427, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C428, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C429, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C42A, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C42B, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C42C, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C42D, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C42E, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C42F, 0x4063B820,\n\t// Block 569, offset 0x8e40\n\t0x40648C20, 0x00000003, 0x4062C430, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C431, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C432, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C433, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C434, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C435, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C436, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C437, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C438, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C439, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C43A, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C43B, 0x4063B820,\n\t0x40648C20, 0x00000002, 0x4062C421, 0x4063BA20, 0x00000002, 0x4062C422,\n\t0x4063BA20, 0x00000002, 0x4062C423, 0x4063BA20, 0x00000002, 0x4062C424,\n\t0x4063BA20, 0x00000002, 0x4062C425, 0x4063BA20,\n\t// Block 570, offset 0x8e80\n\t0x00000002, 0x4062C426, 0x4063BA20, 0x00000002, 0x4062C427, 0x4063BA20,\n\t0x00000002, 0x4062C428, 0x4063BA20, 0x00000002, 0x4062C429, 0x4063BA20,\n\t0x00000002, 0x4062C421, 0x4063BE20, 0x00000002, 0x4062C421, 0x4063C220,\n\t0x00000002, 0x4062C422, 0x4063C220, 0x00000002, 0x4062C423, 0x4063C220,\n\t0x00000002, 0x4062C424, 0x4063C220, 0x00000002, 0x4062C425, 0x4063C220,\n\t0x00000002, 0x4062C426, 0x4063C220, 0x00000002, 0x4062C427, 0x4063C220,\n\t0x00000002, 0x4062C428, 0x4063C220, 0x00000002, 0x4062C429, 0x4063C220,\n\t0x00000002, 0x4062C42A, 0x4063C220, 0x00000002, 0x4062C42B, 0x4063C220,\n\t0x00000002, 0x4062C42C, 0x4063C220, 0x00000002, 0x4062C42D, 0x4063C220,\n\t0x00000002, 0x4062C42E, 0x4063C220, 0x00000002, 0x4062C42F, 0x4063C220,\n\t0x00000002, 0x4062C430, 0x4063C220, 0x00000002,\n\t// Block 571, offset 0x8ec0\n\t0x4062C431, 0x4063C220, 0x00000002, 0x4062C432, 0x4063C220, 0x00000002,\n\t0x4062C433, 0x4063C220, 0x00000002, 0x4062C434, 0x4063C220, 0x00000002,\n\t0x4062C435, 0x4063C220, 0x00000002, 0x4062C436, 0x4063C220, 0x00000002,\n\t0x4062C437, 0x4063C220, 0x00000002, 0x4062C438, 0x4063C220, 0x00000002,\n\t0x4062C439, 0x4063C220, 0x00000002, 0x4062C43A, 0x4063C220, 0x00000002,\n\t0x4062C43B, 0x4063C220, 0x00000002, 0x4062C43C, 0x4063C220, 0x00000002,\n\t0x4062C43D, 0x4063C220, 0x00000002, 0x4062C43E, 0x4063C220, 0x00000002,\n\t0x4062C43F, 0x4063C220, 0x00000002, 0x4062C440, 0x4063C220, 0x00000002,\n\t0x4062C441, 0x4063C220, 0x00000002, 0x4062C442, 0x4063C220, 0x00000002,\n\t0x4062C443, 0x4063C220, 0x00000002, 0x4062C444, 0x4063C220, 0x00000002,\n\t0x4062C445, 0x4063C220, 0x00000002, 0x4062C446,\n\t// Block 572, offset 0x8f00\n\t0x4063C220, 0x00000002, 0x4062C447, 0x4063C220, 0x00000002, 0x4062C448,\n\t0x4063C220, 0x00000002, 0x4062C449, 0x4063C220, 0x00000002, 0x4062C44A,\n\t0x4063C220, 0x00000002, 0x4062C44B, 0x4063C220, 0x00000002, 0x4062C44C,\n\t0x4063C220, 0x00000002, 0x4062C44D, 0x4063C220, 0x00000002, 0x4062C44E,\n\t0x4063C220, 0x00000002, 0x4062C44F, 0x4063C220, 0x00000002, 0x4062C450,\n\t0x4063C220, 0x00000002, 0x4062C451, 0x4063C220, 0x00000002, 0x4062C452,\n\t0x4063C220, 0x00000002, 0x4062C453, 0x4063C220, 0x00000002, 0x4062C454,\n\t0x4063C220, 0x00000002, 0x4062C455, 0x4063C220, 0x00000002, 0x4062C456,\n\t0x4063C220, 0x00000002, 0x4062C457, 0x4063C220, 0x00000002, 0x4062C458,\n\t0x4063C220, 0x00000002, 0x4062C459, 0x4063C220, 0x00000002, 0x4062C45A,\n\t0x4063C220, 0x00000002, 0x4062C45B, 0x4063C220,\n\t// Block 573, offset 0x8f40\n\t0x00000002, 0x4062C45C, 0x4063C220, 0x00000002, 0x4062C45D, 0x4063C220,\n\t0x00000002, 0x4062C45E, 0x4063C220, 0x00000003, 0x4062C421, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062C422, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062C421, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C422, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C423, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C424, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C425, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C426, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C427, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C428, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C429, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C42A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C42B, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C42C, 0x4063C220,\n\t// Block 574, offset 0x8f80\n\t0x40646A20, 0x00000003, 0x4062C42D, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C42E, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C42F, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C430, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C431, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C432, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C433, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C434, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C435, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C436, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C437, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C438, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C439, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C43A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C43B, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C43C, 0x4063C220,\n\t// Block 575, offset 0x8fc0\n\t0x40646A20, 0x00000003, 0x4062C43D, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C43E, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C43F, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C440, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C441, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C442, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C421, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062C422, 0x4063C220, 0x40647220, 0x00000003, 0x4062C421, 0x4063C220,\n\t0x40648C20, 0x00000003, 0x4062C422, 0x4063C220, 0x40648C20, 0x00000003,\n\t0x4062C423, 0x4063C220, 0x40648C20, 0x00000003, 0x4062C424, 0x4063C220,\n\t0x40648C20, 0x00000003, 0x4062C425, 0x4063C220, 0x40648C20, 0x00000003,\n\t0x4062C421, 0x4063CC20, 0x40646420, 0x00000003, 0x4062C422, 0x4063CC20,\n\t0x40646420, 0x00000003, 0x4062C423, 0x4063CC20,\n\t// Block 576, offset 0x9000\n\t0x40646420, 0x00000003, 0x4062C421, 0x4063CC20, 0x40647220, 0x00000003,\n\t0x4062C422, 0x4063CC20, 0x40647220, 0x00000003, 0x4062C421, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062C422, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062C423, 0x4063CC20, 0x40648420, 0x00000003, 0x4062C424, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062C425, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062C421, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C422, 0x4063CC20,\n\t0x40648C20, 0x00000003, 0x4062C423, 0x4063CC20, 0x40648C20, 0x00000003,\n\t0x4062C424, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C425, 0x4063CC20,\n\t0x40648C20, 0x00000003, 0x4062C426, 0x4063CC20, 0x40648C20, 0x00000003,\n\t0x4062C427, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C428, 0x4063CC20,\n\t0x40648C20, 0x00000003, 0x4062C429, 0x4063CC20,\n\t// Block 577, offset 0x9040\n\t0x40648C20, 0x00000003, 0x4062C42A, 0x4063CC20, 0x40648C20, 0x00000003,\n\t0x4062C42B, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C42C, 0x4063CC20,\n\t0x40648C20, 0x00000003, 0x4062C42D, 0x4063CC20, 0x40648C20, 0x00000003,\n\t0x4062C42E, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062C421, 0x4063D020,\n\t0x00000002, 0x4062C422, 0x4063D020, 0x00000002, 0x4062C423, 0x4063D020,\n\t0x00000002, 0x4062C424, 0x4063D020, 0x00000002, 0x4062C425, 0x4063D020,\n\t0x00000002, 0x4062C426, 0x4063D020, 0x00000002, 0x4062C427, 0x4063D020,\n\t0x00000002, 0x4062C428, 0x4063D020, 0x00000002, 0x4062C429, 0x4063D020,\n\t0x00000002, 0x4062C42A, 0x4063D020, 0x00000002, 0x4062C42B, 0x4063D020,\n\t0x00000002, 0x4062C42C, 0x4063D020, 0x00000002, 0x4062C42D, 0x4063D020,\n\t0x00000002, 0x4062C42E, 0x4063D020, 0x00000002,\n\t// Block 578, offset 0x9080\n\t0x4062C42F, 0x4063D020, 0x00000002, 0x4062C430, 0x4063D020, 0x00000002,\n\t0x4062C431, 0x4063D020, 0x00000002, 0x4062C432, 0x4063D020, 0x00000002,\n\t0x4062C433, 0x4063D020, 0x00000002, 0x4062C434, 0x4063D020, 0x00000002,\n\t0x4062C435, 0x4063D020, 0x00000002, 0x4062C436, 0x4063D020, 0x00000002,\n\t0x4062C437, 0x4063D020, 0x00000002, 0x4062C438, 0x4063D020, 0x00000002,\n\t0x4062C439, 0x4063D020, 0x00000002, 0x4062C43A, 0x4063D020, 0x00000002,\n\t0x4062C43B, 0x4063D020, 0x00000002, 0x4062C43C, 0x4063D020, 0x00000002,\n\t0x4062C43D, 0x4063D020, 0x00000002, 0x4062C43E, 0x4063D020, 0x00000002,\n\t0x4062C43F, 0x4063D020, 0x00000002, 0x4062C440, 0x4063D020, 0x00000002,\n\t0x4062C441, 0x4063D020, 0x00000002, 0x4062C442, 0x4063D020, 0x00000002,\n\t0x4062C443, 0x4063D020, 0x00000002, 0x4062C444,\n\t// Block 579, offset 0x90c0\n\t0x4063D020, 0x00000002, 0x4062C445, 0x4063D020, 0x00000002, 0x4062C446,\n\t0x4063D020, 0x00000002, 0x4062C447, 0x4063D020, 0x00000002, 0x4062C448,\n\t0x4063D020, 0x00000002, 0x4062C449, 0x4063D020, 0x00000002, 0x4062C44A,\n\t0x4063D020, 0x00000002, 0x4062C44B, 0x4063D020, 0x00000002, 0x4062C44C,\n\t0x4063D020, 0x00000002, 0x4062C44D, 0x4063D020, 0x00000002, 0x4062C44E,\n\t0x4063D020, 0x00000002, 0x4062C44F, 0x4063D020, 0x00000002, 0x4062C450,\n\t0x4063D020, 0x00000003, 0x4062C421, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062C422, 0x4063D020, 0x40646420, 0x00000003, 0x4062C423, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062C424, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062C425, 0x4063D020, 0x40646420, 0x00000003, 0x4062C426, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062C421, 0x4063D020,\n\t// Block 580, offset 0x9100\n\t0x40646A20, 0x00000003, 0x4062C422, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C423, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C424, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C425, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C426, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C427, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C428, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C429, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C42A, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C42B, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C42C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C42D, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C42E, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C42F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C430, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C431, 0x4063D020,\n\t// Block 581, offset 0x9140\n\t0x40646A20, 0x00000003, 0x4062C432, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C433, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C434, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C435, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C436, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C437, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C438, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C439, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C43A, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C43B, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C43C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C43D, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C43E, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C43F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C440, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C441, 0x4063D020,\n\t// Block 582, offset 0x9180\n\t0x40646A20, 0x00000003, 0x4062C442, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C443, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C444, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C445, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C446, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C447, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C448, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C449, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C44A, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C44B, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C44C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C421, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C422, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062C423, 0x4063D020, 0x40647220, 0x00000003, 0x4062C424, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C425, 0x4063D020,\n\t// Block 583, offset 0x91c0\n\t0x40647220, 0x00000003, 0x4062C426, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062C427, 0x4063D020, 0x40647220, 0x00000003, 0x4062C428, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C429, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062C42A, 0x4063D020, 0x40647220, 0x00000003, 0x4062C42B, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C42C, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062C42D, 0x4063D020, 0x40647220, 0x00000003, 0x4062C42E, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C42F, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062C430, 0x4063D020, 0x40647220, 0x00000003, 0x4062C431, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C432, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062C433, 0x4063D020, 0x40647220, 0x00000003, 0x4062C434, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C421, 0x4063D020,\n\t// Block 584, offset 0x9200\n\t0x40648220, 0x00000003, 0x4062C422, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062C423, 0x4063D020, 0x40648220, 0x00000003, 0x4062C421, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062C422, 0x4063D020, 0x40648420, 0x00000003,\n\t0x4062C423, 0x4063D020, 0x40648420, 0x00000003, 0x4062C424, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062C425, 0x4063D020, 0x40648420, 0x00000003,\n\t0x4062C426, 0x4063D020, 0x40648420, 0x00000003, 0x4062C427, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062C428, 0x4063D020, 0x40648420, 0x00000003,\n\t0x4062C421, 0x4063D020, 0x40648C20, 0x00000003, 0x4062C422, 0x4063D020,\n\t0x40648C20, 0x00000003, 0x4062C423, 0x4063D020, 0x40648C20, 0x00000003,\n\t0x4062C424, 0x4063D020, 0x40648C20, 0x00000003, 0x4062C425, 0x4063D020,\n\t0x40648C20, 0x00000003, 0x4062C426, 0x4063D020,\n\t// Block 585, offset 0x9240\n\t0x40648C20, 0x00000003, 0x4062C427, 0x4063D020, 0x40648C20, 0x00000002,\n\t0x4062C821, 0x4063A820, 0x00000002, 0x4062C822, 0x4063A820, 0x00000002,\n\t0x4062C823, 0x4063A820, 0x00000002, 0x4062C824, 0x4063A820, 0x00000002,\n\t0x4062C825, 0x4063A820, 0x00000002, 0x4062C826, 0x4063A820, 0x00000002,\n\t0x4062C827, 0x4063A820, 0x00000002, 0x4062C828, 0x4063A820, 0x00000002,\n\t0x4062C829, 0x4063A820, 0x00000002, 0x4062C82A, 0x4063A820, 0x00000002,\n\t0x4062C82B, 0x4063A820, 0x00000002, 0x4062C82C, 0x4063A820, 0x00000002,\n\t0x4062C82D, 0x4063A820, 0x00000002, 0x4062C82E, 0x4063A820, 0x00000002,\n\t0x4062C82F, 0x4063A820, 0x00000002, 0x4062C830, 0x4063A820, 0x00000002,\n\t0x4062C831, 0x4063A820, 0x00000002, 0x4062C832, 0x4063A820, 0x00000002,\n\t0x4062C833, 0x4063A820, 0x00000002, 0x4062C834,\n\t// Block 586, offset 0x9280\n\t0x4063A820, 0x00000002, 0x4062C835, 0x4063A820, 0x00000002, 0x4062C836,\n\t0x4063A820, 0x00000003, 0x4062C821, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C822, 0x4063A820, 0x40646420, 0x00000003, 0x4062C823, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C824, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C825, 0x4063A820, 0x40646420, 0x00000003, 0x4062C826, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C827, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C828, 0x4063A820, 0x40646420, 0x00000003, 0x4062C829, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C82A, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C821, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C822, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C823, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C824, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 587, offset 0x92c0\n\t0x4062C825, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C826, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C827, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C828, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C829, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C82A, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C82B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C82C, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C82D, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C82E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C82F, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C830, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C831, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C832, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C833, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C834, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 588, offset 0x9300\n\t0x4062C835, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C836, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C837, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C821, 0x4063A820, 0x40647220, 0x00000003, 0x4062C822, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062C823, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062C824, 0x4063A820, 0x40647220, 0x00000003, 0x4062C825, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062C826, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062C827, 0x4063A820, 0x40647220, 0x00000003, 0x4062C821, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C822, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C823, 0x4063A820, 0x40648220, 0x00000003, 0x4062C824, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C825, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C826, 0x4063A820, 0x40648220, 0x00000003,\n\t// Block 589, offset 0x9340\n\t0x4062C827, 0x4063A820, 0x40648220, 0x00000003, 0x4062C828, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C829, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C82A, 0x4063A820, 0x40648220, 0x00000003, 0x4062C82B, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C82C, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C82D, 0x4063A820, 0x40648220, 0x00000003, 0x4062C82E, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C82F, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C830, 0x4063A820, 0x40648220, 0x00000003, 0x4062C831, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C832, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C833, 0x4063A820, 0x40648220, 0x00000003, 0x4062C834, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C835, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C836, 0x4063A820, 0x40648220, 0x00000003,\n\t// Block 590, offset 0x9380\n\t0x4062C837, 0x4063A820, 0x40648220, 0x00000003, 0x4062C838, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C839, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C83A, 0x4063A820, 0x40648220, 0x00000003, 0x4062C821, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C822, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C823, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C824, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C825, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C826, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C827, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C828, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C829, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C82A, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C82B, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C82C, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 591, offset 0x93c0\n\t0x4062C82D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C82E, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C82F, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C830, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C831, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C832, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C833, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C834, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C835, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C836, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C837, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C838, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C839, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C83A, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C83B, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C83C, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 592, offset 0x9400\n\t0x4062C83D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C83E, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C83F, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C840, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C841, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C842, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C843, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C844, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C845, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C846, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C847, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C848, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C849, 0x4063A820, 0x40648C20, 0x00000002, 0x4062C821, 0x4063AA20,\n\t0x00000002, 0x4062C822, 0x4063AA20, 0x00000002, 0x4062C823, 0x4063AA20,\n\t0x00000002, 0x4062C824, 0x4063AA20, 0x00000002,\n\t// Block 593, offset 0x9440\n\t0x4062C825, 0x4063AA20, 0x00000002, 0x4062C826, 0x4063AA20, 0x00000002,\n\t0x4062C827, 0x4063AA20, 0x00000002, 0x4062C828, 0x4063AA20, 0x00000002,\n\t0x4062C829, 0x4063AA20, 0x00000002, 0x4062C82A, 0x4063AA20, 0x00000002,\n\t0x4062C82B, 0x4063AA20, 0x00000002, 0x4062C82C, 0x4063AA20, 0x00000002,\n\t0x4062C82D, 0x4063AA20, 0x00000002, 0x4062C82E, 0x4063AA20, 0x00000003,\n\t0x4062C821, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C822, 0x4063AA20,\n\t0x40646420, 0x00000003, 0x4062C823, 0x4063AA20, 0x40646420, 0x00000003,\n\t0x4062C824, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C825, 0x4063AA20,\n\t0x40646420, 0x00000003, 0x4062C826, 0x4063AA20, 0x40646420, 0x00000003,\n\t0x4062C827, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C828, 0x4063AA20,\n\t0x40646420, 0x00000003, 0x4062C829, 0x4063AA20,\n\t// Block 594, offset 0x9480\n\t0x40646420, 0x00000003, 0x4062C82A, 0x4063AA20, 0x40646420, 0x00000002,\n\t0x4062C821, 0x4063B020, 0x00000002, 0x4062C822, 0x4063B020, 0x00000002,\n\t0x4062C823, 0x4063B020, 0x00000002, 0x4062C824, 0x4063B020, 0x00000002,\n\t0x4062C825, 0x4063B020, 0x00000002, 0x4062C826, 0x4063B020, 0x00000002,\n\t0x4062C827, 0x4063B020, 0x00000002, 0x4062C828, 0x4063B020, 0x00000002,\n\t0x4062C829, 0x4063B020, 0x00000003, 0x4062C821, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C822, 0x4063B020, 0x40646420, 0x00000003, 0x4062C823,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C824, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C825, 0x4063B020, 0x40646420, 0x00000003, 0x4062C826,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C827, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C828, 0x4063B020, 0x40646420,\n\t// Block 595, offset 0x94c0\n\t0x00000003, 0x4062C829, 0x4063B020, 0x40646420, 0x00000003, 0x4062C82A,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C82B, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C82C, 0x4063B020, 0x40646420, 0x00000003, 0x4062C82D,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C82E, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C82F, 0x4063B020, 0x40646420, 0x00000003, 0x4062C830,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C831, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C832, 0x4063B020, 0x40646420, 0x00000003, 0x4062C833,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C834, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C835, 0x4063B020, 0x40646420, 0x00000003, 0x4062C836,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C837, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C821, 0x4063B020, 0x40646A20,\n\t// Block 596, offset 0x9500\n\t0x00000003, 0x4062C822, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C823,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C824, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C825, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C826,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C827, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C828, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C829,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C82A, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C82B, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C82C,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C82D, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C82E, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C82F,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C830, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C831, 0x4063B020, 0x40646A20,\n\t// Block 597, offset 0x9540\n\t0x00000003, 0x4062C832, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C833,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C834, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C835, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C836,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C837, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C838, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C839,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C83A, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C83B, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C83C,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C83D, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C83E, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C83F,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C840, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C841, 0x4063B020, 0x40646A20,\n\t// Block 598, offset 0x9580\n\t0x00000003, 0x4062C842, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C843,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C844, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C845, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C821,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C822, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062C823, 0x4063B020, 0x40647220, 0x00000003, 0x4062C824,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C825, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062C826, 0x4063B020, 0x40647220, 0x00000003, 0x4062C827,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C828, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062C829, 0x4063B020, 0x40647220, 0x00000003, 0x4062C82A,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C82B, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062C82C, 0x4063B020, 0x40647220,\n\t// Block 599, offset 0x95c0\n\t0x00000003, 0x4062C82D, 0x4063B020, 0x40647220, 0x00000003, 0x4062C82E,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C82F, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062C830, 0x4063B020, 0x40647220, 0x00000003, 0x4062C831,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C832, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062C833, 0x4063B020, 0x40647220, 0x00000003, 0x4062C834,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C821, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062C822, 0x4063B020, 0x40648220, 0x00000003, 0x4062C823,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062C824, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062C825, 0x4063B020, 0x40648220, 0x00000003, 0x4062C826,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062C827, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062C828, 0x4063B020, 0x40648220,\n\t// Block 600, offset 0x9600\n\t0x00000003, 0x4062C829, 0x4063B020, 0x40648220, 0x00000003, 0x4062C82A,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062C82B, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062C82C, 0x4063B020, 0x40648220, 0x00000003, 0x4062C82D,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062C82E, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062C82F, 0x4063B020, 0x40648220, 0x00000003, 0x4062C830,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062C831, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062C832, 0x4063B020, 0x40648220, 0x00000003, 0x4062C821,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062C822, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062C823, 0x4063B020, 0x40648420, 0x00000003, 0x4062C824,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062C825, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062C826, 0x4063B020, 0x40648420,\n\t// Block 601, offset 0x9640\n\t0x00000003, 0x4062C827, 0x4063B020, 0x40648420, 0x00000003, 0x4062C828,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062C829, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062C82A, 0x4063B020, 0x40648420, 0x00000003, 0x4062C82B,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062C82C, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062C82D, 0x4063B020, 0x40648420, 0x00000003, 0x4062C82E,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062C82F, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062C821, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C822,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062C823, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062C824, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C825,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062C826, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062C827, 0x4063B020, 0x40648C20,\n\t// Block 602, offset 0x9680\n\t0x00000003, 0x4062C828, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C829,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062C82A, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062C82B, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C82C,\n\t0x4063B020, 0x40648C20, 0x00000002, 0x4062C821, 0x4063B220, 0x00000002,\n\t0x4062C822, 0x4063B220, 0x00000002, 0x4062C823, 0x4063B220, 0x00000002,\n\t0x4062C824, 0x4063B220, 0x00000002, 0x4062C825, 0x4063B220, 0x00000002,\n\t0x4062C826, 0x4063B220, 0x00000002, 0x4062C827, 0x4063B220, 0x00000002,\n\t0x4062C828, 0x4063B220, 0x00000002, 0x4062C829, 0x4063B220, 0x00000002,\n\t0x4062C82A, 0x4063B220, 0x00000002, 0x4062C82B, 0x4063B220, 0x00000002,\n\t0x4062C82C, 0x4063B220, 0x00000002, 0x4062C82D, 0x4063B220, 0x00000002,\n\t0x4062C82E, 0x4063B220, 0x00000002, 0x4062C82F,\n\t// Block 603, offset 0x96c0\n\t0x4063B220, 0x00000002, 0x4062C830, 0x4063B220, 0x00000002, 0x4062C831,\n\t0x4063B220, 0x00000002, 0x4062C832, 0x4063B220, 0x00000002, 0x4062C833,\n\t0x4063B220, 0x00000002, 0x4062C834, 0x4063B220, 0x00000002, 0x4062C821,\n\t0x4063B820, 0x00000002, 0x4062C822, 0x4063B820, 0x00000002, 0x4062C823,\n\t0x4063B820, 0x00000002, 0x4062C824, 0x4063B820, 0x00000002, 0x4062C825,\n\t0x4063B820, 0x00000002, 0x4062C826, 0x4063B820, 0x00000002, 0x4062C827,\n\t0x4063B820, 0x00000002, 0x4062C828, 0x4063B820, 0x00000002, 0x4062C829,\n\t0x4063B820, 0x00000002, 0x4062C82A, 0x4063B820, 0x00000002, 0x4062C82B,\n\t0x4063B820, 0x00000002, 0x4062C82C, 0x4063B820, 0x00000002, 0x4062C82D,\n\t0x4063B820, 0x00000002, 0x4062C82E, 0x4063B820, 0x00000002, 0x4062C82F,\n\t0x4063B820, 0x00000002, 0x4062C830, 0x4063B820,\n\t// Block 604, offset 0x9700\n\t0x00000002, 0x4062C831, 0x4063B820, 0x00000002, 0x4062C832, 0x4063B820,\n\t0x00000002, 0x4062C833, 0x4063B820, 0x00000002, 0x4062C834, 0x4063B820,\n\t0x00000002, 0x4062C835, 0x4063B820, 0x00000002, 0x4062C836, 0x4063B820,\n\t0x00000002, 0x4062C837, 0x4063B820, 0x00000002, 0x4062C838, 0x4063B820,\n\t0x00000002, 0x4062C839, 0x4063B820, 0x00000002, 0x4062C83A, 0x4063B820,\n\t0x00000002, 0x4062C83B, 0x4063B820, 0x00000002, 0x4062C83C, 0x4063B820,\n\t0x00000002, 0x4062C83D, 0x4063B820, 0x00000002, 0x4062C83E, 0x4063B820,\n\t0x00000002, 0x4062C83F, 0x4063B820, 0x00000002, 0x4062C840, 0x4063B820,\n\t0x00000002, 0x4062C841, 0x4063B820, 0x00000002, 0x4062C842, 0x4063B820,\n\t0x00000002, 0x4062C843, 0x4063B820, 0x00000002, 0x4062C844, 0x4063B820,\n\t0x00000002, 0x4062C845, 0x4063B820, 0x00000002,\n\t// Block 605, offset 0x9740\n\t0x4062C846, 0x4063B820, 0x00000002, 0x4062C847, 0x4063B820, 0x00000002,\n\t0x4062C848, 0x4063B820, 0x00000002, 0x4062C849, 0x4063B820, 0x00000002,\n\t0x4062C84A, 0x4063B820, 0x00000002, 0x4062C84B, 0x4063B820, 0x00000002,\n\t0x4062C84C, 0x4063B820, 0x00000002, 0x4062C84D, 0x4063B820, 0x00000002,\n\t0x4062C84E, 0x4063B820, 0x00000002, 0x4062C84F, 0x4063B820, 0x00000002,\n\t0x4062C850, 0x4063B820, 0x00000002, 0x4062C851, 0x4063B820, 0x00000002,\n\t0x4062C852, 0x4063B820, 0x00000002, 0x4062C853, 0x4063B820, 0x00000002,\n\t0x4062C854, 0x4063B820, 0x00000002, 0x4062C855, 0x4063B820, 0x00000002,\n\t0x4062C856, 0x4063B820, 0x00000002, 0x4062C857, 0x4063B820, 0x00000002,\n\t0x4062C858, 0x4063B820, 0x00000003, 0x4062C821, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062C822, 0x4063B820, 0x40646420,\n\t// Block 606, offset 0x9780\n\t0x00000003, 0x4062C823, 0x4063B820, 0x40646420, 0x00000003, 0x4062C824,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062C825, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062C826, 0x4063B820, 0x40646420, 0x00000003, 0x4062C827,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062C828, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062C829, 0x4063B820, 0x40646420, 0x00000003, 0x4062C82A,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062C82B, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062C82C, 0x4063B820, 0x40646420, 0x00000003, 0x4062C821,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C822, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C823, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C824,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C825, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C821, 0x4063B820, 0x40648C20,\n\t// Block 607, offset 0x97c0\n\t0x00000003, 0x4062C822, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C823,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C824, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C825, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C826,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C827, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C828, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C829,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C82A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C82B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C82C,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C82D, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C82E, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C82F,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C821, 0x4063BA20, 0x40647220,\n\t0x00000002, 0x4062C821, 0x4063BE20, 0x00000002,\n\t// Block 608, offset 0x9800\n\t0x4062C822, 0x4063BE20, 0x00000002, 0x4062C823, 0x4063BE20, 0x00000002,\n\t0x4062C824, 0x4063BE20, 0x00000002, 0x4062C825, 0x4063BE20, 0x00000002,\n\t0x4062C826, 0x4063BE20, 0x00000002, 0x4062C827, 0x4063BE20, 0x00000002,\n\t0x4062C828, 0x4063BE20, 0x00000002, 0x4062C829, 0x4063BE20, 0x00000002,\n\t0x4062C82A, 0x4063BE20, 0x00000002, 0x4062C82B, 0x4063BE20, 0x00000002,\n\t0x4062C821, 0x4063C220, 0x00000002, 0x4062C822, 0x4063C220, 0x00000002,\n\t0x4062C823, 0x4063C220, 0x00000002, 0x4062C824, 0x4063C220, 0x00000002,\n\t0x4062C825, 0x4063C220, 0x00000002, 0x4062C826, 0x4063C220, 0x00000002,\n\t0x4062C827, 0x4063C220, 0x00000002, 0x4062C828, 0x4063C220, 0x00000002,\n\t0x4062C829, 0x4063C220, 0x00000002, 0x4062C82A, 0x4063C220, 0x00000002,\n\t0x4062C82B, 0x4063C220, 0x00000002, 0x4062C82C,\n\t// Block 609, offset 0x9840\n\t0x4063C220, 0x00000002, 0x4062C82D, 0x4063C220, 0x00000002, 0x4062C82E,\n\t0x4063C220, 0x00000002, 0x4062C82F, 0x4063C220, 0x00000002, 0x4062C830,\n\t0x4063C220, 0x00000002, 0x4062C831, 0x4063C220, 0x00000002, 0x4062C832,\n\t0x4063C220, 0x00000002, 0x4062C833, 0x4063C220, 0x00000002, 0x4062C834,\n\t0x4063C220, 0x00000002, 0x4062C835, 0x4063C220, 0x00000002, 0x4062C836,\n\t0x4063C220, 0x00000002, 0x4062C837, 0x4063C220, 0x00000002, 0x4062C838,\n\t0x4063C220, 0x00000002, 0x4062C839, 0x4063C220, 0x00000002, 0x4062C83A,\n\t0x4063C220, 0x00000002, 0x4062C83B, 0x4063C220, 0x00000002, 0x4062C83C,\n\t0x4063C220, 0x00000002, 0x4062C83D, 0x4063C220, 0x00000002, 0x4062C83E,\n\t0x4063C220, 0x00000002, 0x4062C83F, 0x4063C220, 0x00000002, 0x4062C840,\n\t0x4063C220, 0x00000002, 0x4062C841, 0x4063C220,\n\t// Block 610, offset 0x9880\n\t0x00000002, 0x4062C842, 0x4063C220, 0x00000002, 0x4062C843, 0x4063C220,\n\t0x00000002, 0x4062C844, 0x4063C220, 0x00000002, 0x4062C845, 0x4063C220,\n\t0x00000002, 0x4062C846, 0x4063C220, 0x00000002, 0x4062C847, 0x4063C220,\n\t0x00000002, 0x4062C848, 0x4063C220, 0x00000002, 0x4062C849, 0x4063C220,\n\t0x00000002, 0x4062C84A, 0x4063C220, 0x00000002, 0x4062C84B, 0x4063C220,\n\t0x00000002, 0x4062C84C, 0x4063C220, 0x00000002, 0x4062C84D, 0x4063C220,\n\t0x00000002, 0x4062C84E, 0x4063C220, 0x00000002, 0x4062C84F, 0x4063C220,\n\t0x00000002, 0x4062C850, 0x4063C220, 0x00000002, 0x4062C851, 0x4063C220,\n\t0x00000002, 0x4062C852, 0x4063C220, 0x00000002, 0x4062C853, 0x4063C220,\n\t0x00000003, 0x4062C821, 0x4063C220, 0x40646420, 0x00000003, 0x4062C822,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C823,\n\t// Block 611, offset 0x98c0\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C824, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C825, 0x4063C220, 0x40646420, 0x00000003, 0x4062C826,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C827, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C828, 0x4063C220, 0x40646420, 0x00000003, 0x4062C829,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C82A, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C82B, 0x4063C220, 0x40646420, 0x00000003, 0x4062C82C,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C82D, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C82E, 0x4063C220, 0x40646420, 0x00000003, 0x4062C82F,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C830, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C831, 0x4063C220, 0x40646420, 0x00000003, 0x4062C821,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C822,\n\t// Block 612, offset 0x9900\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C823, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C821, 0x4063C220, 0x40647220, 0x00000003, 0x4062C822,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062C823, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062C824, 0x4063C220, 0x40647220, 0x00000003, 0x4062C821,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062C822, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062C823, 0x4063C220, 0x40648C20, 0x00000003, 0x4062C824,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062C825, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062C826, 0x4063C220, 0x40648C20, 0x00000003, 0x4062C827,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062C828, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062C829, 0x4063C220, 0x40648C20, 0x00000002, 0x4062C821,\n\t0x4063C620, 0x00000002, 0x4062C822, 0x4063C620,\n\t// Block 613, offset 0x9940\n\t0x00000002, 0x4062C823, 0x4063C620, 0x00000002, 0x4062C824, 0x4063C620,\n\t0x00000002, 0x4062C825, 0x4063C620, 0x00000002, 0x4062C826, 0x4063C620,\n\t0x00000002, 0x4062C827, 0x4063C620, 0x00000002, 0x4062C828, 0x4063C620,\n\t0x00000002, 0x4062C829, 0x4063C620, 0x00000002, 0x4062C821, 0x4063C820,\n\t0x00000002, 0x4062C822, 0x4063C820, 0x00000002, 0x4062C823, 0x4063C820,\n\t0x00000002, 0x4062C824, 0x4063C820, 0x00000002, 0x4062C825, 0x4063C820,\n\t0x00000002, 0x4062C826, 0x4063C820, 0x00000002, 0x4062C827, 0x4063C820,\n\t0x00000002, 0x4062C828, 0x4063C820, 0x00000002, 0x4062C829, 0x4063C820,\n\t0x00000002, 0x4062C82A, 0x4063C820, 0x00000002, 0x4062C82B, 0x4063C820,\n\t0x00000002, 0x4062C82C, 0x4063C820, 0x00000002, 0x4062C82D, 0x4063C820,\n\t0x00000002, 0x4062C82E, 0x4063C820, 0x00000002,\n\t// Block 614, offset 0x9980\n\t0x4062C82F, 0x4063C820, 0x00000002, 0x4062C830, 0x4063C820, 0x00000002,\n\t0x4062C831, 0x4063C820, 0x00000003, 0x4062C821, 0x4063CC20, 0x40646420,\n\t0x00000003, 0x4062C822, 0x4063CC20, 0x40646420, 0x00000003, 0x4062C823,\n\t0x4063CC20, 0x40646420, 0x00000003, 0x4062C824, 0x4063CC20, 0x40646420,\n\t0x00000003, 0x4062C825, 0x4063CC20, 0x40646420, 0x00000003, 0x4062C826,\n\t0x4063CC20, 0x40646420, 0x00000003, 0x4062C827, 0x4063CC20, 0x40646420,\n\t0x00000003, 0x4062C821, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062C821,\n\t0x4063D020, 0x00000002, 0x4062C822, 0x4063D020, 0x00000002, 0x4062C823,\n\t0x4063D020, 0x00000002, 0x4062C824, 0x4063D020, 0x00000002, 0x4062C825,\n\t0x4063D020, 0x00000002, 0x4062C826, 0x4063D020, 0x00000002, 0x4062C827,\n\t0x4063D020, 0x00000002, 0x4062C828, 0x4063D020,\n\t// Block 615, offset 0x99c0\n\t0x00000002, 0x4062C829, 0x4063D020, 0x00000002, 0x4062C82A, 0x4063D020,\n\t0x00000002, 0x4062C82B, 0x4063D020, 0x00000002, 0x4062C82C, 0x4063D020,\n\t0x00000002, 0x4062C82D, 0x4063D020, 0x00000002, 0x4062C82E, 0x4063D020,\n\t0x00000002, 0x4062C82F, 0x4063D020, 0x00000002, 0x4062C830, 0x4063D020,\n\t0x00000002, 0x4062C831, 0x4063D020, 0x00000002, 0x4062C832, 0x4063D020,\n\t0x00000002, 0x4062C833, 0x4063D020, 0x00000002, 0x4062C834, 0x4063D020,\n\t0x00000002, 0x4062C835, 0x4063D020, 0x00000002, 0x4062C836, 0x4063D020,\n\t0x00000002, 0x4062C837, 0x4063D020, 0x00000002, 0x4062C838, 0x4063D020,\n\t0x00000002, 0x4062C839, 0x4063D020, 0x00000002, 0x4062C83A, 0x4063D020,\n\t0x00000002, 0x4062C83B, 0x4063D020, 0x00000002, 0x4062C83C, 0x4063D020,\n\t0x00000002, 0x4062C83D, 0x4063D020, 0x00000002,\n\t// Block 616, offset 0x9a00\n\t0x4062C83E, 0x4063D020, 0x00000002, 0x4062C83F, 0x4063D020, 0x00000002,\n\t0x4062C840, 0x4063D020, 0x00000002, 0x4062C841, 0x4063D020, 0x00000002,\n\t0x4062C842, 0x4063D020, 0x00000002, 0x4062C843, 0x4063D020, 0x00000002,\n\t0x4062C844, 0x4063D020, 0x00000002, 0x4062C845, 0x4063D020, 0x00000002,\n\t0x4062C846, 0x4063D020, 0x00000002, 0x4062C847, 0x4063D020, 0x00000002,\n\t0x4062C848, 0x4063D020, 0x00000002, 0x4062C849, 0x4063D020, 0x00000002,\n\t0x4062C84A, 0x4063D020, 0x00000003, 0x4062C821, 0x4063D020, 0x40646420,\n\t0x00000003, 0x4062C822, 0x4063D020, 0x40646420, 0x00000003, 0x4062C823,\n\t0x4063D020, 0x40646420, 0x00000003, 0x4062C824, 0x4063D020, 0x40646420,\n\t0x00000003, 0x4062C821, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C822,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C823,\n\t// Block 617, offset 0x9a40\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C824, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C825, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C821,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062C822, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062C823, 0x4063D020, 0x40647220, 0x00000003, 0x4062C821,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C822, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C823, 0x4063D020, 0x40648220, 0x00000003, 0x4062C824,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C825, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C826, 0x4063D020, 0x40648220, 0x00000003, 0x4062C827,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C828, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C829, 0x4063D020, 0x40648220, 0x00000003, 0x4062C82A,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C82B,\n\t// Block 618, offset 0x9a80\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C82C, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C82D, 0x4063D020, 0x40648220, 0x00000003, 0x4062C82E,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C82F, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C830, 0x4063D020, 0x40648220, 0x00000003, 0x4062C821,\n\t0x4063D020, 0x40648420, 0x00000003, 0x4062C821, 0x4063D020, 0x40648C20,\n\t0x00000003, 0x4062C822, 0x4063D020, 0x40648C20, 0x00000002, 0x4062CA21,\n\t0x4063BC20, 0x00000002, 0x4062CA22, 0x4063BC20, 0x00000002, 0x4062CA23,\n\t0x4063BC20, 0x00000002, 0x4062CC21, 0x4063A820, 0x00000002, 0x4062CC22,\n\t0x4063A820, 0x00000002, 0x4062CC23, 0x4063A820, 0x00000002, 0x4062CC24,\n\t0x4063A820, 0x00000002, 0x4062CC25, 0x4063A820, 0x00000002, 0x4062CC26,\n\t0x4063A820, 0x00000002, 0x4062CC27, 0x4063A820,\n\t// Block 619, offset 0x9ac0\n\t0x00000002, 0x4062CC28, 0x4063A820, 0x00000002, 0x4062CC29, 0x4063A820,\n\t0x00000002, 0x4062CC2A, 0x4063A820, 0x00000002, 0x4062CC2B, 0x4063A820,\n\t0x00000002, 0x4062CC2C, 0x4063A820, 0x00000002, 0x4062CC2D, 0x4063A820,\n\t0x00000002, 0x4062CC2E, 0x4063A820, 0x00000002, 0x4062CC2F, 0x4063A820,\n\t0x00000002, 0x4062CC30, 0x4063A820, 0x00000002, 0x4062CC31, 0x4063A820,\n\t0x00000002, 0x4062CC32, 0x4063A820, 0x00000002, 0x4062CC33, 0x4063A820,\n\t0x00000002, 0x4062CC34, 0x4063A820, 0x00000002, 0x4062CC35, 0x4063A820,\n\t0x00000002, 0x4062CC36, 0x4063A820, 0x00000002, 0x4062CC37, 0x4063A820,\n\t0x00000002, 0x4062CC38, 0x4063A820, 0x00000002, 0x4062CC39, 0x4063A820,\n\t0x00000002, 0x4062CC3A, 0x4063A820, 0x00000002, 0x4062CC3B, 0x4063A820,\n\t0x00000003, 0x4062CC21, 0x4063A820, 0x40646420,\n\t// Block 620, offset 0x9b00\n\t0x00000003, 0x4062CC22, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC23,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC24, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC25, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC26,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC27, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC28, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC29,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC2A, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC2B, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC2C,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC2D, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC2E, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC2F,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC30, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC31, 0x4063A820, 0x40646420,\n\t// Block 621, offset 0x9b40\n\t0x00000003, 0x4062CC32, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC33,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC34, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC35, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC36,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC37, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC21, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC22,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CC23, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CC24, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC25,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CC26, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CC27, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC28,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CC29, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CC2A, 0x4063A820, 0x40646A20,\n\t// Block 622, offset 0x9b80\n\t0x00000003, 0x4062CC2B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC2C,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CC2D, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CC2E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC2F,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CC21, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062CC22, 0x4063A820, 0x40647220, 0x00000003, 0x4062CC23,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062CC21, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062CC22, 0x4063A820, 0x40648220, 0x00000003, 0x4062CC23,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062CC24, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062CC25, 0x4063A820, 0x40648220, 0x00000003, 0x4062CC26,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062CC27, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062CC21, 0x4063A820, 0x40648420,\n\t// Block 623, offset 0x9bc0\n\t0x00000003, 0x4062CC22, 0x4063A820, 0x40648420, 0x00000003, 0x4062CC23,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062CC24, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062CC25, 0x4063A820, 0x40648420, 0x00000003, 0x4062CC26,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062CC21, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062CC22, 0x4063A820, 0x40648C20, 0x00000003, 0x4062CC23,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062CC24, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062CC25, 0x4063A820, 0x40648C20, 0x00000003, 0x4062CC26,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062CC27, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062CC28, 0x4063A820, 0x40648C20, 0x00000002, 0x4062CC21,\n\t0x4063AA20, 0x00000002, 0x4062CC22, 0x4063AA20, 0x00000002, 0x4062CC23,\n\t0x4063AA20, 0x00000002, 0x4062CC24, 0x4063AA20,\n\t// Block 624, offset 0x9c00\n\t0x00000002, 0x4062CC25, 0x4063AA20, 0x00000002, 0x4062CC26, 0x4063AA20,\n\t0x00000002, 0x4062CC27, 0x4063AA20, 0x00000002, 0x4062CC28, 0x4063AA20,\n\t0x00000002, 0x4062CC29, 0x4063AA20, 0x00000002, 0x4062CC2A, 0x4063AA20,\n\t0x00000002, 0x4062CC2B, 0x4063AA20, 0x00000002, 0x4062CC2C, 0x4063AA20,\n\t0x00000002, 0x4062CC2D, 0x4063AA20, 0x00000002, 0x4062CC2E, 0x4063AA20,\n\t0x00000002, 0x4062CC2F, 0x4063AA20, 0x00000002, 0x4062CC30, 0x4063AA20,\n\t0x00000002, 0x4062CC31, 0x4063AA20, 0x00000002, 0x4062CC32, 0x4063AA20,\n\t0x00000002, 0x4062CC33, 0x4063AA20, 0x00000002, 0x4062CC34, 0x4063AA20,\n\t0x00000002, 0x4062CC35, 0x4063AA20, 0x00000003, 0x4062CC21, 0x4063AA20,\n\t0x40646420, 0x00000003, 0x4062CC22, 0x4063AA20, 0x40646420, 0x00000003,\n\t0x4062CC21, 0x4063AA20, 0x40648C20, 0x00000003,\n\t// Block 625, offset 0x9c40\n\t0x4062CC22, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062CC23, 0x4063AA20,\n\t0x40648C20, 0x00000002, 0x4062CC21, 0x4063B020, 0x00000002, 0x4062CC21,\n\t0x4063B820, 0x00000002, 0x4062CC22, 0x4063B820, 0x00000002, 0x4062CC23,\n\t0x4063B820, 0x00000002, 0x4062CC24, 0x4063B820, 0x00000003, 0x4062CC21,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062CC22, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062CC23, 0x4063B820, 0x40646A20, 0x00000003, 0x4062CC21,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062CC22, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062CC23, 0x4063B820, 0x40648C20, 0x00000003, 0x4062CC24,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062CC25, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062CC26, 0x4063B820, 0x40648C20, 0x00000003, 0x4062CC27,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062CC28,\n\t// Block 626, offset 0x9c80\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062CC29, 0x4063B820, 0x40648C20,\n\t0x00000002, 0x4062CC21, 0x4063BE20, 0x00000002, 0x4062CC22, 0x4063BE20,\n\t0x00000002, 0x4062CC23, 0x4063BE20, 0x00000002, 0x4062CC24, 0x4063BE20,\n\t0x00000002, 0x4062CC25, 0x4063BE20, 0x00000002, 0x4062CC26, 0x4063BE20,\n\t0x00000002, 0x4062CC27, 0x4063BE20, 0x00000002, 0x4062CC21, 0x4063C220,\n\t0x00000002, 0x4062CC22, 0x4063C220, 0x00000002, 0x4062CC23, 0x4063C220,\n\t0x00000002, 0x4062CC24, 0x4063C220, 0x00000002, 0x4062CC25, 0x4063C220,\n\t0x00000002, 0x4062CC26, 0x4063C220, 0x00000002, 0x4062CC27, 0x4063C220,\n\t0x00000002, 0x4062CC28, 0x4063C220, 0x00000002, 0x4062CC29, 0x4063C220,\n\t0x00000003, 0x4062CC21, 0x4063C220, 0x40648C20, 0x00000003, 0x4062CC21,\n\t0x4063CC20, 0x40646420, 0x00000003, 0x4062CC22,\n\t// Block 627, offset 0x9cc0\n\t0x4063CC20, 0x40646420, 0x00000003, 0x4062CC23, 0x4063CC20, 0x40646420,\n\t0x00000003, 0x4062CC21, 0x4063CC20, 0x40648220, 0x00000002, 0x4062CE21,\n\t0x4063A820, 0x00000002, 0x4062CE22, 0x4063A820, 0x00000002, 0x4062CE23,\n\t0x4063A820, 0x00000002, 0x4062CE24, 0x4063A820, 0x00000002, 0x4062CE25,\n\t0x4063A820, 0x00000002, 0x4062CE26, 0x4063A820, 0x00000002, 0x4062CE27,\n\t0x4063A820, 0x00000002, 0x4062CE28, 0x4063A820, 0x00000002, 0x4062CE29,\n\t0x4063A820, 0x00000002, 0x4062CE2A, 0x4063A820, 0x00000002, 0x4062CE2B,\n\t0x4063A820, 0x00000002, 0x4062CE2C, 0x4063A820, 0x00000002, 0x4062CE2D,\n\t0x4063A820, 0x00000002, 0x4062CE2E, 0x4063A820, 0x00000002, 0x4062CE2F,\n\t0x4063A820, 0x00000002, 0x4062CE30, 0x4063A820, 0x00000002, 0x4062CE31,\n\t0x4063A820, 0x00000002, 0x4062CE32, 0x4063A820,\n\t// Block 628, offset 0x9d00\n\t0x00000002, 0x4062CE33, 0x4063A820, 0x00000002, 0x4062CE34, 0x4063A820,\n\t0x00000002, 0x4062CE35, 0x4063A820, 0x00000002, 0x4062CE36, 0x4063A820,\n\t0x00000002, 0x4062CE37, 0x4063A820, 0x00000002, 0x4062CE38, 0x4063A820,\n\t0x00000002, 0x4062CE39, 0x4063A820, 0x00000002, 0x4062CE3A, 0x4063A820,\n\t0x00000002, 0x4062CE3B, 0x4063A820, 0x00000002, 0x4062CE3C, 0x4063A820,\n\t0x00000002, 0x4062CE3D, 0x4063A820, 0x00000002, 0x4062CE3E, 0x4063A820,\n\t0x00000003, 0x4062CE21, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CE22,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CE23, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CE24, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CE25,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CE26, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CE27, 0x4063A820, 0x40646A20,\n\t// Block 629, offset 0x9d40\n\t0x00000003, 0x4062CE28, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CE29,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CE2A, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CE21, 0x4063A820, 0x40647220, 0x00000003, 0x4062CE22,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062CE23, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062CE24, 0x4063A820, 0x40647220, 0x00000003, 0x4062CE25,\n\t0x4063A820, 0x40647220, 0x00000002, 0x4062CE21, 0x4063AA20, 0x00000002,\n\t0x4062CE22, 0x4063AA20, 0x00000002, 0x4062CE23, 0x4063AA20, 0x00000002,\n\t0x4062CE24, 0x4063AA20, 0x00000002, 0x4062CE25, 0x4063AA20, 0x00000002,\n\t0x4062CE26, 0x4063AA20, 0x00000002, 0x4062CE27, 0x4063AA20, 0x00000002,\n\t0x4062CE28, 0x4063AA20, 0x00000002, 0x4062CE29, 0x4063AA20, 0x00000002,\n\t0x4062CE2A, 0x4063AA20, 0x00000002, 0x4062CE2B,\n\t// Block 630, offset 0x9d80\n\t0x4063AA20, 0x00000002, 0x4062CE2C, 0x4063AA20, 0x00000002, 0x4062CE2D,\n\t0x4063AA20, 0x00000002, 0x4062CE2E, 0x4063AA20, 0x00000002, 0x4062CE2F,\n\t0x4063AA20, 0x00000002, 0x4062CE30, 0x4063AA20, 0x00000003, 0x4062CE21,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE22, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062CE23, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE24,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE25, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062CE26, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE27,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE28, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062CE21, 0x4063AC20, 0x40646420, 0x00000003, 0x4062CE21,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062CE22, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062CE23, 0x4063B420, 0x40646A20,\n\t// Block 631, offset 0x9dc0\n\t0x00000003, 0x4062CE24, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE25,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062CE26, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062CE27, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE28,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062CE29, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062CE2A, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE2B,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062CE2C, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062CE2D, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE2E,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062CE2F, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062CE30, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE31,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062CE32, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062CE33, 0x4063B420, 0x40646A20,\n\t// Block 632, offset 0x9e00\n\t0x00000003, 0x4062CE21, 0x4063B420, 0x40648220, 0x00000003, 0x4062CE22,\n\t0x4063B420, 0x40648220, 0x00000003, 0x4062CE23, 0x4063B420, 0x40648220,\n\t0x00000003, 0x4062CE21, 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE22,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062CE23, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062CE24, 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE25,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062CE26, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062CE27, 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE28,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062CE29, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062CE2A, 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE2B,\n\t0x4063B420, 0x40648C20, 0x00000002, 0x4062CE21, 0x4063B620, 0x00000002,\n\t0x4062CE22, 0x4063B620, 0x00000002, 0x4062CE23,\n\t// Block 633, offset 0x9e40\n\t0x4063B620, 0x00000002, 0x4062CE24, 0x4063B620, 0x00000002, 0x4062CE25,\n\t0x4063B620, 0x00000002, 0x4062CE26, 0x4063B620, 0x00000002, 0x4062CE27,\n\t0x4063B620, 0x00000002, 0x4062CE28, 0x4063B620, 0x00000002, 0x4062CE29,\n\t0x4063B620, 0x00000002, 0x4062CE2A, 0x4063B620, 0x00000002, 0x4062CE2B,\n\t0x4063B620, 0x00000002, 0x4062CE2C, 0x4063B620, 0x00000002, 0x4062CE2D,\n\t0x4063B620, 0x00000002, 0x4062CE2E, 0x4063B620, 0x00000002, 0x4062CE21,\n\t0x4063B820, 0x00000002, 0x4062CE22, 0x4063B820, 0x00000002, 0x4062CE23,\n\t0x4063B820, 0x00000002, 0x4062CE24, 0x4063B820, 0x00000002, 0x4062CE25,\n\t0x4063B820, 0x00000002, 0x4062CE26, 0x4063B820, 0x00000002, 0x4062CE27,\n\t0x4063B820, 0x00000002, 0x4062CE28, 0x4063B820, 0x00000002, 0x4062CE29,\n\t0x4063B820, 0x00000002, 0x4062CE2A, 0x4063B820,\n\t// Block 634, offset 0x9e80\n\t0x00000002, 0x4062CE2B, 0x4063B820, 0x00000002, 0x4062CE2C, 0x4063B820,\n\t0x00000002, 0x4062CE2D, 0x4063B820, 0x00000002, 0x4062CE2E, 0x4063B820,\n\t0x00000002, 0x4062CE2F, 0x4063B820, 0x00000002, 0x4062CE30, 0x4063B820,\n\t0x00000002, 0x4062CE31, 0x4063B820, 0x00000002, 0x4062CE32, 0x4063B820,\n\t0x00000002, 0x4062CE33, 0x4063B820, 0x00000002, 0x4062CE34, 0x4063B820,\n\t0x00000002, 0x4062CE35, 0x4063B820, 0x00000002, 0x4062CE36, 0x4063B820,\n\t0x00000002, 0x4062CE37, 0x4063B820, 0x00000002, 0x4062CE38, 0x4063B820,\n\t0x00000002, 0x4062CE39, 0x4063B820, 0x00000002, 0x4062CE3A, 0x4063B820,\n\t0x00000002, 0x4062CE3B, 0x4063B820, 0x00000002, 0x4062CE3C, 0x4063B820,\n\t0x00000002, 0x4062CE3D, 0x4063B820, 0x00000002, 0x4062CE3E, 0x4063B820,\n\t0x00000002, 0x4062CE3F, 0x4063B820, 0x00000002,\n\t// Block 635, offset 0x9ec0\n\t0x4062CE40, 0x4063B820, 0x00000002, 0x4062CE41, 0x4063B820, 0x00000002,\n\t0x4062CE42, 0x4063B820, 0x00000002, 0x4062CE43, 0x4063B820, 0x00000002,\n\t0x4062CE44, 0x4063B820, 0x00000002, 0x4062CE45, 0x4063B820, 0x00000002,\n\t0x4062CE46, 0x4063B820, 0x00000002, 0x4062CE47, 0x4063B820, 0x00000003,\n\t0x4062CE21, 0x4063B820, 0x40646420, 0x00000003, 0x4062CE22, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062CE23, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062CE24, 0x4063B820, 0x40646420, 0x00000003, 0x4062CE25, 0x4063B820,\n\t0x40646420, 0x00000002, 0x4062CE21, 0x4063C020, 0x00000002, 0x4062CE22,\n\t0x4063C020, 0x00000002, 0x4062CE23, 0x4063C020, 0x00000002, 0x4062CE24,\n\t0x4063C020, 0x00000002, 0x4062CE25, 0x4063C020, 0x00000002, 0x4062CE26,\n\t0x4063C020, 0x00000002, 0x4062CE27, 0x4063C020,\n\t// Block 636, offset 0x9f00\n\t0x00000002, 0x4062CE28, 0x4063C020, 0x00000002, 0x4062CE29, 0x4063C020,\n\t0x00000002, 0x4062CE2A, 0x4063C020, 0x00000002, 0x4062CE2B, 0x4063C020,\n\t0x00000002, 0x4062CE2C, 0x4063C020, 0x00000002, 0x4062CE2D, 0x4063C020,\n\t0x00000002, 0x4062CE2E, 0x4063C020, 0x00000002, 0x4062CE2F, 0x4063C020,\n\t0x00000002, 0x4062CE30, 0x4063C020, 0x00000002, 0x4062CE31, 0x4063C020,\n\t0x00000002, 0x4062CE32, 0x4063C020, 0x00000002, 0x4062CE33, 0x4063C020,\n\t0x00000002, 0x4062CE34, 0x4063C020, 0x00000002, 0x4062CE35, 0x4063C020,\n\t0x00000002, 0x4062CE36, 0x4063C020, 0x00000002, 0x4062CE37, 0x4063C020,\n\t0x00000002, 0x4062CE38, 0x4063C020, 0x00000002, 0x4062CE39, 0x4063C020,\n\t0x00000002, 0x4062CE3A, 0x4063C020, 0x00000002, 0x4062CE3B, 0x4063C020,\n\t0x00000003, 0x4062CE21, 0x4063C220, 0x40648220,\n\t// Block 637, offset 0x9f40\n\t0x00000003, 0x4062CE22, 0x4063C220, 0x40648220, 0x00000003, 0x4062CE23,\n\t0x4063C220, 0x40648220, 0x00000003, 0x4062CE21, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062CE22, 0x4063C220, 0x40648C20, 0x00000003, 0x4062CE23,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062CE24, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062CE25, 0x4063C220, 0x40648C20, 0x00000003, 0x4062CE26,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062CE27, 0x4063C220, 0x40648C20,\n\t0x00000002, 0x4062CE21, 0x4063D020, 0x00000002, 0x4062CE22, 0x4063D020,\n\t0x00000002, 0x4062CE23, 0x4063D020, 0x00000002, 0x4062CE24, 0x4063D020,\n\t0x00000002, 0x4062CE25, 0x4063D020, 0x00000002, 0x4062CE26, 0x4063D020,\n\t0x00000002, 0x4062CE27, 0x4063D020, 0x00000002, 0x4062CE28, 0x4063D020,\n\t0x00000002, 0x4062CE29, 0x4063D020, 0x00000002,\n\t// Block 638, offset 0x9f80\n\t0x4062CE2A, 0x4063D020, 0x00000002, 0x4062CE2B, 0x4063D020, 0x00000003,\n\t0x4062CE21, 0x4063D020, 0x40646420, 0x00000003, 0x4062CE21, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE22, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE23, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE24, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE25, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE26, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE27, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE28, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE29, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE2A, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE2B, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE2C, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE2D, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE2E, 0x4063D020,\n\t// Block 639, offset 0x9fc0\n\t0x40647220, 0x00000003, 0x4062CE2F, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE30, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE31, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE32, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE33, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE34, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE35, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE36, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE21, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062CE22, 0x4063D020, 0x40648420, 0x00000003,\n\t0x4062CE23, 0x4063D020, 0x40648420, 0x00000002, 0x4062D021, 0x4063A820,\n\t0x00000002, 0x4062D022, 0x4063A820, 0x00000002, 0x4062D023, 0x4063A820,\n\t0x00000002, 0x4062D024, 0x4063A820, 0x00000002, 0x4062D025, 0x4063A820,\n\t0x00000002, 0x4062D026, 0x4063A820, 0x00000002,\n\t// Block 640, offset 0xa000\n\t0x4062D027, 0x4063A820, 0x00000002, 0x4062D028, 0x4063A820, 0x00000002,\n\t0x4062D029, 0x4063A820, 0x00000002, 0x4062D02A, 0x4063A820, 0x00000002,\n\t0x4062D02B, 0x4063A820, 0x00000002, 0x4062D02C, 0x4063A820, 0x00000002,\n\t0x4062D02D, 0x4063A820, 0x00000002, 0x4062D02E, 0x4063A820, 0x00000002,\n\t0x4062D02F, 0x4063A820, 0x00000002, 0x4062D030, 0x4063A820, 0x00000002,\n\t0x4062D031, 0x4063A820, 0x00000002, 0x4062D032, 0x4063A820, 0x00000002,\n\t0x4062D033, 0x4063A820, 0x00000002, 0x4062D034, 0x4063A820, 0x00000002,\n\t0x4062D035, 0x4063A820, 0x00000002, 0x4062D036, 0x4063A820, 0x00000003,\n\t0x4062D021, 0x4063A820, 0x40646420, 0x00000003, 0x4062D022, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062D023, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062D024, 0x4063A820, 0x40646420, 0x00000003,\n\t// Block 641, offset 0xa040\n\t0x4062D025, 0x4063A820, 0x40646420, 0x00000003, 0x4062D026, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062D027, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062D028, 0x4063A820, 0x40646420, 0x00000003, 0x4062D029, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062D02A, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062D02B, 0x4063A820, 0x40646420, 0x00000003, 0x4062D021, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D022, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D023, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D024, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D025, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D026, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D027, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D028, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D029, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 642, offset 0xa080\n\t0x4062D02A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D02B, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D02C, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D02D, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D02E, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D02F, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D030, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D031, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D032, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D033, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D034, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D035, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D036, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D037, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D021, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062D022, 0x4063A820, 0x40647220, 0x00000003,\n\t// Block 643, offset 0xa0c0\n\t0x4062D023, 0x4063A820, 0x40647220, 0x00000003, 0x4062D021, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062D022, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062D023, 0x4063A820, 0x40648220, 0x00000003, 0x4062D024, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062D025, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062D026, 0x4063A820, 0x40648220, 0x00000003, 0x4062D027, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062D028, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062D029, 0x4063A820, 0x40648220, 0x00000003, 0x4062D02A, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062D02B, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062D02C, 0x4063A820, 0x40648220, 0x00000003, 0x4062D02D, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062D02E, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062D02F, 0x4063A820, 0x40648220, 0x00000003,\n\t// Block 644, offset 0xa100\n\t0x4062D030, 0x4063A820, 0x40648220, 0x00000003, 0x4062D031, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062D021, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062D022, 0x4063A820, 0x40648420, 0x00000003, 0x4062D023, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062D024, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062D025, 0x4063A820, 0x40648420, 0x00000003, 0x4062D026, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062D027, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062D028, 0x4063A820, 0x40648420, 0x00000003, 0x4062D029, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062D02A, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062D02B, 0x4063A820, 0x40648420, 0x00000003, 0x4062D02C, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062D02D, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062D02E, 0x4063A820, 0x40648420, 0x00000003,\n\t// Block 645, offset 0xa140\n\t0x4062D021, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D022, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062D023, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062D024, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D025, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062D026, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062D027, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D028, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062D029, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062D02A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D02B, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062D02C, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062D02D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D02E, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062D02F, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062D030, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 646, offset 0xa180\n\t0x4062D031, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D032, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062D033, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062D034, 0x4063A820, 0x40648C20, 0x00000002, 0x4062D021, 0x4063AA20,\n\t0x00000002, 0x4062D022, 0x4063AA20, 0x00000002, 0x4062D023, 0x4063AA20,\n\t0x00000002, 0x4062D024, 0x4063AA20, 0x00000002, 0x4062D025, 0x4063AA20,\n\t0x00000002, 0x4062D026, 0x4063AA20, 0x00000002, 0x4062D027, 0x4063AA20,\n\t0x00000002, 0x4062D028, 0x4063AA20, 0x00000002, 0x4062D029, 0x4063AA20,\n\t0x00000002, 0x4062D02A, 0x4063AA20, 0x00000002, 0x4062D02B, 0x4063AA20,\n\t0x00000002, 0x4062D02C, 0x4063AA20, 0x00000002, 0x4062D02D, 0x4063AA20,\n\t0x00000002, 0x4062D02E, 0x4063AA20, 0x00000002, 0x4062D02F, 0x4063AA20,\n\t0x00000002, 0x4062D030, 0x4063AA20, 0x00000002,\n\t// Block 647, offset 0xa1c0\n\t0x4062D031, 0x4063AA20, 0x00000002, 0x4062D032, 0x4063AA20, 0x00000002,\n\t0x4062D033, 0x4063AA20, 0x00000002, 0x4062D034, 0x4063AA20, 0x00000002,\n\t0x4062D035, 0x4063AA20, 0x00000002, 0x4062D036, 0x4063AA20, 0x00000002,\n\t0x4062D037, 0x4063AA20, 0x00000002, 0x4062D038, 0x4063AA20, 0x00000002,\n\t0x4062D039, 0x4063AA20, 0x00000002, 0x4062D03A, 0x4063AA20, 0x00000002,\n\t0x4062D03B, 0x4063AA20, 0x00000002, 0x4062D03C, 0x4063AA20, 0x00000002,\n\t0x4062D03D, 0x4063AA20, 0x00000003, 0x4062D021, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062D022, 0x4063AA20, 0x40646420, 0x00000003, 0x4062D023,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062D024, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062D021, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062D022,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062D023,\n\t// Block 648, offset 0xa200\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062D024, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062D025, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062D026,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062D021, 0x4063AC20, 0x40648C20,\n\t0x00000003, 0x4062D022, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062D023,\n\t0x4063AC20, 0x40648C20, 0x00000003, 0x4062D024, 0x4063AC20, 0x40648C20,\n\t0x00000003, 0x4062D025, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062D026,\n\t0x4063AC20, 0x40648C20, 0x00000003, 0x4062D027, 0x4063AC20, 0x40648C20,\n\t0x00000003, 0x4062D028, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062D029,\n\t0x4063AC20, 0x40648C20, 0x00000003, 0x4062D02A, 0x4063AC20, 0x40648C20,\n\t0x00000002, 0x4062D021, 0x4063B020, 0x00000002, 0x4062D022, 0x4063B020,\n\t0x00000002, 0x4062D023, 0x4063B020, 0x00000002,\n\t// Block 649, offset 0xa240\n\t0x4062D024, 0x4063B020, 0x00000002, 0x4062D025, 0x4063B020, 0x00000003,\n\t0x4062D021, 0x4063B020, 0x40646A20, 0x00000003, 0x4062D022, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062D023, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062D024, 0x4063B020, 0x40646A20, 0x00000003, 0x4062D025, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062D026, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062D027, 0x4063B020, 0x40646A20, 0x00000003, 0x4062D021, 0x4063B020,\n\t0x40647220, 0x00000003, 0x4062D021, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062D022, 0x4063B020, 0x40648220, 0x00000003, 0x4062D023, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062D024, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062D025, 0x4063B020, 0x40648220, 0x00000003, 0x4062D021, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062D022, 0x4063B420,\n\t// Block 650, offset 0xa280\n\t0x40646420, 0x00000003, 0x4062D023, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062D024, 0x4063B420, 0x40646420, 0x00000003, 0x4062D025, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062D026, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062D027, 0x4063B420, 0x40646420, 0x00000003, 0x4062D028, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062D021, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D022, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D023, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D024, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D025, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D026, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D027, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D028, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D029, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D02A, 0x4063B420,\n\t// Block 651, offset 0xa2c0\n\t0x40646A20, 0x00000003, 0x4062D02B, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D02C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D02D, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D02E, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D02F, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D030, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D031, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D032, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D033, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D034, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D035, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D036, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D037, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D038, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D039, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D03A, 0x4063B420,\n\t// Block 652, offset 0xa300\n\t0x40646A20, 0x00000003, 0x4062D03B, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D03C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D03D, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D03E, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D03F, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D040, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D021, 0x4063B420, 0x40647220, 0x00000003,\n\t0x4062D022, 0x4063B420, 0x40647220, 0x00000003, 0x4062D023, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062D024, 0x4063B420, 0x40647220, 0x00000003,\n\t0x4062D025, 0x4063B420, 0x40647220, 0x00000003, 0x4062D026, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062D021, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062D021, 0x4063B420, 0x40648420, 0x00000003, 0x4062D022, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062D023, 0x4063B420,\n\t// Block 653, offset 0xa340\n\t0x40648420, 0x00000003, 0x4062D024, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062D025, 0x4063B420, 0x40648420, 0x00000003, 0x4062D026, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062D027, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062D028, 0x4063B420, 0x40648420, 0x00000003, 0x4062D029, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062D02A, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062D02B, 0x4063B420, 0x40648420, 0x00000003, 0x4062D02C, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062D02D, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062D02E, 0x4063B420, 0x40648420, 0x00000003, 0x4062D02F, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062D030, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062D031, 0x4063B420, 0x40648420, 0x00000003, 0x4062D032, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062D033, 0x4063B420,\n\t// Block 654, offset 0xa380\n\t0x40648420, 0x00000003, 0x4062D021, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D022, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D023, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D024, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D025, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D026, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D027, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D028, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D029, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D02A, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D02B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D02C, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D02D, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D02E, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D02F, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D030, 0x4063B420,\n\t// Block 655, offset 0xa3c0\n\t0x40648C20, 0x00000003, 0x4062D031, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D032, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D033, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D034, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D035, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D036, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D037, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D038, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D039, 0x4063B420,\n\t0x40648C20, 0x00000002, 0x4062D021, 0x4063B620, 0x00000002, 0x4062D022,\n\t0x4063B620, 0x00000002, 0x4062D023, 0x4063B620, 0x00000002, 0x4062D024,\n\t0x4063B620, 0x00000002, 0x4062D025, 0x4063B620, 0x00000002, 0x4062D026,\n\t0x4063B620, 0x00000002, 0x4062D027, 0x4063B620, 0x00000002, 0x4062D028,\n\t0x4063B620, 0x00000002, 0x4062D029, 0x4063B620,\n\t// Block 656, offset 0xa400\n\t0x00000002, 0x4062D02A, 0x4063B620, 0x00000002, 0x4062D02B, 0x4063B620,\n\t0x00000002, 0x4062D02C, 0x4063B620, 0x00000002, 0x4062D02D, 0x4063B620,\n\t0x00000002, 0x4062D02E, 0x4063B620, 0x00000002, 0x4062D02F, 0x4063B620,\n\t0x00000002, 0x4062D030, 0x4063B620, 0x00000002, 0x4062D031, 0x4063B620,\n\t0x00000002, 0x4062D021, 0x4063B820, 0x00000002, 0x4062D022, 0x4063B820,\n\t0x00000002, 0x4062D023, 0x4063B820, 0x00000002, 0x4062D024, 0x4063B820,\n\t0x00000002, 0x4062D025, 0x4063B820, 0x00000002, 0x4062D026, 0x4063B820,\n\t0x00000002, 0x4062D027, 0x4063B820, 0x00000002, 0x4062D028, 0x4063B820,\n\t0x00000002, 0x4062D029, 0x4063B820, 0x00000002, 0x4062D02A, 0x4063B820,\n\t0x00000002, 0x4062D02B, 0x4063B820, 0x00000002, 0x4062D02C, 0x4063B820,\n\t0x00000002, 0x4062D02D, 0x4063B820, 0x00000002,\n\t// Block 657, offset 0xa440\n\t0x4062D02E, 0x4063B820, 0x00000002, 0x4062D02F, 0x4063B820, 0x00000002,\n\t0x4062D030, 0x4063B820, 0x00000002, 0x4062D031, 0x4063B820, 0x00000002,\n\t0x4062D032, 0x4063B820, 0x00000002, 0x4062D033, 0x4063B820, 0x00000002,\n\t0x4062D034, 0x4063B820, 0x00000002, 0x4062D035, 0x4063B820, 0x00000002,\n\t0x4062D036, 0x4063B820, 0x00000002, 0x4062D037, 0x4063B820, 0x00000002,\n\t0x4062D038, 0x4063B820, 0x00000002, 0x4062D039, 0x4063B820, 0x00000002,\n\t0x4062D03A, 0x4063B820, 0x00000002, 0x4062D03B, 0x4063B820, 0x00000002,\n\t0x4062D03C, 0x4063B820, 0x00000002, 0x4062D03D, 0x4063B820, 0x00000002,\n\t0x4062D03E, 0x4063B820, 0x00000002, 0x4062D03F, 0x4063B820, 0x00000002,\n\t0x4062D040, 0x4063B820, 0x00000002, 0x4062D041, 0x4063B820, 0x00000002,\n\t0x4062D042, 0x4063B820, 0x00000002, 0x4062D043,\n\t// Block 658, offset 0xa480\n\t0x4063B820, 0x00000002, 0x4062D044, 0x4063B820, 0x00000002, 0x4062D045,\n\t0x4063B820, 0x00000002, 0x4062D046, 0x4063B820, 0x00000002, 0x4062D047,\n\t0x4063B820, 0x00000002, 0x4062D048, 0x4063B820, 0x00000002, 0x4062D049,\n\t0x4063B820, 0x00000002, 0x4062D04A, 0x4063B820, 0x00000002, 0x4062D04B,\n\t0x4063B820, 0x00000002, 0x4062D04C, 0x4063B820, 0x00000002, 0x4062D04D,\n\t0x4063B820, 0x00000002, 0x4062D04E, 0x4063B820, 0x00000002, 0x4062D04F,\n\t0x4063B820, 0x00000002, 0x4062D050, 0x4063B820, 0x00000002, 0x4062D051,\n\t0x4063B820, 0x00000002, 0x4062D052, 0x4063B820, 0x00000002, 0x4062D053,\n\t0x4063B820, 0x00000002, 0x4062D054, 0x4063B820, 0x00000002, 0x4062D055,\n\t0x4063B820, 0x00000002, 0x4062D056, 0x4063B820, 0x00000002, 0x4062D057,\n\t0x4063B820, 0x00000002, 0x4062D058, 0x4063B820,\n\t// Block 659, offset 0xa4c0\n\t0x00000002, 0x4062D059, 0x4063B820, 0x00000002, 0x4062D05A, 0x4063B820,\n\t0x00000002, 0x4062D05B, 0x4063B820, 0x00000003, 0x4062D021, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062D022, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062D023, 0x4063B820, 0x40646420, 0x00000003, 0x4062D021, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062D022, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062D023, 0x4063B820, 0x40646A20, 0x00000003, 0x4062D024, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062D025, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062D026, 0x4063B820, 0x40646A20, 0x00000003, 0x4062D027, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062D028, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062D029, 0x4063B820, 0x40646A20, 0x00000003, 0x4062D02A, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062D02B, 0x4063B820,\n\t// Block 660, offset 0xa500\n\t0x40646A20, 0x00000003, 0x4062D021, 0x4063B820, 0x40647220, 0x00000003,\n\t0x4062D022, 0x4063B820, 0x40647220, 0x00000003, 0x4062D023, 0x4063B820,\n\t0x40647220, 0x00000003, 0x4062D024, 0x4063B820, 0x40647220, 0x00000003,\n\t0x4062D021, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D022, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062D023, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062D024, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D025, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062D026, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062D027, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D028, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062D029, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062D02A, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D02B, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062D02C, 0x4063B820,\n\t// Block 661, offset 0xa540\n\t0x40648C20, 0x00000003, 0x4062D02D, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062D02E, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D02F, 0x4063B820,\n\t0x40648C20, 0x00000002, 0x4062D021, 0x4063BA20, 0x00000002, 0x4062D022,\n\t0x4063BA20, 0x00000002, 0x4062D023, 0x4063BA20, 0x00000002, 0x4062D024,\n\t0x4063BA20, 0x00000002, 0x4062D025, 0x4063BA20, 0x00000002, 0x4062D026,\n\t0x4063BA20, 0x00000002, 0x4062D027, 0x4063BA20, 0x00000002, 0x4062D028,\n\t0x4063BA20, 0x00000002, 0x4062D029, 0x4063BA20, 0x00000002, 0x4062D02A,\n\t0x4063BA20, 0x00000002, 0x4062D02B, 0x4063BA20, 0x00000002, 0x4062D02C,\n\t0x4063BA20, 0x00000002, 0x4062D02D, 0x4063BA20, 0x00000002, 0x4062D02E,\n\t0x4063BA20, 0x00000002, 0x4062D02F, 0x4063BA20, 0x00000002, 0x4062D030,\n\t0x4063BA20, 0x00000002, 0x4062D031, 0x4063BA20,\n\t// Block 662, offset 0xa580\n\t0x00000002, 0x4062D032, 0x4063BA20, 0x00000002, 0x4062D033, 0x4063BA20,\n\t0x00000002, 0x4062D034, 0x4063BA20, 0x00000002, 0x4062D035, 0x4063BA20,\n\t0x00000003, 0x4062D021, 0x4063BA20, 0x40646420, 0x00000003, 0x4062D022,\n\t0x4063BA20, 0x40646420, 0x00000003, 0x4062D023, 0x4063BA20, 0x40646420,\n\t0x00000003, 0x4062D024, 0x4063BA20, 0x40646420, 0x00000003, 0x4062D025,\n\t0x4063BA20, 0x40646420, 0x00000003, 0x4062D026, 0x4063BA20, 0x40646420,\n\t0x00000003, 0x4062D027, 0x4063BA20, 0x40646420, 0x00000003, 0x4062D028,\n\t0x4063BA20, 0x40646420, 0x00000003, 0x4062D029, 0x4063BA20, 0x40646420,\n\t0x00000003, 0x4062D021, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D022,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D023, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D024, 0x4063BA20, 0x40646A20,\n\t// Block 663, offset 0xa5c0\n\t0x00000003, 0x4062D025, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D026,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D027, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D028, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D029,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D02A, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D02B, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D02C,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D02D, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D02E, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D02F,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D030, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D031, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D032,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D033, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D034, 0x4063BA20, 0x40646A20,\n\t// Block 664, offset 0xa600\n\t0x00000003, 0x4062D035, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D036,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D037, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D038, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D039,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D03A, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D03B, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D03C,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D03D, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D021, 0x4063BA20, 0x40647220, 0x00000003, 0x4062D022,\n\t0x4063BA20, 0x40647220, 0x00000003, 0x4062D023, 0x4063BA20, 0x40647220,\n\t0x00000003, 0x4062D024, 0x4063BA20, 0x40647220, 0x00000003, 0x4062D025,\n\t0x4063BA20, 0x40647220, 0x00000003, 0x4062D026, 0x4063BA20, 0x40647220,\n\t0x00000003, 0x4062D021, 0x4063BA20, 0x40648C20,\n\t// Block 665, offset 0xa640\n\t0x00000003, 0x4062D022, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D023,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D024, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D025, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D026,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D027, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D028, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D029,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D02A, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D02B, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D02C,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D02D, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D02E, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D02F,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D030, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D031, 0x4063BA20, 0x40648C20,\n\t// Block 666, offset 0xa680\n\t0x00000003, 0x4062D032, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D033,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D034, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D035, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D036,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D037, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D038, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D039,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D03A, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D03B, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D03C,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D03D, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D03E, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D03F,\n\t0x4063BA20, 0x40648C20, 0x00000002, 0x4062D021, 0x4063BE20, 0x00000002,\n\t0x4062D022, 0x4063BE20, 0x00000002, 0x4062D023,\n\t// Block 667, offset 0xa6c0\n\t0x4063BE20, 0x00000002, 0x4062D024, 0x4063BE20, 0x00000002, 0x4062D025,\n\t0x4063BE20, 0x00000002, 0x4062D026, 0x4063BE20, 0x00000002, 0x4062D027,\n\t0x4063BE20, 0x00000002, 0x4062D028, 0x4063BE20, 0x00000002, 0x4062D029,\n\t0x4063BE20, 0x00000002, 0x4062D02A, 0x4063BE20, 0x00000002, 0x4062D02B,\n\t0x4063BE20, 0x00000002, 0x4062D02C, 0x4063BE20, 0x00000002, 0x4062D02D,\n\t0x4063BE20, 0x00000002, 0x4062D02E, 0x4063BE20, 0x00000002, 0x4062D02F,\n\t0x4063BE20, 0x00000002, 0x4062D030, 0x4063BE20, 0x00000002, 0x4062D031,\n\t0x4063BE20, 0x00000002, 0x4062D032, 0x4063BE20, 0x00000002, 0x4062D033,\n\t0x4063BE20, 0x00000002, 0x4062D034, 0x4063BE20, 0x00000002, 0x4062D035,\n\t0x4063BE20, 0x00000002, 0x4062D036, 0x4063BE20, 0x00000002, 0x4062D037,\n\t0x4063BE20, 0x00000002, 0x4062D038, 0x4063BE20,\n\t// Block 668, offset 0xa700\n\t0x00000002, 0x4062D039, 0x4063BE20, 0x00000002, 0x4062D03A, 0x4063BE20,\n\t0x00000002, 0x4062D03B, 0x4063BE20, 0x00000002, 0x4062D03C, 0x4063BE20,\n\t0x00000002, 0x4062D03D, 0x4063BE20, 0x00000003, 0x4062D021, 0x4063BE20,\n\t0x40646420, 0x00000003, 0x4062D022, 0x4063BE20, 0x40646420, 0x00000003,\n\t0x4062D023, 0x4063BE20, 0x40646420, 0x00000003, 0x4062D021, 0x4063BE20,\n\t0x40648C20, 0x00000003, 0x4062D022, 0x4063BE20, 0x40648C20, 0x00000003,\n\t0x4062D023, 0x4063BE20, 0x40648C20, 0x00000003, 0x4062D024, 0x4063BE20,\n\t0x40648C20, 0x00000003, 0x4062D025, 0x4063BE20, 0x40648C20, 0x00000003,\n\t0x4062D026, 0x4063BE20, 0x40648C20, 0x00000002, 0x4062D021, 0x4063C020,\n\t0x00000002, 0x4062D022, 0x4063C020, 0x00000002, 0x4062D023, 0x4063C020,\n\t0x00000002, 0x4062D024, 0x4063C020, 0x00000002,\n\t// Block 669, offset 0xa740\n\t0x4062D025, 0x4063C020, 0x00000002, 0x4062D026, 0x4063C020, 0x00000002,\n\t0x4062D027, 0x4063C020, 0x00000002, 0x4062D028, 0x4063C020, 0x00000002,\n\t0x4062D029, 0x4063C020, 0x00000002, 0x4062D02A, 0x4063C020, 0x00000002,\n\t0x4062D02B, 0x4063C020, 0x00000002, 0x4062D02C, 0x4063C020, 0x00000002,\n\t0x4062D02D, 0x4063C020, 0x00000002, 0x4062D02E, 0x4063C020, 0x00000002,\n\t0x4062D02F, 0x4063C020, 0x00000002, 0x4062D030, 0x4063C020, 0x00000002,\n\t0x4062D031, 0x4063C020, 0x00000002, 0x4062D032, 0x4063C020, 0x00000002,\n\t0x4062D033, 0x4063C020, 0x00000002, 0x4062D034, 0x4063C020, 0x00000002,\n\t0x4062D035, 0x4063C020, 0x00000002, 0x4062D021, 0x4063C220, 0x00000002,\n\t0x4062D022, 0x4063C220, 0x00000002, 0x4062D023, 0x4063C220, 0x00000002,\n\t0x4062D024, 0x4063C220, 0x00000002, 0x4062D025,\n\t// Block 670, offset 0xa780\n\t0x4063C220, 0x00000002, 0x4062D026, 0x4063C220, 0x00000002, 0x4062D027,\n\t0x4063C220, 0x00000002, 0x4062D028, 0x4063C220, 0x00000002, 0x4062D029,\n\t0x4063C220, 0x00000002, 0x4062D02A, 0x4063C220, 0x00000002, 0x4062D02B,\n\t0x4063C220, 0x00000002, 0x4062D02C, 0x4063C220, 0x00000002, 0x4062D02D,\n\t0x4063C220, 0x00000002, 0x4062D02E, 0x4063C220, 0x00000002, 0x4062D02F,\n\t0x4063C220, 0x00000002, 0x4062D030, 0x4063C220, 0x00000002, 0x4062D031,\n\t0x4063C220, 0x00000002, 0x4062D032, 0x4063C220, 0x00000002, 0x4062D033,\n\t0x4063C220, 0x00000002, 0x4062D034, 0x4063C220, 0x00000002, 0x4062D035,\n\t0x4063C220, 0x00000002, 0x4062D036, 0x4063C220, 0x00000002, 0x4062D037,\n\t0x4063C220, 0x00000002, 0x4062D038, 0x4063C220, 0x00000003, 0x4062D021,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062D022,\n\t// Block 671, offset 0xa7c0\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062D023, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062D024, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D025,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062D026, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062D027, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D028,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062D029, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062D02A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D02B,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062D02C, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062D02D, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D02E,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062D02F, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062D030, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D021,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062D021,\n\t// Block 672, offset 0xa800\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062D021, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062D022, 0x4063C420, 0x40646A20, 0x00000003, 0x4062D023,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062D024, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062D025, 0x4063C420, 0x40646A20, 0x00000003, 0x4062D026,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062D027, 0x4063C420, 0x40646A20,\n\t0x00000002, 0x4062D021, 0x4063C620, 0x00000002, 0x4062D022, 0x4063C620,\n\t0x00000002, 0x4062D023, 0x4063C620, 0x00000002, 0x4062D024, 0x4063C620,\n\t0x00000002, 0x4062D025, 0x4063C620, 0x00000002, 0x4062D026, 0x4063C620,\n\t0x00000002, 0x4062D027, 0x4063C620, 0x00000002, 0x4062D021, 0x4063C820,\n\t0x00000002, 0x4062D022, 0x4063C820, 0x00000002, 0x4062D023, 0x4063C820,\n\t0x00000002, 0x4062D024, 0x4063C820, 0x00000002,\n\t// Block 673, offset 0xa840\n\t0x4062D025, 0x4063C820, 0x00000002, 0x4062D026, 0x4063C820, 0x00000002,\n\t0x4062D027, 0x4063C820, 0x00000002, 0x4062D028, 0x4063C820, 0x00000002,\n\t0x4062D029, 0x4063C820, 0x00000002, 0x4062D02A, 0x4063C820, 0x00000002,\n\t0x4062D021, 0x4063CA20, 0x00000002, 0x4062D022, 0x4063CA20, 0x00000002,\n\t0x4062D023, 0x4063CA20, 0x00000002, 0x4062D024, 0x4063CA20, 0x00000002,\n\t0x4062D025, 0x4063CA20, 0x00000002, 0x4062D026, 0x4063CA20, 0x00000002,\n\t0x4062D027, 0x4063CA20, 0x00000002, 0x4062D028, 0x4063CA20, 0x00000002,\n\t0x4062D029, 0x4063CA20, 0x00000002, 0x4062D02A, 0x4063CA20, 0x00000003,\n\t0x4062D021, 0x4063CA20, 0x40647220, 0x00000003, 0x4062D022, 0x4063CA20,\n\t0x40647220, 0x00000003, 0x4062D023, 0x4063CA20, 0x40647220, 0x00000003,\n\t0x4062D024, 0x4063CA20, 0x40647220, 0x00000003,\n\t// Block 674, offset 0xa880\n\t0x4062D021, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062D022, 0x4063CA20,\n\t0x40648C20, 0x00000003, 0x4062D023, 0x4063CA20, 0x40648C20, 0x00000003,\n\t0x4062D024, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062D025, 0x4063CA20,\n\t0x40648C20, 0x00000003, 0x4062D026, 0x4063CA20, 0x40648C20, 0x00000003,\n\t0x4062D027, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062D021, 0x4063CC20,\n\t0x40646420, 0x00000003, 0x4062D021, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062D022, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062D023, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062D024, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062D025, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062D026, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062D027, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062D028, 0x4063CC20, 0x40646A20, 0x00000003,\n\t// Block 675, offset 0xa8c0\n\t0x4062D029, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062D02A, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062D021, 0x4063CC20, 0x40647220, 0x00000003,\n\t0x4062D022, 0x4063CC20, 0x40647220, 0x00000003, 0x4062D023, 0x4063CC20,\n\t0x40647220, 0x00000003, 0x4062D024, 0x4063CC20, 0x40647220, 0x00000003,\n\t0x4062D025, 0x4063CC20, 0x40647220, 0x00000003, 0x4062D026, 0x4063CC20,\n\t0x40647220, 0x00000003, 0x4062D027, 0x4063CC20, 0x40647220, 0x00000003,\n\t0x4062D028, 0x4063CC20, 0x40647220, 0x00000003, 0x4062D029, 0x4063CC20,\n\t0x40647220, 0x00000003, 0x4062D021, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062D022, 0x4063CC20, 0x40648220, 0x00000003, 0x4062D023, 0x4063CC20,\n\t0x40648220, 0x00000003, 0x4062D024, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062D021, 0x4063CC20, 0x40648420, 0x00000003,\n\t// Block 676, offset 0xa900\n\t0x4062D022, 0x4063CC20, 0x40648420, 0x00000003, 0x4062D023, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062D024, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062D025, 0x4063CC20, 0x40648420, 0x00000003, 0x4062D026, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062D027, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062D028, 0x4063CC20, 0x40648420, 0x00000003, 0x4062D021, 0x4063CC20,\n\t0x40648C20, 0x00000002, 0x4062D021, 0x4063CE20, 0x00000002, 0x4062D022,\n\t0x4063CE20, 0x00000002, 0x4062D023, 0x4063CE20, 0x00000002, 0x4062D024,\n\t0x4063CE20, 0x00000002, 0x4062D025, 0x4063CE20, 0x00000002, 0x4062D026,\n\t0x4063CE20, 0x00000002, 0x4062D027, 0x4063CE20, 0x00000002, 0x4062D028,\n\t0x4063CE20, 0x00000002, 0x4062D029, 0x4063CE20, 0x00000002, 0x4062D02A,\n\t0x4063CE20, 0x00000002, 0x4062D02B, 0x4063CE20,\n\t// Block 677, offset 0xa940\n\t0x00000002, 0x4062D02C, 0x4063CE20, 0x00000002, 0x4062D02D, 0x4063CE20,\n\t0x00000002, 0x4062D02E, 0x4063CE20, 0x00000002, 0x4062D02F, 0x4063CE20,\n\t0x00000002, 0x4062D030, 0x4063CE20, 0x00000002, 0x4062D031, 0x4063CE20,\n\t0x00000002, 0x4062D032, 0x4063CE20, 0x00000002, 0x4062D033, 0x4063CE20,\n\t0x00000002, 0x4062D034, 0x4063CE20, 0x00000002, 0x4062D035, 0x4063CE20,\n\t0x00000002, 0x4062D036, 0x4063CE20, 0x00000002, 0x4062D037, 0x4063CE20,\n\t0x00000002, 0x4062D038, 0x4063CE20, 0x00000002, 0x4062D039, 0x4063CE20,\n\t0x00000002, 0x4062D03A, 0x4063CE20, 0x00000002, 0x4062D03B, 0x4063CE20,\n\t0x00000002, 0x4062D03C, 0x4063CE20, 0x00000002, 0x4062D03D, 0x4063CE20,\n\t0x00000002, 0x4062D03E, 0x4063CE20, 0x00000002, 0x4062D03F, 0x4063CE20,\n\t0x00000003, 0x4062D021, 0x4063D020, 0x40647220,\n\t// Block 678, offset 0xa980\n\t0x00000003, 0x4062D022, 0x4063D020, 0x40647220, 0x00000003, 0x4062D023,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062D024, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062D025, 0x4063D020, 0x40647220, 0x00000003, 0x4062D026,\n\t0x4063D020, 0x40647220, 0x00000002, 0x40403C20, 0xA070F102, 0x00000002,\n\t0x402D9A22, 0xAE603202, 0x00000002, 0x002D9AC3, 0xAE603202, 0x00000002,\n\t0x402D9A22, 0xAE603502, 0x00000002, 0x002D9AC3, 0xAE603502, 0x00000002,\n\t0x402D9A22, 0xAE603C02, 0x00000002, 0x002D9AC3, 0xAE603C02, 0x00000002,\n\t0x402D9A22, 0xAE604302, 0x00000002, 0x402D9A22, 0xAE604702, 0x00000002,\n\t0x002D9AC3, 0xAE604702, 0x00000002, 0x402D9A22, 0xAE604E02, 0x00000002,\n\t0x002D9AC3, 0xAE604E02, 0x00000002, 0x402D9A22, 0xAE605202, 0x00000002,\n\t0x002D9AC3, 0xAE605202, 0x00000002, 0x402D9A22,\n\t// Block 679, offset 0xa9c0\n\t0xAE605B02, 0x00000002, 0x002D9AC3, 0xAE605B02, 0x00000002, 0x402D9A22,\n\t0xAE606402, 0x00000002, 0x002D9AC3, 0xAE606402, 0x00000002, 0x402D9A22,\n\t0xADC07002, 0x00000002, 0x002D9AC3, 0xADC07002, 0x00000002, 0x40306C22,\n\t0xAE604702, 0x00000002, 0x00306CC3, 0xAE604702, 0x00000002, 0x40302A20,\n\t0xAE605202, 0x00000002, 0x00302A83, 0xAE605202, 0x00000002, 0x40442221,\n\t0x82092248, 0x00000002, 0x004422A3, 0x82092248, 0x00000002, 0x40443E21,\n\t0x82092248, 0x00000002, 0x00443EA3, 0x82092248, 0x00000002, 0x00444883,\n\t0x82092248, 0x00000002, 0x40444821, 0x82092248, 0x00000002, 0x004448A3,\n\t0x82092248, 0x00000002, 0x40445421, 0x82092248, 0x00000002, 0x40445821,\n\t0x82092248, 0x00000002, 0x004458A3, 0x82092248, 0x00000002, 0x40445A21,\n\t0x82092248, 0x00000002, 0x00445AA3, 0x82092248,\n\t// Block 680, offset 0xaa00\n\t0x00000002, 0x40446621, 0x82092248, 0x00000002, 0x004466A3, 0x82092248,\n\t0x00000002, 0x402D6820, 0xA0007D02, 0x00000002, 0x002D6894, 0xA0007D14,\n\t0x00000005, 0x404E6020, 0x404E8420, 0x404E2420, 0x8209278B, 0x404F3020,\n\t0x00000006, 0x404E6A20, 0x8209278B, 0x404E6A20, 0x404EEE20, 0x404E7220,\n\t0x8209278B, 0x00000006, 0x404E6A21, 0x40510E20, 0x404EE620, 0x404EEE20,\n\t0x404E1420, 0x8209278B, 0x00000004, 0x404E8C21, 0x40510A20, 0x404EFE20,\n\t0x404F2E20, 0x00000006, 0x404E9420, 0x404E1420, 0x8209278B, 0x404E8220,\n\t0x404E1420, 0x8209278B, 0x00000005, 0x404E9420, 0x404E1420, 0x8209278B,\n\t0x404E8820, 0x404EDE20, 0x0000000A, 0x404E9421, 0x404E4820, 0x8209278B,\n\t0x404F3020, 0x404E1420, 0x404EFE20, 0x404EDE20, 0x404E2420, 0x8209278B,\n\t0x404F3020, 0x00000003, 0x404EA620, 0x404E8420,\n\t// Block 681, offset 0xaa40\n\t0x404EEA20, 0x00000003, 0x404EA620, 0x8209278A, 0x404EA620, 0x00000002,\n\t0x004EC283, 0x404EE620, 0x00000002, 0x404EC221, 0x404EE620, 0x00000002,\n\t0x004EC283, 0x404EEA20, 0x00000002, 0x004EC283, 0x404EEE20, 0x00000003,\n\t0x004EC283, 0x404EEE20, 0x404F0C20, 0x00000002, 0x004EC283, 0x404EF420,\n\t0x00000002, 0x004EC283, 0x404EFE20, 0x00000002, 0x004EC284, 0x404EFE20,\n\t0x00000003, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E1820, 0x8209278A,\n\t// Block 682, offset 0xaa80\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E1820, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E1820, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E1820, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E1C20, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E1C20, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E1C20, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E1C20, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E2220, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E2220, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E2220, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t// Block 683, offset 0xaac0\n\t0x404E2220, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E2420, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E2420, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E2420, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E2420, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E2820, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E2820, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E2820, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E2820, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E2E20, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E2E20, 0x8209278A, 0x00000005, 0x004EC283,\n\t// Block 684, offset 0xab00\n\t0x404EFE20, 0x404EDE20, 0x404E2E20, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E2E20, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E3220, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E3220, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E3220, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E3220, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E4220, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E4220, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E4220, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E4220, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E4820, 0x8209278A,\n\t// Block 685, offset 0xab40\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4820, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4820, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4820, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4A20, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4A20, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4A20, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4A20, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4E20, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4E20, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4E20, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t// Block 686, offset 0xab80\n\t0x404E4E20, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E5220, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E5220, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E5220, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E5220, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E5620, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E5620, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E5620, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E5620, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E5A20, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E5A20, 0x8209278A, 0x00000005, 0x004EC283,\n\t// Block 687, offset 0xabc0\n\t0x404EFE20, 0x404EDE20, 0x404E5A20, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E5A20, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E5E20, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E5E20, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E5E20, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E5E20, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E6020, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E6020, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E6020, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E6020, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E6220, 0x8209278A,\n\t// Block 688, offset 0xac00\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6220, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6220, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6220, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6620, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6620, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6620, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6620, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6A20, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6A20, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6A20, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t// Block 689, offset 0xac40\n\t0x404E6A20, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E7220, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E7220, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E7220, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E7220, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E7420, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E7420, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E7420, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E7420, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E7E20, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E7E20, 0x8209278A, 0x00000005, 0x004EC283,\n\t// Block 690, offset 0xac80\n\t0x404EFE20, 0x404EDE20, 0x404E7E20, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E7E20, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E8220, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E8220, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E8220, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E8220, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E8420, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E8420, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E8420, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E8420, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E8820, 0x8209278A,\n\t// Block 691, offset 0xacc0\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E8820, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E8820, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E8820, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E8C20, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E8C20, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E8C20, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E8C20, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E9420, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E9420, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E9420, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t// Block 692, offset 0xad00\n\t0x404E9420, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404EA620, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404EA620, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404EA620, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404EA620, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404EAA20, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404EAA20, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404EAA20, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404EAA20, 0x8209278B, 0x00000004, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x8209278B, 0x00000006, 0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278B,\n\t0x404E1420, 0x40510420, 0x00000002, 0x402C9A20,\n\t// Block 693, offset 0xad40\n\t0xAE603202, 0x00000002, 0x002C9A83, 0xAE603202, 0x00000002, 0x402C9A20,\n\t0xAE603502, 0x00000002, 0x002C9A83, 0xAE603502, 0x00000002, 0x402C9A20,\n\t0xAE604E02, 0x00000002, 0x002C9A83, 0xAE604E02, 0x00000002, 0x402C9A20,\n\t0xAE606402, 0x00000002, 0x002C9A83, 0xAE606402, 0x00000002, 0x402C9A20,\n\t0xADC07002, 0x00000002, 0x002C9A83, 0xADC07002, 0x00000002, 0x402EE420,\n\t0xAE603202, 0x00000002, 0x002EE483, 0xAE603202, 0x00000002, 0x402EE420,\n\t0xAE603502, 0x00000002, 0x002EE483, 0xAE603502, 0x00000002, 0x402EE420,\n\t0xAE606402, 0x00000002, 0x002EE483, 0xAE606402, 0x00000002, 0x402EE420,\n\t0xADC07002, 0x00000002, 0x002EE483, 0xADC07002, 0x00000002, 0x40411620,\n\t0xA000FA02, 0x00000002, 0x40411E20, 0xA000FA02, 0x00000002, 0x40412020,\n\t0xA000FA02, 0x00000002, 0x40412A20, 0xA000FA02,\n\t// Block 694, offset 0xad80\n\t0x00000002, 0x40414620, 0xA000FA02, 0x00000002, 0x40415420, 0xA000FA02,\n\t0x00000002, 0x403A6822, 0xAE60BE02, 0x00000002, 0x003A7C84, 0x00391C84,\n\t0x00000002, 0x003A7C9A, 0x00391C9A, 0x00000002, 0x40320820, 0xAE603202,\n\t0x00000002, 0x00320883, 0xAE603202, 0x00000002, 0x40320A20, 0xAE603202,\n\t0x00000002, 0x00320A83, 0xAE603202, 0x00000002, 0x40320A20, 0xAE605B02,\n\t0x00000002, 0x00320A83, 0xAE605B02, 0x00000002, 0x40320E21, 0xAE603702,\n\t0x00000002, 0x00320EA3, 0xAE603702, 0x00000002, 0x40320E21, 0xAE603C02,\n\t0x00000002, 0x00320EA3, 0xAE603C02, 0x00000002, 0x40321022, 0xAE603202,\n\t0x00000002, 0x003210C3, 0xAE603202, 0x00000002, 0x40321022, 0xAE604702,\n\t0x00000002, 0x003210C3, 0xAE604702, 0x00000002, 0x40321022, 0xAE605B02,\n\t0x00000002, 0x003210C3, 0xAE605B02, 0x00000002,\n\t// Block 695, offset 0xadc0\n\t0x40321022, 0xAD806802, 0x00000002, 0x003210C3, 0xAD806802, 0x00000002,\n\t0x40321023, 0xAE603502, 0x00000002, 0x003210E3, 0xAE603502, 0x00000002,\n\t0x40321023, 0xAE604E02, 0x00000002, 0x003210E3, 0xAE604E02, 0x00000002,\n\t0x40321023, 0xAE606402, 0x00000002, 0x003210E3, 0xAE606402, 0x00000002,\n\t0x40321023, 0xADC07002, 0x00000002, 0x003210E3, 0xADC07002, 0x00000002,\n\t0x40321024, 0xAE605B02, 0x00000002, 0x00321103, 0xAE605B02, 0x00000002,\n\t0x402C6020, 0xAE603202, 0x00000002, 0x002C6083, 0xAE603202, 0x00000002,\n\t0x40321024, 0xAE603202, 0x00000002, 0x00321103, 0xAE603202, 0x00000002,\n\t0x40321024, 0xAE603502, 0x00000002, 0x00321103, 0xAE603502, 0x00000002,\n\t0x40321024, 0xAE604E02, 0x00000002, 0x00321103, 0xAE604E02, 0x00000002,\n\t0x40321024, 0xAE606402, 0x00000002, 0x00321103,\n\t// Block 696, offset 0xae00\n\t0xAE606402, 0x00000002, 0x40321024, 0xADC07002, 0x00000002, 0x00321103,\n\t0xADC07002, 0x00000002, 0x0030BE83, 0xAE604E02, 0x00000002, 0x0030BE83,\n\t0xADC07002, 0x00000002, 0x00497283, 0x40496C20, 0x00000002, 0x00497284,\n\t0x40496C20, 0x00000002, 0x402BDE21, 0xAE603702, 0x00000002, 0x002BDEA3,\n\t0xAE603702, 0x00000002, 0x402BDE21, 0xAE603C02, 0x00000002, 0x002BDEA3,\n\t0xAE603C02, 0x00000002, 0x402BDE21, 0xAE604302, 0x00000002, 0x002BDEA3,\n\t0xAE604302, 0x00000002, 0x402BDE22, 0xAE604702, 0x00000002, 0x002BDEC3,\n\t0xAE604702, 0x00000002, 0x402BDE22, 0xAE605202, 0x00000002, 0x002BDEC3,\n\t0xAE605202, 0x00000002, 0x402C9821, 0xAE603C02, 0x00000002, 0x002C98A3,\n\t0xAE603C02, 0x00000002, 0x402C9822, 0xAE603202, 0x00000002, 0x002C98C3,\n\t0xAE603202, 0x00000002, 0x402C9822, 0xAE603502,\n\t// Block 697, offset 0xae40\n\t0x00000002, 0x002C98C3, 0xAE603502, 0x00000002, 0x402D9A21, 0xAE604702,\n\t0x00000002, 0x002D9AA3, 0xAE604702, 0x00000002, 0x402EE221, 0xAE603C02,\n\t0x00000002, 0x002EE2A3, 0xAE603C02, 0x00000002, 0x402EE221, 0xAE604E02,\n\t0x00000002, 0x002EE2A3, 0xAE604E02, 0x00000002, 0x402EE221, 0xAD806802,\n\t0x00000002, 0x002EE2A3, 0xAD806802, 0x00000002, 0x402EE222, 0xAE603202,\n\t0x00000002, 0x002EE2C3, 0xAE603202, 0x00000002, 0x402EE222, 0xAE603502,\n\t0x00000002, 0x002EE2C3, 0xAE603502, 0x00000002, 0x402EE222, 0xAE604702,\n\t0x00000002, 0x002EE2C3, 0xAE604702, 0x00000002, 0x402EE222, 0xAE604E02,\n\t0x00000002, 0x002EE2C3, 0xAE604E02, 0x00000002, 0x402EE222, 0xAE605202,\n\t0x00000002, 0x002EE2C3, 0xAE605202, 0x00000002, 0x402EE222, 0xACA05902,\n\t0x00000002, 0x002EE2C3, 0xACA05902, 0x00000002,\n\t// Block 698, offset 0xae80\n\t0x40306C21, 0xAE604702, 0x00000002, 0x00306CA3, 0xAE604702, 0x00000002,\n\t0x40306C21, 0xAE604E02, 0x00000002, 0x00306CA3, 0xAE604E02, 0x00000002,\n\t0x40306C21, 0xAD806802, 0x00000002, 0x00306CA3, 0xAD806802, 0x00000002,\n\t0xA000AD18, 0xA000BA18, 0x00000002, 0x00393C97, 0x00396497, 0x00000002,\n\t0x00393C9A, 0x0039649A, 0x00000002, 0x00393C97, 0x00397297, 0x00000002,\n\t0x00393C9A, 0x0039729A, 0x00000002, 0x00393C97, 0x00397497, 0x00000002,\n\t0x00393C9A, 0x0039749A, 0x00000002, 0x00393C99, 0x0039A499, 0x00000002,\n\t0x00393C99, 0x0039A699, 0x00000002, 0x00393C97, 0x003A4E97, 0x00000002,\n\t0x00393C98, 0x003A4E98, 0x00000002, 0x00393C99, 0x003A4E99, 0x00000002,\n\t0x00393C9A, 0x003A4E9A, 0x00000002, 0x00393C99, 0x003A5699, 0x00000002,\n\t0x00395697, 0x00396497, 0x00000002, 0x0039569A,\n\t// Block 699, offset 0xaec0\n\t0x0039649A, 0x00000002, 0x00395697, 0x00397297, 0x00000002, 0x0039569A,\n\t0x0039729A, 0x00000002, 0x00395697, 0x00397497, 0x00000002, 0x0039569A,\n\t0x0039749A, 0x00000002, 0x00395699, 0x0039A499, 0x00000002, 0x00395699,\n\t0x0039A699, 0x00000002, 0x00395697, 0x003A4E97, 0x00000002, 0x00395698,\n\t0x003A4E98, 0x00000002, 0x00395699, 0x003A4E99, 0x00000002, 0x0039569A,\n\t0x003A4E9A, 0x00000002, 0x00395699, 0x003A5699, 0x00000002, 0x0039589A,\n\t0x0039649A, 0x00000002, 0x00395899, 0x0039A499, 0x00000002, 0x00395899,\n\t0x0039A699, 0x00000002, 0x00395897, 0x003A4E97, 0x00000002, 0x00395898,\n\t0x003A4E98, 0x00000002, 0x00395899, 0x003A4E99, 0x00000002, 0x0039589A,\n\t0x003A4E9A, 0x00000002, 0x00395899, 0x003A5699, 0x00000002, 0x00396497,\n\t0x00397297, 0x00000002, 0x0039649A, 0x0039729A,\n\t// Block 700, offset 0xaf00\n\t0x00000002, 0x00396497, 0x003A4E97, 0x00000002, 0x0039649A, 0x003A4E9A,\n\t0x00000002, 0x00397297, 0x00396497, 0x00000002, 0x0039729A, 0x0039649A,\n\t0x00000002, 0x00397297, 0x003A4E97, 0x00000002, 0x0039729A, 0x003A4E9A,\n\t0x00000002, 0x00397497, 0x00396497, 0x00000002, 0x0039749A, 0x0039649A,\n\t0x00000002, 0x0039749A, 0x0039729A, 0x00000002, 0x00397497, 0x003A4E97,\n\t0x00000002, 0x0039749A, 0x003A4E9A, 0x00000002, 0x00398A9A, 0xA000D11A,\n\t0x00000002, 0x0039A49A, 0xA000D11A, 0x00000002, 0x0039C697, 0x00396497,\n\t0x00000002, 0x0039C698, 0x00396498, 0x00000002, 0x0039C69A, 0x0039649A,\n\t0x00000002, 0x0039C697, 0x00397297, 0x00000002, 0x0039C698, 0x00397298,\n\t0x00000002, 0x0039C69A, 0x0039729A, 0x00000002, 0x0039C697, 0x00397497,\n\t0x00000002, 0x0039C698, 0x00397498, 0x00000002,\n\t// Block 701, offset 0xaf40\n\t0x0039C69A, 0x0039749A, 0x00000002, 0x0039C699, 0x0039A499, 0x00000002,\n\t0x0039C69A, 0x0039A49A, 0x00000002, 0x0039C697, 0x003A4E97, 0x00000002,\n\t0x0039C698, 0x003A4E98, 0x00000002, 0x0039C69A, 0x003A4E9A, 0x00000002,\n\t0x0039C897, 0x00396497, 0x00000002, 0x0039C898, 0x00396498, 0x00000002,\n\t0x0039C899, 0x00396499, 0x00000002, 0x0039C89A, 0x0039649A, 0x00000002,\n\t0x0039C897, 0x00397297, 0x00000002, 0x0039C898, 0x00397298, 0x00000002,\n\t0x0039C899, 0x00397299, 0x00000002, 0x0039C89A, 0x0039729A, 0x00000002,\n\t0x0039C897, 0x00397497, 0x00000002, 0x0039C898, 0x00397498, 0x00000002,\n\t0x0039C899, 0x00397499, 0x00000002, 0x0039C89A, 0x0039749A, 0x00000002,\n\t0x0039C899, 0x0039A499, 0x00000002, 0x0039C89A, 0x0039A49A, 0x00000002,\n\t0x0039C897, 0x003A4E97, 0x00000002, 0x0039C898,\n\t// Block 702, offset 0xaf80\n\t0x003A4E98, 0x00000002, 0x0039C899, 0x003A4E99, 0x00000002, 0x0039C89A,\n\t0x003A4E9A, 0x00000002, 0x0039DC97, 0x00397297, 0x00000002, 0x0039DC9A,\n\t0x0039729A, 0x00000002, 0x0039DC97, 0x00397497, 0x00000002, 0x0039DC99,\n\t0x0039A499, 0x00000002, 0x0039DC9A, 0x0039A49A, 0x00000002, 0x0039DC97,\n\t0x003A4E97, 0x00000002, 0x0039DC9A, 0x003A4E9A, 0x00000002, 0x0039DE97,\n\t0x00396497, 0x00000002, 0x0039DE9A, 0x0039649A, 0x00000002, 0x0039DE97,\n\t0x00397297, 0x00000002, 0x0039DE9A, 0x0039729A, 0x00000002, 0x0039DE97,\n\t0x00397497, 0x00000002, 0x0039DE9A, 0x0039749A, 0x00000002, 0x0039DE99,\n\t0x0039A499, 0x00000002, 0x0039DE9A, 0x0039A49A, 0x00000002, 0x0039DE97,\n\t0x003A4E97, 0x00000002, 0x0039DE9A, 0x003A4E9A, 0x00000002, 0x0039E697,\n\t0x00397297, 0x00000002, 0x0039E69A, 0x0039729A,\n\t// Block 703, offset 0xafc0\n\t0x00000002, 0x0039E697, 0x003A4E97, 0x00000002, 0x0039E698, 0x003A4E98,\n\t0x00000002, 0x0039E69A, 0x003A4E9A, 0x00000002, 0x0039E897, 0x003A4E97,\n\t0x00000002, 0x0039E898, 0x003A4E98, 0x00000002, 0x0039E89A, 0x003A4E9A,\n\t0x00000002, 0x0039EE97, 0x00396497, 0x00000002, 0x0039EE9A, 0x0039649A,\n\t0x00000002, 0x0039EE97, 0x003A4E97, 0x00000002, 0x0039EE9A, 0x003A4E9A,\n\t0x00000002, 0x0039F097, 0x00396497, 0x00000002, 0x0039F09A, 0x0039649A,\n\t0x00000002, 0x0039F097, 0x003A4E97, 0x00000002, 0x0039F09A, 0x003A4E9A,\n\t0x00000002, 0x0039FC97, 0x00396497, 0x00000002, 0x0039FC9A, 0x0039649A,\n\t0x00000002, 0x0039FC97, 0x00397297, 0x00000002, 0x0039FC9A, 0x0039729A,\n\t0x00000002, 0x0039FC97, 0x00397497, 0x00000002, 0x0039FC9A, 0x0039749A,\n\t0x00000002, 0x0039FC97, 0x003A4E97, 0x00000002,\n\t// Block 704, offset 0xb000\n\t0x0039FC9A, 0x003A4E9A, 0x00000002, 0x003A1297, 0x00397297, 0x00000002,\n\t0x003A129A, 0x0039729A, 0x00000002, 0x003A1297, 0x003A4E97, 0x00000002,\n\t0x003A129A, 0x003A4E9A, 0x00000002, 0x003A4099, 0x00393899, 0x00000002,\n\t0x003A409A, 0x0039389A, 0x00000002, 0x003A4097, 0x00396497, 0x00000002,\n\t0x003A409A, 0x0039649A, 0x00000002, 0x003A4097, 0x00397297, 0x00000002,\n\t0x003A409A, 0x0039729A, 0x00000002, 0x003A4097, 0x00397497, 0x00000002,\n\t0x003A409A, 0x0039749A, 0x00000002, 0x003A4097, 0x003A4E97, 0x00000002,\n\t0x003A4098, 0x003A4E98, 0x00000002, 0x003A4099, 0x003A4E99, 0x00000002,\n\t0x003A409A, 0x003A4E9A, 0x00000002, 0x003A4E99, 0x00393899, 0x00000002,\n\t0x003A4E97, 0x00396497, 0x00000002, 0x003A4E9A, 0x0039649A, 0x00000002,\n\t0x003A4E97, 0x00397297, 0x00000002, 0x003A4E9A,\n\t// Block 705, offset 0xb040\n\t0x0039729A, 0x00000002, 0x003A4E97, 0x00397497, 0x00000002, 0x003A4E9A,\n\t0x0039749A, 0x00000002, 0x003A4E97, 0x003A4E97, 0x00000002, 0x003A4E99,\n\t0x003A4E99, 0x00000002, 0x003A4E9A, 0x003A4E9A, 0x00000002, 0x003A5697,\n\t0x00396497, 0x00000002, 0x003A569A, 0x0039649A, 0x00000002, 0x003A5697,\n\t0x00397297, 0x00000002, 0x003A569A, 0x0039729A, 0x00000002, 0x003A5697,\n\t0x00397497, 0x00000002, 0x003A569A, 0x0039749A, 0x00000002, 0x003A5699,\n\t0x0039A499, 0x00000002, 0x003A5699, 0x0039A699, 0x00000002, 0x003A5697,\n\t0x003A4E97, 0x00000002, 0x003A5698, 0x003A4E98, 0x00000002, 0x003A5699,\n\t0x003A4E99, 0x00000002, 0x003A569A, 0x003A4E9A, 0x00000002, 0x003A5699,\n\t0x003A5699, 0x00000002, 0x403A7220, 0xA000C602, 0x00000002, 0x003A7484,\n\t0x00391C84, 0x00000002, 0xAE604702, 0xAE603802,\n\t// Block 706, offset 0xb080\n\t0x00000002, 0x40062C20, 0xAE603802, 0x00000002, 0x40063620, 0xAE603802,\n\t0x00000002, 0x40063820, 0xAE603802, 0x00000002, 0x402BDE20, 0xAE603602,\n\t0x00000002, 0x002BDE88, 0xAE603602, 0x00000002, 0x402BDE20, 0xAE603702,\n\t0x00000002, 0x002BDE88, 0xAE603702, 0x00000002, 0x402BDE20, 0xAE603802,\n\t0x00000002, 0x002BDE88, 0xAE603802, 0x00000002, 0x402BDE20, 0xAE603902,\n\t0x00000002, 0x002BDE88, 0xAE603902, 0x00000003, 0x402BDE20, 0xAE604302,\n\t0xAE603802, 0x00000003, 0x002BDE88, 0xAE604302, 0xAE603802, 0x00000004,\n\t0x002BDE84, 0xA0013904, 0x002C9884, 0xAE603802, 0x00000004, 0x002BDE8A,\n\t0xA0013904, 0x002C988A, 0xAE603802, 0x00000002, 0x402BE020, 0xAE603602,\n\t0x00000002, 0x002BE083, 0xAE603602, 0x00000002, 0x402BE020, 0xAE603702,\n\t0x00000002, 0x002BE083, 0xAE603702, 0x00000002,\n\t// Block 707, offset 0xb0c0\n\t0x402BE020, 0xAE603802, 0x00000002, 0x002BE083, 0xAE603802, 0x00000002,\n\t0x402BE020, 0xAE603902, 0x00000002, 0x002BE083, 0xAE603902, 0x00000002,\n\t0x402BE220, 0xAE603602, 0x00000002, 0x002BE283, 0xAE603602, 0x00000002,\n\t0x402BE220, 0xAE603702, 0x00000002, 0x002BE283, 0xAE603702, 0x00000002,\n\t0x402BE220, 0xAE603802, 0x00000002, 0x002BE283, 0xAE603802, 0x00000002,\n\t0x402BE220, 0xAE603902, 0x00000002, 0x002BE283, 0xAE603902, 0x00000002,\n\t0x402C0A20, 0xAE603902, 0x00000002, 0x002C0A88, 0xAE603902, 0x00000002,\n\t0x402C3A20, 0xAE603802, 0x00000002, 0x002C3A88, 0xAE603802, 0x00000003,\n\t0x402C3A20, 0xACA05602, 0xAE603802, 0x00000003, 0x002C3A88, 0xACA05602,\n\t0xAE603802, 0x00000002, 0x402C6220, 0xAE603902, 0x00000002, 0x002C6288,\n\t0xAE603902, 0x00000002, 0x402C9820, 0xAE603602,\n\t// Block 708, offset 0xb100\n\t0x00000002, 0x002C9888, 0xAE603602, 0x00000002, 0x402C9820, 0xAE603702,\n\t0x00000002, 0x002C9888, 0xAE603702, 0x00000002, 0x402C9820, 0xAE603802,\n\t0x00000002, 0x002C9888, 0xAE603802, 0x00000002, 0x402C9820, 0xAE603902,\n\t0x00000002, 0x002C9888, 0xAE603902, 0x00000003, 0x402C9820, 0xAE605B02,\n\t0xAE603802, 0x00000003, 0x002C9888, 0xAE605B02, 0xAE603802, 0x00000002,\n\t0x402C9A20, 0xAE603602, 0x00000002, 0x002C9A83, 0xAE603602, 0x00000002,\n\t0x402C9A20, 0xAE603702, 0x00000002, 0x002C9A83, 0xAE603702, 0x00000002,\n\t0x402C9A20, 0xAE603802, 0x00000002, 0x002C9A83, 0xAE603802, 0x00000002,\n\t0x402C9A20, 0xAE603902, 0x00000002, 0x002C9A83, 0xAE603902, 0x00000002,\n\t0x402D2220, 0xAE603802, 0x00000002, 0x002D2288, 0xAE603802, 0x00000002,\n\t0x402D6820, 0xAE603902, 0x00000002, 0x002D6888,\n\t// Block 709, offset 0xb140\n\t0xAE603902, 0x00000002, 0x402D9A20, 0xAE603602, 0x00000002, 0x002D9A88,\n\t0xAE603602, 0x00000002, 0x402D9A20, 0xAE603702, 0x00000002, 0x002D9A88,\n\t0xAE603702, 0x00000002, 0x402D9A20, 0xAE603802, 0x00000002, 0x002D9A88,\n\t0xAE603802, 0x00000002, 0x402D9A20, 0xAE603902, 0x00000002, 0x002D9A88,\n\t0xAE603902, 0x00000003, 0x402D9A20, 0xAE604702, 0xAE603802, 0x00000003,\n\t0x002D9A88, 0xAE604702, 0xAE603802, 0x00000002, 0x402DFE20, 0xAE603802,\n\t0x00000002, 0x002DFE88, 0xAE603802, 0x00000002, 0x402DFE20, 0xAE603902,\n\t0x00000002, 0x002DFE88, 0xAE603902, 0x00000002, 0x402E2220, 0xAE603802,\n\t0x00000002, 0x002E2288, 0xAE603802, 0x00000002, 0x402E2220, 0xAE603902,\n\t0x00000002, 0x002E2288, 0xAE603902, 0x00000003, 0x402E2220, 0xAE603902,\n\t0xAE605B02, 0x00000003, 0x002E2288, 0xAE603902,\n\t// Block 710, offset 0xb180\n\t0xAE605B02, 0x00000002, 0x402E8220, 0xAE603802, 0x00000002, 0x002E8288,\n\t0xAE603802, 0x00000002, 0x402E8220, 0xAE603902, 0x00000002, 0x002E8288,\n\t0xAE603902, 0x00000002, 0x402E9E20, 0xAE603702, 0x00000002, 0x002E9E88,\n\t0xAE603702, 0x00000002, 0x402E9E20, 0xAE603802, 0x00000002, 0x002E9E88,\n\t0xAE603802, 0x00000002, 0x402E9E20, 0xAE603902, 0x00000002, 0x002E9E88,\n\t0xAE603902, 0x00000002, 0x402EE220, 0xAE603602, 0x00000002, 0x002EE288,\n\t0xAE603602, 0x00000002, 0x402EE220, 0xAE603702, 0x00000002, 0x002EE288,\n\t0xAE603702, 0x00000003, 0x402EE220, 0xAE603702, 0xAE603802, 0x00000003,\n\t0x002EE288, 0xAE603702, 0xAE603802, 0x00000003, 0x402EE220, 0xAE603702,\n\t0xAE604702, 0x00000003, 0x002EE288, 0xAE603702, 0xAE604702, 0x00000003,\n\t0x402EE220, 0xAE603702, 0xAE605B02, 0x00000003,\n\t// Block 711, offset 0xb1c0\n\t0x002EE288, 0xAE603702, 0xAE605B02, 0x00000002, 0x402EE220, 0xAE603802,\n\t0x00000002, 0x002EE288, 0xAE603802, 0x00000002, 0x402EE220, 0xAE603902,\n\t0x00000002, 0x002EE288, 0xAE603902, 0x00000003, 0x402EE220, 0xA0005402,\n\t0xAE603802, 0x00000003, 0x002EE288, 0xA0005402, 0xAE603802, 0x00000003,\n\t0x402EE220, 0xAE605B02, 0xAE603802, 0x00000003, 0x002EE288, 0xAE605B02,\n\t0xAE603802, 0x00000002, 0x402EE420, 0xAE603602, 0x00000002, 0x002EE483,\n\t0xAE603602, 0x00000002, 0x402EE420, 0xAE603702, 0x00000002, 0x002EE483,\n\t0xAE603702, 0x00000002, 0x402EE420, 0xAE603802, 0x00000002, 0x002EE483,\n\t0xAE603802, 0x00000002, 0x402EE420, 0xAE603902, 0x00000002, 0x002EE483,\n\t0xAE603902, 0x00000002, 0x402EE620, 0xAE603502, 0x00000002, 0x002EE683,\n\t0xAE603502, 0x00000002, 0x402EE620, 0xAE603602,\n\t// Block 712, offset 0xb200\n\t0x00000002, 0x002EE683, 0xAE603602, 0x00000002, 0x402EE620, 0xAE603702,\n\t0x00000002, 0x002EE683, 0xAE603702, 0x00000002, 0x402EE620, 0xAE603802,\n\t0x00000002, 0x002EE683, 0xAE603802, 0x00000002, 0x402EE620, 0xAE603902,\n\t0x00000002, 0x002EE683, 0xAE603902, 0x00000002, 0x402F2C20, 0xAE603802,\n\t0x00000002, 0x002F2C88, 0xAE603802, 0x00000002, 0x402F7A20, 0xAE603802,\n\t0x00000002, 0x002F7A88, 0xAE603802, 0x00000002, 0x402F7A20, 0xAE603902,\n\t0x00000002, 0x002F7A88, 0xAE603902, 0x00000003, 0x402F7A20, 0xAE603902,\n\t0xAE605B02, 0x00000003, 0x002F7A88, 0xAE603902, 0xAE605B02, 0x00000002,\n\t0x402FE620, 0xAE603802, 0x00000002, 0x002FE688, 0xAE603802, 0x00000003,\n\t0x402FE620, 0xAE603802, 0xAE605202, 0x00000003, 0x002FE688, 0xAE603802,\n\t0xAE605202, 0x00000002, 0x402FE620, 0xAE603902,\n\t// Block 713, offset 0xb240\n\t0x00000002, 0x002FE688, 0xAE603902, 0x00000003, 0x402FE620, 0xAE603902,\n\t0xAE605202, 0x00000003, 0x002FE688, 0xAE603902, 0xAE605202, 0x00000002,\n\t0x40302C20, 0xAE603902, 0x00000002, 0x00302C88, 0xAE603902, 0x00000002,\n\t0x40306C20, 0xAE603602, 0x00000002, 0x00306C88, 0xAE603602, 0x00000002,\n\t0x40306C20, 0xAE603702, 0x00000002, 0x00306C88, 0xAE603702, 0x00000003,\n\t0x40306C20, 0xAE603702, 0xAE603802, 0x00000003, 0x00306C88, 0xAE603702,\n\t0xAE603802, 0x00000002, 0x40306C20, 0xAE603802, 0x00000002, 0x00306C88,\n\t0xAE603802, 0x00000002, 0x40306C20, 0xAE603902, 0x00000002, 0x00306C88,\n\t0xAE603902, 0x00000003, 0x40306C20, 0xAE604702, 0xAE603802, 0x00000003,\n\t0x00306C88, 0xAE604702, 0xAE603802, 0x00000002, 0x40306E20, 0xAE603602,\n\t0x00000002, 0x00306E83, 0xAE603602, 0x00000002,\n\t// Block 714, offset 0xb280\n\t0x40306E20, 0xAE603702, 0x00000002, 0x00306E83, 0xAE603702, 0x00000002,\n\t0x40306E20, 0xAE603802, 0x00000002, 0x00306E83, 0xAE603802, 0x00000002,\n\t0x40306E20, 0xAE603902, 0x00000002, 0x00306E83, 0xAE603902, 0x00000002,\n\t0x4030BE20, 0xAE603702, 0x00000002, 0x0030BE88, 0xAE603702, 0x00000002,\n\t0x4030BE20, 0xAE603902, 0x00000002, 0x0030BE88, 0xAE603902, 0x00000002,\n\t0x4030E220, 0xAE603802, 0x00000002, 0x0030E288, 0xAE603802, 0x00000002,\n\t0x4030E220, 0xAE603902, 0x00000002, 0x0030E288, 0xAE603902, 0x00000002,\n\t0x40310020, 0xAE603602, 0x00000002, 0x00310088, 0xAE603602, 0x00000002,\n\t0x40310020, 0xAE603702, 0x00000002, 0x00310088, 0xAE603702, 0x00000002,\n\t0x40310020, 0xAE603802, 0x00000002, 0x00310088, 0xAE603802, 0x00000002,\n\t0x40310020, 0xAE603902, 0x00000002, 0x00310088,\n\t// Block 715, offset 0xb2c0\n\t0xAE603902, 0x00000002, 0x40312A20, 0xAE603802, 0x00000002, 0x00312A88,\n\t0xAE603802, 0x00000002, 0x40312A20, 0xAE603902, 0x00000002, 0x00312A88,\n\t0xAE603902, 0x00000003, 0x40325220, 0xAE602202, 0xAE603802, 0x00000003,\n\t0x00325288, 0xAE602202, 0xAE603802, 0x00000004, 0x40325220, 0xAE602202,\n\t0xAE603802, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602202, 0xAE603802,\n\t0xAF007F02, 0x00000003, 0x40325220, 0xAE602A02, 0xAE603802, 0x00000003,\n\t0x00325288, 0xAE602A02, 0xAE603802, 0x00000004, 0x40325220, 0xAE602A02,\n\t0xAE603802, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602A02, 0xAE603802,\n\t0xAF007F02, 0x00000002, 0x40325220, 0xAE603802, 0x00000002, 0x00325288,\n\t0xAE603802, 0x00000003, 0x40325220, 0xAE603802, 0xAF007F02, 0x00000003,\n\t0x40325C20, 0xAE602202, 0xAE603802, 0x00000003,\n\t// Block 716, offset 0xb300\n\t0x00325C88, 0xAE602202, 0xAE603802, 0x00000003, 0x40325C20, 0xAE602A02,\n\t0xAE603802, 0x00000003, 0x00325C88, 0xAE602A02, 0xAE603802, 0x00000002,\n\t0x40325C20, 0xAE603802, 0x00000002, 0x00325C88, 0xAE603802, 0x00000003,\n\t0x40326820, 0xAE602202, 0xAE603802, 0x00000003, 0x00326888, 0xAE602202,\n\t0xAE603802, 0x00000004, 0x40326820, 0xAE602202, 0xAE603802, 0xAF007F02,\n\t0x00000004, 0x00326888, 0xAE602202, 0xAE603802, 0xAF007F02, 0x00000003,\n\t0x40326820, 0xAE602A02, 0xAE603802, 0x00000003, 0x00326888, 0xAE602A02,\n\t0xAE603802, 0x00000004, 0x40326820, 0xAE602A02, 0xAE603802, 0xAF007F02,\n\t0x00000004, 0x00326888, 0xAE602A02, 0xAE603802, 0xAF007F02, 0x00000002,\n\t0x40326820, 0xAE603802, 0x00000002, 0x00326888, 0xAE603802, 0x00000003,\n\t0x40326820, 0xAE603802, 0xAF007F02, 0x00000003,\n\t// Block 717, offset 0xb340\n\t0x40326C20, 0xAE602202, 0xAE603802, 0x00000003, 0x00326C88, 0xAE602202,\n\t0xAE603802, 0x00000003, 0x40326C20, 0xAE602A02, 0xAE603802, 0x00000003,\n\t0x00326C88, 0xAE602A02, 0xAE603802, 0x00000002, 0x40326C20, 0xAE603802,\n\t0x00000002, 0x00326C88, 0xAE603802, 0x00000003, 0x40326C20, 0xAE604702,\n\t0xAE603802, 0x00000003, 0x40327C20, 0xAE602202, 0xAE603802, 0x00000003,\n\t0x00327C88, 0xAE602202, 0xAE603802, 0x00000003, 0x40327C20, 0xAE602A02,\n\t0xAE603802, 0x00000003, 0x00327C88, 0xAE602A02, 0xAE603802, 0x00000002,\n\t0x40327C20, 0xAE603802, 0x00000002, 0x00327C88, 0xAE603802, 0x00000003,\n\t0x40329820, 0xAE602202, 0xAE603802, 0x00000003, 0x40329820, 0xAE602A02,\n\t0xAE603802, 0x00000003, 0x00329888, 0xAE602A02, 0xAE603802, 0x00000002,\n\t0x40329820, 0xAE603802, 0x00000002, 0x00329888,\n\t// Block 718, offset 0xb380\n\t0xAE603802, 0x00000003, 0x40329820, 0xAE604702, 0xAE603802, 0x00000003,\n\t0x4032A220, 0xAE602202, 0xAE603802, 0x00000003, 0x0032A288, 0xAE602202,\n\t0xAE603802, 0x00000004, 0x4032A220, 0xAE602202, 0xAE603802, 0xAF007F02,\n\t0x00000004, 0x0032A288, 0xAE602202, 0xAE603802, 0xAF007F02, 0x00000003,\n\t0x4032A220, 0xAE602A02, 0xAE603802, 0x00000003, 0x0032A288, 0xAE602A02,\n\t0xAE603802, 0x00000004, 0x4032A220, 0xAE602A02, 0xAE603802, 0xAF007F02,\n\t0x00000004, 0x0032A288, 0xAE602A02, 0xAE603802, 0xAF007F02, 0x00000002,\n\t0x4032A220, 0xAE603802, 0x00000002, 0x0032A288, 0xAE603802, 0x00000003,\n\t0x4032A220, 0xAE603802, 0xAF007F02, 0x00000002, 0x402BDE20, 0xAE603202,\n\t0x00000002, 0x402C9820, 0xAE603202, 0x00000002, 0x402D9A20, 0xAE603202,\n\t0x00000002, 0x402EE220, 0xAE603202, 0x00000002,\n\t// Block 719, offset 0xb3c0\n\t0x40306C20, 0xAE603202, 0x00000002, 0x402C9A20, 0xAE603C02, 0x00000002,\n\t0x002C9A83, 0xAE603C02, 0x00000003, 0x0003F483, 0x6C030A20, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6C110E20, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6C272220, 0x4003F620, 0x00000003, 0x0003F483, 0x6C37B420, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6C549820, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6C5D8420, 0x4003F620, 0x00000003, 0x0003F483, 0x6C61F420, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6C64CA20, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6C6C2E20, 0x4003F620, 0x00000003, 0x0003F483, 0x6C6F9A20, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6C814020, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6C8F2420, 0x4003F620, 0x00000003, 0x0003F483, 0x6C9FE620, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6CA25C20, 0x4003F620,\n\t// Block 720, offset 0xb400\n\t0x00000003, 0x0003F483, 0x6CB4C620, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6CB6C820, 0x4003F620, 0x00000003, 0x0003F483, 0x6CC63620, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6CC9F220, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6CCF3620, 0x4003F620, 0x00000003, 0x0003F483, 0x6CD22420, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6CD70220, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6CD87420, 0x4003F620, 0x00000003, 0x0003F483, 0x6CE27020, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6CE91020, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6CF41420, 0x4003F620, 0x00000003, 0x0003F483, 0x6D007020, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6D04B220, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6D08F820, 0x4003F620, 0x00000003, 0x0003F483, 0x6D13B620, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6D1F9820, 0x4003F620,\n\t// Block 721, offset 0xb440\n\t0x00000003, 0x0003F483, 0x6D266820, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6D357020, 0x4003F620, 0x00000003, 0x0003F483, 0x6D399220, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6D3AC620, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6D3E6020, 0x4003F620, 0x00000003, 0x0003F483, 0x6D3F2A20, 0x4003F620,\n\t0x00000003, 0x0004B083, 0x6C011220, 0x4004B220, 0x00000003, 0x0004B083,\n\t0x6C044020, 0x4004B220, 0x00000003, 0x0004B083, 0x6C079220, 0x4004B220,\n\t0x00000003, 0x0004B083, 0x6C26E020, 0x4004B220, 0x00000003, 0x0004B083,\n\t0x6C2A1220, 0x4004B220, 0x00000003, 0x0004B083, 0x6C2D0A20, 0x4004B220,\n\t0x00000003, 0x0004B083, 0x6C37B420, 0x4004B220, 0x00000003, 0x0004B083,\n\t0x6CC9F220, 0x4004B220, 0x00000003, 0x0004B083, 0x6CD16420, 0x4004B220,\n\t0x00000003, 0x0029CE83, 0x4029CC20, 0x6C2D0A20,\n\t// Block 722, offset 0xb480\n\t0x00000003, 0x0029CE83, 0x4029CC20, 0x6CC63620, 0x00000003, 0x0029CE83,\n\t0x4029CC20, 0x6D266820, 0x00000003, 0x0029CE83, 0x4029CE20, 0x6C2D0A20,\n\t0x00000003, 0x0029CE83, 0x4029CE20, 0x6CC63620, 0x00000003, 0x0029CE83,\n\t0x4029CE20, 0x6D266820, 0x00000003, 0x0029CE83, 0x4029D020, 0x6C2D0A20,\n\t0x00000003, 0x0029CE83, 0x4029D020, 0x6CC63620, 0x00000003, 0x0029CE83,\n\t0x4029D020, 0x6D266820, 0x00000003, 0x0029CE83, 0x4029D220, 0x6C2D0A20,\n\t0x00000003, 0x0029CE83, 0x4029D220, 0x6CC63620, 0x00000003, 0x0029CE83,\n\t0x4029D420, 0x6C2D0A20, 0x00000003, 0x0029CE83, 0x4029D420, 0x6CC63620,\n\t0x00000003, 0x0029CE83, 0x4029D620, 0x6C2D0A20, 0x00000003, 0x0029CE83,\n\t0x4029D620, 0x6CC63620, 0x00000003, 0x0029CE83, 0x4029D820, 0x6C2D0A20,\n\t0x00000003, 0x0029CE83, 0x4029D820, 0x6CC63620,\n\t// Block 723, offset 0xb4c0\n\t0x00000003, 0x0029CE83, 0x4029DA20, 0x6C2D0A20, 0x00000003, 0x0029CE83,\n\t0x4029DA20, 0x6CC63620, 0x00000003, 0x0029CE83, 0x4029DC20, 0x6C2D0A20,\n\t0x00000003, 0x0029CE83, 0x4029DC20, 0x6CC63620, 0x00000003, 0x0029CE83,\n\t0x4029DE20, 0x6C2D0A20, 0x00000003, 0x0029CE83, 0x4029DE20, 0x6CC63620,\n\t0x00000003, 0x0029D083, 0x4029CC20, 0x6C2D0A20, 0x00000003, 0x0029D083,\n\t0x4029CC20, 0x6CC63620, 0x00000003, 0x0029D083, 0x4029CE20, 0x6C2D0A20,\n\t0x00000003, 0x0029D083, 0x4029CE20, 0x6CC63620, 0x00000003, 0x0029D083,\n\t0x4029D020, 0x6C2D0A20, 0x00000003, 0x0029D083, 0x4029D020, 0x6CC63620,\n\t0x00000003, 0x0029D083, 0x4029D220, 0x6C2D0A20, 0x00000003, 0x0029D083,\n\t0x4029D220, 0x6CC63620, 0x00000003, 0x0029D083, 0x4029D420, 0x6C2D0A20,\n\t0x00000003, 0x0029D083, 0x4029D420, 0x6CC63620,\n\t// Block 724, offset 0xb500\n\t0x00000003, 0x0029D083, 0x4029D620, 0x6CC63620, 0x00000003, 0x0029D083,\n\t0x4029D820, 0x6CC63620, 0x00000003, 0x0029D083, 0x4029DA20, 0x6CC63620,\n\t0x00000003, 0x0029D083, 0x4029DC20, 0x6CC63620, 0x00000003, 0x0029D083,\n\t0x4029DE20, 0x6CC63620, 0x00000003, 0x0029D283, 0x4029CC20, 0x6CC63620,\n\t0x00000003, 0x0029D283, 0x4029CE20, 0x6CC63620, 0x00000002, 0x402BDE1C,\n\t0xAE604702, 0x00000002, 0x002BDE03, 0xAE604702, 0x00000002, 0x402BDE1C,\n\t0xAE605202, 0x00000002, 0x002BDE03, 0xAE605202, 0x00000002, 0x402BDE1D,\n\t0xAE603702, 0x00000002, 0x002BDE23, 0xAE603702, 0x00000002, 0x402BDE1D,\n\t0xAE603C02, 0x00000002, 0x002BDE23, 0xAE603C02, 0x00000002, 0x402BDE1D,\n\t0xAE604302, 0x00000002, 0x002BDE23, 0xAE604302, 0x00000002, 0x402BDE1F,\n\t0xAE603702, 0x00000002, 0x002BDE63, 0xAE603702,\n\t// Block 725, offset 0xb540\n\t0x00000002, 0x402BDE1F, 0xAE603C02, 0x00000002, 0x002BDE63, 0xAE603C02,\n\t0x00000002, 0x402C981C, 0xAE603202, 0x00000002, 0x002C9803, 0xAE603202,\n\t0x00000002, 0x402C981C, 0xAE603502, 0x00000002, 0x002C9803, 0xAE603502,\n\t0x00000002, 0x402D9A1D, 0xAE604702, 0x00000002, 0x002D9A23, 0xAE604702,\n\t0x00000002, 0x402EE21C, 0xAE603202, 0x00000002, 0x002EE203, 0xAE603202,\n\t0x00000002, 0x402EE21C, 0xAE603502, 0x00000002, 0x002EE203, 0xAE603502,\n\t0x00000002, 0x402EE21C, 0xAE604702, 0x00000002, 0x002EE203, 0xAE604702,\n\t0x00000002, 0x402EE21C, 0xAE604E02, 0x00000002, 0x002EE203, 0xAE604E02,\n\t0x00000002, 0x402EE21C, 0xAE605202, 0x00000002, 0x002EE203, 0xAE605202,\n\t0x00000002, 0x402EE21C, 0xACA05902, 0x00000002, 0x002EE203, 0xACA05902,\n\t0x00000002, 0x402EE21D, 0xAE603C02, 0x00000002,\n\t// Block 726, offset 0xb580\n\t0x002EE223, 0xAE603C02, 0x00000002, 0x402EE21D, 0xAE604E02, 0x00000002,\n\t0x002EE223, 0xAE604E02, 0x00000002, 0x402EE21D, 0xAD806802, 0x00000002,\n\t0x002EE223, 0xAD806802, 0x00000002, 0x402EE21F, 0xAE603C02, 0x00000002,\n\t0x002EE263, 0xAE603C02, 0x00000002, 0x402EE21F, 0xAD806802, 0x00000002,\n\t0x002EE263, 0xAD806802, 0x00000002, 0x40306C1C, 0xAE604702, 0x00000002,\n\t0x00306C03, 0xAE604702, 0x00000002, 0x40306C1D, 0xAE604E02, 0x00000002,\n\t0x00306C23, 0xAE604E02, 0x00000002, 0x40306C1D, 0xAD806802, 0x00000002,\n\t0x00306C23, 0xAD806802, 0x00000002, 0x40306C1F, 0xAD806802, 0x00000002,\n\t0x00306C63, 0xAD806802, 0x00000004, 0x2D399283, 0x6CD2FC20, 0x6C5B8A20,\n\t0x6CCF3620, 0x00000003, 0x0003F483, 0x6C000220, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C003620, 0x4003F620, 0x00000003,\n\t// Block 727, offset 0xb5c0\n\t0x0003F483, 0x6C006220, 0x4003F620, 0x00000003, 0x0003F483, 0x6C007420,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C008820, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C00B620, 0x4003F620, 0x00000003, 0x0003F483, 0x6C00DC20,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C018420, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C028820, 0x4003F620, 0x00000003, 0x0003F483, 0x6C02D820,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C049620, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C049C20, 0x4003F620, 0x00000003, 0x0003F483, 0x6C049E20,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C04C620, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C04D020, 0x4003F620, 0x00000003, 0x0003F483, 0x6C05E620,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C079020, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C0BA020, 0x4003F620, 0x00000003,\n\t// Block 728, offset 0xb600\n\t0x0003F483, 0x6C0BC020, 0x4003F620, 0x00000003, 0x0003F483, 0x6C0E3E20,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C127420, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C147E20, 0x4003F620, 0x00000003, 0x0003F483, 0x6C148220,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C185220, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C2BB220, 0x4003F620, 0x00000003, 0x0003F483, 0x6C2CA220,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C2FD820, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C3CEE20, 0x4003F620, 0x00000003, 0x0003F483, 0x6C41DC20,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C741620, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C791620, 0x4003F620, 0x00000003, 0x0003F483, 0x6C7DE020,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C86F020, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6CA6A420, 0x4003F620, 0x00000003,\n\t// Block 729, offset 0xb640\n\t0x0003F483, 0x6D0F3820, 0x4003F620, 0x00000003, 0x0003F483, 0x6D2EFA20,\n\t0x4003F620, 0x00000003, 0x0004B083, 0x6C007420, 0x4004B220, 0x00000003,\n\t0x0004B083, 0x6C00DC20, 0x4004B220, 0x00000003, 0x0004B083, 0x6C093E20,\n\t0x4004B220, 0x00000003, 0x0004B083, 0x6C096620, 0x4004B220, 0x00000003,\n\t0x0004B083, 0x6C0FC420, 0x4004B220, 0x00000003, 0x0004B083, 0x6C555C20,\n\t0x4004B220, 0x00000003, 0x0004B083, 0x6C9AC020, 0x4004B220, 0x00000003,\n\t0x0004B083, 0x6CA4CC20, 0x4004B220, 0x00000003, 0x0004B083, 0x6CB9B020,\n\t0x4004B220, 0x00000003, 0x0029CE83, 0x4029CC20, 0x6C049620, 0x00000003,\n\t0x0029CE83, 0x4029CC20, 0x6C049C20, 0x00000003, 0x0029CE83, 0x4029CC20,\n\t0x6C555C20, 0x00000003, 0x0029CE83, 0x4029CE20, 0x6C049620, 0x00000003,\n\t0x0029CE83, 0x4029CE20, 0x6C049C20, 0x00000003,\n\t// Block 730, offset 0xb680\n\t0x0029CE83, 0x4029CE20, 0x6C555C20, 0x00000003, 0x0029CE83, 0x4029D020,\n\t0x6C049620, 0x00000003, 0x0029CE83, 0x4029D020, 0x6C049C20, 0x00000003,\n\t0x0029CE83, 0x4029D020, 0x6C555C20, 0x00000003, 0x0029CE83, 0x4029D220,\n\t0x6C049620, 0x00000003, 0x0029CE83, 0x4029D220, 0x6C555C20, 0x00000003,\n\t0x0029CE83, 0x4029D420, 0x6C049620, 0x00000003, 0x0029CE83, 0x4029D420,\n\t0x6C555C20, 0x00000003, 0x0029CE83, 0x4029D620, 0x6C049620, 0x00000003,\n\t0x0029CE83, 0x4029D620, 0x6C555C20, 0x00000003, 0x0029CE83, 0x4029D820,\n\t0x6C049620, 0x00000003, 0x0029CE83, 0x4029D820, 0x6C555C20, 0x00000003,\n\t0x0029CE83, 0x4029DA20, 0x6C049620, 0x00000003, 0x0029CE83, 0x4029DA20,\n\t0x6C555C20, 0x00000003, 0x0029CE83, 0x4029DC20, 0x6C049620, 0x00000003,\n\t0x0029CE83, 0x4029DC20, 0x6C555C20, 0x00000003,\n\t// Block 731, offset 0xb6c0\n\t0x0029CE83, 0x4029DE20, 0x6C049620, 0x00000003, 0x0029CE83, 0x4029DE20,\n\t0x6C555C20, 0x00000003, 0x0029D083, 0x4029CC20, 0x6C049620, 0x00000003,\n\t0x0029D083, 0x4029CC20, 0x6C555C20, 0x00000003, 0x0029D083, 0x4029CE20,\n\t0x6C049620, 0x00000003, 0x0029D083, 0x4029CE20, 0x6C555C20, 0x00000003,\n\t0x0029D083, 0x4029D020, 0x6C049620, 0x00000003, 0x0029D083, 0x4029D020,\n\t0x6C555C20, 0x00000003, 0x0029D083, 0x4029D220, 0x6C049620, 0x00000003,\n\t0x0029D083, 0x4029D220, 0x6C555C20, 0x00000003, 0x0029D083, 0x4029D420,\n\t0x6C049620, 0x00000003, 0x0029D083, 0x4029D420, 0x6C555C20, 0x00000003,\n\t0x0029D083, 0x4029D620, 0x6C049620, 0x00000003, 0x0029D083, 0x4029D820,\n\t0x6C049620, 0x00000003, 0x0029D083, 0x4029DA20, 0x6C049620, 0x00000003,\n\t0x0029D083, 0x4029DC20, 0x6C049620, 0x00000003,\n\t// Block 732, offset 0xb700\n\t0x0029D083, 0x4029DE20, 0x6C049620, 0x00000003, 0x0029D283, 0x4029CC20,\n\t0x6C049620, 0x00000003, 0x0029D283, 0x4029CE20, 0x6C049620, 0x00000004,\n\t0x2C741683, 0x6C111820, 0x6C0BD220, 0x6C3CEE20,\n}\n\n// mainContractElem: 4120 entries, 16480 bytes\nvar mainContractElem = [4120]uint32{\n\t// Block 0, offset 0x0\n\t0x402E2220, 0xE0000CFB, 0xE0000CFB, 0x002E2288, 0xE0000D01, 0xE0000D01,\n\t0x40332220, 0x40332A20, 0x40333220, 0x00332288, 0x00332A88, 0x00333288,\n\t0x40333A20, 0x40334220, 0x00333A88, 0x00334288, 0x40336220, 0x4033A220,\n\t0x4033A220, 0x00336288, 0x0033A288, 0x0033A288, 0x4033B220, 0x4033BA20,\n\t0x0033B288, 0x0033BA88, 0x4033CA20, 0x4033D420, 0x0033CA88, 0x0033D488,\n\t0x4033E420, 0x4033F220, 0x0033E488, 0x0033F288, 0x40341420, 0x40343E20,\n\t0x40342420, 0x00341488, 0x00343E88, 0x00342488, 0x40342C20, 0x40343620,\n\t0x00342C88, 0x00343688, 0x4034EE20, 0x4034F620, 0x0034EE88, 0x0034F688,\n\t0x4034FE20, 0x40350620, 0x0034FE88, 0x00350688, 0x40345020, 0x40356A20,\n\t0x40356A20, 0x00345088, 0x00356A88, 0x00356A88, 0x40357220, 0x40357A20,\n\t0x40358220, 0x40358A20, 0x00357288, 0x00357A88,\n\t// Block 1, offset 0x40\n\t0x00358288, 0x00358A88, 0x40361820, 0x40362220, 0x00361888, 0x00362288,\n\t0x40367E20, 0x40368620, 0x00367E88, 0x00368688, 0x4036A820, 0x4036B020,\n\t0x0036A888, 0x0036B088, 0x40371420, 0x40371C20, 0x00371488, 0x00371C88,\n\t0x40393820, 0x40391E20, 0x40392020, 0x40392820, 0x403A7420, 0x40392620,\n\t0x403A9020, 0x40393020, 0x4040F020, 0x4040F420, 0x4040F620, 0x40426E20,\n\t0x40427220, 0x40427020, 0x40427420, 0x40429020, 0x40429420, 0x4042D020,\n\t0x4042D620, 0x4042DA20, 0x4042D220, 0x4042D820, 0x40435E20, 0x40436220,\n\t0x4043E020, 0x4043E220, 0x4043F020, 0x4043F820, 0x4043F620, 0x4043F220,\n\t0x4043F420, 0x4043F620, 0x4043F820, 0x40448220, 0x40448820, 0x40448C20,\n\t0x40448420, 0x40448A20, 0x40451E20, 0x40452620, 0x40452020, 0x40452420,\n\t0x40452820, 0x40452420, 0x40452620, 0x40498420,\n\t// Block 2, offset 0x80\n\t0xE0001881, 0xE0001890, 0xE000189F, 0xE00018AE, 0xE00018BD, 0xE00018CC,\n\t0xE00018DB, 0xE00018EA, 0xE00018F9, 0xE0001908, 0xE0001917, 0xE0001926,\n\t0xE0001935, 0xE0001944, 0xE0001953, 0xE0001962, 0xE0001971, 0xE0001980,\n\t0xE000198F, 0xE000199E, 0xE00019AD, 0xE00019BC, 0xE00019CB, 0xE00019DA,\n\t0xE00019E9, 0xE00019F8, 0xE0001A07, 0xE0001A16, 0xE0001A25, 0xE0001A34,\n\t0xE0001A43, 0xE0001A52, 0xE0001A61, 0xE0001A70, 0xE0001A7F, 0xE0001A8E,\n\t0xE0001A9D, 0xE0001AAC, 0xE0001ABB, 0xE0001ACA, 0xE0001AD9, 0xE0001AE8,\n\t0xE0001AF7, 0xE0001B06, 0xE0001B15, 0xE0001B24, 0x40498620, 0xE0001884,\n\t0xE0001893, 0xE00018A2, 0xE00018B1, 0xE00018C0, 0xE00018CF, 0xE00018DE,\n\t0xE00018ED, 0xE00018FC, 0xE000190B, 0xE000191A, 0xE0001929, 0xE0001938,\n\t0xE0001947, 0xE0001956, 0xE0001965, 0xE0001974,\n\t// Block 3, offset 0xc0\n\t0xE0001983, 0xE0001992, 0xE00019A1, 0xE00019B0, 0xE00019BF, 0xE00019CE,\n\t0xE00019DD, 0xE00019EC, 0xE00019FB, 0xE0001A0A, 0xE0001A19, 0xE0001A28,\n\t0xE0001A37, 0xE0001A46, 0xE0001A55, 0xE0001A64, 0xE0001A73, 0xE0001A82,\n\t0xE0001A91, 0xE0001AA0, 0xE0001AAF, 0xE0001ABE, 0xE0001ACD, 0xE0001ADC,\n\t0xE0001AEB, 0xE0001AFA, 0xE0001B09, 0xE0001B18, 0xE0001B27, 0x40498820,\n\t0xE0001887, 0xE0001896, 0xE00018A5, 0xE00018B4, 0xE00018C3, 0xE00018D2,\n\t0xE00018E1, 0xE00018F0, 0xE00018FF, 0xE000190E, 0xE000191D, 0xE000192C,\n\t0xE000193B, 0xE000194A, 0xE0001959, 0xE0001968, 0xE0001977, 0xE0001986,\n\t0xE0001995, 0xE00019A4, 0xE00019B3, 0xE00019C2, 0xE00019D1, 0xE00019E0,\n\t0xE00019EF, 0xE00019FE, 0xE0001A0D, 0xE0001A1C, 0xE0001A2B, 0xE0001A3A,\n\t0xE0001A49, 0xE0001A58, 0xE0001A67, 0xE0001A76,\n\t// Block 4, offset 0x100\n\t0xE0001A85, 0xE0001A94, 0xE0001AA3, 0xE0001AB2, 0xE0001AC1, 0xE0001AD0,\n\t0xE0001ADF, 0xE0001AEE, 0xE0001AFD, 0xE0001B0C, 0xE0001B1B, 0xE0001B2A,\n\t0x40498A20, 0xE000188A, 0xE0001899, 0xE00018A8, 0xE00018B7, 0xE00018C6,\n\t0xE00018D5, 0xE00018E4, 0xE00018F3, 0xE0001902, 0xE0001911, 0xE0001920,\n\t0xE000192F, 0xE000193E, 0xE000194D, 0xE000195C, 0xE000196B, 0xE000197A,\n\t0xE0001989, 0xE0001998, 0xE00019A7, 0xE00019B6, 0xE00019C5, 0xE00019D4,\n\t0xE00019E3, 0xE00019F2, 0xE0001A01, 0xE0001A10, 0xE0001A1F, 0xE0001A2E,\n\t0xE0001A3D, 0xE0001A4C, 0xE0001A5B, 0xE0001A6A, 0xE0001A79, 0xE0001A88,\n\t0xE0001A97, 0xE0001AA6, 0xE0001AB5, 0xE0001AC4, 0xE0001AD3, 0xE0001AE2,\n\t0xE0001AF1, 0xE0001B00, 0xE0001B0F, 0xE0001B1E, 0xE0001B2D, 0x40498C20,\n\t0xE000188D, 0xE000189C, 0xE00018AB, 0xE00018BA,\n\t// Block 5, offset 0x140\n\t0xE00018C9, 0xE00018D8, 0xE00018E7, 0xE00018F6, 0xE0001905, 0xE0001914,\n\t0xE0001923, 0xE0001932, 0xE0001941, 0xE0001950, 0xE000195F, 0xE000196E,\n\t0xE000197D, 0xE000198C, 0xE000199B, 0xE00019AA, 0xE00019B9, 0xE00019C8,\n\t0xE00019D7, 0xE00019E6, 0xE00019F5, 0xE0001A04, 0xE0001A13, 0xE0001A22,\n\t0xE0001A31, 0xE0001A40, 0xE0001A4F, 0xE0001A5E, 0xE0001A6D, 0xE0001A7C,\n\t0xE0001A8B, 0xE0001A9A, 0xE0001AA9, 0xE0001AB8, 0xE0001AC7, 0xE0001AD6,\n\t0xE0001AE5, 0xE0001AF4, 0xE0001B03, 0xE0001B12, 0xE0001B21, 0xE0001B30,\n\t0xA0010502, 0x40497420, 0x4049E620, 0xE0001B42, 0xE0001B51, 0xE0001B60,\n\t0xE0001B6F, 0xE0001B7E, 0xE0001B9C, 0xE0001BBA, 0xE0001BC9, 0xE0001BD8,\n\t0xE0001BE7, 0xE0001BF6, 0xE0001C05, 0xE0001C14, 0xE0001C23, 0xE0001C32,\n\t0xE0001C41, 0xE0001C50, 0xE0001C5F, 0xE0001C6E,\n\t// Block 6, offset 0x180\n\t0xE0001C7D, 0xE0001C8C, 0xE0001C9B, 0xE0001CAA, 0xE0001B8D, 0xE0001CE1,\n\t0xE0001CF0, 0xE0001CFF, 0xE0001CB9, 0xE0001CCD, 0xE0001B33, 0xE0001BAB,\n\t0x4049E820, 0xE0001B45, 0xE0001B54, 0xE0001B63, 0xE0001B72, 0xE0001B81,\n\t0xE0001B9F, 0xE0001BBD, 0xE0001BCC, 0xE0001BDB, 0xE0001BEA, 0xE0001BF9,\n\t0xE0001C08, 0xE0001C17, 0xE0001C26, 0xE0001C35, 0xE0001C44, 0xE0001C53,\n\t0xE0001C62, 0xE0001C71, 0xE0001C80, 0xE0001C8F, 0xE0001C9E, 0xE0001CAD,\n\t0xE0001B90, 0xE0001CE4, 0xE0001CF3, 0xE0001D02, 0xE0001CBD, 0xE0001CD1,\n\t0xE0001B36, 0xE0001BAE, 0x4049EA20, 0xE0001B48, 0xE0001B57, 0xE0001B66,\n\t0xE0001B75, 0xE0001B84, 0xE0001BA2, 0xE0001BC0, 0xE0001BCF, 0xE0001BDE,\n\t0xE0001BED, 0xE0001BFC, 0xE0001C0B, 0xE0001C1A, 0xE0001C29, 0xE0001C38,\n\t0xE0001C47, 0xE0001C56, 0xE0001C65, 0xE0001C74,\n\t// Block 7, offset 0x1c0\n\t0xE0001C83, 0xE0001C92, 0xE0001CA1, 0xE0001CB0, 0xE0001B93, 0xE0001CE7,\n\t0xE0001CF6, 0xE0001D05, 0xE0001CC1, 0xE0001CD5, 0xE0001B39, 0xE0001BB1,\n\t0x4049EC20, 0xE0001B4B, 0xE0001B5A, 0xE0001B69, 0xE0001B78, 0xE0001B87,\n\t0xE0001BA5, 0xE0001BC3, 0xE0001BD2, 0xE0001BE1, 0xE0001BF0, 0xE0001BFF,\n\t0xE0001C0E, 0xE0001C1D, 0xE0001C2C, 0xE0001C3B, 0xE0001C4A, 0xE0001C59,\n\t0xE0001C68, 0xE0001C77, 0xE0001C86, 0xE0001C95, 0xE0001CA4, 0xE0001CB3,\n\t0xE0001B96, 0xE0001CEA, 0xE0001CF9, 0xE0001D08, 0xE0001CC5, 0xE0001CD9,\n\t0xE0001B3C, 0xE0001BB4, 0x4049EE20, 0xE0001B4E, 0xE0001B5D, 0xE0001B6C,\n\t0xE0001B7B, 0xE0001B8A, 0xE0001BA8, 0xE0001BC6, 0xE0001BD5, 0xE0001BE4,\n\t0xE0001BF3, 0xE0001C02, 0xE0001C11, 0xE0001C20, 0xE0001C2F, 0xE0001C3E,\n\t0xE0001C4D, 0xE0001C5C, 0xE0001C6B, 0xE0001C7A,\n\t// Block 8, offset 0x200\n\t0xE0001C89, 0xE0001C98, 0xE0001CA7, 0xE0001CB6, 0xE0001B99, 0xE0001CED,\n\t0xE0001CFC, 0xE0001D0B, 0xE0001CC9, 0xE0001CDD, 0xE0001B3F, 0xE0001BB7,\n\t0xA0010B02, 0x4049D220, 0x404A5A20, 0xE0001D0E, 0xE0001D1D, 0xE0001D2C,\n\t0xE0001D3B, 0xE0001D4A, 0xE0001D59, 0xE0001D68, 0xE0001D77, 0xE0001D86,\n\t0xE0001D95, 0xE0001DA4, 0xE0001DB3, 0xE0001DC2, 0xE0001DD1, 0xE0001DE0,\n\t0xE0001DEF, 0xE0001DFE, 0xE0001E0D, 0xE0001E1C, 0xE0001E2B, 0xE0001E3A,\n\t0xE0001E49, 0xE0001E58, 0xE0001E67, 0xE0001E76, 0xE0001E85, 0xE0001E94,\n\t0xE0001EA3, 0xE0001EB2, 0xE0001EC1, 0xE0001ED0, 0xE0001EDF, 0xE0001EEE,\n\t0xE0001EFD, 0xE0001F0C, 0xE0001F1B, 0xE0001F2A, 0xE0001F39, 0xE0001F48,\n\t0xE0001F57, 0xE0001F66, 0xE0001F75, 0xE0001F84, 0xE0001F93, 0xE0001FA2,\n\t0xE0001FB1, 0xE0001FC0, 0xE0001FCF, 0x404A5C20,\n\t// Block 9, offset 0x240\n\t0xE0001D11, 0xE0001D20, 0xE0001D2F, 0xE0001D3E, 0xE0001D4D, 0xE0001D5C,\n\t0xE0001D6B, 0xE0001D7A, 0xE0001D89, 0xE0001D98, 0xE0001DA7, 0xE0001DB6,\n\t0xE0001DC5, 0xE0001DD4, 0xE0001DE3, 0xE0001DF2, 0xE0001E01, 0xE0001E10,\n\t0xE0001E1F, 0xE0001E2E, 0xE0001E3D, 0xE0001E4C, 0xE0001E5B, 0xE0001E6A,\n\t0xE0001E79, 0xE0001E88, 0xE0001E97, 0xE0001EA6, 0xE0001EB5, 0xE0001EC4,\n\t0xE0001ED3, 0xE0001EE2, 0xE0001EF1, 0xE0001F00, 0xE0001F0F, 0xE0001F1E,\n\t0xE0001F2D, 0xE0001F3C, 0xE0001F4B, 0xE0001F5A, 0xE0001F69, 0xE0001F78,\n\t0xE0001F87, 0xE0001F96, 0xE0001FA5, 0xE0001FB4, 0xE0001FC3, 0xE0001FD2,\n\t0x404A6220, 0xE0001D14, 0xE0001D23, 0xE0001D32, 0xE0001D41, 0xE0001D50,\n\t0xE0001D5F, 0xE0001D6E, 0xE0001D7D, 0xE0001D8C, 0xE0001D9B, 0xE0001DAA,\n\t0xE0001DB9, 0xE0001DC8, 0xE0001DD7, 0xE0001DE6,\n\t// Block 10, offset 0x280\n\t0xE0001DF5, 0xE0001E04, 0xE0001E13, 0xE0001E22, 0xE0001E31, 0xE0001E40,\n\t0xE0001E4F, 0xE0001E5E, 0xE0001E6D, 0xE0001E7C, 0xE0001E8B, 0xE0001E9A,\n\t0xE0001EA9, 0xE0001EB8, 0xE0001EC7, 0xE0001ED6, 0xE0001EE5, 0xE0001EF4,\n\t0xE0001F03, 0xE0001F12, 0xE0001F21, 0xE0001F30, 0xE0001F3F, 0xE0001F4E,\n\t0xE0001F5D, 0xE0001F6C, 0xE0001F7B, 0xE0001F8A, 0xE0001F99, 0xE0001FA8,\n\t0xE0001FB7, 0xE0001FC6, 0xE0001FD5, 0x404A6620, 0xE0001D17, 0xE0001D26,\n\t0xE0001D35, 0xE0001D44, 0xE0001D53, 0xE0001D62, 0xE0001D71, 0xE0001D80,\n\t0xE0001D8F, 0xE0001D9E, 0xE0001DAD, 0xE0001DBC, 0xE0001DCB, 0xE0001DDA,\n\t0xE0001DE9, 0xE0001DF8, 0xE0001E07, 0xE0001E16, 0xE0001E25, 0xE0001E34,\n\t0xE0001E43, 0xE0001E52, 0xE0001E61, 0xE0001E70, 0xE0001E7F, 0xE0001E8E,\n\t0xE0001E9D, 0xE0001EAC, 0xE0001EBB, 0xE0001ECA,\n\t// Block 11, offset 0x2c0\n\t0xE0001ED9, 0xE0001EE8, 0xE0001EF7, 0xE0001F06, 0xE0001F15, 0xE0001F24,\n\t0xE0001F33, 0xE0001F42, 0xE0001F51, 0xE0001F60, 0xE0001F6F, 0xE0001F7E,\n\t0xE0001F8D, 0xE0001F9C, 0xE0001FAB, 0xE0001FBA, 0xE0001FC9, 0xE0001FD8,\n\t0x404A6820, 0xE0001D1A, 0xE0001D29, 0xE0001D38, 0xE0001D47, 0xE0001D56,\n\t0xE0001D65, 0xE0001D74, 0xE0001D83, 0xE0001D92, 0xE0001DA1, 0xE0001DB0,\n\t0xE0001DBF, 0xE0001DCE, 0xE0001DDD, 0xE0001DEC, 0xE0001DFB, 0xE0001E0A,\n\t0xE0001E19, 0xE0001E28, 0xE0001E37, 0xE0001E46, 0xE0001E55, 0xE0001E64,\n\t0xE0001E73, 0xE0001E82, 0xE0001E91, 0xE0001EA0, 0xE0001EAF, 0xE0001EBE,\n\t0xE0001ECD, 0xE0001EDC, 0xE0001EEB, 0xE0001EFA, 0xE0001F09, 0xE0001F18,\n\t0xE0001F27, 0xE0001F36, 0xE0001F45, 0xE0001F54, 0xE0001F63, 0xE0001F72,\n\t0xE0001F81, 0xE0001F90, 0xE0001F9F, 0xE0001FAE,\n\t// Block 12, offset 0x300\n\t0xE0001FBD, 0xE0001FCC, 0xE0001FDB, 0x404AEA20, 0xE000200E, 0xE0002011,\n\t0x404B2620, 0x404B2420, 0x404B2620, 0x404AF020, 0xE0002014, 0xE0002017,\n\t0x404B2A20, 0x404B2820, 0x404B2A20, 0x8281258B, 0x8281258D, 0x82812591,\n\t0x8281258F, 0x404ECA20, 0x404ECC20, 0x404F9C20, 0x404F9620, 0x404F9E20,\n\t0x404F9820, 0x40522620, 0x40522820, 0x40522A20, 0x40522C20, 0x40522E20,\n\t0x40523020, 0x40523220, 0x40523420, 0x40523620, 0x40523820, 0x40523E20,\n\t0x40524020, 0x40529C20, 0x40529E20, 0x4052A020, 0x4052A220, 0x4052A420,\n\t0x4052A820, 0x4052A620, 0x4052AA20, 0x4052AC20, 0x4052AE20, 0x4040B620,\n\t0x4040B420, 0x40409820, 0x4040DC20, 0x402C3A20, 0x402C3C20, 0x002C3A88,\n\t0x002C3C83, 0x402D2220, 0x402D2420, 0x002D2288, 0x002D2483, 0x002D9883,\n\t0x002D9A83, 0x402EE220, 0x402EE420, 0x002EE288,\n\t// Block 13, offset 0x340\n\t0x002EE483, 0x402FE620, 0x402FE820, 0x002FE688, 0x002FE883, 0x40306C20,\n\t0x40306E20, 0x00306C88, 0x00306E83, 0x4033B220, 0x4033BA20, 0x4033B420,\n\t0x0033B288, 0x0033BA88, 0x0033B483, 0x402E2220, 0x402E2221, 0x402E2221,\n\t0x002E2288, 0x002E22A3, 0x002E22A3, 0x402C3A20, 0x402C3C20, 0x002D6A83,\n\t0x402D6A20, 0x002C3A88, 0x002C3C83, 0x002D6A85, 0x002D6A84, 0x402F7A20,\n\t0x402F7C20, 0x002F7A88, 0x002F7C83, 0x40312A20, 0x40312C20, 0x00312A88,\n\t0x00312C83, 0x002C3A88, 0x002C3C84, 0x002C3C83, 0x402C6220, 0x402C6420,\n\t0x002C6288, 0x002C6484, 0x002C6483, 0x402D0820, 0x402D0A20, 0x002D0888,\n\t0x002D0A84, 0x002D0A83, 0x402E9E20, 0x402D2420, 0x002E9E88, 0x002D2484,\n\t0x002D2483, 0x402E2220, 0xE0000CFB, 0xE0000CFB, 0x402E2420, 0x002E2288,\n\t0xE0000D01, 0xE0000D01, 0x002E2484, 0x002E2483,\n\t// Block 14, offset 0x380\n\t0x402F2C20, 0x402F2E20, 0x002F2C88, 0x002F2E84, 0x002F2E83, 0x002F7A88,\n\t0x002F7C84, 0x002F7C83, 0x40302C20, 0x40302E20, 0x00302C88, 0x00302E84,\n\t0x00302E83, 0x40306C20, 0x40310021, 0x40310022, 0x00306C88, 0x003100A3,\n\t0x003100C3, 0x402BDE20, 0x40320C21, 0x40321020, 0x00321084, 0x002BDE88,\n\t0x00320CA3, 0x00321083, 0x00321086, 0x00321085, 0x402C9820, 0x40320C22,\n\t0x002C9888, 0x00320CC3, 0x402EE220, 0x40320E21, 0x40320E22, 0x002EE288,\n\t0x00320EA3, 0x00320EC3, 0x402BDE20, 0xE00029B8, 0x002BDE88, 0xE00029BB,\n\t0x402EE220, 0xE00029C6, 0x002EE288, 0xE00029C9, 0x40306C20, 0xE00029DC,\n\t0x00306C88, 0xE00029DF, 0xAE611302, 0x404A7621, 0x404A7C21, 0x404AB020,\n\t0x404ACC20, 0x404ACE20, 0x404AD020, 0x404AD220, 0x404AD420, 0x404ADA20,\n\t0x404A8220, 0x404A8420, 0xE0002A26, 0xE0002A2B,\n\t// Block 15, offset 0x3c0\n\t0x404A8620, 0x404A8820, 0x404A8A20, 0x404A8C20, 0x404A8E20, 0x404A9020,\n\t0x404A9220, 0x404A9420, 0x404A9620, 0x404A9820, 0x404A9A20, 0x404A9C20,\n\t0x404A8620, 0x404A8820, 0xE0002A30, 0xE0002A35, 0x404A8A20, 0x404A8C20,\n\t0x404A8E20, 0x404A9020, 0x404ABA20, 0x404ABC20, 0xE0002A3A, 0xE0002A3F,\n\t0x404ABE20, 0x404AC020, 0x404AC220, 0x404AC420, 0x404AC620, 0x404AC820,\n\t0x404ACA20, 0x404AD620, 0x404AD820, 0x404AC220, 0x404AC420, 0xE0002A44,\n\t0xE0002A49, 0x404AC620, 0x404AC820, 0x404ACA20, 0x404ACC20, 0x404ACE20,\n\t0x404AD020, 0x404AD220, 0x404AD420, 0x404AD620, 0x404AD820, 0x404ADA20,\n\t0x404ADC20, 0x404AC620, 0x404AC820, 0xE0002A4E, 0xE0002A53, 0x404ACA20,\n\t0x404ACC20, 0x404ACE20, 0x404AD020, 0x404AD220, 0x404AD420, 0x404AD620,\n\t0x404AD820, 0x404ADC20, 0x404A7820, 0x404AC020,\n\t// Block 16, offset 0x400\n\t0x404A9E20, 0xE0002A5E, 0xE0002A63, 0x404AA020, 0x404AA220, 0x404AA420,\n\t0x404AA620, 0x404AA820, 0x404AAA20, 0x404AAC20, 0x004AA283, 0x404AAE20,\n\t0x404AB020, 0x404AB220, 0x404ACC20, 0xE0002A68, 0xE0002A6D, 0x404ACE20,\n\t0x404AD020, 0x404AD220, 0x404AD420, 0x404AD620, 0x404AD820, 0x404ADA20,\n\t0x404ADC20, 0x004ACE83, 0x404A8220, 0x404AE820, 0x404AA420, 0x404A9A20,\n\t0x404A9E20, 0x404AB420, 0x404B1420, 0x404AE420, 0x404AD220, 0x404AD820,\n\t0x404AEA20, 0x404A9020, 0x404AB620, 0x404B1620, 0x404B1620, 0x404B1820,\n\t0xE0002A72, 0xE0002A77, 0x404B1A20, 0x404B1C20, 0x404B1E20, 0x404B2020,\n\t0x404B2220, 0x404B2420, 0x404B2620, 0x404B2820, 0x404B2A20, 0x004B1E83,\n\t0x404A8420, 0x404AEA20, 0x404AA620, 0x404AA020, 0x404AB820, 0x404B1820,\n\t0x404AE620, 0x404AD420, 0x404B2C20, 0x404B2E20,\n\t// Block 17, offset 0x440\n\t0x404B3020, 0x404A7A20, 0x404A8C20, 0x404AAC20, 0x404ACC20, 0x404ADC20,\n\t0x404AE020, 0x404AF620, 0x404AE820, 0x404A7C20, 0x404AE220, 0x404A9E20,\n\t0x404A9620, 0x404A9A20, 0x404AAE20, 0x404B0E20, 0x404AE020, 0x404AFC20,\n\t0x404ADE20, 0x404ACE20, 0x404AD620, 0x404AEE20, 0x404A7E20, 0x404AE420,\n\t0x404AA020, 0x404A8E20, 0x404A9820, 0x404AB020, 0x404B1020, 0x404ADA20,\n\t0x404AFE20, 0x404B0020, 0x404AC420, 0x404AB420, 0x404AB620, 0x404AB820,\n\t0x404ABA20, 0x404ABC20, 0x404ABE20, 0x404AC020, 0x404A9220, 0xE0002A7F,\n\t0xE0002A84, 0x404A9420, 0x404A9620, 0x404A9820, 0x404A9A20, 0x404A9C20,\n\t0x404ADE20, 0x404AE020, 0xE0002A89, 0xE0002A8E, 0x404AE220, 0x404AE420,\n\t0x404AE620, 0x404AE820, 0x404AEA20, 0x404AEC20, 0x404ACA20, 0x404ACC20,\n\t0xE0002A93, 0xE0002A98, 0x404ACE20, 0x404AD020,\n\t// Block 18, offset 0x480\n\t0x404AD220, 0x404AD420, 0x404AD620, 0x404AD820, 0x404ADA20, 0x404ADC20,\n\t0x404ADE20, 0x004AD283, 0x404A7E20, 0x404A8E20, 0x404A9220, 0x404A9820,\n\t0x404AAE20, 0x404ACE20, 0x404AD220, 0x404AFA20, 0x404A8020, 0x404AE620,\n\t0x404AA220, 0x404A9C20, 0x404AB220, 0x404B1220, 0x404AE220, 0x404ADC20,\n\t0x404B0020, 0x404AE020, 0x404AD020, 0x404AE020, 0x404AC220, 0x404AC420,\n\t0xE0002AA0, 0xE0002AA5, 0x404AC620, 0x404AC820, 0x404ACA20, 0x404ACC20,\n\t0x404ACE20, 0x404AD020, 0x404AD220, 0x404AD420, 0x404AD620, 0x404AD820,\n\t0x404ADA20, 0x404ADC20, 0x004ACC83, 0x404ADE20, 0x404AE020, 0x404AEE20,\n\t0x404AF020, 0xE0002AAA, 0xE0002AAF, 0x404AF220, 0x404AF420, 0x404AF620,\n\t0x404AF820, 0x404AFA20, 0x404AFC20, 0x404AFE20, 0x404B0020, 0x404B0220,\n\t0x404B0420, 0x404B0620, 0x404B0820, 0x404B0A20,\n\t// Block 19, offset 0x4c0\n\t0x004AF883, 0x404B0C20, 0x404ADE20, 0x404AE020, 0xE0002AB4, 0xE0002AB9,\n\t0x404AE220, 0x404AE420, 0x404AE620, 0x404AE820, 0x404AEA20, 0x404AEC20,\n\t0x404AEE20, 0x404AF020, 0x404AF220, 0x404AF420, 0x404AF620, 0x004AE883,\n\t0x404AF820, 0x404AFA20, 0x404A8020, 0x404A9020, 0x404A9420, 0x404AB020,\n\t0x404ABE20, 0x404AD020, 0x404AD420, 0x404A8020, 0x404AB220, 0x404AB420,\n\t0xE0002A05, 0xE0002A0A, 0x404AB620, 0x404AB820, 0x404ABA20, 0x404ABC20,\n\t0x404ABE20, 0x404AC020, 0x404AC220, 0x404AC420, 0x404AC620, 0x404AC820,\n\t0x404ACA20, 0x004ABA83, 0x404AB620, 0x404AB820, 0xE0002A0F, 0xE0002A14,\n\t0x404ABA20, 0x404ABC20, 0x404ABE20, 0x404AC020, 0x404AC220, 0x404AC420,\n\t0x404AC620, 0x404AC820, 0x004ABE83, 0x404AFC20, 0x404AFE20, 0xE0002A19,\n\t0xE0002A1E, 0x404B0020, 0x404B0220, 0x404B0420,\n\t// Block 20, offset 0x500\n\t0x404B0620, 0x404B0820, 0x404B0A20, 0x404B0C20, 0x404B0E20, 0x404B1020,\n\t0x404B1220, 0x404B1420, 0x404A8A20, 0x404A9620, 0x404AAA20, 0x404ACA20,\n\t0x404ADA20, 0x404ADE20, 0x404AE620, 0x404AF420, 0xAE611602, 0x404A9421,\n\t0xAE611402, 0x404AB821, 0x404ABC21, 0x828225B1, 0xE000200E, 0xE0002011,\n\t0x404B2620, 0xE0002ABE, 0xE000200E, 0xE0002011, 0x404B2420, 0x404B2620,\n\t0x828225B2, 0xE0002014, 0xE0002017, 0x404B2A20, 0xE0002AC1, 0xE0002014,\n\t0xE0002017, 0x404B2820, 0x404B2A20, 0xAE610F02, 0x8281258D, 0x82812591,\n\t0x8281258F, 0x002D2288, 0x002D2484, 0x002D2483, 0x402DFE20, 0x402E0020,\n\t0x002DFE88, 0x002E0084, 0x002E0083, 0x402E9E20, 0x402EA020, 0x002E9E88,\n\t0x002EA084, 0x002EA083, 0x402C7820, 0xE0000CFB, 0xE0000CFB, 0x402C3820,\n\t0xE0000D01, 0xE0000D01, 0x402D6820, 0x402D6A20,\n\t// Block 21, offset 0x540\n\t0x002D6888, 0x002D6A83, 0x402DCC20, 0x402DCE20, 0x002DCC88, 0x002DCE83,\n\t0x002E9E88, 0x002EA083, 0x402FE620, 0x40302620, 0x002FE688, 0x00302683,\n\t0x40302820, 0x40302A20, 0x00302883, 0x00302A83, 0x402EE220, 0x4030EE20,\n\t0x4030F220, 0x002EE288, 0x0030EE83, 0x0030F283, 0x402BDE20, 0x4030F020,\n\t0x002BDE88, 0x0030F083, 0x40306C20, 0x4030F420, 0x00306C88, 0x0030F483,\n\t0x40393820, 0x40393620, 0x40393A21, 0x40393A23, 0x403A7420, 0x40393A25,\n\t0x403A9220, 0x40393A26, 0x403A9221, 0x00393B43, 0x403A9223, 0x00393B44,\n\t0x403A8821, 0x403A8825, 0x40306C20, 0x40310021, 0x00306C88, 0x003100A3,\n\t0x402BDE20, 0x40320E20, 0x40320C20, 0x002BDE88, 0x00320E83, 0x00320C83,\n\t0x402EE220, 0x40321020, 0x002EE288, 0x00321083, 0x402EE220, 0x40321023,\n\t0x40321020, 0x40321022, 0x002EE288, 0x003210E3,\n\t// Block 22, offset 0x580\n\t0x00321083, 0x003210C3, 0x402E9E20, 0x402EA020, 0x402EA220, 0x002E9E88,\n\t0x002EA083, 0x002EA284, 0x002EA283, 0x002FE688, 0x002FE884, 0x002FE883,\n\t0x4031DE20, 0x00310286, 0x00310283, 0x4003D220, 0x00310287, 0x00310284,\n\t0x402BEC20, 0xE0000CFB, 0xE0000CFB, 0x002BEC83, 0xE0000D01, 0xE0000D01,\n\t0x402C3A20, 0x402C3E20, 0x402C3C20, 0x002C3A88, 0x002C3E83, 0x002C3C83,\n\t0x402C6220, 0x402C6420, 0x402C6420, 0x002C6288, 0x002C6486, 0x002C6484,\n\t0x002C6486, 0x002C6484, 0x002E2288, 0xE0000D01, 0xE0000D01, 0x002E2486,\n\t0x002E2484, 0x002E9E88, 0x002EA086, 0x002EA084, 0x402C3A20, 0xE0003C42,\n\t0x402C3C20, 0x002C3A88, 0xE0003C48, 0xE0003C45, 0x002C3C86, 0x002C3C84,\n\t0x402C6220, 0xE0003C54, 0xE0003C4B, 0x402C6620, 0x402C6420, 0x002C6288,\n\t0xE0003C5A, 0xE0003C57, 0xE0003C51, 0x002C6686,\n\t// Block 23, offset 0x5c0\n\t0xE0003C4E, 0x002C6684, 0x002C6486, 0x002C6484, 0x402D2220, 0xE0003C5D,\n\t0x402D2420, 0x002D2288, 0xE0003C63, 0xE0003C60, 0x002D2486, 0x002D2484,\n\t0x402E2220, 0xE0003C66, 0xE0000CFB, 0xE0000CFB, 0x402E2420, 0x002E2288,\n\t0xE0003C6C, 0xE0003C69, 0xE0000D01, 0xE0000D01, 0x002E2486, 0x002E2484,\n\t0x402E9E20, 0xE0003C6F, 0x402EA020, 0x002E9E88, 0xE0003C75, 0xE0003C72,\n\t0x002EA086, 0x002EA084, 0x402EE220, 0x402EE420, 0x402EE421, 0x002EE288,\n\t0x002EE483, 0x002EE4A3, 0x402FE620, 0xE0003C78, 0x402FE820, 0x002FE688,\n\t0xE0003C7E, 0xE0003C7B, 0x002FE886, 0x002FE884, 0x40302C20, 0xE0003C81,\n\t0x40302E20, 0x00302C88, 0xE0003C87, 0xE0003C84, 0x00302E86, 0x00302E84,\n\t0x40306C20, 0x40306E20, 0x40306E21, 0x00306C88, 0x00306E83, 0x00306EA3,\n\t0x40312A20, 0xE0003C8A, 0x40312C20, 0x00312A88,\n\t// Block 24, offset 0x600\n\t0xE0003C90, 0xE0003C8D, 0x00312C86, 0x00312C84, 0x00384A88, 0x00388A83,\n\t0x402C3A20, 0x402C0C20, 0x002C3A88, 0x002C0C84, 0x002C0C83, 0x402D2220,\n\t0x402D2420, 0x402D2620, 0x402D2820, 0x002D2288, 0x002D2484, 0x002D2684,\n\t0x002D2884, 0x002D2483, 0x002D2683, 0x002D2883, 0x402D9A20, 0x402D9C20,\n\t0x002D9A88, 0x002D9C83, 0x402DFE20, 0x402E0020, 0x402E0220, 0x002DFE88,\n\t0x002E0084, 0x002E0284, 0x002E0083, 0x002E0283, 0x402E9E20, 0x402EA020,\n\t0x402EA220, 0x402EA420, 0x002E9E88, 0x002EA083, 0x002EA284, 0x002EA484,\n\t0x002EA283, 0x002EA483, 0x402BDE20, 0x402C0820, 0x40320C21, 0x40321020,\n\t0x002BDE88, 0x002C0883, 0x00320CA3, 0x00321083, 0x402C9820, 0x402D0620,\n\t0x002C9888, 0x002D0683, 0x402D9A20, 0x402DCA20, 0x002D9A88, 0x002DCA83,\n\t0x402EE220, 0x402F2A20, 0x40320E20, 0x002EE288,\n\t// Block 25, offset 0x640\n\t0x002F2A83, 0x00320E83, 0x40306C20, 0x4030BC20, 0x00306C88, 0x0030BC83,\n\t0x40310020, 0x40312820, 0x00310088, 0x00312883, 0x0065768F, 0xE0003D1D,\n\t0xE0003D17, 0x0065768F, 0xE0003D17, 0xE0003D1D, 0x00657691, 0xE0003D20,\n\t0xE0003D1A, 0x00657691, 0xE0003D1A, 0xE0003D20, 0x0065828F, 0xE0003E9B,\n\t0xE0003D23, 0x0065828F, 0xE0003D23, 0xE0003E9B, 0x00658291, 0xE0003EA1,\n\t0xE0003D29, 0xE0003E9E, 0xE0003D26, 0x00658291, 0xE0003D29, 0xE0003EA1,\n\t0xE0003D26, 0xE0003E9E, 0x00658291, 0xE0003D26, 0xE0003E9E, 0xE000216D,\n\t0xE0003EA1, 0xE0003D29, 0xE000216D, 0xE0003D29, 0xE0003EA1, 0x00658C91,\n\t0xE0003EE4, 0xE0003EE0, 0xE0003D30, 0xE0003EE0, 0xE0003EDD, 0xE0003EE0,\n\t0xE0003D2D, 0x00658C91, 0xE0003EE4, 0xE0003D30, 0xE0003EE0, 0xE0003EE0,\n\t0xE0003D2D, 0xE0003EDD, 0xE0003EE0, 0x00658C91,\n\t// Block 26, offset 0x680\n\t0xE0003EE0, 0xE0003D2D, 0xE0003EDD, 0xE0003EE0, 0xE00021F2, 0xE0003EE0,\n\t0xE0003EE4, 0xE0003D30, 0xE00021F2, 0xE0003D30, 0xE0003EE0, 0xE0003EE4,\n\t0x00659691, 0xE0003F2E, 0xE0003F2A, 0xE0003D37, 0xE0003F2A, 0xE0003F27,\n\t0xE0003F2A, 0xE0003D34, 0x00659691, 0xE0003F2E, 0xE0003D37, 0xE0003F2A,\n\t0xE0003F2A, 0xE0003D34, 0xE0003F27, 0xE0003F2A, 0x00659691, 0xE0003F2A,\n\t0xE0003D34, 0xE0003F27, 0xE0003F2A, 0xE000222C, 0xE0003F2A, 0xE0003F2E,\n\t0xE0003D37, 0xE000222C, 0xE0003D37, 0xE0003F2A, 0xE0003F2E, 0x0065A091,\n\t0xE0003F71, 0xE0003D3B, 0x0065A091, 0xE0003D3B, 0xE0003F71, 0x0065AA8F,\n\t0xE0003F89, 0xE0003D3E, 0xE0003F83, 0xE0003F89, 0x0065AA91, 0xE0003F91,\n\t0xE0003F9A, 0xE0003F8D, 0xE0003D44, 0xE0003F96, 0xE0003D48, 0xE0003F8D,\n\t0xE0003F86, 0xE0003F8D, 0xE0003D41, 0x0065AA91,\n\t// Block 27, offset 0x6c0\n\t0xE0003F91, 0xE0003F9A, 0xE0003D44, 0xE0003F8D, 0xE0003D48, 0xE0003F96,\n\t0xE0003F8D, 0xE0003D41, 0xE0003F86, 0xE0003F8D, 0x0065AA91, 0xE0003F8D,\n\t0xE0003D41, 0xE0003F86, 0xE0003F8D, 0xE000225B, 0xE0003F8D, 0xE0003F91,\n\t0xE0003D44, 0xE000225B, 0xE0003D44, 0xE0003F8D, 0xE0003F91, 0xE0002261,\n\t0xE0003F96, 0xE0003F9A, 0xE0003D48, 0xE0002261, 0xE0003D48, 0xE0003F96,\n\t0xE0003F9A, 0x0065B491, 0xE000400F, 0xE0003D4C, 0x0065B491, 0xE0003D4C,\n\t0xE000400F, 0x0065BE8F, 0xE0004021, 0xE0003D4F, 0x0065BE8F, 0xE0003D4F,\n\t0xE0004021, 0x0065BE91, 0xE0004024, 0xE0003D52, 0x0065BE91, 0xE0003D52,\n\t0xE0004024, 0x0065C68F, 0xE0003D55, 0xE0004036, 0x0065C691, 0xE0004039,\n\t0xE0003D58, 0x0065C691, 0xE0003D58, 0xE0004039, 0x0065D08F, 0xE000405A,\n\t0xE0004054, 0xE000405A, 0xE0003D5B, 0x0065D08F,\n\t// Block 28, offset 0x700\n\t0xE000405A, 0xE0003D5B, 0xE0004054, 0xE000405A, 0x0065D091, 0xE000405E,\n\t0xE0004057, 0xE000405E, 0xE0003D5E, 0x0065D091, 0xE0004062, 0xE0003D61,\n\t0xE000405E, 0xE000405E, 0xE0003D5E, 0xE0004057, 0xE000405E, 0x0065D091,\n\t0xE000405E, 0xE0003D5E, 0xE0004057, 0xE000405E, 0xE000236A, 0xE0003D61,\n\t0xE000405E, 0xE0004062, 0x0065788F, 0xE0003D6B, 0xE0003D65, 0x0065788F,\n\t0xE0003D65, 0xE0003D6B, 0x00657891, 0xE0003D6E, 0xE0003D68, 0x00657891,\n\t0xE0003D68, 0xE0003D6E, 0x00658491, 0xE0003EAC, 0xE0003EA8, 0xE0003D74,\n\t0xE0003EA8, 0xE0003EA5, 0xE0003EA8, 0xE0003D71, 0x00658491, 0xE0003EAC,\n\t0xE0003D74, 0xE0003EA8, 0xE0003EA8, 0xE0003D71, 0xE0003EA5, 0xE0003EA8,\n\t0x00658491, 0xE0003EA8, 0xE0003D71, 0xE0003EA5, 0xE0003EA8, 0xE000218B,\n\t0xE0003EA8, 0xE0003EAC, 0xE0003D74, 0xE000218B,\n\t// Block 29, offset 0x740\n\t0xE0003D74, 0xE0003EA8, 0xE0003EAC, 0x00658E8F, 0xE0003EEF, 0xE0003D78,\n\t0xE0003EE9, 0xE0003EEF, 0x00658E91, 0xE0003EF7, 0xE0003EF3, 0xE0003D7E,\n\t0xE0003EF3, 0xE0003EEC, 0xE0003EF3, 0xE0003D7B, 0x00658E91, 0xE0003EF7,\n\t0xE0003D7E, 0xE0003EF3, 0xE0003EF3, 0xE0003D7B, 0xE0003EEC, 0xE0003EF3,\n\t0x00658E91, 0xE0003EF3, 0xE0003D7B, 0xE0003EEC, 0xE0003EF3, 0xE0002203,\n\t0xE0003EF3, 0xE0003EF7, 0xE0003D7E, 0xE0002203, 0xE0003D7E, 0xE0003EF3,\n\t0xE0003EF7, 0x00659891, 0xE0003F3A, 0xE0003F36, 0xE0003D85, 0xE0003F36,\n\t0xE0003F33, 0xE0003F36, 0xE0003D82, 0x00659891, 0xE0003F3A, 0xE0003D85,\n\t0xE0003F36, 0xE0003F36, 0xE0003D82, 0xE0003F33, 0xE0003F36, 0x00659891,\n\t0xE0003F36, 0xE0003D82, 0xE0003F33, 0xE0003F36, 0xE0002237, 0xE0003F36,\n\t0xE0003F3A, 0xE0003D85, 0xE0002237, 0xE0003D85,\n\t// Block 30, offset 0x780\n\t0xE0003F36, 0xE0003F3A, 0x0065A291, 0xE0003F74, 0xE0003D89, 0x0065A291,\n\t0xE0003D89, 0xE0003F74, 0x0065AC8F, 0xE0003FA5, 0xE0003D8C, 0xE0003F9F,\n\t0xE0003FA5, 0x0065AC91, 0xE0003FAD, 0xE0003FB6, 0xE0003FA9, 0xE0003D92,\n\t0xE0003FB2, 0xE0003D96, 0xE0003FA9, 0xE0003FA2, 0xE0003FA9, 0xE0003D8F,\n\t0x0065AC91, 0xE0003FAD, 0xE0003FB6, 0xE0003D92, 0xE0003FA9, 0xE0003D96,\n\t0xE0003FB2, 0xE0003FA9, 0xE0003D8F, 0xE0003FA2, 0xE0003FA9, 0x0065AC91,\n\t0xE0003FA9, 0xE0003D8F, 0xE0003FA2, 0xE0003FA9, 0xE000227D, 0xE0003FA9,\n\t0xE0003FAD, 0xE0003D92, 0xE000227D, 0xE0003D92, 0xE0003FA9, 0xE0003FAD,\n\t0xE0002283, 0xE0003FB2, 0xE0003FB6, 0xE0003D96, 0xE0002283, 0xE0003D96,\n\t0xE0003FB2, 0xE0003FB6, 0x0065B691, 0xE0004012, 0xE0003D9A, 0x0065B691,\n\t0xE0003D9A, 0xE0004012, 0x0065C88F, 0xE0003D9D,\n\t// Block 31, offset 0x7c0\n\t0xE000403C, 0x0065C891, 0xE000403F, 0xE0003DA0, 0x0065C891, 0xE0003DA0,\n\t0xE000403F, 0x0065D291, 0xE000406A, 0xE0004067, 0xE000406A, 0xE0003DA3,\n\t0x0065D291, 0xE000406E, 0xE0003DA6, 0xE000406A, 0xE000406A, 0xE0003DA3,\n\t0xE0004067, 0xE000406A, 0xE0002371, 0xE0003DA6, 0xE000406A, 0xE000406E,\n\t0x00657A8F, 0xE0003DBA, 0xE0003DB0, 0xE0003DBA, 0xE0003DAA, 0x00657A8F,\n\t0xE0003DBA, 0xE0003DAA, 0xE0003DB0, 0xE0003DBA, 0x00657A91, 0xE0003DC2,\n\t0xE0003DBE, 0xE0003DB6, 0xE0003DBE, 0xE0003DB3, 0xE0003DBE, 0xE0003DAD,\n\t0x00657A91, 0xE0003DC2, 0xE0003DB6, 0xE0003DBE, 0xE0003DBE, 0xE0003DAD,\n\t0xE0003DB3, 0xE0003DBE, 0x00657A91, 0xE0003DBE, 0xE0003DAD, 0xE0003DB3,\n\t0xE0003DBE, 0xE000214F, 0xE0003DBE, 0xE0003DC2, 0xE0003DB6, 0xE000214F,\n\t0xE0003DB6, 0xE0003DBE, 0xE0003DC2, 0x0065868F,\n\t// Block 32, offset 0x800\n\t0xE0003EB7, 0xE0003DC7, 0xE0003EB1, 0xE0003EB7, 0x00658691, 0xE0003EBF,\n\t0xE0003EBB, 0xE0003DCD, 0xE0003EBB, 0xE0003EB4, 0xE0003EBB, 0xE0003DCA,\n\t0x00658691, 0xE0003EBF, 0xE0003DCD, 0xE0003EBB, 0xE0003EBB, 0xE0003DCA,\n\t0xE0003EB4, 0xE0003EBB, 0x00658691, 0xE0003EBB, 0xE0003DCA, 0xE0003EB4,\n\t0xE0003EBB, 0xE00021BB, 0xE0003EBB, 0xE0003EBF, 0xE0003DCD, 0xE00021BB,\n\t0xE0003DCD, 0xE0003EBB, 0xE0003EBF, 0x0065908F, 0xE0003F02, 0xE0003DD1,\n\t0xE0003EFC, 0xE0003F02, 0x00659091, 0xE0003F0A, 0xE0003F06, 0xE0003DD7,\n\t0xE0003F06, 0xE0003EFF, 0xE0003F06, 0xE0003DD4, 0x00659091, 0xE0003F0A,\n\t0xE0003DD7, 0xE0003F06, 0xE0003F06, 0xE0003DD4, 0xE0003EFF, 0xE0003F06,\n\t0x00659091, 0xE0003F06, 0xE0003DD4, 0xE0003EFF, 0xE0003F06, 0xE0002212,\n\t0xE0003F06, 0xE0003F0A, 0xE0003DD7, 0xE0002212,\n\t// Block 33, offset 0x840\n\t0xE0003DD7, 0xE0003F06, 0xE0003F0A, 0x00659A8F, 0xE0003F45, 0xE0003F3F,\n\t0xE0003F45, 0xE0003DDB, 0x00659A8F, 0xE0003F45, 0xE0003DDB, 0xE0003F3F,\n\t0xE0003F45, 0x00659A91, 0xE0003F4D, 0xE0003F49, 0xE0003DE1, 0xE0003F49,\n\t0xE0003F42, 0xE0003F49, 0xE0003DDE, 0x00659A91, 0xE0003F4D, 0xE0003DE1,\n\t0xE0003F49, 0xE0003F49, 0xE0003DDE, 0xE0003F42, 0xE0003F49, 0x00659A91,\n\t0xE0003F49, 0xE0003DDE, 0xE0003F42, 0xE0003F49, 0xE000223D, 0xE0003F49,\n\t0xE0003F4D, 0xE0003DE1, 0xE000223D, 0xE0003DE1, 0xE0003F49, 0xE0003F4D,\n\t0x0065A48F, 0xE0003DE5, 0xE0003F77, 0x0065A491, 0xE0003F7A, 0xE0003DE8,\n\t0x0065A491, 0xE0003DE8, 0xE0003F7A, 0x0065AE8F, 0xE0003FC1, 0xE0003DEB,\n\t0xE0003FBB, 0xE0003FC1, 0x0065AE91, 0xE0003FC9, 0xE0003FD2, 0xE0003FC5,\n\t0xE0003DF1, 0xE0003FCE, 0xE0003DF5, 0xE0003FC5,\n\t// Block 34, offset 0x880\n\t0xE0003FBE, 0xE0003FC5, 0xE0003DEE, 0x0065AE91, 0xE0003FC9, 0xE0003FD2,\n\t0xE0003DF1, 0xE0003FC5, 0xE0003DF5, 0xE0003FCE, 0xE0003FC5, 0xE0003DEE,\n\t0xE0003FBE, 0xE0003FC5, 0x0065AE91, 0xE0003FC5, 0xE0003DEE, 0xE0003FBE,\n\t0xE0003FC5, 0xE000229D, 0xE0003FC5, 0xE0003FC9, 0xE0003DF1, 0xE000229D,\n\t0xE0003DF1, 0xE0003FC5, 0xE0003FC9, 0xE00022A3, 0xE0003FCE, 0xE0003FD2,\n\t0xE0003DF5, 0xE00022A3, 0xE0003DF5, 0xE0003FCE, 0xE0003FD2, 0x0065B88F,\n\t0xE0003DF9, 0xE0004015, 0x0065B891, 0xE0004018, 0xE0003DFC, 0x0065B891,\n\t0xE0003DFC, 0xE0004018, 0x0065C08F, 0xE0004027, 0xE0003DFF, 0x0065C08F,\n\t0xE0003DFF, 0xE0004027, 0x0065C091, 0xE000402A, 0xE0003E02, 0x0065C091,\n\t0xE0003E02, 0xE000402A, 0x0065CA8F, 0xE0003E05, 0xE0004042, 0x0065CA91,\n\t0xE0004045, 0xE0003E08, 0x0065CA91, 0xE0003E08,\n\t// Block 35, offset 0x8c0\n\t0xE0004045, 0x00657E8F, 0xE0003E11, 0xE0003E0B, 0x00657E8F, 0xE0003E0B,\n\t0xE0003E11, 0x00657E91, 0xE0003E14, 0xE0003E0E, 0x00657E91, 0xE0003E0E,\n\t0xE0003E14, 0x0065888F, 0xE0003EC4, 0xE0003E17, 0x0065888F, 0xE0003E17,\n\t0xE0003EC4, 0x00658891, 0xE0003ECA, 0xE0003E1D, 0xE0003EC7, 0xE0003E1A,\n\t0x00658891, 0xE0003E1D, 0xE0003ECA, 0xE0003E1A, 0xE0003EC7, 0x00658891,\n\t0xE0003E1A, 0xE0003EC7, 0xE00021D9, 0xE0003ECA, 0xE0003E1D, 0xE00021D9,\n\t0xE0003E1D, 0xE0003ECA, 0x00659291, 0xE0003F16, 0xE0003F12, 0xE0003E24,\n\t0xE0003F12, 0xE0003F0F, 0xE0003F12, 0xE0003E21, 0x00659291, 0xE0003F16,\n\t0xE0003E24, 0xE0003F12, 0xE0003F12, 0xE0003E21, 0xE0003F0F, 0xE0003F12,\n\t0x00659291, 0xE0003F12, 0xE0003E21, 0xE0003F0F, 0xE0003F12, 0xE0002218,\n\t0xE0003F12, 0xE0003F16, 0xE0003E24, 0xE0002218,\n\t// Block 36, offset 0x900\n\t0xE0003E24, 0xE0003F12, 0xE0003F16, 0x00659C91, 0xE0003F59, 0xE0003F55,\n\t0xE0003E2B, 0xE0003F55, 0xE0003F52, 0xE0003F55, 0xE0003E28, 0x00659C91,\n\t0xE0003F59, 0xE0003E2B, 0xE0003F55, 0xE0003F55, 0xE0003E28, 0xE0003F52,\n\t0xE0003F55, 0x00659C91, 0xE0003F55, 0xE0003E28, 0xE0003F52, 0xE0003F55,\n\t0xE0002243, 0xE0003F55, 0xE0003F59, 0xE0003E2B, 0xE0002243, 0xE0003E2B,\n\t0xE0003F55, 0xE0003F59, 0x0065A691, 0xE0003F7D, 0xE0003E2F, 0x0065A691,\n\t0xE0003E2F, 0xE0003F7D, 0x0065B08F, 0xE0003FDD, 0xE0003E32, 0xE0003FD7,\n\t0xE0003FDD, 0x0065B091, 0xE0003FE5, 0xE0003FEE, 0xE0003FE1, 0xE0003E38,\n\t0xE0003FEA, 0xE0003E3C, 0xE0003FE1, 0xE0003FDA, 0xE0003FE1, 0xE0003E35,\n\t0x0065B091, 0xE0003FE5, 0xE0003FEE, 0xE0003E38, 0xE0003FE1, 0xE0003E3C,\n\t0xE0003FEA, 0xE0003FE1, 0xE0003E35, 0xE0003FDA,\n\t// Block 37, offset 0x940\n\t0xE0003FE1, 0x0065B091, 0xE0003FE1, 0xE0003E35, 0xE0003FDA, 0xE0003FE1,\n\t0xE00022C0, 0xE0003FE1, 0xE0003FE5, 0xE0003E38, 0xE00022C0, 0xE0003E38,\n\t0xE0003FE1, 0xE0003FE5, 0xE00022C6, 0xE0003FEA, 0xE0003FEE, 0xE0003E3C,\n\t0xE00022C6, 0xE0003E3C, 0xE0003FEA, 0xE0003FEE, 0x0065BA91, 0xE000401B,\n\t0xE0003E40, 0x0065BA91, 0xE0003E40, 0xE000401B, 0x0065CC8F, 0xE0003E43,\n\t0xE0004048, 0x0065CC91, 0xE000404B, 0xE0003E46, 0x0065CC91, 0xE0003E46,\n\t0xE000404B, 0x0065D491, 0xE0004076, 0xE0004073, 0xE0004076, 0xE0003E49,\n\t0x0065D491, 0xE000407A, 0xE0003E4C, 0xE0004076, 0xE0004076, 0xE0003E49,\n\t0xE0004073, 0xE0004076, 0xE0002374, 0xE0003E4C, 0xE0004076, 0xE000407A,\n\t0x0065808F, 0xE0003E56, 0xE0003E50, 0x0065808F, 0xE0003E50, 0xE0003E56,\n\t0x00658091, 0xE0003E59, 0xE0003E53, 0x00658091,\n\t// Block 38, offset 0x980\n\t0xE0003E53, 0xE0003E59, 0x00658A91, 0xE0003ED5, 0xE0003ED1, 0xE0003E5F,\n\t0xE0003ED1, 0xE0003ECE, 0xE0003ED1, 0xE0003E5C, 0x00658A91, 0xE0003ED5,\n\t0xE0003E5F, 0xE0003ED1, 0xE0003ED1, 0xE0003E5C, 0xE0003ECE, 0xE0003ED1,\n\t0x00658A91, 0xE0003ED1, 0xE0003E5C, 0xE0003ECE, 0xE0003ED1, 0xE00021E3,\n\t0xE0003ED1, 0xE0003ED5, 0xE0003E5F, 0xE00021E3, 0xE0003E5F, 0xE0003ED1,\n\t0xE0003ED5, 0x00659491, 0xE0003F22, 0xE0003F1E, 0xE0003E66, 0xE0003F1E,\n\t0xE0003F1B, 0xE0003F1E, 0xE0003E63, 0x00659491, 0xE0003F22, 0xE0003E66,\n\t0xE0003F1E, 0xE0003F1E, 0xE0003E63, 0xE0003F1B, 0xE0003F1E, 0x00659491,\n\t0xE0003F1E, 0xE0003E63, 0xE0003F1B, 0xE0003F1E, 0xE0002226, 0xE0003F1E,\n\t0xE0003F22, 0xE0003E66, 0xE0002226, 0xE0003E66, 0xE0003F1E, 0xE0003F22,\n\t0x00659E8F, 0xE0003F64, 0xE0003E6A, 0xE0003F5E,\n\t// Block 39, offset 0x9c0\n\t0xE0003F64, 0x00659E91, 0xE0003F6C, 0xE0003F68, 0xE0003E70, 0xE0003F68,\n\t0xE0003F61, 0xE0003F68, 0xE0003E6D, 0x00659E91, 0xE0003F6C, 0xE0003E70,\n\t0xE0003F68, 0xE0003F68, 0xE0003E6D, 0xE0003F61, 0xE0003F68, 0x00659E91,\n\t0xE0003F68, 0xE0003E6D, 0xE0003F61, 0xE0003F68, 0xE000224D, 0xE0003F68,\n\t0xE0003F6C, 0xE0003E70, 0xE000224D, 0xE0003E70, 0xE0003F68, 0xE0003F6C,\n\t0x0065A891, 0xE0003F80, 0xE0003E74, 0x0065A891, 0xE0003E74, 0xE0003F80,\n\t0x0065B28F, 0xE0003FF9, 0xE0003E77, 0xE0003FF3, 0xE0003FF9, 0x0065B291,\n\t0xE0004001, 0xE000400A, 0xE0003FFD, 0xE0003E7D, 0xE0004006, 0xE0003E81,\n\t0xE0003FFD, 0xE0003FF6, 0xE0003FFD, 0xE0003E7A, 0x0065B291, 0xE0004001,\n\t0xE000400A, 0xE0003E7D, 0xE0003FFD, 0xE0003E81, 0xE0004006, 0xE0003FFD,\n\t0xE0003E7A, 0xE0003FF6, 0xE0003FFD, 0x0065B291,\n\t// Block 40, offset 0xa00\n\t0xE0003FFD, 0xE0003E7A, 0xE0003FF6, 0xE0003FFD, 0xE00022EF, 0xE0003FFD,\n\t0xE0004001, 0xE0003E7D, 0xE00022EF, 0xE0003E7D, 0xE0003FFD, 0xE0004001,\n\t0xE00022F5, 0xE0004006, 0xE000400A, 0xE0003E81, 0xE00022F5, 0xE0003E81,\n\t0xE0004006, 0xE000400A, 0x0065BC91, 0xE000401E, 0xE0003E85, 0x0065BC91,\n\t0xE0003E85, 0xE000401E, 0x0065C48F, 0xE000402D, 0xE0003E88, 0x0065C48F,\n\t0xE0003E88, 0xE000402D, 0x0065C491, 0xE0004030, 0xE0003E8B, 0x0065C491,\n\t0xE0003E8B, 0xE0004030, 0x0065CE8F, 0xE0003E8E, 0xE000404E, 0x0065CE91,\n\t0xE0004051, 0xE0003E91, 0x0065CE91, 0xE0003E91, 0xE0004051, 0x0065D691,\n\t0xE0004082, 0xE000407F, 0xE0004082, 0xE0003E94, 0x0065D691, 0xE0004086,\n\t0xE0003E97, 0xE0004082, 0xE0004082, 0xE0003E94, 0xE000407F, 0xE0004082,\n\t0x0065D691, 0xE0004082, 0xE0003E94, 0xE000407F,\n\t// Block 41, offset 0xa40\n\t0xE0004082, 0xE0002377, 0xE0003E97, 0xE0004082, 0xE0004086, 0x0065D891,\n\t0xE000408B, 0x40368C20, 0x40343620, 0x00368C83, 0x00343688, 0x002DFE88,\n\t0x002F56A3, 0x402BDE20, 0x40320C21, 0x40321020, 0x002BDE88, 0x00320CA3,\n\t0x00321083, 0x404FA420, 0xE000409E, 0x404FA620, 0xE00040A2, 0x404FA820,\n\t0xE00040A6, 0x404FAA20, 0xE00040AA, 0x404FAC20, 0xE00040AE, 0x404FAE20,\n\t0xE00040B2, 0x404FB020, 0xE00040B6, 0x404FB220, 0xE00040BA, 0x404FB420,\n\t0xE00040BE, 0x404FB620, 0xE00040C2, 0x404FB820, 0xE00040C6, 0x404FBA20,\n\t0xE00040CA, 0x404FBC20, 0xE00040CE, 0x404FBE20, 0xE00040D2, 0x404FC020,\n\t0xE00040D6, 0x404FC220, 0xE00040DA, 0x404FC420, 0xE00040DE, 0x404FC620,\n\t0xE00040E2, 0x404FC820, 0xE00040E6, 0x404FCA20, 0xE00040EA, 0x404FCC20,\n\t0xE00040EE, 0x404FCE20, 0xE00040F2, 0x404FD020,\n\t// Block 42, offset 0xa80\n\t0xE00040F6, 0x404FD220, 0xE00040FA, 0x404FD420, 0xE00040FE, 0x404FD620,\n\t0xE0004102, 0x404FD820, 0xE0004106, 0x404FDA20, 0xE000410A, 0x404FDA20,\n\t0xE000410E, 0x404FDC20, 0xE0004112, 0x404FDC20, 0xE0004116, 0x404FDC20,\n\t0xE000411A, 0x404FDE20, 0xE000411E, 0x404FDE20, 0xE0004122, 0x404FE020,\n\t0xE0004126, 0x404FE220, 0xE000412A, 0x404FE420, 0xE000412E, 0x404FE620,\n\t0xE0004132, 0x404FE820, 0xE0004136, 0x40501820, 0x40502E20, 0x40503820,\n\t0x40500E20, 0x40503220, 0x40501020, 0x40503620, 0x40502420, 0x40503A20,\n\t0x40502A20, 0x40503C20, 0x403FEC20, 0x40403E20, 0x402D2220, 0x002D2483,\n\t0x402D2420, 0x002D2288, 0x002D2485, 0x002D2484, 0x402DFE20, 0x002E0083,\n\t0x402E0020, 0x002DFE88, 0x002E0085, 0x002E0084, 0x402E8220, 0x002E8483,\n\t0x002E8683, 0x002E8883, 0x002E8A83, 0x402E8420,\n\t// Block 43, offset 0xac0\n\t0x402E8620, 0x402E8820, 0x402E8A20, 0x002E8288, 0x002E8485, 0x002E8685,\n\t0x002E8885, 0x002E8A85, 0x002E8484, 0x002E8684, 0x002E8884, 0x002E8A84,\n\t0x402E9E20, 0x002EA485, 0x002EA484, 0x002EA483, 0x402EA420, 0x002EA083,\n\t0x002EA283, 0x002EA683, 0x002EA883, 0x002EAA83, 0x002EAC83, 0x002EAE83,\n\t0x402EA020, 0x402EA220, 0x402EA620, 0x402EA820, 0x402EAA20, 0x402EAC20,\n\t0x402EAE20, 0x002E9E88, 0x002EA488, 0x002EA487, 0x002EA486, 0x002EA085,\n\t0x002EA285, 0x002EA685, 0x002EA885, 0x002EAA85, 0x002EAC85, 0x002EAE85,\n\t0x002EA084, 0x002EA284, 0x002EA684, 0x002EA884, 0x002EAA84, 0x002EAC84,\n\t0x002EAE84, 0x402FE620, 0x002FE883, 0x402FE820, 0x002FE688, 0x002FE885,\n\t0x002FE884, 0x40302C20, 0x00302E83, 0x40302E20, 0x00302C88, 0x00302E85,\n\t0x00302E84, 0xAE605202, 0xAE603502, 0xAE603202,\n\t// Block 44, offset 0xb00\n\t0xAE604E02, 0x402BDE20, 0x402BDE21, 0x002BDE88, 0x002BDEA3, 0x402C9820,\n\t0x402C9822, 0x402C9821, 0x002C9888, 0x002C98C3, 0x002C98A3, 0x402D9A20,\n\t0x402D9A21, 0x002D9A88, 0x002D9AA3, 0x40306C20, 0x40306C22, 0x40306C21,\n\t0x00306C88, 0x00306CC3, 0x00306CA3, 0x402C3A20, 0x402C6020, 0x002C3A88,\n\t0x002C6083, 0x402D2220, 0x402D6620, 0x002D2288, 0x002D6683, 0x402DFE20,\n\t0x402E2020, 0x002DFE88, 0x002E2083, 0x402E2220, 0xE0000CFB, 0x402E8020,\n\t0xE0000CFB, 0x002E2288, 0xE0000D01, 0x002E8083, 0xE0000D01, 0x402E9E20,\n\t0x402EE020, 0x002E9E88, 0x002EE083, 0x402F7A20, 0x402FE420, 0x002F7A88,\n\t0x002FE483, 0x402FE620, 0x40302A20, 0x002FE688, 0x00302A83, 0x40312A20,\n\t0x40316220, 0x00312A88, 0x00316283, 0x40442220, 0xE000A9DC, 0x40443E20,\n\t0xE000A9E2, 0xE000A9EE, 0xE000A9E8, 0x40444820,\n\t// Block 45, offset 0xb40\n\t0xE000A9EB, 0x40445820, 0xE000A9F4, 0x40445A20, 0xE000A9FA, 0x40446620,\n\t0xE000AA00, 0x40448220, 0x40448820, 0x00448C83, 0x403FFC20, 0x40404020,\n\t0x002C3A88, 0x402C3820, 0x402C3A20, 0x002C3883, 0x002D2288, 0x402D6620,\n\t0x002D6683, 0x402D2020, 0x402D2220, 0x002D6684, 0x002D6685, 0x002D2083,\n\t0x00312A88, 0x40312820, 0x40312A20, 0x00312883, 0x404E6020, 0xE000AA0C,\n\t0x404FFE20, 0x404FFE21, 0x404E6A20, 0xE000AA12, 0x40502820, 0x40502821,\n\t0x404E9420, 0xE000AA2C, 0xE000AA25, 0x4050AC20, 0x4050AC21, 0x4005B820,\n\t0xE000AA32, 0x404EA620, 0xE000AA3D, 0x4050C820, 0x4050C821, 0xE000AA4E,\n\t0xE000AA51, 0xE000AA55, 0xE000AA5E, 0xE000AA62, 0xE000AA6E, 0xE000AA7A,\n\t0xE000AA86, 0xE000AA92, 0xE000AA9E, 0xE000AAAA, 0xE000AAB6, 0xE000AAC2,\n\t0xE000AACE, 0xE000AADA, 0xE000AAE6, 0xE000AAF2,\n\t// Block 46, offset 0xb80\n\t0xE000AAFE, 0xE000AB0A, 0xE000AB16, 0xE000AB22, 0xE000AB2E, 0xE000AB3A,\n\t0xE000AB46, 0xE000AB52, 0xE000AB5E, 0xE000AB6A, 0xE000AB76, 0xE000AB82,\n\t0xE000AB8E, 0xE000AB9A, 0xE000ABA6, 0xE000ABB2, 0xE000ABBE, 0xE000ABCA,\n\t0xE000ABD6, 0xE000ABE2, 0xE000ABEE, 0xE000ABFA, 0xE000AC06, 0xE000AC12,\n\t0xE000AC1E, 0xE000AC2A, 0xE000AC36, 0xE000AC42, 0xE000AC4E, 0xE000AC5A,\n\t0xE000AC66, 0xE000AC72, 0xE000AC7E, 0xE000AC8A, 0xE000AC96, 0xE000ACA2,\n\t0xE000ACAE, 0xE000ACBA, 0xE000ACC6, 0xE000ACD2, 0xE000ACDE, 0xE000ACEA,\n\t0xE000ACF6, 0xE000AD02, 0xE000AD0E, 0xE000AD1A, 0xE000AD26, 0xE000AA68,\n\t0xE000AA74, 0xE000AA80, 0xE000AA8C, 0xE000AA98, 0xE000AAA4, 0xE000AAB0,\n\t0xE000AABC, 0xE000AAC8, 0xE000AAD4, 0xE000AAE0, 0xE000AAEC, 0xE000AAF8,\n\t0xE000AB04, 0xE000AB10, 0xE000AB1C, 0xE000AB28,\n\t// Block 47, offset 0xbc0\n\t0xE000AB34, 0xE000AB40, 0xE000AB4C, 0xE000AB58, 0xE000AB64, 0xE000AB70,\n\t0xE000AB7C, 0xE000AB88, 0xE000AB94, 0xE000ABA0, 0xE000ABAC, 0xE000ABB8,\n\t0xE000ABC4, 0xE000ABD0, 0xE000ABDC, 0xE000ABE8, 0xE000ABF4, 0xE000AC00,\n\t0xE000AC0C, 0xE000AC18, 0xE000AC24, 0xE000AC30, 0xE000AC3C, 0xE000AC48,\n\t0xE000AC54, 0xE000AC60, 0xE000AC6C, 0xE000AC78, 0xE000AC84, 0xE000AC90,\n\t0xE000AC9C, 0xE000ACA8, 0xE000ACB4, 0xE000ACC0, 0xE000ACCC, 0xE000ACD8,\n\t0xE000ACE4, 0xE000ACF0, 0xE000ACFC, 0xE000AD08, 0xE000AD14, 0xE000AD20,\n\t0xE000AD2C, 0x404EFE20, 0x404F5222, 0xE000AD37, 0x404F5220, 0x404F5020,\n\t0x404F1A22, 0x404F1A23, 0x404F2822, 0x404F2823, 0x404F3622, 0x404F3623,\n\t0x404F4422, 0x404F4423, 0x404F5223, 0x404F6022, 0x404F6023, 0x404F6E22,\n\t0x404F6E23, 0x404F7C22, 0x404F7C23, 0x404F8A21,\n\t// Block 48, offset 0xc00\n\t0x404F9822, 0x404F9823, 0x404FA622, 0x404FA623, 0x404FB422, 0x404FB423,\n\t0x404FC222, 0x404FC223, 0x404FD022, 0x404FD023, 0x404FDE22, 0x404FDE23,\n\t0x404FEC22, 0x404FEC23, 0x404FFA22, 0x404FFA23, 0x40500822, 0x40500823,\n\t0x40501622, 0x40501623, 0x40502422, 0x40502423, 0x40503222, 0x40503223,\n\t0x40504022, 0x40504023, 0x40504E22, 0x40504E23, 0x40505C22, 0x40505C23,\n\t0x40506A22, 0x40506A23, 0x40508C22, 0x40508C23, 0x40509A22, 0x40509A23,\n\t0x4050A822, 0x4050A823, 0x4050B622, 0x4050B623, 0x4050C421, 0x4050D222,\n\t0x4050D223, 0x4050E022, 0x4050E023, 0x4050EE21, 0x4050FC21, 0x404F1A20,\n\t0x404F1A21, 0x404F2820, 0x404F2821, 0x404F3620, 0x404F3621, 0x404F4420,\n\t0x404F4421, 0x404F5221, 0x404F6020, 0x404F6021, 0x404F6E20, 0x404F6E21,\n\t0x404F7C20, 0x404F7C21, 0x404F8A20, 0x404F9820,\n\t// Block 49, offset 0xc40\n\t0x404F9821, 0x404FA620, 0x404FA621, 0x404FB420, 0x404FB421, 0x404FC220,\n\t0x404FC221, 0x404FD020, 0x404FD021, 0x404FDE20, 0x404FDE21, 0x404FEC20,\n\t0x404FEC21, 0x404FFA20, 0x404FFA21, 0x40500820, 0x40500821, 0x40501620,\n\t0x40501621, 0x40502420, 0x40502421, 0x40503220, 0x40503221, 0x40504020,\n\t0x40504021, 0x40504E20, 0x40504E21, 0x40505C20, 0x40505C21, 0x40506A20,\n\t0x40506A21, 0x40508C20, 0x40508C21, 0x40509A20, 0x40509A21, 0x4050A820,\n\t0x4050A821, 0x4050B620, 0x4050B621, 0x4050C420, 0x4050D220, 0x4050D221,\n\t0x4050E020, 0x4050E021, 0x4050EE20, 0x4050FC20, 0x404F1820, 0x404F1821,\n\t0x404F2620, 0x404F2621, 0x404F3420, 0x404F3421, 0x404F4220, 0x404F4221,\n\t0x404F5021, 0x404F5E20, 0x404F5E21, 0x404F6C20, 0x404F6C21, 0x404F7A20,\n\t0x404F7A21, 0x404F8820, 0x404F9620, 0x404F9621,\n\t// Block 50, offset 0xc80\n\t0x404FA420, 0x404FA421, 0x404FB220, 0x404FB221, 0x404FC020, 0x404FC021,\n\t0x404FCE20, 0x404FCE21, 0x404FDC20, 0x404FDC21, 0x404FEA20, 0x404FEA21,\n\t0x404FF820, 0x404FF821, 0x40500620, 0x40500621, 0x40501420, 0x40501421,\n\t0x40502220, 0x40502221, 0x40503020, 0x40503021, 0x40503E20, 0x40503E21,\n\t0x40504C20, 0x40504C21, 0x40505A20, 0x40505A21, 0x40506820, 0x40506821,\n\t0x40508A20, 0x40508A21, 0x40509820, 0x40509821, 0x4050A620, 0x4050A621,\n\t0x4050B420, 0x4050B421, 0x4050C220, 0x4050D020, 0x4050D021, 0x4050DE20,\n\t0x4050DE21, 0x4050EC20, 0x4050FA20, 0x404F0A21, 0x404F0A20, 0x404F0821,\n\t0x404F0820, 0x404EE620, 0x404F5420, 0x404F4C20, 0x40507620, 0x40507A20,\n\t0x404F1C20, 0x404F1C21, 0x404F2A20, 0x404F2A21, 0x404F3820, 0x404F3821,\n\t0x404F4620, 0x404F4621, 0x404F5421, 0x404F6220,\n\t// Block 51, offset 0xcc0\n\t0x404F6221, 0x404F7020, 0x404F7021, 0x404F7E20, 0x404F7E21, 0x404F8C20,\n\t0x404F9A20, 0x404F9A21, 0x404FA820, 0x404FA821, 0x404FB620, 0x404FB621,\n\t0x404FC420, 0x404FC421, 0x404FD220, 0x404FD221, 0x404FE020, 0x404FE021,\n\t0x404FEE20, 0x404FEE21, 0x404FFC20, 0x404FFC21, 0x40500A20, 0x40500A21,\n\t0x40501820, 0x40501821, 0x40502620, 0x40502621, 0x40503420, 0x40503421,\n\t0x40504220, 0x40504221, 0x40505020, 0x40505021, 0x40505E20, 0x40505E21,\n\t0x40506C20, 0x40506C21, 0x40508E20, 0x40508E21, 0x40509C20, 0x40509C21,\n\t0x4050AA20, 0x4050AA21, 0x4050B820, 0x4050B821, 0x4050C620, 0x4050D420,\n\t0x4050D421, 0x4050E220, 0x4050E221, 0x4050F020, 0x4050FE20, 0x404F1420,\n\t0x404F1421, 0x404F2220, 0x404F2221, 0x404F3020, 0x404F3021, 0x404F3E20,\n\t0x404F3E21, 0x404F4C21, 0x404F5A20, 0x404F5A21,\n\t// Block 52, offset 0xd00\n\t0x404F6820, 0x404F6821, 0x404F7620, 0x404F7621, 0x404F8420, 0x404F9220,\n\t0x404F9221, 0x404FA020, 0x404FA021, 0x404FAE20, 0x404FAE21, 0x404FBC20,\n\t0x404FBC21, 0x404FCA20, 0x404FCA21, 0x404FD820, 0x404FD821, 0x404FE620,\n\t0x404FE621, 0x404FF420, 0x404FF421, 0x40500220, 0x40500221, 0x40501020,\n\t0x40501021, 0x40501E20, 0x40501E21, 0x40502C20, 0x40502C21, 0x40503A20,\n\t0x40503A21, 0x40504820, 0x40504821, 0x40505620, 0x40505621, 0x40506420,\n\t0x40506421, 0x40507220, 0x40507221, 0x40509420, 0x40509421, 0x4050A220,\n\t0x4050A221, 0x4050B020, 0x4050B021, 0x4050BE20, 0x4050CC20, 0x4050CC21,\n\t0x4050DA20, 0x4050DA21, 0x4050E820, 0x4050F620, 0x40507820, 0x40507C20,\n\t0x404F0E20, 0x40507420, 0x404E1420, 0x404F1020, 0x404F1021, 0x404EDE20,\n\t0x404F4A20, 0x404F1220, 0x404F1221, 0x404F2020,\n\t// Block 53, offset 0xd40\n\t0x404F2021, 0x404F2E20, 0x404F2E21, 0x404F3C20, 0x404F3C21, 0x404F4A21,\n\t0x404F5820, 0x404F5821, 0x404F6620, 0x404F6621, 0x404F7420, 0x404F7421,\n\t0x404F8220, 0x404F9020, 0x404F9021, 0x404F9E20, 0x404F9E21, 0x404FAC20,\n\t0x404FAC21, 0x404FBA20, 0x404FBA21, 0x404FC820, 0x404FC821, 0x404FD620,\n\t0x404FD621, 0x404FE420, 0x404FE421, 0x404FF220, 0x404FF221, 0x40500020,\n\t0x40500021, 0x40500E20, 0x40500E21, 0x40501C20, 0x40501C21, 0x40502A20,\n\t0x40502A21, 0x40503820, 0x40503821, 0x40504620, 0x40504621, 0x40505420,\n\t0x40505421, 0x40506220, 0x40506221, 0x40507020, 0x40507021, 0x40509220,\n\t0x40509221, 0x4050A020, 0x4050A021, 0x4050AE20, 0x4050AE21, 0x4050BC20,\n\t0x4050CA20, 0x4050CA21, 0x4050D820, 0x4050D821, 0x4050E620, 0x4050F420,\n\t0x404EDE21, 0x404F4A22, 0x404F1222, 0x404F1223,\n\t// Block 54, offset 0xd80\n\t0x404F2022, 0x404F2023, 0x404F2E22, 0x404F2E23, 0x404F3C22, 0x404F3C23,\n\t0x404F4A23, 0x404F5822, 0x404F5823, 0x404F6622, 0x404F6623, 0x404F7422,\n\t0x404F7423, 0x404F8221, 0x404F9022, 0x404F9023, 0x404F9E22, 0x404F9E23,\n\t0x404FAC22, 0x404FAC23, 0x404FBA22, 0x404FBA23, 0x404FC822, 0x404FC823,\n\t0x404FD622, 0x404FD623, 0x404FE422, 0x404FE423, 0x404FF222, 0x404FF223,\n\t0x40500022, 0x40500023, 0x40500E22, 0x40500E23, 0x40501C22, 0x40501C23,\n\t0x40502A22, 0x40502A23, 0x40503822, 0x40503823, 0x40504622, 0x40504623,\n\t0x40505422, 0x40505423, 0x40506222, 0x40506223, 0x40507022, 0x40507023,\n\t0x40509222, 0x40509223, 0x4050A022, 0x4050A023, 0x4050AE22, 0x4050AE23,\n\t0x4050BC21, 0x4050CA22, 0x4050CA23, 0x4050D822, 0x4050D823, 0x4050E621,\n\t0x4050F421, 0x404EEE20, 0x404F4E20, 0x40508220,\n\t// Block 55, offset 0xdc0\n\t0x40508620, 0x404F1620, 0x404F1621, 0x404F2420, 0x404F2421, 0x404F3220,\n\t0x404F3221, 0x404F4020, 0x404F4021, 0x404F4E21, 0x404F5C20, 0x404F5C21,\n\t0x404F6A20, 0x404F6A21, 0x404F7820, 0x404F7821, 0x404F8620, 0x404F9420,\n\t0x404F9421, 0x404FA220, 0x404FA221, 0x404FB020, 0x404FB021, 0x404FBE20,\n\t0x404FBE21, 0x404FCC20, 0x404FCC21, 0x404FDA20, 0x404FDA21, 0x404FE820,\n\t0x404FE821, 0x404FF620, 0x404FF621, 0x40500420, 0x40500421, 0x40501220,\n\t0x40501221, 0x40502020, 0x40502021, 0x40502E20, 0x40502E21, 0x40503C20,\n\t0x40503C21, 0x40504A20, 0x40504A21, 0x40505820, 0x40505821, 0x40506620,\n\t0x40506621, 0x40507E20, 0x40507E21, 0x40509620, 0x40509621, 0x4050A420,\n\t0x4050A421, 0x4050B220, 0x4050B221, 0x4050C020, 0x4050CE20, 0x4050CE21,\n\t0x4050DC20, 0x4050DC21, 0x4050EA20, 0x4050F820,\n\t// Block 56, offset 0xe00\n\t0x40508420, 0x40508820, 0x40508020, 0x404E1820, 0x404F1E20, 0x404F1E21,\n\t0x404E1C20, 0x404F2C20, 0x404F2C21, 0x404F2E20, 0x404F3220, 0x404E2220,\n\t0x404F3A20, 0x404F3A21, 0x404E2420, 0x404F4820, 0x404F4821, 0x404E2820,\n\t0x404F5620, 0x404F5621, 0x404E2E20, 0x404F6420, 0x404F6421, 0x404E3220,\n\t0x404F7220, 0x404F7221, 0x404E3A20, 0x404F8020, 0x404E4220, 0x404F8E20,\n\t0x404F8E21, 0x404E4820, 0x404F9C20, 0x404F9C21, 0x404E4A20, 0x404FAA20,\n\t0x404FAA21, 0x404E4E20, 0x404FB820, 0x404FB821, 0x404E5220, 0x404FC620,\n\t0x404FC621, 0x404E5620, 0x404FD420, 0x404FD421, 0x404E5A20, 0x404FE220,\n\t0x404FE221, 0x404E5E20, 0x404FF020, 0x404FF021, 0x404E6220, 0x40500C20,\n\t0x40500C21, 0x404E6620, 0x40501A20, 0x40501A21, 0x404E7220, 0x40503620,\n\t0x40503621, 0x404E7420, 0x40504420, 0x40504421,\n\t// Block 57, offset 0xe40\n\t0x404E7E20, 0x40505220, 0x40505221, 0x404E8220, 0x40506020, 0x40506021,\n\t0x404E8420, 0x40506E20, 0x40506E21, 0x404E8820, 0x40509020, 0x40509021,\n\t0x404E8C20, 0x40509E20, 0x40509E21, 0x404E9820, 0x4050BA20, 0x404EAA20,\n\t0x4050D620, 0x4050D621, 0x404EB620, 0x4050E420, 0x404EC220, 0x4050F220,\n\t0x40510420, 0x40511A20, 0x40511020, 0x40511420, 0x40510620, 0x40511C20,\n\t0x40511220, 0x40511620, 0x40510A20, 0x40511820, 0x402BDE20, 0x40320C21,\n\t0x40321020, 0x40321021, 0x002BDE88, 0x00320CA3, 0x00321083, 0x003210A4,\n\t0x003210A3, 0x402C9820, 0x402C9A20, 0x002C9888, 0x002C9A83, 0x402C3A20,\n\t0x40312C20, 0x002C3A88, 0x00312C84, 0x00312C83, 0x402C6220, 0x40312E20,\n\t0x002C6288, 0x00312E84, 0x00312E83, 0x402DFE20, 0x40313020, 0x002DFE88,\n\t0x00313084, 0x00313083, 0x402E9E20, 0x40313220,\n\t// Block 58, offset 0xe80\n\t0x002E9E88, 0x00313284, 0x00313283, 0x402F2C20, 0x40313420, 0x002F2C88,\n\t0x00313484, 0x00313483, 0x402FE620, 0x40313620, 0x002FE688, 0x00313683,\n\t0x40421220, 0x40425A20, 0x402BDE20, 0x402BE020, 0x002BDE88, 0x002BE083,\n\t0x40312A20, 0x40312C20, 0x40312E20, 0x00312A88, 0x00312C83, 0x00312E83,\n\t0x40393820, 0x40393620, 0x40393821, 0x40393824, 0x40397220, 0x40396621,\n\t0x403A6821, 0x003A6883, 0x403A6820, 0x003A6884, 0x403A7420, 0x403A7421,\n\t0x403A9220, 0x403A9226, 0x403A9221, 0x003A9343, 0x403A9223, 0x003A9344,\n\t0x402BDE20, 0x402BE220, 0x402BE020, 0x002BDE88, 0x002BE283, 0x002BE083,\n\t0x402FE620, 0x402FE820, 0x402FE820, 0x002FE688, 0x002FE883, 0x002FE883,\n\t0x40302C20, 0x40302E20, 0x40302E20, 0x00302C88, 0x00302E83, 0x00302E83,\n\t0x402BDE20, 0x402C0820, 0x40320E21, 0x40320C21,\n\t// Block 59, offset 0xec0\n\t0x40320E20, 0x40320C20, 0x002BDE88, 0x002C0883, 0x00320EA3, 0x00320CA3,\n\t0x00320E83, 0x00320C83, 0x402C3A20, 0x402C5C20, 0x002C3A88, 0x002C5C83,\n\t0x402C5E20, 0x402C6020, 0x002C5E83, 0x002C6083, 0x402D2220, 0x402D6420,\n\t0x002D2288, 0x002D6483, 0x402E9E20, 0x402EE021, 0x402EE022, 0x002E9E88,\n\t0x002EE0A3, 0x002EE0C3, 0x40312A20, 0x40320620, 0x00312A88, 0x00320683,\n\t0x402EE220, 0x40321023, 0x40321022, 0x40321020, 0x40321021, 0x40321024,\n\t0x002EE288, 0x003210E3, 0x003210C3, 0x00321083, 0x003210A3, 0x00321103,\n\t0x402C6220, 0x402C9620, 0x002C6288, 0x002C9684, 0x002C9683, 0x002D2288,\n\t0x002D6684, 0x002D6683, 0x402E2220, 0xE0000CFB, 0xE0000CFB, 0x402E8020,\n\t0x002E2288, 0xE0000D01, 0xE0000D01, 0x002E8084, 0x002E8083, 0x002E9E88,\n\t0x002EE084, 0x002EE083, 0x002F7A88, 0x002FE484,\n\t// Block 60, offset 0xf00\n\t0x002FE483, 0x002FE688, 0x00302A84, 0x00302A83, 0x40302C20, 0x40306A20,\n\t0x00302C88, 0x00306A84, 0x00306A83, 0x4030F620, 0x4030FE20, 0x0030F688,\n\t0x0030FE84, 0x0030FE83, 0x00312A88, 0x00316284, 0x00316283, 0x402C9820,\n\t0x40320E22, 0x002C9888, 0x00320EC3, 0x402EE220, 0x40321024, 0x40321020,\n\t0x40321022, 0x002EE288, 0x00321103, 0x00321083, 0x003210C3, 0x40429820,\n\t0x4042C220, 0x4042C420, 0x40429620, 0x40429A20, 0x40429820, 0x40429C20,\n\t0x40429A20, 0x40429E20, 0x40429C20, 0x4042A020, 0x40429E20, 0x4042A220,\n\t0x4042A020, 0x4042A420, 0x4042A220, 0x4042A620, 0x4042A420, 0x4042A820,\n\t0x4042A620, 0x4042AA20, 0x4042A820, 0x4042AC20, 0x4042AA20, 0x4042AE20,\n\t0x4042AC20, 0x4042B020, 0x4042AE20, 0x4042B220, 0x4042B020, 0x4042B420,\n\t0x4042B220, 0x4042B620, 0x4042B420, 0x4042B820,\n\t// Block 61, offset 0xf40\n\t0x4042B620, 0x4042BA20, 0x4042B820, 0x4042BC20, 0x4042BA20, 0x4042BE20,\n\t0x4042BC20, 0x4042C020, 0x4042BE20, 0x4042C220, 0x4042C020, 0x4042C420,\n\t0x4042C220, 0x40496C20, 0xE000AE0D, 0xE000AE10, 0x402BDE20, 0x402BDE21,\n\t0x402BDE22, 0x002BDE88, 0x002BDEA3, 0x002BDEC3, 0x402C9820, 0x402C9821,\n\t0x402C9822, 0x002C9888, 0x002C98A3, 0x002C98C3, 0x402D9A20, 0x402D9A21,\n\t0x402D9A22, 0x002D9A88, 0x002D9AA3, 0x002D9AC3, 0x402EE220, 0x402EE221,\n\t0x402EE222, 0x002EE288, 0x002EE2A3, 0x002EE2C3, 0x40306C20, 0x40306C21,\n\t0x40306C22, 0x00306C88, 0x00306CA3, 0x00306CC3, 0x40393820, 0x40393A20,\n\t0x40393821, 0x40392820, 0x40393C20, 0x40393E20, 0x40394020, 0x40394220,\n\t0x40394420, 0x40394620, 0x40394820, 0x40394A20, 0x40394E20, 0x40395020,\n\t0x40395220, 0x40395420, 0x40395A20, 0x40395C20,\n\t// Block 62, offset 0xf80\n\t0x40395E20, 0x40396020, 0x40396420, 0x40396620, 0x40396820, 0x40396A20,\n\t0x40398420, 0x40398620, 0x40398820, 0x40398A20, 0x40398C20, 0x40398E20,\n\t0x40399020, 0x40399220, 0x40399420, 0x40399620, 0x40399820, 0x40399A20,\n\t0x40399C20, 0x40399C21, 0x40399E20, 0x4039A020, 0x4039A021, 0x403A9020,\n\t0x4039A821, 0x4039A820, 0x4039AA20, 0x4039AC20, 0x4039AC21, 0x402EE220,\n\t0x402EE420, 0x402EE620, 0x002EE288, 0x002EE483, 0x002EE683, 0x402BDE20,\n\t0xE0000966, 0xE000B3B3, 0xE0000958, 0xE0000966, 0x402C3A20, 0xE0000A41,\n\t0x402C9820, 0xE000B3B6, 0x402D9A20, 0xE000B3B9, 0x402EE220, 0xE0000DE3,\n\t0xE000B3BC, 0xE0000DCF, 0xE0000DE3, 0x402FE620, 0xE0000F30, 0x40306C20,\n\t0xE0001028, 0xE000B3BF, 0xE0000FFC, 0xE0001028, 0x402BDE20, 0x402BDE1F,\n\t0x402BDE1D, 0x402BDE1C, 0x402BDE1E, 0x002BDE88,\n\t// Block 63, offset 0xfc0\n\t0x002BDE63, 0x002BDE23, 0x002BDE03, 0x002BDE43, 0x402C9820, 0x402C9824,\n\t0x402C9822, 0x402C9821, 0x402C9823, 0x402C981F, 0x402C981D, 0x402C981C,\n\t0x402C981E, 0x002C9888, 0x002C9903, 0x002C98C3, 0x002C98A3, 0x002C98E3,\n\t0x002C9863, 0x002C9823, 0x002C9803, 0x002C9843, 0xE0000AF1, 0x402C9821,\n\t0x402C9823, 0xE0000AF4, 0x002C98A3, 0x002C98E3, 0x402D9A20, 0x402D9A1F,\n\t0x402D9A1D, 0x402D9A1C, 0x402D9A1E, 0x002D9A88, 0x002D9A63, 0x002D9A23,\n\t0x002D9A03, 0x002D9A43, 0x402E8220, 0x402E821F, 0x402E821D, 0x402E821C,\n\t0x402E821E, 0x002E8288, 0x002E8263, 0x002E8223, 0x002E8203, 0x002E8243,\n\t0x402E9E20, 0x402E9E1F, 0x402E9E1D, 0x402E9E1C, 0x402E9E1E, 0x002E9E88,\n\t0x002E9E63, 0x002E9E23, 0x002E9E03, 0x002E9E43, 0x402EE220, 0x402EE21F,\n\t0x402EE21D, 0x402EE21C, 0x402EE21E, 0x002EE288,\n\t// Block 64, offset 0x1000\n\t0x002EE263, 0x002EE223, 0x002EE203, 0x002EE243, 0x40306C20, 0x40306C24,\n\t0x40306C22, 0x40306C21, 0x40306C23, 0x40306C1F, 0x40306C1D, 0x40306C1C,\n\t0x40306C25, 0x40306C1E, 0x00306C88, 0x00306D03, 0x00306CC3, 0x00306CA3,\n\t0x00306CE3, 0x00306C63, 0x00306C23, 0x00306C03, 0x00306D23, 0x00306C43,\n}\n\n// mainValues: 251456 entries, 1005824 bytes\n// Block 2 is the null block.\nvar mainValues = [251456]uint32{\n\t// Block 0x0, offset 0x0\n\t0x0000: 0xa0000000, 0x0001: 0xa0000000, 0x0002: 0xa0000000, 0x0003: 0xa0000000,\n\t0x0004: 0xa0000000, 0x0005: 0xa0000000, 0x0006: 0xa0000000, 0x0007: 0xa0000000,\n\t0x0008: 0xa0000000, 0x0009: 0x40020020, 0x000a: 0x40020220, 0x000b: 0x40020420,\n\t0x000c: 0x40020620, 0x000d: 0x40020820, 0x000e: 0xa0000000, 0x000f: 0xa0000000,\n\t0x0010: 0xa0000000, 0x0011: 0xa0000000, 0x0012: 0xa0000000, 0x0013: 0xa0000000,\n\t0x0014: 0xa0000000, 0x0015: 0xa0000000, 0x0016: 0xa0000000, 0x0017: 0xa0000000,\n\t0x0018: 0xa0000000, 0x0019: 0xa0000000, 0x001a: 0xa0000000, 0x001b: 0xa0000000,\n\t0x001c: 0xa0000000, 0x001d: 0xa0000000, 0x001e: 0xa0000000, 0x001f: 0xa0000000,\n\t0x0020: 0x40021220, 0x0021: 0x4002ba20, 0x0022: 0x4003e020, 0x0023: 0x4004ea20,\n\t0x0024: 0x4027de20, 0x0025: 0x4004ec20, 0x0026: 0x4004e620, 0x0027: 0x4003d220,\n\t0x0028: 0x4003f420, 0x0029: 0x4003f620, 0x002a: 0x4004d820, 0x002b: 0x40093820,\n\t0x002c: 0x40024020, 0x002d: 0x40021a20, 0x002e: 0x4002e420, 0x002f: 0x4004e220,\n\t0x0030: 0x4029cc20, 0x0031: 0x4029ce20, 0x0032: 0x4029d020, 0x0033: 0x4029d220,\n\t0x0034: 0x4029d420, 0x0035: 0x4029d620, 0x0036: 0x4029d820, 0x0037: 0x4029da20,\n\t0x0038: 0x4029dc20, 0x0039: 0x4029de20, 0x003a: 0x40026c20, 0x003b: 0x40026220,\n\t0x003c: 0x40094020, 0x003d: 0x40094220, 0x003e: 0x40094420, 0x003f: 0x4002c420,\n\t// Block 0x1, offset 0x40\n\t0x0040: 0x4004d620, 0x0041: 0x002bde88, 0x0042: 0x002c0a88, 0x0043: 0x002c3a88,\n\t0x0044: 0x002c6288, 0x0045: 0x002c9888, 0x0046: 0x002d0888, 0x0047: 0x002d2288,\n\t0x0048: 0x002d6888, 0x0049: 0x002d9a88, 0x004a: 0x002dcc88, 0x004b: 0x002dfe88,\n\t0x004c: 0xc0030002, 0x004d: 0x002e8288, 0x004e: 0x002e9e88, 0x004f: 0x002ee288,\n\t0x0050: 0x002f2c88, 0x0051: 0x002f5688, 0x0052: 0x002f7a88, 0x0053: 0x002fe688,\n\t0x0054: 0x00302c88, 0x0055: 0x00306c88, 0x0056: 0x0030be88, 0x0057: 0x0030e288,\n\t0x0058: 0x0030f688, 0x0059: 0x00310088, 0x005a: 0x00312a88, 0x005b: 0x4003f820,\n\t0x005c: 0x4004e420, 0x005d: 0x4003fa20, 0x005e: 0x40062420, 0x005f: 0x40021620,\n\t0x0060: 0x40061e20, 0x0061: 0x402bde20, 0x0062: 0x402c0a20, 0x0063: 0x402c3a20,\n\t0x0064: 0x402c6220, 0x0065: 0x402c9820, 0x0066: 0x402d0820, 0x0067: 0x402d2220,\n\t0x0068: 0x402d6820, 0x0069: 0x402d9a20, 0x006a: 0x402dcc20, 0x006b: 0x402dfe20,\n\t0x006c: 0xc0000002, 0x006d: 0x402e8220, 0x006e: 0x402e9e20, 0x006f: 0x402ee220,\n\t0x0070: 0x402f2c20, 0x0071: 0x402f5620, 0x0072: 0x402f7a20, 0x0073: 0x402fe620,\n\t0x0074: 0x40302c20, 0x0075: 0x40306c20, 0x0076: 0x4030be20, 0x0077: 0x4030e220,\n\t0x0078: 0x4030f620, 0x0079: 0x40310020, 0x007a: 0x40312a20, 0x007b: 0x4003fc20,\n\t0x007c: 0x40094820, 0x007d: 0x4003fe20, 0x007e: 0x40094c20, 0x007f: 0xa0000000,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0x00c0: 0xa0000000, 0x00c1: 0xa0000000, 0x00c2: 0xa0000000, 0x00c3: 0xa0000000,\n\t0x00c4: 0xa0000000, 0x00c5: 0x40020a20, 0x00c6: 0xa0000000, 0x00c7: 0xa0000000,\n\t0x00c8: 0xa0000000, 0x00c9: 0xa0000000, 0x00ca: 0xa0000000, 0x00cb: 0xa0000000,\n\t0x00cc: 0xa0000000, 0x00cd: 0xa0000000, 0x00ce: 0xa0000000, 0x00cf: 0xa0000000,\n\t0x00d0: 0xa0000000, 0x00d1: 0xa0000000, 0x00d2: 0xa0000000, 0x00d3: 0xa0000000,\n\t0x00d4: 0xa0000000, 0x00d5: 0xa0000000, 0x00d6: 0xa0000000, 0x00d7: 0xa0000000,\n\t0x00d8: 0xa0000000, 0x00d9: 0xa0000000, 0x00da: 0xa0000000, 0x00db: 0xa0000000,\n\t0x00dc: 0xa0000000, 0x00dd: 0xa0000000, 0x00de: 0xa0000000, 0x00df: 0xa0000000,\n\t0x00e0: 0x0002129b, 0x00e1: 0x4002bc20, 0x00e2: 0x4027dc20, 0x00e3: 0x4027e020,\n\t0x00e4: 0x4027da20, 0x00e5: 0x4027e220, 0x00e6: 0x40094a20, 0x00e7: 0x4004ce20,\n\t0x00e8: 0x40062c20, 0x00e9: 0x40081820, 0x00ea: 0x002bde94, 0x00eb: 0x4003f020,\n\t0x00ec: 0x40094620, 0x00ed: 0xa0000000, 0x00ee: 0x40081a20, 0x00ef: 0x40062620,\n\t0x00f0: 0x40070420, 0x00f1: 0x40093a20, 0x00f2: 0x0029d094, 0x00f3: 0x0029d294,\n\t0x00f4: 0x40062020, 0x00f5: 0x00327684, 0x00f6: 0x4004d220, 0x00f7: 0x40030620,\n\t0x00f8: 0x40063220, 0x00f9: 0x0029ce94, 0x00fa: 0x002ee294, 0x00fb: 0x4003f220,\n\t0x00fc: 0xe00002bf, 0x00fd: 0xe00002b7, 0x00fe: 0xe00004a7, 0x00ff: 0x4002c620,\n\t// Block 0x4, offset 0x100\n\t0x0100: 0xe00008f5, 0x0101: 0xe00008ef, 0x0102: 0xe0000921, 0x0103: 0xe0000969,\n\t0x0104: 0xe000095b, 0x0105: 0xe000094d, 0x0106: 0xe00009dd, 0x0107: 0xe0000a53,\n\t0x0108: 0xe0000ae8, 0x0109: 0xe0000ae2, 0x010a: 0xe0000af4, 0x010b: 0xe0000b20,\n\t0x010c: 0xe0000c2b, 0x010d: 0xe0000c25, 0x010e: 0xe0000c37, 0x010f: 0xe0000c43,\n\t0x0110: 0xe0000ab3, 0x0111: 0xe0000d63, 0x0112: 0xe0000d9a, 0x0113: 0xe0000d94,\n\t0x0114: 0xe0000da6, 0x0115: 0xe0000de6, 0x0116: 0xe0000dd2, 0x0117: 0x40093e20,\n\t0x0118: 0xe0000e12, 0x0119: 0xe0000fe1, 0x011a: 0xe0000fdb, 0x011b: 0xe0000fed,\n\t0x011c: 0xe0000fff, 0x011d: 0xe0001102, 0x011e: 0x00318888, 0x011f: 0xe0000f7b,\n\t0x0120: 0xe00008f2, 0x0121: 0xe00008ec, 0x0122: 0xe000091e, 0x0123: 0xe0000966,\n\t0x0124: 0xe0000958, 0x0125: 0xe000094a, 0x0126: 0xe00009d5, 0x0127: 0xe0000a4d,\n\t0x0128: 0xe0000ae5, 0x0129: 0xe0000adf, 0x012a: 0xe0000af1, 0x012b: 0xe0000b1d,\n\t0x012c: 0xe0000c28, 0x012d: 0xe0000c22, 0x012e: 0xe0000c34, 0x012f: 0xe0000c40,\n\t0x0130: 0xe0000aad, 0x0131: 0xe0000d60, 0x0132: 0xe0000d97, 0x0133: 0xe0000d91,\n\t0x0134: 0xe0000da3, 0x0135: 0xe0000de3, 0x0136: 0xe0000dcf, 0x0137: 0x40093c20,\n\t0x0138: 0xe0000e0f, 0x0139: 0xe0000fde, 0x013a: 0xe0000fd8, 0x013b: 0xe0000fea,\n\t0x013c: 0xe0000ffc, 0x013d: 0xe00010ff, 0x013e: 0x40318820, 0x013f: 0xe0001114,\n\t// Block 0x5, offset 0x140\n\t0x0140: 0xe0000983, 0x0141: 0xe0000980, 0x0142: 0xe00008fb, 0x0143: 0xe00008f8,\n\t0x0144: 0xe000097d, 0x0145: 0xe000097a, 0x0146: 0xe0000a38, 0x0147: 0xe0000a35,\n\t0x0148: 0xe0000a3e, 0x0149: 0xe0000a3b, 0x014a: 0xe0000a4a, 0x014b: 0xe0000a47,\n\t0x014c: 0xe0000a44, 0x014d: 0xe0000a41, 0x014e: 0xe0000a86, 0x014f: 0xe0000a83,\n\t0x0150: 0xe0000aaa, 0x0151: 0xe0000aa7, 0x0152: 0xe0000b46, 0x0153: 0xe0000b43,\n\t0x0154: 0xe0000aee, 0x0155: 0xe0000aeb, 0x0156: 0xe0000b2c, 0x0157: 0xe0000b29,\n\t0x0158: 0xe0000b40, 0x0159: 0xe0000b3d, 0x015a: 0xe0000b1a, 0x015b: 0xe0000b17,\n\t0x015c: 0xe0000bb8, 0x015d: 0xe0000bb5, 0x015e: 0xe0000bb2, 0x015f: 0xe0000baf,\n\t0x0160: 0xe0000bc4, 0x0161: 0xe0000bc1, 0x0162: 0xe0000bca, 0x0163: 0xe0000bc7,\n\t0x0164: 0xe0000bee, 0x0165: 0xe0000beb, 0x0166: 0xe0000c1b, 0x0167: 0xe0000c18,\n\t0x0168: 0xe0000c51, 0x0169: 0xe0000c4e, 0x016a: 0xe0000c60, 0x016b: 0xe0000c5d,\n\t0x016c: 0xe0000c31, 0x016d: 0xe0000c2e, 0x016e: 0xe0000c5a, 0x016f: 0xe0000c57,\n\t0x0170: 0xe0000c54, 0x0171: 0x402da220, 0x0172: 0xf0000a0a, 0x0173: 0xf0000404,\n\t0x0174: 0xe0000c8a, 0x0175: 0xe0000c87, 0x0176: 0xe0000c9f, 0x0177: 0xe0000c9c,\n\t0x0178: 0x402f7220, 0x0179: 0xe0000ccc, 0x017a: 0xe0000cc9, 0x017b: 0xe0000cd8,\n\t0x017c: 0xe0000cd5, 0x017d: 0xe0000cd2, 0x017e: 0xe0000ccf, 0x017f: 0xe0000d04,\n\t// Block 0x6, offset 0x180\n\t0x0180: 0xe0000cfe, 0x0181: 0xe0000cf8, 0x0182: 0xe0000cf5, 0x0183: 0xe0000d51,\n\t0x0184: 0xe0000d4e, 0x0185: 0xe0000d6f, 0x0186: 0xe0000d6c, 0x0187: 0xe0000d5d,\n\t0x0188: 0xe0000d5a, 0x0189: 0xf0000404, 0x018a: 0x002eda88, 0x018b: 0x402eda20,\n\t0x018c: 0xe0000e2e, 0x018d: 0xe0000e2b, 0x018e: 0xe0000da0, 0x018f: 0xe0000d9d,\n\t0x0190: 0xe0000de0, 0x0191: 0xe0000ddd, 0x0192: 0xe0000e93, 0x0193: 0xe0000e8f,\n\t0x0194: 0xe0000eca, 0x0195: 0xe0000ec7, 0x0196: 0xe0000edc, 0x0197: 0xe0000ed9,\n\t0x0198: 0xe0000ed0, 0x0199: 0xe0000ecd, 0x019a: 0xe0000f1f, 0x019b: 0xe0000f1c,\n\t0x019c: 0xe0000f2d, 0x019d: 0xe0000f2a, 0x019e: 0xe0000f47, 0x019f: 0xe0000f44,\n\t0x01a0: 0xe0000f33, 0x01a1: 0xe0000f30, 0x01a2: 0xe0000f99, 0x01a3: 0xe0000f96,\n\t0x01a4: 0xe0000f8a, 0x01a5: 0xe0000f87, 0x01a6: 0x00303688, 0x01a7: 0x40303620,\n\t0x01a8: 0xe000102b, 0x01a9: 0xe0001028, 0x01aa: 0xe000103f, 0x01ab: 0xe000103c,\n\t0x01ac: 0xe0000fe7, 0x01ad: 0xe0000fe4, 0x01ae: 0xe0000ff9, 0x01af: 0xe0000ff6,\n\t0x01b0: 0xe0001025, 0x01b1: 0xe0001022, 0x01b2: 0xe0001039, 0x01b3: 0xe0001036,\n\t0x01b4: 0xe00010d8, 0x01b5: 0xe00010d5, 0x01b6: 0xe000110e, 0x01b7: 0xe000110b,\n\t0x01b8: 0xe0001117, 0x01b9: 0xe000113b, 0x01ba: 0xe0001138, 0x01bb: 0xe000114d,\n\t0x01bc: 0xe000114a, 0x01bd: 0xe0001147, 0x01be: 0xe0001144, 0x01bf: 0xe0000f64,\n\t// Block 0x7, offset 0x1c0\n\t0x01c0: 0x402c1a20, 0x01c1: 0x002c2a88, 0x01c2: 0x002c3288, 0x01c3: 0x402c3220,\n\t0x01c4: 0x0031c488, 0x01c5: 0x4031c420, 0x01c6: 0x002efa88, 0x01c7: 0x002c4e88,\n\t0x01c8: 0x402c4e20, 0x01c9: 0x002c7288, 0x01ca: 0x002c7a88, 0x01cb: 0x002c8488,\n\t0x01cc: 0x402c8420, 0x01cd: 0xe000115c, 0x01ce: 0x002cae88, 0x01cf: 0x002cb888,\n\t0x01d0: 0x002cc288, 0x01d1: 0x002d1688, 0x01d2: 0x402d1620, 0x01d3: 0x002d4488,\n\t0x01d4: 0x002d5888, 0x01d5: 0x402d7820, 0x01d6: 0x002dc288, 0x01d7: 0x002db688,\n\t0x01d8: 0x002e0a88, 0x01d9: 0x402e0a20, 0x01da: 0x402e3820, 0x01db: 0x402e7220,\n\t0x01dc: 0x0030a088, 0x01dd: 0x002eb488, 0x01de: 0x402ebc20, 0x01df: 0x002f1088,\n\t0x01e0: 0xe0000e56, 0x01e1: 0xe0000e53, 0x01e2: 0x002d6088, 0x01e3: 0x402d6020,\n\t0x01e4: 0x002f3e88, 0x01e5: 0x402f3e20, 0x01e6: 0x002f8288, 0x01e7: 0x0031b488,\n\t0x01e8: 0x4031b420, 0x01e9: 0x00300888, 0x01ea: 0x40301220, 0x01eb: 0x40304220,\n\t0x01ec: 0x00304a88, 0x01ed: 0x40304a20, 0x01ee: 0x00305288, 0x01ef: 0xe000105f,\n\t0x01f0: 0xe000105c, 0x01f1: 0x0030b488, 0x01f2: 0x0030cc88, 0x01f3: 0x00311888,\n\t0x01f4: 0x40311820, 0x01f5: 0x00313488, 0x01f6: 0x40313420, 0x01f7: 0x00316488,\n\t0x01f8: 0x00316e88, 0x01f9: 0x40316e20, 0x01fa: 0x40317820, 0x01fb: 0x4031a620,\n\t0x01fc: 0x0031bc88, 0x01fd: 0x4031bc20, 0x01fe: 0xe0000fc9, 0x01ff: 0x40319420,\n\t// Block 0x8, offset 0x200\n\t0x0200: 0x40321220, 0x0201: 0x40321a20, 0x0202: 0x40322220, 0x0203: 0x40322a20,\n\t0x0204: 0xe0000ad5, 0x0205: 0xe0000ad1, 0x0206: 0xe0000acd, 0x0207: 0xf0000a0a,\n\t0x0208: 0xf000040a, 0x0209: 0xf0000404, 0x020a: 0xf0000a0a, 0x020b: 0xf000040a,\n\t0x020c: 0xf0000404, 0x020d: 0xe0000947, 0x020e: 0xe0000944, 0x020f: 0xe0000c3d,\n\t0x0210: 0xe0000c3a, 0x0211: 0xe0000dcc, 0x0212: 0xe0000dc9, 0x0213: 0xe0000ff3,\n\t0x0214: 0xe0000ff0, 0x0215: 0xe000101e, 0x0216: 0xe000101a, 0x0217: 0xe0001006,\n\t0x0218: 0xe0001002, 0x0219: 0xe0001016, 0x021a: 0xe0001012, 0x021b: 0xe000100e,\n\t0x021c: 0xe000100a, 0x021d: 0x402cae20, 0x021e: 0xe0000962, 0x021f: 0xe000095e,\n\t0x0220: 0xe0000976, 0x0221: 0xe0000972, 0x0222: 0xe00009f4, 0x0223: 0xe00009ef,\n\t0x0224: 0x002d3a88, 0x0225: 0x402d3a20, 0x0226: 0xe0000bbe, 0x0227: 0xe0000bbb,\n\t0x0228: 0xe0000c99, 0x0229: 0xe0000c96, 0x022a: 0xe0000e20, 0x022b: 0xe0000e1d,\n\t0x022c: 0xe0000e27, 0x022d: 0xe0000e23, 0x022e: 0xe0001162, 0x022f: 0xe000115f,\n\t0x0230: 0xe0000c8d, 0x0231: 0xf0000a0a, 0x0232: 0xf000040a, 0x0233: 0xf0000404,\n\t0x0234: 0xe0000bac, 0x0235: 0xe0000ba9, 0x0236: 0x002d7888, 0x0237: 0x00319488,\n\t0x0238: 0xe0000d57, 0x0239: 0xe0000d54, 0x023a: 0xe0000954, 0x023b: 0xe0000950,\n\t0x023c: 0xe00009ea, 0x023d: 0xe00009e5, 0x023e: 0xe0000e19, 0x023f: 0xe0000e15,\n\t// Block 0x9, offset 0x240\n\t0x0240: 0xe000098f, 0x0241: 0xe000098c, 0x0242: 0xe0000995, 0x0243: 0xe0000992,\n\t0x0244: 0xe0000b62, 0x0245: 0xe0000b5f, 0x0246: 0xe0000b68, 0x0247: 0xe0000b65,\n\t0x0248: 0xe0000c6c, 0x0249: 0xe0000c69, 0x024a: 0xe0000c72, 0x024b: 0xe0000c6f,\n\t0x024c: 0xe0000e4a, 0x024d: 0xe0000e47, 0x024e: 0xe0000e50, 0x024f: 0xe0000e4d,\n\t0x0250: 0xe0000ee8, 0x0251: 0xe0000ee5, 0x0252: 0xe0000eee, 0x0253: 0xe0000eeb,\n\t0x0254: 0xe0001053, 0x0255: 0xe0001050, 0x0256: 0xe0001059, 0x0257: 0xe0001056,\n\t0x0258: 0xe0000f61, 0x0259: 0xe0000f5e, 0x025a: 0xe0000fa5, 0x025b: 0xe0000fa2,\n\t0x025c: 0x00312288, 0x025d: 0x40312220, 0x025e: 0xe0000bf4, 0x025f: 0xe0000bf1,\n\t0x0260: 0x002ebc88, 0x0261: 0x402c8c20, 0x0262: 0x002f2288, 0x0263: 0x402f2220,\n\t0x0264: 0x00314088, 0x0265: 0x40314020, 0x0266: 0xe000096f, 0x0267: 0xe000096c,\n\t0x0268: 0xe0000b32, 0x0269: 0xe0000b2f, 0x026a: 0xe0000dd9, 0x026b: 0xe0000dd5,\n\t0x026c: 0xe0000dfd, 0x026d: 0xe0000df9, 0x026e: 0xe0000e04, 0x026f: 0xe0000e01,\n\t0x0270: 0xe0000e0b, 0x0271: 0xe0000e07, 0x0272: 0xe0001129, 0x0273: 0xe0001126,\n\t0x0274: 0x402e5e20, 0x0275: 0x402ed020, 0x0276: 0x40305a20, 0x0277: 0x402dd420,\n\t0x0278: 0xe0000abf, 0x0279: 0xe0000ec4, 0x027a: 0x002be888, 0x027b: 0x002c4488,\n\t0x027c: 0x402c4420, 0x027d: 0x002e3888, 0x027e: 0x00303e88, 0x027f: 0x402ffc20,\n\t// Block 0xa, offset 0x280\n\t0x0280: 0x40315820, 0x0281: 0x0031d488, 0x0282: 0x4031d420, 0x0283: 0x002c1a88,\n\t0x0284: 0x00307c88, 0x0285: 0x0030da88, 0x0286: 0x002ca288, 0x0287: 0x402ca220,\n\t0x0288: 0x002dde88, 0x0289: 0x402dde20, 0x028a: 0x002f6a88, 0x028b: 0x402f6a20,\n\t0x028c: 0x002f8e88, 0x028d: 0x402f8e20, 0x028e: 0x00311088, 0x028f: 0x40311020,\n\t0x0290: 0x402bf020, 0x0291: 0x402bf820, 0x0292: 0x402c0220, 0x0293: 0x402c2a20,\n\t0x0294: 0x402efa20, 0x0295: 0x402c5620, 0x0296: 0x402c7220, 0x0297: 0x402c7a20,\n\t0x0298: 0x402ccc20, 0x0299: 0x402cb820, 0x029a: 0x402cd420, 0x029b: 0x402cc220,\n\t0x029c: 0x402cdc20, 0x029d: 0x402ce820, 0x029e: 0x402cf020, 0x029f: 0x402dee20,\n\t0x02a0: 0x402d4420, 0x02a1: 0x402d2a20, 0x02a2: 0x402d3220, 0x02a3: 0x402d5820,\n\t0x02a4: 0x402d0020, 0x02a5: 0x40308820, 0x02a6: 0x402d8020, 0x02a7: 0x402d8e20,\n\t0x02a8: 0x402db620, 0x02a9: 0x402dc220, 0x02aa: 0x402daa20, 0x02ab: 0x402e4220,\n\t0x02ac: 0x402e4a20, 0x02ad: 0x402e5420, 0x02ae: 0x402e6820, 0x02af: 0x4030a020,\n\t0x02b0: 0x4030ac20, 0x02b1: 0x402e9020, 0x02b2: 0x402eb420, 0x02b3: 0x402ec820,\n\t0x02b4: 0x402ea620, 0x02b5: 0x402f1020, 0x02b6: 0x402eee20, 0x02b7: 0x402f1a20,\n\t0x02b8: 0x402f4c20, 0x02b9: 0x402f9820, 0x02ba: 0x402fa220, 0x02bb: 0x402fac20,\n\t0x02bc: 0x402fb620, 0x02bd: 0x402fbe20, 0x02be: 0x402fc620, 0x02bf: 0x402fd020,\n\t// Block 0xb, offset 0x2c0\n\t0x02c0: 0x402f8220, 0x02c1: 0x402fd820, 0x02c2: 0x402ff420, 0x02c3: 0x40300820,\n\t0x02c4: 0x402df620, 0x02c5: 0x40301a20, 0x02c6: 0x40302420, 0x02c7: 0x40306420,\n\t0x02c8: 0x40305220, 0x02c9: 0x40307c20, 0x02ca: 0x4030b420, 0x02cb: 0x4030cc20,\n\t0x02cc: 0x4030da20, 0x02cd: 0x4030ee20, 0x02ce: 0x402e7a20, 0x02cf: 0x40310820,\n\t0x02d0: 0x40314820, 0x02d1: 0x40315020, 0x02d2: 0x40316420, 0x02d3: 0x40318020,\n\t0x02d4: 0x4031cc20, 0x02d5: 0x4031e820, 0x02d6: 0x40320a20, 0x02d7: 0x40323220,\n\t0x02d8: 0x40323a20, 0x02d9: 0x402c1220, 0x02da: 0x402cf820, 0x02db: 0x402d4c20,\n\t0x02dc: 0x402d7020, 0x02dd: 0x402de620, 0x02de: 0x402e1a20, 0x02df: 0x402e2a20,\n\t0x02e0: 0x402f6220, 0x02e1: 0x4031fa20, 0x02e2: 0x40320220, 0x02e3: 0xe0000aca,\n\t0x02e4: 0xe0000adc, 0x02e5: 0xe0000ad9, 0x02e6: 0xe0000fcc, 0x02e7: 0xe0000fcf,\n\t0x02e8: 0xe0000fba, 0x02e9: 0xe0000ba1, 0x02ea: 0xe0000d11, 0x02eb: 0xe0000d18,\n\t0x02ec: 0x40324220, 0x02ed: 0x40324a20, 0x02ee: 0x40309020, 0x02ef: 0x40309820,\n\t0x02f0: 0x002d6894, 0x02f1: 0x002d8094, 0x02f2: 0x002dcc94, 0x02f3: 0x002f7a94,\n\t0x02f4: 0x002f9894, 0x02f5: 0x002fac94, 0x02f6: 0x002fd894, 0x02f7: 0x0030e294,\n\t0x02f8: 0x00310094, 0x02f9: 0x40064020, 0x02fa: 0x40064420, 0x02fb: 0x402d9620,\n\t0x02fc: 0x4031de20, 0x02fd: 0x402d9820, 0x02fe: 0x4031e220, 0x02ff: 0x4031f020,\n\t// Block 0xc, offset 0x300\n\t0x0300: 0x4031dc20, 0x0301: 0x4031f220, 0x0302: 0x40064620, 0x0303: 0x40064820,\n\t0x0304: 0x40064a20, 0x0305: 0x40064c20, 0x0306: 0x40064e20, 0x0307: 0x40065020,\n\t0x0308: 0x40065220, 0x0309: 0x40065420, 0x030a: 0x40065620, 0x030b: 0x40065820,\n\t0x030c: 0x40065a20, 0x030d: 0x40065c20, 0x030e: 0x40065e20, 0x030f: 0x40066020,\n\t0x0310: 0x4027b220, 0x0311: 0x4027b420, 0x0312: 0x40066220, 0x0313: 0x40066420,\n\t0x0314: 0x40066620, 0x0315: 0x40066820, 0x0316: 0x40066a20, 0x0317: 0x40066c20,\n\t0x0318: 0x40062820, 0x0319: 0x40062a20, 0x031a: 0x40062e20, 0x031b: 0x40063420,\n\t0x031c: 0x40062220, 0x031d: 0x40063020, 0x031e: 0x40066e20, 0x031f: 0x40067020,\n\t0x0320: 0x002d5894, 0x0321: 0x002e2294, 0x0322: 0x002fe694, 0x0323: 0x0030f694,\n\t0x0324: 0x0031e894, 0x0325: 0x40067220, 0x0326: 0x40067420, 0x0327: 0x40067620,\n\t0x0328: 0x40067820, 0x0329: 0x40067a20, 0x032a: 0x40067c20, 0x032b: 0x40067e20,\n\t0x032c: 0x40068020, 0x032d: 0x40068220, 0x032e: 0x4031e020, 0x032f: 0x40068420,\n\t0x0330: 0x40068620, 0x0331: 0x40068820, 0x0332: 0x40068a20, 0x0333: 0x40068c20,\n\t0x0334: 0x40068e20, 0x0335: 0x40069020, 0x0336: 0x40069220, 0x0337: 0x40069420,\n\t0x0338: 0x40069620, 0x0339: 0x40069820, 0x033a: 0x40069a20, 0x033b: 0x40069c20,\n\t0x033c: 0x40069e20, 0x033d: 0x4006a020, 0x033e: 0x4006a220, 0x033f: 0x4006a420,\n\t// Block 0xd, offset 0x340\n\t0x0340: 0xae603502, 0x0341: 0xae603202, 0x0342: 0xae603c02, 0x0343: 0xae604e02,\n\t0x0344: 0xae605b02, 0x0345: 0xae606302, 0x0346: 0xae603702, 0x0347: 0xae605202,\n\t0x0348: 0xae604702, 0x0349: 0xae606402, 0x034a: 0xae604302, 0x034b: 0xae604d02,\n\t0x034c: 0xae604102, 0x034d: 0xae605f02, 0x034e: 0xae605f02, 0x034f: 0xae606502,\n\t0x0350: 0xae606602, 0x0351: 0xae606702, 0x0352: 0xae605f02, 0x0353: 0xae602202,\n\t0x0354: 0xae602a02, 0x0355: 0xae805f02, 0x0356: 0xadc06002, 0x0357: 0xadc06002,\n\t0x0358: 0xadc06002, 0x0359: 0xadc06002, 0x035a: 0xae805f02, 0x035b: 0xad806802,\n\t0x035c: 0xadc06002, 0x035d: 0xadc06002, 0x035e: 0xadc06002, 0x035f: 0xadc06002,\n\t0x0360: 0xadc06002, 0x0361: 0xaca06e02, 0x0362: 0xaca06f02, 0x0363: 0xadc07002,\n\t0x0364: 0xadc07502, 0x0365: 0xadc07602, 0x0366: 0xadc07702, 0x0367: 0xaca05602,\n\t0x0368: 0xaca05902, 0x0369: 0xadc06002, 0x036a: 0xadc06002, 0x036b: 0xadc06002,\n\t0x036c: 0xadc06002, 0x036d: 0xadc07802, 0x036e: 0xadc07902, 0x036f: 0xadc06002,\n\t0x0370: 0xadc07a02, 0x0371: 0xadc07b02, 0x0372: 0xadc02102, 0x0373: 0xadc06002,\n\t0x0374: 0xa0107c02, 0x0375: 0xa0107d02, 0x0376: 0xa0106102, 0x0377: 0xa0106102,\n\t0x0378: 0xa0105402, 0x0379: 0xadc07e02, 0x037a: 0xadc06002, 0x037b: 0xadc06002,\n\t0x037c: 0xadc06002, 0x037d: 0xae605f02, 0x037e: 0xae605f02, 0x037f: 0xae605f02,\n\t// Block 0xe, offset 0x380\n\t0x0380: 0xae603502, 0x0381: 0xae603202, 0x0382: 0xae604502, 0x0383: 0xae602202,\n\t0x0384: 0xe0000000, 0x0385: 0xaf007f02, 0x0386: 0xae605f02, 0x0387: 0xadc06002,\n\t0x0388: 0xadc06002, 0x0389: 0xadc06002, 0x038a: 0xae605f02, 0x038b: 0xae605f02,\n\t0x038c: 0xae605f02, 0x038d: 0xadc06002, 0x038e: 0xadc06002, 0x038f: 0xa0000000,\n\t0x0390: 0xae605f02, 0x0391: 0xae605f02, 0x0392: 0xae605f02, 0x0393: 0xadc06002,\n\t0x0394: 0xadc06002, 0x0395: 0xadc06002, 0x0396: 0xadc06002, 0x0397: 0xae605f02,\n\t0x0398: 0xae808002, 0x0399: 0xadc06002, 0x039a: 0xadc06002, 0x039b: 0xae605f02,\n\t0x039c: 0xae906002, 0x039d: 0xaea05f02, 0x039e: 0xaea05f02, 0x039f: 0xae906002,\n\t0x03a0: 0xaea08102, 0x03a1: 0xaea08202, 0x03a2: 0xae906002, 0x03a3: 0x84e615ef,\n\t0x03a4: 0x84e6164c, 0x03a5: 0x84e616cd, 0x03a6: 0x84e61771, 0x03a7: 0x84e61836,\n\t0x03a8: 0x84e6161d, 0x03a9: 0x84e61631, 0x03aa: 0x84e616b4, 0x03ab: 0x84e61741,\n\t0x03ac: 0x84e617bd, 0x03ad: 0x84e61816, 0x03ae: 0x84e6185f, 0x03af: 0x84e6187b,\n\t0x03b0: 0x00326688, 0x03b1: 0x40326620, 0x03b2: 0x0032a688, 0x03b3: 0x4032a620,\n\t0x03b4: 0x40064020, 0x03b5: 0x40064220, 0x03b6: 0x00326088, 0x03b7: 0x40326020,\n\t0x03ba: 0x00326c84, 0x03bb: 0x40329220,\n\t0x03bc: 0x40329020, 0x03bd: 0x40329420, 0x03be: 0x40026220,\n\t// Block 0xf, offset 0x3c0\n\t0x03c4: 0x40062020, 0x03c5: 0xe00000ab, 0x03c6: 0xe00011f0, 0x03c7: 0x40030620,\n\t0x03c8: 0xe0001249, 0x03c9: 0xe00012dd, 0x03ca: 0xe000133a,\n\t0x03cc: 0xe000139b, 0x03ce: 0xe00013dd, 0x03cf: 0xe0001492,\n\t0x03d0: 0xe0001352, 0x03d1: 0x00325288, 0x03d2: 0x00325488, 0x03d3: 0x00325688,\n\t0x03d4: 0x00325a88, 0x03d5: 0x00325c88, 0x03d6: 0x00326488, 0x03d7: 0x00326888,\n\t0x03d8: 0x00326a88, 0x03d9: 0x00326c88, 0x03da: 0x00327088, 0x03db: 0x00327288,\n\t0x03dc: 0x00327688, 0x03dd: 0x00327888, 0x03de: 0x00327a88, 0x03df: 0x00327c88,\n\t0x03e0: 0x00327e88, 0x03e1: 0x00328888, 0x03e3: 0x00328e88,\n\t0x03e4: 0x00329688, 0x03e5: 0x00329888, 0x03e6: 0x00329a88, 0x03e7: 0x00329c88,\n\t0x03e8: 0x00329e88, 0x03e9: 0x0032a288, 0x03ea: 0xe000134f, 0x03eb: 0xe00013f2,\n\t0x03ec: 0xe00011ed, 0x03ed: 0xe0001246, 0x03ee: 0xe00012da, 0x03ef: 0xe0001337,\n\t0x03f0: 0xe00013f5, 0x03f1: 0x40325220, 0x03f2: 0x40325420, 0x03f3: 0x40325620,\n\t0x03f4: 0x40325a20, 0x03f5: 0x40325c20, 0x03f6: 0x40326420, 0x03f7: 0x40326820,\n\t0x03f8: 0x40326a20, 0x03f9: 0x40326c20, 0x03fa: 0x40327020, 0x03fb: 0x40327220,\n\t0x03fc: 0x40327620, 0x03fd: 0x40327820, 0x03fe: 0x40327a20, 0x03ff: 0x40327c20,\n\t// Block 0x10, offset 0x400\n\t0x0400: 0x40327e20, 0x0401: 0x40328820, 0x0402: 0x00328e99, 0x0403: 0x40328e20,\n\t0x0404: 0x40329620, 0x0405: 0x40329820, 0x0406: 0x40329a20, 0x0407: 0x40329c20,\n\t0x0408: 0x40329e20, 0x0409: 0x4032a220, 0x040a: 0xe000134c, 0x040b: 0xe00013ef,\n\t0x040c: 0xe0001398, 0x040d: 0xe00013da, 0x040e: 0xe000148f, 0x040f: 0xe0001368,\n\t0x0410: 0x00325484, 0x0411: 0x00326a84, 0x0412: 0x0032988a, 0x0413: 0xf000020a,\n\t0x0414: 0xf000020a, 0x0415: 0x00329a84, 0x0416: 0x00327e84, 0x0417: 0xe0001364,\n\t0x0418: 0x00328688, 0x0419: 0x40328620, 0x041a: 0x00326288, 0x041b: 0x40326220,\n\t0x041c: 0x00325e88, 0x041d: 0x40325e20, 0x041e: 0x00328488, 0x041f: 0x40328420,\n\t0x0420: 0x0032a488, 0x0421: 0x4032a420, 0x0422: 0x0032e888, 0x0423: 0x4032e820,\n\t0x0424: 0x0032f288, 0x0425: 0x4032f220, 0x0426: 0x0032f488, 0x0427: 0x4032f420,\n\t0x0428: 0x0032fa88, 0x0429: 0x4032fa20, 0x042a: 0x00330888, 0x042b: 0x40330820,\n\t0x042c: 0x00330e88, 0x042d: 0x40330e20, 0x042e: 0x00331688, 0x042f: 0x40331620,\n\t0x0430: 0x00327084, 0x0431: 0x00328884, 0x0432: 0x00328e84, 0x0433: 0x40326e20,\n\t0x0434: 0x00326a8a, 0x0435: 0x00325c84, 0x0436: 0x40092e20, 0x0437: 0x0032a888,\n\t0x0438: 0x4032a820, 0x0439: 0x00328e8a, 0x043a: 0x00328288, 0x043b: 0x40328220,\n\t0x043c: 0x40328c20, 0x043d: 0x00329288, 0x043e: 0x00329088, 0x043f: 0x00329488,\n\t// Block 0x11, offset 0x440\n\t0x0440: 0xe00014bd, 0x0441: 0xe00014c3, 0x0442: 0x00339688, 0x0443: 0x0033a288,\n\t0x0444: 0x0033c288, 0x0445: 0x0033fc88, 0x0446: 0xc02a0071, 0x0447: 0x00343688,\n\t0x0448: 0x00344688, 0x0449: 0x00349a88, 0x044a: 0x0034e488, 0x044b: 0x00356288,\n\t0x044c: 0x00356a88, 0x044d: 0xe00014cf, 0x044e: 0x00357a88, 0x044f: 0x00365488,\n\t0x0450: 0xc0090041, 0x0451: 0x00335288, 0x0452: 0x00335a88, 0x0453: 0xc0130092,\n\t0x0454: 0x00338a88, 0x0455: 0xc01800d1, 0x0456: 0xc01c0071, 0x0457: 0xc0200071,\n\t0x0458: 0xc0250041, 0x0459: 0x00343e88, 0x045a: 0xc0370092, 0x045b: 0x00348488,\n\t0x045c: 0x0034a888, 0x045d: 0x0034ba88, 0x045e: 0xc02e0071, 0x045f: 0x00350e88,\n\t0x0460: 0x00352888, 0x0461: 0x00353a88, 0x0462: 0x00354c88, 0x0463: 0xc03e00f1,\n\t0x0464: 0x0035ac88, 0x0465: 0x0035b488, 0x0466: 0x00360288, 0x0467: 0xc0440071,\n\t0x0468: 0x00365c88, 0x0469: 0x00366688, 0x046a: 0x00367488, 0x046b: 0xc0480071,\n\t0x046c: 0x00368e88, 0x046d: 0xc04c0071, 0x046e: 0x0036b888, 0x046f: 0x0036c488,\n\t0x0470: 0xc0060041, 0x0471: 0x40335220, 0x0472: 0x40335a20, 0x0473: 0xc0100092,\n\t0x0474: 0x40338a20, 0x0475: 0xc01600d1, 0x0476: 0xc01a0071, 0x0477: 0xc01e0071,\n\t0x0478: 0xc0220041, 0x0479: 0x40343e20, 0x047a: 0xc0340092, 0x047b: 0x40348420,\n\t0x047c: 0x4034a820, 0x047d: 0x4034ba20, 0x047e: 0xc02c0071, 0x047f: 0x40350e20,\n\t// Block 0x12, offset 0x480\n\t0x0480: 0x40352820, 0x0481: 0x40353a20, 0x0482: 0x40354c20, 0x0483: 0xc03a00f1,\n\t0x0484: 0x4035ac20, 0x0485: 0x4035b420, 0x0486: 0x40360220, 0x0487: 0xc0420071,\n\t0x0488: 0x40365c20, 0x0489: 0x40366620, 0x048a: 0x40367420, 0x048b: 0xc0460071,\n\t0x048c: 0x40368e20, 0x048d: 0xc04a0071, 0x048e: 0x4036b820, 0x048f: 0x4036c420,\n\t0x0490: 0xe00014ba, 0x0491: 0xe00014c0, 0x0492: 0x40339620, 0x0493: 0x4033a220,\n\t0x0494: 0x4033c220, 0x0495: 0x4033fc20, 0x0496: 0xc0280071, 0x0497: 0x40343620,\n\t0x0498: 0x40344620, 0x0499: 0x40349a20, 0x049a: 0x4034e420, 0x049b: 0x40356220,\n\t0x049c: 0x40356a20, 0x049d: 0xe00014cc, 0x049e: 0x40357a20, 0x049f: 0x40365420,\n\t0x04a0: 0x0035e088, 0x04a1: 0x4035e020, 0x04a2: 0x00369e88, 0x04a3: 0x40369e20,\n\t0x04a4: 0x0036ce88, 0x04a5: 0x4036ce20, 0x04a6: 0x0036d688, 0x04a7: 0x4036d620,\n\t0x04a8: 0x0036ea88, 0x04a9: 0x4036ea20, 0x04aa: 0x0036e088, 0x04ab: 0x4036e020,\n\t0x04ac: 0x0036f488, 0x04ad: 0x4036f420, 0x04ae: 0x0036fc88, 0x04af: 0x4036fc20,\n\t0x04b0: 0x00370488, 0x04b1: 0x40370420, 0x04b2: 0x00370c88, 0x04b3: 0x40370c20,\n\t0x04b4: 0xc0500131, 0x04b5: 0xc04e0131, 0x04b6: 0x00371c88, 0x04b7: 0x40371c20,\n\t0x04b8: 0x0035a488, 0x04b9: 0x4035a420, 0x04ba: 0x0035fa88, 0x04bb: 0x4035fa20,\n\t0x04bc: 0x0035f288, 0x04bd: 0x4035f220, 0x04be: 0x0035e888, 0x04bf: 0x4035e820,\n\t// Block 0x13, offset 0x4c0\n\t0x04c0: 0x00352088, 0x04c1: 0x40352020, 0x04c2: 0x40070620, 0x04c3: 0xae608302,\n\t0x04c4: 0xae605f02, 0x04c5: 0xae602a02, 0x04c6: 0xae602202, 0x04c7: 0xae605f02,\n\t0x04c8: 0xa0000000, 0x04c9: 0xa0000000, 0x04ca: 0x00341c88, 0x04cb: 0x40341c20,\n\t0x04cc: 0x00369688, 0x04cd: 0x40369620, 0x04ce: 0x00353088, 0x04cf: 0x40353020,\n\t0x04d0: 0xe00014b7, 0x04d1: 0xe00014b4, 0x04d2: 0x00336a88, 0x04d3: 0x40336a20,\n\t0x04d4: 0x00337a88, 0x04d5: 0x40337a20, 0x04d6: 0x0033dc88, 0x04d7: 0x4033dc20,\n\t0x04d8: 0x0033aa88, 0x04d9: 0x4033aa20, 0x04da: 0x00345888, 0x04db: 0x40345820,\n\t0x04dc: 0x00347888, 0x04dd: 0x40347820, 0x04de: 0x00347088, 0x04df: 0x40347020,\n\t0x04e0: 0x00346888, 0x04e1: 0x40346820, 0x04e2: 0x0034ca88, 0x04e3: 0x4034ca20,\n\t0x04e4: 0x0034dc88, 0x04e5: 0x4034dc20, 0x04e6: 0x00351888, 0x04e7: 0x40351820,\n\t0x04e8: 0x00372688, 0x04e9: 0x40372620, 0x04ea: 0x00354488, 0x04eb: 0x40354420,\n\t0x04ec: 0x00355888, 0x04ed: 0x40355820, 0x04ee: 0x00359288, 0x04ef: 0x40359220,\n\t0x04f0: 0x00359a88, 0x04f1: 0x40359a20, 0x04f2: 0x0035cc88, 0x04f3: 0x4035cc20,\n\t0x04f4: 0x00360e88, 0x04f5: 0x40360e20, 0x04f6: 0x00362a88, 0x04f7: 0x40362a20,\n\t0x04f8: 0x00363a88, 0x04f9: 0x40363a20, 0x04fa: 0x0035d488, 0x04fb: 0x4035d420,\n\t0x04fc: 0x00364488, 0x04fd: 0x40364420, 0x04fe: 0x00364c88, 0x04ff: 0x40364c20,\n\t// Block 0x14, offset 0x500\n\t0x0500: 0x00373088, 0x0501: 0xe00014c9, 0x0502: 0xe00014c6, 0x0503: 0x00346088,\n\t0x0504: 0x40346020, 0x0505: 0x00348e88, 0x0506: 0x40348e20, 0x0507: 0x0034d288,\n\t0x0508: 0x4034d220, 0x0509: 0x0034c288, 0x050a: 0x4034c220, 0x050b: 0x00363288,\n\t0x050c: 0x40363220, 0x050d: 0x0034b088, 0x050e: 0x4034b020, 0x050f: 0x40373020,\n\t0x0510: 0x00332a88, 0x0511: 0x40332a20, 0x0512: 0x00333288, 0x0513: 0x40333220,\n\t0x0514: 0x00334a88, 0x0515: 0x40334a20, 0x0516: 0x0033ba88, 0x0517: 0x4033ba20,\n\t0x0518: 0xc00e0071, 0x0519: 0xc00c0071, 0x051a: 0x00334288, 0x051b: 0x40334220,\n\t0x051c: 0x0033d488, 0x051d: 0x4033d420, 0x051e: 0x0033f288, 0x051f: 0x4033f220,\n\t0x0520: 0x00340688, 0x0521: 0x40340620, 0x0522: 0xe00014d5, 0x0523: 0xe00014d2,\n\t0x0524: 0x00342488, 0x0525: 0x40342420, 0x0526: 0x0034f688, 0x0527: 0x4034f620,\n\t0x0528: 0xc0320071, 0x0529: 0xc0300071, 0x052a: 0x00350688, 0x052b: 0x40350620,\n\t0x052c: 0x0036b088, 0x052d: 0x4036b020, 0x052e: 0xe00014de, 0x052f: 0xe00014db,\n\t0x0530: 0x00358288, 0x0531: 0x40358220, 0x0532: 0x00358a88, 0x0533: 0x40358a20,\n\t0x0534: 0x00362288, 0x0535: 0x40362220, 0x0536: 0x00338288, 0x0537: 0x40338220,\n\t0x0538: 0x00368688, 0x0539: 0x40368620, 0x053a: 0x00337288, 0x053b: 0x40337220,\n\t0x053c: 0x0035bc88, 0x053d: 0x4035bc20, 0x053e: 0x0035c488, 0x053f: 0x4035c420,\n\t// Block 0x15, offset 0x540\n\t0x0540: 0x00339288, 0x0541: 0x40339220, 0x0542: 0x0033a088, 0x0543: 0x4033a020,\n\t0x0544: 0x0033ee88, 0x0545: 0x4033ee20, 0x0546: 0x00341088, 0x0547: 0x40341020,\n\t0x0548: 0x0034a488, 0x0549: 0x4034a420, 0x054a: 0x0034ec88, 0x054b: 0x4034ec20,\n\t0x054c: 0x00354288, 0x054d: 0x40354220, 0x054e: 0x00355688, 0x054f: 0x40355620,\n\t0x0550: 0x0033f088, 0x0551: 0x4033f020, 0x0552: 0x00349688, 0x0553: 0x40349620,\n\t0x0554: 0x0034a688, 0x0555: 0x4034a620, 0x0556: 0x00353888, 0x0557: 0x40353820,\n\t0x0558: 0x0036cc88, 0x0559: 0x4036cc20, 0x055a: 0x00348288, 0x055b: 0x40348220,\n\t0x055c: 0x00372e88, 0x055d: 0x40372e20, 0x055e: 0x00348088, 0x055f: 0x40348020,\n\t0x0560: 0x00349888, 0x0561: 0x40349820, 0x0562: 0x0034da88, 0x0563: 0x4034da20,\n\t0x0564: 0x00351688, 0x0565: 0x40351620, 0x0566: 0x0035dc88, 0x0567: 0x4035dc20,\n\t0x0571: 0x00384288, 0x0572: 0x00384488, 0x0573: 0x00384688,\n\t0x0574: 0x00384888, 0x0575: 0x00384a88, 0x0576: 0x00384c88, 0x0577: 0x00384e88,\n\t0x0578: 0x00385088, 0x0579: 0x00385288, 0x057a: 0x00385488, 0x057b: 0x00385688,\n\t0x057c: 0x00385888, 0x057d: 0x00385a88, 0x057e: 0x00385c88, 0x057f: 0x00385e88,\n\t// Block 0x16, offset 0x580\n\t0x0580: 0x00386088, 0x0581: 0x00386288, 0x0582: 0x00386488, 0x0583: 0x00386688,\n\t0x0584: 0x00386888, 0x0585: 0x00386a88, 0x0586: 0x00386c88, 0x0587: 0x00386e88,\n\t0x0588: 0x00387088, 0x0589: 0x00387288, 0x058a: 0x00387488, 0x058b: 0x00387688,\n\t0x058c: 0x00387888, 0x058d: 0x00387a88, 0x058e: 0x00387c88, 0x058f: 0x00387e88,\n\t0x0590: 0x00388088, 0x0591: 0x00388288, 0x0592: 0x00388488, 0x0593: 0x00388688,\n\t0x0594: 0x00388888, 0x0595: 0x00388a88, 0x0596: 0x00388c88,\n\t0x0599: 0x40388e20, 0x059a: 0x40054e20, 0x059b: 0x40055020,\n\t0x059c: 0x4002be20, 0x059d: 0x40024620, 0x059e: 0x4002ca20, 0x059f: 0x40055220,\n\t0x05a1: 0x40384220, 0x05a2: 0x40384420, 0x05a3: 0x40384620,\n\t0x05a4: 0x40384820, 0x05a5: 0x40384a20, 0x05a6: 0x40384c20, 0x05a7: 0x40384e20,\n\t0x05a8: 0x40385020, 0x05a9: 0x40385220, 0x05aa: 0x40385420, 0x05ab: 0x40385620,\n\t0x05ac: 0x40385820, 0x05ad: 0x40385a20, 0x05ae: 0x40385c20, 0x05af: 0x40385e20,\n\t0x05b0: 0x40386020, 0x05b1: 0x40386220, 0x05b2: 0x40386420, 0x05b3: 0x40386620,\n\t0x05b4: 0x40386820, 0x05b5: 0x40386a20, 0x05b6: 0x40386c20, 0x05b7: 0x40386e20,\n\t0x05b8: 0x40387020, 0x05b9: 0x40387220, 0x05ba: 0x40387420, 0x05bb: 0x40387620,\n\t0x05bc: 0x40387820, 0x05bd: 0x40387a20, 0x05be: 0x40387c20, 0x05bf: 0x40387e20,\n\t// Block 0x17, offset 0x5c0\n\t0x05c0: 0x40388020, 0x05c1: 0x40388220, 0x05c2: 0x40388420, 0x05c3: 0x40388620,\n\t0x05c4: 0x40388820, 0x05c5: 0x40388a20, 0x05c6: 0x40388c20, 0x05c7: 0xf0000404,\n\t0x05c9: 0x40026e20, 0x05ca: 0x40021c20,\n\t0x05cf: 0x4027e420,\n\t0x05d1: 0xadc00000, 0x05d2: 0xae600000, 0x05d3: 0xae600000,\n\t0x05d4: 0xae600000, 0x05d5: 0xae600000, 0x05d6: 0xadc00000, 0x05d7: 0xae600000,\n\t0x05d8: 0xae600000, 0x05d9: 0xae600000, 0x05da: 0xade00000, 0x05db: 0xadc00000,\n\t0x05dc: 0xae600000, 0x05dd: 0xae600000, 0x05de: 0xae600000, 0x05df: 0xae600000,\n\t0x05e0: 0xae600000, 0x05e1: 0xae600000, 0x05e2: 0xadc00000, 0x05e3: 0xadc00000,\n\t0x05e4: 0xadc00000, 0x05e5: 0xadc00000, 0x05e6: 0xadc00000, 0x05e7: 0xadc00000,\n\t0x05e8: 0xae600000, 0x05e9: 0xae600000, 0x05ea: 0xadc00000, 0x05eb: 0xae600000,\n\t0x05ec: 0xae600000, 0x05ed: 0xade00000, 0x05ee: 0xae400000, 0x05ef: 0xae600000,\n\t0x05f0: 0xa0a08502, 0x05f1: 0xa0b08602, 0x05f2: 0xa0c08702, 0x05f3: 0xa0d08802,\n\t0x05f4: 0xa0e08902, 0x05f5: 0xa0f08a02, 0x05f6: 0xa1008b02, 0x05f7: 0xa1108c02,\n\t0x05f8: 0xa1208d02, 0x05f9: 0xa1308e02, 0x05fa: 0xa1308e02, 0x05fb: 0xa1408f02,\n\t0x05fc: 0xa1509202, 0x05fd: 0xa1600000, 0x05fe: 0x40055420, 0x05ff: 0xa1709502,\n\t// Block 0x18, offset 0x600\n\t0x0600: 0x40055620, 0x0601: 0xa1809102, 0x0602: 0xa1909002, 0x0603: 0x40055820,\n\t0x0604: 0xae600000, 0x0605: 0xadc00000, 0x0606: 0x40055a20, 0x0607: 0xa1208d02,\n\t0x0610: 0x40389020, 0x0611: 0x40389220, 0x0612: 0x40389420, 0x0613: 0x40389620,\n\t0x0614: 0x40389820, 0x0615: 0x40389a20, 0x0616: 0x40389c20, 0x0617: 0x40389e20,\n\t0x0618: 0x4038a020, 0x0619: 0x4038a220, 0x061a: 0x0038a499, 0x061b: 0x4038a420,\n\t0x061c: 0x4038a620, 0x061d: 0x0038a899, 0x061e: 0x4038a820, 0x061f: 0x0038aa99,\n\t0x0620: 0x4038aa20, 0x0621: 0x4038ac20, 0x0622: 0x4038ae20, 0x0623: 0x0038b099,\n\t0x0624: 0x4038b020, 0x0625: 0x0038b299, 0x0626: 0x4038b220, 0x0627: 0x4038b420,\n\t0x0628: 0x4038b620, 0x0629: 0x4038b820, 0x062a: 0x4038ba20,\n\t0x0630: 0xe00014ff, 0x0631: 0xe0001502, 0x0632: 0xe0001511, 0x0633: 0x40055c20,\n\t0x0634: 0x40055e20,\n\t// Block 0x19, offset 0x640\n\t0x0640: 0xa0000000, 0x0641: 0xa0000000, 0x0642: 0xa0000000, 0x0643: 0xa0000000,\n\t0x0644: 0xa0000000, 0x0646: 0x40096620, 0x0647: 0x40096a20,\n\t0x0648: 0x40070820, 0x0649: 0x4004f220, 0x064a: 0x4004f620, 0x064b: 0x4027e620,\n\t0x064c: 0x40024820, 0x064d: 0x40024a20, 0x064e: 0x40070e20, 0x064f: 0x40071020,\n\t0x0650: 0xae600000, 0x0651: 0xae600000, 0x0652: 0xae600000, 0x0653: 0xae600000,\n\t0x0654: 0xae600000, 0x0655: 0xae600000, 0x0656: 0xae600000, 0x0657: 0xae600000,\n\t0x0658: 0xa1e00000, 0x0659: 0xa1f00000, 0x065a: 0xa2000000, 0x065b: 0x40026420,\n\t0x065e: 0x40027020, 0x065f: 0x4002cc20,\n\t0x0660: 0x403aa220, 0x0661: 0x40391c20, 0x0662: 0x40391e20, 0x0663: 0x40392020,\n\t0x0664: 0x40392620, 0x0665: 0x40392820, 0x0666: 0x40393020, 0x0667: 0xc0520151,\n\t0x0668: 0x40393c20, 0x0669: 0x40395420, 0x066a: 0x40395620, 0x066b: 0x40395820,\n\t0x066c: 0x40396420, 0x066d: 0x40397220, 0x066e: 0x40397420, 0x066f: 0x40398820,\n\t0x0670: 0x40398a20, 0x0671: 0x4039a420, 0x0672: 0x4039a620, 0x0673: 0x4039c620,\n\t0x0674: 0x4039c820, 0x0675: 0x4039dc20, 0x0676: 0x4039de20, 0x0677: 0x4039e620,\n\t0x0678: 0x4039e820, 0x0679: 0x4039ee20, 0x067a: 0x4039f020, 0x067b: 0x403a3820,\n\t0x067c: 0x403a3a20, 0x067d: 0x403a9c20, 0x067e: 0x403a9e20, 0x067f: 0x403aa020,\n\t// Block 0x1a, offset 0x680\n\t0x0680: 0xa0000000, 0x0681: 0x4039fc20, 0x0682: 0x403a1220, 0x0683: 0x403a1a20,\n\t0x0684: 0x403a4020, 0x0685: 0x403a4e20, 0x0686: 0x403a5620, 0x0687: 0x403a6820,\n\t0x0688: 0xc0560171, 0x0689: 0x403a8e20, 0x068a: 0xc0580171, 0x068b: 0xa1b0a202,\n\t0x068c: 0xa1c0a502, 0x068d: 0xa1d0a902, 0x068e: 0xa1e0ad02, 0x068f: 0xa1f0b202,\n\t0x0690: 0xa200b602, 0x0691: 0xa210ba02, 0x0692: 0xa220bc02, 0x0693: 0xae60bd02,\n\t0x0694: 0xae60be02, 0x0695: 0xadc0bf02, 0x0696: 0xadc0c102, 0x0697: 0xae60c202,\n\t0x0698: 0xae60c302, 0x0699: 0xae60c402, 0x069a: 0xae60c502, 0x069b: 0xae60c602,\n\t0x069c: 0xadc0c702, 0x069d: 0xae60c802, 0x069e: 0xae60c902, 0x069f: 0xadc0c002,\n\t0x06a0: 0xe000015e, 0x06a1: 0xe00001e6, 0x06a2: 0xe0000301, 0x06a3: 0xe00003db,\n\t0x06a4: 0xe00004b6, 0x06a5: 0xe0000580, 0x06a6: 0xe000064b, 0x06a7: 0xe00006f3,\n\t0x06a8: 0xe000079f, 0x06a9: 0xe0000844, 0x06aa: 0x4004ee20, 0x06ab: 0x40024c20,\n\t0x06ac: 0x40024e20, 0x06ad: 0x4004de20, 0x06ae: 0x40393a20, 0x06af: 0x403a1020,\n\t0x06b0: 0xa230d102, 0x06b1: 0x40392420, 0x06b2: 0x40392220, 0x06b3: 0x40392a20,\n\t0x06b4: 0x00391c84, 0x06b5: 0xf0000404, 0x06b6: 0xf0000404, 0x06b7: 0xf0000404,\n\t0x06b8: 0xf0000404, 0x06b9: 0x40395a20, 0x06ba: 0x40395c20, 0x06bb: 0x40393e20,\n\t0x06bc: 0x40395e20, 0x06bd: 0x40396020, 0x06be: 0x40394020, 0x06bf: 0x40396220,\n\t// Block 0x1b, offset 0x6c0\n\t0x06c0: 0x40394220, 0x06c1: 0x40397620, 0x06c2: 0x40397820, 0x06c3: 0x40396620,\n\t0x06c4: 0x40396820, 0x06c5: 0x40397a20, 0x06c6: 0x40396a20, 0x06c7: 0x40396e20,\n\t0x06c8: 0x40398c20, 0x06c9: 0x40398e20, 0x06ca: 0x40399020, 0x06cb: 0x40399220,\n\t0x06cc: 0x40399420, 0x06cd: 0x40399620, 0x06ce: 0x40399820, 0x06cf: 0x40399a20,\n\t0x06d0: 0x40399c20, 0x06d1: 0x4039a820, 0x06d2: 0x4039aa20, 0x06d3: 0x4039ac20,\n\t0x06d4: 0x4039ae20, 0x06d5: 0x4039b020, 0x06d6: 0x4039b220, 0x06d7: 0x4039b420,\n\t0x06d8: 0x4039b620, 0x06d9: 0x4039b820, 0x06da: 0x4039ca20, 0x06db: 0x4039cc20,\n\t0x06dc: 0x4039ce20, 0x06dd: 0x4039e020, 0x06de: 0x4039e220, 0x06df: 0x4039ea20,\n\t0x06e0: 0x4039f220, 0x06e1: 0x4039fe20, 0x06e2: 0x403a0020, 0x06e3: 0x403a0220,\n\t0x06e4: 0x403a0420, 0x06e5: 0x403a0820, 0x06e6: 0x403a0a20, 0x06e7: 0x403a1420,\n\t0x06e8: 0x403a1620, 0x06e9: 0x403a1c20, 0x06ea: 0x403a1e20, 0x06eb: 0x403a2020,\n\t0x06ec: 0x403a2220, 0x06ed: 0x403a2620, 0x06ee: 0x403a2820, 0x06ef: 0x403a2a20,\n\t0x06f0: 0x403a2c20, 0x06f1: 0x403a2e20, 0x06f2: 0x403a3020, 0x06f3: 0x403a3220,\n\t0x06f4: 0x403a3420, 0x06f5: 0x403a4220, 0x06f6: 0x403a4420, 0x06f7: 0x403a4620,\n\t0x06f8: 0x403a4820, 0x06f9: 0x403a6020, 0x06fa: 0x403a5820, 0x06fb: 0x403a5a20,\n\t0x06fc: 0x403a5c20, 0x06fd: 0x403a5e20, 0x06fe: 0x403a6a20, 0x06ff: 0x40396c20,\n\t// Block 0x1c, offset 0x700\n\t0x0700: 0xe00017e4, 0x0701: 0x403a6c20, 0x0702: 0xe00017e1, 0x0703: 0x403a6e20,\n\t0x0704: 0x403a7620, 0x0705: 0x403a7820, 0x0706: 0x403a7a20, 0x0707: 0x403a7c20,\n\t0x0708: 0x403a7e20, 0x0709: 0x403a8020, 0x070a: 0x403a8220, 0x070b: 0x403a8420,\n\t0x070c: 0x403a9220, 0x070d: 0x403a9420, 0x070e: 0x403a9620, 0x070f: 0x403a8620,\n\t0x0710: 0x403a9820, 0x0711: 0x403a9a20, 0x0712: 0x403aaa20, 0x0713: 0xe0001800,\n\t0x0714: 0x4002e820, 0x0715: 0x403a7220, 0x0716: 0xae600000, 0x0717: 0xae600000,\n\t0x0718: 0xae600000, 0x0719: 0xae600000, 0x071a: 0xae600000, 0x071b: 0xae600000,\n\t0x071c: 0xae600000, 0x071d: 0xa0000000, 0x071e: 0x40071220, 0x071f: 0xae600000,\n\t0x0720: 0xae600000, 0x0721: 0xae600000, 0x0722: 0xae600000, 0x0723: 0xadc00000,\n\t0x0724: 0xae600000, 0x0725: 0x003a7484, 0x0726: 0x003a9084, 0x0727: 0xae600000,\n\t0x0728: 0xae600000, 0x0729: 0x40071420, 0x072a: 0xadc00000, 0x072b: 0xae600000,\n\t0x072c: 0xae600000, 0x072d: 0xadc00000, 0x072e: 0x40399e20, 0x072f: 0x4039ba20,\n\t0x0730: 0xe0000161, 0x0731: 0xe00001e9, 0x0732: 0xe0000304, 0x0733: 0xe00003de,\n\t0x0734: 0xe00004b9, 0x0735: 0xe0000583, 0x0736: 0xe000064e, 0x0737: 0xe00006f6,\n\t0x0738: 0xe00007a2, 0x0739: 0xe0000847, 0x073a: 0x4039d020, 0x073b: 0x4039e420,\n\t0x073c: 0x4039f420, 0x073d: 0xe0001553, 0x073e: 0xe0001779, 0x073f: 0x403a7020,\n\t// Block 0x1d, offset 0x740\n\t0x0740: 0x40035c20, 0x0741: 0x4002ea20, 0x0742: 0x4002ec20, 0x0743: 0x40027220,\n\t0x0744: 0x40027420, 0x0745: 0x40027620, 0x0746: 0x40027820, 0x0747: 0x40027a20,\n\t0x0748: 0x40027c20, 0x0749: 0x4002ce20, 0x074a: 0x40056020, 0x074b: 0x40056220,\n\t0x074c: 0x40056420, 0x074d: 0x40056620, 0x074f: 0xa0000000,\n\t0x0750: 0x403ab020, 0x0751: 0xa240d202, 0x0752: 0x403ab220, 0x0753: 0x403ab420,\n\t0x0754: 0xe0001806, 0x0755: 0x403ab820, 0x0756: 0x403ab620, 0x0757: 0x403aba20,\n\t0x0758: 0x403abc20, 0x0759: 0x403abe20, 0x075a: 0x403ac220, 0x075b: 0x403ac420,\n\t0x075c: 0xe000180f, 0x075d: 0x403ac620, 0x075e: 0x403ac820, 0x075f: 0x403aca20,\n\t0x0760: 0x403ace20, 0x0761: 0x403ad020, 0x0762: 0x403ad220, 0x0763: 0x403ad420,\n\t0x0764: 0x003ad499, 0x0765: 0x403ad620, 0x0766: 0x403ad820, 0x0767: 0xe0001812,\n\t0x0768: 0x403adc20, 0x0769: 0x403ade20, 0x076a: 0x403ae020, 0x076b: 0x403ae220,\n\t0x076c: 0x403ae420, 0x076d: 0xe0001803, 0x076e: 0xe0001809, 0x076f: 0xe000180c,\n\t0x0770: 0xae60d302, 0x0771: 0xadc0d402, 0x0772: 0xae60d502, 0x0773: 0xae60d602,\n\t0x0774: 0xadc0d702, 0x0775: 0xae60d802, 0x0776: 0xae60d902, 0x0777: 0xadc0da02,\n\t0x0778: 0xadc0db02, 0x0779: 0xadc0dc02, 0x077a: 0xae60dd02, 0x077b: 0xadc0de02,\n\t0x077c: 0xadc0df02, 0x077d: 0xae60e002, 0x077e: 0xadc0e102, 0x077f: 0xae60e202,\n\t// Block 0x1e, offset 0x780\n\t0x0780: 0xae600000, 0x0781: 0xae605f02, 0x0782: 0xadc06002, 0x0783: 0xae600000,\n\t0x0784: 0xadc00000, 0x0785: 0xae605f02, 0x0786: 0xadc06002, 0x0787: 0xae600000,\n\t0x0788: 0xadc00000, 0x0789: 0xae600000, 0x078a: 0xae600000,\n\t0x078d: 0x403ac020, 0x078e: 0x403acc20, 0x078f: 0x403ada20,\n\t0x0790: 0x40394420, 0x0791: 0x40394620, 0x0792: 0x40394820, 0x0793: 0x40394a20,\n\t0x0794: 0x40394c20, 0x0795: 0x40394e20, 0x0796: 0x40395220, 0x0797: 0x40397c20,\n\t0x0798: 0x40397e20, 0x0799: 0x4039a020, 0x079a: 0x4039a220, 0x079b: 0x4039bc20,\n\t0x079c: 0x4039d220, 0x079d: 0x4039f620, 0x079e: 0x4039f820, 0x079f: 0x4039fa20,\n\t0x07a0: 0x403a0c20, 0x07a1: 0x403a0e20, 0x07a2: 0x403a3620, 0x07a3: 0x403a3c20,\n\t0x07a4: 0x403a3e20, 0x07a5: 0x403a5020, 0x07a6: 0x403a5220, 0x07a7: 0x403a6220,\n\t0x07a8: 0x403a6420, 0x07a9: 0x403a6620, 0x07aa: 0x403a4a20, 0x07ab: 0x4039be20,\n\t0x07ac: 0x4039c020, 0x07ad: 0x4039d420, 0x07ae: 0x40398020, 0x07af: 0x40398220,\n\t0x07b0: 0x4039d620, 0x07b1: 0x4039c220, 0x07b2: 0x40398420, 0x07b3: 0x40392c20,\n\t0x07b4: 0x40392e20, 0x07b5: 0x403aa420, 0x07b6: 0x403aa620, 0x07b7: 0x403aa820,\n\t0x07b8: 0x403a8820, 0x07b9: 0x403a8a20, 0x07ba: 0x403aac20, 0x07bb: 0x403aae20,\n\t0x07bc: 0x40398620, 0x07bd: 0x4039d820, 0x07be: 0x4039da20, 0x07bf: 0x403a2420,\n\t// Block 0x1f, offset 0x7c0\n\t0x07c0: 0x403b1820, 0x07c1: 0x403b1e20, 0x07c2: 0x403b2020, 0x07c3: 0x403b2220,\n\t0x07c4: 0x403b2620, 0x07c5: 0x403b2820, 0x07c6: 0x403b2a20, 0x07c7: 0x403b2c20,\n\t0x07c8: 0x403b3220, 0x07c9: 0x403b3620, 0x07ca: 0x403b3820, 0x07cb: 0x403b3a20,\n\t0x07cc: 0x403b3e20, 0x07cd: 0x403b4620, 0x07ce: 0x403b4820, 0x07cf: 0x403b4c20,\n\t0x07d0: 0x403b4e20, 0x07d1: 0x403b5620, 0x07d2: 0x403b5820, 0x07d3: 0x403b5a20,\n\t0x07d4: 0x403b5c20, 0x07d5: 0x403b5e20, 0x07d6: 0x403b6020, 0x07d7: 0x403b6220,\n\t0x07d8: 0x403b4020, 0x07d9: 0x403b1a20, 0x07da: 0x403b1c20, 0x07db: 0x403b3c20,\n\t0x07dc: 0x403b2420, 0x07dd: 0x403b5020, 0x07de: 0x403b5220, 0x07df: 0x403b5420,\n\t0x07e0: 0x403b4220, 0x07e1: 0x403b4420, 0x07e2: 0x403b2e20, 0x07e3: 0x403b3020,\n\t0x07e4: 0x403b4a20, 0x07e5: 0x403b3420, 0x07e6: 0x403b6620, 0x07e7: 0x403b6820,\n\t0x07e8: 0x403b6a20, 0x07e9: 0x403b6c20, 0x07ea: 0x403b6e20, 0x07eb: 0x403b7020,\n\t0x07ec: 0x403b7220, 0x07ed: 0x403b7420, 0x07ee: 0x403b7620, 0x07ef: 0x403b7820,\n\t0x07f0: 0x403b7a20, 0x07f1: 0x403b6420,\n\t// Block 0x20, offset 0x800\n\t0x0800: 0xe0000164, 0x0801: 0xe00001ef, 0x0802: 0xe000030a, 0x0803: 0xe00003e4,\n\t0x0804: 0xe00004bf, 0x0805: 0xe0000589, 0x0806: 0xe0000654, 0x0807: 0xe00006fc,\n\t0x0808: 0xe00007a8, 0x0809: 0xe000084d, 0x080a: 0x403b7c20, 0x080b: 0x403b7e20,\n\t0x080c: 0x403b8020, 0x080d: 0x403b8220, 0x080e: 0x403b8420, 0x080f: 0x403b8620,\n\t0x0810: 0x403b8820, 0x0811: 0x403b8a20, 0x0812: 0x403b8c20, 0x0813: 0x403b8e20,\n\t0x0814: 0x403b9020, 0x0815: 0x403b9220, 0x0816: 0x403b9420, 0x0817: 0x403b9620,\n\t0x0818: 0x403b9820, 0x0819: 0x403b9a20, 0x081a: 0x403b9c20, 0x081b: 0x403b9e20,\n\t0x081c: 0x403ba020, 0x081d: 0x403ba220, 0x081e: 0x403ba420, 0x081f: 0x403ba620,\n\t0x0820: 0x403ba820, 0x0821: 0x403baa20, 0x0822: 0x403bac20, 0x0823: 0x403bae20,\n\t0x0824: 0x403bb020, 0x0825: 0x403bb220, 0x0826: 0x403bb420, 0x0827: 0x403bb620,\n\t0x0828: 0xe0001815, 0x0829: 0xe0001818, 0x082a: 0xe000181b, 0x082b: 0xae60e302,\n\t0x082c: 0xae60e402, 0x082d: 0xae60e502, 0x082e: 0xae60e602, 0x082f: 0xae60e702,\n\t0x0830: 0xae60e802, 0x0831: 0xae60e902, 0x0832: 0xadc0ea02, 0x0833: 0xae60eb02,\n\t0x0834: 0x403bb820, 0x0835: 0x403bba20, 0x0836: 0x40073820, 0x0837: 0x40035e20,\n\t0x0838: 0x40025020, 0x0839: 0x4002c020, 0x083a: 0xa0000000,\n\t// Block 0x21, offset 0x840\n\t0x0840: 0x4038e820, 0x0841: 0x4038ea20, 0x0842: 0x4038ec20, 0x0843: 0x4038ee20,\n\t0x0844: 0x4038f020, 0x0845: 0x4038f220, 0x0846: 0x4038f420, 0x0847: 0x4038f620,\n\t0x0848: 0x4038f820, 0x0849: 0x4038fa20, 0x084a: 0x4038fc20, 0x084b: 0x4038fe20,\n\t0x084c: 0x40390020, 0x084d: 0x40390220, 0x084e: 0x40390420, 0x084f: 0x40390620,\n\t0x0850: 0x40390820, 0x0851: 0x40390a20, 0x0852: 0x40390c20, 0x0853: 0x40390e20,\n\t0x0854: 0x40391020, 0x0855: 0x40391220, 0x0856: 0x82e61c8a, 0x0857: 0x82e61c8b,\n\t0x0858: 0xae609f02, 0x0859: 0xae60a002, 0x085a: 0x40391820, 0x085b: 0x82e61c8d,\n\t0x085c: 0xae609702, 0x085d: 0xae609702, 0x085e: 0xae609802, 0x085f: 0xae609802,\n\t0x0860: 0xae609802, 0x0861: 0xae609902, 0x0862: 0xae609902, 0x0863: 0xae609902,\n\t0x0864: 0xa0009a02, 0x0865: 0xae609a02, 0x0866: 0xae609b02, 0x0867: 0xae609b02,\n\t0x0868: 0xa0009c02, 0x0869: 0xae609c02, 0x086a: 0xae609c02, 0x086b: 0xae609d02,\n\t0x086c: 0xae609e02, 0x086d: 0xae60a102,\n\t0x0870: 0x40027e20, 0x0871: 0x40028020, 0x0872: 0x40028220, 0x0873: 0x40028420,\n\t0x0874: 0x40028620, 0x0875: 0x40028820, 0x0876: 0x40028a20, 0x0877: 0x40028c20,\n\t0x0878: 0x40028e20, 0x0879: 0x40029020, 0x087a: 0x40029220, 0x087b: 0x40029420,\n\t0x087c: 0x40029620, 0x087d: 0x40029820, 0x087e: 0x40029a20,\n\t// Block 0x22, offset 0x880\n\t0x0880: 0x403ae620, 0x0881: 0x403ae820, 0x0882: 0x403aea20, 0x0883: 0x403aec20,\n\t0x0884: 0x403aee20, 0x0885: 0x403af020, 0x0886: 0x403af220, 0x0887: 0x403af420,\n\t0x0888: 0x403af620, 0x0889: 0x403af820, 0x088a: 0x403afa20, 0x088b: 0x403afc20,\n\t0x088c: 0x403afe20, 0x088d: 0x403b0020, 0x088e: 0x403b0220, 0x088f: 0x403b0420,\n\t0x0890: 0x403b0620, 0x0891: 0x403b0820, 0x0892: 0x403b0a20, 0x0893: 0x403b0c20,\n\t0x0894: 0x403b0e20, 0x0895: 0x403b1020, 0x0896: 0x403b1220, 0x0897: 0x403b1420,\n\t0x0898: 0x403b1620, 0x0899: 0xadc06002, 0x089a: 0xadc06002, 0x089b: 0xadc06002,\n\t0x089e: 0x40056820,\n\t// Block 0x23, offset 0x8c0\n\t0x08e0: 0x40395020, 0x08e2: 0x40397020, 0x08e3: 0x4039ec20,\n\t0x08e4: 0x403a0620, 0x08e5: 0x403a1820, 0x08e6: 0x403a4c20, 0x08e7: 0x403a5420,\n\t0x08e8: 0x40393220, 0x08e9: 0x40393420, 0x08ea: 0x4039c420, 0x08eb: 0x403a8c20,\n\t0x08ec: 0x40393620,\n\t// Block 0x24, offset 0x900\n\t0x0924: 0xae60af02, 0x0925: 0xae60b402, 0x0926: 0xadc0b802, 0x0927: 0xae60a402,\n\t0x0928: 0xae60a802, 0x0929: 0xadc0ac02, 0x092a: 0xae600000, 0x092b: 0xae600000,\n\t0x092c: 0xae600000, 0x092d: 0xadc00000, 0x092e: 0xadc00000, 0x092f: 0xadc00000,\n\t0x0930: 0xa1b0a302, 0x0931: 0xa1c0a702, 0x0932: 0xa1d0ab02, 0x0933: 0xae600000,\n\t0x0934: 0xae60b002, 0x0935: 0xae60b102, 0x0936: 0xadc0b902, 0x0937: 0xae60ca02,\n\t0x0938: 0xae60cb02, 0x0939: 0xadc0cf02, 0x093a: 0xadc0d002, 0x093b: 0xae60cd02,\n\t0x093c: 0xae60ce02, 0x093d: 0xae60cc02, 0x093e: 0xae60b502,\n\t// Block 0x25, offset 0x940\n\t0x0940: 0xa000f202, 0x0941: 0xa000f202, 0x0942: 0xa000f302, 0x0943: 0xa000f402,\n\t0x0944: 0x403fbc20, 0x0945: 0x403fbe20, 0x0946: 0x403fc020, 0x0947: 0x403fcc20,\n\t0x0948: 0x403fce20, 0x0949: 0x403fd020, 0x094a: 0x403fd220, 0x094b: 0x403fd420,\n\t0x094c: 0x403fd820, 0x094d: 0x403fdc20, 0x094e: 0x403fde20, 0x094f: 0x403fe020,\n\t0x0950: 0x403fe220, 0x0951: 0x403fe420, 0x0952: 0x403fe620, 0x0953: 0x403fe820,\n\t0x0954: 0x403fea20, 0x0955: 0x403fec20, 0x0956: 0x403fee20, 0x0957: 0x403ff020,\n\t0x0958: 0x403ff420, 0x0959: 0x403ff620, 0x095a: 0x403ff820, 0x095b: 0x403ffa20,\n\t0x095c: 0x403ffc20, 0x095d: 0x40400220, 0x095e: 0x40400420, 0x095f: 0x40400620,\n\t0x0960: 0x40400820, 0x0961: 0x40400a20, 0x0962: 0x40400e20, 0x0963: 0x40401020,\n\t0x0964: 0x40401220, 0x0965: 0x40401420, 0x0966: 0x40401620, 0x0967: 0x40401820,\n\t0x0968: 0x40401a20, 0x0969: 0xe0001830, 0x096a: 0x40401c20, 0x096b: 0x40401e20,\n\t0x096c: 0x40402020, 0x096d: 0x40402420, 0x096e: 0x40402620, 0x096f: 0x40402820,\n\t0x0970: 0x40402c20, 0x0971: 0xe0001839, 0x0972: 0x40402e20, 0x0973: 0x40403020,\n\t0x0974: 0xe000183c, 0x0975: 0x40403220, 0x0976: 0x40403420, 0x0977: 0x40403620,\n\t0x0978: 0x40403820, 0x0979: 0x40403a20, 0x097a: 0x40404c20, 0x097b: 0x40404e20,\n\t0x097c: 0xa070f102, 0x097d: 0x40403c20, 0x097e: 0x40404a20, 0x097f: 0x40405620,\n\t// Block 0x26, offset 0x980\n\t0x0980: 0x40405820, 0x0981: 0x40405a20, 0x0982: 0x40405c20, 0x0983: 0x40405e20,\n\t0x0984: 0x40406020, 0x0985: 0x40406620, 0x0986: 0x40406a20, 0x0987: 0x40406c20,\n\t0x0988: 0x40407020, 0x0989: 0x40407220, 0x098a: 0x40407420, 0x098b: 0x40407620,\n\t0x098c: 0x40407820, 0x098d: 0x8209203d, 0x098e: 0x40406e20, 0x098f: 0x40405020,\n\t0x0990: 0x403fb820, 0x0991: 0xae600000, 0x0992: 0xadc00000, 0x0993: 0xae603502,\n\t0x0994: 0xae603202, 0x0995: 0x40406820, 0x0996: 0x40405220, 0x0997: 0x40405420,\n\t0x0998: 0xe000181e, 0x0999: 0xe0001821, 0x099a: 0xe0001824, 0x099b: 0xe0001827,\n\t0x099c: 0xe000182a, 0x099d: 0xe000182d, 0x099e: 0xe0001833, 0x099f: 0xe0001836,\n\t0x09a0: 0x403fd620, 0x09a1: 0x403fda20, 0x09a2: 0x40406220, 0x09a3: 0x40406420,\n\t0x09a4: 0x40030c20, 0x09a5: 0x40030e20, 0x09a6: 0xe000016a, 0x09a7: 0xe00001f8,\n\t0x09a8: 0xe0000313, 0x09a9: 0xe00003ed, 0x09aa: 0xe00004c8, 0x09ab: 0xe0000592,\n\t0x09ac: 0xe000065d, 0x09ad: 0xe0000705, 0x09ae: 0xe00007b1, 0x09af: 0xe0000856,\n\t0x09b0: 0x40056c20, 0x09b1: 0x4027b620, 0x09b2: 0x403fba20, 0x09b3: 0x403fc220,\n\t0x09b4: 0x403fc420, 0x09b5: 0x403fc620, 0x09b6: 0x403fc820, 0x09b7: 0x403fca20,\n\t0x09b9: 0x403ffe20, 0x09ba: 0x40402a20, 0x09bb: 0x403ff220,\n\t0x09bc: 0x40400020, 0x09bd: 0x40403e20, 0x09be: 0x40400c20, 0x09bf: 0x40402220,\n\t// Block 0x27, offset 0x9c0\n\t0x09c1: 0xa000f202, 0x09c2: 0xa000f302, 0x09c3: 0xa000f402,\n\t0x09c5: 0x40407c20, 0x09c6: 0x40407e20, 0x09c7: 0x40408020,\n\t0x09c8: 0x40408220, 0x09c9: 0x40408420, 0x09ca: 0x40408620, 0x09cb: 0x40408820,\n\t0x09cc: 0x40408c20, 0x09cf: 0x40409020,\n\t0x09d0: 0x40409220, 0x09d3: 0x40409420,\n\t0x09d4: 0x40409620, 0x09d5: 0x40409820, 0x09d6: 0x40409a20, 0x09d7: 0x40409c20,\n\t0x09d8: 0x40409e20, 0x09d9: 0x4040a020, 0x09da: 0x4040a220, 0x09db: 0x4040a420,\n\t0x09dc: 0x4040a620, 0x09dd: 0x4040a820, 0x09de: 0x4040aa20, 0x09df: 0x4040ac20,\n\t0x09e0: 0x4040ae20, 0x09e1: 0x4040b020, 0x09e2: 0x4040b220, 0x09e3: 0x4040b420,\n\t0x09e4: 0x4040b620, 0x09e5: 0x4040b820, 0x09e6: 0x4040ba20, 0x09e7: 0x4040bc20,\n\t0x09e8: 0x4040be20, 0x09ea: 0x4040c020, 0x09eb: 0x4040c220,\n\t0x09ec: 0x4040c420, 0x09ed: 0x4040c620, 0x09ee: 0x4040c820, 0x09ef: 0x4040ca20,\n\t0x09f0: 0x4040cc20, 0x09f2: 0x4040d020,\n\t0x09f6: 0x4040d420, 0x09f7: 0x4040d620,\n\t0x09f8: 0x4040d820, 0x09f9: 0x4040da20,\n\t0x09fc: 0xa070f102, 0x09fd: 0x4040dc20, 0x09fe: 0x4040de20, 0x09ff: 0x4040e020,\n\t// Block 0x28, offset 0xa00\n\t0x0a00: 0x4040e220, 0x0a01: 0x4040e420, 0x0a02: 0x4040e620, 0x0a03: 0x4040e820,\n\t0x0a04: 0x4040ea20, 0x0a07: 0xc05a0191,\n\t0x0a08: 0x4040f220, 0x0a0b: 0x4040f420,\n\t0x0a0c: 0x4040f620, 0x0a0d: 0x8209207c, 0x0a0e: 0xe0001845,\n\t0x0a17: 0x4040fa20,\n\t0x0a1c: 0xe000183f, 0x0a1d: 0xe0001842, 0x0a1f: 0xe0001848,\n\t0x0a20: 0x40408a20, 0x0a21: 0x40408e20, 0x0a22: 0x4040ec20, 0x0a23: 0x4040ee20,\n\t0x0a26: 0xe000016d, 0x0a27: 0xe00001fb,\n\t0x0a28: 0xe0000316, 0x0a29: 0xe00003f0, 0x0a2a: 0xe00004cb, 0x0a2b: 0xe0000595,\n\t0x0a2c: 0xe0000660, 0x0a2d: 0xe0000708, 0x0a2e: 0xe00007b4, 0x0a2f: 0xe0000859,\n\t0x0a30: 0x4040ce20, 0x0a31: 0x4040d220, 0x0a32: 0x4027e820, 0x0a33: 0x4027ea20,\n\t0x0a34: 0x40283020, 0x0a35: 0x40283220, 0x0a36: 0x40283420, 0x0a37: 0x40283620,\n\t0x0a38: 0x40283820, 0x0a39: 0x40283a20, 0x0a3a: 0x40073a20, 0x0a3b: 0x4027ec20,\n\t// Block 0x29, offset 0xa40\n\t0x0a41: 0xa000f202, 0x0a42: 0xa000f302, 0x0a43: 0xa000f402,\n\t0x0a45: 0x40410620, 0x0a46: 0x40410820, 0x0a47: 0x40411020,\n\t0x0a48: 0x40411220, 0x0a49: 0x40410020, 0x0a4a: 0x40410220,\n\t0x0a4f: 0x40411420,\n\t0x0a50: 0x40410a20, 0x0a53: 0x40410420,\n\t0x0a54: 0x40410c20, 0x0a55: 0x40411c20, 0x0a56: 0x40411e20, 0x0a57: 0x40412020,\n\t0x0a58: 0x40412220, 0x0a59: 0x40412420, 0x0a5a: 0x40412620, 0x0a5b: 0x40412820,\n\t0x0a5c: 0x40412a20, 0x0a5d: 0x40412c20, 0x0a5e: 0x40412e20, 0x0a5f: 0x40413020,\n\t0x0a60: 0x40413220, 0x0a61: 0x40413420, 0x0a62: 0x40413620, 0x0a63: 0x40413820,\n\t0x0a64: 0x40413a20, 0x0a65: 0x40413c20, 0x0a66: 0x40413e20, 0x0a67: 0x40414020,\n\t0x0a68: 0x40414220, 0x0a6a: 0x40414420, 0x0a6b: 0x40414620,\n\t0x0a6c: 0x40414820, 0x0a6d: 0x40414a20, 0x0a6e: 0x40414c20, 0x0a6f: 0x40414e20,\n\t0x0a70: 0x40415220, 0x0a72: 0x40415420, 0x0a73: 0xe000185a,\n\t0x0a75: 0x40415620, 0x0a76: 0xe000184b,\n\t0x0a78: 0x40411620, 0x0a79: 0x40411820,\n\t0x0a7c: 0xa070f102, 0x0a7e: 0x40415a20, 0x0a7f: 0x40415c20,\n\t// Block 0x2a, offset 0xa80\n\t0x0a80: 0x40415e20, 0x0a81: 0x40416020, 0x0a82: 0x40416220,\n\t0x0a87: 0x40416420,\n\t0x0a88: 0x40416620, 0x0a8b: 0x40416820,\n\t0x0a8c: 0x40416a20, 0x0a8d: 0x820920b6,\n\t0x0a91: 0x40411a20,\n\t0x0a99: 0xe000184e, 0x0a9a: 0xe0001851, 0x0a9b: 0xe0001854,\n\t0x0a9c: 0x40415820, 0x0a9e: 0xe0001857,\n\t0x0aa6: 0xe0000170, 0x0aa7: 0xe00001fe,\n\t0x0aa8: 0xe0000319, 0x0aa9: 0xe00003f3, 0x0aaa: 0xe00004ce, 0x0aab: 0xe0000598,\n\t0x0aac: 0xe0000663, 0x0aad: 0xe000070b, 0x0aae: 0xe00007b7, 0x0aaf: 0xe000085c,\n\t0x0ab0: 0xa000f502, 0x0ab1: 0xa000f602, 0x0ab2: 0x40410e20, 0x0ab3: 0x4040fe20,\n\t0x0ab4: 0x4040fc20, 0x0ab5: 0x40415020,\n\t// Block 0x2b, offset 0xac0\n\t0x0ac1: 0xa000f202, 0x0ac2: 0xa000f302, 0x0ac3: 0xa000f402,\n\t0x0ac5: 0x40417020, 0x0ac6: 0x40417220, 0x0ac7: 0x40417420,\n\t0x0ac8: 0x40417620, 0x0ac9: 0x40417820, 0x0aca: 0x40417a20, 0x0acb: 0x40417c20,\n\t0x0acc: 0x40418020, 0x0acd: 0x40418420, 0x0acf: 0x40418620,\n\t0x0ad0: 0x40418820, 0x0ad1: 0x40418a20, 0x0ad3: 0x40418c20,\n\t0x0ad4: 0x40418e20, 0x0ad5: 0x40419020, 0x0ad6: 0x40419220, 0x0ad7: 0x40419420,\n\t0x0ad8: 0x40419620, 0x0ad9: 0x40419820, 0x0ada: 0x40419a20, 0x0adb: 0x40419c20,\n\t0x0adc: 0x40419e20, 0x0add: 0x4041a020, 0x0ade: 0x4041a220, 0x0adf: 0x4041a420,\n\t0x0ae0: 0x4041a620, 0x0ae1: 0x4041a820, 0x0ae2: 0x4041aa20, 0x0ae3: 0x4041ac20,\n\t0x0ae4: 0x4041ae20, 0x0ae5: 0x4041b020, 0x0ae6: 0x4041b220, 0x0ae7: 0x4041b420,\n\t0x0ae8: 0x4041b620, 0x0aea: 0x4041b820, 0x0aeb: 0x4041ba20,\n\t0x0aec: 0x4041bc20, 0x0aed: 0x4041be20, 0x0aee: 0x4041c020, 0x0aef: 0x4041c220,\n\t0x0af0: 0x4041c420, 0x0af2: 0x4041c620, 0x0af3: 0x4041d220,\n\t0x0af5: 0x4041c820, 0x0af6: 0x4041ca20, 0x0af7: 0x4041cc20,\n\t0x0af8: 0x4041ce20, 0x0af9: 0x4041d020,\n\t0x0afc: 0xa070f102, 0x0afd: 0x4041d420, 0x0afe: 0x4041d620, 0x0aff: 0x4041d820,\n\t// Block 0x2c, offset 0xb00\n\t0x0b00: 0x4041da20, 0x0b01: 0x4041dc20, 0x0b02: 0x4041de20, 0x0b03: 0x4041e020,\n\t0x0b04: 0x4041e220, 0x0b05: 0x4041e820, 0x0b07: 0x4041ea20,\n\t0x0b08: 0x4041ec20, 0x0b09: 0x4041ee20, 0x0b0b: 0x4041f020,\n\t0x0b0c: 0x4041f220, 0x0b0d: 0x820920fa,\n\t0x0b10: 0x40416e20,\n\t0x0b20: 0x40417e20, 0x0b21: 0x40418220, 0x0b22: 0x4041e420, 0x0b23: 0x4041e620,\n\t0x0b26: 0xe0000173, 0x0b27: 0xe0000201,\n\t0x0b28: 0xe000031c, 0x0b29: 0xe00003f6, 0x0b2a: 0xe00004d1, 0x0b2b: 0xe000059b,\n\t0x0b2c: 0xe0000666, 0x0b2d: 0xe000070e, 0x0b2e: 0xe00007ba, 0x0b2f: 0xe000085f,\n\t0x0b30: 0x40057420, 0x0b31: 0x4027ee20,\n\t// Block 0x2d, offset 0xb40\n\t0x0b41: 0xa000f202, 0x0b42: 0xa000f302, 0x0b43: 0xa000f402,\n\t0x0b45: 0x4041f620, 0x0b46: 0x4041f820, 0x0b47: 0x4041fa20,\n\t0x0b48: 0x4041fc20, 0x0b49: 0x4041fe20, 0x0b4a: 0x40420020, 0x0b4b: 0x40420220,\n\t0x0b4c: 0x40420620, 0x0b4f: 0x40420a20,\n\t0x0b50: 0x40420c20, 0x0b53: 0x40420e20,\n\t0x0b54: 0x40421020, 0x0b55: 0x40421220, 0x0b56: 0x40421420, 0x0b57: 0x40421620,\n\t0x0b58: 0x40421820, 0x0b59: 0x40421a20, 0x0b5a: 0x40421c20, 0x0b5b: 0x40421e20,\n\t0x0b5c: 0x40422020, 0x0b5d: 0x40422220, 0x0b5e: 0x40422420, 0x0b5f: 0x40422620,\n\t0x0b60: 0x40422820, 0x0b61: 0x40422a20, 0x0b62: 0x40422c20, 0x0b63: 0x40422e20,\n\t0x0b64: 0x40423020, 0x0b65: 0x40423220, 0x0b66: 0x40423420, 0x0b67: 0x40423620,\n\t0x0b68: 0x40423820, 0x0b6a: 0x40423a20, 0x0b6b: 0x40423c20,\n\t0x0b6c: 0x40423e20, 0x0b6d: 0x40424020, 0x0b6e: 0x40424220, 0x0b6f: 0x40424420,\n\t0x0b70: 0x40424820, 0x0b72: 0x40424a20, 0x0b73: 0x40424c20,\n\t0x0b75: 0x40424e20, 0x0b76: 0x40425220, 0x0b77: 0x40425420,\n\t0x0b78: 0x40425620, 0x0b79: 0x40425820,\n\t0x0b7c: 0xa070f102, 0x0b7d: 0x40425a20, 0x0b7e: 0x40425c20, 0x0b7f: 0x40425e20,\n\t// Block 0x2e, offset 0xb80\n\t0x0b80: 0x40426020, 0x0b81: 0x40426220, 0x0b82: 0x40426420, 0x0b83: 0x40426620,\n\t0x0b84: 0x40426820, 0x0b87: 0xc05d01e1,\n\t0x0b88: 0x40427020, 0x0b8b: 0x40427220,\n\t0x0b8c: 0x40427420, 0x0b8d: 0x8209213b,\n\t0x0b96: 0x40427820, 0x0b97: 0x40427a20,\n\t0x0b9c: 0xe000185d, 0x0b9d: 0xe0001860, 0x0b9f: 0x40424620,\n\t0x0ba0: 0x40420420, 0x0ba1: 0x40420820, 0x0ba2: 0x40426a20, 0x0ba3: 0x40426c20,\n\t0x0ba6: 0xe0000176, 0x0ba7: 0xe0000204,\n\t0x0ba8: 0xe000031f, 0x0ba9: 0xe00003f9, 0x0baa: 0xe00004d4, 0x0bab: 0xe000059e,\n\t0x0bac: 0xe0000669, 0x0bad: 0xe0000711, 0x0bae: 0xe00007bd, 0x0baf: 0xe0000862,\n\t0x0bb0: 0x40073c20, 0x0bb1: 0x40425020, 0x0bb2: 0x40283c20, 0x0bb3: 0x40283e20,\n\t0x0bb4: 0x40284020, 0x0bb5: 0x40284220, 0x0bb6: 0x40284420, 0x0bb7: 0x40284620,\n\t// Block 0x2f, offset 0xbc0\n\t0x0bc2: 0xa000f302, 0x0bc3: 0x40429620,\n\t0x0bc5: 0x40427e20, 0x0bc6: 0x40428020, 0x0bc7: 0x40428220,\n\t0x0bc8: 0x40428420, 0x0bc9: 0x40428620, 0x0bca: 0x40428820,\n\t0x0bce: 0x40428a20, 0x0bcf: 0x40428c20,\n\t0x0bd0: 0x40428e20, 0x0bd2: 0xc0610231, 0x0bd3: 0x40429220,\n\t0x0bd4: 0x40429420, 0x0bd5: 0x40429820,\n\t0x0bd9: 0x40429a20, 0x0bda: 0x40429c20,\n\t0x0bdc: 0x4042bc20, 0x0bde: 0x40429e20, 0x0bdf: 0x4042a020,\n\t0x0be3: 0x4042a220,\n\t0x0be4: 0x4042a420,\n\t0x0be8: 0x4042a620, 0x0be9: 0x4042ba20, 0x0bea: 0x4042a820,\n\t0x0bee: 0x4042aa20, 0x0bef: 0x4042ac20,\n\t0x0bf0: 0x4042ae20, 0x0bf1: 0x4042b820, 0x0bf2: 0x4042b020, 0x0bf3: 0x4042b620,\n\t0x0bf4: 0x4042b420, 0x0bf5: 0x4042b220, 0x0bf6: 0x4042be20, 0x0bf7: 0x4042c020,\n\t0x0bf8: 0x4042c220, 0x0bf9: 0x4042c420,\n\t0x0bfe: 0x4042c620, 0x0bff: 0x4042c820,\n\t// Block 0x30, offset 0xc00\n\t0x0c00: 0x4042ca20, 0x0c01: 0x4042cc20, 0x0c02: 0x4042ce20,\n\t0x0c06: 0xc0630261, 0x0c07: 0xc06602b1,\n\t0x0c08: 0x4042d420, 0x0c0a: 0x4042d620, 0x0c0b: 0x4042d820,\n\t0x0c0c: 0x4042da20, 0x0c0d: 0x8209216e,\n\t0x0c10: 0x40427c20,\n\t0x0c17: 0x4042de20,\n\t0x0c26: 0xe0000179, 0x0c27: 0xe0000207,\n\t0x0c28: 0xe0000322, 0x0c29: 0xe00003fc, 0x0c2a: 0xe00004d7, 0x0c2b: 0xe00005a1,\n\t0x0c2c: 0xe000066c, 0x0c2d: 0xe0000714, 0x0c2e: 0xe00007c0, 0x0c2f: 0xe0000865,\n\t0x0c30: 0x40285420, 0x0c31: 0x40285620, 0x0c32: 0x40285820, 0x0c33: 0x40073e20,\n\t0x0c34: 0x40074020, 0x0c35: 0x40074220, 0x0c36: 0x40074420, 0x0c37: 0x40074620,\n\t0x0c38: 0x40074820, 0x0c39: 0x4027f220, 0x0c3a: 0x40074a20,\n\t// Block 0x31, offset 0xc40\n\t0x0c41: 0xa000f202, 0x0c42: 0xa000f302, 0x0c43: 0xa000f402,\n\t0x0c45: 0x4042e020, 0x0c46: 0x4042e220, 0x0c47: 0x4042e420,\n\t0x0c48: 0x4042e620, 0x0c49: 0x4042e820, 0x0c4a: 0x4042ea20, 0x0c4b: 0x4042ec20,\n\t0x0c4c: 0x4042f020, 0x0c4e: 0x4042f420, 0x0c4f: 0x4042f620,\n\t0x0c50: 0x4042f820, 0x0c52: 0x4042fa20, 0x0c53: 0x4042fc20,\n\t0x0c54: 0x4042fe20, 0x0c55: 0x40430020, 0x0c56: 0x40430220, 0x0c57: 0x40430420,\n\t0x0c58: 0x40430620, 0x0c59: 0x40430820, 0x0c5a: 0x40430a20, 0x0c5b: 0x40430e20,\n\t0x0c5c: 0x40431020, 0x0c5d: 0x40431420, 0x0c5e: 0x40431620, 0x0c5f: 0x40431820,\n\t0x0c60: 0x40431a20, 0x0c61: 0x40431c20, 0x0c62: 0x40431e20, 0x0c63: 0x40432020,\n\t0x0c64: 0x40432220, 0x0c65: 0x40432420, 0x0c66: 0x40432620, 0x0c67: 0x40432820,\n\t0x0c68: 0x40432a20, 0x0c6a: 0x40432c20, 0x0c6b: 0x40432e20,\n\t0x0c6c: 0x40433020, 0x0c6d: 0x40433220, 0x0c6e: 0x40433420, 0x0c6f: 0x40433620,\n\t0x0c70: 0x40433820, 0x0c71: 0x40433a20, 0x0c72: 0x40433c20, 0x0c73: 0x40434820,\n\t0x0c75: 0x40433e20, 0x0c76: 0x40434020, 0x0c77: 0x40434220,\n\t0x0c78: 0x40434420, 0x0c79: 0x40434620,\n\t0x0c7d: 0x40434a20, 0x0c7e: 0x40434c20, 0x0c7f: 0x40434e20,\n\t// Block 0x32, offset 0xc80\n\t0x0c80: 0x40435020, 0x0c81: 0x40435220, 0x0c82: 0x40435420, 0x0c83: 0x40435620,\n\t0x0c84: 0x40435820, 0x0c86: 0xc06802e1, 0x0c87: 0x40436020,\n\t0x0c88: 0x40436220, 0x0c8a: 0x40436420, 0x0c8b: 0x40436620,\n\t0x0c8c: 0x40436820, 0x0c8d: 0x820921b5,\n\t0x0c95: 0x825421b6, 0x0c96: 0x825b21b7,\n\t0x0c98: 0x40430c20, 0x0c99: 0x40431220,\n\t0x0ca0: 0x4042ee20, 0x0ca1: 0x4042f220, 0x0ca2: 0x40435a20, 0x0ca3: 0x40435c20,\n\t0x0ca6: 0xe000017c, 0x0ca7: 0xe000020a,\n\t0x0ca8: 0xe0000325, 0x0ca9: 0xe00003ff, 0x0caa: 0xe00004da, 0x0cab: 0xe00005a4,\n\t0x0cac: 0xe000066f, 0x0cad: 0xe0000717, 0x0cae: 0xe00007c3, 0x0caf: 0xe0000868,\n\t0x0cb8: 0xe000017f, 0x0cb9: 0xe000020d, 0x0cba: 0xe0000328, 0x0cbb: 0xe0000402,\n\t0x0cbc: 0xe0000210, 0x0cbd: 0xe000032b, 0x0cbe: 0xe0000405, 0x0cbf: 0x40074c20,\n\t// Block 0x33, offset 0xcc0\n\t0x0cc2: 0xa000f302, 0x0cc3: 0xa000f402,\n\t0x0cc5: 0x40437020, 0x0cc6: 0x40437220, 0x0cc7: 0x40437420,\n\t0x0cc8: 0x40437620, 0x0cc9: 0x40437820, 0x0cca: 0x40437a20, 0x0ccb: 0x40437c20,\n\t0x0ccc: 0x40438020, 0x0cce: 0x40438420, 0x0ccf: 0x40438620,\n\t0x0cd0: 0x40438820, 0x0cd2: 0x40438a20, 0x0cd3: 0x40438c20,\n\t0x0cd4: 0x40438e20, 0x0cd5: 0x40439020, 0x0cd6: 0x40439220, 0x0cd7: 0x40439420,\n\t0x0cd8: 0x40439620, 0x0cd9: 0x40439820, 0x0cda: 0x40439a20, 0x0cdb: 0x40439c20,\n\t0x0cdc: 0x40439e20, 0x0cdd: 0x4043a020, 0x0cde: 0x4043a220, 0x0cdf: 0x4043a420,\n\t0x0ce0: 0x4043a620, 0x0ce1: 0x4043a820, 0x0ce2: 0x4043aa20, 0x0ce3: 0x4043ac20,\n\t0x0ce4: 0x4043ae20, 0x0ce5: 0x4043b020, 0x0ce6: 0x4043b220, 0x0ce7: 0x4043b420,\n\t0x0ce8: 0x4043b620, 0x0cea: 0x4043b820, 0x0ceb: 0x4043ba20,\n\t0x0cec: 0x4043bc20, 0x0ced: 0x4043be20, 0x0cee: 0x4043c020, 0x0cef: 0x4043c220,\n\t0x0cf0: 0x4043c420, 0x0cf1: 0x4043c620, 0x0cf2: 0x4043c820, 0x0cf3: 0x4043d420,\n\t0x0cf5: 0x4043ca20, 0x0cf6: 0x4043cc20, 0x0cf7: 0x4043ce20,\n\t0x0cf8: 0x4043d020, 0x0cf9: 0x4043d220,\n\t0x0cfc: 0xa070f102, 0x0cfd: 0x4043d820, 0x0cfe: 0x4043de20, 0x0cff: 0xc06a0311,\n\t// Block 0x34, offset 0xd00\n\t0x0d00: 0x4043e220, 0x0d01: 0x4043e420, 0x0d02: 0x4043e620, 0x0d03: 0x4043e820,\n\t0x0d04: 0x4043ea20, 0x0d06: 0xc06c0341, 0x0d07: 0x4043f220,\n\t0x0d08: 0x4043f420, 0x0d0a: 0xc0710311, 0x0d0b: 0x4043f820,\n\t0x0d0c: 0x4043fa20, 0x0d0d: 0x820921fe,\n\t0x0d15: 0x4043fe20, 0x0d16: 0x40440020,\n\t0x0d1e: 0x4043d620,\n\t0x0d20: 0x40437e20, 0x0d21: 0x40438220, 0x0d22: 0x4043ec20, 0x0d23: 0x4043ee20,\n\t0x0d26: 0xe0000182, 0x0d27: 0xe0000213,\n\t0x0d28: 0xe000032e, 0x0d29: 0xe0000408, 0x0d2a: 0xe00004dd, 0x0d2b: 0xe00005a7,\n\t0x0d2c: 0xe0000672, 0x0d2d: 0xe000071a, 0x0d2e: 0xe00007c6, 0x0d2f: 0xe000086b,\n\t0x0d31: 0x4043da20, 0x0d32: 0x4043dc20,\n\t// Block 0x35, offset 0xd40\n\t0x0d42: 0xa000f302, 0x0d43: 0xa000f402,\n\t0x0d45: 0x40440220, 0x0d46: 0x40440420, 0x0d47: 0x40440620,\n\t0x0d48: 0x40440820, 0x0d49: 0x40440a20, 0x0d4a: 0x40440c20, 0x0d4b: 0x40440e20,\n\t0x0d4c: 0x40441220, 0x0d4e: 0x40441620, 0x0d4f: 0x40441820,\n\t0x0d50: 0x40441a20, 0x0d52: 0x40441c20, 0x0d53: 0x40441e20,\n\t0x0d54: 0x40442020, 0x0d55: 0x40442220, 0x0d56: 0x40442420, 0x0d57: 0x40442620,\n\t0x0d58: 0x40442820, 0x0d59: 0x40442a20, 0x0d5a: 0x40442c20, 0x0d5b: 0x40442e20,\n\t0x0d5c: 0x40443020, 0x0d5d: 0x40443220, 0x0d5e: 0x40443420, 0x0d5f: 0x40443620,\n\t0x0d60: 0x40443820, 0x0d61: 0x40443a20, 0x0d62: 0x40443c20, 0x0d63: 0x40443e20,\n\t0x0d64: 0x40444020, 0x0d65: 0x40444220, 0x0d66: 0x40444420, 0x0d67: 0x40444620,\n\t0x0d68: 0x40444820, 0x0d69: 0x40444a20, 0x0d6a: 0x40444c20, 0x0d6b: 0x40444e20,\n\t0x0d6c: 0x40445020, 0x0d6d: 0x40445220, 0x0d6e: 0x40445420, 0x0d6f: 0x40445620,\n\t0x0d70: 0x40445820, 0x0d71: 0x40446a20, 0x0d72: 0x40445a20, 0x0d73: 0x40446620,\n\t0x0d74: 0x40446820, 0x0d75: 0x40445c20, 0x0d76: 0x40445e20, 0x0d77: 0x40446020,\n\t0x0d78: 0x40446220, 0x0d79: 0x40446420, 0x0d7a: 0x40446c20,\n\t0x0d7d: 0x40446e20, 0x0d7e: 0x40447020, 0x0d7f: 0x40447220,\n\t// Block 0x36, offset 0xd80\n\t0x0d80: 0x40447420, 0x0d81: 0x40447620, 0x0d82: 0x40447820, 0x0d83: 0x40447a20,\n\t0x0d84: 0x40447c20, 0x0d86: 0xc07303b1, 0x0d87: 0xc0760401,\n\t0x0d88: 0x40448620, 0x0d8a: 0x40448820, 0x0d8b: 0x40448a20,\n\t0x0d8c: 0x40448c20, 0x0d8d: 0x82092248, 0x0d8e: 0xe000186c,\n\t0x0d97: 0x40448e20,\n\t0x0da0: 0x40441020, 0x0da1: 0x40441420, 0x0da2: 0x40447e20, 0x0da3: 0x40448020,\n\t0x0da6: 0xe0000185, 0x0da7: 0xe0000216,\n\t0x0da8: 0xe0000331, 0x0da9: 0xe000040b, 0x0daa: 0xe00004e0, 0x0dab: 0xe00005aa,\n\t0x0dac: 0xe0000675, 0x0dad: 0xe000071d, 0x0dae: 0xe00007c9, 0x0daf: 0xe000086e,\n\t0x0db0: 0x40285a20, 0x0db1: 0x40285c20, 0x0db2: 0x40285e20, 0x0db3: 0x40286020,\n\t0x0db4: 0x40286220, 0x0db5: 0x40286420,\n\t0x0db9: 0x40074e20, 0x0dba: 0xe0001866, 0x0dbb: 0xe0001869,\n\t0x0dbc: 0xe000186f, 0x0dbd: 0xe0001872, 0x0dbe: 0xe0001875, 0x0dbf: 0xe0001863,\n\t// Block 0x37, offset 0xdc0\n\t0x0dc2: 0xa000f302, 0x0dc3: 0xa000f402,\n\t0x0dc5: 0x40449220, 0x0dc6: 0x40449420, 0x0dc7: 0x40449620,\n\t0x0dc8: 0x40449820, 0x0dc9: 0x40449a20, 0x0dca: 0x40449c20, 0x0dcb: 0x40449e20,\n\t0x0dcc: 0x4044a020, 0x0dcd: 0x4044a220, 0x0dce: 0x4044a420, 0x0dcf: 0x4044a620,\n\t0x0dd0: 0x4044a820, 0x0dd1: 0x4044aa20, 0x0dd2: 0x4044ac20, 0x0dd3: 0x4044ae20,\n\t0x0dd4: 0x4044b020, 0x0dd5: 0x4044b220, 0x0dd6: 0x4044b420,\n\t0x0dda: 0x4044b620, 0x0ddb: 0x4044b820,\n\t0x0ddc: 0x4044ba20, 0x0ddd: 0x4044bc20, 0x0dde: 0x4044be20, 0x0ddf: 0x4044c020,\n\t0x0de0: 0x4044c220, 0x0de1: 0x4044c420, 0x0de2: 0x4044c620, 0x0de3: 0x4044c820,\n\t0x0de4: 0x4044ca20, 0x0de5: 0x4044cc20, 0x0de6: 0x4044ce20, 0x0de7: 0x4044d020,\n\t0x0de8: 0x4044d220, 0x0de9: 0x4044d420, 0x0dea: 0x4044d620, 0x0deb: 0x4044d820,\n\t0x0dec: 0x4044da20, 0x0ded: 0x4044dc20, 0x0dee: 0x4044de20, 0x0def: 0x4044e020,\n\t0x0df0: 0x4044e220, 0x0df1: 0x4044e420, 0x0df3: 0x4044e620,\n\t0x0df4: 0x4044e820, 0x0df5: 0x4044ea20, 0x0df6: 0x4044ec20, 0x0df7: 0x4044ee20,\n\t0x0df8: 0x4044f020, 0x0df9: 0x4044f220, 0x0dfa: 0x4044f420, 0x0dfb: 0x4044f620,\n\t0x0dfd: 0x4044f820,\n\t// Block 0x38, offset 0xe00\n\t0x0e00: 0x4044fa20, 0x0e01: 0x4044fc20, 0x0e02: 0x4044fe20, 0x0e03: 0x40450020,\n\t0x0e04: 0x40450220, 0x0e05: 0x40450420, 0x0e06: 0x40450620,\n\t0x0e0a: 0x82092295,\n\t0x0e0f: 0x40450820,\n\t0x0e10: 0x40450a20, 0x0e11: 0x40450c20, 0x0e12: 0x40450e20, 0x0e13: 0x40451020,\n\t0x0e14: 0x40451220, 0x0e16: 0x40451420,\n\t0x0e18: 0x40451620, 0x0e19: 0xc0780431, 0x0e1a: 0x40452020, 0x0e1b: 0x40452220,\n\t0x0e1c: 0xc07d04b1, 0x0e1d: 0x40452620, 0x0e1e: 0x40452820, 0x0e1f: 0x40451a20,\n\t0x0e32: 0x40451820, 0x0e33: 0x40451c20,\n\t0x0e34: 0x40057620,\n\t// Block 0x39, offset 0xe40\n\t0x0e41: 0x40491020, 0x0e42: 0x40491220, 0x0e43: 0x40491420,\n\t0x0e44: 0x40491620, 0x0e45: 0x40491820, 0x0e46: 0x40491a20, 0x0e47: 0x40491c20,\n\t0x0e48: 0x40491e20, 0x0e49: 0x40492020, 0x0e4a: 0x40492220, 0x0e4b: 0x40492420,\n\t0x0e4c: 0x40492620, 0x0e4d: 0x40492820, 0x0e4e: 0x40492a20, 0x0e4f: 0x40492c20,\n\t0x0e50: 0x40492e20, 0x0e51: 0x40493020, 0x0e52: 0x40493220, 0x0e53: 0x40493420,\n\t0x0e54: 0x40493620, 0x0e55: 0x40493820, 0x0e56: 0x40493a20, 0x0e57: 0x40493c20,\n\t0x0e58: 0x40493e20, 0x0e59: 0x40494020, 0x0e5a: 0x40494220, 0x0e5b: 0x40494420,\n\t0x0e5c: 0x40494620, 0x0e5d: 0x40494820, 0x0e5e: 0x40494a20, 0x0e5f: 0x40494c20,\n\t0x0e60: 0x40494e20, 0x0e61: 0x40495020, 0x0e62: 0x40495220, 0x0e63: 0x40495420,\n\t0x0e64: 0x40495620, 0x0e65: 0x40495820, 0x0e66: 0x40495a20, 0x0e67: 0x40495c20,\n\t0x0e68: 0x40495e20, 0x0e69: 0x40496020, 0x0e6a: 0x40496220, 0x0e6b: 0x40496420,\n\t0x0e6c: 0x40496620, 0x0e6d: 0x40496820, 0x0e6e: 0x40496a20, 0x0e6f: 0x40496c20,\n\t0x0e70: 0x40496e20, 0x0e71: 0x40497020, 0x0e72: 0x40497220, 0x0e73: 0x40497420,\n\t0x0e74: 0x40497620, 0x0e75: 0x40497820, 0x0e76: 0x40497a20, 0x0e77: 0x40497c20,\n\t0x0e78: 0x826724bf, 0x0e79: 0x826724c0, 0x0e7a: 0x820924c1,\n\t0x0e7f: 0x4027f420,\n\t// Block 0x3a, offset 0xe80\n\t0x0e80: 0xc07f04e1, 0x0e81: 0xc0ae04e1, 0x0e82: 0xc0dd04e1, 0x0e83: 0xc10c04e1,\n\t0x0e84: 0xc13b04e1, 0x0e85: 0x40498e20, 0x0e86: 0x4027b820, 0x0e87: 0xa000ff02,\n\t0x0e88: 0xa6b10002, 0x0e89: 0xa6b10102, 0x0e8a: 0xa6b10202, 0x0e8b: 0xa6b10302,\n\t0x0e8c: 0xa0010402, 0x0e8d: 0xc16a0511, 0x0e8e: 0xa000fe02, 0x0e8f: 0x40057820,\n\t0x0e90: 0xe000019a, 0x0e91: 0xe000022e, 0x0e92: 0xe0000346, 0x0e93: 0xe0000420,\n\t0x0e94: 0xe00004f5, 0x0e95: 0xe00005bf, 0x0e96: 0xe000068a, 0x0e97: 0xe0000732,\n\t0x0e98: 0xe00007de, 0x0e99: 0xe0000883, 0x0e9a: 0x40057a20, 0x0e9b: 0x40057c20,\n\t// Block 0x3b, offset 0xec0\n\t0x0ec1: 0x40499220, 0x0ec2: 0x40499420,\n\t0x0ec4: 0x40499620, 0x0ec7: 0x40499820,\n\t0x0ec8: 0x40499a20, 0x0eca: 0x40499e20,\n\t0x0ecd: 0x4049a220,\n\t0x0ed4: 0x4049a420, 0x0ed5: 0x4049a620, 0x0ed6: 0x4049a820, 0x0ed7: 0x4049aa20,\n\t0x0ed9: 0x4049ac20, 0x0eda: 0x4049ae20, 0x0edb: 0x4049b020,\n\t0x0edc: 0x4049b220, 0x0edd: 0x4049b420, 0x0ede: 0x4049b620, 0x0edf: 0x4049b820,\n\t0x0ee1: 0x4049ba20, 0x0ee2: 0x4049bc20, 0x0ee3: 0x4049be20,\n\t0x0ee5: 0x4049c020, 0x0ee7: 0x4049c220,\n\t0x0eea: 0x40499c20, 0x0eeb: 0x4049c420,\n\t0x0eed: 0x4049c620, 0x0eee: 0x4049c820, 0x0eef: 0x4049ca20,\n\t0x0ef0: 0x4049cc20, 0x0ef1: 0x4049ce20, 0x0ef2: 0x4049d020, 0x0ef3: 0x4049d220,\n\t0x0ef4: 0x4049d420, 0x0ef5: 0x4049d620, 0x0ef6: 0x4049d820, 0x0ef7: 0x4049da20,\n\t0x0ef8: 0x827624ee, 0x0ef9: 0x827624ef, 0x0efb: 0x4049e020,\n\t0x0efc: 0x4049e220, 0x0efd: 0x4049e420,\n\t// Block 0x3c, offset 0xf00\n\t0x0f00: 0xc16c0541, 0x0f01: 0xc18c0541, 0x0f02: 0xc1ac0541, 0x0f03: 0xc1cc0541,\n\t0x0f04: 0xc1ec0541, 0x0f06: 0x4027ba20,\n\t0x0f08: 0xa7a10602, 0x0f09: 0xa7a10702, 0x0f0a: 0xa7a10802, 0x0f0b: 0xa7a10902,\n\t0x0f0c: 0xa0010a02, 0x0f0d: 0xc20c0641,\n\t0x0f10: 0xe000019d, 0x0f11: 0xe0000231, 0x0f12: 0xe0000349, 0x0f13: 0xe0000423,\n\t0x0f14: 0xe00004f8, 0x0f15: 0xe00005c2, 0x0f16: 0xe000068d, 0x0f17: 0xe0000735,\n\t0x0f18: 0xe00007e1, 0x0f19: 0xe0000886,\n\t0x0f1c: 0xf0000404, 0x0f1d: 0xf0000404, 0x0f1e: 0x40499020, 0x0f1f: 0x4049a020,\n\t// Block 0x3d, offset 0xf40\n\t0x0f40: 0xe000201a, 0x0f41: 0x40075e20, 0x0f42: 0x40076020, 0x0f43: 0x40076220,\n\t0x0f44: 0x40058220, 0x0f45: 0x40058420, 0x0f46: 0x40058620, 0x0f47: 0x40058820,\n\t0x0f48: 0x40058a20, 0x0f49: 0x40058c20, 0x0f4a: 0x40058e20, 0x0f4b: 0x40059420,\n\t0x0f4c: 0x0005949b, 0x0f4d: 0x40059620, 0x0f4e: 0x40059820, 0x0f4f: 0x40059a20,\n\t0x0f50: 0x40059c20, 0x0f51: 0x40059e20, 0x0f52: 0x4005a020, 0x0f53: 0x40076420,\n\t0x0f54: 0x4002aa20, 0x0f55: 0x40076620, 0x0f56: 0x40076820, 0x0f57: 0x40076a20,\n\t0x0f58: 0xadc00000, 0x0f59: 0xadc00000, 0x0f5a: 0x40076c20, 0x0f5b: 0x40076e20,\n\t0x0f5c: 0x40077020, 0x0f5d: 0x40077220, 0x0f5e: 0x40077420, 0x0f5f: 0x40077620,\n\t0x0f60: 0xe00001a0, 0x0f61: 0xe0000234, 0x0f62: 0xe000034c, 0x0f63: 0xe0000426,\n\t0x0f64: 0xe00004fb, 0x0f65: 0xe00005c5, 0x0f66: 0xe0000690, 0x0f67: 0xe0000738,\n\t0x0f68: 0xe00007e4, 0x0f69: 0xe0000889, 0x0f6a: 0xe0000237, 0x0f6b: 0xe000034f,\n\t0x0f6c: 0xe0000429, 0x0f6d: 0xe00004fe, 0x0f6e: 0xe00005c8, 0x0f6f: 0xe0000693,\n\t0x0f70: 0xe000073b, 0x0f71: 0xe00007e7, 0x0f72: 0xe000088c, 0x0f73: 0xe00001a3,\n\t0x0f74: 0x40077820, 0x0f75: 0xadc00000, 0x0f76: 0x40077a20, 0x0f77: 0xadc00000,\n\t0x0f78: 0x40077c20, 0x0f79: 0xad810e02, 0x0f7a: 0x40040020, 0x0f7b: 0x40040220,\n\t0x0f7c: 0x40040420, 0x0f7d: 0x40040620, 0x0f7e: 0xa0000000, 0x0f7f: 0xa0000000,\n\t// Block 0x3e, offset 0xf80\n\t0x0f80: 0x404a7620, 0x0f81: 0x404a7c20, 0x0f82: 0x404a8020, 0x0f83: 0xe0001fe4,\n\t0x0f84: 0x404a8420, 0x0f85: 0x404a8820, 0x0f86: 0x404a8c20, 0x0f87: 0x404a9020,\n\t0x0f89: 0x404a9420, 0x0f8a: 0x404a9820, 0x0f8b: 0x404a9c20,\n\t0x0f8c: 0x404aa020, 0x0f8d: 0xe0001fea, 0x0f8e: 0x404aa420, 0x0f8f: 0x404aa820,\n\t0x0f90: 0x404aac20, 0x0f91: 0x404ab020, 0x0f92: 0xe0001ff0, 0x0f93: 0x404ab420,\n\t0x0f94: 0x404ab820, 0x0f95: 0x404abc20, 0x0f96: 0x404ac020, 0x0f97: 0xe0001ff6,\n\t0x0f98: 0x404ac420, 0x0f99: 0x404ac820, 0x0f9a: 0x404acc20, 0x0f9b: 0x404ad020,\n\t0x0f9c: 0xe0001ffc, 0x0f9d: 0x404ad420, 0x0f9e: 0x404ad820, 0x0f9f: 0x404adc20,\n\t0x0fa0: 0x404ae020, 0x0fa1: 0x404ae420, 0x0fa2: 0x404ae820, 0x0fa3: 0x404aee20,\n\t0x0fa4: 0x404af220, 0x0fa5: 0x404af620, 0x0fa6: 0x404afa20, 0x0fa7: 0x404afe20,\n\t0x0fa8: 0x404b0220, 0x0fa9: 0xe0001fde, 0x0faa: 0xe0002008, 0x0fab: 0x404a7a20,\n\t0x0fac: 0x404aec20,\n\t0x0fb1: 0xc30f0751, 0x0fb2: 0x8282258c, 0x0fb3: 0x8281258d,\n\t0x0fb4: 0x82842590, 0x0fb5: 0x82812591, 0x0fb6: 0x404b2420, 0x0fb7: 0x404b2620,\n\t0x0fb8: 0x404b2820, 0x0fb9: 0x404b2a20, 0x0fba: 0x82822596, 0x0fbb: 0x82822597,\n\t0x0fbc: 0x82822598, 0x0fbd: 0x82822599, 0x0fbe: 0xa000f302, 0x0fbf: 0xa000f402,\n\t// Block 0x3f, offset 0xfc0\n\t0x0fc0: 0x8282258e, 0x0fc1: 0x8281258f, 0x0fc2: 0xae600000, 0x0fc3: 0xae600000,\n\t0x0fc4: 0x8209259a, 0x0fc5: 0x4005a220, 0x0fc6: 0xae600000, 0x0fc7: 0xae600000,\n\t0x0fc8: 0x404b0620, 0x0fc9: 0x404b0a20, 0x0fca: 0x404b1220, 0x0fcb: 0x404b1420,\n\t0x0fcc: 0x404b0e20, 0x0fcd: 0x404b0820, 0x0fce: 0x404b0c20, 0x0fcf: 0x404b1020,\n\t0x0fd0: 0x404a7820, 0x0fd1: 0x404a7e20, 0x0fd2: 0x404a8220, 0x0fd3: 0xe0001fe7,\n\t0x0fd4: 0x404a8620, 0x0fd5: 0x404a8a20, 0x0fd6: 0x404a8e20, 0x0fd7: 0x404a9220,\n\t0x0fd9: 0x404a9620, 0x0fda: 0x404a9a20, 0x0fdb: 0x404a9e20,\n\t0x0fdc: 0x404aa220, 0x0fdd: 0xe0001fed, 0x0fde: 0x404aa620, 0x0fdf: 0x404aaa20,\n\t0x0fe0: 0x404aae20, 0x0fe1: 0x404ab220, 0x0fe2: 0xe0001ff3, 0x0fe3: 0x404ab620,\n\t0x0fe4: 0x404aba20, 0x0fe5: 0x404abe20, 0x0fe6: 0x404ac220, 0x0fe7: 0xe0001ff9,\n\t0x0fe8: 0x404ac620, 0x0fe9: 0x404aca20, 0x0fea: 0x404ace20, 0x0feb: 0x404ad220,\n\t0x0fec: 0xe0001fff, 0x0fed: 0x404ad620, 0x0fee: 0x404ada20, 0x0fef: 0x404ade20,\n\t0x0ff0: 0x404ae220, 0x0ff1: 0x404ae620, 0x0ff2: 0xc30306a1, 0x0ff3: 0xc30906a1,\n\t0x0ff4: 0x404af420, 0x0ff5: 0x404af820, 0x0ff6: 0x404afc20, 0x0ff7: 0x404b0020,\n\t0x0ff8: 0x404b0420, 0x0ff9: 0xe0001fe1, 0x0ffa: 0xe0002002, 0x0ffb: 0xe0002005,\n\t0x0ffc: 0xe000200b, 0x0ffe: 0x40077e20, 0x0fff: 0x40078020,\n\t// Block 0x40, offset 0x1000\n\t0x1000: 0x40078220, 0x1001: 0x40078420, 0x1002: 0x40078620, 0x1003: 0x40078820,\n\t0x1004: 0x40078a20, 0x1005: 0x40078c20, 0x1006: 0xadc00000, 0x1007: 0x40078e20,\n\t0x1008: 0x40079020, 0x1009: 0x40079220, 0x100a: 0x40079420, 0x100b: 0x40079620,\n\t0x100c: 0x40079820, 0x100e: 0x40079a20, 0x100f: 0x40079c20,\n\t0x1010: 0x40059020, 0x1011: 0x40059220, 0x1012: 0x4005a420, 0x1013: 0x4005a620,\n\t0x1014: 0x4005a820, 0x1015: 0x40079e20, 0x1016: 0x4007a020, 0x1017: 0x4007a220,\n\t0x1018: 0x4007a420, 0x1019: 0x4005aa20, 0x101a: 0x4005ac20,\n\t// Block 0x41, offset 0x1040\n\t0x1040: 0x404e1420, 0x1041: 0x404e1820, 0x1042: 0x404e1c20, 0x1043: 0x404e2220,\n\t0x1044: 0x404e2420, 0x1045: 0x404e2820, 0x1046: 0x404e2e20, 0x1047: 0x404e3220,\n\t0x1048: 0x404e3a20, 0x1049: 0x404e4220, 0x104a: 0x404e4820, 0x104b: 0x404e4a20,\n\t0x104c: 0x404e4e20, 0x104d: 0x404e5220, 0x104e: 0x404e5620, 0x104f: 0x404e5a20,\n\t0x1050: 0x404e5e20, 0x1051: 0x404e6020, 0x1052: 0x404e6220, 0x1053: 0x404e6620,\n\t0x1054: 0x404e6a20, 0x1055: 0x404e7220, 0x1056: 0x404e7420, 0x1057: 0x404e7e20,\n\t0x1058: 0x404e8220, 0x1059: 0x404e8420, 0x105a: 0x404e8820, 0x105b: 0x404e8c20,\n\t0x105c: 0x404e9420, 0x105d: 0x404e9820, 0x105e: 0x404ea620, 0x105f: 0x404eaa20,\n\t0x1060: 0x404eb620, 0x1061: 0x404ec220, 0x1062: 0x404ec420, 0x1063: 0x404ec620,\n\t0x1064: 0x404ec820, 0x1065: 0xc31307b1, 0x1066: 0x404ecc20, 0x1067: 0x404ed620,\n\t0x1068: 0x404ed820, 0x1069: 0x404eda20, 0x106a: 0x404edc20, 0x106b: 0x004ede84,\n\t0x106c: 0x404ede20, 0x106d: 0x404ee620, 0x106e: 0x404eea20, 0x106f: 0x404eee20,\n\t0x1070: 0x404ef420, 0x1071: 0x404efe20, 0x1072: 0x404f0620, 0x1073: 0x404eec20,\n\t0x1074: 0x404f0a20, 0x1075: 0x404f0220, 0x1076: 0xa000f302, 0x1077: 0xa0711202,\n\t0x1078: 0xa000f402, 0x1079: 0x8209278a, 0x107a: 0x8209278b, 0x107b: 0x404e8a20,\n\t0x107c: 0x404e9220, 0x107d: 0x404e9a20, 0x107e: 0x404eb020, 0x107f: 0xe000201e,\n\t// Block 0x42, offset 0x1080\n\t0x1080: 0xe00001ac, 0x1081: 0xe0000240, 0x1082: 0xe0000358, 0x1083: 0xe0000432,\n\t0x1084: 0xe0000507, 0x1085: 0xe00005d1, 0x1086: 0xe000069c, 0x1087: 0xe0000744,\n\t0x1088: 0xe00007f0, 0x1089: 0xe0000895, 0x108a: 0x40032220, 0x108b: 0x40032420,\n\t0x108c: 0x4005b420, 0x108d: 0x4005b620, 0x108e: 0x4005b820, 0x108f: 0x4005ba20,\n\t0x1090: 0x404ea020, 0x1091: 0x404ea220, 0x1092: 0x404ece20, 0x1093: 0x404ed020,\n\t0x1094: 0x404ed220, 0x1095: 0x404ed420, 0x1096: 0x404ef620, 0x1097: 0x404ef820,\n\t0x1098: 0x404efa20, 0x1099: 0x404efc20, 0x109a: 0x404e2620, 0x109b: 0x404e3c20,\n\t0x109c: 0x404eb820, 0x109d: 0x404eba20, 0x109e: 0x404e7020, 0x109f: 0x404e8620,\n\t0x10a0: 0x404e9620, 0x10a1: 0x404e4020, 0x10a2: 0x404f0c20, 0x10a3: 0x404f1820,\n\t0x10a4: 0x404f1a20, 0x10a5: 0x404ea420, 0x10a6: 0x404ec020, 0x10a7: 0x404f0e20,\n\t0x10a8: 0x404f1020, 0x10a9: 0x404f1c20, 0x10aa: 0x404f1e20, 0x10ab: 0x404f2020,\n\t0x10ac: 0x404f2220, 0x10ad: 0x404f2420, 0x10ae: 0x404e5c20, 0x10af: 0x404ebc20,\n\t0x10b0: 0x404ebe20, 0x10b1: 0x404ee820, 0x10b2: 0x404ee220, 0x10b3: 0x404ef020,\n\t0x10b4: 0x404ef220, 0x10b5: 0x404e1620, 0x10b6: 0x404e1a20, 0x10b7: 0x404e1e20,\n\t0x10b8: 0x404e2a20, 0x10b9: 0x404e3620, 0x10ba: 0x404e4420, 0x10bb: 0x404e6420,\n\t0x10bc: 0x404e6c20, 0x10bd: 0x404e7620, 0x10be: 0x404e7820, 0x10bf: 0x404e8020,\n\t// Block 0x43, offset 0x10c0\n\t0x10c0: 0x404e9e20, 0x10c1: 0x404eac20, 0x10c2: 0x404e9c20, 0x10c3: 0x404ee020,\n\t0x10c4: 0x404f0020, 0x10c5: 0x404f0420, 0x10c6: 0x404f1220, 0x10c7: 0x404f2620,\n\t0x10c8: 0x404f2a20, 0x10c9: 0x404f2e20, 0x10ca: 0x404f3020, 0x10cb: 0x404f2820,\n\t0x10cc: 0x404f2c20, 0x10cd: 0xadc11302, 0x10ce: 0x404e7c20, 0x10cf: 0x404f3220,\n\t0x10d0: 0xe00001af, 0x10d1: 0xe0000243, 0x10d2: 0xe000035b, 0x10d3: 0xe0000435,\n\t0x10d4: 0xe000050a, 0x10d5: 0xe00005d4, 0x10d6: 0xe000069f, 0x10d7: 0xe0000747,\n\t0x10d8: 0xe00007f3, 0x10d9: 0xe0000898, 0x10da: 0x404f3420, 0x10db: 0x404f3620,\n\t0x10dc: 0x404ee420, 0x10dd: 0x404f0820, 0x10de: 0x4007a820, 0x10df: 0x4007aa20,\n\t0x10e0: 0x00379888, 0x10e1: 0x00379c88, 0x10e2: 0x0037a088, 0x10e3: 0x0037a488,\n\t0x10e4: 0x0037a888, 0x10e5: 0x0037ac88, 0x10e6: 0x0037b088, 0x10e7: 0x0037b888,\n\t0x10e8: 0x0037bc88, 0x10e9: 0x0037c088, 0x10ea: 0x0037c488, 0x10eb: 0x0037c888,\n\t0x10ec: 0x0037cc88, 0x10ed: 0x0037d488, 0x10ee: 0x0037d888, 0x10ef: 0x0037dc88,\n\t0x10f0: 0x0037e088, 0x10f1: 0x0037e488, 0x10f2: 0x0037e888, 0x10f3: 0x0037f088,\n\t0x10f4: 0x0037f488, 0x10f5: 0x0037f888, 0x10f6: 0x0037fc88, 0x10f7: 0x00380088,\n\t0x10f8: 0x00380488, 0x10f9: 0x00380888, 0x10fa: 0x00380c88, 0x10fb: 0x00381088,\n\t0x10fc: 0x00381488, 0x10fd: 0x00381888, 0x10fe: 0x00381c88, 0x10ff: 0x00382488,\n\t// Block 0x44, offset 0x1100\n\t0x1100: 0x00382888, 0x1101: 0x0037b488, 0x1102: 0x0037d088, 0x1103: 0x0037ec88,\n\t0x1104: 0x00382088, 0x1105: 0x00382c88, 0x1107: 0x00383288,\n\t0x110d: 0x00383c88,\n\t0x1110: 0x40379620, 0x1111: 0x40379a20, 0x1112: 0x40379e20, 0x1113: 0x4037a220,\n\t0x1114: 0x4037a620, 0x1115: 0x4037aa20, 0x1116: 0x4037ae20, 0x1117: 0x4037b620,\n\t0x1118: 0x4037ba20, 0x1119: 0x4037be20, 0x111a: 0x4037c220, 0x111b: 0x4037c620,\n\t0x111c: 0x4037ca20, 0x111d: 0x4037d220, 0x111e: 0x4037d620, 0x111f: 0x4037da20,\n\t0x1120: 0x4037de20, 0x1121: 0x4037e220, 0x1122: 0x4037e620, 0x1123: 0x4037ee20,\n\t0x1124: 0x4037f220, 0x1125: 0x4037f620, 0x1126: 0x4037fa20, 0x1127: 0x4037fe20,\n\t0x1128: 0x40380220, 0x1129: 0x40380620, 0x112a: 0x40380a20, 0x112b: 0x40380e20,\n\t0x112c: 0x40381220, 0x112d: 0x40381620, 0x112e: 0x40381a20, 0x112f: 0x40382220,\n\t0x1130: 0x40382620, 0x1131: 0x4037b220, 0x1132: 0x4037ce20, 0x1133: 0x4037ea20,\n\t0x1134: 0x40381e20, 0x1135: 0x40382a20, 0x1136: 0x40382e20, 0x1137: 0x40383020,\n\t0x1138: 0x40383420, 0x1139: 0x40383620, 0x113a: 0x40383820, 0x113b: 0x40036020,\n\t0x113c: 0x0037ca94, 0x113d: 0x40383a20, 0x113e: 0x40383e20, 0x113f: 0x40384020,\n\t// Block 0x45, offset 0x1140\n\t0x1140: 0x4062ac20, 0x1141: 0x4062ae20, 0x1142: 0x4062b020, 0x1143: 0x4062b220,\n\t0x1144: 0x4062b420, 0x1145: 0x4062b620, 0x1146: 0x4062b820, 0x1147: 0x4062ba20,\n\t0x1148: 0x4062bc20, 0x1149: 0x4062be20, 0x114a: 0x4062c020, 0x114b: 0x4062c220,\n\t0x114c: 0x4062c420, 0x114d: 0x4062c620, 0x114e: 0x4062c820, 0x114f: 0x4062ca20,\n\t0x1150: 0x4062cc20, 0x1151: 0x4062ce20, 0x1152: 0x4062d020, 0x1153: 0x4062d220,\n\t0x1154: 0x4062d420, 0x1155: 0x4062d620, 0x1156: 0x4062d820, 0x1157: 0x4062da20,\n\t0x1158: 0x4062dc20, 0x1159: 0x4062de20, 0x115a: 0x4062e020, 0x115b: 0x4062e220,\n\t0x115c: 0x4062e420, 0x115d: 0x4062e620, 0x115e: 0x4062e820, 0x115f: 0x4062ea20,\n\t0x1160: 0x4062ec20, 0x1161: 0x4062ee20, 0x1162: 0x4062f020, 0x1163: 0x4062f220,\n\t0x1164: 0x4062f420, 0x1165: 0x4062f620, 0x1166: 0x4062f820, 0x1167: 0x4062fa20,\n\t0x1168: 0x4062fc20, 0x1169: 0x4062fe20, 0x116a: 0x40630020, 0x116b: 0x40630220,\n\t0x116c: 0x40630420, 0x116d: 0x40630620, 0x116e: 0x40630820, 0x116f: 0x40630a20,\n\t0x1170: 0x40630c20, 0x1171: 0x40630e20, 0x1172: 0x40631020, 0x1173: 0x40631220,\n\t0x1174: 0x40631420, 0x1175: 0x40631620, 0x1176: 0x40631820, 0x1177: 0x40631a20,\n\t0x1178: 0x40631c20, 0x1179: 0x40631e20, 0x117a: 0x40632020, 0x117b: 0x40632220,\n\t0x117c: 0x40632420, 0x117d: 0x40632620, 0x117e: 0x40632820, 0x117f: 0x40632a20,\n\t// Block 0x46, offset 0x1180\n\t0x1180: 0x40632c20, 0x1181: 0x40632e20, 0x1182: 0x40633020, 0x1183: 0x40633220,\n\t0x1184: 0x40633420, 0x1185: 0x40633620, 0x1186: 0x40633820, 0x1187: 0x40633a20,\n\t0x1188: 0x40633c20, 0x1189: 0x40633e20, 0x118a: 0x40634020, 0x118b: 0x40634220,\n\t0x118c: 0x40634420, 0x118d: 0x40634620, 0x118e: 0x40634820, 0x118f: 0x40634a20,\n\t0x1190: 0x40634c20, 0x1191: 0x40634e20, 0x1192: 0x40635020, 0x1193: 0x40635220,\n\t0x1194: 0x40635420, 0x1195: 0x40635620, 0x1196: 0x40635820, 0x1197: 0x40635a20,\n\t0x1198: 0x40635c20, 0x1199: 0x40635e20, 0x119a: 0x40636020, 0x119b: 0x40636220,\n\t0x119c: 0x40636420, 0x119d: 0x40636620, 0x119e: 0x40636820, 0x119f: 0x4063a420,\n\t0x11a0: 0x4063a620, 0x11a1: 0x4063a820, 0x11a2: 0x4063aa20, 0x11a3: 0x4063ac20,\n\t0x11a4: 0x4063ae20, 0x11a5: 0x4063b020, 0x11a6: 0x4063b220, 0x11a7: 0x4063b420,\n\t0x11a8: 0x4063b620, 0x11a9: 0x4063b820, 0x11aa: 0x4063ba20, 0x11ab: 0x4063bc20,\n\t0x11ac: 0x4063be20, 0x11ad: 0x4063c020, 0x11ae: 0x4063c220, 0x11af: 0x4063c420,\n\t0x11b0: 0x4063c620, 0x11b1: 0x4063c820, 0x11b2: 0x4063ca20, 0x11b3: 0x4063cc20,\n\t0x11b4: 0x4063ce20, 0x11b5: 0x4063d020, 0x11b6: 0x4063d220, 0x11b7: 0x4063d420,\n\t0x11b8: 0x4063d620, 0x11b9: 0x4063d820, 0x11ba: 0x4063da20, 0x11bb: 0x4063dc20,\n\t0x11bc: 0x4063de20, 0x11bd: 0x4063e020, 0x11be: 0x4063e220, 0x11bf: 0x4063e420,\n\t// Block 0x47, offset 0x11c0\n\t0x11c0: 0x4063e620, 0x11c1: 0x4063e820, 0x11c2: 0x4063ea20, 0x11c3: 0x4063ec20,\n\t0x11c4: 0x4063ee20, 0x11c5: 0x4063f020, 0x11c6: 0x4063f220, 0x11c7: 0x4063f420,\n\t0x11c8: 0x4063f620, 0x11c9: 0x4063f820, 0x11ca: 0x4063fa20, 0x11cb: 0x4063fc20,\n\t0x11cc: 0x4063fe20, 0x11cd: 0x40640020, 0x11ce: 0x40640220, 0x11cf: 0x40640420,\n\t0x11d0: 0x40640620, 0x11d1: 0x40640820, 0x11d2: 0x40640a20, 0x11d3: 0x40640c20,\n\t0x11d4: 0x40640e20, 0x11d5: 0x40641020, 0x11d6: 0x40641220, 0x11d7: 0x40641420,\n\t0x11d8: 0x40641620, 0x11d9: 0x40641820, 0x11da: 0x40641a20, 0x11db: 0x40641c20,\n\t0x11dc: 0x40641e20, 0x11dd: 0x40642020, 0x11de: 0x40642220, 0x11df: 0x40642420,\n\t0x11e0: 0x40642620, 0x11e1: 0x40642820, 0x11e2: 0x40642a20, 0x11e3: 0x40642c20,\n\t0x11e4: 0x40642e20, 0x11e5: 0x40643020, 0x11e6: 0x40643220, 0x11e7: 0x40643420,\n\t0x11e8: 0x40646420, 0x11e9: 0x40646620, 0x11ea: 0x40646820, 0x11eb: 0x40646a20,\n\t0x11ec: 0x40646c20, 0x11ed: 0x40646e20, 0x11ee: 0x40647020, 0x11ef: 0x40647220,\n\t0x11f0: 0x40647420, 0x11f1: 0x40647620, 0x11f2: 0x40647820, 0x11f3: 0x40647a20,\n\t0x11f4: 0x40647c20, 0x11f5: 0x40647e20, 0x11f6: 0x40648020, 0x11f7: 0x40648220,\n\t0x11f8: 0x40648420, 0x11f9: 0x40648620, 0x11fa: 0x40648820, 0x11fb: 0x40648a20,\n\t0x11fc: 0x40648c20, 0x11fd: 0x40648e20, 0x11fe: 0x40649020, 0x11ff: 0x40649220,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0x40649420, 0x1201: 0x40649620, 0x1202: 0x40649820, 0x1203: 0x40649a20,\n\t0x1204: 0x40649c20, 0x1205: 0x40649e20, 0x1206: 0x4064a020, 0x1207: 0x4064a220,\n\t0x1208: 0x4064a420, 0x1209: 0x4064a620, 0x120a: 0x4064a820, 0x120b: 0x4064aa20,\n\t0x120c: 0x4064ac20, 0x120d: 0x4064ae20, 0x120e: 0x4064b020, 0x120f: 0x4064b220,\n\t0x1210: 0x4064b420, 0x1211: 0x4064b620, 0x1212: 0x4064b820, 0x1213: 0x4064ba20,\n\t0x1214: 0x4064bc20, 0x1215: 0x4064be20, 0x1216: 0x4064c020, 0x1217: 0x4064c220,\n\t0x1218: 0x4064c420, 0x1219: 0x4064c620, 0x121a: 0x4064c820, 0x121b: 0x4064ca20,\n\t0x121c: 0x4064cc20, 0x121d: 0x4064ce20, 0x121e: 0x4064d020, 0x121f: 0x4064d220,\n\t0x1220: 0x4064d420, 0x1221: 0x4064d620, 0x1222: 0x4064d820, 0x1223: 0x4064da20,\n\t0x1224: 0x4064dc20, 0x1225: 0x4064de20, 0x1226: 0x4064e020, 0x1227: 0x4064e220,\n\t0x1228: 0x4064e420, 0x1229: 0x4064e620, 0x122a: 0x4064e820, 0x122b: 0x4064ea20,\n\t0x122c: 0x4064ec20, 0x122d: 0x4064ee20, 0x122e: 0x4064f020, 0x122f: 0x4064f220,\n\t0x1230: 0x4064f420, 0x1231: 0x4064f620, 0x1232: 0x4064f820, 0x1233: 0x4064fa20,\n\t0x1234: 0x4064fc20, 0x1235: 0x4064fe20, 0x1236: 0x40650020, 0x1237: 0x40650220,\n\t0x1238: 0x40650420, 0x1239: 0x40650620, 0x123a: 0x40650820, 0x123b: 0x40650a20,\n\t0x123c: 0x40650c20, 0x123d: 0x40650e20, 0x123e: 0x40651020, 0x123f: 0x40651220,\n\t// Block 0x49, offset 0x1240\n\t0x1240: 0x403c2e20, 0x1241: 0x403c3020, 0x1242: 0x403c3220, 0x1243: 0x403c3420,\n\t0x1244: 0x403c3620, 0x1245: 0x403c3820, 0x1246: 0x403c3a20, 0x1247: 0x403c3c20,\n\t0x1248: 0x403c3e20, 0x1249: 0x403c4020, 0x124a: 0x403c4220, 0x124b: 0x403c4420,\n\t0x124c: 0x403c4620, 0x124d: 0x403c4820, 0x124e: 0x403c4a20, 0x124f: 0x403c4c20,\n\t0x1250: 0x403c5020, 0x1251: 0x403c5220, 0x1252: 0x403c5420, 0x1253: 0x403c5620,\n\t0x1254: 0x403c5820, 0x1255: 0x403c5a20, 0x1256: 0x403c5c20, 0x1257: 0x403c5e20,\n\t0x1258: 0x403c6020, 0x1259: 0x403c6220, 0x125a: 0x403c6420, 0x125b: 0x403c6620,\n\t0x125c: 0x403c6820, 0x125d: 0x403c6a20, 0x125e: 0x403c6c20, 0x125f: 0x403c6e20,\n\t0x1260: 0x403c7a20, 0x1261: 0x403c7c20, 0x1262: 0x403c7e20, 0x1263: 0x403c8020,\n\t0x1264: 0x403c8220, 0x1265: 0x403c8420, 0x1266: 0x403c8620, 0x1267: 0x403c8820,\n\t0x1268: 0x403c8a20, 0x1269: 0x403c8c20, 0x126a: 0x403c8e20, 0x126b: 0x403c9020,\n\t0x126c: 0x403c9220, 0x126d: 0x403c9420, 0x126e: 0x403c9620, 0x126f: 0x403c9820,\n\t0x1270: 0x403c9c20, 0x1271: 0x403c9e20, 0x1272: 0x403ca020, 0x1273: 0x403ca220,\n\t0x1274: 0x403ca420, 0x1275: 0x403ca620, 0x1276: 0x403ca820, 0x1277: 0x403caa20,\n\t0x1278: 0x403cba20, 0x1279: 0x403cbc20, 0x127a: 0x403cbe20, 0x127b: 0x403cc020,\n\t0x127c: 0x403cc220, 0x127d: 0x403cc420, 0x127e: 0x403cc620, 0x127f: 0x403cc820,\n\t// Block 0x4a, offset 0x1280\n\t0x1280: 0x403ccc20, 0x1281: 0x403cce20, 0x1282: 0x403cd020, 0x1283: 0x403cd220,\n\t0x1284: 0x403cd420, 0x1285: 0x403cd620, 0x1286: 0x403cd820, 0x1287: 0x403cda20,\n\t0x1288: 0x403cdc20, 0x128a: 0x403cde20, 0x128b: 0x403ce020,\n\t0x128c: 0x403ce220, 0x128d: 0x403ce420,\n\t0x1290: 0x403ce620, 0x1291: 0x403ce820, 0x1292: 0x403cea20, 0x1293: 0x403cec20,\n\t0x1294: 0x403cee20, 0x1295: 0x403cf020, 0x1296: 0x403cf220,\n\t0x1298: 0x403cf420, 0x129a: 0x403cf620, 0x129b: 0x403cf820,\n\t0x129c: 0x403cfa20, 0x129d: 0x403cfc20,\n\t0x12a0: 0x403cfe20, 0x12a1: 0x403d0020, 0x12a2: 0x403d0220, 0x12a3: 0x403d0420,\n\t0x12a4: 0x403d0620, 0x12a5: 0x403d0820, 0x12a6: 0x403d0a20, 0x12a7: 0x403d0c20,\n\t0x12a8: 0x403d1820, 0x12a9: 0x403d1a20, 0x12aa: 0x403d1c20, 0x12ab: 0x403d1e20,\n\t0x12ac: 0x403d2020, 0x12ad: 0x403d2220, 0x12ae: 0x403d2420, 0x12af: 0x403d2620,\n\t0x12b0: 0x403d2820, 0x12b1: 0x403d2a20, 0x12b2: 0x403d2c20, 0x12b3: 0x403d2e20,\n\t0x12b4: 0x403d3020, 0x12b5: 0x403d3220, 0x12b6: 0x403d3420, 0x12b7: 0x403d3620,\n\t0x12b8: 0x403d3a20, 0x12b9: 0x403d3c20, 0x12ba: 0x403d3e20, 0x12bb: 0x403d4020,\n\t0x12bc: 0x403d4220, 0x12bd: 0x403d4420, 0x12be: 0x403d4620, 0x12bf: 0x403d4820,\n\t// Block 0x4b, offset 0x12c0\n\t0x12c0: 0x403d4c20, 0x12c1: 0x403d4e20, 0x12c2: 0x403d5020, 0x12c3: 0x403d5220,\n\t0x12c4: 0x403d5420, 0x12c5: 0x403d5620, 0x12c6: 0x403d5820, 0x12c7: 0x403d5a20,\n\t0x12c8: 0x403d5c20, 0x12ca: 0x403d5e20, 0x12cb: 0x403d6020,\n\t0x12cc: 0x403d6220, 0x12cd: 0x403d6420,\n\t0x12d0: 0x403d6620, 0x12d1: 0x403d6820, 0x12d2: 0x403d6a20, 0x12d3: 0x403d6c20,\n\t0x12d4: 0x403d6e20, 0x12d5: 0x403d7020, 0x12d6: 0x403d7220, 0x12d7: 0x403d7420,\n\t0x12d8: 0x403d7820, 0x12d9: 0x403d7a20, 0x12da: 0x403d7c20, 0x12db: 0x403d7e20,\n\t0x12dc: 0x403d8020, 0x12dd: 0x403d8220, 0x12de: 0x403d8420, 0x12df: 0x403d8620,\n\t0x12e0: 0x403d8a20, 0x12e1: 0x403d8c20, 0x12e2: 0x403d8e20, 0x12e3: 0x403d9020,\n\t0x12e4: 0x403d9220, 0x12e5: 0x403d9420, 0x12e6: 0x403d9620, 0x12e7: 0x403d9820,\n\t0x12e8: 0x403d9c20, 0x12e9: 0x403d9e20, 0x12ea: 0x403da020, 0x12eb: 0x403da220,\n\t0x12ec: 0x403da420, 0x12ed: 0x403da620, 0x12ee: 0x403da820, 0x12ef: 0x403daa20,\n\t0x12f0: 0x403dac20, 0x12f2: 0x403dae20, 0x12f3: 0x403db020,\n\t0x12f4: 0x403db220, 0x12f5: 0x403db420,\n\t0x12f8: 0x403db620, 0x12f9: 0x403db820, 0x12fa: 0x403dba20, 0x12fb: 0x403dbc20,\n\t0x12fc: 0x403dbe20, 0x12fd: 0x403dc020, 0x12fe: 0x403dc220,\n\t// Block 0x4c, offset 0x1300\n\t0x1300: 0x403dc420, 0x1302: 0x403dc620, 0x1303: 0x403dc820,\n\t0x1304: 0x403dca20, 0x1305: 0x403dcc20,\n\t0x1308: 0x403dce20, 0x1309: 0x403dd020, 0x130a: 0x403dd220, 0x130b: 0x403dd420,\n\t0x130c: 0x403dd620, 0x130d: 0x403dd820, 0x130e: 0x403dda20, 0x130f: 0x403ddc20,\n\t0x1310: 0x403dde20, 0x1311: 0x403de020, 0x1312: 0x403de220, 0x1313: 0x403de420,\n\t0x1314: 0x403de620, 0x1315: 0x403de820, 0x1316: 0x403dea20,\n\t0x1318: 0x403dec20, 0x1319: 0x403dee20, 0x131a: 0x403df020, 0x131b: 0x403df220,\n\t0x131c: 0x403df420, 0x131d: 0x403df620, 0x131e: 0x403df820, 0x131f: 0x403dfa20,\n\t0x1320: 0x403e0a20, 0x1321: 0x403e0c20, 0x1322: 0x403e0e20, 0x1323: 0x403e1020,\n\t0x1324: 0x403e1220, 0x1325: 0x403e1420, 0x1326: 0x403e1620, 0x1327: 0x403e1820,\n\t0x1328: 0x403e1a20, 0x1329: 0x403e1c20, 0x132a: 0x403e1e20, 0x132b: 0x403e2020,\n\t0x132c: 0x403e2220, 0x132d: 0x403e2420, 0x132e: 0x403e2620, 0x132f: 0x403e2820,\n\t0x1330: 0x403e2a20, 0x1331: 0x403e2c20, 0x1332: 0x403e2e20, 0x1333: 0x403e3020,\n\t0x1334: 0x403e3220, 0x1335: 0x403e3420, 0x1336: 0x403e3620, 0x1337: 0x403e3820,\n\t0x1338: 0x403e4820, 0x1339: 0x403e4a20, 0x133a: 0x403e4c20, 0x133b: 0x403e4e20,\n\t0x133c: 0x403e5020, 0x133d: 0x403e5220, 0x133e: 0x403e5420, 0x133f: 0x403e5620,\n\t// Block 0x4d, offset 0x1340\n\t0x1340: 0x403e5a20, 0x1341: 0x403e5c20, 0x1342: 0x403e5e20, 0x1343: 0x403e6020,\n\t0x1344: 0x403e6220, 0x1345: 0x403e6420, 0x1346: 0x403e6620, 0x1347: 0x403e6820,\n\t0x1348: 0x403e6c20, 0x1349: 0x403e6e20, 0x134a: 0x403e7020, 0x134b: 0x403e7220,\n\t0x134c: 0x403e7420, 0x134d: 0x403e7620, 0x134e: 0x403e7820, 0x134f: 0x403e7a20,\n\t0x1350: 0x403e7c20, 0x1352: 0x403e7e20, 0x1353: 0x403e8020,\n\t0x1354: 0x403e8220, 0x1355: 0x403e8420,\n\t0x1358: 0x403e8620, 0x1359: 0x403e8820, 0x135a: 0x403e8a20, 0x135b: 0x403e8c20,\n\t0x135c: 0x403e8e20, 0x135d: 0x403e9020, 0x135e: 0x403e9220, 0x135f: 0x403e9420,\n\t0x1360: 0x403e9e20, 0x1361: 0x403ea020, 0x1362: 0x403ea220, 0x1363: 0x403ea420,\n\t0x1364: 0x403ea620, 0x1365: 0x403ea820, 0x1366: 0x403eaa20, 0x1367: 0x403eac20,\n\t0x1368: 0x403eb020, 0x1369: 0x403eb220, 0x136a: 0x403eb420, 0x136b: 0x403eb620,\n\t0x136c: 0x403eb820, 0x136d: 0x403eba20, 0x136e: 0x403ebc20, 0x136f: 0x403ebe20,\n\t0x1370: 0x403ed020, 0x1371: 0x403ed220, 0x1372: 0x403ed420, 0x1373: 0x403ed620,\n\t0x1374: 0x403ed820, 0x1375: 0x403eda20, 0x1376: 0x403edc20, 0x1377: 0x403ede20,\n\t0x1378: 0x403ee220, 0x1379: 0x403ee420, 0x137a: 0x403ee620, 0x137b: 0x403ee820,\n\t0x137c: 0x403eea20, 0x137d: 0x403eec20, 0x137e: 0x403eee20, 0x137f: 0x403ef020,\n\t// Block 0x4e, offset 0x1380\n\t0x1380: 0x403f0020, 0x1381: 0x403f0220, 0x1382: 0x403f0420, 0x1383: 0x403f0620,\n\t0x1384: 0x403f0820, 0x1385: 0x403f0a20, 0x1386: 0x403f0c20, 0x1387: 0x403f0e20,\n\t0x1388: 0x403f1020, 0x1389: 0x403f1220, 0x138a: 0x403f1420, 0x138b: 0x403f1620,\n\t0x138c: 0x403f1820, 0x138d: 0x403f1a20, 0x138e: 0x403f1c20, 0x138f: 0x403f1e20,\n\t0x1390: 0x403f2820, 0x1391: 0x403f2a20, 0x1392: 0x403f2c20, 0x1393: 0x403f2e20,\n\t0x1394: 0x403f3020, 0x1395: 0x403f3220, 0x1396: 0x403f3420, 0x1397: 0x403f3620,\n\t0x1398: 0x403f4220, 0x1399: 0x403f4420, 0x139a: 0x403f4620,\n\t0x139d: 0xae60ee02, 0x139e: 0xae60ed02, 0x139f: 0xae60ec02,\n\t0x13a0: 0x40036220, 0x13a1: 0x40029c20, 0x13a2: 0x4002ee20, 0x13a3: 0x40029e20,\n\t0x13a4: 0x4002a020, 0x13a5: 0x4002a220, 0x13a6: 0x4002a420, 0x13a7: 0x4002d020,\n\t0x13a8: 0x40036420, 0x13a9: 0xe00001f2, 0x13aa: 0xe000030d, 0x13ab: 0xe00003e7,\n\t0x13ac: 0xe00004c2, 0x13ad: 0xe000058c, 0x13ae: 0xe0000657, 0x13af: 0xe00006ff,\n\t0x13b0: 0xe00007ab, 0x13b1: 0xe0000850, 0x13b2: 0x40286620, 0x13b3: 0x40286820,\n\t0x13b4: 0x40286a20, 0x13b5: 0x40286c20, 0x13b6: 0x40286e20, 0x13b7: 0x40287020,\n\t0x13b8: 0x40287220, 0x13b9: 0x40287420, 0x13ba: 0x40287620, 0x13bb: 0x40287820,\n\t0x13bc: 0x40287a20,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c0: 0x403c7020, 0x13c1: 0x403c7220, 0x13c2: 0x403c7420, 0x13c3: 0x403c7620,\n\t0x13c4: 0x403d0e20, 0x13c5: 0x403d1020, 0x13c6: 0x403d1220, 0x13c7: 0x403d1420,\n\t0x13c8: 0x403f2020, 0x13c9: 0x403f2220, 0x13ca: 0x403f2420, 0x13cb: 0x403f2620,\n\t0x13cc: 0x403f3820, 0x13cd: 0x403f3a20, 0x13ce: 0x403f3c20, 0x13cf: 0x403f3e20,\n\t0x13d0: 0x4006a620, 0x13d1: 0x4006a820, 0x13d2: 0x4006aa20, 0x13d3: 0x4006ac20,\n\t0x13d4: 0x4006ae20, 0x13d5: 0x4006b020, 0x13d6: 0x4006b220, 0x13d7: 0x4006b420,\n\t0x13d8: 0x4006b620, 0x13d9: 0x4006b820,\n\t0x13e0: 0x40547620, 0x13e1: 0x40547820, 0x13e2: 0x40547a20, 0x13e3: 0x40547c20,\n\t0x13e4: 0x40547e20, 0x13e5: 0x40548020, 0x13e6: 0x40548220, 0x13e7: 0x40548420,\n\t0x13e8: 0x40548620, 0x13e9: 0x40548820, 0x13ea: 0x40548a20, 0x13eb: 0x40548c20,\n\t0x13ec: 0x40548e20, 0x13ed: 0x40549020, 0x13ee: 0x40549220, 0x13ef: 0x40549420,\n\t0x13f0: 0x40549620, 0x13f1: 0x40549820, 0x13f2: 0x40549a20, 0x13f3: 0x40549c20,\n\t0x13f4: 0x40549e20, 0x13f5: 0x4054a020, 0x13f6: 0x4054a220, 0x13f7: 0x4054a420,\n\t0x13f8: 0x4054a620, 0x13f9: 0x4054a820, 0x13fa: 0x4054aa20, 0x13fb: 0x4054ac20,\n\t0x13fc: 0x4054ae20, 0x13fd: 0x4054b020, 0x13fe: 0x4054b220, 0x13ff: 0x4054b420,\n\t// Block 0x50, offset 0x1400\n\t0x1400: 0x4054b620, 0x1401: 0x4054b820, 0x1402: 0x4054ba20, 0x1403: 0x4054bc20,\n\t0x1404: 0x4054be20, 0x1405: 0x4054c020, 0x1406: 0x4054c220, 0x1407: 0x4054c420,\n\t0x1408: 0x4054c620, 0x1409: 0x4054c820, 0x140a: 0x4054ca20, 0x140b: 0x4054cc20,\n\t0x140c: 0x4054ce20, 0x140d: 0x4054d020, 0x140e: 0x4054d220, 0x140f: 0x4054d420,\n\t0x1410: 0x4054d620, 0x1411: 0x4054d820, 0x1412: 0x4054da20, 0x1413: 0x4054dc20,\n\t0x1414: 0x4054de20, 0x1415: 0x4054e020, 0x1416: 0x4054e220, 0x1417: 0x4054e420,\n\t0x1418: 0x4054e620, 0x1419: 0x4054e820, 0x141a: 0x4054ea20, 0x141b: 0x4054ec20,\n\t0x141c: 0x4054ee20, 0x141d: 0x4054f020, 0x141e: 0x4054f220, 0x141f: 0x4054f420,\n\t0x1420: 0x4054f620, 0x1421: 0x4054f820, 0x1422: 0x4054fa20, 0x1423: 0x4054fc20,\n\t0x1424: 0x4054fe20, 0x1425: 0x40550020, 0x1426: 0x40550220, 0x1427: 0x40550420,\n\t0x1428: 0x40550620, 0x1429: 0x40550820, 0x142a: 0x40550a20, 0x142b: 0x40550c20,\n\t0x142c: 0x40550e20, 0x142d: 0x40551020, 0x142e: 0x40551220, 0x142f: 0x40551420,\n\t0x1430: 0x40551620, 0x1431: 0x40551820, 0x1432: 0x40551a20, 0x1433: 0x40551c20,\n\t0x1434: 0x40551e20,\n\t// Block 0x51, offset 0x1440\n\t0x1440: 0x40021e20, 0x1441: 0x40552020, 0x1442: 0x40552220, 0x1443: 0x40552420,\n\t0x1444: 0x40552620, 0x1445: 0x40552820, 0x1446: 0x40552a20, 0x1447: 0x40552c20,\n\t0x1448: 0x40552e20, 0x1449: 0x40553020, 0x144a: 0x40553220, 0x144b: 0x40553420,\n\t0x144c: 0x40553620, 0x144d: 0x40553820, 0x144e: 0x40553a20, 0x144f: 0x40553c20,\n\t0x1450: 0x40553e20, 0x1451: 0x40554020, 0x1452: 0x40554220, 0x1453: 0x40554420,\n\t0x1454: 0x40554620, 0x1455: 0x40554820, 0x1456: 0x40554a20, 0x1457: 0x40554c20,\n\t0x1458: 0x40554e20, 0x1459: 0x40555020, 0x145a: 0x40555220, 0x145b: 0x40555420,\n\t0x145c: 0x40555620, 0x145d: 0x40555820, 0x145e: 0x40555a20, 0x145f: 0x40555c20,\n\t0x1460: 0x40555e20, 0x1461: 0x40556020, 0x1462: 0x40556220, 0x1463: 0x40556420,\n\t0x1464: 0x40556620, 0x1465: 0x40556820, 0x1466: 0x40556a20, 0x1467: 0x40556c20,\n\t0x1468: 0x40556e20, 0x1469: 0x40557020, 0x146a: 0x40557220, 0x146b: 0x40557420,\n\t0x146c: 0x40557620, 0x146d: 0x40557820, 0x146e: 0x40557a20, 0x146f: 0x40557c20,\n\t0x1470: 0x40557e20, 0x1471: 0x40558020, 0x1472: 0x40558220, 0x1473: 0x40558420,\n\t0x1474: 0x40558620, 0x1475: 0x40558820, 0x1476: 0x40558a20, 0x1477: 0x40558c20,\n\t0x1478: 0x40558e20, 0x1479: 0x40559020, 0x147a: 0x40559220, 0x147b: 0x40559420,\n\t0x147c: 0x40559620, 0x147d: 0x40559820, 0x147e: 0x40559a20, 0x147f: 0x40559c20,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x40559e20, 0x1481: 0x4055a020, 0x1482: 0x4055a220, 0x1483: 0x4055a420,\n\t0x1484: 0x4055a620, 0x1485: 0x4055a820, 0x1486: 0x4055aa20, 0x1487: 0x4055ac20,\n\t0x1488: 0x4055ae20, 0x1489: 0x4055b020, 0x148a: 0x4055b220, 0x148b: 0x4055b420,\n\t0x148c: 0x4055b620, 0x148d: 0x4055b820, 0x148e: 0x4055ba20, 0x148f: 0x4055bc20,\n\t0x1490: 0x4055be20, 0x1491: 0x4055c020, 0x1492: 0x4055c220, 0x1493: 0x4055c420,\n\t0x1494: 0x4055c620, 0x1495: 0x4055c820, 0x1496: 0x4055ca20, 0x1497: 0x4055cc20,\n\t0x1498: 0x4055ce20, 0x1499: 0x4055d020, 0x149a: 0x4055d220, 0x149b: 0x4055d420,\n\t0x149c: 0x4055d620, 0x149d: 0x4055d820, 0x149e: 0x4055da20, 0x149f: 0x4055dc20,\n\t0x14a0: 0x4055de20, 0x14a1: 0x4055e020, 0x14a2: 0x4055e220, 0x14a3: 0x4055e420,\n\t0x14a4: 0x4055e620, 0x14a5: 0x4055e820, 0x14a6: 0x4055ea20, 0x14a7: 0x4055ec20,\n\t0x14a8: 0x4055ee20, 0x14a9: 0x4055f020, 0x14aa: 0x4055f220, 0x14ab: 0x4055f420,\n\t0x14ac: 0x4055f620, 0x14ad: 0x4055f820, 0x14ae: 0x4055fa20, 0x14af: 0x4055fc20,\n\t0x14b0: 0x4055fe20, 0x14b1: 0x40560020, 0x14b2: 0x40560220, 0x14b3: 0x40560420,\n\t0x14b4: 0x40560620, 0x14b5: 0x40560820, 0x14b6: 0x40560a20, 0x14b7: 0x40560c20,\n\t0x14b8: 0x40560e20, 0x14b9: 0x40561020, 0x14ba: 0x40561220, 0x14bb: 0x40561420,\n\t0x14bc: 0x40561620, 0x14bd: 0x40561820, 0x14be: 0x40561a20, 0x14bf: 0x40561c20,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x40561e20, 0x14c1: 0x40562020, 0x14c2: 0x40562220, 0x14c3: 0x40562420,\n\t0x14c4: 0x40562620, 0x14c5: 0x40562820, 0x14c6: 0x40562a20, 0x14c7: 0x40562c20,\n\t0x14c8: 0x40562e20, 0x14c9: 0x40563020, 0x14ca: 0x40563220, 0x14cb: 0x40563420,\n\t0x14cc: 0x40563620, 0x14cd: 0x40563820, 0x14ce: 0x40563a20, 0x14cf: 0x40563c20,\n\t0x14d0: 0x40563e20, 0x14d1: 0x40564020, 0x14d2: 0x40564220, 0x14d3: 0x40564420,\n\t0x14d4: 0x40564620, 0x14d5: 0x40564820, 0x14d6: 0x40564a20, 0x14d7: 0x40564c20,\n\t0x14d8: 0x40564e20, 0x14d9: 0x40565020, 0x14da: 0x40565220, 0x14db: 0x40565420,\n\t0x14dc: 0x40565620, 0x14dd: 0x40565820, 0x14de: 0x40565a20, 0x14df: 0x40565c20,\n\t0x14e0: 0x40565e20, 0x14e1: 0x40566020, 0x14e2: 0x40566220, 0x14e3: 0x40566420,\n\t0x14e4: 0x40566620, 0x14e5: 0x40566820, 0x14e6: 0x40566a20, 0x14e7: 0x40566c20,\n\t0x14e8: 0x40566e20, 0x14e9: 0x40567020, 0x14ea: 0x40567220, 0x14eb: 0x40567420,\n\t0x14ec: 0x40567620, 0x14ed: 0x40567820, 0x14ee: 0x40567a20, 0x14ef: 0x40567c20,\n\t0x14f0: 0x40567e20, 0x14f1: 0x40568020, 0x14f2: 0x40568220, 0x14f3: 0x40568420,\n\t0x14f4: 0x40568620, 0x14f5: 0x40568820, 0x14f6: 0x40568a20, 0x14f7: 0x40568c20,\n\t0x14f8: 0x40568e20, 0x14f9: 0x40569020, 0x14fa: 0x40569220, 0x14fb: 0x40569420,\n\t0x14fc: 0x40569620, 0x14fd: 0x40569820, 0x14fe: 0x40569a20, 0x14ff: 0x40569c20,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0x40569e20, 0x1501: 0x4056a020, 0x1502: 0x4056a220, 0x1503: 0x4056a420,\n\t0x1504: 0x4056a620, 0x1505: 0x4056a820, 0x1506: 0x4056aa20, 0x1507: 0x4056ac20,\n\t0x1508: 0x4056ae20, 0x1509: 0x4056b020, 0x150a: 0x4056b220, 0x150b: 0x4056b420,\n\t0x150c: 0x4056b620, 0x150d: 0x4056b820, 0x150e: 0x4056ba20, 0x150f: 0x4056bc20,\n\t0x1510: 0x4056be20, 0x1511: 0x4056c020, 0x1512: 0x4056c220, 0x1513: 0x4056c420,\n\t0x1514: 0x4056c620, 0x1515: 0x4056c820, 0x1516: 0x4056ca20, 0x1517: 0x4056cc20,\n\t0x1518: 0x4056ce20, 0x1519: 0x4056d020, 0x151a: 0x4056d220, 0x151b: 0x4056d420,\n\t0x151c: 0x4056d620, 0x151d: 0x4056d820, 0x151e: 0x4056da20, 0x151f: 0x4056dc20,\n\t0x1520: 0x4056de20, 0x1521: 0x4056e020, 0x1522: 0x4056e220, 0x1523: 0x4056e420,\n\t0x1524: 0x4056e620, 0x1525: 0x4056e820, 0x1526: 0x4056ea20, 0x1527: 0x4056ec20,\n\t0x1528: 0x4056ee20, 0x1529: 0x4056f020, 0x152a: 0x4056f220, 0x152b: 0x4056f420,\n\t0x152c: 0x4056f620, 0x152d: 0x4056f820, 0x152e: 0x4056fa20, 0x152f: 0x4056fc20,\n\t0x1530: 0x4056fe20, 0x1531: 0x40570020, 0x1532: 0x40570220, 0x1533: 0x40570420,\n\t0x1534: 0x40570620, 0x1535: 0x40570820, 0x1536: 0x40570a20, 0x1537: 0x40570c20,\n\t0x1538: 0x40570e20, 0x1539: 0x40571020, 0x153a: 0x40571220, 0x153b: 0x40571420,\n\t0x153c: 0x40571620, 0x153d: 0x40571820, 0x153e: 0x40571a20, 0x153f: 0x40571c20,\n\t// Block 0x55, offset 0x1540\n\t0x1540: 0x40571e20, 0x1541: 0x40572020, 0x1542: 0x40572220, 0x1543: 0x40572420,\n\t0x1544: 0x40572620, 0x1545: 0x40572820, 0x1546: 0x40572a20, 0x1547: 0x40572c20,\n\t0x1548: 0x40572e20, 0x1549: 0x40573020, 0x154a: 0x40573220, 0x154b: 0x40573420,\n\t0x154c: 0x40573620, 0x154d: 0x40573820, 0x154e: 0x40573a20, 0x154f: 0x40573c20,\n\t0x1550: 0x40573e20, 0x1551: 0x40574020, 0x1552: 0x40574220, 0x1553: 0x40574420,\n\t0x1554: 0x40574620, 0x1555: 0x40574820, 0x1556: 0x40574a20, 0x1557: 0x40574c20,\n\t0x1558: 0x40574e20, 0x1559: 0x40575020, 0x155a: 0x40575220, 0x155b: 0x40575420,\n\t0x155c: 0x40575620, 0x155d: 0x40575820, 0x155e: 0x40575a20, 0x155f: 0x40575c20,\n\t0x1560: 0x40575e20, 0x1561: 0x40576020, 0x1562: 0x40576220, 0x1563: 0x40576420,\n\t0x1564: 0x40576620, 0x1565: 0x40576820, 0x1566: 0x40576a20, 0x1567: 0x40576c20,\n\t0x1568: 0x40576e20, 0x1569: 0x40577020, 0x156a: 0x40577220, 0x156b: 0x40577420,\n\t0x156c: 0x40577620, 0x156d: 0x40577820, 0x156e: 0x40577a20, 0x156f: 0x40577c20,\n\t0x1570: 0x40577e20, 0x1571: 0x40578020, 0x1572: 0x40578220, 0x1573: 0x40578420,\n\t0x1574: 0x40578620, 0x1575: 0x40578820, 0x1576: 0x40578a20, 0x1577: 0x40578c20,\n\t0x1578: 0x40578e20, 0x1579: 0x40579020, 0x157a: 0x40579220, 0x157b: 0x40579420,\n\t0x157c: 0x40579620, 0x157d: 0x40579820, 0x157e: 0x40579a20, 0x157f: 0x40579c20,\n\t// Block 0x56, offset 0x1580\n\t0x1580: 0x40579e20, 0x1581: 0x4057a020, 0x1582: 0x4057a220, 0x1583: 0x4057a420,\n\t0x1584: 0x4057a620, 0x1585: 0x4057a820, 0x1586: 0x4057aa20, 0x1587: 0x4057ac20,\n\t0x1588: 0x4057ae20, 0x1589: 0x4057b020, 0x158a: 0x4057b220, 0x158b: 0x4057b420,\n\t0x158c: 0x4057b620, 0x158d: 0x4057b820, 0x158e: 0x4057ba20, 0x158f: 0x4057bc20,\n\t0x1590: 0x4057be20, 0x1591: 0x4057c020, 0x1592: 0x4057c220, 0x1593: 0x4057c420,\n\t0x1594: 0x4057c620, 0x1595: 0x4057c820, 0x1596: 0x4057ca20, 0x1597: 0x4057cc20,\n\t0x1598: 0x4057ce20, 0x1599: 0x4057d020, 0x159a: 0x4057d220, 0x159b: 0x4057d420,\n\t0x159c: 0x4057d620, 0x159d: 0x4057d820, 0x159e: 0x4057da20, 0x159f: 0x4057dc20,\n\t0x15a0: 0x4057de20, 0x15a1: 0x4057e020, 0x15a2: 0x4057e220, 0x15a3: 0x4057e420,\n\t0x15a4: 0x4057e620, 0x15a5: 0x4057e820, 0x15a6: 0x4057ea20, 0x15a7: 0x4057ec20,\n\t0x15a8: 0x4057ee20, 0x15a9: 0x4057f020, 0x15aa: 0x4057f220, 0x15ab: 0x4057f420,\n\t0x15ac: 0x4057f620, 0x15ad: 0x4057f820, 0x15ae: 0x4057fa20, 0x15af: 0x4057fc20,\n\t0x15b0: 0x4057fe20, 0x15b1: 0x40580020, 0x15b2: 0x40580220, 0x15b3: 0x40580420,\n\t0x15b4: 0x40580620, 0x15b5: 0x40580820, 0x15b6: 0x40580a20, 0x15b7: 0x40580c20,\n\t0x15b8: 0x40580e20, 0x15b9: 0x40581020, 0x15ba: 0x40581220, 0x15bb: 0x40581420,\n\t0x15bc: 0x40587a20, 0x15bd: 0x40581620, 0x15be: 0x40581a20, 0x15bf: 0x40581c20,\n\t// Block 0x57, offset 0x15c0\n\t0x15c0: 0x40581e20, 0x15c1: 0x40582020, 0x15c2: 0x40582220, 0x15c3: 0x40582420,\n\t0x15c4: 0x40582620, 0x15c5: 0x40582820, 0x15c6: 0x40582a20, 0x15c7: 0x40582c20,\n\t0x15c8: 0x40582e20, 0x15c9: 0x40583020, 0x15ca: 0x40583220, 0x15cb: 0x40583420,\n\t0x15cc: 0x40583620, 0x15cd: 0x40583820, 0x15ce: 0x40583c20, 0x15cf: 0x40583e20,\n\t0x15d0: 0x40584020, 0x15d1: 0x40584220, 0x15d2: 0x40584420, 0x15d3: 0x40584620,\n\t0x15d4: 0x40584820, 0x15d5: 0x40584a20, 0x15d6: 0x40585820, 0x15d7: 0x40585a20,\n\t0x15d8: 0x40585c20, 0x15d9: 0x40585e20, 0x15da: 0x40586020, 0x15db: 0x40586220,\n\t0x15dc: 0x40586420, 0x15dd: 0x40586620, 0x15de: 0x40586820, 0x15df: 0x40586a20,\n\t0x15e0: 0x40586c20, 0x15e1: 0x40586e20, 0x15e2: 0x40587020, 0x15e3: 0x40587220,\n\t0x15e4: 0x40587420, 0x15e5: 0x40587620, 0x15e6: 0x40587820, 0x15e7: 0x40587c20,\n\t0x15e8: 0x40587e20, 0x15e9: 0x40588020, 0x15ea: 0x40588220, 0x15eb: 0x40588420,\n\t0x15ec: 0x40588620, 0x15ed: 0x40588820, 0x15ee: 0x40588a20, 0x15ef: 0x40588c20,\n\t0x15f0: 0x40588e20, 0x15f1: 0x40589020, 0x15f2: 0x40589220, 0x15f3: 0x40589420,\n\t0x15f4: 0x40589620, 0x15f5: 0x40589820, 0x15f6: 0x40589a20, 0x15f7: 0x40589c20,\n\t0x15f8: 0x40589e20, 0x15f9: 0x4058a020, 0x15fa: 0x4058a220, 0x15fb: 0x4058a420,\n\t0x15fc: 0x4058a620, 0x15fd: 0x4058a820, 0x15fe: 0x4058aa20, 0x15ff: 0x4058ac20,\n\t// Block 0x58, offset 0x1600\n\t0x1600: 0x4058ae20, 0x1601: 0x4058b020, 0x1602: 0x4058b220, 0x1603: 0x4058b420,\n\t0x1604: 0x4058b620, 0x1605: 0x4058b820, 0x1606: 0x4058ba20, 0x1607: 0x4058bc20,\n\t0x1608: 0x4058be20, 0x1609: 0x4058c020, 0x160a: 0x4058c220, 0x160b: 0x4058c420,\n\t0x160c: 0x4058c620, 0x160d: 0x4058c820, 0x160e: 0x4058ca20, 0x160f: 0x4058cc20,\n\t0x1610: 0x4058ce20, 0x1611: 0x4058d020, 0x1612: 0x4058d220, 0x1613: 0x4058d420,\n\t0x1614: 0x4058d620, 0x1615: 0x4058d820, 0x1616: 0x4058da20, 0x1617: 0x4058dc20,\n\t0x1618: 0x4058de20, 0x1619: 0x4058e020, 0x161a: 0x4058e220, 0x161b: 0x4058e420,\n\t0x161c: 0x4058e620, 0x161d: 0x4058e820, 0x161e: 0x4058ea20, 0x161f: 0x4058ec20,\n\t0x1620: 0x4058ee20, 0x1621: 0x4058f020, 0x1622: 0x4058f220, 0x1623: 0x4058f420,\n\t0x1624: 0x4058f620, 0x1625: 0x4058f820, 0x1626: 0x4058fa20, 0x1627: 0x4058fc20,\n\t0x1628: 0x4058fe20, 0x1629: 0x40590020, 0x162a: 0x40590220, 0x162b: 0x40590420,\n\t0x162c: 0x40590620, 0x162d: 0x40590820, 0x162e: 0x40590a20, 0x162f: 0x40590c20,\n\t0x1630: 0x40590e20, 0x1631: 0x40591020, 0x1632: 0x40591220, 0x1633: 0x40591420,\n\t0x1634: 0x40591620, 0x1635: 0x40591820, 0x1636: 0x40591a20, 0x1637: 0x40591c20,\n\t0x1638: 0x40591e20, 0x1639: 0x40592020, 0x163a: 0x40592220, 0x163b: 0x40592420,\n\t0x163c: 0x40592620, 0x163d: 0x40592820, 0x163e: 0x40592a20, 0x163f: 0x40592c20,\n\t// Block 0x59, offset 0x1640\n\t0x1640: 0x40592e20, 0x1641: 0x40593020, 0x1642: 0x40593220, 0x1643: 0x40593420,\n\t0x1644: 0x40593620, 0x1645: 0x40593820, 0x1646: 0x40593a20, 0x1647: 0x40593c20,\n\t0x1648: 0x40593e20, 0x1649: 0x40594020, 0x164a: 0x40594220, 0x164b: 0x40594420,\n\t0x164c: 0x40594620, 0x164d: 0x40594820, 0x164e: 0x40594a20, 0x164f: 0x40594c20,\n\t0x1650: 0x40594e20, 0x1651: 0x40595020, 0x1652: 0x40595220, 0x1653: 0x40595420,\n\t0x1654: 0x40595620, 0x1655: 0x40595820, 0x1656: 0x40595a20, 0x1657: 0x40595c20,\n\t0x1658: 0x40595e20, 0x1659: 0x40596020, 0x165a: 0x40596220, 0x165b: 0x40596420,\n\t0x165c: 0x40596620, 0x165d: 0x40596820, 0x165e: 0x40596a20, 0x165f: 0x40596c20,\n\t0x1660: 0x40596e20, 0x1661: 0x40597020, 0x1662: 0x40597220, 0x1663: 0x40597420,\n\t0x1664: 0x40597620, 0x1665: 0x40597820, 0x1666: 0x40597a20, 0x1667: 0x40597c20,\n\t0x1668: 0x40597e20, 0x1669: 0x40598020, 0x166a: 0x40598220, 0x166b: 0x40598420,\n\t0x166c: 0x40598620, 0x166d: 0x40598820, 0x166e: 0x40598a20, 0x166f: 0x40598c20,\n\t0x1670: 0x40598e20, 0x1671: 0x40599020, 0x1672: 0x40599220, 0x1673: 0x40599420,\n\t0x1674: 0x40599620, 0x1675: 0x40599820, 0x1676: 0x40599a20, 0x1677: 0x40599c20,\n\t0x1678: 0x40599e20, 0x1679: 0x4059a020, 0x167a: 0x4059a220, 0x167b: 0x4059a420,\n\t0x167c: 0x4059a620, 0x167d: 0x4059a820, 0x167e: 0x4059aa20, 0x167f: 0x4059ac20,\n\t// Block 0x5a, offset 0x1680\n\t0x1680: 0x4059ae20, 0x1681: 0x4059b020, 0x1682: 0x4059b220, 0x1683: 0x4059b420,\n\t0x1684: 0x4059b620, 0x1685: 0x4059b820, 0x1686: 0x4059ba20, 0x1687: 0x4059bc20,\n\t0x1688: 0x4059be20, 0x1689: 0x4059c020, 0x168a: 0x4059c220, 0x168b: 0x4059c420,\n\t0x168c: 0x4059c620, 0x168d: 0x4059c820, 0x168e: 0x4059ca20, 0x168f: 0x4059cc20,\n\t0x1690: 0x4059ce20, 0x1691: 0x4059d020, 0x1692: 0x4059d220, 0x1693: 0x4059d420,\n\t0x1694: 0x4059d620, 0x1695: 0x4059d820, 0x1696: 0x4059da20, 0x1697: 0x4059dc20,\n\t0x1698: 0x4059de20, 0x1699: 0x4059e020, 0x169a: 0x4059e220, 0x169b: 0x4059e420,\n\t0x169c: 0x4059e620, 0x169d: 0x4059e820, 0x169e: 0x4059ea20, 0x169f: 0x4059ec20,\n\t0x16a0: 0x4059ee20, 0x16a1: 0x4059f020, 0x16a2: 0x4059f220, 0x16a3: 0x4059f420,\n\t0x16a4: 0x4059f620, 0x16a5: 0x4059f820, 0x16a6: 0x4059fa20, 0x16a7: 0x4059fc20,\n\t0x16a8: 0x4059fe20, 0x16a9: 0x405a0020, 0x16aa: 0x405a0220, 0x16ab: 0x405a0420,\n\t0x16ac: 0x405a0620, 0x16ad: 0x4005d420, 0x16ae: 0x4002f420, 0x16af: 0x40581820,\n\t0x16b0: 0x40583a20, 0x16b1: 0x40584c20, 0x16b2: 0x40584e20, 0x16b3: 0x40585020,\n\t0x16b4: 0x40585220, 0x16b5: 0x40585420, 0x16b6: 0x40585620, 0x16b7: 0x405a0820,\n\t0x16b8: 0x405a0a20, 0x16b9: 0x405a0c20, 0x16ba: 0x405a0e20, 0x16bb: 0x405a1020,\n\t0x16bc: 0x405a1220, 0x16bd: 0x405a1420, 0x16be: 0x405a1620, 0x16bf: 0x405a1820,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x00021284, 0x16c1: 0x405aa620, 0x16c2: 0x405aa820, 0x16c3: 0x405aaa20,\n\t0x16c4: 0x405aac20, 0x16c5: 0x405aae20, 0x16c6: 0x405ab020, 0x16c7: 0x405ab220,\n\t0x16c8: 0x405ab420, 0x16c9: 0x405ab620, 0x16ca: 0x405ab820, 0x16cb: 0x405aba20,\n\t0x16cc: 0x405abc20, 0x16cd: 0x405abe20, 0x16ce: 0x405ac020, 0x16cf: 0x405ac220,\n\t0x16d0: 0x405ac420, 0x16d1: 0x405ac620, 0x16d2: 0x405ac820, 0x16d3: 0x405aca20,\n\t0x16d4: 0x405acc20, 0x16d5: 0x405ace20, 0x16d6: 0x405ad020, 0x16d7: 0x405ad220,\n\t0x16d8: 0x405ad420, 0x16d9: 0x405ad620, 0x16da: 0x405ad820, 0x16db: 0x40040820,\n\t0x16dc: 0x40040a20,\n\t0x16e0: 0x405ada20, 0x16e1: 0xe000202d, 0x16e2: 0x405adc20, 0x16e3: 0x405b1420,\n\t0x16e4: 0xe0002030, 0x16e5: 0xe0002033, 0x16e6: 0x405ade20, 0x16e7: 0xe0002036,\n\t0x16e8: 0x405ae020, 0x16e9: 0xe000203c, 0x16ea: 0x405b1020, 0x16eb: 0x405b1220,\n\t0x16ec: 0xe000203f, 0x16ed: 0xe0002042, 0x16ee: 0xe0002045, 0x16ef: 0x405ae220,\n\t0x16f0: 0x405ae420, 0x16f1: 0x405ae620, 0x16f2: 0x405ae820, 0x16f3: 0xe0002048,\n\t0x16f4: 0xe000204b, 0x16f5: 0xe000204e, 0x16f6: 0xe0002051, 0x16f7: 0x405aea20,\n\t0x16f8: 0x405b1a20, 0x16f9: 0x405aec20, 0x16fa: 0x405aee20, 0x16fb: 0xe0002057,\n\t0x16fc: 0xe000205a, 0x16fd: 0xe000205d, 0x16fe: 0x405af020, 0x16ff: 0xe0002060,\n\t// Block 0x5c, offset 0x1700\n\t0x1700: 0xe0002063, 0x1701: 0x405af220, 0x1702: 0xe0002066, 0x1703: 0x405af420,\n\t0x1704: 0xe0002069, 0x1705: 0x405af620, 0x1706: 0xe000206c, 0x1707: 0x405af820,\n\t0x1708: 0x405afa20, 0x1709: 0x405afc20, 0x170a: 0x405afe20, 0x170b: 0xe0002075,\n\t0x170c: 0xe000207b, 0x170d: 0xe000207e, 0x170e: 0xe0002081, 0x170f: 0x405b0020,\n\t0x1710: 0xe0002084, 0x1711: 0xe0002087, 0x1712: 0x405b0220, 0x1713: 0xe000208a,\n\t0x1714: 0xe000208d, 0x1715: 0xe0002072, 0x1716: 0x405b0420, 0x1717: 0x405b0620,\n\t0x1718: 0xe0002090, 0x1719: 0xe0002093, 0x171a: 0x405b0820, 0x171b: 0xe000209b,\n\t0x171c: 0x405b0a20, 0x171d: 0xe000209e, 0x171e: 0x405b0c20, 0x171f: 0x405b0e20,\n\t0x1720: 0x405b1620, 0x1721: 0x405b1e20, 0x1722: 0x405b2020, 0x1723: 0x405b1820,\n\t0x1724: 0x405b1c20, 0x1725: 0x405b2220, 0x1726: 0x405b2420, 0x1727: 0xe00020a1,\n\t0x1728: 0xe00020a4, 0x1729: 0xe0002054, 0x172a: 0xe0002078, 0x172b: 0x4002b220,\n\t0x172c: 0x4002b420, 0x172d: 0x4002b620, 0x172e: 0xe000206f, 0x172f: 0xe0002096,\n\t0x1730: 0xe0002039,\n\t// Block 0x5d, offset 0x1740\n\t0x1740: 0x404c7620, 0x1741: 0x404c7820, 0x1742: 0x404c7a20, 0x1743: 0x404c7c20,\n\t0x1744: 0x404c7e20, 0x1745: 0x404c8020, 0x1746: 0x404c8220, 0x1747: 0x404c8420,\n\t0x1748: 0x404c8620, 0x1749: 0x404c8820, 0x174a: 0x404c8a20, 0x174b: 0x404c8c20,\n\t0x174c: 0x404c8e20, 0x174e: 0x404c9020, 0x174f: 0x404c9220,\n\t0x1750: 0x404c9420, 0x1751: 0x404c9620, 0x1752: 0x404c9820, 0x1753: 0x404c9a20,\n\t0x1754: 0x8209264e,\n\t0x1760: 0x404c9e20, 0x1761: 0x404ca020, 0x1762: 0x404ca220, 0x1763: 0x404ca420,\n\t0x1764: 0x404ca620, 0x1765: 0x404ca820, 0x1766: 0x404caa20, 0x1767: 0x404cac20,\n\t0x1768: 0x404cae20, 0x1769: 0x404cb020, 0x176a: 0x404cb220, 0x176b: 0x404cb420,\n\t0x176c: 0x404cb620, 0x176d: 0x404cb820, 0x176e: 0x404cba20, 0x176f: 0x404cbc20,\n\t0x1770: 0x404cbe20, 0x1771: 0x404cc020, 0x1772: 0x404cc220, 0x1773: 0x404cc420,\n\t0x1774: 0x82092663, 0x1775: 0x40031c20, 0x1776: 0x40031e20,\n\t// Block 0x5e, offset 0x1780\n\t0x1780: 0x404cc820, 0x1781: 0x404cca20, 0x1782: 0x404ccc20, 0x1783: 0x404cce20,\n\t0x1784: 0x404cd020, 0x1785: 0x404cd220, 0x1786: 0x404cd420, 0x1787: 0x404cd620,\n\t0x1788: 0x404cd820, 0x1789: 0x404cda20, 0x178a: 0x404cdc20, 0x178b: 0x404cde20,\n\t0x178c: 0x404ce020, 0x178d: 0x404ce220, 0x178e: 0x404ce420, 0x178f: 0x404ce620,\n\t0x1790: 0x404ce820, 0x1791: 0x404cea20, 0x1792: 0x404cec20, 0x1793: 0x404cee20,\n\t0x17a0: 0x404cf020, 0x17a1: 0x404cf220, 0x17a2: 0x404cf420, 0x17a3: 0x404cf620,\n\t0x17a4: 0x404cf820, 0x17a5: 0x404cfa20, 0x17a6: 0x404cfc20, 0x17a7: 0x404cfe20,\n\t0x17a8: 0x404d0020, 0x17a9: 0x404d0220, 0x17aa: 0x404d0420, 0x17ab: 0x404d0620,\n\t0x17ac: 0x404d0820, 0x17ae: 0x404d0a20, 0x17af: 0x404d0c20,\n\t0x17b0: 0x404d0e20, 0x17b2: 0x404d1020, 0x17b3: 0x404d1220,\n\t// Block 0x5f, offset 0x17c0\n\t0x17c0: 0x404fa420, 0x17c1: 0x404fa620, 0x17c2: 0x404fa820, 0x17c3: 0x404faa20,\n\t0x17c4: 0x404fac20, 0x17c5: 0x404fae20, 0x17c6: 0x404fb020, 0x17c7: 0x404fb220,\n\t0x17c8: 0x404fb420, 0x17c9: 0x404fb620, 0x17ca: 0x404fb820, 0x17cb: 0x404fba20,\n\t0x17cc: 0x404fbc20, 0x17cd: 0x404fbe20, 0x17ce: 0x404fc020, 0x17cf: 0x404fc220,\n\t0x17d0: 0x404fc420, 0x17d1: 0x404fc620, 0x17d2: 0x404fc820, 0x17d3: 0x404fca20,\n\t0x17d4: 0x404fcc20, 0x17d5: 0x404fce20, 0x17d6: 0x404fd020, 0x17d7: 0x404fd220,\n\t0x17d8: 0x404fd420, 0x17d9: 0x404fd620, 0x17da: 0x404fd820, 0x17db: 0x404fda20,\n\t0x17dc: 0x404fdc20, 0x17dd: 0x404fde20, 0x17de: 0x404fe020, 0x17df: 0x404fe220,\n\t0x17e0: 0x404fe420, 0x17e1: 0x404fe620, 0x17e2: 0x404fe820, 0x17e3: 0x404fec20,\n\t0x17e4: 0x404fee20, 0x17e5: 0x404ff020, 0x17e6: 0x404ff220, 0x17e7: 0x404ff420,\n\t0x17e8: 0x404ff620, 0x17e9: 0x404ff820, 0x17ea: 0x404ffa20, 0x17eb: 0x404ffc20,\n\t0x17ec: 0x404ffe20, 0x17ed: 0x40500020, 0x17ee: 0x40500220, 0x17ef: 0x40500420,\n\t0x17f0: 0x40500620, 0x17f1: 0x40500820, 0x17f2: 0x40500a20, 0x17f3: 0x40500c20,\n\t0x17f4: 0xa0000000, 0x17f5: 0xa0000000, 0x17f6: 0x40500e20, 0x17f7: 0x40501020,\n\t0x17f8: 0x40501220, 0x17f9: 0x40501420, 0x17fa: 0x40501620, 0x17fb: 0x40501820,\n\t0x17fc: 0x40501a20, 0x17fd: 0x40501c20, 0x17fe: 0x40501e20, 0x17ff: 0x40502020,\n\t// Block 0x60, offset 0x1800\n\t0x1800: 0x40502220, 0x1801: 0x40502420, 0x1802: 0x40502620, 0x1803: 0x40502820,\n\t0x1804: 0x40502a20, 0x1805: 0x40502c20, 0x1806: 0xa000f302, 0x1807: 0xa000f402,\n\t0x1808: 0xa0011402, 0x1809: 0xa0011502, 0x180a: 0xa0011602, 0x180b: 0xa0005f02,\n\t0x180c: 0xa0005f02, 0x180d: 0xa0005f02, 0x180e: 0xa0005f02, 0x180f: 0xa0005f02,\n\t0x1810: 0xa0005f02, 0x1811: 0xa0005f02, 0x1812: 0x82092817, 0x1813: 0xa0000000,\n\t0x1814: 0x40032620, 0x1815: 0x40032820, 0x1816: 0x4002ac20, 0x1817: 0x4027bc20,\n\t0x1818: 0x4005bc20, 0x1819: 0x4005be20, 0x181a: 0x4005c020, 0x181b: 0x4027f620,\n\t0x181c: 0x404fea20, 0x181d: 0xae605f02,\n\t0x1820: 0xe00001b5, 0x1821: 0xe0000249, 0x1822: 0xe0000361, 0x1823: 0xe000043b,\n\t0x1824: 0xe0000510, 0x1825: 0xe00005da, 0x1826: 0xe00006a5, 0x1827: 0xe000074d,\n\t0x1828: 0xe00007f9, 0x1829: 0xe000089e,\n\t0x1830: 0xe00001b8, 0x1831: 0xe000024c, 0x1832: 0xe0000364, 0x1833: 0xe000043e,\n\t0x1834: 0xe0000513, 0x1835: 0xe00005dd, 0x1836: 0xe00006a8, 0x1837: 0xe0000750,\n\t0x1838: 0xe00007fc, 0x1839: 0xe00008a1,\n\t// Block 0x61, offset 0x1840\n\t0x1840: 0x40056a20, 0x1841: 0x4002e620, 0x1842: 0x40025220, 0x1843: 0x4002f020,\n\t0x1844: 0x4002a620, 0x1845: 0x4002a820, 0x1846: 0x40022220, 0x1847: 0x40022420,\n\t0x1848: 0x40025420, 0x1849: 0x4002f220, 0x184a: 0xa0000000, 0x184b: 0xa0000000,\n\t0x184c: 0xa0000000, 0x184d: 0xa0000000, 0x184e: 0x40020c20,\n\t0x1850: 0xe00001c7, 0x1851: 0xe000025b, 0x1852: 0xe0000373, 0x1853: 0xe000044d,\n\t0x1854: 0xe0000522, 0x1855: 0xe00005ec, 0x1856: 0xe00006b7, 0x1857: 0xe000075f,\n\t0x1858: 0xe000080b, 0x1859: 0xe00008b0,\n\t0x1860: 0x40533820, 0x1861: 0x40533c20, 0x1862: 0x40534220, 0x1863: 0x40534e20,\n\t0x1864: 0x40535220, 0x1865: 0x40535820, 0x1866: 0x40535c20, 0x1867: 0x40536220,\n\t0x1868: 0x40536420, 0x1869: 0x40536620, 0x186a: 0x40537020, 0x186b: 0x40537420,\n\t0x186c: 0x40537a20, 0x186d: 0x40537e20, 0x186e: 0x40538820, 0x186f: 0x40538c20,\n\t0x1870: 0x40538e20, 0x1871: 0x40539020, 0x1872: 0x40539e20, 0x1873: 0x4053a420,\n\t0x1874: 0x4053aa20, 0x1875: 0x4053b420, 0x1876: 0x4053bc20, 0x1877: 0x4053c220,\n\t0x1878: 0x4053c620, 0x1879: 0x4053ca20, 0x187a: 0x4053d020, 0x187b: 0x4053da20,\n\t0x187c: 0x4053dc20, 0x187d: 0x4053e220, 0x187e: 0x4053ea20, 0x187f: 0x4053f020,\n\t// Block 0x62, offset 0x1880\n\t0x1880: 0x4053f220, 0x1881: 0x4053f420, 0x1882: 0x4053f620, 0x1883: 0x40533620,\n\t0x1884: 0x40533e20, 0x1885: 0x40534420, 0x1886: 0x40535020, 0x1887: 0x40535420,\n\t0x1888: 0x40535a20, 0x1889: 0x40535e20, 0x188a: 0x40536820, 0x188b: 0x40537220,\n\t0x188c: 0x40537620, 0x188d: 0x40537c20, 0x188e: 0x40538020, 0x188f: 0x40538a20,\n\t0x1890: 0x4053a020, 0x1891: 0x4053a620, 0x1892: 0x4053ac20, 0x1893: 0x4053b620,\n\t0x1894: 0x4053de20, 0x1895: 0x4053be20, 0x1896: 0x4053c820, 0x1897: 0x4053d220,\n\t0x1898: 0x4053e620, 0x1899: 0x4053ec20, 0x189a: 0x4053f820, 0x189b: 0x4053fa20,\n\t0x189c: 0x4053b020, 0x189d: 0x40534020, 0x189e: 0x40534620, 0x189f: 0x40534c20,\n\t0x18a0: 0x40536020, 0x18a1: 0x40535620, 0x18a2: 0x40536a20, 0x18a3: 0x4053d420,\n\t0x18a4: 0x40538220, 0x18a5: 0x40538620, 0x18a6: 0x40537820, 0x18a7: 0x40539220,\n\t0x18a8: 0x4053a220, 0x18a9: 0x4053a820, 0x18aa: 0x4053b820, 0x18ab: 0x4053cc20,\n\t0x18ac: 0x4053e820, 0x18ad: 0x4053ee20, 0x18ae: 0x4053e020, 0x18af: 0x4053e420,\n\t0x18b0: 0x4053fc20, 0x18b1: 0x4053ae20, 0x18b2: 0x4053c020, 0x18b3: 0x40534820,\n\t0x18b4: 0x4053d620, 0x18b5: 0x4053c420, 0x18b6: 0x4053ce20, 0x18b7: 0x4053ba20,\n\t// Block 0x63, offset 0x18c0\n\t0x18c0: 0x40532820, 0x18c1: 0x40532a20, 0x18c2: 0x40532c20, 0x18c3: 0x40532e20,\n\t0x18c4: 0x40533020, 0x18c5: 0x40533220, 0x18c6: 0x40533420, 0x18c7: 0x40533a20,\n\t0x18c8: 0x40534a20, 0x18c9: 0x4053d820, 0x18ca: 0x40536c20, 0x18cb: 0x4053b220,\n\t0x18cc: 0x4053fe20, 0x18cd: 0x40540220, 0x18ce: 0x40540420, 0x18cf: 0x40540820,\n\t0x18d0: 0x40540a20, 0x18d1: 0x40541020, 0x18d2: 0x40541420, 0x18d3: 0x40541620,\n\t0x18d4: 0x40541a20, 0x18d5: 0x40541e20, 0x18d6: 0x40542220, 0x18d7: 0x40542420,\n\t0x18d8: 0x40540c20, 0x18d9: 0x40542020, 0x18da: 0x40538420, 0x18db: 0x40536e20,\n\t0x18dc: 0x40539420, 0x18dd: 0x40539620, 0x18de: 0x40540020, 0x18df: 0x40540620,\n\t0x18e0: 0x40540e20, 0x18e1: 0x40541220, 0x18e2: 0x40539820, 0x18e3: 0x40541c20,\n\t0x18e4: 0x40539a20, 0x18e5: 0x40539c20, 0x18e6: 0x40542620, 0x18e7: 0x40542820,\n\t0x18e8: 0x40541820, 0x18e9: 0x82e42a16, 0x18ea: 0x40542a20,\n\t0x18f0: 0x405a1a20, 0x18f1: 0x405a1c20, 0x18f2: 0x405a1e20, 0x18f3: 0x405a2020,\n\t0x18f4: 0x405a2220, 0x18f5: 0x405a2420, 0x18f6: 0x405a2620, 0x18f7: 0x405a2820,\n\t0x18f8: 0x405a2a20, 0x18f9: 0x405a2c20, 0x18fa: 0x405a2e20, 0x18fb: 0x405a3020,\n\t0x18fc: 0x405a3220, 0x18fd: 0x405a3420, 0x18fe: 0x405a3620, 0x18ff: 0x405a3820,\n\t// Block 0x64, offset 0x1900\n\t0x1900: 0x405a3a20, 0x1901: 0x405a3c20, 0x1902: 0x405a3e20, 0x1903: 0x405a4020,\n\t0x1904: 0x405a4220, 0x1905: 0x405a4420, 0x1906: 0x405a4620, 0x1907: 0x405a4820,\n\t0x1908: 0x405a4a20, 0x1909: 0x405a4c20, 0x190a: 0x405a4e20, 0x190b: 0x405a5020,\n\t0x190c: 0x405a5220, 0x190d: 0x405a5420, 0x190e: 0x405a5620, 0x190f: 0x405a5820,\n\t0x1910: 0x405a5a20, 0x1911: 0x405a5c20, 0x1912: 0x405a5e20, 0x1913: 0x405a6020,\n\t0x1914: 0x405a6220, 0x1915: 0x405a6420, 0x1916: 0x405a6620, 0x1917: 0x405a6820,\n\t0x1918: 0x405a6a20, 0x1919: 0x405a6c20, 0x191a: 0x405a6e20, 0x191b: 0x405a7020,\n\t0x191c: 0x405a7220, 0x191d: 0x405a7420, 0x191e: 0x405a7620, 0x191f: 0x405a7820,\n\t0x1920: 0x405a7a20, 0x1921: 0x405a7c20, 0x1922: 0x405a7e20, 0x1923: 0x405a8020,\n\t0x1924: 0x405a8220, 0x1925: 0x405a8420, 0x1926: 0x405a8620, 0x1927: 0x405a8820,\n\t0x1928: 0x405a8a20, 0x1929: 0x405a8c20, 0x192a: 0x405a8e20, 0x192b: 0x405a9020,\n\t0x192c: 0x405a9220, 0x192d: 0x405a9420, 0x192e: 0x405a9620, 0x192f: 0x405a9820,\n\t0x1930: 0x405a9a20, 0x1931: 0x405a9c20, 0x1932: 0x405a9e20, 0x1933: 0x405aa020,\n\t0x1934: 0x405aa220, 0x1935: 0x405aa420,\n\t// Block 0x65, offset 0x1940\n\t0x1940: 0x404c1220, 0x1941: 0x404c1420, 0x1942: 0x404c1620, 0x1943: 0x404c1820,\n\t0x1944: 0x404c1a20, 0x1945: 0x404c1c20, 0x1946: 0x404c1e20, 0x1947: 0x404c2020,\n\t0x1948: 0x404c2220, 0x1949: 0x404c2420, 0x194a: 0x404c2620, 0x194b: 0x404c2820,\n\t0x194c: 0x404c2a20, 0x194d: 0x404c2c20, 0x194e: 0x404c2e20, 0x194f: 0x404c3020,\n\t0x1950: 0x404c3220, 0x1951: 0x404c3420, 0x1952: 0x404c3620, 0x1953: 0x404c3820,\n\t0x1954: 0x404c3a20, 0x1955: 0x404c3c20, 0x1956: 0x404c3e20, 0x1957: 0x404c4020,\n\t0x1958: 0x404c4220, 0x1959: 0x404c4420, 0x195a: 0x404c4620, 0x195b: 0x404c4820,\n\t0x195c: 0x404c4a20,\n\t0x1960: 0x404c4c20, 0x1961: 0x404c4e20, 0x1962: 0x404c5020, 0x1963: 0x404c5220,\n\t0x1964: 0x404c5420, 0x1965: 0x404c5620, 0x1966: 0x404c5820, 0x1967: 0x404c5a20,\n\t0x1968: 0x404c5c20, 0x1969: 0x404c5e20, 0x196a: 0x404c6020, 0x196b: 0x404c6220,\n\t0x1970: 0x404c6420, 0x1971: 0x404c6620, 0x1972: 0x404c6820, 0x1973: 0x404c6a20,\n\t0x1974: 0x404c6c20, 0x1975: 0x404c6e20, 0x1976: 0x404c7020, 0x1977: 0x404c7220,\n\t0x1978: 0x404c7420, 0x1979: 0xade11f02, 0x197a: 0xae612002, 0x197b: 0xadc12102,\n\t// Block 0x66, offset 0x1980\n\t0x1980: 0x4007a620,\n\t0x1984: 0x4002c220, 0x1985: 0x4002d220, 0x1986: 0xe000018e, 0x1987: 0xe000021f,\n\t0x1988: 0xe000033a, 0x1989: 0xe0000414, 0x198a: 0xe00004e9, 0x198b: 0xe00005b3,\n\t0x198c: 0xe000067e, 0x198d: 0xe0000726, 0x198e: 0xe00007d2, 0x198f: 0xe0000877,\n\t0x1990: 0x40503020, 0x1991: 0x40503220, 0x1992: 0x40503420, 0x1993: 0x40503620,\n\t0x1994: 0x40503820, 0x1995: 0x40503a20, 0x1996: 0x40503c20, 0x1997: 0x40503e20,\n\t0x1998: 0x40504020, 0x1999: 0x40504220, 0x199a: 0x40504420, 0x199b: 0x40504620,\n\t0x199c: 0x40504820, 0x199d: 0x40504a20, 0x199e: 0x40504c20, 0x199f: 0x40504e20,\n\t0x19a0: 0x40505020, 0x19a1: 0x40505220, 0x19a2: 0x40505420, 0x19a3: 0x40505620,\n\t0x19a4: 0x40505820, 0x19a5: 0x40505a20, 0x19a6: 0x40505c20, 0x19a7: 0x40505e20,\n\t0x19a8: 0x40506020, 0x19a9: 0x40506220, 0x19aa: 0x40506420, 0x19ab: 0x40506620,\n\t0x19ac: 0x40506820, 0x19ad: 0x40506a20,\n\t0x19b0: 0x40506c20, 0x19b1: 0x40506e20, 0x19b2: 0x40507020, 0x19b3: 0x40507220,\n\t0x19b4: 0x40507420,\n\t// Block 0x67, offset 0x19c0\n\t0x19c0: 0x40507620, 0x19c1: 0x40507820, 0x19c2: 0x40507a20, 0x19c3: 0x40507c20,\n\t0x19c4: 0x40507e20, 0x19c5: 0x40508020, 0x19c6: 0x40508220, 0x19c7: 0x40508420,\n\t0x19c8: 0x40508620, 0x19c9: 0x40508820, 0x19ca: 0x40508a20, 0x19cb: 0x40508c20,\n\t0x19cc: 0x40508e20, 0x19cd: 0x40509020, 0x19ce: 0x40509220, 0x19cf: 0x40509420,\n\t0x19d0: 0x40509620, 0x19d1: 0x40509820, 0x19d2: 0x40509a20, 0x19d3: 0x40509c20,\n\t0x19d4: 0x40509e20, 0x19d5: 0x4050a020, 0x19d6: 0x4050a220, 0x19d7: 0x4050a420,\n\t0x19d8: 0x4050a620, 0x19d9: 0x4050a820, 0x19da: 0x4050aa20, 0x19db: 0x4050ac20,\n\t0x19dc: 0x4050ae20, 0x19dd: 0x4050b020, 0x19de: 0x4050b220, 0x19df: 0x4050b420,\n\t0x19e0: 0x4050b620, 0x19e1: 0x4050b820, 0x19e2: 0x4050ba20, 0x19e3: 0x4050bc20,\n\t0x19e4: 0x4050be20, 0x19e5: 0x4050c020, 0x19e6: 0x4050c220, 0x19e7: 0x4050c420,\n\t0x19e8: 0x4050c620, 0x19e9: 0x4050c820, 0x19ea: 0x4050ca20, 0x19eb: 0x4050cc20,\n\t0x19f0: 0x4050ce20, 0x19f1: 0x4050d020, 0x19f2: 0x4050d220, 0x19f3: 0x4050d420,\n\t0x19f4: 0x4050d620, 0x19f5: 0x4050d820, 0x19f6: 0x4050da20, 0x19f7: 0x4050dc20,\n\t0x19f8: 0x4050de20, 0x19f9: 0x4050e020, 0x19fa: 0x4050e220, 0x19fb: 0x4050e420,\n\t0x19fc: 0x4050e620, 0x19fd: 0x4050e820, 0x19fe: 0x4050ea20, 0x19ff: 0x4050ec20,\n\t// Block 0x68, offset 0x1a00\n\t0x1a00: 0x4050ee20, 0x1a01: 0x4050f020, 0x1a02: 0x4050f220, 0x1a03: 0x4050f420,\n\t0x1a04: 0x4050f620, 0x1a05: 0x4050f820, 0x1a06: 0x4050fa20, 0x1a07: 0x4050fc20,\n\t0x1a08: 0x4050fe20, 0x1a09: 0x40510020,\n\t0x1a10: 0xe0000191, 0x1a11: 0xe0000222, 0x1a12: 0xe000033d, 0x1a13: 0xe0000417,\n\t0x1a14: 0xe00004ec, 0x1a15: 0xe00005b6, 0x1a16: 0xe0000681, 0x1a17: 0xe0000729,\n\t0x1a18: 0xe00007d5, 0x1a19: 0xe000087a, 0x1a1a: 0xe0000225,\n\t0x1a1e: 0xe0002022, 0x1a1f: 0xe0002025,\n\t0x1a20: 0x4007b220, 0x1a21: 0x4007b420, 0x1a22: 0x4007b620, 0x1a23: 0x4007b820,\n\t0x1a24: 0x4007ba20, 0x1a25: 0x4007bc20, 0x1a26: 0x4007be20, 0x1a27: 0x4007c020,\n\t0x1a28: 0x4007c220, 0x1a29: 0x4007c420, 0x1a2a: 0x4007c620, 0x1a2b: 0x4007c820,\n\t0x1a2c: 0x4007ca20, 0x1a2d: 0x4007cc20, 0x1a2e: 0x4007ce20, 0x1a2f: 0x4007d020,\n\t0x1a30: 0x4007d220, 0x1a31: 0x4007d420, 0x1a32: 0x4007d620, 0x1a33: 0x4007d820,\n\t0x1a34: 0x4007da20, 0x1a35: 0x4007dc20, 0x1a36: 0x4007de20, 0x1a37: 0x4007e020,\n\t0x1a38: 0x4007e220, 0x1a39: 0x4007e420, 0x1a3a: 0x4007e620, 0x1a3b: 0x4007e820,\n\t0x1a3c: 0x4007ea20, 0x1a3d: 0x4007ec20, 0x1a3e: 0x4007ee20, 0x1a3f: 0x4007f020,\n\t// Block 0x69, offset 0x1a40\n\t0x1a40: 0x404d1420, 0x1a41: 0x404d1620, 0x1a42: 0x404d1820, 0x1a43: 0x404d1a20,\n\t0x1a44: 0x404d1c20, 0x1a45: 0x404d1e20, 0x1a46: 0x404d2020, 0x1a47: 0x404d2220,\n\t0x1a48: 0x404d2420, 0x1a49: 0x404d2620, 0x1a4a: 0x404d2820, 0x1a4b: 0x404d2a20,\n\t0x1a4c: 0x404d2c20, 0x1a4d: 0x404d2e20, 0x1a4e: 0x404d3020, 0x1a4f: 0x404d3220,\n\t0x1a50: 0x404d3420, 0x1a51: 0x404d3620, 0x1a52: 0x404d3820, 0x1a53: 0x404d3a20,\n\t0x1a54: 0x404d3c20, 0x1a55: 0x404d3e20, 0x1a56: 0x404d4020, 0x1a57: 0x82e626a1,\n\t0x1a58: 0x82dc26a2, 0x1a59: 0x404d4620, 0x1a5a: 0x404d4820, 0x1a5b: 0x404d4a20,\n\t0x1a5e: 0x40036620, 0x1a5f: 0x40036820,\n\t0x1a60: 0x40510220, 0x1a61: 0x40510420, 0x1a62: 0x40510620, 0x1a63: 0x40510820,\n\t0x1a64: 0x40510a20, 0x1a65: 0x40510c20, 0x1a66: 0x40510e20, 0x1a67: 0x40511020,\n\t0x1a68: 0x40511220, 0x1a69: 0x40511420, 0x1a6a: 0x40511620, 0x1a6b: 0x40511820,\n\t0x1a6c: 0x40511a20, 0x1a6d: 0x40511c20, 0x1a6e: 0x40511e20, 0x1a6f: 0x40512020,\n\t0x1a70: 0x40512220, 0x1a71: 0x40512420, 0x1a72: 0x40512620, 0x1a73: 0x40512820,\n\t0x1a74: 0x40512a20, 0x1a75: 0x40512c20, 0x1a76: 0x40512e20, 0x1a77: 0x40513020,\n\t0x1a78: 0x40513220, 0x1a79: 0x40513420, 0x1a7a: 0x40513620, 0x1a7b: 0x40513820,\n\t0x1a7c: 0x40513a20, 0x1a7d: 0x40513c20, 0x1a7e: 0x40513e20, 0x1a7f: 0x40514020,\n\t// Block 0x6a, offset 0x1a80\n\t0x1a80: 0x40514220, 0x1a81: 0x40514420, 0x1a82: 0x40514620, 0x1a83: 0x40514820,\n\t0x1a84: 0x40514a20, 0x1a85: 0x40514c20, 0x1a86: 0x40514e20, 0x1a87: 0x40515020,\n\t0x1a88: 0x40515220, 0x1a89: 0x40515420, 0x1a8a: 0x40515620, 0x1a8b: 0x40515820,\n\t0x1a8c: 0x40515a20, 0x1a8d: 0x40516c20, 0x1a8e: 0x40516e20, 0x1a8f: 0x40517020,\n\t0x1a90: 0x40517220, 0x1a91: 0x40517420, 0x1a92: 0x40517620, 0x1a93: 0x40515c20,\n\t0x1a94: 0xe0002029, 0x1a95: 0x40516020, 0x1a96: 0x40516220, 0x1a97: 0x40516420,\n\t0x1a98: 0x00510e84, 0x1a99: 0x00510e84, 0x1a9a: 0x00513884, 0x1a9b: 0x00513884,\n\t0x1a9c: 0x40516620, 0x1a9d: 0x40516820, 0x1a9e: 0x40516a20,\n\t0x1aa0: 0x820928cd, 0x1aa1: 0x40517820, 0x1aa2: 0x40517c20, 0x1aa3: 0x40517e20,\n\t0x1aa4: 0x00517e84, 0x1aa5: 0x40518020, 0x1aa6: 0x40518220, 0x1aa7: 0x40518420,\n\t0x1aa8: 0x40518620, 0x1aa9: 0x40518820, 0x1aaa: 0x40518a20, 0x1aab: 0x40515e20,\n\t0x1aac: 0x40517a20, 0x1aad: 0x40519820, 0x1aae: 0x40518c20, 0x1aaf: 0x40518e20,\n\t0x1ab0: 0x40519220, 0x1ab1: 0x40519420, 0x1ab2: 0x40519620, 0x1ab3: 0x40519020,\n\t0x1ab4: 0xa000f302, 0x1ab5: 0xae611702, 0x1ab6: 0xae611802, 0x1ab7: 0xae611902,\n\t0x1ab8: 0xae611a02, 0x1ab9: 0xae611b02, 0x1aba: 0xae611c02, 0x1abb: 0xae611d02,\n\t0x1abc: 0xae611e02, 0x1abf: 0xadc00000,\n\t// Block 0x6b, offset 0x1ac0\n\t0x1ac0: 0xe0000194, 0x1ac1: 0xe0000228, 0x1ac2: 0xe0000340, 0x1ac3: 0xe000041a,\n\t0x1ac4: 0xe00004ef, 0x1ac5: 0xe00005b9, 0x1ac6: 0xe0000684, 0x1ac7: 0xe000072c,\n\t0x1ac8: 0xe00007d8, 0x1ac9: 0xe000087d,\n\t0x1ad0: 0xe0000197, 0x1ad1: 0xe000022b, 0x1ad2: 0xe0000343, 0x1ad3: 0xe000041d,\n\t0x1ad4: 0xe00004f2, 0x1ad5: 0xe00005bc, 0x1ad6: 0xe0000687, 0x1ad7: 0xe000072f,\n\t0x1ad8: 0xe00007db, 0x1ad9: 0xe0000880,\n\t0x1ae0: 0x4005c220, 0x1ae1: 0x4005c420, 0x1ae2: 0x4005c620, 0x1ae3: 0x4005c820,\n\t0x1ae4: 0x4005ca20, 0x1ae5: 0x4005cc20, 0x1ae6: 0x4005ce20, 0x1ae7: 0x4027be20,\n\t0x1ae8: 0x40032a20, 0x1ae9: 0x40032c20, 0x1aea: 0x40032e20, 0x1aeb: 0x40033020,\n\t0x1aec: 0x4005d020, 0x1aed: 0x4005d220,\n\t// Block 0x6c, offset 0x1b00\n\t0x1b00: 0xa000f202, 0x1b01: 0xa000f202, 0x1b02: 0xa000f302, 0x1b03: 0xa000f702,\n\t0x1b04: 0xa000f402, 0x1b05: 0xc3190821, 0x1b06: 0x40522820, 0x1b07: 0xc31b0821,\n\t0x1b08: 0x40522c20, 0x1b09: 0xc31d0821, 0x1b0a: 0x40523020, 0x1b0b: 0xc31f0821,\n\t0x1b0c: 0x40523420, 0x1b0d: 0xc3210821, 0x1b0e: 0x40523820, 0x1b0f: 0x40523a20,\n\t0x1b10: 0x40523c20, 0x1b11: 0xc3230821, 0x1b12: 0x40524020, 0x1b13: 0x40524220,\n\t0x1b14: 0x40524820, 0x1b15: 0x40524a20, 0x1b16: 0x40524c20, 0x1b17: 0x40524e20,\n\t0x1b18: 0x40525020, 0x1b19: 0x40525220, 0x1b1a: 0x40525420, 0x1b1b: 0x40525620,\n\t0x1b1c: 0x40525820, 0x1b1d: 0x40525a20, 0x1b1e: 0x40525c20, 0x1b1f: 0x40525e20,\n\t0x1b20: 0x40526020, 0x1b21: 0x40526220, 0x1b22: 0x40526420, 0x1b23: 0x40526820,\n\t0x1b24: 0x40526a20, 0x1b25: 0x40526c20, 0x1b26: 0x40526e20, 0x1b27: 0x40527020,\n\t0x1b28: 0x40527420, 0x1b29: 0x40527620, 0x1b2a: 0x40527820, 0x1b2b: 0x40527a20,\n\t0x1b2c: 0x40527c20, 0x1b2d: 0x40527e20, 0x1b2e: 0x40528020, 0x1b2f: 0x40528220,\n\t0x1b30: 0x40528620, 0x1b31: 0x40528820, 0x1b32: 0x40528a20, 0x1b33: 0x40529020,\n\t0x1b34: 0xa070f102, 0x1b35: 0x40529220, 0x1b36: 0x40529420, 0x1b37: 0x40529620,\n\t0x1b38: 0x40529820, 0x1b39: 0x40529a20, 0x1b3a: 0xc3250821, 0x1b3b: 0x40529e20,\n\t0x1b3c: 0xc3270821, 0x1b3d: 0x4052a220, 0x1b3e: 0xc3290821, 0x1b3f: 0xc32b0821,\n\t// Block 0x6d, offset 0x1b40\n\t0x1b40: 0x4052a820, 0x1b41: 0x4052aa20, 0x1b42: 0xc32d0821, 0x1b43: 0x4052ae20,\n\t0x1b44: 0x82092958, 0x1b45: 0x40524420, 0x1b46: 0x40524620, 0x1b47: 0x40526620,\n\t0x1b48: 0x40527220, 0x1b49: 0x40528420, 0x1b4a: 0x40528c20, 0x1b4b: 0x40528e20,\n\t0x1b50: 0xe00001be, 0x1b51: 0xe0000252, 0x1b52: 0xe000036a, 0x1b53: 0xe0000444,\n\t0x1b54: 0xe0000519, 0x1b55: 0xe00005e3, 0x1b56: 0xe00006ae, 0x1b57: 0xe0000756,\n\t0x1b58: 0xe0000802, 0x1b59: 0xe00008a7, 0x1b5a: 0x40036a20, 0x1b5b: 0x40036c20,\n\t0x1b5c: 0x4002f620, 0x1b5d: 0x4002ae20, 0x1b5e: 0x40033220, 0x1b5f: 0x40033420,\n\t0x1b60: 0x40022020, 0x1b61: 0x4007f220, 0x1b62: 0x4007f420, 0x1b63: 0x4007f620,\n\t0x1b64: 0x4007f820, 0x1b65: 0x4007fa20, 0x1b66: 0x4007fc20, 0x1b67: 0x4007fe20,\n\t0x1b68: 0x40080020, 0x1b69: 0x40080220, 0x1b6a: 0x40080420, 0x1b6b: 0xae600000,\n\t0x1b6c: 0xadc00000, 0x1b6d: 0xae600000, 0x1b6e: 0xae600000, 0x1b6f: 0xae600000,\n\t0x1b70: 0xae600000, 0x1b71: 0xae600000, 0x1b72: 0xae600000, 0x1b73: 0xae600000,\n\t0x1b74: 0x40080620, 0x1b75: 0x40080820, 0x1b76: 0x40080a20, 0x1b77: 0x40080c20,\n\t0x1b78: 0x40080e20, 0x1b79: 0x40081020, 0x1b7a: 0x40081220, 0x1b7b: 0x40081420,\n\t0x1b7c: 0x40081620,\n\t// Block 0x6e, offset 0x1b80\n\t0x1b80: 0xa000f302, 0x1b81: 0xa000f902, 0x1b82: 0xa000f402, 0x1b83: 0x4047d420,\n\t0x1b84: 0x4047d620, 0x1b85: 0x4047d820, 0x1b86: 0x4047da20, 0x1b87: 0x4047dc20,\n\t0x1b88: 0x4047de20, 0x1b89: 0x4047e020, 0x1b8a: 0x4047e220, 0x1b8b: 0x4047e620,\n\t0x1b8c: 0x4047e820, 0x1b8d: 0x4047ea20, 0x1b8e: 0x4047ec20, 0x1b8f: 0x4047ee20,\n\t0x1b90: 0x4047f020, 0x1b91: 0x4047f220, 0x1b92: 0x4047f420, 0x1b93: 0x4047f620,\n\t0x1b94: 0x4047f820, 0x1b95: 0x4047fa20, 0x1b96: 0x4047fc20, 0x1b97: 0x4047fe20,\n\t0x1b98: 0x40480020, 0x1b99: 0x40480420, 0x1b9a: 0x40480820, 0x1b9b: 0x40480c20,\n\t0x1b9c: 0x40481220, 0x1b9d: 0x40481820, 0x1b9e: 0x40481c20, 0x1b9f: 0x40481e20,\n\t0x1ba0: 0x40482220, 0x1ba1: 0x40480a20, 0x1ba2: 0x40480e20, 0x1ba3: 0x40481420,\n\t0x1ba4: 0x40482420, 0x1ba5: 0x40482620, 0x1ba6: 0x40482820, 0x1ba7: 0x40482a20,\n\t0x1ba8: 0x40482c20, 0x1ba9: 0x40482e20, 0x1baa: 0x82092418, 0x1bab: 0x82092419,\n\t0x1bac: 0x40480620, 0x1bad: 0x40481a20, 0x1bae: 0x4047e420, 0x1baf: 0x40482020,\n\t0x1bb0: 0xe00001c4, 0x1bb1: 0xe0000258, 0x1bb2: 0xe0000370, 0x1bb3: 0xe000044a,\n\t0x1bb4: 0xe000051f, 0x1bb5: 0xe00005e9, 0x1bb6: 0xe00006b4, 0x1bb7: 0xe000075c,\n\t0x1bb8: 0xe0000808, 0x1bb9: 0xe00008ad, 0x1bba: 0x0047d484, 0x1bbb: 0x40481020,\n\t0x1bbc: 0x40481620, 0x1bbd: 0x40480220, 0x1bbe: 0x0047e299, 0x1bbf: 0x00480499,\n\t// Block 0x6f, offset 0x1bc0\n\t0x1bc0: 0x404d4c20, 0x1bc1: 0x004d4c84, 0x1bc2: 0x404d4e20, 0x1bc3: 0x004d4e84,\n\t0x1bc4: 0x004d4e84, 0x1bc5: 0x404d5020, 0x1bc6: 0x004d5084, 0x1bc7: 0x404d5220,\n\t0x1bc8: 0x004d5284, 0x1bc9: 0x404d5420, 0x1bca: 0x004d5484, 0x1bcb: 0x404d5620,\n\t0x1bcc: 0x004d5684, 0x1bcd: 0x004d5684, 0x1bce: 0x404d5820, 0x1bcf: 0x004d5884,\n\t0x1bd0: 0x404d5a20, 0x1bd1: 0x404d5c20, 0x1bd2: 0x404d5e20, 0x1bd3: 0x004d5e84,\n\t0x1bd4: 0x404d6020, 0x1bd5: 0x004d6084, 0x1bd6: 0x404d6220, 0x1bd7: 0x004d6284,\n\t0x1bd8: 0x404d6420, 0x1bd9: 0x004d6484, 0x1bda: 0x004d6484, 0x1bdb: 0x404d6620,\n\t0x1bdc: 0x004d6684, 0x1bdd: 0x404d6820, 0x1bde: 0x404d6a20, 0x1bdf: 0x004d6a84,\n\t0x1be0: 0x404d6c20, 0x1be1: 0x404d6e20, 0x1be2: 0x404d7020, 0x1be3: 0x404d7220,\n\t0x1be4: 0x404d7420, 0x1be5: 0x404d7620, 0x1be6: 0xa070f102, 0x1be7: 0x404d7820,\n\t0x1be8: 0x004d7884, 0x1be9: 0x404d7a20, 0x1bea: 0x404d7c20, 0x1beb: 0x004d7c84,\n\t0x1bec: 0x404d7e20, 0x1bed: 0x004d7e84, 0x1bee: 0x404d8020, 0x1bef: 0x004d8084,\n\t0x1bf0: 0x404d8220, 0x1bf1: 0x404d8420, 0x1bf2: 0x820926c3, 0x1bf3: 0x820926c4,\n\t0x1bfc: 0x4005ec20, 0x1bfd: 0x4005ee20, 0x1bfe: 0x4005f020, 0x1bff: 0x4005f220,\n\t// Block 0x70, offset 0x1c00\n\t0x1c00: 0x404b3620, 0x1c01: 0x404b3820, 0x1c02: 0x404b3a20, 0x1c03: 0x404b3c20,\n\t0x1c04: 0x404b3e20, 0x1c05: 0x404b4020, 0x1c06: 0x404b4220, 0x1c07: 0x404b4420,\n\t0x1c08: 0x404b4620, 0x1c09: 0x404b4820, 0x1c0a: 0x404b5020, 0x1c0b: 0x404b5220,\n\t0x1c0c: 0x404b5420, 0x1c0d: 0x404b5620, 0x1c0e: 0x404b5820, 0x1c0f: 0x404b5a20,\n\t0x1c10: 0x404b5c20, 0x1c11: 0x404b5e20, 0x1c12: 0x404b6020, 0x1c13: 0x404b6220,\n\t0x1c14: 0x404b6420, 0x1c15: 0x404b6620, 0x1c16: 0x404b6820, 0x1c17: 0x404b6a20,\n\t0x1c18: 0x404b6c20, 0x1c19: 0x404b6e20, 0x1c1a: 0x404b7020, 0x1c1b: 0x404b7420,\n\t0x1c1c: 0x404b7820, 0x1c1d: 0x404b7a20, 0x1c1e: 0x404b7c20, 0x1c1f: 0x404b7e20,\n\t0x1c20: 0x404b8020, 0x1c21: 0x404b8220, 0x1c22: 0x404b8420, 0x1c23: 0x404b8620,\n\t0x1c24: 0x404b7220, 0x1c25: 0x404b7620, 0x1c26: 0x404b8a20, 0x1c27: 0x404b8c20,\n\t0x1c28: 0x404b8e20, 0x1c29: 0x404b9020, 0x1c2a: 0x404b9220, 0x1c2b: 0x404b9420,\n\t0x1c2c: 0x404b9620, 0x1c2d: 0x404b9820, 0x1c2e: 0x404b9a20, 0x1c2f: 0x404b9c20,\n\t0x1c30: 0x404b9e20, 0x1c31: 0x404ba020, 0x1c32: 0x404ba220, 0x1c33: 0x404ba420,\n\t0x1c34: 0x404ba620, 0x1c35: 0x404ba820, 0x1c36: 0x404b8820, 0x1c37: 0xa070f102,\n\t0x1c3b: 0x40031420,\n\t0x1c3c: 0x40031620, 0x1c3d: 0x4005ae20, 0x1c3e: 0x4005b020, 0x1c3f: 0x4005b220,\n\t// Block 0x71, offset 0x1c40\n\t0x1c40: 0xe00001a6, 0x1c41: 0xe000023a, 0x1c42: 0xe0000352, 0x1c43: 0xe000042c,\n\t0x1c44: 0xe0000501, 0x1c45: 0xe00005cb, 0x1c46: 0xe0000696, 0x1c47: 0xe000073e,\n\t0x1c48: 0xe00007ea, 0x1c49: 0xe000088f,\n\t0x1c4d: 0x404b4a20, 0x1c4e: 0x404b4c20, 0x1c4f: 0x404b4e20,\n\t0x1c50: 0xe00001ca, 0x1c51: 0xe000025e, 0x1c52: 0xe0000376, 0x1c53: 0xe0000450,\n\t0x1c54: 0xe0000525, 0x1c55: 0xe00005ef, 0x1c56: 0xe00006ba, 0x1c57: 0xe0000762,\n\t0x1c58: 0xe000080e, 0x1c59: 0xe00008b3, 0x1c5a: 0x40542e20, 0x1c5b: 0x40543020,\n\t0x1c5c: 0x40543220, 0x1c5d: 0x40543420, 0x1c5e: 0x40543620, 0x1c5f: 0x40543820,\n\t0x1c60: 0x40543a20, 0x1c61: 0x40543c20, 0x1c62: 0x40543e20, 0x1c63: 0x40544020,\n\t0x1c64: 0x40544220, 0x1c65: 0x40544420, 0x1c66: 0x40544620, 0x1c67: 0x40544820,\n\t0x1c68: 0x40544a20, 0x1c69: 0x40544c20, 0x1c6a: 0x40544e20, 0x1c6b: 0x40545020,\n\t0x1c6c: 0x40545220, 0x1c6d: 0x40545420, 0x1c6e: 0x40545620, 0x1c6f: 0x40545820,\n\t0x1c70: 0x40545a20, 0x1c71: 0x40545c20, 0x1c72: 0x40545e20, 0x1c73: 0x40546020,\n\t0x1c74: 0x40546220, 0x1c75: 0x40546420, 0x1c76: 0x40546620, 0x1c77: 0x40546820,\n\t0x1c78: 0x40546a20, 0x1c79: 0x40546c20, 0x1c7a: 0x40546e20, 0x1c7b: 0x40547020,\n\t0x1c7c: 0x40547220, 0x1c7d: 0x40547420, 0x1c7e: 0x40035820, 0x1c7f: 0x40035a20,\n\t// Block 0x72, offset 0x1c80\n\t0x1c80: 0x4005d620, 0x1c81: 0x4005d820, 0x1c82: 0x4005da20, 0x1c83: 0x4005dc20,\n\t0x1c84: 0x4005de20, 0x1c85: 0x4005e020, 0x1c86: 0x4005e220, 0x1c87: 0x4005e420,\n\t0x1c90: 0xae600000, 0x1c91: 0xae600000, 0x1c92: 0xae600000, 0x1c93: 0xa0000000,\n\t0x1c94: 0xa0100000, 0x1c95: 0xadc00000, 0x1c96: 0xadc00000, 0x1c97: 0xadc00000,\n\t0x1c98: 0xadc00000, 0x1c99: 0xadc00000, 0x1c9a: 0xae600000, 0x1c9b: 0xae600000,\n\t0x1c9c: 0xadc00000, 0x1c9d: 0xadc00000, 0x1c9e: 0xadc00000, 0x1c9f: 0xadc00000,\n\t0x1ca0: 0xae600000, 0x1ca1: 0xa0000000, 0x1ca2: 0xa0100000, 0x1ca3: 0xa0100000,\n\t0x1ca4: 0xa0100000, 0x1ca5: 0xa0100000, 0x1ca6: 0xa0100000, 0x1ca7: 0xa0100000,\n\t0x1ca8: 0xa0100000, 0x1ca9: 0x40404020, 0x1caa: 0x00404084, 0x1cab: 0x00404084,\n\t0x1cac: 0x00404084, 0x1cad: 0xadc0f302, 0x1cae: 0x00404084, 0x1caf: 0x00404084,\n\t0x1cb0: 0x00404084, 0x1cb1: 0x00404084, 0x1cb2: 0xa000f402, 0x1cb3: 0xa000f402,\n\t0x1cb4: 0xae600000, 0x1cb5: 0x40404220, 0x1cb6: 0x40404420,\n\t// Block 0x73, offset 0x1cc0\n\t0x1cc0: 0x402be620, 0x1cc1: 0x402bec20, 0x1cc2: 0x402bee20, 0x1cc3: 0x402c2420,\n\t0x1cc4: 0x402c4220, 0x1cc5: 0x402c6a20, 0x1cc6: 0x402c6c20, 0x1cc7: 0x402ca020,\n\t0x1cc8: 0x402ce620, 0x1cc9: 0x402db420, 0x1cca: 0x402ddc20, 0x1ccb: 0x402e0620,\n\t0x1ccc: 0x402e3420, 0x1ccd: 0x402e8a20, 0x1cce: 0x402eb020, 0x1ccf: 0x402eea20,\n\t0x1cd0: 0x402f0220, 0x1cd1: 0x402eec20, 0x1cd2: 0x402f0420, 0x1cd3: 0x402ef820,\n\t0x1cd4: 0x402ef620, 0x1cd5: 0x402f2a20, 0x1cd6: 0x402f0a20, 0x1cd7: 0x402f0c20,\n\t0x1cd8: 0x402f3420, 0x1cd9: 0x402f8c20, 0x1cda: 0x402fa020, 0x1cdb: 0x40303420,\n\t0x1cdc: 0x40307420, 0x1cdd: 0x40307620, 0x1cde: 0x40307820, 0x1cdf: 0x4030aa20,\n\t0x1ce0: 0x4030c620, 0x1ce1: 0x4030ea20, 0x1ce2: 0x40313220, 0x1ce3: 0x40316c20,\n\t0x1ce4: 0x4031f420, 0x1ce5: 0x4031f620, 0x1ce6: 0x40325820, 0x1ce7: 0x40327420,\n\t0x1ce8: 0x40328020, 0x1ce9: 0x40328a20, 0x1cea: 0x4032a020, 0x1ceb: 0x40348c20,\n\t0x1cec: 0x002bde9d, 0x1ced: 0xe00009e1, 0x1cee: 0x002c0a9d, 0x1cef: 0x402c2220,\n\t0x1cf0: 0x002c629d, 0x1cf1: 0x002c989d, 0x1cf2: 0x002cae9d, 0x1cf3: 0x002d229d,\n\t0x1cf4: 0x002d689d, 0x1cf5: 0x002d9a9d, 0x1cf6: 0x002dcc9d, 0x1cf7: 0x002dfe9d,\n\t0x1cf8: 0x002e229d, 0x1cf9: 0x002e829d, 0x1cfa: 0x002e9e9d, 0x1cfb: 0x402eae20,\n\t0x1cfc: 0x002ee29d, 0x1cfd: 0x002f229d, 0x1cfe: 0x002f2c9d, 0x1cff: 0x002f7a9d,\n\t// Block 0x74, offset 0x1d00\n\t0x1d00: 0x00302c9d, 0x1d01: 0x00306c9d, 0x1d02: 0x0030e29d, 0x1d03: 0x002bde94,\n\t0x1d04: 0x002bf094, 0x1d05: 0x002bf894, 0x1d06: 0x002bee94, 0x1d07: 0x002c0a94,\n\t0x1d08: 0x002c6294, 0x1d09: 0x002c9894, 0x1d0a: 0x002cb894, 0x1d0b: 0x002cc294,\n\t0x1d0c: 0x002ce694, 0x1d0d: 0x002d2294, 0x1d0e: 0x002db494, 0x1d0f: 0x002dfe94,\n\t0x1d10: 0x002e8294, 0x1d11: 0x002eda94, 0x1d12: 0x002ee294, 0x1d13: 0x002efa94,\n\t0x1d14: 0x002f0a94, 0x1d15: 0x002f0c94, 0x1d16: 0x002f2c94, 0x1d17: 0x00302c94,\n\t0x1d18: 0x00306c94, 0x1d19: 0x00307694, 0x1d1a: 0x0030a094, 0x1d1b: 0x0030be94,\n\t0x1d1c: 0x0031f694, 0x1d1d: 0x00325494, 0x1d1e: 0x00325694, 0x1d1f: 0x00325a94,\n\t0x1d20: 0x00329a94, 0x1d21: 0x00329c94, 0x1d22: 0x002d9a95, 0x1d23: 0x002f7a95,\n\t0x1d24: 0x00306c95, 0x1d25: 0x0030be95, 0x1d26: 0x00325495, 0x1d27: 0x00325695,\n\t0x1d28: 0x00328895, 0x1d29: 0x00329a95, 0x1d2a: 0x00329c95, 0x1d2b: 0x40307a20,\n\t0x1d2c: 0x402c2620, 0x1d2d: 0x402c6e20, 0x1d2e: 0x402d1220, 0x1d2f: 0x402e8c20,\n\t0x1d30: 0x402eb220, 0x1d31: 0x402f3a20, 0x1d32: 0x402f9620, 0x1d33: 0x402fce20,\n\t0x1d34: 0x402ff020, 0x1d35: 0x40304020, 0x1d36: 0x40313c20, 0x1d37: 0x402d5420,\n\t0x1d38: 0x0034ba94, 0x1d39: 0xe0000bd9, 0x1d3a: 0xe0000fc1, 0x1d3b: 0x402dbe20,\n\t0x1d3c: 0x402dca20, 0x1d3d: 0x402f3620, 0x1d3e: 0x40308420, 0x1d3f: 0x4030bc20,\n\t// Block 0x75, offset 0x1d40\n\t0x1d40: 0x402c2820, 0x1d41: 0x402c7020, 0x1d42: 0x402d1420, 0x1d43: 0x402d4220,\n\t0x1d44: 0x402e0820, 0x1d45: 0x402e5220, 0x1d46: 0x402e8e20, 0x1d47: 0x402ec620,\n\t0x1d48: 0x402f3c20, 0x1d49: 0x402faa20, 0x1d4a: 0x402ff220, 0x1d4b: 0x40301020,\n\t0x1d4c: 0x4030ca20, 0x1d4d: 0x4030fe20, 0x1d4e: 0x40313e20, 0x1d4f: 0x402bea20,\n\t0x1d50: 0x402c0020, 0x1d51: 0x402c8220, 0x1d52: 0x402caa20, 0x1d53: 0x402cca20,\n\t0x1d54: 0x402ce420, 0x1d55: 0x402cc020, 0x1d56: 0x402dc020, 0x1d57: 0x402f0620,\n\t0x1d58: 0x40302220, 0x1d59: 0x40308620, 0x1d5a: 0x40317620, 0x1d5b: 0x002c0294,\n\t0x1d5c: 0x002c3a94, 0x1d5d: 0x002c5694, 0x1d5e: 0xf0001414, 0x1d5f: 0x002cdc94,\n\t0x1d60: 0x002d0894, 0x1d61: 0x002dee94, 0x1d62: 0x002d2a94, 0x1d63: 0x00308894,\n\t0x1d64: 0x002db694, 0x1d65: 0x002dc294, 0x1d66: 0x002daa94, 0x1d67: 0x002dbe94,\n\t0x1d68: 0x002de694, 0x1d69: 0x002e5494, 0x1d6a: 0x002e5294, 0x1d6b: 0x002e2a94,\n\t0x1d6c: 0x002e9094, 0x1d6d: 0x0030ac94, 0x1d6e: 0x002eb494, 0x1d6f: 0x002ec894,\n\t0x1d70: 0x002ea694, 0x1d71: 0x002f1094, 0x1d72: 0x002f4c94, 0x1d73: 0x002ff494,\n\t0x1d74: 0x00300894, 0x1d75: 0x00304294, 0x1d76: 0x00307c94, 0x1d77: 0x0030b494,\n\t0x1d78: 0x00307494, 0x1d79: 0x0030cc94, 0x1d7a: 0x0030da94, 0x1d7b: 0x00312a94,\n\t0x1d7c: 0x00314894, 0x1d7d: 0x00315094, 0x1d7e: 0x00316494, 0x1d7f: 0x00326a94,\n\t// Block 0x76, offset 0x1d80\n\t0x1d80: 0xae605f02, 0x1d81: 0xae605f02, 0x1d82: 0xadc06002, 0x1d83: 0xae605f02,\n\t0x1d84: 0xae605f02, 0x1d85: 0xae605f02, 0x1d86: 0xae605f02, 0x1d87: 0xae605f02,\n\t0x1d88: 0xae605f02, 0x1d89: 0xae605f02, 0x1d8a: 0x84dc17bd, 0x1d8b: 0xae605f02,\n\t0x1d8c: 0xae605f02, 0x1d8d: 0xaea05f02, 0x1d8e: 0xad605f02, 0x1d8f: 0xadc06002,\n\t0x1d90: 0xaca06002, 0x1d91: 0xae605f02, 0x1d92: 0x84e618d1, 0x1d93: 0xe00009b4,\n\t0x1d94: 0xe00009d9, 0x1d95: 0xe00009f9, 0x1d96: 0xe0000a08, 0x1d97: 0xe0000a50,\n\t0x1d98: 0xe0000ab6, 0x1d99: 0xe0000ab0, 0x1d9a: 0x84e61691, 0x1d9b: 0x84e61699,\n\t0x1d9c: 0x84e616ff, 0x1d9d: 0x84e61711, 0x1d9e: 0x84e61715, 0x1d9f: 0x84e61745,\n\t0x1da0: 0x84e6174f, 0x1da1: 0x84e61753, 0x1da2: 0x84e617c1, 0x1da3: 0x84e617c5,\n\t0x1da4: 0x84e617f3, 0x1da5: 0xe0000f67, 0x1da6: 0x84e61895,\n\t0x1dbc: 0xae906002, 0x1dbd: 0xadc06002, 0x1dbe: 0xae605f02, 0x1dbf: 0xadc06002,\n\t// Block 0x77, offset 0x1dc0\n\t0x1dc0: 0xe00009b1, 0x1dc1: 0xe00009ae, 0x1dc2: 0xe0000a22, 0x1dc3: 0xe0000a1f,\n\t0x1dc4: 0xe0000a28, 0x1dc5: 0xe0000a25, 0x1dc6: 0xe0000a2e, 0x1dc7: 0xe0000a2b,\n\t0x1dc8: 0xe0000a5a, 0x1dc9: 0xe0000a56, 0x1dca: 0xe0000a8c, 0x1dcb: 0xe0000a89,\n\t0x1dcc: 0xe0000a98, 0x1dcd: 0xe0000a95, 0x1dce: 0xe0000aa4, 0x1dcf: 0xe0000aa1,\n\t0x1dd0: 0xe0000a92, 0x1dd1: 0xe0000a8f, 0x1dd2: 0xe0000a9e, 0x1dd3: 0xe0000a9b,\n\t0x1dd4: 0xe0000b55, 0x1dd5: 0xe0000b51, 0x1dd6: 0xe0000b4d, 0x1dd7: 0xe0000b49,\n\t0x1dd8: 0xe0000b7c, 0x1dd9: 0xe0000b79, 0x1dda: 0xe0000b82, 0x1ddb: 0xe0000b7f,\n\t0x1ddc: 0xe0000b39, 0x1ddd: 0xe0000b35, 0x1dde: 0xe0000b8c, 0x1ddf: 0xe0000b89,\n\t0x1de0: 0xe0000bd0, 0x1de1: 0xe0000bcd, 0x1de2: 0xe0000c00, 0x1de3: 0xe0000bfd,\n\t0x1de4: 0xe0000c0c, 0x1de5: 0xe0000c09, 0x1de6: 0xe0000bfa, 0x1de7: 0xe0000bf7,\n\t0x1de8: 0xe0000c06, 0x1de9: 0xe0000c03, 0x1dea: 0xe0000c12, 0x1deb: 0xe0000c0f,\n\t0x1dec: 0xe0000c7e, 0x1ded: 0xe0000c7b, 0x1dee: 0xe0000c4a, 0x1def: 0xe0000c46,\n\t0x1df0: 0xe0000c93, 0x1df1: 0xe0000c90, 0x1df2: 0xe0000cab, 0x1df3: 0xe0000ca8,\n\t0x1df4: 0xe0000cb1, 0x1df5: 0xe0000cae, 0x1df6: 0xe0000cde, 0x1df7: 0xe0000cdb,\n\t0x1df8: 0xe0000ce5, 0x1df9: 0xe0000ce1, 0x1dfa: 0xe0000cf2, 0x1dfb: 0xe0000cef,\n\t0x1dfc: 0xe0000cec, 0x1dfd: 0xe0000ce9, 0x1dfe: 0xe0000d1e, 0x1dff: 0xe0000d1b,\n\t// Block 0x78, offset 0x1e00\n\t0x1e00: 0xe0000d24, 0x1e01: 0xe0000d21, 0x1e02: 0xe0000d2a, 0x1e03: 0xe0000d27,\n\t0x1e04: 0xe0000d69, 0x1e05: 0xe0000d66, 0x1e06: 0xe0000d7b, 0x1e07: 0xe0000d78,\n\t0x1e08: 0xe0000d87, 0x1e09: 0xe0000d84, 0x1e0a: 0xe0000d81, 0x1e0b: 0xe0000d7e,\n\t0x1e0c: 0xe0000ded, 0x1e0d: 0xe0000de9, 0x1e0e: 0xe0000df5, 0x1e0f: 0xe0000df1,\n\t0x1e10: 0xe0000e3d, 0x1e11: 0xe0000e39, 0x1e12: 0xe0000e35, 0x1e13: 0xe0000e31,\n\t0x1e14: 0xe0000ea7, 0x1e15: 0xe0000ea4, 0x1e16: 0xe0000ead, 0x1e17: 0xe0000eaa,\n\t0x1e18: 0xe0000ed6, 0x1e19: 0xe0000ed3, 0x1e1a: 0xe0000ef4, 0x1e1b: 0xe0000ef1,\n\t0x1e1c: 0xe0000efb, 0x1e1d: 0xe0000ef7, 0x1e1e: 0xe0000f02, 0x1e1f: 0xe0000eff,\n\t0x1e20: 0xe0000f41, 0x1e21: 0xe0000f3e, 0x1e22: 0xe0000f53, 0x1e23: 0xe0000f50,\n\t0x1e24: 0xe0000f26, 0x1e25: 0xe0000f22, 0x1e26: 0xe0000f3a, 0x1e27: 0xe0000f36,\n\t0x1e28: 0xe0000f5a, 0x1e29: 0xe0000f56, 0x1e2a: 0xe0000f93, 0x1e2b: 0xe0000f90,\n\t0x1e2c: 0xe0000f9f, 0x1e2d: 0xe0000f9c, 0x1e2e: 0xe0000fb1, 0x1e2f: 0xe0000fae,\n\t0x1e30: 0xe0000fab, 0x1e31: 0xe0000fa8, 0x1e32: 0xe0001093, 0x1e33: 0xe0001090,\n\t0x1e34: 0xe000109f, 0x1e35: 0xe000109c, 0x1e36: 0xe0001099, 0x1e37: 0xe0001096,\n\t0x1e38: 0xe0001032, 0x1e39: 0xe000102e, 0x1e3a: 0xe0001046, 0x1e3b: 0xe0001042,\n\t0x1e3c: 0xe00010a9, 0x1e3d: 0xe00010a6, 0x1e3e: 0xe00010af, 0x1e3f: 0xe00010ac,\n\t// Block 0x79, offset 0x1e40\n\t0x1e40: 0xe00010d2, 0x1e41: 0xe00010cf, 0x1e42: 0xe00010cc, 0x1e43: 0xe00010c9,\n\t0x1e44: 0xe00010e1, 0x1e45: 0xe00010de, 0x1e46: 0xe00010e7, 0x1e47: 0xe00010e4,\n\t0x1e48: 0xe00010ed, 0x1e49: 0xe00010ea, 0x1e4a: 0xe00010fc, 0x1e4b: 0xe00010f9,\n\t0x1e4c: 0xe00010f6, 0x1e4d: 0xe00010f3, 0x1e4e: 0xe0001123, 0x1e4f: 0xe0001120,\n\t0x1e50: 0xe0001141, 0x1e51: 0xe000113e, 0x1e52: 0xe0001153, 0x1e53: 0xe0001150,\n\t0x1e54: 0xe0001159, 0x1e55: 0xe0001156, 0x1e56: 0xe0000c15, 0x1e57: 0xe0000f8d,\n\t0x1e58: 0xe00010db, 0x1e59: 0xe0001111, 0x1e5a: 0xf0000404, 0x1e5b: 0xe0000f70,\n\t0x1e5c: 0x40300420, 0x1e5d: 0x40300620, 0x1e5e: 0xe0000f7f, 0x1e5f: 0x402c9620,\n\t0x1e60: 0xe000099b, 0x1e61: 0xe0000998, 0x1e62: 0xe0000989, 0x1e63: 0xe0000986,\n\t0x1e64: 0xe0000928, 0x1e65: 0xe0000924, 0x1e66: 0xe0000930, 0x1e67: 0xe000092c,\n\t0x1e68: 0xe0000940, 0x1e69: 0xe000093c, 0x1e6a: 0xe0000938, 0x1e6b: 0xe0000934,\n\t0x1e6c: 0xe00009aa, 0x1e6d: 0xe00009a6, 0x1e6e: 0xe0000902, 0x1e6f: 0xe00008fe,\n\t0x1e70: 0xe000090a, 0x1e71: 0xe0000906, 0x1e72: 0xe000091a, 0x1e73: 0xe0000916,\n\t0x1e74: 0xe0000912, 0x1e75: 0xe000090e, 0x1e76: 0xe00009a2, 0x1e77: 0xe000099e,\n\t0x1e78: 0xe0000b6e, 0x1e79: 0xe0000b6b, 0x1e7a: 0xe0000b5c, 0x1e7b: 0xe0000b59,\n\t0x1e7c: 0xe0000b26, 0x1e7d: 0xe0000b23, 0x1e7e: 0xe0000afb, 0x1e7f: 0xe0000af7,\n\t// Block 0x7a, offset 0x1e80\n\t0x1e80: 0xe0000b03, 0x1e81: 0xe0000aff, 0x1e82: 0xe0000b13, 0x1e83: 0xe0000b0f,\n\t0x1e84: 0xe0000b0b, 0x1e85: 0xe0000b07, 0x1e86: 0xe0000b75, 0x1e87: 0xe0000b71,\n\t0x1e88: 0xe0000c66, 0x1e89: 0xe0000c63, 0x1e8a: 0xe0000c78, 0x1e8b: 0xe0000c75,\n\t0x1e8c: 0xe0000e84, 0x1e8d: 0xe0000e81, 0x1e8e: 0xe0000e44, 0x1e8f: 0xe0000e41,\n\t0x1e90: 0xe0000dad, 0x1e91: 0xe0000da9, 0x1e92: 0xe0000db5, 0x1e93: 0xe0000db1,\n\t0x1e94: 0xe0000dc5, 0x1e95: 0xe0000dc1, 0x1e96: 0xe0000dbd, 0x1e97: 0xe0000db9,\n\t0x1e98: 0xe0000e8b, 0x1e99: 0xe0000e87, 0x1e9a: 0xe0000e5d, 0x1e9b: 0xe0000e59,\n\t0x1e9c: 0xe0000e65, 0x1e9d: 0xe0000e61, 0x1e9e: 0xe0000e75, 0x1e9f: 0xe0000e71,\n\t0x1ea0: 0xe0000e6d, 0x1ea1: 0xe0000e69, 0x1ea2: 0xe0000e7d, 0x1ea3: 0xe0000e79,\n\t0x1ea4: 0xe000108d, 0x1ea5: 0xe000108a, 0x1ea6: 0xe000104d, 0x1ea7: 0xe000104a,\n\t0x1ea8: 0xe0001066, 0x1ea9: 0xe0001062, 0x1eaa: 0xe000106e, 0x1eab: 0xe000106a,\n\t0x1eac: 0xe000107e, 0x1ead: 0xe000107a, 0x1eae: 0xe0001076, 0x1eaf: 0xe0001072,\n\t0x1eb0: 0xe0001086, 0x1eb1: 0xe0001082, 0x1eb2: 0xe0001108, 0x1eb3: 0xe0001105,\n\t0x1eb4: 0xe0001135, 0x1eb5: 0xe0001132, 0x1eb6: 0xe000112f, 0x1eb7: 0xe000112c,\n\t0x1eb8: 0xe000111d, 0x1eb9: 0xe000111a, 0x1eba: 0xe0000d0a, 0x1ebb: 0xe0000d07,\n\t0x1ebc: 0x0030d888, 0x1ebd: 0x4030d820, 0x1ebe: 0x00312088, 0x1ebf: 0x40312020,\n\t// Block 0x7b, offset 0x1ec0\n\t0x1ec0: 0xe0001165, 0x1ec1: 0xe00011a9, 0x1ec2: 0xe000117d, 0x1ec3: 0xe00011c1,\n\t0x1ec4: 0xe000116b, 0x1ec5: 0xe00011af, 0x1ec6: 0xe000118f, 0x1ec7: 0xe00011d3,\n\t0x1ec8: 0xe0001168, 0x1ec9: 0xe00011ac, 0x1eca: 0xe0001181, 0x1ecb: 0xe00011c5,\n\t0x1ecc: 0xe000116f, 0x1ecd: 0xe00011b3, 0x1ece: 0xe0001193, 0x1ecf: 0xe00011d7,\n\t0x1ed0: 0xe000121a, 0x1ed1: 0xe0001230, 0x1ed2: 0xe0001228, 0x1ed3: 0xe000123e,\n\t0x1ed4: 0xe0001220, 0x1ed5: 0xe0001236,\n\t0x1ed8: 0xe000121d, 0x1ed9: 0xe0001233, 0x1eda: 0xe000122c, 0x1edb: 0xe0001242,\n\t0x1edc: 0xe0001224, 0x1edd: 0xe000123a,\n\t0x1ee0: 0xe0001252, 0x1ee1: 0xe0001296, 0x1ee2: 0xe000126a, 0x1ee3: 0xe00012ae,\n\t0x1ee4: 0xe0001258, 0x1ee5: 0xe000129c, 0x1ee6: 0xe000127c, 0x1ee7: 0xe00012c0,\n\t0x1ee8: 0xe0001255, 0x1ee9: 0xe0001299, 0x1eea: 0xe000126e, 0x1eeb: 0xe00012b2,\n\t0x1eec: 0xe000125c, 0x1eed: 0xe00012a0, 0x1eee: 0xe0001280, 0x1eef: 0xe00012c4,\n\t0x1ef0: 0xe00012fb, 0x1ef1: 0xe0001319, 0x1ef2: 0xe0001309, 0x1ef3: 0xe0001327,\n\t0x1ef4: 0xe0001301, 0x1ef5: 0xe000131f, 0x1ef6: 0xe0001311, 0x1ef7: 0xe000132f,\n\t0x1ef8: 0xe00012fe, 0x1ef9: 0xe000131c, 0x1efa: 0xe000130d, 0x1efb: 0xe000132b,\n\t0x1efc: 0xe0001305, 0x1efd: 0xe0001323, 0x1efe: 0xe0001315, 0x1eff: 0xe0001333,\n\t// Block 0x7c, offset 0x1f00\n\t0x1f00: 0xe000136c, 0x1f01: 0xe0001382, 0x1f02: 0xe000137a, 0x1f03: 0xe0001390,\n\t0x1f04: 0xe0001372, 0x1f05: 0xe0001388,\n\t0x1f08: 0xe000136f, 0x1f09: 0xe0001385, 0x1f0a: 0xe000137e, 0x1f0b: 0xe0001394,\n\t0x1f0c: 0xe0001376, 0x1f0d: 0xe000138c,\n\t0x1f10: 0xe00013ad, 0x1f11: 0xe00013bc, 0x1f12: 0xe00013b4, 0x1f13: 0xe00013ca,\n\t0x1f14: 0xe00013b0, 0x1f15: 0xe00013c2, 0x1f16: 0xe00013b8, 0x1f17: 0xe00013d2,\n\t0x1f19: 0xe00013bf, 0x1f1b: 0xe00013ce,\n\t0x1f1d: 0xe00013c6, 0x1f1f: 0xe00013d6,\n\t0x1f20: 0xe0001407, 0x1f21: 0xe000144b, 0x1f22: 0xe000141f, 0x1f23: 0xe0001463,\n\t0x1f24: 0xe000140d, 0x1f25: 0xe0001451, 0x1f26: 0xe0001431, 0x1f27: 0xe0001475,\n\t0x1f28: 0xe000140a, 0x1f29: 0xe000144e, 0x1f2a: 0xe0001423, 0x1f2b: 0xe0001467,\n\t0x1f2c: 0xe0001411, 0x1f2d: 0xe0001455, 0x1f2e: 0xe0001435, 0x1f2f: 0xe0001479,\n\t0x1f30: 0xe00011f7, 0x1f31: 0xe00011ed, 0x1f32: 0xe000124c, 0x1f33: 0xe0001246,\n\t0x1f34: 0xe00012e4, 0x1f35: 0xe00012da, 0x1f36: 0xe000133d, 0x1f37: 0xe0001337,\n\t0x1f38: 0xe000139e, 0x1f39: 0xe0001398, 0x1f3a: 0xe00013e0, 0x1f3b: 0xe00013da,\n\t0x1f3c: 0xe0001499, 0x1f3d: 0xe000148f,\n\t// Block 0x7d, offset 0x1f40\n\t0x1f40: 0xe00011a1, 0x1f41: 0xe00011e5, 0x1f42: 0xe0001185, 0x1f43: 0xe00011c9,\n\t0x1f44: 0xe0001173, 0x1f45: 0xe00011b7, 0x1f46: 0xe0001197, 0x1f47: 0xe00011db,\n\t0x1f48: 0xe00011a5, 0x1f49: 0xe00011e9, 0x1f4a: 0xe000118a, 0x1f4b: 0xe00011ce,\n\t0x1f4c: 0xe0001178, 0x1f4d: 0xe00011bc, 0x1f4e: 0xe000119c, 0x1f4f: 0xe00011e0,\n\t0x1f50: 0xe000128e, 0x1f51: 0xe00012d2, 0x1f52: 0xe0001272, 0x1f53: 0xe00012b6,\n\t0x1f54: 0xe0001260, 0x1f55: 0xe00012a4, 0x1f56: 0xe0001284, 0x1f57: 0xe00012c8,\n\t0x1f58: 0xe0001292, 0x1f59: 0xe00012d6, 0x1f5a: 0xe0001277, 0x1f5b: 0xe00012bb,\n\t0x1f5c: 0xe0001265, 0x1f5d: 0xe00012a9, 0x1f5e: 0xe0001289, 0x1f5f: 0xe00012cd,\n\t0x1f60: 0xe0001443, 0x1f61: 0xe0001487, 0x1f62: 0xe0001427, 0x1f63: 0xe000146b,\n\t0x1f64: 0xe0001415, 0x1f65: 0xe0001459, 0x1f66: 0xe0001439, 0x1f67: 0xe000147d,\n\t0x1f68: 0xe0001447, 0x1f69: 0xe000148b, 0x1f6a: 0xe000142c, 0x1f6b: 0xe0001470,\n\t0x1f6c: 0xe000141a, 0x1f6d: 0xe000145e, 0x1f6e: 0xe000143e, 0x1f6f: 0xe0001482,\n\t0x1f70: 0xe0001201, 0x1f71: 0xe000120e, 0x1f72: 0xe00011fd, 0x1f73: 0xe0001214,\n\t0x1f74: 0xe00011f3, 0x1f76: 0xe0001207, 0x1f77: 0xe000120a,\n\t0x1f78: 0xe0001204, 0x1f79: 0xe0001211, 0x1f7a: 0xe00011fa, 0x1f7b: 0xe00011f0,\n\t0x1f7c: 0xe0001217, 0x1f7d: 0x40063620, 0x1f7e: 0x40326c20, 0x1f7f: 0x40063620,\n\t// Block 0x7e, offset 0x1f80\n\t0x1f80: 0x40063a20, 0x1f81: 0xe00000b1, 0x1f82: 0xe00012ea, 0x1f83: 0xe00012f5,\n\t0x1f84: 0xe00012e0, 0x1f86: 0xe00012ee, 0x1f87: 0xe00012f1,\n\t0x1f88: 0xe000124f, 0x1f89: 0xe0001249, 0x1f8a: 0xe00012e7, 0x1f8b: 0xe00012dd,\n\t0x1f8c: 0xe00012f8, 0x1f8d: 0xe00000b7, 0x1f8e: 0xe00000b4, 0x1f8f: 0xe00000ba,\n\t0x1f90: 0xe0001343, 0x1f91: 0xe000135e, 0x1f92: 0xe0001356, 0x1f93: 0xe0001352,\n\t0x1f96: 0xe0001349, 0x1f97: 0xe000135a,\n\t0x1f98: 0xe0001346, 0x1f99: 0xe0001361, 0x1f9a: 0xe0001340, 0x1f9b: 0xe000133a,\n\t0x1f9d: 0xe00000c0, 0x1f9e: 0xe00000bd, 0x1f9f: 0xe00000c3,\n\t0x1fa0: 0xe00013e6, 0x1fa1: 0xe0001401, 0x1fa2: 0xe00013f9, 0x1fa3: 0xe00013f5,\n\t0x1fa4: 0xe00013a4, 0x1fa5: 0xe00013a7, 0x1fa6: 0xe00013ec, 0x1fa7: 0xe00013fd,\n\t0x1fa8: 0xe00013e9, 0x1fa9: 0xe0001404, 0x1faa: 0xe00013e3, 0x1fab: 0xe00013dd,\n\t0x1fac: 0xe00013aa, 0x1fad: 0xe00000ae, 0x1fae: 0xe00000ab, 0x1faf: 0x40061e20,\n\t0x1fb2: 0xe000149f, 0x1fb3: 0xe00014aa,\n\t0x1fb4: 0xe0001495, 0x1fb6: 0xe00014a3, 0x1fb7: 0xe00014a6,\n\t0x1fb8: 0xe00013a1, 0x1fb9: 0xe000139b, 0x1fba: 0xe000149c, 0x1fbb: 0xe0001492,\n\t0x1fbc: 0xe00014ad, 0x1fbd: 0x40062020, 0x1fbe: 0x40063820,\n\t// Block 0x7f, offset 0x1fc0\n\t0x1fc0: 0x00021284, 0x1fc1: 0x00021284, 0x1fc2: 0x00021284, 0x1fc3: 0x00021284,\n\t0x1fc4: 0x00021284, 0x1fc5: 0x00021284, 0x1fc6: 0x00021284, 0x1fc7: 0x0002129b,\n\t0x1fc8: 0x00021284, 0x1fc9: 0x00021284, 0x1fca: 0x00021284, 0x1fcb: 0xa0000000,\n\t0x1fcc: 0xa0000000, 0x1fcd: 0xa0000000, 0x1fce: 0xa0000000, 0x1fcf: 0xa0000000,\n\t0x1fd0: 0x40022620, 0x1fd1: 0x0002269b, 0x1fd2: 0x40022820, 0x1fd3: 0x40022a20,\n\t0x1fd4: 0x40022c20, 0x1fd5: 0x40022e20, 0x1fd6: 0x4004c420, 0x1fd7: 0x40021820,\n\t0x1fd8: 0x4003d420, 0x1fd9: 0x4003d620, 0x1fda: 0x4003d820, 0x1fdb: 0x4003da20,\n\t0x1fdc: 0x4003e220, 0x1fdd: 0x4003e420, 0x1fde: 0x4003e620, 0x1fdf: 0x4003e820,\n\t0x1fe0: 0x4004f820, 0x1fe1: 0x4004fa20, 0x1fe2: 0x40050220, 0x1fe3: 0x40050420,\n\t0x1fe4: 0x0002e484, 0x1fe5: 0xf0001f04, 0x1fe6: 0xf0000404, 0x1fe7: 0x40050620,\n\t0x1fe8: 0x40020e20, 0x1fe9: 0x40021020, 0x1fea: 0xa0000000, 0x1feb: 0xa0000000,\n\t0x1fec: 0xa0000000, 0x1fed: 0xa0000000, 0x1fee: 0xa0000000, 0x1fef: 0x0002129b,\n\t0x1ff0: 0x4004f020, 0x1ff1: 0x4004f420, 0x1ff2: 0x40050e20, 0x1ff3: 0xf0001f04,\n\t0x1ff4: 0xf0000404, 0x1ff5: 0x40051020, 0x1ff6: 0xf0001f04, 0x1ff7: 0xf0000404,\n\t0x1ff8: 0x40051620, 0x1ff9: 0x4003dc20, 0x1ffa: 0x4003de20, 0x1ffb: 0x40051820,\n\t0x1ffc: 0xf0001f04, 0x1ffd: 0x4002e020, 0x1ffe: 0x40021420, 0x1fff: 0x40051a20,\n\t// Block 0x80, offset 0x2000\n\t0x2000: 0x40051e20, 0x2001: 0x40052220, 0x2002: 0x40052420, 0x2003: 0x40050820,\n\t0x2004: 0x40095820, 0x2005: 0x40040c20, 0x2006: 0x40040e20, 0x2007: 0xf0001f04,\n\t0x2008: 0xf0001f04, 0x2009: 0xf0001f04, 0x200a: 0x4004e820, 0x200b: 0x4004d420,\n\t0x200c: 0x40050a20, 0x200d: 0x40050c20, 0x200e: 0x4004da20, 0x200f: 0x40026620,\n\t0x2010: 0x40052020, 0x2011: 0x4004dc20, 0x2012: 0x40095020, 0x2013: 0x40023420,\n\t0x2014: 0x40051c20, 0x2015: 0x40039c20, 0x2016: 0x40039e20, 0x2017: 0xe00000a6,\n\t0x2018: 0x4003a020, 0x2019: 0x4003a220, 0x201a: 0x4003a420, 0x201b: 0x4003a620,\n\t0x201c: 0x4003a820, 0x201d: 0x4003aa20, 0x201e: 0x4003ac20, 0x201f: 0x00021284,\n\t0x2020: 0xa0000000, 0x2021: 0xa0000000, 0x2022: 0xa0000000, 0x2023: 0xa0000000,\n\t0x2024: 0xa0000000,\n\t0x202a: 0xa0000000, 0x202b: 0xa0000000,\n\t0x202c: 0xa0000000, 0x202d: 0xa0000000, 0x202e: 0xa0000000, 0x202f: 0xa0000000,\n\t0x2030: 0x0029cc94, 0x2031: 0x002d9a94,\n\t0x2034: 0x0029d494, 0x2035: 0x0029d694, 0x2036: 0x0029d894, 0x2037: 0x0029da94,\n\t0x2038: 0x0029dc94, 0x2039: 0x0029de94, 0x203a: 0x00093894, 0x203b: 0x00094e94,\n\t0x203c: 0x00094294, 0x203d: 0x0003f494, 0x203e: 0x0003f694, 0x203f: 0x002e9e94,\n\t// Block 0x81, offset 0x2040\n\t0x2040: 0x0029cc95, 0x2041: 0x0029ce95, 0x2042: 0x0029d095, 0x2043: 0x0029d295,\n\t0x2044: 0x0029d495, 0x2045: 0x0029d695, 0x2046: 0x0029d895, 0x2047: 0x0029da95,\n\t0x2048: 0x0029dc95, 0x2049: 0x0029de95, 0x204a: 0x00093895, 0x204b: 0x00094e95,\n\t0x204c: 0x00094295, 0x204d: 0x0003f495, 0x204e: 0x0003f695,\n\t0x2050: 0x002bde95, 0x2051: 0x002c9895, 0x2052: 0x002ee295, 0x2053: 0x0030f695,\n\t0x2054: 0x002cb895, 0x2055: 0x002d6895, 0x2056: 0x002dfe95, 0x2057: 0x002e2295,\n\t0x2058: 0x002e8295, 0x2059: 0x002e9e95, 0x205a: 0x002f2c95, 0x205b: 0x002fe695,\n\t0x205c: 0x00302c95,\n\t0x2060: 0x4027f820, 0x2061: 0x4027fa20, 0x2062: 0x4027fc20, 0x2063: 0x4027fe20,\n\t0x2064: 0x40280020, 0x2065: 0x40280220, 0x2066: 0x40280420, 0x2067: 0x40280620,\n\t0x2068: 0x40282c20, 0x2069: 0x40280820, 0x206a: 0x40280a20, 0x206b: 0x40280c20,\n\t0x206c: 0x40280e20, 0x206d: 0x40281020, 0x206e: 0x40281220, 0x206f: 0x40281420,\n\t0x2070: 0x40281620, 0x2071: 0x40281820, 0x2072: 0x40281a20, 0x2073: 0x40281c20,\n\t0x2074: 0x40281e20, 0x2075: 0x40282020, 0x2076: 0x40282220, 0x2077: 0x40282420,\n\t0x2078: 0x40282620, 0x2079: 0x40282820, 0x207a: 0x40282a20,\n\t// Block 0x82, offset 0x2080\n\t0x2090: 0xae612a02, 0x2091: 0xae612b02, 0x2092: 0xa0112c02, 0x2093: 0xa0112c02,\n\t0x2094: 0xae612d02, 0x2095: 0xae612e02, 0x2096: 0xae612f02, 0x2097: 0xae613002,\n\t0x2098: 0xa0106102, 0x2099: 0xa0106102, 0x209a: 0xa0106102, 0x209b: 0xae613102,\n\t0x209c: 0xae613202, 0x209d: 0xa0006202, 0x209e: 0xa0006202, 0x209f: 0xa0006202,\n\t0x20a0: 0xa0006202, 0x20a1: 0xae613302, 0x20a2: 0xa0006202, 0x20a3: 0xa0006202,\n\t0x20a4: 0xa0006202, 0x20a5: 0xa0106102, 0x20a6: 0xa0113402, 0x20a7: 0xae613502,\n\t0x20a8: 0xadc13602, 0x20a9: 0xae613702, 0x20aa: 0xa0106102, 0x20ab: 0xa0106102,\n\t0x20ac: 0xadc06002, 0x20ad: 0xadc06002, 0x20ae: 0xadc06002, 0x20af: 0xadc06002,\n\t0x20b0: 0xae605f02,\n\t// Block 0x83, offset 0x20c0\n\t0x20c0: 0xe00009bc, 0x20c1: 0xe00009c0, 0x20c2: 0x002c3a8b, 0x20c3: 0xf0000a04,\n\t0x20c4: 0x40081c20, 0x20c5: 0xe0000a5e, 0x20c6: 0xe0000a62, 0x20c7: 0x002cc28a,\n\t0x20c8: 0x40081e20, 0x20c9: 0xf0000a04, 0x20ca: 0x002d2285, 0x20cb: 0x002d688b,\n\t0x20cc: 0x002d688b, 0x20cd: 0x002d688b, 0x20ce: 0x002d6885, 0x20cf: 0xf0000202,\n\t0x20d0: 0x002d9a8b, 0x20d1: 0x002d9a8b, 0x20d2: 0x002e228b, 0x20d3: 0x002e2285,\n\t0x20d4: 0x40082020, 0x20d5: 0x002e9e8b, 0x20d6: 0xf000040a, 0x20d7: 0x40082220,\n\t0x20d8: 0x40082420, 0x20d9: 0x002f2c8b, 0x20da: 0x002f568b, 0x20db: 0x002f7a8b,\n\t0x20dc: 0x002f7a8b, 0x20dd: 0x002f7a8b, 0x20de: 0x40082620, 0x20df: 0x40082820,\n\t0x20e0: 0xf0001414, 0x20e1: 0xe0000fbd, 0x20e2: 0xf0001414, 0x20e3: 0x40082a20,\n\t0x20e4: 0x00312a8b, 0x20e5: 0x40082c20, 0x20e6: 0x0032a288, 0x20e7: 0x40082e20,\n\t0x20e8: 0x00312a8b, 0x20e9: 0x40083020, 0x20ea: 0x002dfe88, 0x20eb: 0xe000094d,\n\t0x20ec: 0x002c0a8b, 0x20ed: 0x002c3a8b, 0x20ee: 0x40083220, 0x20ef: 0x002c9885,\n\t0x20f0: 0x002c988b, 0x20f1: 0x002d088b, 0x20f2: 0x002d1e88, 0x20f3: 0x002e828b,\n\t0x20f4: 0x002ee285, 0x20f5: 0x00389084, 0x20f6: 0x00389284, 0x20f7: 0x00389484,\n\t0x20f8: 0x00389684, 0x20f9: 0x002d9a85, 0x20fa: 0x40083420, 0x20fb: 0xe0000b95,\n\t0x20fc: 0x00327e85, 0x20fd: 0x00325685, 0x20fe: 0x0032568b, 0x20ff: 0x00327e8b,\n\t// Block 0x84, offset 0x2100\n\t0x2100: 0x00093685, 0x2101: 0x40083620, 0x2102: 0x40083820, 0x2103: 0x40083a20,\n\t0x2104: 0x40083c20, 0x2105: 0x002c628b, 0x2106: 0x002c6285, 0x2107: 0x002c9885,\n\t0x2108: 0x002d9a85, 0x2109: 0x002dcc85, 0x210a: 0x40083e20, 0x210b: 0x400a6e20,\n\t0x210c: 0x40084020, 0x210d: 0xe00009c4, 0x210e: 0x402d1e20, 0x210f: 0x40084220,\n\t0x2110: 0xe00002cb, 0x2111: 0xe00002d3, 0x2112: 0xe00002b2, 0x2113: 0xe00002bb,\n\t0x2114: 0xe00003cd, 0x2115: 0xe00002c3, 0x2116: 0xe00003d1, 0x2117: 0xe00004ab,\n\t0x2118: 0xe0000579, 0x2119: 0xe00002c7, 0x211a: 0xe0000640, 0x211b: 0xe00002cf,\n\t0x211c: 0xe00004af, 0x211d: 0xe0000644, 0x211e: 0xe0000798, 0x211f: 0xf0001e1e,\n\t0x2120: 0x002d9a8a, 0x2121: 0xf0001f0a, 0x2122: 0xf0000a0a, 0x2123: 0xf0001f0a,\n\t0x2124: 0x0030be8a, 0x2125: 0xf0001f0a, 0x2126: 0xf0000a0a, 0x2127: 0xe00010bb,\n\t0x2128: 0xf0001f0a, 0x2129: 0x0030f68a, 0x212a: 0xf0001f0a, 0x212b: 0xf0000a0a,\n\t0x212c: 0x002e228a, 0x212d: 0x002c3a8a, 0x212e: 0x002c628a, 0x212f: 0x002e828a,\n\t0x2130: 0x002d9a84, 0x2131: 0xf0001f04, 0x2132: 0xf0000404, 0x2133: 0xf0001f04,\n\t0x2134: 0x0030be84, 0x2135: 0xf0001f04, 0x2136: 0xf0000404, 0x2137: 0xe00010b6,\n\t0x2138: 0xf0001f04, 0x2139: 0x0030f684, 0x213a: 0xf0001f04, 0x213b: 0xf0000404,\n\t0x213c: 0x002e2284, 0x213d: 0x002c3a84, 0x213e: 0x002c6284, 0x213f: 0x002e8284,\n\t// Block 0x85, offset 0x2140\n\t0x2140: 0x40287c20, 0x2141: 0x40287e20, 0x2142: 0x40288020, 0x2143: 0x002c5e88,\n\t0x2144: 0x402c5e20, 0x2145: 0xe00006c9, 0x2146: 0x40288220, 0x2147: 0x40288420,\n\t0x2148: 0x40288620, 0x2149: 0xe00001e2,\n\t0x2150: 0x40084420, 0x2151: 0x40084820, 0x2152: 0x40084620, 0x2153: 0x40084a20,\n\t0x2154: 0x40084c20, 0x2155: 0x40084e20, 0x2156: 0x40085020, 0x2157: 0x40085220,\n\t0x2158: 0x40085420, 0x2159: 0x40085620, 0x215a: 0xe00000c6, 0x215b: 0xe00000c9,\n\t0x215c: 0x40085820, 0x215d: 0x40085a20, 0x215e: 0x40085c20, 0x215f: 0x40085e20,\n\t0x2160: 0x40086020, 0x2161: 0x40086220, 0x2162: 0x40086420, 0x2163: 0x40086620,\n\t0x2164: 0x40086820, 0x2165: 0x40086a20, 0x2166: 0x40086c20, 0x2167: 0x40086e20,\n\t0x2168: 0x40087020, 0x2169: 0x40087220, 0x216a: 0x40087420, 0x216b: 0x40087620,\n\t0x216c: 0x40087820, 0x216d: 0x40087a20, 0x216e: 0xe00000cc, 0x216f: 0x40087c20,\n\t0x2170: 0x40087e20, 0x2171: 0x40088020, 0x2172: 0x40088220, 0x2173: 0x40088420,\n\t0x2174: 0x40088620, 0x2175: 0x40088820, 0x2176: 0x40088a20, 0x2177: 0x40088c20,\n\t0x2178: 0x40088e20, 0x2179: 0x40089020, 0x217a: 0x40089220, 0x217b: 0x40089420,\n\t0x217c: 0x40089620, 0x217d: 0x40089820, 0x217e: 0x40089a20, 0x217f: 0x40089c20,\n\t// Block 0x86, offset 0x2180\n\t0x2180: 0x40089e20, 0x2181: 0x4008a020, 0x2182: 0x4008a220, 0x2183: 0x4008a420,\n\t0x2184: 0x4008a620, 0x2185: 0x4008a820, 0x2186: 0x4008aa20, 0x2187: 0x4008ac20,\n\t0x2188: 0x4008ae20, 0x2189: 0x4008b020, 0x218a: 0x4008b220, 0x218b: 0x4008b420,\n\t0x218c: 0x4008b620, 0x218d: 0xe00000cf, 0x218e: 0xe00000d5, 0x218f: 0xe00000d2,\n\t0x2190: 0x4008b820, 0x2191: 0x4008ba20, 0x2192: 0x4008bc20, 0x2193: 0x4008be20,\n\t0x2194: 0x4008c020, 0x2195: 0x4008c220, 0x2196: 0x4008c420, 0x2197: 0x4008c620,\n\t0x2198: 0x4008c820, 0x2199: 0x4008ca20, 0x219a: 0x4008cc20, 0x219b: 0x4008ce20,\n\t0x219c: 0x4008d020, 0x219d: 0x4008d220, 0x219e: 0x4008d420, 0x219f: 0x4008d620,\n\t0x21a0: 0x4008d820, 0x21a1: 0x4008da20, 0x21a2: 0x4008dc20, 0x21a3: 0x4008de20,\n\t0x21a4: 0x4008e020, 0x21a5: 0x4008e220, 0x21a6: 0x4008e420, 0x21a7: 0x4008e620,\n\t0x21a8: 0x4008e820, 0x21a9: 0x4008ea20, 0x21aa: 0x4008ec20, 0x21ab: 0x4008ee20,\n\t0x21ac: 0x4008f020, 0x21ad: 0x4008f220, 0x21ae: 0x4008f420, 0x21af: 0x4008f620,\n\t0x21b0: 0x4008f820, 0x21b1: 0x4008fa20, 0x21b2: 0x4008fc20, 0x21b3: 0x4008fe20,\n\t0x21b4: 0x40090020, 0x21b5: 0x40090220, 0x21b6: 0x40090420, 0x21b7: 0x40090620,\n\t0x21b8: 0x40090820, 0x21b9: 0x40090a20, 0x21ba: 0x40090c20, 0x21bb: 0x40090e20,\n\t0x21bc: 0x40091020, 0x21bd: 0x40091220, 0x21be: 0x40091420, 0x21bf: 0x40091620,\n\t// Block 0x87, offset 0x21c0\n\t0x21c0: 0x40091820, 0x21c1: 0x40091a20, 0x21c2: 0x40091c20, 0x21c3: 0x40091e20,\n\t0x21c4: 0xe00000d8, 0x21c5: 0x40092020, 0x21c6: 0x40092220, 0x21c7: 0x40092420,\n\t0x21c8: 0x40092620, 0x21c9: 0xe00000db, 0x21ca: 0x40092820, 0x21cb: 0x40092a20,\n\t0x21cc: 0xe00000de, 0x21cd: 0x40092c20, 0x21ce: 0x40093020, 0x21cf: 0x40093220,\n\t0x21d0: 0x40093420, 0x21d1: 0x40093620, 0x21d2: 0x40094e20, 0x21d3: 0x40095220,\n\t0x21d4: 0x40095420, 0x21d5: 0x40095620, 0x21d6: 0x40095a20, 0x21d7: 0x40095c20,\n\t0x21d8: 0x40095e20, 0x21d9: 0x40096020, 0x21da: 0x40096220, 0x21db: 0x40096420,\n\t0x21dc: 0x40096820, 0x21dd: 0x40096c20, 0x21de: 0x40096e20, 0x21df: 0x40097020,\n\t0x21e0: 0x40097220, 0x21e1: 0x40097420, 0x21e2: 0x40097620, 0x21e3: 0x40097820,\n\t0x21e4: 0xe00000ea, 0x21e5: 0x40097a20, 0x21e6: 0xe00000ed, 0x21e7: 0x40097c20,\n\t0x21e8: 0x40097e20, 0x21e9: 0x40098020, 0x21ea: 0x40098220, 0x21eb: 0x40098420,\n\t0x21ec: 0xf0001f04, 0x21ed: 0xf0000404, 0x21ee: 0x40098620, 0x21ef: 0xf0001f04,\n\t0x21f0: 0xf0000404, 0x21f1: 0x40098820, 0x21f2: 0x40098a20, 0x21f3: 0x40098c20,\n\t0x21f4: 0x40098e20, 0x21f5: 0x40099020, 0x21f6: 0x40099220, 0x21f7: 0x40099420,\n\t0x21f8: 0x40099620, 0x21f9: 0x40099820, 0x21fa: 0x40099a20, 0x21fb: 0x40099c20,\n\t0x21fc: 0x40099e20, 0x21fd: 0x4009a020, 0x21fe: 0x4009a220, 0x21ff: 0x4009a420,\n\t// Block 0x88, offset 0x2200\n\t0x2200: 0x4009a620, 0x2201: 0xe00000f5, 0x2202: 0x4009a820, 0x2203: 0x4009aa20,\n\t0x2204: 0xe00000f8, 0x2205: 0x4009ac20, 0x2206: 0x4009ae20, 0x2207: 0xe00000fb,\n\t0x2208: 0x4009b020, 0x2209: 0xe00000fe, 0x220a: 0x4009b220, 0x220b: 0x4009b420,\n\t0x220c: 0x4009b620, 0x220d: 0x4009b820, 0x220e: 0x4009ba20, 0x220f: 0x4009bc20,\n\t0x2210: 0x4009be20, 0x2211: 0x4009c020, 0x2212: 0x4009c220, 0x2213: 0x4009c420,\n\t0x2214: 0x4009c620, 0x2215: 0x4009c820, 0x2216: 0x4009ca20, 0x2217: 0x4009cc20,\n\t0x2218: 0x4009ce20, 0x2219: 0x4009d020, 0x221a: 0x4009d220, 0x221b: 0x4009d420,\n\t0x221c: 0x4009d620, 0x221d: 0x4009d820, 0x221e: 0x4009da20, 0x221f: 0x4009dc20,\n\t0x2220: 0xe00000e4, 0x2221: 0x4009de20, 0x2222: 0xe0000104, 0x2223: 0x4009e020,\n\t0x2224: 0x4009e220, 0x2225: 0x4009e420, 0x2226: 0x4009e620, 0x2227: 0x4009e820,\n\t0x2228: 0x4009ea20, 0x2229: 0x4009ec20, 0x222a: 0x4009ee20, 0x222b: 0x4009f020,\n\t0x222c: 0x4009f220, 0x222d: 0xe0000101, 0x222e: 0xe00000e1, 0x222f: 0xe00000e7,\n\t0x2230: 0xe0000107, 0x2231: 0xe000010a, 0x2232: 0x4009f420, 0x2233: 0x4009f620,\n\t0x2234: 0xe000010d, 0x2235: 0xe0000110, 0x2236: 0x4009f820, 0x2237: 0x4009fa20,\n\t0x2238: 0xe0000113, 0x2239: 0xe0000116, 0x223a: 0x4009fc20, 0x223b: 0x4009fe20,\n\t0x223c: 0x400a0020, 0x223d: 0x400a0220, 0x223e: 0x400a0420, 0x223f: 0x400a0620,\n\t// Block 0x89, offset 0x2240\n\t0x2240: 0xe0000119, 0x2241: 0xe000011c, 0x2242: 0x400a0820, 0x2243: 0x400a0a20,\n\t0x2244: 0xe0000125, 0x2245: 0xe0000128, 0x2246: 0x400a0c20, 0x2247: 0x400a0e20,\n\t0x2248: 0xe000012b, 0x2249: 0xe000012e, 0x224a: 0x400a1020, 0x224b: 0x400a1220,\n\t0x224c: 0x400a1420, 0x224d: 0x400a1620, 0x224e: 0x400a1820, 0x224f: 0x400a1a20,\n\t0x2250: 0x400a1c20, 0x2251: 0x400a1e20, 0x2252: 0x400a2020, 0x2253: 0x400a2220,\n\t0x2254: 0x400a2420, 0x2255: 0x400a2620, 0x2256: 0x400a2820, 0x2257: 0x400a2a20,\n\t0x2258: 0x400a2c20, 0x2259: 0x400a2e20, 0x225a: 0x400a3020, 0x225b: 0x400a3220,\n\t0x225c: 0x400a3420, 0x225d: 0x400a3620, 0x225e: 0x400a3820, 0x225f: 0x400a3a20,\n\t0x2260: 0x400a3c20, 0x2261: 0x400a3e20, 0x2262: 0x400a4020, 0x2263: 0x400a4220,\n\t0x2264: 0x400a4420, 0x2265: 0x400a4620, 0x2266: 0x400a4820, 0x2267: 0x400a4a20,\n\t0x2268: 0x400a4c20, 0x2269: 0x400a4e20, 0x226a: 0x400a5020, 0x226b: 0x400a5220,\n\t0x226c: 0xe0000137, 0x226d: 0xe000013a, 0x226e: 0xe000013d, 0x226f: 0xe0000140,\n\t0x2270: 0x400a5420, 0x2271: 0x400a5620, 0x2272: 0x400a5820, 0x2273: 0x400a5a20,\n\t0x2274: 0x400a5c20, 0x2275: 0x400a5e20, 0x2276: 0x400a6020, 0x2277: 0x400a6220,\n\t0x2278: 0x400a6420, 0x2279: 0x400a6620, 0x227a: 0x400a6820, 0x227b: 0x400a6a20,\n\t0x227c: 0x400a6c20, 0x227d: 0x400a7020, 0x227e: 0x400a7220, 0x227f: 0x400a7420,\n\t// Block 0x8a, offset 0x2280\n\t0x2280: 0x400a7620, 0x2281: 0x400a7820, 0x2282: 0x400a7a20, 0x2283: 0x400a7c20,\n\t0x2284: 0x400a7e20, 0x2285: 0x400a8020, 0x2286: 0x400a8220, 0x2287: 0x400a8420,\n\t0x2288: 0x400a8620, 0x2289: 0x400a8820, 0x228a: 0x400a8a20, 0x228b: 0x400a8c20,\n\t0x228c: 0x400a8e20, 0x228d: 0x400a9020, 0x228e: 0x400a9220, 0x228f: 0x400a9420,\n\t0x2290: 0x400a9620, 0x2291: 0x400a9820, 0x2292: 0x400a9a20, 0x2293: 0x400a9c20,\n\t0x2294: 0x400a9e20, 0x2295: 0x400aa020, 0x2296: 0x400aa220, 0x2297: 0x400aa420,\n\t0x2298: 0x400aa620, 0x2299: 0x400aa820, 0x229a: 0x400aaa20, 0x229b: 0x400aac20,\n\t0x229c: 0x400aae20, 0x229d: 0x400ab020, 0x229e: 0x400ab220, 0x229f: 0x400ab420,\n\t0x22a0: 0xe000011f, 0x22a1: 0xe0000122, 0x22a2: 0xe0000131, 0x22a3: 0xe0000134,\n\t0x22a4: 0x400ab620, 0x22a5: 0x400ab820, 0x22a6: 0x400aba20, 0x22a7: 0x400abc20,\n\t0x22a8: 0x400abe20, 0x22a9: 0x400ac020, 0x22aa: 0xe0000143, 0x22ab: 0xe0000146,\n\t0x22ac: 0xe0000149, 0x22ad: 0xe000014c, 0x22ae: 0x400ac220, 0x22af: 0x400ac420,\n\t0x22b0: 0x400ac620, 0x22b1: 0x400ac820, 0x22b2: 0x400aca20, 0x22b3: 0x400acc20,\n\t0x22b4: 0x400ace20, 0x22b5: 0x400ad020, 0x22b6: 0x400ad220, 0x22b7: 0x400ad420,\n\t0x22b8: 0x400ad620, 0x22b9: 0x400ad820, 0x22ba: 0x400ada20, 0x22bb: 0x400adc20,\n\t0x22bc: 0x400ade20, 0x22bd: 0x400ae020, 0x22be: 0x400ae220, 0x22bf: 0x400ae420,\n\t// Block 0x8b, offset 0x22c0\n\t0x22c0: 0x400ae620, 0x22c1: 0x400ae820, 0x22c2: 0x400aea20, 0x22c3: 0x400aec20,\n\t0x22c4: 0x400aee20, 0x22c5: 0x400af020, 0x22c6: 0x400af220, 0x22c7: 0x400af420,\n\t0x22c8: 0x400af620, 0x22c9: 0x400af820, 0x22ca: 0x400afa20, 0x22cb: 0x400afc20,\n\t0x22cc: 0x400afe20, 0x22cd: 0x400b0020, 0x22ce: 0x400b0220, 0x22cf: 0x400b0420,\n\t0x22d0: 0x400b0620, 0x22d1: 0x400b0820, 0x22d2: 0x400b0a20, 0x22d3: 0x400b0c20,\n\t0x22d4: 0x400b0e20, 0x22d5: 0x400b1020, 0x22d6: 0x400b1220, 0x22d7: 0x400b1420,\n\t0x22d8: 0x400b1620, 0x22d9: 0x400b1820, 0x22da: 0x400b1a20, 0x22db: 0x400b1c20,\n\t0x22dc: 0x400b1e20, 0x22dd: 0x400b2020, 0x22de: 0x400b2220, 0x22df: 0x400b2420,\n\t0x22e0: 0x400b2620, 0x22e1: 0x400b2820, 0x22e2: 0x400b2a20, 0x22e3: 0x400b2c20,\n\t0x22e4: 0x400b2e20, 0x22e5: 0x400b3020, 0x22e6: 0x400b3220, 0x22e7: 0x400b3420,\n\t0x22e8: 0x400b3620, 0x22e9: 0x40049c20, 0x22ea: 0x40049e20, 0x22eb: 0x400b3820,\n\t0x22ec: 0x400b3a20, 0x22ed: 0x400b3c20, 0x22ee: 0x400b3e20, 0x22ef: 0x400b4020,\n\t0x22f0: 0x400b4220, 0x22f1: 0x400b4420, 0x22f2: 0x400b4620, 0x22f3: 0x400b4820,\n\t0x22f4: 0x400b4a20, 0x22f5: 0x400b4c20, 0x22f6: 0x400b4e20, 0x22f7: 0x400b5020,\n\t0x22f8: 0x400b5220, 0x22f9: 0x400b5420, 0x22fa: 0x400b5620, 0x22fb: 0x400b5820,\n\t0x22fc: 0x400b5a20, 0x22fd: 0x400b5c20, 0x22fe: 0x400b5e20, 0x22ff: 0x400b6020,\n\t// Block 0x8c, offset 0x2300\n\t0x2300: 0x400b6220, 0x2301: 0x400b6420, 0x2302: 0x400b6620, 0x2303: 0x400b6820,\n\t0x2304: 0x400b6a20, 0x2305: 0x400b6c20, 0x2306: 0x400b6e20, 0x2307: 0x400b7020,\n\t0x2308: 0x400b7220, 0x2309: 0x400b7420, 0x230a: 0x400b7620, 0x230b: 0x400b7820,\n\t0x230c: 0x400b7a20, 0x230d: 0x400b7c20, 0x230e: 0x400b7e20, 0x230f: 0x400b8020,\n\t0x2310: 0x400b8220, 0x2311: 0x400b8420, 0x2312: 0x400b8620, 0x2313: 0x400b8820,\n\t0x2314: 0x400b8a20, 0x2315: 0x400b8c20, 0x2316: 0x400b8e20, 0x2317: 0x400b9020,\n\t0x2318: 0x400b9220, 0x2319: 0x400b9420, 0x231a: 0x400b9620, 0x231b: 0x400b9820,\n\t0x231c: 0x400b9a20, 0x231d: 0x400b9c20, 0x231e: 0x400b9e20, 0x231f: 0x400ba020,\n\t0x2320: 0x400ba220, 0x2321: 0x400ba420, 0x2322: 0x400ba620, 0x2323: 0x400ba820,\n\t0x2324: 0x400baa20, 0x2325: 0x400bac20, 0x2326: 0x400bae20, 0x2327: 0x400bb020,\n\t0x2328: 0x400bb220, 0x2329: 0x400bb420, 0x232a: 0x400bb620, 0x232b: 0x400bb820,\n\t0x232c: 0x400bba20, 0x232d: 0x400bbc20, 0x232e: 0x400bbe20, 0x232f: 0x400bc020,\n\t0x2330: 0x400bc220, 0x2331: 0x400bc420, 0x2332: 0x400bc620, 0x2333: 0x400bc820,\n\t0x2334: 0x400bca20, 0x2335: 0x400bcc20, 0x2336: 0x400bce20, 0x2337: 0x400bd020,\n\t0x2338: 0x400bd220, 0x2339: 0x400bd420, 0x233a: 0x400bd620, 0x233b: 0x400bd820,\n\t0x233c: 0x400bda20, 0x233d: 0x400bdc20, 0x233e: 0x400bde20, 0x233f: 0x400be020,\n\t// Block 0x8d, offset 0x2340\n\t0x2340: 0x400be220, 0x2341: 0x400be420, 0x2342: 0x400be620, 0x2343: 0x400be820,\n\t0x2344: 0x400bea20, 0x2345: 0x400bec20, 0x2346: 0x400bee20, 0x2347: 0x400bf020,\n\t0x2348: 0x400bf220, 0x2349: 0x400bf420, 0x234a: 0x400bf620, 0x234b: 0x400bf820,\n\t0x234c: 0x400bfa20, 0x234d: 0x400bfc20, 0x234e: 0x400bfe20, 0x234f: 0x400c0020,\n\t0x2350: 0x400c0220, 0x2351: 0x400c0420, 0x2352: 0x400c0620, 0x2353: 0x400c0820,\n\t0x2354: 0x400c0a20, 0x2355: 0x400c0c20, 0x2356: 0x400c0e20, 0x2357: 0x400c1020,\n\t0x2358: 0x400c1220, 0x2359: 0x400c1420, 0x235a: 0x400c1620, 0x235b: 0x400c1820,\n\t0x235c: 0x400c1a20, 0x235d: 0x400c1c20, 0x235e: 0x400c1e20, 0x235f: 0x400c2020,\n\t0x2360: 0x400c2220, 0x2361: 0x400c2420, 0x2362: 0x400c2620, 0x2363: 0x400c2820,\n\t0x2364: 0x400c2a20, 0x2365: 0x400c2c20, 0x2366: 0x400c2e20, 0x2367: 0x400c3020,\n\t0x2368: 0x400c3220, 0x2369: 0x400c3420, 0x236a: 0x400c3620, 0x236b: 0x400c3820,\n\t0x236c: 0x400c3a20, 0x236d: 0x400c3c20, 0x236e: 0x400c3e20, 0x236f: 0x400c4020,\n\t0x2370: 0x400c4220, 0x2371: 0x400c4420, 0x2372: 0x400c4620, 0x2373: 0x400c4820,\n\t0x2374: 0x400c4a20, 0x2375: 0x400c4c20, 0x2376: 0x400c4e20, 0x2377: 0x400c5020,\n\t0x2378: 0x400c5220, 0x2379: 0x400c5420, 0x237a: 0x400c5620, 0x237b: 0x400c5820,\n\t0x237c: 0x400c5a20, 0x237d: 0x400c5c20, 0x237e: 0x400c5e20, 0x237f: 0x400c6020,\n\t// Block 0x8e, offset 0x2380\n\t0x2380: 0x400c6220, 0x2381: 0x400c6420, 0x2382: 0x400c6620, 0x2383: 0x400c6820,\n\t0x2384: 0x400c6a20, 0x2385: 0x400c6c20, 0x2386: 0x400c6e20, 0x2387: 0x400c7020,\n\t0x2388: 0x400c7220, 0x2389: 0x400c7420, 0x238a: 0x400c7620, 0x238b: 0x400c7820,\n\t0x238c: 0x400c7a20, 0x238d: 0x400c7c20, 0x238e: 0x400c7e20, 0x238f: 0x400c8020,\n\t0x2390: 0x400c8220, 0x2391: 0x400c8420, 0x2392: 0x400c8620, 0x2393: 0x400c8820,\n\t0x2394: 0x400c8a20, 0x2395: 0x400c8c20, 0x2396: 0x400c8e20, 0x2397: 0x400c9020,\n\t0x2398: 0x400c9220, 0x2399: 0x400c9420, 0x239a: 0x400c9620, 0x239b: 0x400c9820,\n\t0x239c: 0x400c9a20, 0x239d: 0x400c9c20, 0x239e: 0x400c9e20, 0x239f: 0x400ca020,\n\t0x23a0: 0x400ca220, 0x23a1: 0x400ca420, 0x23a2: 0x400ca620, 0x23a3: 0x400ca820,\n\t0x23a4: 0x400caa20, 0x23a5: 0x400cac20, 0x23a6: 0x400cae20, 0x23a7: 0x400cb020,\n\t0x23a8: 0x400cb220, 0x23a9: 0x400cb420, 0x23aa: 0x400cb620, 0x23ab: 0x400cb820,\n\t0x23ac: 0x400cba20, 0x23ad: 0x400cbc20, 0x23ae: 0x400cbe20, 0x23af: 0x400cc020,\n\t0x23b0: 0x400cc220, 0x23b1: 0x400cc420, 0x23b2: 0x400cc620, 0x23b3: 0x400cc820,\n\t// Block 0x8f, offset 0x23c0\n\t0x23c0: 0x400cca20, 0x23c1: 0x400ccc20, 0x23c2: 0x400cce20, 0x23c3: 0x400cd020,\n\t0x23c4: 0x400cd220, 0x23c5: 0x400cd420, 0x23c6: 0x400cd620, 0x23c7: 0x400cd820,\n\t0x23c8: 0x400cda20, 0x23c9: 0x400cdc20, 0x23ca: 0x400cde20, 0x23cb: 0x400ce020,\n\t0x23cc: 0x400ce220, 0x23cd: 0x400ce420, 0x23ce: 0x400ce620, 0x23cf: 0x400ce820,\n\t0x23d0: 0x400cea20, 0x23d1: 0x400cec20, 0x23d2: 0x400cee20, 0x23d3: 0x400cf020,\n\t0x23d4: 0x400cf220, 0x23d5: 0x400cf420, 0x23d6: 0x400cf620, 0x23d7: 0x400cf820,\n\t0x23d8: 0x400cfa20, 0x23d9: 0x400cfc20, 0x23da: 0x400cfe20, 0x23db: 0x400d0020,\n\t0x23dc: 0x400d0220, 0x23dd: 0x400d0420, 0x23de: 0x400d0620, 0x23df: 0x400d0820,\n\t0x23e0: 0x400d0a20, 0x23e1: 0x400d0c20, 0x23e2: 0x400d0e20, 0x23e3: 0x400d1020,\n\t0x23e4: 0x400d1220, 0x23e5: 0x400d1420, 0x23e6: 0x400d1620,\n\t// Block 0x90, offset 0x2400\n\t0x2400: 0x400d1820, 0x2401: 0x400d1a20, 0x2402: 0x400d1c20, 0x2403: 0x400d1e20,\n\t0x2404: 0x400d2020, 0x2405: 0x400d2220, 0x2406: 0x400d2420, 0x2407: 0x400d2620,\n\t0x2408: 0x400d2820, 0x2409: 0x400d2a20, 0x240a: 0x400d2c20,\n\t0x2420: 0x0029ce86, 0x2421: 0x0029d086, 0x2422: 0x0029d286, 0x2423: 0x0029d486,\n\t0x2424: 0x0029d686, 0x2425: 0x0029d886, 0x2426: 0x0029da86, 0x2427: 0x0029dc86,\n\t0x2428: 0x0029de86, 0x2429: 0xf0000606, 0x242a: 0xf0000606, 0x242b: 0xf0000606,\n\t0x242c: 0xf0000606, 0x242d: 0xf0000606, 0x242e: 0xf0000606, 0x242f: 0xf0000606,\n\t0x2430: 0xf0000606, 0x2431: 0xf0000606, 0x2432: 0xf0000606, 0x2433: 0xf0000606,\n\t0x2434: 0xf0000404, 0x2435: 0xf0000404, 0x2436: 0xf0000404, 0x2437: 0xf0000404,\n\t0x2438: 0xf0000404, 0x2439: 0xf0000404, 0x243a: 0xf0000404, 0x243b: 0xf0000404,\n\t0x243c: 0xf0000404, 0x243d: 0xe0000015, 0x243e: 0xe000001a, 0x243f: 0xe000001f,\n\t// Block 0x91, offset 0x2440\n\t0x2440: 0xe0000024, 0x2441: 0xe0000029, 0x2442: 0xe000002e, 0x2443: 0xe0000033,\n\t0x2444: 0xe0000038, 0x2445: 0xe000003d, 0x2446: 0xe0000042, 0x2447: 0xe0000047,\n\t0x2448: 0xf0001f04, 0x2449: 0xf0001f04, 0x244a: 0xf0001f04, 0x244b: 0xf0001f04,\n\t0x244c: 0xf0001f04, 0x244d: 0xf0001f04, 0x244e: 0xf0001f04, 0x244f: 0xf0001f04,\n\t0x2450: 0xf0001f04, 0x2451: 0xf0000404, 0x2452: 0xf0000404, 0x2453: 0xf0000404,\n\t0x2454: 0xf0000404, 0x2455: 0xf0000404, 0x2456: 0xf0000404, 0x2457: 0xf0000404,\n\t0x2458: 0xf0000404, 0x2459: 0xf0000404, 0x245a: 0xf0000404, 0x245b: 0xf0000404,\n\t0x245c: 0xf0000404, 0x245d: 0xf0000404, 0x245e: 0xf0000404, 0x245f: 0xf0000404,\n\t0x2460: 0xf0000404, 0x2461: 0xf0000404, 0x2462: 0xf0000404, 0x2463: 0xf0000404,\n\t0x2464: 0xf0000404, 0x2465: 0xf0000404, 0x2466: 0xf0000404, 0x2467: 0xf0000404,\n\t0x2468: 0xf0000404, 0x2469: 0xf0000404, 0x246a: 0xf0000404, 0x246b: 0xf0000404,\n\t0x246c: 0xf0000404, 0x246d: 0xf0000404, 0x246e: 0xf0000404, 0x246f: 0xf0000404,\n\t0x2470: 0xf0000404, 0x2471: 0xf0000404, 0x2472: 0xf0000404, 0x2473: 0xf0000404,\n\t0x2474: 0xf0000404, 0x2475: 0xf0000404, 0x2476: 0x002bde8c, 0x2477: 0x002c0a8c,\n\t0x2478: 0x002c3a8c, 0x2479: 0x002c628c, 0x247a: 0x002c988c, 0x247b: 0x002d088c,\n\t0x247c: 0x002d228c, 0x247d: 0x002d688c, 0x247e: 0x002d9a8c, 0x247f: 0x002dcc8c,\n\t// Block 0x92, offset 0x2480\n\t0x2480: 0x002dfe8c, 0x2481: 0x002e228c, 0x2482: 0x002e828c, 0x2483: 0x002e9e8c,\n\t0x2484: 0x002ee28c, 0x2485: 0x002f2c8c, 0x2486: 0x002f568c, 0x2487: 0x002f7a8c,\n\t0x2488: 0x002fe68c, 0x2489: 0x00302c8c, 0x248a: 0x00306c8c, 0x248b: 0x0030be8c,\n\t0x248c: 0x0030e28c, 0x248d: 0x0030f68c, 0x248e: 0x0031008c, 0x248f: 0x00312a8c,\n\t0x2490: 0x002bde86, 0x2491: 0x002c0a86, 0x2492: 0x002c3a86, 0x2493: 0x002c6286,\n\t0x2494: 0x002c9886, 0x2495: 0x002d0886, 0x2496: 0x002d2286, 0x2497: 0x002d6886,\n\t0x2498: 0x002d9a86, 0x2499: 0x002dcc86, 0x249a: 0x002dfe86, 0x249b: 0x002e2286,\n\t0x249c: 0x002e8286, 0x249d: 0x002e9e86, 0x249e: 0x002ee286, 0x249f: 0x002f2c86,\n\t0x24a0: 0x002f5686, 0x24a1: 0x002f7a86, 0x24a2: 0x002fe686, 0x24a3: 0x00302c86,\n\t0x24a4: 0x00306c86, 0x24a5: 0x0030be86, 0x24a6: 0x0030e286, 0x24a7: 0x0030f686,\n\t0x24a8: 0x00310086, 0x24a9: 0x00312a86, 0x24aa: 0x0029cc86, 0x24ab: 0xe00002e6,\n\t0x24ac: 0xe00002e9, 0x24ad: 0xe00002ec, 0x24ae: 0xe00002ef, 0x24af: 0xe00002f2,\n\t0x24b0: 0xe00002f5, 0x24b1: 0xe00002f8, 0x24b2: 0xe00002fb, 0x24b3: 0xe00002fe,\n\t0x24b4: 0xe00003d5, 0x24b5: 0x0029ce86, 0x24b6: 0x0029d086, 0x24b7: 0x0029d286,\n\t0x24b8: 0x0029d486, 0x24b9: 0x0029d686, 0x24ba: 0x0029d886, 0x24bb: 0x0029da86,\n\t0x24bc: 0x0029dc86, 0x24bd: 0x0029de86, 0x24be: 0xe00002d7, 0x24bf: 0x0029cc86,\n\t// Block 0x93, offset 0x24c0\n\t0x24c0: 0x400d2e20, 0x24c1: 0x400d3020, 0x24c2: 0x400d3220, 0x24c3: 0x400d3420,\n\t0x24c4: 0x400d3620, 0x24c5: 0x400d3820, 0x24c6: 0x400d3a20, 0x24c7: 0x400d3c20,\n\t0x24c8: 0x400d3e20, 0x24c9: 0x400d4020, 0x24ca: 0x400d4220, 0x24cb: 0x400d4420,\n\t0x24cc: 0x400d4620, 0x24cd: 0x400d4820, 0x24ce: 0x400d4a20, 0x24cf: 0x400d4c20,\n\t0x24d0: 0x400d4e20, 0x24d1: 0x400d5020, 0x24d2: 0x400d5220, 0x24d3: 0x400d5420,\n\t0x24d4: 0x400d5620, 0x24d5: 0x400d5820, 0x24d6: 0x400d5a20, 0x24d7: 0x400d5c20,\n\t0x24d8: 0x400d5e20, 0x24d9: 0x400d6020, 0x24da: 0x400d6220, 0x24db: 0x400d6420,\n\t0x24dc: 0x400d6620, 0x24dd: 0x400d6820, 0x24de: 0x400d6a20, 0x24df: 0x400d6c20,\n\t0x24e0: 0x400d6e20, 0x24e1: 0x400d7020, 0x24e2: 0x400d7220, 0x24e3: 0x400d7420,\n\t0x24e4: 0x400d7620, 0x24e5: 0x400d7820, 0x24e6: 0x400d7a20, 0x24e7: 0x400d7c20,\n\t0x24e8: 0x400d7e20, 0x24e9: 0x400d8020, 0x24ea: 0x400d8220, 0x24eb: 0x400d8420,\n\t0x24ec: 0x400d8620, 0x24ed: 0x400d8820, 0x24ee: 0x400d8a20, 0x24ef: 0x400d8c20,\n\t0x24f0: 0x400d8e20, 0x24f1: 0x400d9020, 0x24f2: 0x400d9220, 0x24f3: 0x400d9420,\n\t0x24f4: 0x400d9620, 0x24f5: 0x400d9820, 0x24f6: 0x400d9a20, 0x24f7: 0x400d9c20,\n\t0x24f8: 0x400d9e20, 0x24f9: 0x400da020, 0x24fa: 0x400da220, 0x24fb: 0x400da420,\n\t0x24fc: 0x400da620, 0x24fd: 0x400da820, 0x24fe: 0x400daa20, 0x24ff: 0x400dac20,\n\t// Block 0x94, offset 0x2500\n\t0x2500: 0x400dae20, 0x2501: 0x400db020, 0x2502: 0x400db220, 0x2503: 0x400db420,\n\t0x2504: 0x400db620, 0x2505: 0x400db820, 0x2506: 0x400dba20, 0x2507: 0x400dbc20,\n\t0x2508: 0x400dbe20, 0x2509: 0x400dc020, 0x250a: 0x400dc220, 0x250b: 0x400dc420,\n\t0x250c: 0x400dc620, 0x250d: 0x400dc820, 0x250e: 0x400dca20, 0x250f: 0x400dcc20,\n\t0x2510: 0x400dce20, 0x2511: 0x400dd020, 0x2512: 0x400dd220, 0x2513: 0x400dd420,\n\t0x2514: 0x400dd620, 0x2515: 0x400dd820, 0x2516: 0x400dda20, 0x2517: 0x400ddc20,\n\t0x2518: 0x400dde20, 0x2519: 0x400de020, 0x251a: 0x400de220, 0x251b: 0x400de420,\n\t0x251c: 0x400de620, 0x251d: 0x400de820, 0x251e: 0x400dea20, 0x251f: 0x400dec20,\n\t0x2520: 0x400dee20, 0x2521: 0x400df020, 0x2522: 0x400df220, 0x2523: 0x400df420,\n\t0x2524: 0x400df620, 0x2525: 0x400df820, 0x2526: 0x400dfa20, 0x2527: 0x400dfc20,\n\t0x2528: 0x400dfe20, 0x2529: 0x400e0020, 0x252a: 0x400e0220, 0x252b: 0x400e0420,\n\t0x252c: 0x400e0620, 0x252d: 0x400e0820, 0x252e: 0x400e0a20, 0x252f: 0x400e0c20,\n\t0x2530: 0x400e0e20, 0x2531: 0x400e1020, 0x2532: 0x400e1220, 0x2533: 0x400e1420,\n\t0x2534: 0x400e1620, 0x2535: 0x400e1820, 0x2536: 0x400e1a20, 0x2537: 0x400e1c20,\n\t0x2538: 0x400e1e20, 0x2539: 0x400e2020, 0x253a: 0x400e2220, 0x253b: 0x400e2420,\n\t0x253c: 0x400e2620, 0x253d: 0x400e2820, 0x253e: 0x400e2a20, 0x253f: 0x400e2c20,\n\t// Block 0x95, offset 0x2540\n\t0x2540: 0x400e2e20, 0x2541: 0x400e3020, 0x2542: 0x400e3220, 0x2543: 0x400e3420,\n\t0x2544: 0x400e3620, 0x2545: 0x400e3820, 0x2546: 0x400e3a20, 0x2547: 0x400e3c20,\n\t0x2548: 0x400e3e20, 0x2549: 0x400e4020, 0x254a: 0x400e4220, 0x254b: 0x400e4420,\n\t0x254c: 0x400e4620, 0x254d: 0x400e4820, 0x254e: 0x400e4a20, 0x254f: 0x400e4c20,\n\t0x2550: 0x400e4e20, 0x2551: 0x400e5020, 0x2552: 0x400e5220, 0x2553: 0x400e5420,\n\t0x2554: 0x400e5620, 0x2555: 0x400e5820, 0x2556: 0x400e5a20, 0x2557: 0x400e5c20,\n\t0x2558: 0x400e5e20, 0x2559: 0x400e6020, 0x255a: 0x400e6220, 0x255b: 0x400e6420,\n\t0x255c: 0x400e6620, 0x255d: 0x400e6820, 0x255e: 0x400e6a20, 0x255f: 0x400e6c20,\n\t0x2560: 0x400e6e20, 0x2561: 0x400e7020, 0x2562: 0x400e7220, 0x2563: 0x400e7420,\n\t0x2564: 0x400e7620, 0x2565: 0x400e7820, 0x2566: 0x400e7a20, 0x2567: 0x400e7c20,\n\t0x2568: 0x400e7e20, 0x2569: 0x400e8020, 0x256a: 0x400e8220, 0x256b: 0x400e8420,\n\t0x256c: 0x400e8620, 0x256d: 0x400e8820, 0x256e: 0x400e8a20, 0x256f: 0x400e8c20,\n\t0x2570: 0x400e8e20, 0x2571: 0x400e9020, 0x2572: 0x400e9220, 0x2573: 0x400e9420,\n\t0x2574: 0x400e9620, 0x2575: 0x400e9820, 0x2576: 0x400e9a20, 0x2577: 0x400e9c20,\n\t0x2578: 0x400e9e20, 0x2579: 0x400ea020, 0x257a: 0x400ea220, 0x257b: 0x400ea420,\n\t0x257c: 0x400ea620, 0x257d: 0x400ea820, 0x257e: 0x400eaa20, 0x257f: 0x400eac20,\n\t// Block 0x96, offset 0x2580\n\t0x2580: 0x400eae20, 0x2581: 0x400eb020, 0x2582: 0x400eb220, 0x2583: 0x400eb420,\n\t0x2584: 0x400eb620, 0x2585: 0x400eb820, 0x2586: 0x400eba20, 0x2587: 0x400ebc20,\n\t0x2588: 0x400ebe20, 0x2589: 0x400ec020, 0x258a: 0x400ec220, 0x258b: 0x400ec420,\n\t0x258c: 0x400ec620, 0x258d: 0x400ec820, 0x258e: 0x400eca20, 0x258f: 0x400ecc20,\n\t0x2590: 0x400ece20, 0x2591: 0x400ed020, 0x2592: 0x400ed220, 0x2593: 0x400ed420,\n\t0x2594: 0x400ed620, 0x2595: 0x400ed820, 0x2596: 0x400eda20, 0x2597: 0x400edc20,\n\t0x2598: 0x400ede20, 0x2599: 0x400ee020, 0x259a: 0x400ee220, 0x259b: 0x400ee420,\n\t0x259c: 0x400ee620, 0x259d: 0x400ee820, 0x259e: 0x400eea20, 0x259f: 0x400eec20,\n\t0x25a0: 0x400eee20, 0x25a1: 0x400ef020, 0x25a2: 0x400ef220, 0x25a3: 0x400ef420,\n\t0x25a4: 0x400ef620, 0x25a5: 0x400ef820, 0x25a6: 0x400efa20, 0x25a7: 0x400efc20,\n\t0x25a8: 0x400efe20, 0x25a9: 0x400f0020, 0x25aa: 0x400f0220, 0x25ab: 0x400f0420,\n\t0x25ac: 0x400f0620, 0x25ad: 0x400f0820, 0x25ae: 0x400f0a20, 0x25af: 0x400f0c20,\n\t0x25b0: 0x400f0e20, 0x25b1: 0x400f1020, 0x25b2: 0x400f1220, 0x25b3: 0x400f1420,\n\t0x25b4: 0x400f1620, 0x25b5: 0x400f1820, 0x25b6: 0x400f1a20, 0x25b7: 0x400f1c20,\n\t0x25b8: 0x400f1e20, 0x25b9: 0x400f2020, 0x25ba: 0x400f2220, 0x25bb: 0x400f2420,\n\t0x25bc: 0x400f2620, 0x25bd: 0x400f2820, 0x25be: 0x400f2a20, 0x25bf: 0x400f2c20,\n\t// Block 0x97, offset 0x25c0\n\t0x25c0: 0x400f2e20, 0x25c1: 0x400f3020, 0x25c2: 0x400f3220, 0x25c3: 0x400f3420,\n\t0x25c4: 0x400f3620, 0x25c5: 0x400f3820, 0x25c6: 0x400f3a20, 0x25c7: 0x400f3c20,\n\t0x25c8: 0x400f3e20, 0x25c9: 0x400f4020, 0x25ca: 0x400f4220, 0x25cb: 0x400f4420,\n\t0x25cc: 0x400f4620, 0x25cd: 0x400f4820, 0x25ce: 0x400f4a20, 0x25cf: 0x400f4c20,\n\t0x25d0: 0x400f4e20, 0x25d1: 0x400f5020, 0x25d2: 0x400f5220, 0x25d3: 0x400f5420,\n\t0x25d4: 0x400f5620, 0x25d5: 0x400f5820, 0x25d6: 0x400f5a20, 0x25d7: 0x400f5c20,\n\t0x25d8: 0x400f5e20, 0x25d9: 0x400f6020, 0x25da: 0x400f6220, 0x25db: 0x400f6420,\n\t0x25dc: 0x400f6620, 0x25dd: 0x400f6820, 0x25de: 0x400f6a20, 0x25df: 0x400f6c20,\n\t0x25e0: 0x400f6e20, 0x25e1: 0x400f7020, 0x25e2: 0x400f7220, 0x25e3: 0x400f7420,\n\t0x25e4: 0x400f7620, 0x25e5: 0x400f7820, 0x25e6: 0x400f7a20, 0x25e7: 0x400f7c20,\n\t0x25e8: 0x400f7e20, 0x25e9: 0x400f8020, 0x25ea: 0x400f8220, 0x25eb: 0x400f8420,\n\t0x25ec: 0x400f8620, 0x25ed: 0x400f8820, 0x25ee: 0x400f8a20, 0x25ef: 0x400f8c20,\n\t0x25f0: 0x40195220, 0x25f1: 0x40195420, 0x25f2: 0x40195620, 0x25f3: 0x40195820,\n\t0x25f4: 0x40195a20, 0x25f5: 0x40195c20, 0x25f6: 0x40195e20, 0x25f7: 0x40196020,\n\t0x25f8: 0x400f8e20, 0x25f9: 0x400f9020, 0x25fa: 0x400f9220, 0x25fb: 0x400f9420,\n\t0x25fc: 0x400f9620, 0x25fd: 0x400f9820, 0x25fe: 0x400f9a20, 0x25ff: 0x400f9c20,\n\t// Block 0x98, offset 0x2600\n\t0x2600: 0x400f9e20, 0x2601: 0x400fa020, 0x2602: 0x400fa220, 0x2603: 0x400fa420,\n\t0x2604: 0x400fa620, 0x2605: 0x400fa820, 0x2606: 0x400faa20, 0x2607: 0x400fac20,\n\t0x2608: 0x400fae20, 0x2609: 0x400fb020, 0x260a: 0x400fb220, 0x260b: 0x400fb420,\n\t0x260c: 0x400fb620, 0x260d: 0x400fb820, 0x260e: 0x400fba20, 0x260f: 0x400fbc20,\n\t0x2610: 0x400fbe20, 0x2611: 0x400fc020, 0x2612: 0x400fc220, 0x2613: 0x400fc420,\n\t0x2614: 0x400fc620, 0x2615: 0x400fc820, 0x2616: 0x400fca20, 0x2617: 0x400fcc20,\n\t0x2618: 0x400fce20, 0x2619: 0x400fd020, 0x261a: 0x400fd220, 0x261b: 0x400fd420,\n\t0x261c: 0x400fd620, 0x261d: 0x400fd820, 0x261e: 0x400fda20, 0x261f: 0x400fdc20,\n\t0x2620: 0x400fde20, 0x2621: 0x400fe020, 0x2622: 0x400fe220, 0x2623: 0x400fe420,\n\t0x2624: 0x400fe620, 0x2625: 0x400fe820, 0x2626: 0x400fea20, 0x2627: 0x400fec20,\n\t0x2628: 0x400fee20, 0x2629: 0x400ff020, 0x262a: 0x400ff220, 0x262b: 0x400ff420,\n\t0x262c: 0x400ff620, 0x262d: 0x401dde20, 0x262e: 0x401de020, 0x262f: 0x401de220,\n\t0x2630: 0x400ff820, 0x2631: 0x400ffa20, 0x2632: 0x400ffc20, 0x2633: 0x400ffe20,\n\t0x2634: 0x40100020, 0x2635: 0x40100220, 0x2636: 0x40100420, 0x2637: 0x40100620,\n\t0x2638: 0x40100820, 0x2639: 0x40100a20, 0x263a: 0x40100c20, 0x263b: 0x40100e20,\n\t0x263c: 0x40101020, 0x263d: 0x40101220, 0x263e: 0x40101420, 0x263f: 0x40101620,\n\t// Block 0x99, offset 0x2640\n\t0x2640: 0x40101820, 0x2641: 0x40101a20, 0x2642: 0x40101c20, 0x2643: 0x40101e20,\n\t0x2644: 0x40102020, 0x2645: 0x40102220, 0x2646: 0x40102420, 0x2647: 0x40102620,\n\t0x2648: 0x40102820, 0x2649: 0x40102a20, 0x264a: 0x40194620, 0x264b: 0x40194820,\n\t0x264c: 0x40194a20, 0x264d: 0x40194c20, 0x264e: 0x40194e20, 0x264f: 0x40195020,\n\t0x2650: 0x40102c20, 0x2651: 0x40102e20, 0x2652: 0x40103020, 0x2653: 0x40103220,\n\t0x2654: 0x40103420, 0x2655: 0x40103620, 0x2656: 0x40103820, 0x2657: 0x40103a20,\n\t0x2658: 0x40103c20, 0x2659: 0x40103e20, 0x265a: 0x40104020, 0x265b: 0x40104220,\n\t0x265c: 0x40104420, 0x265d: 0x40104620, 0x265e: 0x40104820, 0x265f: 0x40104a20,\n\t0x2660: 0x40104c20, 0x2661: 0x40104e20, 0x2662: 0x40105020, 0x2663: 0x40105220,\n\t0x2664: 0x40105420, 0x2665: 0x40105620, 0x2666: 0x40105820, 0x2667: 0x40105a20,\n\t0x2668: 0x40105c20, 0x2669: 0x40105e20, 0x266a: 0x40106020, 0x266b: 0x40106220,\n\t0x266c: 0x40106420, 0x266d: 0x40106620, 0x266e: 0x40106820, 0x266f: 0x40106a20,\n\t0x2670: 0x40106c20, 0x2671: 0x40106e20, 0x2672: 0x40107020, 0x2673: 0x40107220,\n\t0x2674: 0x40107420, 0x2675: 0x40107620, 0x2676: 0x40107820, 0x2677: 0x40107a20,\n\t0x2678: 0x40107c20, 0x2679: 0x40107e20, 0x267a: 0x40108020, 0x267b: 0x40108220,\n\t0x267c: 0x40108420, 0x267d: 0x40108620, 0x267e: 0x40108820, 0x267f: 0x40108a20,\n\t// Block 0x9a, offset 0x2680\n\t0x2680: 0x40108c20, 0x2681: 0x40108e20, 0x2682: 0x40109020, 0x2683: 0x40109220,\n\t0x2684: 0x40109420, 0x2685: 0x40109620, 0x2686: 0x40109820, 0x2687: 0x40109a20,\n\t0x2688: 0x40109c20, 0x2689: 0x40109e20, 0x268a: 0x4010a020, 0x268b: 0x4010a220,\n\t0x268c: 0x4010a420, 0x268d: 0x4010a620, 0x268e: 0x4010a820, 0x268f: 0x4010aa20,\n\t0x2690: 0x4010ac20, 0x2691: 0x4010ae20, 0x2692: 0x4010b020, 0x2693: 0x4010b220,\n\t0x2694: 0x4010b420, 0x2695: 0x4010b620, 0x2696: 0x4010b820, 0x2697: 0x4010ba20,\n\t0x2698: 0x4010bc20, 0x2699: 0x4010be20, 0x269a: 0x4010c020, 0x269b: 0x4010c220,\n\t0x269c: 0x4010c420, 0x269d: 0x4010c620, 0x269e: 0x4010c820, 0x269f: 0x4010ca20,\n\t0x26a0: 0x4010cc20, 0x26a1: 0x4010ce20, 0x26a2: 0x4010d020, 0x26a3: 0x4010d220,\n\t0x26a4: 0x4010d420, 0x26a5: 0x4010d620, 0x26a6: 0x4010d820, 0x26a7: 0x4010da20,\n\t0x26a8: 0x4010dc20, 0x26a9: 0x4010de20, 0x26aa: 0x4010e020, 0x26ab: 0x4010e220,\n\t0x26ac: 0x4010e420, 0x26ad: 0x4010e620, 0x26ae: 0x4010e820, 0x26af: 0x4010ea20,\n\t0x26b0: 0x4010ec20, 0x26b1: 0x4010ee20, 0x26b2: 0x4010f020, 0x26b3: 0x4010f220,\n\t0x26b4: 0x4010f420, 0x26b5: 0x4010f620, 0x26b6: 0x4010f820, 0x26b7: 0x4010fa20,\n\t0x26b8: 0x4010fc20, 0x26b9: 0x4010fe20, 0x26ba: 0x40110020, 0x26bb: 0x40110220,\n\t0x26bc: 0x40110420, 0x26bd: 0x40110620, 0x26be: 0x40110820, 0x26bf: 0x40110a20,\n\t// Block 0x9b, offset 0x26c0\n\t0x26c1: 0x40114020, 0x26c2: 0x40114220, 0x26c3: 0x40114420,\n\t0x26c4: 0x40114620, 0x26c5: 0x40114820, 0x26c6: 0x40114a20, 0x26c7: 0x40114c20,\n\t0x26c8: 0x40114e20, 0x26c9: 0x40115020, 0x26ca: 0x40115220, 0x26cb: 0x40115420,\n\t0x26cc: 0x40115620, 0x26cd: 0x40115820, 0x26ce: 0x40115a20, 0x26cf: 0x40115c20,\n\t0x26d0: 0x40115e20, 0x26d1: 0x40116020, 0x26d2: 0x40116220, 0x26d3: 0x40116420,\n\t0x26d4: 0x40116620, 0x26d5: 0x40116820, 0x26d6: 0x40116a20, 0x26d7: 0x40116c20,\n\t0x26d8: 0x40116e20, 0x26d9: 0x40117020, 0x26da: 0x40117220, 0x26db: 0x40117420,\n\t0x26dc: 0x40117620, 0x26dd: 0x40117820, 0x26de: 0x40117a20, 0x26df: 0x40117c20,\n\t0x26e0: 0x40117e20, 0x26e1: 0x40118020, 0x26e2: 0x40118220, 0x26e3: 0x40118420,\n\t0x26e4: 0x40118620, 0x26e5: 0x40118820, 0x26e6: 0x40118a20, 0x26e7: 0x40118c20,\n\t0x26e8: 0x40118e20, 0x26e9: 0x40119020, 0x26ea: 0x40119220, 0x26eb: 0x40119420,\n\t0x26ec: 0x40119620, 0x26ed: 0x40119820, 0x26ee: 0x40119a20, 0x26ef: 0x40119c20,\n\t0x26f0: 0x40119e20, 0x26f1: 0x4011a020, 0x26f2: 0x4011a220, 0x26f3: 0x4011a420,\n\t0x26f4: 0x4011a620, 0x26f5: 0x4011a820, 0x26f6: 0x4011aa20, 0x26f7: 0x4011ac20,\n\t0x26f8: 0x4011ae20, 0x26f9: 0x4011b020, 0x26fa: 0x4011b220, 0x26fb: 0x4011b420,\n\t0x26fc: 0x4011b620, 0x26fd: 0x4011b820, 0x26fe: 0x4011ba20, 0x26ff: 0x4011bc20,\n\t// Block 0x9c, offset 0x2700\n\t0x2700: 0x4011be20, 0x2701: 0x4011c020, 0x2702: 0x4011c220, 0x2703: 0x4011c420,\n\t0x2704: 0x4011c620, 0x2705: 0x4011c820, 0x2706: 0x4011ca20, 0x2707: 0x4011cc20,\n\t0x2708: 0x4011ce20, 0x2709: 0x4011d020, 0x270a: 0x4011d220, 0x270b: 0x4011d420,\n\t0x270c: 0x4011d620, 0x270d: 0x4011d820, 0x270e: 0x4011da20, 0x270f: 0x4011dc20,\n\t0x2710: 0x4011de20, 0x2711: 0x4011e020, 0x2712: 0x4011e220, 0x2713: 0x4011e420,\n\t0x2714: 0x4011e620, 0x2715: 0x4011e820, 0x2716: 0x4011ea20, 0x2717: 0x4011ec20,\n\t0x2718: 0x4011ee20, 0x2719: 0x4011f020, 0x271a: 0x4011f220, 0x271b: 0x4011f420,\n\t0x271c: 0x4011f620, 0x271d: 0x4011f820, 0x271e: 0x4011fa20, 0x271f: 0x4011fc20,\n\t0x2720: 0x4011fe20, 0x2721: 0x40120020, 0x2722: 0x40120220, 0x2723: 0x40120420,\n\t0x2724: 0x40120620, 0x2725: 0x40120820, 0x2726: 0x40120a20, 0x2727: 0x40120c20,\n\t0x2728: 0x40045820, 0x2729: 0x40045a20, 0x272a: 0x40045c20, 0x272b: 0x40045e20,\n\t0x272c: 0x40046020, 0x272d: 0x40046220, 0x272e: 0x40046420, 0x272f: 0x40046620,\n\t0x2730: 0x40046820, 0x2731: 0x40046a20, 0x2732: 0x40046c20, 0x2733: 0x40046e20,\n\t0x2734: 0x40047020, 0x2735: 0x40047220, 0x2736: 0x0029ce86, 0x2737: 0x0029d086,\n\t0x2738: 0x0029d286, 0x2739: 0x0029d486, 0x273a: 0x0029d686, 0x273b: 0x0029d886,\n\t0x273c: 0x0029da86, 0x273d: 0x0029dc86, 0x273e: 0x0029de86, 0x273f: 0xe00002da,\n\t// Block 0x9d, offset 0x2740\n\t0x2740: 0x0029ce86, 0x2741: 0x0029d086, 0x2742: 0x0029d286, 0x2743: 0x0029d486,\n\t0x2744: 0x0029d686, 0x2745: 0x0029d886, 0x2746: 0x0029da86, 0x2747: 0x0029dc86,\n\t0x2748: 0x0029de86, 0x2749: 0xe00002dd, 0x274a: 0x0029ce86, 0x274b: 0x0029d086,\n\t0x274c: 0x0029d286, 0x274d: 0x0029d486, 0x274e: 0x0029d686, 0x274f: 0x0029d886,\n\t0x2750: 0x0029da86, 0x2751: 0x0029dc86, 0x2752: 0x0029de86, 0x2753: 0xe00002e0,\n\t0x2754: 0x40120e20, 0x2755: 0x40121020, 0x2756: 0x40121220, 0x2757: 0x40121420,\n\t0x2758: 0x40121620, 0x2759: 0x40121820, 0x275a: 0x40121a20, 0x275b: 0x40121c20,\n\t0x275c: 0x40121e20, 0x275d: 0x40122020, 0x275e: 0x40122220, 0x275f: 0x40122420,\n\t0x2760: 0x40122620, 0x2761: 0x40122820, 0x2762: 0x40122a20, 0x2763: 0x40122c20,\n\t0x2764: 0x40122e20, 0x2765: 0x40123020, 0x2766: 0x40123220, 0x2767: 0x40123420,\n\t0x2768: 0x40123620, 0x2769: 0x40123820, 0x276a: 0x40123a20, 0x276b: 0x40123c20,\n\t0x276c: 0x40123e20, 0x276d: 0x40124020, 0x276e: 0x40124220, 0x276f: 0x40124420,\n\t0x2770: 0x40124620, 0x2771: 0x40124820, 0x2772: 0x40124a20, 0x2773: 0x40124c20,\n\t0x2774: 0x40124e20, 0x2775: 0x40125020, 0x2776: 0x40125220, 0x2777: 0x40125420,\n\t0x2778: 0x40125620, 0x2779: 0x40125820, 0x277a: 0x40125a20, 0x277b: 0x40125c20,\n\t0x277c: 0x40125e20, 0x277d: 0x40126020, 0x277e: 0x40126220, 0x277f: 0x40126420,\n\t// Block 0x9e, offset 0x2780\n\t0x2780: 0x40126620, 0x2781: 0x40126820, 0x2782: 0x40126a20, 0x2783: 0x40126c20,\n\t0x2784: 0x40126e20, 0x2785: 0x40044020, 0x2786: 0x40044220, 0x2787: 0x40127020,\n\t0x2788: 0x40127220, 0x2789: 0x40127420, 0x278a: 0x40127620, 0x278b: 0x40127820,\n\t0x278c: 0x40127a20, 0x278d: 0x40127c20, 0x278e: 0x40127e20, 0x278f: 0x40128020,\n\t0x2790: 0x40128220, 0x2791: 0x40128420, 0x2792: 0x40128620, 0x2793: 0x40128820,\n\t0x2794: 0x40128a20, 0x2795: 0x40128c20, 0x2796: 0x40128e20, 0x2797: 0x40129020,\n\t0x2798: 0x40129220, 0x2799: 0x40129420, 0x279a: 0x40129620, 0x279b: 0x40129820,\n\t0x279c: 0x40129a20, 0x279d: 0x40129c20, 0x279e: 0x40129e20, 0x279f: 0x4012a020,\n\t0x27a0: 0x4012a220, 0x27a1: 0x4012a420, 0x27a2: 0x4012a620, 0x27a3: 0x4012a820,\n\t0x27a4: 0x4012aa20, 0x27a5: 0x4012ac20, 0x27a6: 0x40044420, 0x27a7: 0x40044620,\n\t0x27a8: 0x40044820, 0x27a9: 0x40044a20, 0x27aa: 0x40044c20, 0x27ab: 0x40044e20,\n\t0x27ac: 0x40045020, 0x27ad: 0x40045220, 0x27ae: 0x40045420, 0x27af: 0x40045620,\n\t0x27b0: 0x4012ae20, 0x27b1: 0x4012b020, 0x27b2: 0x4012b220, 0x27b3: 0x4012b420,\n\t0x27b4: 0x4012b620, 0x27b5: 0x4012b820, 0x27b6: 0x4012ba20, 0x27b7: 0x4012bc20,\n\t0x27b8: 0x4012be20, 0x27b9: 0x4012c020, 0x27ba: 0x4012c220, 0x27bb: 0x4012c420,\n\t0x27bc: 0x4012c620, 0x27bd: 0x4012c820, 0x27be: 0x4012ca20, 0x27bf: 0x4012cc20,\n\t// Block 0x9f, offset 0x27c0\n\t0x27c0: 0x40174620, 0x27c1: 0x40174820, 0x27c2: 0x40174a20, 0x27c3: 0x40174c20,\n\t0x27c4: 0x40174e20, 0x27c5: 0x40175020, 0x27c6: 0x40175220, 0x27c7: 0x40175420,\n\t0x27c8: 0x40175620, 0x27c9: 0x40175820, 0x27ca: 0x40175a20, 0x27cb: 0x40175c20,\n\t0x27cc: 0x40175e20, 0x27cd: 0x40176020, 0x27ce: 0x40176220, 0x27cf: 0x40176420,\n\t0x27d0: 0x40176620, 0x27d1: 0x40176820, 0x27d2: 0x40176a20, 0x27d3: 0x40176c20,\n\t0x27d4: 0x40176e20, 0x27d5: 0x40177020, 0x27d6: 0x40177220, 0x27d7: 0x40177420,\n\t0x27d8: 0x40177620, 0x27d9: 0x40177820, 0x27da: 0x40177a20, 0x27db: 0x40177c20,\n\t0x27dc: 0x40177e20, 0x27dd: 0x40178020, 0x27de: 0x40178220, 0x27df: 0x40178420,\n\t0x27e0: 0x40178620, 0x27e1: 0x40178820, 0x27e2: 0x40178a20, 0x27e3: 0x40178c20,\n\t0x27e4: 0x40178e20, 0x27e5: 0x40179020, 0x27e6: 0x40179220, 0x27e7: 0x40179420,\n\t0x27e8: 0x40179620, 0x27e9: 0x40179820, 0x27ea: 0x40179a20, 0x27eb: 0x40179c20,\n\t0x27ec: 0x40179e20, 0x27ed: 0x4017a020, 0x27ee: 0x4017a220, 0x27ef: 0x4017a420,\n\t0x27f0: 0x4017a620, 0x27f1: 0x4017a820, 0x27f2: 0x4017aa20, 0x27f3: 0x4017ac20,\n\t0x27f4: 0x4017ae20, 0x27f5: 0x4017b020, 0x27f6: 0x4017b220, 0x27f7: 0x4017b420,\n\t0x27f8: 0x4017b620, 0x27f9: 0x4017b820, 0x27fa: 0x4017ba20, 0x27fb: 0x4017bc20,\n\t0x27fc: 0x4017be20, 0x27fd: 0x4017c020, 0x27fe: 0x4017c220, 0x27ff: 0x4017c420,\n\t// Block 0xa0, offset 0x2800\n\t0x2800: 0x4017c620, 0x2801: 0x4017c820, 0x2802: 0x4017ca20, 0x2803: 0x4017cc20,\n\t0x2804: 0x4017ce20, 0x2805: 0x4017d020, 0x2806: 0x4017d220, 0x2807: 0x4017d420,\n\t0x2808: 0x4017d620, 0x2809: 0x4017d820, 0x280a: 0x4017da20, 0x280b: 0x4017dc20,\n\t0x280c: 0x4017de20, 0x280d: 0x4017e020, 0x280e: 0x4017e220, 0x280f: 0x4017e420,\n\t0x2810: 0x4017e620, 0x2811: 0x4017e820, 0x2812: 0x4017ea20, 0x2813: 0x4017ec20,\n\t0x2814: 0x4017ee20, 0x2815: 0x4017f020, 0x2816: 0x4017f220, 0x2817: 0x4017f420,\n\t0x2818: 0x4017f620, 0x2819: 0x4017f820, 0x281a: 0x4017fa20, 0x281b: 0x4017fc20,\n\t0x281c: 0x4017fe20, 0x281d: 0x40180020, 0x281e: 0x40180220, 0x281f: 0x40180420,\n\t0x2820: 0x40180620, 0x2821: 0x40180820, 0x2822: 0x40180a20, 0x2823: 0x40180c20,\n\t0x2824: 0x40180e20, 0x2825: 0x40181020, 0x2826: 0x40181220, 0x2827: 0x40181420,\n\t0x2828: 0x40181620, 0x2829: 0x40181820, 0x282a: 0x40181a20, 0x282b: 0x40181c20,\n\t0x282c: 0x40181e20, 0x282d: 0x40182020, 0x282e: 0x40182220, 0x282f: 0x40182420,\n\t0x2830: 0x40182620, 0x2831: 0x40182820, 0x2832: 0x40182a20, 0x2833: 0x40182c20,\n\t0x2834: 0x40182e20, 0x2835: 0x40183020, 0x2836: 0x40183220, 0x2837: 0x40183420,\n\t0x2838: 0x40183620, 0x2839: 0x40183820, 0x283a: 0x40183a20, 0x283b: 0x40183c20,\n\t0x283c: 0x40183e20, 0x283d: 0x40184020, 0x283e: 0x40184220, 0x283f: 0x40184420,\n\t// Block 0xa1, offset 0x2840\n\t0x2840: 0x40184620, 0x2841: 0x40184820, 0x2842: 0x40184a20, 0x2843: 0x40184c20,\n\t0x2844: 0x40184e20, 0x2845: 0x40185020, 0x2846: 0x40185220, 0x2847: 0x40185420,\n\t0x2848: 0x40185620, 0x2849: 0x40185820, 0x284a: 0x40185a20, 0x284b: 0x40185c20,\n\t0x284c: 0x40185e20, 0x284d: 0x40186020, 0x284e: 0x40186220, 0x284f: 0x40186420,\n\t0x2850: 0x40186620, 0x2851: 0x40186820, 0x2852: 0x40186a20, 0x2853: 0x40186c20,\n\t0x2854: 0x40186e20, 0x2855: 0x40187020, 0x2856: 0x40187220, 0x2857: 0x40187420,\n\t0x2858: 0x40187620, 0x2859: 0x40187820, 0x285a: 0x40187a20, 0x285b: 0x40187c20,\n\t0x285c: 0x40187e20, 0x285d: 0x40188020, 0x285e: 0x40188220, 0x285f: 0x40188420,\n\t0x2860: 0x40188620, 0x2861: 0x40188820, 0x2862: 0x40188a20, 0x2863: 0x40188c20,\n\t0x2864: 0x40188e20, 0x2865: 0x40189020, 0x2866: 0x40189220, 0x2867: 0x40189420,\n\t0x2868: 0x40189620, 0x2869: 0x40189820, 0x286a: 0x40189a20, 0x286b: 0x40189c20,\n\t0x286c: 0x40189e20, 0x286d: 0x4018a020, 0x286e: 0x4018a220, 0x286f: 0x4018a420,\n\t0x2870: 0x4018a620, 0x2871: 0x4018a820, 0x2872: 0x4018aa20, 0x2873: 0x4018ac20,\n\t0x2874: 0x4018ae20, 0x2875: 0x4018b020, 0x2876: 0x4018b220, 0x2877: 0x4018b420,\n\t0x2878: 0x4018b620, 0x2879: 0x4018b820, 0x287a: 0x4018ba20, 0x287b: 0x4018bc20,\n\t0x287c: 0x4018be20, 0x287d: 0x4018c020, 0x287e: 0x4018c220, 0x287f: 0x4018c420,\n\t// Block 0xa2, offset 0x2880\n\t0x2880: 0x4018c620, 0x2881: 0x4018c820, 0x2882: 0x4018ca20, 0x2883: 0x4018cc20,\n\t0x2884: 0x4018ce20, 0x2885: 0x4018d020, 0x2886: 0x4018d220, 0x2887: 0x4018d420,\n\t0x2888: 0x4018d620, 0x2889: 0x4018d820, 0x288a: 0x4018da20, 0x288b: 0x4018dc20,\n\t0x288c: 0x4018de20, 0x288d: 0x4018e020, 0x288e: 0x4018e220, 0x288f: 0x4018e420,\n\t0x2890: 0x4018e620, 0x2891: 0x4018e820, 0x2892: 0x4018ea20, 0x2893: 0x4018ec20,\n\t0x2894: 0x4018ee20, 0x2895: 0x4018f020, 0x2896: 0x4018f220, 0x2897: 0x4018f420,\n\t0x2898: 0x4018f620, 0x2899: 0x4018f820, 0x289a: 0x4018fa20, 0x289b: 0x4018fc20,\n\t0x289c: 0x4018fe20, 0x289d: 0x40190020, 0x289e: 0x40190220, 0x289f: 0x40190420,\n\t0x28a0: 0x40190620, 0x28a1: 0x40190820, 0x28a2: 0x40190a20, 0x28a3: 0x40190c20,\n\t0x28a4: 0x40190e20, 0x28a5: 0x40191020, 0x28a6: 0x40191220, 0x28a7: 0x40191420,\n\t0x28a8: 0x40191620, 0x28a9: 0x40191820, 0x28aa: 0x40191a20, 0x28ab: 0x40191c20,\n\t0x28ac: 0x40191e20, 0x28ad: 0x40192020, 0x28ae: 0x40192220, 0x28af: 0x40192420,\n\t0x28b0: 0x40192620, 0x28b1: 0x40192820, 0x28b2: 0x40192a20, 0x28b3: 0x40192c20,\n\t0x28b4: 0x40192e20, 0x28b5: 0x40193020, 0x28b6: 0x40193220, 0x28b7: 0x40193420,\n\t0x28b8: 0x40193620, 0x28b9: 0x40193820, 0x28ba: 0x40193a20, 0x28bb: 0x40193c20,\n\t0x28bc: 0x40193e20, 0x28bd: 0x40194020, 0x28be: 0x40194220, 0x28bf: 0x40194420,\n\t// Block 0xa3, offset 0x28c0\n\t0x28c0: 0x4012ce20, 0x28c1: 0x4012d020, 0x28c2: 0x4012d220, 0x28c3: 0x4012d420,\n\t0x28c4: 0x4012d620, 0x28c5: 0x4012d820, 0x28c6: 0x4012da20, 0x28c7: 0x4012dc20,\n\t0x28c8: 0x4012de20, 0x28c9: 0x4012e020, 0x28ca: 0x4012e220, 0x28cb: 0x4012e420,\n\t0x28cc: 0x4012e620, 0x28cd: 0x4012e820, 0x28ce: 0x4012ea20, 0x28cf: 0x4012ec20,\n\t0x28d0: 0x4012ee20, 0x28d1: 0x4012f020, 0x28d2: 0x4012f220, 0x28d3: 0x4012f420,\n\t0x28d4: 0x4012f620, 0x28d5: 0x4012f820, 0x28d6: 0x4012fa20, 0x28d7: 0x4012fc20,\n\t0x28d8: 0x4012fe20, 0x28d9: 0x40130020, 0x28da: 0x40130220, 0x28db: 0x40130420,\n\t0x28dc: 0x40130620, 0x28dd: 0x40130820, 0x28de: 0x40130a20, 0x28df: 0x40130c20,\n\t0x28e0: 0x40130e20, 0x28e1: 0x40131020, 0x28e2: 0x40131220, 0x28e3: 0x40131420,\n\t0x28e4: 0x40131620, 0x28e5: 0x40131820, 0x28e6: 0x40131a20, 0x28e7: 0x40131c20,\n\t0x28e8: 0x40131e20, 0x28e9: 0x40132020, 0x28ea: 0x40132220, 0x28eb: 0x40132420,\n\t0x28ec: 0x40132620, 0x28ed: 0x40132820, 0x28ee: 0x40132a20, 0x28ef: 0x40132c20,\n\t0x28f0: 0x40132e20, 0x28f1: 0x40133020, 0x28f2: 0x40133220, 0x28f3: 0x40133420,\n\t0x28f4: 0x40133620, 0x28f5: 0x40133820, 0x28f6: 0x40133a20, 0x28f7: 0x40133c20,\n\t0x28f8: 0x40133e20, 0x28f9: 0x40134020, 0x28fa: 0x40134220, 0x28fb: 0x40134420,\n\t0x28fc: 0x40134620, 0x28fd: 0x40134820, 0x28fe: 0x40134a20, 0x28ff: 0x40134c20,\n\t// Block 0xa4, offset 0x2900\n\t0x2900: 0x40134e20, 0x2901: 0x40135020, 0x2902: 0x40135220, 0x2903: 0x40135420,\n\t0x2904: 0x40135620, 0x2905: 0x40135820, 0x2906: 0x40135a20, 0x2907: 0x40135c20,\n\t0x2908: 0x40135e20, 0x2909: 0x40136020, 0x290a: 0x40136220, 0x290b: 0x40136420,\n\t0x290c: 0x40136620, 0x290d: 0x40136820, 0x290e: 0x40136a20, 0x290f: 0x40136c20,\n\t0x2910: 0x40136e20, 0x2911: 0x40137020, 0x2912: 0x40137220, 0x2913: 0x40137420,\n\t0x2914: 0x40137620, 0x2915: 0x40137820, 0x2916: 0x40137a20, 0x2917: 0x40137c20,\n\t0x2918: 0x40137e20, 0x2919: 0x40138020, 0x291a: 0x40138220, 0x291b: 0x40138420,\n\t0x291c: 0x40138620, 0x291d: 0x40138820, 0x291e: 0x40138a20, 0x291f: 0x40138c20,\n\t0x2920: 0x40138e20, 0x2921: 0x40139020, 0x2922: 0x40139220, 0x2923: 0x40139420,\n\t0x2924: 0x40139620, 0x2925: 0x40139820, 0x2926: 0x40139a20, 0x2927: 0x40139c20,\n\t0x2928: 0x40139e20, 0x2929: 0x4013a020, 0x292a: 0x4013a220, 0x292b: 0x4013a420,\n\t0x292c: 0x4013a620, 0x292d: 0x4013a820, 0x292e: 0x4013aa20, 0x292f: 0x4013ac20,\n\t0x2930: 0x4013ae20, 0x2931: 0x4013b020, 0x2932: 0x4013b220, 0x2933: 0x4013b420,\n\t0x2934: 0x4013b620, 0x2935: 0x4013b820, 0x2936: 0x4013ba20, 0x2937: 0x4013bc20,\n\t0x2938: 0x4013be20, 0x2939: 0x4013c020, 0x293a: 0x4013c220, 0x293b: 0x4013c420,\n\t0x293c: 0x4013c620, 0x293d: 0x4013c820, 0x293e: 0x4013ca20, 0x293f: 0x4013cc20,\n\t// Block 0xa5, offset 0x2940\n\t0x2940: 0x4013ce20, 0x2941: 0x4013d020, 0x2942: 0x4013d220, 0x2943: 0x40041420,\n\t0x2944: 0x40041620, 0x2945: 0x40041820, 0x2946: 0x40041a20, 0x2947: 0x40041c20,\n\t0x2948: 0x40041e20, 0x2949: 0x40042020, 0x294a: 0x40042220, 0x294b: 0x40042420,\n\t0x294c: 0x40042620, 0x294d: 0x40042820, 0x294e: 0x40042a20, 0x294f: 0x40042c20,\n\t0x2950: 0x40042e20, 0x2951: 0x40043020, 0x2952: 0x40043220, 0x2953: 0x40043420,\n\t0x2954: 0x40043620, 0x2955: 0x40043820, 0x2956: 0x40043a20, 0x2957: 0x40043c20,\n\t0x2958: 0x40043e20, 0x2959: 0x4013d420, 0x295a: 0x4013d620, 0x295b: 0x4013d820,\n\t0x295c: 0x4013da20, 0x295d: 0x4013dc20, 0x295e: 0x4013de20, 0x295f: 0x4013e020,\n\t0x2960: 0x4013e220, 0x2961: 0x4013e420, 0x2962: 0x4013e620, 0x2963: 0x4013e820,\n\t0x2964: 0x4013ea20, 0x2965: 0x4013ec20, 0x2966: 0x4013ee20, 0x2967: 0x4013f020,\n\t0x2968: 0x4013f220, 0x2969: 0x4013f420, 0x296a: 0x4013f620, 0x296b: 0x4013f820,\n\t0x296c: 0x4013fa20, 0x296d: 0x4013fc20, 0x296e: 0x4013fe20, 0x296f: 0x40140020,\n\t0x2970: 0x40140220, 0x2971: 0x40140420, 0x2972: 0x40140620, 0x2973: 0x40140820,\n\t0x2974: 0x40140a20, 0x2975: 0x40140c20, 0x2976: 0x40140e20, 0x2977: 0x40141020,\n\t0x2978: 0x40141220, 0x2979: 0x40141420, 0x297a: 0x40141620, 0x297b: 0x40141820,\n\t0x297c: 0x40141a20, 0x297d: 0x40141c20, 0x297e: 0x40141e20, 0x297f: 0x40142020,\n\t// Block 0xa6, offset 0x2980\n\t0x2980: 0x40142220, 0x2981: 0x40142420, 0x2982: 0x40142620, 0x2983: 0x40142820,\n\t0x2984: 0x40142a20, 0x2985: 0x40142c20, 0x2986: 0x40142e20, 0x2987: 0x40143020,\n\t0x2988: 0x40143220, 0x2989: 0x40143420, 0x298a: 0x40143620, 0x298b: 0x40143820,\n\t0x298c: 0x40143a20, 0x298d: 0x40143c20, 0x298e: 0x40143e20, 0x298f: 0x40144020,\n\t0x2990: 0x40144220, 0x2991: 0x40144420, 0x2992: 0x40144620, 0x2993: 0x40144820,\n\t0x2994: 0x40144a20, 0x2995: 0x40144c20, 0x2996: 0x40144e20, 0x2997: 0x40145020,\n\t0x2998: 0x4004c620, 0x2999: 0x4004c820, 0x299a: 0x4004ca20, 0x299b: 0x4004cc20,\n\t0x299c: 0x40145220, 0x299d: 0x40145420, 0x299e: 0x40145620, 0x299f: 0x40145820,\n\t0x29a0: 0x40145a20, 0x29a1: 0x40145c20, 0x29a2: 0x40145e20, 0x29a3: 0x40146020,\n\t0x29a4: 0x40146220, 0x29a5: 0x40146420, 0x29a6: 0x40146620, 0x29a7: 0x40146820,\n\t0x29a8: 0x40146a20, 0x29a9: 0x40146c20, 0x29aa: 0x40146e20, 0x29ab: 0x40147020,\n\t0x29ac: 0x40147220, 0x29ad: 0x40147420, 0x29ae: 0x40147620, 0x29af: 0x40147820,\n\t0x29b0: 0x40147a20, 0x29b1: 0x40147c20, 0x29b2: 0x40147e20, 0x29b3: 0x40148020,\n\t0x29b4: 0x40148220, 0x29b5: 0x40148420, 0x29b6: 0x40148620, 0x29b7: 0x40148820,\n\t0x29b8: 0x40148a20, 0x29b9: 0x40148c20, 0x29ba: 0x40148e20, 0x29bb: 0x40149020,\n\t0x29bc: 0x40041020, 0x29bd: 0x40041220, 0x29be: 0x40149220, 0x29bf: 0x40149420,\n\t// Block 0xa7, offset 0x29c0\n\t0x29c0: 0x40149620, 0x29c1: 0x40149820, 0x29c2: 0x40149a20, 0x29c3: 0x40149c20,\n\t0x29c4: 0x40149e20, 0x29c5: 0x4014a020, 0x29c6: 0x4014a220, 0x29c7: 0x4014a420,\n\t0x29c8: 0x4014a620, 0x29c9: 0x4014a820, 0x29ca: 0x4014aa20, 0x29cb: 0x4014ac20,\n\t0x29cc: 0xe00000f0, 0x29cd: 0x4014ae20, 0x29ce: 0x4014b020, 0x29cf: 0x4014b220,\n\t0x29d0: 0x4014b420, 0x29d1: 0x4014b620, 0x29d2: 0x4014b820, 0x29d3: 0x4014ba20,\n\t0x29d4: 0x4014bc20, 0x29d5: 0x4014be20, 0x29d6: 0x4014c020, 0x29d7: 0x4014c220,\n\t0x29d8: 0x4014c420, 0x29d9: 0x4014c620, 0x29da: 0x4014c820, 0x29db: 0x4014ca20,\n\t0x29dc: 0x4014cc20, 0x29dd: 0x4014ce20, 0x29de: 0x4014d020, 0x29df: 0x4014d220,\n\t0x29e0: 0x4014d420, 0x29e1: 0x4014d620, 0x29e2: 0x4014d820, 0x29e3: 0x4014da20,\n\t0x29e4: 0x4014dc20, 0x29e5: 0x4014de20, 0x29e6: 0x4014e020, 0x29e7: 0x4014e220,\n\t0x29e8: 0x4014e420, 0x29e9: 0x4014e620, 0x29ea: 0x4014e820, 0x29eb: 0x4014ea20,\n\t0x29ec: 0x4014ec20, 0x29ed: 0x4014ee20, 0x29ee: 0x4014f020, 0x29ef: 0x4014f220,\n\t0x29f0: 0x4014f420, 0x29f1: 0x4014f620, 0x29f2: 0x4014f820, 0x29f3: 0x4014fa20,\n\t0x29f4: 0x4014fc20, 0x29f5: 0x4014fe20, 0x29f6: 0x40150020, 0x29f7: 0x40150220,\n\t0x29f8: 0x40150420, 0x29f9: 0x40150620, 0x29fa: 0x40150820, 0x29fb: 0x40150a20,\n\t0x29fc: 0x40150c20, 0x29fd: 0x40150e20, 0x29fe: 0x40151020, 0x29ff: 0x40151220,\n\t// Block 0xa8, offset 0x2a00\n\t0x2a00: 0x40151420, 0x2a01: 0x40151620, 0x2a02: 0x40151820, 0x2a03: 0x40151a20,\n\t0x2a04: 0x40151c20, 0x2a05: 0x40151e20, 0x2a06: 0x40152020, 0x2a07: 0x40152220,\n\t0x2a08: 0x40152420, 0x2a09: 0x40152620, 0x2a0a: 0x40152820, 0x2a0b: 0x40152a20,\n\t0x2a0c: 0x40152c20, 0x2a0d: 0x40152e20, 0x2a0e: 0x40153020, 0x2a0f: 0x40153220,\n\t0x2a10: 0x40153420, 0x2a11: 0x40153620, 0x2a12: 0x40153820, 0x2a13: 0x40153a20,\n\t0x2a14: 0x40153c20, 0x2a15: 0x40153e20, 0x2a16: 0x40154020, 0x2a17: 0x40154220,\n\t0x2a18: 0x40154420, 0x2a19: 0x40154620, 0x2a1a: 0x40154820, 0x2a1b: 0x40154a20,\n\t0x2a1c: 0x40154c20, 0x2a1d: 0x40154e20, 0x2a1e: 0x40155020, 0x2a1f: 0x40155220,\n\t0x2a20: 0x40155420, 0x2a21: 0x40155620, 0x2a22: 0x40155820, 0x2a23: 0x40155a20,\n\t0x2a24: 0x40155c20, 0x2a25: 0x40155e20, 0x2a26: 0x40156020, 0x2a27: 0x40156220,\n\t0x2a28: 0x40156420, 0x2a29: 0x40156620, 0x2a2a: 0x40156820, 0x2a2b: 0x40156a20,\n\t0x2a2c: 0x40156c20, 0x2a2d: 0x40156e20, 0x2a2e: 0x40157020, 0x2a2f: 0x40157220,\n\t0x2a30: 0x40157420, 0x2a31: 0x40157620, 0x2a32: 0x40157820, 0x2a33: 0x40157a20,\n\t0x2a34: 0xf0000404, 0x2a35: 0xf0001f04, 0x2a36: 0xf0000404, 0x2a37: 0x40157c20,\n\t0x2a38: 0x40157e20, 0x2a39: 0x40158020, 0x2a3a: 0x40158220, 0x2a3b: 0x40158420,\n\t0x2a3c: 0x40158620, 0x2a3d: 0x40158820, 0x2a3e: 0x40158a20, 0x2a3f: 0x40158c20,\n\t// Block 0xa9, offset 0x2a40\n\t0x2a40: 0x40158e20, 0x2a41: 0x40159020, 0x2a42: 0x40159220, 0x2a43: 0x40159420,\n\t0x2a44: 0x40159620, 0x2a45: 0x40159820, 0x2a46: 0x40159a20, 0x2a47: 0x40159c20,\n\t0x2a48: 0x40159e20, 0x2a49: 0x4015a020, 0x2a4a: 0x4015a220, 0x2a4b: 0x4015a420,\n\t0x2a4c: 0x4015a620, 0x2a4d: 0x4015a820, 0x2a4e: 0x4015aa20, 0x2a4f: 0x4015ac20,\n\t0x2a50: 0x4015ae20, 0x2a51: 0x4015b020, 0x2a52: 0x4015b220, 0x2a53: 0x4015b420,\n\t0x2a54: 0x4015b620, 0x2a55: 0x4015b820, 0x2a56: 0x4015ba20, 0x2a57: 0x4015bc20,\n\t0x2a58: 0x4015be20, 0x2a59: 0x4015c020, 0x2a5a: 0x4015c220, 0x2a5b: 0x4015c420,\n\t0x2a5c: 0x4015c620, 0x2a5d: 0x4015c820, 0x2a5e: 0x4015ca20, 0x2a5f: 0x4015cc20,\n\t0x2a60: 0x4015ce20, 0x2a61: 0x4015d020, 0x2a62: 0x4015d220, 0x2a63: 0x4015d420,\n\t0x2a64: 0x4015d620, 0x2a65: 0x4015d820, 0x2a66: 0x4015da20, 0x2a67: 0x4015dc20,\n\t0x2a68: 0x4015de20, 0x2a69: 0x4015e020, 0x2a6a: 0x4015e220, 0x2a6b: 0x4015e420,\n\t0x2a6c: 0x4015e620, 0x2a6d: 0x4015e820, 0x2a6e: 0x4015ea20, 0x2a6f: 0x4015ec20,\n\t0x2a70: 0x4015ee20, 0x2a71: 0x4015f020, 0x2a72: 0x4015f220, 0x2a73: 0x4015f420,\n\t0x2a74: 0x4015f620, 0x2a75: 0x4015f820, 0x2a76: 0x4015fa20, 0x2a77: 0x4015fc20,\n\t0x2a78: 0x4015fe20, 0x2a79: 0x40160020, 0x2a7a: 0x40160220, 0x2a7b: 0x40160420,\n\t0x2a7c: 0x40160620, 0x2a7d: 0x40160820, 0x2a7e: 0x40160a20, 0x2a7f: 0x40160c20,\n\t// Block 0xaa, offset 0x2a80\n\t0x2a80: 0x40160e20, 0x2a81: 0x40161020, 0x2a82: 0x40161220, 0x2a83: 0x40161420,\n\t0x2a84: 0x40161620, 0x2a85: 0x40161820, 0x2a86: 0x40161a20, 0x2a87: 0x40161c20,\n\t0x2a88: 0x40161e20, 0x2a89: 0x40162020, 0x2a8a: 0x40162220, 0x2a8b: 0x40162420,\n\t0x2a8c: 0x40162620, 0x2a8d: 0x40162820, 0x2a8e: 0x40162a20, 0x2a8f: 0x40162c20,\n\t0x2a90: 0x40162e20, 0x2a91: 0x40163020, 0x2a92: 0x40163220, 0x2a93: 0x40163420,\n\t0x2a94: 0x40163620, 0x2a95: 0x40163820, 0x2a96: 0x40163a20, 0x2a97: 0x40163c20,\n\t0x2a98: 0x40163e20, 0x2a99: 0x40164020, 0x2a9a: 0x40164220, 0x2a9b: 0x40164420,\n\t0x2a9c: 0xe000014f, 0x2a9d: 0x40164620, 0x2a9e: 0x40164820, 0x2a9f: 0x40164a20,\n\t0x2aa0: 0x40164c20, 0x2aa1: 0x40164e20, 0x2aa2: 0x40165020, 0x2aa3: 0x40165220,\n\t0x2aa4: 0x40165420, 0x2aa5: 0x40165620, 0x2aa6: 0x40165820, 0x2aa7: 0x40165a20,\n\t0x2aa8: 0x40165c20, 0x2aa9: 0x40165e20, 0x2aaa: 0x40166020, 0x2aab: 0x40166220,\n\t0x2aac: 0x40166420, 0x2aad: 0x40166620, 0x2aae: 0x40166820, 0x2aaf: 0x40166a20,\n\t0x2ab0: 0x40166c20, 0x2ab1: 0x40166e20, 0x2ab2: 0x40167020, 0x2ab3: 0x40167220,\n\t0x2ab4: 0x40167420, 0x2ab5: 0x40167620, 0x2ab6: 0x40167820, 0x2ab7: 0x40167a20,\n\t0x2ab8: 0x40167c20, 0x2ab9: 0x40167e20, 0x2aba: 0x40168020, 0x2abb: 0x40168220,\n\t0x2abc: 0x40168420, 0x2abd: 0x40168620, 0x2abe: 0x40168820, 0x2abf: 0x40168a20,\n\t// Block 0xab, offset 0x2ac0\n\t0x2ac0: 0x40168c20, 0x2ac1: 0x40168e20, 0x2ac2: 0x40169020, 0x2ac3: 0x40169220,\n\t0x2ac4: 0x40169420, 0x2ac5: 0x40169620, 0x2ac6: 0x40169820, 0x2ac7: 0x40169a20,\n\t0x2ac8: 0x40169c20, 0x2ac9: 0x40169e20, 0x2aca: 0x4016a020, 0x2acb: 0x4016a220,\n\t0x2acc: 0x4016a420, 0x2acd: 0x4016a620, 0x2ace: 0x4016a820, 0x2acf: 0x4016aa20,\n\t0x2ad0: 0x4016ac20, 0x2ad1: 0x4016ae20, 0x2ad2: 0x4016b020, 0x2ad3: 0x4016b220,\n\t0x2ad4: 0x4016b420, 0x2ad5: 0x4016b620, 0x2ad6: 0x4016b820, 0x2ad7: 0x4016ba20,\n\t0x2ad8: 0x4016bc20, 0x2ad9: 0x4016be20, 0x2ada: 0x4016c020, 0x2adb: 0x4016c220,\n\t0x2adc: 0x4016c420, 0x2add: 0x4016c620, 0x2ade: 0x4016c820, 0x2adf: 0x4016ca20,\n\t0x2ae0: 0x4016cc20, 0x2ae1: 0x4016ce20, 0x2ae2: 0x4016d020, 0x2ae3: 0x4016d220,\n\t0x2ae4: 0x4016d420, 0x2ae5: 0x4016d620, 0x2ae6: 0x4016d820, 0x2ae7: 0x4016da20,\n\t0x2ae8: 0x4016dc20, 0x2ae9: 0x4016de20, 0x2aea: 0x4016e020, 0x2aeb: 0x4016e220,\n\t0x2aec: 0x4016e420, 0x2aed: 0x4016e620, 0x2aee: 0x4016e820, 0x2aef: 0x4016ea20,\n\t0x2af0: 0x4016ec20, 0x2af1: 0x4016ee20, 0x2af2: 0x4016f020, 0x2af3: 0x4016f220,\n\t0x2af4: 0x4016f420, 0x2af5: 0x4016f620, 0x2af6: 0x4016f820, 0x2af7: 0x4016fa20,\n\t0x2af8: 0x4016fc20, 0x2af9: 0x4016fe20, 0x2afa: 0x40170020, 0x2afb: 0x40170220,\n\t0x2afc: 0x40170420, 0x2afd: 0x40170620, 0x2afe: 0x40170820, 0x2aff: 0x40170a20,\n\t// Block 0xac, offset 0x2b00\n\t0x2b00: 0x40170c20, 0x2b01: 0x40170e20, 0x2b02: 0x40171020, 0x2b03: 0x40171220,\n\t0x2b04: 0x40171420, 0x2b05: 0x40171620, 0x2b06: 0x40171820, 0x2b07: 0x40171a20,\n\t0x2b08: 0x40171c20, 0x2b09: 0x40171e20, 0x2b0a: 0x40172020, 0x2b0b: 0x40172220,\n\t0x2b0c: 0x40172420,\n\t0x2b10: 0x40172620, 0x2b11: 0x40172820, 0x2b12: 0x40172a20, 0x2b13: 0x40172c20,\n\t0x2b14: 0x40172e20, 0x2b15: 0x40173020, 0x2b16: 0x40173220, 0x2b17: 0x40173420,\n\t0x2b18: 0x40173620, 0x2b19: 0x40173820,\n\t// Block 0xad, offset 0x2b40\n\t0x2b40: 0x00373888, 0x2b41: 0x00373a88, 0x2b42: 0x00373c88, 0x2b43: 0x00373e88,\n\t0x2b44: 0x00374088, 0x2b45: 0x00374288, 0x2b46: 0x00374488, 0x2b47: 0x00374688,\n\t0x2b48: 0x00374888, 0x2b49: 0x00374a88, 0x2b4a: 0x00374c88, 0x2b4b: 0x00374e88,\n\t0x2b4c: 0x00375088, 0x2b4d: 0x00375288, 0x2b4e: 0x00375488, 0x2b4f: 0x00375688,\n\t0x2b50: 0x00375888, 0x2b51: 0x00375a88, 0x2b52: 0x00375c88, 0x2b53: 0x00375e88,\n\t0x2b54: 0x00376088, 0x2b55: 0x00376288, 0x2b56: 0x00376488, 0x2b57: 0x00376688,\n\t0x2b58: 0x00376888, 0x2b59: 0x00376a88, 0x2b5a: 0x00376c88, 0x2b5b: 0x00376e88,\n\t0x2b5c: 0x00377088, 0x2b5d: 0x00377288, 0x2b5e: 0x00377488, 0x2b5f: 0x00377688,\n\t0x2b60: 0x00377888, 0x2b61: 0x00377a88, 0x2b62: 0x00377c88, 0x2b63: 0x00377e88,\n\t0x2b64: 0x00378088, 0x2b65: 0x00378288, 0x2b66: 0x00378488, 0x2b67: 0x00378688,\n\t0x2b68: 0x00378888, 0x2b69: 0x00378a88, 0x2b6a: 0x00378c88, 0x2b6b: 0x00378e88,\n\t0x2b6c: 0x00379088, 0x2b6d: 0x00379288, 0x2b6e: 0x00379488,\n\t0x2b70: 0x40373820, 0x2b71: 0x40373a20, 0x2b72: 0x40373c20, 0x2b73: 0x40373e20,\n\t0x2b74: 0x40374020, 0x2b75: 0x40374220, 0x2b76: 0x40374420, 0x2b77: 0x40374620,\n\t0x2b78: 0x40374820, 0x2b79: 0x40374a20, 0x2b7a: 0x40374c20, 0x2b7b: 0x40374e20,\n\t0x2b7c: 0x40375020, 0x2b7d: 0x40375220, 0x2b7e: 0x40375420, 0x2b7f: 0x40375620,\n\t// Block 0xae, offset 0x2b80\n\t0x2b80: 0x40375820, 0x2b81: 0x40375a20, 0x2b82: 0x40375c20, 0x2b83: 0x40375e20,\n\t0x2b84: 0x40376020, 0x2b85: 0x40376220, 0x2b86: 0x40376420, 0x2b87: 0x40376620,\n\t0x2b88: 0x40376820, 0x2b89: 0x40376a20, 0x2b8a: 0x40376c20, 0x2b8b: 0x40376e20,\n\t0x2b8c: 0x40377020, 0x2b8d: 0x40377220, 0x2b8e: 0x40377420, 0x2b8f: 0x40377620,\n\t0x2b90: 0x40377820, 0x2b91: 0x40377a20, 0x2b92: 0x40377c20, 0x2b93: 0x40377e20,\n\t0x2b94: 0x40378020, 0x2b95: 0x40378220, 0x2b96: 0x40378420, 0x2b97: 0x40378620,\n\t0x2b98: 0x40378820, 0x2b99: 0x40378a20, 0x2b9a: 0x40378c20, 0x2b9b: 0x40378e20,\n\t0x2b9c: 0x40379020, 0x2b9d: 0x40379220, 0x2b9e: 0x40379420,\n\t0x2ba0: 0x002e4088, 0x2ba1: 0x402e4020, 0x2ba2: 0x002e4288, 0x2ba3: 0x002f3688,\n\t0x2ba4: 0x002fbe88, 0x2ba5: 0x402be820, 0x2ba6: 0x40303e20, 0x2ba7: 0x002d8888,\n\t0x2ba8: 0x402d8820, 0x2ba9: 0x002e1288, 0x2baa: 0x402e1220, 0x2bab: 0x00316088,\n\t0x2bac: 0x40316020, 0x2bad: 0x002bf888, 0x2bae: 0x002e9088, 0x2baf: 0x002bf088,\n\t0x2bb0: 0x002c0288, 0x2bb1: 0x4030d420, 0x2bb2: 0x0030ec88, 0x2bb3: 0x4030ec20,\n\t0x2bb4: 0x4030d620, 0x2bb5: 0x002d8a88, 0x2bb6: 0x402d8a20, 0x2bb7: 0x402f5420,\n\t0x2bb8: 0x402cac20, 0x2bb9: 0x402fb420, 0x2bba: 0x402f0e20, 0x2bbb: 0x402cb620,\n\t0x2bbc: 0x002dcc95, 0x2bbd: 0x0030be9d, 0x2bbe: 0x002ffc88, 0x2bbf: 0x00315888,\n\t// Block 0xaf, offset 0x2bc0\n\t0x2bc0: 0x0032aa88, 0x2bc1: 0x4032aa20, 0x2bc2: 0x0032ac88, 0x2bc3: 0x4032ac20,\n\t0x2bc4: 0x0032ae88, 0x2bc5: 0x4032ae20, 0x2bc6: 0x0032b088, 0x2bc7: 0x4032b020,\n\t0x2bc8: 0x0032b288, 0x2bc9: 0x4032b220, 0x2bca: 0x0032b688, 0x2bcb: 0x4032b620,\n\t0x2bcc: 0x0032b888, 0x2bcd: 0x4032b820, 0x2bce: 0x0032ba88, 0x2bcf: 0x4032ba20,\n\t0x2bd0: 0x0032bc88, 0x2bd1: 0x4032bc20, 0x2bd2: 0x0032be88, 0x2bd3: 0x4032be20,\n\t0x2bd4: 0x0032c088, 0x2bd5: 0x4032c020, 0x2bd6: 0x0032c488, 0x2bd7: 0x4032c420,\n\t0x2bd8: 0x0032c688, 0x2bd9: 0x4032c620, 0x2bda: 0x0032c888, 0x2bdb: 0x4032c820,\n\t0x2bdc: 0x0032ce88, 0x2bdd: 0x4032ce20, 0x2bde: 0x0032d088, 0x2bdf: 0x4032d020,\n\t0x2be0: 0x0032d288, 0x2be1: 0x4032d220, 0x2be2: 0x0032d488, 0x2be3: 0x4032d420,\n\t0x2be4: 0x0032d688, 0x2be5: 0x4032d620, 0x2be6: 0x0032d888, 0x2be7: 0x4032d820,\n\t0x2be8: 0x0032da88, 0x2be9: 0x4032da20, 0x2bea: 0x0032dc88, 0x2beb: 0x4032dc20,\n\t0x2bec: 0x0032de88, 0x2bed: 0x4032de20, 0x2bee: 0x0032e088, 0x2bef: 0x4032e020,\n\t0x2bf0: 0x0032e288, 0x2bf1: 0x4032e220, 0x2bf2: 0x00331888, 0x2bf3: 0x40331820,\n\t0x2bf4: 0x00331a88, 0x2bf5: 0x40331a20, 0x2bf6: 0x0032b488, 0x2bf7: 0x4032b420,\n\t0x2bf8: 0x0032c288, 0x2bf9: 0x4032c220, 0x2bfa: 0x0032ca88, 0x2bfb: 0x4032ca20,\n\t0x2bfc: 0x0032cc88, 0x2bfd: 0x4032cc20, 0x2bfe: 0x0032e488, 0x2bff: 0x4032e420,\n\t// Block 0xb0, offset 0x2c00\n\t0x2c00: 0x0032e688, 0x2c01: 0x4032e620, 0x2c02: 0x0032ec88, 0x2c03: 0x4032ec20,\n\t0x2c04: 0x0032ee88, 0x2c05: 0x4032ee20, 0x2c06: 0x0032f088, 0x2c07: 0x4032f020,\n\t0x2c08: 0x0032f888, 0x2c09: 0x4032f820, 0x2c0a: 0x0032fc88, 0x2c0b: 0x4032fc20,\n\t0x2c0c: 0x0032fe88, 0x2c0d: 0x4032fe20, 0x2c0e: 0x00330088, 0x2c0f: 0x40330020,\n\t0x2c10: 0x00330288, 0x2c11: 0x40330220, 0x2c12: 0x00330488, 0x2c13: 0x40330420,\n\t0x2c14: 0x00330688, 0x2c15: 0x40330620, 0x2c16: 0x00330c88, 0x2c17: 0x40330c20,\n\t0x2c18: 0x00331088, 0x2c19: 0x40331020, 0x2c1a: 0x00331288, 0x2c1b: 0x40331220,\n\t0x2c1c: 0x00331488, 0x2c1d: 0x40331420, 0x2c1e: 0x00331c88, 0x2c1f: 0x40331c20,\n\t0x2c20: 0x00331e88, 0x2c21: 0x40331e20, 0x2c22: 0x00332088, 0x2c23: 0x40332020,\n\t0x2c24: 0xe00014b0, 0x2c25: 0x40173a20, 0x2c26: 0x40173c20, 0x2c27: 0x40173e20,\n\t0x2c28: 0x40174020, 0x2c29: 0x40174220, 0x2c2a: 0x40174420, 0x2c2b: 0x0032ea88,\n\t0x2c2c: 0x4032ea20, 0x2c2d: 0x00330a88, 0x2c2e: 0x40330a20, 0x2c2f: 0xae605f02,\n\t0x2c30: 0xae602a02, 0x2c31: 0xae602202, 0x2c32: 0x0032f688, 0x2c33: 0x4032f620,\n\t0x2c39: 0x4002f820, 0x2c3a: 0x4002d420, 0x2c3b: 0x4002d620,\n\t0x2c3c: 0x4003b620, 0x2c3d: 0x4028b420, 0x2c3e: 0x4002fa20, 0x2c3f: 0x4003b820,\n\t// Block 0xb1, offset 0x2c40\n\t0x2c40: 0x40379820, 0x2c41: 0x40379c20, 0x2c42: 0x4037a020, 0x2c43: 0x4037a420,\n\t0x2c44: 0x4037a820, 0x2c45: 0x4037ac20, 0x2c46: 0x4037b020, 0x2c47: 0x4037b820,\n\t0x2c48: 0x4037bc20, 0x2c49: 0x4037c020, 0x2c4a: 0x4037c420, 0x2c4b: 0x4037c820,\n\t0x2c4c: 0x4037cc20, 0x2c4d: 0x4037d420, 0x2c4e: 0x4037d820, 0x2c4f: 0x4037dc20,\n\t0x2c50: 0x4037e020, 0x2c51: 0x4037e420, 0x2c52: 0x4037e820, 0x2c53: 0x4037f020,\n\t0x2c54: 0x4037f420, 0x2c55: 0x4037f820, 0x2c56: 0x4037fc20, 0x2c57: 0x40380020,\n\t0x2c58: 0x40380420, 0x2c59: 0x40380820, 0x2c5a: 0x40380c20, 0x2c5b: 0x40381020,\n\t0x2c5c: 0x40381420, 0x2c5d: 0x40381820, 0x2c5e: 0x40381c20, 0x2c5f: 0x40382420,\n\t0x2c60: 0x40382820, 0x2c61: 0x4037b420, 0x2c62: 0x4037d020, 0x2c63: 0x4037ec20,\n\t0x2c64: 0x40382020, 0x2c65: 0x40382c20, 0x2c67: 0x40383220,\n\t0x2c6d: 0x40383c20,\n\t0x2c70: 0x403bbc20, 0x2c71: 0x403bbe20, 0x2c72: 0x403bc020, 0x2c73: 0x403bc220,\n\t0x2c74: 0x403bc420, 0x2c75: 0x403bc620, 0x2c76: 0x403bc820, 0x2c77: 0x403bca20,\n\t0x2c78: 0x403bcc20, 0x2c79: 0x403bce20, 0x2c7a: 0x403bd020, 0x2c7b: 0x403bd220,\n\t0x2c7c: 0x403bd620, 0x2c7d: 0x403bd820, 0x2c7e: 0x403bda20, 0x2c7f: 0x403bdc20,\n\t// Block 0xb2, offset 0x2c80\n\t0x2c80: 0x403bde20, 0x2c81: 0x403be020, 0x2c82: 0x403be220, 0x2c83: 0x403be420,\n\t0x2c84: 0x403be620, 0x2c85: 0x403be820, 0x2c86: 0x403bea20, 0x2c87: 0x403bec20,\n\t0x2c88: 0x403bee20, 0x2c89: 0x403bf020, 0x2c8a: 0x403bf220, 0x2c8b: 0x403bf420,\n\t0x2c8c: 0x403bf620, 0x2c8d: 0x403bf820, 0x2c8e: 0x403bfa20, 0x2c8f: 0x403bfc20,\n\t0x2c90: 0x403bfe20, 0x2c91: 0x403c0020, 0x2c92: 0x403c0220, 0x2c93: 0x403c0420,\n\t0x2c94: 0x403c0820, 0x2c95: 0x403c0a20, 0x2c96: 0x403c0c20, 0x2c97: 0x403c0e20,\n\t0x2c98: 0x403c1020, 0x2c99: 0x403c1220, 0x2c9a: 0x403c1420, 0x2c9b: 0x403c1620,\n\t0x2c9c: 0x403c1820, 0x2c9d: 0x403c1a20, 0x2c9e: 0x403c1c20, 0x2c9f: 0x403c1e20,\n\t0x2ca0: 0x403c2020, 0x2ca1: 0x403c2220, 0x2ca2: 0x403c2420, 0x2ca3: 0x403c2620,\n\t0x2ca4: 0x403c2820, 0x2ca5: 0x403c2a20, 0x2ca6: 0x403bd420, 0x2ca7: 0x403c0620,\n\t0x2caf: 0x403c2c20,\n\t0x2cb0: 0x4005e620,\n\t0x2cbf: 0xa0900000,\n\t// Block 0xb3, offset 0x2cc0\n\t0x2cc0: 0x403c4e20, 0x2cc1: 0x403c7820, 0x2cc2: 0x403c9a20, 0x2cc3: 0x403cac20,\n\t0x2cc4: 0x403cca20, 0x2cc5: 0x403d1620, 0x2cc6: 0x403d3820, 0x2cc7: 0x403d4a20,\n\t0x2cc8: 0x403d7620, 0x2cc9: 0x403d8820, 0x2cca: 0x403d9a20, 0x2ccb: 0x403dfc20,\n\t0x2ccc: 0x403e3a20, 0x2ccd: 0x403e5820, 0x2cce: 0x403e6a20, 0x2ccf: 0x403eae20,\n\t0x2cd0: 0x403ec020, 0x2cd1: 0x403ee020, 0x2cd2: 0x403f4020, 0x2cd3: 0x403e9620,\n\t0x2cd4: 0x403e9820, 0x2cd5: 0x403e9a20, 0x2cd6: 0x403e9c20,\n\t0x2ce0: 0x403f4820, 0x2ce1: 0x403f4a20, 0x2ce2: 0x403f4c20, 0x2ce3: 0x403f4e20,\n\t0x2ce4: 0x403f5020, 0x2ce5: 0x403f5220, 0x2ce6: 0x403f5420,\n\t0x2ce8: 0x403f5620, 0x2ce9: 0x403f5820, 0x2cea: 0x403f5a20, 0x2ceb: 0x403f5c20,\n\t0x2cec: 0x403f5e20, 0x2ced: 0x403f6020, 0x2cee: 0x403f6220,\n\t0x2cf0: 0x403f6420, 0x2cf1: 0x403f6620, 0x2cf2: 0x403f6820, 0x2cf3: 0x403f6a20,\n\t0x2cf4: 0x403f6c20, 0x2cf5: 0x403f6e20, 0x2cf6: 0x403f7020,\n\t0x2cf8: 0x403f7220, 0x2cf9: 0x403f7420, 0x2cfa: 0x403f7620, 0x2cfb: 0x403f7820,\n\t0x2cfc: 0x403f7a20, 0x2cfd: 0x403f7c20, 0x2cfe: 0x403f7e20,\n\t// Block 0xb4, offset 0x2d00\n\t0x2d00: 0x403f8020, 0x2d01: 0x403f8220, 0x2d02: 0x403f8420, 0x2d03: 0x403f8620,\n\t0x2d04: 0x403f8820, 0x2d05: 0x403f8a20, 0x2d06: 0x403f8c20,\n\t0x2d08: 0x403f8e20, 0x2d09: 0x403f9020, 0x2d0a: 0x403f9220, 0x2d0b: 0x403f9420,\n\t0x2d0c: 0x403f9620, 0x2d0d: 0x403f9820, 0x2d0e: 0x403f9a20,\n\t0x2d10: 0x403f9c20, 0x2d11: 0x403f9e20, 0x2d12: 0x403fa020, 0x2d13: 0x403fa220,\n\t0x2d14: 0x403fa420, 0x2d15: 0x403fa620, 0x2d16: 0x403fa820,\n\t0x2d18: 0x403faa20, 0x2d19: 0x403fac20, 0x2d1a: 0x403fae20, 0x2d1b: 0x403fb020,\n\t0x2d1c: 0x403fb220, 0x2d1d: 0x403fb420, 0x2d1e: 0x403fb620,\n\t0x2d20: 0x84e619a9, 0x2d21: 0x84e619ad, 0x2d22: 0x84e619b1, 0x2d23: 0x84e619c5,\n\t0x2d24: 0x84e619e5, 0x2d25: 0x84e619f2, 0x2d26: 0x84e61a28, 0x2d27: 0x84e61a42,\n\t0x2d28: 0x84e61a54, 0x2d29: 0x84e61a5d, 0x2d2a: 0x84e61a77, 0x2d2b: 0x84e61a87,\n\t0x2d2c: 0x84e61a94, 0x2d2d: 0x84e61a9d, 0x2d2e: 0x84e61aa6, 0x2d2f: 0x84e61ada,\n\t0x2d30: 0x84e61b01, 0x2d31: 0x84e61b0c, 0x2d32: 0x84e61b2e, 0x2d33: 0x84e61b33,\n\t0x2d34: 0x84e61b86, 0x2d35: 0xe00014d8, 0x2d36: 0x84e61991, 0x2d37: 0x84e619d9,\n\t0x2d38: 0x84e61a27, 0x2d39: 0x84e61ad1, 0x2d3a: 0x84e61b4f, 0x2d3b: 0x84e61b5c,\n\t0x2d3c: 0x84e61b61, 0x2d3d: 0x84e61b6b, 0x2d3e: 0x84e61b70, 0x2d3f: 0x84e61b7a,\n\t// Block 0xb5, offset 0x2d40\n\t0x2d40: 0x40052620, 0x2d41: 0x40052820, 0x2d42: 0x40047420, 0x2d43: 0x40047620,\n\t0x2d44: 0x40047820, 0x2d45: 0x40047a20, 0x2d46: 0x40052a20, 0x2d47: 0x40052c20,\n\t0x2d48: 0x40052e20, 0x2d49: 0x40047c20, 0x2d4a: 0x40047e20, 0x2d4b: 0x40053020,\n\t0x2d4c: 0x40048020, 0x2d4d: 0x40048220, 0x2d4e: 0x40053220, 0x2d4f: 0x40053420,\n\t0x2d50: 0x40053620, 0x2d51: 0x40053820, 0x2d52: 0x40053a20, 0x2d53: 0x40053c20,\n\t0x2d54: 0x40053e20, 0x2d55: 0x40054020, 0x2d56: 0x40054220, 0x2d57: 0x40023620,\n\t0x2d58: 0x4002e220, 0x2d59: 0x4003ba20, 0x2d5a: 0x40054420, 0x2d5b: 0x40054620,\n\t0x2d5c: 0x40048420, 0x2d5d: 0x40048620, 0x2d5e: 0x40054820, 0x2d5f: 0x40054a20,\n\t0x2d60: 0x40048820, 0x2d61: 0x40048a20, 0x2d62: 0x40048c20, 0x2d63: 0x40048e20,\n\t0x2d64: 0x40049020, 0x2d65: 0x40049220, 0x2d66: 0x40049420, 0x2d67: 0x40049620,\n\t0x2d68: 0x40049820, 0x2d69: 0x40049a20, 0x2d6a: 0x4003ae20, 0x2d6b: 0x4003b020,\n\t0x2d6c: 0x4003b220, 0x2d6d: 0x4003b420, 0x2d6e: 0x4002c820, 0x2d6f: 0x40367020,\n\t0x2d70: 0x4002fc20, 0x2d71: 0x40030820, 0x2d72: 0x40024420, 0x2d73: 0x40030a20,\n\t0x2d74: 0x40024220, 0x2d75: 0x40026820, 0x2d76: 0x4004fc20, 0x2d77: 0x4004fe20,\n\t0x2d78: 0x40050020, 0x2d79: 0x4004d020, 0x2d7a: 0x40023020, 0x2d7b: 0x40023220,\n\t// Block 0xb6, offset 0x2d80\n\t0x2d80: 0xe0002401, 0x2d81: 0xe0002416, 0x2d82: 0x029cb684, 0x2d83: 0x029cb484,\n\t0x2d84: 0xe0002404, 0x2d85: 0x029d7684, 0x2d86: 0xe0002407, 0x2d87: 0xe000240a,\n\t0x2d88: 0xe000240d, 0x2d89: 0x02a40484, 0x2d8a: 0xe0002410, 0x2d8b: 0xe0002413,\n\t0x2d8c: 0xe0002419, 0x2d8d: 0xe000241c, 0x2d8e: 0xe000241f, 0x2d8f: 0x02b84684,\n\t0x2d90: 0x02b84484, 0x2d91: 0xe0002422, 0x2d92: 0x02bbe684, 0x2d93: 0x02bcf484,\n\t0x2d94: 0x02bea284, 0x2d95: 0xe0002425, 0x2d96: 0x02bf8884, 0x2d97: 0xe0002428,\n\t0x2d98: 0x02c49884, 0x2d99: 0x02ca6a84, 0x2d9b: 0x02cbc284,\n\t0x2d9c: 0xe000242b, 0x2d9d: 0xe000242e, 0x2d9e: 0xe0002436, 0x2d9f: 0x02d79a84,\n\t0x2da0: 0x02d82284, 0x2da1: 0x02d86a84, 0x2da2: 0x02d87484, 0x2da3: 0x02e0d884,\n\t0x2da4: 0x02e45684, 0x2da5: 0xe0002439, 0x2da6: 0x029c5884, 0x2da7: 0xe000243c,\n\t0x2da8: 0x02e55a84, 0x2da9: 0xe000243f, 0x2daa: 0xe0002442, 0x2dab: 0xe0002445,\n\t0x2dac: 0xe0002448, 0x2dad: 0x02f27684, 0x2dae: 0xe000244b, 0x2daf: 0x02f9f284,\n\t0x2db0: 0x02fd3e84, 0x2db1: 0x02fea684, 0x2db2: 0x02fea484, 0x2db3: 0xe0002451,\n\t0x2db4: 0xe0002454, 0x2db5: 0xe000244e, 0x2db6: 0xe0002457, 0x2db7: 0xe000245a,\n\t0x2db8: 0x02ff1684, 0x2db9: 0x03000484, 0x2dba: 0x03010084, 0x2dbb: 0xe000245d,\n\t0x2dbc: 0xe0002460, 0x2dbd: 0xe0002463, 0x2dbe: 0x0304f284, 0x2dbf: 0xe0002466,\n\t// Block 0xb7, offset 0x2dc0\n\t0x2dc0: 0xe0002469, 0x2dc1: 0x030c9c84, 0x2dc2: 0x0310c884, 0x2dc3: 0x03130084,\n\t0x2dc4: 0x0312fe84, 0x2dc5: 0x03138284, 0x2dc6: 0x0313a484, 0x2dc7: 0xe000246c,\n\t0x2dc8: 0x03174084, 0x2dc9: 0x031a3a84, 0x2dca: 0xe000246f, 0x2dcb: 0x031ecc84,\n\t0x2dcc: 0x031f6c84, 0x2dcd: 0xe0002472, 0x2dce: 0xe0002475, 0x2dcf: 0xe0002478,\n\t0x2dd0: 0x03290a84, 0x2dd1: 0x032aee84, 0x2dd2: 0x032af084, 0x2dd3: 0x032afe84,\n\t0x2dd4: 0x032bd084, 0x2dd5: 0xe000247b, 0x2dd6: 0x032c3a84, 0x2dd7: 0xe000247e,\n\t0x2dd8: 0x032ea484, 0x2dd9: 0x032fcc84, 0x2dda: 0x0330ea84, 0x2ddb: 0x03319c84,\n\t0x2ddc: 0x0331bc84, 0x2ddd: 0x0331be84, 0x2dde: 0xe0002481, 0x2ddf: 0x0331c084,\n\t0x2de0: 0x0332c684, 0x2de1: 0xe0002484, 0x2de2: 0x0334d884, 0x2de3: 0xe0002487,\n\t0x2de4: 0xe000248a, 0x2de5: 0x0338f884, 0x2de6: 0x033c3e84, 0x2de7: 0xe000248d,\n\t0x2de8: 0x033d4c84, 0x2de9: 0x033d8884, 0x2dea: 0x033dfc84, 0x2deb: 0xe0002490,\n\t0x2dec: 0x033ea084, 0x2ded: 0xe0002493, 0x2dee: 0x033efe84, 0x2def: 0xe0002496,\n\t0x2df0: 0x033f3284, 0x2df1: 0xe0002499, 0x2df2: 0xe000249c, 0x2df3: 0x033f3e84,\n\t// Block 0xb8, offset 0x2e00\n\t0x2e00: 0x029c0084, 0x2e01: 0x029c5084, 0x2e02: 0x029c6c84, 0x2e03: 0x029c7e84,\n\t0x2e04: 0x029cb284, 0x2e05: 0x029d0a84, 0x2e06: 0x029d1884, 0x2e07: 0x029d4084,\n\t0x2e08: 0x029d7484, 0x2e09: 0x02a27e84, 0x2e0a: 0x02a2ca84, 0x2e0b: 0x02a2d684,\n\t0x2e0c: 0x02a30484, 0x2e0d: 0x02a32c84, 0x2e0e: 0x02a35684, 0x2e0f: 0x02a3c084,\n\t0x2e10: 0x02a3ea84, 0x2e11: 0x02a40084, 0x2e12: 0x02a53684, 0x2e13: 0x02a5f284,\n\t0x2e14: 0x02a62a84, 0x2e15: 0x02a63484, 0x2e16: 0x02a67084, 0x2e17: 0x02a68284,\n\t0x2e18: 0x02a6b884, 0x2e19: 0x02a6d284, 0x2e1a: 0x02a70484, 0x2e1b: 0x02a76c84,\n\t0x2e1c: 0x02a79084, 0x2e1d: 0x02a7c684, 0x2e1e: 0x02adae84, 0x2e1f: 0x02ae3e84,\n\t0x2e20: 0x02b1d684, 0x2e21: 0x02b20484, 0x2e22: 0x02b21484, 0x2e23: 0x02b22a84,\n\t0x2e24: 0x02b24e84, 0x2e25: 0x02b2e684, 0x2e26: 0x02b6a084, 0x2e27: 0x02b70084,\n\t0x2e28: 0x02b7f084, 0x2e29: 0x02b81e84, 0x2e2a: 0x02b84484, 0x2e2b: 0x02b87084,\n\t0x2e2c: 0x02b8dc84, 0x2e2d: 0x02b8e284, 0x2e2e: 0x02bbb684, 0x2e2f: 0x02bbca84,\n\t0x2e30: 0x02bbe284, 0x2e31: 0x02bbfc84, 0x2e32: 0x02bce484, 0x2e33: 0x02bcf484,\n\t0x2e34: 0x02bcfe84, 0x2e35: 0x02bde884, 0x2e36: 0x02bdfc84, 0x2e37: 0x02be1684,\n\t0x2e38: 0x02be2684, 0x2e39: 0x02bea084, 0x2e3a: 0x02bec284, 0x2e3b: 0x02bee684,\n\t0x2e3c: 0x02bf8684, 0x2e3d: 0x02c41084, 0x2e3e: 0x02c46c84, 0x2e3f: 0x02c49684,\n\t// Block 0xb9, offset 0x2e40\n\t0x2e40: 0x02ca5e84, 0x2e41: 0x02ca6884, 0x2e42: 0x02cb0e84, 0x2e43: 0x02cb2e84,\n\t0x2e44: 0x02cb4884, 0x2e45: 0x02cb7284, 0x2e46: 0x02cbc084, 0x2e47: 0x02cbca84,\n\t0x2e48: 0x02cde084, 0x2e49: 0x02ce1084, 0x2e4a: 0x02ce5084, 0x2e4b: 0x02d64084,\n\t0x2e4c: 0x02d6c484, 0x2e4d: 0x02d6f284, 0x2e4e: 0x02d76684, 0x2e4f: 0x02d79684,\n\t0x2e50: 0x02d7a884, 0x2e51: 0x02d7b684, 0x2e52: 0x02d81e84, 0x2e53: 0x02d82884,\n\t0x2e54: 0x02d86884, 0x2e55: 0x02e0d684, 0x2e56: 0x02e45484, 0x2e57: 0x02e46c84,\n\t0x2e58: 0x02e47684, 0x2e59: 0x02e47e84, 0x2e5a: 0x02e48e84, 0x2e5b: 0x02e4b284,\n\t0x2e5c: 0x02e4b684, 0x2e5d: 0x02e55884, 0x2e5e: 0x02e70884, 0x2e5f: 0x02e71284,\n\t0x2e60: 0x02e9b884, 0x2e61: 0x02e9cc84, 0x2e62: 0x02ea3084, 0x2e63: 0x02ea3e84,\n\t0x2e64: 0x02ea5084, 0x2e65: 0x02ea6084, 0x2e66: 0x02eb1684, 0x2e67: 0x02eb2484,\n\t0x2e68: 0x02ecec84, 0x2e69: 0x02ecfa84, 0x2e6a: 0x02ed5c84, 0x2e6b: 0x02ed7e84,\n\t0x2e6c: 0x02eddc84, 0x2e6d: 0x02efb684, 0x2e6e: 0x02efc484, 0x2e6f: 0x02efe684,\n\t0x2e70: 0x02f27484, 0x2e71: 0x02f37084, 0x2e72: 0x02f37c84, 0x2e73: 0x02f4e884,\n\t0x2e74: 0x02f59684, 0x2e75: 0x02f5f284, 0x2e76: 0x02f8e684, 0x2e77: 0x02f9f084,\n\t0x2e78: 0x02fe6c84, 0x2e79: 0x02fea284, 0x2e7a: 0x02ff1484, 0x2e7b: 0x02ff7a84,\n\t0x2e7c: 0x03000284, 0x2e7d: 0x03001884, 0x2e7e: 0x03002484, 0x2e7f: 0x03006684,\n\t// Block 0xba, offset 0x2e80\n\t0x2e80: 0x0300fe84, 0x2e81: 0x03011284, 0x2e82: 0x0303c684, 0x2e83: 0x0303d484,\n\t0x2e84: 0x0303e684, 0x2e85: 0x0303f884, 0x2e86: 0x03041884, 0x2e87: 0x03043684,\n\t0x2e88: 0x03043e84, 0x2e89: 0x0304dc84, 0x2e8a: 0x0304e484, 0x2e8b: 0x0304f084,\n\t0x2e8c: 0x030c9a84, 0x2e8d: 0x030cd684, 0x2e8e: 0x03108084, 0x2e8f: 0x03109884,\n\t0x2e90: 0x0310c684, 0x2e91: 0x0312fc84, 0x2e92: 0x03131684, 0x2e93: 0x0313a484,\n\t0x2e94: 0x03140084, 0x2e95: 0x03186e84, 0x2e96: 0x03188c84, 0x2e97: 0x0318aa84,\n\t0x2e98: 0x0318f084, 0x2e99: 0x03193a84, 0x2e9a: 0x031ac884, 0x2e9b: 0x031ae084,\n\t0x2e9c: 0x031b6684, 0x2e9d: 0x031d5684, 0x2e9e: 0x031d9484, 0x2e9f: 0x031f3684,\n\t0x2ea0: 0x031f6084, 0x2ea1: 0x031f6a84, 0x2ea2: 0x03212284, 0x2ea3: 0x03229284,\n\t0x2ea4: 0x03238c84, 0x2ea5: 0x03239884, 0x2ea6: 0x0323a284, 0x2ea7: 0x032aee84,\n\t0x2ea8: 0x032b0084, 0x2ea9: 0x032c3884, 0x2eaa: 0x032d6c84, 0x2eab: 0x032d7284,\n\t0x2eac: 0x032dd084, 0x2ead: 0x032ea284, 0x2eae: 0x032ebc84, 0x2eaf: 0x032ec484,\n\t0x2eb0: 0x032ed284, 0x2eb1: 0x032f9684, 0x2eb2: 0x032fda84, 0x2eb3: 0x032fe684,\n\t0x2eb4: 0x03300284, 0x2eb5: 0x03315084, 0x2eb6: 0x0331b684, 0x2eb7: 0x0331be84,\n\t0x2eb8: 0x03332c84, 0x2eb9: 0x03333284, 0x2eba: 0x03335884, 0x2ebb: 0x03355084,\n\t0x2ebc: 0x0335b084, 0x2ebd: 0x0335be84, 0x2ebe: 0x03364a84, 0x2ebf: 0x03365e84,\n\t// Block 0xbb, offset 0x2ec0\n\t0x2ec0: 0x03366484, 0x2ec1: 0x03367884, 0x2ec2: 0x0336b484, 0x2ec3: 0x0339ca84,\n\t0x2ec4: 0x033cea84, 0x2ec5: 0x033cfe84, 0x2ec6: 0x033d4a84, 0x2ec7: 0x033d7684,\n\t0x2ec8: 0x033d8684, 0x2ec9: 0x033d9a84, 0x2eca: 0x033da284, 0x2ecb: 0x033df284,\n\t0x2ecc: 0x033dfa84, 0x2ecd: 0x033e1c84, 0x2ece: 0x033e2684, 0x2ecf: 0x033e4084,\n\t0x2ed0: 0x033e7684, 0x2ed1: 0x033e9484, 0x2ed2: 0x033ea484, 0x2ed3: 0x033f1a84,\n\t0x2ed4: 0x033f3884, 0x2ed5: 0x033f4084,\n\t0x2ef0: 0x40273a20, 0x2ef1: 0x40273c20, 0x2ef2: 0x40273e20, 0x2ef3: 0x40274020,\n\t0x2ef4: 0x40274220, 0x2ef5: 0x40274420, 0x2ef6: 0x40274620, 0x2ef7: 0x40274820,\n\t0x2ef8: 0x40274a20, 0x2ef9: 0x40274c20, 0x2efa: 0x40274e20, 0x2efb: 0x40275020,\n\t// Block 0xbc, offset 0x2f00\n\t0x2f00: 0x00021283, 0x2f01: 0x40025c20, 0x2f02: 0x40030420, 0x2f03: 0x40051220,\n\t0x2f04: 0x40279a20, 0x2f05: 0x4027ca20, 0x2f06: 0xe0002206, 0x2f07: 0xe00001d3,\n\t0x2f08: 0x40049c20, 0x2f09: 0x40049e20, 0x2f0a: 0x4004a020, 0x2f0b: 0x4004a220,\n\t0x2f0c: 0x4004a420, 0x2f0d: 0x4004a620, 0x2f0e: 0x4004a820, 0x2f0f: 0x4004aa20,\n\t0x2f10: 0x4004ac20, 0x2f11: 0x4004ae20, 0x2f12: 0x40279c20, 0x2f13: 0x40279e20,\n\t0x2f14: 0x4004b020, 0x2f15: 0x4004b220, 0x2f16: 0x4004b420, 0x2f17: 0x4004b620,\n\t0x2f18: 0x4004b820, 0x2f19: 0x4004ba20, 0x2f1a: 0x4004bc20, 0x2f1b: 0x4004be20,\n\t0x2f1c: 0x40023820, 0x2f1d: 0x4003ea20, 0x2f1e: 0x4003ec20, 0x2f1f: 0x4003ee20,\n\t0x2f20: 0x4027a020, 0x2f21: 0xe0000267, 0x2f22: 0xe000037f, 0x2f23: 0xe0000459,\n\t0x2f24: 0xe000052e, 0x2f25: 0xe00005f8, 0x2f26: 0xe00006c3, 0x2f27: 0xe000076b,\n\t0x2f28: 0xe0000817, 0x2f29: 0xe00008bc, 0x2f2a: 0xada12202, 0x2f2b: 0xae412302,\n\t0x2f2c: 0xae812402, 0x2f2d: 0xade12502, 0x2f2e: 0xae012602, 0x2f2f: 0xae012702,\n\t0x2f30: 0x40023a20, 0x2f31: 0x4027ce20, 0x2f32: 0xe0000152, 0x2f33: 0x4027d020,\n\t0x2f34: 0xe0000155, 0x2f35: 0x4027d220, 0x2f36: 0x00279c84, 0x2f37: 0x4027a220,\n\t0x2f38: 0x02a68284, 0x2f39: 0x02a68884, 0x2f3a: 0x02a68a84, 0x2f3b: 0x4027cc20,\n\t0x2f3c: 0xe000231a, 0x2f3d: 0x40051420, 0x2f3e: 0x4027a420, 0x2f3f: 0x4027a620,\n\t// Block 0xbd, offset 0x2f40\n\t0x2f41: 0x0065768d, 0x2f42: 0x0065768e, 0x2f43: 0x0065788d,\n\t0x2f44: 0x0065788e, 0x2f45: 0x00657a8d, 0x2f46: 0x00657a8e, 0x2f47: 0x00657e8d,\n\t0x2f48: 0x00657e8e, 0x2f49: 0x0065808d, 0x2f4a: 0x0065808e, 0x2f4b: 0x0065828e,\n\t0x2f4c: 0xe000216a, 0x2f4d: 0x0065848e, 0x2f4e: 0xe0002188, 0x2f4f: 0x0065868e,\n\t0x2f50: 0xe00021b8, 0x2f51: 0x0065888e, 0x2f52: 0xe00021d6, 0x2f53: 0x00658a8e,\n\t0x2f54: 0xe00021e0, 0x2f55: 0x00658c8e, 0x2f56: 0xe00021ef, 0x2f57: 0x00658e8e,\n\t0x2f58: 0xe0002200, 0x2f59: 0x0065908e, 0x2f5a: 0xe000220f, 0x2f5b: 0x0065928e,\n\t0x2f5c: 0xe0002215, 0x2f5d: 0x0065948e, 0x2f5e: 0xe0002223, 0x2f5f: 0x0065968e,\n\t0x2f60: 0xe0002229, 0x2f61: 0x0065988e, 0x2f62: 0xe0002234, 0x2f63: 0x00659a8d,\n\t0x2f64: 0x00659a8e, 0x2f65: 0xe000223a, 0x2f66: 0x00659c8e, 0x2f67: 0xe0002240,\n\t0x2f68: 0x00659e8e, 0x2f69: 0xe000224a, 0x2f6a: 0x0065a08e, 0x2f6b: 0x0065a28e,\n\t0x2f6c: 0x0065a48e, 0x2f6d: 0x0065a68e, 0x2f6e: 0x0065a88e, 0x2f6f: 0x0065aa8e,\n\t0x2f70: 0xe0002258, 0x2f71: 0xe000225e, 0x2f72: 0x0065ac8e, 0x2f73: 0xe000227a,\n\t0x2f74: 0xe0002280, 0x2f75: 0x0065ae8e, 0x2f76: 0xe000229a, 0x2f77: 0xe00022a0,\n\t0x2f78: 0x0065b08e, 0x2f79: 0xe00022bd, 0x2f7a: 0xe00022c3, 0x2f7b: 0x0065b28e,\n\t0x2f7c: 0xe00022ec, 0x2f7d: 0xe00022f2, 0x2f7e: 0x0065b48e, 0x2f7f: 0x0065b68e,\n\t// Block 0xbe, offset 0x2f80\n\t0x2f80: 0x0065b88e, 0x2f81: 0x0065ba8e, 0x2f82: 0x0065bc8e, 0x2f83: 0x0065be8d,\n\t0x2f84: 0x0065be8e, 0x2f85: 0x0065c08d, 0x2f86: 0x0065c08e, 0x2f87: 0x0065c48d,\n\t0x2f88: 0x0065c48e, 0x2f89: 0x0065c68e, 0x2f8a: 0x0065c88e, 0x2f8b: 0x0065ca8e,\n\t0x2f8c: 0x0065cc8e, 0x2f8d: 0x0065ce8e, 0x2f8e: 0x0065d08d, 0x2f8f: 0x0065d08e,\n\t0x2f90: 0x0065d28e, 0x2f91: 0x0065d48e, 0x2f92: 0x0065d68e, 0x2f93: 0x0065d88e,\n\t0x2f94: 0xe000214c, 0x2f95: 0x0065828d, 0x2f96: 0x0065888d,\n\t0x2f99: 0xa0812802, 0x2f9a: 0xa0812902, 0x2f9b: 0x40063c20,\n\t0x2f9c: 0x40063e20, 0x2f9d: 0x4027d420, 0x2f9e: 0xe0000158, 0x2f9f: 0xf0001616,\n\t0x2fa0: 0x40023c20, 0x2fa1: 0x0065768f, 0x2fa2: 0x00657691, 0x2fa3: 0x0065788f,\n\t0x2fa4: 0x00657891, 0x2fa5: 0x00657a8f, 0x2fa6: 0x00657a91, 0x2fa7: 0x00657e8f,\n\t0x2fa8: 0x00657e91, 0x2fa9: 0x0065808f, 0x2faa: 0x00658091, 0x2fab: 0x00658291,\n\t0x2fac: 0xe000216d, 0x2fad: 0x00658491, 0x2fae: 0xe000218b, 0x2faf: 0x00658691,\n\t0x2fb0: 0xe00021bb, 0x2fb1: 0x00658891, 0x2fb2: 0xe00021d9, 0x2fb3: 0x00658a91,\n\t0x2fb4: 0xe00021e3, 0x2fb5: 0x00658c91, 0x2fb6: 0xe00021f2, 0x2fb7: 0x00658e91,\n\t0x2fb8: 0xe0002203, 0x2fb9: 0x00659091, 0x2fba: 0xe0002212, 0x2fbb: 0x00659291,\n\t0x2fbc: 0xe0002218, 0x2fbd: 0x00659491, 0x2fbe: 0xe0002226, 0x2fbf: 0x00659691,\n\t// Block 0xbf, offset 0x2fc0\n\t0x2fc0: 0xe000222c, 0x2fc1: 0x00659891, 0x2fc2: 0xe0002237, 0x2fc3: 0x00659a8f,\n\t0x2fc4: 0x00659a91, 0x2fc5: 0xe000223d, 0x2fc6: 0x00659c91, 0x2fc7: 0xe0002243,\n\t0x2fc8: 0x00659e91, 0x2fc9: 0xe000224d, 0x2fca: 0x0065a091, 0x2fcb: 0x0065a291,\n\t0x2fcc: 0x0065a491, 0x2fcd: 0x0065a691, 0x2fce: 0x0065a891, 0x2fcf: 0x0065aa91,\n\t0x2fd0: 0xe000225b, 0x2fd1: 0xe0002261, 0x2fd2: 0x0065ac91, 0x2fd3: 0xe000227d,\n\t0x2fd4: 0xe0002283, 0x2fd5: 0x0065ae91, 0x2fd6: 0xe000229d, 0x2fd7: 0xe00022a3,\n\t0x2fd8: 0x0065b091, 0x2fd9: 0xe00022c0, 0x2fda: 0xe00022c6, 0x2fdb: 0x0065b291,\n\t0x2fdc: 0xe00022ef, 0x2fdd: 0xe00022f5, 0x2fde: 0x0065b491, 0x2fdf: 0x0065b691,\n\t0x2fe0: 0x0065b891, 0x2fe1: 0x0065ba91, 0x2fe2: 0x0065bc91, 0x2fe3: 0x0065be8f,\n\t0x2fe4: 0x0065be91, 0x2fe5: 0x0065c08f, 0x2fe6: 0x0065c091, 0x2fe7: 0x0065c48f,\n\t0x2fe8: 0x0065c491, 0x2fe9: 0x0065c691, 0x2fea: 0x0065c891, 0x2feb: 0x0065ca91,\n\t0x2fec: 0x0065cc91, 0x2fed: 0x0065ce91, 0x2fee: 0x0065d08f, 0x2fef: 0x0065d091,\n\t0x2ff0: 0x0065d291, 0x2ff1: 0x0065d491, 0x2ff2: 0x0065d691, 0x2ff3: 0x0065d891,\n\t0x2ff4: 0xe000214f, 0x2ff5: 0x0065828f, 0x2ff6: 0x0065888f, 0x2ff7: 0xe000236a,\n\t0x2ff8: 0xe0002371, 0x2ff9: 0xe0002374, 0x2ffa: 0xe0002377, 0x2ffb: 0x40023e20,\n\t0x2ffc: 0x4027d620, 0x2ffd: 0x4027d820, 0x2ffe: 0xe000015b, 0x2fff: 0xf0001616,\n\t// Block 0xc0, offset 0x3000\n\t0x3005: 0x4065da20, 0x3006: 0x4065dc20, 0x3007: 0x4065de20,\n\t0x3008: 0x4065e020, 0x3009: 0x4065e420, 0x300a: 0x4065e620, 0x300b: 0x4065e820,\n\t0x300c: 0x4065ea20, 0x300d: 0x4065ec20, 0x300e: 0x4065ee20, 0x300f: 0x4065f420,\n\t0x3010: 0x4065f620, 0x3011: 0x4065f820, 0x3012: 0x4065fa20, 0x3013: 0x4065fe20,\n\t0x3014: 0x40660020, 0x3015: 0x40660220, 0x3016: 0x40660420, 0x3017: 0x40660620,\n\t0x3018: 0x40660820, 0x3019: 0x40660a20, 0x301a: 0x40661220, 0x301b: 0x40661420,\n\t0x301c: 0x40661820, 0x301d: 0x40661a20, 0x301e: 0x40661e20, 0x301f: 0x40662020,\n\t0x3020: 0x40662220, 0x3021: 0x40662420, 0x3022: 0x40662620, 0x3023: 0x40662820,\n\t0x3024: 0x40662a20, 0x3025: 0x40662e20, 0x3026: 0x40663620, 0x3027: 0x40663820,\n\t0x3028: 0x40663a20, 0x3029: 0x40663c20, 0x302a: 0x4065e220, 0x302b: 0x4065f020,\n\t0x302c: 0x4065fc20, 0x302d: 0x40663e20,\n\t0x3031: 0x0062ac84, 0x3032: 0x0062ae84, 0x3033: 0x00646884,\n\t0x3034: 0x0062b084, 0x3035: 0x00646c84, 0x3036: 0x00646e84, 0x3037: 0x0062b284,\n\t0x3038: 0x0062b484, 0x3039: 0x0062b684, 0x303a: 0x00647484, 0x303b: 0x00647684,\n\t0x303c: 0x00647884, 0x303d: 0x00647a84, 0x303e: 0x00647c84, 0x303f: 0x00647e84,\n\t// Block 0xc1, offset 0x3040\n\t0x3040: 0x0062e084, 0x3041: 0x0062b884, 0x3042: 0x0062ba84, 0x3043: 0x0062bc84,\n\t0x3044: 0x0062ee84, 0x3045: 0x0062be84, 0x3046: 0x0062c084, 0x3047: 0x0062c284,\n\t0x3048: 0x0062c484, 0x3049: 0x0062c684, 0x304a: 0x0062c884, 0x304b: 0x0062ca84,\n\t0x304c: 0x0062cc84, 0x304d: 0x0062ce84, 0x304e: 0x0062d084, 0x304f: 0x0063a884,\n\t0x3050: 0x0063aa84, 0x3051: 0x0063ac84, 0x3052: 0x0063ae84, 0x3053: 0x0063b084,\n\t0x3054: 0x0063b284, 0x3055: 0x0063b484, 0x3056: 0x0063b684, 0x3057: 0x0063b884,\n\t0x3058: 0x0063ba84, 0x3059: 0x0063bc84, 0x305a: 0x0063be84, 0x305b: 0x0063c084,\n\t0x305c: 0x0063c284, 0x305d: 0x0063c484, 0x305e: 0x0063c684, 0x305f: 0x0063c884,\n\t0x3060: 0x0063ca84, 0x3061: 0x0063cc84, 0x3062: 0x0063ce84, 0x3063: 0x0063d084,\n\t0x3064: 0x0063a684, 0x3065: 0x0062d484, 0x3066: 0x0062d684, 0x3067: 0x0064a284,\n\t0x3068: 0x0064a484, 0x3069: 0x0064ac84, 0x306a: 0x0064b084, 0x306b: 0x0064ba84,\n\t0x306c: 0x0064c284, 0x306d: 0x0064c684, 0x306e: 0x0062e484, 0x306f: 0x0064ce84,\n\t0x3070: 0x0064d284, 0x3071: 0x0062e684, 0x3072: 0x0062e884, 0x3073: 0x0062ec84,\n\t0x3074: 0x0062f084, 0x3075: 0x0062f284, 0x3076: 0x0062fa84, 0x3077: 0x0062fe84,\n\t0x3078: 0x00630284, 0x3079: 0x00630484, 0x307a: 0x00630684, 0x307b: 0x00630884,\n\t0x307c: 0x00630a84, 0x307d: 0x00631084, 0x307e: 0x00631884, 0x307f: 0x00632c84,\n\t// Block 0xc2, offset 0x3080\n\t0x3080: 0x00633a84, 0x3081: 0x00634484, 0x3082: 0x0064f684, 0x3083: 0x0064f884,\n\t0x3084: 0x00635a84, 0x3085: 0x00635c84, 0x3086: 0x00635e84, 0x3087: 0x0063ee84,\n\t0x3088: 0x0063f084, 0x3089: 0x0063f684, 0x308a: 0x00640884, 0x308b: 0x00640a84,\n\t0x308c: 0x00640e84, 0x308d: 0x00642284, 0x308e: 0x00642884,\n\t0x3090: 0x4027a820, 0x3091: 0x4027aa20, 0x3092: 0x029c0094, 0x3093: 0x029d1894,\n\t0x3094: 0x029c1294, 0x3095: 0x02adb694, 0x3096: 0x029c1494, 0x3097: 0x029c5a94,\n\t0x3098: 0x029c1694, 0x3099: 0x02ea6494, 0x309a: 0x029cb294, 0x309b: 0x029c3294,\n\t0x309c: 0x029c0294, 0x309d: 0x02b25294, 0x309e: 0x02ae6094, 0x309f: 0x029d7494,\n\t0x30a0: 0xe000237a, 0x30a1: 0xe0002383, 0x30a2: 0xe0002380, 0x30a3: 0xe000237d,\n\t0x30a4: 0x40661c20, 0x30a5: 0xe000238c, 0x30a6: 0x40661620, 0x30a7: 0xe0002389,\n\t0x30a8: 0xe000239e, 0x30a9: 0xe0002386, 0x30aa: 0xe0002395, 0x30ab: 0xe000239b,\n\t0x30ac: 0x40663420, 0x30ad: 0x4065f220, 0x30ae: 0xe000238f, 0x30af: 0xe0002392,\n\t0x30b0: 0x40663020, 0x30b1: 0x40663220, 0x30b2: 0x40662c20, 0x30b3: 0xe0002398,\n\t0x30b4: 0x0065dc99, 0x30b5: 0x0065e699, 0x30b6: 0x0065ee99, 0x30b7: 0x0065f499,\n\t0x30b8: 0x40660c20, 0x30b9: 0x40660e20, 0x30ba: 0x40661020,\n\t// Block 0xc3, offset 0x30c0\n\t0x30c0: 0x40275220, 0x30c1: 0x40275420, 0x30c2: 0x40275620, 0x30c3: 0x40275820,\n\t0x30c4: 0x40275a20, 0x30c5: 0x40275c20, 0x30c6: 0x40275e20, 0x30c7: 0x40276020,\n\t0x30c8: 0x40276220, 0x30c9: 0x40276420, 0x30ca: 0x40276620, 0x30cb: 0x40276820,\n\t0x30cc: 0x40276a20, 0x30cd: 0x40276c20, 0x30ce: 0x40276e20, 0x30cf: 0x40277020,\n\t0x30d0: 0x40277220, 0x30d1: 0x40277420, 0x30d2: 0x40277620, 0x30d3: 0x40277820,\n\t0x30d4: 0x40277a20, 0x30d5: 0x40277c20, 0x30d6: 0x40277e20, 0x30d7: 0x40278020,\n\t0x30d8: 0x40278220, 0x30d9: 0x40278420, 0x30da: 0x40278620, 0x30db: 0x40278820,\n\t0x30dc: 0x40278a20, 0x30dd: 0x40278c20, 0x30de: 0x40278e20, 0x30df: 0x40279020,\n\t0x30e0: 0x40279220, 0x30e1: 0x40279420, 0x30e2: 0x40279620, 0x30e3: 0x40279820,\n\t0x30f0: 0x0065868f, 0x30f1: 0x00658e8f, 0x30f2: 0x0065908f, 0x30f3: 0x00659e8f,\n\t0x30f4: 0x0065a48f, 0x30f5: 0x0065aa8f, 0x30f6: 0x0065ac8f, 0x30f7: 0x0065ae8f,\n\t0x30f8: 0x0065b08f, 0x30f9: 0x0065b28f, 0x30fa: 0x0065b88f, 0x30fb: 0x0065c68f,\n\t0x30fc: 0x0065c88f, 0x30fd: 0x0065ca8f, 0x30fe: 0x0065cc8f, 0x30ff: 0x0065ce8f,\n\t// Block 0xc4, offset 0x3100\n\t0x3100: 0xf0000404, 0x3101: 0xf0000404, 0x3102: 0xf0000404, 0x3103: 0xf0000404,\n\t0x3104: 0xf0000404, 0x3105: 0xf0000404, 0x3106: 0xf0000404, 0x3107: 0xf0000404,\n\t0x3108: 0xf0000404, 0x3109: 0xf0000404, 0x310a: 0xf0000404, 0x310b: 0xf0000404,\n\t0x310c: 0xf0000404, 0x310d: 0xf0000404, 0x310e: 0xe000004c, 0x310f: 0xe0000051,\n\t0x3110: 0xe0000056, 0x3111: 0xe000005b, 0x3112: 0xe0000060, 0x3113: 0xe0000065,\n\t0x3114: 0xe000006a, 0x3115: 0xe000006f, 0x3116: 0xe0000083, 0x3117: 0xe000008d,\n\t0x3118: 0xe0000092, 0x3119: 0xe0000097, 0x311a: 0xe000009c, 0x311b: 0xe00000a1,\n\t0x311c: 0xe0000088, 0x311d: 0xe0000074, 0x311e: 0xe000007c,\n\t0x3120: 0xf0000404, 0x3121: 0xf0000404, 0x3122: 0xf0000404, 0x3123: 0xf0000404,\n\t0x3124: 0xf0000404, 0x3125: 0xf0000404, 0x3126: 0xf0000404, 0x3127: 0xf0000404,\n\t0x3128: 0xf0000404, 0x3129: 0xf0000404, 0x312a: 0xf0000404, 0x312b: 0xf0000404,\n\t0x312c: 0xf0000404, 0x312d: 0xf0000404, 0x312e: 0xf0000404, 0x312f: 0xf0000404,\n\t0x3130: 0xf0000404, 0x3131: 0xf0000404, 0x3132: 0xf0000404, 0x3133: 0xf0000404,\n\t0x3134: 0xf0000404, 0x3135: 0xf0000404, 0x3136: 0xf0000404, 0x3137: 0xf0000404,\n\t0x3138: 0xf0000404, 0x3139: 0xf0000404, 0x313a: 0xf0000404, 0x313b: 0xf0000404,\n\t0x313c: 0xf0000404, 0x313d: 0xf0000404, 0x313e: 0xf0000404, 0x313f: 0xf0000404,\n\t// Block 0xc5, offset 0x3140\n\t0x3140: 0xf0000404, 0x3141: 0xf0000404, 0x3142: 0xf0000404, 0x3143: 0xf0000404,\n\t0x3144: 0x02aa9e86, 0x3145: 0x02bcf886, 0x3146: 0x02cb0e86, 0x3147: 0x02f71e86,\n\t0x3148: 0xe00002e3, 0x3149: 0xe00003d8, 0x314a: 0xe00004b3, 0x314b: 0xe000057d,\n\t0x314c: 0xe0000648, 0x314d: 0xe00006f0, 0x314e: 0xe000079c, 0x314f: 0xe0000841,\n\t0x3150: 0xe0000ec0, 0x3151: 0xf0000606, 0x3152: 0xf0000606, 0x3153: 0xf0000606,\n\t0x3154: 0xf0000606, 0x3155: 0xf0000606, 0x3156: 0xf0000606, 0x3157: 0xf0000606,\n\t0x3158: 0xf0000606, 0x3159: 0xf0000606, 0x315a: 0xf0000606, 0x315b: 0xf0000606,\n\t0x315c: 0xf0000606, 0x315d: 0xf0000606, 0x315e: 0xf0000606, 0x315f: 0xf0000606,\n\t0x3160: 0x0062ac86, 0x3161: 0x0062b086, 0x3162: 0x0062b286, 0x3163: 0x0062b686,\n\t0x3164: 0x0062b886, 0x3165: 0x0062ba86, 0x3166: 0x0062be86, 0x3167: 0x0062c286,\n\t0x3168: 0x0062c486, 0x3169: 0x0062c886, 0x316a: 0x0062ca86, 0x316b: 0x0062cc86,\n\t0x316c: 0x0062ce86, 0x316d: 0x0062d086, 0x316e: 0xf0000606, 0x316f: 0xf0000606,\n\t0x3170: 0xf0000606, 0x3171: 0xf0000606, 0x3172: 0xf0000606, 0x3173: 0xf0000606,\n\t0x3174: 0xf0000606, 0x3175: 0xf0000606, 0x3176: 0xf0000606, 0x3177: 0xf0000606,\n\t0x3178: 0xf0000606, 0x3179: 0xf0000606, 0x317a: 0xf0000606, 0x317b: 0xf0000606,\n\t0x317c: 0xe0002127, 0x317d: 0xe0002122, 0x317e: 0xf0000606, 0x317f: 0x4027ac20,\n\t// Block 0xc6, offset 0x3180\n\t0x3180: 0x029c0086, 0x3181: 0x029d1886, 0x3182: 0x029c1286, 0x3183: 0x02adb686,\n\t0x3184: 0x029d2886, 0x3185: 0x02a2da86, 0x3186: 0x029c0686, 0x3187: 0x02a2d686,\n\t0x3188: 0x029cba86, 0x3189: 0x02a68286, 0x318a: 0x02ce1086, 0x318b: 0x02e0d686,\n\t0x318c: 0x02d86886, 0x318d: 0x02ce5086, 0x318e: 0x0323a286, 0x318f: 0x02ae3e86,\n\t0x3190: 0x02cbca86, 0x3191: 0x02d05486, 0x3192: 0x02ce1286, 0x3193: 0x02f27c86,\n\t0x3194: 0x02a81a86, 0x3195: 0x02e4f286, 0x3196: 0x03194286, 0x3197: 0x02f2ba86,\n\t0x3198: 0x02a56886, 0x3199: 0x02f3b086, 0x319a: 0x02ea6e86, 0x319b: 0x02b2e686,\n\t0x319c: 0x0320d286, 0x319d: 0x02a25486, 0x319e: 0x02a6e086, 0x319f: 0x02d9d086,\n\t0x31a0: 0x03300a86, 0x31a1: 0x029e2286, 0x31a2: 0x02a33286, 0x31a3: 0x02d6c686,\n\t0x31a4: 0x029c1486, 0x31a5: 0x029c5a86, 0x31a6: 0x029c1686, 0x31a7: 0x02bbcc86,\n\t0x31a8: 0x02a7e686, 0x31a9: 0x02a67686, 0x31aa: 0x02b72e86, 0x31ab: 0x02b6cc86,\n\t0x31ac: 0x02edc686, 0x31ad: 0x029e0286, 0x31ae: 0x03198e86, 0x31af: 0x02a6a886,\n\t0x31b0: 0x02b23886, 0x31b1: 0xf0000606, 0x31b2: 0xf0000606, 0x31b3: 0xf0000606,\n\t0x31b4: 0xf0000606, 0x31b5: 0xf0000606, 0x31b6: 0xf0000606, 0x31b7: 0xf0000606,\n\t0x31b8: 0xf0000606, 0x31b9: 0xf0000606, 0x31ba: 0xf0000606, 0x31bb: 0xf0000606,\n\t0x31bc: 0xf0000606, 0x31bd: 0xf0000606, 0x31be: 0xf0000606, 0x31bf: 0xf0000606,\n\t// Block 0xc7, offset 0x31c0\n\t0x31c0: 0xf0001f04, 0x31c1: 0xf0001f04, 0x31c2: 0xf0001f04, 0x31c3: 0xf0001f04,\n\t0x31c4: 0xf0001f04, 0x31c5: 0xf0001f04, 0x31c6: 0xf0001f04, 0x31c7: 0xf0001f04,\n\t0x31c8: 0xf0001f04, 0x31c9: 0xf0000404, 0x31ca: 0xf0000404, 0x31cb: 0xf0000404,\n\t0x31cc: 0xf0001c1d, 0x31cd: 0xe0000b85, 0x31ce: 0xf0001d1c, 0x31cf: 0xe0000d14,\n\t0x31d0: 0x00657693, 0x31d1: 0x00657893, 0x31d2: 0x00657a93, 0x31d3: 0x00657e93,\n\t0x31d4: 0x00658093, 0x31d5: 0x00658293, 0x31d6: 0x00658493, 0x31d7: 0x00658693,\n\t0x31d8: 0x00658893, 0x31d9: 0x00658a93, 0x31da: 0x00658c93, 0x31db: 0x00658e93,\n\t0x31dc: 0x00659093, 0x31dd: 0x00659293, 0x31de: 0x00659493, 0x31df: 0x00659693,\n\t0x31e0: 0x00659893, 0x31e1: 0x00659a93, 0x31e2: 0x00659c93, 0x31e3: 0x00659e93,\n\t0x31e4: 0x0065a093, 0x31e5: 0x0065a293, 0x31e6: 0x0065a493, 0x31e7: 0x0065a693,\n\t0x31e8: 0x0065a893, 0x31e9: 0x0065aa93, 0x31ea: 0x0065ac93, 0x31eb: 0x0065ae93,\n\t0x31ec: 0x0065b093, 0x31ed: 0x0065b293, 0x31ee: 0x0065b493, 0x31ef: 0x0065b693,\n\t0x31f0: 0x0065b893, 0x31f1: 0x0065ba93, 0x31f2: 0x0065bc93, 0x31f3: 0x0065be93,\n\t0x31f4: 0x0065c093, 0x31f5: 0x0065c493, 0x31f6: 0x0065c693, 0x31f7: 0x0065c893,\n\t0x31f8: 0x0065ca93, 0x31f9: 0x0065cc93, 0x31fa: 0x0065ce93, 0x31fb: 0x0065d093,\n\t0x31fc: 0x0065d293, 0x31fd: 0x0065d493, 0x31fe: 0x0065d693,\n\t// Block 0xc8, offset 0x3200\n\t0x3200: 0xe0002131, 0x3201: 0xe0002137, 0x3202: 0xe000213c, 0x3203: 0xe000212d,\n\t0x3204: 0xe0002142, 0x3205: 0xe0002148, 0x3206: 0xe0002152, 0x3207: 0xe000215b,\n\t0x3208: 0xe0002156, 0x3209: 0xe0002166, 0x320a: 0xe0002162, 0x320b: 0xe0002170,\n\t0x320c: 0xe0002174, 0x320d: 0xe0002179, 0x320e: 0xe000217e, 0x320f: 0xe0002183,\n\t0x3210: 0xe000218e, 0x3211: 0xe0002193, 0x3212: 0xe0002198, 0x3213: 0xe000219d,\n\t0x3214: 0xf0001c1c, 0x3215: 0xe00021a4, 0x3216: 0xe00021ab, 0x3217: 0xe00021b2,\n\t0x3218: 0xe00021be, 0x3219: 0xe00021c3, 0x321a: 0xe00021ca, 0x321b: 0xe00021d1,\n\t0x321c: 0xe00021dc, 0x321d: 0xe00021eb, 0x321e: 0xe00021e6, 0x321f: 0xe00021f5,\n\t0x3220: 0xe00021fa, 0x3221: 0xe0002209, 0x3222: 0xe000221b, 0x3223: 0xe000221f,\n\t0x3224: 0xe000222f, 0x3225: 0xe0002246, 0x3226: 0xe0002250, 0x3227: 0xf0001c1c,\n\t0x3228: 0xf0001c1c, 0x3229: 0xe0002254, 0x322a: 0xe0002276, 0x322b: 0xe0002264,\n\t0x322c: 0xe000226b, 0x322d: 0xe0002270, 0x322e: 0xe0002286, 0x322f: 0xe000228d,\n\t0x3230: 0xe0002292, 0x3231: 0xe0002296, 0x3232: 0xe00022a6, 0x3233: 0xe00022ad,\n\t0x3234: 0xe00022b2, 0x3235: 0xe00022b9, 0x3236: 0xe00022d4, 0x3237: 0xe00022da,\n\t0x3238: 0xe00022de, 0x3239: 0xe00022e3, 0x323a: 0xe00022e7, 0x323b: 0xe00022c9,\n\t0x323c: 0xe00022cf, 0x323d: 0xe0002300, 0x323e: 0xe0002306, 0x323f: 0xf0001c1c,\n\t// Block 0xc9, offset 0x3240\n\t0x3240: 0xe000230b, 0x3241: 0xe00022f8, 0x3242: 0xe00022fc, 0x3243: 0xe0002311,\n\t0x3244: 0xe0002316, 0x3245: 0xe000231d, 0x3246: 0xe0002321, 0x3247: 0xe0002325,\n\t0x3248: 0xe000232b, 0x3249: 0xf0001c1c, 0x324a: 0xe0002330, 0x324b: 0xe000233c,\n\t0x324c: 0xe0002340, 0x324d: 0xe0002337, 0x324e: 0xe0002346, 0x324f: 0xe000234b,\n\t0x3250: 0xe000234f, 0x3251: 0xe0002353, 0x3252: 0xf0001c1c, 0x3253: 0xe000235e,\n\t0x3254: 0xe0002358, 0x3255: 0xf0001c1c, 0x3256: 0xe0002363, 0x3257: 0xe000236d,\n\t0x3258: 0xf0001f04, 0x3259: 0xf0001f04, 0x325a: 0xf0001f04, 0x325b: 0xf0001f04,\n\t0x325c: 0xf0001f04, 0x325d: 0xf0001f04, 0x325e: 0xf0001f04, 0x325f: 0xf0001f04,\n\t0x3260: 0xf0001f04, 0x3261: 0xf0001f04, 0x3262: 0xf0000404, 0x3263: 0xf0000404,\n\t0x3264: 0xf0000404, 0x3265: 0xf0000404, 0x3266: 0xf0000404, 0x3267: 0xf0000404,\n\t0x3268: 0xf0000404, 0x3269: 0xf0000404, 0x326a: 0xf0000404, 0x326b: 0xf0000404,\n\t0x326c: 0xf0000404, 0x326d: 0xf0000404, 0x326e: 0xf0000404, 0x326f: 0xf0000404,\n\t0x3270: 0xf0000404, 0x3271: 0xe0000c1e, 0x3272: 0xf0001c1c, 0x3273: 0xf0001d1d,\n\t0x3274: 0xe0000a31, 0x3275: 0xf0001d1c, 0x3276: 0xf0001c1c, 0x3277: 0xf0001c1c,\n\t0x3278: 0xe0000ac2, 0x3279: 0xe0000ac6, 0x327a: 0xf0001d1d, 0x327b: 0xf0001c1c,\n\t0x327c: 0xf0001c1c, 0x327d: 0xf0001c1c, 0x327e: 0xf0001c1c, 0x327f: 0xe0002431,\n\t// Block 0xca, offset 0x3280\n\t0x3280: 0xf0001d1c, 0x3281: 0xf0001d1c, 0x3282: 0xf0001d1c, 0x3283: 0xf0001d1c,\n\t0x3284: 0xf0001d1c, 0x3285: 0xf0001d1d, 0x3286: 0xf0001d1d, 0x3287: 0xf0001d1d,\n\t0x3288: 0xe0000a6b, 0x3289: 0xe0000cb4, 0x328a: 0xf0001d1c, 0x328b: 0xf0001d1c,\n\t0x328c: 0xf0001d1c, 0x328d: 0xf0001c1c, 0x328e: 0xf0001c1c, 0x328f: 0xf0001c1c,\n\t0x3290: 0xf0001c1d, 0x3291: 0xe0000cb9, 0x3292: 0xe0000d36, 0x3293: 0xe0000be3,\n\t0x3294: 0xe0000fc5, 0x3295: 0xf0001c1c, 0x3296: 0xf0001c1c, 0x3297: 0xf0001c1c,\n\t0x3298: 0xf0001c1c, 0x3299: 0xf0001c1c, 0x329a: 0xf0001c1c, 0x329b: 0xf0001c1c,\n\t0x329c: 0xf0001c1c, 0x329d: 0xf0001c1c, 0x329e: 0xf0001c1c, 0x329f: 0xe0000d3e,\n\t0x32a0: 0xe0000a72, 0x32a1: 0xf0001c1c, 0x32a2: 0xe0000cbd, 0x32a3: 0xe0000d42,\n\t0x32a4: 0xe0000a76, 0x32a5: 0xf0001c1c, 0x32a6: 0xe0000cc1, 0x32a7: 0xe0000d2d,\n\t0x32a8: 0xe0000d31, 0x32a9: 0xf0001c1d, 0x32aa: 0xe0000cc5, 0x32ab: 0xe0000d4a,\n\t0x32ac: 0xe0000be7, 0x32ad: 0xe0000f0b, 0x32ae: 0xe0000f0f, 0x32af: 0xe0000f15,\n\t0x32b0: 0xf0001c1c, 0x32b1: 0xf0001c1c, 0x32b2: 0xf0001c1c, 0x32b3: 0xf0001c1c,\n\t0x32b4: 0xf0001d1c, 0x32b5: 0xf0001d1c, 0x32b6: 0xf0001d1c, 0x32b7: 0xf0001d1c,\n\t0x32b8: 0xf0001d1c, 0x32b9: 0xf0001d1d, 0x32ba: 0xf0001d1c, 0x32bb: 0xf0001d1c,\n\t0x32bc: 0xf0001d1c, 0x32bd: 0xf0001d1c, 0x32be: 0xf0001d1c, 0x32bf: 0xf0001d1d,\n\t// Block 0xcb, offset 0x32c0\n\t0x32c0: 0xf0001d1c, 0x32c1: 0xf0001d1d, 0x32c2: 0xe00009b7, 0x32c3: 0xf0001c1d,\n\t0x32c4: 0xf0001c1c, 0x32c5: 0xf0001c1c, 0x32c6: 0xe0000a66, 0x32c7: 0xe0000a7a,\n\t0x32c8: 0xf0001d1c, 0x32c9: 0xf0001c1d, 0x32ca: 0xf0001c1c, 0x32cb: 0xf0001d1d,\n\t0x32cc: 0xf0001c1c, 0x32cd: 0xf0001d1d, 0x32ce: 0xf0001d1d, 0x32cf: 0xf0001c1c,\n\t0x32d0: 0xf0001c1c, 0x32d1: 0xf0001c1c, 0x32d2: 0xe0000d0d, 0x32d3: 0xf0001c1c,\n\t0x32d4: 0xf0001c1c, 0x32d5: 0xe0000d3a, 0x32d6: 0xe0000d46, 0x32d7: 0xf0001d1d,\n\t0x32d8: 0xe0000eb0, 0x32d9: 0xe0000eb8, 0x32da: 0xf0001d1d, 0x32db: 0xf0001c1c,\n\t0x32dc: 0xf0001c1d, 0x32dd: 0xf0001c1d, 0x32de: 0xe00010b2, 0x32df: 0xe00009c8,\n\t0x32e0: 0xf0001f04, 0x32e1: 0xf0001f04, 0x32e2: 0xf0001f04, 0x32e3: 0xf0001f04,\n\t0x32e4: 0xf0001f04, 0x32e5: 0xf0001f04, 0x32e6: 0xf0001f04, 0x32e7: 0xf0001f04,\n\t0x32e8: 0xf0001f04, 0x32e9: 0xf0000404, 0x32ea: 0xf0000404, 0x32eb: 0xf0000404,\n\t0x32ec: 0xf0000404, 0x32ed: 0xf0000404, 0x32ee: 0xf0000404, 0x32ef: 0xf0000404,\n\t0x32f0: 0xf0000404, 0x32f1: 0xf0000404, 0x32f2: 0xf0000404, 0x32f3: 0xf0000404,\n\t0x32f4: 0xf0000404, 0x32f5: 0xf0000404, 0x32f6: 0xf0000404, 0x32f7: 0xf0000404,\n\t0x32f8: 0xf0000404, 0x32f9: 0xf0000404, 0x32fa: 0xf0000404, 0x32fb: 0xf0000404,\n\t0x32fc: 0xf0000404, 0x32fd: 0xf0000404, 0x32fe: 0xf0000404, 0x32ff: 0xe0000bdf,\n\t// Block 0xcc, offset 0x3300\n\t0x3300: 0x40196220, 0x3301: 0x40196420, 0x3302: 0x40196620, 0x3303: 0x40196820,\n\t0x3304: 0x40196a20, 0x3305: 0x40196c20, 0x3306: 0x40196e20, 0x3307: 0x40197020,\n\t0x3308: 0x40197220, 0x3309: 0x40197420, 0x330a: 0x40197620, 0x330b: 0x40197820,\n\t0x330c: 0x40197a20, 0x330d: 0x40197c20, 0x330e: 0x40197e20, 0x330f: 0x40198020,\n\t0x3310: 0x40198220, 0x3311: 0x40198420, 0x3312: 0x40198620, 0x3313: 0x40198820,\n\t0x3314: 0x40198a20, 0x3315: 0x40198c20, 0x3316: 0x40198e20, 0x3317: 0x40199020,\n\t0x3318: 0x40199220, 0x3319: 0x40199420, 0x331a: 0x40199620, 0x331b: 0x40199820,\n\t0x331c: 0x40199a20, 0x331d: 0x40199c20, 0x331e: 0x40199e20, 0x331f: 0x4019a020,\n\t0x3320: 0x4019a220, 0x3321: 0x4019a420, 0x3322: 0x4019a620, 0x3323: 0x4019a820,\n\t0x3324: 0x4019aa20, 0x3325: 0x4019ac20, 0x3326: 0x4019ae20, 0x3327: 0x4019b020,\n\t0x3328: 0x4019b220, 0x3329: 0x4019b420, 0x332a: 0x4019b620, 0x332b: 0x4019b820,\n\t0x332c: 0x4019ba20, 0x332d: 0x4019bc20, 0x332e: 0x4019be20, 0x332f: 0x4019c020,\n\t0x3330: 0x4019c220, 0x3331: 0x4019c420, 0x3332: 0x4019c620, 0x3333: 0x4019c820,\n\t0x3334: 0x4019ca20, 0x3335: 0x4019cc20, 0x3336: 0x4019ce20, 0x3337: 0x4019d020,\n\t0x3338: 0x4019d220, 0x3339: 0x4019d420, 0x333a: 0x4019d620, 0x333b: 0x4019d820,\n\t0x333c: 0x4019da20, 0x333d: 0x4019dc20, 0x333e: 0x4019de20, 0x333f: 0x4019e020,\n\t// Block 0xcd, offset 0x3340\n\t0x3340: 0x40664020, 0x3341: 0x40664220, 0x3342: 0x40664420, 0x3343: 0x40664620,\n\t0x3344: 0x40664820, 0x3345: 0x40664a20, 0x3346: 0x40664c20, 0x3347: 0x40664e20,\n\t0x3348: 0x40665020, 0x3349: 0x40665220, 0x334a: 0x40665420, 0x334b: 0x40665620,\n\t0x334c: 0x40665820, 0x334d: 0x40665a20, 0x334e: 0x40665c20, 0x334f: 0x40665e20,\n\t0x3350: 0x40666020, 0x3351: 0x40666220, 0x3352: 0x40666420, 0x3353: 0x40666620,\n\t0x3354: 0x40666820, 0x3355: 0x40666a20, 0x3356: 0x40666c20, 0x3357: 0x40666e20,\n\t0x3358: 0x40667020, 0x3359: 0x40667220, 0x335a: 0x40667420, 0x335b: 0x40667620,\n\t0x335c: 0x40667820, 0x335d: 0x40667a20, 0x335e: 0x40667c20, 0x335f: 0x40667e20,\n\t0x3360: 0x40668020, 0x3361: 0x40668220, 0x3362: 0x40668420, 0x3363: 0x40668620,\n\t0x3364: 0x40668820, 0x3365: 0x40668a20, 0x3366: 0x40668c20, 0x3367: 0x40668e20,\n\t0x3368: 0x40669020, 0x3369: 0x40669220, 0x336a: 0x40669420, 0x336b: 0x40669620,\n\t0x336c: 0x40669820, 0x336d: 0x40669a20, 0x336e: 0x40669c20, 0x336f: 0x40669e20,\n\t0x3370: 0x4066a020, 0x3371: 0x4066a220, 0x3372: 0x4066a420, 0x3373: 0x4066a620,\n\t0x3374: 0x4066a820, 0x3375: 0x4066aa20, 0x3376: 0x4066ac20, 0x3377: 0x4066ae20,\n\t0x3378: 0x4066b020, 0x3379: 0x4066b220, 0x337a: 0x4066b420, 0x337b: 0x4066b620,\n\t0x337c: 0x4066b820, 0x337d: 0x4066ba20, 0x337e: 0x4066bc20, 0x337f: 0x4066be20,\n\t// Block 0xce, offset 0x3380\n\t0x3380: 0x4066c020, 0x3381: 0x4066c220, 0x3382: 0x4066c420, 0x3383: 0x4066c620,\n\t0x3384: 0x4066c820, 0x3385: 0x4066ca20, 0x3386: 0x4066cc20, 0x3387: 0x4066ce20,\n\t0x3388: 0x4066d020, 0x3389: 0x4066d220, 0x338a: 0x4066d420, 0x338b: 0x4066d620,\n\t0x338c: 0x4066d820, 0x338d: 0x4066da20, 0x338e: 0x4066dc20, 0x338f: 0x4066de20,\n\t0x3390: 0x4066e020, 0x3391: 0x4066e220, 0x3392: 0x4066e420, 0x3393: 0x4066e620,\n\t0x3394: 0x4066e820, 0x3395: 0x4066ea20, 0x3396: 0x4066ec20, 0x3397: 0x4066ee20,\n\t0x3398: 0x4066f020, 0x3399: 0x4066f220, 0x339a: 0x4066f420, 0x339b: 0x4066f620,\n\t0x339c: 0x4066f820, 0x339d: 0x4066fa20, 0x339e: 0x4066fc20, 0x339f: 0x4066fe20,\n\t0x33a0: 0x40670020, 0x33a1: 0x40670220, 0x33a2: 0x40670420, 0x33a3: 0x40670620,\n\t0x33a4: 0x40670820, 0x33a5: 0x40670a20, 0x33a6: 0x40670c20, 0x33a7: 0x40670e20,\n\t0x33a8: 0x40671020, 0x33a9: 0x40671220, 0x33aa: 0x40671420, 0x33ab: 0x40671620,\n\t0x33ac: 0x40671820, 0x33ad: 0x40671a20, 0x33ae: 0x40671c20, 0x33af: 0x40671e20,\n\t0x33b0: 0x40672020, 0x33b1: 0x40672220, 0x33b2: 0x40672420, 0x33b3: 0x40672620,\n\t0x33b4: 0x40672820, 0x33b5: 0x40672a20, 0x33b6: 0x40672c20, 0x33b7: 0x40672e20,\n\t0x33b8: 0x40673020, 0x33b9: 0x40673220, 0x33ba: 0x40673420, 0x33bb: 0x40673620,\n\t0x33bc: 0x40673820, 0x33bd: 0x40673a20, 0x33be: 0x40673c20, 0x33bf: 0x40673e20,\n\t// Block 0xcf, offset 0x33c0\n\t0x33c0: 0x40674020, 0x33c1: 0x40674220, 0x33c2: 0x40674420, 0x33c3: 0x40674620,\n\t0x33c4: 0x40674820, 0x33c5: 0x40674a20, 0x33c6: 0x40674c20, 0x33c7: 0x40674e20,\n\t0x33c8: 0x40675020, 0x33c9: 0x40675220, 0x33ca: 0x40675420, 0x33cb: 0x40675620,\n\t0x33cc: 0x40675820, 0x33cd: 0x40675a20, 0x33ce: 0x40675c20, 0x33cf: 0x40675e20,\n\t0x33d0: 0x40676020, 0x33d1: 0x40676220, 0x33d2: 0x40676420, 0x33d3: 0x40676620,\n\t0x33d4: 0x40676820, 0x33d5: 0x40676a20, 0x33d6: 0x40676c20, 0x33d7: 0x40676e20,\n\t0x33d8: 0x40677020, 0x33d9: 0x40677220, 0x33da: 0x40677420, 0x33db: 0x40677620,\n\t0x33dc: 0x40677820, 0x33dd: 0x40677a20, 0x33de: 0x40677c20, 0x33df: 0x40677e20,\n\t0x33e0: 0x40678020, 0x33e1: 0x40678220, 0x33e2: 0x40678420, 0x33e3: 0x40678620,\n\t0x33e4: 0x40678820, 0x33e5: 0x40678a20, 0x33e6: 0x40678c20, 0x33e7: 0x40678e20,\n\t0x33e8: 0x40679020, 0x33e9: 0x40679220, 0x33ea: 0x40679420, 0x33eb: 0x40679620,\n\t0x33ec: 0x40679820, 0x33ed: 0x40679a20, 0x33ee: 0x40679c20, 0x33ef: 0x40679e20,\n\t0x33f0: 0x4067a020, 0x33f1: 0x4067a220, 0x33f2: 0x4067a420, 0x33f3: 0x4067a620,\n\t0x33f4: 0x4067a820, 0x33f5: 0x4067aa20, 0x33f6: 0x4067ac20, 0x33f7: 0x4067ae20,\n\t0x33f8: 0x4067b020, 0x33f9: 0x4067b220, 0x33fa: 0x4067b420, 0x33fb: 0x4067b620,\n\t0x33fc: 0x4067b820, 0x33fd: 0x4067ba20, 0x33fe: 0x4067bc20, 0x33ff: 0x4067be20,\n\t// Block 0xd0, offset 0x3400\n\t0x3400: 0x4067c020, 0x3401: 0x4067c220, 0x3402: 0x4067c420, 0x3403: 0x4067c620,\n\t0x3404: 0x4067c820, 0x3405: 0x4067ca20, 0x3406: 0x4067cc20, 0x3407: 0x4067ce20,\n\t0x3408: 0x4067d020, 0x3409: 0x4067d220, 0x340a: 0x4067d420, 0x340b: 0x4067d620,\n\t0x340c: 0x4067d820, 0x340d: 0x4067da20, 0x340e: 0x4067dc20, 0x340f: 0x4067de20,\n\t0x3410: 0x4067e020, 0x3411: 0x4067e220, 0x3412: 0x4067e420, 0x3413: 0x4067e620,\n\t0x3414: 0x4067e820, 0x3415: 0x4067ea20, 0x3416: 0x4067ec20, 0x3417: 0x4067ee20,\n\t0x3418: 0x4067f020, 0x3419: 0x4067f220, 0x341a: 0x4067f420, 0x341b: 0x4067f620,\n\t0x341c: 0x4067f820, 0x341d: 0x4067fa20, 0x341e: 0x4067fc20, 0x341f: 0x4067fe20,\n\t0x3420: 0x40680020, 0x3421: 0x40680220, 0x3422: 0x40680420, 0x3423: 0x40680620,\n\t0x3424: 0x40680820, 0x3425: 0x40680a20, 0x3426: 0x40680c20, 0x3427: 0x40680e20,\n\t0x3428: 0x40681020, 0x3429: 0x40681220, 0x342a: 0x40681420, 0x342b: 0x40681620,\n\t0x342c: 0x40681820, 0x342d: 0x40681a20, 0x342e: 0x40681c20, 0x342f: 0x40681e20,\n\t0x3430: 0x40682020, 0x3431: 0x40682220, 0x3432: 0x40682420, 0x3433: 0x40682620,\n\t0x3434: 0x40682820, 0x3435: 0x40682a20, 0x3436: 0x40682c20, 0x3437: 0x40682e20,\n\t0x3438: 0x40683020, 0x3439: 0x40683220, 0x343a: 0x40683420, 0x343b: 0x40683620,\n\t0x343c: 0x40683820, 0x343d: 0x40683a20, 0x343e: 0x40683c20, 0x343f: 0x40683e20,\n\t// Block 0xd1, offset 0x3440\n\t0x3440: 0x40684020, 0x3441: 0x40684220, 0x3442: 0x40684420, 0x3443: 0x40684620,\n\t0x3444: 0x40684820, 0x3445: 0x40684a20, 0x3446: 0x40684c20, 0x3447: 0x40684e20,\n\t0x3448: 0x40685020, 0x3449: 0x40685220, 0x344a: 0x40685420, 0x344b: 0x40685620,\n\t0x344c: 0x40685820, 0x344d: 0x40685a20, 0x344e: 0x40685c20, 0x344f: 0x40685e20,\n\t0x3450: 0x40686020, 0x3451: 0x40686220, 0x3452: 0x40686420, 0x3453: 0x40686620,\n\t0x3454: 0x40686820, 0x3455: 0x40686a20, 0x3456: 0x40686c20, 0x3457: 0x40686e20,\n\t0x3458: 0x40687020, 0x3459: 0x40687220, 0x345a: 0x40687420, 0x345b: 0x40687620,\n\t0x345c: 0x40687820, 0x345d: 0x40687a20, 0x345e: 0x40687c20, 0x345f: 0x40687e20,\n\t0x3460: 0x40688020, 0x3461: 0x40688220, 0x3462: 0x40688420, 0x3463: 0x40688620,\n\t0x3464: 0x40688820, 0x3465: 0x40688a20, 0x3466: 0x40688c20, 0x3467: 0x40688e20,\n\t0x3468: 0x40689020, 0x3469: 0x40689220, 0x346a: 0x40689420, 0x346b: 0x40689620,\n\t0x346c: 0x40689820, 0x346d: 0x40689a20, 0x346e: 0x40689c20, 0x346f: 0x40689e20,\n\t0x3470: 0x4068a020, 0x3471: 0x4068a220, 0x3472: 0x4068a420, 0x3473: 0x4068a620,\n\t0x3474: 0x4068a820, 0x3475: 0x4068aa20, 0x3476: 0x4068ac20, 0x3477: 0x4068ae20,\n\t0x3478: 0x4068b020, 0x3479: 0x4068b220, 0x347a: 0x4068b420, 0x347b: 0x4068b620,\n\t0x347c: 0x4068b820, 0x347d: 0x4068ba20, 0x347e: 0x4068bc20, 0x347f: 0x4068be20,\n\t// Block 0xd2, offset 0x3480\n\t0x3480: 0x4068c020, 0x3481: 0x4068c220, 0x3482: 0x4068c420, 0x3483: 0x4068c620,\n\t0x3484: 0x4068c820, 0x3485: 0x4068ca20, 0x3486: 0x4068cc20, 0x3487: 0x4068ce20,\n\t0x3488: 0x4068d020, 0x3489: 0x4068d220, 0x348a: 0x4068d420, 0x348b: 0x4068d620,\n\t0x348c: 0x4068d820, 0x348d: 0x4068da20, 0x348e: 0x4068dc20, 0x348f: 0x4068de20,\n\t0x3490: 0x4068e020, 0x3491: 0x4068e220, 0x3492: 0x4068e420, 0x3493: 0x4068e620,\n\t0x3494: 0x4068e820, 0x3495: 0x4068ea20, 0x3496: 0x4068ec20, 0x3497: 0x4068ee20,\n\t0x3498: 0x4068f020, 0x3499: 0x4068f220, 0x349a: 0x4068f420, 0x349b: 0x4068f620,\n\t0x349c: 0x4068f820, 0x349d: 0x4068fa20, 0x349e: 0x4068fc20, 0x349f: 0x4068fe20,\n\t0x34a0: 0x40690020, 0x34a1: 0x40690220, 0x34a2: 0x40690420, 0x34a3: 0x40690620,\n\t0x34a4: 0x40690820, 0x34a5: 0x40690a20, 0x34a6: 0x40690c20, 0x34a7: 0x40690e20,\n\t0x34a8: 0x40691020, 0x34a9: 0x40691220, 0x34aa: 0x40691420, 0x34ab: 0x40691620,\n\t0x34ac: 0x40691820, 0x34ad: 0x40691a20, 0x34ae: 0x40691c20, 0x34af: 0x40691e20,\n\t0x34b0: 0x40692020, 0x34b1: 0x40692220, 0x34b2: 0x40692420, 0x34b3: 0x40692620,\n\t0x34b4: 0x40692820, 0x34b5: 0x40692a20, 0x34b6: 0x40692c20, 0x34b7: 0x40692e20,\n\t0x34b8: 0x40693020, 0x34b9: 0x40693220, 0x34ba: 0x40693420, 0x34bb: 0x40693620,\n\t0x34bc: 0x40693820, 0x34bd: 0x40693a20, 0x34be: 0x40693c20, 0x34bf: 0x40693e20,\n\t// Block 0xd3, offset 0x34c0\n\t0x34c0: 0x40694020, 0x34c1: 0x40694220, 0x34c2: 0x40694420, 0x34c3: 0x40694620,\n\t0x34c4: 0x40694820, 0x34c5: 0x40694a20, 0x34c6: 0x40694c20, 0x34c7: 0x40694e20,\n\t0x34c8: 0x40695020, 0x34c9: 0x40695220, 0x34ca: 0x40695420, 0x34cb: 0x40695620,\n\t0x34cc: 0x40695820, 0x34cd: 0x40695a20, 0x34ce: 0x40695c20, 0x34cf: 0x40695e20,\n\t0x34d0: 0x40696020, 0x34d1: 0x40696220, 0x34d2: 0x40696420, 0x34d3: 0x40696620,\n\t0x34d4: 0x40696820, 0x34d5: 0x40696a20, 0x34d6: 0x40696c20, 0x34d7: 0x40696e20,\n\t0x34d8: 0x40697020, 0x34d9: 0x40697220, 0x34da: 0x40697420, 0x34db: 0x40697620,\n\t0x34dc: 0x40697820, 0x34dd: 0x40697a20, 0x34de: 0x40697c20, 0x34df: 0x40697e20,\n\t0x34e0: 0x40698020, 0x34e1: 0x40698220, 0x34e2: 0x40698420, 0x34e3: 0x40698620,\n\t0x34e4: 0x40698820, 0x34e5: 0x40698a20, 0x34e6: 0x40698c20, 0x34e7: 0x40698e20,\n\t0x34e8: 0x40699020, 0x34e9: 0x40699220, 0x34ea: 0x40699420, 0x34eb: 0x40699620,\n\t0x34ec: 0x40699820, 0x34ed: 0x40699a20, 0x34ee: 0x40699c20, 0x34ef: 0x40699e20,\n\t0x34f0: 0x4069a020, 0x34f1: 0x4069a220, 0x34f2: 0x4069a420, 0x34f3: 0x4069a620,\n\t0x34f4: 0x4069a820, 0x34f5: 0x4069aa20, 0x34f6: 0x4069ac20, 0x34f7: 0x4069ae20,\n\t0x34f8: 0x4069b020, 0x34f9: 0x4069b220, 0x34fa: 0x4069b420, 0x34fb: 0x4069b620,\n\t0x34fc: 0x4069b820, 0x34fd: 0x4069ba20, 0x34fe: 0x4069bc20, 0x34ff: 0x4069be20,\n\t// Block 0xd4, offset 0x3500\n\t0x3500: 0x4069c020, 0x3501: 0x4069c220, 0x3502: 0x4069c420, 0x3503: 0x4069c620,\n\t0x3504: 0x4069c820, 0x3505: 0x4069ca20, 0x3506: 0x4069cc20, 0x3507: 0x4069ce20,\n\t0x3508: 0x4069d020, 0x3509: 0x4069d220, 0x350a: 0x4069d420, 0x350b: 0x4069d620,\n\t0x350c: 0x4069d820, 0x350d: 0x4069da20, 0x350e: 0x4069dc20, 0x350f: 0x4069de20,\n\t0x3510: 0x4069e020, 0x3511: 0x4069e220, 0x3512: 0x4069e420, 0x3513: 0x4069e620,\n\t0x3514: 0x4069e820, 0x3515: 0x4069ea20, 0x3516: 0x4069ec20, 0x3517: 0x4069ee20,\n\t0x3518: 0x4069f020, 0x3519: 0x4069f220, 0x351a: 0x4069f420, 0x351b: 0x4069f620,\n\t0x351c: 0x4069f820, 0x351d: 0x4069fa20, 0x351e: 0x4069fc20, 0x351f: 0x4069fe20,\n\t0x3520: 0x406a0020, 0x3521: 0x406a0220, 0x3522: 0x406a0420, 0x3523: 0x406a0620,\n\t0x3524: 0x406a0820, 0x3525: 0x406a0a20, 0x3526: 0x406a0c20, 0x3527: 0x406a0e20,\n\t0x3528: 0x406a1020, 0x3529: 0x406a1220, 0x352a: 0x406a1420, 0x352b: 0x406a1620,\n\t0x352c: 0x406a1820, 0x352d: 0x406a1a20, 0x352e: 0x406a1c20, 0x352f: 0x406a1e20,\n\t0x3530: 0x406a2020, 0x3531: 0x406a2220, 0x3532: 0x406a2420, 0x3533: 0x406a2620,\n\t0x3534: 0x406a2820, 0x3535: 0x406a2a20, 0x3536: 0x406a2c20, 0x3537: 0x406a2e20,\n\t0x3538: 0x406a3020, 0x3539: 0x406a3220, 0x353a: 0x406a3420, 0x353b: 0x406a3620,\n\t0x353c: 0x406a3820, 0x353d: 0x406a3a20, 0x353e: 0x406a3c20, 0x353f: 0x406a3e20,\n\t// Block 0xd5, offset 0x3540\n\t0x3540: 0x406a4020, 0x3541: 0x406a4220, 0x3542: 0x406a4420, 0x3543: 0x406a4620,\n\t0x3544: 0x406a4820, 0x3545: 0x406a4a20, 0x3546: 0x406a4c20, 0x3547: 0x406a4e20,\n\t0x3548: 0x406a5020, 0x3549: 0x406a5220, 0x354a: 0x406a5420, 0x354b: 0x406a5620,\n\t0x354c: 0x406a5820, 0x354d: 0x406a5a20, 0x354e: 0x406a5c20, 0x354f: 0x406a5e20,\n\t0x3550: 0x406a6020, 0x3551: 0x406a6220, 0x3552: 0x406a6420, 0x3553: 0x406a6620,\n\t0x3554: 0x406a6820, 0x3555: 0x406a6a20, 0x3556: 0x406a6c20, 0x3557: 0x406a6e20,\n\t0x3558: 0x406a7020, 0x3559: 0x406a7220, 0x355a: 0x406a7420, 0x355b: 0x406a7620,\n\t0x355c: 0x406a7820, 0x355d: 0x406a7a20, 0x355e: 0x406a7c20, 0x355f: 0x406a7e20,\n\t0x3560: 0x406a8020, 0x3561: 0x406a8220, 0x3562: 0x406a8420, 0x3563: 0x406a8620,\n\t0x3564: 0x406a8820, 0x3565: 0x406a8a20, 0x3566: 0x406a8c20, 0x3567: 0x406a8e20,\n\t0x3568: 0x406a9020, 0x3569: 0x406a9220, 0x356a: 0x406a9420, 0x356b: 0x406a9620,\n\t0x356c: 0x406a9820, 0x356d: 0x406a9a20, 0x356e: 0x406a9c20, 0x356f: 0x406a9e20,\n\t0x3570: 0x406aa020, 0x3571: 0x406aa220, 0x3572: 0x406aa420, 0x3573: 0x406aa620,\n\t0x3574: 0x406aa820, 0x3575: 0x406aaa20, 0x3576: 0x406aac20, 0x3577: 0x406aae20,\n\t0x3578: 0x406ab020, 0x3579: 0x406ab220, 0x357a: 0x406ab420, 0x357b: 0x406ab620,\n\t0x357c: 0x406ab820, 0x357d: 0x406aba20, 0x357e: 0x406abc20, 0x357f: 0x406abe20,\n\t// Block 0xd6, offset 0x3580\n\t0x3580: 0x406ac020, 0x3581: 0x406ac220, 0x3582: 0x406ac420, 0x3583: 0x406ac620,\n\t0x3584: 0x406ac820, 0x3585: 0x406aca20, 0x3586: 0x406acc20, 0x3587: 0x406ace20,\n\t0x3588: 0x406ad020, 0x3589: 0x406ad220, 0x358a: 0x406ad420, 0x358b: 0x406ad620,\n\t0x358c: 0x406ad820, 0x358d: 0x406ada20, 0x358e: 0x406adc20, 0x358f: 0x406ade20,\n\t0x3590: 0x406ae020, 0x3591: 0x406ae220, 0x3592: 0x406ae420, 0x3593: 0x406ae620,\n\t0x3594: 0x406ae820, 0x3595: 0x406aea20, 0x3596: 0x406aec20, 0x3597: 0x406aee20,\n\t0x3598: 0x406af020, 0x3599: 0x406af220, 0x359a: 0x406af420, 0x359b: 0x406af620,\n\t0x359c: 0x406af820, 0x359d: 0x406afa20, 0x359e: 0x406afc20, 0x359f: 0x406afe20,\n\t0x35a0: 0x406b0020, 0x35a1: 0x406b0220, 0x35a2: 0x406b0420, 0x35a3: 0x406b0620,\n\t0x35a4: 0x406b0820, 0x35a5: 0x406b0a20, 0x35a6: 0x406b0c20, 0x35a7: 0x406b0e20,\n\t0x35a8: 0x406b1020, 0x35a9: 0x406b1220, 0x35aa: 0x406b1420, 0x35ab: 0x406b1620,\n\t0x35ac: 0x406b1820, 0x35ad: 0x406b1a20, 0x35ae: 0x406b1c20, 0x35af: 0x406b1e20,\n\t0x35b0: 0x406b2020, 0x35b1: 0x406b2220, 0x35b2: 0x406b2420, 0x35b3: 0x406b2620,\n\t0x35b4: 0x406b2820, 0x35b5: 0x406b2a20, 0x35b6: 0x406b2c20, 0x35b7: 0x406b2e20,\n\t0x35b8: 0x406b3020, 0x35b9: 0x406b3220, 0x35ba: 0x406b3420, 0x35bb: 0x406b3620,\n\t0x35bc: 0x406b3820, 0x35bd: 0x406b3a20, 0x35be: 0x406b3c20, 0x35bf: 0x406b3e20,\n\t// Block 0xd7, offset 0x35c0\n\t0x35c0: 0x406b4020, 0x35c1: 0x406b4220, 0x35c2: 0x406b4420, 0x35c3: 0x406b4620,\n\t0x35c4: 0x406b4820, 0x35c5: 0x406b4a20, 0x35c6: 0x406b4c20, 0x35c7: 0x406b4e20,\n\t0x35c8: 0x406b5020, 0x35c9: 0x406b5220, 0x35ca: 0x406b5420, 0x35cb: 0x406b5620,\n\t0x35cc: 0x406b5820, 0x35cd: 0x406b5a20, 0x35ce: 0x406b5c20, 0x35cf: 0x406b5e20,\n\t0x35d0: 0x406b6020, 0x35d1: 0x406b6220, 0x35d2: 0x406b6420, 0x35d3: 0x406b6620,\n\t0x35d4: 0x406b6820, 0x35d5: 0x406b6a20, 0x35d6: 0x406b6c20, 0x35d7: 0x406b6e20,\n\t0x35d8: 0x406b7020, 0x35d9: 0x406b7220, 0x35da: 0x406b7420, 0x35db: 0x406b7620,\n\t0x35dc: 0x406b7820, 0x35dd: 0x406b7a20, 0x35de: 0x406b7c20, 0x35df: 0x406b7e20,\n\t0x35e0: 0x406b8020, 0x35e1: 0x406b8220, 0x35e2: 0x406b8420, 0x35e3: 0x406b8620,\n\t0x35e4: 0x406b8820, 0x35e5: 0x406b8a20, 0x35e6: 0x406b8c20, 0x35e7: 0x406b8e20,\n\t0x35e8: 0x406b9020, 0x35e9: 0x406b9220, 0x35ea: 0x406b9420, 0x35eb: 0x406b9620,\n\t0x35ec: 0x406b9820, 0x35ed: 0x406b9a20, 0x35ee: 0x406b9c20, 0x35ef: 0x406b9e20,\n\t0x35f0: 0x406ba020, 0x35f1: 0x406ba220, 0x35f2: 0x406ba420, 0x35f3: 0x406ba620,\n\t0x35f4: 0x406ba820, 0x35f5: 0x406baa20, 0x35f6: 0x406bac20, 0x35f7: 0x406bae20,\n\t0x35f8: 0x406bb020, 0x35f9: 0x406bb220, 0x35fa: 0x406bb420, 0x35fb: 0x406bb620,\n\t0x35fc: 0x406bb820, 0x35fd: 0x406bba20, 0x35fe: 0x406bbc20, 0x35ff: 0x406bbe20,\n\t// Block 0xd8, offset 0x3600\n\t0x3600: 0x406bc020, 0x3601: 0x406bc220, 0x3602: 0x406bc420, 0x3603: 0x406bc620,\n\t0x3604: 0x406bc820, 0x3605: 0x406bca20, 0x3606: 0x406bcc20, 0x3607: 0x406bce20,\n\t0x3608: 0x406bd020, 0x3609: 0x406bd220, 0x360a: 0x406bd420, 0x360b: 0x406bd620,\n\t0x360c: 0x406bd820, 0x360d: 0x406bda20, 0x360e: 0x406bdc20, 0x360f: 0x406bde20,\n\t0x3610: 0x406be020, 0x3611: 0x406be220, 0x3612: 0x406be420, 0x3613: 0x406be620,\n\t0x3614: 0x406be820, 0x3615: 0x406bea20, 0x3616: 0x406bec20, 0x3617: 0x406bee20,\n\t0x3618: 0x406bf020, 0x3619: 0x406bf220, 0x361a: 0x406bf420, 0x361b: 0x406bf620,\n\t0x361c: 0x406bf820, 0x361d: 0x406bfa20, 0x361e: 0x406bfc20, 0x361f: 0x406bfe20,\n\t0x3620: 0x406c0020, 0x3621: 0x406c0220, 0x3622: 0x406c0420, 0x3623: 0x406c0620,\n\t0x3624: 0x406c0820, 0x3625: 0x406c0a20, 0x3626: 0x406c0c20, 0x3627: 0x406c0e20,\n\t0x3628: 0x406c1020, 0x3629: 0x406c1220, 0x362a: 0x406c1420, 0x362b: 0x406c1620,\n\t0x362c: 0x406c1820, 0x362d: 0x406c1a20, 0x362e: 0x406c1c20, 0x362f: 0x406c1e20,\n\t0x3630: 0x406c2020, 0x3631: 0x406c2220, 0x3632: 0x406c2420, 0x3633: 0x406c2620,\n\t0x3634: 0x406c2820, 0x3635: 0x406c2a20, 0x3636: 0x406c2c20, 0x3637: 0x406c2e20,\n\t0x3638: 0x406c3020, 0x3639: 0x406c3220, 0x363a: 0x406c3420, 0x363b: 0x406c3620,\n\t0x363c: 0x406c3820, 0x363d: 0x406c3a20, 0x363e: 0x406c3c20, 0x363f: 0x406c3e20,\n\t// Block 0xd9, offset 0x3640\n\t0x3640: 0x406c4020, 0x3641: 0x406c4220, 0x3642: 0x406c4420, 0x3643: 0x406c4620,\n\t0x3644: 0x406c4820, 0x3645: 0x406c4a20, 0x3646: 0x406c4c20, 0x3647: 0x406c4e20,\n\t0x3648: 0x406c5020, 0x3649: 0x406c5220, 0x364a: 0x406c5420, 0x364b: 0x406c5620,\n\t0x364c: 0x406c5820, 0x364d: 0x406c5a20, 0x364e: 0x406c5c20, 0x364f: 0x406c5e20,\n\t0x3650: 0x406c6020, 0x3651: 0x406c6220, 0x3652: 0x406c6420, 0x3653: 0x406c6620,\n\t0x3654: 0x406c6820, 0x3655: 0x406c6a20, 0x3656: 0x406c6c20, 0x3657: 0x406c6e20,\n\t0x3658: 0x406c7020, 0x3659: 0x406c7220, 0x365a: 0x406c7420, 0x365b: 0x406c7620,\n\t0x365c: 0x406c7820, 0x365d: 0x406c7a20, 0x365e: 0x406c7c20, 0x365f: 0x406c7e20,\n\t0x3660: 0x406c8020, 0x3661: 0x406c8220, 0x3662: 0x406c8420, 0x3663: 0x406c8620,\n\t0x3664: 0x406c8820, 0x3665: 0x406c8a20, 0x3666: 0x406c8c20, 0x3667: 0x406c8e20,\n\t0x3668: 0x406c9020, 0x3669: 0x406c9220, 0x366a: 0x406c9420, 0x366b: 0x406c9620,\n\t0x366c: 0x406c9820, 0x366d: 0x406c9a20, 0x366e: 0x406c9c20, 0x366f: 0x406c9e20,\n\t0x3670: 0x406ca020, 0x3671: 0x406ca220, 0x3672: 0x406ca420, 0x3673: 0x406ca620,\n\t0x3674: 0x406ca820, 0x3675: 0x406caa20, 0x3676: 0x406cac20, 0x3677: 0x406cae20,\n\t0x3678: 0x406cb020, 0x3679: 0x406cb220, 0x367a: 0x406cb420, 0x367b: 0x406cb620,\n\t0x367c: 0x406cb820, 0x367d: 0x406cba20, 0x367e: 0x406cbc20, 0x367f: 0x406cbe20,\n\t// Block 0xda, offset 0x3680\n\t0x3680: 0x406cc020, 0x3681: 0x406cc220, 0x3682: 0x406cc420, 0x3683: 0x406cc620,\n\t0x3684: 0x406cc820, 0x3685: 0x406cca20, 0x3686: 0x406ccc20, 0x3687: 0x406cce20,\n\t0x3688: 0x406cd020, 0x3689: 0x406cd220, 0x368a: 0x406cd420, 0x368b: 0x406cd620,\n\t0x368c: 0x406cd820, 0x368d: 0x406cda20, 0x368e: 0x406cdc20, 0x368f: 0x406cde20,\n\t0x3690: 0x406ce020, 0x3691: 0x406ce220, 0x3692: 0x406ce420, 0x3693: 0x406ce620,\n\t0x3694: 0x406ce820, 0x3695: 0x406cea20, 0x3696: 0x406cec20, 0x3697: 0x406cee20,\n\t0x3698: 0x406cf020, 0x3699: 0x406cf220, 0x369a: 0x406cf420, 0x369b: 0x406cf620,\n\t0x369c: 0x406cf820, 0x369d: 0x406cfa20, 0x369e: 0x406cfc20, 0x369f: 0x406cfe20,\n\t0x36a0: 0x406d0020, 0x36a1: 0x406d0220, 0x36a2: 0x406d0420, 0x36a3: 0x406d0620,\n\t0x36a4: 0x406d0820, 0x36a5: 0x406d0a20, 0x36a6: 0x406d0c20, 0x36a7: 0x406d0e20,\n\t0x36a8: 0x406d1020, 0x36a9: 0x406d1220, 0x36aa: 0x406d1420, 0x36ab: 0x406d1620,\n\t0x36ac: 0x406d1820, 0x36ad: 0x406d1a20, 0x36ae: 0x406d1c20, 0x36af: 0x406d1e20,\n\t0x36b0: 0x406d2020, 0x36b1: 0x406d2220, 0x36b2: 0x406d2420, 0x36b3: 0x406d2620,\n\t0x36b4: 0x406d2820, 0x36b5: 0x406d2a20, 0x36b6: 0x406d2c20, 0x36b7: 0x406d2e20,\n\t0x36b8: 0x406d3020, 0x36b9: 0x406d3220, 0x36ba: 0x406d3420, 0x36bb: 0x406d3620,\n\t0x36bc: 0x406d3820, 0x36bd: 0x406d3a20, 0x36be: 0x406d3c20, 0x36bf: 0x406d3e20,\n\t// Block 0xdb, offset 0x36c0\n\t0x36c0: 0x406d4020, 0x36c1: 0x406d4220, 0x36c2: 0x406d4420, 0x36c3: 0x406d4620,\n\t0x36c4: 0x406d4820, 0x36c5: 0x406d4a20, 0x36c6: 0x406d4c20, 0x36c7: 0x406d4e20,\n\t0x36c8: 0x406d5020, 0x36c9: 0x406d5220, 0x36ca: 0x406d5420, 0x36cb: 0x406d5620,\n\t0x36cc: 0x406d5820, 0x36cd: 0x406d5a20, 0x36ce: 0x406d5c20, 0x36cf: 0x406d5e20,\n\t0x36d0: 0x406d6020, 0x36d1: 0x406d6220, 0x36d2: 0x406d6420, 0x36d3: 0x406d6620,\n\t0x36d4: 0x406d6820, 0x36d5: 0x406d6a20, 0x36d6: 0x406d6c20, 0x36d7: 0x406d6e20,\n\t0x36d8: 0x406d7020, 0x36d9: 0x406d7220, 0x36da: 0x406d7420, 0x36db: 0x406d7620,\n\t0x36dc: 0x406d7820, 0x36dd: 0x406d7a20, 0x36de: 0x406d7c20, 0x36df: 0x406d7e20,\n\t0x36e0: 0x406d8020, 0x36e1: 0x406d8220, 0x36e2: 0x406d8420, 0x36e3: 0x406d8620,\n\t0x36e4: 0x406d8820, 0x36e5: 0x406d8a20, 0x36e6: 0x406d8c20, 0x36e7: 0x406d8e20,\n\t0x36e8: 0x406d9020, 0x36e9: 0x406d9220, 0x36ea: 0x406d9420, 0x36eb: 0x406d9620,\n\t0x36ec: 0x406d9820, 0x36ed: 0x406d9a20, 0x36ee: 0x406d9c20, 0x36ef: 0x406d9e20,\n\t0x36f0: 0x406da020, 0x36f1: 0x406da220, 0x36f2: 0x406da420, 0x36f3: 0x406da620,\n\t0x36f4: 0x406da820, 0x36f5: 0x406daa20, 0x36f6: 0x406dac20, 0x36f7: 0x406dae20,\n\t0x36f8: 0x406db020, 0x36f9: 0x406db220, 0x36fa: 0x406db420, 0x36fb: 0x406db620,\n\t0x36fc: 0x406db820, 0x36fd: 0x406dba20, 0x36fe: 0x406dbc20, 0x36ff: 0x406dbe20,\n\t// Block 0xdc, offset 0x3700\n\t0x3700: 0x406dc020, 0x3701: 0x406dc220, 0x3702: 0x406dc420, 0x3703: 0x406dc620,\n\t0x3704: 0x406dc820, 0x3705: 0x406dca20, 0x3706: 0x406dcc20, 0x3707: 0x406dce20,\n\t0x3708: 0x406dd020, 0x3709: 0x406dd220, 0x370a: 0x406dd420, 0x370b: 0x406dd620,\n\t0x370c: 0x406dd820, 0x370d: 0x406dda20, 0x370e: 0x406ddc20, 0x370f: 0x406dde20,\n\t0x3710: 0x406de020, 0x3711: 0x406de220, 0x3712: 0x406de420, 0x3713: 0x406de620,\n\t0x3714: 0x406de820, 0x3715: 0x406dea20, 0x3716: 0x406dec20, 0x3717: 0x406dee20,\n\t0x3718: 0x406df020, 0x3719: 0x406df220, 0x371a: 0x406df420, 0x371b: 0x406df620,\n\t0x371c: 0x406df820, 0x371d: 0x406dfa20, 0x371e: 0x406dfc20, 0x371f: 0x406dfe20,\n\t0x3720: 0x406e0020, 0x3721: 0x406e0220, 0x3722: 0x406e0420, 0x3723: 0x406e0620,\n\t0x3724: 0x406e0820, 0x3725: 0x406e0a20, 0x3726: 0x406e0c20, 0x3727: 0x406e0e20,\n\t0x3728: 0x406e1020, 0x3729: 0x406e1220, 0x372a: 0x406e1420, 0x372b: 0x406e1620,\n\t0x372c: 0x406e1820, 0x372d: 0x406e1a20, 0x372e: 0x406e1c20, 0x372f: 0x406e1e20,\n\t0x3730: 0x406e2020, 0x3731: 0x406e2220, 0x3732: 0x406e2420, 0x3733: 0x406e2620,\n\t0x3734: 0x406e2820, 0x3735: 0x406e2a20, 0x3736: 0x406e2c20, 0x3737: 0x406e2e20,\n\t0x3738: 0x406e3020, 0x3739: 0x406e3220, 0x373a: 0x406e3420, 0x373b: 0x406e3620,\n\t0x373c: 0x406e3820, 0x373d: 0x406e3a20, 0x373e: 0x406e3c20, 0x373f: 0x406e3e20,\n\t// Block 0xdd, offset 0x3740\n\t0x3740: 0x406e4020, 0x3741: 0x406e4220, 0x3742: 0x406e4420, 0x3743: 0x406e4620,\n\t0x3744: 0x406e4820, 0x3745: 0x406e4a20, 0x3746: 0x406e4c20, 0x3747: 0x406e4e20,\n\t0x3748: 0x406e5020, 0x3749: 0x406e5220, 0x374a: 0x406e5420, 0x374b: 0x406e5620,\n\t0x374c: 0x406e5820, 0x374d: 0x406e5a20, 0x374e: 0x406e5c20, 0x374f: 0x406e5e20,\n\t0x3750: 0x406e6020, 0x3751: 0x406e6220, 0x3752: 0x406e6420, 0x3753: 0x406e6620,\n\t0x3754: 0x406e6820, 0x3755: 0x406e6a20, 0x3756: 0x406e6c20, 0x3757: 0x406e6e20,\n\t0x3758: 0x406e7020, 0x3759: 0x406e7220, 0x375a: 0x406e7420, 0x375b: 0x406e7620,\n\t0x375c: 0x406e7820, 0x375d: 0x406e7a20, 0x375e: 0x406e7c20, 0x375f: 0x406e7e20,\n\t0x3760: 0x406e8020, 0x3761: 0x406e8220, 0x3762: 0x406e8420, 0x3763: 0x406e8620,\n\t0x3764: 0x406e8820, 0x3765: 0x406e8a20, 0x3766: 0x406e8c20, 0x3767: 0x406e8e20,\n\t0x3768: 0x406e9020, 0x3769: 0x406e9220, 0x376a: 0x406e9420, 0x376b: 0x406e9620,\n\t0x376c: 0x406e9820, 0x376d: 0x406e9a20, 0x376e: 0x406e9c20, 0x376f: 0x406e9e20,\n\t0x3770: 0x406ea020, 0x3771: 0x406ea220, 0x3772: 0x406ea420, 0x3773: 0x406ea620,\n\t0x3774: 0x406ea820, 0x3775: 0x406eaa20, 0x3776: 0x406eac20, 0x3777: 0x406eae20,\n\t0x3778: 0x406eb020, 0x3779: 0x406eb220, 0x377a: 0x406eb420, 0x377b: 0x406eb620,\n\t0x377c: 0x406eb820, 0x377d: 0x406eba20, 0x377e: 0x406ebc20, 0x377f: 0x406ebe20,\n\t// Block 0xde, offset 0x3780\n\t0x3780: 0x406ec020, 0x3781: 0x406ec220, 0x3782: 0x406ec420, 0x3783: 0x406ec620,\n\t0x3784: 0x406ec820, 0x3785: 0x406eca20, 0x3786: 0x406ecc20, 0x3787: 0x406ece20,\n\t0x3788: 0x406ed020, 0x3789: 0x406ed220, 0x378a: 0x406ed420, 0x378b: 0x406ed620,\n\t0x378c: 0x406ed820, 0x378d: 0x406eda20, 0x378e: 0x406edc20, 0x378f: 0x406ede20,\n\t0x3790: 0x406ee020, 0x3791: 0x406ee220, 0x3792: 0x406ee420, 0x3793: 0x406ee620,\n\t0x3794: 0x406ee820, 0x3795: 0x406eea20, 0x3796: 0x406eec20, 0x3797: 0x406eee20,\n\t0x3798: 0x406ef020, 0x3799: 0x406ef220, 0x379a: 0x406ef420, 0x379b: 0x406ef620,\n\t0x379c: 0x406ef820, 0x379d: 0x406efa20, 0x379e: 0x406efc20, 0x379f: 0x406efe20,\n\t0x37a0: 0x406f0020, 0x37a1: 0x406f0220, 0x37a2: 0x406f0420, 0x37a3: 0x406f0620,\n\t0x37a4: 0x406f0820, 0x37a5: 0x406f0a20, 0x37a6: 0x406f0c20, 0x37a7: 0x406f0e20,\n\t0x37a8: 0x406f1020, 0x37a9: 0x406f1220, 0x37aa: 0x406f1420, 0x37ab: 0x406f1620,\n\t0x37ac: 0x406f1820, 0x37ad: 0x406f1a20, 0x37ae: 0x406f1c20, 0x37af: 0x406f1e20,\n\t0x37b0: 0x406f2020, 0x37b1: 0x406f2220, 0x37b2: 0x406f2420, 0x37b3: 0x406f2620,\n\t0x37b4: 0x406f2820, 0x37b5: 0x406f2a20, 0x37b6: 0x406f2c20, 0x37b7: 0x406f2e20,\n\t0x37b8: 0x406f3020, 0x37b9: 0x406f3220, 0x37ba: 0x406f3420, 0x37bb: 0x406f3620,\n\t0x37bc: 0x406f3820, 0x37bd: 0x406f3a20, 0x37be: 0x406f3c20, 0x37bf: 0x406f3e20,\n\t// Block 0xdf, offset 0x37c0\n\t0x37c0: 0x406f4020, 0x37c1: 0x406f4220, 0x37c2: 0x406f4420, 0x37c3: 0x406f4620,\n\t0x37c4: 0x406f4820, 0x37c5: 0x406f4a20, 0x37c6: 0x406f4c20, 0x37c7: 0x406f4e20,\n\t0x37c8: 0x406f5020, 0x37c9: 0x406f5220, 0x37ca: 0x406f5420, 0x37cb: 0x406f5620,\n\t0x37cc: 0x406f5820,\n\t0x37d0: 0x401a9020, 0x37d1: 0x401a9220, 0x37d2: 0x401a9420, 0x37d3: 0x401a9620,\n\t0x37d4: 0x401a9820, 0x37d5: 0x401a9a20, 0x37d6: 0x401a9c20, 0x37d7: 0x401a9e20,\n\t0x37d8: 0x401aa020, 0x37d9: 0x401aa220, 0x37da: 0x401aa420, 0x37db: 0x401aa620,\n\t0x37dc: 0x401aa820, 0x37dd: 0x401aaa20, 0x37de: 0x401aac20, 0x37df: 0x401aae20,\n\t0x37e0: 0x401ab020, 0x37e1: 0x401ab220, 0x37e2: 0x401ab420, 0x37e3: 0x401ab620,\n\t0x37e4: 0x401ab820, 0x37e5: 0x401aba20, 0x37e6: 0x401abc20, 0x37e7: 0x401abe20,\n\t0x37e8: 0x401ac020, 0x37e9: 0x401ac220, 0x37ea: 0x401ac420, 0x37eb: 0x401ac620,\n\t0x37ec: 0x401ac820, 0x37ed: 0x401aca20, 0x37ee: 0x401acc20, 0x37ef: 0x401ace20,\n\t0x37f0: 0x401ad020, 0x37f1: 0x401ad220, 0x37f2: 0x401ad420, 0x37f3: 0x401ad620,\n\t0x37f4: 0x401ad820, 0x37f5: 0x401ada20, 0x37f6: 0x401adc20, 0x37f7: 0x401ade20,\n\t0x37f8: 0x401ae020, 0x37f9: 0x401ae220, 0x37fa: 0x401ae420, 0x37fb: 0x401ae620,\n\t0x37fc: 0x401ae820, 0x37fd: 0x401aea20, 0x37fe: 0x401aec20, 0x37ff: 0x401aee20,\n\t// Block 0xe0, offset 0x3800\n\t0x3800: 0x401af020, 0x3801: 0x401af220, 0x3802: 0x401af420, 0x3803: 0x401af620,\n\t0x3804: 0x401af820, 0x3805: 0x401afa20, 0x3806: 0x401afc20,\n\t0x3810: 0x406f6620, 0x3811: 0x406f6820, 0x3812: 0x406f6a20, 0x3813: 0x406f6c20,\n\t0x3814: 0x406f6e20, 0x3815: 0x406f7020, 0x3816: 0x406f7220, 0x3817: 0x406f7420,\n\t0x3818: 0x406f7620, 0x3819: 0x406f7820, 0x381a: 0x406f7a20, 0x381b: 0x406f7c20,\n\t0x381c: 0x406f7e20, 0x381d: 0x406f8020, 0x381e: 0x406f8220, 0x381f: 0x406f8420,\n\t0x3820: 0x406f8620, 0x3821: 0x406f8820, 0x3822: 0x406f8a20, 0x3823: 0x406f8c20,\n\t0x3824: 0x406f8e20, 0x3825: 0x406f9020, 0x3826: 0x406f9220, 0x3827: 0x406f9420,\n\t0x3828: 0x406f9620, 0x3829: 0x406f9820, 0x382a: 0x406f9e20, 0x382b: 0x406f9a20,\n\t0x382c: 0x406fa020, 0x382d: 0x406f9c20, 0x382e: 0x406fa220, 0x382f: 0x406fa420,\n\t0x3830: 0x406fa620, 0x3831: 0x406fa820, 0x3832: 0x406faa20, 0x3833: 0x406fac20,\n\t0x3834: 0x406fae20, 0x3835: 0x406fb020, 0x3836: 0x406fb220, 0x3837: 0x406fb420,\n\t0x3838: 0x406f5a20, 0x3839: 0x406f5c20, 0x383a: 0x406f5e20, 0x383b: 0x406f6020,\n\t0x383c: 0x406f6420, 0x383d: 0x406f6220, 0x383e: 0x40025620, 0x383f: 0x4002fe20,\n\t// Block 0xe1, offset 0x3840\n\t0x3840: 0x405b8020, 0x3841: 0x405b8220, 0x3842: 0x405b8420, 0x3843: 0x405b8620,\n\t0x3844: 0x405b8820, 0x3845: 0x405b8a20, 0x3846: 0x405b8c20, 0x3847: 0x405b8e20,\n\t0x3848: 0x405b9020, 0x3849: 0x405b9220, 0x384a: 0x405b9420, 0x384b: 0x405b9620,\n\t0x384c: 0x405b9820, 0x384d: 0x405b9a20, 0x384e: 0x405b9c20, 0x384f: 0x405b9e20,\n\t0x3850: 0x405ba020, 0x3851: 0x405ba220, 0x3852: 0x405ba420, 0x3853: 0x405ba620,\n\t0x3854: 0x405ba820, 0x3855: 0x405baa20, 0x3856: 0x405bac20, 0x3857: 0x405bae20,\n\t0x3858: 0x405bb020, 0x3859: 0x405bb220, 0x385a: 0x405bb420, 0x385b: 0x405bb620,\n\t0x385c: 0x405bb820, 0x385d: 0x405bba20, 0x385e: 0x405bbc20, 0x385f: 0x405bbe20,\n\t0x3860: 0x405bc020, 0x3861: 0x405bc220, 0x3862: 0x405bc420, 0x3863: 0x405bc620,\n\t0x3864: 0x405bc820, 0x3865: 0x405bca20, 0x3866: 0x405bcc20, 0x3867: 0x405bce20,\n\t0x3868: 0x405bd020, 0x3869: 0x405bd220, 0x386a: 0x405bd420, 0x386b: 0x405bd620,\n\t0x386c: 0x405bd820, 0x386d: 0x405bda20, 0x386e: 0x405bdc20, 0x386f: 0x405bde20,\n\t0x3870: 0x405be020, 0x3871: 0x405be220, 0x3872: 0x405be420, 0x3873: 0x405be620,\n\t0x3874: 0x405be820, 0x3875: 0x405bea20, 0x3876: 0x405bec20, 0x3877: 0x405bee20,\n\t0x3878: 0x405bf020, 0x3879: 0x405bf220, 0x387a: 0x405bf420, 0x387b: 0x405bf620,\n\t0x387c: 0x405bf820, 0x387d: 0x405bfa20, 0x387e: 0x405bfc20, 0x387f: 0x405bfe20,\n\t// Block 0xe2, offset 0x3880\n\t0x3880: 0x405c0020, 0x3881: 0x405c0220, 0x3882: 0x405c0420, 0x3883: 0x405c0620,\n\t0x3884: 0x405c0820, 0x3885: 0x405c0a20, 0x3886: 0x405c0c20, 0x3887: 0x405c0e20,\n\t0x3888: 0x405c1020, 0x3889: 0x405c1220, 0x388a: 0x405c1420, 0x388b: 0x405c1620,\n\t0x388c: 0x405c1820, 0x388d: 0x405c1a20, 0x388e: 0x405c1c20, 0x388f: 0x405c1e20,\n\t0x3890: 0x405c2020, 0x3891: 0x405c2220, 0x3892: 0x405c2420, 0x3893: 0x405c2620,\n\t0x3894: 0x405c2820, 0x3895: 0x405c2a20, 0x3896: 0x405c2c20, 0x3897: 0x405c2e20,\n\t0x3898: 0x405c3020, 0x3899: 0x405c3220, 0x389a: 0x405c3420, 0x389b: 0x405c3620,\n\t0x389c: 0x405c3820, 0x389d: 0x405c3a20, 0x389e: 0x405c3c20, 0x389f: 0x405c3e20,\n\t0x38a0: 0x405c4020, 0x38a1: 0x405c4220, 0x38a2: 0x405c4420, 0x38a3: 0x405c4620,\n\t0x38a4: 0x405c4820, 0x38a5: 0x405c4a20, 0x38a6: 0x405c4c20, 0x38a7: 0x405c4e20,\n\t0x38a8: 0x405c5020, 0x38a9: 0x405c5220, 0x38aa: 0x405c5420, 0x38ab: 0x405c5620,\n\t0x38ac: 0x405c5820, 0x38ad: 0x405c5a20, 0x38ae: 0x405c5c20, 0x38af: 0x405c5e20,\n\t0x38b0: 0x405c6020, 0x38b1: 0x405c6220, 0x38b2: 0x405c6420, 0x38b3: 0x405c6620,\n\t0x38b4: 0x405c6820, 0x38b5: 0x405c6a20, 0x38b6: 0x405c6c20, 0x38b7: 0x405c6e20,\n\t0x38b8: 0x405c7020, 0x38b9: 0x405c7220, 0x38ba: 0x405c7420, 0x38bb: 0x405c7620,\n\t0x38bc: 0x405c7820, 0x38bd: 0x405c7a20, 0x38be: 0x405c7c20, 0x38bf: 0x405c7e20,\n\t// Block 0xe3, offset 0x38c0\n\t0x38c0: 0x405c8020, 0x38c1: 0x405c8220, 0x38c2: 0x405c8420, 0x38c3: 0x405c8620,\n\t0x38c4: 0x405c8820, 0x38c5: 0x405c8a20, 0x38c6: 0x405c8c20, 0x38c7: 0x405c8e20,\n\t0x38c8: 0x405c9020, 0x38c9: 0x405c9220, 0x38ca: 0x405c9420, 0x38cb: 0x405c9620,\n\t0x38cc: 0x405c9820, 0x38cd: 0x405c9a20, 0x38ce: 0x405c9c20, 0x38cf: 0x405c9e20,\n\t0x38d0: 0x405ca020, 0x38d1: 0x405ca220, 0x38d2: 0x405ca420, 0x38d3: 0x405ca620,\n\t0x38d4: 0x405ca820, 0x38d5: 0x405caa20, 0x38d6: 0x405cac20, 0x38d7: 0x405cae20,\n\t0x38d8: 0x405cb020, 0x38d9: 0x405cb220, 0x38da: 0x405cb420, 0x38db: 0x405cb620,\n\t0x38dc: 0x405cb820, 0x38dd: 0x405cba20, 0x38de: 0x405cbc20, 0x38df: 0x405cbe20,\n\t0x38e0: 0x405cc020, 0x38e1: 0x405cc220, 0x38e2: 0x405cc420, 0x38e3: 0x405cc620,\n\t0x38e4: 0x405cc820, 0x38e5: 0x405cca20, 0x38e6: 0x405ccc20, 0x38e7: 0x405cce20,\n\t0x38e8: 0x405cd020, 0x38e9: 0x405cd220, 0x38ea: 0x405cd420, 0x38eb: 0x405cd620,\n\t0x38ec: 0x405cd820, 0x38ed: 0x405cda20, 0x38ee: 0x405cdc20, 0x38ef: 0x405cde20,\n\t0x38f0: 0x405ce020, 0x38f1: 0x405ce220, 0x38f2: 0x405ce420, 0x38f3: 0x405ce620,\n\t0x38f4: 0x405ce820, 0x38f5: 0x405cea20, 0x38f6: 0x405cec20, 0x38f7: 0x405cee20,\n\t0x38f8: 0x405cf020, 0x38f9: 0x405cf220, 0x38fa: 0x405cf420, 0x38fb: 0x405cf620,\n\t0x38fc: 0x405cf820, 0x38fd: 0x405cfa20, 0x38fe: 0x405cfc20, 0x38ff: 0x405cfe20,\n\t// Block 0xe4, offset 0x3900\n\t0x3900: 0x405d0020, 0x3901: 0x405d0220, 0x3902: 0x405d0420, 0x3903: 0x405d0620,\n\t0x3904: 0x405d0820, 0x3905: 0x405d0a20, 0x3906: 0x405d0c20, 0x3907: 0x405d0e20,\n\t0x3908: 0x405d1020, 0x3909: 0x405d1220, 0x390a: 0x405d1420, 0x390b: 0x405d1620,\n\t0x390c: 0x405d1820, 0x390d: 0x405d1a20, 0x390e: 0x405d1c20, 0x390f: 0x405d1e20,\n\t0x3910: 0x405d2020, 0x3911: 0x405d2220, 0x3912: 0x405d2420, 0x3913: 0x405d2620,\n\t0x3914: 0x405d2820, 0x3915: 0x405d2a20, 0x3916: 0x405d2c20, 0x3917: 0x405d2e20,\n\t0x3918: 0x405d3020, 0x3919: 0x405d3220, 0x391a: 0x405d3420, 0x391b: 0x405d3620,\n\t0x391c: 0x405d3820, 0x391d: 0x405d3a20, 0x391e: 0x405d3c20, 0x391f: 0x405d3e20,\n\t0x3920: 0x405d4020, 0x3921: 0x405d4220, 0x3922: 0x405d4420, 0x3923: 0x405d4620,\n\t0x3924: 0x405d4820, 0x3925: 0x405d4a20, 0x3926: 0x405d4c20, 0x3927: 0x405d4e20,\n\t0x3928: 0x405d5020, 0x3929: 0x405d5220, 0x392a: 0x405d5420, 0x392b: 0x405d5620,\n\t0x392c: 0x405d5820, 0x392d: 0x405d5a20, 0x392e: 0x405d5c20, 0x392f: 0x405d5e20,\n\t0x3930: 0x405d6020, 0x3931: 0x405d6220, 0x3932: 0x405d6420, 0x3933: 0x405d6620,\n\t0x3934: 0x405d6820, 0x3935: 0x405d6a20, 0x3936: 0x405d6c20, 0x3937: 0x405d6e20,\n\t0x3938: 0x405d7020, 0x3939: 0x405d7220, 0x393a: 0x405d7420, 0x393b: 0x405d7620,\n\t0x393c: 0x405d7820, 0x393d: 0x405d7a20, 0x393e: 0x405d7c20, 0x393f: 0x405d7e20,\n\t// Block 0xe5, offset 0x3940\n\t0x3940: 0x405d8020, 0x3941: 0x405d8220, 0x3942: 0x405d8420, 0x3943: 0x405d8620,\n\t0x3944: 0x405d8820, 0x3945: 0x405d8a20, 0x3946: 0x405d8c20, 0x3947: 0x405d8e20,\n\t0x3948: 0x405d9020, 0x3949: 0x405d9220, 0x394a: 0x405d9420, 0x394b: 0x405d9620,\n\t0x394c: 0x405d9820, 0x394d: 0x40025820, 0x394e: 0x40030020, 0x394f: 0x4002d820,\n\t0x3950: 0x005c3084, 0x3951: 0x005c5484, 0x3952: 0x005c8e84, 0x3953: 0xe00020fb,\n\t0x3954: 0xe00020fe, 0x3955: 0xe0002101, 0x3956: 0xe0002104, 0x3957: 0xe0002107,\n\t0x3958: 0xe000210a, 0x3959: 0xe000210d, 0x395a: 0xe0002110, 0x395b: 0xe0002113,\n\t0x395c: 0xe0002116, 0x395d: 0xe0002119, 0x395e: 0xe000211c, 0x395f: 0xe000211f,\n\t0x3960: 0xe00001cd, 0x3961: 0xe0000261, 0x3962: 0xe0000379, 0x3963: 0xe0000453,\n\t0x3964: 0xe0000528, 0x3965: 0xe00005f2, 0x3966: 0xe00006bd, 0x3967: 0xe0000765,\n\t0x3968: 0xe0000811, 0x3969: 0xe00008b6, 0x396a: 0x005c5c84, 0x396b: 0x005d2284,\n\t// Block 0xe6, offset 0x3980\n\t0x3980: 0x0033ec88, 0x3981: 0x4033ec20, 0x3982: 0x0033fa88, 0x3983: 0x4033fa20,\n\t0x3984: 0x00340488, 0x3985: 0x40340420, 0x3986: 0x00343488, 0x3987: 0x40343420,\n\t0x3988: 0x00344e88, 0x3989: 0x40344e20, 0x398a: 0x0035a288, 0x398b: 0x4035a220,\n\t0x398c: 0x0035f088, 0x398d: 0x4035f020, 0x398e: 0x00366e88, 0x398f: 0x40366e20,\n\t0x3990: 0x00367c88, 0x3991: 0x40367c20, 0x3992: 0x0036a688, 0x3993: 0x4036a620,\n\t0x3994: 0x0036c088, 0x3995: 0x4036c020, 0x3996: 0x0036c288, 0x3997: 0x4036c220,\n\t0x3998: 0x0036de88, 0x3999: 0x4036de20, 0x399a: 0x0036e888, 0x399b: 0x4036e820,\n\t0x399c: 0x0036f288, 0x399d: 0x4036f220, 0x399e: 0x00372488, 0x399f: 0x40372420,\n\t0x39a0: 0x00360a88, 0x39a1: 0x40360a20, 0x39a2: 0x00339e88, 0x39a3: 0x40339e20,\n\t0x39a4: 0x0034a288, 0x39a5: 0x4034a220, 0x39a6: 0x0034b888, 0x39a7: 0x4034b820,\n\t0x39a8: 0x0034ee8a, 0x39a9: 0x0034ee84, 0x39aa: 0x0034ee8a, 0x39ab: 0x0034ee84,\n\t0x39ac: 0x0034ee8a, 0x39ad: 0x0034ee84, 0x39ae: 0x0034ee84, 0x39af: 0xae608402,\n\t0x39b0: 0xa0000000, 0x39b1: 0xa0000000, 0x39b2: 0xa0000000, 0x39b3: 0x4004e020,\n\t0x39b4: 0x84e619e1, 0x39b5: 0x84e61a0a, 0x39b6: 0x84e61a1b, 0x39b7: 0x84e61ab9,\n\t0x39b8: 0x84e61b3a, 0x39b9: 0x84e61b3f, 0x39ba: 0x84e61b47, 0x39bb: 0x84e61af0,\n\t0x39bc: 0xae605f02, 0x39bd: 0xae605f02, 0x39be: 0x40054c20, 0x39bf: 0x40367220,\n\t// Block 0xe7, offset 0x39c0\n\t0x39c0: 0x00339488, 0x39c1: 0x40339420, 0x39c2: 0x00341288, 0x39c3: 0x40341220,\n\t0x39c4: 0x0033d288, 0x39c5: 0x4033d220, 0x39c6: 0x00364288, 0x39c7: 0x40364220,\n\t0x39c8: 0x00340e88, 0x39c9: 0x40340e20, 0x39ca: 0x00356088, 0x39cb: 0x40356020,\n\t0x39cc: 0x00355488, 0x39cd: 0x40355420, 0x39ce: 0x00360c88, 0x39cf: 0x40360c20,\n\t0x39d0: 0x00361688, 0x39d1: 0x40361620, 0x39d2: 0x00362088, 0x39d3: 0x40362020,\n\t0x39d4: 0x0035de88, 0x39d5: 0x4035de20, 0x39d6: 0x00366488, 0x39d7: 0x40366420,\n\t0x39df: 0x84e61b67,\n\t0x39e0: 0x405d9a20, 0x39e1: 0x405d9c20, 0x39e2: 0x405d9e20, 0x39e3: 0x405da020,\n\t0x39e4: 0x405da220, 0x39e5: 0x405da420, 0x39e6: 0x405da620, 0x39e7: 0x405da820,\n\t0x39e8: 0x405daa20, 0x39e9: 0x405dac20, 0x39ea: 0x405dae20, 0x39eb: 0x405db020,\n\t0x39ec: 0x405db220, 0x39ed: 0x405db420, 0x39ee: 0x405db620, 0x39ef: 0x405db820,\n\t0x39f0: 0x405dba20, 0x39f1: 0x405dbc20, 0x39f2: 0x405dbe20, 0x39f3: 0x405dc020,\n\t0x39f4: 0x405dc220, 0x39f5: 0x405dc420, 0x39f6: 0x405dc620, 0x39f7: 0x405dc820,\n\t0x39f8: 0x405dca20, 0x39f9: 0x405dcc20, 0x39fa: 0x405dce20, 0x39fb: 0x405dd020,\n\t0x39fc: 0x405dd220, 0x39fd: 0x405dd420, 0x39fe: 0x405dd620, 0x39ff: 0x405dd820,\n\t// Block 0xe8, offset 0x3a00\n\t0x3a00: 0x405dda20, 0x3a01: 0x405ddc20, 0x3a02: 0x405dde20, 0x3a03: 0x405de020,\n\t0x3a04: 0x405de220, 0x3a05: 0x405de420, 0x3a06: 0x405de620, 0x3a07: 0x405de820,\n\t0x3a08: 0x405dea20, 0x3a09: 0x405dec20, 0x3a0a: 0x405dee20, 0x3a0b: 0x405df020,\n\t0x3a0c: 0x405df220, 0x3a0d: 0x405df420, 0x3a0e: 0x405df620, 0x3a0f: 0x405df820,\n\t0x3a10: 0x405dfa20, 0x3a11: 0x405dfc20, 0x3a12: 0x405dfe20, 0x3a13: 0x405e0020,\n\t0x3a14: 0x405e0220, 0x3a15: 0x405e0420, 0x3a16: 0x405e0620, 0x3a17: 0x405e0820,\n\t0x3a18: 0x405e0a20, 0x3a19: 0x405e0c20, 0x3a1a: 0x405e0e20, 0x3a1b: 0x405e1020,\n\t0x3a1c: 0x405e1220, 0x3a1d: 0x405e1420, 0x3a1e: 0x405e1620, 0x3a1f: 0x405e1820,\n\t0x3a20: 0x405e1a20, 0x3a21: 0x405e1c20, 0x3a22: 0x405e1e20, 0x3a23: 0x405e2020,\n\t0x3a24: 0x405e2220, 0x3a25: 0x405e2420, 0x3a26: 0x405e2620, 0x3a27: 0x405e2820,\n\t0x3a28: 0x405e2a20, 0x3a29: 0x405e2c20, 0x3a2a: 0x405e2e20, 0x3a2b: 0x405e3020,\n\t0x3a2c: 0x405e3220, 0x3a2d: 0x405e3420, 0x3a2e: 0x405e3620, 0x3a2f: 0x405e3820,\n\t0x3a30: 0xae60ef02, 0x3a31: 0xae60f002, 0x3a32: 0x40038220, 0x3a33: 0x40030220,\n\t0x3a34: 0x4002b820, 0x3a35: 0x40025a20, 0x3a36: 0x40026a20, 0x3a37: 0x4002da20,\n\t// Block 0xe9, offset 0x3a40\n\t0x3a40: 0x4006ba20, 0x3a41: 0x4006bc20, 0x3a42: 0x4006be20, 0x3a43: 0x4006c020,\n\t0x3a44: 0x4006c220, 0x3a45: 0x4006c420, 0x3a46: 0x4006c620, 0x3a47: 0x4006c820,\n\t0x3a48: 0x4006ca20, 0x3a49: 0x4006cc20, 0x3a4a: 0x4006ce20, 0x3a4b: 0x4006d020,\n\t0x3a4c: 0x4006d220, 0x3a4d: 0x4006d420, 0x3a4e: 0x4006d620, 0x3a4f: 0x4006d820,\n\t0x3a50: 0x4006da20, 0x3a51: 0x4006dc20, 0x3a52: 0x4006de20, 0x3a53: 0x4006e020,\n\t0x3a54: 0x4006e220, 0x3a55: 0x4006e420, 0x3a56: 0x4006e620, 0x3a57: 0x4006e820,\n\t0x3a58: 0x4006ea20, 0x3a59: 0x4006ec20, 0x3a5a: 0x4006ee20, 0x3a5b: 0x4006f020,\n\t0x3a5c: 0x4006f220, 0x3a5d: 0x4006f420, 0x3a5e: 0x4006f620, 0x3a5f: 0x4006f820,\n\t0x3a60: 0x4006fa20, 0x3a61: 0x4006fc20, 0x3a62: 0x0031e488, 0x3a63: 0x4031e420,\n\t0x3a64: 0x0031f888, 0x3a65: 0x4031f820, 0x3a66: 0x002d8c88, 0x3a67: 0x402d8c20,\n\t0x3a68: 0xe0000fd5, 0x3a69: 0xe0000fd2, 0x3a6a: 0x0031ae88, 0x3a6b: 0x4031ae20,\n\t0x3a6c: 0x0031b088, 0x3a6d: 0x4031b020, 0x3a6e: 0x0031b288, 0x3a6f: 0x4031b220,\n\t0x3a70: 0x402d1020, 0x3a71: 0x402fee20, 0x3a72: 0xe00009cf, 0x3a73: 0xe00009cc,\n\t0x3a74: 0xe00009ff, 0x3a75: 0xe00009fc, 0x3a76: 0xe0000a05, 0x3a77: 0xe0000a02,\n\t0x3a78: 0xe0000a0e, 0x3a79: 0xe0000a0b, 0x3a7a: 0xe0000a15, 0x3a7b: 0xe0000a11,\n\t0x3a7c: 0xe0000a1c, 0x3a7d: 0xe0000a19, 0x3a7e: 0x002c6088, 0x3a7f: 0x402c6020,\n\t// Block 0xea, offset 0x3a80\n\t0x3a80: 0x002e1488, 0x3a81: 0x402e1420, 0x3a82: 0x002e1688, 0x3a83: 0x402e1620,\n\t0x3a84: 0x002e1888, 0x3a85: 0x402e1820, 0x3a86: 0x002e3288, 0x3a87: 0x402e3220,\n\t0x3a88: 0x002e3688, 0x3a89: 0x402e3620, 0x3a8a: 0x002f1888, 0x3a8b: 0x402f1820,\n\t0x3a8c: 0x002f0888, 0x3a8d: 0x402f0820, 0x3a8e: 0xe0000ea1, 0x3a8f: 0xe0000e9e,\n\t0x3a90: 0x002f3888, 0x3a91: 0x402f3820, 0x3a92: 0x002f4688, 0x3a93: 0x402f4620,\n\t0x3a94: 0x002f4888, 0x3a95: 0x402f4820, 0x3a96: 0x002f5e88, 0x3a97: 0x402f5e20,\n\t0x3a98: 0x002f6088, 0x3a99: 0x402f6020, 0x3a9a: 0x002f8a88, 0x3a9b: 0x402f8a20,\n\t0x3a9c: 0x002fe488, 0x3a9d: 0x402fe420, 0x3a9e: 0x0030c888, 0x3a9f: 0x4030c820,\n\t0x3aa0: 0xe00010c6, 0x3aa1: 0xe00010c3, 0x3aa2: 0x00316288, 0x3aa3: 0x40316220,\n\t0x3aa4: 0x00319088, 0x3aa5: 0x40319020, 0x3aa6: 0x00319288, 0x3aa7: 0x40319220,\n\t0x3aa8: 0x00319c88, 0x3aa9: 0x40319c20, 0x3aaa: 0x00319e88, 0x3aab: 0x40319e20,\n\t0x3aac: 0x0031a088, 0x3aad: 0x4031a020, 0x3aae: 0x0031a288, 0x3aaf: 0x4031a220,\n\t0x3ab0: 0x0031a294, 0x3ab1: 0x402c9420, 0x3ab2: 0x402e6620, 0x3ab3: 0x402e9c20,\n\t0x3ab4: 0x402ed820, 0x3ab5: 0x402fe020, 0x3ab6: 0x402fe220, 0x3ab7: 0x40306220,\n\t0x3ab8: 0x4031a420, 0x3ab9: 0xe0000abc, 0x3aba: 0xe0000ab9, 0x3abb: 0xe0000b92,\n\t0x3abc: 0xe0000b8f, 0x3abd: 0xe0000bdc, 0x3abe: 0x002d5688, 0x3abf: 0x402d5620,\n\t// Block 0xeb, offset 0x3ac0\n\t0x3ac0: 0x002e7088, 0x3ac1: 0x402e7020, 0x3ac2: 0xe0000f08, 0x3ac3: 0xe0000f05,\n\t0x3ac4: 0xe0000f6d, 0x3ac5: 0xe0000f6a, 0x3ac6: 0xe0000fb7, 0x3ac7: 0xe0000fb4,\n\t0x3ac8: 0x4006fe20, 0x3ac9: 0x40070020, 0x3aca: 0x40070220, 0x3acb: 0x0031e688,\n\t0x3acc: 0x4031e620, 0x3acd: 0x00308888, 0x3ace: 0x402e5c20,\n\t0x3ad0: 0x002ec488, 0x3ad1: 0x402ec420, 0x3ad2: 0x002c4c88, 0x3ad3: 0x402c4c20,\n\t0x3ae0: 0xe0000bd6, 0x3ae1: 0xe0000bd3, 0x3ae2: 0xe0000ca5, 0x3ae3: 0xe0000ca2,\n\t0x3ae4: 0xe0000d75, 0x3ae5: 0xe0000d72, 0x3ae6: 0xe0000ee2, 0x3ae7: 0xe0000edf,\n\t0x3ae8: 0xe0000f4d, 0x3ae9: 0xe0000f4a, 0x3aea: 0x002d8088,\n\t// Block 0xec, offset 0x3b00\n\t0x3b38: 0xf0001414, 0x3b39: 0xe0000e97, 0x3b3a: 0x4030a820, 0x3b3b: 0x402d2020,\n\t0x3b3c: 0x402f4a20, 0x3b3d: 0x402e9820, 0x3b3e: 0x402db220, 0x3b3f: 0x402e9a20,\n\t// Block 0xed, offset 0x3b40\n\t0x3b40: 0x4045aa20, 0x3b41: 0x4045ac20, 0x3b42: 0x4045ae20, 0x3b43: 0x4045b020,\n\t0x3b44: 0x4045b220, 0x3b45: 0x4045b420, 0x3b46: 0x820922db, 0x3b47: 0x4045b820,\n\t0x3b48: 0x4045ba20, 0x3b49: 0x4045bc20, 0x3b4a: 0x4045be20, 0x3b4b: 0xa000f302,\n\t0x3b4c: 0x4045c020, 0x3b4d: 0x4045c220, 0x3b4e: 0x4045c420, 0x3b4f: 0x4045c620,\n\t0x3b50: 0x4045c820, 0x3b51: 0x4045ca20, 0x3b52: 0x4045cc20, 0x3b53: 0x4045ce20,\n\t0x3b54: 0x4045d020, 0x3b55: 0x4045d220, 0x3b56: 0x4045d420, 0x3b57: 0x4045d620,\n\t0x3b58: 0x4045d820, 0x3b59: 0x4045da20, 0x3b5a: 0x4045dc20, 0x3b5b: 0x4045de20,\n\t0x3b5c: 0x4045e020, 0x3b5d: 0x4045e220, 0x3b5e: 0x4045e420, 0x3b5f: 0x4045e620,\n\t0x3b60: 0x4045e820, 0x3b61: 0x4045ea20, 0x3b62: 0x4045ec20, 0x3b63: 0x4045ee20,\n\t0x3b64: 0x4045f020, 0x3b65: 0x4045f220, 0x3b66: 0x4045f420, 0x3b67: 0x4045f620,\n\t0x3b68: 0x40075020, 0x3b69: 0x40075220, 0x3b6a: 0x40075420, 0x3b6b: 0x40075620,\n\t0x3b70: 0x40284820, 0x3b71: 0x40284a20, 0x3b72: 0x40284c20, 0x3b73: 0x40284e20,\n\t0x3b74: 0x40285020, 0x3b75: 0x40285220, 0x3b76: 0x40075820, 0x3b77: 0x40075a20,\n\t0x3b78: 0x4027f020, 0x3b79: 0x40075c20,\n\t// Block 0xee, offset 0x3b80\n\t0x3b80: 0x404baa20, 0x3b81: 0x404bac20, 0x3b82: 0x404bae20, 0x3b83: 0x404bb020,\n\t0x3b84: 0x404bb220, 0x3b85: 0x404bb420, 0x3b86: 0x404bb620, 0x3b87: 0x404bb820,\n\t0x3b88: 0x404bc220, 0x3b89: 0x404bc420, 0x3b8a: 0x404bc620, 0x3b8b: 0x404bc820,\n\t0x3b8c: 0x404bca20, 0x3b8d: 0x404bcc20, 0x3b8e: 0x404bce20, 0x3b8f: 0x404bd020,\n\t0x3b90: 0x404bd220, 0x3b91: 0x404bd420, 0x3b92: 0x404bd620, 0x3b93: 0x404bd820,\n\t0x3b94: 0x404bdc20, 0x3b95: 0x404bde20, 0x3b96: 0x404be020, 0x3b97: 0x404be220,\n\t0x3b98: 0x404be820, 0x3b99: 0x404bee20, 0x3b9a: 0x404bf020, 0x3b9b: 0x404bf420,\n\t0x3b9c: 0x404bf620, 0x3b9d: 0x404bfc20, 0x3b9e: 0x404c0620, 0x3b9f: 0x404c0820,\n\t0x3ba0: 0x404c0a20, 0x3ba1: 0x404c0c20, 0x3ba2: 0x404bfe20, 0x3ba3: 0x404c0020,\n\t0x3ba4: 0x404c0220, 0x3ba5: 0x404c0420, 0x3ba6: 0x404c0e20, 0x3ba7: 0x404bda20,\n\t0x3ba8: 0x404be420, 0x3ba9: 0x404bba20, 0x3baa: 0x404bbc20, 0x3bab: 0x404bbe20,\n\t0x3bac: 0x404bc020, 0x3bad: 0x404be620, 0x3bae: 0x404bf220, 0x3baf: 0x404bf820,\n\t0x3bb0: 0x404bfa20, 0x3bb1: 0x404bea20, 0x3bb2: 0x404bec20, 0x3bb3: 0x404c1020,\n\t0x3bb4: 0x4005e820, 0x3bb5: 0x4005ea20, 0x3bb6: 0x40031820, 0x3bb7: 0x40031a20,\n\t// Block 0xef, offset 0x3bc0\n\t0x3bc0: 0xa000f302, 0x3bc1: 0xa000f402, 0x3bc2: 0x4045f820, 0x3bc3: 0x4045fa20,\n\t0x3bc4: 0x4045fc20, 0x3bc5: 0x4045fe20, 0x3bc6: 0x40460020, 0x3bc7: 0x40460220,\n\t0x3bc8: 0x40460420, 0x3bc9: 0x40460620, 0x3bca: 0x40460820, 0x3bcb: 0x40460a20,\n\t0x3bcc: 0x40460c20, 0x3bcd: 0x40460e20, 0x3bce: 0x40461020, 0x3bcf: 0x40461220,\n\t0x3bd0: 0x40461420, 0x3bd1: 0x40461620, 0x3bd2: 0x40461820, 0x3bd3: 0x40461a20,\n\t0x3bd4: 0x40461c20, 0x3bd5: 0x40461e20, 0x3bd6: 0x40462020, 0x3bd7: 0x40462220,\n\t0x3bd8: 0x40462420, 0x3bd9: 0x40462620, 0x3bda: 0x40462820, 0x3bdb: 0x40462a20,\n\t0x3bdc: 0x40462c20, 0x3bdd: 0x40462e20, 0x3bde: 0x40463020, 0x3bdf: 0x40463220,\n\t0x3be0: 0x40463420, 0x3be1: 0x40463620, 0x3be2: 0x40463820, 0x3be3: 0x40463a20,\n\t0x3be4: 0x40463c20, 0x3be5: 0x40463e20, 0x3be6: 0x40464020, 0x3be7: 0x40464220,\n\t0x3be8: 0x40464420, 0x3be9: 0x40464620, 0x3bea: 0x40464820, 0x3beb: 0x40464a20,\n\t0x3bec: 0x40464c20, 0x3bed: 0x40464e20, 0x3bee: 0x40465020, 0x3bef: 0x40465220,\n\t0x3bf0: 0x40465420, 0x3bf1: 0x40465620, 0x3bf2: 0x40465820, 0x3bf3: 0x40465a20,\n\t0x3bf4: 0x40465c20, 0x3bf5: 0x40465e20, 0x3bf6: 0x40466020, 0x3bf7: 0x40466220,\n\t0x3bf8: 0x40466420, 0x3bf9: 0x40466620, 0x3bfa: 0x40466820, 0x3bfb: 0x40466a20,\n\t0x3bfc: 0x40466c20, 0x3bfd: 0x40466e20, 0x3bfe: 0x40467020, 0x3bff: 0x40467220,\n\t// Block 0xf0, offset 0x3c00\n\t0x3c00: 0x40467420, 0x3c01: 0x40467620, 0x3c02: 0x40467820, 0x3c03: 0x40467a20,\n\t0x3c04: 0x8209233e,\n\t0x3c0e: 0x40031020, 0x3c0f: 0x40031220,\n\t0x3c10: 0xe000018b, 0x3c11: 0xe000021c, 0x3c12: 0xe0000337, 0x3c13: 0xe0000411,\n\t0x3c14: 0xe00004e6, 0x3c15: 0xe00005b0, 0x3c16: 0xe000067b, 0x3c17: 0xe0000723,\n\t0x3c18: 0xe00007cf, 0x3c19: 0xe0000874,\n\t0x3c20: 0xae600000, 0x3c21: 0xae600000, 0x3c22: 0xae600000, 0x3c23: 0xae600000,\n\t0x3c24: 0xae600000, 0x3c25: 0xae600000, 0x3c26: 0xae600000, 0x3c27: 0xae600000,\n\t0x3c28: 0xae600000, 0x3c29: 0xae600000, 0x3c2a: 0xae600000, 0x3c2b: 0xae600000,\n\t0x3c2c: 0xae600000, 0x3c2d: 0xae600000, 0x3c2e: 0xae600000, 0x3c2f: 0xae600000,\n\t0x3c30: 0xae600000, 0x3c31: 0xae600000, 0x3c32: 0x40404620, 0x3c33: 0x00404684,\n\t0x3c34: 0x00404684, 0x3c35: 0x00404684, 0x3c36: 0x00404684, 0x3c37: 0x00404684,\n\t0x3c38: 0x40056e20, 0x3c39: 0x40057020, 0x3c3a: 0x40057220, 0x3c3b: 0x40404820,\n\t// Block 0xf1, offset 0x3c40\n\t0x3c40: 0xe00001a9, 0x3c41: 0xe000023d, 0x3c42: 0xe0000355, 0x3c43: 0xe000042f,\n\t0x3c44: 0xe0000504, 0x3c45: 0xe00005ce, 0x3c46: 0xe0000699, 0x3c47: 0xe0000741,\n\t0x3c48: 0xe00007ed, 0x3c49: 0xe0000892, 0x3c4a: 0x404dd220, 0x3c4b: 0x404dd420,\n\t0x3c4c: 0x404dd620, 0x3c4d: 0x404dd820, 0x3c4e: 0x404dda20, 0x3c4f: 0x404ddc20,\n\t0x3c50: 0x404dde20, 0x3c51: 0x404de020, 0x3c52: 0x404de220, 0x3c53: 0x404de420,\n\t0x3c54: 0x404de620, 0x3c55: 0x404de820, 0x3c56: 0x404dea20, 0x3c57: 0x404dec20,\n\t0x3c58: 0x404dee20, 0x3c59: 0x404df020, 0x3c5a: 0x404df220, 0x3c5b: 0x404df420,\n\t0x3c5c: 0x404df620, 0x3c5d: 0x404df820, 0x3c5e: 0x404dfa20, 0x3c5f: 0x404dfc20,\n\t0x3c60: 0x404dfe20, 0x3c61: 0x404e0020, 0x3c62: 0x404e0220, 0x3c63: 0x404e0420,\n\t0x3c64: 0x404e0620, 0x3c65: 0x404e0820, 0x3c66: 0x404e0a20, 0x3c67: 0x404e0c20,\n\t0x3c68: 0x404e0e20, 0x3c69: 0x404e1020, 0x3c6a: 0x404e1220, 0x3c6b: 0xadc10f02,\n\t0x3c6c: 0xadc11002, 0x3c6d: 0xadc11102, 0x3c6e: 0x4005f420, 0x3c6f: 0x40032020,\n\t0x3c70: 0x404d8a20, 0x3c71: 0x404d8c20, 0x3c72: 0x404d8e20, 0x3c73: 0x404d9020,\n\t0x3c74: 0x404d9220, 0x3c75: 0x404d9420, 0x3c76: 0x404d9620, 0x3c77: 0x404d9820,\n\t0x3c78: 0x404d9a20, 0x3c79: 0x404d9c20, 0x3c7a: 0x404d9e20, 0x3c7b: 0x404da020,\n\t0x3c7c: 0x404da220, 0x3c7d: 0x404da420, 0x3c7e: 0x404da620, 0x3c7f: 0x404da820,\n\t// Block 0xf2, offset 0x3c80\n\t0x3c80: 0x404daa20, 0x3c81: 0x404dac20, 0x3c82: 0x404dae20, 0x3c83: 0x404db020,\n\t0x3c84: 0x404db220, 0x3c85: 0x404db420, 0x3c86: 0x404db620, 0x3c87: 0x404db820,\n\t0x3c88: 0x404dba20, 0x3c89: 0x404dbc20, 0x3c8a: 0x404dbe20, 0x3c8b: 0x404dc020,\n\t0x3c8c: 0x404dc220, 0x3c8d: 0x404dc420, 0x3c8e: 0x404dc620, 0x3c8f: 0x404dc820,\n\t0x3c90: 0x404dca20, 0x3c91: 0x404dcc20, 0x3c92: 0x404dce20, 0x3c93: 0x820926e8,\n\t0x3c9f: 0x40038420,\n\t0x3ca0: 0x40636a20, 0x3ca1: 0x40636c20, 0x3ca2: 0x40636e20, 0x3ca3: 0x40637020,\n\t0x3ca4: 0x40637220, 0x3ca5: 0x40637420, 0x3ca6: 0x40637620, 0x3ca7: 0x40637820,\n\t0x3ca8: 0x40637a20, 0x3ca9: 0x40637c20, 0x3caa: 0x40637e20, 0x3cab: 0x40638020,\n\t0x3cac: 0x40638220, 0x3cad: 0x40638420, 0x3cae: 0x40638620, 0x3caf: 0x40638820,\n\t0x3cb0: 0x40638a20, 0x3cb1: 0x40638c20, 0x3cb2: 0x40638e20, 0x3cb3: 0x40639020,\n\t0x3cb4: 0x40639220, 0x3cb5: 0x40639420, 0x3cb6: 0x40639620, 0x3cb7: 0x40639820,\n\t0x3cb8: 0x40639a20, 0x3cb9: 0x40639c20, 0x3cba: 0x40639e20, 0x3cbb: 0x4063a020,\n\t0x3cbc: 0x4063a220,\n\t// Block 0xf3, offset 0x3cc0\n\t0x3cc0: 0xa000f202, 0x3cc1: 0xa000f302, 0x3cc2: 0xa000f802, 0x3cc3: 0xa000f402,\n\t0x3cc4: 0x4052b220, 0x3cc5: 0x4052b420, 0x3cc6: 0x4052b620, 0x3cc7: 0x4052b820,\n\t0x3cc8: 0x4052ba20, 0x3cc9: 0x4052bc20, 0x3cca: 0x4052be20, 0x3ccb: 0x4052c020,\n\t0x3ccc: 0x4052c220, 0x3ccd: 0x4052c420, 0x3cce: 0x4052c620, 0x3ccf: 0x4052c820,\n\t0x3cd0: 0x4052ca20, 0x3cd1: 0x4052cc20, 0x3cd2: 0x4052ce20, 0x3cd3: 0x4052d020,\n\t0x3cd4: 0x4052d220, 0x3cd5: 0x4052d420, 0x3cd6: 0x4052d620, 0x3cd7: 0x4052d820,\n\t0x3cd8: 0x4052da20, 0x3cd9: 0x4052dc20, 0x3cda: 0x4052de20, 0x3cdb: 0x4052e020,\n\t0x3cdc: 0x4052e220, 0x3cdd: 0x4052e420, 0x3cde: 0x4052e620, 0x3cdf: 0x4052e820,\n\t0x3ce0: 0x4052ea20, 0x3ce1: 0x4052ec20, 0x3ce2: 0x4052ee20, 0x3ce3: 0x4052f020,\n\t0x3ce4: 0x4052f220, 0x3ce5: 0x4052f420, 0x3ce6: 0x4052f620, 0x3ce7: 0x4052f820,\n\t0x3ce8: 0x4052fa20, 0x3ce9: 0x4052fc20, 0x3cea: 0x4052fe20, 0x3ceb: 0x40530220,\n\t0x3cec: 0x00530284, 0x3ced: 0x40530620, 0x3cee: 0x40530820, 0x3cef: 0x40530a20,\n\t0x3cf0: 0x40530c20, 0x3cf1: 0x40530e20, 0x3cf2: 0x40531020, 0x3cf3: 0xa070f102,\n\t0x3cf4: 0x40531220, 0x3cf5: 0x40532420, 0x3cf6: 0x40531620, 0x3cf7: 0x40531820,\n\t0x3cf8: 0x40531a20, 0x3cf9: 0x40531c20, 0x3cfa: 0x40532020, 0x3cfb: 0x40532220,\n\t0x3cfc: 0x40531420, 0x3cfd: 0x40531e20, 0x3cfe: 0x40530020, 0x3cff: 0x40530420,\n\t// Block 0xf4, offset 0x3d00\n\t0x3d00: 0x82092993, 0x3d01: 0x40036e20, 0x3d02: 0x40037020, 0x3d03: 0x40037220,\n\t0x3d04: 0x40037420, 0x3d05: 0x40037620, 0x3d06: 0x40037820, 0x3d07: 0x4002b020,\n\t0x3d08: 0x40033620, 0x3d09: 0x40033820, 0x3d0a: 0x40037a20, 0x3d0b: 0x40037c20,\n\t0x3d0c: 0x40037e20, 0x3d0d: 0x40038020, 0x3d0f: 0x4027c020,\n\t0x3d10: 0xe00001c1, 0x3d11: 0xe0000255, 0x3d12: 0xe000036d, 0x3d13: 0xe0000447,\n\t0x3d14: 0xe000051c, 0x3d15: 0xe00005e6, 0x3d16: 0xe00006b1, 0x3d17: 0xe0000759,\n\t0x3d18: 0xe0000805, 0x3d19: 0xe00008aa,\n\t0x3d1e: 0x4005f620, 0x3d1f: 0x4005f820,\n\t// Block 0xf5, offset 0x3d40\n\t0x3d40: 0x40519c20, 0x3d41: 0x40519e20, 0x3d42: 0x4051a020, 0x3d43: 0x4051a220,\n\t0x3d44: 0x4051a420, 0x3d45: 0x4051a620, 0x3d46: 0x4051a820, 0x3d47: 0x4051aa20,\n\t0x3d48: 0x4051ac20, 0x3d49: 0x4051ae20, 0x3d4a: 0x4051b020, 0x3d4b: 0x4051b220,\n\t0x3d4c: 0x4051b420, 0x3d4d: 0x4051b620, 0x3d4e: 0x4051b820, 0x3d4f: 0x4051ba20,\n\t0x3d50: 0x4051bc20, 0x3d51: 0x4051be20, 0x3d52: 0x4051c020, 0x3d53: 0x4051c220,\n\t0x3d54: 0x4051c420, 0x3d55: 0x4051c620, 0x3d56: 0x4051c820, 0x3d57: 0x4051ca20,\n\t0x3d58: 0x4051cc20, 0x3d59: 0x4051ce20, 0x3d5a: 0x4051d020, 0x3d5b: 0x4051d220,\n\t0x3d5c: 0x4051d420, 0x3d5d: 0x4051d620, 0x3d5e: 0x4051d820, 0x3d5f: 0x4051da20,\n\t0x3d60: 0x4051dc20, 0x3d61: 0x4051de20, 0x3d62: 0x4051e020, 0x3d63: 0x4051e220,\n\t0x3d64: 0x4051e420, 0x3d65: 0x4051e620, 0x3d66: 0x4051e820, 0x3d67: 0x4051ea20,\n\t0x3d68: 0x4051ec20, 0x3d69: 0x4051f620, 0x3d6a: 0x4051f820, 0x3d6b: 0x4051fa20,\n\t0x3d6c: 0x4051fc20, 0x3d6d: 0x4051fe20, 0x3d6e: 0x40520020, 0x3d6f: 0x40520220,\n\t0x3d70: 0x40520420, 0x3d71: 0x40520620, 0x3d72: 0x40520820, 0x3d73: 0x4051ee20,\n\t0x3d74: 0x4051f020, 0x3d75: 0x4051f220, 0x3d76: 0x4051f420,\n\t// Block 0xf6, offset 0x3d80\n\t0x3d80: 0x40520a20, 0x3d81: 0x40520c20, 0x3d82: 0x40520e20, 0x3d83: 0x40521020,\n\t0x3d84: 0x40521220, 0x3d85: 0x40521420, 0x3d86: 0x40521620, 0x3d87: 0x40521820,\n\t0x3d88: 0x40521a20, 0x3d89: 0x40521c20, 0x3d8a: 0x40521e20, 0x3d8b: 0x40522020,\n\t0x3d8c: 0x40522220, 0x3d8d: 0x40522420,\n\t0x3d90: 0xe00001bb, 0x3d91: 0xe000024f, 0x3d92: 0xe0000367, 0x3d93: 0xe0000441,\n\t0x3d94: 0xe0000516, 0x3d95: 0xe00005e0, 0x3d96: 0xe00006ab, 0x3d97: 0xe0000753,\n\t0x3d98: 0xe00007ff, 0x3d99: 0xe00008a4,\n\t0x3d9c: 0x4005fa20, 0x3d9d: 0x40033a20, 0x3d9e: 0x40033c20, 0x3d9f: 0x40033e20,\n\t0x3da0: 0x404e2020, 0x3da1: 0x404e2c20, 0x3da2: 0x404e3020, 0x3da3: 0x404e3420,\n\t0x3da4: 0x404e3e20, 0x3da5: 0x404e4620, 0x3da6: 0x404e4c20, 0x3da7: 0x404e5020,\n\t0x3da8: 0x404e5420, 0x3da9: 0x404e5820, 0x3daa: 0x404e6820, 0x3dab: 0x404e6e20,\n\t0x3dac: 0x404ea820, 0x3dad: 0x404eae20, 0x3dae: 0x404eb220, 0x3daf: 0x404e7a20,\n\t0x3db0: 0x4027c220, 0x3db1: 0x404eb420, 0x3db2: 0x404e3820, 0x3db3: 0x404e8e20,\n\t0x3db4: 0x404f3a20, 0x3db5: 0x404f3c20, 0x3db6: 0x404f3e20, 0x3db7: 0x4007ac20,\n\t0x3db8: 0x4007ae20, 0x3db9: 0x4007b020, 0x3dba: 0x404e9020, 0x3dbb: 0x404f3820,\n\t// Block 0xf7, offset 0x3dc0\n\t0x3dc0: 0x4049f020, 0x3dc1: 0x4049f220, 0x3dc2: 0x4049f420, 0x3dc3: 0x4049f620,\n\t0x3dc4: 0x4049f820, 0x3dc5: 0x4049fa20, 0x3dc6: 0x4049fc20, 0x3dc7: 0x4049fe20,\n\t0x3dc8: 0x404a0020, 0x3dc9: 0x404a0220, 0x3dca: 0x404a0420, 0x3dcb: 0x404a0620,\n\t0x3dcc: 0x404a0820, 0x3dcd: 0x404a0a20, 0x3dce: 0x404a0c20, 0x3dcf: 0x404a0e20,\n\t0x3dd0: 0x404a1020, 0x3dd1: 0x404a1220, 0x3dd2: 0x404a1420, 0x3dd3: 0x404a1620,\n\t0x3dd4: 0x404a1820, 0x3dd5: 0x404a1a20, 0x3dd6: 0x404a1c20, 0x3dd7: 0x404a1e20,\n\t0x3dd8: 0x404a2020, 0x3dd9: 0x404a2220, 0x3dda: 0x404a2420, 0x3ddb: 0x404a2620,\n\t0x3ddc: 0x404a2820, 0x3ddd: 0x404a2a20, 0x3dde: 0x404a2c20, 0x3ddf: 0x404a2e20,\n\t0x3de0: 0x404a3020, 0x3de1: 0x404a3220, 0x3de2: 0x404a3420, 0x3de3: 0x404a3620,\n\t0x3de4: 0x404a3820, 0x3de5: 0x404a3a20, 0x3de6: 0x404a3c20, 0x3de7: 0x404a3e20,\n\t0x3de8: 0x404a4020, 0x3de9: 0x404a4220, 0x3dea: 0x404a4420, 0x3deb: 0x404a4620,\n\t0x3dec: 0x404a4820, 0x3ded: 0x404a4a20, 0x3dee: 0x404a4c20, 0x3def: 0x404a4e20,\n\t0x3df0: 0x82e62528, 0x3df1: 0x404a5220, 0x3df2: 0x82e6252a, 0x3df3: 0x82e6252b,\n\t0x3df4: 0x82dc252c, 0x3df5: 0xc20e0671, 0x3df6: 0xc23f0671, 0x3df7: 0x82e6252f,\n\t0x3df8: 0x82e62530, 0x3df9: 0xc2700671, 0x3dfa: 0x404a6420, 0x3dfb: 0xc2a10671,\n\t0x3dfc: 0xc2d20671, 0x3dfd: 0x404a6a20, 0x3dfe: 0x82e62536, 0x3dff: 0xae610c02,\n\t// Block 0xf8, offset 0x3e00\n\t0x3e00: 0x404a6e20, 0x3e01: 0xae610d02, 0x3e02: 0x404a7020,\n\t0x3e1b: 0x404a7220,\n\t0x3e1c: 0x404a7420, 0x3e1d: 0x4027c420, 0x3e1e: 0x40057e20, 0x3e1f: 0x40058020,\n\t0x3e20: 0x40456420, 0x3e21: 0x40456620, 0x3e22: 0x40456820, 0x3e23: 0x40456a20,\n\t0x3e24: 0x40456c20, 0x3e25: 0x40456e20, 0x3e26: 0x40457020, 0x3e27: 0x40457220,\n\t0x3e28: 0x40457420, 0x3e29: 0x40457620, 0x3e2a: 0x40457820, 0x3e2b: 0x40458a20,\n\t0x3e2c: 0x40458c20, 0x3e2d: 0x40458e20, 0x3e2e: 0x40459020, 0x3e2f: 0x40459220,\n\t0x3e30: 0x40034020, 0x3e31: 0x4002dc20, 0x3e32: 0x40452c20, 0x3e33: 0x4027c620,\n\t0x3e34: 0x4027c820, 0x3e35: 0x40459420, 0x3e36: 0x820922d4,\n\t// Block 0xf9, offset 0x3e40\n\t0x3e41: 0x403cae20, 0x3e42: 0x403cb020, 0x3e43: 0x403cb220,\n\t0x3e44: 0x403cb420, 0x3e45: 0x403cb620, 0x3e46: 0x403cb820,\n\t0x3e49: 0x403e3c20, 0x3e4a: 0x403e3e20, 0x3e4b: 0x403e4020,\n\t0x3e4c: 0x403e4220, 0x3e4d: 0x403e4420, 0x3e4e: 0x403e4620,\n\t0x3e51: 0x403dfe20, 0x3e52: 0x403e0020, 0x3e53: 0x403e0220,\n\t0x3e54: 0x403e0420, 0x3e55: 0x403e0620, 0x3e56: 0x403e0820,\n\t0x3e60: 0x403ec220, 0x3e61: 0x403ec420, 0x3e62: 0x403ec620, 0x3e63: 0x403ec820,\n\t0x3e64: 0x403eca20, 0x3e65: 0x403ecc20, 0x3e66: 0x403ece20,\n\t0x3e68: 0x403ef220, 0x3e69: 0x403ef420, 0x3e6a: 0x403ef620, 0x3e6b: 0x403ef820,\n\t0x3e6c: 0x403efa20, 0x3e6d: 0x403efc20, 0x3e6e: 0x403efe20,\n\t// Block 0xfa, offset 0x3e80\n\t0x3e80: 0x40452e20, 0x3e81: 0x40453020, 0x3e82: 0x40453220, 0x3e83: 0x40453420,\n\t0x3e84: 0x40453620, 0x3e85: 0x40453820, 0x3e86: 0x40453a20, 0x3e87: 0x40453c20,\n\t0x3e88: 0x40453e20, 0x3e89: 0x40454020, 0x3e8a: 0x40454220, 0x3e8b: 0x40454420,\n\t0x3e8c: 0x40454620, 0x3e8d: 0x40454820, 0x3e8e: 0x40454a20, 0x3e8f: 0x40454c20,\n\t0x3e90: 0x40454e20, 0x3e91: 0x40455020, 0x3e92: 0x40455220, 0x3e93: 0x40455420,\n\t0x3e94: 0x40455620, 0x3e95: 0x40455820, 0x3e96: 0x40455a20, 0x3e97: 0x40455c20,\n\t0x3e98: 0x40455e20, 0x3e99: 0x40456020, 0x3e9a: 0x40456220, 0x3e9b: 0x40459620,\n\t0x3e9c: 0x40459820, 0x3e9d: 0x40459a20, 0x3e9e: 0x40459c20, 0x3e9f: 0x40459e20,\n\t0x3ea0: 0x4045a020, 0x3ea1: 0x4045a220, 0x3ea2: 0x4045a420, 0x3ea3: 0x40457a20,\n\t0x3ea4: 0x40457c20, 0x3ea5: 0x40457e20, 0x3ea6: 0x40458020, 0x3ea7: 0x40458220,\n\t0x3ea8: 0x40458420, 0x3ea9: 0x40458620, 0x3eaa: 0x40458820, 0x3eab: 0x40034220,\n\t0x3eac: 0xa000fa02, 0x3ead: 0x820922d3,\n\t0x3eb0: 0xe0000188, 0x3eb1: 0xe0000219, 0x3eb2: 0xe0000334, 0x3eb3: 0xe000040e,\n\t0x3eb4: 0xe00004e3, 0x3eb5: 0xe00005ad, 0x3eb6: 0xe0000678, 0x3eb7: 0xe0000720,\n\t0x3eb8: 0xe00007cc, 0x3eb9: 0xe0000871,\n\t// Block 0xfb, offset 0x3ec0\n\t0x3ef0: 0x40643620, 0x3ef1: 0x40643820, 0x3ef2: 0x40643a20, 0x3ef3: 0x40643c20,\n\t0x3ef4: 0x40643e20, 0x3ef5: 0x40644020, 0x3ef6: 0x40644220, 0x3ef7: 0x40644420,\n\t0x3ef8: 0x40644620, 0x3ef9: 0x40644820, 0x3efa: 0x40644a20, 0x3efb: 0x40644c20,\n\t0x3efc: 0x40644e20, 0x3efd: 0x40645020, 0x3efe: 0x40645220, 0x3eff: 0x40645420,\n\t// Block 0xfc, offset 0x3f00\n\t0x3f00: 0x40645620, 0x3f01: 0x40645820, 0x3f02: 0x40645a20, 0x3f03: 0x40645c20,\n\t0x3f04: 0x40645e20, 0x3f05: 0x40646020, 0x3f06: 0x40646220,\n\t0x3f0b: 0x40651420,\n\t0x3f0c: 0x40651620, 0x3f0d: 0x40651820, 0x3f0e: 0x40651a20, 0x3f0f: 0x40651c20,\n\t0x3f10: 0x40651e20, 0x3f11: 0x40652020, 0x3f12: 0x40652220, 0x3f13: 0x40652420,\n\t0x3f14: 0x40652620, 0x3f15: 0x40652820, 0x3f16: 0x40652a20, 0x3f17: 0x40652c20,\n\t0x3f18: 0x40652e20, 0x3f19: 0x40653020, 0x3f1a: 0x40653220, 0x3f1b: 0x40653420,\n\t0x3f1c: 0x40653620, 0x3f1d: 0x40653820, 0x3f1e: 0x40653a20, 0x3f1f: 0x40653c20,\n\t0x3f20: 0x40653e20, 0x3f21: 0x40654020, 0x3f22: 0x40654220, 0x3f23: 0x40654420,\n\t0x3f24: 0x40654620, 0x3f25: 0x40654820, 0x3f26: 0x40654a20, 0x3f27: 0x40654c20,\n\t0x3f28: 0x40654e20, 0x3f29: 0x40655020, 0x3f2a: 0x40655220, 0x3f2b: 0x40655420,\n\t0x3f2c: 0x40655620, 0x3f2d: 0x40655820, 0x3f2e: 0x40655a20, 0x3f2f: 0x40655c20,\n\t0x3f30: 0x40655e20, 0x3f31: 0x40656020, 0x3f32: 0x40656220, 0x3f33: 0x40656420,\n\t0x3f34: 0x40656620, 0x3f35: 0x40656820, 0x3f36: 0x40656a20, 0x3f37: 0x40656c20,\n\t0x3f38: 0x40656e20, 0x3f39: 0x40657020, 0x3f3a: 0x40657220, 0x3f3b: 0x40657420,\n\t// Block 0xfd, offset 0x3f40\n\t0x3f40: 0x43189020, 0x3f41: 0x42cde820, 0x3f42: 0x431d9420, 0x3f43: 0x43199020,\n\t0x3f44: 0x42dda220, 0x3f45: 0x429c6420, 0x3f46: 0x42a7ca20, 0x3f47: 0x433f3820,\n\t0x3f48: 0x433f3820, 0x3f49: 0x42b2a220, 0x3f4a: 0x4323a220, 0x3f4b: 0x42ab0e20,\n\t0x3f4c: 0x42b29020, 0x3f4d: 0x42c3ec20, 0x3f4e: 0x42ecd220, 0x3f4f: 0x42ff0a20,\n\t0x3f50: 0x430c7e20, 0x3f51: 0x430f7420, 0x3f52: 0x4311f020, 0x3f53: 0x43211e20,\n\t0x3f54: 0x42d40420, 0x3f55: 0x42da3620, 0x3f56: 0x42e1b220, 0x3f57: 0x42e7bc20,\n\t0x3f58: 0x43087a20, 0x3f59: 0x4322d420, 0x3f5a: 0x4333e220, 0x3f5b: 0x429d0420,\n\t0x3f5c: 0x42a6ea20, 0x3f5d: 0x42d60820, 0x3f5e: 0x42e43620, 0x3f5f: 0x430c5a20,\n\t0x3f60: 0x433c3c20, 0x3f61: 0x42baa020, 0x3f62: 0x42dfd620, 0x3f63: 0x430b9a20,\n\t0x3f64: 0x4312c820, 0x3f65: 0x42c59220, 0x3f66: 0x4303b020, 0x3f67: 0x43103e20,\n\t0x3f68: 0x42bd9420, 0x3f69: 0x42ce2e20, 0x3f6a: 0x42dad420, 0x3f6b: 0x42e5f820,\n\t0x3f6c: 0x43219c20, 0x3f6d: 0x429f0c20, 0x3f6e: 0x42a36e20, 0x3f6f: 0x42a5bc20,\n\t0x3f70: 0x42c98820, 0x3f71: 0x42d5a620, 0x3f72: 0x42e42020, 0x3f73: 0x42edce20,\n\t0x3f74: 0x43000220, 0x3f75: 0x430c0c20, 0x3f76: 0x430cb820, 0x3f77: 0x431bde20,\n\t0x3f78: 0x432e6420, 0x3f79: 0x4336de20, 0x3f7a: 0x433bf420, 0x3f7b: 0x42f11820,\n\t0x3f7c: 0x42f2fe20, 0x3f7d: 0x42fb4020, 0x3f7e: 0x43079220, 0x3f7f: 0x43260820,\n\t// Block 0xfe, offset 0x3f80\n\t0x3f80: 0x433cfe20, 0x3f81: 0x4315ac20, 0x3f82: 0x42b1be20, 0x3f83: 0x42be0820,\n\t0x3f84: 0x42f8c020, 0x3f85: 0x4300fc20, 0x3f86: 0x42e4c420, 0x3f87: 0x42f19420,\n\t0x3f88: 0x43198420, 0x3f89: 0x432dee20, 0x3f8a: 0x42b1b020, 0x3f8b: 0x42b8c420,\n\t0x3f8c: 0x42d42620, 0x3f8d: 0x42dbb420, 0x3f8e: 0x42de1e20, 0x3f8f: 0x42fa5e20,\n\t0x3f90: 0x42fc6e20, 0x3f91: 0x432c9620, 0x3f92: 0x42a5a420, 0x3f93: 0x43011620,\n\t0x3f94: 0x42a3b820, 0x3f95: 0x42a39820, 0x3f96: 0x42f43820, 0x3f97: 0x42fb7c20,\n\t0x3f98: 0x4307e220, 0x3f99: 0x432cea20, 0x3f9a: 0x43170020, 0x3f9b: 0x42c59e20,\n\t0x3f9c: 0x42d40420, 0x3f9d: 0x4315fc20, 0x3f9e: 0x429c7220, 0x3f9f: 0x42b7ce20,\n\t0x3fa0: 0x42c02420, 0x3fa1: 0x42e70e20, 0x3fa2: 0x42eae020, 0x3fa3: 0x42a62e20,\n\t0x3fa4: 0x42f1f620, 0x3fa5: 0x429f7e20, 0x3fa6: 0x42bf5220, 0x3fa7: 0x429c1a20,\n\t0x3fa8: 0x42d99820, 0x3fa9: 0x42caf020, 0x3faa: 0x42fa4420, 0x3fab: 0x42a78620,\n\t0x3fac: 0x42b0bc20, 0x3fad: 0x42ee0220, 0x3fae: 0x43089220, 0x3faf: 0x43155420,\n\t0x3fb0: 0x42d77420, 0x3fb1: 0x431f6020, 0x3fb2: 0x42d91020, 0x3fb3: 0x42c5fc20,\n\t0x3fb4: 0x4305ca20, 0x3fb5: 0x42c74020, 0x3fb6: 0x42eaca20, 0x3fb7: 0x429d5c20,\n\t0x3fb8: 0x42a2d220, 0x3fb9: 0x42a39220, 0x3fba: 0x42d10220, 0x3fbb: 0x42f9ce20,\n\t0x3fbc: 0x4304de20, 0x3fbd: 0x4315a420, 0x3fbe: 0x43239e20, 0x3fbf: 0x42a5ea20,\n\t// Block 0xff, offset 0x3fc0\n\t0x3fc0: 0x42a88420, 0x3fc1: 0x42b2e620, 0x3fc2: 0x42bdd820, 0x3fc3: 0x42cb8a20,\n\t0x3fc4: 0x42dffc20, 0x3fc5: 0x42f25420, 0x3fc6: 0x432b5a20, 0x3fc7: 0x4334d420,\n\t0x3fc8: 0x433d2e20, 0x3fc9: 0x433d9c20, 0x3fca: 0x42a53620, 0x3fcb: 0x42cd8c20,\n\t0x3fcc: 0x42d6ee20, 0x3fcd: 0x431ec420, 0x3fce: 0x42bce820, 0x3fcf: 0x42c32020,\n\t0x3fd0: 0x42c40020, 0x3fd1: 0x42c93420, 0x3fd2: 0x42de4620, 0x3fd3: 0x42e29220,\n\t0x3fd4: 0x42e91220, 0x3fd5: 0x42f39420, 0x3fd6: 0x42fbe820, 0x3fd7: 0x4300de20,\n\t0x3fd8: 0x431e4c20, 0x3fd9: 0x4309dc20, 0x3fda: 0x43204620, 0x3fdb: 0x43269420,\n\t0x3fdc: 0x42a42e20, 0x3fdd: 0x42a54620, 0x3fde: 0x42a97a20, 0x3fdf: 0x42e19020,\n\t0x3fe0: 0x43118420, 0x3fe1: 0x43155420, 0x3fe2: 0x42bd9220, 0x3fe3: 0x42bfea20,\n\t0x3fe4: 0x42c6f620, 0x3fe5: 0x42d75c20, 0x3fe6: 0x42f87c20, 0x3fe7: 0x42e6ea20,\n\t0x3fe8: 0x429dc820, 0x3fe9: 0x42adf220, 0x3fea: 0x42b7ce20, 0x3feb: 0x42bb7420,\n\t0x3fec: 0x42c03820, 0x3fed: 0x42e76420, 0x3fee: 0x42e8d220, 0x3fef: 0x42ff3420,\n\t0x3ff0: 0x43008c20, 0x3ff1: 0x43246820, 0x3ff2: 0x432dec20, 0x3ff3: 0x432e9020,\n\t0x3ff4: 0x43303020, 0x3ff5: 0x429f1620, 0x3ff6: 0x42f35c20, 0x3ff7: 0x43236820,\n\t0x3ff8: 0x432d7020, 0x3ff9: 0x42c1c220, 0x3ffa: 0x429d0c20, 0x3ffb: 0x42a1b420,\n\t0x3ffc: 0x42b7dc20, 0x3ffd: 0x42b87e20, 0x3ffe: 0x42cb3220, 0x3fff: 0x42d40420,\n\t// Block 0x100, offset 0x4000\n\t0x4000: 0x42e39c20, 0x4001: 0x42ec8420, 0x4002: 0x4309f820, 0x4003: 0x4320f820,\n\t0x4004: 0x433f1a20, 0x4005: 0x42cd1020, 0x4006: 0x432c5c20, 0x4007: 0x42a51220,\n\t0x4008: 0x42cef620, 0x4009: 0x42cfe620, 0x400a: 0x42da8220, 0x400b: 0x42dd3820,\n\t0x400c: 0x42e81220, 0x400d: 0x42eab220, 0x400e: 0x42f0d620, 0x400f: 0x42fa2020,\n\t0x4010: 0x4330bc20, 0x4011: 0x42a2da20, 0x4012: 0x42c45c20, 0x4013: 0x432cf020,\n\t0x4014: 0x42a05620, 0x4015: 0x42ba3220, 0x4016: 0x42dbd420, 0x4017: 0x431e5420,\n\t0x4018: 0x42bf1620, 0x4019: 0x42c28820, 0x401a: 0x42d02e20, 0x401b: 0x42e70e20,\n\t0x401c: 0x432d0c20, 0x401d: 0x42a45220, 0x401e: 0x42a81e20, 0x401f: 0x42b8ca20,\n\t0x4020: 0x42cc2620, 0x4021: 0x42ce9c20, 0x4022: 0x42d15020, 0x4023: 0x42d9ca20,\n\t0x4024: 0x42e80c20, 0x4025: 0x42ebc420, 0x4026: 0x42fef220, 0x4027: 0x43119e20,\n\t0x4028: 0x4311c220, 0x4029: 0x43239820, 0x402a: 0x432dc420, 0x402b: 0x42a67e20,\n\t0x402c: 0x42dd7420, 0x402d: 0x42a83a20, 0x402e: 0x42e3a020, 0x402f: 0x42e93020,\n\t0x4030: 0x430bf420, 0x4031: 0x432d4620, 0x4032: 0x4338ae20, 0x4033: 0x433d3e20,\n\t0x4034: 0x42cf2e20, 0x4035: 0x42db9620, 0x4036: 0x4303d020, 0x4037: 0x42f59620,\n\t0x4038: 0x42f64020, 0x4039: 0x42f92420, 0x403a: 0x42e58020, 0x403b: 0x42e13220,\n\t0x403c: 0x4316b020, 0x403d: 0x429d8020, 0x403e: 0x43066c20, 0x403f: 0x42a47420,\n\t// Block 0x101, offset 0x4040\n\t0x4040: 0x42a40e20, 0x4041: 0x42bd4c20, 0x4042: 0x42c5a620, 0x4043: 0x42f9ac20,\n\t0x4044: 0x42b70a20, 0x4045: 0x42da3c20, 0x4046: 0x42cd6820, 0x4047: 0x431e7620,\n\t0x4048: 0x43109820, 0x4049: 0x432c9a20, 0x404a: 0x43131620, 0x404b: 0x42bda620,\n\t0x404c: 0x42a28020, 0x404d: 0x42ab8020, 0x404e: 0x43f41c20, 0x404f: 0x43f41e20,\n\t0x4050: 0x42b0b420, 0x4051: 0x43f42220, 0x4052: 0x42cce820, 0x4053: 0x43f42620,\n\t0x4054: 0x43f42820, 0x4055: 0x42a3bc20, 0x4056: 0x42e65420, 0x4057: 0x42ed9420,\n\t0x4058: 0x42f27820, 0x4059: 0x42f2bc20, 0x405a: 0x42f2ca20, 0x405b: 0x42f31e20,\n\t0x405c: 0x432eac20, 0x405d: 0x42f97c20, 0x405e: 0x42ff7a20, 0x405f: 0x43f43e20,\n\t0x4060: 0x430c2420, 0x4061: 0x43f44220, 0x4062: 0x4315f020, 0x4063: 0x43f44620,\n\t0x4064: 0x43f44820, 0x4065: 0x43207020, 0x4066: 0x4321fa20, 0x4067: 0x43f44e20,\n\t0x4068: 0x43f45020, 0x4069: 0x43f45220, 0x406a: 0x4331de20, 0x406b: 0x4331f820,\n\t0x406c: 0x43325020, 0x406d: 0x433b6820, 0x406e: 0x4321bc20, 0x406f: 0x432d6e20,\n\t0x4070: 0x429f5c20, 0x4071: 0x42a1ce20, 0x4072: 0x42a29a20, 0x4073: 0x42a59220,\n\t0x4074: 0x42a5c820, 0x4075: 0x42a6a220, 0x4076: 0x42ab3a20, 0x4077: 0x42ac0c20,\n\t0x4078: 0x42acd020, 0x4079: 0x42b08020, 0x407a: 0x42b15020, 0x407b: 0x42b8c820,\n\t0x407c: 0x42b8dc20, 0x407d: 0x42c12820, 0x407e: 0x42c2d020, 0x407f: 0x42c31c20,\n\t// Block 0x102, offset 0x4080\n\t0x4080: 0x42c3e420, 0x4081: 0x42ca9e20, 0x4082: 0x42cbc420, 0x4083: 0x42cd2220,\n\t0x4084: 0x42d10a20, 0x4085: 0x42daee20, 0x4086: 0x42dc3420, 0x4087: 0x42de4420,\n\t0x4088: 0x42e2dc20, 0x4089: 0x42e45620, 0x408a: 0x42e84420, 0x408b: 0x42f12220,\n\t0x408c: 0x42f27c20, 0x408d: 0x42f29220, 0x408e: 0x42f29020, 0x408f: 0x42f2a020,\n\t0x4090: 0x42f2ac20, 0x4091: 0x42f2ba20, 0x4092: 0x42f31a20, 0x4093: 0x42f31c20,\n\t0x4094: 0x42f48020, 0x4095: 0x42f50220, 0x4096: 0x42f78020, 0x4097: 0x42fbe820,\n\t0x4098: 0x42fc1220, 0x4099: 0x42fc8220, 0x409a: 0x42fee420, 0x409b: 0x43000a20,\n\t0x409c: 0x4303da20, 0x409d: 0x4304f220, 0x409e: 0x4304f220, 0x409f: 0x4308ae20,\n\t0x40a0: 0x43122020, 0x40a1: 0x43132c20, 0x40a2: 0x43160220, 0x40a3: 0x43167220,\n\t0x40a4: 0x4319a620, 0x40a5: 0x431a1020, 0x40a6: 0x431f6c20, 0x40a7: 0x43207020,\n\t0x40a8: 0x432dc620, 0x40a9: 0x432ffe20, 0x40aa: 0x43307620, 0x40ab: 0x42c0ea20,\n\t0x40ac: 0x4885dc20, 0x40ad: 0x43043020,\n\t0x40b0: 0x429c4c20, 0x40b1: 0x42a36a20, 0x40b2: 0x42a2d020, 0x40b3: 0x429f0020,\n\t0x40b4: 0x42a28a20, 0x40b5: 0x42a30020, 0x40b6: 0x42a58e20, 0x40b7: 0x42a5f420,\n\t0x40b8: 0x42ab3a20, 0x40b9: 0x42aaaa20, 0x40ba: 0x42ab3220, 0x40bb: 0x42abc420,\n\t0x40bc: 0x42b0b420, 0x40bd: 0x42b16620, 0x40be: 0x42b28820, 0x40bf: 0x42b2a820,\n\t// Block 0x103, offset 0x40c0\n\t0x40c0: 0x42b4c420, 0x40c1: 0x42b65020, 0x40c2: 0x42bda420, 0x40c3: 0x42bdb220,\n\t0x40c4: 0x42bed220, 0x40c5: 0x42bf5a20, 0x40c6: 0x42c1b020, 0x40c7: 0x42c29c20,\n\t0x40c8: 0x42c21020, 0x40c9: 0x42c31c20, 0x40ca: 0x42c2c020, 0x40cb: 0x42c3e420,\n\t0x40cc: 0x42c46820, 0x40cd: 0x42c78820, 0x40ce: 0x42c83820, 0x40cf: 0x42c8a420,\n\t0x40d0: 0x42caac20, 0x40d1: 0x42cce820, 0x40d2: 0x42ce2e20, 0x40d3: 0x42ce3620,\n\t0x40d4: 0x42ceac20, 0x40d5: 0x42d6f220, 0x40d6: 0x42d77420, 0x40d7: 0x42da8220,\n\t0x40d8: 0x42ddb620, 0x40d9: 0x42dd9620, 0x40da: 0x42de4420, 0x40db: 0x42e03c20,\n\t0x40dc: 0x42e2dc20, 0x40dd: 0x42ef4e20, 0x40de: 0x42e46a20, 0x40df: 0x42e55e20,\n\t0x40e0: 0x42e65420, 0x40e1: 0x42e8e220, 0x40e2: 0x42ea0c20, 0x40e3: 0x42ea7620,\n\t0x40e4: 0x42ec3a20, 0x40e5: 0x42ec3e20, 0x40e6: 0x42ed9420, 0x40e7: 0x42edb620,\n\t0x40e8: 0x42ede820, 0x40e9: 0x42ee9420, 0x40ea: 0x42ee8020, 0x40eb: 0x42f19820,\n\t0x40ec: 0x42f56220, 0x40ed: 0x42f78020, 0x40ee: 0x42f8f620, 0x40ef: 0x42fab620,\n\t0x40f0: 0x42fbe820, 0x40f1: 0x42fe7c20, 0x40f2: 0x43000a20, 0x40f3: 0x4306a420,\n\t0x40f4: 0x4307de20, 0x40f5: 0x430ef220, 0x40f6: 0x43128220, 0x40f7: 0x43130c20,\n\t0x40f8: 0x43132c20, 0x40f9: 0x43157e20, 0x40fa: 0x4315f020, 0x40fb: 0x43159620,\n\t0x40fc: 0x43160220, 0x40fd: 0x4315fc20, 0x40fe: 0x4315da20, 0x40ff: 0x43167220,\n\t// Block 0x104, offset 0x4100\n\t0x4100: 0x43171420, 0x4101: 0x431a1020, 0x4102: 0x431e7020, 0x4103: 0x4320e420,\n\t0x4104: 0x43233220, 0x4105: 0x4324ec20, 0x4106: 0x432cf820, 0x4107: 0x432dc620,\n\t0x4108: 0x432eac20, 0x4109: 0x432fb620, 0x410a: 0x432ffe20, 0x410b: 0x43301620,\n\t0x410c: 0x43307620, 0x410d: 0x43362420, 0x410e: 0x433f3820, 0x410f: 0x48509420,\n\t0x4110: 0x48508820, 0x4111: 0x4867aa20, 0x4112: 0x44773a20, 0x4113: 0x44803020,\n\t0x4114: 0x44807220, 0x4115: 0x48a49220, 0x4116: 0x48b9a020, 0x4117: 0x48fda620,\n\t0x4118: 0x433e8620, 0x4119: 0x433f1c20,\n\t// Block 0x105, offset 0x4140\n\t0x4140: 0xf0000404, 0x4141: 0xf0000404, 0x4142: 0xf0000404, 0x4143: 0xe0000b99,\n\t0x4144: 0xe0000b9d, 0x4145: 0xe0000f83, 0x4146: 0xf0000404,\n\t0x4153: 0xf0000404,\n\t0x4154: 0xf0000404, 0x4155: 0xf0000404, 0x4156: 0xf0000404, 0x4157: 0xf0000404,\n\t0x415d: 0xe000150b, 0x415e: 0xa1a09602, 0x415f: 0xe0001514,\n\t0x4160: 0x0038ae85, 0x4161: 0x00389085, 0x4162: 0x00389685, 0x4163: 0x00389885,\n\t0x4164: 0x0038a485, 0x4165: 0x0038a685, 0x4166: 0x0038a885, 0x4167: 0x0038b685,\n\t0x4168: 0x0038ba85, 0x4169: 0x00093885, 0x416a: 0xe0001542, 0x416b: 0xe000153f,\n\t0x416c: 0xe000154c, 0x416d: 0xe0001548, 0x416e: 0xe00014e1, 0x416f: 0xe00014e4,\n\t0x4170: 0xe00014e7, 0x4171: 0xe00014ea, 0x4172: 0xe00014f0, 0x4173: 0xe00014f3,\n\t0x4174: 0xe00014f6, 0x4175: 0xe00014fc, 0x4176: 0xe0001505,\n\t0x4178: 0xe0001508, 0x4179: 0xe000150e, 0x417a: 0xe000151b, 0x417b: 0xe0001518,\n\t0x417c: 0xe0001521, 0x417e: 0xe0001524,\n\t// Block 0x106, offset 0x4180\n\t0x4180: 0xe0001527, 0x4181: 0xe000152a, 0x4183: 0xe0001530,\n\t0x4184: 0xe000152d, 0x4186: 0xe0001536, 0x4187: 0xe0001539,\n\t0x4188: 0xe000153c, 0x4189: 0xe0001545, 0x418a: 0xe0001550, 0x418b: 0xe00014f9,\n\t0x418c: 0xe00014ed, 0x418d: 0xe000151e, 0x418e: 0xe0001533, 0x418f: 0xf0000404,\n\t0x4190: 0x0039249a, 0x4191: 0x00392499, 0x4192: 0x00393e9a, 0x4193: 0x00393e99,\n\t0x4194: 0x00393e97, 0x4195: 0x00393e98, 0x4196: 0x0039409a, 0x4197: 0x00394099,\n\t0x4198: 0x00394097, 0x4199: 0x00394098, 0x419a: 0x0039429a, 0x419b: 0x00394299,\n\t0x419c: 0x00394297, 0x419d: 0x00394298, 0x419e: 0x00395c9a, 0x419f: 0x00395c99,\n\t0x41a0: 0x00395c97, 0x41a1: 0x00395c98, 0x41a2: 0x0039629a, 0x41a3: 0x00396299,\n\t0x41a4: 0x00396297, 0x41a5: 0x00396298, 0x41a6: 0x00395a9a, 0x41a7: 0x00395a99,\n\t0x41a8: 0x00395a97, 0x41a9: 0x00395a98, 0x41aa: 0x003a049a, 0x41ab: 0x003a0499,\n\t0x41ac: 0x003a0497, 0x41ad: 0x003a0498, 0x41ae: 0x003a0a9a, 0x41af: 0x003a0a99,\n\t0x41b0: 0x003a0a97, 0x41b1: 0x003a0a98, 0x41b2: 0x0039689a, 0x41b3: 0x00396899,\n\t0x41b4: 0x00396897, 0x41b5: 0x00396898, 0x41b6: 0x0039669a, 0x41b7: 0x00396699,\n\t0x41b8: 0x00396697, 0x41b9: 0x00396698, 0x41ba: 0x00396a9a, 0x41bb: 0x00396a99,\n\t0x41bc: 0x00396a97, 0x41bd: 0x00396a98, 0x41be: 0x00396e9a, 0x41bf: 0x00396e99,\n\t// Block 0x107, offset 0x41c0\n\t0x41c0: 0x00396e97, 0x41c1: 0x00396e98, 0x41c2: 0x0039969a, 0x41c3: 0x00399699,\n\t0x41c4: 0x0039949a, 0x41c5: 0x00399499, 0x41c6: 0x0039989a, 0x41c7: 0x00399899,\n\t0x41c8: 0x00398c9a, 0x41c9: 0x00398c99, 0x41ca: 0x0039b69a, 0x41cb: 0x0039b699,\n\t0x41cc: 0x0039a89a, 0x41cd: 0x0039a899, 0x41ce: 0x003a1c9a, 0x41cf: 0x003a1c99,\n\t0x41d0: 0x003a1c97, 0x41d1: 0x003a1c98, 0x41d2: 0x003a2a9a, 0x41d3: 0x003a2a99,\n\t0x41d4: 0x003a2a97, 0x41d5: 0x003a2a98, 0x41d6: 0x003a329a, 0x41d7: 0x003a3299,\n\t0x41d8: 0x003a3297, 0x41d9: 0x003a3298, 0x41da: 0x003a2e9a, 0x41db: 0x003a2e99,\n\t0x41dc: 0x003a2e97, 0x41dd: 0x003a2e98, 0x41de: 0x003a589a, 0x41df: 0x003a5899,\n\t0x41e0: 0x003a5a9a, 0x41e1: 0x003a5a99, 0x41e2: 0x003a5a97, 0x41e3: 0x003a5a98,\n\t0x41e4: 0xf0001a1a, 0x41e5: 0xf0001919, 0x41e6: 0x003a6c9a, 0x41e7: 0x003a6c99,\n\t0x41e8: 0x003a6c97, 0x41e9: 0x003a6c98, 0x41ea: 0x003a6a9a, 0x41eb: 0x003a6a99,\n\t0x41ec: 0x003a6a97, 0x41ed: 0x003a6a98, 0x41ee: 0x003aaa9a, 0x41ef: 0x003aaa99,\n\t0x41f0: 0xf0001a1a, 0x41f1: 0xf0001919, 0x41f2: 0x40071820, 0x41f3: 0x40071a20,\n\t0x41f4: 0x40071c20, 0x41f5: 0x40071e20, 0x41f6: 0x40072020, 0x41f7: 0x40072220,\n\t0x41f8: 0x40072420, 0x41f9: 0x40072620, 0x41fa: 0x40072820, 0x41fb: 0x40072a20,\n\t0x41fc: 0x40072c20, 0x41fd: 0x40072e20, 0x41fe: 0x40073020, 0x41ff: 0x40073220,\n\t// Block 0x108, offset 0x4200\n\t0x4200: 0x40073420, 0x4201: 0x40073620,\n\t0x4213: 0x003a269a,\n\t0x4214: 0x003a2699, 0x4215: 0x003a2697, 0x4216: 0x003a2698, 0x4217: 0x003a7c9a,\n\t0x4218: 0x003a7c99, 0x4219: 0x003a7a9a, 0x421a: 0x003a7a99, 0x421b: 0x003a7e9a,\n\t0x421c: 0x003a7e99, 0x421d: 0xf0001a1a, 0x421e: 0x003a849a, 0x421f: 0x003a8499,\n\t0x4220: 0x003a789a, 0x4221: 0x003a7899, 0x4222: 0x003a809a, 0x4223: 0x003a8099,\n\t0x4224: 0x003a989a, 0x4225: 0x003a9899, 0x4226: 0x003a9897, 0x4227: 0x003a9898,\n\t0x4228: 0x003a8e97, 0x4229: 0x003a8e98, 0x422a: 0xe0001559, 0x422b: 0xe0001556,\n\t0x422c: 0xe0001589, 0x422d: 0xe0001586, 0x422e: 0xe000158f, 0x422f: 0xe000158c,\n\t0x4230: 0xe000159b, 0x4231: 0xe0001598, 0x4232: 0xe0001595, 0x4233: 0xe0001592,\n\t0x4234: 0xe00015a1, 0x4235: 0xe000159e, 0x4236: 0xe00015bf, 0x4237: 0xe00015bc,\n\t0x4238: 0xe00015b9, 0x4239: 0xe00015ad, 0x423a: 0xe00015a7, 0x423b: 0xe00015a4,\n\t0x423c: 0x003a929a, 0x423d: 0x003a9299, 0x423e: 0x003a9297, 0x423f: 0x003a9298,\n\t// Block 0x109, offset 0x4240\n\t0x4240: 0xe000155f, 0x4241: 0xe0001565, 0x4242: 0xe000157a, 0x4243: 0xe00015b0,\n\t0x4244: 0xe00015b6, 0x4245: 0xf0001a1a, 0x4246: 0xf0001a1a, 0x4247: 0xf0001a1a,\n\t0x4248: 0xf0001a1a, 0x4249: 0xf0001a1a, 0x424a: 0xf0001a1a, 0x424b: 0xf0001a1a,\n\t0x424c: 0xf0001a1a, 0x424d: 0xf0001a1a, 0x424e: 0xf0001a1a, 0x424f: 0xf0001a1a,\n\t0x4250: 0xf0001a1a, 0x4251: 0xf0001a1a, 0x4252: 0xf0001a1a, 0x4253: 0xf0001a1a,\n\t0x4254: 0xf0001a1a, 0x4255: 0xf0001a1a, 0x4256: 0xf0001a1a, 0x4257: 0xf0001a1a,\n\t0x4258: 0xf0001a1a, 0x4259: 0xf0001a1a, 0x425a: 0xf0001a1a, 0x425b: 0xf0001a1a,\n\t0x425c: 0xf0001a1a, 0x425d: 0xf0001a1a, 0x425e: 0xf0001a1a, 0x425f: 0xf0001a1a,\n\t0x4260: 0xf0001a1a, 0x4261: 0xf0001a1a, 0x4262: 0xf0001a1a, 0x4263: 0xf0001a1a,\n\t0x4264: 0xf0001a1a, 0x4265: 0xf0001a1a, 0x4266: 0xf0001a1a, 0x4267: 0xf0001a1a,\n\t0x4268: 0xf0001a1a, 0x4269: 0xf0001a1a, 0x426a: 0xf0001a1a, 0x426b: 0xf0001a1a,\n\t0x426c: 0xf0001a1a, 0x426d: 0xf0001a1a, 0x426e: 0xf0001a1a, 0x426f: 0xf0001a1a,\n\t0x4270: 0xf0001a1a, 0x4271: 0xf0001a1a, 0x4272: 0xf0001a1a, 0x4273: 0xf0001a1a,\n\t0x4274: 0xf0001a1a, 0x4275: 0xf0001a1a, 0x4276: 0xf0001a1a, 0x4277: 0xf0001a1a,\n\t0x4278: 0xf0001a1a, 0x4279: 0xf0001a1a, 0x427a: 0xf0001a1a, 0x427b: 0xf0001a1a,\n\t0x427c: 0xf0001a1a, 0x427d: 0xf0001a1a, 0x427e: 0xf0001a1a, 0x427f: 0xf0001a1a,\n\t// Block 0x10a, offset 0x4280\n\t0x4280: 0xf0001a1a, 0x4281: 0xf0001a1a, 0x4282: 0xf0001a1a, 0x4283: 0xf0001a1a,\n\t0x4284: 0xf0001a1a, 0x4285: 0xf0001a1a, 0x4286: 0xf0001a1a, 0x4287: 0xf0001a1a,\n\t0x4288: 0xf0001a1a, 0x4289: 0xf0001a1a, 0x428a: 0xf0001a1a, 0x428b: 0xf0001a1a,\n\t0x428c: 0xf0001a1a, 0x428d: 0xf0001a1a, 0x428e: 0xf0001a1a, 0x428f: 0xf0001a1a,\n\t0x4290: 0xf0001a1a, 0x4291: 0xf0001a1a, 0x4292: 0xf0001a1a, 0x4293: 0xf0001a1a,\n\t0x4294: 0xf0001a1a, 0x4295: 0xf0001a1a, 0x4296: 0xf0001a1a, 0x4297: 0xf0001a1a,\n\t0x4298: 0xf0001a1a, 0x4299: 0xf0001a1a, 0x429a: 0xf0001a1a, 0x429b: 0xf0001a1a,\n\t0x429c: 0xf0001a1a, 0x429d: 0xf0001a1a, 0x429e: 0xe0000003, 0x429f: 0xe0000006,\n\t0x42a0: 0xe0000009, 0x42a1: 0xe000000c, 0x42a2: 0xe000000f, 0x42a3: 0xe0000012,\n\t0x42a4: 0xe000156b, 0x42a5: 0xe000156e, 0x42a6: 0xe0001577, 0x42a7: 0xe000157d,\n\t0x42a8: 0xe00015aa, 0x42a9: 0xe00015b3, 0x42aa: 0xf0001919, 0x42ab: 0xf0001919,\n\t0x42ac: 0xf0001919, 0x42ad: 0xf0001919, 0x42ae: 0xf0001919, 0x42af: 0xf0001919,\n\t0x42b0: 0xf0001919, 0x42b1: 0xf0001919, 0x42b2: 0xf0001919, 0x42b3: 0xf0001919,\n\t0x42b4: 0xf0001919, 0x42b5: 0xf0001919, 0x42b6: 0xf0001919, 0x42b7: 0xf0001919,\n\t0x42b8: 0xf0001919, 0x42b9: 0xf0001919, 0x42ba: 0xf0001919, 0x42bb: 0xf0001919,\n\t0x42bc: 0xf0001919, 0x42bd: 0xf0001919, 0x42be: 0xf0001919, 0x42bf: 0xf0001919,\n\t// Block 0x10b, offset 0x42c0\n\t0x42c0: 0xf0001919, 0x42c1: 0xf0001919, 0x42c2: 0xf0001919, 0x42c3: 0xf0001919,\n\t0x42c4: 0xf0001919, 0x42c5: 0xf0001919, 0x42c6: 0xf0001919, 0x42c7: 0xf0001919,\n\t0x42c8: 0xf0001919, 0x42c9: 0xf0001919, 0x42ca: 0xf0001919, 0x42cb: 0xf0001919,\n\t0x42cc: 0xf0001919, 0x42cd: 0xf0001919, 0x42ce: 0xf0001919, 0x42cf: 0xf0001919,\n\t0x42d0: 0xf0001919, 0x42d1: 0xf0001919, 0x42d2: 0xf0001919, 0x42d3: 0xf0001919,\n\t0x42d4: 0xf0001919, 0x42d5: 0xf0001919, 0x42d6: 0xf0001919, 0x42d7: 0xe000155c,\n\t0x42d8: 0xe0001562, 0x42d9: 0xe0001568, 0x42da: 0xe0001571, 0x42db: 0xe0001580,\n\t0x42dc: 0xf0001717, 0x42dd: 0xf0001717, 0x42de: 0xf0001717, 0x42df: 0xf0001717,\n\t0x42e0: 0xf0001717, 0x42e1: 0xf0001717, 0x42e2: 0xf0001717, 0x42e3: 0xf0001717,\n\t0x42e4: 0xf0001717, 0x42e5: 0xf0001717, 0x42e6: 0xf0001717, 0x42e7: 0xf0001717,\n\t0x42e8: 0xf0001717, 0x42e9: 0xf0001717, 0x42ea: 0xf0001717, 0x42eb: 0xf0001717,\n\t0x42ec: 0xf0001717, 0x42ed: 0xf0001717, 0x42ee: 0xf0001717, 0x42ef: 0xf0001717,\n\t0x42f0: 0xf0001717, 0x42f1: 0xf0001717, 0x42f2: 0xf0001717, 0x42f3: 0xf0001717,\n\t0x42f4: 0xf0001717, 0x42f5: 0xf0001717, 0x42f6: 0xf0001717, 0x42f7: 0xf0001717,\n\t0x42f8: 0xf0001717, 0x42f9: 0xf0001717, 0x42fa: 0xf0001717, 0x42fb: 0xf0001717,\n\t0x42fc: 0xf0001717, 0x42fd: 0xf0001717, 0x42fe: 0xf0001717, 0x42ff: 0xf0001717,\n\t// Block 0x10c, offset 0x4300\n\t0x4300: 0xf0001717, 0x4301: 0xf0001717, 0x4302: 0xf0001717, 0x4303: 0xf0001717,\n\t0x4304: 0xf0001717, 0x4305: 0xf0001717, 0x4306: 0xf0001717, 0x4307: 0xf0001717,\n\t0x4308: 0xf0001717, 0x4309: 0xf0001717, 0x430a: 0xf0001717, 0x430b: 0xf0001717,\n\t0x430c: 0xf0001717, 0x430d: 0xf0001717, 0x430e: 0xf0001717, 0x430f: 0xf0001717,\n\t0x4310: 0xf0001717, 0x4311: 0xf0001717, 0x4312: 0xf0001717, 0x4313: 0xf0001717,\n\t0x4314: 0xf0001717, 0x4315: 0xf0001717, 0x4316: 0xf0001717, 0x4317: 0xf0001717,\n\t0x4318: 0xf0001717, 0x4319: 0xf0001717, 0x431a: 0xf0001717, 0x431b: 0xf0001717,\n\t0x431c: 0xf0001717, 0x431d: 0xf0001717, 0x431e: 0xf0001717, 0x431f: 0xe0001574,\n\t0x4320: 0xe0001583, 0x4321: 0xf0001818, 0x4322: 0xf0001818, 0x4323: 0xf0001818,\n\t0x4324: 0xf0001818, 0x4325: 0xf0001818, 0x4326: 0xf0001818, 0x4327: 0xf0001818,\n\t0x4328: 0xf0001818, 0x4329: 0xf0001818, 0x432a: 0xf0001818, 0x432b: 0xf0001818,\n\t0x432c: 0xf0001818, 0x432d: 0xf0001818, 0x432e: 0xf0001818, 0x432f: 0xf0001818,\n\t0x4330: 0xf0001818, 0x4331: 0xf0001818, 0x4332: 0xf0001818, 0x4333: 0xf0001818,\n\t0x4334: 0xf0001818, 0x4335: 0xf0001a1a, 0x4336: 0xf0001a1a, 0x4337: 0xf0001a1a,\n\t0x4338: 0xf0001a1a, 0x4339: 0xf0001a1a, 0x433a: 0xf0001a1a, 0x433b: 0xf0001a1a,\n\t0x433c: 0xf0001a1a, 0x433d: 0xf0001a1a, 0x433e: 0xf0001a1a, 0x433f: 0xf0001a1a,\n\t// Block 0x10d, offset 0x4340\n\t0x4340: 0xf0001a1a, 0x4341: 0xf0001a1a, 0x4342: 0xf0001a1a, 0x4343: 0xf0001a1a,\n\t0x4344: 0xf0001a1a, 0x4345: 0xf0001a1a, 0x4346: 0xf0001a1a, 0x4347: 0xf0001a1a,\n\t0x4348: 0xf0001a1a, 0x4349: 0xf0001a1a, 0x434a: 0xf0001a1a, 0x434b: 0xf0001a1a,\n\t0x434c: 0xf0001a1a, 0x434d: 0xf0001a1a, 0x434e: 0xf0001a1a, 0x434f: 0xf0001a1a,\n\t0x4350: 0xf0001a1a, 0x4351: 0xf0001919, 0x4352: 0xf0001919, 0x4353: 0xf0001919,\n\t0x4354: 0xf0001919, 0x4355: 0xf0001919, 0x4356: 0xf0001919, 0x4357: 0xf0001919,\n\t0x4358: 0xf0001919, 0x4359: 0xf0001919, 0x435a: 0xf0001919, 0x435b: 0xf0001919,\n\t0x435c: 0xf0001919, 0x435d: 0xf0001919, 0x435e: 0xf0001919, 0x435f: 0xf0001919,\n\t0x4360: 0xf0001919, 0x4361: 0xf0001919, 0x4362: 0xf0001919, 0x4363: 0xf0001919,\n\t0x4364: 0xf0001919, 0x4365: 0xf0001919, 0x4366: 0xf0001919, 0x4367: 0xf0001919,\n\t0x4368: 0xf0001919, 0x4369: 0xf0001919, 0x436a: 0xf0001919, 0x436b: 0xf0001919,\n\t0x436c: 0xf0001919, 0x436d: 0xf0001717, 0x436e: 0xf0001717, 0x436f: 0xf0001717,\n\t0x4370: 0xf0001717, 0x4371: 0xf0001717, 0x4372: 0xf0001717, 0x4373: 0xf0001717,\n\t0x4374: 0xf0001818, 0x4375: 0xf0001818, 0x4376: 0xf0001818, 0x4377: 0xf0001818,\n\t0x4378: 0xf0001818, 0x4379: 0xf0001818, 0x437a: 0xf0001818, 0x437b: 0xf0001818,\n\t0x437c: 0xf0001919, 0x437d: 0xf0001a1a, 0x437e: 0x4004c020, 0x437f: 0x4004c220,\n\t// Block 0x10e, offset 0x4380\n\t0x4390: 0xe00015d4, 0x4391: 0xe00015e4, 0x4392: 0xe00015e0, 0x4393: 0xe00015e8,\n\t0x4394: 0xe00015ec, 0x4395: 0xe00015f8, 0x4396: 0xe00015fc, 0x4397: 0xe0001600,\n\t0x4398: 0xe0001621, 0x4399: 0xe000161d, 0x439a: 0xe0001635, 0x439b: 0xe0001631,\n\t0x439c: 0xe0001646, 0x439d: 0xe000163e, 0x439e: 0xe0001642, 0x439f: 0xe000165a,\n\t0x43a0: 0xe0001656, 0x43a1: 0xe0001652, 0x43a2: 0xe0001662, 0x43a3: 0xe000165e,\n\t0x43a4: 0xe000168a, 0x43a5: 0xe0001686, 0x43a6: 0xe00016b6, 0x43a7: 0xe000166e,\n\t0x43a8: 0xe000166a, 0x43a9: 0xe0001666, 0x43aa: 0xe000167a, 0x43ab: 0xe0001676,\n\t0x43ac: 0xe0001682, 0x43ad: 0xe000167e, 0x43ae: 0xe00016ba, 0x43af: 0xe00016c6,\n\t0x43b0: 0xe00016c2, 0x43b1: 0xe00016ce, 0x43b2: 0xe00016ca, 0x43b3: 0xe00016d2,\n\t0x43b4: 0xe00016d6, 0x43b5: 0xe00016de, 0x43b6: 0xe00016eb, 0x43b7: 0xe00016e7,\n\t0x43b8: 0xe00016ef, 0x43b9: 0xe00016f7, 0x43ba: 0xe00016ff, 0x43bb: 0xe00016fb,\n\t0x43bc: 0xe0001707, 0x43bd: 0xe0001703, 0x43be: 0xe0001717, 0x43bf: 0xe000171b,\n\t// Block 0x10f, offset 0x43c0\n\t0x43c0: 0xe0001759, 0x43c1: 0xe0001761, 0x43c2: 0xe000175d, 0x43c3: 0xe0001741,\n\t0x43c4: 0xe0001745, 0x43c5: 0xe0001769, 0x43c6: 0xe0001765, 0x43c7: 0xe0001771,\n\t0x43c8: 0xe000176d, 0x43c9: 0xe000178c, 0x43ca: 0xe0001790, 0x43cb: 0xe0001799,\n\t0x43cc: 0xe000177c, 0x43cd: 0xe0001784, 0x43ce: 0xe000179d, 0x43cf: 0xe00017a1,\n\t0x43d2: 0xe0001780, 0x43d3: 0xe00017d9,\n\t0x43d4: 0xe00017dd, 0x43d5: 0xe00017c5, 0x43d6: 0xe00017c9, 0x43d7: 0xe00017b9,\n\t0x43d8: 0xe00017b5, 0x43d9: 0xe00017bd, 0x43da: 0xe00017d5, 0x43db: 0xe00017d1,\n\t0x43dc: 0xe00017f8, 0x43dd: 0xe00017f4, 0x43de: 0xe00015d0, 0x43df: 0xe00015dc,\n\t0x43e0: 0xe00015d8, 0x43e1: 0xe00015f4, 0x43e2: 0xe00015f0, 0x43e3: 0xe0001608,\n\t0x43e4: 0xe0001604, 0x43e5: 0xe0001629, 0x43e6: 0xe000160c, 0x43e7: 0xe0001625,\n\t0x43e8: 0xe000164a, 0x43e9: 0xe000168e, 0x43ea: 0xe0001672, 0x43eb: 0xe00016be,\n\t0x43ec: 0xe0001751, 0x43ed: 0xe0001775, 0x43ee: 0xe00017f0, 0x43ef: 0xe00017ec,\n\t0x43f0: 0xe00017fc, 0x43f1: 0xe00017a9, 0x43f2: 0xe000171f, 0x43f3: 0xe00017cd,\n\t0x43f4: 0xe0001713, 0x43f5: 0xe0001755, 0x43f6: 0xe00016f3, 0x43f7: 0xe000172b,\n\t0x43f8: 0xe00017ad, 0x43f9: 0xe00017a5, 0x43fa: 0xe0001749, 0x43fb: 0xe0001727,\n\t0x43fc: 0xe000174d, 0x43fd: 0xe00017b1, 0x43fe: 0xe0001610, 0x43ff: 0xe000162d,\n\t// Block 0x110, offset 0x4400\n\t0x4400: 0xe0001788, 0x4401: 0xe000170b, 0x4402: 0xe00015cc, 0x4403: 0xe0001723,\n\t0x4404: 0xe00016da, 0x4405: 0xe00016b2, 0x4406: 0xe000164e, 0x4407: 0xe00017c1,\n\t0x4430: 0xe00016ae, 0x4431: 0xe000170f, 0x4432: 0xe00015c7, 0x4433: 0xe00015c2,\n\t0x4434: 0xe0001794, 0x4435: 0xe0001692, 0x4436: 0xe0001639, 0x4437: 0xe00016e2,\n\t0x4438: 0xe00017e7, 0x4439: 0xe0001697, 0x443a: 0xe000169b, 0x443b: 0xe0001614,\n\t0x443c: 0x40282e20, 0x443d: 0x40071620,\n\t// Block 0x111, offset 0x4440\n\t0x4440: 0xa0000000, 0x4441: 0xa0000000, 0x4442: 0xa0000000, 0x4443: 0xa0000000,\n\t0x4444: 0xa0000000, 0x4445: 0xa0000000, 0x4446: 0xa0000000, 0x4447: 0xa0000000,\n\t0x4448: 0xa0000000, 0x4449: 0xa0000000, 0x444a: 0xa0000000, 0x444b: 0xa0000000,\n\t0x444c: 0xa0000000, 0x444d: 0xa0000000, 0x444e: 0xa0000000, 0x444f: 0xa0000000,\n\t0x4450: 0x00024096, 0x4451: 0x00025c96, 0x4452: 0x00030496, 0x4453: 0x00026c96,\n\t0x4454: 0x00026296, 0x4455: 0x0002ba96, 0x4456: 0x0002c496, 0x4457: 0x0004b496,\n\t0x4458: 0x0004b696, 0x4459: 0xf0001616,\n\t0x4460: 0xae608202, 0x4461: 0xae600000, 0x4462: 0xae608102, 0x4463: 0xae600000,\n\t0x4464: 0xae600000, 0x4465: 0xae600000, 0x4466: 0xae600000,\n\t0x4470: 0xf0001f16, 0x4471: 0x00022c96, 0x4472: 0x00022a96, 0x4473: 0x00021696,\n\t0x4474: 0x00021696, 0x4475: 0x0003f496, 0x4476: 0x0003f696, 0x4477: 0x0003fc96,\n\t0x4478: 0x0003fe96, 0x4479: 0x0004b096, 0x447a: 0x0004b296, 0x447b: 0x0004ac96,\n\t0x447c: 0x0004ae96, 0x447d: 0x0004a096, 0x447e: 0x0004a296, 0x447f: 0x00049c96,\n\t// Block 0x112, offset 0x4480\n\t0x4480: 0x00049e96, 0x4481: 0x0004a496, 0x4482: 0x0004a696, 0x4483: 0x0004a896,\n\t0x4484: 0x0004aa96, 0x4485: 0x40025e20, 0x4486: 0x40026020, 0x4487: 0x0003f896,\n\t0x4488: 0x0003fa96, 0x4489: 0x00021484, 0x448a: 0x00021484, 0x448b: 0x00021484,\n\t0x448c: 0x00021484, 0x448d: 0x00021684, 0x448e: 0x00021684, 0x448f: 0x00021684,\n\t0x4490: 0x0002408f, 0x4491: 0x00025c8f, 0x4492: 0x0002e48f,\n\t0x4494: 0x0002628f, 0x4495: 0x00026c8f, 0x4496: 0x0002c48f, 0x4497: 0x0002ba8f,\n\t0x4498: 0x00022c8f, 0x4499: 0x0003f48f, 0x449a: 0x0003f68f, 0x449b: 0x0003fc8f,\n\t0x449c: 0x0003fe8f, 0x449d: 0x0004b08f, 0x449e: 0x0004b28f, 0x449f: 0x0004ea8f,\n\t0x44a0: 0x0004e68f, 0x44a1: 0x0004d88f, 0x44a2: 0x0009388f, 0x44a3: 0x00021a8f,\n\t0x44a4: 0x0009408f, 0x44a5: 0x0009448f, 0x44a6: 0x0009428f,\n\t0x44a8: 0x0004e48f, 0x44a9: 0x0027de8f, 0x44aa: 0x0004ec8f, 0x44ab: 0x0004d68f,\n\t0x44b0: 0xa000a21a, 0x44b1: 0xa000a218, 0x44b2: 0xa000a51a, 0x44b3: 0xa0000000,\n\t0x44b4: 0xa000a91a, 0x44b6: 0xa000ad1a, 0x44b7: 0xa000ad18,\n\t0x44b8: 0xa000b21a, 0x44b9: 0xa000b218, 0x44ba: 0xa000b61a, 0x44bb: 0xa000b618,\n\t0x44bc: 0xa000ba1a, 0x44bd: 0xa000ba18, 0x44be: 0xa000bc1a, 0x44bf: 0xa000bc18,\n\t// Block 0x113, offset 0x44c0\n\t0x44c0: 0x00391c9a, 0x44c1: 0x00391e9a, 0x44c2: 0x00391e99, 0x44c3: 0x0039209a,\n\t0x44c4: 0x00392099, 0x44c5: 0x0039269a, 0x44c6: 0x00392699, 0x44c7: 0x0039289a,\n\t0x44c8: 0x00392899, 0x44c9: 0x0039309a, 0x44ca: 0x00393099, 0x44cb: 0x00393097,\n\t0x44cc: 0x00393098, 0x44cd: 0x0039389a, 0x44ce: 0x00393899, 0x44cf: 0x00393c9a,\n\t0x44d0: 0x00393c99, 0x44d1: 0x00393c97, 0x44d2: 0x00393c98, 0x44d3: 0x0039549a,\n\t0x44d4: 0x00395499, 0x44d5: 0x0039569a, 0x44d6: 0x00395699, 0x44d7: 0x00395697,\n\t0x44d8: 0x00395698, 0x44d9: 0x0039589a, 0x44da: 0x00395899, 0x44db: 0x00395897,\n\t0x44dc: 0x00395898, 0x44dd: 0x0039649a, 0x44de: 0x00396499, 0x44df: 0x00396497,\n\t0x44e0: 0x00396498, 0x44e1: 0x0039729a, 0x44e2: 0x00397299, 0x44e3: 0x00397297,\n\t0x44e4: 0x00397298, 0x44e5: 0x0039749a, 0x44e6: 0x00397499, 0x44e7: 0x00397497,\n\t0x44e8: 0x00397498, 0x44e9: 0x0039889a, 0x44ea: 0x00398899, 0x44eb: 0x00398a9a,\n\t0x44ec: 0x00398a99, 0x44ed: 0x0039a49a, 0x44ee: 0x0039a499, 0x44ef: 0x0039a69a,\n\t0x44f0: 0x0039a699, 0x44f1: 0x0039c69a, 0x44f2: 0x0039c699, 0x44f3: 0x0039c697,\n\t0x44f4: 0x0039c698, 0x44f5: 0x0039c89a, 0x44f6: 0x0039c899, 0x44f7: 0x0039c897,\n\t0x44f8: 0x0039c898, 0x44f9: 0x0039dc9a, 0x44fa: 0x0039dc99, 0x44fb: 0x0039dc97,\n\t0x44fc: 0x0039dc98, 0x44fd: 0x0039de9a, 0x44fe: 0x0039de99, 0x44ff: 0x0039de97,\n\t// Block 0x114, offset 0x4500\n\t0x4500: 0x0039de98, 0x4501: 0x0039e69a, 0x4502: 0x0039e699, 0x4503: 0x0039e697,\n\t0x4504: 0x0039e698, 0x4505: 0x0039e89a, 0x4506: 0x0039e899, 0x4507: 0x0039e897,\n\t0x4508: 0x0039e898, 0x4509: 0x0039ee9a, 0x450a: 0x0039ee99, 0x450b: 0x0039ee97,\n\t0x450c: 0x0039ee98, 0x450d: 0x0039f09a, 0x450e: 0x0039f099, 0x450f: 0x0039f097,\n\t0x4510: 0x0039f098, 0x4511: 0x0039fc9a, 0x4512: 0x0039fc99, 0x4513: 0x0039fc97,\n\t0x4514: 0x0039fc98, 0x4515: 0x003a129a, 0x4516: 0x003a1299, 0x4517: 0x003a1297,\n\t0x4518: 0x003a1298, 0x4519: 0x003a1a9a, 0x451a: 0x003a1a99, 0x451b: 0x003a1a97,\n\t0x451c: 0x003a1a98, 0x451d: 0x003a409a, 0x451e: 0x003a4099, 0x451f: 0x003a4097,\n\t0x4520: 0x003a4098, 0x4521: 0x003a4e9a, 0x4522: 0x003a4e99, 0x4523: 0x003a4e97,\n\t0x4524: 0x003a4e98, 0x4525: 0x003a569a, 0x4526: 0x003a5699, 0x4527: 0x003a5697,\n\t0x4528: 0x003a5698, 0x4529: 0x003a689a, 0x452a: 0x003a6899, 0x452b: 0x003a6897,\n\t0x452c: 0x003a6898, 0x452d: 0x003a749a, 0x452e: 0x003a7499, 0x452f: 0x003a8e9a,\n\t0x4530: 0x003a8e99, 0x4531: 0x003a909a, 0x4532: 0x003a9099, 0x4533: 0x003a9097,\n\t0x4534: 0x003a9098, 0x4535: 0xe0001732, 0x4536: 0xe000172f, 0x4537: 0xe0001738,\n\t0x4538: 0xe0001735, 0x4539: 0xe000173e, 0x453a: 0xe000173b, 0x453b: 0xf0001a1a,\n\t0x453c: 0xf0001919, 0x453f: 0xa0000000,\n\t// Block 0x115, offset 0x4540\n\t0x4541: 0x0002ba83, 0x4542: 0x0003e083, 0x4543: 0x0004ea83,\n\t0x4544: 0x0027de83, 0x4545: 0x0004ec83, 0x4546: 0x0004e683, 0x4547: 0x0003d283,\n\t0x4548: 0x0003f483, 0x4549: 0x0003f683, 0x454a: 0x0004d883, 0x454b: 0x00093883,\n\t0x454c: 0x00024083, 0x454d: 0x00021a83, 0x454e: 0x0002e483, 0x454f: 0x0004e283,\n\t0x4550: 0x0029cc83, 0x4551: 0x0029ce83, 0x4552: 0x0029d083, 0x4553: 0x0029d283,\n\t0x4554: 0x0029d483, 0x4555: 0x0029d683, 0x4556: 0x0029d883, 0x4557: 0x0029da83,\n\t0x4558: 0x0029dc83, 0x4559: 0x0029de83, 0x455a: 0x00026c83, 0x455b: 0x00026283,\n\t0x455c: 0x00094083, 0x455d: 0x00094283, 0x455e: 0x00094483, 0x455f: 0x0002c483,\n\t0x4560: 0x0004d683, 0x4561: 0x002bde89, 0x4562: 0x002c0a89, 0x4563: 0x002c3a89,\n\t0x4564: 0x002c6289, 0x4565: 0x002c9889, 0x4566: 0x002d0889, 0x4567: 0x002d2289,\n\t0x4568: 0x002d6889, 0x4569: 0x002d9a89, 0x456a: 0x002dcc89, 0x456b: 0x002dfe89,\n\t0x456c: 0x002e2289, 0x456d: 0x002e8289, 0x456e: 0x002e9e89, 0x456f: 0x002ee289,\n\t0x4570: 0x002f2c89, 0x4571: 0x002f5689, 0x4572: 0x002f7a89, 0x4573: 0x002fe689,\n\t0x4574: 0x00302c89, 0x4575: 0x00306c89, 0x4576: 0x0030be89, 0x4577: 0x0030e289,\n\t0x4578: 0x0030f689, 0x4579: 0x00310089, 0x457a: 0x00312a89, 0x457b: 0x0003f883,\n\t0x457c: 0x0004e483, 0x457d: 0x0003fa83, 0x457e: 0x00062483, 0x457f: 0x00021683,\n\t// Block 0x116, offset 0x4580\n\t0x4580: 0x00061e83, 0x4581: 0x002bde83, 0x4582: 0x002c0a83, 0x4583: 0x002c3a83,\n\t0x4584: 0x002c6283, 0x4585: 0x002c9883, 0x4586: 0x002d0883, 0x4587: 0x002d2283,\n\t0x4588: 0x002d6883, 0x4589: 0x002d9a83, 0x458a: 0x002dcc83, 0x458b: 0x002dfe83,\n\t0x458c: 0x002e2283, 0x458d: 0x002e8283, 0x458e: 0x002e9e83, 0x458f: 0x002ee283,\n\t0x4590: 0x002f2c83, 0x4591: 0x002f5683, 0x4592: 0x002f7a83, 0x4593: 0x002fe683,\n\t0x4594: 0x00302c83, 0x4595: 0x00306c83, 0x4596: 0x0030be83, 0x4597: 0x0030e283,\n\t0x4598: 0x0030f683, 0x4599: 0x00310083, 0x459a: 0x00312a83, 0x459b: 0x0003fc83,\n\t0x459c: 0x00094883, 0x459d: 0x0003fe83, 0x459e: 0x00094c83, 0x459f: 0x00041883,\n\t0x45a0: 0x00041a83, 0x45a1: 0x00030492, 0x45a2: 0x0004a492, 0x45a3: 0x0004a692,\n\t0x45a4: 0x00025c92, 0x45a5: 0x00023e92, 0x45a6: 0x0065d692, 0x45a7: 0x00657690,\n\t0x45a8: 0x00657890, 0x45a9: 0x00657a90, 0x45aa: 0x00657e90, 0x45ab: 0x00658090,\n\t0x45ac: 0x0065be90, 0x45ad: 0x0065c090, 0x45ae: 0x0065c490, 0x45af: 0x00659a90,\n\t0x45b0: 0x0027d692, 0x45b1: 0x00657692, 0x45b2: 0x00657892, 0x45b3: 0x00657a92,\n\t0x45b4: 0x00657e92, 0x45b5: 0x00658092, 0x45b6: 0x00658292, 0x45b7: 0x00658492,\n\t0x45b8: 0x00658692, 0x45b9: 0x00658892, 0x45ba: 0x00658a92, 0x45bb: 0x00658c92,\n\t0x45bc: 0x00658e92, 0x45bd: 0x00659092, 0x45be: 0x00659292, 0x45bf: 0x00659492,\n\t// Block 0x117, offset 0x45c0\n\t0x45c0: 0x00659692, 0x45c1: 0x00659892, 0x45c2: 0x00659a92, 0x45c3: 0x00659c92,\n\t0x45c4: 0x00659e92, 0x45c5: 0x0065a092, 0x45c6: 0x0065a292, 0x45c7: 0x0065a492,\n\t0x45c8: 0x0065a692, 0x45c9: 0x0065a892, 0x45ca: 0x0065aa92, 0x45cb: 0x0065ac92,\n\t0x45cc: 0x0065ae92, 0x45cd: 0x0065b092, 0x45ce: 0x0065b292, 0x45cf: 0x0065b492,\n\t0x45d0: 0x0065b692, 0x45d1: 0x0065b892, 0x45d2: 0x0065ba92, 0x45d3: 0x0065bc92,\n\t0x45d4: 0x0065be92, 0x45d5: 0x0065c092, 0x45d6: 0x0065c492, 0x45d7: 0x0065c692,\n\t0x45d8: 0x0065c892, 0x45d9: 0x0065ca92, 0x45da: 0x0065cc92, 0x45db: 0x0065ce92,\n\t0x45dc: 0x0065d092, 0x45dd: 0x0065d892, 0x45de: 0xa0012812, 0x45df: 0xa0012912,\n\t0x45e0: 0x0063a692, 0x45e1: 0x0062ac92, 0x45e2: 0x0062ae92, 0x45e3: 0x00646892,\n\t0x45e4: 0x0062b092, 0x45e5: 0x00646c92, 0x45e6: 0x00646e92, 0x45e7: 0x0062b292,\n\t0x45e8: 0x0062b492, 0x45e9: 0x0062b692, 0x45ea: 0x00647492, 0x45eb: 0x00647692,\n\t0x45ec: 0x00647892, 0x45ed: 0x00647a92, 0x45ee: 0x00647c92, 0x45ef: 0x00647e92,\n\t0x45f0: 0x0062e092, 0x45f1: 0x0062b892, 0x45f2: 0x0062ba92, 0x45f3: 0x0062bc92,\n\t0x45f4: 0x0062ee92, 0x45f5: 0x0062be92, 0x45f6: 0x0062c092, 0x45f7: 0x0062c292,\n\t0x45f8: 0x0062c492, 0x45f9: 0x0062c692, 0x45fa: 0x0062c892, 0x45fb: 0x0062ca92,\n\t0x45fc: 0x0062cc92, 0x45fd: 0x0062ce92, 0x45fe: 0x0062d092,\n\t// Block 0x118, offset 0x4600\n\t0x4602: 0x0063a892, 0x4603: 0x0063aa92,\n\t0x4604: 0x0063ac92, 0x4605: 0x0063ae92, 0x4606: 0x0063b092, 0x4607: 0x0063b292,\n\t0x460a: 0x0063b492, 0x460b: 0x0063b692,\n\t0x460c: 0x0063b892, 0x460d: 0x0063ba92, 0x460e: 0x0063bc92, 0x460f: 0x0063be92,\n\t0x4612: 0x0063c092, 0x4613: 0x0063c292,\n\t0x4614: 0x0063c492, 0x4615: 0x0063c692, 0x4616: 0x0063c892, 0x4617: 0x0063ca92,\n\t0x461a: 0x0063cc92, 0x461b: 0x0063ce92,\n\t0x461c: 0x0063d092,\n\t0x4620: 0x0027dc83, 0x4621: 0x0027e083, 0x4622: 0x00094683, 0x4623: 0x00062683,\n\t0x4624: 0x00094a83, 0x4625: 0x0027e283, 0x4626: 0x00280883,\n\t0x4628: 0x000d3292, 0x4629: 0x00084492, 0x462a: 0x00084892, 0x462b: 0x00084692,\n\t0x462c: 0x00084a92, 0x462d: 0x000e6e92, 0x462e: 0x000ec492,\n\t0x4639: 0xa0000000, 0x463a: 0xa0000000, 0x463b: 0xa0000000,\n\t0x463c: 0x4027ae20, 0x463d: 0x4027b020, 0x463e: 0x00000285, 0x463f: 0x2bfffe85,\n\t// Block 0x119, offset 0x4640\n\t0x4640: 0x40731a20, 0x4641: 0x40731c20, 0x4642: 0x40731e20, 0x4643: 0x40732020,\n\t0x4644: 0x40732220, 0x4645: 0x40732420, 0x4646: 0x40732620, 0x4647: 0x40732820,\n\t0x4648: 0x40732a20, 0x4649: 0x40732c20, 0x464a: 0x40732e20, 0x464b: 0x40733020,\n\t0x464d: 0x40733220, 0x464e: 0x40733420, 0x464f: 0x40733620,\n\t0x4650: 0x40733820, 0x4651: 0x40733a20, 0x4652: 0x40733c20, 0x4653: 0x40733e20,\n\t0x4654: 0x40734020, 0x4655: 0x40734220, 0x4656: 0x40734420, 0x4657: 0x40734620,\n\t0x4658: 0x40734820, 0x4659: 0x40734a20, 0x465a: 0x40734c20, 0x465b: 0x40734e20,\n\t0x465c: 0x40735020, 0x465d: 0x40735220, 0x465e: 0x40735420, 0x465f: 0x40735620,\n\t0x4660: 0x40735820, 0x4661: 0x40735a20, 0x4662: 0x40735c20, 0x4663: 0x40735e20,\n\t0x4664: 0x40736020, 0x4665: 0x40736220, 0x4666: 0x40736420,\n\t0x4668: 0x40736620, 0x4669: 0x40736820, 0x466a: 0x40736a20, 0x466b: 0x40736c20,\n\t0x466c: 0x40736e20, 0x466d: 0x40737020, 0x466e: 0x40737220, 0x466f: 0x40737420,\n\t0x4670: 0x40737620, 0x4671: 0x40737820, 0x4672: 0x40737a20, 0x4673: 0x40737c20,\n\t0x4674: 0x40737e20, 0x4675: 0x40738020, 0x4676: 0x40738220, 0x4677: 0x40738420,\n\t0x4678: 0x40738620, 0x4679: 0x40738820, 0x467a: 0x40738a20,\n\t0x467c: 0x40738c20, 0x467d: 0x40738e20, 0x467f: 0x40739020,\n\t// Block 0x11a, offset 0x4680\n\t0x4680: 0x40739220, 0x4681: 0x40739420, 0x4682: 0x40739620, 0x4683: 0x40739820,\n\t0x4684: 0x40739a20, 0x4685: 0x40739c20, 0x4686: 0x40739e20, 0x4687: 0x4073a020,\n\t0x4688: 0x4073a220, 0x4689: 0x4073a420, 0x468a: 0x4073a620, 0x468b: 0x4073a820,\n\t0x468c: 0x4073aa20, 0x468d: 0x4073ac20,\n\t0x4690: 0x4073ae20, 0x4691: 0x4073b020, 0x4692: 0x4073b220, 0x4693: 0x4073b420,\n\t0x4694: 0x4073b620, 0x4695: 0x4073b820, 0x4696: 0x4073ba20, 0x4697: 0x4073bc20,\n\t0x4698: 0x4073be20, 0x4699: 0x4073c020, 0x469a: 0x4073c220, 0x469b: 0x4073c420,\n\t0x469c: 0x4073c620, 0x469d: 0x4073c820,\n\t// Block 0x11b, offset 0x46c0\n\t0x46c0: 0x4073ca20, 0x46c1: 0x4073cc20, 0x46c2: 0x4073ce20, 0x46c3: 0x4073d020,\n\t0x46c4: 0x4073d220, 0x46c5: 0x4073d420, 0x46c6: 0x4073d620, 0x46c7: 0x4073d820,\n\t0x46c8: 0x4073da20, 0x46c9: 0x4073dc20, 0x46ca: 0x4073de20, 0x46cb: 0x4073e020,\n\t0x46cc: 0x4073e220, 0x46cd: 0x4073e420, 0x46ce: 0x4073e620, 0x46cf: 0x4073e820,\n\t0x46d0: 0x4073ea20, 0x46d1: 0x4073ec20, 0x46d2: 0x4073ee20, 0x46d3: 0x4073f020,\n\t0x46d4: 0x4073f220, 0x46d5: 0x4073f420, 0x46d6: 0x4073f620, 0x46d7: 0x4073f820,\n\t0x46d8: 0x4073fa20, 0x46d9: 0x4073fc20, 0x46da: 0x4073fe20, 0x46db: 0x40740020,\n\t0x46dc: 0x40740220, 0x46dd: 0x40740420, 0x46de: 0x40740620, 0x46df: 0x40740820,\n\t0x46e0: 0x40740a20, 0x46e1: 0x40740c20, 0x46e2: 0x40740e20, 0x46e3: 0x40741020,\n\t0x46e4: 0x40741220, 0x46e5: 0x40741420, 0x46e6: 0x40741620, 0x46e7: 0x40741820,\n\t0x46e8: 0x40741a20, 0x46e9: 0x40741c20, 0x46ea: 0x40741e20, 0x46eb: 0x40742020,\n\t0x46ec: 0x40742220, 0x46ed: 0x40742420, 0x46ee: 0x40742620, 0x46ef: 0x40742820,\n\t0x46f0: 0x40742a20, 0x46f1: 0x40742c20, 0x46f2: 0x40742e20, 0x46f3: 0x40743020,\n\t0x46f4: 0x40743220, 0x46f5: 0x40743420, 0x46f6: 0x40743620, 0x46f7: 0x40743820,\n\t0x46f8: 0x40743a20, 0x46f9: 0x40743c20, 0x46fa: 0x40743e20, 0x46fb: 0x40744020,\n\t0x46fc: 0x40744220, 0x46fd: 0x40744420, 0x46fe: 0x40744620, 0x46ff: 0x40744820,\n\t// Block 0x11c, offset 0x4700\n\t0x4700: 0x40744a20, 0x4701: 0x40744c20, 0x4702: 0x40744e20, 0x4703: 0x40745020,\n\t0x4704: 0x40745220, 0x4705: 0x40745420, 0x4706: 0x40745620, 0x4707: 0x40745820,\n\t0x4708: 0x40745a20, 0x4709: 0x40745c20, 0x470a: 0x40745e20, 0x470b: 0x40746020,\n\t0x470c: 0x40746220, 0x470d: 0x40746420, 0x470e: 0x40746620, 0x470f: 0x40746820,\n\t0x4710: 0x40746a20, 0x4711: 0x40746c20, 0x4712: 0x40746e20, 0x4713: 0x40747020,\n\t0x4714: 0x40747220, 0x4715: 0x40747420, 0x4716: 0x40747620, 0x4717: 0x40747820,\n\t0x4718: 0x40747a20, 0x4719: 0x40747c20, 0x471a: 0x40747e20, 0x471b: 0x40748020,\n\t0x471c: 0x40748220, 0x471d: 0x40748420, 0x471e: 0x40748620, 0x471f: 0x40748820,\n\t0x4720: 0x40748a20, 0x4721: 0x40748c20, 0x4722: 0x40748e20, 0x4723: 0x40749020,\n\t0x4724: 0x40749220, 0x4725: 0x40749420, 0x4726: 0x40749620, 0x4727: 0x40749820,\n\t0x4728: 0x40749a20, 0x4729: 0x40749c20, 0x472a: 0x40749e20, 0x472b: 0x4074a020,\n\t0x472c: 0x4074a220, 0x472d: 0x4074a420, 0x472e: 0x4074a620, 0x472f: 0x4074a820,\n\t0x4730: 0x4074aa20, 0x4731: 0x4074ac20, 0x4732: 0x4074ae20, 0x4733: 0x4074b020,\n\t0x4734: 0x4074b220, 0x4735: 0x4074b420, 0x4736: 0x4074b620, 0x4737: 0x4074b820,\n\t0x4738: 0x4074ba20, 0x4739: 0x4074bc20, 0x473a: 0x4074be20,\n\t// Block 0x11d, offset 0x4740\n\t0x4740: 0x4003be20, 0x4741: 0x4003c020, 0x4742: 0x4003c220,\n\t0x4747: 0xe000026a,\n\t0x4748: 0xe0000382, 0x4749: 0xe000045c, 0x474a: 0xe0000531, 0x474b: 0xe00005fb,\n\t0x474c: 0xe00006c6, 0x474d: 0xe000076e, 0x474e: 0xe000081a, 0x474f: 0xe00008bf,\n\t0x4750: 0x4028ba20, 0x4751: 0x4028bc20, 0x4752: 0x4028be20, 0x4753: 0x4028c020,\n\t0x4754: 0x4028c220, 0x4755: 0x4028c420, 0x4756: 0x4028c620, 0x4757: 0x4028c820,\n\t0x4758: 0x4028ca20, 0x4759: 0x4028cc20, 0x475a: 0x4028ce20, 0x475b: 0x4028d020,\n\t0x475c: 0x4028d220, 0x475d: 0x4028d420, 0x475e: 0x4028d620, 0x475f: 0x4028d820,\n\t0x4760: 0x4028da20, 0x4761: 0x4028dc20, 0x4762: 0x4028de20, 0x4763: 0x4028e020,\n\t0x4764: 0x4028e220, 0x4765: 0x4028e420, 0x4766: 0x4028e620, 0x4767: 0x4028e820,\n\t0x4768: 0x4028ea20, 0x4769: 0x4028ec20, 0x476a: 0x4028ee20, 0x476b: 0x4028f020,\n\t0x476c: 0x4028f220, 0x476d: 0x4028f420, 0x476e: 0x4028f620, 0x476f: 0x4028f820,\n\t0x4770: 0x4028fa20, 0x4771: 0x4028fc20, 0x4772: 0x4028fe20, 0x4773: 0x40290020,\n\t0x4777: 0x401afe20,\n\t0x4778: 0x401b0020, 0x4779: 0x401b0220, 0x477a: 0x401b0420, 0x477b: 0x401b0620,\n\t0x477c: 0x401b0820, 0x477d: 0x401b0a20, 0x477e: 0x401b0c20, 0x477f: 0x401b0e20,\n\t// Block 0x11e, offset 0x4780\n\t0x4780: 0x40290220, 0x4781: 0x40290420, 0x4782: 0xe000026d, 0x4783: 0xe00005fe,\n\t0x4784: 0x40290620, 0x4785: 0x40290820, 0x4786: 0x40290a20, 0x4787: 0x40290c20,\n\t0x4788: 0xe0000601, 0x4789: 0x40290e20, 0x478a: 0x40291020, 0x478b: 0x40291220,\n\t0x478c: 0x40291420, 0x478d: 0x40291620, 0x478e: 0x40291820, 0x478f: 0xe0000604,\n\t0x4790: 0x40291a20, 0x4791: 0x40291c20, 0x4792: 0x40291e20, 0x4793: 0x40292020,\n\t0x4794: 0x40292220, 0x4795: 0x40292420, 0x4796: 0x40292620, 0x4797: 0x40292820,\n\t0x4798: 0xe0000270, 0x4799: 0xe0000273, 0x479a: 0xe0000276, 0x479b: 0xe0000385,\n\t0x479c: 0xe0000388, 0x479d: 0xe000038b, 0x479e: 0xe000038e, 0x479f: 0xe0000607,\n\t0x47a0: 0x40292a20, 0x47a1: 0x40292c20, 0x47a2: 0x40292e20, 0x47a3: 0x40293020,\n\t0x47a4: 0x40293220, 0x47a5: 0x40293420, 0x47a6: 0x40293620, 0x47a7: 0x40293820,\n\t0x47a8: 0x40293a20, 0x47a9: 0x40293c20, 0x47aa: 0x40293e20, 0x47ab: 0x40294020,\n\t0x47ac: 0x40294220, 0x47ad: 0x40294420, 0x47ae: 0x40294620, 0x47af: 0x40294820,\n\t0x47b0: 0x40294a20, 0x47b1: 0x40294c20, 0x47b2: 0x40294e20, 0x47b3: 0xe000060a,\n\t0x47b4: 0x40295020, 0x47b5: 0x40295220, 0x47b6: 0x40295420, 0x47b7: 0x40295620,\n\t0x47b8: 0x40295820, 0x47b9: 0x401b1020, 0x47ba: 0x401b1220, 0x47bb: 0x401b1420,\n\t0x47bc: 0x401b1620, 0x47bd: 0x401b1820, 0x47be: 0x401b1a20, 0x47bf: 0x401b1c20,\n\t// Block 0x11f, offset 0x47c0\n\t0x47c0: 0x401b1e20, 0x47c1: 0x401b2020, 0x47c2: 0x401b2220, 0x47c3: 0x401b2420,\n\t0x47c4: 0x401b2620, 0x47c5: 0x401b2820, 0x47c6: 0x401b2a20, 0x47c7: 0x401b2c20,\n\t0x47c8: 0x401b2e20, 0x47c9: 0x401b3020, 0x47ca: 0xe00001d6,\n\t0x47d0: 0x401b3220, 0x47d1: 0x401b3420, 0x47d2: 0x401b3620, 0x47d3: 0x401b3820,\n\t0x47d4: 0x401b3a20, 0x47d5: 0x401b3c20, 0x47d6: 0x401b3e20, 0x47d7: 0x401b4020,\n\t0x47d8: 0x401b4220, 0x47d9: 0x401b4420, 0x47da: 0x401b4620, 0x47db: 0x401b4820,\n\t// Block 0x120, offset 0x4800\n\t0x4810: 0x401b4a20, 0x4811: 0x401b4c20, 0x4812: 0x401b4e20, 0x4813: 0x401b5020,\n\t0x4814: 0x401b5220, 0x4815: 0x401b5420, 0x4816: 0x401b5620, 0x4817: 0x401b5820,\n\t0x4818: 0x401b5a20, 0x4819: 0x401b5c20, 0x481a: 0x401b5e20, 0x481b: 0x401b6020,\n\t0x481c: 0x401b6220, 0x481d: 0x401b6420, 0x481e: 0x401b6620, 0x481f: 0x401b6820,\n\t0x4820: 0x401b6a20, 0x4821: 0x401b6c20, 0x4822: 0x401b6e20, 0x4823: 0x401b7020,\n\t0x4824: 0x401b7220, 0x4825: 0x401b7420, 0x4826: 0x401b7620, 0x4827: 0x401b7820,\n\t0x4828: 0x401b7a20, 0x4829: 0x401b7c20, 0x482a: 0x401b7e20, 0x482b: 0x401b8020,\n\t0x482c: 0x401b8220, 0x482d: 0x401b8420, 0x482e: 0x401b8620, 0x482f: 0x401b8820,\n\t0x4830: 0x401b8a20, 0x4831: 0x401b8c20, 0x4832: 0x401b8e20, 0x4833: 0x401b9020,\n\t0x4834: 0x401b9220, 0x4835: 0x401b9420, 0x4836: 0x401b9620, 0x4837: 0x401b9820,\n\t0x4838: 0x401b9a20, 0x4839: 0x401b9c20, 0x483a: 0x401b9e20, 0x483b: 0x401ba020,\n\t0x483c: 0x401ba220, 0x483d: 0xadc13802,\n\t// Block 0x121, offset 0x4840\n\t0x4840: 0x4070b820, 0x4841: 0x4070ba20, 0x4842: 0x4070bc20, 0x4843: 0x4070be20,\n\t0x4844: 0x4070c020, 0x4845: 0x4070c220, 0x4846: 0x4070c420, 0x4847: 0x4070c620,\n\t0x4848: 0x4070c820, 0x4849: 0x4070ca20, 0x484a: 0x4070cc20, 0x484b: 0x4070ce20,\n\t0x484c: 0x4070d020, 0x484d: 0x4070d220, 0x484e: 0x4070d420, 0x484f: 0x4070d620,\n\t0x4850: 0x4070d820, 0x4851: 0x4070da20, 0x4852: 0x4070dc20, 0x4853: 0x4070de20,\n\t0x4854: 0x4070e020, 0x4855: 0x4070e220, 0x4856: 0x4070e420, 0x4857: 0x4070e620,\n\t0x4858: 0x4070e820, 0x4859: 0x4070ea20, 0x485a: 0x4070ec20, 0x485b: 0x4070ee20,\n\t0x485c: 0x4070f020,\n\t0x4860: 0x4070f220, 0x4861: 0x4070f420, 0x4862: 0x4070f620, 0x4863: 0x4070f820,\n\t0x4864: 0x4070fa20, 0x4865: 0x4070fc20, 0x4866: 0x4070fe20, 0x4867: 0x40710020,\n\t0x4868: 0x40710220, 0x4869: 0x40710420, 0x486a: 0x40710620, 0x486b: 0x40710820,\n\t0x486c: 0x40710a20, 0x486d: 0x40710c20, 0x486e: 0x40710e20, 0x486f: 0x40711020,\n\t0x4870: 0x40711220, 0x4871: 0x40711420, 0x4872: 0x40711620, 0x4873: 0x40711820,\n\t0x4874: 0x40711a20, 0x4875: 0x40711c20, 0x4876: 0x40711e20, 0x4877: 0x40712020,\n\t0x4878: 0x40712220, 0x4879: 0x40712420, 0x487a: 0x40712620, 0x487b: 0x40712820,\n\t0x487c: 0x40712a20, 0x487d: 0x40712c20, 0x487e: 0x40712e20, 0x487f: 0x40713020,\n\t// Block 0x122, offset 0x4880\n\t0x4880: 0x40713220, 0x4881: 0x40713420, 0x4882: 0x40713620, 0x4883: 0x40713820,\n\t0x4884: 0x40713a20, 0x4885: 0x40713c20, 0x4886: 0x40713e20, 0x4887: 0x40714020,\n\t0x4888: 0x40714220, 0x4889: 0x40714420, 0x488a: 0x40714620, 0x488b: 0x40714820,\n\t0x488c: 0x40714a20, 0x488d: 0x40714c20, 0x488e: 0x40714e20, 0x488f: 0x40715020,\n\t0x4890: 0x40715220,\n\t// Block 0x123, offset 0x48c0\n\t0x48c0: 0x40718820, 0x48c1: 0x40718a20, 0x48c2: 0x40718c20, 0x48c3: 0x40718e20,\n\t0x48c4: 0x40719020, 0x48c5: 0x40719220, 0x48c6: 0x40719420, 0x48c7: 0x40719620,\n\t0x48c8: 0x40719820, 0x48c9: 0x40719a20, 0x48ca: 0x40719c20, 0x48cb: 0x40719e20,\n\t0x48cc: 0x4071a020, 0x48cd: 0x4071a220, 0x48ce: 0x4071a420, 0x48cf: 0x4071a620,\n\t0x48d0: 0x4071a820, 0x48d1: 0x4071aa20, 0x48d2: 0x4071ac20, 0x48d3: 0x4071ae20,\n\t0x48d4: 0x4071b020, 0x48d5: 0x4071b220, 0x48d6: 0x4071b420, 0x48d7: 0x4071b620,\n\t0x48d8: 0x4071b820, 0x48d9: 0x4071ba20, 0x48da: 0x4071bc20, 0x48db: 0x4071be20,\n\t0x48dc: 0x4071c020, 0x48dd: 0x4071c220, 0x48de: 0x4071c420,\n\t0x48e0: 0xe0000279, 0x48e1: 0xe000060d, 0x48e2: 0x4028b620, 0x48e3: 0x4028b820,\n\t0x48f0: 0x4071c620, 0x48f1: 0x4071c820, 0x48f2: 0x4071ca20, 0x48f3: 0x4071cc20,\n\t0x48f4: 0x4071ce20, 0x48f5: 0x4071d020, 0x48f6: 0x4071d220, 0x48f7: 0x4071d420,\n\t0x48f8: 0x4071d620, 0x48f9: 0x4071d820, 0x48fa: 0x4071da20, 0x48fb: 0x4071dc20,\n\t0x48fc: 0x4071de20, 0x48fd: 0x4071e020, 0x48fe: 0x4071e220, 0x48ff: 0x4071e420,\n\t// Block 0x124, offset 0x4900\n\t0x4900: 0x4071e620, 0x4901: 0x4071e820, 0x4902: 0x4071ea20, 0x4903: 0x4071ec20,\n\t0x4904: 0x4071ee20, 0x4905: 0x4071f020, 0x4906: 0x4071f220, 0x4907: 0x4071f420,\n\t0x4908: 0x4071f620, 0x4909: 0x4071f820, 0x490a: 0x4071fa20,\n\t// Block 0x125, offset 0x4940\n\t0x4940: 0x40765020, 0x4941: 0x40765220, 0x4942: 0x40765420, 0x4943: 0x40765620,\n\t0x4944: 0x40765820, 0x4945: 0x40765a20, 0x4946: 0x40765c20, 0x4947: 0x40765e20,\n\t0x4948: 0x40766020, 0x4949: 0x40766220, 0x494a: 0x40766420, 0x494b: 0x40766620,\n\t0x494c: 0x40766820, 0x494d: 0x40766a20, 0x494e: 0x40766c20, 0x494f: 0x40766e20,\n\t0x4950: 0x40767020, 0x4951: 0x40767220, 0x4952: 0x40767420, 0x4953: 0x40767620,\n\t0x4954: 0x40767820, 0x4955: 0x40767a20, 0x4956: 0x40767c20, 0x4957: 0x40767e20,\n\t0x4958: 0x40768020, 0x4959: 0x40768220, 0x495a: 0x40768420, 0x495b: 0x40768620,\n\t0x495c: 0x40768820, 0x495d: 0x40768a20, 0x495f: 0x4003c420,\n\t0x4960: 0x40768c20, 0x4961: 0x40768e20, 0x4962: 0x40769020, 0x4963: 0x40769220,\n\t0x4964: 0x40769420, 0x4965: 0x40769620, 0x4966: 0x40769820, 0x4967: 0x40769a20,\n\t0x4968: 0x40769c20, 0x4969: 0x40769e20, 0x496a: 0x4076a020, 0x496b: 0x4076a220,\n\t0x496c: 0x4076a420, 0x496d: 0x4076a620, 0x496e: 0x4076a820, 0x496f: 0x4076aa20,\n\t0x4970: 0x4076ac20, 0x4971: 0x4076ae20, 0x4972: 0x4076b020, 0x4973: 0x4076b220,\n\t0x4974: 0x4076b420, 0x4975: 0x4076b620, 0x4976: 0x4076b820, 0x4977: 0x4076ba20,\n\t0x4978: 0x4076bc20, 0x4979: 0x4076be20, 0x497a: 0x4076c020, 0x497b: 0x4076c220,\n\t0x497c: 0x4076c420, 0x497d: 0x4076c620, 0x497e: 0x4076c820, 0x497f: 0x4076ca20,\n\t// Block 0x126, offset 0x4980\n\t0x4980: 0x4076cc20, 0x4981: 0x4076ce20, 0x4982: 0x4076d020, 0x4983: 0x4076d220,\n\t0x4988: 0x4076d420, 0x4989: 0x4076d620, 0x498a: 0x4076d820, 0x498b: 0x4076da20,\n\t0x498c: 0x4076dc20, 0x498d: 0x4076de20, 0x498e: 0x4076e020, 0x498f: 0x4076e220,\n\t0x4990: 0x4003c620, 0x4991: 0xe000027c, 0x4992: 0xe0000391, 0x4993: 0x40295a20,\n\t0x4994: 0x40295c20, 0x4995: 0x40295e20,\n\t// Block 0x127, offset 0x49c0\n\t0x49c0: 0x0071fc88, 0x49c1: 0x0071fe88, 0x49c2: 0x00720088, 0x49c3: 0x00720288,\n\t0x49c4: 0x00720488, 0x49c5: 0x00720688, 0x49c6: 0x00720888, 0x49c7: 0x00720a88,\n\t0x49c8: 0x00720c88, 0x49c9: 0x00720e88, 0x49ca: 0x00721088, 0x49cb: 0x00721288,\n\t0x49cc: 0x00721488, 0x49cd: 0x00721688, 0x49ce: 0x00721888, 0x49cf: 0x00721a88,\n\t0x49d0: 0x00721c88, 0x49d1: 0x00721e88, 0x49d2: 0x00722088, 0x49d3: 0x00722288,\n\t0x49d4: 0x00722488, 0x49d5: 0x00722688, 0x49d6: 0x00722888, 0x49d7: 0x00722a88,\n\t0x49d8: 0x00722c88, 0x49d9: 0x00722e88, 0x49da: 0x00723088, 0x49db: 0x00723288,\n\t0x49dc: 0x00723488, 0x49dd: 0x00723688, 0x49de: 0x00723888, 0x49df: 0x00723a88,\n\t0x49e0: 0x00723c88, 0x49e1: 0x00723e88, 0x49e2: 0x00724088, 0x49e3: 0x00724288,\n\t0x49e4: 0x00724488, 0x49e5: 0x00724688, 0x49e6: 0x00724888, 0x49e7: 0x00724a88,\n\t0x49e8: 0x4071fc20, 0x49e9: 0x4071fe20, 0x49ea: 0x40720020, 0x49eb: 0x40720220,\n\t0x49ec: 0x40720420, 0x49ed: 0x40720620, 0x49ee: 0x40720820, 0x49ef: 0x40720a20,\n\t0x49f0: 0x40720c20, 0x49f1: 0x40720e20, 0x49f2: 0x40721020, 0x49f3: 0x40721220,\n\t0x49f4: 0x40721420, 0x49f5: 0x40721620, 0x49f6: 0x40721820, 0x49f7: 0x40721a20,\n\t0x49f8: 0x40721c20, 0x49f9: 0x40721e20, 0x49fa: 0x40722020, 0x49fb: 0x40722220,\n\t0x49fc: 0x40722420, 0x49fd: 0x40722620, 0x49fe: 0x40722820, 0x49ff: 0x40722a20,\n\t// Block 0x128, offset 0x4a00\n\t0x4a00: 0x40722c20, 0x4a01: 0x40722e20, 0x4a02: 0x40723020, 0x4a03: 0x40723220,\n\t0x4a04: 0x40723420, 0x4a05: 0x40723620, 0x4a06: 0x40723820, 0x4a07: 0x40723a20,\n\t0x4a08: 0x40723c20, 0x4a09: 0x40723e20, 0x4a0a: 0x40724020, 0x4a0b: 0x40724220,\n\t0x4a0c: 0x40724420, 0x4a0d: 0x40724620, 0x4a0e: 0x40724820, 0x4a0f: 0x40724a20,\n\t0x4a10: 0x40724c20, 0x4a11: 0x40724e20, 0x4a12: 0x40725020, 0x4a13: 0x40725220,\n\t0x4a14: 0x40725420, 0x4a15: 0x40725620, 0x4a16: 0x40725820, 0x4a17: 0x40725a20,\n\t0x4a18: 0x40725c20, 0x4a19: 0x40725e20, 0x4a1a: 0x40726020, 0x4a1b: 0x40726220,\n\t0x4a1c: 0x40726420, 0x4a1d: 0x40726620, 0x4a1e: 0x40726820, 0x4a1f: 0x40726a20,\n\t0x4a20: 0x40726c20, 0x4a21: 0x40726e20, 0x4a22: 0x40727020, 0x4a23: 0x40727220,\n\t0x4a24: 0x40727420, 0x4a25: 0x40727620, 0x4a26: 0x40727820, 0x4a27: 0x40727a20,\n\t0x4a28: 0x40727c20, 0x4a29: 0x40727e20, 0x4a2a: 0x40728020, 0x4a2b: 0x40728220,\n\t0x4a2c: 0x40728420, 0x4a2d: 0x40728620, 0x4a2e: 0x40728820, 0x4a2f: 0x40728a20,\n\t0x4a30: 0x40728c20, 0x4a31: 0x40728e20, 0x4a32: 0x40729020, 0x4a33: 0x40729220,\n\t0x4a34: 0x40729420, 0x4a35: 0x40729620, 0x4a36: 0x40729820, 0x4a37: 0x40729a20,\n\t0x4a38: 0x40729c20, 0x4a39: 0x40729e20, 0x4a3a: 0x4072a020, 0x4a3b: 0x4072a220,\n\t0x4a3c: 0x4072a420, 0x4a3d: 0x4072a620, 0x4a3e: 0x4072a820, 0x4a3f: 0x4072aa20,\n\t// Block 0x129, offset 0x4a40\n\t0x4a40: 0x4072ac20, 0x4a41: 0x4072ae20, 0x4a42: 0x4072b020, 0x4a43: 0x4072b220,\n\t0x4a44: 0x4072b420, 0x4a45: 0x4072b620, 0x4a46: 0x4072b820, 0x4a47: 0x4072ba20,\n\t0x4a48: 0x4072bc20, 0x4a49: 0x4072be20, 0x4a4a: 0x4072c020, 0x4a4b: 0x4072c220,\n\t0x4a4c: 0x4072c420, 0x4a4d: 0x4072c620, 0x4a4e: 0x4072c820, 0x4a4f: 0x4072ca20,\n\t0x4a50: 0x4072cc20, 0x4a51: 0x4072ce20, 0x4a52: 0x4072d020, 0x4a53: 0x4072d220,\n\t0x4a54: 0x4072d420, 0x4a55: 0x4072d620, 0x4a56: 0x4072d820, 0x4a57: 0x4072da20,\n\t0x4a58: 0x4072dc20, 0x4a59: 0x4072de20, 0x4a5a: 0x4072e020, 0x4a5b: 0x4072e220,\n\t0x4a5c: 0x4072e420, 0x4a5d: 0x4072e620,\n\t0x4a60: 0xe0000167, 0x4a61: 0xe00001f5, 0x4a62: 0xe0000310, 0x4a63: 0xe00003ea,\n\t0x4a64: 0xe00004c5, 0x4a65: 0xe000058f, 0x4a66: 0xe000065a, 0x4a67: 0xe0000702,\n\t0x4a68: 0xe00007ae, 0x4a69: 0xe0000853,\n\t// Block 0x12a, offset 0x4a80\n\t0x4a80: 0x4074c020, 0x4a81: 0x4074c220, 0x4a82: 0x4074c420, 0x4a83: 0x4074c620,\n\t0x4a84: 0x4074c820, 0x4a85: 0x4074ca20,\n\t0x4a88: 0x4074cc20, 0x4a8a: 0x4074ce20, 0x4a8b: 0x4074d020,\n\t0x4a8c: 0x4074d220, 0x4a8d: 0x4074d420, 0x4a8e: 0x4074d620, 0x4a8f: 0x4074d820,\n\t0x4a90: 0x4074da20, 0x4a91: 0x4074dc20, 0x4a92: 0x4074de20, 0x4a93: 0x4074e020,\n\t0x4a94: 0x4074e220, 0x4a95: 0x4074e420, 0x4a96: 0x4074e620, 0x4a97: 0x4074e820,\n\t0x4a98: 0x4074ea20, 0x4a99: 0x4074ec20, 0x4a9a: 0x4074ee20, 0x4a9b: 0x4074f020,\n\t0x4a9c: 0x4074f220, 0x4a9d: 0x4074f420, 0x4a9e: 0x4074f620, 0x4a9f: 0x4074f820,\n\t0x4aa0: 0x4074fa20, 0x4aa1: 0x4074fc20, 0x4aa2: 0x4074fe20, 0x4aa3: 0x40750020,\n\t0x4aa4: 0x40750220, 0x4aa5: 0x40750420, 0x4aa6: 0x40750620, 0x4aa7: 0x40750820,\n\t0x4aa8: 0x40750a20, 0x4aa9: 0x40750c20, 0x4aaa: 0x40750e20, 0x4aab: 0x40751020,\n\t0x4aac: 0x40751220, 0x4aad: 0x40751420, 0x4aae: 0x40751620, 0x4aaf: 0x40751820,\n\t0x4ab0: 0x40751a20, 0x4ab1: 0x40751c20, 0x4ab2: 0x40751e20, 0x4ab3: 0x40752020,\n\t0x4ab4: 0x40752220, 0x4ab5: 0x40752420, 0x4ab7: 0x40752620,\n\t0x4ab8: 0x40752820,\n\t0x4abc: 0x40752a20, 0x4abf: 0x40752c20,\n\t// Block 0x12b, offset 0x4ac0\n\t0x4ac0: 0x4075d220, 0x4ac1: 0x4075d420, 0x4ac2: 0x4075d620, 0x4ac3: 0x4075d820,\n\t0x4ac4: 0x4075da20, 0x4ac5: 0x4075dc20, 0x4ac6: 0x4075de20, 0x4ac7: 0x4075e020,\n\t0x4ac8: 0x4075e220, 0x4ac9: 0x4075e420, 0x4aca: 0x4075e620, 0x4acb: 0x4075e820,\n\t0x4acc: 0x4075ea20, 0x4acd: 0x4075ec20, 0x4ace: 0x4075ee20, 0x4acf: 0x4075f020,\n\t0x4ad0: 0x4075f220, 0x4ad1: 0x4075f420, 0x4ad2: 0x4075f620, 0x4ad3: 0x4075f820,\n\t0x4ad4: 0x4075fa20, 0x4ad5: 0x4075fc20, 0x4ad7: 0x40038620,\n\t0x4ad8: 0xe0000297, 0x4ad9: 0xe00003b2, 0x4ada: 0xe000048c, 0x4adb: 0x40296820,\n\t0x4adc: 0x40296a20, 0x4add: 0x40296c20, 0x4ade: 0x40296e20, 0x4adf: 0x40297020,\n\t// Block 0x12c, offset 0x4b00\n\t0x4b00: 0x4038bc20, 0x4b01: 0x4038be20, 0x4b02: 0x4038c020, 0x4b03: 0x4038c220,\n\t0x4b04: 0x4038c420, 0x4b05: 0x4038c620, 0x4b06: 0x4038c820, 0x4b07: 0x4038ca20,\n\t0x4b08: 0x4038cc20, 0x4b09: 0x4038ce20, 0x4b0a: 0x4038d020, 0x4b0b: 0x4038d220,\n\t0x4b0c: 0x4038d420, 0x4b0d: 0x4038d620, 0x4b0e: 0x4038d820, 0x4b0f: 0x4038da20,\n\t0x4b10: 0x4038dc20, 0x4b11: 0x4038de20, 0x4b12: 0x4038e020, 0x4b13: 0x4038e220,\n\t0x4b14: 0x4038e420, 0x4b15: 0x4038e620, 0x4b16: 0xe0000294, 0x4b17: 0x40296220,\n\t0x4b18: 0x40296420, 0x4b19: 0x40296620, 0x4b1a: 0xe00003af, 0x4b1b: 0xe0000489,\n\t0x4b1f: 0x4003c820,\n\t0x4b20: 0x40715420, 0x4b21: 0x40715620, 0x4b22: 0x40715820, 0x4b23: 0x40715a20,\n\t0x4b24: 0x40715c20, 0x4b25: 0x40715e20, 0x4b26: 0x40716020, 0x4b27: 0x40716220,\n\t0x4b28: 0x40716420, 0x4b29: 0x40716620, 0x4b2a: 0x40716820, 0x4b2b: 0x40716a20,\n\t0x4b2c: 0x40716c20, 0x4b2d: 0x40716e20, 0x4b2e: 0x40717020, 0x4b2f: 0x40717220,\n\t0x4b30: 0x40717420, 0x4b31: 0x40717620, 0x4b32: 0x40717820, 0x4b33: 0x40717a20,\n\t0x4b34: 0x40717c20, 0x4b35: 0x40717e20, 0x4b36: 0x40718020, 0x4b37: 0x40718220,\n\t0x4b38: 0x40718420, 0x4b39: 0x40718620,\n\t0x4b3f: 0x4003bc20,\n\t// Block 0x12d, offset 0x4b40\n\t0x4b40: 0xe00023a4, 0x4b41: 0xe00023a7, 0x4b42: 0xe00023aa, 0x4b43: 0xe00023ad,\n\t0x4b44: 0xe00023b0, 0x4b45: 0xe00023b3, 0x4b46: 0xe00023b6, 0x4b47: 0xe00023b9,\n\t0x4b48: 0xe00023bc, 0x4b49: 0xe00023bf, 0x4b4a: 0xe00023c2, 0x4b4b: 0xe00023c5,\n\t0x4b4c: 0xe00023c8, 0x4b4d: 0xe00023cb, 0x4b4e: 0xe00023ce, 0x4b4f: 0xe00023d1,\n\t0x4b50: 0xe00023d4, 0x4b51: 0xe00023d7, 0x4b52: 0xe00023da, 0x4b53: 0xe00023e0,\n\t0x4b54: 0xe00023e3, 0x4b55: 0xe00023e6, 0x4b56: 0xe00023e9, 0x4b57: 0xe00023ec,\n\t0x4b58: 0xe00023ef, 0x4b59: 0xe00023f2, 0x4b5a: 0xe00023f5, 0x4b5b: 0xe00023f8,\n\t0x4b5c: 0xe00023fb, 0x4b5d: 0xe00023fe, 0x4b5e: 0x40865220, 0x4b5f: 0x40865420,\n\t0x4b60: 0x40862020, 0x4b61: 0x40862220, 0x4b62: 0x40862420, 0x4b63: 0x40862620,\n\t0x4b64: 0x40862820, 0x4b65: 0x40862a20, 0x4b66: 0x40862c20, 0x4b67: 0x40862e20,\n\t0x4b68: 0x40863020, 0x4b69: 0x40863220, 0x4b6a: 0x40863420, 0x4b6b: 0x40863620,\n\t0x4b6c: 0x40863820, 0x4b6d: 0x40863a20, 0x4b6e: 0x40863c20, 0x4b6f: 0x40863e20,\n\t0x4b70: 0xe00023dd, 0x4b71: 0x40864020, 0x4b72: 0x40864220, 0x4b73: 0x40864420,\n\t0x4b74: 0x40864620, 0x4b75: 0x40864820, 0x4b76: 0x40864a20, 0x4b77: 0x40864c20,\n\t0x4b7e: 0x40864e20, 0x4b7f: 0x40865020,\n\t// Block 0x12e, offset 0x4b80\n\t0x4b80: 0x4048bc20, 0x4b81: 0x4048be20, 0x4b82: 0x4048c020, 0x4b83: 0x4048c220,\n\t0x4b85: 0x4048c420, 0x4b86: 0x4048c620,\n\t0x4b8c: 0x4048c820, 0x4b8d: 0xadc06002, 0x4b8e: 0xa000f302, 0x4b8f: 0xae60f402,\n\t0x4b90: 0x4048ca20, 0x4b91: 0x4048cc20, 0x4b92: 0x4048ce20, 0x4b93: 0x4048d020,\n\t0x4b95: 0x4048d220, 0x4b96: 0x4048d420, 0x4b97: 0x4048d620,\n\t0x4b99: 0x4048d820, 0x4b9a: 0x4048da20, 0x4b9b: 0x4048dc20,\n\t0x4b9c: 0x4048de20, 0x4b9d: 0x4048e020, 0x4b9e: 0x4048e220, 0x4b9f: 0x4048e420,\n\t0x4ba0: 0x4048e620, 0x4ba1: 0x4048e820, 0x4ba2: 0x4048ea20, 0x4ba3: 0x4048ec20,\n\t0x4ba4: 0x4048ee20, 0x4ba5: 0x4048f020, 0x4ba6: 0x4048f220, 0x4ba7: 0x4048f420,\n\t0x4ba8: 0x4048f620, 0x4ba9: 0x4048f820, 0x4baa: 0x4048fa20, 0x4bab: 0x4048fc20,\n\t0x4bac: 0x4048fe20, 0x4bad: 0x40490020, 0x4bae: 0x40490220, 0x4baf: 0x40490420,\n\t0x4bb0: 0x40490620, 0x4bb1: 0x40490820, 0x4bb2: 0x40490a20, 0x4bb3: 0x40490c20,\n\t0x4bb8: 0xae60fb02, 0x4bb9: 0xa010fc02, 0x4bba: 0xadc0fd02,\n\t0x4bbf: 0x82092487,\n\t// Block 0x12f, offset 0x4bc0\n\t0x4bc0: 0xe00002ac, 0x4bc1: 0xe00003c7, 0x4bc2: 0xe00004a1, 0x4bc3: 0xe0000573,\n\t0x4bc4: 0x40299820, 0x4bc5: 0x40299a20, 0x4bc6: 0x40299c20, 0x4bc7: 0x40299e20,\n\t0x4bd0: 0x40060620, 0x4bd1: 0x40060820, 0x4bd2: 0x40060a20, 0x4bd3: 0x40060c20,\n\t0x4bd4: 0x40060e20, 0x4bd5: 0x40061020, 0x4bd6: 0x40034420, 0x4bd7: 0x40034620,\n\t0x4bd8: 0x40061220,\n\t0x4be0: 0x40752e20, 0x4be1: 0x40753020, 0x4be2: 0x40753220, 0x4be3: 0x40753420,\n\t0x4be4: 0x40753620, 0x4be5: 0x40753820, 0x4be6: 0x40753a20, 0x4be7: 0x40753c20,\n\t0x4be8: 0x40753e20, 0x4be9: 0x40754020, 0x4bea: 0x40754220, 0x4beb: 0x40754420,\n\t0x4bec: 0x40754620, 0x4bed: 0x40754820, 0x4bee: 0x40754a20, 0x4bef: 0x40754c20,\n\t0x4bf0: 0x40754e20, 0x4bf1: 0x40755020, 0x4bf2: 0x40755220, 0x4bf3: 0x40755420,\n\t0x4bf4: 0x40755620, 0x4bf5: 0x40755820, 0x4bf6: 0x40755a20, 0x4bf7: 0x40755c20,\n\t0x4bf8: 0x40755e20, 0x4bf9: 0x40756020, 0x4bfa: 0x40756220, 0x4bfb: 0x40756420,\n\t0x4bfc: 0x40756620, 0x4bfd: 0xe0000291, 0x4bfe: 0x40296020, 0x4bff: 0x40061c20,\n\t// Block 0x130, offset 0x4c00\n\t0x4c00: 0x40756820, 0x4c01: 0x40756a20, 0x4c02: 0x40756c20, 0x4c03: 0x40756e20,\n\t0x4c04: 0x40757020, 0x4c05: 0x40757220, 0x4c06: 0x40757420, 0x4c07: 0x40757620,\n\t0x4c08: 0x40757820, 0x4c09: 0x40757a20, 0x4c0a: 0x40757c20, 0x4c0b: 0x40757e20,\n\t0x4c0c: 0x40758020, 0x4c0d: 0x40758220, 0x4c0e: 0x40758420, 0x4c0f: 0x40758620,\n\t0x4c10: 0x40758820, 0x4c11: 0x40758a20, 0x4c12: 0x40758c20, 0x4c13: 0x40758e20,\n\t0x4c14: 0x40759020, 0x4c15: 0x40759220, 0x4c16: 0x40759420, 0x4c17: 0x40759620,\n\t0x4c18: 0x40759820, 0x4c19: 0x40759a20, 0x4c1a: 0x40759c20, 0x4c1b: 0x40759e20,\n\t0x4c1c: 0x4075a020, 0x4c1d: 0x4075a220, 0x4c1e: 0x4075a420, 0x4c1f: 0x4075a620,\n\t0x4c20: 0x4075a820, 0x4c21: 0x4075aa20, 0x4c22: 0x4075ac20, 0x4c23: 0x4075ae20,\n\t0x4c24: 0x4075b020, 0x4c25: 0x4075b220, 0x4c26: 0x4075b420, 0x4c27: 0x4075b620,\n\t0x4c28: 0x4075b820, 0x4c29: 0x4075ba20, 0x4c2a: 0x4075bc20, 0x4c2b: 0x4075be20,\n\t0x4c2c: 0x4075c020, 0x4c2d: 0x4075c220, 0x4c2e: 0xe00023a1, 0x4c2f: 0x4075c420,\n\t0x4c30: 0x4075c620, 0x4c31: 0x4075c820, 0x4c32: 0x4075ca20, 0x4c33: 0x4075cc20,\n\t0x4c34: 0x4075ce20, 0x4c35: 0x4075d020,\n\t0x4c39: 0x40061420, 0x4c3a: 0x40038820, 0x4c3b: 0x40038a20,\n\t0x4c3c: 0x40038c20, 0x4c3d: 0x40038e20, 0x4c3e: 0x40039020, 0x4c3f: 0x40039220,\n\t// Block 0x131, offset 0x4c40\n\t0x4c40: 0x4075fe20, 0x4c41: 0x40760020, 0x4c42: 0x40760220, 0x4c43: 0x40760420,\n\t0x4c44: 0x40760620, 0x4c45: 0x40760820, 0x4c46: 0x40760a20, 0x4c47: 0x40760c20,\n\t0x4c48: 0x40760e20, 0x4c49: 0x40761020, 0x4c4a: 0x40761220, 0x4c4b: 0x40761420,\n\t0x4c4c: 0x40761620, 0x4c4d: 0x40761820, 0x4c4e: 0x40761a20, 0x4c4f: 0x40761c20,\n\t0x4c50: 0x40761e20, 0x4c51: 0x40762020, 0x4c52: 0x40762220, 0x4c53: 0x40762420,\n\t0x4c54: 0x40762620, 0x4c55: 0x40762820,\n\t0x4c58: 0xe000029a, 0x4c59: 0xe00003b5, 0x4c5a: 0xe000048f, 0x4c5b: 0xe0000561,\n\t0x4c5c: 0x40297220, 0x4c5d: 0x40297420, 0x4c5e: 0x40297620, 0x4c5f: 0x40297820,\n\t0x4c60: 0x40762a20, 0x4c61: 0x40762c20, 0x4c62: 0x40762e20, 0x4c63: 0x40763020,\n\t0x4c64: 0x40763220, 0x4c65: 0x40763420, 0x4c66: 0x40763620, 0x4c67: 0x40763820,\n\t0x4c68: 0x40763a20, 0x4c69: 0x40763c20, 0x4c6a: 0x40763e20, 0x4c6b: 0x40764020,\n\t0x4c6c: 0x40764220, 0x4c6d: 0x40764420, 0x4c6e: 0x40764620, 0x4c6f: 0x40764820,\n\t0x4c70: 0x40764a20, 0x4c71: 0x40764c20, 0x4c72: 0x40764e20,\n\t0x4c78: 0xe000029d, 0x4c79: 0xe00003b8, 0x4c7a: 0xe0000492, 0x4c7b: 0xe0000564,\n\t0x4c7c: 0x40297a20, 0x4c7d: 0x40297c20, 0x4c7e: 0x40297e20, 0x4c7f: 0x40298020,\n\t// Block 0x132, offset 0x4c80\n\t0x4c80: 0x405b2620, 0x4c81: 0xe00020a7, 0x4c82: 0x405b2820, 0x4c83: 0x405b2a20,\n\t0x4c84: 0xe00020aa, 0x4c85: 0x405b2c20, 0x4c86: 0x405b2e20, 0x4c87: 0x405b3020,\n\t0x4c88: 0xe00020ad, 0x4c89: 0x405b3220, 0x4c8a: 0xe00020b0, 0x4c8b: 0x405b3420,\n\t0x4c8c: 0xe00020b3, 0x4c8d: 0x405b3620, 0x4c8e: 0xe00020b6, 0x4c8f: 0x405b3820,\n\t0x4c90: 0xe00020b9, 0x4c91: 0x405b3a20, 0x4c92: 0xe00020bc, 0x4c93: 0x405b3c20,\n\t0x4c94: 0x405b3e20, 0x4c95: 0xe00020bf, 0x4c96: 0x405b4020, 0x4c97: 0xe00020c2,\n\t0x4c98: 0x405b4220, 0x4c99: 0xe00020c5, 0x4c9a: 0x405b4420, 0x4c9b: 0xe00020c8,\n\t0x4c9c: 0x405b4620, 0x4c9d: 0xe00020cb, 0x4c9e: 0x405b4820, 0x4c9f: 0xe00020ce,\n\t0x4ca0: 0x405b4a20, 0x4ca1: 0x405b4c20, 0x4ca2: 0x405b4e20, 0x4ca3: 0x405b5020,\n\t0x4ca4: 0x405b5220, 0x4ca5: 0xe00020d1, 0x4ca6: 0x405b5420, 0x4ca7: 0xe00020d4,\n\t0x4ca8: 0x405b5620, 0x4ca9: 0xe00020d7, 0x4caa: 0x405b5820, 0x4cab: 0xe00020da,\n\t0x4cac: 0x405b5a20, 0x4cad: 0x405b5c20, 0x4cae: 0xe00020dd, 0x4caf: 0x405b5e20,\n\t0x4cb0: 0x405b6020, 0x4cb1: 0x405b6220, 0x4cb2: 0x405b6420, 0x4cb3: 0xe00020e0,\n\t0x4cb4: 0x405b6620, 0x4cb5: 0xe00020e3, 0x4cb6: 0x405b6820, 0x4cb7: 0xe00020e6,\n\t0x4cb8: 0x405b6a20, 0x4cb9: 0xe00020e9, 0x4cba: 0x405b6c20, 0x4cbb: 0xe00020ec,\n\t0x4cbc: 0x405b6e20, 0x4cbd: 0x405b7020, 0x4cbe: 0x405b7220, 0x4cbf: 0x405b7420,\n\t// Block 0x133, offset 0x4cc0\n\t0x4cc0: 0xe00020ef, 0x4cc1: 0x405b7620, 0x4cc2: 0xe00020f2, 0x4cc3: 0x405b7820,\n\t0x4cc4: 0xe00020f5, 0x4cc5: 0x405b7a20, 0x4cc6: 0xe00020f8, 0x4cc7: 0x405b7c20,\n\t0x4cc8: 0x405b7e20,\n\t// Block 0x134, offset 0x4d00\n\t0x4d20: 0xe00001ec, 0x4d21: 0xe0000307, 0x4d22: 0xe00003e1, 0x4d23: 0xe00004bc,\n\t0x4d24: 0xe0000586, 0x4d25: 0xe0000651, 0x4d26: 0xe00006f9, 0x4d27: 0xe00007a5,\n\t0x4d28: 0xe000084a, 0x4d29: 0x40288820, 0x4d2a: 0x40288a20, 0x4d2b: 0x40288c20,\n\t0x4d2c: 0x40288e20, 0x4d2d: 0x40289020, 0x4d2e: 0x40289220, 0x4d2f: 0x40289420,\n\t0x4d30: 0x40289620, 0x4d31: 0x40289820, 0x4d32: 0x40289a20, 0x4d33: 0x40289c20,\n\t0x4d34: 0x40289e20, 0x4d35: 0x4028a020, 0x4d36: 0x4028a220, 0x4d37: 0x4028a420,\n\t0x4d38: 0x4028a620, 0x4d39: 0x4028a820, 0x4d3a: 0x4028aa20, 0x4d3b: 0x4028ac20,\n\t0x4d3c: 0x4028ae20, 0x4d3d: 0x4028b020, 0x4d3e: 0x4028b220,\n\t// Block 0x135, offset 0x4d40\n\t0x4d40: 0xa000f202, 0x4d41: 0xa000f302, 0x4d42: 0xa000f402, 0x4d43: 0x40489220,\n\t0x4d44: 0x40489420, 0x4d45: 0x40483420, 0x4d46: 0x40483620, 0x4d47: 0x40483820,\n\t0x4d48: 0x40483a20, 0x4d49: 0x40483c20, 0x4d4a: 0x40483e20, 0x4d4b: 0x40484020,\n\t0x4d4c: 0x40484220, 0x4d4d: 0x40484420, 0x4d4e: 0x40484620, 0x4d4f: 0x40484820,\n\t0x4d50: 0x40484a20, 0x4d51: 0x40484c20, 0x4d52: 0x40484e20, 0x4d53: 0x40485020,\n\t0x4d54: 0x40485220, 0x4d55: 0x40485420, 0x4d56: 0x40485620, 0x4d57: 0x40485820,\n\t0x4d58: 0x40485a20, 0x4d59: 0x40485c20, 0x4d5a: 0x40485e20, 0x4d5b: 0x40486020,\n\t0x4d5c: 0x40486220, 0x4d5d: 0x40486420, 0x4d5e: 0x40486620, 0x4d5f: 0x40486820,\n\t0x4d60: 0x40486a20, 0x4d61: 0x40486c20, 0x4d62: 0x40486e20, 0x4d63: 0x40487020,\n\t0x4d64: 0x40487220, 0x4d65: 0x40487420, 0x4d66: 0x40487620, 0x4d67: 0x40487820,\n\t0x4d68: 0x40487a20, 0x4d69: 0x40487c20, 0x4d6a: 0x40487e20, 0x4d6b: 0x40488020,\n\t0x4d6c: 0x40488220, 0x4d6d: 0x40488420, 0x4d6e: 0x40488620, 0x4d6f: 0x40488820,\n\t0x4d70: 0x40488a20, 0x4d71: 0x40488c20, 0x4d72: 0x40488e20, 0x4d73: 0x40489020,\n\t0x4d74: 0x40489620, 0x4d75: 0x40489820, 0x4d76: 0x40489a20, 0x4d77: 0x40489c20,\n\t0x4d78: 0x40489e20, 0x4d79: 0x4048a020, 0x4d7a: 0x4048a220, 0x4d7b: 0x4048a420,\n\t0x4d7c: 0x4048a620, 0x4d7d: 0x4048a820, 0x4d7e: 0x4048aa20, 0x4d7f: 0x4048ac20,\n\t// Block 0x136, offset 0x4d80\n\t0x4d80: 0x4048ae20, 0x4d81: 0x4048b020, 0x4d82: 0x4048b220, 0x4d83: 0x4048b420,\n\t0x4d84: 0x4048b620, 0x4d85: 0x4048b820, 0x4d86: 0x8209245d, 0x4d87: 0x40034820,\n\t0x4d88: 0x40034a20, 0x4d89: 0x4005fc20, 0x4d8a: 0x4005fe20, 0x4d8b: 0x40060020,\n\t0x4d8c: 0x40060220, 0x4d8d: 0x40060420,\n\t0x4d92: 0xe00002a9, 0x4d93: 0xe00003c4,\n\t0x4d94: 0xe000049e, 0x4d95: 0xe0000570, 0x4d96: 0xe000063a, 0x4d97: 0xe00006ea,\n\t0x4d98: 0xe0000792, 0x4d99: 0xe000083b, 0x4d9a: 0xe00008e6, 0x4d9b: 0x40298220,\n\t0x4d9c: 0x40298420, 0x4d9d: 0x40298620, 0x4d9e: 0x40298820, 0x4d9f: 0x40298a20,\n\t0x4da0: 0x40298c20, 0x4da1: 0x40298e20, 0x4da2: 0x40299020, 0x4da3: 0x40299220,\n\t0x4da4: 0x40299420, 0x4da5: 0x40299620, 0x4da6: 0xe00001df, 0x4da7: 0xe00002a6,\n\t0x4da8: 0xe00003c1, 0x4da9: 0xe000049b, 0x4daa: 0xe000056d, 0x4dab: 0xe0000637,\n\t0x4dac: 0xe00006e7, 0x4dad: 0xe000078f, 0x4dae: 0xe0000838, 0x4daf: 0xe00008e3,\n\t// Block 0x137, offset 0x4dc0\n\t0x4dc0: 0xa000f202, 0x4dc1: 0xa000f302, 0x4dc2: 0xa000f402, 0x4dc3: 0x40467e20,\n\t0x4dc4: 0x40468020, 0x4dc5: 0x40468220, 0x4dc6: 0x40468420, 0x4dc7: 0x40468620,\n\t0x4dc8: 0x40468820, 0x4dc9: 0x40468a20, 0x4dca: 0x40468c20, 0x4dcb: 0x40468e20,\n\t0x4dcc: 0x40469020, 0x4dcd: 0x40469220, 0x4dce: 0x40469420, 0x4dcf: 0x40469620,\n\t0x4dd0: 0x40469820, 0x4dd1: 0x40469a20, 0x4dd2: 0x40469c20, 0x4dd3: 0x40469e20,\n\t0x4dd4: 0x4046a020, 0x4dd5: 0x4046a220, 0x4dd6: 0x4046a420, 0x4dd7: 0x4046a620,\n\t0x4dd8: 0x4046a820, 0x4dd9: 0x4046aa20, 0x4dda: 0xe0001878, 0x4ddb: 0x4046ac20,\n\t0x4ddc: 0xe000187b, 0x4ddd: 0x4046ae20, 0x4dde: 0x4046b020, 0x4ddf: 0x4046b220,\n\t0x4de0: 0x4046b420, 0x4de1: 0x4046b620, 0x4de2: 0x4046b820, 0x4de3: 0x4046ba20,\n\t0x4de4: 0x4046bc20, 0x4de5: 0x4046be20, 0x4de6: 0x4046c020, 0x4de7: 0x4046c220,\n\t0x4de8: 0x4046c420, 0x4de9: 0x4046c620, 0x4dea: 0x4046c820, 0x4deb: 0xe000187e,\n\t0x4dec: 0x4046ca20, 0x4ded: 0x4046cc20, 0x4dee: 0x4046ce20, 0x4def: 0x4046d020,\n\t0x4df0: 0x4046d220, 0x4df1: 0x4046d420, 0x4df2: 0x4046d620, 0x4df3: 0x4046d820,\n\t0x4df4: 0x4046da20, 0x4df5: 0x4046dc20, 0x4df6: 0x4046de20, 0x4df7: 0x4046e020,\n\t0x4df8: 0x4046e220, 0x4df9: 0x82092372, 0x4dfa: 0xa070f102, 0x4dfb: 0x40061620,\n\t0x4dfc: 0x40061820, 0x4dfd: 0xa0000000, 0x4dfe: 0x40039420, 0x4dff: 0x40039620,\n\t// Block 0x138, offset 0x4e00\n\t0x4e00: 0x40034c20, 0x4e01: 0x40034e20,\n\t0x4e10: 0x4072e820, 0x4e11: 0x4072ea20, 0x4e12: 0x4072ec20, 0x4e13: 0x4072ee20,\n\t0x4e14: 0x4072f020, 0x4e15: 0x4072f220, 0x4e16: 0x4072f420, 0x4e17: 0x4072f620,\n\t0x4e18: 0x4072f820, 0x4e19: 0x4072fa20, 0x4e1a: 0x4072fc20, 0x4e1b: 0x4072fe20,\n\t0x4e1c: 0x40730020, 0x4e1d: 0x40730220, 0x4e1e: 0x40730420, 0x4e1f: 0x40730620,\n\t0x4e20: 0x40730820, 0x4e21: 0x40730a20, 0x4e22: 0x40730c20, 0x4e23: 0x40730e20,\n\t0x4e24: 0x40731020, 0x4e25: 0x40731220, 0x4e26: 0x40731420, 0x4e27: 0x40731620,\n\t0x4e28: 0x40731820,\n\t0x4e30: 0xe00001d0, 0x4e31: 0xe0000264, 0x4e32: 0xe000037c, 0x4e33: 0xe0000456,\n\t0x4e34: 0xe000052b, 0x4e35: 0xe00005f5, 0x4e36: 0xe00006c0, 0x4e37: 0xe0000768,\n\t0x4e38: 0xe0000814, 0x4e39: 0xe00008b9,\n\t// Block 0x139, offset 0x4e40\n\t0x4e40: 0xae60f202, 0x4e41: 0xae60f302, 0x4e42: 0xae60f402, 0x4e43: 0x404f4020,\n\t0x4e44: 0x404f4220, 0x4e45: 0x404f4420, 0x4e46: 0x404f4620, 0x4e47: 0x404f4820,\n\t0x4e48: 0x404f4a20, 0x4e49: 0x404f4c20, 0x4e4a: 0x404f4e20, 0x4e4b: 0x404f5020,\n\t0x4e4c: 0x404f5220, 0x4e4d: 0x404f5420, 0x4e4e: 0x404f5620, 0x4e4f: 0x404f5820,\n\t0x4e50: 0x404f5a20, 0x4e51: 0x404f5c20, 0x4e52: 0x404f5e20, 0x4e53: 0x404f6020,\n\t0x4e54: 0x404f6220, 0x4e55: 0x404f6420, 0x4e56: 0x404f6620, 0x4e57: 0x404f6820,\n\t0x4e58: 0x404f6a20, 0x4e59: 0x404f6c20, 0x4e5a: 0x404f6e20, 0x4e5b: 0x404f7020,\n\t0x4e5c: 0x404f7220, 0x4e5d: 0x404f7420, 0x4e5e: 0x404f7620, 0x4e5f: 0x404f7820,\n\t0x4e60: 0x404f7a20, 0x4e61: 0x404f7c20, 0x4e62: 0x404f7e20, 0x4e63: 0x404f8020,\n\t0x4e64: 0x404f8220, 0x4e65: 0x404f8420, 0x4e66: 0x404f8620, 0x4e67: 0x404f8820,\n\t0x4e68: 0x404f8a20, 0x4e69: 0x404f8c20, 0x4e6a: 0x404f8e20, 0x4e6b: 0x404f9020,\n\t0x4e6c: 0x404f9220, 0x4e6d: 0x404f9420, 0x4e6e: 0x404f9620, 0x4e6f: 0x404f9820,\n\t0x4e70: 0x404f9a20, 0x4e71: 0xc31507e1, 0x4e72: 0xc31707e1, 0x4e73: 0x820927d0,\n\t0x4e74: 0x820927d1, 0x4e76: 0xe00001b2, 0x4e77: 0xe0000246,\n\t0x4e78: 0xe000035e, 0x4e79: 0xe0000438, 0x4e7a: 0xe000050d, 0x4e7b: 0xe00005d7,\n\t0x4e7c: 0xe00006a2, 0x4e7d: 0xe000074a, 0x4e7e: 0xe00007f6, 0x4e7f: 0xe000089b,\n\t// Block 0x13a, offset 0x4e80\n\t0x4e80: 0x40039820, 0x4e81: 0x40035020, 0x4e82: 0x40035220, 0x4e83: 0x4002de20,\n\t// Block 0x13b, offset 0x4ec0\n\t0x4ec0: 0xa000f202, 0x4ec1: 0xa000f302, 0x4ec2: 0xa000f402, 0x4ec3: 0x4046e820,\n\t0x4ec4: 0x4046ea20, 0x4ec5: 0x4046ec20, 0x4ec6: 0x4046ee20, 0x4ec7: 0x4046f020,\n\t0x4ec8: 0x4046f220, 0x4ec9: 0x4046f420, 0x4eca: 0x4046f620, 0x4ecb: 0x4046f820,\n\t0x4ecc: 0x4046fa20, 0x4ecd: 0x4046fc20, 0x4ece: 0x4046fe20, 0x4ecf: 0x40470020,\n\t0x4ed0: 0x40470220, 0x4ed1: 0x40470420, 0x4ed2: 0x40470620, 0x4ed3: 0x40470820,\n\t0x4ed4: 0x40470a20, 0x4ed5: 0x40470c20, 0x4ed6: 0x40470e20, 0x4ed7: 0x40471020,\n\t0x4ed8: 0x40471220, 0x4ed9: 0x40471420, 0x4eda: 0x40471620, 0x4edb: 0x40471820,\n\t0x4edc: 0x40471a20, 0x4edd: 0x40471c20, 0x4ede: 0x40471e20, 0x4edf: 0x40472020,\n\t0x4ee0: 0x40472220, 0x4ee1: 0x40472420, 0x4ee2: 0x40472620, 0x4ee3: 0x40472820,\n\t0x4ee4: 0x40472a20, 0x4ee5: 0x40472c20, 0x4ee6: 0x40472e20, 0x4ee7: 0x40473020,\n\t0x4ee8: 0x40473220, 0x4ee9: 0x40473420, 0x4eea: 0x40473620, 0x4eeb: 0x40473820,\n\t0x4eec: 0x40473a20, 0x4eed: 0x40473c20, 0x4eee: 0x40473e20, 0x4eef: 0x40474020,\n\t0x4ef0: 0x40474220, 0x4ef1: 0x40474420, 0x4ef2: 0x40474620, 0x4ef3: 0x40474820,\n\t0x4ef4: 0x40474a20, 0x4ef5: 0x40474c20, 0x4ef6: 0x40474e20, 0x4ef7: 0x40475020,\n\t0x4ef8: 0x40475220, 0x4ef9: 0x40475420, 0x4efa: 0x40475620, 0x4efb: 0x40475820,\n\t0x4efc: 0x40475a20, 0x4efd: 0x40475c20, 0x4efe: 0x40475e20, 0x4eff: 0x40476020,\n\t// Block 0x13c, offset 0x4f00\n\t0x4f00: 0x820923b1, 0x4f01: 0x40476420, 0x4f02: 0x40476620, 0x4f03: 0x40476820,\n\t0x4f04: 0x4046e620, 0x4f05: 0x40035420, 0x4f06: 0x40035620, 0x4f07: 0x40061a20,\n\t0x4f08: 0x40039a20,\n\t0x4f10: 0xe00001d9, 0x4f11: 0xe00002a0, 0x4f12: 0xe00003bb, 0x4f13: 0xe0000495,\n\t0x4f14: 0xe0000567, 0x4f15: 0xe0000631, 0x4f16: 0xe00006e1, 0x4f17: 0xe0000789,\n\t0x4f18: 0xe0000832, 0x4f19: 0xe00008dd,\n\t// Block 0x13d, offset 0x4f40\n\t0x4f40: 0x40476a20, 0x4f41: 0x40476c20, 0x4f42: 0x40476e20, 0x4f43: 0x40477020,\n\t0x4f44: 0x40477220, 0x4f45: 0x40477420, 0x4f46: 0x40477620, 0x4f47: 0x40477820,\n\t0x4f48: 0x40477a20, 0x4f49: 0x40477c20, 0x4f4a: 0x40478420, 0x4f4b: 0x40478620,\n\t0x4f4c: 0x40478820, 0x4f4d: 0x40478a20, 0x4f4e: 0x40478c20, 0x4f4f: 0x40478e20,\n\t0x4f50: 0x40479020, 0x4f51: 0x40479220, 0x4f52: 0x40479420, 0x4f53: 0x40479620,\n\t0x4f54: 0x40479820, 0x4f55: 0x40479a20, 0x4f56: 0x40479c20, 0x4f57: 0x40479e20,\n\t0x4f58: 0x4047a020, 0x4f59: 0x4047a220, 0x4f5a: 0x4047a420, 0x4f5b: 0x4047a620,\n\t0x4f5c: 0x4047a820, 0x4f5d: 0x4047aa20, 0x4f5e: 0x4047ac20, 0x4f5f: 0x4047ae20,\n\t0x4f60: 0x4047b020, 0x4f61: 0x4047b220, 0x4f62: 0x4047b420, 0x4f63: 0x4047b620,\n\t0x4f64: 0x4047b820, 0x4f65: 0x4047ba20, 0x4f66: 0x4047bc20, 0x4f67: 0x40478020,\n\t0x4f68: 0x40477e20, 0x4f69: 0x40478220, 0x4f6a: 0x4047be20, 0x4f6b: 0xa000f302,\n\t0x4f6c: 0xa000f402, 0x4f6d: 0x4047c020, 0x4f6e: 0x4047c220, 0x4f6f: 0x4047c420,\n\t0x4f70: 0x4047c620, 0x4f71: 0x4047c820, 0x4f72: 0x4047ca20, 0x4f73: 0x4047cc20,\n\t0x4f74: 0x4047ce20, 0x4f75: 0x4047d020, 0x4f76: 0x820923e9, 0x4f77: 0xa070f102,\n\t// Block 0x13e, offset 0x4f80\n\t0x4f80: 0xe00001dc, 0x4f81: 0xe00002a3, 0x4f82: 0xe00003be, 0x4f83: 0xe0000498,\n\t0x4f84: 0xe000056a, 0x4f85: 0xe0000634, 0x4f86: 0xe00006e4, 0x4f87: 0xe000078c,\n\t0x4f88: 0xe0000835, 0x4f89: 0xe00008e0,\n\t// Block 0x13f, offset 0x4fc0\n\t0x4fc0: 0x4076e420, 0x4fc1: 0x4076e620, 0x4fc2: 0x4076e820, 0x4fc3: 0x4076ea20,\n\t0x4fc4: 0x4076ec20, 0x4fc5: 0x4076ee20, 0x4fc6: 0x4076f020, 0x4fc7: 0x4076f220,\n\t0x4fc8: 0x4076f420, 0x4fc9: 0x4076f620, 0x4fca: 0x4076f820, 0x4fcb: 0x4076fa20,\n\t0x4fcc: 0x4076fc20, 0x4fcd: 0x4076fe20, 0x4fce: 0x40770020, 0x4fcf: 0x40770220,\n\t0x4fd0: 0x40770420, 0x4fd1: 0x40770620, 0x4fd2: 0x40770820, 0x4fd3: 0x40770a20,\n\t0x4fd4: 0x40770c20, 0x4fd5: 0x40770e20, 0x4fd6: 0x40771020, 0x4fd7: 0x40771220,\n\t0x4fd8: 0x40771420, 0x4fd9: 0x40771620, 0x4fda: 0x40771820, 0x4fdb: 0x40771a20,\n\t0x4fdc: 0x40771c20, 0x4fdd: 0x40771e20, 0x4fde: 0x40772020, 0x4fdf: 0x40772220,\n\t0x4fe0: 0x40772420, 0x4fe1: 0x40772620, 0x4fe2: 0x40772820, 0x4fe3: 0x40772a20,\n\t0x4fe4: 0x40772c20, 0x4fe5: 0x40772e20, 0x4fe6: 0x40773020, 0x4fe7: 0x40773220,\n\t0x4fe8: 0x40773420, 0x4fe9: 0x40773620, 0x4fea: 0x40773820, 0x4feb: 0x40773a20,\n\t0x4fec: 0x40773c20, 0x4fed: 0x40773e20, 0x4fee: 0x40774020, 0x4fef: 0x40774220,\n\t0x4ff0: 0x40774420, 0x4ff1: 0x40774620, 0x4ff2: 0x40774820, 0x4ff3: 0x40774a20,\n\t0x4ff4: 0x40774c20, 0x4ff5: 0x40774e20, 0x4ff6: 0x40775020, 0x4ff7: 0x40775220,\n\t0x4ff8: 0x40775420, 0x4ff9: 0x40775620, 0x4ffa: 0x40775820, 0x4ffb: 0x40775a20,\n\t0x4ffc: 0x40775c20, 0x4ffd: 0x40775e20, 0x4ffe: 0x40776020, 0x4fff: 0x40776220,\n\t// Block 0x140, offset 0x5000\n\t0x5000: 0x40776420, 0x5001: 0x40776620, 0x5002: 0x40776820, 0x5003: 0x40776a20,\n\t0x5004: 0x40776c20, 0x5005: 0x40776e20, 0x5006: 0x40777020, 0x5007: 0x40777220,\n\t0x5008: 0x40777420, 0x5009: 0x40777620, 0x500a: 0x40777820, 0x500b: 0x40777a20,\n\t0x500c: 0x40777c20, 0x500d: 0x40777e20, 0x500e: 0x40778020, 0x500f: 0x40778220,\n\t0x5010: 0x40778420, 0x5011: 0x40778620, 0x5012: 0x40778820, 0x5013: 0x40778a20,\n\t0x5014: 0x40778c20, 0x5015: 0x40778e20, 0x5016: 0x40779020, 0x5017: 0x40779220,\n\t0x5018: 0x40779420, 0x5019: 0x40779620, 0x501a: 0x40779820, 0x501b: 0x40779a20,\n\t0x501c: 0x40779c20, 0x501d: 0x40779e20, 0x501e: 0x4077a020, 0x501f: 0x4077a220,\n\t0x5020: 0x4077a420, 0x5021: 0x4077a620, 0x5022: 0x4077a820, 0x5023: 0x4077aa20,\n\t0x5024: 0x4077ac20, 0x5025: 0x4077ae20, 0x5026: 0x4077b020, 0x5027: 0x4077b220,\n\t0x5028: 0x4077b420, 0x5029: 0x4077b620, 0x502a: 0x4077b820, 0x502b: 0x4077ba20,\n\t0x502c: 0x4077bc20, 0x502d: 0x4077be20, 0x502e: 0x4077c020, 0x502f: 0x4077c220,\n\t0x5030: 0x4077c420, 0x5031: 0x4077c620, 0x5032: 0x4077c820, 0x5033: 0x4077ca20,\n\t0x5034: 0x4077cc20, 0x5035: 0x4077ce20, 0x5036: 0x4077d020, 0x5037: 0x4077d220,\n\t0x5038: 0x4077d420, 0x5039: 0x4077d620, 0x503a: 0x4077d820, 0x503b: 0x4077da20,\n\t0x503c: 0x4077dc20, 0x503d: 0x4077de20, 0x503e: 0x4077e020, 0x503f: 0x4077e220,\n\t// Block 0x141, offset 0x5040\n\t0x5040: 0x4077e420, 0x5041: 0x4077e620, 0x5042: 0x4077e820, 0x5043: 0x4077ea20,\n\t0x5044: 0x4077ec20, 0x5045: 0x4077ee20, 0x5046: 0x4077f020, 0x5047: 0x4077f220,\n\t0x5048: 0x4077f420, 0x5049: 0x4077f620, 0x504a: 0x4077f820, 0x504b: 0x4077fa20,\n\t0x504c: 0x4077fc20, 0x504d: 0x4077fe20, 0x504e: 0x40780020, 0x504f: 0x40780220,\n\t0x5050: 0x40780420, 0x5051: 0x40780620, 0x5052: 0x40780820, 0x5053: 0x40780a20,\n\t0x5054: 0x40780c20, 0x5055: 0x40780e20, 0x5056: 0x40781020, 0x5057: 0x40781220,\n\t0x5058: 0x40781420, 0x5059: 0x40781620, 0x505a: 0x40781820, 0x505b: 0x40781a20,\n\t0x505c: 0x40781c20, 0x505d: 0x40781e20, 0x505e: 0x40782020, 0x505f: 0x40782220,\n\t0x5060: 0x40782420, 0x5061: 0x40782620, 0x5062: 0x40782820, 0x5063: 0x40782a20,\n\t0x5064: 0x40782c20, 0x5065: 0x40782e20, 0x5066: 0x40783020, 0x5067: 0x40783220,\n\t0x5068: 0x40783420, 0x5069: 0x40783620, 0x506a: 0x40783820, 0x506b: 0x40783a20,\n\t0x506c: 0x40783c20, 0x506d: 0x40783e20, 0x506e: 0x40784020, 0x506f: 0x40784220,\n\t0x5070: 0x40784420, 0x5071: 0x40784620, 0x5072: 0x40784820, 0x5073: 0x40784a20,\n\t0x5074: 0x40784c20, 0x5075: 0x40784e20, 0x5076: 0x40785020, 0x5077: 0x40785220,\n\t0x5078: 0x40785420, 0x5079: 0x40785620, 0x507a: 0x40785820, 0x507b: 0x40785a20,\n\t0x507c: 0x40785c20, 0x507d: 0x40785e20, 0x507e: 0x40786020, 0x507f: 0x40786220,\n\t// Block 0x142, offset 0x5080\n\t0x5080: 0x40786420, 0x5081: 0x40786620, 0x5082: 0x40786820, 0x5083: 0x40786a20,\n\t0x5084: 0x40786c20, 0x5085: 0x40786e20, 0x5086: 0x40787020, 0x5087: 0x40787220,\n\t0x5088: 0x40787420, 0x5089: 0x40787620, 0x508a: 0x40787820, 0x508b: 0x40787a20,\n\t0x508c: 0x40787c20, 0x508d: 0x40787e20, 0x508e: 0x40788020, 0x508f: 0x40788220,\n\t0x5090: 0x40788420, 0x5091: 0x40788620, 0x5092: 0x40788820, 0x5093: 0x40788a20,\n\t0x5094: 0x40788c20, 0x5095: 0x40788e20, 0x5096: 0x40789020, 0x5097: 0x40789220,\n\t0x5098: 0x40789420, 0x5099: 0x40789620, 0x509a: 0x40789820, 0x509b: 0x40789a20,\n\t0x509c: 0x40789c20, 0x509d: 0x40789e20, 0x509e: 0x4078a020, 0x509f: 0x4078a220,\n\t0x50a0: 0x4078a420, 0x50a1: 0x4078a620, 0x50a2: 0x4078a820, 0x50a3: 0x4078aa20,\n\t0x50a4: 0x4078ac20, 0x50a5: 0x4078ae20, 0x50a6: 0x4078b020, 0x50a7: 0x4078b220,\n\t0x50a8: 0x4078b420, 0x50a9: 0x4078b620, 0x50aa: 0x4078b820, 0x50ab: 0x4078ba20,\n\t0x50ac: 0x4078bc20, 0x50ad: 0x4078be20, 0x50ae: 0x4078c020, 0x50af: 0x4078c220,\n\t0x50b0: 0x4078c420, 0x50b1: 0x4078c620, 0x50b2: 0x4078c820, 0x50b3: 0x4078ca20,\n\t0x50b4: 0x4078cc20, 0x50b5: 0x4078ce20, 0x50b6: 0x4078d020, 0x50b7: 0x4078d220,\n\t0x50b8: 0x4078d420, 0x50b9: 0x4078d620, 0x50ba: 0x4078d820, 0x50bb: 0x4078da20,\n\t0x50bc: 0x4078dc20, 0x50bd: 0x4078de20, 0x50be: 0x4078e020, 0x50bf: 0x4078e220,\n\t// Block 0x143, offset 0x50c0\n\t0x50c0: 0x4078e420, 0x50c1: 0x4078e620, 0x50c2: 0x4078e820, 0x50c3: 0x4078ea20,\n\t0x50c4: 0x4078ec20, 0x50c5: 0x4078ee20, 0x50c6: 0x4078f020, 0x50c7: 0x4078f220,\n\t0x50c8: 0x4078f420, 0x50c9: 0x4078f620, 0x50ca: 0x4078f820, 0x50cb: 0x4078fa20,\n\t0x50cc: 0x4078fc20, 0x50cd: 0x4078fe20, 0x50ce: 0x40790020, 0x50cf: 0x40790220,\n\t0x50d0: 0x40790420, 0x50d1: 0x40790620, 0x50d2: 0x40790820, 0x50d3: 0x40790a20,\n\t0x50d4: 0x40790c20, 0x50d5: 0x40790e20, 0x50d6: 0x40791020, 0x50d7: 0x40791220,\n\t0x50d8: 0x40791420, 0x50d9: 0x40791620, 0x50da: 0x40791820, 0x50db: 0x40791a20,\n\t0x50dc: 0x40791c20, 0x50dd: 0x40791e20, 0x50de: 0x40792020, 0x50df: 0x40792220,\n\t0x50e0: 0x40792420, 0x50e1: 0x40792620, 0x50e2: 0x40792820, 0x50e3: 0x40792a20,\n\t0x50e4: 0x40792c20, 0x50e5: 0x40792e20, 0x50e6: 0x40793020, 0x50e7: 0x40793220,\n\t0x50e8: 0x40793420, 0x50e9: 0x40793620, 0x50ea: 0x40793820, 0x50eb: 0x40793a20,\n\t0x50ec: 0x40793c20, 0x50ed: 0x40793e20, 0x50ee: 0x40794020, 0x50ef: 0x40794220,\n\t0x50f0: 0x40794420, 0x50f1: 0x40794620, 0x50f2: 0x40794820, 0x50f3: 0x40794a20,\n\t0x50f4: 0x40794c20, 0x50f5: 0x40794e20, 0x50f6: 0x40795020, 0x50f7: 0x40795220,\n\t0x50f8: 0x40795420, 0x50f9: 0x40795620, 0x50fa: 0x40795820, 0x50fb: 0x40795a20,\n\t0x50fc: 0x40795c20, 0x50fd: 0x40795e20, 0x50fe: 0x40796020, 0x50ff: 0x40796220,\n\t// Block 0x144, offset 0x5100\n\t0x5100: 0x40796420, 0x5101: 0x40796620, 0x5102: 0x40796820, 0x5103: 0x40796a20,\n\t0x5104: 0x40796c20, 0x5105: 0x40796e20, 0x5106: 0x40797020, 0x5107: 0x40797220,\n\t0x5108: 0x40797420, 0x5109: 0x40797620, 0x510a: 0x40797820, 0x510b: 0x40797a20,\n\t0x510c: 0x40797c20, 0x510d: 0x40797e20, 0x510e: 0x40798020, 0x510f: 0x40798220,\n\t0x5110: 0x40798420, 0x5111: 0x40798620, 0x5112: 0x40798820, 0x5113: 0x40798a20,\n\t0x5114: 0x40798c20, 0x5115: 0x40798e20, 0x5116: 0x40799020, 0x5117: 0x40799220,\n\t0x5118: 0x40799420, 0x5119: 0x40799620, 0x511a: 0x40799820, 0x511b: 0x40799a20,\n\t0x511c: 0x40799c20, 0x511d: 0x40799e20, 0x511e: 0x4079a020, 0x511f: 0x4079a220,\n\t0x5120: 0x4079a420, 0x5121: 0x4079a620, 0x5122: 0x4079a820, 0x5123: 0x4079aa20,\n\t0x5124: 0x4079ac20, 0x5125: 0x4079ae20, 0x5126: 0x4079b020, 0x5127: 0x4079b220,\n\t0x5128: 0x4079b420, 0x5129: 0x4079b620, 0x512a: 0x4079b820, 0x512b: 0x4079ba20,\n\t0x512c: 0x4079bc20, 0x512d: 0x4079be20, 0x512e: 0x4079c020, 0x512f: 0x4079c220,\n\t0x5130: 0x4079c420, 0x5131: 0x4079c620, 0x5132: 0x4079c820, 0x5133: 0x4079ca20,\n\t0x5134: 0x4079cc20, 0x5135: 0x4079ce20, 0x5136: 0x4079d020, 0x5137: 0x4079d220,\n\t0x5138: 0x4079d420, 0x5139: 0x4079d620, 0x513a: 0x4079d820, 0x513b: 0x4079da20,\n\t0x513c: 0x4079dc20, 0x513d: 0x4079de20, 0x513e: 0x4079e020, 0x513f: 0x4079e220,\n\t// Block 0x145, offset 0x5140\n\t0x5140: 0x4079e420, 0x5141: 0x4079e620, 0x5142: 0x4079e820, 0x5143: 0x4079ea20,\n\t0x5144: 0x4079ec20, 0x5145: 0x4079ee20, 0x5146: 0x4079f020, 0x5147: 0x4079f220,\n\t0x5148: 0x4079f420, 0x5149: 0x4079f620, 0x514a: 0x4079f820, 0x514b: 0x4079fa20,\n\t0x514c: 0x4079fc20, 0x514d: 0x4079fe20, 0x514e: 0x407a0020, 0x514f: 0x407a0220,\n\t0x5150: 0x407a0420, 0x5151: 0x407a0620, 0x5152: 0x407a0820, 0x5153: 0x407a0a20,\n\t0x5154: 0x407a0c20, 0x5155: 0x407a0e20, 0x5156: 0x407a1020, 0x5157: 0x407a1220,\n\t0x5158: 0x407a1420, 0x5159: 0x407a1620, 0x515a: 0x407a1820, 0x515b: 0x407a1a20,\n\t0x515c: 0x407a1c20, 0x515d: 0x407a1e20, 0x515e: 0x407a2020, 0x515f: 0x407a2220,\n\t0x5160: 0x407a2420, 0x5161: 0x407a2620, 0x5162: 0x407a2820, 0x5163: 0x407a2a20,\n\t0x5164: 0x407a2c20, 0x5165: 0x407a2e20, 0x5166: 0x407a3020, 0x5167: 0x407a3220,\n\t0x5168: 0x407a3420, 0x5169: 0x407a3620, 0x516a: 0x407a3820, 0x516b: 0x407a3a20,\n\t0x516c: 0x407a3c20, 0x516d: 0x407a3e20, 0x516e: 0x407a4020, 0x516f: 0x407a4220,\n\t0x5170: 0x407a4420, 0x5171: 0x407a4620, 0x5172: 0x407a4820, 0x5173: 0x407a4a20,\n\t0x5174: 0x407a4c20, 0x5175: 0x407a4e20, 0x5176: 0x407a5020, 0x5177: 0x407a5220,\n\t0x5178: 0x407a5420, 0x5179: 0x407a5620, 0x517a: 0x407a5820, 0x517b: 0x407a5a20,\n\t0x517c: 0x407a5c20, 0x517d: 0x407a5e20, 0x517e: 0x407a6020, 0x517f: 0x407a6220,\n\t// Block 0x146, offset 0x5180\n\t0x5180: 0x407a6420, 0x5181: 0x407a6620, 0x5182: 0x407a6820, 0x5183: 0x407a6a20,\n\t0x5184: 0x407a6c20, 0x5185: 0x407a6e20, 0x5186: 0x407a7020, 0x5187: 0x407a7220,\n\t0x5188: 0x407a7420, 0x5189: 0x407a7620, 0x518a: 0x407a7820, 0x518b: 0x407a7a20,\n\t0x518c: 0x407a7c20, 0x518d: 0x407a7e20, 0x518e: 0x407a8020, 0x518f: 0x407a8220,\n\t0x5190: 0x407a8420, 0x5191: 0x407a8620, 0x5192: 0x407a8820, 0x5193: 0x407a8a20,\n\t0x5194: 0x407a8c20, 0x5195: 0x407a8e20, 0x5196: 0x407a9020, 0x5197: 0x407a9220,\n\t0x5198: 0x407a9420, 0x5199: 0x407a9620, 0x519a: 0x407a9820, 0x519b: 0x407a9a20,\n\t0x519c: 0x407a9c20, 0x519d: 0x407a9e20, 0x519e: 0x407aa020, 0x519f: 0x407aa220,\n\t0x51a0: 0x407aa420, 0x51a1: 0x407aa620, 0x51a2: 0x407aa820, 0x51a3: 0x407aaa20,\n\t0x51a4: 0x407aac20, 0x51a5: 0x407aae20, 0x51a6: 0x407ab020, 0x51a7: 0x407ab220,\n\t0x51a8: 0x407ab420, 0x51a9: 0x407ab620, 0x51aa: 0x407ab820, 0x51ab: 0x407aba20,\n\t0x51ac: 0x407abc20, 0x51ad: 0x407abe20, 0x51ae: 0x407ac020, 0x51af: 0x407ac220,\n\t0x51b0: 0x407ac420, 0x51b1: 0x407ac620, 0x51b2: 0x407ac820, 0x51b3: 0x407aca20,\n\t0x51b4: 0x407acc20, 0x51b5: 0x407ace20, 0x51b6: 0x407ad020, 0x51b7: 0x407ad220,\n\t0x51b8: 0x407ad420, 0x51b9: 0x407ad620, 0x51ba: 0x407ad820, 0x51bb: 0x407ada20,\n\t0x51bc: 0x407adc20, 0x51bd: 0x407ade20, 0x51be: 0x407ae020, 0x51bf: 0x407ae220,\n\t// Block 0x147, offset 0x51c0\n\t0x51c0: 0x407ae420, 0x51c1: 0x407ae620, 0x51c2: 0x407ae820, 0x51c3: 0x407aea20,\n\t0x51c4: 0x407aec20, 0x51c5: 0x407aee20, 0x51c6: 0x407af020, 0x51c7: 0x407af220,\n\t0x51c8: 0x407af420, 0x51c9: 0x407af620, 0x51ca: 0x407af820, 0x51cb: 0x407afa20,\n\t0x51cc: 0x407afc20, 0x51cd: 0x407afe20, 0x51ce: 0x407b0020, 0x51cf: 0x407b0220,\n\t0x51d0: 0x407b0420, 0x51d1: 0x407b0620, 0x51d2: 0x407b0820, 0x51d3: 0x407b0a20,\n\t0x51d4: 0x407b0c20, 0x51d5: 0x407b0e20, 0x51d6: 0x407b1020, 0x51d7: 0x407b1220,\n\t0x51d8: 0x407b1420, 0x51d9: 0x407b1620, 0x51da: 0x407b1820, 0x51db: 0x407b1a20,\n\t0x51dc: 0x407b1c20, 0x51dd: 0x407b1e20, 0x51de: 0x407b2020, 0x51df: 0x407b2220,\n\t0x51e0: 0x407b2420, 0x51e1: 0x407b2620, 0x51e2: 0x407b2820, 0x51e3: 0x407b2a20,\n\t0x51e4: 0x407b2c20, 0x51e5: 0x407b2e20, 0x51e6: 0x407b3020, 0x51e7: 0x407b3220,\n\t0x51e8: 0x407b3420, 0x51e9: 0x407b3620, 0x51ea: 0x407b3820, 0x51eb: 0x407b3a20,\n\t0x51ec: 0x407b3c20, 0x51ed: 0x407b3e20, 0x51ee: 0x407b4020, 0x51ef: 0x407b4220,\n\t0x51f0: 0x407b4420, 0x51f1: 0x407b4620, 0x51f2: 0x407b4820, 0x51f3: 0x407b4a20,\n\t0x51f4: 0x407b4c20, 0x51f5: 0x407b4e20, 0x51f6: 0x407b5020, 0x51f7: 0x407b5220,\n\t0x51f8: 0x407b5420, 0x51f9: 0x407b5620, 0x51fa: 0x407b5820, 0x51fb: 0x407b5a20,\n\t0x51fc: 0x407b5c20, 0x51fd: 0x407b5e20, 0x51fe: 0x407b6020, 0x51ff: 0x407b6220,\n\t// Block 0x148, offset 0x5200\n\t0x5200: 0x407b6420, 0x5201: 0x407b6620, 0x5202: 0x407b6820, 0x5203: 0x407b6a20,\n\t0x5204: 0x407b6c20, 0x5205: 0x407b6e20, 0x5206: 0x407b7020, 0x5207: 0x407b7220,\n\t0x5208: 0x407b7420, 0x5209: 0x407b7620, 0x520a: 0x407b7820, 0x520b: 0x407b7a20,\n\t0x520c: 0x407b7c20, 0x520d: 0x407b7e20, 0x520e: 0x407b8020, 0x520f: 0x407b8220,\n\t0x5210: 0x407b8420, 0x5211: 0x407b8620, 0x5212: 0x407b8820, 0x5213: 0x407b8a20,\n\t0x5214: 0x407b8c20, 0x5215: 0x407b8e20, 0x5216: 0x407b9020, 0x5217: 0x407b9220,\n\t0x5218: 0x407b9420, 0x5219: 0x407b9620, 0x521a: 0x407b9820, 0x521b: 0x407b9a20,\n\t0x521c: 0x407b9c20, 0x521d: 0x407b9e20, 0x521e: 0x407ba020, 0x521f: 0x407ba220,\n\t0x5220: 0x407ba420, 0x5221: 0x407ba620, 0x5222: 0x407ba820, 0x5223: 0x407baa20,\n\t0x5224: 0x407bac20, 0x5225: 0x407bae20, 0x5226: 0x407bb020, 0x5227: 0x407bb220,\n\t0x5228: 0x407bb420, 0x5229: 0x407bb620, 0x522a: 0x407bb820, 0x522b: 0x407bba20,\n\t0x522c: 0x407bbc20, 0x522d: 0x407bbe20, 0x522e: 0x407bc020, 0x522f: 0x407bc220,\n\t0x5230: 0x407bc420, 0x5231: 0x407bc620, 0x5232: 0x407bc820, 0x5233: 0x407bca20,\n\t0x5234: 0x407bcc20, 0x5235: 0x407bce20, 0x5236: 0x407bd020, 0x5237: 0x407bd220,\n\t0x5238: 0x407bd420, 0x5239: 0x407bd620, 0x523a: 0x407bd820, 0x523b: 0x407bda20,\n\t0x523c: 0x407bdc20, 0x523d: 0x407bde20, 0x523e: 0x407be020, 0x523f: 0x407be220,\n\t// Block 0x149, offset 0x5240\n\t0x5240: 0x407be420, 0x5241: 0x407be620, 0x5242: 0x407be820, 0x5243: 0x407bea20,\n\t0x5244: 0x407bec20, 0x5245: 0x407bee20, 0x5246: 0x407bf020, 0x5247: 0x407bf220,\n\t0x5248: 0x407bf420, 0x5249: 0x407bf620, 0x524a: 0x407bf820, 0x524b: 0x407bfa20,\n\t0x524c: 0x407bfc20, 0x524d: 0x407bfe20, 0x524e: 0x407c0020, 0x524f: 0x407c0220,\n\t0x5250: 0x407c0420, 0x5251: 0x407c0620, 0x5252: 0x407c0820, 0x5253: 0x407c0a20,\n\t0x5254: 0x407c0c20, 0x5255: 0x407c0e20, 0x5256: 0x407c1020, 0x5257: 0x407c1220,\n\t0x5258: 0x407c1420, 0x5259: 0x407c1620, 0x525a: 0x407c1820, 0x525b: 0x407c1a20,\n\t0x525c: 0x407c1c20, 0x525d: 0x407c1e20, 0x525e: 0x407c2020, 0x525f: 0x407c2220,\n\t0x5260: 0x407c2420, 0x5261: 0x407c2620, 0x5262: 0x407c2820, 0x5263: 0x407c2a20,\n\t0x5264: 0x407c2c20, 0x5265: 0x407c2e20, 0x5266: 0x407c3020, 0x5267: 0x407c3220,\n\t0x5268: 0x407c3420, 0x5269: 0x407c3620, 0x526a: 0x407c3820, 0x526b: 0x407c3a20,\n\t0x526c: 0x407c3c20, 0x526d: 0x407c3e20, 0x526e: 0x407c4020, 0x526f: 0x407c4220,\n\t0x5270: 0x407c4420, 0x5271: 0x407c4620, 0x5272: 0x407c4820, 0x5273: 0x407c4a20,\n\t0x5274: 0x407c4c20, 0x5275: 0x407c4e20, 0x5276: 0x407c5020, 0x5277: 0x407c5220,\n\t0x5278: 0x407c5420, 0x5279: 0x407c5620, 0x527a: 0x407c5820, 0x527b: 0x407c5a20,\n\t0x527c: 0x407c5c20, 0x527d: 0x407c5e20, 0x527e: 0x407c6020, 0x527f: 0x407c6220,\n\t// Block 0x14a, offset 0x5280\n\t0x5280: 0x407c6420, 0x5281: 0x407c6620, 0x5282: 0x407c6820, 0x5283: 0x407c6a20,\n\t0x5284: 0x407c6c20, 0x5285: 0x407c6e20, 0x5286: 0x407c7020, 0x5287: 0x407c7220,\n\t0x5288: 0x407c7420, 0x5289: 0x407c7620, 0x528a: 0x407c7820, 0x528b: 0x407c7a20,\n\t0x528c: 0x407c7c20, 0x528d: 0x407c7e20, 0x528e: 0x407c8020, 0x528f: 0x407c8220,\n\t0x5290: 0x407c8420, 0x5291: 0x407c8620, 0x5292: 0x407c8820, 0x5293: 0x407c8a20,\n\t0x5294: 0x407c8c20, 0x5295: 0x407c8e20, 0x5296: 0x407c9020, 0x5297: 0x407c9220,\n\t0x5298: 0x407c9420, 0x5299: 0x407c9620, 0x529a: 0x407c9820, 0x529b: 0x407c9a20,\n\t0x529c: 0x407c9c20, 0x529d: 0x407c9e20, 0x529e: 0x407ca020, 0x529f: 0x407ca220,\n\t0x52a0: 0x407ca420, 0x52a1: 0x407ca620, 0x52a2: 0x407ca820, 0x52a3: 0x407caa20,\n\t0x52a4: 0x407cac20, 0x52a5: 0x407cae20, 0x52a6: 0x407cb020, 0x52a7: 0x407cb220,\n\t0x52a8: 0x407cb420, 0x52a9: 0x407cb620, 0x52aa: 0x407cb820, 0x52ab: 0x407cba20,\n\t0x52ac: 0x407cbc20, 0x52ad: 0x407cbe20, 0x52ae: 0x407cc020, 0x52af: 0x407cc220,\n\t0x52b0: 0x407cc420, 0x52b1: 0x407cc620, 0x52b2: 0x407cc820, 0x52b3: 0x407cca20,\n\t0x52b4: 0x407ccc20, 0x52b5: 0x407cce20, 0x52b6: 0x407cd020, 0x52b7: 0x407cd220,\n\t0x52b8: 0x407cd420, 0x52b9: 0x407cd620, 0x52ba: 0x407cd820, 0x52bb: 0x407cda20,\n\t0x52bc: 0x407cdc20, 0x52bd: 0x407cde20, 0x52be: 0x407ce020, 0x52bf: 0x407ce220,\n\t// Block 0x14b, offset 0x52c0\n\t0x52c0: 0x407ce420, 0x52c1: 0x407ce620, 0x52c2: 0x407ce820, 0x52c3: 0x407cea20,\n\t0x52c4: 0x407cec20, 0x52c5: 0x407cee20, 0x52c6: 0x407cf020, 0x52c7: 0x407cf220,\n\t0x52c8: 0x407cf420, 0x52c9: 0x407cf620, 0x52ca: 0x407cf820, 0x52cb: 0x407cfa20,\n\t0x52cc: 0x407cfc20, 0x52cd: 0x407cfe20, 0x52ce: 0x407d0020, 0x52cf: 0x407d0220,\n\t0x52d0: 0x407d0420, 0x52d1: 0x407d0620, 0x52d2: 0x407d0820, 0x52d3: 0x407d0a20,\n\t0x52d4: 0x407d0c20, 0x52d5: 0x407d0e20, 0x52d6: 0x407d1020, 0x52d7: 0x407d1220,\n\t0x52d8: 0x407d1420, 0x52d9: 0x407d1620, 0x52da: 0x407d1820, 0x52db: 0x407d1a20,\n\t0x52dc: 0x407d1c20, 0x52dd: 0x407d1e20, 0x52de: 0x407d2020, 0x52df: 0x407d2220,\n\t0x52e0: 0x407d2420, 0x52e1: 0x407d2620, 0x52e2: 0x407d2820, 0x52e3: 0x407d2a20,\n\t0x52e4: 0x407d2c20, 0x52e5: 0x407d2e20, 0x52e6: 0x407d3020, 0x52e7: 0x407d3220,\n\t0x52e8: 0x407d3420, 0x52e9: 0x407d3620, 0x52ea: 0x407d3820, 0x52eb: 0x407d3a20,\n\t0x52ec: 0x407d3c20, 0x52ed: 0x407d3e20, 0x52ee: 0x407d4020, 0x52ef: 0x407d4220,\n\t0x52f0: 0x407d4420, 0x52f1: 0x407d4620, 0x52f2: 0x407d4820, 0x52f3: 0x407d4a20,\n\t0x52f4: 0x407d4c20, 0x52f5: 0x407d4e20, 0x52f6: 0x407d5020, 0x52f7: 0x407d5220,\n\t0x52f8: 0x407d5420, 0x52f9: 0x407d5620, 0x52fa: 0x407d5820, 0x52fb: 0x407d5a20,\n\t0x52fc: 0x407d5c20, 0x52fd: 0x407d5e20, 0x52fe: 0x407d6020, 0x52ff: 0x407d6220,\n\t// Block 0x14c, offset 0x5300\n\t0x5300: 0x407d6420, 0x5301: 0x407d6620, 0x5302: 0x407d6820, 0x5303: 0x407d6a20,\n\t0x5304: 0x407d6c20, 0x5305: 0x407d6e20, 0x5306: 0x407d7020, 0x5307: 0x407d7220,\n\t0x5308: 0x407d7420, 0x5309: 0x407d7620, 0x530a: 0x407d7820, 0x530b: 0x407d7a20,\n\t0x530c: 0x407d7c20, 0x530d: 0x407d7e20, 0x530e: 0x407d8020, 0x530f: 0x407d8220,\n\t0x5310: 0x407d8420, 0x5311: 0x407d8620, 0x5312: 0x407d8820, 0x5313: 0x407d8a20,\n\t0x5314: 0x407d8c20, 0x5315: 0x407d8e20, 0x5316: 0x407d9020, 0x5317: 0x407d9220,\n\t0x5318: 0x407d9420, 0x5319: 0x407d9620, 0x531a: 0x407d9820, 0x531b: 0x407d9a20,\n\t0x531c: 0x407d9c20, 0x531d: 0x407d9e20, 0x531e: 0x407da020, 0x531f: 0x407da220,\n\t0x5320: 0x407da420, 0x5321: 0x407da620, 0x5322: 0x407da820, 0x5323: 0x407daa20,\n\t0x5324: 0x407dac20, 0x5325: 0x407dae20, 0x5326: 0x407db020, 0x5327: 0x407db220,\n\t0x5328: 0x407db420, 0x5329: 0x407db620, 0x532a: 0x407db820, 0x532b: 0x407dba20,\n\t0x532c: 0x407dbc20, 0x532d: 0x407dbe20, 0x532e: 0x407dc020,\n\t// Block 0x14d, offset 0x5340\n\t0x5340: 0xe0000394, 0x5341: 0xe000045f, 0x5342: 0xe0000534, 0x5343: 0xe0000610,\n\t0x5344: 0xe00006cc, 0x5345: 0xe0000771, 0x5346: 0xe000081d, 0x5347: 0xe00008c2,\n\t0x5348: 0xe0000462, 0x5349: 0xe0000537, 0x534a: 0xe0000613, 0x534b: 0xe00006cf,\n\t0x534c: 0xe0000774, 0x534d: 0xe0000820, 0x534e: 0xe00008c5, 0x534f: 0xe000053a,\n\t0x5350: 0xe0000616, 0x5351: 0xe00006d2, 0x5352: 0xe0000777, 0x5353: 0xe0000823,\n\t0x5354: 0xe00008c8, 0x5355: 0xe000027f, 0x5356: 0xe0000397, 0x5357: 0xe0000465,\n\t0x5358: 0xe000053d, 0x5359: 0xe0000619, 0x535a: 0xe00006d5, 0x535b: 0xe000077a,\n\t0x535c: 0xe0000826, 0x535d: 0xe00008cb, 0x535e: 0xe0000282, 0x535f: 0xe000039a,\n\t0x5360: 0xe0000468, 0x5361: 0xe0000540, 0x5362: 0xe000061c, 0x5363: 0xe000039d,\n\t0x5364: 0xe000046b, 0x5365: 0xe000046e, 0x5366: 0xe0000543, 0x5367: 0xe000061f,\n\t0x5368: 0xe00006d8, 0x5369: 0xe000077d, 0x536a: 0xe0000829, 0x536b: 0xe00008ce,\n\t0x536c: 0xe0000285, 0x536d: 0xe00003a0, 0x536e: 0xe0000471, 0x536f: 0xe0000474,\n\t0x5370: 0xe0000546, 0x5371: 0xe0000622, 0x5372: 0x4029a020, 0x5373: 0x4029a220,\n\t0x5374: 0xe0000288, 0x5375: 0xe00003a3, 0x5376: 0xe0000477, 0x5377: 0xe000047a,\n\t0x5378: 0xe0000549, 0x5379: 0xe0000625, 0x537a: 0xe000047d, 0x537b: 0xe0000480,\n\t0x537c: 0xe000054c, 0x537d: 0xe000054f, 0x537e: 0xe0000552, 0x537f: 0xe0000555,\n\t// Block 0x14e, offset 0x5380\n\t0x5380: 0xe00006db, 0x5381: 0xe0000780, 0x5382: 0xe0000783, 0x5383: 0xe0000786,\n\t0x5384: 0xe000082c, 0x5385: 0xe000082f, 0x5386: 0xe00008d1, 0x5387: 0xe00008d4,\n\t0x5388: 0xe00008d7, 0x5389: 0xe00008da, 0x538a: 0xe00003a6, 0x538b: 0xe0000483,\n\t0x538c: 0xe0000558, 0x538d: 0xe0000628, 0x538e: 0xe00006de, 0x538f: 0xe000028b,\n\t0x5390: 0xe00003a9, 0x5391: 0xe0000486, 0x5392: 0xe000055b, 0x5393: 0xe000055e,\n\t0x5394: 0xe000062b, 0x5395: 0xe000062e, 0x5396: 0x4029a420, 0x5397: 0x4029a620,\n\t0x5398: 0xe000028e, 0x5399: 0xe00003ac, 0x539a: 0x4029a820, 0x539b: 0x4029aa20,\n\t0x539c: 0x4029ac20, 0x539d: 0x4029ae20, 0x539e: 0x4029b020, 0x539f: 0x4029b220,\n\t0x53a0: 0x4029b420, 0x53a1: 0x4029b620, 0x53a2: 0x4029b820,\n\t0x53b0: 0x4003ca20, 0x53b1: 0x4003cc20, 0x53b2: 0x4003ce20, 0x53b3: 0x4003d020,\n\t// Block 0x14f, offset 0x53c0\n\t0x53c0: 0x407dc220, 0x53c1: 0x407dc420, 0x53c2: 0x407dc620, 0x53c3: 0x407dc820,\n\t0x53c4: 0x407dca20, 0x53c5: 0x407dcc20, 0x53c6: 0x407dce20, 0x53c7: 0x407dd020,\n\t0x53c8: 0x407dd220, 0x53c9: 0x407dd420, 0x53ca: 0x407dd620, 0x53cb: 0x407dd820,\n\t0x53cc: 0x407dda20, 0x53cd: 0x407ddc20, 0x53ce: 0x407dde20, 0x53cf: 0x407de020,\n\t0x53d0: 0x407de220, 0x53d1: 0x407de420, 0x53d2: 0x407de620, 0x53d3: 0x407de820,\n\t0x53d4: 0x407dea20, 0x53d5: 0x407dec20, 0x53d6: 0x407dee20, 0x53d7: 0x407df020,\n\t0x53d8: 0x407df220, 0x53d9: 0x407df420, 0x53da: 0x407df620, 0x53db: 0x407df820,\n\t0x53dc: 0x407dfa20, 0x53dd: 0x407dfc20, 0x53de: 0x407dfe20, 0x53df: 0x407e0020,\n\t0x53e0: 0x407e0220, 0x53e1: 0x407e0420, 0x53e2: 0x407e0620, 0x53e3: 0x407e0820,\n\t0x53e4: 0x407e0a20, 0x53e5: 0x407e0c20, 0x53e6: 0x407e0e20, 0x53e7: 0x407e1020,\n\t0x53e8: 0x407e1220, 0x53e9: 0x407e1420, 0x53ea: 0x407e1620, 0x53eb: 0x407e1820,\n\t0x53ec: 0x407e1a20, 0x53ed: 0x407e1c20, 0x53ee: 0x407e1e20, 0x53ef: 0x407e2020,\n\t0x53f0: 0x407e2220, 0x53f1: 0x407e2420, 0x53f2: 0x407e2620, 0x53f3: 0x407e2820,\n\t0x53f4: 0x407e2a20, 0x53f5: 0x407e2c20, 0x53f6: 0x407e2e20, 0x53f7: 0x407e3020,\n\t0x53f8: 0x407e3220, 0x53f9: 0x407e3420, 0x53fa: 0x407e3620, 0x53fb: 0x407e3820,\n\t0x53fc: 0x407e3a20, 0x53fd: 0x407e3c20, 0x53fe: 0x407e3e20, 0x53ff: 0x407e4020,\n\t// Block 0x150, offset 0x5400\n\t0x5400: 0x407e4220, 0x5401: 0x407e4420, 0x5402: 0x407e4620, 0x5403: 0x407e4820,\n\t0x5404: 0x407e4a20, 0x5405: 0x407e4c20, 0x5406: 0x407e4e20, 0x5407: 0x407e5020,\n\t0x5408: 0x407e5220, 0x5409: 0x407e5420, 0x540a: 0x407e5620, 0x540b: 0x407e5820,\n\t0x540c: 0x407e5a20, 0x540d: 0x407e5c20, 0x540e: 0x407e5e20, 0x540f: 0x407e6020,\n\t0x5410: 0x407e6220, 0x5411: 0x407e6420, 0x5412: 0x407e6620, 0x5413: 0x407e6820,\n\t0x5414: 0x407e6a20, 0x5415: 0x407e6c20, 0x5416: 0x407e6e20, 0x5417: 0x407e7020,\n\t0x5418: 0x407e7220, 0x5419: 0x407e7420, 0x541a: 0x407e7620, 0x541b: 0x407e7820,\n\t0x541c: 0x407e7a20, 0x541d: 0x407e7c20, 0x541e: 0x407e7e20, 0x541f: 0x407e8020,\n\t0x5420: 0x407e8220, 0x5421: 0x407e8420, 0x5422: 0x407e8620, 0x5423: 0x407e8820,\n\t0x5424: 0x407e8a20, 0x5425: 0x407e8c20, 0x5426: 0x407e8e20, 0x5427: 0x407e9020,\n\t0x5428: 0x407e9220, 0x5429: 0x407e9420, 0x542a: 0x407e9620, 0x542b: 0x407e9820,\n\t0x542c: 0x407e9a20, 0x542d: 0x407e9c20, 0x542e: 0x407e9e20, 0x542f: 0x407ea020,\n\t0x5430: 0x407ea220, 0x5431: 0x407ea420, 0x5432: 0x407ea620, 0x5433: 0x407ea820,\n\t0x5434: 0x407eaa20, 0x5435: 0x407eac20, 0x5436: 0x407eae20, 0x5437: 0x407eb020,\n\t0x5438: 0x407eb220, 0x5439: 0x407eb420, 0x543a: 0x407eb620, 0x543b: 0x407eb820,\n\t0x543c: 0x407eba20, 0x543d: 0x407ebc20, 0x543e: 0x407ebe20, 0x543f: 0x407ec020,\n\t// Block 0x151, offset 0x5440\n\t0x5440: 0x407ec220, 0x5441: 0x407ec420, 0x5442: 0x407ec620, 0x5443: 0x407ec820,\n\t0x5444: 0x407eca20, 0x5445: 0x407ecc20, 0x5446: 0x407ece20, 0x5447: 0x407ed020,\n\t0x5448: 0x407ed220, 0x5449: 0x407ed420, 0x544a: 0x407ed620, 0x544b: 0x407ed820,\n\t0x544c: 0x407eda20, 0x544d: 0x407edc20, 0x544e: 0x407ede20, 0x544f: 0x407ee020,\n\t0x5450: 0x407ee220, 0x5451: 0x407ee420, 0x5452: 0x407ee620, 0x5453: 0x407ee820,\n\t0x5454: 0x407eea20, 0x5455: 0x407eec20, 0x5456: 0x407eee20, 0x5457: 0x407ef020,\n\t0x5458: 0x407ef220, 0x5459: 0x407ef420, 0x545a: 0x407ef620, 0x545b: 0x407ef820,\n\t0x545c: 0x407efa20, 0x545d: 0x407efc20, 0x545e: 0x407efe20, 0x545f: 0x407f0020,\n\t0x5460: 0x407f0220, 0x5461: 0x407f0420, 0x5462: 0x407f0620, 0x5463: 0x407f0820,\n\t0x5464: 0x407f0a20, 0x5465: 0x407f0c20, 0x5466: 0x407f0e20, 0x5467: 0x407f1020,\n\t0x5468: 0x407f1220, 0x5469: 0x407f1420, 0x546a: 0x407f1620, 0x546b: 0x407f1820,\n\t0x546c: 0x407f1a20, 0x546d: 0x407f1c20, 0x546e: 0x407f1e20, 0x546f: 0x407f2020,\n\t0x5470: 0x407f2220, 0x5471: 0x407f2420, 0x5472: 0x407f2620, 0x5473: 0x407f2820,\n\t0x5474: 0x407f2a20, 0x5475: 0x407f2c20, 0x5476: 0x407f2e20, 0x5477: 0x407f3020,\n\t0x5478: 0x407f3220, 0x5479: 0x407f3420, 0x547a: 0x407f3620, 0x547b: 0x407f3820,\n\t0x547c: 0x407f3a20, 0x547d: 0x407f3c20, 0x547e: 0x407f3e20, 0x547f: 0x407f4020,\n\t// Block 0x152, offset 0x5480\n\t0x5480: 0x407f4220, 0x5481: 0x407f4420, 0x5482: 0x407f4620, 0x5483: 0x407f4820,\n\t0x5484: 0x407f4a20, 0x5485: 0x407f4c20, 0x5486: 0x407f4e20, 0x5487: 0x407f5020,\n\t0x5488: 0x407f5220, 0x5489: 0x407f5420, 0x548a: 0x407f5620, 0x548b: 0x407f5820,\n\t0x548c: 0x407f5a20, 0x548d: 0x407f5c20, 0x548e: 0x407f5e20, 0x548f: 0x407f6020,\n\t0x5490: 0x407f6220, 0x5491: 0x407f6420, 0x5492: 0x407f6620, 0x5493: 0x407f6820,\n\t0x5494: 0x407f6a20, 0x5495: 0x407f6c20, 0x5496: 0x407f6e20, 0x5497: 0x407f7020,\n\t0x5498: 0x407f7220, 0x5499: 0x407f7420, 0x549a: 0x407f7620, 0x549b: 0x407f7820,\n\t0x549c: 0x407f7a20, 0x549d: 0x407f7c20, 0x549e: 0x407f7e20, 0x549f: 0x407f8020,\n\t0x54a0: 0x407f8220, 0x54a1: 0x407f8420, 0x54a2: 0x407f8620, 0x54a3: 0x407f8820,\n\t0x54a4: 0x407f8a20, 0x54a5: 0x407f8c20, 0x54a6: 0x407f8e20, 0x54a7: 0x407f9020,\n\t0x54a8: 0x407f9220, 0x54a9: 0x407f9420, 0x54aa: 0x407f9620, 0x54ab: 0x407f9820,\n\t0x54ac: 0x407f9a20, 0x54ad: 0x407f9c20, 0x54ae: 0x407f9e20, 0x54af: 0x407fa020,\n\t0x54b0: 0x407fa220, 0x54b1: 0x407fa420, 0x54b2: 0x407fa620, 0x54b3: 0x407fa820,\n\t0x54b4: 0x407faa20, 0x54b5: 0x407fac20, 0x54b6: 0x407fae20, 0x54b7: 0x407fb020,\n\t0x54b8: 0x407fb220, 0x54b9: 0x407fb420, 0x54ba: 0x407fb620, 0x54bb: 0x407fb820,\n\t0x54bc: 0x407fba20, 0x54bd: 0x407fbc20, 0x54be: 0x407fbe20, 0x54bf: 0x407fc020,\n\t// Block 0x153, offset 0x54c0\n\t0x54c0: 0x407fc220, 0x54c1: 0x407fc420, 0x54c2: 0x407fc620, 0x54c3: 0x407fc820,\n\t0x54c4: 0x407fca20, 0x54c5: 0x407fcc20, 0x54c6: 0x407fce20, 0x54c7: 0x407fd020,\n\t0x54c8: 0x407fd220, 0x54c9: 0x407fd420, 0x54ca: 0x407fd620, 0x54cb: 0x407fd820,\n\t0x54cc: 0x407fda20, 0x54cd: 0x407fdc20, 0x54ce: 0x407fde20, 0x54cf: 0x407fe020,\n\t0x54d0: 0x407fe220, 0x54d1: 0x407fe420, 0x54d2: 0x407fe620, 0x54d3: 0x407fe820,\n\t0x54d4: 0x407fea20, 0x54d5: 0x407fec20, 0x54d6: 0x407fee20, 0x54d7: 0x407ff020,\n\t0x54d8: 0x407ff220, 0x54d9: 0x407ff420, 0x54da: 0x407ff620, 0x54db: 0x407ff820,\n\t0x54dc: 0x407ffa20, 0x54dd: 0x407ffc20, 0x54de: 0x407ffe20, 0x54df: 0x40800020,\n\t0x54e0: 0x40800220, 0x54e1: 0x40800420, 0x54e2: 0x40800620, 0x54e3: 0x40800820,\n\t0x54e4: 0x40800a20, 0x54e5: 0x40800c20, 0x54e6: 0x40800e20, 0x54e7: 0x40801020,\n\t0x54e8: 0x40801220, 0x54e9: 0x40801420, 0x54ea: 0x40801620, 0x54eb: 0x40801820,\n\t0x54ec: 0x40801a20, 0x54ed: 0x40801c20, 0x54ee: 0x40801e20, 0x54ef: 0x40802020,\n\t0x54f0: 0x40802220, 0x54f1: 0x40802420, 0x54f2: 0x40802620, 0x54f3: 0x40802820,\n\t0x54f4: 0x40802a20, 0x54f5: 0x40802c20, 0x54f6: 0x40802e20, 0x54f7: 0x40803020,\n\t0x54f8: 0x40803220, 0x54f9: 0x40803420, 0x54fa: 0x40803620, 0x54fb: 0x40803820,\n\t0x54fc: 0x40803a20, 0x54fd: 0x40803c20, 0x54fe: 0x40803e20, 0x54ff: 0x40804020,\n\t// Block 0x154, offset 0x5500\n\t0x5500: 0x40804220, 0x5501: 0x40804420, 0x5502: 0x40804620, 0x5503: 0x40804820,\n\t0x5504: 0x40804a20, 0x5505: 0x40804c20, 0x5506: 0x40804e20, 0x5507: 0x40805020,\n\t0x5508: 0x40805220, 0x5509: 0x40805420, 0x550a: 0x40805620, 0x550b: 0x40805820,\n\t0x550c: 0x40805a20, 0x550d: 0x40805c20, 0x550e: 0x40805e20, 0x550f: 0x40806020,\n\t0x5510: 0x40806220, 0x5511: 0x40806420, 0x5512: 0x40806620, 0x5513: 0x40806820,\n\t0x5514: 0x40806a20, 0x5515: 0x40806c20, 0x5516: 0x40806e20, 0x5517: 0x40807020,\n\t0x5518: 0x40807220, 0x5519: 0x40807420, 0x551a: 0x40807620, 0x551b: 0x40807820,\n\t0x551c: 0x40807a20, 0x551d: 0x40807c20, 0x551e: 0x40807e20, 0x551f: 0x40808020,\n\t0x5520: 0x40808220, 0x5521: 0x40808420, 0x5522: 0x40808620, 0x5523: 0x40808820,\n\t0x5524: 0x40808a20, 0x5525: 0x40808c20, 0x5526: 0x40808e20, 0x5527: 0x40809020,\n\t0x5528: 0x40809220, 0x5529: 0x40809420, 0x552a: 0x40809620, 0x552b: 0x40809820,\n\t0x552c: 0x40809a20, 0x552d: 0x40809c20, 0x552e: 0x40809e20, 0x552f: 0x4080a020,\n\t0x5530: 0x4080a220, 0x5531: 0x4080a420, 0x5532: 0x4080a620, 0x5533: 0x4080a820,\n\t0x5534: 0x4080aa20, 0x5535: 0x4080ac20, 0x5536: 0x4080ae20, 0x5537: 0x4080b020,\n\t0x5538: 0x4080b220, 0x5539: 0x4080b420, 0x553a: 0x4080b620, 0x553b: 0x4080b820,\n\t0x553c: 0x4080ba20, 0x553d: 0x4080bc20, 0x553e: 0x4080be20, 0x553f: 0x4080c020,\n\t// Block 0x155, offset 0x5540\n\t0x5540: 0x4080c220, 0x5541: 0x4080c420, 0x5542: 0x4080c620, 0x5543: 0x4080c820,\n\t0x5544: 0x4080ca20, 0x5545: 0x4080cc20, 0x5546: 0x4080ce20, 0x5547: 0x4080d020,\n\t0x5548: 0x4080d220, 0x5549: 0x4080d420, 0x554a: 0x4080d620, 0x554b: 0x4080d820,\n\t0x554c: 0x4080da20, 0x554d: 0x4080dc20, 0x554e: 0x4080de20, 0x554f: 0x4080e020,\n\t0x5550: 0x4080e220, 0x5551: 0x4080e420, 0x5552: 0x4080e620, 0x5553: 0x4080e820,\n\t0x5554: 0x4080ea20, 0x5555: 0x4080ec20, 0x5556: 0x4080ee20, 0x5557: 0x4080f020,\n\t0x5558: 0x4080f220, 0x5559: 0x4080f420, 0x555a: 0x4080f620, 0x555b: 0x4080f820,\n\t0x555c: 0x4080fa20, 0x555d: 0x4080fc20, 0x555e: 0x4080fe20, 0x555f: 0x40810020,\n\t0x5560: 0x40810220, 0x5561: 0x40810420, 0x5562: 0x40810620, 0x5563: 0x40810820,\n\t0x5564: 0x40810a20, 0x5565: 0x40810c20, 0x5566: 0x40810e20, 0x5567: 0x40811020,\n\t0x5568: 0x40811220, 0x5569: 0x40811420, 0x556a: 0x40811620, 0x556b: 0x40811820,\n\t0x556c: 0x40811a20, 0x556d: 0x40811c20, 0x556e: 0x40811e20, 0x556f: 0x40812020,\n\t0x5570: 0x40812220, 0x5571: 0x40812420, 0x5572: 0x40812620, 0x5573: 0x40812820,\n\t0x5574: 0x40812a20, 0x5575: 0x40812c20, 0x5576: 0x40812e20, 0x5577: 0x40813020,\n\t0x5578: 0x40813220, 0x5579: 0x40813420, 0x557a: 0x40813620, 0x557b: 0x40813820,\n\t0x557c: 0x40813a20, 0x557d: 0x40813c20, 0x557e: 0x40813e20, 0x557f: 0x40814020,\n\t// Block 0x156, offset 0x5580\n\t0x5580: 0x40814220, 0x5581: 0x40814420, 0x5582: 0x40814620, 0x5583: 0x40814820,\n\t0x5584: 0x40814a20, 0x5585: 0x40814c20, 0x5586: 0x40814e20, 0x5587: 0x40815020,\n\t0x5588: 0x40815220, 0x5589: 0x40815420, 0x558a: 0x40815620, 0x558b: 0x40815820,\n\t0x558c: 0x40815a20, 0x558d: 0x40815c20, 0x558e: 0x40815e20, 0x558f: 0x40816020,\n\t0x5590: 0x40816220, 0x5591: 0x40816420, 0x5592: 0x40816620, 0x5593: 0x40816820,\n\t0x5594: 0x40816a20, 0x5595: 0x40816c20, 0x5596: 0x40816e20, 0x5597: 0x40817020,\n\t0x5598: 0x40817220, 0x5599: 0x40817420, 0x559a: 0x40817620, 0x559b: 0x40817820,\n\t0x559c: 0x40817a20, 0x559d: 0x40817c20, 0x559e: 0x40817e20, 0x559f: 0x40818020,\n\t0x55a0: 0x40818220, 0x55a1: 0x40818420, 0x55a2: 0x40818620, 0x55a3: 0x40818820,\n\t0x55a4: 0x40818a20, 0x55a5: 0x40818c20, 0x55a6: 0x40818e20, 0x55a7: 0x40819020,\n\t0x55a8: 0x40819220, 0x55a9: 0x40819420, 0x55aa: 0x40819620, 0x55ab: 0x40819820,\n\t0x55ac: 0x40819a20, 0x55ad: 0x40819c20, 0x55ae: 0x40819e20, 0x55af: 0x4081a020,\n\t0x55b0: 0x4081a220, 0x55b1: 0x4081a420, 0x55b2: 0x4081a620, 0x55b3: 0x4081a820,\n\t0x55b4: 0x4081aa20, 0x55b5: 0x4081ac20, 0x55b6: 0x4081ae20, 0x55b7: 0x4081b020,\n\t0x55b8: 0x4081b220, 0x55b9: 0x4081b420, 0x55ba: 0x4081b620, 0x55bb: 0x4081b820,\n\t0x55bc: 0x4081ba20, 0x55bd: 0x4081bc20, 0x55be: 0x4081be20, 0x55bf: 0x4081c020,\n\t// Block 0x157, offset 0x55c0\n\t0x55c0: 0x4081c220, 0x55c1: 0x4081c420, 0x55c2: 0x4081c620, 0x55c3: 0x4081c820,\n\t0x55c4: 0x4081ca20, 0x55c5: 0x4081cc20, 0x55c6: 0x4081ce20, 0x55c7: 0x4081d020,\n\t0x55c8: 0x4081d220, 0x55c9: 0x4081d420, 0x55ca: 0x4081d620, 0x55cb: 0x4081d820,\n\t0x55cc: 0x4081da20, 0x55cd: 0x4081dc20, 0x55ce: 0x4081de20, 0x55cf: 0x4081e020,\n\t0x55d0: 0x4081e220, 0x55d1: 0x4081e420, 0x55d2: 0x4081e620, 0x55d3: 0x4081e820,\n\t0x55d4: 0x4081ea20, 0x55d5: 0x4081ec20, 0x55d6: 0x4081ee20, 0x55d7: 0x4081f020,\n\t0x55d8: 0x4081f220, 0x55d9: 0x4081f420, 0x55da: 0x4081f620, 0x55db: 0x4081f820,\n\t0x55dc: 0x4081fa20, 0x55dd: 0x4081fc20, 0x55de: 0x4081fe20, 0x55df: 0x40820020,\n\t0x55e0: 0x40820220, 0x55e1: 0x40820420, 0x55e2: 0x40820620, 0x55e3: 0x40820820,\n\t0x55e4: 0x40820a20, 0x55e5: 0x40820c20, 0x55e6: 0x40820e20, 0x55e7: 0x40821020,\n\t0x55e8: 0x40821220, 0x55e9: 0x40821420, 0x55ea: 0x40821620, 0x55eb: 0x40821820,\n\t0x55ec: 0x40821a20, 0x55ed: 0x40821c20, 0x55ee: 0x40821e20, 0x55ef: 0x40822020,\n\t0x55f0: 0x40822220, 0x55f1: 0x40822420, 0x55f2: 0x40822620, 0x55f3: 0x40822820,\n\t0x55f4: 0x40822a20, 0x55f5: 0x40822c20, 0x55f6: 0x40822e20, 0x55f7: 0x40823020,\n\t0x55f8: 0x40823220, 0x55f9: 0x40823420, 0x55fa: 0x40823620, 0x55fb: 0x40823820,\n\t0x55fc: 0x40823a20, 0x55fd: 0x40823c20, 0x55fe: 0x40823e20, 0x55ff: 0x40824020,\n\t// Block 0x158, offset 0x5600\n\t0x5600: 0x40824220, 0x5601: 0x40824420, 0x5602: 0x40824620, 0x5603: 0x40824820,\n\t0x5604: 0x40824a20, 0x5605: 0x40824c20, 0x5606: 0x40824e20, 0x5607: 0x40825020,\n\t0x5608: 0x40825220, 0x5609: 0x40825420, 0x560a: 0x40825620, 0x560b: 0x40825820,\n\t0x560c: 0x40825a20, 0x560d: 0x40825c20, 0x560e: 0x40825e20, 0x560f: 0x40826020,\n\t0x5610: 0x40826220, 0x5611: 0x40826420, 0x5612: 0x40826620, 0x5613: 0x40826820,\n\t0x5614: 0x40826a20, 0x5615: 0x40826c20, 0x5616: 0x40826e20, 0x5617: 0x40827020,\n\t0x5618: 0x40827220, 0x5619: 0x40827420, 0x561a: 0x40827620, 0x561b: 0x40827820,\n\t0x561c: 0x40827a20, 0x561d: 0x40827c20, 0x561e: 0x40827e20, 0x561f: 0x40828020,\n\t0x5620: 0x40828220, 0x5621: 0x40828420, 0x5622: 0x40828620, 0x5623: 0x40828820,\n\t0x5624: 0x40828a20, 0x5625: 0x40828c20, 0x5626: 0x40828e20, 0x5627: 0x40829020,\n\t0x5628: 0x40829220, 0x5629: 0x40829420, 0x562a: 0x40829620, 0x562b: 0x40829820,\n\t0x562c: 0x40829a20, 0x562d: 0x40829c20, 0x562e: 0x40829e20, 0x562f: 0x4082a020,\n\t0x5630: 0x4082a220, 0x5631: 0x4082a420, 0x5632: 0x4082a620, 0x5633: 0x4082a820,\n\t0x5634: 0x4082aa20, 0x5635: 0x4082ac20, 0x5636: 0x4082ae20, 0x5637: 0x4082b020,\n\t0x5638: 0x4082b220, 0x5639: 0x4082b420, 0x563a: 0x4082b620, 0x563b: 0x4082b820,\n\t0x563c: 0x4082ba20, 0x563d: 0x4082bc20, 0x563e: 0x4082be20, 0x563f: 0x4082c020,\n\t// Block 0x159, offset 0x5640\n\t0x5640: 0x4082c220, 0x5641: 0x4082c420, 0x5642: 0x4082c620, 0x5643: 0x4082c820,\n\t0x5644: 0x4082ca20, 0x5645: 0x4082cc20, 0x5646: 0x4082ce20, 0x5647: 0x4082d020,\n\t0x5648: 0x4082d220, 0x5649: 0x4082d420, 0x564a: 0x4082d620, 0x564b: 0x4082d820,\n\t0x564c: 0x4082da20, 0x564d: 0x4082dc20, 0x564e: 0x4082de20, 0x564f: 0x4082e020,\n\t0x5650: 0x4082e220, 0x5651: 0x4082e420, 0x5652: 0x4082e620, 0x5653: 0x4082e820,\n\t0x5654: 0x4082ea20, 0x5655: 0x4082ec20, 0x5656: 0x4082ee20, 0x5657: 0x4082f020,\n\t0x5658: 0x4082f220, 0x5659: 0x4082f420, 0x565a: 0x4082f620, 0x565b: 0x4082f820,\n\t0x565c: 0x4082fa20, 0x565d: 0x4082fc20, 0x565e: 0x4082fe20, 0x565f: 0x40830020,\n\t0x5660: 0x40830220, 0x5661: 0x40830420, 0x5662: 0x40830620, 0x5663: 0x40830820,\n\t0x5664: 0x40830a20, 0x5665: 0x40830c20, 0x5666: 0x40830e20, 0x5667: 0x40831020,\n\t0x5668: 0x40831220, 0x5669: 0x40831420, 0x566a: 0x40831620, 0x566b: 0x40831820,\n\t0x566c: 0x40831a20, 0x566d: 0x40831c20, 0x566e: 0x40831e20, 0x566f: 0x40832020,\n\t0x5670: 0x40832220, 0x5671: 0x40832420, 0x5672: 0x40832620, 0x5673: 0x40832820,\n\t0x5674: 0x40832a20, 0x5675: 0x40832c20, 0x5676: 0x40832e20, 0x5677: 0x40833020,\n\t0x5678: 0x40833220, 0x5679: 0x40833420, 0x567a: 0x40833620, 0x567b: 0x40833820,\n\t0x567c: 0x40833a20, 0x567d: 0x40833c20, 0x567e: 0x40833e20, 0x567f: 0x40834020,\n\t// Block 0x15a, offset 0x5680\n\t0x5680: 0x40834220, 0x5681: 0x40834420, 0x5682: 0x40834620, 0x5683: 0x40834820,\n\t0x5684: 0x40834a20, 0x5685: 0x40834c20, 0x5686: 0x40834e20, 0x5687: 0x40835020,\n\t0x5688: 0x40835220, 0x5689: 0x40835420, 0x568a: 0x40835620, 0x568b: 0x40835820,\n\t0x568c: 0x40835a20, 0x568d: 0x40835c20, 0x568e: 0x40835e20, 0x568f: 0x40836020,\n\t0x5690: 0x40836220, 0x5691: 0x40836420, 0x5692: 0x40836620, 0x5693: 0x40836820,\n\t0x5694: 0x40836a20, 0x5695: 0x40836c20, 0x5696: 0x40836e20, 0x5697: 0x40837020,\n\t0x5698: 0x40837220, 0x5699: 0x40837420, 0x569a: 0x40837620, 0x569b: 0x40837820,\n\t0x569c: 0x40837a20, 0x569d: 0x40837c20, 0x569e: 0x40837e20, 0x569f: 0x40838020,\n\t0x56a0: 0x40838220, 0x56a1: 0x40838420, 0x56a2: 0x40838620, 0x56a3: 0x40838820,\n\t0x56a4: 0x40838a20, 0x56a5: 0x40838c20, 0x56a6: 0x40838e20, 0x56a7: 0x40839020,\n\t0x56a8: 0x40839220, 0x56a9: 0x40839420, 0x56aa: 0x40839620, 0x56ab: 0x40839820,\n\t0x56ac: 0x40839a20, 0x56ad: 0x40839c20, 0x56ae: 0x40839e20, 0x56af: 0x4083a020,\n\t0x56b0: 0x4083a220, 0x56b1: 0x4083a420, 0x56b2: 0x4083a620, 0x56b3: 0x4083a820,\n\t0x56b4: 0x4083aa20, 0x56b5: 0x4083ac20, 0x56b6: 0x4083ae20, 0x56b7: 0x4083b020,\n\t0x56b8: 0x4083b220, 0x56b9: 0x4083b420, 0x56ba: 0x4083b620, 0x56bb: 0x4083b820,\n\t0x56bc: 0x4083ba20, 0x56bd: 0x4083bc20, 0x56be: 0x4083be20, 0x56bf: 0x4083c020,\n\t// Block 0x15b, offset 0x56c0\n\t0x56c0: 0x4083c220, 0x56c1: 0x4083c420, 0x56c2: 0x4083c620, 0x56c3: 0x4083c820,\n\t0x56c4: 0x4083ca20, 0x56c5: 0x4083cc20, 0x56c6: 0x4083ce20, 0x56c7: 0x4083d020,\n\t0x56c8: 0x4083d220, 0x56c9: 0x4083d420, 0x56ca: 0x4083d620, 0x56cb: 0x4083d820,\n\t0x56cc: 0x4083da20, 0x56cd: 0x4083dc20, 0x56ce: 0x4083de20, 0x56cf: 0x4083e020,\n\t0x56d0: 0x4083e220, 0x56d1: 0x4083e420, 0x56d2: 0x4083e620, 0x56d3: 0x4083e820,\n\t0x56d4: 0x4083ea20, 0x56d5: 0x4083ec20, 0x56d6: 0x4083ee20, 0x56d7: 0x4083f020,\n\t0x56d8: 0x4083f220, 0x56d9: 0x4083f420, 0x56da: 0x4083f620, 0x56db: 0x4083f820,\n\t0x56dc: 0x4083fa20, 0x56dd: 0x4083fc20, 0x56de: 0x4083fe20, 0x56df: 0x40840020,\n\t0x56e0: 0x40840220, 0x56e1: 0x40840420, 0x56e2: 0x40840620, 0x56e3: 0x40840820,\n\t0x56e4: 0x40840a20, 0x56e5: 0x40840c20, 0x56e6: 0x40840e20, 0x56e7: 0x40841020,\n\t0x56e8: 0x40841220, 0x56e9: 0x40841420, 0x56ea: 0x40841620, 0x56eb: 0x40841820,\n\t0x56ec: 0x40841a20, 0x56ed: 0x40841c20, 0x56ee: 0x40841e20, 0x56ef: 0x40842020,\n\t0x56f0: 0x40842220, 0x56f1: 0x40842420, 0x56f2: 0x40842620, 0x56f3: 0x40842820,\n\t0x56f4: 0x40842a20, 0x56f5: 0x40842c20, 0x56f6: 0x40842e20, 0x56f7: 0x40843020,\n\t0x56f8: 0x40843220, 0x56f9: 0x40843420, 0x56fa: 0x40843620, 0x56fb: 0x40843820,\n\t0x56fc: 0x40843a20, 0x56fd: 0x40843c20, 0x56fe: 0x40843e20, 0x56ff: 0x40844020,\n\t// Block 0x15c, offset 0x5700\n\t0x5700: 0x40844220, 0x5701: 0x40844420, 0x5702: 0x40844620, 0x5703: 0x40844820,\n\t0x5704: 0x40844a20, 0x5705: 0x40844c20, 0x5706: 0x40844e20, 0x5707: 0x40845020,\n\t0x5708: 0x40845220, 0x5709: 0x40845420, 0x570a: 0x40845620, 0x570b: 0x40845820,\n\t0x570c: 0x40845a20, 0x570d: 0x40845c20, 0x570e: 0x40845e20, 0x570f: 0x40846020,\n\t0x5710: 0x40846220, 0x5711: 0x40846420, 0x5712: 0x40846620, 0x5713: 0x40846820,\n\t0x5714: 0x40846a20, 0x5715: 0x40846c20, 0x5716: 0x40846e20, 0x5717: 0x40847020,\n\t0x5718: 0x40847220, 0x5719: 0x40847420, 0x571a: 0x40847620, 0x571b: 0x40847820,\n\t0x571c: 0x40847a20, 0x571d: 0x40847c20, 0x571e: 0x40847e20, 0x571f: 0x40848020,\n\t0x5720: 0x40848220, 0x5721: 0x40848420, 0x5722: 0x40848620, 0x5723: 0x40848820,\n\t0x5724: 0x40848a20, 0x5725: 0x40848c20, 0x5726: 0x40848e20, 0x5727: 0x40849020,\n\t0x5728: 0x40849220, 0x5729: 0x40849420, 0x572a: 0x40849620, 0x572b: 0x40849820,\n\t0x572c: 0x40849a20, 0x572d: 0x40849c20, 0x572e: 0x40849e20, 0x572f: 0x4084a020,\n\t0x5730: 0x4084a220, 0x5731: 0x4084a420, 0x5732: 0x4084a620, 0x5733: 0x4084a820,\n\t0x5734: 0x4084aa20, 0x5735: 0x4084ac20, 0x5736: 0x4084ae20, 0x5737: 0x4084b020,\n\t0x5738: 0x4084b220, 0x5739: 0x4084b420, 0x573a: 0x4084b620, 0x573b: 0x4084b820,\n\t0x573c: 0x4084ba20, 0x573d: 0x4084bc20, 0x573e: 0x4084be20, 0x573f: 0x4084c020,\n\t// Block 0x15d, offset 0x5740\n\t0x5740: 0x4084c220, 0x5741: 0x4084c420, 0x5742: 0x4084c620, 0x5743: 0x4084c820,\n\t0x5744: 0x4084ca20, 0x5745: 0x4084cc20, 0x5746: 0x4084ce20, 0x5747: 0x4084d020,\n\t0x5748: 0x4084d220, 0x5749: 0x4084d420, 0x574a: 0x4084d620, 0x574b: 0x4084d820,\n\t0x574c: 0x4084da20, 0x574d: 0x4084dc20, 0x574e: 0x4084de20, 0x574f: 0x4084e020,\n\t0x5750: 0x4084e220, 0x5751: 0x4084e420, 0x5752: 0x4084e620, 0x5753: 0x4084e820,\n\t0x5754: 0x4084ea20, 0x5755: 0x4084ec20, 0x5756: 0x4084ee20, 0x5757: 0x4084f020,\n\t0x5758: 0x4084f220, 0x5759: 0x4084f420, 0x575a: 0x4084f620, 0x575b: 0x4084f820,\n\t0x575c: 0x4084fa20, 0x575d: 0x4084fc20, 0x575e: 0x4084fe20, 0x575f: 0x40850020,\n\t0x5760: 0x40850220, 0x5761: 0x40850420, 0x5762: 0x40850620, 0x5763: 0x40850820,\n\t0x5764: 0x40850a20, 0x5765: 0x40850c20, 0x5766: 0x40850e20, 0x5767: 0x40851020,\n\t0x5768: 0x40851220, 0x5769: 0x40851420, 0x576a: 0x40851620, 0x576b: 0x40851820,\n\t0x576c: 0x40851a20, 0x576d: 0x40851c20, 0x576e: 0x40851e20, 0x576f: 0x40852020,\n\t0x5770: 0x40852220, 0x5771: 0x40852420, 0x5772: 0x40852620, 0x5773: 0x40852820,\n\t0x5774: 0x40852a20, 0x5775: 0x40852c20, 0x5776: 0x40852e20, 0x5777: 0x40853020,\n\t0x5778: 0x40853220, 0x5779: 0x40853420, 0x577a: 0x40853620, 0x577b: 0x40853820,\n\t0x577c: 0x40853a20, 0x577d: 0x40853c20, 0x577e: 0x40853e20, 0x577f: 0x40854020,\n\t// Block 0x15e, offset 0x5780\n\t0x5780: 0x40854220, 0x5781: 0x40854420, 0x5782: 0x40854620, 0x5783: 0x40854820,\n\t0x5784: 0x40854a20, 0x5785: 0x40854c20, 0x5786: 0x40854e20, 0x5787: 0x40855020,\n\t0x5788: 0x40855220, 0x5789: 0x40855420, 0x578a: 0x40855620, 0x578b: 0x40855820,\n\t0x578c: 0x40855a20, 0x578d: 0x40855c20, 0x578e: 0x40855e20, 0x578f: 0x40856020,\n\t0x5790: 0x40856220, 0x5791: 0x40856420, 0x5792: 0x40856620, 0x5793: 0x40856820,\n\t0x5794: 0x40856a20, 0x5795: 0x40856c20, 0x5796: 0x40856e20, 0x5797: 0x40857020,\n\t0x5798: 0x40857220, 0x5799: 0x40857420, 0x579a: 0x40857620, 0x579b: 0x40857820,\n\t0x579c: 0x40857a20, 0x579d: 0x40857c20, 0x579e: 0x40857e20, 0x579f: 0x40858020,\n\t0x57a0: 0x40858220, 0x57a1: 0x40858420, 0x57a2: 0x40858620, 0x57a3: 0x40858820,\n\t0x57a4: 0x40858a20, 0x57a5: 0x40858c20, 0x57a6: 0x40858e20, 0x57a7: 0x40859020,\n\t0x57a8: 0x40859220, 0x57a9: 0x40859420, 0x57aa: 0x40859620, 0x57ab: 0x40859820,\n\t0x57ac: 0x40859a20, 0x57ad: 0x40859c20, 0x57ae: 0x40859e20, 0x57af: 0x4085a020,\n\t0x57b0: 0x4085a220, 0x57b1: 0x4085a420, 0x57b2: 0x4085a620, 0x57b3: 0x4085a820,\n\t0x57b4: 0x4085aa20, 0x57b5: 0x4085ac20, 0x57b6: 0x4085ae20, 0x57b7: 0x4085b020,\n\t0x57b8: 0x4085b220, 0x57b9: 0x4085b420, 0x57ba: 0x4085b620, 0x57bb: 0x4085b820,\n\t0x57bc: 0x4085ba20, 0x57bd: 0x4085bc20, 0x57be: 0x4085be20, 0x57bf: 0x4085c020,\n\t// Block 0x15f, offset 0x57c0\n\t0x57c0: 0x4085c220, 0x57c1: 0x4085c420, 0x57c2: 0x4085c620, 0x57c3: 0x4085c820,\n\t0x57c4: 0x4085ca20, 0x57c5: 0x4085cc20, 0x57c6: 0x4085ce20, 0x57c7: 0x4085d020,\n\t0x57c8: 0x4085d220, 0x57c9: 0x4085d420, 0x57ca: 0x4085d620, 0x57cb: 0x4085d820,\n\t0x57cc: 0x4085da20, 0x57cd: 0x4085dc20, 0x57ce: 0x4085de20, 0x57cf: 0x4085e020,\n\t0x57d0: 0x4085e220, 0x57d1: 0x4085e420, 0x57d2: 0x4085e620, 0x57d3: 0x4085e820,\n\t0x57d4: 0x4085ea20, 0x57d5: 0x4085ec20, 0x57d6: 0x4085ee20, 0x57d7: 0x4085f020,\n\t0x57d8: 0x4085f220, 0x57d9: 0x4085f420, 0x57da: 0x4085f620, 0x57db: 0x4085f820,\n\t0x57dc: 0x4085fa20, 0x57dd: 0x4085fc20, 0x57de: 0x4085fe20, 0x57df: 0x40860020,\n\t0x57e0: 0x40860220, 0x57e1: 0x40860420, 0x57e2: 0x40860620, 0x57e3: 0x40860820,\n\t0x57e4: 0x40860a20, 0x57e5: 0x40860c20, 0x57e6: 0x40860e20, 0x57e7: 0x40861020,\n\t0x57e8: 0x40861220, 0x57e9: 0x40861420, 0x57ea: 0x40861620, 0x57eb: 0x40861820,\n\t0x57ec: 0x40861a20, 0x57ed: 0x40861c20, 0x57ee: 0x40861e20,\n\t// Block 0x160, offset 0x5800\n\t0x5800: 0x405e3a20, 0x5801: 0x405e3c20, 0x5802: 0x405e3e20, 0x5803: 0x405e4020,\n\t0x5804: 0x405e4220, 0x5805: 0x405e4420, 0x5806: 0x405e4620, 0x5807: 0x405e4820,\n\t0x5808: 0x405e4a20, 0x5809: 0x405e4c20, 0x580a: 0x405e4e20, 0x580b: 0x405e5020,\n\t0x580c: 0x405e5220, 0x580d: 0x405e5420, 0x580e: 0x405e5620, 0x580f: 0x405e5820,\n\t0x5810: 0x405e5a20, 0x5811: 0x405e5c20, 0x5812: 0x405e5e20, 0x5813: 0x405e6020,\n\t0x5814: 0x405e6220, 0x5815: 0x405e6420, 0x5816: 0x405e6620, 0x5817: 0x405e6820,\n\t0x5818: 0x405e6a20, 0x5819: 0x405e6c20, 0x581a: 0x405e6e20, 0x581b: 0x405e7020,\n\t0x581c: 0x405e7220, 0x581d: 0x405e7420, 0x581e: 0x405e7620, 0x581f: 0x405e7820,\n\t0x5820: 0x405e7a20, 0x5821: 0x405e7c20, 0x5822: 0x405e7e20, 0x5823: 0x405e8020,\n\t0x5824: 0x405e8220, 0x5825: 0x405e8420, 0x5826: 0x405e8620, 0x5827: 0x405e8820,\n\t0x5828: 0x405e8a20, 0x5829: 0x405e8c20, 0x582a: 0x405e8e20, 0x582b: 0x405e9020,\n\t0x582c: 0x405e9220, 0x582d: 0x405e9420, 0x582e: 0x405e9620, 0x582f: 0x405e9820,\n\t0x5830: 0x405e9a20, 0x5831: 0x405e9c20, 0x5832: 0x405e9e20, 0x5833: 0x405ea020,\n\t0x5834: 0x405ea220, 0x5835: 0x405ea420, 0x5836: 0x405ea620, 0x5837: 0x405ea820,\n\t0x5838: 0x405eaa20, 0x5839: 0x405eac20, 0x583a: 0x405eae20, 0x583b: 0x405eb020,\n\t0x583c: 0x405eb220, 0x583d: 0x405eb420, 0x583e: 0x405eb620, 0x583f: 0x405eb820,\n\t// Block 0x161, offset 0x5840\n\t0x5840: 0x405eba20, 0x5841: 0x405ebc20, 0x5842: 0x405ebe20, 0x5843: 0x405ec020,\n\t0x5844: 0x405ec220, 0x5845: 0x405ec420, 0x5846: 0x405ec620, 0x5847: 0x405ec820,\n\t0x5848: 0x405eca20, 0x5849: 0x405ecc20, 0x584a: 0x405ece20, 0x584b: 0x405ed020,\n\t0x584c: 0x405ed220, 0x584d: 0x405ed420, 0x584e: 0x405ed620, 0x584f: 0x405ed820,\n\t0x5850: 0x405eda20, 0x5851: 0x405edc20, 0x5852: 0x405ede20, 0x5853: 0x405ee020,\n\t0x5854: 0x405ee220, 0x5855: 0x405ee420, 0x5856: 0x405ee620, 0x5857: 0x405ee820,\n\t0x5858: 0x405eea20, 0x5859: 0x405eec20, 0x585a: 0x405eee20, 0x585b: 0x405ef020,\n\t0x585c: 0x405ef220, 0x585d: 0x405ef420, 0x585e: 0x405ef620, 0x585f: 0x405ef820,\n\t0x5860: 0x405efa20, 0x5861: 0x405efc20, 0x5862: 0x405efe20, 0x5863: 0x405f0020,\n\t0x5864: 0x405f0220, 0x5865: 0x405f0420, 0x5866: 0x405f0620, 0x5867: 0x405f0820,\n\t0x5868: 0x405f0a20, 0x5869: 0x405f0c20, 0x586a: 0x405f0e20, 0x586b: 0x405f1020,\n\t0x586c: 0x405f1220, 0x586d: 0x405f1420, 0x586e: 0x405f1620, 0x586f: 0x405f1820,\n\t0x5870: 0x405f1a20, 0x5871: 0x405f1c20, 0x5872: 0x405f1e20, 0x5873: 0x405f2020,\n\t0x5874: 0x405f2220, 0x5875: 0x405f2420, 0x5876: 0x405f2620, 0x5877: 0x405f2820,\n\t0x5878: 0x405f2a20, 0x5879: 0x405f2c20, 0x587a: 0x405f2e20, 0x587b: 0x405f3020,\n\t0x587c: 0x405f3220, 0x587d: 0x405f3420, 0x587e: 0x405f3620, 0x587f: 0x405f3820,\n\t// Block 0x162, offset 0x5880\n\t0x5880: 0x405f3a20, 0x5881: 0x405f3c20, 0x5882: 0x405f3e20, 0x5883: 0x405f4020,\n\t0x5884: 0x405f4220, 0x5885: 0x405f4420, 0x5886: 0x405f4620, 0x5887: 0x405f4820,\n\t0x5888: 0x405f4a20, 0x5889: 0x405f4c20, 0x588a: 0x405f4e20, 0x588b: 0x405f5020,\n\t0x588c: 0x405f5220, 0x588d: 0x405f5420, 0x588e: 0x405f5620, 0x588f: 0x405f5820,\n\t0x5890: 0x405f5a20, 0x5891: 0x405f5c20, 0x5892: 0x405f5e20, 0x5893: 0x405f6020,\n\t0x5894: 0x405f6220, 0x5895: 0x405f6420, 0x5896: 0x405f6620, 0x5897: 0x405f6820,\n\t0x5898: 0x405f6a20, 0x5899: 0x405f6c20, 0x589a: 0x405f6e20, 0x589b: 0x405f7020,\n\t0x589c: 0x405f7220, 0x589d: 0x405f7420, 0x589e: 0x405f7620, 0x589f: 0x405f7820,\n\t0x58a0: 0x405f7a20, 0x58a1: 0x405f7c20, 0x58a2: 0x405f7e20, 0x58a3: 0x405f8020,\n\t0x58a4: 0x405f8220, 0x58a5: 0x405f8420, 0x58a6: 0x405f8620, 0x58a7: 0x405f8820,\n\t0x58a8: 0x405f8a20, 0x58a9: 0x405f8c20, 0x58aa: 0x405f8e20, 0x58ab: 0x405f9020,\n\t0x58ac: 0x405f9220, 0x58ad: 0x405f9420, 0x58ae: 0x405f9620, 0x58af: 0x405f9820,\n\t0x58b0: 0x405f9a20, 0x58b1: 0x405f9c20, 0x58b2: 0x405f9e20, 0x58b3: 0x405fa020,\n\t0x58b4: 0x405fa220, 0x58b5: 0x405fa420, 0x58b6: 0x405fa620, 0x58b7: 0x405fa820,\n\t0x58b8: 0x405faa20, 0x58b9: 0x405fac20, 0x58ba: 0x405fae20, 0x58bb: 0x405fb020,\n\t0x58bc: 0x405fb220, 0x58bd: 0x405fb420, 0x58be: 0x405fb620, 0x58bf: 0x405fb820,\n\t// Block 0x163, offset 0x58c0\n\t0x58c0: 0x405fba20, 0x58c1: 0x405fbc20, 0x58c2: 0x405fbe20, 0x58c3: 0x405fc020,\n\t0x58c4: 0x405fc220, 0x58c5: 0x405fc420, 0x58c6: 0x405fc620, 0x58c7: 0x405fc820,\n\t0x58c8: 0x405fca20, 0x58c9: 0x405fcc20, 0x58ca: 0x405fce20, 0x58cb: 0x405fd020,\n\t0x58cc: 0x405fd220, 0x58cd: 0x405fd420, 0x58ce: 0x405fd620, 0x58cf: 0x405fd820,\n\t0x58d0: 0x405fda20, 0x58d1: 0x405fdc20, 0x58d2: 0x405fde20, 0x58d3: 0x405fe020,\n\t0x58d4: 0x405fe220, 0x58d5: 0x405fe420, 0x58d6: 0x405fe620, 0x58d7: 0x405fe820,\n\t0x58d8: 0x405fea20, 0x58d9: 0x405fec20, 0x58da: 0x405fee20, 0x58db: 0x405ff020,\n\t0x58dc: 0x405ff220, 0x58dd: 0x405ff420, 0x58de: 0x405ff620, 0x58df: 0x405ff820,\n\t0x58e0: 0x405ffa20, 0x58e1: 0x405ffc20, 0x58e2: 0x405ffe20, 0x58e3: 0x40600020,\n\t0x58e4: 0x40600220, 0x58e5: 0x40600420, 0x58e6: 0x40600620, 0x58e7: 0x40600820,\n\t0x58e8: 0x40600a20, 0x58e9: 0x40600c20, 0x58ea: 0x40600e20, 0x58eb: 0x40601020,\n\t0x58ec: 0x40601220, 0x58ed: 0x40601420, 0x58ee: 0x40601620, 0x58ef: 0x40601820,\n\t0x58f0: 0x40601a20, 0x58f1: 0x40601c20, 0x58f2: 0x40601e20, 0x58f3: 0x40602020,\n\t0x58f4: 0x40602220, 0x58f5: 0x40602420, 0x58f6: 0x40602620, 0x58f7: 0x40602820,\n\t0x58f8: 0x40602a20, 0x58f9: 0x40602c20, 0x58fa: 0x40602e20, 0x58fb: 0x40603020,\n\t0x58fc: 0x40603220, 0x58fd: 0x40603420, 0x58fe: 0x40603620, 0x58ff: 0x40603820,\n\t// Block 0x164, offset 0x5900\n\t0x5900: 0x40603a20, 0x5901: 0x40603c20, 0x5902: 0x40603e20, 0x5903: 0x40604020,\n\t0x5904: 0x40604220, 0x5905: 0x40604420, 0x5906: 0x40604620, 0x5907: 0x40604820,\n\t0x5908: 0x40604a20, 0x5909: 0x40604c20, 0x590a: 0x40604e20, 0x590b: 0x40605020,\n\t0x590c: 0x40605220, 0x590d: 0x40605420, 0x590e: 0x40605620, 0x590f: 0x40605820,\n\t0x5910: 0x40605a20, 0x5911: 0x40605c20, 0x5912: 0x40605e20, 0x5913: 0x40606020,\n\t0x5914: 0x40606220, 0x5915: 0x40606420, 0x5916: 0x40606620, 0x5917: 0x40606820,\n\t0x5918: 0x40606a20, 0x5919: 0x40606c20, 0x591a: 0x40606e20, 0x591b: 0x40607020,\n\t0x591c: 0x40607220, 0x591d: 0x40607420, 0x591e: 0x40607620, 0x591f: 0x40607820,\n\t0x5920: 0x40607a20, 0x5921: 0x40607c20, 0x5922: 0x40607e20, 0x5923: 0x40608020,\n\t0x5924: 0x40608220, 0x5925: 0x40608420, 0x5926: 0x40608620, 0x5927: 0x40608820,\n\t0x5928: 0x40608a20, 0x5929: 0x40608c20, 0x592a: 0x40608e20, 0x592b: 0x40609020,\n\t0x592c: 0x40609220, 0x592d: 0x40609420, 0x592e: 0x40609620, 0x592f: 0x40609820,\n\t0x5930: 0x40609a20, 0x5931: 0x40609c20, 0x5932: 0x40609e20, 0x5933: 0x4060a020,\n\t0x5934: 0x4060a220, 0x5935: 0x4060a420, 0x5936: 0x4060a620, 0x5937: 0x4060a820,\n\t0x5938: 0x4060aa20, 0x5939: 0x4060ac20, 0x593a: 0x4060ae20, 0x593b: 0x4060b020,\n\t0x593c: 0x4060b220, 0x593d: 0x4060b420, 0x593e: 0x4060b620, 0x593f: 0x4060b820,\n\t// Block 0x165, offset 0x5940\n\t0x5940: 0x4060ba20, 0x5941: 0x4060bc20, 0x5942: 0x4060be20, 0x5943: 0x4060c020,\n\t0x5944: 0x4060c220, 0x5945: 0x4060c420, 0x5946: 0x4060c620, 0x5947: 0x4060c820,\n\t0x5948: 0x4060ca20, 0x5949: 0x4060cc20, 0x594a: 0x4060ce20, 0x594b: 0x4060d020,\n\t0x594c: 0x4060d220, 0x594d: 0x4060d420, 0x594e: 0x4060d620, 0x594f: 0x4060d820,\n\t0x5950: 0x4060da20, 0x5951: 0x4060dc20, 0x5952: 0x4060de20, 0x5953: 0x4060e020,\n\t0x5954: 0x4060e220, 0x5955: 0x4060e420, 0x5956: 0x4060e620, 0x5957: 0x4060e820,\n\t0x5958: 0x4060ea20, 0x5959: 0x4060ec20, 0x595a: 0x4060ee20, 0x595b: 0x4060f020,\n\t0x595c: 0x4060f220, 0x595d: 0x4060f420, 0x595e: 0x4060f620, 0x595f: 0x4060f820,\n\t0x5960: 0x4060fa20, 0x5961: 0x4060fc20, 0x5962: 0x4060fe20, 0x5963: 0x40610020,\n\t0x5964: 0x40610220, 0x5965: 0x40610420, 0x5966: 0x40610620, 0x5967: 0x40610820,\n\t0x5968: 0x40610a20, 0x5969: 0x40610c20, 0x596a: 0x40610e20, 0x596b: 0x40611020,\n\t0x596c: 0x40611220, 0x596d: 0x40611420, 0x596e: 0x40611620, 0x596f: 0x40611820,\n\t0x5970: 0x40611a20, 0x5971: 0x40611c20, 0x5972: 0x40611e20, 0x5973: 0x40612020,\n\t0x5974: 0x40612220, 0x5975: 0x40612420, 0x5976: 0x40612620, 0x5977: 0x40612820,\n\t0x5978: 0x40612a20, 0x5979: 0x40612c20, 0x597a: 0x40612e20, 0x597b: 0x40613020,\n\t0x597c: 0x40613220, 0x597d: 0x40613420, 0x597e: 0x40613620, 0x597f: 0x40613820,\n\t// Block 0x166, offset 0x5980\n\t0x5980: 0x40613a20, 0x5981: 0x40613c20, 0x5982: 0x40613e20, 0x5983: 0x40614020,\n\t0x5984: 0x40614220, 0x5985: 0x40614420, 0x5986: 0x40614620, 0x5987: 0x40614820,\n\t0x5988: 0x40614a20, 0x5989: 0x40614c20, 0x598a: 0x40614e20, 0x598b: 0x40615020,\n\t0x598c: 0x40615220, 0x598d: 0x40615420, 0x598e: 0x40615620, 0x598f: 0x40615820,\n\t0x5990: 0x40615a20, 0x5991: 0x40615c20, 0x5992: 0x40615e20, 0x5993: 0x40616020,\n\t0x5994: 0x40616220, 0x5995: 0x40616420, 0x5996: 0x40616620, 0x5997: 0x40616820,\n\t0x5998: 0x40616a20, 0x5999: 0x40616c20, 0x599a: 0x40616e20, 0x599b: 0x40617020,\n\t0x599c: 0x40617220, 0x599d: 0x40617420, 0x599e: 0x40617620, 0x599f: 0x40617820,\n\t0x59a0: 0x40617a20, 0x59a1: 0x40617c20, 0x59a2: 0x40617e20, 0x59a3: 0x40618020,\n\t0x59a4: 0x40618220, 0x59a5: 0x40618420, 0x59a6: 0x40618620, 0x59a7: 0x40618820,\n\t0x59a8: 0x40618a20, 0x59a9: 0x40618c20, 0x59aa: 0x40618e20, 0x59ab: 0x40619020,\n\t0x59ac: 0x40619220, 0x59ad: 0x40619420, 0x59ae: 0x40619620, 0x59af: 0x40619820,\n\t0x59b0: 0x40619a20, 0x59b1: 0x40619c20, 0x59b2: 0x40619e20, 0x59b3: 0x4061a020,\n\t0x59b4: 0x4061a220, 0x59b5: 0x4061a420, 0x59b6: 0x4061a620, 0x59b7: 0x4061a820,\n\t0x59b8: 0x4061aa20, 0x59b9: 0x4061ac20, 0x59ba: 0x4061ae20, 0x59bb: 0x4061b020,\n\t0x59bc: 0x4061b220, 0x59bd: 0x4061b420, 0x59be: 0x4061b620, 0x59bf: 0x4061b820,\n\t// Block 0x167, offset 0x59c0\n\t0x59c0: 0x4061ba20, 0x59c1: 0x4061bc20, 0x59c2: 0x4061be20, 0x59c3: 0x4061c020,\n\t0x59c4: 0x4061c220, 0x59c5: 0x4061c420, 0x59c6: 0x4061c620, 0x59c7: 0x4061c820,\n\t0x59c8: 0x4061ca20, 0x59c9: 0x4061cc20, 0x59ca: 0x4061ce20, 0x59cb: 0x4061d020,\n\t0x59cc: 0x4061d220, 0x59cd: 0x4061d420, 0x59ce: 0x4061d620, 0x59cf: 0x4061d820,\n\t0x59d0: 0x4061da20, 0x59d1: 0x4061dc20, 0x59d2: 0x4061de20, 0x59d3: 0x4061e020,\n\t0x59d4: 0x4061e220, 0x59d5: 0x4061e420, 0x59d6: 0x4061e620, 0x59d7: 0x4061e820,\n\t0x59d8: 0x4061ea20, 0x59d9: 0x4061ec20, 0x59da: 0x4061ee20, 0x59db: 0x4061f020,\n\t0x59dc: 0x4061f220, 0x59dd: 0x4061f420, 0x59de: 0x4061f620, 0x59df: 0x4061f820,\n\t0x59e0: 0x4061fa20, 0x59e1: 0x4061fc20, 0x59e2: 0x4061fe20, 0x59e3: 0x40620020,\n\t0x59e4: 0x40620220, 0x59e5: 0x40620420, 0x59e6: 0x40620620, 0x59e7: 0x40620820,\n\t0x59e8: 0x40620a20, 0x59e9: 0x40620c20, 0x59ea: 0x40620e20, 0x59eb: 0x40621020,\n\t0x59ec: 0x40621220, 0x59ed: 0x40621420, 0x59ee: 0x40621620, 0x59ef: 0x40621820,\n\t0x59f0: 0x40621a20, 0x59f1: 0x40621c20, 0x59f2: 0x40621e20, 0x59f3: 0x40622020,\n\t0x59f4: 0x40622220, 0x59f5: 0x40622420, 0x59f6: 0x40622620, 0x59f7: 0x40622820,\n\t0x59f8: 0x40622a20, 0x59f9: 0x40622c20, 0x59fa: 0x40622e20, 0x59fb: 0x40623020,\n\t0x59fc: 0x40623220, 0x59fd: 0x40623420, 0x59fe: 0x40623620, 0x59ff: 0x40623820,\n\t// Block 0x168, offset 0x5a00\n\t0x5a00: 0x40623a20, 0x5a01: 0x40623c20, 0x5a02: 0x40623e20, 0x5a03: 0x40624020,\n\t0x5a04: 0x40624220, 0x5a05: 0x40624420, 0x5a06: 0x40624620, 0x5a07: 0x40624820,\n\t0x5a08: 0x40624a20, 0x5a09: 0x40624c20, 0x5a0a: 0x40624e20, 0x5a0b: 0x40625020,\n\t0x5a0c: 0x40625220, 0x5a0d: 0x40625420, 0x5a0e: 0x40625620, 0x5a0f: 0x40625820,\n\t0x5a10: 0x40625a20, 0x5a11: 0x40625c20, 0x5a12: 0x40625e20, 0x5a13: 0x40626020,\n\t0x5a14: 0x40626220, 0x5a15: 0x40626420, 0x5a16: 0x40626620, 0x5a17: 0x40626820,\n\t0x5a18: 0x40626a20, 0x5a19: 0x40626c20, 0x5a1a: 0x40626e20, 0x5a1b: 0x40627020,\n\t0x5a1c: 0x40627220, 0x5a1d: 0x40627420, 0x5a1e: 0x40627620, 0x5a1f: 0x40627820,\n\t0x5a20: 0x40627a20, 0x5a21: 0x40627c20, 0x5a22: 0x40627e20, 0x5a23: 0x40628020,\n\t0x5a24: 0x40628220, 0x5a25: 0x40628420, 0x5a26: 0x40628620, 0x5a27: 0x40628820,\n\t0x5a28: 0x40628a20, 0x5a29: 0x40628c20, 0x5a2a: 0x40628e20, 0x5a2b: 0x40629020,\n\t0x5a2c: 0x40629220, 0x5a2d: 0x40629420, 0x5a2e: 0x40629620, 0x5a2f: 0x40629820,\n\t0x5a30: 0x40629a20, 0x5a31: 0x40629c20, 0x5a32: 0x40629e20, 0x5a33: 0x4062a020,\n\t0x5a34: 0x4062a220, 0x5a35: 0x4062a420, 0x5a36: 0x4062a620, 0x5a37: 0x4062a820,\n\t0x5a38: 0x4062aa20,\n\t// Block 0x169, offset 0x5a40\n\t0x5a40: 0x406fb620, 0x5a41: 0x406fb820, 0x5a42: 0x406fba20, 0x5a43: 0x406fbc20,\n\t0x5a44: 0x406fbe20, 0x5a45: 0x406fc020, 0x5a46: 0x006fbe84, 0x5a47: 0x406fc220,\n\t0x5a48: 0x406fc420, 0x5a49: 0x406fc620, 0x5a4a: 0x406fc820, 0x5a4b: 0x406fca20,\n\t0x5a4c: 0x406fcc20, 0x5a4d: 0x406fce20, 0x5a4e: 0x406fd020, 0x5a4f: 0x406fd220,\n\t0x5a50: 0x406fd420, 0x5a51: 0x406fd620, 0x5a52: 0x406fd820, 0x5a53: 0x006fd484,\n\t0x5a54: 0x406fda20, 0x5a55: 0x406fdc20, 0x5a56: 0x406fde20, 0x5a57: 0x406fe020,\n\t0x5a58: 0x406fe220, 0x5a59: 0x406fe420, 0x5a5a: 0x406fe620, 0x5a5b: 0x406fe820,\n\t0x5a5c: 0x406fea20, 0x5a5d: 0x406fec20, 0x5a5e: 0x406fee20, 0x5a5f: 0x406ff020,\n\t0x5a60: 0x406ff220, 0x5a61: 0x406ff420, 0x5a62: 0x406ff620, 0x5a63: 0x406ff820,\n\t0x5a64: 0x406ffa20, 0x5a65: 0x006ff884, 0x5a66: 0x406ffc20, 0x5a67: 0x406ffe20,\n\t0x5a68: 0x40700020, 0x5a69: 0x40700220, 0x5a6a: 0x40700420, 0x5a6b: 0x40700620,\n\t0x5a6c: 0x40700820, 0x5a6d: 0x40700a20, 0x5a6e: 0x40700c20, 0x5a6f: 0x40700e20,\n\t0x5a70: 0x40701020, 0x5a71: 0x40701220, 0x5a72: 0x40701420, 0x5a73: 0x40701620,\n\t0x5a74: 0x40701820, 0x5a75: 0x40701a20, 0x5a76: 0x40701c20, 0x5a77: 0x40701e20,\n\t0x5a78: 0x40702020, 0x5a79: 0x40702220, 0x5a7a: 0x40702420, 0x5a7b: 0x40702620,\n\t0x5a7c: 0x40702820, 0x5a7d: 0x40702a20, 0x5a7e: 0x40702c20, 0x5a7f: 0x00702a84,\n\t// Block 0x16a, offset 0x5a80\n\t0x5a80: 0x40702e20, 0x5a81: 0x40703020, 0x5a82: 0x40703220, 0x5a83: 0x40703420,\n\t0x5a84: 0x40703620,\n\t0x5a90: 0x40703820, 0x5a91: 0x40703a20, 0x5a92: 0x40703c20, 0x5a93: 0x40703e20,\n\t0x5a94: 0x40704020, 0x5a95: 0x40704220, 0x5a96: 0x40704420, 0x5a97: 0x40704620,\n\t0x5a98: 0x40704820, 0x5a99: 0x40704a20, 0x5a9a: 0x40704c20, 0x5a9b: 0x40704e20,\n\t0x5a9c: 0x40705020, 0x5a9d: 0x40705220, 0x5a9e: 0x40705420, 0x5a9f: 0x40705620,\n\t0x5aa0: 0x40705820, 0x5aa1: 0x40705a20, 0x5aa2: 0x40705c20, 0x5aa3: 0x40705e20,\n\t0x5aa4: 0x40706020, 0x5aa5: 0x40706220, 0x5aa6: 0x40706420, 0x5aa7: 0x40706620,\n\t0x5aa8: 0x40706820, 0x5aa9: 0x40706a20, 0x5aaa: 0x40706c20, 0x5aab: 0x40706e20,\n\t0x5aac: 0x40707020, 0x5aad: 0x40707220, 0x5aae: 0x40707420, 0x5aaf: 0x40707620,\n\t0x5ab0: 0x40707820, 0x5ab1: 0x40707a20, 0x5ab2: 0x40707c20, 0x5ab3: 0x40707e20,\n\t0x5ab4: 0x40708020, 0x5ab5: 0x40708220, 0x5ab6: 0x40708420, 0x5ab7: 0x40708620,\n\t0x5ab8: 0x40708820, 0x5ab9: 0x40708a20, 0x5aba: 0x40708c20, 0x5abb: 0x40708e20,\n\t0x5abc: 0x40709020, 0x5abd: 0x40709220, 0x5abe: 0x40709420,\n\t// Block 0x16b, offset 0x5ac0\n\t0x5acf: 0x40709620,\n\t0x5ad0: 0x40709820, 0x5ad1: 0x40709a20, 0x5ad2: 0x40709c20, 0x5ad3: 0x40709e20,\n\t0x5ad4: 0x4070a020, 0x5ad5: 0x4070a220, 0x5ad6: 0x4070a420, 0x5ad7: 0x4070a620,\n\t0x5ad8: 0x4070a820, 0x5ad9: 0x4070aa20, 0x5ada: 0x4070ac20, 0x5adb: 0x4070ae20,\n\t0x5adc: 0x4070b020, 0x5add: 0x4070b220, 0x5ade: 0x4070b420, 0x5adf: 0x4070b620,\n\t// Block 0x16c, offset 0x5b00\n\t0x5b00: 0x00657c91, 0x5b01: 0x0065c28e,\n\t// Block 0x16d, offset 0x5b40\n\t0x5b40: 0x401ba420, 0x5b41: 0x401ba620, 0x5b42: 0x401ba820, 0x5b43: 0x401baa20,\n\t0x5b44: 0x401bac20, 0x5b45: 0x401bae20, 0x5b46: 0x401bb020, 0x5b47: 0x401bb220,\n\t0x5b48: 0x401bb420, 0x5b49: 0x401bb620, 0x5b4a: 0x401bb820, 0x5b4b: 0x401bba20,\n\t0x5b4c: 0x401bbc20, 0x5b4d: 0x401bbe20, 0x5b4e: 0x401bc020, 0x5b4f: 0x401bc220,\n\t0x5b50: 0x401bc420, 0x5b51: 0x401bc620, 0x5b52: 0x401bc820, 0x5b53: 0x401bca20,\n\t0x5b54: 0x401bcc20, 0x5b55: 0x401bce20, 0x5b56: 0x401bd020, 0x5b57: 0x401bd220,\n\t0x5b58: 0x401bd420, 0x5b59: 0x401bd620, 0x5b5a: 0x401bd820, 0x5b5b: 0x401bda20,\n\t0x5b5c: 0x401bdc20, 0x5b5d: 0x401bde20, 0x5b5e: 0x401be020, 0x5b5f: 0x401be220,\n\t0x5b60: 0x401be420, 0x5b61: 0x401be620, 0x5b62: 0x401be820, 0x5b63: 0x401bea20,\n\t0x5b64: 0x401bec20, 0x5b65: 0x401bee20, 0x5b66: 0x401bf020, 0x5b67: 0x401bf220,\n\t0x5b68: 0x401bf420, 0x5b69: 0x401bf620, 0x5b6a: 0x401bf820, 0x5b6b: 0x401bfa20,\n\t0x5b6c: 0x401bfc20, 0x5b6d: 0x401bfe20, 0x5b6e: 0x401c0020, 0x5b6f: 0x401c0220,\n\t0x5b70: 0x401c0420, 0x5b71: 0x401c0620, 0x5b72: 0x401c0820, 0x5b73: 0x401c0a20,\n\t0x5b74: 0x401c0c20, 0x5b75: 0x401c0e20, 0x5b76: 0x401c1020, 0x5b77: 0x401c1220,\n\t0x5b78: 0x401c1420, 0x5b79: 0x401c1620, 0x5b7a: 0x401c1820, 0x5b7b: 0x401c1a20,\n\t0x5b7c: 0x401c1c20, 0x5b7d: 0x401c1e20, 0x5b7e: 0x401c2020, 0x5b7f: 0x401c2220,\n\t// Block 0x16e, offset 0x5b80\n\t0x5b80: 0x401c2420, 0x5b81: 0x401c2620, 0x5b82: 0x401c2820, 0x5b83: 0x401c2a20,\n\t0x5b84: 0x401c2c20, 0x5b85: 0x401c2e20, 0x5b86: 0x401c3020, 0x5b87: 0x401c3220,\n\t0x5b88: 0x401c3420, 0x5b89: 0x401c3620, 0x5b8a: 0x401c3820, 0x5b8b: 0x401c3a20,\n\t0x5b8c: 0x401c3c20, 0x5b8d: 0x401c3e20, 0x5b8e: 0x401c4020, 0x5b8f: 0x401c4220,\n\t0x5b90: 0x401c4420, 0x5b91: 0x401c4620, 0x5b92: 0x401c4820, 0x5b93: 0x401c4a20,\n\t0x5b94: 0x401c4c20, 0x5b95: 0x401c4e20, 0x5b96: 0x401c5020, 0x5b97: 0x401c5220,\n\t0x5b98: 0x401c5420, 0x5b99: 0x401c5620, 0x5b9a: 0x401c5820, 0x5b9b: 0x401c5a20,\n\t0x5b9c: 0x401c5c20, 0x5b9d: 0x401c5e20, 0x5b9e: 0x401c6020, 0x5b9f: 0x401c6220,\n\t0x5ba0: 0x401c6420, 0x5ba1: 0x401c6620, 0x5ba2: 0x401c6820, 0x5ba3: 0x401c6a20,\n\t0x5ba4: 0x401c6c20, 0x5ba5: 0x401c6e20, 0x5ba6: 0x401c7020, 0x5ba7: 0x401c7220,\n\t0x5ba8: 0x401c7420, 0x5ba9: 0x401c7620, 0x5baa: 0x401c7820, 0x5bab: 0x401c7a20,\n\t0x5bac: 0x401c7c20, 0x5bad: 0x401c7e20, 0x5bae: 0x401c8020, 0x5baf: 0x401c8220,\n\t0x5bb0: 0x401c8420, 0x5bb1: 0x401c8620, 0x5bb2: 0x401c8820, 0x5bb3: 0x401c8a20,\n\t0x5bb4: 0x401c8c20, 0x5bb5: 0x401c8e20, 0x5bb6: 0x401c9020, 0x5bb7: 0x401c9220,\n\t0x5bb8: 0x401c9420, 0x5bb9: 0x401c9620, 0x5bba: 0x401c9820, 0x5bbb: 0x401c9a20,\n\t0x5bbc: 0x401c9c20, 0x5bbd: 0x401c9e20, 0x5bbe: 0x401ca020, 0x5bbf: 0x401ca220,\n\t// Block 0x16f, offset 0x5bc0\n\t0x5bc0: 0x401ca420, 0x5bc1: 0x401ca620, 0x5bc2: 0x401ca820, 0x5bc3: 0x401caa20,\n\t0x5bc4: 0x401cac20, 0x5bc5: 0x401cae20, 0x5bc6: 0x401cb020, 0x5bc7: 0x401cb220,\n\t0x5bc8: 0x401cb420, 0x5bc9: 0x401cb620, 0x5bca: 0x401cb820, 0x5bcb: 0x401cba20,\n\t0x5bcc: 0x401cbc20, 0x5bcd: 0x401cbe20, 0x5bce: 0x401cc020, 0x5bcf: 0x401cc220,\n\t0x5bd0: 0x401cc420, 0x5bd1: 0x401cc620, 0x5bd2: 0x401cc820, 0x5bd3: 0x401cca20,\n\t0x5bd4: 0x401ccc20, 0x5bd5: 0x401cce20, 0x5bd6: 0x401cd020, 0x5bd7: 0x401cd220,\n\t0x5bd8: 0x401cd420, 0x5bd9: 0x401cd620, 0x5bda: 0x401cd820, 0x5bdb: 0x401cda20,\n\t0x5bdc: 0x401cdc20, 0x5bdd: 0x401cde20, 0x5bde: 0x401ce020, 0x5bdf: 0x401ce220,\n\t0x5be0: 0x401ce420, 0x5be1: 0x401ce620, 0x5be2: 0x401ce820, 0x5be3: 0x401cea20,\n\t0x5be4: 0x401cec20, 0x5be5: 0x401cee20, 0x5be6: 0x401cf020, 0x5be7: 0x401cf220,\n\t0x5be8: 0x401cf420, 0x5be9: 0x401cf620, 0x5bea: 0x401cf820, 0x5beb: 0x401cfa20,\n\t0x5bec: 0x401cfc20, 0x5bed: 0x401cfe20, 0x5bee: 0x401d0020, 0x5bef: 0x401d0220,\n\t0x5bf0: 0x401d0420, 0x5bf1: 0x401d0620, 0x5bf2: 0x401d0820, 0x5bf3: 0x401d0a20,\n\t0x5bf4: 0x401d0c20, 0x5bf5: 0x401d0e20, 0x5bf6: 0x401d1020, 0x5bf7: 0x401d1220,\n\t0x5bf8: 0x401d1420, 0x5bf9: 0x401d1620, 0x5bfa: 0x401d1820, 0x5bfb: 0x401d1a20,\n\t0x5bfc: 0x401d1c20, 0x5bfd: 0x401d1e20, 0x5bfe: 0x401d2020, 0x5bff: 0x401d2220,\n\t// Block 0x170, offset 0x5c00\n\t0x5c00: 0x401d2420, 0x5c01: 0x401d2620, 0x5c02: 0x401d2820, 0x5c03: 0x401d2a20,\n\t0x5c04: 0x401d2c20, 0x5c05: 0x401d2e20, 0x5c06: 0x401d3020, 0x5c07: 0x401d3220,\n\t0x5c08: 0x401d3420, 0x5c09: 0x401d3620, 0x5c0a: 0x401d3820, 0x5c0b: 0x401d3a20,\n\t0x5c0c: 0x401d3c20, 0x5c0d: 0x401d3e20, 0x5c0e: 0x401d4020, 0x5c0f: 0x401d4220,\n\t0x5c10: 0x401d4420, 0x5c11: 0x401d4620, 0x5c12: 0x401d4820, 0x5c13: 0x401d4a20,\n\t0x5c14: 0x401d4c20, 0x5c15: 0x401d4e20, 0x5c16: 0x401d5020, 0x5c17: 0x401d5220,\n\t0x5c18: 0x401d5420, 0x5c19: 0x401d5620, 0x5c1a: 0x401d5820, 0x5c1b: 0x401d5a20,\n\t0x5c1c: 0x401d5c20, 0x5c1d: 0x401d5e20, 0x5c1e: 0x401d6020, 0x5c1f: 0x401d6220,\n\t0x5c20: 0x401d6420, 0x5c21: 0x401d6620, 0x5c22: 0x401d6820, 0x5c23: 0x401d6a20,\n\t0x5c24: 0x401d6c20, 0x5c25: 0x401d6e20, 0x5c26: 0x401d7020, 0x5c27: 0x401d7220,\n\t0x5c28: 0x401d7420, 0x5c29: 0x401d7620, 0x5c2a: 0x401d7820, 0x5c2b: 0x401d7a20,\n\t0x5c2c: 0x401d7c20, 0x5c2d: 0x401d7e20, 0x5c2e: 0x401d8020, 0x5c2f: 0x401d8220,\n\t0x5c30: 0x401d8420, 0x5c31: 0x401d8620, 0x5c32: 0x401d8820, 0x5c33: 0x401d8a20,\n\t0x5c34: 0x401d8c20, 0x5c35: 0x401d8e20,\n\t// Block 0x171, offset 0x5c40\n\t0x5c40: 0x401d9020, 0x5c41: 0x401d9220, 0x5c42: 0x401d9420, 0x5c43: 0x401d9620,\n\t0x5c44: 0x401d9820, 0x5c45: 0x401d9a20, 0x5c46: 0x401d9c20, 0x5c47: 0x401d9e20,\n\t0x5c48: 0x401da020, 0x5c49: 0x401da220, 0x5c4a: 0x401da420, 0x5c4b: 0x401da620,\n\t0x5c4c: 0x401da820, 0x5c4d: 0x401daa20, 0x5c4e: 0x401dac20, 0x5c4f: 0x401dae20,\n\t0x5c50: 0x401db020, 0x5c51: 0x401db220, 0x5c52: 0x401db420, 0x5c53: 0x401db620,\n\t0x5c54: 0x401db820, 0x5c55: 0x401dba20, 0x5c56: 0x401dbc20, 0x5c57: 0x401dbe20,\n\t0x5c58: 0x401dc020, 0x5c59: 0x401dc220, 0x5c5a: 0x401dc420, 0x5c5b: 0x401dc620,\n\t0x5c5c: 0x401dc820, 0x5c5d: 0x401dca20, 0x5c5e: 0x401dcc20, 0x5c5f: 0x401dce20,\n\t0x5c60: 0x401dd020, 0x5c61: 0x401dd220, 0x5c62: 0x401dd420, 0x5c63: 0x401dd620,\n\t0x5c64: 0x401dd820, 0x5c65: 0x401dda20, 0x5c66: 0x401ddc20,\n\t0x5c69: 0x401e0420, 0x5c6a: 0x401de420, 0x5c6b: 0x401de620,\n\t0x5c6c: 0x401de820, 0x5c6d: 0x401dea20, 0x5c6e: 0x401dec20, 0x5c6f: 0x401dee20,\n\t0x5c70: 0x401df020, 0x5c71: 0x401df220, 0x5c72: 0x401df420, 0x5c73: 0x401df620,\n\t0x5c74: 0x401df820, 0x5c75: 0x401dfa20, 0x5c76: 0x401dfc20, 0x5c77: 0x401dfe20,\n\t0x5c78: 0x401e0020, 0x5c79: 0x401e0220, 0x5c7a: 0x401e0620, 0x5c7b: 0x401e0820,\n\t0x5c7c: 0x401e0a20, 0x5c7d: 0x401e0c20, 0x5c7e: 0x401e0e20, 0x5c7f: 0x401e1020,\n\t// Block 0x172, offset 0x5c80\n\t0x5c80: 0x401e1220, 0x5c81: 0x401e1420, 0x5c82: 0x401e1620, 0x5c83: 0x401e1820,\n\t0x5c84: 0x401e1a20, 0x5c85: 0x401e1c20, 0x5c86: 0x401e1e20, 0x5c87: 0x401e2020,\n\t0x5c88: 0x401e2220, 0x5c89: 0x401e2420, 0x5c8a: 0x401e2620, 0x5c8b: 0x401e2820,\n\t0x5c8c: 0x401e2a20, 0x5c8d: 0x401e2c20, 0x5c8e: 0x401e2e20, 0x5c8f: 0x401e3020,\n\t0x5c90: 0x401e3220, 0x5c91: 0x401e3420, 0x5c92: 0x401e3620, 0x5c93: 0x401e3820,\n\t0x5c94: 0x401e3a20, 0x5c95: 0x401e3c20, 0x5c96: 0x401e3e20, 0x5c97: 0x401e4020,\n\t0x5c98: 0x401e4220, 0x5c99: 0x401e4420, 0x5c9a: 0x401e4620, 0x5c9b: 0x401e4820,\n\t0x5c9c: 0x401e4a20, 0x5c9d: 0x401e4c20, 0x5c9e: 0x401e4020, 0x5c9f: 0x401e4220,\n\t0x5ca0: 0x401e4220, 0x5ca1: 0x401e4220, 0x5ca2: 0x401e4220, 0x5ca3: 0x401e4220,\n\t0x5ca4: 0x401e4220, 0x5ca5: 0xad800000, 0x5ca6: 0xad800000, 0x5ca7: 0xa0100000,\n\t0x5ca8: 0xa0100000, 0x5ca9: 0xa0100000, 0x5caa: 0x401e4e20, 0x5cab: 0x401e5020,\n\t0x5cac: 0x401e5220, 0x5cad: 0xae200000, 0x5cae: 0xad800000, 0x5caf: 0xad800000,\n\t0x5cb0: 0xad800000, 0x5cb1: 0xad800000, 0x5cb2: 0xad800000, 0x5cb3: 0xa0000000,\n\t0x5cb4: 0xa0000000, 0x5cb5: 0xa0000000, 0x5cb6: 0xa0000000, 0x5cb7: 0xa0000000,\n\t0x5cb8: 0xa0000000, 0x5cb9: 0xa0000000, 0x5cba: 0xa0000000, 0x5cbb: 0xadc00000,\n\t0x5cbc: 0xadc00000, 0x5cbd: 0xadc00000, 0x5cbe: 0xadc00000, 0x5cbf: 0xadc00000,\n\t// Block 0x173, offset 0x5cc0\n\t0x5cc0: 0xadc00000, 0x5cc1: 0xadc00000, 0x5cc2: 0xadc00000, 0x5cc3: 0x401e5420,\n\t0x5cc4: 0x401e5620, 0x5cc5: 0xae600000, 0x5cc6: 0xae600000, 0x5cc7: 0xae600000,\n\t0x5cc8: 0xae600000, 0x5cc9: 0xae600000, 0x5cca: 0xadc00000, 0x5ccb: 0xadc00000,\n\t0x5ccc: 0x401e5820, 0x5ccd: 0x401e5a20, 0x5cce: 0x401e5c20, 0x5ccf: 0x401e5e20,\n\t0x5cd0: 0x401e6020, 0x5cd1: 0x401e6220, 0x5cd2: 0x401e6420, 0x5cd3: 0x401e6620,\n\t0x5cd4: 0x401e6820, 0x5cd5: 0x401e6a20, 0x5cd6: 0x401e6c20, 0x5cd7: 0x401e6e20,\n\t0x5cd8: 0x401e7020, 0x5cd9: 0x401e7220, 0x5cda: 0x401e7420, 0x5cdb: 0x401e7620,\n\t0x5cdc: 0x401e7820, 0x5cdd: 0x401e7a20, 0x5cde: 0x401e7c20, 0x5cdf: 0x401e7e20,\n\t0x5ce0: 0x401e8020, 0x5ce1: 0x401e8220, 0x5ce2: 0x401e8420, 0x5ce3: 0x401e8620,\n\t0x5ce4: 0x401e8820, 0x5ce5: 0x401e8a20, 0x5ce6: 0x401e8c20, 0x5ce7: 0x401e8e20,\n\t0x5ce8: 0x401e9020, 0x5ce9: 0x401e9220, 0x5cea: 0xae600000, 0x5ceb: 0xae600000,\n\t0x5cec: 0xae600000, 0x5ced: 0xae600000, 0x5cee: 0x401e9420, 0x5cef: 0x401e9620,\n\t0x5cf0: 0x401e9820, 0x5cf1: 0x401e9a20, 0x5cf2: 0x401e9c20, 0x5cf3: 0x401e9e20,\n\t0x5cf4: 0x401ea020, 0x5cf5: 0x401ea220, 0x5cf6: 0x401ea420, 0x5cf7: 0x401ea620,\n\t0x5cf8: 0x401ea820, 0x5cf9: 0x401eaa20, 0x5cfa: 0x401eac20, 0x5cfb: 0x401eaa20,\n\t0x5cfc: 0x401eac20, 0x5cfd: 0x401eaa20, 0x5cfe: 0x401eac20, 0x5cff: 0x401eaa20,\n\t// Block 0x174, offset 0x5d00\n\t0x5d00: 0x401eac20, 0x5d01: 0x401eae20, 0x5d02: 0x401eb020, 0x5d03: 0x401eb220,\n\t0x5d04: 0x401eb420, 0x5d05: 0x401eb620, 0x5d06: 0x401eb820, 0x5d07: 0x401eba20,\n\t0x5d08: 0x401ebc20, 0x5d09: 0x401ebe20, 0x5d0a: 0x401ec020, 0x5d0b: 0x401ec220,\n\t0x5d0c: 0x401ec420, 0x5d0d: 0x401ec620, 0x5d0e: 0x401ec820, 0x5d0f: 0x401eca20,\n\t0x5d10: 0x401ecc20, 0x5d11: 0x401ece20, 0x5d12: 0x401ed020, 0x5d13: 0x401ed220,\n\t0x5d14: 0x401ed420, 0x5d15: 0x401ed620, 0x5d16: 0x401ed820, 0x5d17: 0x401eda20,\n\t0x5d18: 0x401edc20, 0x5d19: 0x401ede20, 0x5d1a: 0x401ee020, 0x5d1b: 0x401ee220,\n\t0x5d1c: 0x401ee420, 0x5d1d: 0x401ee620,\n\t// Block 0x175, offset 0x5d40\n\t0x5d40: 0x401ee820, 0x5d41: 0x401eea20, 0x5d42: 0x401eec20, 0x5d43: 0x401eee20,\n\t0x5d44: 0x401ef020, 0x5d45: 0x401ef220, 0x5d46: 0x401ef420, 0x5d47: 0x401ef620,\n\t0x5d48: 0x401ef820, 0x5d49: 0x401efa20, 0x5d4a: 0x401efc20, 0x5d4b: 0x401efe20,\n\t0x5d4c: 0x401f0020, 0x5d4d: 0x401f0220, 0x5d4e: 0x401f0420, 0x5d4f: 0x401f0620,\n\t0x5d50: 0x401f0820, 0x5d51: 0x401f0a20, 0x5d52: 0x401f0c20, 0x5d53: 0x401f0e20,\n\t0x5d54: 0x401f1020, 0x5d55: 0x401f1220, 0x5d56: 0x401f1420, 0x5d57: 0x401f1620,\n\t0x5d58: 0x401f1820, 0x5d59: 0x401f1a20, 0x5d5a: 0x401f1c20, 0x5d5b: 0x401f1e20,\n\t0x5d5c: 0x401f2020, 0x5d5d: 0x401f2220, 0x5d5e: 0x401f2420, 0x5d5f: 0x401f2620,\n\t0x5d60: 0x401f2820, 0x5d61: 0x401f2a20, 0x5d62: 0x401f2c20, 0x5d63: 0x401f2e20,\n\t0x5d64: 0x401f3020, 0x5d65: 0x401f3220, 0x5d66: 0x401f3420, 0x5d67: 0x401f3620,\n\t0x5d68: 0x401f3820, 0x5d69: 0x401f3a20, 0x5d6a: 0x401f3c20, 0x5d6b: 0x401f3e20,\n\t0x5d6c: 0x401f4020, 0x5d6d: 0x401f4220, 0x5d6e: 0x401f4420, 0x5d6f: 0x401f4620,\n\t0x5d70: 0x401f4820, 0x5d71: 0x401f4a20, 0x5d72: 0x401f4c20, 0x5d73: 0x401f4e20,\n\t0x5d74: 0x401f5020, 0x5d75: 0x401f5220, 0x5d76: 0x401f5420, 0x5d77: 0x401f5620,\n\t0x5d78: 0x401f5820, 0x5d79: 0x401f5a20, 0x5d7a: 0x401f5c20, 0x5d7b: 0x401f5e20,\n\t0x5d7c: 0x401f6020, 0x5d7d: 0x401f6220, 0x5d7e: 0x401f6420, 0x5d7f: 0x401f6620,\n\t// Block 0x176, offset 0x5d80\n\t0x5d80: 0x401f6820, 0x5d81: 0x401f6a20, 0x5d82: 0xae600000, 0x5d83: 0xae600000,\n\t0x5d84: 0xae600000, 0x5d85: 0x401f6c20,\n\t// Block 0x177, offset 0x5dc0\n\t0x5dc0: 0x4019e220, 0x5dc1: 0x4019e420, 0x5dc2: 0x4019e620, 0x5dc3: 0x4019e820,\n\t0x5dc4: 0x4019ea20, 0x5dc5: 0x4019ec20, 0x5dc6: 0x4019ee20, 0x5dc7: 0x4019f020,\n\t0x5dc8: 0x4019f220, 0x5dc9: 0x4019f420, 0x5dca: 0x4019f620, 0x5dcb: 0x4019f820,\n\t0x5dcc: 0x4019fa20, 0x5dcd: 0x4019fc20, 0x5dce: 0x4019fe20, 0x5dcf: 0x401a0020,\n\t0x5dd0: 0x401a0220, 0x5dd1: 0x401a0420, 0x5dd2: 0x401a0620, 0x5dd3: 0x401a0820,\n\t0x5dd4: 0x401a0a20, 0x5dd5: 0x401a0c20, 0x5dd6: 0x401a0e20, 0x5dd7: 0x401a1020,\n\t0x5dd8: 0x401a1220, 0x5dd9: 0x401a1420, 0x5dda: 0x401a1620, 0x5ddb: 0x401a1820,\n\t0x5ddc: 0x401a1a20, 0x5ddd: 0x401a1c20, 0x5dde: 0x401a1e20, 0x5ddf: 0x401a2020,\n\t0x5de0: 0x401a2220, 0x5de1: 0x401a2420, 0x5de2: 0x401a2620, 0x5de3: 0x401a2820,\n\t0x5de4: 0x401a2a20, 0x5de5: 0x401a2c20, 0x5de6: 0x401a2e20, 0x5de7: 0x401a3020,\n\t0x5de8: 0x401a3220, 0x5de9: 0x401a3420, 0x5dea: 0x401a3620, 0x5deb: 0x401a3820,\n\t0x5dec: 0x401a3a20, 0x5ded: 0x401a3c20, 0x5dee: 0x401a3e20, 0x5def: 0x401a4020,\n\t0x5df0: 0x401a4220, 0x5df1: 0x401a4420, 0x5df2: 0x401a4620, 0x5df3: 0x401a4820,\n\t0x5df4: 0x401a4a20, 0x5df5: 0x401a4c20, 0x5df6: 0x401a4e20, 0x5df7: 0x401a5020,\n\t0x5df8: 0x401a5220, 0x5df9: 0x401a5420, 0x5dfa: 0x401a5620, 0x5dfb: 0x401a5820,\n\t0x5dfc: 0x401a5a20, 0x5dfd: 0x401a5c20, 0x5dfe: 0x401a5e20, 0x5dff: 0x401a6020,\n\t// Block 0x178, offset 0x5e00\n\t0x5e00: 0x401a6220, 0x5e01: 0x401a6420, 0x5e02: 0x401a6620, 0x5e03: 0x401a6820,\n\t0x5e04: 0x401a6a20, 0x5e05: 0x401a6c20, 0x5e06: 0x401a6e20, 0x5e07: 0x401a7020,\n\t0x5e08: 0x401a7220, 0x5e09: 0x401a7420, 0x5e0a: 0x401a7620, 0x5e0b: 0x401a7820,\n\t0x5e0c: 0x401a7a20, 0x5e0d: 0x401a7c20, 0x5e0e: 0x401a7e20, 0x5e0f: 0x401a8020,\n\t0x5e10: 0x401a8220, 0x5e11: 0x401a8420, 0x5e12: 0x401a8620, 0x5e13: 0x401a8820,\n\t0x5e14: 0x401a8a20, 0x5e15: 0x401a8c20, 0x5e16: 0x401a8e20,\n\t0x5e20: 0xe00002af, 0x5e21: 0xe00003ca, 0x5e22: 0xe00004a4, 0x5e23: 0xe0000576,\n\t0x5e24: 0xe000063d, 0x5e25: 0xe00006ed, 0x5e26: 0xe0000795, 0x5e27: 0xe000083e,\n\t0x5e28: 0xe00008e9, 0x5e29: 0x4029ba20, 0x5e2a: 0x4029bc20, 0x5e2b: 0x4029be20,\n\t0x5e2c: 0x4029c020, 0x5e2d: 0x4029c220, 0x5e2e: 0x4029c420, 0x5e2f: 0x4029c620,\n\t0x5e30: 0x4029c820, 0x5e31: 0x4029ca20,\n\t// Block 0x179, offset 0x5e40\n\t0x5e40: 0x002bde8b, 0x5e41: 0x002c0a8b, 0x5e42: 0x002c3a8b, 0x5e43: 0x002c628b,\n\t0x5e44: 0x002c988b, 0x5e45: 0x002d088b, 0x5e46: 0x002d228b, 0x5e47: 0x002d688b,\n\t0x5e48: 0x002d9a8b, 0x5e49: 0x002dcc8b, 0x5e4a: 0x002dfe8b, 0x5e4b: 0x002e228b,\n\t0x5e4c: 0x002e828b, 0x5e4d: 0x002e9e8b, 0x5e4e: 0x002ee28b, 0x5e4f: 0x002f2c8b,\n\t0x5e50: 0x002f568b, 0x5e51: 0x002f7a8b, 0x5e52: 0x002fe68b, 0x5e53: 0x00302c8b,\n\t0x5e54: 0x00306c8b, 0x5e55: 0x0030be8b, 0x5e56: 0x0030e28b, 0x5e57: 0x0030f68b,\n\t0x5e58: 0x0031008b, 0x5e59: 0x00312a8b, 0x5e5a: 0x002bde85, 0x5e5b: 0x002c0a85,\n\t0x5e5c: 0x002c3a85, 0x5e5d: 0x002c6285, 0x5e5e: 0x002c9885, 0x5e5f: 0x002d0885,\n\t0x5e60: 0x002d2285, 0x5e61: 0x002d6885, 0x5e62: 0x002d9a85, 0x5e63: 0x002dcc85,\n\t0x5e64: 0x002dfe85, 0x5e65: 0x002e2285, 0x5e66: 0x002e8285, 0x5e67: 0x002e9e85,\n\t0x5e68: 0x002ee285, 0x5e69: 0x002f2c85, 0x5e6a: 0x002f5685, 0x5e6b: 0x002f7a85,\n\t0x5e6c: 0x002fe685, 0x5e6d: 0x00302c85, 0x5e6e: 0x00306c85, 0x5e6f: 0x0030be85,\n\t0x5e70: 0x0030e285, 0x5e71: 0x0030f685, 0x5e72: 0x00310085, 0x5e73: 0x00312a85,\n\t0x5e74: 0x002bde8b, 0x5e75: 0x002c0a8b, 0x5e76: 0x002c3a8b, 0x5e77: 0x002c628b,\n\t0x5e78: 0x002c988b, 0x5e79: 0x002d088b, 0x5e7a: 0x002d228b, 0x5e7b: 0x002d688b,\n\t0x5e7c: 0x002d9a8b, 0x5e7d: 0x002dcc8b, 0x5e7e: 0x002dfe8b, 0x5e7f: 0x002e228b,\n\t// Block 0x17a, offset 0x5e80\n\t0x5e80: 0x002e828b, 0x5e81: 0x002e9e8b, 0x5e82: 0x002ee28b, 0x5e83: 0x002f2c8b,\n\t0x5e84: 0x002f568b, 0x5e85: 0x002f7a8b, 0x5e86: 0x002fe68b, 0x5e87: 0x00302c8b,\n\t0x5e88: 0x00306c8b, 0x5e89: 0x0030be8b, 0x5e8a: 0x0030e28b, 0x5e8b: 0x0030f68b,\n\t0x5e8c: 0x0031008b, 0x5e8d: 0x00312a8b, 0x5e8e: 0x002bde85, 0x5e8f: 0x002c0a85,\n\t0x5e90: 0x002c3a85, 0x5e91: 0x002c6285, 0x5e92: 0x002c9885, 0x5e93: 0x002d0885,\n\t0x5e94: 0x002d2285, 0x5e96: 0x002d9a85, 0x5e97: 0x002dcc85,\n\t0x5e98: 0x002dfe85, 0x5e99: 0x002e2285, 0x5e9a: 0x002e8285, 0x5e9b: 0x002e9e85,\n\t0x5e9c: 0x002ee285, 0x5e9d: 0x002f2c85, 0x5e9e: 0x002f5685, 0x5e9f: 0x002f7a85,\n\t0x5ea0: 0x002fe685, 0x5ea1: 0x00302c85, 0x5ea2: 0x00306c85, 0x5ea3: 0x0030be85,\n\t0x5ea4: 0x0030e285, 0x5ea5: 0x0030f685, 0x5ea6: 0x00310085, 0x5ea7: 0x00312a85,\n\t0x5ea8: 0x002bde8b, 0x5ea9: 0x002c0a8b, 0x5eaa: 0x002c3a8b, 0x5eab: 0x002c628b,\n\t0x5eac: 0x002c988b, 0x5ead: 0x002d088b, 0x5eae: 0x002d228b, 0x5eaf: 0x002d688b,\n\t0x5eb0: 0x002d9a8b, 0x5eb1: 0x002dcc8b, 0x5eb2: 0x002dfe8b, 0x5eb3: 0x002e228b,\n\t0x5eb4: 0x002e828b, 0x5eb5: 0x002e9e8b, 0x5eb6: 0x002ee28b, 0x5eb7: 0x002f2c8b,\n\t0x5eb8: 0x002f568b, 0x5eb9: 0x002f7a8b, 0x5eba: 0x002fe68b, 0x5ebb: 0x00302c8b,\n\t0x5ebc: 0x00306c8b, 0x5ebd: 0x0030be8b, 0x5ebe: 0x0030e28b, 0x5ebf: 0x0030f68b,\n\t// Block 0x17b, offset 0x5ec0\n\t0x5ec0: 0x0031008b, 0x5ec1: 0x00312a8b, 0x5ec2: 0x002bde85, 0x5ec3: 0x002c0a85,\n\t0x5ec4: 0x002c3a85, 0x5ec5: 0x002c6285, 0x5ec6: 0x002c9885, 0x5ec7: 0x002d0885,\n\t0x5ec8: 0x002d2285, 0x5ec9: 0x002d6885, 0x5eca: 0x002d9a85, 0x5ecb: 0x002dcc85,\n\t0x5ecc: 0x002dfe85, 0x5ecd: 0x002e2285, 0x5ece: 0x002e8285, 0x5ecf: 0x002e9e85,\n\t0x5ed0: 0x002ee285, 0x5ed1: 0x002f2c85, 0x5ed2: 0x002f5685, 0x5ed3: 0x002f7a85,\n\t0x5ed4: 0x002fe685, 0x5ed5: 0x00302c85, 0x5ed6: 0x00306c85, 0x5ed7: 0x0030be85,\n\t0x5ed8: 0x0030e285, 0x5ed9: 0x0030f685, 0x5eda: 0x00310085, 0x5edb: 0x00312a85,\n\t0x5edc: 0x002bde8b, 0x5ede: 0x002c3a8b, 0x5edf: 0x002c628b,\n\t0x5ee2: 0x002d228b,\n\t0x5ee5: 0x002dcc8b, 0x5ee6: 0x002dfe8b,\n\t0x5ee9: 0x002e9e8b, 0x5eea: 0x002ee28b, 0x5eeb: 0x002f2c8b,\n\t0x5eec: 0x002f568b, 0x5eee: 0x002fe68b, 0x5eef: 0x00302c8b,\n\t0x5ef0: 0x00306c8b, 0x5ef1: 0x0030be8b, 0x5ef2: 0x0030e28b, 0x5ef3: 0x0030f68b,\n\t0x5ef4: 0x0031008b, 0x5ef5: 0x00312a8b, 0x5ef6: 0x002bde85, 0x5ef7: 0x002c0a85,\n\t0x5ef8: 0x002c3a85, 0x5ef9: 0x002c6285, 0x5efb: 0x002d0885,\n\t0x5efd: 0x002d6885, 0x5efe: 0x002d9a85, 0x5eff: 0x002dcc85,\n\t// Block 0x17c, offset 0x5f00\n\t0x5f00: 0x002dfe85, 0x5f01: 0x002e2285, 0x5f02: 0x002e8285, 0x5f03: 0x002e9e85,\n\t0x5f05: 0x002f2c85, 0x5f06: 0x002f5685, 0x5f07: 0x002f7a85,\n\t0x5f08: 0x002fe685, 0x5f09: 0x00302c85, 0x5f0a: 0x00306c85, 0x5f0b: 0x0030be85,\n\t0x5f0c: 0x0030e285, 0x5f0d: 0x0030f685, 0x5f0e: 0x00310085, 0x5f0f: 0x00312a85,\n\t0x5f10: 0x002bde8b, 0x5f11: 0x002c0a8b, 0x5f12: 0x002c3a8b, 0x5f13: 0x002c628b,\n\t0x5f14: 0x002c988b, 0x5f15: 0x002d088b, 0x5f16: 0x002d228b, 0x5f17: 0x002d688b,\n\t0x5f18: 0x002d9a8b, 0x5f19: 0x002dcc8b, 0x5f1a: 0x002dfe8b, 0x5f1b: 0x002e228b,\n\t0x5f1c: 0x002e828b, 0x5f1d: 0x002e9e8b, 0x5f1e: 0x002ee28b, 0x5f1f: 0x002f2c8b,\n\t0x5f20: 0x002f568b, 0x5f21: 0x002f7a8b, 0x5f22: 0x002fe68b, 0x5f23: 0x00302c8b,\n\t0x5f24: 0x00306c8b, 0x5f25: 0x0030be8b, 0x5f26: 0x0030e28b, 0x5f27: 0x0030f68b,\n\t0x5f28: 0x0031008b, 0x5f29: 0x00312a8b, 0x5f2a: 0x002bde85, 0x5f2b: 0x002c0a85,\n\t0x5f2c: 0x002c3a85, 0x5f2d: 0x002c6285, 0x5f2e: 0x002c9885, 0x5f2f: 0x002d0885,\n\t0x5f30: 0x002d2285, 0x5f31: 0x002d6885, 0x5f32: 0x002d9a85, 0x5f33: 0x002dcc85,\n\t0x5f34: 0x002dfe85, 0x5f35: 0x002e2285, 0x5f36: 0x002e8285, 0x5f37: 0x002e9e85,\n\t0x5f38: 0x002ee285, 0x5f39: 0x002f2c85, 0x5f3a: 0x002f5685, 0x5f3b: 0x002f7a85,\n\t0x5f3c: 0x002fe685, 0x5f3d: 0x00302c85, 0x5f3e: 0x00306c85, 0x5f3f: 0x0030be85,\n\t// Block 0x17d, offset 0x5f40\n\t0x5f40: 0x0030e285, 0x5f41: 0x0030f685, 0x5f42: 0x00310085, 0x5f43: 0x00312a85,\n\t0x5f44: 0x002bde8b, 0x5f45: 0x002c0a8b, 0x5f47: 0x002c628b,\n\t0x5f48: 0x002c988b, 0x5f49: 0x002d088b, 0x5f4a: 0x002d228b,\n\t0x5f4d: 0x002dcc8b, 0x5f4e: 0x002dfe8b, 0x5f4f: 0x002e228b,\n\t0x5f50: 0x002e828b, 0x5f51: 0x002e9e8b, 0x5f52: 0x002ee28b, 0x5f53: 0x002f2c8b,\n\t0x5f54: 0x002f568b, 0x5f56: 0x002fe68b, 0x5f57: 0x00302c8b,\n\t0x5f58: 0x00306c8b, 0x5f59: 0x0030be8b, 0x5f5a: 0x0030e28b, 0x5f5b: 0x0030f68b,\n\t0x5f5c: 0x0031008b, 0x5f5e: 0x002bde85, 0x5f5f: 0x002c0a85,\n\t0x5f60: 0x002c3a85, 0x5f61: 0x002c6285, 0x5f62: 0x002c9885, 0x5f63: 0x002d0885,\n\t0x5f64: 0x002d2285, 0x5f65: 0x002d6885, 0x5f66: 0x002d9a85, 0x5f67: 0x002dcc85,\n\t0x5f68: 0x002dfe85, 0x5f69: 0x002e2285, 0x5f6a: 0x002e8285, 0x5f6b: 0x002e9e85,\n\t0x5f6c: 0x002ee285, 0x5f6d: 0x002f2c85, 0x5f6e: 0x002f5685, 0x5f6f: 0x002f7a85,\n\t0x5f70: 0x002fe685, 0x5f71: 0x00302c85, 0x5f72: 0x00306c85, 0x5f73: 0x0030be85,\n\t0x5f74: 0x0030e285, 0x5f75: 0x0030f685, 0x5f76: 0x00310085, 0x5f77: 0x00312a85,\n\t0x5f78: 0x002bde8b, 0x5f79: 0x002c0a8b, 0x5f7b: 0x002c628b,\n\t0x5f7c: 0x002c988b, 0x5f7d: 0x002d088b, 0x5f7e: 0x002d228b,\n\t// Block 0x17e, offset 0x5f80\n\t0x5f80: 0x002d9a8b, 0x5f81: 0x002dcc8b, 0x5f82: 0x002dfe8b, 0x5f83: 0x002e228b,\n\t0x5f84: 0x002e828b, 0x5f86: 0x002ee28b,\n\t0x5f8a: 0x002fe68b, 0x5f8b: 0x00302c8b,\n\t0x5f8c: 0x00306c8b, 0x5f8d: 0x0030be8b, 0x5f8e: 0x0030e28b, 0x5f8f: 0x0030f68b,\n\t0x5f90: 0x0031008b, 0x5f92: 0x002bde85, 0x5f93: 0x002c0a85,\n\t0x5f94: 0x002c3a85, 0x5f95: 0x002c6285, 0x5f96: 0x002c9885, 0x5f97: 0x002d0885,\n\t0x5f98: 0x002d2285, 0x5f99: 0x002d6885, 0x5f9a: 0x002d9a85, 0x5f9b: 0x002dcc85,\n\t0x5f9c: 0x002dfe85, 0x5f9d: 0x002e2285, 0x5f9e: 0x002e8285, 0x5f9f: 0x002e9e85,\n\t0x5fa0: 0x002ee285, 0x5fa1: 0x002f2c85, 0x5fa2: 0x002f5685, 0x5fa3: 0x002f7a85,\n\t0x5fa4: 0x002fe685, 0x5fa5: 0x00302c85, 0x5fa6: 0x00306c85, 0x5fa7: 0x0030be85,\n\t0x5fa8: 0x0030e285, 0x5fa9: 0x0030f685, 0x5faa: 0x00310085, 0x5fab: 0x00312a85,\n\t0x5fac: 0x002bde8b, 0x5fad: 0x002c0a8b, 0x5fae: 0x002c3a8b, 0x5faf: 0x002c628b,\n\t0x5fb0: 0x002c988b, 0x5fb1: 0x002d088b, 0x5fb2: 0x002d228b, 0x5fb3: 0x002d688b,\n\t0x5fb4: 0x002d9a8b, 0x5fb5: 0x002dcc8b, 0x5fb6: 0x002dfe8b, 0x5fb7: 0x002e228b,\n\t0x5fb8: 0x002e828b, 0x5fb9: 0x002e9e8b, 0x5fba: 0x002ee28b, 0x5fbb: 0x002f2c8b,\n\t0x5fbc: 0x002f568b, 0x5fbd: 0x002f7a8b, 0x5fbe: 0x002fe68b, 0x5fbf: 0x00302c8b,\n\t// Block 0x17f, offset 0x5fc0\n\t0x5fc0: 0x00306c8b, 0x5fc1: 0x0030be8b, 0x5fc2: 0x0030e28b, 0x5fc3: 0x0030f68b,\n\t0x5fc4: 0x0031008b, 0x5fc5: 0x00312a8b, 0x5fc6: 0x002bde85, 0x5fc7: 0x002c0a85,\n\t0x5fc8: 0x002c3a85, 0x5fc9: 0x002c6285, 0x5fca: 0x002c9885, 0x5fcb: 0x002d0885,\n\t0x5fcc: 0x002d2285, 0x5fcd: 0x002d6885, 0x5fce: 0x002d9a85, 0x5fcf: 0x002dcc85,\n\t0x5fd0: 0x002dfe85, 0x5fd1: 0x002e2285, 0x5fd2: 0x002e8285, 0x5fd3: 0x002e9e85,\n\t0x5fd4: 0x002ee285, 0x5fd5: 0x002f2c85, 0x5fd6: 0x002f5685, 0x5fd7: 0x002f7a85,\n\t0x5fd8: 0x002fe685, 0x5fd9: 0x00302c85, 0x5fda: 0x00306c85, 0x5fdb: 0x0030be85,\n\t0x5fdc: 0x0030e285, 0x5fdd: 0x0030f685, 0x5fde: 0x00310085, 0x5fdf: 0x00312a85,\n\t0x5fe0: 0x002bde8b, 0x5fe1: 0x002c0a8b, 0x5fe2: 0x002c3a8b, 0x5fe3: 0x002c628b,\n\t0x5fe4: 0x002c988b, 0x5fe5: 0x002d088b, 0x5fe6: 0x002d228b, 0x5fe7: 0x002d688b,\n\t0x5fe8: 0x002d9a8b, 0x5fe9: 0x002dcc8b, 0x5fea: 0x002dfe8b, 0x5feb: 0x002e228b,\n\t0x5fec: 0x002e828b, 0x5fed: 0x002e9e8b, 0x5fee: 0x002ee28b, 0x5fef: 0x002f2c8b,\n\t0x5ff0: 0x002f568b, 0x5ff1: 0x002f7a8b, 0x5ff2: 0x002fe68b, 0x5ff3: 0x00302c8b,\n\t0x5ff4: 0x00306c8b, 0x5ff5: 0x0030be8b, 0x5ff6: 0x0030e28b, 0x5ff7: 0x0030f68b,\n\t0x5ff8: 0x0031008b, 0x5ff9: 0x00312a8b, 0x5ffa: 0x002bde85, 0x5ffb: 0x002c0a85,\n\t0x5ffc: 0x002c3a85, 0x5ffd: 0x002c6285, 0x5ffe: 0x002c9885, 0x5fff: 0x002d0885,\n\t// Block 0x180, offset 0x6000\n\t0x6000: 0x002d2285, 0x6001: 0x002d6885, 0x6002: 0x002d9a85, 0x6003: 0x002dcc85,\n\t0x6004: 0x002dfe85, 0x6005: 0x002e2285, 0x6006: 0x002e8285, 0x6007: 0x002e9e85,\n\t0x6008: 0x002ee285, 0x6009: 0x002f2c85, 0x600a: 0x002f5685, 0x600b: 0x002f7a85,\n\t0x600c: 0x002fe685, 0x600d: 0x00302c85, 0x600e: 0x00306c85, 0x600f: 0x0030be85,\n\t0x6010: 0x0030e285, 0x6011: 0x0030f685, 0x6012: 0x00310085, 0x6013: 0x00312a85,\n\t0x6014: 0x002bde8b, 0x6015: 0x002c0a8b, 0x6016: 0x002c3a8b, 0x6017: 0x002c628b,\n\t0x6018: 0x002c988b, 0x6019: 0x002d088b, 0x601a: 0x002d228b, 0x601b: 0x002d688b,\n\t0x601c: 0x002d9a8b, 0x601d: 0x002dcc8b, 0x601e: 0x002dfe8b, 0x601f: 0x002e228b,\n\t0x6020: 0x002e828b, 0x6021: 0x002e9e8b, 0x6022: 0x002ee28b, 0x6023: 0x002f2c8b,\n\t0x6024: 0x002f568b, 0x6025: 0x002f7a8b, 0x6026: 0x002fe68b, 0x6027: 0x00302c8b,\n\t0x6028: 0x00306c8b, 0x6029: 0x0030be8b, 0x602a: 0x0030e28b, 0x602b: 0x0030f68b,\n\t0x602c: 0x0031008b, 0x602d: 0x00312a8b, 0x602e: 0x002bde85, 0x602f: 0x002c0a85,\n\t0x6030: 0x002c3a85, 0x6031: 0x002c6285, 0x6032: 0x002c9885, 0x6033: 0x002d0885,\n\t0x6034: 0x002d2285, 0x6035: 0x002d6885, 0x6036: 0x002d9a85, 0x6037: 0x002dcc85,\n\t0x6038: 0x002dfe85, 0x6039: 0x002e2285, 0x603a: 0x002e8285, 0x603b: 0x002e9e85,\n\t0x603c: 0x002ee285, 0x603d: 0x002f2c85, 0x603e: 0x002f5685, 0x603f: 0x002f7a85,\n\t// Block 0x181, offset 0x6040\n\t0x6040: 0x002fe685, 0x6041: 0x00302c85, 0x6042: 0x00306c85, 0x6043: 0x0030be85,\n\t0x6044: 0x0030e285, 0x6045: 0x0030f685, 0x6046: 0x00310085, 0x6047: 0x00312a85,\n\t0x6048: 0x002bde8b, 0x6049: 0x002c0a8b, 0x604a: 0x002c3a8b, 0x604b: 0x002c628b,\n\t0x604c: 0x002c988b, 0x604d: 0x002d088b, 0x604e: 0x002d228b, 0x604f: 0x002d688b,\n\t0x6050: 0x002d9a8b, 0x6051: 0x002dcc8b, 0x6052: 0x002dfe8b, 0x6053: 0x002e228b,\n\t0x6054: 0x002e828b, 0x6055: 0x002e9e8b, 0x6056: 0x002ee28b, 0x6057: 0x002f2c8b,\n\t0x6058: 0x002f568b, 0x6059: 0x002f7a8b, 0x605a: 0x002fe68b, 0x605b: 0x00302c8b,\n\t0x605c: 0x00306c8b, 0x605d: 0x0030be8b, 0x605e: 0x0030e28b, 0x605f: 0x0030f68b,\n\t0x6060: 0x0031008b, 0x6061: 0x00312a8b, 0x6062: 0x002bde85, 0x6063: 0x002c0a85,\n\t0x6064: 0x002c3a85, 0x6065: 0x002c6285, 0x6066: 0x002c9885, 0x6067: 0x002d0885,\n\t0x6068: 0x002d2285, 0x6069: 0x002d6885, 0x606a: 0x002d9a85, 0x606b: 0x002dcc85,\n\t0x606c: 0x002dfe85, 0x606d: 0x002e2285, 0x606e: 0x002e8285, 0x606f: 0x002e9e85,\n\t0x6070: 0x002ee285, 0x6071: 0x002f2c85, 0x6072: 0x002f5685, 0x6073: 0x002f7a85,\n\t0x6074: 0x002fe685, 0x6075: 0x00302c85, 0x6076: 0x00306c85, 0x6077: 0x0030be85,\n\t0x6078: 0x0030e285, 0x6079: 0x0030f685, 0x607a: 0x00310085, 0x607b: 0x00312a85,\n\t0x607c: 0x002bde8b, 0x607d: 0x002c0a8b, 0x607e: 0x002c3a8b, 0x607f: 0x002c628b,\n\t// Block 0x182, offset 0x6080\n\t0x6080: 0x002c988b, 0x6081: 0x002d088b, 0x6082: 0x002d228b, 0x6083: 0x002d688b,\n\t0x6084: 0x002d9a8b, 0x6085: 0x002dcc8b, 0x6086: 0x002dfe8b, 0x6087: 0x002e228b,\n\t0x6088: 0x002e828b, 0x6089: 0x002e9e8b, 0x608a: 0x002ee28b, 0x608b: 0x002f2c8b,\n\t0x608c: 0x002f568b, 0x608d: 0x002f7a8b, 0x608e: 0x002fe68b, 0x608f: 0x00302c8b,\n\t0x6090: 0x00306c8b, 0x6091: 0x0030be8b, 0x6092: 0x0030e28b, 0x6093: 0x0030f68b,\n\t0x6094: 0x0031008b, 0x6095: 0x00312a8b, 0x6096: 0x002bde85, 0x6097: 0x002c0a85,\n\t0x6098: 0x002c3a85, 0x6099: 0x002c6285, 0x609a: 0x002c9885, 0x609b: 0x002d0885,\n\t0x609c: 0x002d2285, 0x609d: 0x002d6885, 0x609e: 0x002d9a85, 0x609f: 0x002dcc85,\n\t0x60a0: 0x002dfe85, 0x60a1: 0x002e2285, 0x60a2: 0x002e8285, 0x60a3: 0x002e9e85,\n\t0x60a4: 0x002ee285, 0x60a5: 0x002f2c85, 0x60a6: 0x002f5685, 0x60a7: 0x002f7a85,\n\t0x60a8: 0x002fe685, 0x60a9: 0x00302c85, 0x60aa: 0x00306c85, 0x60ab: 0x0030be85,\n\t0x60ac: 0x0030e285, 0x60ad: 0x0030f685, 0x60ae: 0x00310085, 0x60af: 0x00312a85,\n\t0x60b0: 0x002bde8b, 0x60b1: 0x002c0a8b, 0x60b2: 0x002c3a8b, 0x60b3: 0x002c628b,\n\t0x60b4: 0x002c988b, 0x60b5: 0x002d088b, 0x60b6: 0x002d228b, 0x60b7: 0x002d688b,\n\t0x60b8: 0x002d9a8b, 0x60b9: 0x002dcc8b, 0x60ba: 0x002dfe8b, 0x60bb: 0x002e228b,\n\t0x60bc: 0x002e828b, 0x60bd: 0x002e9e8b, 0x60be: 0x002ee28b, 0x60bf: 0x002f2c8b,\n\t// Block 0x183, offset 0x60c0\n\t0x60c0: 0x002f568b, 0x60c1: 0x002f7a8b, 0x60c2: 0x002fe68b, 0x60c3: 0x00302c8b,\n\t0x60c4: 0x00306c8b, 0x60c5: 0x0030be8b, 0x60c6: 0x0030e28b, 0x60c7: 0x0030f68b,\n\t0x60c8: 0x0031008b, 0x60c9: 0x00312a8b, 0x60ca: 0x002bde85, 0x60cb: 0x002c0a85,\n\t0x60cc: 0x002c3a85, 0x60cd: 0x002c6285, 0x60ce: 0x002c9885, 0x60cf: 0x002d0885,\n\t0x60d0: 0x002d2285, 0x60d1: 0x002d6885, 0x60d2: 0x002d9a85, 0x60d3: 0x002dcc85,\n\t0x60d4: 0x002dfe85, 0x60d5: 0x002e2285, 0x60d6: 0x002e8285, 0x60d7: 0x002e9e85,\n\t0x60d8: 0x002ee285, 0x60d9: 0x002f2c85, 0x60da: 0x002f5685, 0x60db: 0x002f7a85,\n\t0x60dc: 0x002fe685, 0x60dd: 0x00302c85, 0x60de: 0x00306c85, 0x60df: 0x0030be85,\n\t0x60e0: 0x0030e285, 0x60e1: 0x0030f685, 0x60e2: 0x00310085, 0x60e3: 0x00312a85,\n\t0x60e4: 0x002da285, 0x60e5: 0x002dd485,\n\t0x60e8: 0x0032528b, 0x60e9: 0x0032548b, 0x60ea: 0x0032568b, 0x60eb: 0x00325a8b,\n\t0x60ec: 0x00325c8b, 0x60ed: 0x0032648b, 0x60ee: 0x0032688b, 0x60ef: 0x00326a8b,\n\t0x60f0: 0x00326c8b, 0x60f1: 0x0032708b, 0x60f2: 0x0032728b, 0x60f3: 0x0032768b,\n\t0x60f4: 0x0032788b, 0x60f5: 0x00327a8b, 0x60f6: 0x00327c8b, 0x60f7: 0x00327e8b,\n\t0x60f8: 0x0032888b, 0x60f9: 0x00326a8b, 0x60fa: 0x00328e8b, 0x60fb: 0x0032968b,\n\t0x60fc: 0x0032988b, 0x60fd: 0x00329a8b, 0x60fe: 0x00329c8b, 0x60ff: 0x00329e8b,\n\t// Block 0x184, offset 0x6100\n\t0x6100: 0x0032a28b, 0x6101: 0x00092485, 0x6102: 0x00325285, 0x6103: 0x00325485,\n\t0x6104: 0x00325685, 0x6105: 0x00325a85, 0x6106: 0x00325c85, 0x6107: 0x00326485,\n\t0x6108: 0x00326885, 0x6109: 0x00326a85, 0x610a: 0x00326c85, 0x610b: 0x00327085,\n\t0x610c: 0x00327285, 0x610d: 0x00327685, 0x610e: 0x00327885, 0x610f: 0x00327a85,\n\t0x6110: 0x00327c85, 0x6111: 0x00327e85, 0x6112: 0x00328885, 0x6113: 0x00328e85,\n\t0x6114: 0x00328e85, 0x6115: 0x00329685, 0x6116: 0x00329885, 0x6117: 0x00329a85,\n\t0x6118: 0x00329c85, 0x6119: 0x00329e85, 0x611a: 0x0032a285, 0x611b: 0x00091c85,\n\t0x611c: 0x00325c85, 0x611d: 0x00326a85, 0x611e: 0x00327085, 0x611f: 0x00329a85,\n\t0x6120: 0x00328885, 0x6121: 0x00327e85, 0x6122: 0x0032528b, 0x6123: 0x0032548b,\n\t0x6124: 0x0032568b, 0x6125: 0x00325a8b, 0x6126: 0x00325c8b, 0x6127: 0x0032648b,\n\t0x6128: 0x0032688b, 0x6129: 0x00326a8b, 0x612a: 0x00326c8b, 0x612b: 0x0032708b,\n\t0x612c: 0x0032728b, 0x612d: 0x0032768b, 0x612e: 0x0032788b, 0x612f: 0x00327a8b,\n\t0x6130: 0x00327c8b, 0x6131: 0x00327e8b, 0x6132: 0x0032888b, 0x6133: 0x00326a8b,\n\t0x6134: 0x00328e8b, 0x6135: 0x0032968b, 0x6136: 0x0032988b, 0x6137: 0x00329a8b,\n\t0x6138: 0x00329c8b, 0x6139: 0x00329e8b, 0x613a: 0x0032a28b, 0x613b: 0x00092485,\n\t0x613c: 0x00325285, 0x613d: 0x00325485, 0x613e: 0x00325685, 0x613f: 0x00325a85,\n\t// Block 0x185, offset 0x6140\n\t0x6140: 0x00325c85, 0x6141: 0x00326485, 0x6142: 0x00326885, 0x6143: 0x00326a85,\n\t0x6144: 0x00326c85, 0x6145: 0x00327085, 0x6146: 0x00327285, 0x6147: 0x00327685,\n\t0x6148: 0x00327885, 0x6149: 0x00327a85, 0x614a: 0x00327c85, 0x614b: 0x00327e85,\n\t0x614c: 0x00328885, 0x614d: 0x00328e85, 0x614e: 0x00328e85, 0x614f: 0x00329685,\n\t0x6150: 0x00329885, 0x6151: 0x00329a85, 0x6152: 0x00329c85, 0x6153: 0x00329e85,\n\t0x6154: 0x0032a285, 0x6155: 0x00091c85, 0x6156: 0x00325c85, 0x6157: 0x00326a85,\n\t0x6158: 0x00327085, 0x6159: 0x00329a85, 0x615a: 0x00328885, 0x615b: 0x00327e85,\n\t0x615c: 0x0032528b, 0x615d: 0x0032548b, 0x615e: 0x0032568b, 0x615f: 0x00325a8b,\n\t0x6160: 0x00325c8b, 0x6161: 0x0032648b, 0x6162: 0x0032688b, 0x6163: 0x00326a8b,\n\t0x6164: 0x00326c8b, 0x6165: 0x0032708b, 0x6166: 0x0032728b, 0x6167: 0x0032768b,\n\t0x6168: 0x0032788b, 0x6169: 0x00327a8b, 0x616a: 0x00327c8b, 0x616b: 0x00327e8b,\n\t0x616c: 0x0032888b, 0x616d: 0x00326a8b, 0x616e: 0x00328e8b, 0x616f: 0x0032968b,\n\t0x6170: 0x0032988b, 0x6171: 0x00329a8b, 0x6172: 0x00329c8b, 0x6173: 0x00329e8b,\n\t0x6174: 0x0032a28b, 0x6175: 0x00092485, 0x6176: 0x00325285, 0x6177: 0x00325485,\n\t0x6178: 0x00325685, 0x6179: 0x00325a85, 0x617a: 0x00325c85, 0x617b: 0x00326485,\n\t0x617c: 0x00326885, 0x617d: 0x00326a85, 0x617e: 0x00326c85, 0x617f: 0x00327085,\n\t// Block 0x186, offset 0x6180\n\t0x6180: 0x00327285, 0x6181: 0x00327685, 0x6182: 0x00327885, 0x6183: 0x00327a85,\n\t0x6184: 0x00327c85, 0x6185: 0x00327e85, 0x6186: 0x00328885, 0x6187: 0x00328e85,\n\t0x6188: 0x00328e85, 0x6189: 0x00329685, 0x618a: 0x00329885, 0x618b: 0x00329a85,\n\t0x618c: 0x00329c85, 0x618d: 0x00329e85, 0x618e: 0x0032a285, 0x618f: 0x00091c85,\n\t0x6190: 0x00325c85, 0x6191: 0x00326a85, 0x6192: 0x00327085, 0x6193: 0x00329a85,\n\t0x6194: 0x00328885, 0x6195: 0x00327e85, 0x6196: 0x0032528b, 0x6197: 0x0032548b,\n\t0x6198: 0x0032568b, 0x6199: 0x00325a8b, 0x619a: 0x00325c8b, 0x619b: 0x0032648b,\n\t0x619c: 0x0032688b, 0x619d: 0x00326a8b, 0x619e: 0x00326c8b, 0x619f: 0x0032708b,\n\t0x61a0: 0x0032728b, 0x61a1: 0x0032768b, 0x61a2: 0x0032788b, 0x61a3: 0x00327a8b,\n\t0x61a4: 0x00327c8b, 0x61a5: 0x00327e8b, 0x61a6: 0x0032888b, 0x61a7: 0x00326a8b,\n\t0x61a8: 0x00328e8b, 0x61a9: 0x0032968b, 0x61aa: 0x0032988b, 0x61ab: 0x00329a8b,\n\t0x61ac: 0x00329c8b, 0x61ad: 0x00329e8b, 0x61ae: 0x0032a28b, 0x61af: 0x00092485,\n\t0x61b0: 0x00325285, 0x61b1: 0x00325485, 0x61b2: 0x00325685, 0x61b3: 0x00325a85,\n\t0x61b4: 0x00325c85, 0x61b5: 0x00326485, 0x61b6: 0x00326885, 0x61b7: 0x00326a85,\n\t0x61b8: 0x00326c85, 0x61b9: 0x00327085, 0x61ba: 0x00327285, 0x61bb: 0x00327685,\n\t0x61bc: 0x00327885, 0x61bd: 0x00327a85, 0x61be: 0x00327c85, 0x61bf: 0x00327e85,\n\t// Block 0x187, offset 0x61c0\n\t0x61c0: 0x00328885, 0x61c1: 0x00328e85, 0x61c2: 0x00328e85, 0x61c3: 0x00329685,\n\t0x61c4: 0x00329885, 0x61c5: 0x00329a85, 0x61c6: 0x00329c85, 0x61c7: 0x00329e85,\n\t0x61c8: 0x0032a285, 0x61c9: 0x00091c85, 0x61ca: 0x00325c85, 0x61cb: 0x00326a85,\n\t0x61cc: 0x00327085, 0x61cd: 0x00329a85, 0x61ce: 0x00328885, 0x61cf: 0x00327e85,\n\t0x61d0: 0x0032528b, 0x61d1: 0x0032548b, 0x61d2: 0x0032568b, 0x61d3: 0x00325a8b,\n\t0x61d4: 0x00325c8b, 0x61d5: 0x0032648b, 0x61d6: 0x0032688b, 0x61d7: 0x00326a8b,\n\t0x61d8: 0x00326c8b, 0x61d9: 0x0032708b, 0x61da: 0x0032728b, 0x61db: 0x0032768b,\n\t0x61dc: 0x0032788b, 0x61dd: 0x00327a8b, 0x61de: 0x00327c8b, 0x61df: 0x00327e8b,\n\t0x61e0: 0x0032888b, 0x61e1: 0x00326a8b, 0x61e2: 0x00328e8b, 0x61e3: 0x0032968b,\n\t0x61e4: 0x0032988b, 0x61e5: 0x00329a8b, 0x61e6: 0x00329c8b, 0x61e7: 0x00329e8b,\n\t0x61e8: 0x0032a28b, 0x61e9: 0x00092485, 0x61ea: 0x00325285, 0x61eb: 0x00325485,\n\t0x61ec: 0x00325685, 0x61ed: 0x00325a85, 0x61ee: 0x00325c85, 0x61ef: 0x00326485,\n\t0x61f0: 0x00326885, 0x61f1: 0x00326a85, 0x61f2: 0x00326c85, 0x61f3: 0x00327085,\n\t0x61f4: 0x00327285, 0x61f5: 0x00327685, 0x61f6: 0x00327885, 0x61f7: 0x00327a85,\n\t0x61f8: 0x00327c85, 0x61f9: 0x00327e85, 0x61fa: 0x00328885, 0x61fb: 0x00328e85,\n\t0x61fc: 0x00328e85, 0x61fd: 0x00329685, 0x61fe: 0x00329885, 0x61ff: 0x00329a85,\n\t// Block 0x188, offset 0x6200\n\t0x6200: 0x00329c85, 0x6201: 0x00329e85, 0x6202: 0x0032a285, 0x6203: 0x00091c85,\n\t0x6204: 0x00325c85, 0x6205: 0x00326a85, 0x6206: 0x00327085, 0x6207: 0x00329a85,\n\t0x6208: 0x00328885, 0x6209: 0x00327e85, 0x620a: 0x00325e8b, 0x620b: 0x00325e85,\n\t0x620e: 0x0029cc85, 0x620f: 0x0029ce85,\n\t0x6210: 0x0029d085, 0x6211: 0x0029d285, 0x6212: 0x0029d485, 0x6213: 0x0029d685,\n\t0x6214: 0x0029d885, 0x6215: 0x0029da85, 0x6216: 0x0029dc85, 0x6217: 0x0029de85,\n\t0x6218: 0x0029cc85, 0x6219: 0x0029ce85, 0x621a: 0x0029d085, 0x621b: 0x0029d285,\n\t0x621c: 0x0029d485, 0x621d: 0x0029d685, 0x621e: 0x0029d885, 0x621f: 0x0029da85,\n\t0x6220: 0x0029dc85, 0x6221: 0x0029de85, 0x6222: 0x0029cc85, 0x6223: 0x0029ce85,\n\t0x6224: 0x0029d085, 0x6225: 0x0029d285, 0x6226: 0x0029d485, 0x6227: 0x0029d685,\n\t0x6228: 0x0029d885, 0x6229: 0x0029da85, 0x622a: 0x0029dc85, 0x622b: 0x0029de85,\n\t0x622c: 0x0029cc85, 0x622d: 0x0029ce85, 0x622e: 0x0029d085, 0x622f: 0x0029d285,\n\t0x6230: 0x0029d485, 0x6231: 0x0029d685, 0x6232: 0x0029d885, 0x6233: 0x0029da85,\n\t0x6234: 0x0029dc85, 0x6235: 0x0029de85, 0x6236: 0x0029cc85, 0x6237: 0x0029ce85,\n\t0x6238: 0x0029d085, 0x6239: 0x0029d285, 0x623a: 0x0029d485, 0x623b: 0x0029d685,\n\t0x623c: 0x0029d885, 0x623d: 0x0029da85, 0x623e: 0x0029dc85, 0x623f: 0x0029de85,\n\t// Block 0x189, offset 0x6240\n\t0x6240: 0x00393885, 0x6241: 0x00393c85, 0x6242: 0x00396485, 0x6243: 0x00398885,\n\t0x6245: 0x003a7485, 0x6246: 0x0039a685, 0x6247: 0x00397285,\n\t0x6248: 0x0039e685, 0x6249: 0x003a9085, 0x624a: 0x003a1a85, 0x624b: 0x003a4085,\n\t0x624c: 0x003a4e85, 0x624d: 0x003a5685, 0x624e: 0x0039c685, 0x624f: 0x0039ee85,\n\t0x6250: 0x0039fc85, 0x6251: 0x0039dc85, 0x6252: 0x003a1285, 0x6253: 0x0039a485,\n\t0x6254: 0x0039c885, 0x6255: 0x00395685, 0x6256: 0x00395885, 0x6257: 0x00397485,\n\t0x6258: 0x00398a85, 0x6259: 0x0039de85, 0x625a: 0x0039e885, 0x625b: 0x0039f085,\n\t0x625c: 0x00393a85, 0x625d: 0x003a5885, 0x625e: 0x0039fe85, 0x625f: 0x003a1085,\n\t0x6261: 0x00393c85, 0x6262: 0x00396485,\n\t0x6264: 0x003a6885, 0x6267: 0x00397285,\n\t0x6269: 0x003a9085, 0x626a: 0x003a1a85, 0x626b: 0x003a4085,\n\t0x626c: 0x003a4e85, 0x626d: 0x003a5685, 0x626e: 0x0039c685, 0x626f: 0x0039ee85,\n\t0x6270: 0x0039fc85, 0x6271: 0x0039dc85, 0x6272: 0x003a1285,\n\t0x6274: 0x0039c885, 0x6275: 0x00395685, 0x6276: 0x00395885, 0x6277: 0x00397485,\n\t0x6279: 0x0039de85, 0x627b: 0x0039f085,\n\t// Block 0x18a, offset 0x6280\n\t0x6282: 0x00396485,\n\t0x6287: 0x00397285,\n\t0x6289: 0x003a9085, 0x628b: 0x003a4085,\n\t0x628d: 0x003a5685, 0x628e: 0x0039c685, 0x628f: 0x0039ee85,\n\t0x6291: 0x0039dc85, 0x6292: 0x003a1285,\n\t0x6294: 0x0039c885, 0x6297: 0x00397485,\n\t0x6299: 0x0039de85, 0x629b: 0x0039f085,\n\t0x629d: 0x003a5885, 0x629f: 0x003a1085,\n\t0x62a1: 0x00393c85, 0x62a2: 0x00396485,\n\t0x62a4: 0x003a6885, 0x62a7: 0x00397285,\n\t0x62a8: 0x0039e685, 0x62a9: 0x003a9085, 0x62aa: 0x003a1a85,\n\t0x62ac: 0x003a4e85, 0x62ad: 0x003a5685, 0x62ae: 0x0039c685, 0x62af: 0x0039ee85,\n\t0x62b0: 0x0039fc85, 0x62b1: 0x0039dc85, 0x62b2: 0x003a1285,\n\t0x62b4: 0x0039c885, 0x62b5: 0x00395685, 0x62b6: 0x00395885, 0x62b7: 0x00397485,\n\t0x62b9: 0x0039de85, 0x62ba: 0x0039e885, 0x62bb: 0x0039f085,\n\t0x62bc: 0x00393a85, 0x62be: 0x0039fe85,\n\t// Block 0x18b, offset 0x62c0\n\t0x62c0: 0x00393885, 0x62c1: 0x00393c85, 0x62c2: 0x00396485, 0x62c3: 0x00398885,\n\t0x62c4: 0x003a6885, 0x62c5: 0x003a7485, 0x62c6: 0x0039a685, 0x62c7: 0x00397285,\n\t0x62c8: 0x0039e685, 0x62c9: 0x003a9085, 0x62cb: 0x003a4085,\n\t0x62cc: 0x003a4e85, 0x62cd: 0x003a5685, 0x62ce: 0x0039c685, 0x62cf: 0x0039ee85,\n\t0x62d0: 0x0039fc85, 0x62d1: 0x0039dc85, 0x62d2: 0x003a1285, 0x62d3: 0x0039a485,\n\t0x62d4: 0x0039c885, 0x62d5: 0x00395685, 0x62d6: 0x00395885, 0x62d7: 0x00397485,\n\t0x62d8: 0x00398a85, 0x62d9: 0x0039de85, 0x62da: 0x0039e885, 0x62db: 0x0039f085,\n\t0x62e1: 0x00393c85, 0x62e2: 0x00396485, 0x62e3: 0x00398885,\n\t0x62e5: 0x003a7485, 0x62e6: 0x0039a685, 0x62e7: 0x00397285,\n\t0x62e8: 0x0039e685, 0x62e9: 0x003a9085, 0x62eb: 0x003a4085,\n\t0x62ec: 0x003a4e85, 0x62ed: 0x003a5685, 0x62ee: 0x0039c685, 0x62ef: 0x0039ee85,\n\t0x62f0: 0x0039fc85, 0x62f1: 0x0039dc85, 0x62f2: 0x003a1285, 0x62f3: 0x0039a485,\n\t0x62f4: 0x0039c885, 0x62f5: 0x00395685, 0x62f6: 0x00395885, 0x62f7: 0x00397485,\n\t0x62f8: 0x00398a85, 0x62f9: 0x0039de85, 0x62fa: 0x0039e885, 0x62fb: 0x0039f085,\n\t// Block 0x18c, offset 0x6300\n\t0x6330: 0x40070a20, 0x6331: 0x40070c20,\n\t// Block 0x18d, offset 0x6340\n\t0x6340: 0x401f6e20, 0x6341: 0x401f7020, 0x6342: 0x401f7220, 0x6343: 0x401f7420,\n\t0x6344: 0x401f7620, 0x6345: 0x401f7820, 0x6346: 0x401f7a20, 0x6347: 0x401f7c20,\n\t0x6348: 0x401f7e20, 0x6349: 0x401f8020, 0x634a: 0x401f8220, 0x634b: 0x401f8420,\n\t0x634c: 0x401f8620, 0x634d: 0x401f8820, 0x634e: 0x401f8a20, 0x634f: 0x401f8c20,\n\t0x6350: 0x401f8e20, 0x6351: 0x401f9020, 0x6352: 0x401f9220, 0x6353: 0x401f9420,\n\t0x6354: 0x401f9620, 0x6355: 0x401f9820, 0x6356: 0x401f9a20, 0x6357: 0x401f9c20,\n\t0x6358: 0x401f9e20, 0x6359: 0x401fa020, 0x635a: 0x401fa220, 0x635b: 0x401fa420,\n\t0x635c: 0x401fa620, 0x635d: 0x401fa820, 0x635e: 0x401faa20, 0x635f: 0x401fac20,\n\t0x6360: 0x401fae20, 0x6361: 0x401fb020, 0x6362: 0x401fb220, 0x6363: 0x401fb420,\n\t0x6364: 0x401fb620, 0x6365: 0x401fb820, 0x6366: 0x401fba20, 0x6367: 0x401fbc20,\n\t0x6368: 0x401fbe20, 0x6369: 0x401fc020, 0x636a: 0x401fc220, 0x636b: 0x401fc420,\n\t0x6370: 0x401fc620, 0x6371: 0x401fc820, 0x6372: 0x401fca20, 0x6373: 0x401fcc20,\n\t0x6374: 0x401fce20, 0x6375: 0x401fd020, 0x6376: 0x401fd220, 0x6377: 0x401fd420,\n\t0x6378: 0x401fd620, 0x6379: 0x401fd820, 0x637a: 0x401fda20, 0x637b: 0x401fdc20,\n\t0x637c: 0x401fde20, 0x637d: 0x401fe020, 0x637e: 0x401fe220, 0x637f: 0x401fe420,\n\t// Block 0x18e, offset 0x6380\n\t0x6380: 0x401fe620, 0x6381: 0x401fe820, 0x6382: 0x401fea20, 0x6383: 0x401fec20,\n\t0x6384: 0x401fee20, 0x6385: 0x401ff020, 0x6386: 0x401ff220, 0x6387: 0x401ff420,\n\t0x6388: 0x401ff620, 0x6389: 0x401ff820, 0x638a: 0x401ffa20, 0x638b: 0x401ffc20,\n\t0x638c: 0x401ffe20, 0x638d: 0x40200020, 0x638e: 0x40200220, 0x638f: 0x40200420,\n\t0x6390: 0x40200620, 0x6391: 0x40200820, 0x6392: 0x40200a20, 0x6393: 0x40200c20,\n\t0x6394: 0x40200e20, 0x6395: 0x40201020, 0x6396: 0x40201220, 0x6397: 0x40201420,\n\t0x6398: 0x40201620, 0x6399: 0x40201820, 0x639a: 0x40201a20, 0x639b: 0x40201c20,\n\t0x639c: 0x40201e20, 0x639d: 0x40202020, 0x639e: 0x40202220, 0x639f: 0x40202420,\n\t0x63a0: 0x40202620, 0x63a1: 0x40202820, 0x63a2: 0x40202a20, 0x63a3: 0x40202c20,\n\t0x63a4: 0x40202e20, 0x63a5: 0x40203020, 0x63a6: 0x40203220, 0x63a7: 0x40203420,\n\t0x63a8: 0x40203620, 0x63a9: 0x40203820, 0x63aa: 0x40203a20, 0x63ab: 0x40203c20,\n\t0x63ac: 0x40203e20, 0x63ad: 0x40204020, 0x63ae: 0x40204220, 0x63af: 0x40204420,\n\t0x63b0: 0x40204620, 0x63b1: 0x40204820, 0x63b2: 0x40204a20, 0x63b3: 0x40204c20,\n\t0x63b4: 0x40204e20, 0x63b5: 0x40205020, 0x63b6: 0x40205220, 0x63b7: 0x40205420,\n\t0x63b8: 0x40205620, 0x63b9: 0x40205820, 0x63ba: 0x40205a20, 0x63bb: 0x40205c20,\n\t0x63bc: 0x40205e20, 0x63bd: 0x40206020, 0x63be: 0x40206220, 0x63bf: 0x40206420,\n\t// Block 0x18f, offset 0x63c0\n\t0x63c0: 0x40206620, 0x63c1: 0x40206820, 0x63c2: 0x40206a20, 0x63c3: 0x40206c20,\n\t0x63c4: 0x40206e20, 0x63c5: 0x40207020, 0x63c6: 0x40207220, 0x63c7: 0x40207420,\n\t0x63c8: 0x40207620, 0x63c9: 0x40207820, 0x63ca: 0x40207a20, 0x63cb: 0x40207c20,\n\t0x63cc: 0x40207e20, 0x63cd: 0x40208020, 0x63ce: 0x40208220, 0x63cf: 0x40208420,\n\t0x63d0: 0x40208620, 0x63d1: 0x40208820, 0x63d2: 0x40208a20, 0x63d3: 0x40208c20,\n\t0x63e0: 0x40208e20, 0x63e1: 0x40209020, 0x63e2: 0x40209220, 0x63e3: 0x40209420,\n\t0x63e4: 0x40209620, 0x63e5: 0x40209820, 0x63e6: 0x40209a20, 0x63e7: 0x40209c20,\n\t0x63e8: 0x40209e20, 0x63e9: 0x4020a020, 0x63ea: 0x4020a220, 0x63eb: 0x4020a420,\n\t0x63ec: 0x4020a620, 0x63ed: 0x4020a820, 0x63ee: 0x4020aa20,\n\t0x63f1: 0x4020ac20, 0x63f2: 0x4020ae20, 0x63f3: 0x4020b020,\n\t0x63f4: 0x4020b220, 0x63f5: 0x4020b420, 0x63f6: 0x4020b620, 0x63f7: 0x4020b820,\n\t0x63f8: 0x4020ba20, 0x63f9: 0x4020bc20, 0x63fa: 0x4020be20, 0x63fb: 0x4020c020,\n\t0x63fc: 0x4020c220, 0x63fd: 0x4020c420, 0x63fe: 0x4020c620,\n\t// Block 0x190, offset 0x6400\n\t0x6401: 0x4020c820, 0x6402: 0x4020ca20, 0x6403: 0x4020cc20,\n\t0x6404: 0x4020ce20, 0x6405: 0x4020d020, 0x6406: 0x4020d220, 0x6407: 0x4020d420,\n\t0x6408: 0x4020d620, 0x6409: 0x4020d820, 0x640a: 0x4020da20, 0x640b: 0x4020dc20,\n\t0x640c: 0x4020de20, 0x640d: 0x4020e020, 0x640e: 0x4020e220, 0x640f: 0x4020e420,\n\t0x6411: 0x4020e620, 0x6412: 0x4020e820, 0x6413: 0x4020ea20,\n\t0x6414: 0x4020ec20, 0x6415: 0x4020ee20, 0x6416: 0x4020f020, 0x6417: 0x4020f220,\n\t0x6418: 0x4020f420, 0x6419: 0x4020f620, 0x641a: 0x4020f820, 0x641b: 0x4020fa20,\n\t0x641c: 0x4020fc20, 0x641d: 0x4020fe20, 0x641e: 0x40210020, 0x641f: 0x40210220,\n\t// Block 0x191, offset 0x6440\n\t0x6440: 0xf0001f04, 0x6441: 0xf0001f04, 0x6442: 0xf0001f04, 0x6443: 0xf0001f04,\n\t0x6444: 0xf0001f04, 0x6445: 0xf0001f04, 0x6446: 0xf0001f04, 0x6447: 0xf0001f04,\n\t0x6448: 0xf0001f04, 0x6449: 0xf0001f04, 0x644a: 0xf0001f04,\n\t0x6450: 0xf0000a04, 0x6451: 0xf0000a04, 0x6452: 0xf0000a04, 0x6453: 0xf0000a04,\n\t0x6454: 0xf0000a04, 0x6455: 0xf0000a04, 0x6456: 0xf0000a04, 0x6457: 0xf0000a04,\n\t0x6458: 0xf0000a04, 0x6459: 0xf0000a04, 0x645a: 0xf0000a04, 0x645b: 0xf0000a04,\n\t0x645c: 0xf0000a04, 0x645d: 0xf0000a04, 0x645e: 0xf0000a04, 0x645f: 0xf0000a04,\n\t0x6460: 0xf0000a04, 0x6461: 0xf0000a04, 0x6462: 0xf0000a04, 0x6463: 0xf0000a04,\n\t0x6464: 0xf0000a04, 0x6465: 0xf0000a04, 0x6466: 0xf0000a04, 0x6467: 0xf0000a04,\n\t0x6468: 0xf0000a04, 0x6469: 0xf0000a04, 0x646a: 0xf0000a04, 0x646b: 0x002c3a8c,\n\t0x646c: 0x002f7a8c, 0x646d: 0xf0000c0c, 0x646e: 0xf0000c0c,\n\t0x6470: 0x002bde9d, 0x6471: 0x002c0a9d, 0x6472: 0x002c3a9d, 0x6473: 0x002c629d,\n\t0x6474: 0x002c989d, 0x6475: 0x002d089d, 0x6476: 0x002d229d, 0x6477: 0x002d689d,\n\t0x6478: 0x002d9a9d, 0x6479: 0x002dcc9d, 0x647a: 0x002dfe9d, 0x647b: 0x002e229d,\n\t0x647c: 0x002e829d, 0x647d: 0x002e9e9d, 0x647e: 0x002ee29d, 0x647f: 0x002f2c9d,\n\t// Block 0x192, offset 0x6480\n\t0x6480: 0x002f569d, 0x6481: 0x002f7a9d, 0x6482: 0x002fe69d, 0x6483: 0x00302c9d,\n\t0x6484: 0x00306c9d, 0x6485: 0x0030be9d, 0x6486: 0x0030e29d, 0x6487: 0x0030f69d,\n\t0x6488: 0x0031009d, 0x6489: 0x00312a9d, 0x648a: 0xf0001d1d, 0x648b: 0xf0001d1d,\n\t0x648c: 0xf0001d1d, 0x648d: 0xf0001d1d, 0x648e: 0xe0000ebc, 0x648f: 0xf0001d1d,\n\t0x6490: 0x002bde8c, 0x6491: 0x002c0a8c, 0x6492: 0x002c3a8c, 0x6493: 0x002c628c,\n\t0x6494: 0x002c988c, 0x6495: 0x002d088c, 0x6496: 0x002d228c, 0x6497: 0x002d688c,\n\t0x6498: 0x002d9a8c, 0x6499: 0x002dcc8c, 0x649a: 0x002dfe8c, 0x649b: 0x002e228c,\n\t0x649c: 0x002e828c, 0x649d: 0x002e9e8c, 0x649e: 0x002ee28c, 0x649f: 0x002f2c8c,\n\t0x64a0: 0x002f568c, 0x64a1: 0x002f7a8c, 0x64a2: 0x002fe68c, 0x64a3: 0x00302c8c,\n\t0x64a4: 0x00306c8c, 0x64a5: 0x0030be8c, 0x64a6: 0x0030e28c, 0x64a7: 0x0030f68c,\n\t0x64a8: 0x0031008c, 0x64a9: 0x00312a8c, 0x64aa: 0xf0001414, 0x64ab: 0xf0001414,\n\t0x64b0: 0x002bde9d, 0x64b1: 0x002c0a9d, 0x64b2: 0x002c3a9d, 0x64b3: 0x002c629d,\n\t0x64b4: 0x002c989d, 0x64b5: 0x002d089d, 0x64b6: 0x002d229d, 0x64b7: 0x002d689d,\n\t0x64b8: 0x002d9a9d, 0x64b9: 0x002dcc9d, 0x64ba: 0x002dfe9d, 0x64bb: 0x002e229d,\n\t0x64bc: 0x002e829d, 0x64bd: 0x002e9e9d, 0x64be: 0x002ee29d, 0x64bf: 0x002f2c9d,\n\t// Block 0x193, offset 0x64c0\n\t0x64c0: 0x002f569d, 0x64c1: 0x002f7a9d, 0x64c2: 0x002fe69d, 0x64c3: 0x00302c9d,\n\t0x64c4: 0x00306c9d, 0x64c5: 0x0030be9d, 0x64c6: 0x0030e29d, 0x64c7: 0x0030f69d,\n\t0x64c8: 0x0031009d, 0x64c9: 0x00312a9d, 0x64ca: 0x002f2c9d, 0x64cb: 0xe0000c81,\n\t0x64cc: 0xe0000eb5, 0x64cd: 0xe0000f74, 0x64ce: 0xe00009d2, 0x64cf: 0xe00010f0,\n\t0x64d0: 0xf0001d1d, 0x64d1: 0xe0000a6f, 0x64d2: 0xe0000a7e, 0x64d3: 0xe0000ba4,\n\t0x64d4: 0xe0000c84, 0x64d5: 0xe0000d8a, 0x64d6: 0xe0000d8e, 0x64d7: 0xe0000e9b,\n\t0x64d8: 0xe0000f77, 0x64d9: 0xe00010a2, 0x64da: 0xe00010c0,\n\t// Block 0x194, offset 0x6500\n\t0x6526: 0x40110c20, 0x6527: 0x40110e20,\n\t0x6528: 0x40111020, 0x6529: 0x40111220, 0x652a: 0x40111420, 0x652b: 0x40111620,\n\t0x652c: 0x40111820, 0x652d: 0x40111a20, 0x652e: 0x40111c20, 0x652f: 0x40111e20,\n\t0x6530: 0x40112020, 0x6531: 0x40112220, 0x6532: 0x40112420, 0x6533: 0x40112620,\n\t0x6534: 0x40112820, 0x6535: 0x40112a20, 0x6536: 0x40112c20, 0x6537: 0x40112e20,\n\t0x6538: 0x40113020, 0x6539: 0x40113220, 0x653a: 0x40113420, 0x653b: 0x40113620,\n\t0x653c: 0x40113820, 0x653d: 0x40113a20, 0x653e: 0x40113c20, 0x653f: 0x40113e20,\n\t// Block 0x195, offset 0x6540\n\t0x6540: 0xf0001c1c, 0x6541: 0xf0001c1c, 0x6542: 0x00658c9c,\n\t0x6550: 0x02c4969c, 0x6551: 0x02b6ae9c, 0x6552: 0x02a7989c, 0x6553: 0xf0001c1c,\n\t0x6554: 0x029d189c, 0x6555: 0x02b2349c, 0x6556: 0x0313c69c, 0x6557: 0x02b2529c,\n\t0x6558: 0x029d489c, 0x6559: 0x02cc409c, 0x655a: 0x02e2429c, 0x655b: 0x02cb329c,\n\t0x655c: 0x02a49a9c, 0x655d: 0x02bf189c, 0x655e: 0x02a31a9c, 0x655f: 0x02cb609c,\n\t0x6560: 0x02a43a9c, 0x6561: 0x02fa849c, 0x6562: 0x02ea3e9c, 0x6563: 0x0319529c,\n\t0x6564: 0x02b1e09c, 0x6565: 0x02a8729c, 0x6566: 0x02de289c, 0x6567: 0x02c52a9c,\n\t0x6568: 0x02c6aa9c, 0x6569: 0x029c009c, 0x656a: 0x029c129c, 0x656b: 0x0320949c,\n\t0x656c: 0x02bbcc9c, 0x656d: 0x029c5a9c, 0x656e: 0x02a7e69c, 0x656f: 0x02c60e9c,\n\t0x6570: 0x031ae09c, 0x6571: 0x02c4a69c, 0x6572: 0x02f3029c, 0x6573: 0x02f4f49c,\n\t0x6574: 0x02a8109c, 0x6575: 0x02dd009c, 0x6576: 0x02ce129c, 0x6577: 0x02ce109c,\n\t0x6578: 0x02ea669c, 0x6579: 0x02a4e49c, 0x657a: 0x02ab6c9c,\n\t// Block 0x196, offset 0x6580\n\t0x6580: 0xf0000404, 0x6581: 0xf0000404, 0x6582: 0xf0000404, 0x6583: 0xf0000404,\n\t0x6584: 0xf0000404, 0x6585: 0xf0000404, 0x6586: 0xf0000404, 0x6587: 0xf0000404,\n\t0x6588: 0xf0000404,\n\t0x6590: 0x02bf2e86, 0x6591: 0x02a7de86,\n\t// Block 0x197, offset 0x65c0\n\t0x65c0: 0x40210420, 0x65c1: 0x40210620, 0x65c2: 0x40210820, 0x65c3: 0x40210a20,\n\t0x65c4: 0x40210c20, 0x65c5: 0x40210e20, 0x65c6: 0x40211020, 0x65c7: 0x40211220,\n\t0x65c8: 0x40211420, 0x65c9: 0x40211620, 0x65ca: 0x40211820, 0x65cb: 0x40211a20,\n\t0x65cc: 0x40211c20, 0x65cd: 0x40211e20, 0x65ce: 0x40212020, 0x65cf: 0x40212220,\n\t0x65d0: 0x40212420, 0x65d1: 0x40212620, 0x65d2: 0x40212820, 0x65d3: 0x40212a20,\n\t0x65d4: 0x40212c20, 0x65d5: 0x40212e20, 0x65d6: 0x40213020, 0x65d7: 0x40213220,\n\t0x65d8: 0x40213420, 0x65d9: 0x40213620, 0x65da: 0x40213820, 0x65db: 0x40213a20,\n\t0x65dc: 0x40213c20, 0x65dd: 0x40213e20, 0x65de: 0x40214020, 0x65df: 0x40214220,\n\t0x65e0: 0x40214420,\n\t0x65f0: 0x40214620, 0x65f1: 0x40214820, 0x65f2: 0x40214a20, 0x65f3: 0x40214c20,\n\t0x65f4: 0x40214e20, 0x65f5: 0x40215020, 0x65f7: 0x40215220,\n\t0x65f8: 0x40215420, 0x65f9: 0x40215620, 0x65fa: 0x40215820, 0x65fb: 0x40215a20,\n\t0x65fc: 0x40215c20, 0x65fd: 0x40215e20, 0x65fe: 0x40216020, 0x65ff: 0x40216220,\n\t// Block 0x198, offset 0x6600\n\t0x6600: 0x40216420, 0x6601: 0x40216620, 0x6602: 0x40216820, 0x6603: 0x40216a20,\n\t0x6604: 0x40216c20, 0x6605: 0x40216e20, 0x6606: 0x40217020, 0x6607: 0x40217220,\n\t0x6608: 0x40217420, 0x6609: 0x40217620, 0x660a: 0x40217820, 0x660b: 0x40217a20,\n\t0x660c: 0x40217c20, 0x660d: 0x40217e20, 0x660e: 0x40218020, 0x660f: 0x40218220,\n\t0x6610: 0x40218420, 0x6611: 0x40218620, 0x6612: 0x40218820, 0x6613: 0x40218a20,\n\t0x6614: 0x40218c20, 0x6615: 0x40218e20, 0x6616: 0x40219020, 0x6617: 0x40219220,\n\t0x6618: 0x40219420, 0x6619: 0x40219620, 0x661a: 0x40219820, 0x661b: 0x40219a20,\n\t0x661c: 0x40219c20, 0x661d: 0x40219e20, 0x661e: 0x4021a020, 0x661f: 0x4021a220,\n\t0x6620: 0x4021a420, 0x6621: 0x4021a620, 0x6622: 0x4021a820, 0x6623: 0x4021aa20,\n\t0x6624: 0x4021ac20, 0x6625: 0x4021ae20, 0x6626: 0x4021b020, 0x6627: 0x4021b220,\n\t0x6628: 0x4021b420, 0x6629: 0x4021b620, 0x662a: 0x4021b820, 0x662b: 0x4021ba20,\n\t0x662c: 0x4021bc20, 0x662d: 0x4021be20, 0x662e: 0x4021c020, 0x662f: 0x4021c220,\n\t0x6630: 0x4021c420, 0x6631: 0x4021c620, 0x6632: 0x4021c820, 0x6633: 0x4021ca20,\n\t0x6634: 0x4021cc20, 0x6635: 0x4021ce20, 0x6636: 0x4021d020, 0x6637: 0x4021d220,\n\t0x6638: 0x4021d420, 0x6639: 0x4021d620, 0x663a: 0x4021d820, 0x663b: 0x4021da20,\n\t0x663c: 0x4021dc20,\n\t// Block 0x199, offset 0x6640\n\t0x6640: 0x4021de20, 0x6641: 0x4021e020, 0x6642: 0x4021e220, 0x6643: 0x4021e420,\n\t0x6644: 0x4021e620, 0x6645: 0x4021e820, 0x6646: 0x4021ea20, 0x6647: 0x4021ec20,\n\t0x6648: 0x4021ee20, 0x6649: 0x4021f020, 0x664a: 0x4021f220, 0x664b: 0x4021f420,\n\t0x664c: 0x4021f620, 0x664d: 0x4021f820, 0x664e: 0x4021fa20, 0x664f: 0x4021fc20,\n\t0x6650: 0x4021fe20, 0x6651: 0x40220020, 0x6652: 0x40220220, 0x6653: 0x40220420,\n\t0x6660: 0x40220620, 0x6661: 0x40220820, 0x6662: 0x40220a20, 0x6663: 0x40220c20,\n\t0x6664: 0x40220e20, 0x6665: 0x40221020, 0x6666: 0x40221220, 0x6667: 0x40221420,\n\t0x6668: 0x40221620, 0x6669: 0x40221820, 0x666a: 0x40221a20, 0x666b: 0x40221c20,\n\t0x666c: 0x40221e20, 0x666d: 0x40222020, 0x666e: 0x40222220, 0x666f: 0x40222420,\n\t0x6670: 0x40222620, 0x6671: 0x40222820, 0x6672: 0x40222a20, 0x6673: 0x40222c20,\n\t0x6674: 0x40222e20, 0x6675: 0x40223020, 0x6676: 0x40223220, 0x6677: 0x40223420,\n\t0x6678: 0x40223620, 0x6679: 0x40223820, 0x667a: 0x40223a20, 0x667b: 0x40223c20,\n\t0x667c: 0x40223e20, 0x667d: 0x40224020, 0x667e: 0x40224220, 0x667f: 0x40224420,\n\t// Block 0x19a, offset 0x6680\n\t0x6680: 0x40224620, 0x6681: 0x40224820, 0x6682: 0x40224a20, 0x6683: 0x40224c20,\n\t0x6684: 0x40224e20, 0x6686: 0x40225020, 0x6687: 0x40225220,\n\t0x6688: 0x40225420, 0x6689: 0x40225620, 0x668a: 0x40225820,\n\t0x66a0: 0x40225a20, 0x66a1: 0x40225c20, 0x66a2: 0x40225e20, 0x66a3: 0x40226020,\n\t0x66a4: 0x40226220, 0x66a5: 0x40226420, 0x66a6: 0x40226620, 0x66a7: 0x40226820,\n\t0x66a8: 0x40226a20, 0x66a9: 0x40226c20, 0x66aa: 0x40226e20, 0x66ab: 0x40227020,\n\t0x66ac: 0x40227220, 0x66ad: 0x40227420, 0x66ae: 0x40227620, 0x66af: 0x40227820,\n\t0x66b0: 0x40227a20,\n\t// Block 0x19b, offset 0x66c0\n\t0x66c0: 0x40227c20, 0x66c1: 0x40227e20, 0x66c2: 0x40228020, 0x66c3: 0x40228220,\n\t0x66c4: 0x40228420, 0x66c5: 0x40228620, 0x66c6: 0x40228820, 0x66c7: 0x40228a20,\n\t0x66c8: 0x40228c20, 0x66c9: 0x40228e20, 0x66ca: 0x40229020, 0x66cb: 0x40229220,\n\t0x66cc: 0x40229420, 0x66cd: 0x40229620, 0x66ce: 0x40229820, 0x66cf: 0x40229a20,\n\t0x66d0: 0x40229c20, 0x66d1: 0x40229e20, 0x66d2: 0x4022a020, 0x66d3: 0x4022a220,\n\t0x66d4: 0x4022a420, 0x66d5: 0x4022a620, 0x66d6: 0x4022a820, 0x66d7: 0x4022aa20,\n\t0x66d8: 0x4022ac20, 0x66d9: 0x4022ae20, 0x66da: 0x4022b020, 0x66db: 0x4022b220,\n\t0x66dc: 0x4022b420, 0x66dd: 0x4022b620, 0x66de: 0x4022b820, 0x66df: 0x4022ba20,\n\t0x66e0: 0x4022bc20, 0x66e1: 0x4022be20, 0x66e2: 0x4022c020, 0x66e3: 0x4022c220,\n\t0x66e4: 0x4022c420, 0x66e5: 0x4022c620, 0x66e6: 0x4022c820, 0x66e7: 0x4022ca20,\n\t0x66e8: 0x4022cc20, 0x66e9: 0x4022ce20, 0x66ea: 0x4022d020, 0x66eb: 0x4022d220,\n\t0x66ec: 0x4022d420, 0x66ed: 0x4022d620, 0x66ee: 0x4022d820, 0x66ef: 0x4022da20,\n\t0x66f0: 0x4022dc20, 0x66f1: 0x4022de20, 0x66f2: 0x4022e020, 0x66f3: 0x4022e220,\n\t0x66f4: 0x4022e420, 0x66f5: 0x4022e620, 0x66f6: 0x4022e820, 0x66f7: 0x4022ea20,\n\t0x66f8: 0x4022ec20, 0x66f9: 0x4022ee20, 0x66fa: 0x4022f020, 0x66fb: 0x4022f220,\n\t0x66fc: 0x4022f420, 0x66fd: 0x4022f620, 0x66fe: 0x4022f820,\n\t// Block 0x19c, offset 0x6700\n\t0x6700: 0x4022fa20, 0x6702: 0x4022fc20, 0x6703: 0x4022fe20,\n\t0x6704: 0x40230020, 0x6705: 0x40230220, 0x6706: 0x40230420, 0x6707: 0x40230620,\n\t0x6708: 0x40230820, 0x6709: 0x40230a20, 0x670a: 0x40230c20, 0x670b: 0x40230e20,\n\t0x670c: 0x40231020, 0x670d: 0x40231220, 0x670e: 0x40231420, 0x670f: 0x40231620,\n\t0x6710: 0x40231820, 0x6711: 0x40231a20, 0x6712: 0x40231c20, 0x6713: 0x40231e20,\n\t0x6714: 0x40232020, 0x6715: 0x40232220, 0x6716: 0x40232420, 0x6717: 0x40232620,\n\t0x6718: 0x40232820, 0x6719: 0x40232a20, 0x671a: 0x40232c20, 0x671b: 0x40232e20,\n\t0x671c: 0x40233020, 0x671d: 0x40233220, 0x671e: 0x40233420, 0x671f: 0x40233620,\n\t0x6720: 0x40233820, 0x6721: 0x40233a20, 0x6722: 0x40233c20, 0x6723: 0x40233e20,\n\t0x6724: 0x40234020, 0x6725: 0x40234220, 0x6726: 0x40234420, 0x6727: 0x40234620,\n\t0x6728: 0x40234820, 0x6729: 0x40234a20, 0x672a: 0x40234c20, 0x672b: 0x40234e20,\n\t0x672c: 0x40235020, 0x672d: 0x40235220, 0x672e: 0x40235420, 0x672f: 0x40235620,\n\t0x6730: 0x40235820, 0x6731: 0x40235a20, 0x6732: 0x40235c20, 0x6733: 0x40235e20,\n\t0x6734: 0x40236020, 0x6735: 0x40236220, 0x6736: 0x40236420, 0x6737: 0x40236620,\n\t0x6738: 0x40236820, 0x6739: 0x40236a20, 0x673a: 0x40236c20, 0x673b: 0x40236e20,\n\t0x673c: 0x40237020, 0x673d: 0x40237220, 0x673e: 0x40237420, 0x673f: 0x40237620,\n\t// Block 0x19d, offset 0x6740\n\t0x6740: 0x40237820, 0x6741: 0x40237a20, 0x6742: 0x40237c20, 0x6743: 0x40237e20,\n\t0x6744: 0x40238020, 0x6745: 0x40238220, 0x6746: 0x40238420, 0x6747: 0x40238620,\n\t0x6748: 0x40238820, 0x6749: 0x40238a20, 0x674a: 0x40238c20, 0x674b: 0x40238e20,\n\t0x674c: 0x40239020, 0x674d: 0x40239220, 0x674e: 0x40239420, 0x674f: 0x40239620,\n\t0x6750: 0x40239820, 0x6751: 0x40239a20, 0x6752: 0x40239c20, 0x6753: 0x40239e20,\n\t0x6754: 0x4023a020, 0x6755: 0x4023a220, 0x6756: 0x4023a420, 0x6757: 0x4023a620,\n\t0x6758: 0x4023a820, 0x6759: 0x4023aa20, 0x675a: 0x4023ac20, 0x675b: 0x4023ae20,\n\t0x675c: 0x4023b020, 0x675d: 0x4023b220, 0x675e: 0x4023b420, 0x675f: 0x4023b620,\n\t0x6760: 0x4023b820, 0x6761: 0x4023ba20, 0x6762: 0x4023bc20, 0x6763: 0x4023be20,\n\t0x6764: 0x4023c020, 0x6765: 0x4023c220, 0x6766: 0x4023c420, 0x6767: 0x4023c620,\n\t0x6768: 0x4023c820, 0x6769: 0x4023ca20, 0x676a: 0x4023cc20, 0x676b: 0x4023ce20,\n\t0x676c: 0x4023d020, 0x676d: 0x4023d220, 0x676e: 0x4023d420, 0x676f: 0x4023d620,\n\t0x6770: 0x4023d820, 0x6771: 0x4023da20, 0x6772: 0x4023dc20, 0x6773: 0x4023de20,\n\t0x6774: 0x4023e020, 0x6775: 0x4023e220, 0x6776: 0x4023e420, 0x6777: 0x4023e620,\n\t0x6778: 0x4023e820, 0x6779: 0x4023ea20, 0x677a: 0x4023ec20, 0x677b: 0x4023ee20,\n\t0x677c: 0x4023f020, 0x677d: 0x4023f220, 0x677e: 0x4023f420, 0x677f: 0x4023f620,\n\t// Block 0x19e, offset 0x6780\n\t0x6780: 0x4023f820, 0x6781: 0x4023fa20, 0x6782: 0x4023fc20, 0x6783: 0x4023fe20,\n\t0x6784: 0x40240020, 0x6785: 0x40240220, 0x6786: 0x40240420, 0x6787: 0x40240620,\n\t0x6788: 0x40240820, 0x6789: 0x40240a20, 0x678a: 0x40240c20, 0x678b: 0x40240e20,\n\t0x678c: 0x40241020, 0x678d: 0x40241220, 0x678e: 0x40241420, 0x678f: 0x40241620,\n\t0x6790: 0x40241820, 0x6791: 0x40241a20, 0x6792: 0x40241c20, 0x6793: 0x40241e20,\n\t0x6794: 0x40242020, 0x6795: 0x40242220, 0x6796: 0x40242420, 0x6797: 0x40242620,\n\t0x6798: 0x40242820, 0x6799: 0x40242a20, 0x679a: 0x40242c20, 0x679b: 0x40242e20,\n\t0x679c: 0x40243020, 0x679d: 0x40243220, 0x679e: 0x40243420, 0x679f: 0x40243620,\n\t0x67a0: 0x40243820, 0x67a1: 0x40243a20, 0x67a2: 0x40243c20, 0x67a3: 0x40243e20,\n\t0x67a4: 0x40244020, 0x67a5: 0x40244220, 0x67a6: 0x40244420, 0x67a7: 0x40244620,\n\t0x67a8: 0x40244820, 0x67a9: 0x40244a20, 0x67aa: 0x40244c20, 0x67ab: 0x40244e20,\n\t0x67ac: 0x40245020, 0x67ad: 0x40245220, 0x67ae: 0x40245420, 0x67af: 0x40245620,\n\t0x67b0: 0x40245820, 0x67b1: 0x40245a20, 0x67b2: 0x40245c20, 0x67b3: 0x40245e20,\n\t0x67b4: 0x40246020, 0x67b5: 0x40246220, 0x67b6: 0x40246420, 0x67b7: 0x40246620,\n\t0x67b9: 0x40246820, 0x67ba: 0x40246a20, 0x67bb: 0x40246c20,\n\t0x67bc: 0x40246e20,\n\t// Block 0x19f, offset 0x67c0\n\t0x67c0: 0x40247020, 0x67c1: 0x40247220, 0x67c2: 0x40247420, 0x67c3: 0x40247620,\n\t0x67c4: 0x40247820, 0x67c5: 0x40247a20, 0x67c6: 0x40247c20, 0x67c7: 0x40247e20,\n\t0x67c8: 0x40248020, 0x67c9: 0x40248220, 0x67ca: 0x40248420, 0x67cb: 0x40248620,\n\t0x67cc: 0x40248820, 0x67cd: 0x40248a20, 0x67ce: 0x40248c20, 0x67cf: 0x40248e20,\n\t0x67d0: 0x40249020, 0x67d1: 0x40249220, 0x67d2: 0x40249420, 0x67d3: 0x40249620,\n\t0x67d4: 0x40249820, 0x67d5: 0x40249a20, 0x67d6: 0x40249c20, 0x67d7: 0x40249e20,\n\t0x67d8: 0x4024a020, 0x67d9: 0x4024a220, 0x67da: 0x4024a420, 0x67db: 0x4024a620,\n\t0x67dc: 0x4024a820, 0x67dd: 0x4024aa20, 0x67de: 0x4024ac20, 0x67df: 0x4024ae20,\n\t0x67e0: 0x4024b020, 0x67e1: 0x4024b220, 0x67e2: 0x4024b420, 0x67e3: 0x4024b620,\n\t0x67e4: 0x4024b820, 0x67e5: 0x4024ba20, 0x67e6: 0x4024bc20, 0x67e7: 0x4024be20,\n\t0x67e8: 0x4024c020, 0x67e9: 0x4024c220, 0x67ea: 0x4024c420, 0x67eb: 0x4024c620,\n\t0x67ec: 0x4024c820, 0x67ed: 0x4024ca20, 0x67ee: 0x4024cc20, 0x67ef: 0x4024ce20,\n\t0x67f0: 0x4024d020, 0x67f1: 0x4024d220, 0x67f2: 0x4024d420, 0x67f3: 0x4024d620,\n\t0x67f4: 0x4024d820, 0x67f5: 0x4024da20, 0x67f6: 0x4024dc20, 0x67f7: 0x4024de20,\n\t0x67f8: 0x4024e020, 0x67f9: 0x4024e220, 0x67fa: 0x4024e420, 0x67fb: 0x4024e620,\n\t0x67fc: 0x4024e820, 0x67fd: 0x4024ea20,\n\t// Block 0x1a0, offset 0x6800\n\t0x6800: 0x4024ec20, 0x6801: 0x4024ee20, 0x6802: 0x4024f020, 0x6803: 0x4024f220,\n\t0x6810: 0x4024f420, 0x6811: 0x4024f620, 0x6812: 0x4024f820, 0x6813: 0x4024fa20,\n\t0x6814: 0x4024fc20, 0x6815: 0x4024fe20, 0x6816: 0x40250020, 0x6817: 0x40250220,\n\t0x6818: 0x40250420, 0x6819: 0x40250620, 0x681a: 0x40250820, 0x681b: 0x40250a20,\n\t0x681c: 0x40250c20, 0x681d: 0x40250e20, 0x681e: 0x40251020, 0x681f: 0x40251220,\n\t0x6820: 0x40251420, 0x6821: 0x40251620, 0x6822: 0x40251820, 0x6823: 0x40251a20,\n\t0x6824: 0x40251c20, 0x6825: 0x40251e20, 0x6826: 0x40252020, 0x6827: 0x40252220,\n\t// Block 0x1a1, offset 0x6840\n\t0x687b: 0x40252420,\n\t0x687c: 0x40252620, 0x687d: 0x40252820, 0x687e: 0x40252a20, 0x687f: 0x40252c20,\n\t// Block 0x1a2, offset 0x6880\n\t0x6880: 0x40252e20, 0x6881: 0x40253020, 0x6882: 0x40253220, 0x6883: 0x40253420,\n\t0x6884: 0x40253620, 0x6885: 0x40253820, 0x6886: 0x40253a20, 0x6887: 0x40253c20,\n\t0x6888: 0x40253e20, 0x6889: 0x40254020, 0x688a: 0x40254220, 0x688b: 0x40254420,\n\t0x688c: 0x40254620, 0x688d: 0x40254820, 0x688e: 0x40254a20, 0x688f: 0x40254c20,\n\t0x6890: 0x40254e20, 0x6891: 0x40255020, 0x6892: 0x40255220, 0x6893: 0x40255420,\n\t0x6894: 0x40255620, 0x6895: 0x40255820, 0x6896: 0x40255a20, 0x6897: 0x40255c20,\n\t0x6898: 0x40255e20, 0x6899: 0x40256020, 0x689a: 0x40256220, 0x689b: 0x40256420,\n\t0x689c: 0x40256620, 0x689d: 0x40256820, 0x689e: 0x40256a20, 0x689f: 0x40256c20,\n\t0x68a0: 0x40256e20, 0x68a1: 0x40257020, 0x68a2: 0x40257220, 0x68a3: 0x40257420,\n\t0x68a4: 0x40257620, 0x68a5: 0x40257820, 0x68a6: 0x40257a20, 0x68a7: 0x40257c20,\n\t0x68a8: 0x40257e20, 0x68a9: 0x40258020, 0x68aa: 0x40258220, 0x68ab: 0x40258420,\n\t0x68ac: 0x40258620, 0x68ad: 0x40258820, 0x68ae: 0x40258a20, 0x68af: 0x40258c20,\n\t0x68b0: 0x40258e20, 0x68b1: 0x40259020, 0x68b2: 0x40259220, 0x68b3: 0x40259420,\n\t0x68b4: 0x40259620, 0x68b5: 0x40259820, 0x68b6: 0x40259a20, 0x68b7: 0x40259c20,\n\t0x68b8: 0x40259e20, 0x68b9: 0x4025a020, 0x68ba: 0x4025a220, 0x68bb: 0x4025a420,\n\t0x68bc: 0x4025a620, 0x68bd: 0x4025a820, 0x68be: 0x4025aa20, 0x68bf: 0x4025ac20,\n\t// Block 0x1a3, offset 0x68c0\n\t0x68c0: 0x4025ae20,\n\t0x68c5: 0x4025b020, 0x68c6: 0x4025b220, 0x68c7: 0x4025b420,\n\t0x68c8: 0x4025b620, 0x68c9: 0x4025b820, 0x68ca: 0x4025ba20, 0x68cb: 0x4025bc20,\n\t0x68cc: 0x4025be20, 0x68cd: 0x4025c020, 0x68ce: 0x4025c220, 0x68cf: 0x4025c420,\n\t// Block 0x1a4, offset 0x6900\n\t0x6900: 0x4025c620, 0x6901: 0x4025c820, 0x6902: 0x4025ca20, 0x6903: 0x4025cc20,\n\t0x6904: 0x4025ce20, 0x6905: 0x4025d020, 0x6906: 0x4025d220, 0x6907: 0x4025d420,\n\t0x6908: 0x4025d620, 0x6909: 0x4025d820, 0x690a: 0x4025da20, 0x690b: 0x4025dc20,\n\t0x690c: 0x4025de20, 0x690d: 0x4025e020, 0x690e: 0x4025e220, 0x690f: 0x4025e420,\n\t0x6910: 0x4025e620, 0x6911: 0x4025e820, 0x6912: 0x4025ea20, 0x6913: 0x4025ec20,\n\t0x6914: 0x4025ee20, 0x6915: 0x4025f020, 0x6916: 0x4025f220, 0x6917: 0x4025f420,\n\t0x6918: 0x4025f620, 0x6919: 0x4025f820, 0x691a: 0x4025fa20, 0x691b: 0x4025fc20,\n\t0x691c: 0x4025fe20, 0x691d: 0x40260020, 0x691e: 0x40260220, 0x691f: 0x40260420,\n\t0x6920: 0x40260620, 0x6921: 0x40260820, 0x6922: 0x40260a20, 0x6923: 0x40260c20,\n\t0x6924: 0x40260e20, 0x6925: 0x40261020, 0x6926: 0x40261220, 0x6927: 0x40261420,\n\t0x6928: 0x40261620, 0x6929: 0x40261820, 0x692a: 0x40261a20, 0x692b: 0x40261c20,\n\t0x692c: 0x40261e20, 0x692d: 0x40262020, 0x692e: 0x40262220, 0x692f: 0x40262420,\n\t0x6930: 0x40262620, 0x6931: 0x40262820, 0x6932: 0x40262a20, 0x6933: 0x40262c20,\n\t0x6934: 0x40262e20, 0x6935: 0x40263020, 0x6936: 0x40263220, 0x6937: 0x40263420,\n\t0x6938: 0x40263620, 0x6939: 0x40263820, 0x693a: 0x40263a20, 0x693b: 0x40263c20,\n\t0x693c: 0x40263e20, 0x693d: 0x40264020, 0x693e: 0x40264220, 0x693f: 0x40264420,\n\t// Block 0x1a5, offset 0x6940\n\t0x6940: 0x40264620, 0x6941: 0x40264820, 0x6942: 0x40264a20, 0x6943: 0x40264c20,\n\t0x6944: 0x40264e20, 0x6945: 0x40265020,\n\t// Block 0x1a6, offset 0x6980\n\t0x6980: 0x40265220, 0x6981: 0x40265420, 0x6982: 0x40265620, 0x6983: 0x40265820,\n\t0x6984: 0x40265a20, 0x6985: 0x40265c20, 0x6986: 0x40265e20, 0x6987: 0x40266020,\n\t0x6988: 0x40266220, 0x6989: 0x40266420, 0x698a: 0x40266620, 0x698b: 0x40266820,\n\t0x698c: 0x40266a20, 0x698d: 0x40266c20, 0x698e: 0x40266e20, 0x698f: 0x40267020,\n\t0x6990: 0x40267220, 0x6991: 0x40267420, 0x6992: 0x40267620, 0x6993: 0x40267820,\n\t0x6994: 0x40267a20, 0x6995: 0x40267c20, 0x6996: 0x40267e20, 0x6997: 0x40268020,\n\t0x6998: 0x40268220, 0x6999: 0x40268420, 0x699a: 0x40268620, 0x699b: 0x40268820,\n\t0x699c: 0x40268a20, 0x699d: 0x40268c20, 0x699e: 0x40268e20, 0x699f: 0x40269020,\n\t0x69a0: 0x40269220, 0x69a1: 0x40269420, 0x69a2: 0x40269620, 0x69a3: 0x40269820,\n\t0x69a4: 0x40269a20, 0x69a5: 0x40269c20, 0x69a6: 0x40269e20, 0x69a7: 0x4026a020,\n\t0x69a8: 0x4026a220, 0x69a9: 0x4026a420, 0x69aa: 0x4026a620, 0x69ab: 0x4026a820,\n\t0x69ac: 0x4026aa20, 0x69ad: 0x4026ac20, 0x69ae: 0x4026ae20, 0x69af: 0x4026b020,\n\t0x69b0: 0x4026b220, 0x69b1: 0x4026b420, 0x69b2: 0x4026b620, 0x69b3: 0x4026b820,\n\t0x69b4: 0x4026ba20, 0x69b5: 0x4026bc20, 0x69b6: 0x4026be20, 0x69b7: 0x4026c020,\n\t0x69b8: 0x4026c220, 0x69b9: 0x4026c420, 0x69ba: 0x4026c620, 0x69bb: 0x4026c820,\n\t0x69bc: 0x4026ca20, 0x69bd: 0x4026cc20, 0x69be: 0x4026ce20, 0x69bf: 0x4026d020,\n\t// Block 0x1a7, offset 0x69c0\n\t0x69c0: 0x4026d220, 0x69c1: 0x4026d420, 0x69c2: 0x4026d620, 0x69c3: 0x4026d820,\n\t0x69c4: 0x4026da20, 0x69c5: 0x4026dc20, 0x69c6: 0x4026de20, 0x69c7: 0x4026e020,\n\t0x69c8: 0x4026e220, 0x69c9: 0x4026e420, 0x69ca: 0x4026e620, 0x69cb: 0x4026e820,\n\t0x69cc: 0x4026ea20, 0x69cd: 0x4026ec20, 0x69ce: 0x4026ee20, 0x69cf: 0x4026f020,\n\t0x69d0: 0x4026f220, 0x69d1: 0x4026f420, 0x69d2: 0x4026f620, 0x69d3: 0x4026f820,\n\t0x69d4: 0x4026fa20, 0x69d5: 0x4026fc20, 0x69d6: 0x4026fe20, 0x69d7: 0x40270020,\n\t0x69d8: 0x40270220, 0x69d9: 0x40270420, 0x69da: 0x40270620, 0x69db: 0x40270820,\n\t0x69dc: 0x40270a20, 0x69dd: 0x40270c20, 0x69de: 0x40270e20, 0x69df: 0x40271020,\n\t0x69e0: 0x40271220, 0x69e1: 0x40271420, 0x69e2: 0x40271620, 0x69e3: 0x40271820,\n\t0x69e4: 0x40271a20, 0x69e5: 0x40271c20, 0x69e6: 0x40271e20, 0x69e7: 0x40272020,\n\t0x69e8: 0x40272220, 0x69e9: 0x40272420, 0x69ea: 0x40272620, 0x69eb: 0x40272820,\n\t0x69ec: 0x40272a20, 0x69ed: 0x40272c20, 0x69ee: 0x40272e20, 0x69ef: 0x40273020,\n\t0x69f0: 0x40273220, 0x69f1: 0x40273420, 0x69f2: 0x40273620, 0x69f3: 0x40273820,\n\t// Block 0x1a8, offset 0x6a00\n\t0x6a00: 0x429c7a20, 0x6a01: 0x429c7020, 0x6a02: 0x429c8220, 0x6a03: 0x48024420,\n\t0x6a04: 0x429ec020, 0x6a05: 0x429f5c20, 0x6a06: 0x429f7620, 0x6a07: 0x42a00420,\n\t0x6a08: 0x42a0f420, 0x6a09: 0x42a13220, 0x6a0a: 0x42a1ce20, 0x6a0b: 0x42a19e20,\n\t0x6a0c: 0x44693c20, 0x6a0d: 0x480c7420, 0x6a0e: 0x42a29a20, 0x6a0f: 0x42a2a820,\n\t0x6a10: 0x42a2c820, 0x6a11: 0x42a2ee20, 0x6a12: 0x480a3820, 0x6a13: 0x44697220,\n\t0x6a14: 0x42a2ce20, 0x6a15: 0x42a31a20, 0x6a16: 0x480a9620, 0x6a17: 0x42a32e20,\n\t0x6a18: 0x42a34820, 0x6a19: 0x429d9820, 0x6a1a: 0x42a35820, 0x6a1b: 0x42a36a20,\n\t0x6a1c: 0x4923be20, 0x6a1d: 0x42a3ea20, 0x6a1e: 0x42a40620, 0x6a1f: 0x4469be20,\n\t0x6a20: 0x42a47620, 0x6a21: 0x42a48c20, 0x6a22: 0x42a4e420, 0x6a23: 0x42a4ee20,\n\t0x6a24: 0x446a2a20, 0x6a25: 0x42a58e20, 0x6a26: 0x42a59220, 0x6a27: 0x42a5c820,\n\t0x6a28: 0x42a5f420, 0x6a29: 0x42a60a20, 0x6a2a: 0x42a60c20, 0x6a2b: 0x42a62e20,\n\t0x6a2c: 0x42a69220, 0x6a2d: 0x42a6a220, 0x6a2e: 0x42a6b420, 0x6a2f: 0x42a6e620,\n\t0x6a30: 0x42a6fa20, 0x6a31: 0x42a6fe20, 0x6a32: 0x42a6fe20, 0x6a33: 0x42a6fe20,\n\t0x6a34: 0x48145820, 0x6a35: 0x42e0e020, 0x6a36: 0x42a79420, 0x6a37: 0x42a7be20,\n\t0x6a38: 0x4816c620, 0x6a39: 0x42a7d620, 0x6a3a: 0x42a7e220, 0x6a3b: 0x42a80c20,\n\t0x6a3c: 0x42a93c20, 0x6a3d: 0x42a87020, 0x6a3e: 0x42a89020, 0x6a3f: 0x42a8d020,\n\t// Block 0x1a9, offset 0x6a40\n\t0x6a40: 0x42a94420, 0x6a41: 0x42a9ec20, 0x6a42: 0x42aa2020, 0x6a43: 0x42aaa620,\n\t0x6a44: 0x42aac620, 0x6a45: 0x42ab0820, 0x6a46: 0x42ab0820, 0x6a47: 0x42ab3220,\n\t0x6a48: 0x42ab5620, 0x6a49: 0x42ab6620, 0x6a4a: 0x42ab8420, 0x6a4b: 0x42ae2c20,\n\t0x6a4c: 0x42ac0c20, 0x6a4d: 0x42ae2e20, 0x6a4e: 0x42aca220, 0x6a4f: 0x42ace820,\n\t0x6a50: 0x42a40e20, 0x6a51: 0x42b1dc20, 0x6a52: 0x42af9c20, 0x6a53: 0x42afe820,\n\t0x6a54: 0x42b01a20, 0x6a55: 0x42af1620, 0x6a56: 0x42b06420, 0x6a57: 0x42b06220,\n\t0x6a58: 0x42b15820, 0x6a59: 0x4829c820, 0x6a5a: 0x42b1e420, 0x6a5b: 0x42b1ee20,\n\t0x6a5c: 0x42b20c20, 0x6a5d: 0x42b23420, 0x6a5e: 0x42b24420, 0x6a5f: 0x42b2c420,\n\t0x6a60: 0x482d5020, 0x6a61: 0x482dd420, 0x6a62: 0x42b3d820, 0x6a63: 0x42b43620,\n\t0x6a64: 0x42b44e20, 0x6a65: 0x42b3b020, 0x6a66: 0x42b4cc20, 0x6a67: 0x446ddc20,\n\t0x6a68: 0x446df820, 0x6a69: 0x42b61020, 0x6a6a: 0x42b67c20, 0x6a6b: 0x42b67c20,\n\t0x6a6c: 0x48339020, 0x6a6d: 0x42b78620, 0x6a6e: 0x42b7b020, 0x6a6f: 0x42b7ce20,\n\t0x6a70: 0x42b7e620, 0x6a71: 0x48363020, 0x6a72: 0x42b7fe20, 0x6a73: 0x42b80c20,\n\t0x6a74: 0x42bea620, 0x6a75: 0x42b84420, 0x6a76: 0x446f0220, 0x6a77: 0x42b8c020,\n\t0x6a78: 0x42b8dc20, 0x6a79: 0x42b98020, 0x6a7a: 0x42b91a20, 0x6a7b: 0x483bc820,\n\t0x6a7c: 0x42ba8620, 0x6a7d: 0x483bcc20, 0x6a7e: 0x42badc20, 0x6a7f: 0x42bad620,\n\t// Block 0x1aa, offset 0x6a80\n\t0x6a80: 0x42baf820, 0x6a81: 0x42bbc220, 0x6a82: 0x42bbc420, 0x6a83: 0x44705e20,\n\t0x6a84: 0x42bbfa20, 0x6a85: 0x42bc5020, 0x6a86: 0x42bc7a20, 0x6a87: 0x42bcd220,\n\t0x6a88: 0x4470c420, 0x6a89: 0x48430620, 0x6a8a: 0x4470f820, 0x6a8b: 0x42bd6020,\n\t0x6a8c: 0x42bd6620, 0x6a8d: 0x42bd6c20, 0x6a8e: 0x42bd9420, 0x6a8f: 0x49472420,\n\t0x6a90: 0x42bdfc20, 0x6a91: 0x48466220, 0x6a92: 0x48466220, 0x6a93: 0x43040220,\n\t0x6a94: 0x42be4420, 0x6a95: 0x42be4420, 0x6a96: 0x44718e20, 0x6a97: 0x48657020,\n\t0x6a98: 0x48c3b420, 0x6a99: 0x42bec420, 0x6a9a: 0x42bed620, 0x6a9b: 0x4471c620,\n\t0x6a9c: 0x42bf3420, 0x6a9d: 0x42bf9a20, 0x6a9e: 0x42bfae20, 0x6a9f: 0x42bff220,\n\t0x6aa0: 0x42c10220, 0x6aa1: 0x44727420, 0x6aa2: 0x44723820, 0x6aa3: 0x42c12820,\n\t0x6aa4: 0x484da820, 0x6aa5: 0x42c18e20, 0x6aa6: 0x42c29020, 0x6aa7: 0x42c29820,\n\t0x6aa8: 0x42c29c20, 0x6aa9: 0x42c29820, 0x6aaa: 0x42c2f420, 0x6aab: 0x42c31c20,\n\t0x6aac: 0x42c36420, 0x6aad: 0x42c34820, 0x6aae: 0x42c35e20, 0x6aaf: 0x42c3bc20,\n\t0x6ab0: 0x42c3e420, 0x6ab1: 0x42c3ec20, 0x6ab2: 0x42c42020, 0x6ab3: 0x42c43620,\n\t0x6ab4: 0x42c4ba20, 0x6ab5: 0x42c56220, 0x6ab6: 0x42c5a820, 0x6ab7: 0x42c6a020,\n\t0x6ab8: 0x48561820, 0x6ab9: 0x42c67a20, 0x6aba: 0x42c5f820, 0x6abb: 0x42c6d020,\n\t0x6abc: 0x42c70620, 0x6abd: 0x42c7c820, 0x6abe: 0x4857e220, 0x6abf: 0x42c84420,\n\t// Block 0x1ab, offset 0x6ac0\n\t0x6ac0: 0x42c78a20, 0x6ac1: 0x42c75220, 0x6ac2: 0x44745c20, 0x6ac3: 0x42c8d220,\n\t0x6ac4: 0x42c8fc20, 0x6ac5: 0x42c93a20, 0x6ac6: 0x42c8ee20, 0x6ac7: 0x4474d820,\n\t0x6ac8: 0x42ca9e20, 0x6ac9: 0x42cad820, 0x6aca: 0x48601420, 0x6acb: 0x42cbc620,\n\t0x6acc: 0x42cdf020, 0x6acd: 0x42cc9220, 0x6ace: 0x44763220, 0x6acf: 0x42cd2220,\n\t0x6ad0: 0x44761020, 0x6ad1: 0x4475c820, 0x6ad2: 0x42a32420, 0x6ad3: 0x42a32a20,\n\t0x6ad4: 0x42ce0020, 0x6ad5: 0x42cd3820, 0x6ad6: 0x43015a20, 0x6ad7: 0x4487b220,\n\t0x6ad8: 0x42ce2e20, 0x6ad9: 0x42ce3620, 0x6ada: 0x42ce4220, 0x6adb: 0x42cebc20,\n\t0x6adc: 0x42cea620, 0x6add: 0x48678620, 0x6ade: 0x44769220, 0x6adf: 0x42cff420,\n\t0x6ae0: 0x42cf0a20, 0x6ae1: 0x42d0a420, 0x6ae2: 0x42d10a20, 0x6ae3: 0x4868da20,\n\t0x6ae4: 0x42d11c20, 0x6ae5: 0x42d03e20, 0x6ae6: 0x42d22820, 0x6ae7: 0x44773a20,\n\t0x6ae8: 0x42d28420, 0x6ae9: 0x42d34620, 0x6aea: 0x42d3d420, 0x6aeb: 0x42d55020,\n\t0x6aec: 0x486d4620, 0x6aed: 0x42d5b620, 0x6aee: 0x44783020, 0x6aef: 0x42d64220,\n\t0x6af0: 0x48714e20, 0x6af1: 0x42d6a820, 0x6af2: 0x44789c20, 0x6af3: 0x42d6e420,\n\t0x6af4: 0x42d73e20, 0x6af5: 0x42d77420, 0x6af6: 0x42d77620, 0x6af7: 0x48751a20,\n\t0x6af8: 0x483a1620, 0x6af9: 0x4875f420, 0x6afa: 0x42d89c20, 0x6afb: 0x48797820,\n\t0x6afc: 0x42d97e20, 0x6afd: 0x42d99a20, 0x6afe: 0x42d8ce20, 0x6aff: 0x42da2c20,\n\t// Block 0x1ac, offset 0x6b00\n\t0x6b00: 0x42da7c20, 0x6b01: 0x42daee20, 0x6b02: 0x42da8220, 0x6b03: 0x42dad220,\n\t0x6b04: 0x42daf020, 0x6b05: 0x42db0a20, 0x6b06: 0x487a3c20, 0x6b07: 0x42da6820,\n\t0x6b08: 0x42dc5e20, 0x6b09: 0x42dcdc20, 0x6b0a: 0x447a6620, 0x6b0b: 0x42dd9620,\n\t0x6b0c: 0x42dd8e20, 0x6b0d: 0x487da220, 0x6b0e: 0x42dbf220, 0x6b0f: 0x42dedc20,\n\t0x6b10: 0x487ebc20, 0x6b11: 0x487f1c20, 0x6b12: 0x42df8c20, 0x6b13: 0x42e07220,\n\t0x6b14: 0x42e03c20, 0x6b15: 0x42e03620, 0x6b16: 0x447b2c20, 0x6b17: 0x42e09420,\n\t0x6b18: 0x42e0fa20, 0x6b19: 0x42e0ee20, 0x6b1a: 0x42e15a20, 0x6b1b: 0x480a4a20,\n\t0x6b1c: 0x42e28a20, 0x6b1d: 0x4884c620, 0x6b1e: 0x42e33820, 0x6b1f: 0x48875620,\n\t0x6b20: 0x42e45020, 0x6b21: 0x42e46a20, 0x6b22: 0x42e4a020, 0x6b23: 0x488c1020,\n\t0x6b24: 0x42e50020, 0x6b25: 0x42e52a20, 0x6b26: 0x488e6a20, 0x6b27: 0x48902820,\n\t0x6b28: 0x42e6f420, 0x6b29: 0x42e71620, 0x6b2a: 0x447d5820, 0x6b2b: 0x42e74a20,\n\t0x6b2c: 0x447d7020, 0x6b2d: 0x447d7020, 0x6b2e: 0x42e88e20, 0x6b2f: 0x42e8b820,\n\t0x6b30: 0x42e8e220, 0x6b31: 0x42e90a20, 0x6b32: 0x42e99420, 0x6b33: 0x447e3620,\n\t0x6b34: 0x42ea4820, 0x6b35: 0x48986c20, 0x6b36: 0x42ea7c20, 0x6b37: 0x48992420,\n\t0x6b38: 0x42eae020, 0x6b39: 0x48433e20, 0x6b3a: 0x42ec2020, 0x6b3b: 0x489f4220,\n\t0x6b3c: 0x489f7020, 0x6b3d: 0x48a08820, 0x6b3e: 0x447ff820, 0x6b3f: 0x44801020,\n\t// Block 0x1ad, offset 0x6b40\n\t0x6b40: 0x42ede820, 0x6b41: 0x48a1e620, 0x6b42: 0x48a1e420, 0x6b43: 0x48a23220,\n\t0x6b44: 0x48a26620, 0x6b45: 0x42ee3c20, 0x6b46: 0x42ee3e20, 0x6b47: 0x42ee3e20,\n\t0x6b48: 0x42ee9420, 0x6b49: 0x44807220, 0x6b4a: 0x42ef1620, 0x6b4b: 0x44808c20,\n\t0x6b4c: 0x44812c20, 0x6b4d: 0x48a83a20, 0x6b4e: 0x42f09c20, 0x6b4f: 0x42f11820,\n\t0x6b50: 0x42f19820, 0x6b51: 0x4481c620, 0x6b52: 0x48ac4c20, 0x6b53: 0x42f2ac20,\n\t0x6b54: 0x48ad3420, 0x6b55: 0x48ad8a20, 0x6b56: 0x42f31e20, 0x6b57: 0x42f3d620,\n\t0x6b58: 0x44825e20, 0x6b59: 0x42f48020, 0x6b5a: 0x42f49420, 0x6b5b: 0x42f49e20,\n\t0x6b5c: 0x48b2f820, 0x6b5d: 0x48b54e20, 0x6b5e: 0x48b54e20, 0x6b5f: 0x42f5dc20,\n\t0x6b60: 0x44840420, 0x6b61: 0x48b75620, 0x6b62: 0x42f78c20, 0x6b63: 0x42f79220,\n\t0x6b64: 0x44844e20, 0x6b65: 0x48b90020, 0x6b66: 0x42f9a420, 0x6b67: 0x44854020,\n\t0x6b68: 0x42f9d020, 0x6b69: 0x42f9c620, 0x6b6a: 0x42fa0020, 0x6b6b: 0x48bf0c20,\n\t0x6b6c: 0x42fac620, 0x6b6d: 0x44860220, 0x6b6e: 0x42fb8e20, 0x6b6f: 0x42fc0420,\n\t0x6b70: 0x42fc8a20, 0x6b71: 0x44866820, 0x6b72: 0x48c45020, 0x6b73: 0x48c48e20,\n\t0x6b74: 0x4486b220, 0x6b75: 0x48c5b220, 0x6b76: 0x42fef420, 0x6b77: 0x48c67c20,\n\t0x6b78: 0x42ff2a20, 0x6b79: 0x42fff420, 0x6b7a: 0x43000a20, 0x6b7b: 0x48c9b420,\n\t0x6b7c: 0x48ca4620, 0x6b7d: 0x4300c020, 0x6b7e: 0x48cb5020, 0x6b7f: 0x4300e020,\n\t// Block 0x1ae, offset 0x6b80\n\t0x6b80: 0x4866be20, 0x6b81: 0x4487aa20, 0x6b82: 0x43016420, 0x6b83: 0x43020620,\n\t0x6b84: 0x44881620, 0x6b85: 0x43027c20, 0x6b86: 0x42b56a20, 0x6b87: 0x48cf4e20,\n\t0x6b88: 0x48cf6a20, 0x6b89: 0x48672620, 0x6b8a: 0x48673820, 0x6b8b: 0x43040220,\n\t0x6b8c: 0x43040820, 0x6b8d: 0x431f3c20, 0x6b8e: 0x4488d620, 0x6b8f: 0x43052220,\n\t0x6b90: 0x43051620, 0x6b91: 0x43053a20, 0x6b92: 0x42a56620, 0x6b93: 0x43056220,\n\t0x6b94: 0x43056620, 0x6b95: 0x43057a20, 0x6b96: 0x4305cc20, 0x6b97: 0x48d67820,\n\t0x6b98: 0x4305ca20, 0x6b99: 0x43063a20, 0x6b9a: 0x4306c620, 0x6b9b: 0x43075a20,\n\t0x6b9c: 0x43064620, 0x6b9d: 0x43077a20, 0x6b9e: 0x4307ce20, 0x6b9f: 0x4308ae20,\n\t0x6ba0: 0x4306a620, 0x6ba1: 0x43079420, 0x6ba2: 0x43079820, 0x6ba3: 0x4307b820,\n\t0x6ba4: 0x48d86c20, 0x6ba5: 0x48dad620, 0x6ba6: 0x48d9aa20, 0x6ba7: 0x448a5620,\n\t0x6ba8: 0x4309e220, 0x6ba9: 0x4309e620, 0x6baa: 0x430a2c20, 0x6bab: 0x48e79420,\n\t0x6bac: 0x430ac820, 0x6bad: 0x48de5820, 0x6bae: 0x448aba20, 0x6baf: 0x448ac220,\n\t0x6bb0: 0x48df6220, 0x6bb1: 0x48e1a420, 0x6bb2: 0x448ad620, 0x6bb3: 0x430ca020,\n\t0x6bb4: 0x430cb820, 0x6bb5: 0x430cce20, 0x6bb6: 0x430cd220, 0x6bb7: 0x430d5220,\n\t0x6bb8: 0x430d1020, 0x6bb9: 0x430e1c20, 0x6bba: 0x430dc420, 0x6bbb: 0x430ef220,\n\t0x6bbc: 0x430e5020, 0x6bbd: 0x430ed620, 0x6bbe: 0x430f0c20, 0x6bbf: 0x448bae20,\n\t// Block 0x1af, offset 0x6bc0\n\t0x6bc0: 0x430fc220, 0x6bc1: 0x43100220, 0x6bc2: 0x448bf220, 0x6bc3: 0x4310c020,\n\t0x6bc4: 0x4310c620, 0x6bc5: 0x48ecce20, 0x6bc6: 0x4311ae20, 0x6bc7: 0x4311bc20,\n\t0x6bc8: 0x448c6a20, 0x6bc9: 0x4311f420, 0x6bca: 0x44697620, 0x6bcb: 0x48f15c20,\n\t0x6bcc: 0x48f2cc20, 0x6bcd: 0x448d7c20, 0x6bce: 0x448d8e20, 0x6bcf: 0x43154020,\n\t0x6bd0: 0x4315da20, 0x6bd1: 0x43171420, 0x6bd2: 0x4318aa20, 0x6bd3: 0x48f95020,\n\t0x6bd4: 0x43195620, 0x6bd5: 0x43198220, 0x6bd6: 0x431a3620, 0x6bd7: 0x431aee20,\n\t0x6bd8: 0x48fe5e20, 0x6bd9: 0x48100820, 0x6bda: 0x431b9620, 0x6bdb: 0x431b7820,\n\t0x6bdc: 0x431be020, 0x6bdd: 0x4811bc20, 0x6bde: 0x431da820, 0x6bdf: 0x431e7020,\n\t0x6be0: 0x490ba420, 0x6be1: 0x490bda20, 0x6be2: 0x43212820, 0x6be3: 0x4321e220,\n\t0x6be4: 0x43222220, 0x6be5: 0x490e5c20, 0x6be6: 0x43223620, 0x6be7: 0x43247020,\n\t0x6be8: 0x4325ae20, 0x6be9: 0x4325b020, 0x6bea: 0x4324f820, 0x6beb: 0x4327f220,\n\t0x6bec: 0x43282a20, 0x6bed: 0x4917f420, 0x6bee: 0x432b1620, 0x6bef: 0x44932a20,\n\t0x6bf0: 0x432b6e20, 0x6bf1: 0x491aee20, 0x6bf2: 0x4493cc20, 0x6bf3: 0x432d8620,\n\t0x6bf4: 0x42bb6420, 0x6bf5: 0x432e4620, 0x6bf6: 0x49228a20, 0x6bf7: 0x49243420,\n\t0x6bf8: 0x4494dc20, 0x6bf9: 0x4494ec20, 0x6bfa: 0x432fc020, 0x6bfb: 0x49281420,\n\t0x6bfc: 0x44956420, 0x6bfd: 0x49292c20, 0x6bfe: 0x43301620, 0x6bff: 0x43301620,\n\t// Block 0x1b0, offset 0x6c00\n\t0x6c00: 0x43305220, 0x6c01: 0x492b6c20, 0x6c02: 0x4331c420, 0x6c03: 0x44966620,\n\t0x6c04: 0x43325220, 0x6c05: 0x43334e20, 0x6c06: 0x43338420, 0x6c07: 0x4333fc20,\n\t0x6c08: 0x44979c20, 0x6c09: 0x49366020, 0x6c0a: 0x43362420, 0x6c0b: 0x43388020,\n\t0x6c0c: 0x4339fa20, 0x6c0d: 0x44999c20, 0x6c0e: 0x4499da20, 0x6c0f: 0x433ace20,\n\t0x6c10: 0x49419c20, 0x6c11: 0x4499f020, 0x6c12: 0x49420a20, 0x6c13: 0x49441c20,\n\t0x6c14: 0x49452220, 0x6c15: 0x433d7620, 0x6c16: 0x449aac20, 0x6c17: 0x433df220,\n\t0x6c18: 0x433dfc20, 0x6c19: 0x433e0a20, 0x6c1a: 0x433e1e20, 0x6c1b: 0x433e2c20,\n\t0x6c1c: 0x433e7620, 0x6c1d: 0x494c0020,\n\t// Block 0x1b1, offset 0x6c40\n\t0x6c41: 0xa0000000,\n\t0x6c60: 0xa0000000, 0x6c61: 0xa0000000, 0x6c62: 0xa0000000, 0x6c63: 0xa0000000,\n\t0x6c64: 0xa0000000, 0x6c65: 0xa0000000, 0x6c66: 0xa0000000, 0x6c67: 0xa0000000,\n\t0x6c68: 0xa0000000, 0x6c69: 0xa0000000, 0x6c6a: 0xa0000000, 0x6c6b: 0xa0000000,\n\t0x6c6c: 0xa0000000, 0x6c6d: 0xa0000000, 0x6c6e: 0xa0000000, 0x6c6f: 0xa0000000,\n\t0x6c70: 0xa0000000, 0x6c71: 0xa0000000, 0x6c72: 0xa0000000, 0x6c73: 0xa0000000,\n\t0x6c74: 0xa0000000, 0x6c75: 0xa0000000, 0x6c76: 0xa0000000, 0x6c77: 0xa0000000,\n\t0x6c78: 0xa0000000, 0x6c79: 0xa0000000, 0x6c7a: 0xa0000000, 0x6c7b: 0xa0000000,\n\t0x6c7c: 0xa0000000, 0x6c7d: 0xa0000000, 0x6c7e: 0xa0000000, 0x6c7f: 0xa0000000,\n\t// Block 0x1b2, offset 0x6c80\n\t0x6c80: 0xa0000000, 0x6c81: 0xa0000000, 0x6c82: 0xa0000000, 0x6c83: 0xa0000000,\n\t0x6c84: 0xa0000000, 0x6c85: 0xa0000000, 0x6c86: 0xa0000000, 0x6c87: 0xa0000000,\n\t0x6c88: 0xa0000000, 0x6c89: 0xa0000000, 0x6c8a: 0xa0000000, 0x6c8b: 0xa0000000,\n\t0x6c8c: 0xa0000000, 0x6c8d: 0xa0000000, 0x6c8e: 0xa0000000, 0x6c8f: 0xa0000000,\n\t0x6c90: 0xa0000000, 0x6c91: 0xa0000000, 0x6c92: 0xa0000000, 0x6c93: 0xa0000000,\n\t0x6c94: 0xa0000000, 0x6c95: 0xa0000000, 0x6c96: 0xa0000000, 0x6c97: 0xa0000000,\n\t0x6c98: 0xa0000000, 0x6c99: 0xa0000000, 0x6c9a: 0xa0000000, 0x6c9b: 0xa0000000,\n\t0x6c9c: 0xa0000000, 0x6c9d: 0xa0000000, 0x6c9e: 0xa0000000, 0x6c9f: 0xa0000000,\n\t0x6ca0: 0xa0000000, 0x6ca1: 0xa0000000, 0x6ca2: 0xa0000000, 0x6ca3: 0xa0000000,\n\t0x6ca4: 0xa0000000, 0x6ca5: 0xa0000000, 0x6ca6: 0xa0000000, 0x6ca7: 0xa0000000,\n\t0x6ca8: 0xa0000000, 0x6ca9: 0xa0000000, 0x6caa: 0xa0000000, 0x6cab: 0xa0000000,\n\t0x6cac: 0xa0000000, 0x6cad: 0xa0000000, 0x6cae: 0xa0000000, 0x6caf: 0xa0000000,\n\t0x6cb0: 0xa0000000, 0x6cb1: 0xa0000000, 0x6cb2: 0xa0000000, 0x6cb3: 0xa0000000,\n\t0x6cb4: 0xa0000000, 0x6cb5: 0xa0000000, 0x6cb6: 0xa0000000, 0x6cb7: 0xa0000000,\n\t0x6cb8: 0xa0000000, 0x6cb9: 0xa0000000, 0x6cba: 0xa0000000, 0x6cbb: 0xa0000000,\n\t0x6cbc: 0xa0000000, 0x6cbd: 0xa0000000, 0x6cbe: 0xa0000000, 0x6cbf: 0xa0000000,\n\t// Block 0x1b3, offset 0x6cc0\n\t0x6cc0: 0xa0000000, 0x6cc1: 0xa0000000, 0x6cc2: 0xa0000000, 0x6cc3: 0xa0000000,\n\t0x6cc4: 0xa0000000, 0x6cc5: 0xa0000000, 0x6cc6: 0xa0000000, 0x6cc7: 0xa0000000,\n\t0x6cc8: 0xa0000000, 0x6cc9: 0xa0000000, 0x6cca: 0xa0000000, 0x6ccb: 0xa0000000,\n\t0x6ccc: 0xa0000000, 0x6ccd: 0xa0000000, 0x6cce: 0xa0000000, 0x6ccf: 0xa0000000,\n\t0x6cd0: 0xa0000000, 0x6cd1: 0xa0000000, 0x6cd2: 0xa0000000, 0x6cd3: 0xa0000000,\n\t0x6cd4: 0xa0000000, 0x6cd5: 0xa0000000, 0x6cd6: 0xa0000000, 0x6cd7: 0xa0000000,\n\t0x6cd8: 0xa0000000, 0x6cd9: 0xa0000000, 0x6cda: 0xa0000000, 0x6cdb: 0xa0000000,\n\t0x6cdc: 0xa0000000, 0x6cdd: 0xa0000000, 0x6cde: 0xa0000000, 0x6cdf: 0xa0000000,\n\t0x6ce0: 0xa0000000, 0x6ce1: 0xa0000000, 0x6ce2: 0xa0000000, 0x6ce3: 0xa0000000,\n\t0x6ce4: 0xa0000000, 0x6ce5: 0xa0000000, 0x6ce6: 0xa0000000, 0x6ce7: 0xa0000000,\n\t0x6ce8: 0xa0000000, 0x6ce9: 0xa0000000, 0x6cea: 0xa0000000, 0x6ceb: 0xa0000000,\n\t0x6cec: 0xa0000000, 0x6ced: 0xa0000000, 0x6cee: 0xa0000000, 0x6cef: 0xa0000000,\n\t// Block 0x1b4, offset 0x6d00\n\t0x6d00: 0xa0000000, 0x6d01: 0xa0000000, 0x6d02: 0xa0000000, 0x6d03: 0xa0000000,\n\t0x6d04: 0xa0000000, 0x6d05: 0xa0000000, 0x6d06: 0xa0000000, 0x6d07: 0xa0000000,\n\t0x6d08: 0xa0000000, 0x6d09: 0x40020020, 0x6d0a: 0x40020220, 0x6d0b: 0x40020420,\n\t0x6d0c: 0x40020620, 0x6d0d: 0x40020820, 0x6d0e: 0xa0000000, 0x6d0f: 0xa0000000,\n\t0x6d10: 0xa0000000, 0x6d11: 0xa0000000, 0x6d12: 0xa0000000, 0x6d13: 0xa0000000,\n\t0x6d14: 0xa0000000, 0x6d15: 0xa0000000, 0x6d16: 0xa0000000, 0x6d17: 0xa0000000,\n\t0x6d18: 0xa0000000, 0x6d19: 0xa0000000, 0x6d1a: 0xa0000000, 0x6d1b: 0xa0000000,\n\t0x6d1c: 0xa0000000, 0x6d1d: 0xa0000000, 0x6d1e: 0xa0000000, 0x6d1f: 0xa0000000,\n\t0x6d20: 0x40021220, 0x6d21: 0x4002ba20, 0x6d22: 0x4003e020, 0x6d23: 0x4004ea20,\n\t0x6d24: 0x4027de20, 0x6d25: 0x4004ec20, 0x6d26: 0x4004e620, 0x6d27: 0x4003d220,\n\t0x6d28: 0x4003f420, 0x6d29: 0x4003f620, 0x6d2a: 0x4004d820, 0x6d2b: 0x40093820,\n\t0x6d2c: 0x40024020, 0x6d2d: 0x40021a20, 0x6d2e: 0x4002e420, 0x6d2f: 0x4004e220,\n\t0x6d30: 0x4029cc20, 0x6d31: 0x4029ce20, 0x6d32: 0x4029d020, 0x6d33: 0x4029d220,\n\t0x6d34: 0x4029d420, 0x6d35: 0x4029d620, 0x6d36: 0x4029d820, 0x6d37: 0x4029da20,\n\t0x6d38: 0x4029dc20, 0x6d39: 0x4029de20, 0x6d3a: 0x40026c20, 0x6d3b: 0x40026220,\n\t0x6d3c: 0x40094020, 0x6d3d: 0x40094220, 0x6d3e: 0x40094420, 0x6d3f: 0x4002c420,\n\t// Block 0x1b5, offset 0x6d40\n\t0x6d40: 0x4004d620, 0x6d41: 0x002bde88, 0x6d42: 0x002c0a88, 0x6d43: 0x002c3a88,\n\t0x6d44: 0x002c6288, 0x6d45: 0x002c1083, 0x6d46: 0x002d0888, 0x6d47: 0x002d2288,\n\t0x6d48: 0x0030e483, 0x6d49: 0x002c4083, 0x6d4a: 0x002dcc88, 0x6d4b: 0x002c3c83,\n\t0x6d4c: 0xc0030002, 0x6d4d: 0x002e8288, 0x6d4e: 0x002e9e88, 0x6d4f: 0x002d2483,\n\t0x6d50: 0x002f2c88, 0x6d51: 0x002c6483, 0x6d52: 0x002c6683, 0x6d53: 0x002c0e83,\n\t0x6d54: 0x002c0c83, 0x6d55: 0x00306c88, 0x6d56: 0x0030be88, 0x6d57: 0x0030e288,\n\t0x6d58: 0x002c3e83, 0x6d59: 0x00310088, 0x6d5a: 0x00312a88, 0x6d5b: 0x4003f820,\n\t0x6d5c: 0x4004e420, 0x6d5d: 0x4003fa20, 0x6d5e: 0x40062420, 0x6d5f: 0x40021620,\n\t0x6d60: 0x40061e20, 0x6d61: 0x402bde20, 0x6d62: 0x402c0a20, 0x6d63: 0x402c3a20,\n\t0x6d64: 0x402c6220, 0x6d65: 0x402c1020, 0x6d66: 0x402d0820, 0x6d67: 0x402d2220,\n\t0x6d68: 0x4030e420, 0x6d69: 0x402c4020, 0x6d6a: 0x402dcc20, 0x6d6b: 0x402c3c20,\n\t0x6d6c: 0xc0000002, 0x6d6d: 0x402e8220, 0x6d6e: 0x402e9e20, 0x6d6f: 0x402d2420,\n\t0x6d70: 0x402f2c20, 0x6d71: 0x402c6420, 0x6d72: 0x402c6620, 0x6d73: 0x402c0e20,\n\t0x6d74: 0x402c0c20, 0x6d75: 0x40306c20, 0x6d76: 0x4030be20, 0x6d77: 0x4030e220,\n\t0x6d78: 0x402c3e20, 0x6d79: 0x40310020, 0x6d7a: 0x40312a20, 0x6d7b: 0x4003fc20,\n\t0x6d7c: 0x40094820, 0x6d7d: 0x4003fe20, 0x6d7e: 0x40094c20, 0x6d7f: 0xa0000000,\n\t// Block 0x1b6, offset 0x6d80\n\t0x6d80: 0xe00008f5, 0x6d81: 0xe00008ef, 0x6d82: 0xe0000921, 0x6d83: 0xe0000969,\n\t0x6d84: 0xe000095b, 0x6d85: 0xe000094d, 0x6d86: 0xe00009dd, 0x6d87: 0xe0000a53,\n\t0x6d88: 0xe000256e, 0x6d89: 0xe0002568, 0x6d8a: 0xe000257a, 0x6d8b: 0xe00025a6,\n\t0x6d8c: 0xe000263e, 0x6d8d: 0xe0002638, 0x6d8e: 0xe000264a, 0x6d8f: 0xe0002656,\n\t0x6d90: 0xe0000ab3, 0x6d91: 0xe0000d63, 0x6d92: 0xe00026db, 0x6d93: 0xe00026d5,\n\t0x6d94: 0xe00026e7, 0x6d95: 0xe0002727, 0x6d96: 0xe0002713, 0x6d97: 0x40093e20,\n\t0x6d98: 0xe0000e12, 0x6d99: 0xe0000fe1, 0x6d9a: 0xe0000fdb, 0x6d9b: 0xe0000fed,\n\t0x6d9c: 0xe0000fff, 0x6d9d: 0xe0001102, 0x6d9e: 0x00318888, 0x6d9f: 0xe0000f7b,\n\t0x6da0: 0xe00008f2, 0x6da1: 0xe00008ec, 0x6da2: 0xe000091e, 0x6da3: 0xe0000966,\n\t0x6da4: 0xe0000958, 0x6da5: 0xe000094a, 0x6da6: 0xe00009d5, 0x6da7: 0xe0000a4d,\n\t0x6da8: 0xe000256b, 0x6da9: 0xe0002565, 0x6daa: 0xe0002577, 0x6dab: 0xe00025a3,\n\t0x6dac: 0xe000263b, 0x6dad: 0xe0002635, 0x6dae: 0xe0002647, 0x6daf: 0xe0002653,\n\t0x6db0: 0xe0000aad, 0x6db1: 0xe0000d60, 0x6db2: 0xe00026d8, 0x6db3: 0xe00026d2,\n\t0x6db4: 0xe00026e4, 0x6db5: 0xe0002724, 0x6db6: 0xe0002710, 0x6db7: 0x40093c20,\n\t0x6db8: 0xe0000e0f, 0x6db9: 0xe0000fde, 0x6dba: 0xe0000fd8, 0x6dbb: 0xe0000fea,\n\t0x6dbc: 0xe0000ffc, 0x6dbd: 0xe00010ff, 0x6dbe: 0x40318820, 0x6dbf: 0xe0001114,\n\t// Block 0x1b7, offset 0x6dc0\n\t0x6dc0: 0xe0000983, 0x6dc1: 0xe0000980, 0x6dc2: 0xe00008fb, 0x6dc3: 0xe00008f8,\n\t0x6dc4: 0xe000097d, 0x6dc5: 0xe000097a, 0x6dc6: 0xe0000a38, 0x6dc7: 0xe0000a35,\n\t0x6dc8: 0xe0000a3e, 0x6dc9: 0xe0000a3b, 0x6dca: 0xe0000a4a, 0x6dcb: 0xe0000a47,\n\t0x6dcc: 0xe0000a44, 0x6dcd: 0xe0000a41, 0x6dce: 0xe0000a86, 0x6dcf: 0xe0000a83,\n\t0x6dd0: 0xe0000aaa, 0x6dd1: 0xe0000aa7, 0x6dd2: 0xe00025cc, 0x6dd3: 0xe00025c9,\n\t0x6dd4: 0xe0002574, 0x6dd5: 0xe0002571, 0x6dd6: 0xe00025b2, 0x6dd7: 0xe00025af,\n\t0x6dd8: 0xe00025c6, 0x6dd9: 0xe00025c3, 0x6dda: 0xe00025a0, 0x6ddb: 0xe000259d,\n\t0x6ddc: 0xe0000bb8, 0x6ddd: 0xe0000bb5, 0x6dde: 0xe0000bb2, 0x6ddf: 0xe0000baf,\n\t0x6de0: 0xe0000bc4, 0x6de1: 0xe0000bc1, 0x6de2: 0xe0000bca, 0x6de3: 0xe0000bc7,\n\t0x6de4: 0xe0002856, 0x6de5: 0xe0002853, 0x6de6: 0xe0000c1b, 0x6de7: 0xe0000c18,\n\t0x6de8: 0xe0002664, 0x6de9: 0xe0002661, 0x6dea: 0xe0002673, 0x6deb: 0xe0002670,\n\t0x6dec: 0xe0002644, 0x6ded: 0xe0002641, 0x6dee: 0xe000266d, 0x6def: 0xe000266a,\n\t0x6df0: 0xe0002667, 0x6df1: 0x402da220, 0x6df2: 0xe00027e2, 0x6df3: 0xe00027df,\n\t0x6df4: 0xe0000c8a, 0x6df5: 0xe0000c87, 0x6df6: 0xe000261a, 0x6df7: 0xe0002617,\n\t0x6df8: 0x402f7220, 0x6df9: 0xe0000ccc, 0x6dfa: 0xe0000cc9, 0x6dfb: 0xe0000cd8,\n\t0x6dfc: 0xe0000cd5, 0x6dfd: 0xe0000cd2, 0x6dfe: 0xe0000ccf, 0x6dff: 0xe0000d04,\n\t// Block 0x1b8, offset 0x6e00\n\t0x6e00: 0xe0000cfe, 0x6e01: 0xe0000cf8, 0x6e02: 0xe0000cf5, 0x6e03: 0xe0000d51,\n\t0x6e04: 0xe0000d4e, 0x6e05: 0xe0000d6f, 0x6e06: 0xe0000d6c, 0x6e07: 0xe0000d5d,\n\t0x6e08: 0xe0000d5a, 0x6e09: 0xf0000404, 0x6e0a: 0x002eda88, 0x6e0b: 0x402eda20,\n\t0x6e0c: 0xe0002761, 0x6e0d: 0xe000275e, 0x6e0e: 0xe00026e1, 0x6e0f: 0xe00026de,\n\t0x6e10: 0xe0002721, 0x6e11: 0xe000271e, 0x6e12: 0xe0000e93, 0x6e13: 0xe0000e8f,\n\t0x6e14: 0xe0002697, 0x6e15: 0xe0002694, 0x6e16: 0xe00026a9, 0x6e17: 0xe00026a6,\n\t0x6e18: 0xe000269d, 0x6e19: 0xe000269a, 0x6e1a: 0xe0002526, 0x6e1b: 0xe0002523,\n\t0x6e1c: 0xe0002534, 0x6e1d: 0xe0002531, 0x6e1e: 0xe000254e, 0x6e1f: 0xe000254b,\n\t0x6e20: 0xe000253a, 0x6e21: 0xe0002537, 0x6e22: 0xe0002508, 0x6e23: 0xe0002505,\n\t0x6e24: 0xe00024f9, 0x6e25: 0xe00024f6, 0x6e26: 0x00303688, 0x6e27: 0x40303620,\n\t0x6e28: 0xe000102b, 0x6e29: 0xe0001028, 0x6e2a: 0xe000103f, 0x6e2b: 0xe000103c,\n\t0x6e2c: 0xe0000fe7, 0x6e2d: 0xe0000fe4, 0x6e2e: 0xe0000ff9, 0x6e2f: 0xe0000ff6,\n\t0x6e30: 0xe0001025, 0x6e31: 0xe0001022, 0x6e32: 0xe0001039, 0x6e33: 0xe0001036,\n\t0x6e34: 0xe00010d8, 0x6e35: 0xe00010d5, 0x6e36: 0xe000110e, 0x6e37: 0xe000110b,\n\t0x6e38: 0xe0001117, 0x6e39: 0xe000113b, 0x6e3a: 0xe0001138, 0x6e3b: 0xe000114d,\n\t0x6e3c: 0xe000114a, 0x6e3d: 0xe0001147, 0x6e3e: 0xe0001144, 0x6e3f: 0xe0000f64,\n\t// Block 0x1b9, offset 0x6e40\n\t0x6e40: 0x402c1a20, 0x6e41: 0x002c2a88, 0x6e42: 0x002c3288, 0x6e43: 0x402c3220,\n\t0x6e44: 0x0031c488, 0x6e45: 0x4031c420, 0x6e46: 0x002efa88, 0x6e47: 0x002c4e88,\n\t0x6e48: 0x402c4e20, 0x6e49: 0x002c7288, 0x6e4a: 0x002c7a88, 0x6e4b: 0x002c8488,\n\t0x6e4c: 0x402c8420, 0x6e4d: 0xe000115c, 0x6e4e: 0x002cae88, 0x6e4f: 0x002cb888,\n\t0x6e50: 0x002cc288, 0x6e51: 0x002d1688, 0x6e52: 0x402d1620, 0x6e53: 0x002d4488,\n\t0x6e54: 0x002d5888, 0x6e55: 0x402d7820, 0x6e56: 0x002dc288, 0x6e57: 0x002db688,\n\t0x6e58: 0x002e0a88, 0x6e59: 0x402e0a20, 0x6e5a: 0x402e3820, 0x6e5b: 0x402e7220,\n\t0x6e5c: 0x0030a088, 0x6e5d: 0x002eb488, 0x6e5e: 0x402ebc20, 0x6e5f: 0x002f1088,\n\t0x6e60: 0xe0002789, 0x6e61: 0xe0002786, 0x6e62: 0x002d6088, 0x6e63: 0x402d6020,\n\t0x6e64: 0x002f3e88, 0x6e65: 0x402f3e20, 0x6e66: 0x002f8288, 0x6e67: 0x0031b488,\n\t0x6e68: 0x4031b420, 0x6e69: 0x00300888, 0x6e6a: 0x40301220, 0x6e6b: 0x40304220,\n\t0x6e6c: 0x00304a88, 0x6e6d: 0x40304a20, 0x6e6e: 0x00305288, 0x6e6f: 0xe000105f,\n\t0x6e70: 0xe000105c, 0x6e71: 0x0030b488, 0x6e72: 0x0030cc88, 0x6e73: 0x00311888,\n\t0x6e74: 0x40311820, 0x6e75: 0x00313488, 0x6e76: 0x40313420, 0x6e77: 0x00316488,\n\t0x6e78: 0x00316e88, 0x6e79: 0x40316e20, 0x6e7a: 0x40317820, 0x6e7b: 0x4031a620,\n\t0x6e7c: 0x0031bc88, 0x6e7d: 0x4031bc20, 0x6e7e: 0xe0000fc9, 0x6e7f: 0x40319420,\n\t// Block 0x1ba, offset 0x6e80\n\t0x6e80: 0x40321220, 0x6e81: 0x40321a20, 0x6e82: 0x40322220, 0x6e83: 0x40322a20,\n\t0x6e84: 0xe0000ad5, 0x6e85: 0xe0000ad1, 0x6e86: 0xe0000acd, 0x6e87: 0xf0000a0a,\n\t0x6e88: 0xf000040a, 0x6e89: 0xf0000404, 0x6e8a: 0xf0000a0a, 0x6e8b: 0xf000040a,\n\t0x6e8c: 0xf0000404, 0x6e8d: 0xe0000947, 0x6e8e: 0xe0000944, 0x6e8f: 0xe0002650,\n\t0x6e90: 0xe000264d, 0x6e91: 0xe000270d, 0x6e92: 0xe000270a, 0x6e93: 0xe0000ff3,\n\t0x6e94: 0xe0000ff0, 0x6e95: 0xe000101e, 0x6e96: 0xe000101a, 0x6e97: 0xe0001006,\n\t0x6e98: 0xe0001002, 0x6e99: 0xe0001016, 0x6e9a: 0xe0001012, 0x6e9b: 0xe000100e,\n\t0x6e9c: 0xe000100a, 0x6e9d: 0x402cae20, 0x6e9e: 0xe0000962, 0x6e9f: 0xe000095e,\n\t0x6ea0: 0xe0000976, 0x6ea1: 0xe0000972, 0x6ea2: 0xe00009f4, 0x6ea3: 0xe00009ef,\n\t0x6ea4: 0x002d3a88, 0x6ea5: 0x402d3a20, 0x6ea6: 0xe0000bbe, 0x6ea7: 0xe0000bbb,\n\t0x6ea8: 0xe0002614, 0x6ea9: 0xe0002611, 0x6eaa: 0xe0002753, 0x6eab: 0xe0002750,\n\t0x6eac: 0xe000275a, 0x6ead: 0xe0002756, 0x6eae: 0xe0001162, 0x6eaf: 0xe000115f,\n\t0x6eb0: 0xe0000c8d, 0x6eb1: 0xf0000a0a, 0x6eb2: 0xf000040a, 0x6eb3: 0xf0000404,\n\t0x6eb4: 0xe0000bac, 0x6eb5: 0xe0000ba9, 0x6eb6: 0x002d7888, 0x6eb7: 0x00319488,\n\t0x6eb8: 0xe0000d57, 0x6eb9: 0xe0000d54, 0x6eba: 0xe0000954, 0x6ebb: 0xe0000950,\n\t0x6ebc: 0xe00009ea, 0x6ebd: 0xe00009e5, 0x6ebe: 0xe0000e19, 0x6ebf: 0xe0000e15,\n\t// Block 0x1bb, offset 0x6ec0\n\t0x6ec0: 0xe000098f, 0x6ec1: 0xe000098c, 0x6ec2: 0xe0000995, 0x6ec3: 0xe0000992,\n\t0x6ec4: 0xe00025e8, 0x6ec5: 0xe00025e5, 0x6ec6: 0xe00025ee, 0x6ec7: 0xe00025eb,\n\t0x6ec8: 0xe000267f, 0x6ec9: 0xe000267c, 0x6eca: 0xe0002685, 0x6ecb: 0xe0002682,\n\t0x6ecc: 0xe000277d, 0x6ecd: 0xe000277a, 0x6ece: 0xe0002783, 0x6ecf: 0xe0002780,\n\t0x6ed0: 0xe00026af, 0x6ed1: 0xe00026ac, 0x6ed2: 0xe00026b5, 0x6ed3: 0xe00026b2,\n\t0x6ed4: 0xe0001053, 0x6ed5: 0xe0001050, 0x6ed6: 0xe0001059, 0x6ed7: 0xe0001056,\n\t0x6ed8: 0xe0002562, 0x6ed9: 0xe000255f, 0x6eda: 0xe0002514, 0x6edb: 0xe0002511,\n\t0x6edc: 0x00312288, 0x6edd: 0x40312220, 0x6ede: 0xe000285c, 0x6edf: 0xe0002859,\n\t0x6ee0: 0x002ebc88, 0x6ee1: 0x402c8c20, 0x6ee2: 0x002f2288, 0x6ee3: 0x402f2220,\n\t0x6ee4: 0x00314088, 0x6ee5: 0x40314020, 0x6ee6: 0xe000096f, 0x6ee7: 0xe000096c,\n\t0x6ee8: 0xe00025b8, 0x6ee9: 0xe00025b5, 0x6eea: 0xe000271a, 0x6eeb: 0xe0002716,\n\t0x6eec: 0xe000273e, 0x6eed: 0xe000273a, 0x6eee: 0xe0002745, 0x6eef: 0xe0002742,\n\t0x6ef0: 0xe000274c, 0x6ef1: 0xe0002748, 0x6ef2: 0xe0001129, 0x6ef3: 0xe0001126,\n\t0x6ef4: 0x402e5e20, 0x6ef5: 0x402ed020, 0x6ef6: 0x40305a20, 0x6ef7: 0x402dd420,\n\t0x6ef8: 0xe0000abf, 0x6ef9: 0xe0000ec4, 0x6efa: 0x002be888, 0x6efb: 0x002c4488,\n\t0x6efc: 0x402c4420, 0x6efd: 0x002e3888, 0x6efe: 0x00303e88, 0x6eff: 0x402ffc20,\n\t// Block 0x1bc, offset 0x6f00\n\t0x6f00: 0xe00009b1, 0x6f01: 0xe00009ae, 0x6f02: 0xe0000a22, 0x6f03: 0xe0000a1f,\n\t0x6f04: 0xe0000a28, 0x6f05: 0xe0000a25, 0x6f06: 0xe0000a2e, 0x6f07: 0xe0000a2b,\n\t0x6f08: 0xe0000a5a, 0x6f09: 0xe0000a56, 0x6f0a: 0xe0000a8c, 0x6f0b: 0xe0000a89,\n\t0x6f0c: 0xe0000a98, 0x6f0d: 0xe0000a95, 0x6f0e: 0xe0000aa4, 0x6f0f: 0xe0000aa1,\n\t0x6f10: 0xe0000a92, 0x6f11: 0xe0000a8f, 0x6f12: 0xe0000a9e, 0x6f13: 0xe0000a9b,\n\t0x6f14: 0xe00025db, 0x6f15: 0xe00025d7, 0x6f16: 0xe00025d3, 0x6f17: 0xe00025cf,\n\t0x6f18: 0xe0002602, 0x6f19: 0xe00025ff, 0x6f1a: 0xe0002608, 0x6f1b: 0xe0002605,\n\t0x6f1c: 0xe00025bf, 0x6f1d: 0xe00025bb, 0x6f1e: 0xe0000b8c, 0x6f1f: 0xe0000b89,\n\t0x6f20: 0xe0000bd0, 0x6f21: 0xe0000bcd, 0x6f22: 0xe0002868, 0x6f23: 0xe0002865,\n\t0x6f24: 0xe0002874, 0x6f25: 0xe0002871, 0x6f26: 0xe0002862, 0x6f27: 0xe000285f,\n\t0x6f28: 0xe000286e, 0x6f29: 0xe000286b, 0x6f2a: 0xe000287a, 0x6f2b: 0xe0002877,\n\t0x6f2c: 0xe0002691, 0x6f2d: 0xe000268e, 0x6f2e: 0xe000265d, 0x6f2f: 0xe0002659,\n\t0x6f30: 0xe000260e, 0x6f31: 0xe000260b, 0x6f32: 0xe0002620, 0x6f33: 0xe000261d,\n\t0x6f34: 0xe0002626, 0x6f35: 0xe0002623, 0x6f36: 0xe0000cde, 0x6f37: 0xe0000cdb,\n\t0x6f38: 0xe0000ce5, 0x6f39: 0xe0000ce1, 0x6f3a: 0xe0000cf2, 0x6f3b: 0xe0000cef,\n\t0x6f3c: 0xe0000cec, 0x6f3d: 0xe0000ce9, 0x6f3e: 0xe0000d1e, 0x6f3f: 0xe0000d1b,\n\t// Block 0x1bd, offset 0x6f40\n\t0x6f40: 0xe0000d24, 0x6f41: 0xe0000d21, 0x6f42: 0xe0000d2a, 0x6f43: 0xe0000d27,\n\t0x6f44: 0xe0000d69, 0x6f45: 0xe0000d66, 0x6f46: 0xe0000d7b, 0x6f47: 0xe0000d78,\n\t0x6f48: 0xe0000d87, 0x6f49: 0xe0000d84, 0x6f4a: 0xe0000d81, 0x6f4b: 0xe0000d7e,\n\t0x6f4c: 0xe000272e, 0x6f4d: 0xe000272a, 0x6f4e: 0xe0002736, 0x6f4f: 0xe0002732,\n\t0x6f50: 0xe0002770, 0x6f51: 0xe000276c, 0x6f52: 0xe0002768, 0x6f53: 0xe0002764,\n\t0x6f54: 0xe0000ea7, 0x6f55: 0xe0000ea4, 0x6f56: 0xe0000ead, 0x6f57: 0xe0000eaa,\n\t0x6f58: 0xe00026a3, 0x6f59: 0xe00026a0, 0x6f5a: 0xe00026bb, 0x6f5b: 0xe00026b8,\n\t0x6f5c: 0xe00026c2, 0x6f5d: 0xe00026be, 0x6f5e: 0xe00026c9, 0x6f5f: 0xe00026c6,\n\t0x6f60: 0xe0002548, 0x6f61: 0xe0002545, 0x6f62: 0xe0002554, 0x6f63: 0xe0002551,\n\t0x6f64: 0xe000252d, 0x6f65: 0xe0002529, 0x6f66: 0xe0002541, 0x6f67: 0xe000253d,\n\t0x6f68: 0xe000255b, 0x6f69: 0xe0002557, 0x6f6a: 0xe0002502, 0x6f6b: 0xe00024ff,\n\t0x6f6c: 0xe000250e, 0x6f6d: 0xe000250b, 0x6f6e: 0xe0002520, 0x6f6f: 0xe000251d,\n\t0x6f70: 0xe000251a, 0x6f71: 0xe0002517, 0x6f72: 0xe0001093, 0x6f73: 0xe0001090,\n\t0x6f74: 0xe000109f, 0x6f75: 0xe000109c, 0x6f76: 0xe0001099, 0x6f77: 0xe0001096,\n\t0x6f78: 0xe0001032, 0x6f79: 0xe000102e, 0x6f7a: 0xe0001046, 0x6f7b: 0xe0001042,\n\t0x6f7c: 0xe00010a9, 0x6f7d: 0xe00010a6, 0x6f7e: 0xe00010af, 0x6f7f: 0xe00010ac,\n\t// Block 0x1be, offset 0x6f80\n\t0x6f80: 0xe00010d2, 0x6f81: 0xe00010cf, 0x6f82: 0xe00010cc, 0x6f83: 0xe00010c9,\n\t0x6f84: 0xe00010e1, 0x6f85: 0xe00010de, 0x6f86: 0xe00010e7, 0x6f87: 0xe00010e4,\n\t0x6f88: 0xe00010ed, 0x6f89: 0xe00010ea, 0x6f8a: 0xe0002632, 0x6f8b: 0xe000262f,\n\t0x6f8c: 0xe000262c, 0x6f8d: 0xe0002629, 0x6f8e: 0xe0001123, 0x6f8f: 0xe0001120,\n\t0x6f90: 0xe0001141, 0x6f91: 0xe000113e, 0x6f92: 0xe0001153, 0x6f93: 0xe0001150,\n\t0x6f94: 0xe0001159, 0x6f95: 0xe0001156, 0x6f96: 0xe000287d, 0x6f97: 0xe00024fc,\n\t0x6f98: 0xe00010db, 0x6f99: 0xe0001111, 0x6f9a: 0xf0000404, 0x6f9b: 0xe0000f70,\n\t0x6f9c: 0x40300420, 0x6f9d: 0x40300620, 0x6f9e: 0xe0000f7f, 0x6f9f: 0x402c9620,\n\t0x6fa0: 0xe000099b, 0x6fa1: 0xe0000998, 0x6fa2: 0xe0000989, 0x6fa3: 0xe0000986,\n\t0x6fa4: 0xe0000928, 0x6fa5: 0xe0000924, 0x6fa6: 0xe0000930, 0x6fa7: 0xe000092c,\n\t0x6fa8: 0xe0000940, 0x6fa9: 0xe000093c, 0x6faa: 0xe0000938, 0x6fab: 0xe0000934,\n\t0x6fac: 0xe00009aa, 0x6fad: 0xe00009a6, 0x6fae: 0xe0000902, 0x6faf: 0xe00008fe,\n\t0x6fb0: 0xe000090a, 0x6fb1: 0xe0000906, 0x6fb2: 0xe000091a, 0x6fb3: 0xe0000916,\n\t0x6fb4: 0xe0000912, 0x6fb5: 0xe000090e, 0x6fb6: 0xe00009a2, 0x6fb7: 0xe000099e,\n\t0x6fb8: 0xe00025f4, 0x6fb9: 0xe00025f1, 0x6fba: 0xe00025e2, 0x6fbb: 0xe00025df,\n\t0x6fbc: 0xe00025ac, 0x6fbd: 0xe00025a9, 0x6fbe: 0xe0002581, 0x6fbf: 0xe000257d,\n\t// Block 0x1bf, offset 0x6fc0\n\t0x6fc0: 0xe0002589, 0x6fc1: 0xe0002585, 0x6fc2: 0xe0002599, 0x6fc3: 0xe0002595,\n\t0x6fc4: 0xe0002591, 0x6fc5: 0xe000258d, 0x6fc6: 0xe00025fb, 0x6fc7: 0xe00025f7,\n\t0x6fc8: 0xe0002679, 0x6fc9: 0xe0002676, 0x6fca: 0xe000268b, 0x6fcb: 0xe0002688,\n\t0x6fcc: 0xe00027b7, 0x6fcd: 0xe00027b4, 0x6fce: 0xe0002777, 0x6fcf: 0xe0002774,\n\t0x6fd0: 0xe00026ee, 0x6fd1: 0xe00026ea, 0x6fd2: 0xe00026f6, 0x6fd3: 0xe00026f2,\n\t0x6fd4: 0xe0002706, 0x6fd5: 0xe0002702, 0x6fd6: 0xe00026fe, 0x6fd7: 0xe00026fa,\n\t0x6fd8: 0xe00027be, 0x6fd9: 0xe00027ba, 0x6fda: 0xe0002790, 0x6fdb: 0xe000278c,\n\t0x6fdc: 0xe0002798, 0x6fdd: 0xe0002794, 0x6fde: 0xe00027a8, 0x6fdf: 0xe00027a4,\n\t0x6fe0: 0xe00027a0, 0x6fe1: 0xe000279c, 0x6fe2: 0xe00027b0, 0x6fe3: 0xe00027ac,\n\t0x6fe4: 0xe000108d, 0x6fe5: 0xe000108a, 0x6fe6: 0xe000104d, 0x6fe7: 0xe000104a,\n\t0x6fe8: 0xe0001066, 0x6fe9: 0xe0001062, 0x6fea: 0xe000106e, 0x6feb: 0xe000106a,\n\t0x6fec: 0xe000107e, 0x6fed: 0xe000107a, 0x6fee: 0xe0001076, 0x6fef: 0xe0001072,\n\t0x6ff0: 0xe0001086, 0x6ff1: 0xe0001082, 0x6ff2: 0xe0001108, 0x6ff3: 0xe0001105,\n\t0x6ff4: 0xe0001135, 0x6ff5: 0xe0001132, 0x6ff6: 0xe000112f, 0x6ff7: 0xe000112c,\n\t0x6ff8: 0xe000111d, 0x6ff9: 0xe000111a, 0x6ffa: 0xe0000d0a, 0x6ffb: 0xe0000d07,\n\t0x6ffc: 0x0030d888, 0x6ffd: 0x4030d820, 0x6ffe: 0x00312088, 0x6fff: 0x40312020,\n\t// Block 0x1c0, offset 0x7000\n\t0x7000: 0xe00009bc, 0x7001: 0xe00009c0, 0x7002: 0x002c3a8b, 0x7003: 0xf0000a04,\n\t0x7004: 0x40081c20, 0x7005: 0xe0000a5e, 0x7006: 0xe0000a62, 0x7007: 0x002cc28a,\n\t0x7008: 0x40081e20, 0x7009: 0xf0000a04, 0x700a: 0x002d2285, 0x700b: 0x002d688b,\n\t0x700c: 0x002d688b, 0x700d: 0x002d688b, 0x700e: 0x002d6885, 0x700f: 0xf0000202,\n\t0x7010: 0x002d9a8b, 0x7011: 0x002d9a8b, 0x7012: 0x002e228b, 0x7013: 0x002e2285,\n\t0x7014: 0x40082020, 0x7015: 0x002e9e8b, 0x7016: 0xe000281e, 0x7017: 0x40082220,\n\t0x7018: 0x40082420, 0x7019: 0x002f2c8b, 0x701a: 0x002f568b, 0x701b: 0x002f7a8b,\n\t0x701c: 0x002f7a8b, 0x701d: 0x002f7a8b, 0x701e: 0x40082620, 0x701f: 0x40082820,\n\t0x7020: 0xe0002833, 0x7021: 0xe0000fbd, 0x7022: 0xe0002842, 0x7023: 0x40082a20,\n\t0x7024: 0x00312a8b, 0x7025: 0x40082c20, 0x7026: 0x0032a288, 0x7027: 0x40082e20,\n\t0x7028: 0x00312a8b, 0x7029: 0x40083020, 0x702a: 0x002c3c83, 0x702b: 0xe000094d,\n\t0x702c: 0x002c0a8b, 0x702d: 0x002c3a8b, 0x702e: 0x40083220, 0x702f: 0x002c9885,\n\t0x7030: 0x002c988b, 0x7031: 0x002d088b, 0x7032: 0x002d1e88, 0x7033: 0x002e828b,\n\t0x7034: 0x002ee285, 0x7035: 0x00389084, 0x7036: 0x00389284, 0x7037: 0x00389484,\n\t0x7038: 0x00389684, 0x7039: 0x002d9a85, 0x703a: 0x40083420, 0x703b: 0xe0000b95,\n\t0x703c: 0x00327e85, 0x703d: 0x00325685, 0x703e: 0x0032568b, 0x703f: 0x00327e8b,\n\t// Block 0x1c1, offset 0x7040\n\t0x7040: 0x00093685, 0x7041: 0x40083620, 0x7042: 0x40083820, 0x7043: 0x40083a20,\n\t0x7044: 0x40083c20, 0x7045: 0x002c628b, 0x7046: 0x002c6285, 0x7047: 0x002c9885,\n\t0x7048: 0x002d9a85, 0x7049: 0x002dcc85, 0x704a: 0x40083e20, 0x704b: 0x400a6e20,\n\t0x704c: 0x40084020, 0x704d: 0xe00009c4, 0x704e: 0x402d1e20, 0x704f: 0x40084220,\n\t0x7050: 0xe00002cb, 0x7051: 0xe00002d3, 0x7052: 0xe00002b2, 0x7053: 0xe00002bb,\n\t0x7054: 0xe00003cd, 0x7055: 0xe00002c3, 0x7056: 0xe00003d1, 0x7057: 0xe00004ab,\n\t0x7058: 0xe0000579, 0x7059: 0xe00002c7, 0x705a: 0xe0000640, 0x705b: 0xe00002cf,\n\t0x705c: 0xe00004af, 0x705d: 0xe0000644, 0x705e: 0xe0000798, 0x705f: 0xf0001e1e,\n\t0x7060: 0x002d9a8a, 0x7061: 0xe00027d4, 0x7062: 0xe00027db, 0x7063: 0xe00027ee,\n\t0x7064: 0x0030be8a, 0x7065: 0xe0002848, 0x7066: 0xe000284f, 0x7067: 0xe00010bb,\n\t0x7068: 0xe00027f4, 0x7069: 0x0030f68a, 0x706a: 0xe0002883, 0x706b: 0xe000288a,\n\t0x706c: 0x002e228a, 0x706d: 0x002c3a8a, 0x706e: 0x002c628a, 0x706f: 0x002e828a,\n\t0x7070: 0x002d9a84, 0x7071: 0xe00027d1, 0x7072: 0xe00027d7, 0x7073: 0xe00027eb,\n\t0x7074: 0x0030be84, 0x7075: 0xe0002845, 0x7076: 0xe000284b, 0x7077: 0xe00010b6,\n\t0x7078: 0xe00027f1, 0x7079: 0x0030f684, 0x707a: 0xe0002880, 0x707b: 0xe0002886,\n\t0x707c: 0x002e2284, 0x707d: 0x002c3a84, 0x707e: 0x002c6284, 0x707f: 0x002e8284,\n\t// Block 0x1c2, offset 0x7080\n\t0x7080: 0xe0000024, 0x7081: 0xe0000029, 0x7082: 0xe000002e, 0x7083: 0xe0000033,\n\t0x7084: 0xe0000038, 0x7085: 0xe000003d, 0x7086: 0xe0000042, 0x7087: 0xe0000047,\n\t0x7088: 0xf0001f04, 0x7089: 0xf0001f04, 0x708a: 0xf0001f04, 0x708b: 0xf0001f04,\n\t0x708c: 0xf0001f04, 0x708d: 0xf0001f04, 0x708e: 0xf0001f04, 0x708f: 0xf0001f04,\n\t0x7090: 0xf0001f04, 0x7091: 0xf0000404, 0x7092: 0xf0000404, 0x7093: 0xf0000404,\n\t0x7094: 0xf0000404, 0x7095: 0xf0000404, 0x7096: 0xf0000404, 0x7097: 0xf0000404,\n\t0x7098: 0xf0000404, 0x7099: 0xf0000404, 0x709a: 0xf0000404, 0x709b: 0xf0000404,\n\t0x709c: 0xf0000404, 0x709d: 0xf0000404, 0x709e: 0xf0000404, 0x709f: 0xf0000404,\n\t0x70a0: 0xe000249f, 0x70a1: 0xf0000404, 0x70a2: 0xf0000404, 0x70a3: 0xe00024a7,\n\t0x70a4: 0xe00024af, 0x70a5: 0xf0000404, 0x70a6: 0xe00024b7, 0x70a7: 0xf0000404,\n\t0x70a8: 0xf0000404, 0x70a9: 0xf0000404, 0x70aa: 0xe00024bf, 0x70ab: 0xf0000404,\n\t0x70ac: 0xe00024c7, 0x70ad: 0xe00024cf, 0x70ae: 0xe00024d7, 0x70af: 0xe00024df,\n\t0x70b0: 0xf0000404, 0x70b1: 0xf0000404, 0x70b2: 0xf0000404, 0x70b3: 0xe00024e7,\n\t0x70b4: 0xf0000404, 0x70b5: 0xf0000404, 0x70b6: 0x002bde8c, 0x70b7: 0x002c0a8c,\n\t0x70b8: 0x002c3a8c, 0x70b9: 0x002c628c, 0x70ba: 0x002c988c, 0x70bb: 0x002d088c,\n\t0x70bc: 0x002d228c, 0x70bd: 0x002d688c, 0x70be: 0x002d9a8c, 0x70bf: 0x002dcc8c,\n\t// Block 0x1c3, offset 0x70c0\n\t0x70c0: 0xf0001f04, 0x70c1: 0xf0001f04, 0x70c2: 0xf0001f04, 0x70c3: 0xf0001f04,\n\t0x70c4: 0xf0001f04, 0x70c5: 0xf0001f04, 0x70c6: 0xf0001f04, 0x70c7: 0xf0001f04,\n\t0x70c8: 0xf0001f04, 0x70c9: 0xf0000404, 0x70ca: 0xf0000404, 0x70cb: 0xf0000404,\n\t0x70cc: 0xe00027c5, 0x70cd: 0xe0000b85, 0x70ce: 0xe00026cc, 0x70cf: 0xe0000d14,\n\t0x70d0: 0x00657693, 0x70d1: 0x00657893, 0x70d2: 0x00657a93, 0x70d3: 0x00657e93,\n\t0x70d4: 0x00658093, 0x70d5: 0x00658293, 0x70d6: 0x00658493, 0x70d7: 0x00658693,\n\t0x70d8: 0x00658893, 0x70d9: 0x00658a93, 0x70da: 0x00658c93, 0x70db: 0x00658e93,\n\t0x70dc: 0x00659093, 0x70dd: 0x00659293, 0x70de: 0x00659493, 0x70df: 0x00659693,\n\t0x70e0: 0x00659893, 0x70e1: 0x00659a93, 0x70e2: 0x00659c93, 0x70e3: 0x00659e93,\n\t0x70e4: 0x0065a093, 0x70e5: 0x0065a293, 0x70e6: 0x0065a493, 0x70e7: 0x0065a693,\n\t0x70e8: 0x0065a893, 0x70e9: 0x0065aa93, 0x70ea: 0x0065ac93, 0x70eb: 0x0065ae93,\n\t0x70ec: 0x0065b093, 0x70ed: 0x0065b293, 0x70ee: 0x0065b493, 0x70ef: 0x0065b693,\n\t0x70f0: 0x0065b893, 0x70f1: 0x0065ba93, 0x70f2: 0x0065bc93, 0x70f3: 0x0065be93,\n\t0x70f4: 0x0065c093, 0x70f5: 0x0065c493, 0x70f6: 0x0065c693, 0x70f7: 0x0065c893,\n\t0x70f8: 0x0065ca93, 0x70f9: 0x0065cc93, 0x70fa: 0x0065ce93, 0x70fb: 0x0065d093,\n\t0x70fc: 0x0065d293, 0x70fd: 0x0065d493, 0x70fe: 0x0065d693,\n\t// Block 0x1c4, offset 0x7100\n\t0x7100: 0xe000230b, 0x7101: 0xe00022f8, 0x7102: 0xe00022fc, 0x7103: 0xe0002311,\n\t0x7104: 0xe0002316, 0x7105: 0xe000231d, 0x7106: 0xe0002321, 0x7107: 0xe0002325,\n\t0x7108: 0xe000232b, 0x7109: 0xf0001c1c, 0x710a: 0xe0002330, 0x710b: 0xe000233c,\n\t0x710c: 0xe0002340, 0x710d: 0xe0002337, 0x710e: 0xe0002346, 0x710f: 0xe000234b,\n\t0x7110: 0xe000234f, 0x7111: 0xe0002353, 0x7112: 0xf0001c1c, 0x7113: 0xe000235e,\n\t0x7114: 0xe0002358, 0x7115: 0xf0001c1c, 0x7116: 0xe0002363, 0x7117: 0xe000236d,\n\t0x7118: 0xf0001f04, 0x7119: 0xf0001f04, 0x711a: 0xf0001f04, 0x711b: 0xf0001f04,\n\t0x711c: 0xf0001f04, 0x711d: 0xf0001f04, 0x711e: 0xf0001f04, 0x711f: 0xf0001f04,\n\t0x7120: 0xf0001f04, 0x7121: 0xf0001f04, 0x7122: 0xf0000404, 0x7123: 0xf0000404,\n\t0x7124: 0xf0000404, 0x7125: 0xf0000404, 0x7126: 0xf0000404, 0x7127: 0xf0000404,\n\t0x7128: 0xf0000404, 0x7129: 0xf0000404, 0x712a: 0xf0000404, 0x712b: 0xf0000404,\n\t0x712c: 0xf0000404, 0x712d: 0xf0000404, 0x712e: 0xf0000404, 0x712f: 0xf0000404,\n\t0x7130: 0xf0000404, 0x7131: 0xe0000c1e, 0x7132: 0xf0001c1c, 0x7133: 0xf0001d1d,\n\t0x7134: 0xe0000a31, 0x7135: 0xe0002824, 0x7136: 0xf0001c1c, 0x7137: 0xf0001c1c,\n\t0x7138: 0xe0000ac2, 0x7139: 0xe0000ac6, 0x713a: 0xe00027e8, 0x713b: 0xf0001c1c,\n\t0x713c: 0xf0001c1c, 0x713d: 0xf0001c1c, 0x713e: 0xf0001c1c, 0x713f: 0xe0002431,\n\t// Block 0x1c5, offset 0x7140\n\t0x7140: 0xf0001d1c, 0x7141: 0xf0001d1c, 0x7142: 0xf0001d1c, 0x7143: 0xf0001d1c,\n\t0x7144: 0xe00027f7, 0x7145: 0xe00027fa, 0x7146: 0xf0001d1d, 0x7147: 0xf0001d1d,\n\t0x7148: 0xe0000a6b, 0x7149: 0xe0000cb4, 0x714a: 0xf0001d1c, 0x714b: 0xf0001d1c,\n\t0x714c: 0xf0001d1c, 0x714d: 0xf0001c1c, 0x714e: 0xf0001c1c, 0x714f: 0xe00027fd,\n\t0x7150: 0xe00027ce, 0x7151: 0xe0000cb9, 0x7152: 0xe0000d36, 0x7153: 0xe0000be3,\n\t0x7154: 0xe0000fc5, 0x7155: 0xf0001c1c, 0x7156: 0xf0001c1c, 0x7157: 0xf0001c1c,\n\t0x7158: 0xe0002803, 0x7159: 0xf0001c1c, 0x715a: 0xf0001c1c, 0x715b: 0xf0001c1c,\n\t0x715c: 0xf0001c1c, 0x715d: 0xf0001c1c, 0x715e: 0xe0002806, 0x715f: 0xe0000d3e,\n\t0x7160: 0xe0000a72, 0x7161: 0xf0001c1c, 0x7162: 0xe0000cbd, 0x7163: 0xe0000d42,\n\t0x7164: 0xe0000a76, 0x7165: 0xf0001c1c, 0x7166: 0xe0000cc1, 0x7167: 0xe0000d2d,\n\t0x7168: 0xe0000d31, 0x7169: 0xf0001c1d, 0x716a: 0xe0000cc5, 0x716b: 0xe0000d4a,\n\t0x716c: 0xe0000be7, 0x716d: 0xe0000f0b, 0x716e: 0xe0000f0f, 0x716f: 0xe0000f15,\n\t0x7170: 0xe000282d, 0x7171: 0xe0002821, 0x7172: 0xe000288e, 0x7173: 0xe000281b,\n\t0x7174: 0xf0001d1c, 0x7175: 0xf0001d1c, 0x7176: 0xf0001d1c, 0x7177: 0xf0001d1c,\n\t0x7178: 0xe000280f, 0x7179: 0xf0001d1d, 0x717a: 0xf0001d1c, 0x717b: 0xf0001d1c,\n\t0x717c: 0xf0001d1c, 0x717d: 0xf0001d1c, 0x717e: 0xe0002812, 0x717f: 0xf0001d1d,\n\t// Block 0x1c6, offset 0x7180\n\t0x7180: 0xe0002815, 0x7181: 0xf0001d1d, 0x7182: 0xe00009b7, 0x7183: 0xe00024f3,\n\t0x7184: 0xf0001c1c, 0x7185: 0xf0001c1c, 0x7186: 0xe0000a66, 0x7187: 0xe0000a7a,\n\t0x7188: 0xf0001d1c, 0x7189: 0xf0001c1d, 0x718a: 0xe00027c2, 0x718b: 0xe00027c8,\n\t0x718c: 0xe00027e5, 0x718d: 0xe0002800, 0x718e: 0xe0002809, 0x718f: 0xe000280c,\n\t0x7190: 0xf0001c1c, 0x7191: 0xf0001c1c, 0x7192: 0xe0000d0d, 0x7193: 0xe0002818,\n\t0x7194: 0xf0001c1c, 0x7195: 0xe0000d3a, 0x7196: 0xe0000d46, 0x7197: 0xe0002827,\n\t0x7198: 0xe0000eb0, 0x7199: 0xe0000eb8, 0x719a: 0xe000282a, 0x719b: 0xe0002836,\n\t0x719c: 0xe000283f, 0x719d: 0xf0001c1d, 0x719e: 0xe00010b2, 0x719f: 0xe00009c8,\n\t0x71a0: 0xf0001f04, 0x71a1: 0xf0001f04, 0x71a2: 0xf0001f04, 0x71a3: 0xf0001f04,\n\t0x71a4: 0xf0001f04, 0x71a5: 0xf0001f04, 0x71a6: 0xf0001f04, 0x71a7: 0xf0001f04,\n\t0x71a8: 0xf0001f04, 0x71a9: 0xf0000404, 0x71aa: 0xf0000404, 0x71ab: 0xf0000404,\n\t0x71ac: 0xf0000404, 0x71ad: 0xf0000404, 0x71ae: 0xf0000404, 0x71af: 0xf0000404,\n\t0x71b0: 0xf0000404, 0x71b1: 0xf0000404, 0x71b2: 0xf0000404, 0x71b3: 0xf0000404,\n\t0x71b4: 0xf0000404, 0x71b5: 0xf0000404, 0x71b6: 0xf0000404, 0x71b7: 0xf0000404,\n\t0x71b8: 0xf0000404, 0x71b9: 0xf0000404, 0x71ba: 0xf0000404, 0x71bb: 0xf0000404,\n\t0x71bc: 0xf0000404, 0x71bd: 0xf0000404, 0x71be: 0xf0000404, 0x71bf: 0xe0000bdf,\n\t// Block 0x1c7, offset 0x71c0\n\t0x71c0: 0xf0000404, 0x71c1: 0xe00026cf, 0x71c2: 0xf0000404, 0x71c3: 0xe0000b99,\n\t0x71c4: 0xe0000b9d, 0x71c5: 0xe0000f83, 0x71c6: 0xe000283c,\n\t0x71d3: 0xf0000404,\n\t0x71d4: 0xf0000404, 0x71d5: 0xf0000404, 0x71d6: 0xf0000404, 0x71d7: 0xf0000404,\n\t0x71dd: 0xe000150b, 0x71de: 0xa1a09602, 0x71df: 0xe0001514,\n\t0x71e0: 0x0038ae85, 0x71e1: 0x00389085, 0x71e2: 0x00389685, 0x71e3: 0x00389885,\n\t0x71e4: 0x0038a485, 0x71e5: 0x0038a685, 0x71e6: 0x0038a885, 0x71e7: 0x0038b685,\n\t0x71e8: 0x0038ba85, 0x71e9: 0x00093885, 0x71ea: 0xe0001542, 0x71eb: 0xe000153f,\n\t0x71ec: 0xe000154c, 0x71ed: 0xe0001548, 0x71ee: 0xe00014e1, 0x71ef: 0xe00014e4,\n\t0x71f0: 0xe00014e7, 0x71f1: 0xe00014ea, 0x71f2: 0xe00014f0, 0x71f3: 0xe00014f3,\n\t0x71f4: 0xe00014f6, 0x71f5: 0xe00014fc, 0x71f6: 0xe0001505,\n\t0x71f8: 0xe0001508, 0x71f9: 0xe000150e, 0x71fa: 0xe000151b, 0x71fb: 0xe0001518,\n\t0x71fc: 0xe0001521, 0x71fe: 0xe0001524,\n\t// Block 0x1c8, offset 0x7200\n\t0x7200: 0xf0001f04, 0x7201: 0xf0001f04, 0x7202: 0xf0001f04, 0x7203: 0xf0001f04,\n\t0x7204: 0xf0001f04, 0x7205: 0xf0001f04, 0x7206: 0xf0001f04, 0x7207: 0xf0001f04,\n\t0x7208: 0xf0001f04, 0x7209: 0xf0001f04, 0x720a: 0xf0001f04,\n\t0x7210: 0xf0000a04, 0x7211: 0xf0000a04, 0x7212: 0xf0000a04, 0x7213: 0xf0000a04,\n\t0x7214: 0xe00024a3, 0x7215: 0xf0000a04, 0x7216: 0xf0000a04, 0x7217: 0xe00024ab,\n\t0x7218: 0xe00024b3, 0x7219: 0xf0000a04, 0x721a: 0xe00024bb, 0x721b: 0xf0000a04,\n\t0x721c: 0xf0000a04, 0x721d: 0xf0000a04, 0x721e: 0xe00024c3, 0x721f: 0xf0000a04,\n\t0x7220: 0xe00024cb, 0x7221: 0xe00024d3, 0x7222: 0xe00024db, 0x7223: 0xe00024e3,\n\t0x7224: 0xf0000a04, 0x7225: 0xf0000a04, 0x7226: 0xf0000a04, 0x7227: 0xe00024eb,\n\t0x7228: 0xf0000a04, 0x7229: 0xf0000a04, 0x722a: 0xe00024ef, 0x722b: 0x002c3a8c,\n\t0x722c: 0x002f7a8c, 0x722d: 0xf0000c0c, 0x722e: 0xf0000c0c,\n\t0x7230: 0x002bde9d, 0x7231: 0x002c0a9d, 0x7232: 0x002c3a9d, 0x7233: 0x002c629d,\n\t0x7234: 0x002c989d, 0x7235: 0x002d089d, 0x7236: 0x002d229d, 0x7237: 0x002d689d,\n\t0x7238: 0x002d9a9d, 0x7239: 0x002dcc9d, 0x723a: 0x002dfe9d, 0x723b: 0x002e229d,\n\t0x723c: 0x002e829d, 0x723d: 0x002e9e9d, 0x723e: 0x002ee29d, 0x723f: 0x002f2c9d,\n\t// Block 0x1c9, offset 0x7240\n\t0x7240: 0x002f569d, 0x7241: 0x002f7a9d, 0x7242: 0x002fe69d, 0x7243: 0x00302c9d,\n\t0x7244: 0x00306c9d, 0x7245: 0x0030be9d, 0x7246: 0x0030e29d, 0x7247: 0x0030f69d,\n\t0x7248: 0x0031009d, 0x7249: 0x00312a9d, 0x724a: 0xe00027cb, 0x724b: 0xf0001d1d,\n\t0x724c: 0xe0002830, 0x724d: 0xe0002839, 0x724e: 0xe0000ebc, 0x724f: 0xf0001d1d,\n\t0x7250: 0x002bde8c, 0x7251: 0x002c0a8c, 0x7252: 0x002c3a8c, 0x7253: 0x002c628c,\n\t0x7254: 0x002c988c, 0x7255: 0x002d088c, 0x7256: 0x002d228c, 0x7257: 0x002d688c,\n\t0x7258: 0x002d9a8c, 0x7259: 0x002dcc8c, 0x725a: 0x002dfe8c, 0x725b: 0x002e228c,\n\t0x725c: 0x002e828c, 0x725d: 0x002e9e8c, 0x725e: 0x002ee28c, 0x725f: 0x002f2c8c,\n\t0x7260: 0x002f568c, 0x7261: 0x002f7a8c, 0x7262: 0x002fe68c, 0x7263: 0x00302c8c,\n\t0x7264: 0x00306c8c, 0x7265: 0x0030be8c, 0x7266: 0x0030e28c, 0x7267: 0x0030f68c,\n\t0x7268: 0x0031008c, 0x7269: 0x00312a8c, 0x726a: 0xf0001414, 0x726b: 0xf0001414,\n\t0x7270: 0x002bde9d, 0x7271: 0x002c0a9d, 0x7272: 0x002c3a9d, 0x7273: 0x002c629d,\n\t0x7274: 0x002c989d, 0x7275: 0x002d089d, 0x7276: 0x002d229d, 0x7277: 0x002d689d,\n\t0x7278: 0x002d9a9d, 0x7279: 0x002dcc9d, 0x727a: 0x002dfe9d, 0x727b: 0x002e229d,\n\t0x727c: 0x002e829d, 0x727d: 0x002e9e9d, 0x727e: 0x002ee29d, 0x727f: 0x002f2c9d,\n\t// Block 0x1ca, offset 0x7280\n\t0x7280: 0xe0000cfe, 0x7281: 0xe0000cf8, 0x7282: 0xe0000cf5, 0x7283: 0xe0000d51,\n\t0x7284: 0xe0000d4e, 0x7285: 0xe0000d6f, 0x7286: 0xe0000d6c, 0x7287: 0xe0000d5d,\n\t0x7288: 0xe0000d5a, 0x7289: 0x002e9e89, 0x728a: 0x002eda88, 0x728b: 0x402eda20,\n\t0x728c: 0xe0000e2e, 0x728d: 0xe0000e2b, 0x728e: 0xe0000da0, 0x728f: 0xe0000d9d,\n\t0x7290: 0xe0000de0, 0x7291: 0xe0000ddd, 0x7292: 0xe0000e93, 0x7293: 0xe0000e8f,\n\t0x7294: 0xe0000eca, 0x7295: 0xe0000ec7, 0x7296: 0xe0000edc, 0x7297: 0xe0000ed9,\n\t0x7298: 0xe0000ed0, 0x7299: 0xe0000ecd, 0x729a: 0xe0000f1f, 0x729b: 0xe0000f1c,\n\t0x729c: 0xe0000f2d, 0x729d: 0xe0000f2a, 0x729e: 0xe0000f47, 0x729f: 0xe0000f44,\n\t0x72a0: 0xe0000f33, 0x72a1: 0xe0000f30, 0x72a2: 0xe0000f99, 0x72a3: 0xe0000f96,\n\t0x72a4: 0xe0000f8a, 0x72a5: 0xe0000f87, 0x72a6: 0x00303688, 0x72a7: 0x40303620,\n\t0x72a8: 0xe000102b, 0x72a9: 0xe0001028, 0x72aa: 0xe000103f, 0x72ab: 0xe000103c,\n\t0x72ac: 0xe0000fe7, 0x72ad: 0xe0000fe4, 0x72ae: 0xe0000ff9, 0x72af: 0xe0000ff6,\n\t0x72b0: 0xe0001025, 0x72b1: 0xe0001022, 0x72b2: 0xe0001039, 0x72b3: 0xe0001036,\n\t0x72b4: 0xe00010d8, 0x72b5: 0xe00010d5, 0x72b6: 0xe000110e, 0x72b7: 0xe000110b,\n\t0x72b8: 0xe0001117, 0x72b9: 0xe000113b, 0x72ba: 0xe0001138, 0x72bb: 0xe000114d,\n\t0x72bc: 0xe000114a, 0x72bd: 0xe0001147, 0x72be: 0xe0001144, 0x72bf: 0xe0000f64,\n\t// Block 0x1cb, offset 0x72c0\n\t0x72c0: 0xa0000000, 0x72c1: 0xa0000000, 0x72c2: 0xa0000000, 0x72c3: 0xa0000000,\n\t0x72c4: 0xa0000000, 0x72c6: 0x40096620, 0x72c7: 0x40096a20,\n\t0x72c8: 0x40070820, 0x72c9: 0x4004f220, 0x72ca: 0x4004f620, 0x72cb: 0x4027e620,\n\t0x72cc: 0x40024820, 0x72cd: 0x40024a20, 0x72ce: 0x40070e20, 0x72cf: 0x40071020,\n\t0x72d0: 0xae600000, 0x72d1: 0xae600000, 0x72d2: 0xae600000, 0x72d3: 0xae600000,\n\t0x72d4: 0xae600000, 0x72d5: 0xae600000, 0x72d6: 0xae600000, 0x72d7: 0xae600000,\n\t0x72d8: 0xa1e00000, 0x72d9: 0xa1f00000, 0x72da: 0xa2000000, 0x72db: 0x40026420,\n\t0x72de: 0x40027020, 0x72df: 0x4002cc20,\n\t0x72e0: 0x403aa220, 0x72e1: 0x40391c20, 0x72e2: 0x40391e20, 0x72e3: 0x40392020,\n\t0x72e4: 0x40392620, 0x72e5: 0x40392820, 0x72e6: 0x40393020, 0x72e7: 0xc0520151,\n\t0x72e8: 0x40393c20, 0x72e9: 0x40395621, 0x72ea: 0x40395620, 0x72eb: 0x40395820,\n\t0x72ec: 0x40396420, 0x72ed: 0x40397220, 0x72ee: 0x40397420, 0x72ef: 0x40398820,\n\t0x72f0: 0x40398a20, 0x72f1: 0x4039a420, 0x72f2: 0x4039a620, 0x72f3: 0x4039c620,\n\t0x72f4: 0x4039c820, 0x72f5: 0x4039dc20, 0x72f6: 0x4039de20, 0x72f7: 0x4039e620,\n\t0x72f8: 0x4039e820, 0x72f9: 0x4039ee20, 0x72fa: 0x4039f020, 0x72fb: 0x403a3820,\n\t0x72fc: 0x403a3a20, 0x72fd: 0x403a9c20, 0x72fe: 0x403a9e20, 0x72ff: 0x403aa020,\n\t// Block 0x1cc, offset 0x7300\n\t0x7300: 0xa0000000, 0x7301: 0x4039fc20, 0x7302: 0x403a1220, 0x7303: 0x403a1a20,\n\t0x7304: 0x403a4020, 0x7305: 0x403a4e20, 0x7306: 0x403a5620, 0x7307: 0x403a6820,\n\t0x7308: 0xc0560171, 0x7309: 0x403a9021, 0x730a: 0xc0580171, 0x730b: 0xa1b0a202,\n\t0x730c: 0xa1c0a502, 0x730d: 0xa1d0a902, 0x730e: 0xa1e0ad02, 0x730f: 0xa1f0b202,\n\t0x7310: 0xa200b602, 0x7311: 0xa210ba02, 0x7312: 0xa220bc02, 0x7313: 0xae60bd02,\n\t0x7314: 0xae60be02, 0x7315: 0xadc0bf02, 0x7316: 0xadc0c102, 0x7317: 0xae60c202,\n\t0x7318: 0xae60c302, 0x7319: 0xae60c402, 0x731a: 0xae60c502, 0x731b: 0xae60c602,\n\t0x731c: 0xadc0c702, 0x731d: 0xae60c802, 0x731e: 0xae60c902, 0x731f: 0xadc0c002,\n\t0x7320: 0xe000015e, 0x7321: 0xe00001e6, 0x7322: 0xe0000301, 0x7323: 0xe00003db,\n\t0x7324: 0xe00004b6, 0x7325: 0xe0000580, 0x7326: 0xe000064b, 0x7327: 0xe00006f3,\n\t0x7328: 0xe000079f, 0x7329: 0xe0000844, 0x732a: 0x4004ee20, 0x732b: 0x40024c20,\n\t0x732c: 0x40024e20, 0x732d: 0x4004de20, 0x732e: 0x40393a20, 0x732f: 0x403a1020,\n\t0x7330: 0xa230d102, 0x7331: 0x40392420, 0x7332: 0x40392220, 0x7333: 0x40392a20,\n\t0x7334: 0x00391c84, 0x7335: 0xf0000404, 0x7336: 0xf0000404, 0x7337: 0xf0000404,\n\t0x7338: 0xf0000404, 0x7339: 0x40395a20, 0x733a: 0x40395c20, 0x733b: 0x40393e20,\n\t0x733c: 0x40395e20, 0x733d: 0x40396020, 0x733e: 0x40394020, 0x733f: 0x40396220,\n\t// Block 0x1cd, offset 0x7340\n\t0x7340: 0x40073420, 0x7341: 0x40073620,\n\t0x7353: 0x003a269a,\n\t0x7354: 0x003a2699, 0x7355: 0x003a2697, 0x7356: 0x003a2698, 0x7357: 0x003a7c9a,\n\t0x7358: 0x003a7c99, 0x7359: 0x003a7a9a, 0x735a: 0x003a7a99, 0x735b: 0x003a7e9a,\n\t0x735c: 0x003a7e99, 0x735d: 0xf0001a1a, 0x735e: 0x003a849a, 0x735f: 0x003a8499,\n\t0x7360: 0x003a789a, 0x7361: 0x003a7899, 0x7362: 0x003a809a, 0x7363: 0x003a8099,\n\t0x7364: 0x003a989a, 0x7365: 0x003a9899, 0x7366: 0x003a9897, 0x7367: 0x003a9898,\n\t0x7368: 0x003a90a3, 0x7369: 0x003a90a4, 0x736a: 0xe0001559, 0x736b: 0xe0001556,\n\t0x736c: 0xe0001589, 0x736d: 0xe0001586, 0x736e: 0xe000158f, 0x736f: 0xe000158c,\n\t0x7370: 0xe000159b, 0x7371: 0xe0001598, 0x7372: 0xe0001595, 0x7373: 0xe0001592,\n\t0x7374: 0xe00015a1, 0x7375: 0xe000159e, 0x7376: 0xe00015bf, 0x7377: 0xe00015bc,\n\t0x7378: 0xe00015b9, 0x7379: 0xe00015ad, 0x737a: 0xe00015a7, 0x737b: 0xe00015a4,\n\t0x737c: 0x003a929a, 0x737d: 0x003a9299, 0x737e: 0x003a9297, 0x737f: 0x003a9298,\n\t// Block 0x1ce, offset 0x7380\n\t0x7380: 0xe000155f, 0x7381: 0xe0001565, 0x7382: 0xe000157a, 0x7383: 0xe00015b0,\n\t0x7384: 0xe00015b6, 0x7385: 0xf0001a1a, 0x7386: 0xf0001a1a, 0x7387: 0xf0001a1a,\n\t0x7388: 0xf0001a1a, 0x7389: 0xe0002894, 0x738a: 0xf0001a1a, 0x738b: 0xf0001a1a,\n\t0x738c: 0xf0001a1a, 0x738d: 0xf0001a1a, 0x738e: 0xf0001a1a, 0x738f: 0xe000289a,\n\t0x7390: 0xf0001a1a, 0x7391: 0xf0001a1a, 0x7392: 0xf0001a1a, 0x7393: 0xe00028a0,\n\t0x7394: 0xf0001a1a, 0x7395: 0xf0001a1a, 0x7396: 0xf0001a1a, 0x7397: 0xf0001a1a,\n\t0x7398: 0xf0001a1a, 0x7399: 0xf0001a1a, 0x739a: 0xf0001a1a, 0x739b: 0xf0001a1a,\n\t0x739c: 0xf0001a1a, 0x739d: 0xf0001a1a, 0x739e: 0xf0001a1a, 0x739f: 0xf0001a1a,\n\t0x73a0: 0xf0001a1a, 0x73a1: 0xf0001a1a, 0x73a2: 0xf0001a1a, 0x73a3: 0xf0001a1a,\n\t0x73a4: 0xf0001a1a, 0x73a5: 0xf0001a1a, 0x73a6: 0xf0001a1a, 0x73a7: 0xf0001a1a,\n\t0x73a8: 0xf0001a1a, 0x73a9: 0xf0001a1a, 0x73aa: 0xf0001a1a, 0x73ab: 0xf0001a1a,\n\t0x73ac: 0xf0001a1a, 0x73ad: 0xf0001a1a, 0x73ae: 0xf0001a1a, 0x73af: 0xf0001a1a,\n\t0x73b0: 0xf0001a1a, 0x73b1: 0xe00028e2, 0x73b2: 0xf0001a1a, 0x73b3: 0xf0001a1a,\n\t0x73b4: 0xf0001a1a, 0x73b5: 0xe00028e8, 0x73b6: 0xf0001a1a, 0x73b7: 0xf0001a1a,\n\t0x73b8: 0xf0001a1a, 0x73b9: 0xf0001a1a, 0x73ba: 0xf0001a1a, 0x73bb: 0xf0001a1a,\n\t0x73bc: 0xf0001a1a, 0x73bd: 0xe00028ee, 0x73be: 0xf0001a1a, 0x73bf: 0xf0001a1a,\n\t// Block 0x1cf, offset 0x73c0\n\t0x73c0: 0xf0001a1a, 0x73c1: 0xf0001a1a, 0x73c2: 0xf0001a1a, 0x73c3: 0xe00028f4,\n\t0x73c4: 0xf0001a1a, 0x73c5: 0xf0001a1a, 0x73c6: 0xf0001a1a, 0x73c7: 0xf0001a1a,\n\t0x73c8: 0xf0001a1a, 0x73c9: 0xe00028f7, 0x73ca: 0xf0001a1a, 0x73cb: 0xf0001a1a,\n\t0x73cc: 0xf0001a1a, 0x73cd: 0xf0001a1a, 0x73ce: 0xf0001a1a, 0x73cf: 0xe00028fd,\n\t0x73d0: 0xf0001a1a, 0x73d1: 0xf0001a1a, 0x73d2: 0xf0001a1a, 0x73d3: 0xe0002900,\n\t0x73d4: 0xf0001a1a, 0x73d5: 0xf0001a1a, 0x73d6: 0xf0001a1a, 0x73d7: 0xf0001a1a,\n\t0x73d8: 0xf0001a1a, 0x73d9: 0xe0002906, 0x73da: 0xf0001a1a, 0x73db: 0xf0001a1a,\n\t0x73dc: 0xf0001a1a, 0x73dd: 0x003a90a8, 0x73de: 0xe0000003, 0x73df: 0xe0000006,\n\t0x73e0: 0xe0000009, 0x73e1: 0xe000000c, 0x73e2: 0xe000000f, 0x73e3: 0xe0000012,\n\t0x73e4: 0xe000156b, 0x73e5: 0xe000156e, 0x73e6: 0xe0001577, 0x73e7: 0xe000157d,\n\t0x73e8: 0xe00015aa, 0x73e9: 0xe00015b3, 0x73ea: 0xf0001919, 0x73eb: 0xf0001919,\n\t0x73ec: 0xf0001919, 0x73ed: 0xf0001919, 0x73ee: 0xe0002891, 0x73ef: 0xf0001919,\n\t0x73f0: 0xf0001919, 0x73f1: 0xf0001919, 0x73f2: 0xf0001919, 0x73f3: 0xf0001919,\n\t0x73f4: 0xe0002897, 0x73f5: 0xf0001919, 0x73f6: 0xf0001919, 0x73f7: 0xf0001919,\n\t0x73f8: 0xf0001919, 0x73f9: 0xf0001919, 0x73fa: 0xe000289d, 0x73fb: 0xf0001919,\n\t0x73fc: 0xe00028df, 0x73fd: 0xf0001919, 0x73fe: 0xe00028e5, 0x73ff: 0xf0001919,\n\t// Block 0x1d0, offset 0x7400\n\t0x7400: 0xf0001919, 0x7401: 0xf0001919, 0x7402: 0xf0001919, 0x7403: 0xe00028eb,\n\t0x7404: 0xf0001919, 0x7405: 0xf0001919, 0x7406: 0xe00028f1, 0x7407: 0xf0001919,\n\t0x7408: 0xf0001919, 0x7409: 0xf0001919, 0x740a: 0xf0001919, 0x740b: 0xf0001919,\n\t0x740c: 0xf0001919, 0x740d: 0xf0001919, 0x740e: 0xe00028fa, 0x740f: 0xf0001919,\n\t0x7410: 0x003a90a7, 0x7411: 0xf0001919, 0x7412: 0xf0001919, 0x7413: 0xf0001919,\n\t0x7414: 0xf0001919, 0x7415: 0xe0002903, 0x7416: 0xf0001919, 0x7417: 0xe000155c,\n\t0x7418: 0xe0001562, 0x7419: 0xe0001568, 0x741a: 0xe0001571, 0x741b: 0xe0001580,\n\t0x741c: 0xf0001717, 0x741d: 0xf0001717, 0x741e: 0xf0001717, 0x741f: 0xf0001717,\n\t0x7420: 0xf0001717, 0x7421: 0xf0001717, 0x7422: 0xf0001717, 0x7423: 0xf0001717,\n\t0x7424: 0xf0001717, 0x7425: 0xf0001717, 0x7426: 0xf0001717, 0x7427: 0xf0001717,\n\t0x7428: 0xf0001717, 0x7429: 0xf0001717, 0x742a: 0xf0001717, 0x742b: 0xf0001717,\n\t0x742c: 0xf0001717, 0x742d: 0xf0001717, 0x742e: 0xf0001717, 0x742f: 0xf0001717,\n\t0x7430: 0xf0001717, 0x7431: 0xf0001717, 0x7432: 0xf0001717, 0x7433: 0xf0001717,\n\t0x7434: 0xf0001717, 0x7435: 0xf0001717, 0x7436: 0xf0001717, 0x7437: 0xf0001717,\n\t0x7438: 0xf0001717, 0x7439: 0xf0001717, 0x743a: 0xf0001717, 0x743b: 0xf0001717,\n\t0x743c: 0xf0001717, 0x743d: 0xf0001717, 0x743e: 0xf0001717, 0x743f: 0xf0001717,\n\t// Block 0x1d1, offset 0x7440\n\t0x7440: 0xf0001717, 0x7441: 0xf0001717, 0x7442: 0xf0001717, 0x7443: 0xf0001717,\n\t0x7444: 0xf0001717, 0x7445: 0xf0001717, 0x7446: 0xf0001717, 0x7447: 0xf0001717,\n\t0x7448: 0xf0001717, 0x7449: 0xf0001717, 0x744a: 0xf0001717, 0x744b: 0xf0001717,\n\t0x744c: 0xf0001717, 0x744d: 0xf0001717, 0x744e: 0xf0001717, 0x744f: 0xf0001717,\n\t0x7450: 0xf0001717, 0x7451: 0xf0001717, 0x7452: 0xf0001717, 0x7453: 0xf0001717,\n\t0x7454: 0xf0001717, 0x7455: 0xf0001717, 0x7456: 0xf0001717, 0x7457: 0xf0001717,\n\t0x7458: 0xf0001717, 0x7459: 0xf0001717, 0x745a: 0xf0001717, 0x745b: 0xf0001717,\n\t0x745c: 0xf0001717, 0x745d: 0xf0001717, 0x745e: 0xf0001717, 0x745f: 0xe0001574,\n\t0x7460: 0xe0001583, 0x7461: 0xf0001818, 0x7462: 0xf0001818, 0x7463: 0xf0001818,\n\t0x7464: 0xf0001818, 0x7465: 0xf0001818, 0x7466: 0xf0001818, 0x7467: 0xf0001818,\n\t0x7468: 0xf0001818, 0x7469: 0xf0001818, 0x746a: 0xf0001818, 0x746b: 0xf0001818,\n\t0x746c: 0xf0001818, 0x746d: 0xf0001818, 0x746e: 0xf0001818, 0x746f: 0xf0001818,\n\t0x7470: 0xf0001818, 0x7471: 0xf0001818, 0x7472: 0xf0001818, 0x7473: 0xf0001818,\n\t0x7474: 0xf0001818, 0x7475: 0xe00028d0, 0x7476: 0xf0001a1a, 0x7477: 0xe00028d6,\n\t0x7478: 0xf0001a1a, 0x7479: 0xe00028dc, 0x747a: 0xf0001a1a, 0x747b: 0xe00028b8,\n\t0x747c: 0xf0001a1a, 0x747d: 0xe00028be, 0x747e: 0xf0001a1a, 0x747f: 0xe00028ac,\n\t// Block 0x1d2, offset 0x7480\n\t0x7480: 0xf0001a1a, 0x7481: 0xe00028a6, 0x7482: 0xf0001a1a, 0x7483: 0xe00028b2,\n\t0x7484: 0xf0001a1a, 0x7485: 0xe00028c4, 0x7486: 0xf0001a1a, 0x7487: 0xe00028ca,\n\t0x7488: 0xf0001a1a, 0x7489: 0xf0001a1a, 0x748a: 0xf0001a1a, 0x748b: 0xf0001a1a,\n\t0x748c: 0xf0001a1a, 0x748d: 0xf0001a1a, 0x748e: 0xf0001a1a, 0x748f: 0xf0001a1a,\n\t0x7490: 0xf0001a1a, 0x7491: 0xe00028cd, 0x7492: 0xf0001919, 0x7493: 0xe00028d3,\n\t0x7494: 0xf0001919, 0x7495: 0xe00028d9, 0x7496: 0xf0001919, 0x7497: 0xe00028b5,\n\t0x7498: 0xf0001919, 0x7499: 0xe00028bb, 0x749a: 0xf0001919, 0x749b: 0xe00028a9,\n\t0x749c: 0xf0001919, 0x749d: 0xe00028a3, 0x749e: 0xf0001919, 0x749f: 0xe00028af,\n\t0x74a0: 0xf0001919, 0x74a1: 0xe00028c1, 0x74a2: 0xf0001919, 0x74a3: 0xe00028c7,\n\t0x74a4: 0xf0001919, 0x74a5: 0xf0001919, 0x74a6: 0xf0001919, 0x74a7: 0xf0001919,\n\t0x74a8: 0xf0001919, 0x74a9: 0xf0001919, 0x74aa: 0xf0001919, 0x74ab: 0xf0001919,\n\t0x74ac: 0xf0001919, 0x74ad: 0xf0001717, 0x74ae: 0xf0001717, 0x74af: 0xf0001717,\n\t0x74b0: 0xf0001717, 0x74b1: 0xf0001717, 0x74b2: 0xf0001717, 0x74b3: 0xf0001717,\n\t0x74b4: 0xf0001818, 0x74b5: 0xf0001818, 0x74b6: 0xf0001818, 0x74b7: 0xf0001818,\n\t0x74b8: 0xf0001818, 0x74b9: 0xf0001818, 0x74ba: 0xf0001818, 0x74bb: 0xf0001818,\n\t0x74bc: 0xf0001919, 0x74bd: 0xf0001a1a, 0x74be: 0x4004c020, 0x74bf: 0x4004c220,\n\t// Block 0x1d3, offset 0x74c0\n\t0x74c0: 0x00391c9a, 0x74c1: 0x00391e9a, 0x74c2: 0x00391e99, 0x74c3: 0x0039209a,\n\t0x74c4: 0x00392099, 0x74c5: 0x0039269a, 0x74c6: 0x00392699, 0x74c7: 0x0039289a,\n\t0x74c8: 0x00392899, 0x74c9: 0x0039309a, 0x74ca: 0x00393099, 0x74cb: 0x00393097,\n\t0x74cc: 0x00393098, 0x74cd: 0x0039389a, 0x74ce: 0x00393899, 0x74cf: 0x00393c9a,\n\t0x74d0: 0x00393c99, 0x74d1: 0x00393c97, 0x74d2: 0x00393c98, 0x74d3: 0x003956a4,\n\t0x74d4: 0x003956a3, 0x74d5: 0x0039569a, 0x74d6: 0x00395699, 0x74d7: 0x00395697,\n\t0x74d8: 0x00395698, 0x74d9: 0x0039589a, 0x74da: 0x00395899, 0x74db: 0x00395897,\n\t0x74dc: 0x00395898, 0x74dd: 0x0039649a, 0x74de: 0x00396499, 0x74df: 0x00396497,\n\t0x74e0: 0x00396498, 0x74e1: 0x0039729a, 0x74e2: 0x00397299, 0x74e3: 0x00397297,\n\t0x74e4: 0x00397298, 0x74e5: 0x0039749a, 0x74e6: 0x00397499, 0x74e7: 0x00397497,\n\t0x74e8: 0x00397498, 0x74e9: 0x0039889a, 0x74ea: 0x00398899, 0x74eb: 0x00398a9a,\n\t0x74ec: 0x00398a99, 0x74ed: 0x0039a49a, 0x74ee: 0x0039a499, 0x74ef: 0x0039a69a,\n\t0x74f0: 0x0039a699, 0x74f1: 0x0039c69a, 0x74f2: 0x0039c699, 0x74f3: 0x0039c697,\n\t0x74f4: 0x0039c698, 0x74f5: 0x0039c89a, 0x74f6: 0x0039c899, 0x74f7: 0x0039c897,\n\t0x74f8: 0x0039c898, 0x74f9: 0x0039dc9a, 0x74fa: 0x0039dc99, 0x74fb: 0x0039dc97,\n\t0x74fc: 0x0039dc98, 0x74fd: 0x0039de9a, 0x74fe: 0x0039de99, 0x74ff: 0x0039de97,\n\t// Block 0x1d4, offset 0x7500\n\t0x7500: 0x0039de98, 0x7501: 0x0039e69a, 0x7502: 0x0039e699, 0x7503: 0x0039e697,\n\t0x7504: 0x0039e698, 0x7505: 0x0039e89a, 0x7506: 0x0039e899, 0x7507: 0x0039e897,\n\t0x7508: 0x0039e898, 0x7509: 0x0039ee9a, 0x750a: 0x0039ee99, 0x750b: 0x0039ee97,\n\t0x750c: 0x0039ee98, 0x750d: 0x0039f09a, 0x750e: 0x0039f099, 0x750f: 0x0039f097,\n\t0x7510: 0x0039f098, 0x7511: 0x0039fc9a, 0x7512: 0x0039fc99, 0x7513: 0x0039fc97,\n\t0x7514: 0x0039fc98, 0x7515: 0x003a129a, 0x7516: 0x003a1299, 0x7517: 0x003a1297,\n\t0x7518: 0x003a1298, 0x7519: 0x003a1a9a, 0x751a: 0x003a1a99, 0x751b: 0x003a1a97,\n\t0x751c: 0x003a1a98, 0x751d: 0x003a409a, 0x751e: 0x003a4099, 0x751f: 0x003a4097,\n\t0x7520: 0x003a4098, 0x7521: 0x003a4e9a, 0x7522: 0x003a4e99, 0x7523: 0x003a4e97,\n\t0x7524: 0x003a4e98, 0x7525: 0x003a569a, 0x7526: 0x003a5699, 0x7527: 0x003a5697,\n\t0x7528: 0x003a5698, 0x7529: 0x003a689a, 0x752a: 0x003a6899, 0x752b: 0x003a6897,\n\t0x752c: 0x003a6898, 0x752d: 0x003a749a, 0x752e: 0x003a7499, 0x752f: 0x003a90a6,\n\t0x7530: 0x003a90a5, 0x7531: 0x003a909a, 0x7532: 0x003a9099, 0x7533: 0x003a9097,\n\t0x7534: 0x003a9098, 0x7535: 0xe0001732, 0x7536: 0xe000172f, 0x7537: 0xe0001738,\n\t0x7538: 0xe0001735, 0x7539: 0xe000173e, 0x753a: 0xe000173b, 0x753b: 0xf0001a1a,\n\t0x753c: 0xf0001919, 0x753f: 0xa0000000,\n\t// Block 0x1d5, offset 0x7540\n\t0x7541: 0x40409a20, 0x7542: 0x40409820, 0x7543: 0x40409c20,\n\t0x7545: 0x40407c20, 0x7546: 0x40407e20, 0x7547: 0x40408020,\n\t0x7548: 0x40408220, 0x7549: 0x40408420, 0x754a: 0x40408620, 0x754b: 0x40408820,\n\t0x754c: 0x40408c20, 0x754f: 0x40409020,\n\t0x7550: 0x40409220, 0x7553: 0x40409420,\n\t0x7554: 0x40409620, 0x7555: 0xc33108b1, 0x7556: 0x40409a20, 0x7557: 0x40409c20,\n\t0x7558: 0x40409e20, 0x7559: 0x4040a020, 0x755a: 0x4040a220, 0x755b: 0x4040a420,\n\t0x755c: 0x4040a620, 0x755d: 0x4040a820, 0x755e: 0x4040aa20, 0x755f: 0x4040ac20,\n\t0x7560: 0x4040ae20, 0x7561: 0x4040b020, 0x7562: 0x4040b220, 0x7563: 0x4040b420,\n\t0x7564: 0xc32f0851, 0x7565: 0x4040b820, 0x7566: 0x4040ba20, 0x7567: 0x4040bc20,\n\t0x7568: 0x4040be20, 0x756a: 0x4040c020, 0x756b: 0x4040c220,\n\t0x756c: 0x4040c420, 0x756d: 0x4040c620, 0x756e: 0x4040c820, 0x756f: 0x4040ca20,\n\t0x7570: 0x4040cc20, 0x7572: 0x4040d020,\n\t0x7576: 0x4040d420, 0x7577: 0x4040d620,\n\t0x7578: 0x4040d820, 0x7579: 0x4040da20,\n\t0x757c: 0xa070f102, 0x757d: 0x4040dc20, 0x757e: 0x4040de20, 0x757f: 0x4040e020,\n\t// Block 0x1d6, offset 0x7580\n\t0x7580: 0x4040e220, 0x7581: 0x4040e420, 0x7582: 0x4040e620, 0x7583: 0x4040e820,\n\t0x7584: 0x4040ea20, 0x7587: 0xc05a0191,\n\t0x7588: 0x4040f220, 0x758b: 0x4040f420,\n\t0x758c: 0x4040f620, 0x758d: 0x8209207c, 0x758e: 0x4040b420,\n\t0x7597: 0x4040fa20,\n\t0x759c: 0xe000183f, 0x759d: 0xe0001842, 0x759f: 0xe0001848,\n\t0x75a0: 0x40408a20, 0x75a1: 0x40408e20, 0x75a2: 0x4040ec20, 0x75a3: 0x4040ee20,\n\t0x75a6: 0xe000016d, 0x75a7: 0xe00001fb,\n\t0x75a8: 0xe0000316, 0x75a9: 0xe00003f0, 0x75aa: 0xe00004cb, 0x75ab: 0xe0000595,\n\t0x75ac: 0xe0000660, 0x75ad: 0xe0000708, 0x75ae: 0xe00007b4, 0x75af: 0xe0000859,\n\t0x75b0: 0x4040ce20, 0x75b1: 0x4040d220, 0x75b2: 0x4027e820, 0x75b3: 0x4027ea20,\n\t0x75b4: 0x40283020, 0x75b5: 0x40283220, 0x75b6: 0x40283420, 0x75b7: 0x40283620,\n\t0x75b8: 0x40283820, 0x75b9: 0x40283a20, 0x75ba: 0x40073a20, 0x75bb: 0x4027ec20,\n\t// Block 0x1d7, offset 0x75c0\n\t0x75c0: 0xa0000000, 0x75c1: 0xa0000000, 0x75c2: 0xa0000000, 0x75c3: 0xa0000000,\n\t0x75c4: 0xa0000000, 0x75c5: 0xa0000000, 0x75c6: 0xa0000000, 0x75c7: 0xa0000000,\n\t0x75c8: 0xa0000000, 0x75c9: 0x40020020, 0x75ca: 0x40020220, 0x75cb: 0x40020420,\n\t0x75cc: 0x40020620, 0x75cd: 0x40020820, 0x75ce: 0xa0000000, 0x75cf: 0xa0000000,\n\t0x75d0: 0xa0000000, 0x75d1: 0xa0000000, 0x75d2: 0xa0000000, 0x75d3: 0xa0000000,\n\t0x75d4: 0xa0000000, 0x75d5: 0xa0000000, 0x75d6: 0xa0000000, 0x75d7: 0xa0000000,\n\t0x75d8: 0xa0000000, 0x75d9: 0xa0000000, 0x75da: 0xa0000000, 0x75db: 0xa0000000,\n\t0x75dc: 0xa0000000, 0x75dd: 0xa0000000, 0x75de: 0xa0000000, 0x75df: 0xa0000000,\n\t0x75e0: 0x40021220, 0x75e1: 0x4002ba20, 0x75e2: 0x4003e020, 0x75e3: 0x4004ea20,\n\t0x75e4: 0x4027de20, 0x75e5: 0x4004ec20, 0x75e6: 0x4004e620, 0x75e7: 0x4003d220,\n\t0x75e8: 0x4003f420, 0x75e9: 0x4003f620, 0x75ea: 0x4004d820, 0x75eb: 0x40093820,\n\t0x75ec: 0x40024020, 0x75ed: 0x40021a20, 0x75ee: 0x4002e420, 0x75ef: 0x4004e220,\n\t0x75f0: 0x4029cc20, 0x75f1: 0x4029ce20, 0x75f2: 0x4029d020, 0x75f3: 0x4029d220,\n\t0x75f4: 0x4029d420, 0x75f5: 0x4029d620, 0x75f6: 0x4029d820, 0x75f7: 0x4029da20,\n\t0x75f8: 0x4029dc20, 0x75f9: 0x4029de20, 0x75fa: 0x40026c20, 0x75fb: 0x40026220,\n\t0x75fc: 0x40094020, 0x75fd: 0x40094220, 0x75fe: 0x40094420, 0x75ff: 0x4002c420,\n\t// Block 0x1d8, offset 0x7600\n\t0x7600: 0x4004d620, 0x7601: 0x002bde88, 0x7602: 0x002c0a88, 0x7603: 0xc3350911,\n\t0x7604: 0x002c6288, 0x7605: 0x002c9888, 0x7606: 0x002d0888, 0x7607: 0xc33900d1,\n\t0x7608: 0x002d6888, 0x7609: 0xc33b0931, 0x760a: 0x002dcc88, 0x760b: 0x002dfe88,\n\t0x760c: 0xc0030002, 0x760d: 0x002e8288, 0x760e: 0x002e9e88, 0x760f: 0xc33f0071,\n\t0x7610: 0x002f2c88, 0x7611: 0x002e0083, 0x7612: 0x002f7a88, 0x7613: 0xc3430911,\n\t0x7614: 0x00302c88, 0x7615: 0xc3470071, 0x7616: 0x0030be88, 0x7617: 0x0030e288,\n\t0x7618: 0x002d6a83, 0x7619: 0x00310088, 0x761a: 0x00312a88, 0x761b: 0x4003f820,\n\t0x761c: 0x4004e420, 0x761d: 0x4003fa20, 0x761e: 0x40062420, 0x761f: 0x40021620,\n\t0x7620: 0x40061e20, 0x7621: 0x402bde20, 0x7622: 0x402c0a20, 0x7623: 0xc3330911,\n\t0x7624: 0x402c6220, 0x7625: 0x402c9820, 0x7626: 0x402d0820, 0x7627: 0xc33700d1,\n\t0x7628: 0x402d6820, 0x7629: 0x402d9a20, 0x762a: 0x402dcc20, 0x762b: 0x402dfe20,\n\t0x762c: 0xc0000002, 0x762d: 0x402e8220, 0x762e: 0x402e9e20, 0x762f: 0xc33d0071,\n\t0x7630: 0x402f2c20, 0x7631: 0x402e0020, 0x7632: 0x402f7a20, 0x7633: 0xc3410911,\n\t0x7634: 0x40302c20, 0x7635: 0xc3450071, 0x7636: 0x4030be20, 0x7637: 0x4030e220,\n\t0x7638: 0x402d6a20, 0x7639: 0x40310020, 0x763a: 0x40312a20, 0x763b: 0x4003fc20,\n\t0x763c: 0x40094820, 0x763d: 0x4003fe20, 0x763e: 0x40094c20, 0x763f: 0xa0000000,\n\t// Block 0x1d9, offset 0x7640\n\t0x7640: 0xe00008f5, 0x7641: 0xe00008ef, 0x7642: 0xe0000921, 0x7643: 0xe0000969,\n\t0x7644: 0xe000095b, 0x7645: 0xe000094d, 0x7646: 0xe00009dd, 0x7647: 0x002c3c83,\n\t0x7648: 0xe0000ae8, 0x7649: 0xe0000ae2, 0x764a: 0xe0000af4, 0x764b: 0xe0000b20,\n\t0x764c: 0xe0002918, 0x764d: 0xe0002915, 0x764e: 0xe000291e, 0x764f: 0xe0002924,\n\t0x7650: 0xe0000ab3, 0x7651: 0xe0000d63, 0x7652: 0xe0000d9a, 0x7653: 0xe0000d94,\n\t0x7654: 0xe0000da6, 0x7655: 0xe0000de6, 0x7656: 0x002ee483, 0x7657: 0x40093e20,\n\t0x7658: 0xe0000e12, 0x7659: 0xe0000fe1, 0x765a: 0xe0000fdb, 0x765b: 0xe0000fed,\n\t0x765c: 0x00306e83, 0x765d: 0xe0001102, 0x765e: 0x00318888, 0x765f: 0xe0000f7b,\n\t0x7660: 0xe00008f2, 0x7661: 0xe00008ec, 0x7662: 0xe000091e, 0x7663: 0xe0000966,\n\t0x7664: 0xe0000958, 0x7665: 0xe000094a, 0x7666: 0xe00009d5, 0x7667: 0x402c3c20,\n\t0x7668: 0xe0000ae5, 0x7669: 0xe0000adf, 0x766a: 0xe0000af1, 0x766b: 0xe0000b1d,\n\t0x766c: 0xe0000c28, 0x766d: 0xe0000c22, 0x766e: 0xe0000c34, 0x766f: 0xe0000c40,\n\t0x7670: 0xe0000aad, 0x7671: 0xe0000d60, 0x7672: 0xe0000d97, 0x7673: 0xe0000d91,\n\t0x7674: 0xe0000da3, 0x7675: 0xe0000de3, 0x7676: 0x402ee420, 0x7677: 0x40093c20,\n\t0x7678: 0xe0000e0f, 0x7679: 0xe0000fde, 0x767a: 0xe0000fd8, 0x767b: 0xe0000fea,\n\t0x767c: 0x40306e20, 0x767d: 0xe00010ff, 0x767e: 0x40318820, 0x767f: 0xe0001114,\n\t// Block 0x1da, offset 0x7680\n\t0x7680: 0xe0000983, 0x7681: 0xe0000980, 0x7682: 0xe00008fb, 0x7683: 0xe00008f8,\n\t0x7684: 0xe000097d, 0x7685: 0xe000097a, 0x7686: 0xe0000a38, 0x7687: 0xe0000a35,\n\t0x7688: 0xe0000a3e, 0x7689: 0xe0000a3b, 0x768a: 0xe0000a4a, 0x768b: 0xe0000a47,\n\t0x768c: 0xe0000a44, 0x768d: 0xe0000a41, 0x768e: 0xe0000a86, 0x768f: 0xe0000a83,\n\t0x7690: 0xe0000aaa, 0x7691: 0xe0000aa7, 0x7692: 0xe0000b46, 0x7693: 0xe0000b43,\n\t0x7694: 0xe0000aee, 0x7695: 0xe0000aeb, 0x7696: 0xe0000b2c, 0x7697: 0xe0000b29,\n\t0x7698: 0xe0000b40, 0x7699: 0xe0000b3d, 0x769a: 0xe0000b1a, 0x769b: 0xe0000b17,\n\t0x769c: 0xe0000bb8, 0x769d: 0xe0000bb5, 0x769e: 0x002d2483, 0x769f: 0x402d2420,\n\t0x76a0: 0xe0000bc4, 0x76a1: 0xe0000bc1, 0x76a2: 0xe0000bca, 0x76a3: 0xe0000bc7,\n\t0x76a4: 0xe0000bee, 0x76a5: 0xe0000beb, 0x76a6: 0xe0000c1b, 0x76a7: 0xe0000c18,\n\t0x76a8: 0xe000292b, 0x76a9: 0xe0000c4e, 0x76aa: 0xe0002931, 0x76ab: 0xe0000c5d,\n\t0x76ac: 0xe000291b, 0x76ad: 0xe0000c2e, 0x76ae: 0xe000292e, 0x76af: 0xe0000c57,\n\t0x76b0: 0x002d9a83, 0x76b1: 0x402d9820, 0x76b2: 0xe00027e2, 0x76b3: 0xf0000404,\n\t0x76b4: 0xe0000c8a, 0x76b5: 0xe0000c87, 0x76b6: 0xe0000c9f, 0x76b7: 0xe0000c9c,\n\t0x76b8: 0x402f7220, 0x76b9: 0xe0000ccc, 0x76ba: 0xe0000cc9, 0x76bb: 0xe0000cd8,\n\t0x76bc: 0xe0000cd5, 0x76bd: 0xe0000cd2, 0x76be: 0xe0000ccf, 0x76bf: 0xe0000d04,\n\t// Block 0x1db, offset 0x76c0\n\t0x76c0: 0xe0000cfe, 0x76c1: 0xe0000cf8, 0x76c2: 0xe0000cf5, 0x76c3: 0xe0000d51,\n\t0x76c4: 0xe0000d4e, 0x76c5: 0xe0000d6f, 0x76c6: 0xe0000d6c, 0x76c7: 0xe0000d5d,\n\t0x76c8: 0xe0000d5a, 0x76c9: 0xf0000404, 0x76ca: 0x002eda88, 0x76cb: 0x402eda20,\n\t0x76cc: 0xe0000e2e, 0x76cd: 0xe0000e2b, 0x76ce: 0xe0000da0, 0x76cf: 0xe0000d9d,\n\t0x76d0: 0xe0000de0, 0x76d1: 0xe0000ddd, 0x76d2: 0xe0000e93, 0x76d3: 0xe0000e8f,\n\t0x76d4: 0xe0000eca, 0x76d5: 0xe0000ec7, 0x76d6: 0xe0000edc, 0x76d7: 0xe0000ed9,\n\t0x76d8: 0xe0000ed0, 0x76d9: 0xe0000ecd, 0x76da: 0xe0000f1f, 0x76db: 0xe0000f1c,\n\t0x76dc: 0xe0000f2d, 0x76dd: 0xe0000f2a, 0x76de: 0x002fe883, 0x76df: 0x402fe820,\n\t0x76e0: 0xe0000f33, 0x76e1: 0xe0000f30, 0x76e2: 0xe0000f99, 0x76e3: 0xe0000f96,\n\t0x76e4: 0xe0000f8a, 0x76e5: 0xe0000f87, 0x76e6: 0x00303688, 0x76e7: 0x40303620,\n\t0x76e8: 0xe000102b, 0x76e9: 0xe0001028, 0x76ea: 0xe000103f, 0x76eb: 0xe000103c,\n\t0x76ec: 0xe0000fe7, 0x76ed: 0xe0000fe4, 0x76ee: 0xe0000ff9, 0x76ef: 0xe0000ff6,\n\t0x76f0: 0xe0001025, 0x76f1: 0xe0001022, 0x76f2: 0xe0001039, 0x76f3: 0xe0001036,\n\t0x76f4: 0xe00010d8, 0x76f5: 0xe00010d5, 0x76f6: 0xe000110e, 0x76f7: 0xe000110b,\n\t0x76f8: 0xe0001117, 0x76f9: 0xe000113b, 0x76fa: 0xe0001138, 0x76fb: 0xe000114d,\n\t0x76fc: 0xe000114a, 0x76fd: 0xe0001147, 0x76fe: 0xe0001144, 0x76ff: 0xe0000f64,\n\t// Block 0x1dc, offset 0x7700\n\t0x7700: 0x402c1a20, 0x7701: 0x002c2a88, 0x7702: 0x002c3288, 0x7703: 0x402c3220,\n\t0x7704: 0x0031c488, 0x7705: 0x4031c420, 0x7706: 0x002efa88, 0x7707: 0x002c4e88,\n\t0x7708: 0x402c4e20, 0x7709: 0x002c7288, 0x770a: 0x002c7a88, 0x770b: 0x002c8488,\n\t0x770c: 0x402c8420, 0x770d: 0xe000115c, 0x770e: 0x002cae88, 0x770f: 0x002c9a83,\n\t0x7710: 0x002cc288, 0x7711: 0x002d1688, 0x7712: 0x402d1620, 0x7713: 0x002d4488,\n\t0x7714: 0x002d5888, 0x7715: 0x402d7820, 0x7716: 0x002dc288, 0x7717: 0x002db688,\n\t0x7718: 0x002e0a88, 0x7719: 0x402e0a20, 0x771a: 0x402e3820, 0x771b: 0x402e7220,\n\t0x771c: 0x0030a088, 0x771d: 0x002eb488, 0x771e: 0x402ebc20, 0x771f: 0x002f1088,\n\t0x7720: 0xe0000e56, 0x7721: 0xe0000e53, 0x7722: 0x002d6088, 0x7723: 0x402d6020,\n\t0x7724: 0x002f3e88, 0x7725: 0x402f3e20, 0x7726: 0x002f8288, 0x7727: 0x0031b488,\n\t0x7728: 0x4031b420, 0x7729: 0x00300888, 0x772a: 0x40301220, 0x772b: 0x40304220,\n\t0x772c: 0x00304a88, 0x772d: 0x40304a20, 0x772e: 0x00305288, 0x772f: 0xe000105f,\n\t0x7730: 0xe000105c, 0x7731: 0x0030b488, 0x7732: 0x0030cc88, 0x7733: 0x00311888,\n\t0x7734: 0x40311820, 0x7735: 0x00313488, 0x7736: 0x40313420, 0x7737: 0x00316488,\n\t0x7738: 0x00316e88, 0x7739: 0x40316e20, 0x773a: 0x40317820, 0x773b: 0x4031a620,\n\t0x773c: 0x0031bc88, 0x773d: 0x4031bc20, 0x773e: 0xe0000fc9, 0x773f: 0x40319420,\n\t// Block 0x1dd, offset 0x7740\n\t0x7740: 0x40321220, 0x7741: 0x40321a20, 0x7742: 0x40322220, 0x7743: 0x40322a20,\n\t0x7744: 0xe0000ad5, 0x7745: 0xe0000ad1, 0x7746: 0xe0000acd, 0x7747: 0xf0000a0a,\n\t0x7748: 0xf000040a, 0x7749: 0xf0000404, 0x774a: 0xf0000a0a, 0x774b: 0xf000040a,\n\t0x774c: 0xf0000404, 0x774d: 0xe0000947, 0x774e: 0xe0000944, 0x774f: 0xe0002921,\n\t0x7750: 0xe0000c3a, 0x7751: 0xe0000dcc, 0x7752: 0xe0000dc9, 0x7753: 0xe0000ff3,\n\t0x7754: 0xe0000ff0, 0x7755: 0xe0002964, 0x7756: 0xe0002961, 0x7757: 0xe0002952,\n\t0x7758: 0xe000294f, 0x7759: 0xe000295e, 0x775a: 0xe000295b, 0x775b: 0xe0002958,\n\t0x775c: 0xe0002955, 0x775d: 0x402cae20, 0x775e: 0xe0000962, 0x775f: 0xe000095e,\n\t0x7760: 0xe0000976, 0x7761: 0xe0000972, 0x7762: 0xe00009f4, 0x7763: 0xe00009ef,\n\t0x7764: 0x002d3a88, 0x7765: 0x402d3a20, 0x7766: 0xe0000bbe, 0x7767: 0xe0000bbb,\n\t0x7768: 0xe0000c99, 0x7769: 0xe0000c96, 0x776a: 0xe0000e20, 0x776b: 0xe0000e1d,\n\t0x776c: 0xe0000e27, 0x776d: 0xe0000e23, 0x776e: 0xe0001162, 0x776f: 0xe000115f,\n\t0x7770: 0xe0000c8d, 0x7771: 0xf0000a0a, 0x7772: 0xf000040a, 0x7773: 0xf0000404,\n\t0x7774: 0xe0000bac, 0x7775: 0xe0000ba9, 0x7776: 0x002d7888, 0x7777: 0x00319488,\n\t0x7778: 0xe0000d57, 0x7779: 0xe0000d54, 0x777a: 0xe0000954, 0x777b: 0xe0000950,\n\t0x777c: 0xe00009ea, 0x777d: 0xe00009e5, 0x777e: 0xe0000e19, 0x777f: 0xe0000e15,\n\t// Block 0x1de, offset 0x7780\n\t0x7780: 0xe000098f, 0x7781: 0xe000098c, 0x7782: 0xe0000995, 0x7783: 0xe0000992,\n\t0x7784: 0xe0000b62, 0x7785: 0xe0000b5f, 0x7786: 0xe0000b68, 0x7787: 0xe0000b65,\n\t0x7788: 0xe0002937, 0x7789: 0xe0000c69, 0x778a: 0xe000293a, 0x778b: 0xe0000c6f,\n\t0x778c: 0xe0000e4a, 0x778d: 0xe0000e47, 0x778e: 0xe0000e50, 0x778f: 0xe0000e4d,\n\t0x7790: 0xe0000ee8, 0x7791: 0xe0000ee5, 0x7792: 0xe0000eee, 0x7793: 0xe0000eeb,\n\t0x7794: 0xe0001053, 0x7795: 0xe0001050, 0x7796: 0xe0001059, 0x7797: 0xe0001056,\n\t0x7798: 0xe0000f61, 0x7799: 0xe0000f5e, 0x779a: 0xe0000fa5, 0x779b: 0xe0000fa2,\n\t0x779c: 0x00312288, 0x779d: 0x40312220, 0x779e: 0xe0000bf4, 0x779f: 0xe0000bf1,\n\t0x77a0: 0x002ebc88, 0x77a1: 0x402c8c20, 0x77a2: 0x002f2288, 0x77a3: 0x402f2220,\n\t0x77a4: 0x00314088, 0x77a5: 0x40314020, 0x77a6: 0xe000096f, 0x77a7: 0xe000096c,\n\t0x77a8: 0xe0000b32, 0x77a9: 0xe0000b2f, 0x77aa: 0xe000294c, 0x77ab: 0xe0002949,\n\t0x77ac: 0xe0000dfd, 0x77ad: 0xe0000df9, 0x77ae: 0xe0000e04, 0x77af: 0xe0000e01,\n\t0x77b0: 0xe0000e0b, 0x77b1: 0xe0000e07, 0x77b2: 0xe0001129, 0x77b3: 0xe0001126,\n\t0x77b4: 0x402e5e20, 0x77b5: 0x402ed020, 0x77b6: 0x40305a20, 0x77b7: 0x402dd420,\n\t0x77b8: 0xe0000abf, 0x77b9: 0xe0000ec4, 0x77ba: 0x002be888, 0x77bb: 0x002c4488,\n\t0x77bc: 0x402c4420, 0x77bd: 0x002e3888, 0x77be: 0x00303e88, 0x77bf: 0x402ffc20,\n\t// Block 0x1df, offset 0x77c0\n\t0x77c0: 0x40315820, 0x77c1: 0x0031d488, 0x77c2: 0x4031d420, 0x77c3: 0x002c1a88,\n\t0x77c4: 0x00307c88, 0x77c5: 0x0030da88, 0x77c6: 0x002ca288, 0x77c7: 0x402ca220,\n\t0x77c8: 0x002dde88, 0x77c9: 0x402dde20, 0x77ca: 0x002f6a88, 0x77cb: 0x402f6a20,\n\t0x77cc: 0x002f8e88, 0x77cd: 0x402f8e20, 0x77ce: 0x00311088, 0x77cf: 0x40311020,\n\t0x77d0: 0x402bf020, 0x77d1: 0x402bf820, 0x77d2: 0x402c0220, 0x77d3: 0x402c2a20,\n\t0x77d4: 0x402efa20, 0x77d5: 0x402c5620, 0x77d6: 0x402c7220, 0x77d7: 0x402c7a20,\n\t0x77d8: 0x402ccc20, 0x77d9: 0x402c9a20, 0x77da: 0x402cd420, 0x77db: 0x402cc220,\n\t0x77dc: 0x402cdc20, 0x77dd: 0x402ce820, 0x77de: 0x402cf020, 0x77df: 0x402dee20,\n\t0x77e0: 0x402d4420, 0x77e1: 0x402d2a20, 0x77e2: 0x402d3220, 0x77e3: 0x402d5820,\n\t0x77e4: 0x402d0020, 0x77e5: 0x40308820, 0x77e6: 0x402d8020, 0x77e7: 0x402d8e20,\n\t0x77e8: 0x402db620, 0x77e9: 0x402dc220, 0x77ea: 0x402daa20, 0x77eb: 0x402e4220,\n\t0x77ec: 0x402e4a20, 0x77ed: 0x402e5420, 0x77ee: 0x402e6820, 0x77ef: 0x4030a020,\n\t0x77f0: 0x4030ac20, 0x77f1: 0x402e9020, 0x77f2: 0x402eb420, 0x77f3: 0x402ec820,\n\t0x77f4: 0x402ea620, 0x77f5: 0x402f1020, 0x77f6: 0x402eee20, 0x77f7: 0x402f1a20,\n\t0x77f8: 0x402f4c20, 0x77f9: 0x402f9820, 0x77fa: 0x402fa220, 0x77fb: 0x402fac20,\n\t0x77fc: 0x402fb620, 0x77fd: 0x402fbe20, 0x77fe: 0x402fc620, 0x77ff: 0x402fd020,\n\t// Block 0x1e0, offset 0x7800\n\t0x7800: 0xe00009b1, 0x7801: 0xe00009ae, 0x7802: 0xe0000a22, 0x7803: 0xe0000a1f,\n\t0x7804: 0xe0000a28, 0x7805: 0xe0000a25, 0x7806: 0xe0000a2e, 0x7807: 0xe0000a2b,\n\t0x7808: 0xe000260e, 0x7809: 0xe000260b, 0x780a: 0xe0000a8c, 0x780b: 0xe0000a89,\n\t0x780c: 0xe0000a98, 0x780d: 0xe0000a95, 0x780e: 0xe0000aa4, 0x780f: 0xe0000aa1,\n\t0x7810: 0xe0000a92, 0x7811: 0xe0000a8f, 0x7812: 0xe0000a9e, 0x7813: 0xe0000a9b,\n\t0x7814: 0xe0000b55, 0x7815: 0xe0000b51, 0x7816: 0xe0000b4d, 0x7817: 0xe0000b49,\n\t0x7818: 0xe0000b7c, 0x7819: 0xe0000b79, 0x781a: 0xe0000b82, 0x781b: 0xe0000b7f,\n\t0x781c: 0xe0000b39, 0x781d: 0xe0000b35, 0x781e: 0xe0000b8c, 0x781f: 0xe0000b89,\n\t0x7820: 0xe0000bd0, 0x7821: 0xe0000bcd, 0x7822: 0xe0000c00, 0x7823: 0xe0000bfd,\n\t0x7824: 0xe0000c0c, 0x7825: 0xe0000c09, 0x7826: 0xe0000bfa, 0x7827: 0xe0000bf7,\n\t0x7828: 0xe0000c06, 0x7829: 0xe0000c03, 0x782a: 0xe0000c12, 0x782b: 0xe0000c0f,\n\t0x782c: 0xe0002940, 0x782d: 0xe0000c7b, 0x782e: 0xe0002927, 0x782f: 0xe0000c46,\n\t0x7830: 0xe0000c93, 0x7831: 0xe0000c90, 0x7832: 0xe0000cab, 0x7833: 0xe0000ca8,\n\t0x7834: 0xe0000cb1, 0x7835: 0xe0000cae, 0x7836: 0xe0000cde, 0x7837: 0xe0000cdb,\n\t0x7838: 0xe0000ce5, 0x7839: 0xe0000ce1, 0x783a: 0xe0000cf2, 0x783b: 0xe0000cef,\n\t0x783c: 0xe0000cec, 0x783d: 0xe0000ce9, 0x783e: 0xe0000d1e, 0x783f: 0xe0000d1b,\n\t// Block 0x1e1, offset 0x7840\n\t0x7840: 0xe0000d24, 0x7841: 0xe0000d21, 0x7842: 0xe0000d2a, 0x7843: 0xe0000d27,\n\t0x7844: 0xe0000d69, 0x7845: 0xe0000d66, 0x7846: 0xe0000d7b, 0x7847: 0xe0000d78,\n\t0x7848: 0xe0000d87, 0x7849: 0xe0000d84, 0x784a: 0xe0000d81, 0x784b: 0xe0000d7e,\n\t0x784c: 0xe0000ded, 0x784d: 0xe0000de9, 0x784e: 0xe0002946, 0x784f: 0xe0002943,\n\t0x7850: 0xe0000e3d, 0x7851: 0xe0000e39, 0x7852: 0xe0000e35, 0x7853: 0xe0000e31,\n\t0x7854: 0xe0000ea7, 0x7855: 0xe0000ea4, 0x7856: 0xe0000ead, 0x7857: 0xe0000eaa,\n\t0x7858: 0xe0000ed6, 0x7859: 0xe0000ed3, 0x785a: 0xe0000ef4, 0x785b: 0xe0000ef1,\n\t0x785c: 0xe0000efb, 0x785d: 0xe0000ef7, 0x785e: 0xe0000f02, 0x785f: 0xe0000eff,\n\t0x7860: 0xe0000f41, 0x7861: 0xe0000f3e, 0x7862: 0xe0000f53, 0x7863: 0xe0000f50,\n\t0x7864: 0xe0000f26, 0x7865: 0xe0000f22, 0x7866: 0xe0000f3a, 0x7867: 0xe0000f36,\n\t0x7868: 0xe0000f5a, 0x7869: 0xe0000f56, 0x786a: 0xe0000f93, 0x786b: 0xe0000f90,\n\t0x786c: 0xe0000f9f, 0x786d: 0xe0000f9c, 0x786e: 0xe0000fb1, 0x786f: 0xe0000fae,\n\t0x7870: 0xe0000fab, 0x7871: 0xe0000fa8, 0x7872: 0xe0001093, 0x7873: 0xe0001090,\n\t0x7874: 0xe000109f, 0x7875: 0xe000109c, 0x7876: 0xe0001099, 0x7877: 0xe0001096,\n\t0x7878: 0xe0001032, 0x7879: 0xe000102e, 0x787a: 0xe0002964, 0x787b: 0xe0002961,\n\t0x787c: 0xe00010a9, 0x787d: 0xe00010a6, 0x787e: 0xe00010af, 0x787f: 0xe00010ac,\n\t// Block 0x1e2, offset 0x7880\n\t0x7880: 0xe00010d2, 0x7881: 0xe00010cf, 0x7882: 0xe00010cc, 0x7883: 0xe00010c9,\n\t0x7884: 0xe00010e1, 0x7885: 0xe00010de, 0x7886: 0xe00010e7, 0x7887: 0xe00010e4,\n\t0x7888: 0xe00010ed, 0x7889: 0xe00010ea, 0x788a: 0xe0002912, 0x788b: 0xe000290f,\n\t0x788c: 0xe000290c, 0x788d: 0xe0002909, 0x788e: 0xe0001123, 0x788f: 0xe0001120,\n\t0x7890: 0xe0001141, 0x7891: 0xe000113e, 0x7892: 0xe0001153, 0x7893: 0xe0001150,\n\t0x7894: 0xe0001159, 0x7895: 0xe0001156, 0x7896: 0xe0000c15, 0x7897: 0xe0000f8d,\n\t0x7898: 0xe00010db, 0x7899: 0xe0001111, 0x789a: 0xf0000404, 0x789b: 0xe0000f70,\n\t0x789c: 0x40300420, 0x789d: 0x40300620, 0x789e: 0xe0000f7f, 0x789f: 0x402c9620,\n\t0x78a0: 0xe000099b, 0x78a1: 0xe0000998, 0x78a2: 0xe0000989, 0x78a3: 0xe0000986,\n\t0x78a4: 0xe0000928, 0x78a5: 0xe0000924, 0x78a6: 0xe0000930, 0x78a7: 0xe000092c,\n\t0x78a8: 0xe0000940, 0x78a9: 0xe000093c, 0x78aa: 0xe0000938, 0x78ab: 0xe0000934,\n\t0x78ac: 0xe00009aa, 0x78ad: 0xe00009a6, 0x78ae: 0xe0000902, 0x78af: 0xe00008fe,\n\t0x78b0: 0xe000090a, 0x78b1: 0xe0000906, 0x78b2: 0xe000091a, 0x78b3: 0xe0000916,\n\t0x78b4: 0xe0000912, 0x78b5: 0xe000090e, 0x78b6: 0xe00009a2, 0x78b7: 0xe000099e,\n\t0x78b8: 0xe0000b6e, 0x78b9: 0xe0000b6b, 0x78ba: 0xe0000b5c, 0x78bb: 0xe0000b59,\n\t0x78bc: 0xe0000b26, 0x78bd: 0xe0000b23, 0x78be: 0xe0000afb, 0x78bf: 0xe0000af7,\n\t// Block 0x1e3, offset 0x78c0\n\t0x78c0: 0xe0000b03, 0x78c1: 0xe0000aff, 0x78c2: 0xe0000b13, 0x78c3: 0xe0000b0f,\n\t0x78c4: 0xe0000b0b, 0x78c5: 0xe0000b07, 0x78c6: 0xe0000b75, 0x78c7: 0xe0000b71,\n\t0x78c8: 0xe0002934, 0x78c9: 0xe0000c63, 0x78ca: 0xe000293d, 0x78cb: 0xe0000c75,\n\t0x78cc: 0xe0000e84, 0x78cd: 0xe0000e81, 0x78ce: 0xe0000e44, 0x78cf: 0xe0000e41,\n\t0x78d0: 0xe0000dad, 0x78d1: 0xe0000da9, 0x78d2: 0xe0000db5, 0x78d3: 0xe0000db1,\n\t0x78d4: 0xe0000dc5, 0x78d5: 0xe0000dc1, 0x78d6: 0xe0000dbd, 0x78d7: 0xe0000db9,\n\t0x78d8: 0xe0000e8b, 0x78d9: 0xe0000e87, 0x78da: 0xe0000e5d, 0x78db: 0xe0000e59,\n\t0x78dc: 0xe0000e65, 0x78dd: 0xe0000e61, 0x78de: 0xe0000e75, 0x78df: 0xe0000e71,\n\t0x78e0: 0xe0000e6d, 0x78e1: 0xe0000e69, 0x78e2: 0xe0000e7d, 0x78e3: 0xe0000e79,\n\t0x78e4: 0xe000108d, 0x78e5: 0xe000108a, 0x78e6: 0xe000104d, 0x78e7: 0xe000104a,\n\t0x78e8: 0xe0001066, 0x78e9: 0xe0001062, 0x78ea: 0xe000106e, 0x78eb: 0xe000106a,\n\t0x78ec: 0xe000107e, 0x78ed: 0xe000107a, 0x78ee: 0xe0001076, 0x78ef: 0xe0001072,\n\t0x78f0: 0xe0001086, 0x78f1: 0xe0001082, 0x78f2: 0xe0001108, 0x78f3: 0xe0001105,\n\t0x78f4: 0xe0001135, 0x78f5: 0xe0001132, 0x78f6: 0xe000112f, 0x78f7: 0xe000112c,\n\t0x78f8: 0xe000111d, 0x78f9: 0xe000111a, 0x78fa: 0xe0000d0a, 0x78fb: 0xe0000d07,\n\t0x78fc: 0x0030d888, 0x78fd: 0x4030d820, 0x78fe: 0x00312088, 0x78ff: 0x40312020,\n\t// Block 0x1e4, offset 0x7900\n\t0x7900: 0x00093685, 0x7901: 0x40083620, 0x7902: 0x40083820, 0x7903: 0x40083a20,\n\t0x7904: 0x40083c20, 0x7905: 0x002c628b, 0x7906: 0x002c6285, 0x7907: 0x002c9885,\n\t0x7908: 0x002d9a85, 0x7909: 0x002dcc85, 0x790a: 0x40083e20, 0x790b: 0x400a6e20,\n\t0x790c: 0x40084020, 0x790d: 0xe00009c4, 0x790e: 0x402d1e20, 0x790f: 0x40084220,\n\t0x7910: 0xe00002cb, 0x7911: 0xe00002d3, 0x7912: 0xe00002b2, 0x7913: 0xe00002bb,\n\t0x7914: 0xe00003cd, 0x7915: 0xe00002c3, 0x7916: 0xe00003d1, 0x7917: 0xe00004ab,\n\t0x7918: 0xe0000579, 0x7919: 0xe00002c7, 0x791a: 0xe0000640, 0x791b: 0xe00002cf,\n\t0x791c: 0xe00004af, 0x791d: 0xe0000644, 0x791e: 0xe0000798, 0x791f: 0xf0001e1e,\n\t0x7920: 0x002d9a8a, 0x7921: 0xe00027d4, 0x7922: 0xe00027db, 0x7923: 0xe00027ee,\n\t0x7924: 0x0030be8a, 0x7925: 0xe0002848, 0x7926: 0xe000284f, 0x7927: 0xe00010bb,\n\t0x7928: 0xe00027f4, 0x7929: 0x0030f68a, 0x792a: 0xe0002883, 0x792b: 0xe000288a,\n\t0x792c: 0x002e228a, 0x792d: 0x002c3a8a, 0x792e: 0x002c628a, 0x792f: 0x002e828a,\n\t0x7930: 0x002d9a84, 0x7931: 0xf0001f04, 0x7932: 0xf0000404, 0x7933: 0xf0001f04,\n\t0x7934: 0x0030be84, 0x7935: 0xf0001f04, 0x7936: 0xf0000404, 0x7937: 0xe00010b6,\n\t0x7938: 0xe00027f1, 0x7939: 0x0030f684, 0x793a: 0xe0002880, 0x793b: 0xe0002886,\n\t0x793c: 0x002e2284, 0x793d: 0x002c3a84, 0x793e: 0x002c6284, 0x793f: 0x002e8284,\n\t// Block 0x1e5, offset 0x7940\n\t0x7940: 0xe0000024, 0x7941: 0xe0000029, 0x7942: 0xe000002e, 0x7943: 0xe0000033,\n\t0x7944: 0xe0000038, 0x7945: 0xe000003d, 0x7946: 0xe0000042, 0x7947: 0xe0000047,\n\t0x7948: 0xf0001f04, 0x7949: 0xf0001f04, 0x794a: 0xf0001f04, 0x794b: 0xf0001f04,\n\t0x794c: 0xf0001f04, 0x794d: 0xf0001f04, 0x794e: 0xf0001f04, 0x794f: 0xf0001f04,\n\t0x7950: 0xf0001f04, 0x7951: 0xf0000404, 0x7952: 0xf0000404, 0x7953: 0xf0000404,\n\t0x7954: 0xf0000404, 0x7955: 0xf0000404, 0x7956: 0xf0000404, 0x7957: 0xf0000404,\n\t0x7958: 0xf0000404, 0x7959: 0xf0000404, 0x795a: 0xf0000404, 0x795b: 0xf0000404,\n\t0x795c: 0xf0000404, 0x795d: 0xf0000404, 0x795e: 0xf0000404, 0x795f: 0xf0000404,\n\t0x7960: 0xf0000404, 0x7961: 0xf0000404, 0x7962: 0xf0000404, 0x7963: 0xf0000404,\n\t0x7964: 0xf0000404, 0x7965: 0xf0000404, 0x7966: 0xf0000404, 0x7967: 0xf0000404,\n\t0x7968: 0xf0000404, 0x7969: 0xf0000404, 0x796a: 0xf0000404, 0x796b: 0xf0000404,\n\t0x796c: 0xe00024c7, 0x796d: 0xf0000404, 0x796e: 0xf0000404, 0x796f: 0xf0000404,\n\t0x7970: 0xf0000404, 0x7971: 0xf0000404, 0x7972: 0xf0000404, 0x7973: 0xe00024e7,\n\t0x7974: 0xf0000404, 0x7975: 0xf0000404, 0x7976: 0x002bde8c, 0x7977: 0x002c0a8c,\n\t0x7978: 0x002c3a8c, 0x7979: 0x002c628c, 0x797a: 0x002c988c, 0x797b: 0x002d088c,\n\t0x797c: 0x002d228c, 0x797d: 0x002d688c, 0x797e: 0x002d9a8c, 0x797f: 0x002dcc8c,\n\t// Block 0x1e6, offset 0x7980\n\t0x7980: 0xe000230b, 0x7981: 0xe00022f8, 0x7982: 0xe00022fc, 0x7983: 0xe0002311,\n\t0x7984: 0xe0002316, 0x7985: 0xe000231d, 0x7986: 0xe0002321, 0x7987: 0xe0002325,\n\t0x7988: 0xe000232b, 0x7989: 0xf0001c1c, 0x798a: 0xe0002330, 0x798b: 0xe000233c,\n\t0x798c: 0xe0002340, 0x798d: 0xe0002337, 0x798e: 0xe0002346, 0x798f: 0xe000234b,\n\t0x7990: 0xe000234f, 0x7991: 0xe0002353, 0x7992: 0xf0001c1c, 0x7993: 0xe000235e,\n\t0x7994: 0xe0002358, 0x7995: 0xf0001c1c, 0x7996: 0xe0002363, 0x7997: 0xe000236d,\n\t0x7998: 0xf0001f04, 0x7999: 0xf0001f04, 0x799a: 0xf0001f04, 0x799b: 0xf0001f04,\n\t0x799c: 0xf0001f04, 0x799d: 0xf0001f04, 0x799e: 0xf0001f04, 0x799f: 0xf0001f04,\n\t0x79a0: 0xf0001f04, 0x79a1: 0xf0001f04, 0x79a2: 0xf0000404, 0x79a3: 0xf0000404,\n\t0x79a4: 0xf0000404, 0x79a5: 0xf0000404, 0x79a6: 0xf0000404, 0x79a7: 0xf0000404,\n\t0x79a8: 0xf0000404, 0x79a9: 0xf0000404, 0x79aa: 0xf0000404, 0x79ab: 0xf0000404,\n\t0x79ac: 0xf0000404, 0x79ad: 0xf0000404, 0x79ae: 0xf0000404, 0x79af: 0xf0000404,\n\t0x79b0: 0xf0000404, 0x79b1: 0xe0000c1e, 0x79b2: 0xf0001c1c, 0x79b3: 0xf0001d1d,\n\t0x79b4: 0xe0000a31, 0x79b5: 0xf0001d1c, 0x79b6: 0xf0001c1c, 0x79b7: 0xf0001c1c,\n\t0x79b8: 0xe0000ac2, 0x79b9: 0xe0000ac6, 0x79ba: 0xe00027e8, 0x79bb: 0xf0001c1c,\n\t0x79bc: 0xf0001c1c, 0x79bd: 0xf0001c1c, 0x79be: 0xf0001c1c, 0x79bf: 0xe0002431,\n\t// Block 0x1e7, offset 0x79c0\n\t0x79c0: 0xf0001d1c, 0x79c1: 0xf0001d1d, 0x79c2: 0xe00009b7, 0x79c3: 0xe00024f3,\n\t0x79c4: 0xf0001c1c, 0x79c5: 0xf0001c1c, 0x79c6: 0xe0000a66, 0x79c7: 0xe0000a7a,\n\t0x79c8: 0xf0001d1c, 0x79c9: 0xf0001c1d, 0x79ca: 0xf0001c1c, 0x79cb: 0xf0001d1d,\n\t0x79cc: 0xf0001c1c, 0x79cd: 0xf0001d1d, 0x79ce: 0xf0001d1d, 0x79cf: 0xf0001c1c,\n\t0x79d0: 0xf0001c1c, 0x79d1: 0xf0001c1c, 0x79d2: 0xe0000d0d, 0x79d3: 0xe0002818,\n\t0x79d4: 0xf0001c1c, 0x79d5: 0xe0000d3a, 0x79d6: 0xe0000d46, 0x79d7: 0xf0001d1d,\n\t0x79d8: 0xe0000eb0, 0x79d9: 0xe0000eb8, 0x79da: 0xf0001d1d, 0x79db: 0xf0001c1c,\n\t0x79dc: 0xf0001c1d, 0x79dd: 0xf0001c1d, 0x79de: 0xe00010b2, 0x79df: 0xe00009c8,\n\t0x79e0: 0xf0001f04, 0x79e1: 0xf0001f04, 0x79e2: 0xf0001f04, 0x79e3: 0xf0001f04,\n\t0x79e4: 0xf0001f04, 0x79e5: 0xf0001f04, 0x79e6: 0xf0001f04, 0x79e7: 0xf0001f04,\n\t0x79e8: 0xf0001f04, 0x79e9: 0xf0000404, 0x79ea: 0xf0000404, 0x79eb: 0xf0000404,\n\t0x79ec: 0xf0000404, 0x79ed: 0xf0000404, 0x79ee: 0xf0000404, 0x79ef: 0xf0000404,\n\t0x79f0: 0xf0000404, 0x79f1: 0xf0000404, 0x79f2: 0xf0000404, 0x79f3: 0xf0000404,\n\t0x79f4: 0xf0000404, 0x79f5: 0xf0000404, 0x79f6: 0xf0000404, 0x79f7: 0xf0000404,\n\t0x79f8: 0xf0000404, 0x79f9: 0xf0000404, 0x79fa: 0xf0000404, 0x79fb: 0xf0000404,\n\t0x79fc: 0xf0000404, 0x79fd: 0xf0000404, 0x79fe: 0xf0000404, 0x79ff: 0xe0000bdf,\n\t// Block 0x1e8, offset 0x7a00\n\t0x7a00: 0xf0001f04, 0x7a01: 0xf0001f04, 0x7a02: 0xf0001f04, 0x7a03: 0xf0001f04,\n\t0x7a04: 0xf0001f04, 0x7a05: 0xf0001f04, 0x7a06: 0xf0001f04, 0x7a07: 0xf0001f04,\n\t0x7a08: 0xf0001f04, 0x7a09: 0xf0001f04, 0x7a0a: 0xf0001f04,\n\t0x7a10: 0xf0000a04, 0x7a11: 0xf0000a04, 0x7a12: 0xf0000a04, 0x7a13: 0xf0000a04,\n\t0x7a14: 0xf0000a04, 0x7a15: 0xf0000a04, 0x7a16: 0xf0000a04, 0x7a17: 0xf0000a04,\n\t0x7a18: 0xe00024b3, 0x7a19: 0xf0000a04, 0x7a1a: 0xf0000a04, 0x7a1b: 0xf0000a04,\n\t0x7a1c: 0xf0000a04, 0x7a1d: 0xf0000a04, 0x7a1e: 0xf0000a04, 0x7a1f: 0xf0000a04,\n\t0x7a20: 0xe00024cb, 0x7a21: 0xf0000a04, 0x7a22: 0xf0000a04, 0x7a23: 0xf0000a04,\n\t0x7a24: 0xf0000a04, 0x7a25: 0xf0000a04, 0x7a26: 0xf0000a04, 0x7a27: 0xe00024eb,\n\t0x7a28: 0xf0000a04, 0x7a29: 0xf0000a04, 0x7a2a: 0xf0000a04, 0x7a2b: 0x002c3a8c,\n\t0x7a2c: 0x002f7a8c, 0x7a2d: 0xf0000c0c, 0x7a2e: 0xf0000c0c,\n\t0x7a30: 0x002bde9d, 0x7a31: 0x002c0a9d, 0x7a32: 0x002c3a9d, 0x7a33: 0x002c629d,\n\t0x7a34: 0x002c989d, 0x7a35: 0x002d089d, 0x7a36: 0x002d229d, 0x7a37: 0x002d689d,\n\t0x7a38: 0x002d9a9d, 0x7a39: 0x002dcc9d, 0x7a3a: 0x002dfe9d, 0x7a3b: 0x002e229d,\n\t0x7a3c: 0x002e829d, 0x7a3d: 0x002e9e9d, 0x7a3e: 0x002ee29d, 0x7a3f: 0x002f2c9d,\n\t// Block 0x1e9, offset 0x7a40\n\t0x7a40: 0xe00014bd, 0x7a41: 0x0033b483, 0x7a42: 0x00339688, 0x7a43: 0x0033a288,\n\t0x7a44: 0x0033c288, 0x7a45: 0x0033fc88, 0x7a46: 0xc02a0071, 0x7a47: 0x00343688,\n\t0x7a48: 0x00344688, 0x7a49: 0x00349a88, 0x7a4a: 0x0034e488, 0x7a4b: 0x00356288,\n\t0x7a4c: 0x00356a88, 0x7a4d: 0xe00014cf, 0x7a4e: 0x00357a88, 0x7a4f: 0x00365488,\n\t0x7a50: 0xc0090041, 0x7a51: 0x00335288, 0x7a52: 0x00335a88, 0x7a53: 0xc0130092,\n\t0x7a54: 0x00338a88, 0x7a55: 0xc34c0041, 0x7a56: 0xc01c0071, 0x7a57: 0xc0200071,\n\t0x7a58: 0xc0250041, 0x7a59: 0x00343e88, 0x7a5a: 0xc0370092, 0x7a5b: 0x00348488,\n\t0x7a5c: 0x0034a888, 0x7a5d: 0x0034ba88, 0x7a5e: 0xc02e0071, 0x7a5f: 0x00350e88,\n\t0x7a60: 0x00352888, 0x7a61: 0x00353a88, 0x7a62: 0x00354c88, 0x7a63: 0xc03e00f1,\n\t0x7a64: 0x0035ac88, 0x7a65: 0x0035b488, 0x7a66: 0x00360288, 0x7a67: 0xc0440071,\n\t0x7a68: 0x00365c88, 0x7a69: 0x00366688, 0x7a6a: 0x00367488, 0x7a6b: 0xc0480071,\n\t0x7a6c: 0x00368e88, 0x7a6d: 0xc04c0071, 0x7a6e: 0x0036b888, 0x7a6f: 0x0036c488,\n\t0x7a70: 0xc0060041, 0x7a71: 0x40335220, 0x7a72: 0x40335a20, 0x7a73: 0xc0100092,\n\t0x7a74: 0x40338a20, 0x7a75: 0xc3490041, 0x7a76: 0xc01a0071, 0x7a77: 0xc01e0071,\n\t0x7a78: 0xc0220041, 0x7a79: 0x40343e20, 0x7a7a: 0xc0340092, 0x7a7b: 0x40348420,\n\t0x7a7c: 0x4034a820, 0x7a7d: 0x4034ba20, 0x7a7e: 0xc02c0071, 0x7a7f: 0x40350e20,\n\t// Block 0x1ea, offset 0x7a80\n\t0x7a80: 0x40352820, 0x7a81: 0x40353a20, 0x7a82: 0x40354c20, 0x7a83: 0xc03a00f1,\n\t0x7a84: 0x4035ac20, 0x7a85: 0x4035b420, 0x7a86: 0x40360220, 0x7a87: 0xc0420071,\n\t0x7a88: 0x40365c20, 0x7a89: 0x40366620, 0x7a8a: 0x40367420, 0x7a8b: 0xc0460071,\n\t0x7a8c: 0x40368e20, 0x7a8d: 0xc04a0071, 0x7a8e: 0x4036b820, 0x7a8f: 0x4036c420,\n\t0x7a90: 0xe00014ba, 0x7a91: 0x4033b420, 0x7a92: 0x40339620, 0x7a93: 0x4033a220,\n\t0x7a94: 0x4033c220, 0x7a95: 0x4033fc20, 0x7a96: 0xc0280071, 0x7a97: 0x40343620,\n\t0x7a98: 0x40344620, 0x7a99: 0x40349a20, 0x7a9a: 0x4034e420, 0x7a9b: 0x40356220,\n\t0x7a9c: 0x40356a20, 0x7a9d: 0xe00014cc, 0x7a9e: 0x40357a20, 0x7a9f: 0x40365420,\n\t0x7aa0: 0x0035e088, 0x7aa1: 0x4035e020, 0x7aa2: 0x00369e88, 0x7aa3: 0x40369e20,\n\t0x7aa4: 0x0036ce88, 0x7aa5: 0x4036ce20, 0x7aa6: 0x0036d688, 0x7aa7: 0x4036d620,\n\t0x7aa8: 0x0036ea88, 0x7aa9: 0x4036ea20, 0x7aaa: 0x0036e088, 0x7aab: 0x4036e020,\n\t0x7aac: 0x0036f488, 0x7aad: 0x4036f420, 0x7aae: 0x0036fc88, 0x7aaf: 0x4036fc20,\n\t0x7ab0: 0x00370488, 0x7ab1: 0x40370420, 0x7ab2: 0x00370c88, 0x7ab3: 0x40370c20,\n\t0x7ab4: 0xc0500131, 0x7ab5: 0xc04e0131, 0x7ab6: 0x00371c88, 0x7ab7: 0x40371c20,\n\t0x7ab8: 0x0035a488, 0x7ab9: 0x4035a420, 0x7aba: 0x0035fa88, 0x7abb: 0x4035fa20,\n\t0x7abc: 0x0035f288, 0x7abd: 0x4035f220, 0x7abe: 0x0035e888, 0x7abf: 0x4035e820,\n\t// Block 0x1eb, offset 0x7ac0\n\t0x7ac1: 0x40409c20, 0x7ac2: 0x40409820, 0x7ac3: 0x40409a20,\n\t0x7ac5: 0x40407c20, 0x7ac6: 0x40407e20, 0x7ac7: 0x40408020,\n\t0x7ac8: 0x40408220, 0x7ac9: 0x40408420, 0x7aca: 0x40408620, 0x7acb: 0x40408820,\n\t0x7acc: 0x40408c20, 0x7acf: 0x40409020,\n\t0x7ad0: 0x40409220, 0x7ad3: 0x40409420,\n\t0x7ad4: 0x40409620, 0x7ad5: 0x40409820, 0x7ad6: 0x40409a20, 0x7ad7: 0x40409c20,\n\t0x7ad8: 0x40409e20, 0x7ad9: 0x4040a020, 0x7ada: 0x4040a220, 0x7adb: 0x4040a420,\n\t0x7adc: 0x4040a620, 0x7add: 0x4040a820, 0x7ade: 0x4040aa20, 0x7adf: 0x4040ac20,\n\t0x7ae0: 0x4040ae20, 0x7ae1: 0x4040b020, 0x7ae2: 0x4040b220, 0x7ae3: 0x4040b420,\n\t0x7ae4: 0x4040b620, 0x7ae5: 0x4040b820, 0x7ae6: 0x4040ba20, 0x7ae7: 0x4040bc20,\n\t0x7ae8: 0x4040be20, 0x7aea: 0x4040c020, 0x7aeb: 0x4040c220,\n\t0x7aec: 0x4040c420, 0x7aed: 0x4040c620, 0x7aee: 0x4040c820, 0x7aef: 0x4040ca20,\n\t0x7af0: 0x4040cc20, 0x7af2: 0x4040d020,\n\t0x7af6: 0x4040d420, 0x7af7: 0x4040d620,\n\t0x7af8: 0x4040d820, 0x7af9: 0x4040da20,\n\t0x7afc: 0xa070f102, 0x7afd: 0x4040dc20, 0x7afe: 0x4040de20, 0x7aff: 0x4040e020,\n\t// Block 0x1ec, offset 0x7b00\n\t0x7b00: 0xa0000000, 0x7b01: 0xa0000000, 0x7b02: 0xa0000000, 0x7b03: 0xa0000000,\n\t0x7b04: 0xa0000000, 0x7b05: 0xa0000000, 0x7b06: 0xa0000000, 0x7b07: 0xa0000000,\n\t0x7b08: 0xa0000000, 0x7b09: 0x40020020, 0x7b0a: 0x40020220, 0x7b0b: 0x40020420,\n\t0x7b0c: 0x40020620, 0x7b0d: 0x40020820, 0x7b0e: 0xa0000000, 0x7b0f: 0xa0000000,\n\t0x7b10: 0xa0000000, 0x7b11: 0xa0000000, 0x7b12: 0xa0000000, 0x7b13: 0xa0000000,\n\t0x7b14: 0xa0000000, 0x7b15: 0xa0000000, 0x7b16: 0xa0000000, 0x7b17: 0xa0000000,\n\t0x7b18: 0xa0000000, 0x7b19: 0xa0000000, 0x7b1a: 0xa0000000, 0x7b1b: 0xa0000000,\n\t0x7b1c: 0xa0000000, 0x7b1d: 0xa0000000, 0x7b1e: 0xa0000000, 0x7b1f: 0xa0000000,\n\t0x7b20: 0x40021220, 0x7b21: 0x4002ba20, 0x7b22: 0x4003e020, 0x7b23: 0x4004ea20,\n\t0x7b24: 0x4027de20, 0x7b25: 0x4004ec20, 0x7b26: 0x4004e620, 0x7b27: 0x4003d220,\n\t0x7b28: 0x4003f420, 0x7b29: 0x4003f620, 0x7b2a: 0x4004d820, 0x7b2b: 0x40093820,\n\t0x7b2c: 0x40024020, 0x7b2d: 0x40021a20, 0x7b2e: 0x4002e420, 0x7b2f: 0x4004e220,\n\t0x7b30: 0x4029cc20, 0x7b31: 0x4029ce20, 0x7b32: 0x4029d020, 0x7b33: 0x4029d220,\n\t0x7b34: 0x4029d420, 0x7b35: 0x4029d620, 0x7b36: 0x4029d820, 0x7b37: 0x4029da20,\n\t0x7b38: 0x4029dc20, 0x7b39: 0x4029de20, 0x7b3a: 0x40026c20, 0x7b3b: 0x40026220,\n\t0x7b3c: 0x40094020, 0x7b3d: 0x40094220, 0x7b3e: 0x40094420, 0x7b3f: 0x4002c420,\n\t// Block 0x1ed, offset 0x7b40\n\t0x7b40: 0x4004d620, 0x7b41: 0x002bde88, 0x7b42: 0x002c0a88, 0x7b43: 0x002c3a88,\n\t0x7b44: 0x002c6288, 0x7b45: 0x002c9888, 0x7b46: 0x002d0888, 0x7b47: 0x002d2288,\n\t0x7b48: 0x002d6888, 0x7b49: 0x002d9a88, 0x7b4a: 0x002dcc88, 0x7b4b: 0x002dfe88,\n\t0x7b4c: 0xc3520002, 0x7b4d: 0x002e8288, 0x7b4e: 0x002e9e88, 0x7b4f: 0x002ee288,\n\t0x7b50: 0x002f2c88, 0x7b51: 0x002f5688, 0x7b52: 0x002f7a88, 0x7b53: 0x002fe688,\n\t0x7b54: 0x00302c88, 0x7b55: 0x00306c88, 0x7b56: 0x0030be88, 0x7b57: 0x0030e288,\n\t0x7b58: 0x0030f688, 0x7b59: 0x00310088, 0x7b5a: 0x00312a88, 0x7b5b: 0x4003f820,\n\t0x7b5c: 0x4004e420, 0x7b5d: 0x4003fa20, 0x7b5e: 0x40062420, 0x7b5f: 0x40021620,\n\t0x7b60: 0x40061e20, 0x7b61: 0x402bde20, 0x7b62: 0x402c0a20, 0x7b63: 0x402c3a20,\n\t0x7b64: 0x402c6220, 0x7b65: 0x402c9820, 0x7b66: 0x402d0820, 0x7b67: 0x402d2220,\n\t0x7b68: 0x402d6820, 0x7b69: 0x402d9a20, 0x7b6a: 0x402dcc20, 0x7b6b: 0x402dfe20,\n\t0x7b6c: 0xc34f0002, 0x7b6d: 0x402e8220, 0x7b6e: 0x402e9e20, 0x7b6f: 0x402ee220,\n\t0x7b70: 0x402f2c20, 0x7b71: 0x402f5620, 0x7b72: 0x402f7a20, 0x7b73: 0x402fe620,\n\t0x7b74: 0x40302c20, 0x7b75: 0x40306c20, 0x7b76: 0x4030be20, 0x7b77: 0x4030e220,\n\t0x7b78: 0x4030f620, 0x7b79: 0x40310020, 0x7b7a: 0x40312a20, 0x7b7b: 0x4003fc20,\n\t0x7b7c: 0x40094820, 0x7b7d: 0x4003fe20, 0x7b7e: 0x40094c20, 0x7b7f: 0xa0000000,\n\t// Block 0x1ee, offset 0x7b80\n\t0x7b80: 0xe0000983, 0x7b81: 0xe0000980, 0x7b82: 0xe00008fb, 0x7b83: 0xe00008f8,\n\t0x7b84: 0xe000097d, 0x7b85: 0xe000097a, 0x7b86: 0xe0000a38, 0x7b87: 0xe0000a35,\n\t0x7b88: 0xe0000a3e, 0x7b89: 0xe0000a3b, 0x7b8a: 0xe0000a4a, 0x7b8b: 0xe0000a47,\n\t0x7b8c: 0xe0000a44, 0x7b8d: 0xe0000a41, 0x7b8e: 0xe0000a86, 0x7b8f: 0xe0000a83,\n\t0x7b90: 0xe0000aaa, 0x7b91: 0xe0000aa7, 0x7b92: 0xe0000b46, 0x7b93: 0xe0000b43,\n\t0x7b94: 0xe0000aee, 0x7b95: 0xe0000aeb, 0x7b96: 0xe0000b2c, 0x7b97: 0xe0000b29,\n\t0x7b98: 0xe0000b40, 0x7b99: 0xe0000b3d, 0x7b9a: 0xe0000b1a, 0x7b9b: 0xe0000b17,\n\t0x7b9c: 0xe0000bb8, 0x7b9d: 0xe0000bb5, 0x7b9e: 0xe0000bb2, 0x7b9f: 0xe0000baf,\n\t0x7ba0: 0xe0000bc4, 0x7ba1: 0xe0000bc1, 0x7ba2: 0xe0000bca, 0x7ba3: 0xe0000bc7,\n\t0x7ba4: 0xe0000bee, 0x7ba5: 0xe0000beb, 0x7ba6: 0xe0000c1b, 0x7ba7: 0xe0000c18,\n\t0x7ba8: 0xe0000c51, 0x7ba9: 0xe0000c4e, 0x7baa: 0xe0000c60, 0x7bab: 0xe0000c5d,\n\t0x7bac: 0xe0000c31, 0x7bad: 0xe0000c2e, 0x7bae: 0xe0000c5a, 0x7baf: 0xe0000c57,\n\t0x7bb0: 0xe0000c54, 0x7bb1: 0x402da220, 0x7bb2: 0xf0000a0a, 0x7bb3: 0xf0000404,\n\t0x7bb4: 0xe0000c8a, 0x7bb5: 0xe0000c87, 0x7bb6: 0xe0000c9f, 0x7bb7: 0xe0000c9c,\n\t0x7bb8: 0x402f7220, 0x7bb9: 0xe0000ccc, 0x7bba: 0xe0000cc9, 0x7bbb: 0xe0000cd8,\n\t0x7bbc: 0xe0000cd5, 0x7bbd: 0xe0000cd2, 0x7bbe: 0xe0000ccf, 0x7bbf: 0x002e22a3,\n\t// Block 0x1ef, offset 0x7bc0\n\t0x7bc0: 0x402e2221, 0x7bc1: 0xe0000cf8, 0x7bc2: 0xe0000cf5, 0x7bc3: 0xe0000d51,\n\t0x7bc4: 0xe0000d4e, 0x7bc5: 0xe0000d6f, 0x7bc6: 0xe0000d6c, 0x7bc7: 0xe0000d5d,\n\t0x7bc8: 0xe0000d5a, 0x7bc9: 0xf0000404, 0x7bca: 0x002eda88, 0x7bcb: 0x402eda20,\n\t0x7bcc: 0xe0000e2e, 0x7bcd: 0xe0000e2b, 0x7bce: 0xe0000da0, 0x7bcf: 0xe0000d9d,\n\t0x7bd0: 0xe0000de0, 0x7bd1: 0xe0000ddd, 0x7bd2: 0xe0000e93, 0x7bd3: 0xe0000e8f,\n\t0x7bd4: 0xe0000eca, 0x7bd5: 0xe0000ec7, 0x7bd6: 0xe0000edc, 0x7bd7: 0xe0000ed9,\n\t0x7bd8: 0xe0000ed0, 0x7bd9: 0xe0000ecd, 0x7bda: 0xe0000f1f, 0x7bdb: 0xe0000f1c,\n\t0x7bdc: 0xe0000f2d, 0x7bdd: 0xe0000f2a, 0x7bde: 0xe0000f47, 0x7bdf: 0xe0000f44,\n\t0x7be0: 0xe0000f33, 0x7be1: 0xe0000f30, 0x7be2: 0xe0000f99, 0x7be3: 0xe0000f96,\n\t0x7be4: 0xe0000f8a, 0x7be5: 0xe0000f87, 0x7be6: 0x00303688, 0x7be7: 0x40303620,\n\t0x7be8: 0xe000102b, 0x7be9: 0xe0001028, 0x7bea: 0xe000103f, 0x7beb: 0xe000103c,\n\t0x7bec: 0xe0000fe7, 0x7bed: 0xe0000fe4, 0x7bee: 0xe0000ff9, 0x7bef: 0xe0000ff6,\n\t0x7bf0: 0xe0001025, 0x7bf1: 0xe0001022, 0x7bf2: 0xe0001039, 0x7bf3: 0xe0001036,\n\t0x7bf4: 0xe00010d8, 0x7bf5: 0xe00010d5, 0x7bf6: 0xe000110e, 0x7bf7: 0xe000110b,\n\t0x7bf8: 0xe0001117, 0x7bf9: 0xe000113b, 0x7bfa: 0xe0001138, 0x7bfb: 0xe000114d,\n\t0x7bfc: 0xe000114a, 0x7bfd: 0xe0001147, 0x7bfe: 0xe0001144, 0x7bff: 0xe0000f64,\n\t// Block 0x1f0, offset 0x7c00\n\t0x7c00: 0xa0000000, 0x7c01: 0xa0000000, 0x7c02: 0xa0000000, 0x7c03: 0xa0000000,\n\t0x7c04: 0xa0000000, 0x7c05: 0xa0000000, 0x7c06: 0xa0000000, 0x7c07: 0xa0000000,\n\t0x7c08: 0xa0000000, 0x7c09: 0x40020020, 0x7c0a: 0x40020220, 0x7c0b: 0x40020420,\n\t0x7c0c: 0x40020620, 0x7c0d: 0x40020820, 0x7c0e: 0xa0000000, 0x7c0f: 0xa0000000,\n\t0x7c10: 0xa0000000, 0x7c11: 0xa0000000, 0x7c12: 0xa0000000, 0x7c13: 0xa0000000,\n\t0x7c14: 0xa0000000, 0x7c15: 0xa0000000, 0x7c16: 0xa0000000, 0x7c17: 0xa0000000,\n\t0x7c18: 0xa0000000, 0x7c19: 0xa0000000, 0x7c1a: 0xa0000000, 0x7c1b: 0xa0000000,\n\t0x7c1c: 0xa0000000, 0x7c1d: 0xa0000000, 0x7c1e: 0xa0000000, 0x7c1f: 0xa0000000,\n\t0x7c20: 0x40021220, 0x7c21: 0x4002ba20, 0x7c22: 0x4003e020, 0x7c23: 0x4004ea20,\n\t0x7c24: 0x4027de20, 0x7c25: 0x4004ec20, 0x7c26: 0x4004e620, 0x7c27: 0x4003d220,\n\t0x7c28: 0x4003f420, 0x7c29: 0x4003f620, 0x7c2a: 0x4004d820, 0x7c2b: 0x40093820,\n\t0x7c2c: 0x40024020, 0x7c2d: 0x40021a20, 0x7c2e: 0x4002e420, 0x7c2f: 0x4004e220,\n\t0x7c30: 0x4029cc20, 0x7c31: 0x4029ce20, 0x7c32: 0x4029d020, 0x7c33: 0x4029d220,\n\t0x7c34: 0x4029d420, 0x7c35: 0x4029d620, 0x7c36: 0x4029d820, 0x7c37: 0x4029da20,\n\t0x7c38: 0x4029dc20, 0x7c39: 0x4029de20, 0x7c3a: 0x40026c20, 0x7c3b: 0x40026220,\n\t0x7c3c: 0x40094020, 0x7c3d: 0x40094220, 0x7c3e: 0x40094420, 0x7c3f: 0x4002c420,\n\t// Block 0x1f1, offset 0x7c40\n\t0x7c40: 0x4004d620, 0x7c41: 0x002bde88, 0x7c42: 0x002c0a88, 0x7c43: 0xc3590953,\n\t0x7c44: 0x002c6288, 0x7c45: 0x002c9888, 0x7c46: 0x002d0888, 0x7c47: 0x002d2288,\n\t0x7c48: 0x002d6888, 0x7c49: 0x002d9a88, 0x7c4a: 0x002dcc88, 0x7c4b: 0x002dfe88,\n\t0x7c4c: 0xc0030002, 0x7c4d: 0x002e8288, 0x7c4e: 0x002e9e88, 0x7c4f: 0x002ee288,\n\t0x7c50: 0x002f2c88, 0x7c51: 0x002f5688, 0x7c52: 0xc35f0991, 0x7c53: 0xc3430991,\n\t0x7c54: 0x00302c88, 0x7c55: 0x00306c88, 0x7c56: 0x0030be88, 0x7c57: 0x0030e288,\n\t0x7c58: 0x0030f688, 0x7c59: 0x00310088, 0x7c5a: 0xc3630991, 0x7c5b: 0x4003f820,\n\t0x7c5c: 0x4004e420, 0x7c5d: 0x4003fa20, 0x7c5e: 0x40062420, 0x7c5f: 0x40021620,\n\t0x7c60: 0x40061e20, 0x7c61: 0x402bde20, 0x7c62: 0x402c0a20, 0x7c63: 0xc3550953,\n\t0x7c64: 0x402c6220, 0x7c65: 0x402c9820, 0x7c66: 0x402d0820, 0x7c67: 0x402d2220,\n\t0x7c68: 0x402d6820, 0x7c69: 0x402d9a20, 0x7c6a: 0x402dcc20, 0x7c6b: 0x402dfe20,\n\t0x7c6c: 0xc0000002, 0x7c6d: 0x402e8220, 0x7c6e: 0x402e9e20, 0x7c6f: 0x402ee220,\n\t0x7c70: 0x402f2c20, 0x7c71: 0x402f5620, 0x7c72: 0xc35d0991, 0x7c73: 0xc3410991,\n\t0x7c74: 0x40302c20, 0x7c75: 0x40306c20, 0x7c76: 0x4030be20, 0x7c77: 0x4030e220,\n\t0x7c78: 0x4030f620, 0x7c79: 0x40310020, 0x7c7a: 0xc3610991, 0x7c7b: 0x4003fc20,\n\t0x7c7c: 0x40094820, 0x7c7d: 0x4003fe20, 0x7c7e: 0x40094c20, 0x7c7f: 0xa0000000,\n\t// Block 0x1f2, offset 0x7c80\n\t0x7c80: 0xe0000983, 0x7c81: 0xe0000980, 0x7c82: 0xe00008fb, 0x7c83: 0xe00008f8,\n\t0x7c84: 0xe000097d, 0x7c85: 0xe000097a, 0x7c86: 0xe0000a38, 0x7c87: 0xe0000a35,\n\t0x7c88: 0xe0000a3e, 0x7c89: 0xe0000a3b, 0x7c8a: 0xe0000a4a, 0x7c8b: 0xe0000a47,\n\t0x7c8c: 0x002c3c83, 0x7c8d: 0x402c3c20, 0x7c8e: 0xe0000a86, 0x7c8f: 0xe0000a83,\n\t0x7c90: 0xe0000aaa, 0x7c91: 0xe0000aa7, 0x7c92: 0xe0000b46, 0x7c93: 0xe0000b43,\n\t0x7c94: 0xe0000aee, 0x7c95: 0xe0000aeb, 0x7c96: 0xe0000b2c, 0x7c97: 0xe0000b29,\n\t0x7c98: 0xe0000b40, 0x7c99: 0xe0000b3d, 0x7c9a: 0xe0000b1a, 0x7c9b: 0xe0000b17,\n\t0x7c9c: 0xe0000bb8, 0x7c9d: 0xe0000bb5, 0x7c9e: 0xe0000bb2, 0x7c9f: 0xe0000baf,\n\t0x7ca0: 0xe0000bc4, 0x7ca1: 0xe0000bc1, 0x7ca2: 0xe0000bca, 0x7ca3: 0xe0000bc7,\n\t0x7ca4: 0xe0000bee, 0x7ca5: 0xe0000beb, 0x7ca6: 0xe0000c1b, 0x7ca7: 0xe0000c18,\n\t0x7ca8: 0xe0000c51, 0x7ca9: 0xe0000c4e, 0x7caa: 0xe0000c60, 0x7cab: 0xe0000c5d,\n\t0x7cac: 0xe0000c31, 0x7cad: 0xe0000c2e, 0x7cae: 0xe0000c5a, 0x7caf: 0xe0000c57,\n\t0x7cb0: 0xe0000c54, 0x7cb1: 0x402da220, 0x7cb2: 0xf0000a0a, 0x7cb3: 0xf0000404,\n\t0x7cb4: 0xe0000c8a, 0x7cb5: 0xe0000c87, 0x7cb6: 0xe0000c9f, 0x7cb7: 0xe0000c9c,\n\t0x7cb8: 0x402f7220, 0x7cb9: 0xe0000ccc, 0x7cba: 0xe0000cc9, 0x7cbb: 0xe0000cd8,\n\t0x7cbc: 0xe0000cd5, 0x7cbd: 0xe0000cd2, 0x7cbe: 0xe0000ccf, 0x7cbf: 0xe0000d04,\n\t// Block 0x1f3, offset 0x7cc0\n\t0x7cc0: 0xe0000cfe, 0x7cc1: 0xe0000cf8, 0x7cc2: 0xe0000cf5, 0x7cc3: 0xe0000d51,\n\t0x7cc4: 0xe0000d4e, 0x7cc5: 0xe0000d6f, 0x7cc6: 0xe0000d6c, 0x7cc7: 0xe0000d5d,\n\t0x7cc8: 0xe0000d5a, 0x7cc9: 0xf0000404, 0x7cca: 0x002eda88, 0x7ccb: 0x402eda20,\n\t0x7ccc: 0xe0000e2e, 0x7ccd: 0xe0000e2b, 0x7cce: 0xe0000da0, 0x7ccf: 0xe0000d9d,\n\t0x7cd0: 0xe0000de0, 0x7cd1: 0xe0000ddd, 0x7cd2: 0xe0000e93, 0x7cd3: 0xe0000e8f,\n\t0x7cd4: 0xe0000eca, 0x7cd5: 0xe0000ec7, 0x7cd6: 0xe0000edc, 0x7cd7: 0xe0000ed9,\n\t0x7cd8: 0x002f7c83, 0x7cd9: 0x402f7c20, 0x7cda: 0xe0000f1f, 0x7cdb: 0xe0000f1c,\n\t0x7cdc: 0xe0000f2d, 0x7cdd: 0xe0000f2a, 0x7cde: 0xe0000f47, 0x7cdf: 0xe0000f44,\n\t0x7ce0: 0x002fe883, 0x7ce1: 0x402fe820, 0x7ce2: 0xe0000f99, 0x7ce3: 0xe0000f96,\n\t0x7ce4: 0xe0000f8a, 0x7ce5: 0xe0000f87, 0x7ce6: 0x00303688, 0x7ce7: 0x40303620,\n\t0x7ce8: 0xe000102b, 0x7ce9: 0xe0001028, 0x7cea: 0xe000103f, 0x7ceb: 0xe000103c,\n\t0x7cec: 0xe0000fe7, 0x7ced: 0xe0000fe4, 0x7cee: 0xe0000ff9, 0x7cef: 0xe0000ff6,\n\t0x7cf0: 0xe0001025, 0x7cf1: 0xe0001022, 0x7cf2: 0xe0001039, 0x7cf3: 0xe0001036,\n\t0x7cf4: 0xe00010d8, 0x7cf5: 0xe00010d5, 0x7cf6: 0xe000110e, 0x7cf7: 0xe000110b,\n\t0x7cf8: 0xe0001117, 0x7cf9: 0xe000113b, 0x7cfa: 0xe0001138, 0x7cfb: 0xe000114d,\n\t0x7cfc: 0xe000114a, 0x7cfd: 0x00312c83, 0x7cfe: 0x40312c20, 0x7cff: 0xe0000f64,\n\t// Block 0x1f4, offset 0x7d00\n\t0x7d00: 0xe0000d24, 0x7d01: 0xe0000d21, 0x7d02: 0xe0000d2a, 0x7d03: 0xe0000d27,\n\t0x7d04: 0xe0000d69, 0x7d05: 0xe0000d66, 0x7d06: 0xe0000d7b, 0x7d07: 0xe0000d78,\n\t0x7d08: 0xe0000d87, 0x7d09: 0xe0000d84, 0x7d0a: 0xe0000d81, 0x7d0b: 0xe0000d7e,\n\t0x7d0c: 0xe0000ded, 0x7d0d: 0xe0000de9, 0x7d0e: 0xe0000df5, 0x7d0f: 0xe0000df1,\n\t0x7d10: 0xe0000e3d, 0x7d11: 0xe0000e39, 0x7d12: 0xe0000e35, 0x7d13: 0xe0000e31,\n\t0x7d14: 0xe0000ea7, 0x7d15: 0xe0000ea4, 0x7d16: 0xe0000ead, 0x7d17: 0xe0000eaa,\n\t0x7d18: 0xe0000ed6, 0x7d19: 0xe0000ed3, 0x7d1a: 0xe0000ef4, 0x7d1b: 0xe0000ef1,\n\t0x7d1c: 0xe0000efb, 0x7d1d: 0xe0000ef7, 0x7d1e: 0xe0000f02, 0x7d1f: 0xe0000eff,\n\t0x7d20: 0xe0000f41, 0x7d21: 0xe0000f3e, 0x7d22: 0xe0000f53, 0x7d23: 0xe0000f50,\n\t0x7d24: 0xe0000f26, 0x7d25: 0xe0000f22, 0x7d26: 0xe000296a, 0x7d27: 0xe0002967,\n\t0x7d28: 0xe0000f5a, 0x7d29: 0xe0000f56, 0x7d2a: 0xe0000f93, 0x7d2b: 0xe0000f90,\n\t0x7d2c: 0xe0000f9f, 0x7d2d: 0xe0000f9c, 0x7d2e: 0xe0000fb1, 0x7d2f: 0xe0000fae,\n\t0x7d30: 0xe0000fab, 0x7d31: 0xe0000fa8, 0x7d32: 0xe0001093, 0x7d33: 0xe0001090,\n\t0x7d34: 0xe000109f, 0x7d35: 0xe000109c, 0x7d36: 0xe0001099, 0x7d37: 0xe0001096,\n\t0x7d38: 0xe0001032, 0x7d39: 0xe000102e, 0x7d3a: 0xe0001046, 0x7d3b: 0xe0001042,\n\t0x7d3c: 0xe00010a9, 0x7d3d: 0xe00010a6, 0x7d3e: 0xe00010af, 0x7d3f: 0xe00010ac,\n\t// Block 0x1f5, offset 0x7d40\n\t0x7d40: 0xa0000000, 0x7d41: 0xa0000000, 0x7d42: 0xa0000000, 0x7d43: 0xa0000000,\n\t0x7d44: 0xa0000000, 0x7d45: 0xa0000000, 0x7d46: 0xa0000000, 0x7d47: 0xa0000000,\n\t0x7d48: 0xa0000000, 0x7d49: 0x40020020, 0x7d4a: 0x40020220, 0x7d4b: 0x40020420,\n\t0x7d4c: 0x40020620, 0x7d4d: 0x40020820, 0x7d4e: 0xa0000000, 0x7d4f: 0xa0000000,\n\t0x7d50: 0xa0000000, 0x7d51: 0xa0000000, 0x7d52: 0xa0000000, 0x7d53: 0xa0000000,\n\t0x7d54: 0xa0000000, 0x7d55: 0xa0000000, 0x7d56: 0xa0000000, 0x7d57: 0xa0000000,\n\t0x7d58: 0xa0000000, 0x7d59: 0xa0000000, 0x7d5a: 0xa0000000, 0x7d5b: 0xa0000000,\n\t0x7d5c: 0xa0000000, 0x7d5d: 0xa0000000, 0x7d5e: 0xa0000000, 0x7d5f: 0xa0000000,\n\t0x7d60: 0x40021220, 0x7d61: 0x4002ba20, 0x7d62: 0x4003e020, 0x7d63: 0x4004ea20,\n\t0x7d64: 0x4027de20, 0x7d65: 0x4004ec20, 0x7d66: 0x4004e620, 0x7d67: 0x4003d220,\n\t0x7d68: 0x4003f420, 0x7d69: 0x4003f620, 0x7d6a: 0x4004d820, 0x7d6b: 0x40093820,\n\t0x7d6c: 0x40024020, 0x7d6d: 0x40021a20, 0x7d6e: 0x4002e420, 0x7d6f: 0x4004e220,\n\t0x7d70: 0x4029cc20, 0x7d71: 0x4029ce20, 0x7d72: 0x4029d020, 0x7d73: 0x4029d220,\n\t0x7d74: 0x4029d420, 0x7d75: 0x4029d620, 0x7d76: 0x4029d820, 0x7d77: 0x4029da20,\n\t0x7d78: 0x4029dc20, 0x7d79: 0x4029de20, 0x7d7a: 0x40026c20, 0x7d7b: 0x40026220,\n\t0x7d7c: 0x40094020, 0x7d7d: 0x40094220, 0x7d7e: 0x40094420, 0x7d7f: 0x4002c420,\n\t// Block 0x1f6, offset 0x7d80\n\t0x7d80: 0x4004d620, 0x7d81: 0x002bde88, 0x7d82: 0x002c0a88, 0x7d83: 0xc36509c2,\n\t0x7d84: 0xc36a09f2, 0x7d85: 0x002c9888, 0x7d86: 0xc36f0a22, 0x7d87: 0x002d2288,\n\t0x7d88: 0x002d6888, 0x7d89: 0x002d9a88, 0x7d8a: 0x002dcc88, 0x7d8b: 0x002dfe88,\n\t0x7d8c: 0xc37b0ac4, 0x7d8d: 0x002e8288, 0x7d8e: 0xc3740a52, 0x7d8f: 0x002ee288,\n\t0x7d90: 0xc38209c2, 0x7d91: 0x002f5688, 0x7d92: 0xc38509c2, 0x7d93: 0x002fe688,\n\t0x7d94: 0xc38a09c2, 0x7d95: 0x00306c88, 0x7d96: 0x0030be88, 0x7d97: 0x0030e288,\n\t0x7d98: 0x0030f688, 0x7d99: 0x00310088, 0x7d9a: 0x00312a88, 0x7d9b: 0x4003f820,\n\t0x7d9c: 0x4004e420, 0x7d9d: 0x4003fa20, 0x7d9e: 0x40062420, 0x7d9f: 0x40021620,\n\t0x7da0: 0x40061e20, 0x7da1: 0x402bde20, 0x7da2: 0x402c0a20, 0x7da3: 0xc33309b1,\n\t0x7da4: 0xc36809e1, 0x7da5: 0x402c9820, 0x7da6: 0xc36d0a11, 0x7da7: 0x402d2220,\n\t0x7da8: 0x402d6820, 0x7da9: 0x402d9a20, 0x7daa: 0x402dcc20, 0x7dab: 0x402dfe20,\n\t0x7dac: 0xc3770a73, 0x7dad: 0x402e8220, 0x7dae: 0xc3720a41, 0x7daf: 0x402ee220,\n\t0x7db0: 0xc38009b1, 0x7db1: 0x402f5620, 0x7db2: 0xc35d09b1, 0x7db3: 0x402fe620,\n\t0x7db4: 0xc38809b1, 0x7db5: 0x40306c20, 0x7db6: 0x4030be20, 0x7db7: 0x4030e220,\n\t0x7db8: 0x4030f620, 0x7db9: 0x40310020, 0x7dba: 0x40312a20, 0x7dbb: 0x4003fc20,\n\t0x7dbc: 0x40094820, 0x7dbd: 0x4003fe20, 0x7dbe: 0x40094c20, 0x7dbf: 0xa0000000,\n\t// Block 0x1f7, offset 0x7dc0\n\t0x7dc0: 0xa0000000, 0x7dc1: 0xa0000000, 0x7dc2: 0xa0000000, 0x7dc3: 0xa0000000,\n\t0x7dc4: 0xa0000000, 0x7dc5: 0xa0000000, 0x7dc6: 0xa0000000, 0x7dc7: 0xa0000000,\n\t0x7dc8: 0xa0000000, 0x7dc9: 0x40020020, 0x7dca: 0x40020220, 0x7dcb: 0x40020420,\n\t0x7dcc: 0x40020620, 0x7dcd: 0x40020820, 0x7dce: 0xa0000000, 0x7dcf: 0xa0000000,\n\t0x7dd0: 0xa0000000, 0x7dd1: 0xa0000000, 0x7dd2: 0xa0000000, 0x7dd3: 0xa0000000,\n\t0x7dd4: 0xa0000000, 0x7dd5: 0xa0000000, 0x7dd6: 0xa0000000, 0x7dd7: 0xa0000000,\n\t0x7dd8: 0xa0000000, 0x7dd9: 0xa0000000, 0x7dda: 0xa0000000, 0x7ddb: 0xa0000000,\n\t0x7ddc: 0xa0000000, 0x7ddd: 0xa0000000, 0x7dde: 0xa0000000, 0x7ddf: 0xa0000000,\n\t0x7de0: 0x40021220, 0x7de1: 0x4002ba20, 0x7de2: 0x4003e020, 0x7de3: 0x4004ea20,\n\t0x7de4: 0x4027de20, 0x7de5: 0x4004ec20, 0x7de6: 0x4004e620, 0x7de7: 0x4003d220,\n\t0x7de8: 0x4003f420, 0x7de9: 0x4003f620, 0x7dea: 0x4004d820, 0x7deb: 0x40093820,\n\t0x7dec: 0x40024020, 0x7ded: 0x40021a20, 0x7dee: 0x4002e420, 0x7def: 0x4004e220,\n\t0x7df0: 0x4029cc20, 0x7df1: 0x4029ce20, 0x7df2: 0x4029d020, 0x7df3: 0x4029d220,\n\t0x7df4: 0x4029d420, 0x7df5: 0x4029d620, 0x7df6: 0x4029d820, 0x7df7: 0x4029da20,\n\t0x7df8: 0x4029dc20, 0x7df9: 0x4029de20, 0x7dfa: 0x40026c20, 0x7dfb: 0x40026220,\n\t0x7dfc: 0x40094020, 0x7dfd: 0x40094220, 0x7dfe: 0x40094420, 0x7dff: 0x4002c420,\n\t// Block 0x1f8, offset 0x7e00\n\t0x7e00: 0x4004d620, 0x7e01: 0xc3970b93, 0x7e02: 0x002c0a88, 0x7e03: 0x002c3a88,\n\t0x7e04: 0x002c6288, 0x7e05: 0xc39e0be1, 0x7e06: 0x002d0888, 0x7e07: 0x002d2288,\n\t0x7e08: 0x002d6888, 0x7e09: 0x002d9a88, 0x7e0a: 0x002dcc88, 0x7e0b: 0x002dfe88,\n\t0x7e0c: 0xc0030002, 0x7e0d: 0x002e8288, 0x7e0e: 0x002e9e88, 0x7e0f: 0xc3a30b21,\n\t0x7e10: 0x002f2c88, 0x7e11: 0x002f5688, 0x7e12: 0x002f7a88, 0x7e13: 0x002fe688,\n\t0x7e14: 0x00302c88, 0x7e15: 0xc3900b21, 0x7e16: 0x0030be88, 0x7e17: 0x0030e288,\n\t0x7e18: 0x0030f688, 0x7e19: 0x00310088, 0x7e1a: 0x00312a88, 0x7e1b: 0x4003f820,\n\t0x7e1c: 0x4004e420, 0x7e1d: 0x4003fa20, 0x7e1e: 0x40062420, 0x7e1f: 0x40021620,\n\t0x7e20: 0x40061e20, 0x7e21: 0xc3930b52, 0x7e22: 0x402c0a20, 0x7e23: 0x402c3a20,\n\t0x7e24: 0x402c6220, 0x7e25: 0xc39c0be1, 0x7e26: 0x402d0820, 0x7e27: 0x402d2220,\n\t0x7e28: 0x402d6820, 0x7e29: 0x402d9a20, 0x7e2a: 0x402dcc20, 0x7e2b: 0x402dfe20,\n\t0x7e2c: 0xc0000002, 0x7e2d: 0x402e8220, 0x7e2e: 0x402e9e20, 0x7e2f: 0xc3a00b21,\n\t0x7e30: 0x402f2c20, 0x7e31: 0x402f5620, 0x7e32: 0x402f7a20, 0x7e33: 0x402fe620,\n\t0x7e34: 0x40302c20, 0x7e35: 0xc38d0b21, 0x7e36: 0x4030be20, 0x7e37: 0x4030e220,\n\t0x7e38: 0x4030f620, 0x7e39: 0x40310020, 0x7e3a: 0x40312a20, 0x7e3b: 0x4003fc20,\n\t0x7e3c: 0x40094820, 0x7e3d: 0x4003fe20, 0x7e3e: 0x40094c20, 0x7e3f: 0xa0000000,\n\t// Block 0x1f9, offset 0x7e40\n\t0x7e40: 0xe00008f5, 0x7e41: 0xe00008ef, 0x7e42: 0xe0000921, 0x7e43: 0xe0000969,\n\t0x7e44: 0x00320ca3, 0x7e45: 0x00321083, 0x7e46: 0x00320c83, 0x7e47: 0xe0000a53,\n\t0x7e48: 0xe0000ae8, 0x7e49: 0xe0000ae2, 0x7e4a: 0xe0000af4, 0x7e4b: 0xe0000b20,\n\t0x7e4c: 0xe0000c2b, 0x7e4d: 0xe0000c25, 0x7e4e: 0xe0000c37, 0x7e4f: 0xe0000c43,\n\t0x7e50: 0x002c62c3, 0x7e51: 0xe0000d63, 0x7e52: 0xe0000d9a, 0x7e53: 0xe0000d94,\n\t0x7e54: 0xe0000da6, 0x7e55: 0xe0000de6, 0x7e56: 0x00320ea3, 0x7e57: 0x40093e20,\n\t0x7e58: 0x00320e83, 0x7e59: 0xe0000fe1, 0x7e5a: 0xe0000fdb, 0x7e5b: 0xe0000fed,\n\t0x7e5c: 0x003100a3, 0x7e5d: 0xe0001102, 0x7e5e: 0xe0002973, 0x7e5f: 0xe0000f7b,\n\t0x7e60: 0xe00008f2, 0x7e61: 0xe00008ec, 0x7e62: 0xe000091e, 0x7e63: 0xe0000966,\n\t0x7e64: 0x40320c21, 0x7e65: 0x40321020, 0x7e66: 0x40320c20, 0x7e67: 0xe0000a4d,\n\t0x7e68: 0xe0000ae5, 0x7e69: 0xe0000adf, 0x7e6a: 0xe0000af1, 0x7e6b: 0xe0000b1d,\n\t0x7e6c: 0xe0000c28, 0x7e6d: 0xe0000c22, 0x7e6e: 0xe0000c34, 0x7e6f: 0xe0000c40,\n\t0x7e70: 0x402c6222, 0x7e71: 0xe0000d60, 0x7e72: 0xe0000d97, 0x7e73: 0xe0000d91,\n\t0x7e74: 0xe0000da3, 0x7e75: 0xe0000de3, 0x7e76: 0x40320e21, 0x7e77: 0x40093c20,\n\t0x7e78: 0x40320e20, 0x7e79: 0xe0000fde, 0x7e7a: 0xe0000fd8, 0x7e7b: 0xe0000fea,\n\t0x7e7c: 0x40310021, 0x7e7d: 0xe00010ff, 0x7e7e: 0xe0002970, 0x7e7f: 0xe0001114,\n\t// Block 0x1fa, offset 0x7e80\n\t0x7e80: 0xe0000983, 0x7e81: 0xe0000980, 0x7e82: 0xe00008fb, 0x7e83: 0xe00008f8,\n\t0x7e84: 0xe000097d, 0x7e85: 0xe000097a, 0x7e86: 0xe0000a38, 0x7e87: 0xe0000a35,\n\t0x7e88: 0xe0000a3e, 0x7e89: 0xe0000a3b, 0x7e8a: 0xe0000a4a, 0x7e8b: 0xe0000a47,\n\t0x7e8c: 0xe0000a44, 0x7e8d: 0xe0000a41, 0x7e8e: 0xe0000a86, 0x7e8f: 0xe0000a83,\n\t0x7e90: 0x002c62a3, 0x7e91: 0x402c6221, 0x7e92: 0xe0000b46, 0x7e93: 0xe0000b43,\n\t0x7e94: 0xe0000aee, 0x7e95: 0xe0000aeb, 0x7e96: 0xe0000b2c, 0x7e97: 0xe0000b29,\n\t0x7e98: 0x00320cc3, 0x7e99: 0x40320c22, 0x7e9a: 0xe0000b1a, 0x7e9b: 0xe0000b17,\n\t0x7e9c: 0xe0000bb8, 0x7e9d: 0xe0000bb5, 0x7e9e: 0xe0000bb2, 0x7e9f: 0xe0000baf,\n\t0x7ea0: 0xe0000bc4, 0x7ea1: 0xe0000bc1, 0x7ea2: 0xe0000bca, 0x7ea3: 0xe0000bc7,\n\t0x7ea4: 0xe0000bee, 0x7ea5: 0xe0000beb, 0x7ea6: 0xe0000c1b, 0x7ea7: 0xe0000c18,\n\t0x7ea8: 0xe0000c51, 0x7ea9: 0xe0000c4e, 0x7eaa: 0xe0000c60, 0x7eab: 0xe0000c5d,\n\t0x7eac: 0xe0000c31, 0x7ead: 0xe0000c2e, 0x7eae: 0xe0000c5a, 0x7eaf: 0xe0000c57,\n\t0x7eb0: 0xe0000c54, 0x7eb1: 0x402da220, 0x7eb2: 0xf0000a0a, 0x7eb3: 0xf0000404,\n\t0x7eb4: 0xe0000c8a, 0x7eb5: 0xe0000c87, 0x7eb6: 0xe0000c9f, 0x7eb7: 0xe0000c9c,\n\t0x7eb8: 0x402f7220, 0x7eb9: 0xe0000ccc, 0x7eba: 0xe0000cc9, 0x7ebb: 0xe0000cd8,\n\t0x7ebc: 0xe0000cd5, 0x7ebd: 0xe0000cd2, 0x7ebe: 0xe0000ccf, 0x7ebf: 0xe0000d04,\n\t// Block 0x1fb, offset 0x7ec0\n\t0x7ec0: 0xe0000cfe, 0x7ec1: 0xe0000cf8, 0x7ec2: 0xe0000cf5, 0x7ec3: 0xe0000d51,\n\t0x7ec4: 0xe0000d4e, 0x7ec5: 0xe0000d6f, 0x7ec6: 0xe0000d6c, 0x7ec7: 0xe0000d5d,\n\t0x7ec8: 0xe0000d5a, 0x7ec9: 0xf0000404, 0x7eca: 0x002eda88, 0x7ecb: 0x402eda20,\n\t0x7ecc: 0xe0000e2e, 0x7ecd: 0xe0000e2b, 0x7ece: 0xe0000da0, 0x7ecf: 0xe0000d9d,\n\t0x7ed0: 0x00320ec3, 0x7ed1: 0x40320e22, 0x7ed2: 0x00320ee3, 0x7ed3: 0x40320e23,\n\t0x7ed4: 0xe0000eca, 0x7ed5: 0xe0000ec7, 0x7ed6: 0xe0000edc, 0x7ed7: 0xe0000ed9,\n\t0x7ed8: 0xe0000ed0, 0x7ed9: 0xe0000ecd, 0x7eda: 0xe0000f1f, 0x7edb: 0xe0000f1c,\n\t0x7edc: 0xe0000f2d, 0x7edd: 0xe0000f2a, 0x7ede: 0xe0000f47, 0x7edf: 0xe0000f44,\n\t0x7ee0: 0xe0000f33, 0x7ee1: 0xe0000f30, 0x7ee2: 0xe0000f99, 0x7ee3: 0xe0000f96,\n\t0x7ee4: 0xe0000f8a, 0x7ee5: 0xe0000f87, 0x7ee6: 0x00303688, 0x7ee7: 0x40303620,\n\t0x7ee8: 0xe000102b, 0x7ee9: 0xe0001028, 0x7eea: 0xe000103f, 0x7eeb: 0xe000103c,\n\t0x7eec: 0xe0000fe7, 0x7eed: 0xe0000fe4, 0x7eee: 0xe0000ff9, 0x7eef: 0xe0000ff6,\n\t0x7ef0: 0x003100c3, 0x7ef1: 0x40310022, 0x7ef2: 0xe0001039, 0x7ef3: 0xe0001036,\n\t0x7ef4: 0xe00010d8, 0x7ef5: 0xe00010d5, 0x7ef6: 0xe000110e, 0x7ef7: 0xe000110b,\n\t0x7ef8: 0xe0001117, 0x7ef9: 0xe000113b, 0x7efa: 0xe0001138, 0x7efb: 0xe000114d,\n\t0x7efc: 0xe000114a, 0x7efd: 0xe0001147, 0x7efe: 0xe0001144, 0x7eff: 0xe0000f64,\n\t// Block 0x1fc, offset 0x7f00\n\t0x7f00: 0x40321220, 0x7f01: 0x40321a20, 0x7f02: 0x40322220, 0x7f03: 0x40322a20,\n\t0x7f04: 0xe0000ad5, 0x7f05: 0xe0000ad1, 0x7f06: 0xe0000acd, 0x7f07: 0xf0000a0a,\n\t0x7f08: 0xf000040a, 0x7f09: 0xf0000404, 0x7f0a: 0xf0000a0a, 0x7f0b: 0xf000040a,\n\t0x7f0c: 0xf0000404, 0x7f0d: 0xe0000947, 0x7f0e: 0xe0000944, 0x7f0f: 0xe0000c3d,\n\t0x7f10: 0xe0000c3a, 0x7f11: 0xe0000dcc, 0x7f12: 0xe0000dc9, 0x7f13: 0xe0000ff3,\n\t0x7f14: 0xe0000ff0, 0x7f15: 0xe000298b, 0x7f16: 0xe0002988, 0x7f17: 0xe0002979,\n\t0x7f18: 0xe0002976, 0x7f19: 0xe0002985, 0x7f1a: 0xe0002982, 0x7f1b: 0xe000297f,\n\t0x7f1c: 0xe000297c, 0x7f1d: 0x402cae20, 0x7f1e: 0xe000299d, 0x7f1f: 0xe000299a,\n\t0x7f20: 0xe0000976, 0x7f21: 0xe0000972, 0x7f22: 0xe0002997, 0x7f23: 0xe0002994,\n\t0x7f24: 0x002d3a88, 0x7f25: 0x402d3a20, 0x7f26: 0xe0000bbe, 0x7f27: 0xe0000bbb,\n\t0x7f28: 0xe0000c99, 0x7f29: 0xe0000c96, 0x7f2a: 0xe0000e20, 0x7f2b: 0xe0000e1d,\n\t0x7f2c: 0xe0000e27, 0x7f2d: 0xe0000e23, 0x7f2e: 0xe0001162, 0x7f2f: 0xe000115f,\n\t0x7f30: 0xe0000c8d, 0x7f31: 0xf0000a0a, 0x7f32: 0xf000040a, 0x7f33: 0xf0000404,\n\t0x7f34: 0xe0000bac, 0x7f35: 0xe0000ba9, 0x7f36: 0x002d7888, 0x7f37: 0x00319488,\n\t0x7f38: 0xe0000d57, 0x7f39: 0xe0000d54, 0x7f3a: 0xe00029b5, 0x7f3b: 0xe00029b2,\n\t0x7f3c: 0xe0002991, 0x7f3d: 0xe000298e, 0x7f3e: 0xe00029a3, 0x7f3f: 0xe00029a0,\n\t// Block 0x1fd, offset 0x7f40\n\t0x7f40: 0xe000098f, 0x7f41: 0xe000098c, 0x7f42: 0xe0000995, 0x7f43: 0xe0000992,\n\t0x7f44: 0xe0000b62, 0x7f45: 0xe0000b5f, 0x7f46: 0xe0000b68, 0x7f47: 0xe0000b65,\n\t0x7f48: 0xe0000c6c, 0x7f49: 0xe0000c69, 0x7f4a: 0xe0000c72, 0x7f4b: 0xe0000c6f,\n\t0x7f4c: 0xe0000e4a, 0x7f4d: 0xe0000e47, 0x7f4e: 0xe0000e50, 0x7f4f: 0xe0000e4d,\n\t0x7f50: 0xe0000ee8, 0x7f51: 0xe0000ee5, 0x7f52: 0xe0000eee, 0x7f53: 0xe0000eeb,\n\t0x7f54: 0xe0001053, 0x7f55: 0xe0001050, 0x7f56: 0xe0001059, 0x7f57: 0xe0001056,\n\t0x7f58: 0xe0000f61, 0x7f59: 0xe0000f5e, 0x7f5a: 0xe0000fa5, 0x7f5b: 0xe0000fa2,\n\t0x7f5c: 0x00312288, 0x7f5d: 0x40312220, 0x7f5e: 0xe0000bf4, 0x7f5f: 0xe0000bf1,\n\t0x7f60: 0x002ebc88, 0x7f61: 0x402c8c20, 0x7f62: 0x002f2288, 0x7f63: 0x402f2220,\n\t0x7f64: 0x00314088, 0x7f65: 0x40314020, 0x7f66: 0xe000096f, 0x7f67: 0xe000096c,\n\t0x7f68: 0xe0000b32, 0x7f69: 0xe0000b2f, 0x7f6a: 0xe00029af, 0x7f6b: 0xe00029ac,\n\t0x7f6c: 0xe0000dfd, 0x7f6d: 0xe0000df9, 0x7f6e: 0xe0000e04, 0x7f6f: 0xe0000e01,\n\t0x7f70: 0xe0000e0b, 0x7f71: 0xe0000e07, 0x7f72: 0xe0001129, 0x7f73: 0xe0001126,\n\t0x7f74: 0x402e5e20, 0x7f75: 0x402ed020, 0x7f76: 0x40305a20, 0x7f77: 0x402dd420,\n\t0x7f78: 0xe0000abf, 0x7f79: 0xe0000ec4, 0x7f7a: 0x002be888, 0x7f7b: 0x002c4488,\n\t0x7f7c: 0x402c4420, 0x7f7d: 0x002e3888, 0x7f7e: 0x00303e88, 0x7f7f: 0x402ffc20,\n\t// Block 0x1fe, offset 0x7f80\n\t0x7f80: 0x402c2820, 0x7f81: 0x402c7020, 0x7f82: 0x402d1420, 0x7f83: 0x402d4220,\n\t0x7f84: 0x402e0820, 0x7f85: 0x402e5220, 0x7f86: 0x402e8e20, 0x7f87: 0x402ec620,\n\t0x7f88: 0x402f3c20, 0x7f89: 0x402faa20, 0x7f8a: 0x402ff220, 0x7f8b: 0x40301020,\n\t0x7f8c: 0x4030ca20, 0x7f8d: 0x4030fe20, 0x7f8e: 0x40313e20, 0x7f8f: 0x402bea20,\n\t0x7f90: 0x402c0020, 0x7f91: 0x402c8220, 0x7f92: 0x402caa20, 0x7f93: 0x402cca20,\n\t0x7f94: 0x402ce420, 0x7f95: 0x402cc020, 0x7f96: 0x402dc020, 0x7f97: 0x402f0620,\n\t0x7f98: 0x40302220, 0x7f99: 0x40308620, 0x7f9a: 0x40317620, 0x7f9b: 0x002c0294,\n\t0x7f9c: 0x002c3a94, 0x7f9d: 0x002c5694, 0x7f9e: 0xe000296d, 0x7f9f: 0x002cdc94,\n\t0x7fa0: 0x002d0894, 0x7fa1: 0x002dee94, 0x7fa2: 0x002d2a94, 0x7fa3: 0x00308894,\n\t0x7fa4: 0x002db694, 0x7fa5: 0x002dc294, 0x7fa6: 0x002daa94, 0x7fa7: 0x002dbe94,\n\t0x7fa8: 0x002de694, 0x7fa9: 0x002e5494, 0x7faa: 0x002e5294, 0x7fab: 0x002e2a94,\n\t0x7fac: 0x002e9094, 0x7fad: 0x0030ac94, 0x7fae: 0x002eb494, 0x7faf: 0x002ec894,\n\t0x7fb0: 0x002ea694, 0x7fb1: 0x002f1094, 0x7fb2: 0x002f4c94, 0x7fb3: 0x002ff494,\n\t0x7fb4: 0x00300894, 0x7fb5: 0x00304294, 0x7fb6: 0x00307c94, 0x7fb7: 0x0030b494,\n\t0x7fb8: 0x00307494, 0x7fb9: 0x0030cc94, 0x7fba: 0x0030da94, 0x7fbb: 0x00312a94,\n\t0x7fbc: 0x00314894, 0x7fbd: 0x00315094, 0x7fbe: 0x00316494, 0x7fbf: 0x00326a94,\n\t// Block 0x1ff, offset 0x7fc0\n\t0x7fc0: 0xe0000d24, 0x7fc1: 0xe0000d21, 0x7fc2: 0xe0000d2a, 0x7fc3: 0xe0000d27,\n\t0x7fc4: 0xe0000d69, 0x7fc5: 0xe0000d66, 0x7fc6: 0xe0000d7b, 0x7fc7: 0xe0000d78,\n\t0x7fc8: 0xe0000d87, 0x7fc9: 0xe0000d84, 0x7fca: 0xe0000d81, 0x7fcb: 0xe0000d7e,\n\t0x7fcc: 0xe0000ded, 0x7fcd: 0xe0000de9, 0x7fce: 0xe00029a9, 0x7fcf: 0xe00029a6,\n\t0x7fd0: 0xe0000e3d, 0x7fd1: 0xe0000e39, 0x7fd2: 0xe0000e35, 0x7fd3: 0xe0000e31,\n\t0x7fd4: 0xe0000ea7, 0x7fd5: 0xe0000ea4, 0x7fd6: 0xe0000ead, 0x7fd7: 0xe0000eaa,\n\t0x7fd8: 0xe0000ed6, 0x7fd9: 0xe0000ed3, 0x7fda: 0xe0000ef4, 0x7fdb: 0xe0000ef1,\n\t0x7fdc: 0xe0000efb, 0x7fdd: 0xe0000ef7, 0x7fde: 0xe0000f02, 0x7fdf: 0xe0000eff,\n\t0x7fe0: 0xe0000f41, 0x7fe1: 0xe0000f3e, 0x7fe2: 0xe0000f53, 0x7fe3: 0xe0000f50,\n\t0x7fe4: 0xe0000f26, 0x7fe5: 0xe0000f22, 0x7fe6: 0xe0000f3a, 0x7fe7: 0xe0000f36,\n\t0x7fe8: 0xe0000f5a, 0x7fe9: 0xe0000f56, 0x7fea: 0xe0000f93, 0x7feb: 0xe0000f90,\n\t0x7fec: 0xe0000f9f, 0x7fed: 0xe0000f9c, 0x7fee: 0xe0000fb1, 0x7fef: 0xe0000fae,\n\t0x7ff0: 0xe0000fab, 0x7ff1: 0xe0000fa8, 0x7ff2: 0xe0001093, 0x7ff3: 0xe0001090,\n\t0x7ff4: 0xe000109f, 0x7ff5: 0xe000109c, 0x7ff6: 0xe0001099, 0x7ff7: 0xe0001096,\n\t0x7ff8: 0xe0001032, 0x7ff9: 0xe000102e, 0x7ffa: 0xe000298b, 0x7ffb: 0xe0002988,\n\t0x7ffc: 0xe00010a9, 0x7ffd: 0xe00010a6, 0x7ffe: 0xe00010af, 0x7fff: 0xe00010ac,\n\t// Block 0x200, offset 0x8000\n\t0x8000: 0xe00009bc, 0x8001: 0xe00009c0, 0x8002: 0x002c3a8b, 0x8003: 0xf0000a04,\n\t0x8004: 0x40081c20, 0x8005: 0xe0000a5e, 0x8006: 0xe0000a62, 0x8007: 0x002cc28a,\n\t0x8008: 0x40081e20, 0x8009: 0xf0000a04, 0x800a: 0x002d2285, 0x800b: 0x002d688b,\n\t0x800c: 0x002d688b, 0x800d: 0x002d688b, 0x800e: 0x002d6885, 0x800f: 0xf0000202,\n\t0x8010: 0x002d9a8b, 0x8011: 0x002d9a8b, 0x8012: 0x002e228b, 0x8013: 0x002e2285,\n\t0x8014: 0x40082020, 0x8015: 0x002e9e8b, 0x8016: 0xf000040a, 0x8017: 0x40082220,\n\t0x8018: 0x40082420, 0x8019: 0x002f2c8b, 0x801a: 0x002f568b, 0x801b: 0x002f7a8b,\n\t0x801c: 0x002f7a8b, 0x801d: 0x002f7a8b, 0x801e: 0x40082620, 0x801f: 0x40082820,\n\t0x8020: 0xf0001414, 0x8021: 0xe0000fbd, 0x8022: 0xf0001414, 0x8023: 0x40082a20,\n\t0x8024: 0x00312a8b, 0x8025: 0x40082c20, 0x8026: 0x0032a288, 0x8027: 0x40082e20,\n\t0x8028: 0x00312a8b, 0x8029: 0x40083020, 0x802a: 0x002dfe88, 0x802b: 0x00321083,\n\t0x802c: 0x002c0a8b, 0x802d: 0x002c3a8b, 0x802e: 0x40083220, 0x802f: 0x002c9885,\n\t0x8030: 0x002c988b, 0x8031: 0x002d088b, 0x8032: 0x002d1e88, 0x8033: 0x002e828b,\n\t0x8034: 0x002ee285, 0x8035: 0x00389084, 0x8036: 0x00389284, 0x8037: 0x00389484,\n\t0x8038: 0x00389684, 0x8039: 0x002d9a85, 0x803a: 0x40083420, 0x803b: 0xe0000b95,\n\t0x803c: 0x00327e85, 0x803d: 0x00325685, 0x803e: 0x0032568b, 0x803f: 0x00327e8b,\n\t// Block 0x201, offset 0x8040\n\t0x8040: 0xa0000000, 0x8041: 0xa0000000, 0x8042: 0xa0000000, 0x8043: 0xa0000000,\n\t0x8044: 0xa0000000, 0x8045: 0xa0000000, 0x8046: 0xa0000000, 0x8047: 0xa0000000,\n\t0x8048: 0xa0000000, 0x8049: 0x40020020, 0x804a: 0x40020220, 0x804b: 0x40020420,\n\t0x804c: 0x40020620, 0x804d: 0x40020820, 0x804e: 0xa0000000, 0x804f: 0xa0000000,\n\t0x8050: 0xa0000000, 0x8051: 0xa0000000, 0x8052: 0xa0000000, 0x8053: 0xa0000000,\n\t0x8054: 0xa0000000, 0x8055: 0xa0000000, 0x8056: 0xa0000000, 0x8057: 0xa0000000,\n\t0x8058: 0xa0000000, 0x8059: 0xa0000000, 0x805a: 0xa0000000, 0x805b: 0xa0000000,\n\t0x805c: 0xa0000000, 0x805d: 0xa0000000, 0x805e: 0xa0000000, 0x805f: 0xa0000000,\n\t0x8060: 0x40021220, 0x8061: 0x4002ba20, 0x8062: 0x4003e020, 0x8063: 0x4004ea20,\n\t0x8064: 0x4027de20, 0x8065: 0x4004ec20, 0x8066: 0x4004e620, 0x8067: 0x4003d220,\n\t0x8068: 0x4003f420, 0x8069: 0x4003f620, 0x806a: 0x4004d820, 0x806b: 0x40093820,\n\t0x806c: 0x40024020, 0x806d: 0x40021a20, 0x806e: 0x4002e420, 0x806f: 0x4004e220,\n\t0x8070: 0x4029cc20, 0x8071: 0x4029ce20, 0x8072: 0x4029d020, 0x8073: 0x4029d220,\n\t0x8074: 0x4029d420, 0x8075: 0x4029d620, 0x8076: 0x4029d820, 0x8077: 0x4029da20,\n\t0x8078: 0x4029dc20, 0x8079: 0x4029de20, 0x807a: 0x40026c20, 0x807b: 0x40026220,\n\t0x807c: 0x40094020, 0x807d: 0x40094220, 0x807e: 0x40094420, 0x807f: 0x4002c420,\n\t// Block 0x202, offset 0x8080\n\t0x8080: 0x4004d620, 0x8081: 0xc3a80071, 0x8082: 0x002c0a88, 0x8083: 0x002c3a88,\n\t0x8084: 0x002c6288, 0x8085: 0x002c9888, 0x8086: 0x002d0888, 0x8087: 0x002d2288,\n\t0x8088: 0x002d6888, 0x8089: 0x002d9a88, 0x808a: 0x002dcc88, 0x808b: 0x002dfe88,\n\t0x808c: 0xc0030002, 0x808d: 0x002e8288, 0x808e: 0x002e9e88, 0x808f: 0xc3ac0071,\n\t0x8090: 0x002f2c88, 0x8091: 0x002f5688, 0x8092: 0x002f7a88, 0x8093: 0x002fe688,\n\t0x8094: 0x00302c88, 0x8095: 0xc3b00071, 0x8096: 0x0030be88, 0x8097: 0x0030e288,\n\t0x8098: 0x0030f688, 0x8099: 0x00310088, 0x809a: 0x00312a88, 0x809b: 0x4003f820,\n\t0x809c: 0x4004e420, 0x809d: 0x4003fa20, 0x809e: 0x40062420, 0x809f: 0x40021620,\n\t0x80a0: 0x40061e20, 0x80a1: 0xc3a60071, 0x80a2: 0x402c0a20, 0x80a3: 0x402c3a20,\n\t0x80a4: 0x402c6220, 0x80a5: 0x402c9820, 0x80a6: 0x402d0820, 0x80a7: 0x402d2220,\n\t0x80a8: 0x402d6820, 0x80a9: 0x402d9a20, 0x80aa: 0x402dcc20, 0x80ab: 0x402dfe20,\n\t0x80ac: 0xc0000002, 0x80ad: 0x402e8220, 0x80ae: 0x402e9e20, 0x80af: 0xc3aa0071,\n\t0x80b0: 0x402f2c20, 0x80b1: 0x402f5620, 0x80b2: 0x402f7a20, 0x80b3: 0x402fe620,\n\t0x80b4: 0x40302c20, 0x80b5: 0xc3ae0071, 0x80b6: 0x4030be20, 0x80b7: 0x4030e220,\n\t0x80b8: 0x4030f620, 0x80b9: 0x40310020, 0x80ba: 0x40312a20, 0x80bb: 0x4003fc20,\n\t0x80bc: 0x40094820, 0x80bd: 0x4003fe20, 0x80be: 0x40094c20, 0x80bf: 0xa0000000,\n\t// Block 0x203, offset 0x80c0\n\t0x80c0: 0xe00008f5, 0x80c1: 0xe00008ef, 0x80c2: 0xe0000921, 0x80c3: 0xe0000969,\n\t0x80c4: 0xe00029bb, 0x80c5: 0xe000094d, 0x80c6: 0xe00009dd, 0x80c7: 0xe0000a53,\n\t0x80c8: 0xe0000ae8, 0x80c9: 0xe0000ae2, 0x80ca: 0xe0000af4, 0x80cb: 0xe0000b20,\n\t0x80cc: 0xe0000c2b, 0x80cd: 0xe0000c25, 0x80ce: 0xe0000c37, 0x80cf: 0xe0000c43,\n\t0x80d0: 0xe0000ab3, 0x80d1: 0xe0000d63, 0x80d2: 0xe0000d9a, 0x80d3: 0xe0000d94,\n\t0x80d4: 0xe0000da6, 0x80d5: 0xe0000de6, 0x80d6: 0xe00029c9, 0x80d7: 0x40093e20,\n\t0x80d8: 0xe0000e12, 0x80d9: 0xe0000fe1, 0x80da: 0xe0000fdb, 0x80db: 0xe0000fed,\n\t0x80dc: 0xe00029df, 0x80dd: 0xe0001102, 0x80de: 0x00318888, 0x80df: 0xe0000f7b,\n\t0x80e0: 0xe00008f2, 0x80e1: 0xe00008ec, 0x80e2: 0xe000091e, 0x80e3: 0xe0000966,\n\t0x80e4: 0xe00029b8, 0x80e5: 0xe000094a, 0x80e6: 0xe00009d5, 0x80e7: 0xe0000a4d,\n\t0x80e8: 0xe0000ae5, 0x80e9: 0xe0000adf, 0x80ea: 0xe0000af1, 0x80eb: 0xe0000b1d,\n\t0x80ec: 0xe0000c28, 0x80ed: 0xe0000c22, 0x80ee: 0xe0000c34, 0x80ef: 0xe0000c40,\n\t0x80f0: 0xe0000aad, 0x80f1: 0xe0000d60, 0x80f2: 0xe0000d97, 0x80f3: 0xe0000d91,\n\t0x80f4: 0xe0000da3, 0x80f5: 0xe0000de3, 0x80f6: 0xe00029c6, 0x80f7: 0x40093c20,\n\t0x80f8: 0xe0000e0f, 0x80f9: 0xe0000fde, 0x80fa: 0xe0000fd8, 0x80fb: 0xe0000fea,\n\t0x80fc: 0xe00029dc, 0x80fd: 0xe00010ff, 0x80fe: 0x40318820, 0x80ff: 0xe0001114,\n\t// Block 0x204, offset 0x8100\n\t0x8100: 0x40321220, 0x8101: 0x40321a20, 0x8102: 0x40322220, 0x8103: 0x40322a20,\n\t0x8104: 0xe0000ad5, 0x8105: 0xe0000ad1, 0x8106: 0xe0000acd, 0x8107: 0xf0000a0a,\n\t0x8108: 0xf000040a, 0x8109: 0xf0000404, 0x810a: 0xf0000a0a, 0x810b: 0xf000040a,\n\t0x810c: 0xf0000404, 0x810d: 0xe0000947, 0x810e: 0xe0000944, 0x810f: 0xe0000c3d,\n\t0x8110: 0xe0000c3a, 0x8111: 0xe0000dcc, 0x8112: 0xe0000dc9, 0x8113: 0xe0000ff3,\n\t0x8114: 0xe0000ff0, 0x8115: 0xe00029fe, 0x8116: 0xe00029fa, 0x8117: 0xe00029e6,\n\t0x8118: 0xe00029e2, 0x8119: 0xe00029f6, 0x811a: 0xe00029f2, 0x811b: 0xe00029ee,\n\t0x811c: 0xe00029ea, 0x811d: 0x402cae20, 0x811e: 0xe00029c2, 0x811f: 0xe00029be,\n\t0x8120: 0xe0000976, 0x8121: 0xe0000972, 0x8122: 0xe00009f4, 0x8123: 0xe00009ef,\n\t0x8124: 0x002d3a88, 0x8125: 0x402d3a20, 0x8126: 0xe0000bbe, 0x8127: 0xe0000bbb,\n\t0x8128: 0xe0000c99, 0x8129: 0xe0000c96, 0x812a: 0xe0000e20, 0x812b: 0xe0000e1d,\n\t0x812c: 0xe0000e27, 0x812d: 0xe0000e23, 0x812e: 0xe0001162, 0x812f: 0xe000115f,\n\t0x8130: 0xe0000c8d, 0x8131: 0xf0000a0a, 0x8132: 0xf000040a, 0x8133: 0xf0000404,\n\t0x8134: 0xe0000bac, 0x8135: 0xe0000ba9, 0x8136: 0x002d7888, 0x8137: 0x00319488,\n\t0x8138: 0xe0000d57, 0x8139: 0xe0000d54, 0x813a: 0xe0000954, 0x813b: 0xe0000950,\n\t0x813c: 0xe00009ea, 0x813d: 0xe00009e5, 0x813e: 0xe0000e19, 0x813f: 0xe0000e15,\n\t// Block 0x205, offset 0x8140\n\t0x8140: 0xe000098f, 0x8141: 0xe000098c, 0x8142: 0xe0000995, 0x8143: 0xe0000992,\n\t0x8144: 0xe0000b62, 0x8145: 0xe0000b5f, 0x8146: 0xe0000b68, 0x8147: 0xe0000b65,\n\t0x8148: 0xe0000c6c, 0x8149: 0xe0000c69, 0x814a: 0xe0000c72, 0x814b: 0xe0000c6f,\n\t0x814c: 0xe0000e4a, 0x814d: 0xe0000e47, 0x814e: 0xe0000e50, 0x814f: 0xe0000e4d,\n\t0x8150: 0xe0000ee8, 0x8151: 0xe0000ee5, 0x8152: 0xe0000eee, 0x8153: 0xe0000eeb,\n\t0x8154: 0xe0001053, 0x8155: 0xe0001050, 0x8156: 0xe0001059, 0x8157: 0xe0001056,\n\t0x8158: 0xe0000f61, 0x8159: 0xe0000f5e, 0x815a: 0xe0000fa5, 0x815b: 0xe0000fa2,\n\t0x815c: 0x00312288, 0x815d: 0x40312220, 0x815e: 0xe0000bf4, 0x815f: 0xe0000bf1,\n\t0x8160: 0x002ebc88, 0x8161: 0x402c8c20, 0x8162: 0x002f2288, 0x8163: 0x402f2220,\n\t0x8164: 0x00314088, 0x8165: 0x40314020, 0x8166: 0xe000096f, 0x8167: 0xe000096c,\n\t0x8168: 0xe0000b32, 0x8169: 0xe0000b2f, 0x816a: 0xe00029d8, 0x816b: 0xe00029d4,\n\t0x816c: 0xe0000dfd, 0x816d: 0xe0000df9, 0x816e: 0xe0000e04, 0x816f: 0xe0000e01,\n\t0x8170: 0xe0000e0b, 0x8171: 0xe0000e07, 0x8172: 0xe0001129, 0x8173: 0xe0001126,\n\t0x8174: 0x402e5e20, 0x8175: 0x402ed020, 0x8176: 0x40305a20, 0x8177: 0x402dd420,\n\t0x8178: 0xe0000abf, 0x8179: 0xe0000ec4, 0x817a: 0x002be888, 0x817b: 0x002c4488,\n\t0x817c: 0x402c4420, 0x817d: 0x002e3888, 0x817e: 0x00303e88, 0x817f: 0x402ffc20,\n\t// Block 0x206, offset 0x8180\n\t0x8180: 0xe0000d24, 0x8181: 0xe0000d21, 0x8182: 0xe0000d2a, 0x8183: 0xe0000d27,\n\t0x8184: 0xe0000d69, 0x8185: 0xe0000d66, 0x8186: 0xe0000d7b, 0x8187: 0xe0000d78,\n\t0x8188: 0xe0000d87, 0x8189: 0xe0000d84, 0x818a: 0xe0000d81, 0x818b: 0xe0000d7e,\n\t0x818c: 0xe0000ded, 0x818d: 0xe0000de9, 0x818e: 0xe00029d0, 0x818f: 0xe00029cc,\n\t0x8190: 0xe0000e3d, 0x8191: 0xe0000e39, 0x8192: 0xe0000e35, 0x8193: 0xe0000e31,\n\t0x8194: 0xe0000ea7, 0x8195: 0xe0000ea4, 0x8196: 0xe0000ead, 0x8197: 0xe0000eaa,\n\t0x8198: 0xe0000ed6, 0x8199: 0xe0000ed3, 0x819a: 0xe0000ef4, 0x819b: 0xe0000ef1,\n\t0x819c: 0xe0000efb, 0x819d: 0xe0000ef7, 0x819e: 0xe0000f02, 0x819f: 0xe0000eff,\n\t0x81a0: 0xe0000f41, 0x81a1: 0xe0000f3e, 0x81a2: 0xe0000f53, 0x81a3: 0xe0000f50,\n\t0x81a4: 0xe0000f26, 0x81a5: 0xe0000f22, 0x81a6: 0xe0000f3a, 0x81a7: 0xe0000f36,\n\t0x81a8: 0xe0000f5a, 0x81a9: 0xe0000f56, 0x81aa: 0xe0000f93, 0x81ab: 0xe0000f90,\n\t0x81ac: 0xe0000f9f, 0x81ad: 0xe0000f9c, 0x81ae: 0xe0000fb1, 0x81af: 0xe0000fae,\n\t0x81b0: 0xe0000fab, 0x81b1: 0xe0000fa8, 0x81b2: 0xe0001093, 0x81b3: 0xe0001090,\n\t0x81b4: 0xe000109f, 0x81b5: 0xe000109c, 0x81b6: 0xe0001099, 0x81b7: 0xe0001096,\n\t0x81b8: 0xe0001032, 0x81b9: 0xe000102e, 0x81ba: 0xe00029fe, 0x81bb: 0xe00029fa,\n\t0x81bc: 0xe00010a9, 0x81bd: 0xe00010a6, 0x81be: 0xe00010af, 0x81bf: 0xe00010ac,\n\t// Block 0x207, offset 0x81c0\n\t0x81c0: 0x40078220, 0x81c1: 0x40075e20, 0x81c2: 0x40076020, 0x81c3: 0x40076220,\n\t0x81c4: 0x40058220, 0x81c5: 0x40058420, 0x81c6: 0x40058620, 0x81c7: 0x40058820,\n\t0x81c8: 0x40058a20, 0x81c9: 0x40058c20, 0x81ca: 0x40058e20, 0x81cb: 0x4027bc20,\n\t0x81cc: 0x0027bc83, 0x81cd: 0x4027bc21, 0x81ce: 0x4027bc22, 0x81cf: 0x4027bc23,\n\t0x81d0: 0x4027bc24, 0x81d1: 0x4027bc25, 0x81d2: 0x4005a020, 0x81d3: 0x40076420,\n\t0x81d4: 0x4027bc26, 0x81d5: 0x40076620, 0x81d6: 0x40076820, 0x81d7: 0x40076a20,\n\t0x81d8: 0xadc00000, 0x81d9: 0xadc00000, 0x81da: 0x40076c20, 0x81db: 0x40076e20,\n\t0x81dc: 0x40077020, 0x81dd: 0x40077220, 0x81de: 0x40077420, 0x81df: 0x40077620,\n\t0x81e0: 0xe00001a0, 0x81e1: 0xe0000234, 0x81e2: 0xe000034c, 0x81e3: 0xe0000426,\n\t0x81e4: 0xe00004fb, 0x81e5: 0xe00005c5, 0x81e6: 0xe0000690, 0x81e7: 0xe0000738,\n\t0x81e8: 0xe00007e4, 0x81e9: 0xe0000889, 0x81ea: 0xe0000237, 0x81eb: 0xe000034f,\n\t0x81ec: 0xe0000429, 0x81ed: 0xe00004fe, 0x81ee: 0xe00005c8, 0x81ef: 0xe0000693,\n\t0x81f0: 0xe000073b, 0x81f1: 0xe00007e7, 0x81f2: 0xe000088c, 0x81f3: 0xe00001a3,\n\t0x81f4: 0x4027bc27, 0x81f5: 0xadc00000, 0x81f6: 0x40077a20, 0x81f7: 0xadc00000,\n\t0x81f8: 0x40077c20, 0x81f9: 0xae611002, 0x81fa: 0x40040020, 0x81fb: 0x40040220,\n\t0x81fc: 0x40040420, 0x81fd: 0x40040620, 0x81fe: 0xa0000000, 0x81ff: 0xa0000000,\n\t// Block 0x208, offset 0x8200\n\t0x8200: 0x404a7620, 0x8201: 0x404a7c20, 0x8202: 0xc4db2161, 0x8203: 0xe0002a23,\n\t0x8204: 0x404a8420, 0x8205: 0x404a8820, 0x8206: 0x404a8c20, 0x8207: 0x404a9020,\n\t0x8209: 0x404a9420, 0x820a: 0x004aa883, 0x820b: 0x004aac83,\n\t0x820c: 0x004ab083, 0x820d: 0xe0002a5b, 0x820e: 0x004ab483, 0x820f: 0x404aa820,\n\t0x8210: 0x404aac20, 0x8211: 0xc3b50c31, 0x8212: 0xe0002a58, 0x8213: 0x404ab420,\n\t0x8214: 0x404ab820, 0x8215: 0x404abc20, 0x8216: 0xc3ff1211, 0x8217: 0xe0002a7c,\n\t0x8218: 0xc46018e1, 0x8219: 0x404ac820, 0x821a: 0x404acc20, 0x821b: 0x404ad020,\n\t0x821c: 0xe0002a9d, 0x821d: 0x404ad420, 0x821e: 0x404ad820, 0x821f: 0x404adc20,\n\t0x8220: 0xc49b1d01, 0x8221: 0x404ae420, 0x8222: 0xc4481761, 0x8223: 0xc4551831,\n\t0x8224: 0x404af220, 0x8225: 0x004af283, 0x8226: 0xc48f1c51, 0x8227: 0x404afe20,\n\t0x8228: 0x404b0220, 0x8229: 0xe0002a02, 0x822a: 0x004ae883, 0x822b: 0x404a7a20,\n\t0x822c: 0x404aec20,\n\t0x8231: 0xc5270751, 0x8232: 0x8282258c, 0x8233: 0x8281258d,\n\t0x8234: 0x82842590, 0x8235: 0x82812591, 0x8236: 0x404b2420, 0x8237: 0x404b2620,\n\t0x8238: 0x404b2820, 0x8239: 0x404b2a20, 0x823a: 0x82822596, 0x823b: 0x83822596,\n\t0x823c: 0x82822598, 0x823d: 0x83822598, 0x823e: 0x004ac483, 0x823f: 0xae611102,\n\t// Block 0x209, offset 0x8240\n\t0x8240: 0x8382258c, 0x8241: 0x8281258f, 0x8242: 0x004ac484, 0x8243: 0x004ac485,\n\t0x8244: 0xae610e02, 0x8245: 0xae611202, 0x8246: 0xae600000, 0x8247: 0xae600000,\n\t0x8248: 0xc3b20c01, 0x8249: 0xc5122551, 0x824a: 0xae611502, 0x824b: 0xc5102521,\n\t0x824c: 0x404b0e20, 0x824d: 0x404b0820, 0x824e: 0x404b0c20, 0x824f: 0x404b1020,\n\t0x8250: 0x82822599, 0x8251: 0x8282259a, 0x8252: 0x8282259b, 0x8253: 0xe0002ac7,\n\t0x8254: 0x8282259c, 0x8255: 0x8282259d, 0x8256: 0x8282259e, 0x8257: 0x8282259f,\n\t0x8259: 0x828225a0, 0x825a: 0x838225a1, 0x825b: 0x838225a2,\n\t0x825c: 0x838225a3, 0x825d: 0xe0002acd, 0x825e: 0x838225a4, 0x825f: 0x828225a1,\n\t0x8260: 0x828225a2, 0x8261: 0x828225a3, 0x8262: 0xe0002aca, 0x8263: 0x828225a4,\n\t0x8264: 0x828225a5, 0x8265: 0x828225a6, 0x8266: 0x828225a7, 0x8267: 0xe0002ad0,\n\t0x8268: 0x828225a8, 0x8269: 0x828225a9, 0x826a: 0x828225aa, 0x826b: 0x828225ab,\n\t0x826c: 0xe0002ad3, 0x826d: 0x828225ac, 0x826e: 0x828225ad, 0x826f: 0x828225ae,\n\t0x8270: 0x828225af, 0x8271: 0x828225b0, 0x8272: 0xc5152581, 0x8273: 0xc51e2581,\n\t0x8274: 0x828225b3, 0x8275: 0x838225b3, 0x8276: 0x828225b4, 0x8277: 0x828225b5,\n\t0x8278: 0x828225b6, 0x8279: 0xe0002ac4, 0x827a: 0x838225ac, 0x827b: 0x838225b0,\n\t0x827c: 0x838225b1, 0x827e: 0x40077e20, 0x827f: 0x40078020,\n\t// Block 0x20a, offset 0x8280\n\t0x8280: 0xa0000000, 0x8281: 0xa0000000, 0x8282: 0xa0000000, 0x8283: 0xa0000000,\n\t0x8284: 0xa0000000, 0x8285: 0xa0000000, 0x8286: 0xa0000000, 0x8287: 0xa0000000,\n\t0x8288: 0xa0000000, 0x8289: 0x40020020, 0x828a: 0x40020220, 0x828b: 0x40020420,\n\t0x828c: 0x40020620, 0x828d: 0x40020820, 0x828e: 0xa0000000, 0x828f: 0xa0000000,\n\t0x8290: 0xa0000000, 0x8291: 0xa0000000, 0x8292: 0xa0000000, 0x8293: 0xa0000000,\n\t0x8294: 0xa0000000, 0x8295: 0xa0000000, 0x8296: 0xa0000000, 0x8297: 0xa0000000,\n\t0x8298: 0xa0000000, 0x8299: 0xa0000000, 0x829a: 0xa0000000, 0x829b: 0xa0000000,\n\t0x829c: 0xa0000000, 0x829d: 0xa0000000, 0x829e: 0xa0000000, 0x829f: 0xa0000000,\n\t0x82a0: 0x40021220, 0x82a1: 0x4002ba20, 0x82a2: 0x4003e020, 0x82a3: 0x4004ea20,\n\t0x82a4: 0x4027de20, 0x82a5: 0x4004ec20, 0x82a6: 0x4004e620, 0x82a7: 0x4003d220,\n\t0x82a8: 0x4003f420, 0x82a9: 0x4003f620, 0x82aa: 0x4004d820, 0x82ab: 0x40093820,\n\t0x82ac: 0x40024020, 0x82ad: 0x40021a20, 0x82ae: 0x4002e420, 0x82af: 0x4004e220,\n\t0x82b0: 0x4029cc20, 0x82b1: 0x4029ce20, 0x82b2: 0x4029d020, 0x82b3: 0x4029d220,\n\t0x82b4: 0x4029d420, 0x82b5: 0x4029d620, 0x82b6: 0x4029d820, 0x82b7: 0x4029da20,\n\t0x82b8: 0x4029dc20, 0x82b9: 0x4029de20, 0x82ba: 0x40026c20, 0x82bb: 0x40026220,\n\t0x82bc: 0x40094020, 0x82bd: 0x40094220, 0x82be: 0x40094420, 0x82bf: 0x4002c420,\n\t// Block 0x20b, offset 0x82c0\n\t0x82c0: 0x4004d620, 0x82c1: 0x002bde88, 0x82c2: 0x002c0a88, 0x82c3: 0x002c3a88,\n\t0x82c4: 0xc36a2662, 0x82c5: 0x002c9888, 0x82c6: 0x002d0888, 0x82c7: 0xc52b2692,\n\t0x82c8: 0x002d6888, 0x82c9: 0x002d9a88, 0x82ca: 0x002dcc88, 0x82cb: 0xc53026c2,\n\t0x82cc: 0xc0030002, 0x82cd: 0x002e8288, 0x82ce: 0xc53526f2, 0x82cf: 0x002ee288,\n\t0x82d0: 0x002f2c88, 0x82d1: 0x002f5688, 0x82d2: 0x002f7a88, 0x82d3: 0x002fe688,\n\t0x82d4: 0xc38a2722, 0x82d5: 0x00306c88, 0x82d6: 0x0030be88, 0x82d7: 0x0030e288,\n\t0x82d8: 0x002d6a83, 0x82d9: 0x00310088, 0x82da: 0x00312a88, 0x82db: 0x4003f820,\n\t0x82dc: 0x4004e420, 0x82dd: 0x4003fa20, 0x82de: 0x40062420, 0x82df: 0x40021620,\n\t0x82e0: 0x40061e20, 0x82e1: 0x402bde20, 0x82e2: 0x402c0a20, 0x82e3: 0x402c3a20,\n\t0x82e4: 0xc3682651, 0x82e5: 0x402c9820, 0x82e6: 0x402d0820, 0x82e7: 0xc3372681,\n\t0x82e8: 0x402d6820, 0x82e9: 0x402d9a20, 0x82ea: 0x402dcc20, 0x82eb: 0xc52e26b1,\n\t0x82ec: 0xc0000002, 0x82ed: 0x402e8220, 0x82ee: 0xc53326e1, 0x82ef: 0x402ee220,\n\t0x82f0: 0x402f2c20, 0x82f1: 0x402f5620, 0x82f2: 0x402f7a20, 0x82f3: 0x402fe620,\n\t0x82f4: 0xc3882711, 0x82f5: 0x40306c20, 0x82f6: 0x4030be20, 0x82f7: 0x4030e220,\n\t0x82f8: 0x402d6a20, 0x82f9: 0x40310020, 0x82fa: 0x40312a20, 0x82fb: 0x4003fc20,\n\t0x82fc: 0x40094820, 0x82fd: 0x4003fe20, 0x82fe: 0x40094c20, 0x82ff: 0xa0000000,\n\t// Block 0x20c, offset 0x8300\n\t0x8300: 0xe00008f5, 0x8301: 0xe00008ef, 0x8302: 0xe0002ad9, 0x8303: 0xe0000969,\n\t0x8304: 0xe000095b, 0x8305: 0xe000094d, 0x8306: 0xe00009dd, 0x8307: 0xe0000a53,\n\t0x8308: 0xe0000ae8, 0x8309: 0xe0000ae2, 0x830a: 0xe0002b0d, 0x830b: 0xe0000b20,\n\t0x830c: 0xe0000c2b, 0x830d: 0xe0000c25, 0x830e: 0xe0002b47, 0x830f: 0xe0000c43,\n\t0x8310: 0xe0000ab3, 0x8311: 0xe0000d63, 0x8312: 0xe0000d9a, 0x8313: 0xe0000d94,\n\t0x8314: 0xe0002b53, 0x8315: 0xe0000de6, 0x8316: 0xe0000dd2, 0x8317: 0x40093e20,\n\t0x8318: 0xe0000e12, 0x8319: 0xe0000fe1, 0x831a: 0xe0000fdb, 0x831b: 0xe0002b87,\n\t0x831c: 0xe0000fff, 0x831d: 0xe0001102, 0x831e: 0x00318888, 0x831f: 0xe0000f7b,\n\t0x8320: 0xe00008f2, 0x8321: 0xe00008ec, 0x8322: 0xe0002ad6, 0x8323: 0xe0000966,\n\t0x8324: 0xe0000958, 0x8325: 0xe000094a, 0x8326: 0xe00009d5, 0x8327: 0xe0000a4d,\n\t0x8328: 0xe0000ae5, 0x8329: 0xe0000adf, 0x832a: 0xe0002b0a, 0x832b: 0xe0000b1d,\n\t0x832c: 0xe0000c28, 0x832d: 0xe0000c22, 0x832e: 0xe0002b44, 0x832f: 0xe0000c40,\n\t0x8330: 0xe0000aad, 0x8331: 0xe0000d60, 0x8332: 0xe0000d97, 0x8333: 0xe0000d91,\n\t0x8334: 0xe0002b50, 0x8335: 0xe0000de3, 0x8336: 0xe0000dcf, 0x8337: 0x40093c20,\n\t0x8338: 0xe0000e0f, 0x8339: 0xe0000fde, 0x833a: 0xe0000fd8, 0x833b: 0xe0002b84,\n\t0x833c: 0xe0000ffc, 0x833d: 0xe00010ff, 0x833e: 0x40318820, 0x833f: 0xe0001114,\n\t// Block 0x20d, offset 0x8340\n\t0x8340: 0xe0000983, 0x8341: 0xe0000980, 0x8342: 0xe00008fb, 0x8343: 0xe00008f8,\n\t0x8344: 0xe000097d, 0x8345: 0xe000097a, 0x8346: 0xe0000a38, 0x8347: 0xe0000a35,\n\t0x8348: 0xe0002b07, 0x8349: 0xe0002b04, 0x834a: 0xe0000a4a, 0x834b: 0xe0000a47,\n\t0x834c: 0xe0000a44, 0x834d: 0xe0000a41, 0x834e: 0xe0000a86, 0x834f: 0xe0000a83,\n\t0x8350: 0xe0000aaa, 0x8351: 0xe0000aa7, 0x8352: 0xe0000b46, 0x8353: 0xe0000b43,\n\t0x8354: 0xe0000aee, 0x8355: 0xe0000aeb, 0x8356: 0xe0000b2c, 0x8357: 0xe0000b29,\n\t0x8358: 0xe0000b40, 0x8359: 0xe0000b3d, 0x835a: 0xe0000b1a, 0x835b: 0xe0000b17,\n\t0x835c: 0xe0002b3b, 0x835d: 0xe0002b38, 0x835e: 0xe0000bb2, 0x835f: 0xe0000baf,\n\t0x8360: 0xe0000bc4, 0x8361: 0xe0000bc1, 0x8362: 0xe0000bca, 0x8363: 0xe0000bc7,\n\t0x8364: 0xe0002b41, 0x8365: 0xe0002b3e, 0x8366: 0xe0000c1b, 0x8367: 0xe0000c18,\n\t0x8368: 0xe0000c51, 0x8369: 0xe0000c4e, 0x836a: 0xe0000c60, 0x836b: 0xe0000c5d,\n\t0x836c: 0xe0000c31, 0x836d: 0xe0000c2e, 0x836e: 0xe0000c5a, 0x836f: 0xe0000c57,\n\t0x8370: 0xe0000c54, 0x8371: 0x402da220, 0x8372: 0xf0000a0a, 0x8373: 0xf0000404,\n\t0x8374: 0xe0002b4d, 0x8375: 0xe0002b4a, 0x8376: 0xe0000c9f, 0x8377: 0xe0000c9c,\n\t0x8378: 0x402f7220, 0x8379: 0xe0000ccc, 0x837a: 0xe0000cc9, 0x837b: 0xe0000cd8,\n\t0x837c: 0xe0000cd5, 0x837d: 0xe0000cd2, 0x837e: 0xe0000ccf, 0x837f: 0xe0000d04,\n\t// Block 0x20e, offset 0x8380\n\t0x8380: 0xe0000cfe, 0x8381: 0xe0000cf8, 0x8382: 0xe0000cf5, 0x8383: 0xe0000d51,\n\t0x8384: 0xe0000d4e, 0x8385: 0xe0000d6f, 0x8386: 0xe0000d6c, 0x8387: 0xe0000d5d,\n\t0x8388: 0xe0000d5a, 0x8389: 0xf0000404, 0x838a: 0x002ea283, 0x838b: 0x402ea220,\n\t0x838c: 0xe0000e2e, 0x838d: 0xe0000e2b, 0x838e: 0xe0000da0, 0x838f: 0xe0000d9d,\n\t0x8390: 0xe0000de0, 0x8391: 0xe0000ddd, 0x8392: 0xe0000e93, 0x8393: 0xe0000e8f,\n\t0x8394: 0xe0000eca, 0x8395: 0xe0000ec7, 0x8396: 0xe0000edc, 0x8397: 0xe0000ed9,\n\t0x8398: 0xe0000ed0, 0x8399: 0xe0000ecd, 0x839a: 0xe0000f1f, 0x839b: 0xe0000f1c,\n\t0x839c: 0xe0002b81, 0x839d: 0xe0002b7e, 0x839e: 0xe0000f47, 0x839f: 0xe0000f44,\n\t0x83a0: 0xe0000f33, 0x83a1: 0xe0000f30, 0x83a2: 0xe0000f99, 0x83a3: 0xe0000f96,\n\t0x83a4: 0xe0000f8a, 0x83a5: 0xe0000f87, 0x83a6: 0x00303688, 0x83a7: 0x40303620,\n\t0x83a8: 0xe000102b, 0x83a9: 0xe0001028, 0x83aa: 0xe000103f, 0x83ab: 0xe000103c,\n\t0x83ac: 0xe0000fe7, 0x83ad: 0xe0000fe4, 0x83ae: 0xe0000ff9, 0x83af: 0xe0000ff6,\n\t0x83b0: 0xe0001025, 0x83b1: 0xe0001022, 0x83b2: 0xe0001039, 0x83b3: 0xe0001036,\n\t0x83b4: 0xe0002b8d, 0x83b5: 0xe0002b8a, 0x83b6: 0xe0002b93, 0x83b7: 0xe0002b90,\n\t0x83b8: 0xe0001117, 0x83b9: 0xe000113b, 0x83ba: 0xe0001138, 0x83bb: 0xe000114d,\n\t0x83bc: 0xe000114a, 0x83bd: 0xe0001147, 0x83be: 0xe0001144, 0x83bf: 0xe0000f64,\n\t// Block 0x20f, offset 0x83c0\n\t0x83c0: 0x402c1a20, 0x83c1: 0x002c2a88, 0x83c2: 0x002c3288, 0x83c3: 0x402c3220,\n\t0x83c4: 0x0031c488, 0x83c5: 0x4031c420, 0x83c6: 0x002ee483, 0x83c7: 0x002c4e88,\n\t0x83c8: 0x402c4e20, 0x83c9: 0x002c6683, 0x83ca: 0x002c7a88, 0x83cb: 0x002c8488,\n\t0x83cc: 0x402c8420, 0x83cd: 0xe000115c, 0x83ce: 0x002cae88, 0x83cf: 0x002cb888,\n\t0x83d0: 0x002c9a83, 0x83d1: 0x002d0a83, 0x83d2: 0x402d0a20, 0x83d3: 0x002d4488,\n\t0x83d4: 0x002d2683, 0x83d5: 0x402d7820, 0x83d6: 0x002dc288, 0x83d7: 0x002db688,\n\t0x83d8: 0x002e0a88, 0x83d9: 0x402e0a20, 0x83da: 0x402e3820, 0x83db: 0x402e7220,\n\t0x83dc: 0x0030a088, 0x83dd: 0x002eb488, 0x83de: 0x402ebc20, 0x83df: 0x002f1088,\n\t0x83e0: 0xe0000e56, 0x83e1: 0xe0000e53, 0x83e2: 0x002d6088, 0x83e3: 0x402d6020,\n\t0x83e4: 0x002f3e88, 0x83e5: 0x402f3e20, 0x83e6: 0x002f8288, 0x83e7: 0x0031b488,\n\t0x83e8: 0x4031b420, 0x83e9: 0x00300888, 0x83ea: 0x40301220, 0x83eb: 0x40304220,\n\t0x83ec: 0x00304a88, 0x83ed: 0x40304a20, 0x83ee: 0x00305288, 0x83ef: 0xe000105f,\n\t0x83f0: 0xe000105c, 0x83f1: 0x0030b488, 0x83f2: 0x0030c083, 0x83f3: 0x00311888,\n\t0x83f4: 0x40311820, 0x83f5: 0x00313488, 0x83f6: 0x40313420, 0x83f7: 0x00316488,\n\t0x83f8: 0x00316e88, 0x83f9: 0x40316e20, 0x83fa: 0x40317820, 0x83fb: 0x4031a620,\n\t0x83fc: 0x0031bc88, 0x83fd: 0x4031bc20, 0x83fe: 0xe0000fc9, 0x83ff: 0x40319420,\n\t// Block 0x210, offset 0x8400\n\t0x8400: 0x40315820, 0x8401: 0x0031d488, 0x8402: 0x4031d420, 0x8403: 0x002c1a88,\n\t0x8404: 0x00307c88, 0x8405: 0x0030da88, 0x8406: 0x002ca288, 0x8407: 0x402ca220,\n\t0x8408: 0x002dde88, 0x8409: 0x402dde20, 0x840a: 0x002f6a88, 0x840b: 0x402f6a20,\n\t0x840c: 0x002f8e88, 0x840d: 0x402f8e20, 0x840e: 0x00311088, 0x840f: 0x40311020,\n\t0x8410: 0x402bf020, 0x8411: 0x402bf820, 0x8412: 0x402c0220, 0x8413: 0x402c2a20,\n\t0x8414: 0x402ee420, 0x8415: 0x402c5620, 0x8416: 0x402c6620, 0x8417: 0x402c7a20,\n\t0x8418: 0x402ccc20, 0x8419: 0x402cb820, 0x841a: 0x402cd420, 0x841b: 0x402c9a20,\n\t0x841c: 0x402cdc20, 0x841d: 0x402ce820, 0x841e: 0x402cf020, 0x841f: 0x402dee20,\n\t0x8420: 0x402d4420, 0x8421: 0x402d2a20, 0x8422: 0x402d3220, 0x8423: 0x402d2620,\n\t0x8424: 0x402d0020, 0x8425: 0x40308820, 0x8426: 0x402d8020, 0x8427: 0x402d8e20,\n\t0x8428: 0x402db620, 0x8429: 0x402dc220, 0x842a: 0x402daa20, 0x842b: 0x402e4220,\n\t0x842c: 0x402e4a20, 0x842d: 0x402e5420, 0x842e: 0x402e6820, 0x842f: 0x4030a020,\n\t0x8430: 0x4030ac20, 0x8431: 0x402e9020, 0x8432: 0x402eb420, 0x8433: 0x402ec820,\n\t0x8434: 0x402ea620, 0x8435: 0x402f1020, 0x8436: 0x402eee20, 0x8437: 0x402f1a20,\n\t0x8438: 0x402f4c20, 0x8439: 0x402f9820, 0x843a: 0x402fa220, 0x843b: 0x402fac20,\n\t0x843c: 0x402fb620, 0x843d: 0x402fbe20, 0x843e: 0x402fc620, 0x843f: 0x402fd020,\n\t// Block 0x211, offset 0x8440\n\t0x8440: 0x402f8220, 0x8441: 0x402fd820, 0x8442: 0x402ff420, 0x8443: 0x40300820,\n\t0x8444: 0x402df620, 0x8445: 0x40301a20, 0x8446: 0x40302420, 0x8447: 0x40306420,\n\t0x8448: 0x40305220, 0x8449: 0x40307c20, 0x844a: 0x4030b420, 0x844b: 0x4030c020,\n\t0x844c: 0x4030da20, 0x844d: 0x4030ee20, 0x844e: 0x402e7a20, 0x844f: 0x40310820,\n\t0x8450: 0x40314820, 0x8451: 0x40315020, 0x8452: 0x40316420, 0x8453: 0x40318020,\n\t0x8454: 0x4031cc20, 0x8455: 0x4031e820, 0x8456: 0x40320a20, 0x8457: 0x40323220,\n\t0x8458: 0x40323a20, 0x8459: 0x402c1220, 0x845a: 0x402cf820, 0x845b: 0x402d4c20,\n\t0x845c: 0x402d7020, 0x845d: 0x402de620, 0x845e: 0x402e1a20, 0x845f: 0x402e2a20,\n\t0x8460: 0x402f6220, 0x8461: 0x4031fa20, 0x8462: 0x40320220, 0x8463: 0xe0000aca,\n\t0x8464: 0xe0000adc, 0x8465: 0xe0000ad9, 0x8466: 0xe0000fcc, 0x8467: 0xe0000fcf,\n\t0x8468: 0xe0000fba, 0x8469: 0xe0000ba1, 0x846a: 0xe0000d11, 0x846b: 0xe0000d18,\n\t0x846c: 0x40324220, 0x846d: 0x40324a20, 0x846e: 0x40309020, 0x846f: 0x40309820,\n\t0x8470: 0x002d6894, 0x8471: 0x002d8094, 0x8472: 0x002dcc94, 0x8473: 0x002f7a94,\n\t0x8474: 0x002f9894, 0x8475: 0x002fac94, 0x8476: 0x002fd894, 0x8477: 0x0030e294,\n\t0x8478: 0x00310094, 0x8479: 0x40064020, 0x847a: 0x40064420, 0x847b: 0x402d9620,\n\t0x847c: 0x4031de20, 0x847d: 0x402d9820, 0x847e: 0x4031e220, 0x847f: 0x4031f020,\n\t// Block 0x212, offset 0x8480\n\t0x8480: 0xae603502, 0x8481: 0xae603202, 0x8482: 0xae604202, 0x8483: 0xae604e02,\n\t0x8484: 0xae605b02, 0x8485: 0xae606302, 0x8486: 0xae603702, 0x8487: 0xae605202,\n\t0x8488: 0xae604702, 0x8489: 0xae606402, 0x848a: 0xae604302, 0x848b: 0xae604d02,\n\t0x848c: 0xae604102, 0x848d: 0xae605f02, 0x848e: 0xae605f02, 0x848f: 0xae606502,\n\t0x8490: 0xae606602, 0x8491: 0xae606702, 0x8492: 0xae605f02, 0x8493: 0xae602202,\n\t0x8494: 0xae602a02, 0x8495: 0xae805f02, 0x8496: 0xadc06002, 0x8497: 0xadc06002,\n\t0x8498: 0xadc06002, 0x8499: 0xadc06002, 0x849a: 0xae805f02, 0x849b: 0xad806802,\n\t0x849c: 0xadc06002, 0x849d: 0xadc06002, 0x849e: 0xadc06002, 0x849f: 0xadc06002,\n\t0x84a0: 0xadc06002, 0x84a1: 0xaca06e02, 0x84a2: 0xaca06f02, 0x84a3: 0xadc07002,\n\t0x84a4: 0xadc07502, 0x84a5: 0xadc07602, 0x84a6: 0xadc07702, 0x84a7: 0xaca05602,\n\t0x84a8: 0xaca05902, 0x84a9: 0xadc06002, 0x84aa: 0xadc06002, 0x84ab: 0xadc06002,\n\t0x84ac: 0xadc06002, 0x84ad: 0xadc07802, 0x84ae: 0xadc07902, 0x84af: 0xadc06002,\n\t0x84b0: 0xadc07a02, 0x84b1: 0xadc07b02, 0x84b2: 0xadc02102, 0x84b3: 0xadc06002,\n\t0x84b4: 0xa0107c02, 0x84b5: 0xa0107d02, 0x84b6: 0xa0106102, 0x84b7: 0xa0106102,\n\t0x84b8: 0xa0105402, 0x84b9: 0xadc07e02, 0x84ba: 0xadc06002, 0x84bb: 0xadc06002,\n\t0x84bc: 0xadc06002, 0x84bd: 0xae605f02, 0x84be: 0xae605f02, 0x84bf: 0xae605f02,\n\t// Block 0x213, offset 0x84c0\n\t0x84c0: 0xe00010d2, 0x84c1: 0xe00010cf, 0x84c2: 0xe00010cc, 0x84c3: 0xe00010c9,\n\t0x84c4: 0xe00010e1, 0x84c5: 0xe00010de, 0x84c6: 0xe00010e7, 0x84c7: 0xe00010e4,\n\t0x84c8: 0xe00010ed, 0x84c9: 0xe00010ea, 0x84ca: 0xe0002912, 0x84cb: 0xe000290f,\n\t0x84cc: 0xe000290c, 0x84cd: 0xe0002909, 0x84ce: 0xe0001123, 0x84cf: 0xe0001120,\n\t0x84d0: 0xe0002b99, 0x84d1: 0xe0002b96, 0x84d2: 0xe0001153, 0x84d3: 0xe0001150,\n\t0x84d4: 0xe0001159, 0x84d5: 0xe0001156, 0x84d6: 0xe0000c15, 0x84d7: 0xe0000f8d,\n\t0x84d8: 0xe00010db, 0x84d9: 0xe0001111, 0x84da: 0xf0000404, 0x84db: 0xe0000f70,\n\t0x84dc: 0x40300420, 0x84dd: 0x40300620, 0x84de: 0xe0000f7f, 0x84df: 0x402c9620,\n\t0x84e0: 0xe000099b, 0x84e1: 0xe0000998, 0x84e2: 0xe0000989, 0x84e3: 0xe0000986,\n\t0x84e4: 0xe0002ae0, 0x84e5: 0xe0002adc, 0x84e6: 0xe0002ae8, 0x84e7: 0xe0002ae4,\n\t0x84e8: 0xe0002af8, 0x84e9: 0xe0002af4, 0x84ea: 0xe0002af0, 0x84eb: 0xe0002aec,\n\t0x84ec: 0xe0002b00, 0x84ed: 0xe0002afc, 0x84ee: 0xe0000902, 0x84ef: 0xe00008fe,\n\t0x84f0: 0xe000090a, 0x84f1: 0xe0000906, 0x84f2: 0xe000091a, 0x84f3: 0xe0000916,\n\t0x84f4: 0xe0000912, 0x84f5: 0xe000090e, 0x84f6: 0xe00009a2, 0x84f7: 0xe000099e,\n\t0x84f8: 0xe0000b6e, 0x84f9: 0xe0000b6b, 0x84fa: 0xe0000b5c, 0x84fb: 0xe0000b59,\n\t0x84fc: 0xe0000b26, 0x84fd: 0xe0000b23, 0x84fe: 0xe0002b14, 0x84ff: 0xe0002b10,\n\t// Block 0x214, offset 0x8500\n\t0x8500: 0xe0002b1c, 0x8501: 0xe0002b18, 0x8502: 0xe0002b2c, 0x8503: 0xe0002b28,\n\t0x8504: 0xe0002b24, 0x8505: 0xe0002b20, 0x8506: 0xe0002b34, 0x8507: 0xe0002b30,\n\t0x8508: 0xe0000c66, 0x8509: 0xe0000c63, 0x850a: 0xe0000c78, 0x850b: 0xe0000c75,\n\t0x850c: 0xe0000e84, 0x850d: 0xe0000e81, 0x850e: 0xe0000e44, 0x850f: 0xe0000e41,\n\t0x8510: 0xe0002b5a, 0x8511: 0xe0002b56, 0x8512: 0xe0002b62, 0x8513: 0xe0002b5e,\n\t0x8514: 0xe0002b72, 0x8515: 0xe0002b6e, 0x8516: 0xe0002b6a, 0x8517: 0xe0002b66,\n\t0x8518: 0xe0002b7a, 0x8519: 0xe0002b76, 0x851a: 0xe0000e5d, 0x851b: 0xe0000e59,\n\t0x851c: 0xe0000e65, 0x851d: 0xe0000e61, 0x851e: 0xe0000e75, 0x851f: 0xe0000e71,\n\t0x8520: 0xe0000e6d, 0x8521: 0xe0000e69, 0x8522: 0xe0000e7d, 0x8523: 0xe0000e79,\n\t0x8524: 0xe000108d, 0x8525: 0xe000108a, 0x8526: 0xe000104d, 0x8527: 0xe000104a,\n\t0x8528: 0xe0001066, 0x8529: 0xe0001062, 0x852a: 0xe000106e, 0x852b: 0xe000106a,\n\t0x852c: 0xe000107e, 0x852d: 0xe000107a, 0x852e: 0xe0001076, 0x852f: 0xe0001072,\n\t0x8530: 0xe0001086, 0x8531: 0xe0001082, 0x8532: 0xe0001108, 0x8533: 0xe0001105,\n\t0x8534: 0xe0001135, 0x8535: 0xe0001132, 0x8536: 0xe000112f, 0x8537: 0xe000112c,\n\t0x8538: 0xe000111d, 0x8539: 0xe000111a, 0x853a: 0xe0000d0a, 0x853b: 0xe0000d07,\n\t0x853c: 0x0030d888, 0x853d: 0x4030d820, 0x853e: 0x00312088, 0x853f: 0x40312020,\n\t// Block 0x215, offset 0x8540\n\t0x8540: 0x00093685, 0x8541: 0x40083620, 0x8542: 0x40083820, 0x8543: 0x40083a20,\n\t0x8544: 0x40083c20, 0x8545: 0x002c628b, 0x8546: 0x002c6285, 0x8547: 0x002c9885,\n\t0x8548: 0x002d9a85, 0x8549: 0x002dcc85, 0x854a: 0x40083e20, 0x854b: 0x400a6e20,\n\t0x854c: 0x40084020, 0x854d: 0xe00009c4, 0x854e: 0x402d1e20, 0x854f: 0x40084220,\n\t0x8550: 0xe00002cb, 0x8551: 0xe00002d3, 0x8552: 0xe00002b2, 0x8553: 0xe00002bb,\n\t0x8554: 0xe00003cd, 0x8555: 0xe00002c3, 0x8556: 0xe00003d1, 0x8557: 0xe00004ab,\n\t0x8558: 0xe0000579, 0x8559: 0xe00002c7, 0x855a: 0xe0000640, 0x855b: 0xe00002cf,\n\t0x855c: 0xe00004af, 0x855d: 0xe0000644, 0x855e: 0xe0000798, 0x855f: 0xf0001e1e,\n\t0x8560: 0x002d9a8a, 0x8561: 0xf0001f0a, 0x8562: 0xf0000a0a, 0x8563: 0xf0001f0a,\n\t0x8564: 0x0030be8a, 0x8565: 0xf0001f0a, 0x8566: 0xf0000a0a, 0x8567: 0xe00010bb,\n\t0x8568: 0xe00027f4, 0x8569: 0x0030f68a, 0x856a: 0xe0002883, 0x856b: 0xe000288a,\n\t0x856c: 0x002e228a, 0x856d: 0x002c3a8a, 0x856e: 0x002c628a, 0x856f: 0x002e828a,\n\t0x8570: 0x002d9a84, 0x8571: 0xf0001f04, 0x8572: 0xf0000404, 0x8573: 0xf0001f04,\n\t0x8574: 0x0030be84, 0x8575: 0xf0001f04, 0x8576: 0xf0000404, 0x8577: 0xe00010b6,\n\t0x8578: 0xe00027f1, 0x8579: 0x0030f684, 0x857a: 0xe0002880, 0x857b: 0xe0002886,\n\t0x857c: 0x002e2284, 0x857d: 0x002c3a84, 0x857e: 0x002c6284, 0x857f: 0x002e8284,\n\t// Block 0x216, offset 0x8580\n\t0x8580: 0xe0000024, 0x8581: 0xe0000029, 0x8582: 0xe000002e, 0x8583: 0xe0000033,\n\t0x8584: 0xe0000038, 0x8585: 0xe000003d, 0x8586: 0xe0000042, 0x8587: 0xe0000047,\n\t0x8588: 0xf0001f04, 0x8589: 0xf0001f04, 0x858a: 0xf0001f04, 0x858b: 0xf0001f04,\n\t0x858c: 0xf0001f04, 0x858d: 0xf0001f04, 0x858e: 0xf0001f04, 0x858f: 0xf0001f04,\n\t0x8590: 0xf0001f04, 0x8591: 0xf0000404, 0x8592: 0xf0000404, 0x8593: 0xf0000404,\n\t0x8594: 0xf0000404, 0x8595: 0xf0000404, 0x8596: 0xf0000404, 0x8597: 0xf0000404,\n\t0x8598: 0xf0000404, 0x8599: 0xf0000404, 0x859a: 0xf0000404, 0x859b: 0xf0000404,\n\t0x859c: 0xf0000404, 0x859d: 0xf0000404, 0x859e: 0xf0000404, 0x859f: 0xf0000404,\n\t0x85a0: 0xf0000404, 0x85a1: 0xf0000404, 0x85a2: 0xf0000404, 0x85a3: 0xf0000404,\n\t0x85a4: 0xf0000404, 0x85a5: 0xf0000404, 0x85a6: 0xf0000404, 0x85a7: 0xf0000404,\n\t0x85a8: 0xf0000404, 0x85a9: 0xf0000404, 0x85aa: 0xf0000404, 0x85ab: 0xf0000404,\n\t0x85ac: 0xf0000404, 0x85ad: 0xf0000404, 0x85ae: 0xf0000404, 0x85af: 0xf0000404,\n\t0x85b0: 0xf0000404, 0x85b1: 0xf0000404, 0x85b2: 0xf0000404, 0x85b3: 0xe00024e7,\n\t0x85b4: 0xf0000404, 0x85b5: 0xf0000404, 0x85b6: 0x002bde8c, 0x85b7: 0x002c0a8c,\n\t0x85b8: 0x002c3a8c, 0x85b9: 0x002c628c, 0x85ba: 0x002c988c, 0x85bb: 0x002d088c,\n\t0x85bc: 0x002d228c, 0x85bd: 0x002d688c, 0x85be: 0x002d9a8c, 0x85bf: 0x002dcc8c,\n\t// Block 0x217, offset 0x85c0\n\t0x85c0: 0xf0001d1c, 0x85c1: 0xf0001d1d, 0x85c2: 0xe00009b7, 0x85c3: 0xf0001c1d,\n\t0x85c4: 0xf0001c1c, 0x85c5: 0xf0001c1c, 0x85c6: 0xe0000a66, 0x85c7: 0xe0000a7a,\n\t0x85c8: 0xf0001d1c, 0x85c9: 0xf0001c1d, 0x85ca: 0xf0001c1c, 0x85cb: 0xf0001d1d,\n\t0x85cc: 0xf0001c1c, 0x85cd: 0xf0001d1d, 0x85ce: 0xf0001d1d, 0x85cf: 0xf0001c1c,\n\t0x85d0: 0xf0001c1c, 0x85d1: 0xf0001c1c, 0x85d2: 0xe0000d0d, 0x85d3: 0xe0002818,\n\t0x85d4: 0xf0001c1c, 0x85d5: 0xe0000d3a, 0x85d6: 0xe0000d46, 0x85d7: 0xf0001d1d,\n\t0x85d8: 0xe0000eb0, 0x85d9: 0xe0000eb8, 0x85da: 0xf0001d1d, 0x85db: 0xf0001c1c,\n\t0x85dc: 0xf0001c1d, 0x85dd: 0xf0001c1d, 0x85de: 0xe00010b2, 0x85df: 0xe00009c8,\n\t0x85e0: 0xf0001f04, 0x85e1: 0xf0001f04, 0x85e2: 0xf0001f04, 0x85e3: 0xf0001f04,\n\t0x85e4: 0xf0001f04, 0x85e5: 0xf0001f04, 0x85e6: 0xf0001f04, 0x85e7: 0xf0001f04,\n\t0x85e8: 0xf0001f04, 0x85e9: 0xf0000404, 0x85ea: 0xf0000404, 0x85eb: 0xf0000404,\n\t0x85ec: 0xf0000404, 0x85ed: 0xf0000404, 0x85ee: 0xf0000404, 0x85ef: 0xf0000404,\n\t0x85f0: 0xf0000404, 0x85f1: 0xf0000404, 0x85f2: 0xf0000404, 0x85f3: 0xf0000404,\n\t0x85f4: 0xf0000404, 0x85f5: 0xf0000404, 0x85f6: 0xf0000404, 0x85f7: 0xf0000404,\n\t0x85f8: 0xf0000404, 0x85f9: 0xf0000404, 0x85fa: 0xf0000404, 0x85fb: 0xf0000404,\n\t0x85fc: 0xf0000404, 0x85fd: 0xf0000404, 0x85fe: 0xf0000404, 0x85ff: 0xe0000bdf,\n\t// Block 0x218, offset 0x8600\n\t0x8600: 0xf0001f04, 0x8601: 0xf0001f04, 0x8602: 0xf0001f04, 0x8603: 0xf0001f04,\n\t0x8604: 0xf0001f04, 0x8605: 0xf0001f04, 0x8606: 0xf0001f04, 0x8607: 0xf0001f04,\n\t0x8608: 0xf0001f04, 0x8609: 0xf0001f04, 0x860a: 0xf0001f04,\n\t0x8610: 0xf0000a04, 0x8611: 0xf0000a04, 0x8612: 0xf0000a04, 0x8613: 0xf0000a04,\n\t0x8614: 0xf0000a04, 0x8615: 0xf0000a04, 0x8616: 0xf0000a04, 0x8617: 0xf0000a04,\n\t0x8618: 0xf0000a04, 0x8619: 0xf0000a04, 0x861a: 0xf0000a04, 0x861b: 0xf0000a04,\n\t0x861c: 0xf0000a04, 0x861d: 0xf0000a04, 0x861e: 0xf0000a04, 0x861f: 0xf0000a04,\n\t0x8620: 0xf0000a04, 0x8621: 0xf0000a04, 0x8622: 0xf0000a04, 0x8623: 0xf0000a04,\n\t0x8624: 0xf0000a04, 0x8625: 0xf0000a04, 0x8626: 0xf0000a04, 0x8627: 0xe00024eb,\n\t0x8628: 0xf0000a04, 0x8629: 0xf0000a04, 0x862a: 0xf0000a04, 0x862b: 0x002c3a8c,\n\t0x862c: 0x002f7a8c, 0x862d: 0xf0000c0c, 0x862e: 0xf0000c0c,\n\t0x8630: 0x002bde9d, 0x8631: 0x002c0a9d, 0x8632: 0x002c3a9d, 0x8633: 0x002c629d,\n\t0x8634: 0x002c989d, 0x8635: 0x002d089d, 0x8636: 0x002d229d, 0x8637: 0x002d689d,\n\t0x8638: 0x002d9a9d, 0x8639: 0x002dcc9d, 0x863a: 0x002dfe9d, 0x863b: 0x002e229d,\n\t0x863c: 0x002e829d, 0x863d: 0x002e9e9d, 0x863e: 0x002ee29d, 0x863f: 0x002f2c9d,\n\t// Block 0x219, offset 0x8640\n\t0x8640: 0xa0000000, 0x8641: 0xa0000000, 0x8642: 0xa0000000, 0x8643: 0xa0000000,\n\t0x8644: 0xa0000000, 0x8645: 0xa0000000, 0x8646: 0xa0000000, 0x8647: 0xa0000000,\n\t0x8648: 0xa0000000, 0x8649: 0x40020020, 0x864a: 0x40020220, 0x864b: 0x40020420,\n\t0x864c: 0x40020620, 0x864d: 0x40020820, 0x864e: 0xa0000000, 0x864f: 0xa0000000,\n\t0x8650: 0xa0000000, 0x8651: 0xa0000000, 0x8652: 0xa0000000, 0x8653: 0xa0000000,\n\t0x8654: 0xa0000000, 0x8655: 0xa0000000, 0x8656: 0xa0000000, 0x8657: 0xa0000000,\n\t0x8658: 0xa0000000, 0x8659: 0xa0000000, 0x865a: 0xa0000000, 0x865b: 0xa0000000,\n\t0x865c: 0xa0000000, 0x865d: 0xa0000000, 0x865e: 0xa0000000, 0x865f: 0xa0000000,\n\t0x8660: 0x402be020, 0x8661: 0x402be220, 0x8662: 0x402be420, 0x8663: 0x402be620,\n\t0x8664: 0x402be820, 0x8665: 0x402bea20, 0x8666: 0x402bec20, 0x8667: 0x402bee20,\n\t0x8668: 0x402bf020, 0x8669: 0x402bf220, 0x866a: 0x402bf420, 0x866b: 0x402bf620,\n\t0x866c: 0x402bf820, 0x866d: 0x402bfa20, 0x866e: 0x402bfc20, 0x866f: 0x402bfe20,\n\t0x8670: 0x402c0020, 0x8671: 0x402c0220, 0x8672: 0x402c0420, 0x8673: 0x402c0620,\n\t0x8674: 0x402c0820, 0x8675: 0x402c0a20, 0x8676: 0x402c0c20, 0x8677: 0x402c0e20,\n\t0x8678: 0x402c1020, 0x8679: 0x402c1220, 0x867a: 0x402c1420, 0x867b: 0x402c1620,\n\t0x867c: 0x402c1820, 0x867d: 0x402c1a20, 0x867e: 0x402c1c20, 0x867f: 0x402c1e20,\n\t// Block 0x21a, offset 0x8680\n\t0x8680: 0x402c2020, 0x8681: 0x402c2220, 0x8682: 0x402c2420, 0x8683: 0x402c2620,\n\t0x8684: 0x402c2820, 0x8685: 0x402c2a20, 0x8686: 0x402c2c20, 0x8687: 0x402c2e20,\n\t0x8688: 0x402c3020, 0x8689: 0x402c3220, 0x868a: 0x402c3420, 0x868b: 0x402c3620,\n\t0x868c: 0xc53b0002, 0x868d: 0x402c3a20, 0x868e: 0x402c3c20, 0x868f: 0x402c3e20,\n\t0x8690: 0x402c4020, 0x8691: 0x402c4220, 0x8692: 0x402c4420, 0x8693: 0x402c4620,\n\t0x8694: 0x402c4820, 0x8695: 0x402c4a20, 0x8696: 0x402c4c20, 0x8697: 0x402c4e20,\n\t0x8698: 0x402c5020, 0x8699: 0x402c5220, 0x869a: 0x402c5420, 0x869b: 0x402c5620,\n\t0x869c: 0x402c5820, 0x869d: 0x402c5a20, 0x869e: 0x402c5c20, 0x869f: 0x402c5e20,\n\t0x86a0: 0x402c6020, 0x86a1: 0x402c6220, 0x86a2: 0x402c6420, 0x86a3: 0x402c6620,\n\t0x86a4: 0x402c6820, 0x86a5: 0x402c6a20, 0x86a6: 0x402c6c20, 0x86a7: 0x402c6e20,\n\t0x86a8: 0x402c7020, 0x86a9: 0x402c7220, 0x86aa: 0x402c7420, 0x86ab: 0x402c7620,\n\t0x86ac: 0xc5380002, 0x86ad: 0x402c7a20, 0x86ae: 0x402c7c20, 0x86af: 0x402c7e20,\n\t0x86b0: 0x402c8020, 0x86b1: 0x402c8220, 0x86b2: 0x402c8420, 0x86b3: 0x402c8620,\n\t0x86b4: 0x402c8820, 0x86b5: 0x402c8a20, 0x86b6: 0x402c8c20, 0x86b7: 0x402c8e20,\n\t0x86b8: 0x402c9020, 0x86b9: 0x402c9220, 0x86ba: 0x402c9420, 0x86bb: 0x402c9620,\n\t0x86bc: 0x402c9820, 0x86bd: 0x402c9a20, 0x86be: 0x402c9c20, 0x86bf: 0x402c9e20,\n\t// Block 0x21b, offset 0x86c0\n\t0x86c0: 0xe0002f1f, 0x86c1: 0xe0002f1c, 0x86c2: 0xe0002f35, 0x86c3: 0xe0002f59,\n\t0x86c4: 0xe0002f52, 0x86c5: 0xe0002f4b, 0x86c6: 0xe00009dd, 0x86c7: 0xe0002f95,\n\t0x86c8: 0xe0002fb1, 0x86c9: 0xe0002fae, 0x86ca: 0xe0002fb7, 0x86cb: 0xe0002fcd,\n\t0x86cc: 0xe0003031, 0x86cd: 0xe000302e, 0x86ce: 0xe0003037, 0x86cf: 0xe000303d,\n\t0x86d0: 0xe0000ab3, 0x86d1: 0xe00030a5, 0x86d2: 0xe00030ba, 0x86d3: 0xe00030b7,\n\t0x86d4: 0xe00030c0, 0x86d5: 0xe00030e0, 0x86d6: 0xe00030d6, 0x86d7: 0x40093e20,\n\t0x86d8: 0xe0000e12, 0x86d9: 0xe000318a, 0x86da: 0xe0003187, 0x86db: 0xe0003190,\n\t0x86dc: 0xe0003199, 0x86dd: 0xe000320a, 0x86de: 0x00318888, 0x86df: 0xe0000f7b,\n\t0x86e0: 0xe000323a, 0x86e1: 0xe0003237, 0x86e2: 0xe0003250, 0x86e3: 0xe0003274,\n\t0x86e4: 0xe000326d, 0x86e5: 0xe0003266, 0x86e6: 0xe00009d5, 0x86e7: 0xe00032c8,\n\t0x86e8: 0xe00032e4, 0x86e9: 0xe00032e1, 0x86ea: 0xe00032ea, 0x86eb: 0xe0003300,\n\t0x86ec: 0xe0003367, 0x86ed: 0xe0003364, 0x86ee: 0xe000336d, 0x86ef: 0xe0003373,\n\t0x86f0: 0xe0000aad, 0x86f1: 0xe00033cf, 0x86f2: 0xe00033e4, 0x86f3: 0xe00033e1,\n\t0x86f4: 0xe00033ea, 0x86f5: 0xe000340a, 0x86f6: 0xe0003400, 0x86f7: 0x40093c20,\n\t0x86f8: 0xe0000e0f, 0x86f9: 0xe00034b7, 0x86fa: 0xe00034b4, 0x86fb: 0xe00034bd,\n\t0x86fc: 0xe00034c6, 0x86fd: 0xe000353a, 0x86fe: 0x40318820, 0x86ff: 0xe0003546,\n\t// Block 0x21c, offset 0x8700\n\t0x8700: 0xe0002f66, 0x8701: 0xe0003281, 0x8702: 0xe0002f22, 0x8703: 0xe000323d,\n\t0x8704: 0xe0002f63, 0x8705: 0xe000327e, 0x8706: 0xe0002f89, 0x8707: 0xe00032bc,\n\t0x8708: 0xe0002f8c, 0x8709: 0xe00032bf, 0x870a: 0xe0002f92, 0x870b: 0xe00032c5,\n\t0x870c: 0xe0002f8f, 0x870d: 0xe00032c2, 0x870e: 0xe0002f9c, 0x870f: 0xe00032cf,\n\t0x8710: 0xe0000aaa, 0x8711: 0xe0000aa7, 0x8712: 0xe0002fe0, 0x8713: 0xe0003313,\n\t0x8714: 0xe0002fb4, 0x8715: 0xe00032e7, 0x8716: 0xe0002fd3, 0x8717: 0xe0003306,\n\t0x8718: 0xe0002fdd, 0x8719: 0xe0003310, 0x871a: 0xe0002fca, 0x871b: 0xe00032fd,\n\t0x871c: 0xe000300a, 0x871d: 0xe000333d, 0x871e: 0xe0003007, 0x871f: 0xe000333a,\n\t0x8720: 0xe0003010, 0x8721: 0xe0003343, 0x8722: 0xe0003013, 0x8723: 0xe0003346,\n\t0x8724: 0xe0003019, 0x8725: 0xe000334c, 0x8726: 0xe0000c1b, 0x8727: 0xe0000c18,\n\t0x8728: 0xe0003044, 0x8729: 0xe000337a, 0x872a: 0xe000304d, 0x872b: 0xe0003380,\n\t0x872c: 0xe0003034, 0x872d: 0xe000336a, 0x872e: 0xe000304a, 0x872f: 0xe000337d,\n\t0x8730: 0xe0003047, 0x8731: 0x402da220, 0x8732: 0xe00027e2, 0x8733: 0xe00027df,\n\t0x8734: 0xe000305f, 0x8735: 0xe0003392, 0x8736: 0xe0003068, 0x8737: 0xe000339e,\n\t0x8738: 0x402f7220, 0x8739: 0xe0003071, 0x873a: 0xe00033a7, 0x873b: 0xe0003077,\n\t0x873c: 0xe00033ad, 0x873d: 0xe0003074, 0x873e: 0xe00033aa, 0x873f: 0xe0000d04,\n\t// Block 0x21d, offset 0x8740\n\t0x8740: 0xe0000cfe, 0x8741: 0xe0000cf8, 0x8742: 0xe0000cf5, 0x8743: 0xe000309c,\n\t0x8744: 0xe00033c6, 0x8745: 0xe00030ab, 0x8746: 0xe00033d5, 0x8747: 0xe00030a2,\n\t0x8748: 0xe00033cc, 0x8749: 0xe00035eb, 0x874a: 0x002eda88, 0x874b: 0x402eda20,\n\t0x874c: 0xe00030fd, 0x874d: 0xe0003427, 0x874e: 0xe00030bd, 0x874f: 0xe00033e7,\n\t0x8750: 0xe00030dd, 0x8751: 0xe0003407, 0x8752: 0xe0000e93, 0x8753: 0xe0000e8f,\n\t0x8754: 0xe0003135, 0x8755: 0xe000345f, 0x8756: 0xe000313e, 0x8757: 0xe0003468,\n\t0x8758: 0xe0003138, 0x8759: 0xe0003462, 0x875a: 0xe0003151, 0x875b: 0xe000347b,\n\t0x875c: 0xe0003158, 0x875d: 0xe0003482, 0x875e: 0xe0003165, 0x875f: 0xe000348f,\n\t0x8760: 0xe000315b, 0x8761: 0xe0003485, 0x8762: 0xe0003178, 0x8763: 0xe00034a5,\n\t0x8764: 0xe0003172, 0x8765: 0xe000349c, 0x8766: 0x00303688, 0x8767: 0x40303620,\n\t0x8768: 0xe00031af, 0x8769: 0xe00034dc, 0x876a: 0xe00031b9, 0x876b: 0xe00034e6,\n\t0x876c: 0xe000318d, 0x876d: 0xe00034ba, 0x876e: 0xe0003196, 0x876f: 0xe00034c3,\n\t0x8770: 0xe00031ac, 0x8771: 0xe00034d9, 0x8772: 0xe00031b6, 0x8773: 0xe00034e3,\n\t0x8774: 0xe00031f8, 0x8775: 0xe0003525, 0x8776: 0xe0003210, 0x8777: 0xe0003540,\n\t0x8778: 0xe0003213, 0x8779: 0xe0003225, 0x877a: 0xe0003558, 0x877b: 0xe000322e,\n\t0x877c: 0xe0003561, 0x877d: 0xe000322b, 0x877e: 0xe000355e, 0x877f: 0xe0000f64,\n\t// Block 0x21e, offset 0x8780\n\t0x8780: 0x402c1a20, 0x8781: 0x002c2a88, 0x8782: 0x002c3288, 0x8783: 0x402c3220,\n\t0x8784: 0x0031c488, 0x8785: 0x4031c420, 0x8786: 0x002efa88, 0x8787: 0x002c4e88,\n\t0x8788: 0x402c4e20, 0x8789: 0x002c7288, 0x878a: 0x002c7a88, 0x878b: 0x002c8488,\n\t0x878c: 0x402c8420, 0x878d: 0xe000115c, 0x878e: 0x002cae88, 0x878f: 0x002cb888,\n\t0x8790: 0x002cc288, 0x8791: 0x002d1688, 0x8792: 0x402d1620, 0x8793: 0x002d4488,\n\t0x8794: 0x002d5888, 0x8795: 0x402d7820, 0x8796: 0x002dc288, 0x8797: 0x002db688,\n\t0x8798: 0x002e0a88, 0x8799: 0x402e0a20, 0x879a: 0x402e3820, 0x879b: 0x402e7220,\n\t0x879c: 0x0030a088, 0x879d: 0x002eb488, 0x879e: 0x402ebc20, 0x879f: 0x002f1088,\n\t0x87a0: 0xe0003111, 0x87a1: 0xe000343b, 0x87a2: 0x002d6088, 0x87a3: 0x402d6020,\n\t0x87a4: 0x002f3e88, 0x87a5: 0x402f3e20, 0x87a6: 0x002f8288, 0x87a7: 0x0031b488,\n\t0x87a8: 0x4031b420, 0x87a9: 0x00300888, 0x87aa: 0x40301220, 0x87ab: 0x40304220,\n\t0x87ac: 0x00304a88, 0x87ad: 0x40304a20, 0x87ae: 0x00305288, 0x87af: 0xe00031c9,\n\t0x87b0: 0xe00034f6, 0x87b1: 0x0030b488, 0x87b2: 0x0030cc88, 0x87b3: 0x00311888,\n\t0x87b4: 0x40311820, 0x87b5: 0x00313488, 0x87b6: 0x40313420, 0x87b7: 0x00316488,\n\t0x87b8: 0x00316e88, 0x87b9: 0x40316e20, 0x87ba: 0x40317820, 0x87bb: 0x4031a620,\n\t0x87bc: 0x0031bc88, 0x87bd: 0x4031bc20, 0x87be: 0xe0000fc9, 0x87bf: 0x40319420,\n\t// Block 0x21f, offset 0x87c0\n\t0x87c0: 0x40321220, 0x87c1: 0x40321a20, 0x87c2: 0x40322220, 0x87c3: 0x40322a20,\n\t0x87c4: 0xe0000ad5, 0x87c5: 0xe0000ad1, 0x87c6: 0xe0000acd, 0x87c7: 0xe000357f,\n\t0x87c8: 0xe000357c, 0x87c9: 0xe0003579, 0x87ca: 0xe00035c4, 0x87cb: 0xe00035c1,\n\t0x87cc: 0xe00035be, 0x87cd: 0xe0002f48, 0x87ce: 0xe0003263, 0x87cf: 0xe000303a,\n\t0x87d0: 0xe0003370, 0x87d1: 0xe00030d3, 0x87d2: 0xe00033fd, 0x87d3: 0xe0003193,\n\t0x87d4: 0xe00034c0, 0x87d5: 0xe00031a8, 0x87d6: 0xe00034d5, 0x87d7: 0xe000319c,\n\t0x87d8: 0xe00034c9, 0x87d9: 0xe00031a4, 0x87da: 0xe00034d1, 0x87db: 0xe00031a0,\n\t0x87dc: 0xe00034cd, 0x87dd: 0x402cae20, 0x87de: 0xe0002f55, 0x87df: 0xe0003270,\n\t0x87e0: 0xe0002f5f, 0x87e1: 0xe000327a, 0x87e2: 0xe00009f4, 0x87e3: 0xe00009ef,\n\t0x87e4: 0x002d3a88, 0x87e5: 0x402d3a20, 0x87e6: 0xe000300d, 0x87e7: 0xe0003340,\n\t0x87e8: 0xe0003065, 0x87e9: 0xe000339b, 0x87ea: 0xe00030f6, 0x87eb: 0xe0003420,\n\t0x87ec: 0xe00030f9, 0x87ed: 0xe0003423, 0x87ee: 0xe0001162, 0x87ef: 0xe000115f,\n\t0x87f0: 0xe0003395, 0x87f1: 0xe00032b0, 0x87f2: 0xe00032ad, 0x87f3: 0xe00032aa,\n\t0x87f4: 0xe0003004, 0x87f5: 0xe0003337, 0x87f6: 0x002d7888, 0x87f7: 0x00319488,\n\t0x87f8: 0xe000309f, 0x87f9: 0xe00033c9, 0x87fa: 0xe0002f4e, 0x87fb: 0xe0003269,\n\t0x87fc: 0xe00009ea, 0x87fd: 0xe00009e5, 0x87fe: 0xe0000e19, 0x87ff: 0xe0000e15,\n\t// Block 0x220, offset 0x8800\n\t0x8800: 0xe0002f6c, 0x8801: 0xe0003287, 0x8802: 0xe0002f6f, 0x8803: 0xe000328a,\n\t0x8804: 0xe0002fee, 0x8805: 0xe0003321, 0x8806: 0xe0002ff1, 0x8807: 0xe0003324,\n\t0x8808: 0xe0003053, 0x8809: 0xe0003386, 0x880a: 0xe0003056, 0x880b: 0xe0003389,\n\t0x880c: 0xe000310b, 0x880d: 0xe0003435, 0x880e: 0xe000310e, 0x880f: 0xe0003438,\n\t0x8810: 0xe0003141, 0x8811: 0xe000346b, 0x8812: 0xe0003144, 0x8813: 0xe000346e,\n\t0x8814: 0xe00031c3, 0x8815: 0xe00034f0, 0x8816: 0xe00031c6, 0x8817: 0xe00034f3,\n\t0x8818: 0xe000316f, 0x8819: 0xe0003499, 0x881a: 0xe000317e, 0x881b: 0xe00034ab,\n\t0x881c: 0x00312288, 0x881d: 0x40312220, 0x881e: 0xe000301c, 0x881f: 0xe000334f,\n\t0x8820: 0x002ebc88, 0x8821: 0x402c8c20, 0x8822: 0x002f2288, 0x8823: 0x402f2220,\n\t0x8824: 0x00314088, 0x8825: 0x40314020, 0x8826: 0xe0002f5c, 0x8827: 0xe0003277,\n\t0x8828: 0xe0002fd6, 0x8829: 0xe0003309, 0x882a: 0xe00030d9, 0x882b: 0xe0003403,\n\t0x882c: 0xe00030eb, 0x882d: 0xe0003415, 0x882e: 0xe00030ef, 0x882f: 0xe0003419,\n\t0x8830: 0xe00030f2, 0x8831: 0xe000341c, 0x8832: 0xe000321c, 0x8833: 0xe000354f,\n\t0x8834: 0x402e5e20, 0x8835: 0x402ed020, 0x8836: 0x40305a20, 0x8837: 0x402dd420,\n\t0x8838: 0xe0000abf, 0x8839: 0xe0000ec4, 0x883a: 0x002be888, 0x883b: 0x002c4488,\n\t0x883c: 0x402c4420, 0x883d: 0x002e3888, 0x883e: 0x00303e88, 0x883f: 0x402ffc20,\n\t// Block 0x221, offset 0x8840\n\t0x8840: 0xae603502, 0x8841: 0xae603202, 0x8842: 0xae604502, 0x8843: 0xae602202,\n\t0x8844: 0xe0000000, 0x8845: 0xaf007f02, 0x8846: 0xae605f02, 0x8847: 0xadc06002,\n\t0x8848: 0xadc06002, 0x8849: 0xadc06002, 0x884a: 0xae605f02, 0x884b: 0xae605f02,\n\t0x884c: 0xae605f02, 0x884d: 0xadc06002, 0x884e: 0xadc06002, 0x884f: 0xa0000000,\n\t0x8850: 0xae605f02, 0x8851: 0xae605f02, 0x8852: 0xae605f02, 0x8853: 0xadc06002,\n\t0x8854: 0xadc06002, 0x8855: 0xadc06002, 0x8856: 0xadc06002, 0x8857: 0xae605f02,\n\t0x8858: 0xae808002, 0x8859: 0xadc06002, 0x885a: 0xadc06002, 0x885b: 0xae605f02,\n\t0x885c: 0xae906002, 0x885d: 0xaea05f02, 0x885e: 0xaea05f02, 0x885f: 0xae906002,\n\t0x8860: 0xaea08102, 0x8861: 0xaea08202, 0x8862: 0xae906002, 0x8863: 0x84e615ef,\n\t0x8864: 0x84e6164c, 0x8865: 0x84e616cd, 0x8866: 0x84e61771, 0x8867: 0x84e61836,\n\t0x8868: 0x84e6161d, 0x8869: 0x84e61631, 0x886a: 0x84e616b4, 0x886b: 0x84e61741,\n\t0x886c: 0x84e617bd, 0x886d: 0x84e61816, 0x886e: 0x84e6185f, 0x886f: 0x84e6187b,\n\t0x8870: 0x00326688, 0x8871: 0x40326620, 0x8872: 0x0032a688, 0x8873: 0x4032a620,\n\t0x8874: 0x40064020, 0x8875: 0x40064220, 0x8876: 0x00326088, 0x8877: 0x40326020,\n\t0x887a: 0x00326c84, 0x887b: 0x40329220,\n\t0x887c: 0x40329020, 0x887d: 0x40329420, 0x887e: 0x402c1620,\n\t// Block 0x222, offset 0x8880\n\t0x8880: 0xe0002f7d, 0x8881: 0xe0003298, 0x8882: 0xe0002f80, 0x8883: 0xe00032b3,\n\t0x8884: 0xe0002f83, 0x8885: 0xe00032b6, 0x8886: 0xe0002f86, 0x8887: 0xe00032b9,\n\t0x8888: 0xe0002f98, 0x8889: 0xe00032cb, 0x888a: 0xe0002f9f, 0x888b: 0xe00032d2,\n\t0x888c: 0xe0002fa5, 0x888d: 0xe00032d8, 0x888e: 0xe0002fab, 0x888f: 0xe00032de,\n\t0x8890: 0xe0002fa2, 0x8891: 0xe00032d5, 0x8892: 0xe0002fa8, 0x8893: 0xe00032db,\n\t0x8894: 0xe0002fe7, 0x8895: 0xe000331a, 0x8896: 0xe0002fe3, 0x8897: 0xe0003316,\n\t0x8898: 0xe0002ffb, 0x8899: 0xe000332e, 0x889a: 0xe0002ffe, 0x889b: 0xe0003331,\n\t0x889c: 0xe0002fd9, 0x889d: 0xe000330c, 0x889e: 0xe0003001, 0x889f: 0xe0003334,\n\t0x88a0: 0xe0003016, 0x88a1: 0xe0003349, 0x88a2: 0xe0003022, 0x88a3: 0xe0003355,\n\t0x88a4: 0xe0003028, 0x88a5: 0xe000335b, 0x88a6: 0xe000301f, 0x88a7: 0xe0003352,\n\t0x88a8: 0xe0003025, 0x88a9: 0xe0003358, 0x88aa: 0xe000302b, 0x88ab: 0xe000335e,\n\t0x88ac: 0xe000305c, 0x88ad: 0xe000338f, 0x88ae: 0xe0003040, 0x88af: 0xe0003376,\n\t0x88b0: 0xe0003062, 0x88b1: 0xe0003398, 0x88b2: 0xe000306b, 0x88b3: 0xe00033a1,\n\t0x88b4: 0xe000306e, 0x88b5: 0xe00033a4, 0x88b6: 0xe000307a, 0x88b7: 0xe00033b0,\n\t0x88b8: 0xe000307d, 0x88b9: 0xe00033b3, 0x88ba: 0xe0003084, 0x88bb: 0xe00033ba,\n\t0x88bc: 0xe0003081, 0x88bd: 0xe00033b7, 0x88be: 0xe0003087, 0x88bf: 0xe00033bd,\n\t// Block 0x223, offset 0x88c0\n\t0x88c0: 0xe000308a, 0x88c1: 0xe00033c0, 0x88c2: 0xe000308d, 0x88c3: 0xe00033c3,\n\t0x88c4: 0xe00030a8, 0x88c5: 0xe00033d2, 0x88c6: 0xe00030ae, 0x88c7: 0xe00033d8,\n\t0x88c8: 0xe00030b4, 0x88c9: 0xe00033de, 0x88ca: 0xe00030b1, 0x88cb: 0xe00033db,\n\t0x88cc: 0xe00030e3, 0x88cd: 0xe000340d, 0x88ce: 0xe00030e7, 0x88cf: 0xe0003411,\n\t0x88d0: 0xe0003104, 0x88d1: 0xe000342e, 0x88d2: 0xe0003100, 0x88d3: 0xe000342a,\n\t0x88d4: 0xe000312f, 0x88d5: 0xe0003459, 0x88d6: 0xe0003132, 0x88d7: 0xe000345c,\n\t0x88d8: 0xe000313b, 0x88d9: 0xe0003465, 0x88da: 0xe0003147, 0x88db: 0xe0003471,\n\t0x88dc: 0xe000314a, 0x88dd: 0xe0003474, 0x88de: 0xe000314e, 0x88df: 0xe0003478,\n\t0x88e0: 0xe0003162, 0x88e1: 0xe000348c, 0x88e2: 0xe0003168, 0x88e3: 0xe0003492,\n\t0x88e4: 0xe0003154, 0x88e5: 0xe000347e, 0x88e6: 0xe000315e, 0x88e7: 0xe0003488,\n\t0x88e8: 0xe000316b, 0x88e9: 0xe0003495, 0x88ea: 0xe0003175, 0x88eb: 0xe00034a2,\n\t0x88ec: 0xe000317b, 0x88ed: 0xe00034a8, 0x88ee: 0xe0003184, 0x88ef: 0xe00034b1,\n\t0x88f0: 0xe0003181, 0x88f1: 0xe00034ae, 0x88f2: 0xe00031e3, 0x88f3: 0xe0003510,\n\t0x88f4: 0xe00031e9, 0x88f5: 0xe0003516, 0x88f6: 0xe00031e6, 0x88f7: 0xe0003513,\n\t0x88f8: 0xe00031b2, 0x88f9: 0xe00034df, 0x88fa: 0xe00031bc, 0x88fb: 0xe00034e9,\n\t0x88fc: 0xe00031ec, 0x88fd: 0xe0003519, 0x88fe: 0xe00031ef, 0x88ff: 0xe000351c,\n\t// Block 0x224, offset 0x8900\n\t0x8900: 0xe00031f5, 0x8901: 0xe0003522, 0x8902: 0xe00031f2, 0x8903: 0xe000351f,\n\t0x8904: 0xe00031fb, 0x8905: 0xe000352b, 0x8906: 0xe00031fe, 0x8907: 0xe000352e,\n\t0x8908: 0xe0003201, 0x8909: 0xe0003531, 0x890a: 0xe0003207, 0x890b: 0xe0003537,\n\t0x890c: 0xe0003204, 0x890d: 0xe0003534, 0x890e: 0xe0003219, 0x890f: 0xe000354c,\n\t0x8910: 0xe0003228, 0x8911: 0xe000355b, 0x8912: 0xe0003231, 0x8913: 0xe0003564,\n\t0x8914: 0xe0003234, 0x8915: 0xe0003567, 0x8916: 0xe0003361, 0x8917: 0xe000349f,\n\t0x8918: 0xe0003528, 0x8919: 0xe0003543, 0x891a: 0xe0002f10, 0x891b: 0xe0000f70,\n\t0x891c: 0x40300420, 0x891d: 0x40300620, 0x891e: 0xe0000f7f, 0x891f: 0x402c9620,\n\t0x8920: 0xe0002f72, 0x8921: 0xe000328d, 0x8922: 0xe0002f69, 0x8923: 0xe0003284,\n\t0x8924: 0xe0002f38, 0x8925: 0xe0003253, 0x8926: 0xe0002f3c, 0x8927: 0xe0003257,\n\t0x8928: 0xe0002f44, 0x8929: 0xe000325f, 0x892a: 0xe0002f40, 0x892b: 0xe000325b,\n\t0x892c: 0xe0002f79, 0x892d: 0xe0003294, 0x892e: 0xe0002f25, 0x892f: 0xe0003240,\n\t0x8930: 0xe0002f29, 0x8931: 0xe0003244, 0x8932: 0xe0002f31, 0x8933: 0xe000324c,\n\t0x8934: 0xe0002f2d, 0x8935: 0xe0003248, 0x8936: 0xe0002f75, 0x8937: 0xe0003290,\n\t0x8938: 0xe0002ff4, 0x8939: 0xe0003327, 0x893a: 0xe0002feb, 0x893b: 0xe000331e,\n\t0x893c: 0xe0002fd0, 0x893d: 0xe0003303, 0x893e: 0xe0002fba, 0x893f: 0xe00032ed,\n\t// Block 0x225, offset 0x8940\n\t0x8940: 0xe0002fbe, 0x8941: 0xe00032f1, 0x8942: 0xe0002fc6, 0x8943: 0xe00032f9,\n\t0x8944: 0xe0002fc2, 0x8945: 0xe00032f5, 0x8946: 0xe0002ff7, 0x8947: 0xe000332a,\n\t0x8948: 0xe0003050, 0x8949: 0xe0003383, 0x894a: 0xe0003059, 0x894b: 0xe000338c,\n\t0x894c: 0xe0003128, 0x894d: 0xe0003452, 0x894e: 0xe0003108, 0x894f: 0xe0003432,\n\t0x8950: 0xe00030c3, 0x8951: 0xe00033ed, 0x8952: 0xe00030c7, 0x8953: 0xe00033f1,\n\t0x8954: 0xe00030cf, 0x8955: 0xe00033f9, 0x8956: 0xe00030cb, 0x8957: 0xe00033f5,\n\t0x8958: 0xe000312b, 0x8959: 0xe0003455, 0x895a: 0xe0003114, 0x895b: 0xe000343e,\n\t0x895c: 0xe0003118, 0x895d: 0xe0003442, 0x895e: 0xe0003120, 0x895f: 0xe000344a,\n\t0x8960: 0xe000311c, 0x8961: 0xe0003446, 0x8962: 0xe0003124, 0x8963: 0xe000344e,\n\t0x8964: 0xe00031e0, 0x8965: 0xe000350d, 0x8966: 0xe00031c0, 0x8967: 0xe00034ed,\n\t0x8968: 0xe00031cc, 0x8969: 0xe00034f9, 0x896a: 0xe00031d0, 0x896b: 0xe00034fd,\n\t0x896c: 0xe00031d8, 0x896d: 0xe0003505, 0x896e: 0xe00031d4, 0x896f: 0xe0003501,\n\t0x8970: 0xe00031dc, 0x8971: 0xe0003509, 0x8972: 0xe000320d, 0x8973: 0xe000353d,\n\t0x8974: 0xe0003222, 0x8975: 0xe0003555, 0x8976: 0xe000321f, 0x8977: 0xe0003552,\n\t0x8978: 0xe0003216, 0x8979: 0xe0003549, 0x897a: 0xe0000d0a, 0x897b: 0xe0000d07,\n\t0x897c: 0x0030d888, 0x897d: 0x4030d820, 0x897e: 0x00312088, 0x897f: 0x40312020,\n\t// Block 0x226, offset 0x8980\n\t0x8980: 0x40063a20, 0x8981: 0xe00000b1, 0x8982: 0xe00012ea, 0x8983: 0xe00012f5,\n\t0x8984: 0xe00012e0, 0x8986: 0xe00012ee, 0x8987: 0xe00012f1,\n\t0x8988: 0xe000124f, 0x8989: 0xe0001249, 0x898a: 0xe00012e7, 0x898b: 0xe00012dd,\n\t0x898c: 0xe00012f8, 0x898d: 0xe00000b7, 0x898e: 0xe00000b4, 0x898f: 0xe00000ba,\n\t0x8990: 0xe0001343, 0x8991: 0xe000135e, 0x8992: 0xe0001356, 0x8993: 0xe0001352,\n\t0x8996: 0xe0001349, 0x8997: 0xe000135a,\n\t0x8998: 0xe0001346, 0x8999: 0xe0001361, 0x899a: 0xe0001340, 0x899b: 0xe000133a,\n\t0x899d: 0xe00000c0, 0x899e: 0xe00000bd, 0x899f: 0xe00000c3,\n\t0x89a0: 0xe00013e6, 0x89a1: 0xe0001401, 0x89a2: 0xe00013f9, 0x89a3: 0xe00013f5,\n\t0x89a4: 0xe00013a4, 0x89a5: 0xe00013a7, 0x89a6: 0xe00013ec, 0x89a7: 0xe00013fd,\n\t0x89a8: 0xe00013e9, 0x89a9: 0xe0001404, 0x89aa: 0xe00013e3, 0x89ab: 0xe00013dd,\n\t0x89ac: 0xe00013aa, 0x89ad: 0xe00000ae, 0x89ae: 0xe00000ab, 0x89af: 0x402c6020,\n\t0x89b2: 0xe000149f, 0x89b3: 0xe00014aa,\n\t0x89b4: 0xe0001495, 0x89b6: 0xe00014a3, 0x89b7: 0xe00014a6,\n\t0x89b8: 0xe00013a1, 0x89b9: 0xe000139b, 0x89ba: 0xe000149c, 0x89bb: 0xe0001492,\n\t0x89bc: 0xe00014ad, 0x89bd: 0x40062020, 0x89be: 0x40063820,\n\t// Block 0x227, offset 0x89c0\n\t0x89c0: 0x00021284, 0x89c1: 0x00021284, 0x89c2: 0x00021284, 0x89c3: 0x00021284,\n\t0x89c4: 0x00021284, 0x89c5: 0x00021284, 0x89c6: 0x00021284, 0x89c7: 0x0002129b,\n\t0x89c8: 0x00021284, 0x89c9: 0x00021284, 0x89ca: 0x00021284, 0x89cb: 0xa0000000,\n\t0x89cc: 0xa0000000, 0x89cd: 0xa0000000, 0x89ce: 0xa0000000, 0x89cf: 0xa0000000,\n\t0x89d0: 0x40022620, 0x89d1: 0x0002269b, 0x89d2: 0x40022820, 0x89d3: 0x40022a20,\n\t0x89d4: 0x40022c20, 0x89d5: 0x40022e20, 0x89d6: 0x4004c420, 0x89d7: 0x40021820,\n\t0x89d8: 0x4003d420, 0x89d9: 0x4003d620, 0x89da: 0x4003d820, 0x89db: 0x4003da20,\n\t0x89dc: 0x4003e220, 0x89dd: 0x4003e420, 0x89de: 0x4003e620, 0x89df: 0x4003e820,\n\t0x89e0: 0x4004f820, 0x89e1: 0x4004fa20, 0x89e2: 0x40050220, 0x89e3: 0x40050420,\n\t0x89e4: 0x0002e484, 0x89e5: 0xe0002bac, 0x89e6: 0xe0002bb2, 0x89e7: 0x40050620,\n\t0x89e8: 0x40020e20, 0x89e9: 0x40021020, 0x89ea: 0xa0000000, 0x89eb: 0xa0000000,\n\t0x89ec: 0xa0000000, 0x89ed: 0xa0000000, 0x89ee: 0xa0000000, 0x89ef: 0x0002129b,\n\t0x89f0: 0x4004f020, 0x89f1: 0x4004f420, 0x89f2: 0x40050e20, 0x89f3: 0xf0001f04,\n\t0x89f4: 0xf0000404, 0x89f5: 0x40051020, 0x89f6: 0xf0001f04, 0x89f7: 0xf0000404,\n\t0x89f8: 0x40051620, 0x89f9: 0x4003dc20, 0x89fa: 0x4003de20, 0x89fb: 0x40051820,\n\t0x89fc: 0xe0002ba0, 0x89fd: 0x4002e020, 0x89fe: 0x40021420, 0x89ff: 0x40051a20,\n\t// Block 0x228, offset 0x8a00\n\t0x8a00: 0x40051e20, 0x8a01: 0x40052220, 0x8a02: 0x40052420, 0x8a03: 0x40050820,\n\t0x8a04: 0x40095820, 0x8a05: 0x40040c20, 0x8a06: 0x40040e20, 0x8a07: 0xe0002ba9,\n\t0x8a08: 0xe0002ba6, 0x8a09: 0xe0002ba3, 0x8a0a: 0x4004e820, 0x8a0b: 0x4004d420,\n\t0x8a0c: 0x40050a20, 0x8a0d: 0x40050c20, 0x8a0e: 0x4004da20, 0x8a0f: 0x40026620,\n\t0x8a10: 0x40052020, 0x8a11: 0x4004dc20, 0x8a12: 0x40095020, 0x8a13: 0x40023420,\n\t0x8a14: 0x40051c20, 0x8a15: 0x40039c20, 0x8a16: 0x40039e20, 0x8a17: 0xe00000a6,\n\t0x8a18: 0x4003a020, 0x8a19: 0x4003a220, 0x8a1a: 0x4003a420, 0x8a1b: 0x4003a620,\n\t0x8a1c: 0x4003a820, 0x8a1d: 0x4003aa20, 0x8a1e: 0x4003ac20, 0x8a1f: 0x00021284,\n\t0x8a20: 0xa0000000, 0x8a21: 0xa0000000, 0x8a22: 0xa0000000, 0x8a23: 0xa0000000,\n\t0x8a24: 0xa0000000,\n\t0x8a2a: 0xa0000000, 0x8a2b: 0xa0000000,\n\t0x8a2c: 0xa0000000, 0x8a2d: 0xa0000000, 0x8a2e: 0xa0000000, 0x8a2f: 0xa0000000,\n\t0x8a30: 0x0029cc94, 0x8a31: 0x002d9a94,\n\t0x8a34: 0x0029d494, 0x8a35: 0x0029d694, 0x8a36: 0x0029d894, 0x8a37: 0x0029da94,\n\t0x8a38: 0x0029dc94, 0x8a39: 0x0029de94, 0x8a3a: 0x00093894, 0x8a3b: 0x00094e94,\n\t0x8a3c: 0x00094294, 0x8a3d: 0x0003f494, 0x8a3e: 0x0003f694, 0x8a3f: 0x002e9e94,\n\t// Block 0x229, offset 0x8a40\n\t0x8a40: 0xe00009bc, 0x8a41: 0xe00009c0, 0x8a42: 0x002c3a8b, 0x8a43: 0xe0002d26,\n\t0x8a44: 0x40081c20, 0x8a45: 0xe0000a5e, 0x8a46: 0xe0000a62, 0x8a47: 0x002cc28a,\n\t0x8a48: 0x40081e20, 0x8a49: 0xe0002d29, 0x8a4a: 0x002d2285, 0x8a4b: 0x002d688b,\n\t0x8a4c: 0x002d688b, 0x8a4d: 0x002d688b, 0x8a4e: 0x002d6885, 0x8a4f: 0xf0000202,\n\t0x8a50: 0x002d9a8b, 0x8a51: 0x002d9a8b, 0x8a52: 0x002e228b, 0x8a53: 0x002e2285,\n\t0x8a54: 0x40082020, 0x8a55: 0x002e9e8b, 0x8a56: 0xe000281e, 0x8a57: 0x40082220,\n\t0x8a58: 0x40082420, 0x8a59: 0x002f2c8b, 0x8a5a: 0x002f568b, 0x8a5b: 0x002f7a8b,\n\t0x8a5c: 0x002f7a8b, 0x8a5d: 0x002f7a8b, 0x8a5e: 0x40082620, 0x8a5f: 0x40082820,\n\t0x8a60: 0xe0002833, 0x8a61: 0xe0000fbd, 0x8a62: 0xe0002842, 0x8a63: 0x40082a20,\n\t0x8a64: 0x00312a8b, 0x8a65: 0x40082c20, 0x8a66: 0x0032a288, 0x8a67: 0x40082e20,\n\t0x8a68: 0x00312a8b, 0x8a69: 0x40083020, 0x8a6a: 0x402c3620, 0x8a6b: 0xe0002f4b,\n\t0x8a6c: 0x002c0a8b, 0x8a6d: 0x002c3a8b, 0x8a6e: 0x40083220, 0x8a6f: 0x002c9885,\n\t0x8a70: 0x002c988b, 0x8a71: 0x002d088b, 0x8a72: 0x002d1e88, 0x8a73: 0x002e828b,\n\t0x8a74: 0x002ee285, 0x8a75: 0x00389084, 0x8a76: 0x00389284, 0x8a77: 0x00389484,\n\t0x8a78: 0x00389684, 0x8a79: 0x002d9a85, 0x8a7a: 0x40083420, 0x8a7b: 0xe0000b95,\n\t0x8a7c: 0x00327e85, 0x8a7d: 0x00325685, 0x8a7e: 0x0032568b, 0x8a7f: 0x00327e8b,\n\t// Block 0x22a, offset 0x8a80\n\t0x8a80: 0x00093685, 0x8a81: 0x40083620, 0x8a82: 0x40083820, 0x8a83: 0x40083a20,\n\t0x8a84: 0x40083c20, 0x8a85: 0x002c628b, 0x8a86: 0x002c6285, 0x8a87: 0x002c9885,\n\t0x8a88: 0x002d9a85, 0x8a89: 0x002dcc85, 0x8a8a: 0x40083e20, 0x8a8b: 0x400a6e20,\n\t0x8a8c: 0x40084020, 0x8a8d: 0xe00009c4, 0x8a8e: 0x402d1e20, 0x8a8f: 0x40084220,\n\t0x8a90: 0xe00002cb, 0x8a91: 0xe00002d3, 0x8a92: 0xe00002b2, 0x8a93: 0xe00002bb,\n\t0x8a94: 0xe00003cd, 0x8a95: 0xe00002c3, 0x8a96: 0xe00003d1, 0x8a97: 0xe00004ab,\n\t0x8a98: 0xe0000579, 0x8a99: 0xe00002c7, 0x8a9a: 0xe0000640, 0x8a9b: 0xe00002cf,\n\t0x8a9c: 0xe00004af, 0x8a9d: 0xe0000644, 0x8a9e: 0xe0000798, 0x8a9f: 0xe0002d42,\n\t0x8aa0: 0x002d9a8a, 0x8aa1: 0xe00027d4, 0x8aa2: 0xe00027db, 0x8aa3: 0xe00027ee,\n\t0x8aa4: 0x0030be8a, 0x8aa5: 0xe0002848, 0x8aa6: 0xe000284f, 0x8aa7: 0xe00010bb,\n\t0x8aa8: 0xe00027f4, 0x8aa9: 0x0030f68a, 0x8aaa: 0xe0002883, 0x8aab: 0xe000288a,\n\t0x8aac: 0x002e228a, 0x8aad: 0x002c3a8a, 0x8aae: 0x002c628a, 0x8aaf: 0x002e828a,\n\t0x8ab0: 0x002d9a84, 0x8ab1: 0xe00027d1, 0x8ab2: 0xe00027d7, 0x8ab3: 0xe00027eb,\n\t0x8ab4: 0x0030be84, 0x8ab5: 0xe0002845, 0x8ab6: 0xe000284b, 0x8ab7: 0xe00010b6,\n\t0x8ab8: 0xe00027f1, 0x8ab9: 0x0030f684, 0x8aba: 0xe0002880, 0x8abb: 0xe0002886,\n\t0x8abc: 0x002e2284, 0x8abd: 0x002c3a84, 0x8abe: 0x002c6284, 0x8abf: 0x002e8284,\n\t// Block 0x22b, offset 0x8ac0\n\t0x8ac0: 0x4009a620, 0x8ac1: 0xe00000f5, 0x8ac2: 0x4009a820, 0x8ac3: 0x4009aa20,\n\t0x8ac4: 0xe00000f8, 0x8ac5: 0x4009ac20, 0x8ac6: 0x4009ae20, 0x8ac7: 0xe00000fb,\n\t0x8ac8: 0x4009b020, 0x8ac9: 0xe00000fe, 0x8aca: 0x4009b220, 0x8acb: 0x4009b420,\n\t0x8acc: 0x4009b620, 0x8acd: 0x4009b820, 0x8ace: 0x4009ba20, 0x8acf: 0x4009bc20,\n\t0x8ad0: 0x4009be20, 0x8ad1: 0x4009c020, 0x8ad2: 0x4009c220, 0x8ad3: 0x4009c420,\n\t0x8ad4: 0x4009c620, 0x8ad5: 0x4009c820, 0x8ad6: 0x4009ca20, 0x8ad7: 0x4009cc20,\n\t0x8ad8: 0x4009ce20, 0x8ad9: 0x4009d020, 0x8ada: 0x4009d220, 0x8adb: 0x4009d420,\n\t0x8adc: 0x4009d620, 0x8add: 0x4009d820, 0x8ade: 0x4009da20, 0x8adf: 0x4009dc20,\n\t0x8ae0: 0xe0002f16, 0x8ae1: 0x4009de20, 0x8ae2: 0xe0000104, 0x8ae3: 0x4009e020,\n\t0x8ae4: 0x4009e220, 0x8ae5: 0x4009e420, 0x8ae6: 0x4009e620, 0x8ae7: 0x4009e820,\n\t0x8ae8: 0x4009ea20, 0x8ae9: 0x4009ec20, 0x8aea: 0x4009ee20, 0x8aeb: 0x4009f020,\n\t0x8aec: 0x4009f220, 0x8aed: 0xe0000101, 0x8aee: 0xe0002f13, 0x8aef: 0xe0002f19,\n\t0x8af0: 0xe0000107, 0x8af1: 0xe000010a, 0x8af2: 0x4009f420, 0x8af3: 0x4009f620,\n\t0x8af4: 0xe000010d, 0x8af5: 0xe0000110, 0x8af6: 0x4009f820, 0x8af7: 0x4009fa20,\n\t0x8af8: 0xe0000113, 0x8af9: 0xe0000116, 0x8afa: 0x4009fc20, 0x8afb: 0x4009fe20,\n\t0x8afc: 0x400a0020, 0x8afd: 0x400a0220, 0x8afe: 0x400a0420, 0x8aff: 0x400a0620,\n\t// Block 0x22c, offset 0x8b00\n\t0x8b00: 0x400d1820, 0x8b01: 0x400d1a20, 0x8b02: 0x400d1c20, 0x8b03: 0x400d1e20,\n\t0x8b04: 0x400d2020, 0x8b05: 0x400d2220, 0x8b06: 0x400d2420, 0x8b07: 0x400d2620,\n\t0x8b08: 0x400d2820, 0x8b09: 0x400d2a20, 0x8b0a: 0x400d2c20,\n\t0x8b20: 0x0029ce86, 0x8b21: 0x0029d086, 0x8b22: 0x0029d286, 0x8b23: 0x0029d486,\n\t0x8b24: 0x0029d686, 0x8b25: 0x0029d886, 0x8b26: 0x0029da86, 0x8b27: 0x0029dc86,\n\t0x8b28: 0x0029de86, 0x8b29: 0xe0002d45, 0x8b2a: 0xe0002d58, 0x8b2b: 0xe0002d6b,\n\t0x8b2c: 0xe0002d7e, 0x8b2d: 0xe0002d8d, 0x8b2e: 0xe0002d9c, 0x8b2f: 0xe0002dab,\n\t0x8b30: 0xe0002dba, 0x8b31: 0xe0002dc9, 0x8b32: 0xe0002dd8, 0x8b33: 0xe0002df6,\n\t0x8b34: 0xe0002bba, 0x8b35: 0xe0002bbe, 0x8b36: 0xe0002bc2, 0x8b37: 0xe0002bc6,\n\t0x8b38: 0xe0002bca, 0x8b39: 0xe0002bce, 0x8b3a: 0xe0002bd2, 0x8b3b: 0xe0002bd6,\n\t0x8b3c: 0xe0002bda, 0x8b3d: 0xe0000015, 0x8b3e: 0xe000001a, 0x8b3f: 0xe000001f,\n\t// Block 0x22d, offset 0x8b40\n\t0x8b40: 0xe0000024, 0x8b41: 0xe0000029, 0x8b42: 0xe000002e, 0x8b43: 0xe0000033,\n\t0x8b44: 0xe0000038, 0x8b45: 0xe000003d, 0x8b46: 0xe0000042, 0x8b47: 0xe0000047,\n\t0x8b48: 0xe0002d3f, 0x8b49: 0xe0002df3, 0x8b4a: 0xe0002e60, 0x8b4b: 0xe0002e95,\n\t0x8b4c: 0xe0002ec2, 0x8b4d: 0xe0002ed4, 0x8b4e: 0xe0002ee3, 0x8b4f: 0xe0002ef2,\n\t0x8b50: 0xe0002f01, 0x8b51: 0xe0002d48, 0x8b52: 0xe0002d5b, 0x8b53: 0xe0002d6e,\n\t0x8b54: 0xe0002d81, 0x8b55: 0xe0002d90, 0x8b56: 0xe0002d9f, 0x8b57: 0xe0002dae,\n\t0x8b58: 0xe0002dbd, 0x8b59: 0xe0002dcc, 0x8b5a: 0xe0002ddb, 0x8b5b: 0xe0002df9,\n\t0x8b5c: 0xe0002bde, 0x8b5d: 0xe0002be6, 0x8b5e: 0xe0002bee, 0x8b5f: 0xe0002bf6,\n\t0x8b60: 0xe000249f, 0x8b61: 0xe0002bfe, 0x8b62: 0xe0002c06, 0x8b63: 0xe00024a7,\n\t0x8b64: 0xe00024af, 0x8b65: 0xe0002c0e, 0x8b66: 0xe00024b7, 0x8b67: 0xe0002c16,\n\t0x8b68: 0xe0002c1e, 0x8b69: 0xe0002c26, 0x8b6a: 0xe00024bf, 0x8b6b: 0xe0002c2e,\n\t0x8b6c: 0xe00024c7, 0x8b6d: 0xe00024cf, 0x8b6e: 0xe00024d7, 0x8b6f: 0xe00024df,\n\t0x8b70: 0xe0002c36, 0x8b71: 0xe0002c3e, 0x8b72: 0xe0002c46, 0x8b73: 0xe00024e7,\n\t0x8b74: 0xe0002c4e, 0x8b75: 0xe0002c56, 0x8b76: 0x002bde8c, 0x8b77: 0x002c0a8c,\n\t0x8b78: 0x002c3a8c, 0x8b79: 0x002c628c, 0x8b7a: 0x002c988c, 0x8b7b: 0x002d088c,\n\t0x8b7c: 0x002d228c, 0x8b7d: 0x002d688c, 0x8b7e: 0x002d9a8c, 0x8b7f: 0x002dcc8c,\n\t// Block 0x22e, offset 0x8b80\n\t0x8b80: 0x40151420, 0x8b81: 0x40151620, 0x8b82: 0x40151820, 0x8b83: 0x40151a20,\n\t0x8b84: 0x40151c20, 0x8b85: 0x40151e20, 0x8b86: 0x40152020, 0x8b87: 0x40152220,\n\t0x8b88: 0x40152420, 0x8b89: 0x40152620, 0x8b8a: 0x40152820, 0x8b8b: 0x40152a20,\n\t0x8b8c: 0x40152c20, 0x8b8d: 0x40152e20, 0x8b8e: 0x40153020, 0x8b8f: 0x40153220,\n\t0x8b90: 0x40153420, 0x8b91: 0x40153620, 0x8b92: 0x40153820, 0x8b93: 0x40153a20,\n\t0x8b94: 0x40153c20, 0x8b95: 0x40153e20, 0x8b96: 0x40154020, 0x8b97: 0x40154220,\n\t0x8b98: 0x40154420, 0x8b99: 0x40154620, 0x8b9a: 0x40154820, 0x8b9b: 0x40154a20,\n\t0x8b9c: 0x40154c20, 0x8b9d: 0x40154e20, 0x8b9e: 0x40155020, 0x8b9f: 0x40155220,\n\t0x8ba0: 0x40155420, 0x8ba1: 0x40155620, 0x8ba2: 0x40155820, 0x8ba3: 0x40155a20,\n\t0x8ba4: 0x40155c20, 0x8ba5: 0x40155e20, 0x8ba6: 0x40156020, 0x8ba7: 0x40156220,\n\t0x8ba8: 0x40156420, 0x8ba9: 0x40156620, 0x8baa: 0x40156820, 0x8bab: 0x40156a20,\n\t0x8bac: 0x40156c20, 0x8bad: 0x40156e20, 0x8bae: 0x40157020, 0x8baf: 0x40157220,\n\t0x8bb0: 0x40157420, 0x8bb1: 0x40157620, 0x8bb2: 0x40157820, 0x8bb3: 0x40157a20,\n\t0x8bb4: 0xe0002b9c, 0x8bb5: 0xe0002d2c, 0x8bb6: 0xe0002d2f, 0x8bb7: 0x40157c20,\n\t0x8bb8: 0x40157e20, 0x8bb9: 0x40158020, 0x8bba: 0x40158220, 0x8bbb: 0x40158420,\n\t0x8bbc: 0x40158620, 0x8bbd: 0x40158820, 0x8bbe: 0x40158a20, 0x8bbf: 0x40158c20,\n\t// Block 0x22f, offset 0x8bc0\n\t0x8bc0: 0xe0002c5e, 0x8bc1: 0xe0002c62, 0x8bc2: 0xe0002c66, 0x8bc3: 0xe0002c6a,\n\t0x8bc4: 0xe0002c6e, 0x8bc5: 0xe0002c72, 0x8bc6: 0xe0002c76, 0x8bc7: 0xe0002c7a,\n\t0x8bc8: 0xe0002c7e, 0x8bc9: 0xe0002c82, 0x8bca: 0xe0002c86, 0x8bcb: 0xe0002c8a,\n\t0x8bcc: 0xe0002c8e, 0x8bcd: 0xe0002c92, 0x8bce: 0xe000004c, 0x8bcf: 0xe0000051,\n\t0x8bd0: 0xe0000056, 0x8bd1: 0xe000005b, 0x8bd2: 0xe0000060, 0x8bd3: 0xe0000065,\n\t0x8bd4: 0xe000006a, 0x8bd5: 0xe000006f, 0x8bd6: 0xe0000083, 0x8bd7: 0xe000008d,\n\t0x8bd8: 0xe0000092, 0x8bd9: 0xe0000097, 0x8bda: 0xe000009c, 0x8bdb: 0xe00000a1,\n\t0x8bdc: 0xe0000088, 0x8bdd: 0xe0000074, 0x8bde: 0xe000007c,\n\t0x8be0: 0xe0002c96, 0x8be1: 0xe0002ca6, 0x8be2: 0xe0002c9e, 0x8be3: 0xe0002cd6,\n\t0x8be4: 0xe0002caa, 0x8be5: 0xe0002cbe, 0x8be6: 0xe0002c9a, 0x8be7: 0xe0002cba,\n\t0x8be8: 0xe0002ca2, 0x8be9: 0xe0002cc6, 0x8bea: 0xe0002ce6, 0x8beb: 0xe0002cfa,\n\t0x8bec: 0xe0002cf6, 0x8bed: 0xe0002cee, 0x8bee: 0xe0002d22, 0x8bef: 0xe0002cda,\n\t0x8bf0: 0xe0002ce2, 0x8bf1: 0xe0002cf2, 0x8bf2: 0xe0002cea, 0x8bf3: 0xe0002d06,\n\t0x8bf4: 0xe0002cce, 0x8bf5: 0xe0002cfe, 0x8bf6: 0xe0002d1a, 0x8bf7: 0xe0002d0a,\n\t0x8bf8: 0xe0002cc2, 0x8bf9: 0xe0002cae, 0x8bfa: 0xe0002cd2, 0x8bfb: 0xe0002cde,\n\t0x8bfc: 0xe0002d02, 0x8bfd: 0xe0002cb2, 0x8bfe: 0xe0002d1e, 0x8bff: 0xe0002cca,\n\t// Block 0x230, offset 0x8c00\n\t0x8c00: 0xe0002d0e, 0x8c01: 0xe0002cb6, 0x8c02: 0xe0002d12, 0x8c03: 0xe0002d16,\n\t0x8c04: 0x02aa9e86, 0x8c05: 0x02bcf886, 0x8c06: 0x02cb0e86, 0x8c07: 0x02f71e86,\n\t0x8c08: 0xe00002e3, 0x8c09: 0xe00003d8, 0x8c0a: 0xe00004b3, 0x8c0b: 0xe000057d,\n\t0x8c0c: 0xe0000648, 0x8c0d: 0xe00006f0, 0x8c0e: 0xe000079c, 0x8c0f: 0xe0000841,\n\t0x8c10: 0xe0000ec0, 0x8c11: 0xe0002e05, 0x8c12: 0xe0002e10, 0x8c13: 0xe0002e1b,\n\t0x8c14: 0xe0002e26, 0x8c15: 0xe0002e31, 0x8c16: 0xe0002e38, 0x8c17: 0xe0002e3f,\n\t0x8c18: 0xe0002e46, 0x8c19: 0xe0002e4d, 0x8c1a: 0xe0002e63, 0x8c1b: 0xe0002e6a,\n\t0x8c1c: 0xe0002e71, 0x8c1d: 0xe0002e74, 0x8c1e: 0xe0002e77, 0x8c1f: 0xe0002e7a,\n\t0x8c20: 0x0062ac86, 0x8c21: 0x0062b086, 0x8c22: 0x0062b286, 0x8c23: 0x0062b686,\n\t0x8c24: 0x0062b886, 0x8c25: 0x0062ba86, 0x8c26: 0x0062be86, 0x8c27: 0x0062c286,\n\t0x8c28: 0x0062c486, 0x8c29: 0x0062c886, 0x8c2a: 0x0062ca86, 0x8c2b: 0x0062cc86,\n\t0x8c2c: 0x0062ce86, 0x8c2d: 0x0062d086, 0x8c2e: 0xf0000606, 0x8c2f: 0xf0000606,\n\t0x8c30: 0xf0000606, 0x8c31: 0xf0000606, 0x8c32: 0xf0000606, 0x8c33: 0xf0000606,\n\t0x8c34: 0xf0000606, 0x8c35: 0xf0000606, 0x8c36: 0xf0000606, 0x8c37: 0xf0000606,\n\t0x8c38: 0xf0000606, 0x8c39: 0xf0000606, 0x8c3a: 0xf0000606, 0x8c3b: 0xf0000606,\n\t0x8c3c: 0xe0002127, 0x8c3d: 0xe0002122, 0x8c3e: 0xf0000606, 0x8c3f: 0x4027ac20,\n\t// Block 0x231, offset 0x8c40\n\t0x8c40: 0x029c0086, 0x8c41: 0x029d1886, 0x8c42: 0x029c1286, 0x8c43: 0x02adb686,\n\t0x8c44: 0x029d2886, 0x8c45: 0x02a2da86, 0x8c46: 0x029c0686, 0x8c47: 0x02a2d686,\n\t0x8c48: 0x029cba86, 0x8c49: 0x02a68286, 0x8c4a: 0x02ce1086, 0x8c4b: 0x02e0d686,\n\t0x8c4c: 0x02d86886, 0x8c4d: 0x02ce5086, 0x8c4e: 0x0323a286, 0x8c4f: 0x02ae3e86,\n\t0x8c50: 0x02cbca86, 0x8c51: 0x02d05486, 0x8c52: 0x02ce1286, 0x8c53: 0x02f27c86,\n\t0x8c54: 0x02a81a86, 0x8c55: 0x02e4f286, 0x8c56: 0x03194286, 0x8c57: 0x02f2ba86,\n\t0x8c58: 0x02a56886, 0x8c59: 0x02f3b086, 0x8c5a: 0x02ea6e86, 0x8c5b: 0x02b2e686,\n\t0x8c5c: 0x0320d286, 0x8c5d: 0x02a25486, 0x8c5e: 0x02a6e086, 0x8c5f: 0x02d9d086,\n\t0x8c60: 0x03300a86, 0x8c61: 0x029e2286, 0x8c62: 0x02a33286, 0x8c63: 0x02d6c686,\n\t0x8c64: 0x029c1486, 0x8c65: 0x029c5a86, 0x8c66: 0x029c1686, 0x8c67: 0x02bbcc86,\n\t0x8c68: 0x02a7e686, 0x8c69: 0x02a67686, 0x8c6a: 0x02b72e86, 0x8c6b: 0x02b6cc86,\n\t0x8c6c: 0x02edc686, 0x8c6d: 0x029e0286, 0x8c6e: 0x03198e86, 0x8c6f: 0x02a6a886,\n\t0x8c70: 0x02b23886, 0x8c71: 0xe0002e7d, 0x8c72: 0xe0002e80, 0x8c73: 0xe0002e83,\n\t0x8c74: 0xe0002e86, 0x8c75: 0xe0002e98, 0x8c76: 0xe0002e9b, 0x8c77: 0xe0002e9e,\n\t0x8c78: 0xe0002ea1, 0x8c79: 0xe0002ea4, 0x8c7a: 0xe0002ea7, 0x8c7b: 0xe0002eaa,\n\t0x8c7c: 0xe0002ead, 0x8c7d: 0xe0002eb0, 0x8c7e: 0xe0002eb3, 0x8c7f: 0xe0002ec5,\n\t// Block 0x232, offset 0x8c80\n\t0x8c80: 0xe0002dea, 0x8c81: 0xe0002e57, 0x8c82: 0xe0002e8c, 0x8c83: 0xe0002eb9,\n\t0x8c84: 0xe0002ecb, 0x8c85: 0xe0002eda, 0x8c86: 0xe0002ee9, 0x8c87: 0xe0002ef8,\n\t0x8c88: 0xe0002f07, 0x8c89: 0xe0002d50, 0x8c8a: 0xe0002d63, 0x8c8b: 0xe0002d76,\n\t0x8c8c: 0xe00027c5, 0x8c8d: 0xe0000b85, 0x8c8e: 0xe00026cc, 0x8c8f: 0xe0000d14,\n\t0x8c90: 0x00657693, 0x8c91: 0x00657893, 0x8c92: 0x00657a93, 0x8c93: 0x00657e93,\n\t0x8c94: 0x00658093, 0x8c95: 0x00658293, 0x8c96: 0x00658493, 0x8c97: 0x00658693,\n\t0x8c98: 0x00658893, 0x8c99: 0x00658a93, 0x8c9a: 0x00658c93, 0x8c9b: 0x00658e93,\n\t0x8c9c: 0x00659093, 0x8c9d: 0x00659293, 0x8c9e: 0x00659493, 0x8c9f: 0x00659693,\n\t0x8ca0: 0x00659893, 0x8ca1: 0x00659a93, 0x8ca2: 0x00659c93, 0x8ca3: 0x00659e93,\n\t0x8ca4: 0x0065a093, 0x8ca5: 0x0065a293, 0x8ca6: 0x0065a493, 0x8ca7: 0x0065a693,\n\t0x8ca8: 0x0065a893, 0x8ca9: 0x0065aa93, 0x8caa: 0x0065ac93, 0x8cab: 0x0065ae93,\n\t0x8cac: 0x0065b093, 0x8cad: 0x0065b293, 0x8cae: 0x0065b493, 0x8caf: 0x0065b693,\n\t0x8cb0: 0x0065b893, 0x8cb1: 0x0065ba93, 0x8cb2: 0x0065bc93, 0x8cb3: 0x0065be93,\n\t0x8cb4: 0x0065c093, 0x8cb5: 0x0065c493, 0x8cb6: 0x0065c693, 0x8cb7: 0x0065c893,\n\t0x8cb8: 0x0065ca93, 0x8cb9: 0x0065cc93, 0x8cba: 0x0065ce93, 0x8cbb: 0x0065d093,\n\t0x8cbc: 0x0065d293, 0x8cbd: 0x0065d493, 0x8cbe: 0x0065d693,\n\t// Block 0x233, offset 0x8cc0\n\t0x8cc0: 0xe000230b, 0x8cc1: 0xe00022f8, 0x8cc2: 0xe00022fc, 0x8cc3: 0xe0002311,\n\t0x8cc4: 0xe0002316, 0x8cc5: 0xe000231d, 0x8cc6: 0xe0002321, 0x8cc7: 0xe0002325,\n\t0x8cc8: 0xe000232b, 0x8cc9: 0xf0001c1c, 0x8cca: 0xe0002330, 0x8ccb: 0xe000233c,\n\t0x8ccc: 0xe0002340, 0x8ccd: 0xe0002337, 0x8cce: 0xe0002346, 0x8ccf: 0xe000234b,\n\t0x8cd0: 0xe000234f, 0x8cd1: 0xe0002353, 0x8cd2: 0xf0001c1c, 0x8cd3: 0xe000235e,\n\t0x8cd4: 0xe0002358, 0x8cd5: 0xf0001c1c, 0x8cd6: 0xe0002363, 0x8cd7: 0xe000236d,\n\t0x8cd8: 0xe0002d39, 0x8cd9: 0xe0002ded, 0x8cda: 0xe0002e5a, 0x8cdb: 0xe0002e8f,\n\t0x8cdc: 0xe0002ebc, 0x8cdd: 0xe0002ece, 0x8cde: 0xe0002edd, 0x8cdf: 0xe0002eec,\n\t0x8ce0: 0xe0002efb, 0x8ce1: 0xe0002f0a, 0x8ce2: 0xe0002d54, 0x8ce3: 0xe0002d67,\n\t0x8ce4: 0xe0002d7a, 0x8ce5: 0xe0002d89, 0x8ce6: 0xe0002d98, 0x8ce7: 0xe0002da7,\n\t0x8ce8: 0xe0002db6, 0x8ce9: 0xe0002dc5, 0x8cea: 0xe0002dd4, 0x8ceb: 0xe0002de3,\n\t0x8cec: 0xe0002e01, 0x8ced: 0xe0002e0c, 0x8cee: 0xe0002e17, 0x8cef: 0xe0002e22,\n\t0x8cf0: 0xe0002e2d, 0x8cf1: 0xe0000c1e, 0x8cf2: 0xe000329b, 0x8cf3: 0xe0002f0d,\n\t0x8cf4: 0xe0000a31, 0x8cf5: 0xe0002824, 0x8cf6: 0xe00035d6, 0x8cf7: 0xe00032a7,\n\t0x8cf8: 0xe0000ac2, 0x8cf9: 0xe0000ac6, 0x8cfa: 0xe00027e8, 0x8cfb: 0xf0001c1c,\n\t0x8cfc: 0xf0001c1c, 0x8cfd: 0xf0001c1c, 0x8cfe: 0xf0001c1c, 0x8cff: 0xe0002431,\n\t// Block 0x234, offset 0x8d00\n\t0x8d00: 0xe00035d0, 0x8d01: 0xe00035b8, 0x8d02: 0xe00035ee, 0x8d03: 0xe000358e,\n\t0x8d04: 0xe00027f7, 0x8d05: 0xe00027fa, 0x8d06: 0xe0003594, 0x8d07: 0xe0003573,\n\t0x8d08: 0xe0000a6b, 0x8d09: 0xe0000cb4, 0x8d0a: 0xe00035d9, 0x8d0b: 0xe00035bb,\n\t0x8d0c: 0xe00035f1, 0x8d0d: 0xe00035f4, 0x8d0e: 0xe000359d, 0x8d0f: 0xe00027fd,\n\t0x8d10: 0xe00027ce, 0x8d11: 0xe0000cb9, 0x8d12: 0xe0000d36, 0x8d13: 0xe0000be3,\n\t0x8d14: 0xe0000fc5, 0x8d15: 0xe00035f7, 0x8d16: 0xe00035a0, 0x8d17: 0xe00032a4,\n\t0x8d18: 0xe0002803, 0x8d19: 0xe0003570, 0x8d1a: 0xe00035c7, 0x8d1b: 0xe00035fa,\n\t0x8d1c: 0xe00035a3, 0x8d1d: 0xe0003099, 0x8d1e: 0xe0002806, 0x8d1f: 0xe0000d3e,\n\t0x8d20: 0xe0000a72, 0x8d21: 0xe0003588, 0x8d22: 0xe0000cbd, 0x8d23: 0xe0000d42,\n\t0x8d24: 0xe0000a76, 0x8d25: 0xe000358b, 0x8d26: 0xe0000cc1, 0x8d27: 0xe0000d2d,\n\t0x8d28: 0xe0000d31, 0x8d29: 0xe00035d3, 0x8d2a: 0xe0000cc5, 0x8d2b: 0xe0000d4a,\n\t0x8d2c: 0xe0000be7, 0x8d2d: 0xe0000f0b, 0x8d2e: 0xe0000f0f, 0x8d2f: 0xe0000f15,\n\t0x8d30: 0xe000282d, 0x8d31: 0xe0002821, 0x8d32: 0xe000288e, 0x8d33: 0xe000281b,\n\t0x8d34: 0xe00035dc, 0x8d35: 0xe00035ca, 0x8d36: 0xe00035fd, 0x8d37: 0xe00035a6,\n\t0x8d38: 0xe000280f, 0x8d39: 0xe00035a9, 0x8d3a: 0xe00035df, 0x8d3b: 0xe00035cd,\n\t0x8d3c: 0xe0003600, 0x8d3d: 0xe00035af, 0x8d3e: 0xe0002812, 0x8d3f: 0xe00035b2,\n\t// Block 0x235, offset 0x8d40\n\t0x8d40: 0xe0002815, 0x8d41: 0xe00035b5, 0x8d42: 0xe00009b7, 0x8d43: 0xe00024f3,\n\t0x8d44: 0xe0003090, 0x8d45: 0xe0003096, 0x8d46: 0xe0000a66, 0x8d47: 0xe0000a7a,\n\t0x8d48: 0xe000329e, 0x8d49: 0xe0003576, 0x8d4a: 0xe00027c2, 0x8d4b: 0xe00027c8,\n\t0x8d4c: 0xe00027e5, 0x8d4d: 0xe0002800, 0x8d4e: 0xe0002809, 0x8d4f: 0xe000280c,\n\t0x8d50: 0xe0003582, 0x8d51: 0xe0003585, 0x8d52: 0xe0000d0d, 0x8d53: 0xe0002818,\n\t0x8d54: 0xe0003591, 0x8d55: 0xe0000d3a, 0x8d56: 0xe0000d46, 0x8d57: 0xe0002827,\n\t0x8d58: 0xe0000eb0, 0x8d59: 0xe0000eb8, 0x8d5a: 0xe000282a, 0x8d5b: 0xe0002836,\n\t0x8d5c: 0xe000283f, 0x8d5d: 0xe00035e2, 0x8d5e: 0xe00010b2, 0x8d5f: 0xe00009c8,\n\t0x8d60: 0xe0002de7, 0x8d61: 0xe0002e54, 0x8d62: 0xe0002e89, 0x8d63: 0xe0002eb6,\n\t0x8d64: 0xe0002ec8, 0x8d65: 0xe0002ed7, 0x8d66: 0xe0002ee6, 0x8d67: 0xe0002ef5,\n\t0x8d68: 0xe0002f04, 0x8d69: 0xe0002d4c, 0x8d6a: 0xe0002d5f, 0x8d6b: 0xe0002d72,\n\t0x8d6c: 0xe0002d85, 0x8d6d: 0xe0002d94, 0x8d6e: 0xe0002da3, 0x8d6f: 0xe0002db2,\n\t0x8d70: 0xe0002dc1, 0x8d71: 0xe0002dd0, 0x8d72: 0xe0002ddf, 0x8d73: 0xe0002dfd,\n\t0x8d74: 0xe0002e08, 0x8d75: 0xe0002e13, 0x8d76: 0xe0002e1e, 0x8d77: 0xe0002e29,\n\t0x8d78: 0xe0002e34, 0x8d79: 0xe0002e3b, 0x8d7a: 0xe0002e42, 0x8d7b: 0xe0002e49,\n\t0x8d7c: 0xe0002e50, 0x8d7d: 0xe0002e66, 0x8d7e: 0xe0002e6d, 0x8d7f: 0xe0000bdf,\n\t// Block 0x236, offset 0x8d80\n\t0x8d80: 0xe000356a, 0x8d81: 0xe00026cf, 0x8d82: 0xe000356d, 0x8d83: 0xe0000b99,\n\t0x8d84: 0xe0000b9d, 0x8d85: 0xe0000f83, 0x8d86: 0xe000283c,\n\t0x8d93: 0xf0000404,\n\t0x8d94: 0xf0000404, 0x8d95: 0xf0000404, 0x8d96: 0xf0000404, 0x8d97: 0xf0000404,\n\t0x8d9d: 0xe000150b, 0x8d9e: 0xa1a09602, 0x8d9f: 0xe0001514,\n\t0x8da0: 0x0038ae85, 0x8da1: 0x00389085, 0x8da2: 0x00389685, 0x8da3: 0x00389885,\n\t0x8da4: 0x0038a485, 0x8da5: 0x0038a685, 0x8da6: 0x0038a885, 0x8da7: 0x0038b685,\n\t0x8da8: 0x0038ba85, 0x8da9: 0x00093885, 0x8daa: 0xe0001542, 0x8dab: 0xe000153f,\n\t0x8dac: 0xe000154c, 0x8dad: 0xe0001548, 0x8dae: 0xe00014e1, 0x8daf: 0xe00014e4,\n\t0x8db0: 0xe00014e7, 0x8db1: 0xe00014ea, 0x8db2: 0xe00014f0, 0x8db3: 0xe00014f3,\n\t0x8db4: 0xe00014f6, 0x8db5: 0xe00014fc, 0x8db6: 0xe0001505,\n\t0x8db8: 0xe0001508, 0x8db9: 0xe000150e, 0x8dba: 0xe000151b, 0x8dbb: 0xe0001518,\n\t0x8dbc: 0xe0001521, 0x8dbe: 0xe0001524,\n\t// Block 0x237, offset 0x8dc0\n\t0x8dc0: 0xa0000000, 0x8dc1: 0xa0000000, 0x8dc2: 0xa0000000, 0x8dc3: 0xa0000000,\n\t0x8dc4: 0xa0000000, 0x8dc5: 0xa0000000, 0x8dc6: 0xa0000000, 0x8dc7: 0xa0000000,\n\t0x8dc8: 0xa0000000, 0x8dc9: 0xa0000000, 0x8dca: 0xa0000000, 0x8dcb: 0xa0000000,\n\t0x8dcc: 0xa0000000, 0x8dcd: 0xa0000000, 0x8dce: 0xa0000000, 0x8dcf: 0xa0000000,\n\t0x8dd0: 0x00024096, 0x8dd1: 0x00025c96, 0x8dd2: 0x00030496, 0x8dd3: 0x00026c96,\n\t0x8dd4: 0x00026296, 0x8dd5: 0x0002ba96, 0x8dd6: 0x0002c496, 0x8dd7: 0x0004b496,\n\t0x8dd8: 0x0004b696, 0x8dd9: 0xe0002bb6,\n\t0x8de0: 0xae608202, 0x8de1: 0xae600000, 0x8de2: 0xae608102, 0x8de3: 0xae600000,\n\t0x8de4: 0xae600000, 0x8de5: 0xae600000, 0x8de6: 0xae600000,\n\t0x8df0: 0xe0002baf, 0x8df1: 0x00022c96, 0x8df2: 0x00022a96, 0x8df3: 0x00021696,\n\t0x8df4: 0x00021696, 0x8df5: 0x0003f496, 0x8df6: 0x0003f696, 0x8df7: 0x0003fc96,\n\t0x8df8: 0x0003fe96, 0x8df9: 0x0004b096, 0x8dfa: 0x0004b296, 0x8dfb: 0x0004ac96,\n\t0x8dfc: 0x0004ae96, 0x8dfd: 0x0004a096, 0x8dfe: 0x0004a296, 0x8dff: 0x00049c96,\n\t// Block 0x238, offset 0x8e00\n\t0x8e00: 0xe0002d36, 0x8e01: 0xe0002d33, 0x8e02: 0xe0002d3c, 0x8e03: 0xe0002df0,\n\t0x8e04: 0xe0002e5d, 0x8e05: 0xe0002e92, 0x8e06: 0xe0002ebf, 0x8e07: 0xe0002ed1,\n\t0x8e08: 0xe0002ee0, 0x8e09: 0xe0002eef, 0x8e0a: 0xe0002efe,\n\t0x8e10: 0xe0002be2, 0x8e11: 0xe0002bea, 0x8e12: 0xe0002bf2, 0x8e13: 0xe0002bfa,\n\t0x8e14: 0xe00024a3, 0x8e15: 0xe0002c02, 0x8e16: 0xe0002c0a, 0x8e17: 0xe00024ab,\n\t0x8e18: 0xe00024b3, 0x8e19: 0xe0002c12, 0x8e1a: 0xe00024bb, 0x8e1b: 0xe0002c1a,\n\t0x8e1c: 0xe0002c22, 0x8e1d: 0xe0002c2a, 0x8e1e: 0xe00024c3, 0x8e1f: 0xe0002c32,\n\t0x8e20: 0xe00024cb, 0x8e21: 0xe00024d3, 0x8e22: 0xe00024db, 0x8e23: 0xe00024e3,\n\t0x8e24: 0xe0002c3a, 0x8e25: 0xe0002c42, 0x8e26: 0xe0002c4a, 0x8e27: 0xe00024eb,\n\t0x8e28: 0xe0002c52, 0x8e29: 0xe0002c5a, 0x8e2a: 0xe00024ef, 0x8e2b: 0x002c3a8c,\n\t0x8e2c: 0x002f7a8c, 0x8e2d: 0xe0003093, 0x8e2e: 0xe00035e8,\n\t0x8e30: 0x002bde9d, 0x8e31: 0x002c0a9d, 0x8e32: 0x002c3a9d, 0x8e33: 0x002c629d,\n\t0x8e34: 0x002c989d, 0x8e35: 0x002d089d, 0x8e36: 0x002d229d, 0x8e37: 0x002d689d,\n\t0x8e38: 0x002d9a9d, 0x8e39: 0x002dcc9d, 0x8e3a: 0x002dfe9d, 0x8e3b: 0x002e229d,\n\t0x8e3c: 0x002e829d, 0x8e3d: 0x002e9e9d, 0x8e3e: 0x002ee29d, 0x8e3f: 0x002f2c9d,\n\t// Block 0x239, offset 0x8e40\n\t0x8e40: 0x002f569d, 0x8e41: 0x002f7a9d, 0x8e42: 0x002fe69d, 0x8e43: 0x00302c9d,\n\t0x8e44: 0x00306c9d, 0x8e45: 0x0030be9d, 0x8e46: 0x0030e29d, 0x8e47: 0x0030f69d,\n\t0x8e48: 0x0031009d, 0x8e49: 0x00312a9d, 0x8e4a: 0xe00027cb, 0x8e4b: 0xe00035ac,\n\t0x8e4c: 0xe0002830, 0x8e4d: 0xe0002839, 0x8e4e: 0xe0000ebc, 0x8e4f: 0xe00035e5,\n\t0x8e50: 0x002bde8c, 0x8e51: 0x002c0a8c, 0x8e52: 0x002c3a8c, 0x8e53: 0x002c628c,\n\t0x8e54: 0x002c988c, 0x8e55: 0x002d088c, 0x8e56: 0x002d228c, 0x8e57: 0x002d688c,\n\t0x8e58: 0x002d9a8c, 0x8e59: 0x002dcc8c, 0x8e5a: 0x002dfe8c, 0x8e5b: 0x002e228c,\n\t0x8e5c: 0x002e828c, 0x8e5d: 0x002e9e8c, 0x8e5e: 0x002ee28c, 0x8e5f: 0x002f2c8c,\n\t0x8e60: 0x002f568c, 0x8e61: 0x002f7a8c, 0x8e62: 0x002fe68c, 0x8e63: 0x00302c8c,\n\t0x8e64: 0x00306c8c, 0x8e65: 0x0030be8c, 0x8e66: 0x0030e28c, 0x8e67: 0x0030f68c,\n\t0x8e68: 0x0031008c, 0x8e69: 0x00312a8c, 0x8e6a: 0xe0003597, 0x8e6b: 0xe000359a,\n\t0x8e70: 0x002bde9d, 0x8e71: 0x002c0a9d, 0x8e72: 0x002c3a9d, 0x8e73: 0x002c629d,\n\t0x8e74: 0x002c989d, 0x8e75: 0x002d089d, 0x8e76: 0x002d229d, 0x8e77: 0x002d689d,\n\t0x8e78: 0x002d9a9d, 0x8e79: 0x002dcc9d, 0x8e7a: 0x002dfe9d, 0x8e7b: 0x002e229d,\n\t0x8e7c: 0x002e829d, 0x8e7d: 0x002e9e9d, 0x8e7e: 0x002ee29d, 0x8e7f: 0x002f2c9d,\n\t// Block 0x23a, offset 0x8e80\n\t0x8e80: 0x002f569d, 0x8e81: 0x002f7a9d, 0x8e82: 0x002fe69d, 0x8e83: 0x00302c9d,\n\t0x8e84: 0x00306c9d, 0x8e85: 0x0030be9d, 0x8e86: 0x0030e29d, 0x8e87: 0x0030f69d,\n\t0x8e88: 0x0031009d, 0x8e89: 0x00312a9d, 0x8e8a: 0x002f2c9d, 0x8e8b: 0xe0000c81,\n\t0x8e8c: 0xe0000eb5, 0x8e8d: 0xe0000f74, 0x8e8e: 0xe00009d2, 0x8e8f: 0xe00010f0,\n\t0x8e90: 0xe00032a1, 0x8e91: 0xe0000a6f, 0x8e92: 0xe0000a7e, 0x8e93: 0xe0000ba4,\n\t0x8e94: 0xe0000c84, 0x8e95: 0xe0000d8a, 0x8e96: 0xe0000d8e, 0x8e97: 0xe0000e9b,\n\t0x8e98: 0xe0000f77, 0x8e99: 0xe00010a2, 0x8e9a: 0xe00010c0,\n\t// Block 0x23b, offset 0x8ec0\n\t0x8ec0: 0xa0000000, 0x8ec1: 0xa0000000, 0x8ec2: 0xa0000000, 0x8ec3: 0xa0000000,\n\t0x8ec4: 0xa0000000, 0x8ec5: 0xa0000000, 0x8ec6: 0xa0000000, 0x8ec7: 0xa0000000,\n\t0x8ec8: 0xa0000000, 0x8ec9: 0x40020020, 0x8eca: 0x40020220, 0x8ecb: 0x40020420,\n\t0x8ecc: 0x40020620, 0x8ecd: 0x40020820, 0x8ece: 0xa0000000, 0x8ecf: 0xa0000000,\n\t0x8ed0: 0xa0000000, 0x8ed1: 0xa0000000, 0x8ed2: 0xa0000000, 0x8ed3: 0xa0000000,\n\t0x8ed4: 0xa0000000, 0x8ed5: 0xa0000000, 0x8ed6: 0xa0000000, 0x8ed7: 0xa0000000,\n\t0x8ed8: 0xa0000000, 0x8ed9: 0xa0000000, 0x8eda: 0xa0000000, 0x8edb: 0xa0000000,\n\t0x8edc: 0xa0000000, 0x8edd: 0xa0000000, 0x8ede: 0xa0000000, 0x8edf: 0xa0000000,\n\t0x8ee0: 0x40021220, 0x8ee1: 0x4002ba20, 0x8ee2: 0x4003e020, 0x8ee3: 0x4004ea20,\n\t0x8ee4: 0x4027de20, 0x8ee5: 0x4004ec20, 0x8ee6: 0x4004e620, 0x8ee7: 0x4003d220,\n\t0x8ee8: 0x4003f420, 0x8ee9: 0x4003f620, 0x8eea: 0x4004d820, 0x8eeb: 0x40093820,\n\t0x8eec: 0x40024020, 0x8eed: 0x40021a20, 0x8eee: 0x4002e420, 0x8eef: 0x4004e220,\n\t0x8ef0: 0x4029cc20, 0x8ef1: 0x4029ce20, 0x8ef2: 0x4029d020, 0x8ef3: 0x4029d220,\n\t0x8ef4: 0x4029d420, 0x8ef5: 0x4029d620, 0x8ef6: 0x4029d820, 0x8ef7: 0x4029da20,\n\t0x8ef8: 0x4029dc20, 0x8ef9: 0x4029de20, 0x8efa: 0x40026c20, 0x8efb: 0x40026220,\n\t0x8efc: 0x40094020, 0x8efd: 0x40094220, 0x8efe: 0x40094420, 0x8eff: 0x4002c420,\n\t// Block 0x23c, offset 0x8f00\n\t0x8f00: 0x4004d620, 0x8f01: 0x002bde88, 0x8f02: 0x002c0a88, 0x8f03: 0xc3352741,\n\t0x8f04: 0x002c6288, 0x8f05: 0x002c9888, 0x8f06: 0x002d0888, 0x8f07: 0xc3392741,\n\t0x8f08: 0xc5402741, 0x8f09: 0x002d9a88, 0x8f0a: 0xc5442741, 0x8f0b: 0x002dfe88,\n\t0x8f0c: 0xc0030002, 0x8f0d: 0x002e8288, 0x8f0e: 0x002e9e88, 0x8f0f: 0x002ee288,\n\t0x8f10: 0x002f2c88, 0x8f11: 0x002f5688, 0x8f12: 0x002f7a88, 0x8f13: 0xc3432741,\n\t0x8f14: 0x00302c88, 0x8f15: 0xc34700d1, 0x8f16: 0x0030be88, 0x8f17: 0x0030e288,\n\t0x8f18: 0x0030f688, 0x8f19: 0x00310088, 0x8f1a: 0x00312a88, 0x8f1b: 0x4003f820,\n\t0x8f1c: 0x4004e420, 0x8f1d: 0x4003fa20, 0x8f1e: 0x40062420, 0x8f1f: 0x40021620,\n\t0x8f20: 0x40061e20, 0x8f21: 0x402bde20, 0x8f22: 0x402c0a20, 0x8f23: 0xc3332741,\n\t0x8f24: 0x402c6220, 0x8f25: 0x402c9820, 0x8f26: 0x402d0820, 0x8f27: 0xc3372741,\n\t0x8f28: 0xc53e2741, 0x8f29: 0x402d9a20, 0x8f2a: 0xc5422741, 0x8f2b: 0x402dfe20,\n\t0x8f2c: 0xc0000002, 0x8f2d: 0x402e8220, 0x8f2e: 0x402e9e20, 0x8f2f: 0x402ee220,\n\t0x8f30: 0x402f2c20, 0x8f31: 0x402f5620, 0x8f32: 0x402f7a20, 0x8f33: 0xc3412741,\n\t0x8f34: 0x40302c20, 0x8f35: 0xc34500d1, 0x8f36: 0x4030be20, 0x8f37: 0x4030e220,\n\t0x8f38: 0x4030f620, 0x8f39: 0x40310020, 0x8f3a: 0x40312a20, 0x8f3b: 0x4003fc20,\n\t0x8f3c: 0x40094820, 0x8f3d: 0x4003fe20, 0x8f3e: 0x40094c20, 0x8f3f: 0xa0000000,\n\t// Block 0x23d, offset 0x8f40\n\t0x8f40: 0xe0000983, 0x8f41: 0xe0000980, 0x8f42: 0xe00008fb, 0x8f43: 0xe00008f8,\n\t0x8f44: 0xe000097d, 0x8f45: 0xe000097a, 0x8f46: 0xe0000a38, 0x8f47: 0xe0000a35,\n\t0x8f48: 0x002c3c83, 0x8f49: 0x402c3c20, 0x8f4a: 0xe0000a4a, 0x8f4b: 0xe0000a47,\n\t0x8f4c: 0xe0000a44, 0x8f4d: 0xe0000a41, 0x8f4e: 0xe0000a86, 0x8f4f: 0xe0000a83,\n\t0x8f50: 0xe0000aaa, 0x8f51: 0xe0000aa7, 0x8f52: 0xe0000b46, 0x8f53: 0xe0000b43,\n\t0x8f54: 0xe0000aee, 0x8f55: 0xe0000aeb, 0x8f56: 0xe0000b2c, 0x8f57: 0xe0000b29,\n\t0x8f58: 0xe0000b40, 0x8f59: 0xe0000b3d, 0x8f5a: 0xe0000b1a, 0x8f5b: 0xe0000b17,\n\t0x8f5c: 0x002d2483, 0x8f5d: 0x402d2420, 0x8f5e: 0xe0000bb2, 0x8f5f: 0xe0000baf,\n\t0x8f60: 0xe0000bc4, 0x8f61: 0xe0000bc1, 0x8f62: 0xe0000bca, 0x8f63: 0xe0000bc7,\n\t0x8f64: 0x002d6a83, 0x8f65: 0x402d6a20, 0x8f66: 0xe0000c1b, 0x8f67: 0xe0000c18,\n\t0x8f68: 0xe0000c51, 0x8f69: 0xe0000c4e, 0x8f6a: 0xe0000c60, 0x8f6b: 0xe0000c5d,\n\t0x8f6c: 0xe0000c31, 0x8f6d: 0xe0000c2e, 0x8f6e: 0xe0000c5a, 0x8f6f: 0xe0000c57,\n\t0x8f70: 0xe0000c54, 0x8f71: 0x402da220, 0x8f72: 0xf0000a0a, 0x8f73: 0xf0000404,\n\t0x8f74: 0x002dce83, 0x8f75: 0x402dce20, 0x8f76: 0xe0000c9f, 0x8f77: 0xe0000c9c,\n\t0x8f78: 0x402f7220, 0x8f79: 0xe0000ccc, 0x8f7a: 0xe0000cc9, 0x8f7b: 0xe0000cd8,\n\t0x8f7c: 0xe0000cd5, 0x8f7d: 0xe0000cd2, 0x8f7e: 0xe0000ccf, 0x8f7f: 0xe0000d04,\n\t// Block 0x23e, offset 0x8f80\n\t0x8f80: 0xe0000cfe, 0x8f81: 0xe0000cf8, 0x8f82: 0xe0000cf5, 0x8f83: 0xe0000d51,\n\t0x8f84: 0xe0000d4e, 0x8f85: 0xe0000d6f, 0x8f86: 0xe0000d6c, 0x8f87: 0xe0000d5d,\n\t0x8f88: 0xe0000d5a, 0x8f89: 0xf0000404, 0x8f8a: 0x002eda88, 0x8f8b: 0x402eda20,\n\t0x8f8c: 0xe0000e2e, 0x8f8d: 0xe0000e2b, 0x8f8e: 0xe0000da0, 0x8f8f: 0xe0000d9d,\n\t0x8f90: 0xe0000de0, 0x8f91: 0xe0000ddd, 0x8f92: 0xe0000e93, 0x8f93: 0xe0000e8f,\n\t0x8f94: 0xe0000eca, 0x8f95: 0xe0000ec7, 0x8f96: 0xe0000edc, 0x8f97: 0xe0000ed9,\n\t0x8f98: 0xe0000ed0, 0x8f99: 0xe0000ecd, 0x8f9a: 0xe0000f1f, 0x8f9b: 0xe0000f1c,\n\t0x8f9c: 0x002fe883, 0x8f9d: 0x402fe820, 0x8f9e: 0xe0000f47, 0x8f9f: 0xe0000f44,\n\t0x8fa0: 0xe0000f33, 0x8fa1: 0xe0000f30, 0x8fa2: 0xe0000f99, 0x8fa3: 0xe0000f96,\n\t0x8fa4: 0xe0000f8a, 0x8fa5: 0xe0000f87, 0x8fa6: 0x00303688, 0x8fa7: 0x40303620,\n\t0x8fa8: 0xe000102b, 0x8fa9: 0xe0001028, 0x8faa: 0xe000103f, 0x8fab: 0xe000103c,\n\t0x8fac: 0x00306e83, 0x8fad: 0x40306e20, 0x8fae: 0xe0000ff9, 0x8faf: 0xe0000ff6,\n\t0x8fb0: 0xe0001025, 0x8fb1: 0xe0001022, 0x8fb2: 0xe0001039, 0x8fb3: 0xe0001036,\n\t0x8fb4: 0xe00010d8, 0x8fb5: 0xe00010d5, 0x8fb6: 0xe000110e, 0x8fb7: 0xe000110b,\n\t0x8fb8: 0xe0001117, 0x8fb9: 0xe000113b, 0x8fba: 0xe0001138, 0x8fbb: 0xe000114d,\n\t0x8fbc: 0xe000114a, 0x8fbd: 0xe0001147, 0x8fbe: 0xe0001144, 0x8fbf: 0xe0000f64,\n\t// Block 0x23f, offset 0x8fc0\n\t0x8fc0: 0xa0000000, 0x8fc1: 0xa0000000, 0x8fc2: 0xa0000000, 0x8fc3: 0xa0000000,\n\t0x8fc4: 0xa0000000, 0x8fc5: 0xa0000000, 0x8fc6: 0xa0000000, 0x8fc7: 0xa0000000,\n\t0x8fc8: 0xa0000000, 0x8fc9: 0x40020020, 0x8fca: 0x40020220, 0x8fcb: 0x40020420,\n\t0x8fcc: 0x40020620, 0x8fcd: 0x40020820, 0x8fce: 0xa0000000, 0x8fcf: 0xa0000000,\n\t0x8fd0: 0xa0000000, 0x8fd1: 0xa0000000, 0x8fd2: 0xa0000000, 0x8fd3: 0xa0000000,\n\t0x8fd4: 0xa0000000, 0x8fd5: 0xa0000000, 0x8fd6: 0xa0000000, 0x8fd7: 0xa0000000,\n\t0x8fd8: 0xa0000000, 0x8fd9: 0xa0000000, 0x8fda: 0xa0000000, 0x8fdb: 0xa0000000,\n\t0x8fdc: 0xa0000000, 0x8fdd: 0xa0000000, 0x8fde: 0xa0000000, 0x8fdf: 0xa0000000,\n\t0x8fe0: 0x40021220, 0x8fe1: 0x4002ba20, 0x8fe2: 0x4003e020, 0x8fe3: 0x4004ea20,\n\t0x8fe4: 0x4027de20, 0x8fe5: 0x4004ec20, 0x8fe6: 0x4004e620, 0x8fe7: 0x4003d220,\n\t0x8fe8: 0x4003f420, 0x8fe9: 0x4003f620, 0x8fea: 0x4004d820, 0x8feb: 0x40093820,\n\t0x8fec: 0x40024020, 0x8fed: 0x40021a20, 0x8fee: 0x4002e420, 0x8fef: 0x4004e220,\n\t0x8ff0: 0x4029cc20, 0x8ff1: 0x4029ce20, 0x8ff2: 0x4029d020, 0x8ff3: 0x4029d220,\n\t0x8ff4: 0x4029d420, 0x8ff5: 0x4029d620, 0x8ff6: 0x4029d820, 0x8ff7: 0x4029da20,\n\t0x8ff8: 0x4029dc20, 0x8ff9: 0x4029de20, 0x8ffa: 0x40026c20, 0x8ffb: 0x40026220,\n\t0x8ffc: 0x40094020, 0x8ffd: 0x40094220, 0x8ffe: 0x40094420, 0x8fff: 0x4002c420,\n\t// Block 0x240, offset 0x9000\n\t0x9000: 0x4004d620, 0x9001: 0x002bde88, 0x9002: 0x002c0a88, 0x9003: 0x002c3a88,\n\t0x9004: 0x002c6288, 0x9005: 0x002c9888, 0x9006: 0x002d0888, 0x9007: 0x002d2288,\n\t0x9008: 0x002d6888, 0x9009: 0x002d9a88, 0x900a: 0x002dcc88, 0x900b: 0x002dfe88,\n\t0x900c: 0xc0030002, 0x900d: 0x002e8288, 0x900e: 0xc5462761, 0x900f: 0x002ee288,\n\t0x9010: 0x002f2c88, 0x9011: 0x002f5688, 0x9012: 0x002f7a88, 0x9013: 0x002fe688,\n\t0x9014: 0x00302c88, 0x9015: 0x00306c88, 0x9016: 0x0030be88, 0x9017: 0x0030e288,\n\t0x9018: 0x0030f688, 0x9019: 0x00310088, 0x901a: 0x00312a88, 0x901b: 0x4003f820,\n\t0x901c: 0x4004e420, 0x901d: 0x4003fa20, 0x901e: 0x40062420, 0x901f: 0x40021620,\n\t0x9020: 0x40061e20, 0x9021: 0x402bde20, 0x9022: 0x402c0a20, 0x9023: 0x402c3a20,\n\t0x9024: 0x402c6220, 0x9025: 0x402c9820, 0x9026: 0x402d0820, 0x9027: 0x402d2220,\n\t0x9028: 0x402d6820, 0x9029: 0x402d9a20, 0x902a: 0x402dcc20, 0x902b: 0x402dfe20,\n\t0x902c: 0xc0000002, 0x902d: 0x402e8220, 0x902e: 0xc5332761, 0x902f: 0x402ee220,\n\t0x9030: 0x402f2c20, 0x9031: 0x402f5620, 0x9032: 0x402f7a20, 0x9033: 0x402fe620,\n\t0x9034: 0x40302c20, 0x9035: 0x40306c20, 0x9036: 0x4030be20, 0x9037: 0x4030e220,\n\t0x9038: 0x4030f620, 0x9039: 0x40310020, 0x903a: 0x40312a20, 0x903b: 0x4003fc20,\n\t0x903c: 0x40094820, 0x903d: 0x4003fe20, 0x903e: 0x40094c20, 0x903f: 0xa0000000,\n\t// Block 0x241, offset 0x9040\n\t0x9040: 0xe00008f5, 0x9041: 0xe00008ef, 0x9042: 0xe0000921, 0x9043: 0xe0000969,\n\t0x9044: 0xe000095b, 0x9045: 0xe000094d, 0x9046: 0xe00009dd, 0x9047: 0xe0000a53,\n\t0x9048: 0xe0000ae8, 0x9049: 0xe0000ae2, 0x904a: 0xe0000af4, 0x904b: 0xe0000b20,\n\t0x904c: 0xe0000c2b, 0x904d: 0xe0000c25, 0x904e: 0xe0000c37, 0x904f: 0xe0000c43,\n\t0x9050: 0xe0000ab3, 0x9051: 0x002ea083, 0x9052: 0xe0000d9a, 0x9053: 0xe0000d94,\n\t0x9054: 0xe0000da6, 0x9055: 0xe0000de6, 0x9056: 0xe0000dd2, 0x9057: 0x40093e20,\n\t0x9058: 0xe0000e12, 0x9059: 0xe0000fe1, 0x905a: 0xe0000fdb, 0x905b: 0xe0000fed,\n\t0x905c: 0xe0000fff, 0x905d: 0xe0001102, 0x905e: 0x00318888, 0x905f: 0xe0000f7b,\n\t0x9060: 0xe00008f2, 0x9061: 0xe00008ec, 0x9062: 0xe000091e, 0x9063: 0xe0000966,\n\t0x9064: 0xe0000958, 0x9065: 0xe000094a, 0x9066: 0xe00009d5, 0x9067: 0xe0000a4d,\n\t0x9068: 0xe0000ae5, 0x9069: 0xe0000adf, 0x906a: 0xe0000af1, 0x906b: 0xe0000b1d,\n\t0x906c: 0xe0000c28, 0x906d: 0xe0000c22, 0x906e: 0xe0000c34, 0x906f: 0xe0000c40,\n\t0x9070: 0xe0000aad, 0x9071: 0x402ea020, 0x9072: 0xe0000d97, 0x9073: 0xe0000d91,\n\t0x9074: 0xe0000da3, 0x9075: 0xe0000de3, 0x9076: 0xe0000dcf, 0x9077: 0x40093c20,\n\t0x9078: 0xe0000e0f, 0x9079: 0xe0000fde, 0x907a: 0xe0000fd8, 0x907b: 0xe0000fea,\n\t0x907c: 0xe0000ffc, 0x907d: 0xe00010ff, 0x907e: 0x40318820, 0x907f: 0xe0001114,\n\t// Block 0x242, offset 0x9080\n\t0x9080: 0xa0000000, 0x9081: 0xa0000000, 0x9082: 0xa0000000, 0x9083: 0xa0000000,\n\t0x9084: 0xa0000000, 0x9085: 0xa0000000, 0x9086: 0xa0000000, 0x9087: 0xa0000000,\n\t0x9088: 0xa0000000, 0x9089: 0x40020020, 0x908a: 0x40020220, 0x908b: 0x40020420,\n\t0x908c: 0x40020620, 0x908d: 0x40020820, 0x908e: 0xa0000000, 0x908f: 0xa0000000,\n\t0x9090: 0xa0000000, 0x9091: 0xa0000000, 0x9092: 0xa0000000, 0x9093: 0xa0000000,\n\t0x9094: 0xa0000000, 0x9095: 0xa0000000, 0x9096: 0xa0000000, 0x9097: 0xa0000000,\n\t0x9098: 0xa0000000, 0x9099: 0xa0000000, 0x909a: 0xa0000000, 0x909b: 0xa0000000,\n\t0x909c: 0xa0000000, 0x909d: 0xa0000000, 0x909e: 0xa0000000, 0x909f: 0xa0000000,\n\t0x90a0: 0x40021220, 0x90a1: 0x4002ba20, 0x90a2: 0x4003e020, 0x90a3: 0x4004ea20,\n\t0x90a4: 0x4027de20, 0x90a5: 0x4004ec20, 0x90a6: 0x4004e620, 0x90a7: 0x4003d220,\n\t0x90a8: 0x4003f420, 0x90a9: 0x4003f620, 0x90aa: 0x4004d820, 0x90ab: 0x40093820,\n\t0x90ac: 0x40024020, 0x90ad: 0x40021a20, 0x90ae: 0x4002e420, 0x90af: 0x4004e220,\n\t0x90b0: 0x4029cc20, 0x90b1: 0x4029ce20, 0x90b2: 0x4029d020, 0x90b3: 0x4029d220,\n\t0x90b4: 0x4029d420, 0x90b5: 0x4029d620, 0x90b6: 0x4029d820, 0x90b7: 0x4029da20,\n\t0x90b8: 0x4029dc20, 0x90b9: 0x4029de20, 0x90ba: 0x40026c20, 0x90bb: 0x40026220,\n\t0x90bc: 0x40094020, 0x90bd: 0x40094220, 0x90be: 0x40094420, 0x90bf: 0x4002c420,\n\t// Block 0x243, offset 0x90c0\n\t0x90c0: 0x4004d620, 0x90c1: 0xc5580071, 0x90c2: 0x002c0a88, 0x90c3: 0x002c3a88,\n\t0x90c4: 0x002c6288, 0x90c5: 0x002c9888, 0x90c6: 0x002d0888, 0x90c7: 0x002d2288,\n\t0x90c8: 0x002d6888, 0x90c9: 0x002d9a88, 0x90ca: 0x002dcc88, 0x90cb: 0x002dfe88,\n\t0x90cc: 0xc0030002, 0x90cd: 0x002e8288, 0x90ce: 0x002e9e88, 0x90cf: 0xc5532781,\n\t0x90d0: 0x002f2c88, 0x90d1: 0x002f5688, 0x90d2: 0x002f7a88, 0x90d3: 0xc54a0991,\n\t0x90d4: 0x00302c88, 0x90d5: 0xc55c0071, 0x90d6: 0x0030be88, 0x90d7: 0x0030bea3,\n\t0x90d8: 0x0030f688, 0x90d9: 0x00310088, 0x90da: 0xc54e0991, 0x90db: 0x4003f820,\n\t0x90dc: 0x4004e420, 0x90dd: 0x4003fa20, 0x90de: 0x40062420, 0x90df: 0x40021620,\n\t0x90e0: 0x40061e20, 0x90e1: 0xc5560071, 0x90e2: 0x402c0a20, 0x90e3: 0x402c3a20,\n\t0x90e4: 0x402c6220, 0x90e5: 0x402c9820, 0x90e6: 0x402d0820, 0x90e7: 0x402d2220,\n\t0x90e8: 0x402d6820, 0x90e9: 0x402d9a20, 0x90ea: 0x402dcc20, 0x90eb: 0x402dfe20,\n\t0x90ec: 0xc0000002, 0x90ed: 0x402e8220, 0x90ee: 0x402e9e20, 0x90ef: 0xc5502781,\n\t0x90f0: 0x402f2c20, 0x90f1: 0x402f5620, 0x90f2: 0x402f7a20, 0x90f3: 0xc5480991,\n\t0x90f4: 0x40302c20, 0x90f5: 0xc55a0071, 0x90f6: 0x4030be20, 0x90f7: 0x4030be21,\n\t0x90f8: 0x4030f620, 0x90f9: 0x40310020, 0x90fa: 0xc54c0991, 0x90fb: 0x4003fc20,\n\t0x90fc: 0x40094820, 0x90fd: 0x4003fe20, 0x90fe: 0x40094c20, 0x90ff: 0xa0000000,\n\t// Block 0x244, offset 0x9100\n\t0x9100: 0xe00008f5, 0x9101: 0xe00008ef, 0x9102: 0xe0000921, 0x9103: 0xe0000969,\n\t0x9104: 0x0030f083, 0x9105: 0xe000094d, 0x9106: 0xe00009dd, 0x9107: 0xe0000a53,\n\t0x9108: 0xe0000ae8, 0x9109: 0xe0000ae2, 0x910a: 0xe0000af4, 0x910b: 0xe0000b20,\n\t0x910c: 0xe0000c2b, 0x910d: 0xe0000c25, 0x910e: 0xe0000c37, 0x910f: 0xe0000c43,\n\t0x9110: 0xe0000ab3, 0x9111: 0xe0000d63, 0x9112: 0xe0000d9a, 0x9113: 0xe0000d94,\n\t0x9114: 0xe0000da6, 0x9115: 0x0030ee83, 0x9116: 0x0030f283, 0x9117: 0x40093e20,\n\t0x9118: 0xe0000e12, 0x9119: 0xe0000fe1, 0x911a: 0xe0000fdb, 0x911b: 0xe0000fed,\n\t0x911c: 0x0030f483, 0x911d: 0xe0001102, 0x911e: 0x00318888, 0x911f: 0xe0000f7b,\n\t0x9120: 0xe00008f2, 0x9121: 0xe00008ec, 0x9122: 0xe000091e, 0x9123: 0xe0000966,\n\t0x9124: 0x4030f020, 0x9125: 0xe000094a, 0x9126: 0xe00009d5, 0x9127: 0xe0000a4d,\n\t0x9128: 0xe0000ae5, 0x9129: 0xe0000adf, 0x912a: 0xe0000af1, 0x912b: 0xe0000b1d,\n\t0x912c: 0xe0000c28, 0x912d: 0xe0000c22, 0x912e: 0xe0000c34, 0x912f: 0xe0000c40,\n\t0x9130: 0xe0000aad, 0x9131: 0xe0000d60, 0x9132: 0xe0000d97, 0x9133: 0xe0000d91,\n\t0x9134: 0xe0000da3, 0x9135: 0x4030ee20, 0x9136: 0x4030f220, 0x9137: 0x40093c20,\n\t0x9138: 0xe0000e0f, 0x9139: 0xe0000fde, 0x913a: 0xe0000fd8, 0x913b: 0xe0000fea,\n\t0x913c: 0x4030f420, 0x913d: 0xe00010ff, 0x913e: 0x40318820, 0x913f: 0xe0001114,\n\t// Block 0x245, offset 0x9140\n\t0x9140: 0xe0000cfe, 0x9141: 0xe0000cf8, 0x9142: 0xe0000cf5, 0x9143: 0xe0000d51,\n\t0x9144: 0xe0000d4e, 0x9145: 0xe0000d6f, 0x9146: 0xe0000d6c, 0x9147: 0xe0000d5d,\n\t0x9148: 0xe0000d5a, 0x9149: 0xf0000404, 0x914a: 0x002eda88, 0x914b: 0x402eda20,\n\t0x914c: 0xe0000e2e, 0x914d: 0xe0000e2b, 0x914e: 0xe0000da0, 0x914f: 0xe0000d9d,\n\t0x9150: 0xe0000de0, 0x9151: 0xe0000ddd, 0x9152: 0xe0000e93, 0x9153: 0xe0000e8f,\n\t0x9154: 0xe0000eca, 0x9155: 0xe0000ec7, 0x9156: 0xe0000edc, 0x9157: 0xe0000ed9,\n\t0x9158: 0xe0000ed0, 0x9159: 0xe0000ecd, 0x915a: 0xe0000f1f, 0x915b: 0xe0000f1c,\n\t0x915c: 0xe0000f2d, 0x915d: 0xe0000f2a, 0x915e: 0xe0000f47, 0x915f: 0xe0000f44,\n\t0x9160: 0x00302683, 0x9161: 0x40302620, 0x9162: 0xe0000f99, 0x9163: 0xe0000f96,\n\t0x9164: 0xe0000f8a, 0x9165: 0xe0000f87, 0x9166: 0x00303688, 0x9167: 0x40303620,\n\t0x9168: 0xe000102b, 0x9169: 0xe0001028, 0x916a: 0xe000103f, 0x916b: 0xe000103c,\n\t0x916c: 0xe0000fe7, 0x916d: 0xe0000fe4, 0x916e: 0xe0000ff9, 0x916f: 0xe0000ff6,\n\t0x9170: 0xe0001025, 0x9171: 0xe0001022, 0x9172: 0xe0001039, 0x9173: 0xe0001036,\n\t0x9174: 0xe0003636, 0x9175: 0xe0003633, 0x9176: 0xe000110e, 0x9177: 0xe000110b,\n\t0x9178: 0xe0001117, 0x9179: 0xe000360c, 0x917a: 0xe0003609, 0x917b: 0xe0003618,\n\t0x917c: 0xe0003615, 0x917d: 0x00302a83, 0x917e: 0x40302a20, 0x917f: 0xe0000f64,\n\t// Block 0x246, offset 0x9180\n\t0x9180: 0x40321220, 0x9181: 0x40321a20, 0x9182: 0x40322220, 0x9183: 0x40322a20,\n\t0x9184: 0xe0000ad5, 0x9185: 0xe0000ad1, 0x9186: 0xe0000acd, 0x9187: 0xf0000a0a,\n\t0x9188: 0xf000040a, 0x9189: 0xf0000404, 0x918a: 0xf0000a0a, 0x918b: 0xf000040a,\n\t0x918c: 0xf0000404, 0x918d: 0xe0000947, 0x918e: 0xe0000944, 0x918f: 0xe0000c3d,\n\t0x9190: 0xe0000c3a, 0x9191: 0xe0000dcc, 0x9192: 0xe0000dc9, 0x9193: 0xe0000ff3,\n\t0x9194: 0xe0000ff0, 0x9195: 0xe000368d, 0x9196: 0xe000368a, 0x9197: 0xe000367b,\n\t0x9198: 0xe0003678, 0x9199: 0xe0003687, 0x919a: 0xe0003684, 0x919b: 0xe0003681,\n\t0x919c: 0xe000367e, 0x919d: 0x402cae20, 0x919e: 0xe000366f, 0x919f: 0xe000366c,\n\t0x91a0: 0xe0000976, 0x91a1: 0xe0000972, 0x91a2: 0xe00009f4, 0x91a3: 0xe00009ef,\n\t0x91a4: 0x002d3a88, 0x91a5: 0x402d3a20, 0x91a6: 0xe0000bbe, 0x91a7: 0xe0000bbb,\n\t0x91a8: 0xe0000c99, 0x91a9: 0xe0000c96, 0x91aa: 0xe0000e20, 0x91ab: 0xe0000e1d,\n\t0x91ac: 0xe0000e27, 0x91ad: 0xe0000e23, 0x91ae: 0xe0001162, 0x91af: 0xe000115f,\n\t0x91b0: 0xe0000c8d, 0x91b1: 0xe00032b0, 0x91b2: 0xe00032ad, 0x91b3: 0xe00032aa,\n\t0x91b4: 0xe0000bac, 0x91b5: 0xe0000ba9, 0x91b6: 0x002d7888, 0x91b7: 0x00319488,\n\t0x91b8: 0xe0000d57, 0x91b9: 0xe0000d54, 0x91ba: 0xe0000954, 0x91bb: 0xe0000950,\n\t0x91bc: 0xe00009ea, 0x91bd: 0xe00009e5, 0x91be: 0xe0000e19, 0x91bf: 0xe0000e15,\n\t// Block 0x247, offset 0x91c0\n\t0x91c0: 0xe000098f, 0x91c1: 0xe000098c, 0x91c2: 0xe0000995, 0x91c3: 0xe0000992,\n\t0x91c4: 0xe0000b62, 0x91c5: 0xe0000b5f, 0x91c6: 0xe0000b68, 0x91c7: 0xe0000b65,\n\t0x91c8: 0xe0000c6c, 0x91c9: 0xe0000c69, 0x91ca: 0xe0000c72, 0x91cb: 0xe0000c6f,\n\t0x91cc: 0xe0000e4a, 0x91cd: 0xe0000e47, 0x91ce: 0xe0000e50, 0x91cf: 0xe0000e4d,\n\t0x91d0: 0xe0000ee8, 0x91d1: 0xe0000ee5, 0x91d2: 0xe0000eee, 0x91d3: 0xe0000eeb,\n\t0x91d4: 0xe0001053, 0x91d5: 0xe0001050, 0x91d6: 0xe0001059, 0x91d7: 0xe0001056,\n\t0x91d8: 0xe0000f61, 0x91d9: 0xe0000f5e, 0x91da: 0xe0000fa5, 0x91db: 0xe0000fa2,\n\t0x91dc: 0x00312288, 0x91dd: 0x40312220, 0x91de: 0xe0000bf4, 0x91df: 0xe0000bf1,\n\t0x91e0: 0x002ebc88, 0x91e1: 0x402c8c20, 0x91e2: 0x002f2288, 0x91e3: 0x402f2220,\n\t0x91e4: 0x00314088, 0x91e5: 0x40314020, 0x91e6: 0xe000096f, 0x91e7: 0xe000096c,\n\t0x91e8: 0xe0000b32, 0x91e9: 0xe0000b2f, 0x91ea: 0xe0003675, 0x91eb: 0xe0003672,\n\t0x91ec: 0xe0003663, 0x91ed: 0xe0003660, 0x91ee: 0xe0000e04, 0x91ef: 0xe0000e01,\n\t0x91f0: 0xe0000e0b, 0x91f1: 0xe0000e07, 0x91f2: 0xe0001129, 0x91f3: 0xe0001126,\n\t0x91f4: 0x402e5e20, 0x91f5: 0x402ed020, 0x91f6: 0x40305a20, 0x91f7: 0x402dd420,\n\t0x91f8: 0xe0000abf, 0x91f9: 0xe0000ec4, 0x91fa: 0x002be888, 0x91fb: 0x002c4488,\n\t0x91fc: 0x402c4420, 0x91fd: 0x002e3888, 0x91fe: 0x00303e88, 0x91ff: 0x402ffc20,\n\t// Block 0x248, offset 0x9200\n\t0x9200: 0xe0000d24, 0x9201: 0xe0000d21, 0x9202: 0xe0000d2a, 0x9203: 0xe0000d27,\n\t0x9204: 0xe0000d69, 0x9205: 0xe0000d66, 0x9206: 0xe0000d7b, 0x9207: 0xe0000d78,\n\t0x9208: 0xe0000d87, 0x9209: 0xe0000d84, 0x920a: 0xe0000d81, 0x920b: 0xe0000d7e,\n\t0x920c: 0xe0003651, 0x920d: 0xe000364e, 0x920e: 0xe000365d, 0x920f: 0xe000365a,\n\t0x9210: 0xe0000e3d, 0x9211: 0xe0000e39, 0x9212: 0xe0000e35, 0x9213: 0xe0000e31,\n\t0x9214: 0xe0000ea7, 0x9215: 0xe0000ea4, 0x9216: 0xe0000ead, 0x9217: 0xe0000eaa,\n\t0x9218: 0xe0000ed6, 0x9219: 0xe0000ed3, 0x921a: 0xe0000ef4, 0x921b: 0xe0000ef1,\n\t0x921c: 0xe0000efb, 0x921d: 0xe0000ef7, 0x921e: 0xe0000f02, 0x921f: 0xe0000eff,\n\t0x9220: 0xe0000f41, 0x9221: 0xe0000f3e, 0x9222: 0xe0000f53, 0x9223: 0xe0000f50,\n\t0x9224: 0xe0000f26, 0x9225: 0xe0000f22, 0x9226: 0xe0003606, 0x9227: 0xe0003603,\n\t0x9228: 0xe0000f5a, 0x9229: 0xe0000f56, 0x922a: 0xe0000f93, 0x922b: 0xe0000f90,\n\t0x922c: 0xe0000f9f, 0x922d: 0xe0000f9c, 0x922e: 0xe0000fb1, 0x922f: 0xe0000fae,\n\t0x9230: 0xe0000fab, 0x9231: 0xe0000fa8, 0x9232: 0xe0001093, 0x9233: 0xe0001090,\n\t0x9234: 0xe000109f, 0x9235: 0xe000109c, 0x9236: 0xe0001099, 0x9237: 0xe0001096,\n\t0x9238: 0xe0001032, 0x9239: 0xe000102e, 0x923a: 0xe000368d, 0x923b: 0xe000368a,\n\t0x923c: 0xe00010a9, 0x923d: 0xe00010a6, 0x923e: 0xe00010af, 0x923f: 0xe00010ac,\n\t// Block 0x249, offset 0x9240\n\t0x9240: 0xe0003630, 0x9241: 0xe000362d, 0x9242: 0xe000362a, 0x9243: 0xe0003627,\n\t0x9244: 0xe000363f, 0x9245: 0xe000363c, 0x9246: 0xe0003645, 0x9247: 0xe0003642,\n\t0x9248: 0xe000364b, 0x9249: 0xe0003648, 0x924a: 0xe00010fc, 0x924b: 0xe00010f9,\n\t0x924c: 0xe00010f6, 0x924d: 0xe00010f3, 0x924e: 0xe0001123, 0x924f: 0xe0001120,\n\t0x9250: 0xe0003612, 0x9251: 0xe000360f, 0x9252: 0xe000361e, 0x9253: 0xe000361b,\n\t0x9254: 0xe0003624, 0x9255: 0xe0003621, 0x9256: 0xe0000c15, 0x9257: 0xe0000f8d,\n\t0x9258: 0xe0003639, 0x9259: 0xe0001111, 0x925a: 0xf0000404, 0x925b: 0xe0000f70,\n\t0x925c: 0x40300420, 0x925d: 0x40300620, 0x925e: 0xe0000f7f, 0x925f: 0x402c9620,\n\t0x9260: 0xe000099b, 0x9261: 0xe0000998, 0x9262: 0xe0000989, 0x9263: 0xe0000986,\n\t0x9264: 0xe0000928, 0x9265: 0xe0000924, 0x9266: 0xe0000930, 0x9267: 0xe000092c,\n\t0x9268: 0xe0000940, 0x9269: 0xe000093c, 0x926a: 0xe0000938, 0x926b: 0xe0000934,\n\t0x926c: 0xe00009aa, 0x926d: 0xe00009a6, 0x926e: 0xe0000902, 0x926f: 0xe00008fe,\n\t0x9270: 0xe000090a, 0x9271: 0xe0000906, 0x9272: 0xe000091a, 0x9273: 0xe0000916,\n\t0x9274: 0xe0000912, 0x9275: 0xe000090e, 0x9276: 0xe00009a2, 0x9277: 0xe000099e,\n\t0x9278: 0xe0000b6e, 0x9279: 0xe0000b6b, 0x927a: 0xe0000b5c, 0x927b: 0xe0000b59,\n\t0x927c: 0xe0000b26, 0x927d: 0xe0000b23, 0x927e: 0xe0000afb, 0x927f: 0xe0000af7,\n\t// Block 0x24a, offset 0x9280\n\t0x9280: 0xe0000b03, 0x9281: 0xe0000aff, 0x9282: 0xe0000b13, 0x9283: 0xe0000b0f,\n\t0x9284: 0xe0000b0b, 0x9285: 0xe0000b07, 0x9286: 0xe0000b75, 0x9287: 0xe0000b71,\n\t0x9288: 0xe0000c66, 0x9289: 0xe0000c63, 0x928a: 0xe0000c78, 0x928b: 0xe0000c75,\n\t0x928c: 0xe0000e84, 0x928d: 0xe0000e81, 0x928e: 0xe0000e44, 0x928f: 0xe0000e41,\n\t0x9290: 0xe0000dad, 0x9291: 0xe0000da9, 0x9292: 0xe0000db5, 0x9293: 0xe0000db1,\n\t0x9294: 0xe0000dc5, 0x9295: 0xe0000dc1, 0x9296: 0xe0003657, 0x9297: 0xe0003654,\n\t0x9298: 0xe0000e8b, 0x9299: 0xe0000e87, 0x929a: 0xe0000e5d, 0x929b: 0xe0000e59,\n\t0x929c: 0xe0000e65, 0x929d: 0xe0000e61, 0x929e: 0xe0000e75, 0x929f: 0xe0000e71,\n\t0x92a0: 0xe0003669, 0x92a1: 0xe0003666, 0x92a2: 0xe0000e7d, 0x92a3: 0xe0000e79,\n\t0x92a4: 0xe000108d, 0x92a5: 0xe000108a, 0x92a6: 0xe000104d, 0x92a7: 0xe000104a,\n\t0x92a8: 0xe0001066, 0x92a9: 0xe0001062, 0x92aa: 0xe000106e, 0x92ab: 0xe000106a,\n\t0x92ac: 0xe000107e, 0x92ad: 0xe000107a, 0x92ae: 0xe0001076, 0x92af: 0xe0001072,\n\t0x92b0: 0xe0001086, 0x92b1: 0xe0001082, 0x92b2: 0xe0001108, 0x92b3: 0xe0001105,\n\t0x92b4: 0xe0001135, 0x92b5: 0xe0001132, 0x92b6: 0xe000112f, 0x92b7: 0xe000112c,\n\t0x92b8: 0xe000111d, 0x92b9: 0xe000111a, 0x92ba: 0xe0000d0a, 0x92bb: 0xe0000d07,\n\t0x92bc: 0x0030d888, 0x92bd: 0x4030d820, 0x92be: 0x00312088, 0x92bf: 0x40312020,\n\t// Block 0x24b, offset 0x92c0\n\t0x92c0: 0xe0000024, 0x92c1: 0xe0000029, 0x92c2: 0xe000002e, 0x92c3: 0xe0000033,\n\t0x92c4: 0xe0000038, 0x92c5: 0xe000003d, 0x92c6: 0xe0000042, 0x92c7: 0xe0000047,\n\t0x92c8: 0xf0001f04, 0x92c9: 0xf0001f04, 0x92ca: 0xf0001f04, 0x92cb: 0xf0001f04,\n\t0x92cc: 0xf0001f04, 0x92cd: 0xf0001f04, 0x92ce: 0xf0001f04, 0x92cf: 0xf0001f04,\n\t0x92d0: 0xf0001f04, 0x92d1: 0xf0000404, 0x92d2: 0xf0000404, 0x92d3: 0xf0000404,\n\t0x92d4: 0xf0000404, 0x92d5: 0xf0000404, 0x92d6: 0xf0000404, 0x92d7: 0xf0000404,\n\t0x92d8: 0xf0000404, 0x92d9: 0xf0000404, 0x92da: 0xf0000404, 0x92db: 0xf0000404,\n\t0x92dc: 0xf0000404, 0x92dd: 0xf0000404, 0x92de: 0xf0000404, 0x92df: 0xf0000404,\n\t0x92e0: 0xf0000404, 0x92e1: 0xf0000404, 0x92e2: 0xf0000404, 0x92e3: 0xf0000404,\n\t0x92e4: 0xf0000404, 0x92e5: 0xf0000404, 0x92e6: 0xf0000404, 0x92e7: 0xf0000404,\n\t0x92e8: 0xf0000404, 0x92e9: 0xf0000404, 0x92ea: 0xf0000404, 0x92eb: 0xf0000404,\n\t0x92ec: 0xf0000404, 0x92ed: 0xf0000404, 0x92ee: 0xf0000404, 0x92ef: 0xf0000404,\n\t0x92f0: 0xf0000404, 0x92f1: 0xf0000404, 0x92f2: 0xe0002c46, 0x92f3: 0xf0000404,\n\t0x92f4: 0xf0000404, 0x92f5: 0xe0002c56, 0x92f6: 0x002bde8c, 0x92f7: 0x002c0a8c,\n\t0x92f8: 0x002c3a8c, 0x92f9: 0x002c628c, 0x92fa: 0x002c988c, 0x92fb: 0x002d088c,\n\t0x92fc: 0x002d228c, 0x92fd: 0x002d688c, 0x92fe: 0x002d9a8c, 0x92ff: 0x002dcc8c,\n\t// Block 0x24c, offset 0x9300\n\t0x9300: 0xf0001d1c, 0x9301: 0xf0001d1c, 0x9302: 0xf0001d1c, 0x9303: 0xf0001d1c,\n\t0x9304: 0xf0001d1c, 0x9305: 0xf0001d1d, 0x9306: 0xf0001d1d, 0x9307: 0xf0001d1d,\n\t0x9308: 0xe0000a6b, 0x9309: 0xe0000cb4, 0x930a: 0xf0001d1c, 0x930b: 0xf0001d1c,\n\t0x930c: 0xf0001d1c, 0x930d: 0xf0001c1c, 0x930e: 0xf0001c1c, 0x930f: 0xf0001c1c,\n\t0x9310: 0xe00027ce, 0x9311: 0xe0000cb9, 0x9312: 0xe0000d36, 0x9313: 0xe0000be3,\n\t0x9314: 0xe0000fc5, 0x9315: 0xf0001c1c, 0x9316: 0xf0001c1c, 0x9317: 0xf0001c1c,\n\t0x9318: 0xf0001c1c, 0x9319: 0xf0001c1c, 0x931a: 0xf0001c1c, 0x931b: 0xf0001c1c,\n\t0x931c: 0xf0001c1c, 0x931d: 0xf0001c1c, 0x931e: 0xf0001c1c, 0x931f: 0xe0000d3e,\n\t0x9320: 0xe0000a72, 0x9321: 0xf0001c1c, 0x9322: 0xe0000cbd, 0x9323: 0xe0000d42,\n\t0x9324: 0xe0000a76, 0x9325: 0xf0001c1c, 0x9326: 0xe0000cc1, 0x9327: 0xe0000d2d,\n\t0x9328: 0xe0000d31, 0x9329: 0xf0001c1d, 0x932a: 0xe0000cc5, 0x932b: 0xe0000d4a,\n\t0x932c: 0xe0000be7, 0x932d: 0xe0000f0b, 0x932e: 0xe0000f0f, 0x932f: 0xe0000f15,\n\t0x9330: 0xf0001c1c, 0x9331: 0xf0001c1c, 0x9332: 0xf0001c1c, 0x9333: 0xf0001c1c,\n\t0x9334: 0xf0001d1c, 0x9335: 0xf0001d1c, 0x9336: 0xf0001d1c, 0x9337: 0xf0001d1c,\n\t0x9338: 0xf0001d1c, 0x9339: 0xf0001d1d, 0x933a: 0xe00035df, 0x933b: 0xe00035cd,\n\t0x933c: 0xe0003600, 0x933d: 0xe00035af, 0x933e: 0xe0002812, 0x933f: 0xe00035b2,\n\t// Block 0x24d, offset 0x9340\n\t0x9340: 0xf0001d1c, 0x9341: 0xf0001d1d, 0x9342: 0xe00009b7, 0x9343: 0xf0001c1d,\n\t0x9344: 0xf0001c1c, 0x9345: 0xf0001c1c, 0x9346: 0xe0000a66, 0x9347: 0xe0000a7a,\n\t0x9348: 0xf0001d1c, 0x9349: 0xf0001c1d, 0x934a: 0xf0001c1c, 0x934b: 0xf0001d1d,\n\t0x934c: 0xf0001c1c, 0x934d: 0xf0001d1d, 0x934e: 0xf0001d1d, 0x934f: 0xf0001c1c,\n\t0x9350: 0xf0001c1c, 0x9351: 0xf0001c1c, 0x9352: 0xe0000d0d, 0x9353: 0xf0001c1c,\n\t0x9354: 0xf0001c1c, 0x9355: 0xe0000d3a, 0x9356: 0xe0000d46, 0x9357: 0xf0001d1d,\n\t0x9358: 0xe0000eb0, 0x9359: 0xe0000eb8, 0x935a: 0xf0001d1d, 0x935b: 0xf0001c1c,\n\t0x935c: 0xf0001c1d, 0x935d: 0xe00035e2, 0x935e: 0xe00010b2, 0x935f: 0xe00009c8,\n\t0x9360: 0xf0001f04, 0x9361: 0xf0001f04, 0x9362: 0xf0001f04, 0x9363: 0xf0001f04,\n\t0x9364: 0xf0001f04, 0x9365: 0xf0001f04, 0x9366: 0xf0001f04, 0x9367: 0xf0001f04,\n\t0x9368: 0xf0001f04, 0x9369: 0xf0000404, 0x936a: 0xf0000404, 0x936b: 0xf0000404,\n\t0x936c: 0xf0000404, 0x936d: 0xf0000404, 0x936e: 0xf0000404, 0x936f: 0xf0000404,\n\t0x9370: 0xf0000404, 0x9371: 0xf0000404, 0x9372: 0xf0000404, 0x9373: 0xf0000404,\n\t0x9374: 0xf0000404, 0x9375: 0xf0000404, 0x9376: 0xf0000404, 0x9377: 0xf0000404,\n\t0x9378: 0xf0000404, 0x9379: 0xf0000404, 0x937a: 0xf0000404, 0x937b: 0xf0000404,\n\t0x937c: 0xf0000404, 0x937d: 0xf0000404, 0x937e: 0xf0000404, 0x937f: 0xe0000bdf,\n\t// Block 0x24e, offset 0x9380\n\t0x9380: 0xf0001f04, 0x9381: 0xf0001f04, 0x9382: 0xf0001f04, 0x9383: 0xf0001f04,\n\t0x9384: 0xf0001f04, 0x9385: 0xf0001f04, 0x9386: 0xf0001f04, 0x9387: 0xf0001f04,\n\t0x9388: 0xf0001f04, 0x9389: 0xf0001f04, 0x938a: 0xf0001f04,\n\t0x9390: 0xf0000a04, 0x9391: 0xf0000a04, 0x9392: 0xf0000a04, 0x9393: 0xf0000a04,\n\t0x9394: 0xf0000a04, 0x9395: 0xf0000a04, 0x9396: 0xf0000a04, 0x9397: 0xf0000a04,\n\t0x9398: 0xf0000a04, 0x9399: 0xf0000a04, 0x939a: 0xf0000a04, 0x939b: 0xf0000a04,\n\t0x939c: 0xf0000a04, 0x939d: 0xf0000a04, 0x939e: 0xf0000a04, 0x939f: 0xf0000a04,\n\t0x93a0: 0xf0000a04, 0x93a1: 0xf0000a04, 0x93a2: 0xf0000a04, 0x93a3: 0xf0000a04,\n\t0x93a4: 0xf0000a04, 0x93a5: 0xf0000a04, 0x93a6: 0xe0002c4a, 0x93a7: 0xf0000a04,\n\t0x93a8: 0xf0000a04, 0x93a9: 0xe0002c5a, 0x93aa: 0xf0000a04, 0x93ab: 0x002c3a8c,\n\t0x93ac: 0x002f7a8c, 0x93ad: 0xf0000c0c, 0x93ae: 0xe00035e8,\n\t0x93b0: 0x002bde9d, 0x93b1: 0x002c0a9d, 0x93b2: 0x002c3a9d, 0x93b3: 0x002c629d,\n\t0x93b4: 0x002c989d, 0x93b5: 0x002d089d, 0x93b6: 0x002d229d, 0x93b7: 0x002d689d,\n\t0x93b8: 0x002d9a9d, 0x93b9: 0x002dcc9d, 0x93ba: 0x002dfe9d, 0x93bb: 0x002e229d,\n\t0x93bc: 0x002e829d, 0x93bd: 0x002e9e9d, 0x93be: 0x002ee29d, 0x93bf: 0x002f2c9d,\n\t// Block 0x24f, offset 0x93c0\n\t0x93c0: 0x002f569d, 0x93c1: 0x002f7a9d, 0x93c2: 0x002fe69d, 0x93c3: 0x00302c9d,\n\t0x93c4: 0x00306c9d, 0x93c5: 0x0030be9d, 0x93c6: 0x0030e29d, 0x93c7: 0x0030f69d,\n\t0x93c8: 0x0031009d, 0x93c9: 0x00312a9d, 0x93ca: 0xf0001d1d, 0x93cb: 0xf0001d1d,\n\t0x93cc: 0xf0001d1d, 0x93cd: 0xf0001d1d, 0x93ce: 0xe0000ebc, 0x93cf: 0xe00035e5,\n\t0x93d0: 0x002bde8c, 0x93d1: 0x002c0a8c, 0x93d2: 0x002c3a8c, 0x93d3: 0x002c628c,\n\t0x93d4: 0x002c988c, 0x93d5: 0x002d088c, 0x93d6: 0x002d228c, 0x93d7: 0x002d688c,\n\t0x93d8: 0x002d9a8c, 0x93d9: 0x002dcc8c, 0x93da: 0x002dfe8c, 0x93db: 0x002e228c,\n\t0x93dc: 0x002e828c, 0x93dd: 0x002e9e8c, 0x93de: 0x002ee28c, 0x93df: 0x002f2c8c,\n\t0x93e0: 0x002f568c, 0x93e1: 0x002f7a8c, 0x93e2: 0x002fe68c, 0x93e3: 0x00302c8c,\n\t0x93e4: 0x00306c8c, 0x93e5: 0x0030be8c, 0x93e6: 0x0030e28c, 0x93e7: 0x0030f68c,\n\t0x93e8: 0x0031008c, 0x93e9: 0x00312a8c, 0x93ea: 0xf0001414, 0x93eb: 0xf0001414,\n\t0x93f0: 0x002bde9d, 0x93f1: 0x002c0a9d, 0x93f2: 0x002c3a9d, 0x93f3: 0x002c629d,\n\t0x93f4: 0x002c989d, 0x93f5: 0x002d089d, 0x93f6: 0x002d229d, 0x93f7: 0x002d689d,\n\t0x93f8: 0x002d9a9d, 0x93f9: 0x002dcc9d, 0x93fa: 0x002dfe9d, 0x93fb: 0x002e229d,\n\t0x93fc: 0x002e829d, 0x93fd: 0x002e9e9d, 0x93fe: 0x002ee29d, 0x93ff: 0x002f2c9d,\n\t// Block 0x250, offset 0x9400\n\t0x9400: 0xa0000000, 0x9401: 0xa0000000, 0x9402: 0xa0000000, 0x9403: 0xa0000000,\n\t0x9404: 0xa0000000, 0x9406: 0x40096620, 0x9407: 0x40096a20,\n\t0x9408: 0x40070820, 0x9409: 0x4004f220, 0x940a: 0x4004f620, 0x940b: 0x4027e620,\n\t0x940c: 0x40024820, 0x940d: 0x40024a20, 0x940e: 0x40070e20, 0x940f: 0x40071020,\n\t0x9410: 0xae600000, 0x9411: 0xae600000, 0x9412: 0xae600000, 0x9413: 0xae600000,\n\t0x9414: 0xae600000, 0x9415: 0xae600000, 0x9416: 0xae600000, 0x9417: 0xae600000,\n\t0x9418: 0xa1e00000, 0x9419: 0xa1f00000, 0x941a: 0xa2000000, 0x941b: 0x40026420,\n\t0x941e: 0x40027020, 0x941f: 0x4002cc20,\n\t0x9420: 0x403aa220, 0x9421: 0x40393a20, 0x9422: 0x40393620, 0x9423: 0x40393a21,\n\t0x9424: 0x40393a25, 0x9425: 0x40393a23, 0x9426: 0x00393b44, 0x9427: 0xc55e0151,\n\t0x9428: 0x40393c20, 0x9429: 0x403a8823, 0x942a: 0x40395620, 0x942b: 0x40395820,\n\t0x942c: 0x40396420, 0x942d: 0x40397220, 0x942e: 0x40397420, 0x942f: 0x40398820,\n\t0x9430: 0x40398a20, 0x9431: 0x4039a420, 0x9432: 0x4039a620, 0x9433: 0x4039c620,\n\t0x9434: 0x4039c820, 0x9435: 0x4039dc20, 0x9436: 0x4039de20, 0x9437: 0x4039e620,\n\t0x9438: 0x4039e820, 0x9439: 0x4039ee20, 0x943a: 0x4039f020, 0x943b: 0x403a3820,\n\t0x943c: 0x403a3a20, 0x943d: 0x403a9c20, 0x943e: 0x403a9e20, 0x943f: 0x403aa020,\n\t// Block 0x251, offset 0x9440\n\t0x9440: 0xa0000000, 0x9441: 0x4039fc20, 0x9442: 0x403a1220, 0x9443: 0x403a1c23,\n\t0x9444: 0x403a4020, 0x9445: 0x403a4e20, 0x9446: 0x403a5620, 0x9447: 0x403a8820,\n\t0x9448: 0xc5620171, 0x9449: 0xc5660171, 0x944a: 0xc5680171, 0x944b: 0xa000b002,\n\t0x944c: 0xa000b202, 0x944d: 0xa000b102, 0x944e: 0xa1e0ad02, 0x944f: 0xa000af02,\n\t0x9450: 0xa000ae02, 0x9451: 0xa210ba02, 0x9452: 0xa220bc02, 0x9453: 0xae60bd02,\n\t0x9454: 0xae60be02, 0x9455: 0xadc0bf02, 0x9456: 0xadc0c102, 0x9457: 0xae60c202,\n\t0x9458: 0xae60c302, 0x9459: 0xae60c402, 0x945a: 0xae60c502, 0x945b: 0xae60c602,\n\t0x945c: 0xadc0c702, 0x945d: 0xae60c802, 0x945e: 0xae60c902, 0x945f: 0xadc0c002,\n\t0x9460: 0xe000015e, 0x9461: 0xe00001e6, 0x9462: 0xe0000301, 0x9463: 0xe00003db,\n\t0x9464: 0xe00004b6, 0x9465: 0xe0000580, 0x9466: 0xe000064b, 0x9467: 0xe00006f3,\n\t0x9468: 0xe000079f, 0x9469: 0xe0000844, 0x946a: 0x4004ee20, 0x946b: 0x40024c20,\n\t0x946c: 0x40024e20, 0x946d: 0x4004de20, 0x946e: 0x40393a20, 0x946f: 0x403a1020,\n\t0x9470: 0xa230d102, 0x9471: 0x40393821, 0x9472: 0x40393a22, 0x9473: 0x40393a24,\n\t0x9474: 0x00391c84, 0x9475: 0xf0000404, 0x9476: 0xf0000404, 0x9477: 0xf0000404,\n\t0x9478: 0xe0003780, 0x9479: 0x40395a20, 0x947a: 0x40395c20, 0x947b: 0x40393e20,\n\t0x947c: 0x40395e20, 0x947d: 0x40396020, 0x947e: 0x40394020, 0x947f: 0x40396220,\n\t// Block 0x252, offset 0x9480\n\t0x9480: 0x40394220, 0x9481: 0x40397620, 0x9482: 0x40397820, 0x9483: 0x40396620,\n\t0x9484: 0x40396820, 0x9485: 0x40397a20, 0x9486: 0x40396a20, 0x9487: 0x40396e20,\n\t0x9488: 0x40398c20, 0x9489: 0x40398e20, 0x948a: 0x40399020, 0x948b: 0x40399220,\n\t0x948c: 0x40399420, 0x948d: 0x40399620, 0x948e: 0x40399820, 0x948f: 0x40399a20,\n\t0x9490: 0x40399c20, 0x9491: 0x4039a820, 0x9492: 0x4039aa20, 0x9493: 0x4039ac20,\n\t0x9494: 0x4039ae20, 0x9495: 0x4039b020, 0x9496: 0x4039b220, 0x9497: 0x4039b420,\n\t0x9498: 0x4039b620, 0x9499: 0x4039b820, 0x949a: 0x4039ca20, 0x949b: 0x4039cc20,\n\t0x949c: 0x4039ce20, 0x949d: 0x4039e020, 0x949e: 0x4039e220, 0x949f: 0x4039ea20,\n\t0x94a0: 0x4039f220, 0x94a1: 0x4039fe20, 0x94a2: 0x403a0020, 0x94a3: 0x403a0220,\n\t0x94a4: 0x403a0420, 0x94a5: 0x403a0820, 0x94a6: 0x403a0a20, 0x94a7: 0x403a1420,\n\t0x94a8: 0x403a1620, 0x94a9: 0x403a1c20, 0x94aa: 0x403a1c21, 0x94ab: 0x403a1c22,\n\t0x94ac: 0x403a1c24, 0x94ad: 0x403a1c25, 0x94ae: 0x403a1c26, 0x94af: 0x403a2a20,\n\t0x94b0: 0x403a2c20, 0x94b1: 0x403a2e20, 0x94b2: 0x403a3020, 0x94b3: 0x403a3220,\n\t0x94b4: 0x403a3420, 0x94b5: 0x403a4220, 0x94b6: 0x403a4420, 0x94b7: 0x403a4620,\n\t0x94b8: 0x403a4820, 0x94b9: 0x403a6020, 0x94ba: 0x403a5820, 0x94bb: 0x403a5a20,\n\t0x94bc: 0x403a5c20, 0x94bd: 0x403a5e20, 0x94be: 0x403a8826, 0x94bf: 0x40396c20,\n\t// Block 0x253, offset 0x94c0\n\t0x94c0: 0x403a8825, 0x94c1: 0x403a8822, 0x94c2: 0xe0003777, 0x94c3: 0x403a8824,\n\t0x94c4: 0x403a7620, 0x94c5: 0x403a7820, 0x94c6: 0x403a7a20, 0x94c7: 0x403a7c20,\n\t0x94c8: 0x403a7e20, 0x94c9: 0x403a8020, 0x94ca: 0x403a8220, 0x94cb: 0x403a8420,\n\t0x94cc: 0xc5640171, 0x94cd: 0x403a9226, 0x94ce: 0x403a9227, 0x94cf: 0x403a8620,\n\t0x94d0: 0x403a9224, 0x94d1: 0x403a9225, 0x94d2: 0x403a9222, 0x94d3: 0xe00037b6,\n\t0x94d4: 0x4002e820, 0x94d5: 0xc56a0171, 0x94d6: 0xae600000, 0x94d7: 0xae600000,\n\t0x94d8: 0xae600000, 0x94d9: 0xae600000, 0x94da: 0xae600000, 0x94db: 0xae600000,\n\t0x94dc: 0xae600000, 0x94dd: 0xa0000000, 0x94de: 0x40071220, 0x94df: 0xae600000,\n\t0x94e0: 0xae600000, 0x94e1: 0xae600000, 0x94e2: 0xae600000, 0x94e3: 0xadc00000,\n\t0x94e4: 0xae600000, 0x94e5: 0x003a7484, 0x94e6: 0x003a9084, 0x94e7: 0xae600000,\n\t0x94e8: 0xae600000, 0x94e9: 0x40071420, 0x94ea: 0xadc00000, 0x94eb: 0xae600000,\n\t0x94ec: 0xae600000, 0x94ed: 0xadc00000, 0x94ee: 0x40399e20, 0x94ef: 0x4039ba20,\n\t0x94f0: 0xe0000161, 0x94f1: 0xe00001e9, 0x94f2: 0xe0000304, 0x94f3: 0xe00003de,\n\t0x94f4: 0xe00004b9, 0x94f5: 0xe0000583, 0x94f6: 0xe000064e, 0x94f7: 0xe00006f6,\n\t0x94f8: 0xe00007a2, 0x94f9: 0xe0000847, 0x94fa: 0x4039d020, 0x94fb: 0x4039e420,\n\t0x94fc: 0x4039f420, 0x94fd: 0xe0001553, 0x94fe: 0xe0001779, 0x94ff: 0x403a7020,\n\t// Block 0x254, offset 0x9500\n\t0x9500: 0x00396e97, 0x9501: 0x00396e98, 0x9502: 0x0039969a, 0x9503: 0x00399699,\n\t0x9504: 0x0039949a, 0x9505: 0x00399499, 0x9506: 0x0039989a, 0x9507: 0x00399899,\n\t0x9508: 0x00398c9a, 0x9509: 0x00398c99, 0x950a: 0x0039b69a, 0x950b: 0x0039b699,\n\t0x950c: 0x0039a89a, 0x950d: 0x0039a899, 0x950e: 0x003a1c9a, 0x950f: 0x003a1c99,\n\t0x9510: 0x003a1c97, 0x9511: 0x003a1c98, 0x9512: 0x003a2a9a, 0x9513: 0x003a2a99,\n\t0x9514: 0x003a2a97, 0x9515: 0x003a2a98, 0x9516: 0x003a329a, 0x9517: 0x003a3299,\n\t0x9518: 0x003a3297, 0x9519: 0x003a3298, 0x951a: 0x003a2e9a, 0x951b: 0x003a2e99,\n\t0x951c: 0x003a2e97, 0x951d: 0x003a2e98, 0x951e: 0x003a589a, 0x951f: 0x003a5899,\n\t0x9520: 0x003a5a9a, 0x9521: 0x003a5a99, 0x9522: 0x003a5a97, 0x9523: 0x003a5a98,\n\t0x9524: 0xe0003774, 0x9525: 0xe0003771, 0x9526: 0x003a6c9a, 0x9527: 0x003a6c99,\n\t0x9528: 0x003a6c97, 0x9529: 0x003a6c98, 0x952a: 0x003a6a9a, 0x952b: 0x003a6a99,\n\t0x952c: 0x003a6a97, 0x952d: 0x003a6a98, 0x952e: 0x003aaa9a, 0x952f: 0x003aaa99,\n\t0x9530: 0xe00037bc, 0x9531: 0xe00037b9, 0x9532: 0x40071820, 0x9533: 0x40071a20,\n\t0x9534: 0x40071c20, 0x9535: 0x40071e20, 0x9536: 0x40072020, 0x9537: 0x40072220,\n\t0x9538: 0x40072420, 0x9539: 0x40072620, 0x953a: 0x40072820, 0x953b: 0x40072a20,\n\t0x953c: 0x40072c20, 0x953d: 0x40072e20, 0x953e: 0x40073020, 0x953f: 0x40073220,\n\t// Block 0x255, offset 0x9540\n\t0x9540: 0xe000155f, 0x9541: 0xe0001565, 0x9542: 0xe000157a, 0x9543: 0xe00015b0,\n\t0x9544: 0xe00015b6, 0x9545: 0xf0001a1a, 0x9546: 0xf0001a1a, 0x9547: 0xf0001a1a,\n\t0x9548: 0xf0001a1a, 0x9549: 0xe0002894, 0x954a: 0xe00036a5, 0x954b: 0xf0001a1a,\n\t0x954c: 0xf0001a1a, 0x954d: 0xf0001a1a, 0x954e: 0xf0001a1a, 0x954f: 0xe000289a,\n\t0x9550: 0xe00036b1, 0x9551: 0xf0001a1a, 0x9552: 0xf0001a1a, 0x9553: 0xe00028a0,\n\t0x9554: 0xe00036ba, 0x9555: 0xf0001a1a, 0x9556: 0xf0001a1a, 0x9557: 0xf0001a1a,\n\t0x9558: 0xf0001a1a, 0x9559: 0xf0001a1a, 0x955a: 0xf0001a1a, 0x955b: 0xf0001a1a,\n\t0x955c: 0xf0001a1a, 0x955d: 0xf0001a1a, 0x955e: 0xf0001a1a, 0x955f: 0xf0001a1a,\n\t0x9560: 0xf0001a1a, 0x9561: 0xf0001a1a, 0x9562: 0xf0001a1a, 0x9563: 0xf0001a1a,\n\t0x9564: 0xf0001a1a, 0x9565: 0xf0001a1a, 0x9566: 0xf0001a1a, 0x9567: 0xf0001a1a,\n\t0x9568: 0xf0001a1a, 0x9569: 0xf0001a1a, 0x956a: 0xf0001a1a, 0x956b: 0xf0001a1a,\n\t0x956c: 0xf0001a1a, 0x956d: 0xf0001a1a, 0x956e: 0xf0001a1a, 0x956f: 0xf0001a1a,\n\t0x9570: 0xf0001a1a, 0x9571: 0xe00028e2, 0x9572: 0xe0003708, 0x9573: 0xf0001a1a,\n\t0x9574: 0xf0001a1a, 0x9575: 0xe00028e8, 0x9576: 0xe000370e, 0x9577: 0xe0003714,\n\t0x9578: 0xe000371a, 0x9579: 0xe0003720, 0x957a: 0xe0003726, 0x957b: 0xe0003732,\n\t0x957c: 0xe000373e, 0x957d: 0xe00028ee, 0x957e: 0xe0003744, 0x957f: 0xf0001a1a,\n\t// Block 0x256, offset 0x9580\n\t0x9580: 0xf0001a1a, 0x9581: 0xf0001a1a, 0x9582: 0xf0001a1a, 0x9583: 0xe00028f4,\n\t0x9584: 0xe000374d, 0x9585: 0xf0001a1a, 0x9586: 0xf0001a1a, 0x9587: 0xf0001a1a,\n\t0x9588: 0xf0001a1a, 0x9589: 0xe00028f7, 0x958a: 0xe0003750, 0x958b: 0xf0001a1a,\n\t0x958c: 0xf0001a1a, 0x958d: 0xf0001a1a, 0x958e: 0xf0001a1a, 0x958f: 0xe00028fd,\n\t0x9590: 0xe000375c, 0x9591: 0xe0003765, 0x9592: 0xe000376b, 0x9593: 0xe0002900,\n\t0x9594: 0xe000376e, 0x9595: 0xe0003786, 0x9596: 0xe000378c, 0x9597: 0xe0003792,\n\t0x9598: 0xe00037a4, 0x9599: 0xe0002906, 0x959a: 0xe00037b3, 0x959b: 0xf0001a1a,\n\t0x959c: 0xf0001a1a, 0x959d: 0xe000377d, 0x959e: 0xe0000003, 0x959f: 0xe0000006,\n\t0x95a0: 0xe0000009, 0x95a1: 0xe000000c, 0x95a2: 0xe000000f, 0x95a3: 0xe0000012,\n\t0x95a4: 0xe000156b, 0x95a5: 0xe000156e, 0x95a6: 0xe0001577, 0x95a7: 0xe000157d,\n\t0x95a8: 0xe00015aa, 0x95a9: 0xe00015b3, 0x95aa: 0xf0001919, 0x95ab: 0xf0001919,\n\t0x95ac: 0xf0001919, 0x95ad: 0xf0001919, 0x95ae: 0xe0002891, 0x95af: 0xe00036a2,\n\t0x95b0: 0xf0001919, 0x95b1: 0xf0001919, 0x95b2: 0xf0001919, 0x95b3: 0xf0001919,\n\t0x95b4: 0xe0002897, 0x95b5: 0xe00036ae, 0x95b6: 0xf0001919, 0x95b7: 0xf0001919,\n\t0x95b8: 0xf0001919, 0x95b9: 0xf0001919, 0x95ba: 0xe000289d, 0x95bb: 0xe00036b7,\n\t0x95bc: 0xe00028df, 0x95bd: 0xe0003705, 0x95be: 0xe00028e5, 0x95bf: 0xe000370b,\n\t// Block 0x257, offset 0x95c0\n\t0x95c0: 0xe0003711, 0x95c1: 0xe000372f, 0x95c2: 0xe000373b, 0x95c3: 0xe00028eb,\n\t0x95c4: 0xe0003741, 0x95c5: 0xf0001919, 0x95c6: 0xe00028f1, 0x95c7: 0xe000374a,\n\t0x95c8: 0xf0001919, 0x95c9: 0xf0001919, 0x95ca: 0xf0001919, 0x95cb: 0xf0001919,\n\t0x95cc: 0xf0001919, 0x95cd: 0xf0001919, 0x95ce: 0xe00028fa, 0x95cf: 0xe0003759,\n\t0x95d0: 0xe000377a, 0x95d1: 0xe0003795, 0x95d2: 0xe0003798, 0x95d3: 0xe00037a1,\n\t0x95d4: 0xe00037a7, 0x95d5: 0xe0002903, 0x95d6: 0xe00037b0, 0x95d7: 0xe000155c,\n\t0x95d8: 0xe0001562, 0x95d9: 0xe0001568, 0x95da: 0xe0001571, 0x95db: 0xe0001580,\n\t0x95dc: 0xf0001717, 0x95dd: 0xf0001717, 0x95de: 0xf0001717, 0x95df: 0xf0001717,\n\t0x95e0: 0xe000369c, 0x95e1: 0xf0001717, 0x95e2: 0xf0001717, 0x95e3: 0xf0001717,\n\t0x95e4: 0xf0001717, 0x95e5: 0xe00036a8, 0x95e6: 0xf0001717, 0x95e7: 0xf0001717,\n\t0x95e8: 0xf0001717, 0x95e9: 0xf0001717, 0x95ea: 0xf0001717, 0x95eb: 0xf0001717,\n\t0x95ec: 0xf0001717, 0x95ed: 0xf0001717, 0x95ee: 0xf0001717, 0x95ef: 0xf0001717,\n\t0x95f0: 0xf0001717, 0x95f1: 0xf0001717, 0x95f2: 0xf0001717, 0x95f3: 0xf0001717,\n\t0x95f4: 0xf0001717, 0x95f5: 0xf0001717, 0x95f6: 0xf0001717, 0x95f7: 0xf0001717,\n\t0x95f8: 0xf0001717, 0x95f9: 0xf0001717, 0x95fa: 0xf0001717, 0x95fb: 0xf0001717,\n\t0x95fc: 0xf0001717, 0x95fd: 0xf0001717, 0x95fe: 0xf0001717, 0x95ff: 0xf0001717,\n\t// Block 0x258, offset 0x9600\n\t0x9600: 0xf0001717, 0x9601: 0xf0001717, 0x9602: 0xf0001717, 0x9603: 0xf0001717,\n\t0x9604: 0xe0003717, 0x9605: 0xe000371d, 0x9606: 0xe0003723, 0x9607: 0xe0003729,\n\t0x9608: 0xe0003735, 0x9609: 0xf0001717, 0x960a: 0xf0001717, 0x960b: 0xf0001717,\n\t0x960c: 0xf0001717, 0x960d: 0xe0003747, 0x960e: 0xf0001717, 0x960f: 0xf0001717,\n\t0x9610: 0xf0001717, 0x9611: 0xf0001717, 0x9612: 0xf0001717, 0x9613: 0xf0001717,\n\t0x9614: 0xf0001717, 0x9615: 0xf0001717, 0x9616: 0xe0003753, 0x9617: 0xe0003762,\n\t0x9618: 0xe0003768, 0x9619: 0xe000375f, 0x961a: 0xe0003783, 0x961b: 0xe0003789,\n\t0x961c: 0xe000378f, 0x961d: 0xe000379b, 0x961e: 0xe00037aa, 0x961f: 0xe0001574,\n\t0x9620: 0xe0001583, 0x9621: 0xf0001818, 0x9622: 0xe000369f, 0x9623: 0xf0001818,\n\t0x9624: 0xe00036ab, 0x9625: 0xf0001818, 0x9626: 0xe00036b4, 0x9627: 0xf0001818,\n\t0x9628: 0xe00036d2, 0x9629: 0xf0001818, 0x962a: 0xe00036de, 0x962b: 0xe000372c,\n\t0x962c: 0xe0003738, 0x962d: 0xf0001818, 0x962e: 0xf0001818, 0x962f: 0xe0003756,\n\t0x9630: 0xe000379e, 0x9631: 0xe00037ad, 0x9632: 0xf0001818, 0x9633: 0xe0003690,\n\t0x9634: 0xe0003693, 0x9635: 0xe00028d0, 0x9636: 0xe00036f6, 0x9637: 0xe00028d6,\n\t0x9638: 0xe00036fc, 0x9639: 0xe00028dc, 0x963a: 0xe0003702, 0x963b: 0xe00028b8,\n\t0x963c: 0xe00036d8, 0x963d: 0xe00028be, 0x963e: 0xe00036e4, 0x963f: 0xe00028ac,\n\t// Block 0x259, offset 0x9640\n\t0x9640: 0xe00036c6, 0x9641: 0xe00028a6, 0x9642: 0xe00036c0, 0x9643: 0xe00028b2,\n\t0x9644: 0xe00036cc, 0x9645: 0xe00028c4, 0x9646: 0xe00036ea, 0x9647: 0xe00028ca,\n\t0x9648: 0xe00036f0, 0x9649: 0xf0001a1a, 0x964a: 0xf0001a1a, 0x964b: 0xf0001a1a,\n\t0x964c: 0xf0001a1a, 0x964d: 0xf0001a1a, 0x964e: 0xf0001a1a, 0x964f: 0xf0001a1a,\n\t0x9650: 0xf0001a1a, 0x9651: 0xe00028cd, 0x9652: 0xe00036f3, 0x9653: 0xe00028d3,\n\t0x9654: 0xe00036f9, 0x9655: 0xe00028d9, 0x9656: 0xe00036ff, 0x9657: 0xe00028b5,\n\t0x9658: 0xe00036d5, 0x9659: 0xe00028bb, 0x965a: 0xe00036e1, 0x965b: 0xe00028a9,\n\t0x965c: 0xe00036c3, 0x965d: 0xe00028a3, 0x965e: 0xe00036bd, 0x965f: 0xe00028af,\n\t0x9660: 0xe00036c9, 0x9661: 0xe00028c1, 0x9662: 0xe00036e7, 0x9663: 0xe00028c7,\n\t0x9664: 0xe00036ed, 0x9665: 0xf0001919, 0x9666: 0xf0001919, 0x9667: 0xf0001919,\n\t0x9668: 0xf0001919, 0x9669: 0xf0001919, 0x966a: 0xf0001919, 0x966b: 0xf0001919,\n\t0x966c: 0xf0001919, 0x966d: 0xf0001717, 0x966e: 0xf0001717, 0x966f: 0xf0001717,\n\t0x9670: 0xf0001717, 0x9671: 0xe00036cf, 0x9672: 0xe00036db, 0x9673: 0xf0001717,\n\t0x9674: 0xf0001818, 0x9675: 0xf0001818, 0x9676: 0xf0001818, 0x9677: 0xf0001818,\n\t0x9678: 0xf0001818, 0x9679: 0xf0001818, 0x967a: 0xf0001818, 0x967b: 0xf0001818,\n\t0x967c: 0xe0003696, 0x967d: 0xe0003699, 0x967e: 0x4004c020, 0x967f: 0x4004c220,\n\t// Block 0x25a, offset 0x9680\n\t0x9680: 0xa0000000, 0x9681: 0xa0000000, 0x9682: 0xa0000000, 0x9683: 0xa0000000,\n\t0x9684: 0xa0000000, 0x9685: 0xa0000000, 0x9686: 0xa0000000, 0x9687: 0xa0000000,\n\t0x9688: 0xa0000000, 0x9689: 0x40020020, 0x968a: 0x40020220, 0x968b: 0x40020420,\n\t0x968c: 0x40020620, 0x968d: 0x40020820, 0x968e: 0xa0000000, 0x968f: 0xa0000000,\n\t0x9690: 0xa0000000, 0x9691: 0xa0000000, 0x9692: 0xa0000000, 0x9693: 0xa0000000,\n\t0x9694: 0xa0000000, 0x9695: 0xa0000000, 0x9696: 0xa0000000, 0x9697: 0xa0000000,\n\t0x9698: 0xa0000000, 0x9699: 0xa0000000, 0x969a: 0xa0000000, 0x969b: 0xa0000000,\n\t0x969c: 0xa0000000, 0x969d: 0xa0000000, 0x969e: 0xa0000000, 0x969f: 0xa0000000,\n\t0x96a0: 0x40021220, 0x96a1: 0x4002ba20, 0x96a2: 0x4003e020, 0x96a3: 0x4004ea20,\n\t0x96a4: 0x4027de20, 0x96a5: 0x4004ec20, 0x96a6: 0x4004e620, 0x96a7: 0x4003d220,\n\t0x96a8: 0x4003f420, 0x96a9: 0x4003f620, 0x96aa: 0x4004d820, 0x96ab: 0x40093820,\n\t0x96ac: 0x40024020, 0x96ad: 0x40021a20, 0x96ae: 0x4002e420, 0x96af: 0x4004e220,\n\t0x96b0: 0x4029cc20, 0x96b1: 0x4029ce20, 0x96b2: 0x4029d020, 0x96b3: 0x4029d220,\n\t0x96b4: 0x4029d420, 0x96b5: 0x4029d620, 0x96b6: 0x4029d820, 0x96b7: 0x4029da20,\n\t0x96b8: 0x4029dc20, 0x96b9: 0x4029de20, 0x96ba: 0x40026c20, 0x96bb: 0x40026220,\n\t0x96bc: 0x40094020, 0x96bd: 0x40094220, 0x96be: 0x40094420, 0x96bf: 0x4002c420,\n\t// Block 0x25b, offset 0x96c0\n\t0x96c0: 0x4004d620, 0x96c1: 0xc57327b1, 0x96c2: 0x002c0a88, 0x96c3: 0x002c3a88,\n\t0x96c4: 0x002c6288, 0x96c5: 0x002c9888, 0x96c6: 0x002d0888, 0x96c7: 0x002d2288,\n\t0x96c8: 0x002d6888, 0x96c9: 0x002d9a88, 0x96ca: 0x002dcc88, 0x96cb: 0x002dfe88,\n\t0x96cc: 0xc0030002, 0x96cd: 0x002e8288, 0x96ce: 0x002e9e88, 0x96cf: 0xc5780071,\n\t0x96d0: 0x002f2c88, 0x96d1: 0x002f5688, 0x96d2: 0x002f7a88, 0x96d3: 0x002fe688,\n\t0x96d4: 0x00302c88, 0x96d5: 0xc56e0071, 0x96d6: 0x0030be88, 0x96d7: 0x0030e288,\n\t0x96d8: 0x0030f688, 0x96d9: 0x00310088, 0x96da: 0x00312a88, 0x96db: 0x4003f820,\n\t0x96dc: 0x4004e420, 0x96dd: 0x4003fa20, 0x96de: 0x40062420, 0x96df: 0x40021620,\n\t0x96e0: 0x40061e20, 0x96e1: 0xc57027b1, 0x96e2: 0x402c0a20, 0x96e3: 0x402c3a20,\n\t0x96e4: 0x402c6220, 0x96e5: 0x402c9820, 0x96e6: 0x402d0820, 0x96e7: 0x402d2220,\n\t0x96e8: 0x402d6820, 0x96e9: 0x402d9a20, 0x96ea: 0x402dcc20, 0x96eb: 0x402dfe20,\n\t0x96ec: 0xc0000002, 0x96ed: 0x402e8220, 0x96ee: 0x402e9e20, 0x96ef: 0xc5760071,\n\t0x96f0: 0x402f2c20, 0x96f1: 0x402f5620, 0x96f2: 0x402f7a20, 0x96f3: 0x402fe620,\n\t0x96f4: 0x40302c20, 0x96f5: 0xc56c0071, 0x96f6: 0x4030be20, 0x96f7: 0x4030e220,\n\t0x96f8: 0x4030f620, 0x96f9: 0x40310020, 0x96fa: 0x40312a20, 0x96fb: 0x4003fc20,\n\t0x96fc: 0x40094820, 0x96fd: 0x4003fe20, 0x96fe: 0x40094c20, 0x96ff: 0xa0000000,\n\t// Block 0x25c, offset 0x9700\n\t0x9700: 0xe00008f5, 0x9701: 0xe00008ef, 0x9702: 0xe0000921, 0x9703: 0xe0000969,\n\t0x9704: 0x00320e83, 0x9705: 0x00320c83, 0x9706: 0x00320ea3, 0x9707: 0xe0000a53,\n\t0x9708: 0xe0000ae8, 0x9709: 0xe0000ae2, 0x970a: 0xe0000af4, 0x970b: 0xe0000b20,\n\t0x970c: 0xe0000c2b, 0x970d: 0xe0000c25, 0x970e: 0xe0000c37, 0x970f: 0xe0000c43,\n\t0x9710: 0xe0000ab3, 0x9711: 0xe0000d63, 0x9712: 0xe0000d9a, 0x9713: 0xe0000d94,\n\t0x9714: 0xe0000da6, 0x9715: 0xe0000de6, 0x9716: 0x00321083, 0x9717: 0x40093e20,\n\t0x9718: 0x003210a3, 0x9719: 0xe0000fe1, 0x971a: 0xe0000fdb, 0x971b: 0xe0000fed,\n\t0x971c: 0x003100a3, 0x971d: 0xe0001102, 0x971e: 0x00318888, 0x971f: 0xe0000f7b,\n\t0x9720: 0xe00008f2, 0x9721: 0xe00008ec, 0x9722: 0xe000091e, 0x9723: 0xe0000966,\n\t0x9724: 0x40320e20, 0x9725: 0x40320c20, 0x9726: 0x40320e21, 0x9727: 0xe0000a4d,\n\t0x9728: 0xe0000ae5, 0x9729: 0xe0000adf, 0x972a: 0xe0000af1, 0x972b: 0xe0000b1d,\n\t0x972c: 0xe0000c28, 0x972d: 0xe0000c22, 0x972e: 0xe0000c34, 0x972f: 0xe0000c40,\n\t0x9730: 0xe0000aad, 0x9731: 0xe0000d60, 0x9732: 0xe0000d97, 0x9733: 0xe0000d91,\n\t0x9734: 0xe0000da3, 0x9735: 0xe0000de3, 0x9736: 0x40321020, 0x9737: 0x40093c20,\n\t0x9738: 0x40321021, 0x9739: 0xe0000fde, 0x973a: 0xe0000fd8, 0x973b: 0xe0000fea,\n\t0x973c: 0x40310021, 0x973d: 0xe00010ff, 0x973e: 0x40318820, 0x973f: 0xe0001114,\n\t// Block 0x25d, offset 0x9740\n\t0x9740: 0xe0000983, 0x9741: 0xe0000980, 0x9742: 0xe00008fb, 0x9743: 0xe00008f8,\n\t0x9744: 0xe000097d, 0x9745: 0xe000097a, 0x9746: 0xe0000a38, 0x9747: 0xe0000a35,\n\t0x9748: 0xe0000a3e, 0x9749: 0xe0000a3b, 0x974a: 0xe0000a4a, 0x974b: 0xe0000a47,\n\t0x974c: 0xe0000a44, 0x974d: 0xe0000a41, 0x974e: 0xe0000a86, 0x974f: 0xe0000a83,\n\t0x9750: 0xe00037c2, 0x9751: 0xe00037bf, 0x9752: 0xe0000b46, 0x9753: 0xe0000b43,\n\t0x9754: 0xe0000aee, 0x9755: 0xe0000aeb, 0x9756: 0xe0000b2c, 0x9757: 0xe0000b29,\n\t0x9758: 0xe0000b40, 0x9759: 0xe0000b3d, 0x975a: 0xe0000b1a, 0x975b: 0xe0000b17,\n\t0x975c: 0xe0000bb8, 0x975d: 0xe0000bb5, 0x975e: 0xe0000bb2, 0x975f: 0xe0000baf,\n\t0x9760: 0xe0000bc4, 0x9761: 0xe0000bc1, 0x9762: 0xe0000bca, 0x9763: 0xe0000bc7,\n\t0x9764: 0xe0000bee, 0x9765: 0xe0000beb, 0x9766: 0xe0000c1b, 0x9767: 0xe0000c18,\n\t0x9768: 0xe0000c51, 0x9769: 0xe0000c4e, 0x976a: 0xe0000c60, 0x976b: 0xe0000c5d,\n\t0x976c: 0xe0000c31, 0x976d: 0xe0000c2e, 0x976e: 0xe0000c5a, 0x976f: 0xe0000c57,\n\t0x9770: 0xe0000c54, 0x9771: 0x402da220, 0x9772: 0xf0000a0a, 0x9773: 0xf0000404,\n\t0x9774: 0xe0000c8a, 0x9775: 0xe0000c87, 0x9776: 0xe0000c9f, 0x9777: 0xe0000c9c,\n\t0x9778: 0x402f7220, 0x9779: 0xe0000ccc, 0x977a: 0xe0000cc9, 0x977b: 0xe0000cd8,\n\t0x977c: 0xe0000cd5, 0x977d: 0xe0000cd2, 0x977e: 0xe0000ccf, 0x977f: 0xe0000d04,\n\t// Block 0x25e, offset 0x9780\n\t0x9780: 0xe0000cfe, 0x9781: 0xe0000cf8, 0x9782: 0xe0000cf5, 0x9783: 0xe0000d51,\n\t0x9784: 0xe0000d4e, 0x9785: 0xe0000d6f, 0x9786: 0xe0000d6c, 0x9787: 0xe0000d5d,\n\t0x9788: 0xe0000d5a, 0x9789: 0xf0000404, 0x978a: 0xe00037ce, 0x978b: 0xe00037cb,\n\t0x978c: 0xe0000e2e, 0x978d: 0xe0000e2b, 0x978e: 0xe0000da0, 0x978f: 0xe0000d9d,\n\t0x9790: 0xe0000de0, 0x9791: 0xe0000ddd, 0x9792: 0xe0000e93, 0x9793: 0xe0000e8f,\n\t0x9794: 0xe0000eca, 0x9795: 0xe0000ec7, 0x9796: 0xe0000edc, 0x9797: 0xe0000ed9,\n\t0x9798: 0xe0000ed0, 0x9799: 0xe0000ecd, 0x979a: 0xe0000f1f, 0x979b: 0xe0000f1c,\n\t0x979c: 0xe0000f2d, 0x979d: 0xe0000f2a, 0x979e: 0xe0000f47, 0x979f: 0xe0000f44,\n\t0x97a0: 0xe0000f33, 0x97a1: 0xe0000f30, 0x97a2: 0xe0000f99, 0x97a3: 0xe0000f96,\n\t0x97a4: 0xe0000f8a, 0x97a5: 0xe0000f87, 0x97a6: 0xe00037d4, 0x97a7: 0xe00037d1,\n\t0x97a8: 0xe000102b, 0x97a9: 0xe0001028, 0x97aa: 0xe000103f, 0x97ab: 0xe000103c,\n\t0x97ac: 0xe0000fe7, 0x97ad: 0xe0000fe4, 0x97ae: 0xe0000ff9, 0x97af: 0xe0000ff6,\n\t0x97b0: 0xe0001025, 0x97b1: 0xe0001022, 0x97b2: 0xe0001039, 0x97b3: 0xe0001036,\n\t0x97b4: 0xe00010d8, 0x97b5: 0xe00010d5, 0x97b6: 0xe000110e, 0x97b7: 0xe000110b,\n\t0x97b8: 0xe0001117, 0x97b9: 0xe000113b, 0x97ba: 0xe0001138, 0x97bb: 0xe000114d,\n\t0x97bc: 0xe000114a, 0x97bd: 0xe0001147, 0x97be: 0xe0001144, 0x97bf: 0xe0000f64,\n\t// Block 0x25f, offset 0x97c0\n\t0x97c0: 0x402c1a20, 0x97c1: 0x002c2a88, 0x97c2: 0x002c3288, 0x97c3: 0x402c3220,\n\t0x97c4: 0x0031c488, 0x97c5: 0x4031c420, 0x97c6: 0x002efa88, 0x97c7: 0x002c4e88,\n\t0x97c8: 0x402c4e20, 0x97c9: 0x002c7288, 0x97ca: 0x002c7a88, 0x97cb: 0x002c8488,\n\t0x97cc: 0x402c8420, 0x97cd: 0xe000115c, 0x97ce: 0x002cae88, 0x97cf: 0x002cb888,\n\t0x97d0: 0x002cc288, 0x97d1: 0x002d1688, 0x97d2: 0x402d1620, 0x97d3: 0x002d4488,\n\t0x97d4: 0x002d5888, 0x97d5: 0x402d7820, 0x97d6: 0x002dc288, 0x97d7: 0x002db688,\n\t0x97d8: 0x002e0a88, 0x97d9: 0x402e0a20, 0x97da: 0x402e3820, 0x97db: 0x402e7220,\n\t0x97dc: 0x0030a088, 0x97dd: 0x002eb488, 0x97de: 0x402ebc20, 0x97df: 0x002f1088,\n\t0x97e0: 0xe0000e56, 0x97e1: 0xe0000e53, 0x97e2: 0x002d6088, 0x97e3: 0x402d6020,\n\t0x97e4: 0x002f3e88, 0x97e5: 0x402f3e20, 0x97e6: 0x002f8288, 0x97e7: 0x0031b488,\n\t0x97e8: 0x4031b420, 0x97e9: 0x00300888, 0x97ea: 0x40301220, 0x97eb: 0x40304220,\n\t0x97ec: 0x00304a88, 0x97ed: 0x40304a20, 0x97ee: 0x00305288, 0x97ef: 0xe000105f,\n\t0x97f0: 0xe000105c, 0x97f1: 0x0030b488, 0x97f2: 0x0030cc88, 0x97f3: 0x00311888,\n\t0x97f4: 0x40311820, 0x97f5: 0x00313488, 0x97f6: 0x40313420, 0x97f7: 0xe00037da,\n\t0x97f8: 0x00316e88, 0x97f9: 0x40316e20, 0x97fa: 0x40317820, 0x97fb: 0x4031a620,\n\t0x97fc: 0x0031bc88, 0x97fd: 0x4031bc20, 0x97fe: 0xe0000fc9, 0x97ff: 0x40319420,\n\t// Block 0x260, offset 0x9800\n\t0x9800: 0x40321220, 0x9801: 0x40321a20, 0x9802: 0x40322220, 0x9803: 0x40322a20,\n\t0x9804: 0xe0000ad5, 0x9805: 0xe0000ad1, 0x9806: 0xe0000acd, 0x9807: 0xf0000a0a,\n\t0x9808: 0xf000040a, 0x9809: 0xf0000404, 0x980a: 0xf0000a0a, 0x980b: 0xf000040a,\n\t0x980c: 0xf0000404, 0x980d: 0xe0000947, 0x980e: 0xe0000944, 0x980f: 0xe0000c3d,\n\t0x9810: 0xe0000c3a, 0x9811: 0xe0000dcc, 0x9812: 0xe0000dc9, 0x9813: 0xe0000ff3,\n\t0x9814: 0xe0000ff0, 0x9815: 0xe000298b, 0x9816: 0xe0002988, 0x9817: 0xe0002979,\n\t0x9818: 0xe0002976, 0x9819: 0xe0002985, 0x981a: 0xe0002982, 0x981b: 0xe000297f,\n\t0x981c: 0xe000297c, 0x981d: 0x402cae20, 0x981e: 0xe00037e8, 0x981f: 0xe00037e5,\n\t0x9820: 0xe0000976, 0x9821: 0xe0000972, 0x9822: 0xe00029af, 0x9823: 0xe00029ac,\n\t0x9824: 0xe00037c8, 0x9825: 0xe00037c5, 0x9826: 0xe0000bbe, 0x9827: 0xe0000bbb,\n\t0x9828: 0xe0000c99, 0x9829: 0xe0000c96, 0x982a: 0xe0000e20, 0x982b: 0xe0000e1d,\n\t0x982c: 0xe0000e27, 0x982d: 0xe0000e23, 0x982e: 0xe00037e1, 0x982f: 0xe00037dd,\n\t0x9830: 0xe0000c8d, 0x9831: 0xf0000a0a, 0x9832: 0xf000040a, 0x9833: 0xf0000404,\n\t0x9834: 0xe0000bac, 0x9835: 0xe0000ba9, 0x9836: 0x002d7888, 0x9837: 0x00319488,\n\t0x9838: 0xe0000d57, 0x9839: 0xe0000d54, 0x983a: 0xe0002991, 0x983b: 0xe000298e,\n\t0x983c: 0xe00037ee, 0x983d: 0xe00037eb, 0x983e: 0xe0003800, 0x983f: 0xe00037fd,\n\t// Block 0x261, offset 0x9840\n\t0x9840: 0xe000098f, 0x9841: 0xe000098c, 0x9842: 0xe0000995, 0x9843: 0xe0000992,\n\t0x9844: 0xe0000b62, 0x9845: 0xe0000b5f, 0x9846: 0xe0000b68, 0x9847: 0xe0000b65,\n\t0x9848: 0xe0000c6c, 0x9849: 0xe0000c69, 0x984a: 0xe0000c72, 0x984b: 0xe0000c6f,\n\t0x984c: 0xe0000e4a, 0x984d: 0xe0000e47, 0x984e: 0xe0000e50, 0x984f: 0xe0000e4d,\n\t0x9850: 0xe0000ee8, 0x9851: 0xe0000ee5, 0x9852: 0xe0000eee, 0x9853: 0xe0000eeb,\n\t0x9854: 0xe0001053, 0x9855: 0xe0001050, 0x9856: 0xe0001059, 0x9857: 0xe0001056,\n\t0x9858: 0xe0000f61, 0x9859: 0xe0000f5e, 0x985a: 0xe0000fa5, 0x985b: 0xe0000fa2,\n\t0x985c: 0x00312288, 0x985d: 0x40312220, 0x985e: 0xe0000bf4, 0x985f: 0xe0000bf1,\n\t0x9860: 0x002ebc88, 0x9861: 0x402c8c20, 0x9862: 0x002f2288, 0x9863: 0x402f2220,\n\t0x9864: 0x00314088, 0x9865: 0x40314020, 0x9866: 0xe000096f, 0x9867: 0xe000096c,\n\t0x9868: 0xe0000b32, 0x9869: 0xe0000b2f, 0x986a: 0xe00037fa, 0x986b: 0xe00037f7,\n\t0x986c: 0xe0000dfd, 0x986d: 0xe0000df9, 0x986e: 0xe0000e04, 0x986f: 0xe0000e01,\n\t0x9870: 0xe0000e0b, 0x9871: 0xe0000e07, 0x9872: 0xe0001129, 0x9873: 0xe0001126,\n\t0x9874: 0x402e5e20, 0x9875: 0x402ed020, 0x9876: 0x40305a20, 0x9877: 0x402dd420,\n\t0x9878: 0xe0000abf, 0x9879: 0xe0000ec4, 0x987a: 0x002be888, 0x987b: 0x002c4488,\n\t0x987c: 0x402c4420, 0x987d: 0x002e3888, 0x987e: 0x00303e88, 0x987f: 0x402ffc20,\n\t// Block 0x262, offset 0x9880\n\t0x9880: 0x402f8220, 0x9881: 0x402fd820, 0x9882: 0x402ff420, 0x9883: 0x40300820,\n\t0x9884: 0x402df620, 0x9885: 0x40301a20, 0x9886: 0x40302420, 0x9887: 0x40306420,\n\t0x9888: 0x40305220, 0x9889: 0x40307c20, 0x988a: 0x4030b420, 0x988b: 0x4030cc20,\n\t0x988c: 0x4030da20, 0x988d: 0x4030ee20, 0x988e: 0x402e7a20, 0x988f: 0x40310820,\n\t0x9890: 0x40314820, 0x9891: 0x40315020, 0x9892: 0xe00037d7, 0x9893: 0x40318020,\n\t0x9894: 0x4031cc20, 0x9895: 0x4031e820, 0x9896: 0x40320a20, 0x9897: 0x40323220,\n\t0x9898: 0x40323a20, 0x9899: 0x402c1220, 0x989a: 0x402cf820, 0x989b: 0x402d4c20,\n\t0x989c: 0x402d7020, 0x989d: 0x402de620, 0x989e: 0x402e1a20, 0x989f: 0x402e2a20,\n\t0x98a0: 0x402f6220, 0x98a1: 0x4031fa20, 0x98a2: 0x40320220, 0x98a3: 0xe0000aca,\n\t0x98a4: 0xe0000adc, 0x98a5: 0xe0000ad9, 0x98a6: 0xe0000fcc, 0x98a7: 0xe0000fcf,\n\t0x98a8: 0xe0000fba, 0x98a9: 0xe0000ba1, 0x98aa: 0xe0000d11, 0x98ab: 0xe0000d18,\n\t0x98ac: 0x40324220, 0x98ad: 0x40324a20, 0x98ae: 0x40309020, 0x98af: 0x40309820,\n\t0x98b0: 0x002d6894, 0x98b1: 0x002d8094, 0x98b2: 0x002dcc94, 0x98b3: 0x002f7a94,\n\t0x98b4: 0x002f9894, 0x98b5: 0x002fac94, 0x98b6: 0x002fd894, 0x98b7: 0x0030e294,\n\t0x98b8: 0x00310094, 0x98b9: 0x40064020, 0x98ba: 0x40064420, 0x98bb: 0x402d9620,\n\t0x98bc: 0x4031de20, 0x98bd: 0x402d9820, 0x98be: 0x4031e220, 0x98bf: 0x4031f020,\n\t// Block 0x263, offset 0x98c0\n\t0x98c0: 0xe0000d24, 0x98c1: 0xe0000d21, 0x98c2: 0xe0000d2a, 0x98c3: 0xe0000d27,\n\t0x98c4: 0xe0000d69, 0x98c5: 0xe0000d66, 0x98c6: 0xe0000d7b, 0x98c7: 0xe0000d78,\n\t0x98c8: 0xe0000d87, 0x98c9: 0xe0000d84, 0x98ca: 0xe0000d81, 0x98cb: 0xe0000d7e,\n\t0x98cc: 0xe0000ded, 0x98cd: 0xe0000de9, 0x98ce: 0xe00037f4, 0x98cf: 0xe00037f1,\n\t0x98d0: 0xe0000e3d, 0x98d1: 0xe0000e39, 0x98d2: 0xe0000e35, 0x98d3: 0xe0000e31,\n\t0x98d4: 0xe0000ea7, 0x98d5: 0xe0000ea4, 0x98d6: 0xe0000ead, 0x98d7: 0xe0000eaa,\n\t0x98d8: 0xe0000ed6, 0x98d9: 0xe0000ed3, 0x98da: 0xe0000ef4, 0x98db: 0xe0000ef1,\n\t0x98dc: 0xe0000efb, 0x98dd: 0xe0000ef7, 0x98de: 0xe0000f02, 0x98df: 0xe0000eff,\n\t0x98e0: 0xe0000f41, 0x98e1: 0xe0000f3e, 0x98e2: 0xe0000f53, 0x98e3: 0xe0000f50,\n\t0x98e4: 0xe0000f26, 0x98e5: 0xe0000f22, 0x98e6: 0xe0000f3a, 0x98e7: 0xe0000f36,\n\t0x98e8: 0xe0000f5a, 0x98e9: 0xe0000f56, 0x98ea: 0xe0000f93, 0x98eb: 0xe0000f90,\n\t0x98ec: 0xe0000f9f, 0x98ed: 0xe0000f9c, 0x98ee: 0xe0000fb1, 0x98ef: 0xe0000fae,\n\t0x98f0: 0xe0000fab, 0x98f1: 0xe0000fa8, 0x98f2: 0xe0001093, 0x98f3: 0xe0001090,\n\t0x98f4: 0xe000109f, 0x98f5: 0xe000109c, 0x98f6: 0xe0001099, 0x98f7: 0xe0001096,\n\t0x98f8: 0xe0001032, 0x98f9: 0xe000102e, 0x98fa: 0xe000298b, 0x98fb: 0xe0002988,\n\t0x98fc: 0xe00010a9, 0x98fd: 0xe00010a6, 0x98fe: 0xe00010af, 0x98ff: 0xe00010ac,\n\t// Block 0x264, offset 0x9900\n\t0x9900: 0xe00009bc, 0x9901: 0xe00009c0, 0x9902: 0x002c3a8b, 0x9903: 0xf0000a04,\n\t0x9904: 0x40081c20, 0x9905: 0xe0000a5e, 0x9906: 0xe0000a62, 0x9907: 0x002cc28a,\n\t0x9908: 0x40081e20, 0x9909: 0xf0000a04, 0x990a: 0x002d2285, 0x990b: 0x002d688b,\n\t0x990c: 0x002d688b, 0x990d: 0x002d688b, 0x990e: 0x002d6885, 0x990f: 0xf0000202,\n\t0x9910: 0x002d9a8b, 0x9911: 0x002d9a8b, 0x9912: 0x002e228b, 0x9913: 0x002e2285,\n\t0x9914: 0x40082020, 0x9915: 0x002e9e8b, 0x9916: 0xf000040a, 0x9917: 0x40082220,\n\t0x9918: 0x40082420, 0x9919: 0x002f2c8b, 0x991a: 0x002f568b, 0x991b: 0x002f7a8b,\n\t0x991c: 0x002f7a8b, 0x991d: 0x002f7a8b, 0x991e: 0x40082620, 0x991f: 0x40082820,\n\t0x9920: 0xf0001414, 0x9921: 0xe0000fbd, 0x9922: 0xf0001414, 0x9923: 0x40082a20,\n\t0x9924: 0x00312a8b, 0x9925: 0x40082c20, 0x9926: 0x0032a288, 0x9927: 0x40082e20,\n\t0x9928: 0x00312a8b, 0x9929: 0x40083020, 0x992a: 0x002dfe88, 0x992b: 0x00320c83,\n\t0x992c: 0x002c0a8b, 0x992d: 0x002c3a8b, 0x992e: 0x40083220, 0x992f: 0x002c9885,\n\t0x9930: 0x002c988b, 0x9931: 0x002d088b, 0x9932: 0x002d1e88, 0x9933: 0x002e828b,\n\t0x9934: 0x002ee285, 0x9935: 0x00389084, 0x9936: 0x00389284, 0x9937: 0x00389484,\n\t0x9938: 0x00389684, 0x9939: 0x002d9a85, 0x993a: 0x40083420, 0x993b: 0xe0000b95,\n\t0x993c: 0x00327e85, 0x993d: 0x00325685, 0x993e: 0x0032568b, 0x993f: 0x00327e8b,\n\t// Block 0x265, offset 0x9940\n\t0x9940: 0xa0000000, 0x9941: 0xa0000000, 0x9942: 0xa0000000, 0x9943: 0xa0000000,\n\t0x9944: 0xa0000000, 0x9945: 0xa0000000, 0x9946: 0xa0000000, 0x9947: 0xa0000000,\n\t0x9948: 0xa0000000, 0x9949: 0x40020020, 0x994a: 0x40020220, 0x994b: 0x40020420,\n\t0x994c: 0x40020620, 0x994d: 0x40020820, 0x994e: 0xa0000000, 0x994f: 0xa0000000,\n\t0x9950: 0xa0000000, 0x9951: 0xa0000000, 0x9952: 0xa0000000, 0x9953: 0xa0000000,\n\t0x9954: 0xa0000000, 0x9955: 0xa0000000, 0x9956: 0xa0000000, 0x9957: 0xa0000000,\n\t0x9958: 0xa0000000, 0x9959: 0xa0000000, 0x995a: 0xa0000000, 0x995b: 0xa0000000,\n\t0x995c: 0xa0000000, 0x995d: 0xa0000000, 0x995e: 0xa0000000, 0x995f: 0xa0000000,\n\t0x9960: 0x40021220, 0x9961: 0x4002ba20, 0x9962: 0x4003e020, 0x9963: 0x4004ea20,\n\t0x9964: 0x4027de20, 0x9965: 0x4004ec20, 0x9966: 0x4004e620, 0x9967: 0x4003d220,\n\t0x9968: 0x4003f420, 0x9969: 0x4003f620, 0x996a: 0x4004d820, 0x996b: 0x40093820,\n\t0x996c: 0x40024020, 0x996d: 0x40021a20, 0x996e: 0x4002e420, 0x996f: 0x4004e220,\n\t0x9970: 0x4029cc20, 0x9971: 0x4029ce20, 0x9972: 0x4029d020, 0x9973: 0x4029d220,\n\t0x9974: 0x4029d420, 0x9975: 0x4029d620, 0x9976: 0x4029d820, 0x9977: 0x4029da20,\n\t0x9978: 0x4029dc20, 0x9979: 0x4029de20, 0x997a: 0x40026c20, 0x997b: 0x40026220,\n\t0x997c: 0x40094020, 0x997d: 0x40094220, 0x997e: 0x40094420, 0x997f: 0x4002c420,\n\t// Block 0x266, offset 0x9980\n\t0x9980: 0x4004d620, 0x9981: 0xc57327b1, 0x9982: 0x002c0a88, 0x9983: 0x002c3a88,\n\t0x9984: 0x002c6288, 0x9985: 0x002c9888, 0x9986: 0x002d0888, 0x9987: 0x002d2288,\n\t0x9988: 0x002d6888, 0x9989: 0x002d9a88, 0x998a: 0x002dcc88, 0x998b: 0x002dfe88,\n\t0x998c: 0xc0030002, 0x998d: 0x002e8288, 0x998e: 0x002e9e88, 0x998f: 0xc57e27e1,\n\t0x9990: 0x002f2c88, 0x9991: 0x002f5688, 0x9992: 0x002f7a88, 0x9993: 0x002fe688,\n\t0x9994: 0x00302c88, 0x9995: 0xc3900b21, 0x9996: 0x0030be88, 0x9997: 0x0030bea3,\n\t0x9998: 0x0030f688, 0x9999: 0x00310088, 0x999a: 0x00312a88, 0x999b: 0x4003f820,\n\t0x999c: 0x4004e420, 0x999d: 0x4003fa20, 0x999e: 0x40062420, 0x999f: 0x40021620,\n\t0x99a0: 0x40061e20, 0x99a1: 0xc57027b1, 0x99a2: 0x402c0a20, 0x99a3: 0x402c3a20,\n\t0x99a4: 0x402c6220, 0x99a5: 0x402c9820, 0x99a6: 0x402d0820, 0x99a7: 0x402d2220,\n\t0x99a8: 0x402d6820, 0x99a9: 0x402d9a20, 0x99aa: 0x402dcc20, 0x99ab: 0x402dfe20,\n\t0x99ac: 0xc0000002, 0x99ad: 0x402e8220, 0x99ae: 0x402e9e20, 0x99af: 0xc57a27e1,\n\t0x99b0: 0x402f2c20, 0x99b1: 0x402f5620, 0x99b2: 0x402f7a20, 0x99b3: 0x402fe620,\n\t0x99b4: 0x40302c20, 0x99b5: 0xc38d0b21, 0x99b6: 0x4030be20, 0x99b7: 0x4030be21,\n\t0x99b8: 0x4030f620, 0x99b9: 0x40310020, 0x99ba: 0x40312a20, 0x99bb: 0x4003fc20,\n\t0x99bc: 0x40094820, 0x99bd: 0x4003fe20, 0x99be: 0x40094c20, 0x99bf: 0xa0000000,\n\t// Block 0x267, offset 0x99c0\n\t0x99c0: 0xe00008f5, 0x99c1: 0xe00008ef, 0x99c2: 0xe0000921, 0x99c3: 0xe0000969,\n\t0x99c4: 0x00320e83, 0x99c5: 0x00320c83, 0x99c6: 0x00320ea3, 0x99c7: 0xe0000a53,\n\t0x99c8: 0xe0000ae8, 0x99c9: 0xe0000ae2, 0x99ca: 0xe0000af4, 0x99cb: 0xe0000b20,\n\t0x99cc: 0xe0000c2b, 0x99cd: 0xe0000c25, 0x99ce: 0xe0000c37, 0x99cf: 0xe0000c43,\n\t0x99d0: 0x002c62a3, 0x99d1: 0xe0000d63, 0x99d2: 0xe0000d9a, 0x99d3: 0xe0000d94,\n\t0x99d4: 0xe0000da6, 0x99d5: 0x003210e3, 0x99d6: 0x00321083, 0x99d7: 0x40093e20,\n\t0x99d8: 0x003210a3, 0x99d9: 0xe0000fe1, 0x99da: 0xe0000fdb, 0x99db: 0xe0000fed,\n\t0x99dc: 0x003100a3, 0x99dd: 0xe0001102, 0x99de: 0xe0003806, 0x99df: 0xe0000f7b,\n\t0x99e0: 0xe00008f2, 0x99e1: 0xe00008ec, 0x99e2: 0xe000091e, 0x99e3: 0xe0000966,\n\t0x99e4: 0x40320e20, 0x99e5: 0x40320c20, 0x99e6: 0x40320e21, 0x99e7: 0xe0000a4d,\n\t0x99e8: 0xe0000ae5, 0x99e9: 0xe0000adf, 0x99ea: 0xe0000af1, 0x99eb: 0xe0000b1d,\n\t0x99ec: 0xe0000c28, 0x99ed: 0xe0000c22, 0x99ee: 0xe0000c34, 0x99ef: 0xe0000c40,\n\t0x99f0: 0x402c6221, 0x99f1: 0xe0000d60, 0x99f2: 0xe0000d97, 0x99f3: 0xe0000d91,\n\t0x99f4: 0xe0000da3, 0x99f5: 0x40321023, 0x99f6: 0x40321020, 0x99f7: 0x40093c20,\n\t0x99f8: 0x40321021, 0x99f9: 0xe0000fde, 0x99fa: 0xe0000fd8, 0x99fb: 0xe0000fea,\n\t0x99fc: 0x40310021, 0x99fd: 0xe00010ff, 0x99fe: 0xe0003803, 0x99ff: 0xe0001114,\n\t// Block 0x268, offset 0x9a00\n\t0x9a00: 0xe0000983, 0x9a01: 0xe0000980, 0x9a02: 0xe00008fb, 0x9a03: 0xe00008f8,\n\t0x9a04: 0xe000097d, 0x9a05: 0xe000097a, 0x9a06: 0xe0000a38, 0x9a07: 0xe0000a35,\n\t0x9a08: 0xe0000a3e, 0x9a09: 0xe0000a3b, 0x9a0a: 0xe0000a4a, 0x9a0b: 0xe0000a47,\n\t0x9a0c: 0xe0000a44, 0x9a0d: 0xe0000a41, 0x9a0e: 0xe0000a86, 0x9a0f: 0xe0000a83,\n\t0x9a10: 0x002c62c3, 0x9a11: 0x402c6222, 0x9a12: 0xe0000b46, 0x9a13: 0xe0000b43,\n\t0x9a14: 0xe0000aee, 0x9a15: 0xe0000aeb, 0x9a16: 0xe0000b2c, 0x9a17: 0xe0000b29,\n\t0x9a18: 0xe0000b40, 0x9a19: 0xe0000b3d, 0x9a1a: 0xe0000b1a, 0x9a1b: 0xe0000b17,\n\t0x9a1c: 0xe0000bb8, 0x9a1d: 0xe0000bb5, 0x9a1e: 0xe0000bb2, 0x9a1f: 0xe0000baf,\n\t0x9a20: 0xe0000bc4, 0x9a21: 0xe0000bc1, 0x9a22: 0xe0000bca, 0x9a23: 0xe0000bc7,\n\t0x9a24: 0xe0000bee, 0x9a25: 0xe0000beb, 0x9a26: 0xe0000c1b, 0x9a27: 0xe0000c18,\n\t0x9a28: 0xe0000c51, 0x9a29: 0xe0000c4e, 0x9a2a: 0xe0000c60, 0x9a2b: 0xe0000c5d,\n\t0x9a2c: 0xe0000c31, 0x9a2d: 0xe0000c2e, 0x9a2e: 0xe0000c5a, 0x9a2f: 0xe0000c57,\n\t0x9a30: 0xe0000c54, 0x9a31: 0x402da220, 0x9a32: 0xf0000a0a, 0x9a33: 0xf0000404,\n\t0x9a34: 0xe0000c8a, 0x9a35: 0xe0000c87, 0x9a36: 0xe0000c9f, 0x9a37: 0xe0000c9c,\n\t0x9a38: 0x402f7220, 0x9a39: 0xe0000ccc, 0x9a3a: 0xe0000cc9, 0x9a3b: 0xe0000cd8,\n\t0x9a3c: 0xe0000cd5, 0x9a3d: 0xe0000cd2, 0x9a3e: 0xe0000ccf, 0x9a3f: 0xe0000d04,\n\t// Block 0x269, offset 0x9a40\n\t0x9a40: 0xe0000cfe, 0x9a41: 0xe0000cf8, 0x9a42: 0xe0000cf5, 0x9a43: 0xe0000d51,\n\t0x9a44: 0xe0000d4e, 0x9a45: 0xe0000d6f, 0x9a46: 0xe0000d6c, 0x9a47: 0xe0000d5d,\n\t0x9a48: 0xe0000d5a, 0x9a49: 0xf0000404, 0x9a4a: 0x002e9ea3, 0x9a4b: 0x402e9e21,\n\t0x9a4c: 0xe0000e2e, 0x9a4d: 0xe0000e2b, 0x9a4e: 0xe0000da0, 0x9a4f: 0xe0000d9d,\n\t0x9a50: 0x003210c3, 0x9a51: 0x40321022, 0x9a52: 0x00321103, 0x9a53: 0x40321024,\n\t0x9a54: 0xe0000eca, 0x9a55: 0xe0000ec7, 0x9a56: 0xe0000edc, 0x9a57: 0xe0000ed9,\n\t0x9a58: 0xe0000ed0, 0x9a59: 0xe0000ecd, 0x9a5a: 0xe0000f1f, 0x9a5b: 0xe0000f1c,\n\t0x9a5c: 0xe0000f2d, 0x9a5d: 0xe0000f2a, 0x9a5e: 0xe0000f47, 0x9a5f: 0xe0000f44,\n\t0x9a60: 0xe0000f33, 0x9a61: 0xe0000f30, 0x9a62: 0xe0000f99, 0x9a63: 0xe0000f96,\n\t0x9a64: 0xe0000f8a, 0x9a65: 0xe0000f87, 0x9a66: 0x00303688, 0x9a67: 0x40303620,\n\t0x9a68: 0xe000102b, 0x9a69: 0xe0001028, 0x9a6a: 0xe000103f, 0x9a6b: 0xe000103c,\n\t0x9a6c: 0xe0000fe7, 0x9a6d: 0xe0000fe4, 0x9a6e: 0xe0000ff9, 0x9a6f: 0xe0000ff6,\n\t0x9a70: 0x003100c3, 0x9a71: 0x40310022, 0x9a72: 0xe0001039, 0x9a73: 0xe0001036,\n\t0x9a74: 0xe0003636, 0x9a75: 0xe0003633, 0x9a76: 0xe000110e, 0x9a77: 0xe000110b,\n\t0x9a78: 0xe0001117, 0x9a79: 0xe000113b, 0x9a7a: 0xe0001138, 0x9a7b: 0xe000114d,\n\t0x9a7c: 0xe000114a, 0x9a7d: 0xe0001147, 0x9a7e: 0xe0001144, 0x9a7f: 0xe0000f64,\n\t// Block 0x26a, offset 0x9a80\n\t0x9a80: 0x40321220, 0x9a81: 0x40321a20, 0x9a82: 0x40322220, 0x9a83: 0x40322a20,\n\t0x9a84: 0xe0000ad5, 0x9a85: 0xe0000ad1, 0x9a86: 0xe0000acd, 0x9a87: 0xf0000a0a,\n\t0x9a88: 0xf000040a, 0x9a89: 0xf0000404, 0x9a8a: 0xf0000a0a, 0x9a8b: 0xf000040a,\n\t0x9a8c: 0xf0000404, 0x9a8d: 0xe0000947, 0x9a8e: 0xe0000944, 0x9a8f: 0xe0000c3d,\n\t0x9a90: 0xe0000c3a, 0x9a91: 0xe0000dcc, 0x9a92: 0xe0000dc9, 0x9a93: 0xe0000ff3,\n\t0x9a94: 0xe0000ff0, 0x9a95: 0xe000298b, 0x9a96: 0xe0002988, 0x9a97: 0xe0002979,\n\t0x9a98: 0xe0002976, 0x9a99: 0xe0002985, 0x9a9a: 0xe0002982, 0x9a9b: 0xe000297f,\n\t0x9a9c: 0xe000297c, 0x9a9d: 0x402cae20, 0x9a9e: 0xe00037e8, 0x9a9f: 0xe00037e5,\n\t0x9aa0: 0xe0000976, 0x9aa1: 0xe0000972, 0x9aa2: 0xe00029af, 0x9aa3: 0xe00029ac,\n\t0x9aa4: 0x002d3a88, 0x9aa5: 0x402d3a20, 0x9aa6: 0xe0000bbe, 0x9aa7: 0xe0000bbb,\n\t0x9aa8: 0xe0000c99, 0x9aa9: 0xe0000c96, 0x9aaa: 0xe0000e20, 0x9aab: 0xe0000e1d,\n\t0x9aac: 0xe0000e27, 0x9aad: 0xe0000e23, 0x9aae: 0xe0001162, 0x9aaf: 0xe000115f,\n\t0x9ab0: 0xe0000c8d, 0x9ab1: 0xf0000a0a, 0x9ab2: 0xf000040a, 0x9ab3: 0xf0000404,\n\t0x9ab4: 0xe0000bac, 0x9ab5: 0xe0000ba9, 0x9ab6: 0x002d7888, 0x9ab7: 0x00319488,\n\t0x9ab8: 0xe0000d57, 0x9ab9: 0xe0000d54, 0x9aba: 0xe0002991, 0x9abb: 0xe000298e,\n\t0x9abc: 0xe00037ee, 0x9abd: 0xe00037eb, 0x9abe: 0xe0003800, 0x9abf: 0xe00037fd,\n\t// Block 0x26b, offset 0x9ac0\n\t0x9ac0: 0xe000098f, 0x9ac1: 0xe000098c, 0x9ac2: 0xe0000995, 0x9ac3: 0xe0000992,\n\t0x9ac4: 0xe0000b62, 0x9ac5: 0xe0000b5f, 0x9ac6: 0xe0000b68, 0x9ac7: 0xe0000b65,\n\t0x9ac8: 0xe0000c6c, 0x9ac9: 0xe0000c69, 0x9aca: 0xe0000c72, 0x9acb: 0xe0000c6f,\n\t0x9acc: 0xe0000e4a, 0x9acd: 0xe0000e47, 0x9ace: 0xe0000e50, 0x9acf: 0xe0000e4d,\n\t0x9ad0: 0xe0000ee8, 0x9ad1: 0xe0000ee5, 0x9ad2: 0xe0000eee, 0x9ad3: 0xe0000eeb,\n\t0x9ad4: 0xe0001053, 0x9ad5: 0xe0001050, 0x9ad6: 0xe0001059, 0x9ad7: 0xe0001056,\n\t0x9ad8: 0xe0000f61, 0x9ad9: 0xe0000f5e, 0x9ada: 0xe0000fa5, 0x9adb: 0xe0000fa2,\n\t0x9adc: 0x00312288, 0x9add: 0x40312220, 0x9ade: 0xe0000bf4, 0x9adf: 0xe0000bf1,\n\t0x9ae0: 0x002ebc88, 0x9ae1: 0x402c8c20, 0x9ae2: 0x002f2288, 0x9ae3: 0x402f2220,\n\t0x9ae4: 0x00314088, 0x9ae5: 0x40314020, 0x9ae6: 0xe000096f, 0x9ae7: 0xe000096c,\n\t0x9ae8: 0xe0000b32, 0x9ae9: 0xe0000b2f, 0x9aea: 0xe00037fa, 0x9aeb: 0xe00037f7,\n\t0x9aec: 0xe000381e, 0x9aed: 0xe000381b, 0x9aee: 0xe0000e04, 0x9aef: 0xe0000e01,\n\t0x9af0: 0xe0000e0b, 0x9af1: 0xe0000e07, 0x9af2: 0xe0001129, 0x9af3: 0xe0001126,\n\t0x9af4: 0x402e5e20, 0x9af5: 0x402ed020, 0x9af6: 0x40305a20, 0x9af7: 0x402dd420,\n\t0x9af8: 0xe0000abf, 0x9af9: 0xe0000ec4, 0x9afa: 0x002be888, 0x9afb: 0x002c4488,\n\t0x9afc: 0x402c4420, 0x9afd: 0x002e3888, 0x9afe: 0x00303e88, 0x9aff: 0x402ffc20,\n\t// Block 0x26c, offset 0x9b00\n\t0x9b00: 0xe0000d24, 0x9b01: 0xe0000d21, 0x9b02: 0xe0000d2a, 0x9b03: 0xe0000d27,\n\t0x9b04: 0xe0000d69, 0x9b05: 0xe0000d66, 0x9b06: 0xe0000d7b, 0x9b07: 0xe0000d78,\n\t0x9b08: 0xe0000d87, 0x9b09: 0xe0000d84, 0x9b0a: 0xe0000d81, 0x9b0b: 0xe0000d7e,\n\t0x9b0c: 0xe000380c, 0x9b0d: 0xe0003809, 0x9b0e: 0xe0003818, 0x9b0f: 0xe0003815,\n\t0x9b10: 0xe0000e3d, 0x9b11: 0xe0000e39, 0x9b12: 0xe0000e35, 0x9b13: 0xe0000e31,\n\t0x9b14: 0xe0000ea7, 0x9b15: 0xe0000ea4, 0x9b16: 0xe0000ead, 0x9b17: 0xe0000eaa,\n\t0x9b18: 0xe0000ed6, 0x9b19: 0xe0000ed3, 0x9b1a: 0xe0000ef4, 0x9b1b: 0xe0000ef1,\n\t0x9b1c: 0xe0000efb, 0x9b1d: 0xe0000ef7, 0x9b1e: 0xe0000f02, 0x9b1f: 0xe0000eff,\n\t0x9b20: 0xe0000f41, 0x9b21: 0xe0000f3e, 0x9b22: 0xe0000f53, 0x9b23: 0xe0000f50,\n\t0x9b24: 0xe0000f26, 0x9b25: 0xe0000f22, 0x9b26: 0xe0000f3a, 0x9b27: 0xe0000f36,\n\t0x9b28: 0xe0000f5a, 0x9b29: 0xe0000f56, 0x9b2a: 0xe0000f93, 0x9b2b: 0xe0000f90,\n\t0x9b2c: 0xe0000f9f, 0x9b2d: 0xe0000f9c, 0x9b2e: 0xe0000fb1, 0x9b2f: 0xe0000fae,\n\t0x9b30: 0xe0000fab, 0x9b31: 0xe0000fa8, 0x9b32: 0xe0001093, 0x9b33: 0xe0001090,\n\t0x9b34: 0xe000109f, 0x9b35: 0xe000109c, 0x9b36: 0xe0001099, 0x9b37: 0xe0001096,\n\t0x9b38: 0xe0001032, 0x9b39: 0xe000102e, 0x9b3a: 0xe000298b, 0x9b3b: 0xe0002988,\n\t0x9b3c: 0xe00010a9, 0x9b3d: 0xe00010a6, 0x9b3e: 0xe00010af, 0x9b3f: 0xe00010ac,\n\t// Block 0x26d, offset 0x9b40\n\t0x9b40: 0xe0003630, 0x9b41: 0xe000362d, 0x9b42: 0xe000362a, 0x9b43: 0xe0003627,\n\t0x9b44: 0xe000363f, 0x9b45: 0xe000363c, 0x9b46: 0xe0003645, 0x9b47: 0xe0003642,\n\t0x9b48: 0xe000364b, 0x9b49: 0xe0003648, 0x9b4a: 0xe00010fc, 0x9b4b: 0xe00010f9,\n\t0x9b4c: 0xe00010f6, 0x9b4d: 0xe00010f3, 0x9b4e: 0xe0001123, 0x9b4f: 0xe0001120,\n\t0x9b50: 0xe0001141, 0x9b51: 0xe000113e, 0x9b52: 0xe0001153, 0x9b53: 0xe0001150,\n\t0x9b54: 0xe0001159, 0x9b55: 0xe0001156, 0x9b56: 0xe0000c15, 0x9b57: 0xe0000f8d,\n\t0x9b58: 0xe0003639, 0x9b59: 0xe0001111, 0x9b5a: 0xf0000404, 0x9b5b: 0xe0000f70,\n\t0x9b5c: 0x40300420, 0x9b5d: 0x40300620, 0x9b5e: 0xe0000f7f, 0x9b5f: 0x402c9620,\n\t0x9b60: 0xe000099b, 0x9b61: 0xe0000998, 0x9b62: 0xe0000989, 0x9b63: 0xe0000986,\n\t0x9b64: 0xe0000928, 0x9b65: 0xe0000924, 0x9b66: 0xe0000930, 0x9b67: 0xe000092c,\n\t0x9b68: 0xe0000940, 0x9b69: 0xe000093c, 0x9b6a: 0xe0000938, 0x9b6b: 0xe0000934,\n\t0x9b6c: 0xe00009aa, 0x9b6d: 0xe00009a6, 0x9b6e: 0xe0000902, 0x9b6f: 0xe00008fe,\n\t0x9b70: 0xe000090a, 0x9b71: 0xe0000906, 0x9b72: 0xe000091a, 0x9b73: 0xe0000916,\n\t0x9b74: 0xe0000912, 0x9b75: 0xe000090e, 0x9b76: 0xe00009a2, 0x9b77: 0xe000099e,\n\t0x9b78: 0xe0000b6e, 0x9b79: 0xe0000b6b, 0x9b7a: 0xe0000b5c, 0x9b7b: 0xe0000b59,\n\t0x9b7c: 0xe0000b26, 0x9b7d: 0xe0000b23, 0x9b7e: 0xe0000afb, 0x9b7f: 0xe0000af7,\n\t// Block 0x26e, offset 0x9b80\n\t0x9b80: 0xe0000b03, 0x9b81: 0xe0000aff, 0x9b82: 0xe0000b13, 0x9b83: 0xe0000b0f,\n\t0x9b84: 0xe0000b0b, 0x9b85: 0xe0000b07, 0x9b86: 0xe0000b75, 0x9b87: 0xe0000b71,\n\t0x9b88: 0xe0000c66, 0x9b89: 0xe0000c63, 0x9b8a: 0xe0000c78, 0x9b8b: 0xe0000c75,\n\t0x9b8c: 0xe0000e84, 0x9b8d: 0xe0000e81, 0x9b8e: 0xe0000e44, 0x9b8f: 0xe0000e41,\n\t0x9b90: 0xe0000dad, 0x9b91: 0xe0000da9, 0x9b92: 0xe0000db5, 0x9b93: 0xe0000db1,\n\t0x9b94: 0xe0000dc5, 0x9b95: 0xe0000dc1, 0x9b96: 0xe0003812, 0x9b97: 0xe000380f,\n\t0x9b98: 0xe0000e8b, 0x9b99: 0xe0000e87, 0x9b9a: 0xe0000e5d, 0x9b9b: 0xe0000e59,\n\t0x9b9c: 0xe0000e65, 0x9b9d: 0xe0000e61, 0x9b9e: 0xe0000e75, 0x9b9f: 0xe0000e71,\n\t0x9ba0: 0xe0003824, 0x9ba1: 0xe0003821, 0x9ba2: 0xe0000e7d, 0x9ba3: 0xe0000e79,\n\t0x9ba4: 0xe000108d, 0x9ba5: 0xe000108a, 0x9ba6: 0xe000104d, 0x9ba7: 0xe000104a,\n\t0x9ba8: 0xe0001066, 0x9ba9: 0xe0001062, 0x9baa: 0xe000106e, 0x9bab: 0xe000106a,\n\t0x9bac: 0xe000107e, 0x9bad: 0xe000107a, 0x9bae: 0xe0001076, 0x9baf: 0xe0001072,\n\t0x9bb0: 0xe0001086, 0x9bb1: 0xe0001082, 0x9bb2: 0xe0001108, 0x9bb3: 0xe0001105,\n\t0x9bb4: 0xe0001135, 0x9bb5: 0xe0001132, 0x9bb6: 0xe000112f, 0x9bb7: 0xe000112c,\n\t0x9bb8: 0xe000111d, 0x9bb9: 0xe000111a, 0x9bba: 0xe0000d0a, 0x9bbb: 0xe0000d07,\n\t0x9bbc: 0x0030d888, 0x9bbd: 0x4030d820, 0x9bbe: 0x00312088, 0x9bbf: 0x40312020,\n\t// Block 0x26f, offset 0x9bc0\n\t0x9bc0: 0xe0000024, 0x9bc1: 0xe0000029, 0x9bc2: 0xe000002e, 0x9bc3: 0xe0000033,\n\t0x9bc4: 0xe0000038, 0x9bc5: 0xe000003d, 0x9bc6: 0xe0000042, 0x9bc7: 0xe0000047,\n\t0x9bc8: 0xf0001f04, 0x9bc9: 0xf0001f04, 0x9bca: 0xf0001f04, 0x9bcb: 0xf0001f04,\n\t0x9bcc: 0xf0001f04, 0x9bcd: 0xf0001f04, 0x9bce: 0xf0001f04, 0x9bcf: 0xf0001f04,\n\t0x9bd0: 0xf0001f04, 0x9bd1: 0xf0000404, 0x9bd2: 0xf0000404, 0x9bd3: 0xf0000404,\n\t0x9bd4: 0xf0000404, 0x9bd5: 0xf0000404, 0x9bd6: 0xf0000404, 0x9bd7: 0xf0000404,\n\t0x9bd8: 0xf0000404, 0x9bd9: 0xf0000404, 0x9bda: 0xf0000404, 0x9bdb: 0xf0000404,\n\t0x9bdc: 0xf0000404, 0x9bdd: 0xf0000404, 0x9bde: 0xf0000404, 0x9bdf: 0xf0000404,\n\t0x9be0: 0xf0000404, 0x9be1: 0xf0000404, 0x9be2: 0xf0000404, 0x9be3: 0xf0000404,\n\t0x9be4: 0xf0000404, 0x9be5: 0xf0000404, 0x9be6: 0xf0000404, 0x9be7: 0xf0000404,\n\t0x9be8: 0xf0000404, 0x9be9: 0xf0000404, 0x9bea: 0xf0000404, 0x9beb: 0xf0000404,\n\t0x9bec: 0xf0000404, 0x9bed: 0xf0000404, 0x9bee: 0xf0000404, 0x9bef: 0xf0000404,\n\t0x9bf0: 0xf0000404, 0x9bf1: 0xf0000404, 0x9bf2: 0xe0002c46, 0x9bf3: 0xf0000404,\n\t0x9bf4: 0xf0000404, 0x9bf5: 0xf0000404, 0x9bf6: 0x002bde8c, 0x9bf7: 0x002c0a8c,\n\t0x9bf8: 0x002c3a8c, 0x9bf9: 0x002c628c, 0x9bfa: 0x002c988c, 0x9bfb: 0x002d088c,\n\t0x9bfc: 0x002d228c, 0x9bfd: 0x002d688c, 0x9bfe: 0x002d9a8c, 0x9bff: 0x002dcc8c,\n\t// Block 0x270, offset 0x9c00\n\t0x9c00: 0xf0001d1c, 0x9c01: 0xf0001d1c, 0x9c02: 0xf0001d1c, 0x9c03: 0xf0001d1c,\n\t0x9c04: 0xf0001d1c, 0x9c05: 0xf0001d1d, 0x9c06: 0xf0001d1d, 0x9c07: 0xf0001d1d,\n\t0x9c08: 0xe0000a6b, 0x9c09: 0xe0000cb4, 0x9c0a: 0xf0001d1c, 0x9c0b: 0xf0001d1c,\n\t0x9c0c: 0xf0001d1c, 0x9c0d: 0xf0001c1c, 0x9c0e: 0xf0001c1c, 0x9c0f: 0xf0001c1c,\n\t0x9c10: 0xf0001c1d, 0x9c11: 0xe0000cb9, 0x9c12: 0xe0000d36, 0x9c13: 0xe0000be3,\n\t0x9c14: 0xe0000fc5, 0x9c15: 0xf0001c1c, 0x9c16: 0xf0001c1c, 0x9c17: 0xf0001c1c,\n\t0x9c18: 0xf0001c1c, 0x9c19: 0xf0001c1c, 0x9c1a: 0xf0001c1c, 0x9c1b: 0xf0001c1c,\n\t0x9c1c: 0xf0001c1c, 0x9c1d: 0xf0001c1c, 0x9c1e: 0xf0001c1c, 0x9c1f: 0xe0000d3e,\n\t0x9c20: 0xe0000a72, 0x9c21: 0xf0001c1c, 0x9c22: 0xe0000cbd, 0x9c23: 0xe0000d42,\n\t0x9c24: 0xe0000a76, 0x9c25: 0xf0001c1c, 0x9c26: 0xe0000cc1, 0x9c27: 0xe0000d2d,\n\t0x9c28: 0xe0000d31, 0x9c29: 0xf0001c1d, 0x9c2a: 0xe0000cc5, 0x9c2b: 0xe0000d4a,\n\t0x9c2c: 0xe0000be7, 0x9c2d: 0xe0000f0b, 0x9c2e: 0xe0000f0f, 0x9c2f: 0xe0000f15,\n\t0x9c30: 0xf0001c1c, 0x9c31: 0xf0001c1c, 0x9c32: 0xf0001c1c, 0x9c33: 0xf0001c1c,\n\t0x9c34: 0xf0001d1c, 0x9c35: 0xf0001d1c, 0x9c36: 0xf0001d1c, 0x9c37: 0xf0001d1c,\n\t0x9c38: 0xf0001d1c, 0x9c39: 0xf0001d1d, 0x9c3a: 0xe00035df, 0x9c3b: 0xe00035cd,\n\t0x9c3c: 0xe0003600, 0x9c3d: 0xe00035af, 0x9c3e: 0xe0002812, 0x9c3f: 0xe00035b2,\n\t// Block 0x271, offset 0x9c40\n\t0x9c40: 0xf0001f04, 0x9c41: 0xf0001f04, 0x9c42: 0xf0001f04, 0x9c43: 0xf0001f04,\n\t0x9c44: 0xf0001f04, 0x9c45: 0xf0001f04, 0x9c46: 0xf0001f04, 0x9c47: 0xf0001f04,\n\t0x9c48: 0xf0001f04, 0x9c49: 0xf0001f04, 0x9c4a: 0xf0001f04,\n\t0x9c50: 0xf0000a04, 0x9c51: 0xf0000a04, 0x9c52: 0xf0000a04, 0x9c53: 0xf0000a04,\n\t0x9c54: 0xf0000a04, 0x9c55: 0xf0000a04, 0x9c56: 0xf0000a04, 0x9c57: 0xf0000a04,\n\t0x9c58: 0xf0000a04, 0x9c59: 0xf0000a04, 0x9c5a: 0xf0000a04, 0x9c5b: 0xf0000a04,\n\t0x9c5c: 0xf0000a04, 0x9c5d: 0xf0000a04, 0x9c5e: 0xf0000a04, 0x9c5f: 0xf0000a04,\n\t0x9c60: 0xf0000a04, 0x9c61: 0xf0000a04, 0x9c62: 0xf0000a04, 0x9c63: 0xf0000a04,\n\t0x9c64: 0xf0000a04, 0x9c65: 0xf0000a04, 0x9c66: 0xe0002c4a, 0x9c67: 0xf0000a04,\n\t0x9c68: 0xf0000a04, 0x9c69: 0xf0000a04, 0x9c6a: 0xf0000a04, 0x9c6b: 0x002c3a8c,\n\t0x9c6c: 0x002f7a8c, 0x9c6d: 0xf0000c0c, 0x9c6e: 0xe00035e8,\n\t0x9c70: 0x002bde9d, 0x9c71: 0x002c0a9d, 0x9c72: 0x002c3a9d, 0x9c73: 0x002c629d,\n\t0x9c74: 0x002c989d, 0x9c75: 0x002d089d, 0x9c76: 0x002d229d, 0x9c77: 0x002d689d,\n\t0x9c78: 0x002d9a9d, 0x9c79: 0x002dcc9d, 0x9c7a: 0x002dfe9d, 0x9c7b: 0x002e229d,\n\t0x9c7c: 0x002e829d, 0x9c7d: 0x002e9e9d, 0x9c7e: 0x002ee29d, 0x9c7f: 0x002f2c9d,\n\t// Block 0x272, offset 0x9c80\n\t0x9c80: 0xa0000000, 0x9c81: 0xa0000000, 0x9c82: 0xa0000000, 0x9c83: 0xa0000000,\n\t0x9c84: 0xa0000000, 0x9c85: 0xa0000000, 0x9c86: 0xa0000000, 0x9c87: 0xa0000000,\n\t0x9c88: 0xa0000000, 0x9c89: 0x40020020, 0x9c8a: 0x40020220, 0x9c8b: 0x40020420,\n\t0x9c8c: 0x40020620, 0x9c8d: 0x40020820, 0x9c8e: 0xa0000000, 0x9c8f: 0xa0000000,\n\t0x9c90: 0xa0000000, 0x9c91: 0xa0000000, 0x9c92: 0xa0000000, 0x9c93: 0xa0000000,\n\t0x9c94: 0xa0000000, 0x9c95: 0xa0000000, 0x9c96: 0xa0000000, 0x9c97: 0xa0000000,\n\t0x9c98: 0xa0000000, 0x9c99: 0xa0000000, 0x9c9a: 0xa0000000, 0x9c9b: 0xa0000000,\n\t0x9c9c: 0xa0000000, 0x9c9d: 0xa0000000, 0x9c9e: 0xa0000000, 0x9c9f: 0xa0000000,\n\t0x9ca0: 0x40021220, 0x9ca1: 0x4002ba20, 0x9ca2: 0x4003e020, 0x9ca3: 0x4004ea20,\n\t0x9ca4: 0x4027de20, 0x9ca5: 0x4004ec20, 0x9ca6: 0x4004e620, 0x9ca7: 0x4003d220,\n\t0x9ca8: 0x4003f420, 0x9ca9: 0x4003f620, 0x9caa: 0x4004d820, 0x9cab: 0x40093820,\n\t0x9cac: 0x40024020, 0x9cad: 0x40021a20, 0x9cae: 0x4002e420, 0x9caf: 0x4004e220,\n\t0x9cb0: 0x4029cc20, 0x9cb1: 0x4029ce20, 0x9cb2: 0x4029d020, 0x9cb3: 0x4029d220,\n\t0x9cb4: 0x4029d420, 0x9cb5: 0x4029d620, 0x9cb6: 0x4029d820, 0x9cb7: 0x4029da20,\n\t0x9cb8: 0x4029dc20, 0x9cb9: 0x4029de20, 0x9cba: 0x40026c20, 0x9cbb: 0x40026220,\n\t0x9cbc: 0x40094020, 0x9cbd: 0x40094220, 0x9cbe: 0x40094420, 0x9cbf: 0x4002c420,\n\t// Block 0x273, offset 0x9cc0\n\t0x9cc0: 0x4004d620, 0x9cc1: 0x002bde88, 0x9cc2: 0x002c0a88, 0x9cc3: 0x002c3a88,\n\t0x9cc4: 0x002c6288, 0x9cc5: 0x002c9888, 0x9cc6: 0x002d0888, 0x9cc7: 0x002d2288,\n\t0x9cc8: 0x002d6888, 0x9cc9: 0x002d9a88, 0x9cca: 0x002dcc88, 0x9ccb: 0x002dfe88,\n\t0x9ccc: 0xc0030002, 0x9ccd: 0x002e8288, 0x9cce: 0xc5852853, 0x9ccf: 0x002ee288,\n\t0x9cd0: 0x002f2c88, 0x9cd1: 0x002f5688, 0x9cd2: 0x002f7a88, 0x9cd3: 0x002fe688,\n\t0x9cd4: 0x00302c88, 0x9cd5: 0x00306c88, 0x9cd6: 0x0030be88, 0x9cd7: 0x0030e288,\n\t0x9cd8: 0x0030f688, 0x9cd9: 0x00310088, 0x9cda: 0x00312a88, 0x9cdb: 0x4003f820,\n\t0x9cdc: 0x4004e420, 0x9cdd: 0x4003fa20, 0x9cde: 0x40062420, 0x9cdf: 0x40021620,\n\t0x9ce0: 0x40061e20, 0x9ce1: 0x402bde20, 0x9ce2: 0x402c0a20, 0x9ce3: 0x402c3a20,\n\t0x9ce4: 0x402c6220, 0x9ce5: 0x402c9820, 0x9ce6: 0x402d0820, 0x9ce7: 0x402d2220,\n\t0x9ce8: 0x402d6820, 0x9ce9: 0x402d9a20, 0x9cea: 0x402dcc20, 0x9ceb: 0x402dfe20,\n\t0x9cec: 0xc0000002, 0x9ced: 0x402e8220, 0x9cee: 0xc5822822, 0x9cef: 0x402ee220,\n\t0x9cf0: 0x402f2c20, 0x9cf1: 0x402f5620, 0x9cf2: 0x402f7a20, 0x9cf3: 0x402fe620,\n\t0x9cf4: 0x40302c20, 0x9cf5: 0x40306c20, 0x9cf6: 0x4030be20, 0x9cf7: 0x4030e220,\n\t0x9cf8: 0x4030f620, 0x9cf9: 0x40310020, 0x9cfa: 0x40312a20, 0x9cfb: 0x4003fc20,\n\t0x9cfc: 0x40094820, 0x9cfd: 0x4003fe20, 0x9cfe: 0x40094c20, 0x9cff: 0xa0000000,\n\t// Block 0x274, offset 0x9d00\n\t0x9d01: 0x40417021, 0x9d02: 0x40417020, 0x9d03: 0x40417220,\n\t0x9d05: 0x40417020, 0x9d06: 0x40417220, 0x9d07: 0x40417420,\n\t0x9d08: 0x40417620, 0x9d09: 0x40417820, 0x9d0a: 0x40417a20, 0x9d0b: 0x40417c20,\n\t0x9d0c: 0x40418020, 0x9d0d: 0x40418420, 0x9d0f: 0x40418620,\n\t0x9d10: 0x40418820, 0x9d11: 0x40418a20, 0x9d13: 0x40418c20,\n\t0x9d14: 0x40418e20, 0x9d15: 0x40419020, 0x9d16: 0x40419220, 0x9d17: 0x40419420,\n\t0x9d18: 0x40419620, 0x9d19: 0x40419820, 0x9d1a: 0x40419a20, 0x9d1b: 0x40419c20,\n\t0x9d1c: 0x40419e20, 0x9d1d: 0x4041a020, 0x9d1e: 0x4041a220, 0x9d1f: 0x4041a420,\n\t0x9d20: 0x4041a620, 0x9d21: 0x4041a820, 0x9d22: 0x4041aa20, 0x9d23: 0x4041ac20,\n\t0x9d24: 0x4041ae20, 0x9d25: 0x4041b020, 0x9d26: 0x4041b220, 0x9d27: 0x4041b420,\n\t0x9d28: 0x4041b620, 0x9d2a: 0x4041b820, 0x9d2b: 0x4041ba20,\n\t0x9d2c: 0x4041bc20, 0x9d2d: 0x4041be20, 0x9d2e: 0x4041c020, 0x9d2f: 0x4041c220,\n\t0x9d30: 0x4041c420, 0x9d32: 0x4041c620, 0x9d33: 0x4041d220,\n\t0x9d35: 0x4041c820, 0x9d36: 0x4041ca20, 0x9d37: 0x4041cc20,\n\t0x9d38: 0x4041ce20, 0x9d39: 0x4041d020,\n\t0x9d3c: 0xa070f102, 0x9d3d: 0x4041d420, 0x9d3e: 0x4041d620, 0x9d3f: 0x4041d820,\n\t// Block 0x275, offset 0x9d40\n\t0x9d40: 0xa0000000, 0x9d41: 0xa0000000, 0x9d42: 0xa0000000, 0x9d43: 0xa0000000,\n\t0x9d44: 0xa0000000, 0x9d45: 0xa0000000, 0x9d46: 0xa0000000, 0x9d47: 0xa0000000,\n\t0x9d48: 0xa0000000, 0x9d49: 0x40020020, 0x9d4a: 0x40020220, 0x9d4b: 0x40020420,\n\t0x9d4c: 0x40020620, 0x9d4d: 0x40020820, 0x9d4e: 0xa0000000, 0x9d4f: 0xa0000000,\n\t0x9d50: 0xa0000000, 0x9d51: 0xa0000000, 0x9d52: 0xa0000000, 0x9d53: 0xa0000000,\n\t0x9d54: 0xa0000000, 0x9d55: 0xa0000000, 0x9d56: 0xa0000000, 0x9d57: 0xa0000000,\n\t0x9d58: 0xa0000000, 0x9d59: 0xa0000000, 0x9d5a: 0xa0000000, 0x9d5b: 0xa0000000,\n\t0x9d5c: 0xa0000000, 0x9d5d: 0xa0000000, 0x9d5e: 0xa0000000, 0x9d5f: 0xa0000000,\n\t0x9d60: 0x40021220, 0x9d61: 0x4002ba20, 0x9d62: 0x4003e020, 0x9d63: 0x4004ea20,\n\t0x9d64: 0x4027de20, 0x9d65: 0x4004ec20, 0x9d66: 0x4004e620, 0x9d67: 0xc58f26f2,\n\t0x9d68: 0x4003f420, 0x9d69: 0x4003f620, 0x9d6a: 0x4004d820, 0x9d6b: 0x40093820,\n\t0x9d6c: 0x40024020, 0x9d6d: 0x40021a20, 0x9d6e: 0x4002e420, 0x9d6f: 0x4004e220,\n\t0x9d70: 0x4029cc20, 0x9d71: 0x4029ce20, 0x9d72: 0x4029d020, 0x9d73: 0x4029d220,\n\t0x9d74: 0x4029d420, 0x9d75: 0x4029d620, 0x9d76: 0x4029d820, 0x9d77: 0x4029da20,\n\t0x9d78: 0x4029dc20, 0x9d79: 0x4029de20, 0x9d7a: 0x40026c20, 0x9d7b: 0x40026220,\n\t0x9d7c: 0x40094020, 0x9d7d: 0x40094220, 0x9d7e: 0x40094420, 0x9d7f: 0x4002c420,\n\t// Block 0x276, offset 0x9d80\n\t0x9d80: 0x4004d620, 0x9d81: 0x002bde88, 0x9d82: 0x002c0a88, 0x9d83: 0x002c3a88,\n\t0x9d84: 0x002c6288, 0x9d85: 0x002c9888, 0x9d86: 0x002d0888, 0x9d87: 0x002d2288,\n\t0x9d88: 0x002d6888, 0x9d89: 0x002d9a88, 0x9d8a: 0x002dcc88, 0x9d8b: 0x002dfe88,\n\t0x9d8c: 0xc0030002, 0x9d8d: 0x002e8288, 0x9d8e: 0x002e9e88, 0x9d8f: 0x002ee288,\n\t0x9d90: 0x002f2c88, 0x9d91: 0x002f5688, 0x9d92: 0x002f7a88, 0x9d93: 0xc58909c2,\n\t0x9d94: 0xc38a2722, 0x9d95: 0x00306c88, 0x9d96: 0x0030be88, 0x9d97: 0x0030e288,\n\t0x9d98: 0x0030f688, 0x9d99: 0x00310088, 0x9d9a: 0x00312a88, 0x9d9b: 0x4003f820,\n\t0x9d9c: 0x4004e420, 0x9d9d: 0x4003fa20, 0x9d9e: 0x40062420, 0x9d9f: 0x40021620,\n\t0x9da0: 0x40061e20, 0x9da1: 0x402bde20, 0x9da2: 0x402c0a20, 0x9da3: 0x402c3a20,\n\t0x9da4: 0x402c6220, 0x9da5: 0x402c9820, 0x9da6: 0x402d0820, 0x9da7: 0x402d2220,\n\t0x9da8: 0x402d6820, 0x9da9: 0x402d9a20, 0x9daa: 0x402dcc20, 0x9dab: 0x402dfe20,\n\t0x9dac: 0xc0000002, 0x9dad: 0x402e8220, 0x9dae: 0x402e9e20, 0x9daf: 0x402ee220,\n\t0x9db0: 0x402f2c20, 0x9db1: 0x402f5620, 0x9db2: 0x402f7a20, 0x9db3: 0xc34109b1,\n\t0x9db4: 0xc3882711, 0x9db5: 0x40306c20, 0x9db6: 0x4030be20, 0x9db7: 0x4030e220,\n\t0x9db8: 0x4030f620, 0x9db9: 0x40310020, 0x9dba: 0x40312a20, 0x9dbb: 0x4003fc20,\n\t0x9dbc: 0x40094820, 0x9dbd: 0x4003fe20, 0x9dbe: 0x40094c20, 0x9dbf: 0xa0000000,\n\t// Block 0x277, offset 0x9dc0\n\t0x9dc0: 0x402c1a20, 0x9dc1: 0x002c0c83, 0x9dc2: 0x002c3288, 0x9dc3: 0x402c3220,\n\t0x9dc4: 0x0031c488, 0x9dc5: 0x4031c420, 0x9dc6: 0x002efa88, 0x9dc7: 0x002c4e88,\n\t0x9dc8: 0x402c4e20, 0x9dc9: 0x002c7288, 0x9dca: 0x002c6483, 0x9dcb: 0x002c8488,\n\t0x9dcc: 0x402c8420, 0x9dcd: 0xe000115c, 0x9dce: 0x002cae88, 0x9dcf: 0x002cb888,\n\t0x9dd0: 0x002cc288, 0x9dd1: 0x002d1688, 0x9dd2: 0x402d1620, 0x9dd3: 0x002d4488,\n\t0x9dd4: 0x002d5888, 0x9dd5: 0x402d7820, 0x9dd6: 0x002dc288, 0x9dd7: 0x002db688,\n\t0x9dd8: 0x002e0083, 0x9dd9: 0x402e0020, 0x9dda: 0x402e3820, 0x9ddb: 0x402e7220,\n\t0x9ddc: 0x0030a088, 0x9ddd: 0x002eb488, 0x9dde: 0x402ebc20, 0x9ddf: 0x002f1088,\n\t0x9de0: 0xe0000e56, 0x9de1: 0xe0000e53, 0x9de2: 0x002d6088, 0x9de3: 0x402d6020,\n\t0x9de4: 0x002f3e88, 0x9de5: 0x402f3e20, 0x9de6: 0x002f8288, 0x9de7: 0x0031b488,\n\t0x9de8: 0x4031b420, 0x9de9: 0x00300888, 0x9dea: 0x40301220, 0x9deb: 0x40304220,\n\t0x9dec: 0x00304a88, 0x9ded: 0x40304a20, 0x9dee: 0x00305288, 0x9def: 0xe000105f,\n\t0x9df0: 0xe000105c, 0x9df1: 0x0030b488, 0x9df2: 0x0030cc88, 0x9df3: 0x00310285,\n\t0x9df4: 0x40310220, 0x9df5: 0x00313488, 0x9df6: 0x40313420, 0x9df7: 0x00316488,\n\t0x9df8: 0x00316e88, 0x9df9: 0x40316e20, 0x9dfa: 0x40317820, 0x9dfb: 0x4031a620,\n\t0x9dfc: 0x0031bc88, 0x9dfd: 0x4031bc20, 0x9dfe: 0xe0000fc9, 0x9dff: 0x40319420,\n\t// Block 0x278, offset 0x9e00\n\t0x9e00: 0x40315820, 0x9e01: 0x0031d488, 0x9e02: 0x4031d420, 0x9e03: 0x002c1a88,\n\t0x9e04: 0x00307c88, 0x9e05: 0x0030da88, 0x9e06: 0x002ca288, 0x9e07: 0x402ca220,\n\t0x9e08: 0x002dde88, 0x9e09: 0x402dde20, 0x9e0a: 0x002f6a88, 0x9e0b: 0x402f6a20,\n\t0x9e0c: 0x002f8e88, 0x9e0d: 0x402f8e20, 0x9e0e: 0x00311088, 0x9e0f: 0x40311020,\n\t0x9e10: 0x402bf020, 0x9e11: 0x402bf820, 0x9e12: 0x402c0220, 0x9e13: 0x402c0c20,\n\t0x9e14: 0x402efa20, 0x9e15: 0x402c5620, 0x9e16: 0x402c7220, 0x9e17: 0x402c6420,\n\t0x9e18: 0x402ccc20, 0x9e19: 0x402cb820, 0x9e1a: 0x402cd420, 0x9e1b: 0x402cc220,\n\t0x9e1c: 0x402cdc20, 0x9e1d: 0x402ce820, 0x9e1e: 0x402cf020, 0x9e1f: 0x402dee20,\n\t0x9e20: 0x402d4420, 0x9e21: 0x402d2a20, 0x9e22: 0x402d3220, 0x9e23: 0x402d5820,\n\t0x9e24: 0x402d0020, 0x9e25: 0x40308820, 0x9e26: 0x402d8020, 0x9e27: 0x402d8e20,\n\t0x9e28: 0x402db620, 0x9e29: 0x402dc220, 0x9e2a: 0x402daa20, 0x9e2b: 0x402e4220,\n\t0x9e2c: 0x402e4a20, 0x9e2d: 0x402e5420, 0x9e2e: 0x402e6820, 0x9e2f: 0x4030a020,\n\t0x9e30: 0x4030ac20, 0x9e31: 0x402e9020, 0x9e32: 0x402eb420, 0x9e33: 0x402ec820,\n\t0x9e34: 0x402ea620, 0x9e35: 0x402f1020, 0x9e36: 0x402eee20, 0x9e37: 0x402f1a20,\n\t0x9e38: 0x402f4c20, 0x9e39: 0x402f9820, 0x9e3a: 0x402fa220, 0x9e3b: 0x402fac20,\n\t0x9e3c: 0x402fb620, 0x9e3d: 0x402fbe20, 0x9e3e: 0x402fc620, 0x9e3f: 0x402fd020,\n\t// Block 0x279, offset 0x9e40\n\t0x9e40: 0x402f8220, 0x9e41: 0x402fd820, 0x9e42: 0x402ff420, 0x9e43: 0x40300820,\n\t0x9e44: 0x402df620, 0x9e45: 0x40301a20, 0x9e46: 0x40302420, 0x9e47: 0x40306420,\n\t0x9e48: 0x40305220, 0x9e49: 0x40307c20, 0x9e4a: 0x4030b420, 0x9e4b: 0x4030cc20,\n\t0x9e4c: 0x4030da20, 0x9e4d: 0x4030ee20, 0x9e4e: 0x402e7a20, 0x9e4f: 0x40310820,\n\t0x9e50: 0x40314820, 0x9e51: 0x40315020, 0x9e52: 0x40316420, 0x9e53: 0x40318020,\n\t0x9e54: 0x4031cc20, 0x9e55: 0x4031e820, 0x9e56: 0x40320a20, 0x9e57: 0x40323220,\n\t0x9e58: 0x40323a20, 0x9e59: 0x402c1220, 0x9e5a: 0x402cf820, 0x9e5b: 0x402d4c20,\n\t0x9e5c: 0x402d7020, 0x9e5d: 0x402de620, 0x9e5e: 0x402e1a20, 0x9e5f: 0x402e2a20,\n\t0x9e60: 0x402f6220, 0x9e61: 0x4031fa20, 0x9e62: 0x40320220, 0x9e63: 0xe0000aca,\n\t0x9e64: 0xe0000adc, 0x9e65: 0xe0000ad9, 0x9e66: 0xe0000fcc, 0x9e67: 0xe0000fcf,\n\t0x9e68: 0xe0000fba, 0x9e69: 0xe0000ba1, 0x9e6a: 0xe0000d11, 0x9e6b: 0xe0000d18,\n\t0x9e6c: 0x40324220, 0x9e6d: 0x40324a20, 0x9e6e: 0x40309020, 0x9e6f: 0x40309820,\n\t0x9e70: 0x002d6894, 0x9e71: 0x002d8094, 0x9e72: 0x002dcc94, 0x9e73: 0x002f7a94,\n\t0x9e74: 0x002f9894, 0x9e75: 0x002fac94, 0x9e76: 0x002fd894, 0x9e77: 0x0030e294,\n\t0x9e78: 0x00310094, 0x9e79: 0x40064020, 0x9e7a: 0x40064420, 0x9e7b: 0x402d9620,\n\t0x9e7c: 0xc58c26f2, 0x9e7d: 0x402d9820, 0x9e7e: 0x4031e220, 0x9e7f: 0x4031f020,\n\t// Block 0x27a, offset 0x9e80\n\t0x9e80: 0xa0000000, 0x9e81: 0xa0000000, 0x9e82: 0xa0000000, 0x9e83: 0xa0000000,\n\t0x9e84: 0xa0000000, 0x9e85: 0xa0000000, 0x9e86: 0xa0000000, 0x9e87: 0xa0000000,\n\t0x9e88: 0xa0000000, 0x9e89: 0x40020020, 0x9e8a: 0x40020220, 0x9e8b: 0x40020420,\n\t0x9e8c: 0x40020620, 0x9e8d: 0x40020820, 0x9e8e: 0xa0000000, 0x9e8f: 0xa0000000,\n\t0x9e90: 0xa0000000, 0x9e91: 0xa0000000, 0x9e92: 0xa0000000, 0x9e93: 0xa0000000,\n\t0x9e94: 0xa0000000, 0x9e95: 0xa0000000, 0x9e96: 0xa0000000, 0x9e97: 0xa0000000,\n\t0x9e98: 0xa0000000, 0x9e99: 0xa0000000, 0x9e9a: 0xa0000000, 0x9e9b: 0xa0000000,\n\t0x9e9c: 0xa0000000, 0x9e9d: 0xa0000000, 0x9e9e: 0xa0000000, 0x9e9f: 0xa0000000,\n\t0x9ea0: 0x40021220, 0x9ea1: 0x4002ba20, 0x9ea2: 0x4003e020, 0x9ea3: 0x4004ea20,\n\t0x9ea4: 0x4027de20, 0x9ea5: 0x4004ec20, 0x9ea6: 0x4004e620, 0x9ea7: 0x4003d220,\n\t0x9ea8: 0x4003f420, 0x9ea9: 0x4003f620, 0x9eaa: 0x4004d820, 0x9eab: 0x40093820,\n\t0x9eac: 0x40024020, 0x9ead: 0x40021a20, 0x9eae: 0x4002e420, 0x9eaf: 0x4004e220,\n\t0x9eb0: 0x4029cc20, 0x9eb1: 0x4029ce20, 0x9eb2: 0x4029d020, 0x9eb3: 0x4029d220,\n\t0x9eb4: 0x4029d420, 0x9eb5: 0x4029d620, 0x9eb6: 0x4029d820, 0x9eb7: 0x4029da20,\n\t0x9eb8: 0x4029dc20, 0x9eb9: 0x4029de20, 0x9eba: 0x40026c20, 0x9ebb: 0x40026220,\n\t0x9ebc: 0x40094020, 0x9ebd: 0x40094220, 0x9ebe: 0x40094420, 0x9ebf: 0x4002c420,\n\t// Block 0x27b, offset 0x9ec0\n\t0x9ec0: 0x4004d620, 0x9ec1: 0x002bde83, 0x9ec2: 0x002c0a88, 0x9ec3: 0x002c3a88,\n\t0x9ec4: 0x002c6288, 0x9ec5: 0x002be083, 0x9ec6: 0x002d0888, 0x9ec7: 0x002d2288,\n\t0x9ec8: 0x002be883, 0x9ec9: 0x002be283, 0x9eca: 0x002dcc88, 0x9ecb: 0x002bea83,\n\t0x9ecc: 0xc5950002, 0x9ecd: 0x002bee83, 0x9ece: 0x002bf083, 0x9ecf: 0x002be483,\n\t0x9ed0: 0x002bf283, 0x9ed1: 0x002f5688, 0x9ed2: 0x002f7a88, 0x9ed3: 0x002fe688,\n\t0x9ed4: 0x00302c88, 0x9ed5: 0x002be683, 0x9ed6: 0x0030be88, 0x9ed7: 0x002bf483,\n\t0x9ed8: 0x0030f688, 0x9ed9: 0x00310088, 0x9eda: 0x00312a88, 0x9edb: 0x4003f820,\n\t0x9edc: 0x4004e420, 0x9edd: 0x4003fa20, 0x9ede: 0x40062420, 0x9edf: 0x40021620,\n\t0x9ee0: 0x40061e20, 0x9ee1: 0x402bde20, 0x9ee2: 0x402c0a20, 0x9ee3: 0x402c3a20,\n\t0x9ee4: 0x402c6220, 0x9ee5: 0x402be020, 0x9ee6: 0x402d0820, 0x9ee7: 0x402d2220,\n\t0x9ee8: 0x402be820, 0x9ee9: 0x402be220, 0x9eea: 0x402dcc20, 0x9eeb: 0x402bea20,\n\t0x9eec: 0xc5920002, 0x9eed: 0x402bee20, 0x9eee: 0x402bf020, 0x9eef: 0x402be420,\n\t0x9ef0: 0x402bf220, 0x9ef1: 0x402f5620, 0x9ef2: 0x402f7a20, 0x9ef3: 0x402fe620,\n\t0x9ef4: 0x40302c20, 0x9ef5: 0x402be620, 0x9ef6: 0x4030be20, 0x9ef7: 0x402bf420,\n\t0x9ef8: 0x4030f620, 0x9ef9: 0x40310020, 0x9efa: 0x40312a20, 0x9efb: 0x4003fc20,\n\t0x9efc: 0x40094820, 0x9efd: 0x4003fe20, 0x9efe: 0x40094c20, 0x9eff: 0xa0000000,\n\t// Block 0x27c, offset 0x9f00\n\t0x9f00: 0xe000382a, 0x9f01: 0xe0003827, 0x9f02: 0xe0003840, 0x9f03: 0xe0003864,\n\t0x9f04: 0xe000385d, 0x9f05: 0xe0003856, 0x9f06: 0xe00009dd, 0x9f07: 0xe0000a53,\n\t0x9f08: 0xe0003894, 0x9f09: 0xe000388e, 0x9f0a: 0xe00038a0, 0x9f0b: 0xe00038cc,\n\t0x9f0c: 0xe000393a, 0x9f0d: 0xe0003934, 0x9f0e: 0xe0003946, 0x9f0f: 0xe0003952,\n\t0x9f10: 0xe0000ab3, 0x9f11: 0xe0003be8, 0x9f12: 0xe0003999, 0x9f13: 0xe0003993,\n\t0x9f14: 0xe00039a5, 0x9f15: 0xe00039e5, 0x9f16: 0xe00039d1, 0x9f17: 0x40093e20,\n\t0x9f18: 0xe0000e12, 0x9f19: 0xe0003a89, 0x9f1a: 0xe0003a83, 0x9f1b: 0xe0003a95,\n\t0x9f1c: 0xe0003aa7, 0x9f1d: 0xe0001102, 0x9f1e: 0x00318888, 0x9f1f: 0xe0000f7b,\n\t0x9f20: 0xe00008f2, 0x9f21: 0xe00008ec, 0x9f22: 0xe000091e, 0x9f23: 0xe0000966,\n\t0x9f24: 0xe0000958, 0x9f25: 0xe000094a, 0x9f26: 0xe00009d5, 0x9f27: 0xe0000a4d,\n\t0x9f28: 0xe0003891, 0x9f29: 0xe000388b, 0x9f2a: 0xe000389d, 0x9f2b: 0xe00038c9,\n\t0x9f2c: 0xe0003937, 0x9f2d: 0xe0003931, 0x9f2e: 0xe0003943, 0x9f2f: 0xe000394f,\n\t0x9f30: 0xe0000aad, 0x9f31: 0xe0003be5, 0x9f32: 0xe0003996, 0x9f33: 0xe0003990,\n\t0x9f34: 0xe00039a2, 0x9f35: 0xe00039e2, 0x9f36: 0xe00039ce, 0x9f37: 0x40093c20,\n\t0x9f38: 0xe0000e0f, 0x9f39: 0xe0003a86, 0x9f3a: 0xe0003a80, 0x9f3b: 0xe0003a92,\n\t0x9f3c: 0xe0003aa4, 0x9f3d: 0xe00010ff, 0x9f3e: 0x40318820, 0x9f3f: 0xe0001114,\n\t// Block 0x27d, offset 0x9f40\n\t0x9f40: 0xe0003871, 0x9f41: 0xe0000980, 0x9f42: 0xe000382d, 0x9f43: 0xe00008f8,\n\t0x9f44: 0xe000386e, 0x9f45: 0xe000097a, 0x9f46: 0xe0000a38, 0x9f47: 0xe0000a35,\n\t0x9f48: 0xe0000a3e, 0x9f49: 0xe0000a3b, 0x9f4a: 0xe0000a4a, 0x9f4b: 0xe0000a47,\n\t0x9f4c: 0xe0000a44, 0x9f4d: 0xe0000a41, 0x9f4e: 0xe0000a86, 0x9f4f: 0xe0000a83,\n\t0x9f50: 0xe0000aaa, 0x9f51: 0xe0000aa7, 0x9f52: 0xe00038f2, 0x9f53: 0xe00038ef,\n\t0x9f54: 0xe000389a, 0x9f55: 0xe0003897, 0x9f56: 0xe00038d8, 0x9f57: 0xe00038d5,\n\t0x9f58: 0xe00038ec, 0x9f59: 0xe00038e9, 0x9f5a: 0xe00038c6, 0x9f5b: 0xe00038c3,\n\t0x9f5c: 0xe0000bb8, 0x9f5d: 0xe0000bb5, 0x9f5e: 0xe0000bb2, 0x9f5f: 0xe0000baf,\n\t0x9f60: 0xe0000bc4, 0x9f61: 0xe0000bc1, 0x9f62: 0xe0000bca, 0x9f63: 0xe0000bc7,\n\t0x9f64: 0xe0003b4d, 0x9f65: 0xe0003b4a, 0x9f66: 0xe0000c1b, 0x9f67: 0xe0000c18,\n\t0x9f68: 0xe0003960, 0x9f69: 0xe000395d, 0x9f6a: 0xe000396f, 0x9f6b: 0xe000396c,\n\t0x9f6c: 0xe0003940, 0x9f6d: 0xe000393d, 0x9f6e: 0xe0003969, 0x9f6f: 0xe0003966,\n\t0x9f70: 0xe0003963, 0x9f71: 0x402da220, 0x9f72: 0xe00027e2, 0x9f73: 0xe00027df,\n\t0x9f74: 0xe0000c8a, 0x9f75: 0xe0000c87, 0x9f76: 0xe0003b86, 0x9f77: 0xe0003b83,\n\t0x9f78: 0x402f7220, 0x9f79: 0xe0003b98, 0x9f7a: 0xe0003b95, 0x9f7b: 0xe0003ba4,\n\t0x9f7c: 0xe0003ba1, 0x9f7d: 0xe0003b9e, 0x9f7e: 0xe0003b9b, 0x9f7f: 0xe0000d04,\n\t// Block 0x27e, offset 0x9f80\n\t0x9f80: 0xe0000cfe, 0x9f81: 0xe0000cf8, 0x9f82: 0xe0000cf5, 0x9f83: 0xe0003bd6,\n\t0x9f84: 0xe0003bd3, 0x9f85: 0xe0003bf4, 0x9f86: 0xe0003bf1, 0x9f87: 0xe0003be2,\n\t0x9f88: 0xe0003bdf, 0x9f89: 0xe00035eb, 0x9f8a: 0x002eda88, 0x9f8b: 0x402eda20,\n\t0x9f8c: 0xe0003a1f, 0x9f8d: 0xe0003a1c, 0x9f8e: 0xe000399f, 0x9f8f: 0xe000399c,\n\t0x9f90: 0xe00039df, 0x9f91: 0xe00039dc, 0x9f92: 0xe0000e93, 0x9f93: 0xe0000e8f,\n\t0x9f94: 0xe0000eca, 0x9f95: 0xe0000ec7, 0x9f96: 0xe0000edc, 0x9f97: 0xe0000ed9,\n\t0x9f98: 0xe0000ed0, 0x9f99: 0xe0000ecd, 0x9f9a: 0xe0000f1f, 0x9f9b: 0xe0000f1c,\n\t0x9f9c: 0xe0000f2d, 0x9f9d: 0xe0000f2a, 0x9f9e: 0xe0000f47, 0x9f9f: 0xe0000f44,\n\t0x9fa0: 0xe0000f33, 0x9fa1: 0xe0000f30, 0x9fa2: 0xe0000f99, 0x9fa3: 0xe0000f96,\n\t0x9fa4: 0xe0000f8a, 0x9fa5: 0xe0000f87, 0x9fa6: 0x00303688, 0x9fa7: 0x40303620,\n\t0x9fa8: 0xe0003ad3, 0x9fa9: 0xe0003ad0, 0x9faa: 0xe0003ae7, 0x9fab: 0xe0003ae4,\n\t0x9fac: 0xe0003a8f, 0x9fad: 0xe0003a8c, 0x9fae: 0xe0003aa1, 0x9faf: 0xe0003a9e,\n\t0x9fb0: 0xe0003acd, 0x9fb1: 0xe0003aca, 0x9fb2: 0xe0003ae1, 0x9fb3: 0xe0003ade,\n\t0x9fb4: 0xe0003c24, 0x9fb5: 0xe0003c21, 0x9fb6: 0xe000110e, 0x9fb7: 0xe000110b,\n\t0x9fb8: 0xe0001117, 0x9fb9: 0xe000113b, 0x9fba: 0xe0001138, 0x9fbb: 0xe000114d,\n\t0x9fbc: 0xe000114a, 0x9fbd: 0xe0001147, 0x9fbe: 0xe0001144, 0x9fbf: 0xe0000f64,\n\t// Block 0x27f, offset 0x9fc0\n\t0x9fc0: 0x402c1a20, 0x9fc1: 0x002c2a88, 0x9fc2: 0x002c3288, 0x9fc3: 0x402c3220,\n\t0x9fc4: 0x0031c488, 0x9fc5: 0x4031c420, 0x9fc6: 0x002efa88, 0x9fc7: 0x002c4e88,\n\t0x9fc8: 0x402c4e20, 0x9fc9: 0x002c7288, 0x9fca: 0x002c7a88, 0x9fcb: 0x002c8488,\n\t0x9fcc: 0x402c8420, 0x9fcd: 0xe000115c, 0x9fce: 0x002cae88, 0x9fcf: 0x002cb888,\n\t0x9fd0: 0x002cc288, 0x9fd1: 0x002d1688, 0x9fd2: 0x402d1620, 0x9fd3: 0x002d4488,\n\t0x9fd4: 0x002d5888, 0x9fd5: 0x402d7820, 0x9fd6: 0x002dc288, 0x9fd7: 0x002db688,\n\t0x9fd8: 0x002e0a88, 0x9fd9: 0x402e0a20, 0x9fda: 0x402e3820, 0x9fdb: 0x402e7220,\n\t0x9fdc: 0x0030a088, 0x9fdd: 0x002eb488, 0x9fde: 0x402ebc20, 0x9fdf: 0x002f1088,\n\t0x9fe0: 0xe0003a47, 0x9fe1: 0xe0003a44, 0x9fe2: 0x002d6088, 0x9fe3: 0x402d6020,\n\t0x9fe4: 0x002f3e88, 0x9fe5: 0x402f3e20, 0x9fe6: 0x002f8288, 0x9fe7: 0x0031b488,\n\t0x9fe8: 0x4031b420, 0x9fe9: 0x00300888, 0x9fea: 0x40301220, 0x9feb: 0x40304220,\n\t0x9fec: 0x00304a88, 0x9fed: 0x40304a20, 0x9fee: 0x00305288, 0x9fef: 0xe0003b07,\n\t0x9ff0: 0xe0003b04, 0x9ff1: 0x0030b488, 0x9ff2: 0x0030cc88, 0x9ff3: 0x00311888,\n\t0x9ff4: 0x40311820, 0x9ff5: 0x00313488, 0x9ff6: 0x40313420, 0x9ff7: 0x00316488,\n\t0x9ff8: 0x00316e88, 0x9ff9: 0x40316e20, 0x9ffa: 0x40317820, 0x9ffb: 0x4031a620,\n\t0x9ffc: 0x0031bc88, 0x9ffd: 0x4031bc20, 0x9ffe: 0xe0000fc9, 0x9fff: 0x40319420,\n\t// Block 0x280, offset 0xa000\n\t0xa000: 0x40321220, 0xa001: 0x40321a20, 0xa002: 0x40322220, 0xa003: 0x40322a20,\n\t0xa004: 0xe0000ad5, 0xa005: 0xe0000ad1, 0xa006: 0xe0000acd, 0xa007: 0xe000357f,\n\t0xa008: 0xe000357c, 0xa009: 0xe0003579, 0xa00a: 0xe00035c4, 0xa00b: 0xe00035c1,\n\t0xa00c: 0xe00035be, 0xa00d: 0xe0003853, 0xa00e: 0xe0000944, 0xa00f: 0xe000394c,\n\t0xa010: 0xe0003949, 0xa011: 0xe00039cb, 0xa012: 0xe00039c8, 0xa013: 0xe0003a9b,\n\t0xa014: 0xe0003a98, 0xa015: 0xe0003ac6, 0xa016: 0xe0003ac2, 0xa017: 0xe0003aae,\n\t0xa018: 0xe0003aaa, 0xa019: 0xe0003abe, 0xa01a: 0xe0003aba, 0xa01b: 0xe0003ab6,\n\t0xa01c: 0xe0003ab2, 0xa01d: 0x402cae20, 0xa01e: 0xe0003860, 0xa01f: 0xe000095e,\n\t0xa020: 0xe000386a, 0xa021: 0xe0000972, 0xa022: 0xe00009f4, 0xa023: 0xe00009ef,\n\t0xa024: 0x002d3a88, 0xa025: 0x402d3a20, 0xa026: 0xe0000bbe, 0xa027: 0xe0000bbb,\n\t0xa028: 0xe0003b80, 0xa029: 0xe0003b7d, 0xa02a: 0xe0003a11, 0xa02b: 0xe0003a0e,\n\t0xa02c: 0xe0003a18, 0xa02d: 0xe0003a14, 0xa02e: 0xe0001162, 0xa02f: 0xe000115f,\n\t0xa030: 0xe0000c8d, 0xa031: 0xf0000a0a, 0xa032: 0xf000040a, 0xa033: 0xf0000404,\n\t0xa034: 0xe0000bac, 0xa035: 0xe0000ba9, 0xa036: 0x002d7888, 0xa037: 0x00319488,\n\t0xa038: 0xe0003bdc, 0xa039: 0xe0003bd9, 0xa03a: 0xe0003859, 0xa03b: 0xe0000950,\n\t0xa03c: 0xe00009ea, 0xa03d: 0xe00009e5, 0xa03e: 0xe0000e19, 0xa03f: 0xe0000e15,\n\t// Block 0x281, offset 0xa040\n\t0xa040: 0xe0003877, 0xa041: 0xe000098c, 0xa042: 0xe000387a, 0xa043: 0xe0000992,\n\t0xa044: 0xe000390e, 0xa045: 0xe000390b, 0xa046: 0xe0003914, 0xa047: 0xe0003911,\n\t0xa048: 0xe000397b, 0xa049: 0xe0003978, 0xa04a: 0xe0003981, 0xa04b: 0xe000397e,\n\t0xa04c: 0xe0003a3b, 0xa04d: 0xe0003a38, 0xa04e: 0xe0003a41, 0xa04f: 0xe0003a3e,\n\t0xa050: 0xe0000ee8, 0xa051: 0xe0000ee5, 0xa052: 0xe0000eee, 0xa053: 0xe0000eeb,\n\t0xa054: 0xe0003afb, 0xa055: 0xe0003af8, 0xa056: 0xe0003b01, 0xa057: 0xe0003afe,\n\t0xa058: 0xe0000f61, 0xa059: 0xe0000f5e, 0xa05a: 0xe0000fa5, 0xa05b: 0xe0000fa2,\n\t0xa05c: 0x00312288, 0xa05d: 0x40312220, 0xa05e: 0xe0003b53, 0xa05f: 0xe0003b50,\n\t0xa060: 0x002ebc88, 0xa061: 0x402c8c20, 0xa062: 0x002f2288, 0xa063: 0x402f2220,\n\t0xa064: 0x00314088, 0xa065: 0x40314020, 0xa066: 0xe0003867, 0xa067: 0xe000096c,\n\t0xa068: 0xe00038de, 0xa069: 0xe00038db, 0xa06a: 0xe00039d8, 0xa06b: 0xe00039d4,\n\t0xa06c: 0xe00039fc, 0xa06d: 0xe00039f8, 0xa06e: 0xe0003a03, 0xa06f: 0xe0003a00,\n\t0xa070: 0xe0003a0a, 0xa071: 0xe0003a06, 0xa072: 0xe0001129, 0xa073: 0xe0001126,\n\t0xa074: 0x402e5e20, 0xa075: 0x402ed020, 0xa076: 0x40305a20, 0xa077: 0x402dd420,\n\t0xa078: 0xe0000abf, 0xa079: 0xe0000ec4, 0xa07a: 0x002be888, 0xa07b: 0x002c4488,\n\t0xa07c: 0x402c4420, 0xa07d: 0x002e3888, 0xa07e: 0x00303e88, 0xa07f: 0x402ffc20,\n\t// Block 0x282, offset 0xa080\n\t0xa080: 0x402f8220, 0xa081: 0x402fd820, 0xa082: 0x402ff420, 0xa083: 0x40300820,\n\t0xa084: 0x402df620, 0xa085: 0x40301a20, 0xa086: 0x40302420, 0xa087: 0x40306420,\n\t0xa088: 0x40305220, 0xa089: 0x40307c20, 0xa08a: 0x4030b420, 0xa08b: 0x4030cc20,\n\t0xa08c: 0x4030da20, 0xa08d: 0x4030ee20, 0xa08e: 0x402e7a20, 0xa08f: 0x40310820,\n\t0xa090: 0x40314820, 0xa091: 0x40315020, 0xa092: 0x40316420, 0xa093: 0x40318020,\n\t0xa094: 0x4031cc20, 0xa095: 0x4031e820, 0xa096: 0x40320a20, 0xa097: 0x40323220,\n\t0xa098: 0x40323a20, 0xa099: 0x402c1220, 0xa09a: 0x402cf820, 0xa09b: 0x402d4c20,\n\t0xa09c: 0x402d7020, 0xa09d: 0x402de620, 0xa09e: 0x402e1a20, 0xa09f: 0x402e2a20,\n\t0xa0a0: 0x402f6220, 0xa0a1: 0x4031fa20, 0xa0a2: 0x40320220, 0xa0a3: 0xe0000aca,\n\t0xa0a4: 0xe0000adc, 0xa0a5: 0xe0000ad9, 0xa0a6: 0xe0000fcc, 0xa0a7: 0xe0000fcf,\n\t0xa0a8: 0xe0000fba, 0xa0a9: 0xe0000ba1, 0xa0aa: 0xe0000d11, 0xa0ab: 0xe0000d18,\n\t0xa0ac: 0x40324220, 0xa0ad: 0x40324a20, 0xa0ae: 0x40309020, 0xa0af: 0x40309820,\n\t0xa0b0: 0x002d6894, 0xa0b1: 0x002d8094, 0xa0b2: 0x002dcc94, 0xa0b3: 0x002f7a94,\n\t0xa0b4: 0x002f9894, 0xa0b5: 0x002fac94, 0xa0b6: 0x002fd894, 0xa0b7: 0x0030e294,\n\t0xa0b8: 0x00310094, 0xa0b9: 0x40064020, 0xa0ba: 0x40064420, 0xa0bb: 0x402bf620,\n\t0xa0bc: 0x4031de20, 0xa0bd: 0x402d9820, 0xa0be: 0x4031e220, 0xa0bf: 0x4031f020,\n\t// Block 0x283, offset 0xa0c0\n\t0xa0c0: 0xe0003888, 0xa0c1: 0xe00009ae, 0xa0c2: 0xe0000a22, 0xa0c3: 0xe0000a1f,\n\t0xa0c4: 0xe0000a28, 0xa0c5: 0xe0000a25, 0xa0c6: 0xe0000a2e, 0xa0c7: 0xe0000a2b,\n\t0xa0c8: 0xe0000a5a, 0xa0c9: 0xe0000a56, 0xa0ca: 0xe0000a8c, 0xa0cb: 0xe0000a89,\n\t0xa0cc: 0xe0000a98, 0xa0cd: 0xe0000a95, 0xa0ce: 0xe0000aa4, 0xa0cf: 0xe0000aa1,\n\t0xa0d0: 0xe0000a92, 0xa0d1: 0xe0000a8f, 0xa0d2: 0xe0000a9e, 0xa0d3: 0xe0000a9b,\n\t0xa0d4: 0xe0003901, 0xa0d5: 0xe00038fd, 0xa0d6: 0xe00038f9, 0xa0d7: 0xe00038f5,\n\t0xa0d8: 0xe0003928, 0xa0d9: 0xe0003925, 0xa0da: 0xe000392e, 0xa0db: 0xe000392b,\n\t0xa0dc: 0xe00038e5, 0xa0dd: 0xe00038e1, 0xa0de: 0xe0000b8c, 0xa0df: 0xe0000b89,\n\t0xa0e0: 0xe0000bd0, 0xa0e1: 0xe0000bcd, 0xa0e2: 0xe0003b5f, 0xa0e3: 0xe0003b5c,\n\t0xa0e4: 0xe0003b6b, 0xa0e5: 0xe0003b68, 0xa0e6: 0xe0003b59, 0xa0e7: 0xe0003b56,\n\t0xa0e8: 0xe0003b65, 0xa0e9: 0xe0003b62, 0xa0ea: 0xe0003b71, 0xa0eb: 0xe0003b6e,\n\t0xa0ec: 0xe000398d, 0xa0ed: 0xe000398a, 0xa0ee: 0xe0003959, 0xa0ef: 0xe0003955,\n\t0xa0f0: 0xe0003b7a, 0xa0f1: 0xe0003b77, 0xa0f2: 0xe0003b8c, 0xa0f3: 0xe0003b89,\n\t0xa0f4: 0xe0003b92, 0xa0f5: 0xe0003b8f, 0xa0f6: 0xe0003baa, 0xa0f7: 0xe0003ba7,\n\t0xa0f8: 0xe0003bb1, 0xa0f9: 0xe0003bad, 0xa0fa: 0xe0003bbe, 0xa0fb: 0xe0003bbb,\n\t0xa0fc: 0xe0003bb8, 0xa0fd: 0xe0003bb5, 0xa0fe: 0xe0003bc4, 0xa0ff: 0xe0003bc1,\n\t// Block 0x284, offset 0xa100\n\t0xa100: 0xe0003bca, 0xa101: 0xe0003bc7, 0xa102: 0xe0003bd0, 0xa103: 0xe0003bcd,\n\t0xa104: 0xe0003bee, 0xa105: 0xe0003beb, 0xa106: 0xe0003bfa, 0xa107: 0xe0003bf7,\n\t0xa108: 0xe0003c06, 0xa109: 0xe0003c03, 0xa10a: 0xe0003c00, 0xa10b: 0xe0003bfd,\n\t0xa10c: 0xe00039ec, 0xa10d: 0xe00039e8, 0xa10e: 0xe00039f4, 0xa10f: 0xe00039f0,\n\t0xa110: 0xe0003a2e, 0xa111: 0xe0003a2a, 0xa112: 0xe0003a26, 0xa113: 0xe0003a22,\n\t0xa114: 0xe0003c0c, 0xa115: 0xe0003c09, 0xa116: 0xe0003c12, 0xa117: 0xe0003c0f,\n\t0xa118: 0xe0000ed6, 0xa119: 0xe0000ed3, 0xa11a: 0xe0000ef4, 0xa11b: 0xe0000ef1,\n\t0xa11c: 0xe0000efb, 0xa11d: 0xe0000ef7, 0xa11e: 0xe0000f02, 0xa11f: 0xe0000eff,\n\t0xa120: 0xe0000f41, 0xa121: 0xe0000f3e, 0xa122: 0xe0000f53, 0xa123: 0xe0000f50,\n\t0xa124: 0xe0000f26, 0xa125: 0xe0000f22, 0xa126: 0xe0000f3a, 0xa127: 0xe0000f36,\n\t0xa128: 0xe0000f5a, 0xa129: 0xe0000f56, 0xa12a: 0xe0000f93, 0xa12b: 0xe0000f90,\n\t0xa12c: 0xe0000f9f, 0xa12d: 0xe0000f9c, 0xa12e: 0xe0000fb1, 0xa12f: 0xe0000fae,\n\t0xa130: 0xe0000fab, 0xa131: 0xe0000fa8, 0xa132: 0xe0003b3b, 0xa133: 0xe0003b38,\n\t0xa134: 0xe0003b47, 0xa135: 0xe0003b44, 0xa136: 0xe0003b41, 0xa137: 0xe0003b3e,\n\t0xa138: 0xe0003ada, 0xa139: 0xe0003ad6, 0xa13a: 0xe0003aee, 0xa13b: 0xe0003aea,\n\t0xa13c: 0xe00010a9, 0xa13d: 0xe00010a6, 0xa13e: 0xe00010af, 0xa13f: 0xe00010ac,\n\t// Block 0x285, offset 0xa140\n\t0xa140: 0xe0003c1e, 0xa141: 0xe0003c1b, 0xa142: 0xe0003c18, 0xa143: 0xe0003c15,\n\t0xa144: 0xe0003c2d, 0xa145: 0xe0003c2a, 0xa146: 0xe0003c33, 0xa147: 0xe0003c30,\n\t0xa148: 0xe0003c39, 0xa149: 0xe0003c36, 0xa14a: 0xe00010fc, 0xa14b: 0xe00010f9,\n\t0xa14c: 0xe00010f6, 0xa14d: 0xe00010f3, 0xa14e: 0xe0001123, 0xa14f: 0xe0001120,\n\t0xa150: 0xe0001141, 0xa151: 0xe000113e, 0xa152: 0xe0001153, 0xa153: 0xe0001150,\n\t0xa154: 0xe0001159, 0xa155: 0xe0001156, 0xa156: 0xe0003b74, 0xa157: 0xe0000f8d,\n\t0xa158: 0xe0003c27, 0xa159: 0xe0001111, 0xa15a: 0xf0000404, 0xa15b: 0xe0000f70,\n\t0xa15c: 0x40300420, 0xa15d: 0x40300620, 0xa15e: 0xe0000f7f, 0xa15f: 0x402c9620,\n\t0xa160: 0xe000387d, 0xa161: 0xe0000998, 0xa162: 0xe0003874, 0xa163: 0xe0000986,\n\t0xa164: 0xe0003843, 0xa165: 0xe0000924, 0xa166: 0xe0003847, 0xa167: 0xe000092c,\n\t0xa168: 0xe000384f, 0xa169: 0xe000093c, 0xa16a: 0xe000384b, 0xa16b: 0xe0000934,\n\t0xa16c: 0xe0003884, 0xa16d: 0xe00009a6, 0xa16e: 0xe0003830, 0xa16f: 0xe00008fe,\n\t0xa170: 0xe0003834, 0xa171: 0xe0000906, 0xa172: 0xe000383c, 0xa173: 0xe0000916,\n\t0xa174: 0xe0003838, 0xa175: 0xe000090e, 0xa176: 0xe0003880, 0xa177: 0xe000099e,\n\t0xa178: 0xe000391a, 0xa179: 0xe0003917, 0xa17a: 0xe0003908, 0xa17b: 0xe0003905,\n\t0xa17c: 0xe00038d2, 0xa17d: 0xe00038cf, 0xa17e: 0xe00038a7, 0xa17f: 0xe00038a3,\n\t// Block 0x286, offset 0xa180\n\t0xa180: 0xe00038af, 0xa181: 0xe00038ab, 0xa182: 0xe00038bf, 0xa183: 0xe00038bb,\n\t0xa184: 0xe00038b7, 0xa185: 0xe00038b3, 0xa186: 0xe0003921, 0xa187: 0xe000391d,\n\t0xa188: 0xe0003975, 0xa189: 0xe0003972, 0xa18a: 0xe0003987, 0xa18b: 0xe0003984,\n\t0xa18c: 0xe0003a75, 0xa18d: 0xe0003a72, 0xa18e: 0xe0003a35, 0xa18f: 0xe0003a32,\n\t0xa190: 0xe00039ac, 0xa191: 0xe00039a8, 0xa192: 0xe00039b4, 0xa193: 0xe00039b0,\n\t0xa194: 0xe00039c4, 0xa195: 0xe00039c0, 0xa196: 0xe00039bc, 0xa197: 0xe00039b8,\n\t0xa198: 0xe0003a7c, 0xa199: 0xe0003a78, 0xa19a: 0xe0003a4e, 0xa19b: 0xe0003a4a,\n\t0xa19c: 0xe0003a56, 0xa19d: 0xe0003a52, 0xa19e: 0xe0003a66, 0xa19f: 0xe0003a62,\n\t0xa1a0: 0xe0003a5e, 0xa1a1: 0xe0003a5a, 0xa1a2: 0xe0003a6e, 0xa1a3: 0xe0003a6a,\n\t0xa1a4: 0xe0003b35, 0xa1a5: 0xe0003b32, 0xa1a6: 0xe0003af5, 0xa1a7: 0xe0003af2,\n\t0xa1a8: 0xe0003b0e, 0xa1a9: 0xe0003b0a, 0xa1aa: 0xe0003b16, 0xa1ab: 0xe0003b12,\n\t0xa1ac: 0xe0003b26, 0xa1ad: 0xe0003b22, 0xa1ae: 0xe0003b1e, 0xa1af: 0xe0003b1a,\n\t0xa1b0: 0xe0003b2e, 0xa1b1: 0xe0003b2a, 0xa1b2: 0xe0001108, 0xa1b3: 0xe0001105,\n\t0xa1b4: 0xe0001135, 0xa1b5: 0xe0001132, 0xa1b6: 0xe000112f, 0xa1b7: 0xe000112c,\n\t0xa1b8: 0xe000111d, 0xa1b9: 0xe000111a, 0xa1ba: 0xe0000d0a, 0xa1bb: 0xe0000d07,\n\t0xa1bc: 0x0030d888, 0xa1bd: 0x4030d820, 0xa1be: 0x00312088, 0xa1bf: 0x40312020,\n\t// Block 0x287, offset 0xa1c0\n\t0xa1c0: 0xe00009bc, 0xa1c1: 0xe00009c0, 0xa1c2: 0x002c3a8b, 0xa1c3: 0xf0000a04,\n\t0xa1c4: 0x40081c20, 0xa1c5: 0xe0000a5e, 0xa1c6: 0xe0000a62, 0xa1c7: 0x002cc28a,\n\t0xa1c8: 0x40081e20, 0xa1c9: 0xf0000a04, 0xa1ca: 0x002d2285, 0xa1cb: 0x002d688b,\n\t0xa1cc: 0x002d688b, 0xa1cd: 0x002d688b, 0xa1ce: 0x002d6885, 0xa1cf: 0xf0000202,\n\t0xa1d0: 0x002d9a8b, 0xa1d1: 0x002d9a8b, 0xa1d2: 0x002e228b, 0xa1d3: 0x002e2285,\n\t0xa1d4: 0x40082020, 0xa1d5: 0x002e9e8b, 0xa1d6: 0xe000281e, 0xa1d7: 0x40082220,\n\t0xa1d8: 0x40082420, 0xa1d9: 0x002f2c8b, 0xa1da: 0x002f568b, 0xa1db: 0x002f7a8b,\n\t0xa1dc: 0x002f7a8b, 0xa1dd: 0x002f7a8b, 0xa1de: 0x40082620, 0xa1df: 0x40082820,\n\t0xa1e0: 0xe0002833, 0xa1e1: 0xe0000fbd, 0xa1e2: 0xe0002842, 0xa1e3: 0x40082a20,\n\t0xa1e4: 0x00312a8b, 0xa1e5: 0x40082c20, 0xa1e6: 0x0032a288, 0xa1e7: 0x40082e20,\n\t0xa1e8: 0x00312a8b, 0xa1e9: 0x40083020, 0xa1ea: 0x002bea83, 0xa1eb: 0xe0003856,\n\t0xa1ec: 0x002c0a8b, 0xa1ed: 0x002c3a8b, 0xa1ee: 0x40083220, 0xa1ef: 0x002c9885,\n\t0xa1f0: 0x002c988b, 0xa1f1: 0x002d088b, 0xa1f2: 0x002d1e88, 0xa1f3: 0x002e828b,\n\t0xa1f4: 0x002ee285, 0xa1f5: 0x00389084, 0xa1f6: 0x00389284, 0xa1f7: 0x00389484,\n\t0xa1f8: 0x00389684, 0xa1f9: 0x002d9a85, 0xa1fa: 0x40083420, 0xa1fb: 0xe0000b95,\n\t0xa1fc: 0x00327e85, 0xa1fd: 0x00325685, 0xa1fe: 0x0032568b, 0xa1ff: 0x00327e8b,\n\t// Block 0x288, offset 0xa200\n\t0xa200: 0xe0000024, 0xa201: 0xe0000029, 0xa202: 0xe000002e, 0xa203: 0xe0000033,\n\t0xa204: 0xe0000038, 0xa205: 0xe000003d, 0xa206: 0xe0000042, 0xa207: 0xe0000047,\n\t0xa208: 0xf0001f04, 0xa209: 0xf0001f04, 0xa20a: 0xf0001f04, 0xa20b: 0xf0001f04,\n\t0xa20c: 0xf0001f04, 0xa20d: 0xf0001f04, 0xa20e: 0xf0001f04, 0xa20f: 0xf0001f04,\n\t0xa210: 0xf0001f04, 0xa211: 0xf0000404, 0xa212: 0xf0000404, 0xa213: 0xf0000404,\n\t0xa214: 0xf0000404, 0xa215: 0xf0000404, 0xa216: 0xf0000404, 0xa217: 0xf0000404,\n\t0xa218: 0xf0000404, 0xa219: 0xf0000404, 0xa21a: 0xf0000404, 0xa21b: 0xf0000404,\n\t0xa21c: 0xf0000404, 0xa21d: 0xf0000404, 0xa21e: 0xf0000404, 0xa21f: 0xf0000404,\n\t0xa220: 0xe000249f, 0xa221: 0xf0000404, 0xa222: 0xf0000404, 0xa223: 0xe00024a7,\n\t0xa224: 0xe00024af, 0xa225: 0xf0000404, 0xa226: 0xe00024b7, 0xa227: 0xe0002c16,\n\t0xa228: 0xe0002c1e, 0xa229: 0xe0002c26, 0xa22a: 0xe00024bf, 0xa22b: 0xe0002c2e,\n\t0xa22c: 0xf0000404, 0xa22d: 0xf0000404, 0xa22e: 0xf0000404, 0xa22f: 0xf0000404,\n\t0xa230: 0xe0002c36, 0xa231: 0xf0000404, 0xa232: 0xe0002c46, 0xa233: 0xf0000404,\n\t0xa234: 0xf0000404, 0xa235: 0xf0000404, 0xa236: 0x002bde8c, 0xa237: 0x002c0a8c,\n\t0xa238: 0x002c3a8c, 0xa239: 0x002c628c, 0xa23a: 0x002c988c, 0xa23b: 0x002d088c,\n\t0xa23c: 0x002d228c, 0xa23d: 0x002d688c, 0xa23e: 0x002d9a8c, 0xa23f: 0x002dcc8c,\n\t// Block 0x289, offset 0xa240\n\t0xa240: 0xe000230b, 0xa241: 0xe00022f8, 0xa242: 0xe00022fc, 0xa243: 0xe0002311,\n\t0xa244: 0xe0002316, 0xa245: 0xe000231d, 0xa246: 0xe0002321, 0xa247: 0xe0002325,\n\t0xa248: 0xe000232b, 0xa249: 0xf0001c1c, 0xa24a: 0xe0002330, 0xa24b: 0xe000233c,\n\t0xa24c: 0xe0002340, 0xa24d: 0xe0002337, 0xa24e: 0xe0002346, 0xa24f: 0xe000234b,\n\t0xa250: 0xe000234f, 0xa251: 0xe0002353, 0xa252: 0xf0001c1c, 0xa253: 0xe000235e,\n\t0xa254: 0xe0002358, 0xa255: 0xf0001c1c, 0xa256: 0xe0002363, 0xa257: 0xe000236d,\n\t0xa258: 0xf0001f04, 0xa259: 0xf0001f04, 0xa25a: 0xf0001f04, 0xa25b: 0xf0001f04,\n\t0xa25c: 0xf0001f04, 0xa25d: 0xf0001f04, 0xa25e: 0xf0001f04, 0xa25f: 0xf0001f04,\n\t0xa260: 0xf0001f04, 0xa261: 0xf0001f04, 0xa262: 0xf0000404, 0xa263: 0xf0000404,\n\t0xa264: 0xf0000404, 0xa265: 0xf0000404, 0xa266: 0xf0000404, 0xa267: 0xf0000404,\n\t0xa268: 0xf0000404, 0xa269: 0xf0000404, 0xa26a: 0xf0000404, 0xa26b: 0xf0000404,\n\t0xa26c: 0xf0000404, 0xa26d: 0xf0000404, 0xa26e: 0xf0000404, 0xa26f: 0xf0000404,\n\t0xa270: 0xf0000404, 0xa271: 0xe0000c1e, 0xa272: 0xf0001c1c, 0xa273: 0xe0002f0d,\n\t0xa274: 0xe0000a31, 0xa275: 0xe0002824, 0xa276: 0xe00035d6, 0xa277: 0xe00032a7,\n\t0xa278: 0xe0000ac2, 0xa279: 0xe0000ac6, 0xa27a: 0xe00027e8, 0xa27b: 0xf0001c1c,\n\t0xa27c: 0xf0001c1c, 0xa27d: 0xf0001c1c, 0xa27e: 0xf0001c1c, 0xa27f: 0xe0002431,\n\t// Block 0x28a, offset 0xa280\n\t0xa280: 0xe00035d0, 0xa281: 0xe00035b8, 0xa282: 0xf0001d1c, 0xa283: 0xe000358e,\n\t0xa284: 0xe00027f7, 0xa285: 0xe00027fa, 0xa286: 0xe0003594, 0xa287: 0xf0001d1d,\n\t0xa288: 0xe0000a6b, 0xa289: 0xe0000cb4, 0xa28a: 0xe00035d9, 0xa28b: 0xe00035bb,\n\t0xa28c: 0xf0001d1c, 0xa28d: 0xf0001c1c, 0xa28e: 0xe000359d, 0xa28f: 0xe00027fd,\n\t0xa290: 0xe00027ce, 0xa291: 0xe0000cb9, 0xa292: 0xe0000d36, 0xa293: 0xe0000be3,\n\t0xa294: 0xe0000fc5, 0xa295: 0xe00035f7, 0xa296: 0xe00035a0, 0xa297: 0xe00032a4,\n\t0xa298: 0xe0002803, 0xa299: 0xe0003570, 0xa29a: 0xe00035c7, 0xa29b: 0xe00035fa,\n\t0xa29c: 0xe00035a3, 0xa29d: 0xe0003099, 0xa29e: 0xe0002806, 0xa29f: 0xe0000d3e,\n\t0xa2a0: 0xe0000a72, 0xa2a1: 0xe0003588, 0xa2a2: 0xe0000cbd, 0xa2a3: 0xe0000d42,\n\t0xa2a4: 0xe0000a76, 0xa2a5: 0xe000358b, 0xa2a6: 0xe0000cc1, 0xa2a7: 0xe0000d2d,\n\t0xa2a8: 0xe0000d31, 0xa2a9: 0xe00035d3, 0xa2aa: 0xe0000cc5, 0xa2ab: 0xe0000d4a,\n\t0xa2ac: 0xe0000be7, 0xa2ad: 0xe0000f0b, 0xa2ae: 0xe0000f0f, 0xa2af: 0xe0000f15,\n\t0xa2b0: 0xe000282d, 0xa2b1: 0xe0002821, 0xa2b2: 0xf0001c1c, 0xa2b3: 0xe000281b,\n\t0xa2b4: 0xe00035dc, 0xa2b5: 0xe00035ca, 0xa2b6: 0xf0001d1c, 0xa2b7: 0xe00035a6,\n\t0xa2b8: 0xe000280f, 0xa2b9: 0xe00035a9, 0xa2ba: 0xe00035df, 0xa2bb: 0xe00035cd,\n\t0xa2bc: 0xe0003600, 0xa2bd: 0xe00035af, 0xa2be: 0xe0002812, 0xa2bf: 0xe00035b2,\n\t// Block 0x28b, offset 0xa2c0\n\t0xa2c0: 0xe0002815, 0xa2c1: 0xe00035b5, 0xa2c2: 0xe00009b7, 0xa2c3: 0xf0001c1d,\n\t0xa2c4: 0xf0001c1c, 0xa2c5: 0xf0001c1c, 0xa2c6: 0xe0000a66, 0xa2c7: 0xe0000a7a,\n\t0xa2c8: 0xf0001d1c, 0xa2c9: 0xf0001c1d, 0xa2ca: 0xe00027c2, 0xa2cb: 0xe00027c8,\n\t0xa2cc: 0xe00027e5, 0xa2cd: 0xe0002800, 0xa2ce: 0xe0002809, 0xa2cf: 0xe000280c,\n\t0xa2d0: 0xe0003582, 0xa2d1: 0xe0003585, 0xa2d2: 0xe0000d0d, 0xa2d3: 0xe0002818,\n\t0xa2d4: 0xe0003591, 0xa2d5: 0xe0000d3a, 0xa2d6: 0xe0000d46, 0xa2d7: 0xe0002827,\n\t0xa2d8: 0xe0000eb0, 0xa2d9: 0xe0000eb8, 0xa2da: 0xe000282a, 0xa2db: 0xf0001c1c,\n\t0xa2dc: 0xf0001c1d, 0xa2dd: 0xe00035e2, 0xa2de: 0xe00010b2, 0xa2df: 0xe00009c8,\n\t0xa2e0: 0xf0001f04, 0xa2e1: 0xf0001f04, 0xa2e2: 0xf0001f04, 0xa2e3: 0xf0001f04,\n\t0xa2e4: 0xf0001f04, 0xa2e5: 0xf0001f04, 0xa2e6: 0xf0001f04, 0xa2e7: 0xf0001f04,\n\t0xa2e8: 0xf0001f04, 0xa2e9: 0xf0000404, 0xa2ea: 0xf0000404, 0xa2eb: 0xf0000404,\n\t0xa2ec: 0xf0000404, 0xa2ed: 0xf0000404, 0xa2ee: 0xf0000404, 0xa2ef: 0xf0000404,\n\t0xa2f0: 0xf0000404, 0xa2f1: 0xf0000404, 0xa2f2: 0xf0000404, 0xa2f3: 0xf0000404,\n\t0xa2f4: 0xf0000404, 0xa2f5: 0xf0000404, 0xa2f6: 0xf0000404, 0xa2f7: 0xf0000404,\n\t0xa2f8: 0xf0000404, 0xa2f9: 0xf0000404, 0xa2fa: 0xf0000404, 0xa2fb: 0xf0000404,\n\t0xa2fc: 0xf0000404, 0xa2fd: 0xf0000404, 0xa2fe: 0xf0000404, 0xa2ff: 0xe0000bdf,\n\t// Block 0x28c, offset 0xa300\n\t0xa300: 0xf0000404, 0xa301: 0xe00026cf, 0xa302: 0xe000356d, 0xa303: 0xe0000b99,\n\t0xa304: 0xe0000b9d, 0xa305: 0xe0000f83, 0xa306: 0xf0000404,\n\t0xa313: 0xf0000404,\n\t0xa314: 0xf0000404, 0xa315: 0xf0000404, 0xa316: 0xf0000404, 0xa317: 0xf0000404,\n\t0xa31d: 0xe000150b, 0xa31e: 0xa1a09602, 0xa31f: 0xe0001514,\n\t0xa320: 0x0038ae85, 0xa321: 0x00389085, 0xa322: 0x00389685, 0xa323: 0x00389885,\n\t0xa324: 0x0038a485, 0xa325: 0x0038a685, 0xa326: 0x0038a885, 0xa327: 0x0038b685,\n\t0xa328: 0x0038ba85, 0xa329: 0x00093885, 0xa32a: 0xe0001542, 0xa32b: 0xe000153f,\n\t0xa32c: 0xe000154c, 0xa32d: 0xe0001548, 0xa32e: 0xe00014e1, 0xa32f: 0xe00014e4,\n\t0xa330: 0xe00014e7, 0xa331: 0xe00014ea, 0xa332: 0xe00014f0, 0xa333: 0xe00014f3,\n\t0xa334: 0xe00014f6, 0xa335: 0xe00014fc, 0xa336: 0xe0001505,\n\t0xa338: 0xe0001508, 0xa339: 0xe000150e, 0xa33a: 0xe000151b, 0xa33b: 0xe0001518,\n\t0xa33c: 0xe0001521, 0xa33e: 0xe0001524,\n\t// Block 0x28d, offset 0xa340\n\t0xa340: 0xf0001f04, 0xa341: 0xf0001f04, 0xa342: 0xf0001f04, 0xa343: 0xf0001f04,\n\t0xa344: 0xf0001f04, 0xa345: 0xf0001f04, 0xa346: 0xf0001f04, 0xa347: 0xf0001f04,\n\t0xa348: 0xf0001f04, 0xa349: 0xf0001f04, 0xa34a: 0xf0001f04,\n\t0xa350: 0xf0000a04, 0xa351: 0xf0000a04, 0xa352: 0xf0000a04, 0xa353: 0xf0000a04,\n\t0xa354: 0xe00024a3, 0xa355: 0xf0000a04, 0xa356: 0xf0000a04, 0xa357: 0xe00024ab,\n\t0xa358: 0xe00024b3, 0xa359: 0xf0000a04, 0xa35a: 0xe00024bb, 0xa35b: 0xe0002c1a,\n\t0xa35c: 0xe0002c22, 0xa35d: 0xe0002c2a, 0xa35e: 0xe00024c3, 0xa35f: 0xe0002c32,\n\t0xa360: 0xf0000a04, 0xa361: 0xf0000a04, 0xa362: 0xf0000a04, 0xa363: 0xf0000a04,\n\t0xa364: 0xe0002c3a, 0xa365: 0xf0000a04, 0xa366: 0xe0002c4a, 0xa367: 0xf0000a04,\n\t0xa368: 0xf0000a04, 0xa369: 0xf0000a04, 0xa36a: 0xf0000a04, 0xa36b: 0x002c3a8c,\n\t0xa36c: 0x002f7a8c, 0xa36d: 0xf0000c0c, 0xa36e: 0xe00035e8,\n\t0xa370: 0x002bde9d, 0xa371: 0x002c0a9d, 0xa372: 0x002c3a9d, 0xa373: 0x002c629d,\n\t0xa374: 0x002c989d, 0xa375: 0x002d089d, 0xa376: 0x002d229d, 0xa377: 0x002d689d,\n\t0xa378: 0x002d9a9d, 0xa379: 0x002dcc9d, 0xa37a: 0x002dfe9d, 0xa37b: 0x002e229d,\n\t0xa37c: 0x002e829d, 0xa37d: 0x002e9e9d, 0xa37e: 0x002ee29d, 0xa37f: 0x002f2c9d,\n\t// Block 0x28e, offset 0xa380\n\t0xa380: 0x002f569d, 0xa381: 0x002f7a9d, 0xa382: 0x002fe69d, 0xa383: 0x00302c9d,\n\t0xa384: 0x00306c9d, 0xa385: 0x0030be9d, 0xa386: 0x0030e29d, 0xa387: 0x0030f69d,\n\t0xa388: 0x0031009d, 0xa389: 0x00312a9d, 0xa38a: 0xe00027cb, 0xa38b: 0xe00035ac,\n\t0xa38c: 0xf0001d1d, 0xa38d: 0xf0001d1d, 0xa38e: 0xe0000ebc, 0xa38f: 0xe00035e5,\n\t0xa390: 0x002bde8c, 0xa391: 0x002c0a8c, 0xa392: 0x002c3a8c, 0xa393: 0x002c628c,\n\t0xa394: 0x002c988c, 0xa395: 0x002d088c, 0xa396: 0x002d228c, 0xa397: 0x002d688c,\n\t0xa398: 0x002d9a8c, 0xa399: 0x002dcc8c, 0xa39a: 0x002dfe8c, 0xa39b: 0x002e228c,\n\t0xa39c: 0x002e828c, 0xa39d: 0x002e9e8c, 0xa39e: 0x002ee28c, 0xa39f: 0x002f2c8c,\n\t0xa3a0: 0x002f568c, 0xa3a1: 0x002f7a8c, 0xa3a2: 0x002fe68c, 0xa3a3: 0x00302c8c,\n\t0xa3a4: 0x00306c8c, 0xa3a5: 0x0030be8c, 0xa3a6: 0x0030e28c, 0xa3a7: 0x0030f68c,\n\t0xa3a8: 0x0031008c, 0xa3a9: 0x00312a8c, 0xa3aa: 0xe0003597, 0xa3ab: 0xe000359a,\n\t0xa3b0: 0x002bde9d, 0xa3b1: 0x002c0a9d, 0xa3b2: 0x002c3a9d, 0xa3b3: 0x002c629d,\n\t0xa3b4: 0x002c989d, 0xa3b5: 0x002d089d, 0xa3b6: 0x002d229d, 0xa3b7: 0x002d689d,\n\t0xa3b8: 0x002d9a9d, 0xa3b9: 0x002dcc9d, 0xa3ba: 0x002dfe9d, 0xa3bb: 0x002e229d,\n\t0xa3bc: 0x002e829d, 0xa3bd: 0x002e9e9d, 0xa3be: 0x002ee29d, 0xa3bf: 0x002f2c9d,\n\t// Block 0x28f, offset 0xa3c0\n\t0xa3c0: 0x40055620, 0xa3c1: 0xa1809102, 0xa3c2: 0xa1909002, 0xa3c3: 0x40055820,\n\t0xa3c4: 0xae600000, 0xa3c5: 0xadc00000, 0xa3c6: 0x40055a20, 0xa3c7: 0xa1208d02,\n\t0xa3d0: 0x40389020, 0xa3d1: 0x40389220, 0xa3d2: 0x40389420, 0xa3d3: 0x40389620,\n\t0xa3d4: 0x40389820, 0xa3d5: 0x40389a20, 0xa3d6: 0x40389c20, 0xa3d7: 0x40389e20,\n\t0xa3d8: 0x4038a020, 0xa3d9: 0x4038a220, 0xa3da: 0x0038a499, 0xa3db: 0x4038a420,\n\t0xa3dc: 0x4038a620, 0xa3dd: 0x0038a899, 0xa3de: 0x4038a820, 0xa3df: 0x0038aa99,\n\t0xa3e0: 0x4038aa20, 0xa3e1: 0x4038ac20, 0xa3e2: 0x4038ae20, 0xa3e3: 0x0038b099,\n\t0xa3e4: 0x4038b020, 0xa3e5: 0x0038b299, 0xa3e6: 0x4038b220, 0xa3e7: 0x4038b420,\n\t0xa3e8: 0x4038b620, 0xa3e9: 0x4038b820, 0xa3ea: 0x4038ba20,\n\t0xa3f0: 0xe00014ff, 0xa3f1: 0xe0001502, 0xa3f2: 0xe0001511, 0xa3f3: 0x4003d21f,\n\t0xa3f4: 0x4003e01f,\n\t// Block 0x290, offset 0xa400\n\t0xa400: 0xa000f202, 0xa401: 0x403fba21, 0xa402: 0x403fba20, 0xa403: 0x403fbc20,\n\t0xa404: 0x403fbc20, 0xa405: 0x403fbe20, 0xa406: 0x403fc020, 0xa407: 0x403fcc20,\n\t0xa408: 0x403fce20, 0xa409: 0x403fd020, 0xa40a: 0x403fd220, 0xa40b: 0x403fd420,\n\t0xa40c: 0x403fd820, 0xa40d: 0x403fdc20, 0xa40e: 0x403fde20, 0xa40f: 0x403fe020,\n\t0xa410: 0x403fe220, 0xa411: 0x403fe420, 0xa412: 0x403fe620, 0xa413: 0x403fe820,\n\t0xa414: 0x403fea20, 0xa415: 0x403fec20, 0xa416: 0x403fee20, 0xa417: 0x403ff020,\n\t0xa418: 0x403ff420, 0xa419: 0x403ff620, 0xa41a: 0x403ff820, 0xa41b: 0x403ffa20,\n\t0xa41c: 0x403ffc20, 0xa41d: 0x40400220, 0xa41e: 0x40400420, 0xa41f: 0x40400620,\n\t0xa420: 0x40400820, 0xa421: 0x40400a20, 0xa422: 0x40400e20, 0xa423: 0x40401020,\n\t0xa424: 0x40401220, 0xa425: 0x40401420, 0xa426: 0x40401620, 0xa427: 0x40401820,\n\t0xa428: 0x40401a20, 0xa429: 0xe0001830, 0xa42a: 0x40401c20, 0xa42b: 0x40401e20,\n\t0xa42c: 0x40402020, 0xa42d: 0x40402420, 0xa42e: 0x40402620, 0xa42f: 0x40402820,\n\t0xa430: 0x40402c20, 0xa431: 0xe0001839, 0xa432: 0x40402e20, 0xa433: 0x40403020,\n\t0xa434: 0xe000183c, 0xa435: 0x40403220, 0xa436: 0x40403420, 0xa437: 0x40403620,\n\t0xa438: 0x40403820, 0xa439: 0x40403a20, 0xa43a: 0x40404c20, 0xa43b: 0x40404e20,\n\t0xa43c: 0xa070f102, 0xa43d: 0x40403c20, 0xa43e: 0x40404a20, 0xa43f: 0x40405620,\n\t// Block 0x291, offset 0xa440\n\t0xa440: 0xa0000000, 0xa441: 0xa0000000, 0xa442: 0xa0000000, 0xa443: 0xa0000000,\n\t0xa444: 0xa0000000, 0xa445: 0xa0000000, 0xa446: 0xa0000000, 0xa447: 0xa0000000,\n\t0xa448: 0xa0000000, 0xa449: 0x40020020, 0xa44a: 0x40020220, 0xa44b: 0x40020420,\n\t0xa44c: 0x40020620, 0xa44d: 0x40020820, 0xa44e: 0xa0000000, 0xa44f: 0xa0000000,\n\t0xa450: 0xa0000000, 0xa451: 0xa0000000, 0xa452: 0xa0000000, 0xa453: 0xa0000000,\n\t0xa454: 0xa0000000, 0xa455: 0xa0000000, 0xa456: 0xa0000000, 0xa457: 0xa0000000,\n\t0xa458: 0xa0000000, 0xa459: 0xa0000000, 0xa45a: 0xa0000000, 0xa45b: 0xa0000000,\n\t0xa45c: 0xa0000000, 0xa45d: 0xa0000000, 0xa45e: 0xa0000000, 0xa45f: 0xa0000000,\n\t0xa460: 0x40021220, 0xa461: 0x4002ba20, 0xa462: 0x4003e020, 0xa463: 0x4004ea20,\n\t0xa464: 0x4027de20, 0xa465: 0x4004ec20, 0xa466: 0x4004e620, 0xa467: 0x4003d220,\n\t0xa468: 0x4003f420, 0xa469: 0x4003f620, 0xa46a: 0x4004d820, 0xa46b: 0x40093820,\n\t0xa46c: 0x40024020, 0xa46d: 0x40021a20, 0xa46e: 0x4002e420, 0xa46f: 0x4004e220,\n\t0xa470: 0x4029cc20, 0xa471: 0x4029ce20, 0xa472: 0x4029d020, 0xa473: 0x4029d220,\n\t0xa474: 0x4029d420, 0xa475: 0x4029d620, 0xa476: 0x4029d820, 0xa477: 0x4029da20,\n\t0xa478: 0x4029dc20, 0xa479: 0x4029de20, 0xa47a: 0x40026c20, 0xa47b: 0x40026220,\n\t0xa47c: 0x40094020, 0xa47d: 0x40094220, 0xa47e: 0x40094420, 0xa47f: 0x4002c420,\n\t// Block 0x292, offset 0xa480\n\t0xa480: 0x4004d620, 0xa481: 0x002bde88, 0xa482: 0x002c0a88, 0xa483: 0xc59b2891,\n\t0xa484: 0xc5a12913, 0xa485: 0x002c9888, 0xa486: 0x002d0888, 0xa487: 0x002d2288,\n\t0xa488: 0x002d6888, 0xa489: 0x002d9a88, 0xa48a: 0x002dcc88, 0xa48b: 0x002dfe88,\n\t0xa48c: 0xc5a629e4, 0xa48d: 0x002e8288, 0xa48e: 0xc5ab2a52, 0xa48f: 0x002ee288,\n\t0xa490: 0x002f2c88, 0xa491: 0x002f5688, 0xa492: 0x002f7a88, 0xa493: 0xc3430991,\n\t0xa494: 0x00302c88, 0xa495: 0x00306c88, 0xa496: 0x0030be88, 0xa497: 0x0030e288,\n\t0xa498: 0x0030f688, 0xa499: 0x00310088, 0xa49a: 0xc3630991, 0xa49b: 0x4003f820,\n\t0xa49c: 0x4004e420, 0xa49d: 0x4003fa20, 0xa49e: 0x40062420, 0xa49f: 0x40021620,\n\t0xa4a0: 0x40061e20, 0xa4a1: 0x402bde20, 0xa4a2: 0x402c0a20, 0xa4a3: 0xc5982891,\n\t0xa4a4: 0xc59e28c2, 0xa4a5: 0x402c9820, 0xa4a6: 0x402d0820, 0xa4a7: 0x402d2220,\n\t0xa4a8: 0x402d6820, 0xa4a9: 0x402d9a20, 0xa4aa: 0x402dcc20, 0xa4ab: 0x402dfe20,\n\t0xa4ac: 0xc3772993, 0xa4ad: 0x402e8220, 0xa4ae: 0xc5332a41, 0xa4af: 0x402ee220,\n\t0xa4b0: 0x402f2c20, 0xa4b1: 0x402f5620, 0xa4b2: 0x402f7a20, 0xa4b3: 0xc3410991,\n\t0xa4b4: 0x40302c20, 0xa4b5: 0x40306c20, 0xa4b6: 0x4030be20, 0xa4b7: 0x4030e220,\n\t0xa4b8: 0x4030f620, 0xa4b9: 0x40310020, 0xa4ba: 0xc3610991, 0xa4bb: 0x4003fc20,\n\t0xa4bc: 0x40094820, 0xa4bd: 0x4003fe20, 0xa4be: 0x40094c20, 0xa4bf: 0xa0000000,\n\t// Block 0x293, offset 0xa4c0\n\t0xa4c0: 0xe0000983, 0xa4c1: 0xe0000980, 0xa4c2: 0xe00008fb, 0xa4c3: 0xe00008f8,\n\t0xa4c4: 0xe000097d, 0xa4c5: 0xe000097a, 0xa4c6: 0x002c3e83, 0xa4c7: 0x402c3e20,\n\t0xa4c8: 0xe0000a3e, 0xa4c9: 0xe0000a3b, 0xa4ca: 0xe0000a4a, 0xa4cb: 0xe0000a47,\n\t0xa4cc: 0x002c3c83, 0xa4cd: 0x402c3c20, 0xa4ce: 0xe0000a86, 0xa4cf: 0xe0000a83,\n\t0xa4d0: 0x002c6683, 0xa4d1: 0x402c6620, 0xa4d2: 0xe0000b46, 0xa4d3: 0xe0000b43,\n\t0xa4d4: 0xe0000aee, 0xa4d5: 0xe0000aeb, 0xa4d6: 0xe0000b2c, 0xa4d7: 0xe0000b29,\n\t0xa4d8: 0xe0000b40, 0xa4d9: 0xe0000b3d, 0xa4da: 0xe0000b1a, 0xa4db: 0xe0000b17,\n\t0xa4dc: 0xe0000bb8, 0xa4dd: 0xe0000bb5, 0xa4de: 0xe0000bb2, 0xa4df: 0xe0000baf,\n\t0xa4e0: 0xe0000bc4, 0xa4e1: 0xe0000bc1, 0xa4e2: 0xe0000bca, 0xa4e3: 0xe0000bc7,\n\t0xa4e4: 0xe0000bee, 0xa4e5: 0xe0000beb, 0xa4e6: 0xe0000c1b, 0xa4e7: 0xe0000c18,\n\t0xa4e8: 0xe0000c51, 0xa4e9: 0xe0000c4e, 0xa4ea: 0xe0000c60, 0xa4eb: 0xe0000c5d,\n\t0xa4ec: 0xe0000c31, 0xa4ed: 0xe0000c2e, 0xa4ee: 0xe0000c5a, 0xa4ef: 0xe0000c57,\n\t0xa4f0: 0xe0000c54, 0xa4f1: 0x402da220, 0xa4f2: 0xf0000a0a, 0xa4f3: 0xf0000404,\n\t0xa4f4: 0xe0000c8a, 0xa4f5: 0xe0000c87, 0xa4f6: 0xe0000c9f, 0xa4f7: 0xe0000c9c,\n\t0xa4f8: 0x402f7220, 0xa4f9: 0xe0000ccc, 0xa4fa: 0xe0000cc9, 0xa4fb: 0xe0000cd8,\n\t0xa4fc: 0xe0000cd5, 0xa4fd: 0xe0000cd2, 0xa4fe: 0xe0000ccf, 0xa4ff: 0xe0000d04,\n\t// Block 0x294, offset 0xa500\n\t0xa500: 0xe0000cfe, 0xa501: 0xe0000cf8, 0xa502: 0xe0000cf5, 0xa503: 0xe0000d51,\n\t0xa504: 0xe0000d4e, 0xa505: 0xe0000d6f, 0xa506: 0xe0000d6c, 0xa507: 0xe0000d5d,\n\t0xa508: 0xe0000d5a, 0xa509: 0xf0000404, 0xa50a: 0x002eda88, 0xa50b: 0x402eda20,\n\t0xa50c: 0xe0000e2e, 0xa50d: 0xe0000e2b, 0xa50e: 0xe0000da0, 0xa50f: 0xe0000d9d,\n\t0xa510: 0xe0000de0, 0xa511: 0xe0000ddd, 0xa512: 0xe0000e93, 0xa513: 0xe0000e8f,\n\t0xa514: 0xe0000eca, 0xa515: 0xe0000ec7, 0xa516: 0xe0000edc, 0xa517: 0xe0000ed9,\n\t0xa518: 0xe0000ed0, 0xa519: 0xe0000ecd, 0xa51a: 0xe0000f1f, 0xa51b: 0xe0000f1c,\n\t0xa51c: 0xe0000f2d, 0xa51d: 0xe0000f2a, 0xa51e: 0xe0000f47, 0xa51f: 0xe0000f44,\n\t0xa520: 0x002fe883, 0xa521: 0x402fe820, 0xa522: 0xe0000f99, 0xa523: 0xe0000f96,\n\t0xa524: 0xe0000f8a, 0xa525: 0xe0000f87, 0xa526: 0x00303688, 0xa527: 0x40303620,\n\t0xa528: 0xe000102b, 0xa529: 0xe0001028, 0xa52a: 0xe000103f, 0xa52b: 0xe000103c,\n\t0xa52c: 0xe0000fe7, 0xa52d: 0xe0000fe4, 0xa52e: 0xe0000ff9, 0xa52f: 0xe0000ff6,\n\t0xa530: 0xe0001025, 0xa531: 0xe0001022, 0xa532: 0xe0001039, 0xa533: 0xe0001036,\n\t0xa534: 0xe00010d8, 0xa535: 0xe00010d5, 0xa536: 0xe000110e, 0xa537: 0xe000110b,\n\t0xa538: 0xe0001117, 0xa539: 0xe000113b, 0xa53a: 0xe0001138, 0xa53b: 0xe000114d,\n\t0xa53c: 0xe000114a, 0xa53d: 0x00312c83, 0xa53e: 0x40312c20, 0xa53f: 0xe0000f64,\n\t// Block 0x295, offset 0xa540\n\t0xa540: 0x40321220, 0xa541: 0x40321a20, 0xa542: 0x40322220, 0xa543: 0x40322a20,\n\t0xa544: 0x002c6487, 0xa545: 0x002c6485, 0xa546: 0x002c6483, 0xa547: 0x002e2487,\n\t0xa548: 0x002e2485, 0xa549: 0x002e2483, 0xa54a: 0x002ea087, 0xa54b: 0x002ea085,\n\t0xa54c: 0x002ea083, 0xa54d: 0xe0000947, 0xa54e: 0xe0000944, 0xa54f: 0xe0000c3d,\n\t0xa550: 0xe0000c3a, 0xa551: 0xe0000dcc, 0xa552: 0xe0000dc9, 0xa553: 0xe0000ff3,\n\t0xa554: 0xe0000ff0, 0xa555: 0xe000101e, 0xa556: 0xe000101a, 0xa557: 0xe0001006,\n\t0xa558: 0xe0001002, 0xa559: 0xe0001016, 0xa55a: 0xe0001012, 0xa55b: 0xe000100e,\n\t0xa55c: 0xe000100a, 0xa55d: 0x402cae20, 0xa55e: 0xe0000962, 0xa55f: 0xe000095e,\n\t0xa560: 0xe0000976, 0xa561: 0xe0000972, 0xa562: 0xe00009f4, 0xa563: 0xe00009ef,\n\t0xa564: 0x002d3a88, 0xa565: 0x402d3a20, 0xa566: 0xe0000bbe, 0xa567: 0xe0000bbb,\n\t0xa568: 0xe0000c99, 0xa569: 0xe0000c96, 0xa56a: 0xe0000e20, 0xa56b: 0xe0000e1d,\n\t0xa56c: 0xe0000e27, 0xa56d: 0xe0000e23, 0xa56e: 0xe0001162, 0xa56f: 0xe000115f,\n\t0xa570: 0xe0000c8d, 0xa571: 0xf0000a0a, 0xa572: 0xf000040a, 0xa573: 0xf0000404,\n\t0xa574: 0xe0000bac, 0xa575: 0xe0000ba9, 0xa576: 0x002d7888, 0xa577: 0x00319488,\n\t0xa578: 0xe0000d57, 0xa579: 0xe0000d54, 0xa57a: 0xe0000954, 0xa57b: 0xe0000950,\n\t0xa57c: 0xe00009ea, 0xa57d: 0xe00009e5, 0xa57e: 0xe0000e19, 0xa57f: 0xe0000e15,\n\t// Block 0x296, offset 0xa580\n\t0xa580: 0xe00009b1, 0xa581: 0xe00009ae, 0xa582: 0xe0000a22, 0xa583: 0xe0000a1f,\n\t0xa584: 0xe0000a28, 0xa585: 0xe0000a25, 0xa586: 0xe0000a2e, 0xa587: 0xe0000a2b,\n\t0xa588: 0xe0003c3f, 0xa589: 0xe0003c3c, 0xa58a: 0xe0000a8c, 0xa58b: 0xe0000a89,\n\t0xa58c: 0xe0000a98, 0xa58d: 0xe0000a95, 0xa58e: 0xe0000aa4, 0xa58f: 0xe0000aa1,\n\t0xa590: 0xe0000a92, 0xa591: 0xe0000a8f, 0xa592: 0xe0000a9e, 0xa593: 0xe0000a9b,\n\t0xa594: 0xe0000b55, 0xa595: 0xe0000b51, 0xa596: 0xe0000b4d, 0xa597: 0xe0000b49,\n\t0xa598: 0xe0000b7c, 0xa599: 0xe0000b79, 0xa59a: 0xe0000b82, 0xa59b: 0xe0000b7f,\n\t0xa59c: 0xe0000b39, 0xa59d: 0xe0000b35, 0xa59e: 0xe0000b8c, 0xa59f: 0xe0000b89,\n\t0xa5a0: 0xe0000bd0, 0xa5a1: 0xe0000bcd, 0xa5a2: 0xe0000c00, 0xa5a3: 0xe0000bfd,\n\t0xa5a4: 0xe0000c0c, 0xa5a5: 0xe0000c09, 0xa5a6: 0xe0000bfa, 0xa5a7: 0xe0000bf7,\n\t0xa5a8: 0xe0000c06, 0xa5a9: 0xe0000c03, 0xa5aa: 0xe0000c12, 0xa5ab: 0xe0000c0f,\n\t0xa5ac: 0xe0000c7e, 0xa5ad: 0xe0000c7b, 0xa5ae: 0xe0000c4a, 0xa5af: 0xe0000c46,\n\t0xa5b0: 0xe0000c93, 0xa5b1: 0xe0000c90, 0xa5b2: 0xe0000cab, 0xa5b3: 0xe0000ca8,\n\t0xa5b4: 0xe0000cb1, 0xa5b5: 0xe0000cae, 0xa5b6: 0xe0000cde, 0xa5b7: 0xe0000cdb,\n\t0xa5b8: 0xe0000ce5, 0xa5b9: 0xe0000ce1, 0xa5ba: 0xe0000cf2, 0xa5bb: 0xe0000cef,\n\t0xa5bc: 0xe0000cec, 0xa5bd: 0xe0000ce9, 0xa5be: 0xe0000d1e, 0xa5bf: 0xe0000d1b,\n\t// Block 0x297, offset 0xa5c0\n\t0xa5c0: 0xa0000000, 0xa5c1: 0xa0000000, 0xa5c2: 0xa0000000, 0xa5c3: 0xa0000000,\n\t0xa5c4: 0xa0000000, 0xa5c5: 0xa0000000, 0xa5c6: 0xa0000000, 0xa5c7: 0xa0000000,\n\t0xa5c8: 0xa0000000, 0xa5c9: 0x40020020, 0xa5ca: 0x40020220, 0xa5cb: 0x40020420,\n\t0xa5cc: 0x40020620, 0xa5cd: 0x40020820, 0xa5ce: 0xa0000000, 0xa5cf: 0xa0000000,\n\t0xa5d0: 0xa0000000, 0xa5d1: 0xa0000000, 0xa5d2: 0xa0000000, 0xa5d3: 0xa0000000,\n\t0xa5d4: 0xa0000000, 0xa5d5: 0xa0000000, 0xa5d6: 0xa0000000, 0xa5d7: 0xa0000000,\n\t0xa5d8: 0xa0000000, 0xa5d9: 0xa0000000, 0xa5da: 0xa0000000, 0xa5db: 0xa0000000,\n\t0xa5dc: 0xa0000000, 0xa5dd: 0xa0000000, 0xa5de: 0xa0000000, 0xa5df: 0xa0000000,\n\t0xa5e0: 0x40021220, 0xa5e1: 0x4002ba20, 0xa5e2: 0x4003e020, 0xa5e3: 0x4004ea20,\n\t0xa5e4: 0x4027de20, 0xa5e5: 0x4004ec20, 0xa5e6: 0x4004e620, 0xa5e7: 0x4003d220,\n\t0xa5e8: 0x4003f420, 0xa5e9: 0x4003f620, 0xa5ea: 0x4004d820, 0xa5eb: 0x40093820,\n\t0xa5ec: 0x40024020, 0xa5ed: 0x40021a20, 0xa5ee: 0x4002e420, 0xa5ef: 0x4004e220,\n\t0xa5f0: 0x4029cc20, 0xa5f1: 0x4029ce20, 0xa5f2: 0x4029d020, 0xa5f3: 0x4029d220,\n\t0xa5f4: 0x4029d420, 0xa5f5: 0x4029d620, 0xa5f6: 0x4029d820, 0xa5f7: 0x4029da20,\n\t0xa5f8: 0x4029dc20, 0xa5f9: 0x4029de20, 0xa5fa: 0x40026c20, 0xa5fb: 0x40026220,\n\t0xa5fc: 0x40094020, 0xa5fd: 0x40094220, 0xa5fe: 0x40094420, 0xa5ff: 0x4002c420,\n\t// Block 0x298, offset 0xa600\n\t0xa600: 0x4004d620, 0xa601: 0x002bde88, 0xa602: 0x002c0a88, 0xa603: 0xc5b12aa4,\n\t0xa604: 0xc5bb2b54, 0xa605: 0x002c9888, 0xa606: 0x002d0888, 0xa607: 0xc5c72c24,\n\t0xa608: 0x002d6888, 0xa609: 0x002d9a88, 0xa60a: 0x002dcc88, 0xa60b: 0x002dfe88,\n\t0xa60c: 0xc5d12cf6, 0xa60d: 0x002e8288, 0xa60e: 0xc5db2dc4, 0xa60f: 0xc5e30b21,\n\t0xa610: 0x002f2c88, 0xa611: 0x002f5688, 0xa612: 0x002f7a88, 0xa613: 0xc5e92e54,\n\t0xa614: 0xc5f12ee4, 0xa615: 0xc5f90b21, 0xa616: 0x0030be88, 0xa617: 0x0030e288,\n\t0xa618: 0x0030f688, 0xa619: 0x00310088, 0xa61a: 0xc5ff2f74, 0xa61b: 0x4003f820,\n\t0xa61c: 0x4004e420, 0xa61d: 0x4003fa20, 0xa61e: 0x40062420, 0xa61f: 0x40021620,\n\t0xa620: 0x40061e20, 0xa621: 0x402bde20, 0xa622: 0x402c0a20, 0xa623: 0xc5ae2a72,\n\t0xa624: 0xc5b62b02, 0xa625: 0x402c9820, 0xa626: 0x402d0820, 0xa627: 0xc5c42bf2,\n\t0xa628: 0x402d6820, 0xa629: 0x402d9a20, 0xa62a: 0x402dcc20, 0xa62b: 0x402dfe20,\n\t0xa62c: 0xc5cc2c84, 0xa62d: 0x402e8220, 0xa62e: 0xc5d82d92, 0xa62f: 0xc5e00b21,\n\t0xa630: 0x402f2c20, 0xa631: 0x402f5620, 0xa632: 0x402f7a20, 0xa633: 0xc5e62e22,\n\t0xa634: 0xc5ee2eb2, 0xa635: 0xc5f60b21, 0xa636: 0x4030be20, 0xa637: 0x4030e220,\n\t0xa638: 0x4030f620, 0xa639: 0x40310020, 0xa63a: 0xc5fc2f42, 0xa63b: 0x4003fc20,\n\t0xa63c: 0x40094820, 0xa63d: 0x4003fe20, 0xa63e: 0x40094c20, 0xa63f: 0xa0000000,\n\t// Block 0x299, offset 0xa640\n\t0xa640: 0xe00008f5, 0xa641: 0xe00008ef, 0xa642: 0xe0000921, 0xa643: 0xe0000969,\n\t0xa644: 0xe000095b, 0xa645: 0xe000094d, 0xa646: 0xe00009dd, 0xa647: 0xe0000a53,\n\t0xa648: 0xe0000ae8, 0xa649: 0xe0000ae2, 0xa64a: 0xe0000af4, 0xa64b: 0xe0000b20,\n\t0xa64c: 0xe0000c2b, 0xa64d: 0xe0000c25, 0xa64e: 0xe0000c37, 0xa64f: 0xe0000c43,\n\t0xa650: 0xe0000ab3, 0xa651: 0xe0000d63, 0xa652: 0xe0000d9a, 0xa653: 0xe0000d94,\n\t0xa654: 0xe0000da6, 0xa655: 0xe0000de6, 0xa656: 0x002ee483, 0xa657: 0x40093e20,\n\t0xa658: 0xe0000e12, 0xa659: 0xe0000fe1, 0xa65a: 0xe0000fdb, 0xa65b: 0xe0000fed,\n\t0xa65c: 0x00306e83, 0xa65d: 0xe0001102, 0xa65e: 0x00318888, 0xa65f: 0xe0000f7b,\n\t0xa660: 0xe00008f2, 0xa661: 0xe00008ec, 0xa662: 0xe000091e, 0xa663: 0xe0000966,\n\t0xa664: 0xe0000958, 0xa665: 0xe000094a, 0xa666: 0xe00009d5, 0xa667: 0xe0000a4d,\n\t0xa668: 0xe0000ae5, 0xa669: 0xe0000adf, 0xa66a: 0xe0000af1, 0xa66b: 0xe0000b1d,\n\t0xa66c: 0xe0000c28, 0xa66d: 0xe0000c22, 0xa66e: 0xe0000c34, 0xa66f: 0xe0000c40,\n\t0xa670: 0xe0000aad, 0xa671: 0xe0000d60, 0xa672: 0xe0000d97, 0xa673: 0xe0000d91,\n\t0xa674: 0xe0000da3, 0xa675: 0xe0000de3, 0xa676: 0x402ee420, 0xa677: 0x40093c20,\n\t0xa678: 0xe0000e0f, 0xa679: 0xe0000fde, 0xa67a: 0xe0000fd8, 0xa67b: 0xe0000fea,\n\t0xa67c: 0x40306e20, 0xa67d: 0xe00010ff, 0xa67e: 0x40318820, 0xa67f: 0xe0001114,\n\t// Block 0x29a, offset 0xa680\n\t0xa680: 0xe0000cfe, 0xa681: 0xe0000cf8, 0xa682: 0xe0000cf5, 0xa683: 0xe0000d51,\n\t0xa684: 0xe0000d4e, 0xa685: 0xe0000d6f, 0xa686: 0xe0000d6c, 0xa687: 0xe0000d5d,\n\t0xa688: 0xe0000d5a, 0xa689: 0xf0000404, 0xa68a: 0x002eda88, 0xa68b: 0x402eda20,\n\t0xa68c: 0xe0000e2e, 0xa68d: 0xe0000e2b, 0xa68e: 0xe0000da0, 0xa68f: 0xe0000d9d,\n\t0xa690: 0x002ee4a3, 0xa691: 0x402ee421, 0xa692: 0xe0000e93, 0xa693: 0xe0000e8f,\n\t0xa694: 0xe0000eca, 0xa695: 0xe0000ec7, 0xa696: 0xe0000edc, 0xa697: 0xe0000ed9,\n\t0xa698: 0xe0000ed0, 0xa699: 0xe0000ecd, 0xa69a: 0xe0000f1f, 0xa69b: 0xe0000f1c,\n\t0xa69c: 0xe0000f2d, 0xa69d: 0xe0000f2a, 0xa69e: 0xe0000f47, 0xa69f: 0xe0000f44,\n\t0xa6a0: 0xe0000f33, 0xa6a1: 0xe0000f30, 0xa6a2: 0xe0000f99, 0xa6a3: 0xe0000f96,\n\t0xa6a4: 0xe0000f8a, 0xa6a5: 0xe0000f87, 0xa6a6: 0x00303688, 0xa6a7: 0x40303620,\n\t0xa6a8: 0xe000102b, 0xa6a9: 0xe0001028, 0xa6aa: 0xe000103f, 0xa6ab: 0xe000103c,\n\t0xa6ac: 0xe0000fe7, 0xa6ad: 0xe0000fe4, 0xa6ae: 0xe0000ff9, 0xa6af: 0xe0000ff6,\n\t0xa6b0: 0x00306ea3, 0xa6b1: 0x40306e21, 0xa6b2: 0xe0001039, 0xa6b3: 0xe0001036,\n\t0xa6b4: 0xe00010d8, 0xa6b5: 0xe00010d5, 0xa6b6: 0xe000110e, 0xa6b7: 0xe000110b,\n\t0xa6b8: 0xe0001117, 0xa6b9: 0xe000113b, 0xa6ba: 0xe0001138, 0xa6bb: 0xe000114d,\n\t0xa6bc: 0xe000114a, 0xa6bd: 0xe0001147, 0xa6be: 0xe0001144, 0xa6bf: 0xe0000f64,\n\t// Block 0x29b, offset 0xa6c0\n\t0xa6c0: 0x40321220, 0xa6c1: 0x40321a20, 0xa6c2: 0x40322220, 0xa6c3: 0x40322a20,\n\t0xa6c4: 0xe0000ad5, 0xa6c5: 0xe0000ad1, 0xa6c6: 0xe0000acd, 0xa6c7: 0xf0000a0a,\n\t0xa6c8: 0xf000040a, 0xa6c9: 0xf0000404, 0xa6ca: 0xf0000a0a, 0xa6cb: 0xf000040a,\n\t0xa6cc: 0xf0000404, 0xa6cd: 0xe0000947, 0xa6ce: 0xe0000944, 0xa6cf: 0xe0000c3d,\n\t0xa6d0: 0xe0000c3a, 0xa6d1: 0xe0000dcc, 0xa6d2: 0xe0000dc9, 0xa6d3: 0xe0000ff3,\n\t0xa6d4: 0xe0000ff0, 0xa6d5: 0xe0002964, 0xa6d6: 0xe0002961, 0xa6d7: 0xe0002952,\n\t0xa6d8: 0xe000294f, 0xa6d9: 0xe000295e, 0xa6da: 0xe000295b, 0xa6db: 0xe0002958,\n\t0xa6dc: 0xe0002955, 0xa6dd: 0x402cae20, 0xa6de: 0xe0000962, 0xa6df: 0xe000095e,\n\t0xa6e0: 0xe0000976, 0xa6e1: 0xe0000972, 0xa6e2: 0xe00009f4, 0xa6e3: 0xe00009ef,\n\t0xa6e4: 0x002d3a88, 0xa6e5: 0x402d3a20, 0xa6e6: 0xe0000bbe, 0xa6e7: 0xe0000bbb,\n\t0xa6e8: 0xe0000c99, 0xa6e9: 0xe0000c96, 0xa6ea: 0xe0000e20, 0xa6eb: 0xe0000e1d,\n\t0xa6ec: 0xe0000e27, 0xa6ed: 0xe0000e23, 0xa6ee: 0xe0001162, 0xa6ef: 0xe000115f,\n\t0xa6f0: 0xe0000c8d, 0xa6f1: 0xf0000a0a, 0xa6f2: 0xf000040a, 0xa6f3: 0xf0000404,\n\t0xa6f4: 0xe0000bac, 0xa6f5: 0xe0000ba9, 0xa6f6: 0x002d7888, 0xa6f7: 0x00319488,\n\t0xa6f8: 0xe0000d57, 0xa6f9: 0xe0000d54, 0xa6fa: 0xe0000954, 0xa6fb: 0xe0000950,\n\t0xa6fc: 0xe00009ea, 0xa6fd: 0xe00009e5, 0xa6fe: 0xe0000e19, 0xa6ff: 0xe0000e15,\n\t// Block 0x29c, offset 0xa700\n\t0xa700: 0xe000098f, 0xa701: 0xe000098c, 0xa702: 0xe0000995, 0xa703: 0xe0000992,\n\t0xa704: 0xe0000b62, 0xa705: 0xe0000b5f, 0xa706: 0xe0000b68, 0xa707: 0xe0000b65,\n\t0xa708: 0xe0000c6c, 0xa709: 0xe0000c69, 0xa70a: 0xe0000c72, 0xa70b: 0xe0000c6f,\n\t0xa70c: 0xe0000e4a, 0xa70d: 0xe0000e47, 0xa70e: 0xe0000e50, 0xa70f: 0xe0000e4d,\n\t0xa710: 0xe0000ee8, 0xa711: 0xe0000ee5, 0xa712: 0xe0000eee, 0xa713: 0xe0000eeb,\n\t0xa714: 0xe0001053, 0xa715: 0xe0001050, 0xa716: 0xe0001059, 0xa717: 0xe0001056,\n\t0xa718: 0xe0000f61, 0xa719: 0xe0000f5e, 0xa71a: 0xe0000fa5, 0xa71b: 0xe0000fa2,\n\t0xa71c: 0x00312288, 0xa71d: 0x40312220, 0xa71e: 0xe0000bf4, 0xa71f: 0xe0000bf1,\n\t0xa720: 0x002ebc88, 0xa721: 0x402c8c20, 0xa722: 0x002f2288, 0xa723: 0x402f2220,\n\t0xa724: 0x00314088, 0xa725: 0x40314020, 0xa726: 0xe000096f, 0xa727: 0xe000096c,\n\t0xa728: 0xe0000b32, 0xa729: 0xe0000b2f, 0xa72a: 0xe000294c, 0xa72b: 0xe0002949,\n\t0xa72c: 0xe0000dfd, 0xa72d: 0xe0000df9, 0xa72e: 0xe0000e04, 0xa72f: 0xe0000e01,\n\t0xa730: 0xe0000e0b, 0xa731: 0xe0000e07, 0xa732: 0xe0001129, 0xa733: 0xe0001126,\n\t0xa734: 0x402e5e20, 0xa735: 0x402ed020, 0xa736: 0x40305a20, 0xa737: 0x402dd420,\n\t0xa738: 0xe0000abf, 0xa739: 0xe0000ec4, 0xa73a: 0x002be888, 0xa73b: 0x002c4488,\n\t0xa73c: 0x402c4420, 0xa73d: 0x002e3888, 0xa73e: 0x00303e88, 0xa73f: 0x402ffc20,\n\t// Block 0x29d, offset 0xa740\n\t0xa740: 0x00339288, 0xa741: 0x40339220, 0xa742: 0x0033a088, 0xa743: 0x4033a020,\n\t0xa744: 0x0033ee88, 0xa745: 0x4033ee20, 0xa746: 0x00341088, 0xa747: 0x40341020,\n\t0xa748: 0x0034a488, 0xa749: 0x4034a420, 0xa74a: 0x0034ec88, 0xa74b: 0x4034ec20,\n\t0xa74c: 0x00354288, 0xa74d: 0x40354220, 0xa74e: 0x00355688, 0xa74f: 0x40355620,\n\t0xa750: 0x0033f088, 0xa751: 0x4033f020, 0xa752: 0x00349688, 0xa753: 0x40349620,\n\t0xa754: 0x0034a688, 0xa755: 0x4034a620, 0xa756: 0x00353888, 0xa757: 0x40353820,\n\t0xa758: 0x0036cc88, 0xa759: 0x4036cc20, 0xa75a: 0x00348288, 0xa75b: 0x40348220,\n\t0xa75c: 0x00372e88, 0xa75d: 0x40372e20, 0xa75e: 0x00348088, 0xa75f: 0x40348020,\n\t0xa760: 0x00349888, 0xa761: 0x40349820, 0xa762: 0x0034da88, 0xa763: 0x4034da20,\n\t0xa764: 0x00351688, 0xa765: 0x40351620, 0xa766: 0x0035dc88, 0xa767: 0x4035dc20,\n\t0xa771: 0x00384288, 0xa772: 0x00384488, 0xa773: 0x00384688,\n\t0xa774: 0x00384888, 0xa775: 0xc6042fd1, 0xa776: 0x00384c88, 0xa777: 0x00384e88,\n\t0xa778: 0x00385088, 0xa779: 0x00385288, 0xa77a: 0x00385488, 0xa77b: 0x00385688,\n\t0xa77c: 0x00385888, 0xa77d: 0x00385a88, 0xa77e: 0x00385c88, 0xa77f: 0x00385e88,\n\t// Block 0x29e, offset 0xa780\n\t0xa780: 0x40388020, 0xa781: 0x40388220, 0xa782: 0x40388420, 0xa783: 0x40388620,\n\t0xa784: 0x40388820, 0xa785: 0x40388a20, 0xa786: 0x40388c20, 0xa787: 0x40388a20,\n\t0xa789: 0x40026e20, 0xa78a: 0x40021c20,\n\t0xa78f: 0x4027e420,\n\t0xa791: 0xadc00000, 0xa792: 0xae600000, 0xa793: 0xae600000,\n\t0xa794: 0xae600000, 0xa795: 0xae600000, 0xa796: 0xadc00000, 0xa797: 0xae600000,\n\t0xa798: 0xae600000, 0xa799: 0xae600000, 0xa79a: 0xade00000, 0xa79b: 0xadc00000,\n\t0xa79c: 0xae600000, 0xa79d: 0xae600000, 0xa79e: 0xae600000, 0xa79f: 0xae600000,\n\t0xa7a0: 0xae600000, 0xa7a1: 0xae600000, 0xa7a2: 0xadc00000, 0xa7a3: 0xadc00000,\n\t0xa7a4: 0xadc00000, 0xa7a5: 0xadc00000, 0xa7a6: 0xadc00000, 0xa7a7: 0xadc00000,\n\t0xa7a8: 0xae600000, 0xa7a9: 0xae600000, 0xa7aa: 0xadc00000, 0xa7ab: 0xae600000,\n\t0xa7ac: 0xae600000, 0xa7ad: 0xade00000, 0xa7ae: 0xae400000, 0xa7af: 0xae600000,\n\t0xa7b0: 0xa0a08502, 0xa7b1: 0xa0b08602, 0xa7b2: 0xa0c08702, 0xa7b3: 0xa0d08802,\n\t0xa7b4: 0xa0e08902, 0xa7b5: 0xa0f08a02, 0xa7b6: 0xa1008b02, 0xa7b7: 0xa1108c02,\n\t0xa7b8: 0xa1208d02, 0xa7b9: 0xa1308e02, 0xa7ba: 0xa1308e02, 0xa7bb: 0xa1408f02,\n\t0xa7bc: 0xa1509202, 0xa7bd: 0xa1600000, 0xa7be: 0x40055420, 0xa7bf: 0xa1709502,\n\t// Block 0x29f, offset 0xa7c0\n\t0xa7c0: 0xa0000000, 0xa7c1: 0xa0000000, 0xa7c2: 0xa0000000, 0xa7c3: 0xa0000000,\n\t0xa7c4: 0xa0000000, 0xa7c5: 0xa0000000, 0xa7c6: 0xa0000000, 0xa7c7: 0xa0000000,\n\t0xa7c8: 0xa0000000, 0xa7c9: 0x40020020, 0xa7ca: 0x40020220, 0xa7cb: 0x40020420,\n\t0xa7cc: 0x40020620, 0xa7cd: 0x40020820, 0xa7ce: 0xa0000000, 0xa7cf: 0xa0000000,\n\t0xa7d0: 0xa0000000, 0xa7d1: 0xa0000000, 0xa7d2: 0xa0000000, 0xa7d3: 0xa0000000,\n\t0xa7d4: 0xa0000000, 0xa7d5: 0xa0000000, 0xa7d6: 0xa0000000, 0xa7d7: 0xa0000000,\n\t0xa7d8: 0xa0000000, 0xa7d9: 0xa0000000, 0xa7da: 0xa0000000, 0xa7db: 0xa0000000,\n\t0xa7dc: 0xa0000000, 0xa7dd: 0xa0000000, 0xa7de: 0xa0000000, 0xa7df: 0xa0000000,\n\t0xa7e0: 0x40021220, 0xa7e1: 0x4002ba20, 0xa7e2: 0x4003e020, 0xa7e3: 0x4004ea20,\n\t0xa7e4: 0x4027de20, 0xa7e5: 0x4004ec20, 0xa7e6: 0x4004e620, 0xa7e7: 0x4003d220,\n\t0xa7e8: 0x4003f420, 0xa7e9: 0x4003f620, 0xa7ea: 0x4004d820, 0xa7eb: 0x40093820,\n\t0xa7ec: 0x40024020, 0xa7ed: 0x40021a20, 0xa7ee: 0x4002e420, 0xa7ef: 0x4004e220,\n\t0xa7f0: 0x4029cc20, 0xa7f1: 0x4029ce20, 0xa7f2: 0x4029d020, 0xa7f3: 0x4029d220,\n\t0xa7f4: 0x4029d420, 0xa7f5: 0x4029d620, 0xa7f6: 0x4029d820, 0xa7f7: 0x4029da20,\n\t0xa7f8: 0x4029dc20, 0xa7f9: 0x4029de20, 0xa7fa: 0x40026c20, 0xa7fb: 0x40026220,\n\t0xa7fc: 0x40094020, 0xa7fd: 0x40094220, 0xa7fe: 0x40094420, 0xa7ff: 0x4002c420,\n\t// Block 0x2a0, offset 0xa800\n\t0xa800: 0x4004d620, 0xa801: 0x002bde88, 0xa802: 0x002c0a88, 0xa803: 0xc60809c2,\n\t0xa804: 0x002c6288, 0xa805: 0x002c9888, 0xa806: 0x002d0888, 0xa807: 0xc60f3026,\n\t0xa808: 0x002d6888, 0xa809: 0xc6183081, 0xa80a: 0x002dcc88, 0xa80b: 0xc61d30c4,\n\t0xa80c: 0xc0030002, 0xa80d: 0x002e8288, 0xa80e: 0xc6263145, 0xa80f: 0xc33f3081,\n\t0xa810: 0x002f2c88, 0xa811: 0x002f5688, 0xa812: 0x002f7a88, 0xa813: 0xc58909c2,\n\t0xa814: 0x00302c88, 0xa815: 0xc3473081, 0xa816: 0x0030be88, 0xa817: 0x0030e288,\n\t0xa818: 0x0030f688, 0xa819: 0x00310088, 0xa81a: 0x00312a88, 0xa81b: 0x4003f820,\n\t0xa81c: 0x4004e420, 0xa81d: 0x4003fa20, 0xa81e: 0x40062420, 0xa81f: 0x40021620,\n\t0xa820: 0x40061e20, 0xa821: 0x402bde20, 0xa822: 0x402c0a20, 0xa823: 0xc60609b1,\n\t0xa824: 0x402c6220, 0xa825: 0x402c9820, 0xa826: 0x402d0820, 0xa827: 0xc60b2ff3,\n\t0xa828: 0x402d6820, 0xa829: 0xc6163081, 0xa82a: 0x402dcc20, 0xa82b: 0xc61a30a2,\n\t0xa82c: 0xc0000002, 0xa82d: 0x402e8220, 0xa82e: 0xc6223103, 0xa82f: 0xc33d3081,\n\t0xa830: 0x402f2c20, 0xa831: 0x402f5620, 0xa832: 0x402f7a20, 0xa833: 0xc34109b1,\n\t0xa834: 0x40302c20, 0xa835: 0xc3453081, 0xa836: 0x4030be20, 0xa837: 0x4030e220,\n\t0xa838: 0x4030f620, 0xa839: 0x40310020, 0xa83a: 0x40312a20, 0xa83b: 0x4003fc20,\n\t0xa83c: 0x40094820, 0xa83d: 0x4003fe20, 0xa83e: 0x40094c20, 0xa83f: 0xa0000000,\n\t// Block 0x2a1, offset 0xa840\n\t0xa840: 0xe0000d24, 0xa841: 0xe0000d21, 0xa842: 0xe0000d2a, 0xa843: 0xe0000d27,\n\t0xa844: 0x002ea083, 0xa845: 0x402ea020, 0xa846: 0xe0000d7b, 0xa847: 0xe0000d78,\n\t0xa848: 0xe0000d87, 0xa849: 0xe0000d84, 0xa84a: 0xe0000d81, 0xa84b: 0xe0000d7e,\n\t0xa84c: 0xe0000ded, 0xa84d: 0xe0000de9, 0xa84e: 0xe0000df5, 0xa84f: 0xe0000df1,\n\t0xa850: 0xe0000e3d, 0xa851: 0xe0000e39, 0xa852: 0xe0000e35, 0xa853: 0xe0000e31,\n\t0xa854: 0xe0000ea7, 0xa855: 0xe0000ea4, 0xa856: 0xe0000ead, 0xa857: 0xe0000eaa,\n\t0xa858: 0xe0000ed6, 0xa859: 0xe0000ed3, 0xa85a: 0xe0000ef4, 0xa85b: 0xe0000ef1,\n\t0xa85c: 0xe0000efb, 0xa85d: 0xe0000ef7, 0xa85e: 0xe0000f02, 0xa85f: 0xe0000eff,\n\t0xa860: 0xe0000f41, 0xa861: 0xe0000f3e, 0xa862: 0xe0000f53, 0xa863: 0xe0000f50,\n\t0xa864: 0xe0000f26, 0xa865: 0xe0000f22, 0xa866: 0xe0000f3a, 0xa867: 0xe0000f36,\n\t0xa868: 0xe0000f5a, 0xa869: 0xe0000f56, 0xa86a: 0xe0000f93, 0xa86b: 0xe0000f90,\n\t0xa86c: 0xe0000f9f, 0xa86d: 0xe0000f9c, 0xa86e: 0xe0000fb1, 0xa86f: 0xe0000fae,\n\t0xa870: 0xe0000fab, 0xa871: 0xe0000fa8, 0xa872: 0xe0001093, 0xa873: 0xe0001090,\n\t0xa874: 0xe000109f, 0xa875: 0xe000109c, 0xa876: 0xe0001099, 0xa877: 0xe0001096,\n\t0xa878: 0xe0001032, 0xa879: 0xe000102e, 0xa87a: 0xe0001046, 0xa87b: 0xe0001042,\n\t0xa87c: 0xe00010a9, 0xa87d: 0xe00010a6, 0xa87e: 0xe00010af, 0xa87f: 0xe00010ac,\n\t// Block 0x2a2, offset 0xa880\n\t0xa880: 0xe0000b03, 0xa881: 0xe0000aff, 0xa882: 0xe0000b13, 0xa883: 0xe0000b0f,\n\t0xa884: 0xe0000b0b, 0xa885: 0xe0000b07, 0xa886: 0xe0000b75, 0xa887: 0xe0000b71,\n\t0xa888: 0xe0000c66, 0xa889: 0xe0000c63, 0xa88a: 0x002d9c83, 0xa88b: 0x402d9c20,\n\t0xa88c: 0x002ee483, 0xa88d: 0x402ee420, 0xa88e: 0xe0000e44, 0xa88f: 0xe0000e41,\n\t0xa890: 0xe0000dad, 0xa891: 0xe0000da9, 0xa892: 0xe0000db5, 0xa893: 0xe0000db1,\n\t0xa894: 0xe0000dc5, 0xa895: 0xe0000dc1, 0xa896: 0xe0000dbd, 0xa897: 0xe0000db9,\n\t0xa898: 0xe0003c96, 0xa899: 0xe0003c93, 0xa89a: 0xe0000e5d, 0xa89b: 0xe0000e59,\n\t0xa89c: 0xe0000e65, 0xa89d: 0xe0000e61, 0xa89e: 0xe0000e75, 0xa89f: 0xe0000e71,\n\t0xa8a0: 0xe0000e6d, 0xa8a1: 0xe0000e69, 0xa8a2: 0xe0003c9c, 0xa8a3: 0xe0003c99,\n\t0xa8a4: 0x00306e83, 0xa8a5: 0x40306e20, 0xa8a6: 0xe000104d, 0xa8a7: 0xe000104a,\n\t0xa8a8: 0xe0001066, 0xa8a9: 0xe0001062, 0xa8aa: 0xe000106e, 0xa8ab: 0xe000106a,\n\t0xa8ac: 0xe000107e, 0xa8ad: 0xe000107a, 0xa8ae: 0xe0001076, 0xa8af: 0xe0001072,\n\t0xa8b0: 0xe0003ca2, 0xa8b1: 0xe0003c9f, 0xa8b2: 0xe0001108, 0xa8b3: 0xe0001105,\n\t0xa8b4: 0xe0001135, 0xa8b5: 0xe0001132, 0xa8b6: 0xe000112f, 0xa8b7: 0xe000112c,\n\t0xa8b8: 0xe000111d, 0xa8b9: 0xe000111a, 0xa8ba: 0xe0000d0a, 0xa8bb: 0xe0000d07,\n\t0xa8bc: 0x0030d888, 0xa8bd: 0x4030d820, 0xa8be: 0x00312088, 0xa8bf: 0x40312020,\n\t// Block 0x2a3, offset 0xa8c0\n\t0xa8c0: 0xa0000000, 0xa8c1: 0xa0000000, 0xa8c2: 0xa0000000, 0xa8c3: 0xa0000000,\n\t0xa8c4: 0xa0000000, 0xa8c5: 0xa0000000, 0xa8c6: 0xa0000000, 0xa8c7: 0xa0000000,\n\t0xa8c8: 0xa0000000, 0xa8c9: 0x40020020, 0xa8ca: 0x40020220, 0xa8cb: 0x40020420,\n\t0xa8cc: 0x40020620, 0xa8cd: 0x40020820, 0xa8ce: 0xa0000000, 0xa8cf: 0xa0000000,\n\t0xa8d0: 0xa0000000, 0xa8d1: 0xa0000000, 0xa8d2: 0xa0000000, 0xa8d3: 0xa0000000,\n\t0xa8d4: 0xa0000000, 0xa8d5: 0xa0000000, 0xa8d6: 0xa0000000, 0xa8d7: 0xa0000000,\n\t0xa8d8: 0xa0000000, 0xa8d9: 0xa0000000, 0xa8da: 0xa0000000, 0xa8db: 0xa0000000,\n\t0xa8dc: 0xa0000000, 0xa8dd: 0xa0000000, 0xa8de: 0xa0000000, 0xa8df: 0xa0000000,\n\t0xa8e0: 0x40021220, 0xa8e1: 0x4002ba20, 0xa8e2: 0x4003e020, 0xa8e3: 0x4004ea20,\n\t0xa8e4: 0x4027de20, 0xa8e5: 0x4004ec20, 0xa8e6: 0x4004e620, 0xa8e7: 0x4003d220,\n\t0xa8e8: 0x4003f420, 0xa8e9: 0x4003f620, 0xa8ea: 0x4004d820, 0xa8eb: 0x40093820,\n\t0xa8ec: 0x40024020, 0xa8ed: 0x40021a20, 0xa8ee: 0x4002e420, 0xa8ef: 0x4004e220,\n\t0xa8f0: 0x4029cc20, 0xa8f1: 0x4029ce20, 0xa8f2: 0x4029d020, 0xa8f3: 0x4029d220,\n\t0xa8f4: 0x4029d420, 0xa8f5: 0x4029d620, 0xa8f6: 0x4029d820, 0xa8f7: 0x4029da20,\n\t0xa8f8: 0x4029dc20, 0xa8f9: 0x4029de20, 0xa8fa: 0x40026c20, 0xa8fb: 0x40026220,\n\t0xa8fc: 0x40094020, 0xa8fd: 0x40094220, 0xa8fe: 0x40094420, 0xa8ff: 0x4002c420,\n\t// Block 0x2a4, offset 0xa900\n\t0xa900: 0x4004d620, 0xa901: 0xc63031a1, 0xa902: 0x002c0a88, 0xa903: 0x002c3a88,\n\t0xa904: 0x002c6288, 0xa905: 0xc63631e1, 0xa906: 0x002d0888, 0xa907: 0x002d2288,\n\t0xa908: 0x002d6888, 0xa909: 0xc63a31e1, 0xa90a: 0x002dcc88, 0xa90b: 0x002dfe88,\n\t0xa90c: 0xc0030002, 0xa90d: 0x002e8288, 0xa90e: 0x002e9e88, 0xa90f: 0xc63f3201,\n\t0xa910: 0x002f2c88, 0xa911: 0x002f5688, 0xa912: 0x002f7a88, 0xa913: 0x002fe688,\n\t0xa914: 0x00302c88, 0xa915: 0xc64431e1, 0xa916: 0x0030be88, 0xa917: 0x0030e288,\n\t0xa918: 0x0030f688, 0xa919: 0xc64831e1, 0xa91a: 0x00312a88, 0xa91b: 0x4003f820,\n\t0xa91c: 0x4004e420, 0xa91d: 0x4003fa20, 0xa91e: 0x40062420, 0xa91f: 0x40021620,\n\t0xa920: 0x40061e20, 0xa921: 0xc62c31a1, 0xa922: 0x402c0a20, 0xa923: 0x402c3a20,\n\t0xa924: 0x402c6220, 0xa925: 0xc63431e1, 0xa926: 0x402d0820, 0xa927: 0x402d2220,\n\t0xa928: 0x402d6820, 0xa929: 0xc63831e1, 0xa92a: 0x402dcc20, 0xa92b: 0x402dfe20,\n\t0xa92c: 0xc0000002, 0xa92d: 0x402e8220, 0xa92e: 0x402e9e20, 0xa92f: 0xc63c3201,\n\t0xa930: 0x402f2c20, 0xa931: 0x402f5620, 0xa932: 0x402f7a20, 0xa933: 0x402fe620,\n\t0xa934: 0x40302c20, 0xa935: 0xc64231e1, 0xa936: 0x4030be20, 0xa937: 0x4030e220,\n\t0xa938: 0x4030f620, 0xa939: 0xc64631e1, 0xa93a: 0x40312a20, 0xa93b: 0x4003fc20,\n\t0xa93c: 0x40094820, 0xa93d: 0x4003fe20, 0xa93e: 0x40094c20, 0xa93f: 0xa0000000,\n\t// Block 0x2a5, offset 0xa940\n\t0xa940: 0xe00008f5, 0xa941: 0x002c0883, 0xa942: 0xe0000921, 0xa943: 0xe0000969,\n\t0xa944: 0x00320ca3, 0xa945: 0x00321083, 0xa946: 0x00320c83, 0xa947: 0xe0000a53,\n\t0xa948: 0xe0000ae8, 0xa949: 0x002d0683, 0xa94a: 0xe0000af4, 0xa94b: 0xe0000b20,\n\t0xa94c: 0xe0000c2b, 0xa94d: 0x002dca83, 0xa94e: 0xe0000c37, 0xa94f: 0xe0000c43,\n\t0xa950: 0x002c6483, 0xa951: 0xe0000d63, 0xa952: 0xe0000d9a, 0xa953: 0x002f2a83,\n\t0xa954: 0xe0000da6, 0xa955: 0xe0000de6, 0xa956: 0x00320e83, 0xa957: 0x40093e20,\n\t0xa958: 0x00320ea3, 0xa959: 0xe0000fe1, 0xa95a: 0x0030bc83, 0xa95b: 0xe0000fed,\n\t0xa95c: 0xe0000fff, 0xa95d: 0x00312883, 0xa95e: 0x00318888, 0xa95f: 0xe0000f7b,\n\t0xa960: 0xe00008f2, 0xa961: 0x402c0820, 0xa962: 0xe000091e, 0xa963: 0xe0000966,\n\t0xa964: 0x40320c21, 0xa965: 0x40321020, 0xa966: 0x40320c20, 0xa967: 0xe0000a4d,\n\t0xa968: 0xe0000ae5, 0xa969: 0x402d0620, 0xa96a: 0xe0000af1, 0xa96b: 0xe0000b1d,\n\t0xa96c: 0xe0000c28, 0xa96d: 0x402dca20, 0xa96e: 0xe0000c34, 0xa96f: 0xe0000c40,\n\t0xa970: 0x402c6420, 0xa971: 0xe0000d60, 0xa972: 0xe0000d97, 0xa973: 0x402f2a20,\n\t0xa974: 0xe0000da3, 0xa975: 0xe0000de3, 0xa976: 0x40320e20, 0xa977: 0x40093c20,\n\t0xa978: 0x40320e21, 0xa979: 0xe0000fde, 0xa97a: 0x4030bc20, 0xa97b: 0xe0000fea,\n\t0xa97c: 0xe0000ffc, 0xa97d: 0x40312820, 0xa97e: 0x40318820, 0xa97f: 0xe0001114,\n\t// Block 0x2a6, offset 0xa980\n\t0xa980: 0xe0000983, 0xa981: 0xe0000980, 0xa982: 0xe00008fb, 0xa983: 0xe00008f8,\n\t0xa984: 0xe000097d, 0xa985: 0xe000097a, 0xa986: 0xe0000a38, 0xa987: 0xe0000a35,\n\t0xa988: 0xe0000a3e, 0xa989: 0xe0000a3b, 0xa98a: 0xe0000a4a, 0xa98b: 0xe0000a47,\n\t0xa98c: 0xe0000a44, 0xa98d: 0xe0000a41, 0xa98e: 0xe0000a86, 0xa98f: 0xe0000a83,\n\t0xa990: 0x002c62a3, 0xa991: 0x402c6221, 0xa992: 0xe0000b46, 0xa993: 0xe0000b43,\n\t0xa994: 0xe0000aee, 0xa995: 0xe0000aeb, 0xa996: 0xe0000b2c, 0xa997: 0xe0000b29,\n\t0xa998: 0xe0000b40, 0xa999: 0xe0000b3d, 0xa99a: 0xe0000b1a, 0xa99b: 0xe0000b17,\n\t0xa99c: 0xe0000bb8, 0xa99d: 0xe0000bb5, 0xa99e: 0xe0000bb2, 0xa99f: 0xe0000baf,\n\t0xa9a0: 0xe0000bc4, 0xa9a1: 0xe0000bc1, 0xa9a2: 0xe0000bca, 0xa9a3: 0xe0000bc7,\n\t0xa9a4: 0xe0000bee, 0xa9a5: 0xe0000beb, 0xa9a6: 0xe0000c1b, 0xa9a7: 0xe0000c18,\n\t0xa9a8: 0xe0000c51, 0xa9a9: 0xe0000c4e, 0xa9aa: 0xe0000c60, 0xa9ab: 0xe0000c5d,\n\t0xa9ac: 0xe0000c31, 0xa9ad: 0xe0000c2e, 0xa9ae: 0xe0000c5a, 0xa9af: 0xe0000c57,\n\t0xa9b0: 0xe0000c54, 0xa9b1: 0x402da220, 0xa9b2: 0xf0000a0a, 0xa9b3: 0xf0000404,\n\t0xa9b4: 0xe0000c8a, 0xa9b5: 0xe0000c87, 0xa9b6: 0xe0000c9f, 0xa9b7: 0xe0000c9c,\n\t0xa9b8: 0x402f7220, 0xa9b9: 0xe0000ccc, 0xa9ba: 0xe0000cc9, 0xa9bb: 0xe0000cd8,\n\t0xa9bc: 0xe0000cd5, 0xa9bd: 0xe0000cd2, 0xa9be: 0xe0000ccf, 0xa9bf: 0xe0000d04,\n\t// Block 0x2a7, offset 0xa9c0\n\t0xa9c0: 0x40321220, 0xa9c1: 0x40321a20, 0xa9c2: 0x40322220, 0xa9c3: 0x40322a20,\n\t0xa9c4: 0xe0000ad5, 0xa9c5: 0xe0000ad1, 0xa9c6: 0xe0000acd, 0xa9c7: 0xf0000a0a,\n\t0xa9c8: 0xf000040a, 0xa9c9: 0xf0000404, 0xa9ca: 0xf0000a0a, 0xa9cb: 0xf000040a,\n\t0xa9cc: 0xf0000404, 0xa9cd: 0xe0000947, 0xa9ce: 0xe0000944, 0xa9cf: 0xe0000c3d,\n\t0xa9d0: 0xe0000c3a, 0xa9d1: 0xe0000dcc, 0xa9d2: 0xe0000dc9, 0xa9d3: 0xe0000ff3,\n\t0xa9d4: 0xe0000ff0, 0xa9d5: 0xe000101e, 0xa9d6: 0xe000101a, 0xa9d7: 0xe0003cde,\n\t0xa9d8: 0xe0003cdb, 0xa9d9: 0xe0001016, 0xa9da: 0xe0001012, 0xa9db: 0xe000100e,\n\t0xa9dc: 0xe000100a, 0xa9dd: 0x402cae20, 0xa9de: 0xe000299d, 0xa9df: 0xe000299a,\n\t0xa9e0: 0xe0000976, 0xa9e1: 0xe0000972, 0xa9e2: 0xe0002997, 0xa9e3: 0xe0002994,\n\t0xa9e4: 0x002d3a88, 0xa9e5: 0x402d3a20, 0xa9e6: 0xe0000bbe, 0xa9e7: 0xe0000bbb,\n\t0xa9e8: 0xe0000c99, 0xa9e9: 0xe0000c96, 0xa9ea: 0xe0000e20, 0xa9eb: 0xe0000e1d,\n\t0xa9ec: 0xe0000e27, 0xa9ed: 0xe0000e23, 0xa9ee: 0xe0001162, 0xa9ef: 0xe000115f,\n\t0xa9f0: 0xe0000c8d, 0xa9f1: 0xf0000a0a, 0xa9f2: 0xf000040a, 0xa9f3: 0xf0000404,\n\t0xa9f4: 0xe0000bac, 0xa9f5: 0xe0000ba9, 0xa9f6: 0x002d7888, 0xa9f7: 0x00319488,\n\t0xa9f8: 0xe0000d57, 0xa9f9: 0xe0000d54, 0xa9fa: 0xe00029b5, 0xa9fb: 0xe00029b2,\n\t0xa9fc: 0xe0002991, 0xa9fd: 0xe000298e, 0xa9fe: 0xe00037ee, 0xa9ff: 0xe00037eb,\n\t// Block 0x2a8, offset 0xaa00\n\t0xaa00: 0xe000098f, 0xaa01: 0xe000098c, 0xaa02: 0xe0000995, 0xaa03: 0xe0000992,\n\t0xaa04: 0xe0000b62, 0xaa05: 0xe0000b5f, 0xaa06: 0xe0000b68, 0xaa07: 0xe0000b65,\n\t0xaa08: 0xe0000c6c, 0xaa09: 0xe0000c69, 0xaa0a: 0xe0000c72, 0xaa0b: 0xe0000c6f,\n\t0xaa0c: 0xe0000e4a, 0xaa0d: 0xe0000e47, 0xaa0e: 0xe0000e50, 0xaa0f: 0xe0000e4d,\n\t0xaa10: 0xe0000ee8, 0xaa11: 0xe0000ee5, 0xaa12: 0xe0000eee, 0xaa13: 0xe0000eeb,\n\t0xaa14: 0xe0001053, 0xaa15: 0xe0001050, 0xaa16: 0xe0001059, 0xaa17: 0xe0001056,\n\t0xaa18: 0xe0000f61, 0xaa19: 0xe0000f5e, 0xaa1a: 0xe0000fa5, 0xaa1b: 0xe0000fa2,\n\t0xaa1c: 0x00312288, 0xaa1d: 0x40312220, 0xaa1e: 0xe0000bf4, 0xaa1f: 0xe0000bf1,\n\t0xaa20: 0x002ebc88, 0xaa21: 0x402c8c20, 0xaa22: 0x002f2288, 0xaa23: 0x402f2220,\n\t0xaa24: 0x00314088, 0xaa25: 0x40314020, 0xaa26: 0xe000096f, 0xaa27: 0xe000096c,\n\t0xaa28: 0xe0000b32, 0xaa29: 0xe0000b2f, 0xaa2a: 0xe00037e8, 0xaa2b: 0xe00037e5,\n\t0xaa2c: 0xe0000dfd, 0xaa2d: 0xe0000df9, 0xaa2e: 0xe0000e04, 0xaa2f: 0xe0000e01,\n\t0xaa30: 0xe0000e0b, 0xaa31: 0xe0000e07, 0xaa32: 0xe0001129, 0xaa33: 0xe0001126,\n\t0xaa34: 0x402e5e20, 0xaa35: 0x402ed020, 0xaa36: 0x40305a20, 0xaa37: 0x402dd420,\n\t0xaa38: 0xe0000abf, 0xaa39: 0xe0000ec4, 0xaa3a: 0x002be888, 0xaa3b: 0x002c4488,\n\t0xaa3c: 0x402c4420, 0xaa3d: 0x002e3888, 0xaa3e: 0x00303e88, 0xaa3f: 0x402ffc20,\n\t// Block 0x2a9, offset 0xaa40\n\t0xaa40: 0xe00009b1, 0xaa41: 0xe00009ae, 0xaa42: 0xe0000a22, 0xaa43: 0xe0000a1f,\n\t0xaa44: 0xe0000a28, 0xaa45: 0xe0000a25, 0xaa46: 0xe0000a2e, 0xaa47: 0xe0000a2b,\n\t0xaa48: 0xe0000a5a, 0xaa49: 0xe0000a56, 0xaa4a: 0xe0000a8c, 0xaa4b: 0xe0000a89,\n\t0xaa4c: 0xe0000a98, 0xaa4d: 0xe0000a95, 0xaa4e: 0xe0000aa4, 0xaa4f: 0xe0000aa1,\n\t0xaa50: 0xe0000a92, 0xaa51: 0xe0000a8f, 0xaa52: 0xe0000a9e, 0xaa53: 0xe0000a9b,\n\t0xaa54: 0xe0000b55, 0xaa55: 0xe0000b51, 0xaa56: 0xe0003cba, 0xaa57: 0xe0003cb7,\n\t0xaa58: 0xe0000b7c, 0xaa59: 0xe0000b79, 0xaa5a: 0xe0000b82, 0xaa5b: 0xe0000b7f,\n\t0xaa5c: 0xe0000b39, 0xaa5d: 0xe0000b35, 0xaa5e: 0xe0000b8c, 0xaa5f: 0xe0000b89,\n\t0xaa60: 0xe0000bd0, 0xaa61: 0xe0000bcd, 0xaa62: 0xe0000c00, 0xaa63: 0xe0000bfd,\n\t0xaa64: 0xe0000c0c, 0xaa65: 0xe0000c09, 0xaa66: 0xe0000bfa, 0xaa67: 0xe0000bf7,\n\t0xaa68: 0xe0000c06, 0xaa69: 0xe0000c03, 0xaa6a: 0xe0000c12, 0xaa6b: 0xe0000c0f,\n\t0xaa6c: 0xe0000c7e, 0xaa6d: 0xe0000c7b, 0xaa6e: 0xe0003cc0, 0xaa6f: 0xe0003cbd,\n\t0xaa70: 0xe0000c93, 0xaa71: 0xe0000c90, 0xaa72: 0xe0000cab, 0xaa73: 0xe0000ca8,\n\t0xaa74: 0xe0000cb1, 0xaa75: 0xe0000cae, 0xaa76: 0xe0000cde, 0xaa77: 0xe0000cdb,\n\t0xaa78: 0xe0000ce5, 0xaa79: 0xe0000ce1, 0xaa7a: 0xe0000cf2, 0xaa7b: 0xe0000cef,\n\t0xaa7c: 0xe0000cec, 0xaa7d: 0xe0000ce9, 0xaa7e: 0xe0000d1e, 0xaa7f: 0xe0000d1b,\n\t// Block 0x2aa, offset 0xaa80\n\t0xaa80: 0xe0000d24, 0xaa81: 0xe0000d21, 0xaa82: 0xe0000d2a, 0xaa83: 0xe0000d27,\n\t0xaa84: 0xe0000d69, 0xaa85: 0xe0000d66, 0xaa86: 0xe0000d7b, 0xaa87: 0xe0000d78,\n\t0xaa88: 0xe0000d87, 0xaa89: 0xe0000d84, 0xaa8a: 0xe0000d81, 0xaa8b: 0xe0000d7e,\n\t0xaa8c: 0xe0003ccc, 0xaa8d: 0xe0003cc9, 0xaa8e: 0xe0003cf0, 0xaa8f: 0xe0003ced,\n\t0xaa90: 0xe0000e3d, 0xaa91: 0xe0000e39, 0xaa92: 0xe0003cd2, 0xaa93: 0xe0003ccf,\n\t0xaa94: 0xe0000ea7, 0xaa95: 0xe0000ea4, 0xaa96: 0xe0000ead, 0xaa97: 0xe0000eaa,\n\t0xaa98: 0xe0000ed6, 0xaa99: 0xe0000ed3, 0xaa9a: 0xe0000ef4, 0xaa9b: 0xe0000ef1,\n\t0xaa9c: 0xe0000efb, 0xaa9d: 0xe0000ef7, 0xaa9e: 0xe0000f02, 0xaa9f: 0xe0000eff,\n\t0xaaa0: 0xe0000f41, 0xaaa1: 0xe0000f3e, 0xaaa2: 0xe0000f53, 0xaaa3: 0xe0000f50,\n\t0xaaa4: 0xe0000f26, 0xaaa5: 0xe0000f22, 0xaaa6: 0xe0000f3a, 0xaaa7: 0xe0000f36,\n\t0xaaa8: 0xe0000f5a, 0xaaa9: 0xe0000f56, 0xaaaa: 0xe0000f93, 0xaaab: 0xe0000f90,\n\t0xaaac: 0xe0000f9f, 0xaaad: 0xe0000f9c, 0xaaae: 0xe0000fb1, 0xaaaf: 0xe0000fae,\n\t0xaab0: 0xe0000fab, 0xaab1: 0xe0000fa8, 0xaab2: 0xe0001093, 0xaab3: 0xe0001090,\n\t0xaab4: 0xe000109f, 0xaab5: 0xe000109c, 0xaab6: 0xe0001099, 0xaab7: 0xe0001096,\n\t0xaab8: 0xe0003ce4, 0xaab9: 0xe0003ce1, 0xaaba: 0xe0001046, 0xaabb: 0xe0001042,\n\t0xaabc: 0xe00010a9, 0xaabd: 0xe00010a6, 0xaabe: 0xe00010af, 0xaabf: 0xe00010ac,\n\t// Block 0x2ab, offset 0xaac0\n\t0xaac0: 0xe00010d2, 0xaac1: 0xe00010cf, 0xaac2: 0xe00010cc, 0xaac3: 0xe00010c9,\n\t0xaac4: 0xe00010e1, 0xaac5: 0xe00010de, 0xaac6: 0xe00010e7, 0xaac7: 0xe00010e4,\n\t0xaac8: 0xe00010ed, 0xaac9: 0xe00010ea, 0xaaca: 0xe00010fc, 0xaacb: 0xe00010f9,\n\t0xaacc: 0xe00010f6, 0xaacd: 0xe00010f3, 0xaace: 0xe0001123, 0xaacf: 0xe0001120,\n\t0xaad0: 0xe0001141, 0xaad1: 0xe000113e, 0xaad2: 0xe0001153, 0xaad3: 0xe0001150,\n\t0xaad4: 0xe0001159, 0xaad5: 0xe0001156, 0xaad6: 0xe0000c15, 0xaad7: 0xe0000f8d,\n\t0xaad8: 0xe00010db, 0xaad9: 0xe0001111, 0xaada: 0xf0000404, 0xaadb: 0xe0000f70,\n\t0xaadc: 0x40300420, 0xaadd: 0x40300620, 0xaade: 0xe0000f7f, 0xaadf: 0x402c9620,\n\t0xaae0: 0xe000099b, 0xaae1: 0xe0000998, 0xaae2: 0xe0000989, 0xaae3: 0xe0000986,\n\t0xaae4: 0xe0003cae, 0xaae5: 0xe0003cab, 0xaae6: 0xe0000930, 0xaae7: 0xe000092c,\n\t0xaae8: 0xe0000940, 0xaae9: 0xe000093c, 0xaaea: 0xe0000938, 0xaaeb: 0xe0000934,\n\t0xaaec: 0xe00009aa, 0xaaed: 0xe00009a6, 0xaaee: 0xe0003ca8, 0xaaef: 0xe0003ca5,\n\t0xaaf0: 0xe000090a, 0xaaf1: 0xe0000906, 0xaaf2: 0xe000091a, 0xaaf3: 0xe0000916,\n\t0xaaf4: 0xe0000912, 0xaaf5: 0xe000090e, 0xaaf6: 0xe00009a2, 0xaaf7: 0xe000099e,\n\t0xaaf8: 0xe0000b6e, 0xaaf9: 0xe0000b6b, 0xaafa: 0xe0000b5c, 0xaafb: 0xe0000b59,\n\t0xaafc: 0xe0000b26, 0xaafd: 0xe0000b23, 0xaafe: 0xe0003cb4, 0xaaff: 0xe0003cb1,\n\t// Block 0x2ac, offset 0xab00\n\t0xab00: 0xe0000b03, 0xab01: 0xe0000aff, 0xab02: 0xe0000b13, 0xab03: 0xe0000b0f,\n\t0xab04: 0xe0000b0b, 0xab05: 0xe0000b07, 0xab06: 0xe0000b75, 0xab07: 0xe0000b71,\n\t0xab08: 0xe0000c66, 0xab09: 0xe0000c63, 0xab0a: 0xe0000c78, 0xab0b: 0xe0000c75,\n\t0xab0c: 0xe0000e84, 0xab0d: 0xe0000e81, 0xab0e: 0xe0000e44, 0xab0f: 0xe0000e41,\n\t0xab10: 0xe0003cc6, 0xab11: 0xe0003cc3, 0xab12: 0xe0000db5, 0xab13: 0xe0000db1,\n\t0xab14: 0xe0000dc5, 0xab15: 0xe0000dc1, 0xab16: 0xe0000dbd, 0xab17: 0xe0000db9,\n\t0xab18: 0xe0000e8b, 0xab19: 0xe0000e87, 0xab1a: 0xe0003cd8, 0xab1b: 0xe0003cd5,\n\t0xab1c: 0xe0000e65, 0xab1d: 0xe0000e61, 0xab1e: 0xe0000e75, 0xab1f: 0xe0000e71,\n\t0xab20: 0xe0000e6d, 0xab21: 0xe0000e69, 0xab22: 0xe0000e7d, 0xab23: 0xe0000e79,\n\t0xab24: 0xe000108d, 0xab25: 0xe000108a, 0xab26: 0xe000104d, 0xab27: 0xe000104a,\n\t0xab28: 0xe0003cea, 0xab29: 0xe0003ce7, 0xab2a: 0xe000106e, 0xab2b: 0xe000106a,\n\t0xab2c: 0xe000107e, 0xab2d: 0xe000107a, 0xab2e: 0xe0001076, 0xab2f: 0xe0001072,\n\t0xab30: 0xe0001086, 0xab31: 0xe0001082, 0xab32: 0xe0001108, 0xab33: 0xe0001105,\n\t0xab34: 0xe0001135, 0xab35: 0xe0001132, 0xab36: 0xe000112f, 0xab37: 0xe000112c,\n\t0xab38: 0xe000111d, 0xab39: 0xe000111a, 0xab3a: 0xe0000d0a, 0xab3b: 0xe0000d07,\n\t0xab3c: 0x0030d888, 0xab3d: 0x4030d820, 0xab3e: 0x00312088, 0xab3f: 0x40312020,\n\t// Block 0x2ad, offset 0xab40\n\t0xab40: 0x40021220, 0xab41: 0x40025c20, 0xab42: 0x40030420, 0xab43: 0x40051220,\n\t0xab44: 0x40279a20, 0xab45: 0x4027ca20, 0xab46: 0xe0002206, 0xab47: 0xe00001d3,\n\t0xab48: 0x40049c20, 0xab49: 0x40049e20, 0xab4a: 0x4004a020, 0xab4b: 0x4004a220,\n\t0xab4c: 0x4004a420, 0xab4d: 0x4004a620, 0xab4e: 0x4004a820, 0xab4f: 0x4004aa20,\n\t0xab50: 0x4004ac20, 0xab51: 0x4004ae20, 0xab52: 0x40279c20, 0xab53: 0x40279e20,\n\t0xab54: 0x4004b020, 0xab55: 0x4004b220, 0xab56: 0x4004b420, 0xab57: 0x4004b620,\n\t0xab58: 0x4004b820, 0xab59: 0x4004ba20, 0xab5a: 0x4004bc20, 0xab5b: 0x4004be20,\n\t0xab5c: 0x40023820, 0xab5d: 0x4003ea20, 0xab5e: 0x4003ec20, 0xab5f: 0x4003ee20,\n\t0xab60: 0x4027a020, 0xab61: 0xe0000267, 0xab62: 0xe000037f, 0xab63: 0xe0000459,\n\t0xab64: 0xe000052e, 0xab65: 0xe00005f8, 0xab66: 0xe00006c3, 0xab67: 0xe000076b,\n\t0xab68: 0xe0000817, 0xab69: 0xe00008bc, 0xab6a: 0xada12202, 0xab6b: 0xae412302,\n\t0xab6c: 0xae812402, 0xab6d: 0xade12502, 0xab6e: 0xae012602, 0xab6f: 0xae012702,\n\t0xab70: 0x40023a20, 0xab71: 0x4027ce20, 0xab72: 0xe0000152, 0xab73: 0x4027d020,\n\t0xab74: 0xe0000155, 0xab75: 0x4027d220, 0xab76: 0x00279c84, 0xab77: 0x4027a220,\n\t0xab78: 0x02a68284, 0xab79: 0x02a68884, 0xab7a: 0x02a68a84, 0xab7b: 0x4027cc20,\n\t0xab7c: 0xe000231a, 0xab7d: 0x40051420, 0xab7e: 0x4027a420, 0xab7f: 0x4027a620,\n\t// Block 0x2ae, offset 0xab80\n\t0xab81: 0xc64a3231, 0xab82: 0xc6503231, 0xab83: 0xc71a3231,\n\t0xab84: 0xc7203231, 0xab85: 0xc7d83a21, 0xab86: 0xc7e233e1, 0xab87: 0xc8c13231,\n\t0xab88: 0xc8c73231, 0xab89: 0xc9763231, 0xab8a: 0xc97c3231, 0xab8b: 0xc65c32b1,\n\t0xab8c: 0xc6693231, 0xab8d: 0xc72633e1, 0xab8e: 0xc73b3671, 0xab8f: 0xc80433e1,\n\t0xab90: 0xc8193671, 0xab91: 0xc8d332b1, 0xab92: 0xc8e03231, 0xab93: 0xc98233e1,\n\t0xab94: 0xc9973671, 0xab95: 0xc66f33e1, 0xab96: 0xc6843671, 0xab97: 0xc74833e1,\n\t0xab98: 0xc75d3671, 0xab99: 0xc82633e1, 0xab9a: 0xc83b3671, 0xab9b: 0xc8e633e1,\n\t0xab9c: 0xc8fb3671, 0xab9d: 0xc99f33e1, 0xab9e: 0xc9b43671, 0xab9f: 0xc68c33e1,\n\t0xaba0: 0xc6a13671, 0xaba1: 0xc76533e1, 0xaba2: 0xc77a3671, 0xaba3: 0xc8433a21,\n\t0xaba4: 0xc84d33e1, 0xaba5: 0xc8623671, 0xaba6: 0xc90333e1, 0xaba7: 0xc9183671,\n\t0xaba8: 0xc9c133e1, 0xaba9: 0xc9d63671, 0xabaa: 0xc6a93231, 0xabab: 0xc7823231,\n\t0xabac: 0xc86d3231, 0xabad: 0xc9203231, 0xabae: 0xc9de3231, 0xabaf: 0xc6b436f1,\n\t0xabb0: 0xc6cf3671, 0xabb1: 0xc6d73671, 0xabb2: 0xc78d36f1, 0xabb3: 0xc7a83671,\n\t0xabb4: 0xc7b03671, 0xabb5: 0xc87836f1, 0xabb6: 0xc8933671, 0xabb7: 0xc89b3671,\n\t0xabb8: 0xc92b36f1, 0xabb9: 0xc9463671, 0xabba: 0xc94e3671, 0xabbb: 0xc9e936f1,\n\t0xabbc: 0xca043671, 0xabbd: 0xca0c3671, 0xabbe: 0xc6df3231, 0xabbf: 0xc7b83231,\n\t// Block 0x2af, offset 0xabc0\n\t0xabc0: 0xc8a63231, 0xabc1: 0xc9563231, 0xabc2: 0xca143231, 0xabc3: 0xc6e53231,\n\t0xabc4: 0xc6eb3231, 0xabc5: 0xc8ac3231, 0xabc6: 0xc8b23231, 0xabc7: 0xca1a3231,\n\t0xabc8: 0xca203231, 0xabc9: 0xc6f43231, 0xabca: 0xc7c13231, 0xabcb: 0xc8bb3231,\n\t0xabcc: 0xc95f3231, 0xabcd: 0xca293231, 0xabce: 0xc6fa3a21, 0xabcf: 0xc7043a21,\n\t0xabd0: 0xc7c73a21, 0xabd1: 0xc9653a21, 0xabd2: 0xca2f3a21, 0xabd3: 0xca453ab1,\n\t0xabd4: 0xc7f73671, 0xabd5: 0xc6563231, 0xabd6: 0xc8cd3231,\n\t0xabd9: 0xa0812802, 0xabda: 0xa0812902, 0xabdb: 0x40063c20,\n\t0xabdc: 0x40063e20, 0xabdd: 0x4027d820, 0xabde: 0xe000015b, 0xabdf: 0xe0004033,\n\t0xabe0: 0x40023c20, 0xabe1: 0xc64d3281, 0xabe2: 0xc6533281, 0xabe3: 0xc71d3281,\n\t0xabe4: 0xc7233281, 0xabe5: 0xc7dd3601, 0xabe6: 0xc7ea3501, 0xabe7: 0xc8c43281,\n\t0xabe8: 0xc8ca3281, 0xabe9: 0xc9793281, 0xabea: 0xc97f3281, 0xabeb: 0xc6613361,\n\t0xabec: 0xc66c3281, 0xabed: 0xc72e3501, 0xabee: 0xc73f36c1, 0xabef: 0xc80c3501,\n\t0xabf0: 0xc81d36c1, 0xabf1: 0xc8d83361, 0xabf2: 0xc8e33281, 0xabf3: 0xc98a3501,\n\t0xabf4: 0xc99b36c1, 0xabf5: 0xc6773501, 0xabf6: 0xc68836c1, 0xabf7: 0xc7503501,\n\t0xabf8: 0xc76136c1, 0xabf9: 0xc82e3501, 0xabfa: 0xc83f36c1, 0xabfb: 0xc8ee3501,\n\t0xabfc: 0xc8ff36c1, 0xabfd: 0xc9a73501, 0xabfe: 0xc9b836c1, 0xabff: 0xc6943501,\n\t// Block 0x2b0, offset 0xac00\n\t0xac00: 0xc6a536c1, 0xac01: 0xc76d3501, 0xac02: 0xc77e36c1, 0xac03: 0xc8483601,\n\t0xac04: 0xc8553501, 0xac05: 0xc86636c1, 0xac06: 0xc90b3501, 0xac07: 0xc91c36c1,\n\t0xac08: 0xc9c93501, 0xac09: 0xc9da36c1, 0xac0a: 0xc6ac3281, 0xac0b: 0xc7853281,\n\t0xac0c: 0xc8703281, 0xac0d: 0xc9233281, 0xac0e: 0xc9e13281, 0xac0f: 0xc6bf38a1,\n\t0xac10: 0xc6d336c1, 0xac11: 0xc6db36c1, 0xac12: 0xc79838a1, 0xac13: 0xc7ac36c1,\n\t0xac14: 0xc7b436c1, 0xac15: 0xc88338a1, 0xac16: 0xc89736c1, 0xac17: 0xc89f36c1,\n\t0xac18: 0xc93638a1, 0xac19: 0xc94a36c1, 0xac1a: 0xc95236c1, 0xac1b: 0xc9f438a1,\n\t0xac1c: 0xca0836c1, 0xac1d: 0xca1036c1, 0xac1e: 0xc6e23281, 0xac1f: 0xc7bb3281,\n\t0xac20: 0xc8a93281, 0xac21: 0xc9593281, 0xac22: 0xca173281, 0xac23: 0xc6e83281,\n\t0xac24: 0xc6ee3281, 0xac25: 0xc8af3281, 0xac26: 0xc8b53281, 0xac27: 0xca1d3281,\n\t0xac28: 0xca233281, 0xac29: 0xc6f73281, 0xac2a: 0xc7c43281, 0xac2b: 0xc8be3281,\n\t0xac2c: 0xc9623281, 0xac2d: 0xca2c3281, 0xac2e: 0xc6ff3601, 0xac2f: 0xc7093501,\n\t0xac30: 0xc7cc3501, 0xac31: 0xc96a3501, 0xac32: 0xca343501, 0xac33: 0xca453ae1,\n\t0xac34: 0xc7fb36c1, 0xac35: 0xc6593281, 0xac36: 0xc8d03281, 0xac37: 0xc71636c1,\n\t0xac38: 0xc7d436c1, 0xac39: 0xc97236c1, 0xac3a: 0xca4136c1, 0xac3b: 0x40023e20,\n\t0xac3c: 0x4027d620, 0xac3d: 0x4027d820, 0xac3e: 0xe000015b, 0xac3f: 0xe0003eda,\n\t// Block 0x2b1, offset 0xac40\n\t0xac45: 0x4065da20, 0xac46: 0x4065dc20, 0xac47: 0x4065de20,\n\t0xac48: 0x4065e020, 0xac49: 0x4065e420, 0xac4a: 0x4065e620, 0xac4b: 0x4065e820,\n\t0xac4c: 0x4065ea20, 0xac4d: 0x4065ec20, 0xac4e: 0x4065ee20, 0xac4f: 0x4065f420,\n\t0xac50: 0x4065f620, 0xac51: 0x4065f820, 0xac52: 0x4065fa20, 0xac53: 0x4065fe20,\n\t0xac54: 0x40660020, 0xac55: 0x40660220, 0xac56: 0x40660420, 0xac57: 0x40660620,\n\t0xac58: 0x40660820, 0xac59: 0x40660a20, 0xac5a: 0x40661220, 0xac5b: 0x40661420,\n\t0xac5c: 0x40661820, 0xac5d: 0x40661a20, 0xac5e: 0x40661e20, 0xac5f: 0x40662020,\n\t0xac60: 0x40662220, 0xac61: 0x40662420, 0xac62: 0x40662620, 0xac63: 0x40662820,\n\t0xac64: 0x40662a20, 0xac65: 0x40662e20, 0xac66: 0x40663620, 0xac67: 0x40663820,\n\t0xac68: 0x40663a20, 0xac69: 0x40663c20, 0xac6a: 0x4065e220, 0xac6b: 0x4065f020,\n\t0xac6c: 0x4065fc20, 0xac6d: 0x40663e20,\n\t0xac71: 0x4062ac20, 0xac72: 0x4062ae20, 0xac73: 0x40646820,\n\t0xac74: 0x4062b020, 0xac75: 0x40646c20, 0xac76: 0x40646e20, 0xac77: 0x4062b220,\n\t0xac78: 0x4062b420, 0xac79: 0x4062b620, 0xac7a: 0x40647420, 0xac7b: 0x40647620,\n\t0xac7c: 0x40647820, 0xac7d: 0x40647a20, 0xac7e: 0x40647c20, 0xac7f: 0x40647e20,\n\t// Block 0x2b2, offset 0xac80\n\t0xac80: 0x4062e020, 0xac81: 0x4062b820, 0xac82: 0x4062ba20, 0xac83: 0x4062bc20,\n\t0xac84: 0x4062ee20, 0xac85: 0x4062be20, 0xac86: 0x4062c020, 0xac87: 0x4062c220,\n\t0xac88: 0x4062c420, 0xac89: 0x4062c620, 0xac8a: 0x4062c820, 0xac8b: 0x4062ca20,\n\t0xac8c: 0x4062cc20, 0xac8d: 0x4062ce20, 0xac8e: 0x4062d020, 0xac8f: 0x4063a820,\n\t0xac90: 0x4063aa20, 0xac91: 0x4063ac20, 0xac92: 0x4063ae20, 0xac93: 0x4063b020,\n\t0xac94: 0x4063b220, 0xac95: 0x4063b420, 0xac96: 0x4063b620, 0xac97: 0x4063b820,\n\t0xac98: 0x4063ba20, 0xac99: 0x4063bc20, 0xac9a: 0x4063be20, 0xac9b: 0x4063c020,\n\t0xac9c: 0x4063c220, 0xac9d: 0x4063c420, 0xac9e: 0x4063c620, 0xac9f: 0x4063c820,\n\t0xaca0: 0x4063ca20, 0xaca1: 0x4063cc20, 0xaca2: 0x4063ce20, 0xaca3: 0x4063d020,\n\t0xaca4: 0x4063a620, 0xaca5: 0x0062d484, 0xaca6: 0x0062d684, 0xaca7: 0x0064a284,\n\t0xaca8: 0x0064a484, 0xaca9: 0x0064ac84, 0xacaa: 0x0064b084, 0xacab: 0x0064ba84,\n\t0xacac: 0x0064c284, 0xacad: 0x0064c684, 0xacae: 0x0062e484, 0xacaf: 0x0064ce84,\n\t0xacb0: 0x0064d284, 0xacb1: 0x0062e684, 0xacb2: 0x0062e884, 0xacb3: 0x0062ec84,\n\t0xacb4: 0x0062f084, 0xacb5: 0x0062f284, 0xacb6: 0x0062fa84, 0xacb7: 0x0062fe84,\n\t0xacb8: 0x00630284, 0xacb9: 0x00630484, 0xacba: 0x00630684, 0xacbb: 0x00630884,\n\t0xacbc: 0x00630a84, 0xacbd: 0x00631084, 0xacbe: 0x00631884, 0xacbf: 0x00632c84,\n\t// Block 0x2b3, offset 0xacc0\n\t0xacc0: 0x40275220, 0xacc1: 0x40275420, 0xacc2: 0x40275620, 0xacc3: 0x40275820,\n\t0xacc4: 0x40275a20, 0xacc5: 0x40275c20, 0xacc6: 0x40275e20, 0xacc7: 0x40276020,\n\t0xacc8: 0x40276220, 0xacc9: 0x40276420, 0xacca: 0x40276620, 0xaccb: 0x40276820,\n\t0xaccc: 0x40276a20, 0xaccd: 0x40276c20, 0xacce: 0x40276e20, 0xaccf: 0x40277020,\n\t0xacd0: 0x40277220, 0xacd1: 0x40277420, 0xacd2: 0x40277620, 0xacd3: 0x40277820,\n\t0xacd4: 0x40277a20, 0xacd5: 0x40277c20, 0xacd6: 0x40277e20, 0xacd7: 0x40278020,\n\t0xacd8: 0x40278220, 0xacd9: 0x40278420, 0xacda: 0x40278620, 0xacdb: 0x40278820,\n\t0xacdc: 0x40278a20, 0xacdd: 0x40278c20, 0xacde: 0x40278e20, 0xacdf: 0x40279020,\n\t0xace0: 0x40279220, 0xace1: 0x40279420, 0xace2: 0x40279620, 0xace3: 0x40279820,\n\t0xacf0: 0xc7ff3601, 0xacf1: 0xc7433601, 0xacf2: 0xc8213601, 0xacf3: 0xc9bc3601,\n\t0xacf4: 0xc86a3281, 0xacf5: 0xc6af3601, 0xacf6: 0xc7883601, 0xacf7: 0xc8733601,\n\t0xacf8: 0xc9263601, 0xacf9: 0xc9e43601, 0xacfa: 0xc8a33281, 0xacfb: 0xc6f13281,\n\t0xacfc: 0xc7be3281, 0xacfd: 0xc8b83281, 0xacfe: 0xc95c3281, 0xacff: 0xca263281,\n\t// Block 0x2b4, offset 0xad00\n\t0xad00: 0xf0000404, 0xad01: 0xf0000404, 0xad02: 0xf0000404, 0xad03: 0xf0000404,\n\t0xad04: 0xf0000404, 0xad05: 0xf0000404, 0xad06: 0xf0000404, 0xad07: 0xf0000404,\n\t0xad08: 0xf0000404, 0xad09: 0xf0000404, 0xad0a: 0xf0000404, 0xad0b: 0xf0000404,\n\t0xad0c: 0xf0000404, 0xad0d: 0xf0000404, 0xad0e: 0xe000004c, 0xad0f: 0xe0000051,\n\t0xad10: 0xe0000056, 0xad11: 0xe000005b, 0xad12: 0xe0000060, 0xad13: 0xe0000065,\n\t0xad14: 0xe000006a, 0xad15: 0xe000006f, 0xad16: 0xe0000083, 0xad17: 0xe000008d,\n\t0xad18: 0xe0000092, 0xad19: 0xe0000097, 0xad1a: 0xe000009c, 0xad1b: 0xe00000a1,\n\t0xad1c: 0xe0000088, 0xad1d: 0xe0000074, 0xad1e: 0xe000007c,\n\t0xad20: 0xe0002c96, 0xad21: 0xe0002ca6, 0xad22: 0xe0002c9e, 0xad23: 0xe0002cd6,\n\t0xad24: 0xe0002caa, 0xad25: 0xe0002cbe, 0xad26: 0xe0002c9a, 0xad27: 0xe0002cba,\n\t0xad28: 0xe0002ca2, 0xad29: 0xe0002cc6, 0xad2a: 0xe0002ce6, 0xad2b: 0xe0002cfa,\n\t0xad2c: 0xe0002cf6, 0xad2d: 0xe0002cee, 0xad2e: 0xe0002d22, 0xad2f: 0xe0002cda,\n\t0xad30: 0xe0002ce2, 0xad31: 0xe0002cf2, 0xad32: 0xe0002cea, 0xad33: 0xe0002d06,\n\t0xad34: 0xe0002cce, 0xad35: 0xe0002cfe, 0xad36: 0xe0002d1a, 0xad37: 0xe0002d0a,\n\t0xad38: 0xe0002cc2, 0xad39: 0xe0002cae, 0xad3a: 0xe0002cd2, 0xad3b: 0xe0002cde,\n\t0xad3c: 0xe0002d02, 0xad3d: 0xe0002cb2, 0xad3e: 0xe0002d1e, 0xad3f: 0xe0002cca,\n\t// Block 0x2b5, offset 0xad40\n\t0xad40: 0xe0002d0e, 0xad41: 0xe0002cb6, 0xad42: 0xe0002d12, 0xad43: 0xe0002d16,\n\t0xad44: 0x02aa9e86, 0xad45: 0x02bcf886, 0xad46: 0x02cb0e86, 0xad47: 0x02f71e86,\n\t0xad48: 0xe00002e3, 0xad49: 0xe00003d8, 0xad4a: 0xe00004b3, 0xad4b: 0xe000057d,\n\t0xad4c: 0xe0000648, 0xad4d: 0xe00006f0, 0xad4e: 0xe000079c, 0xad4f: 0xe0000841,\n\t0xad50: 0xe0000ec0, 0xad51: 0xf0000606, 0xad52: 0xf0000606, 0xad53: 0xf0000606,\n\t0xad54: 0xf0000606, 0xad55: 0xf0000606, 0xad56: 0xf0000606, 0xad57: 0xf0000606,\n\t0xad58: 0xf0000606, 0xad59: 0xf0000606, 0xad5a: 0xf0000606, 0xad5b: 0xf0000606,\n\t0xad5c: 0xf0000606, 0xad5d: 0xf0000606, 0xad5e: 0xf0000606, 0xad5f: 0xf0000606,\n\t0xad60: 0x0062ac86, 0xad61: 0x0062b086, 0xad62: 0x0062b286, 0xad63: 0x0062b686,\n\t0xad64: 0x0062b886, 0xad65: 0x0062ba86, 0xad66: 0x0062be86, 0xad67: 0x0062c286,\n\t0xad68: 0x0062c486, 0xad69: 0x0062c886, 0xad6a: 0x0062ca86, 0xad6b: 0x0062cc86,\n\t0xad6c: 0x0062ce86, 0xad6d: 0x0062d086, 0xad6e: 0xf0000606, 0xad6f: 0xf0000606,\n\t0xad70: 0xf0000606, 0xad71: 0xf0000606, 0xad72: 0xf0000606, 0xad73: 0xf0000606,\n\t0xad74: 0xf0000606, 0xad75: 0xf0000606, 0xad76: 0xf0000606, 0xad77: 0xf0000606,\n\t0xad78: 0xf0000606, 0xad79: 0xf0000606, 0xad7a: 0xf0000606, 0xad7b: 0xf0000606,\n\t0xad7c: 0xe0002127, 0xad7d: 0xe0002122, 0xad7e: 0xf0000606, 0xad7f: 0x4027ac20,\n\t// Block 0x2b6, offset 0xad80\n\t0xad80: 0xe0002dea, 0xad81: 0xe0002e57, 0xad82: 0xe0002e8c, 0xad83: 0xe0002eb9,\n\t0xad84: 0xe0002ecb, 0xad85: 0xe0002eda, 0xad86: 0xe0002ee9, 0xad87: 0xe0002ef8,\n\t0xad88: 0xe0002f07, 0xad89: 0xe0002d50, 0xad8a: 0xe0002d63, 0xad8b: 0xe0002d76,\n\t0xad8c: 0xf0001c1d, 0xad8d: 0xe0000b85, 0xad8e: 0xf0001d1c, 0xad8f: 0xe0000d14,\n\t0xad90: 0x00657693, 0xad91: 0x00657893, 0xad92: 0x00657a93, 0xad93: 0x00657e93,\n\t0xad94: 0x00658093, 0xad95: 0x00658293, 0xad96: 0x00658493, 0xad97: 0x00658693,\n\t0xad98: 0x00658893, 0xad99: 0x00658a93, 0xad9a: 0x00658c93, 0xad9b: 0x00658e93,\n\t0xad9c: 0x00659093, 0xad9d: 0x00659293, 0xad9e: 0x00659493, 0xad9f: 0x00659693,\n\t0xada0: 0x00659893, 0xada1: 0x00659a93, 0xada2: 0x00659c93, 0xada3: 0x00659e93,\n\t0xada4: 0x0065a093, 0xada5: 0x0065a293, 0xada6: 0x0065a493, 0xada7: 0x0065a693,\n\t0xada8: 0x0065a893, 0xada9: 0x0065aa93, 0xadaa: 0x0065ac93, 0xadab: 0x0065ae93,\n\t0xadac: 0x0065b093, 0xadad: 0x0065b293, 0xadae: 0x0065b493, 0xadaf: 0x0065b693,\n\t0xadb0: 0x0065b893, 0xadb1: 0x0065ba93, 0xadb2: 0x0065bc93, 0xadb3: 0x0065be93,\n\t0xadb4: 0x0065c093, 0xadb5: 0x0065c493, 0xadb6: 0x0065c693, 0xadb7: 0x0065c893,\n\t0xadb8: 0x0065ca93, 0xadb9: 0x0065cc93, 0xadba: 0x0065ce93, 0xadbb: 0x0065d093,\n\t0xadbc: 0x0065d293, 0xadbd: 0x0065d493, 0xadbe: 0x0065d693,\n\t// Block 0x2b7, offset 0xadc0\n\t0xadc0: 0xe000230b, 0xadc1: 0xe00022f8, 0xadc2: 0xe00022fc, 0xadc3: 0xe0002311,\n\t0xadc4: 0xe0002316, 0xadc5: 0xe000231d, 0xadc6: 0xe0002321, 0xadc7: 0xe0002325,\n\t0xadc8: 0xe000232b, 0xadc9: 0xf0001c1c, 0xadca: 0xe0002330, 0xadcb: 0xe000233c,\n\t0xadcc: 0xe0002340, 0xadcd: 0xe0002337, 0xadce: 0xe0002346, 0xadcf: 0xe000234b,\n\t0xadd0: 0xe000234f, 0xadd1: 0xe0002353, 0xadd2: 0xf0001c1c, 0xadd3: 0xe000235e,\n\t0xadd4: 0xe0002358, 0xadd5: 0xf0001c1c, 0xadd6: 0xe0002363, 0xadd7: 0xe000236d,\n\t0xadd8: 0xe0002d39, 0xadd9: 0xe0002ded, 0xadda: 0xe0002e5a, 0xaddb: 0xe0002e8f,\n\t0xaddc: 0xe0002ebc, 0xaddd: 0xe0002ece, 0xadde: 0xe0002edd, 0xaddf: 0xe0002eec,\n\t0xade0: 0xe0002efb, 0xade1: 0xe0002f0a, 0xade2: 0xe0002d54, 0xade3: 0xe0002d67,\n\t0xade4: 0xe0002d7a, 0xade5: 0xe0002d89, 0xade6: 0xe0002d98, 0xade7: 0xe0002da7,\n\t0xade8: 0xe0002db6, 0xade9: 0xe0002dc5, 0xadea: 0xe0002dd4, 0xadeb: 0xe0002de3,\n\t0xadec: 0xe0002e01, 0xaded: 0xe0002e0c, 0xadee: 0xe0002e17, 0xadef: 0xe0002e22,\n\t0xadf0: 0xe0002e2d, 0xadf1: 0xe0000c1e, 0xadf2: 0xf0001c1c, 0xadf3: 0xf0001d1d,\n\t0xadf4: 0xe0000a31, 0xadf5: 0xf0001d1c, 0xadf6: 0xf0001c1c, 0xadf7: 0xf0001c1c,\n\t0xadf8: 0xe0000ac2, 0xadf9: 0xe0000ac6, 0xadfa: 0xf0001d1d, 0xadfb: 0xe0004091,\n\t0xadfc: 0xe0004097, 0xadfd: 0xe000408e, 0xadfe: 0xe0004094, 0xadff: 0xe0002431,\n\t// Block 0x2b8, offset 0xae00\n\t0xae00: 0xf0001d1c, 0xae01: 0xf0001d1d, 0xae02: 0xe00009b7, 0xae03: 0xf0001c1d,\n\t0xae04: 0xf0001c1c, 0xae05: 0xf0001c1c, 0xae06: 0xe0000a66, 0xae07: 0xe0000a7a,\n\t0xae08: 0xf0001d1c, 0xae09: 0xf0001c1d, 0xae0a: 0xf0001c1c, 0xae0b: 0xf0001d1d,\n\t0xae0c: 0xf0001c1c, 0xae0d: 0xf0001d1d, 0xae0e: 0xf0001d1d, 0xae0f: 0xf0001c1c,\n\t0xae10: 0xf0001c1c, 0xae11: 0xf0001c1c, 0xae12: 0xe0000d0d, 0xae13: 0xf0001c1c,\n\t0xae14: 0xf0001c1c, 0xae15: 0xe0000d3a, 0xae16: 0xe0000d46, 0xae17: 0xf0001d1d,\n\t0xae18: 0xe0000eb0, 0xae19: 0xe0000eb8, 0xae1a: 0xf0001d1d, 0xae1b: 0xf0001c1c,\n\t0xae1c: 0xf0001c1d, 0xae1d: 0xf0001c1d, 0xae1e: 0xe00010b2, 0xae1f: 0xe00009c8,\n\t0xae20: 0xe0002de7, 0xae21: 0xe0002e54, 0xae22: 0xe0002e89, 0xae23: 0xe0002eb6,\n\t0xae24: 0xe0002ec8, 0xae25: 0xe0002ed7, 0xae26: 0xe0002ee6, 0xae27: 0xe0002ef5,\n\t0xae28: 0xe0002f04, 0xae29: 0xe0002d4c, 0xae2a: 0xe0002d5f, 0xae2b: 0xe0002d72,\n\t0xae2c: 0xe0002d85, 0xae2d: 0xe0002d94, 0xae2e: 0xe0002da3, 0xae2f: 0xe0002db2,\n\t0xae30: 0xe0002dc1, 0xae31: 0xe0002dd0, 0xae32: 0xe0002ddf, 0xae33: 0xe0002dfd,\n\t0xae34: 0xe0002e08, 0xae35: 0xe0002e13, 0xae36: 0xe0002e1e, 0xae37: 0xe0002e29,\n\t0xae38: 0xe0002e34, 0xae39: 0xe0002e3b, 0xae3a: 0xe0002e42, 0xae3b: 0xe0002e49,\n\t0xae3c: 0xe0002e50, 0xae3d: 0xe0002e66, 0xae3e: 0xe0002e6d, 0xae3f: 0xe0000bdf,\n\t// Block 0x2b9, offset 0xae40\n\t0xae40: 0x6c009820, 0xae41: 0x6c0ea820, 0xae43: 0x6c08fe20,\n\t0xae47: 0x6c148c20,\n\t0xae48: 0x6c0ad420, 0xae49: 0x6c083420, 0xae4a: 0x6c0ad220, 0xae4b: 0x6c01b020,\n\t0xae4d: 0x6c12c420, 0xae4e: 0x6c158a20,\n\t0xae50: 0x6c172e20, 0xae51: 0x6c00da20,\n\t0xae54: 0x6c02d020, 0xae55: 0x6c173020, 0xae56: 0x6c0bc820, 0xae57: 0x6c18e620,\n\t0xae58: 0x6c041820, 0xae59: 0x6c134c20,\n\t0xae5e: 0x6c0ad620,\n\t0xae61: 0x6c164420,\n\t0xae66: 0x6c135c20,\n\t0xae6a: 0x6c173220,\n\t0xae6d: 0x6c0e8020,\n\t0xae71: 0x6c173420, 0xae72: 0x6c051c20,\n\t0xae76: 0x6c173620,\n\t0xae78: 0x6c036a20, 0xae79: 0x6c0e1420, 0xae7b: 0x6c095e20,\n\t0xae7c: 0x6c173820, 0xae7f: 0x6c173a20,\n\t// Block 0x2ba, offset 0xae80\n\t0xae82: 0x6c173c20, 0xae83: 0x6c110e20,\n\t0xae85: 0x6c041a20,\n\t0xae8b: 0x6c111220,\n\t0xae8d: 0x6c10ae20, 0xae8e: 0x6c062620, 0xae8f: 0x6c13fa20,\n\t0xae95: 0x6c29d820, 0xae96: 0x6c173e20, 0xae97: 0x6c0ad820,\n\t0xae98: 0x6c174020, 0xae99: 0x6c01a220,\n\t0xae9d: 0x6c04f220, 0xae9e: 0x6c068020, 0xae9f: 0x6c152220,\n\t0xaea2: 0x6c1b9e20,\n\t0xaeb1: 0x6c15ec20, 0xaeb3: 0x6c10e220,\n\t0xaebe: 0x6c02fa20,\n\t// Block 0x2bb, offset 0xaec0\n\t0xaec0: 0x6c03d620, 0xaec2: 0x6c174220,\n\t0xaec5: 0x6c174420, 0xaec6: 0x6c163e20,\n\t0xaec8: 0x6c158620, 0xaec9: 0x6c0d0c20, 0xaeca: 0x6c174820, 0xaecb: 0x6c08c020,\n\t0xaecc: 0x6c10ce20, 0xaece: 0x6c174e20,\n\t0xaed1: 0x6c00f820, 0xaed2: 0x6c065e20,\n\t0xaed4: 0x6c065c20, 0xaed5: 0x6c008c20,\n\t0xaed8: 0x6c171a20, 0xaed9: 0x6c171820, 0xaedb: 0x6c077e20,\n\t0xaedc: 0x6c000220, 0xaede: 0x6c175020, 0xaedf: 0x6c175220,\n\t0xaee0: 0x6c175420, 0xaee1: 0x6c13fc20, 0xaee2: 0x6c175620,\n\t0xaee4: 0x6c068420, 0xaee5: 0x6c008e20, 0xaee6: 0x6c147820,\n\t0xaee8: 0x6c046420, 0xaeeb: 0x6c046620,\n\t0xaeec: 0x6c046820, 0xaeed: 0x6c0f3420, 0xaeee: 0x6c164020,\n\t0xaef0: 0x6c175820, 0xaef3: 0x6c175a20,\n\t0xaef6: 0x6c175c20,\n\t0xaefa: 0x6c0b5e20,\n\t// Block 0x2bc, offset 0xaf00\n\t0xaf00: 0x6c09c020, 0xaf01: 0x6c0b6020, 0xaf02: 0x6c176620,\n\t0xaf04: 0x6c176220, 0xaf06: 0x6c176420, 0xaf07: 0x6c041c20,\n\t0xaf0a: 0x6c075e20, 0xaf0b: 0x6c021820,\n\t0xaf0d: 0x6c176020, 0xaf0e: 0x6c175e20, 0xaf0f: 0x6c132a20,\n\t0xaf14: 0x6c086020, 0xaf15: 0x6c085e20, 0xaf16: 0x6c0d7420, 0xaf17: 0x6c176820,\n\t0xaf18: 0x6c12c620, 0xaf19: 0x6c0c4e20,\n\t0xaf1e: 0x6c176a20, 0xaf1f: 0x6c176e20,\n\t0xaf23: 0x6c0dc220,\n\t0xaf24: 0x6c168a20, 0xaf25: 0x6c005420,\n\t0xaf2d: 0x6c176c20, 0xaf2e: 0x6c01b420,\n\t0xaf30: 0x6c04b020, 0xaf32: 0x6c0e8220,\n\t0xaf36: 0x6c05c220, 0xaf37: 0x6c177020,\n\t0xaf3b: 0x6c10ec20,\n\t// Block 0x2bd, offset 0xaf40\n\t0xaf41: 0x6c038620,\n\t0xaf49: 0x6c177220, 0xaf4a: 0x6c005620,\n\t0xaf4d: 0x6c066020, 0xaf4e: 0x6c038820, 0xaf4f: 0x6c131020,\n\t0xaf50: 0x6c11c420, 0xaf51: 0x6c041e20,\n\t0xaf5a: 0x6c021a20,\n\t0xaf5c: 0x6c17b820, 0xaf5d: 0x6c0fae20,\n\t0xaf6f: 0x6c117c20,\n\t0xaf70: 0x6c177620,\n\t0xaf74: 0x6c11d820, 0xaf76: 0x6c168c20,\n\t0xaf78: 0x6c0b1e20, 0xaf7a: 0x6c086220,\n\t0xaf7c: 0x6c08c220, 0xaf7d: 0x6c01b820,\n\t// Block 0x2be, offset 0xaf80\n\t0xaf83: 0x6c0f1220,\n\t0xaf86: 0x6c0df820, 0xaf87: 0x6c177e20,\n\t0xaf8d: 0x6c005820, 0xaf8e: 0x6c0f3620, 0xaf8f: 0x6c09c220,\n\t0xaf90: 0x6c078020, 0xaf91: 0x6c155420, 0xaf93: 0x6c0d9420,\n\t0xaf95: 0x6c01b620, 0xaf97: 0x6c177c20,\n\t0xaf99: 0x6c158820, 0xaf9a: 0x6c177420, 0xaf9b: 0x6c177820,\n\t0xaf9c: 0x6c07f420, 0xaf9d: 0x6c177a20, 0xaf9e: 0x6c1ade20,\n\t0xafa9: 0x6c178a20,\n\t0xafaf: 0x6c179020,\n\t0xafb0: 0x6c178c20, 0xafb3: 0x6c01bc20,\n\t0xafb5: 0x6c134e20, 0xafb6: 0x6c178020,\n\t0xafbb: 0x6c178820,\n\t0xafbc: 0x6c068620, 0xafbf: 0x6c086420,\n\t// Block 0x2bf, offset 0xafc0\n\t0xafc3: 0x6c02fc20,\n\t0xafc6: 0x6c179220,\n\t0xafc8: 0x6c178220, 0xafcb: 0x6c168e20,\n\t0xafcd: 0x6c08c420, 0xafcf: 0x6c178420,\n\t0xafd1: 0x6c178e20,\n\t0xafd6: 0x6c179420,\n\t0xafd8: 0x6c178620, 0xafdb: 0x6c046a20,\n\t0xafdd: 0x6c005a20,\n\t0xafe0: 0x6c046c20, 0xafe1: 0x6c01ba20,\n\t0xafeb: 0x6c1ae020,\n\t0xafed: 0x6c148620, 0xafee: 0x6c12f820, 0xafef: 0x6c068820,\n\t0xaff5: 0x6c0b2220, 0xaff6: 0x6c163620,\n\t0xafff: 0x6c138820,\n\t// Block 0x2c0, offset 0xb000\n\t0xb002: 0x6c055420, 0xb003: 0x6c0d4220,\n\t0xb004: 0x6c020020,\n\t0xb00a: 0x6c09f220,\n\t0xb00e: 0x6c179c20,\n\t0xb010: 0x6c17a620, 0xb011: 0x6c17a220,\n\t0xb014: 0x6c179820, 0xb017: 0x6c0d5620,\n\t0xb018: 0x6c179e20, 0xb01a: 0x6c17a420, 0xb01b: 0x6c17a020,\n\t0xb01d: 0x6c139220, 0xb01f: 0x6c179a20,\n\t0xb021: 0x6c0b2020, 0xb023: 0x6c147a20,\n\t0xb024: 0x6c17a820, 0xb025: 0x6c17aa20,\n\t0xb02e: 0x6c099420, 0xb02f: 0x6c17c420,\n\t0xb033: 0x6c114420,\n\t0xb035: 0x6c128820, 0xb036: 0x6c17ba20,\n\t0xb038: 0x6c13b820, 0xb03a: 0x6c01a420,\n\t0xb03e: 0x6c17c220,\n\t// Block 0x2c1, offset 0xb040\n\t0xb045: 0x6c17b620, 0xb046: 0x6c17c820,\n\t0xb049: 0x6c0ce020, 0xb04b: 0x6c062820,\n\t0xb04d: 0x6c115c20, 0xb04f: 0x6c233820,\n\t0xb051: 0x6c17c620, 0xb052: 0x6c0fe620,\n\t0xb054: 0x6c17b020, 0xb056: 0x6c068c20,\n\t0xb059: 0x6c068a20, 0xb05a: 0x6c17ac20,\n\t0xb05f: 0x6c094420,\n\t0xb061: 0x6c17bc20, 0xb063: 0x6c13b620,\n\t0xb064: 0x6c0e4e20, 0xb065: 0x6c17b420, 0xb066: 0x6c05c620,\n\t0xb068: 0x6c17ae20, 0xb069: 0x6c17be20, 0xb06a: 0x6c17b220, 0xb06b: 0x6c166a20,\n\t0xb06c: 0x6c17c020, 0xb06d: 0x6c170620,\n\t0xb076: 0x6c04f420,\n\t0xb079: 0x6c05c420,\n\t// Block 0x2c2, offset 0xb080\n\t0xb083: 0x6c17ca20,\n\t0xb087: 0x6c17cc20,\n\t0xb088: 0x6c17d420, 0xb089: 0x6c005c20,\n\t0xb08f: 0x6c137820,\n\t0xb090: 0x6c17d220,\n\t0xb095: 0x6c17d020, 0xb096: 0x6c17d820,\n\t0xb09a: 0x6c17d620,\n\t0xb09c: 0x6c0f3820,\n\t0xb0a5: 0x6c05c820,\n\t0xb0ac: 0x6c17da20,\n\t0xb0b2: 0x6c091a20,\n\t0xb0b4: 0x6c0d4420, 0xb0b5: 0x6c0f3a20, 0xb0b6: 0x6c051420,\n\t0xb0b8: 0x6c17dc20,\n\t0xb0bd: 0x6c03d820,\n\t// Block 0x2c3, offset 0xb0c0\n\t0xb0c0: 0x6c17de20,\n\t0xb0c5: 0x6c17e220,\n\t0xb0cd: 0x6c13fe20,\n\t0xb0d1: 0x6c05b020,\n\t0xb0d8: 0x6c083620, 0xb0d9: 0x6c124e20, 0xb0da: 0x6c17e020,\n\t0xb0ec: 0x6c07a220, 0xb0ed: 0x6c159220,\n\t0xb0f2: 0x6c17e620, 0xb0f3: 0x6c17ec20,\n\t0xb0f4: 0x6c17e420, 0xb0f5: 0x6c07a020, 0xb0f7: 0x6c0a4620,\n\t0xb0fe: 0x6c055620,\n\t// Block 0x2c4, offset 0xb100\n\t0xb102: 0x6c17ee20,\n\t0xb105: 0x6c04c620,\n\t0xb109: 0x6c17e820, 0xb10a: 0x6c17ea20,\n\t0xb10d: 0x6c104620, 0xb10f: 0x6c0d3420,\n\t0xb111: 0x6c046e20,\n\t0xb115: 0x6c142e20, 0xb116: 0x6c17f020,\n\t0xb11a: 0x6c164220,\n\t0xb11e: 0x6c17f220,\n\t0xb123: 0x6c17f820,\n\t0xb125: 0x6c17f420, 0xb127: 0x6c0cd820,\n\t0xb12d: 0x6c17f620, 0xb12e: 0x6c17fa20,\n\t0xb135: 0x6c17fe20,\n\t0xb139: 0x6c17fc20, 0xb13b: 0x6c136820,\n\t// Block 0x2c5, offset 0xb140\n\t0xb140: 0x6c03da20, 0xb141: 0x6c180220, 0xb142: 0x6c180420,\n\t0xb144: 0x6c019620,\n\t0xb149: 0x6c180020,\n\t0xb152: 0x6c097820,\n\t0xb154: 0x6c180a20, 0xb155: 0x6c180820, 0xb156: 0x6c180620,\n\t0xb158: 0x6c179620, 0xb15a: 0x6c180c20,\n\t0xb15f: 0x6c0a4820,\n\t0xb161: 0x6c180e20,\n\t0xb16a: 0x6c155620,\n\t0xb172: 0x6c150220,\n\t0xb177: 0x6c181220,\n\t0xb17a: 0x6c181020, 0xb17b: 0x6c181620,\n\t0xb17c: 0x6c181420, 0xb17f: 0x6c181820,\n\t// Block 0x2c6, offset 0xb180\n\t0xb180: 0x6c181a20, 0xb181: 0x6c00a820, 0xb183: 0x6c060a20,\n\t0xb184: 0x6c055a20, 0xb185: 0x6c09c420, 0xb186: 0x6c0eaa20, 0xb187: 0x6c047020,\n\t0xb188: 0x6c0c5020, 0xb189: 0x6c068e20, 0xb18b: 0x6c073820,\n\t0xb18c: 0x6c181e20, 0xb18d: 0x6c14e020, 0xb18e: 0x6c0fb820,\n\t0xb190: 0x6c08c620, 0xb192: 0x6c181c20,\n\t0xb194: 0x6c182020,\n\t0xb19a: 0x6c0fe820,\n\t0xb19c: 0x6c02de20,\n\t0xb1a2: 0x6c182220,\n\t0xb1a5: 0x6c10e420,\n\t0xb1a8: 0x6c0ca420, 0xb1a9: 0x6c182620, 0xb1aa: 0x6c182820, 0xb1ab: 0x6c11b820,\n\t0xb1ac: 0x6c069020, 0xb1ad: 0x6c16fa20, 0xb1ae: 0x6c182a20,\n\t0xb1b1: 0x6c047420,\n\t0xb1b5: 0x6c135020, 0xb1b6: 0x6c0d6420, 0xb1b7: 0x6c050a20,\n\t0xb1b8: 0x6c0f9620,\n\t0xb1bc: 0x6c05ca20,\n\t// Block 0x2c7, offset 0xb1c0\n\t0xb1c0: 0x6c182c20, 0xb1c2: 0x6c182e20,\n\t0xb1c5: 0x6c10ac20, 0xb1c6: 0x6c013a20,\n\t0xb1c9: 0x6c183420, 0xb1ca: 0x6c081220,\n\t0xb1cc: 0x6c183220, 0xb1cd: 0x6c07a420, 0xb1cf: 0x6c183620,\n\t0xb1d0: 0x6c27ee20, 0xb1d1: 0x6c183820, 0xb1d2: 0x6c141620, 0xb1d3: 0x6c183a20,\n\t0xb1d5: 0x6c183c20, 0xb1d6: 0x6c183e20, 0xb1d7: 0x6c0ada20,\n\t0xb1d9: 0x6c092820,\n\t0xb1e0: 0x6c02fe20, 0xb1e2: 0x6c184420,\n\t0xb1e4: 0x6c184020, 0xb1e5: 0x6c14ca20, 0xb1e6: 0x6c184220,\n\t0xb1e8: 0x6c12d020, 0xb1e9: 0x6c184620, 0xb1ea: 0x6c184820, 0xb1eb: 0x6c184a20,\n\t0xb1ec: 0x6c0fea20,\n\t0xb1f0: 0x6c185220, 0xb1f1: 0x6c184e20, 0xb1f2: 0x6c185020, 0xb1f3: 0x6c184c20,\n\t0xb1f4: 0x6c07de20, 0xb1f5: 0x6c185420, 0xb1f6: 0x6c152420, 0xb1f7: 0x6c169020,\n\t0xb1fd: 0x6c185620,\n\t// Block 0x2c8, offset 0xb200\n\t0xb204: 0x6c0bd020, 0xb205: 0x6c185820, 0xb206: 0x6c0a0020,\n\t0xb209: 0x6c185a20, 0xb20b: 0x6c0eac20,\n\t0xb20c: 0x6c164620, 0xb20d: 0x6c0fec20,\n\t0xb216: 0x6c18ec20,\n\t0xb21b: 0x6c185c20,\n\t0xb21c: 0x6c31a420, 0xb21d: 0x6c04b220,\n\t0xb220: 0x6c185e20, 0xb221: 0x6c145020,\n\t0xb226: 0x6c0a1c20, 0xb227: 0x6c0df020,\n\t0xb229: 0x6c186220, 0xb22a: 0x6c10b020,\n\t0xb22d: 0x6c186420,\n\t0xb230: 0x6c186620, 0xb231: 0x6c025020,\n\t0xb235: 0x6c186820, 0xb236: 0x6c047620,\n\t0xb238: 0x6c108020, 0xb239: 0x6c017020, 0xb23a: 0x6c09ec20,\n\t0xb23d: 0x6c11a220, 0xb23e: 0x6c186a20,\n\t// Block 0x2c9, offset 0xb240\n\t0xb240: 0x6c0fee20, 0xb243: 0x6c0b6220,\n\t0xb244: 0x6c186c20, 0xb246: 0x6c133020, 0xb247: 0x6c0c3420,\n\t0xb248: 0x6c02f420, 0xb24a: 0x6c030220, 0xb24b: 0x6c186e20,\n\t0xb24e: 0x6c187220,\n\t0xb251: 0x6c055820,\n\t0xb254: 0x6c187020, 0xb257: 0x6c16ae20,\n\t0xb25d: 0x6c0a1e20,\n\t0xb264: 0x6c11da20, 0xb265: 0x6c137020, 0xb267: 0x6c187420,\n\t0xb269: 0x6c15fc20, 0xb26a: 0x6c187620,\n\t0xb26e: 0x6c187820,\n\t0xb270: 0x6c102820, 0xb273: 0x6c187a20,\n\t0xb276: 0x6c0bd220, 0xb277: 0x6c081420,\n\t0xb278: 0x6c05cc20, 0xb279: 0x6c187c20, 0xb27a: 0x6c086620, 0xb27b: 0x6c073a20,\n\t// Block 0x2ca, offset 0xb280\n\t0xb283: 0x6c0f3c20,\n\t0xb284: 0x6c188020, 0xb287: 0x6c0d4620,\n\t0xb28a: 0x6c07f620, 0xb28b: 0x6c188220,\n\t0xb28c: 0x6c188420, 0xb28d: 0x6c0c9c20, 0xb28f: 0x6c187e20,\n\t0xb294: 0x6c188820, 0xb296: 0x6c140020,\n\t0xb29b: 0x6c072420,\n\t0xb29e: 0x6c188620,\n\t0xb2a3: 0x6c05ce20,\n\t0xb2a4: 0x6c07d420, 0xb2a5: 0x6c117e20,\n\t0xb2a9: 0x6c188e20, 0xb2aa: 0x6c188a20,\n\t0xb2af: 0x6c131220,\n\t0xb2b0: 0x6c0adc20, 0xb2b1: 0x6c189c20, 0xb2b2: 0x6c02bc20, 0xb2b3: 0x6c189020,\n\t0xb2b4: 0x6c188c20, 0xb2b5: 0x6c0cda20,\n\t0xb2bd: 0x6c189420, 0xb2bf: 0x6c189220,\n\t// Block 0x2cb, offset 0xb2c0\n\t0xb2c3: 0x6c027c20,\n\t0xb2c7: 0x6c05a420,\n\t0xb2c8: 0x6c189e20, 0xb2c9: 0x6c162220,\n\t0xb2cd: 0x6c189620,\n\t0xb2d1: 0x6c18a020, 0xb2d2: 0x6c189a20,\n\t0xb2d4: 0x6c189820,\n\t0xb2db: 0x6c166620,\n\t0xb2df: 0x6c069220,\n\t0xb2e0: 0x6c01be20, 0xb2e3: 0x6c16b020,\n\t0xb2e9: 0x6c0a3620, 0xb2ea: 0x6c0fdc20, 0xb2eb: 0x6c072620,\n\t0xb2ec: 0x6c18a620, 0xb2ed: 0x6c18a820,\n\t0xb2f1: 0x6c169220,\n\t0xb2f4: 0x6c16da20, 0xb2f5: 0x6c18ac20,\n\t0xb2f9: 0x6c069420,\n\t0xb2fc: 0x6c18aa20, 0xb2fe: 0x6c025220,\n\t// Block 0x2cc, offset 0xb300\n\t0xb301: 0x6c18ae20, 0xb303: 0x6c144020,\n\t0xb305: 0x6c0ee820, 0xb307: 0x6c155820,\n\t0xb309: 0x6c138a20,\n\t0xb30d: 0x6c18b020,\n\t0xb312: 0x6c2f1420,\n\t0xb315: 0x6c104820, 0xb317: 0x6c18b220,\n\t0xb318: 0x6c030420, 0xb319: 0x6c14b620,\n\t0xb31d: 0x6c0a4a20, 0xb31e: 0x6c18b420, 0xb31f: 0x6c13a620,\n\t0xb320: 0x6c18bc20, 0xb322: 0x6c0bd420, 0xb323: 0x6c18b620,\n\t0xb324: 0x6c04c820, 0xb326: 0x6c18b820, 0xb327: 0x6c030620,\n\t0xb332: 0x6c054020, 0xb333: 0x6c18be20,\n\t0xb335: 0x6c18c020,\n\t0xb338: 0x6c18c220, 0xb339: 0x6c18c420, 0xb33a: 0x6c094620,\n\t0xb33e: 0x6c069620, 0xb33f: 0x6c150c20,\n\t// Block 0x2cd, offset 0xb340\n\t0xb341: 0x6c152020, 0xb342: 0x6c10d620,\n\t0xb345: 0x6c13ba20, 0xb346: 0x6c18c620,\n\t0xb348: 0x6c18c820,\n\t0xb34d: 0x6c18cc20, 0xb34f: 0x6c18d020,\n\t0xb350: 0x6c18ce20,\n\t0xb355: 0x6c18d220, 0xb356: 0x6c01b220, 0xb357: 0x6c142c20,\n\t0xb359: 0x6c081020, 0xb35a: 0x6c18d420,\n\t0xb35d: 0x6c0cee20,\n\t0xb360: 0x6c0a4c20, 0xb361: 0x6c047a20, 0xb363: 0x6c18d620,\n\t0xb36a: 0x6c121620,\n\t0xb36f: 0x6c18d820,\n\t0xb371: 0x6c18da20, 0xb373: 0x6c18dc20,\n\t0xb378: 0x6c18de20, 0xb379: 0x6c126420, 0xb37a: 0x6c04f820, 0xb37b: 0x6c008a20,\n\t0xb37f: 0x6c106620,\n\t// Block 0x2ce, offset 0xb380\n\t0xb380: 0x6c18e020, 0xb381: 0x6c09c620, 0xb383: 0x6c0c5220,\n\t0xb385: 0x6c18e420, 0xb386: 0x6c18e220, 0xb387: 0x6c0a4e20,\n\t0xb388: 0x6c066220, 0xb389: 0x6c18e820, 0xb38a: 0x6c11dc20,\n\t0xb38d: 0x6c18ea20,\n\t0xb391: 0x6c121820, 0xb392: 0x6c0d6020, 0xb393: 0x6c0dd420,\n\t0xb394: 0x6c047820, 0xb397: 0x6c10c420,\n\t0xb398: 0x6c0e1620, 0xb39a: 0x6c118020,\n\t0xb39c: 0x6c143020, 0xb39e: 0x6c18ee20,\n\t0xb3a0: 0x6c0c5420,\n\t0xb3a6: 0x6c054e20,\n\t0xb3a9: 0x6c18f020,\n\t0xb3ae: 0x6c18f220, 0xb3af: 0x6c00d420,\n\t0xb3b0: 0x6c00aa20, 0xb3b1: 0x6c038a20, 0xb3b3: 0x6c0d4820,\n\t0xb3b4: 0x6c040e20, 0xb3b5: 0x6c15ee20, 0xb3b7: 0x6c18f820,\n\t0xb3b8: 0x6c01a620, 0xb3bb: 0x6c18f620,\n\t0xb3bf: 0x6c047c20,\n\t// Block 0x2cf, offset 0xb3c0\n\t0xb3c2: 0x6c18fa20,\n\t0xb3c4: 0x6c153220,\n\t0xb3d6: 0x6c18fc20,\n\t0xb3d8: 0x6c166c20, 0xb3da: 0x6c069820,\n\t0xb3df: 0x6c060c20,\n\t0xb3e0: 0x6c18fe20,\n\t0xb3e5: 0x6c190220, 0xb3e6: 0x6c190020,\n\t0xb3e8: 0x6c0b8220, 0xb3e9: 0x6c00ee20,\n\t0xb3ed: 0x6c013820, 0xb3ee: 0x6c190420,\n\t0xb3f0: 0x6c190620, 0xb3f3: 0x6c060e20,\n\t0xb3f6: 0x6c190820,\n\t0xb3fb: 0x6c044820,\n\t// Block 0x2d0, offset 0xb400\n\t0xb402: 0x6c083820, 0xb403: 0x6c190a20,\n\t0xb408: 0x6c147c20, 0xb409: 0x6c078220, 0xb40a: 0x6c042020, 0xb40b: 0x6c155a20,\n\t0xb40c: 0x6c0cdc20, 0xb40d: 0x6c11de20, 0xb40e: 0x6c098a20,\n\t0xb414: 0x6c09da20, 0xb416: 0x6c096020, 0xb417: 0x6c097a20,\n\t0xb419: 0x6c0a3820, 0xb41b: 0x6c11e020,\n\t0xb41f: 0x6c191020,\n\t0xb421: 0x6c010220, 0xb422: 0x6c0cde20, 0xb423: 0x6c069a20,\n\t0xb424: 0x6c062a20, 0xb425: 0x6c04f620,\n\t0xb428: 0x6c191820, 0xb429: 0x6c0df620, 0xb42a: 0x6c0df420, 0xb42b: 0x6c047e20,\n\t0xb42c: 0x6c0a5020, 0xb42d: 0x6c191a20, 0xb42e: 0x6c191620, 0xb42f: 0x6c01c020,\n\t0xb430: 0x6c0dc420, 0xb431: 0x6c090020, 0xb432: 0x6c086a20, 0xb433: 0x6c00c820,\n\t0xb436: 0x6c02d420, 0xb437: 0x6c072820,\n\t0xb438: 0x6c086820, 0xb43a: 0x6c191c20,\n\t// Block 0x2d1, offset 0xb440\n\t0xb441: 0x6c191e20, 0xb443: 0x6c03fe20,\n\t0xb444: 0x6c028020,\n\t0xb448: 0x6c072a20, 0xb449: 0x6c03fc20, 0xb44a: 0x6c0f2e20, 0xb44b: 0x6c00c620,\n\t0xb44c: 0x6c104a20, 0xb44d: 0x6c14cc20, 0xb44e: 0x6c069e20, 0xb44f: 0x6c15fe20,\n\t0xb450: 0x6c0fba20, 0xb451: 0x6c069c20,\n\t0xb45b: 0x6c054220,\n\t0xb45d: 0x6c193020, 0xb45f: 0x6c04ee20,\n\t0xb460: 0x6c142820,\n\t0xb466: 0x6c121a20,\n\t0xb469: 0x6c192e20, 0xb46b: 0x6c036c20,\n\t0xb46c: 0x6c192420, 0xb46d: 0x6c192620, 0xb46e: 0x6c192a20,\n\t0xb476: 0x6c192c20,\n\t0xb478: 0x6c042220, 0xb479: 0x6c0b8620, 0xb47b: 0x6c133220,\n\t0xb47c: 0x6c192820, 0xb47d: 0x6c192020, 0xb47e: 0x6c066620,\n\t// Block 0x2d2, offset 0xb480\n\t0xb480: 0x6c192220, 0xb482: 0x6c16cc20,\n\t0xb486: 0x6c13bc20,\n\t0xb488: 0x6c0f4020, 0xb489: 0x6c066420, 0xb48a: 0x6c073c20,\n\t0xb48e: 0x6c193220,\n\t0xb491: 0x6c10a220,\n\t0xb49f: 0x6c193a20,\n\t0xb4a8: 0x6c098c20, 0xb4aa: 0x6c097c20,\n\t0xb4b0: 0x6c194020, 0xb4b1: 0x6c193c20, 0xb4b3: 0x6c149620,\n\t0xb4b5: 0x6c193620, 0xb4b6: 0x6c194820, 0xb4b7: 0x6c193e20,\n\t0xb4bb: 0x6c194420,\n\t0xb4bc: 0x6c062c20, 0xb4bd: 0x6c14ce20,\n\t// Block 0x2d3, offset 0xb4c0\n\t0xb4c0: 0x6c194620,\n\t0xb4c4: 0x6c194a20, 0xb4c6: 0x6c194e20,\n\t0xb4cb: 0x6c07f820,\n\t0xb4cc: 0x6c170820, 0xb4ce: 0x6c193820, 0xb4cf: 0x6c193420,\n\t0xb4d0: 0x6c194c20, 0xb4d2: 0x6c194220,\n\t0xb4e2: 0x6c195220,\n\t0xb4e4: 0x6c196420, 0xb4e5: 0x6c195620,\n\t0xb4e8: 0x6c195e20, 0xb4eb: 0x6c196020,\n\t0xb4ec: 0x6c195820, 0xb4ef: 0x6c199a20,\n\t0xb4f2: 0x6c07ea20, 0xb4f3: 0x6c025620,\n\t0xb4f8: 0x6c195420,\n\t0xb4fc: 0x6c196820, 0xb4fd: 0x6c00ac20, 0xb4fe: 0x6c196620,\n\t// Block 0x2d4, offset 0xb500\n\t0xb500: 0x6c000a20, 0xb501: 0x6c12b020, 0xb502: 0x6c196220,\n\t0xb504: 0x6c195a20, 0xb507: 0x6c195020,\n\t0xb508: 0x6c195c20, 0xb509: 0x6c07a820,\n\t0xb518: 0x6c196a20,\n\t0xb521: 0x6c00ae20, 0xb522: 0x6c197c20,\n\t0xb525: 0x6c196c20, 0xb526: 0x6c196e20,\n\t0xb528: 0x6c0a5220, 0xb529: 0x6c146620,\n\t0xb52d: 0x6c197820, 0xb52e: 0x6c197620,\n\t0xb532: 0x6c0f8a20,\n\t0xb53a: 0x6c197a20,\n\t0xb53d: 0x6c197420,\n\t// Block 0x2d5, offset 0xb540\n\t0xb544: 0x6c00e420, 0xb546: 0x6c078420, 0xb547: 0x6c0b2420,\n\t0xb54f: 0x6c197020,\n\t0xb550: 0x6c0ff020,\n\t0xb554: 0x6c197220, 0xb556: 0x6c000420,\n\t0xb56e: 0x6c198620, 0xb56f: 0x6c155220,\n\t0xb571: 0x6c0a5620, 0xb573: 0x6c199220,\n\t0xb578: 0x6c199020, 0xb579: 0x6c197e20,\n\t0xb57e: 0x6c0d7e20,\n\t// Block 0x2d6, offset 0xb580\n\t0xb580: 0x6c198020,\n\t0xb584: 0x6c0dd620, 0xb585: 0x6c198a20, 0xb586: 0x6c0a5420,\n\t0xb58c: 0x6c198420, 0xb58f: 0x6c151820,\n\t0xb593: 0x6c055c20,\n\t0xb596: 0x6c198c20, 0xb597: 0x6c198e20,\n\t0xb59c: 0x6c198820, 0xb59d: 0x6c199420,\n\t0xb5a3: 0x6c198220,\n\t0xb5bb: 0x6c19a020,\n\t0xb5bc: 0x6c19aa20, 0xb5be: 0x6c19a220,\n\t// Block 0x2d7, offset 0xb5c0\n\t0xb5c0: 0x6c199820, 0xb5c3: 0x6c19ac20,\n\t0xb5c4: 0x6c0c9e20, 0xb5c7: 0x6c19b020,\n\t0xb5c9: 0x6c06a020, 0xb5ca: 0x6c199c20, 0xb5cb: 0x6c0eae20,\n\t0xb5d8: 0x6c19a420, 0xb5d9: 0x6c199620, 0xb5da: 0x6c030a20,\n\t0xb5dc: 0x6c038c20, 0xb5dd: 0x6c02be20, 0xb5de: 0x6c19a620, 0xb5df: 0x6c199e20,\n\t0xb5e7: 0x6c05d020,\n\t0xb5e8: 0x6c19b220, 0xb5e9: 0x6c19ae20, 0xb5ea: 0x6c0ce220, 0xb5eb: 0x6c040020,\n\t0xb5ec: 0x6c048020, 0xb5ee: 0x6c19a820,\n\t0xb5f0: 0x6c051020,\n\t0xb5f6: 0x6c010420,\n\t// Block 0x2d8, offset 0xb600\n\t0xb604: 0x6c19ba20, 0xb605: 0x6c19b620, 0xb607: 0x6c1a2820,\n\t0xb614: 0x6c19c020,\n\t0xb61a: 0x6c19b420,\n\t0xb61c: 0x6c19bc20, 0xb61f: 0x6c19b820,\n\t0xb623: 0x6c086c20,\n\t0xb624: 0x6c19be20,\n\t0xb637: 0x6c19c420,\n\t0xb639: 0x6c19ce20,\n\t0xb63d: 0x6c19ca20, 0xb63e: 0x6c19c820,\n\t// Block 0x2d9, offset 0xb640\n\t0xb646: 0x6c0e1820,\n\t0xb649: 0x6c01c220,\n\t0xb654: 0x6c19c220, 0xb656: 0x6c19c620, 0xb657: 0x6c0a5820,\n\t0xb658: 0x6c00e220, 0xb65b: 0x6c19cc20,\n\t0xb669: 0x6c01f420,\n\t0xb66f: 0x6c19e220,\n\t0xb671: 0x6c0b0020, 0xb672: 0x6c19da20,\n\t0xb674: 0x6c19d620, 0xb676: 0x6c19d820,\n\t0xb678: 0x6c19dc20,\n\t// Block 0x2da, offset 0xb680\n\t0xb682: 0x6c00f620,\n\t0xb68c: 0x6c0cae20, 0xb68e: 0x6c19d020,\n\t0xb690: 0x6c19d220,\n\t0xb69b: 0x6c02e820,\n\t0xb6a4: 0x6c19e020,\n\t0xb6a8: 0x6c038e20, 0xb6aa: 0x6c19e620, 0xb6ab: 0x6c19de20,\n\t0xb6ac: 0x6c19e420,\n\t0xb6b4: 0x6c133420,\n\t0xb6b8: 0x6c109220, 0xb6ba: 0x6c11d020,\n\t// Block 0x2db, offset 0xb6c0\n\t0xb6c0: 0x6c19ea20,\n\t0xb6c6: 0x6c19e820, 0xb6c7: 0x6c027e20,\n\t0xb6ca: 0x6c19ec20,\n\t0xb6cf: 0x6c19f220,\n\t0xb6d4: 0x6c19f020,\n\t0xb6e0: 0x6c19ee20, 0xb6e2: 0x6c111620,\n\t0xb6e5: 0x6c19f420,\n\t0xb6ee: 0x6c19f620,\n\t0xb6f4: 0x6c19fa20, 0xb6f6: 0x6c19f820,\n\t0xb6fc: 0x6c19fe20,\n\t// Block 0x2dc, offset 0xb700\n\t0xb700: 0x6c1a0420, 0xb701: 0x6c1a0020, 0xb702: 0x6c19fc20, 0xb703: 0x6c1a0220,\n\t0xb708: 0x6c1a0620,\n\t0xb70e: 0x6c1a0820,\n\t0xb711: 0x6c1a0a20, 0xb713: 0x6c1a0c20,\n\t0xb717: 0x6c1a0e20,\n\t0xb718: 0x6c183020, 0xb71a: 0x6c098820, 0xb71b: 0x6c086e20,\n\t0xb71e: 0x6c021e20,\n\t0xb720: 0x6c00b020, 0xb723: 0x6c0e3c20,\n\t0xb72e: 0x6c1a1020,\n\t0xb730: 0x6c076020, 0xb732: 0x6c005e20, 0xb733: 0x6c0b8020,\n\t0xb739: 0x6c1a1220, 0xb73a: 0x6c062e20,\n\t0xb73d: 0x6c073e20, 0xb73f: 0x6c1a1620,\n\t// Block 0x2dd, offset 0xb740\n\t0xb740: 0x6c1a1420, 0xb743: 0x6c139820,\n\t0xb744: 0x6c1a1820,\n\t0xb748: 0x6c1a1c20, 0xb749: 0x6c1a1a20, 0xb74b: 0x6c1a1e20,\n\t0xb74d: 0x6c1a2020, 0xb74f: 0x6c05d220,\n\t0xb752: 0x6c013c20, 0xb753: 0x6c1a2220,\n\t0xb756: 0x6c1a2620,\n\t0xb758: 0x6c1a2420,\n\t0xb75c: 0x6c1a2a20, 0xb75f: 0x6c0fe020,\n\t0xb766: 0x6c1a2c20, 0xb767: 0x6c002a20,\n\t0xb768: 0x6c07d620,\n\t0xb76d: 0x6c055e20,\n\t0xb770: 0x6c0e5220,\n\t0xb777: 0x6c1a2e20,\n\t0xb778: 0x6c1a3020, 0xb77b: 0x6c1a3420,\n\t// Block 0x2de, offset 0xb780\n\t0xb780: 0x6c1a3620, 0xb782: 0x6c07e020,\n\t0xb787: 0x6c04ca20,\n\t0xb78a: 0x6c140220,\n\t0xb78e: 0x6c1a3220, 0xb78f: 0x6c1a3820,\n\t0xb790: 0x6c079a20, 0xb791: 0x6c06a220,\n\t0xb7a1: 0x6c1a4020,\n\t0xb7a4: 0x6c076220, 0xb7a6: 0x6c0e1a20,\n\t0xb7a9: 0x6c1a3a20, 0xb7aa: 0x6c0f2420,\n\t0xb7bf: 0x6c1a4220,\n\t// Block 0x2df, offset 0xb7c0\n\t0xb7c2: 0x6c0b8820,\n\t0xb7c8: 0x6c1a3e20, 0xb7c9: 0x6c1a4420, 0xb7cb: 0x6c056220,\n\t0xb7d3: 0x6c1a4620,\n\t0xb7e0: 0x6c1a4820, 0xb7e2: 0x6c06a420, 0xb7e3: 0x6c027420,\n\t0xb7e4: 0x6c1a4c20,\n\t0xb7ea: 0x6c1a4e20,\n\t0xb7f0: 0x6c1a5020, 0xb7f3: 0x6c1a4a20,\n\t// Block 0x2e0, offset 0xb800\n\t0xb800: 0x6c1a3c20, 0xb803: 0x6c1a5220,\n\t0xb806: 0x6c1a5420,\n\t0xb80b: 0x6c145c20,\n\t0xb80e: 0x6c0ade20,\n\t0xb812: 0x6c1a5820, 0xb813: 0x6c1a5a20,\n\t0xb814: 0x6c1a5620, 0xb816: 0x6c1a5e20,\n\t0xb81c: 0x6c111420, 0xb81f: 0x6c009020,\n\t0xb820: 0x6c12c820, 0xb823: 0x6c1a6020,\n\t0xb834: 0x6c0b0220, 0xb837: 0x6c090220,\n\t0xb839: 0x6c115e20, 0xb83a: 0x6c039020,\n\t0xb83c: 0x6c07ee20,\n\t// Block 0x2e1, offset 0xb840\n\t0xb840: 0x6c144620, 0xb842: 0x6c104c20,\n\t0xb845: 0x6c05d420, 0xb846: 0x6c0d9620,\n\t0xb84a: 0x6c1a5c20, 0xb84b: 0x6c1a6220,\n\t0xb855: 0x6c0d8020,\n\t0xb859: 0x6c1a6420,\n\t0xb85d: 0x6c1a6620,\n\t0xb861: 0x6c1a6a20,\n\t0xb864: 0x6c0f4220,\n\t0xb86a: 0x6c030c20,\n\t0xb86f: 0x6c319c20,\n\t0xb870: 0x6c013e20, 0xb871: 0x6c13be20,\n\t0xb874: 0x6c0ae020, 0xb875: 0x6c0fbc20,\n\t0xb87a: 0x6c07e420,\n\t0xb87d: 0x6c1a7620,\n\t// Block 0x2e2, offset 0xb880\n\t0xb880: 0x6c135220, 0xb881: 0x6c168220,\n\t0xb88a: 0x6c022020, 0xb88b: 0x6c1a6e20,\n\t0xb891: 0x6c0cb020, 0xb892: 0x6c1a7420,\n\t0xb894: 0x6c0ff220, 0xb897: 0x6c0fbe20,\n\t0xb898: 0x6c0ff420, 0xb899: 0x6c11d220, 0xb89a: 0x6c0f0a20,\n\t0xb89e: 0x6c07aa20,\n\t0xb8a2: 0x6c1a6c20,\n\t0xb8a9: 0x6c016820, 0xb8ab: 0x6c0f9820,\n\t0xb8b0: 0x6c1a7020, 0xb8b2: 0x6c1a6820,\n\t0xb8b5: 0x6c0b6420,\n\t0xb8b9: 0x6c1a7820,\n\t0xb8be: 0x6c09e820,\n\t// Block 0x2e3, offset 0xb8c0\n\t0xb8c3: 0x6c048220,\n\t0xb8c5: 0x6c1a7a20,\n\t0xb8d3: 0x6c13a820,\n\t0xb8d7: 0x6c0d3620,\n\t0xb8dc: 0x6c0efc20, 0xb8df: 0x6c1a7e20,\n\t0xb8e8: 0x6c143220, 0xb8eb: 0x6c1a8020,\n\t0xb8ee: 0x6c1a8a20,\n\t0xb8f3: 0x6c133620,\n\t0xb8f8: 0x6c1a8820, 0xb8f9: 0x6c1a7c20, 0xb8fa: 0x6c1a8220, 0xb8fb: 0x6c1a8620,\n\t0xb8fe: 0x6c076420,\n\t// Block 0x2e4, offset 0xb900\n\t0xb901: 0x6c136a20,\n\t0xb905: 0x6c1a8c20, 0xb907: 0x6c0e3e20,\n\t0xb90a: 0x6c022220,\n\t0xb90c: 0x6c0ae220,\n\t0xb911: 0x6c1a9020, 0xb913: 0x6c1a8e20,\n\t0xb915: 0x6c072c20, 0xb917: 0x6c1a9220,\n\t0xb918: 0x6c1a9620, 0xb919: 0x6c1a9420,\n\t0xb91c: 0x6c1a9a20, 0xb91e: 0x6c1a8420, 0xb91f: 0x6c1a9e20,\n\t0xb924: 0x6c1a9c20, 0xb925: 0x6c1a9820,\n\t0xb92b: 0x6c087020,\n\t0xb92c: 0x6c0b6620, 0xb92e: 0x6c0ce420, 0xb92f: 0x6c1aa020,\n\t0xb930: 0x6c0bf820, 0xb931: 0x6c009a20, 0xb932: 0x6c116c20,\n\t0xb937: 0x6c0f2620,\n\t0xb939: 0x6c1aa420, 0xb93a: 0x6c1aa220, 0xb93b: 0x6c1aa620,\n\t0xb93c: 0x6c1aa820, 0xb93d: 0x6c1aaa20,\n\t// Block 0x2e5, offset 0xb940\n\t0xb942: 0x6c1aac20,\n\t0xb949: 0x6c137a20, 0xb94a: 0x6c1aae20,\n\t0xb94f: 0x6c01c420,\n\t0xb950: 0x6c1ab020,\n\t0xb955: 0x6c158420, 0xb956: 0x6c025420,\n\t0xb958: 0x6c18f420, 0xb959: 0x6c09dc20, 0xb95a: 0x6c0d7620, 0xb95b: 0x6c1ab220,\n\t0xb95c: 0x6c152620,\n\t0xb962: 0x6c14b820,\n\t0xb965: 0x6c1ab620, 0xb967: 0x6c0dc620,\n\t0xb969: 0x6c0f9a20, 0xb96a: 0x6c0d7820, 0xb96b: 0x6c12ca20,\n\t0xb96c: 0x6c1ab820, 0xb96d: 0x6c1aba20, 0xb96e: 0x6c017220,\n\t0xb971: 0x6c090420, 0xb972: 0x6c1abc20,\n\t0xb977: 0x6c006020,\n\t0xb978: 0x6c1abe20,\n\t0xb97e: 0x6c1ac020,\n\t// Block 0x2e6, offset 0xb980\n\t0xb984: 0x6c014020, 0xb987: 0x6c039220,\n\t0xb988: 0x6c10a820, 0xb989: 0x6c13c020,\n\t0xb98e: 0x6c1ac820, 0xb98f: 0x6c0ce620,\n\t0xb990: 0x6c1ac620, 0xb991: 0x6c056420,\n\t0xb994: 0x6c144a20, 0xb995: 0x6c1ac420, 0xb997: 0x6c0ff620,\n\t0xb998: 0x6c1acc20, 0xb99a: 0x6c1aca20,\n\t0xb9a0: 0x6c1ad020, 0xb9a2: 0x6c1ace20,\n\t0xb9a5: 0x6c017420, 0xb9a7: 0x6c1ad220,\n\t0xb9a8: 0x6c0a5a20, 0xb9a9: 0x6c1ad620, 0xb9aa: 0x6c0dfe20,\n\t0xb9ac: 0x6c1ad420, 0xb9ae: 0x6c133e20,\n\t0xb9b3: 0x6c0a3a20,\n\t0xb9b4: 0x6c0fe220,\n\t0xb9b8: 0x6c1ad820,\n\t0xb9bd: 0x6c06a620,\n\t// Block 0x2e7, offset 0xb9c0\n\t0xb9c1: 0x6c1ada20, 0xb9c2: 0x6c10e620, 0xb9c3: 0x6c121c20,\n\t0xb9c4: 0x6c14f220,\n\t0xb9ca: 0x6c10ee20,\n\t0xb9cd: 0x6c1aec20,\n\t0xb9d3: 0x6c03dc20,\n\t0xb9d6: 0x6c159620,\n\t0xb9d9: 0x6c14ae20, 0xb9db: 0x6c1baa20,\n\t0xb9dd: 0x6c1adc20,\n\t0xb9e3: 0x6c1ae220,\n\t0xb9e5: 0x6c0d8220,\n\t0xb9e8: 0x6c140420,\n\t0xb9ec: 0x6c0fc020,\n\t0xb9f2: 0x6c1ae420,\n\t0xb9f9: 0x6c145e20, 0xb9fb: 0x6c07ac20,\n\t0xb9fe: 0x6c0a5c20,\n\t// Block 0x2e8, offset 0xba00\n\t0xba06: 0x6c1ae620,\n\t0xba09: 0x6c087420, 0xba0b: 0x6c087220,\n\t0xba10: 0x6c003220, 0xba11: 0x6c063020, 0xba13: 0x6c0bd620,\n\t0xba14: 0x6c006220,\n\t0xba19: 0x6c1aee20, 0xba1a: 0x6c1af020,\n\t0xba1c: 0x6c1aea20,\n\t0xba25: 0x6c00ec20, 0xba26: 0x6c030e20,\n\t0xba28: 0x6c1ae820, 0xba2a: 0x6c14da20, 0xba2b: 0x6c127e20,\n\t0xba36: 0x6c001020,\n\t0xba3b: 0x6c00b220,\n\t0xba3f: 0x6c087620,\n\t// Block 0x2e9, offset 0xba40\n\t0xba41: 0x6c006420, 0xba43: 0x6c000620,\n\t0xba49: 0x6c1afa20,\n\t0xba51: 0x6c1af620,\n\t0xba58: 0x6c14c820, 0xba5a: 0x6c1afc20,\n\t0xba5c: 0x6c1af820, 0xba5f: 0x6c1af420,\n\t0xba60: 0x6c0b2620,\n\t0xba65: 0x6c1af220,\n\t0xba69: 0x6c138c20,\n\t0xba6f: 0x6c066820,\n\t0xba75: 0x6c1b0420, 0xba76: 0x6c1b0620,\n\t0xba7c: 0x6c0a5e20,\n\t// Block 0x2ea, offset 0xba80\n\t0xba80: 0x6c1afe20, 0xba81: 0x6c16dc20,\n\t0xba86: 0x6c113c20,\n\t0xba89: 0x6c1b0220,\n\t0xba9a: 0x6c076620,\n\t0xbaa2: 0x6c1b0820,\n\t0xbaa6: 0x6c12cc20,\n\t0xbaaa: 0x6c1b0a20,\n\t0xbaac: 0x6c1b0020,\n\t0xbabf: 0x6c14c620,\n\t// Block 0x2eb, offset 0xbac0\n\t0xbad2: 0x6c116020,\n\t0xbada: 0x6c1b0c20, 0xbadb: 0x6c128020,\n\t0xbafc: 0x6c1b0e20, 0xbafd: 0x6c1b1620, 0xbafe: 0x6c1b1020,\n\t// Block 0x2ec, offset 0xbb00\n\t0xbb01: 0x6c01c620, 0xbb02: 0x6c1b1420,\n\t0xbb09: 0x6c090620, 0xbb0b: 0x6c1b1220,\n\t0xbb0c: 0x6c05d620,\n\t0xbb10: 0x6c1b2e20,\n\t0xbb16: 0x6c1b2020, 0xbb17: 0x6c1b1a20,\n\t0xbb21: 0x6c0e7c20, 0xbb23: 0x6c1b1820,\n\t0xbb26: 0x6c1b1c20,\n\t0xbb29: 0x6c1b1e20,\n\t0xbb3a: 0x6c1b2220, 0xbb3b: 0x6c1b2420,\n\t// Block 0x2ed, offset 0xbb40\n\t0xbb49: 0x6c039420, 0xbb4b: 0x6c1b2820,\n\t0xbb4c: 0x6c1b2620,\n\t0xbb56: 0x6c1b2a20,\n\t0xbb62: 0x6c0ae420,\n\t0xbb6a: 0x6c1b3020,\n\t0xbb6c: 0x6c0f2820,\n\t0xbb70: 0x6c010620, 0xbb72: 0x6c1b2c20,\n\t0xbb76: 0x6c1b3220,\n\t0xbb7e: 0x6c1b3420,\n\t// Block 0x2ee, offset 0xbb80\n\t0xbb80: 0x6c1b3a20, 0xbb83: 0x6c1b3620,\n\t0xbb85: 0x6c1b3820,\n\t0xbb90: 0x6c087820, 0xbb91: 0x6c1b3c20,\n\t0xbb94: 0x6c06a820, 0xbb95: 0x6c1b3e20, 0xbb97: 0x6c08c820,\n\t0xbb98: 0x6c0d6820, 0xbb9a: 0x6c1b4020, 0xbb9b: 0x6c1b4220,\n\t0xbb9c: 0x6c088820, 0xbb9d: 0x6c06aa20, 0xbb9f: 0x6c14f420,\n\t0xbba3: 0x6c03bc20,\n\t0xbba4: 0x6c063220, 0xbba5: 0x6c1b4420, 0xbba6: 0x6c02a420,\n\t0xbba9: 0x6c1b4620, 0xbbab: 0x6c0d6a20,\n\t0xbbb0: 0x6c1b4820, 0xbbb1: 0x6c1b9820, 0xbbb3: 0x6c1b4a20,\n\t0xbbb5: 0x6c1b4c20,\n\t0xbbb8: 0x6c1b4e20, 0xbbba: 0x6c1b5220,\n\t// Block 0x2ef, offset 0xbbc0\n\t0xbbc0: 0x6c1b5420, 0xbbc3: 0x6c1b5620,\n\t0xbbc5: 0x6c0dd820, 0xbbc7: 0x6c00ca20,\n\t0xbbc8: 0x6c096220, 0xbbc9: 0x6c004420, 0xbbcb: 0x6c0cea20,\n\t0xbbcc: 0x6c031020, 0xbbcd: 0x6c08fa20, 0xbbcf: 0x6c06ac20,\n\t0xbbd5: 0x6c0ff820, 0xbbd7: 0x6c098e20,\n\t0xbbd8: 0x6c031220, 0xbbd9: 0x6c0e8420, 0xbbda: 0x6c0f4420, 0xbbdb: 0x6c003020,\n\t0xbbdc: 0x6c03de20, 0xbbdd: 0x6c13c220, 0xbbdf: 0x6c091420,\n\t0xbbe2: 0x6c041020, 0xbbe3: 0x6c0c5620,\n\t0xbbe4: 0x6c090820, 0xbbe5: 0x6c155c20, 0xbbe6: 0x6c1b5820,\n\t0xbbee: 0x6c042420,\n\t0xbbf0: 0x6c07ae20, 0xbbf3: 0x6c025820,\n\t0xbbf4: 0x6c014220, 0xbbf5: 0x6c0a6020, 0xbbf6: 0x6c01c820,\n\t0xbbf8: 0x6c1b5a20, 0xbbf9: 0x6c159820,\n\t0xbbff: 0x6c09de20,\n\t// Block 0x2f0, offset 0xbc00\n\t0xbc02: 0x6c095820, 0xbc03: 0x6c1b5c20,\n\t0xbc04: 0x6c039620, 0xbc05: 0x6c108c20, 0xbc06: 0x6c14a220, 0xbc07: 0x6c1b5e20,\n\t0xbc09: 0x6c1b6020,\n\t0xbc0c: 0x6c12ce20,\n\t0xbc10: 0x6c1b6420, 0xbc12: 0x6c030020, 0xbc13: 0x6c051620,\n\t0xbc14: 0x6c1b6220,\n\t0xbc1b: 0x6c031420,\n\t0xbc1d: 0x6c0b2820, 0xbc1e: 0x6c1b6c20, 0xbc1f: 0x6c081620,\n\t0xbc21: 0x6c01ca20, 0xbc22: 0x6c1b6a20,\n\t0xbc24: 0x6c1b6620, 0xbc25: 0x6c1b6e20, 0xbc26: 0x6c1b6820, 0xbc27: 0x6c10fa20,\n\t0xbc28: 0x6c205420, 0xbc29: 0x6c0b2a20, 0xbc2b: 0x6c1b7020,\n\t0xbc2e: 0x6c164820,\n\t0xbc30: 0x6c1b7220, 0xbc33: 0x6c1b7620,\n\t0xbc35: 0x6c0eb020, 0xbc36: 0x6c1b7420,\n\t0xbc38: 0x6c0bc620, 0xbc3a: 0x6c08ca20,\n\t0xbc3e: 0x6c0d9820, 0xbc3f: 0x6c097e20,\n\t// Block 0x2f1, offset 0xbc40\n\t0xbc41: 0x6c130620, 0xbc42: 0x6c0c5820,\n\t0xbc44: 0x6c092a20, 0xbc45: 0x6c1b7820, 0xbc46: 0x6c0a6220, 0xbc47: 0x6c1b7a20,\n\t0xbc48: 0x6c1b7c20, 0xbc49: 0x6c006620, 0xbc4a: 0x6c0d6c20, 0xbc4b: 0x6c0b6820,\n\t0xbc4d: 0x6c1b7e20, 0xbc4e: 0x6c104e20, 0xbc4f: 0x6c0a6420,\n\t0xbc51: 0x6c0a6620, 0xbc53: 0x6c1b8020,\n\t0xbc56: 0x6c0c5a20,\n\t0xbc5a: 0x6c0a6820,\n\t0xbc60: 0x6c1b8220, 0xbc62: 0x6c1b8420,\n\t0xbc64: 0x6c151020,\n\t0xbc68: 0x6c1b8620,\n\t0xbc6d: 0x6c04b420,\n\t0xbc71: 0x6c099020,\n\t0xbc78: 0x6c1b8820, 0xbc79: 0x6c1b8a20, 0xbc7a: 0x6c094820, 0xbc7b: 0x6c0b1c20,\n\t0xbc7c: 0x6c10d020, 0xbc7d: 0x6c0b6c20, 0xbc7e: 0x6c125020, 0xbc7f: 0x6c10e820,\n\t// Block 0x2f2, offset 0xbc80\n\t0xbc80: 0x6c04ba20, 0xbc81: 0x6c1b8c20,\n\t0xbc85: 0x6c044a20, 0xbc86: 0x6c1b8e20,\n\t0xbc88: 0x6c052420, 0xbc8a: 0x6c108620, 0xbc8b: 0x6c019820,\n\t0xbc8d: 0x6c087a20, 0xbc8e: 0x6c1b9020, 0xbc8f: 0x6c1b9620,\n\t0xbc90: 0x6c1b9420, 0xbc91: 0x6c052220, 0xbc93: 0x6c1b9220,\n\t0xbc95: 0x6c0f9c20,\n\t0xbc9e: 0x6c0d5820,\n\t0xbca0: 0x6c0fc220, 0xbca1: 0x6c092020,\n\t0xbca4: 0x6c0cec20, 0xbca5: 0x6c160020,\n\t0xbcac: 0x6c1b9a20, 0xbcae: 0x6c1b9c20, 0xbcaf: 0x6c109420,\n\t0xbcb1: 0x6c083a20,\n\t0xbcb6: 0x6c1ba020,\n\t0xbcb9: 0x6c1ba220,\n\t// Block 0x2f3, offset 0xbcc0\n\t0xbccc: 0x6c1ba420,\n\t0xbcd0: 0x6c039820, 0xbcd1: 0x6c1ba620,\n\t0xbcd4: 0x6c1ba820,\n\t0xbce1: 0x6c019020,\n\t0xbce8: 0x6c0cb220, 0xbce9: 0x6c037820, 0xbceb: 0x6c1bac20,\n\t0xbcec: 0x6c14a020,\n\t0xbcf1: 0x6c0d9c20, 0xbcf3: 0x6c02a620,\n\t0xbcf6: 0x6c1bb020, 0xbcf7: 0x6c1bb420,\n\t0xbcf8: 0x6c036e20, 0xbcfb: 0x6c1bae20,\n\t0xbcfc: 0x6c1bb220, 0xbcfe: 0x6c1bb820,\n\t// Block 0x2f4, offset 0xbd00\n\t0xbd05: 0x6c1bb620, 0xbd07: 0x6c1bba20,\n\t0xbd19: 0x6c1bbc20,\n\t0xbd20: 0x6c106220, 0xbd21: 0x6c048420,\n\t0xbd28: 0x6c020220, 0xbd29: 0x6c1bbe20, 0xbd2a: 0x6c1bc820,\n\t0xbd2d: 0x6c1bc420, 0xbd2f: 0x6c13c620,\n\t0xbd30: 0x6c13c420,\n\t0xbd36: 0x6c0ffa20,\n\t0xbd3a: 0x6c1bc220, 0xbd3b: 0x6c09f420,\n\t0xbd3d: 0x6c1bc020,\n\t// Block 0x2f5, offset 0xbd40\n\t0xbd47: 0x6c0ba820,\n\t0xbd4b: 0x6c1bca20,\n\t0xbd4e: 0x6c07ec20,\n\t0xbd51: 0x6c1bd620,\n\t0xbd54: 0x6c1bd820, 0xbd55: 0x6c1bcc20, 0xbd56: 0x6c025a20, 0xbd57: 0x6c1bce20,\n\t0xbd58: 0x6c1be020, 0xbd59: 0x6c1bde20, 0xbd5a: 0x6c1bdc20, 0xbd5b: 0x6c1bd420,\n\t0xbd5f: 0x6c1bd220,\n\t0xbd62: 0x6c1bda20,\n\t0xbd69: 0x6c13c820,\n\t// Block 0x2f6, offset 0xbd80\n\t0xbd8b: 0x6c1be820,\n\t0xbd8c: 0x6c1be220, 0xbd8e: 0x6c1be620,\n\t0xbd90: 0x6c15f020, 0xbd92: 0x6c1be420,\n\t0xbd9c: 0x6c1bd020,\n\t0xbda9: 0x6c0baa20,\n\t0xbdac: 0x6c1bea20, 0xbdaf: 0x6c078620,\n\t0xbdb3: 0x6c1bec20,\n\t0xbdb6: 0x6c1bee20,\n\t// Block 0x2f7, offset 0xbdc0\n\t0xbdc2: 0x6c1bf420,\n\t0xbdc4: 0x6c1bf220, 0xbdc7: 0x6c1bf020,\n\t0xbdcb: 0x6c0ffc20,\n\t0xbdcc: 0x6c1bc620,\n\t0xbdd0: 0x6c1c0020,\n\t0xbddd: 0x6c1bf820,\n\t0xbde2: 0x6c1bf620,\n\t0xbdec: 0x6c1bfa20, 0xbdee: 0x6c1bfc20,\n\t0xbdf7: 0x6c1c0220,\n\t0xbdfa: 0x6c169420,\n\t0xbdfc: 0x6c1c0420, 0xbdfd: 0x6c1bfe20,\n\t// Block 0x2f8, offset 0xbe00\n\t0xbe09: 0x6c1c0620,\n\t0xbe0c: 0x6c037020, 0xbe0d: 0x6c1c0820,\n\t0xbe12: 0x6c1c0c20, 0xbe13: 0x6c1c0a20,\n\t0xbe16: 0x6c1c0e20,\n\t0xbe1b: 0x6c1c1020,\n\t0xbe1d: 0x6c0c5c20, 0xbe1e: 0x6c099220,\n\t0xbe21: 0x6c0a1420, 0xbe23: 0x6c0d0220,\n\t0xbe25: 0x6c06ae20, 0xbe26: 0x6c078820, 0xbe27: 0x6c06b020,\n\t0xbe28: 0x6c044c20, 0xbe2b: 0x6c1c1220,\n\t0xbe2e: 0x6c078a20,\n\t0xbe31: 0x6c063420, 0xbe32: 0x6c1c1420, 0xbe33: 0x6c149c20,\n\t0xbe34: 0x6c112a20, 0xbe35: 0x6c1c1620, 0xbe37: 0x6c06b220,\n\t0xbe3b: 0x6c030820,\n\t0xbe3d: 0x6c0e0220, 0xbe3e: 0x6c04cc20,\n\t// Block 0x2f9, offset 0xbe40\n\t0xbe42: 0x6c087c20, 0xbe43: 0x6c12d220,\n\t0xbe46: 0x6c11e220,\n\t0xbe4b: 0x6c1c1820,\n\t0xbe4c: 0x6c039a20,\n\t0xbe51: 0x6c1c1e20,\n\t0xbe56: 0x6c0eb220,\n\t0xbe59: 0x6c1c1c20, 0xbe5a: 0x6c1c1a20, 0xbe5b: 0x6c1c2020,\n\t0xbe5d: 0x6c0f4620,\n\t0xbe65: 0x6c0b8a20,\n\t0xbe6b: 0x6c087e20,\n\t0xbe6d: 0x6c0c1420, 0xbe6f: 0x6c0d9e20,\n\t0xbe70: 0x6c03b020, 0xbe73: 0x6c0eb420,\n\t0xbe76: 0x6c1c2220, 0xbe77: 0x6c1c2420,\n\t0xbe78: 0x6c0ae620,\n\t0xbe7d: 0x6c140620,\n\t// Block 0x2fa, offset 0xbe80\n\t0xbe80: 0x6c1c2a20, 0xbe83: 0x6c1c2820,\n\t0xbe84: 0x6c1c2620, 0xbe85: 0x6c131620, 0xbe87: 0x6c1c3820,\n\t0xbe8c: 0x6c144820, 0xbe8e: 0x6c1c2c20,\n\t0xbe94: 0x6c1c3020, 0xbe95: 0x6c146a20, 0xbe97: 0x6c1c2e20,\n\t0xbe9f: 0x6c1c3220,\n\t0xbea1: 0x6c11b020, 0xbea2: 0x6c1c3420, 0xbea3: 0x6c135420,\n\t0xbea4: 0x6c1c3620,\n\t0xbeb2: 0x6c031620, 0xbeb3: 0x6c135620,\n\t0xbeb4: 0x6c110220, 0xbeb5: 0x6c1c3a20, 0xbeb6: 0x6c1c3c20,\n\t0xbeb8: 0x6c06b420, 0xbeb9: 0x6c031820, 0xbeba: 0x6c1c3e20, 0xbebb: 0x6c061020,\n\t0xbebc: 0x6c159420, 0xbebd: 0x6c155e20, 0xbebe: 0x6c039c20, 0xbebf: 0x6c1c4220,\n\t// Block 0x2fb, offset 0xbec0\n\t0xbec1: 0x6c0eb620, 0xbec3: 0x6c06b620,\n\t0xbec4: 0x6c0a6a20, 0xbec7: 0x6c121e20,\n\t0xbeca: 0x6c0a6c20,\n\t0xbecf: 0x6c0a3c20,\n\t0xbed5: 0x6c0f4820, 0xbed6: 0x6c13ca20, 0xbed7: 0x6c0f9e20,\n\t0xbeda: 0x6c06b820,\n\t0xbedc: 0x6c12d420,\n\t0xbee0: 0x6c1c4420,\n\t0xbee6: 0x6c0fde20, 0xbee7: 0x6c079c20,\n\t0xbeeb: 0x6c063620,\n\t0xbeed: 0x6c0f4a20,\n\t0xbef5: 0x6c004620, 0xbef6: 0x6c0a2820, 0xbef7: 0x6c06ba20,\n\t0xbef8: 0x6c159a20,\n\t// Block 0x2fc, offset 0xbf00\n\t0xbf01: 0x6c1c4620, 0xbf02: 0x6c1c4820, 0xbf03: 0x6c114620,\n\t0xbf08: 0x6c1c4a20, 0xbf09: 0x6c16b620, 0xbf0a: 0x6c16de20,\n\t0xbf0f: 0x6c1c4e20,\n\t0xbf10: 0x6c1c4c20, 0xbf13: 0x6c028220,\n\t0xbf16: 0x6c1c5020,\n\t0xbf1a: 0x6c1c5620, 0xbf1b: 0x6c1c5820,\n\t0xbf1d: 0x6c1c5420, 0xbf1f: 0x6c129c20,\n\t0xbf20: 0x6c0a6e20, 0xbf21: 0x6c1c5c20, 0xbf22: 0x6c1c5a20, 0xbf23: 0x6c1c5220,\n\t0xbf28: 0x6c1c5e20, 0xbf29: 0x6c1c6020,\n\t0xbf2c: 0x6c1c6220,\n\t0xbf30: 0x6c1c6820, 0xbf31: 0x6c1c6420, 0xbf33: 0x6c1c6620,\n\t0xbf34: 0x6c1c6a20, 0xbf36: 0x6c014420, 0xbf37: 0x6c0f4c20,\n\t0xbf38: 0x6c1c6c20, 0xbf3a: 0x6c05d820, 0xbf3b: 0x6c022420,\n\t0xbf3c: 0x6c111020, 0xbf3e: 0x6c1c6e20, 0xbf3f: 0x6c10de20,\n\t// Block 0x2fd, offset 0xbf40\n\t0xbf41: 0x6c138e20, 0xbf43: 0x6c1c7020,\n\t0xbf44: 0x6c16e020,\n\t0xbf49: 0x6c1c7220, 0xbf4a: 0x6c135820, 0xbf4b: 0x6c1c7820,\n\t0xbf4c: 0x6c172c20, 0xbf4d: 0x6c174c20, 0xbf4f: 0x6c08f020,\n\t0xbf50: 0x6c10d220, 0xbf51: 0x6c1c7a20, 0xbf53: 0x6c042620,\n\t0xbf54: 0x6c0eb820, 0xbf55: 0x6c00b420, 0xbf56: 0x6c1c7c20, 0xbf57: 0x6c132420,\n\t0xbf58: 0x6c06bc20, 0xbf5b: 0x6c0e5420,\n\t0xbf5f: 0x6c0f4e20,\n\t0xbf65: 0x6c152e20, 0xbf66: 0x6c061220, 0xbf67: 0x6c063820,\n\t0xbf69: 0x6c1c7e20,\n\t0xbf6d: 0x6c1c8020, 0xbf6f: 0x6c1c8c20,\n\t0xbf71: 0x6c095a20,\n\t0xbf75: 0x6c0eba20, 0xbf77: 0x6c048620,\n\t0xbf78: 0x6c1c8220,\n\t0xbf7c: 0x6c127220, 0xbf7e: 0x6c0e4020,\n\t// Block 0x2fe, offset 0xbf80\n\t0xbf81: 0x6c1c8420,\n\t0xbf88: 0x6c1c8620, 0xbf8a: 0x6c048820,\n\t0xbf8c: 0x6c1c8820, 0xbf8e: 0x6c1c8a20,\n\t0xbf91: 0x6c1c8e20, 0xbf93: 0x6c101820,\n\t0xbf96: 0x6c1c9020, 0xbf97: 0x6c1c9220,\n\t0xbf99: 0x6c1c9420,\n\t0xbf9c: 0x6c1c7620, 0xbf9d: 0x6c1c7420,\n\t0xbfa1: 0x6c1c9620, 0xbfa2: 0x6c056620,\n\t0xbfa6: 0x6c126a20,\n\t0xbfa9: 0x6c07b020, 0xbfaa: 0x6c128a20, 0xbfab: 0x6c0ebc20,\n\t0xbfac: 0x6c12b220, 0xbfad: 0x6c1c9820,\n\t0xbfb0: 0x6c0a7020, 0xbfb1: 0x6c010820, 0xbfb3: 0x6c1c9a20,\n\t0xbfb7: 0x6c1c9c20,\n\t0xbfb9: 0x6c153420,\n\t0xbfbc: 0x6c122020, 0xbfbf: 0x6c1ca220,\n\t// Block 0x2ff, offset 0xbfc0\n\t0xbfc0: 0x6c017620, 0xbfc1: 0x6c0bd820, 0xbfc2: 0x6c1ca020, 0xbfc3: 0x6c1c9e20,\n\t0xbfc4: 0x6c056820, 0xbfc5: 0x6c0da020, 0xbfc7: 0x6c1caa20,\n\t0xbfc8: 0x6c1ca620, 0xbfca: 0x6c1ca420, 0xbfcb: 0x6c161620,\n\t0xbfcc: 0x6c066a20,\n\t0xbfd0: 0x6c0a3e20, 0xbfd1: 0x6c1ca820, 0xbfd2: 0x6c0fc420, 0xbfd3: 0x6c09c820,\n\t0xbfd7: 0x6c106820,\n\t0xbfd8: 0x6c1cb020, 0xbfd9: 0x6c1cae20,\n\t0xbfde: 0x6c1cac20,\n\t0xbfe0: 0x6c1cb220, 0xbfe1: 0x6c066c20,\n\t0xbfe8: 0x6c1cb420, 0xbfe9: 0x6c131420, 0xbfea: 0x6c0a0220,\n\t0xbfed: 0x6c1cb620, 0xbfee: 0x6c125220,\n\t0xbff3: 0x6c106a20,\n\t0xbff4: 0x6c0ebe20,\n\t0xbff9: 0x6c0f8c20,\n\t0xbffc: 0x6c1cb820, 0xbffd: 0x6c03c220,\n\t// Block 0x300, offset 0xc000\n\t0xc003: 0x6c0b2c20,\n\t0xc005: 0x6c127420,\n\t0xc00c: 0x6c039e20, 0xc00d: 0x6c10f020,\n\t0xc016: 0x6c1cba20, 0xc017: 0x6c088020,\n\t0xc018: 0x6c140820, 0xc019: 0x6c140a20,\n\t0xc01c: 0x6c017820, 0xc01d: 0x6c1cc420,\n\t0xc020: 0x6c0e8620,\n\t0xc024: 0x6c1cbe20,\n\t0xc02b: 0x6c022620,\n\t0xc030: 0x6c1d2420, 0xc031: 0x6c1cc220,\n\t0xc035: 0x6c110420,\n\t0xc038: 0x6c1cc020, 0xc03b: 0x6c1cbc20,\n\t0xc03d: 0x6c075020, 0xc03f: 0x6c1cc820,\n\t// Block 0x301, offset 0xc040\n\t0xc04e: 0x6c1cd420, 0xc04f: 0x6c1ce020,\n\t0xc050: 0x6c1cd020, 0xc052: 0x6c0fe420,\n\t0xc055: 0x6c1cda20, 0xc056: 0x6c12d620,\n\t0xc059: 0x6c1cce20, 0xc05b: 0x6c1cd820,\n\t0xc05c: 0x6c169620, 0xc05d: 0x6c088220,\n\t0xc060: 0x6c0da220, 0xc061: 0x6c1cca20,\n\t0xc065: 0x6c042820, 0xc066: 0x6c1cde20, 0xc067: 0x6c0bda20,\n\t0xc068: 0x6c014620, 0xc069: 0x6c1cd220, 0xc06a: 0x6c022820, 0xc06b: 0x6c1cdc20,\n\t0xc06f: 0x6c048a20,\n\t0xc071: 0x6c1cd620,\n\t0xc07a: 0x6c1ce220,\n\t// Block 0x302, offset 0xc080\n\t0xc081: 0x6c1ce620, 0xc082: 0x6c1cfa20, 0xc083: 0x6c1cf620,\n\t0xc086: 0x6c1cf020,\n\t0xc08a: 0x6c1cee20, 0xc08b: 0x6c16b820,\n\t0xc08d: 0x6c1cf220,\n\t0xc090: 0x6c048c20, 0xc092: 0x6c06be20,\n\t0xc095: 0x6c0a4020,\n\t0xc099: 0x6c1d0020, 0xc09a: 0x6c1ce420,\n\t0xc09f: 0x6c1cec20,\n\t0xc0a0: 0x6c1ccc20, 0xc0a2: 0x6c022c20, 0xc0a3: 0x6c1cf420,\n\t0xc0a4: 0x6c1cf820, 0xc0a5: 0x6c0e5620,\n\t0xc0a8: 0x6c076820, 0xc0a9: 0x6c01a820, 0xc0aa: 0x6c1ce820, 0xc0ab: 0x6c1cfe20,\n\t0xc0ac: 0x6c1cfc20, 0xc0ad: 0x6c048e20, 0xc0af: 0x6c0d4a20,\n\t0xc0b0: 0x6c02c020,\n\t0xc0b5: 0x6c056a20, 0xc0b7: 0x6c1cea20,\n\t// Block 0x303, offset 0xc0c0\n\t0xc0c1: 0x6c1d0220, 0xc0c3: 0x6c1d0820,\n\t0xc0c4: 0x6c1d0c20,\n\t0xc0c9: 0x6c090a20, 0xc0cb: 0x6c1d1820,\n\t0xc0cc: 0x6c0f5020, 0xc0cd: 0x6c1d0420,\n\t0xc0d2: 0x6c1d1420,\n\t0xc0d4: 0x6c022a20, 0xc0d6: 0x6c1d1020, 0xc0d7: 0x6c1d1220,\n\t0xc0da: 0x6c1d0a20, 0xc0db: 0x6c1d0e20,\n\t0xc0df: 0x6c066e20,\n\t0xc0e0: 0x6c156020, 0xc0e3: 0x6c031a20,\n\t0xc0e6: 0x6c012e20, 0xc0e7: 0x6c1d1620,\n\t0xc0e9: 0x6c111820, 0xc0ea: 0x6c001a20,\n\t0xc0f2: 0x6c122220, 0xc0f3: 0x6c1cc620,\n\t0xc0f4: 0x6c1d2220, 0xc0f5: 0x6c1d2a20, 0xc0f6: 0x6c151a20,\n\t0xc0f8: 0x6c1d1c20,\n\t0xc0fc: 0x6c0ffe20, 0xc0fd: 0x6c1d2620,\n\t// Block 0x304, offset 0xc100\n\t0xc105: 0x6c0ae820, 0xc106: 0x6c1d2820, 0xc107: 0x6c109620,\n\t0xc111: 0x6c171220, 0xc113: 0x6c1d2020,\n\t0xc118: 0x6c1d2c20, 0xc11a: 0x6c075220,\n\t0xc11c: 0x6c0c1620, 0xc11f: 0x6c006820,\n\t0xc120: 0x6c1d1e20, 0xc121: 0x6c1d1a20, 0xc123: 0x6c0cf020,\n\t0xc127: 0x6c1d0620,\n\t0xc128: 0x6c083c20,\n\t0xc130: 0x6c0d8420, 0xc131: 0x6c1d4420, 0xc133: 0x6c0cf220,\n\t0xc134: 0x6c1d3a20, 0xc136: 0x6c1d3420, 0xc137: 0x6c1d3620,\n\t0xc139: 0x6c095c20, 0xc13a: 0x6c1d3c20, 0xc13b: 0x6c1d4220,\n\t// Block 0x305, offset 0xc140\n\t0xc140: 0x6c1d3820, 0xc141: 0x6c099620, 0xc143: 0x6c1d3e20,\n\t0xc146: 0x6c1d3220,\n\t0xc148: 0x6c154820, 0xc149: 0x6c154620,\n\t0xc14d: 0x6c1d4620, 0xc14e: 0x6c1d4820, 0xc14f: 0x6c006a20,\n\t0xc155: 0x6c1d3020,\n\t0xc15a: 0x6c050c20, 0xc15b: 0x6c000c20,\n\t0xc15f: 0x6c031c20,\n\t0xc161: 0x6c1d4020,\n\t0xc167: 0x6c1d5020,\n\t0xc168: 0x6c1d4e20,\n\t0xc16c: 0x6c1d5820,\n\t0xc174: 0x6c1d5a20,\n\t0xc17c: 0x6c1d5620, 0xc17d: 0x6c1d5c20, 0xc17e: 0x6c1d4c20, 0xc17f: 0x6c1d5420,\n\t// Block 0x306, offset 0xc180\n\t0xc182: 0x6c1d5e20,\n\t0xc184: 0x6c1d6020, 0xc187: 0x6c1d4a20,\n\t0xc188: 0x6c08cc20, 0xc18a: 0x6c1d5220, 0xc18b: 0x6c0da420,\n\t0xc18c: 0x6c06c020, 0xc18d: 0x6c1d2e20, 0xc18e: 0x6c0b2e20,\n\t0xc193: 0x6c1d7a20,\n\t0xc195: 0x6c13aa20,\n\t0xc198: 0x6c1d6620, 0xc199: 0x6c1d6820, 0xc19a: 0x6c1d6a20,\n\t0xc19d: 0x6c1d7820, 0xc19f: 0x6c1d7620,\n\t0xc1a2: 0x6c148e20, 0xc1a3: 0x6c031e20,\n\t0xc1a5: 0x6c1d7220, 0xc1a7: 0x6c056e20,\n\t0xc1a8: 0x6c025c20, 0xc1ab: 0x6c1d6c20,\n\t0xc1ae: 0x6c163820, 0xc1af: 0x6c1d7020,\n\t0xc1b0: 0x6c006c20, 0xc1b1: 0x6c1d7420, 0xc1b3: 0x6c1d6220,\n\t0xc1b4: 0x6c1d6e20, 0xc1b5: 0x6c1d7c20, 0xc1b6: 0x6c056c20, 0xc1b7: 0x6c1d6420,\n\t0xc1be: 0x6c15c620,\n\t// Block 0x307, offset 0xc1c0\n\t0xc1c2: 0x6c156220,\n\t0xc1c7: 0x6c1d8220,\n\t0xc1ca: 0x6c1d8a20,\n\t0xc1ce: 0x6c0d3820,\n\t0xc1d0: 0x6c16ba20, 0xc1d1: 0x6c1d8c20,\n\t0xc1d4: 0x6c1d8620, 0xc1d6: 0x6c1d8020,\n\t0xc1d9: 0x6c1d7e20, 0xc1da: 0x6c1d8820,\n\t0xc1e4: 0x6c133820, 0xc1e7: 0x6c105020,\n\t0xc1e9: 0x6c057020, 0xc1eb: 0x6c1d8e20,\n\t0xc1ec: 0x6c1d8420, 0xc1ee: 0x6c1d9020,\n\t0xc1f2: 0x6c05da20,\n\t0xc1f6: 0x6c019a20,\n\t0xc1fa: 0x6c1da020,\n\t0xc1fe: 0x6c032020,\n\t// Block 0x308, offset 0xc200\n\t0xc203: 0x6c1d9c20,\n\t0xc206: 0x6c1d9e20, 0xc207: 0x6c076a20,\n\t0xc208: 0x6c1d9a20, 0xc209: 0x6c1d9620, 0xc20a: 0x6c1d9420, 0xc20b: 0x6c1da220,\n\t0xc20c: 0x6c1d9220, 0xc20d: 0x6c1da620,\n\t0xc210: 0x6c022e20,\n\t0xc223: 0x6c1daa20,\n\t0xc226: 0x6c1da820,\n\t0xc232: 0x6c0ec020,\n\t0xc234: 0x6c1db020, 0xc236: 0x6c1dac20, 0xc237: 0x6c1d9820,\n\t0xc238: 0x6c05dc20, 0xc23a: 0x6c1dae20,\n\t0xc23c: 0x6c1db620, 0xc23d: 0x6c1db420, 0xc23e: 0x6c1db820, 0xc23f: 0x6c1db220,\n\t// Block 0x309, offset 0xc240\n\t0xc240: 0x6c1dba20,\n\t0xc248: 0x6c1dbc20, 0xc249: 0x6c1dbe20, 0xc24a: 0x6c13ac20,\n\t0xc24c: 0x6c1dc220, 0xc24d: 0x6c1dc020, 0xc24e: 0x6c09ca20,\n\t0xc250: 0x6c0bdc20, 0xc251: 0x6c020420, 0xc252: 0x6c023020,\n\t0xc254: 0x6c1dc420, 0xc256: 0x6c003e20,\n\t0xc25a: 0x6c0c1820, 0xc25b: 0x6c1dc620,\n\t0xc25d: 0x6c2c0020, 0xc25e: 0x6c1dc820, 0xc25f: 0x6c05a620,\n\t0xc261: 0x6c1dca20,\n\t0xc266: 0x6c0c5e20,\n\t0xc26a: 0x6c1dcc20,\n\t0xc26e: 0x6c1dce20, 0xc26f: 0x6c03e020,\n\t0xc270: 0x6c1dd020, 0xc272: 0x6c1dd220, 0xc273: 0x6c1dd420,\n\t0xc274: 0x6c0da620,\n\t0xc278: 0x6c063a20, 0xc27b: 0x6c151220,\n\t0xc27f: 0x6c140c20,\n\t// Block 0x30a, offset 0xc280\n\t0xc280: 0x6c0a2020, 0xc281: 0x6c1dd620,\n\t0xc287: 0x6c0c6020,\n\t0xc288: 0x6c2d6c20, 0xc289: 0x6c122420, 0xc28b: 0x6c096420,\n\t0xc28d: 0x6c07b220, 0xc28e: 0x6c1dd820,\n\t0xc293: 0x6c0d8620,\n\t0xc295: 0x6c132620,\n\t0xc298: 0x6c0dda20, 0xc29b: 0x6c1dde20,\n\t0xc29e: 0x6c1dda20,\n\t0xc2a0: 0x6c1de020, 0xc2a3: 0x6c1ddc20,\n\t0xc2a8: 0x6c1de220,\n\t0xc2ae: 0x6c133a20,\n\t0xc2b1: 0x6c002e20,\n\t0xc2b6: 0x6c12d820,\n\t0xc2b9: 0x6c122620,\n\t0xc2bc: 0x6c1de420, 0xc2be: 0x6c1dea20, 0xc2bf: 0x6c0a7220,\n\t// Block 0x30b, offset 0xc2c0\n\t0xc2c0: 0x6c03e220, 0xc2c2: 0x6c1de620, 0xc2c3: 0x6c1df420,\n\t0xc2c4: 0x6c0a7420,\n\t0xc2c9: 0x6c1de820, 0xc2ca: 0x6c112c20,\n\t0xc2d1: 0x6c15c820, 0xc2d2: 0x6c1dec20, 0xc2d3: 0x6c1dee20,\n\t0xc2d4: 0x6c1df620, 0xc2d5: 0x6c100020, 0xc2d6: 0x6c1df020, 0xc2d7: 0x6c06c220,\n\t0xc2d8: 0x6c0c3c20, 0xc2db: 0x6c1e1220,\n\t0xc2dc: 0x6c11c820, 0xc2de: 0x6c0ddc20,\n\t0xc2eb: 0x6c122820,\n\t0xc2ec: 0x6c1e9c20,\n\t0xc2f1: 0x6c13cc20,\n\t0xc2f5: 0x6c0f5220,\n\t0xc2f9: 0x6c147e20, 0xc2fb: 0x6c1dfc20,\n\t0xc2fc: 0x6c017a20, 0xc2fd: 0x6c0e8820,\n\t// Block 0x30c, offset 0xc300\n\t0xc302: 0x6c1e0e20,\n\t0xc305: 0x6c0e1c20, 0xc306: 0x6c1e0220, 0xc307: 0x6c1e1020,\n\t0xc308: 0x6c1e0620, 0xc309: 0x6c1e1420, 0xc30a: 0x6c1e0c20,\n\t0xc30c: 0x6c1e0a20, 0xc30d: 0x6c118220, 0xc30f: 0x6c1dfe20,\n\t0xc310: 0x6c023220, 0xc311: 0x6c1dfa20, 0xc312: 0x6c044e20, 0xc313: 0x6c0dde20,\n\t0xc314: 0x6c1df220, 0xc317: 0x6c1df820,\n\t0xc318: 0x6c06c420, 0xc319: 0x6c0c3620, 0xc31b: 0x6c0a7620,\n\t0xc31c: 0x6c1e0820, 0xc31d: 0x6c114820,\n\t0xc320: 0x6c045020, 0xc321: 0x6c028420,\n\t0xc32c: 0x6c02c220, 0xc32d: 0x6c0b0620, 0xc32e: 0x6c1e1820, 0xc32f: 0x6c1e2220,\n\t0xc331: 0x6c1e1a20, 0xc333: 0x6c05de20,\n\t0xc335: 0x6c1e2420, 0xc336: 0x6c081820, 0xc337: 0x6c072e20,\n\t0xc33e: 0x6c099820, 0xc33f: 0x6c1e0020,\n\t// Block 0x30d, offset 0xc340\n\t0xc341: 0x6c08ce20, 0xc342: 0x6c1e1e20,\n\t0xc347: 0x6c088420,\n\t0xc348: 0x6c1e2020, 0xc349: 0x6c004820,\n\t0xc34c: 0x6c1e1620,\n\t0xc351: 0x6c0ec220,\n\t0xc359: 0x6c045220,\n\t0xc35f: 0x6c049020,\n\t0xc367: 0x6c1e1c20,\n\t0xc368: 0x6c000e20, 0xc36b: 0x6c079e20,\n\t0xc36f: 0x6c0b3020,\n\t0xc37a: 0x6c0f5420,\n\t0xc37d: 0x6c120820, 0xc37e: 0x6c1e2820, 0xc37f: 0x6c0cf820,\n\t// Block 0x30e, offset 0xc380\n\t0xc389: 0x6c0d4c20,\n\t0xc38c: 0x6c082a20, 0xc38d: 0x6c1e2a20, 0xc38f: 0x6c1e2e20,\n\t0xc390: 0x6c1e2620,\n\t0xc395: 0x6c139a20, 0xc397: 0x6c0eea20,\n\t0xc39c: 0x6c0cf420,\n\t0xc3a7: 0x6c13ce20,\n\t0xc3a8: 0x6c092c20, 0xc3a9: 0x6c1e4620, 0xc3ab: 0x6c1e4420,\n\t0xc3ae: 0x6c0bb420,\n\t0xc3b2: 0x6c05e020,\n\t0xc3b6: 0x6c1e3820, 0xc3b7: 0x6c0a7a20,\n\t0xc3ba: 0x6c10b820, 0xc3bb: 0x6c110620,\n\t// Block 0x30f, offset 0xc3c0\n\t0xc3c0: 0x6c1e3420, 0xc3c3: 0x6c0cf620,\n\t0xc3c8: 0x6c098020, 0xc3c9: 0x6c1e3e20,\n\t0xc3cc: 0x6c0a7820, 0xc3ce: 0x6c1e3220, 0xc3cf: 0x6c1e3c20,\n\t0xc3d2: 0x6c114a20,\n\t0xc3d6: 0x6c1e3020,\n\t0xc3d8: 0x6c052620, 0xc3db: 0x6c02ae20,\n\t0xc3df: 0x6c1e4020,\n\t0xc3e0: 0x6c161e20, 0xc3e1: 0x6c07b420, 0xc3e2: 0x6c0e1e20, 0xc3e3: 0x6c1e3a20,\n\t0xc3e5: 0x6c0c3820, 0xc3e7: 0x6c06c620,\n\t0xc3e8: 0x6c0b8c20, 0xc3e9: 0x6c014820, 0xc3ea: 0x6c0cb420, 0xc3eb: 0x6c1e3620,\n\t0xc3ec: 0x6c03f620,\n\t0xc3f2: 0x6c057220,\n\t0xc3f4: 0x6c0f0e20, 0xc3f5: 0x6c1e4220,\n\t0xc3fb: 0x6c0cfa20,\n\t0xc3fe: 0x6c1e4820,\n\t// Block 0x310, offset 0xc400\n\t0xc400: 0x6c1e4c20, 0xc403: 0x6c0d6620,\n\t0xc404: 0x6c1e5820, 0xc406: 0x6c1e4e20,\n\t0xc409: 0x6c1e5220,\n\t0xc40f: 0x6c129e20,\n\t0xc410: 0x6c0f5620, 0xc412: 0x6c1e5420,\n\t0xc416: 0x6c156420,\n\t0xc41a: 0x6c159c20, 0xc41b: 0x6c032220,\n\t0xc421: 0x6c001c20, 0xc423: 0x6c1e5020,\n\t0xc429: 0x6c1e4a20,\n\t0xc42e: 0x6c03a020,\n\t0xc434: 0x6c014a20, 0xc436: 0x6c1e5620,\n\t0xc43a: 0x6c159e20,\n\t// Block 0x311, offset 0xc440\n\t0xc446: 0x6c1e5e20,\n\t0xc44d: 0x6c0d6e20, 0xc44f: 0x6c1e6c20,\n\t0xc453: 0x6c1e6020,\n\t0xc456: 0x6c1e5a20, 0xc457: 0x6c1e6820,\n\t0xc45c: 0x6c1e2c20,\n\t0xc466: 0x6c1e6220,\n\t0xc468: 0x6c1e6a20,\n\t0xc46c: 0x6c11e420, 0xc46d: 0x6c100220,\n\t0xc474: 0x6c1e5c20, 0xc476: 0x6c1e6420,\n\t0xc47a: 0x6c057420,\n\t0xc47e: 0x6c07fa20,\n\t// Block 0x312, offset 0xc480\n\t0xc482: 0x6c0c3a20,\n\t0xc48e: 0x6c1e7420,\n\t0xc498: 0x6c0f7820,\n\t0xc4a7: 0x6c1e6e20,\n\t0xc4a9: 0x6c145420,\n\t0xc4af: 0x6c1e7020,\n\t0xc4b6: 0x6c1e7220,\n\t0xc4b8: 0x6c14ec20, 0xc4ba: 0x6c0bc420,\n\t// Block 0x313, offset 0xc4c0\n\t0xc4c3: 0x6c05a820,\n\t0xc4c8: 0x6c1e8020,\n\t0xc4d2: 0x6c083e20, 0xc4d3: 0x6c1e7a20,\n\t0xc4d5: 0x6c1e7820,\n\t0xc4da: 0x6c110820,\n\t0xc4de: 0x6c105220,\n\t0xc4e4: 0x6c0f8e20, 0xc4e5: 0x6c1e7c20,\n\t0xc4e9: 0x6c1e7e20, 0xc4eb: 0x6c12fa20,\n\t0xc4ed: 0x6c112e20, 0xc4ee: 0x6c081a20,\n\t0xc4f0: 0x6c0c6220, 0xc4f2: 0x6c143420,\n\t0xc4f9: 0x6c028620, 0xc4fb: 0x6c1e8c20,\n\t0xc4fc: 0x6c1e8220,\n\t// Block 0x314, offset 0xc500\n\t0xc501: 0x6c15a020, 0xc502: 0x6c1e9020,\n\t0xc505: 0x6c1e8820, 0xc507: 0x6c1e8a20,\n\t0xc50d: 0x6c0cfc20,\n\t0xc512: 0x6c1e8620,\n\t0xc514: 0x6c1e0420,\n\t0xc518: 0x6c1e8e20, 0xc51a: 0x6c1e8420,\n\t0xc520: 0x6c1e9820, 0xc521: 0x6c1e9a20, 0xc522: 0x6c0f7a20, 0xc523: 0x6c1e9e20,\n\t0xc526: 0x6c081c20, 0xc527: 0x6c1e9420,\n\t0xc52c: 0x6c03e420, 0xc52f: 0x6c1ea020,\n\t0xc531: 0x6c1e9220, 0xc532: 0x6c1ea820,\n\t0xc534: 0x6c1ea620, 0xc536: 0x6c1ea420,\n\t0xc53a: 0x6c1eaa20,\n\t0xc53d: 0x6c1eae20, 0xc53e: 0x6c0aea20,\n\t// Block 0x315, offset 0xc540\n\t0xc540: 0x6c1eac20,\n\t0xc545: 0x6c1eb420,\n\t0xc558: 0x6c1eb020,\n\t0xc55c: 0x6c1eb220, 0xc55d: 0x6c1e6620,\n\t0xc563: 0x6c1eb820,\n\t0xc564: 0x6c1eb620,\n\t0xc56a: 0x6c1e7620, 0xc56b: 0x6c1eba20,\n\t0xc56c: 0x6c1ea220, 0xc56f: 0x6c088620,\n\t0xc574: 0x6c1ebc20, 0xc575: 0x6c1ebe20, 0xc576: 0x6c1ec220, 0xc577: 0x6c1ec020,\n\t0xc578: 0x6c1ec420, 0xc579: 0x6c023420, 0xc57b: 0x6c06c820,\n\t0xc57e: 0x6c13d020, 0xc57f: 0x6c0bde20,\n\t// Block 0x316, offset 0xc580\n\t0xc585: 0x6c063c20,\n\t0xc588: 0x6c1ec820,\n\t0xc58d: 0x6c1ece20, 0xc58f: 0x6c12c020,\n\t0xc591: 0x6c042a20,\n\t0xc595: 0x6c1ecc20, 0xc596: 0x6c1eca20, 0xc597: 0x6c114c20,\n\t0xc598: 0x6c1ed020, 0xc599: 0x6c049220,\n\t0xc59d: 0x6c1ed420, 0xc59e: 0x6c1ed220,\n\t0xc5a2: 0x6c032420, 0xc5a3: 0x6c084020,\n\t0xc5a6: 0x6c109820,\n\t0xc5ac: 0x6c057620,\n\t0xc5b0: 0x6c0bac20, 0xc5b2: 0x6c1ed620,\n\t0xc5b4: 0x6c0be020, 0xc5b5: 0x6c0f7c20, 0xc5b7: 0x6c12da20,\n\t0xc5b8: 0x6c1ed820,\n\t// Block 0x317, offset 0xc5c0\n\t0xc5c2: 0x6c1eda20, 0xc5c3: 0x6c1edc20,\n\t0xc5c7: 0x6c134820,\n\t0xc5c8: 0x6c1b5020, 0xc5c9: 0x6c0c0c20,\n\t0xc5cc: 0x6c12b420, 0xc5ce: 0x6c07c820,\n\t0xc5d0: 0x6c122a20, 0xc5d1: 0x6c11e620,\n\t0xc5d7: 0x6c0fc620,\n\t0xc5d9: 0x6c164a20, 0xc5db: 0x6c1ee020,\n\t0xc5dc: 0x6c093020, 0xc5df: 0x6c1ee220,\n\t0xc5e1: 0x6c002c20,\n\t0xc5e4: 0x6c04d020, 0xc5e5: 0x6c0c1a20, 0xc5e7: 0x6c12dc20,\n\t0xc5eb: 0x6c1ee420,\n\t0xc5ec: 0x6c085820, 0xc5ed: 0x6c0e4220, 0xc5ef: 0x6c088a20,\n\t0xc5f0: 0x6c0b3220,\n\t0xc5f7: 0x6c1ee620,\n\t0xc5f9: 0x6c13d220,\n\t0xc5fc: 0x6c016a20, 0xc5fd: 0x6c088c20,\n\t// Block 0x318, offset 0xc600\n\t0xc601: 0x6c1eec20, 0xc603: 0x6c1ee820,\n\t0xc604: 0x6c1eee20, 0xc605: 0x6c163a20, 0xc606: 0x6c1eea20,\n\t0xc60b: 0x6c0c7620,\n\t0xc60c: 0x6c1ef020, 0xc60f: 0x6c0d5c20,\n\t0xc612: 0x6c1ef220,\n\t0xc617: 0x6c03a420,\n\t0xc619: 0x6c1ef620, 0xc61b: 0x6c1ef420,\n\t0xc620: 0x6c1ef820, 0xc621: 0x6c1efa20, 0xc622: 0x6c03a620,\n\t0xc625: 0x6c10e020, 0xc626: 0x6c0e2020, 0xc627: 0x6c044420,\n\t0xc628: 0x6c088e20, 0xc629: 0x6c0cfe20,\n\t0xc62c: 0x6c0a0420, 0xc62d: 0x6c002020,\n\t0xc631: 0x6c1efc20,\n\t0xc63a: 0x6c017c20, 0xc63b: 0x6c1f0420,\n\t// Block 0x319, offset 0xc640\n\t0xc642: 0x6c06ca20, 0xc643: 0x6c1f0220,\n\t0xc646: 0x6c076e20, 0xc647: 0x6c0a7c20,\n\t0xc64a: 0x6c1f0020,\n\t0xc64c: 0x6c0a7e20, 0xc64e: 0x6c14d020, 0xc64f: 0x6c076c20,\n\t0xc653: 0x6c006e20,\n\t0xc654: 0x6c0c1c20,\n\t0xc65c: 0x6c1f0e20, 0xc65f: 0x6c0be220,\n\t0xc660: 0x6c010a20,\n\t0xc665: 0x6c09f620, 0xc667: 0x6c146020,\n\t0xc668: 0x6c07fc20,\n\t0xc66d: 0x6c0a8020, 0xc66f: 0x6c0bce20,\n\t0xc674: 0x6c1f0c20, 0xc675: 0x6c1f0820, 0xc676: 0x6c1f0a20,\n\t0xc67c: 0x6c0e8a20, 0xc67f: 0x6c1f4a20,\n\t// Block 0x31a, offset 0xc680\n\t0xc681: 0x6c1f1620, 0xc682: 0x6c08d020, 0xc683: 0x6c06cc20,\n\t0xc684: 0x6c1f1220,\n\t0xc689: 0x6c1f1420, 0xc68b: 0x6c0b3420,\n\t0xc68f: 0x6c1f1020,\n\t0xc692: 0x6c083220,\n\t0xc69d: 0x6c1f1a20, 0xc69e: 0x6c1f1820, 0xc69f: 0x6c1f2220,\n\t0xc6a2: 0x6c1f2420,\n\t0xc6a4: 0x6c1f1c20, 0xc6a6: 0x6c023820, 0xc6a7: 0x6c1f1e20,\n\t0xc6a8: 0x6c1f2020, 0xc6a9: 0x6c120a20,\n\t0xc6ae: 0x6c12de20, 0xc6af: 0x6c057820,\n\t0xc6b0: 0x6c1f2620,\n\t0xc6b4: 0x6c0be420, 0xc6b6: 0x6c0a8220,\n\t0xc6ba: 0x6c0e5820,\n\t// Block 0x31b, offset 0xc6c0\n\t0xc6c1: 0x6c04b620, 0xc6c3: 0x6c1f2820,\n\t0xc6c4: 0x6c1f3020, 0xc6c7: 0x6c01ce20,\n\t0xc6c8: 0x6c1f2a20, 0xc6c9: 0x6c1f2e20,\n\t0xc6ce: 0x6c1f2c20,\n\t0xc6d1: 0x6c0a2220,\n\t0xc6d6: 0x6c0e4420, 0xc6d7: 0x6c004a20,\n\t0xc6d8: 0x6c1f3220,\n\t0xc6dd: 0x6c1f3420,\n\t0xc6e2: 0x6c0ec420,\n\t0xc6e6: 0x6c16aa20,\n\t0xc6eb: 0x6c085a20,\n\t0xc6ee: 0x6c13ae20,\n\t0xc6f4: 0x6c140e20,\n\t0xc6f8: 0x6c1f4220, 0xc6f9: 0x6c1f3820,\n\t0xc6fc: 0x6c1f3e20, 0xc6fe: 0x6c1f3c20,\n\t// Block 0x31c, offset 0xc700\n\t0xc701: 0x6c1f3620,\n\t0xc704: 0x6c1f4020, 0xc707: 0x6c10a420,\n\t0xc709: 0x6c1f3a20,\n\t0xc716: 0x6c1f4420,\n\t0xc719: 0x6c0a2420, 0xc71a: 0x6c1f4620,\n\t0xc71c: 0x6c15a220, 0xc71d: 0x6c119420,\n\t0xc720: 0x6c1f4820,\n\t0xc726: 0x6c1f4c20,\n\t0xc729: 0x6c1f4e20,\n\t0xc730: 0x6c1f5020, 0xc732: 0x6c04bc20, 0xc733: 0x6c010c20,\n\t0xc734: 0x6c06ce20, 0xc735: 0x6c1f5220, 0xc737: 0x6c1f5420,\n\t0xc738: 0x6c0a2e20, 0xc739: 0x6c0d0020,\n\t0xc73c: 0x6c191220, 0xc73d: 0x6c0cb820, 0xc73e: 0x6c0cb620, 0xc73f: 0x6c0da820,\n\t// Block 0x31d, offset 0xc740\n\t0xc740: 0x6c07a620, 0xc743: 0x6c17ce20,\n\t0xc748: 0x6c05c020, 0xc749: 0x6c156620, 0xc74b: 0x6c13d420,\n\t0xc74d: 0x6c131820, 0xc74f: 0x6c1f5620,\n\t0xc754: 0x6c07fe20, 0xc755: 0x6c0eee20, 0xc756: 0x6c1f5820, 0xc757: 0x6c16e220,\n\t0xc75b: 0x6c141020,\n\t0xc75d: 0x6c0ec620, 0xc75e: 0x6c1f5a20, 0xc75f: 0x6c03a820,\n\t0xc766: 0x6c1f5c20, 0xc767: 0x6c1f5e20,\n\t0xc768: 0x6c150420, 0xc76a: 0x6c149820, 0xc76b: 0x6c148020,\n\t0xc76c: 0x6c144c20, 0xc76d: 0x6c081e20, 0xc76e: 0x6c1f6220,\n\t0xc771: 0x6c096620,\n\t0xc774: 0x6c143620, 0xc776: 0x6c1f6620, 0xc777: 0x6c1f6c20,\n\t0xc778: 0x6c1f6a20, 0xc77a: 0x6c03a220,\n\t0xc77d: 0x6c042c20, 0xc77f: 0x6c1f6420,\n\t// Block 0x31e, offset 0xc780\n\t0xc781: 0x6c1f6820,\n\t0xc786: 0x6c1f6e20,\n\t0xc789: 0x6c0bb620,\n\t0xc78e: 0x6c160220, 0xc78f: 0x6c005220,\n\t0xc790: 0x6c07d820, 0xc791: 0x6c0d7020, 0xc793: 0x6c094a20,\n\t0xc796: 0x6c0aee20,\n\t0xc799: 0x6c1f7420,\n\t0xc79c: 0x6c0fc820, 0xc79e: 0x6c1f7020, 0xc79f: 0x6c0d4e20,\n\t0xc7a0: 0x6c1f7220, 0xc7a1: 0x6c0aec20, 0xc7a2: 0x6c150a20, 0xc7a3: 0x6c1f7620,\n\t0xc7a4: 0x6c1f7820, 0xc7a5: 0x6c15dc20,\n\t0xc7aa: 0x6c1f8220,\n\t0xc7ad: 0x6c06d020, 0xc7af: 0x6c114e20,\n\t0xc7b0: 0x6c1f7c20, 0xc7b1: 0x6c100420, 0xc7b2: 0x6c1efe20, 0xc7b3: 0x6c1f0620,\n\t0xc7b5: 0x6c040a20, 0xc7b7: 0x6c113220,\n\t0xc7bc: 0x6c1f8020, 0xc7be: 0x6c0a8420, 0xc7bf: 0x6c11e820,\n\t// Block 0x31f, offset 0xc7c0\n\t0xc7c5: 0x6c1f8c20, 0xc7c7: 0x6c125420,\n\t0xc7c9: 0x6c1f7a20, 0xc7cb: 0x6c1f8620,\n\t0xc7cc: 0x6c1f8420,\n\t0xc7d0: 0x6c0c1e20,\n\t0xc7d5: 0x6c146e20, 0xc7d7: 0x6c166e20,\n\t0xc7da: 0x6c146220,\n\t0xc7dc: 0x6c01d020, 0xc7dd: 0x6c089020,\n\t0xc7e0: 0x6c171420, 0xc7e1: 0x6c1f8a20, 0xc7e2: 0x6c0bae20,\n\t0xc7e6: 0x6c1f8820,\n\t0xc7e9: 0x6c1f7e20,\n\t0xc7ef: 0x6c063e20,\n\t0xc7f3: 0x6c1f9620,\n\t0xc7f4: 0x6c1f9220, 0xc7f6: 0x6c01d220, 0xc7f7: 0x6c1f8e20,\n\t0xc7f8: 0x6c1f9a20, 0xc7f9: 0x6c1fa620,\n\t// Block 0x320, offset 0xc800\n\t0xc801: 0x6c0d8820,\n\t0xc804: 0x6c135a20, 0xc806: 0x6c1faa20,\n\t0xc80a: 0x6c126020,\n\t0xc80e: 0x6c1fa820, 0xc80f: 0x6c118420,\n\t0xc810: 0x6c141220, 0xc811: 0x6c032620, 0xc813: 0x6c0c6e20,\n\t0xc814: 0x6c09cc20,\n\t0xc818: 0x6c0f1620, 0xc81a: 0x6c156820,\n\t0xc81d: 0x6c1fa020, 0xc81e: 0x6c1f9e20,\n\t0xc822: 0x6c1fa220,\n\t0xc824: 0x6c1f9c20, 0xc827: 0x6c1fac20,\n\t0xc829: 0x6c1f9820,\n\t0xc82c: 0x6c1f9420, 0xc82e: 0x6c1fa420, 0xc82f: 0x6c1f9020,\n\t0xc831: 0x6c0e8c20, 0xc833: 0x6c154020,\n\t0xc834: 0x6c091c20, 0xc835: 0x6c080020,\n\t0xc83b: 0x6c078c20,\n\t0xc83e: 0x6c147220, 0xc83f: 0x6c027620,\n\t// Block 0x321, offset 0xc840\n\t0xc842: 0x6c0f0c20, 0xc843: 0x6c107c20,\n\t0xc844: 0x6c010e20,\n\t0xc853: 0x6c0c6420,\n\t0xc856: 0x6c0be820, 0xc857: 0x6c053820,\n\t0xc85e: 0x6c1fb020,\n\t0xc861: 0x6c06d220, 0xc862: 0x6c02ec20,\n\t0xc869: 0x6c1fb420, 0xc86a: 0x6c02dc20, 0xc86b: 0x6c1fc020,\n\t0xc872: 0x6c1fba20,\n\t0xc874: 0x6c0c6620,\n\t0xc878: 0x6c028a20, 0xc879: 0x6c077020,\n\t0xc87c: 0x6c028820, 0xc87d: 0x6c07b620,\n\t// Block 0x322, offset 0xc880\n\t0xc880: 0x6c1fb620, 0xc881: 0x6c05ae20, 0xc882: 0x6c057a20, 0xc883: 0x6c100620,\n\t0xc886: 0x6c1fb220,\n\t0xc888: 0x6c004c20,\n\t0xc88d: 0x6c1fb820, 0xc88e: 0x6c1fbc20,\n\t0xc890: 0x6c04c220, 0xc891: 0x6c053c20, 0xc893: 0x6c032820,\n\t0xc894: 0x6c040220,\n\t0xc899: 0x6c1fc220,\n\t0xc89c: 0x6c080a20, 0xc89d: 0x6c147620, 0xc89f: 0x6c084220,\n\t0xc8a3: 0x6c1fc420,\n\t0xc8a7: 0x6c127c20,\n\t0xc8b4: 0x6c1fdc20, 0xc8b6: 0x6c019e20, 0xc8b7: 0x6c1fc620,\n\t0xc8be: 0x6c1fe820, 0xc8bf: 0x6c1fc820,\n\t// Block 0x323, offset 0xc8c0\n\t0xc8c1: 0x6c164c20, 0xc8c3: 0x6c1fd620,\n\t0xc8c5: 0x6c116220,\n\t0xc8cd: 0x6c1fe620, 0xc8cf: 0x6c1fcc20,\n\t0xc8d3: 0x6c002820,\n\t0xc8d4: 0x6c1fd020, 0xc8d7: 0x6c06d420,\n\t0xc8db: 0x6c1fd420,\n\t0xc8dd: 0x6c1fd220, 0xc8df: 0x6c1fca20,\n\t0xc8e0: 0x6c1fe020, 0xc8e2: 0x6c0a8620,\n\t0xc8e6: 0x6c1ab420, 0xc8e7: 0x6c067020,\n\t0xc8e8: 0x6c160420,\n\t0xc8ed: 0x6c1fce20, 0xc8ef: 0x6c0f5820,\n\t0xc8f0: 0x6c023a20, 0xc8f1: 0x6c077220, 0xc8f3: 0x6c1fbe20,\n\t0xc8f5: 0x6c1fde20, 0xc8f6: 0x6c02b620,\n\t0xc8f9: 0x6c1fda20, 0xc8fa: 0x6c1fe220,\n\t0xc8fc: 0x6c100820,\n\t// Block 0x324, offset 0xc900\n\t0xc904: 0x6c03ac20, 0xc906: 0x6c201e20,\n\t0xc909: 0x6c14e220, 0xc90a: 0x6c1fec20, 0xc90b: 0x6c03aa20,\n\t0xc90d: 0x6c1ffa20,\n\t0xc912: 0x6c141420,\n\t0xc914: 0x6c1ffc20, 0xc915: 0x6c200020, 0xc917: 0x6c200820,\n\t0xc918: 0x6c1ff020, 0xc91a: 0x6c0e0820,\n\t0xc91f: 0x6c100a20,\n\t0xc920: 0x6c201020, 0xc921: 0x6c1ff620, 0xc923: 0x6c200a20,\n\t0xc927: 0x6c1ffe20,\n\t0xc92e: 0x6c0b3620, 0xc92f: 0x6c201220,\n\t0xc932: 0x6c0be620,\n\t0xc939: 0x6c200e20, 0xc93a: 0x6c032a20,\n\t// Block 0x325, offset 0xc940\n\t0xc940: 0x6c172420, 0xc941: 0x6c1fea20,\n\t0xc944: 0x6c200620, 0xc945: 0x6c007020,\n\t0xc948: 0x6c1fee20, 0xc94b: 0x6c14c420,\n\t0xc94c: 0x6c1ff820, 0xc94d: 0x6c0b0820, 0xc94e: 0x6c0efe20, 0xc94f: 0x6c1fe420,\n\t0xc952: 0x6c200420,\n\t0xc959: 0x6c0bb820, 0xc95a: 0x6c201820, 0xc95b: 0x6c02d620,\n\t0xc95c: 0x6c05e220,\n\t0xc961: 0x6c201c20, 0xc962: 0x6c1ff220, 0xc963: 0x6c201a20,\n\t0xc965: 0x6c200c20, 0xc966: 0x6c1ff420,\n\t0xc968: 0x6c201420, 0xc96a: 0x6c201620,\n\t0xc970: 0x6c203820,\n\t0xc974: 0x6c108420, 0xc976: 0x6c200220,\n\t0xc979: 0x6c203020,\n\t0xc97d: 0x6c203420, 0xc97f: 0x6c0f2020,\n\t// Block 0x326, offset 0xc980\n\t0xc98a: 0x6c15a420,\n\t0xc993: 0x6c130820,\n\t0xc994: 0x6c202a20, 0xc995: 0x6c0d8c20,\n\t0xc999: 0x6c203620, 0xc99a: 0x6c0cba20,\n\t0xc99c: 0x6c202420, 0xc99d: 0x6c203e20, 0xc99e: 0x6c203c20,\n\t0xc9a0: 0x6c10c620, 0xc9a1: 0x6c203a20, 0xc9a2: 0x6c10bc20,\n\t0xc9aa: 0x6c204220, 0xc9ab: 0x6c202820,\n\t0xc9ad: 0x6c04b820, 0xc9ae: 0x6c202e20, 0xc9af: 0x6c0a0620,\n\t0xc9b3: 0x6c116420,\n\t0xc9b4: 0x6c203220, 0xc9b5: 0x6c04be20, 0xc9b7: 0x6c202220,\n\t0xc9b8: 0x6c202620, 0xc9b9: 0x6c202020,\n\t0xc9bc: 0x6c16e420, 0xc9bd: 0x6c02a820, 0xc9be: 0x6c202c20,\n\t// Block 0x327, offset 0xc9c0\n\t0xc9c1: 0x6c204020, 0xc9c2: 0x6c025e20,\n\t0xc9ca: 0x6c07e620,\n\t0xc9ce: 0x6c013620,\n\t0xc9d1: 0x6c206220,\n\t0xc9d4: 0x6c16e620, 0xc9d5: 0x6c206820,\n\t0xc9db: 0x6c0b3820,\n\t0xc9dc: 0x6c206620,\n\t0xc9e0: 0x6c206420,\n\t0xc9e7: 0x6c205e20,\n\t0xc9ee: 0x6c204620,\n\t0xc9f1: 0x6c208020, 0xc9f2: 0x6c204420,\n\t0xc9f4: 0x6c206a20,\n\t0xc9fb: 0x6c205a20,\n\t0xc9fe: 0x6c205020, 0xc9ff: 0x6c204a20,\n\t// Block 0x328, offset 0xca00\n\t0xca01: 0x6c204c20, 0xca03: 0x6c205c20,\n\t0xca07: 0x6c319e20,\n\t0xca0a: 0x6c205620, 0xca0b: 0x6c06d620,\n\t0xca0c: 0x6c0f0020, 0xca0d: 0x6c0d0420, 0xca0e: 0x6c205220,\n\t0xca10: 0x6c204820, 0xca13: 0x6c204e20,\n\t0xca18: 0x6c15a620, 0xca19: 0x6c146820,\n\t0xca1d: 0x6c205820, 0xca1e: 0x6c206c20,\n\t0xca27: 0x6c207c20,\n\t0xca28: 0x6c206e20, 0xca2b: 0x6c208820,\n\t0xca2d: 0x6c208420,\n\t0xca32: 0x6c207a20,\n\t0xca39: 0x6c207820, 0xca3b: 0x6c0f1020,\n\t0xca3d: 0x6c0d0620, 0xca3f: 0x6c207420,\n\t// Block 0x329, offset 0xca40\n\t0xca42: 0x6c207020,\n\t0xca45: 0x6c207e20,\n\t0xca4a: 0x6c208a20, 0xca4b: 0x6c124a20,\n\t0xca4c: 0x6c209620,\n\t0xca52: 0x6c208c20, 0xca53: 0x6c209220,\n\t0xca54: 0x6c208620, 0xca57: 0x6c0e9c20,\n\t0xca59: 0x6c128c20, 0xca5b: 0x6c207220,\n\t0xca5e: 0x6c208220, 0xca5f: 0x6c0a8820,\n\t0xca61: 0x6c14ee20, 0xca62: 0x6c20aa20, 0xca63: 0x6c209020,\n\t0xca69: 0x6c05e420, 0xca6a: 0x6c017e20, 0xca6b: 0x6c02b220,\n\t0xca6e: 0x6c206020,\n\t0xca75: 0x6c0a8a20, 0xca76: 0x6c209a20,\n\t0xca78: 0x6c20a820, 0xca79: 0x6c098220, 0xca7a: 0x6c02d820,\n\t0xca7d: 0x6c0e1020,\n\t// Block 0x32a, offset 0xca80\n\t0xca84: 0x6c209420, 0xca87: 0x6c209e20,\n\t0xca88: 0x6c20a620, 0xca8b: 0x6c049420,\n\t0xca98: 0x6c040420, 0xca99: 0x6c20a220,\n\t0xca9f: 0x6c03ae20,\n\t0xcaa1: 0x6c107e20, 0xcaa2: 0x6c20a020,\n\t0xcaa6: 0x6c20a420,\n\t0xcab2: 0x6c209820,\n\t0xcab8: 0x6c209c20,\n\t0xcabf: 0x6c02b420,\n\t// Block 0x32b, offset 0xcac0\n\t0xcac0: 0x6c0e4620,\n\t0xcac4: 0x6c20b220,\n\t0xcacd: 0x6c20ae20, 0xcace: 0x6c067220,\n\t0xcad0: 0x6c20ac20,\n\t0xcad7: 0x6c20b820,\n\t0xcadc: 0x6c1fae20,\n\t0xcae0: 0x6c20b020, 0xcae2: 0x6c20b420, 0xcae3: 0x6c20b620,\n\t0xcaea: 0x6c20ce20,\n\t0xcaec: 0x6c20c620, 0xcaee: 0x6c1fd820,\n\t0xcaf3: 0x6c20c420,\n\t0xcaf8: 0x6c20c220, 0xcafb: 0x6c20bc20,\n\t// Block 0x32c, offset 0xcb00\n\t0xcb01: 0x6c208e20, 0xcb02: 0x6c20c020, 0xcb03: 0x6c20be20,\n\t0xcb11: 0x6c20ca20, 0xcb13: 0x6c16d020,\n\t0xcb1a: 0x6c20d020, 0xcb1b: 0x6c051e20,\n\t0xcb1e: 0x6c20c820, 0xcb1f: 0x6c20cc20,\n\t0xcb28: 0x6c11ae20, 0xcb2a: 0x6c20d220,\n\t0xcb3a: 0x6c20da20, 0xcb3b: 0x6c20d420,\n\t// Block 0x32d, offset 0xcb40\n\t0xcb44: 0x6c15f220, 0xcb45: 0x6c20d620,\n\t0xcb4a: 0x6c207620,\n\t0xcb52: 0x6c20dc20,\n\t0xcb56: 0x6c20de20,\n\t0xcb5d: 0x6c00e620, 0xcb5f: 0x6c20e220,\n\t0xcb60: 0x6c05b220, 0xcb61: 0x6c08d220, 0xcb63: 0x6c04d220,\n\t0xcb67: 0x6c018020,\n\t0xcb72: 0x6c15ca20,\n\t0xcb77: 0x6c20e620,\n\t0xcb78: 0x6c20e420, 0xcb79: 0x6c20ea20, 0xcb7a: 0x6c03e620,\n\t0xcb7d: 0x6c04d420, 0xcb7e: 0x6c032c20,\n\t// Block 0x32e, offset 0xcb80\n\t0xcb83: 0x6c20f020,\n\t0xcb87: 0x6c20ee20,\n\t0xcb89: 0x6c20f220,\n\t0xcb8c: 0x6c01d420, 0xcb8e: 0x6c0e2220,\n\t0xcb90: 0x6c20f420, 0xcb93: 0x6c032e20,\n\t0xcb94: 0x6c20f820,\n\t0xcb99: 0x6c20f620, 0xcb9b: 0x6c20fa20,\n\t0xcb9f: 0x6c20fc20,\n\t0xcba1: 0x6c20fe20, 0xcba2: 0x6c089220, 0xcba3: 0x6c0bea20,\n\t0xcba4: 0x6c075a20, 0xcba6: 0x6c12fc20,\n\t0xcba9: 0x6c139c20, 0xcbaa: 0x6c170c20,\n\t0xcbaf: 0x6c08be20,\n\t0xcbb3: 0x6c07b820,\n\t0xcbb4: 0x6c16ac20,\n\t0xcbb8: 0x6c210020, 0xcbb9: 0x6c210220, 0xcbbb: 0x6c089420,\n\t0xcbbf: 0x6c210420,\n\t// Block 0x32f, offset 0xcbc0\n\t0xcbc0: 0x6c210620, 0xcbc3: 0x6c210a20,\n\t0xcbc4: 0x6c210820, 0xcbc6: 0x6c144420,\n\t0xcbc9: 0x6c0a0820, 0xcbca: 0x6c096820, 0xcbcb: 0x6c085c20,\n\t0xcbcd: 0x6c210c20,\n\t0xcbd5: 0x6c211020, 0xcbd6: 0x6c0b0a20,\n\t0xcbd8: 0x6c210e20,\n\t0xcbde: 0x6c211220,\n\t0xcbe4: 0x6c211420,\n\t0xcbea: 0x6c211620, 0xcbeb: 0x6c211820,\n\t0xcbef: 0x6c211a20,\n\t0xcbf1: 0x6c211e20, 0xcbf2: 0x6c211c20, 0xcbf3: 0x6c212020,\n\t0xcbf4: 0x6c018220, 0xcbf5: 0x6c0e4820, 0xcbf7: 0x6c212220,\n\t0xcbfa: 0x6c082020, 0xcbfb: 0x6c028c20,\n\t0xcbfc: 0x6c212420, 0xcbff: 0x6c0fb020,\n\t// Block 0x330, offset 0xcc00\n\t0xcc00: 0x6c1a7220,\n\t0xcc05: 0x6c03b220, 0xcc06: 0x6c212620,\n\t0xcc0b: 0x6c212820,\n\t0xcc0d: 0x6c13b020, 0xcc0e: 0x6c146420,\n\t0xcc12: 0x6c107620, 0xcc13: 0x6c212a20,\n\t0xcc14: 0x6c122c20,\n\t0xcc18: 0x6c125620, 0xcc1b: 0x6c14f620,\n\t0xcc1f: 0x6c212c20,\n\t0xcc2b: 0x6c213020,\n\t0xcc2c: 0x6c212e20, 0xcc2f: 0x6c213420,\n\t0xcc33: 0x6c213220,\n\t// Block 0x331, offset 0xcc40\n\t0xcc48: 0x6c213820,\n\t0xcc4f: 0x6c089620,\n\t0xcc51: 0x6c14b220, 0xcc53: 0x6c213a20,\n\t0xcc54: 0x6c213c20, 0xcc57: 0x6c03b420,\n\t0xcc5b: 0x6c213e20,\n\t0xcc63: 0x6c214220,\n\t0xcc64: 0x6c214020,\n\t0xcc74: 0x6c0b8e20, 0xcc77: 0x6c128e20,\n\t0xcc78: 0x6c011020,\n\t0xcc7e: 0x6c11ea20,\n\t// Block 0x332, offset 0xcc80\n\t0xcc80: 0x6c0f5a20, 0xcc81: 0x6c09ce20, 0xcc82: 0x6c042e20,\n\t0xcc8e: 0x6c11ec20,\n\t0xcc90: 0x6c08ec20,\n\t0xcc95: 0x6c214620, 0xcc97: 0x6c033020,\n\t0xcc9a: 0x6c016c20,\n\t0xcc9d: 0x6c10cc20, 0xcc9e: 0x6c214420, 0xcc9f: 0x6c06d820,\n\t0xcca0: 0x6c0e5a20, 0xcca2: 0x6c214820,\n\t0xcca8: 0x6c215820, 0xccaa: 0x6c214a20,\n\t0xccb0: 0x6c0d7a20, 0xccb2: 0x6c043020, 0xccb3: 0x6c215a20,\n\t0xccba: 0x6c05b420,\n\t0xccbd: 0x6c03b620, 0xccbe: 0x6c215620,\n\t// Block 0x333, offset 0xccc0\n\t0xccc1: 0x6c215220, 0xccc2: 0x6c214c20, 0xccc3: 0x6c15cc20,\n\t0xccc8: 0x6c0ef020,\n\t0xcccc: 0x6c109a20, 0xcccd: 0x6c214e20,\n\t0xccd0: 0x6c215e20, 0xccd2: 0x6c215c20, 0xccd3: 0x6c052a20,\n\t0xccd6: 0x6c019220,\n\t0xccd9: 0x6c078e20, 0xccda: 0x6c215020, 0xccdb: 0x6c215420,\n\t0xcce1: 0x6c144220, 0xcce2: 0x6c0de020,\n\t0xcceb: 0x6c148220,\n\t0xccee: 0x6c216e20,\n\t0xccf1: 0x6c217020, 0xccf3: 0x6c01d620,\n\t0xccf8: 0x6c132820, 0xccf9: 0x6c154a20, 0xccfa: 0x6c217420, 0xccfb: 0x6c08d620,\n\t0xccfc: 0x6c0a8c20, 0xccfd: 0x6c216620, 0xccfe: 0x6c217220, 0xccff: 0x6c014c20,\n\t// Block 0x334, offset 0xcd00\n\t0xcd01: 0x6c049620,\n\t0xcd04: 0x6c216020, 0xcd05: 0x6c216a20,\n\t0xcd09: 0x6c0c6820, 0xcd0a: 0x6c118620,\n\t0xcd0c: 0x6c122e20,\n\t0xcd13: 0x6c216420,\n\t0xcd15: 0x6c13d620, 0xcd17: 0x6c216820,\n\t0xcd19: 0x6c217a20, 0xcd1b: 0x6c217620,\n\t0xcd1d: 0x6c216c20,\n\t0xcd21: 0x6c13d820, 0xcd22: 0x6c113420, 0xcd23: 0x6c043220,\n\t0xcd25: 0x6c0f7620,\n\t0xcd28: 0x6c0e8e20, 0xcd2a: 0x6c217c20,\n\t0xcd2f: 0x6c217820,\n\t0xcd30: 0x6c0daa20, 0xcd31: 0x6c216220, 0xcd33: 0x6c011220,\n\t// Block 0x335, offset 0xcd40\n\t0xcd4b: 0x6c15a820,\n\t0xcd4c: 0x6c219220,\n\t0xcd52: 0x6c219020,\n\t0xcd57: 0x6c0c6c20,\n\t0xcd59: 0x6c218a20, 0xcd5b: 0x6c15e420,\n\t0xcd5e: 0x6c105420, 0xcd5f: 0x6c217e20,\n\t0xcd65: 0x6c0efa20,\n\t0xcd69: 0x6c011420, 0xcd6a: 0x6c06da20, 0xcd6b: 0x6c218420,\n\t0xcd72: 0x6c099a20, 0xcd73: 0x6c218e20,\n\t0xcd75: 0x6c218c20, 0xcd76: 0x6c218220,\n\t0xcd78: 0x6c218820, 0xcd7b: 0x6c02c420,\n\t0xcd7d: 0x6c218620, 0xcd7e: 0x6c113620,\n\t// Block 0x336, offset 0xcd80\n\t0xcd81: 0x6c162420,\n\t0xcd84: 0x6c0af020, 0xcd85: 0x6c0c6a20,\n\t0xcd99: 0x6c219e20, 0xcd9a: 0x6c219a20,\n\t0xcd9c: 0x6c12b620,\n\t0xcda3: 0x6c219420,\n\t0xcda4: 0x6c219820, 0xcda6: 0x6c00f020,\n\t0xcda9: 0x6c06dc20, 0xcdaa: 0x6c16e820,\n\t0xcdac: 0x6c026e20, 0xcdae: 0x6c12e020,\n\t0xcdb4: 0x6c15ce20, 0xcdb7: 0x6c023c20,\n\t0xcdb8: 0x6c0b3a20, 0xcdb9: 0x6c219c20,\n\t// Block 0x337, offset 0xcdc0\n\t0xcdc5: 0x6c21a620,\n\t0xcdc8: 0x6c0a8e20,\n\t0xcdcc: 0x6c156c20, 0xcdce: 0x6c21a020,\n\t0xcdd3: 0x6c219620,\n\t0xcdd5: 0x6c21a220,\n\t0xcdd9: 0x6c168420, 0xcddb: 0x6c101220,\n\t0xcddc: 0x6c106c20,\n\t0xcdef: 0x6c026020,\n\t0xcdf2: 0x6c012620,\n\t0xcdf5: 0x6c21ae20,\n\t0xcdf8: 0x6c21b420,\n\t0xcdfc: 0x6c164e20,\n\t// Block 0x338, offset 0xce00\n\t0xce00: 0x6c15d420,\n\t0xce05: 0x6c21c220, 0xce06: 0x6c21b620, 0xce07: 0x6c21b020,\n\t0xce0b: 0x6c167020,\n\t0xce0c: 0x6c21bc20,\n\t0xce11: 0x6c09e020, 0xce12: 0x6c21c020,\n\t0xce15: 0x6c21ca20,\n\t0xce18: 0x6c100e20, 0xce19: 0x6c21c620,\n\t0xce1e: 0x6c21ba20,\n\t0xce21: 0x6c0e2420,\n\t0xce24: 0x6c21c820, 0xce26: 0x6c21b220,\n\t0xce28: 0x6c21be20, 0xce2a: 0x6c21cc20, 0xce2b: 0x6c00b820,\n\t0xce2c: 0x6c21b820, 0xce2e: 0x6c21ce20,\n\t0xce31: 0x6c0b3c20, 0xce33: 0x6c0a0a20,\n\t0xce35: 0x6c132220, 0xce37: 0x6c077420,\n\t0xce39: 0x6c21a820, 0xce3a: 0x6c21c420, 0xce3b: 0x6c0fa020,\n\t// Block 0x339, offset 0xce40\n\t0xce45: 0x6c0bec20, 0xce47: 0x6c02c620,\n\t0xce48: 0x6c07ba20, 0xce49: 0x6c0a9020, 0xce4a: 0x6c21ac20, 0xce4b: 0x6c09d020,\n\t0xce53: 0x6c057c20,\n\t0xce55: 0x6c21aa20,\n\t0xce59: 0x6c21d620, 0xce5a: 0x6c0a2620, 0xce5b: 0x6c061420,\n\t0xce5d: 0x6c21f420, 0xce5f: 0x6c21e820,\n\t0xce60: 0x6c045420, 0xce61: 0x6c0fca20, 0xce63: 0x6c21de20,\n\t0xce64: 0x6c21f020, 0xce65: 0x6c001e20, 0xce66: 0x6c00e020,\n\t0xce69: 0x6c01aa20, 0xce6b: 0x6c21e220,\n\t0xce6c: 0x6c0d5020, 0xce6d: 0x6c21d020, 0xce6e: 0x6c21d420, 0xce6f: 0x6c06de20,\n\t0xce78: 0x6c21f620, 0xce7a: 0x6c21ec20,\n\t0xce7e: 0x6c21dc20,\n\t// Block 0x33a, offset 0xce80\n\t0xce83: 0x6c21ea20,\n\t0xce8a: 0x6c14a620,\n\t0xce8d: 0x6c21e620, 0xce8e: 0x6c21ee20,\n\t0xce96: 0x6c064020,\n\t0xce98: 0x6c0a9220, 0xce9b: 0x6c0e2620,\n\t0xce9f: 0x6c21da20,\n\t0xcea7: 0x6c156a20,\n\t0xceab: 0x6c21e020,\n\t0xceae: 0x6c21d220, 0xceaf: 0x6c101020,\n\t0xceb2: 0x6c21d820,\n\t0xceb6: 0x6c21e420,\n\t0xcebe: 0x6c172620, 0xcebf: 0x6c090c20,\n\t// Block 0x33b, offset 0xcec0\n\t0xcec0: 0x6c149020, 0xcec2: 0x6c21f820,\n\t0xcecc: 0x6c11bc20, 0xcecf: 0x6c221020,\n\t0xced0: 0x6c061620,\n\t0xced6: 0x6c0a0c20,\n\t0xced8: 0x6c21fc20,\n\t0xcedc: 0x6c162620, 0xcedd: 0x6c06e020, 0xcedf: 0x6c221620,\n\t0xcee2: 0x6c009c20,\n\t0xcee5: 0x6c221220,\n\t0xceea: 0x6c21fa20,\n\t0xceef: 0x6c220620,\n\t0xcef2: 0x6c220a20,\n\t0xcef6: 0x6c15aa20, 0xcef7: 0x6c220020,\n\t0xcefa: 0x6c0f8820,\n\t0xcefd: 0x6c220420,\n\t// Block 0x33c, offset 0xcf00\n\t0xcf02: 0x6c221420,\n\t0xcf04: 0x6c220820, 0xcf05: 0x6c14de20,\n\t0xcf09: 0x6c21fe20, 0xcf0b: 0x6c08d420,\n\t0xcf0c: 0x6c222e20,\n\t0xcf11: 0x6c02c820, 0xcf13: 0x6c220220,\n\t0xcf14: 0x6c220c20, 0xcf15: 0x6c220e20,\n\t0xcf1d: 0x6c0dd020, 0xcf1e: 0x6c0dac20,\n\t0xcf2c: 0x6c221e20, 0xcf2f: 0x6c222a20,\n\t0xcf32: 0x6c222620,\n\t0xcf34: 0x6c0f7e20, 0xcf37: 0x6c223420,\n\t0xcf38: 0x6c222020,\n\t0xcf3e: 0x6c222220, 0xcf3f: 0x6c21f220,\n\t// Block 0x33d, offset 0xcf40\n\t0xcf41: 0x6c045e20, 0xcf42: 0x6c129020,\n\t0xcf46: 0x6c090e20,\n\t0xcf49: 0x6c074a20,\n\t0xcf4f: 0x6c16ea20,\n\t0xcf51: 0x6c221a20, 0xcf53: 0x6c223220,\n\t0xcf54: 0x6c014e20, 0xcf55: 0x6c0d0820,\n\t0xcf60: 0x6c119620, 0xcf62: 0x6c033220, 0xcf63: 0x6c16bc20,\n\t0xcf6b: 0x6c149220,\n\t0xcf6c: 0x6c0f1420,\n\t0xcf71: 0x6c222820, 0xcf72: 0x6c222c20,\n\t0xcf78: 0x6c0ca020,\n\t0xcf7e: 0x6c223020, 0xcf7f: 0x6c222420,\n\t// Block 0x33e, offset 0xcf80\n\t0xcf81: 0x6c221820,\n\t0xcf85: 0x6c033620,\n\t0xcf94: 0x6c05b620,\n\t0xcf98: 0x6c224c20, 0xcf9b: 0x6c224220,\n\t0xcf9c: 0x6c0c7020, 0xcf9f: 0x6c02ba20,\n\t0xcfa4: 0x6c0a0e20, 0xcfa6: 0x6c225420,\n\t0xcfad: 0x6c224620, 0xcfae: 0x6c0ec820, 0xcfaf: 0x6c224020,\n\t0xcfb0: 0x6c0f2220,\n\t0xcfb4: 0x6c228620,\n\t0xcfb8: 0x6c223a20, 0xcfba: 0x6c223820,\n\t0xcfbc: 0x6c224a20,\n\t// Block 0x33f, offset 0xcfc0\n\t0xcfc0: 0x6c223e20, 0xcfc1: 0x6c223c20, 0xcfc2: 0x6c224820,\n\t0xcfc4: 0x6c0bc220, 0xcfc6: 0x6c223620,\n\t0xcfce: 0x6c224e20,\n\t0xcfd1: 0x6c225020,\n\t0xcfd7: 0x6c033420,\n\t0xcfe1: 0x6c225a20, 0xcfe3: 0x6c225820,\n\t0xcfe4: 0x6c225c20,\n\t0xcfea: 0x6c226220,\n\t0xcff1: 0x6c0fb220, 0xcff3: 0x6c225620,\n\t0xcff9: 0x6c225e20,\n\t// Block 0x340, offset 0xd000\n\t0xd000: 0x6c05aa20, 0xd001: 0x6c0dea20, 0xd002: 0x6c225220, 0xd003: 0x6c111a20,\n\t0xd006: 0x6c226020,\n\t0xd014: 0x6c226a20, 0xd015: 0x6c226620,\n\t0xd018: 0x6c226c20, 0xd01b: 0x6c227220,\n\t0xd01f: 0x6c226420,\n\t0xd020: 0x6c073020, 0xd021: 0x6c10f420,\n\t0xd024: 0x6c21a420,\n\t0xd02b: 0x6c15f420,\n\t0xd02c: 0x6c226820, 0xd02e: 0x6c227020, 0xd02f: 0x6c0de220,\n\t0xd031: 0x6c226e20, 0xd033: 0x6c224420,\n\t0xd036: 0x6c2e8020,\n\t0xd03a: 0x6c227820,\n\t0xd03e: 0x6c228020,\n\t// Block 0x341, offset 0xd040\n\t0xd041: 0x6c227c20,\n\t0xd049: 0x6c227420, 0xd04b: 0x6c227620,\n\t0xd04f: 0x6c227e20,\n\t0xd051: 0x6c227a20,\n\t0xd055: 0x6c12b820,\n\t0xd058: 0x6c228a20, 0xd05a: 0x6c228420, 0xd05b: 0x6c228220,\n\t0xd05d: 0x6c228820, 0xd05e: 0x6c109020, 0xd05f: 0x6c228c20,\n\t0xd066: 0x6c0e9e20, 0xd067: 0x6c0dd220,\n\t0xd06c: 0x6c0bca20,\n\t0xd070: 0x6c228e20, 0xd072: 0x6c229220,\n\t0xd07e: 0x6c229020,\n\t// Block 0x342, offset 0xd080\n\t0xd08c: 0x6c221c20,\n\t0xd091: 0x6c229420,\n\t0xd098: 0x6c10b620,\n\t0xd0a3: 0x6c229620,\n\t0xd0ab: 0x6c01d820,\n\t0xd0af: 0x6c101420,\n\t0xd0b0: 0x6c023e20,\n\t0xd0b8: 0x6c043420,\n\t0xd0bc: 0x6c094c20, 0xd0bd: 0x6c07bc20,\n\t// Block 0x343, offset 0xd0c0\n\t0xd0c9: 0x6c16d220, 0xd0ca: 0x6c0b9020,\n\t0xd0ce: 0x6c015020,\n\t0xd0d2: 0x6c229a20,\n\t0xd0d9: 0x6c229820,\n\t0xd0ec: 0x6c22a020, 0xd0ed: 0x6c0e2820, 0xd0ee: 0x6c22a620, 0xd0ef: 0x6c229c20,\n\t0xd0f3: 0x6c22a420,\n\t0xd0f8: 0x6c22a220, 0xd0f9: 0x6c0fac20, 0xd0fa: 0x6c007220,\n\t// Block 0x344, offset 0xd100\n\t0xd108: 0x6c16b220, 0xd10b: 0x6c22aa20,\n\t0xd10f: 0x6c00cc20,\n\t0xd119: 0x6c22ae20,\n\t0xd11d: 0x6c22ac20, 0xd11f: 0x6c22a820,\n\t0xd131: 0x6c229e20,\n\t0xd139: 0x6c13da20,\n\t0xd13d: 0x6c22b220,\n\t// Block 0x345, offset 0xd140\n\t0xd149: 0x6c22b020,\n\t0xd154: 0x6c015220,\n\t0xd159: 0x6c22b620, 0xd15a: 0x6c133c20,\n\t0xd15c: 0x6c22b420,\n\t0xd161: 0x6c14ba20,\n\t0xd166: 0x6c0a9620,\n\t0xd176: 0x6c0ca220,\n\t0xd17c: 0x6c0a9420,\n\t// Block 0x346, offset 0xd180\n\t0xd189: 0x6c16be20,\n\t0xd18c: 0x6c22c220, 0xd18e: 0x6c0c7220,\n\t0xd195: 0x6c22ba20, 0xd196: 0x6c22c420,\n\t0xd199: 0x6c015420,\n\t0xd1a2: 0x6c22c020,\n\t0xd1a4: 0x6c116620, 0xd1a5: 0x6c22b820, 0xd1a6: 0x6c22be20, 0xd1a7: 0x6c0a9820,\n\t0xd1a9: 0x6c120220,\n\t0xd1ac: 0x6c22c620, 0xd1ae: 0x6c093220,\n\t0xd1bd: 0x6c0c7420,\n\t// Block 0x347, offset 0xd1c0\n\t0xd1c4: 0x6c22cc20,\n\t0xd1c8: 0x6c22bc20, 0xd1ca: 0x6c053220,\n\t0xd1cf: 0x6c22c820,\n\t0xd1d4: 0x6c15ac20, 0xd1d5: 0x6c22ce20,\n\t0xd1d9: 0x6c31a620,\n\t0xd1df: 0x6c09ea20,\n\t0xd1e8: 0x6c22d020,\n\t0xd1ec: 0x6c22d220,\n\t0xd1f1: 0x6c110020,\n\t0xd1f9: 0x6c22d620,\n\t0xd1fe: 0x6c22d820,\n\t// Block 0x348, offset 0xd200\n\t0xd203: 0x6c110a20,\n\t0xd208: 0x6c101620, 0xd209: 0x6c22dc20,\n\t0xd20e: 0x6c22e020,\n\t0xd210: 0x6c167220, 0xd212: 0x6c22da20,\n\t0xd214: 0x6c22de20, 0xd215: 0x6c015620, 0xd217: 0x6c22d420,\n\t0xd21f: 0x6c19d420,\n\t0xd220: 0x6c22e220,\n\t0xd225: 0x6c0d0a20, 0xd226: 0x6c084420, 0xd227: 0x6c22e620,\n\t0xd22c: 0x6c22e420, 0xd22d: 0x6c0b0c20, 0xd22e: 0x6c191420,\n\t0xd235: 0x6c22e820,\n\t0xd239: 0x6c22ec20, 0xd23b: 0x6c22ca20,\n\t0xd23c: 0x6c22ea20, 0xd23f: 0x6c22ee20,\n\t// Block 0x349, offset 0xd240\n\t0xd246: 0x6c119820,\n\t0xd24d: 0x6c22f020,\n\t0xd250: 0x6c22f220,\n\t0xd25b: 0x6c22f420,\n\t0xd268: 0x6c22f620, 0xd26a: 0x6c0f2c20,\n\t0xd26c: 0x6c22fa20, 0xd26d: 0x6c22f820,\n\t0xd270: 0x6c22fc20, 0xd272: 0x6c22fe20,\n\t0xd275: 0x6c094e20, 0xd276: 0x6c12e220,\n\t0xd27a: 0x6c152820, 0xd27b: 0x6c230020,\n\t0xd27c: 0x6c230220, 0xd27d: 0x6c0ce820, 0xd27e: 0x6c08d820, 0xd27f: 0x6c230420,\n\t// Block 0x34a, offset 0xd280\n\t0xd280: 0x6c230620,\n\t0xd286: 0x6c230820, 0xd287: 0x6c137c20,\n\t0xd288: 0x6c11ee20, 0xd28b: 0x6c230a20,\n\t0xd28c: 0x6c115220,\n\t0xd292: 0x6c0eca20,\n\t0xd298: 0x6c230c20, 0xd299: 0x6c020620, 0xd29b: 0x6c044620,\n\t0xd29d: 0x6c14dc20, 0xd29f: 0x6c14bc20,\n\t0xd2a1: 0x6c01a020, 0xd2a2: 0x6c16ec20,\n\t0xd2a7: 0x6c143820,\n\t0xd2a9: 0x6c132c20,\n\t0xd2b2: 0x6c0bee20,\n\t0xd2b4: 0x6c230e20,\n\t0xd2b9: 0x6c106e20,\n\t0xd2bd: 0x6c05e620, 0xd2be: 0x6c231020,\n\t// Block 0x34b, offset 0xd2c0\n\t0xd2c0: 0x6c07c020, 0xd2c1: 0x6c231420, 0xd2c2: 0x6c231220,\n\t0xd2c7: 0x6c231620,\n\t0xd2d2: 0x6c231820,\n\t0xd2d6: 0x6c231a20,\n\t0xd2e0: 0x6c03e820, 0xd2e2: 0x6c231c20,\n\t0xd2e7: 0x6c231e20,\n\t0xd2ec: 0x6c05e820, 0xd2ef: 0x6c11f020,\n\t0xd2f2: 0x6c232220,\n\t0xd2f6: 0x6c0af220,\n\t0xd2f9: 0x6c232020,\n\t// Block 0x34c, offset 0xd300\n\t0xd302: 0x6c049820, 0xd303: 0x6c232420,\n\t0xd304: 0x6c232820, 0xd306: 0x6c232620,\n\t0xd30e: 0x6c232a20,\n\t0xd310: 0x6c064220, 0xd312: 0x6c232c20,\n\t0xd317: 0x6c04fa20,\n\t0xd319: 0x6c0cbc20, 0xd31b: 0x6c075620,\n\t0xd320: 0x6c233020, 0xd321: 0x6c233220, 0xd322: 0x6c232e20,\n\t0xd329: 0x6c096a20,\n\t0xd32c: 0x6c107820, 0xd32d: 0x6c049a20,\n\t0xd337: 0x6c233620,\n\t0xd338: 0x6c0e0c20, 0xd339: 0x6c233420,\n\t0xd33c: 0x6c16ee20, 0xd33d: 0x6c116820,\n\t// Block 0x34d, offset 0xd340\n\t0xd34a: 0x6c233c20,\n\t0xd356: 0x6c234020, 0xd357: 0x6c233a20,\n\t0xd35b: 0x6c14f820,\n\t0xd35c: 0x6c233e20, 0xd35d: 0x6c234220, 0xd35f: 0x6c165020,\n\t0xd365: 0x6c234a20,\n\t0xd369: 0x6c234820, 0xd36a: 0x6c0ea020, 0xd36b: 0x6c10fe20,\n\t0xd36e: 0x6c05ea20, 0xd36f: 0x6c234620,\n\t0xd374: 0x6c234420, 0xd376: 0x6c156e20, 0xd377: 0x6c157020,\n\t0xd37e: 0x6c234c20, 0xd37f: 0x6c015820,\n\t// Block 0x34e, offset 0xd380\n\t0xd384: 0x6c074820, 0xd385: 0x6c089820,\n\t0xd38e: 0x6c234e20, 0xd38f: 0x6c235020,\n\t0xd397: 0x6c235420,\n\t0xd3a3: 0x6c09d220,\n\t0xd3a8: 0x6c235820, 0xd3aa: 0x6c235620,\n\t0xd3b0: 0x6c235a20, 0xd3b2: 0x6c028e20,\n\t0xd3b5: 0x6c235e20,\n\t0xd3b8: 0x6c235c20, 0xd3ba: 0x6c236220, 0xd3bb: 0x6c236020,\n\t// Block 0x34f, offset 0xd3c0\n\t0xd3c4: 0x6c061820, 0xd3c7: 0x6c161820,\n\t0xd3c9: 0x6c04c020, 0xd3cb: 0x6c018420,\n\t0xd3d6: 0x6c04fc20,\n\t0xd3e9: 0x6c037220,\n\t0xd3f2: 0x6c169820, 0xd3f3: 0x6c236620,\n\t0xd3fb: 0x6c236a20,\n\t// Block 0x350, offset 0xd400\n\t0xd400: 0x6c236c20, 0xd402: 0x6c01da20,\n\t0xd408: 0x6c236420, 0xd40a: 0x6c084620,\n\t0xd40d: 0x6c0ef220, 0xd40e: 0x6c236820,\n\t0xd41e: 0x6c237220,\n\t0xd420: 0x6c096c20,\n\t0xd425: 0x6c236e20,\n\t0xd42a: 0x6c056020,\n\t0xd42d: 0x6c11f220, 0xd42e: 0x6c237020,\n\t0xd431: 0x6c23a620,\n\t0xd438: 0x6c237c20,\n\t0xd43e: 0x6c061a20,\n\t// Block 0x351, offset 0xd440\n\t0xd443: 0x6c043620,\n\t0xd445: 0x6c237620, 0xd446: 0x6c160620,\n\t0xd449: 0x6c162820,\n\t0xd462: 0x6c0de420,\n\t0xd465: 0x6c237a20,\n\t0xd472: 0x6c237e20, 0xd473: 0x6c167420,\n\t0xd474: 0x6c04d620, 0xd475: 0x6c125820, 0xd476: 0x6c113820,\n\t0xd47a: 0x6c238020,\n\t0xd47f: 0x6c238420,\n\t// Block 0x352, offset 0xd480\n\t0xd481: 0x6c238a20,\n\t0xd495: 0x6c238220,\n\t0xd499: 0x6c238820, 0xd49a: 0x6c067420, 0xd49b: 0x6c011620,\n\t0xd49c: 0x6c238c20, 0xd49e: 0x6c0ba420, 0xd49f: 0x6c238620,\n\t0xd4a0: 0x6c168020, 0xd4a3: 0x6c239220,\n\t0xd4a4: 0x6c31a220,\n\t0xd4a9: 0x6c238e20, 0xd4aa: 0x6c239420,\n\t0xd4af: 0x6c237820,\n\t0xd4b0: 0x6c239020, 0xd4b3: 0x6c079020,\n\t0xd4b6: 0x6c239620,\n\t0xd4be: 0x6c239820,\n\t// Block 0x353, offset 0xd4c0\n\t0xd4c3: 0x6c160820,\n\t0xd4cb: 0x6c239a20,\n\t0xd4de: 0x6c239c20,\n\t0xd4e2: 0x6c237420,\n\t0xd4e7: 0x6c239e20,\n\t0xd4f0: 0x6c033820,\n\t0xd4fd: 0x6c08da20,\n\t// Block 0x354, offset 0xd500\n\t0xd50a: 0x6c23a020,\n\t0xd50f: 0x6c23a220,\n\t0xd514: 0x6c23a420,\n\t0xd51c: 0x6c00f220,\n\t0xd520: 0x6c23a820, 0xd522: 0x6c129220, 0xd523: 0x6c23aa20,\n\t0xd526: 0x6c02f820, 0xd527: 0x6c23ac20,\n\t0xd529: 0x6c23ae20,\n\t0xd52e: 0x6c23b020,\n\t0xd530: 0x6c23b420, 0xd531: 0x6c23b620, 0xd532: 0x6c23b220,\n\t0xd536: 0x6c12c220, 0xd537: 0x6c23ba20,\n\t0xd538: 0x6c23b820,\n\t// Block 0x355, offset 0xd540\n\t0xd543: 0x6c23be20,\n\t0xd544: 0x6c23bc20, 0xd545: 0x6c23c020,\n\t0xd54c: 0x6c23c220, 0xd54d: 0x6c23c620, 0xd54e: 0x6c23c420,\n\t0xd551: 0x6c074e20, 0xd553: 0x6c23ca20,\n\t0xd555: 0x6c23c820,\n\t0xd558: 0x6c033a20, 0xd55a: 0x6c0b6a20,\n\t0xd55c: 0x6c0fa420, 0xd55e: 0x6c23cc20, 0xd55f: 0x6c0bf020,\n\t0xd563: 0x6c084820,\n\t0xd565: 0x6c016e20, 0xd566: 0x6c23ce20,\n\t0xd568: 0x6c15ae20, 0xd56b: 0x6c139e20,\n\t0xd56c: 0x6c23d020,\n\t0xd570: 0x6c0fb420, 0xd571: 0x6c157220, 0xd572: 0x6c06e220, 0xd573: 0x6c0b3e20,\n\t0xd577: 0x6c0e4a20,\n\t0xd578: 0x6c18ca20, 0xd57a: 0x6c0ecc20, 0xd57b: 0x6c020820,\n\t0xd57c: 0x6c23d220,\n\t// Block 0x356, offset 0xd580\n\t0xd584: 0x6c23d420, 0xd586: 0x6c23de20,\n\t0xd589: 0x6c23da20, 0xd58a: 0x6c23d820, 0xd58b: 0x6c1ec620,\n\t0xd58c: 0x6c024020, 0xd58d: 0x6c23d620, 0xd58f: 0x6c007420,\n\t0xd591: 0x6c11b420,\n\t0xd594: 0x6c11f420,\n\t0xd599: 0x6c162a20, 0xd59a: 0x6c23e020, 0xd59b: 0x6c23dc20,\n\t0xd59c: 0x6c0e6c20, 0xd59d: 0x6c0bcc20,\n\t0xd5a0: 0x6c11b620, 0xd5a2: 0x6c127620,\n\t0xd5a4: 0x6c23e420, 0xd5a5: 0x6c162020, 0xd5a6: 0x6c057e20, 0xd5a7: 0x6c23e620,\n\t0xd5a9: 0x6c23e220, 0xd5aa: 0x6c120c20, 0xd5ab: 0x6c23e820,\n\t0xd5ad: 0x6c23ea20,\n\t0xd5b0: 0x6c007620, 0xd5b3: 0x6c0af420,\n\t0xd5b4: 0x6c23f420, 0xd5b6: 0x6c23ee20, 0xd5b7: 0x6c10c220,\n\t0xd5b8: 0x6c23ec20,\n\t0xd5bf: 0x6c03b820,\n\t// Block 0x357, offset 0xd5c0\n\t0xd5c2: 0x6c23fa20,\n\t0xd5c6: 0x6c23f020, 0xd5c7: 0x6c23f220,\n\t0xd5c9: 0x6c23f820, 0xd5ca: 0x6c23f620, 0xd5cb: 0x6c126620,\n\t0xd5ce: 0x6c0cc020, 0xd5cf: 0x6c0cbe20,\n\t0xd5d1: 0x6c03ea20,\n\t0xd5d4: 0x6c23fc20,\n\t0xd5da: 0x6c23fe20,\n\t0xd5dd: 0x6c240020,\n\t0xd5e3: 0x6c240420,\n\t0xd5e5: 0x6c240220,\n\t0xd5eb: 0x6c012820,\n\t0xd5f1: 0x6c241420, 0xd5f2: 0x6c123020, 0xd5f3: 0x6c240820,\n\t0xd5f5: 0x6c240c20,\n\t0xd5f8: 0x6c241020, 0xd5f9: 0x6c0b4020,\n\t0xd5fc: 0x6c241220, 0xd5fd: 0x6c240e20, 0xd5fe: 0x6c091020,\n\t// Block 0x358, offset 0xd600\n\t0xd602: 0x6c240620, 0xd603: 0x6c240a20,\n\t0xd605: 0x6c12a020, 0xd607: 0x6c0a9a20,\n\t0xd60a: 0x6c241820,\n\t0xd60d: 0x6c241620,\n\t0xd612: 0x6c241a20,\n\t0xd614: 0x6c08dc20, 0xd615: 0x6c077620,\n\t0xd618: 0x6c101a20, 0xd619: 0x6c241c20, 0xd61b: 0x6c0f0620,\n\t0xd61e: 0x6c242020,\n\t0xd622: 0x6c160a20, 0xd623: 0x6c241e20,\n\t0xd629: 0x6c0d0e20,\n\t0xd630: 0x6c242a20, 0xd632: 0x6c242e20, 0xd633: 0x6c243020,\n\t0xd634: 0x6c0e5c20,\n\t0xd63a: 0x6c242c20,\n\t0xd63c: 0x6c242620, 0xd63e: 0x6c242220, 0xd63f: 0x6c242420,\n\t// Block 0x359, offset 0xd640\n\t0xd641: 0x6c242820,\n\t0xd649: 0x6c243620, 0xd64b: 0x6c243220,\n\t0xd64d: 0x6c243420,\n\t0xd65f: 0x6c243820,\n\t0xd660: 0x6c243c20, 0xd661: 0x6c243e20, 0xd662: 0x6c244020,\n\t0xd664: 0x6c244220, 0xd667: 0x6c243a20,\n\t0xd670: 0x6c244620,\n\t0xd674: 0x6c244420,\n\t0xd67b: 0x6c244820,\n\t// Block 0x35a, offset 0xd680\n\t0xd682: 0x6c165220,\n\t0xd686: 0x6c244e20, 0xd687: 0x6c244a20,\n\t0xd688: 0x6c244c20,\n\t0xd68c: 0x6c037420,\n\t0xd692: 0x6c154c20,\n\t0xd696: 0x6c136c20,\n\t0xd698: 0x6c245220,\n\t0xd69c: 0x6c245020,\n\t0xd6a1: 0x6c245420, 0xd6a2: 0x6c245620,\n\t0xd6a7: 0x6c245e20,\n\t0xd6a8: 0x6c245820, 0xd6a9: 0x6c245a20, 0xd6aa: 0x6c245c20,\n\t0xd6ac: 0x6c246020,\n\t0xd6b0: 0x6c246220, 0xd6b2: 0x6c246420,\n\t0xd6b6: 0x6c246620,\n\t0xd6b8: 0x6c246820, 0xd6ba: 0x6c11be20, 0xd6bb: 0x6c0fcc20,\n\t0xd6bc: 0x6c246a20, 0xd6bd: 0x6c118820, 0xd6be: 0x6c128420,\n\t// Block 0x35b, offset 0xd6c0\n\t0xd6c0: 0x6c246c20, 0xd6c3: 0x6c246e20,\n\t0xd6c4: 0x6c0f8020, 0xd6c6: 0x6c024220, 0xd6c7: 0x6c06e420,\n\t0xd6c8: 0x6c247020, 0xd6cb: 0x6c247220,\n\t0xd6ce: 0x6c247420,\n\t0xd6d0: 0x6c082620, 0xd6d3: 0x6c247820,\n\t0xd6d6: 0x6c247620,\n\t0xd6d9: 0x6c247a20, 0xd6da: 0x6c247c20,\n\t0xd6ee: 0x6c123220,\n\t0xd6f0: 0x6c247e20,\n\t0xd6f4: 0x6c248020, 0xd6f7: 0x6c317020,\n\t0xd6f8: 0x6c248220, 0xd6f9: 0x6c248420, 0xd6fa: 0x6c248620,\n\t0xd6ff: 0x6c083020,\n\t// Block 0x35c, offset 0xd700\n\t0xd702: 0x6c248820, 0xd703: 0x6c115020,\n\t0xd706: 0x6c145220,\n\t0xd708: 0x6c011820, 0xd70a: 0x6c012a20,\n\t0xd70d: 0x6c248a20,\n\t0xd712: 0x6c248e20,\n\t0xd716: 0x6c248c20, 0xd717: 0x6c100c20,\n\t0xd71b: 0x6c0bf220,\n\t0xd71c: 0x6c20e820, 0xd71e: 0x6c249020, 0xd71f: 0x6c14d220,\n\t0xd721: 0x6c249220, 0xd723: 0x6c033c20,\n\t0xd724: 0x6c120e20, 0xd725: 0x6c249420, 0xd727: 0x6c249620,\n\t0xd72a: 0x6c249820,\n\t0xd72e: 0x6c150820,\n\t0xd732: 0x6c14fa20,\n\t0xd734: 0x6c0eec20,\n\t0xd738: 0x6c0d1020, 0xd73b: 0x6c249c20,\n\t0xd73e: 0x6c0a1020,\n\t// Block 0x35d, offset 0xd740\n\t0xd741: 0x6c0a9c20,\n\t0xd744: 0x6c24a220, 0xd747: 0x6c24a020,\n\t0xd748: 0x6c249e20, 0xd749: 0x6c125a20, 0xd74b: 0x6c033e20,\n\t0xd74c: 0x6c05f220,\n\t0xd75b: 0x6c24ae20,\n\t0xd75e: 0x6c24a820, 0xd75f: 0x6c0b4220,\n\t0xd760: 0x6c14b420,\n\t0xd764: 0x6c24a620, 0xd765: 0x6c24aa20, 0xd766: 0x6c24ac20,\n\t0xd769: 0x6c24a420,\n\t0xd777: 0x6c24b020,\n\t0xd778: 0x6c24b220, 0xd77a: 0x6c0ece20,\n\t0xd77c: 0x6c037620,\n\t// Block 0x35e, offset 0xd780\n\t0xd780: 0x6c0e7e20,\n\t0xd787: 0x6c24b420,\n\t0xd79a: 0x6c24b620, 0xd79b: 0x6c24bc20,\n\t0xd7a1: 0x6c0b9220, 0xd7a3: 0x6c107020,\n\t0xd7a5: 0x6c24be20, 0xd7a6: 0x6c143a20,\n\t0xd7a8: 0x6c24b820, 0xd7ab: 0x6c24ba20,\n\t0xd7b9: 0x6c24c420,\n\t0xd7be: 0x6c24c220, 0xd7bf: 0x6c24c020,\n\t// Block 0x35f, offset 0xd7c0\n\t0xd7cb: 0x6c24c820,\n\t0xd7ce: 0x6c24c620,\n\t0xd7d1: 0x6c24ca20,\n\t0xd7de: 0x6c24ce20,\n\t0xd7e0: 0x6c24cc20,\n\t0xd7e5: 0x6c137220,\n\t0xd7ec: 0x6c09f820, 0xd7ed: 0x6c165420,\n\t0xd7f0: 0x6c24d020, 0xd7f3: 0x6c105620,\n\t0xd7f6: 0x6c24d220,\n\t0xd7f9: 0x6c24d420, 0xd7fb: 0x6c24dc20,\n\t0xd7fc: 0x6c24d820, 0xd7fd: 0x6c24da20, 0xd7ff: 0x6c24d620,\n\t// Block 0x360, offset 0xd800\n\t0xd807: 0x6c24de20,\n\t0xd80d: 0x6c24e020,\n\t0xd817: 0x6c24e220,\n\t0xd81a: 0x6c24e420, 0xd81b: 0x6c14be20,\n\t0xd81c: 0x6c24e620,\n\t0xd822: 0x6c153020, 0xd823: 0x6c24e820,\n\t0xd825: 0x6c0e5020, 0xd827: 0x6c117820,\n\t0xd829: 0x6c04fe20,\n\t0xd82d: 0x6c0e2a20, 0xd82e: 0x6c24ea20, 0xd82f: 0x6c049c20,\n\t0xd833: 0x6c0c2020,\n\t0xd83c: 0x6c24ec20,\n\t// Block 0x361, offset 0xd840\n\t0xd842: 0x6c079220,\n\t0xd84c: 0x6c24ee20,\n\t0xd852: 0x6c24f020,\n\t0xd854: 0x6c05ec20, 0xd855: 0x6c07c220,\n\t0xd860: 0x6c24f420,\n\t0xd865: 0x6c0fd820, 0xd866: 0x6c07c420, 0xd867: 0x6c040820,\n\t0xd872: 0x6c13dc20,\n\t0xd874: 0x6c113a20,\n\t0xd87a: 0x6c0fda20,\n\t0xd87f: 0x6c071420,\n\t// Block 0x362, offset 0xd880\n\t0xd885: 0x6c24f820,\n\t0xd89d: 0x6c0a9e20,\n\t0xd8ab: 0x6c162c20,\n\t0xd8ac: 0x6c06e620, 0xd8af: 0x6c05ee20,\n\t0xd8b2: 0x6c11a620,\n\t0xd8b4: 0x6c24fc20,\n\t0xd8bc: 0x6c250020,\n\t// Block 0x363, offset 0xd8c0\n\t0xd8c1: 0x6c067620,\n\t0xd8c6: 0x6c24fe20, 0xd8c7: 0x6c0f5c20,\n\t0xd8cc: 0x6c250420, 0xd8cd: 0x6c026220, 0xd8ce: 0x6c24fa20,\n\t0xd8d1: 0x6c123420, 0xd8d3: 0x6c00dc20,\n\t0xd8d5: 0x6c07f020, 0xd8d7: 0x6c172820,\n\t0xd8da: 0x6c250220,\n\t0xd8e3: 0x6c250620,\n\t0xd8e7: 0x6c136e20,\n\t0xd8e9: 0x6c0c3220, 0xd8ea: 0x6c250a20,\n\t0xd8ef: 0x6c250c20,\n\t0xd8f5: 0x6c250820,\n\t0xd8fa: 0x6c029020,\n\t0xd8fc: 0x6c251820, 0xd8fe: 0x6c251620,\n\t// Block 0x364, offset 0xd900\n\t0xd901: 0x6c08de20,\n\t0xd905: 0x6c251a20, 0xd906: 0x6c251020,\n\t0xd90a: 0x6c251c20, 0xd90b: 0x6c251220,\n\t0xd910: 0x6c121020, 0xd911: 0x6c250e20,\n\t0xd914: 0x6c251420,\n\t0xd91a: 0x6c252220,\n\t0xd927: 0x6c252020,\n\t0xd928: 0x6c145620,\n\t0xd92c: 0x6c251e20, 0xd92f: 0x6c009620,\n\t0xd934: 0x6c252620,\n\t0xd93d: 0x6c252420,\n\t// Block 0x365, offset 0xd940\n\t0xd941: 0x6c0aa020,\n\t0xd947: 0x6c252820,\n\t0xd94e: 0x6c0cc220,\n\t0xd951: 0x6c252c20, 0xd952: 0x6c252a20,\n\t0xd959: 0x6c252e20,\n\t0xd966: 0x6c24f220,\n\t0xd96a: 0x6c24f620, 0xd96b: 0x6c253220,\n\t0xd96c: 0x6c253020,\n\t0xd97a: 0x6c08e020,\n\t0xd97c: 0x6c169a20, 0xd97e: 0x6c093420,\n\t// Block 0x366, offset 0xd980\n\t0xd980: 0x6c253420, 0xd981: 0x6c055220,\n\t0xd987: 0x6c03ec20,\n\t0xd988: 0x6c03ba20, 0xd989: 0x6c089a20,\n\t0xd990: 0x6c157420, 0xd993: 0x6c254020,\n\t0xd995: 0x6c253e20, 0xd996: 0x6c0cc420, 0xd997: 0x6c253820,\n\t0xd99a: 0x6c253c20,\n\t0xd99d: 0x6c09e220, 0xd99e: 0x6c0b4420, 0xd99f: 0x6c253a20,\n\t0xd9a0: 0x6c253620, 0xd9a2: 0x6c10f820,\n\t0xd9a5: 0x6c0aa220,\n\t0xd9a8: 0x6c129420,\n\t0xd9ad: 0x6c07c620,\n\t0xd9b7: 0x6c101c20,\n\t0xd9ba: 0x6c254220,\n\t0xd9bf: 0x6c254420,\n\t// Block 0x367, offset 0xd9c0\n\t0xd9c0: 0x6c257020, 0xd9c1: 0x6c04d820,\n\t0xd9c4: 0x6c16fe20, 0xd9c5: 0x6c0ca620,\n\t0xd9ca: 0x6c254620,\n\t0xd9cd: 0x6c01dc20, 0xd9ce: 0x6c0f5e20, 0xd9cf: 0x6c131a20,\n\t0xd9dd: 0x6c254820,\n\t0xd9e6: 0x6c046020, 0xd9e7: 0x6c254a20,\n\t0xd9ea: 0x6c254e20,\n\t0xd9ee: 0x6c255020,\n\t0xd9f0: 0x6c10f620, 0xd9f3: 0x6c255220,\n\t0xd9f9: 0x6c255420, 0xd9fa: 0x6c255620,\n\t0xd9fd: 0x6c04da20, 0xd9fe: 0x6c01de20, 0xd9ff: 0x6c107220,\n\t// Block 0x368, offset 0xda00\n\t0xda00: 0x6c099c20, 0xda01: 0x6c089c20,\n\t0xda09: 0x6c255820, 0xda0b: 0x6c099e20,\n\t0xda11: 0x6c01cc20, 0xda12: 0x6c12a220,\n\t0xda15: 0x6c255a20,\n\t0xda18: 0x6c123620,\n\t0xda1f: 0x6c0cc620,\n\t0xda21: 0x6c256020, 0xda23: 0x6c256220,\n\t0xda24: 0x6c117620, 0xda26: 0x6c0b4620, 0xda27: 0x6c255c20,\n\t0xda29: 0x6c0e7620,\n\t0xda2c: 0x6c255e20,\n\t0xda30: 0x6c0aa420,\n\t0xda3b: 0x6c007820,\n\t// Block 0x369, offset 0xda40\n\t0xda40: 0x6c03be20,\n\t0xda48: 0x6c256420, 0xda4b: 0x6c0f6020,\n\t0xda4d: 0x6c256620, 0xda4e: 0x6c0c0e20,\n\t0xda54: 0x6c14aa20, 0xda57: 0x6c126220,\n\t0xda58: 0x6c256820, 0xda59: 0x6c256a20, 0xda5a: 0x6c0e5e20,\n\t0xda5c: 0x6c165620, 0xda5f: 0x6c256e20,\n\t0xda60: 0x6c256c20,\n\t0xda6e: 0x6c096e20,\n\t0xda71: 0x6c257220, 0xda72: 0x6c00a020,\n\t0xda77: 0x6c257820,\n\t0xda7b: 0x6c257420,\n\t0xda7c: 0x6c01e020, 0xda7d: 0x6c058020, 0xda7e: 0x6c257620, 0xda7f: 0x6c06e820,\n\t// Block 0x36a, offset 0xda80\n\t0xda80: 0x6c074020, 0xda82: 0x6c13a420, 0xda83: 0x6c257a20,\n\t0xda86: 0x6c143c20,\n\t0xda89: 0x6c257e20,\n\t0xda8d: 0x6c0c2220, 0xda8e: 0x6c011a20, 0xda8f: 0x6c01ac20,\n\t0xda90: 0x6c001820,\n\t0xda97: 0x6c257c20,\n\t0xdaa1: 0x6c258020, 0xdaa2: 0x6c258220, 0xdaa3: 0x6c0af620,\n\t0xdaa9: 0x6c258420, 0xdaab: 0x6c029220,\n\t0xdab0: 0x6c258820,\n\t0xdab4: 0x6c05b820, 0xdab6: 0x6c043820,\n\t0xdab9: 0x6c258a20, 0xdaba: 0x6c051220,\n\t0xdabd: 0x6c258c20, 0xdabf: 0x6c0c7820,\n\t// Block 0x36b, offset 0xdac0\n\t0xdac1: 0x6c108220, 0xdac3: 0x6c0c4020,\n\t0xdac4: 0x6c080220,\n\t0xdac8: 0x6c258e20,\n\t0xdad2: 0x6c0e7820, 0xdad3: 0x6c0d1220,\n\t0xdad5: 0x6c259220, 0xdad6: 0x6c259620, 0xdad7: 0x6c259020,\n\t0xdad8: 0x6c259420,\n\t0xdadf: 0x6c052820,\n\t0xdae9: 0x6c259820, 0xdaea: 0x6c053020,\n\t0xdaee: 0x6c043a20, 0xdaef: 0x6c15b020,\n\t0xdaf0: 0x6c259c20,\n\t0xdaf6: 0x6c259e20,\n\t0xdafa: 0x6c00d820,\n\t0xdaff: 0x6c25a420,\n\t// Block 0x36c, offset 0xdb00\n\t0xdb03: 0x6c02e020,\n\t0xdb04: 0x6c25a220, 0xdb05: 0x6c25a020, 0xdb07: 0x6c25a820,\n\t0xdb08: 0x6c259a20, 0xdb0a: 0x6c25aa20, 0xdb0b: 0x6c161a20,\n\t0xdb0d: 0x6c25ac20, 0xdb0f: 0x6c25ae20,\n\t0xdb12: 0x6c1ac220, 0xdb13: 0x6c25b220,\n\t0xdb15: 0x6c25b020,\n\t0xdb19: 0x6c25b420, 0xdb1a: 0x6c25b620,\n\t0xdb1c: 0x6c163220, 0xdb1d: 0x6c25b820, 0xdb1f: 0x6c2f4820,\n\t0xdb20: 0x6c0aa620, 0xdb21: 0x6c25ba20, 0xdb22: 0x6c25bc20, 0xdb23: 0x6c09fa20,\n\t0xdb25: 0x6c105820, 0xdb26: 0x6c25be20,\n\t0xdb2a: 0x6c0e0420,\n\t0xdb2d: 0x6c25c020, 0xdb2f: 0x6c0e2c20,\n\t0xdb30: 0x6c25c220,\n\t0xdb36: 0x6c047220,\n\t0xdb38: 0x6c182420, 0xdb39: 0x6c0e6e20, 0xdb3a: 0x6c08f620,\n\t0xdb3f: 0x6c034020,\n\t// Block 0x36d, offset 0xdb40\n\t0xdb42: 0x6c25c420,\n\t0xdb44: 0x6c25de20, 0xdb46: 0x6c25ca20,\n\t0xdb48: 0x6c043c20, 0xdb4a: 0x6c25c820, 0xdb4b: 0x6c25e220,\n\t0xdb4f: 0x6c25c620,\n\t0xdb51: 0x6c0aa820,\n\t0xdb58: 0x6c25ce20, 0xdb59: 0x6c25d020, 0xdb5b: 0x6c0f8220,\n\t0xdb5e: 0x6c25d220,\n\t0xdb60: 0x6c02b020,\n\t0xdb65: 0x6c0b7820, 0xdb66: 0x6c12e420,\n\t0xdb68: 0x6c25d620,\n\t0xdb6c: 0x6c0dc820,\n\t0xdb73: 0x6c25cc20,\n\t0xdb75: 0x6c25d420, 0xdb76: 0x6c25d820,\n\t0xdb79: 0x6c080e20,\n\t// Block 0x36e, offset 0xdb80\n\t0xdb85: 0x6c25e620, 0xdb86: 0x6c127820,\n\t0xdb88: 0x6c11ac20, 0xdb89: 0x6c101e20, 0xdb8b: 0x6c04dc20,\n\t0xdb8c: 0x6c25e420, 0xdb8d: 0x6c25e020, 0xdb8f: 0x6c11ca20,\n\t0xdb90: 0x6c25da20, 0xdb91: 0x6c0e7020, 0xdb92: 0x6c102220,\n\t0xdb94: 0x6c102020, 0xdb96: 0x6c080420,\n\t0xdb9d: 0x6c260a20,\n\t0xdba5: 0x6c25ea20, 0xdba7: 0x6c25ee20,\n\t0xdbac: 0x6c25f420, 0xdbae: 0x6c25f620,\n\t0xdbb0: 0x6c25f020, 0xdbb1: 0x6c25f220,\n\t0xdbb4: 0x6c25ec20, 0xdbb5: 0x6c25e820,\n\t0xdbba: 0x6c25dc20,\n\t// Block 0x36f, offset 0xdbc0\n\t0xdbc6: 0x6c137620, 0xdbc7: 0x6c01e220,\n\t0xdbcb: 0x6c260420,\n\t0xdbcd: 0x6c25fe20, 0xdbcf: 0x6c260820,\n\t0xdbd2: 0x6c260620,\n\t0xdbd4: 0x6c118a20, 0xdbd5: 0x6c149e20, 0xdbd7: 0x6c084a20,\n\t0xdbd8: 0x6c25fa20, 0xdbd9: 0x6c260c20, 0xdbda: 0x6c260220,\n\t0xdbdc: 0x6c260020, 0xdbdd: 0x6c25f820, 0xdbdf: 0x6c25fc20,\n\t0xdbe1: 0x6c034220,\n\t0xdbea: 0x6c0e2e20,\n\t0xdbed: 0x6c0c7a20,\n\t0xdbf1: 0x6c11a420,\n\t0xdbf4: 0x6c261620,\n\t0xdbf8: 0x6c11a820,\n\t// Block 0x370, offset 0xdc00\n\t0xdc00: 0x6c0c4220, 0xdc01: 0x6c261020,\n\t0xdc04: 0x6c11fe20, 0xdc06: 0x6c261820, 0xdc07: 0x6c137e20,\n\t0xdc09: 0x6c0e6a20, 0xdc0b: 0x6c260e20,\n\t0xdc0c: 0x6c261220, 0xdc0f: 0x6c261420,\n\t0xdc1d: 0x6c261a20,\n\t0xdc20: 0x6c091820,\n\t0xdc24: 0x6c107420, 0xdc25: 0x6c262420, 0xdc26: 0x6c262220,\n\t0xdc29: 0x6c261c20,\n\t0xdc2d: 0x6c16f020,\n\t0xdc33: 0x6c262e20,\n\t0xdc36: 0x6c263620, 0xdc37: 0x6c263020,\n\t// Block 0x371, offset 0xdc40\n\t0xdc40: 0x6c262820,\n\t0xdc47: 0x6c262a20,\n\t0xdc4d: 0x6c263420,\n\t0xdc51: 0x6c261e20, 0xdc52: 0x6c190c20, 0xdc53: 0x6c262c20,\n\t0xdc54: 0x6c262020, 0xdc57: 0x6c263220,\n\t0xdc5f: 0x6c263e20,\n\t0xdc61: 0x6c034420, 0xdc63: 0x6c263820,\n\t0xdc67: 0x6c263a20,\n\t0xdc6a: 0x6c263c20, 0xdc6b: 0x6c264220,\n\t0xdc77: 0x6c264020,\n\t0xdc78: 0x6c124c20,\n\t0xdc7d: 0x6c264420, 0xdc7e: 0x6c16c020, 0xdc7f: 0x6c13b220,\n\t// Block 0x372, offset 0xdc80\n\t0xdc80: 0x6c264e20, 0xdc83: 0x6c264820,\n\t0xdc8c: 0x6c264620, 0xdc8d: 0x6c0c2420, 0xdc8f: 0x6c264c20,\n\t0xdc90: 0x6c265020,\n\t0xdc94: 0x6c264a20, 0xdc96: 0x6c265820,\n\t0xdc98: 0x6c265220,\n\t0xdc9f: 0x6c265420,\n\t0xdca0: 0x6c262620,\n\t0xdca4: 0x6c265620, 0xdca5: 0x6c265a20,\n\t0xdcac: 0x6c265c20,\n\t0xdcb3: 0x6c136420,\n\t0xdcb5: 0x6c265e20,\n\t0xdcbe: 0x6c151420,\n\t// Block 0x373, offset 0xdcc0\n\t0xdcc1: 0x6c04c420, 0xdcc2: 0x6c053620, 0xdcc3: 0x6c266020,\n\t0xdcc9: 0x6c134020, 0xdccb: 0x6c0b9420,\n\t0xdccd: 0x6c14b020,\n\t0xdcd0: 0x6c266220, 0xdcd2: 0x6c162e20,\n\t0xdcd5: 0x6c118c20, 0xdcd7: 0x6c0cc820,\n\t0xdcd8: 0x6c110c20, 0xdcdb: 0x6c09e620,\n\t0xdcdf: 0x6c004020,\n\t0xdce1: 0x6c266c20, 0xdce2: 0x6c266820,\n\t0xdce4: 0x6c266420, 0xdce5: 0x6c02f220, 0xdce7: 0x6c0aaa20,\n\t0xdce8: 0x6c266e20, 0xdceb: 0x6c266a20,\n\t0xdced: 0x6c266620, 0xdcee: 0x6c267620,\n\t0xdcf1: 0x6c267420, 0xdcf2: 0x6c267220, 0xdcf3: 0x6c267020,\n\t0xdcf9: 0x6c267820,\n\t0xdcfd: 0x6c267a20, 0xdcfe: 0x6c0bf420,\n\t// Block 0x374, offset 0xdd00\n\t0xdd00: 0x6c267c20, 0xdd02: 0x6c268020,\n\t0xdd05: 0x6c267e20,\n\t0xdd0a: 0x6c064420,\n\t0xdd0e: 0x6c0cac20,\n\t0xdd12: 0x6c268420,\n\t0xdd16: 0x6c102420,\n\t0xdd18: 0x6c268220,\n\t0xdd1c: 0x6c268620, 0xdd1e: 0x6c134220, 0xdd1f: 0x6c0d1420,\n\t0xdd20: 0x6c06ea20, 0xdd22: 0x6c268820,\n\t0xdd27: 0x6c165820,\n\t0xdd2f: 0x6c268c20,\n\t0xdd32: 0x6c268e20,\n\t0xdd34: 0x6c269020, 0xdd36: 0x6c269220,\n\t0xdd38: 0x6c089e20, 0xdd3a: 0x6c269420, 0xdd3b: 0x6c058220,\n\t0xdd3e: 0x6c044020,\n\t// Block 0x375, offset 0xdd40\n\t0xdd40: 0x6c03c020, 0xdd42: 0x6c269820,\n\t0xdd44: 0x6c153620, 0xdd45: 0x6c06ec20, 0xdd46: 0x6c269620,\n\t0xdd4a: 0x6c269e20, 0xdd4b: 0x6c151c20,\n\t0xdd4d: 0x6c111c20,\n\t0xdd50: 0x6c128220,\n\t0xdd54: 0x6c0a1220, 0xdd55: 0x6c269c20, 0xdd57: 0x6c093620,\n\t0xdd58: 0x6c06ee20, 0xdd59: 0x6c08a020, 0xdd5a: 0x6c043e20, 0xdd5b: 0x6c134420,\n\t0xdd5c: 0x6c269a20,\n\t0xdd60: 0x6c0cca20, 0xdd61: 0x6c141820, 0xdd62: 0x6c080620,\n\t0xdd6b: 0x6c08a220,\n\t0xdd6c: 0x6c0f2a20, 0xdd6e: 0x6c26a420, 0xdd6f: 0x6c168620,\n\t0xdd70: 0x6c07ca20, 0xdd72: 0x6c26a620, 0xdd73: 0x6c0b4820,\n\t0xdd75: 0x6c26aa20,\n\t0xdd79: 0x6c0aac20, 0xdd7a: 0x6c077820,\n\t0xdd7f: 0x6c26a820,\n\t// Block 0x376, offset 0xdd80\n\t0xdd82: 0x6c09a020, 0xdd83: 0x6c061c20,\n\t0xdd84: 0x6c0ccc20, 0xdd85: 0x6c26a020, 0xdd86: 0x6c26ac20,\n\t0xdd8b: 0x6c26a220,\n\t0xdd8c: 0x6c058420, 0xdd8e: 0x6c26b220, 0xdd8f: 0x6c26ba20,\n\t0xdd90: 0x6c05ba20,\n\t0xdd96: 0x6c26b020,\n\t0xdd9b: 0x6c26c220,\n\t0xdd9e: 0x6c06f020,\n\t0xdda1: 0x6c15e620, 0xdda2: 0x6c003820, 0xdda3: 0x6c26bc20,\n\t0xdda6: 0x6c044220,\n\t0xdda8: 0x6c26b620,\n\t0xddae: 0x6c26b820,\n\t0xddb1: 0x6c102620, 0xddb2: 0x6c26b420, 0xddb3: 0x6c26ae20,\n\t0xddb5: 0x6c024420, 0xddb6: 0x6c0c4820,\n\t0xddb9: 0x6c05f020,\n\t0xddbd: 0x6c26c620,\n\t// Block 0x377, offset 0xddc0\n\t0xddc9: 0x6c26c020,\n\t0xddcf: 0x6c26c420,\n\t0xddd3: 0x6c26be20,\n\t0xddd9: 0x6c058620, 0xddda: 0x6c0d5e20, 0xdddb: 0x6c26c820,\n\t0xdddc: 0x6c0d1820, 0xdddf: 0x6c26e220,\n\t0xdde2: 0x6c26da20, 0xdde3: 0x6c26ce20,\n\t0xddeb: 0x6c26d620,\n\t0xddec: 0x6c098420, 0xdded: 0x6c007a20, 0xddee: 0x6c26cc20, 0xddef: 0x6c26dc20,\n\t0xddf0: 0x6c26e420, 0xddf1: 0x6c06f220, 0xddf2: 0x6c14fc20,\n\t0xddf4: 0x6c0f1c20, 0xddf5: 0x6c26d020,\n\t0xddf8: 0x6c26e020, 0xddfa: 0x6c26ca20, 0xddfb: 0x6c0e3020,\n\t0xddfd: 0x6c26d420, 0xddfe: 0x6c003a20, 0xddff: 0x6c14e420,\n\t// Block 0x378, offset 0xde00\n\t0xde07: 0x6c26d220,\n\t0xde0a: 0x6c04de20, 0xde0b: 0x6c123820,\n\t0xde0f: 0x6c0d1620,\n\t0xde11: 0x6c166820, 0xde12: 0x6c0a2a20,\n\t0xde15: 0x6c273220,\n\t0xde18: 0x6c26e620, 0xde1a: 0x6c0c7c20,\n\t0xde1c: 0x6c26de20, 0xde1d: 0x6c26e820, 0xde1e: 0x6c26ec20,\n\t0xde20: 0x6c0f6220, 0xde21: 0x6c26f220,\n\t0xde24: 0x6c26ea20,\n\t0xde28: 0x6c138020, 0xde29: 0x6c034620,\n\t0xde2c: 0x6c14e620, 0xde2f: 0x6c007c20,\n\t0xde32: 0x6c26f020,\n\t0xde34: 0x6c16c220,\n\t0xde3b: 0x6c26ee20,\n\t// Block 0x379, offset 0xde40\n\t0xde41: 0x6c015a20,\n\t0xde44: 0x6c10c020, 0xde45: 0x6c26f420,\n\t0xde49: 0x6c270220, 0xde4a: 0x6c26f620, 0xde4b: 0x6c270420,\n\t0xde52: 0x6c26fc20,\n\t0xde5b: 0x6c119a20,\n\t0xde5e: 0x6c092420, 0xde5f: 0x6c270020,\n\t0xde61: 0x6c26fa20, 0xde62: 0x6c270620, 0xde63: 0x6c26f820,\n\t0xde66: 0x6c09d420,\n\t0xde6b: 0x6c13de20,\n\t0xde6e: 0x6c09e420,\n\t0xde71: 0x6c26fe20, 0xde72: 0x6c271620,\n\t0xde75: 0x6c270e20, 0xde77: 0x6c271420,\n\t0xde79: 0x6c271020, 0xde7a: 0x6c271820, 0xde7b: 0x6c270c20,\n\t0xde7d: 0x6c26d820, 0xde7e: 0x6c0c2620,\n\t// Block 0x37a, offset 0xde80\n\t0xde81: 0x6c11f620, 0xde83: 0x6c271220,\n\t0xde86: 0x6c270820,\n\t0xde8a: 0x6c0c7e20, 0xde8b: 0x6c058820,\n\t0xde8d: 0x6c09a220,\n\t0xde94: 0x6c0b0e20, 0xde95: 0x6c0ca820, 0xde96: 0x6c271e20,\n\t0xde99: 0x6c272220, 0xde9a: 0x6c272420,\n\t0xde9d: 0x6c271c20, 0xde9e: 0x6c272020,\n\t0xdea6: 0x6c270a20, 0xdea7: 0x6c271a20,\n\t0xdea9: 0x6c272a20, 0xdeaa: 0x6c272820,\n\t0xdead: 0x6c148820,\n\t0xdeb0: 0x6c053a20,\n\t0xdeb9: 0x6c272620, 0xdebb: 0x6c272e20,\n\t0xdebc: 0x6c272c20, 0xdebd: 0x6c273420, 0xdebf: 0x6c273820,\n\t// Block 0x37b, offset 0xdec0\n\t0xdec2: 0x6c084c20, 0xdec3: 0x6c273020,\n\t0xdec8: 0x6c273a20, 0xdec9: 0x6c273c20,\n\t0xdecc: 0x6c273e20, 0xdece: 0x6c274a20, 0xdecf: 0x6c0fa220,\n\t0xded0: 0x6c274220, 0xded2: 0x6c274020, 0xded3: 0x6c274420,\n\t0xded4: 0x6c274620, 0xded6: 0x6c274820,\n\t0xdedb: 0x6c274c20,\n\t0xdedc: 0x6c274e20,\n\t// Block 0x37c, offset 0xdf00\n\t0xdf36: 0x6c034820,\n\t0xdf38: 0x6c275020, 0xdf3a: 0x6c275220,\n\t// Block 0x37d, offset 0xdf40\n\t0xdf45: 0x6c275420,\n\t0xdf4c: 0x6c275620, 0xdf4d: 0x6c275820, 0xdf4e: 0x6c275a20,\n\t0xdf50: 0x6c275c20, 0xdf51: 0x6c275e20,\n\t0xdf54: 0x6c276220, 0xdf55: 0x6c276020,\n\t0xdf58: 0x6c276420,\n\t0xdf5f: 0x6c276620,\n\t0xdf60: 0x6c276820,\n\t0xdf67: 0x6c276e20,\n\t0xdf68: 0x6c276a20, 0xdf69: 0x6c276c20, 0xdf6a: 0x6c07da20, 0xdf6b: 0x6c058a20,\n\t0xdf6e: 0x6c0e6020,\n\t0xdf70: 0x6c11c620, 0xdf72: 0x6c0a2c20,\n\t0xdf75: 0x6c113e20, 0xdf77: 0x6c123a20,\n\t0xdf78: 0x6c277020, 0xdf79: 0x6c1da420,\n\t// Block 0x37e, offset 0xdf80\n\t0xdf82: 0x6c277220, 0xdf83: 0x6c277620,\n\t0xdf85: 0x6c15d620, 0xdf86: 0x6c277420, 0xdf87: 0x6c277a20,\n\t0xdf88: 0x6c277820, 0xdf8a: 0x6c15b220,\n\t0xdf8c: 0x6c277c20, 0xdf8e: 0x6c125c20,\n\t0xdf94: 0x6c277e20,\n\t0xdf9a: 0x6c278420,\n\t0xdf9d: 0x6c278220, 0xdf9e: 0x6c278020,\n\t0xdfa3: 0x6c278620,\n\t0xdfa4: 0x6c054820,\n\t0xdfa8: 0x6c0c8020, 0xdfa9: 0x6c03ee20,\n\t0xdfae: 0x6c278e20, 0xdfaf: 0x6c278820,\n\t0xdfb2: 0x6c278a20,\n\t0xdfb6: 0x6c279020,\n\t0xdfb8: 0x6c279220, 0xdfb9: 0x6c278c20,\n\t0xdfbd: 0x6c00ce20,\n\t// Block 0x37f, offset 0xdfc0\n\t0xdfc1: 0x6c018620,\n\t0xdfc5: 0x6c279620, 0xdfc6: 0x6c279820,\n\t0xdfca: 0x6c279a20,\n\t0xdfcc: 0x6c15d020,\n\t0xdfd2: 0x6c09a420,\n\t0xdfd4: 0x6c279e20, 0xdfd5: 0x6c279c20,\n\t0xdfe0: 0x6c0b9620, 0xdfe1: 0x6c27a020,\n\t0xdfe6: 0x6c27a220,\n\t0xdfe9: 0x6c27a420, 0xdfeb: 0x6c037a20,\n\t0xdff0: 0x6c034a20, 0xdff3: 0x6c27a620,\n\t0xdff9: 0x6c27a820, 0xdffb: 0x6c144e20,\n\t0xdffc: 0x6c15d220,\n\t// Block 0x380, offset 0xe000\n\t0xe000: 0x6c15b420, 0xe001: 0x6c16f220, 0xe003: 0x6c06f620,\n\t0xe004: 0x6c27ae20, 0xe005: 0x6c093820, 0xe006: 0x6c27ac20,\n\t0xe00b: 0x6c27b020,\n\t0xe00c: 0x6c08e220,\n\t0xe010: 0x6c0d9a20, 0xe012: 0x6c27b220,\n\t0xe015: 0x6c06f420, 0xe017: 0x6c14fe20,\n\t0xe018: 0x6c27b420, 0xe019: 0x6c27b620,\n\t0xe01c: 0x6c27b820,\n\t0xe021: 0x6c27ba20,\n\t0xe028: 0x6c27bc20,\n\t0xe033: 0x6c08e420,\n\t0xe036: 0x6c152a20,\n\t0xe03b: 0x6c27c020,\n\t0xe03d: 0x6c0e3220, 0xe03f: 0x6c27be20,\n\t// Block 0x381, offset 0xe040\n\t0xe046: 0x6c27c420,\n\t0xe04a: 0x6c27c220,\n\t0xe052: 0x6c27c620,\n\t0xe056: 0x6c0bf620,\n\t0xe058: 0x6c27c820, 0xe05a: 0x6c27ca20,\n\t0xe05e: 0x6c134a20, 0xe05f: 0x6c27cc20,\n\t0xe061: 0x6c0d1a20, 0xe062: 0x6c27ce20,\n\t0xe068: 0x6c27d020,\n\t0xe06f: 0x6c16c420,\n\t0xe070: 0x6c27d620, 0xe072: 0x6c27d420, 0xe073: 0x6c27d220,\n\t0xe074: 0x6c0ed020, 0xe076: 0x6c27d820, 0xe077: 0x6c0b1020,\n\t0xe079: 0x6c27da20,\n\t0xe07d: 0x6c27dc20, 0xe07e: 0x6c16f420, 0xe07f: 0x6c27de20,\n\t// Block 0x382, offset 0xe080\n\t0xe084: 0x6c27e020, 0xe085: 0x6c27e420, 0xe086: 0x6c27e220, 0xe087: 0x6c11aa20,\n\t0xe089: 0x6c10da20, 0xe08b: 0x6c170020,\n\t0xe08c: 0x6c11b220,\n\t0xe093: 0x6c27e820,\n\t0xe096: 0x6c0aae20,\n\t0xe098: 0x6c127020, 0xe09a: 0x6c27ea20, 0xe09b: 0x6c27e620,\n\t0xe09d: 0x6c034c20,\n\t0xe0a1: 0x6c064820, 0xe0a2: 0x6c08a420,\n\t0xe0a5: 0x6c123c20,\n\t0xe0a9: 0x6c05f420, 0xe0aa: 0x6c141a20,\n\t0xe0ac: 0x6c27f020, 0xe0ad: 0x6c27ec20, 0xe0af: 0x6c06f820,\n\t0xe0b1: 0x6c06fa20, 0xe0b2: 0x6c009220,\n\t0xe0b4: 0x6c07e820,\n\t0xe0ba: 0x6c115620,\n\t// Block 0x383, offset 0xe0c0\n\t0xe0c3: 0x6c007e20,\n\t0xe0c4: 0x6c27fa20, 0xe0c6: 0x6c0e3420,\n\t0xe0cc: 0x6c115420, 0xe0ce: 0x6c0dae20,\n\t0xe0d6: 0x6c27fe20,\n\t0xe0d9: 0x6c27f620, 0xe0da: 0x6c27fc20, 0xe0db: 0x6c27f220,\n\t0xe0dd: 0x6c27f820, 0xe0de: 0x6c13e020,\n\t0xe0e1: 0x6c064a20,\n\t0xe0e4: 0x6c00ba20, 0xe0e5: 0x6c27f420,\n\t0xe0ef: 0x6c280220,\n\t0xe0f1: 0x6c280420,\n\t0xe0f4: 0x6c105a20,\n\t0xe0f8: 0x6c049e20,\n\t0xe0fc: 0x6c281a20, 0xe0fd: 0x6c111e20,\n\t// Block 0x384, offset 0xe100\n\t0xe102: 0x6c08a620,\n\t0xe105: 0x6c04a020, 0xe106: 0x6c0c1020, 0xe107: 0x6c171020,\n\t0xe108: 0x6c14ac20, 0xe109: 0x6c280020, 0xe10a: 0x6c0c2820,\n\t0xe11a: 0x6c041220, 0xe11b: 0x6c280620,\n\t0xe123: 0x6c280a20,\n\t0xe129: 0x6c280820,\n\t0xe12f: 0x6c280c20,\n\t0xe131: 0x6c0e0020, 0xe133: 0x6c112020,\n\t0xe139: 0x6c0ed220,\n\t0xe13e: 0x6c281420,\n\t// Block 0x385, offset 0xe140\n\t0xe146: 0x6c281220,\n\t0xe14b: 0x6c280e20,\n\t0xe14e: 0x6c0b6e20,\n\t0xe150: 0x6c12e620, 0xe151: 0x6c281820, 0xe153: 0x6c281620,\n\t0xe154: 0x6c06fc20, 0xe155: 0x6c172a20,\n\t0xe15f: 0x6c283820,\n\t0xe165: 0x6c282020, 0xe166: 0x6c282220,\n\t0xe16b: 0x6c097020,\n\t0xe16e: 0x6c281e20,\n\t0xe170: 0x6c074c20, 0xe171: 0x6c281c20,\n\t0xe174: 0x6c282420,\n\t0xe178: 0x6c0ed420, 0xe179: 0x6c131c20, 0xe17a: 0x6c0c8220,\n\t0xe17f: 0x6c0db020,\n\t// Block 0x386, offset 0xe180\n\t0xe180: 0x6c282c20, 0xe182: 0x6c282e20, 0xe183: 0x6c282620,\n\t0xe188: 0x6c282820, 0xe18a: 0x6c282a20,\n\t0xe18f: 0x6c06fe20,\n\t0xe193: 0x6c283a20,\n\t0xe195: 0x6c283220,\n\t0xe19a: 0x6c12e820,\n\t0xe19c: 0x6c146c20, 0xe19d: 0x6c126c20,\n\t0xe1a0: 0x6c283020, 0xe1a3: 0x6c283620,\n\t0xe1a4: 0x6c283420,\n\t0xe1a8: 0x6c141c20, 0xe1a9: 0x6c283c20,\n\t0xe1b0: 0x6c283e20, 0xe1b3: 0x6c0caa20,\n\t0xe1b5: 0x6c284020,\n\t0xe1b8: 0x6c284420, 0xe1ba: 0x6c284c20,\n\t0xe1bd: 0x6c284620, 0xe1be: 0x6c284220, 0xe1bf: 0x6c112220,\n\t// Block 0x387, offset 0xe1c0\n\t0xe1c0: 0x6c284820, 0xe1c2: 0x6c284a20,\n\t0xe1c6: 0x6c019c20,\n\t0xe1c8: 0x6c285820, 0xe1c9: 0x6c284e20,\n\t0xe1cd: 0x6c285020,\n\t0xe1d1: 0x6c285220, 0xe1d3: 0x6c0d3a20,\n\t0xe1d8: 0x6c285620, 0xe1d9: 0x6c285420, 0xe1da: 0x6c285a20,\n\t0xe1df: 0x6c285c20,\n\t0xe1e0: 0x6c285e20, 0xe1e3: 0x6c0b4a20,\n\t0xe1e5: 0x6c020a20, 0xe1e7: 0x6c286020,\n\t0xe1e8: 0x6c167620, 0xe1ea: 0x6c08e620,\n\t0xe1ed: 0x6c09a620,\n\t0xe1f3: 0x6c08a820,\n\t0xe1f4: 0x6c0e6220,\n\t0xe1fa: 0x6c286220, 0xe1fb: 0x6c286420,\n\t0xe1fc: 0x6c00de20, 0xe1fe: 0x6c286620,\n\t// Block 0x388, offset 0xe200\n\t0xe201: 0x6c286820, 0xe202: 0x6c286a20,\n\t0xe205: 0x6c286c20, 0xe207: 0x6c286e20,\n\t0xe208: 0x6c04a220, 0xe209: 0x6c1e9620, 0xe20a: 0x6c287020,\n\t0xe20c: 0x6c0c4a20, 0xe20d: 0x6c287220, 0xe20e: 0x6c092620,\n\t0xe210: 0x6c287420, 0xe212: 0x6c174a20,\n\t0xe216: 0x6c287620, 0xe217: 0x6c139420,\n\t0xe218: 0x6c036820, 0xe21b: 0x6c0c8420,\n\t0xe21c: 0x6c09fc20, 0xe21e: 0x6c12fe20, 0xe21f: 0x6c09a820,\n\t0xe229: 0x6c287820, 0xe22a: 0x6c070020, 0xe22b: 0x6c287a20,\n\t0xe22c: 0x6c11f820, 0xe22e: 0x6c289620,\n\t0xe233: 0x6c287e20,\n\t0xe235: 0x6c0d8a20, 0xe236: 0x6c118e20, 0xe237: 0x6c061e20,\n\t0xe238: 0x6c287c20, 0xe239: 0x6c0c8620,\n\t// Block 0x389, offset 0xe240\n\t0xe240: 0x6c288020,\n\t0xe247: 0x6c0f6420,\n\t0xe258: 0x6c288420, 0xe259: 0x6c288220, 0xe25a: 0x6c288820,\n\t0xe25d: 0x6c288620, 0xe25f: 0x6c288a20,\n\t0xe262: 0x6c288e20,\n\t0xe264: 0x6c288c20, 0xe266: 0x6c034e20,\n\t0xe268: 0x6c289020, 0xe26a: 0x6c289220, 0xe26b: 0x6c289420,\n\t0xe26e: 0x6c077a20, 0xe26f: 0x6c165a20,\n\t0xe271: 0x6c289820, 0xe272: 0x6c0b1220,\n\t0xe276: 0x6c015c20, 0xe277: 0x6c289a20,\n\t0xe278: 0x6c289c20,\n\t0xe27e: 0x6c289e20,\n\t// Block 0x38a, offset 0xe280\n\t0xe28b: 0x6c00a420,\n\t0xe28d: 0x6c28a020,\n\t0xe292: 0x6c28a220,\n\t0xe299: 0x6c12ea20,\n\t0xe29d: 0x6c091e20, 0xe29f: 0x6c28a620,\n\t0xe2a5: 0x6c024620, 0xe2a6: 0x6c002420,\n\t0xe2ab: 0x6c28a420,\n\t0xe2ac: 0x6c28aa20, 0xe2ad: 0x6c114020, 0xe2af: 0x6c0b4c20,\n\t0xe2b1: 0x6c01e420, 0xe2b3: 0x6c13e220,\n\t0xe2b8: 0x6c059e20, 0xe2b9: 0x6c04e020, 0xe2bb: 0x6c28a820,\n\t0xe2bd: 0x6c020c20,\n\t// Block 0x38b, offset 0xe2c0\n\t0xe2c5: 0x6c02f620,\n\t0xe2d1: 0x6c015e20, 0xe2d2: 0x6c28b220, 0xe2d3: 0x6c169c20,\n\t0xe2d4: 0x6c0db220, 0xe2d7: 0x6c12a420,\n\t0xe2d9: 0x6c28ca20, 0xe2db: 0x6c01e620,\n\t0xe2dc: 0x6c28c620, 0xe2de: 0x6c28c220, 0xe2df: 0x6c28b020,\n\t0xe2e1: 0x6c28ac20, 0xe2e3: 0x6c28ae20,\n\t0xe2e5: 0x6c095620, 0xe2e6: 0x6c050020, 0xe2e7: 0x6c0ea220,\n\t0xe2eb: 0x6c108a20,\n\t0xe2f1: 0x6c011e20, 0xe2f3: 0x6c28b620,\n\t0xe2f4: 0x6c28b420,\n\t0xe2f9: 0x6c28c020, 0xe2fa: 0x6c28b820, 0xe2fb: 0x6c28be20,\n\t// Block 0x38c, offset 0xe300\n\t0xe302: 0x6c14f020, 0xe303: 0x6c28bc20,\n\t0xe304: 0x6c01e820, 0xe305: 0x6c02ee20, 0xe306: 0x6c28c420,\n\t0xe309: 0x6c28c820,\n\t0xe30e: 0x6c058c20,\n\t0xe316: 0x6c28d020, 0xe317: 0x6c28e220,\n\t0xe318: 0x6c28e420,\n\t0xe31c: 0x6c001620,\n\t0xe323: 0x6c28f220,\n\t0xe328: 0x6c00a220, 0xe32b: 0x6c28e020,\n\t0xe32f: 0x6c28de20,\n\t0xe331: 0x6c28d420, 0xe332: 0x6c28d220,\n\t0xe334: 0x6c28ce20, 0xe335: 0x6c28cc20, 0xe336: 0x6c0e7a20,\n\t0xe338: 0x6c0dee20, 0xe339: 0x6c28d820,\n\t// Block 0x38d, offset 0xe340\n\t0xe340: 0x6c28d620,\n\t0xe345: 0x6c28dc20,\n\t0xe349: 0x6c0d1c20, 0xe34a: 0x6c058e20,\n\t0xe34f: 0x6c00fe20,\n\t0xe350: 0x6c28da20, 0xe352: 0x6c070220,\n\t0xe358: 0x6c0d1e20,\n\t0xe373: 0x6c28fe20,\n\t0xe375: 0x6c290020, 0xe377: 0x6c01ea20,\n\t0xe37b: 0x6c019420,\n\t0xe37c: 0x6c28fa20,\n\t// Block 0x38e, offset 0xe380\n\t0xe385: 0x6c28e620, 0xe387: 0x6c28f620,\n\t0xe389: 0x6c290420, 0xe38a: 0x6c28f820,\n\t0xe38e: 0x6c28f420,\n\t0xe393: 0x6c28ba20,\n\t0xe396: 0x6c28f020,\n\t0xe39a: 0x6c28e820,\n\t0xe39e: 0x6c035020, 0xe39f: 0x6c28ec20,\n\t0xe3a0: 0x6c290220, 0xe3a2: 0x6c28ee20,\n\t0xe3a8: 0x6c290620, 0xe3aa: 0x6c28ea20, 0xe3ab: 0x6c119c20,\n\t0xe3b1: 0x6c15de20,\n\t0xe3b5: 0x6c28fc20,\n\t0xe3bd: 0x6c292820,\n\t// Block 0x38f, offset 0xe3c0\n\t0xe3c1: 0x6c291820,\n\t0xe3c5: 0x6c0bba20,\n\t0xe3ca: 0x6c03f820,\n\t0xe3cc: 0x6c04e220, 0xe3ce: 0x6c290e20,\n\t0xe3d3: 0x6c01ee20,\n\t0xe3d6: 0x6c0ab020,\n\t0xe3d8: 0x6c291420,\n\t0xe3dc: 0x6c07cc20, 0xe3df: 0x6c0fce20,\n\t0xe3e0: 0x6c291e20,\n\t0xe3e9: 0x6c13b420, 0xe3eb: 0x6c290c20,\n\t0xe3ef: 0x6c01ec20,\n\t0xe3f0: 0x6c064c20, 0xe3f1: 0x6c126e20, 0xe3f2: 0x6c292020,\n\t0xe3f4: 0x6c290820, 0xe3f7: 0x6c291a20,\n\t0xe3fb: 0x6c292e20,\n\t0xe3fd: 0x6c291020,\n\t// Block 0x390, offset 0xe400\n\t0xe403: 0x6c291220,\n\t0xe404: 0x6c105c20, 0xe407: 0x6c291c20,\n\t0xe40b: 0x6c291620,\n\t0xe40c: 0x6c13e420, 0xe40d: 0x6c292220, 0xe40e: 0x6c008020,\n\t0xe413: 0x6c290a20,\n\t0xe420: 0x6c292620, 0xe422: 0x6c292420,\n\t0xe429: 0x6c117a20, 0xe42a: 0x6c293220,\n\t0xe42c: 0x6c294820,\n\t0xe431: 0x6c02f020,\n\t0xe435: 0x6c294e20,\n\t0xe438: 0x6c292a20,\n\t0xe43c: 0x6c293420, 0xe43d: 0x6c15e820,\n\t// Block 0x391, offset 0xe440\n\t0xe446: 0x6c294620,\n\t0xe449: 0x6c15b620,\n\t0xe44e: 0x6c161c20,\n\t0xe457: 0x6c0ea420,\n\t0xe45b: 0x6c02ca20,\n\t0xe461: 0x6c130020, 0xe462: 0x6c295220, 0xe463: 0x6c102a20,\n\t0xe466: 0x6c002220,\n\t0xe469: 0x6c294420, 0xe46b: 0x6c293c20,\n\t0xe46c: 0x6c0d2020, 0xe46d: 0x6c293020, 0xe46e: 0x6c294020, 0xe46f: 0x6c294a20,\n\t0xe471: 0x6c10fc20,\n\t0xe475: 0x6c001420, 0xe477: 0x6c293a20,\n\t0xe479: 0x6c294c20, 0xe47a: 0x6c130c20,\n\t// Block 0x392, offset 0xe480\n\t0xe482: 0x6c294220,\n\t0xe484: 0x6c293820,\n\t0xe48b: 0x6c0ab220,\n\t0xe490: 0x6c09aa20,\n\t0xe494: 0x6c08e820,\n\t0xe499: 0x6c150020,\n\t0xe49c: 0x6c12aa20, 0xe49f: 0x6c295820,\n\t0xe4a1: 0x6c296a20,\n\t0xe4ad: 0x6c293e20,\n\t0xe4b2: 0x6c02e220,\n\t0xe4b8: 0x6c0af820, 0xe4b9: 0x6c295420, 0xe4bb: 0x6c295e20,\n\t0xe4bc: 0x6c0d2220, 0xe4bf: 0x6c295620,\n\t// Block 0x393, offset 0xe4c0\n\t0xe4c1: 0x6c296420,\n\t0xe4c4: 0x6c0e7220, 0xe4c6: 0x6c296620,\n\t0xe4c9: 0x6c15b820, 0xe4ca: 0x6c295020, 0xe4cb: 0x6c026420,\n\t0xe4cd: 0x6c295c20,\n\t0xe4d0: 0x6c296220, 0xe4d1: 0x6c14a820,\n\t0xe4d6: 0x6c296820,\n\t0xe4d9: 0x6c295a20, 0xe4da: 0x6c296020,\n\t0xe4ec: 0x6c13e620, 0xe4ee: 0x6c16c620,\n\t0xe4f4: 0x6c297020,\n\t0xe4fc: 0x6c297e20, 0xe4ff: 0x6c296e20,\n\t// Block 0x394, offset 0xe500\n\t0xe500: 0x6c091620,\n\t0xe506: 0x6c292c20,\n\t0xe511: 0x6c137420, 0xe513: 0x6c149420,\n\t0xe514: 0x6c297c20, 0xe515: 0x6c297a20, 0xe517: 0x6c297220,\n\t0xe518: 0x6c297420, 0xe51a: 0x6c00e820,\n\t0xe51f: 0x6c297820,\n\t0xe521: 0x6c296c20,\n\t0xe526: 0x6c0f1a20,\n\t0xe52c: 0x6c297620, 0xe52d: 0x6c00bc20,\n\t0xe535: 0x6c0d3c20,\n\t0xe53d: 0x6c135e20,\n\t// Block 0x395, offset 0xe540\n\t0xe540: 0x6c298020, 0xe541: 0x6c298820, 0xe543: 0x6c121220,\n\t0xe548: 0x6c298620, 0xe549: 0x6c0ab420, 0xe54a: 0x6c092220, 0xe54b: 0x6c298c20,\n\t0xe54e: 0x6c04a420,\n\t0xe555: 0x6c298e20, 0xe557: 0x6c130e20,\n\t0xe558: 0x6c298420, 0xe55a: 0x6c293620,\n\t0xe563: 0x6c298220,\n\t0xe568: 0x6c172220, 0xe569: 0x6c102c20, 0xe56a: 0x6c130220,\n\t0xe56d: 0x6c299c20,\n\t0xe577: 0x6c29a820,\n\t0xe57e: 0x6c29aa20,\n\t// Block 0x396, offset 0xe580\n\t0xe580: 0x6c299020,\n\t0xe584: 0x6c119020, 0xe587: 0x6c29a420,\n\t0xe588: 0x6c299420, 0xe58a: 0x6c299820,\n\t0xe590: 0x6c29ac20, 0xe591: 0x6c299620,\n\t0xe594: 0x6c299e20, 0xe597: 0x6c016020,\n\t0xe599: 0x6c10b220, 0xe59b: 0x6c29a020,\n\t0xe59c: 0x6c29a620,\n\t0xe5a4: 0x6c299220, 0xe5a6: 0x6c0c8820,\n\t0xe5a8: 0x6c299a20, 0xe5a9: 0x6c082220, 0xe5aa: 0x6c0b4e20, 0xe5ab: 0x6c054420,\n\t0xe5ac: 0x6c153820, 0xe5ae: 0x6c154220, 0xe5af: 0x6c0a3020,\n\t0xe5b9: 0x6c29b420, 0xe5ba: 0x6c29b020,\n\t// Block 0x397, offset 0xe5c0\n\t0xe5c1: 0x6c172020,\n\t0xe5c9: 0x6c29ae20,\n\t0xe5cd: 0x6c15f620, 0xe5cf: 0x6c29b220,\n\t0xe5d0: 0x6c29b620,\n\t0xe5d5: 0x6c29b820,\n\t0xe5dc: 0x6c29be20, 0xe5dd: 0x6c29ba20,\n\t0xe5e4: 0x6c102e20, 0xe5e5: 0x6c29bc20,\n\t0xe5e9: 0x6c11fa20, 0xe5ea: 0x6c29a220,\n\t0xe5f7: 0x6c0a3220,\n\t0xe5f9: 0x6c29c020, 0xe5fa: 0x6c29ca20, 0xe5fb: 0x6c0d2420,\n\t0xe5fe: 0x6c29c820,\n\t// Block 0x398, offset 0xe600\n\t0xe602: 0x6c298a20,\n\t0xe606: 0x6c29cc20, 0xe607: 0x6c0cce20,\n\t0xe60a: 0x6c29c220, 0xe60b: 0x6c29c620,\n\t0xe613: 0x6c29c420,\n\t0xe616: 0x6c20d820, 0xe617: 0x6c20ba20,\n\t0xe61a: 0x6c29d020,\n\t0xe622: 0x6c29ce20,\n\t0xe62d: 0x6c15f820, 0xe62f: 0x6c249a20,\n\t0xe630: 0x6c29d220,\n\t0xe63f: 0x6c29d420,\n\t// Block 0x399, offset 0xe640\n\t0xe64d: 0x6c29d620, 0xe64e: 0x6c064e20,\n\t0xe650: 0x6c041420,\n\t0xe654: 0x6c29da20, 0xe655: 0x6c186020,\n\t0xe65a: 0x6c045620,\n\t0xe65c: 0x6c163c20, 0xe65e: 0x6c050e20, 0xe65f: 0x6c29dc20,\n\t0xe667: 0x6c29de20,\n\t0xe66b: 0x6c0e9020,\n\t0xe671: 0x6c29e020,\n\t0xe679: 0x6c10dc20, 0xe67b: 0x6c003420,\n\t// Block 0x39a, offset 0xe680\n\t0xe68a: 0x6c01fe20, 0xe68b: 0x6c29ea20,\n\t0xe68c: 0x6c29ec20,\n\t0xe693: 0x6c29e220,\n\t0xe695: 0x6c084e20,\n\t0xe6a3: 0x6c29e420,\n\t0xe6a4: 0x6c112820,\n\t0xe6a9: 0x6c29e620, 0xe6aa: 0x6c29e820, 0xe6ab: 0x6c29fc20,\n\t0xe6af: 0x6c29f020,\n\t0xe6b0: 0x6c29f620,\n\t0xe6b6: 0x6c29ee20,\n\t// Block 0x39b, offset 0xe6c0\n\t0xe6c4: 0x6c29f220, 0xe6c6: 0x6c29f420, 0xe6c7: 0x6c094020,\n\t0xe6c9: 0x6c29f820, 0xe6cb: 0x6c0e3620,\n\t0xe6cd: 0x6c059020, 0xe6ce: 0x6c027820,\n\t0xe6d4: 0x6c29fe20,\n\t0xe6d9: 0x6c027220, 0xe6db: 0x6c2a0820,\n\t0xe6de: 0x6c2a0020, 0xe6df: 0x6c2a0620,\n\t0xe6e4: 0x6c11d420,\n\t0xe6e9: 0x6c2a0220,\n\t0xe6ec: 0x6c2a0420, 0xe6ed: 0x6c12ac20, 0xe6ee: 0x6c121420, 0xe6ef: 0x6c2a0a20,\n\t0xe6f8: 0x6c0df220, 0xe6f9: 0x6c2a1e20, 0xe6fb: 0x6c2a1620,\n\t0xe6fe: 0x6c020e20,\n\t// Block 0x39c, offset 0xe700\n\t0xe700: 0x6c2a1220, 0xe702: 0x6c13e820, 0xe703: 0x6c2a1420,\n\t0xe706: 0x6c2a0e20,\n\t0xe708: 0x6c2a1020, 0xe709: 0x6c2a1a20, 0xe70a: 0x6c2a2020,\n\t0xe70d: 0x6c2a1c20,\n\t0xe711: 0x6c2a1820, 0xe712: 0x6c2a0c20,\n\t0xe718: 0x6c0e6420, 0xe71a: 0x6c2a2e20,\n\t0xe71c: 0x6c14a420,\n\t0xe725: 0x6c2a2a20,\n\t0xe729: 0x6c2a2c20,\n\t0xe734: 0x6c2a2220, 0xe737: 0x6c2a2620,\n\t0xe73b: 0x6c2a2820,\n\t0xe73f: 0x6c2a2420,\n\t// Block 0x39d, offset 0xe740\n\t0xe749: 0x6c0c4c20, 0xe74b: 0x6c16f620,\n\t0xe74c: 0x6c2a3620, 0xe74e: 0x6c2a3820,\n\t0xe753: 0x6c2a4420,\n\t0xe755: 0x6c0b1820, 0xe757: 0x6c2a3c20,\n\t0xe759: 0x6c2a4220,\n\t0xe75f: 0x6c2a3220,\n\t0xe760: 0x6c2a3020, 0xe763: 0x6c2a4620,\n\t0xe766: 0x6c01f020,\n\t0xe768: 0x6c2a3e20, 0xe76a: 0x6c2a4820,\n\t0xe76e: 0x6c2a4020,\n\t0xe774: 0x6c2a3a20, 0xe776: 0x6c0ed620,\n\t0xe778: 0x6c2a3420,\n\t0xe77f: 0x6c117420,\n\t// Block 0x39e, offset 0xe780\n\t0xe782: 0x6c2a5020,\n\t0xe78d: 0x6c158220,\n\t0xe79f: 0x6c2a4e20,\n\t0xe7a2: 0x6c2a4c20,\n\t0xe7ab: 0x6c2a5e20,\n\t0xe7af: 0x6c2a5220,\n\t0xe7b3: 0x6c2a6220,\n\t0xe7ba: 0x6c15d820, 0xe7bb: 0x6c2a6820,\n\t0xe7bd: 0x6c2a5620,\n\t// Block 0x39f, offset 0xe7c0\n\t0xe7c0: 0x6c2a5820,\n\t0xe7c4: 0x6c2a6020, 0xe7c6: 0x6c2a6620, 0xe7c7: 0x6c2a6420,\n\t0xe7cb: 0x6c2a5420,\n\t0xe7d0: 0x6c2a5a20, 0xe7d2: 0x6c2a7c20,\n\t0xe7e0: 0x6c2a6e20,\n\t0xe7ef: 0x6c2a6a20,\n\t0xe7f2: 0x6c2a6c20,\n\t0xe7f6: 0x6c2a7620, 0xe7f7: 0x6c2a7820,\n\t0xe7f9: 0x6c024820, 0xe7fb: 0x6c03f020,\n\t0xe7fe: 0x6c2a7420,\n\t// Block 0x3a0, offset 0xe800\n\t0xe805: 0x6c2a4a20,\n\t0xe80d: 0x6c2a7220, 0xe80e: 0x6c2a7a20, 0xe80f: 0x6c2a7020,\n\t0xe811: 0x6c2a7e20,\n\t0xe815: 0x6c2a8220, 0xe816: 0x6c2a8020,\n\t0xe821: 0x6c2a8620, 0xe822: 0x6c2a8420, 0xe823: 0x6c29fa20,\n\t0xe827: 0x6c2a8e20,\n\t0xe831: 0x6c2a8820,\n\t0xe836: 0x6c2a8a20,\n\t0xe839: 0x6c2a8c20, 0xe83b: 0x6c2a9020,\n\t// Block 0x3a1, offset 0xe840\n\t0xe840: 0x6c05bc20, 0xe842: 0x6c2a9420,\n\t0xe844: 0x6c2a9220, 0xe846: 0x6c09ac20,\n\t0xe84c: 0x6c070420, 0xe84d: 0x6c218020,\n\t0xe852: 0x6c2a9620, 0xe853: 0x6c09ee20,\n\t0xe857: 0x6c026620,\n\t0xe859: 0x6c2a9820, 0xe85b: 0x6c012020,\n\t0xe85d: 0x6c0ab620, 0xe85e: 0x6c2a9a20,\n\t0xe861: 0x6c070620, 0xe862: 0x6c2a9c20, 0xe863: 0x6c008220,\n\t0xe868: 0x6c129620, 0xe86b: 0x6c2a9e20,\n\t0xe870: 0x6c0b9820, 0xe872: 0x6c2aac20,\n\t0xe875: 0x6c2aa620, 0xe877: 0x6c0e9220,\n\t0xe87d: 0x6c2aa820, 0xe87e: 0x6c2aa220, 0xe87f: 0x6c04e420,\n\t// Block 0x3a2, offset 0xe880\n\t0xe881: 0x6c2aa020, 0xe882: 0x6c2aae20,\n\t0xe888: 0x6c055020, 0xe88b: 0x6c0db420,\n\t0xe88d: 0x6c2aba20,\n\t0xe892: 0x6c2ab220,\n\t0xe896: 0x6c0d6220, 0xe897: 0x6c2ab020,\n\t0xe899: 0x6c2ab620,\n\t0xe89e: 0x6c2aa420,\n\t0xe8a2: 0x6c2ab820,\n\t0xe8a4: 0x6c2abc20,\n\t0xe8ab: 0x6c123e20,\n\t0xe8ae: 0x6c2ab420,\n\t0xe8b0: 0x6c2abe20, 0xe8b1: 0x6c2ac220,\n\t0xe8b4: 0x6c064620, 0xe8b5: 0x6c2aaa20, 0xe8b7: 0x6c004220,\n\t0xe8bf: 0x6c2ac020,\n\t// Block 0x3a3, offset 0xe8c0\n\t0xe8c1: 0x6c07ce20, 0xe8c2: 0x6c16b420, 0xe8c3: 0x6c2ac420,\n\t0xe8c4: 0x6c2ac620, 0xe8c5: 0x6c0d2620,\n\t0xe8cf: 0x6c160c20,\n\t0xe8d4: 0x6c2ac820, 0xe8d5: 0x6c157620,\n\t0xe8d8: 0x6c2aca20, 0xe8d9: 0x6c2acc20,\n\t0xe8dc: 0x6c13a020, 0xe8dd: 0x6c2ace20, 0xe8df: 0x6c079820,\n\t0xe8e1: 0x6c160e20,\n\t0xe8e8: 0x6c2ad820,\n\t0xe8f2: 0x6c2ada20, 0xe8f3: 0x6c0ab820,\n\t0xe8f4: 0x6c2ad620,\n\t0xe8f8: 0x6c15da20, 0xe8f9: 0x6c2ad020,\n\t0xe8fc: 0x6c2ad420, 0xe8fd: 0x6c0bfa20, 0xe8fe: 0x6c0bc020,\n\t// Block 0x3a4, offset 0xe900\n\t0xe902: 0x6c2ad220,\n\t0xe904: 0x6c2adc20, 0xe907: 0x6c131e20,\n\t0xe90a: 0x6c2ae020,\n\t0xe90c: 0x6c2ade20,\n\t0xe910: 0x6c02cc20, 0xe912: 0x6c13ea20, 0xe913: 0x6c2ae220,\n\t0xe91d: 0x6c2afa20, 0xe91e: 0x6c2ae620,\n\t0xe925: 0x6c2ae820,\n\t0xe92a: 0x6c2aea20, 0xe92b: 0x6c2aec20,\n\t0xe936: 0x6c2af420,\n\t0xe938: 0x6c2af620, 0xe93b: 0x6c2af220,\n\t// Block 0x3a5, offset 0xe940\n\t0xe941: 0x6c2aee20, 0xe943: 0x6c2ae420,\n\t0xe944: 0x6c2af020,\n\t0xe94c: 0x6c2af820, 0xe94d: 0x6c2ed820,\n\t0xe956: 0x6c018820,\n\t0xe95e: 0x6c2afe20, 0xe95f: 0x6c04e620,\n\t0xe960: 0x6c2afc20,\n\t0xe964: 0x6c2b0220, 0xe966: 0x6c2b0020,\n\t0xe96a: 0x6c2b0620,\n\t0xe96d: 0x6c2b0420, 0xe96f: 0x6c2b0820,\n\t0xe972: 0x6c09ae20,\n\t0xe974: 0x6c2b0a20, 0xe977: 0x6c2b0c20,\n\t0xe97e: 0x6c2b0e20, 0xe97f: 0x6c0bfc20,\n\t// Block 0x3a6, offset 0xe980\n\t0xe981: 0x6c15ba20, 0xe983: 0x6c2b1020,\n\t0xe986: 0x6c132020, 0xe987: 0x6c113020,\n\t0xe988: 0x6c2b1220, 0xe98a: 0x6c2b1420, 0xe98b: 0x6c05f620,\n\t0xe98f: 0x6c03c420,\n\t0xe993: 0x6c2b1620,\n\t0xe996: 0x6c08aa20, 0xe997: 0x6c112620,\n\t0xe998: 0x6c2b1820, 0xe99a: 0x6c029420,\n\t0xe9a1: 0x6c2b1a20,\n\t0xe9a6: 0x6c2b1e20, 0xe9a7: 0x6c15fa20,\n\t0xe9a9: 0x6c2b1c20, 0xe9aa: 0x6c0b5020,\n\t0xe9ac: 0x6c2b2020, 0xe9af: 0x6c2b2220,\n\t0xe9b2: 0x6c2b2420, 0xe9b3: 0x6c035220,\n\t0xe9ba: 0x6c2b2620,\n\t0xe9bd: 0x6c2b2820, 0xe9bf: 0x6c2b2a20,\n\t// Block 0x3a7, offset 0xe9c0\n\t0xe9c0: 0x6c2b2c20,\n\t0xe9d2: 0x6c029620,\n\t0xe9da: 0x6c2b2e20,\n\t0xe9dc: 0x6c2b3020, 0xe9dd: 0x6c2b3220,\n\t0xe9e3: 0x6c021c20,\n\t0xe9e6: 0x6c0b1420, 0xe9e7: 0x6c2b3420,\n\t0xe9f4: 0x6c2b3620,\n\t0xe9f8: 0x6c2b3820,\n\t// Block 0x3a8, offset 0xea00\n\t0xea00: 0x6c062020, 0xea02: 0x6c0f6620, 0xea03: 0x6c2b3a20,\n\t0xea08: 0x6c059220, 0xea0a: 0x6c0b7020,\n\t0xea0c: 0x6c2b4020, 0xea0e: 0x6c103020,\n\t0xea10: 0x6c2b3e20, 0xea13: 0x6c054620,\n\t0xea16: 0x6c2b3c20, 0xea17: 0x6c0de620,\n\t0xea18: 0x6c03c620, 0xea1b: 0x6c2b4220,\n\t0xea1d: 0x6c2b4420, 0xea1f: 0x6c0aba20,\n\t0xea23: 0x6c05be20,\n\t0xea25: 0x6c2b4620,\n\t0xea2a: 0x6c13ec20,\n\t0xea2d: 0x6c0c3e20,\n\t0xea31: 0x6c045820, 0xea33: 0x6c153a20,\n\t0xea34: 0x6c0cd020, 0xea36: 0x6c2b4820,\n\t0xea3a: 0x6c0b5220, 0xea3b: 0x6c0e9420,\n\t0xea3c: 0x6c0abc20,\n\t// Block 0x3a9, offset 0xea40\n\t0xea41: 0x6c2b4a20,\n\t0xea46: 0x6c2b5020,\n\t0xea48: 0x6c2b5220,\n\t0xea50: 0x6c079420, 0xea51: 0x6c0d7c20, 0xea52: 0x6c2b4e20,\n\t0xea54: 0x6c0abe20, 0xea55: 0x6c129820,\n\t0xea5b: 0x6c2b4c20,\n\t0xea5e: 0x6c08ac20,\n\t0xea60: 0x6c012220, 0xea62: 0x6c2b5a20, 0xea63: 0x6c059420,\n\t0xea66: 0x6c08b020,\n\t0xea69: 0x6c08ae20, 0xea6b: 0x6c171e20,\n\t0xea6c: 0x6c2b5820, 0xea6d: 0x6c2b5620, 0xea6e: 0x6c0c8a20,\n\t0xea70: 0x6c040620, 0xea71: 0x6c170a20, 0xea72: 0x6c026820, 0xea73: 0x6c0ac020,\n\t0xea7c: 0x6c2b5420,\n\t// Block 0x3aa, offset 0xea80\n\t0xea82: 0x6c2b5e20,\n\t0xea84: 0x6c2b6020, 0xea85: 0x6c2b5c20, 0xea87: 0x6c065020,\n\t0xea89: 0x6c158c20,\n\t0xea8c: 0x6c08b220, 0xea8d: 0x6c10f220,\n\t0xea91: 0x6c2b6620, 0xea93: 0x6c0c0020,\n\t0xea95: 0x6c0e3820,\n\t0xea98: 0x6c157820, 0xea9a: 0x6c2b6c20,\n\t0xea9e: 0x6c067820,\n\t0xeaa0: 0x6c0bfe20, 0xeaa1: 0x6c2b6420, 0xeaa3: 0x6c2b6e20,\n\t0xeaa4: 0x6c067a20, 0xeaa5: 0x6c2b6820, 0xeaa6: 0x6c2b6a20,\n\t0xeaa8: 0x6c2b6220,\n\t0xeaac: 0x6c0c4420, 0xeaad: 0x6c107a20,\n\t0xeab0: 0x6c0e1220, 0xeab2: 0x6c01f220,\n\t0xeab9: 0x6c124020,\n\t0xeabc: 0x6c03f220, 0xeabf: 0x6c0ed820,\n\t// Block 0x3ab, offset 0xeac0\n\t0xeac2: 0x6c2b7420,\n\t0xeac4: 0x6c2b7020, 0xeac7: 0x6c0e4c20,\n\t0xeacb: 0x6c0c0220,\n\t0xeacc: 0x6c035420, 0xeacd: 0x6c2b7220, 0xeacf: 0x6c0b7a20,\n\t0xead2: 0x6c165c20,\n\t0xead6: 0x6c170420,\n\t0xeada: 0x6c2b7620, 0xeadb: 0x6c2b8c20,\n\t0xeadc: 0x6c0eda20, 0xeade: 0x6c2b8a20,\n\t0xeae0: 0x6c2b8420, 0xeae1: 0x6c2b9420, 0xeae2: 0x6c2b8620,\n\t0xeae4: 0x6c2b7e20, 0xeae6: 0x6c0f6820, 0xeae7: 0x6c2b7c20,\n\t0xeaeb: 0x6c2b7820,\n\t0xeaed: 0x6c154e20, 0xeaee: 0x6c08b420,\n\t0xeaf1: 0x6c2b8020, 0xeaf3: 0x6c2b7a20,\n\t0xeaf7: 0x6c2b8820,\n\t0xeaf8: 0x6c0a3420, 0xeafa: 0x6c062220,\n\t0xeafe: 0x6c0dec20,\n\t// Block 0x3ac, offset 0xeb00\n\t0xeb00: 0x6c141e20, 0xeb01: 0x6c013020, 0xeb02: 0x6c008420,\n\t0xeb04: 0x6c103220, 0xeb07: 0x6c2b9020,\n\t0xeb0c: 0x6c2b8e20, 0xeb0e: 0x6c10b420,\n\t0xeb10: 0x6c2b9820,\n\t0xeb14: 0x6c2b8220, 0xeb16: 0x6c2b9620, 0xeb17: 0x6c2b9a20,\n\t0xeb19: 0x6c05f820, 0xeb1a: 0x6c2b9220, 0xeb1b: 0x6c070820,\n\t0xeb1d: 0x6c093a20,\n\t0xeb20: 0x6c2b9c20, 0xeb21: 0x6c15bc20,\n\t0xeb26: 0x6c2ba220,\n\t0xeb28: 0x6c2ba820, 0xeb2b: 0x6c2ba420,\n\t0xeb2c: 0x6c128620,\n\t0xeb33: 0x6c2b9e20,\n\t0xeb39: 0x6c04e820,\n\t0xeb3e: 0x6c2ba620,\n\t// Block 0x3ad, offset 0xeb40\n\t0xeb41: 0x6c2baa20,\n\t0xeb49: 0x6c2bb220,\n\t0xeb4c: 0x6c2bac20, 0xeb4e: 0x6c2bb020, 0xeb4f: 0x6c2bae20,\n\t0xeb56: 0x6c2bb420,\n\t0xeb58: 0x6c08f220, 0xeb5a: 0x6c2bb820, 0xeb5b: 0x6c2bb620,\n\t0xeb5c: 0x6c12ec20, 0xeb5f: 0x6c2bbc20,\n\t0xeb66: 0x6c059620,\n\t0xeb6b: 0x6c2bba20,\n\t0xeb6c: 0x6c2bbe20, 0xeb6f: 0x6c2bc020,\n\t0xeb70: 0x6c03f420, 0xeb71: 0x6c279420, 0xeb72: 0x6c0afa20,\n\t0xeb74: 0x6c2bc220, 0xeb77: 0x6c067c20,\n\t0xeb7d: 0x6c2bc420,\n\t// Block 0x3ae, offset 0xeb80\n\t0xeb80: 0x6c2bc620, 0xeb83: 0x6c085020,\n\t0xeb8a: 0x6c1ede20,\n\t0xeb8c: 0x6c2bc820, 0xeb8e: 0x6c2bca20,\n\t0xeb90: 0x6c09b020, 0xeb92: 0x6c2bcc20, 0xeb93: 0x6c2bce20,\n\t0xeb96: 0x6c2bd020,\n\t0xeb99: 0x6c2bd220, 0xeb9a: 0x6c2bd420,\n\t// Block 0x3af, offset 0xebc0\n\t0xebf7: 0x6c0e0a20,\n\t0xebfa: 0x6c2bd620,\n\t0xebff: 0x6c2bda20,\n\t// Block 0x3b0, offset 0xec00\n\t0xec01: 0x6c2bd820,\n\t0xec06: 0x6c103420,\n\t0xec08: 0x6c2bdc20, 0xec0a: 0x6c13ee20,\n\t0xec0c: 0x6c2bde20, 0xec0e: 0x6c2be020,\n\t0xec10: 0x6c2be220,\n\t0xec15: 0x6c2be420,\n\t0xec1a: 0x6c109c20,\n\t0xec21: 0x6c0ac220, 0xec22: 0x6c2be620,\n\t0xec2a: 0x6c073220, 0xec2b: 0x6c174620,\n\t0xec2c: 0x6c2be820,\n\t0xec38: 0x6c2bea20, 0xec39: 0x6c129a20, 0xec3a: 0x6c2bec20,\n\t0xec3c: 0x6c2bfc20,\n\t// Block 0x3b1, offset 0xec40\n\t0xec42: 0x6c2bee20,\n\t0xec45: 0x6c2bf220,\n\t0xec49: 0x6c2bf020, 0xec4a: 0x6c2bf420,\n\t0xec4c: 0x6c142020, 0xec4d: 0x6c2bf620, 0xec4e: 0x6c2bf820,\n\t0xec54: 0x6c2bfa20,\n\t0xec58: 0x6c2bfe20,\n\t0xec5d: 0x6c024e20, 0xec5e: 0x6c0f3e20,\n\t0xec60: 0x6c12ee20, 0xec61: 0x6c07dc20, 0xec62: 0x6c070a20,\n\t0xec67: 0x6c12ba20,\n\t0xec68: 0x6c01f620, 0xec69: 0x6c11fc20, 0xec6a: 0x6c2c0420, 0xec6b: 0x6c035620,\n\t0xec6c: 0x6c0c2a20, 0xec6d: 0x6c2c0220, 0xec6e: 0x6c2c0c20, 0xec6f: 0x6c0ea620,\n\t0xec70: 0x6c151620, 0xec72: 0x6c2c0820, 0xec73: 0x6c2c0a20,\n\t0xec74: 0x6c03c820, 0xec76: 0x6c2c0e20, 0xec77: 0x6c116a20,\n\t0xec78: 0x6c0db620, 0xec7b: 0x6c124220,\n\t0xec7c: 0x6c0fa620, 0xec7d: 0x6c2c0620, 0xec7f: 0x6c142220,\n\t// Block 0x3b2, offset 0xec80\n\t0xec80: 0x6c021020, 0xec81: 0x6c2c1220, 0xec82: 0x6c16d420, 0xec83: 0x6c0ef420,\n\t0xec84: 0x6c170e20, 0xec87: 0x6c08b620,\n\t0xec88: 0x6c2c1020, 0xec8a: 0x6c0d5a20,\n\t0xec8d: 0x6c2c3220, 0xec8e: 0x6c0c8c20,\n\t0xec91: 0x6c10d820, 0xec93: 0x6c12bc20,\n\t0xec9a: 0x6c2c1820, 0xec9b: 0x6c085220,\n\t0xec9c: 0x6c08b820, 0xec9e: 0x6c0ac420,\n\t0xeca0: 0x6c116e20, 0xeca2: 0x6c05fa20, 0xeca3: 0x6c2c1620,\n\t0xeca4: 0x6c2c1420, 0xeca6: 0x6c12f020,\n\t0xecaa: 0x6c091220,\n\t0xecad: 0x6c0fd020,\n\t0xecba: 0x6c2c1c20, 0xecbb: 0x6c2c1e20,\n\t0xecbc: 0x6c070c20, 0xecbd: 0x6c2c1a20,\n\t// Block 0x3b3, offset 0xecc0\n\t0xecc4: 0x6c2c2020, 0xecc5: 0x6c2c2220, 0xecc7: 0x6c2c2620,\n\t0xecc8: 0x6c0d3e20, 0xecca: 0x6c2c2420, 0xeccb: 0x6c037c20,\n\t0xeccd: 0x6c2c2a20, 0xeccf: 0x6c2c2820,\n\t0xecd0: 0x6c2c2c20, 0xecd3: 0x6c2c3020,\n\t0xecd4: 0x6c2c3420, 0xecd6: 0x6c2c3620,\n\t// Block 0x3b4, offset 0xed00\n\t0xed24: 0x6c0c2c20, 0xed26: 0x6c092e20, 0xed27: 0x6c2c3820,\n\t0xed2b: 0x6c029820,\n\t0xed2d: 0x6c2c3a20,\n\t0xed30: 0x6c0d2820, 0xed31: 0x6c2c3c20, 0xed33: 0x6c2c3e20,\n\t0xed34: 0x6c12f220, 0xed37: 0x6c03ca20,\n\t// Block 0x3b5, offset 0xed40\n\t0xed41: 0x6c2c4020,\n\t0xed45: 0x6c0edc20,\n\t0xed4a: 0x6c013220,\n\t0xed59: 0x6c2c4220,\n\t0xed63: 0x6c097220,\n\t0xed68: 0x6c0bb020,\n\t0xed73: 0x6c0d5220,\n\t0xed7a: 0x6c2c4820,\n\t0xed7e: 0x6c2c4620,\n\t// Block 0x3b6, offset 0xed80\n\t0xed82: 0x6c2c4420,\n\t0xed8b: 0x6c2c5420,\n\t0xed8c: 0x6c2c5020, 0xed8f: 0x6c2c4a20,\n\t0xed96: 0x6c2c4e20,\n\t0xed9a: 0x6c2c4c20, 0xed9b: 0x6c2c5220,\n\t0xed9d: 0x6c045a20, 0xed9f: 0x6c2c5a20,\n\t0xeda1: 0x6c0c2e20, 0xeda3: 0x6c2c5c20,\n\t0xeda8: 0x6c065220, 0xedaa: 0x6c2c5620, 0xedab: 0x6c2c5820,\n\t0xedaf: 0x6c16d620,\n\t0xedb3: 0x6c0ede20,\n\t0xedb5: 0x6c0c8e20,\n\t0xedbc: 0x6c2c5e20, 0xedbf: 0x6c2c6420,\n\t// Block 0x3b7, offset 0xedc0\n\t0xedc8: 0x6c2c6020, 0xedc9: 0x6c2c6220, 0xedca: 0x6c15be20,\n\t0xedcf: 0x6c103620,\n\t0xedd0: 0x6c2c6a20,\n\t0xeddd: 0x6c2c6620, 0xedde: 0x6c2c6820, 0xeddf: 0x6c2c6c20,\n\t0xedea: 0x6c2c8820,\n\t0xedf0: 0x6c2c7220,\n\t0xedf4: 0x6c2c7420, 0xedf5: 0x6c2c7020,\n\t// Block 0x3b8, offset 0xee00\n\t0xee02: 0x6c2c6e20,\n\t0xee04: 0x6c0f6a20, 0xee07: 0x6c2c7820,\n\t0xee08: 0x6c2c8020, 0xee09: 0x6c2c7a20, 0xee0a: 0x6c2c7620,\n\t0xee0c: 0x6c2c7c20,\n\t0xee10: 0x6c2c7e20,\n\t0xee15: 0x6c2c8c20,\n\t0xee19: 0x6c2c8220,\n\t0xee1f: 0x6c0c3020,\n\t0xee20: 0x6c2c8620, 0xee23: 0x6c2c8a20,\n\t0xee24: 0x6c2c8420,\n\t0xee32: 0x6c2c9020,\n\t0xee34: 0x6c09b220, 0xee36: 0x6c2c8e20,\n\t0xee3c: 0x6c2c9220,\n\t// Block 0x3b9, offset 0xee40\n\t0xee41: 0x6c2c9420,\n\t0xee44: 0x6c2c9a20, 0xee45: 0x6c2c9820, 0xee47: 0x6c2c9620,\n\t0xee4a: 0x6c2c9e20, 0xee4b: 0x6c2c9c20,\n\t0xee4d: 0x6c153c20,\n\t0xee51: 0x6c2ca220, 0xee53: 0x6c2ca020,\n\t0xee54: 0x6c2ca420,\n\t0xee59: 0x6c2ca620,\n\t0xee61: 0x6c2caa20,\n\t0xee6a: 0x6c2ca820, 0xee6b: 0x6c0b5420,\n\t0xee6c: 0x6c2cac20, 0xee6f: 0x6c050220,\n\t0xee70: 0x6c2cae20, 0xee71: 0x6c2cb220,\n\t0xee7e: 0x6c2cb420,\n\t// Block 0x3ba, offset 0xee80\n\t0xee85: 0x6c2cb620, 0xee86: 0x6c2cb020,\n\t0xee88: 0x6c2cb820, 0xee8a: 0x6c093c20, 0xee8b: 0x6c2cba20,\n\t0xee8c: 0x6c03cc20, 0xee8d: 0x6c054a20,\n\t0xee92: 0x6c05fc20,\n\t0xee9b: 0x6c2cbc20,\n\t0xee9f: 0x6c10c820,\n\t0xeea2: 0x6c0fa820, 0xeea3: 0x6c2cbe20,\n\t0xeeab: 0x6c2cc420,\n\t0xeeb8: 0x6c08f820, 0xeebb: 0x6c2cc220,\n\t0xeebc: 0x6c2cc020, 0xeebd: 0x6c059820, 0xeebe: 0x6c2cc620,\n\t// Block 0x3bb, offset 0xeec0\n\t0xeec3: 0x6c029a20,\n\t0xeec5: 0x6c2cca20,\n\t0xeec9: 0x6c07d020, 0xeeca: 0x6c2cc820,\n\t0xeecc: 0x6c2cda20,\n\t0xeed2: 0x6c2cce20, 0xeed3: 0x6c2cd220,\n\t0xeed4: 0x6c13a220, 0xeed5: 0x6c2ccc20,\n\t0xeed9: 0x6c2cd020, 0xeedb: 0x6c2cd820,\n\t0xeedc: 0x6c2cd420, 0xeedd: 0x6c03ce20, 0xeedf: 0x6c2cd620,\n\t0xeee6: 0x6c2cdc20,\n\t0xeee9: 0x6c115820, 0xeeea: 0x6c167820,\n\t0xeeef: 0x6c09b420,\n\t0xeef3: 0x6c2cde20,\n\t0xeef8: 0x6c155020, 0xeef9: 0x6c2ce220, 0xeefb: 0x6c2ce020,\n\t0xeefe: 0x6c2ce820, 0xeeff: 0x6c158e20,\n\t// Block 0x3bc, offset 0xef00\n\t0xef02: 0x6c2ce620,\n\t0xef04: 0x6c02ce20, 0xef05: 0x6c2ce420, 0xef06: 0x6c2cee20,\n\t0xef09: 0x6c2cec20,\n\t0xef0c: 0x6c2cea20, 0xef0d: 0x6c0f9020, 0xef0e: 0x6c2cf020,\n\t0xef17: 0x6c2cf220,\n\t0xef1c: 0x6c2cf420, 0xef1f: 0x6c073420,\n\t0xef21: 0x6c052e20, 0xef22: 0x6c2cf620, 0xef23: 0x6c2cf820,\n\t0xef24: 0x6c2cfa20,\n\t// Block 0x3bd, offset 0xef40\n\t0xef5b: 0x6c0b5620,\n\t0xef5c: 0x6c2cfc20, 0xef5e: 0x6c08ea20, 0xef5f: 0x6c2cfe20,\n\t0xef63: 0x6c2d0020,\n\t0xef67: 0x6c18a420,\n\t0xef68: 0x6c18a220,\n\t0xef6d: 0x6c2d0220, 0xef6e: 0x6c273620, 0xef6f: 0x6c2d0420,\n\t0xef70: 0x6c0dfc20, 0xef71: 0x6c0b1a20, 0xef72: 0x6c112420,\n\t0xef77: 0x6c2d0620,\n\t0xef7a: 0x6c138220, 0xef7b: 0x6c0f1820,\n\t0xef7c: 0x6c075820, 0xef7f: 0x6c0e0620,\n\t// Block 0x3be, offset 0xef80\n\t0xef82: 0x6c00d020,\n\t0xef84: 0x6c148420, 0xef85: 0x6c0b7220,\n\t0xef8e: 0x6c05a020,\n\t0xef91: 0x6c04ea20,\n\t0xef94: 0x6c138420,\n\t0xef9a: 0x6c2d0820,\n\t0xefa2: 0x6c2d0c20,\n\t0xefa5: 0x6c2d0a20, 0xefa6: 0x6c01f820,\n\t0xefa9: 0x6c10d420, 0xefaa: 0x6c2d0e20, 0xefab: 0x6c119220,\n\t0xefad: 0x6c0f9220, 0xefaf: 0x6c2d1020,\n\t0xefb0: 0x6c09f020,\n\t0xefb4: 0x6c2d1420, 0xefb7: 0x6c14d420,\n\t0xefb8: 0x6c2d3220, 0xefb9: 0x6c2d1820, 0xefba: 0x6c2d1a20,\n\t0xefbd: 0x6c0f0220,\n\t// Block 0x3bf, offset 0xefc0\n\t0xefc0: 0x6c0db820, 0xefc1: 0x6c0d2a20, 0xefc3: 0x6c103820,\n\t0xefc5: 0x6c2d1620, 0xefc6: 0x6c041620,\n\t0xefcb: 0x6c2d2820,\n\t0xefcd: 0x6c2d2220, 0xefce: 0x6c2d3c20, 0xefcf: 0x6c103a20,\n\t0xefd0: 0x6c0e7420, 0xefd1: 0x6c2d1c20, 0xefd3: 0x6c0f6c20,\n\t0xefd4: 0x6c0fd220, 0xefd5: 0x6c2d1e20, 0xefd6: 0x6c2d2620, 0xefd7: 0x6c0b8420,\n\t0xefd9: 0x6c117220, 0xefda: 0x6c0f0820,\n\t0xefdd: 0x6c0c0420, 0xefde: 0x6c2d2420, 0xefdf: 0x6c0d5420,\n\t0xefe0: 0x6c0d4020, 0xefe1: 0x6c2d2020, 0xefe2: 0x6c001220, 0xefe3: 0x6c16c820,\n\t0xefe7: 0x6c2d2a20,\n\t0xefee: 0x6c0dba20,\n\t0xeff1: 0x6c09b620, 0xeff2: 0x6c0b5820,\n\t0xeff5: 0x6c2d2e20, 0xeff6: 0x6c2d2c20,\n\t0xeff8: 0x6c009e20, 0xeff9: 0x6c2d3020,\n\t0xeffc: 0x6c127a20, 0xeffe: 0x6c2d4020,\n\t// Block 0x3c0, offset 0xf000\n\t0xf001: 0x6c109e20, 0xf002: 0x6c0b9a20,\n\t0xf005: 0x6c0e6620, 0xf007: 0x6c051820,\n\t0xf009: 0x6c2d3e20, 0xf00a: 0x6c157a20, 0xf00b: 0x6c00fa20,\n\t0xf00d: 0x6c138620, 0xf00e: 0x6c01fa20, 0xf00f: 0x6c2d3420,\n\t0xf010: 0x6c2d3620, 0xf011: 0x6c2d3820, 0xf012: 0x6c2d3a20, 0xf013: 0x6c105e20,\n\t0xf014: 0x6c0dfa20, 0xf015: 0x6c008620, 0xf016: 0x6c2d4220,\n\t0xf018: 0x6c2d4420, 0xf019: 0x6c31a020,\n\t0xf01c: 0x6c0d7220, 0xf01e: 0x6c2d4620,\n\t0xf020: 0x6c016220, 0xf021: 0x6c0cd420, 0xf023: 0x6c05fe20,\n\t0xf025: 0x6c15c020,\n\t0xf028: 0x6c2d4820, 0xf029: 0x6c0f8420,\n\t0xf02d: 0x6c0d2c20, 0xf02e: 0x6c093e20, 0xf02f: 0x6c2d4a20,\n\t0xf032: 0x6c2d5020,\n\t0xf035: 0x6c0a1620, 0xf036: 0x6c2d4c20, 0xf037: 0x6c0c9220,\n\t0xf038: 0x6c0c9020, 0xf03a: 0x6c008820,\n\t0xf03c: 0x6c165e20, 0xf03d: 0x6c2d5420, 0xf03f: 0x6c124420,\n\t// Block 0x3c1, offset 0xf040\n\t0xf040: 0x6c2d5820, 0xf041: 0x6c2d5620, 0xf042: 0x6c2d5220, 0xf043: 0x6c25a620,\n\t0xf044: 0x6c035820, 0xf047: 0x6c2d1220,\n\t0xf049: 0x6c2d5c20, 0xf04a: 0x6c2d5a20,\n\t0xf04f: 0x6c2d5e20,\n\t0xf051: 0x6c157c20,\n\t0xf063: 0x6c10aa20,\n\t0xf066: 0x6c13f020,\n\t0xf068: 0x6c2d6020, 0xf06a: 0x6c094220,\n\t0xf06f: 0x6c2d6220,\n\t0xf071: 0x6c2d6420,\n\t0xf075: 0x6c2d6620,\n\t0xf078: 0x6c0f6e20,\n\t// Block 0x3c2, offset 0xf080\n\t0xf081: 0x6c009420,\n\t0xf08a: 0x6c070e20,\n\t0xf08e: 0x6c16f820,\n\t0xf09b: 0x6c2d6e20,\n\t0xf0a1: 0x6c054c20, 0xf0a2: 0x6c2d6820,\n\t0xf0a4: 0x6c2d6a20,\n\t0xf0a8: 0x6c130420,\n\t0xf0ad: 0x6c029c20,\n\t0xf0b5: 0x6c157e20, 0xf0b7: 0x6c04a620,\n\t0xf0bd: 0x6c0fd420,\n\t// Block 0x3c3, offset 0xf0c0\n\t0xf0c2: 0x6c2d7020,\n\t0xf0d2: 0x6c2d7220,\n\t0xf0d9: 0x6c2d7420,\n\t0xf0ed: 0x6c0f7020,\n\t0xf0f0: 0x6c2d7820, 0xf0f2: 0x6c2d7620,\n\t// Block 0x3c4, offset 0xf100\n\t0xf109: 0x6c108e20, 0xf10a: 0x6c2d7a20, 0xf10b: 0x6c09b820,\n\t0xf10c: 0x6c095020, 0xf10d: 0x6c115a20, 0xf10e: 0x6c0e9620,\n\t0xf112: 0x6c097420,\n\t0xf114: 0x6c0b9c20, 0xf116: 0x6c2d7c20,\n\t0xf118: 0x6c2d7e20,\n\t0xf122: 0x6c0b7e20, 0xf123: 0x6c2d8020,\n\t0xf125: 0x6c2d8220,\n\t0xf129: 0x6c2d8420, 0xf12a: 0x6c15ea20,\n\t0xf12c: 0x6c09ba20,\n\t0xf132: 0x6c2d8820, 0xf133: 0x6c2d8620,\n\t0xf135: 0x6c071020, 0xf137: 0x6c074220,\n\t0xf138: 0x6c085420,\n\t// Block 0x3c5, offset 0xf140\n\t0xf142: 0x6c2d8e20,\n\t0xf147: 0x6c0a1820,\n\t0xf149: 0x6c2d8c20, 0xf14b: 0x6c2d8a20,\n\t0xf14d: 0x6c0dca20,\n\t0xf150: 0x6c067e20, 0xf152: 0x6c0c0620,\n\t0xf157: 0x6c11c020,\n\t0xf15c: 0x6c09be20,\n\t0xf162: 0x6c2d9020,\n\t0xf164: 0x6c0ac620,\n\t0xf16a: 0x6c2d9620, 0xf16b: 0x6c2d9220,\n\t0xf16f: 0x6c2d9420,\n\t0xf174: 0x6c2d9a20, 0xf175: 0x6c2d9820,\n\t0xf178: 0x6c0afc20, 0xf17a: 0x6c2d9c20,\n\t// Block 0x3c6, offset 0xf180\n\t0xf180: 0x6c2d9e20, 0xf181: 0x6c2da020,\n\t0xf186: 0x6c120020, 0xf187: 0x6c07be20,\n\t0xf188: 0x6c095220, 0xf189: 0x6c2da220, 0xf18b: 0x6c2da420,\n\t0xf18c: 0x6c161020, 0xf18d: 0x6c09d620, 0xf18e: 0x6c152c20, 0xf18f: 0x6c166020,\n\t0xf190: 0x6c2da620, 0xf191: 0x6c04ec20,\n\t0xf196: 0x6c2da820,\n\t0xf198: 0x6c0f7220, 0xf19b: 0x6c2dae20,\n\t0xf19c: 0x6c02e420, 0xf19d: 0x6c0b5a20, 0xf19f: 0x6c2daa20,\n\t0xf1a1: 0x6c2dac20, 0xf1a3: 0x6c0f3020,\n\t0xf1a6: 0x6c143e20, 0xf1a7: 0x6c052020,\n\t0xf1b5: 0x6c2db220, 0xf1b6: 0x6c2db420,\n\t0xf1bc: 0x6c2db020, 0xf1bf: 0x6c2db820,\n\t// Block 0x3c7, offset 0xf1c0\n\t0xf1cd: 0x6c10a620, 0xf1ce: 0x6c027a20,\n\t0xf1d1: 0x6c2dc020,\n\t0xf1d4: 0x6c2dba20, 0xf1d5: 0x6c2dbe20,\n\t0xf1de: 0x6c2db620,\n\t0xf1e9: 0x6c2e4c20,\n\t0xf1ec: 0x6c2dbc20,\n\t0xf1f4: 0x6c169e20, 0xf1f7: 0x6c065420,\n\t0xf1ff: 0x6c2dd020,\n\t// Block 0x3c8, offset 0xf200\n\t0xf204: 0x6c0f9420, 0xf205: 0x6c2dc620,\n\t0xf208: 0x6c2dcc20, 0xf209: 0x6c2dc820, 0xf20b: 0x6c2dd220,\n\t0xf210: 0x6c2dd420,\n\t0xf217: 0x6c2dc420,\n\t0xf21a: 0x6c2dde20, 0xf21b: 0x6c016420,\n\t0xf21e: 0x6c2dc220,\n\t0xf222: 0x6c11ba20,\n\t0xf224: 0x6c2dca20, 0xf226: 0x6c0ac820,\n\t0xf231: 0x6c071220,\n\t0xf23e: 0x6c142420,\n\t// Block 0x3c9, offset 0xf240\n\t0xf240: 0x6c04f020, 0xf243: 0x6c09d820,\n\t0xf245: 0x6c106020,\n\t0xf251: 0x6c0c9620, 0xf253: 0x6c2dda20,\n\t0xf255: 0x6c2dce20, 0xf256: 0x6c2dd820,\n\t0xf258: 0x6c14d620, 0xf25a: 0x6c0ee020, 0xf25b: 0x6c2ddc20,\n\t0xf25c: 0x6c2dd620,\n\t0xf26d: 0x6c0c9420,\n\t0xf277: 0x6c2de420,\n\t0xf279: 0x6c2de220,\n\t// Block 0x3ca, offset 0xf280\n\t0xf28f: 0x6c2de020,\n\t0xf292: 0x6c13f220,\n\t0xf2a4: 0x6c0a4220,\n\t0xf2a9: 0x6c2de620, 0xf2aa: 0x6c139620,\n\t0xf2ad: 0x6c012420,\n\t0xf2b2: 0x6c12a820, 0xf2b3: 0x6c0e9820,\n\t0xf2b8: 0x6c045c20, 0xf2ba: 0x6c2dea20,\n\t0xf2bc: 0x6c071620,\n\t// Block 0x3cb, offset 0xf2c0\n\t0xf2c6: 0x6c082c20,\n\t0xf2cf: 0x6c2de820,\n\t0xf2d0: 0x6c0b9e20,\n\t0xf2d8: 0x6c0ba020, 0xf2d9: 0x6c2df020, 0xf2da: 0x6c2df420,\n\t0xf2e0: 0x6c0afe20, 0xf2e2: 0x6c2df220, 0xf2e3: 0x6c2df620,\n\t0xf2e6: 0x6c04ce20,\n\t0xf2e8: 0x6c12a620, 0xf2eb: 0x6c095420,\n\t0xf2ec: 0x6c16ca20, 0xf2ee: 0x6c2dee20, 0xf2ef: 0x6c080820,\n\t0xf2f2: 0x6c170220,\n\t0xf2f5: 0x6c2dfa20,\n\t0xf2fa: 0x6c2df820, 0xf2fb: 0x6c2dfc20,\n\t// Block 0x3cc, offset 0xf300\n\t0xf304: 0x6c2dec20,\n\t0xf30b: 0x6c10ba20,\n\t0xf30d: 0x6c0fd620,\n\t0xf314: 0x6c0f1e20, 0xf316: 0x6c2e0620,\n\t0xf31b: 0x6c0e3a20,\n\t0xf31c: 0x6c2dfe20,\n\t0xf320: 0x6c2e0020,\n\t0xf32c: 0x6c053e20, 0xf32e: 0x6c2e0420,\n\t0xf335: 0x6c060020,\n\t0xf33c: 0x6c2e0220, 0xf33e: 0x6c0aca20,\n\t// Block 0x3cd, offset 0xf340\n\t0xf34c: 0x6c02e620,\n\t0xf354: 0x6c2e0e20, 0xf356: 0x6c079620, 0xf357: 0x6c0d2e20,\n\t0xf35a: 0x6c0f0420,\n\t0xf367: 0x6c026a20,\n\t0xf36c: 0x6c2e0a20, 0xf36d: 0x6c2e0c20, 0xf36e: 0x6c0ef620,\n\t0xf370: 0x6c2e0820,\n\t0xf379: 0x6c2e1020,\n\t// Block 0x3ce, offset 0xf380\n\t0xf383: 0x6c2e1c20,\n\t0xf388: 0x6c2e2220,\n\t0xf390: 0x6c2e2020, 0xf391: 0x6c0f8620,\n\t0xf396: 0x6c2e1220, 0xf397: 0x6c2e1420,\n\t0xf398: 0x6c2e1a20,\n\t0xf39d: 0x6c2e1e20,\n\t0xf3a1: 0x6c04a820,\n\t0xf3a4: 0x6c2e2420, 0xf3a5: 0x6c2e1820,\n\t0xf3a8: 0x6c2e1620,\n\t// Block 0x3cf, offset 0xf3c0\n\t0xf3c3: 0x6c2e2c20,\n\t0xf3c7: 0x6c2e2e20,\n\t0xf3d0: 0x6c2e3020, 0xf3d3: 0x6c2e2a20,\n\t0xf3d4: 0x6c2e2820,\n\t0xf3d8: 0x6c0acc20, 0xf3d9: 0x6c103c20, 0xf3da: 0x6c2e2620,\n\t0xf3e1: 0x6c2e3820,\n\t0xf3eb: 0x6c2e3420,\n\t0xf3f5: 0x6c2e3620, 0xf3f6: 0x6c2e3220,\n\t0xf3f8: 0x6c0de820, 0xf3fa: 0x6c2e3a20,\n\t// Block 0x3d0, offset 0xf400\n\t0xf401: 0x6c2e3c20,\n\t0xf404: 0x6c2e4020,\n\t0xf411: 0x6c035a20, 0xf412: 0x6c2e3e20, 0xf413: 0x6c154420,\n\t0xf41a: 0x6c2e5620, 0xf41b: 0x6c2e4220,\n\t0xf41e: 0x6c2e4820,\n\t0xf420: 0x6c2e4420, 0xf422: 0x6c2e4620,\n\t0xf42a: 0x6c2e4a20,\n\t0xf430: 0x6c2e4e20,\n\t0xf435: 0x6c2e5020, 0xf437: 0x6c2e5220,\n\t0xf43c: 0x6c2e5820, 0xf43d: 0x6c2e5420, 0xf43e: 0x6c2e5a20, 0xf43f: 0x6c2e5e20,\n\t// Block 0x3d1, offset 0xf440\n\t0xf441: 0x6c2e5c20,\n\t// Block 0x3d2, offset 0xf480\n\t0xf4b7: 0x6c0ee220,\n\t// Block 0x3d3, offset 0xf4c0\n\t0xf4c0: 0x6c151e20, 0xf4c2: 0x6c2e6020, 0xf4c3: 0x6c0c9820,\n\t0xf4c7: 0x6c2e6220,\n\t0xf4c9: 0x6c136020, 0xf4ca: 0x6c2e6420, 0xf4cb: 0x6c024a20,\n\t0xf4cf: 0x6c00f420,\n\t0xf4d1: 0x6c035e20, 0xf4d3: 0x6c035c20,\n\t0xf4d4: 0x6c2e6620, 0xf4d6: 0x6c2e6820,\n\t0xf4d8: 0x6c2e6a20, 0xf4d9: 0x6c2e6c20,\n\t0xf4e0: 0x6c2e6e20, 0xf4e2: 0x6c036020, 0xf4e3: 0x6c029e20,\n\t0xf4e4: 0x6c071820, 0xf4e5: 0x6c11cc20, 0xf4e7: 0x6c2e7220,\n\t0xf4e8: 0x6c2e7020,\n\t0xf4ed: 0x6c2e7420,\n\t0xf4f2: 0x6c013420,\n\t0xf4f9: 0x6c2e7a20, 0xf4fb: 0x6c2e7820,\n\t0xf4fc: 0x6c2e7620, 0xf4fe: 0x6c2e7c20,\n\t// Block 0x3d4, offset 0xf500\n\t0xf503: 0x6c2e8220,\n\t0xf507: 0x6c004e20,\n\t0xf50a: 0x6c2e7e20,\n\t0xf50c: 0x6c2e8620, 0xf50d: 0x6c2e8420,\n\t0xf514: 0x6c2e8a20, 0xf515: 0x6c2e8820, 0xf516: 0x6c2e8c20,\n\t0xf518: 0x6c104420,\n\t0xf51c: 0x6c2e8e20,\n\t0xf521: 0x6c2e9020, 0xf522: 0x6c2e9420,\n\t0xf525: 0x6c2e9220,\n\t// Block 0x3d5, offset 0xf540\n\t0xf55c: 0x6c12f420,\n\t0xf561: 0x6c2e9620,\n\t0xf568: 0x6c2e9820, 0xf56a: 0x6c07e220,\n\t0xf56e: 0x6c2e9a20, 0xf56f: 0x6c2e9c20,\n\t0xf572: 0x6c142620,\n\t0xf57b: 0x6c0cd220,\n\t0xf57f: 0x6c000820,\n\t// Block 0x3d6, offset 0xf580\n\t0xf580: 0x6c0d8e20, 0xf582: 0x6c2e9e20,\n\t0xf584: 0x6c12f620,\n\t0xf58b: 0x6c2ea420,\n\t0xf58c: 0x6c2ea020, 0xf58d: 0x6c071a20, 0xf58f: 0x6c2ea220,\n\t0xf590: 0x6c062420,\n\t0xf59b: 0x6c136220,\n\t0xf59c: 0x6c2ea820, 0xf59d: 0x6c2eac20, 0xf59e: 0x6c2eaa20, 0xf59f: 0x6c2eae20,\n\t0xf5a2: 0x6c00be20, 0xf5a3: 0x6c0b7420,\n\t0xf5a4: 0x6c0a4420, 0xf5a5: 0x6c036220, 0xf5a6: 0x6c2eb020,\n\t0xf5aa: 0x6c117020,\n\t0xf5ac: 0x6c2eb420,\n\t0xf5b0: 0x6c00c020, 0xf5b2: 0x6c2eb220, 0xf5b3: 0x6c0ef820,\n\t0xf5b5: 0x6c166220, 0xf5b6: 0x6c103e20, 0xf5b7: 0x6c2ea620,\n\t0xf5b8: 0x6c161420, 0xf5ba: 0x6c060220,\n\t0xf5bd: 0x6c15c220,\n\t// Block 0x3d7, offset 0xf5c0\n\t0xf5c5: 0x6c051a20, 0xf5c6: 0x6c163020,\n\t0xf5c8: 0x6c053420, 0xf5ca: 0x6c0dbc20, 0xf5cb: 0x6c281020,\n\t0xf5cd: 0x6c2eb620, 0xf5ce: 0x6c024c20, 0xf5cf: 0x6c0ba220,\n\t0xf5d4: 0x6c02a020, 0xf5d5: 0x6c2eba20, 0xf5d7: 0x6c2ebc20,\n\t0xf5d8: 0x6c2eb820, 0xf5d9: 0x6c05ac20, 0xf5db: 0x6c07d220,\n\t0xf5dc: 0x6c0ace20,\n\t0xf5e0: 0x6c00c220, 0xf5e3: 0x6c167a20,\n\t0xf5e7: 0x6c2ec020,\n\t0xf5e8: 0x6c2d4e20, 0xf5ea: 0x6c2ebe20,\n\t0xf5f0: 0x6c2ec620, 0xf5f1: 0x6c2ec220, 0xf5f2: 0x6c2ec420,\n\t0xf5f4: 0x6c2ec820, 0xf5f6: 0x6c2eca20, 0xf5f7: 0x6c16a020,\n\t0xf5f8: 0x6c2ecc20, 0xf5f9: 0x6c2ece20, 0xf5fb: 0x6c0c1220,\n\t0xf5fc: 0x6c11d620,\n\t// Block 0x3d8, offset 0xf600\n\t0xf600: 0x6c0bbe20, 0xf601: 0x6c037e20,\n\t0xf604: 0x6c158020, 0xf605: 0x6c021220, 0xf606: 0x6c09bc20, 0xf607: 0x6c065620,\n\t0xf609: 0x6c2ed420, 0xf60b: 0x6c2ed220,\n\t0xf60c: 0x6c08ba20, 0xf60d: 0x6c2ed620, 0xf60e: 0x6c2ed020,\n\t0xf611: 0x6c082420,\n\t0xf615: 0x6c2ede20, 0xf616: 0x6c2a5c20,\n\t0xf619: 0x6c190e20, 0xf61b: 0x6c0bb220,\n\t0xf61c: 0x6c2eda20,\n\t0xf622: 0x6c161220, 0xf623: 0x6c10ca20,\n\t0xf628: 0x6c00d220, 0xf62a: 0x6c0c4620, 0xf62b: 0x6c08fc20,\n\t0xf630: 0x6c134620, 0xf632: 0x6c00fc20,\n\t0xf636: 0x6c16a220, 0xf637: 0x6c15e220,\n\t0xf639: 0x6c2ee020, 0xf63b: 0x6c0fb620,\n\t// Block 0x3d9, offset 0xf640\n\t0xf640: 0x6c098620,\n\t0xf644: 0x6c2ee220, 0xf646: 0x6c2ee420, 0xf647: 0x6c0b5c20,\n\t0xf648: 0x6c2ee620, 0xf64a: 0x6c16a420,\n\t0xf64d: 0x6c2edc20, 0xf64e: 0x6c2eea20, 0xf64f: 0x6c2eee20,\n\t0xf651: 0x6c2eec20, 0xf653: 0x6c2ee820,\n\t0xf656: 0x6c2ef020,\n\t0xf659: 0x6c2ef220,\n\t0xf65c: 0x6c0d3020, 0xf65e: 0x6c01fc20,\n\t0xf664: 0x6c2ef420, 0xf667: 0x6c14c020,\n\t0xf66a: 0x6c2ef620,\n\t0xf670: 0x6c2ef820, 0xf672: 0x6c16d820,\n\t0xf678: 0x6c1f6020, 0xf679: 0x6c2efa20,\n\t0xf67d: 0x6c2efc20, 0xf67e: 0x6c2efe20,\n\t// Block 0x3da, offset 0xf680\n\t0xf682: 0x6c2f0620,\n\t0xf684: 0x6c2f0020, 0xf686: 0x6c2f0220,\n\t0xf688: 0x6c2f0420, 0xf689: 0x6c2f0820,\n\t0xf692: 0x6c0c0820,\n\t0xf696: 0x6c153e20,\n\t0xf699: 0x6c0c0a20,\n\t0xf69c: 0x6c2f0a20, 0xf69e: 0x6c124620,\n\t0xf6a0: 0x6c2f0c20, 0xf6a1: 0x6c314420, 0xf6a2: 0x6c14e820,\n\t0xf6a4: 0x6c2f0e20, 0xf6a6: 0x6c2f1020,\n\t0xf6a8: 0x6c2f1220, 0xf6a9: 0x6c02a220, 0xf6ab: 0x6c2f1620,\n\t0xf6ad: 0x6c0b7620,\n\t0xf6b1: 0x6c2f1820,\n\t0xf6b4: 0x6c052c20,\n\t0xf6b9: 0x6c2f1a20, 0xf6ba: 0x6c2f2220,\n\t0xf6bc: 0x6c2f1e20,\n\t// Block 0x3db, offset 0xf6c0\n\t0xf6c1: 0x6c2f2020,\n\t0xf6c4: 0x6c02da20, 0xf6c5: 0x6c2f1c20, 0xf6c6: 0x6c2f2420,\n\t0xf6cb: 0x6c2f2620,\n\t0xf6cd: 0x6c005020, 0xf6cf: 0x6c2f2820,\n\t0xf6d0: 0x6c2f2a20,\n\t0xf6d8: 0x6c0ad020,\n\t0xf6dc: 0x6c2f2c20,\n\t0xf6e0: 0x6c03fa20, 0xf6e3: 0x6c2f3220,\n\t0xf6e6: 0x6c2f3020,\n\t0xf6e8: 0x6c2f2e20, 0xf6eb: 0x6c2ba020,\n\t0xf6ed: 0x6c139020,\n\t0xf6f3: 0x6c2f3420,\n\t0xf6f4: 0x6c2f3620,\n\t// Block 0x3dc, offset 0xf700\n\t0xf703: 0x6c2f3820,\n\t0xf706: 0x6c2f3a20,\n\t0xf708: 0x6c2f3c20, 0xf70b: 0x6c2f3e20,\n\t0xf713: 0x6c036420,\n\t0xf71c: 0x6c2f4020,\n\t0xf72d: 0x6c2f4220, 0xf72e: 0x6c10ea20,\n\t0xf732: 0x6c2f4620, 0xf733: 0x6c01ae20,\n\t0xf735: 0x6c2f4c20, 0xf736: 0x6c2f4a20,\n\t0xf73b: 0x6c00c420,\n\t0xf73f: 0x6c04aa20,\n\t// Block 0x3dd, offset 0xf740\n\t0xf741: 0x6c136620, 0xf742: 0x6c0ee420, 0xf743: 0x6c075c20,\n\t0xf745: 0x6c071c20, 0xf746: 0x6c0a1a20,\n\t0xf748: 0x6c0b7c20,\n\t0xf74c: 0x6c2f5020, 0xf74f: 0x6c2f4e20,\n\t0xf750: 0x6c159020, 0xf751: 0x6c038020, 0xf752: 0x6c120420, 0xf753: 0x6c10a020,\n\t0xf757: 0x6c0bbc20,\n\t0xf758: 0x6c166420, 0xf75a: 0x6c059a20,\n\t0xf761: 0x6c2f5620,\n\t0xf764: 0x6c2f5420,\n\t0xf76c: 0x6c142a20, 0xf76d: 0x6c104020,\n\t0xf774: 0x6c011c20, 0xf777: 0x6c2f5820,\n\t0xf778: 0x6c2f5220, 0xf77b: 0x6c12be20,\n\t0xf77c: 0x6c15e020, 0xf77d: 0x6c2f5a20,\n\t// Block 0x3de, offset 0xf780\n\t0xf786: 0x6c2f5c20,\n\t0xf78b: 0x6c2f6020,\n\t0xf78c: 0x6c0dcc20, 0xf78d: 0x6c02aa20, 0xf78e: 0x6c02ac20, 0xf78f: 0x6c2f5e20,\n\t0xf794: 0x6c038220, 0xf795: 0x6c060420,\n\t0xf798: 0x6c038420, 0xf79b: 0x6c0faa20,\n\t0xf79e: 0x6c168820,\n\t0xf7a7: 0x6c065820,\n\t0xf7ab: 0x6c2f6220,\n\t0xf7af: 0x6c2f6420,\n\t0xf7b0: 0x6c2f6620, 0xf7b1: 0x6c2f6820, 0xf7b3: 0x6c2f6c20,\n\t0xf7b4: 0x6c2f6a20,\n\t// Block 0x3df, offset 0xf7c0\n\t0xf7e8: 0x6c130a20, 0xf7ea: 0x6c2f6e20,\n\t0xf7ef: 0x6c2f7020,\n\t0xf7f1: 0x6c2f7220,\n\t0xf7f6: 0x6c2f7420,\n\t// Block 0x3e0, offset 0xf800\n\t0xf803: 0x6c2f7820,\n\t0xf804: 0x6c2f7620, 0xf806: 0x6c2f7a20,\n\t0xf81b: 0x6c124820,\n\t0xf81c: 0x6c27aa20, 0xf81f: 0x6c0b1620,\n\t0xf822: 0x6c03d020,\n\t0xf829: 0x6c2f7c20, 0xf82b: 0x6c2f7e20,\n\t0xf82d: 0x6c18ba20, 0xf82e: 0x6c20ec20, 0xf82f: 0x6c120620,\n\t0xf832: 0x6c00b620,\n\t0xf834: 0x6c003620,\n\t0xf83c: 0x6c08bc20, 0xf83d: 0x6c13f420, 0xf83e: 0x6c0b0420,\n\t// Block 0x3e1, offset 0xf840\n\t0xf843: 0x6c2f8020,\n\t0xf845: 0x6c150e20,\n\t0xf849: 0x6c2f8220, 0xf84a: 0x6c15c420,\n\t0xf84c: 0x6c010020,\n\t0xf850: 0x6c085620, 0xf852: 0x6c2f8420, 0xf853: 0x6c021420,\n\t0xf854: 0x6c2f8620,\n\t0xf858: 0x6c2f8820,\n\t0xf85d: 0x6c2f8c20, 0xf85e: 0x6c2f8e20,\n\t0xf860: 0x6c2f9220, 0xf861: 0x6c2f8a20,\n\t0xf864: 0x6c2f9020,\n\t0xf868: 0x6c036620,\n\t0xf86c: 0x6c2f9420, 0xf86e: 0x6c2f9620,\n\t0xf87d: 0x6c2f9820, 0xf87e: 0x6c2f9a20,\n\t// Block 0x3e2, offset 0xf880\n\t0xf882: 0x6c2f9c20,\n\t0xf885: 0x6c2fa020,\n\t0xf889: 0x6c2f9e20, 0xf88b: 0x6c2fa420,\n\t0xf88c: 0x6c2faa20,\n\t0xf890: 0x6c2fa220, 0xf891: 0x6c2fa620, 0xf892: 0x6c2fa820,\n\t0xf895: 0x6c2fac20, 0xf897: 0x6c04ac20,\n\t// Block 0x3e3, offset 0xf8c0\n\t0xf8d6: 0x6c097620, 0xf8d7: 0x6c2fae20,\n\t0xf8d8: 0x6c2fb020, 0xf8d9: 0x6c071e20,\n\t0xf8e5: 0x6c2fb220,\n\t0xf8e8: 0x6c027020,\n\t0xf8ec: 0x6c114220, 0xf8ed: 0x6c2fb420, 0xf8ee: 0x6c2fb620,\n\t0xf8f3: 0x6c0e6820,\n\t0xf8f4: 0x6c10be20,\n\t0xf8fc: 0x6c2fb820,\n\t// Block 0x3e4, offset 0xf900\n\t0xf901: 0x6c119e20,\n\t0xf904: 0x6c0d9020, 0xf905: 0x6c012c20, 0xf906: 0x6c050420,\n\t0xf908: 0x6c050620,\n\t0xf910: 0x6c0e9a20, 0xf911: 0x6c2fc220, 0xf912: 0x6c050820,\n\t0xf915: 0x6c021620,\n\t0xf918: 0x6c2fc020, 0xf91b: 0x6c2fbc20,\n\t0xf91d: 0x6c2fbe20, 0xf91f: 0x6c2fba20,\n\t0xf922: 0x6c2fd620,\n\t0xf92d: 0x6c2fc420, 0xf92e: 0x6c2fc620,\n\t0xf931: 0x6c2fc820, 0xf932: 0x6c2fca20,\n\t0xf938: 0x6c2fce20, 0xf93b: 0x6c2fcc20,\n\t0xf93f: 0x6c09fe20,\n\t// Block 0x3e5, offset 0xf940\n\t0xf941: 0x6c2fd020,\n\t0xf945: 0x6c2fd420,\n\t0xf94e: 0x6c03d220, 0xf94f: 0x6c2fd220,\n\t0xf952: 0x6c0d3220, 0xf953: 0x6c060620,\n\t0xf959: 0x6c2fd820,\n\t0xf968: 0x6c0d9220, 0xf96b: 0x6c2fda20,\n\t0xf970: 0x6c104220,\n\t0xf977: 0x6c2fdc20,\n\t0xf97e: 0x6c2fe620,\n\t// Block 0x3e6, offset 0xf980\n\t0xf980: 0x6c2fe220, 0xf982: 0x6c2fe020, 0xf983: 0x6c2fe420,\n\t0xf985: 0x6c2fde20,\n\t0xf98d: 0x6c2fea20,\n\t0xf995: 0x6c2fe820, 0xf997: 0x6c2fee20,\n\t0xf99a: 0x6c04ae20, 0xf99b: 0x6c2fec20,\n\t0xf99f: 0x6c2ff020,\n\t0xf9a2: 0x6c2ff220,\n\t0xf9a4: 0x6c2ff620, 0xf9a5: 0x6c2ff420,\n\t0xf9a9: 0x6c2ff820, 0xf9aa: 0x6c2ffc20, 0xf9ab: 0x6c2ffa20,\n\t// Block 0x3e7, offset 0xf9c0\n\t0xf9e8: 0x6c075420,\n\t0xf9ed: 0x6c2ffe20,\n\t0xf9f0: 0x6c300020,\n\t0xf9f8: 0x6c026c20,\n\t0xf9fc: 0x6c300220,\n\t// Block 0x3e8, offset 0xfa00\n\t0xfa00: 0x6c300420,\n\t0xfa04: 0x6c0ba620,\n\t0xfa0f: 0x6c300620,\n\t0xfa11: 0x6c300820, 0xfa13: 0x6c300a20,\n\t0xfa14: 0x6c300c20,\n\t0xfa18: 0x6c072020,\n\t0xfa1e: 0x6c300e20, 0xfa1f: 0x6c301020,\n\t0xfa22: 0x6c301220, 0xfa23: 0x6c301420,\n\t0xfa26: 0x6c301620,\n\t0xfa2a: 0x6c11c220, 0xfa2b: 0x6c301a20,\n\t0xfa2d: 0x6c126820, 0xfa2e: 0x6c301c20, 0xfa2f: 0x6c301820,\n\t0xfa31: 0x6c302020,\n\t0xfa34: 0x6c301e20, 0xfa37: 0x6c302220,\n\t0xfa3b: 0x6c302420,\n\t// Block 0x3e9, offset 0xfa40\n\t0xfa46: 0x6c302620,\n\t0xfa58: 0x6c302820, 0xfa5a: 0x6c302a20,\n\t0xfa5f: 0x6c302c20,\n\t0xfa62: 0x6c302e20, 0xfa63: 0x6c303020,\n\t0xfa65: 0x6c303220, 0xfa67: 0x6c303420,\n\t0xfa68: 0x6c303620, 0xfa69: 0x6c303820, 0xfa6a: 0x6c303a20,\n\t0xfa6e: 0x6c303c20, 0xfa6f: 0x6c303e20,\n\t0xfa71: 0x6c20e020, 0xfa72: 0x6c304020,\n\t0xfa7b: 0x6c268a20,\n\t0xfa7c: 0x6c03d420,\n\t// Block 0x3ea, offset 0xfa80\n\t0xfa81: 0x6c023620, 0xfa82: 0x6c077c20, 0xfa83: 0x6c304420,\n\t0xfa84: 0x6c304220, 0xfa85: 0x6c149a20,\n\t0xfa8d: 0x6c304820, 0xfa8e: 0x6c304a20, 0xfa8f: 0x6c304620,\n\t0xfa91: 0x6c304c20,\n\t0xfa94: 0x6c145820,\n\t0xfa98: 0x6c304e20, 0xfa9a: 0x6c046220,\n\t0xfaaf: 0x6c16ce20,\n\t0xfab4: 0x6c305020,\n\t// Block 0x3eb, offset 0xfac0\n\t0xfac3: 0x6c305420,\n\t0xface: 0x6c003c20,\n\t0xfad1: 0x6c305620, 0xfad2: 0x6c132e20, 0xfad3: 0x6c305220,\n\t0xfad6: 0x6c305820, 0xfad7: 0x6c305a20,\n\t0xfadf: 0x6c305c20,\n\t0xfae0: 0x6c305e20,\n\t0xfae8: 0x6c306020, 0xfaea: 0x6c147020, 0xfaeb: 0x6c082e20,\n\t0xfaed: 0x6c080c20, 0xfaee: 0x6c0c9a20,\n\t0xfaf4: 0x6c306220,\n\t0xfaf9: 0x6c306820,\n\t// Block 0x3ec, offset 0xfb00\n\t0xfb00: 0x6c306420,\n\t0xfb06: 0x6c306a20,\n\t0xfb09: 0x6c068220, 0xfb0a: 0x6c306620,\n\t0xfb0f: 0x6c306c20,\n\t0xfb11: 0x6c306e20, 0xfb12: 0x6c307020,\n\t0xfb14: 0x6c307820, 0xfb16: 0x6c082820,\n\t0xfb1b: 0x6c0dc020,\n\t0xfb21: 0x6c307a20, 0xfb22: 0x6c307420, 0xfb23: 0x6c307220,\n\t0xfb24: 0x6c307620,\n\t0xfb28: 0x6c05a220,\n\t0xfb30: 0x6c308220, 0xfb31: 0x6c308020, 0xfb32: 0x6c307e20,\n\t0xfb35: 0x6c002620,\n\t// Block 0x3ed, offset 0xfb40\n\t0xfb44: 0x6c309620, 0xfb46: 0x6c308e20,\n\t0xfb48: 0x6c309020, 0xfb49: 0x6c308820, 0xfb4a: 0x6c309420,\n\t0xfb4c: 0x6c308c20, 0xfb4d: 0x6c02b820,\n\t0xfb50: 0x6c171c20, 0xfb52: 0x6c309220, 0xfb53: 0x6c308a20,\n\t0xfb54: 0x6c308620, 0xfb55: 0x6c308420,\n\t0xfb5b: 0x6c309a20,\n\t0xfb61: 0x6c30a020,\n\t0xfb64: 0x6c309e20, 0xfb65: 0x6c309c20,\n\t0xfb6d: 0x6c12ae20, 0xfb6e: 0x6c309820, 0xfb6f: 0x6c00a620,\n\t0xfb70: 0x6c30a220, 0xfb72: 0x6c30a620,\n\t0xfb79: 0x6c02d220, 0xfb7a: 0x6c307c20, 0xfb7b: 0x6c00ea20,\n\t0xfb7e: 0x6c30aa20,\n\t// Block 0x3ee, offset 0xfb80\n\t0xfb86: 0x6c30a820, 0xfb87: 0x6c30a420,\n\t0xfb88: 0x6c0e0e20,\n\t0xfb92: 0x6c147420,\n\t0xfb97: 0x6c167c20,\n\t0xfb9a: 0x6c30ac20,\n\t0xfba0: 0x6c30ae20,\n\t0xfba7: 0x6c30b020,\n\t0xfbb6: 0x6c30b220,\n\t0xfbb8: 0x6c30b420,\n\t// Block 0x3ef, offset 0xfbc0\n\t0xfbe5: 0x6c0ee620, 0xfbe7: 0x6c30b620,\n\t0xfbe9: 0x6c11ce20, 0xfbeb: 0x6c30c020,\n\t0xfbec: 0x6c30b820,\n\t0xfbf0: 0x6c30ba20, 0xfbf3: 0x6c13f620,\n\t0xfbf4: 0x6c14d820, 0xfbf6: 0x6c108820,\n\t// Block 0x3f0, offset 0xfc00\n\t0xfc03: 0x6c30c220,\n\t0xfc06: 0x6c30c420, 0xfc07: 0x6c106420,\n\t0xfc08: 0x6c30be20, 0xfc09: 0x6c30bc20,\n\t0xfc0e: 0x6c018c20,\n\t0xfc12: 0x6c30d420,\n\t0xfc15: 0x6c30d220,\n\t0xfc1b: 0x6c016620,\n\t0xfc1f: 0x6c30ce20,\n\t0xfc23: 0x6c30cc20,\n\t0xfc26: 0x6c30c820,\n\t0xfc28: 0x6c02ea20, 0xfc2a: 0x6c30c620, 0xfc2b: 0x6c08f420,\n\t0xfc2c: 0x6c018a20,\n\t0xfc3b: 0x6c072220,\n\t0xfc3e: 0x6c30da20, 0xfc3f: 0x6c30d820,\n\t// Block 0x3f1, offset 0xfc40\n\t0xfc41: 0x6c30d620,\n\t0xfc44: 0x6c30d020, 0xfc46: 0x6c30dc20,\n\t0xfc48: 0x6c30de20,\n\t0xfc50: 0x6c30e820, 0xfc51: 0x6c30e620,\n\t0xfc59: 0x6c30ea20,\n\t0xfc5c: 0x6c00d620, 0xfc5d: 0x6c30e020, 0xfc5e: 0x6c30e220,\n\t0xfc60: 0x6c074420, 0xfc61: 0x6c14c220,\n\t0xfc64: 0x6c30e420,\n\t0xfc6c: 0x6c13f820, 0xfc6f: 0x6c30f420,\n\t0xfc72: 0x6c30ec20,\n\t0xfc7a: 0x6c30f620,\n\t// Block 0x3f2, offset 0xfc80\n\t0xfc87: 0x6c30f020,\n\t0xfc89: 0x6c30ee20,\n\t0xfc8f: 0x6c059c20,\n\t0xfc9a: 0x6c30f820,\n\t0xfca4: 0x6c30fa20,\n\t0xfca9: 0x6c30fc20, 0xfcab: 0x6c30f220,\n\t0xfcaf: 0x6c30ca20,\n\t0xfcb2: 0x6c30fe20,\n\t0xfcb4: 0x6c0f3220,\n\t0xfcb8: 0x6c310620, 0xfcba: 0x6c310820, 0xfcbb: 0x6c310420,\n\t// Block 0x3f3, offset 0xfcc0\n\t0xfcc1: 0x6c310220, 0xfcc2: 0x6c310e20,\n\t0xfcc4: 0x6c310020, 0xfcc6: 0x6c310a20,\n\t0xfccf: 0x6c310c20,\n\t0xfcd3: 0x6c311220,\n\t0xfcd9: 0x6c311020,\n\t0xfce6: 0x6c311620,\n\t0xfced: 0x6c311820, 0xfcef: 0x6c311a20,\n\t0xfcf2: 0x6c171620,\n\t0xfcf8: 0x6c311420, 0xfcf9: 0x6c0dce20, 0xfcfa: 0x6c07f220,\n\t0xfcfd: 0x6c311c20,\n\t// Block 0x3f4, offset 0xfd00\n\t0xfd1a: 0x6c311e20, 0xfd1b: 0x6c312020,\n\t0xfd1e: 0x6c312220,\n\t// Block 0x3f5, offset 0xfd40\n\t0xfd75: 0x6c312420,\n\t0xfd78: 0x6c060820, 0xfd79: 0x6c312620,\n\t0xfd7d: 0x6c312820, 0xfd7f: 0x6c08ee20,\n\t// Block 0x3f6, offset 0xfd80\n\t0xfd81: 0x6c312a20,\n\t0xfd88: 0x6c312c20, 0xfd8b: 0x6c312e20,\n\t0xfd8c: 0x6c313020,\n\t0xfd91: 0x6c313620, 0xfd92: 0x6c313220, 0xfd93: 0x6c16fc20,\n\t0xfd95: 0x6c313420, 0xfd97: 0x6c16a620,\n\t0xfd9d: 0x6c313820, 0xfd9f: 0x6c167e20,\n\t0xfda5: 0x6c313a20, 0xfda6: 0x6c11a020,\n\t0xfda9: 0x6c313c20, 0xfdaa: 0x6c314020,\n\t0xfdad: 0x6c314220,\n\t0xfdb8: 0x6c313e20, 0xfdb9: 0x6c073620, 0xfdba: 0x6c14ea20, 0xfdbb: 0x6c145a20,\n\t0xfdbc: 0x6c1c4020, 0xfdbe: 0x6c213620, 0xfdbf: 0x6c148a20,\n\t// Block 0x3f7, offset 0xfdc0\n\t0xfdc4: 0x6c018e20,\n\t0xfdcc: 0x6c314620, 0xfdcd: 0x6c040c20, 0xfdce: 0x6c314820, 0xfdcf: 0x6c314a20,\n\t0xfdd0: 0x6c314c20, 0xfdd2: 0x6c074620,\n\t0xfdd4: 0x6c314e20,\n\t0xfdd8: 0x6c235220, 0xfdd9: 0x6c150620, 0xfddb: 0x6c0dbe20,\n\t0xfddc: 0x6c315020, 0xfddd: 0x6c315420, 0xfdde: 0x6c315220,\n\t0xfde0: 0x6c315620,\n\t0xfde5: 0x6c315820,\n\t0xfde8: 0x6c315a20,\n\t0xfdef: 0x6c315c20,\n\t0xfdf4: 0x6c315e20, 0xfdf6: 0x6c316020, 0xfdf7: 0x6c316220,\n\t0xfdf9: 0x6c316420, 0xfdfb: 0x6c316620,\n\t0xfdfc: 0x6c316820, 0xfdfd: 0x6c316a20,\n\t// Block 0x3f8, offset 0xfe00\n\t0xfe07: 0x6c316c20,\n\t0xfe08: 0x6c316e20,\n\t0xfe0e: 0x6c0f7420,\n\t0xfe13: 0x6c065a20,\n\t0xfe15: 0x6c317220,\n\t0xfe20: 0x6c0cd620, 0xfe21: 0x6c317420,\n\t0xfe2c: 0x6c317620,\n\t0xfe3b: 0x6c125e20,\n\t0xfe3e: 0x6c317820,\n\t// Block 0x3f9, offset 0xfe40\n\t0xfe4a: 0x6c317a20, 0xfe4b: 0x6c254c20,\n\t0xfe4e: 0x6c2c2e20, 0xfe4f: 0x6c2f4420,\n\t0xfe52: 0x6c317c20,\n\t0xfe54: 0x6c317e20,\n\t0xfe5f: 0x6c318220,\n\t0xfe60: 0x6c318420, 0xfe61: 0x6c318620, 0xfe62: 0x6c16a820, 0xfe63: 0x6c318020,\n\t0xfe66: 0x6c318820, 0xfe67: 0x6c318a20,\n\t0xfe6a: 0x6c318e20,\n\t0xfe6c: 0x6c318c20,\n\t0xfe72: 0x6c319220,\n\t0xfe76: 0x6c319420, 0xfe77: 0x6c319020,\n\t// Block 0x3fa, offset 0xfe80\n\t0xfe8d: 0x6c163420,\n\t0xfe95: 0x6c319620,\n\t0xfe9c: 0x6c319820, 0xfe9d: 0x6c258620,\n\t0xfea0: 0x6c319a20,\n\t// Block 0x3fb, offset 0xfec0\n\t0xfec0: 0x6c2bdc20, 0xfec1: 0x6c06ce20, 0xfec2: 0x6c093c20, 0xfec3: 0x6c2c1020,\n\t0xfec4: 0x6c02c820, 0xfec5: 0x6c051c20, 0xfec6: 0x6c04f620, 0xfec7: 0x6c319820,\n\t0xfec8: 0x6c319820, 0xfec9: 0x6c056420, 0xfeca: 0x6c04ec20, 0xfecb: 0x6c19b020,\n\t0xfecc: 0x6c10a820, 0xfecd: 0x6c1dac20, 0xfece: 0x6c245a20, 0xfecf: 0x6c15d620,\n\t0xfed0: 0x6c29d420, 0xfed1: 0x6c15d820, 0xfed2: 0x6c15da20, 0xfed3: 0x6c2d5e20,\n\t0xfed4: 0x6c207020, 0xfed5: 0x6c15e420, 0xfed6: 0x6c22ae20, 0xfed7: 0x6c237220,\n\t0xfed8: 0x6c15e820, 0xfed9: 0x6c15ea20, 0xfeda: 0x6c2fc820, 0xfedb: 0x6c174220,\n\t0xfedc: 0x6c15ee20, 0xfedd: 0x6c15f220, 0xfede: 0x6c22f420, 0xfedf: 0x6c15f820,\n\t0xfee0: 0x6c312220, 0xfee1: 0x6c15f020, 0xfee2: 0x6c15f420, 0xfee3: 0x6c15f620,\n\t0xfee4: 0x6c2b0220, 0xfee5: 0x6c1e1420, 0xfee6: 0x6c285620, 0xfee7: 0x43103e20,\n\t0xfee8: 0x6c16de20, 0xfee9: 0x6c16e220, 0xfeea: 0x6c16e820, 0xfeeb: 0x6c16ee20,\n\t0xfeec: 0x6c16f820, 0xfeed: 0x6c179220, 0xfeee: 0x6c169020, 0xfeef: 0x6c18b420,\n\t0xfef0: 0x42c98820, 0xfef1: 0x6c16d020, 0xfef2: 0x6c22f220, 0xfef3: 0x6c249620,\n\t0xfef4: 0x6c16f220, 0xfef5: 0x6c29cc20, 0xfef6: 0x6c163c20, 0xfef7: 0x6c16d620,\n\t0xfef8: 0x6c16d820, 0xfef9: 0x6c16ce20, 0xfefa: 0x6c07f220, 0xfefb: 0x6c250420,\n\t0xfefc: 0x6c254420, 0xfefd: 0x42fb4020, 0xfefe: 0x43079220, 0xfeff: 0x43260820,\n\t// Block 0x3fc, offset 0xff00\n\t0xff00: 0x6c08ee20, 0xff01: 0x6c170420, 0xff02: 0x6c1a9e20, 0xff03: 0x6c16e020,\n\t0xff04: 0x6c262620, 0xff05: 0x6c16f420, 0xff06: 0x6c16ec20, 0xff07: 0x6c251c20,\n\t0xff08: 0x6c16d420, 0xff09: 0x6c15e220, 0xff0a: 0x6c1a9620, 0xff0b: 0x42b8c420,\n\t0xff0c: 0x6c209220, 0xff0d: 0x42dbb420, 0xff0e: 0x6c16ea20, 0xff0f: 0x6c168620,\n\t0xff10: 0x6c271420, 0xff11: 0x6c2ea420, 0xff12: 0x6c2f1420, 0xff13: 0x6c170020,\n\t0xff14: 0x6c31a420, 0xff15: 0x6c164620, 0xff16: 0x6c165620, 0xff17: 0x6c003a20,\n\t0xff18: 0x6c126e20, 0xff19: 0x6c166220, 0xff1a: 0x6c2bc620, 0xff1b: 0x6c1dfe20,\n\t0xff1c: 0x6c207020, 0xff1d: 0x6c0dec20, 0xff1e: 0x6c0e1420, 0xff1f: 0x6c10fa20,\n\t0xff20: 0x6c0fe420, 0xff21: 0x6c161820, 0xff22: 0x6c007620, 0xff23: 0x6c142c20,\n\t0xff24: 0x42f1f620, 0xff25: 0x6c138820, 0xff26: 0x6c131420, 0xff27: 0x6c12c420,\n\t0xff28: 0x6c122e20, 0xff29: 0x6c1ed820, 0xff2a: 0x6c080620, 0xff2b: 0x6c190a20,\n\t0xff2c: 0x6c07aa20, 0xff2d: 0x6c0a9c20, 0xff2e: 0x6c15b620, 0xff2f: 0x43155420,\n\t0xff30: 0x6c082020, 0xff31: 0x6c0dfc20, 0xff32: 0x6c0ef020, 0xff33: 0x6c099820,\n\t0xff34: 0x6c095620, 0xff35: 0x6c161e20, 0xff36: 0x6c162020, 0xff37: 0x6c164020,\n\t0xff38: 0x6c182620, 0xff39: 0x6c185a20, 0xff3a: 0x6c164c20, 0xff3b: 0x6c165820,\n\t0xff3c: 0x6c165a20, 0xff3d: 0x6c165c20, 0xff3e: 0x6c166020, 0xff3f: 0x6c18c020,\n\t// Block 0x3fd, offset 0xff40\n\t0xff40: 0x6c16cc20, 0xff41: 0x6c0a3a20, 0xff42: 0x6c1c6220, 0xff43: 0x6c163a20,\n\t0xff44: 0x6c228020, 0xff45: 0x6c24f620, 0xff46: 0x6c2e7420, 0xff47: 0x6c2ffc20,\n\t0xff48: 0x6c16a620, 0xff49: 0x6c314820, 0xff4a: 0x6c166620, 0xff4b: 0x42cd8c20,\n\t0xff4c: 0x42d6ee20, 0xff4d: 0x6c2cf620, 0xff4e: 0x6c110220, 0xff4f: 0x6c16ba20,\n\t0xff50: 0x6c1dba20, 0xff51: 0x6c110820, 0xff52: 0x6c16bc20, 0xff53: 0x6c16be20,\n\t0xff54: 0x42e91220, 0xff55: 0x42f39420, 0xff56: 0x6c16c220, 0xff57: 0x6c16c420,\n\t0xff58: 0x6c2cdc20, 0xff59: 0x6c16c620, 0xff5a: 0x6c16c820, 0xff5b: 0x43269420,\n\t0xff5c: 0x6c16ae20, 0xff5d: 0x6c16b020, 0xff5e: 0x6c00ac20, 0xff5f: 0x6c16b220,\n\t0xff60: 0x6c16b420, 0xff61: 0x43155420, 0xff62: 0x6c16b620, 0xff63: 0x6c110420,\n\t0xff64: 0x6c110620, 0xff65: 0x42d75c20, 0xff66: 0x6c16c020, 0xff67: 0x6c235e20,\n\t0xff68: 0x6c168a20, 0xff69: 0x6c1a1220, 0xff6a: 0x6c10fa20, 0xff6b: 0x6c169420,\n\t0xff6c: 0x6c169620, 0xff6d: 0x6c169820, 0xff6e: 0x6c238e20, 0xff6f: 0x6c278420,\n\t0xff70: 0x6c27c420, 0xff71: 0x6c169e20, 0xff72: 0x6c16a220, 0xff73: 0x6c2f0420,\n\t0xff74: 0x6c166420, 0xff75: 0x6c168e20, 0xff76: 0x6c255020, 0xff77: 0x6c2d9a20,\n\t0xff78: 0x6c2ecc20, 0xff79: 0x6c1d1a20, 0xff7a: 0x6c163e20, 0xff7b: 0x6c164220,\n\t0xff7c: 0x6c164820, 0xff7d: 0x6c10e820, 0xff7e: 0x6c164a20, 0xff7f: 0x6c207020,\n\t// Block 0x3fe, offset 0xff80\n\t0xff80: 0x6c22e020, 0xff81: 0x6c165220, 0xff82: 0x6c297e20, 0xff83: 0x6c165e20,\n\t0xff84: 0x6c163420, 0xff85: 0x6c1f2a20, 0xff86: 0x6c2e9a20, 0xff87: 0x6c162220,\n\t0xff88: 0x42cef620, 0xff89: 0x6c154020, 0xff8a: 0x6c162420, 0xff8b: 0x6c162620,\n\t0xff8c: 0x6c162820, 0xff8d: 0x6c162a20, 0xff8e: 0x6c162c20, 0xff8f: 0x6c128220,\n\t0xff90: 0x6c168820, 0xff91: 0x6c16fa20, 0xff92: 0x6c1dce20, 0xff93: 0x6c161420,\n\t0xff94: 0x6c166a20, 0xff95: 0x6c1bde20, 0xff96: 0x6c21cc20, 0xff97: 0x6c167820,\n\t0xff98: 0x6c161620, 0xff99: 0x6c1d6020, 0xff9a: 0x6c053820, 0xff9b: 0x6c161820,\n\t0xff9c: 0x6c163020, 0xff9d: 0x6c15fc20, 0xff9e: 0x6c15fe20, 0xff9f: 0x6c160020,\n\t0xffa0: 0x6c006e20, 0xffa1: 0x6c160220, 0xffa2: 0x6c160420, 0xffa3: 0x6c0f7620,\n\t0xffa4: 0x6c160620, 0xffa5: 0x6c160a20, 0xffa6: 0x6c1da420, 0xffa7: 0x6c160c20,\n\t0xffa8: 0x6c160e20, 0xffa9: 0x6c161020, 0xffaa: 0x6c161220, 0xffab: 0x6c106620,\n\t0xffac: 0x6c0f8820, 0xffad: 0x6c193020, 0xffae: 0x6c167220, 0xffaf: 0x42e93020,\n\t0xffb0: 0x6c29ca20, 0xffb1: 0x6c167a20, 0xffb2: 0x6c167c20, 0xffb3: 0x6c167e20,\n\t0xffb4: 0x6c166e20, 0xffb5: 0x6c167020, 0xffb6: 0x6c167620, 0xffb7: 0x6c161a20,\n\t0xffb8: 0x6c02b020, 0xffb9: 0x6c162e20, 0xffba: 0x42e58020, 0xffbb: 0x6c229820,\n\t0xffbc: 0x6c08f220, 0xffbd: 0x6c09c020, 0xffbe: 0x6c0e7a20, 0xffbf: 0x6c086620,\n\t// Block 0x3ff, offset 0xffc0\n\t0xffc0: 0x6c0c3420, 0xffc1: 0x6c0fde20, 0xffc2: 0x6c0dde20, 0xffc3: 0x6c102420,\n\t0xffc4: 0x6c0dd820, 0xffc5: 0x6c105420, 0xffc6: 0x6c140e20, 0xffc7: 0x6c2ce020,\n\t0xffc8: 0x6c070420, 0xffc9: 0x6c071a20, 0xffca: 0x6c05f620, 0xffcb: 0x6c028220,\n\t0xffcc: 0x6c181a20, 0xffcd: 0x42ab8020, 0xffce: 0x43f41c20, 0xffcf: 0x43f41e20,\n\t0xffd0: 0x6c0f0a20, 0xffd1: 0x43f42220, 0xffd2: 0x6c0be420, 0xffd3: 0x43f42620,\n\t0xffd4: 0x43f42820, 0xffd5: 0x42a3bc20, 0xffd6: 0x6c0ea020, 0xffd7: 0x6c012a20,\n\t0xffd8: 0x6c169a20, 0xffd9: 0x6c0b4420, 0xffda: 0x6c0aa220, 0xffdb: 0x6c131a20,\n\t0xffdc: 0x6c153e20, 0xffdd: 0x6c0bf420, 0xffde: 0x6c00ce20, 0xffdf: 0x43f43e20,\n\t0xffe0: 0x430c2420, 0xffe1: 0x43f44220, 0xffe2: 0x6c0a3420, 0xffe3: 0x43f44620,\n\t0xffe4: 0x43f44820, 0xffe5: 0x6c009e20, 0xffe6: 0x6c0fd420, 0xffe7: 0x43f44e20,\n\t0xffe8: 0x43f45020, 0xffe9: 0x43f45220, 0xffea: 0x6c120620, 0xffeb: 0x6c08bc20,\n\t0xffec: 0x6c036620, 0xffed: 0x6c0f3220, 0xffee: 0x4321bc20, 0xffef: 0x6c16a020,\n\t0xfff0: 0x6c12f820, 0xfff1: 0x6c0cd820, 0xfff2: 0x6c14e020, 0xfff3: 0x6c138a20,\n\t0xfff4: 0x6c04c820, 0xfff5: 0x6c121820, 0xfff6: 0x6c02be20, 0xfff7: 0x6c0e1820,\n\t0xfff8: 0x6c038e20, 0xfff9: 0x6c135220, 0xfffa: 0x6c143220, 0xfffb: 0x6c0cec20,\n\t0xfffc: 0x6c1b9c20, 0xfffd: 0x6c022a20, 0xfffe: 0x6c025c20, 0xffff: 0x6c0d3820,\n\t// Block 0x400, offset 0x10000\n\t0x10000: 0x6c0ec020, 0x10001: 0x6c12c020, 0x10002: 0x6c03a620, 0x10003: 0x6c0a2220,\n\t0x10004: 0x6c116220, 0x10005: 0x6c023c20, 0x10006: 0x6c0a2620, 0x10007: 0x6c033220,\n\t0x10008: 0x6c093220, 0x10009: 0x42e45620, 0x1000a: 0x6c0de420, 0x1000b: 0x6c123420,\n\t0x1000c: 0x6c093420, 0x1000d: 0x6c089a20, 0x1000e: 0x6c03ba20, 0x1000f: 0x6c157420,\n\t0x10010: 0x6c0cc420, 0x10011: 0x6c09e220, 0x10012: 0x6c01dc20, 0x10013: 0x6c0f5e20,\n\t0x10014: 0x6c074020, 0x10015: 0x6c108220, 0x10016: 0x6c0c4220, 0x10017: 0x6c16c220,\n\t0x10018: 0x6c270220, 0x10019: 0x6c11f620, 0x1001a: 0x6c0a2c20, 0x1001b: 0x6c093820,\n\t0x1001c: 0x6c09a620, 0x1001d: 0x4304f220, 0x1001e: 0x4304f220, 0x1001f: 0x6c0ea420,\n\t0x10020: 0x6c02cc20, 0x10021: 0x6c08aa20, 0x10022: 0x6c013020, 0x10023: 0x6c04e820,\n\t0x10024: 0x6c12bc20, 0x10025: 0x6c0d3e20, 0x10026: 0x431f6c20, 0x10027: 0x6c009e20,\n\t0x10028: 0x6c10ca20, 0x10029: 0x6c04aa20, 0x1002a: 0x6c12be20, 0x1002b: 0x6c056a20,\n\t0x1002c: 0x4885dc20, 0x1002d: 0x6c036820,\n\t0x10030: 0x6c135c20, 0x10031: 0x6c185420, 0x10032: 0x6c0ca420, 0x10033: 0x429f0020,\n\t0x10034: 0x6c09c420, 0x10035: 0x6c182c20, 0x10036: 0x6c155820, 0x10037: 0x6c094620,\n\t0x10038: 0x6c02be20, 0x10039: 0x42aaaa20, 0x1003a: 0x6c199620, 0x1003b: 0x42abc420,\n\t0x1003c: 0x6c0f0a20, 0x1003d: 0x6c133620, 0x1003e: 0x6c014020, 0x1003f: 0x6c144a20,\n\t// Block 0x401, offset 0x10040\n\t0x10040: 0x6c1b0820, 0x10041: 0x42b65020, 0x10042: 0x42bda420, 0x10043: 0x42bdb220,\n\t0x10044: 0x6c07b020, 0x10045: 0x6c1cb620, 0x10046: 0x6c1d2c20, 0x10047: 0x6c0b2e20,\n\t0x10048: 0x6c154820, 0x10049: 0x6c0d3820, 0x1004a: 0x42c2c020, 0x1004b: 0x6c0ec020,\n\t0x1004c: 0x6c0da620, 0x1004d: 0x6c1e5820, 0x1004e: 0x6c1e2c20, 0x1004f: 0x42c8a420,\n\t0x10050: 0x6c1eca20, 0x10051: 0x6c0be420, 0x10052: 0x6c16e220, 0x10053: 0x6c141020,\n\t0x10054: 0x6c0aee20, 0x10055: 0x6c210220, 0x10056: 0x6c082020, 0x10057: 0x6c162420,\n\t0x10058: 0x42ddb620, 0x10059: 0x6c08d420, 0x1005a: 0x6c033220, 0x1005b: 0x6c109020,\n\t0x1005c: 0x6c093220, 0x1005d: 0x42ef4e20, 0x1005e: 0x6c094e20, 0x1005f: 0x6c11f020,\n\t0x10060: 0x6c0ea020, 0x10061: 0x42e8e220, 0x10062: 0x42ea0c20, 0x10063: 0x6c020820,\n\t0x10064: 0x42ec3a20, 0x10065: 0x6c243820, 0x10066: 0x6c012a20, 0x10067: 0x6c0bf220,\n\t0x10068: 0x6c0eec20, 0x10069: 0x42ee9420, 0x1006a: 0x6c0e7e20, 0x1006b: 0x42f19820,\n\t0x1006c: 0x42f56220, 0x1006d: 0x6c0c4220, 0x1006e: 0x42f8f620, 0x1006f: 0x6c26c220,\n\t0x10070: 0x6c16c220, 0x10071: 0x42fe7c20, 0x10072: 0x6c093820, 0x10073: 0x6c070220,\n\t0x10074: 0x6c01ec20, 0x10075: 0x430ef220, 0x10076: 0x6c2aee20, 0x10077: 0x6c132020,\n\t0x10078: 0x6c08aa20, 0x10079: 0x6c0ed820, 0x1007a: 0x6c0a3420, 0x1007b: 0x6c0c0220,\n\t0x1007c: 0x6c013020, 0x1007d: 0x6c0dec20, 0x1007e: 0x6c154e20, 0x1007f: 0x6c04e820,\n\t// Block 0x402, offset 0x10080\n\t0x10080: 0x6c1ede20, 0x10081: 0x6c0d3e20, 0x10082: 0x6c155020, 0x10083: 0x6c2d5020,\n\t0x10084: 0x43233220, 0x10085: 0x4324ec20, 0x10086: 0x432cf820, 0x10087: 0x6c10ca20,\n\t0x10088: 0x6c153e20, 0x10089: 0x432fb620, 0x1008a: 0x6c04aa20, 0x1008b: 0x43301620,\n\t0x1008c: 0x6c12be20, 0x1008d: 0x43362420, 0x1008e: 0x6c319820, 0x1008f: 0x48509420,\n\t0x10090: 0x48508820, 0x10091: 0x4867aa20, 0x10092: 0x44773a20, 0x10093: 0x44803020,\n\t0x10094: 0x44807220, 0x10095: 0x48a49220, 0x10096: 0x48b9a020, 0x10097: 0x48fda620,\n\t0x10098: 0x433e8620, 0x10099: 0x433f1c20,\n\t// Block 0x403, offset 0x100c0\n\t0x100c1: 0x4002ba20, 0x100c2: 0x4003e020, 0x100c3: 0x4004ea20,\n\t0x100c4: 0x4027de20, 0x100c5: 0x4004ec20, 0x100c6: 0x4004e620, 0x100c7: 0x4003d220,\n\t0x100c8: 0x4003f420, 0x100c9: 0x4003f620, 0x100ca: 0x4004d820, 0x100cb: 0x40093820,\n\t0x100cc: 0x40024020, 0x100cd: 0x40021a20, 0x100ce: 0x4002e420, 0x100cf: 0x4004e220,\n\t0x100d0: 0x4029cc20, 0x100d1: 0x4029ce20, 0x100d2: 0x4029d020, 0x100d3: 0x4029d220,\n\t0x100d4: 0x4029d420, 0x100d5: 0x4029d620, 0x100d6: 0x4029d820, 0x100d7: 0x4029da20,\n\t0x100d8: 0x4029dc20, 0x100d9: 0x4029de20, 0x100da: 0x40026c20, 0x100db: 0x40026220,\n\t0x100dc: 0x40094020, 0x100dd: 0x40094220, 0x100de: 0x40094420, 0x100df: 0x4002c420,\n\t0x100e0: 0x4004d620, 0x100e1: 0x002bde88, 0x100e2: 0x002c0a88, 0x100e3: 0x002c3a88,\n\t0x100e4: 0x002c6288, 0x100e5: 0x002c9888, 0x100e6: 0x002d0888, 0x100e7: 0x002d2288,\n\t0x100e8: 0x002d6888, 0x100e9: 0x002d9a88, 0x100ea: 0x002dcc88, 0x100eb: 0x002dfe88,\n\t0x100ec: 0x002e2288, 0x100ed: 0x002e8288, 0x100ee: 0x002e9e88, 0x100ef: 0x002ee288,\n\t0x100f0: 0x002f2c88, 0x100f1: 0x002f5688, 0x100f2: 0x002f7a88, 0x100f3: 0x002fe688,\n\t0x100f4: 0x00302c88, 0x100f5: 0x00306c88, 0x100f6: 0x0030be88, 0x100f7: 0x0030e288,\n\t0x100f8: 0x0030f688, 0x100f9: 0x00310088, 0x100fa: 0x00312a88, 0x100fb: 0x4003f820,\n\t0x100fc: 0x4003d220, 0x100fd: 0x4003fa20, 0x100fe: 0x40062420, 0x100ff: 0x40021620,\n\t// Block 0x404, offset 0x10100\n\t0x10100: 0x40061e20, 0x10101: 0x402bde20, 0x10102: 0x402c0a20, 0x10103: 0x402c3a20,\n\t0x10104: 0x402c6220, 0x10105: 0x402c9820, 0x10106: 0x402d0820, 0x10107: 0x402d2220,\n\t0x10108: 0x402d6820, 0x10109: 0x402d9a20, 0x1010a: 0x402dcc20, 0x1010b: 0x402dfe20,\n\t0x1010c: 0x402e2220, 0x1010d: 0x402e8220, 0x1010e: 0x402e9e20, 0x1010f: 0x402ee220,\n\t0x10110: 0x402f2c20, 0x10111: 0x402f5620, 0x10112: 0x402f7a20, 0x10113: 0x402fe620,\n\t0x10114: 0x40302c20, 0x10115: 0x40306c20, 0x10116: 0x4030be20, 0x10117: 0x4030e220,\n\t0x10118: 0x4030f620, 0x10119: 0x40310020, 0x1011a: 0x40312a20, 0x1011b: 0x4003fc20,\n\t0x1011c: 0x40094820, 0x1011d: 0x4003fe20, 0x1011e: 0x40094c20, 0x1011f: 0x00041883,\n\t0x10120: 0x00041a83, 0x10121: 0x40030420, 0x10122: 0x4004a420, 0x10123: 0x4004a620,\n\t0x10124: 0x40025c20, 0x10125: 0x00023e92, 0x10126: 0xca3c3601, 0x10127: 0xc64d3281,\n\t0x10128: 0xc71d3281, 0x10129: 0xc7dd3601, 0x1012a: 0xc8c43281, 0x1012b: 0xc9793281,\n\t0x1012c: 0xc6e83281, 0x1012d: 0xc8af3281, 0x1012e: 0xca1d3281, 0x1012f: 0xc8483601,\n\t0x10130: 0x0027d692, 0x10131: 0xc6533281, 0x10132: 0xc7233281, 0x10133: 0xc7f23601,\n\t0x10134: 0xc8ca3281, 0x10135: 0xc97f3281, 0x10136: 0xc6663281, 0x10137: 0xc7363601,\n\t0x10138: 0xc8143601, 0x10139: 0xc8dd3281, 0x1013a: 0xc9923601, 0x1013b: 0xc67f3601,\n\t0x1013c: 0xc7583601, 0x1013d: 0xc8363601, 0x1013e: 0xc8f63601, 0x1013f: 0xc9af3601,\n\t// Block 0x405, offset 0x10140\n\t0x10140: 0xc69c3601, 0x10141: 0xc7753601, 0x10142: 0xc85d3601, 0x10143: 0xc9133601,\n\t0x10144: 0xc9d13601, 0x10145: 0xc6ac3281, 0x10146: 0xc7853281, 0x10147: 0xc8703281,\n\t0x10148: 0xc9233281, 0x10149: 0xc9e13281, 0x1014a: 0xc6ca3601, 0x1014b: 0xc7a33601,\n\t0x1014c: 0xc88e3601, 0x1014d: 0xc9413601, 0x1014e: 0xc9ff3601, 0x1014f: 0xc6e23281,\n\t0x10150: 0xc7bb3281, 0x10151: 0xc8a93281, 0x10152: 0xc9593281, 0x10153: 0xca173281,\n\t0x10154: 0xc6ee3281, 0x10155: 0xc8b53281, 0x10156: 0xca233281, 0x10157: 0xc6f73281,\n\t0x10158: 0xc7c43281, 0x10159: 0xc8be3281, 0x1015a: 0xc9623281, 0x1015b: 0xca2c3281,\n\t0x1015c: 0xc7113601, 0x1015d: 0xca453ae1, 0x1015e: 0xa0012812, 0x1015f: 0xa0012912,\n\t0x10160: 0x4063a620, 0x10161: 0x4062ac20, 0x10162: 0x4062ae20, 0x10163: 0x40646820,\n\t0x10164: 0x4062b020, 0x10165: 0x40646c20, 0x10166: 0x40646e20, 0x10167: 0x4062b220,\n\t0x10168: 0x4062b420, 0x10169: 0x4062b620, 0x1016a: 0x40647420, 0x1016b: 0x40647620,\n\t0x1016c: 0x40647820, 0x1016d: 0x40647a20, 0x1016e: 0x40647c20, 0x1016f: 0x40647e20,\n\t0x10170: 0x4062e020, 0x10171: 0x4062b820, 0x10172: 0x4062ba20, 0x10173: 0x4062bc20,\n\t0x10174: 0x4062ee20, 0x10175: 0x4062be20, 0x10176: 0x4062c020, 0x10177: 0x4062c220,\n\t0x10178: 0x4062c420, 0x10179: 0x4062c620, 0x1017a: 0x4062c820, 0x1017b: 0x4062ca20,\n\t0x1017c: 0x4062cc20, 0x1017d: 0x4062ce20, 0x1017e: 0x4062d020,\n\t// Block 0x406, offset 0x10180\n\t0x10182: 0x4063a820, 0x10183: 0x4063aa20,\n\t0x10184: 0x4063ac20, 0x10185: 0x4063ae20, 0x10186: 0x4063b020, 0x10187: 0x4063b220,\n\t0x1018a: 0x4063b420, 0x1018b: 0x4063b620,\n\t0x1018c: 0x4063b820, 0x1018d: 0x4063ba20, 0x1018e: 0x4063bc20, 0x1018f: 0x4063be20,\n\t0x10192: 0x4063c020, 0x10193: 0x4063c220,\n\t0x10194: 0x4063c420, 0x10195: 0x4063c620, 0x10196: 0x4063c820, 0x10197: 0x4063ca20,\n\t0x1019a: 0x4063cc20, 0x1019b: 0x4063ce20,\n\t0x1019c: 0x4063d020,\n\t0x101a0: 0x4027dc20, 0x101a1: 0x4027e020, 0x101a2: 0x40094620, 0x101a3: 0x40021220,\n\t0x101a4: 0x40094a20, 0x101a5: 0x4027e220, 0x101a6: 0x40280820,\n\t0x101a8: 0x400d3220, 0x101a9: 0x40084420, 0x101aa: 0x40084820, 0x101ab: 0x40084620,\n\t0x101ac: 0x40084a20, 0x101ad: 0x400e6e20, 0x101ae: 0x400ec420,\n\t0x101b9: 0xa0000000, 0x101ba: 0xa0000000, 0x101bb: 0xa0000000,\n\t0x101bc: 0x4027ae20, 0x101bd: 0x4027b020, 0x101be: 0x00000285, 0x101bf: 0x2bfffe85,\n\t// Block 0x407, offset 0x101c0\n\t0x101c0: 0xe0003d0b, 0x101c1: 0xe0003cf3, 0x101c2: 0xe0003cf7, 0x101c3: 0xe0003cff,\n\t0x101c4: 0xe0003d0f, 0x101c5: 0xe0003d03, 0x101c6: 0xe0003d13, 0x101c7: 0xe0003cfb,\n\t0x101c8: 0xe0003d07,\n\t0x101d0: 0x02bf2e86, 0x101d1: 0x02a7de86,\n\t// Block 0x408, offset 0x10200\n\t0x10200: 0x429c7a20, 0x10201: 0x6c036a20, 0x10202: 0x429c8220, 0x10203: 0x48024420,\n\t0x10204: 0x429ec020, 0x10205: 0x6c12f820, 0x10206: 0x429f7620, 0x10207: 0x42a00420,\n\t0x10208: 0x42a0f420, 0x10209: 0x6c124e20, 0x1020a: 0x6c0cd820, 0x1020b: 0x6c0d3420,\n\t0x1020c: 0x44693c20, 0x1020d: 0x480c7420, 0x1020e: 0x6c14e020, 0x1020f: 0x6c182020,\n\t0x10210: 0x42a2c820, 0x10211: 0x6c050a20, 0x10212: 0x480a3820, 0x10213: 0x44697220,\n\t0x10214: 0x42a2ce20, 0x10215: 0x6c07a420, 0x10216: 0x480a9620, 0x10217: 0x6c0ada20,\n\t0x10218: 0x6c184020, 0x10219: 0x429d9820, 0x1021a: 0x6c0fea20, 0x1021b: 0x6c185420,\n\t0x1021c: 0x4923be20, 0x1021d: 0x6c186820, 0x1021e: 0x6c0b6220, 0x1021f: 0x4469be20,\n\t0x10220: 0x6c073a20, 0x10221: 0x42a48c20, 0x10222: 0x6c02bc20, 0x10223: 0x42a4ee20,\n\t0x10224: 0x446a2a20, 0x10225: 0x6c155820, 0x10226: 0x6c138a20, 0x10227: 0x6c04c820,\n\t0x10228: 0x6c094620, 0x10229: 0x6c13ba20, 0x1022a: 0x6c18c620, 0x1022b: 0x6c142c20,\n\t0x1022c: 0x6c18e820, 0x1022d: 0x6c121820, 0x1022e: 0x6c118020, 0x1022f: 0x6c0d4820,\n\t0x10230: 0x42a6fa20, 0x10231: 0x6c047c20, 0x10232: 0x6c047c20, 0x10233: 0x6c047c20,\n\t0x10234: 0x48145820, 0x10235: 0x6c023e20, 0x10236: 0x6c042020, 0x10237: 0x6c191020,\n\t0x10238: 0x4816c620, 0x10239: 0x6c047e20, 0x1023a: 0x6c090020, 0x1023b: 0x42a80c20,\n\t0x1023c: 0x42a93c20, 0x1023d: 0x6c042220, 0x1023e: 0x6c0f4020, 0x1023f: 0x6c098c20,\n\t// Block 0x409, offset 0x10240\n\t0x10240: 0x6c195220, 0x10241: 0x42a9ec20, 0x10242: 0x6c0ff020, 0x10243: 0x6c055c20,\n\t0x10244: 0x6c198220, 0x10245: 0x6c0c9e20, 0x10246: 0x6c0c9e20, 0x10247: 0x6c199620,\n\t0x10248: 0x6c040020, 0x10249: 0x42ab6620, 0x1024a: 0x42ab8420, 0x1024b: 0x6c1a2620,\n\t0x1024c: 0x6c0e1820, 0x1024d: 0x42ae2e20, 0x1024e: 0x42aca220, 0x1024f: 0x6c133420,\n\t0x10250: 0x6c0c3420, 0x10251: 0x6c0ce420, 0x10252: 0x6c0ade20, 0x10253: 0x6c0b0220,\n\t0x10254: 0x42b01a20, 0x10255: 0x6c056220, 0x10256: 0x42b06420, 0x10257: 0x6c13be20,\n\t0x10258: 0x42b15820, 0x10259: 0x4829c820, 0x1025a: 0x6c116c20, 0x1025b: 0x6c0f2620,\n\t0x1025c: 0x42b20c20, 0x1025d: 0x6c0d7620, 0x1025e: 0x6c14b820, 0x1025f: 0x6c1ace20,\n\t0x10260: 0x482d5020, 0x10261: 0x482dd420, 0x10262: 0x42b3d820, 0x10263: 0x42b43620,\n\t0x10264: 0x42b44e20, 0x10265: 0x42b3b020, 0x10266: 0x6c12cc20, 0x10267: 0x446ddc20,\n\t0x10268: 0x446df820, 0x10269: 0x42b61020, 0x1026a: 0x6c1b3420, 0x1026b: 0x6c1b3420,\n\t0x1026c: 0x48339020, 0x1026d: 0x6c1b5c20, 0x1026e: 0x42b7b020, 0x1026f: 0x6c10fa20,\n\t0x10270: 0x6c1b7620, 0x10271: 0x48363020, 0x10272: 0x6c097e20, 0x10273: 0x6c0a6220,\n\t0x10274: 0x6c101820, 0x10275: 0x6c1b8420, 0x10276: 0x446f0220, 0x10277: 0x6c0fc220,\n\t0x10278: 0x6c1b9c20, 0x10279: 0x42b98020, 0x1027a: 0x42b91a20, 0x1027b: 0x483bc820,\n\t0x1027c: 0x42ba8620, 0x1027d: 0x483bcc20, 0x1027e: 0x42badc20, 0x1027f: 0x42bad620,\n\t// Block 0x40a, offset 0x10280\n\t0x10280: 0x42baf820, 0x10281: 0x6c0a1420, 0x10282: 0x42bbc420, 0x10283: 0x44705e20,\n\t0x10284: 0x6c0e0220, 0x10285: 0x42bc5020, 0x10286: 0x6c140620, 0x10287: 0x42bcd220,\n\t0x10288: 0x4470c420, 0x10289: 0x48430620, 0x1028a: 0x4470f820, 0x1028b: 0x42bd6020,\n\t0x1028c: 0x42bd6620, 0x1028d: 0x6c0a2820, 0x1028e: 0x6c16de20, 0x1028f: 0x49472420,\n\t0x10290: 0x6c1c6e20, 0x10291: 0x48466220, 0x10292: 0x48466220, 0x10293: 0x6c286820,\n\t0x10294: 0x42be4420, 0x10295: 0x42be4420, 0x10296: 0x44718e20, 0x10297: 0x48657020,\n\t0x10298: 0x48c3b420, 0x10299: 0x6c056620, 0x1029a: 0x6c0ebc20, 0x1029b: 0x4471c620,\n\t0x1029c: 0x42bf3420, 0x1029d: 0x6c10f020, 0x1029e: 0x6c088020, 0x1029f: 0x42bff220,\n\t0x102a0: 0x6c1d0220, 0x102a1: 0x44727420, 0x102a2: 0x44723820, 0x102a3: 0x6c022a20,\n\t0x102a4: 0x484da820, 0x102a5: 0x6c109620, 0x102a6: 0x6c08cc20, 0x102a7: 0x6c06c020,\n\t0x102a8: 0x6c0b2e20, 0x102a9: 0x6c06c020, 0x102aa: 0x42c2f420, 0x102ab: 0x6c0d3820,\n\t0x102ac: 0x6c05da20, 0x102ad: 0x6c133820, 0x102ae: 0x42c35e20, 0x102af: 0x42c3bc20,\n\t0x102b0: 0x6c0ec020, 0x102b1: 0x6c1dac20, 0x102b2: 0x6c0bdc20, 0x102b3: 0x6c1dc620,\n\t0x102b4: 0x42c4ba20, 0x102b5: 0x6c13cc20, 0x102b6: 0x6c1df220, 0x102b7: 0x6c1e2620,\n\t0x102b8: 0x48561820, 0x102b9: 0x6c120820, 0x102ba: 0x42c5f820, 0x102bb: 0x6c092c20,\n\t0x102bc: 0x6c0cf620, 0x102bd: 0x42c7c820, 0x102be: 0x4857e220, 0x102bf: 0x42c84420,\n\t// Block 0x40b, offset 0x102c0\n\t0x102c0: 0x42c78a20, 0x102c1: 0x6c014820, 0x102c2: 0x44745c20, 0x102c3: 0x6c145420,\n\t0x102c4: 0x42c8fc20, 0x102c5: 0x42c93a20, 0x102c6: 0x42c8ee20, 0x102c7: 0x4474d820,\n\t0x102c8: 0x6c12c020, 0x102c9: 0x6c057620, 0x102ca: 0x48601420, 0x102cb: 0x42cbc620,\n\t0x102cc: 0x6c0a2e20, 0x102cd: 0x6c1f1420, 0x102ce: 0x44763220, 0x102cf: 0x6c0a2220,\n\t0x102d0: 0x44761020, 0x102d1: 0x4475c820, 0x102d2: 0x6c141620, 0x102d3: 0x6c183c20,\n\t0x102d4: 0x6c07a620, 0x102d5: 0x42cd3820, 0x102d6: 0x6c27ec20, 0x102d7: 0x4487b220,\n\t0x102d8: 0x6c16e220, 0x102d9: 0x6c141020, 0x102da: 0x42ce4220, 0x102db: 0x6c1f7020,\n\t0x102dc: 0x6c094a20, 0x102dd: 0x48678620, 0x102de: 0x44769220, 0x102df: 0x42cff420,\n\t0x102e0: 0x6c1f8c20, 0x102e1: 0x42d0a420, 0x102e2: 0x6c116220, 0x102e3: 0x4868da20,\n\t0x102e4: 0x42d11c20, 0x102e5: 0x42d03e20, 0x102e6: 0x42d22820, 0x102e7: 0x44773a20,\n\t0x102e8: 0x42d28420, 0x102e9: 0x42d34620, 0x102ea: 0x42d3d420, 0x102eb: 0x42d55020,\n\t0x102ec: 0x486d4620, 0x102ed: 0x6c051e20, 0x102ee: 0x44783020, 0x102ef: 0x6c08d220,\n\t0x102f0: 0x48714e20, 0x102f1: 0x6c20f820, 0x102f2: 0x44789c20, 0x102f3: 0x42d6e420,\n\t0x102f4: 0x42d73e20, 0x102f5: 0x6c082020, 0x102f6: 0x6c028c20, 0x102f7: 0x48751a20,\n\t0x102f8: 0x483a1620, 0x102f9: 0x4875f420, 0x102fa: 0x6c11ec20, 0x102fb: 0x48797820,\n\t0x102fc: 0x6c014c20, 0x102fd: 0x42d99a20, 0x102fe: 0x42d8ce20, 0x102ff: 0x42da2c20,\n\t// Block 0x40c, offset 0x10300\n\t0x10300: 0x6c113620, 0x10301: 0x6c023c20, 0x10302: 0x6c162420, 0x10303: 0x6c06dc20,\n\t0x10304: 0x6c0b3a20, 0x10305: 0x6c21a620, 0x10306: 0x487a3c20, 0x10307: 0x42da6820,\n\t0x10308: 0x6c06de20, 0x10309: 0x6c21d220, 0x1030a: 0x447a6620, 0x1030b: 0x6c08d420,\n\t0x1030c: 0x42dd8e20, 0x1030d: 0x487da220, 0x1030e: 0x6c21a820, 0x1030f: 0x6c0ec820,\n\t0x10310: 0x487ebc20, 0x10311: 0x487f1c20, 0x10312: 0x6c226020, 0x10313: 0x42e07220,\n\t0x10314: 0x6c109020, 0x10315: 0x6c228220, 0x10316: 0x447b2c20, 0x10317: 0x42e09420,\n\t0x10318: 0x6c07bc20, 0x10319: 0x42e0ee20, 0x1031a: 0x6c0e2820, 0x1031b: 0x480a4a20,\n\t0x1031c: 0x42e28a20, 0x1031d: 0x4884c620, 0x1031e: 0x42e33820, 0x1031f: 0x48875620,\n\t0x10320: 0x6c22f620, 0x10321: 0x6c094e20, 0x10322: 0x42e4a020, 0x10323: 0x488c1020,\n\t0x10324: 0x6c07c020, 0x10325: 0x42e52a20, 0x10326: 0x488e6a20, 0x10327: 0x48902820,\n\t0x10328: 0x6c236220, 0x10329: 0x6c018420, 0x1032a: 0x447d5820, 0x1032b: 0x42e74a20,\n\t0x1032c: 0x447d7020, 0x1032d: 0x447d7020, 0x1032e: 0x42e88e20, 0x1032f: 0x6c238c20,\n\t0x10330: 0x42e8e220, 0x10331: 0x42e90a20, 0x10332: 0x6c23a020, 0x10333: 0x447e3620,\n\t0x10334: 0x42ea4820, 0x10335: 0x48986c20, 0x10336: 0x42ea7c20, 0x10337: 0x48992420,\n\t0x10338: 0x6c007620, 0x10339: 0x48433e20, 0x1033a: 0x42ec2020, 0x1033b: 0x489f4220,\n\t0x1033c: 0x489f7020, 0x1033d: 0x48a08820, 0x1033e: 0x447ff820, 0x1033f: 0x44801020,\n\t// Block 0x40d, offset 0x10340\n\t0x10340: 0x6c0eec20, 0x10341: 0x48a1e620, 0x10342: 0x48a1e420, 0x10343: 0x48a23220,\n\t0x10344: 0x48a26620, 0x10345: 0x6c24a820, 0x10346: 0x6c0b4220, 0x10347: 0x6c0b4220,\n\t0x10348: 0x42ee9420, 0x10349: 0x44807220, 0x1034a: 0x6c24c820, 0x1034b: 0x44808c20,\n\t0x1034c: 0x44812c20, 0x1034d: 0x48a83a20, 0x1034e: 0x42f09c20, 0x1034f: 0x6c250420,\n\t0x10350: 0x42f19820, 0x10351: 0x4481c620, 0x10352: 0x48ac4c20, 0x10353: 0x6c0cc420,\n\t0x10354: 0x48ad3420, 0x10355: 0x48ad8a20, 0x10356: 0x6c131a20, 0x10357: 0x42f3d620,\n\t0x10358: 0x44825e20, 0x10359: 0x6c074020, 0x1035a: 0x42f49420, 0x1035b: 0x6c01ac20,\n\t0x1035c: 0x48b2f820, 0x1035d: 0x48b54e20, 0x1035e: 0x48b54e20, 0x1035f: 0x42f5dc20,\n\t0x10360: 0x44840420, 0x10361: 0x48b75620, 0x10362: 0x6c261820, 0x10363: 0x6c0e6a20,\n\t0x10364: 0x44844e20, 0x10365: 0x48b90020, 0x10366: 0x6c268420, 0x10367: 0x44854020,\n\t0x10368: 0x42f9d020, 0x10369: 0x42f9c620, 0x1036a: 0x6c03c020, 0x1036b: 0x48bf0c20,\n\t0x1036c: 0x6c26bc20, 0x1036d: 0x44860220, 0x1036e: 0x6c26d220, 0x1036f: 0x42fc0420,\n\t0x10370: 0x42fc8a20, 0x10371: 0x44866820, 0x10372: 0x48c45020, 0x10373: 0x48c48e20,\n\t0x10374: 0x4486b220, 0x10375: 0x48c5b220, 0x10376: 0x42fef420, 0x10377: 0x48c67c20,\n\t0x10378: 0x42ff2a20, 0x10379: 0x42fff420, 0x1037a: 0x6c093820, 0x1037b: 0x48c9b420,\n\t0x1037c: 0x48ca4620, 0x1037d: 0x4300c020, 0x1037e: 0x48cb5020, 0x1037f: 0x6c27d620,\n\t// Block 0x40e, offset 0x10380\n\t0x10380: 0x4866be20, 0x10381: 0x4487aa20, 0x10382: 0x6c009220, 0x10383: 0x43020620,\n\t0x10384: 0x44881620, 0x10385: 0x6c281420, 0x10386: 0x42b56a20, 0x10387: 0x48cf4e20,\n\t0x10388: 0x48cf6a20, 0x10389: 0x48672620, 0x1038a: 0x48673820, 0x1038b: 0x6c286820,\n\t0x1038c: 0x43040820, 0x1038d: 0x6c08ea20, 0x1038e: 0x4488d620, 0x1038f: 0x43052220,\n\t0x10390: 0x6c00a420, 0x10391: 0x6c091e20, 0x10392: 0x42a56620, 0x10393: 0x6c01e420,\n\t0x10394: 0x6c13e220, 0x10395: 0x6c020c20, 0x10396: 0x6c050020, 0x10397: 0x48d67820,\n\t0x10398: 0x6c095620, 0x10399: 0x43063a20, 0x1039a: 0x4306c620, 0x1039b: 0x43075a20,\n\t0x1039c: 0x6c28f220, 0x1039d: 0x6c292820, 0x1039e: 0x4307ce20, 0x1039f: 0x6c0ea420,\n\t0x103a0: 0x4306a620, 0x103a1: 0x6c03f820, 0x103a2: 0x6c04e220, 0x103a3: 0x6c07cc20,\n\t0x103a4: 0x48d86c20, 0x103a5: 0x48dad620, 0x103a6: 0x48d9aa20, 0x103a7: 0x448a5620,\n\t0x103a8: 0x4309e220, 0x103a9: 0x4309e620, 0x103aa: 0x430a2c20, 0x103ab: 0x48e79420,\n\t0x103ac: 0x430ac820, 0x103ad: 0x48de5820, 0x103ae: 0x448aba20, 0x103af: 0x448ac220,\n\t0x103b0: 0x48df6220, 0x103b1: 0x48e1a420, 0x103b2: 0x448ad620, 0x103b3: 0x6c041420,\n\t0x103b4: 0x6c163c20, 0x103b5: 0x6c29de20, 0x103b6: 0x430cd220, 0x103b7: 0x6c29e620,\n\t0x103b8: 0x430d1020, 0x103b9: 0x430e1c20, 0x103ba: 0x430dc420, 0x103bb: 0x430ef220,\n\t0x103bc: 0x430e5020, 0x103bd: 0x430ed620, 0x103be: 0x430f0c20, 0x103bf: 0x448bae20,\n\t// Block 0x40f, offset 0x103c0\n\t0x103c0: 0x430fc220, 0x103c1: 0x43100220, 0x103c2: 0x448bf220, 0x103c3: 0x4310c020,\n\t0x103c4: 0x6c008220, 0x103c5: 0x48ecce20, 0x103c6: 0x4311ae20, 0x103c7: 0x4311bc20,\n\t0x103c8: 0x448c6a20, 0x103c9: 0x4311f420, 0x103ca: 0x44697620, 0x103cb: 0x48f15c20,\n\t0x103cc: 0x48f2cc20, 0x103cd: 0x448d7c20, 0x103ce: 0x448d8e20, 0x103cf: 0x6c0bfe20,\n\t0x103d0: 0x6c154e20, 0x103d1: 0x6c1ede20, 0x103d2: 0x6c2be420, 0x103d3: 0x48f95020,\n\t0x103d4: 0x6c035620, 0x103d5: 0x6c2c1220, 0x103d6: 0x431a3620, 0x103d7: 0x6c03ca20,\n\t0x103d8: 0x48fe5e20, 0x103d9: 0x48100820, 0x103da: 0x6c2c5420, 0x103db: 0x431b7820,\n\t0x103dc: 0x431be020, 0x103dd: 0x4811bc20, 0x103de: 0x431da820, 0x103df: 0x6c155020,\n\t0x103e0: 0x490ba420, 0x103e1: 0x490bda20, 0x103e2: 0x43212820, 0x103e3: 0x4321e220,\n\t0x103e4: 0x43222220, 0x103e5: 0x490e5c20, 0x103e6: 0x43223620, 0x103e7: 0x43247020,\n\t0x103e8: 0x4325ae20, 0x103e9: 0x4325b020, 0x103ea: 0x4324f820, 0x103eb: 0x4327f220,\n\t0x103ec: 0x43282a20, 0x103ed: 0x4917f420, 0x103ee: 0x6c024a20, 0x103ef: 0x44932a20,\n\t0x103f0: 0x432b6e20, 0x103f1: 0x491aee20, 0x103f2: 0x4493cc20, 0x103f3: 0x432d8620,\n\t0x103f4: 0x42bb6420, 0x103f5: 0x432e4620, 0x103f6: 0x49228a20, 0x103f7: 0x49243420,\n\t0x103f8: 0x4494dc20, 0x103f9: 0x4494ec20, 0x103fa: 0x432fc020, 0x103fb: 0x49281420,\n\t0x103fc: 0x44956420, 0x103fd: 0x49292c20, 0x103fe: 0x43301620, 0x103ff: 0x43301620,\n\t// Block 0x410, offset 0x10400\n\t0x10400: 0x43305220, 0x10401: 0x492b6c20, 0x10402: 0x6c03d020, 0x10403: 0x44966620,\n\t0x10404: 0x43325220, 0x10405: 0x43334e20, 0x10406: 0x43338420, 0x10407: 0x4333fc20,\n\t0x10408: 0x44979c20, 0x10409: 0x49366020, 0x1040a: 0x43362420, 0x1040b: 0x43388020,\n\t0x1040c: 0x4339fa20, 0x1040d: 0x44999c20, 0x1040e: 0x4499da20, 0x1040f: 0x433ace20,\n\t0x10410: 0x49419c20, 0x10411: 0x4499f020, 0x10412: 0x49420a20, 0x10413: 0x49441c20,\n\t0x10414: 0x49452220, 0x10415: 0x6c145a20, 0x10416: 0x449aac20, 0x10417: 0x6c316420,\n\t0x10418: 0x433dfc20, 0x10419: 0x433e0a20, 0x1041a: 0x433e1e20, 0x1041b: 0x433e2c20,\n\t0x1041c: 0x6c125e20, 0x1041d: 0x494c0020,\n\t// Block 0x411, offset 0x10440\n\t0x10440: 0xe00014bd, 0x10441: 0x0033b483, 0x10442: 0x00339688, 0x10443: 0x0033a288,\n\t0x10444: 0x0033c288, 0x10445: 0x0033fc88, 0x10446: 0xca490071, 0x10447: 0x00343688,\n\t0x10448: 0x00344688, 0x10449: 0x00349a88, 0x1044a: 0x0034e488, 0x1044b: 0x00356288,\n\t0x1044c: 0x00356a88, 0x1044d: 0xe00014cf, 0x1044e: 0x00357a88, 0x1044f: 0x00365488,\n\t0x10450: 0xc0090041, 0x10451: 0x00335288, 0x10452: 0x00335a88, 0x10453: 0xc0130092,\n\t0x10454: 0x00338a88, 0x10455: 0xc34c0041, 0x10456: 0xc01c0071, 0x10457: 0xc0200071,\n\t0x10458: 0xc0250041, 0x10459: 0x00343e88, 0x1045a: 0xc0370092, 0x1045b: 0x00348488,\n\t0x1045c: 0x0034a888, 0x1045d: 0x0034ba88, 0x1045e: 0xc02e0071, 0x1045f: 0x00350e88,\n\t0x10460: 0x00352888, 0x10461: 0x00353a88, 0x10462: 0x00354c88, 0x10463: 0xc03e00f1,\n\t0x10464: 0x0035ac88, 0x10465: 0x0035b488, 0x10466: 0x00360288, 0x10467: 0xc0440071,\n\t0x10468: 0x00365c88, 0x10469: 0x00366688, 0x1046a: 0x00367488, 0x1046b: 0xc0480071,\n\t0x1046c: 0x00368e88, 0x1046d: 0xc04c0071, 0x1046e: 0x0036b888, 0x1046f: 0x0036c488,\n\t0x10470: 0xc0060041, 0x10471: 0x40335220, 0x10472: 0x40335a20, 0x10473: 0xc0100092,\n\t0x10474: 0x40338a20, 0x10475: 0xc3490041, 0x10476: 0xc01a0071, 0x10477: 0xc01e0071,\n\t0x10478: 0xc0220041, 0x10479: 0x40343e20, 0x1047a: 0xc0340092, 0x1047b: 0x40348420,\n\t0x1047c: 0x4034a820, 0x1047d: 0x4034ba20, 0x1047e: 0xc02c0071, 0x1047f: 0x40350e20,\n\t// Block 0x412, offset 0x10480\n\t0x10480: 0x40352820, 0x10481: 0x40353a20, 0x10482: 0x40354c20, 0x10483: 0xc03a00f1,\n\t0x10484: 0x4035ac20, 0x10485: 0x4035b420, 0x10486: 0x40360220, 0x10487: 0xc0420071,\n\t0x10488: 0x40365c20, 0x10489: 0x40366620, 0x1048a: 0x40367420, 0x1048b: 0xc0460071,\n\t0x1048c: 0x40368e20, 0x1048d: 0xc04a0071, 0x1048e: 0x4036b820, 0x1048f: 0x4036c420,\n\t0x10490: 0xe00014ba, 0x10491: 0x4033b420, 0x10492: 0x40339620, 0x10493: 0x4033a220,\n\t0x10494: 0x4033c220, 0x10495: 0x4033fc20, 0x10496: 0xca470071, 0x10497: 0x40343620,\n\t0x10498: 0x40344620, 0x10499: 0x40349a20, 0x1049a: 0x4034e420, 0x1049b: 0x40356220,\n\t0x1049c: 0x40356a20, 0x1049d: 0xe00014cc, 0x1049e: 0x40357a20, 0x1049f: 0x40365420,\n\t0x104a0: 0x0035e088, 0x104a1: 0x4035e020, 0x104a2: 0x00369e88, 0x104a3: 0x40369e20,\n\t0x104a4: 0x0036ce88, 0x104a5: 0x4036ce20, 0x104a6: 0x0036d688, 0x104a7: 0x4036d620,\n\t0x104a8: 0x0036ea88, 0x104a9: 0x4036ea20, 0x104aa: 0x0036e088, 0x104ab: 0x4036e020,\n\t0x104ac: 0x0036f488, 0x104ad: 0x4036f420, 0x104ae: 0x0036fc88, 0x104af: 0x4036fc20,\n\t0x104b0: 0x00370488, 0x104b1: 0x40370420, 0x104b2: 0x00370c88, 0x104b3: 0x40370c20,\n\t0x104b4: 0xc0500131, 0x104b5: 0xc04e0131, 0x104b6: 0x00371c88, 0x104b7: 0x40371c20,\n\t0x104b8: 0x0035a488, 0x104b9: 0x4035a420, 0x104ba: 0x0035fa88, 0x104bb: 0x4035fa20,\n\t0x104bc: 0x0035f288, 0x104bd: 0x4035f220, 0x104be: 0x0035e888, 0x104bf: 0x4035e820,\n\t// Block 0x413, offset 0x104c0\n\t0x104c0: 0x00352088, 0x104c1: 0x40352020, 0x104c2: 0x40070620, 0x104c3: 0xae608302,\n\t0x104c4: 0xae605f02, 0x104c5: 0xae602a02, 0x104c6: 0xae602202, 0x104c7: 0xae605f02,\n\t0x104c8: 0xa0000000, 0x104c9: 0xa0000000, 0x104ca: 0x00341c88, 0x104cb: 0x40341c20,\n\t0x104cc: 0x00369688, 0x104cd: 0x40369620, 0x104ce: 0x00353088, 0x104cf: 0x40353020,\n\t0x104d0: 0xe00014b7, 0x104d1: 0xe00014b4, 0x104d2: 0x00336a88, 0x104d3: 0x40336a20,\n\t0x104d4: 0x00337a88, 0x104d5: 0x40337a20, 0x104d6: 0x0033dc88, 0x104d7: 0x4033dc20,\n\t0x104d8: 0x0033aa88, 0x104d9: 0x4033aa20, 0x104da: 0x00345888, 0x104db: 0x40345820,\n\t0x104dc: 0x00347888, 0x104dd: 0x40347820, 0x104de: 0x00347088, 0x104df: 0x40347020,\n\t0x104e0: 0x00346888, 0x104e1: 0x40346820, 0x104e2: 0x0034ca88, 0x104e3: 0x4034ca20,\n\t0x104e4: 0x0034dc88, 0x104e5: 0x4034dc20, 0x104e6: 0x00351888, 0x104e7: 0x40351820,\n\t0x104e8: 0x00372688, 0x104e9: 0x40372620, 0x104ea: 0x00354488, 0x104eb: 0x40354420,\n\t0x104ec: 0x00355888, 0x104ed: 0x40355820, 0x104ee: 0x00359c83, 0x104ef: 0x40359c20,\n\t0x104f0: 0x00359a88, 0x104f1: 0x40359a20, 0x104f2: 0x0035cc88, 0x104f3: 0x4035cc20,\n\t0x104f4: 0x00360e88, 0x104f5: 0x40360e20, 0x104f6: 0x00362a88, 0x104f7: 0x40362a20,\n\t0x104f8: 0x00363a88, 0x104f9: 0x40363a20, 0x104fa: 0x0035d488, 0x104fb: 0x4035d420,\n\t0x104fc: 0x00364488, 0x104fd: 0x40364420, 0x104fe: 0x00364c88, 0x104ff: 0x40364c20,\n\t// Block 0x414, offset 0x10500\n\t0x10500: 0xa0000000, 0x10501: 0xa0000000, 0x10502: 0xa0000000, 0x10503: 0xa0000000,\n\t0x10504: 0xa0000000, 0x10505: 0xa0000000, 0x10506: 0xa0000000, 0x10507: 0xa0000000,\n\t0x10508: 0xa0000000, 0x10509: 0x40020020, 0x1050a: 0x40020220, 0x1050b: 0x40020420,\n\t0x1050c: 0x40020620, 0x1050d: 0x40020820, 0x1050e: 0xa0000000, 0x1050f: 0xa0000000,\n\t0x10510: 0xa0000000, 0x10511: 0xa0000000, 0x10512: 0xa0000000, 0x10513: 0xa0000000,\n\t0x10514: 0xa0000000, 0x10515: 0xa0000000, 0x10516: 0xa0000000, 0x10517: 0xa0000000,\n\t0x10518: 0xa0000000, 0x10519: 0xa0000000, 0x1051a: 0xa0000000, 0x1051b: 0xa0000000,\n\t0x1051c: 0xa0000000, 0x1051d: 0xa0000000, 0x1051e: 0xa0000000, 0x1051f: 0xa0000000,\n\t0x10520: 0x40021220, 0x10521: 0x4002ba20, 0x10522: 0x4003e020, 0x10523: 0x4004ea20,\n\t0x10524: 0x4027de20, 0x10525: 0x4004ec20, 0x10526: 0x4004e620, 0x10527: 0x4003d220,\n\t0x10528: 0x4003f420, 0x10529: 0x4003f620, 0x1052a: 0x4004d820, 0x1052b: 0x40093820,\n\t0x1052c: 0x40024020, 0x1052d: 0x40021a20, 0x1052e: 0x4002e420, 0x1052f: 0x4004e220,\n\t0x10530: 0x4029cc20, 0x10531: 0x4029ce20, 0x10532: 0x4029d020, 0x10533: 0x4029d220,\n\t0x10534: 0x4029d420, 0x10535: 0x4029d620, 0x10536: 0x4029d820, 0x10537: 0x4029da20,\n\t0x10538: 0x4029dc20, 0x10539: 0x4029de20, 0x1053a: 0x40026c20, 0x1053b: 0x40026220,\n\t0x1053c: 0x40094020, 0x1053d: 0x40094220, 0x1053e: 0x40094420, 0x1053f: 0x4002c420,\n\t// Block 0x415, offset 0x10540\n\t0x10540: 0x4004d620, 0x10541: 0xca5027b1, 0x10542: 0x002c0a88, 0x10543: 0x002c3a88,\n\t0x10544: 0x002c6288, 0x10545: 0xc39e0be1, 0x10546: 0x002d0888, 0x10547: 0x002d2288,\n\t0x10548: 0x002d6888, 0x10549: 0x002d9a88, 0x1054a: 0x002dcc88, 0x1054b: 0xca4b3b11,\n\t0x1054c: 0xc0030002, 0x1054d: 0x002e8288, 0x1054e: 0x002e9e88, 0x1054f: 0xc3a30b21,\n\t0x10550: 0x002f2c88, 0x10551: 0x002f5688, 0x10552: 0x002f7a88, 0x10553: 0x002fe688,\n\t0x10554: 0x00302c88, 0x10555: 0xc3900b21, 0x10556: 0x0030be88, 0x10557: 0x0030e288,\n\t0x10558: 0x0030f688, 0x10559: 0x00310088, 0x1055a: 0x00312a88, 0x1055b: 0x4003f820,\n\t0x1055c: 0x4004e420, 0x1055d: 0x4003fa20, 0x1055e: 0x40062420, 0x1055f: 0x40021620,\n\t0x10560: 0x40061e20, 0x10561: 0xca4d27b1, 0x10562: 0x402c0a20, 0x10563: 0x402c3a20,\n\t0x10564: 0x402c6220, 0x10565: 0xc39c0be1, 0x10566: 0x402d0820, 0x10567: 0x402d2220,\n\t0x10568: 0x402d6820, 0x10569: 0x402d9a20, 0x1056a: 0x402dcc20, 0x1056b: 0x402dfe20,\n\t0x1056c: 0xc0000002, 0x1056d: 0x402e8220, 0x1056e: 0x402e9e20, 0x1056f: 0xc3a00b21,\n\t0x10570: 0x402f2c20, 0x10571: 0x402f5620, 0x10572: 0x402f7a20, 0x10573: 0x402fe620,\n\t0x10574: 0x40302c20, 0x10575: 0xc38d0b21, 0x10576: 0x4030be20, 0x10577: 0x4030e220,\n\t0x10578: 0x4030f620, 0x10579: 0x40310020, 0x1057a: 0x40312a20, 0x1057b: 0x4003fc20,\n\t0x1057c: 0x40094820, 0x1057d: 0x4003fe20, 0x1057e: 0x40094c20, 0x1057f: 0xa0000000,\n\t// Block 0x416, offset 0x10580\n\t0x10580: 0xe0000983, 0x10581: 0xe0000980, 0x10582: 0xe00008fb, 0x10583: 0xe00008f8,\n\t0x10584: 0xe000097d, 0x10585: 0xe000097a, 0x10586: 0xe0000a38, 0x10587: 0xe0000a35,\n\t0x10588: 0xe0000a3e, 0x10589: 0xe0000a3b, 0x1058a: 0xe0000a4a, 0x1058b: 0xe0000a47,\n\t0x1058c: 0xe0000a44, 0x1058d: 0xe0000a41, 0x1058e: 0xe0000a86, 0x1058f: 0xe0000a83,\n\t0x10590: 0x002c62a3, 0x10591: 0x402c6221, 0x10592: 0xe0000b46, 0x10593: 0xe0000b43,\n\t0x10594: 0xe0000aee, 0x10595: 0xe0000aeb, 0x10596: 0xe0000b2c, 0x10597: 0xe0000b29,\n\t0x10598: 0x00320cc3, 0x10599: 0x40320c22, 0x1059a: 0xe0000b1a, 0x1059b: 0xe0000b17,\n\t0x1059c: 0xe0000bb8, 0x1059d: 0xe0000bb5, 0x1059e: 0xe0000bb2, 0x1059f: 0xe0000baf,\n\t0x105a0: 0xe0000bc4, 0x105a1: 0xe0000bc1, 0x105a2: 0xe0000bca, 0x105a3: 0xe0000bc7,\n\t0x105a4: 0xe0000bee, 0x105a5: 0xe0000beb, 0x105a6: 0xe0000c1b, 0x105a7: 0xe0000c18,\n\t0x105a8: 0xe0000c51, 0x105a9: 0xe0000c4e, 0x105aa: 0xe0000c60, 0x105ab: 0xe0000c5d,\n\t0x105ac: 0xe0000c31, 0x105ad: 0xe0000c2e, 0x105ae: 0xe0000c5a, 0x105af: 0xe0000c57,\n\t0x105b0: 0xe0000c54, 0x105b1: 0x402da220, 0x105b2: 0xf0000a0a, 0x105b3: 0xf0000404,\n\t0x105b4: 0xe0000c8a, 0x105b5: 0xe0000c87, 0x105b6: 0xe0000c9f, 0x105b7: 0xe0000c9c,\n\t0x105b8: 0x402f5621, 0x105b9: 0xe0000ccc, 0x105ba: 0xe0000cc9, 0x105bb: 0xe0000cd8,\n\t0x105bc: 0xe0000cd5, 0x105bd: 0xe0000cd2, 0x105be: 0xe0000ccf, 0x105bf: 0xe0000d04,\n\t// Block 0x417, offset 0x105c0\n\t0x105c0: 0xca533b21, 0x105c1: 0xca553b21, 0x105c2: 0xca573b21, 0x105c3: 0xca593b21,\n\t0x105c4: 0xca5b3b21, 0x105c5: 0xca5d3b21, 0x105c6: 0xca5f3b21, 0x105c7: 0xca613b21,\n\t0x105c8: 0xca633b21, 0x105c9: 0xca653b21, 0x105ca: 0xca673b21, 0x105cb: 0xca693b21,\n\t0x105cc: 0xca6b3b21, 0x105cd: 0xca6d3b21, 0x105ce: 0xca6f3b21, 0x105cf: 0xca713b21,\n\t0x105d0: 0xca733b21, 0x105d1: 0xca753b21, 0x105d2: 0xca773b21, 0x105d3: 0xca793b21,\n\t0x105d4: 0xca7b3b21, 0x105d5: 0xca7d3b21, 0x105d6: 0xca7f3b21, 0x105d7: 0xca813b21,\n\t0x105d8: 0xca833b21, 0x105d9: 0xca853b21, 0x105da: 0xca873b21, 0x105db: 0xca8b3b21,\n\t0x105dc: 0xca913b21, 0x105dd: 0xca953b21, 0x105de: 0xca973b21, 0x105df: 0xca993b21,\n\t0x105e0: 0xca9b3b21, 0x105e1: 0xca9d3b21, 0x105e2: 0xca9f3b21, 0x105e3: 0xca9f3b21,\n\t0x105e4: 0xe000413a, 0x105e5: 0xe000413d, 0x105e6: 0xe0004140, 0x105e7: 0xe0004143,\n\t0x105e8: 0xe0004146, 0x105e9: 0xe000414a, 0x105ea: 0xe000414d, 0x105eb: 0xca893b21,\n\t0x105ec: 0xca8d3b21, 0x105ed: 0xca8f3b21, 0x105ee: 0xca933b21, 0x105ef: 0xe0004151,\n\t0x105f0: 0xe0004154, 0x105f1: 0xe0004157, 0x105f2: 0xe000415a, 0x105f3: 0xe000415d,\n\t0x105f4: 0xa0000000, 0x105f5: 0xa0000000, 0x105f6: 0xcaa43b81, 0x105f7: 0xcaa63bb1,\n\t0x105f8: 0x40501220, 0x105f9: 0x40501420, 0x105fa: 0x40501620, 0x105fb: 0xcaa13b51,\n\t0x105fc: 0x40501a20, 0x105fd: 0x40501c20, 0x105fe: 0x40501e20, 0x105ff: 0x40502020,\n\t// Block 0x418, offset 0x10600\n\t0x10600: 0x40502220, 0x10601: 0xcaa83bb1, 0x10602: 0x40502620, 0x10603: 0x40502820,\n\t0x10604: 0xcaaa3bb1, 0x10605: 0x40502c20, 0x10606: 0x40503020, 0x10607: 0x40503420,\n\t0x10608: 0xadc11802, 0x10609: 0xadc11b02, 0x1060a: 0xadc11c02, 0x1060b: 0xadc11a02,\n\t0x1060c: 0xa0005f02, 0x1060d: 0xadc11d02, 0x1060e: 0xadc11402, 0x1060f: 0xadc11502,\n\t0x10610: 0xadc11702, 0x10611: 0xadc11602, 0x10612: 0x82092817, 0x10613: 0xa0000000,\n\t0x10614: 0x40032620, 0x10615: 0x40032820, 0x10616: 0x4002ac20, 0x10617: 0x4027bc20,\n\t0x10618: 0xe000409a, 0x10619: 0x4005be20, 0x1061a: 0x4005c020, 0x1061b: 0x4027f620,\n\t0x1061c: 0x404fea20, 0x1061d: 0xadc11902,\n\t0x10620: 0xe00001b5, 0x10621: 0xe0000249, 0x10622: 0xe0000361, 0x10623: 0xe000043b,\n\t0x10624: 0xe0000510, 0x10625: 0xe00005da, 0x10626: 0xe00006a5, 0x10627: 0xe000074d,\n\t0x10628: 0xe00007f9, 0x10629: 0xe000089e,\n\t0x10630: 0xe00001b8, 0x10631: 0xe000024c, 0x10632: 0xe0000364, 0x10633: 0xe000043e,\n\t0x10634: 0xe0000513, 0x10635: 0xe00005dd, 0x10636: 0xe00006a8, 0x10637: 0xe0000750,\n\t0x10638: 0xe00007fc, 0x10639: 0xe00008a1,\n\t// Block 0x419, offset 0x10640\n\t0x10642: 0x40439020, 0x10643: 0x40439220,\n\t0x10645: 0x40437020, 0x10646: 0x40437220, 0x10647: 0x40437420,\n\t0x10648: 0x40437620, 0x10649: 0x40437820, 0x1064a: 0x40437a20, 0x1064b: 0x40437c20,\n\t0x1064c: 0x40438020, 0x1064e: 0x40438420, 0x1064f: 0x40438620,\n\t0x10650: 0x40438820, 0x10652: 0x40438a20, 0x10653: 0x40438c20,\n\t0x10654: 0x40438e20, 0x10655: 0x40439020, 0x10656: 0x40439220, 0x10657: 0x40439420,\n\t0x10658: 0x40439620, 0x10659: 0x40439820, 0x1065a: 0x40439a20, 0x1065b: 0x40439c20,\n\t0x1065c: 0x40439e20, 0x1065d: 0x4043a020, 0x1065e: 0x4043a220, 0x1065f: 0x4043a420,\n\t0x10660: 0x4043a620, 0x10661: 0x4043a820, 0x10662: 0x4043aa20, 0x10663: 0x4043ac20,\n\t0x10664: 0x4043ae20, 0x10665: 0x4043b020, 0x10666: 0x4043b220, 0x10667: 0x4043b420,\n\t0x10668: 0x4043b620, 0x1066a: 0x4043b820, 0x1066b: 0x4043ba20,\n\t0x1066c: 0x4043bc20, 0x1066d: 0x4043be20, 0x1066e: 0x4043c020, 0x1066f: 0x4043c220,\n\t0x10670: 0x4043c420, 0x10671: 0x4043c620, 0x10672: 0x4043c820, 0x10673: 0x4043d420,\n\t0x10675: 0x4043ca20, 0x10676: 0x4043cc20, 0x10677: 0x4043ce20,\n\t0x10678: 0x4043d020, 0x10679: 0x4043d220,\n\t0x1067c: 0xa070f102, 0x1067d: 0x4043d820, 0x1067e: 0x4043de20, 0x1067f: 0xc06a0311,\n\t// Block 0x41a, offset 0x10680\n\t0x10680: 0x4043e220, 0x10681: 0x4043e420, 0x10682: 0x4043e620, 0x10683: 0x4043e820,\n\t0x10684: 0x4043ea20, 0x10686: 0xc06c0341, 0x10687: 0x4043f220,\n\t0x10688: 0x4043f420, 0x1068a: 0xc0710311, 0x1068b: 0x4043f820,\n\t0x1068c: 0x4043fa20, 0x1068d: 0x820921fe,\n\t0x10695: 0x4043fe20, 0x10696: 0x40440020,\n\t0x1069e: 0x4043d620,\n\t0x106a0: 0x40437e20, 0x106a1: 0x40438220, 0x106a2: 0x4043ec20, 0x106a3: 0x4043ee20,\n\t0x106a6: 0xe0000182, 0x106a7: 0xe0000213,\n\t0x106a8: 0xe000032e, 0x106a9: 0xe0000408, 0x106aa: 0xe00004dd, 0x106ab: 0xe00005a7,\n\t0x106ac: 0xe0000672, 0x106ad: 0xe000071a, 0x106ae: 0xe00007c6, 0x106af: 0xe000086b,\n\t0x106b1: 0x40439420, 0x106b2: 0x40439620,\n\t// Block 0x41b, offset 0x106c0\n\t0x106c0: 0xf0000404, 0x106c1: 0xf0000404, 0x106c2: 0xf0000404, 0x106c3: 0xf0000404,\n\t0x106c4: 0xf0000404, 0x106c5: 0xf0000404, 0x106c6: 0xf0000404, 0x106c7: 0xf0000404,\n\t0x106c8: 0xf0000404, 0x106c9: 0xf0000404, 0x106ca: 0xf0000404, 0x106cb: 0xf0000404,\n\t0x106cc: 0xf0000404, 0x106cd: 0xf0000404, 0x106ce: 0xe000004c, 0x106cf: 0xe0000051,\n\t0x106d0: 0xe0000056, 0x106d1: 0xe000005b, 0x106d2: 0xe0000060, 0x106d3: 0xe0000065,\n\t0x106d4: 0xe000006a, 0x106d5: 0xe000006f, 0x106d6: 0xe0000083, 0x106d7: 0xe000008d,\n\t0x106d8: 0xe0000092, 0x106d9: 0xe0000097, 0x106da: 0xe000009c, 0x106db: 0xe00000a1,\n\t0x106dc: 0xe0000088, 0x106dd: 0xe0000074, 0x106de: 0xe000007c,\n\t0x106e0: 0xe0002c96, 0x106e1: 0xe0002ca6, 0x106e2: 0xe0002c9e, 0x106e3: 0xe0002cd6,\n\t0x106e4: 0xe0002caa, 0x106e5: 0xe0002cbe, 0x106e6: 0xe0002c9a, 0x106e7: 0xe0002cba,\n\t0x106e8: 0xe0002ca2, 0x106e9: 0xe0002cc6, 0x106ea: 0xe0002ce6, 0x106eb: 0xe0002cfa,\n\t0x106ec: 0xe0002cf6, 0x106ed: 0xe0002cee, 0x106ee: 0xe0002d22, 0x106ef: 0xe0002cda,\n\t0x106f0: 0xe0002ce2, 0x106f1: 0xe0002cf2, 0x106f2: 0xe0002cea, 0x106f3: 0xe0002d06,\n\t0x106f4: 0xe0002cce, 0x106f5: 0xe0002cfe, 0x106f6: 0xe0002d1a, 0x106f7: 0xe0002d0a,\n\t0x106f8: 0xf0000404, 0x106f9: 0xe0002cae, 0x106fa: 0xe0002cd2, 0x106fb: 0xf0000404,\n\t0x106fc: 0xe0002d02, 0x106fd: 0xe0002cb2, 0x106fe: 0xe0002d1e, 0x106ff: 0xe0002cca,\n\t// Block 0x41c, offset 0x10700\n\t0x10700: 0xe0008556, 0x10701: 0xe0008b49, 0x10703: 0xe0009a4a,\n\t0x10707: 0xe0005e27,\n\t0x10708: 0xe000871e, 0x10709: 0xe0006c4c, 0x1070a: 0xe0006ca0, 0x1070b: 0xe0009fed,\n\t0x1070d: 0xe0006789,\n\t0x10711: 0xe00098b6,\n\t0x10714: 0xe0009245, 0x10715: 0xe0006948, 0x10716: 0xe0007018,\n\t0x10718: 0xe0004c4a, 0x10719: 0xe0006618,\n\t0x1071e: 0xe00073be, 0x1071f: 0xe0008f07,\n\t0x10726: 0xe000665c,\n\t0x1072b: 0xe00075de,\n\t0x1072d: 0xe0008fe1,\n\t0x10730: 0xe0006771, 0x10731: 0xe0004a99, 0x10732: 0xe00049e6,\n\t0x10738: 0xe000a5b0, 0x10739: 0xe000532a, 0x1073b: 0xe0008e8f,\n\t// Block 0x41d, offset 0x10740\n\t0x10742: 0xe0007be3, 0x10743: 0xe0005214,\n\t0x10745: 0xe0004c4d,\n\t0x1074b: 0xe0009055,\n\t0x1074d: 0xe0006ad3, 0x1074e: 0xe000a418, 0x1074f: 0xe0009fe1,\n\t0x10756: 0xe0004b72,\n\t0x10758: 0xe00073c2, 0x10759: 0xe00083a6,\n\t0x1075d: 0xe0004c50, 0x1075e: 0xe0004554, 0x1075f: 0xe0007800,\n\t0x10767: 0xe0005708,\n\t0x1076b: 0xe00042b4,\n\t0x1076c: 0xe0004564, 0x1076d: 0xe0005621,\n\t0x10773: 0xe000820f,\n\t0x10776: 0xe000672d, 0x10777: 0xe0006c38,\n\t0x1077c: 0xe0008fdd, 0x1077e: 0xe000450c,\n\t// Block 0x41e, offset 0x10780\n\t0x10782: 0xe00057ab,\n\t0x10786: 0xe0005b9b,\n\t0x10788: 0xe00079b1, 0x1078b: 0xe0006ad6,\n\t0x1078c: 0xe0008459, 0x1078e: 0xe0007fc6, 0x1078f: 0xe0008026,\n\t0x10790: 0xe00080da, 0x10791: 0xe000808a, 0x10792: 0xe000a41b,\n\t0x10794: 0xe0007c58, 0x10795: 0xe0008b4d,\n\t0x10798: 0xe0005033, 0x10799: 0xe0005043, 0x1079b: 0xe0006ad9,\n\t0x1079e: 0xe00075a8, 0x1079f: 0xe0004f43,\n\t0x107a1: 0xe0005ebb, 0x107a2: 0xe000a13f,\n\t0x107a4: 0xe0004bc6, 0x107a5: 0xe000a18f, 0x107a6: 0xe00079db,\n\t0x107a8: 0xe000a381, 0x107ab: 0xe000a20e,\n\t0x107ac: 0xe0004695, 0x107ad: 0xe0008b51, 0x107ae: 0xe0005891,\n\t0x107b3: 0xe000630c,\n\t0x107b4: 0xe0008029, 0x107b6: 0xe000532e,\n\t0x107b9: 0xe0006226, 0x107ba: 0xe00084e6,\n\t// Block 0x41f, offset 0x107c0\n\t0x107c0: 0xe0007595, 0x107c1: 0xe00084ea,\n\t0x107c4: 0xe000998c, 0x107c6: 0xe0006807, 0x107c7: 0xe0004c53,\n\t0x107ca: 0xe0004fb7, 0x107cb: 0xe0004440,\n\t0x107cd: 0xe00085be,\n\t0x107d4: 0xe00085d2, 0x107d5: 0xe0006adc, 0x107d6: 0xe0009aab, 0x107d7: 0xe0008722,\n\t0x107d8: 0xe000678c, 0x107d9: 0xe0006e50,\n\t0x107dd: 0xe0005631, 0x107de: 0xe000852a, 0x107df: 0xe00094fc,\n\t0x107e1: 0xe000a8d7, 0x107e3: 0xe00054be,\n\t0x107e4: 0xe0005a04, 0x107e5: 0xe000845c,\n\t0x107ee: 0xe00041b7,\n\t0x107f0: 0xe0007727, 0x107f2: 0xe0008fe5, 0x107f3: 0xe00069c6,\n\t0x107f5: 0xe0007caf, 0x107f6: 0xe0004510, 0x107f7: 0xe0004443,\n\t0x107fb: 0xe0008582,\n\t0x107ff: 0xe0006458,\n\t// Block 0x420, offset 0x10800\n\t0x10800: 0xe0008e49, 0x10801: 0xe000504b,\n\t0x10809: 0xe000a143, 0x1080a: 0xe000845f, 0x1080b: 0xe0004fff,\n\t0x1080d: 0xe0007c5b, 0x1080e: 0xe000504e, 0x1080f: 0xe00066c1,\n\t0x10810: 0xe0006530, 0x10811: 0xe000a851,\n\t0x1082f: 0xe00064d4,\n\t0x10830: 0xe0004877,\n\t0x10834: 0xe0006324, 0x10836: 0xe0005a08,\n\t0x10838: 0xe00074bd, 0x1083a: 0xe0006adf,\n\t0x1083c: 0xe0006ae2, 0x1083d: 0xe0004160,\n\t// Block 0x421, offset 0x10840\n\t0x10842: 0xe0008c25, 0x10843: 0xe0008965,\n\t0x10846: 0xe0005332, 0x10847: 0xe000885f,\n\t0x10848: 0xe0009e62, 0x10849: 0xe0004cec, 0x1084b: 0xe00070ab,\n\t0x1084d: 0xe000819a, 0x1084e: 0xe0008862, 0x1084f: 0xe0008e92,\n\t0x10850: 0xe0008e71, 0x10851: 0xe0007fc9, 0x10853: 0xe00068a8,\n\t0x10854: 0xe0008af9, 0x10855: 0xe0009ff0, 0x10856: 0xe0009fb1, 0x10857: 0xe0009ad5,\n\t0x10859: 0xe00079b4, 0x1085a: 0xe000855a, 0x1085b: 0xe00068f4,\n\t0x1085c: 0xe000866e, 0x1085d: 0xe0004cef, 0x1085e: 0xe0005261, 0x1085f: 0xe0009cb6,\n\t0x10869: 0xe0009d60, 0x1086a: 0xe000a6f4,\n\t0x1086f: 0xe000785d,\n\t0x10870: 0xe00064d8, 0x10873: 0xe0004163,\n\t0x10876: 0xe000517b,\n\t0x10878: 0xe0004ae5, 0x10879: 0xe0004e6d, 0x1087a: 0xe0008969, 0x1087b: 0xe0008d73,\n\t0x1087c: 0xe0004c11, 0x1087d: 0xe000926f, 0x1087e: 0xe000855e, 0x1087f: 0xe0006ae5,\n\t// Block 0x422, offset 0x10880\n\t0x10881: 0xe00074c1, 0x10883: 0xe0004228,\n\t0x10884: 0xe00091ad, 0x10886: 0xe000586f,\n\t0x10888: 0xe00099a8, 0x10889: 0xe0004a0e, 0x1088a: 0xe0004afd, 0x1088b: 0xe0005a7c,\n\t0x1088d: 0xe00073ee, 0x1088f: 0xe0008e95,\n\t0x10891: 0xe0008212,\n\t0x10894: 0xe000607b, 0x10896: 0xe0005c70, 0x10897: 0xe0005675,\n\t0x10898: 0xe0009248, 0x1089a: 0xe000733d, 0x1089b: 0xe0004976,\n\t0x1089c: 0xe0008f0a, 0x1089d: 0xe0008402,\n\t0x108ae: 0xe0006033, 0x108af: 0xe000a772,\n\t0x108b2: 0xe0009189,\n\t0x108b5: 0xe0009a56, 0x108b6: 0xe00058dd,\n\t0x108bb: 0xe0009b9c,\n\t0x108bf: 0xe0009db4,\n\t// Block 0x423, offset 0x108c0\n\t0x108c1: 0xe000802c, 0x108c2: 0xe0004799, 0x108c3: 0xe0009778,\n\t0x108c4: 0xe00075ab, 0x108c5: 0xe0004cf2,\n\t0x108c9: 0xe0007c5e, 0x108ca: 0xe0008f51,\n\t0x108cc: 0xe00066ac, 0x108ce: 0xe0008ce9, 0x108cf: 0xe00070ae,\n\t0x108d0: 0xe0005d33, 0x108d1: 0xe0007f42, 0x108d3: 0xe0004699,\n\t0x108d4: 0xe000a299, 0x108d7: 0xe00070f0,\n\t0x108d8: 0xe000680a, 0x108da: 0xe0005ce8, 0x108db: 0xe0005fcc,\n\t0x108dd: 0xe000667c, 0x108df: 0xe0006ae8,\n\t0x108e0: 0xe000a335, 0x108e1: 0xe00074c5, 0x108e3: 0xe0007cb2,\n\t0x108ee: 0xe000718f, 0x108ef: 0xe000678f,\n\t0x108f0: 0xe000a577, 0x108f1: 0xe0004c56, 0x108f3: 0xe000648f,\n\t0x108f4: 0xe0009548, 0x108f5: 0xe0009eeb, 0x108f6: 0xe00072b5,\n\t0x108f8: 0xe0006731, 0x108fa: 0xe0007967,\n\t0x108fe: 0xe00069c9,\n\t// Block 0x424, offset 0x10900\n\t0x10900: 0xe00093e7, 0x10902: 0xe000661c,\n\t0x10905: 0xe0007385, 0x10906: 0xe0005895,\n\t0x10909: 0xe000938f, 0x1090b: 0xe0004446,\n\t0x1090d: 0xe000648c, 0x1090f: 0xe00072b9,\n\t0x10911: 0xe0006195, 0x10912: 0xe000550c,\n\t0x10914: 0xe0004ddb, 0x10916: 0xe000a1f6,\n\t0x10918: 0xe000547a, 0x10919: 0xe000a775, 0x1091a: 0xe0008405,\n\t0x1091c: 0xe00094a0, 0x1091e: 0xe000469d, 0x1091f: 0xe000924b,\n\t0x10921: 0xe0009393, 0x10922: 0xe0009650, 0x10923: 0xe00063e8,\n\t0x10924: 0xe00099ab, 0x10925: 0xe00049b6, 0x10926: 0xe0004e07, 0x10927: 0xe0008e05,\n\t0x10928: 0xe00044b2, 0x10929: 0xe000954c, 0x1092a: 0xe0007be6, 0x1092b: 0xe0005c74,\n\t0x1092c: 0xe0009afc, 0x1092d: 0xe0007e65, 0x1092e: 0xe000576c,\n\t0x10930: 0xe0005ce0,\n\t0x1093b: 0xe0007803,\n\t// Block 0x425, offset 0x10940\n\t0x10943: 0xe0007927,\n\t0x10944: 0xe00051cc, 0x10947: 0xe0004166,\n\t0x10948: 0xe00045a8, 0x10949: 0xe000819d, 0x1094a: 0xe000802f,\n\t0x1094e: 0xe0007e83, 0x1094f: 0xe0009db8,\n\t0x10953: 0xe0007637,\n\t0x10955: 0xe000a192, 0x10956: 0xe0009272,\n\t0x10958: 0xe0004288, 0x1095a: 0xe0008e98,\n\t0x1095c: 0xe0008b55,\n\t0x10960: 0xe0007ef2, 0x10962: 0xe0009721,\n\t0x10965: 0xe0004514,\n\t0x1096a: 0xe0009fe9,\n\t0x10970: 0xe0006f44, 0x10972: 0xe0007442,\n\t0x10974: 0xe0009988, 0x10975: 0xe0008b59, 0x10976: 0xe0007fcc,\n\t0x10978: 0xe0009c9b,\n\t// Block 0x426, offset 0x10980\n\t0x10980: 0xe0004b75,\n\t0x10985: 0xe0006792,\n\t0x1098b: 0xe00043fc,\n\t0x1098d: 0xe00063ec,\n\t0x10991: 0xe0004558, 0x10992: 0xe000a400,\n\t0x10994: 0xe0004671, 0x10996: 0xe00093eb,\n\t0x10998: 0xe0006bd8, 0x10999: 0xe000694b, 0x1099a: 0xe000a75a, 0x1099b: 0xe0007f9e,\n\t0x1099d: 0xe0009bc8, 0x1099e: 0xe0006b87,\n\t0x109a2: 0xe00041ba,\n\t0x109ac: 0xe00097fc, 0x109ad: 0xe0007f46, 0x109ae: 0xe0008d76,\n\t0x109b2: 0xe0007c61, 0x109b3: 0xe000896d,\n\t0x109b4: 0xe0004cf5, 0x109b5: 0xe0009433, 0x109b7: 0xe0006ca4,\n\t0x109bd: 0xe00087ae, 0x109be: 0xe00046a1, 0x109bf: 0xe000793f,\n\t// Block 0x427, offset 0x109c0\n\t0x109c2: 0xe0005c12,\n\t0x109c4: 0xe0009f15, 0x109c5: 0xe0004f53,\n\t0x109c9: 0xe00095e0, 0x109ca: 0xe0006e54,\n\t0x109cf: 0xe0006ca8,\n\t0x109d1: 0xe0004bc9,\n\t0x109d5: 0xe00066c5, 0x109d6: 0xe000a91f,\n\t0x109da: 0xe0005b9e, 0x109db: 0xe000510b,\n\t0x109de: 0xe00081a0,\n\t0x109e2: 0xe0009550,\n\t0x109e5: 0xe0007e9e, 0x109e6: 0xe0009862, 0x109e7: 0xe00073c6,\n\t0x109e9: 0xe000a093,\n\t0x109ec: 0xe0009724, 0x109ed: 0xe0009327, 0x109ee: 0xe0005679,\n\t0x109f5: 0xe0004400,\n\t0x109f9: 0xe0004169, 0x109fb: 0xe0006580,\n\t0x109fe: 0xe0007778, 0x109ff: 0xe0006aeb,\n\t// Block 0x428, offset 0x10a00\n\t0x10a00: 0xe0008408, 0x10a01: 0xe0008f55, 0x10a02: 0xe00052a1, 0x10a03: 0xe0009554,\n\t0x10a04: 0xe000790f, 0x10a06: 0xe00046a5, 0x10a07: 0xe000a2e9,\n\t0x10a09: 0xe0004570, 0x10a0b: 0xe000540a,\n\t0x10a10: 0xe0006a7f, 0x10a12: 0xe0008215, 0x10a13: 0xe00054ee,\n\t0x10a14: 0xe0008f0d, 0x10a15: 0xe0008cb6, 0x10a17: 0xe000843b,\n\t0x10a18: 0xe000918d, 0x10a1a: 0xe0005f80, 0x10a1b: 0xe000617a,\n\t0x10a1c: 0xe0005265, 0x10a1f: 0xe0006cac,\n\t0x10a21: 0xe0005b62, 0x10a22: 0xe0005913,\n\t0x10a24: 0xe0009eb3, 0x10a25: 0xe0008306, 0x10a27: 0xe00092eb,\n\t0x10a2a: 0xe0007fcf, 0x10a2b: 0xe000a493,\n\t0x10a31: 0xe0005b46, 0x10a32: 0xe0008865, 0x10a33: 0xe000934f,\n\t0x10a35: 0xe00072bd, 0x10a37: 0xe00058e0,\n\t0x10a39: 0xe00092ef, 0x10a3a: 0xe000519b, 0x10a3b: 0xe000547e,\n\t0x10a3c: 0xe000796b,\n\t// Block 0x429, offset 0x10a40\n\t0x10a40: 0xe0007d52, 0x10a41: 0xe000830a, 0x10a43: 0xe00080e6,\n\t0x10a44: 0xe000a385, 0x10a45: 0xe0009916, 0x10a46: 0xe0008cec, 0x10a47: 0xe000a87f,\n\t0x10a48: 0xe0006e58, 0x10a49: 0xe0004b01, 0x10a4b: 0xe0004f27,\n\t0x10a4c: 0xe0009bf4, 0x10a4d: 0xe0005fa0, 0x10a4e: 0xe0009c4a,\n\t0x10a52: 0xe00075ae,\n\t0x10a55: 0xe0007445, 0x10a57: 0xe0007a83,\n\t0x10a5a: 0xe0005482,\n\t0x10a5c: 0xe00056b5,\n\t0x10a62: 0xe0005037,\n\t0x10a65: 0xe00085b2, 0x10a67: 0xe0005217,\n\t0x10a68: 0xe0008971, 0x10a69: 0xe0005899, 0x10a6a: 0xe0008218, 0x10a6b: 0xe0009d4c,\n\t0x10a6c: 0xe000497a, 0x10a6d: 0xe0005c60, 0x10a6e: 0xe000a3e5,\n\t0x10a71: 0xe000497e,\n\t0x10a75: 0xe0006620, 0x10a76: 0xe0005051, 0x10a77: 0xe0004c59,\n\t0x10a78: 0xe0008975,\n\t0x10a7c: 0xe0004659,\n\t// Block 0x42a, offset 0x10a80\n\t0x10a80: 0xe0005054,\n\t0x10a86: 0xe00079ad,\n\t0x10a89: 0xe0007afb, 0x10a8a: 0xe000945d,\n\t0x10a8d: 0xe00087fa, 0x10a8f: 0xe0004749,\n\t0x10a92: 0xe0006036, 0x10a93: 0xe0004cf8,\n\t0x10a95: 0xe0005fa4, 0x10a97: 0xe0007f4a,\n\t0x10a98: 0xe0008299,\n\t0x10aa0: 0xe0004a59, 0x10aa3: 0xe000997f,\n\t0x10aa4: 0xe000814e, 0x10aa5: 0xe0005ff0,\n\t0x10aaa: 0xe0005f90,\n\t0x10aac: 0xe0005635,\n\t0x10ab0: 0xe0006ac3, 0x10ab1: 0xe000a496, 0x10ab2: 0xe000992e,\n\t0x10ab6: 0xe0007806, 0x10ab7: 0xe0005881,\n\t0x10abd: 0xe00059b4,\n\t// Block 0x42b, offset 0x10ac0\n\t0x10ac4: 0xe0009485, 0x10ac5: 0xe000487a, 0x10ac6: 0xe0008f59,\n\t0x10ac9: 0xe000589d, 0x10aca: 0xe0009684, 0x10acb: 0xe0008cef,\n\t0x10acc: 0xe0005cc8, 0x10acd: 0xe0005639,\n\t0x10ad2: 0xe000843e,\n\t0x10ad4: 0xe00093ef,\n\t0x10adb: 0xe0005cbc,\n\t0x10adc: 0xe0005cb8, 0x10add: 0xe00083f2, 0x10ade: 0xe000a922,\n\t0x10ae0: 0xe0004e70, 0x10ae1: 0xe0006548,\n\t0x10ae9: 0xe00060c4,\n\t0x10aed: 0xe0006ac7,\n\t0x10af0: 0xe000a63c, 0x10af1: 0xe0004449, 0x10af3: 0xe0005734,\n\t0x10af4: 0xe0006acb, 0x10af6: 0xe000a883,\n\t0x10af8: 0xe0009590, 0x10af9: 0xe0007ea1, 0x10afa: 0xe0009906,\n\t0x10afd: 0xe000a0c3,\n\t// Block 0x42c, offset 0x10b00\n\t0x10b00: 0xe000550f, 0x10b01: 0xe0008d79, 0x10b03: 0xe00084ee,\n\t0x10b06: 0xe000685c, 0x10b07: 0xe0008aa9,\n\t0x10b08: 0xe0007be9, 0x10b0a: 0xe000422c,\n\t0x10b0e: 0xe0006199,\n\t0x10b11: 0xe000a389, 0x10b13: 0xe0007e21,\n\t0x10b16: 0xe0008192, 0x10b17: 0xe00059b8,\n\t0x10b1d: 0xe00096d0,\n\t0x10b24: 0xe0009d24, 0x10b25: 0xe0006600, 0x10b26: 0xe00045a0, 0x10b27: 0xe00045a4,\n\t0x10b29: 0xe0005ceb, 0x10b2a: 0xe0006bdc,\n\t0x10b2e: 0xe0004ad5,\n\t0x10b30: 0xe0005512, 0x10b31: 0xe00093f3, 0x10b32: 0xe0004ed0, 0x10b33: 0xe000487d,\n\t0x10b36: 0xe0008c71, 0x10b37: 0xe0007174,\n\t0x10b38: 0xe0004e0b, 0x10b39: 0xe000930b, 0x10b3a: 0xe00085d5, 0x10b3b: 0xe00041e4,\n\t// Block 0x42d, offset 0x10b40\n\t0x10b43: 0xe0009694,\n\t0x10b44: 0xe000474d, 0x10b47: 0xe0009a26,\n\t0x10b49: 0xe0008e80, 0x10b4a: 0xe0006bc0, 0x10b4b: 0xe0004f2b,\n\t0x10b4c: 0xe00057e7, 0x10b4d: 0xe0008979,\n\t0x10b54: 0xe00094a4, 0x10b55: 0xe00069cc, 0x10b56: 0xe0006795, 0x10b57: 0xe00086d6,\n\t0x10b5a: 0xe0006b8a, 0x10b5b: 0xe000439c,\n\t0x10b5d: 0xe00062c0, 0x10b5e: 0xe000510e, 0x10b5f: 0xe00095b8,\n\t0x10b61: 0xe0006f64,\n\t0x10b69: 0xe00085c2, 0x10b6a: 0xe000897d,\n\t0x10b6f: 0xe0006798,\n\t0x10b72: 0xe000a0b7,\n\t0x10b74: 0xe0004479, 0x10b75: 0xe0009397, 0x10b77: 0xe0006c08,\n\t0x10b7a: 0xe0005d36,\n\t0x10b7d: 0xe0009eee, 0x10b7f: 0xe00096d3,\n\t// Block 0x42e, offset 0x10b80\n\t0x10b82: 0xe0004e73, 0x10b83: 0xe000a70f,\n\t0x10b87: 0xe0004f2f,\n\t0x10b88: 0xe0006584, 0x10b89: 0xe0005c27,\n\t0x10b8d: 0xe0004574,\n\t0x10b91: 0xe0008c74, 0x10b92: 0xe0004578, 0x10b93: 0xe0008441,\n\t0x10b97: 0xe00092f3,\n\t0x10b98: 0xe0005df5, 0x10b9b: 0xe0005934,\n\t0x10b9f: 0xe0004982,\n\t0x10ba0: 0xe000416c, 0x10ba3: 0xe00059bc,\n\t0x10ba4: 0xe0004f57,\n\t0x10ba9: 0xe0008cf2, 0x10baa: 0xe0005271, 0x10bab: 0xe0004594,\n\t0x10bac: 0xe0004cfb, 0x10bad: 0xe0009727,\n\t0x10bbe: 0xe000a1e6,\n\t// Block 0x42f, offset 0x10bc0\n\t0x10bc1: 0xe00046a9, 0x10bc3: 0xe00063a8,\n\t0x10bc5: 0xe0009a2a, 0x10bc7: 0xe0007f4e,\n\t0x10bc9: 0xe0005fa8,\n\t0x10bcc: 0xe0004e2f, 0x10bcd: 0xe00046ad,\n\t0x10bd2: 0xe0005cac,\n\t0x10bd5: 0xe000563d, 0x10bd6: 0xe0008062,\n\t0x10bd8: 0xe00042f4, 0x10bd9: 0xe0006138, 0x10bdb: 0xe000a7ba,\n\t0x10bdd: 0xe00073ca, 0x10bde: 0xe0005a91, 0x10bdf: 0xe0006039,\n\t0x10be0: 0xe0005c6c, 0x10be1: 0xe0009f18, 0x10be2: 0xe000701b, 0x10be3: 0xe00088e9,\n\t0x10be4: 0xe0004f5b, 0x10be6: 0xe000972a,\n\t0x10bf3: 0xe000a7be,\n\t0x10bf5: 0xe00058e3,\n\t0x10bf8: 0xe0004e0f, 0x10bfa: 0xe0008672, 0x10bfb: 0xe0004f03,\n\t0x10bfe: 0xe0004c5c, 0x10bff: 0xe00061e1,\n\t// Block 0x430, offset 0x10c00\n\t0x10c01: 0xe00061c5, 0x10c02: 0xe0005223, 0x10c03: 0xe000447c,\n\t0x10c05: 0xe0009e65,\n\t0x10c08: 0xe000a887, 0x10c0a: 0xe0004d97,\n\t0x10c0c: 0xe000a123, 0x10c0d: 0xe0009e68, 0x10c0f: 0xe0009e6b,\n\t0x10c10: 0xe00066c9,\n\t0x10c15: 0xe000694e, 0x10c16: 0xe000a54d, 0x10c17: 0xe0006858,\n\t0x10c19: 0xe00073f1,\n\t0x10c20: 0xe0008726, 0x10c21: 0xe0004b05, 0x10c23: 0xe0004380,\n\t0x10c27: 0xe000a365,\n\t0x10c2a: 0xe0006951,\n\t0x10c2f: 0xe000a6b8,\n\t0x10c31: 0xe0004e76,\n\t0x10c36: 0xe0004cfe,\n\t0x10c39: 0xe0009f89,\n\t0x10c3d: 0xe0007943, 0x10c3e: 0xe0009ddc, 0x10c3f: 0xe0005311,\n\t// Block 0x431, offset 0x10c40\n\t0x10c40: 0xe0004c5f, 0x10c41: 0xe0007599, 0x10c43: 0xe0009500,\n\t0x10c44: 0xe00085b6, 0x10c45: 0xe0006c84, 0x10c47: 0xe00073ce,\n\t0x10c48: 0xe0007c64, 0x10c49: 0xe000a81e, 0x10c4a: 0xe0006328,\n\t0x10c4d: 0xe0005e2b,\n\t0x10c51: 0xe0006954, 0x10c52: 0xe0008df9, 0x10c53: 0xe0009b00,\n\t0x10c54: 0xe000a339, 0x10c57: 0xe00051e4,\n\t0x10c5a: 0xe00062c4,\n\t0x10c5c: 0xe00066cd, 0x10c5e: 0xe00065c4,\n\t0x10c60: 0xe0008ad5, 0x10c61: 0xe000870a,\n\t0x10c66: 0xe0004b5d,\n\t0x10c68: 0xe0006f10,\n\t0x10c6c: 0xe0007743, 0x10c6e: 0xe00099f0, 0x10c6f: 0xe0006108,\n\t0x10c70: 0xe00084f2, 0x10c71: 0xe00081a3, 0x10c72: 0xe00070b1, 0x10c73: 0xe0008ff9,\n\t0x10c74: 0xe00041e8, 0x10c75: 0xe00057af, 0x10c77: 0xe0004e13,\n\t0x10c78: 0xe0006b8d, 0x10c79: 0xe000a87b, 0x10c7a: 0xe0004f8f, 0x10c7b: 0xe0004210,\n\t0x10c7d: 0xe0008ff5, 0x10c7e: 0xe000763b, 0x10c7f: 0xe00046b1,\n\t// Block 0x432, offset 0x10c80\n\t0x10c84: 0xe00077b4,\n\t0x10c93: 0xe0007757,\n\t0x10c96: 0xe000645c,\n\t0x10c98: 0xe0005cee, 0x10c9a: 0xe000a778,\n\t0x10c9d: 0xe0008d7c, 0x10c9f: 0xe00080ea,\n\t0x10ca0: 0xe0009990,\n\t0x10ca5: 0xe0004e47, 0x10ca6: 0xe0009ff3,\n\t0x10caa: 0xe0004f93,\n\t0x10cad: 0xe0007ad3, 0x10cae: 0xe0007448,\n\t0x10cb2: 0xe0005916,\n\t0x10cb9: 0xe0004d01, 0x10cbb: 0xe00044b5,\n\t// Block 0x433, offset 0x10cc0\n\t0x10cc3: 0xe000932b,\n\t0x10cc5: 0xe0009353,\n\t0x10cc8: 0xe0007fd2, 0x10cc9: 0xe000924e, 0x10cca: 0xe0005003, 0x10ccb: 0xe0007fd5,\n\t0x10ccd: 0xe000632c,\n\t0x10cd4: 0xe0007285, 0x10cd6: 0xe0009955, 0x10cd7: 0xe0007192,\n\t0x10cdb: 0xe0006330,\n\t0x10cdf: 0xe0007246,\n\t0x10ce1: 0xe0007bec, 0x10ce2: 0xe00097bc, 0x10ce3: 0xe0004c62,\n\t0x10ce4: 0xe0004805, 0x10ce5: 0xe0004c65, 0x10ce6: 0xe0005a48,\n\t0x10ce8: 0xe0005584, 0x10ce9: 0xe0004808, 0x10cea: 0xe0009058, 0x10ceb: 0xe0004ea3,\n\t0x10cec: 0xe000703c, 0x10ced: 0xe0009d50, 0x10cee: 0xe0008c29, 0x10cef: 0xe000416f,\n\t0x10cf0: 0xe0009bf7, 0x10cf1: 0xe00091b1, 0x10cf2: 0xe0006aee, 0x10cf3: 0xe0007fd8,\n\t0x10cf4: 0xe0004d04, 0x10cf5: 0xe0009cfa, 0x10cf6: 0xe000a369,\n\t0x10cf8: 0xe0006af1,\n\t// Block 0x434, offset 0x10d00\n\t0x10d01: 0xe0008032, 0x10d03: 0xe000a8c7,\n\t0x10d04: 0xe00041ec,\n\t0x10d08: 0xe000a107, 0x10d09: 0xe000517f, 0x10d0a: 0xe00088ed, 0x10d0b: 0xe00097b8,\n\t0x10d0c: 0xe0005641, 0x10d0d: 0xe0005ff4, 0x10d0e: 0xe000a77b, 0x10d0f: 0xe0005cf1,\n\t0x10d10: 0xe0009c4d, 0x10d11: 0xe000a212,\n\t0x10d1b: 0xe0004da7,\n\t0x10d1d: 0xe0005d5d, 0x10d1f: 0xe00083ae,\n\t0x10d20: 0xe0009e38,\n\t0x10d26: 0xe000679b,\n\t0x10d29: 0xe0006860, 0x10d2b: 0xe000a0c7,\n\t0x10d2c: 0xe0008372, 0x10d2e: 0xe0008a09,\n\t0x10d33: 0xe0007c6a,\n\t0x10d36: 0xe00052dd,\n\t0x10d38: 0xe000a8fb, 0x10d39: 0xe0009958, 0x10d3b: 0xe000619d,\n\t0x10d3c: 0xe000a77e, 0x10d3d: 0xe000a799, 0x10d3e: 0xe0007c67,\n\t// Block 0x435, offset 0x10d40\n\t0x10d40: 0xe000a017, 0x10d42: 0xe00058e6,\n\t0x10d46: 0xe0005f2d,\n\t0x10d48: 0xe0008b5d, 0x10d4a: 0xe000480b,\n\t0x10d4e: 0xe00094d8,\n\t0x10d51: 0xe0009b58,\n\t0x10d5d: 0xe00077d0,\n\t0x10d62: 0xe00052ff,\n\t0x10d64: 0xe0005a4c, 0x10d66: 0xe000829c,\n\t0x10d68: 0xe0008ea4, 0x10d6a: 0xe0008ea1, 0x10d6b: 0xe0009654,\n\t0x10d70: 0xe0008620, 0x10d71: 0xe000480e, 0x10d73: 0xe00061ed,\n\t0x10d75: 0xe0004172, 0x10d76: 0xe0005283,\n\t0x10d7b: 0xe00074c9,\n\t0x10d7c: 0xe000a41e, 0x10d7d: 0xe0005ff8, 0x10d7f: 0xe00044e2,\n\t// Block 0x436, offset 0x10d80\n\t0x10d80: 0xe0008868,\n\t0x10d84: 0xe0005629, 0x10d86: 0xe0009e6e, 0x10d87: 0xe0009fb5,\n\t0x10d8b: 0xe0006b90,\n\t0x10d8c: 0xe000a550, 0x10d8d: 0xe000a1c5, 0x10d8e: 0xe0004c68, 0x10d8f: 0xe0007bb3,\n\t0x10d90: 0xe000679e,\n\t0x10d96: 0xe00041bd,\n\t0x10da0: 0xe0009221, 0x10da2: 0xe000763f,\n\t0x10da4: 0xe0009aae, 0x10da5: 0xe000a95b,\n\t0x10da8: 0xe00085d8, 0x10dab: 0xe000905b,\n\t0x10dac: 0xe0004bcc, 0x10daf: 0xe0004214,\n\t0x10db3: 0xe000a195,\n\t0x10db8: 0xe000a0cb, 0x10dbb: 0xe000a860,\n\t0x10dbc: 0xe0004b66, 0x10dbd: 0xe00084f6, 0x10dbf: 0xe00084a1,\n\t// Block 0x437, offset 0x10dc0\n\t0x10dc0: 0xe000775a, 0x10dc1: 0xe0009f3c, 0x10dc2: 0xe0007519, 0x10dc3: 0xe000567d,\n\t0x10dc4: 0xe000a511, 0x10dc6: 0xe00099f3, 0x10dc7: 0xe0007dbe,\n\t0x10dc8: 0xe000a10b, 0x10dc9: 0xe00087fd,\n\t0x10de1: 0xe00080ee,\n\t0x10de5: 0xe0004175, 0x10de6: 0xe00075e1,\n\t0x10de8: 0xe00096d6, 0x10de9: 0xe0005d39,\n\t0x10ded: 0xe00048ce, 0x10dee: 0xe000a733,\n\t0x10df1: 0xe00063d4, 0x10df2: 0xe0009594,\n\t0x10dfa: 0xe0009e71,\n\t0x10dfd: 0xe0004751, 0x10dff: 0xe00041c0,\n\t// Block 0x438, offset 0x10e00\n\t0x10e04: 0xe0009d63, 0x10e06: 0xe0006af4, 0x10e07: 0xe00090fd,\n\t0x10e09: 0xe000777b,\n\t0x10e0e: 0xe0005cf4, 0x10e0f: 0xe000a95e,\n\t0x10e10: 0xe000544e,\n\t0x10e14: 0xe0007cb5,\n\t0x10e1c: 0xe0005e97,\n\t0x10e2b: 0xe0004feb,\n\t0x10e2e: 0xe0007249, 0x10e2f: 0xe000821b,\n\t0x10e31: 0xe000939b, 0x10e33: 0xe0005919,\n\t0x10e35: 0xe00076cb,\n\t0x10e3c: 0xe0006c88, 0x10e3e: 0xe0009ab1,\n\t// Block 0x439, offset 0x10e40\n\t0x10e40: 0xe000777e, 0x10e42: 0xe00052cf,\n\t0x10e44: 0xe0009b04, 0x10e46: 0xe0006cb0,\n\t0x10e4f: 0xe00061a1,\n\t0x10e53: 0xe000479c,\n\t0x10e56: 0xe00053c6, 0x10e57: 0xe000540e,\n\t0x10e5c: 0xe00095bc, 0x10e5e: 0xe00075b1,\n\t0x10e63: 0xe000a0cf,\n\t0x10e7b: 0xe000744b,\n\t0x10e7c: 0xe0008c77, 0x10e7d: 0xe00076eb, 0x10e7e: 0xe0009865,\n\t// Block 0x43a, offset 0x10e80\n\t0x10e80: 0xe000448e, 0x10e81: 0xe0007d82, 0x10e83: 0xe00051f8,\n\t0x10e84: 0xe0006e5c, 0x10e86: 0xe0009598, 0x10e87: 0xe0005754,\n\t0x10e89: 0xe000a781, 0x10e8a: 0xe000a0d3, 0x10e8b: 0xe0009658,\n\t0x10e91: 0xe00083c6, 0x10e93: 0xe0007ef5,\n\t0x10e94: 0xe0007643,\n\t0x10e98: 0xe0009504, 0x10e99: 0xe000a821, 0x10e9a: 0xe000a5b4,\n\t0x10e9c: 0xe000a925, 0x10e9d: 0xe00042b8, 0x10e9e: 0xe0008ffd, 0x10e9f: 0xe00081e5,\n\t0x10ea3: 0xe000a79c,\n\t0x10ea4: 0xe000a69c, 0x10ea7: 0xe000a802,\n\t0x10ea8: 0xe00058c5, 0x10ea9: 0xe000821e, 0x10eaa: 0xe0006cb4, 0x10eab: 0xe0005197,\n\t0x10eac: 0xe0004bcf, 0x10eae: 0xe0005336,\n\t0x10eb0: 0xe00074b1,\n\t// Block 0x43b, offset 0x10ec0\n\t0x10ec5: 0xe000a784, 0x10ec7: 0xe0006d4c,\n\t0x10ec9: 0xe00070b4,\n\t0x10ed1: 0xe000a127,\n\t0x10ed4: 0xe0009101,\n\t0x10eda: 0xe0007c6d, 0x10edb: 0xe0004675,\n\t0x10edc: 0xe0005057, 0x10edf: 0xe0009251,\n\t0x10ee0: 0xe00057a3, 0x10ee2: 0xe0007d56, 0x10ee3: 0xe0006af7,\n\t0x10ee4: 0xe00099ae,\n\t0x10ef7: 0xe0007cb8,\n\t0x10efd: 0xe0007195, 0x10efe: 0xe0008ea7, 0x10eff: 0xe0009bb0,\n\t// Block 0x43c, offset 0x10f00\n\t0x10f04: 0xe0004c14, 0x10f06: 0xe0009b5c,\n\t0x10f08: 0xe0008d7f, 0x10f09: 0xe0004178,\n\t0x10f0c: 0xe0009f1b, 0x10f0d: 0xe0005c15, 0x10f0e: 0xe00076ab,\n\t0x10f10: 0xe0004c17, 0x10f12: 0xe000a403,\n\t0x10f14: 0xe0004c6b, 0x10f16: 0xe000946d, 0x10f17: 0xe0006cb8,\n\t0x10f29: 0xe000a57a,\n\t0x10f2c: 0xe0009805, 0x10f2f: 0xe000703f,\n\t0x10f32: 0xe0008cf5,\n\t0x10f34: 0xe000995b, 0x10f36: 0xe00073f4, 0x10f37: 0xe000a499,\n\t0x10f38: 0xe000617d, 0x10f39: 0xe0005bbf, 0x10f3b: 0xe000a961,\n\t0x10f3f: 0xe0006191,\n\t// Block 0x43d, offset 0x10f40\n\t0x10f41: 0xe0007cbb, 0x10f42: 0xe0008f9d,\n\t0x10f49: 0xe0005412, 0x10f4b: 0xe0009c56,\n\t0x10f4d: 0xe000972d, 0x10f4e: 0xe0007acf, 0x10f4f: 0xe000a90b,\n\t0x10f53: 0xe000a236,\n\t0x10f64: 0xe0004fef, 0x10f65: 0xe00052a5,\n\t0x10f68: 0xe000505a, 0x10f69: 0xe0007647, 0x10f6a: 0xe0008d82, 0x10f6b: 0xe000a928,\n\t0x10f6c: 0xe0006dda, 0x10f6d: 0xe0004c1a, 0x10f6f: 0xe0007781,\n\t0x10f72: 0xe0009aa5,\n\t0x10f74: 0xe0006864, 0x10f76: 0xe00042dc,\n\t0x10f78: 0xe0009c5a, 0x10f7a: 0xe000751d,\n\t// Block 0x43e, offset 0x10f80\n\t0x10f80: 0xe0005269,\n\t0x10f84: 0xe000a717, 0x10f86: 0xe000a736, 0x10f87: 0xe000a01a,\n\t0x10f8f: 0xe00096af,\n\t0x10f99: 0xe0004c1d, 0x10f9a: 0xe0008376,\n\t0x10fa5: 0xe0007a0f,\n\t0x10fac: 0xe0006a47, 0x10fae: 0xe000a216,\n\t0x10fb3: 0xe00048ea,\n\t0x10fb4: 0xe000796f, 0x10fb6: 0xe00077f0,\n\t0x10fbc: 0xe0008676,\n\t// Block 0x43f, offset 0x10fc0\n\t0x10fc0: 0xe0008a0d, 0x10fc1: 0xe0006fac, 0x10fc2: 0xe000a75d, 0x10fc3: 0xe000870e,\n\t0x10fc8: 0xe0007c1f, 0x10fc9: 0xe000576f, 0x10fca: 0xe0005208,\n\t0x10fcd: 0xe000a92b,\n\t0x10fd1: 0xe000977c,\n\t0x10fda: 0xe0007198, 0x10fdb: 0xe0006afa,\n\t0x10fde: 0xe000a6bb, 0x10fdf: 0xe0007521,\n\t0x10fe0: 0xe00084fa,\n\t0x10fe6: 0xe0007a87,\n\t0x10feb: 0xe000a50d,\n\t0x10fee: 0xe0007dc1,\n\t0x10ff0: 0xe00048fe,\n\t0x10ff7: 0xe0004f1b,\n\t0x10ff9: 0xe0005a0c, 0x10ffa: 0xe0004811,\n\t0x10fff: 0xe000829f,\n\t// Block 0x440, offset 0x11000\n\t0x11001: 0xe000837a, 0x11002: 0xe000a4ed, 0x11003: 0xe0009e74,\n\t0x11004: 0xe00078e5,\n\t0x11008: 0xe0004e17, 0x11009: 0xe0007903, 0x1100a: 0xe0009688, 0x1100b: 0xe0004d7f,\n\t0x1100d: 0xe00081a6,\n\t0x11012: 0xe00080f6, 0x11013: 0xe00080f2,\n\t0x11016: 0xe0005515,\n\t0x11018: 0xe000533a,\n\t0x1101c: 0xe0008152, 0x1101f: 0xe0009c50,\n\t0x11025: 0xe0005b0a,\n\t0x11028: 0xe0008800,\n\t0x1102c: 0xe0007cbe, 0x1102d: 0xe0004ea6, 0x1102e: 0xe00069cf,\n\t0x11030: 0xe000905e,\n\t0x1103b: 0xe000505d,\n\t0x1103e: 0xe000501b,\n\t// Block 0x441, offset 0x11040\n\t0x11040: 0xe0009061, 0x11042: 0xe0009d28,\n\t0x11047: 0xe0004f07,\n\t0x1104a: 0xe00063f0,\n\t0x1104c: 0xe00068ac, 0x1104d: 0xe00053ca, 0x1104e: 0xe00042f8, 0x1104f: 0xe00064c5,\n\t0x11050: 0xe0008e74, 0x11051: 0xe0004496,\n\t0x11061: 0xe0009cca,\n\t0x11064: 0xe0004902, 0x11066: 0xe0009b60, 0x11067: 0xe00094dc,\n\t0x11068: 0xe00084a4, 0x11069: 0xe0004344, 0x1106a: 0xe0009e0c,\n\t0x1106e: 0xe00054c4, 0x1106f: 0xe00064c8,\n\t0x11070: 0xe00046b5, 0x11071: 0xe0007747, 0x11073: 0xe0007ef8,\n\t0x11075: 0xe0004c6e, 0x11077: 0xe00041c3,\n\t0x11078: 0xe0004d07, 0x1107b: 0xe00090b8,\n\t0x1107c: 0xe0009b08,\n\t// Block 0x442, offset 0x11080\n\t0x11082: 0xe000719b,\n\t0x11088: 0xe00054c1, 0x1108b: 0xe000a38d,\n\t0x1108c: 0xe0005681,\n\t0x11093: 0xe000a198,\n\t0x11095: 0xe000a79f,\n\t0x1109e: 0xe0009ad8,\n\t0x110a0: 0xe0008356, 0x110a2: 0xe0004c71, 0x110a3: 0xe00080fa,\n\t0x110a4: 0xe00091e9,\n\t0x110b8: 0xe0007e25,\n\t0x110bd: 0xe000837e,\n\t// Block 0x443, offset 0x110c0\n\t0x110c3: 0xe000775d,\n\t0x110c6: 0xe0004218, 0x110c7: 0xe0007f52,\n\t0x110c8: 0xe0008f5d, 0x110c9: 0xe000a36d, 0x110cb: 0xe0005f03,\n\t0x110ce: 0xe0006fc8, 0x110cf: 0xe0007a8b,\n\t0x110d1: 0xe00095c0, 0x110d2: 0xe00057ef,\n\t0x110dc: 0xe000781e, 0x110df: 0xe00079df,\n\t0x110e0: 0xe00067a1,\n\t0x110e4: 0xe00069d2,\n\t0x110ed: 0xe0009c1e,\n\t0x110f0: 0xe0009436, 0x110f3: 0xe0004348,\n\t0x110f4: 0xe0007475, 0x110f7: 0xe0009209,\n\t0x110f9: 0xe0006492, 0x110fa: 0xe0005060, 0x110fb: 0xe0008fa1,\n\t0x110fc: 0xe0005063, 0x110fd: 0xe00070b7,\n\t// Block 0x444, offset 0x11100\n\t0x11100: 0xe0004dcb, 0x11102: 0xe0005452, 0x11103: 0xe0004926,\n\t0x11105: 0xe00045e5, 0x11106: 0xe0009c86,\n\t0x11108: 0xe00043a0, 0x11109: 0xe00082f6, 0x1110a: 0xe00075ff, 0x1110b: 0xe000693c,\n\t0x11117: 0xe000562d,\n\t0x11119: 0xe000852e,\n\t0x1111d: 0xe0004a11, 0x1111e: 0xe0009628,\n\t0x11120: 0xe000a7a2, 0x11121: 0xe000667f, 0x11123: 0xe0008035,\n\t0x11124: 0xe0008c7a, 0x11126: 0xe00047e1, 0x11127: 0xe0007a13,\n\t0x1112a: 0xe00042fc,\n\t0x1112f: 0xe0007ea4,\n\t0x11130: 0xe000792b, 0x11131: 0xe0006682,\n\t0x11134: 0xe000872a, 0x11135: 0xe0005518,\n\t0x1113a: 0xe000479f,\n\t// Block 0x445, offset 0x11140\n\t0x11140: 0xe0006660,\n\t0x11149: 0xe00094e0, 0x1114a: 0xe0004b78, 0x1114b: 0xe0007b47,\n\t0x1114c: 0xe0009bcc, 0x1114d: 0xe00073e6, 0x1114f: 0xe000444c,\n\t0x11150: 0xe00070ba, 0x11151: 0xe0007042, 0x11152: 0xe000744e,\n\t0x11154: 0xe0009bbc, 0x11157: 0xe000551b,\n\t0x11158: 0xe0005456, 0x11159: 0xe0004880, 0x1115a: 0xe00097c0,\n\t0x1115e: 0xe0006d40,\n\t0x11161: 0xe0008981, 0x11162: 0xe0007c70,\n\t0x11164: 0xe000a7c2,\n\t0x11169: 0xe0007aff,\n\t0x11175: 0xe0009105,\n\t0x11179: 0xe000932f,\n\t0x1117c: 0xe0008985, 0x1117d: 0xe0006d1c, 0x1117e: 0xe0007289,\n\t// Block 0x446, offset 0x11180\n\t0x11180: 0xe00090bb, 0x11181: 0xe0005e73, 0x11183: 0xe00046b9,\n\t0x11185: 0xe0006d80,\n\t0x11189: 0xe0007f56, 0x1118a: 0xe0008afd,\n\t0x1118d: 0xe0005111,\n\t0x11190: 0xe0004f97, 0x11193: 0xe000610b,\n\t0x1119c: 0xe000981d, 0x1119d: 0xe0007efb, 0x1119e: 0xe000901d, 0x1119f: 0xe000a239,\n\t0x111a1: 0xe0006ed0, 0x111a3: 0xe0006705,\n\t0x111a8: 0xe0006189, 0x111a9: 0xe00055ed, 0x111ab: 0xe0008fa5,\n\t0x111ae: 0xe0009ab4,\n\t0x111b0: 0xe0005416, 0x111b1: 0xe0005738, 0x111b3: 0xe0006868,\n\t0x111ba: 0xe0007c73, 0x111bb: 0xe000872e,\n\t0x111be: 0xe0004230,\n\t// Block 0x447, offset 0x111c0\n\t0x111c1: 0xe0006588, 0x111c3: 0xe0004404,\n\t0x111c5: 0xe0007d5e, 0x111c7: 0xe000533e,\n\t0x111ce: 0xe000a7c6,\n\t0x111d1: 0xe000a02f, 0x111d3: 0xe0007717,\n\t0x111d4: 0xe0005587, 0x111d5: 0xe000a421,\n\t0x111d8: 0xe0005beb, 0x111d9: 0xe0004b09, 0x111da: 0xe0005ac4,\n\t0x111dc: 0xe000541a, 0x111dd: 0xe00082a2, 0x111de: 0xe0004b7b, 0x111df: 0xe0005b2a,\n\t0x111e4: 0xe0007861,\n\t0x111eb: 0xe0006afd,\n\t0x111ec: 0xe0008586, 0x111ef: 0xe0008732,\n\t0x111f9: 0xe0008562, 0x111fa: 0xe000a424, 0x111fb: 0xe0006d83,\n\t0x111fd: 0xe000719e,\n\t// Block 0x448, offset 0x11200\n\t0x11206: 0xe0006775,\n\t0x11208: 0xe000882d,\n\t0x1120f: 0xe0009ff6,\n\t0x11210: 0xe000a3d1,\n\t0x11214: 0xe0005066, 0x11215: 0xe0006df8, 0x11216: 0xe0007e74,\n\t0x11219: 0xe000728d, 0x1121a: 0xe0005321,\n\t0x1121c: 0xe0007809,\n\t0x11222: 0xe00060d4,\n\t0x11224: 0xe0008532, 0x11225: 0xe0004a14, 0x11227: 0xe00054c7,\n\t0x11229: 0xe0009508, 0x1122a: 0xe0009bfa, 0x1122b: 0xe00067a4,\n\t0x1122c: 0xe0009aa8, 0x1122d: 0xe0007ea7, 0x1122e: 0xe000772b, 0x1122f: 0xe000a17b,\n\t0x11231: 0xe0007541,\n\t0x11237: 0xe0008462,\n\t0x11238: 0xe0004a17,\n\t0x1123e: 0xe000a33d,\n\t// Block 0x449, offset 0x11240\n\t0x11244: 0xe0007973, 0x11247: 0xe0005069,\n\t0x11248: 0xe000521a, 0x11249: 0xe0006735,\n\t0x1124e: 0xe0004ea9, 0x1124f: 0xe0008eaa,\n\t0x11250: 0xe000a5b8, 0x11251: 0xe00047a2, 0x11253: 0xe0009275,\n\t0x11254: 0xe000686c, 0x11255: 0xe000a279, 0x11257: 0xe0009c9e,\n\t0x11258: 0xe00087b2, 0x1125a: 0xe000a19b,\n\t0x11260: 0xe0008989, 0x11262: 0xe0006b00,\n\t0x11267: 0xe0007c76,\n\t0x11269: 0xe00059ec, 0x1126a: 0xe0009b94, 0x1126b: 0xe000830e,\n\t0x1126c: 0xe0008736, 0x1126d: 0xe0006dfc, 0x1126e: 0xe0006870,\n\t0x11273: 0xe0005232,\n\t0x11274: 0xe0005274, 0x11276: 0xe0005226,\n\t0x11278: 0xe0004234,\n\t0x1127d: 0xe000a427,\n\t// Block 0x44a, offset 0x11280\n\t0x11282: 0xe00079b7, 0x11283: 0xe0006957,\n\t0x11284: 0xe0005ebf,\n\t0x1128a: 0xe000858a,\n\t0x11291: 0xe0009cfd, 0x11292: 0xe0009cad, 0x11293: 0xe000506c,\n\t0x11296: 0xe0007eaa, 0x11297: 0xe0004fbb,\n\t0x11299: 0xe000610e,\n\t0x1129d: 0xe00087b6,\n\t0x112a3: 0xe00069d5,\n\t0x112a5: 0xe0009ab7, 0x112a7: 0xe0007e29,\n\t0x112a8: 0xe00063f4,\n\t0x112ac: 0xe0009ca1, 0x112af: 0xe00098e6,\n\t0x112b2: 0xe00053b2,\n\t0x112b9: 0xe0005f06, 0x112bb: 0xe0009488,\n\t0x112be: 0xe000962c,\n\t// Block 0x44b, offset 0x112c0\n\t0x112c3: 0xe0008b61,\n\t0x112c6: 0xe000603c,\n\t0x112c8: 0xe0005a50, 0x112c9: 0xe00085db, 0x112cb: 0xe00073f7,\n\t0x112cd: 0xe0006c0c,\n\t0x112d0: 0xe000886b, 0x112d1: 0xe0004814, 0x112d2: 0xe0006b93, 0x112d3: 0xe0006fcc,\n\t0x112d4: 0xe00081a9,\n\t0x112d9: 0xe000858e, 0x112da: 0xe0007ead,\n\t0x112dc: 0xe00043a4, 0x112dd: 0xe0008e9b, 0x112de: 0xe000518b,\n\t0x112e3: 0xe0004c20,\n\t0x112e4: 0xe0004d0a, 0x112e5: 0xe000607e, 0x112e6: 0xe0004238,\n\t0x112e8: 0xe0008465, 0x112ea: 0xe00091b5,\n\t0x112ec: 0xe000a92e, 0x112ee: 0xe000a147,\n\t0x112f8: 0xe0007a17, 0x112fa: 0xe0007525, 0x112fb: 0xe00084fe,\n\t0x112ff: 0xe00085de,\n\t// Block 0x44c, offset 0x11300\n\t0x11301: 0xe00081ac, 0x11303: 0xe0007e68,\n\t0x11309: 0xe0006acf,\n\t0x11311: 0xe0006b03, 0x11313: 0xe0006229,\n\t0x11318: 0xe000520c, 0x11319: 0xe000a3d5, 0x1131b: 0xe0007c79,\n\t0x1131c: 0xe000519e, 0x1131f: 0xe0007a1b,\n\t0x11320: 0xe00074cd, 0x11323: 0xe0008cb9,\n\t0x11325: 0xe00075b4, 0x11327: 0xe0009c21,\n\t0x11329: 0xe0005e2f,\n\t0x1132d: 0xe0007784,\n\t0x11335: 0xe0009868, 0x11336: 0xe000995e,\n\t0x1133c: 0xe000939f, 0x1133f: 0xe00075e4,\n\t// Block 0x44d, offset 0x11340\n\t0x11340: 0xe00075e7, 0x11341: 0xe0005bee,\n\t0x11346: 0xe0009ccd,\n\t0x11349: 0xe0007dd9,\n\t0x1134c: 0xe00072c1,\n\t0x11350: 0xe0007dc4,\n\t0x1135a: 0xe000a4d5,\n\t0x11362: 0xe000695a, 0x11363: 0xe0008536,\n\t0x11366: 0xe00067a7, 0x11367: 0xe0008c2d,\n\t0x1136a: 0xe000581f,\n\t0x11372: 0xe000a57d,\n\t0x11377: 0xe0008c31,\n\t0x1137f: 0xe0006ddd,\n\t// Block 0x44e, offset 0x11380\n\t0x11384: 0xe000622c,\n\t0x1138d: 0xe000680d,\n\t0x11392: 0xe0005f09, 0x11393: 0xe000a6a0,\n\t0x11395: 0xe00076ef,\n\t0x1139a: 0xe00061f0, 0x1139b: 0xe00080fe,\n\t0x1139f: 0xe0006f48,\n\t0x113a2: 0xe0006081,\n\t0x113a4: 0xe00073fa, 0x113a7: 0xe0007e71,\n\t0x113aa: 0xe0007cc1,\n\t0x113b3: 0xe00074b5,\n\t0x113b5: 0xe00085ce,\n\t0x113ba: 0xe000622f, 0x113bb: 0xe0006388,\n\t0x113bc: 0xe0007d26, 0x113bd: 0xe0005df8, 0x113be: 0xe0004d0d, 0x113bf: 0xe0004b8d,\n\t// Block 0x44f, offset 0x113c0\n\t0x113c1: 0xe000417b, 0x113c2: 0xe00071a1,\n\t0x113c4: 0xe0008102,\n\t0x113c8: 0xe00077f4, 0x113c9: 0xe00091b9, 0x113cb: 0xe00052bd,\n\t0x113cc: 0xe000a331,\n\t0x113d6: 0xe0009f1e, 0x113d7: 0xe0004d10,\n\t0x113d9: 0xe0006ed4, 0x113da: 0xe0005e77, 0x113db: 0xe0007c22,\n\t0x113e0: 0xe0005d3c, 0x113e1: 0xe00088f1, 0x113e2: 0xe0004ed3, 0x113e3: 0xe0007947,\n\t0x113e5: 0xe0008a11, 0x113e6: 0xe000a14b,\n\t0x113e9: 0xe00052d5, 0x113eb: 0xe0006084,\n\t0x113ed: 0xe000a49c, 0x113ee: 0xe000a49f, 0x113ef: 0xe0007cc4,\n\t0x113f6: 0xe0009730,\n\t0x113fa: 0xe000a097, 0x113fb: 0xe000a09b,\n\t0x113fd: 0xe0005bc2,\n\t// Block 0x450, offset 0x11400\n\t0x11400: 0xe0004ed6,\n\t0x11405: 0xe000a553,\n\t0x11408: 0xe0007efe, 0x11409: 0xe000a931, 0x1140b: 0xe0006e60,\n\t0x1140c: 0xe0004bd2,\n\t0x11416: 0xe0009e3b,\n\t0x11419: 0xe00087ba, 0x1141b: 0xe000a2ed,\n\t0x11425: 0xe0008d85,\n\t0x11428: 0xe0008623, 0x1142a: 0xe0006a4b,\n\t0x1142d: 0xe0005229,\n\t0x11430: 0xe0007bbb, 0x11432: 0xe00052c0,\n\t0x11434: 0xe0007bb7,\n\t0x1143e: 0xe00057cb, 0x1143f: 0xe0007a8f,\n\t// Block 0x451, offset 0x11440\n\t0x11440: 0xe0006cbc, 0x11443: 0xe0007865,\n\t0x11445: 0xe0006f84,\n\t0x1144c: 0xe0005998,\n\t0x11450: 0xe00085e1, 0x11451: 0xe000a319,\n\t0x11454: 0xe0004986, 0x11455: 0xe00085c6, 0x11456: 0xe0008626, 0x11457: 0xe00085e4,\n\t0x11458: 0xe0008ded, 0x1145a: 0xe00067aa, 0x1145b: 0xe0009d81,\n\t0x1145c: 0xe00085e7, 0x1145d: 0xe000a739, 0x1145f: 0xe0005f68,\n\t0x11461: 0xe0009c24, 0x11463: 0xe00047a5,\n\t0x11464: 0xe0004817, 0x11465: 0xe0005286,\n\t0x11469: 0xe000a19e, 0x1146b: 0xe000711c,\n\t0x11470: 0xe0007291, 0x11471: 0xe00086c2,\n\t0x11475: 0xe00067ad, 0x11476: 0xe0008629,\n\t0x11478: 0xe000a033, 0x1147a: 0xe0008221,\n\t0x1147c: 0xe000795b, 0x1147f: 0xe0006c10,\n\t// Block 0x452, offset 0x11480\n\t0x11481: 0xe00088b3, 0x11482: 0xe0007fa2,\n\t0x11485: 0xe0005500, 0x11487: 0xe0007fdb,\n\t0x11488: 0xe00071a4, 0x11489: 0xe0007663, 0x1148a: 0xe00041c6, 0x1148b: 0xe0007148,\n\t0x1148c: 0xe0007ddd, 0x1148f: 0xe0004ba6,\n\t0x11493: 0xe00066d1,\n\t0x11495: 0xe0009bd4, 0x11496: 0xe000a71b, 0x11497: 0xe0008e09,\n\t0x11498: 0xe0004a5d, 0x11499: 0xe0008ead, 0x1149a: 0xe0008b65, 0x1149b: 0xe0007de1,\n\t0x1149c: 0xe000840b,\n\t0x114a2: 0xe0004492, 0x114a3: 0xe0006e64,\n\t0x114a4: 0xe0007545, 0x114a5: 0xe0008224, 0x114a6: 0xe000a5bc,\n\t0x114ac: 0xe0006fd0, 0x114ae: 0xe0004deb,\n\t0x114b0: 0xe0008803, 0x114b3: 0xe000a1a1,\n\t0x114b4: 0xe0007a1f, 0x114b5: 0xe0007045, 0x114b6: 0xe000417e,\n\t0x114b8: 0xe00074d1, 0x114b9: 0xe0007f5a,\n\t0x114bf: 0xe0007295,\n\t// Block 0x453, offset 0x114c0\n\t0x114c0: 0xe0009439, 0x114c2: 0xe00088f5, 0x114c3: 0xe0008106,\n\t0x114c4: 0xe000506f, 0x114c5: 0xe0008502, 0x114c6: 0xe00062ac, 0x114c7: 0xe0004c74,\n\t0x114cc: 0xe00067b0,\n\t0x114d0: 0xe0005f0c, 0x114d2: 0xe000a05b, 0x114d3: 0xe0007fde,\n\t0x114d4: 0xe0007479, 0x114d6: 0xe0009a7a, 0x114d7: 0xe000525d,\n\t0x114d8: 0xe00099f6,\n\t0x114de: 0xe0005e07, 0x114df: 0xe000930f,\n\t0x114e1: 0xe00049ea, 0x114e2: 0xe0009a5a,\n\t0x114e4: 0xe0007c7c, 0x114e5: 0xe0007eb0, 0x114e6: 0xe0007549, 0x114e7: 0xe0005259,\n\t0x114e8: 0xe000943c, 0x114e9: 0xe0007559, 0x114eb: 0xe0006b06,\n\t0x114ec: 0xe0004a61, 0x114ed: 0xe000a406, 0x114ee: 0xe0005ba1, 0x114ef: 0xe0008f61,\n\t0x114f0: 0xe000a5f4,\n\t0x114f5: 0xe00097c4, 0x114f6: 0xe0006685,\n\t0x114f8: 0xe00097a8, 0x114fa: 0xe0006b09,\n\t// Block 0x454, offset 0x11500\n\t0x11501: 0xe0006739,\n\t0x11504: 0xe0006b0c, 0x11505: 0xe0004f47, 0x11507: 0xe000873a,\n\t0x11508: 0xe000898d, 0x11509: 0xe00081af, 0x1150a: 0xe0008df1, 0x1150b: 0xe000755d,\n\t0x1150c: 0xe0008f10, 0x1150d: 0xe00054ca, 0x1150e: 0xe000551e, 0x1150f: 0xe0007048,\n\t0x11511: 0xe000704b,\n\t0x11514: 0xe00084a7, 0x11516: 0xe00095e4,\n\t0x11519: 0xe0006cc0,\n\t0x1151f: 0xe0006ed8,\n\t0x11520: 0xe0006edc,\n\t0x11524: 0xe0007fe1,\n\t0x11528: 0xe00063f8, 0x1152b: 0xe0007e59,\n\t0x11531: 0xe0009961,\n\t0x11538: 0xe00073fd, 0x11539: 0xe0008312, 0x1153a: 0xe00094a8, 0x1153b: 0xe000481a,\n\t0x1153c: 0xe00052f9, 0x1153e: 0xe00061f3, 0x1153f: 0xe00052ba,\n\t// Block 0x455, offset 0x11540\n\t0x11540: 0xe0004d83, 0x11541: 0xe00069d8,\n\t0x11545: 0xe00044b8, 0x11546: 0xe00047a8, 0x11547: 0xe0008a15,\n\t0x11548: 0xe0004dcf, 0x1154b: 0xe0007cfa,\n\t0x1154d: 0xe0007403, 0x1154e: 0xe0007400,\n\t0x11550: 0xe0004f4b, 0x11551: 0xe0006f14,\n\t0x11555: 0xe0008991,\n\t0x1155b: 0xe0006624,\n\t0x11560: 0xe0005521, 0x11562: 0xe0005bf1,\n\t0x11564: 0xe00099a4, 0x11565: 0xe0005cf7,\n\t0x11568: 0xe0004d13,\n\t0x1156c: 0xe00070f4, 0x1156f: 0xe00056e8,\n\t0x11571: 0xe0006be0, 0x11573: 0xe0006ee0,\n\t0x11579: 0xe000a8cb, 0x1157a: 0xe0005114,\n\t// Block 0x456, offset 0x11580\n\t0x11588: 0xe000a01d, 0x1158a: 0xe0008ac9,\n\t0x1158c: 0xe000501f, 0x1158f: 0xe0007e2d,\n\t0x11590: 0xe0005072, 0x11591: 0xe00086e2, 0x11592: 0xe0004679,\n\t0x11594: 0xe0009278,\n\t0x1159d: 0xe00086a2,\n\t0x115a1: 0xe00043a8, 0x115a3: 0xe0004d16,\n\t0x115a5: 0xe0009d00, 0x115a6: 0xe0005dd9, 0x115a7: 0xe0009733,\n\t0x115a8: 0xe00088b6, 0x115a9: 0xe00076cf, 0x115aa: 0xe0006904, 0x115ab: 0xe00071a7,\n\t0x115ac: 0xe0004384, 0x115ad: 0xe0005a54,\n\t0x115b1: 0xe00054cd, 0x115b3: 0xe0007603,\n\t0x115b5: 0xe000a42a, 0x115b7: 0xe0006250,\n\t0x115b8: 0xe0007667, 0x115ba: 0xe0005a10,\n\t0x115be: 0xe0008ad9,\n\t// Block 0x457, offset 0x115c0\n\t0x115c0: 0xe00071aa,\n\t0x115d2: 0xe0005685,\n\t0x115d9: 0xe00099b1,\n\t0x115e0: 0xe0006cc4,\n\t0x115e8: 0xe00075b7, 0x115e9: 0xe00075ea,\n\t0x115ed: 0xe0009736, 0x115ef: 0xe000673d,\n\t0x115f0: 0xe0006741, 0x115f1: 0xe0005289,\n\t0x115f4: 0xe000a29d, 0x115f6: 0xe0005524,\n\t0x115fb: 0xe0008f65,\n\t0x115fd: 0xe000a341,\n\t// Block 0x458, offset 0x11600\n\t0x11606: 0xe00049ba, 0x11607: 0xe0007375,\n\t0x1160d: 0xe0005872, 0x1160e: 0xe0005075,\n\t0x11610: 0xe000492a, 0x11611: 0xe0004906,\n\t0x11614: 0xe00097ff, 0x11615: 0xe0007787, 0x11616: 0xe0007760, 0x11617: 0xe00043ac,\n\t0x11619: 0xe0005c78, 0x1161b: 0xe0004ddf,\n\t0x1161f: 0xe00083ca,\n\t0x11622: 0xe000884f,\n\t0x11624: 0xe000a760, 0x11626: 0xe000797f, 0x11627: 0xe0007379,\n\t0x11629: 0xe0006924,\n\t0x11634: 0xe0007e86,\n\t0x1163d: 0xe0008830,\n\t// Block 0x459, offset 0x11640\n\t0x11641: 0xe000434c, 0x11642: 0xe0005c98,\n\t0x1164b: 0xe00061f6,\n\t0x1164c: 0xe0004300, 0x1164e: 0xe0008038,\n\t0x11650: 0xe00057f7, 0x11653: 0xe00076f3,\n\t0x11654: 0xe0007e89,\n\t0x11669: 0xe000737d,\n\t0x1166c: 0xe0007e77, 0x1166f: 0xe0009254,\n\t0x11671: 0xe0007fa6,\n\t// Block 0x45a, offset 0x11680\n\t0x11681: 0xe0005c18, 0x11682: 0xe00087be,\n\t0x11684: 0xe0009357, 0x11687: 0xe0004c77,\n\t0x1168b: 0xe0005527,\n\t0x11692: 0xe0009049,\n\t0x11694: 0xe0004ff3, 0x11695: 0xe0009739,\n\t0x11699: 0xe0005d81,\n\t0x1169d: 0xe0005710,\n\t0x116a0: 0xe0004bd5, 0x116a2: 0xe0007eb3,\n\t0x116a7: 0xe00079ff,\n\t0x116aa: 0xe0007997, 0x116ab: 0xe000799f,\n\t0x116ae: 0xe000a26d,\n\t0x116b0: 0xe000a1c8,\n\t0x116b7: 0xe0008444,\n\t0x116b8: 0xe0007b4b, 0x116ba: 0xe0005a14,\n\t0x116bc: 0xe0006d86, 0x116bd: 0xe0007607,\n\t// Block 0x45b, offset 0x116c0\n\t0x116c9: 0xe000935b, 0x116cb: 0xe0004ed9,\n\t0x116cd: 0xe0007e7a,\n\t0x116d1: 0xe00092f7, 0x116d2: 0xe0005e33, 0x116d3: 0xe0008a19,\n\t0x116d6: 0xe00076d3,\n\t0x116da: 0xe000a255,\n\t0x116dd: 0xe000950c, 0x116de: 0xe0008eb0,\n\t0x116e1: 0xe00072d1, 0x116e2: 0xe000704e,\n\t0x116e5: 0xe000498a, 0x116e6: 0xe0008e77, 0x116e7: 0xe0004bd8,\n\t0x116e8: 0xe00044bb, 0x116eb: 0xe000613b,\n\t0x116ee: 0xe0009257,\n\t0x116f1: 0xe0005078, 0x116f2: 0xe0008468, 0x116f3: 0xe0006b0f,\n\t0x116f4: 0xe0009cd0, 0x116f5: 0xe00099f9, 0x116f7: 0xe000a14f,\n\t0x116f9: 0xe0004f9b,\n\t0x116fd: 0xe0007120, 0x116fe: 0xe0004518,\n\t// Block 0x45c, offset 0x11700\n\t0x11702: 0xe0007406, 0x11703: 0xe0009e77,\n\t0x11706: 0xe000654c,\n\t0x11709: 0xe00068b0,\n\t0x1170c: 0xe000a934,\n\t0x11711: 0xe0009bd8,\n\t0x11715: 0xe0005eb3, 0x11716: 0xe0009630,\n\t0x11719: 0xe00091bd, 0x1171a: 0xe000986b, 0x1171b: 0xe00064dc,\n\t0x1171d: 0xe0008c7d,\n\t0x11725: 0xe00071ad,\n\t0x11728: 0xe0007030, 0x1172b: 0xe0006b12,\n\t0x1172d: 0xe0006e00,\n\t0x11733: 0xe000873e,\n\t0x11736: 0xe00054d0, 0x11737: 0xe00082a5,\n\t0x11738: 0xe0006cc8,\n\t0x1173d: 0xe000603f, 0x1173f: 0xe000a787,\n\t// Block 0x45d, offset 0x11740\n\t0x11740: 0xe0008b69, 0x11743: 0xe00081e8,\n\t0x11744: 0xe000760b, 0x11745: 0xe0009ed7, 0x11747: 0xe00063fc,\n\t0x1174c: 0xe000a640, 0x1174e: 0xe0005f98,\n\t0x11754: 0xe0005e7b, 0x11755: 0xe0005e0b,\n\t0x11758: 0xe0009471,\n\t0x1175e: 0xe0006709, 0x1175f: 0xe00099b4,\n\t0x11761: 0xe00064f8, 0x11762: 0xe000545a, 0x11763: 0xe0009e3e,\n\t0x11768: 0xe0009608, 0x1176a: 0xe00060e0, 0x1176b: 0xe0006460,\n\t0x1176c: 0xe0008f13,\n\t0x11770: 0xe000a259, 0x11771: 0xe00057cf, 0x11772: 0xe000423c, 0x11773: 0xe0009e10,\n\t0x11774: 0xe0005239, 0x11777: 0xe0006628,\n\t0x11778: 0xe000a1fa, 0x11779: 0xe0004240, 0x1177a: 0xe0007f01, 0x1177b: 0xe000a5c0,\n\t0x1177c: 0xe0008227, 0x1177d: 0xe000822a, 0x1177e: 0xe000507b, 0x1177f: 0xe0007983,\n\t// Block 0x45e, offset 0x11780\n\t0x11784: 0xe0008742, 0x11787: 0xe000695d,\n\t0x1178a: 0xe0006ccc, 0x1178b: 0xe0005117,\n\t0x1178f: 0xe0006d89,\n\t0x11795: 0xe000886e, 0x11796: 0xe0009eb6, 0x11797: 0xe0008add,\n\t0x1179a: 0xe00046bd,\n\t0x1179c: 0xe00067b3,\n\t0x117a0: 0xe0006cd0,\n\t0x117a6: 0xe000552a, 0x117a7: 0xe0008e7a,\n\t0x117ab: 0xe000481d,\n\t0x117ad: 0xe0008b6d,\n\t0x117b3: 0xe00069db,\n\t0x117b5: 0xe00076d7, 0x117b6: 0xe0006d8c, 0x117b7: 0xe00043b0,\n\t0x117b8: 0xe0007f5e,\n\t0x117bd: 0xe000803b, 0x117be: 0xe000822d,\n\t// Block 0x45f, offset 0x117c0\n\t0x117c1: 0xe000999c, 0x117c2: 0xe0006cd4,\n\t0x117c8: 0xe0009ff9, 0x117c9: 0xe00059d8, 0x117ca: 0xe0005837, 0x117cb: 0xe000724c,\n\t0x117d0: 0xe0004c7a, 0x117d1: 0xe0004f9f, 0x117d3: 0xe0004a35,\n\t0x117d5: 0xe00083ce, 0x117d6: 0xe0005ba4,\n\t0x117da: 0xe0008eb3, 0x117db: 0xe0008995,\n\t0x117dd: 0xe0007451, 0x117de: 0xe000a8f7, 0x117df: 0xe0006111,\n\t0x117e0: 0xe00093a3, 0x117e1: 0xe0006180, 0x117e2: 0xe0009e41, 0x117e3: 0xe0004b0d,\n\t0x117e5: 0xe0004b90, 0x117e7: 0xe00087c2,\n\t0x117e8: 0xe000a1cb, 0x117e9: 0xe0005cc0,\n\t0x117ec: 0xe00058e9,\n\t0x117f1: 0xe0007d86, 0x117f3: 0xe0009664,\n\t0x117f6: 0xe0007a23, 0x117f7: 0xe0008b71,\n\t0x117fa: 0xe000451c, 0x117fb: 0xe000a6be,\n\t0x117ff: 0xe00085ba,\n\t// Block 0x460, offset 0x11800\n\t0x11801: 0xe00065c8, 0x11803: 0xe000511a,\n\t0x11804: 0xe0005b2e, 0x11807: 0xe0004350,\n\t0x11808: 0xe000a289, 0x1180a: 0xe0009e44, 0x1180b: 0xe00084da,\n\t0x1180f: 0xe000747d,\n\t0x11811: 0xe0007409, 0x11813: 0xe0004def,\n\t0x11814: 0xe0008cf8, 0x11815: 0xe0008506, 0x11817: 0xe00068f8,\n\t0x11818: 0xe000a515, 0x1181b: 0xe000846b,\n\t0x1181f: 0xe0008c80,\n\t0x11822: 0xe000558a,\n\t0x11825: 0xe0006232, 0x11826: 0xe000a2a1, 0x11827: 0xe000a42d,\n\t0x11829: 0xe0005277,\n\t0x1182d: 0xe0006235,\n\t0x11831: 0xe0007821,\n\t0x11834: 0xe0005615, 0x11835: 0xe0008746,\n\t0x1183a: 0xe00043b4,\n\t0x1183c: 0xe0009f8d,\n\t// Block 0x461, offset 0x11840\n\t0x11840: 0xe0004d19,\n\t0x11846: 0xe0006610,\n\t0x11848: 0xe0009b64, 0x1184a: 0xe00043b8,\n\t0x1184c: 0xe00061f9, 0x1184e: 0xe0005e37,\n\t0x11854: 0xe0005b0e, 0x11856: 0xe0005342, 0x11857: 0xe000a3e8,\n\t0x11858: 0xe00096b2, 0x11859: 0xe000a833, 0x1185b: 0xe000846e,\n\t0x1185d: 0xe00084aa,\n\t0x11862: 0xe000a391,\n\t0x11864: 0xe0005689, 0x11866: 0xe000792f, 0x11867: 0xe0008066,\n\t0x11869: 0xe000943f, 0x1186a: 0xe0009ef1, 0x1186b: 0xe0008cfb,\n\t0x1186c: 0xe0006a4f, 0x1186d: 0xe0009d90,\n\t0x11870: 0xe00093a7, 0x11871: 0xe0007b4f,\n\t0x11877: 0xe0006400,\n\t0x11879: 0xe00079e3,\n\t0x1187c: 0xe0009f64, 0x1187f: 0xe00068fc,\n\t// Block 0x462, offset 0x11880\n\t0x11880: 0xe0007e45, 0x11881: 0xe0008b75, 0x11882: 0xe0008d88,\n\t0x11885: 0xe00054d3, 0x11887: 0xe00072d5,\n\t0x11888: 0xe000a8af, 0x11889: 0xe00078b9, 0x1188a: 0xe000a6c1, 0x1188b: 0xe0005c8c,\n\t0x1188c: 0xe000a78a,\n\t0x11890: 0xe0006d8f, 0x11891: 0xe00046c1, 0x11892: 0xe000552d,\n\t0x11897: 0xe000570c,\n\t0x11898: 0xe0006495, 0x11899: 0xe0006b15,\n\t0x1189c: 0xe0006d20, 0x1189e: 0xe0008e0d,\n\t0x118a0: 0xe0005875, 0x118a1: 0xe00078e8, 0x118a3: 0xe000927b,\n\t0x118a7: 0xe0009de0,\n\t0x118a8: 0xe000a644, 0x118a9: 0xe00066d5, 0x118aa: 0xe00072d9,\n\t0x118ac: 0xe0006464, 0x118ad: 0xe0007f04, 0x118ae: 0xe00061fc, 0x118af: 0xe000a409,\n\t0x118b5: 0xe0009229, 0x118b7: 0xe0005504,\n\t0x118b9: 0xe000959c,\n\t0x118bc: 0xe0007f07, 0x118bd: 0xe000a836,\n\t// Block 0x463, offset 0x118c0\n\t0x118c3: 0xe0007561,\n\t0x118c5: 0xe0009f91,\n\t0x118c9: 0xe000558d,\n\t0x118cc: 0xe000507e, 0x118cd: 0xe000850a,\n\t0x118d0: 0xe0009bb4, 0x118d2: 0xe0009cc2,\n\t0x118d6: 0xe00097ac, 0x118d7: 0xe0009064,\n\t0x118d8: 0xe0005ec3, 0x118d9: 0xe0005ec7,\n\t0x118dd: 0xe000960c, 0x118de: 0xe0006284, 0x118df: 0xe0006288,\n\t0x118e0: 0xe000991a, 0x118e1: 0xe0009932,\n\t0x118e4: 0xe0007cc7,\n\t0x118e8: 0xe0007e31, 0x118eb: 0xe0009aa2,\n\t0x118ed: 0xe00065dc, 0x118ee: 0xe000511d,\n\t0x118f1: 0xe0009a7e,\n\t0x118f5: 0xe0005249,\n\t0x118f8: 0xe00052eb, 0x118fb: 0xe000a8b3,\n\t0x118fc: 0xe0004408, 0x118fd: 0xe000a501, 0x118ff: 0xe0006874,\n\t// Block 0x464, offset 0x11900\n\t0x1190a: 0xe000973c,\n\t0x1190d: 0xe00086a6, 0x1190f: 0xe000772f,\n\t0x11912: 0xe000527a,\n\t0x11914: 0xe0008c35, 0x11915: 0xe0009d03, 0x11916: 0xe0009e7a, 0x11917: 0xe000965c,\n\t0x11919: 0xe000a4a2, 0x1191b: 0xe00053b6,\n\t0x1191c: 0xe0005a18, 0x1191d: 0xe0006b18,\n\t0x11920: 0xe0009bfd, 0x11921: 0xe0008471,\n\t0x11925: 0xe0005007, 0x11926: 0xe0009e20, 0x11927: 0xe0006fd4,\n\t0x11928: 0xe000810a, 0x11929: 0xe0005302, 0x1192a: 0xe0004b7e,\n\t0x1192f: 0xe0004598,\n\t0x11933: 0xe000a6a4,\n\t// Block 0x465, offset 0x11940\n\t0x11941: 0xe0008592, 0x11942: 0xe00072dd, 0x11943: 0xe000740c,\n\t0x11946: 0xe000a17f, 0x11947: 0xe0004b31,\n\t0x11948: 0xe0006087, 0x1194a: 0xe000a371,\n\t0x1194d: 0xe000a648,\n\t0x11950: 0xe000498e, 0x11952: 0xe000a153,\n\t0x11955: 0xe0006d92,\n\t0x11959: 0xe0007869, 0x1195a: 0xe00079a7,\n\t0x1195d: 0xe0004ad9, 0x1195f: 0xe000a893,\n\t0x11960: 0xe0004b93, 0x11962: 0xe000a6c4, 0x11963: 0xe00085ea,\n\t0x11964: 0xe000a86f, 0x11965: 0xe00099b7,\n\t0x11968: 0xe000a05f, 0x11969: 0xe000835a, 0x1196a: 0xe00041f0, 0x1196b: 0xe0009c7a,\n\t0x1196c: 0xe000524d, 0x1196d: 0xe0004992, 0x1196f: 0xe0007481,\n\t0x11970: 0xe000a8ff,\n\t// Block 0x466, offset 0x11980\n\t0x11981: 0xe0007a93, 0x11983: 0xe000492e,\n\t0x11984: 0xe000973f, 0x11985: 0xe0007abf,\n\t0x11989: 0xe000754d, 0x1198b: 0xe0005d85,\n\t0x1198c: 0xe0008c83, 0x1198d: 0xe000a063, 0x1198f: 0xe000a375,\n\t0x11992: 0xe00083e6,\n\t0x11994: 0xe000a6c7, 0x11995: 0xe000a964, 0x11996: 0xe0009d66, 0x11997: 0xe00061c9,\n\t0x1199a: 0xe000714c, 0x1199b: 0xe0008999,\n\t0x1199f: 0xe0007c7f,\n\t0x119a0: 0xe0008230, 0x119a2: 0xe00058c9, 0x119a3: 0xe000a5c4,\n\t0x119a4: 0xe00097c8, 0x119a7: 0xe0005cfa,\n\t0x119b0: 0xe0008e11, 0x119b1: 0xe00069de, 0x119b2: 0xe0006960, 0x119b3: 0xe0005508,\n\t0x119b4: 0xe000993a, 0x119b5: 0xe00093f7, 0x119b6: 0xe0006254,\n\t0x119b8: 0xe00047ab, 0x119bb: 0xe000a20a,\n\t0x119bc: 0xe0005530, 0x119bd: 0xe000948b, 0x119be: 0xe00049be,\n\t// Block 0x467, offset 0x119c0\n\t0x119c4: 0xe0005235, 0x119c5: 0xe0008b79, 0x119c6: 0xe000986e, 0x119c7: 0xe00055f1,\n\t0x119c9: 0xe0009610, 0x119cb: 0xe0007e35,\n\t0x119cf: 0xe0005823,\n\t0x119d1: 0xe000a4c9, 0x119d3: 0xe0004e33,\n\t0x119d5: 0xe00094e4,\n\t0x119d8: 0xe0005eeb, 0x119d9: 0xe00095c4, 0x119da: 0xe000a505, 0x119db: 0xe000a4f1,\n\t0x119dc: 0xe0006e04, 0x119dd: 0xe00093fb, 0x119df: 0xe0008233,\n\t0x119e0: 0xe000a3eb, 0x119e1: 0xe000760f, 0x119e2: 0xe0007180,\n\t0x119f0: 0xe0009aba, 0x119f1: 0xe00052b1, 0x119f2: 0xe00080ba, 0x119f3: 0xe0006cd8,\n\t0x119f4: 0xe0009946, 0x119f6: 0xe000a64c, 0x119f7: 0xe0008fa9,\n\t0x119f8: 0xe0004755, 0x119f9: 0xe000780c, 0x119fa: 0xe0006fd8, 0x119fb: 0xe0009994,\n\t0x119fc: 0xe0009de4,\n\t// Block 0x468, offset 0x11a00\n\t0x11a00: 0xe0009742, 0x11a01: 0xe00071b0, 0x11a03: 0xe0006ee4,\n\t0x11a06: 0xe0004520,\n\t0x11a08: 0xe0008236, 0x11a09: 0xe0008239,\n\t0x11a0d: 0xe0006258, 0x11a0e: 0xe0009db0, 0x11a0f: 0xe000840e,\n\t0x11a14: 0xe00083d2, 0x11a15: 0xe0007613,\n\t0x11a1a: 0xe0007fe4, 0x11a1b: 0xe0007763,\n\t0x11a1c: 0xe000a379, 0x11a1f: 0xe0004304,\n\t0x11a27: 0xe0004b81,\n\t0x11a2c: 0xe00070bd, 0x11a2d: 0xe0005120,\n\t0x11a30: 0xe000a650,\n\t0x11a34: 0xe00093ab, 0x11a37: 0xe000444f,\n\t0x11a3c: 0xe00074d5, 0x11a3e: 0xe0004452, 0x11a3f: 0xe000810e,\n\t// Block 0x469, offset 0x11a40\n\t0x11a42: 0xe0007f62,\n\t0x11a44: 0xe0005c90, 0x11a46: 0xe0005590, 0x11a47: 0xe000835e,\n\t0x11a48: 0xe00085ed, 0x11a4a: 0xe000465d, 0x11a4b: 0xe0009c00,\n\t0x11a4c: 0xe000a654, 0x11a4d: 0xe0007d2a,\n\t0x11a52: 0xe0008e4d, 0x11a53: 0xe0009ef4,\n\t0x11a55: 0xe0006042,\n\t0x11a58: 0xe0009333, 0x11a59: 0xe0009337, 0x11a5a: 0xe000935f,\n\t0x11a5d: 0xe0009cba, 0x11a5f: 0xe0009c62,\n\t0x11a60: 0xe0007cca, 0x11a62: 0xe0005e3b, 0x11a63: 0xe0004a65,\n\t0x11a64: 0xe00041f4, 0x11a67: 0xe000a3ee,\n\t0x11a68: 0xe0004455, 0x11a6b: 0xe0008e15,\n\t0x11a6e: 0xe00058ec,\n\t0x11a70: 0xe00081b2, 0x11a71: 0xe000537a, 0x11a73: 0xe000428c,\n\t0x11a74: 0xe00073b2, 0x11a75: 0xe0007faa, 0x11a76: 0xe00046c5, 0x11a77: 0xe00043bc,\n\t0x11a7a: 0xe0005c1b,\n\t0x11a7d: 0xe00094ac, 0x11a7e: 0xe0007f22,\n\t// Block 0x46a, offset 0x11a80\n\t0x11a81: 0xe00097cc, 0x11a82: 0xe0007fe7, 0x11a83: 0xe0007fae,\n\t0x11a8a: 0xe0006963,\n\t0x11a8d: 0xe0004c23, 0x11a8e: 0xe0009021,\n\t0x11a90: 0xe0005968, 0x11a91: 0xe0006ab3, 0x11a92: 0xe0004e79,\n\t0x11a94: 0xe00096d9, 0x11a96: 0xe0008382,\n\t0x11a98: 0xe000a93a, 0x11a99: 0xe000a937, 0x11a9a: 0xe0009b68,\n\t0x11aa4: 0xe0006878, 0x11aa7: 0xe0005645,\n\t0x11aa8: 0xe0004354, 0x11aa9: 0xe00045ab, 0x11aab: 0xe000625c,\n\t0x11aac: 0xe00046c9, 0x11aae: 0xe000613e, 0x11aaf: 0xe0009363,\n\t0x11ab2: 0xe000a245,\n\t0x11ab6: 0xe0007913,\n\t0x11ab8: 0xe0006f88, 0x11aba: 0xe00053ce, 0x11abb: 0xe0009b80,\n\t0x11abc: 0xe0004759, 0x11abe: 0xe0004308,\n\t// Block 0x46b, offset 0x11ac0\n\t0x11ac3: 0xe0004f5f,\n\t0x11ac6: 0xe0008d8b, 0x11ac7: 0xe0004244,\n\t0x11ac8: 0xe000a1a4, 0x11ac9: 0xe00083f6, 0x11aca: 0xe0007c82, 0x11acb: 0xe0006141,\n\t0x11acc: 0xe0007a03,\n\t0x11ad5: 0xe0007b03, 0x11ad7: 0xe000a020,\n\t0x11ade: 0xe00060e4, 0x11adf: 0xe00054f1,\n\t0x11ae3: 0xe00061cd,\n\t0x11ae6: 0xe00051a1,\n\t0x11af2: 0xe000922d,\n\t0x11af6: 0xe0005757, 0x11af7: 0xe000a6ca,\n\t0x11af8: 0xe000a2a5, 0x11afa: 0xe000933b,\n\t0x11afc: 0xe0004c7d, 0x11afd: 0xe000a5f8, 0x11afe: 0xe0006fb0, 0x11aff: 0xe0008411,\n\t// Block 0x46c, offset 0x11b00\n\t0x11b00: 0xe000596c,\n\t0x11b07: 0xe000545e,\n\t0x11b08: 0xe00049ed, 0x11b0a: 0xe0006144,\n\t0x11b0c: 0xe0007361, 0x11b0d: 0xe00071b3, 0x11b0e: 0xe0008342,\n\t0x11b10: 0xe0006fdc, 0x11b11: 0xe00075ba, 0x11b12: 0xe00047ae,\n\t0x11b14: 0xe00086da, 0x11b15: 0xe00087c6, 0x11b16: 0xe000a4cd,\n\t0x11b1a: 0xe00094b0,\n\t0x11b1e: 0xe00076af, 0x11b1f: 0xe0004f33,\n\t0x11b21: 0xe000430c, 0x11b22: 0xe0009225,\n\t0x11b27: 0xe00093ff,\n\t0x11b29: 0xe0008a1d, 0x11b2a: 0xe0008aad,\n\t0x11b2e: 0xe0005c64,\n\t0x11b30: 0xe000899d, 0x11b31: 0xe000a93d, 0x11b32: 0xe000a967, 0x11b33: 0xe00092a3,\n\t0x11b34: 0xe00054d6, 0x11b35: 0xe0004d1c, 0x11b36: 0xe000a430,\n\t0x11b39: 0xe00077d4,\n\t0x11b3e: 0xe00058ef, 0x11b3f: 0xe0006404,\n\t// Block 0x46d, offset 0x11b40\n\t0x11b40: 0xe0007051, 0x11b41: 0xe0009dbc, 0x11b43: 0xe000475d,\n\t0x11b47: 0xe0006e68,\n\t0x11b48: 0xe000a433, 0x11b49: 0xe0006966, 0x11b4a: 0xe0007b07, 0x11b4b: 0xe00071b6,\n\t0x11b4d: 0xe0008806, 0x11b4e: 0xe000931f,\n\t0x11b51: 0xe000670d, 0x11b52: 0xe00064cb, 0x11b53: 0xe0009abd,\n\t0x11b57: 0xe0008833,\n\t0x11b58: 0xe0009b0c, 0x11b5b: 0xe000440c,\n\t0x11b63: 0xe0004d1f,\n\t0x11b68: 0xe000853a,\n\t0x11b6e: 0xe000687c,\n\t0x11b71: 0xe000500b, 0x11b73: 0xe000638c,\n\t0x11b76: 0xe00067b6,\n\t0x11b79: 0xe0006969, 0x11b7a: 0xe00090be,\n\t0x11b7c: 0xe00077b8, 0x11b7e: 0xe0008d8e, 0x11b7f: 0xe00073d2,\n\t// Block 0x46e, offset 0x11b80\n\t0x11b80: 0xe0005081, 0x11b83: 0xe00065e0,\n\t0x11b84: 0xe00096dc, 0x11b86: 0xe00061d1,\n\t0x11b89: 0xe0004635, 0x11b8a: 0xe0009cd3,\n\t0x11b91: 0xe0007917, 0x11b92: 0xe0006d95,\n\t0x11b94: 0xe0006810, 0x11b95: 0xe0009ca4, 0x11b96: 0xe00056d3, 0x11b97: 0xe000a157,\n\t0x11b98: 0xe0008ab1, 0x11b9b: 0xe0009e7d,\n\t0x11ba8: 0xe0009e24, 0x11bab: 0xe0009f67,\n\t0x11bac: 0xe0009c27,\n\t0x11bb1: 0xe0009e80,\n\t0x11bb5: 0xe0008871,\n\t0x11bb9: 0xe0005e9b,\n\t0x11bbc: 0xe000771b, 0x11bbd: 0xe0009820,\n\t// Block 0x46f, offset 0x11bc0\n\t0x11bc2: 0xe0006900,\n\t0x11bc4: 0xe0008f16, 0x11bc5: 0xe000537e, 0x11bc6: 0xe0009b34, 0x11bc7: 0xe0006147,\n\t0x11bc8: 0xe0005251, 0x11bc9: 0xe0005827, 0x11bca: 0xe0006813,\n\t0x11bcc: 0xe0006334, 0x11bcd: 0xe00062c8, 0x11bcf: 0xe00051a4,\n\t0x11bd0: 0xe0004b84, 0x11bd1: 0xe000467d, 0x11bd2: 0xe00044be, 0x11bd3: 0xe00094b4,\n\t0x11bd4: 0xe00063ac, 0x11bd5: 0xe0009adb, 0x11bd6: 0xe0009ac0, 0x11bd7: 0xe0007eb6,\n\t0x11bd8: 0xe0004c80, 0x11bd9: 0xe0008dfd, 0x11bdb: 0xe00096df,\n\t0x11bdc: 0xe0006498,\n\t0x11bec: 0xe0004add, 0x11bed: 0xe0007485, 0x11bee: 0xe0005183, 0x11bef: 0xe0009029,\n\t0x11bf1: 0xe0004996, 0x11bf3: 0xe0004e1b,\n\t0x11bf5: 0xe0008df5, 0x11bf6: 0xe0009323, 0x11bf7: 0xe0004820,\n\t0x11bfd: 0xe0007c25, 0x11bfe: 0xe00073a2, 0x11bff: 0xe00051a7,\n\t// Block 0x470, offset 0x11c00\n\t0x11c01: 0xe0009067, 0x11c02: 0xe0004b69,\n\t0x11c07: 0xe000906a,\n\t0x11c09: 0xe000766b,\n\t0x11c0c: 0xe00045cd,\n\t0x11c10: 0xe00051ad, 0x11c11: 0xe0005533, 0x11c12: 0xe00059cc,\n\t0x11c28: 0xe000778a, 0x11c2a: 0xe00051b0, 0x11c2b: 0xe0008e7d,\n\t0x11c2f: 0xe0009109,\n\t0x11c39: 0xe00083ea, 0x11c3a: 0xe0008b7d, 0x11c3b: 0xe0007a2b,\n\t0x11c3d: 0xe0005e3f, 0x11c3e: 0xe000a345,\n\t// Block 0x471, offset 0x11c40\n\t0x11c42: 0xe0007ccd, 0x11c43: 0xe0004dbf,\n\t0x11c44: 0xe0004d22, 0x11c46: 0xe0004932,\n\t0x11c49: 0xe0009287,\n\t0x11c4c: 0xe0009d54, 0x11c4d: 0xe000a09f, 0x11c4e: 0xe00070c0, 0x11c4f: 0xe00051dc,\n\t0x11c50: 0xe0007a27,\n\t0x11c55: 0xe0009e83, 0x11c57: 0xe00094e8,\n\t0x11c67: 0xe0006745,\n\t0x11c68: 0xe0006b1b, 0x11c69: 0xe00059d0, 0x11c6b: 0xe00061d5,\n\t0x11c6e: 0xe00044c1,\n\t0x11c71: 0xe000778d, 0x11c72: 0xe0004e1f,\n\t0x11c76: 0xe0009871, 0x11c77: 0xe0009634,\n\t0x11c7a: 0xe00051e0, 0x11c7b: 0xe0005255,\n\t0x11c7f: 0xe0006d98,\n\t// Block 0x472, offset 0x11c80\n\t0x11c80: 0xe000a8b7, 0x11c83: 0xe0007054,\n\t0x11c84: 0xe0005c88, 0x11c87: 0xe00095c8,\n\t0x11c88: 0xe00071b9, 0x11c89: 0xe0005536, 0x11c8a: 0xe0006816,\n\t0x11c8c: 0xe000874a, 0x11c8e: 0xe0005123, 0x11c8f: 0xe0005593,\n\t0x11c92: 0xe000649b,\n\t0x11c96: 0xe00077bc,\n\t0x11c98: 0xe0004dd3, 0x11c9b: 0xe0004b60,\n\t0x11c9c: 0xe0007c28, 0x11c9f: 0xe0008c39,\n\t0x11ca0: 0xe0005885, 0x11ca1: 0xe0009442, 0x11ca2: 0xe0009ba0,\n\t0x11ca5: 0xe0008b25, 0x11ca7: 0xe000499a,\n\t0x11ca8: 0xe0009823, 0x11ca9: 0xe0007977, 0x11caa: 0xe0008cfe,\n\t0x11cac: 0xe0004d9b,\n\t0x11cbe: 0xe0007a97,\n\t// Block 0x473, offset 0x11cc0\n\t0x11cc0: 0xe0004248, 0x11cc3: 0xe0008a21,\n\t0x11cc4: 0xe000823c, 0x11cc6: 0xe0004eac,\n\t0x11cc9: 0xe00082a8,\n\t0x11ccf: 0xe0006114,\n\t0x11cd0: 0xe0008c86,\n\t0x11cd6: 0xe00083da,\n\t0x11cda: 0xe000786d, 0x11cdb: 0xe000a5c8,\n\t0x11cdf: 0xe0006de0,\n\t0x11ce0: 0xe00076b3, 0x11ce1: 0xe0007617, 0x11ce3: 0xe0009949,\n\t0x11ce9: 0xe000447f, 0x11ceb: 0xe0009874,\n\t0x11ced: 0xe00045ae, 0x11cee: 0xe000a839,\n\t0x11cf2: 0xe0006f4c,\n\t0x11cf4: 0xe0008112, 0x11cf5: 0xe000453c, 0x11cf6: 0xe000780f, 0x11cf7: 0xe0006c74,\n\t// Block 0x474, offset 0x11d00\n\t0x11d06: 0xe0004d25,\n\t0x11d09: 0xe000421c,\n\t0x11d0d: 0xe0007124, 0x11d0f: 0xe00062cc,\n\t0x11d12: 0xe0006468,\n\t0x11d14: 0xe0007057, 0x11d16: 0xe0007eb9, 0x11d17: 0xe0005539,\n\t0x11d1c: 0xe00071bc,\n\t0x11d22: 0xe000910d,\n\t0x11d24: 0xe00077d8, 0x11d25: 0xe0009877,\n\t0x11d28: 0xe0009bd0, 0x11d2a: 0xe0005486, 0x11d2b: 0xe0006390,\n\t0x11d2c: 0xe0006338, 0x11d2d: 0xe0009bc0, 0x11d2f: 0xe0005596,\n\t0x11d30: 0xe0004966,\n\t0x11d36: 0xe0009403,\n\t0x11d3a: 0xe000a854,\n\t0x11d3e: 0xe000928b,\n\t// Block 0x475, offset 0x11d40\n\t0x11d58: 0xe00088f9,\n\t0x11d60: 0xe00097d0,\n\t0x11d67: 0xe0009808,\n\t0x11d69: 0xe0005ddd,\n\t0x11d6d: 0xe00094ec, 0x11d6f: 0xe000906d,\n\t0x11d73: 0xe0004d28,\n\t0x11d78: 0xe0006045, 0x11d79: 0xe0006048, 0x11d7a: 0xe0008b29, 0x11d7b: 0xe0006f8c,\n\t0x11d7d: 0xe0009f21,\n\t// Block 0x476, offset 0x11d80\n\t0x11d85: 0xe0004e7c,\n\t0x11d88: 0xe0005a94,\n\t0x11d90: 0xe0009c3f, 0x11d91: 0xe0009c3b, 0x11d92: 0xe0006c3c, 0x11d93: 0xe0007ebc,\n\t0x11d95: 0xe0006de3,\n\t0x11d99: 0xe0008fad, 0x11d9a: 0xe000523d,\n\t0x11d9d: 0xe000a84b, 0x11d9e: 0xe0005462, 0x11d9f: 0xe0004c26,\n\t0x11da4: 0xe00095a0, 0x11da5: 0xe00063b0,\n\t0x11da9: 0xe0005bc5, 0x11dab: 0xe000614a,\n\t0x11dad: 0xe0009cd6, 0x11dae: 0xe00097f8,\n\t0x11db0: 0xe00092af, 0x11db2: 0xe00062d0,\n\t0x11dbb: 0xe000539e,\n\t0x11dbc: 0xe0004358, 0x11dbe: 0xe0004a1a, 0x11dbf: 0xe000458c,\n\t// Block 0x477, offset 0x11dc0\n\t0x11dc1: 0xe0007d62,\n\t0x11dc4: 0xe0005a97, 0x11dc5: 0xe0009510, 0x11dc7: 0xe0009c33,\n\t0x11dc9: 0xe00092a7, 0x11dca: 0xe00045b1,\n\t0x11dcd: 0xe0008d01, 0x11dce: 0xe00046cd,\n\t0x11dd0: 0xe000a5fc, 0x11dd2: 0xe0004fbf,\n\t0x11dd4: 0xe00053d2, 0x11dd5: 0xe000a863, 0x11dd7: 0xe00065ac,\n\t0x11dd8: 0xe000658c, 0x11dda: 0xe00044c4,\n\t0x11de0: 0xe0008cbc, 0x11de1: 0xe00054d9, 0x11de2: 0xe0009b10, 0x11de3: 0xe0005599,\n\t0x11de5: 0xe00057fb, 0x11de6: 0xe0009313, 0x11de7: 0xe00044c7,\n\t0x11dec: 0xe0008414, 0x11ded: 0xe000a580, 0x11def: 0xe0006a83,\n\t0x11df1: 0xe0004220, 0x11df2: 0xe00094b8,\n\t0x11df4: 0xe000a58c,\n\t0x11dfa: 0xe0009cd9,\n\t0x11dfe: 0xe0007ebf,\n\t// Block 0x478, offset 0x11e00\n\t0x11e00: 0xe000633c, 0x11e02: 0xe0005b7a,\n\t0x11e04: 0xe0009c47, 0x11e07: 0xe000a25d,\n\t0x11e0a: 0xe0005950,\n\t0x11e0f: 0xe0005b4a,\n\t0x11e14: 0xe00057d3,\n\t0x11e18: 0xe0007871, 0x11e19: 0xe0009367,\n\t0x11e1d: 0xe0006fa0,\n\t0x11e22: 0xe00092fb, 0x11e23: 0xe0005970,\n\t0x11e24: 0xe0009b84,\n\t0x11e2a: 0xe0004bdb, 0x11e2b: 0xe000a590,\n\t0x11e2c: 0xe00057ff, 0x11e2f: 0xe0009070,\n\t0x11e32: 0xe0005126,\n\t0x11e36: 0xe00071bf, 0x11e37: 0xe0004823,\n\t0x11e38: 0xe000823f, 0x11e39: 0xe0004458, 0x11e3b: 0xe000499e,\n\t0x11e3d: 0xe0006394, 0x11e3e: 0xe0006408, 0x11e3f: 0xe0008b81,\n\t// Block 0x479, offset 0x11e40\n\t0x11e45: 0xe0004826,\n\t0x11e48: 0xe000a73c, 0x11e49: 0xe0006238,\n\t0x11e4d: 0xe0006d9b, 0x11e4e: 0xe0004bde, 0x11e4f: 0xe0006260,\n\t0x11e51: 0xe0004c83,\n\t0x11e54: 0xe0007906, 0x11e55: 0xe0009a32, 0x11e56: 0xe0007c85, 0x11e57: 0xe0009d69,\n\t0x11e5d: 0xe0009e56, 0x11e5e: 0xe00093af,\n\t0x11e62: 0xe0004310, 0x11e63: 0xe0006be4,\n\t0x11e66: 0xe00055f5,\n\t0x11e6c: 0xe00046d1, 0x11e6d: 0xe0007875,\n\t0x11e72: 0xe0004829,\n\t0x11e74: 0xe0008b85, 0x11e75: 0xe00088fd, 0x11e77: 0xe00067b9,\n\t0x11e78: 0xe00071c2,\n\t0x11e7e: 0xe0006e6c,\n\t// Block 0x47a, offset 0x11e80\n\t0x11e81: 0xe00056d6, 0x11e82: 0xe00059dc, 0x11e83: 0xe0009e47,\n\t0x11e85: 0xe000a73f, 0x11e87: 0xe00061a5,\n\t0x11e8c: 0xe0006a53,\n\t0x11e90: 0xe000696c, 0x11e91: 0xe0006340,\n\t0x11e97: 0xe00056b8,\n\t0x11e99: 0xe0005ba7, 0x11e9b: 0xe00048d2,\n\t0x11e9c: 0xe0006b1e, 0x11e9d: 0xe00041c9, 0x11e9f: 0xe00091fd,\n\t0x11ea1: 0xe000769b,\n\t0x11ea4: 0xe0004f63, 0x11ea5: 0xe00094bc, 0x11ea7: 0xe00067bc,\n\t0x11eab: 0xe000867a,\n\t0x11eac: 0xe000933f, 0x11eaf: 0xe0006b21,\n\t0x11eb0: 0xe00074d9, 0x11eb1: 0xe00086aa, 0x11eb2: 0xe00092ab,\n\t0x11eb7: 0xe0005346,\n\t0x11eb9: 0xe000640c,\n\t0x11ebc: 0xe00078eb, 0x11ebd: 0xe000740f, 0x11ebf: 0xe00082ab,\n\t// Block 0x47b, offset 0x11ec0\n\t0x11ec1: 0xe0006410, 0x11ec2: 0xe0005129, 0x11ec3: 0xe0008a25,\n\t0x11ec4: 0xe000608a, 0x11ec5: 0xe00058f2, 0x11ec6: 0xe0009d84,\n\t0x11eca: 0xe000646c, 0x11ecb: 0xe0006e70,\n\t0x11ecc: 0xe0008b89, 0x11ecf: 0xe0008dd9,\n\t0x11ed2: 0xe0005c2a,\n\t0x11ed7: 0xe0005084,\n\t0x11ee0: 0xe000614d, 0x11ee3: 0xe0005087,\n\t0x11ee5: 0xe0008566, 0x11ee6: 0xe000534a,\n\t0x11ee8: 0xe0009073, 0x11ee9: 0xe0008d04,\n\t0x11eec: 0xe00072e1, 0x11eed: 0xe000806a,\n\t0x11ef1: 0xe000a067, 0x11ef2: 0xe00054f4,\n\t0x11ef4: 0xe0007fea,\n\t0x11efa: 0xe0007e49, 0x11efb: 0xe0006264,\n\t0x11efc: 0xe0006268, 0x11efd: 0xe00055f9, 0x11eff: 0xe0007c88,\n\t// Block 0x47c, offset 0x11f00\n\t0x11f00: 0xe000832e, 0x11f03: 0xe00099a0,\n\t0x11f06: 0xe000490a, 0x11f07: 0xe00073d6,\n\t0x11f09: 0xe0006414, 0x11f0a: 0xe000a436,\n\t0x11f0c: 0xe00093b3, 0x11f0e: 0xe0005ffc, 0x11f0f: 0xe000a4d9,\n\t0x11f10: 0xe0006880, 0x11f11: 0xe0004fc3, 0x11f13: 0xe00079e7,\n\t0x11f14: 0xe0006e08, 0x11f15: 0xe000a89f,\n\t0x11f1b: 0xe00044e5,\n\t0x11f1e: 0xe000662c, 0x11f1f: 0xe0006fe0,\n\t0x11f20: 0xe0007b53, 0x11f21: 0xe000a2f1,\n\t0x11f24: 0xe0005a58, 0x11f25: 0xe00098fa, 0x11f27: 0xe0005f0f,\n\t0x11f28: 0xe000867e, 0x11f2b: 0xe0004d2b,\n\t0x11f2d: 0xe000705a, 0x11f2f: 0xe0007412,\n\t0x11f30: 0xe0009ffc, 0x11f31: 0xe000806e,\n\t0x11f34: 0xe0006117, 0x11f35: 0xe0005319, 0x11f36: 0xe00093b7, 0x11f37: 0xe0007d2e,\n\t0x11f3a: 0xe0006630, 0x11f3b: 0xe0007733,\n\t// Block 0x47d, offset 0x11f40\n\t0x11f41: 0xe0008d07, 0x11f42: 0xe0007415, 0x11f43: 0xe000a658,\n\t0x11f44: 0xe000a65c,\n\t0x11f48: 0xe0004c29, 0x11f49: 0xe0009111, 0x11f4b: 0xe0009115,\n\t0x11f4c: 0xe0006d24, 0x11f4e: 0xe000a539, 0x11f4f: 0xe000766f,\n\t0x11f59: 0xe0008f69, 0x11f5b: 0xe000a2a9,\n\t0x11f5d: 0xe0008eb6, 0x11f5e: 0xe000a940, 0x11f5f: 0xe0006fe4,\n\t0x11f61: 0xe0009eb9, 0x11f62: 0xe0008acd,\n\t0x11f64: 0xe0007c8b, 0x11f65: 0xe000a5d0, 0x11f66: 0xe000a6cd, 0x11f67: 0xe000a439,\n\t0x11f68: 0xe00074dd, 0x11f69: 0xe0005e43, 0x11f6b: 0xe0009b14,\n\t0x11f6c: 0xe000724f, 0x11f6e: 0xe0006688, 0x11f6f: 0xe00046d5,\n\t0x11f70: 0xe0006e34, 0x11f73: 0xe0006e0c,\n\t0x11f74: 0xe0009668, 0x11f76: 0xe0008b8d, 0x11f77: 0xe0004e97,\n\t0x11f78: 0xe0008b91, 0x11f7a: 0xe0009076, 0x11f7b: 0xe00076f7,\n\t// Block 0x47e, offset 0x11f80\n\t0x11f84: 0xe000a806, 0x11f87: 0xe0004181,\n\t0x11f88: 0xe000a7de, 0x11f89: 0xe000a83c, 0x11f8b: 0xe000628c,\n\t0x11f8c: 0xe0004edc, 0x11f8e: 0xe0007b57,\n\t0x11f90: 0xe00081b5, 0x11f91: 0xe0006d9e,\n\t0x11f96: 0xe00051c0, 0x11f97: 0xe00076db,\n\t0x11f98: 0xe0007879,\n\t0x11f9d: 0xe0006000, 0x11f9e: 0xe0004c2c,\n\t0x11fa0: 0xe000482c, 0x11fa2: 0xe00093bb, 0x11fa3: 0xe000512c,\n\t0x11fab: 0xe00086e6,\n\t0x11fac: 0xe0006f50, 0x11fae: 0xe000604b,\n\t0x11fb1: 0xe000531d, 0x11fb2: 0xe000874e, 0x11fb3: 0xe000a3f1,\n\t0x11fb4: 0xe0009edb, 0x11fb5: 0xe000a0a3,\n\t0x11fb8: 0xe0005bc8, 0x11fb9: 0xe0006f68, 0x11fbb: 0xe00046d9,\n\t0x11fbe: 0xe00055fd, 0x11fbf: 0xe000a96a,\n\t// Block 0x47f, offset 0x11fc0\n\t0x11fc0: 0xe00079aa, 0x11fc1: 0xe000512f,\n\t0x11fc4: 0xe0007b2b, 0x11fc5: 0xe0007b37, 0x11fc6: 0xe0005938, 0x11fc7: 0xe00053d6,\n\t0x11fc9: 0xe000a742,\n\t0x11fd3: 0xe0009ebc,\n\t0x11fd6: 0xe0007766,\n\t0x11fd9: 0xe0006da1, 0x11fda: 0xe00060e8, 0x11fdb: 0xe000a7e2,\n\t0x11fdc: 0xe0007ec2, 0x11fdd: 0xe0009edf,\n\t0x11fe0: 0xe0004b11, 0x11fe3: 0xe0007a9b,\n\t0x11fe6: 0xe000a943,\n\t0x11fe8: 0xe0005b4e, 0x11fe9: 0xe0005210, 0x11fea: 0xe0005772,\n\t0x11fec: 0xe0007183, 0x11fee: 0xe0007987, 0x11fef: 0xe0009790,\n\t0x11ff0: 0xe0007e41, 0x11ff2: 0xe00048d6, 0x11ff3: 0xe0007bef,\n\t0x11ff4: 0xe00046dd, 0x11ff7: 0xe00042bc,\n\t0x11ff8: 0xe0006da4, 0x11ff9: 0xe0008d0d, 0x11ffa: 0xe0008d0a,\n\t0x11ffc: 0xe0005e47, 0x11ffe: 0xe0009025, 0x11fff: 0xe0009697,\n\t// Block 0x480, offset 0x12000\n\t0x12000: 0xe0009802, 0x12003: 0xe000a6d0,\n\t0x12005: 0xe0004568,\n\t0x12008: 0xe0008186, 0x12009: 0xe0008242, 0x1200b: 0xe0006928,\n\t0x1200c: 0xe0006398, 0x1200d: 0xe00066d9,\n\t0x12014: 0xe0006bc4, 0x12015: 0xe0009201, 0x12017: 0xe000583b,\n\t0x1201b: 0xe0005ecb,\n\t0x1201d: 0xe0008d10, 0x1201e: 0xe000508a, 0x1201f: 0xe000508d,\n\t0x12023: 0xe000568d,\n\t0x12026: 0xe00060d8, 0x12027: 0xe0005b32,\n\t0x12028: 0xe00060a8, 0x1202a: 0xe00061ff, 0x1202b: 0xe0005e9f,\n\t0x1202c: 0xe0006729, 0x1202d: 0xe0009317, 0x1202e: 0xe000990a,\n\t0x12031: 0xe0008eb9, 0x12033: 0xe0009d58,\n\t0x12034: 0xe00062d4, 0x12036: 0xe0009ac3,\n\t0x1203a: 0xe0004e5b,\n\t0x1203d: 0xe000a78d,\n\t// Block 0x481, offset 0x12040\n\t0x12045: 0xe000803e, 0x12046: 0xe000424c,\n\t0x12049: 0xe0006c50,\n\t0x1204e: 0xe0005cfd, 0x1204f: 0xe000a1fe,\n\t0x12050: 0xe0008809, 0x12051: 0xe00097b0, 0x12053: 0xe0009ef7,\n\t0x12056: 0xe0008752,\n\t0x1205c: 0xe00056bb, 0x1205e: 0xe0005090, 0x1205f: 0xe00070f8,\n\t0x12060: 0xe0004410,\n\t0x1206a: 0xe0009745,\n\t0x1206c: 0xe0008156, 0x1206d: 0xe000a15b, 0x1206f: 0xe000649e,\n\t0x12070: 0xe000455c, 0x12071: 0xe0005649, 0x12072: 0xe0004883, 0x12073: 0xe000611a,\n\t0x12075: 0xe0008874, 0x12077: 0xe0009cdc,\n\t0x1207b: 0xe00052e5,\n\t0x1207c: 0xe00088b9, 0x1207e: 0xe0007150, 0x1207f: 0xe0009d2c,\n\t// Block 0x482, offset 0x12080\n\t0x12087: 0xe000696f,\n\t0x12089: 0xe0007e4d, 0x1208b: 0xe0006418,\n\t0x1208c: 0xe00068b4, 0x1208f: 0xe00051e8,\n\t0x12090: 0xe0006e10, 0x12093: 0xe00056be,\n\t0x12095: 0xe0009a5e, 0x12097: 0xe0005db1,\n\t0x12098: 0xe0007c2b, 0x12099: 0xe0007dc7, 0x1209a: 0xe0005f12,\n\t0x1209c: 0xe00049f0, 0x1209d: 0xe0009079,\n\t0x120af: 0xe000482f,\n\t0x120b0: 0xe0009e14, 0x120b2: 0xe0007454, 0x120b3: 0xe000907c,\n\t0x120b6: 0xe0004184, 0x120b7: 0xe0004187,\n\t0x120b8: 0xe0004c86,\n\t0x120be: 0xe0007418,\n\t// Block 0x483, offset 0x120c0\n\t0x120c1: 0xe0009ade,\n\t0x120c4: 0xe0006634, 0x120c5: 0xe0005305,\n\t0x120ca: 0xe0008e51,\n\t0x120cf: 0xe00064e0,\n\t0x120d0: 0xe000604e, 0x120d1: 0xe0004314, 0x120d2: 0xe0009a4e, 0x120d3: 0xe0007ad7,\n\t0x120d4: 0xe0008245, 0x120d7: 0xe0007168,\n\t0x120d8: 0xe000862c, 0x120d9: 0xe000a12b, 0x120da: 0xe0008248,\n\t0x120dd: 0xe0009b18, 0x120de: 0xe00086ae, 0x120df: 0xe00051fc,\n\t0x120e2: 0xe00088bc,\n\t0x120e9: 0xe0004c89,\n\t0x120ec: 0xe0004250, 0x120ef: 0xe000418a,\n\t0x120f0: 0xe000521d, 0x120f1: 0xe0008ebc, 0x120f3: 0xe0005c2d,\n\t0x120f4: 0xe000741b, 0x120f5: 0xe0009461, 0x120f6: 0xe0006b24,\n\t0x120f9: 0xe0007457, 0x120fb: 0xe0006b27,\n\t0x120fe: 0xe0008b95,\n\t// Block 0x484, offset 0x12100\n\t0x12103: 0xe000a6f7,\n\t0x12112: 0xe00072e5, 0x12113: 0xe00089a1,\n\t0x12116: 0xe0006da7, 0x12117: 0xe0005c94,\n\t0x1211d: 0xe0004ae9, 0x1211e: 0xe0004290,\n\t0x12121: 0xe0004be1, 0x12122: 0xe00064e4,\n\t0x1212a: 0xe0008ebf,\n\t0x1212e: 0xe00084ad, 0x1212f: 0xe0008072,\n\t0x12131: 0xe00049c2, 0x12132: 0xe0004886,\n\t0x12134: 0xe0008a29,\n\t0x12138: 0xe000a1ea, 0x12139: 0xe0004f67, 0x1213b: 0xe00074b9,\n\t0x1213c: 0xe00045b5, 0x1213d: 0xe000880c,\n\t// Block 0x485, offset 0x12140\n\t0x12140: 0xe0004560, 0x12141: 0xe000a15f, 0x12142: 0xe00047b1, 0x12143: 0xe000553c,\n\t0x12144: 0xe0004b35, 0x12146: 0xe0004b39,\n\t0x12148: 0xe0007673, 0x12149: 0xe000768b,\n\t0x1214e: 0xe00091c1,\n\t0x12150: 0xe000564d, 0x12151: 0xe0006cdc, 0x12153: 0xe000a5d4,\n\t0x12154: 0xe0005187,\n\t0x1216d: 0xe0009119, 0x1216f: 0xe0008c3d,\n\t0x12174: 0xe0006819, 0x12176: 0xe0009c66, 0x12177: 0xe0004224,\n\t0x1217e: 0xe0004dc3, 0x1217f: 0xe0004254,\n\t// Block 0x486, offset 0x12180\n\t0x12181: 0xe00058a1, 0x12183: 0xe0008c41,\n\t0x12185: 0xe0005f15, 0x12186: 0xe0006470,\n\t0x1218f: 0xe00048da,\n\t0x12193: 0xe000880f,\n\t0x12194: 0xe00099ba, 0x12197: 0xe00046e1,\n\t0x1219b: 0xe00051b3,\n\t0x1219d: 0xe0008d13, 0x1219f: 0xe000a745,\n\t0x121a0: 0xe000591c, 0x121a1: 0xe0007de5, 0x121a2: 0xe00096e2, 0x121a3: 0xe000757d,\n\t0x121a7: 0xe0007c8e,\n\t0x121a8: 0xe0005d00,\n\t0x121ad: 0xe0006b2a, 0x121af: 0xe0008c89,\n\t0x121b0: 0xe00047b4, 0x121b1: 0xe000490e, 0x121b3: 0xe000705d,\n\t0x121b5: 0xe0006550, 0x121b6: 0xe0006202,\n\t// Block 0x487, offset 0x121c0\n\t0x121c4: 0xe0005096, 0x121c5: 0xe0006638,\n\t0x121c9: 0xe0005fac, 0x121ca: 0xe0005132, 0x121cb: 0xe0005093,\n\t0x121cc: 0xe0009457, 0x121cd: 0xe0004912,\n\t0x121d0: 0xe00069e1, 0x121d2: 0xe0006749,\n\t0x121d5: 0xe0008e19, 0x121d6: 0xe0008c45, 0x121d7: 0xe0008d16,\n\t0x121d8: 0xe0004f37, 0x121da: 0xe000692c,\n\t0x121df: 0xe0005651,\n\t0x121e0: 0xe0005466, 0x121e3: 0xe00096b5,\n\t0x121e7: 0xe00086c6,\n\t0x121e8: 0xe00047b7,\n\t0x121ec: 0xe0004e37, 0x121ee: 0xe0006c54,\n\t0x121f2: 0xe0006daa,\n\t0x121f9: 0xe000553f, 0x121fa: 0xe0004a69, 0x121fb: 0xe00068b8,\n\t0x121fc: 0xe00068bc,\n\t// Block 0x488, offset 0x12200\n\t0x12200: 0xe0007de9, 0x12201: 0xe0004a45,\n\t0x12204: 0xe0008b31, 0x12205: 0xe0008417,\n\t0x1220b: 0xe00058cd,\n\t0x1220d: 0xe0007489, 0x1220e: 0xe0009826,\n\t0x12211: 0xe00069e4, 0x12212: 0xe00096e5,\n\t0x12219: 0xe0009407,\n\t0x12227: 0xe0006004,\n\t0x12230: 0xe0007812,\n\t0x12234: 0xe0005382, 0x12236: 0xe0008e55,\n\t0x12239: 0xe0009a82,\n\t0x1223d: 0xe0007a2f, 0x1223f: 0xe00098fe,\n\t// Block 0x489, offset 0x12240\n\t0x12242: 0xe0006b96,\n\t0x1224a: 0xe000787d,\n\t0x1224f: 0xe0004edf,\n\t0x12253: 0xe0009f48,\n\t0x12254: 0xe0006f18, 0x12255: 0xe0009ac6, 0x12257: 0xe0004524,\n\t0x12259: 0xe0006150, 0x1225a: 0xe00096e8,\n\t0x1225d: 0xe000599c, 0x1225e: 0xe0005ccc,\n\t0x12260: 0xe00051ec, 0x12261: 0xe000824b, 0x12262: 0xe000824e, 0x12263: 0xe0006205,\n\t0x12265: 0xe000815a,\n\t0x12268: 0xe0008b99, 0x1226a: 0xe0008b35, 0x1226b: 0xe0009009,\n\t0x1226c: 0xe00042e0, 0x1226d: 0xe000799b, 0x1226e: 0xe0008877, 0x1226f: 0xe00072e9,\n\t0x12273: 0xe0005f30,\n\t0x12275: 0xe0004f3b, 0x12277: 0xe000a1a7,\n\t0x12278: 0xe0009829, 0x12279: 0xe0007b5b,\n\t// Block 0x48a, offset 0x12280\n\t0x1228e: 0xe00041cc,\n\t0x12291: 0xe000681c,\n\t0x12294: 0xe0005857, 0x12295: 0xe0007f66,\n\t0x12298: 0xe0004d2e, 0x1229b: 0xe000911d,\n\t0x1229c: 0xe000641c, 0x1229f: 0xe0008836,\n\t0x122a4: 0xe000456c, 0x122a5: 0xe000a660, 0x122a6: 0xe0004294, 0x122a7: 0xe0006972,\n\t0x122ad: 0xe0006b99, 0x122ae: 0xe0007b5f,\n\t0x122b0: 0xe00090c1, 0x122b1: 0xe000980b,\n\t0x122b4: 0xe0005c30, 0x122b7: 0xe0004c2f,\n\t0x122bb: 0xe0009bc4,\n\t0x122bc: 0xe000a12f, 0x122be: 0xe000496a,\n\t// Block 0x48b, offset 0x122c0\n\t0x122c0: 0xe0004889, 0x122c1: 0xe0004832, 0x122c3: 0xe0006344,\n\t0x122c7: 0xe0008a2d,\n\t0x122ca: 0xe0006bc8, 0x122cb: 0xe0004c8c,\n\t0x122cc: 0xe0009c89, 0x122cd: 0xe00093bf, 0x122ce: 0xe000927e,\n\t0x122d0: 0xe0004b87, 0x122d3: 0xe00049c6,\n\t0x122e5: 0xe000a40c, 0x122e6: 0xe0007fb2, 0x122e7: 0xe000936b,\n\t0x122e8: 0xe0004a39, 0x122e9: 0xe0004482, 0x122ea: 0xe000445b,\n\t0x122ed: 0xe0006d5c,\n\t0x122f2: 0xe00048ee,\n\t0x122f9: 0xe000488c, 0x122fb: 0xe0004eaf,\n\t0x122fd: 0xe0008d19, 0x122ff: 0xe0004f6b,\n\t// Block 0x48c, offset 0x12300\n\t0x12300: 0xe0008949, 0x12302: 0xe000761b,\n\t0x12305: 0xe0008e59,\n\t0x1230a: 0xe00064fc, 0x1230b: 0xe0009c7e,\n\t0x12311: 0xe00058a5, 0x12312: 0xe00062b8, 0x12313: 0xe0005bf4,\n\t0x12314: 0xe00070c3, 0x12317: 0xe000887a,\n\t0x12319: 0xe0009efa, 0x1231b: 0xe0004ee2,\n\t0x1231e: 0xe000982c, 0x1231f: 0xe0008756,\n\t0x12321: 0xe0006051, 0x12323: 0xe0007881,\n\t0x1232b: 0xe0004611,\n\t0x12335: 0xe00096eb,\n\t0x12338: 0xe00062d8, 0x12339: 0xe00071c5, 0x1233a: 0xe000a556, 0x1233b: 0xe0004e7f,\n\t0x1233d: 0xe0008f6d,\n\t// Block 0x48d, offset 0x12340\n\t0x12343: 0xe0006540,\n\t0x12344: 0xe0004318, 0x12347: 0xe0009982,\n\t0x12348: 0xe0007ec5, 0x1234a: 0xe0005c51, 0x1234b: 0xe0004be4,\n\t0x12350: 0xe0009b38, 0x12352: 0xe000808e, 0x12353: 0xe00072ed,\n\t0x12358: 0xe0004f23, 0x12359: 0xe0005714, 0x1235a: 0xe00072c5,\n\t0x1235f: 0xe0005099,\n\t0x12361: 0xe0006ce0, 0x12362: 0xe0009ae1,\n\t0x12366: 0xe0005691,\n\t0x1236b: 0xe000a71f,\n\t0x12375: 0xe0006c14,\n\t0x1237f: 0xe0004414,\n\t// Block 0x48e, offset 0x12380\n\t0x12380: 0xe000534e,\n\t0x12384: 0xe00045b9,\n\t0x12389: 0xe0008b9d,\n\t0x1238d: 0xe000791b, 0x1238e: 0xe0004fc7,\n\t0x12390: 0xe0009614,\n\t0x12394: 0xe000548a, 0x12397: 0xe0006590,\n\t0x1239c: 0xe000a6d3, 0x1239d: 0xe0009015, 0x1239f: 0xe00041cf,\n\t0x123a0: 0xe0004761, 0x123a2: 0xe000457c, 0x123a3: 0xe000875a,\n\t0x123ae: 0xe000559c,\n\t0x123b3: 0xe0006a57,\n\t0x123b6: 0xe0007b0f,\n\t0x123bb: 0xe000a0d7,\n\t0x123bc: 0xe0008386, 0x123bf: 0xe0007b0b,\n\t// Block 0x48f, offset 0x123c0\n\t0x123c2: 0xe0005542, 0x123c3: 0xe0004e5e,\n\t0x123d3: 0xe0005a9a,\n\t0x123da: 0xe00058f5, 0x123db: 0xe0009001,\n\t0x123dc: 0xe000488f, 0x123dd: 0xe00055e5, 0x123de: 0xe0007a9f, 0x123df: 0xe0005954,\n\t0x123ea: 0xe0005958,\n\t0x123ec: 0xe0009a3a,\n\t0x123f6: 0xe000a249,\n\t0x123fb: 0xe00077e0,\n\t0x123fc: 0xe0009618,\n\t// Block 0x490, offset 0x12400\n\t0x12402: 0xe0006310, 0x12403: 0xe000936f,\n\t0x12404: 0xe00057b3,\n\t0x1240a: 0xe0004e23,\n\t0x1240c: 0xe000875e,\n\t0x12411: 0xe00092ff, 0x12412: 0xe00057b7,\n\t0x12416: 0xe0005803,\n\t0x1241e: 0xe0005a5c,\n\t0x12420: 0xe000a8eb, 0x12421: 0xe000925a, 0x12423: 0xe000a8a3,\n\t0x1242c: 0xe000a1ce,\n\t0x12432: 0xe0007f26,\n\t0x12437: 0xe000a96d,\n\t0x12438: 0xe0007790, 0x12439: 0xe0008447, 0x1243a: 0xe000509c, 0x1243b: 0xe000a7fa,\n\t0x1243d: 0xe000a8ef, 0x1243e: 0xe0004a6d, 0x1243f: 0xe000435c,\n\t// Block 0x491, offset 0x12440\n\t0x12443: 0xe0006c8c,\n\t0x12446: 0xe000a8f3, 0x12447: 0xe000a261,\n\t0x12449: 0xe0004681,\n\t0x1244c: 0xe000418d, 0x1244e: 0xe0009b6c,\n\t0x12450: 0xe0004c8f,\n\t0x12454: 0xe000a242,\n\t0x12459: 0xe000a90f, 0x1245a: 0xe0006ee8, 0x1245b: 0xe0004360,\n\t0x1245f: 0xe00079ba,\n\t0x12460: 0xe00095cc, 0x12461: 0xe000a5cc, 0x12462: 0xe000907f, 0x12463: 0xe0008ba1,\n\t0x12464: 0xe000925d, 0x12465: 0xe000668b, 0x12466: 0xe0006153, 0x12467: 0xe0005135,\n\t0x1246a: 0xe0007e6b,\n\t0x12472: 0xe000701e,\n\t0x12477: 0xe000593c,\n\t0x12478: 0xe0004e9a, 0x1247b: 0xe0006b2d,\n\t0x1247f: 0xe00060cc,\n\t// Block 0x492, offset 0x12480\n\t0x12480: 0xe0007f0a, 0x12482: 0xe0008d91, 0x12483: 0xe0007737,\n\t0x12484: 0xe0009121, 0x12486: 0xe0009c03,\n\t0x12489: 0xe00072f1, 0x1248a: 0xe00071c8,\n\t0x1248d: 0xe0009f24,\n\t0x12491: 0xe0005047,\n\t0x12496: 0xe000748d,\n\t0x12498: 0xe00086ca,\n\t0x1249e: 0xe0008092,\n\t0x124a2: 0xe00096b8,\n\t0x124a4: 0xe0006d28,\n\t0x124ab: 0xe0009b88,\n\t0x124ad: 0xe0004418, 0x124ae: 0xe00059e0, 0x124af: 0xe0006a5b,\n\t0x124b2: 0xe0006f6c, 0x124b3: 0xe0007252,\n\t0x124b5: 0xe0005352, 0x124b7: 0xe0008362,\n\t0x124ba: 0xe0006c40,\n\t0x124bc: 0xe00041f8, 0x124bd: 0xe000a763, 0x124bf: 0xe00089a5,\n\t// Block 0x493, offset 0x124c0\n\t0x124c1: 0xe000a824,\n\t0x124c4: 0xe00045d1, 0x124c5: 0xe000841a, 0x124c6: 0xe0004c92,\n\t0x124cb: 0xe0006156,\n\t0x124cd: 0xe0006054, 0x124cf: 0xe0005f18,\n\t0x124d2: 0xe00055bd, 0x124d3: 0xe00082fa,\n\t0x124d4: 0xe0006975, 0x124d6: 0xe0006978, 0x124d7: 0xe000697b,\n\t0x124d8: 0xe000697e, 0x124da: 0xe0009373, 0x124db: 0xe0006057,\n\t0x124eb: 0xe000a43c,\n\t0x124ec: 0xe0004c95, 0x124ef: 0xe000541e,\n\t0x124f3: 0xe0009985,\n\t0x124ff: 0xe0006c34,\n\t// Block 0x494, offset 0x12500\n\t0x12505: 0xe000940b,\n\t0x12508: 0xe00089a9,\n\t0x1250f: 0xe00075a5,\n\t0x12510: 0xe00088bf, 0x12511: 0xe000626c, 0x12513: 0xe0005f6c,\n\t0x1251b: 0xe00068c0,\n\t0x12523: 0xe000509f,\n\t0x12524: 0xe000853e,\n\t0x12533: 0xe0007d32,\n\t0x12534: 0xe00071cb, 0x12537: 0xe0006ab7,\n\t0x12538: 0xe0007b63,\n\t0x1253e: 0xe0006554, 0x1253f: 0xe0004e82,\n\t// Block 0x495, offset 0x12540\n\t0x12540: 0xe0008ba5, 0x12541: 0xe000900d, 0x12542: 0xe0004c98, 0x12543: 0xe0009d5c,\n\t0x1254b: 0xe00086b2,\n\t0x1254e: 0xe0006558, 0x1254f: 0xe00054f7,\n\t0x12550: 0xe0006e14, 0x12552: 0xe0005eef,\n\t0x12554: 0xe000a8db, 0x12555: 0xe0006be8, 0x12557: 0xe000a06b,\n\t0x12559: 0xe0007cd0, 0x1255a: 0xe0007c91, 0x1255b: 0xe0007529,\n\t0x1255c: 0xe0006b9c, 0x1255d: 0xe00079bd, 0x1255e: 0xe000a519, 0x1255f: 0xe00043c0,\n\t0x12560: 0xe0009082,\n\t0x12568: 0xe000495e, 0x1256a: 0xe0007e51,\n\t0x1256d: 0xe0007bf2,\n\t0x12570: 0xe0009c06, 0x12572: 0xe000500f,\n\t0x12574: 0xe0009d48, 0x12576: 0xe00061a9,\n\t0x1257a: 0xe0004639,\n\t0x1257d: 0xe00050a2, 0x1257e: 0xe0006884,\n\t// Block 0x496, offset 0x12580\n\t0x12581: 0xe0007565, 0x12582: 0xe00050a5, 0x12583: 0xe0007cfe,\n\t0x12584: 0xe00080be, 0x12585: 0xe0008116, 0x12586: 0xe000a163, 0x12587: 0xe0007a33,\n\t0x12588: 0xe0009a62, 0x12589: 0xe0009a86,\n\t0x1258c: 0xe0005601, 0x1258d: 0xe000a4a5,\n\t0x12590: 0xe00060ac, 0x12592: 0xe00060d0, 0x12593: 0xe000543a,\n\t0x12594: 0xe0005fb0, 0x12595: 0xe00061e5, 0x12596: 0xe000991e,\n\t0x12598: 0xe00069e7, 0x12599: 0xe0006b30, 0x1259a: 0xe0009085, 0x1259b: 0xe0009d6c,\n\t0x125ab: 0xe0005ea3,\n\t0x125ac: 0xe0005f33, 0x125ae: 0xe000887d,\n\t0x125b0: 0xe0009b3c, 0x125b1: 0xe0009ae4, 0x125b3: 0xe0009fff,\n\t0x125b8: 0xe0006981, 0x125b9: 0xe0008251, 0x125bb: 0xe00099bd,\n\t0x125bc: 0xe0007060, 0x125bd: 0xe0004835, 0x125be: 0xe00095e8, 0x125bf: 0xe0007a37,\n\t// Block 0x497, offset 0x125c0\n\t0x125c1: 0xe000a664, 0x125c2: 0xe000a395,\n\t0x125c4: 0xe0006f1c, 0x125c5: 0xe0007255, 0x125c6: 0xe000857a,\n\t0x125c9: 0xe0009514, 0x125ca: 0xe00062dc,\n\t0x125cc: 0xe0009f95,\n\t0x125d0: 0xe0005cb4, 0x125d1: 0xe00082ae, 0x125d3: 0xe000a51d,\n\t0x125d4: 0xe0004364, 0x125d5: 0xe0006578, 0x125d7: 0xe0006b33,\n\t0x125d9: 0xe0009e28, 0x125da: 0xe000862f, 0x125db: 0xe000655c,\n\t0x125dc: 0xe00090c4, 0x125dd: 0xe00070c6,\n\t0x125e0: 0xe0005a60, 0x125e1: 0xe0009e86, 0x125e2: 0xe0009cdf, 0x125e3: 0xe00083de,\n\t0x125e5: 0xe00052fc,\n\t0x125e8: 0xe0008ec2, 0x125eb: 0xe000a2ad,\n\t0x125ee: 0xe0006348, 0x125ef: 0xe0006270,\n\t0x125f0: 0xe0009c09, 0x125f1: 0xe000774b, 0x125f3: 0xe0007b67,\n\t// Block 0x498, offset 0x12600\n\t0x12604: 0xe000a6fa, 0x12607: 0xe0008542,\n\t0x1260a: 0xe0009558, 0x1260b: 0xe0007885,\n\t0x1260c: 0xe00059c0,\n\t0x12611: 0xe000668e, 0x12612: 0xe0007033,\n\t0x12617: 0xe0007021,\n\t0x12619: 0xe00071ce, 0x1261b: 0xe0005787,\n\t0x1261e: 0xe0005655, 0x1261f: 0xe00084b0,\n\t0x12625: 0xe0009125, 0x12627: 0xe0008254,\n\t0x12629: 0xe0006f20, 0x1262a: 0xe000a521, 0x1262b: 0xe000a28d,\n\t0x1262c: 0xe0007114, 0x1262e: 0xe000559f,\n\t0x12632: 0xe0008ec5,\n\t0x12635: 0xe00072f5, 0x12636: 0xe000a88b,\n\t0x12638: 0xe0004b15, 0x12639: 0xe000811a, 0x1263a: 0xe000602c, 0x1263b: 0xe000a624,\n\t0x1263c: 0xe0007dca, 0x1263d: 0xe000a903, 0x1263e: 0xe0009ce2,\n\t// Block 0x499, offset 0x12640\n\t0x12641: 0xe0005c33,\n\t0x12659: 0xe0008ab5, 0x1265a: 0xe0008f71,\n\t0x1265c: 0xe0006a5f,\n\t0x12661: 0xe00063d8, 0x12663: 0xe0007ded,\n\t0x12664: 0xe0004bb6, 0x12665: 0xe00083ee, 0x12666: 0xe0009e89, 0x12667: 0xe0007bbf,\n\t0x12669: 0xe000a43f, 0x1266a: 0xe000583f,\n\t0x1266c: 0xe0005d03, 0x1266e: 0xe00067bf,\n\t0x12674: 0xe0007f2a, 0x12677: 0xe000a1aa,\n\t0x12678: 0xe0009a66, 0x12679: 0xe000a349,\n\t0x1267f: 0xe0009d6f,\n\t// Block 0x49a, offset 0x12680\n\t0x12682: 0xe00055a2,\n\t0x12685: 0xe0007ac3, 0x12687: 0xe00046e5,\n\t0x12688: 0xe0007063, 0x12689: 0xe0006fa4,\n\t0x1268c: 0xe0007f6a, 0x1268d: 0xe000a748, 0x1268e: 0xe0007a3b,\n\t0x12691: 0xe00070fc, 0x12693: 0xe0007a3f,\n\t0x12694: 0xe00086fa, 0x12695: 0xe000969a, 0x12696: 0xe0005d3f,\n\t0x126aa: 0xe000681f, 0x126ab: 0xe0004a9d,\n\t0x126af: 0xe0007769,\n\t0x126b2: 0xe00077c0,\n\t0x126b4: 0xe0007e39, 0x126b5: 0xe000a0db, 0x126b7: 0xe0005695,\n\t0x126b8: 0xe000a7a5,\n\t0x126bc: 0xe00058d1, 0x126bf: 0xe0009b40,\n\t// Block 0x49b, offset 0x126c0\n\t0x126c0: 0xe0008ba9, 0x126c3: 0xe0004e27,\n\t0x126c4: 0xe00099c0, 0x126c5: 0xe0006e18, 0x126c6: 0xe000a74b, 0x126c7: 0xe00050a8,\n\t0x126c8: 0xe0004de3, 0x126cb: 0xe0005db5,\n\t0x126cf: 0xe000a442,\n\t0x126d1: 0xe0007299, 0x126d2: 0xe0009491,\n\t0x126d6: 0xe00052c3,\n\t0x126d8: 0xe0005545, 0x126d9: 0xe0008e1d, 0x126da: 0xe0005bf7,\n\t0x126dd: 0xe00069ea, 0x126de: 0xe0007154,\n\t0x126e0: 0xe00069ed, 0x126e1: 0xe00053da, 0x126e2: 0xe0007a07,\n\t0x126e4: 0xe0007909, 0x126e5: 0xe0005b12, 0x126e6: 0xe0004368,\n\t0x126e8: 0xe0008bad, 0x126ea: 0xe0005c7c, 0x126eb: 0xe00083b2,\n\t0x126ec: 0xe0007388, 0x126ee: 0xe000a6d6,\n\t0x126f1: 0xe0007569, 0x126f3: 0xe00072f9,\n\t0x126f5: 0xe0007a43, 0x126f6: 0xe000587b, 0x126f7: 0xe000a4dd,\n\t0x126f8: 0xe000966c, 0x126f9: 0xe000797b, 0x126fa: 0xe0009518, 0x126fb: 0xe00095ec,\n\t0x126fc: 0xe000612c,\n\t// Block 0x49c, offset 0x12700\n\t0x12717: 0xe0006c58,\n\t0x12719: 0xe000a5d8, 0x1271a: 0xe0008880, 0x1271b: 0xe000431c,\n\t0x1271d: 0xe0009cb0, 0x1271f: 0xe0008bb1,\n\t0x12720: 0xe00044ca, 0x12721: 0xe0005548, 0x12723: 0xe0006b36,\n\t0x12724: 0xe00063b4, 0x12725: 0xe000761f, 0x12726: 0xe0007da6,\n\t0x12728: 0xe0007e8c, 0x1272b: 0xe0006f24,\n\t0x1272c: 0xe0009998, 0x1272d: 0xe00081b8, 0x1272f: 0xe000a167,\n\t0x12732: 0xe0006e74,\n\t0x12734: 0xe00042c0, 0x12736: 0xe0007b6b, 0x12737: 0xe0007aa3,\n\t0x12738: 0xe0008257, 0x1273a: 0xe000611d,\n\t0x1273c: 0xe0006208, 0x1273d: 0xe0008812, 0x1273e: 0xe000a4e1,\n\t// Block 0x49d, offset 0x12740\n\t0x12743: 0xe00064a1,\n\t0x12744: 0xe000620b, 0x12745: 0xe00059a0,\n\t0x1274a: 0xe0008ec8,\n\t0x1274d: 0xe0005356, 0x1274e: 0xe0005fd0,\n\t0x12751: 0xe0006de6, 0x12753: 0xe00068c4,\n\t0x12754: 0xe0008a31, 0x12756: 0xe000a445,\n\t0x12758: 0xe0006ce4, 0x1275b: 0xe00053de,\n\t0x1275c: 0xe0007491, 0x1275e: 0xe0008bb5, 0x1275f: 0xe000a668,\n\t0x12763: 0xe0006290,\n\t0x12767: 0xe0007f6e,\n\t0x1276b: 0xe000982f,\n\t0x1276e: 0xe000850e, 0x1276f: 0xe0009bdc,\n\t0x12772: 0xe000811e, 0x12773: 0xe00051f0,\n\t0x1277a: 0xe0006691,\n\t// Block 0x49e, offset 0x12780\n\t0x1278f: 0xe000548e,\n\t0x12790: 0xe0008122,\n\t0x12795: 0xe00060ec, 0x12796: 0xe0008f75,\n\t0x12798: 0xe000a133,\n\t0x1279c: 0xe0005c36, 0x1279d: 0xe0004c9b, 0x1279f: 0xe0006008,\n\t0x127a2: 0xe000856a,\n\t0x127a5: 0xe00067c2, 0x127a7: 0xe0005c9c,\n\t0x127aa: 0xe00047ba, 0x127ab: 0xe0007d0e,\n\t0x127af: 0xe0007066,\n\t0x127b1: 0xe0009129, 0x127b2: 0xe0007258,\n\t0x127b5: 0xe000838a, 0x127b6: 0xe0007f72, 0x127b7: 0xe000a4f5,\n\t0x127ba: 0xe0005315,\n\t0x127bd: 0xe0007f3a,\n\t// Block 0x49f, offset 0x127c0\n\t0x127c2: 0xe0006420, 0x127c3: 0xe0007d8a,\n\t0x127c4: 0xe00093c3, 0x127c5: 0xe0005fe0,\n\t0x127c8: 0xe000a4a8, 0x127c9: 0xe000a66c, 0x127cb: 0xe00085f0,\n\t0x127cc: 0xe00094c0, 0x127ce: 0xe000a399,\n\t0x127d1: 0xe000a628, 0x127d3: 0xe0008815,\n\t0x127d4: 0xe000554b, 0x127d5: 0xe000573c,\n\t0x127d9: 0xe000a6fd,\n\t0x127ec: 0xe000a4ab, 0x127ed: 0xe0009fb9, 0x127ef: 0xe000969d,\n\t0x127f4: 0xe0008901, 0x127f5: 0xe00062bc, 0x127f7: 0xe0005ac7,\n\t0x127f8: 0xe000a448,\n\t0x127fe: 0xe0004916, 0x127ff: 0xe0005e4b,\n\t// Block 0x4a0, offset 0x12800\n\t0x12801: 0xe00078ee, 0x12802: 0xe0009efd,\n\t0x12804: 0xe0007793, 0x12806: 0xe0009a52,\n\t0x12809: 0xe0005b16,\n\t0x1280c: 0xe0004fa3, 0x1280f: 0xe0005bfa,\n\t0x12811: 0xe000445e, 0x12813: 0xe0005d42,\n\t0x12814: 0xe0007a47, 0x12815: 0xe0008d1c,\n\t0x12819: 0xe0005386, 0x1281a: 0xe0004d31,\n\t0x12820: 0xe0005e0f, 0x12822: 0xe000a06f, 0x12823: 0xe0005974,\n\t0x1282a: 0xe000844a, 0x1282b: 0xe0005e4f,\n\t0x1282c: 0xe0009088, 0x1282d: 0xe0005ef3,\n\t0x12830: 0xe0006940, 0x12831: 0xe00071d1, 0x12832: 0xe00093c7, 0x12833: 0xe00087ca,\n\t0x12838: 0xe0008ae1,\n\t0x1283c: 0xe000980e, 0x1283e: 0xe00078bd, 0x1283f: 0xe0008762,\n\t// Block 0x4a1, offset 0x12840\n\t0x12841: 0xe0007b6f,\n\t0x1284f: 0xe000833a,\n\t0x12851: 0xe00063b8,\n\t0x12854: 0xe000463d, 0x12857: 0xe000920d,\n\t0x12858: 0xe000634c, 0x12859: 0xe0004ee5, 0x1285a: 0xe000729d, 0x1285b: 0xe00086ea,\n\t0x1285c: 0xe00086fe, 0x1285d: 0xe000a913, 0x1285e: 0xe0005a9d, 0x1285f: 0xe0006e1c,\n\t0x12861: 0xe0005619, 0x12862: 0xe000a670,\n\t0x12864: 0xe0008316, 0x12866: 0xe0005bcb,\n\t0x1286d: 0xe00053e2, 0x1286e: 0xe0008d1f, 0x1286f: 0xe0007581,\n\t0x12870: 0xe0004e61,\n\t0x12874: 0xe00088c2,\n\t0x12878: 0xe0006c18, 0x1287a: 0xe00086ce,\n\t0x1287c: 0xe0005659, 0x1287d: 0xe0006694, 0x1287e: 0xe0005d61,\n\t// Block 0x4a2, offset 0x12880\n\t0x12881: 0xe0006c78, 0x12882: 0xe0009235,\n\t0x12884: 0xe0009231, 0x12886: 0xe0007f0d,\n\t0x12888: 0xe00095a4, 0x12889: 0xe000436c, 0x1288b: 0xe000a727,\n\t0x1288c: 0xe000745a, 0x1288d: 0xe0008ecb, 0x1288e: 0xe0009d94,\n\t0x12890: 0xe0008096, 0x12892: 0xe000a53d,\n\t0x12894: 0xe000a44b, 0x12897: 0xe0004258,\n\t0x12898: 0xe0006c1c,\n\t0x1289f: 0xe0005cc4,\n\t0x128a1: 0xe0008d94, 0x128a3: 0xe000a073,\n\t0x128a4: 0xe0009c37, 0x128a7: 0xe0005a7f,\n\t0x128a8: 0xe0006de9,\n\t0x128ae: 0xe000a6d9, 0x128af: 0xe00092b3,\n\t0x128b1: 0xe00089ad, 0x128b3: 0xe0007c94,\n\t0x128b6: 0xe0008a35,\n\t0x128b9: 0xe00053e6,\n\t0x128be: 0xe00053a2,\n\t// Block 0x4a3, offset 0x128c0\n\t0x128c0: 0xe00045bd, 0x128c1: 0xe0009b1c, 0x128c2: 0xe00059e4, 0x128c3: 0xe0005295,\n\t0x128c6: 0xe00068c8, 0x128c7: 0xe0006d60,\n\t0x128c9: 0xe000725b, 0x128ca: 0xe0007bf5,\n\t0x128d5: 0xe000739e,\n\t0x128d8: 0xe000526d, 0x128da: 0xe0007b73, 0x128db: 0xe00060f0,\n\t0x128de: 0xe00069f0, 0x128df: 0xe0008c8c,\n\t0x128e0: 0xe000a44e, 0x128e1: 0xe000825a,\n\t0x128e4: 0xe000554e,\n\t0x128e9: 0xe000a451, 0x128eb: 0xe0005807,\n\t0x128ec: 0xe0008f79, 0x128ee: 0xe0006711, 0x128ef: 0xe0009b20,\n\t0x128f1: 0xe0006a63, 0x128f3: 0xe0008702,\n\t0x128f4: 0xe0007bc3,\n\t0x128fa: 0xe000955c,\n\t0x128fe: 0xe00058f8,\n\t// Block 0x4a4, offset 0x12900\n\t0x12901: 0xe0007889,\n\t0x12905: 0xe000a39d, 0x12906: 0xe00055c1, 0x12907: 0xe0007e5d,\n\t0x12909: 0xe0006b39, 0x1290b: 0xe000756d,\n\t0x1290f: 0xe0005c39,\n\t0x12911: 0xe0009ee3, 0x12912: 0xe0006d64, 0x12913: 0xe0009239,\n\t0x12915: 0xe0006a67,\n\t0x12918: 0xe0005aa0, 0x1291a: 0xe000a077, 0x1291b: 0xe0007b77,\n\t0x1291c: 0xe0008346, 0x1291d: 0xe0005940, 0x1291e: 0xe0008bb9, 0x1291f: 0xe0007069,\n\t0x12923: 0xe000a1ad,\n\t0x12926: 0xe00088c5, 0x12927: 0xe0005b36,\n\t0x12928: 0xe0005b65,\n\t0x1292f: 0xe0007b7b,\n\t0x12930: 0xe000623b, 0x12932: 0xe00059f0,\n\t0x12937: 0xe00084c2,\n\t0x12938: 0xe000961c,\n\t0x1293c: 0xe00078c1, 0x1293e: 0xe00057bb,\n\t// Block 0x4a5, offset 0x12940\n\t0x12944: 0xe0006fb4,\n\t0x1294c: 0xe0004a71, 0x1294e: 0xe0007b13,\n\t0x12950: 0xe000a3a1, 0x12951: 0xe0007177, 0x12953: 0xe00057d7,\n\t0x12958: 0xe0009b70,\n\t0x1295d: 0xe000a454, 0x1295e: 0xe0009d06,\n\t0x12963: 0xe0005e53,\n\t0x12969: 0xe0007b17, 0x1296b: 0xe000a559,\n\t0x1296f: 0xe0008c49,\n\t0x12970: 0xe000a6dc,\n\t0x12978: 0xe0004c9e,\n\t0x1297c: 0xe0008682, 0x1297d: 0xe0008818, 0x1297e: 0xe0008839,\n\t// Block 0x4a6, offset 0x12980\n\t0x12981: 0xe0005138,\n\t0x12985: 0xe00046e9, 0x12986: 0xe00061d9,\n\t0x1298a: 0xe0009964,\n\t0x1298e: 0xe0007adb,\n\t0x12992: 0xe00096ee,\n\t0x12995: 0xe000a183,\n\t0x12998: 0xe000a8a7, 0x12999: 0xe00085f3, 0x1299a: 0xe0004b19,\n\t0x129a1: 0xe0008bbd,\n\t0x129a4: 0xe000706c,\n\t0x129ab: 0xe000a2b1,\n\t0x129ac: 0xe00044cd, 0x129ad: 0xe0009b74, 0x129ae: 0xe0009ebf, 0x129af: 0xe000a3a5,\n\t0x129b0: 0xe0009ec2, 0x129b3: 0xe000663c,\n\t0x129b7: 0xe0008ece,\n\t0x129b8: 0xe0008686, 0x129b9: 0xe0008ae5,\n\t// Block 0x4a7, offset 0x129c0\n\t0x129c8: 0xe00059c4, 0x129ca: 0xe00078c5, 0x129cb: 0xe000a857,\n\t0x129cf: 0xe0007c97,\n\t0x129d3: 0xe00047e4,\n\t0x129d8: 0xe000a525, 0x129d9: 0xe000578b,\n\t0x129dc: 0xe000a812, 0x129dd: 0xe000902d, 0x129df: 0xe0007a4b,\n\t0x129f1: 0xe00046ed,\n\t0x129f9: 0xe0009d98,\n\t0x129fd: 0xe000674d,\n\t// Block 0x4a8, offset 0x12a00\n\t0x12a04: 0xe000a7ca,\n\t0x12a09: 0xe0007933,\n\t0x12a0c: 0xe0008f7d,\n\t0x12a19: 0xe00064a4, 0x12a1a: 0xe0006888,\n\t0x12a1c: 0xe000a4f9, 0x12a1e: 0xe0005605,\n\t0x12a20: 0xe000738b, 0x12a21: 0xe0006159,\n\t0x12a26: 0xe00096f1,\n\t0x12a2d: 0xe0004769, 0x12a2e: 0xe000a8bb, 0x12a2f: 0xe00086b6,\n\t0x12a30: 0xe0007adf, 0x12a31: 0xe000a291,\n\t0x12a36: 0xe0007a4f,\n\t// Block 0x4a9, offset 0x12a40\n\t0x12a46: 0xe000a023, 0x12a47: 0xe000a83f,\n\t0x12a49: 0xe0005978, 0x12a4a: 0xe000a80a,\n\t0x12a4c: 0xe000a674, 0x12a4e: 0xe00089b1,\n\t0x12a50: 0xe0007b7f, 0x12a52: 0xe00081eb,\n\t0x12a56: 0xe00051c4, 0x12a57: 0xe00051d0,\n\t0x12a59: 0xe0007a53,\n\t0x12a5c: 0xe0008076, 0x12a5e: 0xe0006c44,\n\t0x12a62: 0xe0004765,\n\t0x12a64: 0xe0005f1b, 0x12a65: 0xe000a5dc, 0x12a66: 0xe000a790, 0x12a67: 0xe0008d22,\n\t0x12a68: 0xe0007e8f, 0x12a69: 0xe0006500,\n\t0x12a6c: 0xe000788d, 0x12a6e: 0xe00085f6,\n\t0x12a7d: 0xe0006e78,\n\t// Block 0x4aa, offset 0x12a80\n\t0x12a80: 0xe0007b3b,\n\t0x12a84: 0xe0007495, 0x12a85: 0xe0007d36, 0x12a87: 0xe000a766,\n\t0x12a89: 0xe000809a, 0x12a8a: 0xe00080de,\n\t0x12a8f: 0xe000a7ce,\n\t0x12a92: 0xe000a3a9,\n\t0x12a94: 0xe0007f76,\n\t0x12a99: 0xe000a946, 0x12a9b: 0xe0009f27,\n\t0x12a9f: 0xe00072a1,\n\t0x12aa0: 0xe00073b6, 0x12aa2: 0xe0006751,\n\t0x12aa4: 0xe00084de,\n\t0x12aa8: 0xe00081ee,\n\t0x12aac: 0xe0007c9a, 0x12aaf: 0xe0006eec,\n\t0x12ab1: 0xe0007ac7, 0x12ab2: 0xe000476d,\n\t0x12ab9: 0xe000a949, 0x12aba: 0xe000a94c,\n\t0x12abe: 0xe00099c3,\n\t// Block 0x4ab, offset 0x12ac0\n\t0x12ac1: 0xe0007b2f, 0x12ac3: 0xe0007a57,\n\t0x12ac8: 0xe0005718, 0x12ac9: 0xe0005609, 0x12acb: 0xe0009748,\n\t0x12ace: 0xe0005baa,\n\t0x12ad0: 0xe0005d65, 0x12ad2: 0xe000706f,\n\t0x12ad4: 0xe0006504, 0x12ad5: 0xe0007a5b, 0x12ad6: 0xe0007585,\n\t0x12ad9: 0xe0009be4,\n\t0x12adf: 0xe0007b83,\n\t0x12ae0: 0xe0008086,\n\t0x12ae5: 0xe0008d25, 0x12ae6: 0xe00092b7, 0x12ae7: 0xe00071d4,\n\t0x12aec: 0xe000a827, 0x12aed: 0xe0009780, 0x12aee: 0xe0006fa8,\n\t0x12af9: 0xe000a970, 0x12afb: 0xe000a7d2,\n\t0x12afc: 0xe00074e1, 0x12afe: 0xe0005551, 0x12aff: 0xe0007ec8,\n\t// Block 0x4ac, offset 0x12b00\n\t0x12b00: 0xe000a27d,\n\t0x12b06: 0xe0009ee7, 0x12b07: 0xe0006f54,\n\t0x12b0b: 0xe000a7e6,\n\t0x12b0c: 0xe0004b3d, 0x12b0d: 0xe0006bcc,\n\t0x12b10: 0xe0005aa3,\n\t0x12b14: 0xe000a973, 0x12b17: 0xe0007b3f,\n\t0x12b1a: 0xe000783d, 0x12b1b: 0xe00057bf,\n\t0x12b1f: 0xe0004aa1,\n\t0x12b25: 0xe0009794,\n\t0x12b28: 0xe0009303, 0x12b2a: 0xe0008d28,\n\t0x12b2c: 0xe0009ce5, 0x12b2d: 0xe000883f,\n\t0x12b30: 0xe0008126, 0x12b32: 0xe00081bb,\n\t0x12b35: 0xe000868a, 0x12b36: 0xe00067c5,\n\t0x12b38: 0xe0009d09, 0x12b39: 0xe0005327, 0x12b3a: 0xe0007815, 0x12b3b: 0xe000a74e,\n\t0x12b3d: 0xe0006ce8, 0x12b3e: 0xe0008474,\n\t// Block 0x4ad, offset 0x12b40\n\t0x12b40: 0xe0006cec, 0x12b42: 0xe00087ce,\n\t0x12b46: 0xe0008766, 0x12b47: 0xe0009dc0,\n\t0x12b48: 0xe0009d30, 0x12b4b: 0xe0008a39,\n\t0x12b4c: 0xe0009d72,\n\t0x12b52: 0xe0009638, 0x12b53: 0xe0006474,\n\t0x12b54: 0xe0006314, 0x12b56: 0xe00082b1,\n\t0x12b58: 0xe00055c5, 0x12b59: 0xe00075bd, 0x12b5a: 0xe0009c43, 0x12b5b: 0xe0007fed,\n\t0x12b5d: 0xe0006a6b, 0x12b5f: 0xe000605a,\n\t0x12b61: 0xe000605d, 0x12b62: 0xe0005b68,\n\t0x12b67: 0xe00060b0,\n\t0x12b69: 0xe00061e9,\n\t0x12b6f: 0xe0004892,\n\t0x12b72: 0xe0006d68,\n\t0x12b74: 0xe00088c8,\n\t0x12b78: 0xe0008632, 0x12b79: 0xe0009cbe,\n\t0x12b7d: 0xe00045e9,\n\t// Block 0x4ae, offset 0x12b80\n\t0x12b80: 0xe0006dad, 0x12b81: 0xe0005d06,\n\t0x12b87: 0xe00068cc,\n\t0x12b8d: 0xe0004540,\n\t0x12b92: 0xe000a4ae,\n\t0x12b96: 0xe00057a7,\n\t0x12ba2: 0xe00055c9,\n\t0x12ba7: 0xe000a94f,\n\t0x12bac: 0xe00045ed, 0x12baf: 0xe0006560,\n\t0x12bb3: 0xe00086ba,\n\t0x12bb4: 0xe000768f, 0x12bb5: 0xe000a980,\n\t// Block 0x4af, offset 0x12bc0\n\t0x12bc0: 0xe0006cf0, 0x12bc2: 0xe0004b1d,\n\t0x12bc4: 0xe0008905,\n\t0x12bc9: 0xe00069f3,\n\t0x12bce: 0xe000771f,\n\t0x12bd0: 0xe000a457, 0x12bd2: 0xe00069f6,\n\t0x12bd7: 0xe0004ca1,\n\t0x12bd9: 0xe0008883,\n\t0x12be1: 0xe0004be7, 0x12be2: 0xe000a043,\n\t0x12be5: 0xe0007341,\n\t0x12be8: 0xe0008352, 0x12be9: 0xe00071d7,\n\t0x12bf4: 0xe0009e59, 0x12bf7: 0xe0004615,\n\t0x12bf8: 0xe0005d09, 0x12bf9: 0xe000a34d, 0x12bfa: 0xe000838e, 0x12bfb: 0xe0006c20,\n\t0x12bfc: 0xe0005843, 0x12bfd: 0xe0009d75,\n\t// Block 0x4b0, offset 0x12c00\n\t0x12c09: 0xe000513b, 0x12c0a: 0xe0007bf8,\n\t0x12c13: 0xe0004a1d,\n\t0x12c16: 0xe00093cb, 0x12c17: 0xe000844d,\n\t0x12c18: 0xe0008cbf, 0x12c19: 0xe0008853, 0x12c1b: 0xe0005f70,\n\t0x12c1c: 0xe000741e, 0x12c1d: 0xe0008e01,\n\t0x12c22: 0xe000a4b1,\n\t0x12c25: 0xe0007e7d, 0x12c27: 0xe0007dcd,\n\t0x12c28: 0xe000815e, 0x12c29: 0xe0006fe8, 0x12c2a: 0xe0008886, 0x12c2b: 0xe0006120,\n\t0x12c31: 0xe000528c,\n\t0x12c34: 0xe000a7a8, 0x12c36: 0xe000825d, 0x12c37: 0xe0008260,\n\t0x12c3e: 0xe000a62c, 0x12c3f: 0xe000812a,\n\t// Block 0x4b1, offset 0x12c40\n\t0x12c43: 0xe0007796,\n\t0x12c44: 0xe0007d02, 0x12c45: 0xe0006b3c,\n\t0x12c50: 0xe000876a, 0x12c52: 0xe0007c9d,\n\t0x12c57: 0xe0004e4b,\n\t0x12c58: 0xe0009e5c,\n\t0x12c5c: 0xe0005d89,\n\t0x12c60: 0xe0005bce,\n\t0x12c68: 0xe00055cd, 0x12c69: 0xe0007c2e, 0x12c6a: 0xe000a6df, 0x12c6b: 0xe000a271,\n\t0x12c6c: 0xe000a1d1, 0x12c6f: 0xe000a7ea,\n\t0x12c70: 0xe0007b87, 0x12c72: 0xe000a713,\n\t0x12c75: 0xe00059f8, 0x12c77: 0xe0004b41,\n\t0x12c78: 0xe00071da, 0x12c7a: 0xe00053a6, 0x12c7b: 0xe000a24d,\n\t0x12c7c: 0xe000623e,\n\t// Block 0x4b2, offset 0x12c80\n\t0x12c81: 0xe000a275,\n\t0x12c84: 0xe000a2b5, 0x12c86: 0xe00085f9, 0x12c87: 0xe000713c,\n\t0x12c88: 0xe0005aca, 0x12c89: 0xe0007d06, 0x12c8b: 0xe0007e55,\n\t0x12c8e: 0xe0008bc1,\n\t0x12c94: 0xe000951c, 0x12c95: 0xe0004298, 0x12c96: 0xe0004ca4, 0x12c97: 0xe0007ff0,\n\t0x12c98: 0xe00050ab,\n\t0x12c9e: 0xe0006822, 0x12c9f: 0xe0006274,\n\t0x12ca0: 0xe0004485,\n\t0x12ca6: 0xe000464d, 0x12ca7: 0xe000831a,\n\t0x12ca9: 0xe0007df1, 0x12cab: 0xe0005f36,\n\t0x12cad: 0xe0006a6f,\n\t0x12cb2: 0xe0005a1c, 0x12cb3: 0xe00054dc,\n\t0x12cb7: 0xe0008b01,\n\t0x12cb9: 0xe000a2b9, 0x12cbb: 0xe0009d0c,\n\t// Block 0x4b3, offset 0x12cc0\n\t0x12cc0: 0xe00062e0, 0x12cc2: 0xe0004190,\n\t0x12cc6: 0xe00084b3,\n\t0x12cc8: 0xe00041d2, 0x12cc9: 0xe0006278, 0x12cca: 0xe0006bec,\n\t0x12ccc: 0xe0009f99, 0x12ccd: 0xe000912d, 0x12ccf: 0xe00041fc,\n\t0x12cd2: 0xe0009191,\n\t0x12cd6: 0xe0004b21,\n\t0x12cd9: 0xe00049a2,\n\t0x12cdd: 0xe000a793, 0x12cde: 0xe000578f,\n\t0x12ce0: 0xe0008ed1, 0x12ce2: 0xe0008392, 0x12ce3: 0xe00072fd,\n\t0x12ce4: 0xe0006697, 0x12ce5: 0xe0008477, 0x12ce6: 0xe000a21a,\n\t0x12ce9: 0xe000a3ad, 0x12cea: 0xe0004eb2, 0x12ceb: 0xe0009936,\n\t0x12ced: 0xe0006350, 0x12cee: 0xe0009d87,\n\t0x12cf5: 0xe0008c4d, 0x12cf7: 0xe000615c,\n\t0x12cf9: 0xe0006fec,\n\t0x12cfd: 0xe0008bc5, 0x12cfe: 0xe000a2bd,\n\t// Block 0x4b4, offset 0x12d00\n\t0x12d01: 0xe0006e7c, 0x12d03: 0xe0004ca7,\n\t0x12d04: 0xe000a2f5, 0x12d05: 0xe0005847, 0x12d06: 0xe0005d0c, 0x12d07: 0xe00071dd,\n\t0x12d09: 0xe0005c3c,\n\t0x12d13: 0xe0007df5,\n\t0x12d1b: 0xe0009a6a,\n\t0x12d20: 0xe00089b5, 0x12d21: 0xe00072a5, 0x12d22: 0xe0009b24,\n\t0x12d24: 0xe0008857, 0x12d25: 0xe000a45a, 0x12d26: 0xe00050ae,\n\t0x12d28: 0xe000491a, 0x12d2a: 0xe00050b1, 0x12d2b: 0xe0006755,\n\t0x12d2c: 0xe0007df9, 0x12d2e: 0xe0008e21, 0x12d2f: 0xe0004a75,\n\t0x12d30: 0xe0007ae3, 0x12d31: 0xe0008d97, 0x12d32: 0xe00064ce, 0x12d33: 0xe0005db9,\n\t0x12d34: 0xe0004fcb, 0x12d35: 0xe0006984, 0x12d36: 0xe0009ce8,\n\t0x12d38: 0xe0009b28, 0x12d3a: 0xe000657c,\n\t0x12d3f: 0xe000a4e5,\n\t// Block 0x4b5, offset 0x12d40\n\t0x12d40: 0xe0007ff3, 0x12d41: 0xe0006060, 0x12d43: 0xe0009902,\n\t0x12d44: 0xe0006e80, 0x12d45: 0xe0008cc2, 0x12d46: 0xe0007010,\n\t0x12d4b: 0xe00081be,\n\t0x12d4e: 0xe000a1d4,\n\t0x12d55: 0xe000a002, 0x12d57: 0xe000812e,\n\t0x12d59: 0xe000527d, 0x12d5a: 0xe000a45d, 0x12d5b: 0xe0007b8b,\n\t0x12d5c: 0xe0008263, 0x12d5d: 0xe000a6a8, 0x12d5e: 0xe0006db0, 0x12d5f: 0xe000738e,\n\t0x12d60: 0xe0005c3f, 0x12d62: 0xe0007f7a, 0x12d63: 0xe0007186,\n\t0x12d64: 0xe0007ecb, 0x12d65: 0xe0007d12,\n\t0x12d68: 0xe0009131, 0x12d69: 0xe000a3b1, 0x12d6a: 0xe0005de0,\n\t0x12d6d: 0xe0005492, 0x12d6f: 0xe000584b,\n\t0x12d70: 0xe0004b96, 0x12d71: 0xe0008a3d, 0x12d72: 0xe000940f, 0x12d73: 0xe0009281,\n\t0x12d7d: 0xe0008e5d, 0x12d7e: 0xe0004f6f,\n\t// Block 0x4b6, offset 0x12d80\n\t0x12d80: 0xe0009811, 0x12d82: 0xe00050b4, 0x12d83: 0xe0005d0f,\n\t0x12d86: 0xe0004d34, 0x12d87: 0xe0006e84,\n\t0x12d89: 0xe000597c, 0x12d8a: 0xe00061dd, 0x12d8b: 0xe000876e,\n\t0x12d98: 0xe0005d69,\n\t0x12d9c: 0xe000a678, 0x12d9d: 0xe0004b99, 0x12d9e: 0xe00062e4, 0x12d9f: 0xe00046f1,\n\t0x12da1: 0xe0009135, 0x12da3: 0xe00050b7,\n\t0x12da5: 0xe00046f5, 0x12da7: 0xe0006594,\n\t0x12da8: 0xe00092bb, 0x12daa: 0xe0008d2b, 0x12dab: 0xe0005496,\n\t0x12db0: 0xe000a5e0, 0x12db2: 0xe00071e0,\n\t0x12db5: 0xe00079c0,\n\t0x12db9: 0xe00072a9,\n\t0x12dbd: 0xe0006d43, 0x12dbf: 0xe0006e88,\n\t// Block 0x4b7, offset 0x12dc0\n\t0x12dc6: 0xe00091c5,\n\t0x12dca: 0xe00046f9,\n\t0x12dcf: 0xe0005b3a,\n\t0x12dd4: 0xe0007b8f,\n\t0x12dd8: 0xe0004a79, 0x12dda: 0xe00092bf, 0x12ddb: 0xe000a600,\n\t0x12ddc: 0xe00049f3,\n\t0x12de0: 0xe000a460, 0x12de2: 0xe0009f00, 0x12de3: 0xe0009d34,\n\t0x12de6: 0xe0007da9,\n\t0x12de9: 0xe0009560,\n\t0x12dee: 0xe0007d66,\n\t0x12df2: 0xe0009c5e,\n\t0x12df7: 0xe00085fc,\n\t// Block 0x4b8, offset 0x12e00\n\t0x12e01: 0xe0006640, 0x12e03: 0xe000987a,\n\t0x12e04: 0xe00045f1,\n\t0x12e0c: 0xe0004d37, 0x12e0d: 0xe0005f84, 0x12e0e: 0xe0008a41,\n\t0x12e11: 0xe0009031, 0x12e13: 0xe00065b0,\n\t0x12e15: 0xe0007d6a,\n\t0x12e18: 0xe0004320, 0x12e1a: 0xe0007571, 0x12e1b: 0xe00095f0,\n\t0x12e1e: 0xe0006d2c, 0x12e1f: 0xe0006d6c,\n\t0x12e23: 0xe0006bf0,\n\t0x12e25: 0xe0006d70, 0x12e26: 0xe0007072,\n\t0x12e28: 0xe0007f7e, 0x12e2b: 0xe000669a,\n\t0x12e2c: 0xe0007f82,\n\t0x12e30: 0xe00089b9, 0x12e31: 0xe0008266, 0x12e32: 0xe0004388, 0x12e33: 0xe00074e5,\n\t0x12e37: 0xe00051f4,\n\t0x12e38: 0xe00089bd, 0x12e3a: 0xe0008bc9,\n\t0x12e3f: 0xe0005f88,\n\t// Block 0x4b9, offset 0x12e40\n\t0x12e47: 0xe0004f0b,\n\t0x12e4a: 0xe0004771, 0x12e4b: 0xe0008a45,\n\t0x12e4c: 0xe00047bd, 0x12e4e: 0xe0004619, 0x12e4f: 0xe0007e80,\n\t0x12e51: 0xe00089c1, 0x12e53: 0xe000543e,\n\t0x12e54: 0xe0006354,\n\t0x12e59: 0xe0005c42, 0x12e5a: 0xe00068d0, 0x12e5b: 0xe0009139,\n\t0x12e5c: 0xe00098ba, 0x12e5d: 0xe000615f,\n\t0x12e60: 0xe0008a49, 0x12e62: 0xe0009f9d,\n\t0x12e64: 0xe00099fc, 0x12e65: 0xe0005889, 0x12e66: 0xe000a85a, 0x12e67: 0xe000588d,\n\t0x12e6a: 0xe0006508, 0x12e6b: 0xe000a583,\n\t0x12e6f: 0xe0008f81,\n\t0x12e70: 0xe000847a,\n\t0x12e75: 0xe000a55c, 0x12e76: 0xe000546a,\n\t0x12e78: 0xe00050ba, 0x12e7a: 0xe00043c4,\n\t0x12e7f: 0xe00050bd,\n\t// Block 0x4ba, offset 0x12e80\n\t0x12e86: 0xe00043c8, 0x12e87: 0xe0008ed4,\n\t0x12e88: 0xe00065b4, 0x12e8a: 0xe000963c, 0x12e8b: 0xe0009fa1,\n\t0x12e8e: 0xe0007078, 0x12e8f: 0xe0007075,\n\t0x12e91: 0xe000841d,\n\t0x12e94: 0xe0008c51,\n\t0x12e99: 0xe000a8df, 0x12e9a: 0xe0004d3a,\n\t0x12e9d: 0xe0006bf4,\n\t0x12ea3: 0xe0008041,\n\t0x12ea5: 0xe0004461,\n\t0x12ea9: 0xe000994c, 0x12eab: 0xe00079eb,\n\t0x12eb1: 0xe0009e8c, 0x12eb2: 0xe0009f6a, 0x12eb3: 0xe0004324,\n\t0x12eb4: 0xe00075ed, 0x12eb5: 0xe00085ff,\n\t0x12eb8: 0xe00053aa, 0x12eb9: 0xe000913d,\n\t0x12ebc: 0xe000565d, 0x12ebd: 0xe0008889, 0x12ebe: 0xe00091c9,\n\t// Block 0x4bb, offset 0x12ec0\n\t0x12ec0: 0xe0004d3d, 0x12ec2: 0xe0004193, 0x12ec3: 0xe000a2f9,\n\t0x12ec5: 0xe0006644, 0x12ec7: 0xe0009035,\n\t0x12eca: 0xe0008a4d,\n\t0x12ecd: 0xe000847d, 0x12ece: 0xe000a1d7,\n\t0x12ed2: 0xe0007891, 0x12ed3: 0xe00099ff,\n\t0x12ed4: 0xe00099c6, 0x12ed5: 0xe000a8ab,\n\t0x12ed8: 0xe00056c1, 0x12ed9: 0xe00046fd, 0x12edb: 0xe0009c6a,\n\t0x12ede: 0xe00069f9,\n\t0x12ee2: 0xe0005d12, 0x12ee3: 0xe00090c7,\n\t0x12ee4: 0xe0008e83, 0x12ee7: 0xe0006b9f,\n\t0x12ef0: 0xe00053ea, 0x12ef2: 0xe0005de3, 0x12ef3: 0xe0005dc5,\n\t0x12ef4: 0xe00099c9,\n\t0x12ef9: 0xe00069fc, 0x12efa: 0xe0006987,\n\t0x12efc: 0xe0004838, 0x12eff: 0xe00081f1,\n\t// Block 0x4bc, offset 0x12f00\n\t0x12f00: 0xe00078f1, 0x12f01: 0xe000994f,\n\t0x12f07: 0xe0008e61,\n\t0x12f08: 0xe00047e7, 0x12f09: 0xe00082b4, 0x12f0b: 0xe0009f5c,\n\t0x12f0d: 0xe0007895,\n\t0x12f10: 0xe00082b7,\n\t0x12f15: 0xe000a026,\n\t0x12f19: 0xe000707b,\n\t0x12f1f: 0xe0007d16,\n\t0x12f20: 0xe00094c4, 0x12f21: 0xe00093cf, 0x12f22: 0xe0006358,\n\t0x12f24: 0xe0005c45, 0x12f26: 0xe00071e3, 0x12f27: 0xe000a047,\n\t0x12f2f: 0xe0008de9,\n\t0x12f30: 0xe0005775, 0x12f33: 0xe000987d,\n\t0x12f34: 0xe00087d2,\n\t0x12f3b: 0xe0005bfd,\n\t// Block 0x4bd, offset 0x12f40\n\t0x12f42: 0xe0005bad, 0x12f43: 0xe0005ca4,\n\t0x12f46: 0xe0005acd,\n\t0x12f48: 0xe0009e5f, 0x12f49: 0xe000538a,\n\t0x12f4c: 0xe00076df, 0x12f4e: 0xe000425c,\n\t0x12f52: 0xe0008269,\n\t0x12f55: 0xe0007d8e, 0x12f56: 0xe0006598,\n\t0x12f58: 0xe000591f,\n\t0x12f5c: 0xe0008a51,\n\t0x12f61: 0xe00099cc, 0x12f62: 0xe00078c9,\n\t0x12f64: 0xe0008ab9, 0x12f65: 0xe000923d, 0x12f67: 0xe000595c,\n\t0x12f68: 0xe0004a49, 0x12f69: 0xe000575a,\n\t0x12f6c: 0xe0006e8c, 0x12f6d: 0xe0007bc7, 0x12f6e: 0xe0008396, 0x12f6f: 0xe0004d40,\n\t0x12f70: 0xe0007d6e, 0x12f71: 0xe0009b8c, 0x12f72: 0xe00089c5,\n\t0x12f78: 0xe00047c0, 0x12f7b: 0xe000571c,\n\t0x12f7c: 0xe00063bc, 0x12f7d: 0xe00064e8, 0x12f7e: 0xe00064ec,\n\t// Block 0x4be, offset 0x12f80\n\t0x12f80: 0xe0005023, 0x12f81: 0xe0008d9a, 0x12f83: 0xe000608d,\n\t0x12f84: 0xe0008909, 0x12f86: 0xe0004464, 0x12f87: 0xe000a67c,\n\t0x12f8b: 0xe0004895,\n\t0x12f8e: 0xe0004bea,\n\t0x12f90: 0xe000483b, 0x12f93: 0xe000a463,\n\t0x12f96: 0xe000a604,\n\t0x12f9a: 0xe0007799, 0x12f9b: 0xe000a769,\n\t0x12f9c: 0xe000a4b4, 0x12f9e: 0xe000a4b7,\n\t0x12fa4: 0xe0009d0f,\n\t0x12fac: 0xe000a04b, 0x12fae: 0xe0009f6d,\n\t0x12fb4: 0xe0008fb1, 0x12fb6: 0xe0006ba2,\n\t0x12fb8: 0xe0004dc7, 0x12fba: 0xe0009832,\n\t0x12fbf: 0xe000600c,\n\t// Block 0x4bf, offset 0x12fc0\n\t0x12fc2: 0xe0007ff6, 0x12fc3: 0xe00064a7,\n\t0x12fc6: 0xe000688c,\n\t0x12fc8: 0xe0007b93, 0x12fca: 0xe00084c6,\n\t0x12fcc: 0xe0007e3d, 0x12fcd: 0xe000a137, 0x12fce: 0xe000774f,\n\t0x12fd2: 0xe000a10f,\n\t0x12fd4: 0xe000a700, 0x12fd6: 0xe0004467,\n\t0x12fd9: 0xe00066af, 0x12fdb: 0xe0006ff0,\n\t0x12fdc: 0xe0005554, 0x12fde: 0xe00086d2, 0x12fdf: 0xe0005f78,\n\t0x12fe1: 0xe0009141, 0x12fe3: 0xe0004328,\n\t0x12fe4: 0xe000635c, 0x12fe5: 0xe0004aa5, 0x12fe7: 0xe0005aa6,\n\t0x12fea: 0xe0009be8,\n\t0x12fec: 0xe0004898, 0x12fee: 0xe00060b4,\n\t0x12ff1: 0xe0008044, 0x12ff2: 0xe0005f74,\n\t0x12ff4: 0xe00090e5,\n\t0x12ff8: 0xe0006cf4, 0x12ff9: 0xe0007345, 0x12ffb: 0xe000a40f,\n\t0x12ffc: 0xe0006360, 0x12ffe: 0xe0007301,\n\t// Block 0x4c0, offset 0x13000\n\t0x13001: 0xe0006ff4,\n\t0x13004: 0xe0005fb4, 0x13007: 0xe000612f,\n\t0x13008: 0xe0009ba4, 0x13009: 0xe000620e, 0x1300a: 0xe0006090, 0x1300b: 0xe0004260,\n\t0x1300c: 0xe000a2fd,\n\t0x1301a: 0xe0006d78, 0x1301b: 0xe0005f39,\n\t0x1301e: 0xe0009145,\n\t0x13020: 0xe0005fb8,\n\t0x13025: 0xe0008635, 0x13026: 0xe0008638,\n\t0x13028: 0xe0008712, 0x13029: 0xe000a2c1,\n\t0x13034: 0xe0007349, 0x13037: 0xe0004e2b,\n\t0x13038: 0xe0006063, 0x1303a: 0xe0008d2e, 0x1303b: 0xe00078cd,\n\t0x1303c: 0xe0007677, 0x1303e: 0xe0008ff1,\n\t// Block 0x4c1, offset 0x13040\n\t0x13040: 0xe000928f,\n\t0x13046: 0xe000a608, 0x13047: 0xe0008cc5,\n\t0x1304d: 0xe000a2c5,\n\t0x13052: 0xe0006f90,\n\t0x1305a: 0xe000779c, 0x1305b: 0xe0008bcd,\n\t0x1305f: 0xe000725e,\n\t0x13060: 0xe0004e3b, 0x13061: 0xe00071e6, 0x13062: 0xe0007261, 0x13063: 0xe00055d1,\n\t0x13065: 0xe00069ff, 0x13066: 0xe00060b8,\n\t0x13068: 0xe0007c31, 0x1306b: 0xe0009640,\n\t0x13077: 0xe0004544,\n\t0x13079: 0xe0005557,\n\t0x1307d: 0xe0004ee8, 0x1307e: 0xe000483e, 0x1307f: 0xe0007bfb,\n\t// Block 0x4c2, offset 0x13080\n\t0x1308b: 0xe0009149,\n\t0x1308d: 0xe0007264, 0x1308e: 0xe000a0bf,\n\t0x13091: 0xe0006010,\n\t0x13096: 0xe0007c34,\n\t0x13099: 0xe0005e1f,\n\t0x1309e: 0xe0005e57,\n\t0x130a0: 0xe000549a, 0x130a2: 0xe00060f4,\n\t0x130a5: 0xe0006604,\n\t0x130aa: 0xe0009241,\n\t0x130ac: 0xe0007305, 0x130ad: 0xe0005bb0,\n\t0x130b0: 0xe000432c, 0x130b3: 0xe0005661,\n\t0x130b9: 0xe000779f, 0x130bb: 0xe00095f4,\n\t0x130bc: 0xe0004580, 0x130bd: 0xe000489b, 0x130bf: 0xe0004caa,\n\t// Block 0x4c3, offset 0x130c0\n\t0x130c7: 0xe00060f8,\n\t0x130c9: 0xe0006a87,\n\t0x130cd: 0xe000a5a0,\n\t0x130d7: 0xe0009784,\n\t0x130d9: 0xe0004370, 0x130da: 0xe0009798, 0x130db: 0xe0006066,\n\t0x130dc: 0xe000503b, 0x130de: 0xe000833e,\n\t0x130e1: 0xe000a5a4, 0x130e2: 0xe0007421, 0x130e3: 0xe0008420,\n\t0x130e5: 0xe000908b, 0x130e7: 0xe000752d,\n\t0x130e9: 0xe0004cad,\n\t0x130ed: 0xe000535a, 0x130ee: 0xe0007e6e, 0x130ef: 0xe0004bed,\n\t0x130f0: 0xe000904d, 0x130f3: 0xe0006e20,\n\t0x130fa: 0xe0009b44, 0x130fb: 0xe000496e,\n\t0x130fc: 0xe000441c, 0x130fd: 0xe0006e38,\n\t// Block 0x4c4, offset 0x13100\n\t0x13102: 0xe0006b3f,\n\t0x1310c: 0xe00096bb, 0x1310f: 0xe00068d4,\n\t0x13111: 0xe00075f0, 0x13112: 0xe000698a,\n\t0x13122: 0xe0005778,\n\t0x13125: 0xe000908e, 0x13126: 0xe0009445, 0x13127: 0xe0009a6e,\n\t0x1312c: 0xe0005dc9, 0x1312d: 0xe0009e04,\n\t0x13130: 0xe0009da0, 0x13132: 0xe0009e8f,\n\t0x13134: 0xe0009ceb,\n\t// Block 0x4c5, offset 0x13140\n\t0x13143: 0xe0008f19,\n\t0x13145: 0xe0004eb5,\n\t0x1314f: 0xe0007a5f,\n\t0x1315c: 0xe00044a2, 0x1315d: 0xe00096f4,\n\t0x13160: 0xe000585b,\n\t0x13167: 0xe0007fb6,\n\t0x13168: 0xe0009284, 0x1316b: 0xe0005c48,\n\t0x1316c: 0xe0004701, 0x1316e: 0xe000a04f, 0x1316f: 0xe0007a63,\n\t0x1317c: 0xe0006930,\n\t// Block 0x4c6, offset 0x13180\n\t0x13181: 0xe00050c0,\n\t0x13187: 0xe0008bd1,\n\t0x1318c: 0xe0005aee, 0x1318d: 0xe000776c, 0x1318e: 0xe000717a, 0x1318f: 0xe00086be,\n\t0x13191: 0xe000698d, 0x13193: 0xe00054fa,\n\t0x13197: 0xe0007dfd,\n\t0x1319f: 0xe0006f58,\n\t0x131a3: 0xe00042c4,\n\t0x131a4: 0xe0007bcb, 0x131a7: 0xe000659c,\n\t0x131a8: 0xe0007e92, 0x131a9: 0xe0006e24,\n\t0x131ad: 0xe0009bec,\n\t0x131ba: 0xe000a594, 0x131bb: 0xe000a598,\n\t0x131bc: 0xe0005de6, 0x131be: 0xe0005245,\n\t// Block 0x4c7, offset 0x131c0\n\t0x131c1: 0xe0008602,\n\t0x131c5: 0xe0006424,\n\t0x131c8: 0xe0007e95, 0x131ca: 0xe0005b6b, 0x131cb: 0xe0009260,\n\t0x131ce: 0xe00047c3, 0x131cf: 0xe00059f4,\n\t0x131d0: 0xe0006364, 0x131d1: 0xe00077a2,\n\t0x131d4: 0xe0009475, 0x131d5: 0xe0004488,\n\t0x131da: 0xe0008a55,\n\t0x131e0: 0xe00052c6,\n\t0x131e7: 0xe000894d,\n\t0x131e8: 0xe0005de9, 0x131ea: 0xe0009814,\n\t0x131ec: 0xe0004705, 0x131ef: 0xe00050c3,\n\t0x131f4: 0xe0005740, 0x131f5: 0xe0004264, 0x131f7: 0xe0005d8d,\n\t0x131fa: 0xe0004b45, 0x131fb: 0xe0006368,\n\t0x131fc: 0xe0008716, 0x131fd: 0xe0004c32,\n\t// Block 0x4c8, offset 0x13200\n\t0x13201: 0xe00096f7,\n\t0x1320c: 0xe0005b7d, 0x1320e: 0xe00096fa, 0x1320f: 0xe0005027,\n\t0x13211: 0xe000549e, 0x13212: 0xe0008450,\n\t0x13216: 0xe00079c3,\n\t0x13219: 0xe00077a5,\n\t0x13227: 0xe0005b80,\n\t0x1322a: 0xe00058fb, 0x1322b: 0xe0005944,\n\t0x1322c: 0xe000636c, 0x1322d: 0xe000a5a8,\n\t0x13231: 0xe0005b52,\n\t0x1323a: 0xe0007424,\n\t0x1323e: 0xe0006b42,\n\t// Block 0x4c9, offset 0x13240\n\t0x13240: 0xe0006b45, 0x13241: 0xe00050c6,\n\t0x13245: 0xe0007f10, 0x13246: 0xe0009564, 0x13247: 0xe00050c9,\n\t0x13248: 0xe00050cc, 0x13249: 0xe0009091, 0x1324a: 0xe0009da4,\n\t0x13250: 0xe0007ff9, 0x13253: 0xe0006908,\n\t0x13254: 0xe0006825, 0x13255: 0xe0006a02, 0x13256: 0xe0008d31, 0x13257: 0xe0009094,\n\t0x1325a: 0xe0008d34, 0x1325b: 0xe00044d0,\n\t0x1325c: 0xe000a466, 0x1325d: 0xe00098be, 0x1325e: 0xe00074e9, 0x1325f: 0xe0007267,\n\t0x13260: 0xe0006b48, 0x13262: 0xe0005308,\n\t0x13265: 0xe0006cf8, 0x13267: 0xe0008d9d,\n\t0x13268: 0xe0009f03,\n\t0x1326d: 0xe0008c8f,\n\t0x1327a: 0xe00050cf,\n\t0x1327c: 0xe0004aa9, 0x1327f: 0xe0005af2,\n\t// Block 0x4ca, offset 0x13280\n\t0x13280: 0xe0009f44, 0x13281: 0xe0004fcf,\n\t0x1328a: 0xe00047ea, 0x1328b: 0xe0008546,\n\t0x1328d: 0xe000a55f, 0x1328e: 0xe0008bd5, 0x1328f: 0xe00066dd,\n\t0x13291: 0xe0007ffc,\n\t0x13294: 0xe0008cc8,\n\t0x1329d: 0xe00090f9,\n\t0x132a6: 0xe00078f4, 0x132a7: 0xe000a952,\n\t0x132a8: 0xe000513e, 0x132aa: 0xe0006e90, 0x132ab: 0xe0005422,\n\t0x132ae: 0xe0005a82,\n\t0x132b0: 0xe000530b, 0x132b1: 0xe000555a, 0x132b3: 0xe0007899,\n\t0x132b4: 0xe0007841,\n\t0x132b9: 0xe0007fff, 0x132ba: 0xe0007d92, 0x132bb: 0xe0005d45,\n\t0x132bd: 0xe0004fd3, 0x132be: 0xe000a562, 0x132bf: 0xe00055d5,\n\t// Block 0x4cb, offset 0x132c0\n\t0x132c0: 0xe00071e9, 0x132c1: 0xe0006b4b,\n\t0x132c6: 0xe000429c,\n\t0x132c9: 0xe0006648, 0x132ca: 0xe0005241, 0x132cb: 0xe0009835,\n\t0x132d1: 0xe00049f6, 0x132d2: 0xe00096fd,\n\t0x132d5: 0xe0006990,\n\t0x132d8: 0xe0006993,\n\t0x132df: 0xe0008d37,\n\t0x132e2: 0xe0005a64, 0x132e3: 0xe0005eb7,\n\t0x132e4: 0xe0009a9a, 0x132e6: 0xe000914d, 0x132e7: 0xe000773b,\n\t0x132e9: 0xe00091cd, 0x132ea: 0xe00090ca, 0x132eb: 0xe0009912,\n\t0x132ec: 0xe00044e8,\n\t0x132f8: 0xe00042e4, 0x132fb: 0xe0008480,\n\t// Block 0x4cc, offset 0x13300\n\t0x13300: 0xe000a955, 0x13301: 0xe000489e, 0x13302: 0xe000585f,\n\t0x13305: 0xe0007024,\n\t0x13308: 0xe0004268, 0x1330a: 0xe0008ccb, 0x1330b: 0xe0008bd9,\n\t0x1330c: 0xe00055a5, 0x1330d: 0xe0009700,\n\t0x13314: 0xe0008596, 0x13317: 0xe0009d78,\n\t0x13319: 0xe00090e9, 0x1331a: 0xe00099cf,\n\t0x1331c: 0xe0005cd0, 0x1331e: 0xe0004a20, 0x1331f: 0xe0009f40,\n\t0x13320: 0xe0008d3a,\n\t0x13327: 0xe0006f5c,\n\t0x1332e: 0xe0008e25,\n\t0x13331: 0xe0009a9e,\n\t0x13336: 0xe000807a, 0x13337: 0xe00090ed,\n\t0x13339: 0xe0009195, 0x1333b: 0xe000555d,\n\t0x1333c: 0xe0004196, 0x1333d: 0xe00047c6, 0x1333f: 0xe0004841,\n\t// Block 0x4cd, offset 0x13340\n\t0x13340: 0xe00048de,\n\t0x13345: 0xe0004420, 0x13346: 0xe00060bc,\n\t0x13349: 0xe00099d2,\n\t0x1334d: 0xe000890d, 0x1334e: 0xe0007b97,\n\t0x13357: 0xe00071ec,\n\t0x13360: 0xe00052a9, 0x13361: 0xe0006d50, 0x13362: 0xe0007bfe,\n\t0x13369: 0xe0007d1a, 0x1336b: 0xe000a59c,\n\t0x13370: 0xe000789d,\n\t0x13374: 0xe000a31d, 0x13375: 0xe00076b7, 0x13376: 0xe0004cb0,\n\t0x13379: 0xe0004df3, 0x1337a: 0xe00049a6,\n\t0x1337d: 0xe0008bdd, 0x1337e: 0xe0007f13, 0x1337f: 0xe0009520,\n\t// Block 0x4ce, offset 0x13380\n\t0x13380: 0xe0005700, 0x13381: 0xe0005625, 0x13382: 0xe0005ad0, 0x13383: 0xe0008ad1,\n\t0x13384: 0xe0009293, 0x13385: 0xe0007f16, 0x13386: 0xe0009e08,\n\t0x13388: 0xe0007ece, 0x1338a: 0xe0007dd0,\n\t0x13392: 0xe00091d1, 0x13393: 0xe00093d3,\n\t0x13395: 0xe0008d3d, 0x13396: 0xe0004c35, 0x13397: 0xe0009413,\n\t0x13398: 0xe0004dab, 0x1339b: 0xe0004d43,\n\t0x1339f: 0xe0004dd7,\n\t0x133a0: 0xe0004a23, 0x133a3: 0xe0007140,\n\t0x133a9: 0xe0007dac, 0x133aa: 0xe0007daf,\n\t0x133ac: 0xe00082ba, 0x133ae: 0xe0004df7, 0x133af: 0xe0007ed1,\n\t0x133b3: 0xe00082bd,\n\t0x133b6: 0xe0004d46,\n\t0x133b9: 0xe0007cd3, 0x133ba: 0xe0004eb8, 0x133bb: 0xe0009417,\n\t0x133be: 0xe0004aad, 0x133bf: 0xe0005ca8,\n\t// Block 0x4cf, offset 0x133c0\n\t0x133c4: 0xe00092c3, 0x133c5: 0xe0004ebb, 0x133c7: 0xe00056c4,\n\t0x133c8: 0xe0008da0, 0x133ca: 0xe0008abd, 0x133cb: 0xe0005dcd,\n\t0x133d7: 0xe0006123,\n\t0x133d9: 0xe0009343,\n\t0x133dd: 0xe000664c, 0x133df: 0xe0004709,\n\t0x133e0: 0xe0008772, 0x133e2: 0xe0006ba5, 0x133e3: 0xe0008f85,\n\t0x133e5: 0xe0005665, 0x133e6: 0xe000716c,\n\t0x133ea: 0xe00071ef,\n\t0x133ed: 0xe00042c8, 0x133ef: 0xe000535e,\n\t0x133f6: 0xe000470d,\n\t0x133f8: 0xe0004775, 0x133f9: 0xe0008f49, 0x133fa: 0xe00098c2,\n\t0x133fd: 0xe0008047, 0x133ff: 0xe000426c,\n\t// Block 0x4d0, offset 0x13400\n\t0x13406: 0xe0009d12,\n\t0x13408: 0xe000502b, 0x1340a: 0xe0008da3,\n\t0x1340c: 0xe00075f3, 0x1340f: 0xe000a509,\n\t0x13411: 0xe000707e, 0x13412: 0xe0004ff7,\n\t0x13418: 0xe0008b05, 0x13419: 0xe0006d74, 0x1341b: 0xe0008911,\n\t0x1341e: 0xe0009c0c,\n\t0x13420: 0xe0005dd1,\n\t0x13425: 0xe0006ba8, 0x13426: 0xe00067c8, 0x13427: 0xe0009479,\n\t0x13428: 0xe00068d8,\n\t0x1342c: 0xe0008c92, 0x1342d: 0xe0005a20, 0x1342f: 0xe000528f,\n\t0x13433: 0xe00041d5,\n\t0x13435: 0xe000656c,\n\t0x13439: 0xe0007027,\n\t// Block 0x4d1, offset 0x13440\n\t0x13445: 0xe0006ef0, 0x13446: 0xe0009fa5,\n\t0x13448: 0xe0004aed, 0x13449: 0xe0005720, 0x1344b: 0xe0004f73,\n\t0x1344c: 0xe00089c9, 0x1344d: 0xe0007309, 0x1344f: 0xe0006534,\n\t0x13450: 0xe0004b25, 0x13451: 0xe00098c6, 0x13452: 0xe0009c6e, 0x13453: 0xe00047ed,\n\t0x13454: 0xe0005442, 0x13456: 0xe0009465,\n\t0x1345f: 0xe0006828,\n\t0x13460: 0xe0004f0f,\n\t0x13465: 0xe00044eb, 0x13466: 0xe0004ab1, 0x13467: 0xe000461d,\n\t0x13469: 0xe0009c82,\n\t0x1346c: 0xe0006ff8, 0x1346e: 0xe0006db3,\n\t0x13471: 0xe00070c9, 0x13473: 0xe0008c55,\n\t0x13475: 0xe0007a67,\n\t0x1347d: 0xe0007ca0,\n\t// Block 0x4d2, offset 0x13480\n\t0x13487: 0xe000446a,\n\t0x1348b: 0xe00089cd,\n\t0x1348d: 0xe00048a1, 0x1348e: 0xe000a4ba, 0x1348f: 0xe0008843,\n\t0x13492: 0xe0009883,\n\t0x13494: 0xe00062e8, 0x13495: 0xe00050d2, 0x13497: 0xe0006bf8,\n\t0x13499: 0xe0006715, 0x1349a: 0xe0009263,\n\t0x1349c: 0xe00049ca, 0x1349d: 0xe0004661,\n\t0x134a0: 0xe0009886, 0x134a1: 0xe0004a7d,\n\t0x134ad: 0xe00089d1,\n\t0x134b1: 0xe0006cfc,\n\t0x134b4: 0xe00086ee,\n\t0x134b8: 0xe000888c,\n\t0x134be: 0xe00070cc,\n\t// Block 0x4d3, offset 0x134c0\n\t0x134c0: 0xe0008ac1, 0x134c1: 0xe000a680,\n\t0x134c4: 0xe0006564, 0x134c6: 0xe00089d5, 0x134c7: 0xe0009dc4,\n\t0x134c9: 0xe00098ca, 0x134ca: 0xe000a541, 0x134cb: 0xe000a37d,\n\t0x134cc: 0xe000a7ab,\n\t0x134d2: 0xe0007499,\n\t0x134d4: 0xe00080c2,\n\t0x134d9: 0xe00048a4, 0x134db: 0xe0007845,\n\t0x134dd: 0xe0004d49,\n\t0x134e0: 0xe0007081,\n\t0x134e4: 0xe00055d9, 0x134e6: 0xe0006a05,\n\t0x134e9: 0xe0006b4e, 0x134ea: 0xe00090cd,\n\t0x134f3: 0xe0009fbd,\n\t0x134f7: 0xe0006779,\n\t0x134fe: 0xe0005fe8,\n\t// Block 0x4d4, offset 0x13500\n\t0x13500: 0xe000947d,\n\t0x13507: 0xe0008ddd,\n\t0x13509: 0xe0009889, 0x1350b: 0xe0004e85,\n\t0x1350f: 0xe0005b1a,\n\t0x13512: 0xe00092c7,\n\t0x1351e: 0xe0005362, 0x1351f: 0xe0008b09,\n\t0x13520: 0xe00066b2, 0x13521: 0xe0004270,\n\t0x13527: 0xe000a684,\n\t0x1352a: 0xe00086f2, 0x1352b: 0xe0007084,\n\t0x13537: 0xe0009620,\n\t0x13538: 0xe0009d15,\n\t0x1353d: 0xe00095f8, 0x1353e: 0xe00059e8, 0x1353f: 0xe00067cb,\n\t// Block 0x4d5, offset 0x13540\n\t0x13543: 0xe000580b,\n\t0x1354c: 0xe0008ed7, 0x1354d: 0xe0008915,\n\t0x13550: 0xe0005744, 0x13552: 0xe0008f1c,\n\t0x13554: 0xe000726a,\n\t0x1355b: 0xe0008a59,\n\t0x1355c: 0xe0009b48, 0x1355f: 0xe0005b83,\n\t0x13560: 0xe0005b3e,\n\t0x13564: 0xe00095fc, 0x13565: 0xe0007849, 0x13567: 0xe00044ee,\n\t0x13569: 0xe00065e4,\n\t0x1356c: 0xe0005d15,\n\t0x13572: 0xe00082c0, 0x13573: 0xe0006211,\n\t0x1357e: 0xe000854a,\n\t// Block 0x4d6, offset 0x13580\n\t0x13581: 0xe0009568, 0x13583: 0xe0006996,\n\t0x13589: 0xe0006890,\n\t0x1358d: 0xe0006093,\n\t0x13592: 0xe0005dd5,\n\t0x13595: 0xe00062ec, 0x13597: 0xe0008d40,\n\t0x13598: 0xe0008ae9,\n\t0x1359f: 0xe0007100,\n\t0x135a2: 0xe000863b,\n\t0x135a4: 0xe0008196, 0x135a5: 0xe0008f4d, 0x135a6: 0xe0005d91, 0x135a7: 0xe0008776,\n\t0x135a8: 0xe00064f4,\n\t0x135ae: 0xe00058a9,\n\t0x135b1: 0xe00058ad, 0x135b2: 0xe00092cf, 0x135b3: 0xe000449a,\n\t0x135b9: 0xe00071f2,\n\t0x135bc: 0xe0005d95, 0x135bd: 0xe0008e65, 0x135be: 0xe0008be1,\n\t// Block 0x4d7, offset 0x135c0\n\t0x135c5: 0xe00082c3, 0x135c6: 0xe0005fd4,\n\t0x135ca: 0xe000a469,\n\t0x135d5: 0xe00048a7, 0x135d6: 0xe000546e, 0x135d7: 0xe0004d4c,\n\t0x135d9: 0xe0008da6, 0x135da: 0xe00087d6,\n\t0x135dc: 0xe0006241, 0x135dd: 0xe0006c68, 0x135de: 0xe0006894, 0x135df: 0xe0008d43,\n\t0x135e0: 0xe00043cc, 0x135e2: 0xe0006096,\n\t0x135e5: 0xe00051b6, 0x135e7: 0xe00058b1,\n\t0x135ef: 0xe00051b9,\n\t0x135f2: 0xe0005922,\n\t0x135f4: 0xe0008951, 0x135f6: 0xe0008da9,\n\t0x135f8: 0xe0005f9c, 0x135fa: 0xe0004eeb, 0x135fb: 0xe00047c9,\n\t0x135fe: 0xe0004ebe,\n\t// Block 0x4d8, offset 0x13600\n\t0x13600: 0xe00050d5, 0x13602: 0xe0008eda, 0x13603: 0xe000734d,\n\t0x13604: 0xe0007825, 0x13605: 0xe000a529, 0x13606: 0xe0008002, 0x13607: 0xe000a8cf,\n\t0x13608: 0xe000a5e4, 0x1360a: 0xe00061ad, 0x1360b: 0xe00061b1,\n\t0x1360d: 0xe0005200,\n\t0x13610: 0xe00052e8, 0x13613: 0xe0006dec,\n\t0x13614: 0xe000730d, 0x13615: 0xe0006a08, 0x13617: 0xe0006b51,\n\t0x13618: 0xe0004baa, 0x13619: 0xe0009097, 0x1361a: 0xe0005013, 0x1361b: 0xe0006898,\n\t0x1361c: 0xe00080c6,\n\t0x13620: 0xe0007087, 0x13621: 0xe0006428, 0x13622: 0xe0006d54,\n\t0x1362b: 0xe0008605,\n\t0x1362c: 0xe0008edd, 0x1362e: 0xe000931b, 0x1362f: 0xe0005c00,\n\t0x13630: 0xe000702a, 0x13631: 0xe000690c, 0x13632: 0xe0006f60, 0x13633: 0xe00074ed,\n\t0x13635: 0xe000888f,\n\t0x13639: 0xe000708a, 0x1363a: 0xe0004330,\n\t// Block 0x4d9, offset 0x13640\n\t0x13642: 0xe0008e29, 0x13643: 0xe000a2c9,\n\t0x13644: 0xe0008d46, 0x13645: 0xe0004711, 0x13646: 0xe0006370,\n\t0x13649: 0xe0007371,\n\t0x1364d: 0xe00085a2,\n\t0x13650: 0xe0004641,\n\t0x13656: 0xe0004b49,\n\t0x13659: 0xe000a60c, 0x1365b: 0xe0008daf,\n\t0x1365c: 0xe000a329, 0x1365e: 0xe0004bf0,\n\t0x13661: 0xe0005793, 0x13662: 0xe000a2cd, 0x13663: 0xe0006664,\n\t0x13666: 0xe0005017,\n\t0x13668: 0xe000834a, 0x13669: 0xe0008dac, 0x1366a: 0xe0008512,\n\t0x1366e: 0xe0006db6,\n\t0x13670: 0xe00091ed, 0x13671: 0xe0009c72, 0x13672: 0xe0006b54, 0x13673: 0xe00043d0,\n\t0x13676: 0xe0008ac5,\n\t0x13679: 0xe00045f5, 0x1367a: 0xe0009a02,\n\t0x1367f: 0xe0004cb3,\n\t// Block 0x4da, offset 0x13680\n\t0x13683: 0xe000974b,\n\t0x13686: 0xe0004779,\n\t0x1368e: 0xe0008be5, 0x1368f: 0xe00071f5,\n\t0x13693: 0xe0004715,\n\t0x13698: 0xe000677d,\n\t0x1369c: 0xe0008e2d,\n\t0x136a0: 0xe0005af6, 0x136a2: 0xe0008ee0, 0x136a3: 0xe0004e3f,\n\t0x136a5: 0xe0005141, 0x136a6: 0xe0005144, 0x136a7: 0xe0008fb5,\n\t0x136a9: 0xe0008162, 0x136ab: 0xe0006ef4,\n\t0x136ac: 0xe00071f8, 0x136ad: 0xe000826c, 0x136ae: 0xe00047f0,\n\t0x136b0: 0xe0004ab5, 0x136b1: 0xe00043d4, 0x136b2: 0xe0005ecf,\n\t0x136b4: 0xe00095a8, 0x136b5: 0xe0009448,\n\t0x136b8: 0xe0005c80, 0x136ba: 0xe00050d8, 0x136bb: 0xe0009b78,\n\t0x136bd: 0xe000868e, 0x136be: 0xe0005cd4, 0x136bf: 0xe0005fbc,\n\t// Block 0x4db, offset 0x136c0\n\t0x136c4: 0xe0004936, 0x136c7: 0xe00099d5,\n\t0x136ca: 0xe0005177, 0x136cb: 0xe0006999,\n\t0x136cc: 0xe00082c6, 0x136cd: 0xe0006294,\n\t0x136d6: 0xe0006db9, 0x136d7: 0xe0006d30,\n\t0x136d8: 0xe000a0df, 0x136da: 0xe0006e94,\n\t0x136dc: 0xe0005fd8, 0x136dd: 0xe0009211, 0x136de: 0xe0005366,\n\t0x136e0: 0xe00096a0, 0x136e1: 0xe000627c, 0x136e3: 0xe0007a6b,\n\t0x136e6: 0xe000745d,\n\t0x136e8: 0xe0009dc8, 0x136e9: 0xe0007e01,\n\t0x136ec: 0xe0005fc0, 0x136ef: 0xe00081c1,\n\t0x136f4: 0xe0005980, 0x136f6: 0xe0009de8,\n\t0x136f9: 0xe0008cce, 0x136fb: 0xe00099d8,\n\t// Block 0x4dc, offset 0x13700\n\t0x13708: 0xe0007bcf, 0x13709: 0xe0009151, 0x1370a: 0xe00077c4, 0x1370b: 0xe000988c,\n\t0x13710: 0xe000988f, 0x13711: 0xe0004685,\n\t0x13715: 0xe0007d1e, 0x13717: 0xe0009817,\n\t0x13718: 0xe00047f3, 0x1371b: 0xe00062f0,\n\t0x1371d: 0xe0009155, 0x1371e: 0xe000a46c, 0x1371f: 0xe0007f2e,\n\t0x13720: 0xe00048f2, 0x13721: 0xe000881b, 0x13722: 0xe0005748, 0x13723: 0xe000a2d1,\n\t0x1372b: 0xe0006759,\n\t0x1372e: 0xe00098ce, 0x1372f: 0xe0007a6f,\n\t0x13731: 0xe0008e31, 0x13732: 0xe0005c54, 0x13733: 0xe0004621,\n\t0x13735: 0xe0005e7f, 0x13737: 0xe0005c03,\n\t0x13739: 0xe0009f2a, 0x1373b: 0xe0006244,\n\t0x1373d: 0xe00097d4, 0x1373e: 0xe0008919,\n\t// Block 0x4dd, offset 0x13740\n\t0x13741: 0xe000650c, 0x13743: 0xe0006934,\n\t0x13744: 0xe0007c37, 0x13745: 0xe00070cf, 0x13746: 0xe0006162, 0x13747: 0xe0007ed4,\n\t0x13748: 0xe0004424,\n\t0x13750: 0xe0007036, 0x13752: 0xe0009039,\n\t0x13754: 0xe00090f1, 0x13755: 0xe0006e98, 0x13756: 0xe0006c24, 0x13757: 0xe0005d99,\n\t0x13759: 0xe000651c, 0x1375a: 0xe0005bd1,\n\t0x1375e: 0xe0007ed7,\n\t0x13761: 0xe00071fb, 0x13762: 0xe0004e88,\n\t0x13769: 0xe00073da, 0x1376a: 0xe000a6e2, 0x1376b: 0xe00047cc,\n\t0x1376d: 0xe00045f9, 0x1376f: 0xe000a301,\n\t0x13770: 0xe0008d49,\n\t0x13776: 0xe0007923,\n\t0x13779: 0xe00079ef,\n\t0x1377c: 0xe00047cf, 0x1377d: 0xe0006a8b, 0x1377e: 0xe0004625,\n\t// Block 0x4de, offset 0x13780\n\t0x13781: 0xe000a7ee, 0x13782: 0xe00092cb,\n\t0x13787: 0xe0005b86,\n\t0x13788: 0xe000a984, 0x1378a: 0xe0004b4d,\n\t0x1378c: 0xe0007104, 0x1378d: 0xe0005c57, 0x1378f: 0xe00089d9,\n\t0x13793: 0xe0007b9b,\n\t0x13794: 0xe000883c, 0x13796: 0xe0006f70,\n\t0x13798: 0xe00092d3, 0x1379b: 0xe00055dd,\n\t0x1379c: 0xe000580f,\n\t// Block 0x4df, offset 0x137c0\n\t0x137f6: 0xe00067ce, 0x137f7: 0xe0006bab,\n\t0x137f8: 0xe000a16b, 0x137fa: 0xe0004645,\n\t0x137fe: 0xe0006668, 0x137ff: 0xe000a187,\n\t// Block 0x4e0, offset 0x13800\n\t0x13803: 0xe00077f8,\n\t0x13804: 0xe0004781, 0x13805: 0xe000a029, 0x13807: 0xe0008fb9,\n\t0x1380b: 0xe0007d96,\n\t0x1380c: 0xe00077e4, 0x1380d: 0xe0005b89, 0x1380e: 0xe0005426,\n\t0x13810: 0xe0004a81,\n\t0x13814: 0xe0005ed3, 0x13815: 0xe000a07b,\n\t0x13818: 0xe000682b,\n\t0x1381d: 0xe00088cb, 0x1381f: 0xe00048aa,\n\t0x13820: 0xe0006298, 0x13821: 0xe0004428, 0x13823: 0xe0004b6c,\n\t0x13826: 0xe000682e,\n\t0x13828: 0xe000798b, 0x1382a: 0xe0008e8c, 0x1382b: 0xe0004b63,\n\t0x1382e: 0xe00099db,\n\t0x13830: 0xe0006538, 0x13832: 0xe0006dbc,\n\t0x13835: 0xe0005f1e, 0x13837: 0xe0009cee,\n\t0x13838: 0xe0006544, 0x13839: 0xe0005d18,\n\t0x1383c: 0xe0009fc1, 0x1383d: 0xe00047f6, 0x1383e: 0xe0009051,\n\t// Block 0x4e1, offset 0x13840\n\t0x13842: 0xe0004629,\n\t0x13845: 0xe000575d, 0x13846: 0xe0006a0b, 0x13847: 0xe0005147,\n\t0x13848: 0xe00050db, 0x1384a: 0xe00078a1,\n\t0x1384c: 0xe00043d8, 0x1384e: 0xe0006214,\n\t0x13854: 0xe0004844, 0x13856: 0xe00048ad, 0x13857: 0xe000442c,\n\t0x13858: 0xe00087da, 0x1385a: 0xe0005a24,\n\t0x1385d: 0xe00088ce, 0x1385e: 0xe00071fe,\n\t0x13864: 0xe0004daf,\n\t0x13868: 0xe0006e9c, 0x13869: 0xe0008423, 0x1386b: 0xe0004430,\n\t0x1386f: 0xe00042e8,\n\t0x13872: 0xe000a958,\n\t0x13876: 0xe0008a5d,\n\t0x13878: 0xe0005d1b, 0x13879: 0xe000449e,\n\t0x1387d: 0xe0008005,\n\t// Block 0x4e2, offset 0x13880\n\t0x13881: 0xe0007d72,\n\t0x13885: 0xe0007427,\n\t0x1388a: 0xe00084ca,\n\t0x1388c: 0xe00084ce, 0x1388e: 0xe0005a28,\n\t0x13892: 0xe00073a6,\n\t0x13894: 0xe0006d00, 0x13895: 0xe000a907, 0x13896: 0xe000a917,\n\t0x1389b: 0xe00070d2,\n\t0x1389f: 0xe000891d,\n\t0x138a0: 0xe0009967, 0x138a1: 0xe000699c, 0x138a3: 0xe0006c90,\n\t0x138a4: 0xe0007460, 0x138a6: 0xe0008a61,\n\t0x138a9: 0xe0009dcc, 0x138ab: 0xe0007e05,\n\t0x138ac: 0xe000a84e, 0x138ae: 0xe000a1ee,\n\t0x138b0: 0xe000a07f, 0x138b3: 0xe0007c3a,\n\t0x138b9: 0xe0004bf3, 0x138ba: 0xe00048b0, 0x138bb: 0xe0006520,\n\t0x138bc: 0xe00084d2, 0x138be: 0xe000a305,\n\t// Block 0x4e3, offset 0x138c0\n\t0x138c0: 0xe0007eda, 0x138c1: 0xe0005aa9, 0x138c3: 0xe0004847,\n\t0x138c4: 0xe0006099, 0x138c5: 0xe0008608, 0x138c6: 0xe00050de,\n\t0x138c9: 0xe0004cb6,\n\t0x138cc: 0xe0008483,\n\t0x138d0: 0xe0005220, 0x138d1: 0xe000538e, 0x138d2: 0xe0005b8c,\n\t0x138d4: 0xe000863e, 0x138d5: 0xe0004719, 0x138d6: 0xe000974e, 0x138d7: 0xe0006069,\n\t0x138d8: 0xe000809e, 0x138d9: 0xe0009d18,\n\t0x138de: 0xe00041d8,\n\t0x138e1: 0xe0006def,\n\t0x138e6: 0xe000804a,\n\t0x138e8: 0xe00052d2,\n\t0x138ec: 0xe0005c1e, 0x138ed: 0xe00050e1,\n\t0x138f0: 0xe000804d, 0x138f3: 0xe0008486,\n\t0x138f6: 0xe0007818,\n\t0x138fd: 0xe0009ba8, 0x138ff: 0xe000471d,\n\t// Block 0x4e4, offset 0x13900\n\t0x13903: 0xe00053ee,\n\t0x13906: 0xe0005a2c,\n\t0x1390a: 0xe0005bb3,\n\t0x13912: 0xe0004af1,\n\t0x13915: 0xe000a4bd, 0x13916: 0xe0006ffc,\n\t0x13918: 0xe0006abb, 0x1391a: 0xe000996a,\n\t0x1391e: 0xe00061b5,\n\t0x1392f: 0xe0005984,\n\t0x13930: 0xe00097d8, 0x13931: 0xe0007cd6, 0x13932: 0xe0007000, 0x13933: 0xe0007f86,\n\t0x13935: 0xe0007e98, 0x13936: 0xe0006fb8, 0x13937: 0xe00090f5,\n\t0x1393d: 0xe0009670, 0x1393e: 0xe0005b42, 0x1393f: 0xe0008336,\n\t// Block 0x4e5, offset 0x13940\n\t0x13944: 0xe0008489, 0x13945: 0xe00072ad, 0x13946: 0xe0006b57, 0x13947: 0xe0008d4c,\n\t0x13949: 0xe00082fe, 0x1394b: 0xe0005cb0,\n\t0x1394c: 0xe00050e4,\n\t0x13953: 0xe000a6ac,\n\t0x13956: 0xe0009703,\n\t0x13958: 0xe0008f1f, 0x1395a: 0xe00056d9, 0x1395b: 0xe000a16f,\n\t0x1395d: 0xe0004274,\n\t0x13961: 0xe000484a, 0x13962: 0xe000909a,\n\t0x13965: 0xe000699f, 0x13966: 0xe00068dc,\n\t0x13969: 0xe00045fd, 0x1396a: 0xe000642c, 0x1396b: 0xe0007351,\n\t0x1396d: 0xe00052e1, 0x1396f: 0xe000503f,\n\t0x13971: 0xe0004bae, 0x13972: 0xe0008302,\n\t0x13974: 0xe000a751, 0x13975: 0xe000514a,\n\t0x1397a: 0xe0009e4a,\n\t// Block 0x4e6, offset 0x13980\n\t0x13983: 0xe00081c4,\n\t0x13984: 0xe0008e9e, 0x13986: 0xe0005392,\n\t0x1398a: 0xe0004d4f,\n\t0x1398c: 0xe00064aa, 0x1398e: 0xe0009c0f,\n\t0x13995: 0xe0006831, 0x13996: 0xe000639c,\n\t0x13999: 0xe0008db2, 0x1399a: 0xe00064ad, 0x1399b: 0xe000438c,\n\t0x1399e: 0xe0009e92,\n\t0x139a0: 0xe00044f1, 0x139a1: 0xe000a46f,\n\t0x139a4: 0xe000831e, 0x139a5: 0xe0006dbf,\n\t0x139af: 0xe00048b3,\n\t0x139b1: 0xe0004b29,\n\t0x139b4: 0xe0005669, 0x139b7: 0xe000a897,\n\t0x139b8: 0xe000a88f,\n\t0x139bd: 0xe00052f5, 0x139be: 0xe0008641,\n\t// Block 0x4e7, offset 0x139c0\n\t0x139c2: 0xe000909d,\n\t0x139c5: 0xe000a351, 0x139c6: 0xe000996d, 0x139c7: 0xe000a355,\n\t0x139c8: 0xe0005f48, 0x139c9: 0xe0005f5c, 0x139ca: 0xe00094c8,\n\t0x139d6: 0xe00063dc,\n\t0x139d8: 0xe0007e09, 0x139da: 0xe0004200, 0x139db: 0xe0004721,\n\t0x139e3: 0xe0007311,\n\t0x139e4: 0xe0007531, 0x139e7: 0xe000981a,\n\t0x139e9: 0xe0007201, 0x139eb: 0xe0009b98,\n\t0x139ef: 0xe0009e95,\n\t0x139f0: 0xe00056dc,\n\t0x139f9: 0xe00093d7, 0x139fa: 0xe000726d,\n\t0x139fe: 0xe00069a2,\n\t// Block 0x4e8, offset 0x13a00\n\t0x13a01: 0xe00065ec,\n\t0x13a06: 0xe0008a65,\n\t0x13a0a: 0xe0006e3c, 0x13a0b: 0xe00077c8,\n\t0x13a0e: 0xe00074f1,\n\t0x13a10: 0xe00067d1, 0x13a11: 0xe00067d4, 0x13a12: 0xe00044f4, 0x13a13: 0xe0006a0e,\n\t0x13a14: 0xe00043dc, 0x13a15: 0xe0007e0d,\n\t0x13a20: 0xe0008f22,\n\t0x13a24: 0xe00076fb, 0x13a25: 0xe0007004, 0x13a26: 0xe00052b4,\n\t0x13a2b: 0xe0008e35,\n\t0x13a2d: 0xe000764b,\n\t0x13a30: 0xe0007edd, 0x13a31: 0xe0004528,\n\t0x13a34: 0xe00082c9, 0x13a36: 0xe0005396, 0x13a37: 0xe0009f85,\n\t0x13a38: 0xe000877a, 0x13a39: 0xe00066e1, 0x13a3a: 0xe0006ea0,\n\t0x13a3f: 0xe0009c8c,\n\t// Block 0x4e9, offset 0x13a40\n\t0x13a40: 0xe0006430, 0x13a42: 0xe0005925, 0x13a43: 0xe0007d5a,\n\t0x13a44: 0xe0007270, 0x13a46: 0xe00070d5,\n\t0x13a48: 0xe00045c1, 0x13a4a: 0xe00062f4, 0x13a4b: 0xe0005bd4,\n\t0x13a4f: 0xe000484d,\n\t0x13a5a: 0xe00067d7,\n\t0x13a5c: 0xe0005e13, 0x13a5d: 0xe0007392, 0x13a5e: 0xe0008a69,\n\t0x13a60: 0xe0004bf6, 0x13a63: 0xe00091d5,\n\t0x13a68: 0xe0009d9c, 0x13a69: 0xe000530e,\n\t0x13a70: 0xe0006524, 0x13a73: 0xe0006ea4,\n\t0x13a74: 0xe0006183, 0x13a75: 0xe000993d,\n\t0x13a78: 0xe0007273, 0x13a79: 0xe00068e0, 0x13a7a: 0xe00083fa,\n\t0x13a7d: 0xe00053f2, 0x13a7e: 0xe000a6e5, 0x13a7f: 0xe0005299,\n\t// Block 0x4ea, offset 0x13a80\n\t0x13a80: 0xe00056ec, 0x13a82: 0xe00069a5,\n\t0x13a86: 0xe000791f,\n\t0x13a8a: 0xe0008db5,\n\t0x13a8d: 0xe0008c95, 0x13a8f: 0xe0006a8f,\n\t0x13a91: 0xe0005292,\n\t0x13a98: 0xe000582b, 0x13a99: 0xe0007aa7, 0x13a9a: 0xe0005928,\n\t0x13a9d: 0xe000577b, 0x13a9f: 0xe000877e,\n\t0x13aa0: 0xe00059a4, 0x13aa3: 0xe00074f5,\n\t0x13aa5: 0xe0007db2, 0x13aa7: 0xe0008782,\n\t0x13aa8: 0xe0005dbd, 0x13aaa: 0xe000860b,\n\t0x13aac: 0xe0007963, 0x13aad: 0xe0009970,\n\t0x13ab3: 0xe00090a0,\n\t0x13ab4: 0xe00099de, 0x13ab6: 0xe000956c,\n\t0x13aba: 0xe00054df, 0x13abb: 0xe0009159,\n\t0x13abc: 0xe0004cb9, 0x13abe: 0xe000826f,\n\t// Block 0x4eb, offset 0x13ac0\n\t0x13ac1: 0xe00079d8, 0x13ac2: 0xe0007fba, 0x13ac3: 0xe0006e40,\n\t0x13ac5: 0xe0004cbc, 0x13ac7: 0xe00079c6,\n\t0x13ac8: 0xe000a91b, 0x13aca: 0xe0004cbf,\n\t0x13acc: 0xe0006f28, 0x13acd: 0xe0006b5a,\n\t0x13ad0: 0xe00090d0, 0x13ad2: 0xe0006dc2,\n\t0x13ad6: 0xe0009ec5,\n\t0x13adb: 0xe0009524,\n\t0x13adc: 0xe0007315, 0x13ade: 0xe0006165, 0x13adf: 0xe0008ee3,\n\t0x13ae1: 0xe00043e0,\n\t0x13aea: 0xe000a173, 0x13aeb: 0xe0006434,\n\t0x13aec: 0xe0006374,\n\t0x13af3: 0xe00098ea,\n\t0x13af5: 0xe0009ac9, 0x13af6: 0xe00062f8, 0x13af7: 0xe000a2d5,\n\t0x13af8: 0xe00041db, 0x13af9: 0xe0006ea8,\n\t0x13afd: 0xe0006478,\n\t// Block 0x4ec, offset 0x13b00\n\t0x13b00: 0xe00067da,\n\t0x13b05: 0xe00079c9, 0x13b07: 0xe0008be9,\n\t0x13b11: 0xe0009dec,\n\t0x13b18: 0xe00070d8, 0x13b19: 0xe00093db, 0x13b1a: 0xe0008db8,\n\t0x13b1f: 0xe0005699,\n\t0x13b24: 0xe0008426, 0x13b26: 0xe000a0e3,\n\t0x13b28: 0xe00060fc, 0x13b2a: 0xe0005ad3, 0x13b2b: 0xe0005ad6,\n\t0x13b2e: 0xe0004278, 0x13b2f: 0xe00058b5,\n\t0x13b31: 0xe000427c, 0x13b32: 0xe0006d58,\n\t0x13b34: 0xe0006910, 0x13b36: 0xe0007ae7,\n\t0x13b38: 0xe0009706,\n\t0x13b3e: 0xe000776f,\n\t// Block 0x4ed, offset 0x13b40\n\t0x13b4a: 0xe0009570, 0x13b4b: 0xe0008008,\n\t0x13b4d: 0xe0008692, 0x13b4e: 0xe0004dfb,\n\t0x13b52: 0xe0005ed7,\n\t0x13b54: 0xe000a82a,\n\t0x13b58: 0xe0006a11, 0x13b59: 0xe00067dd, 0x13b5a: 0xe00056f0,\n\t0x13b5d: 0xe00090a3, 0x13b5f: 0xe0006c5c,\n\t0x13b61: 0xe0004590, 0x13b62: 0xe000854e, 0x13b63: 0xe0006834,\n\t0x13b65: 0xe000446d, 0x13b66: 0xe000a472, 0x13b67: 0xe0006df2,\n\t0x13b68: 0xe000502f, 0x13b69: 0xe0004fd7, 0x13b6a: 0xe000514d, 0x13b6b: 0xe0008166,\n\t0x13b6c: 0xe000689c, 0x13b6d: 0xe0009cf1, 0x13b6e: 0xe0007c01, 0x13b6f: 0xe0007575,\n\t0x13b70: 0xe0005150, 0x13b71: 0xe000a565, 0x13b73: 0xe0006438,\n\t0x13b77: 0xe00090a6,\n\t0x13b78: 0xe00080a2, 0x13b79: 0xe0004f77, 0x13b7b: 0xe0009838,\n\t0x13b7c: 0xe000606c, 0x13b7d: 0xe00075c0, 0x13b7e: 0xe0006a14, 0x13b7f: 0xe00085ca,\n\t// Block 0x4ee, offset 0x13b80\n\t0x13b85: 0xe0007c3d,\n\t0x13b91: 0xe0008132, 0x13b92: 0xe0007aeb, 0x13b93: 0xe0005a68,\n\t0x13b94: 0xe0009c12, 0x13b95: 0xe0009709, 0x13b97: 0xe0006126,\n\t0x13b9b: 0xe0004199,\n\t0x13b9c: 0xe00060c8, 0x13b9e: 0xe0009e98, 0x13b9f: 0xe0004cc2,\n\t0x13ba0: 0xe000629c, 0x13ba1: 0xe000848c, 0x13ba3: 0xe00044f7,\n\t0x13ba5: 0xe0007829, 0x13ba6: 0xe0004850, 0x13ba7: 0xe0008892,\n\t0x13bab: 0xe0008b0d,\n\t0x13bb1: 0xe0007b9f, 0x13bb3: 0xe000569d,\n\t0x13bb4: 0xe00088d1,\n\t0x13bb9: 0xe0009e2c, 0x13bba: 0xe0005f3c, 0x13bbb: 0xe0006837,\n\t0x13bbd: 0xe0004853, 0x13bbe: 0xe0009fa9, 0x13bbf: 0xe0006247,\n\t// Block 0x4ef, offset 0x13bc0\n\t0x13bc0: 0xe0006914, 0x13bc1: 0xe0008fd9, 0x13bc2: 0xe0006168, 0x13bc3: 0xe0006568,\n\t0x13bc4: 0xe000419c, 0x13bc5: 0xe000606f,\n\t0x13bc8: 0xe0008644, 0x13bc9: 0xe0005ea7,\n\t0x13bd7: 0xe0006014,\n\t0x13bdb: 0xe00042a0,\n\t0x13bdc: 0xe0009574, 0x13bdd: 0xe000945a,\n\t0x13be3: 0xe0007cd9,\n\t0x13be8: 0xe000860e, 0x13bea: 0xe0004b51, 0x13beb: 0xe0005edb,\n\t0x13bef: 0xe00066e5,\n\t0x13bf1: 0xe0007204, 0x13bf2: 0xe0008647, 0x13bf3: 0xe0004434,\n\t0x13bf4: 0xe000a6e8, 0x13bf5: 0xe0008516, 0x13bf6: 0xe0005324,\n\t0x13bf8: 0xe0007f8a, 0x13bf9: 0xe00079cc,\n\t0x13bfc: 0xe00056a1,\n\t// Block 0x4f0, offset 0x13c00\n\t0x13c00: 0xe0007319, 0x13c03: 0xe0008a6d,\n\t0x13c07: 0xe000a202,\n\t0x13c09: 0xe000970c, 0x13c0a: 0xe000a3b5,\n\t0x13c0f: 0xe000859a,\n\t0x13c10: 0xe0009578, 0x13c11: 0xe000848f, 0x13c12: 0xe000a688,\n\t0x13c33: 0xe00056c7,\n\t0x13c37: 0xe000a005,\n\t0x13c3b: 0xe0008921,\n\t// Block 0x4f1, offset 0x13c40\n\t0x13c45: 0xe0005d48,\n\t0x13c49: 0xe0005d1e, 0x13c4a: 0xe0008786,\n\t0x13c4e: 0xe0006b5d,\n\t0x13c52: 0xe00044fa, 0x13c53: 0xe0005f3f,\n\t0x13c56: 0xe0004725,\n\t0x13c58: 0xe00074f9, 0x13c5a: 0xe0007aab, 0x13c5b: 0xe0008c59,\n\t0x13c5d: 0xe0008e86, 0x13c5e: 0xe0007e11, 0x13c5f: 0xe000a0f3,\n\t0x13c60: 0xe00082cc, 0x13c62: 0xe000a359,\n\t0x13c68: 0xe0005863, 0x13c69: 0xe00067e0, 0x13c6a: 0xe00075c3, 0x13c6b: 0xe0005e17,\n\t0x13c7d: 0xe0005edf, 0x13c7e: 0xe0005ef7, 0x13c7f: 0xe000864a,\n\t// Block 0x4f2, offset 0x13c80\n\t0x13c81: 0xe0009674, 0x13c82: 0xe0008955,\n\t0x13c85: 0xe0004a85,\n\t0x13c89: 0xe0005afa, 0x13c8a: 0xe0004d87,\n\t0x13c8c: 0xe0004f13,\n\t0x13c91: 0xe0009a05, 0x13c93: 0xe00049f9,\n\t0x13c94: 0xe0006719, 0x13c96: 0xe00093df,\n\t0x13c98: 0xe0007381,\n\t0x13c9c: 0xe000944b, 0x13c9f: 0xe00055a8,\n\t0x13ca0: 0xe0009d1b, 0x13ca1: 0xe000a0f7,\n\t0x13ca9: 0xe000669d, 0x13cab: 0xe0004f7b,\n\t0x13caf: 0xe000a568,\n\t0x13cb0: 0xe0004856, 0x13cb1: 0xe0005cd8, 0x13cb2: 0xe00069a8,\n\t0x13cb4: 0xe00076e3, 0x13cb6: 0xe0006781,\n\t0x13cb9: 0xe0008895,\n\t0x13cbd: 0xe00072b1,\n\t// Block 0x4f3, offset 0x13cc0\n\t0x13cc3: 0xe0009940,\n\t0x13cc4: 0xe0005560, 0x13cc6: 0xe0006a17, 0x13cc7: 0xe00087de,\n\t0x13cca: 0xe0005878, 0x13ccb: 0xe0009494,\n\t0x13ccc: 0xe0005f7c, 0x13ccd: 0xe0009e18, 0x13cce: 0xe00081c7,\n\t0x13ce9: 0xe000983b,\n\t0x13cec: 0xe0005e5b,\n\t0x13cf1: 0xe000a80e,\n\t0x13cf5: 0xe0007dd3,\n\t0x13cf8: 0xe0008272, 0x13cf9: 0xe0009df0,\n\t0x13cfc: 0xe000764f, 0x13cfd: 0xe0005797,\n\t// Block 0x4f4, offset 0x13d00\n\t0x13d06: 0xe00066b5,\n\t0x13d09: 0xe0007b33, 0x13d0a: 0xe00076ff,\n\t0x13d11: 0xe0009f60,\n\t0x13d17: 0xe0008898,\n\t0x13d1a: 0xe0007589, 0x13d1b: 0xe00042cc,\n\t0x13d21: 0xe0009e9b, 0x13d23: 0xe000566d,\n\t0x13d26: 0xe00081ca,\n\t0x13d29: 0xe0009d1e, 0x13d2a: 0xe00047f9, 0x13d2b: 0xe000a475,\n\t0x13d2c: 0xe000878a, 0x13d2d: 0xe00041de, 0x13d2f: 0xe000782d,\n\t0x13d31: 0xe00097e4, 0x13d33: 0xe00081f4,\n\t0x13d35: 0xe0004ec1, 0x13d37: 0xe000a7f2,\n\t0x13d3a: 0xe0009011,\n\t// Block 0x4f5, offset 0x13d40\n\t0x13d42: 0xe00096be,\n\t0x13d50: 0xe0007207,\n\t0x13d54: 0xe000742a,\n\t0x13d59: 0xe00060dc,\n\t0x13d5c: 0xe0006bfc, 0x13d5f: 0xe0004d52,\n\t0x13d61: 0xe000643c,\n\t0x13d68: 0xe000957c,\n\t0x13d6d: 0xe0009892, 0x13d6f: 0xe0004b9c,\n\t0x13d72: 0xe0009e9e,\n\t0x13d74: 0xe0006bd0,\n\t0x13d78: 0xe000903d, 0x13d79: 0xe0004689, 0x13d7a: 0xe00091f1, 0x13d7b: 0xe0007831,\n\t0x13d7c: 0xe00093e3, 0x13d7f: 0xe000a478,\n\t// Block 0x4f6, offset 0x13d80\n\t0x13d80: 0xe0007128, 0x13d81: 0xe0009199, 0x13d82: 0xe0006018,\n\t0x13d84: 0xe00098d2, 0x13d86: 0xe0006e28,\n\t0x13d89: 0xe0007f8e, 0x13d8a: 0xe0007d9a, 0x13d8b: 0xe0004470,\n\t0x13d8d: 0xe000742d,\n\t0x13d90: 0xe0007f3e, 0x13d91: 0xe0006b60, 0x13d93: 0xe00064d1,\n\t0x13d96: 0xe0006a1a,\n\t0x13d9a: 0xe000720a,\n\t0x13dac: 0xe000675d, 0x13dad: 0xe0007703, 0x13dae: 0xe0005988, 0x13daf: 0xe00097e8,\n\t0x13db1: 0xe0009e30,\n\t0x13db4: 0xe000731d,\n\t0x13dbc: 0xe0005bb6, 0x13dbd: 0xe0009fc5,\n\t// Block 0x4f7, offset 0x13dc0\n\t0x13dc0: 0xe000683a,\n\t0x13dc6: 0xe0005ce4,\n\t0x13dd1: 0xe0005fe4, 0x13dd3: 0xe0005e5f,\n\t0x13dd4: 0xe00066e9, 0x13dd5: 0xe00096c1, 0x13dd7: 0xe0008611,\n\t0x13dd8: 0xe0006c60, 0x13dda: 0xe00080d2,\n\t0x13dde: 0xe0005c06, 0x13ddf: 0xe0008f25,\n\t0x13de1: 0xe000944e, 0x13de3: 0xe000878e,\n\t0x13de5: 0xe00097dc, 0x13de6: 0xe0008dbb,\n\t0x13dea: 0xe0008b11,\n\t0x13dec: 0xe000708d, 0x13ded: 0xe00083b6, 0x13def: 0xe000915d,\n\t0x13dfd: 0xe0009e4d, 0x13dff: 0xe00081cd,\n\t// Block 0x4f8, offset 0x13e00\n\t0x13e01: 0xe00053f6, 0x13e03: 0xe0006510,\n\t0x13e06: 0xe0009580,\n\t0x13e09: 0xe000970f, 0x13e0a: 0xe0007c40, 0x13e0b: 0xe0007c43,\n\t0x13e0e: 0xe0004bf9,\n\t0x13e13: 0xe00080a6,\n\t0x13e15: 0xe00082cf, 0x13e16: 0xe00044fd,\n\t0x13e18: 0xe0007f19, 0x13e19: 0xe000a3f4,\n\t0x13e1e: 0xe00096c4,\n\t0x13e21: 0xe00068e4, 0x13e23: 0xe0007321,\n\t0x13e24: 0xe00082d2,\n\t0x13e28: 0xe0004e4f, 0x13e29: 0xe0009be0, 0x13e2a: 0xe000616b, 0x13e2b: 0xe00056a5,\n\t0x13e2d: 0xe0007090,\n\t0x13e3a: 0xe0009019,\n\t0x13e3e: 0xe0005b8f,\n\t// Block 0x4f9, offset 0x13e40\n\t0x13e40: 0xe0007d3a,\n\t0x13e44: 0xe00062fc, 0x13e46: 0xe00077a8, 0x13e47: 0xe0006217,\n\t0x13e49: 0xe0007c46, 0x13e4a: 0xe00047fc,\n\t0x13e4c: 0xe000a232, 0x13e4f: 0xe0008429,\n\t0x13e51: 0xe00043e4,\n\t0x13e54: 0xe0008792, 0x13e57: 0xe000816a,\n\t0x13e59: 0xe0009a08, 0x13e5b: 0xe0006f2c,\n\t0x13e5d: 0xe000542a,\n\t0x13e64: 0xe000a1da, 0x13e65: 0xe000979c, 0x13e66: 0xe0009528,\n\t0x13e68: 0xe000a7fe, 0x13e69: 0xe0006c48, 0x13e6a: 0xe00074fd,\n\t0x13e6f: 0xe0006dc5,\n\t0x13e70: 0xe000a7d6,\n\t0x13e7a: 0xe0008c98,\n\t// Block 0x4fa, offset 0x13e80\n\t0x13e81: 0xe0004859,\n\t0x13e89: 0xe0008614,\n\t0x13e8d: 0xe0005813, 0x13e8e: 0xe0007501, 0x13e8f: 0xe0008796,\n\t0x13e90: 0xe0006132,\n\t0x13e95: 0xe000800b,\n\t0x13e9c: 0xe00058fe, 0x13e9d: 0xe0007c04,\n\t0x13ea4: 0xe0005724, 0x13ea5: 0xe0007835,\n\t0x13ea9: 0xe0006514, 0x13eaa: 0xe000720d,\n\t0x13eb7: 0xe000889b,\n\t0x13eb9: 0xe00077ab, 0x13eba: 0xe0005d6d, 0x13ebb: 0xe0008d4f,\n\t0x13ebd: 0xe0009a3e, 0x13ebf: 0xe0004a3d,\n\t// Block 0x4fb, offset 0x13ec0\n\t0x13ec0: 0xe0009b4c, 0x13ec2: 0xe0007c07,\n\t0x13ec4: 0xe0005153, 0x13ec6: 0xe0005aac, 0x13ec7: 0xe0007093,\n\t0x13eca: 0xe0007d22, 0x13ecb: 0xe0006a93,\n\t0x13ed6: 0xe000795f, 0x13ed7: 0xe00065a0,\n\t0x13ed8: 0xe00078d1, 0x13eda: 0xe0006eac,\n\t0x13ee2: 0xe0005b56,\n\t0x13ee7: 0xe0004500,\n\t0x13ee9: 0xe0006528,\n\t0x13eed: 0xe00057c3, 0x13eef: 0xe0009bf0,\n\t0x13efc: 0xe000624a, 0x13eff: 0xe0005760,\n\t// Block 0x4fc, offset 0x13f00\n\t0x13f01: 0xe0005156,\n\t0x13f0e: 0xe000a47b,\n\t0x13f10: 0xe000a037, 0x13f13: 0xe000a76c,\n\t0x13f14: 0xe000452c, 0x13f15: 0xe000948e,\n\t0x13f1b: 0xe000a23c,\n\t0x13f1c: 0xe0005aaf, 0x13f1e: 0xe000800e, 0x13f1f: 0xe000a47e,\n\t0x13f27: 0xe000a85d,\n\t0x13f2b: 0xe000a82d,\n\t0x13f2c: 0xe0004eee, 0x13f2f: 0xe0004ef1,\n\t0x13f31: 0xe000739a,\n\t0x13f38: 0xe000864d, 0x13f39: 0xe000a52d, 0x13f3a: 0xe000a830, 0x13f3b: 0xe0005f8c,\n\t// Block 0x4fd, offset 0x13f40\n\t0x13f4a: 0xe00061b9, 0x13f4b: 0xe0007c49,\n\t0x13f4c: 0xe0006440, 0x13f4d: 0xe0006a1d,\n\t0x13f53: 0xe000851a,\n\t0x13f55: 0xe0009584,\n\t0x13f63: 0xe00049aa,\n\t0x13f64: 0xe0008d52,\n\t0x13f68: 0xe000683d, 0x13f69: 0xe00099e1, 0x13f6a: 0xe00056df,\n\t0x13f6f: 0xe0004d55,\n\t0x13f70: 0xe00082d5, 0x13f71: 0xe0009481,\n\t0x13f74: 0xe00082d8,\n\t// Block 0x4fe, offset 0x13f80\n\t0x13f80: 0xe0008f28,\n\t0x13f85: 0xe0008b15, 0x13f86: 0xe00088d4, 0x13f87: 0xe0006b63,\n\t0x13f89: 0xe0005a6c, 0x13f8b: 0xe000536a,\n\t0x13f94: 0xe000a6eb,\n\t0x13f99: 0xe0007db5, 0x13f9b: 0xe0008ee6,\n\t0x13f9e: 0xe000a638, 0x13f9f: 0xe0004bfc,\n\t0x13fa3: 0xe000518f,\n\t0x13fa4: 0xe000a113,\n\t0x13fa9: 0xe00049ce,\n\t0x13fac: 0xe00049d2, 0x13fad: 0xe00091d9,\n\t0x13fb8: 0xe00070db, 0x13fb9: 0xe0007fbe, 0x13fbb: 0xe0007039,\n\t0x13fbe: 0xe00075c6,\n\t// Block 0x4ff, offset 0x13fc0\n\t0x13fc0: 0xe0009788, 0x13fc2: 0xe0006761, 0x13fc3: 0xe0007505,\n\t0x13fc6: 0xe000a309,\n\t0x13fc8: 0xe0007ca3, 0x13fc9: 0xe0006840, 0x13fca: 0xe0005d4b, 0x13fcb: 0xe0005867,\n\t0x13fd1: 0xe000539a,\n\t0x13fd8: 0xe00090a9, 0x13fda: 0xe00069ab,\n\t0x13fdc: 0xe00062b0, 0x13fdd: 0xe0005159,\n\t0x13fe1: 0xe0006bae,\n\t0x13fe5: 0xe0006e44,\n\t0x13fe8: 0xe0008b39, 0x13fe9: 0xe0008dbe,\n\t0x13ff4: 0xe00094f0, 0x13ff5: 0xe0007aaf, 0x13ff7: 0xe0004e43,\n\t0x13ffa: 0xe0007c4c, 0x13ffb: 0xe000968c,\n\t0x13fff: 0xe000816e,\n\t// Block 0x500, offset 0x14000\n\t0x14000: 0xe00056a9,\n\t0x1400c: 0xe0004a26, 0x1400e: 0xe00042d4,\n\t0x14015: 0xe000749d, 0x14017: 0xe000a68c,\n\t0x14019: 0xe0009df4,\n\t0x1401f: 0xe00081d0,\n\t0x14020: 0xe000671d,\n\t0x14024: 0xe00082db, 0x14025: 0xe000609c, 0x14026: 0xe000a008,\n\t0x14028: 0xe0007396,\n\t0x1402e: 0xe0006721,\n\t0x14034: 0xe000a481, 0x14036: 0xe0008b2d,\n\t0x14038: 0xe0007db8,\n\t// Block 0x501, offset 0x14040\n\t0x14042: 0xe000584f, 0x14043: 0xe000647c,\n\t0x1404c: 0xe00063a0, 0x1404d: 0xe000834e,\n\t0x14058: 0xe0008453,\n\t0x1405e: 0xe0005dfb, 0x1405f: 0xe000601c,\n\t0x14062: 0xe000a3b9, 0x14063: 0xe000574c,\n\t0x1406d: 0xe0005d4e,\n\t0x14073: 0xe0005472,\n\t0x14074: 0xe000919d,\n\t0x1407a: 0xe0005763, 0x1407b: 0xe0005c21,\n\t0x1407d: 0xe0008e69,\n\t// Block 0x502, offset 0x14080\n\t0x14080: 0xe0007144,\n\t0x14084: 0xe0009a96, 0x14087: 0xe0005dfe,\n\t0x1408a: 0xe000609f, 0x1408b: 0xe0007551,\n\t0x14092: 0xe0005efb,\n\t0x1409a: 0xe0009da8, 0x1409b: 0xe0009dac,\n\t0x140a0: 0xe0006378, 0x140a3: 0xe000515c,\n\t0x140ac: 0xe0006eb0, 0x140af: 0xe0007ee0,\n\t0x140b2: 0xe0009922,\n\t0x140b7: 0xe00054a2,\n\t0x140b9: 0xe000a1b0, 0x140bb: 0xe000842c,\n\t0x140be: 0xe0006f74,\n\t// Block 0x503, offset 0x140c0\n\t0x140c5: 0xe00073de,\n\t0x140cd: 0xe00042ec,\n\t0x140d1: 0xe0007bd3,\n\t0x140d5: 0xe0007ab3,\n\t0x140df: 0xe000582f,\n\t0x140e1: 0xe000592b, 0x140e2: 0xe0008f89, 0x140e3: 0xe0005901,\n\t0x140f1: 0xe000485c, 0x140f2: 0xe000462d,\n\t0x140f6: 0xe00086f6,\n\t0x140f9: 0xe00056e2, 0x140fb: 0xe0005e63,\n\t// Block 0x504, offset 0x14100\n\t0x14100: 0xe000a321,\n\t0x14104: 0xe00052f1, 0x14106: 0xe0008fe9,\n\t0x1410a: 0xe0005fec,\n\t0x1410c: 0xe000a206, 0x1410d: 0xe0007a73, 0x1410e: 0xe00042a4,\n\t0x14112: 0xe000a2d9, 0x14113: 0xe0007365,\n\t0x14117: 0xe000419f,\n\t0x14119: 0xe00075c9, 0x1411b: 0xe00081d3,\n\t0x1411d: 0xe0009926, 0x1411e: 0xe00081f7,\n\t0x14121: 0xe000a3bd, 0x14122: 0xe0004cc5, 0x14123: 0xe000842f,\n\t0x14128: 0xe0009f06, 0x1412b: 0xe0006c64,\n\t0x1412e: 0xe000493a,\n\t0x14130: 0xe0007189, 0x14132: 0xe0005204,\n\t0x14137: 0xe000992a,\n\t0x1413d: 0xe00085a6, 0x1413e: 0xe0004fdb, 0x1413f: 0xe0004fdf,\n\t// Block 0x505, offset 0x14140\n\t0x14141: 0xe0008136, 0x14142: 0xe0006030,\n\t0x14148: 0xe00041a2, 0x1414b: 0xe00054e2,\n\t0x1414d: 0xe0009ea1,\n\t0x14152: 0xe000536e,\n\t0x14156: 0xe0007210, 0x14157: 0xe0009161,\n\t0x1415b: 0xe00088d7,\n\t0x1415d: 0xe0006843, 0x1415e: 0xe000491e,\n\t0x14162: 0xe000652c,\n\t0x1416a: 0xe0004503, 0x1416b: 0xe0009f70,\n\t0x14174: 0xe000485f,\n\t// Block 0x506, offset 0x14180\n\t0x14180: 0xe0008552, 0x14181: 0xe000881e, 0x14182: 0xe00059c8,\n\t0x14185: 0xe00087e2,\n\t0x1418a: 0xe00052c9,\n\t0x1418d: 0xe000493e, 0x1418f: 0xe0005d21,\n\t0x14192: 0xe0006846,\n\t0x14194: 0xe0007c0a, 0x14195: 0xe0008275,\n\t0x14198: 0xe0004d58, 0x14199: 0xe0004db3,\n\t0x1419c: 0xe00066a0, 0x1419d: 0xe000879a, 0x1419f: 0xe0006b66,\n\t0x141a1: 0xe0005d24,\n\t0x141a8: 0xe00069ae,\n\t0x141af: 0xe0008f2b,\n\t0x141b1: 0xe0009f2d, 0x141b3: 0xe0006d04,\n\t0x141b4: 0xe00064b0, 0x141b5: 0xe00064b3,\n\t0x141b8: 0xe0005766, 0x141b9: 0xe0004a29,\n\t0x141bd: 0xe0008c9b, 0x141be: 0xe0004506,\n\t// Block 0x507, offset 0x141c0\n\t0x141c4: 0xe0009497, 0x141c7: 0xe00066ed,\n\t0x141ca: 0xe0009df8,\n\t0x141cc: 0xe0004942,\n\t0x141d0: 0xe00042d0, 0x141d2: 0xe0009ea4, 0x141d3: 0xe00066a3,\n\t0x141d5: 0xe00082de,\n\t0x141d8: 0xe00081d6, 0x141d9: 0xe00064b6, 0x141da: 0xe00088da,\n\t0x141e5: 0xe0007f32, 0x141e7: 0xe0004785,\n\t0x141ea: 0xe0009c8f, 0x141eb: 0xe0009a0b,\n\t0x141f0: 0xe0004548,\n\t0x141f6: 0xe00073aa,\n\t0x141f8: 0xe0005c09, 0x141fa: 0xe0009660, 0x141fb: 0xe0006f30,\n\t// Block 0x508, offset 0x14200\n\t0x14201: 0xe00043e8,\n\t0x14204: 0xe00078a5,\n\t0x1420d: 0xe000871a,\n\t0x14216: 0xe0007cdc,\n\t0x14218: 0xe0004b9f,\n\t0x1421c: 0xe0009624, 0x1421e: 0xe00065b8, 0x1421f: 0xe0004fe3,\n\t0x14220: 0xe00054a6,\n\t0x14224: 0xe0005817,\n\t0x1422a: 0xe0005eab,\n\t0x1422d: 0xe000a988, 0x1422f: 0xe0009a42,\n\t0x14232: 0xe00073ae,\n\t0x14234: 0xe00057db,\n\t0x1423f: 0xe0006dc8,\n\t// Block 0x509, offset 0x14240\n\t0x14241: 0xe0007ee3, 0x14243: 0xe00053fa,\n\t0x14246: 0xe00066f1, 0x14247: 0xe0009d7b,\n\t0x14248: 0xe000a1f2, 0x14249: 0xe000515f, 0x1424b: 0xe0004601,\n\t0x1424f: 0xe0004ec4,\n\t0x14253: 0xe0005f94,\n\t0x14256: 0xe0007430, 0x14257: 0xe0006bb1,\n\t0x14258: 0xe0008b19,\n\t0x14261: 0xe00045c5,\n\t0x14268: 0xe0007653, 0x14269: 0xe0005563, 0x1426a: 0xe0009a36,\n\t0x1426c: 0xe0005162, 0x1426f: 0xe0004d5b,\n\t0x14272: 0xe0004f7f,\n\t0x14277: 0xe000949a,\n\t0x1427a: 0xe0004204,\n\t0x1427d: 0xe000581b, 0x1427f: 0xe0008959,\n\t// Block 0x50a, offset 0x14280\n\t0x14280: 0xe0004a89,\n\t0x14292: 0xe0004208,\n\t0x14294: 0xe0004fa7, 0x14296: 0xe0004651,\n\t0x1429a: 0xe00048b6,\n\t0x1429c: 0xe0008650, 0x1429d: 0xe00088dd,\n\t0x142a3: 0xe000a1b3,\n\t0x142a5: 0xe0004bba,\n\t0x142b1: 0xe0009fc9, 0x142b3: 0xe00048f6,\n\t0x142b4: 0xe0006d08,\n\t0x142b8: 0xe000978c,\n\t// Block 0x50b, offset 0x142c0\n\t0x142c0: 0xe0007937, 0x142c2: 0xe0008bed, 0x142c3: 0xe00067e3,\n\t0x142c7: 0xe0004bbe,\n\t0x142c8: 0xe00047d2, 0x142c9: 0xe0006570, 0x142ca: 0xe0007509,\n\t0x142cc: 0xe000a531, 0x142ce: 0xe0009c53,\n\t0x142d0: 0xe00076bb, 0x142d1: 0xe00084b6, 0x142d3: 0xe000a7da,\n\t0x142d4: 0xe000839a, 0x142d5: 0xe0006c28, 0x142d6: 0xe000a8d3, 0x142d7: 0xe0009b2c,\n\t0x142d8: 0xe00050e7, 0x142db: 0xe0007dbb,\n\t0x142dd: 0xe00075cc, 0x142df: 0xe0007158,\n\t0x142e2: 0xe000a8bf, 0x142e3: 0xe0004649,\n\t0x142e5: 0xe00052d9,\n\t0x142ea: 0xe0006444,\n\t0x142ed: 0xe0006f34,\n\t0x142f1: 0xe000a23f,\n\t0x142f4: 0xe0007096, 0x142f6: 0xe00041a5,\n\t0x142fa: 0xe0009165, 0x142fb: 0xe0008ee9,\n\t0x142fc: 0xe0008c5d, 0x142fe: 0xe0008653,\n\t// Block 0x50c, offset 0x14300\n\t0x14301: 0xe00048b9,\n\t0x14306: 0xe00088e0,\n\t0x1430b: 0xe0008f2e,\n\t0x14310: 0xe0006b69, 0x14311: 0xe00084b9,\n\t0x14314: 0xe0008d55, 0x14315: 0xe0009e1c, 0x14316: 0xe0009f79, 0x14317: 0xe000a3d9,\n\t0x14318: 0xe0004de7, 0x1431b: 0xe000889e,\n\t0x1431e: 0xe0006b6c,\n\t0x14320: 0xe0007ba3, 0x14321: 0xe000a7ae, 0x14322: 0xe0007325, 0x14323: 0xe0007c0d,\n\t0x14326: 0xe0007433,\n\t0x14329: 0xe0007436, 0x1432b: 0xe0009ae7,\n\t0x1432c: 0xe0004d5e, 0x1432d: 0xe0004e64, 0x1432e: 0xe00089dd,\n\t0x14330: 0xe000a97c, 0x14331: 0xe000a56b, 0x14332: 0xe000a1b6, 0x14333: 0xe0006d0c,\n\t0x14335: 0xe0006eb4,\n\t0x14339: 0xe0009600,\n\t0x1433c: 0xe000a703, 0x1433f: 0xe0004b6f,\n\t// Block 0x50d, offset 0x14340\n\t0x14342: 0xe0008dc1,\n\t0x14344: 0xe0005b92, 0x14345: 0xe0008eec, 0x14346: 0xe0004b55, 0x14347: 0xe00049fc,\n\t0x1434c: 0xe00090ac, 0x1434d: 0xe000851e,\n\t0x14351: 0xe0004b59, 0x14353: 0xe0006dcb,\n\t0x14355: 0xe0009b7c,\n\t0x14358: 0xe0008278, 0x1435a: 0xe0009751,\n\t0x1435e: 0xe00078f7,\n\t0x14360: 0xe0007008, 0x14361: 0xe00047d5, 0x14362: 0xe000a30d, 0x14363: 0xe000616e,\n\t0x14364: 0xe0007ca6, 0x14365: 0xe0004862, 0x14366: 0xe000715c, 0x14367: 0xe0009ec8,\n\t0x14368: 0xe000a6ee, 0x1436a: 0xe0006f38,\n\t0x14370: 0xe0007213, 0x14372: 0xe00049ff,\n\t0x14379: 0xe00069b1,\n\t0x1437c: 0xe0008432, 0x1437e: 0xe0008366, 0x1437f: 0xe0008d58,\n\t// Block 0x50e, offset 0x14380\n\t0x14382: 0xe0009604,\n\t0x14384: 0xe0007329, 0x14387: 0xe00053fe,\n\t0x14389: 0xe00081fa, 0x1438b: 0xe0009678,\n\t0x1438d: 0xe0008847, 0x1438f: 0xe000983e,\n\t0x14392: 0xe00058b9,\n\t0x14396: 0xe0005b26,\n\t0x1439b: 0xe000827b,\n\t0x1439c: 0xe0009644, 0x1439e: 0xe0009dfc, 0x1439f: 0xe0007463,\n\t0x143a0: 0xe000a816, 0x143a1: 0xe0007439,\n\t0x143a4: 0xe0007657, 0x143a6: 0xe00096a3, 0x143a7: 0xe000a1b9,\n\t0x143aa: 0xe0008bf1, 0x143ab: 0xe0004280,\n\t0x143ad: 0xe000827e, 0x143ae: 0xe0008617,\n\t0x143b0: 0xe0007466, 0x143b1: 0xe000a842, 0x143b3: 0xe0007707,\n\t0x143b4: 0xe000a0fb, 0x143b6: 0xe0007579, 0x143b7: 0xe0009f4c,\n\t0x143b8: 0xe0008c9e, 0x143ba: 0xe000793b,\n\t0x143bc: 0xe000a81a, 0x143be: 0xe00051bc,\n\t// Block 0x50f, offset 0x143c0\n\t0x143c0: 0xe0006072, 0x143c1: 0xe000769f, 0x143c2: 0xe00081d9,\n\t0x143c4: 0xe0005728, 0x143c7: 0xe000454c,\n\t0x143cc: 0xe00041e1, 0x143ce: 0xe000621a,\n\t0x143d0: 0xe00062b4, 0x143d1: 0xe000a412,\n\t0x143d4: 0xe000a03b, 0x143d6: 0xe0007108, 0x143d7: 0xe0006448,\n\t0x143d9: 0xe0004665, 0x143da: 0xe00084d6, 0x143db: 0xe00043ec,\n\t0x143dc: 0xe0008172, 0x143dd: 0xe0006b6f,\n\t0x143e0: 0xe0007ee6, 0x143e3: 0xe0008050,\n\t0x143e6: 0xe0004789,\n\t0x143e8: 0xe0006075, 0x143eb: 0xe0008925,\n\t0x143ec: 0xe0005c4b,\n\t0x143f3: 0xe0004cc8,\n\t0x143f7: 0xe0007cdf,\n\t0x143f9: 0xe0004f83,\n\t0x143fe: 0xe0005e83,\n\t// Block 0x510, offset 0x14400\n\t0x14401: 0xe000a56e, 0x14403: 0xe000a7b1,\n\t0x14409: 0xe0009041,\n\t0x1440c: 0xe0007dd6, 0x1440e: 0xe000a873, 0x1440f: 0xe00050ea,\n\t0x14414: 0xe0006ef8, 0x14416: 0xe0009377,\n\t0x14418: 0xe00074a1, 0x14419: 0xe0009754, 0x1441a: 0xe0005402,\n\t0x1441c: 0xe00066a6, 0x1441f: 0xe0008dc4,\n\t0x14426: 0xe0004729,\n\t0x1442b: 0xe0006f94,\n\t0x1442c: 0xe00069b4, 0x1442f: 0xe00079f3,\n\t0x14430: 0xe0008435, 0x14431: 0xe0006efc,\n\t0x14434: 0xe0004605, 0x14437: 0xe000a484,\n\t0x1443d: 0xe0007c10, 0x1443f: 0xe000a415,\n\t// Block 0x511, offset 0x14440\n\t0x14440: 0xe00055e1,\n\t0x14449: 0xe00082e1, 0x1444a: 0xe00065cc,\n\t0x1444c: 0xe0007ab7, 0x1444e: 0xe0007276,\n\t0x14450: 0xe0007216, 0x14452: 0xe0009347, 0x14453: 0xe00078a9,\n\t0x14456: 0xe000934b,\n\t0x1445a: 0xe00092d7,\n\t0x1445c: 0xe00054aa, 0x1445e: 0xe000794b,\n\t// Block 0x512, offset 0x14480\n\t0x144b7: 0xe00048e2,\n\t0x144bf: 0xe00047d8,\n\t// Block 0x513, offset 0x144c0\n\t0x144c1: 0xe000a630,\n\t0x144c6: 0xe00056ca, 0x144c7: 0xe0004438,\n\t0x144c8: 0xe00050ed, 0x144c9: 0xe0007469, 0x144ca: 0xe0009f50,\n\t0x144cc: 0xe0007e15, 0x144ce: 0xe0007279,\n\t0x144d5: 0xe000743c, 0x144d6: 0xe00098ee,\n\t0x144da: 0xe000560d,\n\t0x144e1: 0xe0006d10, 0x144e2: 0xe000a610,\n\t0x144e8: 0xe000a976, 0x144ea: 0xe000a487, 0x144eb: 0xe0007c13,\n\t0x144ec: 0xe00088e3,\n\t0x144f3: 0xe0006a97,\n\t0x144f8: 0xe0009a0e, 0x144f9: 0xe0009f09, 0x144fa: 0xe000743f,\n\t// Block 0x514, offset 0x14500\n\t0x14502: 0xe0009712, 0x14503: 0xe0005f60,\n\t0x1450a: 0xe0005f4c,\n\t0x1450c: 0xe0006078, 0x1450d: 0xe0005d51,\n\t0x14513: 0xe0006135,\n\t0x14514: 0xe0006a20,\n\t0x14518: 0xe0005f64,\n\t0x1451d: 0xe0009d7e, 0x1451e: 0xe0008bf5,\n\t0x14520: 0xe00067e6, 0x14521: 0xe0008821, 0x14522: 0xe00049ae,\n\t0x14527: 0xe0006a73,\n\t0x14528: 0xe000a571, 0x14529: 0xe0009d38, 0x1452a: 0xe0009bac, 0x1452b: 0xe0004a8d,\n\t0x1452c: 0xe0009469, 0x1452f: 0xe00088a1,\n\t0x14530: 0xe000702d, 0x14532: 0xe0008656, 0x14533: 0xe0008495,\n\t0x14534: 0xe0004e9d, 0x14536: 0xe0009e00, 0x14537: 0xe0005f21,\n\t0x14538: 0xe00054e5, 0x1453a: 0xe000a6b0, 0x1453b: 0xe00069b7,\n\t0x1453c: 0xe0009648, 0x1453d: 0xe0008492, 0x1453f: 0xe0006171,\n\t// Block 0x515, offset 0x14540\n\t0x14540: 0xe000a00b, 0x14541: 0xe00068a0, 0x14542: 0xe0005b6e, 0x14543: 0xe000859e,\n\t0x14544: 0xe000a6f1, 0x14546: 0xe00065f0, 0x14547: 0xe000861a,\n\t0x14548: 0xe00041a8, 0x1454a: 0xe0008929,\n\t0x14551: 0xe0009169, 0x14553: 0xe0006a77,\n\t0x14559: 0xe0008f31, 0x1455a: 0xe0005b71,\n\t0x1455c: 0xe0006b72, 0x1455e: 0xe0006d14,\n\t0x14560: 0xe00064b9, 0x14561: 0xe00044a6, 0x14562: 0xe000a2dd, 0x14563: 0xe0005f24,\n\t0x14564: 0xe000952c, 0x14566: 0xe00067e9,\n\t0x1456a: 0xe00091dd,\n\t0x1456c: 0xe00087e6, 0x1456d: 0xe0005566,\n\t0x14574: 0xe0005b74,\n\t0x1457b: 0xe00067ec,\n\t0x1457c: 0xe0004ccb, 0x1457d: 0xe0006d46,\n\t// Block 0x516, offset 0x14580\n\t0x14584: 0xe00090af, 0x14585: 0xe0009943, 0x14587: 0xe0008322,\n\t0x14588: 0xe0009045, 0x1458a: 0xe00092db, 0x1458b: 0xe0007693,\n\t0x1458d: 0xe0006f78, 0x1458f: 0xe0007bd7,\n\t0x14590: 0xe0007535, 0x14593: 0xe000879e,\n\t0x14594: 0xe0006a23, 0x14596: 0xe000710c,\n\t0x1459b: 0xe00049d6,\n\t// Block 0x517, offset 0x145c0\n\t0x145e4: 0xe000892d, 0x145e6: 0xe0006b75, 0x145e7: 0xe00051d4,\n\t0x145eb: 0xe000a281,\n\t0x145ed: 0xe0008659,\n\t0x145f0: 0xe0008eef, 0x145f3: 0xe0004ec7,\n\t0x145f4: 0xe00067ef, 0x145f6: 0xe00042a8, 0x145f7: 0xe00050f0,\n\t// Block 0x518, offset 0x14600\n\t0x14601: 0xe00091a1,\n\t0x14605: 0xe0009715,\n\t0x1460a: 0xe000818a,\n\t0x1460e: 0xe0008f34,\n\t0x14610: 0xe000a32d,\n\t0x14619: 0xe0008d5b,\n\t0x14620: 0xe0009757, 0x14623: 0xe0009973,\n\t0x14628: 0xe0009841, 0x1462b: 0xe0004c38,\n\t0x14632: 0xe0009307, 0x14633: 0xe0008de1,\n\t0x1463a: 0xe00067f2,\n\t0x1463e: 0xe00090b2,\n\t// Block 0x519, offset 0x14640\n\t0x14642: 0xe0005165,\n\t0x14646: 0xe0009c15,\n\t0x1464b: 0xe00063c0,\n\t0x1464c: 0xe00091e1, 0x1464e: 0xe0009aea, 0x1464f: 0xe00041ab,\n\t0x14655: 0xe0008b3d, 0x14656: 0xe00094f4, 0x14657: 0xe0006849,\n\t0x1465b: 0xe0009cf4,\n\t0x1465d: 0xe00044d3, 0x1465f: 0xe0004fab,\n\t0x14661: 0xe0008931, 0x14663: 0xe0006eb8,\n\t0x14668: 0xe0004a02, 0x1466a: 0xe0004e8b, 0x1466b: 0xe00049da,\n\t0x1466c: 0xe0004ef4, 0x1466f: 0xe0005ab2,\n\t0x14671: 0xe0009a11, 0x14673: 0xe0005569,\n\t0x1467c: 0xe0004d9f,\n\t// Block 0x51a, offset 0x14680\n\t0x14686: 0xe0008fbd,\n\t0x14688: 0xe00070de, 0x14689: 0xe00058d5, 0x1468a: 0xe0007f92,\n\t0x1468f: 0xe0005446,\n\t0x14690: 0xe0009530,\n\t0x14694: 0xe0009b50,\n\t0x1469d: 0xe0004a2c, 0x1469e: 0xe00044d6, 0x1469f: 0xe00090d3,\n\t0x146aa: 0xe0008e39,\n\t0x146b0: 0xe0008281,\n\t0x146b4: 0xe0007fc2, 0x146b5: 0xe0008e3d, 0x146b6: 0xe0008cd1,\n\t0x146bd: 0xe0008053,\n\t// Block 0x51b, offset 0x146c0\n\t0x146c0: 0xe0008b41, 0x146c2: 0xe0008284,\n\t0x146c4: 0xe0008ca1, 0x146c7: 0xe0004530,\n\t0x146c8: 0xe000556c, 0x146c9: 0xe0009266, 0x146ca: 0xe000a3f7,\n\t0x146cc: 0xe000941b, 0x146cf: 0xe0008cd4,\n\t0x146d5: 0xe0009fcd,\n\t0x146d9: 0xe00098d6,\n\t0x146dc: 0xe00098f2, 0x146df: 0xe0008935,\n\t0x146e0: 0xe00094cc, 0x146e3: 0xe0005e87,\n\t0x146e4: 0xe0008e6d,\n\t0x146f2: 0xe0008fc1,\n\t0x146f4: 0xe00098da, 0x146f6: 0xe0004e53,\n\t0x146fb: 0xe0004c3b,\n\t// Block 0x51c, offset 0x14700\n\t0x14701: 0xe0008d5e,\n\t0x14705: 0xe00097a0, 0x14707: 0xe00088a4,\n\t0x14709: 0xe000561d, 0x1470a: 0xe0008ef2, 0x1470b: 0xe0008cd7,\n\t0x1470d: 0xe0007839,\n\t0x14710: 0xe00059fc, 0x14711: 0xe00094f8, 0x14713: 0xe00090d6,\n\t0x14714: 0xe0008a71,\n\t0x14719: 0xe0005d9d,\n\t0x14721: 0xe0006fbc,\n\t0x14729: 0xe0004a4d, 0x1472a: 0xe0005d71, 0x1472b: 0xe000750d,\n\t0x1472c: 0xe0004dff,\n\t0x14731: 0xe0009aed, 0x14733: 0xe0004e03,\n\t// Block 0x51d, offset 0x14740\n\t0x14740: 0xe0004cce,\n\t0x14746: 0xe00096c7,\n\t0x1474a: 0xe0009269, 0x1474b: 0xe00076a3,\n\t0x1474c: 0xe0004e67, 0x1474d: 0xe0004db7,\n\t0x14752: 0xe000a251,\n\t0x1475f: 0xe0007a77,\n\t0x14768: 0xe0005a70, 0x1476b: 0xe000916d,\n\t0x14778: 0xe00098de, 0x14779: 0xe00090d9, 0x1477a: 0xe000975a, 0x1477b: 0xe00041ae,\n\t0x1477c: 0xe000857e, 0x1477e: 0xe00074a5,\n\t// Block 0x51e, offset 0x14780\n\t0x14783: 0xe0004bff,\n\t0x14785: 0xe0005ab5, 0x14787: 0xe0008a75,\n\t0x14788: 0xe0008f37, 0x14789: 0xe0008824,\n\t0x14792: 0xe000964c, 0x14793: 0xe0005e67,\n\t0x14794: 0xe00066a9, 0x14795: 0xe000472d,\n\t0x1479b: 0xe00058bd,\n\t0x1479c: 0xe00099e4, 0x1479d: 0xe000a845, 0x1479e: 0xe0005ee3, 0x1479f: 0xe00095ac,\n\t0x147a6: 0xe000598c, 0x147a7: 0xe0006650,\n\t0x147a8: 0xe0004ab9, 0x147a9: 0xe00064bc, 0x147aa: 0xe0005c84,\n\t0x147af: 0xe0009215,\n\t0x147b0: 0xe00078d5, 0x147b3: 0xe0008ef5,\n\t0x147b8: 0xe0007219, 0x147b9: 0xe00066f5, 0x147bb: 0xe00066f9,\n\t0x147be: 0xe00089e1, 0x147bf: 0xe00079cf,\n\t// Block 0x51f, offset 0x147c0\n\t0x147c0: 0xe0007d3e, 0x147c2: 0xe00048fa,\n\t0x147c4: 0xe000a0bb, 0x147c5: 0xe000813a, 0x147c6: 0xe0005b1e,\n\t0x147c9: 0xe00089e5,\n\t0x147cd: 0xe00095b0, 0x147ce: 0xe0004c02,\n\t0x147d2: 0xe00068e8,\n\t0x147d4: 0xe0005da1, 0x147d7: 0xe0004374,\n\t0x147d8: 0xe000a614,\n\t0x147dd: 0xe00079d2, 0x147de: 0xe000a0ff, 0x147df: 0xe0004bb2,\n\t0x147e1: 0xe0006a26, 0x147e2: 0xe0005948, 0x147e3: 0xe0005960,\n\t0x147e4: 0xe0005ad9,\n\t// Block 0x520, offset 0x14800\n\t0x1481b: 0xe0007511,\n\t0x1481c: 0xe0004865, 0x1481f: 0xe0009f7c,\n\t0x14822: 0xe00057f3, 0x14823: 0xe00057eb,\n\t0x14826: 0xe0009d3c,\n\t0x14828: 0xe00065d0,\n\t0x1482d: 0xe0006b78, 0x1482e: 0xe00065e8, 0x1482f: 0xe00065d4,\n\t0x14830: 0xe0009171, 0x14831: 0xe0007f36, 0x14832: 0xe000529d,\n\t0x1483b: 0xe000759d,\n\t0x1483f: 0xe0009588,\n\t// Block 0x521, offset 0x14840\n\t0x14840: 0xe00042ac, 0x14842: 0xe0008011, 0x14843: 0xe0007ce2,\n\t0x14844: 0xe000a8e3, 0x14845: 0xe0007515,\n\t0x1484d: 0xe0005704, 0x1484e: 0xe0007ba7,\n\t0x14851: 0xe0004f87, 0x14853: 0xe00075f6,\n\t0x14854: 0xe000637c, 0x14855: 0xe0007ce5,\n\t0x14862: 0xe000975d,\n\t0x14864: 0xe00084bc, 0x14865: 0xe000a3dd, 0x14866: 0xe00041b1,\n\t0x14868: 0xe0009c2a, 0x1486a: 0xe0008939, 0x1486b: 0xe0006300,\n\t0x1486c: 0xe0007e61, 0x1486d: 0xe00091e5,\n\t0x14870: 0xe0007369, 0x14872: 0xe000459c,\n\t0x14874: 0xe000a706, 0x14877: 0xe000621d,\n\t0x14878: 0xe000666c, 0x14879: 0xe000893d, 0x1487a: 0xe000522c,\n\t0x1487d: 0xe0009844,\n\t// Block 0x522, offset 0x14880\n\t0x14880: 0xe0009c92, 0x14881: 0xe0007160, 0x14882: 0xe0004ae1, 0x14883: 0xe000556f,\n\t0x14885: 0xe000a796, 0x14886: 0xe00079f7,\n\t0x14888: 0xe000a3c1, 0x1488b: 0xe0009ea7,\n\t0x1488c: 0xe00082e4, 0x1488d: 0xe0007099, 0x1488f: 0xe0009ca7,\n\t0x14890: 0xe00098e2, 0x14891: 0xe0004cd1,\n\t0x14894: 0xe0005572, 0x14895: 0xe0004731, 0x14896: 0xe000895d, 0x14897: 0xe00056cd,\n\t0x14899: 0xe00088a7, 0x1489a: 0xe0009c76,\n\t0x1489d: 0xe0006dce, 0x1489e: 0xe0005a30, 0x1489f: 0xe0007110,\n\t0x148a0: 0xe0008d61, 0x148a1: 0xe0008f8d, 0x148a2: 0xe0006765, 0x148a3: 0xe0005990,\n\t0x148ae: 0xe00096a6,\n\t0x148b1: 0xe0008ef8, 0x148b2: 0xe0009175,\n\t0x148b4: 0xe0009b54, 0x148b5: 0xe0004eca, 0x148b6: 0xe00081fd,\n\t0x148b8: 0xe000856e,\n\t0x148bc: 0xe0009fe5, 0x148be: 0xe000828a,\n\t// Block 0x523, offset 0x148c0\n\t0x148c1: 0xe00056f4, 0x148c2: 0xe000721c,\n\t0x148c7: 0xe0008014,\n\t0x148c9: 0xe0008c61, 0x148ca: 0xe0008287, 0x148cb: 0xe00080aa,\n\t0x148cd: 0xe0009dd0, 0x148ce: 0xe0004a05, 0x148cf: 0xe00076bf,\n\t0x148d0: 0xe000a00e, 0x148d1: 0xe000a690, 0x148d2: 0xe0008f3a, 0x148d3: 0xe0005575,\n\t0x148d4: 0xe00053ae, 0x148d5: 0xe00081dc,\n\t0x148d8: 0xe0004d61, 0x148d9: 0xe0007ee9, 0x148db: 0xe0005c5a,\n\t0x148dc: 0xe000712c, 0x148dd: 0xe000544a, 0x148de: 0xe00096a9,\n\t0x148e0: 0xe000813e, 0x148e1: 0xe000709c, 0x148e3: 0xe0004609,\n\t0x148e8: 0xe0007ce8, 0x148e9: 0xe0008941,\n\t0x148ec: 0xe0007118, 0x148ed: 0xe0008d64, 0x148ee: 0xe000926c, 0x148ef: 0xe00056f8,\n\t0x148f2: 0xe00090b5,\n\t0x148f5: 0xe0008f91, 0x148f6: 0xe0007f1c, 0x148f7: 0xe0009534,\n\t0x148f8: 0xe0006ebc, 0x148fa: 0xe000828d,\n\t0x148fc: 0xe0005bb9, 0x148fd: 0xe00044d9, 0x148ff: 0xe0009f73,\n\t// Block 0x524, offset 0x14900\n\t0x14900: 0xe0007eec, 0x14901: 0xe0005f27, 0x14902: 0xe000a1bc, 0x14903: 0xe000721f,\n\t0x14904: 0xe000a5e8, 0x14905: 0xe0008a79, 0x14907: 0xe0008498,\n\t0x14908: 0xe0005e1b, 0x1490a: 0xe00065d8,\n\t0x1490c: 0xe000592e, 0x1490f: 0xe0005769,\n\t0x14910: 0xe0005d54, 0x14911: 0xe00083e2,\n\t0x14915: 0xe0007d76,\n\t0x14919: 0xe0005ee7,\n\t0x14920: 0xe0006a9b, 0x14922: 0xe000a3c5, 0x14923: 0xe00051aa,\n\t0x14926: 0xe000644c,\n\t0x14928: 0xe00097b4, 0x1492a: 0xe0006b7b,\n\t0x1492f: 0xe0004334,\n\t0x14930: 0xe0009c18, 0x14931: 0xe0004cd4, 0x14933: 0xe0006a29,\n\t0x14935: 0xe000709f,\n\t0x14938: 0xe00088aa,\n\t0x1493d: 0xe0004ef7,\n\t// Block 0x525, offset 0x14940\n\t0x14941: 0xe000807e, 0x14943: 0xe000a13b,\n\t0x14944: 0xe0004f4f, 0x14945: 0xe00091f5,\n\t0x1494a: 0xe0004c05,\n\t0x1495c: 0xe00048bc, 0x1495d: 0xe000a053, 0x1495e: 0xe0005853,\n\t0x14961: 0xe0004dbb, 0x14962: 0xe0007bdb,\n\t0x14968: 0xe00067f5, 0x1496a: 0xe000949d, 0x1496b: 0xe0006a2c,\n\t0x1496d: 0xe0004a41, 0x1496f: 0xe000542e,\n\t0x14974: 0xe0009a8a, 0x14975: 0xe0008017,\n\t0x1497d: 0xe0005578,\n\t// Block 0x526, offset 0x14980\n\t0x14982: 0xe0007623,\n\t0x14992: 0xe0009847,\n\t0x14995: 0xe000a21e,\n\t0x14999: 0xe00069ba,\n\t0x1499e: 0xe000839e,\n\t0x149a2: 0xe000794f, 0x149a3: 0xe00087ea,\n\t0x149a7: 0xe000572c,\n\t0x149ad: 0xe0008bf9,\n\t0x149b0: 0xe0005da5, 0x149b1: 0xe0009d21, 0x149b2: 0xe0005372,\n\t0x149b4: 0xe00079a3,\n\t0x149bd: 0xe0008a7d,\n\t// Block 0x527, offset 0x149c0\n\t0x149c8: 0xe0005964, 0x149c9: 0xe0008290, 0x149ca: 0xe0008bfd, 0x149cb: 0xe000984a,\n\t0x149cc: 0xe0008696, 0x149cd: 0xe00064bf, 0x149ce: 0xe0008efb,\n\t0x149d2: 0xe0008efe,\n\t0x149d6: 0xe0009bb8, 0x149d7: 0xe000a7b4,\n\t0x149e2: 0xe0009718, 0x149e3: 0xe0004378,\n\t0x149e4: 0xe00048bf, 0x149e5: 0xe00070e1,\n\t0x149e9: 0xe0006020, 0x149ea: 0xe000579b,\n\t0x149ec: 0xe0007222,\n\t0x149f2: 0xe0008c65,\n\t0x149f4: 0xe00055ab, 0x149f5: 0xe000a754, 0x149f6: 0xe0005f42, 0x149f7: 0xe000a4d1,\n\t0x149f8: 0xe0006c00, 0x149f9: 0xe0005b95,\n\t// Block 0x528, offset 0x14a00\n\t0x14a03: 0xe000798f,\n\t0x14a07: 0xe000732d,\n\t0x14a09: 0xe0009976, 0x14a0b: 0xe000971b,\n\t0x14a0d: 0xe0008ca4,\n\t0x14a10: 0xe000a4c0, 0x14a12: 0xe000700c,\n\t0x14a1c: 0xe000984d, 0x14a1e: 0xe0007d42,\n\t0x14a22: 0xe000a1dd,\n\t0x14a2a: 0xe0005bd7, 0x14a2b: 0xe0008438,\n\t0x14a2c: 0xe00087a2, 0x14a2e: 0xe000971e, 0x14a2f: 0xe000a3fa,\n\t0x14a31: 0xe00063c4, 0x14a32: 0xe00052ad,\n\t0x14a34: 0xe0005a85, 0x14a35: 0xe00044ae,\n\t// Block 0x529, offset 0x14a40\n\t0x14a40: 0xe00078ad, 0x14a41: 0xe000a8c3, 0x14a43: 0xe000746c,\n\t0x14a45: 0xe0007b1b, 0x14a47: 0xe0009451,\n\t0x14a49: 0xe0008293, 0x14a4b: 0xe0006e2c,\n\t0x14a4c: 0xe0005d27, 0x14a4d: 0xe0008fed, 0x14a4e: 0xe000781b, 0x14a4f: 0xe00058c1,\n\t0x14a50: 0xe0005d2a, 0x14a51: 0xe0005193,\n\t0x14a57: 0xe000718c,\n\t0x14a58: 0xe0008c01,\n\t0x14a5c: 0xe00067f8, 0x14a5d: 0xe0009a72,\n\t0x14a63: 0xe0008d67,\n\t0x14a64: 0xe0006c6c, 0x14a66: 0xe0004d64, 0x14a67: 0xe0009538,\n\t0x14a6a: 0xe000801a,\n\t0x14a6d: 0xe00049de,\n\t0x14a75: 0xe0009454,\n\t0x14a7f: 0xe0004faf,\n\t// Block 0x52a, offset 0x14a80\n\t0x14a87: 0xe000684c,\n\t0x14a8d: 0xe00056fc,\n\t0x14a90: 0xe0004584, 0x14a91: 0xe0009d40, 0x14a92: 0xe0006c7c,\n\t0x14a94: 0xe0009760, 0x14a97: 0xe0008326,\n\t0x14a9c: 0xe000a72b, 0x14a9e: 0xe0004f17, 0x14a9f: 0xe0008dc7,\n\t0x14ab4: 0xe0005a34, 0x14ab5: 0xe0006670, 0x14ab7: 0xe00048c2,\n\t0x14ab8: 0xe00063e0, 0x14aba: 0xe0007d0a,\n\t0x14abf: 0xe00089e9,\n\t// Block 0x52b, offset 0x14ac0\n\t0x14ac0: 0xe0004390, 0x14ac1: 0xe00091a5,\n\t0x14ac5: 0xe00044dc,\n\t0x14ac9: 0xe000a2e1, 0x14acb: 0xe0009ecb,\n\t0x14ace: 0xe0006d7c, 0x14acf: 0xe0006df5,\n\t0x14ad0: 0xe0006e48, 0x14ad2: 0xe0008f3d,\n\t0x14ad7: 0xe0004669,\n\t0x14adb: 0xe0007a7b,\n\t0x14ade: 0xe000818e,\n\t0x14ae2: 0xe00063c8,\n\t0x14ae4: 0xe0004cd7, 0x14ae5: 0xe000736d, 0x14ae6: 0xe0008c05,\n\t0x14af7: 0xe000a545,\n\t0x14af8: 0xe0004c3e,\n\t0x14afc: 0xe0006678, 0x14afe: 0xe00060a2,\n\t// Block 0x52c, offset 0x14b00\n\t0x14b00: 0xe000836a, 0x14b03: 0xe00097e0,\n\t0x14b05: 0xe0005671,\n\t0x14b0b: 0xe00085aa,\n\t0x14b11: 0xe0006ec0, 0x14b13: 0xe00089ed,\n\t0x14b15: 0xe00095d0, 0x14b16: 0xe0007225,\n\t0x14b18: 0xe0006024, 0x14b19: 0xe0004a2f, 0x14b1a: 0xe0008dca, 0x14b1b: 0xe0006f98,\n\t0x14b1c: 0xe000a0e7,\n\t0x14b33: 0xe0007c16,\n\t0x14b36: 0xe0004cda, 0x14b37: 0xe00070a2,\n\t0x14b39: 0xe0007228,\n\t// Block 0x52d, offset 0x14b40\n\t0x14b46: 0xe0008332,\n\t0x14b4c: 0xe0008c09, 0x14b4f: 0xe000a35d,\n\t0x14b51: 0xe0008a81, 0x14b52: 0xe0006769,\n\t0x14b57: 0xe000a311,\n\t0x14b5f: 0xe0009a8e,\n\t0x14b64: 0xe0006dd1, 0x14b65: 0xe0008c69,\n\t0x14b6a: 0xe0009eaa,\n\t0x14b72: 0xe0006674,\n\t0x14b78: 0xe00044df, 0x14b79: 0xe000941f, 0x14b7a: 0xe0008176,\n\t0x14b7c: 0xe00043f0, 0x14b7d: 0xe0008dcd,\n\t// Block 0x52e, offset 0x14b80\n\t0x14b84: 0xe0005afe, 0x14b86: 0xe0009423,\n\t0x14b8f: 0xe00075f9,\n\t0x14b90: 0xe0009850,\n\t0x14b95: 0xe0004946,\n\t0x14b98: 0xe0009853, 0x14b99: 0xe0009a14, 0x14b9a: 0xe000884b,\n\t0x14b9e: 0xe0007331, 0x14b9f: 0xe0005406,\n\t0x14ba0: 0xe0008c0d, 0x14ba1: 0xe00050f3, 0x14ba2: 0xe00089f1, 0x14ba3: 0xe00095d4,\n\t0x14ba4: 0xe00050f6, 0x14ba6: 0xe0004fe7, 0x14ba7: 0xe0004abd,\n\t0x14ba8: 0xe0006129, 0x14baa: 0xe0008a85, 0x14bab: 0xe0006e30,\n\t0x14bac: 0xe00056ad, 0x14bae: 0xe0004868, 0x14baf: 0xe0009297,\n\t// Block 0x52f, offset 0x14bc0\n\t0x14bc8: 0xe0007bab, 0x14bc9: 0xe000746f, 0x14bca: 0xe0005994, 0x14bcb: 0xe0004a08,\n\t0x14bcd: 0xe000557b,\n\t0x14bd4: 0xe0007627, 0x14bd7: 0xe0008cda,\n\t0x14bdb: 0xe0005376,\n\t0x14bdc: 0xe000a02c, 0x14bdd: 0xe0008056,\n\t0x14be4: 0xe0006c94,\n\t0x14beb: 0xe0009763,\n\t0x14bec: 0xe0009766, 0x14bee: 0xe0008296,\n\t0x14bf0: 0xe000a618,\n\t0x14bf5: 0xe0004534,\n\t0x14bfc: 0xe0009a76, 0x14bfe: 0xe0008e41,\n\t// Block 0x530, offset 0x14c00\n\t0x14c0a: 0xe0006480,\n\t0x14c0c: 0xe000466d,\n\t0x14c14: 0xe0007f96, 0x14c16: 0xe000717d, 0x14c17: 0xe000885b,\n\t0x14c1a: 0xe0009856, 0x14c1b: 0xe0006318,\n\t0x14c1f: 0xe0006d34,\n\t0x14c21: 0xe000865c, 0x14c23: 0xe000a3c9,\n\t0x14c24: 0xe000a6b4, 0x14c27: 0xe0004473,\n\t0x14c2c: 0xe000a48a, 0x14c2d: 0xe0009179,\n\t0x14c30: 0xe0008572,\n\t// Block 0x531, offset 0x14c40\n\t0x14c43: 0xe0008de5,\n\t0x14c47: 0xe0006f00,\n\t0x14c48: 0xe00059a8, 0x14c4a: 0xe0007ceb, 0x14c4b: 0xe0005e8b,\n\t0x14c4c: 0xe0005e23,\n\t0x14c51: 0xe0008945,\n\t0x14c56: 0xe0007cee, 0x14c57: 0xe00044aa,\n\t0x14c58: 0xe00087ee,\n\t0x14c5c: 0xe00054ae, 0x14c5d: 0xe0005e8f, 0x14c5e: 0xe0007f9a, 0x14c5f: 0xe0006c2c,\n\t0x14c61: 0xe0004735, 0x14c62: 0xe0009f30,\n\t0x14c64: 0xe0005c0c, 0x14c66: 0xe00097ec,\n\t0x14c68: 0xe000937b,\n\t0x14c76: 0xe0009219,\n\t0x14c7b: 0xe0005da9,\n\t// Block 0x532, offset 0x14c80\n\t0x14c83: 0xe00052cc,\n\t0x14c84: 0xe000a723,\n\t0x14c8f: 0xe0008fc5,\n\t0x14c90: 0xe0005bda, 0x14c93: 0xe00054fd,\n\t0x14c94: 0xe000758d,\n\t0x14c98: 0xe0008e45, 0x14c99: 0xe0005750,\n\t0x14ca5: 0xe0006ec4,\n\t0x14caa: 0xe0005adc, 0x14cab: 0xe00089f5,\n\t0x14cb5: 0xe00095b4, 0x14cb6: 0xe000a61c,\n\t0x14cb8: 0xe0009b30, 0x14cba: 0xe00054b2,\n\t// Block 0x533, offset 0x14cc0\n\t0x14cc2: 0xe000a7f6,\n\t0x14cc4: 0xe0008f01,\n\t0x14cca: 0xe000a5ac,\n\t0x14ccc: 0xe0006a9f,\n\t0x14cd1: 0xe0004338, 0x14cd2: 0xe000433c,\n\t0x14cd5: 0xe00091f9,\n\t0x14cdb: 0xe0004b2d,\n\t0x14cde: 0xe0005833,\n\t0x14ce0: 0xe0006bd4, 0x14ce2: 0xe0005931, 0x14ce3: 0xe0009f33,\n\t0x14cea: 0xe0005adf,\n\t0x14cf0: 0xe000784d, 0x14cf1: 0xe000937f, 0x14cf2: 0xe00078d9,\n\t0x14cf5: 0xe0004ac1, 0x14cf7: 0xe0006fc0,\n\t0x14cfc: 0xe000577e, 0x14cfd: 0xe00092df, 0x14cfe: 0xe00057df, 0x14cff: 0xe000929b,\n\t// Block 0x534, offset 0x14d00\n\t0x14d37: 0xe00087a6,\n\t// Block 0x535, offset 0x14d40\n\t0x14d40: 0xe00061bd, 0x14d43: 0xe0006f7c,\n\t0x14d48: 0xe000a0a7, 0x14d49: 0xe0009e50, 0x14d4a: 0xe0006c30, 0x14d4b: 0xe0004476,\n\t0x14d4e: 0xe0004bc2, 0x14d4f: 0xe000832a,\n\t0x14d51: 0xe000a083, 0x14d52: 0xe000a087, 0x14d53: 0xe0004284,\n\t0x14d54: 0xe0006280,\n\t0x14d58: 0xe0004394,\n\t0x14d5f: 0xe0006a2f,\n\t0x14d63: 0xe000420c,\n\t0x14d64: 0xe000a117, 0x14d65: 0xe000653c,\n\t0x14d68: 0xe0004ecd, 0x14d69: 0xe00062a0, 0x14d6b: 0xe000494a,\n\t0x14d6c: 0xe000586b, 0x14d6d: 0xe0005904,\n\t0x14d71: 0xe0007acb,\n\t0x14d76: 0xe0009427,\n\t0x14d79: 0xe0007993, 0x14d7b: 0xe0007aef,\n\t0x14d7c: 0xe00076a7, 0x14d7d: 0xe000a4fd, 0x14d7e: 0xe0007a0b,\n\t// Block 0x536, offset 0x14d80\n\t0x14d83: 0xe00045d5,\n\t0x14d87: 0xe00076e7,\n\t0x14d88: 0xe0008200, 0x14d8a: 0xe000a634, 0x14d8b: 0xe0004655,\n\t0x14d8c: 0xe00057e3, 0x14d8d: 0xe00055ae,\n\t0x14d93: 0xe000448b,\n\t0x14d94: 0xe000a11b, 0x14d95: 0xe0004e57, 0x14d96: 0xe0009cc6,\n\t0x14d9a: 0xe0004efa,\n\t0x14d9c: 0xe0004a91, 0x14d9e: 0xe000a103,\n\t0x14da0: 0xe0004e8e, 0x14da1: 0xe000953c, 0x14da2: 0xe00065a4,\n\t0x14da5: 0xe00053ba,\n\t// Block 0x537, offset 0x14dc0\n\t0x14ddc: 0xe00067fb,\n\t0x14de1: 0xe0009540,\n\t0x14de4: 0xe0009a17,\n\t0x14de8: 0xe00077dc, 0x14dea: 0xe0009d44,\n\t0x14dee: 0xe0007e19, 0x14def: 0xe00090dc,\n\t0x14df2: 0xe0006450,\n\t0x14dfb: 0xe0008d6a,\n\t0x14dff: 0xe00075cf,\n\t// Block 0x538, offset 0x14e00\n\t0x14e00: 0xe0009acc, 0x14e02: 0xe0009f76,\n\t0x14e04: 0xe00067fe,\n\t0x14e0b: 0xe0005c0f,\n\t0x14e0c: 0xe0005f50, 0x14e0d: 0xe00043f4,\n\t0x14e10: 0xe000a08b,\n\t0x14e18: 0xe000a3e1, 0x14e1b: 0xe0009e53,\n\t0x14e1c: 0xe000a11f, 0x14e1d: 0xe0006f80, 0x14e1e: 0xe00073e2, 0x14e1f: 0xe00094d0,\n\t0x14e21: 0xe00056e5, 0x14e22: 0xe0008142, 0x14e23: 0xe000917d,\n\t0x14e24: 0xe0008ca7,\n\t0x14e2a: 0xe00064c2,\n\t0x14e2c: 0xe0009895,\n\t0x14e30: 0xe00083ba, 0x14e32: 0xe000727c, 0x14e33: 0xe0009181,\n\t0x14e34: 0xe0006a32, 0x14e35: 0xe0005cdc, 0x14e36: 0xe000557e, 0x14e37: 0xe000a0eb,\n\t0x14e38: 0xe0005c68,\n\t0x14e3c: 0xe00088e6, 0x14e3d: 0xe00078b1,\n\t// Block 0x539, offset 0x14e40\n\t0x14e44: 0xe0008cdd, 0x14e45: 0xe000801d, 0x14e46: 0xe0005ca0,\n\t0x14e4a: 0xe00054e8, 0x14e4b: 0xe000722b,\n\t0x14e4d: 0xe000a694, 0x14e4e: 0xe00047db,\n\t0x14e51: 0xe0005168,\n\t0x14e54: 0xe00045c9, 0x14e55: 0xe00080ae, 0x14e57: 0xe0007e9b,\n\t0x14e58: 0xe0007772, 0x14e59: 0xe0004f3f, 0x14e5b: 0xe0008caa,\n\t0x14e5c: 0xe00087aa,\n\t0x14e63: 0xe0005d75,\n\t0x14e64: 0xe0009c98, 0x14e67: 0xe000722e,\n\t0x14e68: 0xe0007231, 0x14e69: 0xe0007cf1, 0x14e6a: 0xe000a265,\n\t0x14e70: 0xe00073ba, 0x14e71: 0xe000836e, 0x14e73: 0xe000a866,\n\t0x14e74: 0xe0005b5a, 0x14e76: 0xe00084bf, 0x14e77: 0xe0005a88,\n\t0x14e78: 0xe0005a8b, 0x14e79: 0xe0009898, 0x14e7b: 0xe00094d4,\n\t0x14e7c: 0xe0008fc9,\n\t// Block 0x53a, offset 0x14e80\n\t0x14e80: 0xe000869a, 0x14e81: 0xe000767b,\n\t0x14e84: 0xe00080e2, 0x14e85: 0xe00075d2, 0x14e86: 0xe000921d, 0x14e87: 0xe000486b,\n\t0x14e89: 0xe00099e7, 0x14e8b: 0xe0008f95,\n\t0x14e8c: 0xe000861d, 0x14e8d: 0xe0007d7a, 0x14e8e: 0xe00088ad,\n\t0x14e95: 0xe0008d6d, 0x14e96: 0xe0007234,\n\t0x14e99: 0xe00075a1, 0x14e9a: 0xe0004ac5, 0x14e9b: 0xe0009859,\n\t0x14e9c: 0xe0008706, 0x14e9d: 0xe0007d9e, 0x14e9e: 0xe00047ff,\n\t0x14ea2: 0xe0005d2d, 0x14ea3: 0xe00051c8,\n\t0x14ea8: 0xe0008020, 0x14ea9: 0xe0008023, 0x14eaa: 0xe0006f3c,\n\t0x14eaf: 0xe00061c1,\n\t0x14eb0: 0xe00068a4, 0x14eb2: 0xe00080b2,\n\t0x14eb6: 0xe0005a38, 0x14eb7: 0xe0005b77,\n\t0x14eb9: 0xe0006304, 0x14eba: 0xe0006100, 0x14ebb: 0xe00089f9,\n\t// Block 0x53b, offset 0x14ec0\n\t0x14ec0: 0xe0007237,\n\t0x14ec4: 0xe00070e4, 0x14ec5: 0xe0006c98, 0x14ec6: 0xe0008c11, 0x14ec7: 0xe0009185,\n\t0x14ec8: 0xe0009d8a, 0x14ec9: 0xe0005f45,\n\t0x14ecc: 0xe0008f40, 0x14ecd: 0xe0004a51, 0x14ece: 0xe0006c9c, 0x14ecf: 0xe0006a35,\n\t0x14ed1: 0xe0008aed, 0x14ed3: 0xe0007c19,\n\t0x14ed4: 0xe0008f43, 0x14ed6: 0xe0005dc1,\n\t0x14ed9: 0xe0007baf,\n\t0x14edc: 0xe0006d18, 0x14ede: 0xe000a011,\n\t0x14ee3: 0xe00080ca,\n\t0x14ee6: 0xe0006aa3, 0x14ee7: 0xe0006174,\n\t0x14eea: 0xe00083d6,\n\t0x14ef0: 0xe0006c04, 0x14ef2: 0xe0005ab8,\n\t0x14ef8: 0xe0009d8d, 0x14ef9: 0xe00065a8,\n\t0x14efd: 0xe0008cad,\n\t// Block 0x53c, offset 0x14f00\n\t0x14f02: 0xe000594c,\n\t0x14f04: 0xe0007775, 0x14f06: 0xe00096ca,\n\t0x14f08: 0xe0005a3c, 0x14f09: 0xe00077ae,\n\t0x14f0c: 0xe00066b8,\n\t0x14f11: 0xe000967c,\n\t0x14f16: 0xe0008c15,\n\t0x14f1a: 0xe0008c6d, 0x14f1b: 0xe0008a89,\n\t0x14f1c: 0xe0008c19, 0x14f1d: 0xe000958c, 0x14f1e: 0xe00069bd,\n\t0x14f20: 0xe00048c5, 0x14f21: 0xe0006220, 0x14f22: 0xe0005fc4,\n\t0x14f26: 0xe0008a8d,\n\t0x14f28: 0xe0007b43, 0x14f29: 0xe000a285,\n\t0x14f2d: 0xe0008522,\n\t0x14f33: 0xe0004fb3,\n\t0x14f34: 0xe000a574, 0x14f35: 0xe00052ee, 0x14f37: 0xe0008526,\n\t0x14f3a: 0xe0005eaf,\n\t0x14f3c: 0xe00053be,\n\t// Block 0x53d, offset 0x14f40\n\t0x14f40: 0xe00055b1, 0x14f41: 0xe0009f7f,\n\t0x14f44: 0xe0009ece, 0x14f45: 0xe0007753,\n\t0x14f4b: 0xe000a3fd,\n\t0x14f4d: 0xe000767f, 0x14f4f: 0xe00049b2,\n\t0x14f58: 0xe0009769,\n\t0x14f60: 0xe0004d8b, 0x14f63: 0xe00082e7,\n\t0x14f66: 0xe000989b,\n\t0x14f68: 0xe00042d8, 0x14f6b: 0xe0004d8f,\n\t0x14f6c: 0xe0004550, 0x14f6d: 0xe0009dd4,\n\t0x14f71: 0xe00055b4,\n\t0x14f74: 0xe0006a38,\n\t0x14f78: 0xe0009fd1, 0x14f79: 0xe0004a55,\n\t// Block 0x53e, offset 0x14f80\n\t0x14f81: 0xe000443c, 0x14f83: 0xe00053c2,\n\t0x14f86: 0xe0009544,\n\t0x14f8b: 0xe00081df,\n\t0x14f8d: 0xe0006918,\n\t0x14f90: 0xe0004398, 0x14f93: 0xe000a08f,\n\t0x14f99: 0xe0008203,\n\t0x14f9c: 0xe0005581, 0x14f9d: 0xe0004d67, 0x14f9e: 0xe0007d46,\n\t0x14fa0: 0xe0009fd5, 0x14fa1: 0xe0008206,\n\t0x14fad: 0xe0004d6a, 0x14fae: 0xe0004d6d,\n\t0x14fb1: 0xe0006f9c, 0x14fb2: 0xe0008ce0, 0x14fb3: 0xe00083be,\n\t0x14fb5: 0xe00080ce, 0x14fb6: 0xe00070a5,\n\t0x14fba: 0xe0007bdf, 0x14fbb: 0xe00080b6,\n\t0x14fbf: 0xe000a222,\n\t// Block 0x53f, offset 0x14fc0\n\t0x14fc0: 0xe000a48d, 0x14fc1: 0xe000a325, 0x14fc2: 0xe0008c1d, 0x14fc3: 0xe0004739,\n\t0x14fc5: 0xe000a177, 0x14fc6: 0xe0007335,\n\t0x14fc8: 0xe000723a, 0x14fca: 0xe0008082,\n\t0x14fcc: 0xe0007164, 0x14fcd: 0xe0004efd, 0x14fce: 0xe000516b, 0x14fcf: 0xe000a18b,\n\t0x14fd0: 0xe0007c1c, 0x14fd1: 0xe0007e1d, 0x14fd2: 0xe0006380, 0x14fd3: 0xe0005611,\n\t0x14fd6: 0xe00063a4, 0x14fd7: 0xe0009cf7,\n\t0x14fd8: 0xe0005a40,\n\t0x14fde: 0xe00076c3,\n\t0x14fe1: 0xe000a98c, 0x14fe3: 0xe0007539,\n\t0x14fe6: 0xe000a1e0,\n\t0x14feb: 0xe000684f,\n\t0x14fed: 0xe00056d0, 0x14fee: 0xe000a709,\n\t0x14ff0: 0xe000a361,\n\t0x14ff7: 0xe000770b,\n\t0x14ff8: 0xe000473d, 0x14ff9: 0xe0009c95, 0x14ffb: 0xe0006a7b,\n\t0x14fff: 0xe000865f,\n\t// Block 0x540, offset 0x15000\n\t0x15002: 0xe0005b98,\n\t0x15006: 0xe0004a0b, 0x15007: 0xe0009952,\n\t0x15008: 0xe000477d, 0x1500b: 0xe0007472,\n\t0x1500c: 0xe0008cb0, 0x1500d: 0xe00077cc, 0x1500e: 0xe000762b,\n\t0x15012: 0xe0007da2, 0x15013: 0xe0008a91,\n\t0x15014: 0xe0007683,\n\t0x15018: 0xe0008146, 0x15019: 0xe0006d38, 0x1501a: 0xe00089fd,\n\t0x1501e: 0xe0005c4e,\n\t0x15025: 0xe000a490, 0x15026: 0xe000976c, 0x15027: 0xe000486e,\n\t0x1502b: 0xe0008a01,\n\t0x1502f: 0xe000a2e5,\n\t0x15030: 0xe0006aa7, 0x15031: 0xe0005ae2, 0x15033: 0xe0006fc4,\n\t0x15034: 0xe0004ac9,\n\t// Block 0x541, offset 0x15040\n\t0x15068: 0xe0009f54,\n\t0x1506d: 0xe0008b1d, 0x1506f: 0xe0006c80,\n\t0x15071: 0xe0009c1b, 0x15072: 0xe00059d4,\n\t0x15076: 0xe0004d70,\n\t0x1507a: 0xe00078dd,\n\t0x1507c: 0xe000727f, 0x1507f: 0xe0006574,\n\t// Block 0x542, offset 0x15080\n\t0x15082: 0xe0005bdd,\n\t0x15084: 0xe0009f0f, 0x15087: 0xe0009f0c,\n\t0x15089: 0xe0005be0, 0x1508b: 0xe0007555,\n\t0x1509b: 0xe00069c0,\n\t0x1509c: 0xe0006518, 0x1509f: 0xe00074a9,\n\t0x150a1: 0xe0007130, 0x150a2: 0xe00050f9,\n\t0x150a6: 0xe0008a95, 0x150a7: 0xe0007134,\n\t0x150aa: 0xe00085ae, 0x150ab: 0xe000790c,\n\t0x150ad: 0xe0009a2e, 0x150ae: 0xe00083c2, 0x150af: 0xe0006384,\n\t0x150b1: 0xe0007138,\n\t0x150b4: 0xe000849b,\n\t0x150bb: 0xe00095d8,\n\t0x150bc: 0xe0006b7e, 0x150bd: 0xe0009ead, 0x150be: 0xe00074ad,\n\t// Block 0x543, offset 0x150c0\n\t0x150c3: 0xe0004c08,\n\t0x150c9: 0xe000a226, 0x150ca: 0xe00078b5,\n\t0x150cc: 0xe000849e,\n\t0x150d0: 0xe00092e3, 0x150d2: 0xe00052b7, 0x150d3: 0xe00075d5,\n\t0x150d4: 0xe0009ed1, 0x150d5: 0xe0008fcd,\n\t0x150d8: 0xe00079d5, 0x150da: 0xe000a76f,\n\t0x150de: 0xe0008a05,\n\t0x150e0: 0xe0006654,\n\t0x150e6: 0xe00087f2, 0x150e7: 0xe0008209,\n\t0x150e8: 0xe0004a95, 0x150ea: 0xe00051d8,\n\t0x150ec: 0xe000a4c3, 0x150ee: 0xe00095dc,\n\t0x150f0: 0xe0008a99, 0x150f1: 0xe000a7b7, 0x150f3: 0xe00054b6,\n\t0x150f9: 0xe00054ba,\n\t0x150fc: 0xe000a979, 0x150fd: 0xe0004e91,\n\t// Block 0x544, offset 0x15100\n\t0x15102: 0xe0007d4a,\n\t0x15105: 0xe0005e6b,\n\t0x15108: 0xe0007282, 0x15109: 0xe0004f8b, 0x1510b: 0xe0004e6a,\n\t0x1510c: 0xe00092e7, 0x1510d: 0xe0006ec8,\n\t0x15110: 0xe0008456, 0x15111: 0xe00050fc, 0x15112: 0xe0007eef,\n\t0x15114: 0xe0007d7e, 0x15115: 0xe00055b7, 0x15117: 0xe000a22a,\n\t0x1511c: 0xe0007b1f, 0x1511e: 0xe0009383,\n\t// Block 0x545, offset 0x15140\n\t0x15156: 0xe000723d, 0x15157: 0xe0004f00,\n\t0x15158: 0xe0004ba2, 0x15159: 0xe000a22e,\n\t0x1515d: 0xe0009fad,\n\t0x15163: 0xe000770f,\n\t0x15165: 0xe00066fd,\n\t0x15168: 0xe000a3cd,\n\t0x1516c: 0xe0005dec, 0x1516d: 0xe00078fa, 0x1516e: 0xe0009f58,\n\t0x15170: 0xe0008961, 0x15171: 0xe0009acf, 0x15173: 0xe00099ea,\n\t0x15174: 0xe0007339,\n\t0x15179: 0xe0008576,\n\t// Block 0x546, offset 0x15180\n\t0x15181: 0xe0006308,\n\t0x15184: 0xe0009c2d,\n\t0x15188: 0xe0004d73, 0x15189: 0xe000478d,\n\t0x1518f: 0xe0004509,\n\t0x15190: 0xe0008f04, 0x15191: 0xe0005280, 0x15192: 0xe0004cdd,\n\t0x15195: 0xe00041b4,\n\t0x15198: 0xe0009c30, 0x15199: 0xe0006801, 0x1519b: 0xe0006bb4,\n\t0x1519c: 0xe0009fd9, 0x1519d: 0xe0009ad2, 0x1519e: 0xe0009af0, 0x1519f: 0xe0006b81,\n\t0x151a2: 0xe00065f4,\n\t0x151a8: 0xe0007355, 0x151aa: 0xe000753d,\n\t0x151ad: 0xe000a1bf, 0x151ae: 0xe000631c,\n\t0x151b1: 0xe000579f,\n\t0x151b8: 0xe0009a92, 0x151bb: 0xe000a0ab,\n\t0x151bd: 0xe000a315, 0x151bf: 0xe0008f99,\n\t// Block 0x547, offset 0x151c0\n\t0x151c1: 0xe0006abf, 0x151c2: 0xe0007014, 0x151c3: 0xe00077b1,\n\t0x151c4: 0xe0005b22, 0x151c5: 0xe000989e,\n\t0x151c8: 0xe0006658, 0x151cb: 0xe000587e,\n\t0x151cd: 0xe0004a32, 0x151ce: 0xe00050ff, 0x151cf: 0xe0005102,\n\t0x151d1: 0xe0006a3b,\n\t0x151d6: 0xe0006186,\n\t0x151d8: 0xe00097f0, 0x151d9: 0xe0009dd8, 0x151db: 0xe0006a3e,\n\t0x151eb: 0xe0004538,\n\t0x151ed: 0xe0009005,\n\t0x151f0: 0xe0005730,\n\t0x151f5: 0xe000817a, 0x151f6: 0xe000985c, 0x151f7: 0xe00070a8,\n\t0x151f8: 0xe0006f04,\n\t0x151fe: 0xe0005781,\n\t// Block 0x548, offset 0x15200\n\t0x15200: 0xe0005f54, 0x15201: 0xe0007cf4, 0x15202: 0xe0009387, 0x15203: 0xe0009f12,\n\t0x15204: 0xe00097f4, 0x15205: 0xe0004ce0,\n\t0x1520a: 0xe000a586,\n\t0x1520c: 0xe00072c9, 0x1520d: 0xe000a757, 0x1520e: 0xe0005dad, 0x1520f: 0xe00086de,\n\t0x15212: 0xe0009b90,\n\t0x15215: 0xe0004c0b, 0x15217: 0xe000a269,\n\t0x15218: 0xe0005784, 0x1521a: 0xe0004741, 0x1521b: 0xe00079fb,\n\t0x1521f: 0xe0009979,\n\t0x15222: 0xe0005907,\n\t0x15224: 0xe00078e1, 0x15225: 0xe0005105,\n\t0x15229: 0xe000a5ec, 0x1522a: 0xe000590a,\n\t// Block 0x549, offset 0x15240\n\t0x15268: 0xe0004962, 0x1526a: 0xe000820c,\n\t0x15270: 0xe0009cb3,\n\t0x15278: 0xe000a1c2, 0x15279: 0xe0004c41,\n\t0x1527c: 0xe00045d9, 0x1527f: 0xe00065f8,\n\t// Block 0x54a, offset 0x15280\n\t0x15280: 0xe0006a41,\n\t0x15286: 0xe0006320,\n\t0x1528f: 0xe0005c24,\n\t0x15291: 0xe00097a4, 0x15293: 0xe0007240,\n\t0x15294: 0xe00096ac, 0x15296: 0xe0004acd, 0x15297: 0xe0005ae5,\n\t0x15298: 0xe0004871,\n\t0x1529f: 0xe0009f36,\n\t0x152a1: 0xe000494e, 0x152a3: 0xe0006484,\n\t0x152a5: 0xe0007af3, 0x152a6: 0xe00060a5,\n\t0x152ab: 0xe000976f,\n\t0x152ad: 0xe0008662, 0x152ae: 0xe00063cc,\n\t0x152b0: 0xe00096cd, 0x152b2: 0xe0009f82,\n\t0x152b4: 0xe000691c,\n\t0x152b9: 0xe000a869, 0x152ba: 0xe0004af5, 0x152bb: 0xe0004802,\n\t0x152bd: 0xe0008e89,\n\t// Block 0x54b, offset 0x152c0\n\t0x152c2: 0xe0006aab,\n\t0x152c5: 0xe0006944, 0x152c6: 0xe0007170,\n\t0x152ca: 0xe0007359, 0x152cb: 0xe0008a9d,\n\t0x152cd: 0xe000a4c6,\n\t0x152d0: 0xe000516e, 0x152d2: 0xe00091a9,\n\t0x152d6: 0xe0006c70,\n\t0x152d8: 0xe0005e93, 0x152d9: 0xe00073ea, 0x152da: 0xe0007243,\n\t0x152df: 0xe000a620,\n\t0x152e2: 0xe0006aaf, 0x152e3: 0xe0005a00,\n\t0x152e7: 0xe0005bbc,\n\t0x152e8: 0xe000a549, 0x152e9: 0xe000a295, 0x152ea: 0xe0009caa,\n\t0x152ee: 0xe0004d76, 0x152ef: 0xe000942b,\n\t0x152f1: 0xe00080d6, 0x152f2: 0xe00045dd,\n\t0x152fa: 0xe0006d3c,\n\t0x152fc: 0xe0004ea0,\n\t// Block 0x54c, offset 0x15300\n\t0x15301: 0xe0004b8a, 0x15302: 0xe000a4e9, 0x15303: 0xe00063d0,\n\t0x15304: 0xe00064f0, 0x15305: 0xe0005f2a,\n\t0x15308: 0xe00070e7, 0x1530b: 0xe00098a1,\n\t0x1530d: 0xe0005eff, 0x1530e: 0xe00058d9, 0x1530f: 0xe00081e2,\n\t0x15311: 0xe0005d57,\n\t0x15314: 0xe0005def,\n\t0x15318: 0xe0007b23, 0x1531a: 0xe00078fd,\n\t0x15326: 0xe0006bb7,\n\t0x1532f: 0xe0005abb,\n\t0x15334: 0xe0006488,\n\t// Block 0x54d, offset 0x15340\n\t0x15340: 0xe0009af3, 0x15343: 0xe0009e34,\n\t0x1534e: 0xe0008af1,\n\t0x15351: 0xe0009eb0, 0x15352: 0xe0006852, 0x15353: 0xe0008665,\n\t0x15357: 0xe00056b1,\n\t0x1535f: 0xe0007687,\n\t0x15367: 0xe0008ce3,\n\t0x15368: 0xe00090df, 0x1536a: 0xe00082ea, 0x1536b: 0xe0004c0e,\n\t0x1536d: 0xe000a1e3, 0x1536e: 0xe0006ecc,\n\t0x15379: 0xe00070ea,\n\t// Block 0x54e, offset 0x15380\n\t0x15381: 0xe0004791,\n\t0x15386: 0xe0009ed4,\n\t0x15389: 0xe0005d30, 0x1538a: 0xe0006bba,\n\t0x15394: 0xe0009a1a, 0x15396: 0xe0009680,\n\t0x1539b: 0xe0008dd0,\n\t0x153a2: 0xe0007c4f,\n\t0x153a4: 0xe0004922,\n\t0x153a8: 0xe0004745,\n\t0x153b7: 0xe0008ce6,\n\t// Block 0x54f, offset 0x153c0\n\t0x153c8: 0xe0008b45, 0x153ca: 0xe00059ac,\n\t0x153cc: 0xe00098a4, 0x153cd: 0xe000985f,\n\t0x153d0: 0xe000762f, 0x153d2: 0xe0006701, 0x153d3: 0xe0006d49,\n\t0x153d5: 0xe000a014,\n\t0x153e4: 0xe0006bbd, 0x153e5: 0xe000a5f0,\n\t0x153ed: 0xe0005171, 0x153ee: 0xe0007d4e, 0x153ef: 0xe0007851,\n\t0x153f1: 0xe00059b0, 0x153f2: 0xe0007ca9,\n\t0x153f5: 0xe00062a4,\n\t0x153f9: 0xe0004631, 0x153fa: 0xe00070ed, 0x153fb: 0xe0005e6f,\n\t0x153fe: 0xe0009f39,\n\t// Block 0x550, offset 0x15400\n\t0x15407: 0xe00043f8,\n\t0x15409: 0xe0006608,\n\t0x1540f: 0xe0007591,\n\t0x15412: 0xe0008fd1, 0x15413: 0xe0006f08,\n\t0x15417: 0xe0005d79,\n\t0x15420: 0xe000a70c, 0x15423: 0xe0008aa1,\n\t0x15427: 0xe0005a8e,\n\t0x15438: 0xe0005ae8, 0x1543b: 0xe0006f0c,\n\t// Block 0x551, offset 0x15440\n\t0x15465: 0xe0008d70, 0x15466: 0xe00083aa, 0x15467: 0xe0006804,\n\t0x15469: 0xe0004ce3,\n\t0x15473: 0xe000676d,\n\t0x15474: 0xe0006028, 0x15476: 0xe0007a7f,\n\t// Block 0x552, offset 0x15480\n\t0x15483: 0xe00045e1,\n\t0x15486: 0xe0009205, 0x15487: 0xe00066bb,\n\t0x15488: 0xe0007697, 0x15489: 0xe00075d8,\n\t0x1548c: 0xe0006785,\n\t0x15492: 0xe0005a74,\n\t0x15495: 0xe0009af6,\n\t0x15498: 0xe00065fc, 0x15499: 0xe0009a1d, 0x1549b: 0xe000814a,\n\t0x1549f: 0xe0009a20,\n\t0x154a3: 0xe00048c8,\n\t0x154a6: 0xe000773f,\n\t0x154a8: 0xe0007723,\n\t0x154b0: 0xe0004af9,\n\t0x154b6: 0xe00076c7,\n\t0x154bb: 0xe000a535,\n\t// Block 0x553, offset 0x154c0\n\t0x154c1: 0xe0004c44, 0x154c2: 0xe000a86c,\n\t0x154c4: 0xe0009a23,\n\t0x154d1: 0xe000460d, 0x154d3: 0xe00063e4,\n\t0x154d4: 0xe0008fd5,\n\t0x154dd: 0xe00075db, 0x154de: 0xe00075fc,\n\t0x154e0: 0xe00048e6, 0x154e1: 0xe0006177,\n\t0x154e9: 0xe0006725,\n\t0x154ec: 0xe0006938, 0x154ef: 0xe0009fdd,\n\t0x154f0: 0xe0008dd3, 0x154f2: 0xe000869e,\n\t0x154f7: 0xe000817e,\n\t0x154fb: 0xe00098a7,\n\t0x154fe: 0xe0004952,\n\t// Block 0x554, offset 0x15500\n\t0x15504: 0xe0009690,\n\t0x15509: 0xe000735d,\n\t0x15516: 0xe00098aa,\n\t0x1551a: 0xe000765b,\n\t0x15521: 0xe00042f0,\n\t0x15524: 0xe0004956,\n\t0x15529: 0xe00060c0,\n\t0x1552c: 0xe000942f, 0x1552f: 0xe00077e8,\n\t0x15534: 0xe000a03f, 0x15535: 0xe00098ad,\n\t0x15538: 0xe0007855, 0x15539: 0xe0005c5d, 0x1553b: 0xe0004972,\n\t0x1553f: 0xe0008668,\n\t// Block 0x555, offset 0x15540\n\t0x15541: 0xe00084e2, 0x15542: 0xe0007f1f,\n\t0x15544: 0xe00047de, 0x15547: 0xe0004d79,\n\t0x15553: 0xe000866b,\n\t0x15556: 0xe0007c52, 0x15557: 0xe0004ce6,\n\t0x15559: 0xe00090e2,\n\t0x15566: 0xe0009772,\n\t0x15569: 0xe0006614, 0x1556a: 0xe00077fc, 0x1556b: 0xe00072cd,\n\t0x15570: 0xe0007abb, 0x15571: 0xe00048cb, 0x15572: 0xe000997c, 0x15573: 0xe000a0af,\n\t0x15578: 0xe000a877, 0x15579: 0xe00083fe, 0x1557a: 0xe0005abe,\n\t0x1557d: 0xe000a057, 0x1557f: 0xe00065bc,\n\t// Block 0x556, offset 0x15580\n\t0x15587: 0xe0008aa5,\n\t0x1558f: 0xe0006104,\n\t0x15595: 0xe0005aeb,\n\t0x1559a: 0xe00077ec, 0x1559b: 0xe0004ad1,\n\t0x1559c: 0xe0004d7c, 0x1559e: 0xe00057c7,\n\t// Block 0x557, offset 0x155c0\n\t0x155f5: 0xe0005ac1, 0x155f7: 0xe0005a78,\n\t0x155f9: 0xe000a0ef, 0x155fb: 0xe000437c,\n\t0x155fd: 0xe0007af7, 0x155ff: 0xe0005b02,\n\t// Block 0x558, offset 0x15600\n\t0x15600: 0xe0008059, 0x15602: 0xe0004e94,\n\t0x15604: 0xe00098b0,\n\t0x1560b: 0xe000624d,\n\t0x1560c: 0xe000805c, 0x1560f: 0xe0004f1f,\n\t0x15611: 0xe0007c55, 0x15612: 0xe0005108, 0x15613: 0xe0005b06,\n\t0x15617: 0xe000590d,\n\t0x1561d: 0xe0006b84, 0x1561e: 0xe00087f6, 0x1561f: 0xe0005d7d,\n\t0x15624: 0xe00098b3, 0x15625: 0xe0005f58,\n\t0x15629: 0xe0006855, 0x1562a: 0xe0005fdc,\n\t0x1562f: 0xe0004da3,\n\t0x15634: 0xe0004d93, 0x15635: 0xe0005fc8,\n\t0x1563b: 0xe0005df2,\n\t0x1563d: 0xe0005e01, 0x1563e: 0xe000a848, 0x1563f: 0xe0005e04,\n\t// Block 0x559, offset 0x15640\n\t0x15643: 0xe000a698,\n\t0x15645: 0xe0004ffb,\n\t0x1564c: 0xe000a72f, 0x1564d: 0xe0006dd4, 0x1564e: 0xe0005910, 0x1564f: 0xe0008b21,\n\t0x15650: 0xe0005d5a, 0x15651: 0xe000a89b,\n\t0x15654: 0xe0004588, 0x15656: 0xe0005174,\n\t0x15658: 0xe000618d, 0x1565a: 0xe000468d, 0x1565b: 0xe00054eb,\n\t0x1565c: 0xe000990e, 0x1565d: 0xe00082ed, 0x1565e: 0xe0008af5,\n\t0x15660: 0xe000a990,\n\t0x15665: 0xe0004795,\n\t0x15668: 0xe0005476,\n\t0x1566e: 0xe0005432, 0x1566f: 0xe0007713,\n\t0x15672: 0xe000938b,\n\t0x15674: 0xe0006223, 0x15675: 0xe0005436, 0x15676: 0xe0007b27, 0x15677: 0xe00055e9,\n\t0x1567a: 0xe00068ec, 0x1567b: 0xe0006920,\n\t0x1567c: 0xe00066be, 0x1567d: 0xe00062a8, 0x1567f: 0xe0008182,\n\t// Block 0x55a, offset 0x15680\n\t0x15680: 0xe00098f6, 0x15682: 0xe0008dd6,\n\t0x15684: 0xe0008f46, 0x15687: 0xe0007cac,\n\t0x15688: 0xe000660c, 0x15689: 0xe0009af9, 0x1568a: 0xe00065c0,\n\t0x1568e: 0xe0008c21,\n\t0x15690: 0xe000522f, 0x15693: 0xe0004874,\n\t0x15697: 0xe00055ba,\n\t0x15699: 0xe0006a44,\n\t0x156a0: 0xe0006dd7, 0x156a2: 0xe00068f0,\n\t0x156ab: 0xe0006e4c,\n\t0x156ac: 0xe00082f0, 0x156af: 0xe0007cf7,\n\t0x156b4: 0xe0007953,\n\t0x156b8: 0xe0004691, 0x156b9: 0xe0007957, 0x156bb: 0xe00069c3,\n\t0x156be: 0xe000a0b3,\n\t// Block 0x55b, offset 0x156c0\n\t0x156ca: 0xe0008cb3, 0x156cb: 0xe0008827,\n\t0x156ce: 0xe000882a,\n\t0x156d2: 0xe00099ed,\n\t0x156d4: 0xe0009a46, 0x156d5: 0xe000a8e7, 0x156d7: 0xe00083a2,\n\t0x156df: 0xe00088b0,\n\t0x156e0: 0xe0009775, 0x156e1: 0xe0005a44,\n\t0x156e6: 0xe00042b0, 0x156e7: 0xe0006f40,\n\t0x156e9: 0xe0004c47, 0x156ea: 0xe000929f, 0x156eb: 0xe000495a,\n\t0x156ec: 0xe0007900,\n\t0x156f2: 0xe000805f,\n\t0x156f6: 0xe000765f, 0x156f7: 0xe0007633,\n\t// Block 0x55c, offset 0x15700\n\t0x1570d: 0xe0005be3, 0x1570e: 0xe0005b5e,\n\t0x15710: 0xe0006454, 0x15712: 0xe0005be7,\n\t0x15714: 0xe00049e2, 0x15715: 0xe0004340,\n\t0x1571c: 0xe0004ce9, 0x1571d: 0xe0009880,\n\t0x15720: 0xe0007859, 0x15722: 0xe000a589,\n\t0x15725: 0xe00082f3,\n\t// Block 0x55d, offset 0x15740\n\t0x15740: 0xe00050ed, 0x15741: 0xe00046dd, 0x15742: 0xe0009269, 0x15743: 0xe00041a8,\n\t0x15744: 0xe000a628, 0x15745: 0xe00049e6, 0x15746: 0xe0004c65, 0x15747: 0xe0004ce9,\n\t0x15748: 0xe0004ce9, 0x15749: 0xe00047a2, 0x1574a: 0xe0005193, 0x1574b: 0xe0005754,\n\t0x1574c: 0xe000521a, 0x1574d: 0xe0005757, 0x1574e: 0xe000575a, 0x1574f: 0xe000575d,\n\t0x15750: 0xe0005760, 0x15751: 0xe0005763, 0x15752: 0xe0005766, 0x15753: 0xe0005769,\n\t0x15754: 0xe000761b, 0x15755: 0xe0005787, 0x15756: 0xe000578b, 0x15757: 0xe000578f,\n\t0x15758: 0xe0005797, 0x15759: 0xe000579b, 0x1575a: 0xe000579f, 0x1575b: 0xe00057ab,\n\t0x1575c: 0xe00057af, 0x1575d: 0xe00057b3, 0x1575e: 0xe00057bf, 0x1575f: 0xe00057c3,\n\t0x15760: 0xe00057c7, 0x15761: 0xe00057f7, 0x15762: 0xe0005807, 0x15763: 0xe0005813,\n\t0x15764: 0xe0005817, 0x15765: 0xe0005827, 0x15766: 0xe000582b, 0x15767: 0xe000582f,\n\t0x15768: 0xe0005837, 0x15769: 0xe000583b, 0x1576a: 0xe000583f, 0x1576b: 0xe0005843,\n\t0x1576c: 0x43219c20, 0x1576d: 0xe000586f, 0x1576e: 0xe0005881, 0x1576f: 0xe0005a91,\n\t0x15770: 0xe0005a97, 0x15771: 0xe0005a9a, 0x15772: 0xe0005aa3, 0x15773: 0xe0005aa6,\n\t0x15774: 0xe0005aa9, 0x15775: 0xe0005aac, 0x15776: 0xe0005aaf, 0x15777: 0xe0005ab2,\n\t0x15778: 0xe0005ab8, 0x15779: 0xe0005abb, 0x1577a: 0xe0005abe, 0x1577b: 0xe0005aee,\n\t0x1577c: 0xe0005af2, 0x1577d: 0xe0005af6, 0x1577e: 0xe0005afa, 0x1577f: 0xe0005afe,\n\t// Block 0x55e, offset 0x15780\n\t0x15780: 0xe0005b02, 0x15781: 0xe0005b26, 0x15782: 0xe0005b2a, 0x15783: 0xe0005b2e,\n\t0x15784: 0xe0005b3e, 0x15785: 0xe0005b42, 0x15786: 0xe0005b68, 0x15787: 0xe0005b6b,\n\t0x15788: 0xe0005b6e, 0x15789: 0xe0005b77, 0x1578a: 0xe0005beb, 0x1578b: 0xe0005bf1,\n\t0x1578c: 0xe0005bf4, 0x1578d: 0xe0005bf7, 0x1578e: 0xe0005bfa, 0x1578f: 0xe0005c00,\n\t0x15790: 0xe0005c03, 0x15791: 0xe0005c0f, 0x15792: 0xe0005cac, 0x15793: 0xe0005cb0,\n\t0x15794: 0xe0005cb8, 0x15795: 0xe0005cc8, 0x15796: 0xe0005cd0, 0x15797: 0xe0005cd4,\n\t0x15798: 0xe0005cd8, 0x15799: 0xe0005cdc, 0x1579a: 0xe00055e1, 0x1579b: 0xe00051a4,\n\t0x1579c: 0xe000761b, 0x1579d: 0xe00051bc, 0x1579e: 0xe000532a, 0x1579f: 0xe0005259,\n\t0x157a0: 0xe000527a, 0x157a1: 0xe000713c, 0x157a2: 0xe000847a, 0x157a3: 0xe0006858,\n\t0x157a4: 0xe0006368, 0x157a5: 0xe0009db4, 0x157a6: 0xe00066d5, 0x157a7: 0xe0006789,\n\t0x157a8: 0xe0009f95, 0x157a9: 0xe00071c2, 0x157aa: 0xe0006d54, 0x157ab: 0xe000932b,\n\t0x157ac: 0xe0006d40, 0x157ad: 0xe0006ff4, 0x157ae: 0xe0007b33, 0x157af: 0xe0006f38,\n\t0x157b0: 0xe0006c40, 0x157b1: 0xe0009171, 0x157b2: 0xe0009a62, 0x157b3: 0xe00073a2,\n\t0x157b4: 0xe0007829, 0x157b5: 0xe0005885, 0x157b6: 0xe0005889, 0x157b7: 0xe0005891,\n\t0x157b8: 0xe0005899, 0x157b9: 0xe000589d, 0x157ba: 0xe00058a1, 0x157bb: 0xe00058b1,\n\t0x157bc: 0xe00058b5, 0x157bd: 0xe00058b9, 0x157be: 0xe00058c1, 0x157bf: 0xe00058e3,\n\t// Block 0x55f, offset 0x157c0\n\t0x157c0: 0xe00058e6, 0x157c1: 0xe0005232, 0x157c2: 0xe00058e9, 0x157c3: 0xe00058f2,\n\t0x157c4: 0xe00058f8, 0x157c5: 0xe00058fb, 0x157c6: 0xe0005904, 0x157c7: 0xe000590a,\n\t0x157c8: 0xe000590d, 0x157c9: 0xe0005910, 0x157ca: 0xe0005934, 0x157cb: 0xe0005938,\n\t0x157cc: 0xe000593c, 0x157cd: 0xe0005948, 0x157ce: 0xe0005239, 0x157cf: 0xe0005968,\n\t0x157d0: 0xe000596c, 0x157d1: 0xe000523d, 0x157d2: 0xe0005974, 0x157d3: 0xe0005978,\n\t0x157d4: 0xe000597c, 0x157d5: 0xe0005241, 0x157d6: 0xe0005980, 0x157d7: 0xe0005984,\n\t0x157d8: 0xe000598c, 0x157d9: 0xe0005988, 0x157da: 0xe0005990, 0x157db: 0xe0005994,\n\t0x157dc: 0xe00059b8, 0x157dd: 0xe00059bc, 0x157de: 0xe00084f6, 0x157df: 0xe00059c4,\n\t0x157e0: 0xe00059c8, 0x157e1: 0xe0006f38, 0x157e2: 0xe00059d8, 0x157e3: 0xe0005249,\n\t0x157e4: 0xe0005255, 0x157e5: 0xe00059e0, 0x157e6: 0xe00059e8, 0x157e7: 0xe00059f8,\n\t0x157e8: 0xe0005a04, 0x157e9: 0xe0005a0c, 0x157ea: 0xe0005259, 0x157eb: 0xe0005a14,\n\t0x157ec: 0xe0005a18, 0x157ed: 0xe0005a1c, 0x157ee: 0xe000a3b1, 0x157ef: 0xe0005a24,\n\t0x157f0: 0xe0005a2c, 0x157f1: 0xe0005a34, 0x157f2: 0xe0005a38, 0x157f3: 0xe0005a3c,\n\t0x157f4: 0xe0005a40, 0x157f5: 0xe0005a7c, 0x157f6: 0xe0005a82, 0x157f7: 0xe0005a85,\n\t0x157f8: 0xe0005a8b, 0x157f9: 0xe000760f, 0x157fa: 0xe0005b9b, 0x157fb: 0xe0005b9e,\n\t0x157fc: 0xe0005ba1, 0x157fd: 0xe00052ba, 0x157fe: 0xe0005ba7, 0x157ff: 0xe000761b,\n\t// Block 0x560, offset 0x15800\n\t0x15800: 0xe0005baa, 0x15801: 0xe0005bad, 0x15802: 0xe0005bb6, 0x15803: 0xe0005bb9,\n\t0x15804: 0xe0005be3, 0x15805: 0xe000a7de, 0x15806: 0xe0007e19, 0x15807: 0xe0005c27,\n\t0x15808: 0xe00052e5, 0x15809: 0xe0005c2d, 0x1580a: 0xe0005c33, 0x1580b: 0xe0005c36,\n\t0x1580c: 0xe0005c3c, 0x1580d: 0xe0005c42, 0x1580e: 0xe0005c48, 0x1580f: 0xe00052e8,\n\t0x15810: 0xe0005c4e, 0x15811: 0xe0005c60, 0x15812: 0xe0005c64, 0x15813: 0xe0005c68,\n\t0x15814: 0xe0005c74, 0x15815: 0xe0005c78, 0x15816: 0xe0005c7c, 0x15817: 0xe0005c84,\n\t0x15818: 0xe0005c8c, 0x15819: 0xe0005c90, 0x1581a: 0xe0005c94, 0x1581b: 0xe000713c,\n\t0x1581c: 0xe0005ca0, 0x1581d: 0xe0005ceb, 0x1581e: 0xe0005cf1, 0x1581f: 0xe0005cf7,\n\t0x15820: 0xe00079e7, 0x15821: 0xe0005cfd, 0x15822: 0xe0005d00, 0x15823: 0xe00052fc,\n\t0x15824: 0xe0005d0c, 0x15825: 0xe0005d12, 0x15826: 0xe0005d18, 0x15827: 0xe0005d21,\n\t0x15828: 0xe0005d24, 0x15829: 0xe0005d27, 0x1582a: 0xe0005d2d, 0x1582b: 0xe0005311,\n\t0x1582c: 0xe0005315, 0x1582d: 0xe0005d5d, 0x1582e: 0xe0005d65, 0x1582f: 0xe0005d69,\n\t0x15830: 0xe0005d6d, 0x15831: 0xe0005d75, 0x15832: 0xe0005d79, 0x15833: 0xe0005d7d,\n\t0x15834: 0xe0005db1, 0x15835: 0xe0005db5, 0x15836: 0xe0005dbd, 0x15837: 0xe0005dcd,\n\t0x15838: 0xe0005dd1, 0x15839: 0xe0005dd5, 0x1583a: 0xe0006cf0, 0x1583b: 0xe00085f3,\n\t0x1583c: 0xe00074a1, 0x1583d: 0xe0007595, 0x1583e: 0xe0005324, 0x1583f: 0xe00085d5,\n\t// Block 0x561, offset 0x15840\n\t0x15840: 0xe0008aa9, 0x15841: 0xe000552a, 0x15842: 0xe00094b4, 0x15843: 0xe000546e,\n\t0x15844: 0xe0005500, 0x15845: 0xe0005655, 0x15846: 0xe0009edb, 0x15847: 0xe00066f9,\n\t0x15848: 0xe000a206, 0x15849: 0xe00043f4, 0x1584a: 0xe0004601, 0x1584b: 0xe0004a35,\n\t0x1584c: 0xe0007d52, 0x1584d: 0x42ab8020, 0x1584e: 0x43f41c20, 0x1584f: 0x43f41e20,\n\t0x15850: 0xe00097c0, 0x15851: 0x43f42220, 0x15852: 0xe0009668, 0x15853: 0x43f42620,\n\t0x15854: 0x43f42820, 0x15855: 0xe000a922, 0x15856: 0xe0008886, 0x15857: 0xe00084c6,\n\t0x15858: 0x42f27820, 0x15859: 0xe00074e9, 0x1585a: 0xe0006cf8, 0x1585b: 0xe00066dd,\n\t0x1585c: 0xe0008c15, 0x1585d: 0xe0008be1, 0x1585e: 0xe0008005, 0x1585f: 0x43f43e20,\n\t0x15860: 0x430c2420, 0x15861: 0x43f44220, 0x15862: 0xe0008c9e, 0x15863: 0x43f44620,\n\t0x15864: 0x43f44820, 0x15865: 0xe000856e, 0x15866: 0xe0005578, 0x15867: 0x43f44e20,\n\t0x15868: 0x43f45020, 0x15869: 0x43f45220, 0x1586a: 0xe0006384, 0x1586b: 0xe0006b7e,\n\t0x1586c: 0xe0004a95, 0x1586d: 0xe000a03f, 0x1586e: 0xe0005853, 0x1586f: 0xe0005a88,\n\t0x15870: 0xe0006033, 0x15871: 0xe00073c6, 0x15872: 0xe0005fa0, 0x15873: 0xe0005fa8,\n\t0x15874: 0xe0004f5b, 0x15875: 0xe0006954, 0x15876: 0xe00042b8, 0x15877: 0xe0009b5c,\n\t0x15878: 0xe000505a, 0x15879: 0xe0006660, 0x1587a: 0xe0006189, 0x1587b: 0xe00099a4,\n\t0x1587c: 0x42b8dc20, 0x1587d: 0xe000a6c7, 0x1587e: 0xe0004455, 0x1587f: 0xe0009021,\n\t// Block 0x562, offset 0x15880\n\t0x15880: 0xe000922d, 0x15881: 0xe0006260, 0x15882: 0x42cbc420, 0x15883: 0xe0006d9e,\n\t0x15884: 0xe0005f15, 0x15885: 0xe000a1aa, 0x15886: 0xe0008880, 0x15887: 0xe000a06f,\n\t0x15888: 0xe00085f6, 0x15889: 0x42e45620, 0x1588a: 0xe0009b24, 0x1588b: 0xe000698d,\n\t0x1588c: 0xe0006b42, 0x1588d: 0xe0009091, 0x1588e: 0xe00050cc, 0x1588f: 0xe0007ff9,\n\t0x15890: 0xe0008d31, 0x15891: 0xe00098be, 0x15892: 0xe000a55f, 0x15893: 0xe0008bd5,\n\t0x15894: 0xe00048de, 0x15895: 0xe0005625, 0x15896: 0xe0008ac1, 0x15897: 0xe0005980,\n\t0x15898: 0xe0009151, 0x15899: 0xe000650c, 0x1589a: 0xe0006dbc, 0x1589b: 0xe0008608,\n\t0x1589c: 0xe0009970, 0x1589d: 0x4304f220, 0x1589e: 0x4304f220, 0x1589f: 0xe0008898,\n\t0x158a0: 0xe00042d0, 0x158a1: 0xe0007430, 0x158a2: 0xe000769f, 0x158a3: 0xe0004f83,\n\t0x158a4: 0xe0006a77, 0x158a5: 0xe0009045, 0x158a6: 0x431f6c20, 0x158a7: 0xe000856e,\n\t0x158a8: 0xe00051c8, 0x158a9: 0xe000a222, 0x158aa: 0xe0006a7b, 0x158ab: 0x42c0ea20,\n\t0x158ac: 0x4885dc20, 0x158ad: 0x43043020,\n\t0x158b0: 0xe000665c, 0x158b1: 0x42a36a20, 0x158b2: 0xe0008971, 0x158b3: 0x429f0020,\n\t0x158b4: 0xe0009916, 0x158b5: 0xe0005054, 0x158b6: 0xe0007f4e, 0x158b7: 0xe0008672,\n\t0x158b8: 0xe00042b8, 0x158b9: 0x42aaaa20, 0x158ba: 0xe000a821, 0x158bb: 0xe0007d56,\n\t0x158bc: 0xe00097c0, 0x158bd: 0xe0006868, 0x158be: 0xe0007973, 0x158bf: 0xe000686c,\n\t// Block 0x563, offset 0x158c0\n\t0x158c0: 0xe000695a, 0x158c1: 0xe0008623, 0x158c2: 0x42bda420, 0x158c3: 0x42bdb220,\n\t0x158c4: 0xe000943f, 0x158c5: 0xe0007f04, 0x158c6: 0xe0005eeb, 0x158c7: 0x42c29c20,\n\t0x158c8: 0xe0008236, 0x158c9: 0xe0009021, 0x158ca: 0xe0007cca, 0x158cb: 0xe000922d,\n\t0x158cc: 0xe00054d6, 0x158cd: 0xe000823c, 0x158ce: 0xe00071bc, 0x158cf: 0x42c8a420,\n\t0x158d0: 0xe0007c85, 0x158d1: 0xe0009668, 0x158d2: 0xe000583b, 0x158d3: 0xe0005ecb,\n\t0x158d4: 0xe0008752, 0x158d5: 0x42d6f220, 0x158d6: 0xe0006c40, 0x158d7: 0xe0005c33,\n\t0x158d8: 0x42ddb620, 0x158d9: 0xe00085f0, 0x158da: 0xe000a06f, 0x158db: 0xe0008bb9,\n\t0x158dc: 0xe00085f6, 0x158dd: 0x42ef4e20, 0x158de: 0xe000868a, 0x158df: 0xe0006560,\n\t0x158e0: 0xe0008886, 0x158e1: 0xe0008a3d, 0x158e2: 0x42ea0c20, 0x158e3: 0x42ea7620,\n\t0x158e4: 0x42ec3a20, 0x158e5: 0xe0007d16, 0x158e6: 0xe00084c6, 0x158e7: 0xe0006ff0,\n\t0x158e8: 0xe00090e5, 0x158e9: 0x42ee9420, 0x158ea: 0xe000928f, 0x158eb: 0x42f19820,\n\t0x158ec: 0x42f56220, 0x158ed: 0xe0008ac1, 0x158ee: 0x42f8f620, 0x158ef: 0xe0008daf,\n\t0x158f0: 0xe0005980, 0x158f1: 0xe0006668, 0x158f2: 0xe0008608, 0x158f3: 0xe000a688,\n\t0x158f4: 0xe000a568, 0x158f5: 0x430ef220, 0x158f6: 0xe00043e8, 0x158f7: 0xe00066f1,\n\t0x158f8: 0xe0007430, 0x158f9: 0xe0008d58, 0x158fa: 0xe0008c9e, 0x158fb: 0xe0009678,\n\t0x158fc: 0xe000769f, 0x158fd: 0xe00051bc, 0x158fe: 0xe000827e, 0x158ff: 0xe0004f83,\n\t// Block 0x564, offset 0x15900\n\t0x15900: 0xe00065cc, 0x15901: 0xe0009045, 0x15902: 0xe0007219, 0x15903: 0xe00090b5,\n\t0x15904: 0x43233220, 0x15905: 0x4324ec20, 0x15906: 0xe00088e6, 0x15907: 0xe00051c8,\n\t0x15908: 0xe0008c15, 0x15909: 0x432fb620, 0x1590a: 0xe000a222, 0x1590b: 0x43301620,\n\t0x1590c: 0xe0006a7b, 0x1590d: 0xe00091a9, 0x1590e: 0xe0004ce9, 0x1590f: 0x48509420,\n\t0x15910: 0x48508820, 0x15911: 0x4867aa20, 0x15912: 0x44773a20, 0x15913: 0x44803020,\n\t0x15914: 0x44807220, 0x15915: 0x48a49220, 0x15916: 0x48b9a020, 0x15917: 0x48fda620,\n\t0x15918: 0x433e8620, 0x15919: 0xe0005b5e,\n\t// Block 0x565, offset 0x15940\n\t0x15940: 0xe0003d0b, 0x15941: 0xe0003cf3, 0x15942: 0xe0003cf7, 0x15943: 0xe0003cff,\n\t0x15944: 0xe0003d0f, 0x15945: 0xe0003d03, 0x15946: 0xf0000404, 0x15947: 0xe0003cfb,\n\t0x15948: 0xe0003d07,\n\t0x15950: 0x02bf2e86, 0x15951: 0x02a7de86,\n\t// Block 0x566, offset 0x15980\n\t0x15980: 0x429c7a20, 0x15981: 0xe000a5b0, 0x15982: 0x429c8220, 0x15983: 0x48024420,\n\t0x15984: 0x429ec020, 0x15985: 0xe0006033, 0x15986: 0xe0009b9c, 0x15987: 0xe000661c,\n\t0x15988: 0x42a0f420, 0x15989: 0xe000694b, 0x1598a: 0xe00073c6, 0x1598b: 0xe0006ca8,\n\t0x1598c: 0x44693c20, 0x1598d: 0x480c7420, 0x1598e: 0xe0005fa0, 0x1598f: 0x42a2a820,\n\t0x15990: 0x42a2c820, 0x15991: 0xe0004c59, 0x15992: 0x480a3820, 0x15993: 0x44697220,\n\t0x15994: 0xe0005217, 0x15995: 0xe00087fa, 0x15996: 0x480a9620, 0x15997: 0xe0007f4a,\n\t0x15998: 0xe000814e, 0x15999: 0x429d9820, 0x1599a: 0xe0005635, 0x1599b: 0x42a36a20,\n\t0x1599c: 0x4923be20, 0x1599d: 0x42a3ea20, 0x1599e: 0xe00084ee, 0x1599f: 0x4469be20,\n\t0x159a0: 0xe00041e4, 0x159a1: 0x42a48c20, 0x159a2: 0xe000a0b7, 0x159a3: 0xe0006c08,\n\t0x159a4: 0x446a2a20, 0x159a5: 0xe0007f4e, 0x159a6: 0xe0005fa8, 0x159a7: 0xe0004f5b,\n\t0x159a8: 0xe0008672, 0x159a9: 0xe0009e65, 0x159aa: 0x42a60c20, 0x159ab: 0xe0006858,\n\t0x159ac: 0xe000a81e, 0x159ad: 0xe0006954, 0x159ae: 0xe00062c4, 0x159af: 0xe0008ff9,\n\t0x159b0: 0xe0008ff5, 0x159b1: 0xe00046b1, 0x159b2: 0xe00046b1, 0x159b3: 0xe00046b1,\n\t0x159b4: 0x48145820, 0x159b5: 0xe000a6dc, 0x159b6: 0xe0005003, 0x159b7: 0xe0007246,\n\t0x159b8: 0x4816c620, 0x159b9: 0xe0004ea3, 0x159ba: 0xe00091b1, 0x159bb: 0x42a80c20,\n\t0x159bc: 0x42a93c20, 0x159bd: 0xe000a8fb, 0x159be: 0xe0008b5d, 0x159bf: 0xe0008ea4,\n\t// Block 0x567, offset 0x159c0\n\t0x159c0: 0xe000763f, 0x159c1: 0x42a9ec20, 0x159c2: 0xe000544e, 0x159c3: 0xe000479c,\n\t0x159c4: 0xe000a0cf, 0x159c5: 0xe0006e5c, 0x159c6: 0xe0006e5c, 0x159c7: 0xe000a821,\n\t0x159c8: 0xe0005197, 0x159c9: 0x42ab6620, 0x159ca: 0x42ab8420, 0x159cb: 0xe0005515,\n\t0x159cc: 0xe0009b5c, 0x159cd: 0x42ae2e20, 0x159ce: 0x42aca220, 0x159cf: 0xe0006864,\n\t0x159d0: 0xe0008aa9, 0x159d1: 0x42b1dc20, 0x159d2: 0xe0006fc8, 0x159d3: 0xe0007475,\n\t0x159d4: 0x42b01a20, 0x159d5: 0xe000a38d, 0x159d6: 0x42b06420, 0x159d7: 0xe0006682,\n\t0x159d8: 0x42b15820, 0x159d9: 0x4829c820, 0x159da: 0x42b1e420, 0x159db: 0x42b1ee20,\n\t0x159dc: 0xe0006775, 0x159dd: 0xe0005321, 0x159de: 0xe00060d4, 0x159df: 0xe0006b00,\n\t0x159e0: 0x482d5020, 0x159e1: 0x482dd420, 0x159e2: 0xe000a92e, 0x159e3: 0xe0007c79,\n\t0x159e4: 0xe0009c21, 0x159e5: 0x42b3b020, 0x159e6: 0xe00067a7, 0x159e7: 0x446ddc20,\n\t0x159e8: 0x446df820, 0x159e9: 0xe0007efe, 0x159ea: 0xe00057cb, 0x159eb: 0xe00057cb,\n\t0x159ec: 0x48339020, 0x159ed: 0xe0008106, 0x159ee: 0xe00099f6, 0x159ef: 0xe0005259,\n\t0x159f0: 0x42b7e620, 0x159f1: 0x48363020, 0x159f2: 0x42b7fe20, 0x159f3: 0x42b80c20,\n\t0x159f4: 0x42bea620, 0x159f5: 0x42b84420, 0x159f6: 0x446f0220, 0x159f7: 0xe0005521,\n\t0x159f8: 0x42b8dc20, 0x159f9: 0xe00071aa, 0x159fa: 0x42b91a20, 0x159fb: 0x483bc820,\n\t0x159fc: 0x42ba8620, 0x159fd: 0x483bcc20, 0x159fe: 0x42badc20, 0x159ff: 0x42bad620,\n\t// Block 0x568, offset 0x15a00\n\t0x15a00: 0x42baf820, 0x15a01: 0xe00072d1, 0x15a02: 0xe000704e, 0x15a03: 0x44705e20,\n\t0x15a04: 0xe0007120, 0x15a05: 0xe0007030, 0x15a06: 0xe000603f, 0x15a07: 0x42bcd220,\n\t0x15a08: 0x4470c420, 0x15a09: 0x48430620, 0x15a0a: 0x4470f820, 0x15a0b: 0x42bd6020,\n\t0x15a0c: 0xe00069db, 0x15a0d: 0xe0006d8c, 0x15a0e: 0xe0005837, 0x15a0f: 0x49472420,\n\t0x15a10: 0x42bdfc20, 0x15a11: 0x48466220, 0x15a12: 0x48466220, 0x15a13: 0xe00079d8,\n\t0x15a14: 0xe000558a, 0x15a15: 0xe000558a, 0x15a16: 0x44718e20, 0x15a17: 0x48657020,\n\t0x15a18: 0x48c3b420, 0x15a19: 0xe000a391, 0x15a1a: 0xe0008cfb, 0x15a1b: 0x4471c620,\n\t0x15a1c: 0x42bf3420, 0x15a1d: 0xe000850a, 0x15a1e: 0xe0009064, 0x15a1f: 0x42bff220,\n\t0x15a20: 0xe0007a93, 0x15a21: 0x44727420, 0x15a22: 0x44723820, 0x15a23: 0xe000a6c7,\n\t0x15a24: 0x484da820, 0x15a25: 0xe00055f1, 0x15a26: 0xe00085ed, 0x15a27: 0xe000a654,\n\t0x15a28: 0x42c29c20, 0x15a29: 0xe000a654, 0x15a2a: 0xe0005c1b, 0x15a2b: 0xe0009021,\n\t0x15a2c: 0xe000a245, 0x15a2d: 0xe0006878, 0x15a2e: 0xe0009363, 0x15a2f: 0xe00060e4,\n\t0x15a30: 0xe000922d, 0x15a31: 0xe0005757, 0x15a32: 0xe0006fdc, 0x15a33: 0x42c43620,\n\t0x15a34: 0x42c4ba20, 0x15a35: 0xe0009e80, 0x15a36: 0xe00063ac, 0x15a37: 0xe0007a27,\n\t0x15a38: 0x48561820, 0x15a39: 0xe0005e3f, 0x15a3a: 0x42c5f820, 0x15a3b: 0xe0006b1b,\n\t0x15a3c: 0xe0007054, 0x15a3d: 0x42c7c820, 0x15a3e: 0x4857e220, 0x15a3f: 0xe000910d,\n\t// Block 0x569, offset 0x15a40\n\t0x15a40: 0x42c78a20, 0x15a41: 0xe0007977, 0x15a42: 0x44745c20, 0x15a43: 0xe0005ddd,\n\t0x15a44: 0x42c8fc20, 0x15a45: 0xe000a84b, 0x15a46: 0x42c8ee20, 0x15a47: 0x4474d820,\n\t0x15a48: 0xe0006260, 0x15a49: 0xe00046d1, 0x15a4a: 0x48601420, 0x15a4b: 0xe0005087,\n\t0x15a4c: 0xe0006da4, 0x15a4d: 0xe0009111, 0x15a4e: 0x44763220, 0x15a4f: 0xe0006d9e,\n\t0x15a50: 0x44761020, 0x15a51: 0x4475c820, 0x15a52: 0xe0006036, 0x15a53: 0xe0005fa4,\n\t0x15a54: 0xe0009802, 0x15a55: 0x42cd3820, 0x15a56: 0xe00052e1, 0x15a57: 0x4487b220,\n\t0x15a58: 0xe000583b, 0x15a59: 0xe0005ecb, 0x15a5a: 0x42ce4220, 0x15a5b: 0xe0005090,\n\t0x15a5c: 0xe0009ef7, 0x15a5d: 0x48678620, 0x15a5e: 0x44769220, 0x15a5f: 0x42cff420,\n\t0x15a60: 0x42cf0a20, 0x15a61: 0x42d0a420, 0x15a62: 0xe0005f15, 0x15a63: 0x4868da20,\n\t0x15a64: 0x42d11c20, 0x15a65: 0x42d03e20, 0x15a66: 0x42d22820, 0x15a67: 0x44773a20,\n\t0x15a68: 0xe0006b96, 0x15a69: 0x42d34620, 0x15a6a: 0xe000445b, 0x15a6b: 0x42d55020,\n\t0x15a6c: 0x486d4620, 0x15a6d: 0xe0009001, 0x15a6e: 0x44783020, 0x15a6f: 0xe000925a,\n\t0x15a70: 0x48714e20, 0x15a71: 0xe000a242, 0x15a72: 0x44789c20, 0x15a73: 0xe000701e,\n\t0x15a74: 0x42d73e20, 0x15a75: 0xe0006c40, 0x15a76: 0x42d77620, 0x15a77: 0x48751a20,\n\t0x15a78: 0x483a1620, 0x15a79: 0x4875f420, 0x15a7a: 0xe0006558, 0x15a7b: 0x48797820,\n\t0x15a7c: 0xe0007a37, 0x15a7d: 0x42d99a20, 0x15a7e: 0x42d8ce20, 0x15a7f: 0x42da2c20,\n\t// Block 0x56a, offset 0x15a80\n\t0x15a80: 0xe0009ce2, 0x15a81: 0xe000a1aa, 0x15a82: 0xe0005c33, 0x15a83: 0xe000a43f,\n\t0x15a84: 0xe0009a66, 0x15a85: 0xe0007ac3, 0x15a86: 0x487a3c20, 0x15a87: 0x42da6820,\n\t0x15a88: 0xe000a167, 0x15a89: 0xe000850e, 0x15a8a: 0x447a6620, 0x15a8b: 0xe00085f0,\n\t0x15a8c: 0x42dd8e20, 0x15a8d: 0x487da220, 0x15a8e: 0xe000797b, 0x15a8f: 0xe0008d1f,\n\t0x15a90: 0x487ebc20, 0x15a91: 0x487f1c20, 0x15a92: 0xe00068c8, 0x15a93: 0x42e07220,\n\t0x15a94: 0xe0008bb9, 0x15a95: 0xe0007b77, 0x15a96: 0x447b2c20, 0x15a97: 0x42e09420,\n\t0x15a98: 0xe0008818, 0x15a99: 0x42e0ee20, 0x15a9a: 0xe0009b74, 0x15a9b: 0x480a4a20,\n\t0x15a9c: 0x42e28a20, 0x15a9d: 0x4884c620, 0x15a9e: 0x42e33820, 0x15a9f: 0x48875620,\n\t0x15aa0: 0xe0009303, 0x15aa1: 0xe000868a, 0x15aa2: 0x42e4a020, 0x15aa3: 0x488c1020,\n\t0x15aa4: 0xe0006dad, 0x15aa5: 0x42e52a20, 0x15aa6: 0x488e6a20, 0x15aa7: 0x48902820,\n\t0x15aa8: 0xe00053a6, 0x15aa9: 0xe0007e55, 0x15aaa: 0x447d5820, 0x15aab: 0x42e74a20,\n\t0x15aac: 0x447d7020, 0x15aad: 0x447d7020, 0x15aae: 0x42e88e20, 0x15aaf: 0xe0008263,\n\t0x15ab0: 0xe0008a3d, 0x15ab1: 0x42e90a20, 0x15ab2: 0xe00046f9, 0x15ab3: 0x447e3620,\n\t0x15ab4: 0x42ea4820, 0x15ab5: 0x48986c20, 0x15ab6: 0x42ea7c20, 0x15ab7: 0x48992420,\n\t0x15ab8: 0xe000847a, 0x15ab9: 0x48433e20, 0x15aba: 0xe00082b7, 0x15abb: 0x489f4220,\n\t0x15abc: 0x489f7020, 0x15abd: 0x48a08820, 0x15abe: 0x447ff820, 0x15abf: 0x44801020,\n\t// Block 0x56b, offset 0x15ac0\n\t0x15ac0: 0xe00090e5, 0x15ac1: 0x48a1e620, 0x15ac2: 0x48a1e420, 0x15ac3: 0x48a23220,\n\t0x15ac4: 0x48a26620, 0x15ac5: 0xe0009145, 0x15ac6: 0x42ee3e20, 0x15ac7: 0x42ee3e20,\n\t0x15ac8: 0x42ee9420, 0x15ac9: 0x44807220, 0x15aca: 0xe0009149, 0x15acb: 0x44808c20,\n\t0x15acc: 0x44812c20, 0x15acd: 0x48a83a20, 0x15ace: 0x42f09c20, 0x15acf: 0xe0005aee,\n\t0x15ad0: 0x42f19820, 0x15ad1: 0x4481c620, 0x15ad2: 0x48ac4c20, 0x15ad3: 0xe0008d31,\n\t0x15ad4: 0x48ad3420, 0x15ad5: 0x48ad8a20, 0x15ad6: 0xe00066dd, 0x15ad7: 0xe0009912,\n\t0x15ad8: 0x44825e20, 0x15ad9: 0xe00048de, 0x15ada: 0x42f49420, 0x15adb: 0x42f49e20,\n\t0x15adc: 0x48b2f820, 0x15add: 0x48b54e20, 0x15ade: 0x48b54e20, 0x15adf: 0x42f5dc20,\n\t0x15ae0: 0x44840420, 0x15ae1: 0x48b75620, 0x15ae2: 0xe00089d5, 0x15ae3: 0xe00098ca,\n\t0x15ae4: 0x44844e20, 0x15ae5: 0x48b90020, 0x15ae6: 0x42f9a420, 0x15ae7: 0x44854020,\n\t0x15ae8: 0x42f9d020, 0x15ae9: 0x42f9c620, 0x15aea: 0xe00050d5, 0x15aeb: 0x48bf0c20,\n\t0x15aec: 0xe0006664, 0x15aed: 0x44860220, 0x15aee: 0xe00099d5, 0x15aef: 0x42fc0420,\n\t0x15af0: 0xe00070cf, 0x15af1: 0x44866820, 0x15af2: 0x48c45020, 0x15af3: 0x48c48e20,\n\t0x15af4: 0x4486b220, 0x15af5: 0x48c5b220, 0x15af6: 0x42fef420, 0x15af7: 0x48c67c20,\n\t0x15af8: 0x42ff2a20, 0x15af9: 0xe00048b0, 0x15afa: 0xe0008608, 0x15afb: 0x48c9b420,\n\t0x15afc: 0x48ca4620, 0x15afd: 0x4300c020, 0x15afe: 0x48cb5020, 0x15aff: 0xe00097d8,\n\t// Block 0x56c, offset 0x15b00\n\t0x15b00: 0x4866be20, 0x15b01: 0x4487aa20, 0x15b02: 0xe0008302, 0x15b03: 0x43020620,\n\t0x15b04: 0x44881620, 0x15b05: 0xe00069a2, 0x15b06: 0xe00085ce, 0x15b07: 0x48cf4e20,\n\t0x15b08: 0x48cf6a20, 0x15b09: 0x48672620, 0x15b0a: 0x48673820, 0x15b0b: 0xe00079d8,\n\t0x15b0c: 0x43040820, 0x15b0d: 0x431f3c20, 0x15b0e: 0x4488d620, 0x15b0f: 0x43052220,\n\t0x15b10: 0xe0008008, 0x15b11: 0xe00090a3, 0x15b12: 0x42a56620, 0x15b13: 0xe000a565,\n\t0x15b14: 0xe0006438, 0x15b15: 0xe00075c0, 0x15b16: 0xe0004850, 0x15b17: 0x48d67820,\n\t0x15b18: 0xe0007829, 0x15b19: 0xe000945a, 0x15b1a: 0x4306c620, 0x15b1b: 0x43075a20,\n\t0x15b1c: 0xe0007cd9, 0x15b1d: 0xe0005edf, 0x15b1e: 0x4307ce20, 0x15b1f: 0xe0008898,\n\t0x15b20: 0x4306a620, 0x15b21: 0xe0004d87, 0x15b22: 0xe0004f13, 0x15b23: 0xe000944b,\n\t0x15b24: 0x48d86c20, 0x15b25: 0x48dad620, 0x15b26: 0x48d9aa20, 0x15b27: 0x448a5620,\n\t0x15b28: 0xe0009e30, 0x15b29: 0x4309e620, 0x15b2a: 0x430a2c20, 0x15b2b: 0x48e79420,\n\t0x15b2c: 0xe00082d2, 0x15b2d: 0x48de5820, 0x15b2e: 0x448aba20, 0x15b2f: 0x448ac220,\n\t0x15b30: 0x48df6220, 0x15b31: 0x48e1a420, 0x15b32: 0x448ad620, 0x15b33: 0xe000a037,\n\t0x15b34: 0xe0005aaf, 0x15b35: 0xe000a85d, 0x15b36: 0x430cd220, 0x15b37: 0xe00099e1,\n\t0x15b38: 0x430d1020, 0x15b39: 0x430e1c20, 0x15b3a: 0x430dc420, 0x15b3b: 0x430ef220,\n\t0x15b3c: 0xe0008b39, 0x15b3d: 0x430ed620, 0x15b3e: 0x430f0c20, 0x15b3f: 0x448bae20,\n\t// Block 0x56d, offset 0x15b40\n\t0x15b40: 0x430fc220, 0x15b41: 0x43100220, 0x15b42: 0x448bf220, 0x15b43: 0x4310c020,\n\t0x15b44: 0xe000842f, 0x15b45: 0x48ecce20, 0x15b46: 0x4311ae20, 0x15b47: 0x4311bc20,\n\t0x15b48: 0x448c6a20, 0x15b49: 0x4311f420, 0x15b4a: 0x44697620, 0x15b4b: 0x48f15c20,\n\t0x15b4c: 0x48f2cc20, 0x15b4d: 0x448d7c20, 0x15b4e: 0x448d8e20, 0x15b4f: 0xe0007008,\n\t0x15b50: 0xe000827e, 0x15b51: 0xe00065cc, 0x15b52: 0xe000743c, 0x15b53: 0x48f95020,\n\t0x15b54: 0xe0004a8d, 0x15b55: 0xe00068a0, 0x15b56: 0xe00049d6, 0x15b57: 0xe00050f0,\n\t0x15b58: 0x48fe5e20, 0x15b59: 0x48100820, 0x15b5a: 0xe00063c0, 0x15b5b: 0x431b7820,\n\t0x15b5c: 0x431be020, 0x15b5d: 0x4811bc20, 0x15b5e: 0x431da820, 0x15b5f: 0xe0007219,\n\t0x15b60: 0x490ba420, 0x15b61: 0x490bda20, 0x15b62: 0x43212820, 0x15b63: 0x4321e220,\n\t0x15b64: 0x43222220, 0x15b65: 0x490e5c20, 0x15b66: 0x43223620, 0x15b67: 0xe00063e0,\n\t0x15b68: 0xe000a311, 0x15b69: 0x4325b020, 0x15b6a: 0xe0006678, 0x15b6b: 0x4327f220,\n\t0x15b6c: 0x43282a20, 0x15b6d: 0x4917f420, 0x15b6e: 0xe0004476, 0x15b6f: 0x44932a20,\n\t0x15b70: 0x432b6e20, 0x15b71: 0x491aee20, 0x15b72: 0x4493cc20, 0x15b73: 0x432d8620,\n\t0x15b74: 0x42bb6420, 0x15b75: 0xe00080ca, 0x15b76: 0x49228a20, 0x15b77: 0x49243420,\n\t0x15b78: 0x4494dc20, 0x15b79: 0x4494ec20, 0x15b7a: 0xe0009fd5, 0x15b7b: 0x49281420,\n\t0x15b7c: 0x44956420, 0x15b7d: 0x49292c20, 0x15b7e: 0x43301620, 0x15b7f: 0x43301620,\n\t// Block 0x56e, offset 0x15b80\n\t0x15b80: 0x43305220, 0x15b81: 0x492b6c20, 0x15b82: 0xe00050f9, 0x15b83: 0x44966620,\n\t0x15b84: 0x43325220, 0x15b85: 0x43334e20, 0x15b86: 0x43338420, 0x15b87: 0x4333fc20,\n\t0x15b88: 0x44979c20, 0x15b89: 0x49366020, 0x15b8a: 0xe00091a9, 0x15b8b: 0x43388020,\n\t0x15b8c: 0x4339fa20, 0x15b8d: 0x44999c20, 0x15b8e: 0x4499da20, 0x15b8f: 0x433ace20,\n\t0x15b90: 0x49419c20, 0x15b91: 0x4499f020, 0x15b92: 0x49420a20, 0x15b93: 0x49441c20,\n\t0x15b94: 0x49452220, 0x15b95: 0xe0005df2, 0x15b96: 0x449aac20, 0x15b97: 0x433df220,\n\t0x15b98: 0x433dfc20, 0x15b99: 0x433e0a20, 0x15b9a: 0x433e1e20, 0x15b9b: 0x433e2c20,\n\t0x15b9c: 0xe00069c3, 0x15b9d: 0x494c0020,\n\t// Block 0x56f, offset 0x15bc0\n\t0x15bc0: 0xa000f202, 0x15bc1: 0x403fba21, 0x15bc2: 0x403fba20, 0x15bc3: 0x403fbc20,\n\t0x15bc4: 0x403fbc20, 0x15bc5: 0x403fbe20, 0x15bc6: 0x403fc020, 0x15bc7: 0x403fcc20,\n\t0x15bc8: 0x403fce20, 0x15bc9: 0x403fd020, 0x15bca: 0x403fd220, 0x15bcb: 0x403fd420,\n\t0x15bcc: 0x403fd820, 0x15bcd: 0x403fdc20, 0x15bce: 0x403fde20, 0x15bcf: 0x403fe020,\n\t0x15bd0: 0x403fe220, 0x15bd1: 0x403fe420, 0x15bd2: 0x403fe620, 0x15bd3: 0x403fe820,\n\t0x15bd4: 0x403fea20, 0x15bd5: 0xcaac3be1, 0x15bd6: 0x403fee20, 0x15bd7: 0x403ff020,\n\t0x15bd8: 0x403ff420, 0x15bd9: 0x403ff620, 0x15bda: 0x403ff820, 0x15bdb: 0x403ffa20,\n\t0x15bdc: 0x403ffc20, 0x15bdd: 0x40400220, 0x15bde: 0x40400420, 0x15bdf: 0x40400620,\n\t0x15be0: 0x40400820, 0x15be1: 0x40400a20, 0x15be2: 0x40400e20, 0x15be3: 0x40401020,\n\t0x15be4: 0x40401220, 0x15be5: 0x40401420, 0x15be6: 0x40401620, 0x15be7: 0x40401820,\n\t0x15be8: 0x40401a20, 0x15be9: 0xe0001830, 0x15bea: 0x40401c20, 0x15beb: 0x40401e20,\n\t0x15bec: 0x40402020, 0x15bed: 0x40402420, 0x15bee: 0x40402620, 0x15bef: 0x40402820,\n\t0x15bf0: 0x40402c20, 0x15bf1: 0xe0001839, 0x15bf2: 0x40402e20, 0x15bf3: 0x40403c20,\n\t0x15bf4: 0xe000a994, 0x15bf5: 0x40403220, 0x15bf6: 0x40403420, 0x15bf7: 0x40403620,\n\t0x15bf8: 0x40403820, 0x15bf9: 0x40403a20, 0x15bfa: 0x40404c20, 0x15bfb: 0x40404e20,\n\t0x15bfc: 0xa070f102, 0x15bfd: 0x40403c20, 0x15bfe: 0x40404a20, 0x15bff: 0x40405620,\n\t// Block 0x570, offset 0x15c00\n\t0x15c00: 0xa0000000, 0x15c01: 0xa0000000, 0x15c02: 0xa0000000, 0x15c03: 0xa0000000,\n\t0x15c04: 0xa0000000, 0x15c05: 0xa0000000, 0x15c06: 0xa0000000, 0x15c07: 0xa0000000,\n\t0x15c08: 0xa0000000, 0x15c09: 0x40020020, 0x15c0a: 0x40020220, 0x15c0b: 0x40020420,\n\t0x15c0c: 0x40020620, 0x15c0d: 0x40020820, 0x15c0e: 0xa0000000, 0x15c0f: 0xa0000000,\n\t0x15c10: 0xa0000000, 0x15c11: 0xa0000000, 0x15c12: 0xa0000000, 0x15c13: 0xa0000000,\n\t0x15c14: 0xa0000000, 0x15c15: 0xa0000000, 0x15c16: 0xa0000000, 0x15c17: 0xa0000000,\n\t0x15c18: 0xa0000000, 0x15c19: 0xa0000000, 0x15c1a: 0xa0000000, 0x15c1b: 0xa0000000,\n\t0x15c1c: 0xa0000000, 0x15c1d: 0xa0000000, 0x15c1e: 0xa0000000, 0x15c1f: 0xa0000000,\n\t0x15c20: 0x40021220, 0x15c21: 0x4002ba20, 0x15c22: 0x4003e020, 0x15c23: 0x4004ea20,\n\t0x15c24: 0x4027de20, 0x15c25: 0x4004ec20, 0x15c26: 0x4004e620, 0x15c27: 0x4003d220,\n\t0x15c28: 0x4003f420, 0x15c29: 0x4003f620, 0x15c2a: 0x4004d820, 0x15c2b: 0x40093820,\n\t0x15c2c: 0x40024020, 0x15c2d: 0x40021a20, 0x15c2e: 0x4002e420, 0x15c2f: 0x4004e220,\n\t0x15c30: 0x4029cc20, 0x15c31: 0x4029ce20, 0x15c32: 0x4029d020, 0x15c33: 0x4029d220,\n\t0x15c34: 0x4029d420, 0x15c35: 0x4029d620, 0x15c36: 0x4029d820, 0x15c37: 0x4029da20,\n\t0x15c38: 0x4029dc20, 0x15c39: 0x4029de20, 0x15c3a: 0x40026c20, 0x15c3b: 0x40026220,\n\t0x15c3c: 0x40094020, 0x15c3d: 0x40094220, 0x15c3e: 0x40094420, 0x15c3f: 0x4002c420,\n\t// Block 0x571, offset 0x15c40\n\t0x15c40: 0x4004d620, 0x15c41: 0x002bde88, 0x15c42: 0x002c0a88, 0x15c43: 0x002c3a88,\n\t0x15c44: 0x002c6288, 0x15c45: 0x002c9888, 0x15c46: 0x002d0888, 0x15c47: 0xcab12692,\n\t0x15c48: 0x002d6888, 0x15c49: 0x002d9a88, 0x15c4a: 0x002dcc88, 0x15c4b: 0xcab726c2,\n\t0x15c4c: 0xc0030002, 0x15c4d: 0xcac33c48, 0x15c4e: 0xcadf3daa, 0x15c4f: 0x002ee288,\n\t0x15c50: 0x002f2c88, 0x15c51: 0x002f5688, 0x15c52: 0x002f7a88, 0x15c53: 0xcaf409c2,\n\t0x15c54: 0xcafa2722, 0x15c55: 0x00306c88, 0x15c56: 0x0030be88, 0x15c57: 0x0030e288,\n\t0x15c58: 0x0030f688, 0x15c59: 0x00310088, 0x15c5a: 0x00312a88, 0x15c5b: 0x4003f820,\n\t0x15c5c: 0x4004e420, 0x15c5d: 0x4003fa20, 0x15c5e: 0x40062420, 0x15c5f: 0x40021620,\n\t0x15c60: 0x40061e20, 0x15c61: 0x402bde20, 0x15c62: 0x402c0a20, 0x15c63: 0x402c3a20,\n\t0x15c64: 0x402c6220, 0x15c65: 0x402c9820, 0x15c66: 0x402d0820, 0x15c67: 0xcaae2692,\n\t0x15c68: 0x402d6820, 0x15c69: 0x402d9a20, 0x15c6a: 0x402dcc20, 0x15c6b: 0xcab426c2,\n\t0x15c6c: 0xc0000002, 0x15c6d: 0xcaba3c48, 0x15c6e: 0xcacc3cca, 0x15c6f: 0x402ee220,\n\t0x15c70: 0x402f2c20, 0x15c71: 0x402f5620, 0x15c72: 0x402f7a20, 0x15c73: 0xcaf109c2,\n\t0x15c74: 0xcaf72722, 0x15c75: 0x40306c20, 0x15c76: 0x4030be20, 0x15c77: 0x4030e220,\n\t0x15c78: 0x4030f620, 0x15c79: 0x40310020, 0x15c7a: 0x40312a20, 0x15c7b: 0x4003fc20,\n\t0x15c7c: 0x40094820, 0x15c7d: 0x4003fe20, 0x15c7e: 0x40094c20, 0x15c7f: 0xa0000000,\n\t// Block 0x572, offset 0x15c80\n\t0x15c80: 0x402c1a20, 0x15c81: 0x002c2a88, 0x15c82: 0x002c3288, 0x15c83: 0x402c3220,\n\t0x15c84: 0x0031c488, 0x15c85: 0x4031c420, 0x15c86: 0x002ee2a3, 0x15c87: 0x002c4e88,\n\t0x15c88: 0x402c4e20, 0x15c89: 0x002c7288, 0x15c8a: 0x002c7a88, 0x15c8b: 0x002c8488,\n\t0x15c8c: 0x402c8420, 0x15c8d: 0xe000115c, 0x15c8e: 0x002cae88, 0x15c8f: 0x002cb888,\n\t0x15c90: 0x002c9a83, 0x15c91: 0x002d1688, 0x15c92: 0x402d1620, 0x15c93: 0x002d4488,\n\t0x15c94: 0x002d5888, 0x15c95: 0x402d7820, 0x15c96: 0x002dc288, 0x15c97: 0x002db688,\n\t0x15c98: 0x002e0a88, 0x15c99: 0x402e0a20, 0x15c9a: 0x402e3820, 0x15c9b: 0x402e7220,\n\t0x15c9c: 0x0030a088, 0x15c9d: 0x002eb488, 0x15c9e: 0x402ebc20, 0x15c9f: 0x002f1088,\n\t0x15ca0: 0xe0000e56, 0x15ca1: 0xe0000e53, 0x15ca2: 0x002d6088, 0x15ca3: 0x402d6020,\n\t0x15ca4: 0x002f3e88, 0x15ca5: 0x402f3e20, 0x15ca6: 0x002f8288, 0x15ca7: 0x0031b488,\n\t0x15ca8: 0x4031b420, 0x15ca9: 0x00300888, 0x15caa: 0x40301220, 0x15cab: 0x40304220,\n\t0x15cac: 0x00304a88, 0x15cad: 0x40304a20, 0x15cae: 0x00305288, 0x15caf: 0xe000105f,\n\t0x15cb0: 0xe000105c, 0x15cb1: 0x0030b488, 0x15cb2: 0x0030cc88, 0x15cb3: 0x00311888,\n\t0x15cb4: 0x40311820, 0x15cb5: 0x00313488, 0x15cb6: 0x40313420, 0x15cb7: 0x00316488,\n\t0x15cb8: 0x00316e88, 0x15cb9: 0x40316e20, 0x15cba: 0x40317820, 0x15cbb: 0x4031a620,\n\t0x15cbc: 0x0031bc88, 0x15cbd: 0x4031bc20, 0x15cbe: 0xe0000fc9, 0x15cbf: 0x40319420,\n\t// Block 0x573, offset 0x15cc0\n\t0x15cc0: 0x40315820, 0x15cc1: 0x0031d488, 0x15cc2: 0x4031d420, 0x15cc3: 0x002c1a88,\n\t0x15cc4: 0x00307c88, 0x15cc5: 0x0030da88, 0x15cc6: 0x002ca288, 0x15cc7: 0x402ca220,\n\t0x15cc8: 0x002dde88, 0x15cc9: 0x402dde20, 0x15cca: 0x002f6a88, 0x15ccb: 0x402f6a20,\n\t0x15ccc: 0x002f8e88, 0x15ccd: 0x402f8e20, 0x15cce: 0x00311088, 0x15ccf: 0x40311020,\n\t0x15cd0: 0x402bf020, 0x15cd1: 0x402bf820, 0x15cd2: 0x402c0220, 0x15cd3: 0x402c2a20,\n\t0x15cd4: 0x402ee221, 0x15cd5: 0x402c5620, 0x15cd6: 0x402c7220, 0x15cd7: 0x402c7a20,\n\t0x15cd8: 0x402ccc20, 0x15cd9: 0x402cb820, 0x15cda: 0x402cd420, 0x15cdb: 0x402c9a20,\n\t0x15cdc: 0x402cdc20, 0x15cdd: 0x402ce820, 0x15cde: 0x402cf020, 0x15cdf: 0x402dee20,\n\t0x15ce0: 0x402d4420, 0x15ce1: 0x402d2a20, 0x15ce2: 0x402d3220, 0x15ce3: 0x402d5820,\n\t0x15ce4: 0x402d0020, 0x15ce5: 0x40308820, 0x15ce6: 0x402d8020, 0x15ce7: 0x402d8e20,\n\t0x15ce8: 0x402db620, 0x15ce9: 0x402dc220, 0x15cea: 0x402daa20, 0x15ceb: 0x402e4220,\n\t0x15cec: 0x402e4a20, 0x15ced: 0x402e5420, 0x15cee: 0x402e6820, 0x15cef: 0x4030a020,\n\t0x15cf0: 0x4030ac20, 0x15cf1: 0x402e9020, 0x15cf2: 0x402eb420, 0x15cf3: 0x402ec820,\n\t0x15cf4: 0x402ea620, 0x15cf5: 0x402f1020, 0x15cf6: 0x402eee20, 0x15cf7: 0x402f1a20,\n\t0x15cf8: 0x402f4c20, 0x15cf9: 0x402f9820, 0x15cfa: 0x402fa220, 0x15cfb: 0x402fac20,\n\t0x15cfc: 0x402fb620, 0x15cfd: 0x402fbe20, 0x15cfe: 0x402fc620, 0x15cff: 0x402fd020,\n\t// Block 0x574, offset 0x15d00\n\t0x15d00: 0xa0000000, 0x15d01: 0xa0000000, 0x15d02: 0xa0000000, 0x15d03: 0xa0000000,\n\t0x15d04: 0xa0000000, 0x15d05: 0xa0000000, 0x15d06: 0xa0000000, 0x15d07: 0xa0000000,\n\t0x15d08: 0xa0000000, 0x15d09: 0x40020020, 0x15d0a: 0x40020220, 0x15d0b: 0x40020420,\n\t0x15d0c: 0x40020620, 0x15d0d: 0x40020820, 0x15d0e: 0xa0000000, 0x15d0f: 0xa0000000,\n\t0x15d10: 0xa0000000, 0x15d11: 0xa0000000, 0x15d12: 0xa0000000, 0x15d13: 0xa0000000,\n\t0x15d14: 0xa0000000, 0x15d15: 0xa0000000, 0x15d16: 0xa0000000, 0x15d17: 0xa0000000,\n\t0x15d18: 0xa0000000, 0x15d19: 0xa0000000, 0x15d1a: 0xa0000000, 0x15d1b: 0xa0000000,\n\t0x15d1c: 0xa0000000, 0x15d1d: 0xa0000000, 0x15d1e: 0xa0000000, 0x15d1f: 0xa0000000,\n\t0x15d20: 0x40021220, 0x15d21: 0x4002ba20, 0x15d22: 0x4003e020, 0x15d23: 0x4004ea20,\n\t0x15d24: 0x4027de20, 0x15d25: 0x4004ec20, 0x15d26: 0x4004e620, 0x15d27: 0x4003d220,\n\t0x15d28: 0x4003f420, 0x15d29: 0x4003f620, 0x15d2a: 0x4004d820, 0x15d2b: 0x40093820,\n\t0x15d2c: 0x40024020, 0x15d2d: 0x40021a20, 0x15d2e: 0x4002e420, 0x15d2f: 0x4004e220,\n\t0x15d30: 0x4029cc20, 0x15d31: 0x4029ce20, 0x15d32: 0x4029d020, 0x15d33: 0x4029d220,\n\t0x15d34: 0x4029d420, 0x15d35: 0x4029d620, 0x15d36: 0x4029d820, 0x15d37: 0x4029da20,\n\t0x15d38: 0x4029dc20, 0x15d39: 0x4029de20, 0x15d3a: 0x40026c20, 0x15d3b: 0x40026220,\n\t0x15d3c: 0x40094020, 0x15d3d: 0x40094220, 0x15d3e: 0x40094420, 0x15d3f: 0x4002c420,\n\t// Block 0x575, offset 0x15d40\n\t0x15d40: 0x4004d620, 0x15d41: 0xcb030be1, 0x15d42: 0x002c0a88, 0x15d43: 0xc3350991,\n\t0x15d44: 0x002c6288, 0x15d45: 0xcb083ea1, 0x15d46: 0x002d0888, 0x15d47: 0x002d2288,\n\t0x15d48: 0x002d6888, 0x15d49: 0xcb0d0be1, 0x15d4a: 0x002dcc88, 0x15d4b: 0x002dfe88,\n\t0x15d4c: 0xc0030002, 0x15d4d: 0x002e8288, 0x15d4e: 0x002e9e88, 0x15d4f: 0x002ee288,\n\t0x15d50: 0x002f2c88, 0x15d51: 0x002f5688, 0x15d52: 0x002f7a88, 0x15d53: 0xc3430991,\n\t0x15d54: 0x00302c88, 0x15d55: 0xcb123ed1, 0x15d56: 0x0030be88, 0x15d57: 0x0030e288,\n\t0x15d58: 0x0030f688, 0x15d59: 0x002d9ac3, 0x15d5a: 0xc3630991, 0x15d5b: 0x4003f820,\n\t0x15d5c: 0x4004e420, 0x15d5d: 0x4003fa20, 0x15d5e: 0x40062420, 0x15d5f: 0x40021620,\n\t0x15d60: 0x40061e20, 0x15d61: 0xcb010be1, 0x15d62: 0x402c0a20, 0x15d63: 0xc3330991,\n\t0x15d64: 0x402c6220, 0x15d65: 0xcb053ea1, 0x15d66: 0x402d0820, 0x15d67: 0x402d2220,\n\t0x15d68: 0x402d6820, 0x15d69: 0xcb0b0be1, 0x15d6a: 0x402dcc20, 0x15d6b: 0x402dfe20,\n\t0x15d6c: 0xc0000002, 0x15d6d: 0x402e8220, 0x15d6e: 0x402e9e20, 0x15d6f: 0x402ee220,\n\t0x15d70: 0x402f2c20, 0x15d71: 0x402f5620, 0x15d72: 0x402f7a20, 0x15d73: 0xc3410991,\n\t0x15d74: 0x40302c20, 0x15d75: 0xcb0f3ed1, 0x15d76: 0x4030be20, 0x15d77: 0x4030e220,\n\t0x15d78: 0x4030f620, 0x15d79: 0x402d9a22, 0x15d7a: 0xc3610991, 0x15d7b: 0x4003fc20,\n\t0x15d7c: 0x40094820, 0x15d7d: 0x4003fe20, 0x15d7e: 0x40094c20, 0x15d7f: 0xa0000000,\n\t// Block 0x576, offset 0x15d80\n\t0x15d80: 0xe00008f5, 0x15d81: 0xe00008ef, 0x15d82: 0xe0000921, 0x15d83: 0xe0000969,\n\t0x15d84: 0xe000095b, 0x15d85: 0xe000094d, 0x15d86: 0xe00009dd, 0x15d87: 0xe0000a53,\n\t0x15d88: 0xe0000ae8, 0x15d89: 0xe0000ae2, 0x15d8a: 0xe0000af4, 0x15d8b: 0xe0000b20,\n\t0x15d8c: 0xe0000c2b, 0x15d8d: 0xe0000c25, 0x15d8e: 0xe0000c37, 0x15d8f: 0xe0000c43,\n\t0x15d90: 0xe0000ab3, 0x15d91: 0xe0000d63, 0x15d92: 0xe0000d9a, 0x15d93: 0xe0000d94,\n\t0x15d94: 0xe0000da6, 0x15d95: 0xe0000de6, 0x15d96: 0xe0000dd2, 0x15d97: 0x40093e20,\n\t0x15d98: 0xe0000e12, 0x15d99: 0xe0000fe1, 0x15d9a: 0xe0000fdb, 0x15d9b: 0xe0000fed,\n\t0x15d9c: 0xe0000fff, 0x15d9d: 0xe000a99a, 0x15d9e: 0x00318888, 0x15d9f: 0xe0000f7b,\n\t0x15da0: 0xe00008f2, 0x15da1: 0xe00008ec, 0x15da2: 0xe000091e, 0x15da3: 0xe0000966,\n\t0x15da4: 0xe0000958, 0x15da5: 0xe000094a, 0x15da6: 0xe00009d5, 0x15da7: 0xe0000a4d,\n\t0x15da8: 0xe0000ae5, 0x15da9: 0xe0000adf, 0x15daa: 0xe0000af1, 0x15dab: 0xe0000b1d,\n\t0x15dac: 0xe0000c28, 0x15dad: 0xe0000c22, 0x15dae: 0xe0000c34, 0x15daf: 0xe0000c40,\n\t0x15db0: 0xe0000aad, 0x15db1: 0xe0000d60, 0x15db2: 0xe0000d97, 0x15db3: 0xe0000d91,\n\t0x15db4: 0xe0000da3, 0x15db5: 0xe0000de3, 0x15db6: 0xe0000dcf, 0x15db7: 0x40093c20,\n\t0x15db8: 0xe0000e0f, 0x15db9: 0xe0000fde, 0x15dba: 0xe0000fd8, 0x15dbb: 0xe0000fea,\n\t0x15dbc: 0xe0000ffc, 0x15dbd: 0xe000a997, 0x15dbe: 0x40318820, 0x15dbf: 0xe000a9ac,\n\t// Block 0x577, offset 0x15dc0\n\t0x15dc0: 0xe0000983, 0x15dc1: 0xe0000980, 0x15dc2: 0xe00008fb, 0x15dc3: 0xe00008f8,\n\t0x15dc4: 0x002bdea3, 0x15dc5: 0x402bde21, 0x15dc6: 0xe0000a38, 0x15dc7: 0xe0000a35,\n\t0x15dc8: 0xe0000a3e, 0x15dc9: 0xe0000a3b, 0x15dca: 0xe0000a4a, 0x15dcb: 0xe0000a47,\n\t0x15dcc: 0x002c3c83, 0x15dcd: 0x402c3c20, 0x15dce: 0xe0000a86, 0x15dcf: 0xe0000a83,\n\t0x15dd0: 0xe0000aaa, 0x15dd1: 0xe0000aa7, 0x15dd2: 0xe0000b46, 0x15dd3: 0xe0000b43,\n\t0x15dd4: 0xe0000aee, 0x15dd5: 0xe0000aeb, 0x15dd6: 0x002c98c3, 0x15dd7: 0x402c9822,\n\t0x15dd8: 0x002c98a3, 0x15dd9: 0x402c9821, 0x15dda: 0xe0000b1a, 0x15ddb: 0xe0000b17,\n\t0x15ddc: 0xe0000bb8, 0x15ddd: 0xe0000bb5, 0x15dde: 0xe0000bb2, 0x15ddf: 0xe0000baf,\n\t0x15de0: 0xe0000bc4, 0x15de1: 0xe0000bc1, 0x15de2: 0xe0000bca, 0x15de3: 0xe0000bc7,\n\t0x15de4: 0xe0000bee, 0x15de5: 0xe0000beb, 0x15de6: 0xe0000c1b, 0x15de7: 0xe0000c18,\n\t0x15de8: 0xe0000c51, 0x15de9: 0xe0000c4e, 0x15dea: 0xe0000c60, 0x15deb: 0xe0000c5d,\n\t0x15dec: 0xe0000c31, 0x15ded: 0xe0000c2e, 0x15dee: 0x002d9aa3, 0x15def: 0x402d9a21,\n\t0x15df0: 0xe0000c54, 0x15df1: 0x402da220, 0x15df2: 0xf0000a0a, 0x15df3: 0xf0000404,\n\t0x15df4: 0xe0000c8a, 0x15df5: 0xe0000c87, 0x15df6: 0xe0000c9f, 0x15df7: 0xe0000c9c,\n\t0x15df8: 0x402f7220, 0x15df9: 0xe0000ccc, 0x15dfa: 0xe0000cc9, 0x15dfb: 0xe0000cd8,\n\t0x15dfc: 0xe0000cd5, 0x15dfd: 0xe0000cd2, 0x15dfe: 0xe0000ccf, 0x15dff: 0xe0000d04,\n\t// Block 0x578, offset 0x15e00\n\t0x15e00: 0xe0000cfe, 0x15e01: 0xe0000cf8, 0x15e02: 0xe0000cf5, 0x15e03: 0xe0000d51,\n\t0x15e04: 0xe0000d4e, 0x15e05: 0xe0000d6f, 0x15e06: 0xe0000d6c, 0x15e07: 0xe0000d5d,\n\t0x15e08: 0xe0000d5a, 0x15e09: 0xf0000404, 0x15e0a: 0x002eda88, 0x15e0b: 0x402eda20,\n\t0x15e0c: 0xe0000e2e, 0x15e0d: 0xe0000e2b, 0x15e0e: 0xe0000da0, 0x15e0f: 0xe0000d9d,\n\t0x15e10: 0xe0000de0, 0x15e11: 0xe0000ddd, 0x15e12: 0xe0000e93, 0x15e13: 0xe0000e8f,\n\t0x15e14: 0xe0000eca, 0x15e15: 0xe0000ec7, 0x15e16: 0xe0000edc, 0x15e17: 0xe0000ed9,\n\t0x15e18: 0xe0000ed0, 0x15e19: 0xe0000ecd, 0x15e1a: 0xe0000f1f, 0x15e1b: 0xe0000f1c,\n\t0x15e1c: 0xe0000f2d, 0x15e1d: 0xe0000f2a, 0x15e1e: 0xe0000f47, 0x15e1f: 0xe0000f44,\n\t0x15e20: 0x002fe883, 0x15e21: 0x402fe820, 0x15e22: 0xe0000f99, 0x15e23: 0xe0000f96,\n\t0x15e24: 0xe0000f8a, 0x15e25: 0xe0000f87, 0x15e26: 0x00303688, 0x15e27: 0x40303620,\n\t0x15e28: 0xe000102b, 0x15e29: 0xe0001028, 0x15e2a: 0x00306cc3, 0x15e2b: 0x40306c22,\n\t0x15e2c: 0xe0000fe7, 0x15e2d: 0xe0000fe4, 0x15e2e: 0xe0000ff9, 0x15e2f: 0xe0000ff6,\n\t0x15e30: 0xe0001025, 0x15e31: 0xe0001022, 0x15e32: 0x00306ca3, 0x15e33: 0x40306c21,\n\t0x15e34: 0xe00010d8, 0x15e35: 0xe00010d5, 0x15e36: 0xe000a9a6, 0x15e37: 0xe000a9a3,\n\t0x15e38: 0xe000a9af, 0x15e39: 0xe000113b, 0x15e3a: 0xe0001138, 0x15e3b: 0xe000114d,\n\t0x15e3c: 0xe000114a, 0x15e3d: 0x00312c83, 0x15e3e: 0x40312c20, 0x15e3f: 0xe0000f64,\n\t// Block 0x579, offset 0x15e40\n\t0x15e40: 0x40321220, 0x15e41: 0x40321a20, 0x15e42: 0x40322220, 0x15e43: 0x40322a20,\n\t0x15e44: 0xe0000ad5, 0x15e45: 0xe0000ad1, 0x15e46: 0xe0000acd, 0x15e47: 0xf0000a0a,\n\t0x15e48: 0xf000040a, 0x15e49: 0xf0000404, 0x15e4a: 0xf0000a0a, 0x15e4b: 0xf000040a,\n\t0x15e4c: 0xf0000404, 0x15e4d: 0xe0000947, 0x15e4e: 0xe0000944, 0x15e4f: 0xe0000c3d,\n\t0x15e50: 0xe0000c3a, 0x15e51: 0xe0000dcc, 0x15e52: 0xe0000dc9, 0x15e53: 0xe0000ff3,\n\t0x15e54: 0xe0000ff0, 0x15e55: 0xe000a9d3, 0x15e56: 0xe000a9d0, 0x15e57: 0xe0001006,\n\t0x15e58: 0xe0001002, 0x15e59: 0xe0001016, 0x15e5a: 0xe0001012, 0x15e5b: 0xe000100e,\n\t0x15e5c: 0xe000100a, 0x15e5d: 0x402cae20, 0x15e5e: 0xe0000962, 0x15e5f: 0xe000095e,\n\t0x15e60: 0xe0000976, 0x15e61: 0xe0000972, 0x15e62: 0xe00009f4, 0x15e63: 0xe00009ef,\n\t0x15e64: 0x002d3a88, 0x15e65: 0x402d3a20, 0x15e66: 0xe0000bbe, 0x15e67: 0xe0000bbb,\n\t0x15e68: 0xe0000c99, 0x15e69: 0xe0000c96, 0x15e6a: 0xe0000e20, 0x15e6b: 0xe0000e1d,\n\t0x15e6c: 0xe0000e27, 0x15e6d: 0xe0000e23, 0x15e6e: 0xe0001162, 0x15e6f: 0xe000115f,\n\t0x15e70: 0xe0000c8d, 0x15e71: 0xf0000a0a, 0x15e72: 0xf000040a, 0x15e73: 0xf0000404,\n\t0x15e74: 0xe0000bac, 0x15e75: 0xe0000ba9, 0x15e76: 0x002d7888, 0x15e77: 0x00319488,\n\t0x15e78: 0xe0000d57, 0x15e79: 0xe0000d54, 0x15e7a: 0xe0000954, 0x15e7b: 0xe0000950,\n\t0x15e7c: 0xe00009ea, 0x15e7d: 0xe00009e5, 0x15e7e: 0xe0000e19, 0x15e7f: 0xe0000e15,\n\t// Block 0x57a, offset 0x15e80\n\t0x15e80: 0xe000098f, 0x15e81: 0xe000098c, 0x15e82: 0xe0000995, 0x15e83: 0xe0000992,\n\t0x15e84: 0xe0000b62, 0x15e85: 0xe0000b5f, 0x15e86: 0xe0000b68, 0x15e87: 0xe0000b65,\n\t0x15e88: 0xe0000c6c, 0x15e89: 0xe0000c69, 0x15e8a: 0xe0000c72, 0x15e8b: 0xe0000c6f,\n\t0x15e8c: 0xe0000e4a, 0x15e8d: 0xe0000e47, 0x15e8e: 0xe0000e50, 0x15e8f: 0xe0000e4d,\n\t0x15e90: 0xe0000ee8, 0x15e91: 0xe0000ee5, 0x15e92: 0xe0000eee, 0x15e93: 0xe0000eeb,\n\t0x15e94: 0xe0001053, 0x15e95: 0xe0001050, 0x15e96: 0xe0001059, 0x15e97: 0xe0001056,\n\t0x15e98: 0xe0000f61, 0x15e99: 0xe0000f5e, 0x15e9a: 0xe0000fa5, 0x15e9b: 0xe0000fa2,\n\t0x15e9c: 0x00312288, 0x15e9d: 0x40312220, 0x15e9e: 0xe0000bf4, 0x15e9f: 0xe0000bf1,\n\t0x15ea0: 0x002ebc88, 0x15ea1: 0x402c8c20, 0x15ea2: 0x002f2288, 0x15ea3: 0x402f2220,\n\t0x15ea4: 0x00314088, 0x15ea5: 0x40314020, 0x15ea6: 0xe000096f, 0x15ea7: 0xe000096c,\n\t0x15ea8: 0xe0000b32, 0x15ea9: 0xe0000b2f, 0x15eaa: 0xe0000dd9, 0x15eab: 0xe0000dd5,\n\t0x15eac: 0xe0000dfd, 0x15ead: 0xe0000df9, 0x15eae: 0xe0000e04, 0x15eaf: 0xe0000e01,\n\t0x15eb0: 0xe0000e0b, 0x15eb1: 0xe0000e07, 0x15eb2: 0xe000a9c1, 0x15eb3: 0xe000a9be,\n\t0x15eb4: 0x402e5e20, 0x15eb5: 0x402ed020, 0x15eb6: 0x40305a20, 0x15eb7: 0x402dd420,\n\t0x15eb8: 0xe0000abf, 0x15eb9: 0xe0000ec4, 0x15eba: 0x002be888, 0x15ebb: 0x002c4488,\n\t0x15ebc: 0x402c4420, 0x15ebd: 0x002e3888, 0x15ebe: 0x00303e88, 0x15ebf: 0x402ffc20,\n\t// Block 0x57b, offset 0x15ec0\n\t0x15ec0: 0xae603502, 0x15ec1: 0xae603202, 0x15ec2: 0xae603c02, 0x15ec3: 0xae604e02,\n\t0x15ec4: 0xae605b02, 0x15ec5: 0xae606302, 0x15ec6: 0xae603702, 0x15ec7: 0xcafd3e71,\n\t0x15ec8: 0xae604702, 0x15ec9: 0xae606402, 0x15eca: 0xae604302, 0x15ecb: 0xae604d02,\n\t0x15ecc: 0xae604102, 0x15ecd: 0xae605f02, 0x15ece: 0xae605f02, 0x15ecf: 0xae606502,\n\t0x15ed0: 0xae606602, 0x15ed1: 0xae606702, 0x15ed2: 0xae605f02, 0x15ed3: 0xae602202,\n\t0x15ed4: 0xae602a02, 0x15ed5: 0xae805f02, 0x15ed6: 0xadc06002, 0x15ed7: 0xadc06002,\n\t0x15ed8: 0xadc06002, 0x15ed9: 0xadc06002, 0x15eda: 0xae805f02, 0x15edb: 0xad806802,\n\t0x15edc: 0xadc06002, 0x15edd: 0xadc06002, 0x15ede: 0xadc06002, 0x15edf: 0xadc06002,\n\t0x15ee0: 0xadc06002, 0x15ee1: 0xaca06e02, 0x15ee2: 0xaca06f02, 0x15ee3: 0xadc07002,\n\t0x15ee4: 0xadc07502, 0x15ee5: 0xadc07602, 0x15ee6: 0xadc07702, 0x15ee7: 0xaca05602,\n\t0x15ee8: 0xaca05902, 0x15ee9: 0xadc06002, 0x15eea: 0xadc06002, 0x15eeb: 0xadc06002,\n\t0x15eec: 0xadc06002, 0x15eed: 0xadc07802, 0x15eee: 0xadc07902, 0x15eef: 0xadc06002,\n\t0x15ef0: 0xadc07a02, 0x15ef1: 0xadc07b02, 0x15ef2: 0xadc02102, 0x15ef3: 0xadc06002,\n\t0x15ef4: 0xa0107c02, 0x15ef5: 0xa0107d02, 0x15ef6: 0xa0106102, 0x15ef7: 0xa0106102,\n\t0x15ef8: 0xa0105402, 0x15ef9: 0xadc07e02, 0x15efa: 0xadc06002, 0x15efb: 0xadc06002,\n\t0x15efc: 0xadc06002, 0x15efd: 0xae605f02, 0x15efe: 0xae605f02, 0x15eff: 0xae605f02,\n\t// Block 0x57c, offset 0x15f00\n\t0x15f00: 0xe0000d24, 0x15f01: 0xe0000d21, 0x15f02: 0xe0000d2a, 0x15f03: 0xe0000d27,\n\t0x15f04: 0xe0000d69, 0x15f05: 0xe0000d66, 0x15f06: 0xe0000d7b, 0x15f07: 0xe0000d78,\n\t0x15f08: 0xe0000d87, 0x15f09: 0xe0000d84, 0x15f0a: 0xe0000d81, 0x15f0b: 0xe0000d7e,\n\t0x15f0c: 0xe0000ded, 0x15f0d: 0xe0000de9, 0x15f0e: 0xe0000df5, 0x15f0f: 0xe0000df1,\n\t0x15f10: 0xe0000e3d, 0x15f11: 0xe0000e39, 0x15f12: 0xe0000e35, 0x15f13: 0xe0000e31,\n\t0x15f14: 0xe0000ea7, 0x15f15: 0xe0000ea4, 0x15f16: 0xe0000ead, 0x15f17: 0xe0000eaa,\n\t0x15f18: 0xe0000ed6, 0x15f19: 0xe0000ed3, 0x15f1a: 0xe0000ef4, 0x15f1b: 0xe0000ef1,\n\t0x15f1c: 0xe0000efb, 0x15f1d: 0xe0000ef7, 0x15f1e: 0xe0000f02, 0x15f1f: 0xe0000eff,\n\t0x15f20: 0xe0000f41, 0x15f21: 0xe0000f3e, 0x15f22: 0xe0000f53, 0x15f23: 0xe0000f50,\n\t0x15f24: 0xe0000f26, 0x15f25: 0xe0000f22, 0x15f26: 0xe000296a, 0x15f27: 0xe0002967,\n\t0x15f28: 0xe0000f5a, 0x15f29: 0xe0000f56, 0x15f2a: 0xe0000f93, 0x15f2b: 0xe0000f90,\n\t0x15f2c: 0xe0000f9f, 0x15f2d: 0xe0000f9c, 0x15f2e: 0xe0000fb1, 0x15f2f: 0xe0000fae,\n\t0x15f30: 0xe0000fab, 0x15f31: 0xe0000fa8, 0x15f32: 0xe0001093, 0x15f33: 0xe0001090,\n\t0x15f34: 0xe000109f, 0x15f35: 0xe000109c, 0x15f36: 0xe0001099, 0x15f37: 0xe0001096,\n\t0x15f38: 0xe0001032, 0x15f39: 0xe000102e, 0x15f3a: 0xe000a9d3, 0x15f3b: 0xe000a9d0,\n\t0x15f3c: 0xe00010a9, 0x15f3d: 0xe00010a6, 0x15f3e: 0xe00010af, 0x15f3f: 0xe00010ac,\n\t// Block 0x57d, offset 0x15f40\n\t0x15f40: 0xe00010d2, 0x15f41: 0xe00010cf, 0x15f42: 0xe00010cc, 0x15f43: 0xe00010c9,\n\t0x15f44: 0xe00010e1, 0x15f45: 0xe00010de, 0x15f46: 0xe00010e7, 0x15f47: 0xe00010e4,\n\t0x15f48: 0xe00010ed, 0x15f49: 0xe00010ea, 0x15f4a: 0xe00010fc, 0x15f4b: 0xe00010f9,\n\t0x15f4c: 0xe00010f6, 0x15f4d: 0xe00010f3, 0x15f4e: 0xe000a9bb, 0x15f4f: 0xe000a9b8,\n\t0x15f50: 0xe0001141, 0x15f51: 0xe000113e, 0x15f52: 0xe0001153, 0x15f53: 0xe0001150,\n\t0x15f54: 0xe0001159, 0x15f55: 0xe0001156, 0x15f56: 0xe0000c15, 0x15f57: 0xe0000f8d,\n\t0x15f58: 0xe00010db, 0x15f59: 0xe000a9a9, 0x15f5a: 0xf0000404, 0x15f5b: 0xe0000f70,\n\t0x15f5c: 0x40300420, 0x15f5d: 0x40300620, 0x15f5e: 0xe0000f7f, 0x15f5f: 0x402c9620,\n\t0x15f60: 0xe000099b, 0x15f61: 0xe0000998, 0x15f62: 0xe0000989, 0x15f63: 0xe0000986,\n\t0x15f64: 0xe0000928, 0x15f65: 0xe0000924, 0x15f66: 0xe0000930, 0x15f67: 0xe000092c,\n\t0x15f68: 0xe0000940, 0x15f69: 0xe000093c, 0x15f6a: 0xe0000938, 0x15f6b: 0xe0000934,\n\t0x15f6c: 0xe00009aa, 0x15f6d: 0xe00009a6, 0x15f6e: 0xe0000902, 0x15f6f: 0xe00008fe,\n\t0x15f70: 0xe000090a, 0x15f71: 0xe0000906, 0x15f72: 0xe000091a, 0x15f73: 0xe0000916,\n\t0x15f74: 0xe0000912, 0x15f75: 0xe000090e, 0x15f76: 0xe00009a2, 0x15f77: 0xe000099e,\n\t0x15f78: 0xe0000b6e, 0x15f79: 0xe0000b6b, 0x15f7a: 0xe0000b5c, 0x15f7b: 0xe0000b59,\n\t0x15f7c: 0xe0000b26, 0x15f7d: 0xe0000b23, 0x15f7e: 0xe0000afb, 0x15f7f: 0xe0000af7,\n\t// Block 0x57e, offset 0x15f80\n\t0x15f80: 0xe0000b03, 0x15f81: 0xe0000aff, 0x15f82: 0xe0000b13, 0x15f83: 0xe0000b0f,\n\t0x15f84: 0xe0000b0b, 0x15f85: 0xe0000b07, 0x15f86: 0xe0000b75, 0x15f87: 0xe0000b71,\n\t0x15f88: 0xe0000c66, 0x15f89: 0xe0000c63, 0x15f8a: 0xe0000c78, 0x15f8b: 0xe0000c75,\n\t0x15f8c: 0xe0000e84, 0x15f8d: 0xe0000e81, 0x15f8e: 0xe0000e44, 0x15f8f: 0xe0000e41,\n\t0x15f90: 0xe0000dad, 0x15f91: 0xe0000da9, 0x15f92: 0xe0000db5, 0x15f93: 0xe0000db1,\n\t0x15f94: 0xe0000dc5, 0x15f95: 0xe0000dc1, 0x15f96: 0xe0000dbd, 0x15f97: 0xe0000db9,\n\t0x15f98: 0xe0000e8b, 0x15f99: 0xe0000e87, 0x15f9a: 0xe0000e5d, 0x15f9b: 0xe0000e59,\n\t0x15f9c: 0xe0000e65, 0x15f9d: 0xe0000e61, 0x15f9e: 0xe0000e75, 0x15f9f: 0xe0000e71,\n\t0x15fa0: 0xe0000e6d, 0x15fa1: 0xe0000e69, 0x15fa2: 0xe0000e7d, 0x15fa3: 0xe0000e79,\n\t0x15fa4: 0xe000108d, 0x15fa5: 0xe000108a, 0x15fa6: 0xe000104d, 0x15fa7: 0xe000104a,\n\t0x15fa8: 0xe0001066, 0x15fa9: 0xe0001062, 0x15faa: 0xe000106e, 0x15fab: 0xe000106a,\n\t0x15fac: 0xe000107e, 0x15fad: 0xe000107a, 0x15fae: 0xe0001076, 0x15faf: 0xe0001072,\n\t0x15fb0: 0xe0001086, 0x15fb1: 0xe0001082, 0x15fb2: 0xe000a9a0, 0x15fb3: 0xe000a99d,\n\t0x15fb4: 0xe000a9cd, 0x15fb5: 0xe000a9ca, 0x15fb6: 0xe000a9c7, 0x15fb7: 0xe000a9c4,\n\t0x15fb8: 0xe000a9b5, 0x15fb9: 0xe000a9b2, 0x15fba: 0xe0000d0a, 0x15fbb: 0xe0000d07,\n\t0x15fbc: 0x0030d888, 0x15fbd: 0x4030d820, 0x15fbe: 0x00312088, 0x15fbf: 0x40312020,\n\t// Block 0x57f, offset 0x15fc0\n\t0x15fc0: 0xe0000024, 0x15fc1: 0xe0000029, 0x15fc2: 0xe000002e, 0x15fc3: 0xe0000033,\n\t0x15fc4: 0xe0000038, 0x15fc5: 0xe000003d, 0x15fc6: 0xe0000042, 0x15fc7: 0xe0000047,\n\t0x15fc8: 0xf0001f04, 0x15fc9: 0xf0001f04, 0x15fca: 0xf0001f04, 0x15fcb: 0xf0001f04,\n\t0x15fcc: 0xf0001f04, 0x15fcd: 0xf0001f04, 0x15fce: 0xf0001f04, 0x15fcf: 0xf0001f04,\n\t0x15fd0: 0xf0001f04, 0x15fd1: 0xf0000404, 0x15fd2: 0xf0000404, 0x15fd3: 0xf0000404,\n\t0x15fd4: 0xf0000404, 0x15fd5: 0xf0000404, 0x15fd6: 0xf0000404, 0x15fd7: 0xf0000404,\n\t0x15fd8: 0xf0000404, 0x15fd9: 0xf0000404, 0x15fda: 0xf0000404, 0x15fdb: 0xf0000404,\n\t0x15fdc: 0xf0000404, 0x15fdd: 0xf0000404, 0x15fde: 0xf0000404, 0x15fdf: 0xf0000404,\n\t0x15fe0: 0xf0000404, 0x15fe1: 0xf0000404, 0x15fe2: 0xf0000404, 0x15fe3: 0xf0000404,\n\t0x15fe4: 0xf0000404, 0x15fe5: 0xf0000404, 0x15fe6: 0xf0000404, 0x15fe7: 0xf0000404,\n\t0x15fe8: 0xf0000404, 0x15fe9: 0xf0000404, 0x15fea: 0xf0000404, 0x15feb: 0xf0000404,\n\t0x15fec: 0xf0000404, 0x15fed: 0xf0000404, 0x15fee: 0xf0000404, 0x15fef: 0xf0000404,\n\t0x15ff0: 0xf0000404, 0x15ff1: 0xf0000404, 0x15ff2: 0xf0000404, 0x15ff3: 0xf0000404,\n\t0x15ff4: 0xe0002c4e, 0x15ff5: 0xf0000404, 0x15ff6: 0x002bde8c, 0x15ff7: 0x002c0a8c,\n\t0x15ff8: 0x002c3a8c, 0x15ff9: 0x002c628c, 0x15ffa: 0x002c988c, 0x15ffb: 0x002d088c,\n\t0x15ffc: 0x002d228c, 0x15ffd: 0x002d688c, 0x15ffe: 0x002d9a8c, 0x15fff: 0x002dcc8c,\n\t// Block 0x580, offset 0x16000\n\t0x16000: 0xf0001d1c, 0x16001: 0xf0001d1d, 0x16002: 0xe00009b7, 0x16003: 0xf0001c1d,\n\t0x16004: 0xf0001c1c, 0x16005: 0xf0001c1c, 0x16006: 0xe0000a66, 0x16007: 0xe0000a7a,\n\t0x16008: 0xf0001d1c, 0x16009: 0xe0003576, 0x1600a: 0xf0001c1c, 0x1600b: 0xf0001d1d,\n\t0x1600c: 0xf0001c1c, 0x1600d: 0xf0001d1d, 0x1600e: 0xf0001d1d, 0x1600f: 0xf0001c1c,\n\t0x16010: 0xf0001c1c, 0x16011: 0xf0001c1c, 0x16012: 0xe0000d0d, 0x16013: 0xf0001c1c,\n\t0x16014: 0xf0001c1c, 0x16015: 0xe0000d3a, 0x16016: 0xe0000d46, 0x16017: 0xf0001d1d,\n\t0x16018: 0xe0000eb0, 0x16019: 0xe0000eb8, 0x1601a: 0xf0001d1d, 0x1601b: 0xf0001c1c,\n\t0x1601c: 0xf0001c1d, 0x1601d: 0xf0001c1d, 0x1601e: 0xe00010b2, 0x1601f: 0xe00009c8,\n\t0x16020: 0xf0001f04, 0x16021: 0xf0001f04, 0x16022: 0xf0001f04, 0x16023: 0xf0001f04,\n\t0x16024: 0xf0001f04, 0x16025: 0xf0001f04, 0x16026: 0xf0001f04, 0x16027: 0xf0001f04,\n\t0x16028: 0xf0001f04, 0x16029: 0xf0000404, 0x1602a: 0xf0000404, 0x1602b: 0xf0000404,\n\t0x1602c: 0xf0000404, 0x1602d: 0xf0000404, 0x1602e: 0xf0000404, 0x1602f: 0xf0000404,\n\t0x16030: 0xf0000404, 0x16031: 0xf0000404, 0x16032: 0xf0000404, 0x16033: 0xf0000404,\n\t0x16034: 0xf0000404, 0x16035: 0xf0000404, 0x16036: 0xf0000404, 0x16037: 0xf0000404,\n\t0x16038: 0xf0000404, 0x16039: 0xf0000404, 0x1603a: 0xf0000404, 0x1603b: 0xf0000404,\n\t0x1603c: 0xf0000404, 0x1603d: 0xf0000404, 0x1603e: 0xf0000404, 0x1603f: 0xe0000bdf,\n\t// Block 0x581, offset 0x16040\n\t0x16040: 0xf0001f04, 0x16041: 0xf0001f04, 0x16042: 0xf0001f04, 0x16043: 0xf0001f04,\n\t0x16044: 0xf0001f04, 0x16045: 0xf0001f04, 0x16046: 0xf0001f04, 0x16047: 0xf0001f04,\n\t0x16048: 0xf0001f04, 0x16049: 0xf0001f04, 0x1604a: 0xf0001f04,\n\t0x16050: 0xf0000a04, 0x16051: 0xf0000a04, 0x16052: 0xf0000a04, 0x16053: 0xf0000a04,\n\t0x16054: 0xf0000a04, 0x16055: 0xf0000a04, 0x16056: 0xf0000a04, 0x16057: 0xf0000a04,\n\t0x16058: 0xf0000a04, 0x16059: 0xf0000a04, 0x1605a: 0xf0000a04, 0x1605b: 0xf0000a04,\n\t0x1605c: 0xf0000a04, 0x1605d: 0xf0000a04, 0x1605e: 0xf0000a04, 0x1605f: 0xf0000a04,\n\t0x16060: 0xf0000a04, 0x16061: 0xf0000a04, 0x16062: 0xf0000a04, 0x16063: 0xf0000a04,\n\t0x16064: 0xf0000a04, 0x16065: 0xf0000a04, 0x16066: 0xf0000a04, 0x16067: 0xf0000a04,\n\t0x16068: 0xe0002c52, 0x16069: 0xf0000a04, 0x1606a: 0xf0000a04, 0x1606b: 0x002c3a8c,\n\t0x1606c: 0x002f7a8c, 0x1606d: 0xf0000c0c, 0x1606e: 0xf0000c0c,\n\t0x16070: 0x002bde9d, 0x16071: 0x002c0a9d, 0x16072: 0x002c3a9d, 0x16073: 0x002c629d,\n\t0x16074: 0x002c989d, 0x16075: 0x002d089d, 0x16076: 0x002d229d, 0x16077: 0x002d689d,\n\t0x16078: 0x002d9a9d, 0x16079: 0x002dcc9d, 0x1607a: 0x002dfe9d, 0x1607b: 0x002e229d,\n\t0x1607c: 0x002e829d, 0x1607d: 0x002e9e9d, 0x1607e: 0x002ee29d, 0x1607f: 0x002f2c9d,\n\t// Block 0x582, offset 0x16080\n\t0x16080: 0xa0000000, 0x16081: 0xa0000000, 0x16082: 0xa0000000, 0x16083: 0xa0000000,\n\t0x16084: 0xa0000000, 0x16085: 0xa0000000, 0x16086: 0xa0000000, 0x16087: 0xa0000000,\n\t0x16088: 0xa0000000, 0x16089: 0x40020020, 0x1608a: 0x40020220, 0x1608b: 0x40020420,\n\t0x1608c: 0x40020620, 0x1608d: 0x40020820, 0x1608e: 0xa0000000, 0x1608f: 0xa0000000,\n\t0x16090: 0xa0000000, 0x16091: 0xa0000000, 0x16092: 0xa0000000, 0x16093: 0xa0000000,\n\t0x16094: 0xa0000000, 0x16095: 0xa0000000, 0x16096: 0xa0000000, 0x16097: 0xa0000000,\n\t0x16098: 0xa0000000, 0x16099: 0xa0000000, 0x1609a: 0xa0000000, 0x1609b: 0xa0000000,\n\t0x1609c: 0xa0000000, 0x1609d: 0xa0000000, 0x1609e: 0xa0000000, 0x1609f: 0xa0000000,\n\t0x160a0: 0x40021220, 0x160a1: 0x4002ba20, 0x160a2: 0x4003e020, 0x160a3: 0x4004ea20,\n\t0x160a4: 0x4027de20, 0x160a5: 0x4004ec20, 0x160a6: 0x4004e620, 0x160a7: 0x4003d220,\n\t0x160a8: 0x4003f420, 0x160a9: 0x4003f620, 0x160aa: 0x4004d820, 0x160ab: 0x40093820,\n\t0x160ac: 0x40024020, 0x160ad: 0x40021a20, 0x160ae: 0x4002e420, 0x160af: 0x4004e220,\n\t0x160b0: 0x4029cc20, 0x160b1: 0x4029ce20, 0x160b2: 0x4029d020, 0x160b3: 0x4029d220,\n\t0x160b4: 0x4029d420, 0x160b5: 0x4029d620, 0x160b6: 0x4029d820, 0x160b7: 0x4029da20,\n\t0x160b8: 0x4029dc20, 0x160b9: 0x4029de20, 0x160ba: 0x40026c20, 0x160bb: 0x40026220,\n\t0x160bc: 0x40094020, 0x160bd: 0x40094220, 0x160be: 0x40094420, 0x160bf: 0x4002c420,\n\t// Block 0x583, offset 0x160c0\n\t0x160c0: 0x4004d620, 0x160c1: 0x002bde88, 0x160c2: 0x002c0a88, 0x160c3: 0xcb170991,\n\t0x160c4: 0x002c6288, 0x160c5: 0x002c9888, 0x160c6: 0x002d0888, 0x160c7: 0xcb1b0911,\n\t0x160c8: 0x002d6888, 0x160c9: 0x002d9a88, 0x160ca: 0x002dcc88, 0x160cb: 0xcb1f0911,\n\t0x160cc: 0xcb253f03, 0x160cd: 0x002e8288, 0x160ce: 0xcb2b0911, 0x160cf: 0x002ee288,\n\t0x160d0: 0x002f2c88, 0x160d1: 0x002f5688, 0x160d2: 0xcb2f0911, 0x160d3: 0xcb330991,\n\t0x160d4: 0x00302c88, 0x160d5: 0x00306c88, 0x160d6: 0x0030be88, 0x160d7: 0x0030e288,\n\t0x160d8: 0x0030f688, 0x160d9: 0x00310088, 0x160da: 0xcb370991, 0x160db: 0x4003f820,\n\t0x160dc: 0x4004e420, 0x160dd: 0x4003fa20, 0x160de: 0x40062420, 0x160df: 0x40021620,\n\t0x160e0: 0x40061e20, 0x160e1: 0x402bde20, 0x160e2: 0x402c0a20, 0x160e3: 0xcb150991,\n\t0x160e4: 0x402c6220, 0x160e5: 0x402c9820, 0x160e6: 0x402d0820, 0x160e7: 0xcb190911,\n\t0x160e8: 0x402d6820, 0x160e9: 0x402d9a20, 0x160ea: 0x402dcc20, 0x160eb: 0xcb1d0911,\n\t0x160ec: 0xcb213f03, 0x160ed: 0x402e8220, 0x160ee: 0xcb290911, 0x160ef: 0x402ee220,\n\t0x160f0: 0x402f2c20, 0x160f1: 0x402f5620, 0x160f2: 0xcb2d0911, 0x160f3: 0xcb310991,\n\t0x160f4: 0x40302c20, 0x160f5: 0x40306c20, 0x160f6: 0x4030be20, 0x160f7: 0x4030e220,\n\t0x160f8: 0x4030f620, 0x160f9: 0x40310020, 0x160fa: 0xcb350991, 0x160fb: 0x4003fc20,\n\t0x160fc: 0x40094820, 0x160fd: 0x4003fe20, 0x160fe: 0x40094c20, 0x160ff: 0xa0000000,\n\t// Block 0x584, offset 0x16100\n\t0x16100: 0xe0000983, 0x16101: 0xe0000980, 0x16102: 0xe00008fb, 0x16103: 0xe00008f8,\n\t0x16104: 0xe000097d, 0x16105: 0xe000097a, 0x16106: 0xe0000a38, 0x16107: 0xe0000a35,\n\t0x16108: 0xe0000a3e, 0x16109: 0xe0000a3b, 0x1610a: 0xe0000a4a, 0x1610b: 0xe0000a47,\n\t0x1610c: 0x002c6083, 0x1610d: 0x402c6020, 0x1610e: 0xe0000a86, 0x1610f: 0xe0000a83,\n\t0x16110: 0xe0000aaa, 0x16111: 0xe0000aa7, 0x16112: 0xe0000b46, 0x16113: 0xe0000b43,\n\t0x16114: 0xe0000aee, 0x16115: 0xe0000aeb, 0x16116: 0xe0000b2c, 0x16117: 0xe0000b29,\n\t0x16118: 0xe0000b40, 0x16119: 0xe0000b3d, 0x1611a: 0xe0000b1a, 0x1611b: 0xe0000b17,\n\t0x1611c: 0xe0000bb8, 0x1611d: 0xe0000bb5, 0x1611e: 0xe0000bb2, 0x1611f: 0xe0000baf,\n\t0x16120: 0xe0000bc4, 0x16121: 0xe0000bc1, 0x16122: 0x002d6683, 0x16123: 0x402d6620,\n\t0x16124: 0xe0000bee, 0x16125: 0xe0000beb, 0x16126: 0xe0000c1b, 0x16127: 0xe0000c18,\n\t0x16128: 0xe0000c51, 0x16129: 0xe0000c4e, 0x1612a: 0xe0000c60, 0x1612b: 0xe0000c5d,\n\t0x1612c: 0xe0000c31, 0x1612d: 0xe0000c2e, 0x1612e: 0xe0000c5a, 0x1612f: 0xe0000c57,\n\t0x16130: 0xe0000c54, 0x16131: 0x402da220, 0x16132: 0xf0000a0a, 0x16133: 0xf0000404,\n\t0x16134: 0xe0000c8a, 0x16135: 0xe0000c87, 0x16136: 0x002e2083, 0x16137: 0x402e2020,\n\t0x16138: 0x402f7220, 0x16139: 0xe0000ccc, 0x1613a: 0xe0000cc9, 0x1613b: 0x002e8083,\n\t0x1613c: 0x402e8020, 0x1613d: 0xe0000cd2, 0x1613e: 0xe0000ccf, 0x1613f: 0xe0000d04,\n\t// Block 0x585, offset 0x16140\n\t0x16140: 0xe0000cfe, 0x16141: 0xe0000cf8, 0x16142: 0xe0000cf5, 0x16143: 0xe0000d51,\n\t0x16144: 0xe0000d4e, 0x16145: 0x002ee083, 0x16146: 0x402ee020, 0x16147: 0xe0000d5d,\n\t0x16148: 0xe0000d5a, 0x16149: 0xf0000404, 0x1614a: 0x002eda88, 0x1614b: 0x402eda20,\n\t0x1614c: 0xe0000e2e, 0x1614d: 0xe0000e2b, 0x1614e: 0xe0000da0, 0x1614f: 0xe0000d9d,\n\t0x16150: 0xe0000de0, 0x16151: 0xe0000ddd, 0x16152: 0xe0000e93, 0x16153: 0xe0000e8f,\n\t0x16154: 0xe0000eca, 0x16155: 0xe0000ec7, 0x16156: 0x002fe483, 0x16157: 0x402fe420,\n\t0x16158: 0xe0000ed0, 0x16159: 0xe0000ecd, 0x1615a: 0xe0000f1f, 0x1615b: 0xe0000f1c,\n\t0x1615c: 0xe0000f2d, 0x1615d: 0xe0000f2a, 0x1615e: 0xe0000f47, 0x1615f: 0xe0000f44,\n\t0x16160: 0x00302a83, 0x16161: 0x40302a20, 0x16162: 0xe0000f99, 0x16163: 0xe0000f96,\n\t0x16164: 0xe0000f8a, 0x16165: 0xe0000f87, 0x16166: 0x00303688, 0x16167: 0x40303620,\n\t0x16168: 0xe000102b, 0x16169: 0xe0001028, 0x1616a: 0xe000103f, 0x1616b: 0xe000103c,\n\t0x1616c: 0xe0000fe7, 0x1616d: 0xe0000fe4, 0x1616e: 0xe0000ff9, 0x1616f: 0xe0000ff6,\n\t0x16170: 0xe0001025, 0x16171: 0xe0001022, 0x16172: 0xe0001039, 0x16173: 0xe0001036,\n\t0x16174: 0xe00010d8, 0x16175: 0xe00010d5, 0x16176: 0xe000110e, 0x16177: 0xe000110b,\n\t0x16178: 0xe0001117, 0x16179: 0xe000113b, 0x1617a: 0xe0001138, 0x1617b: 0xe000114d,\n\t0x1617c: 0xe000114a, 0x1617d: 0x00316283, 0x1617e: 0x40316220, 0x1617f: 0xe0000f64,\n\t// Block 0x586, offset 0x16180\n\t0x16180: 0xe0000d24, 0x16181: 0xe0000d21, 0x16182: 0xe0000d2a, 0x16183: 0xe0000d27,\n\t0x16184: 0xe0000d69, 0x16185: 0xe0000d66, 0x16186: 0xe0000d7b, 0x16187: 0xe0000d78,\n\t0x16188: 0xe0000d87, 0x16189: 0xe0000d84, 0x1618a: 0xe0000d81, 0x1618b: 0xe0000d7e,\n\t0x1618c: 0xe0000ded, 0x1618d: 0xe0000de9, 0x1618e: 0xe0000df5, 0x1618f: 0xe0000df1,\n\t0x16190: 0xe0000e3d, 0x16191: 0xe0000e39, 0x16192: 0xe0000e35, 0x16193: 0xe0000e31,\n\t0x16194: 0xe0000ea7, 0x16195: 0xe0000ea4, 0x16196: 0xe0000ead, 0x16197: 0xe0000eaa,\n\t0x16198: 0xe0000ed6, 0x16199: 0xe0000ed3, 0x1619a: 0xe0000ef4, 0x1619b: 0xe0000ef1,\n\t0x1619c: 0xe0000efb, 0x1619d: 0xe0000ef7, 0x1619e: 0xe0000f02, 0x1619f: 0xe0000eff,\n\t0x161a0: 0xe0000f41, 0x161a1: 0xe0000f3e, 0x161a2: 0xe0000f53, 0x161a3: 0xe0000f50,\n\t0x161a4: 0xe0000f26, 0x161a5: 0xe0000f22, 0x161a6: 0xe000a9d9, 0x161a7: 0xe000a9d6,\n\t0x161a8: 0xe0000f5a, 0x161a9: 0xe0000f56, 0x161aa: 0xe0000f93, 0x161ab: 0xe0000f90,\n\t0x161ac: 0xe0000f9f, 0x161ad: 0xe0000f9c, 0x161ae: 0xe0000fb1, 0x161af: 0xe0000fae,\n\t0x161b0: 0xe0000fab, 0x161b1: 0xe0000fa8, 0x161b2: 0xe0001093, 0x161b3: 0xe0001090,\n\t0x161b4: 0xe000109f, 0x161b5: 0xe000109c, 0x161b6: 0xe0001099, 0x161b7: 0xe0001096,\n\t0x161b8: 0xe0001032, 0x161b9: 0xe000102e, 0x161ba: 0xe0001046, 0x161bb: 0xe0001042,\n\t0x161bc: 0xe00010a9, 0x161bd: 0xe00010a6, 0x161be: 0xe00010af, 0x161bf: 0xe00010ac,\n\t// Block 0x587, offset 0x161c0\n\t0x161c2: 0xe000a9f1, 0x161c3: 0xa000f402,\n\t0x161c5: 0x40440220, 0x161c6: 0x40440420, 0x161c7: 0x40440620,\n\t0x161c8: 0x40440820, 0x161c9: 0x40440a20, 0x161ca: 0x40440c20, 0x161cb: 0x40440e20,\n\t0x161cc: 0x40441220, 0x161ce: 0x40441620, 0x161cf: 0x40441820,\n\t0x161d0: 0x40441a20, 0x161d2: 0x40441c20, 0x161d3: 0x40441e20,\n\t0x161d4: 0x40442020, 0x161d5: 0xcb393f61, 0x161d6: 0x40442420, 0x161d7: 0x40442620,\n\t0x161d8: 0x40442820, 0x161d9: 0x40442a20, 0x161da: 0x40442c20, 0x161db: 0x40442e20,\n\t0x161dc: 0x40443020, 0x161dd: 0x40443220, 0x161de: 0x40443420, 0x161df: 0x40443620,\n\t0x161e0: 0x40443820, 0x161e1: 0x40443a20, 0x161e2: 0x40443c20, 0x161e3: 0xcb3b3fc1,\n\t0x161e4: 0x40444020, 0x161e5: 0x40444220, 0x161e6: 0x40444420, 0x161e7: 0x40444620,\n\t0x161e8: 0xcb3f3f61, 0x161e9: 0x40444a20, 0x161ea: 0x40444c20, 0x161eb: 0x40444e20,\n\t0x161ec: 0x40445020, 0x161ed: 0x40445220, 0x161ee: 0x40445420, 0x161ef: 0x40445620,\n\t0x161f0: 0xcb413f61, 0x161f1: 0x40446a20, 0x161f2: 0xcb433f61, 0x161f3: 0xcb453f61,\n\t0x161f4: 0x40446820, 0x161f5: 0x40445c20, 0x161f6: 0x40445e20, 0x161f7: 0x40446020,\n\t0x161f8: 0x40446220, 0x161f9: 0x40446420, 0x161fa: 0x40446c20,\n\t0x161fd: 0xa000f502, 0x161fe: 0x40447020, 0x161ff: 0x40447220,\n\t// Block 0x588, offset 0x16200\n\t0x16200: 0x40447420, 0x16201: 0x40447620, 0x16202: 0x40447820, 0x16203: 0x40447a20,\n\t0x16204: 0x40447c20, 0x16206: 0xcb4703b1, 0x16207: 0xc0760401,\n\t0x16208: 0x40448620, 0x1620a: 0x40448820, 0x1620b: 0x40448a20,\n\t0x1620c: 0x00448c83, 0x1620d: 0x82092248, 0x1620e: 0xe000186c,\n\t0x16217: 0x40448c20,\n\t0x16220: 0x40441020, 0x16221: 0x40441420, 0x16222: 0x40447e20, 0x16223: 0x40448020,\n\t0x16226: 0xe0000185, 0x16227: 0xe0000216,\n\t0x16228: 0xe0000331, 0x16229: 0xe000040b, 0x1622a: 0xe00004e0, 0x1622b: 0xe00005aa,\n\t0x1622c: 0xe0000675, 0x1622d: 0xe000071d, 0x1622e: 0xe00007c9, 0x1622f: 0xe000086e,\n\t0x16230: 0x40285a20, 0x16231: 0x40285c20, 0x16232: 0x40285e20, 0x16233: 0x40286020,\n\t0x16234: 0x40286220, 0x16235: 0x40286420,\n\t0x16239: 0x40074e20, 0x1623a: 0xe000a9e5, 0x1623b: 0xcb3d4031,\n\t0x1623c: 0xe000a9f7, 0x1623d: 0xe000a9fd, 0x1623e: 0xe000aa03, 0x1623f: 0xe000a9df,\n\t// Block 0x589, offset 0x16240\n\t0x16240: 0xa000f202, 0x16241: 0x403fba21, 0x16242: 0x403fba20, 0x16243: 0x403fbc20,\n\t0x16244: 0x403fbc20, 0x16245: 0x403fbe20, 0x16246: 0x403fc020, 0x16247: 0x403fcc20,\n\t0x16248: 0x403fce20, 0x16249: 0x403fd020, 0x1624a: 0x403fd220, 0x1624b: 0x403fd420,\n\t0x1624c: 0x403fd820, 0x1624d: 0x403fdc20, 0x1624e: 0x403fde20, 0x1624f: 0x403fe020,\n\t0x16250: 0x403fe220, 0x16251: 0x403fe420, 0x16252: 0x403fe620, 0x16253: 0x403fe820,\n\t0x16254: 0x403fea20, 0x16255: 0xcaac3be1, 0x16256: 0x403fee20, 0x16257: 0x403ff020,\n\t0x16258: 0x403ff420, 0x16259: 0x403ff620, 0x1625a: 0x403ff820, 0x1625b: 0x403ffa20,\n\t0x1625c: 0xcb4a4061, 0x1625d: 0x40400220, 0x1625e: 0x40400420, 0x1625f: 0x40400620,\n\t0x16260: 0x40400820, 0x16261: 0x40400a20, 0x16262: 0x40400e20, 0x16263: 0x40401020,\n\t0x16264: 0x40401220, 0x16265: 0x40401420, 0x16266: 0x40401620, 0x16267: 0x40401820,\n\t0x16268: 0x40401a20, 0x16269: 0xe0001830, 0x1626a: 0x40401c20, 0x1626b: 0x40401e20,\n\t0x1626c: 0x40402020, 0x1626d: 0x40402420, 0x1626e: 0x40402620, 0x1626f: 0x40402820,\n\t0x16270: 0x40402c20, 0x16271: 0xe0001839, 0x16272: 0x40402e20, 0x16273: 0x40403c20,\n\t0x16274: 0xe000a994, 0x16275: 0x40403220, 0x16276: 0x40403420, 0x16277: 0x40403620,\n\t0x16278: 0x40403820, 0x16279: 0x40403a20, 0x1627a: 0x40404c20, 0x1627b: 0x40404e20,\n\t0x1627c: 0xa070f102, 0x1627d: 0x40403c20, 0x1627e: 0x40404a20, 0x1627f: 0x40405620,\n\t// Block 0x58a, offset 0x16280\n\t0x16280: 0xa0000000, 0x16281: 0xa0000000, 0x16282: 0xa0000000, 0x16283: 0xa0000000,\n\t0x16284: 0xa0000000, 0x16285: 0xa0000000, 0x16286: 0xa0000000, 0x16287: 0xa0000000,\n\t0x16288: 0xa0000000, 0x16289: 0x40020020, 0x1628a: 0x40020220, 0x1628b: 0x40020420,\n\t0x1628c: 0x40020620, 0x1628d: 0x40020820, 0x1628e: 0xa0000000, 0x1628f: 0xa0000000,\n\t0x16290: 0xa0000000, 0x16291: 0xa0000000, 0x16292: 0xa0000000, 0x16293: 0xa0000000,\n\t0x16294: 0xa0000000, 0x16295: 0xa0000000, 0x16296: 0xa0000000, 0x16297: 0xa0000000,\n\t0x16298: 0xa0000000, 0x16299: 0xa0000000, 0x1629a: 0xa0000000, 0x1629b: 0xa0000000,\n\t0x1629c: 0xa0000000, 0x1629d: 0xa0000000, 0x1629e: 0xa0000000, 0x1629f: 0xa0000000,\n\t0x162a0: 0x40021220, 0x162a1: 0x4002ba20, 0x162a2: 0x4003e020, 0x162a3: 0x4004ea20,\n\t0x162a4: 0x4027de20, 0x162a5: 0x4004ec20, 0x162a6: 0x4004e620, 0x162a7: 0x4003d220,\n\t0x162a8: 0x4003f420, 0x162a9: 0x4003f620, 0x162aa: 0x4004d820, 0x162ab: 0x40093820,\n\t0x162ac: 0x40024020, 0x162ad: 0x40021a20, 0x162ae: 0x4002e420, 0x162af: 0x4004e220,\n\t0x162b0: 0x4029cc20, 0x162b1: 0x4029ce20, 0x162b2: 0x4029d020, 0x162b3: 0x4029d220,\n\t0x162b4: 0x4029d420, 0x162b5: 0x4029d620, 0x162b6: 0x4029d820, 0x162b7: 0x4029da20,\n\t0x162b8: 0x4029dc20, 0x162b9: 0x4029de20, 0x162ba: 0x40026c20, 0x162bb: 0x40026220,\n\t0x162bc: 0x40094020, 0x162bd: 0x40094220, 0x162be: 0x40094420, 0x162bf: 0x4002c420,\n\t// Block 0x58b, offset 0x162c0\n\t0x162c0: 0x4004d620, 0x162c1: 0x002bde88, 0x162c2: 0x002c0a88, 0x162c3: 0xcb4c0931,\n\t0x162c4: 0x002c6288, 0x162c5: 0x002c9888, 0x162c6: 0x002d0888, 0x162c7: 0xcb5040c2,\n\t0x162c8: 0x002d6888, 0x162c9: 0x002d9a88, 0x162ca: 0x002dcc88, 0x162cb: 0x002dfe88,\n\t0x162cc: 0xc0030002, 0x162cd: 0x002e8288, 0x162ce: 0x002e9e88, 0x162cf: 0x002ee288,\n\t0x162d0: 0x002f2c88, 0x162d1: 0x002f5688, 0x162d2: 0x002f7a88, 0x162d3: 0x002fe688,\n\t0x162d4: 0x00302c88, 0x162d5: 0x00306c88, 0x162d6: 0x0030be88, 0x162d7: 0x0030e288,\n\t0x162d8: 0x0030f688, 0x162d9: 0x00310088, 0x162da: 0xcb580931, 0x162db: 0x4003f820,\n\t0x162dc: 0x4004e420, 0x162dd: 0x4003fa20, 0x162de: 0x40062420, 0x162df: 0x40021620,\n\t0x162e0: 0x40061e20, 0x162e1: 0x402bde20, 0x162e2: 0x402c0a20, 0x162e3: 0xcb4e0931,\n\t0x162e4: 0x402c6220, 0x162e5: 0x402c9820, 0x162e6: 0x402d0820, 0x162e7: 0xcb5440c2,\n\t0x162e8: 0x402d6820, 0x162e9: 0x402d9a20, 0x162ea: 0x402dcc20, 0x162eb: 0x402dfe20,\n\t0x162ec: 0xc0000002, 0x162ed: 0x402e8220, 0x162ee: 0x402e9e20, 0x162ef: 0x402ee220,\n\t0x162f0: 0x402f2c20, 0x162f1: 0x402f5620, 0x162f2: 0x402f7a20, 0x162f3: 0x402fe620,\n\t0x162f4: 0x40302c20, 0x162f5: 0x40306c20, 0x162f6: 0x4030be20, 0x162f7: 0x4030e220,\n\t0x162f8: 0x4030f620, 0x162f9: 0x40310020, 0x162fa: 0xcb5a0931, 0x162fb: 0x4003fc20,\n\t0x162fc: 0x40094820, 0x162fd: 0x4003fe20, 0x162fe: 0x40094c20, 0x162ff: 0xa0000000,\n\t// Block 0x58c, offset 0x16300\n\t0x16300: 0xe0000983, 0x16301: 0xe0000980, 0x16302: 0xe00008fb, 0x16303: 0xe00008f8,\n\t0x16304: 0xe000097d, 0x16305: 0xe000097a, 0x16306: 0xe0000a38, 0x16307: 0xe0000a35,\n\t0x16308: 0xe0000a3e, 0x16309: 0xe0000a3b, 0x1630a: 0x402c3820, 0x1630b: 0x002c3883,\n\t0x1630c: 0xe0000a44, 0x1630d: 0xe0000a41, 0x1630e: 0xe0000a86, 0x1630f: 0xe0000a83,\n\t0x16310: 0xe0000aaa, 0x16311: 0xe0000aa7, 0x16312: 0xe0000b46, 0x16313: 0xe0000b43,\n\t0x16314: 0xe0000aee, 0x16315: 0xe0000aeb, 0x16316: 0xe0000b2c, 0x16317: 0xe0000b29,\n\t0x16318: 0xe0000b40, 0x16319: 0xe0000b3d, 0x1631a: 0xe0000b1a, 0x1631b: 0xe0000b17,\n\t0x1631c: 0xe0000bb8, 0x1631d: 0xe0000bb5, 0x1631e: 0xe0000bb2, 0x1631f: 0xe0000baf,\n\t0x16320: 0x402d2020, 0x16321: 0x002d2083, 0x16322: 0xe0000bca, 0x16323: 0xe0000bc7,\n\t0x16324: 0xe0000bee, 0x16325: 0xe0000beb, 0x16326: 0x402d9820, 0x16327: 0x002d9883,\n\t0x16328: 0xe0000c51, 0x16329: 0xe0000c4e, 0x1632a: 0xe0000c60, 0x1632b: 0xe0000c5d,\n\t0x1632c: 0xe0000c31, 0x1632d: 0xe0000c2e, 0x1632e: 0xe0000c5a, 0x1632f: 0xe0000c57,\n\t0x16330: 0xe0000c54, 0x16331: 0x402da220, 0x16332: 0xf0000a0a, 0x16333: 0xf0000404,\n\t0x16334: 0xe0000c8a, 0x16335: 0xe0000c87, 0x16336: 0xe0000c9f, 0x16337: 0xe0000c9c,\n\t0x16338: 0x402f7220, 0x16339: 0xe0000ccc, 0x1633a: 0xe0000cc9, 0x1633b: 0xe0000cd8,\n\t0x1633c: 0xe0000cd5, 0x1633d: 0xe0000cd2, 0x1633e: 0xe0000ccf, 0x1633f: 0xe0000d04,\n\t// Block 0x58d, offset 0x16340\n\t0x16340: 0xe0000cfe, 0x16341: 0xe0000cf8, 0x16342: 0xe0000cf5, 0x16343: 0xe0000d51,\n\t0x16344: 0xe0000d4e, 0x16345: 0xe0000d6f, 0x16346: 0xe0000d6c, 0x16347: 0xe0000d5d,\n\t0x16348: 0xe0000d5a, 0x16349: 0xf0000404, 0x1634a: 0x002eda88, 0x1634b: 0x402eda20,\n\t0x1634c: 0xe0000e2e, 0x1634d: 0xe0000e2b, 0x1634e: 0xe0000da0, 0x1634f: 0xe0000d9d,\n\t0x16350: 0xe0000de0, 0x16351: 0xe0000ddd, 0x16352: 0xe0000e93, 0x16353: 0xe0000e8f,\n\t0x16354: 0xe0000eca, 0x16355: 0xe0000ec7, 0x16356: 0xe0000edc, 0x16357: 0xe0000ed9,\n\t0x16358: 0xe0000ed0, 0x16359: 0xe0000ecd, 0x1635a: 0xe0000f1f, 0x1635b: 0xe0000f1c,\n\t0x1635c: 0xe0000f2d, 0x1635d: 0xe0000f2a, 0x1635e: 0xe0000f47, 0x1635f: 0xe0000f44,\n\t0x16360: 0xe0000f33, 0x16361: 0xe0000f30, 0x16362: 0xe0000f99, 0x16363: 0xe0000f96,\n\t0x16364: 0xe0000f8a, 0x16365: 0xe0000f87, 0x16366: 0x00303688, 0x16367: 0x40303620,\n\t0x16368: 0xe000102b, 0x16369: 0xe0001028, 0x1636a: 0xe000103f, 0x1636b: 0xe000103c,\n\t0x1636c: 0xe0000fe7, 0x1636d: 0xe0000fe4, 0x1636e: 0xe0000ff9, 0x1636f: 0xe0000ff6,\n\t0x16370: 0xe0001025, 0x16371: 0xe0001022, 0x16372: 0xe0001039, 0x16373: 0xe0001036,\n\t0x16374: 0xe00010d8, 0x16375: 0xe00010d5, 0x16376: 0xe000110e, 0x16377: 0xe000110b,\n\t0x16378: 0xe0001117, 0x16379: 0xe000113b, 0x1637a: 0xe0001138, 0x1637b: 0x40312820,\n\t0x1637c: 0x00312883, 0x1637d: 0xe0001147, 0x1637e: 0xe0001144, 0x1637f: 0xe0000f64,\n\t// Block 0x58e, offset 0x16380\n\t0x16380: 0xe00009bc, 0x16381: 0xe00009c0, 0x16382: 0x002c3a8b, 0x16383: 0xf0000a04,\n\t0x16384: 0x40081c20, 0x16385: 0xe0000a5e, 0x16386: 0xe0000a62, 0x16387: 0x002cc28a,\n\t0x16388: 0x40081e20, 0x16389: 0xf0000a04, 0x1638a: 0x002d2285, 0x1638b: 0x002d688b,\n\t0x1638c: 0x002d688b, 0x1638d: 0x002d688b, 0x1638e: 0x002d6885, 0x1638f: 0xe000aa06,\n\t0x16390: 0x002d9a8b, 0x16391: 0x002d9a8b, 0x16392: 0x002e228b, 0x16393: 0x002e2285,\n\t0x16394: 0x40082020, 0x16395: 0x002e9e8b, 0x16396: 0xf000040a, 0x16397: 0x40082220,\n\t0x16398: 0x40082420, 0x16399: 0x002f2c8b, 0x1639a: 0x002f568b, 0x1639b: 0x002f7a8b,\n\t0x1639c: 0x002f7a8b, 0x1639d: 0x002f7a8b, 0x1639e: 0x40082620, 0x1639f: 0x40082820,\n\t0x163a0: 0xf0001414, 0x163a1: 0xe0000fbd, 0x163a2: 0xf0001414, 0x163a3: 0x40082a20,\n\t0x163a4: 0x00312a8b, 0x163a5: 0x40082c20, 0x163a6: 0x0032a288, 0x163a7: 0x40082e20,\n\t0x163a8: 0x00312a8b, 0x163a9: 0x40083020, 0x163aa: 0x002dfe88, 0x163ab: 0xe000094d,\n\t0x163ac: 0x002c0a8b, 0x163ad: 0x002c3a8b, 0x163ae: 0x40083220, 0x163af: 0x002c9885,\n\t0x163b0: 0x002c988b, 0x163b1: 0x002d088b, 0x163b2: 0x002d1e88, 0x163b3: 0x002e828b,\n\t0x163b4: 0x002ee285, 0x163b5: 0x00389084, 0x163b6: 0x00389284, 0x163b7: 0x00389484,\n\t0x163b8: 0x00389684, 0x163b9: 0x002d9a85, 0x163ba: 0x40083420, 0x163bb: 0xe0000b95,\n\t0x163bc: 0x00327e85, 0x163bd: 0x00325685, 0x163be: 0x0032568b, 0x163bf: 0x00327e8b,\n\t// Block 0x58f, offset 0x163c0\n\t0x163f8: 0xe000aa09, 0x163f9: 0xe0000e97, 0x163fa: 0x4030a820, 0x163fb: 0x402d2020,\n\t0x163fc: 0x402f4a20, 0x163fd: 0x402e9820, 0x163fe: 0x402db220, 0x163ff: 0x402e9a20,\n\t// Block 0x590, offset 0x16400\n\t0x16400: 0xcd3882c1, 0x16401: 0xce0382c1, 0x16402: 0xce0682c1, 0x16403: 0xce0b82c1,\n\t0x16404: 0xce0e9581, 0x16405: 0xce1182c1, 0x16406: 0xce1482c1, 0x16407: 0xce1782c1,\n\t0x16408: 0xce1a95e1, 0x16409: 0xce1c82c1, 0x1640a: 0xce1f82c1, 0x1640b: 0xce2282c1,\n\t0x1640c: 0xce2582c1, 0x1640d: 0xce2882c1, 0x1640e: 0xce2b82c1, 0x1640f: 0xce2e82c1,\n\t0x16410: 0xce3182c1, 0x16411: 0xcb5c4101, 0x16412: 0xce3482c1, 0x16413: 0xce3782c1,\n\t0x16414: 0xcb604201, 0x16415: 0xce3a82c1, 0x16416: 0xce3d82c1, 0x16417: 0xce4082c1,\n\t0x16418: 0xce4382c1, 0x16419: 0xce4682c1, 0x1641a: 0xce4982c1, 0x1641b: 0xce4c82c1,\n\t0x1641c: 0xcb6442d1, 0x1641d: 0xce4f95e1, 0x1641e: 0xcb6b44d1, 0x1641f: 0xce5182c1,\n\t0x16420: 0xce5495e1, 0x16421: 0xce5695e1, 0x16422: 0x404ec420, 0x16423: 0xe000aa45,\n\t0x16424: 0xe000aa4b, 0x16425: 0xcb6f4571, 0x16426: 0xe000aa55, 0x16427: 0xe000aa58,\n\t0x16428: 0xe000aa5b, 0x16429: 0xcb7245e1, 0x1642a: 0xe000ad32, 0x1642b: 0xcd7c82f1,\n\t0x1642c: 0xcd3b82f1, 0x1642d: 0xccb17051, 0x1642e: 0x404eea20, 0x1642f: 0xcdbd8bc1,\n\t0x16430: 0x404ef420, 0x16431: 0xcbeb5561, 0x16432: 0x404f0620, 0x16433: 0x404eec20,\n\t0x16434: 0x404f0a20, 0x16435: 0x404f0220, 0x16436: 0x404f0c20, 0x16437: 0xce099551,\n\t0x16438: 0x404f3020, 0x16439: 0x8209278a, 0x1643a: 0x8209278b, 0x1643b: 0xce589611,\n\t0x1643c: 0xce5c9611, 0x1643d: 0xce609681, 0x1643e: 0x40510e20, 0x1643f: 0xe000aa41,\n\t// Block 0x591, offset 0x16440\n\t0x16440: 0xe00001ac, 0x16441: 0xe0000240, 0x16442: 0xe0000358, 0x16443: 0xe0000432,\n\t0x16444: 0xe0000507, 0x16445: 0xe00005d1, 0x16446: 0xe000069c, 0x16447: 0xe0000744,\n\t0x16448: 0xe00007f0, 0x16449: 0xe0000895, 0x1644a: 0x40032220, 0x1644b: 0x40032420,\n\t0x1644c: 0xe000aa19, 0x1644d: 0xe000aa20, 0x1644e: 0xcb694441, 0x1644f: 0xe000aa48,\n\t0x16450: 0x404ea020, 0x16451: 0x404ea220, 0x16452: 0x404ece20, 0x16453: 0x404ed020,\n\t0x16454: 0x404ed220, 0x16455: 0x404ed420, 0x16456: 0x404ef620, 0x16457: 0x404ef820,\n\t0x16458: 0x404efa20, 0x16459: 0x404efc20, 0x1645a: 0x404e2620, 0x1645b: 0x404e3c20,\n\t0x1645c: 0x404eb820, 0x1645d: 0x404eba20, 0x1645e: 0x40510020, 0x1645f: 0x40510220,\n\t0x16460: 0x40510820, 0x16461: 0x404e4020, 0x16462: 0x404f0c20, 0x16463: 0x404f1820,\n\t0x16464: 0x404f1a20, 0x16465: 0x404ea420, 0x16466: 0x404ec020, 0x16467: 0x404f0e20,\n\t0x16468: 0x404f1020, 0x16469: 0x404f1c20, 0x1646a: 0x404f1e20, 0x1646b: 0x404f2020,\n\t0x1646c: 0x404f2220, 0x1646d: 0x404f2420, 0x1646e: 0x404e5c20, 0x1646f: 0x404ebc20,\n\t0x16470: 0x404ebe20, 0x16471: 0x404ee820, 0x16472: 0x404ee220, 0x16473: 0x404ef020,\n\t0x16474: 0x404ef220, 0x16475: 0x404e1620, 0x16476: 0x404e1a20, 0x16477: 0x404e1e20,\n\t0x16478: 0x404e2a20, 0x16479: 0x404e3620, 0x1647a: 0x404e4420, 0x1647b: 0x404e6420,\n\t0x1647c: 0x404e6c20, 0x1647d: 0x404e7620, 0x1647e: 0x404e7820, 0x1647f: 0x404e8020,\n\t// Block 0x592, offset 0x16480\n\t0x16480: 0x404e9e20, 0x16481: 0x404eac20, 0x16482: 0x40510c20, 0x16483: 0x404ee020,\n\t0x16484: 0x404f0020, 0x16485: 0x404f0420, 0x16486: 0x404f1220, 0x16487: 0x404f2620,\n\t0x16488: 0x404f2a20, 0x16489: 0x404f2e20, 0x1648a: 0x404f3020, 0x1648b: 0x404f2820,\n\t0x1648c: 0x404f2c20, 0x1648d: 0xadc11302, 0x1648e: 0x404e7c20, 0x1648f: 0x404f3220,\n\t0x16490: 0xe00001af, 0x16491: 0xe0000243, 0x16492: 0xe000035b, 0x16493: 0xe0000435,\n\t0x16494: 0xe000050a, 0x16495: 0xe00005d4, 0x16496: 0xe000069f, 0x16497: 0xe0000747,\n\t0x16498: 0xe00007f3, 0x16499: 0xe0000898, 0x1649a: 0x404f3420, 0x1649b: 0x404f3620,\n\t0x1649c: 0x404ee420, 0x1649d: 0x404f0820, 0x1649e: 0x4007a820, 0x1649f: 0x4007aa20,\n\t0x164a0: 0x00379888, 0x164a1: 0x00379c88, 0x164a2: 0x0037a088, 0x164a3: 0x0037a488,\n\t0x164a4: 0x0037a888, 0x164a5: 0x0037ac88, 0x164a6: 0x0037b088, 0x164a7: 0x0037b888,\n\t0x164a8: 0x0037bc88, 0x164a9: 0x0037c088, 0x164aa: 0x0037c488, 0x164ab: 0x0037c888,\n\t0x164ac: 0x0037cc88, 0x164ad: 0x0037d488, 0x164ae: 0x0037d888, 0x164af: 0x0037dc88,\n\t0x164b0: 0x0037e088, 0x164b1: 0x0037e488, 0x164b2: 0x0037e888, 0x164b3: 0x0037f088,\n\t0x164b4: 0x0037f488, 0x164b5: 0x0037f888, 0x164b6: 0x0037fc88, 0x164b7: 0x00380088,\n\t0x164b8: 0x00380488, 0x164b9: 0x00380888, 0x164ba: 0x00380c88, 0x164bb: 0x00381088,\n\t0x164bc: 0x00381488, 0x164bd: 0x00381888, 0x164be: 0x00381c88, 0x164bf: 0x00382488,\n\t// Block 0x593, offset 0x164c0\n\t0x164c0: 0xa0000000, 0x164c1: 0xa0000000, 0x164c2: 0xa0000000, 0x164c3: 0xa0000000,\n\t0x164c4: 0xa0000000, 0x164c5: 0xa0000000, 0x164c6: 0xa0000000, 0x164c7: 0xa0000000,\n\t0x164c8: 0xa0000000, 0x164c9: 0x40020020, 0x164ca: 0x40020220, 0x164cb: 0x40020420,\n\t0x164cc: 0x40020620, 0x164cd: 0x40020820, 0x164ce: 0xa0000000, 0x164cf: 0xa0000000,\n\t0x164d0: 0xa0000000, 0x164d1: 0xa0000000, 0x164d2: 0xa0000000, 0x164d3: 0xa0000000,\n\t0x164d4: 0xa0000000, 0x164d5: 0xa0000000, 0x164d6: 0xa0000000, 0x164d7: 0xa0000000,\n\t0x164d8: 0xa0000000, 0x164d9: 0xa0000000, 0x164da: 0xa0000000, 0x164db: 0xa0000000,\n\t0x164dc: 0xa0000000, 0x164dd: 0xa0000000, 0x164de: 0xa0000000, 0x164df: 0xa0000000,\n\t0x164e0: 0x40021220, 0x164e1: 0x4002ba20, 0x164e2: 0x4003e020, 0x164e3: 0x4004ea20,\n\t0x164e4: 0x4027de20, 0x164e5: 0x4004ec20, 0x164e6: 0x4004e620, 0x164e7: 0x4003d220,\n\t0x164e8: 0x4003f420, 0x164e9: 0x4003f620, 0x164ea: 0x4004d820, 0x164eb: 0x40093820,\n\t0x164ec: 0x40024020, 0x164ed: 0x40021a20, 0x164ee: 0x4002e420, 0x164ef: 0x4004e220,\n\t0x164f0: 0x4029cc20, 0x164f1: 0x4029ce20, 0x164f2: 0x4029d020, 0x164f3: 0x4029d220,\n\t0x164f4: 0x4029d420, 0x164f5: 0x4029d620, 0x164f6: 0x4029d820, 0x164f7: 0x4029da20,\n\t0x164f8: 0x4029dc20, 0x164f9: 0x4029de20, 0x164fa: 0x40026c20, 0x164fb: 0x40026220,\n\t0x164fc: 0x40094020, 0x164fd: 0x40094220, 0x164fe: 0x40094420, 0x164ff: 0x4002c420,\n\t// Block 0x594, offset 0x16500\n\t0x16500: 0x4004d620, 0x16501: 0xce660b93, 0x16502: 0x002c0a88, 0x16503: 0x002c3a88,\n\t0x16504: 0x002c6288, 0x16505: 0xc39e0be1, 0x16506: 0x002d0888, 0x16507: 0x002d2288,\n\t0x16508: 0x002d6888, 0x16509: 0x002d9a88, 0x1650a: 0x002dcc88, 0x1650b: 0x002dfe88,\n\t0x1650c: 0xc0030002, 0x1650d: 0x002e8288, 0x1650e: 0x002e9e88, 0x1650f: 0xc3a30b21,\n\t0x16510: 0x002f2c88, 0x16511: 0x002f5688, 0x16512: 0x002f7a88, 0x16513: 0x002fe688,\n\t0x16514: 0x00302c88, 0x16515: 0xc3900b21, 0x16516: 0x0030be88, 0x16517: 0x0030e288,\n\t0x16518: 0x0030f688, 0x16519: 0x00310088, 0x1651a: 0x00312a88, 0x1651b: 0x4003f820,\n\t0x1651c: 0x4004e420, 0x1651d: 0x4003fa20, 0x1651e: 0x40062420, 0x1651f: 0x40021620,\n\t0x16520: 0x40061e20, 0x16521: 0xce620b52, 0x16522: 0x402c0a20, 0x16523: 0x402c3a20,\n\t0x16524: 0x402c6220, 0x16525: 0xc39c0be1, 0x16526: 0x402d0820, 0x16527: 0x402d2220,\n\t0x16528: 0x402d6820, 0x16529: 0x402d9a20, 0x1652a: 0x402dcc20, 0x1652b: 0x402dfe20,\n\t0x1652c: 0xc0000002, 0x1652d: 0x402e8220, 0x1652e: 0x402e9e20, 0x1652f: 0xc3a00b21,\n\t0x16530: 0x402f2c20, 0x16531: 0x402f5620, 0x16532: 0x402f7a20, 0x16533: 0x402fe620,\n\t0x16534: 0x40302c20, 0x16535: 0xc38d0b21, 0x16536: 0x4030be20, 0x16537: 0x4030e220,\n\t0x16538: 0x4030f620, 0x16539: 0x40310020, 0x1653a: 0x40312a20, 0x1653b: 0x4003fc20,\n\t0x1653c: 0x40094820, 0x1653d: 0x4003fe20, 0x1653e: 0x40094c20, 0x1653f: 0xa0000000,\n\t// Block 0x595, offset 0x16540\n\t0x16540: 0xa0000000, 0x16541: 0xa0000000, 0x16542: 0xa0000000, 0x16543: 0xa0000000,\n\t0x16544: 0xa0000000, 0x16545: 0xa0000000, 0x16546: 0xa0000000, 0x16547: 0xa0000000,\n\t0x16548: 0xa0000000, 0x16549: 0x40020020, 0x1654a: 0x40020220, 0x1654b: 0x40020420,\n\t0x1654c: 0x40020620, 0x1654d: 0x40020820, 0x1654e: 0xa0000000, 0x1654f: 0xa0000000,\n\t0x16550: 0xa0000000, 0x16551: 0xa0000000, 0x16552: 0xa0000000, 0x16553: 0xa0000000,\n\t0x16554: 0xa0000000, 0x16555: 0xa0000000, 0x16556: 0xa0000000, 0x16557: 0xa0000000,\n\t0x16558: 0xa0000000, 0x16559: 0xa0000000, 0x1655a: 0xa0000000, 0x1655b: 0xa0000000,\n\t0x1655c: 0xa0000000, 0x1655d: 0xa0000000, 0x1655e: 0xa0000000, 0x1655f: 0xa0000000,\n\t0x16560: 0x40021220, 0x16561: 0x4002ba20, 0x16562: 0x4003e020, 0x16563: 0x4004ea20,\n\t0x16564: 0x4027de20, 0x16565: 0x4004ec20, 0x16566: 0x4004e620, 0x16567: 0x4003d220,\n\t0x16568: 0x4003f420, 0x16569: 0x4003f620, 0x1656a: 0x4004d820, 0x1656b: 0x40093820,\n\t0x1656c: 0x40024020, 0x1656d: 0x40021a20, 0x1656e: 0x4002e420, 0x1656f: 0x4004e220,\n\t0x16570: 0x4029cc20, 0x16571: 0x4029ce20, 0x16572: 0x4029d020, 0x16573: 0x4029d220,\n\t0x16574: 0x4029d420, 0x16575: 0x4029d620, 0x16576: 0x4029d820, 0x16577: 0x4029da20,\n\t0x16578: 0x4029dc20, 0x16579: 0x4029de20, 0x1657a: 0x40026c20, 0x1657b: 0x40026220,\n\t0x1657c: 0x40094020, 0x1657d: 0x40094220, 0x1657e: 0x40094420, 0x1657f: 0x4002c420,\n\t// Block 0x596, offset 0x16580\n\t0x16580: 0x4004d620, 0x16581: 0x002bde88, 0x16582: 0x002c0a88, 0x16583: 0x002c3a88,\n\t0x16584: 0x002c6288, 0x16585: 0xce6d2741, 0x16586: 0x002d0888, 0x16587: 0x002d2288,\n\t0x16588: 0x002d6888, 0x16589: 0x002d9a88, 0x1658a: 0x002dcc88, 0x1658b: 0x002dfe88,\n\t0x1658c: 0xc0030002, 0x1658d: 0x002e8288, 0x1658e: 0x002e9e88, 0x1658f: 0xc33f2741,\n\t0x16590: 0x002f2c88, 0x16591: 0x002f5688, 0x16592: 0x002f7a88, 0x16593: 0xc3430991,\n\t0x16594: 0x00302c88, 0x16595: 0x00306c88, 0x16596: 0x0030be88, 0x16597: 0x0030e288,\n\t0x16598: 0x0030f688, 0x16599: 0x00310088, 0x1659a: 0x00312a88, 0x1659b: 0x4003f820,\n\t0x1659c: 0x4004e420, 0x1659d: 0x4003fa20, 0x1659e: 0x40062420, 0x1659f: 0x40021620,\n\t0x165a0: 0x40061e20, 0x165a1: 0x402bde20, 0x165a2: 0x402c0a20, 0x165a3: 0x402c3a20,\n\t0x165a4: 0x402c6220, 0x165a5: 0xce6b2741, 0x165a6: 0x402d0820, 0x165a7: 0x402d2220,\n\t0x165a8: 0x402d6820, 0x165a9: 0x402d9a20, 0x165aa: 0x402dcc20, 0x165ab: 0x402dfe20,\n\t0x165ac: 0xc0000002, 0x165ad: 0x402e8220, 0x165ae: 0x402e9e20, 0x165af: 0xc33d2741,\n\t0x165b0: 0x402f2c20, 0x165b1: 0x402f5620, 0x165b2: 0x402f7a20, 0x165b3: 0xc3410991,\n\t0x165b4: 0x40302c20, 0x165b5: 0x40306c20, 0x165b6: 0x4030be20, 0x165b7: 0x4030e220,\n\t0x165b8: 0x4030f620, 0x165b9: 0x40310020, 0x165ba: 0x40312a20, 0x165bb: 0x4003fc20,\n\t0x165bc: 0x40094820, 0x165bd: 0x4003fe20, 0x165be: 0x40094c20, 0x165bf: 0xa0000000,\n\t// Block 0x597, offset 0x165c0\n\t0x165c0: 0xe00008f5, 0x165c1: 0xe00008ef, 0x165c2: 0xe0000921, 0x165c3: 0xe0000969,\n\t0x165c4: 0xe000095b, 0x165c5: 0xe000094d, 0x165c6: 0xe00009dd, 0x165c7: 0xe0000a53,\n\t0x165c8: 0xe0000ae8, 0x165c9: 0xe0000ae2, 0x165ca: 0x002c9a83, 0x165cb: 0xe0000b20,\n\t0x165cc: 0xe0000c2b, 0x165cd: 0xe0000c25, 0x165ce: 0xe0000c37, 0x165cf: 0xe0000c43,\n\t0x165d0: 0xe0000ab3, 0x165d1: 0xe0000d63, 0x165d2: 0xe0000d9a, 0x165d3: 0xe0000d94,\n\t0x165d4: 0x002ee483, 0x165d5: 0xe0000de6, 0x165d6: 0xe0000dd2, 0x165d7: 0x40093e20,\n\t0x165d8: 0xe0000e12, 0x165d9: 0xe0000fe1, 0x165da: 0xe0000fdb, 0x165db: 0xe0000fed,\n\t0x165dc: 0xe0000fff, 0x165dd: 0xe0001102, 0x165de: 0x00318888, 0x165df: 0xe0000f7b,\n\t0x165e0: 0xe00008f2, 0x165e1: 0xe00008ec, 0x165e2: 0xe000091e, 0x165e3: 0xe0000966,\n\t0x165e4: 0xe0000958, 0x165e5: 0xe000094a, 0x165e6: 0xe00009d5, 0x165e7: 0xe0000a4d,\n\t0x165e8: 0xe0000ae5, 0x165e9: 0xe0000adf, 0x165ea: 0x402c9a20, 0x165eb: 0xe0000b1d,\n\t0x165ec: 0xe0000c28, 0x165ed: 0xe0000c22, 0x165ee: 0xe0000c34, 0x165ef: 0xe0000c40,\n\t0x165f0: 0xe0000aad, 0x165f1: 0xe0000d60, 0x165f2: 0xe0000d97, 0x165f3: 0xe0000d91,\n\t0x165f4: 0x402ee420, 0x165f5: 0xe0000de3, 0x165f6: 0xe0000dcf, 0x165f7: 0x40093c20,\n\t0x165f8: 0xe0000e0f, 0x165f9: 0xe0000fde, 0x165fa: 0xe0000fd8, 0x165fb: 0xe0000fea,\n\t0x165fc: 0xe0000ffc, 0x165fd: 0xe00010ff, 0x165fe: 0x40318820, 0x165ff: 0xe0001114,\n\t// Block 0x598, offset 0x16600\n\t0x16600: 0xe0000cfe, 0x16601: 0xe0000cf8, 0x16602: 0xe0000cf5, 0x16603: 0xe0000d51,\n\t0x16604: 0xe0000d4e, 0x16605: 0xe0000d6f, 0x16606: 0xe0000d6c, 0x16607: 0xe0000d5d,\n\t0x16608: 0xe0000d5a, 0x16609: 0xf0000404, 0x1660a: 0x002eda88, 0x1660b: 0x402eda20,\n\t0x1660c: 0xe0000e2e, 0x1660d: 0xe0000e2b, 0x1660e: 0xe0000da0, 0x1660f: 0xe0000d9d,\n\t0x16610: 0xe0000de0, 0x16611: 0xe0000ddd, 0x16612: 0xe0000e93, 0x16613: 0xe0000e8f,\n\t0x16614: 0xe0000eca, 0x16615: 0xe0000ec7, 0x16616: 0xe0000edc, 0x16617: 0xe0000ed9,\n\t0x16618: 0xe0000ed0, 0x16619: 0xe0000ecd, 0x1661a: 0xe0000f1f, 0x1661b: 0xe0000f1c,\n\t0x1661c: 0xe0000f2d, 0x1661d: 0xe0000f2a, 0x1661e: 0xe0000f47, 0x1661f: 0xe0000f44,\n\t0x16620: 0x002fe883, 0x16621: 0x402fe820, 0x16622: 0xe0000f99, 0x16623: 0xe0000f96,\n\t0x16624: 0xe0000f8a, 0x16625: 0xe0000f87, 0x16626: 0x00303688, 0x16627: 0x40303620,\n\t0x16628: 0xe000102b, 0x16629: 0xe0001028, 0x1662a: 0xe000103f, 0x1662b: 0xe000103c,\n\t0x1662c: 0xe0000fe7, 0x1662d: 0xe0000fe4, 0x1662e: 0xe0000ff9, 0x1662f: 0xe0000ff6,\n\t0x16630: 0xe0001025, 0x16631: 0xe0001022, 0x16632: 0xe0001039, 0x16633: 0xe0001036,\n\t0x16634: 0xe00010d8, 0x16635: 0xe00010d5, 0x16636: 0xe000110e, 0x16637: 0xe000110b,\n\t0x16638: 0xe0001117, 0x16639: 0xe000113b, 0x1663a: 0xe0001138, 0x1663b: 0xe000114d,\n\t0x1663c: 0xe000114a, 0x1663d: 0xe0001147, 0x1663e: 0xe0001144, 0x1663f: 0xe0000f64,\n\t// Block 0x599, offset 0x16640\n\t0x16640: 0xe00010d2, 0x16641: 0xe00010cf, 0x16642: 0xe00010cc, 0x16643: 0xe00010c9,\n\t0x16644: 0xe00010e1, 0x16645: 0xe00010de, 0x16646: 0xe00010e7, 0x16647: 0xe00010e4,\n\t0x16648: 0xe00010ed, 0x16649: 0xe00010ea, 0x1664a: 0xe00010fc, 0x1664b: 0xe00010f9,\n\t0x1664c: 0xe00010f6, 0x1664d: 0xe00010f3, 0x1664e: 0xe0001123, 0x1664f: 0xe0001120,\n\t0x16650: 0xe0001141, 0x16651: 0xe000113e, 0x16652: 0xe0001153, 0x16653: 0xe0001150,\n\t0x16654: 0xe0001159, 0x16655: 0xe0001156, 0x16656: 0xe0000c15, 0x16657: 0xe0000f8d,\n\t0x16658: 0xe00010db, 0x16659: 0xe0001111, 0x1665a: 0xf0000404, 0x1665b: 0xe0000f70,\n\t0x1665c: 0x40300420, 0x1665d: 0x40300620, 0x1665e: 0xe0000f7f, 0x1665f: 0x402c9620,\n\t0x16660: 0xe000099b, 0x16661: 0xe0000998, 0x16662: 0xe0000989, 0x16663: 0xe0000986,\n\t0x16664: 0xe0000928, 0x16665: 0xe0000924, 0x16666: 0xe0000930, 0x16667: 0xe000092c,\n\t0x16668: 0xe0000940, 0x16669: 0xe000093c, 0x1666a: 0xe0000938, 0x1666b: 0xe0000934,\n\t0x1666c: 0xe00009aa, 0x1666d: 0xe00009a6, 0x1666e: 0xe0000902, 0x1666f: 0xe00008fe,\n\t0x16670: 0xe000090a, 0x16671: 0xe0000906, 0x16672: 0xe000091a, 0x16673: 0xe0000916,\n\t0x16674: 0xe0000912, 0x16675: 0xe000090e, 0x16676: 0xe00009a2, 0x16677: 0xe000099e,\n\t0x16678: 0xe0000b6e, 0x16679: 0xe0000b6b, 0x1667a: 0xe0000b5c, 0x1667b: 0xe0000b59,\n\t0x1667c: 0xe0000b26, 0x1667d: 0xe0000b23, 0x1667e: 0xe000ad41, 0x1667f: 0xe000ad3e,\n\t// Block 0x59a, offset 0x16680\n\t0x16680: 0xe000ad47, 0x16681: 0xe000ad44, 0x16682: 0xe000ad53, 0x16683: 0xe000ad50,\n\t0x16684: 0xe000ad4d, 0x16685: 0xe000ad4a, 0x16686: 0xe000ad59, 0x16687: 0xe000ad56,\n\t0x16688: 0xe0000c66, 0x16689: 0xe0000c63, 0x1668a: 0xe0000c78, 0x1668b: 0xe0000c75,\n\t0x1668c: 0xe0000e84, 0x1668d: 0xe0000e81, 0x1668e: 0xe0000e44, 0x1668f: 0xe0000e41,\n\t0x16690: 0xe000ad5f, 0x16691: 0xe000ad5c, 0x16692: 0xe000ad65, 0x16693: 0xe000ad62,\n\t0x16694: 0xe000ad6b, 0x16695: 0xe000ad68, 0x16696: 0xe0002946, 0x16697: 0xe0002943,\n\t0x16698: 0xe000ad71, 0x16699: 0xe000ad6e, 0x1669a: 0xe0000e5d, 0x1669b: 0xe0000e59,\n\t0x1669c: 0xe0000e65, 0x1669d: 0xe0000e61, 0x1669e: 0xe0000e75, 0x1669f: 0xe0000e71,\n\t0x166a0: 0xe0000e6d, 0x166a1: 0xe0000e69, 0x166a2: 0xe0000e7d, 0x166a3: 0xe0000e79,\n\t0x166a4: 0xe000108d, 0x166a5: 0xe000108a, 0x166a6: 0xe000104d, 0x166a7: 0xe000104a,\n\t0x166a8: 0xe0001066, 0x166a9: 0xe0001062, 0x166aa: 0xe000106e, 0x166ab: 0xe000106a,\n\t0x166ac: 0xe000107e, 0x166ad: 0xe000107a, 0x166ae: 0xe0001076, 0x166af: 0xe0001072,\n\t0x166b0: 0xe0001086, 0x166b1: 0xe0001082, 0x166b2: 0xe0001108, 0x166b3: 0xe0001105,\n\t0x166b4: 0xe0001135, 0x166b5: 0xe0001132, 0x166b6: 0xe000112f, 0x166b7: 0xe000112c,\n\t0x166b8: 0xe000111d, 0x166b9: 0xe000111a, 0x166ba: 0xe0000d0a, 0x166bb: 0xe0000d07,\n\t0x166bc: 0x0030d888, 0x166bd: 0x4030d820, 0x166be: 0x00312088, 0x166bf: 0x40312020,\n\t// Block 0x59b, offset 0x166c0\n\t0x166c0: 0xa0000000, 0x166c1: 0xa0000000, 0x166c2: 0xa0000000, 0x166c3: 0xa0000000,\n\t0x166c4: 0xa0000000, 0x166c5: 0xa0000000, 0x166c6: 0xa0000000, 0x166c7: 0xa0000000,\n\t0x166c8: 0xa0000000, 0x166c9: 0x40020020, 0x166ca: 0x40020220, 0x166cb: 0x40020420,\n\t0x166cc: 0x40020620, 0x166cd: 0x40020820, 0x166ce: 0xa0000000, 0x166cf: 0xa0000000,\n\t0x166d0: 0xa0000000, 0x166d1: 0xa0000000, 0x166d2: 0xa0000000, 0x166d3: 0xa0000000,\n\t0x166d4: 0xa0000000, 0x166d5: 0xa0000000, 0x166d6: 0xa0000000, 0x166d7: 0xa0000000,\n\t0x166d8: 0xa0000000, 0x166d9: 0xa0000000, 0x166da: 0xa0000000, 0x166db: 0xa0000000,\n\t0x166dc: 0xa0000000, 0x166dd: 0xa0000000, 0x166de: 0xa0000000, 0x166df: 0xa0000000,\n\t0x166e0: 0x40021220, 0x166e1: 0x4002ba20, 0x166e2: 0x4003e020, 0x166e3: 0x4004ea20,\n\t0x166e4: 0x4027de20, 0x166e5: 0x4004ec20, 0x166e6: 0x4004e620, 0x166e7: 0x4003d220,\n\t0x166e8: 0x4003f420, 0x166e9: 0x4003f620, 0x166ea: 0x4004d820, 0x166eb: 0x40093820,\n\t0x166ec: 0x40024020, 0x166ed: 0x40021a20, 0x166ee: 0x4002e420, 0x166ef: 0x4004e220,\n\t0x166f0: 0x4029cc20, 0x166f1: 0x4029ce20, 0x166f2: 0x4029d020, 0x166f3: 0x4029d220,\n\t0x166f4: 0x4029d420, 0x166f5: 0x4029d620, 0x166f6: 0x4029d820, 0x166f7: 0x4029da20,\n\t0x166f8: 0x4029dc20, 0x166f9: 0x4029de20, 0x166fa: 0x40026c20, 0x166fb: 0x40026220,\n\t0x166fc: 0x40094020, 0x166fd: 0x40094220, 0x166fe: 0x40094420, 0x166ff: 0x4002c420,\n\t// Block 0x59c, offset 0x16700\n\t0x16700: 0x4004d620, 0x16701: 0x002bde88, 0x16702: 0x002c0a88, 0x16703: 0xce7109c2,\n\t0x16704: 0xce7609c2, 0x16705: 0x002c9888, 0x16706: 0x002d0888, 0x16707: 0x002d2288,\n\t0x16708: 0x002d6888, 0x16709: 0x002d9a88, 0x1670a: 0x002dcc88, 0x1670b: 0xce7b09c2,\n\t0x1670c: 0xc0030002, 0x1670d: 0x002e8288, 0x1670e: 0xce8026f2, 0x1670f: 0x002ee288,\n\t0x16710: 0xce8509c2, 0x16711: 0x002f5688, 0x16712: 0x002f7a88, 0x16713: 0xce8a09b1,\n\t0x16714: 0x00302c88, 0x16715: 0x00306c88, 0x16716: 0x0030be88, 0x16717: 0x0030e288,\n\t0x16718: 0x0030f688, 0x16719: 0x00310088, 0x1671a: 0x00312a88, 0x1671b: 0x4003f820,\n\t0x1671c: 0x4004e420, 0x1671d: 0x4003fa20, 0x1671e: 0x40062420, 0x1671f: 0x40021620,\n\t0x16720: 0x40061e20, 0x16721: 0x402bde20, 0x16722: 0x402c0a20, 0x16723: 0xce6f09b1,\n\t0x16724: 0xce7409b1, 0x16725: 0x402c9820, 0x16726: 0x402d0820, 0x16727: 0x402d2220,\n\t0x16728: 0x402d6820, 0x16729: 0x402d9a20, 0x1672a: 0x402dcc20, 0x1672b: 0xce7909b1,\n\t0x1672c: 0xc0000002, 0x1672d: 0x402e8220, 0x1672e: 0xce7e26e1, 0x1672f: 0x402ee220,\n\t0x16730: 0xce8309b1, 0x16731: 0x402f5620, 0x16732: 0x402f7a20, 0x16733: 0xce8809b1,\n\t0x16734: 0x40302c20, 0x16735: 0x40306c20, 0x16736: 0x4030be20, 0x16737: 0x4030e220,\n\t0x16738: 0x4030f620, 0x16739: 0x40310020, 0x1673a: 0x40312a20, 0x1673b: 0x4003fc20,\n\t0x1673c: 0x40094820, 0x1673d: 0x4003fe20, 0x1673e: 0x40094c20, 0x1673f: 0xa0000000,\n\t// Block 0x59d, offset 0x16740\n\t0x16741: 0x40421220, 0x16742: 0x40421420, 0x16743: 0x40421620,\n\t0x16745: 0x4041f620, 0x16746: 0x4041f820, 0x16747: 0x4041fa20,\n\t0x16748: 0x4041fc20, 0x16749: 0x4041fe20, 0x1674a: 0x40420020, 0x1674b: 0x40420220,\n\t0x1674c: 0x40420620, 0x1674f: 0x40420a20,\n\t0x16750: 0x40420c20, 0x16753: 0x40420e20,\n\t0x16754: 0x40421020, 0x16755: 0xce8c96b1, 0x16756: 0x40421420, 0x16757: 0x40421620,\n\t0x16758: 0x40421820, 0x16759: 0x40421a20, 0x1675a: 0x40421c20, 0x1675b: 0x40421e20,\n\t0x1675c: 0x40422020, 0x1675d: 0x40422220, 0x1675e: 0x40422420, 0x1675f: 0x40422620,\n\t0x16760: 0x40422820, 0x16761: 0x40422a20, 0x16762: 0x40422c20, 0x16763: 0x40422e20,\n\t0x16764: 0x40423020, 0x16765: 0x40423220, 0x16766: 0x40423420, 0x16767: 0x40423620,\n\t0x16768: 0x40423820, 0x1676a: 0x40423a20, 0x1676b: 0x40423c20,\n\t0x1676c: 0x40423e20, 0x1676d: 0x40424020, 0x1676e: 0x40424220, 0x1676f: 0x40424420,\n\t0x16770: 0x40424820, 0x16772: 0x40424a20, 0x16773: 0x40424c20,\n\t0x16775: 0x40424e20, 0x16776: 0x40425220, 0x16777: 0x40425420,\n\t0x16778: 0x40425620, 0x16779: 0x40425820,\n\t0x1677c: 0xa070f102, 0x1677d: 0x40425a20, 0x1677e: 0x40425c20, 0x1677f: 0x40425e20,\n\t// Block 0x59e, offset 0x16780\n\t0x16780: 0x40426020, 0x16781: 0x40426220, 0x16782: 0x40426420, 0x16783: 0x40426620,\n\t0x16784: 0x40426820, 0x16787: 0xc05d01e1,\n\t0x16788: 0x40427020, 0x1678b: 0x40427220,\n\t0x1678c: 0x40427420, 0x1678d: 0x8209213b,\n\t0x16796: 0x40427820, 0x16797: 0x40427a20,\n\t0x1679c: 0xe000185d, 0x1679d: 0xe0001860, 0x1679f: 0x40424421,\n\t0x167a0: 0x40420420, 0x167a1: 0x40420820, 0x167a2: 0x40426a20, 0x167a3: 0x40426c20,\n\t0x167a6: 0xe0000176, 0x167a7: 0xe0000204,\n\t0x167a8: 0xe000031f, 0x167a9: 0xe00003f9, 0x167aa: 0xe00004d4, 0x167ab: 0xe000059e,\n\t0x167ac: 0xe0000669, 0x167ad: 0xe0000711, 0x167ae: 0xe00007bd, 0x167af: 0xe0000862,\n\t0x167b0: 0x40073c20, 0x167b1: 0x40425020, 0x167b2: 0x40283c20, 0x167b3: 0x40283e20,\n\t0x167b4: 0x40284020, 0x167b5: 0x40284220, 0x167b6: 0x40284420, 0x167b7: 0x40284620,\n\t// Block 0x59f, offset 0x167c0\n\t0x167c1: 0xa000f902, 0x167c2: 0xa000f802, 0x167c3: 0xa000f402,\n\t0x167c5: 0x40410620, 0x167c6: 0x40410820, 0x167c7: 0x40411020,\n\t0x167c8: 0x40411220, 0x167c9: 0x40410020, 0x167ca: 0x40410220,\n\t0x167cf: 0x40411420,\n\t0x167d0: 0x40410a20, 0x167d3: 0x40410420,\n\t0x167d4: 0x40410c20, 0x167d5: 0x40411c20, 0x167d6: 0x40411e20, 0x167d7: 0x40412020,\n\t0x167d8: 0x40412220, 0x167d9: 0x40412420, 0x167da: 0x40412620, 0x167db: 0x40412820,\n\t0x167dc: 0x40412a20, 0x167dd: 0x40412c20, 0x167de: 0x40412e20, 0x167df: 0x40413020,\n\t0x167e0: 0x40413220, 0x167e1: 0x40413420, 0x167e2: 0x40413620, 0x167e3: 0x40413820,\n\t0x167e4: 0x40413a20, 0x167e5: 0x40413c20, 0x167e6: 0x40413e20, 0x167e7: 0x40414020,\n\t0x167e8: 0x40414220, 0x167ea: 0x40414420, 0x167eb: 0x40414620,\n\t0x167ec: 0x40414820, 0x167ed: 0x40414a20, 0x167ee: 0x40414c20, 0x167ef: 0x40414e20,\n\t0x167f0: 0x40415220, 0x167f2: 0x40415420, 0x167f3: 0xe000ad83,\n\t0x167f5: 0x40415620, 0x167f6: 0xe000ad74,\n\t0x167f8: 0x40411620, 0x167f9: 0x40411820,\n\t0x167fc: 0xa000fa02, 0x167fe: 0x40415a20, 0x167ff: 0x40415c20,\n\t// Block 0x5a0, offset 0x16800\n\t0x16800: 0x40415e20, 0x16801: 0x40416020, 0x16802: 0x40416220,\n\t0x16807: 0x40416420,\n\t0x16808: 0x40416620, 0x1680b: 0x40416820,\n\t0x1680c: 0x40416a20, 0x1680d: 0x40415a20,\n\t0x16811: 0x40411a20,\n\t0x16819: 0xe000ad77, 0x1681a: 0xe000ad7a, 0x1681b: 0xe000ad7d,\n\t0x1681c: 0x40415820, 0x1681e: 0xe000ad80,\n\t0x16826: 0xe0000170, 0x16827: 0xe00001fe,\n\t0x16828: 0xe0000319, 0x16829: 0xe00003f3, 0x1682a: 0xe00004ce, 0x1682b: 0xe0000598,\n\t0x1682c: 0xe0000663, 0x1682d: 0xe000070b, 0x1682e: 0xe00007b7, 0x1682f: 0xe000085c,\n\t0x16830: 0xa000f702, 0x16831: 0xa000f602, 0x16832: 0x40410e20, 0x16833: 0x4040fe20,\n\t0x16834: 0x4040fc20, 0x16835: 0x40415020,\n\t// Block 0x5a1, offset 0x16840\n\t0x16840: 0xa0000000, 0x16841: 0xa0000000, 0x16842: 0xa0000000, 0x16843: 0xa0000000,\n\t0x16844: 0xa0000000, 0x16845: 0xa0000000, 0x16846: 0xa0000000, 0x16847: 0xa0000000,\n\t0x16848: 0xa0000000, 0x16849: 0x40020020, 0x1684a: 0x40020220, 0x1684b: 0x40020420,\n\t0x1684c: 0x40020620, 0x1684d: 0x40020820, 0x1684e: 0xa0000000, 0x1684f: 0xa0000000,\n\t0x16850: 0xa0000000, 0x16851: 0xa0000000, 0x16852: 0xa0000000, 0x16853: 0xa0000000,\n\t0x16854: 0xa0000000, 0x16855: 0xa0000000, 0x16856: 0xa0000000, 0x16857: 0xa0000000,\n\t0x16858: 0xa0000000, 0x16859: 0xa0000000, 0x1685a: 0xa0000000, 0x1685b: 0xa0000000,\n\t0x1685c: 0xa0000000, 0x1685d: 0xa0000000, 0x1685e: 0xa0000000, 0x1685f: 0xa0000000,\n\t0x16860: 0x40021220, 0x16861: 0x4002ba20, 0x16862: 0x4003e020, 0x16863: 0x4004ea20,\n\t0x16864: 0x4027de20, 0x16865: 0x4004ec20, 0x16866: 0x4004e620, 0x16867: 0x4003d220,\n\t0x16868: 0x4003f420, 0x16869: 0x4003f620, 0x1686a: 0x4004d820, 0x1686b: 0x40093820,\n\t0x1686c: 0x40024020, 0x1686d: 0x40021a20, 0x1686e: 0x4002e420, 0x1686f: 0x4004e220,\n\t0x16870: 0x4029cc20, 0x16871: 0x4029ce20, 0x16872: 0x4029d020, 0x16873: 0x4029d220,\n\t0x16874: 0x4029d420, 0x16875: 0x4029d620, 0x16876: 0x4029d820, 0x16877: 0x4029da20,\n\t0x16878: 0x4029dc20, 0x16879: 0x4029de20, 0x1687a: 0x40026c20, 0x1687b: 0x40026220,\n\t0x1687c: 0x40094020, 0x1687d: 0x40094220, 0x1687e: 0x40094420, 0x1687f: 0x4002c420,\n\t// Block 0x5a2, offset 0x16880\n\t0x16880: 0x4004d620, 0x16881: 0xce900be1, 0x16882: 0x002c0a88, 0x16883: 0xc33531e1,\n\t0x16884: 0x002c6288, 0x16885: 0xce6d0be1, 0x16886: 0x002d0888, 0x16887: 0x002d2288,\n\t0x16888: 0x002d6888, 0x16889: 0x002d9a88, 0x1688a: 0x002dcc88, 0x1688b: 0x002dfe88,\n\t0x1688c: 0xc0030002, 0x1688d: 0x002e8288, 0x1688e: 0xc54631e1, 0x1688f: 0xc33f31e1,\n\t0x16890: 0x002f2c88, 0x16891: 0x002f5688, 0x16892: 0x002f7a88, 0x16893: 0xc34331e1,\n\t0x16894: 0x00302c88, 0x16895: 0x00306c88, 0x16896: 0x0030be88, 0x16897: 0x0030e288,\n\t0x16898: 0x0030f688, 0x16899: 0x00310088, 0x1689a: 0xce959711, 0x1689b: 0x4003f820,\n\t0x1689c: 0x4004e420, 0x1689d: 0x4003fa20, 0x1689e: 0x40062420, 0x1689f: 0x40021620,\n\t0x168a0: 0x40061e20, 0x168a1: 0xce8e0be1, 0x168a2: 0x402c0a20, 0x168a3: 0xc33331e1,\n\t0x168a4: 0x402c6220, 0x168a5: 0xce6b0be1, 0x168a6: 0x402d0820, 0x168a7: 0x402d2220,\n\t0x168a8: 0x402d6820, 0x168a9: 0x402d9a20, 0x168aa: 0x402dcc20, 0x168ab: 0x402dfe20,\n\t0x168ac: 0xc0000002, 0x168ad: 0x402e8220, 0x168ae: 0xc53331e1, 0x168af: 0xc33d31e1,\n\t0x168b0: 0x402f2c20, 0x168b1: 0x402f5620, 0x168b2: 0x402f7a20, 0x168b3: 0xc34131e1,\n\t0x168b4: 0x40302c20, 0x168b5: 0x40306c20, 0x168b6: 0x4030be20, 0x168b7: 0x4030e220,\n\t0x168b8: 0x4030f620, 0x168b9: 0x40310020, 0x168ba: 0xce929711, 0x168bb: 0x4003fc20,\n\t0x168bc: 0x40094820, 0x168bd: 0x4003fe20, 0x168be: 0x40094c20, 0x168bf: 0xa0000000,\n\t// Block 0x5a3, offset 0x168c0\n\t0x168c0: 0xe00008f5, 0x168c1: 0xe00008ef, 0x168c2: 0xe0000921, 0x168c3: 0xe0000969,\n\t0x168c4: 0xe000095b, 0x168c5: 0xe000094d, 0x168c6: 0xe00009dd, 0x168c7: 0xe0000a53,\n\t0x168c8: 0xe0000ae8, 0x168c9: 0xe0000ae2, 0x168ca: 0xe0000af4, 0x168cb: 0xe0000b20,\n\t0x168cc: 0xe0000c2b, 0x168cd: 0xe0000c25, 0x168ce: 0xe0000c37, 0x168cf: 0xe0000c43,\n\t0x168d0: 0xe0000ab3, 0x168d1: 0xe0000d63, 0x168d2: 0xe0000d9a, 0x168d3: 0x002ee483,\n\t0x168d4: 0xe0000da6, 0x168d5: 0xe0000de6, 0x168d6: 0xe0000dd2, 0x168d7: 0x40093e20,\n\t0x168d8: 0xe0000e12, 0x168d9: 0xe0000fe1, 0x168da: 0xe0000fdb, 0x168db: 0xe0000fed,\n\t0x168dc: 0xe0000fff, 0x168dd: 0xe0001102, 0x168de: 0x00318888, 0x168df: 0xe0000f7b,\n\t0x168e0: 0xe00008f2, 0x168e1: 0xe00008ec, 0x168e2: 0xe000091e, 0x168e3: 0xe0000966,\n\t0x168e4: 0xe0000958, 0x168e5: 0xe000094a, 0x168e6: 0xe00009d5, 0x168e7: 0xe0000a4d,\n\t0x168e8: 0xe0000ae5, 0x168e9: 0xe0000adf, 0x168ea: 0xe0000af1, 0x168eb: 0xe0000b1d,\n\t0x168ec: 0xe0000c28, 0x168ed: 0xe0000c22, 0x168ee: 0xe0000c34, 0x168ef: 0xe0000c40,\n\t0x168f0: 0xe0000aad, 0x168f1: 0xe0000d60, 0x168f2: 0xe0000d97, 0x168f3: 0x402ee420,\n\t0x168f4: 0xe0000da3, 0x168f5: 0xe0000de3, 0x168f6: 0xe0000dcf, 0x168f7: 0x40093c20,\n\t0x168f8: 0xe0000e0f, 0x168f9: 0xe0000fde, 0x168fa: 0xe0000fd8, 0x168fb: 0xe0000fea,\n\t0x168fc: 0xe0000ffc, 0x168fd: 0xe00010ff, 0x168fe: 0x40318820, 0x168ff: 0xe0001114,\n\t// Block 0x5a4, offset 0x16900\n\t0x16900: 0xe0000983, 0x16901: 0xe0000980, 0x16902: 0xe00008fb, 0x16903: 0xe00008f8,\n\t0x16904: 0x002be083, 0x16905: 0x402be020, 0x16906: 0x002c3c83, 0x16907: 0x402c3c20,\n\t0x16908: 0xe0000a3e, 0x16909: 0xe0000a3b, 0x1690a: 0xe0000a4a, 0x1690b: 0xe0000a47,\n\t0x1690c: 0xe0000a44, 0x1690d: 0xe0000a41, 0x1690e: 0xe0000a86, 0x1690f: 0xe0000a83,\n\t0x16910: 0xe0000aaa, 0x16911: 0xe0000aa7, 0x16912: 0xe0000b46, 0x16913: 0xe0000b43,\n\t0x16914: 0xe0000aee, 0x16915: 0xe0000aeb, 0x16916: 0xe0000b2c, 0x16917: 0xe0000b29,\n\t0x16918: 0x002c9a83, 0x16919: 0x402c9a20, 0x1691a: 0xe0000b1a, 0x1691b: 0xe0000b17,\n\t0x1691c: 0xe0000bb8, 0x1691d: 0xe0000bb5, 0x1691e: 0xe0000bb2, 0x1691f: 0xe0000baf,\n\t0x16920: 0xe0000bc4, 0x16921: 0xe0000bc1, 0x16922: 0xe0000bca, 0x16923: 0xe0000bc7,\n\t0x16924: 0xe0000bee, 0x16925: 0xe0000beb, 0x16926: 0xe0000c1b, 0x16927: 0xe0000c18,\n\t0x16928: 0xe0000c51, 0x16929: 0xe0000c4e, 0x1692a: 0xe0000c60, 0x1692b: 0xe0000c5d,\n\t0x1692c: 0xe0000c31, 0x1692d: 0xe0000c2e, 0x1692e: 0xe0000c5a, 0x1692f: 0xe0000c57,\n\t0x16930: 0xe0000c54, 0x16931: 0x402da220, 0x16932: 0xf0000a0a, 0x16933: 0xf0000404,\n\t0x16934: 0xe0000c8a, 0x16935: 0xe0000c87, 0x16936: 0xe0000c9f, 0x16937: 0xe0000c9c,\n\t0x16938: 0x402f7220, 0x16939: 0xe0000ccc, 0x1693a: 0xe0000cc9, 0x1693b: 0xe0000cd8,\n\t0x1693c: 0xe0000cd5, 0x1693d: 0xe0000cd2, 0x1693e: 0xe0000ccf, 0x1693f: 0xe0000d04,\n\t// Block 0x5a5, offset 0x16940\n\t0x16940: 0xe0000cfe, 0x16941: 0x002e2483, 0x16942: 0x402e2420, 0x16943: 0x002ea083,\n\t0x16944: 0x402ea020, 0x16945: 0xe0000d6f, 0x16946: 0xe0000d6c, 0x16947: 0xe0000d5d,\n\t0x16948: 0xe0000d5a, 0x16949: 0xf0000404, 0x1694a: 0x002eda88, 0x1694b: 0x402eda20,\n\t0x1694c: 0xe0000e2e, 0x1694d: 0xe0000e2b, 0x1694e: 0xe0000da0, 0x1694f: 0xe0000d9d,\n\t0x16950: 0xe0000de0, 0x16951: 0xe0000ddd, 0x16952: 0xe0000e93, 0x16953: 0xe0000e8f,\n\t0x16954: 0xe0000eca, 0x16955: 0xe0000ec7, 0x16956: 0xe0000edc, 0x16957: 0xe0000ed9,\n\t0x16958: 0xe0000ed0, 0x16959: 0xe0000ecd, 0x1695a: 0x002fe883, 0x1695b: 0x402fe820,\n\t0x1695c: 0xe0000f2d, 0x1695d: 0xe0000f2a, 0x1695e: 0xe0000f47, 0x1695f: 0xe0000f44,\n\t0x16960: 0xe0000f33, 0x16961: 0xe0000f30, 0x16962: 0xe0000f99, 0x16963: 0xe0000f96,\n\t0x16964: 0xe0000f8a, 0x16965: 0xe0000f87, 0x16966: 0x00303688, 0x16967: 0x40303620,\n\t0x16968: 0xe000102b, 0x16969: 0xe0001028, 0x1696a: 0xe000103f, 0x1696b: 0xe000103c,\n\t0x1696c: 0xe0000fe7, 0x1696d: 0xe0000fe4, 0x1696e: 0xe0000ff9, 0x1696f: 0xe0000ff6,\n\t0x16970: 0xe0001025, 0x16971: 0xe0001022, 0x16972: 0xe0001039, 0x16973: 0xe0001036,\n\t0x16974: 0xe00010d8, 0x16975: 0xe00010d5, 0x16976: 0xe000110e, 0x16977: 0xe000110b,\n\t0x16978: 0xe0001117, 0x16979: 0x00312c83, 0x1697a: 0x40312c20, 0x1697b: 0x00312e83,\n\t0x1697c: 0x40312e20, 0x1697d: 0xe0001147, 0x1697e: 0xe0001144, 0x1697f: 0xe0000f64,\n\t// Block 0x5a6, offset 0x16980\n\t0x16980: 0xe00009b1, 0x16981: 0xe00009ae, 0x16982: 0xe0000a22, 0x16983: 0xe0000a1f,\n\t0x16984: 0xe0000a28, 0x16985: 0xe0000a25, 0x16986: 0xe0000a2e, 0x16987: 0xe0000a2b,\n\t0x16988: 0xe000261a, 0x16989: 0xe0002617, 0x1698a: 0xe0000a8c, 0x1698b: 0xe0000a89,\n\t0x1698c: 0xe0000a98, 0x1698d: 0xe0000a95, 0x1698e: 0xe0000aa4, 0x1698f: 0xe0000aa1,\n\t0x16990: 0xe0000a92, 0x16991: 0xe0000a8f, 0x16992: 0xe0000a9e, 0x16993: 0xe0000a9b,\n\t0x16994: 0xe0000b55, 0x16995: 0xe0000b51, 0x16996: 0xe0000b4d, 0x16997: 0xe0000b49,\n\t0x16998: 0xe0000b7c, 0x16999: 0xe0000b79, 0x1699a: 0xe0000b82, 0x1699b: 0xe0000b7f,\n\t0x1699c: 0xe0000b39, 0x1699d: 0xe0000b35, 0x1699e: 0xe0000b8c, 0x1699f: 0xe0000b89,\n\t0x169a0: 0xe0000bd0, 0x169a1: 0xe0000bcd, 0x169a2: 0xe0000c00, 0x169a3: 0xe0000bfd,\n\t0x169a4: 0xe0000c0c, 0x169a5: 0xe0000c09, 0x169a6: 0xe0000bfa, 0x169a7: 0xe0000bf7,\n\t0x169a8: 0xe0000c06, 0x169a9: 0xe0000c03, 0x169aa: 0xe0000c12, 0x169ab: 0xe0000c0f,\n\t0x169ac: 0xe0000c7e, 0x169ad: 0xe0000c7b, 0x169ae: 0xe0000c4a, 0x169af: 0xe0000c46,\n\t0x169b0: 0xe0000c93, 0x169b1: 0xe0000c90, 0x169b2: 0xe0000cab, 0x169b3: 0xe0000ca8,\n\t0x169b4: 0xe0000cb1, 0x169b5: 0xe0000cae, 0x169b6: 0xe0000cde, 0x169b7: 0xe0000cdb,\n\t0x169b8: 0xe0000ce5, 0x169b9: 0xe0000ce1, 0x169ba: 0xe0000cf2, 0x169bb: 0xe0000cef,\n\t0x169bc: 0xe0000cec, 0x169bd: 0xe0000ce9, 0x169be: 0xe0000d1e, 0x169bf: 0xe0000d1b,\n\t// Block 0x5a7, offset 0x169c0\n\t0x169c0: 0xe0000d24, 0x169c1: 0xe0000d21, 0x169c2: 0xe0000d2a, 0x169c3: 0xe0000d27,\n\t0x169c4: 0xe0000d69, 0x169c5: 0xe0000d66, 0x169c6: 0xe0000d7b, 0x169c7: 0xe0000d78,\n\t0x169c8: 0xe0000d87, 0x169c9: 0xe0000d84, 0x169ca: 0xe0000d81, 0x169cb: 0xe0000d7e,\n\t0x169cc: 0xe0002946, 0x169cd: 0xe0002943, 0x169ce: 0xe0000df5, 0x169cf: 0xe0000df1,\n\t0x169d0: 0xe0000e3d, 0x169d1: 0xe0000e39, 0x169d2: 0xe000294c, 0x169d3: 0xe0002949,\n\t0x169d4: 0xe0000ea7, 0x169d5: 0xe0000ea4, 0x169d6: 0xe0000ead, 0x169d7: 0xe0000eaa,\n\t0x169d8: 0xe0000ed6, 0x169d9: 0xe0000ed3, 0x169da: 0xe0000ef4, 0x169db: 0xe0000ef1,\n\t0x169dc: 0xe0000efb, 0x169dd: 0xe0000ef7, 0x169de: 0xe0000f02, 0x169df: 0xe0000eff,\n\t0x169e0: 0xe0000f41, 0x169e1: 0xe0000f3e, 0x169e2: 0xe0000f53, 0x169e3: 0xe0000f50,\n\t0x169e4: 0xe000296a, 0x169e5: 0xe0002967, 0x169e6: 0xe0000f3a, 0x169e7: 0xe0000f36,\n\t0x169e8: 0xe0000f5a, 0x169e9: 0xe0000f56, 0x169ea: 0xe0000f93, 0x169eb: 0xe0000f90,\n\t0x169ec: 0xe0000f9f, 0x169ed: 0xe0000f9c, 0x169ee: 0xe0000fb1, 0x169ef: 0xe0000fae,\n\t0x169f0: 0xe0000fab, 0x169f1: 0xe0000fa8, 0x169f2: 0xe0001093, 0x169f3: 0xe0001090,\n\t0x169f4: 0xe000109f, 0x169f5: 0xe000109c, 0x169f6: 0xe0001099, 0x169f7: 0xe0001096,\n\t0x169f8: 0xe0001032, 0x169f9: 0xe000102e, 0x169fa: 0xe0001046, 0x169fb: 0xe0001042,\n\t0x169fc: 0xe00010a9, 0x169fd: 0xe00010a6, 0x169fe: 0xe00010af, 0x169ff: 0xe00010ac,\n\t// Block 0x5a8, offset 0x16a00\n\t0x16a00: 0xe0000b03, 0x16a01: 0xe0000aff, 0x16a02: 0xe0000b13, 0x16a03: 0xe0000b0f,\n\t0x16a04: 0xe0000b0b, 0x16a05: 0xe0000b07, 0x16a06: 0xe0000b75, 0x16a07: 0xe0000b71,\n\t0x16a08: 0xe0000c66, 0x16a09: 0xe0000c63, 0x16a0a: 0xe0000c78, 0x16a0b: 0xe0000c75,\n\t0x16a0c: 0xe0000e84, 0x16a0d: 0xe0000e81, 0x16a0e: 0xe0000e44, 0x16a0f: 0xe0000e41,\n\t0x16a10: 0xe0003c96, 0x16a11: 0xe0003c93, 0x16a12: 0xe0000db5, 0x16a13: 0xe0000db1,\n\t0x16a14: 0xe0000dc5, 0x16a15: 0xe0000dc1, 0x16a16: 0xe0000dbd, 0x16a17: 0xe0000db9,\n\t0x16a18: 0xe0000e8b, 0x16a19: 0xe0000e87, 0x16a1a: 0xe0003c9c, 0x16a1b: 0xe0003c99,\n\t0x16a1c: 0xe0000e65, 0x16a1d: 0xe0000e61, 0x16a1e: 0xe0000e75, 0x16a1f: 0xe0000e71,\n\t0x16a20: 0xe0000e6d, 0x16a21: 0xe0000e69, 0x16a22: 0xe0000e7d, 0x16a23: 0xe0000e79,\n\t0x16a24: 0xe000108d, 0x16a25: 0xe000108a, 0x16a26: 0xe000104d, 0x16a27: 0xe000104a,\n\t0x16a28: 0xe0001066, 0x16a29: 0xe0001062, 0x16a2a: 0xe000106e, 0x16a2b: 0xe000106a,\n\t0x16a2c: 0xe000107e, 0x16a2d: 0xe000107a, 0x16a2e: 0xe0001076, 0x16a2f: 0xe0001072,\n\t0x16a30: 0xe0001086, 0x16a31: 0xe0001082, 0x16a32: 0xe0001108, 0x16a33: 0xe0001105,\n\t0x16a34: 0xe0001135, 0x16a35: 0xe0001132, 0x16a36: 0xe000112f, 0x16a37: 0xe000112c,\n\t0x16a38: 0xe000111d, 0x16a39: 0xe000111a, 0x16a3a: 0xe0000d0a, 0x16a3b: 0xe0000d07,\n\t0x16a3c: 0x0030d888, 0x16a3d: 0x4030d820, 0x16a3e: 0x00312088, 0x16a3f: 0x40312020,\n\t// Block 0x5a9, offset 0x16a40\n\t0x16a40: 0xa0000000, 0x16a41: 0xa0000000, 0x16a42: 0xa0000000, 0x16a43: 0xa0000000,\n\t0x16a44: 0xa0000000, 0x16a46: 0x40096620, 0x16a47: 0x40096a20,\n\t0x16a48: 0x40070820, 0x16a49: 0x4004f220, 0x16a4a: 0x4004f620, 0x16a4b: 0x4027e620,\n\t0x16a4c: 0x40024820, 0x16a4d: 0x40024a20, 0x16a4e: 0x40070e20, 0x16a4f: 0x40071020,\n\t0x16a50: 0xae600000, 0x16a51: 0xae600000, 0x16a52: 0xae600000, 0x16a53: 0xae600000,\n\t0x16a54: 0xae600000, 0x16a55: 0xae600000, 0x16a56: 0xae600000, 0x16a57: 0xae600000,\n\t0x16a58: 0xa1e00000, 0x16a59: 0xa1f00000, 0x16a5a: 0xa2000000, 0x16a5b: 0x40026420,\n\t0x16a5e: 0x40027020, 0x16a5f: 0x4002cc20,\n\t0x16a60: 0x403aa220, 0x16a61: 0x40393a20, 0x16a62: 0x40393620, 0x16a63: 0x40393821,\n\t0x16a64: 0x403a7421, 0x16a65: 0x40393824, 0x16a66: 0x003a9344, 0x16a67: 0xce980151,\n\t0x16a68: 0x40393c20, 0x16a69: 0x403a6824, 0x16a6a: 0x40395620, 0x16a6b: 0x40395820,\n\t0x16a6c: 0x40396420, 0x16a6d: 0xce9c0171, 0x16a6e: 0x40397420, 0x16a6f: 0x40398820,\n\t0x16a70: 0x40398a20, 0x16a71: 0x4039a420, 0x16a72: 0x4039a620, 0x16a73: 0x4039c620,\n\t0x16a74: 0x4039c820, 0x16a75: 0x4039dc20, 0x16a76: 0x4039de20, 0x16a77: 0x4039e620,\n\t0x16a78: 0x4039e820, 0x16a79: 0x4039ee20, 0x16a7a: 0x4039f020, 0x16a7b: 0x403a3820,\n\t0x16a7c: 0x403a3a20, 0x16a7d: 0x403a9c20, 0x16a7e: 0x403a9e20, 0x16a7f: 0x403aa020,\n\t// Block 0x5aa, offset 0x16a80\n\t0x16a80: 0xa0000000, 0x16a81: 0x4039fc20, 0x16a82: 0x403a1220, 0x16a83: 0x403a1c22,\n\t0x16a84: 0x403a4020, 0x16a85: 0x403a4e20, 0x16a86: 0x403a5620, 0x16a87: 0xcea00171,\n\t0x16a88: 0xcea20171, 0x16a89: 0xcea60171, 0x16a8a: 0xcea80171, 0x16a8b: 0xa000b002,\n\t0x16a8c: 0xa000b202, 0x16a8d: 0xa000b102, 0x16a8e: 0xa1e0ad02, 0x16a8f: 0xa000af02,\n\t0x16a90: 0xa000ae02, 0x16a91: 0xa210ba02, 0x16a92: 0xa220bc02, 0x16a93: 0xae60bd02,\n\t0x16a94: 0xae60be02, 0x16a95: 0xadc0bf02, 0x16a96: 0xadc0c102, 0x16a97: 0xae60c202,\n\t0x16a98: 0xae60c302, 0x16a99: 0xae60c402, 0x16a9a: 0xae60c502, 0x16a9b: 0xae60c602,\n\t0x16a9c: 0xadc0c702, 0x16a9d: 0xae60c802, 0x16a9e: 0xae60c902, 0x16a9f: 0xadc0c002,\n\t0x16aa0: 0xe000015e, 0x16aa1: 0xe00001e6, 0x16aa2: 0xe0000301, 0x16aa3: 0xe00003db,\n\t0x16aa4: 0xe00004b6, 0x16aa5: 0xe0000580, 0x16aa6: 0xe000064b, 0x16aa7: 0xe00006f3,\n\t0x16aa8: 0xe000079f, 0x16aa9: 0xe0000844, 0x16aaa: 0x4004ee20, 0x16aab: 0x40024c20,\n\t0x16aac: 0x40024e20, 0x16aad: 0x4004de20, 0x16aae: 0x40393a20, 0x16aaf: 0x403a1020,\n\t0x16ab0: 0xa230d102, 0x16ab1: 0x40393823, 0x16ab2: 0x40393822, 0x16ab3: 0x40393825,\n\t0x16ab4: 0x00391c84, 0x16ab5: 0xf0000404, 0x16ab6: 0xf0000404, 0x16ab7: 0xe000ad89,\n\t0x16ab8: 0xe0003780, 0x16ab9: 0x40395821, 0x16aba: 0x40395c20, 0x16abb: 0x40393e20,\n\t0x16abc: 0x40395820, 0x16abd: 0x40396020, 0x16abe: 0x40394020, 0x16abf: 0x40396220,\n\t// Block 0x5ab, offset 0x16ac0\n\t0x16ac0: 0x40394220, 0x16ac1: 0x40396620, 0x16ac2: 0x40397820, 0x16ac3: 0x40396620,\n\t0x16ac4: 0x40396820, 0x16ac5: 0x40396c20, 0x16ac6: 0x40396a20, 0x16ac7: 0x40396e20,\n\t0x16ac8: 0x40398a21, 0x16ac9: 0x40398a20, 0x16aca: 0x40399020, 0x16acb: 0x40399220,\n\t0x16acc: 0x40399420, 0x16acd: 0x40399620, 0x16ace: 0x40399820, 0x16acf: 0x40399a20,\n\t0x16ad0: 0x40399c20, 0x16ad1: 0x4039a621, 0x16ad2: 0x4039aa20, 0x16ad3: 0x4039a620,\n\t0x16ad4: 0x4039ae20, 0x16ad5: 0x4039b020, 0x16ad6: 0x4039b820, 0x16ad7: 0x4039b420,\n\t0x16ad8: 0x4039b620, 0x16ad9: 0x4039b820, 0x16ada: 0x4039ca20, 0x16adb: 0x4039cc20,\n\t0x16adc: 0x4039ce20, 0x16add: 0x4039e020, 0x16ade: 0x4039e220, 0x16adf: 0x4039ea20,\n\t0x16ae0: 0x4039f220, 0x16ae1: 0x4039fe20, 0x16ae2: 0x403a0020, 0x16ae3: 0x403a0220,\n\t0x16ae4: 0x403a0420, 0x16ae5: 0x403a0820, 0x16ae6: 0x403a0a20, 0x16ae7: 0x403a1420,\n\t0x16ae8: 0x403a1620, 0x16ae9: 0x403a1c20, 0x16aea: 0x403a1c21, 0x16aeb: 0x403a2020,\n\t0x16aec: 0x403a2220, 0x16aed: 0x403a2620, 0x16aee: 0x403a2820, 0x16aef: 0x403a2021,\n\t0x16af0: 0x403a2c20, 0x16af1: 0x403a2e20, 0x16af2: 0x403a3020, 0x16af3: 0x403a3220,\n\t0x16af4: 0x403a3420, 0x16af5: 0x403a4220, 0x16af6: 0x403a4420, 0x16af7: 0x403a4620,\n\t0x16af8: 0x403a4820, 0x16af9: 0x403a6020, 0x16afa: 0x403a5820, 0x16afb: 0x403a5c21,\n\t0x16afc: 0x403a5c20, 0x16afd: 0x403a5e20, 0x16afe: 0x403a6823, 0x16aff: 0x40396c20,\n\t// Block 0x5ac, offset 0x16b00\n\t0x16b00: 0x003a6883, 0x16b01: 0x403a6822, 0x16b02: 0xe000ad86, 0x16b03: 0x403a6825,\n\t0x16b04: 0x403a7620, 0x16b05: 0x403a7820, 0x16b06: 0x403a7a20, 0x16b07: 0x403a7422,\n\t0x16b08: 0x403a7e20, 0x16b09: 0x403a7423, 0x16b0a: 0x403a8220, 0x16b0b: 0x403a8420,\n\t0x16b0c: 0xcea40171, 0x16b0d: 0x403a9225, 0x16b0e: 0x403a9620, 0x16b0f: 0x403a8620,\n\t0x16b10: 0x403a9224, 0x16b11: 0x403a9a20, 0x16b12: 0x403a9222, 0x16b13: 0xe00037b6,\n\t0x16b14: 0x4002e820, 0x16b15: 0xce9e0171, 0x16b16: 0xae600000, 0x16b17: 0xae600000,\n\t0x16b18: 0xae600000, 0x16b19: 0xae600000, 0x16b1a: 0xae600000, 0x16b1b: 0xae600000,\n\t0x16b1c: 0xae600000, 0x16b1d: 0xa0000000, 0x16b1e: 0x40071220, 0x16b1f: 0xae600000,\n\t0x16b20: 0xae600000, 0x16b21: 0xae600000, 0x16b22: 0xae600000, 0x16b23: 0xadc00000,\n\t0x16b24: 0xae600000, 0x16b25: 0x003a7484, 0x16b26: 0x003a9084, 0x16b27: 0xae600000,\n\t0x16b28: 0xae600000, 0x16b29: 0x40071420, 0x16b2a: 0xadc00000, 0x16b2b: 0xae600000,\n\t0x16b2c: 0xae600000, 0x16b2d: 0xadc00000, 0x16b2e: 0x40399e20, 0x16b2f: 0x4039ba20,\n\t0x16b30: 0xe0000161, 0x16b31: 0xe00001e9, 0x16b32: 0xe0000304, 0x16b33: 0xe00003de,\n\t0x16b34: 0xe00004b9, 0x16b35: 0xe0000583, 0x16b36: 0xe000064e, 0x16b37: 0xe00006f6,\n\t0x16b38: 0xe00007a2, 0x16b39: 0xe0000847, 0x16b3a: 0x4039d020, 0x16b3b: 0x4039e420,\n\t0x16b3c: 0x4039f420, 0x16b3d: 0xe0001553, 0x16b3e: 0xe0001779, 0x16b3f: 0x403a7020,\n\t// Block 0x5ad, offset 0x16b40\n\t0x16b40: 0x00021284, 0x16b41: 0x00021284, 0x16b42: 0x00021284, 0x16b43: 0x00021284,\n\t0x16b44: 0x00021284, 0x16b45: 0x00021284, 0x16b46: 0x00021284, 0x16b47: 0x0002129b,\n\t0x16b48: 0x00021284, 0x16b49: 0x00021284, 0x16b4a: 0x00021284, 0x16b4b: 0xa0000000,\n\t0x16b4c: 0x40021221, 0x16b4d: 0x40021222, 0x16b4e: 0xa0000000, 0x16b4f: 0xa0000000,\n\t0x16b50: 0x40022620, 0x16b51: 0x0002269b, 0x16b52: 0x40022820, 0x16b53: 0x40022a20,\n\t0x16b54: 0x40022c20, 0x16b55: 0x40022e20, 0x16b56: 0x4004c420, 0x16b57: 0x40021820,\n\t0x16b58: 0x4003d420, 0x16b59: 0x4003d620, 0x16b5a: 0x4003d820, 0x16b5b: 0x4003da20,\n\t0x16b5c: 0x4003e220, 0x16b5d: 0x4003e420, 0x16b5e: 0x4003e620, 0x16b5f: 0x4003e820,\n\t0x16b60: 0x4004f820, 0x16b61: 0x4004fa20, 0x16b62: 0x40050220, 0x16b63: 0x40050420,\n\t0x16b64: 0x0002e484, 0x16b65: 0xf0001f04, 0x16b66: 0xf0000404, 0x16b67: 0x40050620,\n\t0x16b68: 0x40020e20, 0x16b69: 0x40021020, 0x16b6a: 0xa0000000, 0x16b6b: 0xa0000000,\n\t0x16b6c: 0xa0000000, 0x16b6d: 0xa0000000, 0x16b6e: 0xa0000000, 0x16b6f: 0x0002129b,\n\t0x16b70: 0x4004f020, 0x16b71: 0x4004f420, 0x16b72: 0x40050e20, 0x16b73: 0xf0001f04,\n\t0x16b74: 0xf0000404, 0x16b75: 0x40051020, 0x16b76: 0xf0001f04, 0x16b77: 0xf0000404,\n\t0x16b78: 0x40051620, 0x16b79: 0x4003dc20, 0x16b7a: 0x4003de20, 0x16b7b: 0x40051820,\n\t0x16b7c: 0xf0001f04, 0x16b7d: 0x4002e020, 0x16b7e: 0x40021420, 0x16b7f: 0x40051a20,\n\t// Block 0x5ae, offset 0x16b80\n\t0x16b80: 0x40073420, 0x16b81: 0x40073620,\n\t0x16b93: 0x003a269a,\n\t0x16b94: 0x003a2699, 0x16b95: 0x003a2697, 0x16b96: 0x003a2698, 0x16b97: 0x003a7c9a,\n\t0x16b98: 0x003a7c99, 0x16b99: 0x003a7a9a, 0x16b9a: 0x003a7a99, 0x16b9b: 0x003a7e9a,\n\t0x16b9c: 0x003a7e99, 0x16b9d: 0xe000ad8c, 0x16b9e: 0x003a849a, 0x16b9f: 0x003a8499,\n\t0x16ba0: 0x003a789a, 0x16ba1: 0x003a7899, 0x16ba2: 0x003a809a, 0x16ba3: 0x003a8099,\n\t0x16ba4: 0x003a989a, 0x16ba5: 0x003a9899, 0x16ba6: 0x003a9897, 0x16ba7: 0x003a9898,\n\t0x16ba8: 0x003a8e97, 0x16ba9: 0x003a8e98, 0x16baa: 0xe0001559, 0x16bab: 0xe0001556,\n\t0x16bac: 0xe0001589, 0x16bad: 0xe0001586, 0x16bae: 0xe000158f, 0x16baf: 0xe000158c,\n\t0x16bb0: 0xe000159b, 0x16bb1: 0xe0001598, 0x16bb2: 0xe0001595, 0x16bb3: 0xe0001592,\n\t0x16bb4: 0xe00015a1, 0x16bb5: 0xe000159e, 0x16bb6: 0xe00015bf, 0x16bb7: 0xe00015bc,\n\t0x16bb8: 0xe00015b9, 0x16bb9: 0xe00015ad, 0x16bba: 0xe00015a7, 0x16bbb: 0xe00015a4,\n\t0x16bbc: 0x003a929a, 0x16bbd: 0x003a9299, 0x16bbe: 0x003a9297, 0x16bbf: 0x003a9298,\n\t// Block 0x5af, offset 0x16bc0\n\t0x16bc0: 0xf0001a1a, 0x16bc1: 0xf0001a1a, 0x16bc2: 0xf0001a1a, 0x16bc3: 0xe00028f4,\n\t0x16bc4: 0xe000374d, 0x16bc5: 0xf0001a1a, 0x16bc6: 0xf0001a1a, 0x16bc7: 0xf0001a1a,\n\t0x16bc8: 0xf0001a1a, 0x16bc9: 0xe00028f7, 0x16bca: 0xe0003750, 0x16bcb: 0xf0001a1a,\n\t0x16bcc: 0xf0001a1a, 0x16bcd: 0xf0001a1a, 0x16bce: 0xf0001a1a, 0x16bcf: 0xe00028fd,\n\t0x16bd0: 0xe000375c, 0x16bd1: 0xf0001a1a, 0x16bd2: 0xf0001a1a, 0x16bd3: 0xe0002900,\n\t0x16bd4: 0xe000376e, 0x16bd5: 0xe0003786, 0x16bd6: 0xe000378c, 0x16bd7: 0xe0003792,\n\t0x16bd8: 0xe00037a4, 0x16bd9: 0xe0002906, 0x16bda: 0xe00037b3, 0x16bdb: 0xf0001a1a,\n\t0x16bdc: 0xf0001a1a, 0x16bdd: 0xe000377d, 0x16bde: 0xe0000003, 0x16bdf: 0xe0000006,\n\t0x16be0: 0xe0000009, 0x16be1: 0xe000000c, 0x16be2: 0xe000000f, 0x16be3: 0xe0000012,\n\t0x16be4: 0xe000156b, 0x16be5: 0xe000156e, 0x16be6: 0xe0001577, 0x16be7: 0xe000157d,\n\t0x16be8: 0xe00015aa, 0x16be9: 0xe00015b3, 0x16bea: 0xf0001919, 0x16beb: 0xf0001919,\n\t0x16bec: 0xf0001919, 0x16bed: 0xf0001919, 0x16bee: 0xe0002891, 0x16bef: 0xe00036a2,\n\t0x16bf0: 0xf0001919, 0x16bf1: 0xf0001919, 0x16bf2: 0xf0001919, 0x16bf3: 0xf0001919,\n\t0x16bf4: 0xe0002897, 0x16bf5: 0xe00036ae, 0x16bf6: 0xf0001919, 0x16bf7: 0xf0001919,\n\t0x16bf8: 0xf0001919, 0x16bf9: 0xf0001919, 0x16bfa: 0xe000289d, 0x16bfb: 0xe00036b7,\n\t0x16bfc: 0xe00028df, 0x16bfd: 0xe0003705, 0x16bfe: 0xe00028e5, 0x16bff: 0xe000370b,\n\t// Block 0x5b0, offset 0x16c00\n\t0x16c00: 0xe0003711, 0x16c01: 0xe000372f, 0x16c02: 0xe000373b, 0x16c03: 0xe00028eb,\n\t0x16c04: 0xe0003741, 0x16c05: 0xf0001919, 0x16c06: 0xe00028f1, 0x16c07: 0xe000374a,\n\t0x16c08: 0xf0001919, 0x16c09: 0xf0001919, 0x16c0a: 0xf0001919, 0x16c0b: 0xf0001919,\n\t0x16c0c: 0xf0001919, 0x16c0d: 0xf0001919, 0x16c0e: 0xe00028fa, 0x16c0f: 0xe0003759,\n\t0x16c10: 0xe000377a, 0x16c11: 0xe0003795, 0x16c12: 0xe0003798, 0x16c13: 0xe00037a1,\n\t0x16c14: 0xe00037a7, 0x16c15: 0xe0002903, 0x16c16: 0xe00037b0, 0x16c17: 0xe000155c,\n\t0x16c18: 0xe0001562, 0x16c19: 0xe0001568, 0x16c1a: 0xe0001571, 0x16c1b: 0xe0001580,\n\t0x16c1c: 0xf0001717, 0x16c1d: 0xf0001717, 0x16c1e: 0xf0001717, 0x16c1f: 0xf0001717,\n\t0x16c20: 0xf0001717, 0x16c21: 0xf0001717, 0x16c22: 0xf0001717, 0x16c23: 0xf0001717,\n\t0x16c24: 0xf0001717, 0x16c25: 0xf0001717, 0x16c26: 0xf0001717, 0x16c27: 0xf0001717,\n\t0x16c28: 0xf0001717, 0x16c29: 0xf0001717, 0x16c2a: 0xf0001717, 0x16c2b: 0xf0001717,\n\t0x16c2c: 0xf0001717, 0x16c2d: 0xf0001717, 0x16c2e: 0xf0001717, 0x16c2f: 0xf0001717,\n\t0x16c30: 0xf0001717, 0x16c31: 0xf0001717, 0x16c32: 0xf0001717, 0x16c33: 0xf0001717,\n\t0x16c34: 0xf0001717, 0x16c35: 0xf0001717, 0x16c36: 0xf0001717, 0x16c37: 0xf0001717,\n\t0x16c38: 0xf0001717, 0x16c39: 0xf0001717, 0x16c3a: 0xf0001717, 0x16c3b: 0xf0001717,\n\t0x16c3c: 0xf0001717, 0x16c3d: 0xf0001717, 0x16c3e: 0xf0001717, 0x16c3f: 0xf0001717,\n\t// Block 0x5b1, offset 0x16c40\n\t0x16c40: 0xf0001717, 0x16c41: 0xf0001717, 0x16c42: 0xf0001717, 0x16c43: 0xf0001717,\n\t0x16c44: 0xe0003717, 0x16c45: 0xe000371d, 0x16c46: 0xe0003723, 0x16c47: 0xe0003729,\n\t0x16c48: 0xe0003735, 0x16c49: 0xf0001717, 0x16c4a: 0xf0001717, 0x16c4b: 0xf0001717,\n\t0x16c4c: 0xf0001717, 0x16c4d: 0xf0001717, 0x16c4e: 0xf0001717, 0x16c4f: 0xf0001717,\n\t0x16c50: 0xf0001717, 0x16c51: 0xf0001717, 0x16c52: 0xf0001717, 0x16c53: 0xf0001717,\n\t0x16c54: 0xf0001717, 0x16c55: 0xf0001717, 0x16c56: 0xf0001717, 0x16c57: 0xf0001717,\n\t0x16c58: 0xf0001717, 0x16c59: 0xf0001717, 0x16c5a: 0xe0003783, 0x16c5b: 0xe0003789,\n\t0x16c5c: 0xe000378f, 0x16c5d: 0xe000379b, 0x16c5e: 0xe00037aa, 0x16c5f: 0xe0001574,\n\t0x16c60: 0xe0001583, 0x16c61: 0xf0001818, 0x16c62: 0xf0001818, 0x16c63: 0xf0001818,\n\t0x16c64: 0xf0001818, 0x16c65: 0xf0001818, 0x16c66: 0xf0001818, 0x16c67: 0xf0001818,\n\t0x16c68: 0xf0001818, 0x16c69: 0xf0001818, 0x16c6a: 0xf0001818, 0x16c6b: 0xe000372c,\n\t0x16c6c: 0xe0003738, 0x16c6d: 0xf0001818, 0x16c6e: 0xf0001818, 0x16c6f: 0xf0001818,\n\t0x16c70: 0xe000379e, 0x16c71: 0xe00037ad, 0x16c72: 0xf0001818, 0x16c73: 0xe0003690,\n\t0x16c74: 0xe0003693, 0x16c75: 0xe00028d0, 0x16c76: 0xe00036f6, 0x16c77: 0xe00028d6,\n\t0x16c78: 0xe00036fc, 0x16c79: 0xe00028dc, 0x16c7a: 0xe0003702, 0x16c7b: 0xe00028b8,\n\t0x16c7c: 0xe00036d8, 0x16c7d: 0xe00028be, 0x16c7e: 0xe00036e4, 0x16c7f: 0xe00028ac,\n\t// Block 0x5b2, offset 0x16c80\n\t0x16c80: 0xe00036c6, 0x16c81: 0xe00028a6, 0x16c82: 0xe00036c0, 0x16c83: 0xe00028b2,\n\t0x16c84: 0xe00036cc, 0x16c85: 0xe00028c4, 0x16c86: 0xe00036ea, 0x16c87: 0xe00028ca,\n\t0x16c88: 0xe00036f0, 0x16c89: 0xf0001a1a, 0x16c8a: 0xf0001a1a, 0x16c8b: 0xf0001a1a,\n\t0x16c8c: 0xf0001a1a, 0x16c8d: 0xf0001a1a, 0x16c8e: 0xf0001a1a, 0x16c8f: 0xf0001a1a,\n\t0x16c90: 0xf0001a1a, 0x16c91: 0xe00028cd, 0x16c92: 0xe00036f3, 0x16c93: 0xe00028d3,\n\t0x16c94: 0xe00036f9, 0x16c95: 0xe00028d9, 0x16c96: 0xe00036ff, 0x16c97: 0xe00028b5,\n\t0x16c98: 0xe00036d5, 0x16c99: 0xe00028bb, 0x16c9a: 0xe00036e1, 0x16c9b: 0xe00028a9,\n\t0x16c9c: 0xe00036c3, 0x16c9d: 0xe00028a3, 0x16c9e: 0xe00036bd, 0x16c9f: 0xe00028af,\n\t0x16ca0: 0xe00036c9, 0x16ca1: 0xe00028c1, 0x16ca2: 0xe00036e7, 0x16ca3: 0xe00028c7,\n\t0x16ca4: 0xe00036ed, 0x16ca5: 0xf0001919, 0x16ca6: 0xf0001919, 0x16ca7: 0xf0001919,\n\t0x16ca8: 0xf0001919, 0x16ca9: 0xf0001919, 0x16caa: 0xf0001919, 0x16cab: 0xf0001919,\n\t0x16cac: 0xf0001919, 0x16cad: 0xf0001717, 0x16cae: 0xf0001717, 0x16caf: 0xf0001717,\n\t0x16cb0: 0xf0001717, 0x16cb1: 0xf0001717, 0x16cb2: 0xf0001717, 0x16cb3: 0xf0001717,\n\t0x16cb4: 0xf0001818, 0x16cb5: 0xf0001818, 0x16cb6: 0xf0001818, 0x16cb7: 0xf0001818,\n\t0x16cb8: 0xf0001818, 0x16cb9: 0xf0001818, 0x16cba: 0xf0001818, 0x16cbb: 0xf0001818,\n\t0x16cbc: 0xe0003696, 0x16cbd: 0xe0003699, 0x16cbe: 0x4004c020, 0x16cbf: 0x4004c220,\n\t// Block 0x5b3, offset 0x16cc0\n\t0x16cc0: 0xa0000000, 0x16cc1: 0xa0000000, 0x16cc2: 0xa0000000, 0x16cc3: 0xa0000000,\n\t0x16cc4: 0xa0000000, 0x16cc5: 0xa0000000, 0x16cc6: 0xa0000000, 0x16cc7: 0xa0000000,\n\t0x16cc8: 0xa0000000, 0x16cc9: 0x40020020, 0x16cca: 0x40020220, 0x16ccb: 0x40020420,\n\t0x16ccc: 0x40020620, 0x16ccd: 0x40020820, 0x16cce: 0xa0000000, 0x16ccf: 0xa0000000,\n\t0x16cd0: 0xa0000000, 0x16cd1: 0xa0000000, 0x16cd2: 0xa0000000, 0x16cd3: 0xa0000000,\n\t0x16cd4: 0xa0000000, 0x16cd5: 0xa0000000, 0x16cd6: 0xa0000000, 0x16cd7: 0xa0000000,\n\t0x16cd8: 0xa0000000, 0x16cd9: 0xa0000000, 0x16cda: 0xa0000000, 0x16cdb: 0xa0000000,\n\t0x16cdc: 0xa0000000, 0x16cdd: 0xa0000000, 0x16cde: 0xa0000000, 0x16cdf: 0xa0000000,\n\t0x16ce0: 0x40021220, 0x16ce1: 0x4002ba20, 0x16ce2: 0x4003e020, 0x16ce3: 0x4004ea20,\n\t0x16ce4: 0x4027de20, 0x16ce5: 0x4004ec20, 0x16ce6: 0x4004e620, 0x16ce7: 0x4003d220,\n\t0x16ce8: 0x4003f420, 0x16ce9: 0x4003f620, 0x16cea: 0x4004d820, 0x16ceb: 0x40093820,\n\t0x16cec: 0x40024020, 0x16ced: 0x40021a20, 0x16cee: 0x4002e420, 0x16cef: 0x4004e220,\n\t0x16cf0: 0x4029cc20, 0x16cf1: 0x4029ce20, 0x16cf2: 0x4029d020, 0x16cf3: 0x4029d220,\n\t0x16cf4: 0x4029d420, 0x16cf5: 0x4029d620, 0x16cf6: 0x4029d820, 0x16cf7: 0x4029da20,\n\t0x16cf8: 0x4029dc20, 0x16cf9: 0x4029de20, 0x16cfa: 0x40026c20, 0x16cfb: 0x40026220,\n\t0x16cfc: 0x40094020, 0x16cfd: 0x40094220, 0x16cfe: 0x40094420, 0x16cff: 0x4002c420,\n\t// Block 0x5b4, offset 0x16d00\n\t0x16d00: 0x4004d620, 0x16d01: 0xcead9741, 0x16d02: 0x002c0a88, 0x16d03: 0x002c3a88,\n\t0x16d04: 0x002c6288, 0x16d05: 0x002c9888, 0x16d06: 0x002d0888, 0x16d07: 0x002d2288,\n\t0x16d08: 0x002d6888, 0x16d09: 0xc6182741, 0x16d0a: 0x002dcc88, 0x16d0b: 0x002dfe88,\n\t0x16d0c: 0xc0030002, 0x16d0d: 0x002e8288, 0x16d0e: 0x002e9e88, 0x16d0f: 0x002ee288,\n\t0x16d10: 0x002f2c88, 0x16d11: 0x002f5688, 0x16d12: 0x002f7a88, 0x16d13: 0xceb39771,\n\t0x16d14: 0xceb99771, 0x16d15: 0x00306c88, 0x16d16: 0x0030be88, 0x16d17: 0x0030e288,\n\t0x16d18: 0x0030f688, 0x16d19: 0x00310088, 0x16d1a: 0x00312a88, 0x16d1b: 0x4003f820,\n\t0x16d1c: 0x4004e420, 0x16d1d: 0x4003fa20, 0x16d1e: 0x40062420, 0x16d1f: 0x40021620,\n\t0x16d20: 0x40061e20, 0x16d21: 0xceaa9741, 0x16d22: 0x402c0a20, 0x16d23: 0x402c3a20,\n\t0x16d24: 0x402c6220, 0x16d25: 0x402c9820, 0x16d26: 0x402d0820, 0x16d27: 0x402d2220,\n\t0x16d28: 0x402d6820, 0x16d29: 0xc6162741, 0x16d2a: 0x402dcc20, 0x16d2b: 0x402dfe20,\n\t0x16d2c: 0xc0000002, 0x16d2d: 0x402e8220, 0x16d2e: 0x402e9e20, 0x16d2f: 0x402ee220,\n\t0x16d30: 0x402f2c20, 0x16d31: 0x402f5620, 0x16d32: 0x402f7a20, 0x16d33: 0xceb09771,\n\t0x16d34: 0xceb69771, 0x16d35: 0x40306c20, 0x16d36: 0x4030be20, 0x16d37: 0x4030e220,\n\t0x16d38: 0x4030f620, 0x16d39: 0x40310020, 0x16d3a: 0x40312a20, 0x16d3b: 0x4003fc20,\n\t0x16d3c: 0x40094820, 0x16d3d: 0x4003fe20, 0x16d3e: 0x40094c20, 0x16d3f: 0xa0000000,\n\t// Block 0x5b5, offset 0x16d40\n\t0x16d40: 0xe00008f5, 0x16d41: 0xe00008ef, 0x16d42: 0x002be283, 0x16d43: 0xe0000969,\n\t0x16d44: 0xe000095b, 0x16d45: 0xe000094d, 0x16d46: 0xe00009dd, 0x16d47: 0xe0000a53,\n\t0x16d48: 0xe0000ae8, 0x16d49: 0xe0000ae2, 0x16d4a: 0xe0000af4, 0x16d4b: 0xe0000b20,\n\t0x16d4c: 0xe0000c2b, 0x16d4d: 0xe0000c25, 0x16d4e: 0x002d9c83, 0x16d4f: 0xe0000c43,\n\t0x16d50: 0xe0000ab3, 0x16d51: 0xe0000d63, 0x16d52: 0xe0000d9a, 0x16d53: 0xe0000d94,\n\t0x16d54: 0xe0000da6, 0x16d55: 0xe0000de6, 0x16d56: 0xe0000dd2, 0x16d57: 0x40093e20,\n\t0x16d58: 0xe0000e12, 0x16d59: 0xe0000fe1, 0x16d5a: 0xe0000fdb, 0x16d5b: 0xe0000fed,\n\t0x16d5c: 0xe0000fff, 0x16d5d: 0xe0001102, 0x16d5e: 0x00318888, 0x16d5f: 0xe0000f7b,\n\t0x16d60: 0xe00008f2, 0x16d61: 0xe00008ec, 0x16d62: 0x402be220, 0x16d63: 0xe0000966,\n\t0x16d64: 0xe0000958, 0x16d65: 0xe000094a, 0x16d66: 0xe00009d5, 0x16d67: 0xe0000a4d,\n\t0x16d68: 0xe0000ae5, 0x16d69: 0xe0000adf, 0x16d6a: 0xe0000af1, 0x16d6b: 0xe0000b1d,\n\t0x16d6c: 0xe0000c28, 0x16d6d: 0xe0000c22, 0x16d6e: 0x402d9c20, 0x16d6f: 0xe0000c40,\n\t0x16d70: 0xe0000aad, 0x16d71: 0xe0000d60, 0x16d72: 0xe0000d97, 0x16d73: 0xe0000d91,\n\t0x16d74: 0xe0000da3, 0x16d75: 0xe0000de3, 0x16d76: 0xe0000dcf, 0x16d77: 0x40093c20,\n\t0x16d78: 0xe0000e0f, 0x16d79: 0xe0000fde, 0x16d7a: 0xe0000fd8, 0x16d7b: 0xe0000fea,\n\t0x16d7c: 0xe0000ffc, 0x16d7d: 0xe00010ff, 0x16d7e: 0x40318820, 0x16d7f: 0xe0001114,\n\t// Block 0x5b6, offset 0x16d80\n\t0x16d80: 0xe0000983, 0x16d81: 0xe0000980, 0x16d82: 0x002be083, 0x16d83: 0x402be020,\n\t0x16d84: 0xe000097d, 0x16d85: 0xe000097a, 0x16d86: 0xe0000a38, 0x16d87: 0xe0000a35,\n\t0x16d88: 0xe0000a3e, 0x16d89: 0xe0000a3b, 0x16d8a: 0xe0000a4a, 0x16d8b: 0xe0000a47,\n\t0x16d8c: 0xe0000a44, 0x16d8d: 0xe0000a41, 0x16d8e: 0xe0000a86, 0x16d8f: 0xe0000a83,\n\t0x16d90: 0xe0000aaa, 0x16d91: 0xe0000aa7, 0x16d92: 0xe0000b46, 0x16d93: 0xe0000b43,\n\t0x16d94: 0xe0000aee, 0x16d95: 0xe0000aeb, 0x16d96: 0xe0000b2c, 0x16d97: 0xe0000b29,\n\t0x16d98: 0xe0000b40, 0x16d99: 0xe0000b3d, 0x16d9a: 0xe0000b1a, 0x16d9b: 0xe0000b17,\n\t0x16d9c: 0xe0000bb8, 0x16d9d: 0xe0000bb5, 0x16d9e: 0xe0000bb2, 0x16d9f: 0xe0000baf,\n\t0x16da0: 0xe0000bc4, 0x16da1: 0xe0000bc1, 0x16da2: 0xe0000bca, 0x16da3: 0xe0000bc7,\n\t0x16da4: 0xe0000bee, 0x16da5: 0xe0000beb, 0x16da6: 0xe0000c1b, 0x16da7: 0xe0000c18,\n\t0x16da8: 0xe0000c51, 0x16da9: 0xe0000c4e, 0x16daa: 0xe0000c60, 0x16dab: 0xe0000c5d,\n\t0x16dac: 0xe0000c31, 0x16dad: 0xe0000c2e, 0x16dae: 0xe0000c5a, 0x16daf: 0xe0000c57,\n\t0x16db0: 0xe0000c54, 0x16db1: 0x402da220, 0x16db2: 0xf0000a0a, 0x16db3: 0xf0000404,\n\t0x16db4: 0xe0000c8a, 0x16db5: 0xe0000c87, 0x16db6: 0xe0000c9f, 0x16db7: 0xe0000c9c,\n\t0x16db8: 0x402f7220, 0x16db9: 0xe0000ccc, 0x16dba: 0xe0000cc9, 0x16dbb: 0xe0000cd8,\n\t0x16dbc: 0xe0000cd5, 0x16dbd: 0xe0000cd2, 0x16dbe: 0xe0000ccf, 0x16dbf: 0xe0000d04,\n\t// Block 0x5b7, offset 0x16dc0\n\t0x16dc0: 0xe0000cfe, 0x16dc1: 0xe0000cf8, 0x16dc2: 0xe0000cf5, 0x16dc3: 0xe0000d51,\n\t0x16dc4: 0xe0000d4e, 0x16dc5: 0xe0000d6f, 0x16dc6: 0xe0000d6c, 0x16dc7: 0xe0000d5d,\n\t0x16dc8: 0xe0000d5a, 0x16dc9: 0xf0000404, 0x16dca: 0x002eda88, 0x16dcb: 0x402eda20,\n\t0x16dcc: 0xe0000e2e, 0x16dcd: 0xe0000e2b, 0x16dce: 0xe0000da0, 0x16dcf: 0xe0000d9d,\n\t0x16dd0: 0xe0000de0, 0x16dd1: 0xe0000ddd, 0x16dd2: 0xe0000e93, 0x16dd3: 0xe0000e8f,\n\t0x16dd4: 0xe0000eca, 0x16dd5: 0xe0000ec7, 0x16dd6: 0xe0000edc, 0x16dd7: 0xe0000ed9,\n\t0x16dd8: 0xe0000ed0, 0x16dd9: 0xe0000ecd, 0x16dda: 0xe0000f1f, 0x16ddb: 0xe0000f1c,\n\t0x16ddc: 0xe0000f2d, 0x16ddd: 0xe0000f2a, 0x16dde: 0x002fe883, 0x16ddf: 0x402fe820,\n\t0x16de0: 0xe0000f33, 0x16de1: 0xe0000f30, 0x16de2: 0x00302e83, 0x16de3: 0x40302e20,\n\t0x16de4: 0xe0000f8a, 0x16de5: 0xe0000f87, 0x16de6: 0x00303688, 0x16de7: 0x40303620,\n\t0x16de8: 0xe000102b, 0x16de9: 0xe0001028, 0x16dea: 0xe000103f, 0x16deb: 0xe000103c,\n\t0x16dec: 0xe0000fe7, 0x16ded: 0xe0000fe4, 0x16dee: 0xe0000ff9, 0x16def: 0xe0000ff6,\n\t0x16df0: 0xe0001025, 0x16df1: 0xe0001022, 0x16df2: 0xe0001039, 0x16df3: 0xe0001036,\n\t0x16df4: 0xe00010d8, 0x16df5: 0xe00010d5, 0x16df6: 0xe000110e, 0x16df7: 0xe000110b,\n\t0x16df8: 0xe0001117, 0x16df9: 0xe000113b, 0x16dfa: 0xe0001138, 0x16dfb: 0xe000114d,\n\t0x16dfc: 0xe000114a, 0x16dfd: 0xe0001147, 0x16dfe: 0xe0001144, 0x16dff: 0xe0000f64,\n\t// Block 0x5b8, offset 0x16e00\n\t0x16e00: 0xe000098f, 0x16e01: 0xe000098c, 0x16e02: 0xe0000995, 0x16e03: 0xe0000992,\n\t0x16e04: 0xe0000b62, 0x16e05: 0xe0000b5f, 0x16e06: 0xe0000b68, 0x16e07: 0xe0000b65,\n\t0x16e08: 0xe0000c6c, 0x16e09: 0xe0000c69, 0x16e0a: 0xe0000c72, 0x16e0b: 0xe0000c6f,\n\t0x16e0c: 0xe0000e4a, 0x16e0d: 0xe0000e47, 0x16e0e: 0xe0000e50, 0x16e0f: 0xe0000e4d,\n\t0x16e10: 0xe0000ee8, 0x16e11: 0xe0000ee5, 0x16e12: 0xe0000eee, 0x16e13: 0xe0000eeb,\n\t0x16e14: 0xe0001053, 0x16e15: 0xe0001050, 0x16e16: 0xe0001059, 0x16e17: 0xe0001056,\n\t0x16e18: 0x002fe883, 0x16e19: 0x402fe820, 0x16e1a: 0x00302e83, 0x16e1b: 0x40302e20,\n\t0x16e1c: 0x00312288, 0x16e1d: 0x40312220, 0x16e1e: 0xe0000bf4, 0x16e1f: 0xe0000bf1,\n\t0x16e20: 0x002ebc88, 0x16e21: 0x402c8c20, 0x16e22: 0x002f2288, 0x16e23: 0x402f2220,\n\t0x16e24: 0x00314088, 0x16e25: 0x40314020, 0x16e26: 0xe000096f, 0x16e27: 0xe000096c,\n\t0x16e28: 0xe0000b32, 0x16e29: 0xe0000b2f, 0x16e2a: 0xe0000dd9, 0x16e2b: 0xe0000dd5,\n\t0x16e2c: 0xe0000dfd, 0x16e2d: 0xe0000df9, 0x16e2e: 0xe0000e04, 0x16e2f: 0xe0000e01,\n\t0x16e30: 0xe0000e0b, 0x16e31: 0xe0000e07, 0x16e32: 0xe0001129, 0x16e33: 0xe0001126,\n\t0x16e34: 0x402e5e20, 0x16e35: 0x402ed020, 0x16e36: 0x40305a20, 0x16e37: 0x402dd420,\n\t0x16e38: 0xe0000abf, 0x16e39: 0xe0000ec4, 0x16e3a: 0x002be888, 0x16e3b: 0x002c4488,\n\t0x16e3c: 0x402c4420, 0x16e3d: 0x002e3888, 0x16e3e: 0x00303e88, 0x16e3f: 0x402ffc20,\n\t// Block 0x5b9, offset 0x16e40\n\t0x16e40: 0xe00010d2, 0x16e41: 0xe00010cf, 0x16e42: 0xe00010cc, 0x16e43: 0xe00010c9,\n\t0x16e44: 0xe00010e1, 0x16e45: 0xe00010de, 0x16e46: 0xe00010e7, 0x16e47: 0xe00010e4,\n\t0x16e48: 0xe00010ed, 0x16e49: 0xe00010ea, 0x16e4a: 0xe00010fc, 0x16e4b: 0xe00010f9,\n\t0x16e4c: 0xe00010f6, 0x16e4d: 0xe00010f3, 0x16e4e: 0xe0001123, 0x16e4f: 0xe0001120,\n\t0x16e50: 0xe0001141, 0x16e51: 0xe000113e, 0x16e52: 0xe0001153, 0x16e53: 0xe0001150,\n\t0x16e54: 0xe0001159, 0x16e55: 0xe0001156, 0x16e56: 0xe0000c15, 0x16e57: 0xe0000f8d,\n\t0x16e58: 0xe00010db, 0x16e59: 0xe0001111, 0x16e5a: 0xf0000404, 0x16e5b: 0xe0000f70,\n\t0x16e5c: 0x40300420, 0x16e5d: 0x40300620, 0x16e5e: 0xe0000f7f, 0x16e5f: 0x402c9620,\n\t0x16e60: 0xe000099b, 0x16e61: 0xe0000998, 0x16e62: 0xe0000989, 0x16e63: 0xe0000986,\n\t0x16e64: 0xe0003934, 0x16e65: 0xe0003931, 0x16e66: 0xe000393a, 0x16e67: 0xe0003937,\n\t0x16e68: 0xe0003975, 0x16e69: 0xe0003972, 0x16e6a: 0xe0003960, 0x16e6b: 0xe000395d,\n\t0x16e6c: 0xe0003987, 0x16e6d: 0xe0003984, 0x16e6e: 0xe000388e, 0x16e6f: 0xe000388b,\n\t0x16e70: 0xe0003894, 0x16e71: 0xe0003891, 0x16e72: 0xe0003908, 0x16e73: 0xe0003905,\n\t0x16e74: 0xe00038d2, 0x16e75: 0xe00038cf, 0x16e76: 0xe000391a, 0x16e77: 0xe0003917,\n\t0x16e78: 0xe0000b6e, 0x16e79: 0xe0000b6b, 0x16e7a: 0xe0000b5c, 0x16e7b: 0xe0000b59,\n\t0x16e7c: 0xe0000b26, 0x16e7d: 0xe0000b23, 0x16e7e: 0xe0000afb, 0x16e7f: 0xe0000af7,\n\t// Block 0x5ba, offset 0x16e80\n\t0x16e80: 0xa0000000, 0x16e81: 0xa0000000, 0x16e82: 0xa0000000, 0x16e83: 0xa0000000,\n\t0x16e84: 0xa0000000, 0x16e85: 0xa0000000, 0x16e86: 0xa0000000, 0x16e87: 0xa0000000,\n\t0x16e88: 0xa0000000, 0x16e89: 0x40020020, 0x16e8a: 0x40020220, 0x16e8b: 0x40020420,\n\t0x16e8c: 0x40020620, 0x16e8d: 0x40020820, 0x16e8e: 0xa0000000, 0x16e8f: 0xa0000000,\n\t0x16e90: 0xa0000000, 0x16e91: 0xa0000000, 0x16e92: 0xa0000000, 0x16e93: 0xa0000000,\n\t0x16e94: 0xa0000000, 0x16e95: 0xa0000000, 0x16e96: 0xa0000000, 0x16e97: 0xa0000000,\n\t0x16e98: 0xa0000000, 0x16e99: 0xa0000000, 0x16e9a: 0xa0000000, 0x16e9b: 0xa0000000,\n\t0x16e9c: 0xa0000000, 0x16e9d: 0xa0000000, 0x16e9e: 0xa0000000, 0x16e9f: 0xa0000000,\n\t0x16ea0: 0x40021220, 0x16ea1: 0x4002ba20, 0x16ea2: 0x4003e020, 0x16ea3: 0x4004ea20,\n\t0x16ea4: 0x4027de20, 0x16ea5: 0x4004ec20, 0x16ea6: 0x4004e620, 0x16ea7: 0x4003d220,\n\t0x16ea8: 0x4003f420, 0x16ea9: 0x4003f620, 0x16eaa: 0x4004d820, 0x16eab: 0x40093820,\n\t0x16eac: 0x40024020, 0x16ead: 0x40021a20, 0x16eae: 0x4002e420, 0x16eaf: 0x4004e220,\n\t0x16eb0: 0x4029cc20, 0x16eb1: 0x4029ce20, 0x16eb2: 0x4029d020, 0x16eb3: 0x4029d220,\n\t0x16eb4: 0x4029d420, 0x16eb5: 0x4029d620, 0x16eb6: 0x4029d820, 0x16eb7: 0x4029da20,\n\t0x16eb8: 0x4029dc20, 0x16eb9: 0x4029de20, 0x16eba: 0x40026c20, 0x16ebb: 0x40026220,\n\t0x16ebc: 0x40094020, 0x16ebd: 0x40094220, 0x16ebe: 0x40094420, 0x16ebf: 0x4002c420,\n\t// Block 0x5bb, offset 0x16ec0\n\t0x16ec0: 0x4004d620, 0x16ec1: 0xcec29791, 0x16ec2: 0x002c0a88, 0x16ec3: 0xceca0991,\n\t0x16ec4: 0x002c6288, 0x16ec5: 0x002c9888, 0x16ec6: 0x002d0888, 0x16ec7: 0xced20991,\n\t0x16ec8: 0x002d6888, 0x16ec9: 0x002d9a88, 0x16eca: 0x002dcc88, 0x16ecb: 0xcb1f0991,\n\t0x16ecc: 0xc0030002, 0x16ecd: 0x002e8288, 0x16ece: 0xced797e1, 0x16ecf: 0xcee49811,\n\t0x16ed0: 0x002f2c88, 0x16ed1: 0x002f5688, 0x16ed2: 0x002f7a88, 0x16ed3: 0xcb330991,\n\t0x16ed4: 0x00302c88, 0x16ed5: 0xc3900b21, 0x16ed6: 0x0030be88, 0x16ed7: 0x0030e288,\n\t0x16ed8: 0x0030f688, 0x16ed9: 0x00310088, 0x16eda: 0xcedc0991, 0x16edb: 0x4003f820,\n\t0x16edc: 0x4004e420, 0x16edd: 0x4003fa20, 0x16ede: 0x40062420, 0x16edf: 0x40021620,\n\t0x16ee0: 0x40061e20, 0x16ee1: 0xcebc9791, 0x16ee2: 0x402c0a20, 0x16ee3: 0xcec80991,\n\t0x16ee4: 0x402c6220, 0x16ee5: 0x402c9820, 0x16ee6: 0x402d0820, 0x16ee7: 0xced00991,\n\t0x16ee8: 0x402d6820, 0x16ee9: 0x402d9a20, 0x16eea: 0x402dcc20, 0x16eeb: 0xcb1d0991,\n\t0x16eec: 0xc0000002, 0x16eed: 0x402e8220, 0x16eee: 0xced497e1, 0x16eef: 0xcede9811,\n\t0x16ef0: 0x402f2c20, 0x16ef1: 0x402f5620, 0x16ef2: 0x402f7a20, 0x16ef3: 0xcb310991,\n\t0x16ef4: 0x40302c20, 0x16ef5: 0xc38d0b21, 0x16ef6: 0x4030be20, 0x16ef7: 0x4030e220,\n\t0x16ef8: 0x4030f620, 0x16ef9: 0x40310020, 0x16efa: 0xceda0991, 0x16efb: 0x4003fc20,\n\t0x16efc: 0x40094820, 0x16efd: 0x4003fe20, 0x16efe: 0x40094c20, 0x16eff: 0xa0000000,\n\t// Block 0x5bc, offset 0x16f00\n\t0x16f00: 0xe00008f5, 0x16f01: 0x002c0883, 0x16f02: 0xe0000921, 0x16f03: 0x00320ea3,\n\t0x16f04: 0x00320e83, 0x16f05: 0x00320c83, 0x16f06: 0x00320a83, 0x16f07: 0xe0000a53,\n\t0x16f08: 0xe0000ae8, 0x16f09: 0xe0000ae2, 0x16f0a: 0xe0000af4, 0x16f0b: 0xe0000b20,\n\t0x16f0c: 0xe0000c2b, 0x16f0d: 0xe0000c25, 0x16f0e: 0xe0000c37, 0x16f0f: 0xe0000c43,\n\t0x16f10: 0x002c96a3, 0x16f11: 0x002ee0c3, 0x16f12: 0xe0000d9a, 0x16f13: 0xe0000d94,\n\t0x16f14: 0x003210e3, 0x16f15: 0x003210c3, 0x16f16: 0x00321083, 0x16f17: 0x40093e20,\n\t0x16f18: 0x00320883, 0x16f19: 0xe0000fe1, 0x16f1a: 0xe0000fdb, 0x16f1b: 0xe0000fed,\n\t0x16f1c: 0x003100a3, 0x16f1d: 0xe0001102, 0x16f1e: 0x00306aa3, 0x16f1f: 0xe0000f7b,\n\t0x16f20: 0xe00008f2, 0x16f21: 0x402c0820, 0x16f22: 0xe000091e, 0x16f23: 0x40320e21,\n\t0x16f24: 0x40320e20, 0x16f25: 0x40320c20, 0x16f26: 0x40320a20, 0x16f27: 0xe0000a4d,\n\t0x16f28: 0xe0000ae5, 0x16f29: 0xe0000adf, 0x16f2a: 0xe0000af1, 0x16f2b: 0xe0000b1d,\n\t0x16f2c: 0xe0000c28, 0x16f2d: 0xe0000c22, 0x16f2e: 0xe0000c34, 0x16f2f: 0xe0000c40,\n\t0x16f30: 0x402c9621, 0x16f31: 0x402ee022, 0x16f32: 0xe0000d97, 0x16f33: 0xe0000d91,\n\t0x16f34: 0x40321023, 0x16f35: 0x40321022, 0x16f36: 0x40321020, 0x16f37: 0x40093c20,\n\t0x16f38: 0x40320820, 0x16f39: 0xe0000fde, 0x16f3a: 0xe0000fd8, 0x16f3b: 0xe0000fea,\n\t0x16f3c: 0x40310021, 0x16f3d: 0xe00010ff, 0x16f3e: 0x40306a21, 0x16f3f: 0xe0001114,\n\t// Block 0x5bd, offset 0x16f40\n\t0x16f40: 0xe0000983, 0x16f41: 0xe0000980, 0x16f42: 0xe00008fb, 0x16f43: 0xe00008f8,\n\t0x16f44: 0xe000097d, 0x16f45: 0xe000097a, 0x16f46: 0xe0000a38, 0x16f47: 0xe0000a35,\n\t0x16f48: 0xe0000a3e, 0x16f49: 0xe0000a3b, 0x16f4a: 0xe0000a4a, 0x16f4b: 0xe0000a47,\n\t0x16f4c: 0x002c5c83, 0x16f4d: 0x402c5c20, 0x16f4e: 0xe0000a86, 0x16f4f: 0xe0000a83,\n\t0x16f50: 0x002c9683, 0x16f51: 0x402c9620, 0x16f52: 0xe0000b46, 0x16f53: 0xe0000b43,\n\t0x16f54: 0xe0000aee, 0x16f55: 0xe0000aeb, 0x16f56: 0xe0000b2c, 0x16f57: 0xe0000b29,\n\t0x16f58: 0xe0000b40, 0x16f59: 0xe0000b3d, 0x16f5a: 0xe0000b1a, 0x16f5b: 0xe0000b17,\n\t0x16f5c: 0xe0000bb8, 0x16f5d: 0xe0000bb5, 0x16f5e: 0xe0000bb2, 0x16f5f: 0xe0000baf,\n\t0x16f60: 0xe0000bc4, 0x16f61: 0xe0000bc1, 0x16f62: 0xe0000bca, 0x16f63: 0xe0000bc7,\n\t0x16f64: 0xe0000bee, 0x16f65: 0xe0000beb, 0x16f66: 0xe0000c1b, 0x16f67: 0xe0000c18,\n\t0x16f68: 0xe0000c51, 0x16f69: 0xe0000c4e, 0x16f6a: 0xe0000c60, 0x16f6b: 0xe0000c5d,\n\t0x16f6c: 0xe0000c31, 0x16f6d: 0xe0000c2e, 0x16f6e: 0xe0000c5a, 0x16f6f: 0xe0000c57,\n\t0x16f70: 0xe0000c54, 0x16f71: 0x402da220, 0x16f72: 0xf0000a0a, 0x16f73: 0xf0000404,\n\t0x16f74: 0xe0000c8a, 0x16f75: 0xe0000c87, 0x16f76: 0xe0000c9f, 0x16f77: 0xe0000c9c,\n\t0x16f78: 0x402f7220, 0x16f79: 0xe0000ccc, 0x16f7a: 0xe0000cc9, 0x16f7b: 0xe0000cd8,\n\t0x16f7c: 0xe0000cd5, 0x16f7d: 0xe0000cd2, 0x16f7e: 0xe0000ccf, 0x16f7f: 0xe0000d04,\n\t// Block 0x5be, offset 0x16f80\n\t0x16f80: 0xe0000cfe, 0x16f81: 0xe0000cf8, 0x16f82: 0xe0000cf5, 0x16f83: 0x002ee0a3,\n\t0x16f84: 0x402ee021, 0x16f85: 0xe0000d6f, 0x16f86: 0xe0000d6c, 0x16f87: 0xe0000d5d,\n\t0x16f88: 0xe0000d5a, 0x16f89: 0xf0000404, 0x16f8a: 0x002ee083, 0x16f8b: 0x402ee020,\n\t0x16f8c: 0xe0000e2e, 0x16f8d: 0xe0000e2b, 0x16f8e: 0xe0000da0, 0x16f8f: 0xe0000d9d,\n\t0x16f90: 0x003210a3, 0x16f91: 0x40321021, 0x16f92: 0x003208a3, 0x16f93: 0x40320821,\n\t0x16f94: 0xe0000eca, 0x16f95: 0xe0000ec7, 0x16f96: 0xe0000edc, 0x16f97: 0xe0000ed9,\n\t0x16f98: 0xe0000ed0, 0x16f99: 0xe0000ecd, 0x16f9a: 0xe0000f1f, 0x16f9b: 0xe0000f1c,\n\t0x16f9c: 0xe0000f2d, 0x16f9d: 0xe0000f2a, 0x16f9e: 0xe0000f47, 0x16f9f: 0xe0000f44,\n\t0x16fa0: 0x00302a83, 0x16fa1: 0x40302a20, 0x16fa2: 0xe0000f99, 0x16fa3: 0xe0000f96,\n\t0x16fa4: 0xe0000f8a, 0x16fa5: 0xe0000f87, 0x16fa6: 0x00306a83, 0x16fa7: 0x40306a20,\n\t0x16fa8: 0xe000102b, 0x16fa9: 0xe0001028, 0x16faa: 0xe000103f, 0x16fab: 0xe000103c,\n\t0x16fac: 0xe0000fe7, 0x16fad: 0xe0000fe4, 0x16fae: 0xe0000ff9, 0x16faf: 0xe0000ff6,\n\t0x16fb0: 0x003100c3, 0x16fb1: 0x40310022, 0x16fb2: 0xe0001039, 0x16fb3: 0xe0001036,\n\t0x16fb4: 0xe00010d8, 0x16fb5: 0xe00010d5, 0x16fb6: 0xe000110e, 0x16fb7: 0xe000110b,\n\t0x16fb8: 0xe0001117, 0x16fb9: 0xe000113b, 0x16fba: 0xe0001138, 0x16fbb: 0xe000114d,\n\t0x16fbc: 0xe000114a, 0x16fbd: 0x00320683, 0x16fbe: 0x40320620, 0x16fbf: 0xe0000f64,\n\t// Block 0x5bf, offset 0x16fc0\n\t0x16fc0: 0x402c1a20, 0x16fc1: 0x002c2a88, 0x16fc2: 0x002c3288, 0x16fc3: 0x402c3220,\n\t0x16fc4: 0x0031c488, 0x16fc5: 0x4031c420, 0x16fc6: 0x002efa88, 0x16fc7: 0x002c4e88,\n\t0x16fc8: 0x402c4e20, 0x16fc9: 0x002c7288, 0x16fca: 0x002c7a88, 0x16fcb: 0x002c8488,\n\t0x16fcc: 0x402c8420, 0x16fcd: 0xe000115c, 0x16fce: 0x002cae88, 0x16fcf: 0x002cb888,\n\t0x16fd0: 0x002cc288, 0x16fd1: 0x002d1688, 0x16fd2: 0x402d1620, 0x16fd3: 0x002d4488,\n\t0x16fd4: 0x002d5888, 0x16fd5: 0x402d7820, 0x16fd6: 0x002dc288, 0x16fd7: 0x002db688,\n\t0x16fd8: 0x002e0a88, 0x16fd9: 0x402e0a20, 0x16fda: 0x402e3820, 0x16fdb: 0x402e7220,\n\t0x16fdc: 0x0030a088, 0x16fdd: 0x002eb488, 0x16fde: 0x402ebc20, 0x16fdf: 0x002f1088,\n\t0x16fe0: 0xe0000e56, 0x16fe1: 0xe0000e53, 0x16fe2: 0x002d6088, 0x16fe3: 0x402d6020,\n\t0x16fe4: 0x002f3e88, 0x16fe5: 0x402f3e20, 0x16fe6: 0x002f8288, 0x16fe7: 0x0031b488,\n\t0x16fe8: 0x4031b420, 0x16fe9: 0x00300888, 0x16fea: 0x40301220, 0x16feb: 0x40304220,\n\t0x16fec: 0x00304a88, 0x16fed: 0x40304a20, 0x16fee: 0x00305288, 0x16fef: 0xe000105f,\n\t0x16ff0: 0xe000105c, 0x16ff1: 0x0030b488, 0x16ff2: 0x0030cc88, 0x16ff3: 0x00311888,\n\t0x16ff4: 0x40311820, 0x16ff5: 0x00313488, 0x16ff6: 0x40313420, 0x16ff7: 0xcece0991,\n\t0x16ff8: 0x00316e88, 0x16ff9: 0x40316e20, 0x16ffa: 0x40317820, 0x16ffb: 0x4031a620,\n\t0x16ffc: 0x0031bc88, 0x16ffd: 0x4031bc20, 0x16ffe: 0xe0000fc9, 0x16fff: 0x40319420,\n\t// Block 0x5c0, offset 0x17000\n\t0x17000: 0x40321220, 0x17001: 0x40321a20, 0x17002: 0x40322220, 0x17003: 0x40322a20,\n\t0x17004: 0xe0000ad5, 0x17005: 0xe0000ad1, 0x17006: 0xe0000acd, 0x17007: 0xf0000a0a,\n\t0x17008: 0xf000040a, 0x17009: 0xf0000404, 0x1700a: 0xf0000a0a, 0x1700b: 0xf000040a,\n\t0x1700c: 0xf0000404, 0x1700d: 0xe0000947, 0x1700e: 0xe0000944, 0x1700f: 0xe0000c3d,\n\t0x17010: 0xe0000c3a, 0x17011: 0xe0000dcc, 0x17012: 0xe0000dc9, 0x17013: 0xe0000ff3,\n\t0x17014: 0xe0000ff0, 0x17015: 0xe000298b, 0x17016: 0xe0002988, 0x17017: 0xe0002979,\n\t0x17018: 0xe0002976, 0x17019: 0xe0002985, 0x1701a: 0xe0002982, 0x1701b: 0xe000297f,\n\t0x1701c: 0xe000297c, 0x1701d: 0x402cae20, 0x1701e: 0xe00037e8, 0x1701f: 0xe00037e5,\n\t0x17020: 0xe000299d, 0x17021: 0xe000299a, 0x17022: 0xe000ad9e, 0x17023: 0xe000ad9b,\n\t0x17024: 0x002d6683, 0x17025: 0x402d6620, 0x17026: 0x002d6483, 0x17027: 0x402d6420,\n\t0x17028: 0x002e2083, 0x17029: 0x402e2020, 0x1702a: 0x00321103, 0x1702b: 0x40321024,\n\t0x1702c: 0xe000ade0, 0x1702d: 0xe000addd, 0x1702e: 0x002c6083, 0x1702f: 0x402c6020,\n\t0x17030: 0xe0000c8d, 0x17031: 0xf0000a0a, 0x17032: 0xf000040a, 0x17033: 0xf0000404,\n\t0x17034: 0xe0000bac, 0x17035: 0xe0000ba9, 0x17036: 0x002d7888, 0x17037: 0x00319488,\n\t0x17038: 0xe0000d57, 0x17039: 0xe0000d54, 0x1703a: 0xe0002991, 0x1703b: 0xe000298e,\n\t0x1703c: 0xe000ad98, 0x1703d: 0xe000ad95, 0x1703e: 0xe000ad92, 0x1703f: 0xe000ad8f,\n\t// Block 0x5c1, offset 0x17040\n\t0x17040: 0xe000098f, 0x17041: 0xe000098c, 0x17042: 0xe0000995, 0x17043: 0xe0000992,\n\t0x17044: 0xe0000b62, 0x17045: 0xe0000b5f, 0x17046: 0xe0000b68, 0x17047: 0xe0000b65,\n\t0x17048: 0xe0000c6c, 0x17049: 0xe0000c69, 0x1704a: 0xe0000c72, 0x1704b: 0xe0000c6f,\n\t0x1704c: 0xe0000e4a, 0x1704d: 0xe0000e47, 0x1704e: 0xe0000e50, 0x1704f: 0xe0000e4d,\n\t0x17050: 0xe0000ee8, 0x17051: 0xe0000ee5, 0x17052: 0xe0000eee, 0x17053: 0xe0000eeb,\n\t0x17054: 0xe0001053, 0x17055: 0xe0001050, 0x17056: 0xe0001059, 0x17057: 0xe0001056,\n\t0x17058: 0xe0000f61, 0x17059: 0xe0000f5e, 0x1705a: 0xe0000fa5, 0x1705b: 0xe0000fa2,\n\t0x1705c: 0x00312288, 0x1705d: 0x40312220, 0x1705e: 0xe0000bf4, 0x1705f: 0xe0000bf1,\n\t0x17060: 0x002ebc88, 0x17061: 0x402c8c20, 0x17062: 0x002f2288, 0x17063: 0x402f2220,\n\t0x17064: 0x00314088, 0x17065: 0x40314020, 0x17066: 0x00320ca3, 0x17067: 0x40320c21,\n\t0x17068: 0xe0000b32, 0x17069: 0xe0000b2f, 0x1706a: 0xe00037fa, 0x1706b: 0xe00037f7,\n\t0x1706c: 0xe000adbc, 0x1706d: 0xe000adb9, 0x1706e: 0xe0000e04, 0x1706f: 0xe0000e01,\n\t0x17070: 0xe0000e0b, 0x17071: 0xe0000e07, 0x17072: 0xe0001129, 0x17073: 0xe0001126,\n\t0x17074: 0x402e5e20, 0x17075: 0x402ed020, 0x17076: 0x40305a20, 0x17077: 0x402dd420,\n\t0x17078: 0xe0000abf, 0x17079: 0xe0000ec4, 0x1707a: 0x002be888, 0x1707b: 0x002c4488,\n\t0x1707c: 0x402c4420, 0x1707d: 0x002e3888, 0x1707e: 0x00303e88, 0x1707f: 0x402ffc20,\n\t// Block 0x5c2, offset 0x17080\n\t0x17080: 0x402f8220, 0x17081: 0x402fd820, 0x17082: 0x402ff420, 0x17083: 0x40300820,\n\t0x17084: 0x402df620, 0x17085: 0x40301a20, 0x17086: 0x40302420, 0x17087: 0x40306420,\n\t0x17088: 0x40305220, 0x17089: 0x40307c20, 0x1708a: 0x4030b420, 0x1708b: 0x4030cc20,\n\t0x1708c: 0x4030da20, 0x1708d: 0x4030ee20, 0x1708e: 0x402e7a20, 0x1708f: 0x40310820,\n\t0x17090: 0x40314820, 0x17091: 0x40315020, 0x17092: 0xcecc0991, 0x17093: 0x40318020,\n\t0x17094: 0x4031cc20, 0x17095: 0x4031e820, 0x17096: 0x40320a20, 0x17097: 0x40323220,\n\t0x17098: 0x40323a20, 0x17099: 0x402c1220, 0x1709a: 0x402cf820, 0x1709b: 0x402d4c20,\n\t0x1709c: 0x402d7020, 0x1709d: 0x402de620, 0x1709e: 0x402e1a20, 0x1709f: 0x402e2a20,\n\t0x170a0: 0x402f6220, 0x170a1: 0x4031fa20, 0x170a2: 0x40320220, 0x170a3: 0xe0000aca,\n\t0x170a4: 0xe0000adc, 0x170a5: 0xe0000ad9, 0x170a6: 0xe0000fcc, 0x170a7: 0xe0000fcf,\n\t0x170a8: 0xe0000fba, 0x170a9: 0xe0000ba1, 0x170aa: 0xe0000d11, 0x170ab: 0xe0000d18,\n\t0x170ac: 0x40324220, 0x170ad: 0x40324a20, 0x170ae: 0x40309020, 0x170af: 0x40309820,\n\t0x170b0: 0x002d6894, 0x170b1: 0x002d8094, 0x170b2: 0x002dcc94, 0x170b3: 0x002f7a94,\n\t0x170b4: 0x002f9894, 0x170b5: 0x002fac94, 0x170b6: 0x002fd894, 0x170b7: 0x0030e294,\n\t0x170b8: 0x00310094, 0x170b9: 0x40064020, 0x170ba: 0x40064420, 0x170bb: 0x402d9620,\n\t0x170bc: 0x4031de20, 0x170bd: 0x402d9820, 0x170be: 0x4031e220, 0x170bf: 0x4031f020,\n\t// Block 0x5c3, offset 0x170c0\n\t0x170c0: 0xe0000d24, 0x170c1: 0xe0000d21, 0x170c2: 0xe0000d2a, 0x170c3: 0xe0000d27,\n\t0x170c4: 0xe0000d69, 0x170c5: 0xe0000d66, 0x170c6: 0xe0000d7b, 0x170c7: 0xe0000d78,\n\t0x170c8: 0xe0000d87, 0x170c9: 0xe0000d84, 0x170ca: 0xe0000d81, 0x170cb: 0xe0000d7e,\n\t0x170cc: 0xe000adb0, 0x170cd: 0xe000adad, 0x170ce: 0xe000adb6, 0x170cf: 0xe000adb3,\n\t0x170d0: 0xe0000e3d, 0x170d1: 0xe0000e39, 0x170d2: 0xe0000e35, 0x170d3: 0xe0000e31,\n\t0x170d4: 0xe0000ea7, 0x170d5: 0xe0000ea4, 0x170d6: 0xe0000ead, 0x170d7: 0xe0000eaa,\n\t0x170d8: 0xe0000ed6, 0x170d9: 0xe0000ed3, 0x170da: 0xe0000ef4, 0x170db: 0xe0000ef1,\n\t0x170dc: 0xe0000efb, 0x170dd: 0xe0000ef7, 0x170de: 0xe0000f02, 0x170df: 0xe0000eff,\n\t0x170e0: 0xe0000f41, 0x170e1: 0xe0000f3e, 0x170e2: 0xe0000f53, 0x170e3: 0xe0000f50,\n\t0x170e4: 0xe0000f26, 0x170e5: 0xe0000f22, 0x170e6: 0xe000a9d9, 0x170e7: 0xe000a9d6,\n\t0x170e8: 0xe0000f5a, 0x170e9: 0xe0000f56, 0x170ea: 0xe0000f93, 0x170eb: 0xe0000f90,\n\t0x170ec: 0xe0000f9f, 0x170ed: 0xe0000f9c, 0x170ee: 0xe0000fb1, 0x170ef: 0xe0000fae,\n\t0x170f0: 0xe0000fab, 0x170f1: 0xe0000fa8, 0x170f2: 0xe0001093, 0x170f3: 0xe0001090,\n\t0x170f4: 0xe000109f, 0x170f5: 0xe000109c, 0x170f6: 0xe0001099, 0x170f7: 0xe0001096,\n\t0x170f8: 0xe0001032, 0x170f9: 0xe000102e, 0x170fa: 0xe000298b, 0x170fb: 0xe0002988,\n\t0x170fc: 0xe00010a9, 0x170fd: 0xe00010a6, 0x170fe: 0xe00010af, 0x170ff: 0xe00010ac,\n\t// Block 0x5c4, offset 0x17100\n\t0x17100: 0xe00010d2, 0x17101: 0xe00010cf, 0x17102: 0xe00010cc, 0x17103: 0xe00010c9,\n\t0x17104: 0xe00010e1, 0x17105: 0xe00010de, 0x17106: 0xe00010e7, 0x17107: 0xe00010e4,\n\t0x17108: 0xe00010ed, 0x17109: 0xe00010ea, 0x1710a: 0xe00010fc, 0x1710b: 0xe00010f9,\n\t0x1710c: 0xe00010f6, 0x1710d: 0xe00010f3, 0x1710e: 0xe0001123, 0x1710f: 0xe0001120,\n\t0x17110: 0xe0001141, 0x17111: 0xe000113e, 0x17112: 0xe0001153, 0x17113: 0xe0001150,\n\t0x17114: 0xe0001159, 0x17115: 0xe0001156, 0x17116: 0xe0000c15, 0x17117: 0xe0000f8d,\n\t0x17118: 0xe00010db, 0x17119: 0xe0001111, 0x1711a: 0xf0000404, 0x1711b: 0xe0000f70,\n\t0x1711c: 0x40300420, 0x1711d: 0x40300620, 0x1711e: 0xe0000f7f, 0x1711f: 0x402c9620,\n\t0x17120: 0xe000099b, 0x17121: 0xe0000998, 0x17122: 0xe0000989, 0x17123: 0xe0000986,\n\t0x17124: 0xe0003cae, 0x17125: 0xe0003cab, 0x17126: 0xe0000930, 0x17127: 0xe000092c,\n\t0x17128: 0xe0000940, 0x17129: 0xe000093c, 0x1712a: 0xe000adaa, 0x1712b: 0xe000ada7,\n\t0x1712c: 0xe00009aa, 0x1712d: 0xe00009a6, 0x1712e: 0xe0003ca8, 0x1712f: 0xe0003ca5,\n\t0x17130: 0xe000090a, 0x17131: 0xe0000906, 0x17132: 0xe000091a, 0x17133: 0xe0000916,\n\t0x17134: 0xe000ada4, 0x17135: 0xe000ada1, 0x17136: 0xe00009a2, 0x17137: 0xe000099e,\n\t0x17138: 0xe0000b6e, 0x17139: 0xe0000b6b, 0x1713a: 0xe0000b5c, 0x1713b: 0xe0000b59,\n\t0x1713c: 0xe0000b26, 0x1713d: 0xe0000b23, 0x1713e: 0xe0000afb, 0x1713f: 0xe0000af7,\n\t// Block 0x5c5, offset 0x17140\n\t0x17140: 0xe0000b03, 0x17141: 0xe0000aff, 0x17142: 0xe0000b13, 0x17143: 0xe0000b0f,\n\t0x17144: 0xe0000b0b, 0x17145: 0xe0000b07, 0x17146: 0xe0000b75, 0x17147: 0xe0000b71,\n\t0x17148: 0xe0000c66, 0x17149: 0xe0000c63, 0x1714a: 0xe0000c78, 0x1714b: 0xe0000c75,\n\t0x1714c: 0xe0000e84, 0x1714d: 0xe0000e81, 0x1714e: 0xe0000e44, 0x1714f: 0xe0000e41,\n\t0x17150: 0xe000380c, 0x17151: 0xe0003809, 0x17152: 0xe000adc8, 0x17153: 0xe000adc5,\n\t0x17154: 0xe000add4, 0x17155: 0xe000add1, 0x17156: 0xe000adce, 0x17157: 0xe000adcb,\n\t0x17158: 0xe000adda, 0x17159: 0xe000add7, 0x1715a: 0xe0000e5d, 0x1715b: 0xe0000e59,\n\t0x1715c: 0xe0000e65, 0x1715d: 0xe0000e61, 0x1715e: 0xe0000e75, 0x1715f: 0xe0000e71,\n\t0x17160: 0xe000adc2, 0x17161: 0xe000adbf, 0x17162: 0xe0000e7d, 0x17163: 0xe0000e79,\n\t0x17164: 0xe000108d, 0x17165: 0xe000108a, 0x17166: 0xe000104d, 0x17167: 0xe000104a,\n\t0x17168: 0xe0001066, 0x17169: 0xe0001062, 0x1716a: 0xe000106e, 0x1716b: 0xe000106a,\n\t0x1716c: 0xe000107e, 0x1716d: 0xe000107a, 0x1716e: 0xe0001076, 0x1716f: 0xe0001072,\n\t0x17170: 0xe0001086, 0x17171: 0xe0001082, 0x17172: 0xe0001108, 0x17173: 0xe0001105,\n\t0x17174: 0xe0001135, 0x17175: 0xe0001132, 0x17176: 0xe000112f, 0x17177: 0xe000112c,\n\t0x17178: 0xe000111d, 0x17179: 0xe000111a, 0x1717a: 0xe0000d0a, 0x1717b: 0xe0000d07,\n\t0x1717c: 0x0030d888, 0x1717d: 0x4030d820, 0x1717e: 0x00312088, 0x1717f: 0x40312020,\n\t// Block 0x5c6, offset 0x17180\n\t0x17182: 0x4044b620, 0x17183: 0x4044b820,\n\t0x17185: 0x40449220, 0x17186: 0x40449420, 0x17187: 0x40449620,\n\t0x17188: 0x40449820, 0x17189: 0x40449a20, 0x1718a: 0x40449c20, 0x1718b: 0x40449e20,\n\t0x1718c: 0x4044a020, 0x1718d: 0x4044a220, 0x1718e: 0x4044a420, 0x1718f: 0x4044a620,\n\t0x17190: 0x4044a820, 0x17191: 0x4044aa20, 0x17192: 0x4044ac20, 0x17193: 0x4044ae20,\n\t0x17194: 0x4044b020, 0x17195: 0x4044b220, 0x17196: 0x4044b420,\n\t0x1719a: 0x4044b620, 0x1719b: 0x4044b820,\n\t0x1719c: 0x4044ba20, 0x1719d: 0x4044bc20, 0x1719e: 0x4044be20, 0x1719f: 0x4044c020,\n\t0x171a0: 0x4044c220, 0x171a1: 0x4044c420, 0x171a2: 0x4044c620, 0x171a3: 0x4044c820,\n\t0x171a4: 0x4044ce20, 0x171a5: 0x4044cc20, 0x171a6: 0x4044ce20, 0x171a7: 0x4044d020,\n\t0x171a8: 0x4044d220, 0x171a9: 0x4044d420, 0x171aa: 0x4044d620, 0x171ab: 0x4044d820,\n\t0x171ac: 0x4044da20, 0x171ad: 0x4044dc20, 0x171ae: 0x4044de20, 0x171af: 0x4044e020,\n\t0x171b0: 0x4044e220, 0x171b1: 0x4044e420, 0x171b3: 0x4044e620,\n\t0x171b4: 0x4044e820, 0x171b5: 0x4044ea20, 0x171b6: 0x4044ec20, 0x171b7: 0x4044ee20,\n\t0x171b8: 0x4044f020, 0x171b9: 0x4044f220, 0x171ba: 0x4044f420, 0x171bb: 0x4044f620,\n\t0x171bd: 0x4044f820,\n\t// Block 0x5c7, offset 0x171c0\n\t0x171c0: 0xa0000000, 0x171c1: 0xa0000000, 0x171c2: 0xa0000000, 0x171c3: 0xa0000000,\n\t0x171c4: 0xa0000000, 0x171c5: 0xa0000000, 0x171c6: 0xa0000000, 0x171c7: 0xa0000000,\n\t0x171c8: 0xa0000000, 0x171c9: 0x40020020, 0x171ca: 0x40020220, 0x171cb: 0x40020420,\n\t0x171cc: 0x40020620, 0x171cd: 0x40020820, 0x171ce: 0xa0000000, 0x171cf: 0xa0000000,\n\t0x171d0: 0xa0000000, 0x171d1: 0xa0000000, 0x171d2: 0xa0000000, 0x171d3: 0xa0000000,\n\t0x171d4: 0xa0000000, 0x171d5: 0xa0000000, 0x171d6: 0xa0000000, 0x171d7: 0xa0000000,\n\t0x171d8: 0xa0000000, 0x171d9: 0xa0000000, 0x171da: 0xa0000000, 0x171db: 0xa0000000,\n\t0x171dc: 0xa0000000, 0x171dd: 0xa0000000, 0x171de: 0xa0000000, 0x171df: 0xa0000000,\n\t0x171e0: 0x40021220, 0x171e1: 0x4002ba20, 0x171e2: 0x4003e020, 0x171e3: 0x4004ea20,\n\t0x171e4: 0x4027de20, 0x171e5: 0x4004ec20, 0x171e6: 0x4004e620, 0x171e7: 0x4003d220,\n\t0x171e8: 0x4003f420, 0x171e9: 0x4003f620, 0x171ea: 0x4004d820, 0x171eb: 0x40093820,\n\t0x171ec: 0x40024020, 0x171ed: 0x40021a20, 0x171ee: 0x4002e420, 0x171ef: 0x4004e220,\n\t0x171f0: 0x4029cc20, 0x171f1: 0x4029ce20, 0x171f2: 0x4029d020, 0x171f3: 0x4029d220,\n\t0x171f4: 0x4029d420, 0x171f5: 0x4029d620, 0x171f6: 0x4029d820, 0x171f7: 0x4029da20,\n\t0x171f8: 0x4029dc20, 0x171f9: 0x4029de20, 0x171fa: 0x40026c20, 0x171fb: 0x40026220,\n\t0x171fc: 0x40094020, 0x171fd: 0x40094220, 0x171fe: 0x40094420, 0x171ff: 0x4002c420,\n\t// Block 0x5c8, offset 0x17200\n\t0x17200: 0x4004d620, 0x17201: 0xce900071, 0x17202: 0x002c0a88, 0x17203: 0xc3590953,\n\t0x17204: 0x002c6288, 0x17205: 0x002c9888, 0x17206: 0x002d0888, 0x17207: 0x002d2288,\n\t0x17208: 0x002d6888, 0x17209: 0x002d9a88, 0x1720a: 0x002dcc88, 0x1720b: 0x002dfe88,\n\t0x1720c: 0xc0030002, 0x1720d: 0x002e8288, 0x1720e: 0x002e9e88, 0x1720f: 0xc33f2741,\n\t0x17210: 0x002f2c88, 0x17211: 0x002f5688, 0x17212: 0xc35f0991, 0x17213: 0xc3430991,\n\t0x17214: 0x00302c88, 0x17215: 0x00306c88, 0x17216: 0x0030be88, 0x17217: 0x0030e288,\n\t0x17218: 0x0030f688, 0x17219: 0x00310088, 0x1721a: 0xc3630991, 0x1721b: 0x4003f820,\n\t0x1721c: 0x4004e420, 0x1721d: 0x4003fa20, 0x1721e: 0x40062420, 0x1721f: 0x40021620,\n\t0x17220: 0x40061e20, 0x17221: 0xce8e0071, 0x17222: 0x402c0a20, 0x17223: 0xc3550953,\n\t0x17224: 0x402c6220, 0x17225: 0x402c9820, 0x17226: 0x402d0820, 0x17227: 0x402d2220,\n\t0x17228: 0x402d6820, 0x17229: 0x402d9a20, 0x1722a: 0x402dcc20, 0x1722b: 0x402dfe20,\n\t0x1722c: 0xc0000002, 0x1722d: 0x402e8220, 0x1722e: 0x402e9e20, 0x1722f: 0xc33d2741,\n\t0x17230: 0x402f2c20, 0x17231: 0x402f5620, 0x17232: 0xc35d0991, 0x17233: 0xc3410991,\n\t0x17234: 0x40302c20, 0x17235: 0x40306c20, 0x17236: 0x4030be20, 0x17237: 0x4030e220,\n\t0x17238: 0x4030f620, 0x17239: 0x40310020, 0x1723a: 0xc3610991, 0x1723b: 0x4003fc20,\n\t0x1723c: 0x40094820, 0x1723d: 0x4003fe20, 0x1723e: 0x40094c20, 0x1723f: 0xa0000000,\n\t// Block 0x5c9, offset 0x17240\n\t0x17240: 0xe00008f5, 0x17241: 0xe00008ef, 0x17242: 0xe0000921, 0x17243: 0xe0000969,\n\t0x17244: 0x002be083, 0x17245: 0xe000094d, 0x17246: 0xe00009dd, 0x17247: 0xe0000a53,\n\t0x17248: 0xe0000ae8, 0x17249: 0xe0000ae2, 0x1724a: 0xe0000af4, 0x1724b: 0xe0000b20,\n\t0x1724c: 0xe0000c2b, 0x1724d: 0xe0000c25, 0x1724e: 0xe0000c37, 0x1724f: 0xe0000c43,\n\t0x17250: 0xe0000ab3, 0x17251: 0xe0000d63, 0x17252: 0xe0000d9a, 0x17253: 0xe0000d94,\n\t0x17254: 0x002ee483, 0x17255: 0xe0000de6, 0x17256: 0xe0000dd2, 0x17257: 0x40093e20,\n\t0x17258: 0xe0000e12, 0x17259: 0xe0000fe1, 0x1725a: 0xe0000fdb, 0x1725b: 0xe0000fed,\n\t0x1725c: 0xe0000fff, 0x1725d: 0xe0001102, 0x1725e: 0x00318888, 0x1725f: 0xe0000f7b,\n\t0x17260: 0xe00008f2, 0x17261: 0xe00008ec, 0x17262: 0xe000091e, 0x17263: 0xe0000966,\n\t0x17264: 0x402be020, 0x17265: 0xe000094a, 0x17266: 0xe00009d5, 0x17267: 0xe0000a4d,\n\t0x17268: 0xe0000ae5, 0x17269: 0xe0000adf, 0x1726a: 0xe0000af1, 0x1726b: 0xe0000b1d,\n\t0x1726c: 0xe0000c28, 0x1726d: 0xe0000c22, 0x1726e: 0xe0000c34, 0x1726f: 0xe0000c40,\n\t0x17270: 0xe0000aad, 0x17271: 0xe0000d60, 0x17272: 0xe0000d97, 0x17273: 0xe0000d91,\n\t0x17274: 0x402ee420, 0x17275: 0xe0000de3, 0x17276: 0xe0000dcf, 0x17277: 0x40093c20,\n\t0x17278: 0xe0000e0f, 0x17279: 0xe0000fde, 0x1727a: 0xe0000fd8, 0x1727b: 0xe0000fea,\n\t0x1727c: 0xe0000ffc, 0x1727d: 0xe00010ff, 0x1727e: 0x40318820, 0x1727f: 0xe0001114,\n\t// Block 0x5ca, offset 0x17280\n\t0x17280: 0x40321220, 0x17281: 0x40321a20, 0x17282: 0x40322220, 0x17283: 0x40322a20,\n\t0x17284: 0xe0000ad5, 0x17285: 0xe0000ad1, 0x17286: 0xe0000acd, 0x17287: 0xf0000a0a,\n\t0x17288: 0xf000040a, 0x17289: 0xf0000404, 0x1728a: 0xf0000a0a, 0x1728b: 0xf000040a,\n\t0x1728c: 0xf0000404, 0x1728d: 0xe0000947, 0x1728e: 0xe0000944, 0x1728f: 0xe0000c3d,\n\t0x17290: 0xe0000c3a, 0x17291: 0xe0000dcc, 0x17292: 0xe0000dc9, 0x17293: 0xe0000ff3,\n\t0x17294: 0xe0000ff0, 0x17295: 0xe000101e, 0x17296: 0xe000101a, 0x17297: 0xe0001006,\n\t0x17298: 0xe0001002, 0x17299: 0xe0001016, 0x1729a: 0xe0001012, 0x1729b: 0xe000100e,\n\t0x1729c: 0xe000100a, 0x1729d: 0x402cae20, 0x1729e: 0xe00038f2, 0x1729f: 0xe00038ef,\n\t0x172a0: 0xe0000976, 0x172a1: 0xe0000972, 0x172a2: 0xe00009f4, 0x172a3: 0xe00009ef,\n\t0x172a4: 0x002d3a88, 0x172a5: 0x402d3a20, 0x172a6: 0xe0000bbe, 0x172a7: 0xe0000bbb,\n\t0x172a8: 0xe0000c99, 0x172a9: 0xe0000c96, 0x172aa: 0xe0000e20, 0x172ab: 0xe0000e1d,\n\t0x172ac: 0xe0000e27, 0x172ad: 0xe0000e23, 0x172ae: 0xe0001162, 0x172af: 0xe000115f,\n\t0x172b0: 0xe0000c8d, 0x172b1: 0xf0000a0a, 0x172b2: 0xf000040a, 0x172b3: 0xf0000404,\n\t0x172b4: 0xe0000bac, 0x172b5: 0xe0000ba9, 0x172b6: 0x002d7888, 0x172b7: 0x00319488,\n\t0x172b8: 0xe0000d57, 0x172b9: 0xe0000d54, 0x172ba: 0xe0000954, 0x172bb: 0xe0000950,\n\t0x172bc: 0xe00009ea, 0x172bd: 0xe00009e5, 0x172be: 0xe0000e19, 0x172bf: 0xe0000e15,\n\t// Block 0x5cb, offset 0x172c0\n\t0x172c0: 0xe0000b03, 0x172c1: 0xe0000aff, 0x172c2: 0xe0000b13, 0x172c3: 0xe0000b0f,\n\t0x172c4: 0xe0000b0b, 0x172c5: 0xe0000b07, 0x172c6: 0xe0000b75, 0x172c7: 0xe0000b71,\n\t0x172c8: 0xe0000c66, 0x172c9: 0xe0000c63, 0x172ca: 0xe0000c78, 0x172cb: 0xe0000c75,\n\t0x172cc: 0xe0000e84, 0x172cd: 0xe0000e81, 0x172ce: 0xe0000e44, 0x172cf: 0xe0000e41,\n\t0x172d0: 0xe000ad5f, 0x172d1: 0xe000ad5c, 0x172d2: 0xe000ad65, 0x172d3: 0xe000ad62,\n\t0x172d4: 0xe000ad6b, 0x172d5: 0xe000ad68, 0x172d6: 0xe0002946, 0x172d7: 0xe0002943,\n\t0x172d8: 0xe000ad71, 0x172d9: 0xe000ad6e, 0x172da: 0xe0000e5d, 0x172db: 0xe0000e59,\n\t0x172dc: 0xe0000e65, 0x172dd: 0xe0000e61, 0x172de: 0xe0000e75, 0x172df: 0xe0000e71,\n\t0x172e0: 0xe0000e6d, 0x172e1: 0xe0000e69, 0x172e2: 0xe0000e7d, 0x172e3: 0xe0000e79,\n\t0x172e4: 0xe000108d, 0x172e5: 0xe000108a, 0x172e6: 0xe000104d, 0x172e7: 0xe000104a,\n\t0x172e8: 0xe0001066, 0x172e9: 0xe0001062, 0x172ea: 0xe000106e, 0x172eb: 0xe000106a,\n\t0x172ec: 0xe000107e, 0x172ed: 0xe000107a, 0x172ee: 0xe0001076, 0x172ef: 0xe0001072,\n\t0x172f0: 0xe0001086, 0x172f1: 0xe0001082, 0x172f2: 0xe0001108, 0x172f3: 0xe0001105,\n\t0x172f4: 0xe0001135, 0x172f5: 0xe0001132, 0x172f6: 0xe000112f, 0x172f7: 0xe000112c,\n\t0x172f8: 0xe000111d, 0x172f9: 0xe000111a, 0x172fa: 0xe0000d0a, 0x172fb: 0xe0000d07,\n\t0x172fc: 0x0030d888, 0x172fd: 0x4030d820, 0x172fe: 0x00312088, 0x172ff: 0x40312020,\n\t// Block 0x5cc, offset 0x17300\n\t0x17300: 0xa0000000, 0x17301: 0xa0000000, 0x17302: 0xa0000000, 0x17303: 0xa0000000,\n\t0x17304: 0xa0000000, 0x17305: 0xa0000000, 0x17306: 0xa0000000, 0x17307: 0xa0000000,\n\t0x17308: 0xa0000000, 0x17309: 0x40020020, 0x1730a: 0x40020220, 0x1730b: 0x40020420,\n\t0x1730c: 0x40020620, 0x1730d: 0x40020820, 0x1730e: 0xa0000000, 0x1730f: 0xa0000000,\n\t0x17310: 0xa0000000, 0x17311: 0xa0000000, 0x17312: 0xa0000000, 0x17313: 0xa0000000,\n\t0x17314: 0xa0000000, 0x17315: 0xa0000000, 0x17316: 0xa0000000, 0x17317: 0xa0000000,\n\t0x17318: 0xa0000000, 0x17319: 0xa0000000, 0x1731a: 0xa0000000, 0x1731b: 0xa0000000,\n\t0x1731c: 0xa0000000, 0x1731d: 0xa0000000, 0x1731e: 0xa0000000, 0x1731f: 0xa0000000,\n\t0x17320: 0x40021220, 0x17321: 0x4002ba20, 0x17322: 0x4003e020, 0x17323: 0x4004ea20,\n\t0x17324: 0x4027de20, 0x17325: 0x4004ec20, 0x17326: 0x4004e620, 0x17327: 0x4003d220,\n\t0x17328: 0x4003f420, 0x17329: 0x4003f620, 0x1732a: 0x4004d820, 0x1732b: 0x40093820,\n\t0x1732c: 0x40024020, 0x1732d: 0x40021a20, 0x1732e: 0x4002e420, 0x1732f: 0x4004e220,\n\t0x17330: 0x4029cc20, 0x17331: 0x4029ce20, 0x17332: 0x4029d020, 0x17333: 0x4029d220,\n\t0x17334: 0x4029d420, 0x17335: 0x4029d620, 0x17336: 0x4029d820, 0x17337: 0x4029da20,\n\t0x17338: 0x4029dc20, 0x17339: 0x4029de20, 0x1733a: 0x40026c20, 0x1733b: 0x40026220,\n\t0x1733c: 0x40094020, 0x1733d: 0x40094220, 0x1733e: 0x40094420, 0x1733f: 0x4002c420,\n\t// Block 0x5cd, offset 0x17340\n\t0x17340: 0x4004d620, 0x17341: 0x002bde88, 0x17342: 0x002c0a88, 0x17343: 0xc59b2891,\n\t0x17344: 0x002c6288, 0x17345: 0x002c9888, 0x17346: 0x002d0888, 0x17347: 0x002d2288,\n\t0x17348: 0x002d6888, 0x17349: 0x002d9a88, 0x1734a: 0x002dcc88, 0x1734b: 0x002dfe88,\n\t0x1734c: 0xc0030002, 0x1734d: 0x002e8288, 0x1734e: 0x002e9e88, 0x1734f: 0x002ee288,\n\t0x17350: 0x002f2c88, 0x17351: 0x002f5688, 0x17352: 0x002f7a88, 0x17353: 0xc3430991,\n\t0x17354: 0x00302c88, 0x17355: 0x00306c88, 0x17356: 0x0030be88, 0x17357: 0x0030e288,\n\t0x17358: 0x0030f688, 0x17359: 0x00310088, 0x1735a: 0xc3630991, 0x1735b: 0x4003f820,\n\t0x1735c: 0x4004e420, 0x1735d: 0x4003fa20, 0x1735e: 0x40062420, 0x1735f: 0x40021620,\n\t0x17360: 0x40061e20, 0x17361: 0x402bde20, 0x17362: 0x402c0a20, 0x17363: 0xc5982891,\n\t0x17364: 0x402c6220, 0x17365: 0x402c9820, 0x17366: 0x402d0820, 0x17367: 0x402d2220,\n\t0x17368: 0x402d6820, 0x17369: 0x402d9a20, 0x1736a: 0x402dcc20, 0x1736b: 0x402dfe20,\n\t0x1736c: 0xc0000002, 0x1736d: 0x402e8220, 0x1736e: 0x402e9e20, 0x1736f: 0x402ee220,\n\t0x17370: 0x402f2c20, 0x17371: 0x402f5620, 0x17372: 0x402f7a20, 0x17373: 0xc3410991,\n\t0x17374: 0x40302c20, 0x17375: 0x40306c20, 0x17376: 0x4030be20, 0x17377: 0x4030e220,\n\t0x17378: 0x4030f620, 0x17379: 0x40310020, 0x1737a: 0xc3610991, 0x1737b: 0x4003fc20,\n\t0x1737c: 0x40094820, 0x1737d: 0x4003fe20, 0x1737e: 0x40094c20, 0x1737f: 0xa0000000,\n\t// Block 0x5ce, offset 0x17380\n\t0x17380: 0xe0000983, 0x17381: 0xe0000980, 0x17382: 0xe00008fb, 0x17383: 0xe00008f8,\n\t0x17384: 0xe000097d, 0x17385: 0xe000097a, 0x17386: 0x002c3e83, 0x17387: 0x402c3e20,\n\t0x17388: 0xe0000a3e, 0x17389: 0xe0000a3b, 0x1738a: 0xe0000a4a, 0x1738b: 0xe0000a47,\n\t0x1738c: 0x002c3c83, 0x1738d: 0x402c3c20, 0x1738e: 0xe0000a86, 0x1738f: 0xe0000a83,\n\t0x17390: 0x002c6483, 0x17391: 0x402c6420, 0x17392: 0xe0000b46, 0x17393: 0xe0000b43,\n\t0x17394: 0xe0000aee, 0x17395: 0xe0000aeb, 0x17396: 0xe0000b2c, 0x17397: 0xe0000b29,\n\t0x17398: 0xe0000b40, 0x17399: 0xe0000b3d, 0x1739a: 0xe0000b1a, 0x1739b: 0xe0000b17,\n\t0x1739c: 0xe0000bb8, 0x1739d: 0xe0000bb5, 0x1739e: 0xe0000bb2, 0x1739f: 0xe0000baf,\n\t0x173a0: 0xe0000bc4, 0x173a1: 0xe0000bc1, 0x173a2: 0xe0000bca, 0x173a3: 0xe0000bc7,\n\t0x173a4: 0xe0000bee, 0x173a5: 0xe0000beb, 0x173a6: 0xe0000c1b, 0x173a7: 0xe0000c18,\n\t0x173a8: 0xe0000c51, 0x173a9: 0xe0000c4e, 0x173aa: 0xe0000c60, 0x173ab: 0xe0000c5d,\n\t0x173ac: 0xe0000c31, 0x173ad: 0xe0000c2e, 0x173ae: 0xe0000c5a, 0x173af: 0xe0000c57,\n\t0x173b0: 0xe0000c54, 0x173b1: 0x402da220, 0x173b2: 0xf0000a0a, 0x173b3: 0xf0000404,\n\t0x173b4: 0xe0000c8a, 0x173b5: 0xe0000c87, 0x173b6: 0xe0000c9f, 0x173b7: 0xe0000c9c,\n\t0x173b8: 0x402f7220, 0x173b9: 0xe0000ccc, 0x173ba: 0xe0000cc9, 0x173bb: 0xe0000cd8,\n\t0x173bc: 0xe0000cd5, 0x173bd: 0xe0000cd2, 0x173be: 0xe0000ccf, 0x173bf: 0xe0000d04,\n\t// Block 0x5cf, offset 0x173c0\n\t0x173c0: 0xa0000000, 0x173c1: 0xa0000000, 0x173c2: 0xa0000000, 0x173c3: 0xa0000000,\n\t0x173c4: 0xa0000000, 0x173c5: 0xa0000000, 0x173c6: 0xa0000000, 0x173c7: 0xa0000000,\n\t0x173c8: 0xa0000000, 0x173c9: 0x40020020, 0x173ca: 0x40020220, 0x173cb: 0x40020420,\n\t0x173cc: 0x40020620, 0x173cd: 0x40020820, 0x173ce: 0xa0000000, 0x173cf: 0xa0000000,\n\t0x173d0: 0xa0000000, 0x173d1: 0xa0000000, 0x173d2: 0xa0000000, 0x173d3: 0xa0000000,\n\t0x173d4: 0xa0000000, 0x173d5: 0xa0000000, 0x173d6: 0xa0000000, 0x173d7: 0xa0000000,\n\t0x173d8: 0xa0000000, 0x173d9: 0xa0000000, 0x173da: 0xa0000000, 0x173db: 0xa0000000,\n\t0x173dc: 0xa0000000, 0x173dd: 0xa0000000, 0x173de: 0xa0000000, 0x173df: 0xa0000000,\n\t0x173e0: 0x40021220, 0x173e1: 0x4002ba20, 0x173e2: 0x4003e020, 0x173e3: 0x4004ea20,\n\t0x173e4: 0x4027de20, 0x173e5: 0x4004ec20, 0x173e6: 0x4004e620, 0x173e7: 0x4003d220,\n\t0x173e8: 0x4003f420, 0x173e9: 0x4003f620, 0x173ea: 0x4004d820, 0x173eb: 0x40093820,\n\t0x173ec: 0x40024020, 0x173ed: 0x40021a20, 0x173ee: 0x4002e420, 0x173ef: 0x4004e220,\n\t0x173f0: 0x4029cc20, 0x173f1: 0x4029ce20, 0x173f2: 0x4029d020, 0x173f3: 0x4029d220,\n\t0x173f4: 0x4029d420, 0x173f5: 0x4029d620, 0x173f6: 0x4029d820, 0x173f7: 0x4029da20,\n\t0x173f8: 0x4029dc20, 0x173f9: 0x4029de20, 0x173fa: 0x40026c20, 0x173fb: 0x40026220,\n\t0x173fc: 0x40094020, 0x173fd: 0x40094220, 0x173fe: 0x40094420, 0x173ff: 0x4002c420,\n\t// Block 0x5d0, offset 0x17400\n\t0x17400: 0x4004d620, 0x17401: 0x002bde88, 0x17402: 0x002c0a88, 0x17403: 0xcb170911,\n\t0x17404: 0xceec09c2, 0x17405: 0xc6360071, 0x17406: 0x002d0888, 0x17407: 0xceef2a52,\n\t0x17408: 0x002d6888, 0x17409: 0x002d9a88, 0x1740a: 0x002dcc88, 0x1740b: 0x002dfe88,\n\t0x1740c: 0xcef60ac4, 0x1740d: 0x002e8288, 0x1740e: 0xcefb2a52, 0x1740f: 0x002ee288,\n\t0x17410: 0x002f2c88, 0x17411: 0x002f5688, 0x17412: 0xcefe9872, 0x17413: 0xcf0109c2,\n\t0x17414: 0xcf0609c2, 0x17415: 0x00306c88, 0x17416: 0x0030be88, 0x17417: 0x0030e288,\n\t0x17418: 0xcf0b09c2, 0x17419: 0x00310088, 0x1741a: 0xcf0e09c2, 0x1741b: 0x4003f820,\n\t0x1741c: 0x4004e420, 0x1741d: 0x4003fa20, 0x1741e: 0x40062420, 0x1741f: 0x40021620,\n\t0x17420: 0x40061e20, 0x17421: 0x402bde20, 0x17422: 0x402c0a20, 0x17423: 0xcb150911,\n\t0x17424: 0xceea09b1, 0x17425: 0xc6340071, 0x17426: 0x402d0820, 0x17427: 0xcb192a41,\n\t0x17428: 0x402d6820, 0x17429: 0x402d9a20, 0x1742a: 0x402dcc20, 0x1742b: 0x402dfe20,\n\t0x1742c: 0xcef20a73, 0x1742d: 0x402e8220, 0x1742e: 0xcb292a41, 0x1742f: 0x402ee220,\n\t0x17430: 0x402f2c20, 0x17431: 0x402f5620, 0x17432: 0xcb2d9861, 0x17433: 0xcb3109b1,\n\t0x17434: 0xcf0409b1, 0x17435: 0x40306c20, 0x17436: 0x4030be20, 0x17437: 0x4030e220,\n\t0x17438: 0xcf0909b1, 0x17439: 0x40310020, 0x1743a: 0xcb3509b1, 0x1743b: 0x4003fc20,\n\t0x1743c: 0x40094820, 0x1743d: 0x4003fe20, 0x1743e: 0x40094c20, 0x1743f: 0xa0000000,\n\t// Block 0x5d1, offset 0x17440\n\t0x17440: 0xe00008f5, 0x17441: 0xe00008ef, 0x17442: 0xe0000921, 0x17443: 0xe0000969,\n\t0x17444: 0xe000095b, 0x17445: 0xe000094d, 0x17446: 0xe00009dd, 0x17447: 0x002c6083,\n\t0x17448: 0xe0000ae8, 0x17449: 0xe0000ae2, 0x1744a: 0xe0000af4, 0x1744b: 0x002d0683,\n\t0x1744c: 0xe0000c2b, 0x1744d: 0xe0000c25, 0x1744e: 0xe0000c37, 0x1744f: 0xe0000c43,\n\t0x17450: 0xe0000ab3, 0x17451: 0xe0000d63, 0x17452: 0xe0000d9a, 0x17453: 0xe0000d94,\n\t0x17454: 0xe0000da6, 0x17455: 0xe0000de6, 0x17456: 0xe0000dd2, 0x17457: 0x40093e20,\n\t0x17458: 0xe0000e12, 0x17459: 0xe0000fe1, 0x1745a: 0xe0000fdb, 0x1745b: 0xe0000fed,\n\t0x1745c: 0xe0000fff, 0x1745d: 0xe0001102, 0x1745e: 0x00318888, 0x1745f: 0xe0000f7b,\n\t0x17460: 0xe00008f2, 0x17461: 0xe00008ec, 0x17462: 0xe000091e, 0x17463: 0xe0000966,\n\t0x17464: 0xe0000958, 0x17465: 0xe000094a, 0x17466: 0xe00009d5, 0x17467: 0x402c6020,\n\t0x17468: 0xe0000ae5, 0x17469: 0xe0000adf, 0x1746a: 0xe0000af1, 0x1746b: 0x402d0620,\n\t0x1746c: 0xe0000c28, 0x1746d: 0xe0000c22, 0x1746e: 0xe0000c34, 0x1746f: 0xe0000c40,\n\t0x17470: 0xe0000aad, 0x17471: 0xe0000d60, 0x17472: 0xe0000d97, 0x17473: 0xe0000d91,\n\t0x17474: 0xe0000da3, 0x17475: 0xe0000de3, 0x17476: 0xe0000dcf, 0x17477: 0x40093c20,\n\t0x17478: 0xe0000e0f, 0x17479: 0xe0000fde, 0x1747a: 0xe0000fd8, 0x1747b: 0xe0000fea,\n\t0x1747c: 0xe0000ffc, 0x1747d: 0xe00010ff, 0x1747e: 0x40318820, 0x1747f: 0xe0001114,\n\t// Block 0x5d2, offset 0x17480\n\t0x17480: 0xe00009b1, 0x17481: 0xe00009ae, 0x17482: 0xe0000a22, 0x17483: 0xe0000a1f,\n\t0x17484: 0xe0000a28, 0x17485: 0xe0000a25, 0x17486: 0xe0000a2e, 0x17487: 0xe0000a2b,\n\t0x17488: 0xe000ade6, 0x17489: 0xe000ade3, 0x1748a: 0xe0000a8c, 0x1748b: 0xe0000a89,\n\t0x1748c: 0xe0000a98, 0x1748d: 0xe0000a95, 0x1748e: 0xe0000aa4, 0x1748f: 0xe0000aa1,\n\t0x17490: 0xe0000a92, 0x17491: 0xe0000a8f, 0x17492: 0xe0000a9e, 0x17493: 0xe0000a9b,\n\t0x17494: 0xe0000b55, 0x17495: 0xe0000b51, 0x17496: 0xe0000b4d, 0x17497: 0xe0000b49,\n\t0x17498: 0xe0000b7c, 0x17499: 0xe0000b79, 0x1749a: 0xe0000b82, 0x1749b: 0xe0000b7f,\n\t0x1749c: 0xe0000b39, 0x1749d: 0xe0000b35, 0x1749e: 0xe0000b8c, 0x1749f: 0xe0000b89,\n\t0x174a0: 0xe0000bd0, 0x174a1: 0xe0000bcd, 0x174a2: 0xe0000c00, 0x174a3: 0xe0000bfd,\n\t0x174a4: 0xe0000c0c, 0x174a5: 0xe0000c09, 0x174a6: 0xe0000bfa, 0x174a7: 0xe0000bf7,\n\t0x174a8: 0xe0000c06, 0x174a9: 0xe0000c03, 0x174aa: 0xe0000c12, 0x174ab: 0xe0000c0f,\n\t0x174ac: 0xe0000c7e, 0x174ad: 0xe0000c7b, 0x174ae: 0xe0000c4a, 0x174af: 0xe0000c46,\n\t0x174b0: 0xe0000c93, 0x174b1: 0xe0000c90, 0x174b2: 0xe0000cab, 0x174b3: 0xe0000ca8,\n\t0x174b4: 0xe0000cb1, 0x174b5: 0xe0000cae, 0x174b6: 0xe0000cde, 0x174b7: 0xe0000cdb,\n\t0x174b8: 0xe0000ce5, 0x174b9: 0xe0000ce1, 0x174ba: 0xe0000cf2, 0x174bb: 0xe0000cef,\n\t0x174bc: 0xe0000cec, 0x174bd: 0xe0000ce9, 0x174be: 0xe0000d1e, 0x174bf: 0xe0000d1b,\n\t// Block 0x5d3, offset 0x174c0\n\t0x174c0: 0xa0000000, 0x174c1: 0xa0000000, 0x174c2: 0xa0000000, 0x174c3: 0xa0000000,\n\t0x174c4: 0xa0000000, 0x174c5: 0xa0000000, 0x174c6: 0xa0000000, 0x174c7: 0xa0000000,\n\t0x174c8: 0xa0000000, 0x174c9: 0x40020020, 0x174ca: 0x40020220, 0x174cb: 0x40020420,\n\t0x174cc: 0x40020620, 0x174cd: 0x40020820, 0x174ce: 0xa0000000, 0x174cf: 0xa0000000,\n\t0x174d0: 0xa0000000, 0x174d1: 0xa0000000, 0x174d2: 0xa0000000, 0x174d3: 0xa0000000,\n\t0x174d4: 0xa0000000, 0x174d5: 0xa0000000, 0x174d6: 0xa0000000, 0x174d7: 0xa0000000,\n\t0x174d8: 0xa0000000, 0x174d9: 0xa0000000, 0x174da: 0xa0000000, 0x174db: 0xa0000000,\n\t0x174dc: 0xa0000000, 0x174dd: 0xa0000000, 0x174de: 0xa0000000, 0x174df: 0xa0000000,\n\t0x174e0: 0x40021220, 0x174e1: 0x4002ba20, 0x174e2: 0x4003e020, 0x174e3: 0x4004ea20,\n\t0x174e4: 0x4027de20, 0x174e5: 0x4004ec20, 0x174e6: 0x4004e620, 0x174e7: 0x4003d220,\n\t0x174e8: 0x4003f420, 0x174e9: 0x4003f620, 0x174ea: 0x4004d820, 0x174eb: 0x40093820,\n\t0x174ec: 0x40024020, 0x174ed: 0x40021a20, 0x174ee: 0x4002e420, 0x174ef: 0x4004e220,\n\t0x174f0: 0x4029cc20, 0x174f1: 0x4029ce20, 0x174f2: 0x4029d020, 0x174f3: 0x4029d220,\n\t0x174f4: 0x4029d420, 0x174f5: 0x4029d620, 0x174f6: 0x4029d820, 0x174f7: 0x4029da20,\n\t0x174f8: 0x4029dc20, 0x174f9: 0x4029de20, 0x174fa: 0x40026c20, 0x174fb: 0x40026220,\n\t0x174fc: 0x40094020, 0x174fd: 0x40094220, 0x174fe: 0x40094420, 0x174ff: 0x4002c420,\n\t// Block 0x5d4, offset 0x17500\n\t0x17500: 0x4004d620, 0x17501: 0xc57327b1, 0x17502: 0x002c0a88, 0x17503: 0x002c3a88,\n\t0x17504: 0x002c6288, 0x17505: 0xcf130be1, 0x17506: 0x002d0888, 0x17507: 0x002d2288,\n\t0x17508: 0x002d6888, 0x17509: 0x002d9a88, 0x1750a: 0x002dcc88, 0x1750b: 0x002dfe88,\n\t0x1750c: 0xc0030002, 0x1750d: 0x002e8288, 0x1750e: 0x002e9e88, 0x1750f: 0xcf199891,\n\t0x17510: 0x002f2c88, 0x17511: 0x002f5688, 0x17512: 0x002f7a88, 0x17513: 0x002fe688,\n\t0x17514: 0x00302c88, 0x17515: 0xc3900b21, 0x17516: 0x0030be88, 0x17517: 0x0030e288,\n\t0x17518: 0x0030f688, 0x17519: 0x00310088, 0x1751a: 0x00312a88, 0x1751b: 0x4003f820,\n\t0x1751c: 0x4004e420, 0x1751d: 0x4003fa20, 0x1751e: 0x40062420, 0x1751f: 0x40021620,\n\t0x17520: 0x40061e20, 0x17521: 0xc57027b1, 0x17522: 0x402c0a20, 0x17523: 0x402c3a20,\n\t0x17524: 0x402c6220, 0x17525: 0xcf110be1, 0x17526: 0x402d0820, 0x17527: 0x402d2220,\n\t0x17528: 0x402d6820, 0x17529: 0x402d9a20, 0x1752a: 0x402dcc20, 0x1752b: 0x402dfe20,\n\t0x1752c: 0xc0000002, 0x1752d: 0x402e8220, 0x1752e: 0x402e9e20, 0x1752f: 0xcf159891,\n\t0x17530: 0x402f2c20, 0x17531: 0x402f5620, 0x17532: 0x402f7a20, 0x17533: 0x402fe620,\n\t0x17534: 0x40302c20, 0x17535: 0xc38d0b21, 0x17536: 0x4030be20, 0x17537: 0x4030e220,\n\t0x17538: 0x4030f620, 0x17539: 0x40310020, 0x1753a: 0x40312a20, 0x1753b: 0x4003fc20,\n\t0x1753c: 0x40094820, 0x1753d: 0x4003fe20, 0x1753e: 0x40094c20, 0x1753f: 0xa0000000,\n\t// Block 0x5d5, offset 0x17540\n\t0x17540: 0xe00008f5, 0x17541: 0xe00008ef, 0x17542: 0xe0000921, 0x17543: 0xe0000969,\n\t0x17544: 0x00320e83, 0x17545: 0x00320c83, 0x17546: 0x00320ea3, 0x17547: 0xe0000a53,\n\t0x17548: 0xe0000ae8, 0x17549: 0xe0000ae2, 0x1754a: 0xe0000af4, 0x1754b: 0xe0000b20,\n\t0x1754c: 0xe0000c2b, 0x1754d: 0xe0000c25, 0x1754e: 0xe0000c37, 0x1754f: 0xe0000c43,\n\t0x17550: 0x002c62c3, 0x17551: 0xe0000d63, 0x17552: 0xe0000d9a, 0x17553: 0xe0000d94,\n\t0x17554: 0x00321103, 0x17555: 0xe0000de6, 0x17556: 0x00321083, 0x17557: 0x40093e20,\n\t0x17558: 0x003210a3, 0x17559: 0xe0000fe1, 0x1755a: 0xe0000fdb, 0x1755b: 0xe0000fed,\n\t0x1755c: 0x003100a3, 0x1755d: 0xe0001102, 0x1755e: 0xe0002973, 0x1755f: 0xe0000f7b,\n\t0x17560: 0xe00008f2, 0x17561: 0xe00008ec, 0x17562: 0xe000091e, 0x17563: 0xe0000966,\n\t0x17564: 0x40320e20, 0x17565: 0x40320c20, 0x17566: 0x40320e21, 0x17567: 0xe0000a4d,\n\t0x17568: 0xe0000ae5, 0x17569: 0xe0000adf, 0x1756a: 0xe0000af1, 0x1756b: 0xe0000b1d,\n\t0x1756c: 0xe0000c28, 0x1756d: 0xe0000c22, 0x1756e: 0xe0000c34, 0x1756f: 0xe0000c40,\n\t0x17570: 0x402c6222, 0x17571: 0xe0000d60, 0x17572: 0xe0000d97, 0x17573: 0xe0000d91,\n\t0x17574: 0x40321024, 0x17575: 0xe0000de3, 0x17576: 0x40321020, 0x17577: 0x40093c20,\n\t0x17578: 0x40321021, 0x17579: 0xe0000fde, 0x1757a: 0xe0000fd8, 0x1757b: 0xe0000fea,\n\t0x1757c: 0x40310021, 0x1757d: 0xe00010ff, 0x1757e: 0xe0002970, 0x1757f: 0xe0001114,\n\t// Block 0x5d6, offset 0x17580\n\t0x17580: 0xe0000983, 0x17581: 0xe0000980, 0x17582: 0xe00008fb, 0x17583: 0xe00008f8,\n\t0x17584: 0xe000097d, 0x17585: 0xe000097a, 0x17586: 0xe0000a38, 0x17587: 0xe0000a35,\n\t0x17588: 0xe0000a3e, 0x17589: 0xe0000a3b, 0x1758a: 0xe0000a4a, 0x1758b: 0xe0000a47,\n\t0x1758c: 0xe0000a44, 0x1758d: 0xe0000a41, 0x1758e: 0xe0000a86, 0x1758f: 0xe0000a83,\n\t0x17590: 0x002c62a3, 0x17591: 0x402c6221, 0x17592: 0xe0000b46, 0x17593: 0xe0000b43,\n\t0x17594: 0xe0000aee, 0x17595: 0xe0000aeb, 0x17596: 0xe0000b2c, 0x17597: 0xe0000b29,\n\t0x17598: 0x00320ec3, 0x17599: 0x40320e22, 0x1759a: 0xe0000b1a, 0x1759b: 0xe0000b17,\n\t0x1759c: 0xe0000bb8, 0x1759d: 0xe0000bb5, 0x1759e: 0xe0000bb2, 0x1759f: 0xe0000baf,\n\t0x175a0: 0xe0000bc4, 0x175a1: 0xe0000bc1, 0x175a2: 0xe0000bca, 0x175a3: 0xe0000bc7,\n\t0x175a4: 0xe0000bee, 0x175a5: 0xe0000beb, 0x175a6: 0xe0000c1b, 0x175a7: 0xe0000c18,\n\t0x175a8: 0xe0000c51, 0x175a9: 0xe0000c4e, 0x175aa: 0xe0000c60, 0x175ab: 0xe0000c5d,\n\t0x175ac: 0xe0000c31, 0x175ad: 0xe0000c2e, 0x175ae: 0xe0000c5a, 0x175af: 0xe0000c57,\n\t0x175b0: 0xe0000c54, 0x175b1: 0x402da220, 0x175b2: 0xf0000a0a, 0x175b3: 0xf0000404,\n\t0x175b4: 0xe0000c8a, 0x175b5: 0xe0000c87, 0x175b6: 0xe0000c9f, 0x175b7: 0xe0000c9c,\n\t0x175b8: 0x402f7220, 0x175b9: 0xe0000ccc, 0x175ba: 0xe0000cc9, 0x175bb: 0xe0000cd8,\n\t0x175bc: 0xe0000cd5, 0x175bd: 0xe0000cd2, 0x175be: 0xe0000ccf, 0x175bf: 0xe0000d04,\n\t// Block 0x5d7, offset 0x175c0\n\t0x175c0: 0xe0000cfe, 0x175c1: 0xe0000cf8, 0x175c2: 0xe0000cf5, 0x175c3: 0xe0000d51,\n\t0x175c4: 0xe0000d4e, 0x175c5: 0xe0000d6f, 0x175c6: 0xe0000d6c, 0x175c7: 0xe0000d5d,\n\t0x175c8: 0xe0000d5a, 0x175c9: 0xf0000404, 0x175ca: 0x002eda88, 0x175cb: 0x402eda20,\n\t0x175cc: 0xe0000e2e, 0x175cd: 0xe0000e2b, 0x175ce: 0xe0000da0, 0x175cf: 0xe0000d9d,\n\t0x175d0: 0x003210c3, 0x175d1: 0x40321022, 0x175d2: 0x003210e3, 0x175d3: 0x40321023,\n\t0x175d4: 0xe0000eca, 0x175d5: 0xe0000ec7, 0x175d6: 0xe0000edc, 0x175d7: 0xe0000ed9,\n\t0x175d8: 0xe0000ed0, 0x175d9: 0xe0000ecd, 0x175da: 0xe0000f1f, 0x175db: 0xe0000f1c,\n\t0x175dc: 0xe0000f2d, 0x175dd: 0xe0000f2a, 0x175de: 0xe0000f47, 0x175df: 0xe0000f44,\n\t0x175e0: 0xe0000f33, 0x175e1: 0xe0000f30, 0x175e2: 0xe0000f99, 0x175e3: 0xe0000f96,\n\t0x175e4: 0xe0000f8a, 0x175e5: 0xe0000f87, 0x175e6: 0x00303688, 0x175e7: 0x40303620,\n\t0x175e8: 0xe000102b, 0x175e9: 0xe0001028, 0x175ea: 0xe000103f, 0x175eb: 0xe000103c,\n\t0x175ec: 0xe0000fe7, 0x175ed: 0xe0000fe4, 0x175ee: 0xe0000ff9, 0x175ef: 0xe0000ff6,\n\t0x175f0: 0x003100c3, 0x175f1: 0x40310022, 0x175f2: 0xe0001039, 0x175f3: 0xe0001036,\n\t0x175f4: 0xe00010d8, 0x175f5: 0xe00010d5, 0x175f6: 0xe000110e, 0x175f7: 0xe000110b,\n\t0x175f8: 0xe0001117, 0x175f9: 0xe000113b, 0x175fa: 0xe0001138, 0x175fb: 0xe000114d,\n\t0x175fc: 0xe000114a, 0x175fd: 0xe0001147, 0x175fe: 0xe0001144, 0x175ff: 0xe0000f64,\n\t// Block 0x5d8, offset 0x17600\n\t0x17600: 0xe0000b03, 0x17601: 0xe0000aff, 0x17602: 0xe0000b13, 0x17603: 0xe0000b0f,\n\t0x17604: 0xe0000b0b, 0x17605: 0xe0000b07, 0x17606: 0xe0000b75, 0x17607: 0xe0000b71,\n\t0x17608: 0xe0000c66, 0x17609: 0xe0000c63, 0x1760a: 0xe0000c78, 0x1760b: 0xe0000c75,\n\t0x1760c: 0xe0000e84, 0x1760d: 0xe0000e81, 0x1760e: 0xe0000e44, 0x1760f: 0xe0000e41,\n\t0x17610: 0xe000adec, 0x17611: 0xe000ade9, 0x17612: 0xe000adf2, 0x17613: 0xe000adef,\n\t0x17614: 0xe000adfe, 0x17615: 0xe000adfb, 0x17616: 0xe000adf8, 0x17617: 0xe000adf5,\n\t0x17618: 0xe000ae04, 0x17619: 0xe000ae01, 0x1761a: 0xe0000e5d, 0x1761b: 0xe0000e59,\n\t0x1761c: 0xe0000e65, 0x1761d: 0xe0000e61, 0x1761e: 0xe0000e75, 0x1761f: 0xe0000e71,\n\t0x17620: 0xe0000e6d, 0x17621: 0xe0000e69, 0x17622: 0xe0000e7d, 0x17623: 0xe0000e79,\n\t0x17624: 0xe000108d, 0x17625: 0xe000108a, 0x17626: 0xe000104d, 0x17627: 0xe000104a,\n\t0x17628: 0xe0001066, 0x17629: 0xe0001062, 0x1762a: 0xe000106e, 0x1762b: 0xe000106a,\n\t0x1762c: 0xe000107e, 0x1762d: 0xe000107a, 0x1762e: 0xe0001076, 0x1762f: 0xe0001072,\n\t0x17630: 0xe0001086, 0x17631: 0xe0001082, 0x17632: 0xe0001108, 0x17633: 0xe0001105,\n\t0x17634: 0xe0001135, 0x17635: 0xe0001132, 0x17636: 0xe000112f, 0x17637: 0xe000112c,\n\t0x17638: 0xe000111d, 0x17639: 0xe000111a, 0x1763a: 0xe0000d0a, 0x1763b: 0xe0000d07,\n\t0x1763c: 0x0030d888, 0x1763d: 0x4030d820, 0x1763e: 0x00312088, 0x1763f: 0x40312020,\n\t// Block 0x5d9, offset 0x17640\n\t0x17640: 0xa0000000, 0x17641: 0xa0000000, 0x17642: 0xa0000000, 0x17643: 0xa0000000,\n\t0x17644: 0xa0000000, 0x17645: 0xa0000000, 0x17646: 0xa0000000, 0x17647: 0xa0000000,\n\t0x17648: 0xa0000000, 0x17649: 0x40020020, 0x1764a: 0x40020220, 0x1764b: 0x40020420,\n\t0x1764c: 0x40020620, 0x1764d: 0x40020820, 0x1764e: 0xa0000000, 0x1764f: 0xa0000000,\n\t0x17650: 0xa0000000, 0x17651: 0xa0000000, 0x17652: 0xa0000000, 0x17653: 0xa0000000,\n\t0x17654: 0xa0000000, 0x17655: 0xa0000000, 0x17656: 0xa0000000, 0x17657: 0xa0000000,\n\t0x17658: 0xa0000000, 0x17659: 0xa0000000, 0x1765a: 0xa0000000, 0x1765b: 0xa0000000,\n\t0x1765c: 0xa0000000, 0x1765d: 0xa0000000, 0x1765e: 0xa0000000, 0x1765f: 0xa0000000,\n\t0x17660: 0x40021220, 0x17661: 0x4002ba20, 0x17662: 0x4003e020, 0x17663: 0x4004ea20,\n\t0x17664: 0x4027de20, 0x17665: 0x4004ec20, 0x17666: 0x4004e620, 0x17667: 0x4003d220,\n\t0x17668: 0x4003f420, 0x17669: 0x4003f620, 0x1766a: 0x4004d820, 0x1766b: 0x40093820,\n\t0x1766c: 0x40024020, 0x1766d: 0x40021a20, 0x1766e: 0x4002e420, 0x1766f: 0x4004e220,\n\t0x17670: 0x4029cc20, 0x17671: 0x4029ce20, 0x17672: 0x4029d020, 0x17673: 0x4029d220,\n\t0x17674: 0x4029d420, 0x17675: 0x4029d620, 0x17676: 0x4029d820, 0x17677: 0x4029da20,\n\t0x17678: 0x4029dc20, 0x17679: 0x4029de20, 0x1767a: 0x40026c20, 0x1767b: 0x40026220,\n\t0x1767c: 0x40094020, 0x1767d: 0x40094220, 0x1767e: 0x40094420, 0x1767f: 0x4002c420,\n\t// Block 0x5da, offset 0x17680\n\t0x17680: 0x4004d620, 0x17681: 0xc57327b1, 0x17682: 0x002c0a88, 0x17683: 0x002c3a88,\n\t0x17684: 0x002c6288, 0x17685: 0xcf130be1, 0x17686: 0x002d0888, 0x17687: 0x002d2288,\n\t0x17688: 0x002d6888, 0x17689: 0x002d9a88, 0x1768a: 0x002dcc88, 0x1768b: 0x002dfe88,\n\t0x1768c: 0xc0030002, 0x1768d: 0x002e8288, 0x1768e: 0x002e9e88, 0x1768f: 0xcf199891,\n\t0x17690: 0x002f2c88, 0x17691: 0x002f5688, 0x17692: 0x002f7a88, 0x17693: 0x002fe688,\n\t0x17694: 0x00302c88, 0x17695: 0xc3900b21, 0x17696: 0x0030be83, 0x17697: 0x0030bea3,\n\t0x17698: 0x0030f688, 0x17699: 0x00310088, 0x1769a: 0x00312a88, 0x1769b: 0x4003f820,\n\t0x1769c: 0x4004e420, 0x1769d: 0x4003fa20, 0x1769e: 0x40062420, 0x1769f: 0x40021620,\n\t0x176a0: 0x40061e20, 0x176a1: 0xc57027b1, 0x176a2: 0x402c0a20, 0x176a3: 0x402c3a20,\n\t0x176a4: 0x402c6220, 0x176a5: 0xcf110be1, 0x176a6: 0x402d0820, 0x176a7: 0x402d2220,\n\t0x176a8: 0x402d6820, 0x176a9: 0x402d9a20, 0x176aa: 0x402dcc20, 0x176ab: 0x402dfe20,\n\t0x176ac: 0xc0000002, 0x176ad: 0x402e8220, 0x176ae: 0x402e9e20, 0x176af: 0xcf159891,\n\t0x176b0: 0x402f2c20, 0x176b1: 0x402f5620, 0x176b2: 0x402f7a20, 0x176b3: 0x402fe620,\n\t0x176b4: 0x40302c20, 0x176b5: 0xc38d0b21, 0x176b6: 0x4030be20, 0x176b7: 0x4030be21,\n\t0x176b8: 0x4030f620, 0x176b9: 0x40310020, 0x176ba: 0x40312a20, 0x176bb: 0x4003fc20,\n\t0x176bc: 0x40094820, 0x176bd: 0x4003fe20, 0x176be: 0x40094c20, 0x176bf: 0xa0000000,\n\t// Block 0x5db, offset 0x176c0\n\t0x176c0: 0xe0000cfe, 0x176c1: 0xe0000cf8, 0x176c2: 0xe0000cf5, 0x176c3: 0xe0000d51,\n\t0x176c4: 0xe0000d4e, 0x176c5: 0xe0000d6f, 0x176c6: 0xe0000d6c, 0x176c7: 0xe0000d5d,\n\t0x176c8: 0xe0000d5a, 0x176c9: 0xf0000404, 0x176ca: 0x002eda88, 0x176cb: 0x402eda20,\n\t0x176cc: 0xe0000e2e, 0x176cd: 0xe0000e2b, 0x176ce: 0xe0000da0, 0x176cf: 0xe0000d9d,\n\t0x176d0: 0x003210c3, 0x176d1: 0x40321022, 0x176d2: 0x003210e3, 0x176d3: 0x40321023,\n\t0x176d4: 0xe0000eca, 0x176d5: 0xe0000ec7, 0x176d6: 0xe0000edc, 0x176d7: 0xe0000ed9,\n\t0x176d8: 0xe0000ed0, 0x176d9: 0xe0000ecd, 0x176da: 0xe0000f1f, 0x176db: 0xe0000f1c,\n\t0x176dc: 0xe0000f2d, 0x176dd: 0xe0000f2a, 0x176de: 0xe0000f47, 0x176df: 0xe0000f44,\n\t0x176e0: 0xe0000f33, 0x176e1: 0xe0000f30, 0x176e2: 0xe0000f99, 0x176e3: 0xe0000f96,\n\t0x176e4: 0xe0000f8a, 0x176e5: 0xe0000f87, 0x176e6: 0x00303688, 0x176e7: 0x40303620,\n\t0x176e8: 0xe000102b, 0x176e9: 0xe0001028, 0x176ea: 0xe000103f, 0x176eb: 0xe000103c,\n\t0x176ec: 0xe0000fe7, 0x176ed: 0xe0000fe4, 0x176ee: 0xe0000ff9, 0x176ef: 0xe0000ff6,\n\t0x176f0: 0x003100c3, 0x176f1: 0x40310022, 0x176f2: 0xe0001039, 0x176f3: 0xe0001036,\n\t0x176f4: 0xe0003636, 0x176f5: 0xe0003633, 0x176f6: 0xe000110e, 0x176f7: 0xe000110b,\n\t0x176f8: 0xe0001117, 0x176f9: 0xe000113b, 0x176fa: 0xe0001138, 0x176fb: 0xe000114d,\n\t0x176fc: 0xe000114a, 0x176fd: 0xe0001147, 0x176fe: 0xe0001144, 0x176ff: 0xe0000f64,\n\t// Block 0x5dc, offset 0x17700\n\t0x17700: 0xe0000d24, 0x17701: 0xe0000d21, 0x17702: 0xe0000d2a, 0x17703: 0xe0000d27,\n\t0x17704: 0xe0000d69, 0x17705: 0xe0000d66, 0x17706: 0xe0000d7b, 0x17707: 0xe0000d78,\n\t0x17708: 0xe0000d87, 0x17709: 0xe0000d84, 0x1770a: 0xe0000d81, 0x1770b: 0xe0000d7e,\n\t0x1770c: 0xe0000ded, 0x1770d: 0xe0000de9, 0x1770e: 0xe00037f4, 0x1770f: 0xe00037f1,\n\t0x17710: 0xe0000e3d, 0x17711: 0xe0000e39, 0x17712: 0xe0000e35, 0x17713: 0xe0000e31,\n\t0x17714: 0xe0000ea7, 0x17715: 0xe0000ea4, 0x17716: 0xe0000ead, 0x17717: 0xe0000eaa,\n\t0x17718: 0xe0000ed6, 0x17719: 0xe0000ed3, 0x1771a: 0xe0000ef4, 0x1771b: 0xe0000ef1,\n\t0x1771c: 0xe0000efb, 0x1771d: 0xe0000ef7, 0x1771e: 0xe0000f02, 0x1771f: 0xe0000eff,\n\t0x17720: 0xe0000f41, 0x17721: 0xe0000f3e, 0x17722: 0xe0000f53, 0x17723: 0xe0000f50,\n\t0x17724: 0xe0000f26, 0x17725: 0xe0000f22, 0x17726: 0xe0000f3a, 0x17727: 0xe0000f36,\n\t0x17728: 0xe0000f5a, 0x17729: 0xe0000f56, 0x1772a: 0xe0000f93, 0x1772b: 0xe0000f90,\n\t0x1772c: 0xe0000f9f, 0x1772d: 0xe0000f9c, 0x1772e: 0xe0000fb1, 0x1772f: 0xe0000fae,\n\t0x17730: 0xe0000fab, 0x17731: 0xe0000fa8, 0x17732: 0xe0001093, 0x17733: 0xe0001090,\n\t0x17734: 0xe000109f, 0x17735: 0xe000109c, 0x17736: 0xe0001099, 0x17737: 0xe0001096,\n\t0x17738: 0xe0001032, 0x17739: 0xe000102e, 0x1773a: 0xe000298b, 0x1773b: 0xe0002988,\n\t0x1773c: 0xe000ae07, 0x1773d: 0xe00010a6, 0x1773e: 0xe000ae0a, 0x1773f: 0xe00010ac,\n\t// Block 0x5dd, offset 0x17740\n\t0x17742: 0x40429620, 0x17743: 0x40429820,\n\t0x17745: 0x40427e20, 0x17746: 0x40428020, 0x17747: 0x40428220,\n\t0x17748: 0x40428420, 0x17749: 0x40428620, 0x1774a: 0x40428820,\n\t0x1774e: 0x40428a20, 0x1774f: 0x40428c20,\n\t0x17750: 0x40428e20, 0x17752: 0xc0610231, 0x17753: 0x40429220,\n\t0x17754: 0x40429420, 0x17755: 0xcf1d98d1,\n\t0x17759: 0xcf219961, 0x1775a: 0xcf239961,\n\t0x1775c: 0xcf439961, 0x1775e: 0xcf259961, 0x1775f: 0xcf279961,\n\t0x17763: 0xcf299961,\n\t0x17764: 0xcf2b9961,\n\t0x17768: 0xcf2d9961, 0x17769: 0xcf419961, 0x1776a: 0xcf2f9961,\n\t0x1776e: 0xcf319961, 0x1776f: 0xcf339961,\n\t0x17770: 0xcf359961, 0x17771: 0xcf3f9961, 0x17772: 0xcf379961, 0x17773: 0xcf3d9961,\n\t0x17774: 0xcf3b9961, 0x17775: 0xcf399961, 0x17776: 0xcf459961, 0x17777: 0xcf479961,\n\t0x17778: 0xcf499961, 0x17779: 0xcf4b9961,\n\t0x1777e: 0x4042c620, 0x1777f: 0x4042c820,\n\t// Block 0x5de, offset 0x17780\n\t0x17781: 0x40430020, 0x17782: 0x40430220, 0x17783: 0x40430420,\n\t0x17785: 0x4042e020, 0x17786: 0x4042e220, 0x17787: 0x4042e420,\n\t0x17788: 0x4042e620, 0x17789: 0x4042e820, 0x1778a: 0x4042ea20, 0x1778b: 0x4042ec20,\n\t0x1778c: 0x4042f020, 0x1778e: 0x4042f420, 0x1778f: 0x4042f620,\n\t0x17790: 0x4042f820, 0x17792: 0x4042fa20, 0x17793: 0x4042fc20,\n\t0x17794: 0x4042fe20, 0x17795: 0x40430020, 0x17796: 0x40430220, 0x17797: 0x40430420,\n\t0x17798: 0x40430620, 0x17799: 0x40430820, 0x1779a: 0x40430a20, 0x1779b: 0x40430e20,\n\t0x1779c: 0x40431020, 0x1779d: 0x40431420, 0x1779e: 0x40431620, 0x1779f: 0x40431820,\n\t0x177a0: 0x40431a20, 0x177a1: 0x40431c20, 0x177a2: 0x40431e20, 0x177a3: 0x40432020,\n\t0x177a4: 0x40432220, 0x177a5: 0x40432420, 0x177a6: 0x40432620, 0x177a7: 0x40432820,\n\t0x177a8: 0x40432a20, 0x177aa: 0x40432c20, 0x177ab: 0x40432e20,\n\t0x177ac: 0x40433020, 0x177ad: 0x40433220, 0x177ae: 0x40433420, 0x177af: 0x40433620,\n\t0x177b0: 0x40433820, 0x177b1: 0x40433a20, 0x177b2: 0x40433c20, 0x177b3: 0x40434820,\n\t0x177b5: 0x40433e20, 0x177b6: 0x40434020, 0x177b7: 0x40434220,\n\t0x177b8: 0x40434420, 0x177b9: 0x40434620,\n\t0x177bd: 0x40434a20, 0x177be: 0x40434c20, 0x177bf: 0x40434e20,\n\t// Block 0x5df, offset 0x177c0\n\t0x177c1: 0x40491020, 0x177c2: 0x40491220, 0x177c3: 0x40491420,\n\t0x177c4: 0x40491620, 0x177c5: 0x40491820, 0x177c6: 0x40491a20, 0x177c7: 0x40491c20,\n\t0x177c8: 0x40491e20, 0x177c9: 0x40492020, 0x177ca: 0x40492220, 0x177cb: 0x40492420,\n\t0x177cc: 0x40492620, 0x177cd: 0x40492820, 0x177ce: 0x40492a20, 0x177cf: 0x40492c20,\n\t0x177d0: 0x40492e20, 0x177d1: 0x40493020, 0x177d2: 0x40493220, 0x177d3: 0x40493420,\n\t0x177d4: 0x40493620, 0x177d5: 0x40493820, 0x177d6: 0x40493a20, 0x177d7: 0x40493c20,\n\t0x177d8: 0x40493e20, 0x177d9: 0x40494020, 0x177da: 0x40494220, 0x177db: 0x40494420,\n\t0x177dc: 0x40494620, 0x177dd: 0x40494820, 0x177de: 0x40494a20, 0x177df: 0x40494c20,\n\t0x177e0: 0x40494e20, 0x177e1: 0x40495020, 0x177e2: 0x40495220, 0x177e3: 0x40495420,\n\t0x177e4: 0x40495620, 0x177e5: 0x40495820, 0x177e6: 0x40495a20, 0x177e7: 0x40495c20,\n\t0x177e8: 0x40495e20, 0x177e9: 0x40496020, 0x177ea: 0x40496220, 0x177eb: 0x40496420,\n\t0x177ec: 0x40496620, 0x177ed: 0x40496820, 0x177ee: 0x40496a20, 0x177ef: 0x40057820,\n\t0x177f0: 0x40496e20, 0x177f1: 0x40497020, 0x177f2: 0x40497220, 0x177f3: 0xe000ae10,\n\t0x177f4: 0x40497620, 0x177f5: 0x40497820, 0x177f6: 0x40497a20, 0x177f7: 0x40497c20,\n\t0x177f8: 0x826724bf, 0x177f9: 0x826724c0, 0x177fa: 0x40498e20,\n\t0x177ff: 0x4027f420,\n\t// Block 0x5e0, offset 0x17800\n\t0x17800: 0xc07f04e1, 0x17801: 0xc0ae04e1, 0x17802: 0xc0dd04e1, 0x17803: 0xc10c04e1,\n\t0x17804: 0xc13b04e1, 0x17805: 0x00497283, 0x17806: 0x40057e20, 0x17807: 0xa000ff02,\n\t0x17808: 0xa6b10002, 0x17809: 0xa6b10102, 0x1780a: 0xa6b10202, 0x1780b: 0xa6b10302,\n\t0x1780c: 0xa000ff02, 0x1780d: 0xcf4d9991, 0x1780e: 0xa000fe02, 0x1780f: 0x40057820,\n\t0x17810: 0xe000019a, 0x17811: 0xe000022e, 0x17812: 0xe0000346, 0x17813: 0xe0000420,\n\t0x17814: 0xe00004f5, 0x17815: 0xe00005bf, 0x17816: 0xe000068a, 0x17817: 0xe0000732,\n\t0x17818: 0xe00007de, 0x17819: 0xe0000883, 0x1781a: 0x40057a20, 0x1781b: 0x40057c20,\n\t// Block 0x5e1, offset 0x17840\n\t0x17840: 0xa0000000, 0x17841: 0xa0000000, 0x17842: 0xa0000000, 0x17843: 0xa0000000,\n\t0x17844: 0xa0000000, 0x17845: 0xa0000000, 0x17846: 0xa0000000, 0x17847: 0xa0000000,\n\t0x17848: 0xa0000000, 0x17849: 0x40020020, 0x1784a: 0x40020220, 0x1784b: 0x40020420,\n\t0x1784c: 0x40020620, 0x1784d: 0x40020820, 0x1784e: 0xa0000000, 0x1784f: 0xa0000000,\n\t0x17850: 0xa0000000, 0x17851: 0xa0000000, 0x17852: 0xa0000000, 0x17853: 0xa0000000,\n\t0x17854: 0xa0000000, 0x17855: 0xa0000000, 0x17856: 0xa0000000, 0x17857: 0xa0000000,\n\t0x17858: 0xa0000000, 0x17859: 0xa0000000, 0x1785a: 0xa0000000, 0x1785b: 0xa0000000,\n\t0x1785c: 0xa0000000, 0x1785d: 0xa0000000, 0x1785e: 0xa0000000, 0x1785f: 0xa0000000,\n\t0x17860: 0x40021220, 0x17861: 0x4002ba20, 0x17862: 0x4003e020, 0x17863: 0x4004ea20,\n\t0x17864: 0x4027de20, 0x17865: 0x4004ec20, 0x17866: 0x4004e620, 0x17867: 0x4003d220,\n\t0x17868: 0x4003f420, 0x17869: 0x4003f620, 0x1786a: 0x4004d820, 0x1786b: 0x40093820,\n\t0x1786c: 0x40024020, 0x1786d: 0x40021a20, 0x1786e: 0x4002e420, 0x1786f: 0x4004e220,\n\t0x17870: 0x4029cc20, 0x17871: 0x4029ce20, 0x17872: 0x4029d020, 0x17873: 0x4029d220,\n\t0x17874: 0x4029d420, 0x17875: 0x4029d620, 0x17876: 0x4029d820, 0x17877: 0x4029da20,\n\t0x17878: 0x4029dc20, 0x17879: 0x4029de20, 0x1787a: 0x40026c20, 0x1787b: 0x40026220,\n\t0x1787c: 0x40094020, 0x1787d: 0x40094220, 0x1787e: 0x40094420, 0x1787f: 0x4002c420,\n\t// Block 0x5e2, offset 0x17880\n\t0x17880: 0x4004d620, 0x17881: 0xcf5399e1, 0x17882: 0x002c0a88, 0x17883: 0x002c3a88,\n\t0x17884: 0x002c6288, 0x17885: 0xcf5999e1, 0x17886: 0x002d0888, 0x17887: 0x002d2288,\n\t0x17888: 0x002d6888, 0x17889: 0xcf5f99e1, 0x1788a: 0x002dcc88, 0x1788b: 0x002dfe88,\n\t0x1788c: 0xc0030002, 0x1788d: 0x002e8288, 0x1788e: 0xc5350a52, 0x1788f: 0xcf6599e1,\n\t0x17890: 0x002f2c88, 0x17891: 0x002f5688, 0x17892: 0x002f7a88, 0x17893: 0x002fe688,\n\t0x17894: 0x00302c88, 0x17895: 0xcf6b99e1, 0x17896: 0x0030be88, 0x17897: 0x0030e288,\n\t0x17898: 0x0030f688, 0x17899: 0x00310088, 0x1789a: 0x00312a88, 0x1789b: 0x4003f820,\n\t0x1789c: 0x4004e420, 0x1789d: 0x4003fa20, 0x1789e: 0x40062420, 0x1789f: 0x40021620,\n\t0x178a0: 0x40061e20, 0x178a1: 0xcf5099e1, 0x178a2: 0x402c0a20, 0x178a3: 0x402c3a20,\n\t0x178a4: 0x402c6220, 0x178a5: 0xcf5699e1, 0x178a6: 0x402d0820, 0x178a7: 0x402d2220,\n\t0x178a8: 0x402d6820, 0x178a9: 0xcf5c99e1, 0x178aa: 0x402dcc20, 0x178ab: 0x402dfe20,\n\t0x178ac: 0xc0000002, 0x178ad: 0x402e8220, 0x178ae: 0xc5330a41, 0x178af: 0xcf6299e1,\n\t0x178b0: 0x402f2c20, 0x178b1: 0x402f5620, 0x178b2: 0x402f7a20, 0x178b3: 0x402fe620,\n\t0x178b4: 0x40302c20, 0x178b5: 0xcf6899e1, 0x178b6: 0x4030be20, 0x178b7: 0x4030e220,\n\t0x178b8: 0x4030f620, 0x178b9: 0x40310020, 0x178ba: 0x40312a20, 0x178bb: 0x4003fc20,\n\t0x178bc: 0x40094820, 0x178bd: 0x4003fe20, 0x178be: 0x40094c20, 0x178bf: 0xa0000000,\n\t// Block 0x5e3, offset 0x178c0\n\t0x178c0: 0xe00008f5, 0x178c1: 0x002bdea3, 0x178c2: 0xe0000921, 0x178c3: 0xe0000969,\n\t0x178c4: 0xe000095b, 0x178c5: 0xe000094d, 0x178c6: 0xe00009dd, 0x178c7: 0xe0000a53,\n\t0x178c8: 0xe0000ae8, 0x178c9: 0x002c98a3, 0x178ca: 0xe0000af4, 0x178cb: 0xe0000b20,\n\t0x178cc: 0xe0000c2b, 0x178cd: 0x002d9aa3, 0x178ce: 0xe0000c37, 0x178cf: 0xe0000c43,\n\t0x178d0: 0xe0000ab3, 0x178d1: 0xe0000d63, 0x178d2: 0xe0000d9a, 0x178d3: 0x002ee2a3,\n\t0x178d4: 0xe0000da6, 0x178d5: 0xe0000de6, 0x178d6: 0xe0000dd2, 0x178d7: 0x40093e20,\n\t0x178d8: 0xe0000e12, 0x178d9: 0xe0000fe1, 0x178da: 0x00306ca3, 0x178db: 0xe0000fed,\n\t0x178dc: 0xe0000fff, 0x178dd: 0xe0001102, 0x178de: 0x00318888, 0x178df: 0xe0000f7b,\n\t0x178e0: 0xe00008f2, 0x178e1: 0x402bde21, 0x178e2: 0xe000091e, 0x178e3: 0xe0000966,\n\t0x178e4: 0xe0000958, 0x178e5: 0xe000094a, 0x178e6: 0xe00009d5, 0x178e7: 0xe0000a4d,\n\t0x178e8: 0xe0000ae5, 0x178e9: 0x402c9821, 0x178ea: 0xe0000af1, 0x178eb: 0xe0000b1d,\n\t0x178ec: 0xe0000c28, 0x178ed: 0x402d9a21, 0x178ee: 0xe0000c34, 0x178ef: 0xe0000c40,\n\t0x178f0: 0xe0000aad, 0x178f1: 0xe0000d60, 0x178f2: 0xe0000d97, 0x178f3: 0x402ee221,\n\t0x178f4: 0xe0000da3, 0x178f5: 0xe0000de3, 0x178f6: 0xe0000dcf, 0x178f7: 0x40093c20,\n\t0x178f8: 0xe0000e0f, 0x178f9: 0xe0000fde, 0x178fa: 0x40306c21, 0x178fb: 0xe0000fea,\n\t0x178fc: 0xe0000ffc, 0x178fd: 0xe00010ff, 0x178fe: 0x40318820, 0x178ff: 0xe0001114,\n\t// Block 0x5e4, offset 0x17900\n\t0x17900: 0x002bdec3, 0x17901: 0x402bde22, 0x17902: 0xe00008fb, 0x17903: 0xe00008f8,\n\t0x17904: 0xe000097d, 0x17905: 0xe000097a, 0x17906: 0xe0000a38, 0x17907: 0xe0000a35,\n\t0x17908: 0xe0000a3e, 0x17909: 0xe0000a3b, 0x1790a: 0xe0000a4a, 0x1790b: 0xe0000a47,\n\t0x1790c: 0xe0000a44, 0x1790d: 0xe0000a41, 0x1790e: 0xe0000a86, 0x1790f: 0xe0000a83,\n\t0x17910: 0xe0000aaa, 0x17911: 0xe0000aa7, 0x17912: 0x002c98c3, 0x17913: 0x402c9822,\n\t0x17914: 0xe0000aee, 0x17915: 0xe0000aeb, 0x17916: 0xe0000b2c, 0x17917: 0xe0000b29,\n\t0x17918: 0xe0000b40, 0x17919: 0xe0000b3d, 0x1791a: 0xe0000b1a, 0x1791b: 0xe0000b17,\n\t0x1791c: 0xe0000bb8, 0x1791d: 0xe0000bb5, 0x1791e: 0xe0000bb2, 0x1791f: 0xe0000baf,\n\t0x17920: 0xe0000bc4, 0x17921: 0xe0000bc1, 0x17922: 0xe0000bca, 0x17923: 0xe0000bc7,\n\t0x17924: 0xe0000bee, 0x17925: 0xe0000beb, 0x17926: 0xe0000c1b, 0x17927: 0xe0000c18,\n\t0x17928: 0xe0000c51, 0x17929: 0xe0000c4e, 0x1792a: 0x002d9ac3, 0x1792b: 0x402d9a22,\n\t0x1792c: 0xe0000c31, 0x1792d: 0xe0000c2e, 0x1792e: 0xe0000c5a, 0x1792f: 0xe0000c57,\n\t0x17930: 0xe0000c54, 0x17931: 0x402da220, 0x17932: 0xf0000a0a, 0x17933: 0xf0000404,\n\t0x17934: 0xe0000c8a, 0x17935: 0xe0000c87, 0x17936: 0xe0000c9f, 0x17937: 0xe0000c9c,\n\t0x17938: 0x402f7220, 0x17939: 0xe0000ccc, 0x1793a: 0xe0000cc9, 0x1793b: 0xe0000cd8,\n\t0x1793c: 0xe0000cd5, 0x1793d: 0xe0000cd2, 0x1793e: 0xe0000ccf, 0x1793f: 0xe0000d04,\n\t// Block 0x5e5, offset 0x17940\n\t0x17940: 0xe0000cfe, 0x17941: 0xe0000cf8, 0x17942: 0xe0000cf5, 0x17943: 0xe0000d51,\n\t0x17944: 0xe0000d4e, 0x17945: 0xe0000d6f, 0x17946: 0xe0000d6c, 0x17947: 0xe0000d5d,\n\t0x17948: 0xe0000d5a, 0x17949: 0xf0000404, 0x1794a: 0x002ea086, 0x1794b: 0x002ea085,\n\t0x1794c: 0x002ee2c3, 0x1794d: 0x402ee222, 0x1794e: 0xe0000da0, 0x1794f: 0xe0000d9d,\n\t0x17950: 0xe0000de0, 0x17951: 0xe0000ddd, 0x17952: 0xe0000e93, 0x17953: 0xe0000e8f,\n\t0x17954: 0xe0000eca, 0x17955: 0xe0000ec7, 0x17956: 0xe0000edc, 0x17957: 0xe0000ed9,\n\t0x17958: 0xe0000ed0, 0x17959: 0xe0000ecd, 0x1795a: 0xe0000f1f, 0x1795b: 0xe0000f1c,\n\t0x1795c: 0xe0000f2d, 0x1795d: 0xe0000f2a, 0x1795e: 0xe0000f47, 0x1795f: 0xe0000f44,\n\t0x17960: 0xe0000f33, 0x17961: 0xe0000f30, 0x17962: 0xe0000f99, 0x17963: 0xe0000f96,\n\t0x17964: 0xe0000f8a, 0x17965: 0xe0000f87, 0x17966: 0x00303688, 0x17967: 0x40303620,\n\t0x17968: 0xe000102b, 0x17969: 0xe0001028, 0x1796a: 0x00306cc3, 0x1796b: 0x40306c22,\n\t0x1796c: 0xe0000fe7, 0x1796d: 0xe0000fe4, 0x1796e: 0xe0000ff9, 0x1796f: 0xe0000ff6,\n\t0x17970: 0xe0001025, 0x17971: 0xe0001022, 0x17972: 0xe0001039, 0x17973: 0xe0001036,\n\t0x17974: 0xe00010d8, 0x17975: 0xe00010d5, 0x17976: 0xe000110e, 0x17977: 0xe000110b,\n\t0x17978: 0xe0001117, 0x17979: 0xe000113b, 0x1797a: 0xe0001138, 0x1797b: 0xe000114d,\n\t0x1797c: 0xe000114a, 0x1797d: 0xe0001147, 0x1797e: 0xe0001144, 0x1797f: 0xe0000f64,\n\t// Block 0x5e6, offset 0x17980\n\t0x17980: 0x40321220, 0x17981: 0x40321a20, 0x17982: 0x40322220, 0x17983: 0x40322a20,\n\t0x17984: 0xe0000ad5, 0x17985: 0xe0000ad1, 0x17986: 0xe0000acd, 0x17987: 0xf0000a0a,\n\t0x17988: 0xf000040a, 0x17989: 0xf0000404, 0x1798a: 0xf0000a0a, 0x1798b: 0xf000040a,\n\t0x1798c: 0xf0000404, 0x1798d: 0xe0000947, 0x1798e: 0xe0000944, 0x1798f: 0xe0000c3d,\n\t0x17990: 0xe0000c3a, 0x17991: 0xe0000dcc, 0x17992: 0xe0000dc9, 0x17993: 0xe0000ff3,\n\t0x17994: 0xe0000ff0, 0x17995: 0xe000a9d3, 0x17996: 0xe000a9d0, 0x17997: 0xe000ae82,\n\t0x17998: 0xe000ae7f, 0x17999: 0xe0001016, 0x1799a: 0xe0001012, 0x1799b: 0xe000100e,\n\t0x1799c: 0xe000100a, 0x1799d: 0x402cae20, 0x1799e: 0xe000ae28, 0x1799f: 0xe000ae25,\n\t0x179a0: 0xe000ae2e, 0x179a1: 0xe000ae2b, 0x179a2: 0xe00009f4, 0x179a3: 0xe00009ef,\n\t0x179a4: 0x002d3a88, 0x179a5: 0x402d3a20, 0x179a6: 0xe0000bbe, 0x179a7: 0xe0000bbb,\n\t0x179a8: 0xe0000c99, 0x179a9: 0xe0000c96, 0x179aa: 0xe0000e20, 0x179ab: 0xe0000e1d,\n\t0x179ac: 0xe000ae7c, 0x179ad: 0xe000ae79, 0x179ae: 0xe0001162, 0x179af: 0xe000115f,\n\t0x179b0: 0xe0000c8d, 0x179b1: 0xf0000a0a, 0x179b2: 0xf000040a, 0x179b3: 0xf0000404,\n\t0x179b4: 0xe0000bac, 0x179b5: 0xe0000ba9, 0x179b6: 0x002d7888, 0x179b7: 0x00319488,\n\t0x179b8: 0xe0000d57, 0x179b9: 0xe0000d54, 0x179ba: 0xe000ae22, 0x179bb: 0xe000ae1f,\n\t0x179bc: 0xe00009ea, 0x179bd: 0xe00009e5, 0x179be: 0xe0000e19, 0x179bf: 0xe0000e15,\n\t// Block 0x5e7, offset 0x179c0\n\t0x179c0: 0xe000098f, 0x179c1: 0xe000098c, 0x179c2: 0xe0000995, 0x179c3: 0xe0000992,\n\t0x179c4: 0xe0000b62, 0x179c5: 0xe0000b5f, 0x179c6: 0xe0000b68, 0x179c7: 0xe0000b65,\n\t0x179c8: 0xe0000c6c, 0x179c9: 0xe0000c69, 0x179ca: 0xe0000c72, 0x179cb: 0xe0000c6f,\n\t0x179cc: 0xe0000e4a, 0x179cd: 0xe0000e47, 0x179ce: 0xe0000e50, 0x179cf: 0xe0000e4d,\n\t0x179d0: 0xe0000ee8, 0x179d1: 0xe0000ee5, 0x179d2: 0xe0000eee, 0x179d3: 0xe0000eeb,\n\t0x179d4: 0xe0001053, 0x179d5: 0xe0001050, 0x179d6: 0xe0001059, 0x179d7: 0xe0001056,\n\t0x179d8: 0xe0000f61, 0x179d9: 0xe0000f5e, 0x179da: 0xe0000fa5, 0x179db: 0xe0000fa2,\n\t0x179dc: 0x00312288, 0x179dd: 0x40312220, 0x179de: 0xe0000bf4, 0x179df: 0xe0000bf1,\n\t0x179e0: 0x002ebc88, 0x179e1: 0x402c8c20, 0x179e2: 0x002f2288, 0x179e3: 0x402f2220,\n\t0x179e4: 0x00314088, 0x179e5: 0x40314020, 0x179e6: 0xe000096f, 0x179e7: 0xe000096c,\n\t0x179e8: 0xe0000b32, 0x179e9: 0xe0000b2f, 0x179ea: 0xe000ae6a, 0x179eb: 0xe000ae67,\n\t0x179ec: 0xe000ae70, 0x179ed: 0xe000ae6d, 0x179ee: 0xe0000e04, 0x179ef: 0xe0000e01,\n\t0x179f0: 0xe000ae76, 0x179f1: 0xe000ae73, 0x179f2: 0xe0001129, 0x179f3: 0xe0001126,\n\t0x179f4: 0x402e5e20, 0x179f5: 0x402ed020, 0x179f6: 0x40305a20, 0x179f7: 0x402dd420,\n\t0x179f8: 0xe0000abf, 0x179f9: 0xe0000ec4, 0x179fa: 0x002be888, 0x179fb: 0x002c4488,\n\t0x179fc: 0x402c4420, 0x179fd: 0x002e3888, 0x179fe: 0x00303e88, 0x179ff: 0x402ffc20,\n\t// Block 0x5e8, offset 0x17a00\n\t0x17a00: 0x402f8220, 0x17a01: 0x402fd820, 0x17a02: 0x402ff420, 0x17a03: 0x40300820,\n\t0x17a04: 0x402df620, 0x17a05: 0x40301a20, 0x17a06: 0x40302420, 0x17a07: 0x40306420,\n\t0x17a08: 0x40305220, 0x17a09: 0x40307c20, 0x17a0a: 0x4030b420, 0x17a0b: 0x4030cc20,\n\t0x17a0c: 0x4030da20, 0x17a0d: 0x4030ee20, 0x17a0e: 0x402e7a20, 0x17a0f: 0x40310820,\n\t0x17a10: 0x40314820, 0x17a11: 0x40315020, 0x17a12: 0x40316420, 0x17a13: 0x40318020,\n\t0x17a14: 0x4031cc20, 0x17a15: 0x4031e820, 0x17a16: 0x40320a20, 0x17a17: 0x40323220,\n\t0x17a18: 0x40323a20, 0x17a19: 0x402c1220, 0x17a1a: 0x402cf820, 0x17a1b: 0x402d4c20,\n\t0x17a1c: 0x402d7020, 0x17a1d: 0x402de620, 0x17a1e: 0x402e1a20, 0x17a1f: 0x402e2a20,\n\t0x17a20: 0x402f6220, 0x17a21: 0x4031fa20, 0x17a22: 0x40320220, 0x17a23: 0xe0000aca,\n\t0x17a24: 0xe0000adc, 0x17a25: 0xe0000ad9, 0x17a26: 0xe0000fcc, 0x17a27: 0xe0000fcf,\n\t0x17a28: 0xe0000fba, 0x17a29: 0xe0000ba1, 0x17a2a: 0xe0000d11, 0x17a2b: 0xe0000d18,\n\t0x17a2c: 0x40324220, 0x17a2d: 0x40324a20, 0x17a2e: 0x40309020, 0x17a2f: 0x40309820,\n\t0x17a30: 0x002d6894, 0x17a31: 0x002d8094, 0x17a32: 0x002dcc94, 0x17a33: 0x002f7a94,\n\t0x17a34: 0x002f9894, 0x17a35: 0x002fac94, 0x17a36: 0x002fd894, 0x17a37: 0x0030e294,\n\t0x17a38: 0x00310094, 0x17a39: 0x40064020, 0x17a3a: 0x40064420, 0x17a3b: 0x40312c20,\n\t0x17a3c: 0x4031de20, 0x17a3d: 0x00312c83, 0x17a3e: 0x4031e220, 0x17a3f: 0x4031f020,\n\t// Block 0x5e9, offset 0x17a40\n\t0x17a40: 0xe00009b1, 0x17a41: 0xe00009ae, 0x17a42: 0xe0000a22, 0x17a43: 0xe0000a1f,\n\t0x17a44: 0xe0000a28, 0x17a45: 0xe0000a25, 0x17a46: 0xe0000a2e, 0x17a47: 0xe0000a2b,\n\t0x17a48: 0xe0000a5a, 0x17a49: 0xe0000a56, 0x17a4a: 0xe0000a8c, 0x17a4b: 0xe0000a89,\n\t0x17a4c: 0xe0000a98, 0x17a4d: 0xe0000a95, 0x17a4e: 0xe0000aa4, 0x17a4f: 0xe0000aa1,\n\t0x17a50: 0xe0000a92, 0x17a51: 0xe0000a8f, 0x17a52: 0xe0000a9e, 0x17a53: 0xe0000a9b,\n\t0x17a54: 0xe000ae40, 0x17a55: 0xe000ae3d, 0x17a56: 0xe000ae3a, 0x17a57: 0xe000ae37,\n\t0x17a58: 0xe0000b7c, 0x17a59: 0xe0000b79, 0x17a5a: 0xe0000b82, 0x17a5b: 0xe0000b7f,\n\t0x17a5c: 0xe0000b39, 0x17a5d: 0xe0000b35, 0x17a5e: 0xe0000b8c, 0x17a5f: 0xe0000b89,\n\t0x17a60: 0xe0000bd0, 0x17a61: 0xe0000bcd, 0x17a62: 0xe0000c00, 0x17a63: 0xe0000bfd,\n\t0x17a64: 0xe0000c0c, 0x17a65: 0xe0000c09, 0x17a66: 0xe0000bfa, 0x17a67: 0xe0000bf7,\n\t0x17a68: 0xe0000c06, 0x17a69: 0xe0000c03, 0x17a6a: 0xe0000c12, 0x17a6b: 0xe0000c0f,\n\t0x17a6c: 0xe0000c7e, 0x17a6d: 0xe0000c7b, 0x17a6e: 0xe000ae46, 0x17a6f: 0xe000ae43,\n\t0x17a70: 0xe0000c93, 0x17a71: 0xe0000c90, 0x17a72: 0xe0000cab, 0x17a73: 0xe0000ca8,\n\t0x17a74: 0xe0000cb1, 0x17a75: 0xe0000cae, 0x17a76: 0xe0000cde, 0x17a77: 0xe0000cdb,\n\t0x17a78: 0xe0000ce5, 0x17a79: 0xe0000ce1, 0x17a7a: 0xe0000cf2, 0x17a7b: 0xe0000cef,\n\t0x17a7c: 0xe0000cec, 0x17a7d: 0xe0000ce9, 0x17a7e: 0xe0000d1e, 0x17a7f: 0xe0000d1b,\n\t// Block 0x5ea, offset 0x17a80\n\t0x17a80: 0xe0000d24, 0x17a81: 0xe0000d21, 0x17a82: 0xe0000d2a, 0x17a83: 0xe0000d27,\n\t0x17a84: 0xe0000d69, 0x17a85: 0xe0000d66, 0x17a86: 0xe0000d7b, 0x17a87: 0xe0000d78,\n\t0x17a88: 0xe0000d87, 0x17a89: 0xe0000d84, 0x17a8a: 0xe0000d81, 0x17a8b: 0xe0000d7e,\n\t0x17a8c: 0xe000ae52, 0x17a8d: 0xe000ae4f, 0x17a8e: 0xe0000df5, 0x17a8f: 0xe0000df1,\n\t0x17a90: 0xe000ae64, 0x17a91: 0xe000ae61, 0x17a92: 0xe000ae5e, 0x17a93: 0xe000ae5b,\n\t0x17a94: 0xe0000ea7, 0x17a95: 0xe0000ea4, 0x17a96: 0xe0000ead, 0x17a97: 0xe0000eaa,\n\t0x17a98: 0xe0000ed6, 0x17a99: 0xe0000ed3, 0x17a9a: 0xe0000ef4, 0x17a9b: 0xe0000ef1,\n\t0x17a9c: 0xe0000efb, 0x17a9d: 0xe0000ef7, 0x17a9e: 0xe0000f02, 0x17a9f: 0xe0000eff,\n\t0x17aa0: 0xe0000f41, 0x17aa1: 0xe0000f3e, 0x17aa2: 0xe0000f53, 0x17aa3: 0xe0000f50,\n\t0x17aa4: 0xe0000f26, 0x17aa5: 0xe0000f22, 0x17aa6: 0xe0000f3a, 0x17aa7: 0xe0000f36,\n\t0x17aa8: 0xe0000f5a, 0x17aa9: 0xe0000f56, 0x17aaa: 0xe0000f93, 0x17aab: 0xe0000f90,\n\t0x17aac: 0xe0000f9f, 0x17aad: 0xe0000f9c, 0x17aae: 0xe0000fb1, 0x17aaf: 0xe0000fae,\n\t0x17ab0: 0xe0000fab, 0x17ab1: 0xe0000fa8, 0x17ab2: 0xe0001093, 0x17ab3: 0xe0001090,\n\t0x17ab4: 0xe000109f, 0x17ab5: 0xe000109c, 0x17ab6: 0xe0001099, 0x17ab7: 0xe0001096,\n\t0x17ab8: 0xe000ae88, 0x17ab9: 0xe000ae85, 0x17aba: 0xe000a9d3, 0x17abb: 0xe000a9d0,\n\t0x17abc: 0xe00010a9, 0x17abd: 0xe00010a6, 0x17abe: 0xe00010af, 0x17abf: 0xe00010ac,\n\t// Block 0x5eb, offset 0x17ac0\n\t0x17ac0: 0xe00010d2, 0x17ac1: 0xe00010cf, 0x17ac2: 0xe00010cc, 0x17ac3: 0xe00010c9,\n\t0x17ac4: 0xe00010e1, 0x17ac5: 0xe00010de, 0x17ac6: 0xe00010e7, 0x17ac7: 0xe00010e4,\n\t0x17ac8: 0xe00010ed, 0x17ac9: 0xe00010ea, 0x17aca: 0xe00010fc, 0x17acb: 0xe00010f9,\n\t0x17acc: 0xe00010f6, 0x17acd: 0xe00010f3, 0x17ace: 0xe0001123, 0x17acf: 0xe0001120,\n\t0x17ad0: 0xe0001141, 0x17ad1: 0xe000113e, 0x17ad2: 0xe0001153, 0x17ad3: 0xe0001150,\n\t0x17ad4: 0xe0001159, 0x17ad5: 0xe0001156, 0x17ad6: 0xe0000c15, 0x17ad7: 0xe0000f8d,\n\t0x17ad8: 0xe00010db, 0x17ad9: 0xe0001111, 0x17ada: 0xf0000404, 0x17adb: 0xe0000f70,\n\t0x17adc: 0x40300420, 0x17add: 0x40300620, 0x17ade: 0xe0000f7f, 0x17adf: 0x402c9620,\n\t0x17ae0: 0xe000099b, 0x17ae1: 0xe0000998, 0x17ae2: 0xe0000989, 0x17ae3: 0xe0000986,\n\t0x17ae4: 0xe000ae1c, 0x17ae5: 0xe000ae19, 0x17ae6: 0xe0000930, 0x17ae7: 0xe000092c,\n\t0x17ae8: 0xe0000940, 0x17ae9: 0xe000093c, 0x17aea: 0xe0000938, 0x17aeb: 0xe0000934,\n\t0x17aec: 0xe00009aa, 0x17aed: 0xe00009a6, 0x17aee: 0xe000ae16, 0x17aef: 0xe000ae13,\n\t0x17af0: 0xe000090a, 0x17af1: 0xe0000906, 0x17af2: 0xe000091a, 0x17af3: 0xe0000916,\n\t0x17af4: 0xe0000912, 0x17af5: 0xe000090e, 0x17af6: 0xe00009a2, 0x17af7: 0xe000099e,\n\t0x17af8: 0xe0000b6e, 0x17af9: 0xe0000b6b, 0x17afa: 0xe0000b5c, 0x17afb: 0xe0000b59,\n\t0x17afc: 0xe0000b26, 0x17afd: 0xe0000b23, 0x17afe: 0xe000ae34, 0x17aff: 0xe000ae31,\n\t// Block 0x5ec, offset 0x17b00\n\t0x17b00: 0xe0000b03, 0x17b01: 0xe0000aff, 0x17b02: 0xe0000b13, 0x17b03: 0xe0000b0f,\n\t0x17b04: 0xe0000b0b, 0x17b05: 0xe0000b07, 0x17b06: 0xe0000b75, 0x17b07: 0xe0000b71,\n\t0x17b08: 0xe0000c66, 0x17b09: 0xe0000c63, 0x17b0a: 0xe0000c78, 0x17b0b: 0xe0000c75,\n\t0x17b0c: 0xe0000e84, 0x17b0d: 0xe0000e81, 0x17b0e: 0xe0000e44, 0x17b0f: 0xe0000e41,\n\t0x17b10: 0xe000ae4c, 0x17b11: 0xe000ae49, 0x17b12: 0xe0000db5, 0x17b13: 0xe0000db1,\n\t0x17b14: 0xe0000dc5, 0x17b15: 0xe0000dc1, 0x17b16: 0xe0000dbd, 0x17b17: 0xe0000db9,\n\t0x17b18: 0xe0000e8b, 0x17b19: 0xe0000e87, 0x17b1a: 0xe000ae58, 0x17b1b: 0xe000ae55,\n\t0x17b1c: 0xe0000e65, 0x17b1d: 0xe0000e61, 0x17b1e: 0xe0000e75, 0x17b1f: 0xe0000e71,\n\t0x17b20: 0xe0000e6d, 0x17b21: 0xe0000e69, 0x17b22: 0xe0000e7d, 0x17b23: 0xe0000e79,\n\t0x17b24: 0xe000108d, 0x17b25: 0xe000108a, 0x17b26: 0xe000104d, 0x17b27: 0xe000104a,\n\t0x17b28: 0xe000ae8e, 0x17b29: 0xe000ae8b, 0x17b2a: 0xe000106e, 0x17b2b: 0xe000106a,\n\t0x17b2c: 0xe000107e, 0x17b2d: 0xe000107a, 0x17b2e: 0xe0001076, 0x17b2f: 0xe0001072,\n\t0x17b30: 0xe0001086, 0x17b31: 0xe0001082, 0x17b32: 0xe0001108, 0x17b33: 0xe0001105,\n\t0x17b34: 0xe0001135, 0x17b35: 0xe0001132, 0x17b36: 0xe000112f, 0x17b37: 0xe000112c,\n\t0x17b38: 0xe000111d, 0x17b39: 0xe000111a, 0x17b3a: 0xe0000d0a, 0x17b3b: 0xe0000d07,\n\t0x17b3c: 0x0030d888, 0x17b3d: 0x4030d820, 0x17b3e: 0x00312088, 0x17b3f: 0x40312020,\n\t// Block 0x5ed, offset 0x17b40\n\t0x17b40: 0xa0000000, 0x17b41: 0xa0000000, 0x17b42: 0xa0000000, 0x17b43: 0xa0000000,\n\t0x17b44: 0xa0000000, 0x17b45: 0xa0000000, 0x17b46: 0xa0000000, 0x17b47: 0xa0000000,\n\t0x17b48: 0xa0000000, 0x17b49: 0x40020020, 0x17b4a: 0x40020220, 0x17b4b: 0x40020420,\n\t0x17b4c: 0x40020620, 0x17b4d: 0x40020820, 0x17b4e: 0xa0000000, 0x17b4f: 0xa0000000,\n\t0x17b50: 0xa0000000, 0x17b51: 0xa0000000, 0x17b52: 0xa0000000, 0x17b53: 0xa0000000,\n\t0x17b54: 0xa0000000, 0x17b55: 0xa0000000, 0x17b56: 0xa0000000, 0x17b57: 0xa0000000,\n\t0x17b58: 0xa0000000, 0x17b59: 0xa0000000, 0x17b5a: 0xa0000000, 0x17b5b: 0xa0000000,\n\t0x17b5c: 0xa0000000, 0x17b5d: 0xa0000000, 0x17b5e: 0xa0000000, 0x17b5f: 0xa0000000,\n\t0x17b60: 0x40021220, 0x17b61: 0x4002ba20, 0x17b62: 0x4003e020, 0x17b63: 0x4004ea20,\n\t0x17b64: 0x4027de20, 0x17b65: 0x4004ec20, 0x17b66: 0x4004e620, 0x17b67: 0x4003d220,\n\t0x17b68: 0x4003f420, 0x17b69: 0x4003f620, 0x17b6a: 0x4004d820, 0x17b6b: 0x40093820,\n\t0x17b6c: 0x40024020, 0x17b6d: 0x40021a20, 0x17b6e: 0x4002e420, 0x17b6f: 0x4004e220,\n\t0x17b70: 0x4029cc20, 0x17b71: 0x4029ce20, 0x17b72: 0x4029d020, 0x17b73: 0x4029d220,\n\t0x17b74: 0x4029d420, 0x17b75: 0x4029d620, 0x17b76: 0x4029d820, 0x17b77: 0x4029da20,\n\t0x17b78: 0x4029dc20, 0x17b79: 0x4029de20, 0x17b7a: 0x40026c20, 0x17b7b: 0x40026220,\n\t0x17b7c: 0x40094020, 0x17b7d: 0x40094220, 0x17b7e: 0x40094420, 0x17b7f: 0x4002c420,\n\t// Block 0x5ee, offset 0x17b80\n\t0x17b80: 0x4004d620, 0x17b81: 0x002bde88, 0x17b82: 0x002c0a88, 0x17b83: 0xc3350911,\n\t0x17b84: 0x002c6288, 0x17b85: 0x002c9888, 0x17b86: 0x002d0888, 0x17b87: 0xc33900d1,\n\t0x17b88: 0x002d6888, 0x17b89: 0xc33b0931, 0x17b8a: 0x002dcc88, 0x17b8b: 0x002dfe88,\n\t0x17b8c: 0xc0030002, 0x17b8d: 0x002e8288, 0x17b8e: 0x002e9e88, 0x17b8f: 0xc33f0071,\n\t0x17b90: 0x002f2c88, 0x17b91: 0x002f5688, 0x17b92: 0x002f7a88, 0x17b93: 0xc3430911,\n\t0x17b94: 0x00302c88, 0x17b95: 0xc3470071, 0x17b96: 0x0030be88, 0x17b97: 0x0030e288,\n\t0x17b98: 0x0030f688, 0x17b99: 0x00310088, 0x17b9a: 0x00312a88, 0x17b9b: 0x4003f820,\n\t0x17b9c: 0x4004e420, 0x17b9d: 0x4003fa20, 0x17b9e: 0x40062420, 0x17b9f: 0x40021620,\n\t0x17ba0: 0x40061e20, 0x17ba1: 0x402bde20, 0x17ba2: 0x402c0a20, 0x17ba3: 0xc3330911,\n\t0x17ba4: 0x402c6220, 0x17ba5: 0x402c9820, 0x17ba6: 0x402d0820, 0x17ba7: 0xc33700d1,\n\t0x17ba8: 0x402d6820, 0x17ba9: 0x402d9a20, 0x17baa: 0x402dcc20, 0x17bab: 0x402dfe20,\n\t0x17bac: 0xc0000002, 0x17bad: 0x402e8220, 0x17bae: 0x402e9e20, 0x17baf: 0xc33d0071,\n\t0x17bb0: 0x402f2c20, 0x17bb1: 0x402f5620, 0x17bb2: 0x402f7a20, 0x17bb3: 0xc3410911,\n\t0x17bb4: 0x40302c20, 0x17bb5: 0xc3450071, 0x17bb6: 0x4030be20, 0x17bb7: 0x4030e220,\n\t0x17bb8: 0x4030f620, 0x17bb9: 0x40310020, 0x17bba: 0x40312a20, 0x17bbb: 0x4003fc20,\n\t0x17bbc: 0x40094820, 0x17bbd: 0x4003fe20, 0x17bbe: 0x40094c20, 0x17bbf: 0xa0000000,\n\t// Block 0x5ef, offset 0x17bc0\n\t0x17bc0: 0x00093685, 0x17bc1: 0x40083620, 0x17bc2: 0x40083820, 0x17bc3: 0x40083a20,\n\t0x17bc4: 0x40083c20, 0x17bc5: 0x002c628b, 0x17bc6: 0x002c6285, 0x17bc7: 0x002c9885,\n\t0x17bc8: 0x002d9a85, 0x17bc9: 0x002dcc85, 0x17bca: 0x40083e20, 0x17bcb: 0x400a6e20,\n\t0x17bcc: 0x40084020, 0x17bcd: 0xe00009c4, 0x17bce: 0x402d1e20, 0x17bcf: 0x40084220,\n\t0x17bd0: 0xe00002cb, 0x17bd1: 0xe00002d3, 0x17bd2: 0xe00002b2, 0x17bd3: 0xe00002bb,\n\t0x17bd4: 0xe00003cd, 0x17bd5: 0xe00002c3, 0x17bd6: 0xe00003d1, 0x17bd7: 0xe00004ab,\n\t0x17bd8: 0xe0000579, 0x17bd9: 0xe00002c7, 0x17bda: 0xe0000640, 0x17bdb: 0xe00002cf,\n\t0x17bdc: 0xe00004af, 0x17bdd: 0xe0000644, 0x17bde: 0xe0000798, 0x17bdf: 0xf0001e1e,\n\t0x17be0: 0x002d9a8a, 0x17be1: 0xe00027d4, 0x17be2: 0xe00027db, 0x17be3: 0xe00027ee,\n\t0x17be4: 0x0030be8a, 0x17be5: 0xe0002848, 0x17be6: 0xe000284f, 0x17be7: 0xe00010bb,\n\t0x17be8: 0xe00027f4, 0x17be9: 0x0030f68a, 0x17bea: 0xe0002883, 0x17beb: 0xe000288a,\n\t0x17bec: 0x002e228a, 0x17bed: 0x002c3a8a, 0x17bee: 0x002c628a, 0x17bef: 0x002e828a,\n\t0x17bf0: 0x002d9a84, 0x17bf1: 0xf0001f04, 0x17bf2: 0xf0000404, 0x17bf3: 0xf0001f04,\n\t0x17bf4: 0x0030be84, 0x17bf5: 0xf0001f04, 0x17bf6: 0xf0000404, 0x17bf7: 0xe00010b6,\n\t0x17bf8: 0xf0001f04, 0x17bf9: 0x0030f684, 0x17bfa: 0xf0001f04, 0x17bfb: 0xf0000404,\n\t0x17bfc: 0x002e2284, 0x17bfd: 0x002c3a84, 0x17bfe: 0x002c6284, 0x17bff: 0x002e8284,\n\t// Block 0x5f0, offset 0x17c00\n\t0x17c00: 0xf0001f04, 0x17c01: 0xf0001f04, 0x17c02: 0xf0001f04, 0x17c03: 0xf0001f04,\n\t0x17c04: 0xf0001f04, 0x17c05: 0xf0001f04, 0x17c06: 0xf0001f04, 0x17c07: 0xf0001f04,\n\t0x17c08: 0xf0001f04, 0x17c09: 0xf0001f04, 0x17c0a: 0xf0001f04,\n\t0x17c10: 0xf0000a04, 0x17c11: 0xf0000a04, 0x17c12: 0xf0000a04, 0x17c13: 0xf0000a04,\n\t0x17c14: 0xf0000a04, 0x17c15: 0xf0000a04, 0x17c16: 0xf0000a04, 0x17c17: 0xf0000a04,\n\t0x17c18: 0xe00024b3, 0x17c19: 0xf0000a04, 0x17c1a: 0xf0000a04, 0x17c1b: 0xf0000a04,\n\t0x17c1c: 0xf0000a04, 0x17c1d: 0xf0000a04, 0x17c1e: 0xf0000a04, 0x17c1f: 0xf0000a04,\n\t0x17c20: 0xf0000a04, 0x17c21: 0xf0000a04, 0x17c22: 0xf0000a04, 0x17c23: 0xf0000a04,\n\t0x17c24: 0xf0000a04, 0x17c25: 0xf0000a04, 0x17c26: 0xf0000a04, 0x17c27: 0xf0000a04,\n\t0x17c28: 0xf0000a04, 0x17c29: 0xf0000a04, 0x17c2a: 0xf0000a04, 0x17c2b: 0x002c3a8c,\n\t0x17c2c: 0x002f7a8c, 0x17c2d: 0xf0000c0c, 0x17c2e: 0xf0000c0c,\n\t0x17c30: 0x002bde9d, 0x17c31: 0x002c0a9d, 0x17c32: 0x002c3a9d, 0x17c33: 0x002c629d,\n\t0x17c34: 0x002c989d, 0x17c35: 0x002d089d, 0x17c36: 0x002d229d, 0x17c37: 0x002d689d,\n\t0x17c38: 0x002d9a9d, 0x17c39: 0x002dcc9d, 0x17c3a: 0x002dfe9d, 0x17c3b: 0x002e229d,\n\t0x17c3c: 0x002e829d, 0x17c3d: 0x002e9e9d, 0x17c3e: 0x002ee29d, 0x17c3f: 0x002f2c9d,\n\t// Block 0x5f1, offset 0x17c40\n\t0x17c40: 0x00352088, 0x17c41: 0x40352020, 0x17c42: 0x40070620, 0x17c43: 0xae608302,\n\t0x17c44: 0xae605f02, 0x17c45: 0xae602a02, 0x17c46: 0xae602202, 0x17c47: 0xae605f02,\n\t0x17c48: 0xa0000000, 0x17c49: 0xa0000000, 0x17c4a: 0x00341c88, 0x17c4b: 0x40341c20,\n\t0x17c4c: 0x00369688, 0x17c4d: 0x40369620, 0x17c4e: 0x00353088, 0x17c4f: 0x40353020,\n\t0x17c50: 0x00336483, 0x17c51: 0x40336420, 0x17c52: 0x00336a88, 0x17c53: 0x40336a20,\n\t0x17c54: 0x00337a88, 0x17c55: 0x40337a20, 0x17c56: 0x0033dc88, 0x17c57: 0x4033dc20,\n\t0x17c58: 0x0033aa88, 0x17c59: 0x4033aa20, 0x17c5a: 0x00345888, 0x17c5b: 0x40345820,\n\t0x17c5c: 0x00347888, 0x17c5d: 0x40347820, 0x17c5e: 0x00347088, 0x17c5f: 0x40347020,\n\t0x17c60: 0x00346888, 0x17c61: 0x40346820, 0x17c62: 0x0034ca88, 0x17c63: 0x4034ca20,\n\t0x17c64: 0x0034dc88, 0x17c65: 0x4034dc20, 0x17c66: 0x00351888, 0x17c67: 0x40351820,\n\t0x17c68: 0x00372688, 0x17c69: 0x40372620, 0x17c6a: 0x00354488, 0x17c6b: 0x40354420,\n\t0x17c6c: 0x00355888, 0x17c6d: 0x40355820, 0x17c6e: 0x00359288, 0x17c6f: 0x40359220,\n\t0x17c70: 0x00359a88, 0x17c71: 0x40359a20, 0x17c72: 0x0035cc88, 0x17c73: 0x4035cc20,\n\t0x17c74: 0x00360e88, 0x17c75: 0x40360e20, 0x17c76: 0x00362a88, 0x17c77: 0x40362a20,\n\t0x17c78: 0x00363a88, 0x17c79: 0x40363a20, 0x17c7a: 0x0035d488, 0x17c7b: 0x4035d420,\n\t0x17c7c: 0x00364488, 0x17c7d: 0x40364420, 0x17c7e: 0x00364c88, 0x17c7f: 0x40364c20,\n\t// Block 0x5f2, offset 0x17c80\n\t0x17c80: 0xa0000000, 0x17c81: 0xa0000000, 0x17c82: 0xa0000000, 0x17c83: 0xa0000000,\n\t0x17c84: 0xa0000000, 0x17c86: 0x40096620, 0x17c87: 0x40096a20,\n\t0x17c88: 0x40070820, 0x17c89: 0x4004f220, 0x17c8a: 0x4004f620, 0x17c8b: 0x4027e620,\n\t0x17c8c: 0x40024820, 0x17c8d: 0x40024a20, 0x17c8e: 0x40070e20, 0x17c8f: 0x40071020,\n\t0x17c90: 0xa0000001, 0x17c91: 0xa0000002, 0x17c92: 0xa0000004, 0x17c93: 0xa0000003,\n\t0x17c94: 0xa0000005, 0x17c95: 0xae600000, 0x17c96: 0xae600000, 0x17c97: 0xae600000,\n\t0x17c98: 0xa1e00000, 0x17c99: 0xa1f00000, 0x17c9a: 0xa2000000, 0x17c9b: 0x40026420,\n\t0x17c9e: 0x40027020, 0x17c9f: 0x4002cc20,\n\t0x17ca0: 0x403aa220, 0x17ca1: 0x4039a620, 0x17ca2: 0x40393a20, 0x17ca3: 0x40393821,\n\t0x17ca4: 0x40399c21, 0x17ca5: 0x40392820, 0x17ca6: 0x4039a821, 0x17ca7: 0xcf6e0151,\n\t0x17ca8: 0xcf729a11, 0x17ca9: 0x40395420, 0x17caa: 0xcf769a11, 0x17cab: 0x40394c20,\n\t0x17cac: 0xcf7a9a11, 0x17cad: 0x40395620, 0x17cae: 0x40395820, 0x17caf: 0xcf7e9a11,\n\t0x17cb0: 0x40396220, 0x17cb1: 0xcf829a11, 0x17cb2: 0x40396c20, 0x17cb3: 0x40397020,\n\t0x17cb4: 0x40397220, 0x17cb5: 0x40397420, 0x17cb6: 0x40397620, 0x17cb7: 0x40397820,\n\t0x17cb8: 0x40397a20, 0x17cb9: 0x40397c20, 0x17cba: 0x40397e20, 0x17cbb: 0x403a3820,\n\t0x17cbc: 0x403a3a20, 0x17cbd: 0x403a9c20, 0x17cbe: 0x403a9e20, 0x17cbf: 0x403aa020,\n\t// Block 0x5f3, offset 0x17cc0\n\t0x17cc0: 0xa0000000, 0x17cc1: 0x40398020, 0x17cc2: 0x40398220, 0x17cc3: 0x403a1a20,\n\t0x17cc4: 0xcf8a9a11, 0x17cc5: 0xcf8c9a11, 0x17cc6: 0xcf8e9a11, 0x17cc7: 0x403a6820,\n\t0x17cc8: 0xcf929a32, 0x17cc9: 0x403a8e20, 0x17cca: 0xcf970171, 0x17ccb: 0xa000c302,\n\t0x17ccc: 0xa000c502, 0x17ccd: 0xa000c402, 0x17cce: 0xa000bd02, 0x17ccf: 0xa000bf02,\n\t0x17cd0: 0xa000be02, 0x17cd1: 0xa000c702, 0x17cd2: 0xa220bc02, 0x17cd3: 0xa000c902,\n\t0x17cd4: 0xa000c602, 0x17cd5: 0xadc0bf02, 0x17cd6: 0xa000c102, 0x17cd7: 0xa000c202,\n\t0x17cd8: 0xa000c802, 0x17cd9: 0xae60c402, 0x17cda: 0xae60c502, 0x17cdb: 0xae60c602,\n\t0x17cdc: 0xadc0c702, 0x17cdd: 0xae60c802, 0x17cde: 0xae60c902, 0x17cdf: 0xadc0c002,\n\t0x17ce0: 0xe000015e, 0x17ce1: 0xe00001e6, 0x17ce2: 0xe0000301, 0x17ce3: 0xe00003db,\n\t0x17ce4: 0xe00004b6, 0x17ce5: 0xe0000580, 0x17ce6: 0xe000064b, 0x17ce7: 0xe00006f3,\n\t0x17ce8: 0xe000079f, 0x17ce9: 0xe0000844, 0x17cea: 0x4004ee20, 0x17ceb: 0x40024c20,\n\t0x17cec: 0x40024e20, 0x17ced: 0x4004de20, 0x17cee: 0x40393a20, 0x17cef: 0x403a1020,\n\t0x17cf0: 0xa000c002, 0x17cf1: 0x40392420, 0x17cf2: 0x40392220, 0x17cf3: 0x40392a20,\n\t0x17cf4: 0x00391c84, 0x17cf5: 0xf0000404, 0x17cf6: 0xe000b07a, 0x17cf7: 0xf0000404,\n\t0x17cf8: 0xf0000404, 0x17cf9: 0xcf789a11, 0x17cfa: 0x40395c20, 0x17cfb: 0x40393e20,\n\t0x17cfc: 0x40395e20, 0x17cfd: 0x40396020, 0x17cfe: 0xcf749a11, 0x17cff: 0x40396220,\n\t// Block 0x5f4, offset 0x17d00\n\t0x17d00: 0x40394220, 0x17d01: 0x40397620, 0x17d02: 0x40397820, 0x17d03: 0x40396620,\n\t0x17d04: 0x40396820, 0x17d05: 0x40397a20, 0x17d06: 0xcf7c9a11, 0x17d07: 0x40396e20,\n\t0x17d08: 0xcf809a11, 0x17d09: 0x40398e20, 0x17d0a: 0x40399020, 0x17d0b: 0x40399220,\n\t0x17d0c: 0x40399420, 0x17d0d: 0x40399620, 0x17d0e: 0x40399820, 0x17d0f: 0x40399a20,\n\t0x17d10: 0x40399c20, 0x17d11: 0xcf849a11, 0x17d12: 0x4039aa20, 0x17d13: 0x4039ac20,\n\t0x17d14: 0x4039ae20, 0x17d15: 0x4039b020, 0x17d16: 0x4039b220, 0x17d17: 0x4039b420,\n\t0x17d18: 0x40396e20, 0x17d19: 0x4039b820, 0x17d1a: 0x4039ca20, 0x17d1b: 0x4039cc20,\n\t0x17d1c: 0x4039ce20, 0x17d1d: 0x4039e020, 0x17d1e: 0x4039e220, 0x17d1f: 0x4039ea20,\n\t0x17d20: 0x4039f220, 0x17d21: 0x4039fe20, 0x17d22: 0x403a0020, 0x17d23: 0x403a0220,\n\t0x17d24: 0x403a0420, 0x17d25: 0x403a0820, 0x17d26: 0x403a0a20, 0x17d27: 0x403a1420,\n\t0x17d28: 0x403a1620, 0x17d29: 0xcf869a11, 0x17d2a: 0x403a1e20, 0x17d2b: 0x403a2020,\n\t0x17d2c: 0x403a2220, 0x17d2d: 0x403a2620, 0x17d2e: 0x403a2820, 0x17d2f: 0xcf889a11,\n\t0x17d30: 0x403a2c20, 0x17d31: 0x403a2e20, 0x17d32: 0x403a3020, 0x17d33: 0x403a3220,\n\t0x17d34: 0x403a3420, 0x17d35: 0x403a4220, 0x17d36: 0x403a4420, 0x17d37: 0x403a4620,\n\t0x17d38: 0x403a4820, 0x17d39: 0x403a6020, 0x17d3a: 0xcf909a11, 0x17d3b: 0x403a5a20,\n\t0x17d3c: 0x403a5c20, 0x17d3d: 0x403a5e20, 0x17d3e: 0x4039a220, 0x17d3f: 0x40396c20,\n\t// Block 0x5f5, offset 0x17d40\n\t0x17d40: 0xe000b077, 0x17d41: 0xcf950171, 0x17d42: 0x4039a021, 0x17d43: 0x4039a420,\n\t0x17d44: 0x403a7620, 0x17d45: 0x403a7820, 0x17d46: 0x403a7a20, 0x17d47: 0x403a7c20,\n\t0x17d48: 0x403a7e20, 0x17d49: 0x403a8020, 0x17d4a: 0x403a8220, 0x17d4b: 0x403a8420,\n\t0x17d4c: 0xcf999a11, 0x17d4d: 0x403a9420, 0x17d4e: 0x403a9620, 0x17d4f: 0x403a8620,\n\t0x17d50: 0x403a9820, 0x17d51: 0x403a9a20, 0x17d52: 0xcf9b0171, 0x17d53: 0x4039ac21,\n\t0x17d54: 0x4002e820, 0x17d55: 0x403a7220, 0x17d56: 0xae600000, 0x17d57: 0xae600000,\n\t0x17d58: 0xae600000, 0x17d59: 0xae600000, 0x17d5a: 0xae600000, 0x17d5b: 0xae600000,\n\t0x17d5c: 0xae600000, 0x17d5d: 0xa0000000, 0x17d5e: 0x40071220, 0x17d5f: 0xae600000,\n\t0x17d60: 0xae600000, 0x17d61: 0xae600000, 0x17d62: 0xae600000, 0x17d63: 0xadc00000,\n\t0x17d64: 0xae600000, 0x17d65: 0x003a7484, 0x17d66: 0x003a9084, 0x17d67: 0xae600000,\n\t0x17d68: 0xae600000, 0x17d69: 0x40071420, 0x17d6a: 0xadc00000, 0x17d6b: 0xae600000,\n\t0x17d6c: 0xae600000, 0x17d6d: 0xadc00000, 0x17d6e: 0x40399e20, 0x17d6f: 0x4039ba20,\n\t0x17d70: 0xe0000161, 0x17d71: 0xe00001e9, 0x17d72: 0xe0000304, 0x17d73: 0xe00003de,\n\t0x17d74: 0xe00004b9, 0x17d75: 0xe0000583, 0x17d76: 0xe000064e, 0x17d77: 0xe00006f6,\n\t0x17d78: 0xe00007a2, 0x17d79: 0xe0000847, 0x17d7a: 0x4039d020, 0x17d7b: 0x4039e420,\n\t0x17d7c: 0x4039f420, 0x17d7d: 0xe0001553, 0x17d7e: 0xe0001779, 0x17d7f: 0x403a7020,\n\t// Block 0x5f6, offset 0x17d80\n\t0x17d80: 0xe000155f, 0x17d81: 0xe0001565, 0x17d82: 0xe000157a, 0x17d83: 0xe00015b0,\n\t0x17d84: 0xe00015b6, 0x17d85: 0xe000ae97, 0x17d86: 0xe000ae9d, 0x17d87: 0xe000aea3,\n\t0x17d88: 0xe000aeb5, 0x17d89: 0xf0001a1a, 0x17d8a: 0xf0001a1a, 0x17d8b: 0xe000aebe,\n\t0x17d8c: 0xe000aec4, 0x17d8d: 0xe000aeca, 0x17d8e: 0xe000aedc, 0x17d8f: 0xe000289a,\n\t0x17d90: 0xe00036b1, 0x17d91: 0xe000aee2, 0x17d92: 0xe000aef4, 0x17d93: 0xe00028a0,\n\t0x17d94: 0xe00036ba, 0x17d95: 0xe000aefd, 0x17d96: 0xe000af03, 0x17d97: 0xe000af09,\n\t0x17d98: 0xe000af0f, 0x17d99: 0xe000af15, 0x17d9a: 0xe000af18, 0x17d9b: 0xe000af1e,\n\t0x17d9c: 0xe000af2d, 0x17d9d: 0xe000af36, 0x17d9e: 0xe000af3f, 0x17d9f: 0xe000af4e,\n\t0x17da0: 0xe000af8a, 0x17da1: 0xe000af99, 0x17da2: 0xe000af9f, 0x17da3: 0xe000afa5,\n\t0x17da4: 0xe000afab, 0x17da5: 0xe000afb7, 0x17da6: 0xe000afbd, 0x17da7: 0xe000afc6,\n\t0x17da8: 0xe000afcf, 0x17da9: 0xe000afd5, 0x17daa: 0xe000afdb, 0x17dab: 0xe000afe1,\n\t0x17dac: 0xe000afe7, 0x17dad: 0xe000afed, 0x17dae: 0xe000aff3, 0x17daf: 0xe000aff9,\n\t0x17db0: 0xe000afff, 0x17db1: 0xe00028e2, 0x17db2: 0xe0003708, 0x17db3: 0xe000b005,\n\t0x17db4: 0xe000b00b, 0x17db5: 0xe00028e8, 0x17db6: 0xe000370e, 0x17db7: 0xf0001a1a,\n\t0x17db8: 0xe000371a, 0x17db9: 0xe0003720, 0x17dba: 0xe0003726, 0x17dbb: 0xe0003732,\n\t0x17dbc: 0xe000373e, 0x17dbd: 0xf0001a1a, 0x17dbe: 0xf0001a1a, 0x17dbf: 0xe000b017,\n\t// Block 0x5f7, offset 0x17dc0\n\t0x17dc0: 0xe000b01d, 0x17dc1: 0xe000b023, 0x17dc2: 0xe000b02f, 0x17dc3: 0xe00028f4,\n\t0x17dc4: 0xe000374d, 0x17dc5: 0xe000b038, 0x17dc6: 0xe000b03e, 0x17dc7: 0xe000b044,\n\t0x17dc8: 0xe000b04d, 0x17dc9: 0xe00028f7, 0x17dca: 0xe0003750, 0x17dcb: 0xe000b053,\n\t0x17dcc: 0xe000b059, 0x17dcd: 0xe000b05f, 0x17dce: 0xe000b071, 0x17dcf: 0xe00028fd,\n\t0x17dd0: 0xe000375c, 0x17dd1: 0xe0003765, 0x17dd2: 0xe000376b, 0x17dd3: 0xf0001a1a,\n\t0x17dd4: 0xf0001a1a, 0x17dd5: 0xe0003786, 0x17dd6: 0xe000378c, 0x17dd7: 0xe0003792,\n\t0x17dd8: 0xe00037a4, 0x17dd9: 0xf0001a1a, 0x17dda: 0xf0001a1a, 0x17ddb: 0xe000af21,\n\t0x17ddc: 0xe000af24, 0x17ddd: 0xe000377d, 0x17dde: 0xe0000003, 0x17ddf: 0xe0000006,\n\t0x17de0: 0xe0000009, 0x17de1: 0xe000000c, 0x17de2: 0xe000000f, 0x17de3: 0xe0000012,\n\t0x17de4: 0xe000156b, 0x17de5: 0xe000156e, 0x17de6: 0xe0001577, 0x17de7: 0xe000157d,\n\t0x17de8: 0xe00015aa, 0x17de9: 0xe00015b3, 0x17dea: 0xe000aea6, 0x17deb: 0xe000aea9,\n\t0x17dec: 0xe000aeb2, 0x17ded: 0xe000aeb8, 0x17dee: 0xf0001919, 0x17def: 0xf0001919,\n\t0x17df0: 0xe000aecd, 0x17df1: 0xe000aed0, 0x17df2: 0xe000aed9, 0x17df3: 0xe000aedf,\n\t0x17df4: 0xe0002897, 0x17df5: 0xe00036ae, 0x17df6: 0xe000aee5, 0x17df7: 0xe000aee8,\n\t0x17df8: 0xe000aef1, 0x17df9: 0xe000aef7, 0x17dfa: 0xe000289d, 0x17dfb: 0xe00036b7,\n\t0x17dfc: 0xe00028df, 0x17dfd: 0xe0003705, 0x17dfe: 0xe00028e5, 0x17dff: 0xe000370b,\n\t// Block 0x5f8, offset 0x17e00\n\t0x17e00: 0xf0001919, 0x17e01: 0xe000372f, 0x17e02: 0xe000373b, 0x17e03: 0xf0001919,\n\t0x17e04: 0xf0001919, 0x17e05: 0xe000b02c, 0x17e06: 0xe00028f1, 0x17e07: 0xe000374a,\n\t0x17e08: 0xe000b032, 0x17e09: 0xe000b04a, 0x17e0a: 0xe000b062, 0x17e0b: 0xe000b065,\n\t0x17e0c: 0xe000b06e, 0x17e0d: 0xe000b074, 0x17e0e: 0xe00028fa, 0x17e0f: 0xe0003759,\n\t0x17e10: 0xe000377a, 0x17e11: 0xe0003795, 0x17e12: 0xe0003798, 0x17e13: 0xe00037a1,\n\t0x17e14: 0xe00037a7, 0x17e15: 0xf0001919, 0x17e16: 0xf0001919, 0x17e17: 0xe000155c,\n\t0x17e18: 0xe0001562, 0x17e19: 0xe0001568, 0x17e1a: 0xe0001571, 0x17e1b: 0xe0001580,\n\t0x17e1c: 0xe000ae94, 0x17e1d: 0xe000ae9a, 0x17e1e: 0xe000aea0, 0x17e1f: 0xe000aeac,\n\t0x17e20: 0xf0001717, 0x17e21: 0xe000aebb, 0x17e22: 0xe000aec1, 0x17e23: 0xe000aec7,\n\t0x17e24: 0xe000aed3, 0x17e25: 0xe00036a8, 0x17e26: 0xe000aeeb, 0x17e27: 0xe000aefa,\n\t0x17e28: 0xe000af00, 0x17e29: 0xe000af06, 0x17e2a: 0xe000af0c, 0x17e2b: 0xe000af12,\n\t0x17e2c: 0xe000af1b, 0x17e2d: 0xe000af27, 0x17e2e: 0xe000af30, 0x17e2f: 0xe000af39,\n\t0x17e30: 0xe000af48, 0x17e31: 0xe000af87, 0x17e32: 0xe000af8d, 0x17e33: 0xe000af96,\n\t0x17e34: 0xe000af9c, 0x17e35: 0xe000afa2, 0x17e36: 0xe000afa8, 0x17e37: 0xe000afb4,\n\t0x17e38: 0xe000afba, 0x17e39: 0xe000afc9, 0x17e3a: 0xe000afd2, 0x17e3b: 0xe000afd8,\n\t0x17e3c: 0xe000afde, 0x17e3d: 0xe000afe4, 0x17e3e: 0xe000afea, 0x17e3f: 0xe000aff0,\n\t// Block 0x5f9, offset 0x17e40\n\t0x17e40: 0xe000aff6, 0x17e41: 0xe000affc, 0x17e42: 0xe000b002, 0x17e43: 0xe000b008,\n\t0x17e44: 0xe0003717, 0x17e45: 0xe000371d, 0x17e46: 0xe0003723, 0x17e47: 0xe0003729,\n\t0x17e48: 0xe0003735, 0x17e49: 0xe000b014, 0x17e4a: 0xe000b01a, 0x17e4b: 0xe000b020,\n\t0x17e4c: 0xe000b026, 0x17e4d: 0xe0003747, 0x17e4e: 0xe000b035, 0x17e4f: 0xe000b03b,\n\t0x17e50: 0xe000b041, 0x17e51: 0xe000b047, 0x17e52: 0xe000b050, 0x17e53: 0xe000b056,\n\t0x17e54: 0xe000b05c, 0x17e55: 0xe000b068, 0x17e56: 0xe0003753, 0x17e57: 0xe0003762,\n\t0x17e58: 0xe0003768, 0x17e59: 0xe000375f, 0x17e5a: 0xe0003783, 0x17e5b: 0xe0003789,\n\t0x17e5c: 0xe000378f, 0x17e5d: 0xe000379b, 0x17e5e: 0xf0001717, 0x17e5f: 0xe0001574,\n\t0x17e60: 0xe0001583, 0x17e61: 0xe000aeaf, 0x17e62: 0xf0001818, 0x17e63: 0xe000aed6,\n\t0x17e64: 0xe00036ab, 0x17e65: 0xe000aeee, 0x17e66: 0xe00036b4, 0x17e67: 0xe000af4b,\n\t0x17e68: 0xe00036d2, 0x17e69: 0xe000af7e, 0x17e6a: 0xe00036de, 0x17e6b: 0xe000372c,\n\t0x17e6c: 0xe0003738, 0x17e6d: 0xe000b029, 0x17e6e: 0xe000b06b, 0x17e6f: 0xe0003756,\n\t0x17e70: 0xe000379e, 0x17e71: 0xf0001818, 0x17e72: 0xe000ae91, 0x17e73: 0xe0003690,\n\t0x17e74: 0xe0003693, 0x17e75: 0xe00028d0, 0x17e76: 0xe00036f6, 0x17e77: 0xe00028d6,\n\t0x17e78: 0xe00036fc, 0x17e79: 0xe00028dc, 0x17e7a: 0xe0003702, 0x17e7b: 0xe00028b8,\n\t0x17e7c: 0xe00036d8, 0x17e7d: 0xe00028be, 0x17e7e: 0xe00036e4, 0x17e7f: 0xe00028ac,\n\t// Block 0x5fa, offset 0x17e80\n\t0x17e80: 0xe00036c6, 0x17e81: 0xe00028a6, 0x17e82: 0xe00036c0, 0x17e83: 0xe00028b2,\n\t0x17e84: 0xe00036cc, 0x17e85: 0xe00028c4, 0x17e86: 0xe00036ea, 0x17e87: 0xe00028ca,\n\t0x17e88: 0xe00036f0, 0x17e89: 0xe000af5a, 0x17e8a: 0xe000af66, 0x17e8b: 0xe000af72,\n\t0x17e8c: 0xe000af84, 0x17e8d: 0xe000af78, 0x17e8e: 0xe000af45, 0x17e8f: 0xe000af93,\n\t0x17e90: 0xe000afb1, 0x17e91: 0xe00028cd, 0x17e92: 0xe00036f3, 0x17e93: 0xe00028d3,\n\t0x17e94: 0xe00036f9, 0x17e95: 0xe00028d9, 0x17e96: 0xe00036ff, 0x17e97: 0xe00028b5,\n\t0x17e98: 0xe00036d5, 0x17e99: 0xe00028bb, 0x17e9a: 0xe00036e1, 0x17e9b: 0xe00028a9,\n\t0x17e9c: 0xe00036c3, 0x17e9d: 0xe00028a3, 0x17e9e: 0xe00036bd, 0x17e9f: 0xe00028af,\n\t0x17ea0: 0xe00036c9, 0x17ea1: 0xe00028c1, 0x17ea2: 0xe00036e7, 0x17ea3: 0xe00028c7,\n\t0x17ea4: 0xe00036ed, 0x17ea5: 0xe000af57, 0x17ea6: 0xe000af63, 0x17ea7: 0xe000af6f,\n\t0x17ea8: 0xe000af81, 0x17ea9: 0xe000af75, 0x17eaa: 0xe000af42, 0x17eab: 0xe000af90,\n\t0x17eac: 0xe000afae, 0x17ead: 0xe000af51, 0x17eae: 0xe000af5d, 0x17eaf: 0xe000af69,\n\t0x17eb0: 0xe000af7b, 0x17eb1: 0xe00036cf, 0x17eb2: 0xe00036db, 0x17eb3: 0xe000afc0,\n\t0x17eb4: 0xe000af2a, 0x17eb5: 0xe000af33, 0x17eb6: 0xe000af3c, 0x17eb7: 0xe000af54,\n\t0x17eb8: 0xe000af60, 0x17eb9: 0xe000af6c, 0x17eba: 0xe000afc3, 0x17ebb: 0xe000afcc,\n\t0x17ebc: 0xe0003696, 0x17ebd: 0xe0003699, 0x17ebe: 0x4004c020, 0x17ebf: 0x4004c220,\n\t// Block 0x5fb, offset 0x17ec0\n\t0x17ec0: 0x0039de98, 0x17ec1: 0x0039e69a, 0x17ec2: 0x0039e699, 0x17ec3: 0x0039e697,\n\t0x17ec4: 0x0039e698, 0x17ec5: 0x0039e89a, 0x17ec6: 0x0039e899, 0x17ec7: 0x0039e897,\n\t0x17ec8: 0x0039e898, 0x17ec9: 0x0039ee9a, 0x17eca: 0x0039ee99, 0x17ecb: 0x0039ee97,\n\t0x17ecc: 0x0039ee98, 0x17ecd: 0x0039f09a, 0x17ece: 0x0039f099, 0x17ecf: 0x0039f097,\n\t0x17ed0: 0x0039f098, 0x17ed1: 0x0039fc9a, 0x17ed2: 0x0039fc99, 0x17ed3: 0x0039fc97,\n\t0x17ed4: 0x0039fc98, 0x17ed5: 0x003a129a, 0x17ed6: 0x003a1299, 0x17ed7: 0x003a1297,\n\t0x17ed8: 0x003a1298, 0x17ed9: 0x003a1a9a, 0x17eda: 0x003a1a99, 0x17edb: 0x003a1a97,\n\t0x17edc: 0x003a1a98, 0x17edd: 0x003a409a, 0x17ede: 0x003a4099, 0x17edf: 0x003a4097,\n\t0x17ee0: 0x003a4098, 0x17ee1: 0x003a4e9a, 0x17ee2: 0x003a4e99, 0x17ee3: 0x003a4e97,\n\t0x17ee4: 0x003a4e98, 0x17ee5: 0x003a569a, 0x17ee6: 0x003a5699, 0x17ee7: 0x003a5697,\n\t0x17ee8: 0x003a5698, 0x17ee9: 0x003a689a, 0x17eea: 0x003a6899, 0x17eeb: 0x003a6897,\n\t0x17eec: 0x003a6898, 0x17eed: 0x003a749a, 0x17eee: 0x003a7499, 0x17eef: 0x003a8e9a,\n\t0x17ef0: 0x003a8e99, 0x17ef1: 0x003a909a, 0x17ef2: 0x003a9099, 0x17ef3: 0x003a9097,\n\t0x17ef4: 0x003a9098, 0x17ef5: 0xe0001732, 0x17ef6: 0xe000172f, 0x17ef7: 0xe0001738,\n\t0x17ef8: 0xe0001735, 0x17ef9: 0xe000173e, 0x17efa: 0xe000173b, 0x17efb: 0xe000b011,\n\t0x17efc: 0xe000b00e, 0x17eff: 0xa0000000,\n\t// Block 0x5fc, offset 0x17f00\n\t0x17f00: 0xa0000000, 0x17f01: 0xa0000000, 0x17f02: 0xa0000000, 0x17f03: 0xa0000000,\n\t0x17f04: 0xa0000000, 0x17f05: 0xa0000000, 0x17f06: 0xa0000000, 0x17f07: 0xa0000000,\n\t0x17f08: 0xa0000000, 0x17f09: 0x40020020, 0x17f0a: 0x40020220, 0x17f0b: 0x40020420,\n\t0x17f0c: 0x40020620, 0x17f0d: 0x40020820, 0x17f0e: 0xa0000000, 0x17f0f: 0xa0000000,\n\t0x17f10: 0xa0000000, 0x17f11: 0xa0000000, 0x17f12: 0xa0000000, 0x17f13: 0xa0000000,\n\t0x17f14: 0xa0000000, 0x17f15: 0xa0000000, 0x17f16: 0xa0000000, 0x17f17: 0xa0000000,\n\t0x17f18: 0xa0000000, 0x17f19: 0xa0000000, 0x17f1a: 0xa0000000, 0x17f1b: 0xa0000000,\n\t0x17f1c: 0xa0000000, 0x17f1d: 0xa0000000, 0x17f1e: 0xa0000000, 0x17f1f: 0xa0000000,\n\t0x17f20: 0x40021220, 0x17f21: 0x4002ba20, 0x17f22: 0x4003e020, 0x17f23: 0x4004ea20,\n\t0x17f24: 0x4027de20, 0x17f25: 0x4004ec20, 0x17f26: 0x4004e620, 0x17f27: 0x4003d220,\n\t0x17f28: 0x4003f420, 0x17f29: 0x4003f620, 0x17f2a: 0x4004d820, 0x17f2b: 0x40093820,\n\t0x17f2c: 0x40024020, 0x17f2d: 0x40021a20, 0x17f2e: 0x4002e420, 0x17f2f: 0x4004e220,\n\t0x17f30: 0x4029cc20, 0x17f31: 0x4029ce20, 0x17f32: 0x4029d020, 0x17f33: 0x4029d220,\n\t0x17f34: 0x4029d420, 0x17f35: 0x4029d620, 0x17f36: 0x4029d820, 0x17f37: 0x4029da20,\n\t0x17f38: 0x4029dc20, 0x17f39: 0x4029de20, 0x17f3a: 0x40026c20, 0x17f3b: 0x40026220,\n\t0x17f3c: 0x40094020, 0x17f3d: 0x40094220, 0x17f3e: 0x40094420, 0x17f3f: 0x4002c420,\n\t// Block 0x5fd, offset 0x17f40\n\t0x17f40: 0x4004d620, 0x17f41: 0xcead9741, 0x17f42: 0x002c0a88, 0x17f43: 0x002c3a88,\n\t0x17f44: 0x002c6288, 0x17f45: 0xce6d2741, 0x17f46: 0x002d0888, 0x17f47: 0x002d2288,\n\t0x17f48: 0x002d6888, 0x17f49: 0x002d9a88, 0x17f4a: 0x002dcc88, 0x17f4b: 0x002dfe88,\n\t0x17f4c: 0xc0030002, 0x17f4d: 0x002e8288, 0x17f4e: 0x002e9e88, 0x17f4f: 0xcfa09a71,\n\t0x17f50: 0x002f2c88, 0x17f51: 0x002f5688, 0x17f52: 0x002f7a88, 0x17f53: 0x002fe688,\n\t0x17f54: 0x00302c88, 0x17f55: 0xc3479aa1, 0x17f56: 0x0030be88, 0x17f57: 0x0030e288,\n\t0x17f58: 0x0030f688, 0x17f59: 0x00310088, 0x17f5a: 0x00312a88, 0x17f5b: 0x4003f820,\n\t0x17f5c: 0x4004e420, 0x17f5d: 0x4003fa20, 0x17f5e: 0x40062420, 0x17f5f: 0x40021620,\n\t0x17f60: 0x40061e20, 0x17f61: 0xceaa9741, 0x17f62: 0x402c0a20, 0x17f63: 0x402c3a20,\n\t0x17f64: 0x402c6220, 0x17f65: 0xce6b2741, 0x17f66: 0x402d0820, 0x17f67: 0x402d2220,\n\t0x17f68: 0x402d6820, 0x17f69: 0x402d9a20, 0x17f6a: 0x402dcc20, 0x17f6b: 0x402dfe20,\n\t0x17f6c: 0xc0000002, 0x17f6d: 0x402e8220, 0x17f6e: 0x402e9e20, 0x17f6f: 0xcf9d9a71,\n\t0x17f70: 0x402f2c20, 0x17f71: 0x402f5620, 0x17f72: 0x402f7a20, 0x17f73: 0x402fe620,\n\t0x17f74: 0x40302c20, 0x17f75: 0xc3459aa1, 0x17f76: 0x4030be20, 0x17f77: 0x4030e220,\n\t0x17f78: 0x4030f620, 0x17f79: 0x40310020, 0x17f7a: 0x40312a20, 0x17f7b: 0x4003fc20,\n\t0x17f7c: 0x40094820, 0x17f7d: 0x4003fe20, 0x17f7e: 0x40094c20, 0x17f7f: 0xa0000000,\n\t// Block 0x5fe, offset 0x17f80\n\t0x17f80: 0xe00008f5, 0x17f81: 0xe000b098, 0x17f82: 0x002be283, 0x17f83: 0xe000b092,\n\t0x17f84: 0xe000095b, 0x17f85: 0xe000094d, 0x17f86: 0xe00009dd, 0x17f87: 0xe0000a53,\n\t0x17f88: 0xe0000ae8, 0x17f89: 0xe000b10c, 0x17f8a: 0x002c9a83, 0x17f8b: 0xe0000b20,\n\t0x17f8c: 0xe0000c2b, 0x17f8d: 0xe000b150, 0x17f8e: 0xe0000c37, 0x17f8f: 0xe0000c43,\n\t0x17f90: 0xe0000ab3, 0x17f91: 0xe000b190, 0x17f92: 0xe0000d9a, 0x17f93: 0xe000b1c6,\n\t0x17f94: 0x002ee483, 0x17f95: 0xe000b1a8, 0x17f96: 0xe0000dd2, 0x17f97: 0x40093e20,\n\t0x17f98: 0xe0000e12, 0x17f99: 0xe0000fe1, 0x17f9a: 0xe000b268, 0x17f9b: 0xe0000fed,\n\t0x17f9c: 0xe0000fff, 0x17f9d: 0xe000b2b8, 0x17f9e: 0x00318888, 0x17f9f: 0xe0000f7b,\n\t0x17fa0: 0xe00008f2, 0x17fa1: 0xe000b095, 0x17fa2: 0x402be220, 0x17fa3: 0xe000b08f,\n\t0x17fa4: 0xe0000958, 0x17fa5: 0xe000094a, 0x17fa6: 0xe00009d5, 0x17fa7: 0xe0000a4d,\n\t0x17fa8: 0xe0000ae5, 0x17fa9: 0xe000b109, 0x17faa: 0x402c9a20, 0x17fab: 0xe0000b1d,\n\t0x17fac: 0xe0000c28, 0x17fad: 0xe000b14d, 0x17fae: 0xe0000c34, 0x17faf: 0xe0000c40,\n\t0x17fb0: 0xe0000aad, 0x17fb1: 0xe000b18d, 0x17fb2: 0xe0000d97, 0x17fb3: 0xe000b1c3,\n\t0x17fb4: 0x402ee420, 0x17fb5: 0xe000b1a5, 0x17fb6: 0xe0000dcf, 0x17fb7: 0x40093c20,\n\t0x17fb8: 0xe0000e0f, 0x17fb9: 0xe0000fde, 0x17fba: 0xe000b265, 0x17fbb: 0xe0000fea,\n\t0x17fbc: 0xe0000ffc, 0x17fbd: 0xe000b2b5, 0x17fbe: 0x40318820, 0x17fbf: 0xe0001114,\n\t// Block 0x5ff, offset 0x17fc0\n\t0x17fc0: 0xe0000983, 0x17fc1: 0xe0000980, 0x17fc2: 0x002be083, 0x17fc3: 0x402be020,\n\t0x17fc4: 0xe000097d, 0x17fc5: 0xe000097a, 0x17fc6: 0xe000b0ec, 0x17fc7: 0xe000b0e9,\n\t0x17fc8: 0xe0000a3e, 0x17fc9: 0xe0000a3b, 0x17fca: 0xe0000a4a, 0x17fcb: 0xe0000a47,\n\t0x17fcc: 0xe0000a44, 0x17fcd: 0xe0000a41, 0x17fce: 0xe0000a86, 0x17fcf: 0xe0000a83,\n\t0x17fd0: 0x002c6483, 0x17fd1: 0x402c6420, 0x17fd2: 0xe0000b46, 0x17fd3: 0xe0000b43,\n\t0x17fd4: 0xe0000aee, 0x17fd5: 0xe0000aeb, 0x17fd6: 0xe0000b2c, 0x17fd7: 0xe0000b29,\n\t0x17fd8: 0xe0000b40, 0x17fd9: 0xe0000b3d, 0x17fda: 0xe0000b1a, 0x17fdb: 0xe0000b17,\n\t0x17fdc: 0xe0000bb8, 0x17fdd: 0xe0000bb5, 0x17fde: 0xe0000bb2, 0x17fdf: 0xe0000baf,\n\t0x17fe0: 0xe0000bc4, 0x17fe1: 0xe0000bc1, 0x17fe2: 0xe0000bca, 0x17fe3: 0xe0000bc7,\n\t0x17fe4: 0xe0000bee, 0x17fe5: 0xe0000beb, 0x17fe6: 0xe0000c1b, 0x17fe7: 0xe0000c18,\n\t0x17fe8: 0xe000b14a, 0x17fe9: 0xe000b147, 0x17fea: 0xe0000c60, 0x17feb: 0xe0000c5d,\n\t0x17fec: 0xe0000c31, 0x17fed: 0xe0000c2e, 0x17fee: 0xe0000c5a, 0x17fef: 0xe0000c57,\n\t0x17ff0: 0xe0000c54, 0x17ff1: 0x402da220, 0x17ff2: 0xf0000a0a, 0x17ff3: 0xf0000404,\n\t0x17ff4: 0xe0000c8a, 0x17ff5: 0xe0000c87, 0x17ff6: 0xe0000c9f, 0x17ff7: 0xe0000c9c,\n\t0x17ff8: 0x402f7220, 0x17ff9: 0xe000b170, 0x17ffa: 0xe000b16d, 0x17ffb: 0xe0000cd8,\n\t0x17ffc: 0xe0000cd5, 0x17ffd: 0xe0000cd2, 0x17ffe: 0xe0000ccf, 0x17fff: 0xe0000d04,\n\t// Block 0x600, offset 0x18000\n\t0x18000: 0xe0000cfe, 0x18001: 0xe0000cf8, 0x18002: 0xe0000cf5, 0x18003: 0xe000b196,\n\t0x18004: 0xe000b193, 0x18005: 0xe0000d6f, 0x18006: 0xe0000d6c, 0x18007: 0xe0000d5d,\n\t0x18008: 0xe0000d5a, 0x18009: 0xf0000404, 0x1800a: 0x002eda88, 0x1800b: 0x402eda20,\n\t0x1800c: 0xe0000e2e, 0x1800d: 0xe0000e2b, 0x1800e: 0xe0000da0, 0x1800f: 0xe0000d9d,\n\t0x18010: 0xe0000de0, 0x18011: 0xe0000ddd, 0x18012: 0xe0000e93, 0x18013: 0xe0000e8f,\n\t0x18014: 0xe000b21e, 0x18015: 0xe000b21b, 0x18016: 0xe0000edc, 0x18017: 0xe0000ed9,\n\t0x18018: 0xe0000ed0, 0x18019: 0xe0000ecd, 0x1801a: 0xe000b232, 0x1801b: 0xe000b22f,\n\t0x1801c: 0xe0000f2d, 0x1801d: 0xe0000f2a, 0x1801e: 0xe0000f47, 0x1801f: 0xe0000f44,\n\t0x18020: 0xe0000f33, 0x18021: 0xe0000f30, 0x18022: 0xe0000f99, 0x18023: 0xe0000f96,\n\t0x18024: 0xe0000f8a, 0x18025: 0xe0000f87, 0x18026: 0x00303688, 0x18027: 0x40303620,\n\t0x18028: 0xe000b25a, 0x18029: 0xe000b257, 0x1802a: 0xe000103f, 0x1802b: 0xe000103c,\n\t0x1802c: 0xe0000fe7, 0x1802d: 0xe0000fe4, 0x1802e: 0xe0000ff9, 0x1802f: 0xe0000ff6,\n\t0x18030: 0xe0001025, 0x18031: 0xe0001022, 0x18032: 0xe0001039, 0x18033: 0xe0001036,\n\t0x18034: 0xe00010d8, 0x18035: 0xe00010d5, 0x18036: 0xe000110e, 0x18037: 0xe000110b,\n\t0x18038: 0xe0001117, 0x18039: 0xe000b2c4, 0x1803a: 0xe000b2c1, 0x1803b: 0xe000114d,\n\t0x1803c: 0xe000114a, 0x1803d: 0xe0001147, 0x1803e: 0xe0001144, 0x1803f: 0xe0000f64,\n\t// Block 0x601, offset 0x18040\n\t0x18040: 0x402c1a20, 0x18041: 0x002c2a88, 0x18042: 0x002c3288, 0x18043: 0x402c3220,\n\t0x18044: 0x0031c488, 0x18045: 0x4031c420, 0x18046: 0x002efa88, 0x18047: 0x002c4e88,\n\t0x18048: 0x402c4e20, 0x18049: 0x002c7288, 0x1804a: 0x002c7a88, 0x1804b: 0x002c8488,\n\t0x1804c: 0x402c8420, 0x1804d: 0xe000115c, 0x1804e: 0x002cae88, 0x1804f: 0x002cb888,\n\t0x18050: 0x002cc288, 0x18051: 0x002d1688, 0x18052: 0x402d1620, 0x18053: 0x002d4488,\n\t0x18054: 0x002d5888, 0x18055: 0x402d7820, 0x18056: 0x002dc288, 0x18057: 0x002db688,\n\t0x18058: 0x002e0a88, 0x18059: 0x402e0a20, 0x1805a: 0x402e3820, 0x1805b: 0x402e7220,\n\t0x1805c: 0x0030a088, 0x1805d: 0x002eb488, 0x1805e: 0x402ebc20, 0x1805f: 0x002f1088,\n\t0x18060: 0x002ee683, 0x18061: 0x402ee620, 0x18062: 0x002d6088, 0x18063: 0x402d6020,\n\t0x18064: 0x002f3e88, 0x18065: 0x402f3e20, 0x18066: 0x002f8288, 0x18067: 0x0031b488,\n\t0x18068: 0x4031b420, 0x18069: 0x00300888, 0x1806a: 0x40301220, 0x1806b: 0x40304220,\n\t0x1806c: 0x00304a88, 0x1806d: 0x40304a20, 0x1806e: 0x00305288, 0x1806f: 0x00306e83,\n\t0x18070: 0x40306e20, 0x18071: 0x0030b488, 0x18072: 0x0030cc88, 0x18073: 0x00311888,\n\t0x18074: 0x40311820, 0x18075: 0x00313488, 0x18076: 0x40313420, 0x18077: 0x00316488,\n\t0x18078: 0x00316e88, 0x18079: 0x40316e20, 0x1807a: 0x40317820, 0x1807b: 0x4031a620,\n\t0x1807c: 0x0031bc88, 0x1807d: 0x4031bc20, 0x1807e: 0xe0000fc9, 0x1807f: 0x40319420,\n\t// Block 0x602, offset 0x18080\n\t0x18080: 0x40321220, 0x18081: 0x40321a20, 0x18082: 0x40322220, 0x18083: 0x40322a20,\n\t0x18084: 0xe0000ad5, 0x18085: 0xe0000ad1, 0x18086: 0xe0000acd, 0x18087: 0xf0000a0a,\n\t0x18088: 0xf000040a, 0x18089: 0xf0000404, 0x1808a: 0xf0000a0a, 0x1808b: 0xf000040a,\n\t0x1808c: 0xf0000404, 0x1808d: 0xe0000947, 0x1808e: 0xe0000944, 0x1808f: 0xe0000c3d,\n\t0x18090: 0xe0000c3a, 0x18091: 0xe0000dcc, 0x18092: 0xe0000dc9, 0x18093: 0xe0000ff3,\n\t0x18094: 0xe0000ff0, 0x18095: 0xe000101e, 0x18096: 0xe000101a, 0x18097: 0xe000b275,\n\t0x18098: 0xe000b271, 0x18099: 0xe0001016, 0x1809a: 0xe0001012, 0x1809b: 0xe000100e,\n\t0x1809c: 0xe000100a, 0x1809d: 0x402cae20, 0x1809e: 0xe0000962, 0x1809f: 0xe000095e,\n\t0x180a0: 0xe0000976, 0x180a1: 0xe0000972, 0x180a2: 0xe00009f4, 0x180a3: 0xe00009ef,\n\t0x180a4: 0x002d3a88, 0x180a5: 0x402d3a20, 0x180a6: 0xe0000bbe, 0x180a7: 0xe0000bbb,\n\t0x180a8: 0xe0000c99, 0x180a9: 0xe0000c96, 0x180aa: 0xe0000e20, 0x180ab: 0xe0000e1d,\n\t0x180ac: 0xe0000e27, 0x180ad: 0xe0000e23, 0x180ae: 0xe0001162, 0x180af: 0xe000115f,\n\t0x180b0: 0xe0000c8d, 0x180b1: 0xf0000a0a, 0x180b2: 0xf000040a, 0x180b3: 0xf0000404,\n\t0x180b4: 0xe000b138, 0x180b5: 0xe000b135, 0x180b6: 0x002d7888, 0x180b7: 0x00319488,\n\t0x180b8: 0xe0000d57, 0x180b9: 0xe0000d54, 0x180ba: 0xe000b0a5, 0x180bb: 0xe000b0a1,\n\t0x180bc: 0xe000b0ae, 0x180bd: 0xe000b0a9, 0x180be: 0xe000b1d3, 0x180bf: 0xe000b1cf,\n\t// Block 0x603, offset 0x180c0\n\t0x180c0: 0xe000098f, 0x180c1: 0xe000098c, 0x180c2: 0xe0000995, 0x180c3: 0xe0000992,\n\t0x180c4: 0xe0000b62, 0x180c5: 0xe0000b5f, 0x180c6: 0xe0000b68, 0x180c7: 0xe0000b65,\n\t0x180c8: 0xe0000c6c, 0x180c9: 0xe0000c69, 0x180ca: 0xe0000c72, 0x180cb: 0xe0000c6f,\n\t0x180cc: 0xe0000e4a, 0x180cd: 0xe0000e47, 0x180ce: 0xe0000e50, 0x180cf: 0xe0000e4d,\n\t0x180d0: 0xe0000ee8, 0x180d1: 0xe0000ee5, 0x180d2: 0xe0000eee, 0x180d3: 0xe0000eeb,\n\t0x180d4: 0xe0001053, 0x180d5: 0xe0001050, 0x180d6: 0xe0001059, 0x180d7: 0xe0001056,\n\t0x180d8: 0xe0000f61, 0x180d9: 0xe0000f5e, 0x180da: 0xe0000fa5, 0x180db: 0xe0000fa2,\n\t0x180dc: 0x00312288, 0x180dd: 0x40312220, 0x180de: 0xe0000bf4, 0x180df: 0xe0000bf1,\n\t0x180e0: 0x002ebc88, 0x180e1: 0x402c8c20, 0x180e2: 0x002f2288, 0x180e3: 0x402f2220,\n\t0x180e4: 0x00314088, 0x180e5: 0x40314020, 0x180e6: 0xe000096f, 0x180e7: 0xe000096c,\n\t0x180e8: 0xe0000b32, 0x180e9: 0xe0000b2f, 0x180ea: 0xe0000dd9, 0x180eb: 0xe0000dd5,\n\t0x180ec: 0xe000b1bf, 0x180ed: 0xe000b1bb, 0x180ee: 0xe0000e04, 0x180ef: 0xe0000e01,\n\t0x180f0: 0xe0000e0b, 0x180f1: 0xe0000e07, 0x180f2: 0xe0001129, 0x180f3: 0xe0001126,\n\t0x180f4: 0x402e5e20, 0x180f5: 0x402ed020, 0x180f6: 0x40305a20, 0x180f7: 0x402dd420,\n\t0x180f8: 0xe0000abf, 0x180f9: 0xe0000ec4, 0x180fa: 0x002be888, 0x180fb: 0x002c4488,\n\t0x180fc: 0x402c4420, 0x180fd: 0x002e3888, 0x180fe: 0x00303e88, 0x180ff: 0x402ffc20,\n\t// Block 0x604, offset 0x18100\n\t0x18100: 0xae603502, 0x18101: 0xae603802, 0x18102: 0xae603c02, 0x18103: 0xae603702,\n\t0x18104: 0xae605b02, 0x18105: 0xae606302, 0x18106: 0xae603702, 0x18107: 0xae605202,\n\t0x18108: 0xae604702, 0x18109: 0xae603602, 0x1810a: 0xae604302, 0x1810b: 0xae604d02,\n\t0x1810c: 0xae604102, 0x1810d: 0xae605f02, 0x1810e: 0xae605f02, 0x1810f: 0xae606502,\n\t0x18110: 0xae606602, 0x18111: 0xae606702, 0x18112: 0xae605f02, 0x18113: 0xae602202,\n\t0x18114: 0xae602a02, 0x18115: 0xae805f02, 0x18116: 0xadc06002, 0x18117: 0xadc06002,\n\t0x18118: 0xadc06002, 0x18119: 0xadc06002, 0x1811a: 0xae805f02, 0x1811b: 0xad806802,\n\t0x1811c: 0xadc06002, 0x1811d: 0xadc06002, 0x1811e: 0xadc06002, 0x1811f: 0xadc06002,\n\t0x18120: 0xadc06002, 0x18121: 0xaca06e02, 0x18122: 0xaca06f02, 0x18123: 0xae603902,\n\t0x18124: 0xadc07502, 0x18125: 0xadc07602, 0x18126: 0xadc07702, 0x18127: 0xaca05602,\n\t0x18128: 0xaca05902, 0x18129: 0xadc06002, 0x1812a: 0xadc06002, 0x1812b: 0xadc06002,\n\t0x1812c: 0xadc06002, 0x1812d: 0xadc07802, 0x1812e: 0xadc07902, 0x1812f: 0xadc06002,\n\t0x18130: 0xadc07a02, 0x18131: 0xadc07b02, 0x18132: 0xadc02102, 0x18133: 0xadc06002,\n\t0x18134: 0xa0107c02, 0x18135: 0xa0107d02, 0x18136: 0xa0106102, 0x18137: 0xa0106102,\n\t0x18138: 0xa0105402, 0x18139: 0xadc07e02, 0x1813a: 0xadc06002, 0x1813b: 0xadc06002,\n\t0x1813c: 0xadc06002, 0x1813d: 0xae605f02, 0x1813e: 0xae605f02, 0x1813f: 0xae605f02,\n\t// Block 0x605, offset 0x18140\n\t0x18140: 0xae603502, 0x18141: 0xae603802, 0x18142: 0xae604502, 0x18143: 0xae602202,\n\t0x18144: 0xe000b07d, 0x18145: 0xaf007f02, 0x18146: 0xae605f02, 0x18147: 0xadc06002,\n\t0x18148: 0xadc06002, 0x18149: 0xadc06002, 0x1814a: 0xae605f02, 0x1814b: 0xae605f02,\n\t0x1814c: 0xae605f02, 0x1814d: 0xadc06002, 0x1814e: 0xadc06002, 0x1814f: 0xa0000000,\n\t0x18150: 0xae605f02, 0x18151: 0xae605f02, 0x18152: 0xae605f02, 0x18153: 0xadc06002,\n\t0x18154: 0xadc06002, 0x18155: 0xadc06002, 0x18156: 0xadc06002, 0x18157: 0xae605f02,\n\t0x18158: 0xae808002, 0x18159: 0xadc06002, 0x1815a: 0xadc06002, 0x1815b: 0xae605f02,\n\t0x1815c: 0xae906002, 0x1815d: 0xaea05f02, 0x1815e: 0xaea05f02, 0x1815f: 0xae906002,\n\t0x18160: 0xaea08102, 0x18161: 0xaea08202, 0x18162: 0xae906002, 0x18163: 0x84e615ef,\n\t0x18164: 0x84e6164c, 0x18165: 0x84e616cd, 0x18166: 0x84e61771, 0x18167: 0x84e61836,\n\t0x18168: 0x84e6161d, 0x18169: 0x84e61631, 0x1816a: 0x84e616b4, 0x1816b: 0x84e61741,\n\t0x1816c: 0x84e617bd, 0x1816d: 0x84e61816, 0x1816e: 0x84e6185f, 0x1816f: 0x84e6187b,\n\t0x18170: 0x00326688, 0x18171: 0x40326620, 0x18172: 0x0032a688, 0x18173: 0x4032a620,\n\t0x18174: 0x40064020, 0x18175: 0x40064220, 0x18176: 0x00326088, 0x18177: 0x40326020,\n\t0x1817a: 0x00326c84, 0x1817b: 0x40329220,\n\t0x1817c: 0x40329020, 0x1817d: 0x40329420, 0x1817e: 0x40026220,\n\t// Block 0x606, offset 0x18180\n\t0x18184: 0x40062020, 0x18185: 0xe000b080, 0x18186: 0xe000b2f4, 0x18187: 0x40030620,\n\t0x18188: 0xe000b30e, 0x18189: 0xe000b338, 0x1818a: 0xe000b352,\n\t0x1818c: 0xe000b36c, 0x1818e: 0xe000b37e, 0x1818f: 0xe000b3ac,\n\t0x18190: 0xe000b355, 0x18191: 0x00325288, 0x18192: 0x00325488, 0x18193: 0x00325688,\n\t0x18194: 0x00325a88, 0x18195: 0x00325c88, 0x18196: 0x00326488, 0x18197: 0x00326888,\n\t0x18198: 0x00326a88, 0x18199: 0x00326c88, 0x1819a: 0x00327088, 0x1819b: 0x00327288,\n\t0x1819c: 0x00327688, 0x1819d: 0x00327888, 0x1819e: 0x00327a88, 0x1819f: 0x00327c88,\n\t0x181a0: 0x00327e88, 0x181a1: 0x00328888, 0x181a3: 0x00328e88,\n\t0x181a4: 0x00329688, 0x181a5: 0x00329888, 0x181a6: 0x00329a88, 0x181a7: 0x00329c88,\n\t0x181a8: 0x00329e88, 0x181a9: 0x0032a288, 0x181aa: 0xe000134f, 0x181ab: 0xe00013f2,\n\t0x181ac: 0xe000b2f1, 0x181ad: 0xe000b30b, 0x181ae: 0xe000b335, 0x181af: 0xe000b34f,\n\t0x181b0: 0xe000b381, 0x181b1: 0x40325220, 0x181b2: 0x40325420, 0x181b3: 0x40325620,\n\t0x181b4: 0x40325a20, 0x181b5: 0x40325c20, 0x181b6: 0x40326420, 0x181b7: 0x40326820,\n\t0x181b8: 0x40326a20, 0x181b9: 0x40326c20, 0x181ba: 0x40327020, 0x181bb: 0x40327220,\n\t0x181bc: 0x40327620, 0x181bd: 0x40327820, 0x181be: 0x40327a20, 0x181bf: 0x40327c20,\n\t// Block 0x607, offset 0x181c0\n\t0x181c0: 0x40327e20, 0x181c1: 0x40328820, 0x181c2: 0x00328e99, 0x181c3: 0x40328e20,\n\t0x181c4: 0x40329620, 0x181c5: 0x40329820, 0x181c6: 0x40329a20, 0x181c7: 0x40329c20,\n\t0x181c8: 0x40329e20, 0x181c9: 0x4032a220, 0x181ca: 0xe000134c, 0x181cb: 0xe00013ef,\n\t0x181cc: 0xe000b369, 0x181cd: 0xe000b37b, 0x181ce: 0xe000b3a9, 0x181cf: 0xe0001368,\n\t0x181d0: 0x00325484, 0x181d1: 0x00326a84, 0x181d2: 0x0032988a, 0x181d3: 0xf000020a,\n\t0x181d4: 0xf000020a, 0x181d5: 0x00329a84, 0x181d6: 0x00327e84, 0x181d7: 0xe0001364,\n\t0x181d8: 0x00328688, 0x181d9: 0x40328620, 0x181da: 0x00326288, 0x181db: 0x40326220,\n\t0x181dc: 0x00325e88, 0x181dd: 0x40325e20, 0x181de: 0x00328488, 0x181df: 0x40328420,\n\t0x181e0: 0x0032a488, 0x181e1: 0x4032a420, 0x181e2: 0x0032e888, 0x181e3: 0x4032e820,\n\t0x181e4: 0x0032f288, 0x181e5: 0x4032f220, 0x181e6: 0x0032f488, 0x181e7: 0x4032f420,\n\t0x181e8: 0x0032fa88, 0x181e9: 0x4032fa20, 0x181ea: 0x00330888, 0x181eb: 0x40330820,\n\t0x181ec: 0x00330e88, 0x181ed: 0x40330e20, 0x181ee: 0x00331688, 0x181ef: 0x40331620,\n\t0x181f0: 0x00327084, 0x181f1: 0x00328884, 0x181f2: 0x00328e84, 0x181f3: 0x40326e20,\n\t0x181f4: 0x00326a8a, 0x181f5: 0x00325c84, 0x181f6: 0x40092e20, 0x181f7: 0x0032a888,\n\t0x181f8: 0x4032a820, 0x181f9: 0x00328e8a, 0x181fa: 0x00328288, 0x181fb: 0x40328220,\n\t0x181fc: 0x40328c20, 0x181fd: 0x00329288, 0x181fe: 0x00329088, 0x181ff: 0x00329488,\n\t// Block 0x608, offset 0x18200\n\t0x18200: 0xe00009b1, 0x18201: 0xe00009ae, 0x18202: 0xe0000a22, 0x18203: 0xe0000a1f,\n\t0x18204: 0xe000b0e6, 0x18205: 0xe000b0e3, 0x18206: 0xe0000a2e, 0x18207: 0xe0000a2b,\n\t0x18208: 0xe000b0f3, 0x18209: 0xe000b0ef, 0x1820a: 0xe0000a8c, 0x1820b: 0xe0000a89,\n\t0x1820c: 0xe000b0fa, 0x1820d: 0xe000b0f7, 0x1820e: 0xe0000aa4, 0x1820f: 0xe0000aa1,\n\t0x18210: 0xe0000a92, 0x18211: 0xe0000a8f, 0x18212: 0xe0000a9e, 0x18213: 0xe0000a9b,\n\t0x18214: 0xe0000b55, 0x18215: 0xe0000b51, 0x18216: 0xe000b119, 0x18217: 0xe000b115,\n\t0x18218: 0xe0000b7c, 0x18219: 0xe0000b79, 0x1821a: 0xe0000b82, 0x1821b: 0xe0000b7f,\n\t0x1821c: 0xe0000b39, 0x1821d: 0xe0000b35, 0x1821e: 0xe0000b8c, 0x1821f: 0xe0000b89,\n\t0x18220: 0xe0000bd0, 0x18221: 0xe0000bcd, 0x18222: 0xe0000c00, 0x18223: 0xe0000bfd,\n\t0x18224: 0xe000b13e, 0x18225: 0xe000b13b, 0x18226: 0xe0000bfa, 0x18227: 0xe0000bf7,\n\t0x18228: 0xe0000c06, 0x18229: 0xe0000c03, 0x1822a: 0xe0000c12, 0x1822b: 0xe0000c0f,\n\t0x1822c: 0xe0000c7e, 0x1822d: 0xe0000c7b, 0x1822e: 0xe000b15d, 0x1822f: 0xe000b159,\n\t0x18230: 0xe000b164, 0x18231: 0xe000b161, 0x18232: 0xe000b16a, 0x18233: 0xe000b167,\n\t0x18234: 0xe0000cb1, 0x18235: 0xe0000cae, 0x18236: 0xe000b176, 0x18237: 0xe000b173,\n\t0x18238: 0xe000b17d, 0x18239: 0xe000b179, 0x1823a: 0xe0000cf2, 0x1823b: 0xe0000cef,\n\t0x1823c: 0xe0000cec, 0x1823d: 0xe0000ce9, 0x1823e: 0xe000b184, 0x1823f: 0xe000b181,\n\t// Block 0x609, offset 0x18240\n\t0x18240: 0xe0000d24, 0x18241: 0xe0000d21, 0x18242: 0xe000b18a, 0x18243: 0xe000b187,\n\t0x18244: 0xe0000d69, 0x18245: 0xe0000d66, 0x18246: 0xe000b19c, 0x18247: 0xe000b199,\n\t0x18248: 0xe0000d87, 0x18249: 0xe0000d84, 0x1824a: 0xe0000d81, 0x1824b: 0xe0000d7e,\n\t0x1824c: 0xe000b1af, 0x1824d: 0xe000b1ab, 0x1824e: 0xe000b1b7, 0x1824f: 0xe000b1b3,\n\t0x18250: 0xe0000e3d, 0x18251: 0xe0000e39, 0x18252: 0xe000b1db, 0x18253: 0xe000b1d7,\n\t0x18254: 0xe000b218, 0x18255: 0xe000b215, 0x18256: 0xe0000ead, 0x18257: 0xe0000eaa,\n\t0x18258: 0xe0000ed6, 0x18259: 0xe0000ed3, 0x1825a: 0xe000b224, 0x1825b: 0xe000b221,\n\t0x1825c: 0xe000b22b, 0x1825d: 0xe000b227, 0x1825e: 0xe0000f02, 0x1825f: 0xe0000eff,\n\t0x18260: 0xe0000f41, 0x18261: 0xe0000f3e, 0x18262: 0xe000b240, 0x18263: 0xe000b23d,\n\t0x18264: 0xe000b239, 0x18265: 0xe000b235, 0x18266: 0xe0000f3a, 0x18267: 0xe0000f36,\n\t0x18268: 0xe000b247, 0x18269: 0xe000b243, 0x1826a: 0xe0000f93, 0x1826b: 0xe0000f90,\n\t0x1826c: 0xe000b24e, 0x1826d: 0xe000b24b, 0x1826e: 0xe0000fb1, 0x1826f: 0xe0000fae,\n\t0x18270: 0xe0000fab, 0x18271: 0xe0000fa8, 0x18272: 0xe0001093, 0x18273: 0xe0001090,\n\t0x18274: 0xe000109f, 0x18275: 0xe000109c, 0x18276: 0xe0001099, 0x18277: 0xe0001096,\n\t0x18278: 0xe000b261, 0x18279: 0xe000b25d, 0x1827a: 0xe0001046, 0x1827b: 0xe0001042,\n\t0x1827c: 0xe000b294, 0x1827d: 0xe000b291, 0x1827e: 0xe000b29a, 0x1827f: 0xe000b297,\n\t// Block 0x60a, offset 0x18280\n\t0x18280: 0xe00010d2, 0x18281: 0xe00010cf, 0x18282: 0xe000b2a0, 0x18283: 0xe000b29d,\n\t0x18284: 0xe00010e1, 0x18285: 0xe00010de, 0x18286: 0xe00010e7, 0x18287: 0xe00010e4,\n\t0x18288: 0xe000b2a6, 0x18289: 0xe000b2a3, 0x1828a: 0xe00010fc, 0x1828b: 0xe00010f9,\n\t0x1828c: 0xe00010f6, 0x1828d: 0xe00010f3, 0x1828e: 0xe0001123, 0x1828f: 0xe0001120,\n\t0x18290: 0xe0001141, 0x18291: 0xe000113e, 0x18292: 0xe000b2ca, 0x18293: 0xe000b2c7,\n\t0x18294: 0xe0001159, 0x18295: 0xe0001156, 0x18296: 0xe0000c15, 0x18297: 0xe0000f8d,\n\t0x18298: 0xe00010db, 0x18299: 0xe0001111, 0x1829a: 0xf0000404, 0x1829b: 0xe0000f70,\n\t0x1829c: 0x40300420, 0x1829d: 0x40300620, 0x1829e: 0xe0000f7f, 0x1829f: 0x402c9620,\n\t0x182a0: 0xe000b09e, 0x182a1: 0xe000b09b, 0x182a2: 0xe000b08c, 0x182a3: 0xe000b089,\n\t0x182a4: 0xe000b0da, 0x182a5: 0xe000b0d7, 0x182a6: 0xe000393a, 0x182a7: 0xe0003937,\n\t0x182a8: 0xe000b0ce, 0x182a9: 0xe000b0cb, 0x182aa: 0xe000b0d4, 0x182ab: 0xe000b0d1,\n\t0x182ac: 0xe000b0e0, 0x182ad: 0xe000b0dd, 0x182ae: 0xe000b0c2, 0x182af: 0xe000b0bf,\n\t0x182b0: 0xe0003894, 0x182b1: 0xe0003891, 0x182b2: 0xe000b0b6, 0x182b3: 0xe000b0b3,\n\t0x182b4: 0xe000b0bc, 0x182b5: 0xe000b0b9, 0x182b6: 0xe000b0c8, 0x182b7: 0xe000b0c5,\n\t0x182b8: 0xe000b112, 0x182b9: 0xe000b10f, 0x182ba: 0xe000b100, 0x182bb: 0xe000b0fd,\n\t0x182bc: 0xe000b106, 0x182bd: 0xe000b103, 0x182be: 0xe000b12c, 0x182bf: 0xe000b129,\n\t// Block 0x60b, offset 0x182c0\n\t0x182c0: 0xe000ad47, 0x182c1: 0xe000ad44, 0x182c2: 0xe000b120, 0x182c3: 0xe000b11d,\n\t0x182c4: 0xe000b126, 0x182c5: 0xe000b123, 0x182c6: 0xe000b132, 0x182c7: 0xe000b12f,\n\t0x182c8: 0xe000b144, 0x182c9: 0xe000b141, 0x182ca: 0xe000b156, 0x182cb: 0xe000b153,\n\t0x182cc: 0xe000b1cc, 0x182cd: 0xe000b1c9, 0x182ce: 0xe000b1a2, 0x182cf: 0xe000b19f,\n\t0x182d0: 0xe000b1ee, 0x182d1: 0xe000b1eb, 0x182d2: 0xe000ad65, 0x182d3: 0xe000ad62,\n\t0x182d4: 0xe000b1e2, 0x182d5: 0xe000b1df, 0x182d6: 0xe000b1e8, 0x182d7: 0xe000b1e5,\n\t0x182d8: 0xe000b1f4, 0x182d9: 0xe000b1f1, 0x182da: 0xe000b20c, 0x182db: 0xe000b209,\n\t0x182dc: 0xe000b1fa, 0x182dd: 0xe000b1f7, 0x182de: 0xe000b200, 0x182df: 0xe000b1fd,\n\t0x182e0: 0xe000b206, 0x182e1: 0xe000b203, 0x182e2: 0xe000b212, 0x182e3: 0xe000b20f,\n\t0x182e4: 0xe000b26e, 0x182e5: 0xe000b26b, 0x182e6: 0xe000b254, 0x182e7: 0xe000b251,\n\t0x182e8: 0xe000b288, 0x182e9: 0xe000b285, 0x182ea: 0xe0002958, 0x182eb: 0xe0002955,\n\t0x182ec: 0xe000b27c, 0x182ed: 0xe000b279, 0x182ee: 0xe000b282, 0x182ef: 0xe000b27f,\n\t0x182f0: 0xe000b28e, 0x182f1: 0xe000b28b, 0x182f2: 0xe0001108, 0x182f3: 0xe0001105,\n\t0x182f4: 0xe000b2be, 0x182f5: 0xe000b2bb, 0x182f6: 0xe000b2ac, 0x182f7: 0xe000b2a9,\n\t0x182f8: 0xe000b2b2, 0x182f9: 0xe000b2af, 0x182fa: 0xe0000d0a, 0x182fb: 0xe0000d07,\n\t0x182fc: 0x0030d888, 0x182fd: 0x4030d820, 0x182fe: 0x00312088, 0x182ff: 0x40312020,\n\t// Block 0x60c, offset 0x18300\n\t0x18300: 0xe0001165, 0x18301: 0xe00011a9, 0x18302: 0xe000117d, 0x18303: 0xe00011c1,\n\t0x18304: 0xe000b2cd, 0x18305: 0xe000b2df, 0x18306: 0xe000118f, 0x18307: 0xe00011d3,\n\t0x18308: 0xe0001168, 0x18309: 0xe00011ac, 0x1830a: 0xe0001181, 0x1830b: 0xe00011c5,\n\t0x1830c: 0xe000b2d1, 0x1830d: 0xe000b2e3, 0x1830e: 0xe0001193, 0x1830f: 0xe00011d7,\n\t0x18310: 0xe000121a, 0x18311: 0xe0001230, 0x18312: 0xe0001228, 0x18313: 0xe000123e,\n\t0x18314: 0xe000b2fb, 0x18315: 0xe000b303,\n\t0x18318: 0xe000121d, 0x18319: 0xe0001233, 0x1831a: 0xe000122c, 0x1831b: 0xe0001242,\n\t0x1831c: 0xe000b2ff, 0x1831d: 0xe000b307,\n\t0x18320: 0xe0001252, 0x18321: 0xe0001296, 0x18322: 0xe000126a, 0x18323: 0xe00012ae,\n\t0x18324: 0xe000b311, 0x18325: 0xe000b323, 0x18326: 0xe000127c, 0x18327: 0xe00012c0,\n\t0x18328: 0xe0001255, 0x18329: 0xe0001299, 0x1832a: 0xe000126e, 0x1832b: 0xe00012b2,\n\t0x1832c: 0xe000b315, 0x1832d: 0xe000b327, 0x1832e: 0xe0001280, 0x1832f: 0xe00012c4,\n\t0x18330: 0xe00012fb, 0x18331: 0xe0001319, 0x18332: 0xe0001309, 0x18333: 0xe0001327,\n\t0x18334: 0xe000b33f, 0x18335: 0xe000b347, 0x18336: 0xe0001311, 0x18337: 0xe000132f,\n\t0x18338: 0xe00012fe, 0x18339: 0xe000131c, 0x1833a: 0xe000130d, 0x1833b: 0xe000132b,\n\t0x1833c: 0xe000b343, 0x1833d: 0xe000b34b, 0x1833e: 0xe0001315, 0x1833f: 0xe0001333,\n\t// Block 0x60d, offset 0x18340\n\t0x18340: 0xe000136c, 0x18341: 0xe0001382, 0x18342: 0xe000137a, 0x18343: 0xe0001390,\n\t0x18344: 0xe000b359, 0x18345: 0xe000b361,\n\t0x18348: 0xe000136f, 0x18349: 0xe0001385, 0x1834a: 0xe000137e, 0x1834b: 0xe0001394,\n\t0x1834c: 0xe000b35d, 0x1834d: 0xe000b365,\n\t0x18350: 0xe00013ad, 0x18351: 0xe00013bc, 0x18352: 0xe00013b4, 0x18353: 0xe00013ca,\n\t0x18354: 0xe000b36f, 0x18355: 0xe000b373, 0x18356: 0xe00013b8, 0x18357: 0xe00013d2,\n\t0x18359: 0xe00013bf, 0x1835b: 0xe00013ce,\n\t0x1835d: 0xe000b377, 0x1835f: 0xe00013d6,\n\t0x18360: 0xe0001407, 0x18361: 0xe000144b, 0x18362: 0xe000141f, 0x18363: 0xe0001463,\n\t0x18364: 0xe000b385, 0x18365: 0xe000b397, 0x18366: 0xe0001431, 0x18367: 0xe0001475,\n\t0x18368: 0xe000140a, 0x18369: 0xe000144e, 0x1836a: 0xe0001423, 0x1836b: 0xe0001467,\n\t0x1836c: 0xe000b389, 0x1836d: 0xe000b39b, 0x1836e: 0xe0001435, 0x1836f: 0xe0001479,\n\t0x18370: 0xe00011f7, 0x18371: 0xe000b2f1, 0x18372: 0xe000124c, 0x18373: 0xe000b30b,\n\t0x18374: 0xe00012e4, 0x18375: 0xe000b335, 0x18376: 0xe000133d, 0x18377: 0xe000b34f,\n\t0x18378: 0xe000139e, 0x18379: 0xe000b369, 0x1837a: 0xe00013e0, 0x1837b: 0xe000b37b,\n\t0x1837c: 0xe0001499, 0x1837d: 0xe000b3a9,\n\t// Block 0x60e, offset 0x18380\n\t0x18380: 0xe00011a1, 0x18381: 0xe00011e5, 0x18382: 0xe0001185, 0x18383: 0xe00011c9,\n\t0x18384: 0xe000b2d5, 0x18385: 0xe000b2e7, 0x18386: 0xe0001197, 0x18387: 0xe00011db,\n\t0x18388: 0xe00011a5, 0x18389: 0xe00011e9, 0x1838a: 0xe000118a, 0x1838b: 0xe00011ce,\n\t0x1838c: 0xe000b2da, 0x1838d: 0xe000b2ec, 0x1838e: 0xe000119c, 0x1838f: 0xe00011e0,\n\t0x18390: 0xe000128e, 0x18391: 0xe00012d2, 0x18392: 0xe0001272, 0x18393: 0xe00012b6,\n\t0x18394: 0xe000b319, 0x18395: 0xe000b32b, 0x18396: 0xe0001284, 0x18397: 0xe00012c8,\n\t0x18398: 0xe0001292, 0x18399: 0xe00012d6, 0x1839a: 0xe0001277, 0x1839b: 0xe00012bb,\n\t0x1839c: 0xe000b31e, 0x1839d: 0xe000b330, 0x1839e: 0xe0001289, 0x1839f: 0xe00012cd,\n\t0x183a0: 0xe0001443, 0x183a1: 0xe0001487, 0x183a2: 0xe0001427, 0x183a3: 0xe000146b,\n\t0x183a4: 0xe000b38d, 0x183a5: 0xe000b39f, 0x183a6: 0xe0001439, 0x183a7: 0xe000147d,\n\t0x183a8: 0xe0001447, 0x183a9: 0xe000148b, 0x183aa: 0xe000142c, 0x183ab: 0xe0001470,\n\t0x183ac: 0xe000b392, 0x183ad: 0xe000b3a4, 0x183ae: 0xe000143e, 0x183af: 0xe0001482,\n\t0x183b0: 0xe0001201, 0x183b1: 0xe000120e, 0x183b2: 0xe00011fd, 0x183b3: 0xe0001214,\n\t0x183b4: 0xe000b2f7, 0x183b6: 0xe0001207, 0x183b7: 0xe000120a,\n\t0x183b8: 0xe0001204, 0x183b9: 0xe0001211, 0x183ba: 0xe00011fa, 0x183bb: 0xe000b2f4,\n\t0x183bc: 0xe0001217, 0x183bd: 0x40063620, 0x183be: 0x40326c20, 0x183bf: 0x40063620,\n\t// Block 0x60f, offset 0x183c0\n\t0x183c0: 0x40063a20, 0x183c1: 0xe00000b1, 0x183c2: 0xe00012ea, 0x183c3: 0xe00012f5,\n\t0x183c4: 0xe000b33b, 0x183c6: 0xe00012ee, 0x183c7: 0xe00012f1,\n\t0x183c8: 0xe000124f, 0x183c9: 0xe000b30e, 0x183ca: 0xe00012e7, 0x183cb: 0xe000b338,\n\t0x183cc: 0xe00012f8, 0x183cd: 0xe00000b7, 0x183ce: 0xe000b083, 0x183cf: 0xe00000ba,\n\t0x183d0: 0xe0001343, 0x183d1: 0xe000135e, 0x183d2: 0xe0001356, 0x183d3: 0xe000b355,\n\t0x183d6: 0xe0001349, 0x183d7: 0xe000135a,\n\t0x183d8: 0xe0001346, 0x183d9: 0xe0001361, 0x183da: 0xe0001340, 0x183db: 0xe000b352,\n\t0x183dd: 0xe00000c0, 0x183de: 0xe000b086, 0x183df: 0xe00000c3,\n\t0x183e0: 0xe00013e6, 0x183e1: 0xe0001401, 0x183e2: 0xe00013f9, 0x183e3: 0xe000b381,\n\t0x183e4: 0xe00013a4, 0x183e5: 0xe00013a7, 0x183e6: 0xe00013ec, 0x183e7: 0xe00013fd,\n\t0x183e8: 0xe00013e9, 0x183e9: 0xe0001404, 0x183ea: 0xe00013e3, 0x183eb: 0xe000b37e,\n\t0x183ec: 0xe00013aa, 0x183ed: 0xe00000ae, 0x183ee: 0xe000b080, 0x183ef: 0x40061e20,\n\t0x183f2: 0xe000149f, 0x183f3: 0xe00014aa,\n\t0x183f4: 0xe000b3af, 0x183f6: 0xe00014a3, 0x183f7: 0xe00014a6,\n\t0x183f8: 0xe00013a1, 0x183f9: 0xe000b36c, 0x183fa: 0xe000149c, 0x183fb: 0xe000b3ac,\n\t0x183fc: 0xe00014ad, 0x183fd: 0x40062020, 0x183fe: 0x40063820,\n\t// Block 0x610, offset 0x18400\n\t0x18400: 0xa0000000, 0x18401: 0xa0000000, 0x18402: 0xa0000000, 0x18403: 0xa0000000,\n\t0x18404: 0xa0000000, 0x18405: 0xa0000000, 0x18406: 0xa0000000, 0x18407: 0xa0000000,\n\t0x18408: 0xa0000000, 0x18409: 0x40020020, 0x1840a: 0x40020220, 0x1840b: 0x40020420,\n\t0x1840c: 0x40020620, 0x1840d: 0x40020820, 0x1840e: 0xa0000000, 0x1840f: 0xa0000000,\n\t0x18410: 0xa0000000, 0x18411: 0xa0000000, 0x18412: 0xa0000000, 0x18413: 0xa0000000,\n\t0x18414: 0xa0000000, 0x18415: 0xa0000000, 0x18416: 0xa0000000, 0x18417: 0xa0000000,\n\t0x18418: 0xa0000000, 0x18419: 0xa0000000, 0x1841a: 0xa0000000, 0x1841b: 0xa0000000,\n\t0x1841c: 0xa0000000, 0x1841d: 0xa0000000, 0x1841e: 0xa0000000, 0x1841f: 0xa0000000,\n\t0x18420: 0x40021220, 0x18421: 0x4002ba20, 0x18422: 0x4003e020, 0x18423: 0x4004ea20,\n\t0x18424: 0x4027de20, 0x18425: 0x4004ec20, 0x18426: 0x4004e620, 0x18427: 0x4003d220,\n\t0x18428: 0x4003f420, 0x18429: 0x4003f620, 0x1842a: 0x4004d820, 0x1842b: 0x40093820,\n\t0x1842c: 0x40024020, 0x1842d: 0x40021a20, 0x1842e: 0x4002e420, 0x1842f: 0x4004e220,\n\t0x18430: 0x4029cc20, 0x18431: 0x4029ce20, 0x18432: 0x4029d020, 0x18433: 0x4029d220,\n\t0x18434: 0x4029d420, 0x18435: 0x4029d620, 0x18436: 0x4029d820, 0x18437: 0x4029da20,\n\t0x18438: 0x4029dc20, 0x18439: 0x4029de20, 0x1843a: 0x40026c20, 0x1843b: 0x40026220,\n\t0x1843c: 0x40094020, 0x1843d: 0x40094220, 0x1843e: 0x40094420, 0x1843f: 0x4002c420,\n\t// Block 0x611, offset 0x18440\n\t0x18440: 0x4004d620, 0x18441: 0x002bde88, 0x18442: 0x002c0a88, 0x18443: 0x002c3a88,\n\t0x18444: 0x002c6288, 0x18445: 0x002c9888, 0x18446: 0x002d0888, 0x18447: 0x002d2288,\n\t0x18448: 0x002d6888, 0x18449: 0x002d9a88, 0x1844a: 0x002dcc88, 0x1844b: 0x002dfe88,\n\t0x1844c: 0xc0030002, 0x1844d: 0x002e8288, 0x1844e: 0x002e9e88, 0x1844f: 0x002ee288,\n\t0x18450: 0x002f2c88, 0x18451: 0x002f5688, 0x18452: 0x002f7a88, 0x18453: 0x002fe688,\n\t0x18454: 0x00302c88, 0x18455: 0x00306c88, 0x18456: 0x0030be88, 0x18457: 0x0030e288,\n\t0x18458: 0x0030f688, 0x18459: 0x00310088, 0x1845a: 0x00312a88, 0x1845b: 0x4003f820,\n\t0x1845c: 0x4004e420, 0x1845d: 0x4003fa20, 0x1845e: 0x40062420, 0x1845f: 0x40021620,\n\t0x18460: 0x40061e20, 0x18461: 0xcfa39ac2, 0x18462: 0x402c0a20, 0x18463: 0xcfa809b1,\n\t0x18464: 0x402c6220, 0x18465: 0xcfaa9b41, 0x18466: 0x402d0820, 0x18467: 0x402d2220,\n\t0x18468: 0x402d6820, 0x18469: 0xcfac9b51, 0x1846a: 0x402dcc20, 0x1846b: 0x402dfe20,\n\t0x1846c: 0xc0000002, 0x1846d: 0x402e8220, 0x1846e: 0x402e9e20, 0x1846f: 0xcfae9b62,\n\t0x18470: 0x402f2c20, 0x18471: 0x402f5620, 0x18472: 0x402f7a20, 0x18473: 0xcfb39be1,\n\t0x18474: 0x40302c20, 0x18475: 0xcfb59c02, 0x18476: 0x4030be20, 0x18477: 0x4030e220,\n\t0x18478: 0x4030f620, 0x18479: 0x40310020, 0x1847a: 0x40312a20, 0x1847b: 0x4003fc20,\n\t0x1847c: 0x40094820, 0x1847d: 0x4003fe20, 0x1847e: 0x40094c20, 0x1847f: 0xa0000000,\n\t// Block 0x612, offset 0x18480\n\t0x18480: 0xe00008f5, 0x18481: 0xe00008ef, 0x18482: 0xe0000921, 0x18483: 0xe0000969,\n\t0x18484: 0xe000095b, 0x18485: 0xe000094d, 0x18486: 0xe00009dd, 0x18487: 0xe0000a53,\n\t0x18488: 0xe0000ae8, 0x18489: 0xe0000ae2, 0x1848a: 0xe0000af4, 0x1848b: 0xe0000b20,\n\t0x1848c: 0xe0000c2b, 0x1848d: 0xe0000c25, 0x1848e: 0xe0000c37, 0x1848f: 0xe0000c43,\n\t0x18490: 0xe0000ab3, 0x18491: 0xe0000d63, 0x18492: 0xe0000d9a, 0x18493: 0xe0000d94,\n\t0x18494: 0xe0000da6, 0x18495: 0xe0000de6, 0x18496: 0xe0000dd2, 0x18497: 0x40093e20,\n\t0x18498: 0xe0000e12, 0x18499: 0xe0000fe1, 0x1849a: 0xe0000fdb, 0x1849b: 0xe0000fed,\n\t0x1849c: 0xe0000fff, 0x1849d: 0xe0001102, 0x1849e: 0x00318888, 0x1849f: 0xe0000f7b,\n\t0x184a0: 0xe00008f2, 0x184a1: 0xe00008ec, 0x184a2: 0xe000091e, 0x184a3: 0xe0000966,\n\t0x184a4: 0xcfa69b21, 0x184a5: 0xe000094a, 0x184a6: 0xe00009d5, 0x184a7: 0xe0000a4d,\n\t0x184a8: 0xe0000ae5, 0x184a9: 0xe0000adf, 0x184aa: 0xe0000af1, 0x184ab: 0xe0000b1d,\n\t0x184ac: 0xe0000c28, 0x184ad: 0xe0000c22, 0x184ae: 0xe0000c34, 0x184af: 0xe0000c40,\n\t0x184b0: 0xe0000aad, 0x184b1: 0xe0000d60, 0x184b2: 0xe0000d97, 0x184b3: 0xe0000d91,\n\t0x184b4: 0xe0000da3, 0x184b5: 0xe0000de3, 0x184b6: 0xcfb19bc1, 0x184b7: 0x40093c20,\n\t0x184b8: 0xe0000e0f, 0x184b9: 0xe0000fde, 0x184ba: 0xe0000fd8, 0x184bb: 0xe0000fea,\n\t0x184bc: 0xcfb89c61, 0x184bd: 0xe00010ff, 0x184be: 0x40318820, 0x184bf: 0xe0001114,\n\t// Block 0x613, offset 0x184c0\n\t0x184c0: 0xa0000000, 0x184c1: 0xa0000000, 0x184c2: 0xa0000000, 0x184c3: 0xa0000000,\n\t0x184c4: 0xa0000000, 0x184c5: 0xa0000000, 0x184c6: 0xa0000000, 0x184c7: 0xa0000000,\n\t0x184c8: 0xa0000000, 0x184c9: 0x40020020, 0x184ca: 0x40020220, 0x184cb: 0x40020420,\n\t0x184cc: 0x40020620, 0x184cd: 0x40020820, 0x184ce: 0xa0000000, 0x184cf: 0xa0000000,\n\t0x184d0: 0xa0000000, 0x184d1: 0xa0000000, 0x184d2: 0xa0000000, 0x184d3: 0xa0000000,\n\t0x184d4: 0xa0000000, 0x184d5: 0xa0000000, 0x184d6: 0xa0000000, 0x184d7: 0xa0000000,\n\t0x184d8: 0xa0000000, 0x184d9: 0xa0000000, 0x184da: 0xa0000000, 0x184db: 0xa0000000,\n\t0x184dc: 0xa0000000, 0x184dd: 0xa0000000, 0x184de: 0xa0000000, 0x184df: 0xa0000000,\n\t0x184e0: 0x40021220, 0x184e1: 0x4002ba20, 0x184e2: 0x4003e020, 0x184e3: 0x4004ea20,\n\t0x184e4: 0x4027de20, 0x184e5: 0x4004ec20, 0x184e6: 0x4004e620, 0x184e7: 0x4003d220,\n\t0x184e8: 0x4003f420, 0x184e9: 0x4003f620, 0x184ea: 0x4004d820, 0x184eb: 0x40093820,\n\t0x184ec: 0x40024020, 0x184ed: 0x40021a20, 0x184ee: 0x4002e420, 0x184ef: 0x4004e220,\n\t0x184f0: 0x4029cc20, 0x184f1: 0x4029ce20, 0x184f2: 0x4029d020, 0x184f3: 0x4029d220,\n\t0x184f4: 0x4029d420, 0x184f5: 0x4029d620, 0x184f6: 0x4029d820, 0x184f7: 0x4029da20,\n\t0x184f8: 0x4029dc20, 0x184f9: 0x4029de20, 0x184fa: 0x40026c20, 0x184fb: 0x40026220,\n\t0x184fc: 0x40094020, 0x184fd: 0x40094220, 0x184fe: 0x40094420, 0x184ff: 0x4002c420,\n\t// Block 0x614, offset 0x18500\n\t0x18500: 0x4004d620, 0x18501: 0x002bde88, 0x18502: 0x002c0a88, 0x18503: 0x002c3a88,\n\t0x18504: 0x002c6288, 0x18505: 0xce6d3081, 0x18506: 0x002d0888, 0x18507: 0xc52b2692,\n\t0x18508: 0x002d6888, 0x18509: 0x002d9a88, 0x1850a: 0x002dcc88, 0x1850b: 0x002dfe88,\n\t0x1850c: 0xc0030002, 0x1850d: 0x002e8288, 0x1850e: 0x002e9e88, 0x1850f: 0xc33f3081,\n\t0x18510: 0x002f2c88, 0x18511: 0x002f5688, 0x18512: 0x002f7a88, 0x18513: 0xc3433081,\n\t0x18514: 0x00302c88, 0x18515: 0x00306c88, 0x18516: 0x0030be88, 0x18517: 0x0030e288,\n\t0x18518: 0x0030f688, 0x18519: 0x00310088, 0x1851a: 0x00312a88, 0x1851b: 0x4003f820,\n\t0x1851c: 0x4004e420, 0x1851d: 0x4003fa20, 0x1851e: 0x40062420, 0x1851f: 0x40021620,\n\t0x18520: 0x40061e20, 0x18521: 0x402bde20, 0x18522: 0x402c0a20, 0x18523: 0x402c3a20,\n\t0x18524: 0x402c6220, 0x18525: 0xce6b3081, 0x18526: 0x402d0820, 0x18527: 0xc3372681,\n\t0x18528: 0x402d6820, 0x18529: 0x402d9a20, 0x1852a: 0x402dcc20, 0x1852b: 0x402dfe20,\n\t0x1852c: 0xc0000002, 0x1852d: 0x402e8220, 0x1852e: 0x402e9e20, 0x1852f: 0xc33d3081,\n\t0x18530: 0x402f2c20, 0x18531: 0x402f5620, 0x18532: 0x402f7a20, 0x18533: 0xc3413081,\n\t0x18534: 0x40302c20, 0x18535: 0x40306c20, 0x18536: 0x4030be20, 0x18537: 0x4030e220,\n\t0x18538: 0x4030f620, 0x18539: 0x40310020, 0x1853a: 0x40312a20, 0x1853b: 0x4003fc20,\n\t0x1853c: 0x40094820, 0x1853d: 0x4003fe20, 0x1853e: 0x40094c20, 0x1853f: 0xa0000000,\n\t// Block 0x615, offset 0x18540\n\t0x18540: 0xe0000d24, 0x18541: 0xe0000d21, 0x18542: 0xe0000d2a, 0x18543: 0xe0000d27,\n\t0x18544: 0xe0000d69, 0x18545: 0xe0000d66, 0x18546: 0xe0000d7b, 0x18547: 0xe0000d78,\n\t0x18548: 0xe0000d87, 0x18549: 0xe0000d84, 0x1854a: 0xe0000d81, 0x1854b: 0xe0000d7e,\n\t0x1854c: 0xe0000ded, 0x1854d: 0xe0000de9, 0x1854e: 0xe0000df5, 0x1854f: 0xe0000df1,\n\t0x18550: 0xe0000e3d, 0x18551: 0xe0000e39, 0x18552: 0xe0000e35, 0x18553: 0xe0000e31,\n\t0x18554: 0xe0000ea7, 0x18555: 0xe0000ea4, 0x18556: 0xe0000ead, 0x18557: 0xe0000eaa,\n\t0x18558: 0xe0000ed6, 0x18559: 0xe0000ed3, 0x1855a: 0xe0000ef4, 0x1855b: 0xe0000ef1,\n\t0x1855c: 0xe0000efb, 0x1855d: 0xe0000ef7, 0x1855e: 0xe0000f02, 0x1855f: 0xe0000eff,\n\t0x18560: 0xe0000f41, 0x18561: 0xe0000f3e, 0x18562: 0x002fe883, 0x18563: 0x402fe820,\n\t0x18564: 0xe0000f26, 0x18565: 0xe0000f22, 0x18566: 0xe0000f3a, 0x18567: 0xe0000f36,\n\t0x18568: 0xe000296a, 0x18569: 0xe0002967, 0x1856a: 0xe0000f93, 0x1856b: 0xe0000f90,\n\t0x1856c: 0xe0000f9f, 0x1856d: 0xe0000f9c, 0x1856e: 0xe0000fb1, 0x1856f: 0xe0000fae,\n\t0x18570: 0xe0000fab, 0x18571: 0xe0000fa8, 0x18572: 0xe0001093, 0x18573: 0xe0001090,\n\t0x18574: 0xe000109f, 0x18575: 0xe000109c, 0x18576: 0xe0001099, 0x18577: 0xe0001096,\n\t0x18578: 0xe0001032, 0x18579: 0xe000102e, 0x1857a: 0xe0001046, 0x1857b: 0xe0001042,\n\t0x1857c: 0xe00010a9, 0x1857d: 0xe00010a6, 0x1857e: 0xe00010af, 0x1857f: 0xe00010ac,\n\t// Block 0x616, offset 0x18580\n\t0x18580: 0xe00010d2, 0x18581: 0xe00010cf, 0x18582: 0xe00010cc, 0x18583: 0xe00010c9,\n\t0x18584: 0xe00010e1, 0x18585: 0xe00010de, 0x18586: 0xe00010e7, 0x18587: 0xe00010e4,\n\t0x18588: 0xe00010ed, 0x18589: 0xe00010ea, 0x1858a: 0xe00010fc, 0x1858b: 0xe00010f9,\n\t0x1858c: 0xe00010f6, 0x1858d: 0xe00010f3, 0x1858e: 0xe0001123, 0x1858f: 0xe0001120,\n\t0x18590: 0xe0001141, 0x18591: 0xe000113e, 0x18592: 0xe0001153, 0x18593: 0xe0001150,\n\t0x18594: 0xe0001159, 0x18595: 0xe0001156, 0x18596: 0xe0000c15, 0x18597: 0xe0000f8d,\n\t0x18598: 0xe00010db, 0x18599: 0xe0001111, 0x1859a: 0xf0000404, 0x1859b: 0xe0000f70,\n\t0x1859c: 0x40300420, 0x1859d: 0x40300620, 0x1859e: 0xe0000f7f, 0x1859f: 0x402c9620,\n\t0x185a0: 0xe000099b, 0x185a1: 0xe0000998, 0x185a2: 0xe0000989, 0x185a3: 0xe0000986,\n\t0x185a4: 0xe0000928, 0x185a5: 0xe0000924, 0x185a6: 0xe0000930, 0x185a7: 0xe000092c,\n\t0x185a8: 0xe0000940, 0x185a9: 0xe000093c, 0x185aa: 0xe0000938, 0x185ab: 0xe0000934,\n\t0x185ac: 0xe00009aa, 0x185ad: 0xe00009a6, 0x185ae: 0xe0000902, 0x185af: 0xe00008fe,\n\t0x185b0: 0xe000090a, 0x185b1: 0xe0000906, 0x185b2: 0xe000091a, 0x185b3: 0xe0000916,\n\t0x185b4: 0xe0000912, 0x185b5: 0xe000090e, 0x185b6: 0xe00009a2, 0x185b7: 0xe000099e,\n\t0x185b8: 0x002c9a83, 0x185b9: 0x402c9a20, 0x185ba: 0xe0000b5c, 0x185bb: 0xe0000b59,\n\t0x185bc: 0xe0000b26, 0x185bd: 0xe0000b23, 0x185be: 0xe0000afb, 0x185bf: 0xe0000af7,\n\t// Block 0x617, offset 0x185c0\n\t0x185c0: 0xe0000b03, 0x185c1: 0xe0000aff, 0x185c2: 0xe0000b13, 0x185c3: 0xe0000b0f,\n\t0x185c4: 0xe0000b0b, 0x185c5: 0xe0000b07, 0x185c6: 0xe000b3c5, 0x185c7: 0xe000b3c2,\n\t0x185c8: 0xe0000c66, 0x185c9: 0xe0000c63, 0x185ca: 0xe0000c78, 0x185cb: 0xe0000c75,\n\t0x185cc: 0x002ee483, 0x185cd: 0x402ee420, 0x185ce: 0xe0000e44, 0x185cf: 0xe0000e41,\n\t0x185d0: 0xe0000dad, 0x185d1: 0xe0000da9, 0x185d2: 0xe0000db5, 0x185d3: 0xe0000db1,\n\t0x185d4: 0xe0000dc5, 0x185d5: 0xe0000dc1, 0x185d6: 0xe0000dbd, 0x185d7: 0xe0000db9,\n\t0x185d8: 0xe0003c96, 0x185d9: 0xe0003c93, 0x185da: 0xe0000e5d, 0x185db: 0xe0000e59,\n\t0x185dc: 0xe0000e65, 0x185dd: 0xe0000e61, 0x185de: 0xe0000e75, 0x185df: 0xe0000e71,\n\t0x185e0: 0xe0000e6d, 0x185e1: 0xe0000e69, 0x185e2: 0xe0003c9c, 0x185e3: 0xe0003c99,\n\t0x185e4: 0xe000108d, 0x185e5: 0xe000108a, 0x185e6: 0xe000104d, 0x185e7: 0xe000104a,\n\t0x185e8: 0xe0001066, 0x185e9: 0xe0001062, 0x185ea: 0xe000106e, 0x185eb: 0xe000106a,\n\t0x185ec: 0xe000107e, 0x185ed: 0xe000107a, 0x185ee: 0xe0001076, 0x185ef: 0xe0001072,\n\t0x185f0: 0xe0001086, 0x185f1: 0xe0001082, 0x185f2: 0xe0001108, 0x185f3: 0xe0001105,\n\t0x185f4: 0xe0001135, 0x185f5: 0xe0001132, 0x185f6: 0xe000112f, 0x185f7: 0xe000112c,\n\t0x185f8: 0xe000111d, 0x185f9: 0xe000111a, 0x185fa: 0xe0000d0a, 0x185fb: 0xe0000d07,\n\t0x185fc: 0x0030d888, 0x185fd: 0x4030d820, 0x185fe: 0x00312088, 0x185ff: 0x40312020,\n\t// Block 0x618, offset 0x18600\n\t0x18600: 0xa0000000, 0x18601: 0xa0000000, 0x18602: 0xa0000000, 0x18603: 0xa0000000,\n\t0x18604: 0xa0000000, 0x18605: 0xa0000000, 0x18606: 0xa0000000, 0x18607: 0xa0000000,\n\t0x18608: 0xa0000000, 0x18609: 0x40020020, 0x1860a: 0x40020220, 0x1860b: 0x40020420,\n\t0x1860c: 0x40020620, 0x1860d: 0x40020820, 0x1860e: 0xa0000000, 0x1860f: 0xa0000000,\n\t0x18610: 0xa0000000, 0x18611: 0xa0000000, 0x18612: 0xa0000000, 0x18613: 0xa0000000,\n\t0x18614: 0xa0000000, 0x18615: 0xa0000000, 0x18616: 0xa0000000, 0x18617: 0xa0000000,\n\t0x18618: 0xa0000000, 0x18619: 0xa0000000, 0x1861a: 0xa0000000, 0x1861b: 0xa0000000,\n\t0x1861c: 0xa0000000, 0x1861d: 0xa0000000, 0x1861e: 0xa0000000, 0x1861f: 0xa0000000,\n\t0x18620: 0x40021220, 0x18621: 0x4002ba20, 0x18622: 0x4003e020, 0x18623: 0x4004ea20,\n\t0x18624: 0x4027de20, 0x18625: 0x4004ec20, 0x18626: 0x4004e620, 0x18627: 0x4003d220,\n\t0x18628: 0x4003f420, 0x18629: 0x4003f620, 0x1862a: 0x4004d820, 0x1862b: 0x40093820,\n\t0x1862c: 0x40024020, 0x1862d: 0x40021a20, 0x1862e: 0x4002e420, 0x1862f: 0x4004e220,\n\t0x18630: 0x4029cc20, 0x18631: 0x4029ce20, 0x18632: 0x4029d020, 0x18633: 0x4029d220,\n\t0x18634: 0x4029d420, 0x18635: 0x4029d620, 0x18636: 0x4029d820, 0x18637: 0x4029da20,\n\t0x18638: 0x4029dc20, 0x18639: 0x4029de20, 0x1863a: 0x40026c20, 0x1863b: 0x40026220,\n\t0x1863c: 0x40094020, 0x1863d: 0x40094220, 0x1863e: 0x40094420, 0x1863f: 0x4002c420,\n\t// Block 0x619, offset 0x18640\n\t0x18640: 0x4004d620, 0x18641: 0xcfbf9c81, 0x18642: 0x002c0a88, 0x18643: 0x002c3a88,\n\t0x18644: 0x002c6288, 0x18645: 0xcfcd9cc1, 0x18646: 0x002d0888, 0x18647: 0x002d2288,\n\t0x18648: 0x002d6888, 0x18649: 0xcfe19c81, 0x1864a: 0x002dcc88, 0x1864b: 0x002dfe88,\n\t0x1864c: 0xc0030002, 0x1864d: 0xcfeb9c81, 0x1864e: 0xcff59c81, 0x1864f: 0xcfff9c81,\n\t0x18650: 0x002f2c88, 0x18651: 0x002f5688, 0x18652: 0x002f7a88, 0x18653: 0x002fe688,\n\t0x18654: 0x00302c88, 0x18655: 0xd00e9d81, 0x18656: 0x0030be88, 0x18657: 0x0030e288,\n\t0x18658: 0x0030f688, 0x18659: 0x00310088, 0x1865a: 0x00312a88, 0x1865b: 0x4003f820,\n\t0x1865c: 0x4004e420, 0x1865d: 0x4003fa20, 0x1865e: 0x40062420, 0x1865f: 0x40021620,\n\t0x18660: 0x40061e20, 0x18661: 0xcfba9c81, 0x18662: 0x402c0a20, 0x18663: 0x402c3a20,\n\t0x18664: 0x402c6220, 0x18665: 0xcfc49cc1, 0x18666: 0x402d0820, 0x18667: 0x402d2220,\n\t0x18668: 0x402d6820, 0x18669: 0xcfdc9c81, 0x1866a: 0x402dcc20, 0x1866b: 0x402dfe20,\n\t0x1866c: 0xc0000002, 0x1866d: 0xcfe69c81, 0x1866e: 0xcff09c81, 0x1866f: 0xcffa9c81,\n\t0x18670: 0x402f2c20, 0x18671: 0x402f5620, 0x18672: 0x402f7a20, 0x18673: 0x402fe620,\n\t0x18674: 0x40302c20, 0x18675: 0xd0049d81, 0x18676: 0x4030be20, 0x18677: 0x4030e220,\n\t0x18678: 0x4030f620, 0x18679: 0x40310020, 0x1867a: 0x40312a20, 0x1867b: 0x4003fc20,\n\t0x1867c: 0x40094820, 0x1867d: 0x4003fe20, 0x1867e: 0x40094c20, 0x1867f: 0xa0000000,\n\t// Block 0x61a, offset 0x18680\n\t0x18680: 0x002bde63, 0x18681: 0x002bde23, 0x18682: 0xe0000921, 0x18683: 0xe0000969,\n\t0x18684: 0xe000095b, 0x18685: 0xe000094d, 0x18686: 0xe00009dd, 0x18687: 0xe0000a53,\n\t0x18688: 0x002c9863, 0x18689: 0x002c9823, 0x1868a: 0xcfd99d51, 0x1868b: 0xe0000b20,\n\t0x1868c: 0x002d9a63, 0x1868d: 0x002d9a23, 0x1868e: 0xe0000c37, 0x1868f: 0xe0000c43,\n\t0x18690: 0xe0000ab3, 0x18691: 0xe0000d63, 0x18692: 0x002ee263, 0x18693: 0x002ee223,\n\t0x18694: 0xe0000da6, 0x18695: 0xe0000de6, 0x18696: 0xe0000dd2, 0x18697: 0x40093e20,\n\t0x18698: 0xe0000e12, 0x18699: 0x00306c63, 0x1869a: 0x00306c23, 0x1869b: 0xe0000fed,\n\t0x1869c: 0x00306d23, 0x1869d: 0xe0001102, 0x1869e: 0x00318888, 0x1869f: 0xe0000f7b,\n\t0x186a0: 0x402bde1f, 0x186a1: 0x402bde1d, 0x186a2: 0xe000091e, 0x186a3: 0xe0000966,\n\t0x186a4: 0xe0000958, 0x186a5: 0xe000094a, 0x186a6: 0xe00009d5, 0x186a7: 0xe0000a4d,\n\t0x186a8: 0x402c981f, 0x186a9: 0x402c981d, 0x186aa: 0xcfd69d51, 0x186ab: 0xe0000b1d,\n\t0x186ac: 0x402d9a1f, 0x186ad: 0x402d9a1d, 0x186ae: 0xe0000c34, 0x186af: 0xe0000c40,\n\t0x186b0: 0xe0000aad, 0x186b1: 0xe0000d60, 0x186b2: 0x402ee21f, 0x186b3: 0x402ee21d,\n\t0x186b4: 0xe0000da3, 0x186b5: 0xe0000de3, 0x186b6: 0xe0000dcf, 0x186b7: 0x40093c20,\n\t0x186b8: 0xe0000e0f, 0x186b9: 0x40306c1f, 0x186ba: 0x40306c1d, 0x186bb: 0xe0000fea,\n\t0x186bc: 0x40306c25, 0x186bd: 0xe00010ff, 0x186be: 0x40318820, 0x186bf: 0xe0001114,\n\t// Block 0x61b, offset 0x186c0\n\t0x186c0: 0x002bde03, 0x186c1: 0x402bde1c, 0x186c2: 0xe00008fb, 0x186c3: 0xe00008f8,\n\t0x186c4: 0xe000097d, 0x186c5: 0xe000097a, 0x186c6: 0xe0000a38, 0x186c7: 0xe0000a35,\n\t0x186c8: 0xe0000a3e, 0x186c9: 0xe0000a3b, 0x186ca: 0xe0000a4a, 0x186cb: 0xe0000a47,\n\t0x186cc: 0xe0000a44, 0x186cd: 0xe0000a41, 0x186ce: 0xe0000a86, 0x186cf: 0xe0000a83,\n\t0x186d0: 0xe0000aaa, 0x186d1: 0xe0000aa7, 0x186d2: 0x002c9803, 0x186d3: 0x402c981c,\n\t0x186d4: 0xe0000aee, 0x186d5: 0xe0000aeb, 0x186d6: 0xe0000b2c, 0x186d7: 0xe0000b29,\n\t0x186d8: 0xe0000b40, 0x186d9: 0xe0000b3d, 0x186da: 0x002c9843, 0x186db: 0x402c981e,\n\t0x186dc: 0xe0000bb8, 0x186dd: 0xe0000bb5, 0x186de: 0xe0000bb2, 0x186df: 0xe0000baf,\n\t0x186e0: 0xe0000bc4, 0x186e1: 0xe0000bc1, 0x186e2: 0xe0000bca, 0x186e3: 0xe0000bc7,\n\t0x186e4: 0xe0000bee, 0x186e5: 0xe0000beb, 0x186e6: 0xe0000c1b, 0x186e7: 0xe0000c18,\n\t0x186e8: 0xe0000c51, 0x186e9: 0xe0000c4e, 0x186ea: 0x002d9a03, 0x186eb: 0x402d9a1c,\n\t0x186ec: 0xe0000c31, 0x186ed: 0xe0000c2e, 0x186ee: 0xe0000c5a, 0x186ef: 0xe0000c57,\n\t0x186f0: 0xe0000c54, 0x186f1: 0x402da220, 0x186f2: 0xf0000a0a, 0x186f3: 0xf0000404,\n\t0x186f4: 0xe0000c8a, 0x186f5: 0xe0000c87, 0x186f6: 0xe0000c9f, 0x186f7: 0xe0000c9c,\n\t0x186f8: 0x402f7220, 0x186f9: 0xe0000ccc, 0x186fa: 0xe0000cc9, 0x186fb: 0xe0000cd8,\n\t0x186fc: 0xe0000cd5, 0x186fd: 0xe0000cd2, 0x186fe: 0xe0000ccf, 0x186ff: 0xe0000d04,\n\t// Block 0x61c, offset 0x18700\n\t0x18700: 0xe0000cfe, 0x18701: 0xe0000cf8, 0x18702: 0xe0000cf5, 0x18703: 0x002e9e23,\n\t0x18704: 0x402e9e1d, 0x18705: 0xe0000d6f, 0x18706: 0xe0000d6c, 0x18707: 0x002e9e43,\n\t0x18708: 0x402e9e1e, 0x18709: 0xf0000404, 0x1870a: 0x002eda88, 0x1870b: 0x402eda20,\n\t0x1870c: 0x002ee203, 0x1870d: 0x402ee21c, 0x1870e: 0xe0000da0, 0x1870f: 0xe0000d9d,\n\t0x18710: 0xe0000de0, 0x18711: 0xe0000ddd, 0x18712: 0xe0000e93, 0x18713: 0xe0000e8f,\n\t0x18714: 0xe0000eca, 0x18715: 0xe0000ec7, 0x18716: 0xe0000edc, 0x18717: 0xe0000ed9,\n\t0x18718: 0xe0000ed0, 0x18719: 0xe0000ecd, 0x1871a: 0xe0000f1f, 0x1871b: 0xe0000f1c,\n\t0x1871c: 0xe0000f2d, 0x1871d: 0xe0000f2a, 0x1871e: 0xe0000f47, 0x1871f: 0xe0000f44,\n\t0x18720: 0xe0000f33, 0x18721: 0xe0000f30, 0x18722: 0xe0000f99, 0x18723: 0xe0000f96,\n\t0x18724: 0xe0000f8a, 0x18725: 0xe0000f87, 0x18726: 0x00303688, 0x18727: 0x40303620,\n\t0x18728: 0xe000102b, 0x18729: 0xe0001028, 0x1872a: 0x00306c03, 0x1872b: 0x40306c1c,\n\t0x1872c: 0xe0000fe7, 0x1872d: 0xe0000fe4, 0x1872e: 0xe0000ff9, 0x1872f: 0xe0000ff6,\n\t0x18730: 0xe0001025, 0x18731: 0xe0001022, 0x18732: 0xe0001039, 0x18733: 0xe0001036,\n\t0x18734: 0xe00010d8, 0x18735: 0xe00010d5, 0x18736: 0xe000110e, 0x18737: 0xe000110b,\n\t0x18738: 0xe0001117, 0x18739: 0xe000113b, 0x1873a: 0xe0001138, 0x1873b: 0xe000114d,\n\t0x1873c: 0xe000114a, 0x1873d: 0xe0001147, 0x1873e: 0xe0001144, 0x1873f: 0xe0000f64,\n\t// Block 0x61d, offset 0x18740\n\t0x18740: 0x40321220, 0x18741: 0x40321a20, 0x18742: 0x40322220, 0x18743: 0x40322a20,\n\t0x18744: 0xe0000ad5, 0x18745: 0xe0000ad1, 0x18746: 0xe0000acd, 0x18747: 0xf0000a0a,\n\t0x18748: 0xf000040a, 0x18749: 0xf0000404, 0x1874a: 0xf0000a0a, 0x1874b: 0xf000040a,\n\t0x1874c: 0xf0000404, 0x1874d: 0x002bde43, 0x1874e: 0x402bde1e, 0x1874f: 0x002d9a43,\n\t0x18750: 0x402d9a1e, 0x18751: 0x002ee243, 0x18752: 0x402ee21e, 0x18753: 0x00306c43,\n\t0x18754: 0x40306c1e, 0x18755: 0x00306ca3, 0x18756: 0x40306c21, 0x18757: 0x00306cc3,\n\t0x18758: 0x40306c22, 0x18759: 0x00306ce3, 0x1875a: 0x40306c23, 0x1875b: 0x00306d03,\n\t0x1875c: 0x40306c24, 0x1875d: 0x402cae20, 0x1875e: 0xe000b51f, 0x1875f: 0xe000b51c,\n\t0x18760: 0xe000b525, 0x18761: 0xe000b522, 0x18762: 0xe00009f4, 0x18763: 0xe00009ef,\n\t0x18764: 0x002d3a88, 0x18765: 0x402d3a20, 0x18766: 0xe0000bbe, 0x18767: 0xe0000bbb,\n\t0x18768: 0xe0000c99, 0x18769: 0xe0000c96, 0x1876a: 0xe0000e20, 0x1876b: 0xe0000e1d,\n\t0x1876c: 0xe000b579, 0x1876d: 0xe000b576, 0x1876e: 0xe0001162, 0x1876f: 0xe000115f,\n\t0x18770: 0xe0000c8d, 0x18771: 0xf0000a0a, 0x18772: 0xf000040a, 0x18773: 0xf0000404,\n\t0x18774: 0xe0000bac, 0x18775: 0xe0000ba9, 0x18776: 0x002d7888, 0x18777: 0x00319488,\n\t0x18778: 0x002e9e63, 0x18779: 0x402e9e1f, 0x1877a: 0xe000b537, 0x1877b: 0xe000b534,\n\t0x1877c: 0xe00009ea, 0x1877d: 0xe00009e5, 0x1877e: 0xe0000e19, 0x1877f: 0xe0000e15,\n\t// Block 0x61e, offset 0x18780\n\t0x18780: 0xe000098f, 0x18781: 0xe000098c, 0x18782: 0xe0000995, 0x18783: 0xe0000992,\n\t0x18784: 0xe0000b62, 0x18785: 0xe0000b5f, 0x18786: 0xe0000b68, 0x18787: 0xe0000b65,\n\t0x18788: 0xe0000c6c, 0x18789: 0xe0000c69, 0x1878a: 0xe0000c72, 0x1878b: 0xe0000c6f,\n\t0x1878c: 0xe0000e4a, 0x1878d: 0xe0000e47, 0x1878e: 0xe0000e50, 0x1878f: 0xe0000e4d,\n\t0x18790: 0xe0000ee8, 0x18791: 0xe0000ee5, 0x18792: 0xe0000eee, 0x18793: 0xe0000eeb,\n\t0x18794: 0xe0001053, 0x18795: 0xe0001050, 0x18796: 0xe0001059, 0x18797: 0xe0001056,\n\t0x18798: 0xe0000f61, 0x18799: 0xe0000f5e, 0x1879a: 0xe0000fa5, 0x1879b: 0xe0000fa2,\n\t0x1879c: 0x00312288, 0x1879d: 0x40312220, 0x1879e: 0xe0000bf4, 0x1879f: 0xe0000bf1,\n\t0x187a0: 0x002ebc88, 0x187a1: 0x402c8c20, 0x187a2: 0x002f2288, 0x187a3: 0x402f2220,\n\t0x187a4: 0x00314088, 0x187a5: 0x40314020, 0x187a6: 0xe000096f, 0x187a7: 0xe000096c,\n\t0x187a8: 0xe0000b32, 0x187a9: 0xe0000b2f, 0x187aa: 0xe000b567, 0x187ab: 0xe000b564,\n\t0x187ac: 0xe000b56d, 0x187ad: 0xe000b56a, 0x187ae: 0xe0000e04, 0x187af: 0xe0000e01,\n\t0x187b0: 0xe000b573, 0x187b1: 0xe000b570, 0x187b2: 0xe0001129, 0x187b3: 0xe0001126,\n\t0x187b4: 0x402e5e20, 0x187b5: 0x402ed020, 0x187b6: 0x40305a20, 0x187b7: 0x402dd420,\n\t0x187b8: 0xe0000abf, 0x187b9: 0xe0000ec4, 0x187ba: 0x002be888, 0x187bb: 0x002c4488,\n\t0x187bc: 0x402c4420, 0x187bd: 0x002e3888, 0x187be: 0x00303e88, 0x187bf: 0x402ffc20,\n\t// Block 0x61f, offset 0x187c0\n\t0x187c0: 0xe00009b1, 0x187c1: 0xe00009ae, 0x187c2: 0xe0000a22, 0x187c3: 0xe0000a1f,\n\t0x187c4: 0xe0000a28, 0x187c5: 0xe0000a25, 0x187c6: 0xe0000a2e, 0x187c7: 0xe0000a2b,\n\t0x187c8: 0xe0000a5a, 0x187c9: 0xe0000a56, 0x187ca: 0xe0000a8c, 0x187cb: 0xe0000a89,\n\t0x187cc: 0xe0000a98, 0x187cd: 0xe0000a95, 0x187ce: 0xe0000aa4, 0x187cf: 0xe0000aa1,\n\t0x187d0: 0xe0000a92, 0x187d1: 0xe0000a8f, 0x187d2: 0xe0000a9e, 0x187d3: 0xe0000a9b,\n\t0x187d4: 0xe000b54f, 0x187d5: 0xe000b54c, 0x187d6: 0xe000b549, 0x187d7: 0xe000b546,\n\t0x187d8: 0xe0000b7c, 0x187d9: 0xe0000b79, 0x187da: 0xe0000b82, 0x187db: 0xe0000b7f,\n\t0x187dc: 0xe0000b39, 0x187dd: 0xe0000b35, 0x187de: 0xe0000b8c, 0x187df: 0xe0000b89,\n\t0x187e0: 0xe0000bd0, 0x187e1: 0xe0000bcd, 0x187e2: 0xe0000c00, 0x187e3: 0xe0000bfd,\n\t0x187e4: 0xe0000c0c, 0x187e5: 0xe0000c09, 0x187e6: 0xe0000bfa, 0x187e7: 0xe0000bf7,\n\t0x187e8: 0xe0000c06, 0x187e9: 0xe0000c03, 0x187ea: 0xe0000c12, 0x187eb: 0xe0000c0f,\n\t0x187ec: 0xe0000c7e, 0x187ed: 0xe0000c7b, 0x187ee: 0xe000b555, 0x187ef: 0xe000b552,\n\t0x187f0: 0xe0000c93, 0x187f1: 0xe0000c90, 0x187f2: 0xe0000cab, 0x187f3: 0xe0000ca8,\n\t0x187f4: 0xe0000cb1, 0x187f5: 0xe0000cae, 0x187f6: 0xe0000cde, 0x187f7: 0xe0000cdb,\n\t0x187f8: 0xe0000ce5, 0x187f9: 0xe0000ce1, 0x187fa: 0xe0000cf2, 0x187fb: 0xe0000cef,\n\t0x187fc: 0xe0000cec, 0x187fd: 0xe0000ce9, 0x187fe: 0x002e8223, 0x187ff: 0x402e821d,\n\t// Block 0x620, offset 0x18800\n\t0x18800: 0xe0000d24, 0x18801: 0xe0000d21, 0x18802: 0xe0000d2a, 0x18803: 0xe0000d27,\n\t0x18804: 0xe0000d69, 0x18805: 0xe0000d66, 0x18806: 0xe0000d7b, 0x18807: 0xe0000d78,\n\t0x18808: 0xe0000d87, 0x18809: 0xe0000d84, 0x1880a: 0xe0000d81, 0x1880b: 0xe0000d7e,\n\t0x1880c: 0xe000b585, 0x1880d: 0xe000b582, 0x1880e: 0xe0000df5, 0x1880f: 0xe0000df1,\n\t0x18810: 0xe000b561, 0x18811: 0xe000b55e, 0x18812: 0xe000b55b, 0x18813: 0xe000b558,\n\t0x18814: 0xe0000ea7, 0x18815: 0xe0000ea4, 0x18816: 0xe0000ead, 0x18817: 0xe0000eaa,\n\t0x18818: 0xe0000ed6, 0x18819: 0xe0000ed3, 0x1881a: 0xe0000ef4, 0x1881b: 0xe0000ef1,\n\t0x1881c: 0xe0000efb, 0x1881d: 0xe0000ef7, 0x1881e: 0xe0000f02, 0x1881f: 0xe0000eff,\n\t0x18820: 0xe0000f41, 0x18821: 0xe0000f3e, 0x18822: 0xe0000f53, 0x18823: 0xe0000f50,\n\t0x18824: 0xe0000f26, 0x18825: 0xe0000f22, 0x18826: 0xe0000f3a, 0x18827: 0xe0000f36,\n\t0x18828: 0xe0000f5a, 0x18829: 0xe0000f56, 0x1882a: 0xe0000f93, 0x1882b: 0xe0000f90,\n\t0x1882c: 0xe0000f9f, 0x1882d: 0xe0000f9c, 0x1882e: 0xe0000fb1, 0x1882f: 0xe0000fae,\n\t0x18830: 0xe0000fab, 0x18831: 0xe0000fa8, 0x18832: 0xe0001093, 0x18833: 0xe0001090,\n\t0x18834: 0xe000109f, 0x18835: 0xe000109c, 0x18836: 0xe0001099, 0x18837: 0xe0001096,\n\t0x18838: 0xe000b5a3, 0x18839: 0xe000b5a0, 0x1883a: 0xe000b59d, 0x1883b: 0xe000b59a,\n\t0x1883c: 0xe00010a9, 0x1883d: 0xe00010a6, 0x1883e: 0xe00010af, 0x1883f: 0xe00010ac,\n\t// Block 0x621, offset 0x18840\n\t0x18840: 0xe00010d2, 0x18841: 0xe00010cf, 0x18842: 0xe00010cc, 0x18843: 0xe00010c9,\n\t0x18844: 0xe00010e1, 0x18845: 0xe00010de, 0x18846: 0xe00010e7, 0x18847: 0xe00010e4,\n\t0x18848: 0xe00010ed, 0x18849: 0xe00010ea, 0x1884a: 0xe00010fc, 0x1884b: 0xe00010f9,\n\t0x1884c: 0xe00010f6, 0x1884d: 0xe00010f3, 0x1884e: 0xe0001123, 0x1884f: 0xe0001120,\n\t0x18850: 0xe0001141, 0x18851: 0xe000113e, 0x18852: 0xe0001153, 0x18853: 0xe0001150,\n\t0x18854: 0xe0001159, 0x18855: 0xe0001156, 0x18856: 0xe0000c15, 0x18857: 0xe0000f8d,\n\t0x18858: 0xe00010db, 0x18859: 0xe0001111, 0x1885a: 0xf0000404, 0x1885b: 0xe0000f70,\n\t0x1885c: 0x40300420, 0x1885d: 0x40300620, 0x1885e: 0xe0000f7f, 0x1885f: 0x402c9620,\n\t0x18860: 0xe000099b, 0x18861: 0xe0000998, 0x18862: 0xe0000989, 0x18863: 0xe0000986,\n\t0x18864: 0xe000b531, 0x18865: 0xe000b52e, 0x18866: 0xe000b543, 0x18867: 0xe000b540,\n\t0x18868: 0xe0000940, 0x18869: 0xe000093c, 0x1886a: 0xe0000938, 0x1886b: 0xe0000934,\n\t0x1886c: 0xe00009aa, 0x1886d: 0xe00009a6, 0x1886e: 0xe000b52b, 0x1886f: 0xe000b528,\n\t0x18870: 0xe000b53d, 0x18871: 0xe000b53a, 0x18872: 0xe000091a, 0x18873: 0xe0000916,\n\t0x18874: 0xe0000912, 0x18875: 0xe000090e, 0x18876: 0xe00009a2, 0x18877: 0xe000099e,\n\t0x18878: 0xe0000b6e, 0x18879: 0xe0000b6b, 0x1887a: 0xe0000b5c, 0x1887b: 0xe0000b59,\n\t0x1887c: 0xe0000b26, 0x1887d: 0xe0000b23, 0x1887e: 0x002c98c3, 0x1887f: 0x402c9822,\n\t// Block 0x622, offset 0x18880\n\t0x18880: 0x002c9903, 0x18881: 0x402c9824, 0x18882: 0xe0000b13, 0x18883: 0xe0000b0f,\n\t0x18884: 0xe0000b0b, 0x18885: 0xe0000b07, 0x18886: 0xe0000b75, 0x18887: 0xe0000b71,\n\t0x18888: 0xe0000c66, 0x18889: 0xe0000c63, 0x1888a: 0xe0000c78, 0x1888b: 0xe0000c75,\n\t0x1888c: 0xe0000e84, 0x1888d: 0xe0000e81, 0x1888e: 0xe0000e44, 0x1888f: 0xe0000e41,\n\t0x18890: 0xe000b57f, 0x18891: 0xe000b57c, 0x18892: 0xe000b591, 0x18893: 0xe000b58e,\n\t0x18894: 0xe0000dc5, 0x18895: 0xe0000dc1, 0x18896: 0xe0000dbd, 0x18897: 0xe0000db9,\n\t0x18898: 0xe0000e8b, 0x18899: 0xe0000e87, 0x1889a: 0xe000b58b, 0x1889b: 0xe000b588,\n\t0x1889c: 0xe000b597, 0x1889d: 0xe000b594, 0x1889e: 0xe0000e75, 0x1889f: 0xe0000e71,\n\t0x188a0: 0xe0000e6d, 0x188a1: 0xe0000e69, 0x188a2: 0xe0000e7d, 0x188a3: 0xe0000e79,\n\t0x188a4: 0xe000108d, 0x188a5: 0xe000108a, 0x188a6: 0xe000104d, 0x188a7: 0xe000104a,\n\t0x188a8: 0xe000b5a9, 0x188a9: 0xe000b5a6, 0x188aa: 0xe000b5af, 0x188ab: 0xe000b5ac,\n\t0x188ac: 0xe000107e, 0x188ad: 0xe000107a, 0x188ae: 0xe0001076, 0x188af: 0xe0001072,\n\t0x188b0: 0xe0001086, 0x188b1: 0xe0001082, 0x188b2: 0xe0001108, 0x188b3: 0xe0001105,\n\t0x188b4: 0xe0001135, 0x188b5: 0xe0001132, 0x188b6: 0xe000112f, 0x188b7: 0xe000112c,\n\t0x188b8: 0xe000111d, 0x188b9: 0xe000111a, 0x188ba: 0xe0000d0a, 0x188bb: 0xe0000d07,\n\t0x188bc: 0x0030d888, 0x188bd: 0x4030d820, 0x188be: 0x00312088, 0x188bf: 0x40312020,\n\t// Block 0x623, offset 0x188c0\n\t0x188c0: 0x6d200220, 0x188c1: 0x6c16fe20, 0x188c2: 0x6d0bdc20, 0x188c3: 0x6d1b3420,\n\t0x188c4: 0x6d0bd620, 0x188c5: 0x6cc58020, 0x188c6: 0x6c6ece20, 0x188c7: 0xe000240a,\n\t0x188c8: 0x6c29ae20, 0x188c9: 0x6c29ca20, 0x188ca: 0x6c100220, 0x188cb: 0x6c6b9220,\n\t0x188cc: 0x6cff9e20, 0x188cd: 0x6cffa020, 0x188ce: 0x6cf39620, 0x188cf: 0x6cedd020,\n\t0x188d0: 0x6cedd220, 0x188d1: 0x6cf39820, 0x188d2: 0x6cd8fa20, 0x188d3: 0x6d10c420,\n\t0x188d4: 0x6c630820, 0x188d5: 0x6c616620, 0x188d6: 0x6d036620, 0x188d7: 0x6d036820,\n\t0x188d8: 0x6cd49220, 0x188d9: 0x6cdbee20, 0x188db: 0x6cc64c20,\n\t0x188dc: 0x6cc63420, 0x188dd: 0x6d266620, 0x188de: 0x6c271e20, 0x188df: 0x2ca22083,\n\t0x188e0: 0x6c9f8820, 0x188e1: 0x6cd74220, 0x188e2: 0x6cd74420, 0x188e3: 0x6c0c6c20,\n\t0x188e4: 0x6d2ff820, 0x188e5: 0x6d2ff220, 0x188e6: 0x6cbb3620, 0x188e7: 0x6ca96420,\n\t0x188e8: 0x6cc38820, 0x188e9: 0xe000243f, 0x188ea: 0xe0002442, 0x188eb: 0x6ca2c020,\n\t0x188ec: 0x6cd2f220, 0x188ed: 0x6cd40820, 0x188ee: 0x6cd30220, 0x188ef: 0x6cd86820,\n\t0x188f0: 0x6cd86a20, 0x188f1: 0x6c429620, 0x188f2: 0x6cee4220, 0x188f3: 0xe0002451,\n\t0x188f4: 0x6cee4020, 0x188f5: 0xe000244e, 0x188f6: 0x6cc5ba20, 0x188f7: 0x6cc60a20,\n\t0x188f8: 0x02ff1684, 0x188f9: 0x03000484, 0x188fa: 0x6d24ba20, 0x188fb: 0x6d24bc20,\n\t0x188fc: 0x6cc78020, 0x188fd: 0x6c719e20, 0x188fe: 0x6c12be20, 0x188ff: 0x6c12c220,\n\t// Block 0x624, offset 0x18900\n\t0x18900: 0x6c12c420, 0x18901: 0x6c562e20, 0x18902: 0x6d199a20, 0x18903: 0x6cf76620,\n\t0x18904: 0x6cf94e20, 0x18905: 0x6c673620, 0x18906: 0x0313a484, 0x18907: 0xe000246c,\n\t0x18908: 0x6d0d2e20, 0x18909: 0x6c077420, 0x1890a: 0xe000246f, 0x1890b: 0x6c17e220,\n\t0x1890c: 0x6c21a220, 0x1890d: 0x6c21a620, 0x1890e: 0x6c21f020, 0x1890f: 0x6c3f9a20,\n\t0x18910: 0x6c6c7c20, 0x18911: 0x6c16dc20, 0x18912: 0x6c16de20, 0x18913: 0x6d2f1620,\n\t0x18914: 0x6c9ae820, 0x18915: 0xe000247b, 0x18916: 0x6c3f9c20, 0x18917: 0x6d222020,\n\t0x18918: 0x6cbe6a20, 0x18919: 0x6cef7e20, 0x1891a: 0x6d13ae20, 0x1891b: 0x6c3c9820,\n\t0x1891c: 0x6c3a3020, 0x1891d: 0x6cd29c20, 0x1891e: 0xe0002481, 0x1891f: 0x6cd29e20,\n\t0x18920: 0x6cd2a020, 0x18921: 0xe0002484, 0x18922: 0x6c96ae20, 0x18923: 0x6c476c20,\n\t0x18924: 0x6c4b2420, 0x18925: 0x6d220e20, 0x18926: 0x6ca7ce20, 0x18927: 0x6c920a20,\n\t0x18928: 0x6c975620, 0x18929: 0x6c5a4020, 0x1892a: 0x6c9e4820, 0x1892b: 0x6cb6bc20,\n\t0x1892c: 0x6cb6be20, 0x1892d: 0x6c1bd020, 0x1892e: 0x6c1bd220, 0x1892f: 0x6c902820,\n\t0x18930: 0x6c902a20, 0x18931: 0x6c4ab620, 0x18932: 0x6c4ab420, 0x18933: 0x2c4a3883,\n\t// Block 0x625, offset 0x18940\n\t0x18940: 0x2d13b686, 0x18941: 0x2c4bb683, 0x18942: 0x2d3a5283, 0x18943: 0x2cb1dc83,\n\t0x18944: 0x2d15aa84, 0x18945: 0x2c73be83, 0x18946: 0x2c37b486, 0x18947: 0x2ce7e283,\n\t0x18948: 0x2cc55a84, 0x18949: 0x2c372e83, 0x1894a: 0x2cc80e83, 0x1894b: 0x2c030a84,\n\t0x1894c: 0x2c6ed083, 0x1894d: 0x2c9d1683, 0x1894e: 0x2c0d9e83, 0x1894f: 0x2c610c83,\n\t0x18950: 0x2cb9ec83, 0x18951: 0x2c29b083, 0x18952: 0x2c855c83, 0x18953: 0x2c059c83,\n\t0x18954: 0x2c08aa83, 0x18955: 0x2c397e83, 0x18956: 0x2cf83483, 0x18957: 0x2cd22485,\n\t0x18958: 0x2c100483, 0x18959: 0x2c6a4e83, 0x1895a: 0x2c16e083, 0x1895b: 0x2cd7b483,\n\t0x1895c: 0x2d200483, 0x1895d: 0x2c79c883, 0x1895e: 0x2ceed683, 0x1895f: 0x2ce91084,\n\t0x18960: 0x2cd2e283, 0x18961: 0x2d34ca83, 0x18962: 0x2cdba683, 0x18963: 0x2cf55a83,\n\t0x18964: 0x2c26e483, 0x18965: 0x2caa6e84, 0x18966: 0x2d3f6883, 0x18967: 0x2c9db683,\n\t0x18968: 0x2c25b083, 0x18969: 0x2cffa283, 0x1896a: 0x2d1edc83, 0x1896b: 0x2cd18a83,\n\t0x1896c: 0x2c17fa83, 0x1896d: 0x2cccb083, 0x1896e: 0x2c1fd683, 0x1896f: 0x2c454a83,\n\t0x18970: 0x2c610e83, 0x18971: 0x2c6c1a83, 0x18972: 0x2c420a83, 0x18973: 0x2d107e83,\n\t0x18974: 0x2c4a0283, 0x18975: 0x2d1ac083, 0x18976: 0x2c45cc83, 0x18977: 0x2d163c83,\n\t0x18978: 0x2c454c83, 0x18979: 0x2c616883, 0x1897a: 0x2cccb283, 0x1897b: 0x2c1bd483,\n\t0x1897c: 0x2d02a283, 0x1897d: 0x2c436083, 0x1897e: 0x2c563883, 0x1897f: 0x2cd43684,\n\t// Block 0x626, offset 0x18980\n\t0x18980: 0x2d337e83, 0x18981: 0x2cb3fc83, 0x18982: 0x2cf17a84, 0x18983: 0x2c30f883,\n\t0x18984: 0x2c6c1e83, 0x18985: 0x2c398083, 0x18986: 0x2cf39a83, 0x18987: 0x2cc63684,\n\t0x18988: 0x2d264283, 0x18989: 0x2d266885, 0x1898a: 0x2ca25c84, 0x1898b: 0x2cba3883,\n\t0x1898c: 0x2d34cc83, 0x1898d: 0x2c271283, 0x1898e: 0x2cd49883, 0x1898f: 0x2cf39c83,\n\t0x18990: 0x2c08ac83, 0x18991: 0x2c98c083, 0x18992: 0x2cd2e483, 0x18993: 0x2cb72683,\n\t0x18994: 0x2cd70284, 0x18995: 0x2c5d8484, 0x18996: 0x2d2f8083, 0x18997: 0x2c3fa083,\n\t0x18998: 0x2d10c683, 0x18999: 0x2cac5083, 0x1899a: 0x2cb14483, 0x1899b: 0x2d0b0883,\n\t0x1899c: 0x2ca96683, 0x1899d: 0x2cc34c83, 0x1899e: 0x2d07fa83, 0x1899f: 0x2d22b883,\n\t0x189a0: 0x2c483e83, 0x189a1: 0x2cec0c83, 0x189a2: 0x2c415c83, 0x189a3: 0x2cd0d284,\n\t0x189a4: 0x2d1e6c83, 0x189a5: 0x2ce47e83, 0x189a6: 0x2cb04483, 0x189a7: 0x2ca54083,\n\t0x189a8: 0x2c0e4683, 0x189a9: 0x2c040883, 0x189aa: 0x2cafa883, 0x189ab: 0x2c9f8a83,\n\t0x189ac: 0x2ca26483, 0x189ad: 0x2c98c283, 0x189ae: 0x2cd2a883, 0x189af: 0x2cd22c83,\n\t0x189b0: 0x2cd2f483, 0x189b1: 0x2cc74083, 0x189b2: 0x2c50b283, 0x189b3: 0x2d08f283,\n\t0x189b4: 0x2c856c83, 0x189b5: 0x2d39f083, 0x189b6: 0x2c9cd683, 0x189b7: 0x2c9d1a83,\n\t0x189b8: 0x2c3d1a83, 0x189b9: 0x2cedf483, 0x189ba: 0x2d0f7683, 0x189bb: 0x2d221c83,\n\t0x189bc: 0x2c819a83, 0x189bd: 0x2c373083, 0x189be: 0x2c82b283, 0x189bf: 0x2c378483,\n\t// Block 0x627, offset 0x189c0\n\t0x189c0: 0x2d22c683, 0x189c1: 0x2cc78283, 0x189c2: 0x2c189483, 0x189c3: 0x2d3f2a83,\n\t0x189c4: 0x2d357083, 0x189c5: 0x2c6fd083, 0x189c6: 0x2ccf0683, 0x189c7: 0x2c201683,\n\t0x189c8: 0x2d385283, 0x189c9: 0x2c449e83, 0x189ca: 0x2ccb1483, 0x189cb: 0x2c12aa83,\n\t0x189cc: 0x2c549483, 0x189cd: 0x2c1d0883, 0x189ce: 0x2d093883, 0x189cf: 0x2d03ba83,\n\t0x189d0: 0x2d13be83, 0x189d1: 0x2d0b7083, 0x189d2: 0x2c665283, 0x189d3: 0x2c68c683,\n\t0x189d4: 0x2d0c5c83, 0x189d5: 0x2c475c83, 0x189d6: 0x2c30fa83, 0x189d7: 0x2cd2b083,\n\t0x189d8: 0x2d357c83, 0x189d9: 0x2c06dc83, 0x189da: 0x2c1be883, 0x189db: 0x2d407e84,\n\t0x189dc: 0x2d40a683, 0x189dd: 0x2ccfa483, 0x189de: 0x2c17ce83, 0x189df: 0x2d02ae83,\n\t0x189e0: 0x2c18a083, 0x189e1: 0x2c21a883, 0x189e2: 0x2d169e83, 0x189e3: 0x2d1fa483,\n\t0x189e4: 0x2c0b7883, 0x189e5: 0x2c84fc83, 0x189e6: 0x2c6c2e84, 0x189e7: 0x2d2f0083,\n\t0x189e8: 0x2c9ac683, 0x189e9: 0x2c3fba83, 0x189ea: 0x2c859883, 0x189eb: 0x2d3c5683,\n\t0x189ec: 0x2d222283, 0x189ed: 0x2cbe3083, 0x189ee: 0x2c39f283, 0x189ef: 0x2c9e5683,\n\t0x189f0: 0x2c43d083, 0x189f1: 0x2ceeee83, 0x189f2: 0x2c6fb483, 0x189f3: 0x2d19ba83,\n\t0x189f4: 0x2d12dc83, 0x189f5: 0x2c3c2c83, 0x189f6: 0x2c39f483, 0x189f7: 0x2cd25883,\n\t0x189f8: 0x2cd44283, 0x189f9: 0x2cfd6683, 0x189fa: 0x2c969883, 0x189fb: 0x2c476e83,\n\t0x189fc: 0x2c42bc83, 0x189fd: 0x2c0bf483, 0x189fe: 0x2c310e83, 0x189ff: 0x2c170e83,\n\t// Block 0x628, offset 0x18a00\n\t0x18a00: 0x2c43e083, 0x18a01: 0x2c4ae283, 0x18a02: 0x2d211283, 0x18a03: 0x2ca79a83,\n\t0x18a04: 0x2c91bc83, 0x18a05: 0x2c924c83, 0x18a06: 0x2c973283, 0x18a07: 0x2c966883,\n\t0x18a08: 0x2c59ce83, 0x18a09: 0x2cd56083, 0x18a0a: 0x2c521c83, 0x18a0b: 0x2d353483,\n\t0x18a0c: 0x2c9e3283, 0x18a0d: 0x2c2f7483, 0x18a0e: 0x2c47a683, 0x18a0f: 0x2cd56683,\n\t0x18a10: 0x2c08a283, 0x18a11: 0x2cb63483, 0x18a12: 0x2c1bc283, 0x18a13: 0x2c8fb083,\n\t0x18a14: 0x2c4a9683, 0x18a15: 0x2d26f683,\n\t0x18a30: 0x40273a20, 0x18a31: 0x40273c20, 0x18a32: 0x40273e20, 0x18a33: 0x40274020,\n\t0x18a34: 0x40274220, 0x18a35: 0x40274420, 0x18a36: 0x40274620, 0x18a37: 0x40274820,\n\t0x18a38: 0x40274a20, 0x18a39: 0x40274c20, 0x18a3a: 0x40274e20, 0x18a3b: 0x40275020,\n\t// Block 0x629, offset 0x18a40\n\t0x18a40: 0x00021283, 0x18a41: 0x40025c20, 0x18a42: 0x40030420, 0x18a43: 0x40051220,\n\t0x18a44: 0x40279a20, 0x18a45: 0x4027ca20, 0x18a46: 0xe0002206, 0x18a47: 0x6c8c9620,\n\t0x18a48: 0x40049c20, 0x18a49: 0x40049e20, 0x18a4a: 0x4004a020, 0x18a4b: 0x4004a220,\n\t0x18a4c: 0x4004a420, 0x18a4d: 0x4004a620, 0x18a4e: 0x4004a820, 0x18a4f: 0x4004aa20,\n\t0x18a50: 0x4004ac20, 0x18a51: 0x4004ae20, 0x18a52: 0x40279c20, 0x18a53: 0x40279e20,\n\t0x18a54: 0x4004b020, 0x18a55: 0x4004b220, 0x18a56: 0x4004b420, 0x18a57: 0x4004b620,\n\t0x18a58: 0x4004b820, 0x18a59: 0x4004ba20, 0x18a5a: 0x4004bc20, 0x18a5b: 0x4004be20,\n\t0x18a5c: 0x40023820, 0x18a5d: 0x4003ea20, 0x18a5e: 0x4003ec20, 0x18a5f: 0x4003ee20,\n\t0x18a60: 0x4027a020, 0x18a61: 0xe0000267, 0x18a62: 0xe000037f, 0x18a63: 0xe0000459,\n\t0x18a64: 0xe000052e, 0x18a65: 0xe00005f8, 0x18a66: 0xe00006c3, 0x18a67: 0xe000076b,\n\t0x18a68: 0xe0000817, 0x18a69: 0xe00008bc, 0x18a6a: 0xada12202, 0x18a6b: 0xae412302,\n\t0x18a6c: 0xae812402, 0x18a6d: 0xade12502, 0x18a6e: 0xae012602, 0x18a6f: 0xae012702,\n\t0x18a70: 0x40023a20, 0x18a71: 0x4027ce20, 0x18a72: 0xe0000152, 0x18a73: 0x4027d020,\n\t0x18a74: 0xe0000155, 0x18a75: 0x4027d220, 0x18a76: 0x00279c84, 0x18a77: 0x4027a220,\n\t0x18a78: 0x2cd22484, 0x18a79: 0x2ca75483, 0x18a7a: 0x2cc96283, 0x18a7b: 0x4027cc20,\n\t0x18a7c: 0xe000231a, 0x18a7d: 0x40051420, 0x18a7e: 0x4027a420, 0x18a7f: 0x4027a620,\n\t// Block 0x62a, offset 0x18a80\n\t0x18a80: 0x00633a84, 0x18a81: 0x00634484, 0x18a82: 0x0064f684, 0x18a83: 0x0064f884,\n\t0x18a84: 0x00635a84, 0x18a85: 0x00635c84, 0x18a86: 0x00635e84, 0x18a87: 0x0063ee84,\n\t0x18a88: 0x0063f084, 0x18a89: 0x0063f684, 0x18a8a: 0x00640884, 0x18a8b: 0x00640a84,\n\t0x18a8c: 0x00640e84, 0x18a8d: 0x00642284, 0x18a8e: 0x00642884,\n\t0x18a90: 0x4027a820, 0x18a91: 0x4027aa20, 0x18a92: 0x2d13b685, 0x18a93: 0x2c37b485,\n\t0x18a94: 0x2cc9f285, 0x18a95: 0x2cd87484, 0x18a96: 0x2cce4884, 0x18a97: 0x2d378285,\n\t0x18a98: 0x2cfa2684, 0x18a99: 0x2c63fc83, 0x18a9a: 0x2d15aa83, 0x18a9b: 0x2c0dba83,\n\t0x18a9c: 0x2c2f4083, 0x18a9d: 0x2ce45484, 0x18a9e: 0x2c2a8a83, 0x18a9f: 0x2cc55a83,\n\t0x18aa0: 0xe000237a, 0x18aa1: 0xe0002383, 0x18aa2: 0xe0002380, 0x18aa3: 0xe000237d,\n\t0x18aa4: 0x40661c20, 0x18aa5: 0xe000238c, 0x18aa6: 0x40661620, 0x18aa7: 0xe0002389,\n\t0x18aa8: 0xe000239e, 0x18aa9: 0xe0002386, 0x18aaa: 0xe0002395, 0x18aab: 0xe000239b,\n\t0x18aac: 0x40663420, 0x18aad: 0x4065f220, 0x18aae: 0xe000238f, 0x18aaf: 0xe0002392,\n\t0x18ab0: 0x40663020, 0x18ab1: 0x40663220, 0x18ab2: 0x40662c20, 0x18ab3: 0xe0002398,\n\t0x18ab4: 0x0065dc99, 0x18ab5: 0x0065e699, 0x18ab6: 0x0065ee99, 0x18ab7: 0x0065f499,\n\t0x18ab8: 0x40660c20, 0x18ab9: 0x40660e20, 0x18aba: 0x40661020,\n\t// Block 0x62b, offset 0x18ac0\n\t0x18ac0: 0xf0000404, 0x18ac1: 0xf0000404, 0x18ac2: 0xf0000404, 0x18ac3: 0xf0000404,\n\t0x18ac4: 0xf0000404, 0x18ac5: 0xf0000404, 0x18ac6: 0xf0000404, 0x18ac7: 0xf0000404,\n\t0x18ac8: 0xf0000404, 0x18ac9: 0xf0000404, 0x18aca: 0xf0000404, 0x18acb: 0xf0000404,\n\t0x18acc: 0xf0000404, 0x18acd: 0xf0000404, 0x18ace: 0xe000004c, 0x18acf: 0xe0000051,\n\t0x18ad0: 0xe0000056, 0x18ad1: 0xe000005b, 0x18ad2: 0xe0000060, 0x18ad3: 0xe0000065,\n\t0x18ad4: 0xe000006a, 0x18ad5: 0xe000006f, 0x18ad6: 0xe0000083, 0x18ad7: 0xe000008d,\n\t0x18ad8: 0xe0000092, 0x18ad9: 0xe0000097, 0x18ada: 0xe000009c, 0x18adb: 0xe00000a1,\n\t0x18adc: 0xe0000088, 0x18add: 0xe0000074, 0x18ade: 0xe000007c,\n\t0x18ae0: 0xe000b438, 0x18ae1: 0xe000b3d4, 0x18ae2: 0xe000b40c, 0x18ae3: 0xe000b41c,\n\t0x18ae4: 0xe000b428, 0x18ae5: 0xe000b3f4, 0x18ae6: 0xe000b400, 0x18ae7: 0xe000b3c8,\n\t0x18ae8: 0xe000b3ec, 0x18ae9: 0xe000b414, 0x18aea: 0xe000b440, 0x18aeb: 0xe000b3dc,\n\t0x18aec: 0xe000b418, 0x18aed: 0xe000b3fc, 0x18aee: 0xe000b3e8, 0x18aef: 0xe000b424,\n\t0x18af0: 0xe000b408, 0x18af1: 0xe000b448, 0x18af2: 0xe000b43c, 0x18af3: 0xe000b410,\n\t0x18af4: 0xe000b3f8, 0x18af5: 0xe000b420, 0x18af6: 0xe000b3cc, 0x18af7: 0xe000b44c,\n\t0x18af8: 0xe000b3f0, 0x18af9: 0xe000b3d0, 0x18afa: 0xe000b3d8, 0x18afb: 0xe000b434,\n\t0x18afc: 0xe000b3e4, 0x18afd: 0xe000b404, 0x18afe: 0xe000b450, 0x18aff: 0xe000b42c,\n\t// Block 0x62c, offset 0x18b00\n\t0x18b00: 0xe000b3e0, 0x18b01: 0xe000b430, 0x18b02: 0xe000b454, 0x18b03: 0xe000b444,\n\t0x18b04: 0x2cf20683, 0x18b05: 0x2d200c83, 0x18b06: 0x2cf17a83, 0x18b07: 0x2d32e283,\n\t0x18b08: 0xe00002e3, 0x18b09: 0xe00003d8, 0x18b0a: 0xe00004b3, 0x18b0b: 0xe000057d,\n\t0x18b0c: 0xe0000648, 0x18b0d: 0xe00006f0, 0x18b0e: 0xe000079c, 0x18b0f: 0xe0000841,\n\t0x18b10: 0xe0000ec0, 0x18b11: 0xf0000606, 0x18b12: 0xf0000606, 0x18b13: 0xf0000606,\n\t0x18b14: 0xf0000606, 0x18b15: 0xf0000606, 0x18b16: 0xf0000606, 0x18b17: 0xf0000606,\n\t0x18b18: 0xf0000606, 0x18b19: 0xf0000606, 0x18b1a: 0xf0000606, 0x18b1b: 0xf0000606,\n\t0x18b1c: 0xf0000606, 0x18b1d: 0xf0000606, 0x18b1e: 0xf0000606, 0x18b1f: 0xf0000606,\n\t0x18b20: 0x0062ac86, 0x18b21: 0x0062b086, 0x18b22: 0x0062b286, 0x18b23: 0x0062b686,\n\t0x18b24: 0x0062b886, 0x18b25: 0x0062ba86, 0x18b26: 0x0062be86, 0x18b27: 0x0062c286,\n\t0x18b28: 0x0062c486, 0x18b29: 0x0062c886, 0x18b2a: 0x0062ca86, 0x18b2b: 0x0062cc86,\n\t0x18b2c: 0x0062ce86, 0x18b2d: 0x0062d086, 0x18b2e: 0xf0000606, 0x18b2f: 0xf0000606,\n\t0x18b30: 0xf0000606, 0x18b31: 0xf0000606, 0x18b32: 0xf0000606, 0x18b33: 0xf0000606,\n\t0x18b34: 0xf0000606, 0x18b35: 0xf0000606, 0x18b36: 0xf0000606, 0x18b37: 0xf0000606,\n\t0x18b38: 0xf0000606, 0x18b39: 0xf0000606, 0x18b3a: 0xf0000606, 0x18b3b: 0xf0000606,\n\t0x18b3c: 0xe0002127, 0x18b3d: 0xe0002122, 0x18b3e: 0xf0000606, 0x18b3f: 0x4027ac20,\n\t// Block 0x62d, offset 0x18b40\n\t0x18b40: 0x2d13b684, 0x18b41: 0x2c37b484, 0x18b42: 0x2cc9f284, 0x18b43: 0x2cd87483,\n\t0x18b44: 0x2cf41483, 0x18b45: 0x2c8f2483, 0x18b46: 0x2cb4c683, 0x18b47: 0x2c030a83,\n\t0x18b48: 0x2c6f9a83, 0x18b49: 0x2cd22483, 0x18b4a: 0x2d266884, 0x18b4b: 0x2c5d8483,\n\t0x18b4c: 0x2cd70283, 0x18b4d: 0x2ca25c83, 0x18b4e: 0x2c6c2e83, 0x18b4f: 0x2ce91083,\n\t0x18b50: 0x2cc63683, 0x18b51: 0x2d399283, 0x18b52: 0x2d1f9884, 0x18b53: 0x2ccf3683,\n\t0x18b54: 0x2c9fe683, 0x18b55: 0x2ce27083, 0x18b56: 0x2c110e83, 0x18b57: 0x2d3ac683,\n\t0x18b58: 0x2c814083, 0x18b59: 0x2c9d3483, 0x18b5a: 0x2ca3e283, 0x18b5b: 0x2caa6e83,\n\t0x18b5c: 0x2cd3bc83, 0x18b5d: 0x2d1eb483, 0x18b5e: 0x2d1b3683, 0x18b5f: 0x2d3ab083,\n\t0x18b60: 0x2cfe3a83, 0x18b61: 0x2d04b283, 0x18b62: 0x2d013e83, 0x18b63: 0x2d333683,\n\t0x18b64: 0x2cce4883, 0x18b65: 0x2d378284, 0x18b66: 0x2cfa2683, 0x18b67: 0x2d426084,\n\t0x18b68: 0x2d200884, 0x18b69: 0x2d13c083, 0x18b6a: 0x2d3f7083, 0x18b6b: 0x2d08f883,\n\t0x18b6c: 0x2c64ca83, 0x18b6d: 0x2cb6c883, 0x18b6e: 0x2d3e6083, 0x18b6f: 0x2d007083,\n\t0x18b70: 0x2d12ca83, 0x18b71: 0xf0000606, 0x18b72: 0xf0000606, 0x18b73: 0xf0000606,\n\t0x18b74: 0xf0000606, 0x18b75: 0xf0000606, 0x18b76: 0xf0000606, 0x18b77: 0xf0000606,\n\t0x18b78: 0xf0000606, 0x18b79: 0xf0000606, 0x18b7a: 0xf0000606, 0x18b7b: 0xf0000606,\n\t0x18b7c: 0xf0000606, 0x18b7d: 0xf0000606, 0x18b7e: 0xf0000606, 0x18b7f: 0xf0000606,\n\t// Block 0x62e, offset 0x18b80\n\t0x18b80: 0xf0000203, 0x18b81: 0xf0000203, 0x18b82: 0xf0000203, 0x18b83: 0xf0000203,\n\t0x18b84: 0xf0000203, 0x18b85: 0xf0000203, 0x18b86: 0xf0000203, 0x18b87: 0xf0000203,\n\t0x18b88: 0xf0000203, 0x18b89: 0xe000b484, 0x18b8a: 0xe000b490, 0x18b8b: 0xe000b49c,\n\t0x18b8c: 0xf0001c1d, 0x18b8d: 0xe0000b85, 0x18b8e: 0xf0001d1c, 0x18b8f: 0xe0000d14,\n\t0x18b90: 0x00657693, 0x18b91: 0x00657893, 0x18b92: 0x00657a93, 0x18b93: 0x00657e93,\n\t0x18b94: 0x00658093, 0x18b95: 0x00658293, 0x18b96: 0x00658493, 0x18b97: 0x00658693,\n\t0x18b98: 0x00658893, 0x18b99: 0x00658a93, 0x18b9a: 0x00658c93, 0x18b9b: 0x00658e93,\n\t0x18b9c: 0x00659093, 0x18b9d: 0x00659293, 0x18b9e: 0x00659493, 0x18b9f: 0x00659693,\n\t0x18ba0: 0x00659893, 0x18ba1: 0x00659a93, 0x18ba2: 0x00659c93, 0x18ba3: 0x00659e93,\n\t0x18ba4: 0x0065a093, 0x18ba5: 0x0065a293, 0x18ba6: 0x0065a493, 0x18ba7: 0x0065a693,\n\t0x18ba8: 0x0065a893, 0x18ba9: 0x0065aa93, 0x18baa: 0x0065ac93, 0x18bab: 0x0065ae93,\n\t0x18bac: 0x0065b093, 0x18bad: 0x0065b293, 0x18bae: 0x0065b493, 0x18baf: 0x0065b693,\n\t0x18bb0: 0x0065b893, 0x18bb1: 0x0065ba93, 0x18bb2: 0x0065bc93, 0x18bb3: 0x0065be93,\n\t0x18bb4: 0x0065c093, 0x18bb5: 0x0065c493, 0x18bb6: 0x0065c693, 0x18bb7: 0x0065c893,\n\t0x18bb8: 0x0065ca93, 0x18bb9: 0x0065cc93, 0x18bba: 0x0065ce93, 0x18bbb: 0x0065d093,\n\t0x18bbc: 0x0065d293, 0x18bbd: 0x0065d493, 0x18bbe: 0x0065d693,\n\t// Block 0x62f, offset 0x18bc0\n\t0x18bc0: 0xe000230b, 0x18bc1: 0xe00022f8, 0x18bc2: 0xe00022fc, 0x18bc3: 0xe0002311,\n\t0x18bc4: 0xe0002316, 0x18bc5: 0xe000231d, 0x18bc6: 0xe0002321, 0x18bc7: 0xe0002325,\n\t0x18bc8: 0xe000232b, 0x18bc9: 0xf0001c1c, 0x18bca: 0xe0002330, 0x18bcb: 0xe000233c,\n\t0x18bcc: 0xe0002340, 0x18bcd: 0xe0002337, 0x18bce: 0xe0002346, 0x18bcf: 0xe000234b,\n\t0x18bd0: 0xe000234f, 0x18bd1: 0xe0002353, 0x18bd2: 0xf0001c1c, 0x18bd3: 0xe000235e,\n\t0x18bd4: 0xe0002358, 0x18bd5: 0xf0001c1c, 0x18bd6: 0xe0002363, 0x18bd7: 0xe000236d,\n\t0x18bd8: 0xf0000203, 0x18bd9: 0xf0000203, 0x18bda: 0xf0000203, 0x18bdb: 0xf0000203,\n\t0x18bdc: 0xf0000203, 0x18bdd: 0xf0000203, 0x18bde: 0xf0000203, 0x18bdf: 0xf0000203,\n\t0x18be0: 0xf0000203, 0x18be1: 0xf0000203, 0x18be2: 0xe000b47c, 0x18be3: 0xe000b488,\n\t0x18be4: 0xe000b494, 0x18be5: 0xe000b4a0, 0x18be6: 0xe000b4a8, 0x18be7: 0xe000b4b0,\n\t0x18be8: 0xe000b4b8, 0x18be9: 0xe000b4c0, 0x18bea: 0xe000b4c8, 0x18beb: 0xe000b4d0,\n\t0x18bec: 0xe000b4d8, 0x18bed: 0xe000b4e0, 0x18bee: 0xe000b4e8, 0x18bef: 0xe000b4f0,\n\t0x18bf0: 0xe000b4f8, 0x18bf1: 0xe0000c1e, 0x18bf2: 0xf0001c1c, 0x18bf3: 0xf0001d1d,\n\t0x18bf4: 0xe0000a31, 0x18bf5: 0xf0001d1c, 0x18bf6: 0xf0001c1c, 0x18bf7: 0xf0001c1c,\n\t0x18bf8: 0xe0000ac2, 0x18bf9: 0xe0000ac6, 0x18bfa: 0xf0001d1d, 0x18bfb: 0xf0000203,\n\t0x18bfc: 0xf0000203, 0x18bfd: 0xf0000203, 0x18bfe: 0xf0000203, 0x18bff: 0xe000b5b2,\n\t// Block 0x630, offset 0x18c00\n\t0x18c00: 0xf0001d1c, 0x18c01: 0xf0001d1d, 0x18c02: 0xe00009b7, 0x18c03: 0xf0001c1d,\n\t0x18c04: 0xf0001c1c, 0x18c05: 0xf0001c1c, 0x18c06: 0xe0000a66, 0x18c07: 0xe0000a7a,\n\t0x18c08: 0xf0001d1c, 0x18c09: 0xf0001c1d, 0x18c0a: 0xf0001c1c, 0x18c0b: 0xf0001d1d,\n\t0x18c0c: 0xf0001c1c, 0x18c0d: 0xf0001d1d, 0x18c0e: 0xf0001d1d, 0x18c0f: 0xf0001c1c,\n\t0x18c10: 0xf0001c1c, 0x18c11: 0xf0001c1c, 0x18c12: 0xe0000d0d, 0x18c13: 0xf0001c1c,\n\t0x18c14: 0xf0001c1c, 0x18c15: 0xe0000d3a, 0x18c16: 0xe0000d46, 0x18c17: 0xf0001d1d,\n\t0x18c18: 0xe0000eb0, 0x18c19: 0xe0000eb8, 0x18c1a: 0xf0001d1d, 0x18c1b: 0xf0001c1c,\n\t0x18c1c: 0xf0001c1d, 0x18c1d: 0xf0001c1d, 0x18c1e: 0xe00010b2, 0x18c1f: 0xe00009c8,\n\t0x18c20: 0xf0000203, 0x18c21: 0xf0000203, 0x18c22: 0xf0000203, 0x18c23: 0xf0000203,\n\t0x18c24: 0xf0000203, 0x18c25: 0xf0000203, 0x18c26: 0xf0000203, 0x18c27: 0xf0000203,\n\t0x18c28: 0xf0000203, 0x18c29: 0xe000b480, 0x18c2a: 0xe000b48c, 0x18c2b: 0xe000b498,\n\t0x18c2c: 0xe000b4a4, 0x18c2d: 0xe000b4ac, 0x18c2e: 0xe000b4b4, 0x18c2f: 0xe000b4bc,\n\t0x18c30: 0xe000b4c4, 0x18c31: 0xe000b4cc, 0x18c32: 0xe000b4d4, 0x18c33: 0xe000b4dc,\n\t0x18c34: 0xe000b4e4, 0x18c35: 0xe000b4ec, 0x18c36: 0xe000b4f4, 0x18c37: 0xe000b4fc,\n\t0x18c38: 0xe000b500, 0x18c39: 0xe000b504, 0x18c3a: 0xe000b508, 0x18c3b: 0xe000b50c,\n\t0x18c3c: 0xe000b510, 0x18c3d: 0xe000b514, 0x18c3e: 0xe000b518, 0x18c3f: 0xe0000bdf,\n\t// Block 0x631, offset 0x18c40\n\t0x18c40: 0x6cbf9220, 0x18c41: 0x6ce52c20,\n\t0x18c44: 0x6c7ae020, 0x18c45: 0x6cf41220, 0x18c46: 0x6d1ac620,\n\t0x18c4c: 0x6d144820,\n\t0x18c56: 0x6d006c20,\n\t0x18c5c: 0x6c1d9020,\n\t0x18c61: 0x6caae820,\n\t0x18c64: 0x6c27da20,\n\t0x18c68: 0x6d067820, 0x18c69: 0x6d03c420, 0x18c6b: 0x6d044c20,\n\t0x18c6c: 0x6c8e4020, 0x18c6d: 0x6c8c1820, 0x18c6e: 0x6cfd7e20, 0x18c6f: 0x6d1dbe20,\n\t0x18c70: 0x6d030e20, 0x18c71: 0x6d31ac20, 0x18c72: 0x6c272020, 0x18c73: 0x6cf49420,\n\t0x18c74: 0x6cac3820, 0x18c77: 0x6c968e20,\n\t0x18c78: 0x6cba3c20, 0x18c79: 0x6d165420, 0x18c7a: 0x6d1a2020, 0x18c7b: 0x6ca58220,\n\t0x18c7c: 0x6c1a7e20, 0x18c7d: 0x6c3c1020,\n\t// Block 0x632, offset 0x18c80\n\t0x18c81: 0x6d3cec20, 0x18c82: 0x6c39ba20, 0x18c83: 0x6c029620,\n\t0x18c84: 0x6cf41c20, 0x18c85: 0x6d427220, 0x18c87: 0x6d38f620,\n\t0x18c88: 0x6c304e20, 0x18c89: 0x6cda7e20, 0x18c8a: 0x6d16a020, 0x18c8b: 0x6cbefc20,\n\t0x18c8c: 0x6c7b8220, 0x18c8d: 0x6c831e20, 0x18c8e: 0x6ca4da20, 0x18c8f: 0x6d3aa820,\n\t0x18c90: 0x6cd4a220,\n\t0x18c94: 0x6d062820, 0x18c97: 0x6ccfb620,\n\t0x18c98: 0x6c6bc820, 0x18c99: 0x6c2e6620, 0x18c9a: 0x6caab620, 0x18c9b: 0x6cda8420,\n\t0x18c9c: 0x6d16d820, 0x18c9d: 0x6c905020, 0x18c9e: 0x6d1d3220, 0x18c9f: 0x6c081020,\n\t0x18ca3: 0x6c7f9220,\n\t0x18ca4: 0x6c9e7220, 0x18ca5: 0x6d171820, 0x18ca6: 0x6c85be20, 0x18ca7: 0x6c61c020,\n\t0x18ca8: 0x6d223420, 0x18ca9: 0x6c953c20, 0x18caa: 0x6c147420,\n\t0x18cae: 0x6c5ce420, 0x18caf: 0x6d063820,\n\t0x18cb0: 0x6c5bb220, 0x18cb1: 0x6cc53820, 0x18cb3: 0x6d392620,\n\t0x18cb5: 0x6c4ebe20, 0x18cb6: 0x6cf88220, 0x18cb7: 0x6cdf7420,\n\t0x18cb8: 0x6d10f020, 0x18cb9: 0x6c5bba20, 0x18cba: 0x6c75b820, 0x18cbb: 0x6c96c020,\n\t0x18cbc: 0x6c94ac20, 0x18cbd: 0x6ce0fa20, 0x18cbe: 0x6d110220, 0x18cbf: 0x6d2fba20,\n\t// Block 0x633, offset 0x18cc0\n\t0x18cc0: 0x6d2cf420, 0x18cc1: 0x6d226420, 0x18cc2: 0x6d3d7620, 0x18cc3: 0x6c37d620,\n\t0x18cc4: 0x6cc4cc20, 0x18cc5: 0x6cb70820, 0x18cc6: 0x6c1c3e20, 0x18cc7: 0x6cf45620,\n\t0x18cc8: 0x6c4eda20, 0x18cc9: 0x6ce17820, 0x18cca: 0x6ccb3220,\n\t0x18ccc: 0x6cbf4820, 0x18ccd: 0x6c824020, 0x18cce: 0x6cc97c20,\n\t0x18cd1: 0x6c7cda20, 0x18cd2: 0x6cb44620, 0x18cd3: 0x6cde8a20,\n\t0x18cd4: 0x6cd53020, 0x18cd5: 0x6d0f6820, 0x18cd6: 0x6cab8a20, 0x18cd7: 0x6cdf3620,\n\t0x18cd9: 0x6c9dd220, 0x18cda: 0x6d1b7820, 0x18cdb: 0x6c2e3a20,\n\t0x18cdc: 0x6d228820, 0x18cdd: 0x6c9eec20, 0x18cde: 0x6c75ee20, 0x18cdf: 0x6ca7b820,\n\t0x18ce0: 0x6d023a20, 0x18ce1: 0x6d1f8820,\n\t0x18ce4: 0x6c185420, 0x18ce5: 0x6c3c7620, 0x18ce6: 0x6c82f820, 0x18ce7: 0x6c874020,\n\t0x18ce9: 0x6c95d420, 0x18ceb: 0x6c617420,\n\t0x18cf0: 0x6cc2b020, 0x18cf2: 0x6c110220, 0x18cf3: 0x6c898420,\n\t0x18cf4: 0x6c475620, 0x18cf5: 0x6c994020, 0x18cf7: 0x6c489020,\n\t0x18cf8: 0x6cdc2820, 0x18cfb: 0x6c996a20,\n\t0x18cfc: 0x6c976220, 0x18cfd: 0x6cc29820, 0x18cfe: 0x6cd39420, 0x18cff: 0x6c84b620,\n\t// Block 0x634, offset 0x18d00\n\t0x18d01: 0x6cedee20, 0x18d02: 0x6c79d820, 0x18d03: 0x6c325420,\n\t0x18d04: 0x6d325a20, 0x18d05: 0x6ce62020,\n\t0x18d08: 0x6c0e0620, 0x18d09: 0x6c5d9e20, 0x18d0a: 0x6c305420, 0x18d0b: 0x6c460e20,\n\t0x18d0c: 0x6c195220, 0x18d0e: 0x6cbd2020, 0x18d0f: 0x6c6f0020,\n\t0x18d10: 0x6c922620, 0x18d11: 0x6d042020, 0x18d13: 0x6ca3f820,\n\t0x18d14: 0x6d01a220, 0x18d16: 0x6c09be20, 0x18d17: 0x6c6b0420,\n\t0x18d18: 0x6cda9c20, 0x18d1a: 0x6c455220,\n\t0x18d1c: 0x6d200620, 0x18d1d: 0x6d03b620, 0x18d1e: 0x6cb83c20, 0x18d1f: 0x6cafae20,\n\t0x18d20: 0x6c2d3620, 0x18d21: 0x6c3f3c20, 0x18d22: 0x6c95de20, 0x18d23: 0x6cb84220,\n\t0x18d24: 0x6cb84420, 0x18d25: 0x6ce0ba20, 0x18d26: 0x6c03fa20, 0x18d27: 0x6c418420,\n\t0x18d28: 0x6c222420, 0x18d29: 0x6d077e20, 0x18d2a: 0x6c80f620,\n\t0x18d2d: 0x6ccf0c20, 0x18d2f: 0x6c83a820,\n\t0x18d30: 0x6c578820, 0x18d31: 0x6ce7ea20, 0x18d32: 0x6cb0f020, 0x18d33: 0x6c2b2420,\n\t0x18d34: 0x6cc85e20, 0x18d35: 0x6c360820, 0x18d36: 0x6cbcb020, 0x18d37: 0x6d178c20,\n\t0x18d38: 0x6d3d0020, 0x18d39: 0x6cc8cc20, 0x18d3a: 0x6c649420,\n\t0x18d3c: 0x6c1c2e20, 0x18d3d: 0x6c1d1820, 0x18d3e: 0x6cf66220,\n\t// Block 0x635, offset 0x18d40\n\t0x18d40: 0x6c94b420, 0x18d41: 0x6c2aa020, 0x18d42: 0x6c8bbe20, 0x18d43: 0x6c747020,\n\t0x18d44: 0x6cdae020, 0x18d45: 0x6cfffa20, 0x18d46: 0x6d299020,\n\t0x18d49: 0x6d3a7620, 0x18d4a: 0x6d2e0e20, 0x18d4b: 0x6c64f020,\n\t0x18d4c: 0x6d408c20, 0x18d4d: 0x6c1fa020, 0x18d4e: 0x6d022a20, 0x18d4f: 0x6c869820,\n\t0x18d51: 0x6c1c8e20, 0x18d52: 0x6cf7b820, 0x18d53: 0x6c656020,\n\t0x18d55: 0x6c5fc020, 0x18d57: 0x6c3a7c20,\n\t0x18d58: 0x6c1f0620, 0x18d59: 0x6c07d420, 0x18d5a: 0x6c6a7820,\n\t0x18d5c: 0x6c036c20, 0x18d5d: 0x6c898a20, 0x18d5e: 0x6c7b1e20,\n\t0x18d60: 0x6cf95e20, 0x18d61: 0x6c0ca420, 0x18d62: 0x6c747420, 0x18d63: 0x6c825c20,\n\t0x18d64: 0x6d035020, 0x18d65: 0x6c045820, 0x18d66: 0x6d103220, 0x18d67: 0x6c940a20,\n\t0x18d68: 0x6c070a20, 0x18d69: 0x6c362420, 0x18d6a: 0x6c91c220,\n\t0x18d6d: 0x6c181220, 0x18d6e: 0x6caad020, 0x18d6f: 0x6d07fe20,\n\t0x18d70: 0x6c525220, 0x18d71: 0x6d224420, 0x18d73: 0x6c4b0620,\n\t0x18d74: 0x6d17dc20, 0x18d75: 0x6d085020, 0x18d76: 0x6c462c20, 0x18d77: 0x6c910020,\n\t0x18d78: 0x6ce2f020, 0x18d79: 0x6c820420, 0x18d7a: 0x6cd2f820,\n\t0x18d7c: 0x6cdcee20, 0x18d7d: 0x6d11ec20, 0x18d7e: 0x6cfa6820, 0x18d7f: 0x6d408420,\n\t// Block 0x636, offset 0x18d80\n\t0x18d81: 0x6cc3a220, 0x18d82: 0x6d1a2220, 0x18d83: 0x6cf56420,\n\t0x18d84: 0x6d34d420, 0x18d85: 0x6c639620, 0x18d86: 0x6c564e20, 0x18d87: 0x6c7e3620,\n\t0x18d88: 0x6d15c620, 0x18d89: 0x6c788020, 0x18d8a: 0x6c3d4620, 0x18d8b: 0x6cbd6020,\n\t0x18d8c: 0x6c009220, 0x18d8e: 0x6c78ac20, 0x18d8f: 0x6c1e8820,\n\t0x18d90: 0x6d014620, 0x18d91: 0x6c1e9a20, 0x18d92: 0x6ceeac20,\n\t0x18d95: 0x6c58ea20, 0x18d96: 0x6cda8a20, 0x18d97: 0x6d203a20,\n\t0x18d99: 0x6c75e020, 0x18d9a: 0x6d2f7e20, 0x18d9b: 0x6d066620,\n\t0x18d9c: 0x6cd2ac20, 0x18d9e: 0x6cd64220, 0x18d9f: 0x6c7cea20,\n\t0x18da0: 0x6cd6a220, 0x18da1: 0x6c515420, 0x18da2: 0x6c414e20, 0x18da3: 0x6d0d3020,\n\t0x18da4: 0x6cbfec20, 0x18da5: 0x6ccf9820, 0x18da6: 0x6c577a20, 0x18da7: 0x6cf56820,\n\t0x18da8: 0x6c391820, 0x18da9: 0x6cad2420, 0x18daa: 0x6c281e20, 0x18dab: 0x6c39bc20,\n\t0x18dac: 0x6c455c20, 0x18dad: 0x6c022620, 0x18dae: 0x6c3f3020, 0x18daf: 0x6ca54420,\n\t0x18db0: 0x6d093a20, 0x18db1: 0x6d1ee420, 0x18db2: 0x6c572620,\n\t0x18db4: 0x6c189620, 0x18db5: 0x6c4c5420, 0x18db6: 0x6ca2c820, 0x18db7: 0x6c577e20,\n\t0x18db8: 0x6c858820, 0x18db9: 0x6c37fa20, 0x18dba: 0x6cfe8020, 0x18dbb: 0x6cb3ea20,\n\t0x18dbd: 0x6cd88820,\n\t// Block 0x637, offset 0x18dc0\n\t0x18dc0: 0x6c821c20, 0x18dc1: 0x6c8c4820, 0x18dc2: 0x6d16dc20, 0x18dc3: 0x6c544c20,\n\t0x18dc5: 0x6d068c20, 0x18dc6: 0x6cc17620, 0x18dc7: 0x6c373a20,\n\t0x18dca: 0x6d09e220,\n\t0x18dcf: 0x6ca80020,\n\t0x18dd0: 0x6cef9a20, 0x18dd1: 0x6d017820, 0x18dd2: 0x6ce31420, 0x18dd3: 0x6c532620,\n\t0x18dd4: 0x6cea7820, 0x18dd5: 0x6ca80220, 0x18dd6: 0x6ca80420, 0x18dd7: 0x6d1a4020,\n\t0x18dd8: 0x6d313420,\n\t0x18dde: 0x6cec5020, 0x18ddf: 0x6cd45a20,\n\t0x18de0: 0x6caaea20, 0x18de1: 0x6d12e420, 0x18de2: 0x6cb5b620, 0x18de3: 0x6ce82620,\n\t0x18de4: 0x6c4df820, 0x18de5: 0x6c75ac20, 0x18de6: 0x6c302c20, 0x18de7: 0x6c5cba20,\n\t0x18de8: 0x6c923220, 0x18de9: 0x6c707a20, 0x18dea: 0x6c5db820, 0x18deb: 0x6c8cdc20,\n\t0x18ded: 0x6ce4e420, 0x18dee: 0x6c94e820,\n\t0x18df5: 0x6c43e220, 0x18df6: 0x6d0c0620, 0x18df7: 0x6cd26420,\n\t0x18df8: 0x6d090c20, 0x18df9: 0x6cae3020, 0x18dfa: 0x6c217820, 0x18dfb: 0x6ca96c20,\n\t0x18dfc: 0x6c348a20, 0x18dfd: 0x6d2aca20, 0x18dfe: 0x6c362820, 0x18dff: 0x6d00a820,\n\t// Block 0x638, offset 0x18e00\n\t0x18e00: 0x6d1ea020, 0x18e01: 0x6c362a20, 0x18e02: 0x6cd13420, 0x18e03: 0x6cf1dc20,\n\t0x18e04: 0x6c7a3e20, 0x18e05: 0x6c555020, 0x18e06: 0x6c43e620, 0x18e07: 0x6cf9c020,\n\t0x18e08: 0x6c97dc20, 0x18e09: 0x6c94a820, 0x18e0a: 0x6c602a20, 0x18e0b: 0x6c53f620,\n\t0x18e0c: 0x6d361620, 0x18e0f: 0x6cec5420,\n\t0x18e11: 0x6c046820, 0x18e12: 0x6c00a020, 0x18e13: 0x6d3c6220,\n\t0x18e14: 0x6cb8ec20, 0x18e15: 0x6c46ac20, 0x18e16: 0x6c289220, 0x18e17: 0x6c06a820,\n\t0x18e18: 0x6c0f0e20, 0x18e19: 0x6c1e6020, 0x18e1a: 0x6c862820, 0x18e1b: 0x6cfff620,\n\t0x18e1c: 0x6d054020,\n\t0x18e22: 0x6c537020, 0x18e23: 0x6ce40620,\n\t0x18e24: 0x6c244220, 0x18e25: 0x6c7e0a20, 0x18e26: 0x6c816020, 0x18e27: 0x6d367820,\n\t0x18e28: 0x6d004e20, 0x18e29: 0x6cf66620, 0x18e2b: 0x6cbcce20,\n\t0x18e2c: 0x6d2be820, 0x18e2d: 0x6cf66820,\n\t0x18e30: 0x6c23a220, 0x18e31: 0x6c607a20, 0x18e32: 0x6c5dec20, 0x18e33: 0x6cde1220,\n\t0x18e34: 0x6d0cbe20, 0x18e35: 0x6d072420, 0x18e36: 0x6cb31c20, 0x18e37: 0x6cc9dc20,\n\t0x18e3b: 0x6c4c3a20,\n\t0x18e3c: 0x6d133620, 0x18e3d: 0x6cfdfe20, 0x18e3e: 0x6d08e620, 0x18e3f: 0x6c516c20,\n\t// Block 0x639, offset 0x18e40\n\t0x18e40: 0x6d42aa20, 0x18e41: 0x6d188020, 0x18e42: 0x6c226620,\n\t0x18e44: 0x6c837020, 0x18e45: 0x6cfba620, 0x18e46: 0x6cdf5620, 0x18e47: 0x6cc6bc20,\n\t0x18e48: 0x6d18be20, 0x18e49: 0x6d372220, 0x18e4a: 0x6cf6fe20, 0x18e4b: 0x6cfbb420,\n\t0x18e4c: 0x6c72aa20, 0x18e4d: 0x6c60d620, 0x18e4e: 0x6c4e6820,\n\t0x18e50: 0x6cad9e20, 0x18e51: 0x6c86e620, 0x18e53: 0x6c7fe020,\n\t0x18e54: 0x6cc9e020, 0x18e55: 0x6c4e7020, 0x18e56: 0x6d0cfe20, 0x18e57: 0x6cc16020,\n\t0x18e59: 0x6d0d1620, 0x18e5a: 0x6c4e7420, 0x18e5b: 0x6c76ba20,\n\t0x18e5c: 0x6c1bce20, 0x18e5d: 0x6ca7e820, 0x18e5e: 0x6c5d9620,\n\t0x18e60: 0x6c092820, 0x18e61: 0x6cf98a20, 0x18e62: 0x6cf24820, 0x18e63: 0x6d080420,\n\t0x18e64: 0x6cec9420, 0x18e65: 0x6d1f8a20, 0x18e66: 0x6cbd4c20, 0x18e67: 0x6d066c20,\n\t0x18e68: 0x6ca7f020, 0x18e69: 0x6c091620, 0x18e6a: 0x6c501020, 0x18e6b: 0x6c6e0820,\n\t0x18e6c: 0x6c02bc20, 0x18e6d: 0x6c02be20,\n\t0x18e70: 0x6d311e20, 0x18e71: 0x6cdf8a20, 0x18e72: 0x6c70f220,\n\t0x18e74: 0x6d427a20, 0x18e75: 0x6c106220, 0x18e76: 0x6c6a8a20, 0x18e77: 0x6c009020,\n\t0x18e78: 0x6d29fc20, 0x18e79: 0x6c222620, 0x18e7a: 0x6c37fc20,\n\t0x18e7f: 0x6ca80620,\n\t// Block 0x63a, offset 0x18e80\n\t0x18e80: 0x6c8f2a20, 0x18e81: 0x6c99e220, 0x18e82: 0x6c334420, 0x18e83: 0x6c052020,\n\t0x18e84: 0x6c095a20, 0x18e85: 0x6c05ee20, 0x18e87: 0x6c1f2c20,\n\t0x18e88: 0x6cfa3620, 0x18e89: 0x6ce4e820, 0x18e8a: 0x6c16a220,\n\t0x18e8d: 0x6c342420, 0x18e8e: 0x6cee7e20, 0x18e8f: 0x6c3fea20,\n\t0x18e90: 0x6c348c20, 0x18e91: 0x6d225420, 0x18e92: 0x6d12ac20, 0x18e93: 0x6c7c7620,\n\t0x18e94: 0x6cefb620, 0x18e95: 0x6c7b2220, 0x18e97: 0x6cee8020,\n\t0x18e98: 0x6d10a420, 0x18e99: 0x6c903420, 0x18e9a: 0x6d037a20, 0x18e9b: 0x6d3b7c20,\n\t0x18e9c: 0x6c1b3020, 0x18e9d: 0x6d00b420, 0x18e9e: 0x6ca83a20, 0x18e9f: 0x6c810020,\n\t0x18ea0: 0x6d13fe20, 0x18ea1: 0x6d3f9e20, 0x18ea2: 0x6c976a20, 0x18ea3: 0x6d2f3820,\n\t0x18ea4: 0x6cfa4220, 0x18ea5: 0x6c4bfe20, 0x18ea6: 0x6d00c820,\n\t0x18ea8: 0x6c625c20, 0x18ea9: 0x6c8a0220, 0x18eaa: 0x6d184820, 0x18eab: 0x6c607c20,\n\t0x18eac: 0x6d1a8e20, 0x18eae: 0x6c266020, 0x18eaf: 0x6d184a20,\n\t0x18eb0: 0x6d020a20, 0x18eb1: 0x6c506220, 0x18eb2: 0x6d1e5c20, 0x18eb3: 0x6c76ea20,\n\t0x18eb4: 0x6c163220, 0x18eb5: 0x6cdf3e20, 0x18eb6: 0x6ce13020, 0x18eb7: 0x6d34a220,\n\t0x18eb8: 0x6c066e20, 0x18eb9: 0x6c9b5220, 0x18eba: 0x6c7ca220, 0x18ebb: 0x6c153620,\n\t0x18ebc: 0x6c82e020, 0x18ebe: 0x6cf91220,\n\t// Block 0x63b, offset 0x18ec0\n\t0x18ec0: 0x6cf72820, 0x18ec1: 0x6cbc7220, 0x18ec2: 0x6ca47e20, 0x18ec3: 0x6d274e20,\n\t0x18ec5: 0x6c8f7220, 0x18ec6: 0x6c3fbe20, 0x18ec7: 0x6d3f7220,\n\t0x18ec9: 0x6c475e20, 0x18eca: 0x6c762820, 0x18ecb: 0x6c2dd420,\n\t0x18ecc: 0x6c57aa20, 0x18ecd: 0x6c7ce020, 0x18ecf: 0x6c42fc20,\n\t0x18ed0: 0x6ce26020, 0x18ed2: 0x6ccd2a20, 0x18ed3: 0x6c7f3a20,\n\t0x18ed4: 0x6ca7f420, 0x18ed5: 0x6c3de220, 0x18ed6: 0x6c42fe20, 0x18ed7: 0x6cbc8420,\n\t0x18ed8: 0x6c04e420, 0x18ed9: 0x6c632620, 0x18eda: 0x6c796a20, 0x18edb: 0x6cf85620,\n\t0x18edc: 0x6d230820, 0x18edd: 0x6d3c5a20, 0x18ede: 0x6cd05820, 0x18edf: 0x6c21ba20,\n\t0x18ee0: 0x6cfed420, 0x18ee1: 0x6c615220, 0x18ee2: 0x6caa3820, 0x18ee3: 0x6cff6a20,\n\t0x18ee4: 0x6d165a20, 0x18ee5: 0x6d20a820, 0x18ee6: 0x6d145420, 0x18ee7: 0x6d0d3620,\n\t0x18ee8: 0x6cd04020, 0x18ee9: 0x6cc4aa20, 0x18eea: 0x6c501220, 0x18eeb: 0x6cc96620,\n\t0x18eec: 0x6c755820, 0x18eed: 0x6d1ee820, 0x18eef: 0x6d02fc20,\n\t0x18ef0: 0x6cadae20, 0x18ef1: 0x6cbfa020, 0x18ef2: 0x6c14b820,\n\t0x18ef4: 0x6c106420, 0x18ef5: 0x6c2fdc20, 0x18ef6: 0x6cd88a20, 0x18ef7: 0x6c378620,\n\t0x18ef9: 0x6c992820, 0x18efa: 0x6d281820, 0x18efb: 0x6c5e8a20,\n\t0x18efd: 0x6cbc1e20, 0x18efe: 0x6d045820, 0x18eff: 0x6cad4a20,\n\t// Block 0x63c, offset 0x18f00\n\t0x18f00: 0x6c1e7420, 0x18f01: 0x6cae5220, 0x18f02: 0x6caad620, 0x18f03: 0x6c6a8c20,\n\t0x18f04: 0x6d13d420, 0x18f05: 0x6c37c220, 0x18f06: 0x6c34d420,\n\t0x18f0a: 0x6c347c20,\n\t0x18f0d: 0x6cbca420, 0x18f0e: 0x6c938220, 0x18f0f: 0x6cc02620,\n\t0x18f10: 0x6cda1020, 0x18f11: 0x6c11f020, 0x18f12: 0x6c310020, 0x18f13: 0x6cf5b820,\n\t0x18f14: 0x6c3c2e20, 0x18f15: 0x6d172220, 0x18f16: 0x6cdd0e20, 0x18f17: 0x6cbc7a20,\n\t0x18f18: 0x6cb37620, 0x18f19: 0x6d02c020, 0x18f1a: 0x6ce7b020, 0x18f1b: 0x6d032820,\n\t0x18f1c: 0x6d1f1220, 0x18f1d: 0x6c06fe20, 0x18f1e: 0x6c905820,\n\t0x18f23: 0x6d279820,\n\t0x18f24: 0x6c83ac20, 0x18f25: 0x6cde4420, 0x18f26: 0x6c802620, 0x18f27: 0x6c97b820,\n\t0x18f28: 0x6cbb3a20, 0x18f29: 0x6d38d220, 0x18f2a: 0x6d0e5c20, 0x18f2b: 0x6cf5de20,\n\t0x18f2c: 0x6c923620, 0x18f2d: 0x6cf5e020, 0x18f2e: 0x6ccae220, 0x18f2f: 0x6c395220,\n\t0x18f31: 0x6cefb820, 0x18f32: 0x6c383a20, 0x18f33: 0x6d179020,\n\t0x18f34: 0x6ca4f420, 0x18f35: 0x6c196c20, 0x18f36: 0x6ce09820, 0x18f37: 0x6c5ec620,\n\t0x18f38: 0x6cd5d020, 0x18f39: 0x6cb10e20, 0x18f3a: 0x6c012e20, 0x18f3b: 0x6c7ac420,\n\t0x18f3c: 0x6c139820, 0x18f3e: 0x6cfb5a20, 0x18f3f: 0x6d361c20,\n\t// Block 0x63d, offset 0x18f40\n\t0x18f42: 0x6c3c4820, 0x18f43: 0x6c88f420,\n\t0x18f44: 0x6d0a0a20, 0x18f45: 0x6d06ee20, 0x18f46: 0x6c9d5020, 0x18f47: 0x6c5bd620,\n\t0x18f48: 0x6ca29220, 0x18f49: 0x6d1d8c20, 0x18f4a: 0x6d2df420, 0x18f4b: 0x6d17de20,\n\t0x18f4c: 0x6caa1e20, 0x18f4d: 0x6ce10020, 0x18f4e: 0x6cf63e20, 0x18f4f: 0x6d27ac20,\n\t0x18f50: 0x6cd5e220, 0x18f51: 0x6c3e9420, 0x18f52: 0x6d17e020, 0x18f53: 0x6c26b020,\n\t0x18f55: 0x6c881e20, 0x18f56: 0x6c127a20, 0x18f57: 0x6c116e20,\n\t0x18f58: 0x6c725e20, 0x18f59: 0x6c927a20, 0x18f5a: 0x6cdae220, 0x18f5b: 0x6ca59a20,\n\t0x18f5c: 0x6c02dc20, 0x18f5d: 0x6c018c20, 0x18f5e: 0x6cba6420,\n\t0x18f60: 0x6c24d420, 0x18f61: 0x6c232420, 0x18f63: 0x6cc48220,\n\t0x18f64: 0x6ca73220, 0x18f65: 0x6c96fe20, 0x18f66: 0x6d030220, 0x18f67: 0x6d26e020,\n\t0x18f68: 0x6ca38220, 0x18f69: 0x6c02ee20, 0x18f6a: 0x6cd01620, 0x18f6b: 0x6c96dc20,\n\t0x18f6e: 0x6c807a20, 0x18f6f: 0x6cf6e620,\n\t0x18f70: 0x6d26f820, 0x18f71: 0x6d372620, 0x18f72: 0x6cf26420, 0x18f73: 0x6c57f620,\n\t0x18f74: 0x6c9c1820, 0x18f75: 0x6ca7bc20, 0x18f76: 0x6ced6620, 0x18f77: 0x6c9c9c20,\n\t0x18f78: 0x6ca89e20, 0x18f79: 0x6cc1f820, 0x18f7a: 0x6d29b820, 0x18f7b: 0x6c893e20,\n\t0x18f7c: 0x6d34c620, 0x18f7d: 0x6d3eda20, 0x18f7e: 0x6c4d1a20, 0x18f7f: 0x6d066e20,\n\t// Block 0x63e, offset 0x18f80\n\t0x18f80: 0x6c501820, 0x18f81: 0x6d078020, 0x18f82: 0x6d35b020, 0x18f83: 0x6c9e1220,\n\t0x18f84: 0x6c214820, 0x18f85: 0x6c46b020, 0x18f87: 0x6c216020,\n\t0x18f88: 0x6c946a20, 0x18f89: 0x6d3a9820, 0x18f8a: 0x6cd43820, 0x18f8b: 0x6c8a5e20,\n\t0x18f8c: 0x6c6fcc20, 0x18f8d: 0x6d014020, 0x18f8e: 0x6c2f9220, 0x18f8f: 0x6c6bae20,\n\t0x18f90: 0x6cc65220, 0x18f91: 0x6c982e20, 0x18f93: 0x6c788a20,\n\t0x18f94: 0x6d119620, 0x18f95: 0x6ca8fc20, 0x18f96: 0x6d148e20, 0x18f97: 0x6c80a620,\n\t0x18f98: 0x6d1df020, 0x18f99: 0x6d1a4420, 0x18f9a: 0x6d0c7e20, 0x18f9b: 0x6cda9e20,\n\t0x18f9d: 0x6c8baa20, 0x18f9e: 0x6d0aec20, 0x18f9f: 0x6c98d820,\n\t0x18fa0: 0x6c9ff420, 0x18fa1: 0x6d41aa20, 0x18fa2: 0x6d225620, 0x18fa3: 0x6d179220,\n\t0x18fa4: 0x6c46b220, 0x18fa5: 0x6c9cfa20, 0x18fa6: 0x6c75c820, 0x18fa7: 0x6cf1e420,\n\t0x18fa9: 0x6c773a20, 0x18faa: 0x6c2d7020, 0x18fab: 0x6c8f9820,\n\t0x18fad: 0x6d040620, 0x18fae: 0x6c255420, 0x18faf: 0x6cbbec20,\n\t0x18fb0: 0x6c9dde20, 0x18fb1: 0x6c9c1c20, 0x18fb2: 0x6cbdf420,\n\t0x18fb4: 0x6cecc220, 0x18fb5: 0x6c2a5e20, 0x18fb6: 0x6c009420,\n\t0x18fb8: 0x6c0b8c20, 0x18fb9: 0x6ca9fe20, 0x18fba: 0x6c882020, 0x18fbb: 0x6c6caa20,\n\t0x18fbc: 0x6d207020, 0x18fbd: 0x6c20bc20, 0x18fbe: 0x6d426420, 0x18fbf: 0x6c0fe020,\n\t// Block 0x63f, offset 0x18fc0\n\t0x18fc0: 0x6c5a9020, 0x18fc1: 0x6d11f020, 0x18fc2: 0x6ce9e020, 0x18fc3: 0x6c61e220,\n\t0x18fc4: 0x6c012420, 0x18fc5: 0x6c95fa20, 0x18fc6: 0x6c613220, 0x18fc7: 0x6cefba20,\n\t0x18fc8: 0x6c0e7420, 0x18fc9: 0x6d289020, 0x18fca: 0x6d06f020, 0x18fcb: 0x6ca71220,\n\t0x18fcc: 0x6d281420, 0x18fce: 0x6c039820, 0x18fcf: 0x6d301a20,\n\t0x18fd0: 0x6c705420, 0x18fd1: 0x6cef9020, 0x18fd2: 0x6d016e20, 0x18fd3: 0x6cb75420,\n\t0x18fd4: 0x6d149020, 0x18fd5: 0x6d017020, 0x18fd6: 0x6c222a20, 0x18fd7: 0x6cc02820,\n\t0x18fd8: 0x6c316a20, 0x18fd9: 0x6ca7d420, 0x18fda: 0x6cb78a20, 0x18fdb: 0x6c613c20,\n\t0x18fdc: 0x6ce99420, 0x18fde: 0x6cd94c20, 0x18fdf: 0x6c2d7420,\n\t0x18fe0: 0x6c816820, 0x18fe1: 0x6d2e2c20,\n\t0x18fe4: 0x6d1a1c20, 0x18fe5: 0x6c132620, 0x18fe6: 0x6c611220, 0x18fe7: 0x6c5b8620,\n\t0x18fe8: 0x6d3ede20, 0x18fe9: 0x6c7f8820, 0x18fea: 0x6ca49020, 0x18feb: 0x6c71f020,\n\t0x18fec: 0x6cbdfc20, 0x18fed: 0x6c272620, 0x18fef: 0x6c6a6020,\n\t0x18ff0: 0x6d062620, 0x18ff1: 0x6c22fa20, 0x18ff2: 0x6d1e6e20, 0x18ff3: 0x6c30d820,\n\t0x18ff4: 0x6c1afe20, 0x18ff6: 0x6c9f9020, 0x18ff7: 0x6c59a820,\n\t0x18ff8: 0x6cdc2020, 0x18ff9: 0x6c785620, 0x18ffa: 0x6d40aa20, 0x18ffb: 0x6c501a20,\n\t0x18ffc: 0x6c19ba20, 0x18ffd: 0x6d094220, 0x18ffe: 0x6ca5bc20, 0x18fff: 0x6c1bec20,\n\t// Block 0x640, offset 0x19000\n\t0x19000: 0x6c87f020, 0x19001: 0x6c01a020, 0x19002: 0x6ca22a20, 0x19003: 0x6cd7ca20,\n\t0x19004: 0x6cfdb220, 0x19005: 0x6d0f9020, 0x19006: 0x6c572c20, 0x19007: 0x6c261620,\n\t0x19008: 0x6cc02a20, 0x19009: 0x6c814c20, 0x1900a: 0x6c3e2e20, 0x1900b: 0x6c334620,\n\t0x1900c: 0x6c984c20, 0x1900d: 0x6c80a820, 0x1900e: 0x6ceb7220, 0x1900f: 0x6c4df220,\n\t0x19010: 0x6c988820, 0x19011: 0x6c0ed220, 0x19012: 0x6cc43220, 0x19013: 0x6cb59e20,\n\t0x19014: 0x6c4df420, 0x19016: 0x6c905c20,\n\t0x19018: 0x6ce57e20, 0x19019: 0x6d2aba20, 0x1901a: 0x6cb5ba20, 0x1901b: 0x6d298a20,\n\t0x1901c: 0x6c9c4620, 0x1901d: 0x6cadd220, 0x1901e: 0x6d2e5620, 0x1901f: 0x6cfe2c20,\n\t0x19020: 0x6c429c20, 0x19022: 0x6cb5bc20,\n\t0x19024: 0x6c923820, 0x19026: 0x6d283020, 0x19027: 0x6c362e20,\n\t0x19028: 0x6c329a20, 0x19029: 0x6c9f5020, 0x1902a: 0x6cee8420, 0x1902b: 0x6cc2ec20,\n\t0x1902c: 0x6cda1c20, 0x1902d: 0x6c9f5220, 0x1902e: 0x6ce85e20,\n\t0x19030: 0x6ca03620, 0x19031: 0x6d11b420, 0x19032: 0x6c746220, 0x19033: 0x6c862c20,\n\t0x19034: 0x6c7b2620, 0x19035: 0x6c42a420, 0x19036: 0x6d257e20, 0x19037: 0x6c26fa20,\n\t0x19039: 0x6c816220, 0x1903a: 0x6c909c20, 0x1903b: 0x6cba6620,\n\t0x1903c: 0x6c025c20, 0x1903d: 0x6c0c7620, 0x1903e: 0x6d1d9a20, 0x1903f: 0x6c989820,\n\t// Block 0x641, offset 0x19040\n\t0x19040: 0x6c29e020, 0x19042: 0x6c025e20,\n\t0x19044: 0x6cf78e20, 0x19045: 0x6c3ed420, 0x19046: 0x6c27f820, 0x19047: 0x6c701420,\n\t0x19048: 0x6cc90220, 0x19049: 0x6ce77a20, 0x1904a: 0x6cc13220, 0x1904b: 0x6c368220,\n\t0x1904c: 0x6cb51a20, 0x1904d: 0x6c607e20, 0x1904e: 0x6c608020, 0x1904f: 0x6c574c20,\n\t0x19050: 0x6c69b820, 0x19051: 0x6d41cc20, 0x19052: 0x6c0c7a20, 0x19053: 0x6c9b4620,\n\t0x19054: 0x6c045620, 0x19055: 0x6cf01420, 0x19056: 0x6d160e20, 0x19057: 0x6c02f020,\n\t0x19058: 0x6d229e20, 0x19059: 0x6c4ff020, 0x1905a: 0x6c336620, 0x1905b: 0x6cf31a20,\n\t0x1905c: 0x6ca6d620, 0x1905d: 0x6c249e20, 0x1905f: 0x6c846e20,\n\t0x19060: 0x6c916c20, 0x19061: 0x6ca7be20, 0x19062: 0x6c57f820, 0x19063: 0x6c86f020,\n\t0x19065: 0x6c941c20, 0x19066: 0x6c3c7e20, 0x19067: 0x6c9d0c20,\n\t0x19068: 0x6d249e20, 0x1906a: 0x6c71e620,\n\t0x1906d: 0x6d2dec20, 0x1906e: 0x6cae8220, 0x1906f: 0x6d15b220,\n\t0x19071: 0x6c61e420, 0x19072: 0x6c08ae20,\n\t0x19074: 0x6cc5b420, 0x19075: 0x6c597220, 0x19076: 0x6c388020, 0x19077: 0x6c43c220,\n\t0x19078: 0x6c7a8020, 0x19079: 0x6c6bb420, 0x1907a: 0x6ccbc220,\n\t0x1907c: 0x6cd7c220, 0x1907d: 0x6ce71620, 0x1907e: 0x6d24c820, 0x1907f: 0x6d3e0420,\n\t// Block 0x642, offset 0x19080\n\t0x19080: 0x6c092c20, 0x19081: 0x6c7ad820, 0x19082: 0x6c859e20, 0x19083: 0x6c598220,\n\t0x19084: 0x6d09e620, 0x19085: 0x6caad820, 0x19087: 0x6d303820,\n\t0x19088: 0x6cf20220, 0x19089: 0x6cfb4420, 0x1908a: 0x6cb85a20, 0x1908b: 0x6d127a20,\n\t0x1908c: 0x6c996c20, 0x1908f: 0x6cd5d420,\n\t0x19091: 0x6cbb7a20, 0x19092: 0x6d3cd220, 0x19093: 0x6c7d6020,\n\t0x19094: 0x6cf4ea20, 0x19095: 0x6d1bb820, 0x19096: 0x6c207220, 0x19097: 0x6ce33e20,\n\t0x19098: 0x6c880e20, 0x19099: 0x6c087820, 0x1909a: 0x6c464e20, 0x1909b: 0x6c986820,\n\t0x1909c: 0x6d01d020, 0x1909d: 0x6c3cec20, 0x1909e: 0x6c909e20, 0x1909f: 0x6d2a1820,\n\t0x190a0: 0x6d335e20, 0x190a1: 0x6c1ea220, 0x190a2: 0x6c980020, 0x190a3: 0x6c8faa20,\n\t0x190a5: 0x6d1b8620, 0x190a6: 0x6cb1f020, 0x190a7: 0x6d337020,\n\t0x190a8: 0x6c653020, 0x190a9: 0x6c945420, 0x190aa: 0x6ca7e420, 0x190ab: 0x6d179a20,\n\t0x190ad: 0x6c623420, 0x190ae: 0x6c60a420, 0x190af: 0x6d2d1a20,\n\t0x190b0: 0x6d221a20, 0x190b1: 0x6c6fa620, 0x190b2: 0x6c585620, 0x190b3: 0x6d34e220,\n\t0x190b4: 0x6c7e3c20, 0x190b5: 0x6c8ca820, 0x190b6: 0x6d34f020, 0x190b7: 0x6c079420,\n\t0x190b8: 0x6d2cae20, 0x190b9: 0x6c705820, 0x190ba: 0x6c286620, 0x190bb: 0x6c8a9020,\n\t0x190bc: 0x6d16e820, 0x190bd: 0x6d2fa020, 0x190be: 0x6cfc8e20, 0x190bf: 0x6c1bf820,\n\t// Block 0x643, offset 0x190c0\n\t0x190c0: 0x6c22ba20, 0x190c1: 0x6c1b8420, 0x190c2: 0x6d0d5420, 0x190c3: 0x6c80aa20,\n\t0x190c4: 0x6c310220, 0x190c5: 0x6c905e20, 0x190c6: 0x6c14ec20,\n\t0x190c8: 0x6ce9a020, 0x190c9: 0x6c13da20, 0x190ca: 0x6c006620, 0x190cb: 0x6c1b9c20,\n\t0x190cd: 0x6d1cec20, 0x190ce: 0x6d305a20, 0x190cf: 0x6ce7ee20,\n\t0x190d1: 0x6ce9a620, 0x190d2: 0x6c13f420, 0x190d3: 0x6d11be20,\n\t0x190d4: 0x6d3ffe20, 0x190d6: 0x6cac4020, 0x190d7: 0x6cbc5620,\n\t0x190d8: 0x6c883220, 0x190d9: 0x6cbd9c20, 0x190da: 0x6c91d820, 0x190db: 0x6d0eb820,\n\t0x190dc: 0x6c778e20, 0x190dd: 0x6cda5e20, 0x190de: 0x6d192820, 0x190df: 0x6c14b420,\n\t0x190e0: 0x6c6ef620, 0x190e1: 0x6c67b020, 0x190e3: 0x6c6ea820,\n\t0x190e5: 0x6c305c20, 0x190e7: 0x6c733620,\n\t0x190e8: 0x6c4e8420, 0x190e9: 0x6c2c1020,\n\t0x190ec: 0x6c52f620, 0x190ee: 0x6c1b0820, 0x190ef: 0x6c2dae20,\n\t0x190f0: 0x6c093020, 0x190f2: 0x6d0a6e20, 0x190f3: 0x6c913e20,\n\t0x190f5: 0x6d007e20, 0x190f6: 0x6c094420,\n\t0x190f8: 0x6c095c20, 0x190fa: 0x6cfb4620, 0x190fb: 0x6cc8c820,\n\t0x190fc: 0x6c0d1420, 0x190fd: 0x6c379620, 0x190fe: 0x6c736220,\n\t// Block 0x644, offset 0x19100\n\t0x19100: 0x6d324820, 0x19101: 0x6c072e20, 0x19102: 0x6c365620, 0x19103: 0x6d227a20,\n\t0x19104: 0x6cc1b220, 0x19105: 0x6d299420, 0x19106: 0x6c9ca820, 0x19107: 0x6d16b220,\n\t0x19108: 0x6cd8e620,\n\t0x1910c: 0x6ccd6e20, 0x1910d: 0x6cdf1620, 0x1910e: 0x6ca28220, 0x1910f: 0x6c6e8220,\n\t0x19110: 0x6c0b9620, 0x19111: 0x6cc68e20, 0x19112: 0x6c136e20, 0x19113: 0x6c120220,\n\t0x19114: 0x6c2f4820,\n\t0x19119: 0x6c2b5620, 0x1911a: 0x6ce7ac20, 0x1911b: 0x6cde3220,\n\t0x1911c: 0x6d03ce20, 0x1911d: 0x6cd90a20, 0x1911e: 0x6c343e20, 0x1911f: 0x6cf85e20,\n\t0x19120: 0x6ce1b220, 0x19122: 0x6ce31620, 0x19123: 0x6ccd7820,\n\t0x19124: 0x6c667620, 0x19125: 0x6d35da20, 0x19126: 0x6cee7220, 0x19127: 0x6d1b4620,\n\t0x1912a: 0x6c58d620, 0x1912b: 0x6d37f220,\n\t0x1912c: 0x6cb78c20, 0x1912d: 0x6d3f8820, 0x1912f: 0x6d01c220,\n\t0x19130: 0x6d01d220, 0x19131: 0x6d2ade20, 0x19132: 0x6cef1e20,\n\t0x19135: 0x6cde9820, 0x19136: 0x6d2d9820, 0x19137: 0x6ca95820,\n\t0x1913b: 0x6d166620,\n\t0x1913c: 0x6cc58420, 0x1913d: 0x6cd59620, 0x1913e: 0x6c142a20, 0x1913f: 0x6d3d1e20,\n\t// Block 0x645, offset 0x19140\n\t0x19141: 0x6c9e0620, 0x19142: 0x6c5fdc20, 0x19143: 0x6c39a420,\n\t0x19144: 0x6cadfe20, 0x19145: 0x6c008e20, 0x19146: 0x6c392020, 0x19147: 0x6c029a20,\n\t0x19148: 0x6cbe0220, 0x19149: 0x6cb82220, 0x1914a: 0x6cffd020, 0x1914b: 0x6c3b1020,\n\t0x1914c: 0x6c417420, 0x1914d: 0x6cbb6620, 0x1914e: 0x6c437a20, 0x1914f: 0x6ce71c20,\n\t0x19150: 0x6c14ba20, 0x19151: 0x6d201620, 0x19152: 0x6c42b420, 0x19153: 0x6c07a820,\n\t0x19154: 0x6c3fb420, 0x19155: 0x6c1f0c20, 0x19156: 0x6d3aac20,\n\t0x19158: 0x6d390020, 0x1915a: 0x6c4f6220, 0x1915b: 0x6ca8e420,\n\t0x1915c: 0x6c73f820, 0x1915d: 0x6c1cb020, 0x1915e: 0x6c143820, 0x1915f: 0x6c799c20,\n\t0x19160: 0x6c8ae820, 0x19161: 0x6c85a020, 0x19162: 0x6d22e020,\n\t0x19164: 0x6d20d620, 0x19165: 0x6c4d5820, 0x19166: 0x6c85a220, 0x19167: 0x6c53ee20,\n\t0x19168: 0x6c45d820, 0x19169: 0x6c789820, 0x1916a: 0x6d260c20, 0x1916b: 0x6c2a6220,\n\t0x1916c: 0x6c5b9a20, 0x1916e: 0x6c4a2220, 0x1916f: 0x6c6f0620,\n\t0x19170: 0x6d429a20, 0x19171: 0x6c3fce20, 0x19172: 0x6cbcb220, 0x19173: 0x6c06c820,\n\t0x19174: 0x6c180a20, 0x19175: 0x6c223e20, 0x19176: 0x6c985020, 0x19177: 0x6c4d9820,\n\t0x19178: 0x6cf86a20, 0x19179: 0x6cc02e20, 0x1917a: 0x6c5a4620,\n\t0x1917d: 0x6c1d9620, 0x1917e: 0x6cca4c20, 0x1917f: 0x6d0bf420,\n\t// Block 0x646, offset 0x19180\n\t0x19180: 0x6d345620, 0x19181: 0x6c2a6c20, 0x19182: 0x6ce27420, 0x19183: 0x6c9aec20,\n\t0x19184: 0x6c8ce220, 0x19185: 0x6cd45e20, 0x19186: 0x6ce9fa20, 0x19187: 0x6c119220,\n\t0x19188: 0x6c2ea020, 0x19189: 0x6c181420, 0x1918a: 0x6cae9c20, 0x1918b: 0x6d13f020,\n\t0x1918c: 0x6c711220, 0x1918d: 0x6c61e820, 0x1918e: 0x6c7f0620, 0x1918f: 0x6ce4ea20,\n\t0x19190: 0x6d261a20, 0x19192: 0x6c112820, 0x19193: 0x6cb4e420,\n\t0x19194: 0x6d230e20, 0x19195: 0x6c880220, 0x19196: 0x6c231420,\n\t0x1919a: 0x6d212020, 0x1919b: 0x6c603220,\n\t0x1919c: 0x6cf09420, 0x1919d: 0x6c9cf020, 0x1919e: 0x6cdc3e20, 0x1919f: 0x6d00aa20,\n\t0x191a0: 0x6d059620, 0x191a1: 0x6c1c1c20, 0x191a2: 0x6cc06020, 0x191a3: 0x6c5bde20,\n\t0x191a5: 0x6d212220, 0x191a6: 0x6cbcc620, 0x191a7: 0x6cd74e20,\n\t0x191a8: 0x6cd72620, 0x191a9: 0x6c349020, 0x191aa: 0x6c908820,\n\t0x191ac: 0x6cad0620, 0x191ad: 0x6cdf7820, 0x191ae: 0x6d393020, 0x191af: 0x6d1af420,\n\t0x191b0: 0x6ccab420, 0x191b1: 0x6c3a5a20, 0x191b2: 0x6c187620, 0x191b3: 0x6d258020,\n\t0x191b4: 0x6d151620, 0x191b5: 0x6c5d2a20, 0x191b6: 0x6ccb3420, 0x191b7: 0x6d131020,\n\t0x191b8: 0x6c9fbc20, 0x191b9: 0x6c3bbe20, 0x191ba: 0x6c513620,\n\t0x191bc: 0x6d1b6420, 0x191bd: 0x6c130220, 0x191be: 0x6ca6b620, 0x191bf: 0x6c02e820,\n\t// Block 0x647, offset 0x191c0\n\t0x191c0: 0x6c3cb420, 0x191c1: 0x6c883420, 0x191c2: 0x6c16be20, 0x191c3: 0x6c15c820,\n\t0x191c4: 0x6c967020, 0x191c5: 0x6c2e5a20, 0x191c6: 0x6c54e620, 0x191c7: 0x6c928020,\n\t0x191c9: 0x6d184c20, 0x191ca: 0x6c574e20, 0x191cb: 0x6d2bf220,\n\t0x191cc: 0x6c550020, 0x191cd: 0x6c368420, 0x191ce: 0x6c5dee20, 0x191cf: 0x6cdcf820,\n\t0x191d0: 0x6ca6bc20, 0x191d1: 0x6cfcf620, 0x191d2: 0x6c842620, 0x191d3: 0x6cfcf820,\n\t0x191d4: 0x6d0eba20, 0x191d5: 0x6c8fa420, 0x191d6: 0x6c9af620, 0x191d7: 0x6c6c5c20,\n\t0x191d8: 0x6c5f5020, 0x191da: 0x6c0b5a20, 0x191db: 0x6d22a420,\n\t0x191dc: 0x6c5e0620, 0x191dd: 0x6c9ea420, 0x191de: 0x6c1df220, 0x191df: 0x6c970620,\n\t0x191e1: 0x6c822c20, 0x191e2: 0x6c6b5620, 0x191e3: 0x6cf10a20,\n\t0x191e4: 0x6d192a20, 0x191e5: 0x6d07e020, 0x191e6: 0x6cf91420, 0x191e7: 0x6c11e220,\n\t0x191e8: 0x6c7fe420, 0x191e9: 0x6d1b2220, 0x191ea: 0x6d027220, 0x191eb: 0x6d28a620,\n\t0x191ec: 0x6c95d220, 0x191ed: 0x6c8dd220, 0x191ee: 0x6cb97020, 0x191ef: 0x6c5d9a20,\n\t0x191f0: 0x6c646a20, 0x191f1: 0x6cf2a820,\n\t0x191f4: 0x6c43d420, 0x191f5: 0x6d399020, 0x191f6: 0x6c2e8220, 0x191f7: 0x6d1e2c20,\n\t0x191f8: 0x6c614220, 0x191f9: 0x6d0fc020, 0x191fa: 0x6cc82220, 0x191fb: 0x6cf79a20,\n\t0x191fc: 0x6cd6f020, 0x191fd: 0x6d240820, 0x191fe: 0x6d146020, 0x191ff: 0x6cb9f220,\n\t// Block 0x648, offset 0x19200\n\t0x19200: 0x6c5fde20, 0x19201: 0x6cc26420, 0x19202: 0x6ce48a20, 0x19203: 0x6cd42820,\n\t0x19204: 0x6cb9ee20, 0x19205: 0x6ca26020, 0x19206: 0x6c6c2620, 0x19207: 0x6c992420,\n\t0x19208: 0x6d1ac820, 0x19209: 0x6c412a20, 0x1920a: 0x6cb2ee20, 0x1920b: 0x6d084020,\n\t0x1920c: 0x6c994220, 0x1920d: 0x6c39c020, 0x1920e: 0x6d0b1020, 0x1920f: 0x6c425420,\n\t0x19210: 0x6cd95020, 0x19211: 0x6c5a8a20, 0x19212: 0x6d22d620, 0x19213: 0x6c484820,\n\t0x19214: 0x6c48e820, 0x19215: 0x6c8ef820, 0x19216: 0x6c35de20, 0x19217: 0x6d3eec20,\n\t0x19218: 0x6d3f3220, 0x19219: 0x6c093820, 0x1921a: 0x6cec1620,\n\t0x1921c: 0x6c8acc20, 0x1921f: 0x6c7af620,\n\t0x19221: 0x6c4d5a20, 0x19222: 0x6d19b020, 0x19223: 0x6d398820,\n\t0x19224: 0x6c1d4820, 0x19225: 0x6cfbea20, 0x19226: 0x6d087420,\n\t0x19228: 0x6cc01420, 0x19229: 0x6cae0c20, 0x1922a: 0x6c4ad620, 0x1922b: 0x6c373e20,\n\t0x1922c: 0x6c45dc20, 0x1922d: 0x6cbf0820, 0x1922e: 0x6c54ac20, 0x1922f: 0x6c81a620,\n\t0x19230: 0x6c85a420, 0x19231: 0x6c192220, 0x19232: 0x6cca1620, 0x19233: 0x6d3df420,\n\t0x19234: 0x6cf2ae20, 0x19235: 0x6cb3d420, 0x19236: 0x6c793020, 0x19237: 0x6cea8820,\n\t0x19238: 0x6cae5c20, 0x19239: 0x6ce27620, 0x1923a: 0x6cde4a20, 0x1923b: 0x6d3d4c20,\n\t0x1923c: 0x6c0c8e20, 0x1923d: 0x6c480e20, 0x1923e: 0x6c54be20,\n\t// Block 0x649, offset 0x19240\n\t0x19240: 0x6c0de020, 0x19241: 0x6d35de20, 0x19242: 0x6c302e20, 0x19243: 0x6c332220,\n\t0x19244: 0x6d387220, 0x19245: 0x6ca58a20, 0x19246: 0x6c8c1c20, 0x19247: 0x6cb32a20,\n\t0x19248: 0x6c613420, 0x19249: 0x6c9f5420, 0x1924a: 0x6cefc220, 0x1924b: 0x6c17ea20,\n\t0x1924c: 0x6c46b620, 0x1924d: 0x6c053220, 0x1924e: 0x6cc7aa20, 0x1924f: 0x6cdfa820,\n\t0x19250: 0x6c103a20, 0x19251: 0x6d3f8c20, 0x19252: 0x6c7c3c20, 0x19253: 0x6c815820,\n\t0x19254: 0x6c4ec220, 0x19255: 0x6d1c7020, 0x19256: 0x6d362620, 0x19257: 0x6c6ac620,\n\t0x19258: 0x6d040220, 0x19259: 0x6d00b820, 0x1925a: 0x6d0a1620, 0x1925b: 0x6ccd4620,\n\t0x1925c: 0x6cb9a620, 0x1925d: 0x6d004620, 0x1925e: 0x6cdacc20, 0x1925f: 0x6c4d1820,\n\t0x19260: 0x6c9d5820, 0x19261: 0x6c5cee20, 0x19262: 0x6caf7220,\n\t0x19264: 0x6c5be020, 0x19265: 0x6ca34c20, 0x19266: 0x6cd96220, 0x19267: 0x6c07bc20,\n\t0x19268: 0x6c1d7220, 0x19269: 0x6c6ae220, 0x1926a: 0x6c5a6e20, 0x1926b: 0x6c802c20,\n\t0x1926d: 0x6c56b420, 0x1926e: 0x6c30b620, 0x1926f: 0x6c5de420,\n\t0x19270: 0x6c4bd420, 0x19271: 0x6d111c20, 0x19272: 0x6c130420, 0x19273: 0x6c4b1220,\n\t0x19274: 0x6c66a620, 0x19275: 0x6c65c020, 0x19276: 0x6c29e620, 0x19277: 0x6c6d2420,\n\t0x19278: 0x6c96cc20, 0x19279: 0x6c5bf820, 0x1927a: 0x6c9e3420, 0x1927b: 0x6c11a820,\n\t0x1927c: 0x6c94ba20, 0x1927d: 0x6cb0aa20, 0x1927e: 0x6d105a20, 0x1927f: 0x6c726420,\n\t// Block 0x64a, offset 0x19280\n\t0x19280: 0x6c726620, 0x19281: 0x6cc3dc20, 0x19283: 0x6cb91220,\n\t0x19284: 0x6ccc8e20, 0x19286: 0x6c701820, 0x19287: 0x6c5df020,\n\t0x19288: 0x6d27fa20, 0x19289: 0x6c26b820, 0x1928a: 0x6d07ba20, 0x1928b: 0x6cff0420,\n\t0x1928c: 0x6c3ac620, 0x1928d: 0x6c131020, 0x1928e: 0x6d132420,\n\t0x19290: 0x6c2a9820, 0x19292: 0x6cbda020, 0x19293: 0x6c5b6a20,\n\t0x19294: 0x6cea6c20, 0x19296: 0x6cbb2420, 0x19297: 0x6cf7a020,\n\t0x19298: 0x6ca64a20, 0x19299: 0x6cc9ce20, 0x1929a: 0x6c9b5620, 0x1929b: 0x6ce95e20,\n\t0x1929c: 0x6c804220, 0x1929d: 0x6c4ff220, 0x1929e: 0x6c22e620, 0x1929f: 0x6d2d4e20,\n\t0x192a0: 0x6c023220, 0x192a1: 0x6c95c420, 0x192a2: 0x6c9efa20,\n\t0x192a4: 0x6c3daa20, 0x192a6: 0x6d010c20, 0x192a7: 0x6c0f8c20,\n\t0x192a8: 0x6c5c6820, 0x192a9: 0x6cbeb820, 0x192aa: 0x6d010e20,\n\t0x192ad: 0x6c0fa220, 0x192ae: 0x6cb9dc20, 0x192af: 0x6cb34020,\n\t0x192b0: 0x6c696820, 0x192b1: 0x6c750a20, 0x192b2: 0x6c7dc620, 0x192b3: 0x6cd97a20,\n\t0x192b4: 0x6c718e20, 0x192b5: 0x6c36f020, 0x192b6: 0x6ca8c020, 0x192b7: 0x6cb95a20,\n\t0x192b8: 0x6c2f1a20, 0x192b9: 0x6c2f1c20, 0x192bb: 0x6cb4da20,\n\t0x192bc: 0x6d33c220, 0x192bd: 0x6cb5c620, 0x192be: 0x6d3c8620, 0x192bf: 0x6c7a1c20,\n\t// Block 0x64b, offset 0x192c0\n\t0x192c0: 0x6d20b420, 0x192c1: 0x6cbd5820, 0x192c2: 0x6c7a2620, 0x192c3: 0x6c50d420,\n\t0x192c4: 0x6c3e0a20, 0x192c6: 0x6c2be220, 0x192c7: 0x6cfca620,\n\t0x192c8: 0x6c4b3c20, 0x192c9: 0x6c50ee20, 0x192ca: 0x6cc44620, 0x192cb: 0x6c4eaa20,\n\t0x192cc: 0x6ce7b420, 0x192cd: 0x6c0ee620, 0x192ce: 0x6ccd3e20, 0x192cf: 0x6c08de20,\n\t0x192d0: 0x6c924e20, 0x192d1: 0x6d12f020, 0x192d2: 0x6ca5e220, 0x192d3: 0x6c1fba20,\n\t0x192d4: 0x6cca5020, 0x192d5: 0x6c2e2820, 0x192d6: 0x6c925020, 0x192d7: 0x6ce81220,\n\t0x192d8: 0x6c88bc20, 0x192d9: 0x6c786620, 0x192da: 0x6cca5220, 0x192db: 0x6d31e420,\n\t0x192dc: 0x6c1fc020, 0x192dd: 0x6c890220, 0x192de: 0x6c998c20,\n\t0x192e0: 0x6cb90620, 0x192e1: 0x6c769220, 0x192e2: 0x6cceb620, 0x192e3: 0x6cfeea20,\n\t0x192e4: 0x6c0a2020, 0x192e5: 0x6d2bf420, 0x192e6: 0x6d1b7220, 0x192e7: 0x6cf6bc20,\n\t0x192e8: 0x6ccdaa20, 0x192e9: 0x6cdb1220, 0x192ea: 0x6cc98e20, 0x192eb: 0x6cc8e820,\n\t0x192ec: 0x6c219c20, 0x192ed: 0x6c917c20, 0x192ee: 0x6c8d9820, 0x192ef: 0x6c13c620,\n\t0x192f1: 0x6c593020,\n\t0x192f4: 0x6c63a220, 0x192f5: 0x6c04ee20, 0x192f6: 0x6c553220, 0x192f7: 0x6c30ec20,\n\t0x192f9: 0x6c90f020, 0x192fa: 0x6c70d220, 0x192fb: 0x6c73a620,\n\t0x192fc: 0x6c785c20, 0x192fd: 0x6cdd5220, 0x192fe: 0x6c95f020, 0x192ff: 0x6d303c20,\n\t// Block 0x64c, offset 0x19300\n\t0x19300: 0x6c2f7220, 0x19301: 0x6c32d220, 0x19302: 0x6d3b1c20, 0x19303: 0x6d0d3a20,\n\t0x19304: 0x6cacf420, 0x19305: 0x6c13d820,\n\t0x1930a: 0x6d15e620,\n\t0x1930d: 0x6d1f3420, 0x1930e: 0x6c5ae620, 0x1930f: 0x6d11c820,\n\t0x19310: 0x6d118020, 0x19311: 0x6d34d620, 0x19312: 0x6c45d220, 0x19313: 0x6cb6d420,\n\t0x19314: 0x6c44ac20, 0x19317: 0x6c545c20,\n\t0x19318: 0x6c9d2420, 0x19319: 0x6c3df020, 0x1931a: 0x6c54a020, 0x1931b: 0x6c4a1a20,\n\t0x1931c: 0x6ce05620, 0x1931d: 0x6c2b1a20, 0x1931f: 0x6d0c7220,\n\t0x19322: 0x6cc26620,\n\t0x19324: 0x6c16e420, 0x19325: 0x6ca02e20, 0x19326: 0x6ce1bc20, 0x19327: 0x6c063c20,\n\t0x19328: 0x6c011e20, 0x1932b: 0x6cfbf620,\n\t0x1932f: 0x6c996e20,\n\t0x19330: 0x6c811c20, 0x19331: 0x6ca42220, 0x19332: 0x6c070c20, 0x19333: 0x6c18be20,\n\t0x19335: 0x6c3a0420, 0x19336: 0x6d38e620, 0x19337: 0x6c5ece20,\n\t0x19338: 0x6c6a1420, 0x19339: 0x6cd5d620, 0x1933b: 0x6c7dd220,\n\t0x1933c: 0x6c2ea620, 0x1933d: 0x6c925220,\n\t// Block 0x64d, offset 0x19340\n\t0x19342: 0x6d215020, 0x19343: 0x6cdf2620,\n\t0x19344: 0x6c162e20, 0x19345: 0x6c97de20, 0x19346: 0x6c9fb820, 0x19347: 0x6c593220,\n\t0x19348: 0x6cf15420, 0x19349: 0x6caa9220, 0x1934a: 0x6c593420, 0x1934b: 0x6c540a20,\n\t0x1934c: 0x6c6e8e20, 0x1934d: 0x6c0f2620, 0x1934e: 0x6cfc2020, 0x1934f: 0x6c864820,\n\t0x19350: 0x6c6d2620, 0x19352: 0x6c989c20, 0x19353: 0x6cb1ba20,\n\t0x19354: 0x6c4fde20, 0x19355: 0x6d0fd620, 0x19357: 0x6cfd0a20,\n\t0x19358: 0x6cdb1420, 0x19359: 0x6cf01620, 0x1935a: 0x6c183c20, 0x1935b: 0x6cf6be20,\n\t0x1935c: 0x6c6d4c20, 0x1935d: 0x6c135a20, 0x1935e: 0x6c51e420, 0x1935f: 0x6c3b4020,\n\t0x19360: 0x6ccca620, 0x19361: 0x6c8d6a20, 0x19363: 0x6c337220,\n\t0x19364: 0x6cb54220, 0x19365: 0x6cb4b820, 0x19366: 0x6d26fa20, 0x19367: 0x6c0f8e20,\n\t0x19369: 0x6c5c7820, 0x1936a: 0x6c2f0220, 0x1936b: 0x6d0ef620,\n\t0x1936c: 0x6c72d020, 0x1936d: 0x6c69e020, 0x1936e: 0x6ca44c20, 0x1936f: 0x6c8b8620,\n\t0x19370: 0x6d20aa20, 0x19371: 0x6ce41c20, 0x19372: 0x6ce47620, 0x19373: 0x6cf42a20,\n\t0x19374: 0x6c53a220, 0x19375: 0x6cff7220, 0x19376: 0x6c503620,\n\t0x19378: 0x6ce55c20, 0x19379: 0x6d32ca20, 0x1937b: 0x6c59a020,\n\t0x1937c: 0x6c403420, 0x1937f: 0x6cea2c20,\n\t// Block 0x64e, offset 0x19380\n\t0x19381: 0x6cc61a20, 0x19382: 0x6c68ba20,\n\t0x19384: 0x6d031c20, 0x19387: 0x6d260020,\n\t0x19388: 0x6c73ee20, 0x19389: 0x6c572820, 0x1938b: 0x6c056020,\n\t0x1938c: 0x6ca1c420, 0x1938e: 0x6c425e20, 0x1938f: 0x6cef9220,\n\t0x19391: 0x6c9a8020, 0x19392: 0x6cd89c20, 0x19393: 0x6c0b8820,\n\t0x19394: 0x6c914220, 0x19395: 0x6cc0e620,\n\t0x19398: 0x6c43da20, 0x19399: 0x6d303e20, 0x1939a: 0x6c938c20, 0x1939b: 0x6cac2020,\n\t0x1939c: 0x6cc66220, 0x1939d: 0x6cc03020, 0x1939e: 0x6c8aea20, 0x1939f: 0x6c45e020,\n\t0x193a0: 0x6cfbf820, 0x193a1: 0x6cf86e20, 0x193a2: 0x6d02c620,\n\t0x193a4: 0x6ca79620,\n\t0x193a8: 0x6d00a220, 0x193a9: 0x6c8afe20, 0x193aa: 0x6c3d6420, 0x193ab: 0x6c25d620,\n\t0x193ac: 0x6d3d4e20, 0x193ad: 0x6c034820, 0x193ae: 0x6d429c20, 0x193af: 0x6d305020,\n\t0x193b0: 0x6d416e20, 0x193b1: 0x6c510620, 0x193b2: 0x6c601a20,\n\t0x193b4: 0x6c648620,\n\t0x193b8: 0x6ce8b020, 0x193b9: 0x6cfb5c20, 0x193ba: 0x6d0d8620, 0x193bb: 0x6ce0f420,\n\t0x193bc: 0x6cde5620, 0x193bd: 0x6c2bf620, 0x193be: 0x6c744c20, 0x193bf: 0x6c01fc20,\n\t// Block 0x64f, offset 0x193c0\n\t0x193c0: 0x6c4e1020, 0x193c1: 0x6cff8820, 0x193c2: 0x6c712020, 0x193c3: 0x6cee8c20,\n\t0x193c4: 0x6c054c20, 0x193c5: 0x6d3c5e20, 0x193c6: 0x6ca82e20, 0x193c7: 0x6ce53820,\n\t0x193c8: 0x6ca3c020, 0x193cb: 0x6d1fd420,\n\t0x193cc: 0x6c9dc620, 0x193cf: 0x6ca3c820,\n\t0x193d0: 0x6cd13c20, 0x193d1: 0x6c13a220, 0x193d2: 0x6d0c1020, 0x193d3: 0x6c44b620,\n\t0x193d4: 0x6c1d5420, 0x193d5: 0x6cc86420, 0x193d6: 0x6c63ca20, 0x193d7: 0x6cbd8220,\n\t0x193d8: 0x6c98e620, 0x193d9: 0x6c365c20, 0x193da: 0x6c863220, 0x193db: 0x6c1b3420,\n\t0x193dc: 0x6d29da20, 0x193dd: 0x6c513820, 0x193de: 0x6c6ae420, 0x193df: 0x6ca72c20,\n\t0x193e1: 0x6c499020, 0x193e2: 0x6c540c20, 0x193e3: 0x6c414220,\n\t0x193e5: 0x6c07be20, 0x193e6: 0x6cdd8020, 0x193e7: 0x6cf37220,\n\t0x193e8: 0x6c623820, 0x193e9: 0x6cf66a20, 0x193ea: 0x6cbf4a20, 0x193eb: 0x6c515820,\n\t0x193ec: 0x6cf23020, 0x193ed: 0x6cfb7220, 0x193ee: 0x6c6b0820, 0x193ef: 0x6c5cf820,\n\t0x193f0: 0x6cb00420, 0x193f1: 0x6cd00620, 0x193f2: 0x6c1d7620, 0x193f3: 0x6d324e20,\n\t0x193f5: 0x6d2d8a20, 0x193f6: 0x6cd78a20, 0x193f7: 0x6c5f0420,\n\t0x193f8: 0x6cd99420, 0x193f9: 0x6d354220, 0x193fa: 0x6c07a220,\n\t0x193fe: 0x6c810e20, 0x193ff: 0x6c0a2220,\n\t// Block 0x650, offset 0x19400\n\t0x19400: 0x6d08ae20, 0x19401: 0x6cade820, 0x19402: 0x6c278a20,\n\t0x19404: 0x6d340e20, 0x19405: 0x6cb00e20, 0x19406: 0x6c15d420, 0x19407: 0x6c0a2420,\n\t0x19408: 0x6cdafa20, 0x19409: 0x6c5df220, 0x1940a: 0x6c523420, 0x1940b: 0x6c6f2a20,\n\t0x1940c: 0x6c200620, 0x1940d: 0x6c67b420, 0x1940e: 0x6ca5a020, 0x1940f: 0x6c47be20,\n\t0x19410: 0x6c39de20, 0x19413: 0x6cde9a20,\n\t0x19414: 0x6c256020, 0x19415: 0x6cf6c220, 0x19416: 0x6c2a8420, 0x19417: 0x6cfb9020,\n\t0x19418: 0x6c7b7220, 0x19419: 0x6d308a20, 0x1941a: 0x6cddfc20, 0x1941b: 0x6c55ae20,\n\t0x1941c: 0x6c256220, 0x1941d: 0x6c92c820, 0x1941e: 0x6c738c20, 0x1941f: 0x6c92ca20,\n\t0x19420: 0x6cba7220, 0x19421: 0x6cad9620, 0x19422: 0x6d326c20,\n\t0x19424: 0x6c867a20, 0x19425: 0x6c128e20, 0x19426: 0x6cb64a20,\n\t0x19429: 0x6ce41e20, 0x1942a: 0x6c8d6c20, 0x1942b: 0x6cc1d420,\n\t0x1942c: 0x6c88cc20, 0x1942d: 0x6c91e020, 0x1942e: 0x6cd54020, 0x1942f: 0x6c462620,\n\t0x19430: 0x6d309a20, 0x19431: 0x6cad3c20, 0x19432: 0x6c6d5a20, 0x19433: 0x6cbe9020,\n\t0x19436: 0x6d3fc420, 0x19437: 0x6cb46620,\n\t0x19438: 0x6c6cbc20, 0x19439: 0x6c0c8620, 0x1943a: 0x6c66ee20, 0x1943b: 0x6c4bf220,\n\t0x1943e: 0x6d2a3020, 0x1943f: 0x6c8b5a20,\n\t// Block 0x651, offset 0x19440\n\t0x19440: 0x6c848a20, 0x19441: 0x6c95c620, 0x19442: 0x6cd08620, 0x19443: 0x6c9de220,\n\t0x19444: 0x6c66fc20, 0x19445: 0x6c2bb020, 0x19446: 0x6c076a20,\n\t0x19448: 0x6c88d420, 0x1944a: 0x6cfbc620, 0x1944b: 0x6cb22220,\n\t0x1944c: 0x6cc41620, 0x1944d: 0x6c8fda20, 0x1944e: 0x6d41e020,\n\t0x19450: 0x6c74fe20, 0x19451: 0x6ccd2020, 0x19452: 0x6d092620,\n\t0x19454: 0x6d027820, 0x19456: 0x6c804e20, 0x19457: 0x6cb6aa20,\n\t0x19458: 0x6d159820, 0x19459: 0x6caad420, 0x1945a: 0x6c84ca20, 0x1945b: 0x6d271e20,\n\t0x1945d: 0x6d15be20, 0x1945e: 0x6c1a9220, 0x1945f: 0x6c619620,\n\t0x19460: 0x6c4f4a20, 0x19461: 0x6d015e20, 0x19462: 0x6c792a20, 0x19463: 0x6d3e1020,\n\t0x19464: 0x6c509220, 0x19465: 0x6cf86220, 0x19466: 0x6cc26820, 0x19467: 0x6c4d1020,\n\t0x19468: 0x6cf95220, 0x19469: 0x6c4d1220, 0x1946a: 0x6c4a4820, 0x1946b: 0x6c14c220,\n\t0x1946c: 0x6d09fa20, 0x1946d: 0x6d058220, 0x1946e: 0x6cd09c20, 0x1946f: 0x6c79e820,\n\t0x19470: 0x6cf96020, 0x19471: 0x6ccc4a20, 0x19472: 0x6d208a20, 0x19473: 0x6d0bae20,\n\t0x19474: 0x6cb3f220, 0x19475: 0x6d40bc20, 0x19476: 0x6d1fc820, 0x19477: 0x6d3f3e20,\n\t0x19478: 0x6c88be20, 0x19479: 0x6cfaaa20, 0x1947a: 0x6cfa3e20, 0x1947b: 0x6d15f620,\n\t0x1947c: 0x6ccc5820, 0x1947d: 0x6d0e8420, 0x1947e: 0x6c69a220, 0x1947f: 0x6cf66e20,\n\t// Block 0x652, offset 0x19480\n\t0x19480: 0x6c1bb620, 0x19481: 0x6cd3b220, 0x19482: 0x6c774620, 0x19483: 0x6d1afc20,\n\t0x19484: 0x6c522420, 0x19485: 0x6d189620, 0x19486: 0x6cf6e820, 0x19487: 0x6ccb6a20,\n\t0x19488: 0x6c6d5c20, 0x19489: 0x6d135e20, 0x1948a: 0x6d1ec420, 0x1948b: 0x6cc41820,\n\t0x1948c: 0x6d129a20, 0x1948d: 0x6c945e20, 0x1948e: 0x6c7d9c20, 0x1948f: 0x6d333820,\n\t0x19494: 0x6d003a20, 0x19496: 0x6c253a20, 0x19497: 0x6d04e420,\n\t0x19498: 0x6c01d820, 0x19499: 0x6d051e20, 0x1949a: 0x6c118820, 0x1949b: 0x6c201820,\n\t0x1949c: 0x6d2c1e20, 0x1949e: 0x6d16f420, 0x1949f: 0x6caf4420,\n\t0x194a0: 0x6c7a3020, 0x194a1: 0x6cd0fa20, 0x194a2: 0x6c80bc20, 0x194a3: 0x6ce9e420,\n\t0x194a4: 0x6cf61020, 0x194a5: 0x6c8d0620, 0x194a6: 0x6cb4f820, 0x194a7: 0x6cf2f020,\n\t0x194a8: 0x6c88fa20, 0x194a9: 0x6c319e20, 0x194aa: 0x6c9af420, 0x194ab: 0x6c807220,\n\t0x194ac: 0x6cefdc20, 0x194ad: 0x6c32ca20, 0x194ae: 0x6c7b2a20, 0x194af: 0x6c004c20,\n\t0x194b0: 0x6d291a20, 0x194b1: 0x6c5bfa20, 0x194b2: 0x6d182620, 0x194b3: 0x6ca14c20,\n\t0x194b4: 0x6d3f5e20, 0x194b5: 0x6c3be820, 0x194b6: 0x6caec420,\n\t0x194b8: 0x6c0a6c20, 0x194b9: 0x6c871e20, 0x194ba: 0x6c918220, 0x194bb: 0x6c964620,\n\t0x194bc: 0x6c4d0a20, 0x194bd: 0x6d31bc20, 0x194be: 0x6c40ee20, 0x194bf: 0x6cc3ac20,\n\t// Block 0x653, offset 0x194c0\n\t0x194c0: 0x6d315220, 0x194c1: 0x6c797a20, 0x194c2: 0x6c1a0420, 0x194c3: 0x6c6ffe20,\n\t0x194c4: 0x6c746420, 0x194c5: 0x6c623a20, 0x194c6: 0x6c8d5620,\n\t0x194c8: 0x6cceaa20, 0x194c9: 0x6cc40020, 0x194ca: 0x6cc8ea20, 0x194cb: 0x6c21ac20,\n\t0x194cc: 0x6ca5b220, 0x194cd: 0x6d339820, 0x194ce: 0x6c907a20, 0x194cf: 0x6cad3620,\n\t0x194d2: 0x6c063820, 0x194d3: 0x6cc66420,\n\t0x194d4: 0x6cfa9a20, 0x194d5: 0x6c832c20, 0x194d6: 0x6cfeb420, 0x194d7: 0x6c3d6620,\n\t0x194d8: 0x6cc18620, 0x194da: 0x6ccbe820, 0x194db: 0x6d352c20,\n\t0x194dc: 0x6cdfe020, 0x194dd: 0x6cc70e20, 0x194de: 0x6cda4a20, 0x194df: 0x6d1cf620,\n\t0x194e0: 0x6c98e820, 0x194e1: 0x6ca3ca20, 0x194e2: 0x6c0baa20,\n\t0x194e4: 0x6cd65820, 0x194e5: 0x6ce11020, 0x194e6: 0x6c4ee220, 0x194e7: 0x6ccaf620,\n\t0x194e8: 0x6cc69420, 0x194ea: 0x6c2aa820, 0x194eb: 0x6cb44e20,\n\t0x194ec: 0x6c687820, 0x194ed: 0x6ce07620, 0x194ef: 0x6cc48e20,\n\t0x194f0: 0x6ca92c20, 0x194f1: 0x6c8b5c20, 0x194f2: 0x6c2f2020, 0x194f3: 0x6c2e8620,\n\t0x194f4: 0x6d381620, 0x194f6: 0x6c93f420, 0x194f7: 0x6c28b020,\n\t0x194f8: 0x6cf56020, 0x194f9: 0x6c4aba20, 0x194fa: 0x6c5fbe20, 0x194fb: 0x6ca67620,\n\t0x194fc: 0x6d164a20, 0x194fd: 0x6ca75820, 0x194fe: 0x6d221e20, 0x194ff: 0x6cedf220,\n\t// Block 0x654, offset 0x19500\n\t0x19500: 0x6c4ce620, 0x19501: 0x6d2b3c20, 0x19502: 0x6d0c5820, 0x19503: 0x6c251a20,\n\t0x19504: 0x6cfb2620, 0x19505: 0x6c68be20, 0x19506: 0x6ce80620, 0x19507: 0x6c3fac20,\n\t0x19508: 0x6cae0020, 0x1950a: 0x6d1e9220, 0x1950b: 0x6cbfa220,\n\t0x1950c: 0x6d0ad620, 0x1950d: 0x6c107220, 0x1950e: 0x6c0b7c20, 0x1950f: 0x6cd31c20,\n\t0x19510: 0x6d2c2220, 0x19511: 0x6d16c020, 0x19512: 0x6c0b7e20,\n\t0x19514: 0x6c333820, 0x19515: 0x6c7f8e20, 0x19516: 0x6d13d820, 0x19517: 0x6c149220,\n\t0x19518: 0x6c1cb220, 0x19519: 0x6d087820, 0x1951a: 0x6d069220, 0x1951b: 0x6d20d820,\n\t0x1951c: 0x6d04c020,\n\t0x19520: 0x6cde3620, 0x19521: 0x6c4c1620,\n\t0x19525: 0x6c906420, 0x19526: 0x6d018220, 0x19527: 0x6c180c20,\n\t0x19528: 0x6c657e20, 0x19529: 0x6cdf9820, 0x1952a: 0x6cb08c20, 0x1952b: 0x6d296820,\n\t0x1952c: 0x6d080620, 0x1952d: 0x6cfb3c20, 0x1952e: 0x6ca7d220,\n\t0x19534: 0x6c9d3820, 0x19535: 0x6c61f020, 0x19536: 0x6caa1c20, 0x19537: 0x6c54c020,\n\t0x19538: 0x6c571020, 0x19539: 0x6cee1020, 0x1953a: 0x6d1f2a20, 0x1953b: 0x6d2ac020,\n\t0x1953c: 0x6c09a020, 0x1953d: 0x6c9cee20, 0x1953e: 0x6cbab020, 0x1953f: 0x6d019220,\n\t// Block 0x655, offset 0x19540\n\t0x19540: 0x6c394420, 0x19541: 0x6d176020, 0x19542: 0x6cdfa020, 0x19543: 0x6c832e20,\n\t0x19544: 0x6d1e2e20, 0x19546: 0x6c6d0220, 0x19547: 0x6ccf4a20,\n\t0x19548: 0x6d1b4820, 0x19549: 0x6c613820, 0x1954b: 0x6cdaa620,\n\t0x1954f: 0x6cee1c20,\n\t0x19550: 0x6c9e5820, 0x19551: 0x6cdab420, 0x19552: 0x6d17a620, 0x19553: 0x6ccc8820,\n\t0x19554: 0x6cf61420, 0x19555: 0x6c603e20, 0x19556: 0x6c960020, 0x19557: 0x6d1ea620,\n\t0x19558: 0x6c998220, 0x19559: 0x6d2c7c20, 0x1955a: 0x6cdc4020, 0x1955b: 0x6d362a20,\n\t0x1955c: 0x6c0b9c20, 0x1955d: 0x6c83d820,\n\t0x19565: 0x6cbc4820, 0x19566: 0x6c498e20, 0x19567: 0x6cf64a20,\n\t0x19568: 0x6d324a20, 0x19569: 0x6d1d9020, 0x1956a: 0x6ca84020, 0x1956b: 0x6c75ca20,\n\t0x1956c: 0x6d01c620, 0x1956d: 0x6d11b620, 0x1956e: 0x6d01c820, 0x1956f: 0x6d33f020,\n\t0x19570: 0x6ca5a820, 0x19572: 0x6cd7f420, 0x19573: 0x6c903620,\n\t0x19574: 0x6c18d220, 0x19575: 0x6c9d5c20, 0x19576: 0x6cc3cc20, 0x19577: 0x6c27e420,\n\t0x19578: 0x6ccd4820,\n\t0x1957c: 0x6cdae820, 0x1957d: 0x6d01da20, 0x1957e: 0x6c0f2820, 0x1957f: 0x6c2f7a20,\n\t// Block 0x656, offset 0x19580\n\t0x19580: 0x6d40ca20, 0x19582: 0x6cd5f220, 0x19583: 0x6ccf2220,\n\t0x19584: 0x6c4ee420, 0x19585: 0x6cdfb220, 0x19586: 0x6c431420,\n\t0x1958a: 0x6ca36420, 0x1958b: 0x6c9d7a20,\n\t0x1958c: 0x6d0a3020, 0x1958d: 0x6c9afa20, 0x1958e: 0x6c66b420, 0x1958f: 0x6c24fe20,\n\t0x19590: 0x6c749220, 0x19591: 0x6c51de20, 0x19592: 0x6c3ac820, 0x19593: 0x6cd28220,\n\t0x19594: 0x6c17f220, 0x19595: 0x6cd0c220, 0x19596: 0x6caa8a20, 0x19597: 0x6cb2c420,\n\t0x19598: 0x6c980220,\n\t0x1959d: 0x6d189a20, 0x1959e: 0x6c1dda20,\n\t0x195a0: 0x6c7a6220, 0x195a1: 0x6c05d420, 0x195a2: 0x6c825a20, 0x195a3: 0x6c787020,\n\t0x195a4: 0x6ccc7820, 0x195a5: 0x6c0a4e20, 0x195a6: 0x6cdbfc20, 0x195a7: 0x6c443420,\n\t0x195a8: 0x6cb0c020, 0x195a9: 0x6d189c20, 0x195aa: 0x6cfb9220, 0x195ab: 0x6ca6c820,\n\t0x195ac: 0x6d1c9820, 0x195ad: 0x6d3a8020, 0x195ae: 0x6c216220, 0x195af: 0x6c3cbc20,\n\t0x195b0: 0x6d074620, 0x195b1: 0x6cb19c20, 0x195b2: 0x6cf48020, 0x195b3: 0x6c8a2420,\n\t0x195b4: 0x6c124c20, 0x195b5: 0x6d409020, 0x195b6: 0x6d422a20, 0x195b7: 0x6c0bc620,\n\t0x195b8: 0x6d122a20, 0x195b9: 0x6c58a420, 0x195ba: 0x6cac3220, 0x195bb: 0x6d04fa20,\n\t0x195bd: 0x6c82ea20, 0x195be: 0x6cbee420, 0x195bf: 0x6d001220,\n\t// Block 0x657, offset 0x195c0\n\t0x195c0: 0x6c689620, 0x195c1: 0x6c4c9420,\n\t0x195c4: 0x6d0cf020, 0x195c5: 0x6d092420, 0x195c6: 0x6d39e220, 0x195c7: 0x6c527e20,\n\t0x195c8: 0x6d1cb820, 0x195c9: 0x6cf71620,\n\t0x195cc: 0x6c889220, 0x195cd: 0x6cfc4820, 0x195ce: 0x6c58bc20, 0x195cf: 0x6d1a1620,\n\t0x195d1: 0x6c892a20, 0x195d2: 0x6ccd6020, 0x195d3: 0x6c125220,\n\t0x195d4: 0x6c077020, 0x195d5: 0x6c662220, 0x195d6: 0x6cd63020, 0x195d7: 0x6c397a20,\n\t0x195d8: 0x6c2d9820, 0x195da: 0x6c03d820, 0x195db: 0x6d21fe20,\n\t0x195de: 0x6ca47420, 0x195df: 0x6c831420,\n\t0x195e0: 0x6d198220, 0x195e1: 0x6c272820, 0x195e3: 0x6c14ea20,\n\t0x195e4: 0x6c178e20, 0x195e5: 0x6c416a20, 0x195e6: 0x6c6cdc20, 0x195e7: 0x6ca59220,\n\t0x195eb: 0x6c8a6a20,\n\t0x195ec: 0x6ca0e620, 0x195ed: 0x6d1fb220, 0x195ef: 0x6c8f2820,\n\t0x195f0: 0x6c4de620, 0x195f2: 0x6d1e7420, 0x195f3: 0x6c6cf020,\n\t0x195f4: 0x6c1b8c20, 0x195f5: 0x6cc5dc20, 0x195f6: 0x6ca9b620,\n\t0x195f9: 0x6c53ba20, 0x195fa: 0x6ce53620,\n\t0x195fc: 0x6c002420, 0x195fd: 0x6c485620, 0x195fe: 0x6c0bf820, 0x195ff: 0x6c0eea20,\n\t// Block 0x658, offset 0x19600\n\t0x19600: 0x6cbf1420, 0x19602: 0x6cd5d820, 0x19603: 0x6c20ee20,\n\t0x19604: 0x6c5b5420, 0x19605: 0x6c179a20, 0x19606: 0x6c3ff220, 0x19607: 0x6c5ab620,\n\t0x19608: 0x6c363a20, 0x19609: 0x6cf09a20, 0x1960a: 0x6c3b7820, 0x1960b: 0x6cdfe220,\n\t0x1960d: 0x6c94fa20, 0x1960e: 0x6c51cc20, 0x1960f: 0x6d1e4a20,\n\t0x19610: 0x6c5b5a20, 0x19612: 0x6d215820, 0x19613: 0x6d3ff820,\n\t0x19614: 0x6d0e8a20, 0x19615: 0x6cc07420, 0x19616: 0x6d2fbc20, 0x19617: 0x6c6f1a20,\n\t0x19618: 0x6cdf2820,\n\t0x1961f: 0x6cea0820,\n\t0x19620: 0x6c8bc220, 0x19621: 0x6c6f2620, 0x19622: 0x6d2c8220, 0x19623: 0x6d038620,\n\t0x19624: 0x6c56ba20, 0x19626: 0x6d071020,\n\t0x1962a: 0x6c254c20, 0x1962b: 0x6cbeb020,\n\t0x1962c: 0x6ca14e20, 0x1962e: 0x6d2a2220, 0x1962f: 0x6c084c20,\n\t0x19630: 0x6c1ace20, 0x19633: 0x6d0ebc20,\n\t0x19634: 0x6c443620, 0x19635: 0x6ca16220, 0x19636: 0x6c075c20, 0x19637: 0x6c732820,\n\t0x19638: 0x6c2ee620, 0x19639: 0x6d2fe020, 0x1963b: 0x6cf3ea20,\n\t0x1963c: 0x6d0ebe20, 0x1963e: 0x6c74c620, 0x1963f: 0x6cfade20,\n\t// Block 0x659, offset 0x19640\n\t0x19640: 0x6cdf4a20, 0x19641: 0x6c4e6620, 0x19643: 0x6c2d2c20,\n\t0x19644: 0x6c62ac20, 0x19645: 0x6c6b6020, 0x19647: 0x6d414c20,\n\t0x19649: 0x6d025820, 0x1964a: 0x6c7f7620, 0x1964b: 0x6c38e220,\n\t0x1964c: 0x6c5e4020, 0x1964d: 0x6cf92820, 0x1964e: 0x6ca8b620, 0x1964f: 0x6c9cb820,\n\t0x19650: 0x6cc49c20, 0x19651: 0x6c24c220, 0x19652: 0x6d1a3220, 0x19653: 0x6c9d2820,\n\t0x19655: 0x6c747e20, 0x19656: 0x6cc0ea20, 0x19657: 0x6ce73820,\n\t0x19658: 0x6ced7a20, 0x19659: 0x6d2ffc20, 0x1965a: 0x6c84fe20, 0x1965b: 0x6cce9c20,\n\t0x1965c: 0x6c79a620, 0x1965d: 0x6cfa7e20, 0x1965e: 0x6d301e20, 0x1965f: 0x6d33c420,\n\t0x19660: 0x6ce5be20, 0x19661: 0x6cd4bc20, 0x19662: 0x6c073e20, 0x19663: 0x6d136220,\n\t0x19664: 0x6cb14c20, 0x19665: 0x6c164420, 0x19666: 0x6c563e20, 0x19667: 0x6c791620,\n\t0x19668: 0x6c6f4a20, 0x19669: 0x6c011620, 0x1966a: 0x6c213020, 0x1966b: 0x6cb97620,\n\t0x1966c: 0x6c06ea20, 0x1966d: 0x6c032620, 0x1966e: 0x6c3b6020, 0x1966f: 0x6c77d620,\n\t0x19670: 0x6ceafc20, 0x19671: 0x6ceafe20, 0x19672: 0x6d423020, 0x19673: 0x6c8cbc20,\n\t0x19675: 0x6c4aea20, 0x19676: 0x6d0be620, 0x19677: 0x6cd35420,\n\t0x19678: 0x6c545220, 0x19679: 0x6c8b0020, 0x1967a: 0x6ccbee20, 0x1967b: 0x6cd8b220,\n\t0x1967d: 0x6c071020, 0x1967e: 0x6cc5e820, 0x1967f: 0x6c319820,\n\t// Block 0x65a, offset 0x19680\n\t0x19680: 0x6c0eec20, 0x19681: 0x6c895620, 0x19682: 0x6cba0c20, 0x19683: 0x6c3aac20,\n\t0x19684: 0x6c624220, 0x19685: 0x6d3ffa20, 0x19686: 0x6c5ac820, 0x19687: 0x6c514020,\n\t0x19688: 0x6c83e420, 0x19689: 0x6d259620, 0x1968a: 0x6d26ce20, 0x1968b: 0x6d04e620,\n\t0x1968c: 0x6c15d620, 0x1968d: 0x6c2b8c20, 0x1968e: 0x6c825020, 0x1968f: 0x6c6cae20,\n\t0x19690: 0x6c1d1c20, 0x19691: 0x6cd8ec20, 0x19692: 0x6cb49a20, 0x19693: 0x6d11d420,\n\t0x19694: 0x6c678620, 0x19695: 0x6c583620, 0x19696: 0x6c595620, 0x19697: 0x6ce1f620,\n\t0x19698: 0x6cc82c20, 0x19699: 0x6cf26620, 0x1969a: 0x6d1ccc20, 0x1969b: 0x6cc53420,\n\t0x1969c: 0x6d1a3420, 0x1969d: 0x6cd30e20, 0x1969e: 0x6d1a2620, 0x1969f: 0x6c73e220,\n\t0x196a0: 0x6cea4020, 0x196a1: 0x6d080020, 0x196a2: 0x6c632e20, 0x196a3: 0x6d379e20,\n\t0x196a4: 0x6cbc9820, 0x196a5: 0x6d3ab220, 0x196a6: 0x6c2db020,\n\t0x196a8: 0x6d201820, 0x196ab: 0x6d14a420,\n\t0x196ac: 0x6cd2c220, 0x196ad: 0x6d16fa20, 0x196ae: 0x6ca0e820,\n\t0x196b1: 0x6cc3ae20, 0x196b2: 0x6cfea420, 0x196b3: 0x6cf3ba20,\n\t0x196b4: 0x6c44c020, 0x196b5: 0x6d1ce620, 0x196b6: 0x6ce66820, 0x196b7: 0x6cd2c620,\n\t0x196b8: 0x6ca5cc20, 0x196b9: 0x6c44c620, 0x196ba: 0x6cde5020, 0x196bb: 0x6cf28a20,\n\t0x196bc: 0x6c711820, 0x196bd: 0x6c15a820, 0x196be: 0x6cb19620, 0x196bf: 0x6d3d5420,\n\t// Block 0x65b, offset 0x196c0\n\t0x196c0: 0x6c54c420, 0x196c1: 0x6ca4fa20, 0x196c2: 0x6d0c9820, 0x196c3: 0x6c468620,\n\t0x196c4: 0x6d225c20, 0x196c5: 0x6c540420, 0x196c7: 0x6cd7f620,\n\t0x196c8: 0x6c1aba20, 0x196c9: 0x6c56a420, 0x196ca: 0x6d105220, 0x196cb: 0x6cf22e20,\n\t0x196cc: 0x6cfcd020, 0x196cd: 0x6cb21020, 0x196ce: 0x6cc69c20, 0x196cf: 0x6c90a820,\n\t0x196d0: 0x6c81b420, 0x196d1: 0x6cccfe20, 0x196d2: 0x6cfef020, 0x196d3: 0x6d2ae220,\n\t0x196d4: 0x6c4d7820, 0x196d5: 0x6c38b420, 0x196d6: 0x6c4e6220, 0x196d7: 0x6c14d420,\n\t0x196d8: 0x6d2e7620, 0x196da: 0x6cde1620, 0x196db: 0x6d3b2a20,\n\t0x196dc: 0x6ca9c820, 0x196dd: 0x6c4f1820, 0x196de: 0x6d21b620, 0x196df: 0x6d3db420,\n\t0x196e0: 0x6d205c20, 0x196e1: 0x6c86fc20, 0x196e2: 0x6c5e2a20, 0x196e3: 0x6cf73e20,\n\t0x196e4: 0x6cfb0020, 0x196e5: 0x6c155820, 0x196e6: 0x6c889420,\n\t0x196e8: 0x6cd7be20, 0x196e9: 0x6c6fce20, 0x196ea: 0x6cb42820, 0x196eb: 0x6cbffc20,\n\t0x196ec: 0x6c45d620, 0x196ed: 0x6d3ee820, 0x196ee: 0x6d20bc20,\n\t0x196f1: 0x6cc62820, 0x196f2: 0x6ca98420, 0x196f3: 0x6c99d820,\n\t0x196f4: 0x6c032820, 0x196f5: 0x6c6f9820, 0x196f7: 0x6d069620,\n\t0x196f8: 0x6cb29020, 0x196f9: 0x6c0b8a20, 0x196fa: 0x6c995420,\n\t0x196ff: 0x6d14ce20,\n\t// Block 0x65c, offset 0x19700\n\t0x19700: 0x6d20f620, 0x19702: 0x6cb29220, 0x19703: 0x6cc0f220,\n\t0x19704: 0x6c05f420, 0x19705: 0x6c5bae20,\n\t0x19709: 0x6c109420, 0x1970a: 0x6c985820, 0x1970b: 0x6c7e7020,\n\t0x1970c: 0x6ce8a820, 0x1970d: 0x6cf3c220, 0x1970e: 0x6c85ec20, 0x1970f: 0x6c8cea20,\n\t0x19711: 0x6c620220, 0x19712: 0x6c75bc20, 0x19713: 0x6d405620,\n\t0x19714: 0x6c349220, 0x19715: 0x6c745020, 0x19716: 0x6c277020, 0x19717: 0x6c073220,\n\t0x1971d: 0x6c7e8020, 0x1971e: 0x6c0d3e20, 0x1971f: 0x6cdbf820,\n\t0x19720: 0x6ce8c220, 0x19721: 0x6d08e220,\n\t0x19727: 0x6c350c20,\n\t0x1972a: 0x6cdc5420, 0x1972b: 0x6c0a2e20,\n\t0x1972c: 0x6ce87420, 0x1972d: 0x6ccb4a20, 0x1972e: 0x6c120020, 0x1972f: 0x6ce8e420,\n\t0x19730: 0x6c9e3620, 0x19731: 0x6c6c5220, 0x19732: 0x6c93b020,\n\t0x19735: 0x6d2e8020, 0x19736: 0x6c08f620, 0x19737: 0x6c60ac20,\n\t0x19738: 0x6d2b7420, 0x19739: 0x6d07d620, 0x1973a: 0x6c86a020,\n\t0x1973d: 0x6cdc8220, 0x1973e: 0x6d1dc220, 0x1973f: 0x6cd57620,\n\t// Block 0x65d, offset 0x19740\n\t0x19742: 0x6c358620,\n\t0x19747: 0x6cbf8620,\n\t0x19748: 0x6c958020, 0x19749: 0x6d322220, 0x1974a: 0x6cea4620, 0x1974b: 0x6c46fe20,\n\t0x1974c: 0x6d223c20, 0x1974d: 0x6c82be20, 0x1974e: 0x6c0eee20, 0x1974f: 0x6ca56e20,\n\t0x19750: 0x6cb12020, 0x19751: 0x6c890e20, 0x19752: 0x6ce17a20, 0x19753: 0x6c883820,\n\t0x19754: 0x6cf16220, 0x19755: 0x6c291020, 0x19756: 0x6c87be20, 0x19757: 0x6ce65e20,\n\t0x19758: 0x6cec1820, 0x19759: 0x6d390220, 0x1975a: 0x6c426620, 0x1975b: 0x6d03d220,\n\t0x1975c: 0x6c021420, 0x1975d: 0x6c393820, 0x1975e: 0x6caf0e20, 0x1975f: 0x6c0eda20,\n\t0x19760: 0x6ceb0620, 0x19761: 0x6cd4d020, 0x19762: 0x6d14e420, 0x19763: 0x6c0ef020,\n\t0x19764: 0x6cbcb820, 0x19765: 0x6ce80e20, 0x19766: 0x6c45e820, 0x19767: 0x6ce74820,\n\t0x19768: 0x6c4e1220, 0x19769: 0x6c1a0820, 0x1976a: 0x6c6ace20, 0x1976b: 0x6c593a20,\n\t0x1976c: 0x6d042c20, 0x1976d: 0x6c2d6220, 0x1976e: 0x6c146a20, 0x1976f: 0x6c308020,\n\t0x19770: 0x6caffc20, 0x19771: 0x6cc86a20, 0x19772: 0x6c8b2220, 0x19773: 0x6cd14020,\n\t0x19774: 0x6cab8420, 0x19775: 0x6c2c8020, 0x19776: 0x6d217020, 0x19777: 0x6c200220,\n\t0x19778: 0x6cc6a220, 0x19779: 0x6c774820, 0x1977a: 0x6ce12420, 0x1977b: 0x6c23b620,\n\t0x1977c: 0x6cb18220, 0x1977d: 0x6c209820, 0x1977e: 0x6c92ce20, 0x1977f: 0x6ce79020,\n\t// Block 0x65e, offset 0x19780\n\t0x19780: 0x6d336620, 0x19781: 0x6c86a420, 0x19782: 0x6cc9a020, 0x19783: 0x6cac4420,\n\t0x19784: 0x6cd82e20, 0x19786: 0x6c291220, 0x19787: 0x6c55de20,\n\t0x19788: 0x6d190c20, 0x19789: 0x6cfd3220, 0x1978a: 0x6d028020, 0x1978b: 0x6c958820,\n\t0x1978c: 0x6c8f5e20, 0x1978e: 0x6cdfea20, 0x1978f: 0x6c422e20,\n\t0x19791: 0x6ce01c20,\n\t0x19795: 0x6d1ef020, 0x19796: 0x6ca3e020,\n\t0x19798: 0x6c429a20, 0x19799: 0x6c759820, 0x1979a: 0x6c1bfe20, 0x1979b: 0x6c464020,\n\t0x1979c: 0x6cecfa20, 0x1979d: 0x6c85ee20, 0x1979e: 0x6c8e5420, 0x1979f: 0x6c8b0a20,\n\t0x197a0: 0x6cf9c420, 0x197a1: 0x6c06ac20, 0x197a2: 0x6c018a20, 0x197a3: 0x6d237220,\n\t0x197a4: 0x6c713220, 0x197a5: 0x6cc75820, 0x197a6: 0x6d0a3420, 0x197a7: 0x6d3e7a20,\n\t0x197a8: 0x6c25ee20, 0x197a9: 0x6c120620, 0x197aa: 0x6d2baa20, 0x197ab: 0x6d1dc420,\n\t0x197ac: 0x6c407420, 0x197ad: 0x6cc88a20, 0x197af: 0x6cf7cc20,\n\t0x197b0: 0x6cd5e620, 0x197b1: 0x6c68c020, 0x197b2: 0x6c68c220, 0x197b3: 0x6d057020,\n\t0x197b4: 0x6d2f2620, 0x197b7: 0x6cd71220,\n\t0x197b8: 0x6c18a820, 0x197b9: 0x6c390820, 0x197ba: 0x6c5ff820, 0x197bb: 0x6d33a820,\n\t0x197bd: 0x6c480420, 0x197be: 0x6cf4d620,\n\t// Block 0x65f, offset 0x197c0\n\t0x197c0: 0x6cbcae20, 0x197c1: 0x6cd5bc20, 0x197c2: 0x6c4d1420, 0x197c3: 0x6ceb0820,\n\t0x197c4: 0x6c319020, 0x197c5: 0x6d3f0220, 0x197c6: 0x6cc46e20, 0x197c7: 0x6ca27820,\n\t0x197c8: 0x6c3fd020, 0x197c9: 0x6c8cca20, 0x197ca: 0x6c601e20, 0x197cb: 0x6d04ce20,\n\t0x197cc: 0x6d084c20, 0x197cd: 0x6ca37820, 0x197ce: 0x6d0aee20, 0x197cf: 0x6c6be020,\n\t0x197d0: 0x6c85f020, 0x197d1: 0x6c269c20, 0x197d2: 0x6cc7a020, 0x197d3: 0x6d24ee20,\n\t0x197d4: 0x6c939c20, 0x197d5: 0x6cd06220, 0x197d6: 0x6c851820, 0x197d7: 0x6c89bc20,\n\t0x197d8: 0x6c450e20, 0x197d9: 0x6d033820, 0x197da: 0x6d004420, 0x197db: 0x6cbdd820,\n\t0x197dc: 0x6cbcc220, 0x197dd: 0x6c182020, 0x197de: 0x6d1f3c20, 0x197df: 0x6c109a20,\n\t0x197e0: 0x6c7bc220, 0x197e1: 0x6cc3be20, 0x197e2: 0x6c00aa20, 0x197e3: 0x6cbd3420,\n\t0x197e4: 0x6cbac020, 0x197e5: 0x6c1f5220, 0x197e6: 0x6cae1e20, 0x197e7: 0x6c7e0620,\n\t0x197e8: 0x6d13fa20, 0x197e9: 0x6c48ce20, 0x197ea: 0x6cd14220, 0x197eb: 0x6cb0fa20,\n\t0x197ed: 0x6d393820, 0x197ee: 0x6c59de20, 0x197ef: 0x6c5ad620,\n\t0x197f0: 0x6c557e20, 0x197f1: 0x6c074220,\n\t0x197f4: 0x6d2bec20, 0x197f5: 0x6c624620, 0x197f6: 0x6c47c220, 0x197f7: 0x6cf6a420,\n\t0x197f8: 0x6c431620, 0x197f9: 0x6c148620, 0x197fa: 0x6c96d620, 0x197fb: 0x6d3b2020,\n\t0x197fc: 0x6ce9ea20, 0x197fd: 0x6d3ca020, 0x197fe: 0x6cface20, 0x197ff: 0x6c80de20,\n\t// Block 0x660, offset 0x19800\n\t0x19803: 0x6d36e820,\n\t0x19804: 0x6c00cc20, 0x19805: 0x6cfc2e20, 0x19806: 0x6c4c3c20, 0x19807: 0x6cf7a220,\n\t0x19809: 0x6ce9f020, 0x1980a: 0x6c11de20, 0x1980b: 0x6ccb0420,\n\t0x1980c: 0x6cfaea20, 0x1980d: 0x6c6c0e20, 0x1980e: 0x6c3bfa20, 0x1980f: 0x6cc45a20,\n\t0x19811: 0x6d123a20, 0x19812: 0x6c29fa20, 0x19813: 0x6c63f420,\n\t0x19814: 0x6c82fc20, 0x19815: 0x6d0d0220, 0x19816: 0x6c918e20, 0x19817: 0x6ce9d620,\n\t0x19818: 0x6d1cd220, 0x19819: 0x6cb0de20, 0x1981a: 0x6c964a20, 0x1981b: 0x6c87a420,\n\t0x1981c: 0x6c0d1220, 0x1981e: 0x6c995620, 0x1981f: 0x6c040e20,\n\t0x19820: 0x6c5a6a20, 0x19822: 0x6d121220, 0x19823: 0x6c50a420,\n\t0x19824: 0x6c218420, 0x19825: 0x6c516420, 0x19826: 0x6ca95620, 0x19827: 0x6c1e0220,\n\t0x19828: 0x6c874620, 0x19829: 0x6ce19420, 0x1982a: 0x6c585a20, 0x1982b: 0x6c095420,\n\t0x1982c: 0x6c033420, 0x1982d: 0x6c181020, 0x1982e: 0x6d104620, 0x1982f: 0x6c269e20,\n\t0x19830: 0x6c024420, 0x19831: 0x6d091020, 0x19833: 0x6d3e5220,\n\t0x19834: 0x6c265a20, 0x19835: 0x6cc4ce20, 0x19836: 0x6c053820, 0x19837: 0x6c25f020,\n\t0x19838: 0x6ced4e20, 0x19839: 0x6cdebe20, 0x1983a: 0x6c05dc20, 0x1983b: 0x6c417a20,\n\t0x1983c: 0x6d0c7620, 0x1983d: 0x6cf5a620, 0x1983e: 0x6d3ad420, 0x1983f: 0x6d0b4e20,\n\t// Block 0x661, offset 0x19840\n\t0x19840: 0x6c393a20, 0x19841: 0x6d203c20, 0x19842: 0x6c012820, 0x19843: 0x6ce9a420,\n\t0x19844: 0x6c9b2020, 0x19845: 0x6ccf5c20, 0x19846: 0x6c6d2e20, 0x19847: 0x6c47ce20,\n\t0x19848: 0x6c627820, 0x19849: 0x6cbc0020, 0x1984a: 0x6c695820, 0x1984b: 0x6d0d0420,\n\t0x1984c: 0x6cf92e20, 0x1984d: 0x6c772020, 0x1984e: 0x6c9e0220, 0x1984f: 0x6d086a20,\n\t0x19850: 0x6cccc420, 0x19851: 0x6cf2d820, 0x19852: 0x6cb8b420, 0x19853: 0x6c58f620,\n\t0x19854: 0x6cc5d020, 0x19855: 0x6d322420, 0x19856: 0x6ce45c20, 0x19857: 0x6c740020,\n\t0x19858: 0x6d008620, 0x19859: 0x6cb75820, 0x1985a: 0x6c01f820, 0x1985b: 0x6c9a8220,\n\t0x1985c: 0x6c476820, 0x1985e: 0x6ce1b820, 0x1985f: 0x6c389220,\n\t0x19860: 0x6c722c20, 0x19861: 0x6c162820, 0x19862: 0x6cd74c20, 0x19863: 0x6c096820,\n\t0x19864: 0x6c996220, 0x19865: 0x6cd77820, 0x19866: 0x6c477220, 0x19867: 0x6c53a420,\n\t0x19868: 0x6c579620, 0x19869: 0x6c95fe20, 0x1986a: 0x6c4f7420, 0x1986b: 0x6c63b820,\n\t0x1986c: 0x6cc2e220, 0x1986d: 0x6c40f420, 0x1986e: 0x6c599020, 0x1986f: 0x6c103c20,\n\t0x19870: 0x6c478e20, 0x19871: 0x6c3c4e20, 0x19872: 0x6ca28820, 0x19873: 0x6c009c20,\n\t0x19874: 0x6d1cee20, 0x19875: 0x6cd75020, 0x19876: 0x6c89be20, 0x19877: 0x6c6ad020,\n\t0x19878: 0x6c1c2220, 0x19879: 0x6c6ad220, 0x1987a: 0x6c1d7020, 0x1987b: 0x6cb2e820,\n\t0x1987c: 0x6c186a20, 0x1987d: 0x6d0c9a20, 0x1987e: 0x6c321c20, 0x1987f: 0x6c2c5a20,\n\t// Block 0x662, offset 0x19880\n\t0x19881: 0x6c89c220, 0x19882: 0x6cfcd220, 0x19883: 0x6c0c0420,\n\t0x19884: 0x6d042e20, 0x19885: 0x6c9bda20, 0x19886: 0x6d130220, 0x19887: 0x6c9d5e20,\n\t0x19888: 0x6cb7a020, 0x19889: 0x6cb7a220, 0x1988a: 0x6cf30620, 0x1988b: 0x6d01dc20,\n\t0x1988c: 0x6d239820, 0x1988d: 0x6cb87020, 0x1988e: 0x6c1a2820, 0x1988f: 0x6d11c220,\n\t0x19890: 0x6d1bd420, 0x19891: 0x6d0fd420, 0x19892: 0x6c606820, 0x19893: 0x6d3fa220,\n\t0x19894: 0x6d07b220, 0x19895: 0x6c9f6e20, 0x19896: 0x6c907620, 0x19897: 0x6c766e20,\n\t0x19898: 0x6d11ca20, 0x19899: 0x6d0dcc20, 0x1989a: 0x6cdcfa20, 0x1989b: 0x6c4b6c20,\n\t0x1989c: 0x6c5a7a20, 0x1989d: 0x6d1c8e20, 0x1989e: 0x6cd14420, 0x1989f: 0x6c140220,\n\t0x198a0: 0x6c883c20, 0x198a2: 0x6d082420, 0x198a3: 0x6c200e20,\n\t0x198a4: 0x6c184220, 0x198a5: 0x6ca6ca20, 0x198a6: 0x6cc27820, 0x198a7: 0x6c9e7e20,\n\t0x198a8: 0x6c5dfe20, 0x198a9: 0x6d21a420, 0x198aa: 0x6d2e1620, 0x198ab: 0x6c55c820,\n\t0x198ac: 0x6c136020, 0x198ad: 0x6c0c2c20, 0x198ae: 0x6cb9d020, 0x198af: 0x6cf6ee20,\n\t0x198b0: 0x6c67c220, 0x198b1: 0x6c79c620, 0x198b2: 0x6c970220, 0x198b3: 0x6c98a220,\n\t0x198b4: 0x6d2e2220, 0x198b5: 0x6c0b5c20, 0x198b6: 0x6c5f6c20, 0x198b7: 0x6c74d820,\n\t0x198b8: 0x6ca45820, 0x198b9: 0x6c0a9020, 0x198ba: 0x6cd3f420, 0x198bb: 0x6cd7ac20,\n\t0x198bc: 0x6ca18820, 0x198bd: 0x6c8b6420, 0x198be: 0x6c9f0820, 0x198bf: 0x6ca19420,\n\t// Block 0x663, offset 0x198c0\n\t0x198c0: 0x6cf74820, 0x198c1: 0x6c156820, 0x198c2: 0x6cc21620, 0x198c3: 0x6c69e620,\n\t0x198c4: 0x6c5e5a20, 0x198c5: 0x6cfb1a20, 0x198c6: 0x6d068820, 0x198c7: 0x6ca98820,\n\t0x198c8: 0x6ce74020, 0x198c9: 0x6c542220, 0x198ca: 0x6d240e20,\n\t0x198cc: 0x6c1ce220, 0x198cd: 0x6c0fbc20, 0x198ce: 0x6d415820, 0x198cf: 0x6c2dba20,\n\t0x198d0: 0x6d3cfa20, 0x198d1: 0x6c5ea620, 0x198d2: 0x6cb86220,\n\t0x198d4: 0x6d043020, 0x198d5: 0x6c5c0020, 0x198d6: 0x6cd23420, 0x198d7: 0x6c7a1e20,\n\t0x198d9: 0x6c32f220, 0x198da: 0x6d10da20, 0x198db: 0x6d20da20,\n\t0x198dc: 0x6c056420, 0x198dd: 0x6c6a9220, 0x198de: 0x6d30e820, 0x198df: 0x6c634620,\n\t0x198e0: 0x6cd2c820, 0x198e1: 0x6c2bea20, 0x198e2: 0x6c302a20, 0x198e3: 0x6c223a20,\n\t0x198e4: 0x6c3fd220, 0x198e5: 0x6c9f4020, 0x198e6: 0x6d314020, 0x198e7: 0x6d31d020,\n\t0x198e9: 0x6d0e6420, 0x198ea: 0x6cbc2020, 0x198eb: 0x6c4f4e20,\n\t0x198ec: 0x6c45ea20, 0x198ed: 0x6cbb6e20, 0x198ee: 0x6c94a220, 0x198ef: 0x6c48f620,\n\t0x198f0: 0x6c7e7620, 0x198f1: 0x6cc8ce20, 0x198f2: 0x6c383420, 0x198f3: 0x6c260a20,\n\t0x198f4: 0x6d0c9c20, 0x198f5: 0x6c458a20, 0x198f6: 0x6c6ad420, 0x198f7: 0x6c48d020,\n\t0x198f8: 0x6c4c7020, 0x198f9: 0x6cdd7c20, 0x198fa: 0x6cf2ba20, 0x198fb: 0x6d335220,\n\t0x198fc: 0x6ca84220, 0x198fd: 0x6c2e2c20, 0x198fe: 0x6c7f3c20, 0x198ff: 0x6cde6420,\n\t// Block 0x664, offset 0x19900\n\t0x19900: 0x6c254620, 0x19901: 0x6d0af420, 0x19902: 0x6c4bd020,\n\t0x19905: 0x6c2b3420, 0x19907: 0x6c9dc820,\n\t0x19908: 0x6c6a2a20, 0x19909: 0x6c9f7020, 0x1990a: 0x6c71ca20, 0x1990b: 0x6d217420,\n\t0x1990c: 0x6d318020, 0x1990d: 0x6d2fc820, 0x1990e: 0x6d2cd220, 0x1990f: 0x6d038820,\n\t0x19911: 0x6c049420, 0x19912: 0x6c516620, 0x19913: 0x6c46d220,\n\t0x19914: 0x6c538220, 0x19915: 0x6c816e20, 0x19916: 0x6cf51620, 0x19917: 0x6c0e8c20,\n\t0x19918: 0x6c795420, 0x19919: 0x6c92d420, 0x1991a: 0x6c246420, 0x1991b: 0x6c885020,\n\t0x1991c: 0x6d141820, 0x1991d: 0x6cbc6020, 0x1991e: 0x6cd53820,\n\t0x19920: 0x6d08b220, 0x19921: 0x6c6c6220, 0x19922: 0x6cbd4220, 0x19923: 0x6c5b7020,\n\t0x19924: 0x6cdb3620, 0x19925: 0x6c207c20, 0x19926: 0x6c33b420, 0x19927: 0x6c8fb220,\n\t0x19929: 0x6ca4c820, 0x1992a: 0x6ce02220, 0x1992b: 0x6c285220,\n\t0x1992c: 0x6cf03e20, 0x1992d: 0x6c41f220, 0x1992e: 0x6c26c620, 0x1992f: 0x6c86d420,\n\t0x19930: 0x6c10de20, 0x19931: 0x6cfd3e20, 0x19932: 0x6cac8c20, 0x19933: 0x6c7eb620,\n\t0x19934: 0x6d39ec20, 0x19935: 0x6ca7c420, 0x19936: 0x6c580220, 0x19937: 0x6d1cce20,\n\t0x19938: 0x6cfd4620, 0x19939: 0x6c809020, 0x1993a: 0x6ca0a020, 0x1993b: 0x6c03e220,\n\t0x1993d: 0x6c4adc20, 0x1993e: 0x6c08c620, 0x1993f: 0x6c3d5020,\n\t// Block 0x665, offset 0x19940\n\t0x19940: 0x6c5da820, 0x19941: 0x6d173c20, 0x19942: 0x6c8f2c20,\n\t0x19944: 0x6d19cc20, 0x19945: 0x6c735c20, 0x19946: 0x6c5d7420, 0x19947: 0x6c1a0a20,\n\t0x19948: 0x6c311c20, 0x19949: 0x6c356a20, 0x1994b: 0x6d0da620,\n\t0x1994c: 0x6d3c9420, 0x1994d: 0x6d2cce20, 0x1994e: 0x6cb70420, 0x1994f: 0x6d216220,\n\t0x19950: 0x6cc37620, 0x19951: 0x6c5d7a20, 0x19952: 0x6ca84420, 0x19953: 0x6c59e220,\n\t0x19954: 0x6c71cc20, 0x19955: 0x6ccf6820,\n\t0x19958: 0x6caebe20, 0x19959: 0x6ca01820, 0x1995a: 0x6c129220, 0x1995b: 0x6c90ba20,\n\t0x1995c: 0x6c843e20, 0x1995d: 0x6c205e20, 0x1995f: 0x6c24f020,\n\t0x19960: 0x6ccdc820, 0x19961: 0x6c280a20, 0x19962: 0x6cb68220,\n\t0x19964: 0x6c7f7a20, 0x19965: 0x6c8de620, 0x19966: 0x6c8a6220, 0x19967: 0x6cc62220,\n\t0x19968: 0x6d20c820, 0x19969: 0x6d16ca20, 0x1996a: 0x6c2df820, 0x1996b: 0x6cb6dc20,\n\t0x1996c: 0x6d147820, 0x1996d: 0x6ca6f420, 0x1996e: 0x6c3d5220, 0x1996f: 0x6c657420,\n\t0x19970: 0x6d0b1c20, 0x19971: 0x6c398c20, 0x19972: 0x6cc8c420, 0x19973: 0x6cfa8c20,\n\t0x19976: 0x6c096a20, 0x19977: 0x6cd25e20,\n\t0x19978: 0x6cb38020, 0x19979: 0x6ca6fc20, 0x1997a: 0x6d35f620, 0x1997b: 0x6ce22020,\n\t0x1997c: 0x6ce4f020, 0x1997d: 0x6ce4f220, 0x1997e: 0x6cc81620, 0x1997f: 0x6d176a20,\n\t// Block 0x666, offset 0x19980\n\t0x19980: 0x6c8b0420, 0x19981: 0x6c01bc20, 0x19982: 0x6c511020, 0x19983: 0x6cbf1620,\n\t0x19984: 0x6c85f420, 0x19985: 0x6c4a5c20, 0x19986: 0x6d3f4a20, 0x19987: 0x6cdaaa20,\n\t0x19988: 0x6d261020, 0x19989: 0x6d0ba220, 0x1998a: 0x6c13dc20, 0x1998b: 0x6ced2420,\n\t0x1998c: 0x6c72f420, 0x1998d: 0x6ce6cc20, 0x1998e: 0x6d1fd020, 0x1998f: 0x6c5bc620,\n\t0x19990: 0x6c659c20, 0x19991: 0x6cc89e20, 0x19992: 0x6c986420, 0x19993: 0x6c71b820,\n\t0x19994: 0x6d3e5620, 0x19995: 0x6c70a820, 0x19996: 0x6c013a20, 0x19997: 0x6cdc5020,\n\t0x19998: 0x6c7f1620, 0x19999: 0x6c5d3020, 0x1999a: 0x6cc35e20, 0x1999b: 0x6c167220,\n\t0x1999c: 0x6c34fa20, 0x1999d: 0x6c798020, 0x1999e: 0x6ca55020, 0x1999f: 0x6c11d220,\n\t0x199a0: 0x6ce35620, 0x199a1: 0x6d064c20, 0x199a2: 0x6c701020, 0x199a3: 0x6c59e420,\n\t0x199a4: 0x6cb7b820, 0x199a5: 0x6c6b0e20, 0x199a6: 0x6c98f220, 0x199a7: 0x6d0c2020,\n\t0x199a9: 0x6d354820, 0x199aa: 0x6ce9b020,\n\t0x199ac: 0x6c00c220, 0x199ad: 0x6cad0a20, 0x199ae: 0x6c125a20, 0x199af: 0x6ce12820,\n\t0x199b0: 0x6c372220, 0x199b1: 0x6c5d3c20, 0x199b2: 0x6cb63e20, 0x199b3: 0x6c1ea620,\n\t0x199b4: 0x6cdd9020, 0x199b5: 0x6d3d8820, 0x199b6: 0x6caa2620, 0x199b7: 0x6ce8f220,\n\t0x199b8: 0x6cd01a20, 0x199b9: 0x6c90f820, 0x199ba: 0x6c0c2020, 0x199bb: 0x6c844020,\n\t0x199bc: 0x6c977c20, 0x199bd: 0x6d02f020, 0x199be: 0x6c133c20, 0x199bf: 0x6c5a0a20,\n\t// Block 0x667, offset 0x199c0\n\t0x199c0: 0x6c9a6c20, 0x199c1: 0x6c42e620, 0x199c2: 0x6c887620, 0x199c3: 0x6c2a3e20,\n\t0x199c4: 0x6d2e2420, 0x199c5: 0x6d3eaa20,\n\t0x199c8: 0x6d375620, 0x199c9: 0x6c03d020, 0x199ca: 0x6c258a20, 0x199cb: 0x6cbfe420,\n\t0x199cd: 0x6c8fea20, 0x199ce: 0x6cfb0a20, 0x199cf: 0x6c3afa20,\n\t0x199d0: 0x6c4cac20, 0x199d1: 0x6c19b820, 0x199d2: 0x6c6fda20, 0x199d3: 0x6c35f620,\n\t0x199d4: 0x6c1cb420, 0x199d5: 0x6d269220, 0x199d6: 0x6c531620, 0x199d7: 0x6d119e20,\n\t0x199d8: 0x6d0ae220, 0x199d9: 0x6d10e620, 0x199da: 0x6ce74420, 0x199db: 0x6d2cc020,\n\t0x199dc: 0x6d204020, 0x199dd: 0x6d095620, 0x199de: 0x6d11aa20, 0x199df: 0x6c78a820,\n\t0x199e0: 0x6c591620, 0x199e1: 0x6c80cc20, 0x199e2: 0x6d26ba20, 0x199e3: 0x6c18ca20,\n\t0x199e6: 0x6cd0b220,\n\t0x199e8: 0x6ca90e20, 0x199e9: 0x6ca00a20, 0x199ea: 0x6c52ba20, 0x199eb: 0x6c205820,\n\t0x199ec: 0x6d27fe20, 0x199ed: 0x6d07be20, 0x199ee: 0x6c6d4420, 0x199ef: 0x6d3d9c20,\n\t0x199f0: 0x6d209c20, 0x199f1: 0x6cdfbc20, 0x199f2: 0x6c775420, 0x199f3: 0x6cbf6420,\n\t0x199f5: 0x6c1a4c20, 0x199f6: 0x6c6f8820, 0x199f7: 0x6d097620,\n\t0x199f8: 0x6d32fa20, 0x199f9: 0x6c1ce420, 0x199fa: 0x6cac4a20, 0x199fb: 0x6cbc6620,\n\t0x199fd: 0x6cc1e620, 0x199fe: 0x6c7fd620, 0x199ff: 0x6d190e20,\n\t// Block 0x668, offset 0x19a00\n\t0x19a00: 0x6cc6de20, 0x19a01: 0x6cd84e20, 0x19a02: 0x6cb89c20, 0x19a03: 0x6cd89220,\n\t0x19a05: 0x6c380420, 0x19a07: 0x6c9b1020,\n\t0x19a08: 0x6c578e20, 0x19a0b: 0x6c4d6620,\n\t0x19a0c: 0x6cbc4420, 0x19a0d: 0x6c1f4620, 0x19a0e: 0x6cc3d420, 0x19a0f: 0x6c334e20,\n\t0x19a10: 0x6c863820, 0x19a11: 0x6c03b820, 0x19a12: 0x6c6c0420, 0x19a13: 0x6d05ee20,\n\t0x19a14: 0x6c963620, 0x19a16: 0x6d27de20, 0x19a17: 0x6d37ae20,\n\t0x19a18: 0x6c568220, 0x19a19: 0x6d1ad220, 0x19a1b: 0x6d351020,\n\t0x19a1c: 0x6cb9fa20, 0x19a1e: 0x6c419420, 0x19a1f: 0x6c667c20,\n\t0x19a20: 0x6d3ae220, 0x19a21: 0x6d3ae420, 0x19a22: 0x6c7a7820, 0x19a23: 0x6ca81a20,\n\t0x19a24: 0x6cc8ca20, 0x19a25: 0x6d2ac220, 0x19a26: 0x6c020820, 0x19a27: 0x6d363820,\n\t0x19a28: 0x6c461a20, 0x19a29: 0x6d17b220, 0x19a2a: 0x6c1ab020, 0x19a2b: 0x6c5ed620,\n\t0x19a2c: 0x6d39a620, 0x19a2d: 0x6c81b220, 0x19a2e: 0x6cc5ee20, 0x19a2f: 0x6cc67620,\n\t0x19a30: 0x6d32c620, 0x19a31: 0x6ca34220, 0x19a32: 0x6c12ec20,\n\t0x19a35: 0x6d151e20, 0x19a36: 0x6c746820, 0x19a37: 0x6c0cee20,\n\t0x19a38: 0x6c1a1e20, 0x19a39: 0x6c75ce20, 0x19a3a: 0x6c312620, 0x19a3b: 0x6cefe420,\n\t0x19a3c: 0x6d17fa20, 0x19a3d: 0x6d306020, 0x19a3e: 0x6d0cae20,\n\t// Block 0x669, offset 0x19a40\n\t0x19a40: 0x6cca0220, 0x19a41: 0x6c950220, 0x19a42: 0x6cb2be20, 0x19a43: 0x6d2f9020,\n\t0x19a44: 0x6c4e2020, 0x19a45: 0x6d239a20, 0x19a46: 0x6c278220, 0x19a47: 0x6d2fca20,\n\t0x19a48: 0x6c3a3e20, 0x19a49: 0x6ccc6620, 0x19a4a: 0x6c8d3820, 0x19a4b: 0x6cde7a20,\n\t0x19a4c: 0x6cc12220, 0x19a4d: 0x6c986e20, 0x19a4e: 0x6d132c20, 0x19a4f: 0x6c05d220,\n\t0x19a50: 0x6c4b6e20, 0x19a51: 0x6c489e20, 0x19a52: 0x6ca43620, 0x19a53: 0x6c442420,\n\t0x19a55: 0x6cd28420, 0x19a56: 0x6c782820, 0x19a57: 0x6cdd9220,\n\t0x19a58: 0x6c225c20, 0x19a59: 0x6d394620, 0x19a5a: 0x6cdf3820, 0x19a5b: 0x6c7b3420,\n\t0x19a5c: 0x6cbe2420, 0x19a5d: 0x6d05d820, 0x19a5e: 0x6c322820, 0x19a5f: 0x6c131220,\n\t0x19a60: 0x6c58da20, 0x19a61: 0x6c234420, 0x19a62: 0x6cc9de20, 0x19a63: 0x6d336020,\n\t0x19a64: 0x6cb9be20, 0x19a65: 0x6c6c5420, 0x19a66: 0x6d3fb420, 0x19a67: 0x6cf00020,\n\t0x19a6a: 0x6cf8de20, 0x19a6b: 0x6ca36c20,\n\t0x19a6c: 0x6cb45420, 0x19a6d: 0x6cd9e020, 0x19a6e: 0x6c729420, 0x19a6f: 0x6d319620,\n\t0x19a70: 0x6cce8620, 0x19a71: 0x6ce1e820, 0x19a72: 0x6c049c20, 0x19a73: 0x6cdea020,\n\t0x19a74: 0x6cba7c20, 0x19a75: 0x6cf23a20, 0x19a76: 0x6cc6ae20, 0x19a77: 0x6c962820,\n\t0x19a78: 0x6c55ca20, 0x19a79: 0x6cda2e20, 0x19a7a: 0x6d37cc20, 0x19a7b: 0x6cb46020,\n\t0x19a7c: 0x6c9ef620, 0x19a7d: 0x6c6c6420, 0x19a7e: 0x6cce8a20, 0x19a7f: 0x6c9d8e20,\n\t// Block 0x66a, offset 0x19a80\n\t0x19a80: 0x6cd61c20, 0x19a81: 0x6c8d7020, 0x19a82: 0x6c82de20, 0x19a83: 0x6c67c420,\n\t0x19a84: 0x6c838a20, 0x19a85: 0x6d370e20, 0x19a86: 0x6c2e0020,\n\t0x19a88: 0x6cca2e20, 0x19a89: 0x6c473e20, 0x19a8a: 0x6c397220, 0x19a8b: 0x6c9ab220,\n\t0x19a8c: 0x6cdc9e20, 0x19a8d: 0x6c65f620, 0x19a8e: 0x6ce15020, 0x19a8f: 0x6d025e20,\n\t0x19a90: 0x6c7a6a20, 0x19a91: 0x6cf3fe20, 0x19a92: 0x6c38d220, 0x19a93: 0x6c963820,\n\t0x19a94: 0x6c117820, 0x19a95: 0x6c136620, 0x19a96: 0x6c8d7a20, 0x19a97: 0x6d142620,\n\t0x19a98: 0x6c23be20, 0x19a99: 0x6d27ce20, 0x19a9a: 0x6c9b7420, 0x19a9b: 0x6d245020,\n\t0x19a9c: 0x6d374220, 0x19a9d: 0x6d162020, 0x19a9e: 0x6c285620, 0x19a9f: 0x6c5e2c20,\n\t0x19aa0: 0x6cef5a20, 0x19aa1: 0x6ce03220, 0x19aa2: 0x6ccb7e20, 0x19aa3: 0x6d024420,\n\t0x19aa4: 0x6cda3620, 0x19aa5: 0x6cd97620, 0x19aa6: 0x6cb94c20, 0x19aa7: 0x6c8eda20,\n\t0x19aa8: 0x6d194620, 0x19aaa: 0x6c835a20, 0x19aab: 0x6c84aa20,\n\t0x19aac: 0x6c3af420, 0x19aad: 0x6c8b6a20, 0x19aae: 0x6c8c8820, 0x19aaf: 0x6cfd4820,\n\t0x19ab0: 0x6d002c20, 0x19ab1: 0x6cab6420, 0x19ab2: 0x6c9cbc20, 0x19ab3: 0x6cfb1220,\n\t0x19ab4: 0x6cc4f820, 0x19ab5: 0x6d3c0220, 0x19ab6: 0x6cd6be20, 0x19ab7: 0x6d0d1e20,\n\t0x19ab8: 0x6c0be020, 0x19ab9: 0x6c8df020, 0x19aba: 0x6c531a20, 0x19abb: 0x6cb5a620,\n\t0x19abc: 0x6c8a9620, 0x19abd: 0x6c04ca20, 0x19abe: 0x6c097e20, 0x19abf: 0x6c554820,\n\t// Block 0x66b, offset 0x19ac0\n\t0x19ac0: 0x6c554a20, 0x19ac2: 0x6c12f220, 0x19ac3: 0x6cae1c20,\n\t0x19ac4: 0x6cbf2c20, 0x19ac5: 0x6c9ffe20, 0x19ac6: 0x6c700220, 0x19ac7: 0x6c10a220,\n\t0x19ac8: 0x6c9a1420, 0x19ac9: 0x6cca1e20, 0x19aca: 0x6cf0a820,\n\t0x19acd: 0x6c841e20, 0x19ace: 0x6cc36220,\n\t0x19ad0: 0x6c5cfa20, 0x19ad1: 0x6cfdf220, 0x19ad3: 0x6cd3c620,\n\t0x19ad4: 0x6d1c9020, 0x19ad6: 0x6ca43820, 0x19ad7: 0x6c59f220,\n\t0x19ad8: 0x6c701a20, 0x19ad9: 0x6d0c2620, 0x19adb: 0x6cc99020,\n\t0x19adc: 0x6ce96220, 0x19add: 0x6d022e20, 0x19ade: 0x6d309c20, 0x19adf: 0x6c9ada20,\n\t0x19ae0: 0x6cf8f420, 0x19ae1: 0x6c978a20, 0x19ae3: 0x6c5a1820,\n\t0x19ae4: 0x6ce02420, 0x19ae5: 0x6d001420, 0x19ae6: 0x6d137220, 0x19ae7: 0x6c0a9420,\n\t0x19ae8: 0x6c955a20, 0x19ae9: 0x6c38d420, 0x19aea: 0x6c870620, 0x19aeb: 0x6c251220,\n\t0x19aec: 0x6c1fa620, 0x19aed: 0x6c2a4620, 0x19aee: 0x6c2bb620, 0x19aef: 0x6c7c1c20,\n\t0x19af0: 0x6c1ecc20, 0x19af1: 0x6cfb1420, 0x19af2: 0x6c165220, 0x19af3: 0x6c9cce20,\n\t0x19af4: 0x6cba8e20, 0x19af5: 0x6cc00820, 0x19af6: 0x6d322620,\n\t0x19afa: 0x6c568620, 0x19afb: 0x6c418c20,\n\t0x19afc: 0x6c1b9220, 0x19afd: 0x6c48f220, 0x19afe: 0x6ca27a20, 0x19aff: 0x6c0ede20,\n\t// Block 0x66c, offset 0x19b00\n\t0x19b00: 0x6c579020, 0x19b01: 0x6c44fc20, 0x19b02: 0x6d10e820, 0x19b03: 0x6c996420,\n\t0x19b04: 0x6cee0820,\n\t0x19b08: 0x6cc7a420, 0x19b09: 0x6d090820, 0x19b0a: 0x6d32b820, 0x19b0b: 0x6c9f4a20,\n\t0x19b0c: 0x6c67a420, 0x19b0e: 0x6d2e5a20, 0x19b0f: 0x6d423820,\n\t0x19b10: 0x6d26a620, 0x19b11: 0x6c8b0620, 0x19b13: 0x6d392420,\n\t0x19b14: 0x6c098020, 0x19b15: 0x6cc5f020, 0x19b16: 0x6d234e20,\n\t0x19b18: 0x6c21c020, 0x19b19: 0x6c379820, 0x19b1a: 0x6d17b420, 0x19b1b: 0x6c9cf620,\n\t0x19b1c: 0x6cbeca20, 0x19b1e: 0x6cee1e20, 0x19b1f: 0x6c621e20,\n\t0x19b20: 0x6c104020, 0x19b22: 0x6c0cae20, 0x19b23: 0x6c38a820,\n\t0x19b24: 0x6d26c820, 0x19b25: 0x6c83ee20, 0x19b26: 0x6c38aa20, 0x19b27: 0x6cc1a820,\n\t0x19b28: 0x6c3f7620, 0x19b29: 0x6c376220, 0x19b2a: 0x6c354420, 0x19b2b: 0x6d32e420,\n\t0x19b2c: 0x6ce47020, 0x19b2d: 0x6d239c20, 0x19b2e: 0x6c6d3020, 0x19b2f: 0x6cb70c20,\n\t0x19b30: 0x6c714220, 0x19b31: 0x6c7f1e20, 0x19b32: 0x6c17f020, 0x19b33: 0x6c06d020,\n\t0x19b34: 0x6ca9a820, 0x19b35: 0x6d186020, 0x19b36: 0x6d065420, 0x19b37: 0x6ca1e020,\n\t0x19b38: 0x6d0a3620, 0x19b39: 0x6c3eda20, 0x19b3b: 0x6ca8ec20,\n\t0x19b3c: 0x6ce64820, 0x19b3d: 0x6c082c20, 0x19b3e: 0x6d2c8a20, 0x19b3f: 0x6ceeae20,\n\t// Block 0x66d, offset 0x19b40\n\t0x19b40: 0x6c782a20, 0x19b41: 0x6d10b020, 0x19b42: 0x6caba420, 0x19b43: 0x6cff0820,\n\t0x19b44: 0x6c451a20, 0x19b45: 0x6ce13820, 0x19b46: 0x6c4b7620, 0x19b47: 0x6c5c3a20,\n\t0x19b48: 0x6cddfe20, 0x19b4a: 0x6d114620, 0x19b4b: 0x6c266820,\n\t0x19b4c: 0x6cb7ea20, 0x19b4d: 0x6c6cba20, 0x19b4e: 0x6c94c220, 0x19b4f: 0x6c9d9020,\n\t0x19b50: 0x6c9d9220, 0x19b51: 0x6c64fe20, 0x19b52: 0x6c92ec20, 0x19b53: 0x6c38c820,\n\t0x19b54: 0x6cab5620, 0x19b55: 0x6c9c7e20, 0x19b56: 0x6c6b6420, 0x19b57: 0x6c3f9220,\n\t0x19b58: 0x6c0d1a20, 0x19b59: 0x6c5a7c20, 0x19b5a: 0x6cda5c20, 0x19b5b: 0x6d115e20,\n\t0x19b5c: 0x6ca89620, 0x19b5d: 0x6c6c6c20, 0x19b5e: 0x6c88d620, 0x19b5f: 0x6c0faa20,\n\t0x19b60: 0x6c652420, 0x19b61: 0x6ce3ca20, 0x19b62: 0x6c8d8220, 0x19b63: 0x6d415220,\n\t0x19b64: 0x6cd20e20, 0x19b65: 0x6d1b2620, 0x19b66: 0x6c2a4820, 0x19b67: 0x6c1e0620,\n\t0x19b68: 0x6c10e220, 0x19b69: 0x6c9f1220, 0x19b6a: 0x6d0e1620, 0x19b6b: 0x6c805620,\n\t0x19b6c: 0x6c1d3420, 0x19b6d: 0x6c68b020, 0x19b6e: 0x6cd6bc20, 0x19b6f: 0x6cc2ac20,\n\t0x19b70: 0x6ca8c820, 0x19b71: 0x6c964c20, 0x19b73: 0x6cd21e20,\n\t0x19b74: 0x6c965020, 0x19b75: 0x6d3a4c20, 0x19b77: 0x6c1d6e20,\n\t0x19b78: 0x6c734e20, 0x19b79: 0x6c6f0c20, 0x19b7a: 0x6c379a20, 0x19b7b: 0x6d17b820,\n\t0x19b7c: 0x6cc8d620, 0x19b7d: 0x6c113c20, 0x19b7e: 0x6cc57a20, 0x19b7f: 0x6c3edc20,\n\t// Block 0x66e, offset 0x19b80\n\t0x19b80: 0x6c7fb820, 0x19b81: 0x6cdcaa20, 0x19b82: 0x6d20e220, 0x19b83: 0x6d1f1c20,\n\t0x19b84: 0x6c2d1820, 0x19b85: 0x6c8cf420, 0x19b86: 0x6d3aec20, 0x19b87: 0x6cde5220,\n\t0x19b88: 0x6cb29e20, 0x19b89: 0x6d2d2a20, 0x19b8a: 0x6c684c20, 0x19b8b: 0x6c20de20,\n\t0x19b8c: 0x6c10ac20, 0x19b8d: 0x6c7a0620, 0x19b8e: 0x6c25b620,\n\t0x19b90: 0x6c4e5220, 0x19b91: 0x6c4e5420, 0x19b92: 0x6ca20020, 0x19b93: 0x6c567420,\n\t0x19b94: 0x6c457220, 0x19b95: 0x6c2b2020, 0x19b96: 0x6c3e3c20, 0x19b97: 0x6d088020,\n\t0x19b98: 0x6c9c4c20, 0x19b99: 0x6c9a0420, 0x19b9a: 0x6c811e20, 0x19b9b: 0x6c481e20,\n\t0x19b9c: 0x6d2fc020, 0x19b9d: 0x6cde6620, 0x19b9e: 0x6d23a220, 0x19b9f: 0x6d402820,\n\t0x19ba0: 0x6c844820, 0x19ba1: 0x6c92d820, 0x19ba2: 0x6cf3f620, 0x19ba3: 0x6c826c20,\n\t0x19ba4: 0x6c615e20, 0x19ba5: 0x6c875220, 0x19ba6: 0x6c84d820,\n\t0x19ba8: 0x6cb30420, 0x19ba9: 0x6d101020, 0x19baa: 0x6cec2e20, 0x19bab: 0x6ceb1a20,\n\t0x19bac: 0x6cae6e20, 0x19bae: 0x6d2fb420, 0x19baf: 0x6c4b0220,\n\t0x19bb1: 0x6d061e20, 0x19bb2: 0x6ca38020, 0x19bb3: 0x6cc3e420,\n\t0x19bb4: 0x6ceff620, 0x19bb5: 0x6d32e620, 0x19bb6: 0x6c300e20, 0x19bb7: 0x6cf00820,\n\t0x19bb8: 0x6c0f6020, 0x19bba: 0x6c595820, 0x19bbb: 0x6d08c020,\n\t0x19bbc: 0x6d295620, 0x19bbd: 0x6c877220, 0x19bbe: 0x6d0d6020, 0x19bbf: 0x6c59ae20,\n\t// Block 0x66f, offset 0x19bc0\n\t0x19bc0: 0x6d095820, 0x19bc1: 0x6c554c20, 0x19bc2: 0x6c05f820, 0x19bc3: 0x6cc4c220,\n\t0x19bc4: 0x6cfeba20, 0x19bc5: 0x6cb38620, 0x19bc6: 0x6c8a9820, 0x19bc7: 0x6d388a20,\n\t0x19bc8: 0x6d17ba20, 0x19bc9: 0x6d06e220, 0x19bca: 0x6c960820, 0x19bcb: 0x6c77be20,\n\t0x19bcc: 0x6c1f5620, 0x19bce: 0x6ca35620, 0x19bcf: 0x6c4e2220,\n\t0x19bd0: 0x6c17a220, 0x19bd1: 0x6c929220, 0x19bd2: 0x6d2e0620, 0x19bd3: 0x6cde7c20,\n\t0x19bd4: 0x6c3da220, 0x19bd5: 0x6c52c820, 0x19bd6: 0x6d2ba020, 0x19bd7: 0x6cbc0620,\n\t0x19bd8: 0x6cdb5020, 0x19bd9: 0x6cb1fa20, 0x19bda: 0x6c49ba20,\n\t0x19bdc: 0x6c5cd020, 0x19bdd: 0x6c1e8020, 0x19bdf: 0x6c374420,\n\t0x19be0: 0x6c374620, 0x19be1: 0x6cc85a20, 0x19be2: 0x6cb6e220, 0x19be3: 0x6cd8ba20,\n\t0x19be4: 0x6c713620, 0x19be6: 0x6d0dbe20, 0x19be7: 0x6c058220,\n\t0x19be8: 0x6d131e20, 0x19be9: 0x6d3e6c20, 0x19bea: 0x6ca55220, 0x19beb: 0x6c20b220,\n\t0x19bec: 0x6c03c220, 0x19bed: 0x6c126c20, 0x19bee: 0x6ce42c20, 0x19bef: 0x6c4f1c20,\n\t0x19bf0: 0x6d425220, 0x19bf1: 0x6c03d420, 0x19bf2: 0x6d301420, 0x19bf3: 0x6cec2820,\n\t0x19bf4: 0x6c44c420, 0x19bf5: 0x6c098220, 0x19bf6: 0x6c37ca20, 0x19bf7: 0x6d3af820,\n\t0x19bf8: 0x6cf50220, 0x19bf9: 0x6cf19a20, 0x19bfa: 0x6d369820, 0x19bfb: 0x6d393c20,\n\t0x19bfc: 0x6c929420, 0x19bfd: 0x6cf1a020, 0x19bfe: 0x6c4bdc20, 0x19bff: 0x6cc08e20,\n\t// Block 0x670, offset 0x19c00\n\t0x19c00: 0x6c7e9420, 0x19c01: 0x6d292020, 0x19c02: 0x6cda2820, 0x19c03: 0x6c9dd420,\n\t0x19c04: 0x6c2c0620, 0x19c05: 0x6cb7ec20, 0x19c06: 0x6c129a20, 0x19c07: 0x6cb1bc20,\n\t0x19c08: 0x6c887820, 0x19c09: 0x6cd21020, 0x19c0a: 0x6c8ff620, 0x19c0b: 0x6cdad620,\n\t0x19c0c: 0x6cb73220, 0x19c0d: 0x6d25fa20, 0x19c0e: 0x6c3c9e20, 0x19c0f: 0x6d056820,\n\t0x19c10: 0x6c73f620, 0x19c11: 0x6c2c3020, 0x19c12: 0x6cb14820, 0x19c13: 0x6c494a20,\n\t0x19c14: 0x6ca98620, 0x19c15: 0x6cc5d220, 0x19c16: 0x6d321c20, 0x19c17: 0x6c412e20,\n\t0x19c18: 0x6cb08a20, 0x19c19: 0x6ce05420, 0x19c1a: 0x6c179220, 0x19c1b: 0x6c217220,\n\t0x19c1c: 0x6c508e20, 0x19c1d: 0x6d3b7220, 0x19c1e: 0x6ca0ec20, 0x19c1f: 0x6c0ce020,\n\t0x19c20: 0x6cb75e20, 0x19c21: 0x6cd34620, 0x19c22: 0x6c08ca20, 0x19c23: 0x6c740620,\n\t0x19c24: 0x6cd8a420, 0x19c26: 0x6c485220, 0x19c27: 0x6ca32a20,\n\t0x19c28: 0x6c5b4e20, 0x19c29: 0x6cf5ca20, 0x19c2a: 0x6c37c820, 0x19c2b: 0x6d04ca20,\n\t0x19c2c: 0x6ca1ca20, 0x19c2e: 0x6cf77220, 0x19c2f: 0x6d360220,\n\t0x19c30: 0x6cc8fc20, 0x19c31: 0x6c711a20, 0x19c32: 0x6c2e9420, 0x19c33: 0x6d30f420,\n\t0x19c34: 0x6cced820, 0x19c35: 0x6c9bd220, 0x19c36: 0x6c098420, 0x19c37: 0x6c4eb420,\n\t0x19c38: 0x6d210420, 0x19c39: 0x6cfcb820, 0x19c3a: 0x6cacd420, 0x19c3b: 0x6ca5a620,\n\t0x19c3c: 0x6c119820, 0x19c3d: 0x6c109c20, 0x19c3f: 0x6cb70020,\n\t// Block 0x671, offset 0x19c40\n\t0x19c40: 0x6c620820, 0x19c41: 0x6d3d6420, 0x19c42: 0x6c925e20, 0x19c43: 0x6c75c220,\n\t0x19c44: 0x6cfccc20, 0x19c45: 0x6cf62620, 0x19c46: 0x6c113220, 0x19c47: 0x6cf1e220,\n\t0x19c48: 0x6d346a20, 0x19c49: 0x6d3f5820, 0x19c4a: 0x6c7d6820, 0x19c4b: 0x6c231a20,\n\t0x19c4c: 0x6ce4f820, 0x19c4d: 0x6c1f5820, 0x19c4e: 0x6c2b3620, 0x19c4f: 0x6c218220,\n\t0x19c50: 0x6cbfb620, 0x19c51: 0x6d306220, 0x19c52: 0x6d2be220, 0x19c53: 0x6cc75420,\n\t0x19c54: 0x6c0d7c20, 0x19c55: 0x6c605c20, 0x19c56: 0x6cf65420, 0x19c57: 0x6d39b220,\n\t0x19c58: 0x6c746a20, 0x19c59: 0x6c440a20, 0x19c5a: 0x6c5eee20, 0x19c5b: 0x6c265620,\n\t0x19c5c: 0x6c187c20, 0x19c5d: 0x6cddce20, 0x19c5e: 0x6cc92820, 0x19c5f: 0x6cfdf420,\n\t0x19c60: 0x6c5a5c20, 0x19c61: 0x6cb65020, 0x19c62: 0x6d3b1820, 0x19c63: 0x6cdcf620,\n\t0x19c64: 0x6c146c20, 0x19c65: 0x6cf25a20, 0x19c66: 0x6c781a20, 0x19c67: 0x6c77c420,\n\t0x19c68: 0x6c47b820, 0x19c69: 0x6c410220, 0x19c6a: 0x6c396620, 0x19c6b: 0x6c234c20,\n\t0x19c6c: 0x6c128c20, 0x19c6d: 0x6d36bc20, 0x19c6e: 0x6c15d820, 0x19c6f: 0x6c825420,\n\t0x19c70: 0x6d04ee20, 0x19c71: 0x6d2d4820, 0x19c72: 0x6d308220, 0x19c73: 0x6d218a20,\n\t0x19c74: 0x6c4b7020, 0x19c75: 0x6c45ae20, 0x19c76: 0x6d295020, 0x19c77: 0x6c27fe20,\n\t0x19c78: 0x6c5e0020, 0x19c79: 0x6cd9e220, 0x19c7a: 0x6ce0ac20, 0x19c7b: 0x6c473020,\n\t0x19c7c: 0x6cf8e620, 0x19c7d: 0x6c978020, 0x19c7e: 0x6c346620, 0x19c7f: 0x6c02f420,\n\t// Block 0x672, offset 0x19c80\n\t0x19c80: 0x6cb0c420, 0x19c81: 0x6cf52a20, 0x19c82: 0x6c007c20, 0x19c83: 0x6c9b7620,\n\t0x19c84: 0x6cb0d220, 0x19c85: 0x6c9b7820, 0x19c86: 0x6d103a20, 0x19c87: 0x6d374420,\n\t0x19c88: 0x6c0fac20, 0x19c89: 0x6d1cc820, 0x19c8a: 0x6cef6020, 0x19c8b: 0x6cc50e20,\n\t0x19c8c: 0x6c7ffa20, 0x19c8d: 0x6d0c4620, 0x19c8e: 0x6c161220, 0x19c8f: 0x6cc33620,\n\t0x19c90: 0x6d31d820, 0x19c91: 0x6cb46a20, 0x19c93: 0x6cdf2a20,\n\t0x19c94: 0x6c3a9e20, 0x19c95: 0x6cd55620, 0x19c97: 0x6c298820,\n\t0x19c98: 0x6c25f220, 0x19c99: 0x6cdf9c20, 0x19c9a: 0x6ce49820, 0x19c9b: 0x6c1ba020,\n\t0x19c9c: 0x6cde9020, 0x19c9d: 0x6c642a20, 0x19c9e: 0x6cd75e20, 0x19c9f: 0x6c5a3220,\n\t0x19ca0: 0x6c8a6820, 0x19ca3: 0x6c185e20,\n\t0x19ca4: 0x6c6cf820, 0x19ca5: 0x6c360020, 0x19ca6: 0x6c464620, 0x19ca7: 0x6c3e6420,\n\t0x19ca8: 0x6c34f020, 0x19caa: 0x6c363e20, 0x19cab: 0x6c07f020,\n\t0x19cac: 0x6ce1ca20, 0x19cad: 0x6c2c6020, 0x19caf: 0x6c2c7020,\n\t0x19cb0: 0x6c10a620, 0x19cb1: 0x6ced3820, 0x19cb2: 0x6d2fd020, 0x19cb3: 0x6c950620,\n\t0x19cb4: 0x6cb62620, 0x19cb5: 0x6ca2a420, 0x19cb6: 0x6cba6c20,\n\t0x19cb8: 0x6d3fae20, 0x19cb9: 0x6cd9d620, 0x19cbb: 0x6d1f6220,\n\t0x19cbc: 0x6d38ac20, 0x19cbd: 0x6cdea620, 0x19cbf: 0x6cdb3c20,\n\t// Block 0x673, offset 0x19cc0\n\t0x19cc0: 0x6c10c220, 0x19cc1: 0x6cf7aa20, 0x19cc2: 0x6c67c620, 0x19cc3: 0x6c12ba20,\n\t0x19cc4: 0x6c406620, 0x19cc5: 0x6ce2b820, 0x19cc6: 0x6c185220, 0x19cc7: 0x6c407820,\n\t0x19cc8: 0x6c3ae020, 0x19cc9: 0x6cf48c20, 0x19cca: 0x6cf5ac20, 0x19ccb: 0x6d101620,\n\t0x19ccc: 0x6ca04820, 0x19ccd: 0x6cad2020, 0x19cce: 0x6c98a620, 0x19ccf: 0x6ccbba20,\n\t0x19cd0: 0x6c9bb420, 0x19cd1: 0x6c12a820, 0x19cd2: 0x6ce57220, 0x19cd3: 0x6c764820,\n\t0x19cd4: 0x6c043620, 0x19cd5: 0x6cffa620, 0x19cd6: 0x6d032620, 0x19cd7: 0x6cb76220,\n\t0x19cda: 0x6cceb020, 0x19cdb: 0x6c590a20,\n\t0x19cdc: 0x6ca96a20, 0x19cdd: 0x6cff7820, 0x19cde: 0x6c18b220, 0x19cdf: 0x6c27ce20,\n\t0x19ce0: 0x6c3c3820, 0x19ce1: 0x6d1ad420, 0x19ce2: 0x6c01fa20, 0x19ce3: 0x6cc4be20,\n\t0x19ce4: 0x6cc64420, 0x19ce5: 0x6c976020, 0x19ce6: 0x6c394c20, 0x19ce7: 0x6cc10220,\n\t0x19ce8: 0x6cd2ce20, 0x19ce9: 0x6c511820, 0x19cea: 0x6c0b9220, 0x19ceb: 0x6c276220,\n\t0x19cec: 0x6ca11420, 0x19ced: 0x6c2aca20,\n\t0x19cf0: 0x6c7ba020, 0x19cf2: 0x6c144220, 0x19cf3: 0x6c349620,\n\t0x19cf4: 0x6d1fd220, 0x19cf5: 0x6c504020, 0x19cf7: 0x6c486020,\n\t0x19cf8: 0x6d095c20, 0x19cf9: 0x6c833620, 0x19cfa: 0x6c6c9220, 0x19cfb: 0x6cb70220,\n\t0x19cfc: 0x6cc11020, 0x19cfd: 0x6cee2220, 0x19cfe: 0x6d13f620, 0x19cff: 0x6c89e620,\n\t// Block 0x674, offset 0x19d00\n\t0x19d02: 0x6d0cb020, 0x19d03: 0x6d180220,\n\t0x19d04: 0x6d1a7620, 0x19d05: 0x6cb60020, 0x19d06: 0x6d306420, 0x19d07: 0x6cf8a620,\n\t0x19d08: 0x6d180420, 0x19d09: 0x6d128620, 0x19d0a: 0x6cf3d820, 0x19d0b: 0x6d33fa20,\n\t0x19d0c: 0x6d366a20, 0x19d0d: 0x6c4e5a20, 0x19d0e: 0x6c21c820, 0x19d0f: 0x6c3d8420,\n\t0x19d10: 0x6c215220, 0x19d11: 0x6cb2b620, 0x19d12: 0x6c7afa20, 0x19d13: 0x6c1dc220,\n\t0x19d15: 0x6ceb8a20, 0x19d16: 0x6cbf4220, 0x19d17: 0x6c233020,\n\t0x19d18: 0x6c42d220, 0x19d19: 0x6c7acc20, 0x19d1a: 0x6cc12620, 0x19d1b: 0x6cc12820,\n\t0x19d1c: 0x6d340020, 0x19d1d: 0x6c9c0a20, 0x19d1e: 0x6c865220, 0x19d1f: 0x6d389c20,\n\t0x19d20: 0x6cde8420, 0x19d21: 0x6d340220, 0x19d22: 0x6c482420, 0x19d23: 0x6c899c20,\n\t0x19d24: 0x6c54ee20, 0x19d25: 0x6c7e8820, 0x19d26: 0x6c2d2620, 0x19d27: 0x6c22d820,\n\t0x19d28: 0x6d1bde20, 0x19d2b: 0x6cb62a20,\n\t0x19d2d: 0x6c144620, 0x19d2e: 0x6c99b020, 0x19d2f: 0x6c31b020,\n\t0x19d30: 0x6d19fe20, 0x19d31: 0x6c148820, 0x19d32: 0x6cc8dc20, 0x19d33: 0x6c524020,\n\t0x19d34: 0x6cc87820, 0x19d35: 0x6c3d9420, 0x19d36: 0x6c7f4e20, 0x19d37: 0x6d043420,\n\t0x19d38: 0x6c64e020, 0x19d39: 0x6d186220, 0x19d3a: 0x6c9a6820,\n\t0x19d3c: 0x6c987620, 0x19d3d: 0x6c627e20, 0x19d3e: 0x6cdd3a20, 0x19d3f: 0x6c4f0c20,\n\t// Block 0x675, offset 0x19d40\n\t0x19d41: 0x6c868420, 0x19d42: 0x6d3f2220, 0x19d43: 0x6d412820,\n\t0x19d44: 0x6d114820, 0x19d45: 0x6c43a820, 0x19d46: 0x6c844c20, 0x19d47: 0x6cb71c20,\n\t0x19d48: 0x6c462420, 0x19d49: 0x6c868620, 0x19d4a: 0x6c0db220, 0x19d4b: 0x6cdd3c20,\n\t0x19d4e: 0x6cdb3e20, 0x19d4f: 0x6c1e4c20,\n\t0x19d50: 0x6c650220, 0x19d51: 0x6d010020, 0x19d52: 0x6c076420, 0x19d53: 0x6d066020,\n\t0x19d54: 0x6c6eb620, 0x19d55: 0x6cb46220, 0x19d56: 0x6c8d7220, 0x19d57: 0x6cfdd620,\n\t0x19d58: 0x6d42ac20, 0x19d59: 0x6c2e4420, 0x19d5a: 0x6c216a20, 0x19d5b: 0x6cbeb620,\n\t0x19d5c: 0x6ca41020, 0x19d5d: 0x6d2cfe20, 0x19d5e: 0x6c940820, 0x19d5f: 0x6d157420,\n\t0x19d60: 0x6cceba20, 0x19d61: 0x6d21ba20, 0x19d62: 0x6c575c20, 0x19d63: 0x6c845e20,\n\t0x19d64: 0x6cabce20, 0x19d67: 0x6c846020,\n\t0x19d6a: 0x6cd6e620,\n\t0x19d6c: 0x6d18d620, 0x19d6d: 0x6ca95c20, 0x19d6e: 0x6cd83820, 0x19d6f: 0x6c7ab020,\n\t0x19d70: 0x6c407a20, 0x19d71: 0x6d142820, 0x19d72: 0x6c2ab820, 0x19d73: 0x6cc49620,\n\t0x19d74: 0x6c131e20, 0x19d76: 0x6ce39820, 0x19d77: 0x6cbdb420,\n\t0x19d78: 0x6c0c8820, 0x19d79: 0x6cdca420, 0x19d7a: 0x6cef4c20, 0x19d7b: 0x6c33bc20,\n\t0x19d7c: 0x6ccb7a20, 0x19d7d: 0x6c00f620, 0x19d7e: 0x6cb7f420, 0x19d7f: 0x6d420e20,\n\t// Block 0x676, offset 0x19d80\n\t0x19d80: 0x6c7b7620, 0x19d81: 0x6c3a7420, 0x19d83: 0x6d1b9620,\n\t0x19d85: 0x6ccaea20, 0x19d86: 0x6c314820, 0x19d87: 0x6c5c8220,\n\t0x19d88: 0x6d026220, 0x19d89: 0x6d2b1c20, 0x19d8a: 0x6ce03420, 0x19d8b: 0x6ce15a20,\n\t0x19d8c: 0x6d374620, 0x19d8d: 0x6d191620, 0x19d8e: 0x6c3f1c20, 0x19d8f: 0x6c359420,\n\t0x19d91: 0x6c75fc20, 0x19d92: 0x6c638e20, 0x19d93: 0x6c141220,\n\t0x19d94: 0x6cfbca20, 0x19d95: 0x6c981420, 0x19d97: 0x6c0aba20,\n\t0x19d98: 0x6c8d9220, 0x19d99: 0x6c6b7620, 0x19d9a: 0x6c7d3620, 0x19d9b: 0x6c63f620,\n\t0x19d9d: 0x6c19a420, 0x19d9e: 0x6c813420, 0x19d9f: 0x6d03b420,\n\t0x19da0: 0x6c3af620, 0x19da1: 0x6c936e20, 0x19da2: 0x6d2c9e20, 0x19da3: 0x6c51a420,\n\t0x19da4: 0x6c5f9420, 0x19da5: 0x6ca66220, 0x19da6: 0x6d1cd620, 0x19da7: 0x6d002e20,\n\t0x19da8: 0x6ce2d820, 0x19da9: 0x6c81c820, 0x19daa: 0x6d2b2820, 0x19dab: 0x6c7cba20,\n\t0x19dad: 0x6cb9e620, 0x19dae: 0x6c719020, 0x19daf: 0x6cb18c20,\n\t0x19db0: 0x6c38f220, 0x19db1: 0x6ce80020, 0x19db2: 0x6c8c4020, 0x19db3: 0x6c9cc020,\n\t0x19db4: 0x6d3de820, 0x19db5: 0x6d013020, 0x19db6: 0x6c56ee20, 0x19db7: 0x6c9cc220,\n\t0x19db8: 0x6c6a4820, 0x19db9: 0x6d28e220, 0x19dba: 0x6c23d620, 0x19dbb: 0x6c87b220,\n\t0x19dbc: 0x6cc4a020, 0x19dbd: 0x6d3a4a20, 0x19dbe: 0x6d1ab820, 0x19dbf: 0x6c4f4020,\n\t// Block 0x677, offset 0x19dc0\n\t0x19dc1: 0x6d198620, 0x19dc2: 0x6c948020, 0x19dc3: 0x6d274420,\n\t0x19dc4: 0x6cc4a420, 0x19dc5: 0x6c8df620, 0x19dc6: 0x6ca78620, 0x19dc7: 0x6d24b620,\n\t0x19dc8: 0x6caaa020, 0x19dca: 0x6d174020, 0x19dcb: 0x6caaa420,\n\t0x19dcc: 0x6d174220, 0x19dcd: 0x6cb98020, 0x19dce: 0x6cf9b620, 0x19dcf: 0x6c1edc20,\n\t0x19dd0: 0x6d1a6820, 0x19dd1: 0x6c9d4820, 0x19dd2: 0x6cf65820, 0x19dd3: 0x6ca35a20,\n\t0x19dd4: 0x6c76de20, 0x19dd5: 0x6d412020, 0x19dd6: 0x6cf9da20, 0x19dd7: 0x6d0cc620,\n\t0x19dd8: 0x6ce8f420, 0x19dd9: 0x6ce30020, 0x19dda: 0x6cf38820, 0x19ddb: 0x6cdda820,\n\t0x19ddc: 0x6d1aaa20, 0x19ddd: 0x6c1d0a20, 0x19dde: 0x6d38de20, 0x19ddf: 0x6c988620,\n\t0x19de0: 0x6d254820, 0x19de1: 0x6caa8020, 0x19de2: 0x6c9e7020, 0x19de3: 0x6d2a4820,\n\t0x19de4: 0x6ced1420, 0x19de5: 0x6c83ca20, 0x19de6: 0x6cc10420, 0x19de7: 0x6ca33a20,\n\t0x19de8: 0x6cd26220, 0x19de9: 0x6c098c20, 0x19dea: 0x6d3e2a20, 0x19deb: 0x6c056c20,\n\t0x19ded: 0x6c736c20, 0x19dee: 0x6cfde620, 0x19def: 0x6c7c7c20,\n\t0x19df0: 0x6cac2c20, 0x19df1: 0x6c7ba220, 0x19df2: 0x6d0a1220, 0x19df3: 0x6d2cc620,\n\t0x19df4: 0x6d10fc20, 0x19df5: 0x6c7d6a20, 0x19df6: 0x6c5acc20, 0x19df7: 0x6cf65a20,\n\t0x19df8: 0x6c357420, 0x19df9: 0x6d0fcc20, 0x19dfa: 0x6ce59020, 0x19dfb: 0x6d1f4e20,\n\t0x19dfc: 0x6c746c20, 0x19dfd: 0x6c83f620, 0x19dff: 0x6c842020,\n\t// Block 0x678, offset 0x19e00\n\t0x19e00: 0x6c198020, 0x19e01: 0x6c624e20, 0x19e02: 0x6c562a20, 0x19e03: 0x6d2e7020,\n\t0x19e04: 0x6c3f7a20, 0x19e05: 0x6c16ba20, 0x19e06: 0x6c495c20, 0x19e07: 0x6c714420,\n\t0x19e08: 0x6c9b3220, 0x19e09: 0x6c167820, 0x19e0a: 0x6ce0a620, 0x19e0b: 0x6ca1e220,\n\t0x19e0c: 0x6d039e20, 0x19e0d: 0x6c852620, 0x19e0e: 0x6d0c2a20, 0x19e0f: 0x6cd9da20,\n\t0x19e10: 0x6cd1ee20, 0x19e11: 0x6d186420, 0x19e12: 0x6c0e2a20, 0x19e13: 0x6c234e20,\n\t0x19e14: 0x6c542c20, 0x19e15: 0x6ced3a20, 0x19e16: 0x6c2c9620, 0x19e17: 0x6c5f4420,\n\t0x19e18: 0x6c443820, 0x19e19: 0x6c4e3420, 0x19e1a: 0x6c0f6220, 0x19e1b: 0x6d04f420,\n\t0x19e1c: 0x6c8ea220, 0x19e1d: 0x6c11ae20, 0x19e1e: 0x6c11b020, 0x19e1f: 0x6d18d820,\n\t0x19e20: 0x6d082c20, 0x19e21: 0x6d0ce020, 0x19e22: 0x6d2a5c20, 0x19e23: 0x6c4f1e20,\n\t0x19e24: 0x6d1e0020, 0x19e25: 0x6d3fc820, 0x19e27: 0x6c775820,\n\t0x19e28: 0x6d21bc20, 0x19e29: 0x6cb53820, 0x19e2a: 0x6d310620, 0x19e2b: 0x6c967e20,\n\t0x19e2e: 0x6cd6e820, 0x19e2f: 0x6c6d6a20,\n\t0x19e30: 0x6c49b020, 0x19e31: 0x6cb46c20, 0x19e32: 0x6c8c7220,\n\t0x19e34: 0x6ce69c20, 0x19e35: 0x6c679420, 0x19e36: 0x6c7eac20, 0x19e37: 0x6d191820,\n\t0x19e38: 0x6d1dce20, 0x19e39: 0x6c22ec20, 0x19e3a: 0x6d0dfe20, 0x19e3b: 0x6c6b7020,\n\t0x19e3c: 0x6d09c820, 0x19e3d: 0x6cf11020, 0x19e3e: 0x6cfc4c20, 0x19e3f: 0x6ca93620,\n\t// Block 0x679, offset 0x19e40\n\t0x19e40: 0x6c408c20, 0x19e41: 0x6c445c20, 0x19e43: 0x6ca19c20,\n\t0x19e44: 0x6d3b4620, 0x19e45: 0x6ca38a20, 0x19e46: 0x6cfc5620, 0x19e47: 0x6cf1c420,\n\t0x19e48: 0x6c877820, 0x19e49: 0x6c11c220, 0x19e4a: 0x6c9f1c20, 0x19e4b: 0x6c655220,\n\t0x19e4c: 0x6ca6e220, 0x19e4d: 0x6c14b020, 0x19e4e: 0x6cecb020, 0x19e4f: 0x6d069c20,\n\t0x19e50: 0x6caa8220, 0x19e51: 0x6c973020, 0x19e52: 0x6d417020, 0x19e53: 0x6c770c20,\n\t0x19e54: 0x6c761620, 0x19e55: 0x6c4f7020,\n\t0x19e58: 0x6d23f420, 0x19e59: 0x6cf11220, 0x19e5a: 0x6d39fa20,\n\t0x19e5d: 0x6d170a20, 0x19e5f: 0x6c2dbc20,\n\t0x19e60: 0x6c3e4420, 0x19e61: 0x6c08d620, 0x19e62: 0x6d3a6820, 0x19e63: 0x6d3f0c20,\n\t0x19e64: 0x6cd5cc20, 0x19e65: 0x6cf9ba20, 0x19e66: 0x6ca5e020,\n\t0x19e68: 0x6c68fe20, 0x19e69: 0x6d0a1420, 0x19e6a: 0x6c1cc620, 0x19e6b: 0x6caa2220,\n\t0x19e6c: 0x6cc67e20, 0x19e6d: 0x6d364220, 0x19e6e: 0x6cca6e20,\n\t0x19e70: 0x6cccf020, 0x19e71: 0x6d237e20, 0x19e73: 0x6c6c4e20,\n\t0x19e75: 0x6c929c20, 0x19e76: 0x6c4db020, 0x19e77: 0x6c0cb220,\n\t0x19e78: 0x6d183a20, 0x19e79: 0x6d41c020, 0x19e7a: 0x6d2e7220, 0x19e7b: 0x6d23ac20,\n\t0x19e7c: 0x6ced3c20, 0x19e7d: 0x6ca5fe20, 0x19e7e: 0x6c495e20, 0x19e7f: 0x6c748420,\n\t// Block 0x67a, offset 0x19e80\n\t0x19e80: 0x6c082820, 0x19e81: 0x6c11a220, 0x19e83: 0x6c351220,\n\t0x19e84: 0x6cb7c620, 0x19e85: 0x6d10b420, 0x19e86: 0x6c7d1820, 0x19e87: 0x6cc84820,\n\t0x19e88: 0x6c542e20, 0x19e89: 0x6d0a3820, 0x19e8a: 0x6d020020,\n\t0x19e8c: 0x6c7d1a20, 0x19e8e: 0x6d00f020, 0x19e8f: 0x6c0f6420,\n\t0x19e90: 0x6c78d820, 0x19e91: 0x6c24ec20, 0x19e92: 0x6d074020, 0x19e93: 0x6c042820,\n\t0x19e94: 0x6cab5820, 0x19e95: 0x6d400c20, 0x19e97: 0x6ce42e20,\n\t0x19e98: 0x6c1ef220, 0x19e99: 0x6c1b5820, 0x19e9a: 0x6ca7b420, 0x19e9b: 0x6c49ac20,\n\t0x19e9c: 0x6c3cbe20, 0x19e9d: 0x6d023020, 0x19e9e: 0x6c2aba20, 0x19e9f: 0x6cef4e20,\n\t0x19ea0: 0x6c74e220, 0x19ea1: 0x6c7d2e20, 0x19ea2: 0x6d2bb420, 0x19ea3: 0x6cc9ac20,\n\t0x19ea4: 0x6c34bc20, 0x19ea5: 0x6c8d8420, 0x19ea6: 0x6c9b9a20,\n\t0x19ea8: 0x6c4cde20, 0x19ea9: 0x6c9b9c20, 0x19eaa: 0x6c8fec20,\n\t0x19eac: 0x6d1d5e20, 0x19eae: 0x6c49c620, 0x19eaf: 0x6c248820,\n\t0x19eb0: 0x6c84e620, 0x19eb1: 0x6c320c20, 0x19eb3: 0x6c0bf220,\n\t0x19eb5: 0x6cf62c20, 0x19eb7: 0x6c2a6620,\n\t0x19eb8: 0x6c2a6820, 0x19eb9: 0x6cfcba20, 0x19eba: 0x6c880020,\n\t0x19ebc: 0x6ccedc20, 0x19ebd: 0x6d00b020, 0x19ebe: 0x6cd1c420, 0x19ebf: 0x6cf09e20,\n\t// Block 0x67b, offset 0x19ec0\n\t0x19ec2: 0x6c51d820, 0x19ec3: 0x6d1f5a20,\n\t0x19ec4: 0x6c92b220, 0x19ec5: 0x6c7f5020, 0x19ec6: 0x6d1d0e20, 0x19ec7: 0x6cd14c20,\n\t0x19ec8: 0x6c739220, 0x19ec9: 0x6cb7e420, 0x19eca: 0x6c65ea20, 0x19ecb: 0x6d285c20,\n\t0x19ecd: 0x6cb7f620, 0x19ecf: 0x6c8c7c20,\n\t0x19ed0: 0x6c60ea20, 0x19ed1: 0x6c970a20, 0x19ed2: 0x6c208220, 0x19ed3: 0x6ca74620,\n\t0x19ed4: 0x6c0d6e20, 0x19ed5: 0x6c87c020, 0x19ed6: 0x6c8dfa20, 0x19ed7: 0x6c427a20,\n\t0x19ed8: 0x6c1a2020, 0x19ed9: 0x6d07b020, 0x19eda: 0x6cfc1a20, 0x19edb: 0x6c558620,\n\t0x19edc: 0x6c088620, 0x19edd: 0x6d40d020, 0x19ede: 0x6c271a20, 0x19edf: 0x6c271c20,\n\t0x19ee0: 0x6c5d3e20, 0x19ee1: 0x6cc9d020, 0x19ee2: 0x6c184420, 0x19ee3: 0x6ce37c20,\n\t0x19ee5: 0x6cab1a20, 0x19ee6: 0x6d371420, 0x19ee7: 0x6c8ebe20,\n\t0x19ee8: 0x6c3aea20, 0x19ee9: 0x6c695e20, 0x19eea: 0x6c493620, 0x19eeb: 0x6cf7ba20,\n\t0x19eec: 0x6c8bf820, 0x19eed: 0x6d07f820, 0x19eee: 0x6cc62a20, 0x19eef: 0x6ce25a20,\n\t0x19ef0: 0x6cb05820, 0x19ef1: 0x6d032a20, 0x19ef2: 0x6ccd7c20, 0x19ef3: 0x6d360e20,\n\t0x19ef4: 0x6cec3220, 0x19ef5: 0x6ce81020, 0x19ef6: 0x6ce46620, 0x19ef7: 0x6d13e820,\n\t0x19ef8: 0x6d019c20, 0x19ef9: 0x6cb05c20, 0x19efa: 0x6d10ec20, 0x19efb: 0x6d10ee20,\n\t0x19efc: 0x6caa8620, 0x19efd: 0x6c503a20, 0x19efe: 0x6ca8e820, 0x19eff: 0x6d1b4a20,\n\t// Block 0x67c, offset 0x19f00\n\t0x19f00: 0x6c390a20, 0x19f01: 0x6ca3fa20, 0x19f02: 0x6d109c20, 0x19f03: 0x6ced7e20,\n\t0x19f04: 0x6d25e820, 0x19f05: 0x6cf9c820, 0x19f06: 0x6d392c20, 0x19f07: 0x6d25ea20,\n\t0x19f08: 0x6cd38a20, 0x19f09: 0x6c9e5a20, 0x19f0a: 0x6cf62e20, 0x19f0b: 0x6c621220,\n\t0x19f0c: 0x6ce22a20, 0x19f0d: 0x6c3ab020, 0x19f0e: 0x6d096020, 0x19f0f: 0x6ca5e820,\n\t0x19f10: 0x6c224620, 0x19f11: 0x6c9d4a20, 0x19f12: 0x6c0ba220,\n\t0x19f14: 0x6ca2e620, 0x19f15: 0x6d238020, 0x19f16: 0x6c366220, 0x19f17: 0x6d353a20,\n\t0x19f18: 0x6cc57420, 0x19f19: 0x6d070020, 0x19f1a: 0x6c94b020, 0x19f1b: 0x6c5be820,\n\t0x19f1c: 0x6d0a9620, 0x19f1d: 0x6ca4b820, 0x19f1e: 0x6c4eee20, 0x19f1f: 0x6c63d620,\n\t0x19f20: 0x6c312e20, 0x19f21: 0x6c57b420, 0x19f22: 0x6ce86c20, 0x19f23: 0x6cb26220,\n\t0x19f24: 0x6c244c20, 0x19f25: 0x6cf68220, 0x19f26: 0x6cd99820, 0x19f27: 0x6c9c6c20,\n\t0x19f28: 0x6d034420, 0x19f29: 0x6cf51a20, 0x19f2a: 0x6cbf5420, 0x19f2b: 0x6d2edc20,\n\t0x19f2c: 0x6ce23620, 0x19f2d: 0x6d043620, 0x19f2e: 0x6c701e20, 0x19f2f: 0x6c728220,\n\t0x19f30: 0x6c5d4020, 0x19f31: 0x6ce36e20, 0x19f32: 0x6c977420, 0x19f33: 0x6d0ea420,\n\t0x19f34: 0x6c5f2020, 0x19f35: 0x6cd47a20, 0x19f36: 0x6c82d620, 0x19f37: 0x6ced4420,\n\t0x19f38: 0x6c183820, 0x19f39: 0x6c120a20, 0x19f3a: 0x6c6c0620, 0x19f3b: 0x6d205820,\n\t0x19f3c: 0x6c5b6620, 0x19f3d: 0x6d2c9420, 0x19f3e: 0x6cdb4820, 0x19f3f: 0x6c444220,\n\t// Block 0x67d, offset 0x19f40\n\t0x19f40: 0x6ca51a20, 0x19f41: 0x6cf8f820, 0x19f43: 0x6c331a20,\n\t0x19f44: 0x6c1b6420, 0x19f45: 0x6cef5020, 0x19f46: 0x6d30ae20, 0x19f47: 0x6c4bf420,\n\t0x19f48: 0x6c175620, 0x19f49: 0x6c1ae020, 0x19f4a: 0x6d2a2820, 0x19f4b: 0x6c5c8420,\n\t0x19f4c: 0x6c944820, 0x19f4d: 0x6c8a4620, 0x19f4e: 0x6c818a20, 0x19f4f: 0x6cead820,\n\t0x19f50: 0x6c5b0420, 0x19f51: 0x6cf54620, 0x19f52: 0x6c02fa20, 0x19f53: 0x6ccf8620,\n\t0x19f54: 0x6cdc0220, 0x19f55: 0x6c974c20, 0x19f56: 0x6ce0b620, 0x19f57: 0x6d035a20,\n\t0x19f58: 0x6c6e4020, 0x19f59: 0x6c017620, 0x19f5a: 0x6cdee220, 0x19f5b: 0x6c156420,\n\t0x19f5c: 0x6cf11a20, 0x19f5d: 0x6ce98420, 0x19f5e: 0x6c62dc20, 0x19f5f: 0x6c18fa20,\n\t0x19f60: 0x6c185820, 0x19f61: 0x6d247c20, 0x19f62: 0x6cfc6020, 0x19f63: 0x6d02d020,\n\t0x19f67: 0x6ca51c20,\n\t0x19f69: 0x6d0f1020, 0x19f6a: 0x6cc01e20, 0x19f6b: 0x6c675820,\n\t0x19f6c: 0x6cd95c20, 0x19f6d: 0x6c75c420, 0x19f6e: 0x6c89fc20, 0x19f6f: 0x6c714e20,\n\t0x19f71: 0x6c97d220, 0x19f72: 0x6c8b7220,\n\t0x19f74: 0x6c1f3820, 0x19f75: 0x6c1bae20, 0x19f76: 0x6cfdcc20, 0x19f77: 0x6cbd3a20,\n\t0x19f78: 0x6c9a6220, 0x19f79: 0x6cd5fa20, 0x19f7a: 0x6c149020, 0x19f7b: 0x6c1bc420,\n\t0x19f7c: 0x6c474620, 0x19f7d: 0x6d21a820, 0x19f7e: 0x6d1a0420,\n\t// Block 0x67e, offset 0x19f80\n\t0x19f80: 0x6c8eac20, 0x19f81: 0x6c818020, 0x19f82: 0x6cd61e20, 0x19f83: 0x6d30be20,\n\t0x19f84: 0x6cd6c420, 0x19f85: 0x6c5aac20,\n\t0x19f88: 0x6c364620, 0x19f8a: 0x6ccc7020, 0x19f8b: 0x6d402e20,\n\t0x19f8c: 0x6c74a620, 0x19f8d: 0x6c75ec20, 0x19f8e: 0x6ce93820, 0x19f8f: 0x6c90ca20,\n\t0x19f90: 0x6cef5c20, 0x19f91: 0x6c1cf420, 0x19f92: 0x6d3b4820, 0x19f93: 0x6c8b7420,\n\t0x19f95: 0x6d30cc20, 0x19f96: 0x6d2f8c20,\n\t0x19f98: 0x6d178020, 0x19f99: 0x6c1e5c20, 0x19f9a: 0x6ca5ea20, 0x19f9b: 0x6c0e7820,\n\t0x19f9c: 0x6cdb8620, 0x19f9d: 0x6d160620, 0x19f9e: 0x6c506020, 0x19f9f: 0x6d0bc820,\n\t0x19fa0: 0x6c58ac20, 0x19fa1: 0x6c980a20, 0x19fa2: 0x6c980c20, 0x19fa3: 0x6cc1f220,\n\t0x19fa4: 0x6c81c420, 0x19fa5: 0x6c4ffe20, 0x19fa6: 0x6d37d620, 0x19fa7: 0x6c9f4e20,\n\t0x19fa8: 0x6cfb5620, 0x19fa9: 0x6d324420, 0x19faa: 0x6cd55e20, 0x19fab: 0x6d423e20,\n\t0x19fac: 0x6d3afc20, 0x19fad: 0x6c46aa20, 0x19fae: 0x6d089820, 0x19faf: 0x6d17c620,\n\t0x19fb0: 0x6d366e20, 0x19fb1: 0x6d00c620, 0x19fb2: 0x6c6d1e20, 0x19fb3: 0x6c11a420,\n\t0x19fb5: 0x6c10ae20, 0x19fb6: 0x6c896a20, 0x19fb7: 0x6d341020,\n\t0x19fb8: 0x6c626c20, 0x19fb9: 0x6ced4620, 0x19fba: 0x6c49a420, 0x19fbb: 0x6c70bc20,\n\t0x19fbc: 0x6c6ea220, 0x19fbd: 0x6c00c420, 0x19fbe: 0x6c404220, 0x19fbf: 0x6c4b7220,\n\t// Block 0x67f, offset 0x19fc0\n\t0x19fc0: 0x6c548020, 0x19fc1: 0x6d0ec620, 0x19fc2: 0x6cc87e20, 0x19fc3: 0x6d36ee20,\n\t0x19fc4: 0x6c0c9420, 0x19fc5: 0x6d157620, 0x19fc6: 0x6cdd9e20, 0x19fc7: 0x6c2efa20,\n\t0x19fc8: 0x6c4b9620, 0x19fc9: 0x6cd18020, 0x19fca: 0x6d0ab820, 0x19fcb: 0x6c194620,\n\t0x19fcc: 0x6ccf2020, 0x19fcd: 0x6cbe8a20,\n\t0x19fd0: 0x6c218a20, 0x19fd1: 0x6c533820, 0x19fd2: 0x6c308220, 0x19fd3: 0x6c198220,\n\t0x19fd4: 0x6ceff820, 0x19fd5: 0x6cc7ea20, 0x19fd6: 0x6cd55420, 0x19fd7: 0x6c10f220,\n\t0x19fd8: 0x6c600e20, 0x19fd9: 0x6d28b620, 0x19fda: 0x6cb5d420, 0x19fdb: 0x6d0c0220,\n\t0x19fdc: 0x6c3fe820, 0x19fdd: 0x6d235820, 0x19fde: 0x6c3e9020, 0x19fdf: 0x6cb39220,\n\t0x19fe0: 0x6d33e620, 0x19fe1: 0x6ce06220, 0x19fe2: 0x6d424020, 0x19fe3: 0x6c17ec20,\n\t0x19fe4: 0x6cc19a20, 0x19fe5: 0x6d204e20, 0x19fe6: 0x6c514a20, 0x19fe7: 0x6c547420,\n\t0x19fe8: 0x6c4b0e20, 0x19fe9: 0x6c366620, 0x19fea: 0x6c67ea20, 0x19feb: 0x6d27f620,\n\t0x19fec: 0x6ce83020, 0x19fed: 0x6c259820, 0x19fee: 0x6ce87020, 0x19fef: 0x6c402a20,\n\t0x19ff0: 0x6d424c20, 0x19ff1: 0x6c558820, 0x19ff3: 0x6c0f4a20,\n\t0x19ff4: 0x6d2f6e20, 0x19ff5: 0x6c754a20, 0x19ff6: 0x6ce0d020, 0x19ff7: 0x6c74aa20,\n\t0x19ff8: 0x6c404620, 0x19ff9: 0x6c5a0220, 0x19ffa: 0x6c211820, 0x19ffb: 0x6d1e5e20,\n\t0x19ffc: 0x6c20f020, 0x19ffd: 0x6cdda020, 0x19ffe: 0x6c1b5c20, 0x19fff: 0x6cb92a20,\n\t// Block 0x680, offset 0x1a000\n\t0x1a000: 0x6c10fc20, 0x1a001: 0x6cff9c20, 0x1a002: 0x6c979220, 0x1a003: 0x6c117c20,\n\t0x1a004: 0x6cb7f820, 0x1a005: 0x6c66f620, 0x1a006: 0x6c0a9a20, 0x1a007: 0x6c5f8420,\n\t0x1a008: 0x6d34b820, 0x1a009: 0x6d3a3620, 0x1a00a: 0x6cc1f420, 0x1a00b: 0x6d2e3420,\n\t0x1a00c: 0x6c60fa20, 0x1a00d: 0x6c0b2420, 0x1a00f: 0x6c878020,\n\t0x1a010: 0x6c879420, 0x1a011: 0x6d272a20, 0x1a012: 0x6cc34020, 0x1a013: 0x6c195a20,\n\t0x1a014: 0x6c3fcc20, 0x1a015: 0x6c144020, 0x1a016: 0x6ce19c20, 0x1a017: 0x6cd37420,\n\t0x1a018: 0x6c4f9620, 0x1a019: 0x6cbcbe20, 0x1a01a: 0x6cb5d620, 0x1a01b: 0x6c0efc20,\n\t0x1a01c: 0x6ca33e20, 0x1a01d: 0x6ce82a20, 0x1a01e: 0x6c1e7a20, 0x1a01f: 0x6c243c20,\n\t0x1a020: 0x6d26c020, 0x1a021: 0x6d33e820, 0x1a022: 0x6c18cc20, 0x1a023: 0x6c1f4a20,\n\t0x1a024: 0x6c09b420, 0x1a025: 0x6c9b1c20, 0x1a026: 0x6c038020, 0x1a027: 0x6ce4a220,\n\t0x1a028: 0x6c9f5a20, 0x1a029: 0x6c8aba20, 0x1a02a: 0x6c3ccc20, 0x1a02b: 0x6c197420,\n\t0x1a02c: 0x6cc0b820, 0x1a02d: 0x6ce58820, 0x1a02e: 0x6c3eac20, 0x1a02f: 0x6c7e0820,\n\t0x1a030: 0x6c65b820,\n\t0x1a034: 0x6d325620, 0x1a035: 0x6cc08a20, 0x1a036: 0x6d42a820, 0x1a037: 0x6c1c4c20,\n\t0x1a038: 0x6c7c9420, 0x1a039: 0x6c8b2420, 0x1a03a: 0x6c074a20, 0x1a03b: 0x6c326e20,\n\t0x1a03c: 0x6cf46c20, 0x1a03e: 0x6d3d9220, 0x1a03f: 0x6c92ba20,\n\t// Block 0x681, offset 0x1a040\n\t0x1a040: 0x6ce0d220, 0x1a042: 0x6c1eaa20, 0x1a043: 0x6c89a020,\n\t0x1a044: 0x6ce51820, 0x1a045: 0x6c7dbe20, 0x1a046: 0x6c16c420, 0x1a047: 0x6c74ac20,\n\t0x1a048: 0x6ce8ec20, 0x1a049: 0x6c594e20, 0x1a04a: 0x6c3aca20, 0x1a04b: 0x6c0a3c20,\n\t0x1a04d: 0x6cf97c20, 0x1a04e: 0x6cf31820, 0x1a04f: 0x6c628a20,\n\t0x1a050: 0x6cc27a20, 0x1a051: 0x6c7cdc20, 0x1a052: 0x6c55c220, 0x1a053: 0x6cbfca20,\n\t0x1a054: 0x6cdc7c20, 0x1a055: 0x6c10fa20, 0x1a057: 0x6cc0bc20,\n\t0x1a058: 0x6cb0c820, 0x1a059: 0x6cad1020, 0x1a05a: 0x6cec4020, 0x1a05b: 0x6d115620,\n\t0x1a05c: 0x6cc6c220, 0x1a05d: 0x6d09b620, 0x1a05e: 0x6c246c20, 0x1a05f: 0x6c2efc20,\n\t0x1a060: 0x6c1c8a20, 0x1a061: 0x6c25f620, 0x1a062: 0x6c9c1220, 0x1a063: 0x6d086420,\n\t0x1a064: 0x6c34be20, 0x1a065: 0x6c0d0420, 0x1a066: 0x6d310a20, 0x1a067: 0x6c1ec620,\n\t0x1a068: 0x6c164220, 0x1a069: 0x6c4b9e20, 0x1a06a: 0x6c32e620, 0x1a06b: 0x6d409420,\n\t0x1a06c: 0x6c2afe20, 0x1a06d: 0x6c7f3820, 0x1a06e: 0x6ce2da20, 0x1a06f: 0x6d272c20,\n\t0x1a070: 0x6cc34220, 0x1a071: 0x6d3a5020, 0x1a072: 0x6c8d1020, 0x1a073: 0x6c186c20,\n\t0x1a074: 0x6d31e020, 0x1a075: 0x6c400220, 0x1a076: 0x6ccf4e20, 0x1a077: 0x6ce5c620,\n\t0x1a078: 0x6c7ac820, 0x1a079: 0x6c004420, 0x1a07b: 0x6cbf5620,\n\t0x1a07c: 0x6cd61220, 0x1a07d: 0x6c4d3420, 0x1a07e: 0x6ccd5e20, 0x1a07f: 0x6cec7620,\n\t// Block 0x682, offset 0x1a080\n\t0x1a080: 0x6d2e3620, 0x1a081: 0x6c904a20, 0x1a082: 0x6c6f6220, 0x1a083: 0x6c85b820,\n\t0x1a085: 0x6c210220, 0x1a086: 0x6cc66c20, 0x1a087: 0x6d26ac20,\n\t0x1a088: 0x6c743a20, 0x1a089: 0x6c776c20, 0x1a08a: 0x6c390c20, 0x1a08b: 0x6cb5da20,\n\t0x1a08c: 0x6c534220, 0x1a08d: 0x6c3e7220, 0x1a08e: 0x6c915220, 0x1a08f: 0x6c535820,\n\t0x1a090: 0x6ceb2a20, 0x1a091: 0x6c9f5c20, 0x1a092: 0x6ce4a420, 0x1a093: 0x6c737c20,\n\t0x1a094: 0x6cb70620, 0x1a095: 0x6d332620, 0x1a096: 0x6cbece20, 0x1a097: 0x6c45f220,\n\t0x1a098: 0x6ce4b620, 0x1a099: 0x6c80dc20, 0x1a09a: 0x6c99a620, 0x1a09b: 0x6d1b6a20,\n\t0x1a09c: 0x6c92c020, 0x1a09d: 0x6d250e20, 0x1a09e: 0x6c715420, 0x1a09f: 0x6cb0b820,\n\t0x1a0a1: 0x6d00f420, 0x1a0a2: 0x6c0bbe20, 0x1a0a3: 0x6c5cd820,\n\t0x1a0a4: 0x6d39cc20, 0x1a0a5: 0x6cc6c820, 0x1a0a6: 0x6cca8e20, 0x1a0a7: 0x6cf38420,\n\t0x1a0a8: 0x6c144e20, 0x1a0a9: 0x6c795820, 0x1a0aa: 0x6ccdc420, 0x1a0ab: 0x6caede20,\n\t0x1a0ac: 0x6c980e20, 0x1a0ad: 0x6d050620, 0x1a0af: 0x6c237020,\n\t0x1a0b0: 0x6c796020, 0x1a0b1: 0x6d3bb220, 0x1a0b2: 0x6c154620, 0x1a0b3: 0x6cd84220,\n\t0x1a0b4: 0x6c1cf620, 0x1a0b5: 0x6cdcae20, 0x1a0b6: 0x6c076e20, 0x1a0b7: 0x6c769e20,\n\t0x1a0b9: 0x6d376020, 0x1a0ba: 0x6cf12620, 0x1a0bb: 0x6c9f8420,\n\t0x1a0bc: 0x6c8db220, 0x1a0bd: 0x6d414220, 0x1a0be: 0x6ca8d420, 0x1a0bf: 0x6c8dfc20,\n\t// Block 0x683, offset 0x1a0c0\n\t0x1a0c0: 0x6cb77420, 0x1a0c1: 0x6d26b020, 0x1a0c3: 0x6d186820,\n\t0x1a0c4: 0x6cf82220, 0x1a0c5: 0x6c18d820, 0x1a0c7: 0x6cc71e20,\n\t0x1a0c8: 0x6c18f820, 0x1a0c9: 0x6ca9da20, 0x1a0ca: 0x6d1ef220, 0x1a0cb: 0x6c618c20,\n\t0x1a0cc: 0x6c0ebe20, 0x1a0cd: 0x6c39ca20,\n\t0x1a0d0: 0x6c242220, 0x1a0d1: 0x6c2be820, 0x1a0d2: 0x6c684020, 0x1a0d3: 0x6d20fc20,\n\t0x1a0d4: 0x6c50fe20, 0x1a0d5: 0x6d06b220, 0x1a0d6: 0x6d22f820, 0x1a0d7: 0x6cc0f620,\n\t0x1a0d9: 0x6c044420, 0x1a0da: 0x6c44cc20, 0x1a0db: 0x6c6f0e20,\n\t0x1a0dd: 0x6d0bb820, 0x1a0de: 0x6cd5de20, 0x1a0df: 0x6d1f3e20,\n\t0x1a0e0: 0x6cd98e20, 0x1a0e1: 0x6d130820, 0x1a0e2: 0x6c125820, 0x1a0e3: 0x6d112a20,\n\t0x1a0e4: 0x6cd5fc20, 0x1a0e5: 0x6d0cba20, 0x1a0e6: 0x6cd67220, 0x1a0e7: 0x6c8aa220,\n\t0x1a0e8: 0x6c235020, 0x1a0e9: 0x6d23d420, 0x1a0ea: 0x6c0f6620, 0x1a0eb: 0x6cdbfe20,\n\t0x1a0ed: 0x6d0eca20, 0x1a0ee: 0x6c834820, 0x1a0ef: 0x6c8bf420,\n\t0x1a0f0: 0x6ce30220, 0x1a0f1: 0x6c31de20, 0x1a0f2: 0x6d272e20, 0x1a0f3: 0x6c611620,\n\t0x1a0f5: 0x6d278620,\n\t0x1a0f8: 0x6c706220, 0x1a0f9: 0x6c71a820, 0x1a0fa: 0x6c1e5820, 0x1a0fb: 0x6c18ac20,\n\t0x1a0fc: 0x6c457820, 0x1a0fd: 0x6cfe4220, 0x1a0fe: 0x6cfbee20, 0x1a0ff: 0x6c011c20,\n\t// Block 0x684, offset 0x1a100\n\t0x1a100: 0x6c4ae020, 0x1a101: 0x6d223220, 0x1a102: 0x6c82bc20,\n\t0x1a104: 0x6ce89c20, 0x1a105: 0x6c18b820, 0x1a106: 0x6d03e020, 0x1a107: 0x6cc03e20,\n\t0x1a108: 0x6c4f9a20, 0x1a10a: 0x6c292c20, 0x1a10b: 0x6c112e20,\n\t0x1a10c: 0x6c2bf420, 0x1a10d: 0x6d0d7020, 0x1a10e: 0x6d3e3020,\n\t0x1a110: 0x6d1bc020, 0x1a111: 0x6c14fa20, 0x1a113: 0x6c840020,\n\t0x1a114: 0x6cdd7e20, 0x1a115: 0x6c969c20, 0x1a116: 0x6c96a620,\n\t0x1a118: 0x6ce11e20, 0x1a119: 0x6cade620, 0x1a11a: 0x6c90ae20, 0x1a11b: 0x6cb51820,\n\t0x1a11c: 0x6c25ec20, 0x1a11d: 0x6ce8ee20, 0x1a11e: 0x6c369a20, 0x1a11f: 0x6c11aa20,\n\t0x1a120: 0x6c6b2c20, 0x1a121: 0x6d156420, 0x1a122: 0x6c60d020, 0x1a123: 0x6c294220,\n\t0x1a124: 0x6c752220, 0x1a125: 0x6c08cc20, 0x1a126: 0x6c832620, 0x1a127: 0x6d174a20,\n\t0x1a128: 0x6c214020, 0x1a129: 0x6c214620, 0x1a12a: 0x6cb38820, 0x1a12b: 0x6c83cc20,\n\t0x1a12c: 0x6d291420, 0x1a12d: 0x6cdf7020, 0x1a12e: 0x6cb39420, 0x1a12f: 0x6c242620,\n\t0x1a130: 0x6c725020, 0x1a131: 0x6d070620, 0x1a132: 0x6c395820,\n\t0x1a134: 0x6d070820, 0x1a135: 0x6c37d420, 0x1a136: 0x6c5d7e20, 0x1a137: 0x6d39b820,\n\t0x1a138: 0x6cc4c820, 0x1a139: 0x6c381c20, 0x1a13a: 0x6c72fc20, 0x1a13b: 0x6c4db620,\n\t0x1a13c: 0x6c896e20, 0x1a13d: 0x6d341220, 0x1a13e: 0x6c9d8220, 0x1a13f: 0x6d209a20,\n\t// Block 0x685, offset 0x1a140\n\t0x1a141: 0x6c133a20, 0x1a142: 0x6c9a2c20, 0x1a143: 0x6d1a0620,\n\t0x1a144: 0x6c9e4220, 0x1a145: 0x6ce8f620, 0x1a146: 0x6c7c9e20,\n\t0x1a149: 0x6c9d9a20, 0x1a14a: 0x6cc6ca20, 0x1a14b: 0x6d241c20,\n\t0x1a14c: 0x6cbae620, 0x1a14d: 0x6c9c8c20, 0x1a14e: 0x6c718020, 0x1a14f: 0x6cb07e20,\n\t0x1a150: 0x6c6cc620, 0x1a151: 0x6cee5e20, 0x1a152: 0x6c62c020, 0x1a153: 0x6c9baa20,\n\t0x1a154: 0x6c672020, 0x1a155: 0x6d098020, 0x1a156: 0x6c068220, 0x1a157: 0x6c420220,\n\t0x1a158: 0x6c161e20, 0x1a159: 0x6c87cc20, 0x1a15a: 0x6c851620, 0x1a15b: 0x6cc04020,\n\t0x1a15c: 0x6c33ee20, 0x1a15d: 0x6d1d3e20, 0x1a15e: 0x6d27ea20, 0x1a15f: 0x6c18ce20,\n\t0x1a160: 0x6d353220, 0x1a161: 0x6cc4ca20, 0x1a163: 0x6c94b220,\n\t0x1a164: 0x6c763a20, 0x1a165: 0x6c4b1420, 0x1a166: 0x6d26d620, 0x1a167: 0x6c5c0820,\n\t0x1a168: 0x6cb0b220, 0x1a169: 0x6c13f820, 0x1a16a: 0x6c34a820, 0x1a16b: 0x6c152220,\n\t0x1a16c: 0x6ccc1020, 0x1a16d: 0x6cd3c820, 0x1a16e: 0x6ccf7620, 0x1a16f: 0x6d03fa20,\n\t0x1a170: 0x6d1c9420, 0x1a171: 0x6cd3ca20, 0x1a172: 0x6c1c6420, 0x1a173: 0x6d134820,\n\t0x1a174: 0x6c4e3620, 0x1a175: 0x6c3ad420, 0x1a176: 0x6d134a20, 0x1a177: 0x6d0de220,\n\t0x1a178: 0x6d416220, 0x1a179: 0x6cd9ee20, 0x1a17a: 0x6c6c6620, 0x1a17b: 0x6c351a20,\n\t0x1a17c: 0x6cfd2220, 0x1a17d: 0x6c492e20, 0x1a17e: 0x6ce1f820, 0x1a17f: 0x6cbcfa20,\n\t// Block 0x686, offset 0x1a180\n\t0x1a180: 0x6c15f420, 0x1a181: 0x6c4e4420, 0x1a182: 0x6c9c1420, 0x1a183: 0x6d26fc20,\n\t0x1a184: 0x6c247020, 0x1a185: 0x6cba8420, 0x1a186: 0x6c6cc420, 0x1a187: 0x6ccdd020,\n\t0x1a188: 0x6ca25820, 0x1a189: 0x6d251e20, 0x1a18b: 0x6cae8a20,\n\t0x1a18c: 0x6d336e20, 0x1a18d: 0x6d374a20, 0x1a18e: 0x6c216c20, 0x1a18f: 0x6d22aa20,\n\t0x1a190: 0x6ca1f820, 0x1a191: 0x6cedae20, 0x1a192: 0x6c681020, 0x1a193: 0x6cb54c20,\n\t0x1a194: 0x6cdb5e20, 0x1a195: 0x6cb1e220, 0x1a196: 0x6ce4d020, 0x1a197: 0x6c7b7820,\n\t0x1a198: 0x6c247a20, 0x1a199: 0x6cdcb820, 0x1a19b: 0x6c6a4220,\n\t0x1a19c: 0x6c671420, 0x1a19d: 0x6c028820, 0x1a19e: 0x6c696e20, 0x1a19f: 0x6d138e20,\n\t0x1a1a1: 0x6d139020, 0x1a1a2: 0x6c8ff020, 0x1a1a3: 0x6d2a3620,\n\t0x1a1a4: 0x6c05de20, 0x1a1a5: 0x6c889a20, 0x1a1a7: 0x6c58c620,\n\t0x1a1a8: 0x6c942620, 0x1a1a9: 0x6cef7820, 0x1a1aa: 0x6cfc5820, 0x1a1ab: 0x6ce60a20,\n\t0x1a1ac: 0x6c0fc820, 0x1a1ad: 0x6d337620, 0x1a1ae: 0x6d3a3e20, 0x1a1af: 0x6c06c420,\n\t0x1a1b0: 0x6c9bba20, 0x1a1b1: 0x6d015220, 0x1a1b2: 0x6cab6820, 0x1a1b3: 0x6d1ed820,\n\t0x1a1b5: 0x6cffc820, 0x1a1b6: 0x6c87aa20, 0x1a1b7: 0x6d2c6e20,\n\t0x1a1b8: 0x6c9cd020, 0x1a1ba: 0x6d128420,\n\t0x1a1bd: 0x6cb31620, 0x1a1be: 0x6d014220,\n\t// Block 0x687, offset 0x1a1c0\n\t0x1a1c2: 0x6ccdd220, 0x1a1c3: 0x6d3d1420,\n\t0x1a1c5: 0x6ccddc20, 0x1a1c6: 0x6c754020, 0x1a1c7: 0x6c61fc20,\n\t0x1a1c8: 0x6c6a2620, 0x1a1ca: 0x6ca7a420, 0x1a1cb: 0x6c028420,\n\t0x1a1cc: 0x6c1f3a20, 0x1a1cd: 0x6cf4e420, 0x1a1ce: 0x6c495420, 0x1a1cf: 0x6d01b820,\n\t0x1a1d0: 0x6ce6d020, 0x1a1d1: 0x6d096220, 0x1a1d2: 0x6c297220, 0x1a1d3: 0x6d2d8620,\n\t0x1a1d4: 0x6ce06620, 0x1a1d5: 0x6cae7c20, 0x1a1d6: 0x6d00d420, 0x1a1d7: 0x6d072020,\n\t0x1a1d8: 0x6cfcf220, 0x1a1d9: 0x6cd8d820, 0x1a1da: 0x6c7aee20, 0x1a1db: 0x6d335a20,\n\t0x1a1dc: 0x6cf3e620, 0x1a1dd: 0x6c5d5c20, 0x1a1de: 0x6cc90620, 0x1a1df: 0x6cf1ee20,\n\t0x1a1e0: 0x6c317a20, 0x1a1e1: 0x6c58a020, 0x1a1e2: 0x6c7e1420, 0x1a1e3: 0x6c405a20,\n\t0x1a1e4: 0x6c1fd020, 0x1a1e5: 0x6cfba420, 0x1a1e6: 0x6cbdae20, 0x1a1e7: 0x6cbc8820,\n\t0x1a1e8: 0x6c7fba20, 0x1a1ea: 0x6d0bca20, 0x1a1eb: 0x6d1c0220,\n\t0x1a1ec: 0x6cc40820, 0x1a1ed: 0x6c4f5620, 0x1a1ee: 0x6c218c20, 0x1a1ef: 0x6d371e20,\n\t0x1a1f1: 0x6cf05620, 0x1a1f2: 0x6d0d0620, 0x1a1f3: 0x6cfe6a20,\n\t0x1a1f4: 0x6d194c20, 0x1a1f5: 0x6ca66a20, 0x1a1f6: 0x6d335c20, 0x1a1f7: 0x6c1fca20,\n\t0x1a1f9: 0x6cd23020, 0x1a1fa: 0x6c2f4a20, 0x1a1fb: 0x6d3ee020,\n\t0x1a1fc: 0x6c73e820, 0x1a1fd: 0x6d067620, 0x1a1fe: 0x6d255a20,\n\t// Block 0x688, offset 0x1a200\n\t0x1a201: 0x6d063020, 0x1a202: 0x6c2a0220, 0x1a203: 0x6ce48620,\n\t0x1a204: 0x6c448020, 0x1a205: 0x6d14b420, 0x1a206: 0x6c532420, 0x1a207: 0x6d13dc20,\n\t0x1a209: 0x6c851220, 0x1a20a: 0x6c7a3820, 0x1a20b: 0x6cfc0820,\n\t0x1a20c: 0x6cdbbe20, 0x1a20d: 0x6cf87620, 0x1a20e: 0x6d088620,\n\t0x1a211: 0x6c2b2a20, 0x1a212: 0x6c7f0420, 0x1a213: 0x6d387e20,\n\t0x1a214: 0x6ca76420, 0x1a215: 0x6c19f820, 0x1a216: 0x6c668620, 0x1a217: 0x6c09ba20,\n\t0x1a218: 0x6d3bc820, 0x1a219: 0x6c8d1620, 0x1a21a: 0x6c504e20, 0x1a21b: 0x6c058020,\n\t0x1a21c: 0x6ce10a20, 0x1a21d: 0x6c1ac220, 0x1a21e: 0x6c96c820, 0x1a21f: 0x6cfce420,\n\t0x1a220: 0x6cd69420, 0x1a221: 0x6d1da020, 0x1a222: 0x6cc12c20,\n\t0x1a224: 0x6cb44c20, 0x1a225: 0x6c5c2020, 0x1a226: 0x6cef3620, 0x1a227: 0x6d161620,\n\t0x1a228: 0x6d134c20, 0x1a22a: 0x6c184820, 0x1a22b: 0x6c4ff820,\n\t0x1a22c: 0x6c0d5a20, 0x1a22e: 0x6cfd3620, 0x1a22f: 0x6c155e20,\n\t0x1a230: 0x6c5d4e20, 0x1a232: 0x6c4ebc20, 0x1a233: 0x6c224220,\n\t0x1a234: 0x6d33ec20, 0x1a235: 0x6cb5f220, 0x1a236: 0x6c7c7e20, 0x1a237: 0x6cc75620,\n\t0x1a239: 0x6d1bca20, 0x1a23a: 0x6d047e20,\n\t0x1a23c: 0x6c55a020, 0x1a23d: 0x6c250620, 0x1a23f: 0x6cc3fc20,\n\t// Block 0x689, offset 0x1a240\n\t0x1a240: 0x6c2b9220, 0x1a241: 0x6cf53020, 0x1a242: 0x6cbfd020,\n\t0x1a244: 0x6d0eee20, 0x1a245: 0x6c8a5020, 0x1a246: 0x6c08a620,\n\t0x1a248: 0x6c0d7220, 0x1a24a: 0x6d252c20, 0x1a24b: 0x6caaa620,\n\t0x1a24c: 0x6c05c620, 0x1a24d: 0x6d1cf220, 0x1a24e: 0x6c536c20, 0x1a24f: 0x6c225820,\n\t0x1a250: 0x6cb87220, 0x1a251: 0x6ce35a20, 0x1a252: 0x6d23b220, 0x1a253: 0x6c824c20,\n\t0x1a254: 0x6c05d020, 0x1a256: 0x6c625620, 0x1a257: 0x6c3ee820,\n\t0x1a258: 0x6cfd0420, 0x1a259: 0x6c133820, 0x1a25a: 0x6c550620, 0x1a25b: 0x6ccb6620,\n\t0x1a25c: 0x6c080a20, 0x1a25d: 0x6cbe5620, 0x1a25e: 0x6d22a020, 0x1a25f: 0x6cebf620,\n\t0x1a260: 0x6c007a20, 0x1a261: 0x6c4e3c20, 0x1a262: 0x6c28d020, 0x1a263: 0x6c444620,\n\t0x1a264: 0x6c2b9c20, 0x1a265: 0x6c5e2020, 0x1a266: 0x6cace420,\n\t0x1a268: 0x6d3c6a20, 0x1a269: 0x6c8d7c20, 0x1a26a: 0x6c970820, 0x1a26b: 0x6c974820,\n\t0x1a26c: 0x6c888c20, 0x1a26d: 0x6cff4220, 0x1a26e: 0x6d093220, 0x1a26f: 0x6d327820,\n\t0x1a270: 0x6cb3b820, 0x1a271: 0x6c408e20, 0x1a272: 0x6caa0e20, 0x1a273: 0x6cf93220,\n\t0x1a274: 0x6c338e20, 0x1a275: 0x6c28f020, 0x1a276: 0x6d280c20, 0x1a277: 0x6cfd5220,\n\t0x1a278: 0x6d1b3020, 0x1a279: 0x6cd52220, 0x1a27a: 0x6c339420, 0x1a27b: 0x6c086820,\n\t0x1a27c: 0x6c56e620, 0x1a27d: 0x6c3a5420, 0x1a27e: 0x6c3aa820, 0x1a27f: 0x6d28be20,\n\t// Block 0x68a, offset 0x1a280\n\t0x1a280: 0x6c075620, 0x1a281: 0x6c3a2820, 0x1a282: 0x6cfab820, 0x1a283: 0x6cd3ae20,\n\t0x1a284: 0x6c9e3020, 0x1a285: 0x6d2e0820, 0x1a286: 0x6d2e0a20, 0x1a287: 0x6d2d8c20,\n\t0x1a288: 0x6c5c4820, 0x1a289: 0x6c3f8820, 0x1a28a: 0x6ced5a20, 0x1a28b: 0x6ca0b420,\n\t0x1a28c: 0x6cbc1020, 0x1a28d: 0x6c8a8a20, 0x1a28f: 0x6c9f1e20,\n\t0x1a290: 0x6c54d820, 0x1a291: 0x6c535e20, 0x1a292: 0x6d213c20, 0x1a293: 0x6cb60820,\n\t0x1a294: 0x6c350420, 0x1a295: 0x6c020020, 0x1a297: 0x6c03ba20,\n\t0x1a298: 0x6c2c7820, 0x1a299: 0x6d08aa20, 0x1a29a: 0x6c2c8a20, 0x1a29b: 0x6c0a0e20,\n\t0x1a29c: 0x6d393e20, 0x1a29d: 0x6cad6020, 0x1a29e: 0x6ce5f620, 0x1a29f: 0x6d155020,\n\t0x1a2a1: 0x6c63ea20, 0x1a2a2: 0x6d36f220, 0x1a2a3: 0x6ce8f820,\n\t0x1a2a4: 0x6d00f820, 0x1a2a5: 0x6c28ba20, 0x1a2a6: 0x6ce5a620, 0x1a2a7: 0x6d022620,\n\t0x1a2a8: 0x6c172620, 0x1a2a9: 0x6d25f220, 0x1a2aa: 0x6c496a20, 0x1a2ab: 0x6c89a420,\n\t0x1a2ac: 0x6c083220, 0x1a2ae: 0x6c930020, 0x1a2af: 0x6c60e420,\n\t0x1a2b0: 0x6d08c220, 0x1a2b1: 0x6cd62420, 0x1a2b2: 0x6c318220, 0x1a2b3: 0x6cd9f420,\n\t0x1a2b4: 0x6c55e220, 0x1a2b5: 0x6d286420, 0x1a2b6: 0x6c160820, 0x1a2b7: 0x6c054620,\n\t0x1a2b8: 0x6cc6da20, 0x1a2b9: 0x6c359c20, 0x1a2ba: 0x6cf24020, 0x1a2bb: 0x6c03ca20,\n\t0x1a2bc: 0x6c3cc220, 0x1a2bd: 0x6d209e20, 0x1a2be: 0x6d310c20, 0x1a2bf: 0x6c3bae20,\n\t// Block 0x68b, offset 0x1a2c0\n\t0x1a2c0: 0x6c496c20, 0x1a2c1: 0x6c104c20, 0x1a2c2: 0x6c446220, 0x1a2c3: 0x6c33c420,\n\t0x1a2c4: 0x6c5a3420, 0x1a2c5: 0x6c31f820, 0x1a2c6: 0x6ce3ce20, 0x1a2c7: 0x6c0fcc20,\n\t0x1a2c8: 0x6cba8a20, 0x1a2c9: 0x6c8b8220, 0x1a2ca: 0x6c901620, 0x1a2cb: 0x6cf13420,\n\t0x1a2cc: 0x6d2eac20, 0x1a2cd: 0x6c801820, 0x1a2ce: 0x6cdbea20, 0x1a2cf: 0x6ca36020,\n\t0x1a2d0: 0x6c0a1020, 0x1a2d1: 0x6ceb3e20, 0x1a2d2: 0x6d3b1a20, 0x1a2d3: 0x6c2e5c20,\n\t0x1a2d4: 0x6c104620, 0x1a2d5: 0x6c716820, 0x1a2d6: 0x6cb3b020, 0x1a2d7: 0x6cfa0c20,\n\t0x1a2d8: 0x6cf04420, 0x1a2d9: 0x6cb3b420, 0x1a2da: 0x6c267420, 0x1a2db: 0x6c387220,\n\t0x1a2dc: 0x6c14e420, 0x1a2dd: 0x6c56f020, 0x1a2de: 0x6d28c020,\n\t0x1a2e4: 0x6c38f020, 0x1a2e5: 0x6d028a20, 0x1a2e6: 0x6c536020, 0x1a2e7: 0x6c1b2e20,\n\t0x1a2e8: 0x6c05c820, 0x1a2e9: 0x6d1a7a20, 0x1a2eb: 0x6c6dd220,\n\t0x1a2ec: 0x6c0f6820, 0x1a2ed: 0x6cc88820, 0x1a2ee: 0x6c1e3a20, 0x1a2ef: 0x6d1c1220,\n\t0x1a2f0: 0x6d143a20, 0x1a2f1: 0x6c411820, 0x1a2f2: 0x6c7d6c20, 0x1a2f3: 0x6d27f020,\n\t0x1a2f4: 0x6d31ec20, 0x1a2f5: 0x6d0b5a20, 0x1a2f6: 0x6c70b820, 0x1a2f7: 0x6c547a20,\n\t0x1a2f8: 0x6c9f7620, 0x1a2f9: 0x6c040220, 0x1a2fa: 0x6c441c20, 0x1a2fb: 0x6c0bb220,\n\t0x1a2fc: 0x6d3d0820, 0x1a2fd: 0x6c505420, 0x1a2fe: 0x6d31ee20, 0x1a2ff: 0x6cd14a20,\n\t// Block 0x68c, offset 0x1a300\n\t0x1a300: 0x6c44a020, 0x1a301: 0x6c0a3e20, 0x1a302: 0x6c34b220, 0x1a303: 0x6c216820,\n\t0x1a304: 0x6c1fb220, 0x1a305: 0x6cca5a20, 0x1a306: 0x6c1a4620, 0x1a307: 0x6cc48a20,\n\t0x1a308: 0x6c191220, 0x1a309: 0x6c99b820, 0x1a30a: 0x6cadf220, 0x1a30b: 0x6ceec220,\n\t0x1a30c: 0x6cb07420, 0x1a30d: 0x6c3f8c20, 0x1a30e: 0x6d3d0e20, 0x1a30f: 0x6cb53c20,\n\t0x1a310: 0x6c8bec20, 0x1a311: 0x6d142020, 0x1a312: 0x6c9adc20, 0x1a313: 0x6cf3f820,\n\t0x1a314: 0x6cb7fa20, 0x1a315: 0x6c2f0020, 0x1a316: 0x6c191a20, 0x1a317: 0x6cfa0e20,\n\t0x1a318: 0x6c518e20, 0x1a319: 0x6cca9220, 0x1a31a: 0x6c487e20, 0x1a31b: 0x6c543e20,\n\t0x1a31c: 0x6c023420, 0x1a31d: 0x6c3f9420, 0x1a31e: 0x6cbbc620, 0x1a31f: 0x6c5d4c20,\n\t0x1a320: 0x6cafa220, 0x1a321: 0x6d0cf820, 0x1a322: 0x6cd84420, 0x1a323: 0x6cf7b420,\n\t0x1a324: 0x6ca02420, 0x1a325: 0x6c7ce420, 0x1a326: 0x6c445620,\n\t0x1a328: 0x6c02fc20, 0x1a329: 0x6cca4220, 0x1a32a: 0x6cd6ee20, 0x1a32b: 0x6c90d820,\n\t0x1a32c: 0x6d320620, 0x1a32d: 0x6c5c9a20, 0x1a32e: 0x6c156620,\n\t0x1a330: 0x6c8c8420, 0x1a331: 0x6ca2ee20, 0x1a332: 0x6c4f3c20, 0x1a333: 0x6c31fc20,\n\t0x1a334: 0x6c6d7820, 0x1a335: 0x6c9df420, 0x1a336: 0x6c38fa20, 0x1a337: 0x6c370020,\n\t0x1a338: 0x6c174220, 0x1a339: 0x6c536220, 0x1a33a: 0x6c536e20, 0x1a33b: 0x6d238820,\n\t0x1a33c: 0x6d096a20, 0x1a33d: 0x6cad3a20, 0x1a33e: 0x6c088220, 0x1a33f: 0x6c175220,\n\t// Block 0x68d, offset 0x1a340\n\t0x1a340: 0x6d1fe220, 0x1a341: 0x6d153a20, 0x1a342: 0x6d096e20, 0x1a343: 0x6cc97e20,\n\t0x1a344: 0x6d073420, 0x1a345: 0x6c866820, 0x1a346: 0x6c868a20, 0x1a347: 0x6d263220,\n\t0x1a348: 0x6c336220, 0x1a349: 0x6c5e0420, 0x1a34a: 0x6ccc7e20, 0x1a34b: 0x6c838c20,\n\t0x1a34c: 0x6cb3ce20, 0x1a34d: 0x6c550e20, 0x1a34e: 0x6c4c8e20, 0x1a34f: 0x6c10c420,\n\t0x1a350: 0x6cc8a620, 0x1a351: 0x6cf0fa20, 0x1a352: 0x6cd9f620, 0x1a353: 0x6c01dc20,\n\t0x1a354: 0x6d21cc20, 0x1a355: 0x6cfd8e20, 0x1a356: 0x6c527c20, 0x1a357: 0x6d0fea20,\n\t0x1a358: 0x6cff4420, 0x1a359: 0x6d116820, 0x1a35b: 0x6c0ac020,\n\t0x1a35d: 0x6c528420, 0x1a35e: 0x6ce25620, 0x1a35f: 0x6c8eee20,\n\t0x1a361: 0x6d3b3420, 0x1a363: 0x6cf89a20,\n\t0x1a364: 0x6d298e20, 0x1a365: 0x6d17d420, 0x1a366: 0x6c312a20, 0x1a367: 0x6d259020,\n\t0x1a368: 0x6c700820, 0x1a36a: 0x6c0f2020, 0x1a36b: 0x6ce35c20,\n\t0x1a36c: 0x6d1d0220, 0x1a36e: 0x6d154020, 0x1a36f: 0x6ca70420,\n\t0x1a370: 0x6ccee220, 0x1a371: 0x6c07c020, 0x1a372: 0x6c465620, 0x1a373: 0x6c04d420,\n\t0x1a374: 0x6ca14820, 0x1a375: 0x6c410420, 0x1a376: 0x6c372620, 0x1a377: 0x6ccf2e20,\n\t0x1a379: 0x6d36d620, 0x1a37a: 0x6d106c20, 0x1a37b: 0x6c66ca20,\n\t0x1a37c: 0x6d263420, 0x1a37d: 0x6cd73020, 0x1a37e: 0x6ce38420, 0x1a37f: 0x6cf02020,\n\t// Block 0x68e, offset 0x1a380\n\t0x1a380: 0x6d0aaa20, 0x1a381: 0x6d36f620, 0x1a382: 0x6d18bc20, 0x1a383: 0x6cc59c20,\n\t0x1a384: 0x6cd3ee20, 0x1a385: 0x6c55d420, 0x1a386: 0x6ca55620, 0x1a387: 0x6d126a20,\n\t0x1a388: 0x6c66f820, 0x1a389: 0x6cdc1220, 0x1a38a: 0x6d1d1e20, 0x1a38b: 0x6c061a20,\n\t0x1a38c: 0x6c55e420, 0x1a38d: 0x6c55e620, 0x1a38e: 0x6d137a20,\n\t0x1a390: 0x6d107420, 0x1a391: 0x6c888e20, 0x1a392: 0x6cf72620, 0x1a393: 0x6c372820,\n\t0x1a394: 0x6c331c20, 0x1a395: 0x6d297e20, 0x1a396: 0x6d3b4420, 0x1a397: 0x6d1d2820,\n\t0x1a398: 0x6d1d2c20, 0x1a399: 0x6c6cca20, 0x1a39a: 0x6c208820, 0x1a39b: 0x6c28ec20,\n\t0x1a39d: 0x6c7b4a20, 0x1a39e: 0x6d196020, 0x1a39f: 0x6d139a20,\n\t0x1a3a0: 0x6c662e20, 0x1a3a1: 0x6c372a20, 0x1a3a2: 0x6ca93e20, 0x1a3a3: 0x6c228820,\n\t0x1a3a4: 0x6cba3420, 0x1a3a5: 0x6d098220, 0x1a3a6: 0x6c0ea420, 0x1a3a7: 0x6c9d1420,\n\t0x1a3a8: 0x6cd73a20, 0x1a3a9: 0x6ca0a620, 0x1a3aa: 0x6c897c20, 0x1a3ab: 0x6cb71820,\n\t0x1a3ac: 0x6cb71a20, 0x1a3ad: 0x6cd44c20, 0x1a3ae: 0x6c3f2020, 0x1a3af: 0x6c0f3a20,\n\t0x1a3b0: 0x6c085820, 0x1a3b1: 0x6c0d0020, 0x1a3b2: 0x6d161c20, 0x1a3b3: 0x6cf13a20,\n\t0x1a3b4: 0x6c587e20, 0x1a3b5: 0x6c38ac20, 0x1a3b6: 0x6cb60e20, 0x1a3b7: 0x6c98f620,\n\t0x1a3b8: 0x6c060820, 0x1a3b9: 0x6c020420, 0x1a3ba: 0x6c020a20, 0x1a3bb: 0x6c403020,\n\t0x1a3bc: 0x6cb63020, 0x1a3bd: 0x6cc45020, 0x1a3be: 0x6ceb4020, 0x1a3bf: 0x6d187420,\n\t// Block 0x68f, offset 0x1a3c0\n\t0x1a3c0: 0x6c0f5420, 0x1a3c1: 0x6cb12820, 0x1a3c2: 0x6c039220,\n\t0x1a3c4: 0x6d082220, 0x1a3c7: 0x6d23fe20,\n\t0x1a3c8: 0x6c1b5620, 0x1a3c9: 0x6c915e20, 0x1a3ca: 0x6d156820, 0x1a3cb: 0x6c868c20,\n\t0x1a3cd: 0x6ca7b020, 0x1a3ce: 0x6cf90220, 0x1a3cf: 0x6cf3fa20,\n\t0x1a3d1: 0x6c834a20, 0x1a3d2: 0x6cb41a20, 0x1a3d3: 0x6d3d1220,\n\t0x1a3d4: 0x6d417e20, 0x1a3d5: 0x6d3dc620, 0x1a3d6: 0x6c168220, 0x1a3d7: 0x6c01de20,\n\t0x1a3d8: 0x6c377220, 0x1a3d9: 0x6d244620, 0x1a3da: 0x6c839c20, 0x1a3db: 0x6c408220,\n\t0x1a3dc: 0x6d2c6420, 0x1a3dd: 0x6c5d0a20, 0x1a3de: 0x6c218e20, 0x1a3df: 0x6cd9fe20,\n\t0x1a3e0: 0x6c089a20, 0x1a3e1: 0x6c0ab420, 0x1a3e2: 0x6d2c6620,\n\t0x1a3e4: 0x6c519e20, 0x1a3e5: 0x6c873a20, 0x1a3e7: 0x6c4f3220,\n\t0x1a3e8: 0x6d292220, 0x1a3e9: 0x6c474a20, 0x1a3ea: 0x6c1a5e20, 0x1a3eb: 0x6c90dc20,\n\t0x1a3ec: 0x6ca19e20, 0x1a3ed: 0x6c9daa20, 0x1a3ee: 0x6c975020, 0x1a3ef: 0x6c030420,\n\t0x1a3f0: 0x6d30c020, 0x1a3f1: 0x6d3a3a20, 0x1a3f2: 0x6c5a3820, 0x1a3f3: 0x6c38f620,\n\t0x1a3f4: 0x6c2b0220, 0x1a3f5: 0x6ce7a420, 0x1a3f7: 0x6c320220,\n\t0x1a3f8: 0x6cf33620, 0x1a3f9: 0x6cf13020, 0x1a3fa: 0x6c62f620, 0x1a3fb: 0x6c1ca020,\n\t0x1a3fc: 0x6c8c1220, 0x1a3fd: 0x6c0c6420, 0x1a3fe: 0x6c901e20, 0x1a3ff: 0x6c664a20,\n\t// Block 0x690, offset 0x1a400\n\t0x1a400: 0x6ca8da20, 0x1a401: 0x6c959e20, 0x1a402: 0x6cd03420,\n\t0x1a404: 0x6c487a20, 0x1a405: 0x6ca8a820, 0x1a406: 0x6d178a20, 0x1a407: 0x6c7a4820,\n\t0x1a408: 0x6cece220, 0x1a409: 0x6cebee20, 0x1a40a: 0x6cb87620, 0x1a40b: 0x6c0f5620,\n\t0x1a40c: 0x6c779220, 0x1a40d: 0x6c8d5020, 0x1a40e: 0x6c423020, 0x1a40f: 0x6c487820,\n\t0x1a410: 0x6c4d2c20, 0x1a411: 0x6c7bb020, 0x1a412: 0x6c527420, 0x1a413: 0x6c7c4620,\n\t0x1a414: 0x6d2b0a20, 0x1a415: 0x6ce64e20, 0x1a416: 0x6c80ee20, 0x1a417: 0x6c0a8020,\n\t0x1a418: 0x6c595a20, 0x1a419: 0x6cb3aa20, 0x1a41a: 0x6d11de20, 0x1a41b: 0x6cedaa20,\n\t0x1a41c: 0x6ce43c20, 0x1a41d: 0x6cdc1620, 0x1a41e: 0x6c7ad020, 0x1a41f: 0x6c337e20,\n\t0x1a420: 0x6c02b620, 0x1a421: 0x6c671620, 0x1a422: 0x6ca09c20, 0x1a423: 0x6c7d4220,\n\t0x1a424: 0x6c7b4c20, 0x1a425: 0x6c01e620, 0x1a426: 0x6c96ea20, 0x1a427: 0x6cbeaa20,\n\t0x1a428: 0x6cbb8820, 0x1a42a: 0x6c77b820, 0x1a42b: 0x6c508220,\n\t0x1a42c: 0x6c34c820, 0x1a42d: 0x6cfaa820, 0x1a42e: 0x6ca37c20, 0x1a42f: 0x6cdd3420,\n\t0x1a430: 0x6c6bf820, 0x1a431: 0x6caf8220, 0x1a432: 0x6cabcc20, 0x1a433: 0x6cd93020,\n\t0x1a434: 0x6c16bc20, 0x1a435: 0x6ca86c20, 0x1a436: 0x6c977620, 0x1a437: 0x6cd93e20,\n\t0x1a438: 0x6c22e420, 0x1a439: 0x6cfae420, 0x1a43a: 0x6c7e2420,\n\t0x1a43c: 0x6c2b9e20, 0x1a43d: 0x6cb3e420, 0x1a43e: 0x6ce5ac20, 0x1a43f: 0x6d40f420,\n\t// Block 0x691, offset 0x1a440\n\t0x1a440: 0x6cf2c820, 0x1a441: 0x6c3ae420, 0x1a442: 0x6c115020, 0x1a443: 0x6caee220,\n\t0x1a444: 0x6cc9d620, 0x1a446: 0x6cc76e20, 0x1a447: 0x6cb68620,\n\t0x1a448: 0x6c25fc20, 0x1a449: 0x6cac8e20, 0x1a44a: 0x6c0fc020, 0x1a44b: 0x6c979c20,\n\t0x1a44c: 0x6d401420, 0x1a44d: 0x6c22f220, 0x1a44e: 0x6c7d4420, 0x1a44f: 0x6c62f820,\n\t0x1a450: 0x6c801420, 0x1a452: 0x6c9bc220, 0x1a453: 0x6c9df820,\n\t0x1a454: 0x6cac9620, 0x1a455: 0x6c91aa20, 0x1a456: 0x6d416020,\n\t0x1a458: 0x6c8ee220, 0x1a459: 0x6d160020, 0x1a45a: 0x6cf1a820, 0x1a45b: 0x6c866c20,\n\t0x1a45c: 0x6c868e20, 0x1a45d: 0x6d2bb820, 0x1a45e: 0x6d3a9220, 0x1a45f: 0x6c5cfc20,\n\t0x1a460: 0x6cd03c20, 0x1a461: 0x6c1c6620, 0x1a462: 0x6d043c20, 0x1a463: 0x6cee3a20,\n\t0x1a464: 0x6c302020, 0x1a465: 0x6c5e2220, 0x1a466: 0x6cb07a20, 0x1a467: 0x6c551420,\n\t0x1a468: 0x6c9ab420, 0x1a469: 0x6c17f420, 0x1a46a: 0x6c9ab820, 0x1a46b: 0x6c175820,\n\t0x1a46c: 0x6c719620, 0x1a46d: 0x6caa3420, 0x1a46f: 0x6d197620,\n\t0x1a470: 0x6cc7f020, 0x1a471: 0x6c8e0420, 0x1a472: 0x6d0bba20,\n\t0x1a474: 0x6cb7bc20, 0x1a475: 0x6d3e7620, 0x1a477: 0x6c058c20,\n\t0x1a478: 0x6c45aa20, 0x1a479: 0x6d2af620, 0x1a47a: 0x6c6bfe20, 0x1a47b: 0x6d219a20,\n\t0x1a47c: 0x6cbd9820, 0x1a47d: 0x6c075820, 0x1a47e: 0x6c035820, 0x1a47f: 0x6ceb5020,\n\t// Block 0x692, offset 0x1a480\n\t0x1a480: 0x6d0f6c20, 0x1a481: 0x6cbbfc20, 0x1a482: 0x6d1ff220, 0x1a483: 0x6d36fa20,\n\t0x1a484: 0x6c6c0a20, 0x1a485: 0x6ca16a20, 0x1a486: 0x6cd12420, 0x1a487: 0x6ccdb820,\n\t0x1a488: 0x6cb65620, 0x1a489: 0x6ccdba20, 0x1a48a: 0x6c9d0420, 0x1a48b: 0x6c460220,\n\t0x1a48c: 0x6d157c20, 0x1a48d: 0x6c453e20, 0x1a48e: 0x6c454020, 0x1a48f: 0x6ce82020,\n\t0x1a490: 0x6c3dac20, 0x1a491: 0x6d092220, 0x1a492: 0x6d137e20, 0x1a493: 0x6ce69a20,\n\t0x1a494: 0x6ce5ae20, 0x1a495: 0x6ca1f620, 0x1a496: 0x6c8ec620, 0x1a497: 0x6c117e20,\n\t0x1a498: 0x6c848020, 0x1a499: 0x6cd51820, 0x1a49a: 0x6c932420, 0x1a49b: 0x6c5e3a20,\n\t0x1a49c: 0x6c263c20, 0x1a49d: 0x6cac1220, 0x1a49e: 0x6c8ed420, 0x1a49f: 0x6c72b820,\n\t0x1a4a0: 0x6d2e9220, 0x1a4a1: 0x6c718220, 0x1a4a2: 0x6d330a20, 0x1a4a3: 0x6d40f820,\n\t0x1a4a4: 0x6cfd3820, 0x1a4a5: 0x6d375020,\n\t0x1a4a8: 0x6c7eb020, 0x1a4ab: 0x6c7ebe20,\n\t0x1a4ac: 0x6d060a20, 0x1a4ad: 0x6c454220, 0x1a4ae: 0x6c35a220, 0x1a4af: 0x6ca21e20,\n\t0x1a4b0: 0x6d384a20, 0x1a4b1: 0x6ce3aa20, 0x1a4b2: 0x6d25ce20, 0x1a4b3: 0x6d2dc020,\n\t0x1a4b4: 0x6c454420, 0x1a4b5: 0x6cf24420, 0x1a4b6: 0x6c80f420, 0x1a4b7: 0x6d21f620,\n\t0x1a4b8: 0x6cda0820, 0x1a4b9: 0x6d2ca020, 0x1a4ba: 0x6c4d3620, 0x1a4bb: 0x6c576e20,\n\t0x1a4bc: 0x6d2e3e20, 0x1a4be: 0x6c90de20, 0x1a4bf: 0x6c165020,\n\t// Block 0x693, offset 0x1a4c0\n\t0x1a4c0: 0x6d376c20, 0x1a4c1: 0x6cf12820, 0x1a4c2: 0x6d083c20, 0x1a4c3: 0x6d2a6420,\n\t0x1a4c4: 0x6c9f8620, 0x1a4c5: 0x6c4aac20, 0x1a4c6: 0x6cda7020,\n\t0x1a4c9: 0x6cd85420, 0x1a4ca: 0x6c352820, 0x1a4cb: 0x6c134220,\n\t0x1a4cc: 0x6c7b7a20, 0x1a4cd: 0x6ce2dc20, 0x1a4ce: 0x6ca57c20, 0x1a4cf: 0x6c819620,\n\t0x1a4d0: 0x6c920820, 0x1a4d1: 0x6d159e20, 0x1a4d2: 0x6d029220, 0x1a4d3: 0x6d0e2a20,\n\t0x1a4d4: 0x6cbe9820, 0x1a4d5: 0x6cb42420, 0x1a4d6: 0x6c1e1220, 0x1a4d7: 0x6cfbe020,\n\t0x1a4d8: 0x6c497020, 0x1a4d9: 0x6c6b8a20, 0x1a4da: 0x6c7f8220, 0x1a4db: 0x6c9bca20,\n\t0x1a4dc: 0x6d13ac20, 0x1a4de: 0x6c869420, 0x1a4df: 0x6d1b8420,\n\t0x1a4e0: 0x6c212620, 0x1a4e1: 0x6cbfde20, 0x1a4e2: 0x6ce2d220, 0x1a4e3: 0x6d21f820,\n\t0x1a4e6: 0x6c278420, 0x1a4e7: 0x6c327420,\n\t0x1a4e8: 0x6c537e20, 0x1a4ea: 0x6cf8c220,\n\t0x1a4ec: 0x6cb64820, 0x1a4ee: 0x6d25a620, 0x1a4ef: 0x6c609e20,\n\t0x1a4f0: 0x6d285020, 0x1a4f1: 0x6c39dc20, 0x1a4f2: 0x6c45ac20, 0x1a4f3: 0x6c4f8820,\n\t0x1a4f4: 0x6d326620, 0x1a4f5: 0x6cc3f620,\n\t0x1a4f8: 0x6c6c0220, 0x1a4f9: 0x6cb02020, 0x1a4fa: 0x6c423220, 0x1a4fb: 0x6d082820,\n\t0x1a4fc: 0x6cd11420, 0x1a4fd: 0x6cd28c20, 0x1a4fe: 0x6cbc2a20, 0x1a4ff: 0x6c227020,\n\t// Block 0x694, offset 0x1a500\n\t0x1a500: 0x6c2eee20, 0x1a501: 0x6c0f7220, 0x1a502: 0x6c2de620, 0x1a503: 0x6ced5020,\n\t0x1a504: 0x6c227220, 0x1a505: 0x6d355420, 0x1a506: 0x6c041220, 0x1a507: 0x6cf47e20,\n\t0x1a508: 0x6c061820, 0x1a509: 0x6c28be20, 0x1a50a: 0x6c039420, 0x1a50b: 0x6ce79620,\n\t0x1a50d: 0x6c45bc20, 0x1a50e: 0x6c702e20, 0x1a50f: 0x6c4b8620,\n\t0x1a510: 0x6c22e820, 0x1a511: 0x6d1ff420, 0x1a512: 0x6d25ba20, 0x1a513: 0x6c81be20,\n\t0x1a514: 0x6c716e20, 0x1a515: 0x6c3f1820, 0x1a516: 0x6ca88e20, 0x1a517: 0x6c358c20,\n\t0x1a518: 0x6c358e20, 0x1a519: 0x6d040e20, 0x1a51a: 0x6c771620, 0x1a51b: 0x6d0ee220,\n\t0x1a51c: 0x6ce90220, 0x1a51d: 0x6cb3f820, 0x1a51e: 0x6c083820, 0x1a51f: 0x6ca02620,\n\t0x1a520: 0x6cd73620, 0x1a521: 0x6d0ef220, 0x1a522: 0x6cb68c20, 0x1a523: 0x6d25ca20,\n\t0x1a524: 0x6c0cca20, 0x1a526: 0x6d07f220, 0x1a527: 0x6c544220,\n\t0x1a528: 0x6c5a3020, 0x1a529: 0x6d10c220, 0x1a52a: 0x6c73a220, 0x1a52b: 0x6c7cb220,\n\t0x1a52c: 0x6c36de20, 0x1a52d: 0x6c60f620, 0x1a52e: 0x6ca19220, 0x1a52f: 0x6c1d2e20,\n\t0x1a530: 0x6c062220, 0x1a531: 0x6cf54e20, 0x1a532: 0x6d327a20, 0x1a533: 0x6d076620,\n\t0x1a534: 0x6cdee820, 0x1a535: 0x6c1c9620, 0x1a536: 0x6cf74a20, 0x1a537: 0x6c23d220,\n\t0x1a538: 0x6c968620, 0x1a539: 0x6c7a1020, 0x1a53a: 0x6d0f0820, 0x1a53b: 0x6c11c420,\n\t0x1a53d: 0x6c520e20, 0x1a53e: 0x6c2ac620, 0x1a53f: 0x6cc49e20,\n\t// Block 0x695, offset 0x1a540\n\t0x1a540: 0x6ce7a820, 0x1a541: 0x6d248c20, 0x1a542: 0x6cfe7020, 0x1a543: 0x6ca4d820,\n\t0x1a544: 0x6cd76420, 0x1a545: 0x6c3bb220, 0x1a546: 0x6cb47820, 0x1a547: 0x6c8dba20,\n\t0x1a548: 0x6c02ba20, 0x1a549: 0x6c58d020, 0x1a54a: 0x6d15a020, 0x1a54b: 0x6c58d220,\n\t0x1a54c: 0x6c9bc620, 0x1a54d: 0x6d1c4e20, 0x1a54e: 0x6c831820, 0x1a54f: 0x6d0f2e20,\n\t0x1a550: 0x6c062820, 0x1a551: 0x6c2f2c20, 0x1a552: 0x6c8e0620, 0x1a553: 0x6cd1f820,\n\t0x1a554: 0x6c689020, 0x1a555: 0x6c8b4420, 0x1a556: 0x6c6dee20, 0x1a557: 0x6c718c20,\n\t0x1a558: 0x6ce30a20, 0x1a559: 0x6cb0e620, 0x1a55a: 0x6c42a620, 0x1a55b: 0x6cff3420,\n\t0x1a55c: 0x6cec5e20, 0x1a55d: 0x6c1fd420, 0x1a55e: 0x6c2bc420, 0x1a55f: 0x6c588e20,\n\t0x1a560: 0x6d11d220, 0x1a561: 0x6c866e20, 0x1a562: 0x6c9c7020, 0x1a563: 0x6c550a20,\n\t0x1a564: 0x6cd11620, 0x1a565: 0x6c638a20, 0x1a566: 0x6d1aa620, 0x1a567: 0x6ceec620,\n\t0x1a569: 0x6cb18e20, 0x1a56a: 0x6c934420, 0x1a56b: 0x6c8dbc20,\n\t0x1a56c: 0x6d184420, 0x1a56d: 0x6c111620, 0x1a56e: 0x6ccd9820, 0x1a56f: 0x6c54fe20,\n\t0x1a570: 0x6cd53620, 0x1a571: 0x6cead420, 0x1a572: 0x6ca16e20, 0x1a573: 0x6c575820,\n\t0x1a574: 0x6ce61a20, 0x1a575: 0x6c0dfe20, 0x1a576: 0x6caee620, 0x1a577: 0x6c5d0820,\n\t0x1a578: 0x6c3dae20, 0x1a579: 0x6c4cdc20, 0x1a57a: 0x6c10d020, 0x1a57b: 0x6c849820,\n\t0x1a57c: 0x6c163e20, 0x1a57d: 0x6cb03420, 0x1a57e: 0x6c260020, 0x1a57f: 0x6c9bb220,\n\t// Block 0x696, offset 0x1a580\n\t0x1a580: 0x6cddc020, 0x1a581: 0x6cbb6020, 0x1a582: 0x6d34c420, 0x1a583: 0x6c7c2420,\n\t0x1a584: 0x6c08a820, 0x1a585: 0x6c029220, 0x1a586: 0x6c9bc820, 0x1a587: 0x6cfd0620,\n\t0x1a588: 0x6c7ab420, 0x1a589: 0x6ce7fc20, 0x1a58a: 0x6ce93c20, 0x1a58b: 0x6cf04a20,\n\t0x1a58c: 0x6cfaf820, 0x1a58e: 0x6ce94220, 0x1a58f: 0x6c81cc20,\n\t0x1a590: 0x6c162220, 0x1a591: 0x6ca6c420, 0x1a592: 0x6ca6d020, 0x1a593: 0x6c845220,\n\t0x1a594: 0x6c304620, 0x1a595: 0x6c72c620, 0x1a596: 0x6cba8620, 0x1a597: 0x6c0fc620,\n\t0x1a598: 0x6cccac20, 0x1a599: 0x6d2c0e20, 0x1a59a: 0x6ce25e20, 0x1a59b: 0x6cba8c20,\n\t0x1a59c: 0x6ca9ee20, 0x1a59d: 0x6d181620, 0x1a59e: 0x6c6e9e20, 0x1a59f: 0x6c41e820,\n\t0x1a5a0: 0x6c2ba020, 0x1a5a1: 0x6c65de20, 0x1a5a2: 0x6c9ab020, 0x1a5a3: 0x6c26c420,\n\t0x1a5a4: 0x6c660620, 0x1a5a5: 0x6d244a20, 0x1a5a6: 0x6d024c20, 0x1a5a7: 0x6d294820,\n\t0x1a5a8: 0x6c988020, 0x1a5a9: 0x6c849a20, 0x1a5aa: 0x6c4c0a20, 0x1a5ab: 0x6d09ca20,\n\t0x1a5ac: 0x6cdedc20, 0x1a5ad: 0x6d310e20, 0x1a5ae: 0x6d107620, 0x1a5af: 0x6ce98620,\n\t0x1a5b0: 0x6cce2e20, 0x1a5b1: 0x6cf93e20, 0x1a5b2: 0x6cbbcc20, 0x1a5b3: 0x6cf13620,\n\t0x1a5b4: 0x6d1d6220, 0x1a5b5: 0x6c1fa820, 0x1a5b6: 0x6cc1ec20, 0x1a5b7: 0x6cebfa20,\n\t0x1a5b9: 0x6d343220, 0x1a5ba: 0x6ce6e420, 0x1a5bb: 0x6c47f820,\n\t0x1a5bc: 0x6cce3020, 0x1a5bd: 0x6c10ec20, 0x1a5be: 0x6c3f1a20, 0x1a5bf: 0x6ce61e20,\n\t// Block 0x697, offset 0x1a5c0\n\t0x1a5c0: 0x6cded220, 0x1a5c1: 0x6cdeea20, 0x1a5c2: 0x6d3da620, 0x1a5c3: 0x6c4e4020,\n\t0x1a5c4: 0x6cb2da20, 0x1a5c5: 0x6c519a20, 0x1a5c6: 0x6d3c7420, 0x1a5c7: 0x6d396e20,\n\t0x1a5c8: 0x6c0fd220, 0x1a5c9: 0x6c8eec20, 0x1a5ca: 0x6caa8c20, 0x1a5cb: 0x6cf71220,\n\t0x1a5cc: 0x6cada220, 0x1a5cd: 0x6c2cb420, 0x1a5ce: 0x6c50ac20, 0x1a5cf: 0x6ce44620,\n\t0x1a5d0: 0x6cec8020, 0x1a5d1: 0x6ce44a20, 0x1a5d2: 0x6cb66a20, 0x1a5d3: 0x6c62a820,\n\t0x1a5d4: 0x6c1b6620, 0x1a5d5: 0x6c03cc20, 0x1a5d6: 0x6c6d7020, 0x1a5d7: 0x6c78e820,\n\t0x1a5d8: 0x6c873e20, 0x1a5d9: 0x6c72c820, 0x1a5da: 0x6cc25620, 0x1a5db: 0x6c7ec820,\n\t0x1a5dc: 0x6c47f020, 0x1a5dd: 0x6cb88620, 0x1a5de: 0x6cb6b420, 0x1a5df: 0x6cfd5020,\n\t0x1a5e0: 0x6c664220, 0x1a5e1: 0x6cd29a20, 0x1a5e2: 0x6c655420, 0x1a5e3: 0x6c005e20,\n\t0x1a5e4: 0x6c577220, 0x1a5e5: 0x6d2c1420, 0x1a5e6: 0x6d2b2e20, 0x1a5e7: 0x6d11e820,\n\t0x1a5e8: 0x6d2dd820, 0x1a5e9: 0x6c630420, 0x1a5ea: 0x6c145c20, 0x1a5eb: 0x6d0f3420,\n\t0x1a5ec: 0x6c654c20, 0x1a5ee: 0x6d0e1020,\n\t0x1a5f0: 0x6c68a820, 0x1a5f1: 0x6ce7a220, 0x1a5f2: 0x6ca41820, 0x1a5f3: 0x6d271a20,\n\t0x1a5f5: 0x6c1b6e20,\n\t// Block 0x698, offset 0x1a600\n\t0x1a600: 0x6d13b620, 0x1a601: 0x6c2f4020, 0x1a602: 0x6c779820, 0x1a603: 0x6cb4c620,\n\t0x1a604: 0x6cce4620, 0x1a605: 0x6cfa2420, 0x1a606: 0x6c4e4c20, 0x1a607: 0x6ced6820,\n\t0x1a608: 0x6d2f1820, 0x1a609: 0x6cc9f220, 0x1a60a: 0x6cce4820, 0x1a60b: 0x6cfa2620,\n\t0x1a60c: 0x6c5e6220, 0x1a60d: 0x6c105620, 0x1a60e: 0x6d221020, 0x1a60f: 0x6c9dfa20,\n\t0x1a610: 0x6c411e20, 0x1a611: 0x6c1e1820, 0x1a612: 0x6c1e1a20, 0x1a613: 0x6d3b6c20,\n\t0x1a614: 0x6cbc8e20, 0x1a615: 0x6caf2220, 0x1a616: 0x6cd2ea20, 0x1a617: 0x6cd2e820,\n\t0x1a618: 0x6cbf9420, 0x1a619: 0x6c0dba20, 0x1a61a: 0x6d12b820, 0x1a61b: 0x6c237e20,\n\t0x1a61c: 0x6c2fd620, 0x1a61d: 0x6cd7b820, 0x1a61e: 0x6c19b020, 0x1a61f: 0x6c2fca20,\n\t0x1a620: 0x6cbf9620, 0x1a621: 0x6c898020, 0x1a622: 0x6c2fcc20, 0x1a623: 0x6d1f9a20,\n\t0x1a624: 0x6c898220, 0x1a625: 0x6d0c5420, 0x1a626: 0x6c0e0820, 0x1a627: 0x6cca9c20,\n\t0x1a628: 0x6c4bb620, 0x1a629: 0x6c6f3620, 0x1a62a: 0x6c447a20, 0x1a62b: 0x6d0ac420,\n\t0x1a62c: 0x6cbb0220, 0x1a62d: 0x6d378220, 0x1a62e: 0x6c611020, 0x1a62f: 0x6c6ba220,\n\t0x1a630: 0x6c3c0c20, 0x1a631: 0x6c497420, 0x1a632: 0x6c202c20, 0x1a633: 0x6c159620,\n\t0x1a634: 0x6c8ba220, 0x1a635: 0x6d3d3620, 0x1a636: 0x6d3a5220, 0x1a637: 0x6c4d0420,\n\t0x1a638: 0x6cecb420, 0x1a639: 0x6c27b220, 0x1a63a: 0x6cf06a20, 0x1a63b: 0x6d3a5420,\n\t0x1a63c: 0x6c6e0020, 0x1a63d: 0x6c857420, 0x1a63e: 0x6c71aa20, 0x1a63f: 0x6cb1dc20,\n\t// Block 0x699, offset 0x1a640\n\t0x1a640: 0x6c3dc220, 0x1a641: 0x6d144620, 0x1a642: 0x6d163420, 0x1a643: 0x6ca38c20,\n\t0x1a644: 0x6cf55020, 0x1a645: 0x6c6f9c20, 0x1a646: 0x6c6f9e20, 0x1a647: 0x6cea9020,\n\t0x1a648: 0x6c99c220, 0x1a649: 0x6d163820, 0x1a64a: 0x6d13b820, 0x1a64b: 0x6d337c20,\n\t0x1a64c: 0x6cf33c20, 0x1a64d: 0x6d2ca620, 0x1a64e: 0x6c56f820, 0x1a64f: 0x6c37f420,\n\t0x1a650: 0x6c820820, 0x1a651: 0x6d1a1e20, 0x1a652: 0x6cb24620, 0x1a653: 0x6caccc20,\n\t0x1a654: 0x6cbbce20, 0x1a655: 0x6c560e20, 0x1a656: 0x6c48c220, 0x1a657: 0x6c19c420,\n\t0x1a658: 0x6c19d420, 0x1a659: 0x6d15aa20, 0x1a65a: 0x6d1abc20, 0x1a65b: 0x6d0bd820,\n\t0x1a65c: 0x6c9ebc20, 0x1a65d: 0x6c6f9a20, 0x1a65e: 0x6cb6c020, 0x1a65f: 0x6d129c20,\n\t0x1a660: 0x6cf76820, 0x1a661: 0x6cfd5e20, 0x1a662: 0x6c412020, 0x1a663: 0x6c6fa020,\n\t0x1a664: 0x6cfa2820, 0x1a665: 0x6c563020, 0x1a666: 0x6cd49620, 0x1a667: 0x6c315a20,\n\t0x1a668: 0x6cd2aa20, 0x1a669: 0x6c5e7020, 0x1a66a: 0x6ca45420, 0x1a66b: 0x6c631a20,\n\t0x1a66c: 0x6c71ec20, 0x1a66d: 0x6cd23220, 0x1a66e: 0x6c992220, 0x1a66f: 0x6c549020,\n\t0x1a670: 0x6c971020, 0x1a671: 0x6c949020, 0x1a672: 0x6d3dfe20, 0x1a673: 0x6cc7f820,\n\t0x1a674: 0x6d08f620, 0x1a675: 0x6d0d4220, 0x1a676: 0x6c3f3a20, 0x1a677: 0x6ccbcc20,\n\t0x1a678: 0x6ca2f020, 0x1a679: 0x6c418220, 0x1a67a: 0x6cdd5020, 0x1a67b: 0x6d20d020,\n\t0x1a67c: 0x6c258c20, 0x1a67d: 0x6d30d420, 0x1a67e: 0x6c419020, 0x1a67f: 0x6d35d220,\n\t// Block 0x69a, offset 0x1a680\n\t0x1a680: 0x6c4a5020, 0x1a681: 0x6c419820, 0x1a682: 0x6c949a20, 0x1a683: 0x6c8c2220,\n\t0x1a684: 0x6d17d820, 0x1a685: 0x6c73be20, 0x1a686: 0x6c823620, 0x1a687: 0x6c96ec20,\n\t0x1a688: 0x6d221220, 0x1a689: 0x6d328020, 0x1a68a: 0x6cd30620, 0x1a68b: 0x6cd31020,\n\t0x1a68c: 0x6c37b420, 0x1a68d: 0x6c1f0020, 0x1a68e: 0x6d20a220, 0x1a68f: 0x6c7c3020,\n\t0x1a690: 0x6d20a020, 0x1a691: 0x6d277420, 0x1a692: 0x6c563220, 0x1a693: 0x6cb56020,\n\t0x1a694: 0x6cf41420, 0x1a695: 0x6c6dfe20, 0x1a696: 0x6cd87220, 0x1a697: 0x6cdc1c20,\n\t0x1a698: 0x6c44a620, 0x1a699: 0x6c44a820, 0x1a69a: 0x6d0b6c20, 0x1a69b: 0x6d003620,\n\t0x1a69c: 0x6d0b7420, 0x1a69d: 0x6cb57820, 0x1a69e: 0x6d0b7c20, 0x1a69f: 0x6c5fd820,\n\t0x1a6a0: 0x6ce7e220, 0x1a6a1: 0x6cedd420, 0x1a6a2: 0x6c777420, 0x1a6a3: 0x6cde2a20,\n\t0x1a6a4: 0x6c682220, 0x1a6a5: 0x6c4d4e20, 0x1a6a6: 0x6d165220, 0x1a6a7: 0x6c158c20,\n\t0x1a6a8: 0x6c524420, 0x1a6a9: 0x6ca22220, 0x1a6aa: 0x6d13b220, 0x1a6ab: 0x6cfdd820,\n\t0x1a6ac: 0x6c6d8e20, 0x1a6ad: 0x6ce66220, 0x1a6ae: 0x6c89aa20, 0x1a6af: 0x6cfdda20,\n\t0x1a6b0: 0x6c6d9620, 0x1a6b1: 0x6d12d420, 0x1a6b2: 0x6cbd1c20, 0x1a6b3: 0x6c0ece20,\n\t0x1a6b4: 0x6d204420, 0x1a6b5: 0x6d01a020, 0x1a6b6: 0x6c283820, 0x1a6b7: 0x6c880820,\n\t0x1a6b8: 0x6c34b420, 0x1a6b9: 0x6c9ae020, 0x1a6ba: 0x6cc55a20, 0x1a6bb: 0x6cc55c20,\n\t0x1a6bc: 0x6c5fb620, 0x1a6bd: 0x6c630a20, 0x1a6be: 0x6cedd620, 0x1a6bf: 0x6d163a20,\n\t// Block 0x69b, offset 0x1a6c0\n\t0x1a6c0: 0x6cd03620, 0x1a6c1: 0x6cc55e20, 0x1a6c2: 0x6c820220, 0x1a6c3: 0x6c2f4220,\n\t0x1a6c4: 0x6d2b3220, 0x1a6c5: 0x6c6c7e20, 0x1a6c6: 0x6cb3fa20, 0x1a6c7: 0x6c1d8c20,\n\t0x1a6c8: 0x6c030c20, 0x1a6c9: 0x6d2ef620, 0x1a6ca: 0x6c6c1c20, 0x1a6cb: 0x6c6ba420,\n\t0x1a6cc: 0x6c0da020, 0x1a6cd: 0x6cc61220, 0x1a6ce: 0x6c237c20, 0x1a6cf: 0x6c3d0820,\n\t0x1a6d0: 0x6cca1220, 0x1a6d1: 0x6c94d420, 0x1a6d2: 0x6c0da220, 0x1a6d3: 0x6c121c20,\n\t0x1a6d4: 0x6d3ed620, 0x1a6d5: 0x6cd2ee20, 0x1a6d6: 0x6cddda20, 0x1a6d7: 0x6d2f1a20,\n\t0x1a6d8: 0x6c3fa420, 0x1a6d9: 0x6cfd5620, 0x1a6da: 0x6cfa6a20, 0x1a6db: 0x6cea9220,\n\t0x1a6dc: 0x6c52e820, 0x1a6dd: 0x6ce70a20, 0x1a6de: 0x6cc5a620, 0x1a6df: 0x6cb88e20,\n\t0x1a6e0: 0x6c41c220, 0x1a6e1: 0x6c436220, 0x1a6e2: 0x6c0ea620, 0x1a6e3: 0x6c272220,\n\t0x1a6e4: 0x6c8e1820, 0x1a6e5: 0x6d15ae20, 0x1a6e6: 0x6c17b020, 0x1a6e7: 0x6c169020,\n\t0x1a6e8: 0x6cc93e20, 0x1a6e9: 0x6cce5a20, 0x1a6ea: 0x6d144a20, 0x1a6eb: 0x6ca25e20,\n\t0x1a6ec: 0x6c9b0220, 0x1a6ed: 0x6cc5a820, 0x1a6ee: 0x6c63fe20, 0x1a6ef: 0x6c17b220,\n\t0x1a6f0: 0x6d0ffc20, 0x1a6f1: 0x6cb96820, 0x1a6f2: 0x6d380e20, 0x1a6f3: 0x6cb04620,\n\t0x1a6f4: 0x6cf2cc20, 0x1a6f5: 0x6cf41820, 0x1a6f6: 0x6c665020, 0x1a6f7: 0x6c643620,\n\t0x1a6f8: 0x6d117e20, 0x1a6f9: 0x6c3c1220, 0x1a6fa: 0x6c121e20, 0x1a6fb: 0x6cc5ac20,\n\t0x1a6fc: 0x6ceddc20, 0x1a6fd: 0x6c3bc420, 0x1a6fe: 0x6c2b0c20, 0x1a6ff: 0x6c39b620,\n\t// Block 0x69c, offset 0x1a700\n\t0x1a700: 0x6d378420, 0x1a701: 0x6cb6c820, 0x1a702: 0x6cadf820, 0x1a703: 0x6d20a620,\n\t0x1a704: 0x6c2e0620, 0x1a705: 0x6c33d220, 0x1a706: 0x6cf49c20, 0x1a707: 0x6d165620,\n\t0x1a708: 0x6d030a20, 0x1a709: 0x6c777620, 0x1a70a: 0x6d13bc20, 0x1a70b: 0x6c5fbc20,\n\t0x1a70c: 0x6c008620, 0x1a70d: 0x6cf55420, 0x1a70e: 0x6c617220, 0x1a70f: 0x6c3dca20,\n\t0x1a710: 0x6c37f620, 0x1a711: 0x6d04b220, 0x1a712: 0x6c6ccc20, 0x1a713: 0x6caf2420,\n\t0x1a714: 0x6c281820, 0x1a715: 0x6c3d3420, 0x1a716: 0x6ce16c20, 0x1a717: 0x6d381020,\n\t0x1a718: 0x6d1e8820, 0x1a719: 0x6c5d8620, 0x1a71a: 0x6c5b8a20, 0x1a71b: 0x6d221420,\n\t0x1a71c: 0x6c251620, 0x1a71d: 0x6c1fee20, 0x1a71e: 0x6cca1420, 0x1a71f: 0x6cef8220,\n\t0x1a720: 0x6c1ff020, 0x1a721: 0x6c17cc20, 0x1a722: 0x6d0b0a20, 0x1a723: 0x6cfc7020,\n\t0x1a724: 0x6ccdfe20, 0x1a725: 0x6c165e20, 0x1a726: 0x6c94d620, 0x1a727: 0x6c122020,\n\t0x1a728: 0x6d0a6420, 0x1a729: 0x6d031220, 0x1a72a: 0x6cef8420, 0x1a72b: 0x6d3a9a20,\n\t0x1a72c: 0x6d2b5820, 0x1a72d: 0x6cfb2220, 0x1a72e: 0x6caa4820, 0x1a72f: 0x6c0eaa20,\n\t0x1a730: 0x6c46e620, 0x1a731: 0x6ca62020, 0x1a732: 0x6ca67a20, 0x1a733: 0x6d015420,\n\t0x1a734: 0x6c04de20, 0x1a735: 0x6d066a20, 0x1a736: 0x6c8e2c20, 0x1a737: 0x6d38f820,\n\t0x1a738: 0x6ccfa020, 0x1a739: 0x6cc0ca20, 0x1a73a: 0x6c22ac20, 0x1a73b: 0x6c07ce20,\n\t0x1a73c: 0x6cd2f620, 0x1a73d: 0x6c631e20, 0x1a73e: 0x6caf2620, 0x1a73f: 0x6d167220,\n\t// Block 0x69d, offset 0x1a740\n\t0x1a740: 0x6cd87c20, 0x1a741: 0x6d15b620, 0x1a742: 0x6d328220, 0x1a743: 0x6c2d3420,\n\t0x1a744: 0x6c4d9020, 0x1a745: 0x6c972220, 0x1a746: 0x6c286220, 0x1a747: 0x6d3a9c20,\n\t0x1a748: 0x6c105a20, 0x1a749: 0x6cc0cc20, 0x1a74a: 0x6c08b420, 0x1a74b: 0x6d2f5020,\n\t0x1a74c: 0x6c228c20, 0x1a74d: 0x6cf06e20, 0x1a74e: 0x6c2b0e20, 0x1a74f: 0x6d3a9e20,\n\t0x1a750: 0x6d426220, 0x1a751: 0x6d200e20, 0x1a752: 0x6d0ffe20, 0x1a753: 0x6ce3ba20,\n\t0x1a754: 0x6d2e4820, 0x1a755: 0x6c50b820, 0x1a756: 0x6c091020, 0x1a757: 0x6ceae420,\n\t0x1a758: 0x6ccf0820, 0x1a759: 0x6d20ac20, 0x1a75a: 0x6d167420, 0x1a75b: 0x6c3dd020,\n\t0x1a75c: 0x6d427420, 0x1a75d: 0x6c463420, 0x1a75e: 0x6ca95020, 0x1a75f: 0x6ce70e20,\n\t0x1a760: 0x6ca62220, 0x1a761: 0x6cfa7620, 0x1a762: 0x6cc17220, 0x1a763: 0x6d1d7c20,\n\t0x1a764: 0x6cec0e20, 0x1a765: 0x6cb8a220, 0x1a766: 0x6cd40a20, 0x1a767: 0x6c761a20,\n\t0x1a768: 0x6c068820, 0x1a769: 0x6cae0420, 0x1a76a: 0x6c5b1a20, 0x1a76b: 0x6c51b620,\n\t0x1a76c: 0x6c819c20, 0x1a76d: 0x6cfdac20, 0x1a76e: 0x6c43c420, 0x1a76f: 0x6d0f8420,\n\t0x1a770: 0x6c041820, 0x1a771: 0x6c382c20, 0x1a772: 0x6ca02a20, 0x1a773: 0x6c632420,\n\t0x1a774: 0x6c37bc20, 0x1a775: 0x6c0e0a20, 0x1a776: 0x6c5fda20, 0x1a777: 0x6c523820,\n\t0x1a778: 0x6c5d6c20, 0x1a779: 0x6c4ac420, 0x1a77a: 0x6cc2b620, 0x1a77b: 0x6ce54820,\n\t0x1a77c: 0x6c68c820, 0x1a77d: 0x6c22b020, 0x1a77e: 0x6d16a220, 0x1a77f: 0x6cd2b220,\n\t// Block 0x69e, offset 0x1a780\n\t0x1a780: 0x6d03c620, 0x1a781: 0x6ccfa620, 0x1a782: 0x6ceaa620, 0x1a783: 0x6c76c020,\n\t0x1a784: 0x6d343a20, 0x1a785: 0x6c40dc20, 0x1a786: 0x6c7ee220, 0x1a787: 0x6d146c20,\n\t0x1a788: 0x6c1b7a20, 0x1a789: 0x6c7ad220, 0x1a78a: 0x6c49d420, 0x1a78b: 0x6c858620,\n\t0x1a78c: 0x6d19a820, 0x1a78d: 0x6cd31220, 0x1a78e: 0x6c9cda20, 0x1a78f: 0x6d398220,\n\t0x1a790: 0x6d067a20, 0x1a791: 0x6d201420, 0x1a792: 0x6c011820, 0x1a793: 0x6c921620,\n\t0x1a794: 0x6ca1c020, 0x1a795: 0x6c373420, 0x1a796: 0x6c94de20, 0x1a797: 0x6c305220,\n\t0x1a798: 0x6c143020, 0x1a799: 0x6c1a9420, 0x1a79a: 0x6d0a6a20, 0x1a79b: 0x6c456220,\n\t0x1a79c: 0x6d385620, 0x1a79d: 0x6d13ca20, 0x1a79e: 0x6cc78c20, 0x1a79f: 0x6c25a220,\n\t0x1a7a0: 0x6cf98820, 0x1a7a1: 0x6cd88620, 0x1a7a2: 0x6d292c20, 0x1a7a3: 0x6c937820,\n\t0x1a7a4: 0x6cdefc20, 0x1a7a5: 0x6c68ca20, 0x1a7a6: 0x6d312220, 0x1a7a7: 0x6c12ca20,\n\t0x1a7a8: 0x6cbbd020, 0x1a7a9: 0x6c7b1220, 0x1a7aa: 0x6c147020, 0x1a7ab: 0x6ca95220,\n\t0x1a7ac: 0x6ca9b020, 0x1a7ad: 0x6c6c8420, 0x1a7ae: 0x6cf43220, 0x1a7af: 0x6c53ec20,\n\t0x1a7b0: 0x6c6efe20, 0x1a7b1: 0x6c1a6420, 0x1a7b2: 0x6d321e20, 0x1a7b3: 0x6d428220,\n\t0x1a7b4: 0x6c1e2620, 0x1a7b5: 0x6cbd1e20, 0x1a7b6: 0x6c937a20, 0x1a7b7: 0x6c70f820,\n\t0x1a7b8: 0x6cd5a420, 0x1a7b9: 0x6ce6b420, 0x1a7ba: 0x6cd09220, 0x1a7bb: 0x6ce9f420,\n\t0x1a7bc: 0x6c0ec020, 0x1a7bd: 0x6ca3e820, 0x1a7be: 0x6cfe8820, 0x1a7bf: 0x6c0b8220,\n\t// Block 0x69f, offset 0x1a7c0\n\t0x1a7c0: 0x6ce9de20, 0x1a7c1: 0x6d222420, 0x1a7c2: 0x6cf85220, 0x1a7c3: 0x6c242e20,\n\t0x1a7c4: 0x6c354e20, 0x1a7c5: 0x6cc01020, 0x1a7c6: 0x6d061620, 0x1a7c7: 0x6c4a1820,\n\t0x1a7c8: 0x6c7a8420, 0x1a7c9: 0x6cf43420, 0x1a7ca: 0x6c759620, 0x1a7cb: 0x6d16da20,\n\t0x1a7cc: 0x6c3f4620, 0x1a7cd: 0x6c894820, 0x1a7ce: 0x6d410e20, 0x1a7cf: 0x6cbc3020,\n\t0x1a7d0: 0x6c859a20, 0x1a7d1: 0x6d1e1620, 0x1a7d2: 0x6c5d1c20, 0x1a7d3: 0x6c6e5220,\n\t0x1a7d4: 0x6cba4220, 0x1a7d5: 0x6cca4820, 0x1a7d6: 0x6cadf420, 0x1a7d7: 0x6cda7220,\n\t0x1a7d8: 0x6c3e0620, 0x1a7d9: 0x6cf59820, 0x1a7da: 0x6c850020, 0x1a7db: 0x6c3f4820,\n\t0x1a7dc: 0x6cb24a20, 0x1a7dd: 0x6c05ea20, 0x1a7de: 0x6d20d220, 0x1a7df: 0x6cb59020,\n\t0x1a7e0: 0x6cf99020, 0x1a7e1: 0x6d032220, 0x1a7e2: 0x6d04b620, 0x1a7e3: 0x6d222620,\n\t0x1a7e4: 0x6c2c2420, 0x1a7e5: 0x6c17d020, 0x1a7e6: 0x6c1d9220, 0x1a7e7: 0x6d377c20,\n\t0x1a7e8: 0x6d0d4e20, 0x1a7e9: 0x6c87e820, 0x1a7ea: 0x6c859c20, 0x1a7eb: 0x6c7ee420,\n\t0x1a7ec: 0x6cd8fc20, 0x1a7ed: 0x6c656a20, 0x1a7ee: 0x6d04b820, 0x1a7ef: 0x6c3f5220,\n\t0x1a7f0: 0x6c5daa20, 0x1a7f1: 0x6c721e20, 0x1a7f2: 0x6cffd820, 0x1a7f3: 0x6cabf620,\n\t0x1a7f4: 0x6c666420, 0x1a7f5: 0x6c0c8c20, 0x1a7f6: 0x6c1f2020, 0x1a7f7: 0x6c3a9420,\n\t0x1a7f8: 0x6c3cde20, 0x1a7f9: 0x6d0b8a20, 0x1a7fa: 0x6c017a20, 0x1a7fb: 0x6c06f820,\n\t0x1a7fc: 0x6d22ea20, 0x1a7fd: 0x6d02bc20, 0x1a7fe: 0x6c08ce20, 0x1a7ff: 0x6c561620,\n\t// Block 0x6a0, offset 0x1a800\n\t0x1a800: 0x6c166220, 0x1a801: 0x6d33be20, 0x1a802: 0x6c0e1020, 0x1a803: 0x6c6fe420,\n\t0x1a804: 0x6d10de20, 0x1a805: 0x6c252020, 0x1a806: 0x6c87ea20, 0x1a807: 0x6cecf420,\n\t0x1a808: 0x6c7ee620, 0x1a809: 0x6c122820, 0x1a80a: 0x6d401c20, 0x1a80b: 0x6c448220,\n\t0x1a80c: 0x6c490a20, 0x1a80d: 0x6c06fa20, 0x1a80e: 0x6ce4dc20, 0x1a80f: 0x6cd4b420,\n\t0x1a810: 0x6cd4b620, 0x1a811: 0x6c9b0420, 0x1a812: 0x6c2a0620, 0x1a813: 0x6cdfd420,\n\t0x1a814: 0x6c740e20, 0x1a815: 0x6c20c220, 0x1a816: 0x6d041e20, 0x1a817: 0x6cae9420,\n\t0x1a818: 0x6ce17020, 0x1a819: 0x6c548e20, 0x1a81a: 0x6d15da20, 0x1a81b: 0x6cb4d620,\n\t0x1a81c: 0x6ce3de20, 0x1a81d: 0x6c421420, 0x1a81e: 0x6c6e5e20, 0x1a81f: 0x6c6bd620,\n\t0x1a820: 0x6cdbb220, 0x1a821: 0x6c170a20, 0x1a822: 0x6c6a9e20, 0x1a823: 0x6c39ce20,\n\t0x1a824: 0x6d344420, 0x1a825: 0x6c796c20, 0x1a826: 0x6c734220, 0x1a827: 0x6d3f7420,\n\t0x1a828: 0x6c722020, 0x1a829: 0x6cba4620, 0x1a82a: 0x6ca5c820, 0x1a82b: 0x6c94e420,\n\t0x1a82c: 0x6d3cf420, 0x1a82d: 0x6cf27e20, 0x1a82e: 0x6c95a820, 0x1a82f: 0x6cd91020,\n\t0x1a830: 0x6c839220, 0x1a831: 0x6c5d1e20, 0x1a832: 0x6c2fea20, 0x1a833: 0x6d3f3620,\n\t0x1a834: 0x6c07aa20, 0x1a835: 0x6cf43820, 0x1a836: 0x6c722220, 0x1a837: 0x6ca39e20,\n\t0x1a838: 0x6c112020, 0x1a839: 0x6c657820, 0x1a83a: 0x6d2d3820, 0x1a83b: 0x6d125a20,\n\t0x1a83c: 0x6d344620, 0x1a83d: 0x6ccc4020, 0x1a83e: 0x6cbe3820, 0x1a83f: 0x6cbd1220,\n\t// Block 0x6a1, offset 0x1a840\n\t0x1a840: 0x6d1ba420, 0x1a841: 0x6c196620, 0x1a842: 0x6c648020, 0x1a843: 0x6d0d6220,\n\t0x1a844: 0x6cc85c20, 0x1a845: 0x6d382420, 0x1a846: 0x6c217620, 0x1a847: 0x6c641220,\n\t0x1a848: 0x6c61da20, 0x1a849: 0x6cefa820, 0x1a84a: 0x6d224220, 0x1a84b: 0x6c0e1820,\n\t0x1a84c: 0x6cc91620, 0x1a84d: 0x6ce31a20, 0x1a84e: 0x6cee7020, 0x1a84f: 0x6cb0ee20,\n\t0x1a850: 0x6d0e5a20, 0x1a851: 0x6c3c3a20, 0x1a852: 0x6ce17220, 0x1a853: 0x6cf2e020,\n\t0x1a854: 0x6c360620, 0x1a855: 0x6d009a20, 0x1a856: 0x6c17e820, 0x1a857: 0x6cd13020,\n\t0x1a858: 0x6c76ca20, 0x1a859: 0x6c2c3820, 0x1a85a: 0x6d429620, 0x1a85b: 0x6c138e20,\n\t0x1a85c: 0x6ce66c20, 0x1a85d: 0x6c070620, 0x1a85e: 0x6d018820, 0x1a85f: 0x6c59b020,\n\t0x1a860: 0x6d11a820, 0x1a861: 0x6d2e5420, 0x1a862: 0x6c1e2a20, 0x1a863: 0x6d0bec20,\n\t0x1a864: 0x6d1f2820, 0x1a865: 0x6c666820, 0x1a866: 0x6d063a20, 0x1a867: 0x6d2bd220,\n\t0x1a868: 0x6c220220, 0x1a869: 0x6c3fdc20, 0x1a86a: 0x6c087020, 0x1a86b: 0x6d35d420,\n\t0x1a86c: 0x6d3fea20, 0x1a86d: 0x6c9e1620, 0x1a86e: 0x6c601020, 0x1a86f: 0x6d15e420,\n\t0x1a870: 0x6d018a20, 0x1a871: 0x6d0a0420, 0x1a872: 0x6c10f420, 0x1a873: 0x6c329420,\n\t0x1a874: 0x6c12da20, 0x1a875: 0x6d314c20, 0x1a876: 0x6cab7c20, 0x1a877: 0x6ce7d420,\n\t0x1a878: 0x6ce7d620, 0x1a879: 0x6c070820, 0x1a87a: 0x6d28b220, 0x1a87b: 0x6c908420,\n\t0x1a87c: 0x6c6aac20, 0x1a87d: 0x6cefaa20, 0x1a87e: 0x6c3bd620, 0x1a87f: 0x6c16a020,\n\t// Block 0x6a2, offset 0x1a880\n\t0x1a880: 0x6c4a5220, 0x1a881: 0x6cda1420, 0x1a882: 0x6d361420, 0x1a883: 0x6cdab020,\n\t0x1a884: 0x6cf96620, 0x1a885: 0x6c40b020, 0x1a886: 0x6d261420, 0x1a887: 0x6cc70420,\n\t0x1a888: 0x6c860420, 0x1a889: 0x6caa6420, 0x1a88a: 0x6d282c20, 0x1a88b: 0x6c67a620,\n\t0x1a88c: 0x6c96bc20, 0x1a88d: 0x6c056e20, 0x1a88e: 0x6c2cc820, 0x1a88f: 0x6ce0ee20,\n\t0x1a890: 0x6c503c20, 0x1a891: 0x6c6ac220, 0x1a892: 0x6cf60820, 0x1a893: 0x6ccd8820,\n\t0x1a894: 0x6cba5020, 0x1a895: 0x6c744020, 0x1a896: 0x6c122c20, 0x1a897: 0x6c1f3c20,\n\t0x1a898: 0x6cca1820, 0x1a899: 0x6c071c20, 0x1a89a: 0x6cffe820, 0x1a89b: 0x6d1e3420,\n\t0x1a89c: 0x6d10f220, 0x1a89d: 0x6ce09620, 0x1a89e: 0x6cdd1420, 0x1a89f: 0x6d101c20,\n\t0x1a8a0: 0x6c37ea20, 0x1a8a1: 0x6c0e1c20, 0x1a8a2: 0x6c635a20, 0x1a8a3: 0x6c271820,\n\t0x1a8a4: 0x6d293620, 0x1a8a5: 0x6ce17620, 0x1a8a6: 0x6c483820, 0x1a8a7: 0x6c0d3420,\n\t0x1a8a8: 0x6c1ede20, 0x1a8a9: 0x6caabc20, 0x1a8aa: 0x6c116c20, 0x1a8ab: 0x6c82c820,\n\t0x1a8ac: 0x6c24ca20, 0x1a8ad: 0x6d1d8820, 0x1a8ae: 0x6d2a1420, 0x1a8af: 0x6d3ff620,\n\t0x1a8b0: 0x6c07f420, 0x1a8b1: 0x6cd95e20, 0x1a8b2: 0x6c02ce20, 0x1a8b3: 0x6c1ffe20,\n\t0x1a8b4: 0x6d226620, 0x1a8b5: 0x6d2d4220, 0x1a8b6: 0x6d40c220, 0x1a8b7: 0x6cce0620,\n\t0x1a8b8: 0x6c208e20, 0x1a8b9: 0x6c6e8c20, 0x1a8ba: 0x6c1c2c20, 0x1a8bb: 0x6ccc3220,\n\t0x1a8bc: 0x6c4ecc20, 0x1a8bd: 0x6d2eb820, 0x1a8be: 0x6cbe4c20, 0x1a8bf: 0x6d0e8020,\n\t// Block 0x6a3, offset 0x1a8c0\n\t0x1a8c0: 0x6c2c6620, 0x1a8c1: 0x6d01bc20, 0x1a8c2: 0x6c909220, 0x1a8c3: 0x6c072020,\n\t0x1a8c4: 0x6cb1b020, 0x1a8c5: 0x6c6c9420, 0x1a8c6: 0x6c88f020, 0x1a8c7: 0x6c926020,\n\t0x1a8c8: 0x6c976620, 0x1a8c9: 0x6cb8ea20, 0x1a8ca: 0x6cfaba20, 0x1a8cb: 0x6ce09c20,\n\t0x1a8cc: 0x6d1c7a20, 0x1a8cd: 0x6c307e20, 0x1a8ce: 0x6d3bd220, 0x1a8cf: 0x6cfe3c20,\n\t0x1a8d0: 0x6ccd9220, 0x1a8d1: 0x6cbbe220, 0x1a8d2: 0x6c6f2220, 0x1a8d3: 0x6ce9e820,\n\t0x1a8d4: 0x6d420620, 0x1a8d5: 0x6cb44220, 0x1a8d6: 0x6cf66020, 0x1a8d7: 0x6c815e20,\n\t0x1a8d8: 0x6c16f020, 0x1a8d9: 0x6c49ec20, 0x1a8da: 0x6c89ec20, 0x1a8db: 0x6cb50420,\n\t0x1a8dc: 0x6c197820, 0x1a8dd: 0x6c150820, 0x1a8de: 0x6cefee20, 0x1a8df: 0x6c5efe20,\n\t0x1a8e0: 0x6c0e8220, 0x1a8e1: 0x6c5bf020, 0x1a8e2: 0x6c202420, 0x1a8e3: 0x6ce5fc20,\n\t0x1a8e4: 0x6c289a20, 0x1a8e5: 0x6c691220, 0x1a8e6: 0x6c700a20, 0x1a8e7: 0x6ccbb820,\n\t0x1a8e8: 0x6c3be020, 0x1a8e9: 0x6cfce620, 0x1a8ea: 0x6c713c20, 0x1a8eb: 0x6c366c20,\n\t0x1a8ec: 0x6c685820, 0x1a8ed: 0x6c66a420, 0x1a8ee: 0x6ce76420, 0x1a8ef: 0x6c8c5620,\n\t0x1a8f0: 0x6c0f2420, 0x1a8f1: 0x6c482220, 0x1a8f2: 0x6cfd5820, 0x1a8f3: 0x6cdade20,\n\t0x1a8f4: 0x6cfce820, 0x1a8f5: 0x6c676e20, 0x1a8f6: 0x6c9fc020, 0x1a8f7: 0x6d130e20,\n\t0x1a8f8: 0x6c6d3220, 0x1a8f9: 0x6c644e20, 0x1a8fa: 0x6cbc5220, 0x1a8fb: 0x6cb0b420,\n\t0x1a8fc: 0x6c3c6020, 0x1a8fd: 0x6d394220, 0x1a8fe: 0x6c00c020, 0x1a8ff: 0x6cc9e820,\n\t// Block 0x6a4, offset 0x1a900\n\t0x1a900: 0x6d154220, 0x1a901: 0x6c75d220, 0x1a902: 0x6ca9be20, 0x1a903: 0x6c151620,\n\t0x1a904: 0x6d184620, 0x1a905: 0x6c297c20, 0x1a906: 0x6c6e2420, 0x1a907: 0x6d07b620,\n\t0x1a908: 0x6c7b3020, 0x1a909: 0x6c65c820, 0x1a90a: 0x6c1f6820, 0x1a90b: 0x6c27f420,\n\t0x1a90c: 0x6c692020, 0x1a90d: 0x6ccc3420, 0x1a90e: 0x6d294020, 0x1a90f: 0x6c121820,\n\t0x1a910: 0x6c0d5020, 0x1a911: 0x6c017220, 0x1a912: 0x6cc7c420, 0x1a913: 0x6cdf3c20,\n\t0x1a914: 0x6c1dd820, 0x1a915: 0x6c148a20, 0x1a916: 0x6c7fb220, 0x1a917: 0x6ca64620,\n\t0x1a918: 0x6c6cb420, 0x1a919: 0x6cba7020, 0x1a91a: 0x6c9b3420, 0x1a91b: 0x6cf47620,\n\t0x1a91c: 0x6ca91820, 0x1a91d: 0x6cbf5a20, 0x1a91e: 0x6ca64820, 0x1a91f: 0x6c16c820,\n\t0x1a920: 0x6c8b2e20, 0x1a921: 0x6c82dc20, 0x1a922: 0x6c93b820, 0x1a923: 0x6c7bd020,\n\t0x1a924: 0x6c066c20, 0x1a925: 0x6d240420, 0x1a926: 0x6c0c2a20, 0x1a927: 0x6d297820,\n\t0x1a928: 0x6d349e20, 0x1a929: 0x6cd8f220, 0x1a92a: 0x6d1eb420, 0x1a92b: 0x6c4fe820,\n\t0x1a92c: 0x6c193220, 0x1a92d: 0x6c193620, 0x1a92e: 0x6c86bc20, 0x1a92f: 0x6ce2be20,\n\t0x1a930: 0x6cf02420, 0x1a931: 0x6c903a20, 0x1a932: 0x6c1eee20, 0x1a933: 0x6c154020,\n\t0x1a934: 0x6cc4e020, 0x1a935: 0x6cd51220, 0x1a936: 0x6c5c8820, 0x1a937: 0x6c874220,\n\t0x1a938: 0x6c956820, 0x1a939: 0x6d298020, 0x1a93a: 0x6caace20, 0x1a93b: 0x6ce18820,\n\t0x1a93c: 0x6d0e1220, 0x1a93d: 0x6c829420, 0x1a93e: 0x6ca47c20, 0x1a93f: 0x6c372e20,\n\t// Block 0x6a5, offset 0x1a940\n\t0x1a940: 0x6cf49020, 0x1a941: 0x6d27d220, 0x1a942: 0x6d294a20, 0x1a943: 0x6d252e20,\n\t0x1a944: 0x6d044a20, 0x1a945: 0x6c1ca820, 0x1a946: 0x6d2f9620, 0x1a947: 0x6d044e20,\n\t0x1a948: 0x6cfa6e20, 0x1a949: 0x6c49d020, 0x1a94a: 0x6c332e20, 0x1a94b: 0x6c787820,\n\t0x1a94c: 0x6c333020, 0x1a94d: 0x6c9dfe20, 0x1a94e: 0x6ce91c20, 0x1a94f: 0x6c169420,\n\t0x1a950: 0x6c373220, 0x1a951: 0x6c333220, 0x1a952: 0x6c373620, 0x1a953: 0x6c6c2c20,\n\t0x1a954: 0x6ce92020, 0x1a955: 0x6cd87e20, 0x1a956: 0x6d0d4420, 0x1a957: 0x6d0d5020,\n\t0x1a958: 0x6cd2bc20, 0x1a95a: 0x6c292a20, 0x1a95b: 0x6cb8c220,\n\t0x1a95c: 0x6c30a820, 0x1a95d: 0x6c3b2820, 0x1a95e: 0x6c98d620, 0x1a95f: 0x6ccfe220,\n\t0x1a960: 0x6c30aa20, 0x1a962: 0x6c6dc620, 0x1a963: 0x6c852e20,\n\t0x1a964: 0x6c5a2a20, 0x1a965: 0x6cc80e20, 0x1a966: 0x6cedd820, 0x1a967: 0x6ca57e20,\n\t0x1a968: 0x6cc2b220, 0x1a969: 0x6c898820, 0x1a96a: 0x6d20d420, 0x1a96b: 0x6c030a20,\n\t0x1a96c: 0x6c454e20, 0x1a96d: 0x6c8f2420, 0x1a96e: 0x6cf55c20, 0x1a96f: 0x6c4f4220,\n\t0x1a970: 0x6c7f8620, 0x1a971: 0x6c460a20, 0x1a972: 0x6ce45620, 0x1a973: 0x6c490020,\n\t0x1a974: 0x6d041020, 0x1a975: 0x6c0daa20, 0x1a976: 0x6cb57a20, 0x1a977: 0x6c720620,\n\t0x1a978: 0x6c2d0620, 0x1a979: 0x6d3e0820, 0x1a97a: 0x6c3b2020, 0x1a97b: 0x6d100620,\n\t0x1a97c: 0x6c647a20, 0x1a97d: 0x6cd45820, 0x1a97e: 0x6c621420, 0x1a97f: 0x6d17da20,\n\t// Block 0x6a6, offset 0x1a980\n\t0x1a980: 0x6c627020, 0x1a981: 0x6c15ec20, 0x1a982: 0x6c6ed020, 0x1a983: 0x6c993e20,\n\t0x1a984: 0x6cc4a620, 0x1a985: 0x6ca58020, 0x1a986: 0x6d253020, 0x1a987: 0x6c991c20,\n\t0x1a988: 0x6c424c20, 0x1a989: 0x6cc4a820, 0x1a98a: 0x6c12c620, 0x1a98b: 0x6c6ed220,\n\t0x1a98c: 0x6c12c820, 0x1a98d: 0x6d292620, 0x1a98e: 0x6c488820, 0x1a98f: 0x6c6ef020,\n\t0x1a990: 0x6c994820, 0x1a991: 0x6d390820, 0x1a992: 0x6c994e20, 0x1a993: 0x6c46a020,\n\t0x1a994: 0x6d063220, 0x1a995: 0x6c9e1820, 0x1a996: 0x6c9d1620, 0x1a997: 0x6cc6ec20,\n\t0x1a998: 0x6d1a1a20, 0x1a999: 0x6d013e20, 0x1a99a: 0x6c76bc20, 0x1a99b: 0x6c755020,\n\t0x1a99c: 0x6ca9ae20, 0x1a99d: 0x6d145a20, 0x1a99e: 0x6c9c3420, 0x1a99f: 0x6cd32820,\n\t0x1a9a0: 0x6c490620, 0x1a9a1: 0x6c9b0e20, 0x1a9a2: 0x6d37ec20, 0x1a9a3: 0x6c722620,\n\t0x1a9a4: 0x6d24d020, 0x1a9a5: 0x6c9ff220, 0x1a9a6: 0x6c79de20, 0x1a9a7: 0x6c8ba420,\n\t0x1a9a8: 0x6c3fe020, 0x1a9a9: 0x6d014420, 0x1a9aa: 0x6c9d7620, 0x1a9ab: 0x6c0d9e20,\n\t0x1a9ac: 0x6c2fd820, 0x1a9ad: 0x6cdf0c20, 0x1a9ae: 0x6c425020, 0x1a9af: 0x6c3c9a20,\n\t0x1a9b0: 0x6c0da620, 0x1a9b1: 0x6c564620, 0x1a9b2: 0x6c1caa20, 0x1a9b3: 0x6c73cc20,\n\t0x1a9b4: 0x6c564820, 0x1a9b5: 0x6c7bdc20, 0x1a9b6: 0x6d12a220, 0x1a9b7: 0x6c839020,\n\t0x1a9b8: 0x6cac9a20, 0x1a9b9: 0x6c3dd220, 0x1a9ba: 0x6c9f8c20, 0x1a9bb: 0x6c305020,\n\t0x1a9bc: 0x6cfbe620, 0x1a9bd: 0x6c8ac620, 0x1a9be: 0x6cb84020, 0x1a9bf: 0x6c646820,\n\t// Block 0x6a7, offset 0x1a9c0\n\t0x1a9c0: 0x6c6e4a20, 0x1a9c1: 0x6cd5a620, 0x1a9c2: 0x6c9a4c20, 0x1a9c3: 0x6ce88a20,\n\t0x1a9c4: 0x6cb4d820, 0x1a9c5: 0x6c480220, 0x1a9c6: 0x6d3cda20, 0x1a9c7: 0x6cd91220,\n\t0x1a9c8: 0x6c6e6020, 0x1a9c9: 0x6c894a20, 0x1a9ca: 0x6cbec420, 0x1a9cb: 0x6c2db820,\n\t0x1a9cc: 0x6c8cc420, 0x1a9cd: 0x6c306c20, 0x1a9ce: 0x6c421620, 0x1a9cf: 0x6c658220,\n\t0x1a9d0: 0x6d19c620, 0x1a9d1: 0x6c23ea20, 0x1a9d2: 0x6d14f220, 0x1a9d3: 0x6c860620,\n\t0x1a9d4: 0x6c20a820, 0x1a9d5: 0x6ca03420, 0x1a9d6: 0x6d3ce820, 0x1a9d7: 0x6c24cc20,\n\t0x1a9d8: 0x6cd7fe20, 0x1a9d9: 0x6c345c20, 0x1a9da: 0x6c6d3420, 0x1a9db: 0x6c8c2620,\n\t0x1a9dc: 0x6c8c2820, 0x1a9dd: 0x6ca91a20, 0x1a9de: 0x6cf6b620, 0x1a9df: 0x6c31be20,\n\t0x1a9e0: 0x6c610c20, 0x1a9e1: 0x6c387820, 0x1a9e2: 0x6c387a20, 0x1a9e3: 0x6c387c20,\n\t0x1a9e4: 0x6c3cd620, 0x1a9e5: 0x6c704a20, 0x1a9e6: 0x6c1ed220, 0x1a9e7: 0x6d337a20,\n\t0x1a9e8: 0x6c3c1420, 0x1a9e9: 0x6ca2c220, 0x1a9ea: 0x6d377a20, 0x1a9eb: 0x6c3dcc20,\n\t0x1a9ec: 0x6c3c1620, 0x1a9ed: 0x6cb27220, 0x1a9ee: 0x6c3c2020, 0x1a9ef: 0x6c764420,\n\t0x1a9f0: 0x6c59b220, 0x1a9f1: 0x6c765220, 0x1a9f2: 0x6c419a20, 0x1a9f3: 0x6c2ad820,\n\t0x1a9f4: 0x6cb2bc20, 0x1a9f5: 0x6cb9ec20, 0x1a9f6: 0x6d044820, 0x1a9f7: 0x6c7b0a20,\n\t0x1a9f8: 0x6ce83620, 0x1a9f9: 0x6c022420, 0x1a9fa: 0x6c1e5020, 0x1a9fb: 0x6c5e6820,\n\t0x1a9fc: 0x6c295020, 0x1a9fd: 0x6c4dd220, 0x1a9fe: 0x6c4dda20, 0x1a9ff: 0x6d2a3420,\n\t// Block 0x6a8, offset 0x1aa00\n\t0x1aa00: 0x6c29b020, 0x1aa01: 0x6c2da220, 0x1aa02: 0x6c29b220, 0x1aa03: 0x6cc5a020,\n\t0x1aa04: 0x6cc5a220, 0x1aa05: 0x6c204a20, 0x1aa06: 0x6c3b0820, 0x1aa07: 0x6cbc9020,\n\t0x1aa08: 0x6d163e20, 0x1aa09: 0x6c5e6a20, 0x1aa0a: 0x6c76a020, 0x1aa0b: 0x6cba3a20,\n\t0x1aa0c: 0x6c25ac20, 0x1aa0d: 0x6c1e7220, 0x1aa0e: 0x6cf1c620, 0x1aa0f: 0x6c5e7220,\n\t0x1aa10: 0x6c281c20, 0x1aa11: 0x6d03b820, 0x1aa12: 0x6c577820, 0x1aa13: 0x6cecb620,\n\t0x1aa14: 0x6c73ce20, 0x1aa15: 0x6c839e20, 0x1aa16: 0x6d267020, 0x1aa17: 0x6c8abc20,\n\t0x1aa18: 0x6c8e3e20, 0x1aa19: 0x6d2aa220, 0x1aa1a: 0x6c425220, 0x1aa1b: 0x6c209e20,\n\t0x1aa1c: 0x6c3dd420, 0x1aa1d: 0x6c1e5420, 0x1aa1e: 0x6cc26020, 0x1aa1f: 0x6c704c20,\n\t0x1aa20: 0x6cccb820, 0x1aa21: 0x6c9f8e20, 0x1aa22: 0x6c8c9a20, 0x1aa23: 0x6d378a20,\n\t0x1aa24: 0x6cac9c20, 0x1aa25: 0x6c0cd820, 0x1aa26: 0x6c6a6420, 0x1aa27: 0x6c6a6620,\n\t0x1aa28: 0x6cad4420, 0x1aa29: 0x6c857620, 0x1aa2a: 0x6cccba20, 0x1aa2b: 0x6c0cda20,\n\t0x1aa2c: 0x6c158e20, 0x1aa2d: 0x6c6e0620, 0x1aa2e: 0x6c484420, 0x1aa2f: 0x6c44b820,\n\t0x1aa30: 0x6c2a0020, 0x1aa31: 0x6c20a220, 0x1aa32: 0x6c7c3220, 0x1aa33: 0x6c7a2020,\n\t0x1aa34: 0x6c34ca20, 0x1aa35: 0x6c37be20, 0x1aa36: 0x6d358020, 0x1aa37: 0x6cd64020,\n\t0x1aa38: 0x6cc36e20, 0x1aa39: 0x6ccbce20, 0x1aa3a: 0x6c22b220, 0x1aa3b: 0x6c787a20,\n\t0x1aa3c: 0x6c6a7620, 0x1aa3d: 0x6c4b2a20, 0x1aa3e: 0x6c22b420, 0x1aa3f: 0x6c4b2c20,\n\t// Block 0x6a9, offset 0x1aa40\n\t0x1aa40: 0x6c764620, 0x1aa41: 0x6c34cc20, 0x1aa42: 0x6c619020, 0x1aa43: 0x6ce3d820,\n\t0x1aa44: 0x6c6e1420, 0x1aa45: 0x6c907c20, 0x1aa46: 0x6c95a620, 0x1aa47: 0x6d2ab220,\n\t0x1aa48: 0x6d24cc20, 0x1aa49: 0x6c260c20, 0x1aa4a: 0x6d08da20, 0x1aa4b: 0x6c788220,\n\t0x1aa4c: 0x6c7e5a20, 0x1aa4d: 0x6cb97820, 0x1aa4e: 0x6ccbd020, 0x1aa4f: 0x6c20a420,\n\t0x1aa50: 0x6c489420, 0x1aa51: 0x6c665820, 0x1aa52: 0x6c261020, 0x1aa53: 0x6c83aa20,\n\t0x1aa54: 0x6ce2e820, 0x1aa55: 0x6c3a9620, 0x1aa56: 0x6cb3c620, 0x1aa57: 0x6c15a020,\n\t0x1aa58: 0x6cb59c20, 0x1aa59: 0x6c20a620, 0x1aa5a: 0x6d3f3820, 0x1aa5b: 0x6c426c20,\n\t0x1aa5c: 0x6cec8420, 0x1aa5d: 0x6c0e5a20, 0x1aa5e: 0x6c5e9e20, 0x1aa5f: 0x6c342220,\n\t0x1aa60: 0x6cbe7220, 0x1aa61: 0x6ccd7420, 0x1aa62: 0x6c316620, 0x1aa63: 0x6c666a20,\n\t0x1aa64: 0x6c61c220, 0x1aa65: 0x6c0e5c20, 0x1aa66: 0x6d0be220, 0x1aa67: 0x6c722820,\n\t0x1aa68: 0x6c5d5420, 0x1aa69: 0x6cd16220, 0x1aa6a: 0x6c658420, 0x1aa6b: 0x6c344420,\n\t0x1aa6c: 0x6c329620, 0x1aa6d: 0x6cf36220, 0x1aa6e: 0x6c489820, 0x1aa6f: 0x6c3fe220,\n\t0x1aa70: 0x6cd15a20, 0x1aa71: 0x6c667420, 0x1aa72: 0x6c438c20, 0x1aa73: 0x6c269420,\n\t0x1aa74: 0x6c765420, 0x1aa75: 0x6c20aa20, 0x1aa76: 0x6c1fe220, 0x1aa77: 0x6c15bc20,\n\t0x1aa78: 0x6ce94e20, 0x1aa79: 0x6c926220, 0x1aa7a: 0x6c83de20, 0x1aa7b: 0x6caf0a20,\n\t0x1aa7c: 0x6ccce820, 0x1aa7d: 0x6cb15620, 0x1aa7e: 0x6c79bc20, 0x1aa7f: 0x6c690220,\n\t// Block 0x6aa, offset 0x1aa80\n\t0x1aa80: 0x6c486620, 0x1aa81: 0x6cbb8a20, 0x1aa82: 0x6c747220, 0x1aa83: 0x6c57a820,\n\t0x1aa84: 0x6d2be620, 0x1aa85: 0x6d3df620, 0x1aa86: 0x6c882a20, 0x1aa87: 0x6c727420,\n\t0x1aa88: 0x6caf8420, 0x1aa89: 0x6c8e8020, 0x1aa8a: 0x6c4b5e20, 0x1aa8b: 0x6c692220,\n\t0x1aa8c: 0x6c4b6020, 0x1aa8d: 0x6c66b020, 0x1aa8e: 0x6c66b220, 0x1aa8f: 0x6ce0c820,\n\t0x1aa90: 0x6c5d5a20, 0x1aa91: 0x6c627220, 0x1aa92: 0x6c66cc20, 0x1aa93: 0x6d187e20,\n\t0x1aa94: 0x6c66ce20, 0x1aa95: 0x6d370020, 0x1aa96: 0x6c154220, 0x1aa97: 0x6c662020,\n\t0x1aa98: 0x6ca09820, 0x1aa99: 0x6c84c820, 0x1aa9a: 0x6d3a8c20, 0x1aa9b: 0x6c855c20,\n\t0x1aa9c: 0x6d0b6220, 0x1aa9d: 0x6cc36c20, 0x1aa9e: 0x6c04da20, 0x1aa9f: 0x6c455420,\n\t0x1aaa0: 0x6c631620, 0x1aaa1: 0x6cf55220, 0x1aaa2: 0x6c971e20, 0x1aaa3: 0x6c8abe20,\n\t0x1aaa4: 0x6c6cce20, 0x1aaa5: 0x6c792020, 0x1aaa6: 0x6d006420, 0x1aaa7: 0x6d34d220,\n\t0x1aaa8: 0x6c304c20, 0x1aaa9: 0x6d3aa020, 0x1aaaa: 0x6caa4a20, 0x1aaab: 0x6c6a6820,\n\t0x1aaac: 0x6cc17420, 0x1aaad: 0x6ccec020, 0x1aaae: 0x6d167620, 0x1aaaf: 0x6d398020,\n\t0x1aab0: 0x6ca0c020, 0x1aab1: 0x6c857a20, 0x1aab2: 0x6c6cd020, 0x1aab3: 0x6c813e20,\n\t0x1aab4: 0x6c814020, 0x1aab5: 0x6c733e20, 0x1aab6: 0x6c79ce20, 0x1aab7: 0x6d0f8620,\n\t0x1aab8: 0x6cebc620, 0x1aab9: 0x6cffd420, 0x1aaba: 0x6ca1c220, 0x1aabb: 0x6c7b8420,\n\t0x1aabc: 0x6c6a7a20, 0x1aabd: 0x6c8aca20, 0x1aabe: 0x6c50ba20, 0x1aabf: 0x6cd31420,\n\t// Block 0x6ab, offset 0x1aac0\n\t0x1aac0: 0x6c788420, 0x1aac1: 0x6c6ce020, 0x1aac2: 0x6c433620, 0x1aac3: 0x6c0ec220,\n\t0x1aac4: 0x6c9f9820, 0x1aac5: 0x6c1bf420, 0x1aac6: 0x6c80a020, 0x1aac7: 0x6d1e1820,\n\t0x1aac8: 0x6d1e1a20, 0x1aac9: 0x6c9e0c20, 0x1aaca: 0x6c788620, 0x1aacb: 0x6d099220,\n\t0x1aacc: 0x6c734420, 0x1aacd: 0x6cbe7420, 0x1aace: 0x6c922820, 0x1aacf: 0x6c107c20,\n\t0x1aad0: 0x6c9bcc20, 0x1aad1: 0x6c1c0420, 0x1aad2: 0x6c823c20, 0x1aad3: 0x6c768620,\n\t0x1aad4: 0x6c9e1a20, 0x1aad5: 0x6c307220, 0x1aad6: 0x6d06b420, 0x1aad7: 0x6d06ba20,\n\t0x1aad8: 0x6c76a620, 0x1aad9: 0x6cf55620, 0x1aada: 0x6d175020, 0x1aadb: 0x6d099820,\n\t0x1aadc: 0x6cf24a20, 0x1aadd: 0x6cd16420, 0x1aade: 0x6c815620, 0x1aadf: 0x6ca28420,\n\t0x1aae0: 0x6c926420, 0x1aae1: 0x6cb1b220, 0x1aae2: 0x6cd39620, 0x1aae3: 0x6c5ee220,\n\t0x1aae4: 0x6cbd7c20, 0x1aae5: 0x6c67ee20, 0x1aae6: 0x6c174c20, 0x1aae7: 0x6cc37420,\n\t0x1aae8: 0x6cfe3e20, 0x1aae9: 0x6d181c20, 0x1aaea: 0x6c747620, 0x1aaeb: 0x6c385220,\n\t0x1aaec: 0x6c72fa20, 0x1aaed: 0x6ce76620, 0x1aaee: 0x6c727620, 0x1aaef: 0x6c27f620,\n\t0x1aaf0: 0x6d00d620, 0x1aaf1: 0x6c973820, 0x1aaf2: 0x6d09a420, 0x1aaf3: 0x6d09a820,\n\t0x1aaf4: 0x6c940220, 0x1aaf5: 0x6c867020, 0x1aaf6: 0x6c184e20, 0x1aaf7: 0x6cc4e220,\n\t0x1aaf8: 0x6cc37c20, 0x1aaf9: 0x6c059c20, 0x1aafa: 0x6cce9420, 0x1aafb: 0x6d277620,\n\t0x1aafc: 0x6c6f4220, 0x1aafd: 0x6c062c20, 0x1aafe: 0x6c463220, 0x1aaff: 0x6cf49220,\n\t// Block 0x6ac, offset 0x1ab00\n\t0x1ab00: 0x6d277820, 0x1ab01: 0x6cf17820, 0x1ab02: 0x6c0ade20, 0x1ab03: 0x6c412220,\n\t0x1ab04: 0x6c412420, 0x1ab05: 0x6c059e20, 0x1ab06: 0x6c22f420, 0x1ab07: 0x6d198a20,\n\t0x1ab08: 0x6d045020, 0x1ab09: 0x6cae5020, 0x1ab0a: 0x6c705020, 0x1ab0b: 0x6ce20420,\n\t0x1ab0c: 0x6c43c620, 0x1ab0d: 0x6cb42c20, 0x1ab0e: 0x6c35f820, 0x1ab0f: 0x6cad5a20,\n\t0x1ab10: 0x6c3e4820, 0x1ab11: 0x6c458820, 0x1ab12: 0x6c269620, 0x1ab13: 0x6c6fee20,\n\t0x1ab14: 0x6cbef220, 0x1ab15: 0x6c08aa20, 0x1ab16: 0x6c577620, 0x1ab17: 0x6c06c620,\n\t0x1ab18: 0x6ca4ea20, 0x1ab19: 0x6cd41420, 0x1ab1a: 0x6c397e20, 0x1ab1b: 0x6c6fc620,\n\t0x1ab1c: 0x6d144c20, 0x1ab1d: 0x6d288020, 0x1ab1e: 0x6c67d020, 0x1ab1f: 0x6c777820,\n\t0x1ab20: 0x6c681820, 0x1ab21: 0x6c7b8020, 0x1ab22: 0x6c549220, 0x1ab23: 0x6cf98420,\n\t0x1ab24: 0x6cc0ce20, 0x1ab25: 0x6c0b6820, 0x1ab26: 0x6c4ac620, 0x1ab27: 0x6cbc9c20,\n\t0x1ab28: 0x6d29d020, 0x1ab29: 0x6c7b8a20, 0x1ab2a: 0x6c3a4c20, 0x1ab2b: 0x6c54b420,\n\t0x1ab2c: 0x6d224620, 0x1ab2d: 0x6c4aee20, 0x1ab2e: 0x6c7cf020, 0x1ab2f: 0x6c5bd220,\n\t0x1ab30: 0x6c27ea20, 0x1ab31: 0x6c4b5c20, 0x1ab32: 0x6c881a20, 0x1ab33: 0x6c882c20,\n\t0x1ab34: 0x6cdb9420, 0x1ab35: 0x6c31c220, 0x1ab36: 0x6c703420, 0x1ab37: 0x6c74fa20,\n\t0x1ab38: 0x6cf83420, 0x1ab39: 0x6cb04020, 0x1ab3a: 0x6cc0c420, 0x1ab3b: 0x6d13c020,\n\t0x1ab3c: 0x6c77d420, 0x1ab3d: 0x6d0d5220, 0x1ab3e: 0x6c0b3220, 0x1ab3f: 0x6ca68c20,\n\t// Block 0x6ad, offset 0x1ab40\n\t0x1ab40: 0x6cc0f820, 0x1ab41: 0x6cd22420, 0x1ab42: 0x6d0a6020, 0x1ab43: 0x6cb88c20,\n\t0x1ab44: 0x6ca75420, 0x1ab45: 0x6cc96220, 0x1ab46: 0x6d40a220, 0x1ab47: 0x6cd0d020,\n\t0x1ab48: 0x6cf41620, 0x1ab49: 0x6c5b8420, 0x1ab4a: 0x6c04dc20, 0x1ab4b: 0x6cd2fa20,\n\t0x1ab4c: 0x6cf83620, 0x1ab4d: 0x6ced6a20, 0x1ab4e: 0x6c572420, 0x1ab4f: 0x6d006620,\n\t0x1ab50: 0x6ced6c20, 0x1ab51: 0x6c068e20, 0x1ab52: 0x6d40a820, 0x1ab53: 0x6d3cee20,\n\t0x1ab54: 0x6d007020, 0x1ab55: 0x6c27ba20, 0x1ab56: 0x6c972820, 0x1ab57: 0x6ca3ea20,\n\t0x1ab58: 0x6c27c020, 0x1ab59: 0x6c601220, 0x1ab5a: 0x6c0efe20, 0x1ab5b: 0x6cd67c20,\n\t0x1ab5c: 0x6c100420, 0x1ab5d: 0x6c7bd420, 0x1ab5e: 0x6c0b6420, 0x1ab5f: 0x6c102a20,\n\t0x1ab60: 0x6d2e4620, 0x1ab61: 0x6c761820, 0x1ab62: 0x6c913020, 0x1ab63: 0x6d1f9c20,\n\t0x1ab64: 0x6c91b420, 0x1ab65: 0x6cf58420, 0x1ab66: 0x6c48a620, 0x1ab67: 0x6cf2d420,\n\t0x1ab68: 0x6d017620, 0x1ab69: 0x6c6a4e20, 0x1ab6a: 0x6c6a5020, 0x1ab6b: 0x6cf06820,\n\t0x1ab6c: 0x6c01f020, 0x1ab6d: 0x6cbef420, 0x1ab6e: 0x6d338020, 0x1ab6f: 0x6c991e20,\n\t0x1ab70: 0x6d1b3620, 0x1ab71: 0x6cee6620, 0x1ab72: 0x6ccec420, 0x1ab73: 0x6c5fd220,\n\t0x1ab74: 0x6cc3a020, 0x1ab75: 0x6c948c20, 0x1ab76: 0x6c1b7c20, 0x1ab77: 0x6c731020,\n\t0x1ab78: 0x6d016a20, 0x1ab79: 0x6d067e20, 0x1ab7a: 0x6c6c8620, 0x1ab7b: 0x6cc3a620,\n\t0x1ab7c: 0x6cf4be20, 0x1ab7d: 0x6c5fec20, 0x1ab7e: 0x6c360a20, 0x1ab7f: 0x6cbe3a20,\n\t// Block 0x6ae, offset 0x1ab80\n\t0x1ab80: 0x6cf63820, 0x1ab81: 0x6cca6620, 0x1ab82: 0x6c16e020, 0x1ab83: 0x6cef8020,\n\t0x1ab84: 0x6c35c020, 0x1ab85: 0x6ce62220, 0x1ab86: 0x6c856020, 0x1ab87: 0x6d300c20,\n\t0x1ab88: 0x6c4e4e20, 0x1ab89: 0x6c856420, 0x1ab8a: 0x6d0b4620, 0x1ab8b: 0x6d0ac820,\n\t0x1ab8c: 0x6d0e3620, 0x1ab8d: 0x6ccf3020, 0x1ab8e: 0x6c2bca20, 0x1ab8f: 0x6d2c7020,\n\t0x1ab90: 0x6cacf020, 0x1ab91: 0x6d0b0c20, 0x1ab92: 0x6c50bc20, 0x1ab93: 0x6d0b1620,\n\t0x1ab94: 0x6d358220, 0x1ab95: 0x6c12cc20, 0x1ab96: 0x6cacf620, 0x1ab97: 0x6ce31020,\n\t0x1ab98: 0x6c83a420, 0x1ab99: 0x6ccf3820, 0x1ab9a: 0x6c546020, 0x1ab9b: 0x6ce63420,\n\t0x1ab9c: 0x6d416820, 0x1ab9d: 0x6c261220, 0x1ab9e: 0x6c3a9820, 0x1ab9f: 0x6d254c20,\n\t0x1aba0: 0x6c12dc20, 0x1aba1: 0x6d255e20, 0x1aba2: 0x6cfd6a20, 0x1aba3: 0x6d0d6420,\n\t0x1aba4: 0x6c860c20, 0x1aba5: 0x6c744220, 0x1aba6: 0x6ccc5020, 0x1aba7: 0x6c2cca20,\n\t0x1aba8: 0x6c1e7c20, 0x1aba9: 0x6c6ff020, 0x1abaa: 0x6c6c9620, 0x1abab: 0x6c024620,\n\t0x1abac: 0x6c4b1020, 0x1abad: 0x6d0e9020, 0x1abae: 0x6cd80020, 0x1abaf: 0x6c862620,\n\t0x1abb0: 0x6c16f220, 0x1abb1: 0x6c7faa20, 0x1abb2: 0x6c864620, 0x1abb3: 0x6d0cd020,\n\t0x1abb4: 0x6d0df620, 0x1abb5: 0x6d25dc20, 0x1abb6: 0x6cd7b420, 0x1abb7: 0x6c455020,\n\t0x1abb8: 0x6c8b9c20, 0x1abb9: 0x6cc73e20, 0x1abba: 0x6cc25a20, 0x1abbb: 0x6cc25c20,\n\t0x1abbc: 0x6c377c20, 0x1abbd: 0x6c82b020, 0x1abbe: 0x6c315e20, 0x1abbf: 0x6cfc7420,\n\t// Block 0x6af, offset 0x1abc0\n\t0x1abc0: 0x6d3b6e20, 0x1abc1: 0x6cc9fa20, 0x1abc2: 0x6c115a20, 0x1abc3: 0x6c115e20,\n\t0x1abc4: 0x6c116020, 0x1abc5: 0x6c116620, 0x1abc6: 0x6c00b420, 0x1abc7: 0x6c278620,\n\t0x1abc8: 0x6d200420, 0x1abc9: 0x6c137220, 0x1abca: 0x6c5fb820, 0x1abcb: 0x6d206820,\n\t0x1abcc: 0x6cd6a020, 0x1abcd: 0x6c390020, 0x1abce: 0x6cd42620, 0x1abcf: 0x6c48e420,\n\t0x1abd0: 0x6c035c20, 0x1abd1: 0x6c37e220, 0x1abd2: 0x6cc91020, 0x1abd3: 0x6cd30820,\n\t0x1abd4: 0x6cd4a620, 0x1abd5: 0x6d3d2a20, 0x1abd6: 0x6cc23c20, 0x1abd7: 0x6cd45220,\n\t0x1abd8: 0x6c0b7a20, 0x1abd9: 0x6d068a20, 0x1abda: 0x6c640420, 0x1abdb: 0x6cacaa20,\n\t0x1abdc: 0x6cda0c20, 0x1abdd: 0x6c433820, 0x1abde: 0x6cf08020, 0x1abdf: 0x6cda0e20,\n\t0x1abe0: 0x6c2ebc20, 0x1abe1: 0x6cc8e220, 0x1abe2: 0x6c23bc20, 0x1abe3: 0x6c79c820,\n\t0x1abe4: 0x6c475020, 0x1abe5: 0x6c71ea20, 0x1abe6: 0x6c8e1a20, 0x1abe7: 0x6c488a20,\n\t0x1abe8: 0x6c29b420, 0x1abe9: 0x6c79d420, 0x1abea: 0x6d34ce20, 0x1abeb: 0x6c697a20,\n\t0x1abec: 0x6d2f9420, 0x1abed: 0x6c03e820, 0x1abee: 0x6c2f4420, 0x1abef: 0x6c785220,\n\t0x1abf0: 0x6cdf0e20, 0x1abf1: 0x6c1bd620, 0x1abf2: 0x6cd2a420, 0x1abf3: 0x6d200820,\n\t0x1abf4: 0x6cbfee20, 0x1abf5: 0x6cb34620, 0x1abf6: 0x6d12ba20, 0x1abf7: 0x6c500e20,\n\t0x1abf8: 0x6cd7bc20, 0x1abf9: 0x6ce08a20, 0x1abfa: 0x6c1b7220, 0x1abfb: 0x6c820a20,\n\t0x1abfc: 0x6c2daa20, 0x1abfd: 0x6c5e6c20, 0x1abfe: 0x6c8a5c20, 0x1abff: 0x6c529020,\n\t// Block 0x6b0, offset 0x1ac00\n\t0x1ac00: 0x6c9ebe20, 0x1ac01: 0x6d056020, 0x1ac02: 0x6c982420, 0x1ac03: 0x6c1a9020,\n\t0x1ac04: 0x6c447c20, 0x1ac05: 0x6d077820, 0x1ac06: 0x6d108620, 0x1ac07: 0x6d3ed820,\n\t0x1ac08: 0x6c50b620, 0x1ac09: 0x6c5fc220, 0x1ac0a: 0x6c2e0820, 0x1ac0b: 0x6c25b220,\n\t0x1ac0c: 0x6ce70c20, 0x1ac0d: 0x6c9fe620, 0x1ac0e: 0x6c545a20, 0x1ac0f: 0x6c856e20,\n\t0x1ac10: 0x6ce91620, 0x1ac11: 0x6cfe1620, 0x1ac12: 0x6d2bc220, 0x1ac13: 0x6cfa2a20,\n\t0x1ac14: 0x6d12a020, 0x1ac15: 0x6c937420, 0x1ac16: 0x6d0aca20, 0x1ac17: 0x6c96ee20,\n\t0x1ac18: 0x6cab7420, 0x1ac19: 0x6c5d5220, 0x1ac1a: 0x6d13c220, 0x1ac1b: 0x6c755420,\n\t0x1ac1c: 0x6c1e1c20, 0x1ac1d: 0x6c8c4420, 0x1ac1e: 0x6cea1620, 0x1ac1f: 0x6d1a2420,\n\t0x1ac20: 0x6c3a7e20, 0x1ac21: 0x6c08b820, 0x1ac22: 0x6cbdfe20, 0x1ac23: 0x6cbe0020,\n\t0x1ac24: 0x6c6ba820, 0x1ac25: 0x6c105c20, 0x1ac26: 0x6c3d1c20, 0x1ac27: 0x6c03ea20,\n\t0x1ac28: 0x6c339620, 0x1ac29: 0x6c3b0c20, 0x1ac2a: 0x6c354820, 0x1ac2b: 0x6c4dce20,\n\t0x1ac2c: 0x6ce62c20, 0x1ac2d: 0x6c792420, 0x1ac2e: 0x6cd74620, 0x1ac2f: 0x6cb6d020,\n\t0x1ac30: 0x6c52f020, 0x1ac31: 0x6d338620, 0x1ac32: 0x6d1aca20, 0x1ac33: 0x6cf3a020,\n\t0x1ac34: 0x6cf3a220, 0x1ac35: 0x6c178c20, 0x1ac36: 0x6ca55820, 0x1ac37: 0x6d093c20,\n\t0x1ac38: 0x6cf56a20, 0x1ac39: 0x6c20b420, 0x1ac3a: 0x6c309e20, 0x1ac3b: 0x6cf1c820,\n\t0x1ac3c: 0x6c544820, 0x1ac3d: 0x6c529220, 0x1ac3e: 0x6cf3a420, 0x1ac3f: 0x6c433220,\n\t// Block 0x6b1, offset 0x1ac40\n\t0x1ac40: 0x6d0bda20, 0x1ac41: 0x6c759420, 0x1ac42: 0x6c937620, 0x1ac43: 0x6c35d020,\n\t0x1ac44: 0x6c43c020, 0x1ac45: 0x6c99ce20, 0x1ac46: 0x6c270420, 0x1ac47: 0x6cb6d220,\n\t0x1ac48: 0x6c19b620, 0x1ac49: 0x6cf3a620, 0x1ac4a: 0x6c433420, 0x1ac4b: 0x6c3d3820,\n\t0x1ac4c: 0x6c698020, 0x1ac4d: 0x6c529420, 0x1ac4e: 0x6c1b7820, 0x1ac4f: 0x6cd0da20,\n\t0x1ac50: 0x6ca55a20, 0x1ac51: 0x6cea1820, 0x1ac52: 0x6c3f3220, 0x1ac53: 0x6d167820,\n\t0x1ac54: 0x6c270620, 0x1ac55: 0x6cab7620, 0x1ac56: 0x6c857c20, 0x1ac57: 0x6c077620,\n\t0x1ac58: 0x6d253820, 0x1ac59: 0x6c4c0e20, 0x1ac5a: 0x6cf21a20, 0x1ac5b: 0x6cba9c20,\n\t0x1ac5c: 0x6cf35020, 0x1ac5d: 0x6c35da20, 0x1ac5e: 0x6cd19820, 0x1ac5f: 0x6c731220,\n\t0x1ac60: 0x6cae4620, 0x1ac61: 0x6cf1ce20, 0x1ac62: 0x6ca55c20, 0x1ac63: 0x6c965a20,\n\t0x1ac64: 0x6c8e1c20, 0x1ac65: 0x6cc46020, 0x1ac66: 0x6d1e9420, 0x1ac67: 0x6c2bd420,\n\t0x1ac68: 0x6d385a20, 0x1ac69: 0x6cd31620, 0x1ac6a: 0x6d38fa20, 0x1ac6b: 0x6ce60e20,\n\t0x1ac6c: 0x6cf84420, 0x1ac6d: 0x6d16a820, 0x1ac6e: 0x6cb74220, 0x1ac6f: 0x6cb27420,\n\t0x1ac70: 0x6d3ef420, 0x1ac71: 0x6c46ea20, 0x1ac72: 0x6c21f420, 0x1ac73: 0x6cf07220,\n\t0x1ac74: 0x6d062a20, 0x1ac75: 0x6c000420, 0x1ac76: 0x6ca49220, 0x1ac77: 0x6c40be20,\n\t0x1ac78: 0x6cadac20, 0x1ac79: 0x6d16aa20, 0x1ac7a: 0x6cfe8220, 0x1ac7b: 0x6ccfa820,\n\t0x1ac7c: 0x6c549820, 0x1ac7d: 0x6ca04020, 0x1ac7e: 0x6c267a20, 0x1ac7f: 0x6cc26220,\n\t// Block 0x6b2, offset 0x1ac80\n\t0x1ac80: 0x6c71a220, 0x1ac81: 0x6c4dd420, 0x1ac82: 0x6d288820, 0x1ac83: 0x6ceaa820,\n\t0x1ac84: 0x6c341a20, 0x1ac85: 0x6cb3ec20, 0x1ac86: 0x6cad4620, 0x1ac87: 0x6c0cdc20,\n\t0x1ac88: 0x6c3de020, 0x1ac89: 0x6d0f4420, 0x1ac8a: 0x6c50be20, 0x1ac8b: 0x6d28e820,\n\t0x1ac8c: 0x6c50c020, 0x1ac8d: 0x6c4d0c20, 0x1ac8e: 0x6c6fd420, 0x1ac8f: 0x6d1e1220,\n\t0x1ac90: 0x6c40aa20, 0x1ac91: 0x6c264020, 0x1ac92: 0x6d38fc20, 0x1ac93: 0x6cec1220,\n\t0x1ac94: 0x6c760c20, 0x1ac95: 0x6c483220, 0x1ac96: 0x6c760e20, 0x1ac97: 0x6d42b820,\n\t0x1ac98: 0x6c106020, 0x1ac99: 0x6c8f6a20, 0x1ac9a: 0x6c2fda20, 0x1ac9b: 0x6ca8f420,\n\t0x1ac9c: 0x6cdefe20, 0x1ac9d: 0x6cd7c820, 0x1ac9e: 0x6cfc7820, 0x1ac9f: 0x6c5da420,\n\t0x1aca0: 0x6cb75020, 0x1aca1: 0x6c37c020, 0x1aca2: 0x6c35e420, 0x1aca3: 0x6c49da20,\n\t0x1aca4: 0x6d2cb220, 0x1aca5: 0x6cf85420, 0x1aca6: 0x6d148a20, 0x1aca7: 0x6c8b9220,\n\t0x1aca8: 0x6d3e0a20, 0x1aca9: 0x6c9ec020, 0x1acaa: 0x6c9c2e20, 0x1acab: 0x6d34fa20,\n\t0x1acac: 0x6d119420, 0x1acad: 0x6c5e9220, 0x1acae: 0x6d390a20, 0x1acaf: 0x6c437820,\n\t0x1acb0: 0x6cd5a820, 0x1acb1: 0x6d295e20, 0x1acb2: 0x6cffd620, 0x1acb3: 0x6c4d0e20,\n\t0x1acb4: 0x6c5a8e20, 0x1acb5: 0x6c7ad420, 0x1acb6: 0x6c580c20, 0x1acb7: 0x6ce20820,\n\t0x1acb8: 0x6cfb3020, 0x1acb9: 0x6c35e620, 0x1acba: 0x6d084220, 0x1acbb: 0x6d04ba20,\n\t0x1acbc: 0x6c4c1020, 0x1acbd: 0x6d0e4220, 0x1acbe: 0x6c81a020, 0x1acbf: 0x6d13ce20,\n\t// Block 0x6b3, offset 0x1acc0\n\t0x1acc0: 0x6c001620, 0x1acc1: 0x6cb23820, 0x1acc2: 0x6cd04a20, 0x1acc3: 0x6ce72020,\n\t0x1acc4: 0x6c529a20, 0x1acc5: 0x6d045c20, 0x1acc6: 0x6c341c20, 0x1acc7: 0x6cec4c20,\n\t0x1acc8: 0x6c4cf820, 0x1acc9: 0x6d28f820, 0x1acca: 0x6d201e20, 0x1accb: 0x6c2f3020,\n\t0x1accc: 0x6cac1c20, 0x1accd: 0x6cfddc20, 0x1acce: 0x6c001420, 0x1accf: 0x6c449c20,\n\t0x1acd0: 0x6c7b8c20, 0x1acd1: 0x6d0b4a20, 0x1acd2: 0x6c264220, 0x1acd3: 0x6cfe8a20,\n\t0x1acd4: 0x6c094220, 0x1acd5: 0x6c5b9620, 0x1acd6: 0x6ca77420, 0x1acd7: 0x6c570a20,\n\t0x1acd8: 0x6d044220, 0x1acd9: 0x6c7b1820, 0x1acda: 0x6c347620, 0x1acdb: 0x6c3b1c20,\n\t0x1acdc: 0x6c619c20, 0x1acdd: 0x6ca9b220, 0x1acde: 0x6ca1ba20, 0x1acdf: 0x6d1d7620,\n\t0x1ace0: 0x6c502420, 0x1ace1: 0x6d254e20, 0x1ace2: 0x6c905620, 0x1ace3: 0x6cb3ee20,\n\t0x1ace4: 0x6c984820, 0x1ace5: 0x6c438020, 0x1ace6: 0x6cab2820, 0x1ace7: 0x6c1a9a20,\n\t0x1ace8: 0x6ccece20, 0x1ace9: 0x6c87dc20, 0x1acea: 0x6ca2f420, 0x1aceb: 0x6d40ae20,\n\t0x1acec: 0x6c50ea20, 0x1aced: 0x6c7a3420, 0x1acee: 0x6cfe9220, 0x1acef: 0x6cfc9a20,\n\t0x1acf0: 0x6c814820, 0x1acf1: 0x6c0e5e20, 0x1acf2: 0x6d302c20, 0x1acf3: 0x6d2bd020,\n\t0x1acf4: 0x6c89ac20, 0x1acf5: 0x6c033620, 0x1acf6: 0x6c9ec220, 0x1acf7: 0x6c8ae220,\n\t0x1acf8: 0x6cdbb420, 0x1acf9: 0x6c3e2a20, 0x1acfa: 0x6c103420, 0x1acfb: 0x6c4e9020,\n\t0x1acfc: 0x6c524620, 0x1acfd: 0x6c44f220, 0x1acfe: 0x6cd76820, 0x1acff: 0x6c447420,\n\t// Block 0x6b4, offset 0x1ad00\n\t0x1ad00: 0x6d203620, 0x1ad01: 0x6d0e4c20, 0x1ad02: 0x6c46fc20, 0x1ad03: 0x6c477020,\n\t0x1ad04: 0x6c077820, 0x1ad05: 0x6c4dec20, 0x1ad06: 0x6cdd0c20, 0x1ad07: 0x6c213820,\n\t0x1ad08: 0x6d171c20, 0x1ad09: 0x6c001820, 0x1ad0a: 0x6c63ae20, 0x1ad0b: 0x6ce84620,\n\t0x1ad0c: 0x6cfb3220, 0x1ad0d: 0x6cecf620, 0x1ad0e: 0x6c85c420, 0x1ad0f: 0x6cf5b220,\n\t0x1ad10: 0x6ce0e820, 0x1ad11: 0x6d428a20, 0x1ad12: 0x6cc02420, 0x1ad13: 0x6c17d420,\n\t0x1ad14: 0x6cf3ac20, 0x1ad15: 0x6d2a6e20, 0x1ad16: 0x6d0b4c20, 0x1ad17: 0x6c30a420,\n\t0x1ad18: 0x6cb6e420, 0x1ad19: 0x6c2b6020, 0x1ad1a: 0x6cbe0c20, 0x1ad1b: 0x6c96ba20,\n\t0x1ad1c: 0x6ca0ee20, 0x1ad1d: 0x6c461220, 0x1ad1e: 0x6c30e620, 0x1ad1f: 0x6cc26c20,\n\t0x1ad20: 0x6c814a20, 0x1ad21: 0x6c898c20, 0x1ad22: 0x6cdd5420, 0x1ad23: 0x6d2a7020,\n\t0x1ad24: 0x6c58fe20, 0x1ad25: 0x6c813620, 0x1ad26: 0x6ccbd620, 0x1ad27: 0x6c5ea020,\n\t0x1ad28: 0x6d426820, 0x1ad29: 0x6cf28420, 0x1ad2a: 0x6c3cca20, 0x1ad2b: 0x6c6cfc20,\n\t0x1ad2c: 0x6c56fc20, 0x1ad2d: 0x6cb77620, 0x1ad2e: 0x6cd45c20, 0x1ad2f: 0x6ceefa20,\n\t0x1ad30: 0x6cd64420, 0x1ad31: 0x6c171020, 0x1ad32: 0x6c374e20, 0x1ad33: 0x6c85e620,\n\t0x1ad34: 0x6cbb5620, 0x1ad35: 0x6c017e20, 0x1ad36: 0x6d2ab620, 0x1ad37: 0x6d1d7820,\n\t0x1ad38: 0x6ca75e20, 0x1ad39: 0x6d208420, 0x1ad3a: 0x6ce4e620, 0x1ad3b: 0x6c7f4420,\n\t0x1ad3c: 0x6ccc4220, 0x1ad3d: 0x6cf5d820, 0x1ad3e: 0x6ceba020, 0x1ad3f: 0x6c54b820,\n\t// Block 0x6b5, offset 0x1ad40\n\t0x1ad40: 0x6c003c20, 0x1ad41: 0x6d2f6420, 0x1ad42: 0x6caa1420, 0x1ad43: 0x6c790220,\n\t0x1ad44: 0x6d3d4420, 0x1ad45: 0x6d3d4620, 0x1ad46: 0x6cce0220, 0x1ad47: 0x6c2c3a20,\n\t0x1ad48: 0x6c524a20, 0x1ad49: 0x6c8ba820, 0x1ad4a: 0x6c001020, 0x1ad4b: 0x6c112220,\n\t0x1ad4c: 0x6cfd6c20, 0x1ad4d: 0x6cea1e20, 0x1ad4e: 0x6cf43e20, 0x1ad4f: 0x6cf20620,\n\t0x1ad50: 0x6c253020, 0x1ad51: 0x6ccc4420, 0x1ad52: 0x6c477a20, 0x1ad53: 0x6cb6ec20,\n\t0x1ad54: 0x6cb6ee20, 0x1ad55: 0x6ce21620, 0x1ad56: 0x6c287420, 0x1ad57: 0x6c287620,\n\t0x1ad58: 0x6d12e620, 0x1ad59: 0x6d3f1020, 0x1ad5a: 0x6c08d820, 0x1ad5b: 0x6c253220,\n\t0x1ad5c: 0x6c1fc220, 0x1ad5d: 0x6c510220, 0x1ad5e: 0x6d0b5020, 0x1ad5f: 0x6cb6f420,\n\t0x1ad60: 0x6d304820, 0x1ad61: 0x6c39f620, 0x1ad62: 0x6c898e20, 0x1ad63: 0x6cfb5820,\n\t0x1ad64: 0x6cafd820, 0x1ad65: 0x6ccc4620, 0x1ad66: 0x6c7ed420, 0x1ad67: 0x6d2ab820,\n\t0x1ad68: 0x6d1baa20, 0x1ad69: 0x6c48ae20, 0x1ad6a: 0x6cabc220, 0x1ad6b: 0x6d30d620,\n\t0x1ad6c: 0x6ccb2020, 0x1ad6d: 0x6d3bc220, 0x1ad6e: 0x6ca81020, 0x1ad6f: 0x6c4cf620,\n\t0x1ad70: 0x6c953020, 0x1ad71: 0x6d0bf020, 0x1ad72: 0x6c2c3c20, 0x1ad73: 0x6cc2d220,\n\t0x1ad74: 0x6c15a420, 0x1ad75: 0x6c100620, 0x1ad76: 0x6c2fa020, 0x1ad77: 0x6c809e20,\n\t0x1ad78: 0x6cffe420, 0x1ad79: 0x6c710c20, 0x1ad7a: 0x6ce0f220, 0x1ad7b: 0x6c1c1a20,\n\t0x1ad7c: 0x6ce31e20, 0x1ad7d: 0x6c016c20, 0x1ad7e: 0x6c6f7020, 0x1ad7f: 0x6c288620,\n\t// Block 0x6b6, offset 0x1ad80\n\t0x1ad80: 0x6c761020, 0x1ad81: 0x6d1df420, 0x1ad82: 0x6cf08a20, 0x1ad83: 0x6ca3fc20,\n\t0x1ad84: 0x6ccd8a20, 0x1ad85: 0x6d232a20, 0x1ad86: 0x6d305820, 0x1ad87: 0x6c7e6220,\n\t0x1ad88: 0x6c6a0820, 0x1ad89: 0x6c53f820, 0x1ad8a: 0x6c4e5820, 0x1ad8b: 0x6c2e9820,\n\t0x1ad8c: 0x6d388220, 0x1ad8d: 0x6c147e20, 0x1ad8e: 0x6cec5220, 0x1ad8f: 0x6caaec20,\n\t0x1ad90: 0x6d230020, 0x1ad91: 0x6d19d820, 0x1ad92: 0x6d28b820, 0x1ad93: 0x6d10a220,\n\t0x1ad94: 0x6cab2420, 0x1ad95: 0x6c9e2020, 0x1ad96: 0x6c555220, 0x1ad97: 0x6d27e820,\n\t0x1ad98: 0x6c201e20, 0x1ad99: 0x6c5bbc20, 0x1ad9a: 0x6c591a20, 0x1ad9b: 0x6c591c20,\n\t0x1ad9c: 0x6cf7e620, 0x1ad9d: 0x6c509c20, 0x1ad9e: 0x6c5ec220, 0x1ad9f: 0x6c7cf420,\n\t0x1ada0: 0x6d37ee20, 0x1ada1: 0x6cef0620, 0x1ada2: 0x6ccc5220, 0x1ada3: 0x6d06cc20,\n\t0x1ada4: 0x6c59ba20, 0x1ada5: 0x6c344a20, 0x1ada6: 0x6ca82620, 0x1ada7: 0x6d079020,\n\t0x1ada8: 0x6c89b420, 0x1ada9: 0x6d232c20, 0x1adaa: 0x6cca9e20, 0x1adab: 0x6c1aae20,\n\t0x1adac: 0x6cbbe020, 0x1adad: 0x6d0e6a20, 0x1adae: 0x6c27dc20, 0x1adaf: 0x6cae4a20,\n\t0x1adb0: 0x6c116820, 0x1adb1: 0x6c83d020, 0x1adb2: 0x6d1d7a20, 0x1adb3: 0x6d2bd620,\n\t0x1adb4: 0x6cee7c20, 0x1adb5: 0x6c9e6c20, 0x1adb6: 0x6d1c6220, 0x1adb7: 0x6cae3220,\n\t0x1adb8: 0x6c103820, 0x1adb9: 0x6c7c7420, 0x1adba: 0x6cf88420, 0x1adbb: 0x6d232e20,\n\t0x1adbc: 0x6c6ac420, 0x1adbd: 0x6c912820, 0x1adbe: 0x6c7a9620, 0x1adbf: 0x6d2a8220,\n\t// Block 0x6b7, offset 0x1adc0\n\t0x1adc0: 0x6c56a220, 0x1adc1: 0x6ce33c20, 0x1adc2: 0x6d110420, 0x1adc3: 0x6c51ca20,\n\t0x1adc4: 0x6c000e20, 0x1adc5: 0x6d054220, 0x1adc6: 0x6cbabe20, 0x1adc7: 0x6ccb2e20,\n\t0x1adc8: 0x6d1d8a20, 0x1adc9: 0x6cdabe20, 0x1adca: 0x6c53a620, 0x1adcb: 0x6d00b220,\n\t0x1adcc: 0x6c00a220, 0x1adcd: 0x6cdd2420, 0x1adce: 0x6c96f020, 0x1adcf: 0x6c139620,\n\t0x1add0: 0x6c4d6c20, 0x1add1: 0x6c780420, 0x1add2: 0x6c264c20, 0x1add3: 0x6cca7e20,\n\t0x1add4: 0x6c187220, 0x1add5: 0x6cc81820, 0x1add6: 0x6cd9aa20, 0x1add7: 0x6cebdc20,\n\t0x1add8: 0x6c5ee420, 0x1add9: 0x6cad1c20, 0x1adda: 0x6cf36e20, 0x1addb: 0x6cba1020,\n\t0x1addc: 0x6cd39820, 0x1addd: 0x6c440020, 0x1adde: 0x6d3e3220, 0x1addf: 0x6c6a0a20,\n\t0x1ade0: 0x6c960c20, 0x1ade1: 0x6cf22820, 0x1ade2: 0x6cec3420, 0x1ade3: 0x6cd8c820,\n\t0x1ade4: 0x6c1ab420, 0x1ade5: 0x6c4fca20, 0x1ade6: 0x6cddd820,\n\t0x1ade8: 0x6c4d1620, 0x1ade9: 0x6cdd7020, 0x1adea: 0x6cbd7e20, 0x1adeb: 0x6ca83820,\n\t0x1adec: 0x6c50a020, 0x1aded: 0x6d347020, 0x1adee: 0x6cc9e220, 0x1adef: 0x6ca2c620,\n\t0x1adf0: 0x6c448a20, 0x1adf1: 0x6ca2e420, 0x1adf2: 0x6c2cb820, 0x1adf3: 0x6c002c20,\n\t0x1adf4: 0x6cbb6220, 0x1adf5: 0x6ce6f620, 0x1adf6: 0x6c09c220, 0x1adf7: 0x6c024a20,\n\t0x1adf8: 0x6c024c20, 0x1adf9: 0x6c880c20, 0x1adfa: 0x6d417420, 0x1adfb: 0x6d300020,\n\t0x1adfc: 0x6ca12420, 0x1adfd: 0x6cda4620, 0x1adfe: 0x6cda2020, 0x1adff: 0x6ce06820,\n\t// Block 0x6b8, offset 0x1ae00\n\t0x1ae00: 0x6c2b7820, 0x1ae01: 0x6cb50820, 0x1ae02: 0x6c69aa20, 0x1ae03: 0x6c1cd020,\n\t0x1ae04: 0x6c685a20, 0x1ae05: 0x6c765620, 0x1ae06: 0x6ce0a020, 0x1ae07: 0x6cccf820,\n\t0x1ae08: 0x6c127820, 0x1ae09: 0x6c637620, 0x1ae0a: 0x6c004620, 0x1ae0b: 0x6cfee620,\n\t0x1ae0c: 0x6cb1b420, 0x1ae0d: 0x6c912a20, 0x1ae0e: 0x6c40c020, 0x1ae0f: 0x6c47aa20,\n\t0x1ae10: 0x6cfee820, 0x1ae11: 0x6c54e220, 0x1ae12: 0x6c5bf220, 0x1ae13: 0x6c4c2c20,\n\t0x1ae14: 0x6cab8220, 0x1ae15: 0x6cfabc20, 0x1ae16: 0x6d2ad820, 0x1ae17: 0x6c16b420,\n\t0x1ae18: 0x6d05b820, 0x1ae19: 0x6cb32e20, 0x1ae1a: 0x6c2a5c20, 0x1ae1b: 0x6c96f420,\n\t0x1ae1c: 0x6c96ca20, 0x1ae1d: 0x6c557820, 0x1ae1e: 0x6c836c20, 0x1ae1f: 0x6c317220,\n\t0x1ae20: 0x6c40c220, 0x1ae21: 0x6ce0c420, 0x1ae22: 0x6d12ae20, 0x1ae23: 0x6c07fe20,\n\t0x1ae24: 0x6d1bcc20, 0x1ae25: 0x6cc9f020, 0x1ae26: 0x6c69ac20, 0x1ae27: 0x6c9d6420,\n\t0x1ae28: 0x6cfffc20, 0x1ae29: 0x6c571220, 0x1ae2a: 0x6c971620, 0x1ae2b: 0x6cc48020,\n\t0x1ae2c: 0x6c1fc420, 0x1ae2d: 0x6cae7e20, 0x1ae2e: 0x6c816420, 0x1ae2f: 0x6d000420,\n\t0x1ae30: 0x6c5f1020, 0x1ae31: 0x6d3a7c20, 0x1ae32: 0x6c177020, 0x1ae33: 0x6c7d0820,\n\t0x1ae34: 0x6d419820, 0x1ae35: 0x6cfefe20, 0x1ae36: 0x6cd80c20, 0x1ae37: 0x6c4fdc20,\n\t0x1ae38: 0x6c3f7e20, 0x1ae39: 0x6c8a0020, 0x1ae3a: 0x6cbbe820, 0x1ae3b: 0x6cf68e20,\n\t0x1ae3c: 0x6c1f6a20, 0x1ae3d: 0x6c15d020, 0x1ae3e: 0x6c28a420, 0x1ae3f: 0x6c521e20,\n\t// Block 0x6b9, offset 0x1ae40\n\t0x1ae40: 0x6d0aa020, 0x1ae41: 0x6c35b620, 0x1ae42: 0x6d420a20, 0x1ae43: 0x6c385420,\n\t0x1ae44: 0x6c1acc20, 0x1ae45: 0x6c5ae220, 0x1ae46: 0x6d297220, 0x1ae47: 0x6c207420,\n\t0x1ae48: 0x6c245220, 0x1ae49: 0x6c289c20, 0x1ae4a: 0x6d23ba20, 0x1ae4b: 0x6cea2420,\n\t0x1ae4c: 0x6c134a20, 0x1ae4d: 0x6c69b620, 0x1ae4e: 0x6d126220, 0x1ae4f: 0x6cf69020,\n\t0x1ae50: 0x6cb7be20, 0x1ae51: 0x6c4fd020, 0x1ae52: 0x6c882e20, 0x1ae53: 0x6d05ca20,\n\t0x1ae54: 0x6c2aa420, 0x1ae55: 0x6c5ae820, 0x1ae56: 0x6d1a8c20, 0x1ae57: 0x6cb40c20,\n\t0x1ae58: 0x6c73b220, 0x1ae59: 0x6cbd9220, 0x1ae5a: 0x6d0a2e20, 0x1ae5b: 0x6ca85a20,\n\t0x1ae5c: 0x6c912c20, 0x1ae5d: 0x6cd80e20, 0x1ae5e: 0x6d0dd420, 0x1ae5f: 0x6d1d4820,\n\t0x1ae60: 0x6c265e20, 0x1ae61: 0x6d2d9420, 0x1ae62: 0x6cab2620, 0x1ae63: 0x6d394e20,\n\t0x1ae64: 0x6c6d4820, 0x1ae65: 0x6ca9c420, 0x1ae66: 0x6c5c2620, 0x1ae67: 0x6d01f420,\n\t0x1ae68: 0x6cb7ce20, 0x1ae69: 0x6c36a620, 0x1ae6a: 0x6d2a8e20, 0x1ae6b: 0x6d140e20,\n\t0x1ae6c: 0x6cd3d620, 0x1ae6d: 0x6c69c220, 0x1ae6e: 0x6d263020, 0x1ae6f: 0x6c003420,\n\t0x1ae70: 0x6d1dac20, 0x1ae71: 0x6c74b420, 0x1ae72: 0x6c7b3820, 0x1ae73: 0x6d228a20,\n\t0x1ae74: 0x6cae3420, 0x1ae75: 0x6c2a2820, 0x1ae76: 0x6c40c820, 0x1ae77: 0x6c528e20,\n\t0x1ae78: 0x6c33aa20, 0x1ae79: 0x6c290220, 0x1ae7a: 0x6d036420, 0x1ae7b: 0x6cc9cc20,\n\t0x1ae7c: 0x6caf8e20, 0x1ae7d: 0x6cb07220, 0x1ae7e: 0x6d1a0e20, 0x1ae7f: 0x6d41a020,\n\t// Block 0x6ba, offset 0x1ae80\n\t0x1ae80: 0x6ca92020, 0x1ae81: 0x6c2b9620, 0x1ae82: 0x6c807820, 0x1ae83: 0x6cddfa20,\n\t0x1ae84: 0x6c5d5e20, 0x1ae85: 0x6cc7cc20, 0x1ae86: 0x6c4fac20, 0x1ae87: 0x6cfa4820,\n\t0x1ae88: 0x6d135220, 0x1ae89: 0x6c343820, 0x1ae8a: 0x6cb0be20, 0x1ae8b: 0x6c1de020,\n\t0x1ae8c: 0x6c629020, 0x1ae8d: 0x6c6d5620, 0x1ae8e: 0x6c4fec20, 0x1ae8f: 0x6ce42820,\n\t0x1ae90: 0x6c16ca20, 0x1ae91: 0x6d0ac220, 0x1ae92: 0x6c99c620, 0x1ae93: 0x6c10d820,\n\t0x1ae94: 0x6ce43820, 0x1ae95: 0x6c91e420, 0x1ae96: 0x6c5c6420, 0x1ae97: 0x6c0f8820,\n\t0x1ae98: 0x6d1eba20, 0x1ae99: 0x6ca88620, 0x1ae9a: 0x6d1a9e20, 0x1ae9b: 0x6c56d620,\n\t0x1ae9c: 0x6c99ca20, 0x1ae9d: 0x6c52d220, 0x1ae9e: 0x6d30a820, 0x1ae9f: 0x6c846c20,\n\t0x1aea0: 0x6c8eb220, 0x1aea1: 0x6c4d8e20, 0x1aea2: 0x6ca45620, 0x1aea3: 0x6cff2e20,\n\t0x1aea4: 0x6ca08220, 0x1aea5: 0x6d0ee620, 0x1aea6: 0x6c86e820, 0x1aea7: 0x6c916820,\n\t0x1aea8: 0x6c8fba20, 0x1aea9: 0x6ca08c20, 0x1aeaa: 0x6c28dc20, 0x1aeab: 0x6c193a20,\n\t0x1aeac: 0x6cb21e20, 0x1aead: 0x6cb07c20, 0x1aeae: 0x6cfe5c20, 0x1aeaf: 0x6c5e2420,\n\t0x1aeb0: 0x6ca08e20, 0x1aeb1: 0x6cf91e20, 0x1aeb2: 0x6c34c220, 0x1aeb3: 0x6c7ab220,\n\t0x1aeb4: 0x6d0ce820, 0x1aeb5: 0x6c154e20, 0x1aeb6: 0x6d1c1820, 0x1aeb7: 0x6cc50420,\n\t0x1aeb8: 0x6c2d3020, 0x1aeb9: 0x6c7ede20, 0x1aeba: 0x6cded620, 0x1aebb: 0x6cff4c20,\n\t0x1aebc: 0x6c74fc20, 0x1aebd: 0x6c21e420, 0x1aebe: 0x6c583c20, 0x1aebf: 0x6c5e3c20,\n\t// Block 0x6bb, offset 0x1aec0\n\t0x1aec0: 0x6d3bfe20, 0x1aec1: 0x6ca8aa20, 0x1aec2: 0x6cff4e20, 0x1aec3: 0x6c10ee20,\n\t0x1aec4: 0x6c84a420, 0x1aec5: 0x6c161620, 0x1aec6: 0x6c14a820, 0x1aec7: 0x6c876020,\n\t0x1aec8: 0x6d194020, 0x1aec9: 0x6c953620, 0x1aeca: 0x6ca45e20, 0x1aecb: 0x6d28dc20,\n\t0x1aecc: 0x6cda6e20, 0x1aecd: 0x6cf82420, 0x1aece: 0x6d2b7e20, 0x1aecf: 0x6c654e20,\n\t0x1aed0: 0x6d28de20, 0x1aed1: 0x6d3a8e20, 0x1aed2: 0x6c800620, 0x1aed3: 0x6ca8c220,\n\t0x1aed4: 0x6ca45220, 0x1aed5: 0x6c806220, 0x1aed6: 0x6c8f6420, 0x1aed7: 0x6ceed620,\n\t0x1aed8: 0x6c5b1220, 0x1aed9: 0x6d199c20, 0x1aeda: 0x6cbff020, 0x1aedb: 0x6cd87420,\n\t0x1aedc: 0x6ca8e220, 0x1aedd: 0x6c656220, 0x1aede: 0x6c5b1420, 0x1aedf: 0x6d031420,\n\t0x1aee0: 0x6d199e20, 0x1aee1: 0x6ca3dc20, 0x1aee2: 0x6ce94420, 0x1aee3: 0x6ce94620,\n\t0x1aee4: 0x6c33d620, 0x1aee5: 0x6c777c20, 0x1aee6: 0x6d24c620, 0x1aee7: 0x6c6ef420,\n\t0x1aee8: 0x6cb0ec20, 0x1aee9: 0x6d277c20, 0x1aeea: 0x6c22f620, 0x1aeeb: 0x6c551c20,\n\t0x1aeec: 0x6c5b1820, 0x1aeed: 0x6d253a20, 0x1aeee: 0x6c354a20, 0x1aeef: 0x6c4c5620,\n\t0x1aef0: 0x6c7dca20, 0x1aef1: 0x6c22f820, 0x1aef2: 0x6ce6ee20, 0x1aef3: 0x6ce88420,\n\t0x1aef4: 0x6ceedc20, 0x1aef5: 0x6c94d820, 0x1aef6: 0x6c4c5a20, 0x1aef7: 0x6cc43020,\n\t0x1aef8: 0x6cc64020, 0x1aef9: 0x6c8c9e20, 0x1aefa: 0x6c47fe20, 0x1aefb: 0x6c4c5c20,\n\t0x1aefc: 0x6cdf0020, 0x1aefd: 0x6c4c5e20, 0x1aefe: 0x6ce88820, 0x1aeff: 0x6d202020,\n\t// Block 0x6bc, offset 0x1af00\n\t0x1af00: 0x6c4c6220, 0x1af01: 0x6d1a4220, 0x1af02: 0x6c5d2020, 0x1af03: 0x6cb48620,\n\t0x1af04: 0x6d223820, 0x1af05: 0x6c4dee20, 0x1af06: 0x6d255020, 0x1af07: 0x6c94ea20,\n\t0x1af08: 0x6cc29620, 0x1af09: 0x6d224820, 0x1af0a: 0x6cbe3e20, 0x1af0b: 0x6c4c6620,\n\t0x1af0c: 0x6c1ffa20, 0x1af0d: 0x6cef0820, 0x1af0e: 0x6d256020, 0x1af0f: 0x6cc29a20,\n\t0x1af10: 0x6c7a4020, 0x1af11: 0x6c400a20, 0x1af12: 0x6d257420, 0x1af13: 0x6d257620,\n\t0x1af14: 0x6d0bbc20, 0x1af15: 0x6ce8b620, 0x1af16: 0x6ce8d420, 0x1af17: 0x6ce8d620,\n\t0x1af18: 0x6ce95020, 0x1af19: 0x6c94b820, 0x1af1a: 0x6c5c0c20, 0x1af1b: 0x6d188220,\n\t0x1af1c: 0x6c589220, 0x1af1d: 0x6c944a20, 0x1af1e: 0x6c946e20, 0x1af1f: 0x6ce91020,\n\t0x1af20: 0x6d0b6620, 0x1af21: 0x6ce91220, 0x1af22: 0x6ce6aa20, 0x1af23: 0x6cd15220,\n\t0x1af24: 0x6cb48020, 0x1af25: 0x6c920c20, 0x1af26: 0x6c7b5020, 0x1af27: 0x6d0ac620,\n\t0x1af28: 0x6d292820, 0x1af29: 0x6ceeda20, 0x1af2a: 0x6c436620, 0x1af2b: 0x6d22be20,\n\t0x1af2c: 0x6cf34020, 0x1af2d: 0x6c4a3420, 0x1af2e: 0x6cb04820, 0x1af2f: 0x6d145020,\n\t0x1af30: 0x6c2a8a20, 0x1af31: 0x6cb89220, 0x1af32: 0x6cb89420, 0x1af33: 0x6d320e20,\n\t0x1af34: 0x6d3d1a20, 0x1af35: 0x6c295220, 0x1af36: 0x6cb83e20, 0x1af37: 0x6cfa6220,\n\t0x1af38: 0x6ccdf620, 0x1af39: 0x6c7bd820, 0x1af3a: 0x6c16e220, 0x1af3b: 0x6cb56e20,\n\t0x1af3c: 0x6ca7f220, 0x1af3d: 0x6ca0c220, 0x1af3e: 0x6c5e7620, 0x1af3f: 0x6c639820,\n\t// Block 0x6bd, offset 0x1af40\n\t0x1af40: 0x6d34dc20, 0x1af41: 0x6d34de20, 0x1af42: 0x6c04b420, 0x1af43: 0x6d098e20,\n\t0x1af44: 0x6d167a20, 0x1af45: 0x6cbdc620, 0x1af46: 0x6c99d020, 0x1af47: 0x6c755620,\n\t0x1af48: 0x6cc6f220, 0x1af49: 0x6cea3c20, 0x1af4a: 0x6c39e820, 0x1af4b: 0x6c07a420,\n\t0x1af4c: 0x6c07a620, 0x1af4d: 0x6cdf8820, 0x1af4e: 0x6c76be20, 0x1af4f: 0x6c580a20,\n\t0x1af50: 0x6d427620, 0x1af51: 0x6c792620, 0x1af52: 0x6c091820, 0x1af53: 0x6c6e0a20,\n\t0x1af54: 0x6c2c1220, 0x1af55: 0x6c6d8620, 0x1af56: 0x6c617c20, 0x1af57: 0x6c7b0c20,\n\t0x1af58: 0x6c2bcc20, 0x1af59: 0x6c6d8820, 0x1af5a: 0x6c646220, 0x1af5b: 0x6cdfca20,\n\t0x1af5c: 0x6c857e20, 0x1af5d: 0x6c03a620, 0x1af5e: 0x6cf4a420, 0x1af5f: 0x6c3b5020,\n\t0x1af60: 0x6d3c7a20, 0x1af61: 0x6cb2f620, 0x1af62: 0x6c04e220, 0x1af63: 0x6ce0bc20,\n\t0x1af64: 0x6c7d4a20, 0x1af65: 0x6cc0da20, 0x1af66: 0x6ce05220, 0x1af67: 0x6d339420,\n\t0x1af68: 0x6ceaea20, 0x1af69: 0x6c417020, 0x1af6a: 0x6cb27620, 0x1af6b: 0x6c2d3a20,\n\t0x1af6c: 0x6c48a820, 0x1af6d: 0x6ca5ba20, 0x1af6e: 0x6cdf1420, 0x1af6f: 0x6caf3020,\n\t0x1af70: 0x6c6ed620, 0x1af71: 0x6d100020, 0x1af72: 0x6c3d0a20, 0x1af73: 0x6c02c420,\n\t0x1af74: 0x6c921820, 0x1af75: 0x6cbf9c20, 0x1af76: 0x6ca22620, 0x1af77: 0x6c785420,\n\t0x1af78: 0x6c469220, 0x1af79: 0x6d094020, 0x1af7a: 0x6c036220, 0x1af7b: 0x6c1b0420,\n\t0x1af7c: 0x6c180020, 0x1af7d: 0x6c8ca020, 0x1af7e: 0x6d3aaa20, 0x1af7f: 0x6c3fb020,\n\t// Block 0x6be, offset 0x1af80\n\t0x1af80: 0x6c549a20, 0x1af81: 0x6d358420, 0x1af82: 0x6c20be20, 0x1af83: 0x6c7e3a20,\n\t0x1af84: 0x6c902e20, 0x1af85: 0x6c903020, 0x1af86: 0x6c913820, 0x1af87: 0x6c02c620,\n\t0x1af88: 0x6c272e20, 0x1af89: 0x6cad4820, 0x1af8a: 0x6c9fe220, 0x1af8b: 0x6d03ca20,\n\t0x1af8c: 0x6c305620, 0x1af8d: 0x6c619e20, 0x1af8e: 0x6c51ba20, 0x1af8f: 0x6c93ce20,\n\t0x1af90: 0x6c222820, 0x1af91: 0x6c1b8220, 0x1af92: 0x6c82ba20, 0x1af93: 0x6c40e420,\n\t0x1af94: 0x6d19aa20, 0x1af95: 0x6c546220, 0x1af96: 0x6c32f420, 0x1af97: 0x6d2f9c20,\n\t0x1af98: 0x6c3e0820, 0x1af99: 0x6c49dc20, 0x1af9a: 0x6d10d420, 0x1af9b: 0x6c347820,\n\t0x1af9c: 0x6c347a20, 0x1af9d: 0x6c4ad020, 0x1af9e: 0x6c13ca20, 0x1af9f: 0x6d0f8e20,\n\t0x1afa0: 0x6d1a3820, 0x1afa1: 0x6c37fe20, 0x1afa2: 0x6c469a20, 0x1afa3: 0x6d254420,\n\t0x1afa4: 0x6c2e6a20, 0x1afa5: 0x6d007620, 0x1afa6: 0x6c78fa20, 0x1afa7: 0x6cce3220,\n\t0x1afa8: 0x6cd43e20, 0x1afa9: 0x6c35ec20, 0x1afaa: 0x6c0e4020, 0x1afab: 0x6c2d4020,\n\t0x1afac: 0x6c530c20, 0x1afad: 0x6d0ad820, 0x1afae: 0x6c7ad620, 0x1afaf: 0x6c26f820,\n\t0x1afb0: 0x6c762020, 0x1afb1: 0x6c295a20, 0x1afb2: 0x6c764a20, 0x1afb3: 0x6c4f9e20,\n\t0x1afb4: 0x6ca4dc20, 0x1afb5: 0x6c017820, 0x1afb6: 0x6d036c20, 0x1afb7: 0x6cfc9c20,\n\t0x1afb8: 0x6d260820, 0x1afb9: 0x6c051a20, 0x1afba: 0x6c3d5a20, 0x1afbb: 0x6c03ae20,\n\t0x1afbc: 0x6d172020, 0x1afbd: 0x6d1b4220, 0x1afbe: 0x6c4e9220, 0x1afbf: 0x6d06a020,\n\t// Block 0x6bf, offset 0x1afc0\n\t0x1afc0: 0x6c20c420, 0x1afc1: 0x6cbd6220, 0x1afc2: 0x6c44f420, 0x1afc3: 0x6c001c20,\n\t0x1afc4: 0x6c081620, 0x1afc5: 0x6c39aa20, 0x1afc6: 0x6cc3a820, 0x1afc7: 0x6d1e2020,\n\t0x1afc8: 0x6c75a020, 0x1afc9: 0x6c633e20, 0x1afca: 0x6c2c2a20, 0x1afcb: 0x6c96fa20,\n\t0x1afcc: 0x6c811420, 0x1afcd: 0x6c731820, 0x1afce: 0x6c19c620, 0x1afcf: 0x6ccccc20,\n\t0x1afd0: 0x6c6c3c20, 0x1afd1: 0x6d303020, 0x1afd2: 0x6c8ae420, 0x1afd3: 0x6c8ae620,\n\t0x1afd4: 0x6c107e20, 0x1afd5: 0x6c19d820, 0x1afd6: 0x6c57d820, 0x1afd7: 0x6c108020,\n\t0x1afd8: 0x6cd25a20, 0x1afd9: 0x6d099420, 0x1afda: 0x6c4c1820, 0x1afdb: 0x6c6eda20,\n\t0x1afdc: 0x6d12a820, 0x1afdd: 0x6ca76020, 0x1afde: 0x6c2bee20, 0x1afdf: 0x6d230420,\n\t0x1afe0: 0x6c109220, 0x1afe1: 0x6d0ae820, 0x1afe2: 0x6cc2d420, 0x1afe3: 0x6cdc3420,\n\t0x1afe4: 0x6cafdc20, 0x1afe5: 0x6cbe4020, 0x1afe6: 0x6cecfe20, 0x1afe7: 0x6c723820,\n\t0x1afe8: 0x6c951420, 0x1afe9: 0x6d329220, 0x1afea: 0x6c796e20, 0x1afeb: 0x6c1d3820,\n\t0x1afec: 0x6c2fee20, 0x1afed: 0x6c275a20, 0x1afee: 0x6ce09220, 0x1afef: 0x6c018020,\n\t0x1aff0: 0x6c114220, 0x1aff1: 0x6c1f2e20, 0x1aff2: 0x6c081820, 0x1aff3: 0x6c76ce20,\n\t0x1aff4: 0x6d344c20, 0x1aff5: 0x6c348420, 0x1aff6: 0x6d175220, 0x1aff7: 0x6d344e20,\n\t0x1aff8: 0x6d175420, 0x1aff9: 0x6cadd020, 0x1affa: 0x6c5eb420, 0x1affb: 0x6d3cdc20,\n\t0x1affc: 0x6cb5b820, 0x1affd: 0x6ccaee20, 0x1affe: 0x6c723a20, 0x1afff: 0x6ca5d420,\n\t// Block 0x6c0, offset 0x1b000\n\t0x1b000: 0x6c7a3a20, 0x1b001: 0x6c78a020, 0x1b002: 0x6ce0ec20, 0x1b003: 0x6c7d5020,\n\t0x1b004: 0x6ca69620, 0x1b005: 0x6c648220, 0x1b006: 0x6c32fa20, 0x1b007: 0x6c6c8e20,\n\t0x1b008: 0x6c427620, 0x1b009: 0x6d230620, 0x1b00a: 0x6c360c20, 0x1b00b: 0x6cae9820,\n\t0x1b00c: 0x6c480820, 0x1b00d: 0x6ce92220, 0x1b00e: 0x6c839420, 0x1b00f: 0x6c39ea20,\n\t0x1b010: 0x6d0b2420, 0x1b011: 0x6cba4c20, 0x1b012: 0x6c7ddc20, 0x1b013: 0x6c01b620,\n\t0x1b014: 0x6cd0ca20, 0x1b015: 0x6c34e620, 0x1b016: 0x6ca4f220, 0x1b017: 0x6ce85c20,\n\t0x1b018: 0x6c19fa20, 0x1b019: 0x6d19da20, 0x1b01a: 0x6c5cea20, 0x1b01b: 0x6c099420,\n\t0x1b01c: 0x6c88f220, 0x1b01d: 0x6c4c1c20, 0x1b01e: 0x6c2e9a20, 0x1b01f: 0x6d3bc420,\n\t0x1b020: 0x6c547020, 0x1b021: 0x6c05fa20, 0x1b022: 0x6c05fc20, 0x1b023: 0x6d211420,\n\t0x1b024: 0x6c2b2e20, 0x1b025: 0x6c98e220, 0x1b026: 0x6c6a0c20, 0x1b027: 0x6cc83c20,\n\t0x1b028: 0x6d12ec20, 0x1b029: 0x6c452e20, 0x1b02a: 0x6c76aa20, 0x1b02b: 0x6d3f8020,\n\t0x1b02c: 0x6d211620, 0x1b02d: 0x6c59bc20, 0x1b02e: 0x6c362c20, 0x1b02f: 0x6d10f620,\n\t0x1b030: 0x6d0e6c20, 0x1b031: 0x6c064c20, 0x1b032: 0x6c223620, 0x1b033: 0x6c99f620,\n\t0x1b034: 0x6c16ec20, 0x1b035: 0x6c321420, 0x1b036: 0x6ceb1c20, 0x1b037: 0x6d1b5020,\n\t0x1b038: 0x6c3ca620, 0x1b039: 0x6d382820, 0x1b03a: 0x6c6be820, 0x1b03b: 0x6c6c4420,\n\t0x1b03c: 0x6c528820, 0x1b03d: 0x6c428620, 0x1b03e: 0x6c210620, 0x1b03f: 0x6c658e20,\n\t// Block 0x6c1, offset 0x1b040\n\t0x1b040: 0x6cb2ec20, 0x1b041: 0x6c836a20, 0x1b042: 0x6cfe3220, 0x1b043: 0x6c599220,\n\t0x1b044: 0x6c837620, 0x1b045: 0x6c32c020, 0x1b046: 0x6cec8e20, 0x1b047: 0x6d079220,\n\t0x1b048: 0x6c61fe20, 0x1b049: 0x6c604a20, 0x1b04a: 0x6c7b2420, 0x1b04b: 0x6d1c7c20,\n\t0x1b04c: 0x6cddee20, 0x1b04d: 0x6c1a1620, 0x1b04e: 0x6d1e4220, 0x1b04f: 0x6c765c20,\n\t0x1b050: 0x6cdac020, 0x1b051: 0x6cdac220, 0x1b052: 0x6cd26e20, 0x1b053: 0x6c9d4e20,\n\t0x1b054: 0x6cde0820, 0x1b055: 0x6cf24e20, 0x1b056: 0x6c1a1820, 0x1b057: 0x6ce8b820,\n\t0x1b058: 0x6ce0fe20, 0x1b059: 0x6cc3c820, 0x1b05a: 0x6d37f420, 0x1b05b: 0x6c862a20,\n\t0x1b05c: 0x6d37f620, 0x1b05d: 0x6c057620, 0x1b05e: 0x6cc9c620, 0x1b05f: 0x6d2a0620,\n\t0x1b060: 0x6c330020, 0x1b061: 0x6ce4a820, 0x1b062: 0x6cf4f820, 0x1b063: 0x6d335020,\n\t0x1b064: 0x6d099c20, 0x1b065: 0x6c440420, 0x1b066: 0x6d324020, 0x1b067: 0x6c00a420,\n\t0x1b068: 0x6c459020, 0x1b069: 0x6d0ca620, 0x1b06a: 0x6c76da20, 0x1b06b: 0x6ce4aa20,\n\t0x1b06c: 0x6d257820, 0x1b06d: 0x6cf14e20, 0x1b06e: 0x6d01be20, 0x1b06f: 0x6c8f3220,\n\t0x1b070: 0x6c4d8c20, 0x1b071: 0x6c810220, 0x1b072: 0x6c16b620, 0x1b073: 0x6caea820,\n\t0x1b074: 0x6c084820, 0x1b075: 0x6c18da20, 0x1b076: 0x6c927820, 0x1b077: 0x6c91c620,\n\t0x1b078: 0x6cab3c20, 0x1b079: 0x6cba6220, 0x1b07a: 0x6c9a1620, 0x1b07b: 0x6ca12620,\n\t0x1b07c: 0x6d3b8220, 0x1b07d: 0x6cd6d420, 0x1b07e: 0x6cd52e20, 0x1b07f: 0x6c90e820,\n\t// Block 0x6c2, offset 0x1b080\n\t0x1b080: 0x6c1b4620, 0x1b081: 0x6c97e220, 0x1b082: 0x6c0c0620, 0x1b083: 0x6c6e9420,\n\t0x1b084: 0x6c130020, 0x1b085: 0x6cd5ee20, 0x1b086: 0x6d367a20, 0x1b087: 0x6d2ec020,\n\t0x1b088: 0x6c770a20, 0x1b089: 0x6d1d9620, 0x1b08a: 0x6c2d6e20, 0x1b08b: 0x6c190820,\n\t0x1b08c: 0x6d347c20, 0x1b08d: 0x6cf8ac20, 0x1b08e: 0x6c4c2420, 0x1b08f: 0x6cbb4620,\n\t0x1b090: 0x6c6d2220, 0x1b091: 0x6c2c7a20, 0x1b092: 0x6cce0a20, 0x1b093: 0x6ca29020,\n\t0x1b094: 0x6c24d220, 0x1b095: 0x6d0e9220, 0x1b096: 0x6cde1020, 0x1b097: 0x6d2b8220,\n\t0x1b098: 0x6cb9ac20, 0x1b099: 0x6cbb1020, 0x1b09a: 0x6c895e20, 0x1b09b: 0x6cf14220,\n\t0x1b09c: 0x6d3c9a20, 0x1b09d: 0x6cbb9820, 0x1b09e: 0x6d2b8620, 0x1b09f: 0x6d05ba20,\n\t0x1b0a0: 0x6ccd9a20, 0x1b0a1: 0x6ccd9c20, 0x1b0a2: 0x6c038e20, 0x1b0a3: 0x6cb44820,\n\t0x1b0a4: 0x6c7b3220, 0x1b0a5: 0x6c303220, 0x1b0a6: 0x6c38b020, 0x1b0a7: 0x6cc3e820,\n\t0x1b0a8: 0x6ca16020, 0x1b0a9: 0x6c33a020, 0x1b0aa: 0x6c33a220, 0x1b0ab: 0x6d41ea20,\n\t0x1b0ac: 0x6c2c7c20, 0x1b0ad: 0x6cd17220, 0x1b0ae: 0x6c350820, 0x1b0af: 0x6c350e20,\n\t0x1b0b0: 0x6cdffc20, 0x1b0b1: 0x6c2ae020, 0x1b0b2: 0x6ca21820, 0x1b0b3: 0x6c3b8420,\n\t0x1b0b4: 0x6c59d820, 0x1b0b5: 0x6cdffe20, 0x1b0b6: 0x6c26fe20, 0x1b0b7: 0x6d12fa20,\n\t0x1b0b8: 0x6d3b5220, 0x1b0b9: 0x6c673a20, 0x1b0ba: 0x6c02e420, 0x1b0bb: 0x6cbb1e20,\n\t0x1b0bc: 0x6c5f2c20, 0x1b0bd: 0x6cbba220, 0x1b0be: 0x6c790a20, 0x1b0bf: 0x6d188420,\n\t// Block 0x6c3, offset 0x1b0c0\n\t0x1b0c0: 0x6cb01a20, 0x1b0c1: 0x6c0a4420, 0x1b0c2: 0x6c2d7c20, 0x1b0c3: 0x6c677820,\n\t0x1b0c4: 0x6d12b420, 0x1b0c5: 0x6d1dae20, 0x1b0c6: 0x6d091620, 0x1b0c7: 0x6ce00c20,\n\t0x1b0c8: 0x6c803820, 0x1b0c9: 0x6c728820, 0x1b0ca: 0x6c581420, 0x1b0cb: 0x6c298e20,\n\t0x1b0cc: 0x6cc50220, 0x1b0cd: 0x6cba8020, 0x1b0ce: 0x6d09ae20, 0x1b0cf: 0x6cfd1820,\n\t0x1b0d0: 0x6cf81620, 0x1b0d1: 0x6c51ee20, 0x1b0d2: 0x6c00c620, 0x1b0d3: 0x6d0b0020,\n\t0x1b0d4: 0x6c29ee20, 0x1b0d5: 0x6c4fee20, 0x1b0d6: 0x6cc84a20, 0x1b0d7: 0x6c6d8220,\n\t0x1b0d8: 0x6c82e220, 0x1b0d9: 0x6c7c0620, 0x1b0da: 0x6c916a20, 0x1b0db: 0x6d0cea20,\n\t0x1b0dc: 0x6ce03020, 0x1b0dd: 0x6cf03820, 0x1b0de: 0x6c581820, 0x1b0df: 0x6c903e20,\n\t0x1b0e0: 0x6c904020, 0x1b0e1: 0x6cc8ec20, 0x1b0e2: 0x6c86ea20, 0x1b0e3: 0x6c8bfe20,\n\t0x1b0e4: 0x6cc50620, 0x1b0e5: 0x6c165c20, 0x1b0e6: 0x6d09c420, 0x1b0e7: 0x6d0d0c20,\n\t0x1b0e8: 0x6c829620, 0x1b0e9: 0x6c03da20, 0x1b0ea: 0x6ceca620, 0x1b0eb: 0x6cd2e220,\n\t0x1b0ec: 0x6cc56020, 0x1b0ed: 0x6cca6220, 0x1b0ee: 0x6d3c2c20, 0x1b0ef: 0x6d3c2e20,\n\t0x1b0f0: 0x6cd0dc20, 0x1b0f1: 0x6d13c620, 0x1b0f2: 0x6c972420, 0x1b0f3: 0x6c784a20,\n\t0x1b0f4: 0x6d3aba20, 0x1b0f5: 0x6d3c3620, 0x1b0f6: 0x6c553020, 0x1b0f7: 0x6c554020,\n\t0x1b0f8: 0x6c7da620, 0x1b0f9: 0x6d13ee20, 0x1b0fa: 0x6c555420, 0x1b0fb: 0x6d06d020,\n\t0x1b0fc: 0x6c7db220, 0x1b0fd: 0x6cd46e20, 0x1b0fe: 0x6c989420, 0x1b0ff: 0x6d41ec20,\n\t// Block 0x6c4, offset 0x1b100\n\t0x1b100: 0x6cd47020, 0x1b101: 0x6d141220, 0x1b102: 0x6d34ca20, 0x1b103: 0x6c474e20,\n\t0x1b104: 0x6c1f0220, 0x1b105: 0x6c67d220, 0x1b106: 0x6c3c9c20, 0x1b107: 0x6c06e020,\n\t0x1b108: 0x6d2d5820, 0x1b109: 0x6c0b8420, 0x1b10a: 0x6cdba620, 0x1b10b: 0x6cc42e20,\n\t0x1b10c: 0x6c8ca220, 0x1b10d: 0x6c3fc020, 0x1b10e: 0x6c261420, 0x1b10f: 0x6cfa3220,\n\t0x1b110: 0x6d049a20, 0x1b111: 0x6d02a020, 0x1b112: 0x6ca4cc20, 0x1b113: 0x6cfa5a20,\n\t0x1b114: 0x6c7cb420, 0x1b115: 0x6cf55a20, 0x1b116: 0x6cec6820, 0x1b117: 0x6d25f820,\n\t0x1b118: 0x6c992020, 0x1b119: 0x6cda7c20, 0x1b11a: 0x6c341620, 0x1b11b: 0x6c341820,\n\t0x1b11c: 0x6d12ca20, 0x1b11d: 0x6cbe6c20, 0x1b11e: 0x6cec6e20, 0x1b11f: 0x6c46a220,\n\t0x1b120: 0x6c46a420, 0x1b121: 0x6cb78820, 0x1b122: 0x6c9c0420, 0x1b123: 0x6c9c0820,\n\t0x1b124: 0x6d1a8020, 0x1b125: 0x6c5d9420, 0x1b126: 0x6c190c20, 0x1b127: 0x6c26e420,\n\t0x1b128: 0x6d2b3020, 0x1b129: 0x6ce45420, 0x1b12a: 0x6cdf5a20, 0x1b12b: 0x6c40a620,\n\t0x1b12c: 0x6c48e220, 0x1b12d: 0x6d108020, 0x1b12e: 0x6d0f4020, 0x1b12f: 0x6c4f4620,\n\t0x1b130: 0x6c42fa20, 0x1b131: 0x6cd18e20, 0x1b132: 0x6ce1aa20, 0x1b133: 0x6cdf5c20,\n\t0x1b134: 0x6ce7e420, 0x1b135: 0x6d0d3420, 0x1b136: 0x6c08b020, 0x1b137: 0x6d145220,\n\t0x1b138: 0x6c7ab820, 0x1b139: 0x6c631c20, 0x1b13a: 0x6c343a20, 0x1b13b: 0x6c577c20,\n\t0x1b13c: 0x6c7bce20, 0x1b13d: 0x6d27d620, 0x1b13e: 0x6c632020, 0x1b13f: 0x6c031820,\n\t// Block 0x6c5, offset 0x1b140\n\t0x1b140: 0x6c370e20, 0x1b141: 0x6c87ec20, 0x1b142: 0x6c58ee20, 0x1b143: 0x6c2b1220,\n\t0x1b144: 0x6d0d4620, 0x1b145: 0x6cad7e20, 0x1b146: 0x6c733c20, 0x1b147: 0x6cb57c20,\n\t0x1b148: 0x6ca3ac20, 0x1b149: 0x6c3cd820, 0x1b14a: 0x6d007820, 0x1b14b: 0x6c3bcc20,\n\t0x1b14c: 0x6c2d0820, 0x1b14d: 0x6d107820, 0x1b14e: 0x6c7c5e20, 0x1b14f: 0x6d408620,\n\t0x1b150: 0x6c58f820, 0x1b151: 0x6cb75220, 0x1b152: 0x6c762620, 0x1b153: 0x6d2bc820,\n\t0x1b154: 0x6c077c20, 0x1b155: 0x6d16e020, 0x1b156: 0x6c679e20, 0x1b157: 0x6ce26220,\n\t0x1b158: 0x6d29fe20, 0x1b159: 0x6c079820, 0x1b15a: 0x6cf5b420, 0x1b15b: 0x6c5a5020,\n\t0x1b15c: 0x6c3a5020, 0x1b15d: 0x6c2dc020, 0x1b15e: 0x6d0a8620, 0x1b15f: 0x6c07e020,\n\t0x1b160: 0x6c2d5620, 0x1b161: 0x6c02d020, 0x1b162: 0x6cceea20, 0x1b163: 0x6cf24c20,\n\t0x1b164: 0x6c4d0220, 0x1b165: 0x6c02d220, 0x1b166: 0x6cf4fa20, 0x1b167: 0x6c02d420,\n\t0x1b168: 0x6c67ac20, 0x1b169: 0x6c881c20, 0x1b16a: 0x6c345a20, 0x1b16b: 0x6d275e20,\n\t0x1b16c: 0x6c67ae20, 0x1b16d: 0x6cd3c420, 0x1b16e: 0x6c3be620, 0x1b16f: 0x6c5df620,\n\t0x1b170: 0x6c0a8620, 0x1b171: 0x6c944c20, 0x1b172: 0x6c34c620, 0x1b173: 0x6caa6e20,\n\t0x1b174: 0x6caa3a20, 0x1b175: 0x6c2f6820, 0x1b176: 0x6ca38e20, 0x1b177: 0x6cb89620,\n\t0x1b178: 0x6c645c20, 0x1b179: 0x6cddde20, 0x1b17a: 0x6c6fa220, 0x1b17b: 0x6caa8e20,\n\t0x1b17c: 0x6c142820, 0x1b17d: 0x6c500620, 0x1b17e: 0x6cfa7020, 0x1b17f: 0x6c391a20,\n\t// Block 0x6c6, offset 0x1b180\n\t0x1b180: 0x6c611a20, 0x1b181: 0x6cd76e20, 0x1b182: 0x6cc78a20, 0x1b183: 0x6c39f020,\n\t0x1b184: 0x6cee4420, 0x1b185: 0x6c52ec20, 0x1b186: 0x6d3c0620, 0x1b187: 0x6c3fa620,\n\t0x1b188: 0x6c965c20, 0x1b189: 0x6c27b420, 0x1b18a: 0x6cc5be20, 0x1b18b: 0x6c3d3a20,\n\t0x1b18c: 0x6c6e4820, 0x1b18d: 0x6d0c5620, 0x1b18e: 0x6c4d5420, 0x1b18f: 0x6cf1fc20,\n\t0x1b190: 0x6d378e20, 0x1b191: 0x6cabb020, 0x1b192: 0x6c323220, 0x1b193: 0x6c617e20,\n\t0x1b194: 0x6c792820, 0x1b195: 0x6d381220, 0x1b196: 0x6d108a20, 0x1b197: 0x6c6cd420,\n\t0x1b198: 0x6d277e20, 0x1b199: 0x6c9eaa20, 0x1b19a: 0x6c3d1e20, 0x1b19b: 0x6c1ca420,\n\t0x1b19c: 0x6d267a20, 0x1b19d: 0x6d3c0a20, 0x1b19e: 0x6ca96220, 0x1b19f: 0x6d0e3a20,\n\t0x1b1a0: 0x6ca30620, 0x1b1a1: 0x6d02a820, 0x1b1a2: 0x6c3b5220, 0x1b1a3: 0x6c08ba20,\n\t0x1b1a4: 0x6d20ae20, 0x1b1a5: 0x6ceb6e20, 0x1b1a6: 0x6c3c1820, 0x1b1a7: 0x6ced7220,\n\t0x1b1a8: 0x6c39a220, 0x1b1a9: 0x6cf41e20, 0x1b1aa: 0x6d22cc20, 0x1b1ab: 0x6c4a3620,\n\t0x1b1ac: 0x6c323a20, 0x1b1ad: 0x6c036420, 0x1b1ae: 0x6ca5b420, 0x1b1af: 0x6d38cc20,\n\t0x1b1b0: 0x6d3d2c20, 0x1b1b1: 0x6d2f5620, 0x1b1b2: 0x6c267c20, 0x1b1b3: 0x6ca39820,\n\t0x1b1b4: 0x6d25fe20, 0x1b1b5: 0x6ce80820, 0x1b1b6: 0x6cfb2a20, 0x1b1b7: 0x6d343c20,\n\t0x1b1b8: 0x6c353020, 0x1b1b9: 0x6c9a7420, 0x1b1ba: 0x6ca0c620, 0x1b1bb: 0x6cb4d020,\n\t0x1b1bc: 0x6c092a20, 0x1b1bd: 0x6ccfaa20, 0x1b1be: 0x6cbc9420, 0x1b1bf: 0x6c353220,\n\t// Block 0x6c7, offset 0x1b1c0\n\t0x1b1c0: 0x6c50c420, 0x1b1c1: 0x6d062c20, 0x1b1c2: 0x6c37f820, 0x1b1c3: 0x6d328420,\n\t0x1b1c4: 0x6c9f2820, 0x1b1c5: 0x6c04e620, 0x1b1c6: 0x6ca22820, 0x1b1c7: 0x6c3d3e20,\n\t0x1b1c8: 0x6c8ca420, 0x1b1c9: 0x6d3ee220, 0x1b1ca: 0x6d3ee420, 0x1b1cb: 0x6cd2b420,\n\t0x1b1cc: 0x6cc4ac20, 0x1b1cd: 0x6cccc020, 0x1b1ce: 0x6d0f4620, 0x1b1cf: 0x6c975c20,\n\t0x1b1d0: 0x6c6c1620, 0x1b1d1: 0x6c46ee20, 0x1b1d2: 0x6cd88020, 0x1b1d3: 0x6d041420,\n\t0x1b1d4: 0x6cef8e20, 0x1b1d5: 0x6d3e0c20, 0x1b1d6: 0x6c71f620, 0x1b1d7: 0x6cccc220,\n\t0x1b1d8: 0x6cb1e820, 0x1b1d9: 0x6cc5d420, 0x1b1da: 0x6d10d620, 0x1b1db: 0x6c305820,\n\t0x1b1dc: 0x6c674c20, 0x1b1dd: 0x6cd4b020, 0x1b1de: 0x6c5ff020, 0x1b1df: 0x6c40e620,\n\t0x1b1e0: 0x6cfe1c20, 0x1b1e1: 0x6c572a20, 0x1b1e2: 0x6c72da20, 0x1b1e3: 0x6c682c20,\n\t0x1b1e4: 0x6c469c20, 0x1b1e5: 0x6c81a220, 0x1b1e6: 0x6c647420, 0x1b1e7: 0x6c647620,\n\t0x1b1e8: 0x6d148c20, 0x1b1e9: 0x6ca75c20, 0x1b1ea: 0x6d344220, 0x1b1eb: 0x6c5e9820,\n\t0x1b1ec: 0x6c5ea220, 0x1b1ed: 0x6cfc8a20, 0x1b1ee: 0x6c525620, 0x1b1ef: 0x6c49de20,\n\t0x1b1f0: 0x6c756020, 0x1b1f1: 0x6c7ac020, 0x1b1f2: 0x6d0e4420, 0x1b1f3: 0x6ca02c20,\n\t0x1b1f4: 0x6c8ad020, 0x1b1f5: 0x6cae0a20, 0x1b1f6: 0x6c35ee20, 0x1b1f7: 0x6d202220,\n\t0x1b1f8: 0x6d0c6e20, 0x1b1f9: 0x6c143420, 0x1b1fa: 0x6ccfb820, 0x1b1fb: 0x6d19ae20,\n\t0x1b1fc: 0x6cd24e20, 0x1b1fd: 0x6c4ad220, 0x1b1fe: 0x6cc2be20, 0x1b1ff: 0x6d3e0e20,\n\t// Block 0x6c8, offset 0x1b200\n\t0x1b200: 0x6cd90820, 0x1b201: 0x6cee6820, 0x1b202: 0x6c530e20, 0x1b203: 0x6cec0420,\n\t0x1b204: 0x6c907e20, 0x1b205: 0x6d0b8420, 0x1b206: 0x6cc52020, 0x1b207: 0x6c682e20,\n\t0x1b208: 0x6c942e20, 0x1b209: 0x6cb24e20, 0x1b20a: 0x6cfc9e20, 0x1b20b: 0x6cced020,\n\t0x1b20c: 0x6c850820, 0x1b20d: 0x6c19c820, 0x1b20e: 0x6d017a20, 0x1b20f: 0x6c984a20,\n\t0x1b210: 0x6c3d5c20, 0x1b211: 0x6cdd1020, 0x1b212: 0x6c99e420, 0x1b213: 0x6cef9c20,\n\t0x1b214: 0x6c789420, 0x1b215: 0x6c21ae20, 0x1b216: 0x6c21b020, 0x1b217: 0x6ce6b820,\n\t0x1b218: 0x6ca78820, 0x1b219: 0x6d03da20, 0x1b21a: 0x6ca3ee20, 0x1b21b: 0x6d20ec20,\n\t0x1b21c: 0x6ca31a20, 0x1b21d: 0x6cb3c820, 0x1b21e: 0x6ca56820, 0x1b21f: 0x6c72e220,\n\t0x1b220: 0x6ccfc620, 0x1b221: 0x6d35ae20, 0x1b222: 0x6c4df020, 0x1b223: 0x6c2c2c20,\n\t0x1b224: 0x6d3c1020, 0x1b225: 0x6c355220, 0x1b226: 0x6cb20820, 0x1b227: 0x6ce9f820,\n\t0x1b228: 0x6cfca020, 0x1b229: 0x6c9e1020, 0x1b22a: 0x6cf3ae20, 0x1b22b: 0x6d0c7020,\n\t0x1b22c: 0x6cf44220, 0x1b22d: 0x6c001e20, 0x1b22e: 0x6d0c7c20, 0x1b22f: 0x6d20ee20,\n\t0x1b230: 0x6cd89a20, 0x1b231: 0x6d20f020, 0x1b232: 0x6cebd020, 0x1b233: 0x6c87de20,\n\t0x1b234: 0x6cfb3a20, 0x1b235: 0x6c707c20, 0x1b236: 0x6cc24220, 0x1b237: 0x6d3c8020,\n\t0x1b238: 0x6cb4e220, 0x1b239: 0x6cfb4020, 0x1b23a: 0x6d3d4820, 0x1b23b: 0x6c2ff020,\n\t0x1b23c: 0x6c166420, 0x1b23d: 0x6c923420, 0x1b23e: 0x6c006420, 0x1b23f: 0x6c353620,\n\t// Block 0x6c9, offset 0x1b240\n\t0x1b240: 0x6c353820, 0x1b241: 0x6c908620, 0x1b242: 0x6c9dbe20, 0x1b243: 0x6c239020,\n\t0x1b244: 0x6cb3f020, 0x1b245: 0x6c710e20, 0x1b246: 0x6cb32820, 0x1b247: 0x6c10f620,\n\t0x1b248: 0x6c8cde20, 0x1b249: 0x6ced0020, 0x1b24a: 0x6c0c7220, 0x1b24b: 0x6cfeb020,\n\t0x1b24c: 0x6cd52620, 0x1b24d: 0x6cb6f020, 0x1b24e: 0x6c5ab020, 0x1b24f: 0x6c394020,\n\t0x1b250: 0x6cf2b220, 0x1b251: 0x6cc89820, 0x1b252: 0x6cdfda20, 0x1b253: 0x6c39f820,\n\t0x1b254: 0x6c3b0420, 0x1b255: 0x6c6aae20, 0x1b256: 0x6ce46020, 0x1b257: 0x6ca5d620,\n\t0x1b258: 0x6cc2d820, 0x1b259: 0x6c6e5820, 0x1b25a: 0x6c5cbc20, 0x1b25b: 0x6c6da420,\n\t0x1b25c: 0x6cb8d220, 0x1b25d: 0x6c2d4c20, 0x1b25e: 0x6d042620, 0x1b25f: 0x6c568a20,\n\t0x1b260: 0x6cec8820, 0x1b261: 0x6c7ef220, 0x1b262: 0x6c097420, 0x1b263: 0x6d19dc20,\n\t0x1b264: 0x6c1d6820, 0x1b265: 0x6ca52e20, 0x1b266: 0x6c3fe420, 0x1b267: 0x6c6e6e20,\n\t0x1b268: 0x6c94ec20, 0x1b269: 0x6c01b820, 0x1b26a: 0x6c7f9420, 0x1b26b: 0x6c7d5220,\n\t0x1b26c: 0x6d1a5220, 0x1b26d: 0x6d0b9220, 0x1b26e: 0x6c707e20, 0x1b26f: 0x6c85e820,\n\t0x1b270: 0x6c2d1220, 0x1b271: 0x6cfb4220, 0x1b272: 0x6c57da20, 0x1b273: 0x6c579220,\n\t0x1b274: 0x6d1bac20, 0x1b275: 0x6c14ee20, 0x1b276: 0x6cd05a20, 0x1b277: 0x6ce66e20,\n\t0x1b278: 0x6c296420, 0x1b279: 0x6d11ac20, 0x1b27a: 0x6cf4e620, 0x1b27b: 0x6ca44820,\n\t0x1b27c: 0x6c21b220, 0x1b27d: 0x6c641420, 0x1b27e: 0x6ce7d820, 0x1b27f: 0x6d06d220,\n\t// Block 0x6ca, offset 0x1b280\n\t0x1b280: 0x6d233020, 0x1b281: 0x6cef0a20, 0x1b282: 0x6c2c5420, 0x1b283: 0x6cc74820,\n\t0x1b284: 0x6c9a5620, 0x1b285: 0x6c27de20, 0x1b286: 0x6cc86220, 0x1b287: 0x6cbd2c20,\n\t0x1b288: 0x6c5ab220, 0x1b289: 0x6cf2ea20, 0x1b28a: 0x6cb99420, 0x1b28b: 0x6c210820,\n\t0x1b28c: 0x6c9e7420, 0x1b28d: 0x6c3fec20, 0x1b28e: 0x6c6b9620, 0x1b28f: 0x6c329820,\n\t0x1b290: 0x6d151420, 0x1b291: 0x6d382a20, 0x1b292: 0x6c99f820, 0x1b293: 0x6c59be20,\n\t0x1b294: 0x6c9dc220, 0x1b295: 0x6c013020, 0x1b296: 0x6d1bae20, 0x1b297: 0x6d079420,\n\t0x1b298: 0x6c6a0e20, 0x1b299: 0x6cee8220, 0x1b29a: 0x6c9a8e20, 0x1b29b: 0x6d261620,\n\t0x1b29c: 0x6d32c220, 0x1b29d: 0x6cbfae20, 0x1b29e: 0x6cd37a20, 0x1b29f: 0x6d01a820,\n\t0x1b2a0: 0x6ceb7c20, 0x1b2a1: 0x6c88f620, 0x1b2a2: 0x6c997820, 0x1b2a3: 0x6cc4c420,\n\t0x1b2a4: 0x6cd7e620, 0x1b2a5: 0x6cb0f220, 0x1b2a6: 0x6cf08e20, 0x1b2a7: 0x6cebd820,\n\t0x1b2a8: 0x6c6ff420, 0x1b2a9: 0x6c555620, 0x1b2aa: 0x6c02a620, 0x1b2ab: 0x6cbd1420,\n\t0x1b2ac: 0x6c05fe20, 0x1b2ad: 0x6d059220, 0x1b2ae: 0x6ce7da20, 0x1b2af: 0x6c4a6420,\n\t0x1b2b0: 0x6c1e8a20, 0x1b2b1: 0x6d110620, 0x1b2b2: 0x6cb09e20, 0x1b2b3: 0x6cf78420,\n\t0x1b2b4: 0x6d257a20, 0x1b2b5: 0x6d1d4020, 0x1b2b6: 0x6cc67020, 0x1b2b7: 0x6cc81a20,\n\t0x1b2b8: 0x6c1ab620, 0x1b2b9: 0x6c8e6620, 0x1b2ba: 0x6c9a5e20, 0x1b2bb: 0x6cac5c20,\n\t0x1b2bc: 0x6c02a820, 0x1b2bd: 0x6c966020, 0x1b2be: 0x6c46ae20, 0x1b2bf: 0x6c7cf620,\n\t// Block 0x6cb, offset 0x1b2c0\n\t0x1b2c0: 0x6cbd8020, 0x1b2c1: 0x6c644820, 0x1b2c2: 0x6ccae420, 0x1b2c3: 0x6d315e20,\n\t0x1b2c4: 0x6d257c20, 0x1b2c5: 0x6c6a1020, 0x1b2c6: 0x6cc68020, 0x1b2c7: 0x6ca00420,\n\t0x1b2c8: 0x6d1bc220, 0x1b2c9: 0x6c604c20, 0x1b2ca: 0x6cdac820, 0x1b2cb: 0x6ca79c20,\n\t0x1b2cc: 0x6cfb6c20, 0x1b2cd: 0x6ce1ce20, 0x1b2ce: 0x6cad0020, 0x1b2cf: 0x6c80b220,\n\t0x1b2d0: 0x6ca4fc20, 0x1b2d1: 0x6c05ca20, 0x1b2d2: 0x6c00a620, 0x1b2d3: 0x6cb0a020,\n\t0x1b2d4: 0x6cb20e20, 0x1b2d5: 0x6d182020, 0x1b2d6: 0x6cb17e20, 0x1b2d7: 0x6d238a20,\n\t0x1b2d8: 0x6c824220, 0x1b2d9: 0x6d081820, 0x1b2da: 0x6c975820, 0x1b2db: 0x6d140020,\n\t0x1b2dc: 0x6d2ec220, 0x1b2dd: 0x6c773820, 0x1b2de: 0x6d1d9820, 0x1b2df: 0x6ca6a820,\n\t0x1b2e0: 0x6c840e20, 0x1b2e1: 0x6c2b7a20, 0x1b2e2: 0x6c4a7820, 0x1b2e3: 0x6d0c1a20,\n\t0x1b2e4: 0x6c6c9c20, 0x1b2e5: 0x6d3b8420, 0x1b2e6: 0x6c16b820, 0x1b2e7: 0x6d2ada20,\n\t0x1b2e8: 0x6c4dac20, 0x1b2e9: 0x6ca59c20, 0x1b2ea: 0x6c81d820, 0x1b2eb: 0x6ca05c20,\n\t0x1b2ec: 0x6d300220, 0x1b2ed: 0x6c56ae20, 0x1b2ee: 0x6c56b020, 0x1b2ef: 0x6c02d620,\n\t0x1b2f0: 0x6ca59e20, 0x1b2f1: 0x6cbb1220, 0x1b2f2: 0x6c96f620, 0x1b2f3: 0x6cb1e420,\n\t0x1b2f4: 0x6c472a20, 0x1b2f5: 0x6cf46020, 0x1b2f6: 0x6cbbea20, 0x1b2f7: 0x6ceb8820,\n\t0x1b2f8: 0x6d2e1020, 0x1b2f9: 0x6c98f020, 0x1b2fa: 0x6cfb7820, 0x1b2fb: 0x6cfb7a20,\n\t0x1b2fc: 0x6ca14a20, 0x1b2fd: 0x6c8a0420, 0x1b2fe: 0x6c883020, 0x1b2ff: 0x6c57b820,\n\t// Block 0x6cc, offset 0x1b300\n\t0x1b300: 0x6c4a8420, 0x1b301: 0x6c2aa620, 0x1b302: 0x6d348c20, 0x1b303: 0x6d05ce20,\n\t0x1b304: 0x6d140a20, 0x1b305: 0x6c579c20, 0x1b306: 0x6cf69220, 0x1b307: 0x6c7d0a20,\n\t0x1b308: 0x6cc52820, 0x1b309: 0x6cf69420, 0x1b30a: 0x6d0ea020, 0x1b30b: 0x6c151820,\n\t0x1b30c: 0x6c686420, 0x1b30d: 0x6c9a6620, 0x1b30e: 0x6c396820, 0x1b30f: 0x6c385620,\n\t0x1b310: 0x6cfad420, 0x1b311: 0x6d188620, 0x1b312: 0x6c5c2a20, 0x1b313: 0x6c69c420,\n\t0x1b314: 0x6c405220, 0x1b315: 0x6cd3d820, 0x1b316: 0x6c0a4620, 0x1b317: 0x6ccda420,\n\t0x1b318: 0x6cdc5a20, 0x1b319: 0x6cbb2020, 0x1b31a: 0x6c88c820, 0x1b31b: 0x6c589420,\n\t0x1b31c: 0x6d02ec20, 0x1b31d: 0x6ca7aa20, 0x1b31e: 0x6c303420, 0x1b31f: 0x6d188820,\n\t0x1b320: 0x6c117020, 0x1b321: 0x6c00c820, 0x1b322: 0x6ca77820, 0x1b323: 0x6ca92220,\n\t0x1b324: 0x6c966420, 0x1b325: 0x6ce5ce20, 0x1b326: 0x6c1de220, 0x1b327: 0x6c6d5820,\n\t0x1b328: 0x6c226820, 0x1b329: 0x6d219e20, 0x1b32a: 0x6cb21620, 0x1b32b: 0x6cc6be20,\n\t0x1b32c: 0x6cc7ce20, 0x1b32d: 0x6ca3a820, 0x1b32e: 0x6d0c3220, 0x1b32f: 0x6cdf4620,\n\t0x1b330: 0x6d1bfc20, 0x1b331: 0x6c11b620, 0x1b332: 0x6ca7b220, 0x1b333: 0x6d26ea20,\n\t0x1b334: 0x6d1c9620, 0x1b335: 0x6c9dd620, 0x1b336: 0x6c0ae620, 0x1b337: 0x6c966620,\n\t0x1b338: 0x6cd08020, 0x1b339: 0x6d043e20, 0x1b33a: 0x6ca6d420, 0x1b33b: 0x6c31c820,\n\t0x1b33c: 0x6c8f2020, 0x1b33d: 0x6d251c20, 0x1b33e: 0x6c804820, 0x1b33f: 0x6d0ee820,\n\t// Block 0x6cd, offset 0x1b340\n\t0x1b340: 0x6cd6a820, 0x1b341: 0x6c8d8c20, 0x1b342: 0x6c696620, 0x1b343: 0x6ca77a20,\n\t0x1b344: 0x6c804c20, 0x1b345: 0x6cb94420, 0x1b346: 0x6d1c1a20, 0x1b347: 0x6cd6ae20,\n\t0x1b348: 0x6c5c9020, 0x1b349: 0x6cc32620, 0x1b34a: 0x6c9d0a20, 0x1b34b: 0x6c84b820,\n\t0x1b34c: 0x6c944e20, 0x1b34d: 0x6d0d0e20, 0x1b34e: 0x6d3a4020, 0x1b34f: 0x6c805820,\n\t0x1b350: 0x6d3f6820, 0x1b351: 0x6c6a5220, 0x1b352: 0x6c73c420, 0x1b353: 0x6c73c620,\n\t0x1b354: 0x6c799220, 0x1b355: 0x6d281220, 0x1b356: 0x6c965e20, 0x1b357: 0x6d3f2820,\n\t0x1b358: 0x6c25a020, 0x1b359: 0x6cdcca20, 0x1b35a: 0x6c3dd620, 0x1b35b: 0x6c06d620,\n\t0x1b35c: 0x6d3e0020, 0x1b35d: 0x6cffcc20, 0x1b35e: 0x6d031a20, 0x1b35f: 0x6c9bfe20,\n\t0x1b360: 0x6cd88c20, 0x1b361: 0x6cdf0220, 0x1b362: 0x6c05a420, 0x1b363: 0x6c619220,\n\t0x1b364: 0x6c46f020, 0x1b365: 0x6caa3c20, 0x1b366: 0x6d08f820, 0x1b367: 0x6d206a20,\n\t0x1b368: 0x6d3ba220, 0x1b369: 0x6c4d1e20, 0x1b36a: 0x6c943020, 0x1b36b: 0x6cdcd020,\n\t0x1b36c: 0x6ca48e20, 0x1b36d: 0x6c9ec420, 0x1b36e: 0x6c239220, 0x1b36f: 0x6cb8d420,\n\t0x1b370: 0x6cd52820, 0x1b371: 0x6c11f620, 0x1b372: 0x6d0aea20, 0x1b373: 0x6d3e3420,\n\t0x1b374: 0x6ca63e20, 0x1b375: 0x6c3d8820, 0x1b376: 0x6d3e4e20, 0x1b377: 0x6c841020,\n\t0x1b378: 0x6d091820, 0x1b379: 0x6c0ff620, 0x1b37a: 0x6cc7d020, 0x1b37b: 0x6ca38820,\n\t0x1b37c: 0x6ca89020, 0x1b37d: 0x6ca89220, 0x1b37e: 0x6d1c1c20, 0x1b37f: 0x6c945020,\n\t// Block 0x6ce, offset 0x1b380\n\t0x1b380: 0x6c9db620, 0x1b381: 0x6ca8f220, 0x1b382: 0x6cc6ee20, 0x1b383: 0x6cdddc20,\n\t0x1b384: 0x6c4ab820, 0x1b385: 0x6d2d1820, 0x1b386: 0x6cbef820, 0x1b387: 0x6d221620,\n\t0x1b388: 0x6cd43a20, 0x1b389: 0x6c011220, 0x1b38a: 0x6ce83820, 0x1b38b: 0x6cd97e20,\n\t0x1b38c: 0x6cecc020, 0x1b38d: 0x6cc78420, 0x1b38e: 0x6d118220, 0x1b38f: 0x6c52f220,\n\t0x1b390: 0x6d145e20, 0x1b391: 0x6c6e0c20, 0x1b392: 0x6d3cc820, 0x1b393: 0x6c9d2220,\n\t0x1b394: 0x6d3a5820, 0x1b395: 0x6c295620, 0x1b396: 0x6c530020, 0x1b397: 0x6d3f7020,\n\t0x1b398: 0x6c490420, 0x1b399: 0x6d38fe20, 0x1b39a: 0x6c2f9620, 0x1b39b: 0x6cecee20,\n\t0x1b39c: 0x6d198e20, 0x1b39d: 0x6c05e220, 0x1b39e: 0x6cd24220, 0x1b39f: 0x6cd24420,\n\t0x1b3a0: 0x6c1d3620, 0x1b3a1: 0x6cd04620, 0x1b3a2: 0x6c788c20, 0x1b3a3: 0x6d078220,\n\t0x1b3a4: 0x6cd32c20, 0x1b3a5: 0x6d202420, 0x1b3a6: 0x6c58fa20, 0x1b3a7: 0x6d14b820,\n\t0x1b3a8: 0x6ce5b820, 0x1b3a9: 0x6cd2be20, 0x1b3aa: 0x6cfc8c20, 0x1b3ab: 0x6c456e20,\n\t0x1b3ac: 0x6c19ca20, 0x1b3ad: 0x6cc44220, 0x1b3ae: 0x6c457a20, 0x1b3af: 0x6cfe9420,\n\t0x1b3b0: 0x6d291220, 0x1b3b1: 0x6d2cba20, 0x1b3b2: 0x6c05f020, 0x1b3b3: 0x6c4d5e20,\n\t0x1b3b4: 0x6d0e4e20, 0x1b3b5: 0x6cfe9620, 0x1b3b6: 0x6c634020, 0x1b3b7: 0x6cd05020,\n\t0x1b3b8: 0x6c18ae20, 0x1b3b9: 0x6cc66020, 0x1b3ba: 0x6c5a4c20, 0x1b3bb: 0x6c9d3020,\n\t0x1b3bc: 0x6c79e020, 0x1b3bd: 0x6c7b5220, 0x1b3be: 0x6c0d2e20, 0x1b3bf: 0x6cdaa020,\n\t// Block 0x6cf, offset 0x1b3c0\n\t0x1b3c0: 0x6c112420, 0x1b3c1: 0x6d296620, 0x1b3c2: 0x6c61de20, 0x1b3c3: 0x6d24da20,\n\t0x1b3c4: 0x6c61e020, 0x1b3c5: 0x6d1a5420, 0x1b3c6: 0x6c9d3620, 0x1b3c7: 0x6c79e620,\n\t0x1b3c8: 0x6cbe4220, 0x1b3c9: 0x6cc3b420, 0x1b3ca: 0x6d315620, 0x1b3cb: 0x6c668820,\n\t0x1b3cc: 0x6c3fee20, 0x1b3cd: 0x6ca90420, 0x1b3ce: 0x6c0e1e20, 0x1b3cf: 0x6c587420,\n\t0x1b3d0: 0x6c9a9020, 0x1b3d1: 0x6cbdd620, 0x1b3d2: 0x6c4e0c20, 0x1b3d3: 0x6d233220,\n\t0x1b3d4: 0x6cd26620, 0x1b3d5: 0x6ca90620, 0x1b3d6: 0x6c6d1020, 0x1b3d7: 0x6ca90a20,\n\t0x1b3d8: 0x6d365020, 0x1b3d9: 0x6d226820, 0x1b3da: 0x6c060220, 0x1b3db: 0x6c7b5620,\n\t0x1b3dc: 0x6ca90c20, 0x1b3dd: 0x6cbddc20, 0x1b3de: 0x6ca12820, 0x1b3df: 0x6c13f220,\n\t0x1b3e0: 0x6c726020, 0x1b3e1: 0x6c489c20, 0x1b3e2: 0x6cbde220, 0x1b3e3: 0x6c54e420,\n\t0x1b3e4: 0x6cf50a20, 0x1b3e5: 0x6c89f020, 0x1b3e6: 0x6cd27a20, 0x1b3e7: 0x6ca91020,\n\t0x1b3e8: 0x6d2d4620, 0x1b3e9: 0x6cd06820, 0x1b3ea: 0x6ceffc20, 0x1b3eb: 0x6d014820,\n\t0x1b3ec: 0x6c7b5820, 0x1b3ed: 0x6c5c0e20, 0x1b3ee: 0x6c8a0620, 0x1b3ef: 0x6c75e220,\n\t0x1b3f0: 0x6c589620, 0x1b3f1: 0x6d18c020, 0x1b3f2: 0x6d156a20, 0x1b3f3: 0x6c061c20,\n\t0x1b3f4: 0x6cbd4a20, 0x1b3f5: 0x6c1d4620, 0x1b3f6: 0x6c062020, 0x1b3f7: 0x6c3c7c20,\n\t0x1b3f8: 0x6c25b020, 0x1b3f9: 0x6c332c20, 0x1b3fa: 0x6cd87820, 0x1b3fb: 0x6d09d420,\n\t0x1b3fc: 0x6c29ce20, 0x1b3fd: 0x6c93ca20, 0x1b3fe: 0x6c333620, 0x1b3ff: 0x6cd45020,\n\t// Block 0x6d0, offset 0x1b400\n\t0x1b400: 0x6cb34a20, 0x1b401: 0x6c3c2420, 0x1b402: 0x6d3b7420, 0x1b403: 0x6c3d5e20,\n\t0x1b404: 0x6ccf3a20, 0x1b405: 0x6c789620, 0x1b406: 0x6c674e20, 0x1b407: 0x6c675c20,\n\t0x1b408: 0x6d3b7a20, 0x1b409: 0x6cf08420, 0x1b40a: 0x6d41e820, 0x1b40b: 0x6d0a0c20,\n\t0x1b40c: 0x6cd5d220, 0x1b40d: 0x6c335420, 0x1b40e: 0x6c29e820, 0x1b40f: 0x6cffa220,\n\t0x1b410: 0x6c6a5420, 0x1b411: 0x6cceac20, 0x1b412: 0x6c377e20, 0x1b413: 0x6c378020,\n\t0x1b414: 0x6c378220, 0x1b415: 0x6c40d020, 0x1b416: 0x6c645e20, 0x1b417: 0x6cd49a20,\n\t0x1b418: 0x6c189220, 0x1b419: 0x6cce4a20, 0x1b41a: 0x6cce4c20, 0x1b41b: 0x6ca1b420,\n\t0x1b41c: 0x6c40c620, 0x1b41d: 0x6c169e20, 0x1b41e: 0x6c8a9a20, 0x1b41f: 0x6cfc1020,\n\t0x1b420: 0x6cfc1220, 0x1b421: 0x6c7dde20, 0x1b422: 0x6d1edc20, 0x1b423: 0x6cedbc20,\n\t0x1b424: 0x6d1ede20, 0x1b425: 0x6c8a8c20, 0x1b426: 0x6c8a8e20, 0x1b427: 0x6d10ca20,\n\t0x1b428: 0x6c983020, 0x1b429: 0x6cedc620, 0x1b42a: 0x6cedc020, 0x1b42b: 0x6cedc220,\n\t0x1b42c: 0x6c40d420, 0x1b42d: 0x6d10cc20, 0x1b42e: 0x6c34d620, 0x1b42f: 0x6c7cec20,\n\t0x1b430: 0x6d37f020, 0x1b431: 0x6c6ff620, 0x1b432: 0x6c419c20, 0x1b433: 0x6c478820,\n\t0x1b434: 0x6c419e20, 0x1b435: 0x6ce9b420, 0x1b436: 0x6c41b620, 0x1b437: 0x6c41b820,\n\t0x1b438: 0x6cd18a20, 0x1b439: 0x6d1ac220, 0x1b43a: 0x6c1b7020, 0x1b43b: 0x6c779020,\n\t0x1b43c: 0x6ca5b620, 0x1b43d: 0x6c6c8020, 0x1b43e: 0x6cef8620, 0x1b43f: 0x6ca7d020,\n\t// Block 0x6d1, offset 0x1b440\n\t0x1b440: 0x6c70f020, 0x1b441: 0x6cb08620, 0x1b442: 0x6c134e20, 0x1b443: 0x6cf83c20,\n\t0x1b444: 0x6c086c20, 0x1b445: 0x6c705620, 0x1b446: 0x6c6bbe20, 0x1b447: 0x6ce48020,\n\t0x1b448: 0x6cc0dc20, 0x1b449: 0x6ce44c20, 0x1b44a: 0x6c6bc020, 0x1b44b: 0x6cf35620,\n\t0x1b44c: 0x6c2dfa20, 0x1b44d: 0x6cd1a220, 0x1b44e: 0x6cd2c020, 0x1b44f: 0x6cb28020,\n\t0x1b450: 0x6c5ea420, 0x1b451: 0x6d017c20, 0x1b452: 0x6d31c620, 0x1b453: 0x6d017e20,\n\t0x1b454: 0x6ca5ca20, 0x1b455: 0x6d2de020, 0x1b456: 0x6cf5ba20, 0x1b457: 0x6cef9e20,\n\t0x1b458: 0x6c97b420, 0x1b459: 0x6c353a20, 0x1b45a: 0x6c910620, 0x1b45b: 0x6cb29820,\n\t0x1b45c: 0x6ce44e20, 0x1b45d: 0x6c3aa420, 0x1b45e: 0x6cd55820, 0x1b45f: 0x6d01aa20,\n\t0x1b460: 0x6ce8a020, 0x1b461: 0x6c939a20, 0x1b462: 0x6c93a620, 0x1b463: 0x6cf7f820,\n\t0x1b464: 0x6c135420, 0x1b465: 0x6c93ae20, 0x1b466: 0x6c727820, 0x1b467: 0x6d01f620,\n\t0x1b468: 0x6c72a420, 0x1b469: 0x6c73ba20, 0x1b46a: 0x6c8a3020, 0x1b46b: 0x6c74e620,\n\t0x1b46c: 0x6cd58820, 0x1b46d: 0x6cf93a20, 0x1b46e: 0x6c17fa20, 0x1b46f: 0x6cea3620,\n\t0x1b470: 0x6ca67420, 0x1b471: 0x6cccb020, 0x1b472: 0x6cec4820, 0x1b473: 0x6cfa6c20,\n\t0x1b474: 0x6c856820, 0x1b475: 0x6c35c620, 0x1b476: 0x6c2a5420, 0x1b477: 0x6c5ca820,\n\t0x1b478: 0x6c8f6820, 0x1b479: 0x6d165c20, 0x1b47a: 0x6cb6ca20, 0x1b47b: 0x6cc5b020,\n\t0x1b47c: 0x6cf49e20, 0x1b47d: 0x6c4e8020, 0x1b47e: 0x6ccf9c20, 0x1b47f: 0x6d221820,\n\t// Block 0x6d2, offset 0x1b480\n\t0x1b480: 0x6c1e5220, 0x1b481: 0x6cdc1e20, 0x1b482: 0x6cb6cc20, 0x1b483: 0x6cc5b220,\n\t0x1b484: 0x6d267c20, 0x1b485: 0x6c04b820, 0x1b486: 0x6d118420, 0x1b487: 0x6c01f220,\n\t0x1b488: 0x6d0b0e20, 0x1b489: 0x6cf4a620, 0x1b48a: 0x6c6a6e20, 0x1b48b: 0x6c35cc20,\n\t0x1b48c: 0x6c5fc620, 0x1b48d: 0x6cb8a420, 0x1b48e: 0x6c3b5420, 0x1b48f: 0x6cecc420,\n\t0x1b490: 0x6cb57020, 0x1b491: 0x6c132820, 0x1b492: 0x6cb96a20, 0x1b493: 0x6cb57220,\n\t0x1b494: 0x6c142e20, 0x1b495: 0x6c6bb020, 0x1b496: 0x6cc0d020, 0x1b497: 0x6c429820,\n\t0x1b498: 0x6cfc7a20, 0x1b499: 0x6c02c020, 0x1b49a: 0x6c7f8a20, 0x1b49b: 0x6c29d020,\n\t0x1b49c: 0x6c031a20, 0x1b49d: 0x6d427c20, 0x1b49e: 0x6d427e20, 0x1b49f: 0x6d100220,\n\t0x1b4a0: 0x6c71f820, 0x1b4a1: 0x6c425c20, 0x1b4a2: 0x6c785820, 0x1b4a3: 0x6c466e20,\n\t0x1b4a4: 0x6d08fa20, 0x1b4a5: 0x6cb2fa20, 0x1b4a6: 0x6c858a20, 0x1b4a7: 0x6ce56e20,\n\t0x1b4a8: 0x6cc0e020, 0x1b4a9: 0x6d0c6220, 0x1b4aa: 0x6c3de420, 0x1b4ab: 0x6d052e20,\n\t0x1b4ac: 0x6c640020, 0x1b4ad: 0x6c8e0a20, 0x1b4ae: 0x6ceaec20, 0x1b4af: 0x6cafb220,\n\t0x1b4b0: 0x6c02c820, 0x1b4b1: 0x6c273020, 0x1b4b2: 0x6c7be020, 0x1b4b3: 0x6d268620,\n\t0x1b4b4: 0x6cc0e220, 0x1b4b5: 0x6c566220, 0x1b4b6: 0x6cb36620, 0x1b4b7: 0x6c9f2a20,\n\t0x1b4b8: 0x6c01a220, 0x1b4b9: 0x6ce57020, 0x1b4ba: 0x6c8ca620, 0x1b4bb: 0x6c1b0620,\n\t0x1b4bc: 0x6cb2ea20, 0x1b4bd: 0x6c2fde20, 0x1b4be: 0x6c4e8c20, 0x1b4bf: 0x6c7c3420,\n\t// Block 0x6d3, offset 0x1b4c0\n\t0x1b4c0: 0x6d053020, 0x1b4c1: 0x6c992a20, 0x1b4c2: 0x6ce71420, 0x1b4c3: 0x6d08fc20,\n\t0x1b4c4: 0x6d16ae20, 0x1b4c5: 0x6c0be220, 0x1b4c6: 0x6c50d220, 0x1b4c7: 0x6c032c20,\n\t0x1b4c8: 0x6c95e620, 0x1b4c9: 0x6c35f020, 0x1b4ca: 0x6c3fc220, 0x1b4cb: 0x6d09e420,\n\t0x1b4cc: 0x6c2e6c20, 0x1b4cd: 0x6c921e20, 0x1b4ce: 0x6c371e20, 0x1b4cf: 0x6c373c20,\n\t0x1b4d0: 0x6c40e820, 0x1b4d1: 0x6cc28c20, 0x1b4d2: 0x6c305a20, 0x1b4d3: 0x6d149420,\n\t0x1b4d4: 0x6ca22e20, 0x1b4d5: 0x6cd25020, 0x1b4d6: 0x6c011a20, 0x1b4d7: 0x6ceee820,\n\t0x1b4d8: 0x6c586220, 0x1b4d9: 0x6d359620, 0x1b4da: 0x6c9d2c20, 0x1b4db: 0x6c850220,\n\t0x1b4dc: 0x6c61a420, 0x1b4dd: 0x6ce72220, 0x1b4de: 0x6ceeea20, 0x1b4df: 0x6d202620,\n\t0x1b4e0: 0x6c483420, 0x1b4e1: 0x6cf99420, 0x1b4e2: 0x6c850420, 0x1b4e3: 0x6d10d820,\n\t0x1b4e4: 0x6c698620, 0x1b4e5: 0x6d329420, 0x1b4e6: 0x6c943220, 0x1b4e7: 0x6c683020,\n\t0x1b4e8: 0x6c355420, 0x1b4e9: 0x6c355620, 0x1b4ea: 0x6d22ee20, 0x1b4eb: 0x6d007a20,\n\t0x1b4ec: 0x6c100e20, 0x1b4ed: 0x6cbc3620, 0x1b4ee: 0x6cc43420, 0x1b4ef: 0x6c3c3220,\n\t0x1b4f0: 0x6c3c3420, 0x1b4f1: 0x6ca4a220, 0x1b4f2: 0x6c850a20, 0x1b4f3: 0x6d1f1420,\n\t0x1b4f4: 0x6cfca220, 0x1b4f5: 0x6c532820, 0x1b4f6: 0x6c29d220, 0x1b4f7: 0x6ccfc820,\n\t0x1b4f8: 0x6c19cc20, 0x1b4f9: 0x6ce88e20, 0x1b4fa: 0x6c44f620, 0x1b4fb: 0x6c75a220,\n\t0x1b4fc: 0x6c502620, 0x1b4fd: 0x6cf9a020, 0x1b4fe: 0x6d1a4620, 0x1b4ff: 0x6d223a20,\n\t// Block 0x6d4, offset 0x1b500\n\t0x1b500: 0x6c811620, 0x1b501: 0x6c770820, 0x1b502: 0x6c814e20, 0x1b503: 0x6c7ee820,\n\t0x1b504: 0x6cfbf220, 0x1b505: 0x6cc3aa20, 0x1b506: 0x6c797020, 0x1b507: 0x6c1d1020,\n\t0x1b508: 0x6c1d1220, 0x1b509: 0x6cde4620, 0x1b50a: 0x6c8bac20, 0x1b50b: 0x6c578a20,\n\t0x1b50c: 0x6c708420, 0x1b50d: 0x6c7ef420, 0x1b50e: 0x6cb5be20, 0x1b50f: 0x6c9f4420,\n\t0x1b510: 0x6c7d5420, 0x1b511: 0x6c7d5620, 0x1b512: 0x6d40b420, 0x1b513: 0x6c480a20,\n\t0x1b514: 0x6c24c820, 0x1b515: 0x6d0b2620, 0x1b516: 0x6d0b2820, 0x1b517: 0x6c429e20,\n\t0x1b518: 0x6c94ee20, 0x1b519: 0x6c94f020, 0x1b51a: 0x6c837420, 0x1b51b: 0x6c742020,\n\t0x1b51c: 0x6c342820, 0x1b51d: 0x6d32ac20, 0x1b51e: 0x6c4c1e20, 0x1b51f: 0x6d1a5620,\n\t0x1b520: 0x6c2ff220, 0x1b521: 0x6c4dfa20, 0x1b522: 0x6d32ae20, 0x1b523: 0x6cefac20,\n\t0x1b524: 0x6cff7e20, 0x1b525: 0x6cafde20, 0x1b526: 0x6d0bf220, 0x1b527: 0x6cd91420,\n\t0x1b528: 0x6c6ab220, 0x1b529: 0x6c07e220, 0x1b52a: 0x6d40b620, 0x1b52b: 0x6c7a3c20,\n\t0x1b52c: 0x6c2ff420, 0x1b52d: 0x6d2de420, 0x1b52e: 0x6c480c20, 0x1b52f: 0x6d1a5820,\n\t0x1b530: 0x6d3f6a20, 0x1b531: 0x6d2b4e20, 0x1b532: 0x6c59c020, 0x1b533: 0x6d211820,\n\t0x1b534: 0x6cec6220, 0x1b535: 0x6d0fb220, 0x1b536: 0x6c3c4a20, 0x1b537: 0x6cc05c20,\n\t0x1b538: 0x6d0fb420, 0x1b539: 0x6ce32020, 0x1b53a: 0x6d15ec20, 0x1b53b: 0x6d361e20,\n\t0x1b53c: 0x6cd37c20, 0x1b53d: 0x6d291620, 0x1b53e: 0x6d11ae20, 0x1b53f: 0x6c363020,\n\t// Block 0x6d5, offset 0x1b540\n\t0x1b540: 0x6d3af220, 0x1b541: 0x6c76ac20, 0x1b542: 0x6c93dc20, 0x1b543: 0x6d0d7a20,\n\t0x1b544: 0x6c9a5820, 0x1b545: 0x6c4e0e20, 0x1b546: 0x6c5ec820, 0x1b547: 0x6c5eca20,\n\t0x1b548: 0x6c591e20, 0x1b549: 0x6ce67020, 0x1b54a: 0x6cd16a20, 0x1b54b: 0x6c99fa20,\n\t0x1b54c: 0x6cba5220, 0x1b54d: 0x6cf4e820, 0x1b54e: 0x6d211a20, 0x1b54f: 0x6d3f8420,\n\t0x1b550: 0x6c7f9a20, 0x1b551: 0x6c786420, 0x1b552: 0x6d0c9220, 0x1b553: 0x6d0c9420,\n\t0x1b554: 0x6cefbc20, 0x1b555: 0x6d3f8620, 0x1b556: 0x6c13e020, 0x1b557: 0x6cdc3c20,\n\t0x1b558: 0x6cc67220, 0x1b559: 0x6c78ee20, 0x1b55a: 0x6cbd2e20, 0x1b55b: 0x6d211c20,\n\t0x1b55c: 0x6ce45220, 0x1b55d: 0x6c90e220, 0x1b55e: 0x6ce8ba20, 0x1b55f: 0x6c330420,\n\t0x1b560: 0x6cf64220, 0x1b561: 0x6cf25220, 0x1b562: 0x6c123020, 0x1b563: 0x6c296c20,\n\t0x1b564: 0x6cc68220, 0x1b565: 0x6c6ae020, 0x1b566: 0x6c765e20, 0x1b567: 0x6c8e6820,\n\t0x1b568: 0x6cf4fc20, 0x1b569: 0x6cd92420, 0x1b56a: 0x6cbb7c20, 0x1b56b: 0x6d3e3620,\n\t0x1b56c: 0x6cef0c20, 0x1b56d: 0x6c07f620, 0x1b56e: 0x6c2ccc20, 0x1b56f: 0x6c25da20,\n\t0x1b570: 0x6cba1220, 0x1b571: 0x6d1e4420, 0x1b572: 0x6ca83e20, 0x1b573: 0x6c25dc20,\n\t0x1b574: 0x6c614820, 0x1b575: 0x6cd41620, 0x1b576: 0x6cc93c20, 0x1b577: 0x6cd96820,\n\t0x1b578: 0x6d3fa020, 0x1b579: 0x6c67f420, 0x1b57a: 0x6c89f220, 0x1b57b: 0x6c773c20,\n\t0x1b57c: 0x6c15c620, 0x1b57d: 0x6c2ec820, 0x1b57e: 0x6c132420, 0x1b57f: 0x6c2f7820,\n\t// Block 0x6d6, offset 0x1b580\n\t0x1b580: 0x6ce86820, 0x1b581: 0x6c90ec20, 0x1b582: 0x6d2f3a20, 0x1b583: 0x6d2dfe20,\n\t0x1b584: 0x6d2e0020, 0x1b585: 0x6c024e20, 0x1b586: 0x6c127c20, 0x1b587: 0x6cc11e20,\n\t0x1b588: 0x6cbac820, 0x1b589: 0x6c24d620, 0x1b58a: 0x6d418e20, 0x1b58b: 0x6c29e220,\n\t0x1b58c: 0x6c29e420, 0x1b58d: 0x6cf79020, 0x1b58e: 0x6d238c20, 0x1b58f: 0x6cae2620,\n\t0x1b590: 0x6c8f9a20, 0x1b591: 0x6cfe4420, 0x1b592: 0x6c135620, 0x1b593: 0x6c0e8620,\n\t0x1b594: 0x6cbd3c20, 0x1b595: 0x6c686620, 0x1b596: 0x6d0dc620, 0x1b597: 0x6c816a20,\n\t0x1b598: 0x6d2e7420, 0x1b599: 0x6c8bcc20, 0x1b59a: 0x6c8a0820, 0x1b59b: 0x6c8a0a20,\n\t0x1b59c: 0x6c6c5020, 0x1b59d: 0x6c2ae220, 0x1b59e: 0x6c350a20, 0x1b59f: 0x6d41ee20,\n\t0x1b5a0: 0x6c69ba20, 0x1b5a1: 0x6c4b6220, 0x1b5a2: 0x6d113420, 0x1b5a3: 0x6c686820,\n\t0x1b5a4: 0x6d113620, 0x1b5a5: 0x6c748e20, 0x1b5a6: 0x6d2d9620, 0x1b5a7: 0x6d188a20,\n\t0x1b5a8: 0x6d091a20, 0x1b5a9: 0x6ca4be20, 0x1b5aa: 0x6d133820, 0x1b5ab: 0x6d133a20,\n\t0x1b5ac: 0x6d155a20, 0x1b5ad: 0x6ca87020, 0x1b5ae: 0x6cfc2a20, 0x1b5af: 0x6c608220,\n\t0x1b5b0: 0x6d020c20, 0x1b5b1: 0x6c786e20, 0x1b5b2: 0x6cf69820, 0x1b5b3: 0x6c2c9a20,\n\t0x1b5b4: 0x6c02e620, 0x1b5b5: 0x6d419c20, 0x1b5b6: 0x6cf14820, 0x1b5b7: 0x6d156c20,\n\t0x1b5b8: 0x6cc6c020, 0x1b5b9: 0x6c29f020, 0x1b5ba: 0x6c8e1420, 0x1b5bb: 0x6d28cc20,\n\t0x1b5bc: 0x6d228c20, 0x1b5bd: 0x6d26f220, 0x1b5be: 0x6d1b0c20, 0x1b5bf: 0x6cc83820,\n\t// Block 0x6d7, offset 0x1b5c0\n\t0x1b5c0: 0x6c6b5420, 0x1b5c1: 0x6c869c20, 0x1b5c2: 0x6c4a9820, 0x1b5c3: 0x6c8fbe20,\n\t0x1b5c4: 0x6c8fc020, 0x1b5c5: 0x6c2ce420, 0x1b5c6: 0x6cc6d620, 0x1b5c7: 0x6cf72a20,\n\t0x1b5c8: 0x6c718620, 0x1b5c9: 0x6c155020, 0x1b5ca: 0x6d1d2220, 0x1b5cb: 0x6c7c5420,\n\t0x1b5cc: 0x6d0cee20, 0x1b5cd: 0x6ceec820, 0x1b5ce: 0x6ca4d420, 0x1b5cf: 0x6cc32820,\n\t0x1b5d0: 0x6c17ac20, 0x1b5d1: 0x6c24a420, 0x1b5d2: 0x6c945220, 0x1b5d3: 0x6c2cf420,\n\t0x1b5d4: 0x6c2cf620, 0x1b5d5: 0x6ca8e020, 0x1b5d6: 0x6d0d1220, 0x1b5d7: 0x6d0d1020,\n\t0x1b5d8: 0x6d0e2020, 0x1b5d9: 0x6c7cbc20, 0x1b5da: 0x6d0e2220, 0x1b5db: 0x6c1fd620,\n\t0x1b5dc: 0x6c7b0820, 0x1b5dd: 0x6c1fd820, 0x1b5de: 0x6d385020, 0x1b5df: 0x6c597020,\n\t0x1b5e0: 0x6c6d8a20, 0x1b5e1: 0x6d09d820, 0x1b5e2: 0x6c175e20, 0x1b5e3: 0x6c176020,\n\t0x1b5e4: 0x6c8b2620, 0x1b5e5: 0x6c454a20, 0x1b5e6: 0x6d426020, 0x1b5e7: 0x6cbc1a20,\n\t0x1b5e8: 0x6c71e820, 0x1b5e9: 0x6c45ce20, 0x1b5ea: 0x6c71f220, 0x1b5eb: 0x6cf35220,\n\t0x1b5ec: 0x6cb4be20, 0x1b5ed: 0x6cb4c020, 0x1b5ee: 0x6c143620, 0x1b5ef: 0x6cc05e20,\n\t0x1b5f0: 0x6cc08220, 0x1b5f1: 0x6c610e20, 0x1b5f2: 0x6d15ac20, 0x1b5f3: 0x6cd87020,\n\t0x1b5f4: 0x6c03e620, 0x1b5f5: 0x6d338a20, 0x1b5f6: 0x6d2f5820, 0x1b5f7: 0x6cfe1e20,\n\t0x1b5f8: 0x6d14bc20, 0x1b5f9: 0x6c6c8820, 0x1b5fa: 0x6d0a6c20, 0x1b5fb: 0x6c734020,\n\t0x1b5fc: 0x6c033820, 0x1b5fd: 0x6d0a8c20, 0x1b5fe: 0x6c6c1a20, 0x1b5ff: 0x6c3dc620,\n\t// Block 0x6d8, offset 0x1b600\n\t0x1b600: 0x6d287e20, 0x1b601: 0x6c090220, 0x1b602: 0x6cd2f020, 0x1b603: 0x6c105820,\n\t0x1b604: 0x6c2f4620, 0x1b605: 0x6cd66220, 0x1b606: 0x6c384a20, 0x1b607: 0x6ca7ec20,\n\t0x1b608: 0x6cd19020, 0x1b609: 0x6c3b0e20, 0x1b60a: 0x6cabe420, 0x1b60b: 0x6d34e020,\n\t0x1b60c: 0x6cf57a20, 0x1b60d: 0x6c565420, 0x1b60e: 0x6c286420, 0x1b60f: 0x6ceede20,\n\t0x1b610: 0x6d2f2020, 0x1b611: 0x6ce16e20, 0x1b612: 0x6c273220, 0x1b613: 0x6ca0c820,\n\t0x1b614: 0x6cae0620, 0x1b615: 0x6cabe620, 0x1b616: 0x6ce5e820, 0x1b617: 0x6c0e4c20,\n\t0x1b618: 0x6c87f220, 0x1b619: 0x6d358620, 0x1b61a: 0x6d397620, 0x1b61b: 0x6c0eb420,\n\t0x1b61c: 0x6d358820, 0x1b61d: 0x6c2c2620, 0x1b61e: 0x6ca0de20, 0x1b61f: 0x6d16e220,\n\t0x1b620: 0x6d16e420, 0x1b621: 0x6cb28220, 0x1b622: 0x6cb84820, 0x1b623: 0x6c731420,\n\t0x1b624: 0x6cc79220, 0x1b625: 0x6cd66420, 0x1b626: 0x6c274020, 0x1b627: 0x6d334020,\n\t0x1b628: 0x6cd71420, 0x1b629: 0x6cbc3820, 0x1b62a: 0x6d313620, 0x1b62b: 0x6cd1b020,\n\t0x1b62c: 0x6cc44420, 0x1b62d: 0x6cf77020, 0x1b62e: 0x6c051c20, 0x1b62f: 0x6c275020,\n\t0x1b630: 0x6c4a4420, 0x1b631: 0x6c1d9420, 0x1b632: 0x6cb29a20, 0x1b633: 0x6d2f2c20,\n\t0x1b634: 0x6cca4a20, 0x1b635: 0x6cec8a20, 0x1b636: 0x6c275c20, 0x1b637: 0x6ceefc20,\n\t0x1b638: 0x6c16a420, 0x1b639: 0x6ccc4820, 0x1b63a: 0x6cb5c220, 0x1b63b: 0x6d2abe20,\n\t0x1b63c: 0x6c4c6820, 0x1b63d: 0x6c997a20, 0x1b63e: 0x6c321620, 0x1b63f: 0x6c540020,\n\t// Block 0x6d9, offset 0x1b640\n\t0x1b640: 0x6d334c20, 0x1b641: 0x6d059420, 0x1b642: 0x6c9d4420, 0x1b643: 0x6cef0e20,\n\t0x1b644: 0x6cf2ec20, 0x1b645: 0x6c3e7620, 0x1b646: 0x6d179620, 0x1b647: 0x6c052e20,\n\t0x1b648: 0x6cb2a420, 0x1b649: 0x6c2f3a20, 0x1b64a: 0x6c459220, 0x1b64b: 0x6cac5e20,\n\t0x1b64c: 0x6c5a5420, 0x1b64d: 0x6ce1d220, 0x1b64e: 0x6c9d5420, 0x1b64f: 0x6c644a20,\n\t0x1b650: 0x6ce2a020, 0x1b651: 0x6c5ad020, 0x1b652: 0x6d37c020, 0x1b653: 0x6cccfa20,\n\t0x1b654: 0x6c97e620, 0x1b655: 0x6ca29420, 0x1b656: 0x6c0c0820, 0x1b657: 0x6c4c7220,\n\t0x1b658: 0x6d2adc20, 0x1b659: 0x6ca29620, 0x1b65a: 0x6c053420, 0x1b65b: 0x6d2f3c20,\n\t0x1b65c: 0x6c6e2820, 0x1b65d: 0x6c15d220, 0x1b65e: 0x6c3ed620, 0x1b65f: 0x6d36a620,\n\t0x1b660: 0x6c54f420, 0x1b661: 0x6c385820, 0x1b662: 0x6c207620, 0x1b663: 0x6c09f220,\n\t0x1b664: 0x6c0ae220, 0x1b665: 0x6d2f4820, 0x1b666: 0x6c9d8420, 0x1b667: 0x6cbba420,\n\t0x1b668: 0x6c14d820, 0x1b669: 0x6c3b8620, 0x1b66a: 0x6c9b4820, 0x1b66b: 0x6c053e20,\n\t0x1b66c: 0x6c1de420, 0x1b66d: 0x6c9eee20, 0x1b66e: 0x6c1eb820, 0x1b66f: 0x6c6b3220,\n\t0x1b670: 0x6cfc3e20, 0x1b671: 0x6c7fe220, 0x1b672: 0x6c420a20, 0x1b673: 0x6cb26e20,\n\t0x1b674: 0x6ca6f220, 0x1b675: 0x6c646020, 0x1b676: 0x6c0e0420, 0x1b677: 0x6c0e0c20,\n\t0x1b678: 0x6d041620, 0x1b679: 0x6c422620, 0x1b67a: 0x6d107e20, 0x1b67b: 0x6c58ec20,\n\t0x1b67c: 0x6d200c20, 0x1b67d: 0x6d1e9a20, 0x1b67e: 0x6c613e20, 0x1b67f: 0x6c4a0220,\n\t// Block 0x6da, offset 0x1b680\n\t0x1b680: 0x6cb04220, 0x1b681: 0x6ce62420, 0x1b682: 0x6d2b3420, 0x1b683: 0x6c4a0420,\n\t0x1b684: 0x6d3c0820, 0x1b685: 0x6ca1b020, 0x1b686: 0x6cbec220, 0x1b687: 0x6c091c20,\n\t0x1b688: 0x6cbd5220, 0x1b689: 0x6c33d820, 0x1b68a: 0x6c206c20, 0x1b68b: 0x6c4ac220,\n\t0x1b68c: 0x6d0b4820, 0x1b68d: 0x6c043020, 0x1b68e: 0x6c6bb620, 0x1b68f: 0x6d067020,\n\t0x1b690: 0x6c913420, 0x1b691: 0x6cf42020, 0x1b692: 0x6d3c5420, 0x1b693: 0x6c7a8220,\n\t0x1b694: 0x6d1b9e20, 0x1b695: 0x6c2bd620, 0x1b696: 0x6cad4c20, 0x1b697: 0x6c2d3c20,\n\t0x1b698: 0x6d0ad020, 0x1b699: 0x6c9eac20, 0x1b69a: 0x6c44ba20, 0x1b69b: 0x6c22b820,\n\t0x1b69c: 0x6c3f3e20, 0x1b69d: 0x6ce71820, 0x1b69e: 0x6cacf220, 0x1b69f: 0x6c3a8220,\n\t0x1b6a0: 0x6cfdb420, 0x1b6a1: 0x6d15ce20, 0x1b6a2: 0x6d359820, 0x1b6a3: 0x6ce54e20,\n\t0x1b6a4: 0x6d359a20, 0x1b6a5: 0x6d04be20, 0x1b6a6: 0x6c324420, 0x1b6a7: 0x6d428e20,\n\t0x1b6a8: 0x6cfe9c20, 0x1b6a9: 0x6ce89020, 0x1b6aa: 0x6c4ae620, 0x1b6ab: 0x6c7a8820,\n\t0x1b6ac: 0x6c984e20, 0x1b6ad: 0x6ce66420, 0x1b6ae: 0x6d1fb620, 0x1b6af: 0x6c101020,\n\t0x1b6b0: 0x6c0e0e20, 0x1b6b1: 0x6c1a6e20, 0x1b6b2: 0x6c7ef620, 0x1b6b3: 0x6c097620,\n\t0x1b6b4: 0x6c601620, 0x1b6b5: 0x6c012620, 0x1b6b6: 0x6cd5c220, 0x1b6b7: 0x6c772c20,\n\t0x1b6b8: 0x6d1d8420, 0x1b6b9: 0x6ceb7820, 0x1b6ba: 0x6cd91620, 0x1b6bb: 0x6cd5c420,\n\t0x1b6bc: 0x6cbea620, 0x1b6bd: 0x6d233620, 0x1b6be: 0x6d224a20, 0x1b6bf: 0x6c9eb420,\n\t// Block 0x6db, offset 0x1b6c0\n\t0x1b6c0: 0x6cd9ac20, 0x1b6c1: 0x6c12e620, 0x1b6c2: 0x6cfd7220, 0x1b6c3: 0x6c3aaa20,\n\t0x1b6c4: 0x6c6ff820, 0x1b6c5: 0x6c365420, 0x1b6c6: 0x6c4a6620, 0x1b6c7: 0x6c8f3420,\n\t0x1b6c8: 0x6ccc5620, 0x1b6c9: 0x6c881020, 0x1b6ca: 0x6c80b420, 0x1b6cb: 0x6cd9ae20,\n\t0x1b6cc: 0x6d365220, 0x1b6cd: 0x6cb3f620, 0x1b6ce: 0x6cbeac20, 0x1b6cf: 0x6c700e20,\n\t0x1b6d0: 0x6c6ffa20, 0x1b6d1: 0x6c6c9e20, 0x1b6d2: 0x6c025020, 0x1b6d3: 0x6c7e0420,\n\t0x1b6d4: 0x6c90a020, 0x1b6d5: 0x6d1b5e20, 0x1b6d6: 0x6c8a9e20, 0x1b6d7: 0x6c277e20,\n\t0x1b6d8: 0x6c927c20, 0x1b6d9: 0x6d182220, 0x1b6da: 0x6c1ea420, 0x1b6db: 0x6c151a20,\n\t0x1b6dc: 0x6ce8d820, 0x1b6dd: 0x6cd81220, 0x1b6de: 0x6d02e420, 0x1b6df: 0x6c9eb820,\n\t0x1b6e0: 0x6c16f420, 0x1b6e1: 0x6cf46220, 0x1b6e2: 0x6c3ac420, 0x1b6e3: 0x6c4a0820,\n\t0x1b6e4: 0x6c7aa620, 0x1b6e5: 0x6c7b3c20, 0x1b6e6: 0x6c0a4820, 0x1b6e7: 0x6cbb2220,\n\t0x1b6e8: 0x6d021020, 0x1b6e9: 0x6c8c2c20, 0x1b6ea: 0x6c8c2e20, 0x1b6eb: 0x6c8a3220,\n\t0x1b6ec: 0x6c916e20, 0x1b6ed: 0x6c631220, 0x1b6ee: 0x6d1d2420, 0x1b6ef: 0x6cfafa20,\n\t0x1b6f0: 0x6ce65420, 0x1b6f1: 0x6d1dd820, 0x1b6f2: 0x6c84bc20, 0x1b6f3: 0x6ce65820,\n\t0x1b6f4: 0x6d1ac020, 0x1b6f5: 0x6d09d220, 0x1b6f6: 0x6d0c5220, 0x1b6f7: 0x6ce65c20,\n\t0x1b6f8: 0x6c2b5220, 0x1b6f9: 0x6cac1420, 0x1b6fa: 0x6c665420, 0x1b6fb: 0x6c5b1c20,\n\t0x1b6fc: 0x6ca39a20, 0x1b6fd: 0x6c5b2220, 0x1b6fe: 0x6c45cc20, 0x1b6ff: 0x6ca75620,\n\t// Block 0x6dc, offset 0x1b700\n\t0x1b700: 0x6c762420, 0x1b701: 0x6c0b6620, 0x1b702: 0x6d166220, 0x1b703: 0x6cb73620,\n\t0x1b704: 0x6ca9f020, 0x1b705: 0x6c3bc620, 0x1b706: 0x6c71a420, 0x1b707: 0x6d0d5620,\n\t0x1b708: 0x6d16ea20, 0x1b709: 0x6d2a0020, 0x1b70a: 0x6c09f420, 0x1b70b: 0x6d163c20,\n\t0x1b70c: 0x6d13ba20, 0x1b70d: 0x6c37b820, 0x1b70e: 0x6cc9f820, 0x1b70f: 0x6cd2fc20,\n\t0x1b710: 0x6c37ba20, 0x1b711: 0x6cd38020, 0x1b712: 0x6cd39a20, 0x1b713: 0x6c454c20,\n\t0x1b714: 0x6c2e0420, 0x1b715: 0x6d1ac420, 0x1b716: 0x6c563620, 0x1b717: 0x6c3dc820,\n\t0x1b718: 0x6c52ea20, 0x1b719: 0x6cf34420, 0x1b71a: 0x6ce99c20, 0x1b71b: 0x6c1af420,\n\t0x1b71c: 0x6c67d420, 0x1b71d: 0x6c03a820, 0x1b71e: 0x6cd04420, 0x1b71f: 0x6c2c1420,\n\t0x1b720: 0x6d2eb020, 0x1b721: 0x6c73dc20, 0x1b722: 0x6ce1b020, 0x1b723: 0x6c3f4020,\n\t0x1b724: 0x6c2bd820, 0x1b725: 0x6c9c3820, 0x1b726: 0x6cfb2c20, 0x1b727: 0x6c552220,\n\t0x1b728: 0x6c173820, 0x1b729: 0x6caa4e20, 0x1b72a: 0x6c6e4c20, 0x1b72b: 0x6d31be20,\n\t0x1b72c: 0x6d14be20, 0x1b72d: 0x6c9ce020, 0x1b72e: 0x6cc28e20, 0x1b72f: 0x6cec8220,\n\t0x1b730: 0x6cce5e20, 0x1b731: 0x6cc91820, 0x1b732: 0x6d078620, 0x1b733: 0x6c6e6420,\n\t0x1b734: 0x6c2dc220, 0x1b735: 0x6d2eb420, 0x1b736: 0x6c67de20, 0x1b737: 0x6cbb0820,\n\t0x1b738: 0x6cae9a20, 0x1b739: 0x6c287820, 0x1b73a: 0x6cbb0e20, 0x1b73b: 0x6c099620,\n\t0x1b73c: 0x6c099820, 0x1b73d: 0x6ccf4820, 0x1b73e: 0x6c288820, 0x1b73f: 0x6c65aa20,\n\t// Block 0x6dd, offset 0x1b740\n\t0x1b740: 0x6c46b420, 0x1b741: 0x6c448e20, 0x1b742: 0x6c37f020, 0x1b743: 0x6c09c420,\n\t0x1b744: 0x6c79c020, 0x1b745: 0x6c673820, 0x1b746: 0x6c0d1820, 0x1b747: 0x6cff1420,\n\t0x1b748: 0x6c28a620, 0x1b749: 0x6c4c2e20, 0x1b74a: 0x6c67f820, 0x1b74b: 0x6c538620,\n\t0x1b74c: 0x6c9c7820, 0x1b74d: 0x6c4c4420, 0x1b74e: 0x6ceca420, 0x1b74f: 0x6c751620,\n\t0x1b750: 0x6c616820, 0x1b751: 0x6c616a20, 0x1b752: 0x6c4a3220, 0x1b753: 0x6c28f820,\n\t0x1b754: 0x6c921a20, 0x1b755: 0x6c921c20, 0x1b756: 0x6ce98820, 0x1b757: 0x6c5bb420,\n\t0x1b758: 0x6d362220, 0x1b759: 0x6c5bda20, 0x1b75a: 0x6c5bdc20, 0x1b75b: 0x6d155c20,\n\t0x1b75c: 0x6d155e20, 0x1b75d: 0x6d158020, 0x1b75e: 0x6d158220, 0x1b75f: 0x6d265e20,\n\t0x1b760: 0x6d266220, 0x1b761: 0x6cccb220, 0x1b762: 0x6d03c020, 0x1b763: 0x6cf17c20,\n\t0x1b764: 0x6ce71020, 0x1b765: 0x6d0e4620, 0x1b766: 0x6d0e4820, 0x1b767: 0x6d22f020,\n\t0x1b768: 0x6c1a9c20, 0x1b769: 0x6c112620, 0x1b76a: 0x6c0bfa20, 0x1b76b: 0x6c2dc420,\n\t0x1b76c: 0x6c0d3020, 0x1b76d: 0x6cae9e20, 0x1b76e: 0x6d1e4620, 0x1b76f: 0x6cb19820,\n\t0x1b770: 0x6d2ec420, 0x1b771: 0x6d1d0420, 0x1b772: 0x6c1af020, 0x1b773: 0x6c1bd420,\n\t0x1b774: 0x6d3d1c20, 0x1b775: 0x6ceb6c20, 0x1b776: 0x6c5fc820, 0x1b777: 0x6c39be20,\n\t0x1b778: 0x6d379220, 0x1b779: 0x6d168420, 0x1b77a: 0x6cedde20, 0x1b77b: 0x6c17fe20,\n\t0x1b77c: 0x6c08c020, 0x1b77d: 0x6c2b1620, 0x1b77e: 0x6c8caa20, 0x1b77f: 0x6c3dea20,\n\t// Block 0x6de, offset 0x1b780\n\t0x1b780: 0x6cedfa20, 0x1b781: 0x6d328820, 0x1b782: 0x6c241e20, 0x1b783: 0x6cedfc20,\n\t0x1b784: 0x6c6e4e20, 0x1b785: 0x6c274220, 0x1b786: 0x6cf59e20, 0x1b787: 0x6d0a7020,\n\t0x1b788: 0x6c523a20, 0x1b789: 0x6d0f9420, 0x1b78a: 0x6c57e820, 0x1b78b: 0x6c93d020,\n\t0x1b78c: 0x6c546420, 0x1b78d: 0x6cee0220, 0x1b78e: 0x6c1a6620, 0x1b78f: 0x6d35b220,\n\t0x1b790: 0x6d061820, 0x1b791: 0x6c6e6620, 0x1b792: 0x6ce89220, 0x1b793: 0x6c238e20,\n\t0x1b794: 0x6d377e20, 0x1b795: 0x6c7eea20, 0x1b796: 0x6c239620, 0x1b797: 0x6c2a9020,\n\t0x1b798: 0x6cabf820, 0x1b799: 0x6cf7dc20, 0x1b79a: 0x6c300020, 0x1b79b: 0x6c61e620,\n\t0x1b79c: 0x6c16a620, 0x1b79d: 0x6d35dc20, 0x1b79e: 0x6c239820, 0x1b79f: 0x6d387020,\n\t0x1b7a0: 0x6c7ef820, 0x1b7a1: 0x6d233820, 0x1b7a2: 0x6d018e20, 0x1b7a3: 0x6c6bdc20,\n\t0x1b7a4: 0x6c667820, 0x1b7a5: 0x6cd38220, 0x1b7a6: 0x6c641620, 0x1b7a7: 0x6c0b9820,\n\t0x1b7a8: 0x6c59c220, 0x1b7a9: 0x6c3ff020, 0x1b7aa: 0x6d0a0e20, 0x1b7ab: 0x6cefbe20,\n\t0x1b7ac: 0x6cad0420, 0x1b7ad: 0x6d110c20, 0x1b7ae: 0x6cee9820, 0x1b7af: 0x6cf64820,\n\t0x1b7b0: 0x6d32d020, 0x1b7b1: 0x6cb1b620, 0x1b7b2: 0x6ce36220, 0x1b7b3: 0x6c2a7c20,\n\t0x1b7b4: 0x6d32de20, 0x1b7b5: 0x6d32f020, 0x1b7b6: 0x6c0cf420, 0x1b7b7: 0x6c2a7e20,\n\t0x1b7b8: 0x6c1cd420, 0x1b7b9: 0x6c183020, 0x1b7ba: 0x6c692620, 0x1b7bb: 0x6c5c2c20,\n\t0x1b7bc: 0x6c693c20, 0x1b7bd: 0x6c5af220, 0x1b7be: 0x6c9a2e20, 0x1b7bf: 0x6c906c20,\n\t// Block 0x6df, offset 0x1b7c0\n\t0x1b7c0: 0x6cfd9220, 0x1b7c1: 0x6c067a20, 0x1b7c2: 0x6cc1fe20, 0x1b7c3: 0x6d02a220,\n\t0x1b7c4: 0x6d036220, 0x1b7c5: 0x6c090420, 0x1b7c6: 0x6d164020, 0x1b7c7: 0x6c820c20,\n\t0x1b7c8: 0x6cc56420, 0x1b7c9: 0x6c29b620, 0x1b7ca: 0x6c2f8e20, 0x1b7cb: 0x6c410820,\n\t0x1b7cc: 0x6c618020, 0x1b7cd: 0x6cc58620, 0x1b7ce: 0x6cc56a20, 0x1b7cf: 0x6c162620,\n\t0x1b7d0: 0x6ce05020, 0x1b7d1: 0x6ce26820, 0x1b7d2: 0x6ce26a20, 0x1b7d3: 0x6c416020,\n\t0x1b7d4: 0x6cb72a20, 0x1b7d5: 0x6cd2fe20, 0x1b7d6: 0x6c25ae20, 0x1b7d7: 0x6d357420,\n\t0x1b7d8: 0x6cee4620, 0x1b7d9: 0x6c982820, 0x1b7da: 0x6cf56e20, 0x1b7db: 0x6c388220,\n\t0x1b7dc: 0x6d1ba020, 0x1b7dd: 0x6ce4d820, 0x1b7de: 0x6c9f2c20, 0x1b7df: 0x6cf1ca20,\n\t0x1b7e0: 0x6d379620, 0x1b7e1: 0x6c1cac20, 0x1b7e2: 0x6cf4b620, 0x1b7e3: 0x6c5fca20,\n\t0x1b7e4: 0x6cf42220, 0x1b7e5: 0x6cf84620, 0x1b7e6: 0x6c639a20, 0x1b7e7: 0x6d1e8e20,\n\t0x1b7e8: 0x6ced7420, 0x1b7e9: 0x6c230220, 0x1b7ea: 0x6cd90220, 0x1b7eb: 0x6c7b0e20,\n\t0x1b7ec: 0x6d22d020, 0x1b7ed: 0x6c0b6c20, 0x1b7ee: 0x6d357620, 0x1b7ef: 0x6cb57420,\n\t0x1b7f0: 0x6c251820, 0x1b7f1: 0x6c189a20, 0x1b7f2: 0x6cdf5e20, 0x1b7f3: 0x6cea3e20,\n\t0x1b7f4: 0x6cb96e20, 0x1b7f5: 0x6ca75a20, 0x1b7f6: 0x6c5cde20, 0x1b7f7: 0x6d045420,\n\t0x1b7f8: 0x6ca97620, 0x1b7f9: 0x6c7bb620, 0x1b7fa: 0x6cfa7820, 0x1b7fb: 0x6d02aa20,\n\t0x1b7fc: 0x6c772420, 0x1b7fd: 0x6c549e20, 0x1b7fe: 0x6c767c20, 0x1b7ff: 0x6c3bce20,\n\t// Block 0x6e0, offset 0x1b800\n\t0x1b800: 0x6c57e620, 0x1b801: 0x6cdf6220, 0x1b802: 0x6cd95220, 0x1b803: 0x6cf42420,\n\t0x1b804: 0x6cab9a20, 0x1b805: 0x6c170220, 0x1b806: 0x6c20a020, 0x1b807: 0x6c71fa20,\n\t0x1b808: 0x6d16b420, 0x1b809: 0x6c05e620, 0x1b80a: 0x6c173a20, 0x1b80b: 0x6c9f2e20,\n\t0x1b80c: 0x6cadb020, 0x1b80d: 0x6d428020, 0x1b80e: 0x6d2b7620, 0x1b80f: 0x6d104020,\n\t0x1b810: 0x6c720a20, 0x1b811: 0x6c04e820, 0x1b812: 0x6caa5e20, 0x1b813: 0x6ca49420,\n\t0x1b814: 0x6d328a20, 0x1b815: 0x6cabe820, 0x1b816: 0x6c106a20, 0x1b817: 0x6ce5ea20,\n\t0x1b818: 0x6c567020, 0x1b819: 0x6c566420, 0x1b81a: 0x6c720c20, 0x1b81b: 0x6c267e20,\n\t0x1b81c: 0x6c87f420, 0x1b81d: 0x6cd7d420, 0x1b81e: 0x6c1d8e20, 0x1b81f: 0x6c2c2020,\n\t0x1b820: 0x6c274420, 0x1b821: 0x6d147020, 0x1b822: 0x6ce84020, 0x1b823: 0x6d1f0620,\n\t0x1b824: 0x6c3d4820, 0x1b825: 0x6c5ff420, 0x1b826: 0x6cae5420, 0x1b827: 0x6d041820,\n\t0x1b828: 0x6d260420, 0x1b829: 0x6ca5be20, 0x1b82a: 0x6c48e620, 0x1b82b: 0x6c3dec20,\n\t0x1b82c: 0x6cf84820, 0x1b82d: 0x6c093220, 0x1b82e: 0x6d1e9620, 0x1b82f: 0x6cbc9620,\n\t0x1b830: 0x6d086e20, 0x1b831: 0x6c230820, 0x1b832: 0x6c0dc220, 0x1b833: 0x6c5a4220,\n\t0x1b834: 0x6d068020, 0x1b835: 0x6c1f0e20, 0x1b836: 0x6c093420, 0x1b837: 0x6cd5ac20,\n\t0x1b838: 0x6cf5a020, 0x1b839: 0x6cdf9620, 0x1b83a: 0x6d1e8220, 0x1b83b: 0x6d3fe820,\n\t0x1b83c: 0x6c334220, 0x1b83d: 0x6ca1b220, 0x1b83e: 0x6d34f220, 0x1b83f: 0x6d16b620,\n\t// Block 0x6e1, offset 0x1b840\n\t0x1b840: 0x6cd33220, 0x1b841: 0x6ca59420, 0x1b842: 0x6d09e820, 0x1b843: 0x6cd33420,\n\t0x1b844: 0x6cf86020, 0x1b845: 0x6c81a420, 0x1b846: 0x6c525820, 0x1b847: 0x6c7b8e20,\n\t0x1b848: 0x6ca1c620, 0x1b849: 0x6d34fe20, 0x1b84a: 0x6d008020, 0x1b84b: 0x6c88e820,\n\t0x1b84c: 0x6ce55220, 0x1b84d: 0x6c5a4820, 0x1b84e: 0x6c2e7020, 0x1b84f: 0x6c502820,\n\t0x1b850: 0x6c799e20, 0x1b851: 0x6c4ad420, 0x1b852: 0x6c525a20, 0x1b853: 0x6cf5a220,\n\t0x1b854: 0x6c68ce20, 0x1b855: 0x6cd5b820, 0x1b856: 0x6cd8fe20, 0x1b857: 0x6c54aa20,\n\t0x1b858: 0x6cbfa420, 0x1b859: 0x6d104220, 0x1b85a: 0x6c5ba820, 0x1b85b: 0x6c5b2420,\n\t0x1b85c: 0x6c1bfa20, 0x1b85d: 0x6c63b020, 0x1b85e: 0x6d149a20, 0x1b85f: 0x6d045e20,\n\t0x1b860: 0x6c48ec20, 0x1b861: 0x6c8c4c20, 0x1b862: 0x6c5a9220, 0x1b863: 0x6d3f3a20,\n\t0x1b864: 0x6d068e20, 0x1b865: 0x6c1b8a20, 0x1b866: 0x6cce4e20, 0x1b867: 0x6caa7c20,\n\t0x1b868: 0x6c524220, 0x1b869: 0x6c371020, 0x1b86a: 0x6c788e20, 0x1b86b: 0x6c305e20,\n\t0x1b86c: 0x6ce48820, 0x1b86d: 0x6c457c20, 0x1b86e: 0x6cc29020, 0x1b86f: 0x6cf94220,\n\t0x1b870: 0x6cb84a20, 0x1b871: 0x6d268c20, 0x1b872: 0x6cae5820, 0x1b873: 0x6c790020,\n\t0x1b874: 0x6c2a6420, 0x1b875: 0x6c5baa20, 0x1b876: 0x6c35fa20, 0x1b877: 0x6d003220,\n\t0x1b878: 0x6ce7c620, 0x1b879: 0x6d0be020, 0x1b87a: 0x6c764c20, 0x1b87b: 0x6c12ce20,\n\t0x1b87c: 0x6ca4e020, 0x1b87d: 0x6d282020, 0x1b87e: 0x6c984020, 0x1b87f: 0x6d1e2a20,\n\t// Block 0x6e2, offset 0x1b880\n\t0x1b880: 0x6d1e2220, 0x1b881: 0x6d24d420, 0x1b882: 0x6caf5220, 0x1b883: 0x6c7da020,\n\t0x1b884: 0x6cbb6a20, 0x1b885: 0x6d269420, 0x1b886: 0x6d230c20, 0x1b887: 0x6ce89420,\n\t0x1b888: 0x6c6bd820, 0x1b889: 0x6cf5e220, 0x1b88a: 0x6d304a20, 0x1b88b: 0x6c8c4e20,\n\t0x1b88c: 0x6ce3e020, 0x1b88d: 0x6c4e9620, 0x1b88e: 0x6c502a20, 0x1b88f: 0x6cbca820,\n\t0x1b890: 0x6ce3ea20, 0x1b891: 0x6c108220, 0x1b892: 0x6d172620, 0x1b893: 0x6cba4a20,\n\t0x1b894: 0x6c5b4c20, 0x1b895: 0x6cf5bc20, 0x1b896: 0x6c070020, 0x1b897: 0x6c975e20,\n\t0x1b898: 0x6d13e420, 0x1b899: 0x6c524820, 0x1b89a: 0x6cd95620, 0x1b89b: 0x6cc29420,\n\t0x1b89c: 0x6c1a6820, 0x1b89d: 0x6c7c3820, 0x1b89e: 0x6cf4d020, 0x1b89f: 0x6cf4d220,\n\t0x1b8a0: 0x6d1e9e20, 0x1b8a1: 0x6c83b620, 0x1b8a2: 0x6c89ae20, 0x1b8a3: 0x6c590e20,\n\t0x1b8a4: 0x6c230c20, 0x1b8a5: 0x6d175a20, 0x1b8a6: 0x6d269620, 0x1b8a7: 0x6c85c820,\n\t0x1b8a8: 0x6ca8e620, 0x1b8a9: 0x6ca4e620, 0x1b8aa: 0x6c360e20, 0x1b8ab: 0x6cc3b620,\n\t0x1b8ac: 0x6d080e20, 0x1b8ad: 0x6cb8c420, 0x1b8ae: 0x6cf4d420, 0x1b8af: 0x6c9fa420,\n\t0x1b8b0: 0x6c239a20, 0x1b8b1: 0x6c3a5220, 0x1b8b2: 0x6c069c20, 0x1b8b3: 0x6c344c20,\n\t0x1b8b4: 0x6c253420, 0x1b8b5: 0x6c171220, 0x1b8b6: 0x6c9af220, 0x1b8b7: 0x6cca4e20,\n\t0x1b8b8: 0x6c61ea20, 0x1b8b9: 0x6c498820, 0x1b8ba: 0x6c497e20, 0x1b8bb: 0x6d042820,\n\t0x1b8bc: 0x6c2a0e20, 0x1b8bd: 0x6cb4e620, 0x1b8be: 0x6c797420, 0x1b8bf: 0x6ce4ec20,\n\t// Block 0x6e3, offset 0x1b8c0\n\t0x1b8c0: 0x6c94f220, 0x1b8c1: 0x6cf60a20, 0x1b8c2: 0x6c76d220, 0x1b8c3: 0x6c4bc020,\n\t0x1b8c4: 0x6ca6a020, 0x1b8c5: 0x6cbe7620, 0x1b8c6: 0x6c1da020, 0x1b8c7: 0x6c339820,\n\t0x1b8c8: 0x6c4cb620, 0x1b8c9: 0x6d2d7420, 0x1b8ca: 0x6c6da820, 0x1b8cb: 0x6ced0420,\n\t0x1b8cc: 0x6d24ea20, 0x1b8cd: 0x6c6c4220, 0x1b8ce: 0x6c620020, 0x1b8cf: 0x6c7f9620,\n\t0x1b8d0: 0x6d231020, 0x1b8d1: 0x6c5dca20, 0x1b8d2: 0x6c512620, 0x1b8d3: 0x6cc2da20,\n\t0x1b8d4: 0x6cdfdc20, 0x1b8d5: 0x6ce3ec20, 0x1b8d6: 0x6ce3f420, 0x1b8d7: 0x6ca81620,\n\t0x1b8d8: 0x6cee0e20, 0x1b8d9: 0x6c21b420, 0x1b8da: 0x6c54bc20, 0x1b8db: 0x6c5cc020,\n\t0x1b8dc: 0x6cf5e420, 0x1b8dd: 0x6c16ea20, 0x1b8de: 0x6d02ca20, 0x1b8df: 0x6ceefe20,\n\t0x1b8e0: 0x6c5bc020, 0x1b8e1: 0x6c363420, 0x1b8e2: 0x6cdd6620, 0x1b8e3: 0x6d3fee20,\n\t0x1b8e4: 0x6c648420, 0x1b8e5: 0x6d1e3620, 0x1b8e6: 0x6c2d4e20, 0x1b8e7: 0x6c723c20,\n\t0x1b8e8: 0x6c11ce20, 0x1b8e9: 0x6c19fc20, 0x1b8ea: 0x6c2a6e20, 0x1b8eb: 0x6c072220,\n\t0x1b8ec: 0x6cbcb420, 0x1b8ed: 0x6c119420, 0x1b8ee: 0x6c287a20, 0x1b8ef: 0x6c498020,\n\t0x1b8f0: 0x6c34f420, 0x1b8f1: 0x6ca4f820, 0x1b8f2: 0x6d283220, 0x1b8f3: 0x6cfdea20,\n\t0x1b8f4: 0x6d3c8420, 0x1b8f5: 0x6c2ea220, 0x1b8f6: 0x6c59c420, 0x1b8f7: 0x6c217e20,\n\t0x1b8f8: 0x6cbf2220, 0x1b8f9: 0x6cc54c20, 0x1b8fa: 0x6d037220, 0x1b8fb: 0x6c12e820,\n\t0x1b8fc: 0x6c0b3e20, 0x1b8fd: 0x6c9fac20, 0x1b8fe: 0x6d3f8a20, 0x1b8ff: 0x6ce32220,\n\t// Block 0x6e4, offset 0x1b900\n\t0x1b900: 0x6cbc2620, 0x1b901: 0x6c1db820, 0x1b902: 0x6c073020, 0x1b903: 0x6d079820,\n\t0x1b904: 0x6cee8620, 0x1b905: 0x6c43ea20, 0x1b906: 0x6cb8ee20, 0x1b907: 0x6cefc020,\n\t0x1b908: 0x6d236a20, 0x1b909: 0x6d212420, 0x1b90a: 0x6c099a20, 0x1b90b: 0x6d079a20,\n\t0x1b90c: 0x6c592020, 0x1b90d: 0x6c9fb620, 0x1b90e: 0x6c099c20, 0x1b90f: 0x6d17e220,\n\t0x1b910: 0x6c9e2420, 0x1b911: 0x6d1e3820, 0x1b912: 0x6c768820, 0x1b913: 0x6c296620,\n\t0x1b914: 0x6d19e020, 0x1b915: 0x6c363620, 0x1b916: 0x6c18c620, 0x1b917: 0x6c998a20,\n\t0x1b918: 0x6cb86820, 0x1b919: 0x6c78b820, 0x1b91a: 0x6d214820, 0x1b91b: 0x6c00a820,\n\t0x1b91c: 0x6cbcc020, 0x1b91d: 0x6d0d7e20, 0x1b91e: 0x6caaf620, 0x1b91f: 0x6c41dc20,\n\t0x1b920: 0x6d283420, 0x1b921: 0x6d3ff020, 0x1b922: 0x6cc9c220, 0x1b923: 0x6c839620,\n\t0x1b924: 0x6c3bd820, 0x1b925: 0x6d1d6620, 0x1b926: 0x6c7cf820, 0x1b927: 0x6c7cfa20,\n\t0x1b928: 0x6cc3d820, 0x1b929: 0x6c459420, 0x1b92a: 0x6d27ae20, 0x1b92b: 0x6cdaca20,\n\t0x1b92c: 0x6cdae420, 0x1b92d: 0x6cb5f820, 0x1b92e: 0x6d110e20, 0x1b92f: 0x6cd96020,\n\t0x1b930: 0x6c5a6c20, 0x1b931: 0x6c604e20, 0x1b932: 0x6c478c20, 0x1b933: 0x6c726220,\n\t0x1b934: 0x6c20ae20, 0x1b935: 0x6ca6aa20, 0x1b936: 0x6d00b620, 0x1b937: 0x6c766020,\n\t0x1b938: 0x6d332a20, 0x1b939: 0x6d1e4820, 0x1b93a: 0x6c12ae20, 0x1b93b: 0x6d0a9a20,\n\t0x1b93c: 0x6cd0aa20, 0x1b93d: 0x6c0f1020, 0x1b93e: 0x6c768e20, 0x1b93f: 0x6d262820,\n\t// Block 0x6e5, offset 0x1b940\n\t0x1b940: 0x6cf89e20, 0x1b941: 0x6c5d3420, 0x1b942: 0x6d1e5020, 0x1b943: 0x6d102420,\n\t0x1b944: 0x6c862e20, 0x1b945: 0x6ccaaa20, 0x1b946: 0x6ce1d420, 0x1b947: 0x6d19f220,\n\t0x1b948: 0x6c224e20, 0x1b949: 0x6d06f220, 0x1b94a: 0x6cba5820, 0x1b94b: 0x6cdf7c20,\n\t0x1b94c: 0x6c599420, 0x1b94d: 0x6d283a20, 0x1b94e: 0x6cd0ac20, 0x1b94f: 0x6ca03820,\n\t0x1b950: 0x6c463020, 0x1b951: 0x6ccf5020, 0x1b952: 0x6c23a420, 0x1b953: 0x6cb15820,\n\t0x1b954: 0x6ca29820, 0x1b955: 0x6ca2a020, 0x1b956: 0x6c4c7620, 0x1b957: 0x6c1c5620,\n\t0x1b958: 0x6c11d420, 0x1b959: 0x6c11a620, 0x1b95a: 0x6c119c20, 0x1b95b: 0x6c24da20,\n\t0x1b95c: 0x6c9fc220, 0x1b95d: 0x6ce27e20, 0x1b95e: 0x6d2ec820, 0x1b95f: 0x6ce7ce20,\n\t0x1b960: 0x6c02d820, 0x1b961: 0x6cd6d620, 0x1b962: 0x6c97e820, 0x1b963: 0x6c499620,\n\t0x1b964: 0x6cc3ea20, 0x1b965: 0x6d2a8420, 0x1b966: 0x6c701620, 0x1b967: 0x6c5c1020,\n\t0x1b968: 0x6c765820, 0x1b969: 0x6c881220, 0x1b96a: 0x6cab9e20, 0x1b96b: 0x6cd96c20,\n\t0x1b96c: 0x6cbd8e20, 0x1b96d: 0x6d1b7020, 0x1b96e: 0x6c93f220, 0x1b96f: 0x6cce0c20,\n\t0x1b970: 0x6cf0b820, 0x1b971: 0x6ce95220, 0x1b972: 0x6c976c20, 0x1b973: 0x6cb8fe20,\n\t0x1b974: 0x6ccf6220, 0x1b975: 0x6d1d9c20, 0x1b976: 0x6cbed620, 0x1b977: 0x6c773e20,\n\t0x1b978: 0x6c2c8e20, 0x1b979: 0x6d348e20, 0x1b97a: 0x6c90a220, 0x1b97b: 0x6c738220,\n\t0x1b97c: 0x6cb51c20, 0x1b97d: 0x6cb50c20, 0x1b97e: 0x6d23c020, 0x1b97f: 0x6cb2c220,\n\t// Block 0x6e6, offset 0x1b980\n\t0x1b980: 0x6c89f620, 0x1b981: 0x6c23da20, 0x1b982: 0x6d1eae20, 0x1b983: 0x6c1cd620,\n\t0x1b984: 0x6d36aa20, 0x1b985: 0x6ce7d020, 0x1b986: 0x6c197a20, 0x1b987: 0x6cb7c020,\n\t0x1b988: 0x6cc12020, 0x1b989: 0x6caebc20, 0x1b98a: 0x6c075a20, 0x1b98b: 0x6c0cb820,\n\t0x1b98c: 0x6cbf5c20, 0x1b98d: 0x6c686a20, 0x1b98e: 0x6d2b8a20, 0x1b98f: 0x6c1c4220,\n\t0x1b990: 0x6c883620, 0x1b991: 0x6cb2cc20, 0x1b992: 0x6c7d0c20, 0x1b993: 0x6c5c1220,\n\t0x1b994: 0x6cbbf020, 0x1b995: 0x6c1a3620, 0x1b996: 0x6d1b7a20, 0x1b997: 0x6d1b7c20,\n\t0x1b998: 0x6cf80620, 0x1b999: 0x6cf6ba20, 0x1b99a: 0x6c28a820, 0x1b99b: 0x6ce00220,\n\t0x1b99c: 0x6c34a220, 0x1b99d: 0x6c335e20, 0x1b99e: 0x6c335a20, 0x1b99f: 0x6cdaf820,\n\t0x1b9a0: 0x6c74b620, 0x1b9a1: 0x6c130e20, 0x1b9a2: 0x6cff0220, 0x1b9a3: 0x6c385a20,\n\t0x1b9a4: 0x6c3be420, 0x1b9a5: 0x6c817220, 0x1b9a6: 0x6c81da20, 0x1b9a7: 0x6c1cd820,\n\t0x1b9a8: 0x6c4db820, 0x1b9a9: 0x6cb7d220, 0x1b9aa: 0x6cfb7c20, 0x1b9ab: 0x6c9fc420,\n\t0x1b9ac: 0x6c6e2a20, 0x1b9ad: 0x6c8a7420, 0x1b9ae: 0x6cf46420, 0x1b9af: 0x6c11da20,\n\t0x1b9b0: 0x6c749020, 0x1b9b1: 0x6c245420, 0x1b9b2: 0x6cfd0820, 0x1b9b3: 0x6ce06e20,\n\t0x1b9b4: 0x6cd12220, 0x1b9b5: 0x6caf9820, 0x1b9b6: 0x6d188e20, 0x1b9b7: 0x6c1f7420,\n\t0x1b9b8: 0x6cfad620, 0x1b9b9: 0x6ca4c020, 0x1b9ba: 0x6c28ac20, 0x1b9bb: 0x6ce07420,\n\t0x1b9bc: 0x6c6e2c20, 0x1b9bd: 0x6cd93220, 0x1b9be: 0x6c4f0220, 0x1b9bf: 0x6c693e20,\n\t// Block 0x6e7, offset 0x1b9c0\n\t0x1b9c0: 0x6cf0cc20, 0x1b9c1: 0x6d07cc20, 0x1b9c2: 0x6c303620, 0x1b9c3: 0x6cbdb020,\n\t0x1b9c4: 0x6cbd9e20, 0x1b9c5: 0x6c728a20, 0x1b9c6: 0x6c12b220, 0x1b9c7: 0x6c791020,\n\t0x1b9c8: 0x6d021420, 0x1b9c9: 0x6d1bfe20, 0x1b9ca: 0x6c02ea20, 0x1b9cb: 0x6c99ba20,\n\t0x1b9cc: 0x6d189020, 0x1b9cd: 0x6c8c3020, 0x1b9ce: 0x6ccb5420, 0x1b9cf: 0x6c75e420,\n\t0x1b9d0: 0x6c57f220, 0x1b9d1: 0x6c9afe20, 0x1b9d2: 0x6c803c20, 0x1b9d3: 0x6c00ca20,\n\t0x1b9d4: 0x6c8c3220, 0x1b9d5: 0x6d0c3c20, 0x1b9d6: 0x6c7e2620, 0x1b9d7: 0x6cfa4a20,\n\t0x1b9d8: 0x6c1c8420, 0x1b9d9: 0x6d228e20, 0x1b9da: 0x6d1b8820, 0x1b9db: 0x6c270e20,\n\t0x1b9dc: 0x6c9be420, 0x1b9dd: 0x6c00d820, 0x1b9de: 0x6c9b4a20, 0x1b9df: 0x6c337020,\n\t0x1b9e0: 0x6cb65c20, 0x1b9e1: 0x6ca0ac20, 0x1b9e2: 0x6c7fbe20, 0x1b9e3: 0x6c9b0020,\n\t0x1b9e4: 0x6c1de620, 0x1b9e5: 0x6d370220, 0x1b9e6: 0x6cab1620, 0x1b9e7: 0x6cab1820,\n\t0x1b9e8: 0x6d0c3420, 0x1b9e9: 0x6d103420, 0x1b9ea: 0x6c0f8a20, 0x1b9eb: 0x6d372820,\n\t0x1b9ec: 0x6c7c0c20, 0x1b9ed: 0x6c7bd220, 0x1b9ee: 0x6d1ff820, 0x1b9ef: 0x6c3db220,\n\t0x1b9f0: 0x6c8eb420, 0x1b9f1: 0x6c9ef020, 0x1b9f2: 0x6c1a5420, 0x1b9f3: 0x6c5cb020,\n\t0x1b9f4: 0x6c163820, 0x1b9f5: 0x6c9bea20, 0x1b9f6: 0x6c804a20, 0x1b9f7: 0x6c57fa20,\n\t0x1b9f8: 0x6d083620, 0x1b9f9: 0x6cc51a20, 0x1b9fa: 0x6c164020, 0x1b9fb: 0x6c62b820,\n\t0x1b9fc: 0x6c72ca20, 0x1b9fd: 0x6c583e20, 0x1b9fe: 0x6ccf8820, 0x1b9ff: 0x6d195a20,\n\t// Block 0x6e8, offset 0x1ba00\n\t0x1ba00: 0x6c893820, 0x1ba01: 0x6ca44020, 0x1ba02: 0x6c9cb020, 0x1ba03: 0x6ce18c20,\n\t0x1ba04: 0x6c751a20, 0x1ba05: 0x6c42b020, 0x1ba06: 0x6c42b220, 0x1ba07: 0x6d3c5220,\n\t0x1ba08: 0x6c436020, 0x1ba09: 0x6d266e20, 0x1ba0a: 0x6cf49820, 0x1ba0b: 0x6c645a20,\n\t0x1ba0c: 0x6d056420, 0x1ba0d: 0x6cd59420, 0x1ba0e: 0x6cc65020, 0x1ba0f: 0x6cf83820,\n\t0x1ba10: 0x6c19b220, 0x1ba11: 0x6cf2a620, 0x1ba12: 0x6c6bb820, 0x1ba13: 0x6c436e20,\n\t0x1ba14: 0x6c646c20, 0x1ba15: 0x6cbaa020, 0x1ba16: 0x6c5da020, 0x1ba17: 0x6cbaa220,\n\t0x1ba18: 0x6d2e4a20, 0x1ba19: 0x6c306e20, 0x1ba1a: 0x6cb81220, 0x1ba1b: 0x6c63b620,\n\t0x1ba1c: 0x6c2e9220, 0x1ba1d: 0x6d2b5e20, 0x1ba1e: 0x6c63be20, 0x1ba1f: 0x6c614420,\n\t0x1ba20: 0x6d33de20, 0x1ba21: 0x6c76b020, 0x1ba22: 0x6c603420, 0x1ba23: 0x6c7c8620,\n\t0x1ba24: 0x6c414020, 0x1ba25: 0x6c2ace20, 0x1ba26: 0x6d2e6820, 0x1ba27: 0x6cbaca20,\n\t0x1ba28: 0x6c439e20, 0x1ba29: 0x6c65bc20, 0x1ba2a: 0x6c6b0620, 0x1ba2b: 0x6d238e20,\n\t0x1ba2c: 0x6c65be20, 0x1ba2d: 0x6d0dc820, 0x1ba2e: 0x6c92a020, 0x1ba2f: 0x6c54f620,\n\t0x1ba30: 0x6d2e7e20, 0x1ba31: 0x6cf8da20, 0x1ba32: 0x6cf8ec20, 0x1ba33: 0x6c219a20,\n\t0x1ba34: 0x6c279420, 0x1ba35: 0x6cc20420, 0x1ba36: 0x6c563820, 0x1ba37: 0x6c563a20,\n\t0x1ba38: 0x6c563c20, 0x1ba39: 0x6c35c820, 0x1ba3a: 0x6cd30c20, 0x1ba3b: 0x6ce3d220,\n\t0x1ba3c: 0x6c992620, 0x1ba3d: 0x6c566620, 0x1ba3e: 0x6c858c20, 0x1ba3f: 0x6c39a620,\n\t// Block 0x6e9, offset 0x1ba40\n\t0x1ba40: 0x6cdd4e20, 0x1ba41: 0x6c0b2e20, 0x1ba42: 0x6c2d4220, 0x1ba43: 0x6c6ed820,\n\t0x1ba44: 0x6cce3420, 0x1ba45: 0x6d14c020, 0x1ba46: 0x6d15dc20, 0x1ba47: 0x6ccd7a20,\n\t0x1ba48: 0x6c568c20, 0x1ba49: 0x6c3a0220, 0x1ba4a: 0x6d0d8020, 0x1ba4b: 0x6cd43620,\n\t0x1ba4c: 0x6cd48e20, 0x1ba4d: 0x6c10fe20, 0x1ba4e: 0x6d2bc020, 0x1ba4f: 0x6cbff220,\n\t0x1ba50: 0x6c820e20, 0x1ba51: 0x6cb3fe20, 0x1ba52: 0x6c031020, 0x1ba53: 0x6c26e020,\n\t0x1ba54: 0x6cc61020, 0x1ba55: 0x6c390220, 0x1ba56: 0x6cc83020, 0x1ba57: 0x6d292a20,\n\t0x1ba58: 0x6cea9620, 0x1ba59: 0x6d2f1e20, 0x1ba5a: 0x6c2df620, 0x1ba5b: 0x6c776620,\n\t0x1ba5c: 0x6d207220, 0x1ba5d: 0x6c7a1820, 0x1ba5e: 0x6c41c420, 0x1ba5f: 0x6ccf9e20,\n\t0x1ba60: 0x6c137820, 0x1ba61: 0x6cea9820, 0x1ba62: 0x6c475420, 0x1ba63: 0x6c79d620,\n\t0x1ba64: 0x6cf4a220, 0x1ba65: 0x6c2a9420, 0x1ba66: 0x6cb89820, 0x1ba67: 0x6d343620,\n\t0x1ba68: 0x6cc5b620, 0x1ba69: 0x6c7de620, 0x1ba6a: 0x6c9ac020, 0x1ba6b: 0x6ccade20,\n\t0x1ba6c: 0x6d0f7420, 0x1ba6d: 0x6ca97820, 0x1ba6e: 0x6c051220, 0x1ba6f: 0x6c17e620,\n\t0x1ba70: 0x6cc53620, 0x1ba71: 0x6cf57020, 0x1ba72: 0x6cb97220, 0x1ba73: 0x6c047020,\n\t0x1ba74: 0x6c639c20, 0x1ba75: 0x6d20b220, 0x1ba76: 0x6c3dda20, 0x1ba77: 0x6c02c220,\n\t0x1ba78: 0x6cf57e20, 0x1ba79: 0x6caf2a20, 0x1ba7a: 0x6d34e620, 0x1ba7b: 0x6d357820,\n\t0x1ba7c: 0x6c35d220, 0x1ba7d: 0x6c2a9620, 0x1ba7e: 0x6d2f8420, 0x1ba7f: 0x6c19bc20,\n\t// Block 0x6ea, offset 0x1ba80\n\t0x1ba80: 0x6c618420, 0x1ba81: 0x6d0d3c20, 0x1ba82: 0x6c7bb820, 0x1ba83: 0x6c0b6e20,\n\t0x1ba84: 0x6c173220, 0x1ba85: 0x6c704e20, 0x1ba86: 0x6cf1cc20, 0x1ba87: 0x6c551e20,\n\t0x1ba88: 0x6d267e20, 0x1ba89: 0x6c73de20, 0x1ba8a: 0x6c039a20, 0x1ba8b: 0x6cbe0420,\n\t0x1ba8c: 0x6c282020, 0x1ba8d: 0x6d331820, 0x1ba8e: 0x6d27d820, 0x1ba8f: 0x6cecc820,\n\t0x1ba90: 0x6ca54820, 0x1ba91: 0x6d168820, 0x1ba92: 0x6cd49e20, 0x1ba93: 0x6d3b5420,\n\t0x1ba94: 0x6cb3d020, 0x1ba95: 0x6ce7e620, 0x1ba96: 0x6c30da20, 0x1ba97: 0x6c777e20,\n\t0x1ba98: 0x6d301220, 0x1ba99: 0x6cb3d220, 0x1ba9a: 0x6c3f3620, 0x1ba9b: 0x6cad3220,\n\t0x1ba9c: 0x6c036020, 0x1ba9d: 0x6c029c20, 0x1ba9e: 0x6d2aa420, 0x1ba9f: 0x6ce94820,\n\t0x1baa0: 0x6c79b220, 0x1baa1: 0x6c94d020, 0x1baa2: 0x6cbb3820, 0x1baa3: 0x6d287a20,\n\t0x1baa4: 0x6c565620, 0x1baa5: 0x6c063020, 0x1baa6: 0x6c0dc420, 0x1baa7: 0x6d34f420,\n\t0x1baa8: 0x6cae5620, 0x1baa9: 0x6cdf8c20, 0x1baaa: 0x6c106c20, 0x1baab: 0x6caf3620,\n\t0x1baac: 0x6cdf1820, 0x1baad: 0x6d118c20, 0x1baae: 0x6d31b820, 0x1baaf: 0x6d2bc620,\n\t0x1bab0: 0x6d0f4820, 0x1bab1: 0x6c063220, 0x1bab2: 0x6c508c20, 0x1bab3: 0x6ca62820,\n\t0x1bab4: 0x6d12ce20, 0x1bab5: 0x6c2bda20, 0x1bab6: 0x6c1bee20, 0x1bab7: 0x6caf3820,\n\t0x1bab8: 0x6c632220, 0x1bab9: 0x6ca0a820, 0x1baba: 0x6c9a7620, 0x1babb: 0x6c185a20,\n\t0x1babc: 0x6d0ad220, 0x1babd: 0x6c1d6420, 0x1babe: 0x6cc0e420, 0x1babf: 0x6c9f9420,\n\t// Block 0x6eb, offset 0x1bac0\n\t0x1bac0: 0x6c1f1020, 0x1bac1: 0x6c632a20, 0x1bac2: 0x6c3dee20, 0x1bac3: 0x6d2c7220,\n\t0x1bac4: 0x6d3a5c20, 0x1bac5: 0x6c27bc20, 0x1bac6: 0x6c146020, 0x1bac7: 0x6ca2c420,\n\t0x1bac8: 0x6ca6ec20, 0x1bac9: 0x6c7e3e20, 0x1baca: 0x6c3f4220, 0x1bacb: 0x6cad3420,\n\t0x1bacc: 0x6c04ea20, 0x1bacd: 0x6cabee20, 0x1bace: 0x6c8b9a20, 0x1bacf: 0x6ca2d020,\n\t0x1bad0: 0x6c48d820, 0x1bad1: 0x6cb97420, 0x1bad2: 0x6c71fc20, 0x1bad3: 0x6cde2e20,\n\t0x1bad4: 0x6c036820, 0x1bad5: 0x6ceaac20, 0x1bad6: 0x6ceaae20, 0x1bad7: 0x6c02a020,\n\t0x1bad8: 0x6c705a20, 0x1bad9: 0x6d3cf020, 0x1bada: 0x6caca020, 0x1badb: 0x6d2f5a20,\n\t0x1badc: 0x6c043c20, 0x1badd: 0x6c043220, 0x1bade: 0x6c2bdc20, 0x1badf: 0x6ca62420,\n\t0x1bae0: 0x6c720e20, 0x1bae1: 0x6c7de820, 0x1bae2: 0x6c903220, 0x1bae3: 0x6c656420,\n\t0x1bae4: 0x6cb83420, 0x1bae5: 0x6d1d7e20, 0x1bae6: 0x6c7f8c20, 0x1bae7: 0x6ca8f620,\n\t0x1bae8: 0x6c0e5020, 0x1bae9: 0x6d2aa820, 0x1baea: 0x6cb8bc20, 0x1baeb: 0x6c522e20,\n\t0x1baec: 0x6c7dea20, 0x1baed: 0x6cd33620, 0x1baee: 0x6c6a8e20, 0x1baef: 0x6d331e20,\n\t0x1baf0: 0x6ca8ee20, 0x1baf1: 0x6c45da20, 0x1baf2: 0x6c45de20, 0x1baf3: 0x6cc2ca20,\n\t0x1baf4: 0x6cd68020, 0x1baf5: 0x6c25a620, 0x1baf6: 0x6d288a20, 0x1baf7: 0x6c77a020,\n\t0x1baf8: 0x6d149c20, 0x1baf9: 0x6d008220, 0x1bafa: 0x6c12d020, 0x1bafb: 0x6c5a9420,\n\t0x1bafc: 0x6cb1ea20, 0x1bafd: 0x6d3b6620, 0x1bafe: 0x6cd41020, 0x1baff: 0x6ca2d620,\n\t// Block 0x6ec, offset 0x1bb00\n\t0x1bb00: 0x6c03fc20, 0x1bb01: 0x6c1b0c20, 0x1bb02: 0x6c48ac20, 0x1bb03: 0x6d359c20,\n\t0x1bb04: 0x6c7dec20, 0x1bb05: 0x6c348020, 0x1bb06: 0x6c348220, 0x1bb07: 0x6d350020,\n\t0x1bb08: 0x6cbcaa20, 0x1bb09: 0x6c01a420, 0x1bb0a: 0x6ca9f220, 0x1bb0b: 0x6d322020,\n\t0x1bb0c: 0x6c43ca20, 0x1bb0d: 0x6c698820, 0x1bb0e: 0x6c7ae620, 0x1bb0f: 0x6c306020,\n\t0x1bb10: 0x6ca2d820, 0x1bb11: 0x6ce55420, 0x1bb12: 0x6c8ad220, 0x1bb13: 0x6d2bca20,\n\t0x1bb14: 0x6c937c20, 0x1bb15: 0x6c2e7220, 0x1bb16: 0x6cebca20, 0x1bb17: 0x6c73fa20,\n\t0x1bb18: 0x6c8b9420, 0x1bb19: 0x6c71b020, 0x1bb1a: 0x6d35b820, 0x1bb1b: 0x6c943420,\n\t0x1bb1c: 0x6d0b8620, 0x1bb1d: 0x6cf27c20, 0x1bb1e: 0x6cde3420, 0x1bb1f: 0x6d008420,\n\t0x1bb20: 0x6ca49c20, 0x1bb21: 0x6c292820, 0x1bb22: 0x6c68d020, 0x1bb23: 0x6d329820,\n\t0x1bb24: 0x6c612a20, 0x1bb25: 0x6c5a9620, 0x1bb26: 0x6cfb3420, 0x1bb27: 0x6d24be20,\n\t0x1bb28: 0x6c002020, 0x1bb29: 0x6ceab420, 0x1bb2a: 0x6caab820, 0x1bb2b: 0x6c261c20,\n\t0x1bb2c: 0x6c0ed420, 0x1bb2d: 0x6c44fa20, 0x1bb2e: 0x6ce3be20, 0x1bb2f: 0x6d322c20,\n\t0x1bb30: 0x6c19dc20, 0x1bb31: 0x6cc94220, 0x1bb32: 0x6cc94420, 0x1bb33: 0x6c793220,\n\t0x1bb34: 0x6c9a5020, 0x1bb35: 0x6c906220, 0x1bb36: 0x6c706820, 0x1bb37: 0x6cae9020,\n\t0x1bb38: 0x6c657a20, 0x1bb39: 0x6d172820, 0x1bb3a: 0x6ce6ba20, 0x1bb3b: 0x6cccce20,\n\t0x1bb3c: 0x6cc83a20, 0x1bb3d: 0x6cecf820, 0x1bb3e: 0x6d008a20, 0x1bb3f: 0x6c138820,\n\t// Block 0x6ed, offset 0x1bb40\n\t0x1bb40: 0x6c3ca020, 0x1bb41: 0x6c68da20, 0x1bb42: 0x6cf43c20, 0x1bb43: 0x6c75a420,\n\t0x1bb44: 0x6c6fe820, 0x1bb45: 0x6ce7b220, 0x1bb46: 0x6c7da220, 0x1bb47: 0x6c5dac20,\n\t0x1bb48: 0x6ce89620, 0x1bb49: 0x6d3cf620, 0x1bb4a: 0x6cb3d620, 0x1bb4b: 0x6c938820,\n\t0x1bb4c: 0x6c033a20, 0x1bb4d: 0x6c4e9820, 0x1bb4e: 0x6cce6020, 0x1bb4f: 0x6ca7da20,\n\t0x1bb50: 0x6c72e420, 0x1bb51: 0x6d2b4620, 0x1bb52: 0x6cd5ba20, 0x1bb53: 0x6d127620,\n\t0x1bb54: 0x6c741220, 0x1bb55: 0x6c103620, 0x1bb56: 0x6cecd020, 0x1bb57: 0x6c108420,\n\t0x1bb58: 0x6d421620, 0x1bb59: 0x6d172a20, 0x1bb5a: 0x6d2ce820, 0x1bb5b: 0x6c937e20,\n\t0x1bb5c: 0x6cd9a420, 0x1bb5d: 0x6ceab620, 0x1bb5e: 0x6c813a20, 0x1bb5f: 0x6cdce620,\n\t0x1bb60: 0x6c052220, 0x1bb61: 0x6c657c20, 0x1bb62: 0x6c590220, 0x1bb63: 0x6c29d420,\n\t0x1bb64: 0x6cf13c20, 0x1bb65: 0x6ced7820, 0x1bb66: 0x6cbd6e20, 0x1bb67: 0x6caf0220,\n\t0x1bb68: 0x6ccf2c20, 0x1bb69: 0x6c8af820, 0x1bb6a: 0x6c9f4620, 0x1bb6b: 0x6c9aca20,\n\t0x1bb6c: 0x6c3f5a20, 0x1bb6d: 0x6c041e20, 0x1bb6e: 0x6c723e20, 0x1bb6f: 0x6c29cc20,\n\t0x1bb70: 0x6cf2b420, 0x1bb71: 0x6c003e20, 0x1bb72: 0x6c731c20, 0x1bb73: 0x6d26a420,\n\t0x1bb74: 0x6d3fec20, 0x1bb75: 0x6c186420, 0x1bb76: 0x6c20c820, 0x1bb77: 0x6c6ab620,\n\t0x1bb78: 0x6ce85420, 0x1bb79: 0x6c07ae20, 0x1bb7a: 0x6ca33220, 0x1bb7b: 0x6ca72020,\n\t0x1bb7c: 0x6cc90e20, 0x1bb7d: 0x6d423620, 0x1bb7e: 0x6cf2e220, 0x1bb7f: 0x6cf5e820,\n\t// Block 0x6ee, offset 0x1bb80\n\t0x1bb80: 0x6cfa9820, 0x1bb81: 0x6c19e620, 0x1bb82: 0x6c2cc420, 0x1bb83: 0x6ccae020,\n\t0x1bb84: 0x6c94d220, 0x1bb85: 0x6cbec620, 0x1bb86: 0x6c427820, 0x1bb87: 0x6c342a20,\n\t0x1bb88: 0x6cd46020, 0x1bb89: 0x6c2e1820, 0x1bb8a: 0x6cb3d820, 0x1bb8b: 0x6c2bf020,\n\t0x1bb8c: 0x6d2f0420, 0x1bb8d: 0x6c5d2420, 0x1bb8e: 0x6c613620, 0x1bb8f: 0x6ce1c220,\n\t0x1bb90: 0x6cb82820, 0x1bb91: 0x6cb5c420, 0x1bb92: 0x6cabfa20, 0x1bb93: 0x6cd4c820,\n\t0x1bb94: 0x6cb8e220, 0x1bb95: 0x6c8ce420, 0x1bb96: 0x6d125c20, 0x1bb97: 0x6d0b9c20,\n\t0x1bb98: 0x6c742420, 0x1bb99: 0x6d32b020, 0x1bb9a: 0x6c899020, 0x1bb9b: 0x6c48b020,\n\t0x1bb9c: 0x6d175c20, 0x1bb9d: 0x6c5dc220, 0x1bb9e: 0x6ccd8220, 0x1bb9f: 0x6d332020,\n\t0x1bba0: 0x6c361020, 0x1bba1: 0x6c112a20, 0x1bba2: 0x6ce09420, 0x1bba3: 0x6c181e20,\n\t0x1bba4: 0x6c0db020, 0x1bba5: 0x6c69fa20, 0x1bba6: 0x6ce3ee20, 0x1bba7: 0x6c79a420,\n\t0x1bba8: 0x6ce99020, 0x1bba9: 0x6d0d6620, 0x1bbaa: 0x6c262220, 0x1bbab: 0x6d387420,\n\t0x1bbac: 0x6c708a20, 0x1bbad: 0x6ce53420, 0x1bbae: 0x6cb98820, 0x1bbaf: 0x6c791820,\n\t0x1bbb0: 0x6c040020, 0x1bbb1: 0x6cabd420, 0x1bbb2: 0x6c69fc20, 0x1bbb3: 0x6c91ba20,\n\t0x1bbb4: 0x6c48cc20, 0x1bbb5: 0x6ca04e20, 0x1bbb6: 0x6c454620, 0x1bbb7: 0x6d35e020,\n\t0x1bbb8: 0x6c283420, 0x1bbb9: 0x6c9c2a20, 0x1bbba: 0x6c11f220, 0x1bbbb: 0x6ccaa620,\n\t0x1bbbc: 0x6c498220, 0x1bbbd: 0x6caf1020, 0x1bbbe: 0x6d261c20, 0x1bbbf: 0x6caaee20,\n\t// Block 0x6ef, offset 0x1bbc0\n\t0x1bbc0: 0x6c659020, 0x1bbc1: 0x6d32c420, 0x1bbc2: 0x6c6f7220, 0x1bbc3: 0x6c659220,\n\t0x1bbc4: 0x6d212620, 0x1bbc5: 0x6d0ca820, 0x1bbc6: 0x6c7c7820, 0x1bbc7: 0x6ca42620,\n\t0x1bbc8: 0x6c52a420, 0x1bbc9: 0x6cc74a20, 0x1bbca: 0x6cb09620, 0x1bbcb: 0x6cee8820,\n\t0x1bbcc: 0x6cc9c420, 0x1bbcd: 0x6d408820, 0x1bbce: 0x6d079c20, 0x1bbcf: 0x6c9e7620,\n\t0x1bbd0: 0x6ce32420, 0x1bbd1: 0x6ca7dc20, 0x1bbd2: 0x6c139c20, 0x1bbd3: 0x6cd38620,\n\t0x1bbd4: 0x6d3ff220, 0x1bbd5: 0x6d324220, 0x1bbd6: 0x6d13f220, 0x1bbd7: 0x6d0a1020,\n\t0x1bbd8: 0x6d1df620, 0x1bbd9: 0x6c0af220, 0x1bbda: 0x6d0fb620, 0x1bbdb: 0x6c592220,\n\t0x1bbdc: 0x6d0d8220, 0x1bbdd: 0x6d296a20, 0x1bbde: 0x6c018620, 0x1bbdf: 0x6d059a20,\n\t0x1bbe0: 0x6d0bac20, 0x1bbe1: 0x6cf2ee20, 0x1bbe2: 0x6c784c20, 0x1bbe3: 0x6c1fb420,\n\t0x1bbe4: 0x6c600020, 0x1bbe5: 0x6ce3fa20, 0x1bbe6: 0x6c7e5e20, 0x1bbe7: 0x6c7e7a20,\n\t0x1bbe8: 0x6c18c820, 0x1bbe9: 0x6c762e20, 0x1bbea: 0x6c6f7420, 0x1bbeb: 0x6c6f7c20,\n\t0x1bbec: 0x6ce8ae20, 0x1bbed: 0x6c6a1220, 0x1bbee: 0x6c5ab420, 0x1bbef: 0x6c44b420,\n\t0x1bbf0: 0x6c1d5020, 0x1bbf1: 0x6cfed620, 0x1bbf2: 0x6c2ea420, 0x1bbf3: 0x6d004020,\n\t0x1bbf4: 0x6d256220, 0x1bbf5: 0x6cb98a20, 0x1bbf6: 0x6d127c20, 0x1bbf7: 0x6c139e20,\n\t0x1bbf8: 0x6d2bda20, 0x1bbf9: 0x6c069e20, 0x1bbfa: 0x6d10f820, 0x1bbfb: 0x6cee8a20,\n\t0x1bbfc: 0x6c086a20, 0x1bbfd: 0x6c802820, 0x1bbfe: 0x6cf20c20, 0x1bbff: 0x6cbe1420,\n\t// Block 0x6f0, offset 0x1bc00\n\t0x1bc00: 0x6c14ca20, 0x1bc01: 0x6c439220, 0x1bc02: 0x6c90e420, 0x1bc03: 0x6d3ff420,\n\t0x1bc04: 0x6c44ce20, 0x1bc05: 0x6c68f220, 0x1bc06: 0x6c46b820, 0x1bc07: 0x6cbe1a20,\n\t0x1bc08: 0x6cc68420, 0x1bc09: 0x6cc3ca20, 0x1bc0a: 0x6c1d7420, 0x1bc0b: 0x6c1fb620,\n\t0x1bc0c: 0x6d2df620, 0x1bc0d: 0x6cdcf020, 0x1bc0e: 0x6cdcd420, 0x1bc0f: 0x6c0f1220,\n\t0x1bc10: 0x6c1f4e20, 0x1bc11: 0x6cc67420, 0x1bc12: 0x6c057a20, 0x1bc13: 0x6c25ba20,\n\t0x1bc14: 0x6ccaac20, 0x1bc15: 0x6c780620, 0x1bc16: 0x6d111020, 0x1bc17: 0x6c29dc20,\n\t0x1bc18: 0x6d33ee20, 0x1bc19: 0x6caa6620, 0x1bc1a: 0x6c7e4820, 0x1bc1b: 0x6c64b020,\n\t0x1bc1c: 0x6cd9b020, 0x1bc1d: 0x6cc0ae20, 0x1bc1e: 0x6c430820, 0x1bc1f: 0x6cfc1420,\n\t0x1bc20: 0x6cd78620, 0x1bc21: 0x6cca8020, 0x1bc22: 0x6c6d1420, 0x1bc23: 0x6c9edc20,\n\t0x1bc24: 0x6c365820, 0x1bc25: 0x6c20ce20, 0x1bc26: 0x6caafc20, 0x1bc27: 0x6cccea20,\n\t0x1bc28: 0x6cde5c20, 0x1bc29: 0x6d2c7e20, 0x1bc2a: 0x6ce10220, 0x1bc2b: 0x6cac6420,\n\t0x1bc2c: 0x6c048620, 0x1bc2d: 0x6c265020, 0x1bc2e: 0x6c863020, 0x1bc2f: 0x6ce1d620,\n\t0x1bc30: 0x6c555c20, 0x1bc31: 0x6d365620, 0x1bc32: 0x6cebe220, 0x1bc33: 0x6c574220,\n\t0x1bc34: 0x6cb90220, 0x1bc35: 0x6cf20e20, 0x1bc36: 0x6cbb3e20, 0x1bc37: 0x6ce4ac20,\n\t0x1bc38: 0x6d316220, 0x1bc39: 0x6c365a20, 0x1bc3a: 0x6d00ba20, 0x1bc3b: 0x6cab0220,\n\t0x1bc3c: 0x6cc2fc20, 0x1bc3d: 0x6c13e220, 0x1bc3e: 0x6d2ccc20, 0x1bc3f: 0x6c441020,\n\t// Block 0x6f1, offset 0x1bc40\n\t0x1bc40: 0x6cf44e20, 0x1bc41: 0x6c372420, 0x1bc42: 0x6ccf5220, 0x1bc43: 0x6c776820,\n\t0x1bc44: 0x6ccf5420, 0x1bc45: 0x6cd4e820, 0x1bc46: 0x6c042620, 0x1bc47: 0x6d111220,\n\t0x1bc48: 0x6c0d8020, 0x1bc49: 0x6cd9be20, 0x1bc4a: 0x6cdfae20, 0x1bc4b: 0x6cc97820,\n\t0x1bc4c: 0x6c15ca20, 0x1bc4d: 0x6cdd2a20, 0x1bc4e: 0x6c6f8020, 0x1bc4f: 0x6c1cd220,\n\t0x1bc50: 0x6c205620, 0x1bc51: 0x6c48d220, 0x1bc52: 0x6c0de620, 0x1bc53: 0x6c3cac20,\n\t0x1bc54: 0x6cd65620, 0x1bc55: 0x6c2c7e20, 0x1bc56: 0x6cb7ae20, 0x1bc57: 0x6cd9cc20,\n\t0x1bc58: 0x6d2cf820, 0x1bc59: 0x6c88c220, 0x1bc5a: 0x6c197c20, 0x1bc5b: 0x6c1ab820,\n\t0x1bc5c: 0x6c499820, 0x1bc5d: 0x6c928220, 0x1bc5e: 0x6c961420, 0x1bc5f: 0x6c90ee20,\n\t0x1bc60: 0x6d400020, 0x1bc61: 0x6c413420, 0x1bc62: 0x6c56b620, 0x1bc63: 0x6d2bea20,\n\t0x1bc64: 0x6c209420, 0x1bc65: 0x6ce19e20, 0x1bc66: 0x6c57ac20, 0x1bc67: 0x6c24dc20,\n\t0x1bc68: 0x6ca38420, 0x1bc69: 0x6ca07220, 0x1bc6a: 0x6c676820, 0x1bc6b: 0x6c4a7a20,\n\t0x1bc6c: 0x6d1cfc20, 0x1bc6d: 0x6d348020, 0x1bc6e: 0x6c026020, 0x1bc6f: 0x6d36ae20,\n\t0x1bc70: 0x6ca85c20, 0x1bc71: 0x6c97ea20, 0x1bc72: 0x6c163020, 0x1bc73: 0x6c79c220,\n\t0x1bc74: 0x6c1e6220, 0x1bc75: 0x6ccf6420, 0x1bc76: 0x6ce95420, 0x1bc77: 0x6c691420,\n\t0x1bc78: 0x6ca05620, 0x1bc79: 0x6ca06820, 0x1bc7a: 0x6d306c20, 0x1bc7b: 0x6c11fc20,\n\t0x1bc7c: 0x6c794820, 0x1bc7d: 0x6c0c0a20, 0x1bc7e: 0x6c67f620, 0x1bc7f: 0x6d19f420,\n\t// Block 0x6f2, offset 0x1bc80\n\t0x1bc80: 0x6c46ce20, 0x1bc81: 0x6cb90420, 0x1bc82: 0x6c8aa020, 0x1bc83: 0x6c608420,\n\t0x1bc84: 0x6d1bce20, 0x1bc85: 0x6c73b420, 0x1bc86: 0x6cb1d020, 0x1bc87: 0x6cb1ca20,\n\t0x1bc88: 0x6c813c20, 0x1bc89: 0x6c33ac20, 0x1bc8a: 0x6cfcfa20, 0x1bc8b: 0x6cc84420,\n\t0x1bc8c: 0x6c4b6620, 0x1bc8d: 0x6d297420, 0x1bc8e: 0x6d185020, 0x1bc8f: 0x6cfb7e20,\n\t0x1bc90: 0x6c198820, 0x1bc91: 0x6c198a20, 0x1bc92: 0x6cc94620, 0x1bc93: 0x6ca4ba20,\n\t0x1bc94: 0x6c53ca20, 0x1bc95: 0x6cd81620, 0x1bc96: 0x6c4ee020, 0x1bc97: 0x6c4a2620,\n\t0x1bc98: 0x6c266420, 0x1bc99: 0x6d420c20, 0x1bc9a: 0x6ca73420, 0x1bc9b: 0x6c8c2a20,\n\t0x1bc9c: 0x6d332c20, 0x1bc9d: 0x6c5ae420, 0x1bc9e: 0x6d3c4820, 0x1bc9f: 0x6c692820,\n\t0x1bca0: 0x6c615020, 0x1bca1: 0x6c126620, 0x1bca2: 0x6c283c20, 0x1bca3: 0x6c283e20,\n\t0x1bca4: 0x6c183220, 0x1bca5: 0x6c0e8820, 0x1bca6: 0x6c17ee20, 0x1bca7: 0x6c73b620,\n\t0x1bca8: 0x6c3f8020, 0x1bca9: 0x6c89d220, 0x1bcaa: 0x6c07c220, 0x1bcab: 0x6c3f8220,\n\t0x1bcac: 0x6cbc5820, 0x1bcad: 0x6c0e8a20, 0x1bcae: 0x6c25c620, 0x1bcaf: 0x6d3d7a20,\n\t0x1bcb0: 0x6d3bda20, 0x1bcb1: 0x6ceff020, 0x1bcb2: 0x6cb40e20, 0x1bcb3: 0x6cbe2220,\n\t0x1bcb4: 0x6c33a620, 0x1bcb5: 0x6ca73620, 0x1bcb6: 0x6c574420, 0x1bcb7: 0x6d00d820,\n\t0x1bcb8: 0x6c912e20, 0x1bcb9: 0x6c692a20, 0x1bcba: 0x6c249020, 0x1bcbb: 0x6cde8c20,\n\t0x1bcbc: 0x6c4f0420, 0x1bcbd: 0x6cbc5c20, 0x1bcbe: 0x6cf29a20, 0x1bcbf: 0x6c65d620,\n\t// Block 0x6f3, offset 0x1bcc0\n\t0x1bcc0: 0x6c41ea20, 0x1bcc1: 0x6d1db220, 0x1bcc2: 0x6c825620, 0x1bcc3: 0x6ca46e20,\n\t0x1bcc4: 0x6c91da20, 0x1bcc5: 0x6ccda820, 0x1bcc6: 0x6d3d7c20, 0x1bcc7: 0x6d2afa20,\n\t0x1bcc8: 0x6cb41420, 0x1bcc9: 0x6c21d620, 0x1bcca: 0x6c5f5220, 0x1bccb: 0x6c293420,\n\t0x1bccc: 0x6ccb5620, 0x1bccd: 0x6c126820, 0x1bcce: 0x6cbe8c20, 0x1bccf: 0x6cbe8420,\n\t0x1bcd0: 0x6c595220, 0x1bcd1: 0x6c6a3020, 0x1bcd2: 0x6cbd9420, 0x1bcd3: 0x6c7b0220,\n\t0x1bcd4: 0x6c27fa20, 0x1bcd5: 0x6d00dc20, 0x1bcd6: 0x6c761420, 0x1bcd7: 0x6cb06e20,\n\t0x1bcd8: 0x6c040620, 0x1bcd9: 0x6c02f220, 0x1bcda: 0x6c728c20, 0x1bcdb: 0x6d132620,\n\t0x1bcdc: 0x6c370620, 0x1bcdd: 0x6c9c2c20, 0x1bcde: 0x6cda2620, 0x1bcdf: 0x6c9c7a20,\n\t0x1bce0: 0x6c615420, 0x1bce1: 0x6cdf4820, 0x1bce2: 0x6d3da820, 0x1bce3: 0x6c29f220,\n\t0x1bce4: 0x6d040a20, 0x1bce5: 0x6c804420, 0x1bce6: 0x6c10da20, 0x1bce7: 0x6c71d820,\n\t0x1bce8: 0x6d129220, 0x1bce9: 0x6cc80620, 0x1bcea: 0x6d136820, 0x1bceb: 0x6d135a20,\n\t0x1bcec: 0x6ca65220, 0x1bced: 0x6cf31420, 0x1bcee: 0x6c60bc20, 0x1bcef: 0x6c0d8820,\n\t0x1bcf0: 0x6ca92420, 0x1bcf1: 0x6c43b420, 0x1bcf2: 0x6d370420, 0x1bcf3: 0x6d36de20,\n\t0x1bcf4: 0x6c7e1a20, 0x1bcf5: 0x6ca08620, 0x1bcf6: 0x6c66ec20, 0x1bcf7: 0x6d011020,\n\t0x1bcf8: 0x6c8b4c20, 0x1bcf9: 0x6cdfc020, 0x1bcfa: 0x6c042a20, 0x1bcfb: 0x6cda3020,\n\t0x1bcfc: 0x6c91e820, 0x1bcfd: 0x6c94ca20, 0x1bcfe: 0x6cc54220, 0x1bcff: 0x6ce2fe20,\n\t// Block 0x6f4, offset 0x1bd00\n\t0x1bd00: 0x6cac4c20, 0x1bd01: 0x6d103620, 0x1bd02: 0x6c834c20, 0x1bd03: 0x6c10dc20,\n\t0x1bd04: 0x6cd51420, 0x1bd05: 0x6d297a20, 0x1bd06: 0x6ca74220, 0x1bd07: 0x6cfc4020,\n\t0x1bd08: 0x6c75fa20, 0x1bd09: 0x6c5d6620, 0x1bd0a: 0x6c86f420, 0x1bd0b: 0x6c7ea420,\n\t0x1bd0c: 0x6c58e420, 0x1bd0d: 0x6d1cb620, 0x1bd0e: 0x6c917020, 0x1bd0f: 0x6c904420,\n\t0x1bd10: 0x6cb93a20, 0x1bd11: 0x6cb93c20, 0x1bd12: 0x6d297c20, 0x1bd13: 0x6cb94620,\n\t0x1bd14: 0x6c7fe620, 0x1bd15: 0x6cfafc20, 0x1bd16: 0x6d1c1e20, 0x1bd17: 0x6c9a3a20,\n\t0x1bd18: 0x6cc50820, 0x1bd19: 0x6c14e020, 0x1bd1a: 0x6d1d6c20, 0x1bd1b: 0x6c249820,\n\t0x1bd1c: 0x6d012420, 0x1bd1d: 0x6ccf8a20, 0x1bd1e: 0x6c957420, 0x1bd1f: 0x6c760820,\n\t0x1bd20: 0x6c9cb220, 0x1bd21: 0x6c84a620, 0x1bd22: 0x6d298220, 0x1bd23: 0x6c945820,\n\t0x1bd24: 0x6cdfc420, 0x1bd25: 0x6d416420, 0x1bd26: 0x6c876620, 0x1bd27: 0x6c2cf820,\n\t0x1bd28: 0x6cec0020, 0x1bd29: 0x6c293c20, 0x1bd2a: 0x6c697420, 0x1bd2b: 0x6c751c20,\n\t0x1bd2c: 0x6c805c20, 0x1bd2d: 0x6c879e20, 0x1bd2e: 0x6ca47620, 0x1bd2f: 0x6d337e20,\n\t0x1bd30: 0x6c4b2820, 0x1bd31: 0x6c4ad820, 0x1bd32: 0x6cb4f020, 0x1bd33: 0x6d0a3a20,\n\t0x1bd34: 0x6cb3fc20, 0x1bd35: 0x6cdba820, 0x1bd36: 0x6cd42a20, 0x1bd37: 0x6c779a20,\n\t0x1bd38: 0x6d1e9020, 0x1bd39: 0x6c410c20, 0x1bd3a: 0x6d15bc20, 0x1bd3b: 0x6c455e20,\n\t0x1bd3c: 0x6c416620, 0x1bd3d: 0x6c047220, 0x1bd3e: 0x6c39e220, 0x1bd3f: 0x6d334220,\n\t// Block 0x6f5, offset 0x1bd40\n\t0x1bd40: 0x6cb36c20, 0x1bd41: 0x6c2cc020, 0x1bd42: 0x6c79da20, 0x1bd43: 0x6c9f9a20,\n\t0x1bd44: 0x6cf4c420, 0x1bd45: 0x6c480020, 0x1bd46: 0x6c50f020, 0x1bd47: 0x6c12d620,\n\t0x1bd48: 0x6cffdc20, 0x1bd49: 0x6c9ce620, 0x1bd4a: 0x6c1f2420, 0x1bd4b: 0x6c43d620,\n\t0x1bd4c: 0x6c2b6220, 0x1bd4d: 0x6d06b620, 0x1bd4e: 0x6c699a20, 0x1bd4f: 0x6c9fa820,\n\t0x1bd50: 0x6c18bc20, 0x1bd51: 0x6c6ff220, 0x1bd52: 0x6ccfda20, 0x1bd53: 0x6c344620,\n\t0x1bd54: 0x6d224e20, 0x1bd55: 0x6c1c0e20, 0x1bd56: 0x6c024020, 0x1bd57: 0x6c044020,\n\t0x1bd58: 0x6d06b820, 0x1bd59: 0x6c699c20, 0x1bd5a: 0x6c344820, 0x1bd5b: 0x6c88b420,\n\t0x1bd5c: 0x6ca82c20, 0x1bd5d: 0x6c097820, 0x1bd5e: 0x6c172c20, 0x1bd5f: 0x6c2d1a20,\n\t0x1bd60: 0x6c342e20, 0x1bd61: 0x6d179c20, 0x1bd62: 0x6c41d420, 0x1bd63: 0x6cca5420,\n\t0x1bd64: 0x6c786820, 0x1bd65: 0x6d0e7020, 0x1bd66: 0x6c339a20, 0x1bd67: 0x6c5ecc20,\n\t0x1bd68: 0x6ce81420, 0x1bd69: 0x6cffea20, 0x1bd6a: 0x6c345020, 0x1bd6b: 0x6c690620,\n\t0x1bd6c: 0x6c6e8420, 0x1bd6d: 0x6d0fc220, 0x1bd6e: 0x6cf9ce20, 0x1bd6f: 0x6c9f5e20,\n\t0x1bd70: 0x6cd5e420, 0x1bd71: 0x6c004820, 0x1bd72: 0x6cbb8c20, 0x1bd73: 0x6c004a20,\n\t0x1bd74: 0x6d333220, 0x1bd75: 0x6c2b8820, 0x1bd76: 0x6d324c20, 0x1bd77: 0x6c3d8e20,\n\t0x1bd78: 0x6cd60020, 0x1bd79: 0x6c8a1020, 0x1bd7a: 0x6cc13620, 0x1bd7b: 0x6d049e20,\n\t0x1bd7c: 0x6d161020, 0x1bd7d: 0x6c694020, 0x1bd7e: 0x6ccdfc20, 0x1bd7f: 0x6c694220,\n\t// Block 0x6f6, offset 0x1bd80\n\t0x1bd80: 0x6d3daa20, 0x1bd81: 0x6d18c220, 0x1bd82: 0x6c88ca20, 0x1bd83: 0x6c0a6820,\n\t0x1bd84: 0x6c848820, 0x1bd85: 0x6d002220, 0x1bd86: 0x6d002420, 0x1bd87: 0x6cf17a20,\n\t0x1bd88: 0x6d08f420, 0x1bd89: 0x6cb58220, 0x1bd8a: 0x6cb5a220, 0x1bd8b: 0x6d2cea20,\n\t0x1bd8c: 0x6c0d3620, 0x1bd8d: 0x6c742620, 0x1bd8e: 0x6d2cf020, 0x1bd8f: 0x6c80b820,\n\t0x1bd90: 0x6c3a5620, 0x1bd91: 0x6c048020, 0x1bd92: 0x6c048820, 0x1bd93: 0x6c7fb420,\n\t0x1bd94: 0x6d22a620, 0x1bd95: 0x6c7ff620, 0x1bd96: 0x6cf06420, 0x1bd97: 0x6c30f820,\n\t0x1bd98: 0x6cd0de20, 0x1bd99: 0x6c8a9420, 0x1bd9a: 0x6c640a20, 0x1bd9b: 0x6c554420,\n\t0x1bd9c: 0x6d00a020, 0x1bd9d: 0x6c641820, 0x1bd9e: 0x6d225820, 0x1bd9f: 0x6d316420,\n\t0x1bda0: 0x6c69ae20, 0x1bda1: 0x6cf30220, 0x1bda2: 0x6ce5ca20, 0x1bda3: 0x6c313a20,\n\t0x1bda4: 0x6c6c1e20, 0x1bda5: 0x6c1bdc20, 0x1bda6: 0x6d1a2e20, 0x1bda7: 0x6c3f4420,\n\t0x1bda8: 0x6cbaa420, 0x1bda9: 0x6d2ddc20, 0x1bdaa: 0x6cc17820, 0x1bdab: 0x6d3d3220,\n\t0x1bdac: 0x6d2de620, 0x1bdad: 0x6c32ba20, 0x1bdae: 0x6c262820, 0x1bdaf: 0x6cd7e820,\n\t0x1bdb0: 0x6d02dc20, 0x1bdb1: 0x6d3d5c20, 0x1bdb2: 0x6d3d7e20, 0x1bdb3: 0x6cbd9620,\n\t0x1bdb4: 0x6c8bda20, 0x1bdb5: 0x6d3dac20, 0x1bdb6: 0x6c1f7c20, 0x1bdb7: 0x6c32e020,\n\t0x1bdb8: 0x6d3a9020, 0x1bdb9: 0x6c398020, 0x1bdba: 0x6c159820, 0x1bdbb: 0x6c4f5e20,\n\t0x1bdbc: 0x6d20c220, 0x1bdbd: 0x6cd1aa20, 0x1bdbe: 0x6cae0e20, 0x1bdbf: 0x6d1f0820,\n\t// Block 0x6f7, offset 0x1bdc0\n\t0x1bdc0: 0x6c9a7c20, 0x1bdc1: 0x6cacfa20, 0x1bdc2: 0x6cb5a420, 0x1bdc3: 0x6d2d6820,\n\t0x1bdc4: 0x6c98d020, 0x1bdc5: 0x6c938a20, 0x1bdc6: 0x6cae1220, 0x1bdc7: 0x6caf6020,\n\t0x1bdc8: 0x6c8e4e20, 0x1bdc9: 0x6c3d6220, 0x1bdca: 0x6c39d020, 0x1bdcb: 0x6d081020,\n\t0x1bdcc: 0x6c6daa20, 0x1bdcd: 0x6c6dac20, 0x1bdce: 0x6ca63620, 0x1bdcf: 0x6d40b820,\n\t0x1bdd0: 0x6d2fb020, 0x1bdd1: 0x6d15ee20, 0x1bdd2: 0x6c8e6a20, 0x1bdd3: 0x6cce7420,\n\t0x1bdd4: 0x6c668a20, 0x1bdd5: 0x6d214c20, 0x1bdd6: 0x6d15fe20, 0x1bdd7: 0x6cb61a20,\n\t0x1bdd8: 0x6d36e020, 0x1bdd9: 0x6c385e20, 0x1bdda: 0x6cb16620, 0x1bddb: 0x6c386020,\n\t0x1bddc: 0x6d2db220, 0x1bddd: 0x6c7b4420, 0x1bdde: 0x6cdc9a20, 0x1bddf: 0x6d21d420,\n\t0x1bde0: 0x6cf39a20, 0x1bde1: 0x6c616c20, 0x1bde2: 0x6c61a820, 0x1bde3: 0x6c61ec20,\n\t0x1bde4: 0x6c5dce20, 0x1bde5: 0x6cc63620, 0x1bde6: 0x6c285e20, 0x1bde7: 0x6c6fca20,\n\t0x1bde8: 0x6d34d820, 0x1bde9: 0x6d2a3a20, 0x1bdea: 0x6d006820, 0x1bdeb: 0x6ce54620,\n\t0x1bdec: 0x6d09d620, 0x1bded: 0x6d066820, 0x1bdee: 0x6c40bc20, 0x1bdef: 0x6c7e5820,\n\t0x1bdf0: 0x6c420c20, 0x1bdf1: 0x6c4e8a20, 0x1bdf2: 0x6cdf1020, 0x1bdf3: 0x6c2c1620,\n\t0x1bdf4: 0x6d056620, 0x1bdf5: 0x6c159420, 0x1bdf6: 0x6cd23a20, 0x1bdf7: 0x6c7bde20,\n\t0x1bdf8: 0x6d0f7c20, 0x1bdf9: 0x6cd24620, 0x1bdfa: 0x6cee4c20, 0x1bdfb: 0x6c9f3020,\n\t0x1bdfc: 0x6c9f3220, 0x1bdfd: 0x6cea8620, 0x1bdfe: 0x6c20fc20, 0x1bdff: 0x6cf42820,\n\t// Block 0x6f8, offset 0x1be00\n\t0x1be00: 0x6d278820, 0x1be01: 0x6c06e620, 0x1be02: 0x6c01f420, 0x1be03: 0x6d2b3e20,\n\t0x1be04: 0x6c04ba20, 0x1be05: 0x6c6a7420, 0x1be06: 0x6c7d4c20, 0x1be07: 0x6cd0e020,\n\t0x1be08: 0x6c566820, 0x1be09: 0x6c39c420, 0x1be0a: 0x6c501c20, 0x1be0b: 0x6c4b2e20,\n\t0x1be0c: 0x6c166020, 0x1be0d: 0x6d077c20, 0x1be0e: 0x6c9fe820, 0x1be0f: 0x6c5cb220,\n\t0x1be10: 0x6c3b1620, 0x1be11: 0x6cbdc820, 0x1be12: 0x6c54a220, 0x1be13: 0x6d16ba20,\n\t0x1be14: 0x6cf58620, 0x1be15: 0x6d02b220, 0x1be16: 0x6d0c6420, 0x1be17: 0x6d2b4020,\n\t0x1be18: 0x6c39c620, 0x1be19: 0x6cdfd220, 0x1be1a: 0x6cd09420, 0x1be1b: 0x6c721020,\n\t0x1be1c: 0x6d0f9620, 0x1be1d: 0x6d296020, 0x1be1e: 0x6c0dcc20, 0x1be1f: 0x6d036a20,\n\t0x1be20: 0x6d1d3420, 0x1be21: 0x6d087620, 0x1be22: 0x6cb36e20, 0x1be23: 0x6d31c020,\n\t0x1be24: 0x6c8cb420, 0x1be25: 0x6c210020, 0x1be26: 0x6c502020, 0x1be27: 0x6c9a7e20,\n\t0x1be28: 0x6d422e20, 0x1be29: 0x6ca0e020, 0x1be2a: 0x6c0b8620, 0x1be2b: 0x6d069020,\n\t0x1be2c: 0x6c5cb420, 0x1be2d: 0x6d2f5c20, 0x1be2e: 0x6d401820, 0x1be2f: 0x6cd33820,\n\t0x1be30: 0x6cd33a20, 0x1be31: 0x6d22e220, 0x1be32: 0x6c3a8e20, 0x1be33: 0x6c2e7420,\n\t0x1be34: 0x6c993220, 0x1be35: 0x6ca68620, 0x1be36: 0x6c16e620, 0x1be37: 0x6cf14a20,\n\t0x1be38: 0x6c2fe420, 0x1be39: 0x6c006220, 0x1be3a: 0x6c0dce20, 0x1be3b: 0x6c01f620,\n\t0x1be3c: 0x6d390e20, 0x1be3d: 0x6c8f7420, 0x1be3e: 0x6cfbec20, 0x1be3f: 0x6c7be820,\n\t// Block 0x6f9, offset 0x1be40\n\t0x1be40: 0x6ce5ba20, 0x1be41: 0x6c175c20, 0x1be42: 0x6cd25c20, 0x1be43: 0x6c5a8220,\n\t0x1be44: 0x6c5a4e20, 0x1be45: 0x6d084820, 0x1be46: 0x6c7c6220, 0x1be47: 0x6d058020,\n\t0x1be48: 0x6c68dc20, 0x1be49: 0x6c6cea20, 0x1be4a: 0x6d35ba20, 0x1be4b: 0x6c6cec20,\n\t0x1be4c: 0x6cce3620, 0x1be4d: 0x6ce72e20, 0x1be4e: 0x6c53a020, 0x1be4f: 0x6d0e5020,\n\t0x1be50: 0x6c40ec20, 0x1be51: 0x6cfde020, 0x1be52: 0x6ccc9c20, 0x1be53: 0x6cffa820,\n\t0x1be54: 0x6d12de20, 0x1be55: 0x6d274c20, 0x1be56: 0x6c5aa220, 0x1be57: 0x6c4dfe20,\n\t0x1be58: 0x6c4eac20, 0x1be59: 0x6c75ae20, 0x1be5a: 0x6ced0820, 0x1be5b: 0x6cfcb020,\n\t0x1be5c: 0x6c7d5820, 0x1be5d: 0x6d392020, 0x1be5e: 0x6cf5ea20, 0x1be5f: 0x6c19de20,\n\t0x1be60: 0x6cd15820, 0x1be61: 0x6c101420, 0x1be62: 0x6d304c20, 0x1be63: 0x6d304e20,\n\t0x1be64: 0x6cf4dc20, 0x1be65: 0x6c4eae20, 0x1be66: 0x6c5bb620, 0x1be67: 0x6c503420,\n\t0x1be68: 0x6c194e20, 0x1be69: 0x6ced1820, 0x1be6a: 0x6ce4f420, 0x1be6b: 0x6d3d5e20,\n\t0x1be6c: 0x6d41b220, 0x1be6d: 0x6d38e820, 0x1be6e: 0x6cb48c20, 0x1be6f: 0x6c6e2020,\n\t0x1be70: 0x6cf60c20, 0x1be71: 0x6ccd4020, 0x1be72: 0x6ca63820, 0x1be73: 0x6cf60e20,\n\t0x1be74: 0x6cbe7a20, 0x1be75: 0x6cb6fc20, 0x1be76: 0x6c6db420, 0x1be77: 0x6c4afc20,\n\t0x1be78: 0x6d332220, 0x1be79: 0x6d179e20, 0x1be7a: 0x6d362820, 0x1be7b: 0x6c01c220,\n\t0x1be7c: 0x6ced1a20, 0x1be7d: 0x6c8bb220, 0x1be7e: 0x6c89b820, 0x1be7f: 0x6c166e20,\n\t// Block 0x6fa, offset 0x1be80\n\t0x1be80: 0x6cee1820, 0x1be81: 0x6cffac20, 0x1be82: 0x6d298c20, 0x1be83: 0x6c3b0620,\n\t0x1be84: 0x6d07a620, 0x1be85: 0x6c453420, 0x1be86: 0x6d151820, 0x1be87: 0x6cf9d020,\n\t0x1be88: 0x6d275420, 0x1be89: 0x6c5ac220, 0x1be8a: 0x6d064220, 0x1be8b: 0x6c9fba20,\n\t0x1be8c: 0x6c7c8820, 0x1be8d: 0x6d126020, 0x1be8e: 0x6d1d3a20, 0x1be8f: 0x6cd55c20,\n\t0x1be90: 0x6cefd820, 0x1be91: 0x6cd55a20, 0x1be92: 0x6cbe8220, 0x1be93: 0x6c998e20,\n\t0x1be94: 0x6ca40020, 0x1be95: 0x6c65ac20, 0x1be96: 0x6caa9420, 0x1be97: 0x6c01c620,\n\t0x1be98: 0x6d0fc420, 0x1be99: 0x6c210a20, 0x1be9a: 0x6d111e20, 0x1be9b: 0x6cdd7820,\n\t0x1be9c: 0x6c6d2820, 0x1be9d: 0x6ca00e20, 0x1be9e: 0x6c691620, 0x1be9f: 0x6c766620,\n\t0x1bea0: 0x6c430e20, 0x1bea1: 0x6cf25620, 0x1bea2: 0x6c171c20, 0x1bea3: 0x6cb7b020,\n\t0x1bea4: 0x6c505220, 0x1bea5: 0x6d0e9420, 0x1bea6: 0x6c864a20, 0x1bea7: 0x6c00ba20,\n\t0x1bea8: 0x6c623620, 0x1bea9: 0x6c626020, 0x1beaa: 0x6c9af820, 0x1beab: 0x6d299620,\n\t0x1beac: 0x6d01f820, 0x1bead: 0x6c505820, 0x1beae: 0x6ca2a220, 0x1beaf: 0x6ca14020,\n\t0x1beb0: 0x6c233820, 0x1beb1: 0x6ca6b820, 0x1beb2: 0x6d2ed420, 0x1beb3: 0x6c5c1420,\n\t0x1beb4: 0x6c066220, 0x1beb5: 0x6c4ef820, 0x1beb6: 0x6d081e20, 0x1beb7: 0x6c200420,\n\t0x1beb8: 0x6c8a1820, 0x1beb9: 0x6cfacc20, 0x1beba: 0x6c28ae20, 0x1bebb: 0x6c6e2e20,\n\t0x1bebc: 0x6cb1d220, 0x1bebd: 0x6c8bdc20, 0x1bebe: 0x6cea2820, 0x1bebf: 0x6cf80e20,\n\t// Block 0x6fb, offset 0x1bec0\n\t0x1bec0: 0x6d189220, 0x1bec1: 0x6c627620, 0x1bec2: 0x6c5a7620, 0x1bec3: 0x6c278820,\n\t0x1bec4: 0x6d131220, 0x1bec5: 0x6d131420, 0x1bec6: 0x6c867820, 0x1bec7: 0x6ce00e20,\n\t0x1bec8: 0x6ce78220, 0x1bec9: 0x6cffba20, 0x1beca: 0x6c3ace20, 0x1becb: 0x6cd07420,\n\t0x1becc: 0x6d2fde20, 0x1becd: 0x6c506620, 0x1bece: 0x6d18c420, 0x1becf: 0x6cfdfc20,\n\t0x1bed0: 0x6d03a220, 0x1bed1: 0x6cd02620, 0x1bed2: 0x6c694a20, 0x1bed3: 0x6c067020,\n\t0x1bed4: 0x6c6eaa20, 0x1bed5: 0x6d0ed020, 0x1bed6: 0x6c00de20, 0x1bed7: 0x6d135c20,\n\t0x1bed8: 0x6cc7dc20, 0x1bed9: 0x6cd57420, 0x1beda: 0x6c9b5820, 0x1bedb: 0x6d09b820,\n\t0x1bedc: 0x6d122e20, 0x1bedd: 0x6cb4bc20, 0x1bede: 0x6c86ca20, 0x1bedf: 0x6c18f620,\n\t0x1bee0: 0x6c7c0e20, 0x1bee1: 0x6c2f0420, 0x1bee2: 0x6c8a7e20, 0x1bee3: 0x6d0ef820,\n\t0x1bee4: 0x6c5e3e20, 0x1bee5: 0x6c917e20, 0x1bee6: 0x6cf73220, 0x1bee7: 0x6cc6dc20,\n\t0x1bee8: 0x6c8fd620, 0x1bee9: 0x6ca47220, 0x1beea: 0x6c95d620, 0x1beeb: 0x6c945a20,\n\t0x1beec: 0x6cccae20, 0x1beed: 0x6ce18e20, 0x1beee: 0x6d0e2420, 0x1beef: 0x6d3a4420,\n\t0x1bef0: 0x6d264220, 0x1bef1: 0x6d264420, 0x1bef2: 0x6cc0c620, 0x1bef3: 0x6d12bc20,\n\t0x1bef4: 0x6c452620, 0x1bef5: 0x6d12c420, 0x1bef6: 0x6c54a420, 0x1bef7: 0x6c50d620,\n\t0x1bef8: 0x6cd4b820, 0x1bef9: 0x6c127420, 0x1befa: 0x6c127020, 0x1befb: 0x6cd18620,\n\t0x1befc: 0x6c97da20, 0x1befd: 0x6c134820, 0x1befe: 0x6c135020, 0x1beff: 0x6ce3fc20,\n\t// Block 0x6fc, offset 0x1bf00\n\t0x1bf00: 0x6d41b020, 0x1bf01: 0x6c11d020, 0x1bf02: 0x6d06d620, 0x1bf03: 0x6c5be220,\n\t0x1bf04: 0x6d1af620, 0x1bf05: 0x6cbcd220, 0x1bf06: 0x6c3b4220, 0x1bf07: 0x6cb03820,\n\t0x1bf08: 0x6d266820, 0x1bf09: 0x6d1f9820, 0x1bf0a: 0x6cc85020, 0x1bf0b: 0x6cae8e20,\n\t0x1bf0c: 0x6c3b5a20, 0x1bf0d: 0x6c3df220, 0x1bf0e: 0x6c8cb620, 0x1bf0f: 0x6c3a4820,\n\t0x1bf10: 0x6cc17a20, 0x1bf11: 0x6ce3da20, 0x1bf12: 0x6caa7e20, 0x1bf13: 0x6ce5bc20,\n\t0x1bf14: 0x6cd77620, 0x1bf15: 0x6d322e20, 0x1bf16: 0x6c80fa20, 0x1bf17: 0x6c80f820,\n\t0x1bf18: 0x6d416c20, 0x1bf19: 0x6c9ff620, 0x1bf1a: 0x6c598c20, 0x1bf1b: 0x6cee5220,\n\t0x1bf1c: 0x6cea2020, 0x1bf1d: 0x6c176220, 0x1bf1e: 0x6c5ed220, 0x1bf1f: 0x6cb4f220,\n\t0x1bf20: 0x6d1bba20, 0x1bf21: 0x6d3f9820, 0x1bf22: 0x6cee5820, 0x1bf23: 0x6ce78420,\n\t0x1bf24: 0x6c811220, 0x1bf25: 0x6c81fa20, 0x1bf26: 0x6c9b5a20, 0x1bf27: 0x6c8fd820,\n\t0x1bf28: 0x6ca25c20, 0x1bf29: 0x6c2ac820, 0x1bf2a: 0x6cf06c20, 0x1bf2b: 0x6ca0bc20,\n\t0x1bf2c: 0x6c079220, 0x1bf2d: 0x6d2c1620, 0x1bf2e: 0x6cd59020, 0x1bf2f: 0x6cd59220,\n\t0x1bf30: 0x6ca26220, 0x1bf31: 0x6d397e20, 0x1bf32: 0x6cc56620, 0x1bf33: 0x6c031420,\n\t0x1bf34: 0x6cb48220, 0x1bf35: 0x6c352a20, 0x1bf36: 0x6c347020, 0x1bf37: 0x6c29ba20,\n\t0x1bf38: 0x6c857220, 0x1bf39: 0x6c4abe20, 0x1bf3a: 0x6c5e7820, 0x1bf3b: 0x6c6f4820,\n\t0x1bf3c: 0x6c08b220, 0x1bf3d: 0x6d051c20, 0x1bf3e: 0x6c19b420, 0x1bf3f: 0x6c22a820,\n\t// Block 0x6fd, offset 0x1bf40\n\t0x1bf40: 0x6ccbc020, 0x1bf41: 0x6cc83420, 0x1bf42: 0x6d28ac20, 0x1bf43: 0x6cc2b420,\n\t0x1bf44: 0x6cb8a620, 0x1bf45: 0x6d20b620, 0x1bf46: 0x6c416820, 0x1bf47: 0x6cf35420,\n\t0x1bf48: 0x6c137c20, 0x1bf49: 0x6cccbc20, 0x1bf4a: 0x6d09dc20, 0x1bf4b: 0x6c388420,\n\t0x1bf4c: 0x6cf4aa20, 0x1bf4d: 0x6d3ee620, 0x1bf4e: 0x6c87d820, 0x1bf4f: 0x6d041220,\n\t0x1bf50: 0x6c110820, 0x1bf51: 0x6c259220, 0x1bf52: 0x6cc5c220, 0x1bf53: 0x6c0bea20,\n\t0x1bf54: 0x6ceaa220, 0x1bf55: 0x6c2c1820, 0x1bf56: 0x6d2f2220, 0x1bf57: 0x6c983220,\n\t0x1bf58: 0x6c1be220, 0x1bf59: 0x6d168a20, 0x1bf5a: 0x6c412c20, 0x1bf5b: 0x6c456020,\n\t0x1bf5c: 0x6c323420, 0x1bf5d: 0x6c83a220, 0x1bf5e: 0x6cb6d620, 0x1bf5f: 0x6cd59820,\n\t0x1bf60: 0x6c425620, 0x1bf61: 0x6ce56a20, 0x1bf62: 0x6c681a20, 0x1bf63: 0x6ccdf820,\n\t0x1bf64: 0x6cedb620, 0x1bf65: 0x6c7ee020, 0x1bf66: 0x6c704420, 0x1bf67: 0x6c983420,\n\t0x1bf68: 0x6d0f7e20, 0x1bf69: 0x6c96b220, 0x1bf6a: 0x6c9e8820, 0x1bf6b: 0x6cd88e20,\n\t0x1bf6c: 0x6d254020, 0x1bf6d: 0x6c4f6020, 0x1bf6e: 0x6c3a8620, 0x1bf6f: 0x6c069020,\n\t0x1bf70: 0x6c6a7e20, 0x1bf71: 0x6c2fe020, 0x1bf72: 0x6c430020, 0x1bf73: 0x6d118e20,\n\t0x1bf74: 0x6cfa7c20, 0x1bf75: 0x6c1ed620, 0x1bf76: 0x6c20fe20, 0x1bf77: 0x6cabd020,\n\t0x1bf78: 0x6cd4a820, 0x1bf79: 0x6c578220, 0x1bf7a: 0x6d02b420, 0x1bf7b: 0x6c1e2020,\n\t0x1bf7c: 0x6d3aae20, 0x1bf7d: 0x6c1e2220, 0x1bf7e: 0x6cd90420, 0x1bf7f: 0x6c04bc20,\n\t// Block 0x6fe, offset 0x1bf80\n\t0x1bf80: 0x6cd90620, 0x1bf81: 0x6c5fd420, 0x1bf82: 0x6cf2d620, 0x1bf83: 0x6c6cda20,\n\t0x1bf84: 0x6c469420, 0x1bf85: 0x6c5e8e20, 0x1bf86: 0x6c98c620, 0x1bf87: 0x6cafb820,\n\t0x1bf88: 0x6c093a20, 0x1bf89: 0x6cee6220, 0x1bf8a: 0x6c021220, 0x1bf8b: 0x6c398820,\n\t0x1bf8c: 0x6c3b5c20, 0x1bf8d: 0x6d16bc20, 0x1bf8e: 0x6c3df420, 0x1bf8f: 0x6ca3e420,\n\t0x1bf90: 0x6cf58820, 0x1bf91: 0x6c566a20, 0x1bf92: 0x6d0ad420, 0x1bf93: 0x6c30dc20,\n\t0x1bf94: 0x6d02fe20, 0x1bf95: 0x6d31ba20, 0x1bf96: 0x6d109020, 0x1bf97: 0x6c8ba020,\n\t0x1bf98: 0x6cc8c220, 0x1bf99: 0x6c35ac20, 0x1bf9a: 0x6c99d620, 0x1bf9b: 0x6d2f9a20,\n\t0x1bf9c: 0x6c4cae20, 0x1bf9d: 0x6d339620, 0x1bf9e: 0x6c230420, 0x1bf9f: 0x6d281c20,\n\t0x1bfa0: 0x6d41e420, 0x1bfa1: 0x6c30de20, 0x1bfa2: 0x6cd4aa20, 0x1bfa3: 0x6d2a3c20,\n\t0x1bfa4: 0x6c352c20, 0x1bfa5: 0x6c858e20, 0x1bfa6: 0x6c934620, 0x1bfa7: 0x6c656620,\n\t0x1bfa8: 0x6c19be20, 0x1bfa9: 0x6cd9a020, 0x1bfaa: 0x6cbaa620, 0x1bfab: 0x6c3c2220,\n\t0x1bfac: 0x6ca3e620, 0x1bfad: 0x6cfe8620, 0x1bfae: 0x6cfa8a20, 0x1bfaf: 0x6c7a2e20,\n\t0x1bfb0: 0x6cb28420, 0x1bfb1: 0x6cdf1c20, 0x1bfb2: 0x6cf7d420, 0x1bfb3: 0x6d350220,\n\t0x1bfb4: 0x6c48da20, 0x1bfb5: 0x6cfe8c20, 0x1bfb6: 0x6c643a20, 0x1bfb7: 0x6c633420,\n\t0x1bfb8: 0x6c467620, 0x1bfb9: 0x6c05aa20, 0x1bfba: 0x6ca0e220, 0x1bfbb: 0x6d16f220,\n\t0x1bfbc: 0x6d12d820, 0x1bfbd: 0x6d12e020, 0x1bfbe: 0x6cd33c20, 0x1bfbf: 0x6ca7fa20,\n\t// Block 0x6ff, offset 0x1bfc0\n\t0x1bfc0: 0x6c08c220, 0x1bfc1: 0x6c34d820, 0x1bfc2: 0x6d149e20, 0x1bfc3: 0x6c8cb820,\n\t0x1bfc4: 0x6c0dd020, 0x1bfc5: 0x6ca63020, 0x1bfc6: 0x6c7e4020, 0x1bfc7: 0x6c50d820,\n\t0x1bfc8: 0x6c04f020, 0x1bfc9: 0x6c388620, 0x1bfca: 0x6d37a420, 0x1bfcb: 0x6c274620,\n\t0x1bfcc: 0x6c222c20, 0x1bfcd: 0x6d100a20, 0x1bfce: 0x6c3d4a20, 0x1bfcf: 0x6c041a20,\n\t0x1bfd0: 0x6ca1fe20, 0x1bfd1: 0x6c418620, 0x1bfd2: 0x6cb4d420, 0x1bfd3: 0x6cc4ba20,\n\t0x1bfd4: 0x6cc74220, 0x1bfd5: 0x6c995220, 0x1bfd6: 0x6cce9a20, 0x1bfd7: 0x6cd90e20,\n\t0x1bfd8: 0x6d30e620, 0x1bfd9: 0x6cf99620, 0x1bfda: 0x6d202a20, 0x1bfdb: 0x6ccfba20,\n\t0x1bfdc: 0x6c4b3020, 0x1bfdd: 0x6ceb9a20, 0x1bfde: 0x6d2cb420, 0x1bfdf: 0x6ca3ec20,\n\t0x1bfe0: 0x6ca8fe20, 0x1bfe1: 0x6d1e2420, 0x1bfe2: 0x6c2be420, 0x1bfe3: 0x6d359e20,\n\t0x1bfe4: 0x6d2bcc20, 0x1bfe5: 0x6c13cc20, 0x1bfe6: 0x6c287020, 0x1bfe7: 0x6c46f820,\n\t0x1bfe8: 0x6c107620, 0x1bfe9: 0x6c6fdc20, 0x1bfea: 0x6c022820, 0x1bfeb: 0x6c3e0c20,\n\t0x1bfec: 0x6c657020, 0x1bfed: 0x6c032e20, 0x1bfee: 0x6c34da20, 0x1bfef: 0x6c77de20,\n\t0x1bff0: 0x6ca3b020, 0x1bff1: 0x6d3abe20, 0x1bff2: 0x6c094820, 0x1bff3: 0x6c8efa20,\n\t0x1bff4: 0x6c147620, 0x1bff5: 0x6cccd020, 0x1bff6: 0x6cd89e20, 0x1bff7: 0x6c1f1820,\n\t0x1bff8: 0x6cadb620, 0x1bff9: 0x6cd31a20, 0x1bffa: 0x6c48dc20, 0x1bffb: 0x6d2bce20,\n\t0x1bffc: 0x6d119820, 0x1bffd: 0x6c195620, 0x1bffe: 0x6c6fde20, 0x1bfff: 0x6cd33e20,\n\t// Block 0x700, offset 0x1c000\n\t0x1c000: 0x6d33a620, 0x1c001: 0x6c8efc20, 0x1c002: 0x6c99de20, 0x1c003: 0x6c87da20,\n\t0x1c004: 0x6cc65620, 0x1c005: 0x6d2cb620, 0x1c006: 0x6d2aa020, 0x1c007: 0x6c0bec20,\n\t0x1c008: 0x6d2e4c20, 0x1c009: 0x6d35a020, 0x1c00a: 0x6c8f7620, 0x1c00b: 0x6c306220,\n\t0x1c00c: 0x6c914420, 0x1c00d: 0x6cd0ea20, 0x1c00e: 0x6c85a620, 0x1c00f: 0x6c7f9020,\n\t0x1c010: 0x6d1e1c20, 0x1c011: 0x6cd5ae20, 0x1c012: 0x6d09f620, 0x1c013: 0x6cd68420,\n\t0x1c014: 0x6cb76820, 0x1c015: 0x6d313820, 0x1c016: 0x6cb4dc20, 0x1c017: 0x6c85ca20,\n\t0x1c018: 0x6d14c220, 0x1c019: 0x6cfdba20, 0x1c01a: 0x6d323020, 0x1c01b: 0x6c85cc20,\n\t0x1c01c: 0x6ccb1a20, 0x1c01d: 0x6c484e20, 0x1c01e: 0x6c76a420, 0x1c01f: 0x6c078420,\n\t0x1c020: 0x6cc58e20, 0x1c021: 0x6cffde20, 0x1c022: 0x6c041c20, 0x1c023: 0x6cc59020,\n\t0x1c024: 0x6c0e1220, 0x1c025: 0x6d3e1620, 0x1c026: 0x6c1d9820, 0x1c027: 0x6d172c20,\n\t0x1c028: 0x6c22be20, 0x1c029: 0x6d063420, 0x1c02a: 0x6d399220, 0x1c02b: 0x6c666c20,\n\t0x1c02c: 0x6d41a820, 0x1c02d: 0x6c374a20, 0x1c02e: 0x6c378e20, 0x1c02f: 0x6d1fb820,\n\t0x1c030: 0x6c380c20, 0x1c031: 0x6c45e220, 0x1c032: 0x6c77a620, 0x1c033: 0x6c81ac20,\n\t0x1c034: 0x6d2d6a20, 0x1c035: 0x6c8aec20, 0x1c036: 0x6d19be20, 0x1c037: 0x6d104420,\n\t0x1c038: 0x6c50f220, 0x1c039: 0x6c449820, 0x1c03a: 0x6d172e20, 0x1c03b: 0x6cd34e20,\n\t0x1c03c: 0x6c43dc20, 0x1c03d: 0x6d28fc20, 0x1c03e: 0x6c943620, 0x1c03f: 0x6c3e3420,\n\t// Block 0x701, offset 0x1c040\n\t0x1c040: 0x6c6aa620, 0x1c041: 0x6c525c20, 0x1c042: 0x6c4b3e20, 0x1c043: 0x6ce21020,\n\t0x1c044: 0x6c49e420, 0x1c045: 0x6ceef420, 0x1c046: 0x6c7b9820, 0x1c047: 0x6cc79620,\n\t0x1c048: 0x6c01ac20, 0x1c049: 0x6c012020, 0x1c04a: 0x6c734a20, 0x1c04b: 0x6d14c420,\n\t0x1c04c: 0x6d3cf820, 0x1c04d: 0x6c7a3620, 0x1c04e: 0x6d35bc20, 0x1c04f: 0x6cbf0420,\n\t0x1c050: 0x6ce73020, 0x1c051: 0x6cca6c20, 0x1c052: 0x6cca6a20, 0x1c053: 0x6c586a20,\n\t0x1c054: 0x6c710420, 0x1c055: 0x6c6fea20, 0x1c056: 0x6d094c20, 0x1c057: 0x6c34e020,\n\t0x1c058: 0x6d3c7c20, 0x1c059: 0x6d20f220, 0x1c05a: 0x6d296420,\n\t0x1c05c: 0x6d1ba620, 0x1c05d: 0x6c6c1820, 0x1c05e: 0x6c8f6220, 0x1c05f: 0x6d2e5020,\n\t0x1c060: 0x6d0ade20, 0x1c061: 0x6cc52620, 0x1c062: 0x6d313a20, 0x1c063: 0x6c295e20,\n\t0x1c064: 0x6cb4de20, 0x1c065: 0x6cbbd820, 0x1c066: 0x6c578c20, 0x1c067: 0x6c4b4020,\n\t0x1c068: 0x6c67a220, 0x1c069: 0x6d3c1220, 0x1c06a: 0x6d09f820, 0x1c06b: 0x6cdd1620,\n\t0x1c06c: 0x6ccbe620, 0x1c06d: 0x6d314e20, 0x1c06e: 0x6c069a20, 0x1c06f: 0x6ce64020,\n\t0x1c070: 0x6c7df220, 0x1c071: 0x6c6e7020, 0x1c072: 0x6cb3c220, 0x1c073: 0x6c07b020,\n\t0x1c074: 0x6c3e4e20, 0x1c075: 0x6cc89a20, 0x1c076: 0x6ce7b620, 0x1c077: 0x6c742820,\n\t0x1c078: 0x6cf5ec20, 0x1c079: 0x6c80ba20, 0x1c07a: 0x6c8f0420, 0x1c07b: 0x6c3c3c20,\n\t0x1c07c: 0x6cb4e820, 0x1c07d: 0x6cf1d420, 0x1c07e: 0x6c756c20, 0x1c07f: 0x6c41d620,\n\t// Block 0x702, offset 0x1c080\n\t0x1c080: 0x6cdaa220, 0x1c081: 0x6c894c20, 0x1c082: 0x6cc04620, 0x1c083: 0x6ce6be20,\n\t0x1c084: 0x6d1fc020, 0x1c085: 0x6c99ec20, 0x1c086: 0x6c052420, 0x1c087: 0x6c906620,\n\t0x1c088: 0x6cae6820, 0x1c089: 0x6d3c1620, 0x1c08a: 0x6c2c4020, 0x1c08b: 0x6d078c20,\n\t0x1c08c: 0x6ce8a220, 0x1c08d: 0x6d2a7e20, 0x1c08e: 0x6c022a20, 0x1c08f: 0x6c481020,\n\t0x1c090: 0x6c097a20, 0x1c091: 0x6c2b6820, 0x1c092: 0x6c4e0020, 0x1c093: 0x6d3f0820,\n\t0x1c094: 0x6d33d420, 0x1c095: 0x6cc5e620, 0x1c096: 0x6c070e20, 0x1c097: 0x6c450820,\n\t0x1c098: 0x6c658620, 0x1c099: 0x6c591020, 0x1c09a: 0x6ced0a20, 0x1c09b: 0x6caaba20,\n\t0x1c09c: 0x6c634a20, 0x1c09d: 0x6ce57c20, 0x1c09e: 0x6c61ee20, 0x1c09f: 0x6cfeb220,\n\t0x1c0a0: 0x6c938e20, 0x1c0a1: 0x6c5ce620, 0x1c0a2: 0x6cce6820, 0x1c0a3: 0x6c133020,\n\t0x1c0a4: 0x6c3b6c20, 0x1c0a5: 0x6cd91a20, 0x1c0a6: 0x6c9c0220, 0x1c0a7: 0x6cf3c020,\n\t0x1c0a8: 0x6c83bc20, 0x1c0a9: 0x6c83be20, 0x1c0aa: 0x6c311020, 0x1c0ab: 0x6cbdd020,\n\t0x1c0ac: 0x6d1cea20, 0x1c0ad: 0x6cdd1820, 0x1c0ae: 0x6c708c20, 0x1c0af: 0x6ce2ea20,\n\t0x1c0b0: 0x6d019020, 0x1c0b1: 0x6c7da820, 0x1c0b2: 0x6d3d5020, 0x1c0b3: 0x6cd4ca20,\n\t0x1c0b4: 0x6c14c020, 0x1c0b5: 0x6c394220, 0x1c0b6: 0x6cefae20, 0x1c0b7: 0x6c6e7220,\n\t0x1c0b8: 0x6c83c020, 0x1c0b9: 0x6c0d3220, 0x1c0ba: 0x6cfa6420, 0x1c0bb: 0x6c3d1020,\n\t0x1c0bc: 0x6ce21c20, 0x1c0bd: 0x6d35e220, 0x1c0be: 0x6c7efa20, 0x1c0bf: 0x6c87fc20,\n\t// Block 0x703, offset 0x1c0c0\n\t0x1c0c0: 0x6c658820, 0x1c0c1: 0x6d3cfc20, 0x1c0c2: 0x6c8ce620, 0x1c0c3: 0x6c83d420,\n\t0x1c0c4: 0x6cb79220, 0x1c0c5: 0x6c0e2220, 0x1c0c6: 0x6c94f820, 0x1c0c7: 0x6c231620,\n\t0x1c0c8: 0x6cba5420, 0x1c0c9: 0x6c9dc420, 0x1c0ca: 0x6cb5e620, 0x1c0cb: 0x6cb5e820,\n\t0x1c0cc: 0x6c114620, 0x1c0cd: 0x6c4bf820, 0x1c0ce: 0x6c14f420, 0x1c0cf: 0x6c2a7020,\n\t0x1c0d0: 0x6c3a5820, 0x1c0d1: 0x6cabfe20, 0x1c0d2: 0x6c057020, 0x1c0d3: 0x6c057220,\n\t0x1c0d4: 0x6c5cca20, 0x1c0d5: 0x6d3f8e20, 0x1c0d6: 0x6c1a0020, 0x1c0d7: 0x6d2a4c20,\n\t0x1c0d8: 0x6c603820, 0x1c0d9: 0x6c861020, 0x1c0da: 0x6caea020, 0x1c0db: 0x6d233e20,\n\t0x1c0dc: 0x6d234020, 0x1c0dd: 0x6c481420, 0x1c0de: 0x6c75ba20, 0x1c0df: 0x6c307620,\n\t0x1c0e0: 0x6ce0f620, 0x1c0e1: 0x6c428020, 0x1c0e2: 0x6cee1a20, 0x1c0e3: 0x6c2c5620,\n\t0x1c0e4: 0x6c262a20, 0x1c0e5: 0x6c389c20, 0x1c0e6: 0x6c195c20, 0x1c0e7: 0x6d2e6220,\n\t0x1c0e8: 0x6cb6fe20, 0x1c0e9: 0x6d24f620, 0x1c0ea: 0x6d0d8820, 0x1c0eb: 0x6d234220,\n\t0x1c0ec: 0x6cc29e20, 0x1c0ed: 0x6d17a020, 0x1c0ee: 0x6ccbaa20, 0x1c0ef: 0x6cc59820,\n\t0x1c0f0: 0x6c20d220, 0x1c0f1: 0x6c837820, 0x1c0f2: 0x6cb4f420, 0x1c0f3: 0x6d3d0220,\n\t0x1c0f4: 0x6c3e7a20, 0x1c0f5: 0x6c77f820, 0x1c0f6: 0x6c7f0820, 0x1c0f7: 0x6d405220,\n\t0x1c0f8: 0x6d405420, 0x1c0f9: 0x6d2fb220, 0x1c0fa: 0x6c491620, 0x1c0fb: 0x6c3b2a20,\n\t0x1c0fc: 0x6c3b7420, 0x1c0fd: 0x6ccfe620, 0x1c0fe: 0x6cbe7c20, 0x1c0ff: 0x6ca5e420,\n\t// Block 0x704, offset 0x1c100\n\t0x1c100: 0x6ced1c20, 0x1c101: 0x6c4cc020, 0x1c102: 0x6c925420, 0x1c103: 0x6c4fc620,\n\t0x1c104: 0x6c6a1620, 0x1c105: 0x6d15f020, 0x1c106: 0x6c1dae20, 0x1c107: 0x6c71b620,\n\t0x1c108: 0x6c712220, 0x1c109: 0x6c1a0220, 0x1c10a: 0x6d423a20, 0x1c10b: 0x6c895420,\n\t0x1c10c: 0x6cbab820, 0x1c10d: 0x6d346020, 0x1c10e: 0x6c20d420, 0x1c10f: 0x6d0af020,\n\t0x1c110: 0x6c709220, 0x1c111: 0x6c06a020, 0x1c112: 0x6c684620, 0x1c113: 0x6d3d6020,\n\t0x1c114: 0x6d3e3a20, 0x1c115: 0x6c0d3820, 0x1c116: 0x6caea220, 0x1c117: 0x6c2fa620,\n\t0x1c118: 0x6c1eda20, 0x1c119: 0x6c172e20, 0x1c11a: 0x6c9b0620, 0x1c11b: 0x6c57dc20,\n\t0x1c11c: 0x6c659420, 0x1c11d: 0x6c4a6820, 0x1c11e: 0x6cf88820, 0x1c11f: 0x6c319c20,\n\t0x1c120: 0x6cba5620, 0x1c121: 0x6c2a5820, 0x1c122: 0x6c4bb420, 0x1c123: 0x6c2da020,\n\t0x1c124: 0x6c954620, 0x1c125: 0x6d33e020, 0x1c126: 0x6cc38220, 0x1c127: 0x6ca04420,\n\t0x1c128: 0x6c40b220, 0x1c129: 0x6c454820, 0x1c12a: 0x6caf1220, 0x1c12b: 0x6d2dee20,\n\t0x1c12c: 0x6d199420, 0x1c12d: 0x6ceb7e20, 0x1c12e: 0x6ccbac20, 0x1c12f: 0x6c349a20,\n\t0x1c130: 0x6d125e20, 0x1c131: 0x6c400c20, 0x1c132: 0x6cefda20, 0x1c133: 0x6cee9a20,\n\t0x1c134: 0x6c32c820, 0x1c135: 0x6c641a20, 0x1c136: 0x6d3f9a20, 0x1c137: 0x6c64b220,\n\t0x1c138: 0x6d151a20, 0x1c139: 0x6cd0ae20, 0x1c13a: 0x6cf78620, 0x1c13b: 0x6d0e8220,\n\t0x1c13c: 0x6d0da220, 0x1c13d: 0x6c200020, 0x1c13e: 0x6c64b420, 0x1c13f: 0x6c210c20,\n\t// Block 0x705, offset 0x1c140\n\t0x1c140: 0x6d226a20, 0x1c141: 0x6c513a20, 0x1c142: 0x6d2be020, 0x1c143: 0x6cf2fa20,\n\t0x1c144: 0x6cb11420, 0x1c145: 0x6c087a20, 0x1c146: 0x6d10ac20, 0x1c147: 0x6c5dd020,\n\t0x1c148: 0x6d05b220, 0x1c149: 0x6cc92020, 0x1c14a: 0x6d0fc620, 0x1c14b: 0x6c7e7c20,\n\t0x1c14c: 0x6d0caa20, 0x1c14d: 0x6c079e20, 0x1c14e: 0x6c5ac420, 0x1c14f: 0x6c7c8a20,\n\t0x1c150: 0x6c6bea20, 0x1c151: 0x6c7c8c20, 0x1c152: 0x6cd7f220, 0x1c153: 0x6c3c5420,\n\t0x1c154: 0x6d004820, 0x1c155: 0x6ceb8220, 0x1c156: 0x6d35e420, 0x1c157: 0x6c668c20,\n\t0x1c158: 0x6ca29a20, 0x1c159: 0x6c999020, 0x1c15a: 0x6c1f9420, 0x1c15b: 0x6c569e20,\n\t0x1c15c: 0x6c556c20, 0x1c15d: 0x6c890420, 0x1c15e: 0x6c837a20, 0x1c15f: 0x6ce67e20,\n\t0x1c160: 0x6ca40220, 0x1c161: 0x6d215220, 0x1c162: 0x6d1f4620, 0x1c163: 0x6c9a0820,\n\t0x1c164: 0x6cd96620, 0x1c165: 0x6d089a20, 0x1c166: 0x6d089c20, 0x1c167: 0x6d101e20,\n\t0x1c168: 0x6d316620, 0x1c169: 0x6cb11620, 0x1c16a: 0x6d12fe20, 0x1c16b: 0x6c605220,\n\t0x1c16c: 0x6c6ae620, 0x1c16d: 0x6d130020, 0x1c16e: 0x6c1ee020, 0x1c16f: 0x6c33fa20,\n\t0x1c170: 0x6d212820, 0x1c171: 0x6d408a20, 0x1c172: 0x6cee9c20, 0x1c173: 0x6c9a0a20,\n\t0x1c174: 0x6ce40220, 0x1c175: 0x6c603a20, 0x1c176: 0x6c6ae820, 0x1c177: 0x6c766220,\n\t0x1c178: 0x6cbfb420, 0x1c179: 0x6d1c7e20, 0x1c17a: 0x6cc77a20, 0x1c17b: 0x6c59d020,\n\t0x1c17c: 0x6c909620, 0x1c17d: 0x6c822220, 0x1c17e: 0x6cc38420, 0x1c17f: 0x6cfe7620,\n\t// Block 0x706, offset 0x1c180\n\t0x1c180: 0x6cb23c20, 0x1c181: 0x6cd41820, 0x1c182: 0x6c414420, 0x1c183: 0x6cdfe820,\n\t0x1c184: 0x6c802e20, 0x1c185: 0x6cf15620, 0x1c186: 0x6d215420, 0x1c187: 0x6c192c20,\n\t0x1c188: 0x6c935620, 0x1c189: 0x6c71be20, 0x1c18a: 0x6cd0cc20, 0x1c18b: 0x6c1f9620,\n\t0x1c18c: 0x6cb0ea20, 0x1c18d: 0x6d01d420, 0x1c18e: 0x6c642420, 0x1c18f: 0x6d182420,\n\t0x1c190: 0x6d2e0220, 0x1c191: 0x6c3ec020, 0x1c192: 0x6cab0620, 0x1c193: 0x6c9d6620,\n\t0x1c194: 0x6c80c220, 0x1c195: 0x6cc69020, 0x1c196: 0x6c47ae20, 0x1c197: 0x6c66a820,\n\t0x1c198: 0x6c71c020, 0x1c199: 0x6cddf220, 0x1c19a: 0x6d11c020, 0x1c19b: 0x6d317a20,\n\t0x1c19c: 0x6c055220, 0x1c19d: 0x6ccc0820, 0x1c19e: 0x6d259220, 0x1c19f: 0x6d3f2020,\n\t0x1c1a0: 0x6ca01020, 0x1c1a1: 0x6cdae620, 0x1c1a2: 0x6c644c20, 0x1c1a3: 0x6d112020,\n\t0x1c1a4: 0x6c6b0a20, 0x1c1a5: 0x6c5a7420, 0x1c1a6: 0x6c422a20, 0x1c1a7: 0x6c3a6220,\n\t0x1c1a8: 0x6d2cd020, 0x1c1a9: 0x6cb9ae20, 0x1c1aa: 0x6c96ce20, 0x1c1ab: 0x6cdcf420,\n\t0x1c1ac: 0x6d259420, 0x1c1ad: 0x6d01d620, 0x1c1ae: 0x6cc69220, 0x1c1af: 0x6cd27c20,\n\t0x1c1b0: 0x6d33fe20, 0x1c1b1: 0x6c24de20, 0x1c1b2: 0x6d27ba20, 0x1c1b3: 0x6ce68020,\n\t0x1c1b4: 0x6c8e7a20, 0x1c1b5: 0x6cc68620, 0x1c1b6: 0x6ce10e20, 0x1c1b7: 0x6cc3de20,\n\t0x1c1b8: 0x6d2cfa20, 0x1c1b9: 0x6cd80220, 0x1c1ba: 0x6cd17420, 0x1c1bb: 0x6cde7020,\n\t0x1c1bc: 0x6c781420, 0x1c1bd: 0x6cf66c20, 0x1c1be: 0x6c479c20, 0x1c1bf: 0x6cb51020,\n\t// Block 0x707, offset 0x1c1c0\n\t0x1c1c0: 0x6c431020, 0x1c1c1: 0x6c431220, 0x1c1c2: 0x6cdcdc20, 0x1c1c3: 0x6cac6620,\n\t0x1c1c4: 0x6ce1da20, 0x1c1c5: 0x6c441220, 0x1c1c6: 0x6d0a1a20, 0x1c1c7: 0x6c2cd420,\n\t0x1c1c8: 0x6caa2420, 0x1c1c9: 0x6c606420, 0x1c1ca: 0x6cd78c20, 0x1c1cb: 0x6c46c220,\n\t0x1c1cc: 0x6c20d820, 0x1c1cd: 0x6cbacc20, 0x1c1ce: 0x6c13ec20, 0x1c1cf: 0x6cba1620,\n\t0x1c1d0: 0x6c57ec20, 0x1c1d1: 0x6c9a1820, 0x1c1d2: 0x6d070a20, 0x1c1d3: 0x6c42ac20,\n\t0x1c1d4: 0x6c42cc20, 0x1c1d5: 0x6d3d8020, 0x1c1d6: 0x6ceb3620, 0x1c1d7: 0x6cbc7420,\n\t0x1c1d8: 0x6d105c20, 0x1c1d9: 0x6c2cd620, 0x1c1da: 0x6c642620, 0x1c1db: 0x6c76e220,\n\t0x1c1dc: 0x6d41be20, 0x1c1dd: 0x6c2a5a20, 0x1c1de: 0x6c907220, 0x1c1df: 0x6c0d4420,\n\t0x1c1e0: 0x6d39ba20, 0x1c1e1: 0x6ccaa420, 0x1c1e2: 0x6cf79c20, 0x1c1e3: 0x6c5f1420,\n\t0x1c1e4: 0x6c882220, 0x1c1e5: 0x6c5c1620, 0x1c1e6: 0x6d1da420, 0x1c1e7: 0x6cba7420,\n\t0x1c1e8: 0x6c4cc220, 0x1c1e9: 0x6c414620, 0x1c1ea: 0x6c415020, 0x1c1eb: 0x6ce95820,\n\t0x1c1ec: 0x6c57bc20, 0x1c1ed: 0x6cb52020, 0x1c1ee: 0x6ccbae20, 0x1c1ef: 0x6c24e220,\n\t0x1c1f0: 0x6caeb220, 0x1c1f1: 0x6d1fe420, 0x1c1f2: 0x6c559020, 0x1c1f3: 0x6c67b620,\n\t0x1c1f4: 0x6c56be20, 0x1c1f5: 0x6c594a20, 0x1c1f6: 0x6c4b6820, 0x1c1f7: 0x6ca85e20,\n\t0x1c1f8: 0x6d185220, 0x1c1f9: 0x6c42d820, 0x1c1fa: 0x6c774420, 0x1c1fb: 0x6c4a8620,\n\t0x1c1fc: 0x6c4a8820, 0x1c1fd: 0x6c128a20, 0x1c1fe: 0x6c97fa20, 0x1c1ff: 0x6c6cac20,\n\t// Block 0x708, offset 0x1c200\n\t0x1c200: 0x6c2b4020, 0x1c201: 0x6d3c2220, 0x1c202: 0x6c822620, 0x1c203: 0x6c810a20,\n\t0x1c204: 0x6c18dc20, 0x1c205: 0x6c233a20, 0x1c206: 0x6c841820, 0x1c207: 0x6d04e220,\n\t0x1c208: 0x6cbe8620, 0x1c209: 0x6cd6da20, 0x1c20a: 0x6c38b220, 0x1c20b: 0x6ce7c220,\n\t0x1c20c: 0x6c499e20, 0x1c20d: 0x6d2ae820, 0x1c20e: 0x6cdafc20, 0x1c20f: 0x6c82d020,\n\t0x1c210: 0x6c91d220, 0x1c211: 0x6c896620, 0x1c212: 0x6c9d7820, 0x1c213: 0x6c90b020,\n\t0x1c214: 0x6c177420, 0x1c215: 0x6cdafe20, 0x1c216: 0x6c782220, 0x1c217: 0x6c1e6620,\n\t0x1c218: 0x6ce12020, 0x1c219: 0x6c0c1620, 0x1c21a: 0x6c92a220, 0x1c21b: 0x6c6f8420,\n\t0x1c21c: 0x6d30fc20, 0x1c21d: 0x6d2bf620, 0x1c21e: 0x6cd50020, 0x1c21f: 0x6d2ed620,\n\t0x1c220: 0x6c977020, 0x1c221: 0x6ca06a20, 0x1c222: 0x6ca7a820, 0x1c223: 0x6d106a20,\n\t0x1c224: 0x6ce59820, 0x1c225: 0x6caeb420, 0x1c226: 0x6d3b1e20, 0x1c227: 0x6ccc0e20,\n\t0x1c228: 0x6cf6c020, 0x1c229: 0x6cc31020, 0x1c22a: 0x6c526c20, 0x1c22b: 0x6c64ce20,\n\t0x1c22c: 0x6c233c20, 0x1c22d: 0x6c630e20, 0x1c22e: 0x6d0f3a20, 0x1c22f: 0x6cbb1820,\n\t0x1c230: 0x6d098820, 0x1c231: 0x6d1be420, 0x1c232: 0x6c37de20, 0x1c233: 0x6d0a3c20,\n\t0x1c234: 0x6d349820, 0x1c235: 0x6cbbf620, 0x1c236: 0x6d417c20, 0x1c237: 0x6c23b420,\n\t0x1c238: 0x6cb49620, 0x1c239: 0x6cd60a20, 0x1c23a: 0x6c57ae20, 0x1c23b: 0x6c7d1e20,\n\t0x1c23c: 0x6d319020, 0x1c23d: 0x6d41f220, 0x1c23e: 0x6d26ec20, 0x1c23f: 0x6ccdac20,\n\t// Block 0x709, offset 0x1c240\n\t0x1c240: 0x6cf6c420, 0x1c241: 0x6c211420, 0x1c242: 0x6c2d8020, 0x1c243: 0x6c382620,\n\t0x1c244: 0x6c41e620, 0x1c245: 0x6ca07620, 0x1c246: 0x6cf47a20, 0x1c247: 0x6cbbaa20,\n\t0x1c248: 0x6cc52c20, 0x1c249: 0x6c8c6020, 0x1c24a: 0x6c8e9620, 0x1c24b: 0x6cbbf820,\n\t0x1c24c: 0x6cfd0c20, 0x1c24d: 0x6cc90820, 0x1c24e: 0x6c38ba20, 0x1c24f: 0x6d2e1420,\n\t0x1c250: 0x6ceb4820, 0x1c251: 0x6c81bc20, 0x1c252: 0x6d27c620, 0x1c253: 0x6cd75a20,\n\t0x1c254: 0x6c33ae20, 0x1c255: 0x6c199220, 0x1c256: 0x6ce13220, 0x1c257: 0x6c9b3820,\n\t0x1c258: 0x6c715a20, 0x1c259: 0x6c1a4220, 0x1c25a: 0x6cdb3020, 0x1c25b: 0x6c74ba20,\n\t0x1c25c: 0x6c74bc20, 0x1c25d: 0x6c2d8220, 0x1c25e: 0x6c5c3020, 0x1c25f: 0x6c5f3020,\n\t0x1c260: 0x6caae020, 0x1c261: 0x6cfe4e20, 0x1c262: 0x6ceb8e20, 0x1c263: 0x6ca94620,\n\t0x1c264: 0x6cc8b020, 0x1c265: 0x6d39c420, 0x1c266: 0x6ce78620, 0x1c267: 0x6d2b8e20,\n\t0x1c268: 0x6c3b9420, 0x1c269: 0x6cbf6020, 0x1c26a: 0x6cc4d220, 0x1c26b: 0x6c526e20,\n\t0x1c26c: 0x6cb9c820, 0x1c26d: 0x6c472e20, 0x1c26e: 0x6c8f1a20, 0x1c26f: 0x6c81e020,\n\t0x1c270: 0x6c42dc20, 0x1c271: 0x6c1eae20, 0x1c272: 0x6cf94620, 0x1c273: 0x6cd18820,\n\t0x1c274: 0x6d3f6c20, 0x1c275: 0x6cca6820, 0x1c276: 0x6c60a620, 0x1c277: 0x6c30c620,\n\t0x1c278: 0x6c6eca20, 0x1c279: 0x6c91dc20, 0x1c27a: 0x6c673c20, 0x1c27b: 0x6c1f9820,\n\t0x1c27c: 0x6d25aa20, 0x1c27d: 0x6cde9c20, 0x1c27e: 0x6cd50c20, 0x1c27f: 0x6c678220,\n\t// Block 0x70a, offset 0x1c280\n\t0x1c280: 0x6ce01820, 0x1c281: 0x6c8c3820, 0x1c282: 0x6ca9cc20, 0x1c283: 0x6d1b0620,\n\t0x1c284: 0x6cf7a820, 0x1c285: 0x6cdc8020, 0x1c286: 0x6ccd1020, 0x1c287: 0x6d41d020,\n\t0x1c288: 0x6d082a20, 0x1c289: 0x6c199a20, 0x1c28a: 0x6c423420, 0x1c28b: 0x6c716220,\n\t0x1c28c: 0x6d41d820, 0x1c28d: 0x6d18c620, 0x1c28e: 0x6cbda220, 0x1c28f: 0x6cb49c20,\n\t0x1c290: 0x6d0cd620, 0x1c291: 0x6c826020, 0x1c292: 0x6c3c6a20, 0x1c293: 0x6c5b6c20,\n\t0x1c294: 0x6c299220, 0x1c295: 0x6c629620, 0x1c296: 0x6cdc7020, 0x1c297: 0x6c0ff820,\n\t0x1c298: 0x6cb2d420, 0x1c299: 0x6c1a4420, 0x1c29a: 0x6c1ef020, 0x1c29b: 0x6d3b5a20,\n\t0x1c29c: 0x6c4b7c20, 0x1c29d: 0x6c60aa20, 0x1c29e: 0x6c6ba020, 0x1c29f: 0x6c643020,\n\t0x1c2a0: 0x6cbe8e20, 0x1c2a1: 0x6d2d2020, 0x1c2a2: 0x6c65e020, 0x1c2a3: 0x6cbb2820,\n\t0x1c2a4: 0x6c2a3420, 0x1c2a5: 0x6d161a20, 0x1c2a6: 0x6c0c8220, 0x1c2a7: 0x6cd93a20,\n\t0x1c2a8: 0x6ccefe20, 0x1c2a9: 0x6c8c3a20, 0x1c2aa: 0x6c87e420, 0x1c2ab: 0x6c140e20,\n\t0x1c2ac: 0x6c9b5c20, 0x1c2ad: 0x6d1aa020, 0x1c2ae: 0x6ce24820, 0x1c2af: 0x6cdf4e20,\n\t0x1c2b0: 0x6c9de020, 0x1c2b1: 0x6cb67020, 0x1c2b2: 0x6ce96820, 0x1c2b3: 0x6c0d5c20,\n\t0x1c2b4: 0x6c5e0820, 0x1c2b5: 0x6c62aa20, 0x1c2b6: 0x6cb93420, 0x1c2b7: 0x6ca65820,\n\t0x1c2b8: 0x6ca92a20, 0x1c2b9: 0x6d142220, 0x1c2ba: 0x6c432a20, 0x1c2bb: 0x6c76f620,\n\t0x1c2bc: 0x6d1b9220, 0x1c2bd: 0x6caa2c20, 0x1c2be: 0x6cbeba20, 0x1c2bf: 0x6d0de620,\n\t// Block 0x70b, offset 0x1c2c0\n\t0x1c2c0: 0x6cb67220, 0x1c2c1: 0x6c9d9e20, 0x1c2c2: 0x6d2fe820, 0x1c2c3: 0x6c4b8820,\n\t0x1c2c4: 0x6c212220, 0x1c2c5: 0x6c5f6a20, 0x1c2c6: 0x6c7ca420, 0x1c2c7: 0x6cb33c20,\n\t0x1c2c8: 0x6c2af020, 0x1c2c9: 0x6c1eba20, 0x1c2ca: 0x6c449020, 0x1c2cb: 0x6c9de420,\n\t0x1c2cc: 0x6d1ec220, 0x1c2cd: 0x6d373e20, 0x1c2ce: 0x6c5a6620, 0x1c2cf: 0x6cb93e20,\n\t0x1c2d0: 0x6c82f420, 0x1c2d1: 0x6c827020, 0x1c2d2: 0x6cc9a820, 0x1c2d3: 0x6c91f220,\n\t0x1c2d4: 0x6c86cc20, 0x1c2d5: 0x6c24a220, 0x1c2d6: 0x6c941220, 0x1c2d7: 0x6c9efc20,\n\t0x1c2d8: 0x6c5c7a20, 0x1c2d9: 0x6cab5c20, 0x1c2da: 0x6c916220, 0x1c2db: 0x6d370620,\n\t0x1c2dc: 0x6c42ea20, 0x1c2dd: 0x6c31d020, 0x1c2de: 0x6d25c620, 0x1c2df: 0x6c86f620,\n\t0x1c2e0: 0x6c3ae820, 0x1c2e1: 0x6d3dba20, 0x1c2e2: 0x6cda3420, 0x1c2e3: 0x6c886020,\n\t0x1c2e4: 0x6c681c20, 0x1c2e5: 0x6c1ec420, 0x1c2e6: 0x6cbeec20, 0x1c2e7: 0x6d39e020,\n\t0x1c2e8: 0x6c918020, 0x1c2e9: 0x6d0cfc20, 0x1c2ea: 0x6c871a20, 0x1c2eb: 0x6d39de20,\n\t0x1c2ec: 0x6c193e20, 0x1c2ed: 0x6c6b5a20, 0x1c2ee: 0x6c36d820, 0x1c2ef: 0x6cda6820,\n\t0x1c2f0: 0x6c580020, 0x1c2f1: 0x6ca8a220, 0x1c2f2: 0x6d244e20, 0x1c2f3: 0x6c8fdc20,\n\t0x1c2f4: 0x6c7f7420, 0x1c2f5: 0x6c69f020, 0x1c2f6: 0x6cfc4620, 0x1c2f7: 0x6c4aa820,\n\t0x1c2f8: 0x6c71de20, 0x1c2f9: 0x6cff4820, 0x1c2fa: 0x6c8d9a20, 0x1c2fb: 0x6d1c2a20,\n\t0x1c2fc: 0x6c653c20, 0x1c2fd: 0x6d1b2420, 0x1c2fe: 0x6d1f9620, 0x1c2ff: 0x6d1cc420,\n\t// Block 0x70c, offset 0x1c300\n\t0x1c300: 0x6cfd9a20, 0x1c301: 0x6ca9e020, 0x1c302: 0x6c0fb620, 0x1c303: 0x6c156020,\n\t0x1c304: 0x6c7ff820, 0x1c305: 0x6c71e220, 0x1c306: 0x6cd6b220, 0x1c307: 0x6ccf9020,\n\t0x1c308: 0x6cef7420, 0x1c309: 0x6c23cc20, 0x1c30a: 0x6cc33020, 0x1c30b: 0x6cc20620,\n\t0x1c30c: 0x6c126220, 0x1c30d: 0x6c704820, 0x1c30e: 0x6d247a20, 0x1c30f: 0x6c957e20,\n\t0x1c310: 0x6c878a20, 0x1c311: 0x6c24a820, 0x1c312: 0x6c945c20, 0x1c313: 0x6c294420,\n\t0x1c314: 0x6c752820, 0x1c315: 0x6d0f3e20, 0x1c316: 0x6c806420, 0x1c317: 0x6c800e20,\n\t0x1c318: 0x6d3a4620, 0x1c319: 0x6c82a220, 0x1c31a: 0x6c855420, 0x1c31b: 0x6c03e020,\n\t0x1c31c: 0x6ca46620, 0x1c31d: 0x6d249220, 0x1c31e: 0x6c8dd820, 0x1c31f: 0x6c4a3020,\n\t0x1c320: 0x6cba3820, 0x1c321: 0x6c22aa20, 0x1c322: 0x6c596a20, 0x1c323: 0x6d02b620,\n\t0x1c324: 0x6d20b820, 0x1c325: 0x6d16be20, 0x1c326: 0x6cb8b220, 0x1c327: 0x6cab3020,\n\t0x1c328: 0x6d057820, 0x1c329: 0x6c173c20, 0x1c32a: 0x6c1f1a20, 0x1c32b: 0x6cb78020,\n\t0x1c32c: 0x6c768220, 0x1c32d: 0x6d173020, 0x1c32e: 0x6c741420, 0x1c32f: 0x6cf87020,\n\t0x1c330: 0x6d06a420, 0x1c331: 0x6c509820, 0x1c332: 0x6d231420, 0x1c333: 0x6c7cf220,\n\t0x1c334: 0x6c80ac20, 0x1c335: 0x6c7b6220, 0x1c336: 0x6cd77c20, 0x1c337: 0x6cf5ee20,\n\t0x1c338: 0x6c002220, 0x1c339: 0x6d13f420, 0x1c33a: 0x6cb4f620, 0x1c33b: 0x6c1f9e20,\n\t0x1c33c: 0x6c1ba620, 0x1c33d: 0x6cbd3020, 0x1c33e: 0x6c7b6620, 0x1c33f: 0x6c76d420,\n\t// Block 0x70d, offset 0x1c340\n\t0x1c340: 0x6c7b6820, 0x1c341: 0x6c76dc20, 0x1c342: 0x6c202220, 0x1c343: 0x6ccc5a20,\n\t0x1c344: 0x6c485a20, 0x1c345: 0x6d19ea20, 0x1c346: 0x6d02de20, 0x1c347: 0x6d004a20,\n\t0x1c348: 0x6d215620, 0x1c349: 0x6cba6820, 0x1c34a: 0x6cfeec20, 0x1c34b: 0x6d131620,\n\t0x1c34c: 0x6c43a020, 0x1c34d: 0x6cf37420, 0x1c34e: 0x6ce0a820, 0x1c34f: 0x6c6d3e20,\n\t0x1c350: 0x6cab4820, 0x1c351: 0x6c54f820, 0x1c352: 0x6ce40e20, 0x1c353: 0x6c582c20,\n\t0x1c354: 0x6d05d420, 0x1c355: 0x6cae3820, 0x1c356: 0x6cf81020, 0x1c357: 0x6d000820,\n\t0x1c358: 0x6c1fa220, 0x1c359: 0x6ccf7820, 0x1c35a: 0x6ccdae20, 0x1c35b: 0x6c4dbe20,\n\t0x1c35c: 0x6c1f7e20, 0x1c35d: 0x6d18c820, 0x1c35e: 0x6c36c420, 0x1c35f: 0x6d21b420,\n\t0x1c360: 0x6c21e220, 0x1c361: 0x6c596e20, 0x1c362: 0x6d34cc20, 0x1c363: 0x6d333620,\n\t0x1c364: 0x6c228a20, 0x1c365: 0x6c105e20, 0x1c366: 0x6cf42c20, 0x1c367: 0x6cb58420,\n\t0x1c368: 0x6c106e20, 0x1c369: 0x6c107020, 0x1c36a: 0x6cec4e20, 0x1c36b: 0x6c721220,\n\t0x1c36c: 0x6cb97e20, 0x1c36d: 0x6c1b1620, 0x1c36e: 0x6ccb2a20, 0x1c36f: 0x6c1ba820,\n\t0x1c370: 0x6ccb3620, 0x1c371: 0x6d37fa20, 0x1c372: 0x6cdc4620, 0x1c373: 0x6cdc4820,\n\t0x1c374: 0x6c864c20, 0x1c375: 0x6c263420, 0x1c376: 0x6d218220, 0x1c377: 0x6c867c20,\n\t0x1c378: 0x6c4a9a20, 0x1c379: 0x6c271220, 0x1c37a: 0x6c35ca20, 0x1c37b: 0x6cd86c20,\n\t0x1c37c: 0x6c646420, 0x1c37d: 0x6d301c20, 0x1c37e: 0x6ca0cc20, 0x1c37f: 0x6ca0ce20,\n\t// Block 0x70e, offset 0x1c380\n\t0x1c380: 0x6d109220, 0x1c381: 0x6ca0d020, 0x1c382: 0x6c242020, 0x1c383: 0x6d0f5020,\n\t0x1c384: 0x6ce4da20, 0x1c385: 0x6cd0ee20, 0x1c386: 0x6c274820, 0x1c387: 0x6cce0020,\n\t0x1c388: 0x6d06a620, 0x1c389: 0x6d0a7c20, 0x1c38a: 0x6cd4ba20, 0x1c38b: 0x6c118c20,\n\t0x1c38c: 0x6c742a20, 0x1c38d: 0x6cb19420, 0x1c38e: 0x6cb85c20, 0x1c38f: 0x6cc04820,\n\t0x1c390: 0x6cdaa420, 0x1c391: 0x6cbe7820, 0x1c392: 0x6d27e620, 0x1c393: 0x6c88ee20,\n\t0x1c394: 0x6d17a220, 0x1c395: 0x6c3d2a20, 0x1c396: 0x6d346220, 0x1c397: 0x6d12f220,\n\t0x1c398: 0x6c119620, 0x1c399: 0x6c5cce20, 0x1c39a: 0x6c27e020, 0x1c39b: 0x6c603c20,\n\t0x1c39c: 0x6c2ebe20, 0x1c39d: 0x6d317c20, 0x1c39e: 0x6d27f220, 0x1c39f: 0x6cf15820,\n\t0x1c3a0: 0x6c1e4820, 0x1c3a1: 0x6c0d8220, 0x1c3a2: 0x6ce41220, 0x1c3a3: 0x6c6d4020,\n\t0x1c3a4: 0x6cce1620, 0x1c3a5: 0x6d1a9220, 0x1c3a6: 0x6c2dda20, 0x1c3a7: 0x6c702220,\n\t0x1c3a8: 0x6c5c3220, 0x1c3a9: 0x6c24b020, 0x1c3aa: 0x6d189820, 0x1c3ab: 0x6c27fc20,\n\t0x1c3ac: 0x6c327e20, 0x1c3ad: 0x6c678420, 0x1c3ae: 0x6c892020, 0x1c3af: 0x6c0d8c20,\n\t0x1c3b0: 0x6c31d220, 0x1c3b1: 0x6c674020, 0x1c3b2: 0x6c653e20, 0x1c3b3: 0x6cd49820,\n\t0x1c3b4: 0x6cab3220, 0x1c3b5: 0x6c32b620, 0x1c3b6: 0x6d3ac020, 0x1c3b7: 0x6d19c020,\n\t0x1c3b8: 0x6cbec820, 0x1c3b9: 0x6d175e20, 0x1c3ba: 0x6ccbda20, 0x1c3bb: 0x6cbc4020,\n\t0x1c3bc: 0x6c784e20, 0x1c3bd: 0x6cff8a20, 0x1c3be: 0x6d0a8e20, 0x1c3bf: 0x6c2d5e20,\n\t// Block 0x70f, offset 0x1c3c0\n\t0x1c3c0: 0x6c5b5620, 0x1c3c1: 0x6c5b5820, 0x1c3c2: 0x6c47a020, 0x1c3c3: 0x6cbb9020,\n\t0x1c3c4: 0x6c5f0620, 0x1c3c5: 0x6d185420, 0x1c3c6: 0x6cab4a20, 0x1c3c7: 0x6c5b6220,\n\t0x1c3c8: 0x6c32da20, 0x1c3c9: 0x6d142420, 0x1c3ca: 0x6cff5c20, 0x1c3cb: 0x6cf39c20,\n\t0x1c3cc: 0x6c497220, 0x1c3cd: 0x6ca22020, 0x1c3ce: 0x6c9a4820, 0x1c3cf: 0x6c9a4a20,\n\t0x1c3d0: 0x6c006020, 0x1c3d1: 0x6c6b9420, 0x1c3d2: 0x6c318820, 0x1c3d3: 0x6d239020,\n\t0x1c3d4: 0x6c08ac20, 0x1c3d5: 0x6c090a20, 0x1c3d6: 0x6c094e20, 0x1c3d7: 0x6cafc220,\n\t0x1c3d8: 0x6cafc420, 0x1c3d9: 0x6c095e20, 0x1c3da: 0x6c152c20, 0x1c3db: 0x6c98c020,\n\t0x1c3dc: 0x6c4fbc20, 0x1c3dd: 0x6c111a20, 0x1c3de: 0x6cafba20, 0x1c3df: 0x6c8b9020,\n\t0x1c3e0: 0x6c633820, 0x1c3e1: 0x6d2d6420, 0x1c3e2: 0x6cc9c020, 0x1c3e3: 0x6ca27620,\n\t0x1c3e4: 0x6ceb9e20, 0x1c3e5: 0x6d09fc20, 0x1c3e6: 0x6c379020, 0x1c3e7: 0x6cc66620,\n\t0x1c3e8: 0x6cfbfa20, 0x1c3e9: 0x6c710620, 0x1c3ea: 0x6ca21020, 0x1c3eb: 0x6c4fc420,\n\t0x1c3ec: 0x6cc04a20, 0x1c3ed: 0x6c311220, 0x1c3ee: 0x6ccbea20, 0x1c3ef: 0x6ce06020,\n\t0x1c3f0: 0x6cadd620, 0x1c3f1: 0x6c712420, 0x1c3f2: 0x6c343020, 0x1c3f3: 0x6c253c20,\n\t0x1c3f4: 0x6c087220, 0x1c3f5: 0x6cca0020, 0x1c3f6: 0x6cca6420, 0x1c3f7: 0x6c999420,\n\t0x1c3f8: 0x6cc9c820, 0x1c3f9: 0x6cd4ea20, 0x1c3fa: 0x6d208e20, 0x1c3fb: 0x6cebac20,\n\t0x1c3fc: 0x6c513c20, 0x1c3fd: 0x6c668e20, 0x1c3fe: 0x6cde7420, 0x1c3ff: 0x6cca0620,\n\t// Block 0x710, offset 0x1c400\n\t0x1c400: 0x6c935e20, 0x1c401: 0x6ca21620, 0x1c402: 0x6c98fa20, 0x1c403: 0x6ce78820,\n\t0x1c404: 0x6cc72220, 0x1c405: 0x6c16f820, 0x1c406: 0x6cb49820, 0x1c407: 0x6c934e20,\n\t0x1c408: 0x6d2da820, 0x1c409: 0x6ccafc20, 0x1c40a: 0x6d2daa20, 0x1c40b: 0x6c9b5e20,\n\t0x1c40c: 0x6c91f420, 0x1c40d: 0x6cc20820, 0x1c40e: 0x6c2f2220, 0x1c40f: 0x6cd2e420,\n\t0x1c410: 0x6c2b0a20, 0x1c411: 0x6c9f2620, 0x1c412: 0x6c73d220, 0x1c413: 0x6c983620,\n\t0x1c414: 0x6cb72620, 0x1c415: 0x6cb1c420, 0x1c416: 0x6ca39220, 0x1c417: 0x6cb72e20,\n\t0x1c418: 0x6c29bc20, 0x1c419: 0x6cfa7a20, 0x1c41a: 0x6c1fde20, 0x1c41b: 0x6c3b1a20,\n\t0x1c41c: 0x6d0f8820, 0x1c41d: 0x6ca58620, 0x1c41e: 0x6c0d9a20, 0x1c41f: 0x6c3e1020,\n\t0x1c420: 0x6ccfbc20, 0x1c421: 0x6c2fe620, 0x1c422: 0x6cbe3420, 0x1c423: 0x6cb76a20,\n\t0x1c424: 0x6d19c220, 0x1c425: 0x6cf5c020, 0x1c426: 0x6c4d6020, 0x1c427: 0x6d100e20,\n\t0x1c428: 0x6c012220, 0x1c429: 0x6d0b8e20, 0x1c42a: 0x6c78a620, 0x1c42b: 0x6cbe4420,\n\t0x1c42c: 0x6d0bb020, 0x1c42d: 0x6c300220, 0x1c42e: 0x6c288a20, 0x1c42f: 0x6c93e020,\n\t0x1c430: 0x6cbe7e20, 0x1c431: 0x6d102620, 0x1c432: 0x6d275620, 0x1c433: 0x6d275c20,\n\t0x1c434: 0x6cd70220, 0x1c435: 0x6cd73c20, 0x1c436: 0x6d331620, 0x1c437: 0x6c0da420,\n\t0x1c438: 0x6d1e0c20, 0x1c439: 0x6c294e20, 0x1c43a: 0x6cd73e20, 0x1c43b: 0x6c821020,\n\t0x1c43c: 0x6ca67820, 0x1c43d: 0x6cea7620, 0x1c43e: 0x6c391420, 0x1c43f: 0x6c4abc20,\n\t// Block 0x711, offset 0x1c440\n\t0x1c440: 0x6ce62620, 0x1c441: 0x6d338220, 0x1c442: 0x6cc00020, 0x1c443: 0x6c0d1e20,\n\t0x1c444: 0x6d2b3620, 0x1c445: 0x6c9dfc20, 0x1c446: 0x6c248c20, 0x1c447: 0x6c5b8820,\n\t0x1c448: 0x6c2dac20, 0x1c449: 0x6c4e7c20, 0x1c44a: 0x6c142c20, 0x1c44b: 0x6d3d2020,\n\t0x1c44c: 0x6c202a20, 0x1c44d: 0x6cecba20, 0x1c44e: 0x6c391c20, 0x1c44f: 0x6c26e820,\n\t0x1c450: 0x6cf57220, 0x1c451: 0x6cea9c20, 0x1c452: 0x6c982a20, 0x1c453: 0x6cbffa20,\n\t0x1c454: 0x6cb73020, 0x1c455: 0x6ccd6a20, 0x1c456: 0x6cb24220, 0x1c457: 0x6c4e8620,\n\t0x1c458: 0x6cb89a20, 0x1c459: 0x6cf34620, 0x1c45a: 0x6cf34820, 0x1c45b: 0x6d0a6620,\n\t0x1c45c: 0x6cd87a20, 0x1c45d: 0x6cc7f420, 0x1c45e: 0x6c45d420, 0x1c45f: 0x6c674220,\n\t0x1c460: 0x6c1af620, 0x1c461: 0x6cf34a20, 0x1c462: 0x6ce92c20, 0x1c463: 0x6c704220,\n\t0x1c464: 0x6ce0b820, 0x1c465: 0x6d338c20, 0x1c466: 0x6d34e820, 0x1c467: 0x6cb8a820,\n\t0x1c468: 0x6c9d1c20, 0x1c469: 0x6c475820, 0x1c46a: 0x6cedc420, 0x1c46b: 0x6c6e0e20,\n\t0x1c46c: 0x6c6e1020, 0x1c46d: 0x6cc8be20, 0x1c46e: 0x6c755a20, 0x1c46f: 0x6c52f820,\n\t0x1c470: 0x6cdf6020, 0x1c471: 0x6cc34e20, 0x1c472: 0x6c5fcc20, 0x1c473: 0x6c0b7020,\n\t0x1c474: 0x6c0b7220, 0x1c475: 0x6c420e20, 0x1c476: 0x6cf1fe20, 0x1c477: 0x6d378820,\n\t0x1c478: 0x6c398420, 0x1c479: 0x6d045620, 0x1c47a: 0x6c73e020, 0x1c47b: 0x6c561020,\n\t0x1c47c: 0x6ca96820, 0x1c47d: 0x6cb73820, 0x1c47e: 0x6c3b5620, 0x1c47f: 0x6d067220,\n\t// Block 0x712, offset 0x1c480\n\t0x1c480: 0x6d068420, 0x1c481: 0x6cbe0620, 0x1c482: 0x6d146220, 0x1c483: 0x6cf2ce20,\n\t0x1c484: 0x6d278020, 0x1c485: 0x6d253e20, 0x1c486: 0x6c4f9020, 0x1c487: 0x6d0d3e20,\n\t0x1c488: 0x6c189c20, 0x1c489: 0x6c189e20, 0x1c48a: 0x6c286820, 0x1c48b: 0x6d1eec20,\n\t0x1c48c: 0x6c33da20, 0x1c48d: 0x6c565820, 0x1c48e: 0x6c5d9c20, 0x1c48f: 0x6cb4cc20,\n\t0x1c490: 0x6ca26820, 0x1c491: 0x6caa7620, 0x1c492: 0x6c99d220, 0x1c493: 0x6c268220,\n\t0x1c494: 0x6c9e0020, 0x1c495: 0x6c9d1e20, 0x1c496: 0x6c1cae20, 0x1c497: 0x6cacce20,\n\t0x1c498: 0x6c08bc20, 0x1c499: 0x6ccbc420, 0x1c49a: 0x6d34ea20, 0x1c49b: 0x6cae0220,\n\t0x1c49c: 0x6cac9e20, 0x1c49d: 0x6d3c7620, 0x1c49e: 0x6d288420, 0x1c49f: 0x6c463820,\n\t0x1c4a0: 0x6c8e4220, 0x1c4a1: 0x6c99d420, 0x1c4a2: 0x6d2aa620, 0x1c4a3: 0x6c3c1c20,\n\t0x1c4a4: 0x6cab2e20, 0x1c4a5: 0x6c858020, 0x1c4a6: 0x6c94da20, 0x1c4a7: 0x6c122220,\n\t0x1c4a8: 0x6c3c1e20, 0x1c4a9: 0x6ceee020, 0x1c4aa: 0x6c565a20, 0x1c4ab: 0x6ca0d220,\n\t0x1c4ac: 0x6c9a7820, 0x1c4ad: 0x6cd59e20, 0x1c4ae: 0x6c71a620, 0x1c4af: 0x6d296220,\n\t0x1c4b0: 0x6ceab020, 0x1c4b1: 0x6ceaee20, 0x1c4b2: 0x6ceaf020, 0x1c4b3: 0x6c50c820,\n\t0x1c4b4: 0x6c859020, 0x1c4b5: 0x6c9cdc20, 0x1c4b6: 0x6d147220, 0x1c4b7: 0x6c37e420,\n\t0x1c4b8: 0x6c3a8820, 0x1c4b9: 0x6d1efe20, 0x1c4ba: 0x6ce48420, 0x1c4bb: 0x6d358a20,\n\t0x1c4bc: 0x6d2f8820, 0x1c4bd: 0x6c46f220, 0x1c4be: 0x6d2d6020, 0x1c4bf: 0x6d0c6820,\n\t// Block 0x713, offset 0x1c4c0\n\t0x1c4c0: 0x6cd7ce20, 0x1c4c1: 0x6c7be420, 0x1c4c2: 0x6c6ef820, 0x1c4c3: 0x6c705c20,\n\t0x1c4c4: 0x6d016020, 0x1c4c5: 0x6cc00620, 0x1c4c6: 0x6d16c220, 0x1c4c7: 0x6c632c20,\n\t0x1c4c8: 0x6d379a20, 0x1c4c9: 0x6cc2c220, 0x1c4ca: 0x6cb2fc20, 0x1c4cb: 0x6c5b9020,\n\t0x1c4cc: 0x6c9d2620, 0x1c4cd: 0x6c077e20, 0x1c4ce: 0x6d2aaa20, 0x1c4cf: 0x6d39f420,\n\t0x1c4d0: 0x6c821820, 0x1c4d1: 0x6d1e9820, 0x1c4d2: 0x6c46f420, 0x1c4d3: 0x6c530420,\n\t0x1c4d4: 0x6c417620, 0x1c4d5: 0x6c382e20, 0x1c4d6: 0x6c992e20, 0x1c4d7: 0x6cd89020,\n\t0x1c4d8: 0x6c54a620, 0x1c4d9: 0x6cb27a20, 0x1c4da: 0x6c229220, 0x1c4db: 0x6c392220,\n\t0x1c4dc: 0x6d339a20, 0x1c4dd: 0x6cda8020, 0x1c4de: 0x6ca95420, 0x1c4df: 0x6c195420,\n\t0x1c4e0: 0x6c8cac20, 0x1c4e1: 0x6cad8220, 0x1c4e2: 0x6c0e5220, 0x1c4e3: 0x6cb74620,\n\t0x1c4e4: 0x6cd88220, 0x1c4e5: 0x6ca5c020, 0x1c4e6: 0x6c70f620, 0x1c4e7: 0x6cc96a20,\n\t0x1c4e8: 0x6d3ab020, 0x1c4e9: 0x6cd0e220, 0x1c4ea: 0x6c832020, 0x1c4eb: 0x6d087020,\n\t0x1c4ec: 0x6c73f020, 0x1c4ed: 0x6c3df620, 0x1c4ee: 0x6caca220, 0x1c4ef: 0x6c9f9620,\n\t0x1c4f0: 0x6cdf6820, 0x1c4f1: 0x6d0f4a20, 0x1c4f2: 0x6c612020, 0x1c4f3: 0x6d1e1420,\n\t0x1c4f4: 0x6c497c20, 0x1c4f5: 0x6c083a20, 0x1c4f6: 0x6d090020, 0x1c4f7: 0x6c8f6c20,\n\t0x1c4f8: 0x6c913a20, 0x1c4f9: 0x6c28f420, 0x1c4fa: 0x6c95e020, 0x1c4fb: 0x6d016220,\n\t0x1c4fc: 0x6cb3c020, 0x1c4fd: 0x6d2aac20, 0x1c4fe: 0x6c6d9020, 0x1c4ff: 0x6d1a3c20,\n\t// Block 0x714, offset 0x1c500\n\t0x1c500: 0x6cac5420, 0x1c501: 0x6c6a9020, 0x1c502: 0x6d16f620, 0x1c503: 0x6c5a9820,\n\t0x1c504: 0x6c5b2620, 0x1c505: 0x6d293020, 0x1c506: 0x6c19ce20, 0x1c507: 0x6d19b420,\n\t0x1c508: 0x6ceeec20, 0x1c509: 0x6c546620, 0x1c50a: 0x6c665a20, 0x1c50b: 0x6d0f9820,\n\t0x1c50c: 0x6c8ad420, 0x1c50d: 0x6cd8a820, 0x1c50e: 0x6c61aa20, 0x1c50f: 0x6c374020,\n\t0x1c510: 0x6d03d020, 0x1c511: 0x6c3e1220, 0x1c512: 0x6cc94c20, 0x1c513: 0x6ccb1820,\n\t0x1c514: 0x6d350420, 0x1c515: 0x6d1b3e20, 0x1c516: 0x6cf3b620, 0x1c517: 0x6cf7d620,\n\t0x1c518: 0x6c77a420, 0x1c519: 0x6d398a20, 0x1c51a: 0x6c67da20, 0x1c51b: 0x6c95e820,\n\t0x1c51c: 0x6c95f420, 0x1c51d: 0x6c01a620, 0x1c51e: 0x6c306420, 0x1c51f: 0x6ce3dc20,\n\t0x1c520: 0x6ca1c820, 0x1c521: 0x6c832220, 0x1c522: 0x6d13da20, 0x1c523: 0x6c9ce420,\n\t0x1c524: 0x6cc2c420, 0x1c525: 0x6c6c3020, 0x1c526: 0x6cb37020, 0x1c527: 0x6cef9820,\n\t0x1c528: 0x6cff7020, 0x1c529: 0x6d017220, 0x1c52a: 0x6c531420, 0x1c52b: 0x6d069420,\n\t0x1c52c: 0x6cda8620, 0x1c52d: 0x6c7b9220, 0x1c52e: 0x6ce20a20, 0x1c52f: 0x6cbcac20,\n\t0x1c530: 0x6c71fe20, 0x1c531: 0x6c378a20, 0x1c532: 0x6d386020, 0x1c533: 0x6cc81220,\n\t0x1c534: 0x6cb28620, 0x1c535: 0x6d09ec20, 0x1c536: 0x6d046020, 0x1c537: 0x6d35a220,\n\t0x1c538: 0x6c49e020, 0x1c539: 0x6c586420, 0x1c53a: 0x6c9fec20, 0x1c53b: 0x6c5d7020,\n\t0x1c53c: 0x6cebcc20, 0x1c53d: 0x6cb84c20, 0x1c53e: 0x6cac1e20, 0x1c53f: 0x6cf35820,\n\t// Block 0x715, offset 0x1c540\n\t0x1c540: 0x6cc0e820, 0x1c541: 0x6c8e4a20, 0x1c542: 0x6d16f820, 0x1c543: 0x6c633a20,\n\t0x1c544: 0x6c6e5a20, 0x1c545: 0x6cb9f420, 0x1c546: 0x6c675420, 0x1c547: 0x6c683220,\n\t0x1c548: 0x6d312a20, 0x1c549: 0x6cd1ac20, 0x1c54a: 0x6d3d3420, 0x1c54b: 0x6c12d420,\n\t0x1c54c: 0x6c380020, 0x1c54d: 0x6c5b9c20, 0x1c54e: 0x6c61ac20, 0x1c54f: 0x6c8e4620,\n\t0x1c550: 0x6c159c20, 0x1c551: 0x6c5ce020, 0x1c552: 0x6c561420, 0x1c553: 0x6ca9b420,\n\t0x1c554: 0x6d09ee20, 0x1c555: 0x6c6ce220, 0x1c556: 0x6c8aee20, 0x1c557: 0x6cc03220,\n\t0x1c558: 0x6cefa220, 0x1c559: 0x6d30ea20, 0x1c55a: 0x6c75a620, 0x1c55b: 0x6c4df620,\n\t0x1c55c: 0x6c052620, 0x1c55d: 0x6c985220, 0x1c55e: 0x6d3d3a20, 0x1c55f: 0x6d1f1820,\n\t0x1c560: 0x6cf5c220, 0x1c561: 0x6c0ed620, 0x1c562: 0x6c310420, 0x1c563: 0x6c590420,\n\t0x1c564: 0x6c532a20, 0x1c565: 0x6d173220, 0x1c566: 0x6cb48820, 0x1c567: 0x6d1ce420,\n\t0x1c568: 0x6c802420, 0x1c569: 0x6c502e20, 0x1c56a: 0x6c811820, 0x1c56b: 0x6c4e5620,\n\t0x1c56c: 0x6c850c20, 0x1c56d: 0x6c44be20, 0x1c56e: 0x6c3e3620, 0x1c56f: 0x6cf3b820,\n\t0x1c570: 0x6c88ea20, 0x1c571: 0x6c213a20, 0x1c572: 0x6c3ca220, 0x1c573: 0x6d173420,\n\t0x1c574: 0x6d22f220, 0x1c575: 0x6ce73420, 0x1c576: 0x6c815420, 0x1c577: 0x6c4d3a20,\n\t0x1c578: 0x6c6cee20, 0x1c579: 0x6c634220, 0x1c57a: 0x6c1cb820, 0x1c57b: 0x6c6f0820,\n\t0x1c57c: 0x6c9a5220, 0x1c57d: 0x6cdbb820, 0x1c57e: 0x6c195e20, 0x1c57f: 0x6cae1420,\n\t// Block 0x716, offset 0x1c580\n\t0x1c580: 0x6cfcaa20, 0x1c581: 0x6cd09820, 0x1c582: 0x6ce92e20, 0x1c583: 0x6c7dd020,\n\t0x1c584: 0x6cb25020, 0x1c585: 0x6ca80820, 0x1c586: 0x6c4e9c20, 0x1c587: 0x6c6da020,\n\t0x1c588: 0x6cfea220, 0x1c589: 0x6ccf3c20, 0x1c58a: 0x6ca71e20, 0x1c58b: 0x6ce84e20,\n\t0x1c58c: 0x6d1e2620, 0x1c58d: 0x6cffe020, 0x1c58e: 0x6cfb3620, 0x1c58f: 0x6ce6bc20,\n\t0x1c590: 0x6c355820, 0x1c591: 0x6cda8e20, 0x1c592: 0x6cea1c20, 0x1c593: 0x6c72e620,\n\t0x1c594: 0x6c132c20, 0x1c595: 0x6ce3e220, 0x1c596: 0x6c85d020, 0x1c597: 0x6cd71620,\n\t0x1c598: 0x6cd8aa20, 0x1c599: 0x6c832820, 0x1c59a: 0x6cd71820, 0x1c59b: 0x6ce1be20,\n\t0x1c59c: 0x6c318e20, 0x1c59d: 0x6c81ce20, 0x1c59e: 0x6c7eec20, 0x1c59f: 0x6c87f620,\n\t0x1c5a0: 0x6ceef620, 0x1c5a1: 0x6cf28020, 0x1c5a2: 0x6d279a20, 0x1c5a3: 0x6c590620,\n\t0x1c5a4: 0x6c2b6420, 0x1c5a5: 0x6c528a20, 0x1c5a6: 0x6cc8fa20, 0x1c5a7: 0x6c666e20,\n\t0x1c5a8: 0x6d2f0220, 0x1c5a9: 0x6ccb1c20, 0x1c5aa: 0x6c3e5220, 0x1c5ab: 0x6c498420,\n\t0x1c5ac: 0x6d042a20, 0x1c5ad: 0x6cd46420, 0x1c5ae: 0x6cd69020, 0x1c5af: 0x6d0b2a20,\n\t0x1c5b0: 0x6c21b620, 0x1c5b1: 0x6d2f2e20, 0x1c5b2: 0x6d12e820, 0x1c5b3: 0x6c797620,\n\t0x1c5b4: 0x6cf2e420, 0x1c5b5: 0x6c4e0220, 0x1c5b6: 0x6ceac020, 0x1c5b7: 0x6c2ffa20,\n\t0x1c5b8: 0x6c510820, 0x1c5b9: 0x6cf28620, 0x1c5ba: 0x6c708e20, 0x1c5bb: 0x6ccf4020,\n\t0x1c5bc: 0x6c894e20, 0x1c5bd: 0x6c5cc220, 0x1c5be: 0x6cde4e20, 0x1c5bf: 0x6d3cfe20,\n\t// Block 0x717, offset 0x1c5c0\n\t0x1c5c0: 0x6c2d5220, 0x1c5c1: 0x6cbcb620, 0x1c5c2: 0x6c2a6a20, 0x1c5c3: 0x6c735620,\n\t0x1c5c4: 0x6d3e2420, 0x1c5c5: 0x6cf5f020, 0x1c5c6: 0x6cff8220, 0x1c5c7: 0x6cb5ca20,\n\t0x1c5c8: 0x6c477e20, 0x1c5c9: 0x6c4cb820, 0x1c5ca: 0x6d0bf620, 0x1c5cb: 0x6c8bb020,\n\t0x1c5cc: 0x6ce17420, 0x1c5cd: 0x6d387620, 0x1c5ce: 0x6caf0420, 0x1c5cf: 0x6c503820,\n\t0x1c5d0: 0x6c166620, 0x1c5d1: 0x6cd4cc20, 0x1c5d2: 0x6cb4ea20, 0x1c5d3: 0x6c399020,\n\t0x1c5d4: 0x6d345820, 0x1c5d5: 0x6c923c20, 0x1c5d6: 0x6ca53020, 0x1c5d7: 0x6c711420,\n\t0x1c5d8: 0x6ce21e20, 0x1c5d9: 0x6c239c20, 0x1c5da: 0x6c833020, 0x1c5db: 0x6d30f020,\n\t0x1c5dc: 0x6cb29c20, 0x1c5dd: 0x6c3a3420, 0x1c5de: 0x6cd91c20, 0x1c5df: 0x6ce4ee20,\n\t0x1c5e0: 0x6cb09020, 0x1c5e1: 0x6c288020, 0x1c5e2: 0x6d231620, 0x1c5e3: 0x6ca5d820,\n\t0x1c5e4: 0x6d208620, 0x1c5e5: 0x6c923e20, 0x1c5e6: 0x6c421a20, 0x1c5e7: 0x6c9d3a20,\n\t0x1c5e8: 0x6c6e7420, 0x1c5e9: 0x6c8ce820, 0x1c5ea: 0x6c94f420, 0x1c5eb: 0x6d1a5c20,\n\t0x1c5ec: 0x6c253620, 0x1c5ed: 0x6cc18820, 0x1c5ee: 0x6c57ea20, 0x1c5ef: 0x6d231820,\n\t0x1c5f0: 0x6ca72220, 0x1c5f1: 0x6ccfde20, 0x1c5f2: 0x6c0bf620, 0x1c5f3: 0x6c214220,\n\t0x1c5f4: 0x6c54c220, 0x1c5f5: 0x6d24ec20, 0x1c5f6: 0x6c7efc20, 0x1c5f7: 0x6c5d2620,\n\t0x1c5f8: 0x6cbe4620, 0x1c5f9: 0x6d0bf820, 0x1c5fa: 0x6cba0220, 0x1c5fb: 0x6ce46220,\n\t0x1c5fc: 0x6c9e9020, 0x1c5fd: 0x6d350c20, 0x1c5fe: 0x6d1ae420, 0x1c5ff: 0x6c9d3c20,\n\t// Block 0x718, offset 0x1c600\n\t0x1c600: 0x6c07b220, 0x1c601: 0x6d24de20, 0x1c602: 0x6cf20820, 0x1c603: 0x6cc91c20,\n\t0x1c604: 0x6c39fa20, 0x1c605: 0x6cbe4820, 0x1c606: 0x6d24e020, 0x1c607: 0x6c786220,\n\t0x1c608: 0x6c61f220, 0x1c609: 0x6ccf4220, 0x1c60a: 0x6d24e220, 0x1c60b: 0x6ccba420,\n\t0x1c60c: 0x6c924020, 0x1c60d: 0x6d3f4420, 0x1c60e: 0x6c319620, 0x1c60f: 0x6cb81420,\n\t0x1c610: 0x6c667a20, 0x1c611: 0x6c9e1c20, 0x1c612: 0x6cb09220, 0x1c613: 0x6cf94420,\n\t0x1c614: 0x6d210220, 0x1c615: 0x6d24e420, 0x1c616: 0x6cd05c20, 0x1c617: 0x6cd09e20,\n\t0x1c618: 0x6cc74c20, 0x1c619: 0x6c592420, 0x1c61a: 0x6d3a6420, 0x1c61b: 0x6c659620,\n\t0x1c61c: 0x6caa9020, 0x1c61d: 0x6d212a20, 0x1c61e: 0x6cc06220, 0x1c61f: 0x6ce67220,\n\t0x1c620: 0x6cc18a20, 0x1c621: 0x6c325c20, 0x1c622: 0x6c389e20, 0x1c623: 0x6d2bdc20,\n\t0x1c624: 0x6c0f0420, 0x1c625: 0x6cf2f220, 0x1c626: 0x6cf28820, 0x1c627: 0x6c2c5820,\n\t0x1c628: 0x6cee8e20, 0x1c629: 0x6cf15020, 0x1c62a: 0x6cc7ac20, 0x1c62b: 0x6d01ae20,\n\t0x1c62c: 0x6c12ea20, 0x1c62d: 0x6cf09820, 0x1c62e: 0x6c510a20, 0x1c62f: 0x6c42a220,\n\t0x1c630: 0x6d0d8a20, 0x1c631: 0x6c534a20, 0x1c632: 0x6d089420, 0x1c633: 0x6c9cf220,\n\t0x1c634: 0x6c786a20, 0x1c635: 0x6c98da20, 0x1c636: 0x6d1bb020, 0x1c637: 0x6d0d8c20,\n\t0x1c638: 0x6d1f3820, 0x1c639: 0x6c52a620, 0x1c63a: 0x6c9e9220, 0x1c63b: 0x6cd13a20,\n\t0x1c63c: 0x6c9a5a20, 0x1c63d: 0x6d290420, 0x1c63e: 0x6c5cec20, 0x1c63f: 0x6ca3c420,\n\t// Block 0x719, offset 0x1c640\n\t0x1c640: 0x6c4afe20, 0x1c641: 0x6c1c2020, 0x1c642: 0x6c363820, 0x1c643: 0x6cac2620,\n\t0x1c644: 0x6c99fc20, 0x1c645: 0x6c88fc20, 0x1c646: 0x6cb79620, 0x1c647: 0x6cb79820,\n\t0x1c648: 0x6c99fe20, 0x1c649: 0x6ce4a020, 0x1c64a: 0x6c23ec20, 0x1c64b: 0x6cef1020,\n\t0x1c64c: 0x6c116a20, 0x1c64d: 0x6ce93220, 0x1c64e: 0x6c9e2620, 0x1c64f: 0x6c5bc420,\n\t0x1c650: 0x6ca11a20, 0x1c651: 0x6d059c20, 0x1c652: 0x6c604020, 0x1c653: 0x6cae4020,\n\t0x1c654: 0x6c649e20, 0x1c655: 0x6c658a20, 0x1c656: 0x6c555e20, 0x1c657: 0x6c3ce020,\n\t0x1c658: 0x6cfd7420, 0x1c659: 0x6d17a820, 0x1c65a: 0x6d1b5420, 0x1c65b: 0x6d2e6420,\n\t0x1c65c: 0x6cd26a20, 0x1c65d: 0x6c6a1820, 0x1c65e: 0x6c197020, 0x1c65f: 0x6c59c620,\n\t0x1c660: 0x6ce09a20, 0x1c661: 0x6d212c20, 0x1c662: 0x6c09a220, 0x1c663: 0x6c9fb020,\n\t0x1c664: 0x6cd1be20, 0x1c665: 0x6ce86020, 0x1c666: 0x6cd10220, 0x1c667: 0x6d1e3a20,\n\t0x1c668: 0x6c712620, 0x1c669: 0x6c307820, 0x1c66a: 0x6ce98a20, 0x1c66b: 0x6c68f620,\n\t0x1c66c: 0x6c690820, 0x1c66d: 0x6cc06420, 0x1c66e: 0x6d0c0820, 0x1c66f: 0x6ce0c020,\n\t0x1c670: 0x6c8f9420, 0x1c671: 0x6c5dd220, 0x1c672: 0x6d256420, 0x1c673: 0x6ca42820,\n\t0x1c674: 0x6c04f620, 0x1c675: 0x6d1fcc20, 0x1c676: 0x6cc2f020, 0x1c677: 0x6d3c1820,\n\t0x1c678: 0x6c89ba20, 0x1c679: 0x6c14f620, 0x1c67a: 0x6d0c9620, 0x1c67b: 0x6c214c20,\n\t0x1c67c: 0x6ca83020, 0x1c67d: 0x6d3e3e20, 0x1c67e: 0x6cec9020, 0x1c67f: 0x6cd1c020,\n\t// Block 0x71a, offset 0x1c680\n\t0x1c680: 0x6c97ba20, 0x1c681: 0x6d1c7220, 0x1c682: 0x6c7ed620, 0x1c683: 0x6c7cfc20,\n\t0x1c684: 0x6c3d0020, 0x1c685: 0x6c669020, 0x1c686: 0x6d06da20, 0x1c687: 0x6c908a20,\n\t0x1c688: 0x6cef1220, 0x1c689: 0x6c413620, 0x1c68a: 0x6cfa6620, 0x1c68b: 0x6d1c7420,\n\t0x1c68c: 0x6cb31020, 0x1c68d: 0x6c6d1820, 0x1c68e: 0x6d0e8620, 0x1c68f: 0x6ce10420,\n\t0x1c690: 0x6d258220, 0x1c691: 0x6cdd7a20, 0x1c692: 0x6d258420, 0x1c693: 0x6c881420,\n\t0x1c694: 0x6d11b820, 0x1c695: 0x6c9c0620, 0x1c696: 0x6d3cde20, 0x1c697: 0x6c1a1c20,\n\t0x1c698: 0x6c78ba20, 0x1c699: 0x6cdf7a20, 0x1c69a: 0x6cde0a20, 0x1c69b: 0x6cebe420,\n\t0x1c69c: 0x6c8e3620, 0x1c69d: 0x6c465220, 0x1c69e: 0x6ccaae20, 0x1c69f: 0x6ca00620,\n\t0x1c6a0: 0x6d2cc420, 0x1c6a1: 0x6cd27220, 0x1c6a2: 0x6d17e820, 0x1c6a3: 0x6c952220,\n\t0x1c6a4: 0x6c969a20, 0x1c6a5: 0x6cb48e20, 0x1c6a6: 0x6cee9e20, 0x1c6a7: 0x6c863420,\n\t0x1c6a8: 0x6c111220, 0x1c6a9: 0x6cf50020, 0x1c6aa: 0x6cf64c20, 0x1c6ab: 0x6cf15a20,\n\t0x1c6ac: 0x6cbaba20, 0x1c6ad: 0x6d2ace20, 0x1c6ae: 0x6cd1ce20, 0x1c6af: 0x6cdace20,\n\t0x1c6b0: 0x6c004220, 0x1c6b1: 0x6cbd8420, 0x1c6b2: 0x6cd9b220, 0x1c6b3: 0x6d27b220,\n\t0x1c6b4: 0x6d054420, 0x1c6b5: 0x6d19ec20, 0x1c6b6: 0x6cc68a20, 0x1c6b7: 0x6c5d2e20,\n\t0x1c6b8: 0x6cdad020, 0x1c6b9: 0x6cddcc20, 0x1c6ba: 0x6ca6ac20, 0x1c6bb: 0x6cddf420,\n\t0x1c6bc: 0x6cd1d020, 0x1c6bd: 0x6cc81c20, 0x1c6be: 0x6c002a20, 0x1c6bf: 0x6cacba20,\n\t// Block 0x71b, offset 0x1c6c0\n\t0x1c6c0: 0x6c1f5020, 0x1c6c1: 0x6c1e7e20, 0x1c6c2: 0x6cacdc20, 0x1c6c3: 0x6cf22c20,\n\t0x1c6c4: 0x6c123220, 0x1c6c5: 0x6c9ede20, 0x1c6c6: 0x6c440620, 0x1c6c7: 0x6c2cce20,\n\t0x1c6c8: 0x6c504420, 0x1c6c9: 0x6c5a7020, 0x1c6ca: 0x6cf8a020, 0x1c6cb: 0x6d3e4020,\n\t0x1c6cc: 0x6c2b7220, 0x1c6cd: 0x6d365a20, 0x1c6ce: 0x6d03f220, 0x1c6cf: 0x6c3f6c20,\n\t0x1c6d0: 0x6c6aea20, 0x1c6d1: 0x6c573e20, 0x1c6d2: 0x6c439a20, 0x1c6d3: 0x6d3f1a20,\n\t0x1c6d4: 0x6ce1d820, 0x1c6d5: 0x6ce2aa20, 0x1c6d6: 0x6cdbc820, 0x1c6d7: 0x6c09c820,\n\t0x1c6d8: 0x6c69a420, 0x1c6d9: 0x6c5be620, 0x1c6da: 0x6c4bce20, 0x1c6db: 0x6d1a7020,\n\t0x1c6dc: 0x6c42ca20, 0x1c6dd: 0x6c8f9620, 0x1c6de: 0x6d362c20, 0x1c6df: 0x6d0e8820,\n\t0x1c6e0: 0x6ccf5820, 0x1c6e1: 0x6c97be20, 0x1c6e2: 0x6d1c8020, 0x1c6e3: 0x6c215020,\n\t0x1c6e4: 0x6c93e620, 0x1c6e5: 0x6c807420, 0x1c6e6: 0x6c943e20, 0x1c6e7: 0x6d003420,\n\t0x1c6e8: 0x6c0d3c20, 0x1c6e9: 0x6cdfb020, 0x1c6ea: 0x6d236e20, 0x1c6eb: 0x6d052420,\n\t0x1c6ec: 0x6c56b820, 0x1c6ed: 0x6c09ca20, 0x1c6ee: 0x6c0c0c20, 0x1c6ef: 0x6d368e20,\n\t0x1c6f0: 0x6c67f220, 0x1c6f1: 0x6c79f620, 0x1c6f2: 0x6cd0be20, 0x1c6f3: 0x6cce0e20,\n\t0x1c6f4: 0x6c2b3a20, 0x1c6f5: 0x6c9d6820, 0x1c6f6: 0x6c025220, 0x1c6f7: 0x6c91cc20,\n\t0x1c6f8: 0x6c562820, 0x1c6f9: 0x6c54e820, 0x1c6fa: 0x6d1eac20, 0x1c6fb: 0x6c15cc20,\n\t0x1c6fc: 0x6c396420, 0x1c6fd: 0x6d1d9e20, 0x1c6fe: 0x6c4bd620, 0x1c6ff: 0x6c97c420,\n\t// Block 0x71c, offset 0x1c700\n\t0x1c700: 0x6cbeae20, 0x1c701: 0x6d216e20, 0x1c702: 0x6cb1b820, 0x1c703: 0x6c623e20,\n\t0x1c704: 0x6d0b3420, 0x1c705: 0x6c176e20, 0x1c706: 0x6cb51220, 0x1c707: 0x6cf7fe20,\n\t0x1c708: 0x6c624020, 0x1c709: 0x6c928620, 0x1c70a: 0x6c90a620, 0x1c70b: 0x6c8f9c20,\n\t0x1c70c: 0x6c6ca020, 0x1c70d: 0x6c4c7a20, 0x1c70e: 0x6c23a620, 0x1c70f: 0x6c910e20,\n\t0x1c710: 0x6d349020, 0x1c711: 0x6c414c20, 0x1c712: 0x6cbb1a20, 0x1c713: 0x6c83e220,\n\t0x1c714: 0x6d0db420, 0x1c715: 0x6c127e20, 0x1c716: 0x6c69b020, 0x1c717: 0x6c232a20,\n\t0x1c718: 0x6c215620, 0x1c719: 0x6ce95620, 0x1c71a: 0x6cab4020, 0x1c71b: 0x6ce2a820,\n\t0x1c71c: 0x6d12b020, 0x1c71d: 0x6cf79220, 0x1c71e: 0x6c9d6a20, 0x1c71f: 0x6ce11220,\n\t0x1c720: 0x6ca12c20, 0x1c721: 0x6cce1020, 0x1c722: 0x6c4ee620, 0x1c723: 0x6c881620,\n\t0x1c724: 0x6c803220, 0x1c725: 0x6cebe820, 0x1c726: 0x6c1b4820, 0x1c727: 0x6c41aa20,\n\t0x1c728: 0x6c3cae20, 0x1c729: 0x6d081a20, 0x1c72a: 0x6d140420, 0x1c72b: 0x6c97ec20,\n\t0x1c72c: 0x6d3f5c20, 0x1c72d: 0x6c989620, 0x1c72e: 0x6c774020, 0x1c72f: 0x6c961620,\n\t0x1c730: 0x6cae7a20, 0x1c731: 0x6cd5f420, 0x1c732: 0x6d2f0620, 0x1c733: 0x6d2eca20,\n\t0x1c734: 0x6d3c4620, 0x1c735: 0x6d070c20, 0x1c736: 0x6c594020, 0x1c737: 0x6c5d9020,\n\t0x1c738: 0x6c66aa20, 0x1c739: 0x6d0c1c20, 0x1c73a: 0x6cd6d820, 0x1c73b: 0x6c89f820,\n\t0x1c73c: 0x6c24fa20, 0x1c73d: 0x6ce36420, 0x1c73e: 0x6d106020, 0x1c73f: 0x6c677220,\n\t// Block 0x71d, offset 0x1c740\n\t0x1c740: 0x6c23a820, 0x1c741: 0x6d1d0620, 0x1c742: 0x6c537220, 0x1c743: 0x6d0a1c20,\n\t0x1c744: 0x6cd5f620, 0x1c745: 0x6c499a20, 0x1c746: 0x6d1c8620, 0x1c747: 0x6cfeee20,\n\t0x1c748: 0x6d404220, 0x1c749: 0x6c7de020, 0x1c74a: 0x6d070e20, 0x1c74b: 0x6c890c20,\n\t0x1c74c: 0x6d369020, 0x1c74d: 0x6cef2020, 0x1c74e: 0x6cb0ac20, 0x1c74f: 0x6d23c420,\n\t0x1c750: 0x6c69be20, 0x1c751: 0x6cb3c420, 0x1c752: 0x6c297820, 0x1c753: 0x6c5c1820,\n\t0x1c754: 0x6c6b1c20, 0x1c755: 0x6cf46820, 0x1c756: 0x6cabdc20, 0x1c757: 0x6c608620,\n\t0x1c758: 0x6cac4220, 0x1c759: 0x6cef2c20, 0x1c75a: 0x6cdb1820, 0x1c75b: 0x6cb9b820,\n\t0x1c75c: 0x6cb9ba20, 0x1c75d: 0x6cf69c20, 0x1c75e: 0x6c92cc20, 0x1c75f: 0x6cf8c620,\n\t0x1c760: 0x6d0aa220, 0x1c761: 0x6c340620, 0x1c762: 0x6c59da20, 0x1c763: 0x6c9fc620,\n\t0x1c764: 0x6cc90420, 0x1c765: 0x6cdb0020, 0x1c766: 0x6c81b820, 0x1c767: 0x6d318a20,\n\t0x1c768: 0x6c23aa20, 0x1c769: 0x6d182820, 0x1c76a: 0x6d30fe20, 0x1c76b: 0x6cec9820,\n\t0x1c76c: 0x6ccd9e20, 0x1c76d: 0x6ce00420, 0x1c76e: 0x6c177620, 0x1c76f: 0x6d0a3220,\n\t0x1c770: 0x6c7d0e20, 0x1c771: 0x6d126420, 0x1c772: 0x6ccee420, 0x1c773: 0x6ce8da20,\n\t0x1c774: 0x6d39bc20, 0x1c775: 0x6cc95820, 0x1c776: 0x6c522220, 0x1c777: 0x6c0a2a20,\n\t0x1c778: 0x6ccd0820, 0x1c779: 0x6c151c20, 0x1c77a: 0x6c151e20, 0x1c77b: 0x6cd56820,\n\t0x1c77c: 0x6ce77c20, 0x1c77d: 0x6cb41020, 0x1c77e: 0x6c8bce20, 0x1c77f: 0x6cef2e20,\n\t// Block 0x71e, offset 0x1c780\n\t0x1c780: 0x6ccb6c20, 0x1c781: 0x6ccb4620, 0x1c782: 0x6c1a3820, 0x1c783: 0x6c6f3020,\n\t0x1c784: 0x6c1a3a20, 0x1c785: 0x6c57be20, 0x1c786: 0x6c686c20, 0x1c787: 0x6c81dc20,\n\t0x1c788: 0x6c183420, 0x1c789: 0x6c41e020, 0x1c78a: 0x6c259c20, 0x1c78b: 0x6c53cc20,\n\t0x1c78c: 0x6cd81820, 0x1c78d: 0x6cd60220, 0x1c78e: 0x6cae8420, 0x1c78f: 0x6c4e2a20,\n\t0x1c790: 0x6d27c020, 0x1c791: 0x6c8f3c20, 0x1c792: 0x6c53ce20, 0x1c793: 0x6c3ed820,\n\t0x1c794: 0x6c505a20, 0x1c795: 0x6c513e20, 0x1c796: 0x6cfb8020, 0x1c797: 0x6c66b620,\n\t0x1c798: 0x6ccd0a20, 0x1c799: 0x6cf8c820, 0x1c79a: 0x6d24c220, 0x1c79b: 0x6c934c20,\n\t0x1c79c: 0x6c7fac20, 0x1c79d: 0x6ca96020, 0x1c79e: 0x6d21a220, 0x1c79f: 0x6c8c3420,\n\t0x1c7a0: 0x6c9e4020, 0x1c7a1: 0x6d2a5020, 0x1c7a2: 0x6c290420, 0x1c7a3: 0x6c595420,\n\t0x1c7a4: 0x6d2afc20, 0x1c7a5: 0x6d021620, 0x1c7a6: 0x6d23ea20, 0x1c7a7: 0x6c853020,\n\t0x1c7a8: 0x6cd3da20, 0x1c7a9: 0x6d091c20, 0x1c7aa: 0x6c8d5820, 0x1c7ab: 0x6ced9420,\n\t0x1c7ac: 0x6d3e8a20, 0x1c7ad: 0x6d1db420, 0x1c7ae: 0x6c5c3420, 0x1c7af: 0x6c120420,\n\t0x1c7b0: 0x6c891620, 0x1c7b1: 0x6c2d8420, 0x1c7b2: 0x6d134020, 0x1c7b3: 0x6c02ec20,\n\t0x1c7b4: 0x6c589820, 0x1c7b5: 0x6d319220, 0x1c7b6: 0x6c152420, 0x1c7b7: 0x6c980420,\n\t0x1c7b8: 0x6c284420, 0x1c7b9: 0x6c28b220, 0x1c7ba: 0x6d189e20, 0x1c7bb: 0x6cdc5c20,\n\t0x1c7bc: 0x6cb0ba20, 0x1c7bd: 0x6c728e20, 0x1c7be: 0x6cde8e20, 0x1c7bf: 0x6cbda420,\n\t// Block 0x71f, offset 0x1c7c0\n\t0x1c7c0: 0x6c5f3420, 0x1c7c1: 0x6d3d9a20, 0x1c7c2: 0x6c884c20, 0x1c7c3: 0x6ca9c620,\n\t0x1c7c4: 0x6c4c3020, 0x1c7c5: 0x6c6d4e20, 0x1c7c6: 0x6c3b8c20, 0x1c7c7: 0x6ccb5a20,\n\t0x1c7c8: 0x6c608820, 0x1c7c9: 0x6cdbda20, 0x1c7ca: 0x6c5c3620, 0x1c7cb: 0x6c1eea20,\n\t0x1c7cc: 0x6cdeac20, 0x1c7cd: 0x6cd93620, 0x1c7ce: 0x6c2f7e20, 0x1c7cf: 0x6ccba620,\n\t0x1c7d0: 0x6d3a7e20, 0x1c7d1: 0x6c7f5620, 0x1c7d2: 0x6c0d5220, 0x1c7d3: 0x6c884e20,\n\t0x1c7d4: 0x6c9d0220, 0x1c7d5: 0x6cd20220, 0x1c7d6: 0x6cd60c20, 0x1c7d7: 0x6c9d8620,\n\t0x1c7d8: 0x6ca95a20, 0x1c7d9: 0x6d1ca220, 0x1c7da: 0x6d1ca420, 0x1c7db: 0x6c9b4c20,\n\t0x1c7dc: 0x6c6d5e20, 0x1c7dd: 0x6cb65e20, 0x1c7de: 0x6c0a7020, 0x1c7df: 0x6c629820,\n\t0x1c7e0: 0x6c4ff420, 0x1c7e1: 0x6cc7d220, 0x1c7e2: 0x6c256a20, 0x1c7e3: 0x6cf31c20,\n\t0x1c7e4: 0x6ce1f020, 0x1c7e5: 0x6d1b0e20, 0x1c7e6: 0x6d1b1020, 0x1c7e7: 0x6c336820,\n\t0x1c7e8: 0x6c226c20, 0x1c7e9: 0x6c5df820, 0x1c7ea: 0x6c6eb220, 0x1c7eb: 0x6c807c20,\n\t0x1c7ec: 0x6c75f020, 0x1c7ed: 0x6c007820, 0x1c7ee: 0x6cb45820, 0x1c7ef: 0x6d3db020,\n\t0x1c7f0: 0x6cef4020, 0x1c7f1: 0x6c0d5420, 0x1c7f2: 0x6c47d620, 0x1c7f3: 0x6cb9d620,\n\t0x1c7f4: 0x6d1ca620, 0x1c7f5: 0x6c0d9c20, 0x1c7f6: 0x6c7e1c20, 0x1c7f7: 0x6c3ade20,\n\t0x1c7f8: 0x6c125e20, 0x1c7f9: 0x6c99c820, 0x1c7fa: 0x6c66f020, 0x1c7fb: 0x6cf02620,\n\t0x1c7fc: 0x6c963420, 0x1c7fd: 0x6d29a420, 0x1c7fe: 0x6c940e20, 0x1c7ff: 0x6c869e20,\n\t// Block 0x720, offset 0x1c800\n\t0x1c800: 0x6d1ebe20, 0x1c801: 0x6d106e20, 0x1c802: 0x6c91ea20, 0x1c803: 0x6cd8f420,\n\t0x1c804: 0x6d36e220, 0x1c805: 0x6d1cb220, 0x1c806: 0x6c31cc20, 0x1c807: 0x6cee3c20,\n\t0x1c808: 0x6c5afc20, 0x1c809: 0x6d024020, 0x1c80a: 0x6cac8020, 0x1c80b: 0x6cd08420,\n\t0x1c80c: 0x6c0c3820, 0x1c80d: 0x6c153820, 0x1c80e: 0x6ca17220, 0x1c80f: 0x6c8eba20,\n\t0x1c810: 0x6c651620, 0x1c811: 0x6cb4ba20, 0x1c812: 0x6ccb7420, 0x1c813: 0x6c1a4e20,\n\t0x1c814: 0x6c47e220, 0x1c815: 0x6c0d6820, 0x1c816: 0x6c5e2820, 0x1c817: 0x6cfd3020,\n\t0x1c818: 0x6c917220, 0x1c819: 0x6cbe2620, 0x1c81a: 0x6c4f2c20, 0x1c81b: 0x6d1cba20,\n\t0x1c81c: 0x6cc6d820, 0x1c81d: 0x6c86f820, 0x1c81e: 0x6c6eb420, 0x1c81f: 0x6cff3a20,\n\t0x1c820: 0x6d1cbc20, 0x1c821: 0x6cdc0e20, 0x1c822: 0x6cf03c20, 0x1c823: 0x6d025620,\n\t0x1c824: 0x6c57fc20, 0x1c825: 0x6d097820, 0x1c826: 0x6d39d420, 0x1c827: 0x6c8fc620,\n\t0x1c828: 0x6c7f6a20, 0x1c829: 0x6c337820, 0x1c82a: 0x6c38de20, 0x1c82b: 0x6c55ee20,\n\t0x1c82c: 0x6c7f6c20, 0x1c82d: 0x6cd63420, 0x1c82e: 0x6c8e3220, 0x1c82f: 0x6d1cbe20,\n\t0x1c830: 0x6c9ca020, 0x1c831: 0x6c62c820, 0x1c832: 0x6c892c20, 0x1c833: 0x6c66fe20,\n\t0x1c834: 0x6d1cc620, 0x1c835: 0x6c3c0220, 0x1c836: 0x6c8c0020, 0x1c837: 0x6d192c20,\n\t0x1c838: 0x6c653220, 0x1c839: 0x6d270a20, 0x1c83a: 0x6c155620, 0x1c83b: 0x6c27a620,\n\t0x1c83c: 0x6cc4e620, 0x1c83d: 0x6c661820, 0x1c83e: 0x6c7fe820, 0x1c83f: 0x6c38e020,\n\t// Block 0x721, offset 0x1c840\n\t0x1c840: 0x6cd6f420, 0x1c841: 0x6d252620, 0x1c842: 0x6d3dd420, 0x1c843: 0x6c3c8020,\n\t0x1c844: 0x6ccf8c20, 0x1c845: 0x6c830220, 0x1c846: 0x6c7fea20, 0x1c847: 0x6c23c620,\n\t0x1c848: 0x6cc20020, 0x1c849: 0x6d1dda20, 0x1c84a: 0x6cb9e020, 0x1c84b: 0x6c383620,\n\t0x1c84c: 0x6c49b420, 0x1c84d: 0x6cc41a20, 0x1c84e: 0x6d0f2220, 0x1c84f: 0x6c507c20,\n\t0x1c850: 0x6d1d7020, 0x1c851: 0x6cc95c20, 0x1c852: 0x6d29ba20, 0x1c853: 0x6c946020,\n\t0x1c854: 0x6d0f0420, 0x1c855: 0x6c84a820, 0x1c856: 0x6c9d0e20, 0x1c857: 0x6ccde820,\n\t0x1c858: 0x6cdfc620, 0x1c859: 0x6c293e20, 0x1c85a: 0x6c697620, 0x1c85b: 0x6c161820,\n\t0x1c85c: 0x6d1d7220, 0x1c85d: 0x6c508420, 0x1c85e: 0x6c03dc20, 0x1c85f: 0x6d3a4220,\n\t0x1c860: 0x6c805e20, 0x1c861: 0x6c800820, 0x1c862: 0x6ca47820, 0x1c863: 0x6cecac20,\n\t0x1c864: 0x6c947020, 0x1c865: 0x6d0a5e20, 0x1c866: 0x6cfc6a20, 0x1c867: 0x6d0f2820,\n\t0x1c868: 0x6c424820, 0x1c869: 0x6d0f3220, 0x1c86a: 0x6d24ac20, 0x1c86b: 0x6c5d8420,\n\t0x1c86c: 0x6c0be820, 0x1c86d: 0x6c9eca20, 0x1c86e: 0x6c49d220, 0x1c86f: 0x6c2a9a20,\n\t0x1c870: 0x6c5a8620, 0x1c871: 0x6cfe7a20, 0x1c872: 0x6cfe7c20, 0x1c873: 0x6c5caa20,\n\t0x1c874: 0x6c529620, 0x1c875: 0x6c8c9c20, 0x1c876: 0x6d2a6620, 0x1c877: 0x6d3bbe20,\n\t0x1c878: 0x6c6faa20, 0x1c879: 0x6d2ca820, 0x1c87a: 0x6d015820, 0x1c87b: 0x6c1be420,\n\t0x1c87c: 0x6d3d2420, 0x1c87d: 0x6d28f220, 0x1c87e: 0x6d28f420, 0x1c87f: 0x6c11ec20,\n\t// Block 0x722, offset 0x1c880\n\t0x1c880: 0x6d0f8020, 0x1c881: 0x6cb74820, 0x1c882: 0x6d379c20, 0x1c883: 0x6c3b5e20,\n\t0x1c884: 0x6ca98220, 0x1c885: 0x6c6efa20, 0x1c886: 0x6cf18220, 0x1c887: 0x6cb36820,\n\t0x1c888: 0x6d16c420, 0x1c889: 0x6c913c20, 0x1c88a: 0x6c20b620, 0x1c88b: 0x6caf4020,\n\t0x1c88c: 0x6c767e20, 0x1c88d: 0x6caca420, 0x1c88e: 0x6d0c6a20, 0x1c88f: 0x6c768020,\n\t0x1c890: 0x6cad2620, 0x1c891: 0x6ca26e20, 0x1c892: 0x6c179020, 0x1c893: 0x6c8a9220,\n\t0x1c894: 0x6c4b3420, 0x1c895: 0x6c778220, 0x1c896: 0x6c33dc20, 0x1c897: 0x6c49d620,\n\t0x1c898: 0x6d02b820, 0x1c899: 0x6d358c20, 0x1c89a: 0x6c4a2e20, 0x1c89b: 0x6c49d820,\n\t0x1c89c: 0x6cef9420, 0x1c89d: 0x6cbb5420, 0x1c89e: 0x6c0be420, 0x1c89f: 0x6c268420,\n\t0x1c8a0: 0x6cf99820, 0x1c8a1: 0x6d329a20, 0x1c8a2: 0x6d39fc20, 0x1c8a3: 0x6c785e20,\n\t0x1c8a4: 0x6d2fa220, 0x1c8a5: 0x6c3e1420, 0x1c8a6: 0x6c036e20, 0x1c8a7: 0x6d017420,\n\t0x1c8a8: 0x6c34dc20, 0x1c8a9: 0x6c8e1e20, 0x1c8aa: 0x6d3cf220, 0x1c8ab: 0x6d087a20,\n\t0x1c8ac: 0x6c721420, 0x1c8ad: 0x6ce08e20, 0x1c8ae: 0x6cad8420, 0x1c8af: 0x6c6f0220,\n\t0x1c8b0: 0x6cad5020, 0x1c8b1: 0x6cdf1e20, 0x1c8b2: 0x6cdf2020, 0x1c8b3: 0x6c0dd220,\n\t0x1c8b4: 0x6d100c20, 0x1c8b5: 0x6ce6f020, 0x1c8b6: 0x6c4d9420, 0x1c8b7: 0x6d3ac220,\n\t0x1c8b8: 0x6d2cb820, 0x1c8b9: 0x6c2d0a20, 0x1c8ba: 0x6cf07a20, 0x1c8bb: 0x6cd25220,\n\t0x1c8bc: 0x6c88e620, 0x1c8bd: 0x6c1bfc20, 0x1c8be: 0x6c5a4a20, 0x1c8bf: 0x6d397820,\n\t// Block 0x723, offset 0x1c8c0\n\t0x1c8c0: 0x6c54ae20, 0x1c8c1: 0x6cd77020, 0x1c8c2: 0x6c806e20, 0x1c8c3: 0x6ce63620,\n\t0x1c8c4: 0x6c68de20, 0x1c8c5: 0x6d06a820, 0x1c8c6: 0x6c525e20, 0x1c8c7: 0x6cc35420,\n\t0x1c8c8: 0x6c8af020, 0x1c8c9: 0x6c590820, 0x1c8ca: 0x6d0fa020, 0x1c8cb: 0x6d04c420,\n\t0x1c8cc: 0x6d04c620, 0x1c8cd: 0x6cfbfe20, 0x1c8ce: 0x6d1a3020, 0x1c8cf: 0x6cf36020,\n\t0x1c8d0: 0x6d386620, 0x1c8d1: 0x6d10e220, 0x1c8d2: 0x6cd35020, 0x1c8d3: 0x6cee6e20,\n\t0x1c8d4: 0x6ce73620, 0x1c8d5: 0x6c9ece20, 0x1c8d6: 0x6d28fe20, 0x1c8d7: 0x6c768420,\n\t0x1c8d8: 0x6c529e20, 0x1c8d9: 0x6c81d020, 0x1c8da: 0x6cf9a820, 0x1c8db: 0x6d3a0420,\n\t0x1c8dc: 0x6d084a20, 0x1c8dd: 0x6d32a020, 0x1c8de: 0x6cb37820, 0x1c8df: 0x6d0be420,\n\t0x1c8e0: 0x6c5b2e20, 0x1c8e1: 0x6c49e620, 0x1c8e2: 0x6c180e20, 0x1c8e3: 0x6c5aa420,\n\t0x1c8e4: 0x6c77a820, 0x1c8e5: 0x6c194c20, 0x1c8e6: 0x6c389020, 0x1c8e7: 0x6cce6220,\n\t0x1c8e8: 0x6d12e220, 0x1c8e9: 0x6c5bac20, 0x1c8eb: 0x6ce19a20,\n\t0x1c8ec: 0x6c6cf220, 0x1c8ed: 0x6cc55020, 0x1c8ee: 0x6c8b9620, 0x1c8ef: 0x6cf5f220,\n\t0x1c8f0: 0x6c3e5420, 0x1c8f1: 0x6c6f0a20, 0x1c8f2: 0x6d019420, 0x1c8f3: 0x6cb48a20,\n\t0x1c8f4: 0x6ce64220, 0x1c8f5: 0x6d3d3c20, 0x1c8f6: 0x6ce6c020, 0x1c8f7: 0x6cecd420,\n\t0x1c8f8: 0x6c4d4020, 0x1c8f9: 0x6cae6a20, 0x1c8fa: 0x6c80fc20, 0x1c8fb: 0x6d0e5220,\n\t0x1c8fc: 0x6d06bc20, 0x1c8fd: 0x6c3c3e20, 0x1c8fe: 0x6c1c1020, 0x1c8ff: 0x6cc66820,\n\t// Block 0x724, offset 0x1c900\n\t0x1c900: 0x6c554620, 0x1c901: 0x6cf5f420, 0x1c902: 0x6cd4ce20, 0x1c903: 0x6c51c420,\n\t0x1c904: 0x6d099620, 0x1c905: 0x6c7a9220, 0x1c906: 0x6c72e820, 0x1c907: 0x6cfeb620,\n\t0x1c908: 0x6cf5f620, 0x1c909: 0x6d0bfa20, 0x1c90a: 0x6c4eb220, 0x1c90b: 0x6d3c3c20,\n\t0x1c90c: 0x6c75b020, 0x1c90d: 0x6c2c4220, 0x1c90e: 0x6d019620, 0x1c90f: 0x6c601c20,\n\t0x1c910: 0x6cf4e020, 0x1c911: 0x6d0bfc20, 0x1c912: 0x6c942c20, 0x1c913: 0x6c4e0620,\n\t0x1c914: 0x6d0e6220, 0x1c915: 0x6c591220, 0x1c916: 0x6c9aee20, 0x1c917: 0x6c711620,\n\t0x1c918: 0x6c2a1020, 0x1c919: 0x6c072420, 0x1c91a: 0x6c3b7a20, 0x1c91b: 0x6c8c5220,\n\t0x1c91c: 0x6c7d6220, 0x1c91d: 0x6c5d2820, 0x1c91e: 0x6cea2220, 0x1c91f: 0x6cf61620,\n\t0x1c920: 0x6c253e20, 0x1c921: 0x6cf3c820, 0x1c922: 0x6c52a820, 0x1c923: 0x6c179c20,\n\t0x1c924: 0x6c3f6220, 0x1c925: 0x6cf2f420, 0x1c926: 0x6c684820, 0x1c927: 0x6c231820,\n\t0x1c928: 0x6c3ce220, 0x1c929: 0x6cb2a620, 0x1c92a: 0x6cbf2620, 0x1c92b: 0x6cc91e20,\n\t0x1c92c: 0x6cf61820, 0x1c92d: 0x6cbf2820, 0x1c92e: 0x6d033420, 0x1c92f: 0x6c174420,\n\t0x1c930: 0x6d0e7420, 0x1c931: 0x6d0e7620, 0x1c932: 0x6d17aa20, 0x1c933: 0x6c744e20,\n\t0x1c934: 0x6d234620, 0x1c935: 0x6c42a820, 0x1c936: 0x6cc47820, 0x1c937: 0x6caff020,\n\t0x1c938: 0x6d049420, 0x1c939: 0x6cee6420, 0x1c93a: 0x6cd10420, 0x1c93b: 0x6c171420,\n\t0x1c93c: 0x6cce6e20, 0x1c93d: 0x6d048420, 0x1c93e: 0x6ca72420, 0x1c93f: 0x6c44d020,\n\t// Block 0x725, offset 0x1c940\n\t0x1c940: 0x6cf13e20, 0x1c941: 0x6c18d420, 0x1c942: 0x6c51ce20, 0x1c943: 0x6c7cd220,\n\t0x1c944: 0x6d37fe20, 0x1c945: 0x6c32cc20, 0x1c946: 0x6cf96a20, 0x1c947: 0x6c5ac620,\n\t0x1c948: 0x6c3ce420, 0x1c949: 0x6c890620, 0x1c94a: 0x6d07a820, 0x1c94b: 0x6d037e20,\n\t0x1c94c: 0x6c59d220, 0x1c94d: 0x6c690a20, 0x1c94e: 0x6c64b620, 0x1c94f: 0x6c09cc20,\n\t0x1c950: 0x6d1bbc20, 0x1c951: 0x6d3a7020, 0x1c952: 0x6cefde20, 0x1c953: 0x6ce93620,\n\t0x1c954: 0x6ccd4a20, 0x1c955: 0x6cf67020, 0x1c956: 0x6caa9620, 0x1c957: 0x6caa9820,\n\t0x1c958: 0x6c150220, 0x1c959: 0x6d0c1220, 0x1c95a: 0x6c6f1020, 0x1c95b: 0x6c6f2420,\n\t0x1c95c: 0x6d237020, 0x1c95d: 0x6c9a9c20, 0x1c95e: 0x6ccbfc20, 0x1c95f: 0x6cf0a620,\n\t0x1c960: 0x6d2c3820, 0x1c961: 0x6d033620, 0x1c962: 0x6cbf3e20, 0x1c963: 0x6cc75020,\n\t0x1c964: 0x6c9a0c20, 0x1c965: 0x6c593620, 0x1c966: 0x6d06f420, 0x1c967: 0x6d2fbe20,\n\t0x1c968: 0x6ceea020, 0x1c969: 0x6c38a620, 0x1c96a: 0x6cc07620, 0x1c96b: 0x6cdc4a20,\n\t0x1c96c: 0x6d0fc820, 0x1c96d: 0x6c8b1620, 0x1c96e: 0x6d3a6e20, 0x1c96f: 0x6c6a2220,\n\t0x1c970: 0x6c434e20, 0x1c971: 0x6c485c20, 0x1c972: 0x6c05b420, 0x1c973: 0x6c557020,\n\t0x1c974: 0x6d275820, 0x1c975: 0x6cf96c20, 0x1c976: 0x6cd41a20, 0x1c977: 0x6c89ce20,\n\t0x1c978: 0x6c0afa20, 0x1c979: 0x6c46c420, 0x1c97a: 0x6cea0020, 0x1c97b: 0x6ce11420,\n\t0x1c97c: 0x6c17a020, 0x1c97d: 0x6cccfc20, 0x1c97e: 0x6c371a20, 0x1c97f: 0x6c0f2a20,\n\t// Block 0x726, offset 0x1c980\n\t0x1c980: 0x6c5a5a20, 0x1c981: 0x6d00ce20, 0x1c982: 0x6cf8ae20, 0x1c983: 0x6cf50e20,\n\t0x1c984: 0x6cf67220, 0x1c985: 0x6d284220, 0x1c986: 0x6c515a20, 0x1c987: 0x6c51d220,\n\t0x1c988: 0x6cf67420, 0x1c989: 0x6d27bc20, 0x1c98a: 0x6d048020, 0x1c98b: 0x6ca37e20,\n\t0x1c98c: 0x6ccd5020, 0x1c98d: 0x6cbf8e20, 0x1c98e: 0x6d121620, 0x1c98f: 0x6d099e20,\n\t0x1c990: 0x6c9d6c20, 0x1c991: 0x6c882420, 0x1c992: 0x6d1c8820, 0x1c993: 0x6cf45a20,\n\t0x1c994: 0x6cc69a20, 0x1c995: 0x6c459e20, 0x1c996: 0x6d0f3820, 0x1c997: 0x6cbb5820,\n\t0x1c998: 0x6c8e3820, 0x1c999: 0x6cf67620, 0x1c99a: 0x6c09f820, 0x1c99b: 0x6c0c1820,\n\t0x1c99c: 0x6c233e20, 0x1c99d: 0x6c92a620, 0x1c99e: 0x6c64d620, 0x1c99f: 0x6cd53420,\n\t0x1c9a0: 0x6d185620, 0x1c9a1: 0x6c90b220, 0x1c9a2: 0x6caeb620, 0x1c9a3: 0x6cdbd420,\n\t0x1c9a4: 0x6d185820, 0x1c9a5: 0x6ce28e20, 0x1c9a6: 0x6c749420, 0x1c9a7: 0x6d3fb220,\n\t0x1c9a8: 0x6d284620, 0x1c9a9: 0x6c56c020, 0x1c9aa: 0x6d154820, 0x1c9ab: 0x6d36b420,\n\t0x1c9ac: 0x6c026220, 0x1c9ad: 0x6cf0bc20, 0x1c9ae: 0x6c8f1420, 0x1c9af: 0x6c4efa20,\n\t0x1c9b0: 0x6cab4c20, 0x1c9b1: 0x6cc55420, 0x1c9b2: 0x6c6f2c20, 0x1c9b3: 0x6c97fc20,\n\t0x1c9b4: 0x6c7de220, 0x1c9b5: 0x6cce1820, 0x1c9b6: 0x6c24b220, 0x1c9b7: 0x6d2b9020,\n\t0x1c9b8: 0x6c64f620, 0x1c9b9: 0x6cf6c620, 0x1c9ba: 0x6cf6c820, 0x1c9bb: 0x6cf6ca20,\n\t0x1c9bc: 0x6d185a20, 0x1c9bd: 0x6d000c20, 0x1c9be: 0x6c1c6e20, 0x1c9bf: 0x6c59ea20,\n\t// Block 0x727, offset 0x1c9c0\n\t0x1c9c0: 0x6c15e420, 0x1c9c1: 0x6d131820, 0x1c9c2: 0x6ce01020, 0x1c9c3: 0x6cc48820,\n\t0x1c9c4: 0x6d0ec020, 0x1c9c5: 0x6cfb9420, 0x1c9c6: 0x6cbbae20, 0x1c9c7: 0x6c75e820,\n\t0x1c9c8: 0x6c2aaa20, 0x1c9c9: 0x6c340a20, 0x1c9ca: 0x6cd01820, 0x1c9cb: 0x6c687a20,\n\t0x1c9cc: 0x6c3b9620, 0x1c9cd: 0x6cd82a20, 0x1c9ce: 0x6c8a1a20, 0x1c9cf: 0x6d23ee20,\n\t0x1c9d0: 0x6c8bde20, 0x1c9d1: 0x6ce78a20, 0x1c9d2: 0x6cce8420, 0x1c9d3: 0x6c3b4620,\n\t0x1c9d4: 0x6c38bc20, 0x1c9d5: 0x6d0ec220, 0x1c9d6: 0x6d0a3e20, 0x1c9d7: 0x6c807620,\n\t0x1c9d8: 0x6c9a6a20, 0x1c9d9: 0x6ce1a220, 0x1c9da: 0x6d18a220, 0x1c9db: 0x6c6e3020,\n\t0x1c9dc: 0x6c9afc20, 0x1c9dd: 0x6c6ecc20, 0x1c9de: 0x6c694420, 0x1c9df: 0x6d1c9a20,\n\t0x1c9e0: 0x6d23f020, 0x1c9e1: 0x6d18ca20, 0x1c9e2: 0x6d091e20, 0x1c9e3: 0x6c7fc020,\n\t0x1c9e4: 0x6cdf8020, 0x1c9e5: 0x6d2a9220, 0x1c9e6: 0x6c120c20, 0x1c9e7: 0x6cdc7420,\n\t0x1c9e8: 0x6cf6ea20, 0x1c9e9: 0x6cc40220, 0x1c9ea: 0x6c235420, 0x1c9eb: 0x6c886220,\n\t0x1c9ec: 0x6c5b6e20, 0x1c9ed: 0x6d3a2c20, 0x1c9ee: 0x6d022c20, 0x1c9ef: 0x6c8d6e20,\n\t0x1c9f0: 0x6ceec020, 0x1c9f1: 0x6d18cc20, 0x1c9f2: 0x6d00fc20, 0x1c9f3: 0x6d2fe220,\n\t0x1c9f4: 0x6c5c5220, 0x1c9f5: 0x6c270020, 0x1c9f6: 0x6ca9ce20, 0x1c9f7: 0x6c7fc220,\n\t0x1c9f8: 0x6cc7de20, 0x1c9f9: 0x6cfc3a20, 0x1c9fa: 0x6c77b620, 0x1c9fb: 0x6d09ba20,\n\t0x1c9fc: 0x6c6d6620, 0x1c9fd: 0x6c1df820, 0x1c9fe: 0x6c2a3a20, 0x1c9ff: 0x6d123020,\n\t// Block 0x728, offset 0x1ca00\n\t0x1ca00: 0x6c51fc20, 0x1ca01: 0x6c807e20, 0x1ca02: 0x6c0c4220, 0x1ca03: 0x6cc6ce20,\n\t0x1ca04: 0x6c86d020, 0x1ca05: 0x6ca18220, 0x1ca06: 0x6c067820, 0x1ca07: 0x6cc93220,\n\t0x1ca08: 0x6c941420, 0x1ca09: 0x6c7ea620, 0x1ca0a: 0x6c023620, 0x1ca0b: 0x6d0ab020,\n\t0x1ca0c: 0x6c7c1020, 0x1ca0d: 0x6cd7aa20, 0x1ca0e: 0x6c8ab420, 0x1ca0f: 0x6c872020,\n\t0x1ca10: 0x6c918420, 0x1ca11: 0x6c74ea20, 0x1ca12: 0x6c8a8620, 0x1ca13: 0x6d0efa20,\n\t0x1ca14: 0x6cf73a20, 0x1ca15: 0x6d025a20, 0x1ca16: 0x6c8fde20, 0x1ca17: 0x6d136e20,\n\t0x1ca18: 0x6c121a20, 0x1ca19: 0x6cc50c20, 0x1ca1a: 0x6d271420, 0x1ca1b: 0x6c808820,\n\t0x1ca1c: 0x6c23ce20, 0x1ca1d: 0x6c750c20, 0x1ca1e: 0x6c1d3220, 0x1ca1f: 0x6c49b620,\n\t0x1ca20: 0x6c72d620, 0x1ca21: 0x6c185620, 0x1ca22: 0x6c9cba20, 0x1ca23: 0x6ce19220,\n\t0x1ca24: 0x6c809220, 0x1ca25: 0x6d3a4820, 0x1ca26: 0x6c809a20, 0x1ca27: 0x6c8dda20,\n\t0x1ca28: 0x6c24c420, 0x1ca29: 0x6d24b220, 0x1ca2a: 0x6d2f8020, 0x1ca2b: 0x6d2ff420,\n\t0x1ca2c: 0x6cabd220, 0x1ca2d: 0x6d328c20, 0x1ca2e: 0x6cad5220, 0x1ca2f: 0x6c195820,\n\t0x1ca30: 0x6d254620, 0x1ca31: 0x6c009620, 0x1ca32: 0x6cf09c20, 0x1ca33: 0x6c4f4420,\n\t0x1ca34: 0x6c749620, 0x1ca35: 0x6c74c820, 0x1ca36: 0x6c3fa020, 0x1ca37: 0x6d13b020,\n\t0x1ca38: 0x6c03aa20, 0x1ca39: 0x6c2e5620, 0x1ca3a: 0x6d13b420, 0x1ca3b: 0x6d10c620,\n\t0x1ca3c: 0x6d411020, 0x1ca3d: 0x6cd6d020, 0x1ca3e: 0x6c379e20, 0x1ca3f: 0x6cac5020,\n\t// Block 0x729, offset 0x1ca40\n\t0x1ca40: 0x6c206e20, 0x1ca41: 0x6c77e220, 0x1ca42: 0x6d29d420, 0x1ca43: 0x6c2ec020,\n\t0x1ca44: 0x6cbace20, 0x1ca45: 0x6d1dfc20, 0x1ca46: 0x6cbb2a20, 0x1ca47: 0x6cb14420,\n\t0x1ca48: 0x6c04be20, 0x1ca49: 0x6cacac20, 0x1ca4a: 0x6c175a20, 0x1ca4b: 0x6c64a020,\n\t0x1ca4c: 0x6cac0020, 0x1ca4d: 0x6c31a020, 0x1ca4e: 0x6c205420, 0x1ca4f: 0x6d215a20,\n\t0x1ca50: 0x6d2c3a20, 0x1ca51: 0x6c0afc20, 0x1ca52: 0x6c2ec220, 0x1ca53: 0x6c055420,\n\t0x1ca54: 0x6c0f2c20, 0x1ca55: 0x6c205a20, 0x1ca56: 0x6d1fea20, 0x1ca57: 0x6d206e20,\n\t0x1ca58: 0x6c31d620, 0x1ca59: 0x6d0b0820, 0x1ca5a: 0x6c197220, 0x1ca5b: 0x6ca96620,\n\t0x1ca5c: 0x6ca9ac20, 0x1ca5d: 0x6cb24020, 0x1ca5e: 0x6c6f4c20, 0x1ca5f: 0x6ca1be20,\n\t0x1ca60: 0x6cdde020, 0x1ca61: 0x6ca22420, 0x1ca62: 0x6c814220, 0x1ca63: 0x6cc5c420,\n\t0x1ca64: 0x6c981a20, 0x1ca65: 0x6c398a20, 0x1ca66: 0x6c98ca20, 0x1ca67: 0x6ca27020,\n\t0x1ca68: 0x6c426020, 0x1ca69: 0x6cf4b820, 0x1ca6a: 0x6d0e4020, 0x1ca6b: 0x6c437420,\n\t0x1ca6c: 0x6c06ec20, 0x1ca6d: 0x6cd8a020, 0x1ca6e: 0x6c665e20, 0x1ca6f: 0x6c476620,\n\t0x1ca70: 0x6d202c20, 0x1ca71: 0x6c437e20, 0x1ca72: 0x6cd0f220, 0x1ca73: 0x6ca23020,\n\t0x1ca74: 0x6c2be620, 0x1ca75: 0x6cb8be20, 0x1ca76: 0x6cc37020, 0x1ca77: 0x6cc2cc20,\n\t0x1ca78: 0x6d3f4020, 0x1ca79: 0x6ce27020, 0x1ca7a: 0x6cf5c420, 0x1ca7b: 0x6c985620,\n\t0x1ca7c: 0x6c793820, 0x1ca7d: 0x6cb8d820, 0x1ca7e: 0x6cf44620, 0x1ca7f: 0x6c481220,\n\t// Block 0x72a, offset 0x1ca80\n\t0x1ca80: 0x6cf61a20, 0x1ca81: 0x6c83c220, 0x1ca82: 0x6c83da20, 0x1ca83: 0x6cb3f420,\n\t0x1ca84: 0x6c5ed420, 0x1ca85: 0x6c428220, 0x1ca86: 0x6d346420, 0x1ca87: 0x6c078820,\n\t0x1ca88: 0x6cc2f220, 0x1ca89: 0x6c214e20, 0x1ca8a: 0x6c31a220, 0x1ca8b: 0x6c724a20,\n\t0x1ca8c: 0x6c636e20, 0x1ca8d: 0x6c64a220, 0x1ca8e: 0x6c3c5620, 0x1ca8f: 0x6cb0f820,\n\t0x1ca90: 0x6c780820, 0x1ca91: 0x6c713020, 0x1ca92: 0x6c77c220, 0x1ca93: 0x6c1e9c20,\n\t0x1ca94: 0x6cf8b220, 0x1ca95: 0x6c074020, 0x1ca96: 0x6c961820, 0x1ca97: 0x6c6bf220,\n\t0x1ca98: 0x6c967220, 0x1ca99: 0x6cca0820, 0x1ca9a: 0x6cf0be20, 0x1ca9b: 0x6c98fc20,\n\t0x1ca9c: 0x6c33b020, 0x1ca9d: 0x6ce78c20, 0x1ca9e: 0x6cbc7620, 0x1ca9f: 0x6c67fc20,\n\t0x1caa0: 0x6cf94820, 0x1caa1: 0x6c86d220, 0x1caa2: 0x6c31d820, 0x1caa3: 0x6c8b5e20,\n\t0x1caa4: 0x6cac1020, 0x1caa5: 0x6cb16e20, 0x1caa6: 0x6c0fa620, 0x1caa7: 0x6cf73c20,\n\t0x1caa8: 0x6c1d8620, 0x1caa9: 0x6cef6820, 0x1caaa: 0x6c7cc220, 0x1caab: 0x6c1d8a20,\n\t0x1caac: 0x6cc34c20, 0x1caad: 0x6cc38020, 0x1caae: 0x6c035e20, 0x1caaf: 0x6c391620,\n\t0x1cab0: 0x6cbff420, 0x1cab1: 0x6c611c20, 0x1cab2: 0x6c110420, 0x1cab3: 0x6d3d2220,\n\t0x1cab4: 0x6c019c20, 0x1cab5: 0x6c436820, 0x1cab6: 0x6d3c3020, 0x1cab7: 0x6c4a0620,\n\t0x1cab8: 0x6c96b020, 0x1cab9: 0x6d1eee20, 0x1caba: 0x6c778020, 0x1cabb: 0x6c0eae20,\n\t0x1cabc: 0x6c544a20, 0x1cabd: 0x6d0b7620, 0x1cabe: 0x6d1a2820, 0x1cabf: 0x6c582620,\n\t// Block 0x72b, offset 0x1cac0\n\t0x1cac0: 0x6d3c3420, 0x1cac1: 0x6d27da20, 0x1cac2: 0x6c7bba20, 0x1cac3: 0x6ca97a20,\n\t0x1cac4: 0x6c2b5420, 0x1cac5: 0x6cbe2e20, 0x1cac6: 0x6d381420, 0x1cac7: 0x6ca26a20,\n\t0x1cac8: 0x6c06d820, 0x1cac9: 0x6caf4220, 0x1caca: 0x6c70fc20, 0x1cacb: 0x6d147420,\n\t0x1cacc: 0x6cd0e420, 0x1cacd: 0x6cad4e20, 0x1cace: 0x6cf98e20, 0x1cacf: 0x6ceaf220,\n\t0x1cad0: 0x6c552620, 0x1cad1: 0x6c8cae20, 0x1cad2: 0x6c3a8a20, 0x1cad3: 0x6cafbe20,\n\t0x1cad4: 0x6ca62a20, 0x1cad5: 0x6d119020, 0x1cad6: 0x6d201a20, 0x1cad7: 0x6c467020,\n\t0x1cad8: 0x6d094620, 0x1cad9: 0x6c705e20, 0x1cada: 0x6c286a20, 0x1cadb: 0x6c0eb820,\n\t0x1cadc: 0x6c7a7420, 0x1cadd: 0x6cfbe820, 0x1cade: 0x6ca8f820, 0x1cadf: 0x6c586620,\n\t0x1cae0: 0x6c523c20, 0x1cae1: 0x6c68d420, 0x1cae2: 0x6c50dc20, 0x1cae3: 0x6d2fa420,\n\t0x1cae4: 0x6c5ff620, 0x1cae5: 0x6d0a7220, 0x1cae6: 0x6cccd220, 0x1cae7: 0x6cde3820,\n\t0x1cae8: 0x6cc65820, 0x1cae9: 0x6cd45620, 0x1caea: 0x6ce72820, 0x1caeb: 0x6c81a820,\n\t0x1caec: 0x6c318a20, 0x1caed: 0x6cf99c20, 0x1caee: 0x6cd1ae20, 0x1caef: 0x6c7b1a20,\n\t0x1caf0: 0x6d329c20, 0x1caf1: 0x6d22e420, 0x1caf2: 0x6cdccc20, 0x1caf3: 0x6d20f420,\n\t0x1caf4: 0x6c096220, 0x1caf5: 0x6c985420, 0x1caf6: 0x6cf5c620, 0x1caf7: 0x6c734c20,\n\t0x1caf8: 0x6c87e020, 0x1caf9: 0x6cf9aa20, 0x1cafa: 0x6d1a4820, 0x1cafb: 0x6cdb7e20,\n\t0x1cafc: 0x6c80ae20, 0x1cafd: 0x6c070220, 0x1cafe: 0x6d35c020, 0x1caff: 0x6d0c7420,\n\t// Block 0x72c, offset 0x1cb00\n\t0x1cb00: 0x6ccbdc20, 0x1cb01: 0x6c85d220, 0x1cb02: 0x6c4e9e20, 0x1cb03: 0x6cfc0020,\n\t0x1cb04: 0x6c6dae20, 0x1cb05: 0x6cabfc20, 0x1cb06: 0x6c3a0620, 0x1cb07: 0x6cfeb820,\n\t0x1cb08: 0x6c044220, 0x1cb09: 0x6cb5cc20, 0x1cb0a: 0x6ca5da20, 0x1cb0b: 0x6c0bfc20,\n\t0x1cb0c: 0x6d1b5620, 0x1cb0d: 0x6c7efe20, 0x1cb0e: 0x6c8b0220, 0x1cb0f: 0x6c648820,\n\t0x1cb10: 0x6cbaac20, 0x1cb11: 0x6c7d5a20, 0x1cb12: 0x6d0c0a20, 0x1cb13: 0x6c4cba20,\n\t0x1cb14: 0x6d402020, 0x1cb15: 0x6c9c4820, 0x1cb16: 0x6c166820, 0x1cb17: 0x6d13e620,\n\t0x1cb18: 0x6d35e820, 0x1cb19: 0x6d32b420, 0x1cb1a: 0x6d0b2c20, 0x1cb1b: 0x6c9bce20,\n\t0x1cb1c: 0x6c10f820, 0x1cb1d: 0x6c243620, 0x1cb1e: 0x6cceec20, 0x1cb1f: 0x6c8b9820,\n\t0x1cb20: 0x6c2d1620, 0x1cb21: 0x6c953e20, 0x1cb22: 0x6c556020, 0x1cb23: 0x6d3f9020,\n\t0x1cb24: 0x6c4b4620, 0x1cb25: 0x6cefc820, 0x1cb26: 0x6c3c4c20, 0x1cb27: 0x6cf28c20,\n\t0x1cb28: 0x6d256620, 0x1cb29: 0x6d037420, 0x1cb2a: 0x6d399820, 0x1cb2b: 0x6c98ba20,\n\t0x1cb2c: 0x6cf14020, 0x1cb2d: 0x6c1fe420, 0x1cb2e: 0x6cfcce20, 0x1cb2f: 0x6ce93420,\n\t0x1cb30: 0x6d0bb220, 0x1cb31: 0x6ca4ac20, 0x1cb32: 0x6d004220, 0x1cb33: 0x6c636020,\n\t0x1cb34: 0x6c540620, 0x1cb35: 0x6c0af420, 0x1cb36: 0x6d1f3a20, 0x1cb37: 0x6d1f4820,\n\t0x1cb38: 0x6c9a0020, 0x1cb39: 0x6c13e420, 0x1cb3a: 0x6d111420, 0x1cb3b: 0x6cdcd620,\n\t0x1cb3c: 0x6c0f1420, 0x1cb3d: 0x6ca00820, 0x1cb3e: 0x6c574020, 0x1cb3f: 0x6d258620,\n\t// Block 0x72d, offset 0x1cb40\n\t0x1cb40: 0x6cd9b420, 0x1cb41: 0x6c96c420, 0x1cb42: 0x6d258820, 0x1cb43: 0x6c270c20,\n\t0x1cb44: 0x6d239220, 0x1cb45: 0x6cd1d220, 0x1cb46: 0x6c4fcc20, 0x1cb47: 0x6cbb6420,\n\t0x1cb48: 0x6d17ea20, 0x1cb49: 0x6d316a20, 0x1cb4a: 0x6c123420, 0x1cb4b: 0x6c4fe220,\n\t0x1cb4c: 0x6c97ee20, 0x1cb4d: 0x6c6e9620, 0x1cb4e: 0x6c67b820, 0x1cb4f: 0x6ca12e20,\n\t0x1cb50: 0x6d2ecc20, 0x1cb51: 0x6c150a20, 0x1cb52: 0x6c026420, 0x1cb53: 0x6c025420,\n\t0x1cb54: 0x6c4fd420, 0x1cb55: 0x6c24e020, 0x1cb56: 0x6c07c420, 0x1cb57: 0x6c749820,\n\t0x1cb58: 0x6c0a2c20, 0x1cb59: 0x6c09fe20, 0x1cb5a: 0x6c59dc20, 0x1cb5b: 0x6cb44a20,\n\t0x1cb5c: 0x6c8bd020, 0x1cb5d: 0x6d072620, 0x1cb5e: 0x6ce77e20, 0x1cb5f: 0x6d121e20,\n\t0x1cb60: 0x6c8a1220, 0x1cb61: 0x6cd79020, 0x1cb62: 0x6cff0620, 0x1cb63: 0x6cd49020,\n\t0x1cb64: 0x6c33a820, 0x1cb65: 0x6c69c620, 0x1cb66: 0x6c442020, 0x1cb67: 0x6c739020,\n\t0x1cb68: 0x6c31b420, 0x1cb69: 0x6c5c3820, 0x1cb6a: 0x6c7b3e20, 0x1cb6b: 0x6cfc2c20,\n\t0x1cb6c: 0x6d021820, 0x1cb6d: 0x6cde1820, 0x1cb6e: 0x6cfc3220, 0x1cb6f: 0x6d09b020,\n\t0x1cb70: 0x6ca92620, 0x1cb71: 0x6cb21820, 0x1cb72: 0x6c5dfc20, 0x1cb73: 0x6caa2a20,\n\t0x1cb74: 0x6c9be620, 0x1cb75: 0x6c8b5420, 0x1cb76: 0x6ca51e20, 0x1cb77: 0x6c4a0c20,\n\t0x1cb78: 0x6cd48420, 0x1cb79: 0x6c917420, 0x1cb7a: 0x6cde2020, 0x1cb7b: 0x6cfd3c20,\n\t0x1cb7c: 0x6c9ca220, 0x1cb7d: 0x6cc4e820, 0x1cb7e: 0x6c584020, 0x1cb7f: 0x6ca52820,\n\t// Block 0x72e, offset 0x1cb80\n\t0x1cb80: 0x6c957820, 0x1cb81: 0x6cfc5420, 0x1cb82: 0x6cb6ac20, 0x1cb83: 0x6c751e20,\n\t0x1cb84: 0x6d07fa20, 0x1cb85: 0x6c9eae20, 0x1cb86: 0x6d3e1a20, 0x1cb87: 0x6c93d620,\n\t0x1cb88: 0x6c914c20, 0x1cb89: 0x6d22b820, 0x1cb8a: 0x6cda7a20, 0x1cb8b: 0x6cedda20,\n\t0x1cb8c: 0x6cbff620, 0x1cb8d: 0x6c40d220, 0x1cb8e: 0x6c2f4c20, 0x1cb8f: 0x6c821620,\n\t0x1cb90: 0x6c031620, 0x1cb91: 0x6c5e7c20, 0x1cb92: 0x6c52fa20, 0x1cb93: 0x6c2c1a20,\n\t0x1cb94: 0x6c202e20, 0x1cb95: 0x6c416c20, 0x1cb96: 0x6c6fac20, 0x1cb97: 0x6d20be20,\n\t0x1cb98: 0x6cb6d820, 0x1cb99: 0x6d20c020, 0x1cb9a: 0x6c170620, 0x1cb9b: 0x6c969020,\n\t0x1cb9c: 0x6c456420, 0x1cb9d: 0x6cf43020, 0x1cb9e: 0x6c3d4220, 0x1cb9f: 0x6cf18420,\n\t0x1cba0: 0x6c6bc620, 0x1cba1: 0x6d0b1a20, 0x1cba2: 0x6c0d2620, 0x1cba3: 0x6c0b8020,\n\t0x1cba4: 0x6c056220, 0x1cba5: 0x6d268820, 0x1cba6: 0x6c73f220, 0x1cba7: 0x6c9ac220,\n\t0x1cba8: 0x6c73f420, 0x1cba9: 0x6cecca20, 0x1cbaa: 0x6c646e20, 0x1cbab: 0x6c99da20,\n\t0x1cbac: 0x6c282420, 0x1cbad: 0x6cb20420, 0x1cbae: 0x6cef9620, 0x1cbaf: 0x6c585820,\n\t0x1cbb0: 0x6cfc8020, 0x1cbb1: 0x6cbaa820, 0x1cbb2: 0x6c8cbe20, 0x1cbb3: 0x6c274a20,\n\t0x1cbb4: 0x6d16fc20, 0x1cbb5: 0x6c016820, 0x1cbb6: 0x6cb28820, 0x1cbb7: 0x6c2d4620,\n\t0x1cbb8: 0x6c3e1620, 0x1cbb9: 0x6d080220, 0x1cbba: 0x6cf7da20, 0x1cbbb: 0x6c0e5820,\n\t0x1cbbc: 0x6c229420, 0x1cbbd: 0x6c467820, 0x1cbbe: 0x6c640620, 0x1cbbf: 0x6cce9e20,\n\t// Block 0x72f, offset 0x1cbc0\n\t0x1cbc0: 0x6cb37220, 0x1cbc1: 0x6c222220, 0x1cbc2: 0x6c77e420, 0x1cbc3: 0x6cc4bc20,\n\t0x1cbc4: 0x6cd0f420, 0x1cbc5: 0x6ccfbe20, 0x1cbc6: 0x6d14a820, 0x1cbc7: 0x6d411220,\n\t0x1cbc8: 0x6c633c20, 0x1cbc9: 0x6c9f3a20, 0x1cbca: 0x6cccd420, 0x1cbcb: 0x6c8efe20,\n\t0x1cbcc: 0x6c095020, 0x1cbcd: 0x6d312c20, 0x1cbce: 0x6d312e20, 0x1cbcf: 0x6c73fc20,\n\t0x1cbd0: 0x6c383820, 0x1cbd1: 0x6c8f7820, 0x1cbd2: 0x6c6c3e20, 0x1cbd3: 0x6c698e20,\n\t0x1cbd4: 0x6c667020, 0x1cbd5: 0x6c85d420, 0x1cbd6: 0x6c4a1e20, 0x1cbd7: 0x6cfa9220,\n\t0x1cbd8: 0x6d386820, 0x1cbd9: 0x6c45e420, 0x1cbda: 0x6d0be820, 0x1cbdb: 0x6d053420,\n\t0x1cbdc: 0x6d0fa420, 0x1cbdd: 0x6d063620, 0x1cbde: 0x6c95f620, 0x1cbdf: 0x6cda9020,\n\t0x1cbe0: 0x6d399420, 0x1cbe1: 0x6cbd6420, 0x1cbe2: 0x6d1a4a20, 0x1cbe3: 0x6d09fe20,\n\t0x1cbe4: 0x6c05f620, 0x1cbe5: 0x6c379220, 0x1cbe6: 0x6cfe2a20, 0x1cbe7: 0x6d10e420,\n\t0x1cbe8: 0x6cf9ac20, 0x1cbe9: 0x6c4f6620, 0x1cbea: 0x6c4a4a20, 0x1cbeb: 0x6c1cba20,\n\t0x1cbec: 0x6d06ac20, 0x1cbed: 0x6c047820, 0x1cbee: 0x6cae1620, 0x1cbef: 0x6c81f020,\n\t0x1cbf0: 0x6c28fa20, 0x1cbf1: 0x6d1d6420, 0x1cbf2: 0x6c5aa620, 0x1cbf3: 0x6cf19220,\n\t0x1cbf4: 0x6c355c20, 0x1cbf5: 0x6c19e820, 0x1cbf6: 0x6c2c4420, 0x1cbf7: 0x6cf44c20,\n\t0x1cbf8: 0x6cf3c420, 0x1cbf9: 0x6c19e020, 0x1cbfa: 0x6c75b220, 0x1cbfb: 0x6c99ee20,\n\t0x1cbfc: 0x6c071220, 0x1cbfd: 0x6ce6c220, 0x1cbfe: 0x6cfcb420, 0x1cbff: 0x6c1f3220,\n\t// Block 0x730, offset 0x1cc00\n\t0x1cc00: 0x6c4e0820, 0x1cc01: 0x6d081220, 0x1cc02: 0x6d0c8820, 0x1cc03: 0x6cc05020,\n\t0x1cc04: 0x6d088a20, 0x1cc05: 0x6c80be20, 0x1cc06: 0x6c851420, 0x1cc07: 0x6d053c20,\n\t0x1cc08: 0x6c3e5620, 0x1cc09: 0x6c8e5020, 0x1cc0a: 0x6d0b1e20, 0x1cc0b: 0x6cf5f820,\n\t0x1cc0c: 0x6c8cec20, 0x1cc0d: 0x6c83c420, 0x1cc0e: 0x6c6d0420, 0x1cc0f: 0x6c88b620,\n\t0x1cc10: 0x6cdd6020, 0x1cc11: 0x6cddd620, 0x1cc12: 0x6c3cfe20, 0x1cc13: 0x6cecd620,\n\t0x1cc14: 0x6c2d5a20, 0x1cc15: 0x6cb20c20, 0x1cc16: 0x6d2df020, 0x1cc17: 0x6ccb2c20,\n\t0x1cc18: 0x6c9f5620, 0x1cc19: 0x6d234820, 0x1cc1a: 0x6c709420, 0x1cc1b: 0x6c186820,\n\t0x1cc1c: 0x6c7f0a20, 0x1cc1d: 0x6cf19620, 0x1cc1e: 0x6cd16c20, 0x1cc1f: 0x6cef1420,\n\t0x1cc20: 0x6ce4f620, 0x1cc21: 0x6c1f4020, 0x1cc22: 0x6d423c20, 0x1cc23: 0x6c081e20,\n\t0x1cc24: 0x6c196020, 0x1cc25: 0x6c562220, 0x1cc26: 0x6cb5ea20, 0x1cc27: 0x6c365e20,\n\t0x1cc28: 0x6c7d6420, 0x1cc29: 0x6c167020, 0x1cc2a: 0x6cb5ec20, 0x1cc2b: 0x6c082020,\n\t0x1cc2c: 0x6ced2020, 0x1cc2d: 0x6c925620, 0x1cc2e: 0x6c239e20, 0x1cc2f: 0x6c495220,\n\t0x1cc30: 0x6d0d9020, 0x1cc31: 0x6c2dca20, 0x1cc32: 0x6c072620, 0x1cc33: 0x6c8bb620,\n\t0x1cc34: 0x6cbd7220, 0x1cc35: 0x6caff220, 0x1cc36: 0x6cabd620, 0x1cc37: 0x6cc3b820,\n\t0x1cc38: 0x6d3d6220, 0x1cc39: 0x6cbd7420, 0x1cc3a: 0x6c383c20, 0x1cc3b: 0x6c6d8020,\n\t0x1cc3c: 0x6cbf2a20, 0x1cc3d: 0x6c321a20, 0x1cc3e: 0x6c6bec20, 0x1cc3f: 0x6c5cf220,\n\t// Block 0x731, offset 0x1cc40\n\t0x1cc40: 0x6d226c20, 0x1cc41: 0x6c999820, 0x1cc42: 0x6c9a1020, 0x1cc43: 0x6c210e20,\n\t0x1cc44: 0x6d07aa20, 0x1cc45: 0x6ce34a20, 0x1cc46: 0x6d038020, 0x1cc47: 0x6c277a20,\n\t0x1cc48: 0x6cc75220, 0x1cc49: 0x6c9f6020, 0x1cc4a: 0x6c64b820, 0x1cc4b: 0x6cefe020,\n\t0x1cc4c: 0x6cc86620, 0x1cc4d: 0x6c593820, 0x1cc4e: 0x6d00be20, 0x1cc4f: 0x6c1fe820,\n\t0x1cc50: 0x6c65ae20, 0x1cc51: 0x6d3bce20, 0x1cc52: 0x6c171620, 0x1cc53: 0x6c890a20,\n\t0x1cc54: 0x6cc2fe20, 0x1cc55: 0x6cf9d420, 0x1cc56: 0x6c32ce20, 0x1cc57: 0x6d262220,\n\t0x1cc58: 0x6d0b2e20, 0x1cc59: 0x6ca50220, 0x1cc5a: 0x6c557220, 0x1cc5b: 0x6d1bbe20,\n\t0x1cc5c: 0x6d215e20, 0x1cc5d: 0x6c59d620, 0x1cc5e: 0x6cc8d420, 0x1cc5f: 0x6ccb3020,\n\t0x1cc60: 0x6c8e7c20, 0x1cc61: 0x6cd1de20, 0x1cc62: 0x6cc69e20, 0x1cc63: 0x6cdd8220,\n\t0x1cc64: 0x6d112620, 0x1cc65: 0x6cf15c20, 0x1cc66: 0x6cf45c20, 0x1cc67: 0x6d317e20,\n\t0x1cc68: 0x6c6d2a20, 0x1cc69: 0x6d1c8a20, 0x1cc6a: 0x6c969e20, 0x1cc6b: 0x6ce1dc20,\n\t0x1cc6c: 0x6c8e8220, 0x1cc6d: 0x6ce11820, 0x1cc6e: 0x6c864e20, 0x1cc6f: 0x6c80c420,\n\t0x1cc70: 0x6c4a7020, 0x1cc71: 0x6d325020, 0x1cc72: 0x6cbad020, 0x1cc73: 0x6c25be20,\n\t0x1cc74: 0x6c748020, 0x1cc75: 0x6d2f8e20, 0x1cc76: 0x6d112820, 0x1cc77: 0x6c00bc20,\n\t0x1cc78: 0x6c0d4620, 0x1cc79: 0x6cd4f620, 0x1cc7a: 0x6c16c020, 0x1cc7b: 0x6c7d8020,\n\t0x1cc7c: 0x6d3b8820, 0x1cc7d: 0x6c234020, 0x1cc7e: 0x6c6cb020, 0x1cc7f: 0x6d141620,\n\t// Block 0x732, offset 0x1cc80\n\t0x1cc80: 0x6c250020, 0x1cc81: 0x6c234220, 0x1cc82: 0x6cb63820, 0x1cc83: 0x6c841a20,\n\t0x1cc84: 0x6d1d0820, 0x1cc85: 0x6cdd8a20, 0x1cc86: 0x6cc08c20, 0x1cc87: 0x6d082020,\n\t0x1cc88: 0x6c026620, 0x1cc89: 0x6c88c420, 0x1cc8a: 0x6c9ad420, 0x1cc8b: 0x6d2eda20,\n\t0x1cc8c: 0x6d1a9620, 0x1cc8d: 0x6c57e220, 0x1cc8e: 0x6d1be620, 0x1cc8f: 0x6cf0ce20,\n\t0x1cc90: 0x6c92e620, 0x1cc91: 0x6cf3ec20, 0x1cc92: 0x6c2aac20, 0x1cc93: 0x6d054820,\n\t0x1cc94: 0x6d2b9420, 0x1cc95: 0x6d0a4220, 0x1cc96: 0x6cc1b420, 0x1cc97: 0x6c299420,\n\t0x1cc98: 0x6c8be020, 0x1cc99: 0x6c8a1c20, 0x1cc9a: 0x6cbf6220, 0x1cc9b: 0x6cdb3420,\n\t0x1cc9c: 0x6c59ec20, 0x1cc9d: 0x6c4a8c20, 0x1cc9e: 0x6cb45220, 0x1cc9f: 0x6c6e3220,\n\t0x1cca0: 0x6c38be20, 0x1cca1: 0x6c6d4220, 0x1cca2: 0x6c8e9820, 0x1cca3: 0x6c5f3620,\n\t0x1cca4: 0x6c5cae20, 0x1cca5: 0x6c6e3420, 0x1cca6: 0x6c00e220, 0x1cca7: 0x6c0a8e20,\n\t0x1cca8: 0x6c120e20, 0x1cca9: 0x6cc1d820, 0x1ccaa: 0x6d2a5820, 0x1ccab: 0x6c290c20,\n\t0x1ccac: 0x6c694c20, 0x1ccad: 0x6c4c0420, 0x1ccae: 0x6ce07e20, 0x1ccaf: 0x6c5c5420,\n\t0x1ccb0: 0x6c58a620, 0x1ccb1: 0x6ccb7020, 0x1ccb2: 0x6cdc7620, 0x1ccb3: 0x6ce4c620,\n\t0x1ccb4: 0x6c1f9a20, 0x1ccb5: 0x6d21b820, 0x1ccb6: 0x6c6d6820, 0x1ccb7: 0x6c917620,\n\t0x1ccb8: 0x6c0d6020, 0x1ccb9: 0x6cd54220, 0x1ccba: 0x6cf21820, 0x1ccbb: 0x6d41a220,\n\t0x1ccbc: 0x6c7fd020, 0x1ccbd: 0x6cf82020, 0x1ccbe: 0x6d3ea820, 0x1ccbf: 0x6d083020,\n\t// Block 0x733, offset 0x1ccc0\n\t0x1ccc0: 0x6cc88420, 0x1ccc1: 0x6cf31e20, 0x1ccc2: 0x6c415820, 0x1ccc3: 0x6c827220,\n\t0x1ccc4: 0x6c31da20, 0x1ccc5: 0x6c86fe20, 0x1ccc6: 0x6d374020, 0x1ccc7: 0x6cc76a20,\n\t0x1ccc8: 0x6c848e20, 0x1ccc9: 0x6d29ac20, 0x1ccca: 0x6cbf7620, 0x1cccb: 0x6ce43a20,\n\t0x1cccc: 0x6c4aa420, 0x1cccd: 0x6cdc0020, 0x1ccce: 0x6c7eb220, 0x1cccf: 0x6c8fe020,\n\t0x1ccd0: 0x6c918620, 0x1ccd1: 0x6c872620, 0x1ccd2: 0x6d29b220, 0x1ccd3: 0x6c808a20,\n\t0x1ccd4: 0x6d1c2e20, 0x1ccd5: 0x6c9cb420, 0x1ccd6: 0x6cfd9c20, 0x1ccd7: 0x6cbf8820,\n\t0x1ccd8: 0x6c49b820, 0x1ccd9: 0x6c2a5020, 0x1ccda: 0x6d29c020, 0x1ccdb: 0x6c58ce20,\n\t0x1ccdc: 0x6c483e20, 0x1ccdd: 0x6c0eba20, 0x1ccde: 0x6c2e8820, 0x1ccdf: 0x6c0ed820,\n\t0x1cce0: 0x6c568e20, 0x1cce1: 0x6d347620, 0x1cce2: 0x6cb18020, 0x1cce3: 0x6c050c20,\n\t0x1cce4: 0x6cc4f020, 0x1cce5: 0x6c87a220, 0x1cce6: 0x6cec0c20,\n\t0x1cce8: 0x6cfdaa20, 0x1cce9: 0x6cb8aa20, 0x1ccea: 0x6c04c020, 0x1cceb: 0x6cae3a20,\n\t0x1ccec: 0x6c39c820, 0x1cced: 0x6c282620, 0x1ccee: 0x6cf26c20, 0x1ccef: 0x6cab3420,\n\t0x1ccf2: 0x6cec4a20, 0x1ccf3: 0x6c552a20,\n\t0x1ccf4: 0x6c8cc020, 0x1ccf5: 0x6d14aa20, 0x1ccf6: 0x6cb29420, 0x1ccf7: 0x6c223820,\n\t0x1ccf8: 0x6c042020, 0x1ccf9: 0x6c72ea20, 0x1ccfa: 0x6c16a820, 0x1ccfb: 0x6c1aa820,\n\t0x1ccfd: 0x6c296820, 0x1ccfe: 0x6c9bd620, 0x1ccff: 0x6c109820,\n\t// Block 0x734, offset 0x1cd00\n\t0x1cd00: 0x6d3c8820, 0x1cd01: 0x6cb2aa20, 0x1cd02: 0x6c0afe20, 0x1cd03: 0x6d393220,\n\t0x1cd04: 0x6d316c20, 0x1cd06: 0x6c225020, 0x1cd07: 0x6d1bd220,\n\t0x1cd08: 0x6cb7b220, 0x1cd09: 0x6cfb7420, 0x1cd0a: 0x6c90f220, 0x1cd0b: 0x6c2c9220,\n\t0x1cd0c: 0x6cab5020, 0x1cd0d: 0x6c9b2e20, 0x1cd0e: 0x6d3b8a20, 0x1cd0f: 0x6c084e20,\n\t0x1cd10: 0x6c8c6420, 0x1cd11: 0x6d2bb020, 0x1cd12: 0x6cf47c20, 0x1cd13: 0x6cb0c220,\n\t0x1cd14: 0x6c280220, 0x1cd15: 0x6cf27420, 0x1cd16: 0x6d1c0820, 0x1cd17: 0x6d0e0420,\n\t0x1cd18: 0x6c415c20, 0x1cd19: 0x6c273420, 0x1cd1a: 0x6cd03820, 0x1cd1b: 0x6ce49a20,\n\t0x1cd1c: 0x6ce49c20, 0x1cd1d: 0x6c4e1c20, 0x1cd1e: 0x6c16b020, 0x1cd1f: 0x6cd0d220,\n\t0x1cd20: 0x6cbe6e20, 0x1cd21: 0x6ccfcc20, 0x1cd22: 0x6c15aa20, 0x1cd23: 0x6c15ac20,\n\t0x1cd24: 0x6cc89c20, 0x1cd25: 0x6cd10620, 0x1cd26: 0x6cda4c20, 0x1cd27: 0x6cd00820,\n\t0x1cd28: 0x6d1e6c20, 0x1cd29: 0x6cd66020, 0x1cd2a: 0x6c920e20, 0x1cd2b: 0x6c40a820,\n\t0x1cd2c: 0x6d1e1020, 0x1cd2d: 0x6c080e20, 0x1cd2e: 0x6c3cdc20, 0x1cd2f: 0x6ca90820,\n\t0x1cd30: 0x6ce47e20, 0x1cd31: 0x6d1ee020, 0x1cd32: 0x6c63fc20, 0x1cd33: 0x6ccf9a20,\n\t0x1cd34: 0x6d2c1820, 0x1cd35: 0x6c2d3220, 0x1cd36: 0x6c3dce20, 0x1cd37: 0x6ca3e220,\n\t0x1cd38: 0x6c2cbc20, 0x1cd39: 0x6cb24820, 0x1cd3a: 0x6ce62e20, 0x1cd3b: 0x6c578420,\n\t0x1cd3c: 0x6ce6b220, 0x1cd3d: 0x6d321a20, 0x1cd3e: 0x6d28f620, 0x1cd3f: 0x6c9b0820,\n\t// Block 0x735, offset 0x1cd40\n\t0x1cd40: 0x6c093c20, 0x1cd41: 0x6cb58620, 0x1cd42: 0x6c8f2620, 0x1cd43: 0x6d09de20,\n\t0x1cd44: 0x6c8e4420, 0x1cd45: 0x6c170820, 0x1cd46: 0x6ca23220, 0x1cd47: 0x6d278a20,\n\t0x1cd48: 0x6c393620, 0x1cd49: 0x6c3e1820, 0x1cd4a: 0x6c44bc20, 0x1cd4b: 0x6ce48e20,\n\t0x1cd4c: 0x6c6bca20, 0x1cd4d: 0x6c6bcc20, 0x1cd4e: 0x6cc35220, 0x1cd4f: 0x6cf07c20,\n\t0x1cd50: 0x6c3e1a20, 0x1cd51: 0x6ce49020, 0x1cd52: 0x6ca23420, 0x1cd53: 0x6c341e20,\n\t0x1cd54: 0x6cacb020, 0x1cd55: 0x6c675620, 0x1cd56: 0x6cebd220, 0x1cd57: 0x6c269020,\n\t0x1cd58: 0x6ca3f020, 0x1cd59: 0x6c8e4c20, 0x1cd5a: 0x6c079a20, 0x1cd5b: 0x6d31c820,\n\t0x1cd5c: 0x6c1f2820, 0x1cd5d: 0x6ca23820, 0x1cd5e: 0x6ca23a20, 0x1cd5f: 0x6c12d820,\n\t0x1cd60: 0x6ce49620, 0x1cd61: 0x6c40f220, 0x1cd62: 0x6c096420, 0x1cd63: 0x6c269a20,\n\t0x1cd64: 0x6d35ea20, 0x1cd65: 0x6c361220, 0x1cd66: 0x6cb5ce20, 0x1cd67: 0x6c94a020,\n\t0x1cd68: 0x6cac3e20, 0x1cd69: 0x6d199020, 0x1cd6a: 0x6c384e20, 0x1cd6b: 0x6c579820,\n\t0x1cd6c: 0x6ccef220, 0x1cd6d: 0x6d212e20, 0x1cd6e: 0x6ca24220, 0x1cd6f: 0x6c75be20,\n\t0x1cd70: 0x6d176620, 0x1cd71: 0x6c8e5820, 0x1cd72: 0x6ccef420, 0x1cd73: 0x6c2eac20,\n\t0x1cd74: 0x6c1db020, 0x1cd75: 0x6c579e20, 0x1cd76: 0x6c290020, 0x1cd77: 0x6d3c9020,\n\t0x1cd78: 0x6c5eea20, 0x1cd79: 0x6ced2a20, 0x1cd7a: 0x6c676620, 0x1cd7b: 0x6c1a2620,\n\t0x1cd7c: 0x6c171e20, 0x1cd7d: 0x6cea8020, 0x1cd7e: 0x6c825220, 0x1cd7f: 0x6c5f1620,\n\t// Block 0x736, offset 0x1cd80\n\t0x1cd80: 0x6c13b020, 0x1cd81: 0x6c8e9a20, 0x1cd82: 0x6c2f3c20, 0x1cd83: 0x6ce98220,\n\t0x1cd84: 0x6c8c6c20, 0x1cd85: 0x6c678c20, 0x1cd86: 0x6c679020, 0x1cd87: 0x6c1e0020,\n\t0x1cd88: 0x6cb0d620, 0x1cd89: 0x6c2f0620, 0x1cd8a: 0x6c2f1020, 0x1cd8b: 0x6cb04420,\n\t0x1cd8c: 0x6c6a8220, 0x1cd8d: 0x6c287220, 0x1cd8e: 0x6cd4da20, 0x1cd8f: 0x6cd4dc20,\n\t0x1cd90: 0x6d369220, 0x1cd91: 0x6d153420, 0x1cd92: 0x6ca54020, 0x1cd93: 0x6ca39420,\n\t0x1cd94: 0x6c2f4e20, 0x1cd95: 0x6c08be20, 0x1cd96: 0x6c69f620, 0x1cd97: 0x6c89da20,\n\t0x1cd98: 0x6c426220, 0x1cd99: 0x6c437620, 0x1cd9a: 0x6c6fd620, 0x1cd9b: 0x6d38da20,\n\t0x1cd9c: 0x6cfa3020, 0x1cd9d: 0x6ccd7220, 0x1cd9e: 0x6d057220, 0x1cd9f: 0x6caa9e20,\n\t0x1cda0: 0x6c859220, 0x1cda1: 0x6d0f8a20, 0x1cda2: 0x6c192020, 0x1cda3: 0x6d1f0c20,\n\t0x1cda4: 0x6c033220, 0x1cda5: 0x6c6bce20, 0x1cda6: 0x6c73fe20, 0x1cda7: 0x6cb59620,\n\t0x1cda8: 0x6cf95620, 0x1cda9: 0x6c251e20, 0x1cdaa: 0x6c095220, 0x1cdab: 0x6d16fe20,\n\t0x1cdac: 0x6c85aa20, 0x1cdad: 0x6d401a20, 0x1cdae: 0x6c204e20, 0x1cdaf: 0x6c3c2620,\n\t0x1cdb0: 0x6d3ad220, 0x1cdb1: 0x6cad8620, 0x1cdb2: 0x6cafd020, 0x1cdb3: 0x6c418a20,\n\t0x1cdb4: 0x6c77ee20, 0x1cdb5: 0x6c21fa20, 0x1cdb6: 0x6d08de20, 0x1cdb7: 0x6d33c620,\n\t0x1cdb8: 0x6c283020, 0x1cdb9: 0x6d31ca20, 0x1cdba: 0x6c380220, 0x1cdbb: 0x6d350e20,\n\t0x1cdbc: 0x6ce29c20, 0x1cdbd: 0x6c706a20, 0x1cdbe: 0x6c600220, 0x1cdbf: 0x6c3a9a20,\n\t// Block 0x737, offset 0x1cdc0\n\t0x1cdc0: 0x6c706c20, 0x1cdc1: 0x6cccda20, 0x1cdc2: 0x6c634420, 0x1cdc3: 0x6d080820,\n\t0x1cdc4: 0x6d2cbc20, 0x1cdc5: 0x6c0e1420, 0x1cdc6: 0x6ca80a20, 0x1cdc7: 0x6d334620,\n\t0x1cdc8: 0x6d1d8020, 0x1cdc9: 0x6c6e6820, 0x1cdca: 0x6cc2e020, 0x1cdcb: 0x6ce29e20,\n\t0x1cdcc: 0x6ce6f420, 0x1cdcd: 0x6d14e620, 0x1cdce: 0x6c6a0020, 0x1cdcf: 0x6cefb020,\n\t0x1cdd0: 0x6c5b3620, 0x1cdd1: 0x6cdfa220, 0x1cdd2: 0x6d101220, 0x1cdd3: 0x6c1c1220,\n\t0x1cdd4: 0x6d35ec20, 0x1cdd5: 0x6c523220, 0x1cdd6: 0x6d0b5220, 0x1cdd7: 0x6c9a9220,\n\t0x1cdd8: 0x6c311a20, 0x1cdd9: 0x6c6e8620, 0x1cdda: 0x6cfec020, 0x1cddb: 0x6ce7c820,\n\t0x1cddc: 0x6ce86220, 0x1cddd: 0x6c986020, 0x1cdde: 0x6cb05e20, 0x1cddf: 0x6cfec220,\n\t0x1cde0: 0x6cdb8020, 0x1cde1: 0x6c3d7020, 0x1cde2: 0x6c861220, 0x1cde3: 0x6d363420,\n\t0x1cde4: 0x6c25de20, 0x1cde5: 0x6c345220, 0x1cde6: 0x6cf4ee20, 0x1cde7: 0x6ccbf420,\n\t0x1cde8: 0x6c815a20, 0x1cde9: 0x6cd46a20, 0x1cdea: 0x6c592620, 0x1cdeb: 0x6cfb5e20,\n\t0x1cdec: 0x6d17ee20, 0x1cded: 0x6c07f820, 0x1cdee: 0x6d2f3420, 0x1cdef: 0x6c495620,\n\t0x1cdf0: 0x6cdfec20, 0x1cdf1: 0x6c3ab820, 0x1cdf2: 0x6c966a20, 0x1cdf3: 0x6c8bba20,\n\t0x1cdf4: 0x6c1abc20, 0x1cdf5: 0x6c621a20, 0x1cdf6: 0x6ce50220, 0x1cdf7: 0x6c013820,\n\t0x1cdf8: 0x6c1c3220, 0x1cdf9: 0x6c09d020, 0x1cdfa: 0x6c09d220, 0x1cdfb: 0x6c9f6220,\n\t0x1cdfc: 0x6c481a20, 0x1cdfd: 0x6c330820, 0x1cdfe: 0x6c354220, 0x1cdff: 0x6cefe220,\n\t// Block 0x738, offset 0x1ce00\n\t0x1ce00: 0x6d209220, 0x1ce01: 0x6c254420, 0x1ce02: 0x6d0b5620, 0x1ce03: 0x6d3a1620,\n\t0x1ce04: 0x6c244020, 0x1ce05: 0x6c27e620, 0x1ce06: 0x6cd0b020, 0x1ce07: 0x6d380220,\n\t0x1ce08: 0x6c1c4620, 0x1ce09: 0x6d239420, 0x1ce0a: 0x6c541c20, 0x1ce0b: 0x6c3c5c20,\n\t0x1ce0c: 0x6c7e8420, 0x1ce0d: 0x6d0fd220, 0x1ce0e: 0x6c18de20, 0x1ce0f: 0x6ce8c420,\n\t0x1ce10: 0x6d226e20, 0x1ce11: 0x6c4c2820, 0x1ce12: 0x6cf19e20, 0x1ce13: 0x6c594420,\n\t0x1ce14: 0x6c7aa220, 0x1ce15: 0x6c642820, 0x1ce16: 0x6d19f620, 0x1ce17: 0x6d182c20,\n\t0x1ce18: 0x6c911020, 0x1ce19: 0x6ccaf820, 0x1ce1a: 0x6c749a20, 0x1ce1b: 0x6c1c5a20,\n\t0x1ce1c: 0x6cf6a620, 0x1ce1d: 0x6c492220, 0x1ce1e: 0x6d185c20, 0x1ce1f: 0x6cf16020,\n\t0x1ce20: 0x6c608c20, 0x1ce21: 0x6c205c20, 0x1ce22: 0x6c049220, 0x1ce23: 0x6c5bfe20,\n\t0x1ce24: 0x6c8e8420, 0x1ce25: 0x6c149c20, 0x1ce26: 0x6cd47220, 0x1ce27: 0x6caaaa20,\n\t0x1ce28: 0x6c2cd820, 0x1ce29: 0x6c26fc20, 0x1ce2a: 0x6c0d0e20, 0x1ce2b: 0x6cdfb820,\n\t0x1ce2c: 0x6d2f4020, 0x1ce2d: 0x6c0c1c20, 0x1ce2e: 0x6cd0c620, 0x1ce2f: 0x6c246220,\n\t0x1ce30: 0x6c95c020, 0x1ce31: 0x6d18a420, 0x1ce32: 0x6d403220, 0x1ce33: 0x6c1d7c20,\n\t0x1ce34: 0x6d2f4220, 0x1ce35: 0x6d2d4a20, 0x1ce36: 0x6cda4220, 0x1ce37: 0x6ccb5e20,\n\t0x1ce38: 0x6cc39c20, 0x1ce39: 0x6c2e3c20, 0x1ce3a: 0x6c911a20, 0x1ce3b: 0x6c911c20,\n\t0x1ce3c: 0x6ca15220, 0x1ce3d: 0x6cbda620, 0x1ce3e: 0x6d1b0820, 0x1ce3f: 0x6d1d0a20,\n\t// Block 0x739, offset 0x1ce40\n\t0x1ce40: 0x6c59fa20, 0x1ce41: 0x6c3f0820, 0x1ce42: 0x6c8a2620, 0x1ce43: 0x6c8fac20,\n\t0x1ce44: 0x6cbbfe20, 0x1ce45: 0x6c8ea820, 0x1ce46: 0x6c817a20, 0x1ce47: 0x6cfba820,\n\t0x1ce48: 0x6c3ad620, 0x1ce49: 0x6c280420, 0x1ce4a: 0x6d1b7420, 0x1ce4b: 0x6c51f020,\n\t0x1ce4c: 0x6c005420, 0x1ce4d: 0x6c04a620, 0x1ce4e: 0x6cfbaa20, 0x1ce4f: 0x6c492a20,\n\t0x1ce50: 0x6c4b8c20, 0x1ce51: 0x6ca9f620, 0x1ce52: 0x6d242e20, 0x1ce53: 0x6cef4a20,\n\t0x1ce54: 0x6d18e820, 0x1ce55: 0x6d1dc620, 0x1ce56: 0x6cb07820, 0x1ce57: 0x6c82ee20,\n\t0x1ce58: 0x6c86a820, 0x1ce59: 0x6cd57820, 0x1ce5a: 0x6c28d820, 0x1ce5b: 0x6c8c3c20,\n\t0x1ce5c: 0x6c2d8c20, 0x1ce5d: 0x6c8c3e20, 0x1ce5e: 0x6c7f6420, 0x1ce5f: 0x6c0d1020,\n\t0x1ce60: 0x6c62ba20, 0x1ce61: 0x6c1ae820, 0x1ce62: 0x6d103820, 0x1ce63: 0x6d086220,\n\t0x1ce64: 0x6c6a3820, 0x1ce65: 0x6d330e20, 0x1ce66: 0x6c99cc20, 0x1ce67: 0x6c874420,\n\t0x1ce68: 0x6c5e4820, 0x1ce69: 0x6c7f7820, 0x1ce6a: 0x6c631420, 0x1ce6b: 0x6c2cf220,\n\t0x1ce6c: 0x6d086620, 0x1ce6d: 0x6d1d2e20, 0x1ce6e: 0x6d1b2820, 0x1ce6f: 0x6cc21420,\n\t0x1ce70: 0x6d1dea20, 0x1ce71: 0x6cdfc820, 0x1ce72: 0x6c2cfe20, 0x1ce73: 0x6c95da20,\n\t0x1ce74: 0x6c947c20, 0x1ce75: 0x6c948420, 0x1ce76: 0x6c0e4620, 0x1ce77: 0x6c0e5420,\n\t0x1ce78: 0x6c4ada20, 0x1ce79: 0x6c037020, 0x1ce7a: 0x6c37e620, 0x1ce7b: 0x6c2a9c20,\n\t0x1ce7c: 0x6c37ec20, 0x1ce7d: 0x6c040820, 0x1ce7e: 0x6c041620, 0x1ce7f: 0x6cbc8020,\n\t// Block 0x73a, offset 0x1ce80\n\t0x1ce80: 0x6c5fd620, 0x1ce81: 0x6d2a6820, 0x1ce82: 0x6d2a6a20, 0x1ce83: 0x6c994420,\n\t0x1ce84: 0x6c2a8c20, 0x1ce85: 0x6cabb820, 0x1ce86: 0x6c69f820, 0x1ce87: 0x6c59ac20,\n\t0x1ce88: 0x6c4a3e20, 0x1ce89: 0x6c229620, 0x1ce8a: 0x6c8ccc20, 0x1ce8b: 0x6c42b620,\n\t0x1ce8c: 0x6ca0f020, 0x1ce8d: 0x6c5ffa20, 0x1ce8e: 0x6c68e420, 0x1ce8f: 0x6caf0620,\n\t0x1ce90: 0x6c42be20, 0x1ce91: 0x6c004020, 0x1ce92: 0x6c356620, 0x1ce93: 0x6c503e20,\n\t0x1ce94: 0x6c4ec420, 0x1ce95: 0x6c09a420, 0x1ce96: 0x6ced2220, 0x1ce97: 0x6c1dbc20,\n\t0x1ce98: 0x6cba5c20, 0x1ce99: 0x6cf65220, 0x1ce9a: 0x6c005020, 0x1ce9b: 0x6cffb820,\n\t0x1ce9c: 0x6c505c20, 0x1ce9d: 0x6c5a7820, 0x1ce9e: 0x6c505e20, 0x1ce9f: 0x6d2b0220,\n\t0x1cea0: 0x6c251020, 0x1cea1: 0x6c506c20, 0x1cea2: 0x6cffc220, 0x1cea3: 0x6d132820,\n\t0x1cea4: 0x6cb33820, 0x1cea5: 0x6c507220, 0x1cea6: 0x6c695220, 0x1cea7: 0x6c00f220,\n\t0x1cea8: 0x6d03ae20, 0x1cea9: 0x6c5a8020, 0x1ceaa: 0x6c872820, 0x1ceab: 0x6cb1a620,\n\t0x1ceac: 0x6c51a220, 0x1cead: 0x6c69e220, 0x1ceae: 0x6cafa820, 0x1ceaf: 0x6c41ca20,\n\t0x1ceb0: 0x6cad8820, 0x1ceb1: 0x6d391c20, 0x1ceb2: 0x6c756e20, 0x1ceb3: 0x6cc06620,\n\t0x1ceb4: 0x6c259420, 0x1ceb5: 0x6cc3ce20, 0x1ceb6: 0x6d2bee20, 0x1ceb7: 0x6c47b420,\n\t0x1ceb8: 0x6c757620, 0x1ceb9: 0x6c757820, 0x1ceba: 0x6d394420, 0x1cebb: 0x6d2bfe20,\n\t0x1cebc: 0x6c47d820, 0x1cebd: 0x6d2f7c20, 0x1cebe: 0x6c31e020, 0x1cebf: 0x6c9f8a20,\n\t// Block 0x73b, offset 0x1cec0\n\t0x1cec0: 0x6cb6da20, 0x1cec1: 0x6d1c5620, 0x1cec2: 0x6d20c620, 0x1cec3: 0x6c069220,\n\t0x1cec4: 0x6d2f5e20, 0x1cec5: 0x6d37a820, 0x1cec6: 0x6cae3c20, 0x1cec7: 0x6c50de20,\n\t0x1cec8: 0x6d1c5c20, 0x1cec9: 0x6c50f420, 0x1ceca: 0x6d173820, 0x1cecb: 0x6c0e6020,\n\t0x1cecc: 0x6cecfc20, 0x1cecd: 0x6c50f620, 0x1cece: 0x6c021620, 0x1cecf: 0x6d2de220,\n\t0x1ced0: 0x6d0c8020, 0x1ced1: 0x6c647e20, 0x1ced2: 0x6c510e20, 0x1ced3: 0x6d208820,\n\t0x1ced4: 0x6c7c3a20, 0x1ced5: 0x6c394620, 0x1ced6: 0x6c413220, 0x1ced7: 0x6c2a1220,\n\t0x1ced8: 0x6cac5620, 0x1ced9: 0x6c3f6620, 0x1ceda: 0x6cc06820, 0x1cedb: 0x6cd15e20,\n\t0x1cedc: 0x6c2a1620, 0x1cedd: 0x6c926a20, 0x1cede: 0x6d2df820, 0x1cedf: 0x6c9b2220,\n\t0x1cee0: 0x6c841c20, 0x1cee1: 0x6c6ca220, 0x1cee2: 0x6d071220, 0x1cee3: 0x6c64ca20,\n\t0x1cee4: 0x6cac6a20, 0x1cee5: 0x6c49a620, 0x1cee6: 0x6c014e20, 0x1cee7: 0x6c915c20,\n\t0x1cee8: 0x6d065e20, 0x1cee9: 0x6d38b420, 0x1ceea: 0x6c299620, 0x1ceeb: 0x6c015620,\n\t0x1ceec: 0x6c47e420, 0x1ceed: 0x6c872a20, 0x1ceee: 0x6ca26420, 0x1ceef: 0x6c2f5020,\n\t0x1cef0: 0x6c421020, 0x1cef1: 0x6d057420, 0x1cef2: 0x6c983a20, 0x1cef3: 0x6cee4e20,\n\t0x1cef4: 0x6d344020, 0x1cef5: 0x6cb74a20, 0x1cef6: 0x6d25e020, 0x1cef7: 0x6ce49220,\n\t0x1cef8: 0x6cfd6420, 0x1cef9: 0x6c33ca20, 0x1cefa: 0x6d02ba20, 0x1cefb: 0x6cf86620,\n\t0x1cefc: 0x6cacae20, 0x1cefd: 0x6c3c2820, 0x1cefe: 0x6c33de20, 0x1ceff: 0x6c9f3c20,\n\t// Block 0x73c, offset 0x1cf00\n\t0x1cf00: 0x6c9fee20, 0x1cf01: 0x6cd12c20, 0x1cf02: 0x6cd34420, 0x1cf03: 0x6d278c20,\n\t0x1cf04: 0x6c9e0e20, 0x1cf05: 0x6cac3a20, 0x1cf06: 0x6c39cc20, 0x1cf07: 0x6c9e8a20,\n\t0x1cf08: 0x6c27c220, 0x1cf09: 0x6c99e020, 0x1cf0a: 0x6c995820, 0x1cf0b: 0x6c770420,\n\t0x1cf0c: 0x6cfc9020, 0x1cf0d: 0x6c79ba20, 0x1cf0e: 0x6cd35620, 0x1cf0f: 0x6d0f5420,\n\t0x1cf10: 0x6d32a220, 0x1cf11: 0x6d119c20, 0x1cf12: 0x6ccfce20, 0x1cf13: 0x6c5dae20,\n\t0x1cf14: 0x6c26ec20, 0x1cf15: 0x6d31cc20, 0x1cf16: 0x6c7bee20, 0x1cf17: 0x6c706e20,\n\t0x1cf18: 0x6cd09a20, 0x1cf19: 0x6d14d020, 0x1cf1a: 0x6cd12e20, 0x1cf1b: 0x6c9a8a20,\n\t0x1cf1c: 0x6ca0f420, 0x1cf1d: 0x6d3ad620, 0x1cf1e: 0x6d313c20, 0x1cf1f: 0x6d313e20,\n\t0x1cf20: 0x6c9dbc20, 0x1cf21: 0x6cd35820, 0x1cf22: 0x6d24d620, 0x1cf23: 0x6c2e8a20,\n\t0x1cf24: 0x6ca69020, 0x1cf25: 0x6d3f4620, 0x1cf26: 0x6d3f4820, 0x1cf27: 0x6c179620,\n\t0x1cf28: 0x6d2c7620, 0x1cf29: 0x6d087e20, 0x1cf2a: 0x6c0dda20, 0x1cf2b: 0x6c9cea20,\n\t0x1cf2c: 0x6c8f7e20, 0x1cf2d: 0x6cdbc220, 0x1cf2e: 0x6ce73e20, 0x1cf2f: 0x6c9c3020,\n\t0x1cf30: 0x6c2f3620, 0x1cf31: 0x6c2c4620, 0x1cf32: 0x6ca54c20, 0x1cf33: 0x6c9ff820,\n\t0x1cf34: 0x6d088c20, 0x1cf35: 0x6c1aaa20, 0x1cf36: 0x6c7bf420, 0x1cf37: 0x6c735a20,\n\t0x1cf38: 0x6ca1ce20, 0x1cf39: 0x6d323a20, 0x1cf3a: 0x6ce5d220, 0x1cf3b: 0x6d0fac20,\n\t0x1cf3c: 0x6d0d6c20, 0x1cf3d: 0x6ca10620, 0x1cf3e: 0x6d382620, 0x1cf3f: 0x6ca0f620,\n\t// Block 0x73d, offset 0x1cf40\n\t0x1cf40: 0x6d311220, 0x1cf41: 0x6d32b620, 0x1cf42: 0x6c9a0220, 0x1cf43: 0x6cdd1e20,\n\t0x1cf44: 0x6cceda20, 0x1cf45: 0x6c4ec820, 0x1cf46: 0x6c592820, 0x1cf47: 0x6c2c5c20,\n\t0x1cf48: 0x6c1a7620, 0x1cf49: 0x6c25e020, 0x1cf4a: 0x6c736420, 0x1cf4b: 0x6c356820,\n\t0x1cf4c: 0x6c97bc20, 0x1cf4d: 0x6cfcc420, 0x1cf4e: 0x6cf61e20, 0x1cf4f: 0x6c7dd420,\n\t0x1cf50: 0x6c7f4820, 0x1cf51: 0x6c659820, 0x1cf52: 0x6ccd4e20, 0x1cf53: 0x6ce50420,\n\t0x1cf54: 0x6c4bfc20, 0x1cf55: 0x6ced2c20, 0x1cf56: 0x6c839820, 0x1cf57: 0x6cd39c20,\n\t0x1cf58: 0x6cbf4020, 0x1cf59: 0x6c8b1820, 0x1cf5a: 0x6d0b3020, 0x1cf5b: 0x6c6ec820,\n\t0x1cf5c: 0x6d32d420, 0x1cf5d: 0x6c83ea20, 0x1cf5e: 0x6c7f4a20, 0x1cf5f: 0x6cdc4c20,\n\t0x1cf60: 0x6c737420, 0x1cf61: 0x6cd72820, 0x1cf62: 0x6cdbca20, 0x1cf63: 0x6c317420,\n\t0x1cf64: 0x6c09d420, 0x1cf65: 0x6cb0a620, 0x1cf66: 0x6ca29c20, 0x1cf67: 0x6c5cd420,\n\t0x1cf68: 0x6ca6ae20, 0x1cf69: 0x6c926c20, 0x1cf6a: 0x6d17f220, 0x1cf6b: 0x6c6aec20,\n\t0x1cf6c: 0x6c113620, 0x1cf6d: 0x6d38ea20, 0x1cf6e: 0x6d217220, 0x1cf6f: 0x6c5cd620,\n\t0x1cf70: 0x6c96c620, 0x1cf71: 0x6cfa4420, 0x1cf72: 0x6d040420, 0x1cf73: 0x6c5ada20,\n\t0x1cf74: 0x6c4c0220, 0x1cf75: 0x6d290a20, 0x1cf76: 0x6c218620, 0x1cf77: 0x6c64ba20,\n\t0x1cf78: 0x6c9a9e20, 0x1cf79: 0x6c322620, 0x1cf7a: 0x6c541e20, 0x1cf7b: 0x6d07b420,\n\t0x1cf7c: 0x6ce53c20, 0x1cf7d: 0x6c7c9220, 0x1cf7e: 0x6c42ce20, 0x1cf7f: 0x6cc8da20,\n\t// Block 0x73e, offset 0x1cf80\n\t0x1cf80: 0x6c99a020, 0x1cf81: 0x6d071420, 0x1cf82: 0x6c381e20, 0x1cf83: 0x6cf30820,\n\t0x1cf84: 0x6c9e7820, 0x1cf85: 0x6c1e2e20, 0x1cf86: 0x6c7d0620, 0x1cf87: 0x6c9c3220,\n\t0x1cf88: 0x6cf25e20, 0x1cf89: 0x6c7a0020, 0x1cf8a: 0x6c298420, 0x1cf8b: 0x6c188220,\n\t0x1cf8c: 0x6c782420, 0x1cf8d: 0x6cda2420, 0x1cf8e: 0x6cf97620, 0x1cf8f: 0x6cbf5020,\n\t0x1cf90: 0x6ca15420, 0x1cf91: 0x6ca01620, 0x1cf92: 0x6c977220, 0x1cf93: 0x6cd72c20,\n\t0x1cf94: 0x6d2b0420, 0x1cf95: 0x6d2f4420, 0x1cf96: 0x6d18a620, 0x1cf97: 0x6c2dde20,\n\t0x1cf98: 0x6c79c420, 0x1cf99: 0x6ca15620, 0x1cf9a: 0x6cd75c20, 0x1cf9b: 0x6c235620,\n\t0x1cf9c: 0x6c907820, 0x1cf9d: 0x6c1ad020, 0x1cf9e: 0x6c977820, 0x1cf9f: 0x6cb19a20,\n\t0x1cfa0: 0x6c199420, 0x1cfa1: 0x6c4b1a20, 0x1cfa2: 0x6c9b3a20, 0x1cfa3: 0x6c596c20,\n\t0x1cfa4: 0x6cc8f220, 0x1cfa5: 0x6cb1d420, 0x1cfa6: 0x6cf6f020, 0x1cfa7: 0x6cbc0220,\n\t0x1cfa8: 0x6cb45a20, 0x1cfa9: 0x6d3a8420, 0x1cfaa: 0x6c2aea20, 0x1cfab: 0x6cd07e20,\n\t0x1cfac: 0x6cd76020, 0x1cfad: 0x6c8a7c20, 0x1cfae: 0x6c185020, 0x1cfaf: 0x6cfbac20,\n\t0x1cfb0: 0x6c771220, 0x1cfb1: 0x6d132a20, 0x1cfb2: 0x6d074820, 0x1cfb3: 0x6ce79220,\n\t0x1cfb4: 0x6ca1ea20, 0x1cfb5: 0x6c8be620, 0x1cfb6: 0x6c4b7e20, 0x1cfb7: 0x6c66e020,\n\t0x1cfb8: 0x6d136420, 0x1cfb9: 0x6c00f420, 0x1cfba: 0x6c5c6a20, 0x1cfbb: 0x6d2dac20,\n\t0x1cfbc: 0x6c65f220, 0x1cfbd: 0x6c47e620, 0x1cfbe: 0x6d2fea20, 0x1cfbf: 0x6cc1e420,\n\t// Block 0x73f, offset 0x1cfc0\n\t0x1cfc0: 0x6c9a3420, 0x1cfc1: 0x6c1e3620, 0x1cfc2: 0x6ccb0620, 0x1cfc3: 0x6ca94c20,\n\t0x1cfc4: 0x6d09c020, 0x1cfc5: 0x6d123e20, 0x1cfc6: 0x6c5e1820, 0x1cfc7: 0x6c9b7020,\n\t0x1cfc8: 0x6c9de620, 0x1cfc9: 0x6cb22020, 0x1cfca: 0x6c9de820, 0x1cfcb: 0x6c870220,\n\t0x1cfcc: 0x6c7c1420, 0x1cfcd: 0x6c750020, 0x1cfce: 0x6d07e220, 0x1cfcf: 0x6c9dee20,\n\t0x1cfd0: 0x6c5e4a20, 0x1cfd1: 0x6c919220, 0x1cfd2: 0x6c9b8e20, 0x1cfd3: 0x6c8fe420,\n\t0x1cfd4: 0x6c49bc20, 0x1cfd5: 0x6c97d620, 0x1cfd6: 0x6cf82e20, 0x1cfd7: 0x6c1f9020,\n\t0x1cfd8: 0x6ce19620, 0x1cfd9: 0x6c771c20, 0x1cfda: 0x6d3a9620, 0x1cfdb: 0x6c98c220,\n\t0x1cfdc: 0x6c6c3220, 0x1cfdd: 0x6c8ba620, 0x1cfde: 0x6d234a20, 0x1cfdf: 0x6cd78420,\n\t0x1cfe0: 0x6d2ad220, 0x1cfe1: 0x6c752c20, 0x1cfe2: 0x6cd2a820, 0x1cfe3: 0x6d15c020,\n\t0x1cfe4: 0x6cd04820, 0x1cfe5: 0x6d339c20, 0x1cfe6: 0x6c53f020, 0x1cfe7: 0x6cd04e20,\n\t0x1cfe8: 0x6d1ce020, 0x1cfe9: 0x6c72d420, 0x1cfea: 0x6d387820, 0x1cfeb: 0x6c68e820,\n\t0x1cfec: 0x6c25e220, 0x1cfed: 0x6c32ae20, 0x1cfee: 0x6c006820, 0x1cfef: 0x6c695020,\n\t0x1cff0: 0x6d2b9820, 0x1cff1: 0x6d265c20, 0x1cff2: 0x6c03ce20, 0x1cff3: 0x6cd22c20,\n\t0x1cff4: 0x6c2f9420, 0x1cff5: 0x6cb73a20, 0x1cff6: 0x6c5e8620, 0x1cff7: 0x6d3eee20,\n\t0x1cff8: 0x6c417c20, 0x1cff9: 0x6cf4ba20, 0x1cffa: 0x6d302020, 0x1cffb: 0x6c7a2a20,\n\t0x1cffc: 0x6c426420, 0x1cffd: 0x6cf84c20, 0x1cffe: 0x6c388820, 0x1cfff: 0x6c7be620,\n\t// Block 0x740, offset 0x1d000\n\t0x1d000: 0x6c295820, 0x1d001: 0x6c969220, 0x1d002: 0x6ccbd220, 0x1d003: 0x6c27c420,\n\t0x1d004: 0x6c740220, 0x1d005: 0x6c85ac20, 0x1d006: 0x6c3d4e20, 0x1d007: 0x6c9f3e20,\n\t0x1d008: 0x6c35b020, 0x1d009: 0x6c5da620, 0x1d00a: 0x6c772820, 0x1d00b: 0x6d350620,\n\t0x1d00c: 0x6cb75c20, 0x1d00d: 0x6c76c420, 0x1d00e: 0x6c6bd020, 0x1d00f: 0x6c0d2a20,\n\t0x1d010: 0x6c35e020, 0x1d011: 0x6d0b8820, 0x1d012: 0x6caf4e20, 0x1d013: 0x6d302420,\n\t0x1d014: 0x6d0c7820, 0x1d015: 0x6cdc2a20, 0x1d016: 0x6d3b7820, 0x1d017: 0x6c17d220,\n\t0x1d018: 0x6c33e020, 0x1d019: 0x6cac3c20, 0x1d01a: 0x6d0e4a20, 0x1d01b: 0x6c6d7e20,\n\t0x1d01c: 0x6c3c2a20, 0x1d01d: 0x6c381020, 0x1d01e: 0x6ca0f820, 0x1d01f: 0x6d2c7820,\n\t0x1d020: 0x6c707020, 0x1d021: 0x6d22f620, 0x1d022: 0x6c77f020, 0x1d023: 0x6ceb0a20,\n\t0x1d024: 0x6ceb0c20, 0x1d025: 0x6c2bec20, 0x1d026: 0x6d2d3c20, 0x1d027: 0x6d314220,\n\t0x1d028: 0x6c35fc20, 0x1d029: 0x6c3e3820, 0x1d02a: 0x6ca23e20, 0x1d02b: 0x6d3ad820,\n\t0x1d02c: 0x6c7e5c20, 0x1d02d: 0x6c0aee20, 0x1d02e: 0x6caa5620, 0x1d02f: 0x6cb25220,\n\t0x1d030: 0x6cae6020, 0x1d031: 0x6c8cce20, 0x1d032: 0x6cad8a20, 0x1d033: 0x6c821e20,\n\t0x1d034: 0x6cb37c20, 0x1d035: 0x6c0e6220, 0x1d036: 0x6cb37e20, 0x1d037: 0x6ccfd020,\n\t0x1d038: 0x6d28b020, 0x1d039: 0x6c009820, 0x1d03a: 0x6c85d620, 0x1d03b: 0x6c8f8020,\n\t0x1d03c: 0x6ce73a20, 0x1d03d: 0x6d1e8420, 0x1d03e: 0x6c85d820, 0x1d03f: 0x6c7c2a20,\n\t// Block 0x741, offset 0x1d040\n\t0x1d040: 0x6c1ed820, 0x1d041: 0x6c793620, 0x1d042: 0x6cc2e420, 0x1d043: 0x6d399c20,\n\t0x1d044: 0x6c7b9c20, 0x1d045: 0x6c4a5a20, 0x1d046: 0x6c361420, 0x1d047: 0x6ca4a620,\n\t0x1d048: 0x6cb86420, 0x1d049: 0x6c924420, 0x1d04a: 0x6cefb220, 0x1d04b: 0x6c009a20,\n\t0x1d04c: 0x6c448420, 0x1d04d: 0x6cfcb620, 0x1d04e: 0x6d03e220, 0x1d04f: 0x6d0c8a20,\n\t0x1d050: 0x6c307420, 0x1d051: 0x6cae6c20, 0x1d052: 0x6cf5fc20, 0x1d053: 0x6c81f220,\n\t0x1d054: 0x6c533c20, 0x1d055: 0x6cd78020, 0x1d056: 0x6cf9b020, 0x1d057: 0x6cbb7020,\n\t0x1d058: 0x6cbeea20, 0x1d059: 0x6cef0220, 0x1d05a: 0x6cbbdc20, 0x1d05b: 0x6d176820,\n\t0x1d05c: 0x6c793e20, 0x1d05d: 0x6cfec620, 0x1d05e: 0x6cc3c220, 0x1d05f: 0x6c162a20,\n\t0x1d060: 0x6c80c820, 0x1d061: 0x6c52ac20, 0x1d062: 0x6d213020, 0x1d063: 0x6cfec820,\n\t0x1d064: 0x6cf9c620, 0x1d065: 0x6c988e20, 0x1d066: 0x6c960220, 0x1d067: 0x6d1e3c20,\n\t0x1d068: 0x6c17dc20, 0x1d069: 0x6c182220, 0x1d06a: 0x6cf2f620, 0x1d06b: 0x6c8e5c20,\n\t0x1d06c: 0x6d1d3c20, 0x1d06d: 0x6c985a20, 0x1d06e: 0x6cc3c420, 0x1d06f: 0x6d0e7820,\n\t0x1d070: 0x6ccbf620, 0x1d071: 0x6c7dac20, 0x1d072: 0x6d234c20, 0x1d073: 0x6c1c2420,\n\t0x1d074: 0x6c57de20, 0x1d075: 0x6c91be20, 0x1d076: 0x6c190420, 0x1d077: 0x6c659a20,\n\t0x1d078: 0x6caaa820, 0x1d079: 0x6cd92620, 0x1d07a: 0x6d3d6e20, 0x1d07b: 0x6c794620,\n\t0x1d07c: 0x6caeaa20, 0x1d07d: 0x6d0c1420, 0x1d07e: 0x6d3c9220, 0x1d07f: 0x6c797e20,\n\t// Block 0x742, offset 0x1d080\n\t0x1d080: 0x6c19ec20, 0x1d081: 0x6cb5fc20, 0x1d082: 0x6d402220, 0x1d083: 0x6cbecc20,\n\t0x1d084: 0x6c8bbc20, 0x1d085: 0x6c757420, 0x1d086: 0x6c0e7e20, 0x1d087: 0x6c2fac20,\n\t0x1d088: 0x6c9f6420, 0x1d089: 0x6c2dce20, 0x1d08a: 0x6c64bc20, 0x1d08b: 0x6c51d020,\n\t0x1d08c: 0x6c926e20, 0x1d08d: 0x6c00ac20, 0x1d08e: 0x6cdc4e20, 0x1d08f: 0x6cc3d220,\n\t0x1d090: 0x6c837c20, 0x1d091: 0x6c06b020, 0x1d092: 0x6d1a7420, 0x1d093: 0x6c334c20,\n\t0x1d094: 0x6cf45220, 0x1d095: 0x6cb5fe20, 0x1d096: 0x6c951820, 0x1d097: 0x6ced2e20,\n\t0x1d098: 0x6c2d2020, 0x1d099: 0x6ca4b220, 0x1d09a: 0x6c073420, 0x1d09b: 0x6cb7a420,\n\t0x1d09c: 0x6c190620, 0x1d09d: 0x6cc87020, 0x1d09e: 0x6d0cb620, 0x1d09f: 0x6c2ed220,\n\t0x1d0a0: 0x6c2fb020, 0x1d0a1: 0x6c31a820, 0x1d0a2: 0x6ceb2e20, 0x1d0a3: 0x6c6b0c20,\n\t0x1d0a4: 0x6d1bc620, 0x1d0a5: 0x6c0b4420, 0x1d0a6: 0x6c78c620, 0x1d0a7: 0x6c0a0220,\n\t0x1d0a8: 0x6cf0b020, 0x1d0a9: 0x6cd79220, 0x1d0aa: 0x6d318220, 0x1d0ab: 0x6c32d420,\n\t0x1d0ac: 0x6cf9de20, 0x1d0ad: 0x6c297a20, 0x1d0ae: 0x6ce35420, 0x1d0af: 0x6ca50c20,\n\t0x1d0b0: 0x6caf1420, 0x1d0b1: 0x6c65c420, 0x1d0b2: 0x6c2c8220, 0x1d0b3: 0x6ce0a220,\n\t0x1d0b4: 0x6c13f620, 0x1d0b5: 0x6ce54220, 0x1d0b6: 0x6cb7b420, 0x1d0b7: 0x6c341420,\n\t0x1d0b8: 0x6c3c5e20, 0x1d0b9: 0x6d08a420, 0x1d0ba: 0x6cc3f020, 0x1d0bb: 0x6cc3f220,\n\t0x1d0bc: 0x6c96a020, 0x1d0bd: 0x6c45a620, 0x1d0be: 0x6ca73820, 0x1d0bf: 0x6cdb0820,\n\t// Block 0x743, offset 0x1d0c0\n\t0x1d0c0: 0x6c357820, 0x1d0c1: 0x6c225420, 0x1d0c2: 0x6c8e8820, 0x1d0c3: 0x6cd81a20,\n\t0x1d0c4: 0x6ce12620, 0x1d0c5: 0x6c058820, 0x1d0c6: 0x6c574620, 0x1d0c7: 0x6caf8620,\n\t0x1d0c8: 0x6ceff420, 0x1d0c9: 0x6cca8820, 0x1d0ca: 0x6c82d220, 0x1d0cb: 0x6c25c420,\n\t0x1d0cc: 0x6ce4ba20, 0x1d0cd: 0x6cf9e620, 0x1d0ce: 0x6cf6aa20, 0x1d0cf: 0x6c883e20,\n\t0x1d0d0: 0x6cac7020, 0x1d0d1: 0x6cef3020, 0x1d0d2: 0x6d27fc20, 0x1d0d3: 0x6c330e20,\n\t0x1d0d4: 0x6d307e20, 0x1d0d5: 0x6c782620, 0x1d0d6: 0x6c7e6020, 0x1d0d7: 0x6d3b8c20,\n\t0x1d0d8: 0x6cbed820, 0x1d0d9: 0x6c4be420, 0x1d0da: 0x6d3b9220, 0x1d0db: 0x6c152620,\n\t0x1d0dc: 0x6cb7da20, 0x1d0dd: 0x6c026c20, 0x1d0de: 0x6cae8620, 0x1d0df: 0x6c8f4020,\n\t0x1d0e0: 0x6c91de20, 0x1d0e1: 0x6c771420, 0x1d0e2: 0x6c209a20, 0x1d0e3: 0x6c190e20,\n\t0x1d0e4: 0x6d1afe20, 0x1d0e5: 0x6c82d820, 0x1d0e6: 0x6c0c1e20, 0x1d0e7: 0x6cb7dc20,\n\t0x1d0e8: 0x6ca07c20, 0x1d0e9: 0x6cb7de20, 0x1d0ea: 0x6c24e820, 0x1d0eb: 0x6d3fc220,\n\t0x1d0ec: 0x6cbeda20, 0x1d0ed: 0x6c21da20, 0x1d0ee: 0x6c952a20, 0x1d0ef: 0x6c5f5420,\n\t0x1d0f0: 0x6ccdbe20, 0x1d0f1: 0x6c817c20, 0x1d0f2: 0x6cc1c020, 0x1d0f3: 0x6d2b9a20,\n\t0x1d0f4: 0x6c2aec20, 0x1d0f5: 0x6c66e220, 0x1d0f6: 0x6cf8f220, 0x1d0f7: 0x6c8be820,\n\t0x1d0f8: 0x6c2fbe20, 0x1d0f9: 0x6ce01e20, 0x1d0fa: 0x6c59fc20, 0x1d0fb: 0x6cac7620,\n\t0x1d0fc: 0x6d28ce20, 0x1d0fd: 0x6cbbb820, 0x1d0fe: 0x6c2b4820, 0x1d0ff: 0x6c86aa20,\n\t// Block 0x744, offset 0x1d100\n\t0x1d100: 0x6c673e20, 0x1d101: 0x6c688220, 0x1d102: 0x6cf94a20, 0x1d103: 0x6d2f0e20,\n\t0x1d104: 0x6cbc0420, 0x1d105: 0x6c33b620, 0x1d106: 0x6c65f420, 0x1d107: 0x6d241220,\n\t0x1d108: 0x6d3cb420, 0x1d109: 0x6c518420, 0x1d10a: 0x6c78e020, 0x1d10b: 0x6d2b1420,\n\t0x1d10c: 0x6c826a20, 0x1d10d: 0x6c787220, 0x1d10e: 0x6c1ef620, 0x1d10f: 0x6d137020,\n\t0x1d110: 0x6cc40c20, 0x1d111: 0x6c299a20, 0x1d112: 0x6d161e20, 0x1d113: 0x6c678e20,\n\t0x1d114: 0x6caf9e20, 0x1d115: 0x6cafa020, 0x1d116: 0x6d243020, 0x1d117: 0x6cb1f420,\n\t0x1d118: 0x6c36d020, 0x1d119: 0x6c00fe20, 0x1d11a: 0x6c783e20, 0x1d11b: 0x6c652220,\n\t0x1d11c: 0x6d243220, 0x1d11d: 0x6cc88e20, 0x1d11e: 0x6c9b7220, 0x1d11f: 0x6cada020,\n\t0x1d120: 0x6c227820, 0x1d121: 0x6c0f9020, 0x1d122: 0x6d107c20, 0x1d123: 0x6c96e420,\n\t0x1d124: 0x6c10e620, 0x1d125: 0x6cfbc820, 0x1d126: 0x6c7c1620, 0x1d127: 0x6c828020,\n\t0x1d128: 0x6c82fe20, 0x1d129: 0x6d375420, 0x1d12a: 0x6c870420, 0x1d12b: 0x6c872e20,\n\t0x1d12c: 0x6c38e420, 0x1d12d: 0x6cc41c20, 0x1d12e: 0x6cada620, 0x1d12f: 0x6d1c3020,\n\t0x1d130: 0x6c874a20, 0x1d131: 0x6c8fe620, 0x1d132: 0x6c8fe820, 0x1d133: 0x6ca19620,\n\t0x1d134: 0x6c0fc220, 0x1d135: 0x6cd6b420, 0x1d136: 0x6c49be20, 0x1d137: 0x6c800020,\n\t0x1d138: 0x6d298620, 0x1d139: 0x6d0d1820, 0x1d13a: 0x6cd2f420, 0x1d13b: 0x6cd2e620,\n\t0x1d13c: 0x6c84f420, 0x1d13d: 0x6cc61c20, 0x1d13e: 0x6ccf3620, 0x1d13f: 0x6d268020,\n\t// Block 0x745, offset 0x1d140\n\t0x1d140: 0x6cd88420, 0x1d141: 0x6cb56820, 0x1d142: 0x6cdde220, 0x1d143: 0x6c96b420,\n\t0x1d144: 0x6d016420, 0x1d145: 0x6d109420, 0x1d146: 0x6cfa8020, 0x1d147: 0x6cb58820,\n\t0x1d148: 0x6cb58a20, 0x1d149: 0x6d34f820, 0x1d14a: 0x6c07d820, 0x1d14b: 0x6c333a20,\n\t0x1d14c: 0x6d381820, 0x1d14d: 0x6cc5d620, 0x1d14e: 0x6d13cc20, 0x1d14f: 0x6cd25420,\n\t0x1d150: 0x6d203020, 0x1d151: 0x6d35a820, 0x1d152: 0x6ce57a20, 0x1d153: 0x6c3e1e20,\n\t0x1d154: 0x6c3fc420, 0x1d155: 0x6c9d2e20, 0x1d156: 0x6d411420, 0x1d157: 0x6d33ac20,\n\t0x1d158: 0x6cdb9620, 0x1d159: 0x6c9a8420, 0x1d15a: 0x6d428620, 0x1d15b: 0x6cc0ec20,\n\t0x1d15c: 0x6c567220, 0x1d15d: 0x6d3ac620, 0x1d15e: 0x6cd03a20, 0x1d15f: 0x6cdc3020,\n\t0x1d160: 0x6c223020, 0x1d161: 0x6c147a20, 0x1d162: 0x6c9c3e20, 0x1d163: 0x6c939020,\n\t0x1d164: 0x6d223e20, 0x1d165: 0x6cfdbc20, 0x1d166: 0x6cf3c620, 0x1d167: 0x6ce55620,\n\t0x1d168: 0x6cb1ae20, 0x1d169: 0x6d3ada20, 0x1d16a: 0x6c4aec20, 0x1d16b: 0x6cf9ae20,\n\t0x1d16c: 0x6d33c820, 0x1d16d: 0x6c61f420, 0x1d16e: 0x6c434620, 0x1d16f: 0x6d314420,\n\t0x1d170: 0x6c434820, 0x1d171: 0x6cd71e20, 0x1d172: 0x6c6d0620, 0x1d173: 0x6cd0a020,\n\t0x1d174: 0x6c40f620, 0x1d175: 0x6c7daa20, 0x1d176: 0x6c2c4820, 0x1d177: 0x6c29d820,\n\t0x1d178: 0x6c5dc620, 0x1d179: 0x6ce22820, 0x1d17a: 0x6cb5ee20, 0x1d17b: 0x6c481620,\n\t0x1d17c: 0x6c498a20, 0x1d17d: 0x6d41b420, 0x1d17e: 0x6c8d0820, 0x1d17f: 0x6c925a20,\n\t// Block 0x746, offset 0x1d180\n\t0x1d180: 0x6c0de820, 0x1d181: 0x6c6d1a20, 0x1d182: 0x6c29da20, 0x1d183: 0x6d346620,\n\t0x1d184: 0x6c925820, 0x1d185: 0x6c14f820, 0x1d186: 0x6c06a620, 0x1d187: 0x6d30d820,\n\t0x1d188: 0x6c5aca20, 0x1d189: 0x6d1fd620, 0x1d18a: 0x6cf8a220, 0x1d18b: 0x6d19ee20,\n\t0x1d18c: 0x6d3e5420, 0x1d18d: 0x6c5dd420, 0x1d18e: 0x6d316e20, 0x1d18f: 0x6c3e9c20,\n\t0x1d190: 0x6d262420, 0x1d191: 0x6cf3d020, 0x1d192: 0x6cfc1820, 0x1d193: 0x6d0fca20,\n\t0x1d194: 0x6d33f420, 0x1d195: 0x6d13fc20, 0x1d196: 0x6c9a1220, 0x1d197: 0x6cd7f820,\n\t0x1d198: 0x6c2c6c20, 0x1d199: 0x6c077a20, 0x1d19a: 0x6d3d8220, 0x1d19b: 0x6d318420,\n\t0x1d19c: 0x6d1e5620, 0x1d19d: 0x6c606c20, 0x1d19e: 0x6c435220, 0x1d19f: 0x6ce11a20,\n\t0x1d1a0: 0x6cd80420, 0x1d1a1: 0x6c96d020, 0x1d1a2: 0x6cde7820, 0x1d1a3: 0x6c40b620,\n\t0x1d1a4: 0x6d07bc20, 0x1d1a5: 0x6cb63c20, 0x1d1a6: 0x6d241420, 0x1d1a7: 0x6cf81220,\n\t0x1d1a8: 0x6c5f3a20, 0x1d1a9: 0x6cd8e020, 0x1d1aa: 0x6c152820, 0x1d1ab: 0x6c28b420,\n\t0x1d1ac: 0x6c4b8020, 0x1d1ad: 0x6cdc7820, 0x1d1ae: 0x6c853820, 0x1d1af: 0x6ca9d020,\n\t0x1d1b0: 0x6c9c8a20, 0x1d1b1: 0x6c29f820, 0x1d1b2: 0x6c86d620, 0x1d1b3: 0x6cc4ee20,\n\t0x1d1b4: 0x6d271620, 0x1d1b5: 0x6ce3b420, 0x1d1b6: 0x6d29c220, 0x1d1b7: 0x6c836420,\n\t0x1d1b8: 0x6cc74020, 0x1d1b9: 0x6d222e20, 0x1d1ba: 0x6d20dc20, 0x1d1bb: 0x6c83ae20,\n\t0x1d1bc: 0x6d019820, 0x1d1bd: 0x6cbd7620, 0x1d1be: 0x6c50b220, 0x1d1bf: 0x6ce83c20,\n\t// Block 0x747, offset 0x1d1c0\n\t0x1d1c0: 0x6d052c20, 0x1d1c1: 0x6cd7c620, 0x1d1c2: 0x6cc56c20, 0x1d1c3: 0x6ce83e20,\n\t0x1d1c4: 0x6d3ef020, 0x1d1c5: 0x6c13c820, 0x1d1c6: 0x6c41cc20, 0x1d1c7: 0x6d16cc20,\n\t0x1d1c8: 0x6cfa8220, 0x1d1c9: 0x6c0dc620, 0x1d1ca: 0x6ca6f620, 0x1d1cb: 0x6cbfa620,\n\t0x1d1cc: 0x6cbfa820, 0x1d1cd: 0x6d37e820, 0x1d1ce: 0x6c3bd420, 0x1d1cf: 0x6c502220,\n\t0x1d1d0: 0x6d279020, 0x1d1d1: 0x6c77e620, 0x1d1d2: 0x6c9e8c20, 0x1d1d3: 0x6d33ae20,\n\t0x1d1d4: 0x6c6d9820, 0x1d1d5: 0x6c08c820, 0x1d1d6: 0x6d33b020, 0x1d1d7: 0x6d22e620,\n\t0x1d1d8: 0x6c9d3420, 0x1d1d9: 0x6c7a8a20, 0x1d1da: 0x6c04f420, 0x1d1db: 0x6caf5620,\n\t0x1d1dc: 0x6ca5ce20, 0x1d1dd: 0x6c85da20, 0x1d1de: 0x6d1f1a20, 0x1d1df: 0x6d409a20,\n\t0x1d1e0: 0x6caf5820, 0x1d1e1: 0x6c0edc20, 0x1d1e2: 0x6c8cd020, 0x1d1e3: 0x6ca0fc20,\n\t0x1d1e4: 0x6c1a8020, 0x1d1e5: 0x6ca6fe20, 0x1d1e6: 0x6cbd6620, 0x1d1e7: 0x6d0f5620,\n\t0x1d1e8: 0x6d423220, 0x1d1e9: 0x6d35c420, 0x1d1ea: 0x6d33ca20, 0x1d1eb: 0x6cd52420,\n\t0x1d1ec: 0x6c721a20, 0x1d1ed: 0x6d3ef620, 0x1d1ee: 0x6c5d7220, 0x1d1ef: 0x6c5ea820,\n\t0x1d1f0: 0x6c196220, 0x1d1f1: 0x6ce74220, 0x1d1f2: 0x6d35f820, 0x1d1f3: 0x6c5d7620,\n\t0x1d1f4: 0x6c511220, 0x1d1f5: 0x6d19ce20, 0x1d1f6: 0x6d3e2620, 0x1d1f7: 0x6d35fa20,\n\t0x1d1f8: 0x6c6a0220, 0x1d1f9: 0x6cc59420, 0x1d1fa: 0x6c325020, 0x1d1fb: 0x6d14e820,\n\t0x1d1fc: 0x6d399e20, 0x1d1fd: 0x6c5bb820, 0x1d1fe: 0x6ca9ba20, 0x1d1ff: 0x6c3ff420,\n\t// Block 0x748, offset 0x1d200\n\t0x1d200: 0x6cf62020, 0x1d201: 0x6c77aa20, 0x1d202: 0x6c80ca20, 0x1d203: 0x6c3d7420,\n\t0x1d204: 0x6d0a9020, 0x1d205: 0x6cd72020, 0x1d206: 0x6c939420, 0x1d207: 0x6c7dae20,\n\t0x1d208: 0x6c41da20, 0x1d209: 0x6c6db820, 0x1d20a: 0x6ce32e20, 0x1d20b: 0x6c1a0c20,\n\t0x1d20c: 0x6ce8b420, 0x1d20d: 0x6cce7020, 0x1d20e: 0x6cd72220, 0x1d20f: 0x6d0bc020,\n\t0x1d210: 0x6c951a20, 0x1d211: 0x6c927020, 0x1d212: 0x6c481c20, 0x1d213: 0x6d424420,\n\t0x1d214: 0x6cc59a20, 0x1d215: 0x6d3ce620, 0x1d216: 0x6c057c20, 0x1d217: 0x6c044a20,\n\t0x1d218: 0x6c5eec20, 0x1d219: 0x6d33f620, 0x1d21a: 0x6d366020, 0x1d21b: 0x6c7db420,\n\t0x1d21c: 0x6c837e20, 0x1d21d: 0x6caeac20, 0x1d21e: 0x6c780a20, 0x1d21f: 0x6c0dea20,\n\t0x1d220: 0x6c1dbe20, 0x1d221: 0x6d41b620, 0x1d222: 0x6d237420, 0x1d223: 0x6cda5220,\n\t0x1d224: 0x6c94ae20, 0x1d225: 0x6cfd8020, 0x1d226: 0x6d140620, 0x1d227: 0x6cf8b620,\n\t0x1d228: 0x6c0b4620, 0x1d229: 0x6c624820, 0x1d22a: 0x6c3ec420, 0x1d22b: 0x6cb0b020,\n\t0x1d22c: 0x6cab0820, 0x1d22d: 0x6c6a2c20, 0x1d22e: 0x6d380420, 0x1d22f: 0x6d3fa820,\n\t0x1d230: 0x6d064e20, 0x1d231: 0x6c197e20, 0x1d232: 0x6c2a2220, 0x1d233: 0x6cf1e820,\n\t0x1d234: 0x6cfb8220, 0x1d235: 0x6d3e6820, 0x1d236: 0x6d23c820, 0x1d237: 0x6c626420,\n\t0x1d238: 0x6d072e20, 0x1d239: 0x6d31f420, 0x1d23a: 0x6d36b820, 0x1d23b: 0x6c2a2a20,\n\t0x1d23c: 0x6c645420, 0x1d23d: 0x6c5f1820, 0x1d23e: 0x6c431820, 0x1d23f: 0x6c431a20,\n\t// Block 0x749, offset 0x1d240\n\t0x1d240: 0x6c47c420, 0x1d241: 0x6cc6a020, 0x1d242: 0x6cdc6020, 0x1d243: 0x6cc73c20,\n\t0x1d244: 0x6c627a20, 0x1d245: 0x6c775220, 0x1d246: 0x6ca2ac20, 0x1d247: 0x6c11dc20,\n\t0x1d248: 0x6c9a2620, 0x1d249: 0x6d370c20, 0x1d24a: 0x6c624a20, 0x1d24b: 0x6c92d620,\n\t0x1d24c: 0x6cda5a20, 0x1d24d: 0x6c5f3c20, 0x1d24e: 0x6d1d0c20, 0x1d24f: 0x6cf1f020,\n\t0x1d250: 0x6cbfc420, 0x1d251: 0x6ccb6020, 0x1d252: 0x6c51e620, 0x1d253: 0x6d18aa20,\n\t0x1d254: 0x6c59fe20, 0x1d255: 0x6cbce620, 0x1d256: 0x6c615620, 0x1d257: 0x6cdc8820,\n\t0x1d258: 0x6cff2020, 0x1d259: 0x6cb45e20, 0x1d25a: 0x6c688420, 0x1d25b: 0x6d3d0c20,\n\t0x1d25c: 0x6d380c20, 0x1d25d: 0x6d41e620, 0x1d25e: 0x6c93ba20, 0x1d25f: 0x6cdc8c20,\n\t0x1d260: 0x6ca9d420, 0x1d261: 0x6ccb7820, 0x1d262: 0x6c5c6c20, 0x1d263: 0x6cc4de20,\n\t0x1d264: 0x6cab1e20, 0x1d265: 0x6d243420, 0x1d266: 0x6cb1f820, 0x1d267: 0x6c62bc20,\n\t0x1d268: 0x6ce9ce20, 0x1d269: 0x6cf1f420, 0x1d26a: 0x6c199e20, 0x1d26b: 0x6c5e1a20,\n\t0x1d26c: 0x6c7c1820, 0x1d26d: 0x6c93c020, 0x1d26e: 0x6c0c4c20, 0x1d26f: 0x6ccba820,\n\t0x1d270: 0x6cc4f420, 0x1d271: 0x6d3d1620, 0x1d272: 0x6c84d420, 0x1d273: 0x6c24aa20,\n\t0x1d274: 0x6d08f220, 0x1d275: 0x6cebc420, 0x1d276: 0x6c6f5620, 0x1d277: 0x6cbefa20,\n\t0x1d278: 0x6cf59020, 0x1d279: 0x6cbefe20, 0x1d27a: 0x6c796820, 0x1d27b: 0x6d207a20,\n\t0x1d27c: 0x6ccfc020, 0x1d27d: 0x6c6e1a20, 0x1d27e: 0x6d11f220, 0x1d27f: 0x6c1fe020,\n\t// Block 0x74a, offset 0x1d280\n\t0x1d280: 0x6d3cce20, 0x1d281: 0x6ce84420, 0x1d282: 0x6c814620, 0x1d283: 0x6cbca020,\n\t0x1d284: 0x6d2d2820, 0x1d285: 0x6d11a020, 0x1d286: 0x6c0b3020, 0x1d287: 0x6c05c420,\n\t0x1d288: 0x6d11a220, 0x1d289: 0x6c0ddc20, 0x1d28a: 0x6cebd420, 0x1d28b: 0x6d3a0820,\n\t0x1d28c: 0x6c699020, 0x1d28d: 0x6cbc3a20, 0x1d28e: 0x6c2e1020, 0x1d28f: 0x6cf36620,\n\t0x1d290: 0x6c4a5e20, 0x1d291: 0x6d10ea20, 0x1d292: 0x6d35fc20, 0x1d293: 0x6c205020,\n\t0x1d294: 0x6d120220, 0x1d295: 0x6ce5c220, 0x1d296: 0x6c69a020, 0x1d297: 0x6c205220,\n\t0x1d298: 0x6c6f1220, 0x1d299: 0x6cfeca20, 0x1d29a: 0x6c19f020, 0x1d29b: 0x6c79ec20,\n\t0x1d29c: 0x6c24ac20, 0x1d29d: 0x6cf29420, 0x1d29e: 0x6c289420, 0x1d29f: 0x6c7a4a20,\n\t0x1d2a0: 0x6c780c20, 0x1d2a1: 0x6d3d7020, 0x1d2a2: 0x6d05b420, 0x1d2a3: 0x6cda5420,\n\t0x1d2a4: 0x6c491c20, 0x1d2a5: 0x6c7c3e20, 0x1d2a6: 0x6c312420, 0x1d2a7: 0x6d3dfa20,\n\t0x1d2a8: 0x6d09a020, 0x1d2a9: 0x6cf29620, 0x1d2aa: 0x6cebea20, 0x1d2ab: 0x6d0bc620,\n\t0x1d2ac: 0x6d217820, 0x1d2ad: 0x6c726a20, 0x1d2ae: 0x6cbf5220, 0x1d2af: 0x6d113a20,\n\t0x1d2b0: 0x6d113c20, 0x1d2b1: 0x6ce5cc20, 0x1d2b2: 0x6c177820, 0x1d2b3: 0x6d228020,\n\t0x1d2b4: 0x6ce4bc20, 0x1d2b5: 0x6c2e3e20, 0x1d2b6: 0x6c729220, 0x1d2b7: 0x6c8aa820,\n\t0x1d2b8: 0x6cf6ce20, 0x1d2b9: 0x6cf52220, 0x1d2ba: 0x6c7c4420, 0x1d2bb: 0x6c206220,\n\t0x1d2bc: 0x6d2f7220, 0x1d2bd: 0x6c7b7c20, 0x1d2be: 0x6c7b7420, 0x1d2bf: 0x6c907420,\n\t// Block 0x74b, offset 0x1d2c0\n\t0x1d2c0: 0x6c199c20, 0x1d2c1: 0x6c256c20, 0x1d2c2: 0x6cb18420, 0x1d2c3: 0x6d2a9420,\n\t0x1d2c4: 0x6c24ba20, 0x1d2c5: 0x6cbc6820, 0x1d2c6: 0x6cbf7820, 0x1d2c7: 0x6c314c20,\n\t0x1d2c8: 0x6d2a9e20, 0x1d2c9: 0x6c904620, 0x1d2ca: 0x6cbd0a20, 0x1d2cb: 0x6c856c20,\n\t0x1d2cc: 0x6c1f0a20, 0x1d2cd: 0x6cd40c20, 0x1d2ce: 0x6c3fb820, 0x1d2cf: 0x6cba9220,\n\t0x1d2d0: 0x6c1f1c20, 0x1d2d1: 0x6c531820, 0x1d2d2: 0x6cb59820, 0x1d2d3: 0x6c508620,\n\t0x1d2d4: 0x6cd18420, 0x1d2d5: 0x6c3c0820, 0x1d2d6: 0x6cd5b220, 0x1d2d7: 0x6c9eb020,\n\t0x1d2d8: 0x6cc24020, 0x1d2d9: 0x6d2e5220, 0x1d2da: 0x6d3adc20, 0x1d2db: 0x6c8cd420,\n\t0x1d2dc: 0x6c8f8220, 0x1d2dd: 0x6c0e1620, 0x1d2de: 0x6c6e6a20, 0x1d2df: 0x6c6e7e20,\n\t0x1d2e0: 0x6d2eb620, 0x1d2e1: 0x6c046620, 0x1d2e2: 0x6cd8c220, 0x1d2e3: 0x6c75c020,\n\t0x1d2e4: 0x6c534e20, 0x1d2e5: 0x6ce74a20, 0x1d2e6: 0x6cd95a20, 0x1d2e7: 0x6c6e8820,\n\t0x1d2e8: 0x6c2e2e20, 0x1d2e9: 0x6d17f820, 0x1d2ea: 0x6cd5e820, 0x1d2eb: 0x6c6e7820,\n\t0x1d2ec: 0x6cc24c20, 0x1d2ed: 0x6c6b1020, 0x1d2ee: 0x6cb26020, 0x1d2ef: 0x6c329e20,\n\t0x1d2f0: 0x6ccea620, 0x1d2f1: 0x6d3bac20, 0x1d2f2: 0x6c136220, 0x1d2f3: 0x6c2ab020,\n\t0x1d2f4: 0x6c259e20, 0x1d2f5: 0x6cec5a20, 0x1d2f6: 0x6c6ec020, 0x1d2f7: 0x6c76fa20,\n\t0x1d2f8: 0x6c6ec420, 0x1d2f9: 0x6d39f020, 0x1d2fa: 0x6d39f620, 0x1d2fb: 0x6c821a20,\n\t0x1d2fc: 0x6cae9220, 0x1d2fd: 0x6d20e020, 0x1d2fe: 0x6c1b0e20, 0x1d2ff: 0x6c418820,\n\t// Block 0x74c, offset 0x1d300\n\t0x1d300: 0x6c984220, 0x1d301: 0x6d39fe20, 0x1d302: 0x6cedb820, 0x1d303: 0x6c321220,\n\t0x1d304: 0x6c5eac20, 0x1d305: 0x6cff7420, 0x1d306: 0x6c03f020, 0x1d307: 0x6cdb9820,\n\t0x1d308: 0x6c5ffc20, 0x1d309: 0x6cbdce20, 0x1d30a: 0x6d2faa20, 0x1d30b: 0x6cdce820,\n\t0x1d30c: 0x6d0b2020, 0x1d30d: 0x6d3c7e20, 0x1d30e: 0x6d255220, 0x1d30f: 0x6c568420,\n\t0x1d310: 0x6c4f6820, 0x1d311: 0x6cffe220, 0x1d312: 0x6c132e20, 0x1d313: 0x6c096c20,\n\t0x1d314: 0x6c08d020, 0x1d315: 0x6c658020, 0x1d316: 0x6d15de20, 0x1d317: 0x6c2ffc20,\n\t0x1d318: 0x6ccce220, 0x1d319: 0x6cd0fe20, 0x1d31a: 0x6c264820, 0x1d31b: 0x6c2b6c20,\n\t0x1d31c: 0x6d3a0e20, 0x1d31d: 0x6ca33420, 0x1d31e: 0x6c1aac20, 0x1d31f: 0x6c470620,\n\t0x1d320: 0x6c85f620, 0x1d321: 0x6cbcba20, 0x1d322: 0x6c9faa20, 0x1d323: 0x6c05ae20,\n\t0x1d324: 0x6ce58220, 0x1d325: 0x6cd8b620, 0x1d326: 0x6c3e5820, 0x1d327: 0x6c12de20,\n\t0x1d328: 0x6c07b420, 0x1d329: 0x6cae1a20, 0x1d32a: 0x6c26a020, 0x1d32b: 0x6d3f0620,\n\t0x1d32c: 0x6c2c4a20, 0x1d32d: 0x6c8cee20, 0x1d32e: 0x6d2ac420, 0x1d32f: 0x6caa4220,\n\t0x1d330: 0x6c3e5a20, 0x1d331: 0x6c467e20, 0x1d332: 0x6c389620, 0x1d333: 0x6c634e20,\n\t0x1d334: 0x6c41d820, 0x1d335: 0x6c394820, 0x1d336: 0x6cd2cc20, 0x1d337: 0x6c993820,\n\t0x1d338: 0x6cb35620, 0x1d339: 0x6ce45020, 0x1d33a: 0x6c648a20, 0x1d33b: 0x6cbf1820,\n\t0x1d33c: 0x6c8f8a20, 0x1d33d: 0x6c9fe420, 0x1d33e: 0x6c0af020, 0x1d33f: 0x6c960420,\n\t// Block 0x74d, offset 0x1d340\n\t0x1d340: 0x6c4b4c20, 0x1d341: 0x6cc10c20, 0x1d342: 0x6c1b2620, 0x1d343: 0x6d19e220,\n\t0x1d344: 0x6d120820, 0x1d345: 0x6cfc0e20, 0x1d346: 0x6c08e220, 0x1d347: 0x6cbf1a20,\n\t0x1d348: 0x6c7dfa20, 0x1d349: 0x6c2acc20, 0x1d34a: 0x6cff8c20, 0x1d34b: 0x6c6c4620,\n\t0x1d34c: 0x6cc2f420, 0x1d34d: 0x6cdcec20, 0x1d34e: 0x6cc7ae20, 0x1d34f: 0x6c381420,\n\t0x1d350: 0x6c7b9e20, 0x1d351: 0x6d3af620, 0x1d352: 0x6ce7b820, 0x1d353: 0x6c5ed820,\n\t0x1d354: 0x6c26a820, 0x1d355: 0x6c4f7a20, 0x1d356: 0x6c12ee20, 0x1d357: 0x6d383020,\n\t0x1d358: 0x6c79ee20, 0x1d359: 0x6c7f0e20, 0x1d35a: 0x6c09a820, 0x1d35b: 0x6ccc8a20,\n\t0x1d35c: 0x6c28fe20, 0x1d35d: 0x6d32c820, 0x1d35e: 0x6c12fa20, 0x1d35f: 0x6c3d7e20,\n\t0x1d360: 0x6d27b420, 0x1d361: 0x6ce8c620, 0x1d362: 0x6cabd820, 0x1d363: 0x6c83ec20,\n\t0x1d364: 0x6c80d020, 0x1d365: 0x6c71ba20, 0x1d366: 0x6c495820, 0x1d367: 0x6c65b020,\n\t0x1d368: 0x6c4e1e20, 0x1d369: 0x6ce75620, 0x1d36a: 0x6cf9d620, 0x1d36b: 0x6d366220,\n\t0x1d36c: 0x6c1a0e20, 0x1d36d: 0x6cdb9a20, 0x1d36e: 0x6cd39e20, 0x1d36f: 0x6d3b0c20,\n\t0x1d370: 0x6d424620, 0x1d371: 0x6cffb020, 0x1d372: 0x6cce7620, 0x1d373: 0x6ce67620,\n\t0x1d374: 0x6c12fc20, 0x1d375: 0x6d0c9e20, 0x1d376: 0x6c435020, 0x1d377: 0x6c7b2c20,\n\t0x1d378: 0x6c41a020, 0x1d379: 0x6c1dc020, 0x1d37a: 0x6c7c2e20, 0x1d37b: 0x6c42aa20,\n\t0x1d37c: 0x6d27b620, 0x1d37d: 0x6cab2a20, 0x1d37e: 0x6cb8f420, 0x1d37f: 0x6cffb220,\n\t// Block 0x74e, offset 0x1d380\n\t0x1d380: 0x6c65b220, 0x1d381: 0x6cb3de20, 0x1d382: 0x6c7f1c20, 0x1d383: 0x6d405c20,\n\t0x1d384: 0x6c08ec20, 0x1d385: 0x6c0a0420, 0x1d386: 0x6c0a0620, 0x1d387: 0x6c448c20,\n\t0x1d388: 0x6cdf3020, 0x1d389: 0x6c48e020, 0x1d38a: 0x6d209420, 0x1d38b: 0x6c64cc20,\n\t0x1d38c: 0x6c2a2420, 0x1d38d: 0x6c472420, 0x1d38e: 0x6c1b4420, 0x1d38f: 0x6d32e220,\n\t0x1d390: 0x6cbed220, 0x1d391: 0x6ccc6820, 0x1d392: 0x6d38ec20, 0x1d393: 0x6c928e20,\n\t0x1d394: 0x6c0f3020, 0x1d395: 0x6c5f0a20, 0x1d396: 0x6c8bc420, 0x1d397: 0x6cdb9e20,\n\t0x1d398: 0x6c75d420, 0x1d399: 0x6c3ec820, 0x1d39a: 0x6d2c4220, 0x1d39b: 0x6c472620,\n\t0x1d39c: 0x6c798620, 0x1d39d: 0x6cb9b220, 0x1d39e: 0x6cb90a20, 0x1d39f: 0x6c75d620,\n\t0x1d3a0: 0x6c20dc20, 0x1d3a1: 0x6c495a20, 0x1d3a2: 0x6d250420, 0x1d3a3: 0x6c130820,\n\t0x1d3a4: 0x6d40cc20, 0x1d3a5: 0x6c0fe620, 0x1d3a6: 0x6d2ae420, 0x1d3a7: 0x6cbcd620,\n\t0x1d3a8: 0x6cebb020, 0x1d3a9: 0x6c954e20, 0x1d3aa: 0x6c27ec20, 0x1d3ab: 0x6cfef420,\n\t0x1d3ac: 0x6cc92620, 0x1d3ad: 0x6c66ba20, 0x1d3ae: 0x6d07c020, 0x1d3af: 0x6c0b0020,\n\t0x1d3b0: 0x6cdcfc20, 0x1d3b1: 0x6cfd8620, 0x1d3b2: 0x6cfc2420, 0x1d3b3: 0x6cb2c620,\n\t0x1d3b4: 0x6d318c20, 0x1d3b5: 0x6d039420, 0x1d3b6: 0x6c559420, 0x1d3b7: 0x6d154a20,\n\t0x1d3b8: 0x6d3b1420, 0x1d3b9: 0x6d265820, 0x1d3ba: 0x6c211020, 0x1d3bb: 0x6c93f620,\n\t0x1d3bc: 0x6cf37e20, 0x1d3bd: 0x6c303820, 0x1d3be: 0x6cd79a20, 0x1d3bf: 0x6c609020,\n\t// Block 0x74f, offset 0x1d3c0\n\t0x1d3c0: 0x6c6af220, 0x1d3c1: 0x6c59ee20, 0x1d3c2: 0x6d039620, 0x1d3c3: 0x6c9aa820,\n\t0x1d3c4: 0x6c396a20, 0x1d3c5: 0x6c200a20, 0x1d3c6: 0x6d3bde20, 0x1d3c7: 0x6cb0fc20,\n\t0x1d3c8: 0x6c3c6220, 0x1d3c9: 0x6d3a2820, 0x1d3ca: 0x6c59f020, 0x1d3cb: 0x6cbce020,\n\t0x1d3cc: 0x6c542420, 0x1d3cd: 0x6cbfbe20, 0x1d3ce: 0x6c9e9a20, 0x1d3cf: 0x6cba7620,\n\t0x1d3d0: 0x6c483c20, 0x1d3d1: 0x6c7d1020, 0x1d3d2: 0x6cd41c20, 0x1d3d3: 0x6c90f420,\n\t0x1d3d4: 0x6d27c820, 0x1d3d5: 0x6c517020, 0x1d3d6: 0x6ce13420, 0x1d3d7: 0x6d26ee20,\n\t0x1d3d8: 0x6c1d7e20, 0x1d3d9: 0x6c42de20, 0x1d3da: 0x6c3a7020, 0x1d3db: 0x6cc92e20,\n\t0x1d3dc: 0x6d32f420, 0x1d3dd: 0x6c465e20, 0x1d3de: 0x6ca87220, 0x1d3df: 0x6cba7e20,\n\t0x1d3e0: 0x6cffbc20, 0x1d3e1: 0x6c24b420, 0x1d3e2: 0x6c903820, 0x1d3e3: 0x6caec620,\n\t0x1d3e4: 0x6c322e20, 0x1d3e5: 0x6c867e20, 0x1d3e6: 0x6c0a5420, 0x1d3e7: 0x6d3d9e20,\n\t0x1d3e8: 0x6c1ea820, 0x1d3e9: 0x6ccc9020, 0x1d3ea: 0x6c1b5220, 0x1d3eb: 0x6d3b2c20,\n\t0x1d3ec: 0x6cbada20, 0x1d3ed: 0x6c8fae20, 0x1d3ee: 0x6c7fb620, 0x1d3ef: 0x6c64fa20,\n\t0x1d3f0: 0x6c10ba20, 0x1d3f1: 0x6c844220, 0x1d3f2: 0x6c5c5820, 0x1d3f3: 0x6c0a5620,\n\t0x1d3f4: 0x6c2b9020, 0x1d3f5: 0x6c236420, 0x1d3f6: 0x6d0c3620, 0x1d3f7: 0x6caf2020,\n\t0x1d3f8: 0x6c11e020, 0x1d3f9: 0x6d3be620, 0x1d3fa: 0x6cb02220, 0x1d3fb: 0x6cb19e20,\n\t0x1d3fc: 0x6c30c820, 0x1d3fd: 0x6d243620, 0x1d3fe: 0x6c9ef820, 0x1d3ff: 0x6ce96020,\n\t// Block 0x750, offset 0x1d400\n\t0x1d400: 0x6d2b1020, 0x1d401: 0x6ccc9220, 0x1d402: 0x6c4b8420, 0x1d403: 0x6d156e20,\n\t0x1d404: 0x6c56cc20, 0x1d405: 0x6c15e620, 0x1d406: 0x6c7a0820, 0x1d407: 0x6c246820,\n\t0x1d408: 0x6cb2d620, 0x1d409: 0x6d2a9020, 0x1d40a: 0x6c5f5620, 0x1d40b: 0x6c4b1c20,\n\t0x1d40c: 0x6cdb3820, 0x1d40d: 0x6c90fc20, 0x1d40e: 0x6c131a20, 0x1d40f: 0x6c92e820,\n\t0x1d410: 0x6ca73e20, 0x1d411: 0x6cdd3820, 0x1d412: 0x6c24b620, 0x1d413: 0x6c2e5420,\n\t0x1d414: 0x6cdd4020, 0x1d415: 0x6c822a20, 0x1d416: 0x6c32dc20, 0x1d417: 0x6c89d020,\n\t0x1d418: 0x6cff2220, 0x1d419: 0x6c0f9420, 0x1d41a: 0x6c9da020, 0x1d41b: 0x6ccc9420,\n\t0x1d41c: 0x6c299c20, 0x1d41d: 0x6c8a3620, 0x1d41e: 0x6c280c20, 0x1d41f: 0x6c2d8e20,\n\t0x1d420: 0x6c3f9020, 0x1d421: 0x6c65f820, 0x1d422: 0x6c9fd020, 0x1d423: 0x6c7d2820,\n\t0x1d424: 0x6c27a020, 0x1d425: 0x6c689820, 0x1d426: 0x6c2ab620, 0x1d427: 0x6c5a0c20,\n\t0x1d428: 0x6cdd0020, 0x1d429: 0x6c818220, 0x1d42a: 0x6d295220, 0x1d42b: 0x6cff3c20,\n\t0x1d42c: 0x6c931e20, 0x1d42d: 0x6cd3f620, 0x1d42e: 0x6d295420, 0x1d42f: 0x6cb81c20,\n\t0x1d430: 0x6cac0a20, 0x1d431: 0x6cb81e20, 0x1d432: 0x6cac0c20, 0x1d433: 0x6c41f620,\n\t0x1d434: 0x6c72b220, 0x1d435: 0x6c328a20, 0x1d436: 0x6c930620, 0x1d437: 0x6d0cf220,\n\t0x1d438: 0x6c0fea20, 0x1d439: 0x6c291820, 0x1d43a: 0x6cc9ec20, 0x1d43b: 0x6d3b5e20,\n\t0x1d43c: 0x6c8fca20, 0x1d43d: 0x6cb94020, 0x1d43e: 0x6c888420, 0x1d43f: 0x6c10cc20,\n\t// Block 0x751, offset 0x1d440\n\t0x1d440: 0x6d396220, 0x1d441: 0x6c7f6e20, 0x1d442: 0x6cd42020, 0x1d443: 0x6c7fec20,\n\t0x1d444: 0x6c7d3420, 0x1d445: 0x6d21d620, 0x1d446: 0x6d270420, 0x1d447: 0x6c500020,\n\t0x1d448: 0x6d31a220, 0x1d449: 0x6cdf5020, 0x1d44a: 0x6ce43e20, 0x1d44b: 0x6ca8a420,\n\t0x1d44c: 0x6c1e0420, 0x1d44d: 0x6c60ec20, 0x1d44e: 0x6d199820, 0x1d44f: 0x6cb82020,\n\t0x1d450: 0x6ce2ca20, 0x1d451: 0x6d3c0020, 0x1d452: 0x6d396820, 0x1d453: 0x6c387020,\n\t0x1d454: 0x6cda3c20, 0x1d455: 0x6d396620, 0x1d456: 0x6cba9820, 0x1d457: 0x6d3de020,\n\t0x1d458: 0x6ce2d420, 0x1d459: 0x6c933a20, 0x1d45a: 0x6c919420, 0x1d45b: 0x6c662a20,\n\t0x1d45c: 0x6cebbe20, 0x1d45d: 0x6d1cd420, 0x1d45e: 0x6d248620, 0x1d45f: 0x6c7f7e20,\n\t0x1d460: 0x6c8ff420, 0x1d461: 0x6cbd1620, 0x1d462: 0x6c88a220, 0x1d463: 0x6c800a20,\n\t0x1d464: 0x6cb95c20, 0x1d465: 0x6d272020, 0x1d466: 0x6d37e420, 0x1d467: 0x6cc20e20,\n\t0x1d468: 0x6c88a420, 0x1d469: 0x6c0b2820, 0x1d46a: 0x6c32ea20, 0x1d46b: 0x6d415a20,\n\t0x1d46c: 0x6c84d620, 0x1d46d: 0x6cd86220, 0x1d46e: 0x6c958e20, 0x1d46f: 0x6d1cde20,\n\t0x1d470: 0x6d273820, 0x1d471: 0x6d3df220, 0x1d472: 0x6d24ae20, 0x1d473: 0x6c9cd620,\n\t0x1d474: 0x6c2b5820, 0x1d475: 0x6c388a20, 0x1d476: 0x6ccfb020, 0x1d477: 0x6d302820,\n\t0x1d478: 0x6ccfc220, 0x1d479: 0x6caa7220, 0x1d47a: 0x6c50e220, 0x1d47b: 0x6c832420,\n\t0x1d47c: 0x6cfa8e20, 0x1d47d: 0x6d3efa20, 0x1d47e: 0x6ca5c620, 0x1d47f: 0x6c25b420,\n\t// Block 0x752, offset 0x1d480\n\t0x1d480: 0x6d2f4620, 0x1d481: 0x6cb8c020, 0x1d482: 0x6d2d5a20, 0x1d483: 0x6c08d220,\n\t0x1d484: 0x6c04c620, 0x1d485: 0x6cf4d820, 0x1d486: 0x6ccbde20, 0x1d487: 0x6c772a20,\n\t0x1d488: 0x6cc77620, 0x1d489: 0x6c3bba20, 0x1d48a: 0x6c096e20, 0x1d48b: 0x6c252620,\n\t0x1d48c: 0x6d1b9a20, 0x1d48d: 0x6d304020, 0x1d48e: 0x6c1b9020, 0x1d48f: 0x6cdf8620,\n\t0x1d490: 0x6c56fa20, 0x1d491: 0x6c033c20, 0x1d492: 0x6c85f820, 0x1d493: 0x6c419620,\n\t0x1d494: 0x6c722e20, 0x1d495: 0x6cb38420, 0x1d496: 0x6ca10c20, 0x1d497: 0x6c241020,\n\t0x1d498: 0x6d2d6e20, 0x1d499: 0x6d392220, 0x1d49a: 0x6c83c620, 0x1d49b: 0x6cdaac20,\n\t0x1d49c: 0x6ce5d620, 0x1d49d: 0x6c85fa20, 0x1d49e: 0x6cf62220, 0x1d49f: 0x6cdab620,\n\t0x1d4a0: 0x6c535020, 0x1d4a1: 0x6ce74c20, 0x1d4a2: 0x6d3e4420, 0x1d4a3: 0x6c12e020,\n\t0x1d4a4: 0x6d26bc20, 0x1d4a5: 0x6d388620, 0x1d4a6: 0x6c8bb820, 0x1d4a7: 0x6d3c1a20,\n\t0x1d4a8: 0x6c042220, 0x1d4a9: 0x6c81f620, 0x1d4aa: 0x6c3bda20, 0x1d4ab: 0x6c375820,\n\t0x1d4ac: 0x6cc10e20, 0x1d4ad: 0x6c521620, 0x1d4ae: 0x6c895a20, 0x1d4af: 0x6cfcd820,\n\t0x1d4b0: 0x6c3ea020, 0x1d4b1: 0x6c895c20, 0x1d4b2: 0x6c11fa20, 0x1d4b3: 0x6c6dc220,\n\t0x1d4b4: 0x6c851c20, 0x1d4b5: 0x6d26c620, 0x1d4b6: 0x6c929020, 0x1d4b7: 0x6c714020,\n\t0x1d4b8: 0x6cb61e20, 0x1d4b9: 0x6c254e20, 0x1d4ba: 0x6c045220, 0x1d4bb: 0x6d2ece20,\n\t0x1d4bc: 0x6c8bc620, 0x1d4bd: 0x6d402620, 0x1d4be: 0x6c6dcc20, 0x1d4bf: 0x6c4cc420,\n\t// Block 0x753, offset 0x1d4c0\n\t0x1d4c0: 0x6c57e020, 0x1d4c1: 0x6cca2220, 0x1d4c2: 0x6cca2620, 0x1d4c3: 0x6ce12a20,\n\t0x1d4c4: 0x6c0b4c20, 0x1d4c5: 0x6cc75c20, 0x1d4c6: 0x6c9e5c20, 0x1d4c7: 0x6c542620,\n\t0x1d4c8: 0x6d065220, 0x1d4c9: 0x6d402a20, 0x1d4ca: 0x6c56fe20, 0x1d4cb: 0x6c66be20,\n\t0x1d4cc: 0x6d294e20, 0x1d4cd: 0x6c225e20, 0x1d4ce: 0x6c843020, 0x1d4cf: 0x6d021a20,\n\t0x1d4d0: 0x6c3da020, 0x1d4d1: 0x6cab1220, 0x1d4d2: 0x6c076020, 0x1d4d3: 0x6c47d020,\n\t0x1d4d4: 0x6d052820, 0x1d4d5: 0x6c42e020, 0x1d4d6: 0x6ce13620, 0x1d4d7: 0x6cc0b220,\n\t0x1d4d8: 0x6c645620, 0x1d4d9: 0x6c126a20, 0x1d4da: 0x6d3c2420, 0x1d4db: 0x6ce14020,\n\t0x1d4dc: 0x6c9c7c20, 0x1d4dd: 0x6cca2c20, 0x1d4de: 0x6c3bf420, 0x1d4df: 0x6d2a2620,\n\t0x1d4e0: 0x6c775620, 0x1d4e1: 0x6c67fe20, 0x1d4e2: 0x6ca07e20, 0x1d4e3: 0x6cca3020,\n\t0x1d4e4: 0x6cca3220, 0x1d4e5: 0x6cab1c20, 0x1d4e6: 0x6cf70820, 0x1d4e7: 0x6c897420,\n\t0x1d4e8: 0x6c680820, 0x1d4e9: 0x6c7b4620, 0x1d4ea: 0x6c0ffa20, 0x1d4eb: 0x6c58b620,\n\t0x1d4ec: 0x6cd63620, 0x1d4ed: 0x6d403e20, 0x1d4ee: 0x6cfd4020, 0x1d4ef: 0x6cab2020,\n\t0x1d4f0: 0x6ce97020, 0x1d4f1: 0x6ca8b820, 0x1d4f2: 0x6c873020, 0x1d4f3: 0x6d42b220,\n\t0x1d4f4: 0x6c2bb820, 0x1d4f5: 0x6ca8ba20, 0x1d4f6: 0x6ce5e420, 0x1d4f7: 0x6c809820,\n\t0x1d4f8: 0x6c9d1a20, 0x1d4f9: 0x6cd7c020, 0x1d4fa: 0x6c6f5820, 0x1d4fb: 0x6cf83e20,\n\t0x1d4fc: 0x6c456620, 0x1d4fd: 0x6d331c20, 0x1d4fe: 0x6c6f5e20, 0x1d4ff: 0x6d201c20,\n\t// Block 0x754, offset 0x1d500\n\t0x1d500: 0x6c61b020, 0x1d501: 0x6c143a20, 0x1d502: 0x6d391020, 0x1d503: 0x6d09f020,\n\t0x1d504: 0x6d264a20, 0x1d505: 0x6c531c20, 0x1d506: 0x6d207e20, 0x1d507: 0x6c50e420,\n\t0x1d508: 0x6cecce20, 0x1d509: 0x6cc5d820, 0x1d50a: 0x6cf1d220, 0x1d50b: 0x6cf18c20,\n\t0x1d50c: 0x6cc03620, 0x1d50d: 0x6ca32820, 0x1d50e: 0x6d3e1c20, 0x1d50f: 0x6ce80c20,\n\t0x1d510: 0x6ca99020, 0x1d511: 0x6c3d1420, 0x1d512: 0x6c61d020, 0x1d513: 0x6cd4c020,\n\t0x1d514: 0x6c213c20, 0x1d515: 0x6caf5a20, 0x1d516: 0x6d323220, 0x1d517: 0x6ccbe020,\n\t0x1d518: 0x6c532e20, 0x1d519: 0x6d351220, 0x1d51a: 0x6c5ffe20, 0x1d51b: 0x6c3b2220,\n\t0x1d51c: 0x6d279e20, 0x1d51d: 0x6cc5de20, 0x1d51e: 0x6c283220, 0x1d51f: 0x6c6c4020,\n\t0x1d520: 0x6cda9420, 0x1d521: 0x6c39d220, 0x1d522: 0x6cdd5a20, 0x1d523: 0x6c252820,\n\t0x1d524: 0x6c6fb820, 0x1d525: 0x6d288c20, 0x1d526: 0x6c03f220, 0x1d527: 0x6c6c8c20,\n\t0x1d528: 0x6c3d6a20, 0x1d529: 0x6d35fe20, 0x1d52a: 0x6c229820, 0x1d52b: 0x6d3f1620,\n\t0x1d52c: 0x6c1da620, 0x1d52d: 0x6c533e20, 0x1d52e: 0x6d288e20, 0x1d52f: 0x6c833420,\n\t0x1d530: 0x6cf87a20, 0x1d531: 0x6c3e5c20, 0x1d532: 0x6d019a20, 0x1d533: 0x6ccfe020,\n\t0x1d534: 0x6c0e6c20, 0x1d535: 0x6d3ae820, 0x1d536: 0x6cc0fc20, 0x1d537: 0x6c8cf020,\n\t0x1d538: 0x6d3aea20, 0x1d539: 0x6cced620, 0x1d53a: 0x6c421e20, 0x1d53b: 0x6d101420,\n\t0x1d53c: 0x6c3e5e20, 0x1d53d: 0x6ceb1820, 0x1d53e: 0x6d31d420, 0x1d53f: 0x6c275e20,\n\t// Block 0x755, offset 0x1d540\n\t0x1d540: 0x6c1f3420, 0x1d541: 0x6cd1b420, 0x1d542: 0x6d37b620, 0x1d543: 0x6cfb4e20,\n\t0x1d544: 0x6d411a20, 0x1d545: 0x6c6ede20, 0x1d546: 0x6c04f820, 0x1d547: 0x6cc18c20,\n\t0x1d548: 0x6ca10e20, 0x1d549: 0x6cd5c620, 0x1d54a: 0x6d41ac20, 0x1d54b: 0x6c7c2c20,\n\t0x1d54c: 0x6c6db020, 0x1d54d: 0x6cc5f220, 0x1d54e: 0x6c4f7c20, 0x1d54f: 0x6d01b220,\n\t0x1d550: 0x6c6ad620, 0x1d551: 0x6d39a820, 0x1d552: 0x6c1db420, 0x1d553: 0x6c48b620,\n\t0x1d554: 0x6c042420, 0x1d555: 0x6c745420, 0x1d556: 0x6c7bf620, 0x1d557: 0x6c556220,\n\t0x1d558: 0x6c22c620, 0x1d559: 0x6c587820, 0x1d55a: 0x6c44d220, 0x1d55b: 0x6ce1c820,\n\t0x1d55c: 0x6c6ad820, 0x1d55d: 0x6c7a9a20, 0x1d55e: 0x6c68fc20, 0x1d55f: 0x6cc2f620,\n\t0x1d560: 0x6c411620, 0x1d561: 0x6c960620, 0x1d562: 0x6d089620, 0x1d563: 0x6c07ee20,\n\t0x1d564: 0x6cfcc620, 0x1d565: 0x6c3e8620, 0x1d566: 0x6c449420, 0x1d567: 0x6c307a20,\n\t0x1d568: 0x6cc67a20, 0x1d569: 0x6ce5d820, 0x1d56a: 0x6d19e420, 0x1d56b: 0x6c82c220,\n\t0x1d56c: 0x6d01b420, 0x1d56d: 0x6c736820, 0x1d56e: 0x6d06e020, 0x1d56f: 0x6c40f820,\n\t0x1d570: 0x6c2eae20, 0x1d571: 0x6ce7ba20, 0x1d572: 0x6cd7ea20, 0x1d573: 0x6c67e820,\n\t0x1d574: 0x6cfdc420, 0x1d575: 0x6c5bc820, 0x1d576: 0x6c745620, 0x1d577: 0x6d346820,\n\t0x1d578: 0x6c65b420, 0x1d579: 0x6c737620, 0x1d57a: 0x6c1ac020, 0x1d57b: 0x6c9e2c20,\n\t0x1d57c: 0x6d31e820, 0x1d57d: 0x6c939e20, 0x1d57e: 0x6c1a1020, 0x1d57f: 0x6cc07a20,\n\t// Block 0x756, offset 0x1d580\n\t0x1d580: 0x6cd4ec20, 0x1d581: 0x6c055020, 0x1d582: 0x6ce7bc20, 0x1d583: 0x6cfedc20,\n\t0x1d584: 0x6c588020, 0x1d585: 0x6cbd3620, 0x1d586: 0x6c451220, 0x1d587: 0x6d052620,\n\t0x1d588: 0x6ce34c20, 0x1d589: 0x6ce82e20, 0x1d58a: 0x6d00c020, 0x1d58b: 0x6c536420,\n\t0x1d58c: 0x6cf8a420, 0x1d58d: 0x6c3ea220, 0x1d58e: 0x6ce64620, 0x1d58f: 0x6cdbcc20,\n\t0x1d590: 0x6c335220, 0x1d591: 0x6c7db620, 0x1d592: 0x6c3d8020, 0x1d593: 0x6c6dc420,\n\t0x1d594: 0x6c56a620, 0x1d595: 0x6d33f820, 0x1d596: 0x6d0ca020, 0x1d597: 0x6c6f1c20,\n\t0x1d598: 0x6c3cb020, 0x1d599: 0x6c622020, 0x1d59a: 0x6d077420, 0x1d59b: 0x6cc60c20,\n\t0x1d59c: 0x6d3faa20, 0x1d59d: 0x6c187820, 0x1d59e: 0x6c34a420, 0x1d59f: 0x6c865020,\n\t0x1d5a0: 0x6c93ec20, 0x1d5a1: 0x6c896020, 0x1d5a2: 0x6c1dcc20, 0x1d5a3: 0x6cc36420,\n\t0x1d5a4: 0x6ccede20, 0x1d5a5: 0x6cb62020, 0x1d5a6: 0x6cb62220, 0x1d5a7: 0x6d3ce020,\n\t0x1d5a8: 0x6cb62420, 0x1d5a9: 0x6ced3420, 0x1d5aa: 0x6cba6a20, 0x1d5ab: 0x6cfcec20,\n\t0x1d5ac: 0x6cd47420, 0x1d5ad: 0x6cef2220, 0x1d5ae: 0x6cb70e20, 0x1d5af: 0x6ce23020,\n\t0x1d5b0: 0x6ced3620, 0x1d5b1: 0x6c428c20, 0x1d5b2: 0x6cee3020, 0x1d5b3: 0x6c080420,\n\t0x1d5b4: 0x6d3cc620, 0x1d5b5: 0x6c113a20, 0x1d5b6: 0x6c4cc620, 0x1d5b7: 0x6c255020,\n\t0x1d5b8: 0x6c950420, 0x1d5b9: 0x6c8f1020, 0x1d5ba: 0x6cb71020, 0x1d5bb: 0x6d2e6e20,\n\t0x1d5bc: 0x6c0a0820, 0x1d5bd: 0x6c21cc20, 0x1d5be: 0x6c8d3c20, 0x1d5bf: 0x6c9dca20,\n\t// Block 0x757, offset 0x1d5c0\n\t0x1d5c0: 0x6cb51420, 0x1d5c1: 0x6cbcd820, 0x1d5c2: 0x6ce4b420, 0x1d5c3: 0x6d3fac20,\n\t0x1d5c4: 0x6c4bd820, 0x1d5c5: 0x6d405e20, 0x1d5c6: 0x6cf67c20, 0x1d5c7: 0x6d3e6a20,\n\t0x1d5c8: 0x6d043220, 0x1d5c9: 0x6c899a20, 0x1d5ca: 0x6c6ca420, 0x1d5cb: 0x6c3a1220,\n\t0x1d5cc: 0x6cc8a020, 0x1d5cd: 0x6c9f7220, 0x1d5ce: 0x6d239e20, 0x1d5cf: 0x6d400420,\n\t0x1d5d0: 0x6c38ae20, 0x1d5d1: 0x6c93ee20, 0x1d5d2: 0x6d071620, 0x1d5d3: 0x6d1bd820,\n\t0x1d5d4: 0x6cce5620, 0x1d5d5: 0x6cb81820, 0x1d5d6: 0x6d073020, 0x1d5d7: 0x6cfd8820,\n\t0x1d5d8: 0x6c64dc20, 0x1d5d9: 0x6c78ce20, 0x1d5da: 0x6cfcfe20, 0x1d5db: 0x6cc87620,\n\t0x1d5dc: 0x6c9dcc20, 0x1d5dd: 0x6c5f1c20, 0x1d5de: 0x6c32d820, 0x1d5df: 0x6c1d1e20,\n\t0x1d5e0: 0x6c2c9420, 0x1d5e1: 0x6c9f7820, 0x1d5e2: 0x6c9e7c20, 0x1d5e3: 0x6d259c20,\n\t0x1d5e4: 0x6d01fe20, 0x1d5e5: 0x6c060e20, 0x1d5e6: 0x6cd82020, 0x1d5e7: 0x6cbfc020,\n\t0x1d5e8: 0x6c0b0220, 0x1d5e9: 0x6c58dc20, 0x1d5ea: 0x6c44d820, 0x1d5eb: 0x6c234620,\n\t0x1d5ec: 0x6c9e3820, 0x1d5ed: 0x6cf0c420, 0x1d5ee: 0x6c403620, 0x1d5ef: 0x6cf00620,\n\t0x1d5f0: 0x6ce7f420, 0x1d5f1: 0x6c465a20, 0x1d5f2: 0x6c9e9c20, 0x1d5f3: 0x6d00de20,\n\t0x1d5f4: 0x6c891220, 0x1d5f5: 0x6d3fb620, 0x1d5f6: 0x6c0bb620, 0x1d5f7: 0x6d284a20,\n\t0x1d5f8: 0x6d19fc20, 0x1d5f9: 0x6ce36820, 0x1d5fa: 0x6c486c20, 0x1d5fb: 0x6d36ea20,\n\t0x1d5fc: 0x6d284c20, 0x1d5fd: 0x6c198c20, 0x1d5fe: 0x6c152020, 0x1d5ff: 0x6c278c20,\n\t// Block 0x758, offset 0x1d600\n\t0x1d600: 0x6cf9ea20, 0x1d601: 0x6d259e20, 0x1d602: 0x6d400620, 0x1d603: 0x6d05da20,\n\t0x1d604: 0x6d1d6a20, 0x1d605: 0x6cf14420, 0x1d606: 0x6c44da20, 0x1d607: 0x6d07c220,\n\t0x1d608: 0x6d1c9c20, 0x1d609: 0x6c6d5220, 0x1d60a: 0x6d18ae20, 0x1d60b: 0x6d3ca220,\n\t0x1d60c: 0x6ca6c020, 0x1d60d: 0x6c053c20, 0x1d60e: 0x6c47c820, 0x1d60f: 0x6cac7220,\n\t0x1d610: 0x6d395420, 0x1d611: 0x6c64fc20, 0x1d612: 0x6c220a20, 0x1d613: 0x6cc31620,\n\t0x1d614: 0x6cd6e020, 0x1d615: 0x6d276620, 0x1d616: 0x6cf9f220, 0x1d617: 0x6c24ea20,\n\t0x1d618: 0x6cf6d220, 0x1d619: 0x6cc6a620, 0x1d61a: 0x6ce1ea20, 0x1d61b: 0x6c405420,\n\t0x1d61c: 0x6d27ca20, 0x1d61d: 0x6c188820, 0x1d61e: 0x6c432020, 0x1d61f: 0x6cc82820,\n\t0x1d620: 0x6c55b820, 0x1d621: 0x6d294620, 0x1d622: 0x6ce2b420, 0x1d623: 0x6cfd1020,\n\t0x1d624: 0x6cdb1e20, 0x1d625: 0x6d31fc20, 0x1d626: 0x6d403420, 0x1d627: 0x6ce1ec20,\n\t0x1d628: 0x6c5a8420, 0x1d629: 0x6c114a20, 0x1d62a: 0x6c0a5820, 0x1d62b: 0x6c3cf620,\n\t0x1d62c: 0x6c246a20, 0x1d62d: 0x6c844620, 0x1d62e: 0x6cdd4220, 0x1d62f: 0x6d0ddc20,\n\t0x1d630: 0x6cf81820, 0x1d631: 0x6d403820, 0x1d632: 0x6c826420, 0x1d633: 0x6c739820,\n\t0x1d634: 0x6cba8220, 0x1d635: 0x6c980820, 0x1d636: 0x6d34a420, 0x1d637: 0x6c93bc20,\n\t0x1d638: 0x6ca2b220, 0x1d639: 0x6cb1a020, 0x1d63a: 0x6c885220, 0x1d63b: 0x6c9c8020,\n\t0x1d63c: 0x6d08bc20, 0x1d63d: 0x6d400a20, 0x1d63e: 0x6c5f5820, 0x1d63f: 0x6ccd1220,\n\t// Block 0x759, offset 0x1d640\n\t0x1d640: 0x6cdc8e20, 0x1d641: 0x6c38ca20, 0x1d642: 0x6c940620, 0x1d643: 0x6c083020,\n\t0x1d644: 0x6d141e20, 0x1d645: 0x6ccac220, 0x1d646: 0x6ca1ec20, 0x1d647: 0x6d114c20,\n\t0x1d648: 0x6cbb4a20, 0x1d649: 0x6c5d0220, 0x1d64a: 0x6cfd5a20, 0x1d64b: 0x6c629a20,\n\t0x1d64c: 0x6ccc8620, 0x1d64d: 0x6d055220, 0x1d64e: 0x6cc49420, 0x1d64f: 0x6d08be20,\n\t0x1d650: 0x6cdca020, 0x1d651: 0x6cbbc020, 0x1d652: 0x6d2b9e20, 0x1d653: 0x6d427020,\n\t0x1d654: 0x6d341e20, 0x1d655: 0x6ccdca20, 0x1d656: 0x6cca3420, 0x1d657: 0x6c8bf020,\n\t0x1d658: 0x6d243820, 0x1d659: 0x6c386220, 0x1d65a: 0x6c8a3820, 0x1d65b: 0x6c21e020,\n\t0x1d65c: 0x6d41f820, 0x1d65d: 0x6c66f220, 0x1d65e: 0x6cc54a20, 0x1d65f: 0x6c15f020,\n\t0x1d660: 0x6cc8b620, 0x1d661: 0x6d055620, 0x1d662: 0x6c5c6e20, 0x1d663: 0x6c57ca20,\n\t0x1d664: 0x6d414a20, 0x1d665: 0x6cf70a20, 0x1d666: 0x6cbb4e20, 0x1d667: 0x6d287c20,\n\t0x1d668: 0x6c270220, 0x1d669: 0x6cd12620, 0x1d66a: 0x6c5c7e20, 0x1d66b: 0x6cf91620,\n\t0x1d66c: 0x6ccb8020, 0x1d66d: 0x6c660020, 0x1d66e: 0x6c679220, 0x1d66f: 0x6c58b820,\n\t0x1d670: 0x6d2a5e20, 0x1d671: 0x6c236e20, 0x1d672: 0x6d026020, 0x1d673: 0x6c695a20,\n\t0x1d674: 0x6c0aa820, 0x1d675: 0x6c28de20, 0x1d676: 0x6d191020, 0x1d677: 0x6ca9ec20,\n\t0x1d678: 0x6cdca220, 0x1d679: 0x6d191220, 0x1d67a: 0x6ccc9a20, 0x1d67b: 0x6d060420,\n\t0x1d67c: 0x6c62cc20, 0x1d67d: 0x6c0d6c20, 0x1d67e: 0x6cba3020, 0x1d67f: 0x6c7fee20,\n\t// Block 0x75a, offset 0x1d680\n\t0x1d680: 0x6cb47020, 0x1d681: 0x6d09c620, 0x1d682: 0x6d415420, 0x1d683: 0x6cb69620,\n\t0x1d684: 0x6caee820, 0x1d685: 0x6d124620, 0x1d686: 0x6ca19a20, 0x1d687: 0x6c835c20,\n\t0x1d688: 0x6d012820, 0x1d689: 0x6d415620, 0x1d68a: 0x6c7c1a20, 0x1d68b: 0x6d1ed220,\n\t0x1d68c: 0x6d076220, 0x1d68d: 0x6c828420, 0x1d68e: 0x6cfb0420, 0x1d68f: 0x6c156220,\n\t0x1d690: 0x6c69f220, 0x1d691: 0x6c919620, 0x1d692: 0x6c156a20, 0x1d693: 0x6d1c4020,\n\t0x1d694: 0x6c111820, 0x1d695: 0x6cc51620, 0x1d696: 0x6cfb1620, 0x1d697: 0x6d418620,\n\t0x1d698: 0x6d415c20, 0x1d699: 0x6c965220, 0x1d69a: 0x6c84e020, 0x1d69b: 0x6c2a5220,\n\t0x1d69c: 0x6c806a20, 0x1d69d: 0x6c82ac20, 0x1d69e: 0x6c894020, 0x1d69f: 0x6cd7b620,\n\t0x1d6a0: 0x6c6f4620, 0x1d6a1: 0x6d207420, 0x1d6a2: 0x6c52ee20, 0x1d6a3: 0x6d38f420,\n\t0x1d6a4: 0x6cfa7420, 0x1d6a5: 0x6c436a20, 0x1d6a6: 0x6d264820, 0x1d6a7: 0x6c5fce20,\n\t0x1d6a8: 0x6cecbc20, 0x1d6a9: 0x6c7bda20, 0x1d6aa: 0x6c617a20, 0x1d6ab: 0x6cc5b820,\n\t0x1d6ac: 0x6cef8820, 0x1d6ad: 0x6d278220, 0x1d6ae: 0x6c52fc20, 0x1d6af: 0x6c213420,\n\t0x1d6b0: 0x6caf2c20, 0x1d6b1: 0x6ccbca20, 0x1d6b2: 0x6c425820, 0x1d6b3: 0x6ca30820,\n\t0x1d6b4: 0x6cc5c620, 0x1d6b5: 0x6d401620, 0x1d6b6: 0x6c94dc20, 0x1d6b7: 0x6c3b1220,\n\t0x1d6b8: 0x6d34ec20, 0x1d6b9: 0x6cf17e20, 0x1d6ba: 0x6c39c220, 0x1d6bb: 0x6d3aa420,\n\t0x1d6bc: 0x6d321420, 0x1d6bd: 0x6ca97c20, 0x1d6be: 0x6cd4a020, 0x1d6bf: 0x6cfc8220,\n\t// Block 0x75b, offset 0x1d6c0\n\t0x1d6c0: 0x6c421220, 0x1d6c1: 0x6d016620, 0x1d6c2: 0x6c3dfa20, 0x1d6c3: 0x6c88e420,\n\t0x1d6c4: 0x6d410c20, 0x1d6c5: 0x6ccfb220, 0x1d6c6: 0x6cf84e20, 0x1d6c7: 0x6d33a020,\n\t0x1d6c8: 0x6d37a020, 0x1d6c9: 0x6d390420, 0x1d6ca: 0x6c04ec20, 0x1d6cb: 0x6c3dfc20,\n\t0x1d6cc: 0x6c1f1420, 0x1d6cd: 0x6ccec820, 0x1d6ce: 0x6d16ce20, 0x1d6cf: 0x6c6d9220,\n\t0x1d6d0: 0x6c273820, 0x1d6d1: 0x6c054a20, 0x1d6d2: 0x6cc65a20, 0x1d6d3: 0x6c6a9820,\n\t0x1d6d4: 0x6c7a8620, 0x1d6d5: 0x6cc54620, 0x1d6d6: 0x6c2e7620, 0x1d6d7: 0x6c4f6420,\n\t0x1d6d8: 0x6c5b9e20, 0x1d6d9: 0x6c449220, 0x1d6da: 0x6d087c20, 0x1d6db: 0x6c67dc20,\n\t0x1d6dc: 0x6c95ea20, 0x1d6dd: 0x6c740420, 0x1d6de: 0x6c68d620, 0x1d6df: 0x6ce7ae20,\n\t0x1d6e0: 0x6c450020, 0x1d6e1: 0x6cfea820, 0x1d6e2: 0x6c735020, 0x1d6e3: 0x6d053620,\n\t0x1d6e4: 0x6cf87220, 0x1d6e5: 0x6cdbf020, 0x1d6e6: 0x6ce1c020, 0x1d6e7: 0x6c61d220,\n\t0x1d6e8: 0x6ce31820, 0x1d6e9: 0x6c5eb820, 0x1d6ea: 0x6d06be20, 0x1d6eb: 0x6c8cf220,\n\t0x1d6ec: 0x6d1bb220, 0x1d6ed: 0x6d06c020, 0x1d6ee: 0x6cb6f620, 0x1d6ef: 0x6c39fc20,\n\t0x1d6f0: 0x6c21b820, 0x1d6f1: 0x6cce5220, 0x1d6f2: 0x6c4bc220, 0x1d6f3: 0x6cd11e20,\n\t0x1d6f4: 0x6cef0420, 0x1d6f5: 0x6c9dc020, 0x1d6f6: 0x6cd46820, 0x1d6f7: 0x6c081a20,\n\t0x1d6f8: 0x6c1da820, 0x1d6f9: 0x6ce22220, 0x1d6fa: 0x6c8f0620, 0x1d6fb: 0x6cc35a20,\n\t0x1d6fc: 0x6d3f7820, 0x1d6fd: 0x6d2e5c20, 0x1d6fe: 0x6ced0c20, 0x1d6ff: 0x6c93d820,\n\t// Block 0x75c, offset 0x1d700\n\t0x1d700: 0x6d3cc420, 0x1d701: 0x6d3e2820, 0x1d702: 0x6c78b420, 0x1d703: 0x6cfd7820,\n\t0x1d704: 0x6c64a420, 0x1d705: 0x6c9e2820, 0x1d706: 0x6c802a20, 0x1d707: 0x6ce33020,\n\t0x1d708: 0x6c9e9420, 0x1d709: 0x6c5eda20, 0x1d70a: 0x6d275020, 0x1d70b: 0x6c5bca20,\n\t0x1d70c: 0x6cd7ec20, 0x1d70d: 0x6c348620, 0x1d70e: 0x6c32c420, 0x1d70f: 0x6c0ba020,\n\t0x1d710: 0x6cfcc820, 0x1d711: 0x6c464a20, 0x1d712: 0x6d3c8a20, 0x1d713: 0x6c58d820,\n\t0x1d714: 0x6c2c5e20, 0x1d715: 0x6c93a020, 0x1d716: 0x6c0af620, 0x1d717: 0x6c9f5820,\n\t0x1d718: 0x6d256820, 0x1d719: 0x6c6d1c20, 0x1d71a: 0x6c401020, 0x1d71b: 0x6cc81e20,\n\t0x1d71c: 0x6d31ea20, 0x1d71d: 0x6c3ce620, 0x1d71e: 0x6c24ce20, 0x1d71f: 0x6c430c20,\n\t0x1d720: 0x6c150420, 0x1d721: 0x6c83f020, 0x1d722: 0x6d17fc20, 0x1d723: 0x6c64be20,\n\t0x1d724: 0x6c0d4020, 0x1d725: 0x6cb15a20, 0x1d726: 0x6c97f020, 0x1d727: 0x6c824820,\n\t0x1d728: 0x6d1bda20, 0x1d729: 0x6cdd2e20, 0x1d72a: 0x6ca1d820, 0x1d72b: 0x6ccaba20,\n\t0x1d72c: 0x6d00e020, 0x1d72d: 0x6c8a1420, 0x1d72e: 0x6ccda220, 0x1d72f: 0x6d2b8c20,\n\t0x1d730: 0x6c677a20, 0x1d731: 0x6cba2420, 0x1d732: 0x6cbbb220, 0x1d733: 0x6c589a20,\n\t0x1d734: 0x6c694620, 0x1d735: 0x6d415020, 0x1d736: 0x6c3d1a20, 0x1d737: 0x6d016820,\n\t0x1d738: 0x6c426820, 0x1d739: 0x6c3d2420, 0x1d73a: 0x6cc38a20, 0x1d73b: 0x6c3d2620,\n\t0x1d73c: 0x6cb81020, 0x1d73d: 0x6c0e6e20, 0x1d73e: 0x6cb2ac20, 0x1d73f: 0x6cfe3420,\n\t// Block 0x75d, offset 0x1d740\n\t0x1d740: 0x6d2ff620, 0x1d741: 0x6c428e20, 0x1d742: 0x6d1bdc20, 0x1d743: 0x6d1bea20,\n\t0x1d744: 0x6cbee020, 0x1d745: 0x6cfa4c20, 0x1d746: 0x6c49aa20, 0x1d747: 0x6d41fa20,\n\t0x1d748: 0x6ce02a20, 0x1d749: 0x6c126020, 0x1d74a: 0x6cb7fe20, 0x1d74b: 0x6cf27620,\n\t0x1d74c: 0x6d1c2220, 0x1d74d: 0x6c828620, 0x1d74e: 0x6ce04820, 0x1d74f: 0x6c919820,\n\t0x1d750: 0x6c49c420, 0x1d751: 0x6cedf420, 0x1d752: 0x6cedf020, 0x1d753: 0x6c424e20,\n\t0x1d754: 0x6cedfe20, 0x1d755: 0x6c4e5020, 0x1d756: 0x6c953820, 0x1d757: 0x6c952c20,\n\t0x1d758: 0x6c3e2220, 0x1d759: 0x6c9c3a20, 0x1d75a: 0x6c380620, 0x1d75b: 0x6c470020,\n\t0x1d75c: 0x6d3a6020, 0x1d75d: 0x6c707220, 0x1d75e: 0x6c98d420, 0x1d75f: 0x6c477420,\n\t0x1d760: 0x6c9f4220, 0x1d761: 0x6c427220, 0x1d762: 0x6c03f420, 0x1d763: 0x6c48b220,\n\t0x1d764: 0x6ce33220, 0x1d765: 0x6c736a20, 0x1d766: 0x6c3e8820, 0x1d767: 0x6cd0b420,\n\t0x1d768: 0x6d0da820, 0x1d769: 0x6d2fc220, 0x1d76a: 0x6d41b820, 0x1d76b: 0x6c48b820,\n\t0x1d76c: 0x6d3d7220, 0x1d76d: 0x6d237620, 0x1d76e: 0x6d366620, 0x1d76f: 0x6c018e20,\n\t0x1d770: 0x6c382020, 0x1d771: 0x6c803420, 0x1d772: 0x6cd56220, 0x1d773: 0x6cd80620,\n\t0x1d774: 0x6cb00820, 0x1d775: 0x6c96da20, 0x1d776: 0x6c8f1620, 0x1d777: 0x6c03f820,\n\t0x1d778: 0x6c382420, 0x1d779: 0x6c844a20, 0x1d77a: 0x6c177e20, 0x1d77b: 0x6cf0d020,\n\t0x1d77c: 0x6c0a3420, 0x1d77d: 0x6c629c20, 0x1d77e: 0x6d2b9c20, 0x1d77f: 0x6c1ce620,\n\t// Block 0x75e, offset 0x1d780\n\t0x1d780: 0x6c8f2220, 0x1d781: 0x6c5f5a20, 0x1d782: 0x6c739e20, 0x1d783: 0x6c9da220,\n\t0x1d784: 0x6d2fec20, 0x1d785: 0x6c956220, 0x1d786: 0x6cb03220, 0x1d787: 0x6c5f9e20,\n\t0x1d788: 0x6c5fb020, 0x1d789: 0x6c946820, 0x1d78a: 0x6d0f7620, 0x1d78b: 0x6c9cde20,\n\t0x1d78c: 0x6cba9e20, 0x1d78d: 0x6c268820, 0x1d78e: 0x6c9a4e20, 0x1d78f: 0x6d0f9a20,\n\t0x1d790: 0x6d1fbc20, 0x1d791: 0x6d1fb420, 0x1d792: 0x6c3b6620, 0x1d793: 0x6c033e20,\n\t0x1d794: 0x6c42b820, 0x1d795: 0x6d104a20, 0x1d796: 0x6c477620, 0x1d797: 0x6cbaaa20,\n\t0x1d798: 0x6d29d620, 0x1d799: 0x6c42ba20, 0x1d79a: 0x6c8cf620, 0x1d79b: 0x6d176e20,\n\t0x1d79c: 0x6d3aee20, 0x1d79d: 0x6c2b2820, 0x1d79e: 0x6d04c820, 0x1d79f: 0x6cbb3c20,\n\t0x1d7a0: 0x6d14fa20, 0x1d7a1: 0x6cfcca20, 0x1d7a2: 0x6cc67c20, 0x1d7a3: 0x6cc44a20,\n\t0x1d7a4: 0x6cc44c20, 0x1d7a5: 0x6cbb4420, 0x1d7a6: 0x6c588220, 0x1d7a7: 0x6cdd2620,\n\t0x1d7a8: 0x6cfcdc20, 0x1d7a9: 0x6d17fe20, 0x1d7aa: 0x6d107a20, 0x1d7ab: 0x6cbad220,\n\t0x1d7ac: 0x6cb9c220, 0x1d7ad: 0x6d218820, 0x1d7ae: 0x6c44dc20, 0x1d7af: 0x6c6b2220,\n\t0x1d7b0: 0x6ce0cc20, 0x1d7b1: 0x6d25ac20, 0x1d7b2: 0x6cf6d420, 0x1d7b3: 0x6c38d820,\n\t0x1d7b4: 0x6ccd1a20, 0x1d7b5: 0x6c3ba220, 0x1d7b6: 0x6ccd1e20, 0x1d7b7: 0x6c88d820,\n\t0x1d7b8: 0x6c827420, 0x1d7b9: 0x6c44e420, 0x1d7ba: 0x6caa0820, 0x1d7bb: 0x6cbb5e20,\n\t0x1d7bc: 0x6c164620, 0x1d7bd: 0x6d221c20, 0x1d7be: 0x6c461020, 0x1d7bf: 0x6d170420,\n\t// Block 0x75f, offset 0x1d7c0\n\t0x1d7c0: 0x6c1cbe20, 0x1d7c1: 0x6cf22220, 0x1d7c2: 0x6c3b2420, 0x1d7c3: 0x6c533020,\n\t0x1d7c4: 0x6c1c0820, 0x1d7c5: 0x6c1c0a20, 0x1d7c6: 0x6c252a20, 0x1d7c7: 0x6c3e6020,\n\t0x1d7c8: 0x6cf9b220, 0x1d7c9: 0x6c079c20, 0x1d7ca: 0x6d177020, 0x1d7cb: 0x6c7e4220,\n\t0x1d7cc: 0x6d177220, 0x1d7cd: 0x6caf6220, 0x1d7ce: 0x6c8cf820, 0x1d7cf: 0x6c8f2e20,\n\t0x1d7d0: 0x6d360020, 0x1d7d1: 0x6cc18e20, 0x1d7d2: 0x6cf77a20, 0x1d7d3: 0x6d00ae20,\n\t0x1d7d4: 0x6cfdc620, 0x1d7d5: 0x6cf62420, 0x1d7d6: 0x6cf88e20, 0x1d7d7: 0x6c785020,\n\t0x1d7d8: 0x6cbc4620, 0x1d7d9: 0x6c5bcc20, 0x1d7da: 0x6c5aba20, 0x1d7db: 0x6cfecc20,\n\t0x1d7dc: 0x6ccc5e20, 0x1d7dd: 0x6c536620, 0x1d7de: 0x6c676c20, 0x1d7df: 0x6c2b7e20,\n\t0x1d7e0: 0x6c255220, 0x1d7e1: 0x6c3a6420, 0x1d7e2: 0x6c2a2620, 0x1d7e3: 0x6ccc6a20,\n\t0x1d7e4: 0x6c1c4a20, 0x1d7e5: 0x6d3b1620, 0x1d7e6: 0x6c65d220, 0x1d7e7: 0x6d07c420,\n\t0x1d7e8: 0x6c1c6220, 0x1d7e9: 0x6cb0fe20, 0x1d7ea: 0x6d3fb820, 0x1d7eb: 0x6cece620,\n\t0x1d7ec: 0x6c5aea20, 0x1d7ed: 0x6c542820, 0x1d7ee: 0x6c517420, 0x1d7ef: 0x6c51e820,\n\t0x1d7f0: 0x6c4f0a20, 0x1d7f1: 0x6c027220, 0x1d7f2: 0x6cb16820, 0x1d7f3: 0x6d18d020,\n\t0x1d7f4: 0x6c885420, 0x1d7f5: 0x6c543420, 0x1d7f6: 0x6c030820, 0x1d7f7: 0x6c8bf220,\n\t0x1d7f8: 0x6cae4820, 0x1d7f9: 0x6cbc6a20, 0x1d7fa: 0x6c027e20, 0x1d7fb: 0x6c386420,\n\t0x1d7fc: 0x6d18d220, 0x1d7fd: 0x6c5c8020, 0x1d7fe: 0x6d07e420, 0x1d7ff: 0x6c2a4a20,\n\t// Block 0x760, offset 0x1d800\n\t0x1d800: 0x6d124420, 0x1d801: 0x6c819a20, 0x1d802: 0x6c819820, 0x1d803: 0x6c779c20,\n\t0x1d804: 0x6c996620, 0x1d805: 0x6d30d220, 0x1d806: 0x6cb5a820, 0x1d807: 0x6c467a20,\n\t0x1d808: 0x6c468020, 0x1d809: 0x6c467c20, 0x1d80a: 0x6c2f3420, 0x1d80b: 0x6c2eb020,\n\t0x1d80c: 0x6c373020, 0x1d80d: 0x6cd64620, 0x1d80e: 0x6cc85620, 0x1d80f: 0x6ca3b220,\n\t0x1d810: 0x6ca3b420, 0x1d811: 0x6c329220, 0x1d812: 0x6c82b220, 0x1d813: 0x6ce63220,\n\t0x1d814: 0x6d3efc20, 0x1d815: 0x6c44c220, 0x1d816: 0x6c17b620, 0x1d817: 0x6c503220,\n\t0x1d818: 0x6d27a020, 0x1d819: 0x6c03b020, 0x1d81a: 0x6caf6420, 0x1d81b: 0x6d14ec20,\n\t0x1d81c: 0x6cd8bc20, 0x1d81d: 0x6cc26e20, 0x1d81e: 0x6c635220, 0x1d81f: 0x6c723220,\n\t0x1d820: 0x6c5d5620, 0x1d821: 0x6c1e8e20, 0x1d822: 0x6c81d420, 0x1d823: 0x6c951c20,\n\t0x1d824: 0x6c607020, 0x1d825: 0x6ce0c620, 0x1d826: 0x6cab8e20, 0x1d827: 0x6c90b420,\n\t0x1d828: 0x6caa2820, 0x1d829: 0x6c67be20, 0x1d82a: 0x6cad1e20, 0x1d82b: 0x6d2c5620,\n\t0x1d82c: 0x6c90be20, 0x1d82d: 0x6c5f7020, 0x1d82e: 0x6c81e420, 0x1d82f: 0x6c5e2e20,\n\t0x1d830: 0x6d1ed420, 0x1d831: 0x6ca1a020, 0x1d832: 0x6c580420, 0x1d833: 0x6c378420,\n\t0x1d834: 0x6d169620, 0x1d835: 0x6c2f5420, 0x1d836: 0x6d127420, 0x1d837: 0x6c264420,\n\t0x1d838: 0x6cd95820, 0x1d839: 0x6cbd6820, 0x1d83a: 0x6d27a220, 0x1d83b: 0x6c1b9420,\n\t0x1d83c: 0x6c27ca20, 0x1d83d: 0x6c27cc20, 0x1d83e: 0x6c533420, 0x1d83f: 0x6c450220,\n\t// Block 0x761, offset 0x1d840\n\t0x1d840: 0x6d344820, 0x1d841: 0x6cacb220, 0x1d842: 0x6ca80c20, 0x1d843: 0x6c27d420,\n\t0x1d844: 0x6d31d620, 0x1d845: 0x6c181a20, 0x1d846: 0x6c8cfa20, 0x1d847: 0x6d32ba20,\n\t0x1d848: 0x6d1fc220, 0x1d849: 0x6cec3020, 0x1d84a: 0x6c89e420, 0x1d84b: 0x6c8f8c20,\n\t0x1d84c: 0x6d345c20, 0x1d84d: 0x6ca90220, 0x1d84e: 0x6ce55e20, 0x1d84f: 0x6c375c20,\n\t0x1d850: 0x6d0bb420, 0x1d851: 0x6ce5f020, 0x1d852: 0x6c485e20, 0x1d853: 0x6d077220,\n\t0x1d854: 0x6c880420, 0x1d855: 0x6c504620, 0x1d856: 0x6cd16e20, 0x1d857: 0x6c8b1a20,\n\t0x1d858: 0x6cb24420, 0x1d859: 0x6c6dce20, 0x1d85a: 0x6c726c20, 0x1d85b: 0x6c08ee20,\n\t0x1d85c: 0x6c2bfe20, 0x1d85d: 0x6c4c7c20, 0x1d85e: 0x6cf1a220, 0x1d85f: 0x6d071a20,\n\t0x1d860: 0x6cb25820, 0x1d861: 0x6c232e20, 0x1d862: 0x6c2fc820, 0x1d863: 0x6ca5f820,\n\t0x1d864: 0x6ce68c20, 0x1d865: 0x6c71d020, 0x1d866: 0x6c234820, 0x1d867: 0x6c7c4220,\n\t0x1d868: 0x6c894420, 0x1d869: 0x6c7d1220, 0x1d86a: 0x6c234a20, 0x1d86b: 0x6c884020,\n\t0x1d86c: 0x6cf26020, 0x1d86d: 0x6c7d1420, 0x1d86e: 0x6c885820, 0x1d86f: 0x6c886820,\n\t0x1d870: 0x6c236620, 0x1d871: 0x6c027420, 0x1d872: 0x6cd11820, 0x1d873: 0x6cd96e20,\n\t0x1d874: 0x6ce64c20, 0x1d875: 0x6c7d2a20, 0x1d876: 0x6ca88820, 0x1d877: 0x6d34aa20,\n\t0x1d878: 0x6c281020, 0x1d879: 0x6ca93420, 0x1d87a: 0x6cbc8a20, 0x1d87b: 0x6ca65e20,\n\t0x1d87c: 0x6ce65220, 0x1d87d: 0x6ce65620, 0x1d87e: 0x6c8ff820, 0x1d87f: 0x6d22c620,\n\t// Block 0x762, offset 0x1d880\n\t0x1d880: 0x6d22b620, 0x1d881: 0x6d2fac20, 0x1d882: 0x6cd8ac20, 0x1d883: 0x6cda8220,\n\t0x1d884: 0x6d180020, 0x1d885: 0x6cdad820, 0x1d886: 0x6cd8ca20, 0x1d887: 0x6d2fcc20,\n\t0x1d888: 0x6d2fce20, 0x1d889: 0x6cc78220, 0x1d88a: 0x6d164c20, 0x1d88b: 0x6c81fe20,\n\t0x1d88c: 0x6c5e8020, 0x1d88d: 0x6cbffe20, 0x1d88e: 0x6c78f220, 0x1d88f: 0x6c12b620,\n\t0x1d890: 0x6c437020, 0x1d891: 0x6c0eb020, 0x1d892: 0x6c58f020, 0x1d893: 0x6c597a20,\n\t0x1d894: 0x6d15c220, 0x1d895: 0x6cc5c820, 0x1d896: 0x6cffd220, 0x1d897: 0x6cc7f620,\n\t0x1d898: 0x6d38d820, 0x1d899: 0x6d25fc20, 0x1d89a: 0x6c323820, 0x1d89b: 0x6c425a20,\n\t0x1d89c: 0x6cc65420, 0x1d89d: 0x6c416e20, 0x1d89e: 0x6c138020, 0x1d89f: 0x6cf2d220,\n\t0x1d8a0: 0x6c169820, 0x1d8a1: 0x6c476020, 0x1d8a2: 0x6d33a220, 0x1d8a3: 0x6c4dd620,\n\t0x1d8a4: 0x6c3d4420, 0x1d8a5: 0x6c3a3220, 0x1d8a6: 0x6c3b6420, 0x1d8a7: 0x6cadb220,\n\t0x1d8a8: 0x6cad2820, 0x1d8a9: 0x6c647020, 0x1d8aa: 0x6c39a820, 0x1d8ab: 0x6d3ccc20,\n\t0x1d8ac: 0x6d1f0220, 0x1d8ad: 0x6ca31420, 0x1d8ae: 0x6c01e820, 0x1d8af: 0x6c78f620,\n\t0x1d8b0: 0x6cc46420, 0x1d8b1: 0x6c456820, 0x1d8b2: 0x6d22da20, 0x1d8b3: 0x6cf1d020,\n\t0x1d8b4: 0x6d10d020, 0x1d8b5: 0x6cb58c20, 0x1d8b6: 0x6cafc020, 0x1d8b7: 0x6cb9f620,\n\t0x1d8b8: 0x6cf59220, 0x1d8b9: 0x6cf59420, 0x1d8ba: 0x6c3a8c20, 0x1d8bb: 0x6c78f820,\n\t0x1d8bc: 0x6c6e1220, 0x1d8bd: 0x6cdf6420, 0x1d8be: 0x6cd09020, 0x1d8bf: 0x6d37e620,\n\t// Block 0x763, offset 0x1d8c0\n\t0x1d8c0: 0x6d2f2820, 0x1d8c1: 0x6d007220, 0x1d8c2: 0x6cd09620, 0x1d8c3: 0x6cf07e20,\n\t0x1d8c4: 0x6d391220, 0x1d8c5: 0x6c2e7820, 0x1d8c6: 0x6c282c20, 0x1d8c7: 0x6c3a9020,\n\t0x1d8c8: 0x6c037220, 0x1d8c9: 0x6c0ec820, 0x1d8ca: 0x6cc17c20, 0x1d8cb: 0x6ce49420,\n\t0x1d8cc: 0x6c06f220, 0x1d8cd: 0x6c484a20, 0x1d8ce: 0x6cdf0420, 0x1d8cf: 0x6d3ef220,\n\t0x1d8d0: 0x6c7a3220, 0x1d8d1: 0x6d33b420, 0x1d8d2: 0x6ca68820, 0x1d8d3: 0x6cb28a20,\n\t0x1d8d4: 0x6d3f5420, 0x1d8d5: 0x6c3f4c20, 0x1d8d6: 0x6cad2a20, 0x1d8d7: 0x6d313020,\n\t0x1d8d8: 0x6cfb3820, 0x1d8d9: 0x6d428820, 0x1d8da: 0x6cadb820, 0x1d8db: 0x6c640820,\n\t0x1d8dc: 0x6cd15620, 0x1d8dd: 0x6d33b620, 0x1d8de: 0x6c05ac20, 0x1d8df: 0x6ca23620,\n\t0x1d8e0: 0x6cc0ee20, 0x1d8e1: 0x6c552e20, 0x1d8e2: 0x6c77ea20, 0x1d8e3: 0x6c1b8620,\n\t0x1d8e4: 0x6d1b4020, 0x1d8e5: 0x6d057a20, 0x1d8e6: 0x6d0f5220, 0x1d8e7: 0x6c8f7a20,\n\t0x1d8e8: 0x6c306620, 0x1d8e9: 0x6c761c20, 0x1d8ea: 0x6c914620, 0x1d8eb: 0x6c6e5c20,\n\t0x1d8ec: 0x6caa5820, 0x1d8ed: 0x6d0bea20, 0x1d8ee: 0x6cacd020, 0x1d8ef: 0x6c7ae820,\n\t0x1d8f0: 0x6d14d620, 0x1d8f1: 0x6c49e820, 0x1d8f2: 0x6c4d3e20, 0x1d8f3: 0x6c438220,\n\t0x1d8f4: 0x6c307020, 0x1d8f5: 0x6c1aa220, 0x1d8f6: 0x6c683e20, 0x1d8f7: 0x6d046420,\n\t0x1d8f8: 0x6d046620, 0x1d8f9: 0x6c374c20, 0x1d8fa: 0x6c01b020, 0x1d8fb: 0x6c526020,\n\t0x1d8fc: 0x6cb10a20, 0x1d8fd: 0x6ca5a420, 0x1d8fe: 0x6d3f5620, 0x1d8ff: 0x6c4a4c20,\n\t// Block 0x764, offset 0x1d900\n\t0x1d900: 0x6c19e220, 0x1d901: 0x6ce5c020, 0x1d902: 0x6d33ce20, 0x1d903: 0x6c252c20,\n\t0x1d904: 0x6c99e620, 0x1d905: 0x6d009220, 0x1d906: 0x6c252e20, 0x1d907: 0x6d009420,\n\t0x1d908: 0x6c972e20, 0x1d909: 0x6c972a20, 0x1d90a: 0x6c600420, 0x1d90b: 0x6d029e20,\n\t0x1d90c: 0x6ca8f020, 0x1d90d: 0x6c7b2020, 0x1d90e: 0x6cc97220, 0x1d90f: 0x6d2a0420,\n\t0x1d910: 0x6cb5aa20, 0x1d911: 0x6ca4e820, 0x1d912: 0x6c9cec20, 0x1d913: 0x6ca9b820,\n\t0x1d914: 0x6c943a20, 0x1d915: 0x6ced7c20, 0x1d916: 0x6c0ef420, 0x1d917: 0x6cf1d820,\n\t0x1d918: 0x6ced0e20, 0x1d919: 0x6d04d020, 0x1d91a: 0x6c68ea20, 0x1d91b: 0x6c6e7a20,\n\t0x1d91c: 0x6d1fc420, 0x1d91d: 0x6c524e20, 0x1d91e: 0x6c260820, 0x1d91f: 0x6c8b0820,\n\t0x1d920: 0x6cccdc20, 0x1d921: 0x6ce6c420, 0x1d922: 0x6c99f020, 0x1d923: 0x6c214420,\n\t0x1d924: 0x6cd0a220, 0x1d925: 0x6cba0420, 0x1d926: 0x6c2a9220, 0x1d927: 0x6c72ee20,\n\t0x1d928: 0x6c243820, 0x1d929: 0x6d04cc20, 0x1d92a: 0x6d032e20, 0x1d92b: 0x6ceac220,\n\t0x1d92c: 0x6cad3820, 0x1d92d: 0x6c19f220, 0x1d92e: 0x6ca56c20, 0x1d92f: 0x6cb43620,\n\t0x1d930: 0x6c311420, 0x1d931: 0x6ceac420, 0x1d932: 0x6ca7d620, 0x1d933: 0x6ca53e20,\n\t0x1d934: 0x6cb05a20, 0x1d935: 0x6c478220, 0x1d936: 0x6c954020, 0x1d937: 0x6c85fc20,\n\t0x1d938: 0x6c88b820, 0x1d939: 0x6d2f3020, 0x1d93a: 0x6c254020, 0x1d93b: 0x6c6a1c20,\n\t0x1d93c: 0x6c899420, 0x1d93d: 0x6cd6fc20, 0x1d93e: 0x6caff420, 0x1d93f: 0x6c0bfe20,\n\t// Block 0x765, offset 0x1d940\n\t0x1d940: 0x6c94fc20, 0x1d941: 0x6cb11020, 0x1d942: 0x6c82c420, 0x1d943: 0x6c7cfe20,\n\t0x1d944: 0x6c20d620, 0x1d945: 0x6c288c20, 0x1d946: 0x6ce4fa20, 0x1d947: 0x6ca57020,\n\t0x1d948: 0x6c6dbc20, 0x1d949: 0x6ca37a20, 0x1d94a: 0x6c7e7820, 0x1d94b: 0x6d12f420,\n\t0x1d94c: 0x6d0c0e20, 0x1d94d: 0x6cc5f420, 0x1d94e: 0x6cd0a420, 0x1d94f: 0x6c21c220,\n\t0x1d950: 0x6c3f7820, 0x1d951: 0x6c3f6a20, 0x1d952: 0x6c709620, 0x1d953: 0x6c3a3620,\n\t0x1d954: 0x6cbabc20, 0x1d955: 0x6ced8820, 0x1d956: 0x6c307c20, 0x1d957: 0x6caff620,\n\t0x1d958: 0x6c4c6e20, 0x1d959: 0x6d3f9220, 0x1d95a: 0x6c2fa820, 0x1d95b: 0x6cf2fe20,\n\t0x1d95c: 0x6c9a6020, 0x1d95d: 0x6ca5f420, 0x1d95e: 0x6d3bd020, 0x1d95f: 0x6c1c3420,\n\t0x1d960: 0x6c23f020, 0x1d961: 0x6c954820, 0x1d962: 0x6cab8020, 0x1d963: 0x6c2c6e20,\n\t0x1d964: 0x6c013c20, 0x1d965: 0x6d038220, 0x1d966: 0x6ca50420, 0x1d967: 0x6cd5ea20,\n\t0x1d968: 0x6cd69220, 0x1d969: 0x6ca42e20, 0x1d96a: 0x6d283c20, 0x1d96b: 0x6d380020,\n\t0x1d96c: 0x6cc78620, 0x1d96d: 0x6c366020, 0x1d96e: 0x6cc9ca20, 0x1d96f: 0x6ce8c820,\n\t0x1d970: 0x6d10ae20, 0x1d971: 0x6c669220, 0x1d972: 0x6cefe620, 0x1d973: 0x6c690e20,\n\t0x1d974: 0x6d213220, 0x1d975: 0x6c637220, 0x1d976: 0x6c32d020, 0x1d977: 0x6c09d820,\n\t0x1d978: 0x6c16b220, 0x1d979: 0x6c401220, 0x1d97a: 0x6cfcde20, 0x1d97b: 0x6ca6b020,\n\t0x1d97c: 0x6c9e2e20, 0x1d97d: 0x6cec3820, 0x1d97e: 0x6ce2a220, 0x1d97f: 0x6ce9e620,\n\t// Block 0x766, offset 0x1d980\n\t0x1d980: 0x6c055620, 0x1d981: 0x6cba1820, 0x1d982: 0x6c93a820, 0x1d983: 0x6cec3a20,\n\t0x1d984: 0x6cda3e20, 0x1d985: 0x6ce11c20, 0x1d986: 0x6cdaee20, 0x1d987: 0x6d3c9820,\n\t0x1d988: 0x6c441420, 0x1d989: 0x6d183220, 0x1d98a: 0x6c100a20, 0x1d98b: 0x6c89fa20,\n\t0x1d98c: 0x6c607220, 0x1d98d: 0x6cb00a20, 0x1d98e: 0x6d00d020, 0x1d98f: 0x6c42d020,\n\t0x1d990: 0x6c93b420, 0x1d991: 0x6c0d8420, 0x1d992: 0x6cab6c20, 0x1d993: 0x6c16c220,\n\t0x1d994: 0x6c92ae20, 0x1d995: 0x6c4c8220, 0x1d996: 0x6cace020, 0x1d997: 0x6c1fbc20,\n\t0x1d998: 0x6c0c1a20, 0x1d999: 0x6c67c020, 0x1d99a: 0x6c3d9220, 0x1d99b: 0x6ce12c20,\n\t0x1d99c: 0x6ca06e20, 0x1d99d: 0x6cf6ac20, 0x1d99e: 0x6d3b8e20, 0x1d99f: 0x6c93f820,\n\t0x1d9a0: 0x6c686e20, 0x1d9a1: 0x6d1d4420, 0x1d9a2: 0x6c936220, 0x1d9a3: 0x6d36be20,\n\t0x1d9a4: 0x6d098620, 0x1d9a5: 0x6c211e20, 0x1d9a6: 0x6c8c6620, 0x1d9a7: 0x6ce78e20,\n\t0x1d9a8: 0x6caec820, 0x1d9a9: 0x6ca6cc20, 0x1d9aa: 0x6c1fcc20, 0x1d9ab: 0x6c8a1e20,\n\t0x1d9ac: 0x6c256620, 0x1d9ad: 0x6c4a8e20, 0x1d9ae: 0x6cff1620, 0x1d9af: 0x6ce29020,\n\t0x1d9b0: 0x6c38c220, 0x1d9b1: 0x6d349a20, 0x1d9b2: 0x6c688020, 0x1d9b3: 0x6ccdb420,\n\t0x1d9b4: 0x6c550420, 0x1d9b5: 0x6c255c20, 0x1d9b6: 0x6cc90a20, 0x1d9b7: 0x6cfd8a20,\n\t0x1d9b8: 0x6cdc1020, 0x1d9b9: 0x6c3bf020, 0x1d9ba: 0x6d1c0020, 0x1d9bb: 0x6ccd1620,\n\t0x1d9bc: 0x6d3b5c20, 0x1d9bd: 0x6c284c20, 0x1d9be: 0x6c7b4020, 0x1d9bf: 0x6ca9d220,\n\t// Block 0x767, offset 0x1d9c0\n\t0x1d9c0: 0x6cea7020, 0x1d9c1: 0x6c886a20, 0x1d9c2: 0x6c0a7620, 0x1d9c3: 0x6d1dc020,\n\t0x1d9c4: 0x6c74cc20, 0x1d9c5: 0x6c1f8020, 0x1d9c6: 0x6d18d420, 0x1d9c7: 0x6c732c20,\n\t0x1d9c8: 0x6c7e9820, 0x1d9c9: 0x6c88ce20, 0x1d9ca: 0x6ccac420, 0x1d9cb: 0x6cea7420,\n\t0x1d9cc: 0x6c47da20, 0x1d9cd: 0x6cb67820, 0x1d9ce: 0x6c257c20, 0x1d9cf: 0x6c0d8e20,\n\t0x1d9d0: 0x6d09bc20, 0x1d9d1: 0x6ca53a20, 0x1d9d2: 0x6cf32020, 0x1d9d3: 0x6d2a0e20,\n\t0x1d9d4: 0x6cfd3420, 0x1d9d5: 0x6c0c4420, 0x1d9d6: 0x6d044020, 0x1d9d7: 0x6c7b5c20,\n\t0x1d9d8: 0x6c7eaa20, 0x1d9d9: 0x6d0c4220, 0x1d9da: 0x6c918820, 0x1d9db: 0x6c5e4220,\n\t0x1d9dc: 0x6d28a020, 0x1d9dd: 0x6c95cc20, 0x1d9de: 0x6cc21020, 0x1d9df: 0x6d2a1020,\n\t0x1d9e0: 0x6c946c20, 0x1d9e1: 0x6ca61e20, 0x1d9e2: 0x6d28aa20, 0x1d9e3: 0x6c189420,\n\t0x1d9e4: 0x6cb8b620, 0x1d9e5: 0x6cf2da20, 0x1d9e6: 0x6c4a2420, 0x1d9e7: 0x6d29e220,\n\t0x1d9e8: 0x6c8bea20, 0x1d9e9: 0x6c4a0e20, 0x1d9ea: 0x6d3f2a20, 0x1d9eb: 0x6c68c420,\n\t0x1d9ec: 0x6ca80e20, 0x1d9ed: 0x6c1e4020, 0x1d9ee: 0x6c620c20, 0x1d9ef: 0x6c42c820,\n\t0x1d9f0: 0x6c1e4420, 0x1d9f1: 0x6c9dce20, 0x1d9f2: 0x6ca87420, 0x1d9f3: 0x6d357020,\n\t0x1d9f4: 0x6d35c620, 0x1d9f5: 0x6c43f220, 0x1d9f6: 0x6c669420, 0x1d9f7: 0x6c2eb220,\n\t0x1d9f8: 0x6d33e420, 0x1d9f9: 0x6d04d820, 0x1d9fa: 0x6cdf3220, 0x1d9fb: 0x6d319820,\n\t0x1d9fc: 0x6c6fd020, 0x1d9fd: 0x6cfc8420, 0x1d9fe: 0x6d20ca20, 0x1d9ff: 0x6c138620,\n\t// Block 0x768, offset 0x1da00\n\t0x1da00: 0x6d11a420, 0x1da01: 0x6d20e820, 0x1da02: 0x6c1cc220, 0x1da03: 0x6cf89020,\n\t0x1da04: 0x6cf89220, 0x1da05: 0x6c700620, 0x1da06: 0x6d217a20, 0x1da07: 0x6d227220,\n\t0x1da08: 0x6d043820, 0x1da09: 0x6c71d420, 0x1da0a: 0x6c702a20, 0x1da0b: 0x6d035820,\n\t0x1da0c: 0x6ccf0620, 0x1da0d: 0x6ccf2820, 0x1da0e: 0x6ccf9620, 0x1da0f: 0x6c6fb220,\n\t0x1da10: 0x6cd36020, 0x1da11: 0x6cdfa420, 0x1da12: 0x6cd4e220, 0x1da13: 0x6cd3b620,\n\t0x1da14: 0x6ce50820, 0x1da15: 0x6ce0a420, 0x1da16: 0x6cb4b020, 0x1da17: 0x6cb4b220,\n\t0x1da18: 0x6c496420, 0x1da19: 0x6c57cc20, 0x1da1a: 0x6ce54020, 0x1da1b: 0x6c201620,\n\t0x1da1c: 0x6cd75220, 0x1da1d: 0x6cf9d820, 0x1da1e: 0x6cf45e20, 0x1da1f: 0x6d385220,\n\t0x1da20: 0x6c29be20, 0x1da21: 0x6c1ff420, 0x1da22: 0x6cccd620, 0x1da23: 0x6d15d420,\n\t0x1da24: 0x6c397c20, 0x1da25: 0x6cabc020, 0x1da26: 0x6cdf6a20, 0x1da27: 0x6c389420,\n\t0x1da28: 0x6c04c820, 0x1da29: 0x6c1ff620, 0x1da2a: 0x6c4f6c20, 0x1da2b: 0x6c39d420,\n\t0x1da2c: 0x6c047a20, 0x1da2d: 0x6c08d420, 0x1da2e: 0x6c934820, 0x1da2f: 0x6d37b020,\n\t0x1da30: 0x6c667220, 0x1da31: 0x6c122a20, 0x1da32: 0x6c8cfc20, 0x1da33: 0x6d3a1020,\n\t0x1da34: 0x6d2ac620, 0x1da35: 0x6c34f220, 0x1da36: 0x6c0ef620, 0x1da37: 0x6cfb5020,\n\t0x1da38: 0x6c447620, 0x1da39: 0x6c1ff820, 0x1da3a: 0x6cf9b420, 0x1da3b: 0x6c914e20,\n\t0x1da3c: 0x6cbf2e20, 0x1da3d: 0x6cacfc20, 0x1da3e: 0x6cf62a20, 0x1da3f: 0x6c7af420,\n\t// Block 0x769, offset 0x1da40\n\t0x1da40: 0x6c3ea420, 0x1da41: 0x6d2a8620, 0x1da42: 0x6c3cb220, 0x1da43: 0x6c83f220,\n\t0x1da44: 0x6cce7820, 0x1da45: 0x6d216420, 0x1da46: 0x6c80d220, 0x1da47: 0x6ce6ce20,\n\t0x1da48: 0x6d237820, 0x1da49: 0x6cefe820, 0x1da4a: 0x6c0f3220, 0x1da4b: 0x6c9be020,\n\t0x1da4c: 0x6ca76c20, 0x1da4d: 0x6c70b420, 0x1da4e: 0x6c59f420, 0x1da4f: 0x6cd44a20,\n\t0x1da50: 0x6c78d020, 0x1da51: 0x6c0bb820, 0x1da52: 0x6ca2a620, 0x1da53: 0x6c2ede20,\n\t0x1da54: 0x6c315c20, 0x1da55: 0x6c059020, 0x1da56: 0x6c13ae20, 0x1da57: 0x6d18b220,\n\t0x1da58: 0x6cd9d820, 0x1da59: 0x6c123a20, 0x1da5a: 0x6c129c20, 0x1da5b: 0x6c90c020,\n\t0x1da5c: 0x6c279820, 0x1da5d: 0x6d098a20, 0x1da5e: 0x6d123420, 0x1da5f: 0x6c1cee20,\n\t0x1da60: 0x6c2b0820, 0x1da61: 0x6c291c20, 0x1da62: 0x6cbb2c20, 0x1da63: 0x6c91f620,\n\t0x1da64: 0x6d162220, 0x1da65: 0x6c60e020, 0x1da66: 0x6c670e20, 0x1da67: 0x6c5e3020,\n\t0x1da68: 0x6c9b8620, 0x1da69: 0x6cb69820, 0x1da6a: 0x6c91fe20, 0x1da6b: 0x6c919a20,\n\t0x1da6c: 0x6c157220, 0x1da6d: 0x6cd6c020, 0x1da6e: 0x6c449e20, 0x1da6f: 0x6c894620,\n\t0x1da70: 0x6c647220, 0x1da71: 0x6c650020, 0x1da72: 0x6ccb1420, 0x1da73: 0x6d0e5420,\n\t0x1da74: 0x6c3e6820, 0x1da75: 0x6cb25a20, 0x1da76: 0x6d0eea20, 0x1da77: 0x6d0f1c20,\n\t0x1da78: 0x6c12aa20, 0x1da79: 0x6c12c020, 0x1da7a: 0x6d164220, 0x1da7b: 0x6c821220,\n\t0x1da7c: 0x6ce62820, 0x1da7d: 0x6c681e20, 0x1da7e: 0x6c008420, 0x1da7f: 0x6ca39020,\n\t// Block 0x76a, offset 0x1da80\n\t0x1da80: 0x6ce56820, 0x1da81: 0x6c682020, 0x1da82: 0x6c6a5a20, 0x1da83: 0x6cae8c20,\n\t0x1da84: 0x6cecbe20, 0x1da85: 0x6d167020, 0x1da86: 0x6c145e20, 0x1da87: 0x6c9db820,\n\t0x1da88: 0x6c9cd820, 0x1da89: 0x6c416220, 0x1da8a: 0x6cb89e20, 0x1da8b: 0x6d22c820,\n\t0x1da8c: 0x6d22ca20, 0x1da8d: 0x6cce9620, 0x1da8e: 0x6cbeee20, 0x1da8f: 0x6c323020,\n\t0x1da90: 0x6c564c20, 0x1da91: 0x6cb6ce20, 0x1da92: 0x6c982c20, 0x1da93: 0x6d3f2e20,\n\t0x1da94: 0x6c5ba020, 0x1da95: 0x6cdbaa20, 0x1da96: 0x6d357220, 0x1da97: 0x6cfd6020,\n\t0x1da98: 0x6cafb020, 0x1da99: 0x6c3ddc20, 0x1da9a: 0x6cea4220, 0x1da9b: 0x6cef8a20,\n\t0x1da9c: 0x6cf3a820, 0x1da9d: 0x6d338420, 0x1da9e: 0x6cb73e20, 0x1da9f: 0x6cccbe20,\n\t0x1daa0: 0x6cf18020, 0x1daa1: 0x6cba3e20, 0x1daa2: 0x6cc56e20, 0x1daa3: 0x6c3dde20,\n\t0x1daa4: 0x6c79b620, 0x1daa5: 0x6c6bba20, 0x1daa6: 0x6c913620, 0x1daa7: 0x6d067420,\n\t0x1daa8: 0x6c5e8220, 0x1daa9: 0x6cbd5420, 0x1daaa: 0x6cb57620, 0x1daab: 0x6d0c5a20,\n\t0x1daac: 0x6c3b1420, 0x1daad: 0x6c032020, 0x1daae: 0x6cc8c020, 0x1daaf: 0x6d02ac20,\n\t0x1dab0: 0x6c618a20, 0x1dab1: 0x6c570620, 0x1dab2: 0x6c570820, 0x1dab3: 0x6c398620,\n\t0x1dab4: 0x6cf4ae20, 0x1dab5: 0x6c73e420, 0x1dab6: 0x6c466c20, 0x1dab7: 0x6d34ee20,\n\t0x1dab8: 0x6d278420, 0x1dab9: 0x6cbd5620, 0x1daba: 0x6c029e20, 0x1dabb: 0x6c1e7820,\n\t0x1dabc: 0x6c994620, 0x1dabd: 0x6d0b1420, 0x1dabe: 0x6c3a8020, 0x1dabf: 0x6cc63220,\n\t// Block 0x76b, offset 0x1dac0\n\t0x1dac0: 0x6c4f5a20, 0x1dac1: 0x6c22fc20, 0x1dac2: 0x6d1a2a20, 0x1dac3: 0x6d1fa220,\n\t0x1dac4: 0x6c0b7420, 0x1dac5: 0x6d169a20, 0x1dac6: 0x6cbd1020, 0x1dac7: 0x6cef8c20,\n\t0x1dac8: 0x6c858420, 0x1dac9: 0x6cb05420, 0x1daca: 0x6c35d420, 0x1dacb: 0x6cfc7c20,\n\t0x1dacc: 0x6c169a20, 0x1dacd: 0x6c122420, 0x1dace: 0x6d3aa620, 0x1dacf: 0x6cda4820,\n\t0x1dad0: 0x6ce30e20, 0x1dad1: 0x6d260220, 0x1dad2: 0x6cc4ae20, 0x1dad3: 0x6c8cb020,\n\t0x1dad4: 0x6cdf1a20, 0x1dad5: 0x6cce9820, 0x1dad6: 0x6c2b5c20, 0x1dad7: 0x6c9e6e20,\n\t0x1dad8: 0x6cbe9c20, 0x1dad9: 0x6c859620, 0x1dada: 0x6d1e7220, 0x1dadb: 0x6c77d820,\n\t0x1dadc: 0x6ca27220, 0x1dadd: 0x6c06ee20, 0x1dade: 0x6c05a820, 0x1dadf: 0x6c467220,\n\t0x1dae0: 0x6c9f3420, 0x1dae1: 0x6d15c420, 0x1dae2: 0x6d15ca20, 0x1dae3: 0x6c720020,\n\t0x1dae4: 0x6cb1de20, 0x1dae5: 0x6cc91420, 0x1dae6: 0x6c7a7620, 0x1dae7: 0x6ca8fa20,\n\t0x1dae8: 0x6ca62c20, 0x1dae9: 0x6c0ebc20, 0x1daea: 0x6c0dc820, 0x1daeb: 0x6cccc620,\n\t0x1daec: 0x6d051a20, 0x1daed: 0x6d119220, 0x1daee: 0x6cfa8420, 0x1daef: 0x6c079620,\n\t0x1daf0: 0x6c530620, 0x1daf1: 0x6d1ba220, 0x1daf2: 0x6d2c7420, 0x1daf3: 0x6c2fe220,\n\t0x1daf4: 0x6c706020, 0x1daf5: 0x6c2e6220, 0x1daf6: 0x6ca7de20, 0x1daf7: 0x6c417e20,\n\t0x1daf8: 0x6c54a820, 0x1daf9: 0x6cb27c20, 0x1dafa: 0x6c99dc20, 0x1dafb: 0x6c3e0220,\n\t0x1dafc: 0x6cd0e820, 0x1dafd: 0x6c46f620, 0x1dafe: 0x6c093e20, 0x1daff: 0x6cf07620,\n\t// Block 0x76c, offset 0x1db00\n\t0x1db00: 0x6c3e0420, 0x1db01: 0x6d3d2e20, 0x1db02: 0x6c994c20, 0x1db03: 0x6c393220,\n\t0x1db04: 0x6c633020, 0x1db05: 0x6c98cc20, 0x1db06: 0x6c98ce20, 0x1db07: 0x6c036a20,\n\t0x1db08: 0x6c223220, 0x1db09: 0x6ca0d620, 0x1db0a: 0x6d3e0620, 0x1db0b: 0x6c2be020,\n\t0x1db0c: 0x6c1b0a20, 0x1db0d: 0x6c61b220, 0x1db0e: 0x6c6d9420, 0x1db0f: 0x6c8f6e20,\n\t0x1db10: 0x6c23e220, 0x1db11: 0x6ca78e20, 0x1db12: 0x6d256c20, 0x1db13: 0x6d08fe20,\n\t0x1db14: 0x6d1c5a20, 0x1db15: 0x6cbf0020, 0x1db16: 0x6c43cc20, 0x1db17: 0x6c9ff020,\n\t0x1db18: 0x6c85ae20, 0x1db19: 0x6cc65c20, 0x1db1a: 0x6d1b3c20, 0x1db1b: 0x6c44b020,\n\t0x1db1c: 0x6cba4420, 0x1db1d: 0x6c148e20, 0x1db1e: 0x6c18aa20, 0x1db1f: 0x6d22e820,\n\t0x1db20: 0x6c4fa220, 0x1db21: 0x6d3f3420, 0x1db22: 0x6c8adc20, 0x1db23: 0x6cf3bc20,\n\t0x1db24: 0x6c61b420, 0x1db25: 0x6c4a4020, 0x1db26: 0x6c22bc20, 0x1db27: 0x6c657620,\n\t0x1db28: 0x6c223420, 0x1db29: 0x6c469e20, 0x1db2a: 0x6c49e220, 0x1db2b: 0x6c984420,\n\t0x1db2c: 0x6c13ce20, 0x1db2d: 0x6c683620, 0x1db2e: 0x6c683820, 0x1db2f: 0x6c3e2420,\n\t0x1db30: 0x6d20ea20, 0x1db31: 0x6d398e20, 0x1db32: 0x6d3e1420, 0x1db33: 0x6c675220,\n\t0x1db34: 0x6c5b2820, 0x1db35: 0x6d19b620, 0x1db36: 0x6c13d020, 0x1db37: 0x6c380820,\n\t0x1db38: 0x6cc64e20, 0x1db39: 0x6cc79420, 0x1db3a: 0x6c1cb620, 0x1db3b: 0x6c989220,\n\t0x1db3c: 0x6ce72c20, 0x1db3d: 0x6d381c20, 0x1db3e: 0x6cb8ac20, 0x1db3f: 0x6d3a0220,\n\t// Block 0x76d, offset 0x1db40\n\t0x1db40: 0x6d09f220, 0x1db41: 0x6c586820, 0x1db42: 0x6c3d5420, 0x1db43: 0x6cc2c620,\n\t0x1db44: 0x6c40ea20, 0x1db45: 0x6c264620, 0x1db46: 0x6c6d9a20, 0x1db47: 0x6d041c20,\n\t0x1db48: 0x6c201c20, 0x1db49: 0x6c12ac20, 0x1db4a: 0x6c6d9c20, 0x1db4b: 0x6c374820,\n\t0x1db4c: 0x6c01a820, 0x1db4d: 0x6cbbd420, 0x1db4e: 0x6c1b1220, 0x1db4f: 0x6cc58c20,\n\t0x1db50: 0x6c666020, 0x1db51: 0x6ce31220, 0x1db52: 0x6c598420, 0x1db53: 0x6cb28e20,\n\t0x1db54: 0x6c85b020, 0x1db55: 0x6c6c3620, 0x1db56: 0x6c81aa20, 0x1db57: 0x6cd5b620,\n\t0x1db58: 0x6d3c0e20, 0x1db59: 0x6c268c20, 0x1db5a: 0x6c63a820, 0x1db5b: 0x6cc52220,\n\t0x1db5c: 0x6c095620, 0x1db5d: 0x6d2ab420, 0x1db5e: 0x6cbbd620, 0x1db5f: 0x6c5ba220,\n\t0x1db60: 0x6c61b620, 0x1db61: 0x6c295c20, 0x1db62: 0x6d24c020, 0x1db63: 0x6cc65e20,\n\t0x1db64: 0x6c5cb620, 0x1db65: 0x6d03d420, 0x1db66: 0x6c95ec20, 0x1db67: 0x6d1c5e20,\n\t0x1db68: 0x6d09f420, 0x1db69: 0x6c6ce420, 0x1db6a: 0x6cdcce20, 0x1db6b: 0x6d19b820,\n\t0x1db6c: 0x6c971220, 0x1db6d: 0x6c532020, 0x1db6e: 0x6d391420, 0x1db6f: 0x6d11f620,\n\t0x1db70: 0x6c324c20, 0x1db71: 0x6cefa420, 0x1db72: 0x6c83b020, 0x1db73: 0x6c310820,\n\t0x1db74: 0x6c3d6020, 0x1db75: 0x6cc59220, 0x1db76: 0x6d1a4c20, 0x1db77: 0x6c50fc20,\n\t0x1db78: 0x6c08a020, 0x1db79: 0x6c108820, 0x1db7a: 0x6d27e220, 0x1db7b: 0x6c2b6620,\n\t0x1db7c: 0x6ce89820, 0x1db7d: 0x6cdbba20, 0x1db7e: 0x6cdbbc20, 0x1db7f: 0x6c19d020,\n\t// Block 0x76e, offset 0x1db80\n\t0x1db80: 0x6c18b420, 0x1db81: 0x6cf3be20, 0x1db82: 0x6c0ce420, 0x1db83: 0x6cf5d020,\n\t0x1db84: 0x6c450420, 0x1db85: 0x6c85de20, 0x1db86: 0x6cb43420, 0x1db87: 0x6d3ae020,\n\t0x1db88: 0x6ca10020, 0x1db89: 0x6c85e020, 0x1db8a: 0x6d3c1420, 0x1db8b: 0x6d423420,\n\t0x1db8c: 0x6ceab820, 0x1db8d: 0x6cc03820, 0x1db8e: 0x6ccbe420, 0x1db8f: 0x6cdd1220,\n\t0x1db90: 0x6c18b620, 0x1db91: 0x6cae9620, 0x1db92: 0x6c71ae20, 0x1db93: 0x6c99e820,\n\t0x1db94: 0x6c9b1220, 0x1db95: 0x6d042420, 0x1db96: 0x6c6da220, 0x1db97: 0x6c17d820,\n\t0x1db98: 0x6ccfd420, 0x1db99: 0x6c756820, 0x1db9a: 0x6d0c7a20, 0x1db9b: 0x6ce66620,\n\t0x1db9c: 0x6d1f2020, 0x1db9d: 0x6c261e20, 0x1db9e: 0x6c494c20, 0x1db9f: 0x6c4ea020,\n\t0x1dba0: 0x6d1fbe20, 0x1dba1: 0x6c262020, 0x1dba2: 0x6c63b420, 0x1dba3: 0x6cede220,\n\t0x1dba4: 0x6cda9620, 0x1dba5: 0x6ca99220, 0x1dba6: 0x6cce6420, 0x1dba7: 0x6cfcac20,\n\t0x1dba8: 0x6c811a20, 0x1dba9: 0x6c3e4020, 0x1dbaa: 0x6c355a20, 0x1dbab: 0x6ca10220,\n\t0x1dbac: 0x6cf20420, 0x1dbad: 0x6c6aa820, 0x1dbae: 0x6ca3f420, 0x1dbaf: 0x6ca27c20,\n\t0x1dbb0: 0x6c76c820, 0x1dbb1: 0x6c7eee20, 0x1dbb2: 0x6c87f820, 0x1dbb3: 0x6cd26020,\n\t0x1dbb4: 0x6cf28220, 0x1dbb5: 0x6ce93020, 0x1dbb6: 0x6cfa9620, 0x1dbb7: 0x6c5db220,\n\t0x1dbb8: 0x6d1f2220, 0x1dbb9: 0x6d1c6020, 0x1dbba: 0x6d1ba820, 0x1dbbb: 0x6c461e20,\n\t0x1dbbc: 0x6c213e20, 0x1dbbd: 0x6c988a20, 0x1dbbe: 0x6c988c20, 0x1dbbf: 0x6c22c220,\n\t// Block 0x76f, offset 0x1dbc0\n\t0x1dbc0: 0x6ced1020, 0x1dbc1: 0x6c6db220, 0x1dbc2: 0x6c2c4e20, 0x1dbc3: 0x6cc18020,\n\t0x1dbc4: 0x6c2ffe20, 0x1dbc5: 0x6c648c20, 0x1dbc6: 0x6d405020, 0x1dbc7: 0x6c483a20,\n\t0x1dbc8: 0x6c7e4420, 0x1dbc9: 0x6c924820, 0x1dbca: 0x6c711c20, 0x1dbcb: 0x6cf08620,\n\t0x1dbcc: 0x6c757020, 0x1dbcd: 0x6ca82220, 0x1dbce: 0x6c7d5c20, 0x1dbcf: 0x6c511a20,\n\t0x1dbd0: 0x6cb43a20, 0x1dbd1: 0x6d290020, 0x1dbd2: 0x6c430420, 0x1dbd3: 0x6c4cbc20,\n\t0x1dbd4: 0x6c3e6c20, 0x1dbd5: 0x6c94f620, 0x1dbd6: 0x6c166a20, 0x1dbd7: 0x6c1daa20,\n\t0x1dbd8: 0x6cd91e20, 0x1dbd9: 0x6c20ca20, 0x1dbda: 0x6d2e5e20, 0x1dbdb: 0x6c9acc20,\n\t0x1dbdc: 0x6c114420, 0x1dbdd: 0x6c037820, 0x1dbde: 0x6c83c820, 0x1dbdf: 0x6ce8aa20,\n\t0x1dbe0: 0x6c0e7020, 0x1dbe1: 0x6c4eb620, 0x1dbe2: 0x6c064620, 0x1dbe3: 0x6cbe1220,\n\t0x1dbe4: 0x6c731e20, 0x1dbe5: 0x6cf60020, 0x1dbe6: 0x6cbd6a20, 0x1dbe7: 0x6c2bf220,\n\t0x1dbe8: 0x6c6a0420, 0x1dbe9: 0x6cb43820, 0x1dbea: 0x6c296220, 0x1dbeb: 0x6c6c9020,\n\t0x1dbec: 0x6cbbde20, 0x1dbed: 0x6cdf2220, 0x1dbee: 0x6c44c820, 0x1dbef: 0x6c573420,\n\t0x1dbf0: 0x6c470c20, 0x1dbf1: 0x6c8cfe20, 0x1dbf2: 0x6c39fe20, 0x1dbf3: 0x6cbd7020,\n\t0x1dbf4: 0x6c012a20, 0x1dbf5: 0x6cee1620, 0x1dbf6: 0x6c081c20, 0x1dbf7: 0x6d38e220,\n\t0x1dbf8: 0x6d0c0020, 0x1dbf9: 0x6c709020, 0x1dbfa: 0x6c648e20, 0x1dbfb: 0x6c8c1e20,\n\t0x1dbfc: 0x6ce05c20, 0x1dbfd: 0x6cd4d420, 0x1dbfe: 0x6ce49e20, 0x1dbff: 0x6c2a1420,\n\t// Block 0x770, offset 0x1dc00\n\t0x1dc00: 0x6c561c20, 0x1dc01: 0x6cb5d020, 0x1dc02: 0x6c511c20, 0x1dc03: 0x6c253820,\n\t0x1dc04: 0x6ce22420, 0x1dc05: 0x6c210420, 0x1dc06: 0x6c098a20, 0x1dc07: 0x6c16aa20,\n\t0x1dc08: 0x6c586e20, 0x1dc09: 0x6c3aa620, 0x1dc0a: 0x6c7f0020, 0x1dc0b: 0x6cb4ee20,\n\t0x1dc0c: 0x6c9b1420, 0x1dc0d: 0x6cb2a020, 0x1dc0e: 0x6cee7420, 0x1dc0f: 0x6c288220,\n\t0x1dc10: 0x6ccc4e20, 0x1dc11: 0x6c587020, 0x1dc12: 0x6d0d6e20, 0x1dc13: 0x6d14ee20,\n\t0x1dc14: 0x6ce58420, 0x1dc15: 0x6cb5d220, 0x1dc16: 0x6ced1220, 0x1dc17: 0x6c12e220,\n\t0x1dc18: 0x6ca3bc20, 0x1dc19: 0x6d327c20, 0x1dc1a: 0x6ceba420, 0x1dc1b: 0x6c6f6c20,\n\t0x1dc1c: 0x6ce5ee20, 0x1dc1d: 0x6c954220, 0x1dc1e: 0x6c0ae020, 0x1dc1f: 0x6d199220,\n\t0x1dc20: 0x6c9b1620, 0x1dc21: 0x6c100820, 0x1dc22: 0x6cada820, 0x1dc23: 0x6c2fc620,\n\t0x1dc24: 0x6d1c6420, 0x1dc25: 0x6d1c6620, 0x1dc26: 0x6d1c6820, 0x1dc27: 0x6cfebc20,\n\t0x1dc28: 0x6cc97420, 0x1dc29: 0x6cbfb020, 0x1dc2a: 0x6c77fc20, 0x1dc2b: 0x6cfe3620,\n\t0x1dc2c: 0x6ced8620, 0x1dc2d: 0x6d226020, 0x1dc2e: 0x6d213620, 0x1dc2f: 0x6c3ffa20,\n\t0x1dc30: 0x6c88fe20, 0x1dc31: 0x6d07a220, 0x1dc32: 0x6d07a420, 0x1dc33: 0x6ca42a20,\n\t0x1dc34: 0x6c12f620, 0x1dc35: 0x6cf28e20, 0x1dc36: 0x6c217a20, 0x1dc37: 0x6cfece20,\n\t0x1dc38: 0x6d210620, 0x1dc39: 0x6c0b4020, 0x1dc3a: 0x6c998420, 0x1dc3b: 0x6c013420,\n\t0x1dc3c: 0x6c364020, 0x1dc3d: 0x6c960a20, 0x1dc3e: 0x6d1c7820, 0x1dc3f: 0x6c7dfc20,\n\t// Block 0x771, offset 0x1dc40\n\t0x1dc40: 0x6c7dfe20, 0x1dc41: 0x6c676420, 0x1dc42: 0x6c9e2a20, 0x1dc43: 0x6d42a020,\n\t0x1dc44: 0x6d42a220, 0x1dc45: 0x6d409c20, 0x1dc46: 0x6c060020, 0x1dc47: 0x6cc74e20,\n\t0x1dc48: 0x6cf7ec20, 0x1dc49: 0x6d12f620, 0x1dc4a: 0x6c013620, 0x1dc4b: 0x6cc19420,\n\t0x1dc4c: 0x6c64a820, 0x1dc4d: 0x6c3e8e20, 0x1dc4e: 0x6c93e420, 0x1dc4f: 0x6c6dbe20,\n\t0x1dc50: 0x6cae4220, 0x1dc51: 0x6c3c5020, 0x1dc52: 0x6c535220, 0x1dc53: 0x6c535420,\n\t0x1dc54: 0x6c540820, 0x1dc55: 0x6d0e7a20, 0x1dc56: 0x6ce86420, 0x1dc57: 0x6d311420,\n\t0x1dc58: 0x6d3e4620, 0x1dc59: 0x6cfd7a20, 0x1dc5a: 0x6cc5f620, 0x1dc5b: 0x6c43f420,\n\t0x1dc5c: 0x6cb82c20, 0x1dc5d: 0x6cbe8020, 0x1dc5e: 0x6c9cf820, 0x1dc5f: 0x6c59c820,\n\t0x1dc60: 0x6ccff220, 0x1dc61: 0x6cb43c20, 0x1dc62: 0x6c413820, 0x1dc63: 0x6c303020,\n\t0x1dc64: 0x6d392a20, 0x1dc65: 0x6c669620, 0x1dc66: 0x6cefcc20, 0x1dc67: 0x6c0f0820,\n\t0x1dc68: 0x6cee9220, 0x1dc69: 0x6cabc620, 0x1dc6a: 0x6c620e20, 0x1dc6b: 0x6c556620,\n\t0x1dc6c: 0x6d2a0820, 0x1dc6d: 0x6c636220, 0x1dc6e: 0x6c32c620, 0x1dc6f: 0x6d120a20,\n\t0x1dc70: 0x6cdbc420, 0x1dc71: 0x6c231c20, 0x1dc72: 0x6cc2fa20, 0x1dc73: 0x6cee9420,\n\t0x1dc74: 0x6d315820, 0x1dc75: 0x6c7c7a20, 0x1dc76: 0x6ce67820, 0x1dc77: 0x6c5cd220,\n\t0x1dc78: 0x6cf7ee20, 0x1dc79: 0x6cd1c220, 0x1dc7a: 0x6cb79a20, 0x1dc7b: 0x6c7f9e20,\n\t0x1dc7c: 0x6d3f9420, 0x1dc7d: 0x6d10a820, 0x1dc7e: 0x6d24f020, 0x1dc7f: 0x6c9a0620,\n\t// Block 0x772, offset 0x1dc80\n\t0x1dc80: 0x6d275220, 0x1dc81: 0x6cd5c820, 0x1dc82: 0x6c2c6220, 0x1dc83: 0x6d3bc620,\n\t0x1dc84: 0x6c491820, 0x1dc85: 0x6cc4dc20, 0x1dc86: 0x6d08e020, 0x1dc87: 0x6c15b820,\n\t0x1dc88: 0x6c765a20, 0x1dc89: 0x6c7d0020, 0x1dc8a: 0x6c571620, 0x1dc8b: 0x6c67a820,\n\t0x1dc8c: 0x6c908e20, 0x1dc8d: 0x6cefce20, 0x1dc8e: 0x6cac2a20, 0x1dc8f: 0x6d206c20,\n\t0x1dc90: 0x6cd9b620, 0x1dc91: 0x6d1b6220, 0x1dc92: 0x6cd1d420, 0x1dc93: 0x6c215420,\n\t0x1dc94: 0x6cd27620, 0x1dc95: 0x6d275a20, 0x1dc96: 0x6d317220, 0x1dc97: 0x6c812220,\n\t0x1dc98: 0x6cc7b420, 0x1dc99: 0x6c9b2a20, 0x1dc9a: 0x6c863a20, 0x1dc9b: 0x6cc38e20,\n\t0x1dc9c: 0x6cdb9c20, 0x1dc9d: 0x6d258a20, 0x1dc9e: 0x6c863c20, 0x1dc9f: 0x6c71c420,\n\t0x1dca0: 0x6cf65620, 0x1dca1: 0x6c057e20, 0x1dca2: 0x6c1e8220, 0x1dca3: 0x6d062020,\n\t0x1dca4: 0x6ce8cc20, 0x1dca5: 0x6c8e7020, 0x1dca6: 0x6c5de020, 0x1dca7: 0x6c2d2220,\n\t0x1dca8: 0x6cba5e20, 0x1dca9: 0x6d409e20, 0x1dcaa: 0x6cb39820, 0x1dcab: 0x6c25e420,\n\t0x1dcac: 0x6d24fa20, 0x1dcad: 0x6c1e9020, 0x1dcae: 0x6d237a20, 0x1dcaf: 0x6c7afe20,\n\t0x1dcb0: 0x6cac6220, 0x1dcb1: 0x6cb43e20, 0x1dcb2: 0x6cb44020, 0x1dcb3: 0x6ca35820,\n\t0x1dcb4: 0x6cd78820, 0x1dcb5: 0x6cf78820, 0x1dcb6: 0x6c3b7c20, 0x1dcb7: 0x6d27b820,\n\t0x1dcb8: 0x6d32d220, 0x1dcb9: 0x6c64c020, 0x1dcba: 0x6c605e20, 0x1dcbb: 0x6cc92220,\n\t0x1dcbc: 0x6c123620, 0x1dcbd: 0x6c371820, 0x1dcbe: 0x6c9c5820, 0x1dcbf: 0x6c4fa820,\n\t// Block 0x773, offset 0x1dcc0\n\t0x1dcc0: 0x6cdcd820, 0x1dcc1: 0x6d317420, 0x1dcc2: 0x6ca00c20, 0x1dcc3: 0x6cd9b820,\n\t0x1dcc4: 0x6d06fe20, 0x1dcc5: 0x6c8e7220, 0x1dcc6: 0x6cf78a20, 0x1dcc7: 0x6c479220,\n\t0x1dcc8: 0x6c80c020, 0x1dcc9: 0x6cc68c20, 0x1dcca: 0x6cf25420, 0x1dccb: 0x6c414820,\n\t0x1dccc: 0x6c263020, 0x1dccd: 0x6cd1d620, 0x1dcce: 0x6ce10820, 0x1dccf: 0x6c95b620,\n\t0x1dcd0: 0x6cc82020, 0x1dcd1: 0x6cdd2820, 0x1dcd2: 0x6d07ae20, 0x1dcd3: 0x6c073620,\n\t0x1dcd4: 0x6d11ba20, 0x1dcd5: 0x6c4b5620, 0x1dcd6: 0x6c09da20, 0x1dcd7: 0x6d3ffc20,\n\t0x1dcd8: 0x6c4bd220, 0x1dcd9: 0x6d42ba20, 0x1dcda: 0x6ce58620, 0x1dcdb: 0x6c12fe20,\n\t0x1dcdc: 0x6cae2e20, 0x1dcdd: 0x6c7fa420, 0x1dcde: 0x6c28b620, 0x1dcdf: 0x6c622420,\n\t0x1dce0: 0x6c83f420, 0x1dce1: 0x6ccffa20, 0x1dce2: 0x6c810620, 0x1dce3: 0x6d237c20,\n\t0x1dce4: 0x6c8e2e20, 0x1dce5: 0x6d1c8420, 0x1dce6: 0x6ca13020, 0x1dce7: 0x6c2e3020,\n\t0x1dce8: 0x6ce58e20, 0x1dce9: 0x6c993c20, 0x1dcea: 0x6ce6fa20, 0x1dceb: 0x6c1f5a20,\n\t0x1dcec: 0x6caeae20, 0x1dced: 0x6c014020, 0x1dcee: 0x6c881820, 0x1dcef: 0x6c233220,\n\t0x1dcf0: 0x6cf80220, 0x1dcf1: 0x6cb2ae20, 0x1dcf2: 0x6cbfb820, 0x1dcf3: 0x6c6ca620,\n\t0x1dcf4: 0x6c215820, 0x1dcf5: 0x6c6b1420, 0x1dcf6: 0x6cef2420, 0x1dcf7: 0x6ce99620,\n\t0x1dcf8: 0x6c128220, 0x1dcf9: 0x6d23ca20, 0x1dcfa: 0x6d183620, 0x1dcfb: 0x6d3ed220,\n\t0x1dcfc: 0x6c8a7220, 0x1dcfd: 0x6c09dc20, 0x1dcfe: 0x6c91ce20, 0x1dcff: 0x6d077620,\n\t// Block 0x774, offset 0x1dd00\n\t0x1dd00: 0x6c10a820, 0x1dd01: 0x6d2ed020, 0x1dd02: 0x6c824a20, 0x1dd03: 0x6cbb1c20,\n\t0x1dd04: 0x6c97f220, 0x1dd05: 0x6d0cb820, 0x1dd06: 0x6c8d3e20, 0x1dd07: 0x6c621020,\n\t0x1dd08: 0x6c0c0e20, 0x1dd09: 0x6c4bde20, 0x1dd0a: 0x6c4e5c20, 0x1dd0b: 0x6c2b8220,\n\t0x1dd0c: 0x6cdaf020, 0x1dd0d: 0x6c929620, 0x1dd0e: 0x6ccf6c20, 0x1dd0f: 0x6cce1420,\n\t0x1dd10: 0x6c2b8420, 0x1dd11: 0x6c9ee420, 0x1dd12: 0x6d09a220, 0x1dd13: 0x6c97f420,\n\t0x1dd14: 0x6c0f3420, 0x1dd15: 0x6c2c8420, 0x1dd16: 0x6c25ea20, 0x1dd17: 0x6d311620,\n\t0x1dd18: 0x6cd00a20, 0x1dd19: 0x6d08a620, 0x1dd1a: 0x6cf0b220, 0x1dd1b: 0x6c558220,\n\t0x1dd1c: 0x6c025620, 0x1dd1d: 0x6c9cfc20, 0x1dd1e: 0x6c90aa20, 0x1dd1f: 0x6c244a20,\n\t0x1dd20: 0x6d37c220, 0x1dd21: 0x6c114820, 0x1dd22: 0x6cb33220, 0x1dd23: 0x6c67b220,\n\t0x1dd24: 0x6c9d6e20, 0x1dd25: 0x6c233420, 0x1dd26: 0x6ca7a220, 0x1dd27: 0x6c5c0220,\n\t0x1dd28: 0x6c738620, 0x1dd29: 0x6d1a8420, 0x1dd2a: 0x6c66ac20, 0x1dd2b: 0x6ca6f020,\n\t0x1dd2c: 0x6cd50220, 0x1dd2d: 0x6d19f020, 0x1dd2e: 0x6c4c7e20, 0x1dd2f: 0x6c18d620,\n\t0x1dd30: 0x6c56bc20, 0x1dd31: 0x6ccc0020, 0x1dd32: 0x6c79fc20, 0x1dd33: 0x6cba6e20,\n\t0x1dd34: 0x6c966e20, 0x1dd35: 0x6d29e420, 0x1dd36: 0x6d2b5a20, 0x1dd37: 0x6cbb1620,\n\t0x1dd38: 0x6c30ba20, 0x1dd39: 0x6c88c620, 0x1dd3a: 0x6c8c5a20, 0x1dd3b: 0x6c79fe20,\n\t0x1dd3c: 0x6c007020, 0x1dd3d: 0x6c0a0a20, 0x1dd3e: 0x6c843220, 0x1dd3f: 0x6cf00a20,\n\t// Block 0x775, offset 0x1dd40\n\t0x1dd40: 0x6c609620, 0x1dd41: 0x6cb9c420, 0x1dd42: 0x6cd17620, 0x1dd43: 0x6c385c20,\n\t0x1dd44: 0x6c9b3c20, 0x1dd45: 0x6cab9020, 0x1dd46: 0x6c15dc20, 0x1dd47: 0x6c2d2820,\n\t0x1dd48: 0x6d0aa420, 0x1dd49: 0x6c687020, 0x1dd4a: 0x6cc8ac20, 0x1dd4b: 0x6cc8ae20,\n\t0x1dd4c: 0x6c82d420, 0x1dd4d: 0x6d218e20, 0x1dd4e: 0x6cbbf220, 0x1dd4f: 0x6c1ea020,\n\t0x1dd50: 0x6c575220, 0x1dd51: 0x6c64e220, 0x1dd52: 0x6c971a20, 0x1dd53: 0x6d27c220,\n\t0x1dd54: 0x6c05b820, 0x1dd55: 0x6d1f6820, 0x1dd56: 0x6cc1aa20, 0x1dd57: 0x6c92da20,\n\t0x1dd58: 0x6cc52a20, 0x1dd59: 0x6c5c1e20, 0x1dd5a: 0x6c369020, 0x1dd5b: 0x6ce36a20,\n\t0x1dd5c: 0x6c3a6a20, 0x1dd5d: 0x6c749e20, 0x1dd5e: 0x6d41c820, 0x1dd5f: 0x6c384020,\n\t0x1dd60: 0x6cc7c020, 0x1dd61: 0x6c3b8e20, 0x1dd62: 0x6c7d1620, 0x1dd63: 0x6cd75820,\n\t0x1dd64: 0x6cc8a220, 0x1dd65: 0x6d0b5e20, 0x1dd66: 0x6d05dc20, 0x1dd67: 0x6c403c20,\n\t0x1dd68: 0x6c74a020, 0x1dd69: 0x6c298a20, 0x1dd6a: 0x6cf3e420, 0x1dd6b: 0x6c303a20,\n\t0x1dd6c: 0x6cd82420, 0x1dd6d: 0x6cff1820, 0x1dd6e: 0x6cf8d020, 0x1dd6f: 0x6c8fa020,\n\t0x1dd70: 0x6cf16420, 0x1dd71: 0x6ccee820, 0x1dd72: 0x6cb64220, 0x1dd73: 0x6c64e420,\n\t0x1dd74: 0x6d284e20, 0x1dd75: 0x6cdcde20, 0x1dd76: 0x6c8d5a20, 0x1dd77: 0x6d23f220,\n\t0x1dd78: 0x6cf9ec20, 0x1dd79: 0x6cf27220, 0x1dd7a: 0x6c609820, 0x1dd7b: 0x6c538820,\n\t0x1dd7c: 0x6cd8ee20, 0x1dd7d: 0x6ca9ca20, 0x1dd7e: 0x6c82da20, 0x1dd7f: 0x6d07ce20,\n\t// Block 0x776, offset 0x1dd80\n\t0x1dd80: 0x6d285620, 0x1dd81: 0x6d23cc20, 0x1dd82: 0x6cf7a420, 0x1dd83: 0x6c506e20,\n\t0x1dd84: 0x6c05d620, 0x1dd85: 0x6c4fae20, 0x1dd86: 0x6c00d220, 0x1dd87: 0x6ceeba20,\n\t0x1dd88: 0x6c5c3c20, 0x1dd89: 0x6c5c3e20, 0x1dd8a: 0x6c628220, 0x1dd8b: 0x6c226e20,\n\t0x1dd8c: 0x6cfd8420, 0x1dd8d: 0x6ced9a20, 0x1dd8e: 0x6c9ee820, 0x1dd8f: 0x6d18b420,\n\t0x1dd90: 0x6c838820, 0x1dd91: 0x6c677e20, 0x1dd92: 0x6c120820, 0x1dd93: 0x6cd01e20,\n\t0x1dd94: 0x6cbb2620, 0x1dd95: 0x6c885a20, 0x1dd96: 0x6c781c20, 0x1dd97: 0x6d25ae20,\n\t0x1dd98: 0x6c26c020, 0x1dd99: 0x6ce42220, 0x1dd9a: 0x6ce0d420, 0x1dd9b: 0x6d08e820,\n\t0x1dd9c: 0x6c0a5c20, 0x1dd9d: 0x6d2d9a20, 0x1dd9e: 0x6cdce020, 0x1dd9f: 0x6cfad820,\n\t0x1dda0: 0x6c38c420, 0x1dda1: 0x6c2f8220, 0x1dda2: 0x6d021c20, 0x1dda3: 0x6c47d220,\n\t0x1dda4: 0x6d021e20, 0x1dda5: 0x6cd56e20, 0x1dda6: 0x6c66d420, 0x1dda7: 0x6c4fb020,\n\t0x1dda8: 0x6c52ca20, 0x1dda9: 0x6cc99820, 0x1ddaa: 0x6d02f220, 0x1ddab: 0x6d09aa20,\n\t0x1ddac: 0x6d122420, 0x1ddad: 0x6c046a20, 0x1ddae: 0x6cda2c20, 0x1ddaf: 0x6cd57020,\n\t0x1ddb0: 0x6d09b420, 0x1ddb1: 0x6c336a20, 0x1ddb2: 0x6cb21a20, 0x1ddb3: 0x6cf01820,\n\t0x1ddb4: 0x6ca92820, 0x1ddb5: 0x6c1df020, 0x1ddb6: 0x6c970420, 0x1ddb7: 0x6cc7d420,\n\t0x1ddb8: 0x6cb18620, 0x1ddb9: 0x6cdf4c20, 0x1ddba: 0x6c62a020, 0x1ddbb: 0x6d2a5a20,\n\t0x1ddbc: 0x6c18f020, 0x1ddbd: 0x6d319a20, 0x1ddbe: 0x6c37a820, 0x1ddbf: 0x6ca65420,\n\t// Block 0x777, offset 0x1ddc0\n\t0x1ddc0: 0x6d1ca820, 0x1ddc1: 0x6c432620, 0x1ddc2: 0x6c23b820, 0x1ddc3: 0x6cff2420,\n\t0x1ddc4: 0x6cb66020, 0x1ddc5: 0x6c382820, 0x1ddc6: 0x6c65e420, 0x1ddc7: 0x6d073e20,\n\t0x1ddc8: 0x6c7ca620, 0x1ddc9: 0x6c60c620, 0x1ddca: 0x6c0b5820, 0x1ddcb: 0x6c2e4620,\n\t0x1ddcc: 0x6c9d9420, 0x1ddcd: 0x6c7fc420, 0x1ddce: 0x6c6d6420, 0x1ddcf: 0x6c124e20,\n\t0x1ddd0: 0x6c9ea020, 0x1ddd1: 0x6cbf6e20, 0x1ddd2: 0x6cbcec20, 0x1ddd3: 0x6cfc3420,\n\t0x1ddd4: 0x6c8a5420, 0x1ddd5: 0x6cab9820, 0x1ddd6: 0x6cfbb620, 0x1ddd7: 0x6cdb4020,\n\t0x1ddd8: 0x6c936a20, 0x1ddd9: 0x6d18f020, 0x1ddda: 0x6d075220, 0x1dddb: 0x6d014c20,\n\t0x1dddc: 0x6c847220, 0x1dddd: 0x6d18f220, 0x1ddde: 0x6c7e6620, 0x1dddf: 0x6c82f020,\n\t0x1dde0: 0x6c69ca20, 0x1dde1: 0x6c2b9a20, 0x1dde2: 0x6d355a20, 0x1dde3: 0x6c06bc20,\n\t0x1dde4: 0x6ce2c220, 0x1dde5: 0x6d123620, 0x1dde6: 0x6ca17c20, 0x1dde7: 0x6c595e20,\n\t0x1dde8: 0x6c0c3e20, 0x1dde9: 0x6c386820, 0x1ddea: 0x6cda3220, 0x1ddeb: 0x6ce02e20,\n\t0x1ddec: 0x6ce99a20, 0x1dded: 0x6cbf8020, 0x1ddee: 0x6cbc0820, 0x1ddef: 0x6cf0f620,\n\t0x1ddf0: 0x6c8ebc20, 0x1ddf1: 0x6c5c5c20, 0x1ddf2: 0x6cabac20, 0x1ddf3: 0x6c432c20,\n\t0x1ddf4: 0x6d286220, 0x1ddf5: 0x6c068a20, 0x1ddf6: 0x6c870a20, 0x1ddf7: 0x6cd57e20,\n\t0x1ddf8: 0x6c1ebe20, 0x1ddf9: 0x6c007e20, 0x1ddfa: 0x6c8c7a20, 0x1ddfb: 0x6d2a6020,\n\t0x1ddfc: 0x6d07e620, 0x1ddfd: 0x6cbe2820, 0x1ddfe: 0x6c7f7220, 0x1ddff: 0x6c5e3220,\n\t// Block 0x778, offset 0x1de00\n\t0x1de00: 0x6cebb620, 0x1de01: 0x6cf54420, 0x1de02: 0x6cc8b820, 0x1de03: 0x6cc8ba20,\n\t0x1de04: 0x6cb68420, 0x1de05: 0x6c528020, 0x1de06: 0x6c917820, 0x1de07: 0x6cda6420,\n\t0x1de08: 0x6ce9d020, 0x1de09: 0x6c9b8a20, 0x1de0a: 0x6d287020, 0x1de0b: 0x6cb2dc20,\n\t0x1de0c: 0x6d22b020, 0x1de0d: 0x6d09c220, 0x1de0e: 0x6c62be20, 0x1de0f: 0x6c6eec20,\n\t0x1de10: 0x6d07e820, 0x1de11: 0x6ca09020, 0x1de12: 0x6cc0c220, 0x1de13: 0x6cda6620,\n\t0x1de14: 0x6c6eee20, 0x1de15: 0x6c3d0420, 0x1de16: 0x6ca8a620, 0x1de17: 0x6c0ffe20,\n\t0x1de18: 0x6cc4ea20, 0x1de19: 0x6d193020, 0x1de1a: 0x6cfc4a20, 0x1de1b: 0x6d21e420,\n\t0x1de1c: 0x6c718820, 0x1de1d: 0x6c892e20, 0x1de1e: 0x6c88dc20, 0x1de1f: 0x6d1b1e20,\n\t0x1de20: 0x6cbb2e20, 0x1de21: 0x6d1c2420, 0x1de22: 0x6c8fcc20, 0x1de23: 0x6ce82220,\n\t0x1de24: 0x6cf05420, 0x1de25: 0x6d270c20, 0x1de26: 0x6c8d9420, 0x1de27: 0x6cc1f020,\n\t0x1de28: 0x6d117020, 0x1de29: 0x6c38e620, 0x1de2a: 0x6c9a3c20, 0x1de2b: 0x6c4f3020,\n\t0x1de2c: 0x6c7c5620, 0x1de2d: 0x6c7ff020, 0x1de2e: 0x6c62d220, 0x1de2f: 0x6c29a220,\n\t0x1de30: 0x6c981820, 0x1de31: 0x6c836220, 0x1de32: 0x6c828820, 0x1de33: 0x6c5b0a20,\n\t0x1de34: 0x6c3c8220, 0x1de35: 0x6d342820, 0x1de36: 0x6cf10e20, 0x1de37: 0x6c7cb620,\n\t0x1de38: 0x6d2ea220, 0x1de39: 0x6c580620, 0x1de3a: 0x6c84ac20, 0x1de3b: 0x6c62e220,\n\t0x1de3c: 0x6c9cb620, 0x1de3d: 0x6c830a20, 0x1de3e: 0x6c582220, 0x1de3f: 0x6c957a20,\n\t// Block 0x779, offset 0x1de40\n\t0x1de40: 0x6c5fa020, 0x1de41: 0x6c7cbe20, 0x1de42: 0x6c934020, 0x1de43: 0x6c655020,\n\t0x1de44: 0x6cc9ba20, 0x1de45: 0x6ce2e620, 0x1de46: 0x6c829e20, 0x1de47: 0x6cc36820,\n\t0x1de48: 0x6cff6020, 0x1de49: 0x6d197420, 0x1de4a: 0x6c947220, 0x1de4b: 0x6c9ae620,\n\t0x1de4c: 0x6c0cd420, 0x1de4d: 0x6c549420, 0x1de4e: 0x6c561220, 0x1de4f: 0x6c91b820,\n\t0x1de50: 0x6caaa220, 0x1de51: 0x6c93d420, 0x1de52: 0x6cd7da20, 0x1de53: 0x6cfeaa20,\n\t0x1de54: 0x6cb98220, 0x1de55: 0x6c1f3620, 0x1de56: 0x6c54c620, 0x1de57: 0x6d058a20,\n\t0x1de58: 0x6c25d820, 0x1de59: 0x6c3e6e20, 0x1de5a: 0x6d058c20, 0x1de5b: 0x6d05a820,\n\t0x1de5c: 0x6c91c420, 0x1de5d: 0x6c562420, 0x1de5e: 0x6d216620, 0x1de5f: 0x6c504a20,\n\t0x1de60: 0x6c686020, 0x1de61: 0x6c725820, 0x1de62: 0x6c4c8620, 0x1de63: 0x6c066820,\n\t0x1de64: 0x6d0cd220, 0x1de65: 0x6d2e8220, 0x1de66: 0x6d2e8420, 0x1de67: 0x6c7c4820,\n\t0x1de68: 0x6c0d5620, 0x1de69: 0x6cf90620, 0x1de6a: 0x6cd63220, 0x1de6b: 0x6c1d0820,\n\t0x1de6c: 0x6cc00220, 0x1de6d: 0x6c2db220, 0x1de6e: 0x6c612620, 0x1de6f: 0x6cc00c20,\n\t0x1de70: 0x6c2f5820, 0x1de71: 0x6cd19a20, 0x1de72: 0x6cf95020, 0x1de73: 0x6c740820,\n\t0x1de74: 0x6d302a20, 0x1de75: 0x6ccf0a20, 0x1de76: 0x6d208020, 0x1de77: 0x6c4dea20,\n\t0x1de78: 0x6d3efe20, 0x1de79: 0x6c532220, 0x1de7a: 0x6c5a9a20, 0x1de7b: 0x6c9b0c20,\n\t0x1de7c: 0x6c447e20, 0x1de7d: 0x6cdbb020, 0x1de7e: 0x6cf95a20, 0x1de7f: 0x6c149420,\n\t// Block 0x77a, offset 0x1de80\n\t0x1de80: 0x6cd25620, 0x1de81: 0x6d15d620, 0x1de82: 0x6c969620, 0x1de83: 0x6cfe2020,\n\t0x1de84: 0x6c399420, 0x1de85: 0x6c360220, 0x1de86: 0x6c034020, 0x1de87: 0x6c1b9620,\n\t0x1de88: 0x6cb8ca20, 0x1de89: 0x6cf18e20, 0x1de8a: 0x6cf19020, 0x1de8b: 0x6cc8c620,\n\t0x1de8c: 0x6c056620, 0x1de8d: 0x6cafd220, 0x1de8e: 0x6d269a20, 0x1de8f: 0x6d269c20,\n\t0x1de90: 0x6c756a20, 0x1de91: 0x6cb5ae20, 0x1de92: 0x6ce73c20, 0x1de93: 0x6d1ad620,\n\t0x1de94: 0x6cb5b020, 0x1de95: 0x6c119020, 0x1de96: 0x6d255420, 0x1de97: 0x6c741a20,\n\t0x1de98: 0x6c5b3020, 0x1de99: 0x6cbd6c20, 0x1de9a: 0x6cb5b220, 0x1de9b: 0x6d382220,\n\t0x1de9c: 0x6d0b2220, 0x1de9d: 0x6c4fc220, 0x1de9e: 0x6ca27e20, 0x1de9f: 0x6cede420,\n\t0x1dea0: 0x6c3b6820, 0x1dea1: 0x6c3b6a20, 0x1dea2: 0x6c4f6e20, 0x1dea3: 0x6c462e20,\n\t0x1dea4: 0x6d2a4620, 0x1dea5: 0x6c3fd420, 0x1dea6: 0x6cc47020, 0x1dea7: 0x6c6bda20,\n\t0x1dea8: 0x6c3e4220, 0x1dea9: 0x6c1aa420, 0x1deaa: 0x6c30ea20, 0x1deab: 0x6c064820,\n\t0x1deac: 0x6cfc0620, 0x1dead: 0x6ca5de20, 0x1deae: 0x6ce27820, 0x1deaf: 0x6cbfac20,\n\t0x1deb0: 0x6d1f2c20, 0x1deb1: 0x6d2cc220, 0x1deb2: 0x6cb2a220, 0x1deb3: 0x6c1b1e20,\n\t0x1deb4: 0x6d204220, 0x1deb5: 0x6c511e20, 0x1deb6: 0x6c4da020, 0x1deb7: 0x6c723420,\n\t0x1deb8: 0x6c85fe20, 0x1deb9: 0x6c3fe620, 0x1deba: 0x6cc47620, 0x1debb: 0x6d2c2a20,\n\t0x1debc: 0x6c468220, 0x1debd: 0x6cafe220, 0x1debe: 0x6cafe420, 0x1debf: 0x6cfb5220,\n\t// Block 0x77b, offset 0x1dec0\n\t0x1dec0: 0x6d3af020, 0x1dec1: 0x6c2dc820, 0x1dec2: 0x6c0ce820, 0x1dec3: 0x6c0de220,\n\t0x1dec4: 0x6c470e20, 0x1dec5: 0x6d2d7020, 0x1dec6: 0x6cc10620, 0x1dec7: 0x6ccf1220,\n\t0x1dec8: 0x6ce5fa20, 0x1dec9: 0x6c8d0020, 0x1deca: 0x6c478420, 0x1decb: 0x6c288420,\n\t0x1decc: 0x6c478620, 0x1decd: 0x6d1c6a20, 0x1dece: 0x6c860020, 0x1decf: 0x6c196a20,\n\t0x1ded0: 0x6cc11220, 0x1ded1: 0x6ca1d620, 0x1ded2: 0x6c43f620, 0x1ded3: 0x6c22ca20,\n\t0x1ded4: 0x6c5b3820, 0x1ded5: 0x6c5b3a20, 0x1ded6: 0x6c986a20, 0x1ded7: 0x6c3ffc20,\n\t0x1ded8: 0x6d0fbc20, 0x1ded9: 0x6cebde20, 0x1deda: 0x6c8b0e20, 0x1dedb: 0x6d39ac20,\n\t0x1dedc: 0x6d13f820, 0x1dedd: 0x6cfb6220, 0x1dede: 0x6c7e0020, 0x1dedf: 0x6c684e20,\n\t0x1dee0: 0x6c861a20, 0x1dee1: 0x6d17be20, 0x1dee2: 0x6cb2b020, 0x1dee3: 0x6cb4fc20,\n\t0x1dee4: 0x6c4cfe20, 0x1dee5: 0x6ccf1a20, 0x1dee6: 0x6d14fc20, 0x1dee7: 0x6cee2420,\n\t0x1dee8: 0x6ca11c20, 0x1dee9: 0x6cbf3220, 0x1deea: 0x6cbcc420, 0x1deeb: 0x6c4b0420,\n\t0x1deec: 0x6cbf3420, 0x1deed: 0x6d364020, 0x1deee: 0x6c976420, 0x1deef: 0x6c81f820,\n\t0x1def0: 0x6d305c20, 0x1def1: 0x6c63c220, 0x1def2: 0x6ca4ae20, 0x1def3: 0x6cd7ee20,\n\t0x1def4: 0x6cb5f020, 0x1def5: 0x6d038420, 0x1def6: 0x6c6bee20, 0x1def7: 0x6cc07c20,\n\t0x1def8: 0x6cce7a20, 0x1def9: 0x6d1e4c20, 0x1defa: 0x6c63ce20, 0x1defb: 0x6cea0220,\n\t0x1defc: 0x6c17de20, 0x1defd: 0x6c044e20, 0x1defe: 0x6c357620, 0x1deff: 0x6c4ed420,\n\t// Block 0x77c, offset 0x1df00\n\t0x1df00: 0x6cd56420, 0x1df01: 0x6d081620, 0x1df02: 0x6c3c5820, 0x1df03: 0x6cd0b820,\n\t0x1df04: 0x6cd0ba20, 0x1df05: 0x6c3f7020, 0x1df06: 0x6cfce020, 0x1df07: 0x6d2ffe20,\n\t0x1df08: 0x6cf3da20, 0x1df09: 0x6c3ea820, 0x1df0a: 0x6c83f820, 0x1df0b: 0x6c80d420,\n\t0x1df0c: 0x6c09de20, 0x1df0d: 0x6c1e9220, 0x1df0e: 0x6d24fc20, 0x1df0f: 0x6d1fd820,\n\t0x1df10: 0x6c6af820, 0x1df11: 0x6c288e20, 0x1df12: 0x6d0ca220, 0x1df13: 0x6ce67a20,\n\t0x1df14: 0x6c2d6820, 0x1df15: 0x6cea0420, 0x1df16: 0x6c5b3c20, 0x1df17: 0x6cf29820,\n\t0x1df18: 0x6d340420, 0x1df19: 0x6cd92c20, 0x1df1a: 0x6c3a1420, 0x1df1b: 0x6c70b620,\n\t0x1df1c: 0x6c9d7020, 0x1df1d: 0x6cb62c20, 0x1df1e: 0x6cb62e20, 0x1df1f: 0x6d23a820,\n\t0x1df20: 0x6c75da20, 0x1df21: 0x6c7e8a20, 0x1df22: 0x6c9be220, 0x1df23: 0x6cbac420,\n\t0x1df24: 0x6cd80820, 0x1df25: 0x6cf68020, 0x1df26: 0x6c950820, 0x1df27: 0x6c865420,\n\t0x1df28: 0x6c2ed620, 0x1df29: 0x6ce59a20, 0x1df2a: 0x6ce23220, 0x1df2b: 0x6c7d7a20,\n\t0x1df2c: 0x6c4e2620, 0x1df2d: 0x6c4eec20, 0x1df2e: 0x6d23aa20, 0x1df2f: 0x6c058420,\n\t0x1df30: 0x6c3a4020, 0x1df31: 0x6cb00c20, 0x1df32: 0x6ceea820, 0x1df33: 0x6c339e20,\n\t0x1df34: 0x6d183820, 0x1df35: 0x6d250c20, 0x1df36: 0x6cddd020, 0x1df37: 0x6cc30c20,\n\t0x1df38: 0x6cba1a20, 0x1df39: 0x6cc8d820, 0x1df3a: 0x6ca5fc20, 0x1df3b: 0x6cbe5220,\n\t0x1df3c: 0x6cf0b420, 0x1df3d: 0x6c899e20, 0x1df3e: 0x6c4cc820, 0x1df3f: 0x6cec9620,\n\t// Block 0x77d, offset 0x1df40\n\t0x1df40: 0x6c301020, 0x1df41: 0x6c367220, 0x1df42: 0x6c04d020, 0x1df43: 0x6c2c8620,\n\t0x1df44: 0x6cee3420, 0x1df45: 0x6c11a020, 0x1df46: 0x6d102820, 0x1df47: 0x6d1d6820,\n\t0x1df48: 0x6c4c3220, 0x1df49: 0x6c150e20, 0x1df4a: 0x6c2fb420, 0x1df4b: 0x6c7e8c20,\n\t0x1df4c: 0x6c782c20, 0x1df4d: 0x6c6afa20, 0x1df4e: 0x6d005020, 0x1df4f: 0x6ce68e20,\n\t0x1df50: 0x6c99b220, 0x1df51: 0x6d05de20, 0x1df52: 0x6c9dd020, 0x1df53: 0x6d219020,\n\t0x1df54: 0x6c6a3220, 0x1df55: 0x6cd28020, 0x1df56: 0x6d07c820, 0x1df57: 0x6c59f620,\n\t0x1df58: 0x6d0dce20, 0x1df59: 0x6c0b0420, 0x1df5a: 0x6cc75e20, 0x1df5b: 0x6ceeb220,\n\t0x1df5c: 0x6c403e20, 0x1df5d: 0x6d25a020, 0x1df5e: 0x6c9aaa20, 0x1df5f: 0x6cf14620,\n\t0x1df60: 0x6c3ee220, 0x1df61: 0x6cc7c220, 0x1df62: 0x6d00e220, 0x1df63: 0x6d1f6a20,\n\t0x1df64: 0x6cc09020, 0x1df65: 0x6c990020, 0x1df66: 0x6cf97820, 0x1df67: 0x6d1be020,\n\t0x1df68: 0x6cd1f020, 0x1df69: 0x6c1d2020, 0x1df6a: 0x6ce0ce20, 0x1df6b: 0x6d39be20,\n\t0x1df6c: 0x6d3fba20, 0x1df6d: 0x6ce36c20, 0x1df6e: 0x6c404020, 0x1df6f: 0x6d25a220,\n\t0x1df70: 0x6c7c9820, 0x1df71: 0x6c9b3e20, 0x1df72: 0x6c7e9620, 0x1df73: 0x6c31b220,\n\t0x1df74: 0x6c559620, 0x1df75: 0x6cbfc220, 0x1df76: 0x6c2ee020, 0x1df77: 0x6c866420,\n\t0x1df78: 0x6cf29c20, 0x1df79: 0x6d276220, 0x1df7a: 0x6cc24e20, 0x1df7b: 0x6ca43a20,\n\t0x1df7c: 0x6c90b620, 0x1df7d: 0x6c211220, 0x1df7e: 0x6cc6a820, 0x1df7f: 0x6d1c9220,\n\t// Block 0x77e, offset 0x1df80\n\t0x1df80: 0x6c677620, 0x1df81: 0x6c051420, 0x1df82: 0x6c80d820, 0x1df83: 0x6cad0e20,\n\t0x1df84: 0x6cd82c20, 0x1df85: 0x6cf6da20, 0x1df86: 0x6c22de20, 0x1df87: 0x6cf6dc20,\n\t0x1df88: 0x6d25b020, 0x1df89: 0x6cf23c20, 0x1df8a: 0x6c885c20, 0x1df8b: 0x6cd9dc20,\n\t0x1df8c: 0x6c04a020, 0x1df8d: 0x6cc6b220, 0x1df8e: 0x6cc6b420, 0x1df8f: 0x6c60b220,\n\t0x1df90: 0x6cf38220, 0x1df91: 0x6d055020, 0x1df92: 0x6c4f0e20, 0x1df93: 0x6cbdac20,\n\t0x1df94: 0x6d156020, 0x1df95: 0x6c089020, 0x1df96: 0x6c575420, 0x1df97: 0x6ce13c20,\n\t0x1df98: 0x6d161420, 0x1df99: 0x6c327c20, 0x1df9a: 0x6ca3d620, 0x1df9b: 0x6c517820,\n\t0x1df9c: 0x6c55c020, 0x1df9d: 0x6c4a8a20, 0x1df9e: 0x6c96a420, 0x1df9f: 0x6ca01a20,\n\t0x1dfa0: 0x6d18b620, 0x1dfa1: 0x6cf1b020, 0x1dfa2: 0x6d1ca020, 0x1dfa3: 0x6ce28420,\n\t0x1dfa4: 0x6d37ca20, 0x1dfa5: 0x6c123c20, 0x1dfa6: 0x6ccb1020, 0x1dfa7: 0x6cb81a20,\n\t0x1dfa8: 0x6c97c820, 0x1dfa9: 0x6ce5e620, 0x1dfaa: 0x6cce2020, 0x1dfab: 0x6cd3e620,\n\t0x1dfac: 0x6c129e20, 0x1dfad: 0x6c1ad620, 0x1dfae: 0x6c2ca620, 0x1dfaf: 0x6c027620,\n\t0x1dfb0: 0x6c92fa20, 0x1dfb1: 0x6cf0e820, 0x1dfb2: 0x6d371220, 0x1dfb3: 0x6ce14220,\n\t0x1dfb4: 0x6c18ea20, 0x1dfb5: 0x6cb16a20, 0x1dfb6: 0x6cc1c420, 0x1dfb7: 0x6cb02420,\n\t0x1dfb8: 0x6d21be20, 0x1dfb9: 0x6c66e420, 0x1dfba: 0x6c955820, 0x1dfbb: 0x6c90c220,\n\t0x1dfbc: 0x6cbdea20, 0x1dfbd: 0x6d37ce20, 0x1dfbe: 0x6d1b1420, 0x1dfbf: 0x6c678820,\n\t// Block 0x77f, offset 0x1dfc0\n\t0x1dfc0: 0x6cd67620, 0x1dfc1: 0x6cf1b820, 0x1dfc2: 0x6cff2620, 0x1dfc3: 0x6ceda020,\n\t0x1dfc4: 0x6d30a220, 0x1dfc5: 0x6d310820, 0x1dfc6: 0x6c96f820, 0x1dfc7: 0x6c967a20,\n\t0x1dfc8: 0x6c4c4820, 0x1dfc9: 0x6c8eaa20, 0x1dfca: 0x6c990a20, 0x1dfcb: 0x6cf6f220,\n\t0x1dfcc: 0x6c236a20, 0x1dfcd: 0x6c846220, 0x1dfce: 0x6c97d020, 0x1dfcf: 0x6cff2820,\n\t0x1dfd0: 0x6c173020, 0x1dfd1: 0x6d2ee220, 0x1dfd2: 0x6c98a020, 0x1dfd3: 0x6cfe5e20,\n\t0x1dfd4: 0x6ca17e20, 0x1dfd5: 0x6d418220, 0x1dfd6: 0x6cd83c20, 0x1dfd7: 0x6cbfd420,\n\t0x1dfd8: 0x6ce28820, 0x1dfd9: 0x6d34ac20, 0x1dfda: 0x6caed820, 0x1dfdb: 0x6caeda20,\n\t0x1dfdc: 0x6c695620, 0x1dfdd: 0x6cc1dc20, 0x1dfde: 0x6c0cc220, 0x1dfdf: 0x6c8a3c20,\n\t0x1dfe0: 0x6cac8220, 0x1dfe1: 0x6c4b2220, 0x1dfe2: 0x6cf81c20, 0x1dfe3: 0x6c615a20,\n\t0x1dfe4: 0x6d3b9620, 0x1dfe5: 0x6c5a0e20, 0x1dfe6: 0x6c3a4220, 0x1dfe7: 0x6c818420,\n\t0x1dfe8: 0x6c74de20, 0x1dfe9: 0x6c74e020, 0x1dfea: 0x6c5c7220, 0x1dfeb: 0x6d1aa220,\n\t0x1dfec: 0x6c153a20, 0x1dfed: 0x6c689c20, 0x1dfee: 0x6ccdcc20, 0x1dfef: 0x6ca4ca20,\n\t0x1dff0: 0x6cff3e20, 0x1dff1: 0x6cf40020, 0x1dff2: 0x6c1d2620, 0x1dff3: 0x6d0a5020,\n\t0x1dff4: 0x6cd83e20, 0x1dff5: 0x6c1f9c20, 0x1dff6: 0x6c19a020, 0x1dff7: 0x6c291e20,\n\t0x1dff8: 0x6c854420, 0x1dff9: 0x6d026620, 0x1dffa: 0x6ccdd420, 0x1dffb: 0x6d162420,\n\t0x1dffc: 0x6c6e3a20, 0x1dffd: 0x6c26c820, 0x1dffe: 0x6c154420, 0x1dfff: 0x6cb80020,\n\t// Block 0x780, offset 0x1e000\n\t0x1e000: 0x6c221820, 0x1e001: 0x6cfe0220, 0x1e002: 0x6ccf7e20, 0x1e003: 0x6c95c820,\n\t0x1e004: 0x6cbdb620, 0x1e005: 0x6d1d6e20, 0x1e006: 0x6c14a220, 0x1e007: 0x6c86da20,\n\t0x1e008: 0x6d2b6a20, 0x1e009: 0x6d07ea20, 0x1e00a: 0x6c888820, 0x1e00b: 0x6d3a3220,\n\t0x1e00c: 0x6d2b1e20, 0x1e00d: 0x6d005a20, 0x1e00e: 0x6c98a420, 0x1e00f: 0x6d026820,\n\t0x1e010: 0x6cb69a20, 0x1e011: 0x6cc6e220, 0x1e012: 0x6c661a20, 0x1e013: 0x6c9bf220,\n\t0x1e014: 0x6c500220, 0x1e015: 0x6cc7e420, 0x1e016: 0x6c5e3420, 0x1e017: 0x6d3dda20,\n\t0x1e018: 0x6c6b7820, 0x1e019: 0x6cb22420, 0x1e01a: 0x6c50aa20, 0x1e01b: 0x6c9f0e20,\n\t0x1e01c: 0x6c38ee20, 0x1e01d: 0x6c828a20, 0x1e01e: 0x6c6b7220, 0x1e01f: 0x6c7ec420,\n\t0x1e020: 0x6c9fda20, 0x1e021: 0x6c84ae20, 0x1e022: 0x6c219020, 0x1e023: 0x6c873220,\n\t0x1e024: 0x6cbfe620, 0x1e025: 0x6ca8bc20, 0x1e026: 0x6c919c20, 0x1e027: 0x6c328c20,\n\t0x1e028: 0x6cff5620, 0x1e029: 0x6d39ee20, 0x1e02a: 0x6c8ffc20, 0x1e02b: 0x6c875620,\n\t0x1e02c: 0x6c8ffe20, 0x1e02d: 0x6c3c8620, 0x1e02e: 0x6d127220, 0x1e02f: 0x6c086620,\n\t0x1e030: 0x6ca46020, 0x1e031: 0x6c47f220, 0x1e032: 0x6c730e20, 0x1e033: 0x6d1c4220,\n\t0x1e034: 0x6cd63820, 0x1e035: 0x6cf75820, 0x1e036: 0x6c11c820, 0x1e037: 0x6cc22420,\n\t0x1e038: 0x6cc33c20, 0x1e039: 0x6c329020, 0x1e03a: 0x6c11ca20, 0x1e03b: 0x6c97ae20,\n\t0x1e03c: 0x6cc22e20, 0x1e03d: 0x6c6b8e20, 0x1e03e: 0x6d3a4e20, 0x1e03f: 0x6d3d1820,\n\t// Block 0x781, offset 0x1e040\n\t0x1e040: 0x6d093820, 0x1e041: 0x6c598620, 0x1e042: 0x6ca9a420, 0x1e043: 0x6cadba20,\n\t0x1e044: 0x6caa8420, 0x1e045: 0x6d033020, 0x1e046: 0x6d383220, 0x1e047: 0x6c973420,\n\t0x1e048: 0x6c37ce20, 0x1e049: 0x6c761220, 0x1e04a: 0x6c9f1020, 0x1e04b: 0x6cf93c20,\n\t0x1e04c: 0x6d03ba20, 0x1e04d: 0x6d0d5c20, 0x1e04e: 0x6c770620, 0x1e04f: 0x6d260e20,\n\t0x1e050: 0x6cc28820, 0x1e051: 0x6c8d0220, 0x1e052: 0x6d089020, 0x1e053: 0x6cd5ca20,\n\t0x1e054: 0x6cfb5420, 0x1e055: 0x6ce7cc20, 0x1e056: 0x6cfe3820, 0x1e057: 0x6c6a1e20,\n\t0x1e058: 0x6cfb7020, 0x1e059: 0x6d0b3220, 0x1e05a: 0x6c559a20, 0x1e05b: 0x6cf0ca20,\n\t0x1e05c: 0x6c2a2c20, 0x1e05d: 0x6c1cdc20, 0x1e05e: 0x6cf0d420, 0x1e05f: 0x6c2a3620,\n\t0x1e060: 0x6d3cd820, 0x1e061: 0x6c527020, 0x1e062: 0x6cc22620, 0x1e063: 0x6d13be20,\n\t0x1e064: 0x6d198c20, 0x1e065: 0x6c103220, 0x1e066: 0x6c41ce20, 0x1e067: 0x6d20cc20,\n\t0x1e068: 0x6c0c7020, 0x1e069: 0x6c141820, 0x1e06a: 0x6d147a20, 0x1e06b: 0x6cccc820,\n\t0x1e06c: 0x6c191e20, 0x1e06d: 0x6c3d5620, 0x1e06e: 0x6c4bbc20, 0x1e06f: 0x6c3b1e20,\n\t0x1e070: 0x6cd65220, 0x1e071: 0x6c6a8820, 0x1e072: 0x6ca32020, 0x1e073: 0x6d37aa20,\n\t0x1e074: 0x6c282e20, 0x1e075: 0x6d170c20, 0x1e076: 0x6d381e20, 0x1e077: 0x6d37b220,\n\t0x1e078: 0x6c6bd220, 0x1e079: 0x6d350820, 0x1e07a: 0x6d009820, 0x1e07b: 0x6cc46820,\n\t0x1e07c: 0x6d33ba20, 0x1e07d: 0x6cc5da20, 0x1e07e: 0x6cbd2620, 0x1e07f: 0x6c6c3820,\n\t// Block 0x782, offset 0x1e080\n\t0x1e080: 0x6c756220, 0x1e081: 0x6d255820, 0x1e082: 0x6c9a8620, 0x1e083: 0x6c149620,\n\t0x1e084: 0x6c02a220, 0x1e085: 0x6ca79820, 0x1e086: 0x6c5a9e20, 0x1e087: 0x6cc46a20,\n\t0x1e088: 0x6c635620, 0x1e089: 0x6ceb1020, 0x1e08a: 0x6c8e0e20, 0x1e08b: 0x6c276620,\n\t0x1e08c: 0x6c064a20, 0x1e08d: 0x6cad5620, 0x1e08e: 0x6d120020, 0x1e08f: 0x6d429420,\n\t0x1e090: 0x6c097020, 0x1e091: 0x6cced220, 0x1e092: 0x6ce05820, 0x1e093: 0x6c723620,\n\t0x1e094: 0x6c51c220, 0x1e095: 0x6d090220, 0x1e096: 0x6d053820, 0x1e097: 0x6d31d220,\n\t0x1e098: 0x6d14da20, 0x1e099: 0x6cabea20, 0x1e09a: 0x6c0e6420, 0x1e09b: 0x6c2b2220,\n\t0x1e09c: 0x6cec2a20, 0x1e09d: 0x6c3fd620, 0x1e09e: 0x6c4bc420, 0x1e09f: 0x6d35ca20,\n\t0x1e0a0: 0x6d360a20, 0x1e0a1: 0x6cc47220, 0x1e0a2: 0x6cacb420, 0x1e0a3: 0x6d174620,\n\t0x1e0a4: 0x6c997420, 0x1e0a5: 0x6ceaba20, 0x1e0a6: 0x6ca32e20, 0x1e0a7: 0x6c464420,\n\t0x1e0a8: 0x6d088220, 0x1e0a9: 0x6d304220, 0x1e0aa: 0x6cc0f420, 0x1e0ab: 0x6c070420,\n\t0x1e0ac: 0x6c4bc620, 0x1e0ad: 0x6cf77c20, 0x1e0ae: 0x6ca6ea20, 0x1e0af: 0x6c0ee020,\n\t0x1e0b0: 0x6c0e7220, 0x1e0b1: 0x6c40ac20, 0x1e0b2: 0x6c1bac20, 0x1e0b3: 0x6c1ba220,\n\t0x1e0b4: 0x6c7a9420, 0x1e0b5: 0x6cc5ea20, 0x1e0b6: 0x6c67e220, 0x1e0b7: 0x6c63ba20,\n\t0x1e0b8: 0x6c667e20, 0x1e0b9: 0x6c0efa20, 0x1e0ba: 0x6c6aba20, 0x1e0bb: 0x6c375420,\n\t0x1e0bc: 0x6c438620, 0x1e0bd: 0x6cc7a620, 0x1e0be: 0x6d39a020, 0x1e0bf: 0x6c4a6020,\n\t// Block 0x783, offset 0x1e0c0\n\t0x1e0c0: 0x6d19d020, 0x1e0c1: 0x6c111020, 0x1e0c2: 0x6c8b1020, 0x1e0c3: 0x6c762220,\n\t0x1e0c4: 0x6d044420, 0x1e0c5: 0x6d3c1c20, 0x1e0c6: 0x6c28fc20, 0x1e0c7: 0x6d05aa20,\n\t0x1e0c8: 0x6c7d5e20, 0x1e0c9: 0x6c791a20, 0x1e0ca: 0x6ca79e20, 0x1e0cb: 0x6cd5dc20,\n\t0x1e0cc: 0x6c63c420, 0x1e0cd: 0x6c7db020, 0x1e0ce: 0x6c1a1220, 0x1e0cf: 0x6c852220,\n\t0x1e0d0: 0x6c72f620, 0x1e0d1: 0x6ccff420, 0x1e0d2: 0x6cb3da20, 0x1e0d3: 0x6c43fa20,\n\t0x1e0d4: 0x6d180820, 0x1e0d5: 0x6d235620, 0x1e0d6: 0x6d31da20, 0x1e0d7: 0x6c8e6020,\n\t0x1e0d8: 0x6cc07e20, 0x1e0d9: 0x6cc44820, 0x1e0da: 0x6c622620, 0x1e0db: 0x6d180a20,\n\t0x1e0dc: 0x6c103e20, 0x1e0dd: 0x6d3c1e20, 0x1e0de: 0x6cd72420, 0x1e0df: 0x6ccc0420,\n\t0x1e0e0: 0x6cc44e20, 0x1e0e1: 0x6c87e220, 0x1e0e2: 0x6c880620, 0x1e0e3: 0x6c88c020,\n\t0x1e0e4: 0x6c7a9e20, 0x1e0e5: 0x6c659e20, 0x1e0e6: 0x6c3d1820, 0x1e0e7: 0x6c14d020,\n\t0x1e0e8: 0x6c09e020, 0x1e0e9: 0x6c7d7020, 0x1e0ea: 0x6ce22e20, 0x1e0eb: 0x6d262a20,\n\t0x1e0ec: 0x6c8d2220, 0x1e0ed: 0x6c1bb420, 0x1e0ee: 0x6c167420, 0x1e0ef: 0x6c1dc420,\n\t0x1e0f0: 0x6c343220, 0x1e0f1: 0x6c0c7420, 0x1e0f2: 0x6c899620, 0x1e0f3: 0x6cce5c20,\n\t0x1e0f4: 0x6cade020, 0x1e0f5: 0x6cade220, 0x1e0f6: 0x6c3a0e20, 0x1e0f7: 0x6d24fe20,\n\t0x1e0f8: 0x6c95b820, 0x1e0f9: 0x6c4cca20, 0x1e0fa: 0x6d0daa20, 0x1e0fb: 0x6c31aa20,\n\t0x1e0fc: 0x6ce40420, 0x1e0fd: 0x6d369a20, 0x1e0fe: 0x6c70ae20, 0x1e0ff: 0x6d15fa20,\n\t// Block 0x784, offset 0x1e100\n\t0x1e100: 0x6c622820, 0x1e101: 0x6d346c20, 0x1e102: 0x6c48ba20, 0x1e103: 0x6c791c20,\n\t0x1e104: 0x6cb81620, 0x1e105: 0x6ce40a20, 0x1e106: 0x6ce35820, 0x1e107: 0x6c402420,\n\t0x1e108: 0x6c1d1a20, 0x1e109: 0x6d01f020, 0x1e10a: 0x6c0b4820, 0x1e10b: 0x6c2ed820,\n\t0x1e10c: 0x6c7d7c20, 0x1e10d: 0x6c32a020, 0x1e10e: 0x6d054a20, 0x1e10f: 0x6d054c20,\n\t0x1e110: 0x6c51d620, 0x1e111: 0x6d262c20, 0x1e112: 0x6c05ba20, 0x1e113: 0x6c060620,\n\t0x1e114: 0x6c402620, 0x1e115: 0x6d217c20, 0x1e116: 0x6ce98c20, 0x1e117: 0x6d0dc420,\n\t0x1e118: 0x6c5adc20, 0x1e119: 0x6c074420, 0x1e11a: 0x6c1ee220, 0x1e11b: 0x6c93aa20,\n\t0x1e11c: 0x6cadaa20, 0x1e11d: 0x6c27ee20, 0x1e11e: 0x6d27f420, 0x1e11f: 0x6cddf820,\n\t0x1e120: 0x6c465c20, 0x1e121: 0x6c265c20, 0x1e122: 0x6c57ee20, 0x1e123: 0x6cc6aa20,\n\t0x1e124: 0x6d262e20, 0x1e125: 0x6cc82620, 0x1e126: 0x6ca3d420, 0x1e127: 0x6c6f3220,\n\t0x1e128: 0x6cdd8620, 0x1e129: 0x6c04a220, 0x1e12a: 0x6cea0a20, 0x1e12b: 0x6c1bbe20,\n\t0x1e12c: 0x6cca8a20, 0x1e12d: 0x6ca7ae20, 0x1e12e: 0x6d1bec20, 0x1e12f: 0x6c6bfa20,\n\t0x1e130: 0x6cb91e20, 0x1e131: 0x6c57f420, 0x1e132: 0x6c7aa820, 0x1e133: 0x6c884220,\n\t0x1e134: 0x6c7fae20, 0x1e135: 0x6c843420, 0x1e136: 0x6d30de20, 0x1e137: 0x6cd1fc20,\n\t0x1e138: 0x6c93b620, 0x1e139: 0x6d18b820, 0x1e13a: 0x6c2e5e20, 0x1e13b: 0x6d023220,\n\t0x1e13c: 0x6cfae020, 0x1e13d: 0x6cf0ea20, 0x1e13e: 0x6c0c7e20, 0x1e13f: 0x6c129620,\n\t// Block 0x785, offset 0x1e140\n\t0x1e140: 0x6c5f4620, 0x1e141: 0x6cbb4c20, 0x1e142: 0x6ccbb020, 0x1e143: 0x6c05bc20,\n\t0x1e144: 0x6cfd8c20, 0x1e145: 0x6c0ae420, 0x1e146: 0x6c3f0c20, 0x1e147: 0x6c65e620,\n\t0x1e148: 0x6d3bea20, 0x1e149: 0x6c65e820, 0x1e14a: 0x6c257020, 0x1e14b: 0x6c60c820,\n\t0x1e14c: 0x6c280620, 0x1e14d: 0x6d28d020, 0x1e14e: 0x6c38cc20, 0x1e14f: 0x6c0f7e20,\n\t0x1e150: 0x6cfe5a20, 0x1e151: 0x6d030420, 0x1e152: 0x6c0cf820, 0x1e153: 0x6cc52e20,\n\t0x1e154: 0x6c97ca20, 0x1e155: 0x6c7fc620, 0x1e156: 0x6c02b220, 0x1e157: 0x6d2b1620,\n\t0x1e158: 0x6c4b8e20, 0x1e159: 0x6c12bc20, 0x1e15a: 0x6cdc9220, 0x1e15b: 0x6ca9d620,\n\t0x1e15c: 0x6c14dc20, 0x1e15d: 0x6c88d220, 0x1e15e: 0x6c0aac20, 0x1e15f: 0x6c6c6a20,\n\t0x1e160: 0x6c291620, 0x1e161: 0x6cd58220, 0x1e162: 0x6ce08020, 0x1e163: 0x6c0aae20,\n\t0x1e164: 0x6c7fd820, 0x1e165: 0x6cb46e20, 0x1e166: 0x6cc7e020, 0x1e167: 0x6d355e20,\n\t0x1e168: 0x6c32ec20, 0x1e169: 0x6cd58620, 0x1e16a: 0x6cec4220, 0x1e16b: 0x6cd40020,\n\t0x1e16c: 0x6c042c20, 0x1e16d: 0x6d012020, 0x1e16e: 0x6c0fbe20, 0x1e16f: 0x6c194220,\n\t0x1e170: 0x6c7f7c20, 0x1e171: 0x6c8fee20, 0x1e172: 0x6cf7c420, 0x1e173: 0x6cfb0c20,\n\t0x1e174: 0x6c800220, 0x1e175: 0x6d30e220, 0x1e176: 0x6c27aa20, 0x1e177: 0x6c72d820,\n\t0x1e178: 0x6d29c620, 0x1e179: 0x6cd21c20, 0x1e17a: 0x6c663820, 0x1e17b: 0x6cacc620,\n\t0x1e17c: 0x6d196820, 0x1e17d: 0x6c809c20, 0x1e17e: 0x6d0b7020, 0x1e17f: 0x6cf94020,\n\t// Block 0x786, offset 0x1e180\n\t0x1e180: 0x6cf57420, 0x1e181: 0x6d11f820, 0x1e182: 0x6c3cc820, 0x1e183: 0x6cdfe620,\n\t0x1e184: 0x6c40b420, 0x1e185: 0x6c3d0620, 0x1e186: 0x6c407e20, 0x1e187: 0x6c03c820,\n\t0x1e188: 0x6c519620, 0x1e189: 0x6c5fa420, 0x1e18a: 0x6c5fb420, 0x1e18b: 0x6c665220,\n\t0x1e18c: 0x6c490820, 0x1e18d: 0x6c0b9020, 0x1e18e: 0x6d0e5620, 0x1e18f: 0x6c4a6220,\n\t0x1e190: 0x6c743020, 0x1e191: 0x6cb13a20, 0x1e192: 0x6c997620, 0x1e193: 0x6c9d4020,\n\t0x1e194: 0x6c9d4220, 0x1e195: 0x6c9ed620, 0x1e196: 0x6cd36c20, 0x1e197: 0x6cd8c420,\n\t0x1e198: 0x6c14cc20, 0x1e199: 0x6c954a20, 0x1e19a: 0x6c745a20, 0x1e19b: 0x6c9d6020,\n\t0x1e19c: 0x6ce5da20, 0x1e19d: 0x6c882620, 0x1e19e: 0x6d121820, 0x1e19f: 0x6d369c20,\n\t0x1e1a0: 0x6c757a20, 0x1e1a1: 0x6cf79620, 0x1e1a2: 0x6ccd5a20, 0x1e1a3: 0x6ceeb620,\n\t0x1e1a4: 0x6cf8d220, 0x1e1a5: 0x6ce51220, 0x1e1a6: 0x6d21a620, 0x1e1a7: 0x6c803e20,\n\t0x1e1a8: 0x6c36aa20, 0x1e1a9: 0x6c322a20, 0x1e1aa: 0x6cbd3e20, 0x1e1ab: 0x6cad2220,\n\t0x1e1ac: 0x6c62a220, 0x1e1ad: 0x6ca01e20, 0x1e1ae: 0x6d1caa20, 0x1e1af: 0x6c46dc20,\n\t0x1e1b0: 0x6cc15020, 0x1e1b1: 0x6d2e8c20, 0x1e1b2: 0x6c6d6c20, 0x1e1b3: 0x6c492c20,\n\t0x1e1b4: 0x6c2abc20, 0x1e1b5: 0x6c670420, 0x1e1b6: 0x6c956420, 0x1e1b7: 0x6cc28220,\n\t0x1e1b8: 0x6c652620, 0x1e1b9: 0x6cef6220, 0x1e1ba: 0x6c750220, 0x1e1bb: 0x6cc15c20,\n\t0x1e1bc: 0x6c956a20, 0x1e1bd: 0x6c805420, 0x1e1be: 0x6cd08a20, 0x1e1bf: 0x6c2bba20,\n\t// Block 0x787, offset 0x1e1c0\n\t0x1e1c0: 0x6c494420, 0x1e1c1: 0x6c664e20, 0x1e1c2: 0x6c490220, 0x1e1c3: 0x6d0e3e20,\n\t0x1e1c4: 0x6c4a3a20, 0x1e1c5: 0x6c9d2a20, 0x1e1c6: 0x6cd32020, 0x1e1c7: 0x6c14be20,\n\t0x1e1c8: 0x6c802020, 0x1e1c9: 0x6c740a20, 0x1e1ca: 0x6c61d620, 0x1e1cb: 0x6cf77e20,\n\t0x1e1cc: 0x6c2b6e20, 0x1e1cd: 0x6ce4fc20, 0x1e1ce: 0x6d216820, 0x1e1cf: 0x6c46cc20,\n\t0x1e1d0: 0x6c6d4620, 0x1e1d1: 0x6cc27220, 0x1e1d2: 0x6c68c620, 0x1e1d3: 0x6cc01820,\n\t0x1e1d4: 0x6c6c3a20, 0x1e1d5: 0x6c241220, 0x1e1d6: 0x6c743220, 0x1e1d7: 0x6d360c20,\n\t0x1e1d8: 0x6c17bc20, 0x1e1d9: 0x6c600a20, 0x1e1da: 0x6c471220, 0x1e1db: 0x6c289020,\n\t0x1e1dc: 0x6d3e5820, 0x1e1dd: 0x6c2bf820, 0x1e1de: 0x6cce0420, 0x1e1df: 0x6c57a020,\n\t0x1e1e0: 0x6cc30220, 0x1e1e1: 0x6c440c20, 0x1e1e2: 0x6cd3a020, 0x1e1e3: 0x6c6b9820,\n\t0x1e1e4: 0x6c4b0a20, 0x1e1e5: 0x6c459820, 0x1e1e6: 0x6c1f5c20, 0x1e1e7: 0x6c6b9a20,\n\t0x1e1e8: 0x6c5d3a20, 0x1e1e9: 0x6cc08420, 0x1e1ea: 0x6d039020, 0x1e1eb: 0x6cdaf220,\n\t0x1e1ec: 0x6ca60220, 0x1e1ed: 0x6c5f1e20, 0x1e1ee: 0x6c92b420, 0x1e1ef: 0x6d36c020,\n\t0x1e1f0: 0x6d2bfa20, 0x1e1f1: 0x6c0a5e20, 0x1e1f2: 0x6d03a620, 0x1e1f3: 0x6c55cc20,\n\t0x1e1f4: 0x6cce2220, 0x1e1f5: 0x6c45be20, 0x1e1f6: 0x6d374820, 0x1e1f7: 0x6d092820,\n\t0x1e1f8: 0x6c1f8a20, 0x1e1f9: 0x6cf71a20, 0x1e1fa: 0x6d159420, 0x1e1fb: 0x6c877e20,\n\t0x1e1fc: 0x6c750e20, 0x1e1fd: 0x6cf75020, 0x1e1fe: 0x6d0f0c20, 0x1e1ff: 0x6cf75e20,\n\t// Block 0x788, offset 0x1e200\n\t0x1e200: 0x6d0c5c20, 0x1e201: 0x6d0f3620, 0x1e202: 0x6c2f9a20, 0x1e203: 0x6c3fc620,\n\t0x1e204: 0x6cc01a20, 0x1e205: 0x6cc01c20, 0x1e206: 0x6c698a20, 0x1e207: 0x6c529c20,\n\t0x1e208: 0x6c61b820, 0x1e209: 0x6c384c20, 0x1e20a: 0x6d0a7e20, 0x1e20b: 0x6c2e1420,\n\t0x1e20c: 0x6c53b820, 0x1e20d: 0x6c149820, 0x1e20e: 0x6ce25c20, 0x1e20f: 0x6d058620,\n\t0x1e210: 0x6c6aaa20, 0x1e211: 0x6d14dc20, 0x1e212: 0x6cc5e020, 0x1e213: 0x6d0ac020,\n\t0x1e214: 0x6d1a4e20, 0x1e215: 0x6ccd7e20, 0x1e216: 0x6cb77020, 0x1e217: 0x6ceabc20,\n\t0x1e218: 0x6c61d820, 0x1e219: 0x6d0a8020, 0x1e21a: 0x6d1a5020, 0x1e21b: 0x6c356020,\n\t0x1e21c: 0x6c3b2c20, 0x1e21d: 0x6d0ba420, 0x1e21e: 0x6d109e20, 0x1e21f: 0x6cd98c20,\n\t0x1e220: 0x6cd06020, 0x1e221: 0x6d1a5e20, 0x1e222: 0x6d02ce20, 0x1e223: 0x6c743420,\n\t0x1e224: 0x6cff8620, 0x1e225: 0x6ca54e20, 0x1e226: 0x6c18c020, 0x1e227: 0x6d1f2e20,\n\t0x1e228: 0x6d352220, 0x1e229: 0x6d046820, 0x1e22a: 0x6c39d620, 0x1e22b: 0x6d033220,\n\t0x1e22c: 0x6c174020, 0x1e22d: 0x6ccf4420, 0x1e22e: 0x6cfaa220, 0x1e22f: 0x6cc94e20,\n\t0x1e230: 0x6d3ce220, 0x1e231: 0x6d063c20, 0x1e232: 0x6d177820, 0x1e233: 0x6d177a20,\n\t0x1e234: 0x6cdb7a20, 0x1e235: 0x6c1ab220, 0x1e236: 0x6c509e20, 0x1e237: 0x6ccff620,\n\t0x1e238: 0x6c512c20, 0x1e239: 0x6d06e620, 0x1e23a: 0x6d31de20, 0x1e23b: 0x6d3afa20,\n\t0x1e23c: 0x6d334e20, 0x1e23d: 0x6c46a820, 0x1e23e: 0x6d3e5c20, 0x1e23f: 0x6d3f1c20,\n\t// Block 0x789, offset 0x1e240\n\t0x1e240: 0x6d2d7820, 0x1e241: 0x6c479420, 0x1e242: 0x6c3ffe20, 0x1e243: 0x6c65a020,\n\t0x1e244: 0x6c2eb420, 0x1e245: 0x6c8d0a20, 0x1e246: 0x6c2bfa20, 0x1e247: 0x6d104e20,\n\t0x1e248: 0x6c861c20, 0x1e249: 0x6ca4b020, 0x1e24a: 0x6cacb820, 0x1e24b: 0x6d392e20,\n\t0x1e24c: 0x6c422220, 0x1e24d: 0x6d17c420, 0x1e24e: 0x6c724420, 0x1e24f: 0x6d120c20,\n\t0x1e250: 0x6d2cc820, 0x1e251: 0x6d150020, 0x1e252: 0x6d150220, 0x1e253: 0x6cc24a20,\n\t0x1e254: 0x6d2fb620, 0x1e255: 0x6cb2b220, 0x1e256: 0x6c09ac20, 0x1e257: 0x6d049620,\n\t0x1e258: 0x6cc11620, 0x1e259: 0x6c037c20, 0x1e25a: 0x6c26aa20, 0x1e25b: 0x6d411e20,\n\t0x1e25c: 0x6ce1cc20, 0x1e25d: 0x6d3a7220, 0x1e25e: 0x6c224820, 0x1e25f: 0x6d305e20,\n\t0x1e260: 0x6d1e3e20, 0x1e261: 0x6d064620, 0x1e262: 0x6d0a2020, 0x1e263: 0x6d180c20,\n\t0x1e264: 0x6c5a5620, 0x1e265: 0x6c514420, 0x1e266: 0x6cd3a220, 0x1e267: 0x6c13f020,\n\t0x1e268: 0x6cfff820, 0x1e269: 0x6cd1d820, 0x1e26a: 0x6c523e20, 0x1e26b: 0x6c144420,\n\t0x1e26c: 0x6c46ba20, 0x1e26d: 0x6c4b0c20, 0x1e26e: 0x6cc30420, 0x1e26f: 0x6c5bea20,\n\t0x1e270: 0x6c6afc20, 0x1e271: 0x6c57a220, 0x1e272: 0x6c40fc20, 0x1e273: 0x6cfdca20,\n\t0x1e274: 0x6ceea420, 0x1e275: 0x6ccffc20, 0x1e276: 0x6d393420, 0x1e277: 0x6ce75c20,\n\t0x1e278: 0x6c9c6220, 0x1e279: 0x6d2d8420, 0x1e27a: 0x6ca04620, 0x1e27b: 0x6c366420,\n\t0x1e27c: 0x6c5ace20, 0x1e27d: 0x6d0cb220, 0x1e27e: 0x6d046e20, 0x1e27f: 0x6c48bc20,\n\t// Block 0x78a, offset 0x1e280\n\t0x1e280: 0x6c37d220, 0x1e281: 0x6c0e2420, 0x1e282: 0x6ce5c420, 0x1e283: 0x6d152020,\n\t0x1e284: 0x6c82ca20, 0x1e285: 0x6d39b420, 0x1e286: 0x6c7ba420, 0x1e287: 0x6c7ac620,\n\t0x1e288: 0x6cf3dc20, 0x1e289: 0x6d238220, 0x1e28a: 0x6ce2a420, 0x1e28b: 0x6c625220,\n\t0x1e28c: 0x6d36a020, 0x1e28d: 0x6cc60220, 0x1e28e: 0x6c244e20, 0x1e28f: 0x6c810c20,\n\t0x1e290: 0x6c357a20, 0x1e291: 0x6c7bc620, 0x1e292: 0x6c370c20, 0x1e293: 0x6cd3b820,\n\t0x1e294: 0x6ce6d820, 0x1e295: 0x6c289620, 0x1e296: 0x6c074620, 0x1e297: 0x6c151020,\n\t0x1e298: 0x6d205620, 0x1e299: 0x6c794a20, 0x1e29a: 0x6cbc4e20, 0x1e29b: 0x6cbd3820,\n\t0x1e29c: 0x6cd65020, 0x1e29d: 0x6c014220, 0x1e29e: 0x6d227c20, 0x1e29f: 0x6cfffe20,\n\t0x1e2a0: 0x6c1a2220, 0x1e2a1: 0x6c6bf420, 0x1e2a2: 0x6cfcee20, 0x1e2a3: 0x6cf37a20,\n\t0x1e2a4: 0x6cf51020, 0x1e2a5: 0x6c435620, 0x1e2a6: 0x6cd99a20, 0x1e2a7: 0x6c101a20,\n\t0x1e2a8: 0x6c5c0420, 0x1e2a9: 0x6c6e9820, 0x1e2aa: 0x6cd76a20, 0x1e2ab: 0x6d325220,\n\t0x1e2ac: 0x6cd76c20, 0x1e2ad: 0x6c31ae20, 0x1e2ae: 0x6c57e420, 0x1e2af: 0x6c172420,\n\t0x1e2b0: 0x6cd6fe20, 0x1e2b1: 0x6c6b2820, 0x1e2b2: 0x6c78d420, 0x1e2b3: 0x6cc13a20,\n\t0x1e2b4: 0x6c23ac20, 0x1e2b5: 0x6cff9820, 0x1e2b6: 0x6cdc6420, 0x1e2b7: 0x6cee3620,\n\t0x1e2b8: 0x6cfb8620, 0x1e2b9: 0x6c3a6c20, 0x1e2ba: 0x6c1ad220, 0x1e2bb: 0x6cde9220,\n\t0x1e2bc: 0x6d186620, 0x1e2bd: 0x6ca6c220, 0x1e2be: 0x6d1a9a20, 0x1e2bf: 0x6c2e3820,\n\t// Block 0x78b, offset 0x1e2c0\n\t0x1e2c0: 0x6cb06820, 0x1e2c1: 0x6d3d8c20, 0x1e2c2: 0x6c15de20, 0x1e2c3: 0x6c188420,\n\t0x1e2c4: 0x6d3cd620, 0x1e2c5: 0x6c626a20, 0x1e2c6: 0x6cb52820, 0x1e2c7: 0x6ce00820,\n\t0x1e2c8: 0x6d3ca420, 0x1e2c9: 0x6cf00c20, 0x1e2ca: 0x6c714c20, 0x1e2cb: 0x6cbeb220,\n\t0x1e2cc: 0x6c303c20, 0x1e2cd: 0x6d335420, 0x1e2ce: 0x6d2af220, 0x1e2cf: 0x6d406020,\n\t0x1e2d0: 0x6cb91620, 0x1e2d1: 0x6d3d8e20, 0x1e2d2: 0x6c89c820, 0x1e2d3: 0x6c66c020,\n\t0x1e2d4: 0x6c1f6e20, 0x1e2d5: 0x6c4fe420, 0x1e2d6: 0x6c952620, 0x1e2d7: 0x6cd06e20,\n\t0x1e2d8: 0x6c0c7820, 0x1e2d9: 0x6c581220, 0x1e2da: 0x6cb12620, 0x1e2db: 0x6d219420,\n\t0x1e2dc: 0x6c2eea20, 0x1e2dd: 0x6d05e820, 0x1e2de: 0x6cb14220, 0x1e2df: 0x6cd3de20,\n\t0x1e2e0: 0x6d07d220, 0x1e2e1: 0x6cd3e020, 0x1e2e2: 0x6c5d4220, 0x1e2e3: 0x6c57c020,\n\t0x1e2e4: 0x6c36ac20, 0x1e2e5: 0x6d384020, 0x1e2e6: 0x6c2c9c20, 0x1e2e7: 0x6d00f220,\n\t0x1e2e8: 0x6c3ef620, 0x1e2e9: 0x6cb49420, 0x1e2ea: 0x6ce69020, 0x1e2eb: 0x6c66d620,\n\t0x1e2ec: 0x6cb71e20, 0x1e2ed: 0x6d23f620, 0x1e2ee: 0x6d3e9020, 0x1e2ef: 0x6d3b9420,\n\t0x1e2f0: 0x6cf81420, 0x1e2f1: 0x6c5c4220, 0x1e2f2: 0x6d1a0220, 0x1e2f3: 0x6c015020,\n\t0x1e2f4: 0x6cfb9e20, 0x1e2f5: 0x6ca40e20, 0x1e2f6: 0x6c18ec20, 0x1e2f7: 0x6c3cce20,\n\t0x1e2f8: 0x6d39c620, 0x1e2f9: 0x6d0fd820, 0x1e2fa: 0x6d0ec420, 0x1e2fb: 0x6c5a0020,\n\t0x1e2fc: 0x6d07d420, 0x1e2fd: 0x6c443a20, 0x1e2fe: 0x6cab0e20, 0x1e2ff: 0x6cb53220,\n\t// Block 0x78c, offset 0x1e300\n\t0x1e300: 0x6ca1e820, 0x1e301: 0x6d134620, 0x1e302: 0x6cf0d620, 0x1e303: 0x6d044620,\n\t0x1e304: 0x6ce2ba20, 0x1e305: 0x6d38b620, 0x1e306: 0x6ccdc020, 0x1e307: 0x6c65ec20,\n\t0x1e308: 0x6cb33a20, 0x1e309: 0x6c7d2220, 0x1e30a: 0x6c5a6420, 0x1e30b: 0x6c5e0c20,\n\t0x1e30c: 0x6c43b620, 0x1e30d: 0x6d1cac20, 0x1e30e: 0x6c9c7420, 0x1e30f: 0x6cffc020,\n\t0x1e310: 0x6c9d9820, 0x1e311: 0x6cf81a20, 0x1e312: 0x6cbae220, 0x1e313: 0x6c188c20,\n\t0x1e314: 0x6d097220, 0x1e315: 0x6ce38820, 0x1e316: 0x6cdb4a20, 0x1e317: 0x6c059420,\n\t0x1e318: 0x6c1b5a20, 0x1e319: 0x6cb92820, 0x1e31a: 0x6cd3ea20, 0x1e31b: 0x6c67c820,\n\t0x1e31c: 0x6d25b620, 0x1e31d: 0x6d023620, 0x1e31e: 0x6c51f620, 0x1e31f: 0x6ce1f220,\n\t0x1e320: 0x6d115020, 0x1e321: 0x6d115220, 0x1e322: 0x6d378020, 0x1e323: 0x6d21c820,\n\t0x1e324: 0x6c0c4020, 0x1e325: 0x6c23e020, 0x1e326: 0x6cbee620, 0x1e327: 0x6c846420,\n\t0x1e328: 0x6ca08020, 0x1e329: 0x6ca17620, 0x1e32a: 0x6cce2420, 0x1e32b: 0x6d30b020,\n\t0x1e32c: 0x6ca05420, 0x1e32d: 0x6c660420, 0x1e32e: 0x6d2b1820, 0x1e32f: 0x6c6a3a20,\n\t0x1e330: 0x6c886e20, 0x1e331: 0x6c90c620, 0x1e332: 0x6c121020, 0x1e333: 0x6cab5e20,\n\t0x1e334: 0x6c4c0620, 0x1e335: 0x6cf7ae20, 0x1e336: 0x6d3dc020, 0x1e337: 0x6c027a20,\n\t0x1e338: 0x6c027c20, 0x1e339: 0x6c6cc220, 0x1e33a: 0x6d30b220, 0x1e33b: 0x6d158620,\n\t0x1e33c: 0x6c551220, 0x1e33d: 0x6c680e20, 0x1e33e: 0x6c978e20, 0x1e33f: 0x6c178a20,\n\t// Block 0x78d, offset 0x1e340\n\t0x1e340: 0x6c4f2620, 0x1e341: 0x6c576020, 0x1e342: 0x6c160020, 0x1e343: 0x6d060020,\n\t0x1e344: 0x6d2ba420, 0x1e345: 0x6ccb9220, 0x1e346: 0x6cf71c20, 0x1e347: 0x6d2c0420,\n\t0x1e348: 0x6c337a20, 0x1e349: 0x6d336c20, 0x1e34a: 0x6ca4ce20, 0x1e34b: 0x6c7fda20,\n\t0x1e34c: 0x6c359820, 0x1e34d: 0x6d1c2620, 0x1e34e: 0x6c74ee20, 0x1e34f: 0x6c5f8220,\n\t0x1e350: 0x6d421220, 0x1e351: 0x6c696020, 0x1e352: 0x6c0ffc20, 0x1e353: 0x6c5c8620,\n\t0x1e354: 0x6d3bf420, 0x1e355: 0x6cf40820, 0x1e356: 0x6d2b7a20, 0x1e357: 0x6d2c6220,\n\t0x1e358: 0x6cd42220, 0x1e359: 0x6cbc6c20, 0x1e35a: 0x6ce03620, 0x1e35b: 0x6d2b7c20,\n\t0x1e35c: 0x6cb4a020, 0x1e35d: 0x6cd12820, 0x1e35e: 0x6d07ee20, 0x1e35f: 0x6d2a9820,\n\t0x1e360: 0x6ce04020, 0x1e361: 0x6c293620, 0x1e362: 0x6cdcac20, 0x1e363: 0x6cfc4e20,\n\t0x1e364: 0x6c5f8c20, 0x1e365: 0x6c69d820, 0x1e366: 0x6c6e3c20, 0x1e367: 0x6d2e9820,\n\t0x1e368: 0x6ca45c20, 0x1e369: 0x6d143220, 0x1e36a: 0x6c010420, 0x1e36b: 0x6d2dbc20,\n\t0x1e36c: 0x6cb0d820, 0x1e36d: 0x6c5b7e20, 0x1e36e: 0x6c57d420, 0x1e36f: 0x6d193220,\n\t0x1e370: 0x6d193420, 0x1e371: 0x6ccdd620, 0x1e372: 0x6cc51c20, 0x1e373: 0x6caa3220,\n\t0x1e374: 0x6cba3220, 0x1e375: 0x6d3cbe20, 0x1e376: 0x6cdee420, 0x1e377: 0x6c56e020,\n\t0x1e378: 0x6d38c420, 0x1e379: 0x6c500420, 0x1e37a: 0x6c010620, 0x1e37b: 0x6d1c3420,\n\t0x1e37c: 0x6c671a20, 0x1e37d: 0x6d246620, 0x1e37e: 0x6c662c20, 0x1e37f: 0x6c5c9c20,\n\t// Block 0x78e, offset 0x1e380\n\t0x1e380: 0x6c31f020, 0x1e381: 0x6d30bc20, 0x1e382: 0x6d08d020, 0x1e383: 0x6d29bc20,\n\t0x1e384: 0x6c830c20, 0x1e385: 0x6cd08c20, 0x1e386: 0x6cf12220, 0x1e387: 0x6c161a20,\n\t0x1e388: 0x6c879020, 0x1e389: 0x6d159a20, 0x1e38a: 0x6c0bdc20, 0x1e38b: 0x6d30c820,\n\t0x1e38c: 0x6d0f0e20, 0x1e38d: 0x6c36f220, 0x1e38e: 0x6c1e0e20, 0x1e38f: 0x6cf12a20,\n\t0x1e390: 0x6c1e1020, 0x1e391: 0x6d125620, 0x1e392: 0x6c157c20, 0x1e393: 0x6cc51e20,\n\t0x1e394: 0x6d1b2c20, 0x1e395: 0x6c801020, 0x1e396: 0x6c194820, 0x1e397: 0x6d013820,\n\t0x1e398: 0x6ca8cc20, 0x1e399: 0x6c584c20, 0x1e39a: 0x6d29ca20, 0x1e39b: 0x6d197c20,\n\t0x1e39c: 0x6c294a20, 0x1e39d: 0x6d2dda20, 0x1e39e: 0x6d0f2a20, 0x1e39f: 0x6c321020,\n\t0x1e3a0: 0x6d0c5020, 0x1e3a1: 0x6c616e20, 0x1e3a2: 0x6c2f8c20, 0x1e3a3: 0x6c3fa220,\n\t0x1e3a4: 0x6cc5a420, 0x1e3a5: 0x6c5e6620, 0x1e3a6: 0x6c6a5c20, 0x1e3a7: 0x6c53b420,\n\t0x1e3a8: 0x6ce25820, 0x1e3a9: 0x6cc51820, 0x1e3aa: 0x6ccd6620, 0x1e3ab: 0x6cb72820,\n\t0x1e3ac: 0x6cea9420, 0x1e3ad: 0x6d0abe20, 0x1e3ae: 0x6d164e20, 0x1e3af: 0x6d0a6220,\n\t0x1e3b0: 0x6c617020, 0x1e3b1: 0x6cc5aa20, 0x1e3b2: 0x6c679c20, 0x1e3b3: 0x6c5b8c20,\n\t0x1e3b4: 0x6cab2c20, 0x1e3b5: 0x6c71f420, 0x1e3b6: 0x6d0b7220, 0x1e3b7: 0x6ca54220,\n\t0x1e3b8: 0x6d062420, 0x1e3b9: 0x6c354620, 0x1e3ba: 0x6c952020, 0x1e3bb: 0x6d045220,\n\t0x1e3bc: 0x6cd97c20, 0x1e3bd: 0x6c3cc420, 0x1e3be: 0x6ccf3220, 0x1e3bf: 0x6c39b820,\n\t// Block 0x78f, offset 0x1e3c0\n\t0x1e3c0: 0x6c73d620, 0x1e3c1: 0x6d333a20, 0x1e3c2: 0x6c475a20, 0x1e3c3: 0x6c508a20,\n\t0x1e3c4: 0x6cb27020, 0x1e3c5: 0x6d410820, 0x1e3c6: 0x6cd40e20, 0x1e3c7: 0x6d048620,\n\t0x1e3c8: 0x6d2caa20, 0x1e3c9: 0x6cdb7820, 0x1e3ca: 0x6d31b420, 0x1e3cb: 0x6c2bce20,\n\t0x1e3cc: 0x6d385420, 0x1e3cd: 0x6c221e20, 0x1e3ce: 0x6cc0d420, 0x1e3cf: 0x6d2f9820,\n\t0x1e3d0: 0x6c092020, 0x1e3d1: 0x6d169c20, 0x1e3d2: 0x6d146620, 0x1e3d3: 0x6c7b8620,\n\t0x1e3d4: 0x6c82b620, 0x1e3d5: 0x6cd32220, 0x1e3d6: 0x6c48aa20, 0x1e3d7: 0x6cd19c20,\n\t0x1e3d8: 0x6c5fe420, 0x1e3d9: 0x6c5a8c20, 0x1e3da: 0x6c19c020, 0x1e3db: 0x6d398420,\n\t0x1e3dc: 0x6ccfb420, 0x1e3dd: 0x6c578620, 0x1e3de: 0x6c286c20, 0x1e3df: 0x6c469620,\n\t0x1e3e0: 0x6cc2ba20, 0x1e3e1: 0x6c4aca20, 0x1e3e2: 0x6d09e020, 0x1e3e3: 0x6d16d220,\n\t0x1e3e4: 0x6d328e20, 0x1e3e5: 0x6c40de20, 0x1e3e6: 0x6cfdb020, 0x1e3e7: 0x6c143220,\n\t0x1e3e8: 0x6c5d1a20, 0x1e3e9: 0x6d062e20, 0x1e3ea: 0x6d386220, 0x1e3eb: 0x6c6bd420,\n\t0x1e3ec: 0x6cf35c20, 0x1e3ed: 0x6d223020, 0x1e3ee: 0x6cbc3220, 0x1e3ef: 0x6cf4ce20,\n\t0x1e3f0: 0x6c433c20, 0x1e3f1: 0x6d203220, 0x1e3f2: 0x6c5ba420, 0x1e3f3: 0x6c7bbc20,\n\t0x1e3f4: 0x6cd76620, 0x1e3f5: 0x6cd98220, 0x1e3f6: 0x6c370a20, 0x1e3f7: 0x6cbea220,\n\t0x1e3f8: 0x6d399620, 0x1e3f9: 0x6d404a20, 0x1e3fa: 0x6caae620, 0x1e3fb: 0x6c319420,\n\t0x1e3fc: 0x6d3d3e20, 0x1e3fd: 0x6c3a4e20, 0x1e3fe: 0x6c789c20, 0x1e3ff: 0x6cefa620,\n\t// Block 0x790, offset 0x1e400\n\t0x1e400: 0x6d20f820, 0x1e401: 0x6cd6fa20, 0x1e402: 0x6cd05420, 0x1e403: 0x6c2e1620,\n\t0x1e404: 0x6c15a220, 0x1e405: 0x6c89b020, 0x1e406: 0x6d3cd020, 0x1e407: 0x6cdc3220,\n\t0x1e408: 0x6cdfd620, 0x1e409: 0x6cd05620, 0x1e40a: 0x6d174820, 0x1e40b: 0x6ca1d020,\n\t0x1e40c: 0x6c18c220, 0x1e40d: 0x6c2e9620, 0x1e40e: 0x6c5a5220, 0x1e40f: 0x6c668220,\n\t0x1e410: 0x6d00a620, 0x1e411: 0x6d095a20, 0x1e412: 0x6d12ea20, 0x1e413: 0x6cf08820,\n\t0x1e414: 0x6c361a20, 0x1e415: 0x6d232420, 0x1e416: 0x6d078e20, 0x1e417: 0x6c14f020,\n\t0x1e418: 0x6d3e2c20, 0x1e419: 0x6c012c20, 0x1e41a: 0x6d0e6620, 0x1e41b: 0x6c2c5020,\n\t0x1e41c: 0x6c9c4e20, 0x1e41d: 0x6cb13c20, 0x1e41e: 0x6d059020, 0x1e41f: 0x6ca05820,\n\t0x1e420: 0x6c292e20, 0x1e421: 0x6cdab820, 0x1e422: 0x6d01b620, 0x1e423: 0x6d10fe20,\n\t0x1e424: 0x6c057420, 0x1e425: 0x6cd38c20, 0x1e426: 0x6cb8e420, 0x1e427: 0x6c9d4c20,\n\t0x1e428: 0x6c6c9820, 0x1e429: 0x6c976820, 0x1e42a: 0x6d306620, 0x1e42b: 0x6c65b620,\n\t0x1e42c: 0x6ca05220, 0x1e42d: 0x6cdff420, 0x1e42e: 0x6d2b7820, 0x1e42f: 0x6cbbe420,\n\t0x1e430: 0x6c7fa820, 0x1e431: 0x6cb49020, 0x1e432: 0x6c748620, 0x1e433: 0x6d0ea820,\n\t0x1e434: 0x6cba1e20, 0x1e435: 0x6d2d9020, 0x1e436: 0x6c193c20, 0x1e437: 0x6c475c20,\n\t0x1e438: 0x6cb8cc20, 0x1e439: 0x6c534020, 0x1e43a: 0x6cf96420, 0x1e43b: 0x6c602420,\n\t0x1e43c: 0x6c536820, 0x1e43d: 0x6c4db220, 0x1e43e: 0x6c52c020, 0x1e43f: 0x6cf6f420,\n\t// Block 0x791, offset 0x1e440\n\t0x1e440: 0x6cf6f620, 0x1e441: 0x6c5d6220, 0x1e442: 0x6c8a3e20, 0x1e443: 0x6c4e6a20,\n\t0x1e444: 0x6c31f220, 0x1e445: 0x6c900420, 0x1e446: 0x6c30fa20, 0x1e447: 0x6c675a20,\n\t0x1e448: 0x6cb6e820, 0x1e449: 0x6cd37220, 0x1e44a: 0x6c852420, 0x1e44b: 0x6c2a9e20,\n\t0x1e44c: 0x6cec9a20, 0x1e44d: 0x6c088a20, 0x1e44e: 0x6cd60820, 0x1e44f: 0x6cfd1c20,\n\t0x1e450: 0x6c3c7020, 0x1e451: 0x6d375a20, 0x1e452: 0x6d377620, 0x1e453: 0x6d0f2c20,\n\t0x1e454: 0x6d0f3020, 0x1e455: 0x6cd2b020, 0x1e456: 0x6c1f1620, 0x1e457: 0x6c5aae20,\n\t0x1e458: 0x6cea4e20, 0x1e459: 0x6d177c20, 0x1e45a: 0x6cea5020, 0x1e45b: 0x6d177e20,\n\t0x1e45c: 0x6c649020, 0x1e45d: 0x6c034a20, 0x1e45e: 0x6c547220, 0x1e45f: 0x6c364820,\n\t0x1e460: 0x6c1e8420, 0x1e461: 0x6cfe3020, 0x1e462: 0x6c593e20, 0x1e463: 0x6c64c220,\n\t0x1e464: 0x6c790420, 0x1e465: 0x6c40fe20, 0x1e466: 0x6c725a20, 0x1e467: 0x6c3d8a20,\n\t0x1e468: 0x6cf68420, 0x1e469: 0x6c0d4820, 0x1e46a: 0x6c4fd620, 0x1e46b: 0x6d23ce20,\n\t0x1e46c: 0x6d39c820, 0x1e46d: 0x6c638420, 0x1e46e: 0x6c3b9a20, 0x1e46f: 0x6cf6f820,\n\t0x1e470: 0x6c0f8020, 0x1e471: 0x6cf16620, 0x1e472: 0x6c58aa20, 0x1e473: 0x6c0d5820,\n\t0x1e474: 0x6c2ba620, 0x1e475: 0x6d3fce20, 0x1e476: 0x6c3ba620, 0x1e477: 0x6d191c20,\n\t0x1e478: 0x6d357c20, 0x1e479: 0x6c064020, 0x1e47a: 0x6c147820, 0x1e47b: 0x6c01b420,\n\t0x1e47c: 0x6cafe620, 0x1e47d: 0x6ca33c20, 0x1e47e: 0x6caf6620, 0x1e47f: 0x6c468a20,\n\t// Block 0x792, offset 0x1e480\n\t0x1e480: 0x6ca34620, 0x1e481: 0x6d204820, 0x1e482: 0x6c2dcc20, 0x1e483: 0x6ca11e20,\n\t0x1e484: 0x6cd8ce20, 0x1e485: 0x6d04dc20, 0x1e486: 0x6c588420, 0x1e487: 0x6c7d7220,\n\t0x1e488: 0x6c514820, 0x1e489: 0x6c4fce20, 0x1e48a: 0x6ca13220, 0x1e48b: 0x6c4ef020,\n\t0x1e48c: 0x6c99a420, 0x1e48d: 0x6c842220, 0x1e48e: 0x6ca60420, 0x1e48f: 0x6c08f420,\n\t0x1e490: 0x6d229620, 0x1e491: 0x6c638620, 0x1e492: 0x6ce93a20, 0x1e493: 0x6c98be20,\n\t0x1e494: 0x6cb02620, 0x1e495: 0x6cf6fa20, 0x1e496: 0x6c36b820, 0x1e497: 0x6c72ae20,\n\t0x1e498: 0x6ca17820, 0x1e499: 0x6c1e6a20, 0x1e49a: 0x6ce03820, 0x1e49b: 0x6c584e20,\n\t0x1e49c: 0x6c753620, 0x1e49d: 0x6c06dc20, 0x1e49e: 0x6d313220, 0x1e49f: 0x6d254a20,\n\t0x1e4a0: 0x6c3fc820, 0x1e4a1: 0x6c110e20, 0x1e4a2: 0x6c461420, 0x1e4a3: 0x6ce27220,\n\t0x1e4a4: 0x6d14de20, 0x1e4a5: 0x6c4f7820, 0x1e4a6: 0x6ced8020, 0x1e4a7: 0x6cb20a20,\n\t0x1e4a8: 0x6c5dc820, 0x1e4a9: 0x6c395020, 0x1e4aa: 0x6cdfa620, 0x1e4ab: 0x6c498620,\n\t0x1e4ac: 0x6d2ac820, 0x1e4ad: 0x6d345e20, 0x1e4ae: 0x6c37cc20, 0x1e4af: 0x6d3afe20,\n\t0x1e4b0: 0x6cd38e20, 0x1e4b1: 0x6c09ae20, 0x1e4b2: 0x6d3e5e20, 0x1e4b3: 0x6c37d020,\n\t0x1e4b4: 0x6c4b4e20, 0x1e4b5: 0x6cb14020, 0x1e4b6: 0x6c0b3a20, 0x1e4b7: 0x6c971420,\n\t0x1e4b8: 0x6c277220, 0x1e4b9: 0x6cd16820, 0x1e4ba: 0x6c7bf820, 0x1e4bb: 0x6c3ab220,\n\t0x1e4bc: 0x6ce5f420, 0x1e4bd: 0x6d150620, 0x1e4be: 0x6c1b2a20, 0x1e4bf: 0x6c998620,\n\t// Block 0x793, offset 0x1e4c0\n\t0x1e4c0: 0x6c51c820, 0x1e4c1: 0x6c09b020, 0x1e4c2: 0x6c927420, 0x1e4c3: 0x6c8c5420,\n\t0x1e4c4: 0x6c5bec20, 0x1e4c5: 0x6c410020, 0x1e4c6: 0x6cb11a20, 0x1e4c7: 0x6d3e6020,\n\t0x1e4c8: 0x6c642020, 0x1e4c9: 0x6d070420, 0x1e4ca: 0x6d2b6020, 0x1e4cb: 0x6c691020,\n\t0x1e4cc: 0x6c414a20, 0x1e4cd: 0x6d29dc20, 0x1e4ce: 0x6c669e20, 0x1e4cf: 0x6d1be220,\n\t0x1e4d0: 0x6d0a9c20, 0x1e4d1: 0x6d325420, 0x1e4d2: 0x6ccef820, 0x1e4d3: 0x6c0d4a20,\n\t0x1e4d4: 0x6c0d4c20, 0x1e4d5: 0x6cc08620, 0x1e4d6: 0x6ccefa20, 0x1e4d7: 0x6c203c20,\n\t0x1e4d8: 0x6d29e620, 0x1e4d9: 0x6d38a220, 0x1e4da: 0x6c7f5220, 0x1e4db: 0x6d299820,\n\t0x1e4dc: 0x6c22e020, 0x1e4dd: 0x6c188620, 0x1e4de: 0x6cce3a20, 0x1e4df: 0x6ce51620,\n\t0x1e4e0: 0x6cadee20, 0x1e4e1: 0x6c44de20, 0x1e4e2: 0x6cfb8820, 0x1e4e3: 0x6c974020,\n\t0x1e4e4: 0x6c66c220, 0x1e4e5: 0x6cdc6820, 0x1e4e6: 0x6c404420, 0x1e4e7: 0x6ce0aa20,\n\t0x1e4e8: 0x6c23ae20, 0x1e4e9: 0x6c23b020, 0x1e4ea: 0x6d36c620, 0x1e4eb: 0x6c5f2220,\n\t0x1e4ec: 0x6d2f3e20, 0x1e4ed: 0x6c322c20, 0x1e4ee: 0x6c6d5420, 0x1e4ef: 0x6d047420,\n\t0x1e4f0: 0x6c218820, 0x1e4f1: 0x6d280420, 0x1e4f2: 0x6c061420, 0x1e4f3: 0x6d290c20,\n\t0x1e4f4: 0x6c7f5820, 0x1e4f5: 0x6c3cf820, 0x1e4f6: 0x6c125c20, 0x1e4f7: 0x6c5f6020,\n\t0x1e4f8: 0x6cd17e20, 0x1e4f9: 0x6d18da20, 0x1e4fa: 0x6d3bec20, 0x1e4fb: 0x6c406820,\n\t0x1e4fc: 0x6c46de20, 0x1e4fd: 0x6cc9ea20, 0x1e4fe: 0x6d2b1a20, 0x1e4ff: 0x6c8a4020,\n\t// Block 0x794, offset 0x1e500\n\t0x1e500: 0x6d18f820, 0x1e501: 0x6c045e20, 0x1e502: 0x6c191620, 0x1e503: 0x6ceda620,\n\t0x1e504: 0x6d373220, 0x1e505: 0x6d3cb620, 0x1e506: 0x6c0c4620, 0x1e507: 0x6d276e20,\n\t0x1e508: 0x6d2bb620, 0x1e509: 0x6c28e020, 0x1e50a: 0x6d29ae20, 0x1e50b: 0x6d0eec20,\n\t0x1e50c: 0x6cb4c420, 0x1e50d: 0x6ccdd820, 0x1e50e: 0x6cedac20, 0x1e50f: 0x6d1cca20,\n\t0x1e510: 0x6c6d7220, 0x1e511: 0x6c423c20, 0x1e512: 0x6cfbd420, 0x1e513: 0x6d29f020,\n\t0x1e514: 0x6c0ac620, 0x1e515: 0x6c31f420, 0x1e516: 0x6cd54820, 0x1e517: 0x6d0f0620,\n\t0x1e518: 0x6cce4220, 0x1e519: 0x6d08d420, 0x1e51a: 0x6c907020, 0x1e51b: 0x6c424420,\n\t0x1e51c: 0x6d29f420, 0x1e51d: 0x6c06d220, 0x1e51e: 0x6d311c20, 0x1e51f: 0x6c3fa820,\n\t0x1e520: 0x6d253420, 0x1e521: 0x6c460c20, 0x1e522: 0x6c110c20, 0x1e523: 0x6d2aae20,\n\t0x1e524: 0x6cfb2e20, 0x1e525: 0x6c043820, 0x1e526: 0x6d2f2a20, 0x1e527: 0x6c5da220,\n\t0x1e528: 0x6d358e20, 0x1e529: 0x6c393420, 0x1e52a: 0x6cdf9220, 0x1e52b: 0x6cb20620,\n\t0x1e52c: 0x6c0b2a20, 0x1e52d: 0x6c469820, 0x1e52e: 0x6d3ab420, 0x1e52f: 0x6c497a20,\n\t0x1e530: 0x6c37c420, 0x1e531: 0x6c666220, 0x1e532: 0x6c078220, 0x1e533: 0x6cd34820,\n\t0x1e534: 0x6ce5ec20, 0x1e535: 0x6c4b3a20, 0x1e536: 0x6c7bec20, 0x1e537: 0x6c274e20,\n\t0x1e538: 0x6c995a20, 0x1e539: 0x6c3a9220, 0x1e53a: 0x6c51be20, 0x1e53b: 0x6d14b020,\n\t0x1e53c: 0x6d2b5c20, 0x1e53d: 0x6d35ce20, 0x1e53e: 0x6c640e20, 0x1e53f: 0x6c5bb020,\n\t// Block 0x795, offset 0x1e540\n\t0x1e540: 0x6d3e1e20, 0x1e541: 0x6c8c5020, 0x1e542: 0x6c922c20, 0x1e543: 0x6d29d820,\n\t0x1e544: 0x6d3e2020, 0x1e545: 0x6c40f020, 0x1e546: 0x6c6cfa20, 0x1e547: 0x6cc05220,\n\t0x1e548: 0x6d323c20, 0x1e549: 0x6c7f4620, 0x1e54a: 0x6ccef020, 0x1e54b: 0x6c400020,\n\t0x1e54c: 0x6c322020, 0x1e54d: 0x6c5edc20, 0x1e54e: 0x6cd52c20, 0x1e54f: 0x6cce3820,\n\t0x1e550: 0x6c22ce20, 0x1e551: 0x6c09b220, 0x1e552: 0x6d388c20, 0x1e553: 0x6c44d420,\n\t0x1e554: 0x6cadda20, 0x1e555: 0x6c283620, 0x1e556: 0x6c7f4c20, 0x1e557: 0x6c3ce820,\n\t0x1e558: 0x6d3c9e20, 0x1e559: 0x6c402820, 0x1e55a: 0x6d3bd620, 0x1e55b: 0x6cc9e620,\n\t0x1e55c: 0x6d2af420, 0x1e55d: 0x6d0ec820, 0x1e55e: 0x6d299a20, 0x1e55f: 0x6d276820,\n\t0x1e560: 0x6d2bb220, 0x1e561: 0x6ccdc220, 0x1e562: 0x6d1cae20, 0x1e563: 0x6c423e20,\n\t0x1e564: 0x6c1be820, 0x1e565: 0x6cf60220, 0x1e566: 0x6ccf4620, 0x1e567: 0x6ca42420,\n\t0x1e568: 0x6ce75e20, 0x1e569: 0x6cf8a820, 0x1e56a: 0x6c197620, 0x1e56b: 0x6c51dc20,\n\t0x1e56c: 0x6c199620, 0x1e56d: 0x6d30dc20, 0x1e56e: 0x6cf9f620, 0x1e56f: 0x6ce14620,\n\t0x1e570: 0x6d407e20, 0x1e571: 0x6d407c20, 0x1e572: 0x6c85b620, 0x1e573: 0x6c6f6020,\n\t0x1e574: 0x6c3fca20, 0x1e575: 0x6d2fa620, 0x1e576: 0x6c41d220, 0x1e577: 0x6cb6ea20,\n\t0x1e578: 0x6ccd8020, 0x1e579: 0x6cbf1c20, 0x1e57a: 0x6d1adc20, 0x1e57b: 0x6cfc0c20,\n\t0x1e57c: 0x6c21fe20, 0x1e57d: 0x6c743620, 0x1e57e: 0x6cbdd420, 0x1e57f: 0x6c1b2020,\n\t// Block 0x796, offset 0x1e580\n\t0x1e580: 0x6c220020, 0x1e581: 0x6c192820, 0x1e582: 0x6c192a20, 0x1e583: 0x6c2eb620,\n\t0x1e584: 0x6c70a020, 0x1e585: 0x6c174820, 0x1e586: 0x6c2b3020, 0x1e587: 0x6cf89620,\n\t0x1e588: 0x6d2d7a20, 0x1e589: 0x6c745c20, 0x1e58a: 0x6d26be20, 0x1e58b: 0x6cc11820,\n\t0x1e58c: 0x6c606220, 0x1e58d: 0x6c1b3e20, 0x1e58e: 0x6c1e9420, 0x1e58f: 0x6c486420,\n\t0x1e590: 0x6d096820, 0x1e591: 0x6d3e6220, 0x1e592: 0x6ce59420, 0x1e593: 0x6c349c20,\n\t0x1e594: 0x6c8b1c20, 0x1e595: 0x6c41e220, 0x1e596: 0x6cdd3220, 0x1e597: 0x6c245020,\n\t0x1e598: 0x6cf79820, 0x1e599: 0x6d2fd220, 0x1e59a: 0x6cdaf420, 0x1e59b: 0x6d1b0020,\n\t0x1e59c: 0x6c715020, 0x1e59d: 0x6c66c420, 0x1e59e: 0x6cc3f420, 0x1e59f: 0x6ce1a020,\n\t0x1e5a0: 0x6c21d020, 0x1e5a1: 0x6c250420, 0x1e5a2: 0x6c92b820, 0x1e5a3: 0x6cc27420,\n\t0x1e5a4: 0x6c298c20, 0x1e5a5: 0x6cbfc820, 0x1e5a6: 0x6d3e9220, 0x1e5a7: 0x6ce37e20,\n\t0x1e5a8: 0x6cc14a20, 0x1e5a9: 0x6c1c8820, 0x1e5aa: 0x6c5a1e20, 0x1e5ab: 0x6cbc0a20,\n\t0x1e5ac: 0x6cbbc220, 0x1e5ad: 0x6c69ce20, 0x1e5ae: 0x6d2a9a20, 0x1e5af: 0x6ce44220,\n\t0x1e5b0: 0x6c37b020, 0x1e5b1: 0x6d298420, 0x1e5b2: 0x6d298820, 0x1e5b3: 0x6d40a620,\n\t0x1e5b4: 0x6cabbc20, 0x1e5b5: 0x6c064220, 0x1e5b6: 0x6c7a8c20, 0x1e5b7: 0x6c77f220,\n\t0x1e5b8: 0x6c33cc20, 0x1e5b9: 0x6c743820, 0x1e5ba: 0x6c3d6c20, 0x1e5bb: 0x6c190020,\n\t0x1e5bc: 0x6c658c20, 0x1e5bd: 0x6c39e420, 0x1e5be: 0x6d352420, 0x1e5bf: 0x6cdde620,\n\t// Block 0x797, offset 0x1e5c0\n\t0x1e5c0: 0x6d26a820, 0x1e5c1: 0x6c03b620, 0x1e5c2: 0x6cb5d820, 0x1e5c3: 0x6d26aa20,\n\t0x1e5c4: 0x6cbab420, 0x1e5c5: 0x6ceba820, 0x1e5c6: 0x6cdf2420, 0x1e5c7: 0x6d17c820,\n\t0x1e5c8: 0x6ca72620, 0x1e5c9: 0x6c8d0e20, 0x1e5ca: 0x6c9a9420, 0x1e5cb: 0x6c038220,\n\t0x1e5cc: 0x6c2e5820, 0x1e5cd: 0x6c7a4420, 0x1e5ce: 0x6ceb2420, 0x1e5cf: 0x6c636620,\n\t0x1e5d0: 0x6c220620, 0x1e5d1: 0x6cad7820, 0x1e5d2: 0x6cb83820, 0x1e5d3: 0x6d3b0020,\n\t0x1e5d4: 0x6c70a220, 0x1e5d5: 0x6c2d1c20, 0x1e5d6: 0x6d346e20, 0x1e5d7: 0x6c3d7620,\n\t0x1e5d8: 0x6cac5a20, 0x1e5d9: 0x6c724e20, 0x1e5da: 0x6ccce620, 0x1e5db: 0x6c0fe420,\n\t0x1e5dc: 0x6ca5ec20, 0x1e5dd: 0x6c724620, 0x1e5de: 0x6c861e20, 0x1e5df: 0x6c449a20,\n\t0x1e5e0: 0x6d152420, 0x1e5e1: 0x6c5ef420, 0x1e5e2: 0x6c34fe20, 0x1e5e3: 0x6cfc1c20,\n\t0x1e5e4: 0x6c685420, 0x1e5e5: 0x6c350020, 0x1e5e6: 0x6d39b620, 0x1e5e7: 0x6cc30620,\n\t0x1e5e8: 0x6c7aec20, 0x1e5e9: 0x6d3b6820, 0x1e5ea: 0x6c4b5a20, 0x1e5eb: 0x6cbf4420,\n\t0x1e5ec: 0x6c7cd620, 0x1e5ed: 0x6cfdce20, 0x1e5ee: 0x6c1c3620, 0x1e5ef: 0x6c927620,\n\t0x1e5f0: 0x6cb11c20, 0x1e5f1: 0x6d367020, 0x1e5f2: 0x6c63d020, 0x1e5f3: 0x6ce5dc20,\n\t0x1e5f4: 0x6c113820, 0x1e5f5: 0x6c669820, 0x1e5f6: 0x6cde6a20, 0x1e5f7: 0x6cbb8020,\n\t0x1e5f8: 0x6c09e220, 0x1e5f9: 0x6cfab220, 0x1e5fa: 0x6c350220, 0x1e5fb: 0x6c5ef620,\n\t0x1e5fc: 0x6c714620, 0x1e5fd: 0x6c625420, 0x1e5fe: 0x6cd4fa20, 0x1e5ff: 0x6ce8e020,\n\t// Block 0x798, offset 0x1e600\n\t0x1e600: 0x6c1f6420, 0x1e601: 0x6c6e9a20, 0x1e602: 0x6ca85620, 0x1e603: 0x6cfef820,\n\t0x1e604: 0x6c10b020, 0x1e605: 0x6d091420, 0x1e606: 0x6c259a20, 0x1e607: 0x6ca25020,\n\t0x1e608: 0x6cd4fc20, 0x1e609: 0x6c896220, 0x1e60a: 0x6d1e5420, 0x1e60b: 0x6c691820,\n\t0x1e60c: 0x6c1dce20, 0x1e60d: 0x6cbb9220, 0x1e60e: 0x6ca1da20, 0x1e60f: 0x6cde9420,\n\t0x1e610: 0x6c66c620, 0x1e611: 0x6cb64620, 0x1e612: 0x6cf29e20, 0x1e613: 0x6cf00e20,\n\t0x1e614: 0x6c219820, 0x1e615: 0x6c6b2a20, 0x1e616: 0x6c609a20, 0x1e617: 0x6ca86420,\n\t0x1e618: 0x6c70be20, 0x1e619: 0x6c70c020, 0x1e61a: 0x6c950c20, 0x1e61b: 0x6c92bc20,\n\t0x1e61c: 0x6c839a20, 0x1e61d: 0x6c57f020, 0x1e61e: 0x6c728420, 0x1e61f: 0x6c1b4e20,\n\t0x1e620: 0x6ced4820, 0x1e621: 0x6cc31420, 0x1e622: 0x6ce2fa20, 0x1e623: 0x6c0f4c20,\n\t0x1e624: 0x6d40d220, 0x1e625: 0x6cbce220, 0x1e626: 0x6d160820, 0x1e627: 0x6c245e20,\n\t0x1e628: 0x6d3fbc20, 0x1e629: 0x6c113e20, 0x1e62a: 0x6d3fbe20, 0x1e62b: 0x6caf1620,\n\t0x1e62c: 0x6d36c820, 0x1e62d: 0x6d32d820, 0x1e62e: 0x6c2d2a20, 0x1e62f: 0x6d349420,\n\t0x1e630: 0x6d21aa20, 0x1e631: 0x6c346220, 0x1e632: 0x6c340c20, 0x1e633: 0x6c202820,\n\t0x1e634: 0x6d1e6020, 0x1e635: 0x6d380820, 0x1e636: 0x6c2c9e20, 0x1e637: 0x6d2c9220,\n\t0x1e638: 0x6c191020, 0x1e639: 0x6c1fce20, 0x1e63a: 0x6c66c820, 0x1e63b: 0x6c486e20,\n\t0x1e63c: 0x6ce13e20, 0x1e63d: 0x6c71d620, 0x1e63e: 0x6c3efa20, 0x1e63f: 0x6d40d820,\n\t// Block 0x799, offset 0x1e640\n\t0x1e640: 0x6c2eec20, 0x1e641: 0x6cb12e20, 0x1e642: 0x6cc76020, 0x1e643: 0x6cab1020,\n\t0x1e644: 0x6ce38020, 0x1e645: 0x6c142020, 0x1e646: 0x6ce9ec20, 0x1e647: 0x6c65ee20,\n\t0x1e648: 0x6c29f420, 0x1e649: 0x6c25ca20, 0x1e64a: 0x6cb53a20, 0x1e64b: 0x6cdeb020,\n\t0x1e64c: 0x6cbae420, 0x1e64d: 0x6ca74020, 0x1e64e: 0x6c2ce020, 0x1e64f: 0x6ce38a20,\n\t0x1e650: 0x6c60ce20, 0x1e651: 0x6ca87e20, 0x1e652: 0x6cac7820, 0x1e653: 0x6c8e3a20,\n\t0x1e654: 0x6d29aa20, 0x1e655: 0x6c0a7a20, 0x1e656: 0x6c1cf220, 0x1e657: 0x6c931020,\n\t0x1e658: 0x6c8a4220, 0x1e659: 0x6c246e20, 0x1e65a: 0x6ce0da20, 0x1e65b: 0x6c27a420,\n\t0x1e65c: 0x6cdb5420, 0x1e65d: 0x6cf81e20, 0x1e65e: 0x6c7ce220, 0x1e65f: 0x6c5f7820,\n\t0x1e660: 0x6d34ae20, 0x1e661: 0x6cbaee20, 0x1e662: 0x6c2ba820, 0x1e663: 0x6cac8420,\n\t0x1e664: 0x6d3fd020, 0x1e665: 0x6c887020, 0x1e666: 0x6c085c20, 0x1e667: 0x6d2a2a20,\n\t0x1e668: 0x6ca74820, 0x1e669: 0x6c0d0220, 0x1e66a: 0x6ce9d220, 0x1e66b: 0x6c717e20,\n\t0x1e66c: 0x6c2ac020, 0x1e66d: 0x6c137020, 0x1e66e: 0x6cfaf420, 0x1e66f: 0x6c38dc20,\n\t0x1e670: 0x6c1ec820, 0x1e671: 0x6d37d820, 0x1e672: 0x6c33be20, 0x1e673: 0x6c0e9a20,\n\t0x1e674: 0x6c247420, 0x1e675: 0x6c247620, 0x1e676: 0x6c74f220, 0x1e677: 0x6c74f420,\n\t0x1e678: 0x6c8c7e20, 0x1e679: 0x6cde0620, 0x1e67a: 0x6cbbc420, 0x1e67b: 0x6c73bc20,\n\t0x1e67c: 0x6cb4a220, 0x1e67d: 0x6c89d420, 0x1e67e: 0x6c33c020, 0x1e67f: 0x6c249620,\n\t// Block 0x79a, offset 0x1e680\n\t0x1e680: 0x6c7c1220, 0x1e681: 0x6d2a9c20, 0x1e682: 0x6c26d220, 0x1e683: 0x6c0abc20,\n\t0x1e684: 0x6c0abe20, 0x1e685: 0x6d3a3820, 0x1e686: 0x6c72be20, 0x1e687: 0x6c1ec020,\n\t0x1e688: 0x6cbc7020, 0x1e689: 0x6c33d020, 0x1e68a: 0x6c1e0820, 0x1e68b: 0x6c5f9620,\n\t0x1e68c: 0x6cf48e20, 0x1e68d: 0x6d271820, 0x1e68e: 0x6ca74c20, 0x1e68f: 0x6c8c8220,\n\t0x1e690: 0x6c8b7620, 0x1e691: 0x6d34c020, 0x1e692: 0x6c878220, 0x1e693: 0x6d376a20,\n\t0x1e694: 0x6c156e20, 0x1e695: 0x6c1ece20, 0x1e696: 0x6c32e820, 0x1e697: 0x6cf12420,\n\t0x1e698: 0x6c900620, 0x1e699: 0x6c8c8c20, 0x1e69a: 0x6cfb0e20, 0x1e69b: 0x6cf12e20,\n\t0x1e69c: 0x6d414020, 0x1e69d: 0x6c801220, 0x1e69e: 0x6d028e20, 0x1e69f: 0x6cc4fa20,\n\t0x1e6a0: 0x6cc95e20, 0x1e6a1: 0x6ca8ce20, 0x1e6a2: 0x6cdef620, 0x1e6a3: 0x6cc22c20,\n\t0x1e6a4: 0x6c6c1220, 0x1e6a5: 0x6c249a20, 0x1e6a6: 0x6c260620, 0x1e6a7: 0x6cf83020,\n\t0x1e6a8: 0x6c7cc620, 0x1e6a9: 0x6c753a20, 0x1e6aa: 0x6c8c9020, 0x1e6ab: 0x6ccfa420,\n\t0x1e6ac: 0x6c457e20, 0x1e6ad: 0x6c27d820, 0x1e6ae: 0x6c3c0a20, 0x1e6af: 0x6cc10820,\n\t0x1e6b0: 0x6ce3c220, 0x1e6b1: 0x6c349e20, 0x1e6b2: 0x6c34a020, 0x1e6b3: 0x6c459a20,\n\t0x1e6b4: 0x6c80da20, 0x1e6b5: 0x6cc60e20, 0x1e6b6: 0x6c95be20, 0x1e6b7: 0x6c007620,\n\t0x1e6b8: 0x6c5f2420, 0x1e6b9: 0x6c715220, 0x1e6ba: 0x6ce18020, 0x1e6bb: 0x6c79ae20,\n\t0x1e6bc: 0x6c81de20, 0x1e6bd: 0x6d0dd820, 0x1e6be: 0x6c9abc20, 0x1e6bf: 0x6c775c20,\n\t// Block 0x79b, offset 0x1e6c0\n\t0x1e6c0: 0x6cc15420, 0x1e6c1: 0x6c90ce20, 0x1e6c2: 0x6c81ea20, 0x1e6c3: 0x6c34c020,\n\t0x1e6c4: 0x6d34b420, 0x1e6c5: 0x6d0f3c20, 0x1e6c6: 0x6ce3cc20, 0x1e6c7: 0x6c2a4e20,\n\t0x1e6c8: 0x6d1d7420, 0x1e6c9: 0x6d249a20, 0x1e6ca: 0x6c17ce20, 0x1e6cb: 0x6d0b8220,\n\t0x1e6cc: 0x6c4ade20, 0x1e6cd: 0x6c756420, 0x1e6ce: 0x6cf08220, 0x1e6cf: 0x6d269e20,\n\t0x1e6d0: 0x6d032c20, 0x1e6d1: 0x6c275420, 0x1e6d2: 0x6d078a20, 0x1e6d3: 0x6c393e20,\n\t0x1e6d4: 0x6cc5e420, 0x1e6d5: 0x6cccde20, 0x1e6d6: 0x6c7bc020, 0x1e6d7: 0x6cd4d620,\n\t0x1e6d8: 0x6cea5220, 0x1e6d9: 0x6c18c420, 0x1e6da: 0x6c276820, 0x1e6db: 0x6c361c20,\n\t0x1e6dc: 0x6ca34020, 0x1e6dd: 0x6cb5dc20, 0x1e6de: 0x6c98de20, 0x1e6df: 0x6cc86020,\n\t0x1e6e0: 0x6cc5ec20, 0x1e6e1: 0x6cb98c20, 0x1e6e2: 0x6d3ba620, 0x1e6e3: 0x6c52a020,\n\t0x1e6e4: 0x6c54d220, 0x1e6e5: 0x6cc19c20, 0x1e6e6: 0x6c7bfa20, 0x1e6e7: 0x6c2bfc20,\n\t0x1e6e8: 0x6c8d1220, 0x1e6e9: 0x6c277420, 0x1e6ea: 0x6c022c20, 0x1e6eb: 0x6d31e220,\n\t0x1e6ec: 0x6c395620, 0x1e6ed: 0x6c7baa20, 0x1e6ee: 0x6d102220, 0x1e6ef: 0x6cae7420,\n\t0x1e6f0: 0x6c072820, 0x1e6f1: 0x6c471420, 0x1e6f2: 0x6c471620, 0x1e6f3: 0x6cad5e20,\n\t0x1e6f4: 0x6d3b0420, 0x1e6f5: 0x6cc71020, 0x1e6f6: 0x6c364a20, 0x1e6f7: 0x6c038420,\n\t0x1e6f8: 0x6d38d420, 0x1e6f9: 0x6d353020, 0x1e6fa: 0x6d110020, 0x1e6fb: 0x6c780020,\n\t0x1e6fc: 0x6d17ca20, 0x1e6fd: 0x6d364420, 0x1e6fe: 0x6cd3a820, 0x1e6ff: 0x6cb2b820,\n\t// Block 0x79c, offset 0x1e700\n\t0x1e700: 0x6c375e20, 0x1e701: 0x6c45f420, 0x1e702: 0x6c713a20, 0x1e703: 0x6c69a820,\n\t0x1e704: 0x6c49ee20, 0x1e705: 0x6c514c20, 0x1e706: 0x6c766420, 0x1e707: 0x6cc30820,\n\t0x1e708: 0x6d389420, 0x1e709: 0x6d293c20, 0x1e70a: 0x6d367220, 0x1e70b: 0x6ccef620,\n\t0x1e70c: 0x6c89c420, 0x1e70d: 0x6d23ae20, 0x1e70e: 0x6cce7c20, 0x1e70f: 0x6d1f5c20,\n\t0x1e710: 0x6ced9020, 0x1e711: 0x6d1af820, 0x1e712: 0x6d307420, 0x1e713: 0x6ced3e20,\n\t0x1e714: 0x6c3f7c20, 0x1e715: 0x6cbe5420, 0x1e716: 0x6d38a620, 0x1e717: 0x6ca60620,\n\t0x1e718: 0x6c838420, 0x1e719: 0x6d308420, 0x1e71a: 0x6d2e7a20, 0x1e71b: 0x6c89ca20,\n\t0x1e71c: 0x6d3e8220, 0x1e71d: 0x6c5aee20, 0x1e71e: 0x6cee3820, 0x1e71f: 0x6c21d220,\n\t0x1e720: 0x6c4ccc20, 0x1e721: 0x6c76e820, 0x1e722: 0x6d160a20, 0x1e723: 0x6caec220,\n\t0x1e724: 0x6cba7a20, 0x1e725: 0x6c4be620, 0x1e726: 0x6ca73a20, 0x1e727: 0x6cb2c820,\n\t0x1e728: 0x6c496020, 0x1e729: 0x6c075220, 0x1e72a: 0x6c950e20, 0x1e72b: 0x6cac0420,\n\t0x1e72c: 0x6c896c20, 0x1e72d: 0x6cc88020, 0x1e72e: 0x6cc76220, 0x1e72f: 0x6c631020,\n\t0x1e730: 0x6d0fda20, 0x1e731: 0x6cfba020, 0x1e732: 0x6c201020, 0x1e733: 0x6c23fe20,\n\t0x1e734: 0x6c211c20, 0x1e735: 0x6c443c20, 0x1e736: 0x6d1f7220, 0x1e737: 0x6c52cc20,\n\t0x1e738: 0x6cd50820, 0x1e739: 0x6c405820, 0x1e73a: 0x6d3e9420, 0x1e73b: 0x6c3efc20,\n\t0x1e73c: 0x6cf16820, 0x1e73d: 0x6c07cc20, 0x1e73e: 0x6d2e2020, 0x1e73f: 0x6d21c020,\n\t// Block 0x79d, offset 0x1e740\n\t0x1e740: 0x6cf16a20, 0x1e741: 0x6ce1f420, 0x1e742: 0x6c47dc20, 0x1e743: 0x6d319e20,\n\t0x1e744: 0x6cfa0220, 0x1e745: 0x6d25b820, 0x1e746: 0x6c931220, 0x1e747: 0x6c689e20,\n\t0x1e748: 0x6c178620, 0x1e749: 0x6d3bb420, 0x1e74a: 0x6cf0f820, 0x1e74b: 0x6c5d0420,\n\t0x1e74c: 0x6d098c20, 0x1e74d: 0x6d30b820, 0x1e74e: 0x6c69d020, 0x1e74f: 0x6d2e9020,\n\t0x1e750: 0x6c102620, 0x1e751: 0x6c81c620, 0x1e752: 0x6c3ba820, 0x1e753: 0x6c386a20,\n\t0x1e754: 0x6c8bfc20, 0x1e755: 0x6c445220, 0x1e756: 0x6ccb8e20, 0x1e757: 0x6c76fc20,\n\t0x1e758: 0x6c58be20, 0x1e759: 0x6d162820, 0x1e75a: 0x6c60f020, 0x1e75b: 0x6d3cc020,\n\t0x1e75c: 0x6c377820, 0x1e75d: 0x6d246820, 0x1e75e: 0x6c671c20, 0x1e75f: 0x6c52e020,\n\t0x1e760: 0x6c829220, 0x1e761: 0x6cae2c20, 0x1e762: 0x6c878420, 0x1e763: 0x6c879a20,\n\t0x1e764: 0x6c91a020, 0x1e765: 0x6c8c9220, 0x1e766: 0x6c17ca20, 0x1e767: 0x6d0b6a20,\n\t0x1e768: 0x6c4ac020, 0x1e769: 0x6d077a20, 0x1e76a: 0x6c272a20, 0x1e76b: 0x6cc5ca20,\n\t0x1e76c: 0x6d3ba020, 0x1e76d: 0x6c35e220, 0x1e76e: 0x6c94e020, 0x1e76f: 0x6cc85420,\n\t0x1e770: 0x6c529820, 0x1e771: 0x6c46fa20, 0x1e772: 0x6c77ec20, 0x1e773: 0x6c914820,\n\t0x1e774: 0x6d38d020, 0x1e775: 0x6d350a20, 0x1e776: 0x6d171020, 0x1e777: 0x6c54b220,\n\t0x1e778: 0x6d31c420, 0x1e779: 0x6c85ba20, 0x1e77a: 0x6d10dc20, 0x1e77b: 0x6cbe3620,\n\t0x1e77c: 0x6cd36220, 0x1e77d: 0x6d293420, 0x1e77e: 0x6d35d020, 0x1e77f: 0x6c699620,\n\t// Block 0x79e, offset 0x1e780\n\t0x1e780: 0x6d386c20, 0x1e781: 0x6cc2d020, 0x1e782: 0x6c922e20, 0x1e783: 0x6c699820,\n\t0x1e784: 0x6d305420, 0x1e785: 0x6c3f6020, 0x1e786: 0x6c89b220, 0x1e787: 0x6ca72a20,\n\t0x1e788: 0x6c072a20, 0x1e789: 0x6c5abc20, 0x1e78a: 0x6c4bcc20, 0x1e78b: 0x6cee2620,\n\t0x1e78c: 0x6c895820, 0x1e78d: 0x6c21c420, 0x1e78e: 0x6d3e4820, 0x1e78f: 0x6c23f420,\n\t0x1e790: 0x6c3eae20, 0x1e791: 0x6c630c20, 0x1e792: 0x6cf15e20, 0x1e793: 0x6cd4f020,\n\t0x1e794: 0x6cae2020, 0x1e795: 0x6d259a20, 0x1e796: 0x6cf9e220, 0x1e797: 0x6ca72e20,\n\t0x1e798: 0x6c92c420, 0x1e799: 0x6d309420, 0x1e79a: 0x6c8be220, 0x1e79b: 0x6d02ae20,\n\t0x1e79c: 0x6c471820, 0x1e79d: 0x6c224a20, 0x1e79e: 0x6c225220, 0x1e79f: 0x6cb0a820,\n\t0x1e7a0: 0x6d41ba20, 0x1e7a1: 0x6c0bb020, 0x1e7a2: 0x6c7e8e20, 0x1e7a3: 0x6c7e9020,\n\t0x1e7a4: 0x6c226020, 0x1e7a5: 0x6d08ea20, 0x1e7a6: 0x6c050620, 0x1e7a7: 0x6c0bc020,\n\t0x1e7a8: 0x6c0bc220, 0x1e7a9: 0x6c0bc420, 0x1e7aa: 0x6d08ec20, 0x1e7ab: 0x6c0bcc20,\n\t0x1e7ac: 0x6c04a820, 0x1e7ad: 0x6c227e20, 0x1e7ae: 0x6c0bd620, 0x1e7af: 0x6c0bda20,\n\t0x1e7b0: 0x6c18a020, 0x1e7b1: 0x6cc7fc20, 0x1e7b2: 0x6ca9bc20, 0x1e7b3: 0x6ca9c220,\n\t0x1e7b4: 0x6c160420, 0x1e7b5: 0x6c21a820, 0x1e7b6: 0x6c21a420, 0x1e7b7: 0x6d198820,\n\t0x1e7b8: 0x6cc61820, 0x1e7b9: 0x6c0ae820, 0x1e7ba: 0x6c0aea20, 0x1e7bb: 0x6cd22e20,\n\t0x1e7bc: 0x6cc83220, 0x1e7bd: 0x6c89d620, 0x1e7be: 0x6c267620, 0x1e7bf: 0x6c14b620,\n\t// Block 0x79f, offset 0x1e7c0\n\t0x1e7c0: 0x6c416420, 0x1e7c1: 0x6cb8a020, 0x1e7c2: 0x6d207620, 0x1e7c3: 0x6d207820,\n\t0x1e7c4: 0x6cb73420, 0x1e7c5: 0x6d0a6820, 0x1e7c6: 0x6d145820, 0x1e7c7: 0x6c4ce420,\n\t0x1e7c8: 0x6c972020, 0x1e7c9: 0x6cb4ca20, 0x1e7ca: 0x6d288620, 0x1e7cb: 0x6cee4a20,\n\t0x1e7cc: 0x6ce91e20, 0x1e7cd: 0x6d3cca20, 0x1e7ce: 0x6d1c5820, 0x1e7cf: 0x6ce3d620,\n\t0x1e7d0: 0x6d281620, 0x1e7d1: 0x6c6cd620, 0x1e7d2: 0x6c4f5c20, 0x1e7d3: 0x6d0b7a20,\n\t0x1e7d4: 0x6c390620, 0x1e7d5: 0x6cf4b020, 0x1e7d6: 0x6c267820, 0x1e7d7: 0x6c354c20,\n\t0x1e7d8: 0x6c4d1c20, 0x1e7d9: 0x6d30e420, 0x1e7da: 0x6d384c20, 0x1e7db: 0x6c6cd820,\n\t0x1e7dc: 0x6d25de20, 0x1e7dd: 0x6ceee420, 0x1e7de: 0x6c87ee20, 0x1e7df: 0x6c1b0220,\n\t0x1e7e0: 0x6c180420, 0x1e7e1: 0x6ca68020, 0x1e7e2: 0x6ce57420, 0x1e7e3: 0x6d359020,\n\t0x1e7e4: 0x6d147c20, 0x1e7e5: 0x6c6efc20, 0x1e7e6: 0x6c633220, 0x1e7e7: 0x6c18a620,\n\t0x1e7e8: 0x6c273a20, 0x1e7e9: 0x6c378820, 0x1e7ea: 0x6c2b5e20, 0x1e7eb: 0x6cb36a20,\n\t0x1e7ec: 0x6d3ab620, 0x1e7ed: 0x6c2e6420, 0x1e7ee: 0x6d2ab020, 0x1e7ef: 0x6ce20620,\n\t0x1e7f0: 0x6cd5a220, 0x1e7f1: 0x6ceaf620, 0x1e7f2: 0x6cc28620, 0x1e7f3: 0x6c6e5020,\n\t0x1e7f4: 0x6c5b2a20, 0x1e7f5: 0x6c306820, 0x1e7f6: 0x6d203420, 0x1e7f7: 0x6c9c4020,\n\t0x1e7f8: 0x6c083c20, 0x1e7f9: 0x6c5e9c20, 0x1e7fa: 0x6ca39c20, 0x1e7fb: 0x6d14b220,\n\t0x1e7fc: 0x6c6a9a20, 0x1e7fd: 0x6d3c5820, 0x1e7fe: 0x6c8ade20, 0x1e7ff: 0x6d0a7420,\n\t// Block 0x7a0, offset 0x1e800\n\t0x1e800: 0x6ce9f620, 0x1e801: 0x6cd98420, 0x1e802: 0x6cd34a20, 0x1e803: 0x6ce20e20,\n\t0x1e804: 0x6cacf820, 0x1e805: 0x6c546820, 0x1e806: 0x6ca68a20, 0x1e807: 0x6c33e420,\n\t0x1e808: 0x6c6f0420, 0x1e809: 0x6d084620, 0x1e80a: 0x6d0a7620, 0x1e80b: 0x6c101220,\n\t0x1e80c: 0x6d1e9c20, 0x1e80d: 0x6cfeac20, 0x1e80e: 0x6cc03a20, 0x1e80f: 0x6ce82420,\n\t0x1e810: 0x6d3a0a20, 0x1e811: 0x6cc03c20, 0x1e812: 0x6c2c3420, 0x1e813: 0x6c2c3620,\n\t0x1e814: 0x6ce89a20, 0x1e815: 0x6c6e6c20, 0x1e816: 0x6ce3e620, 0x1e817: 0x6c310a20,\n\t0x1e818: 0x6d15e020, 0x1e819: 0x6d30ee20, 0x1e81a: 0x6ce6f220, 0x1e81b: 0x6c4a2020,\n\t0x1e81c: 0x6cf4da20, 0x1e81d: 0x6cd36420, 0x1e81e: 0x6c1a6a20, 0x1e81f: 0x6cda9820,\n\t0x1e820: 0x6d2a7a20, 0x1e821: 0x6cc43620, 0x1e822: 0x6c3ca420, 0x1e823: 0x6c87fa20,\n\t0x1e824: 0x6cddc820, 0x1e825: 0x6c5b3220, 0x1e826: 0x6c850e20, 0x1e827: 0x6c483620,\n\t0x1e828: 0x6c7f0220, 0x1e829: 0x6c07b820, 0x1e82a: 0x6c262420, 0x1e82b: 0x6c743e20,\n\t0x1e82c: 0x6c083e20, 0x1e82d: 0x6c591820, 0x1e82e: 0x6c271620, 0x1e82f: 0x6c924a20,\n\t0x1e830: 0x6d1f3220, 0x1e831: 0x6d387c20, 0x1e832: 0x6c6d0820, 0x1e833: 0x6d232620,\n\t0x1e834: 0x6c219620, 0x1e835: 0x6c7c6820, 0x1e836: 0x6cee7620, 0x1e837: 0x6ce3f020,\n\t0x1e838: 0x6d178420, 0x1e839: 0x6c26a220, 0x1e83a: 0x6d25e620, 0x1e83b: 0x6c954420,\n\t0x1e83c: 0x6c087420, 0x1e83d: 0x6caaf220, 0x1e83e: 0x6d213a20, 0x1e83f: 0x6c296a20,\n\t// Block 0x7a1, offset 0x1e840\n\t0x1e840: 0x6cdbf620, 0x1e841: 0x6c33f420, 0x1e842: 0x6cdc4220, 0x1e843: 0x6d0d9820,\n\t0x1e844: 0x6c1ffc20, 0x1e845: 0x6c1b2c20, 0x1e846: 0x6ce33420, 0x1e847: 0x6d235c20,\n\t0x1e848: 0x6cd26c20, 0x1e849: 0x6d315a20, 0x1e84a: 0x6d1f4020, 0x1e84b: 0x6d283820,\n\t0x1e84c: 0x6c364c20, 0x1e84d: 0x6c0ba420, 0x1e84e: 0x6c4cec20, 0x1e84f: 0x6c364e20,\n\t0x1e850: 0x6cf9ca20, 0x1e851: 0x6c59ca20, 0x1e852: 0x6cc07020, 0x1e853: 0x6c2a1820,\n\t0x1e854: 0x6c26ac20, 0x1e855: 0x6cef1620, 0x1e856: 0x6ca45020, 0x1e857: 0x6d150820,\n\t0x1e858: 0x6c46be20, 0x1e859: 0x6d111620, 0x1e85a: 0x6c1e4620, 0x1e85b: 0x6c8e7420,\n\t0x1e85c: 0x6d0a9820, 0x1e85d: 0x6cde6c20, 0x1e85e: 0x6c2c7420, 0x1e85f: 0x6c1b4020,\n\t0x1e860: 0x6d25ec20, 0x1e861: 0x6cdada20, 0x1e862: 0x6cde6e20, 0x1e863: 0x6cba1420,\n\t0x1e864: 0x6c96f220, 0x1e865: 0x6d111820, 0x1e866: 0x6c499c20, 0x1e867: 0x6d2ed220,\n\t0x1e868: 0x6c025820, 0x1e869: 0x6cd3bc20, 0x1e86a: 0x6c10ea20, 0x1e86b: 0x6c1c4e20,\n\t0x1e86c: 0x6cdaf620, 0x1e86d: 0x6d2a1c20, 0x1e86e: 0x6d300420, 0x1e86f: 0x6c340220,\n\t0x1e870: 0x6c2c8820, 0x1e871: 0x6c90ac20, 0x1e872: 0x6c1b5020, 0x1e873: 0x6c25c220,\n\t0x1e874: 0x6c8bd620, 0x1e875: 0x6d41f020, 0x1e876: 0x6cc54820, 0x1e877: 0x6cb91820,\n\t0x1e878: 0x6d085820, 0x1e879: 0x6d23d620, 0x1e87a: 0x6d154e20, 0x1e87b: 0x6cf51c20,\n\t0x1e87c: 0x6c8a1620, 0x1e87d: 0x6c729820, 0x1e87e: 0x6cd3e220, 0x1e87f: 0x6c0a6020,\n\t// Block 0x7a2, offset 0x1e880\n\t0x1e880: 0x6d10bc20, 0x1e881: 0x6c974220, 0x1e882: 0x6d022220, 0x1e883: 0x6cdc9420,\n\t0x1e884: 0x6c4d2a20, 0x1e885: 0x6d2d9e20, 0x1e886: 0x6ce2b020, 0x1e887: 0x6c37aa20,\n\t0x1e888: 0x6c9ea220, 0x1e889: 0x6c0b0c20, 0x1e88a: 0x6c0b1420, 0x1e88b: 0x6c7e5220,\n\t0x1e88c: 0x6c847a20, 0x1e88d: 0x6d25c820, 0x1e88e: 0x6d117620, 0x1e88f: 0x6c957c20,\n\t0x1e890: 0x6c854c20, 0x1e891: 0x6d169e20, 0x1e892: 0x6ce65a20, 0x1e893: 0x6c2ad420,\n\t0x1e894: 0x6cb6c420, 0x1e895: 0x6d1d8220, 0x1e896: 0x6cccb420, 0x1e897: 0x6c4dc820,\n\t0x1e898: 0x6d20a420, 0x1e899: 0x6c982220, 0x1e89a: 0x6cc78820, 0x1e89b: 0x6cbef620,\n\t0x1e89c: 0x6cedb420, 0x1e89d: 0x6c7bd620, 0x1e89e: 0x6c3d3620, 0x1e89f: 0x6c777a20,\n\t0x1e8a0: 0x6c0d2020, 0x1e8a1: 0x6c398220, 0x1e8a2: 0x6d03bc20, 0x1e8a3: 0x6ca30220,\n\t0x1e8a4: 0x6d02a620, 0x1e8a5: 0x6cd04220, 0x1e8a6: 0x6c051620, 0x1e8a7: 0x6d253620,\n\t0x1e8a8: 0x6c259020, 0x1e8a9: 0x6c5d8a20, 0x1e8aa: 0x6d006a20, 0x1e8ab: 0x6c052c20,\n\t0x1e8ac: 0x6cf34e20, 0x1e8ad: 0x6c720220, 0x1e8ae: 0x6d1ef620, 0x1e8af: 0x6c4dd020,\n\t0x1e8b0: 0x6cdf1220, 0x1e8b1: 0x6cbf9820, 0x1e8b2: 0x6c092220, 0x1e8b3: 0x6caf2e20,\n\t0x1e8b4: 0x6c0dbe20, 0x1e8b5: 0x6ccec620, 0x1e8b6: 0x6c06de20, 0x1e8b7: 0x6cec1020,\n\t0x1e8b8: 0x6c2bd020, 0x1e8b9: 0x6d404620, 0x1e8ba: 0x6d12c820, 0x1e8bb: 0x6c8b9e20,\n\t0x1e8bc: 0x6c7b8820, 0x1e8bd: 0x6c4a3c20, 0x1e8be: 0x6d398620, 0x1e8bf: 0x6cd19e20,\n\t// Block 0x7a3, offset 0x1e8c0\n\t0x1e8c0: 0x6c7a2c20, 0x1e8c1: 0x6d22dc20, 0x1e8c2: 0x6c40e020, 0x1e8c3: 0x6c50ce20,\n\t0x1e8c4: 0x6cbc9a20, 0x1e8c5: 0x6d359420, 0x1e8c6: 0x6c5fe620, 0x1e8c7: 0x6c585c20,\n\t0x1e8c8: 0x6c545e20, 0x1e8c9: 0x6d03c820, 0x1e8ca: 0x6c682a20, 0x1e8cb: 0x6cf76a20,\n\t0x1e8cc: 0x6c4a7620, 0x1e8cd: 0x6caab420, 0x1e8ce: 0x6c80a220, 0x1e8cf: 0x6c63a620,\n\t0x1e8d0: 0x6c7b1420, 0x1e8d1: 0x6d333e20, 0x1e8d2: 0x6c813820, 0x1e8d3: 0x6d281e20,\n\t0x1e8d4: 0x6d0c6c20, 0x1e8d5: 0x6c19c220, 0x1e8d6: 0x6c30fc20, 0x1e8d7: 0x6cf5ae20,\n\t0x1e8d8: 0x6c935220, 0x1e8d9: 0x6c3f4e20, 0x1e8da: 0x6cf3aa20, 0x1e8db: 0x6c3e2620,\n\t0x1e8dc: 0x6c433e20, 0x1e8dd: 0x6c500a20, 0x1e8de: 0x6c80a420, 0x1e8df: 0x6c63aa20,\n\t0x1e8e0: 0x6c44f020, 0x1e8e1: 0x6c759a20, 0x1e8e2: 0x6d1ce220, 0x1e8e3: 0x6c0eca20,\n\t0x1e8e4: 0x6cf86820, 0x1e8e5: 0x6c06f420, 0x1e8e6: 0x6c85bc20, 0x1e8e7: 0x6d279220,\n\t0x1e8e8: 0x6c108c20, 0x1e8e9: 0x6cff7a20, 0x1e8ea: 0x6cb4e020, 0x1e8eb: 0x6cafd420,\n\t0x1e8ec: 0x6cbe3c20, 0x1e8ed: 0x6c4c1a20, 0x1e8ee: 0x6d386e20, 0x1e8ef: 0x6cdfd820,\n\t0x1e8f0: 0x6d404c20, 0x1e8f1: 0x6cb27e20, 0x1e8f2: 0x6c7ef020, 0x1e8f3: 0x6ca5d020,\n\t0x1e8f4: 0x6c186220, 0x1e8f5: 0x6d1f2420, 0x1e8f6: 0x6c10b420, 0x1e8f7: 0x6cfd6820,\n\t0x1e8f8: 0x6c27d020, 0x1e8f9: 0x6c711e20, 0x1e8fa: 0x6d1dba20, 0x1e8fb: 0x6cbb7420,\n\t0x1e8fc: 0x6d13ea20, 0x1e8fd: 0x6c30a620, 0x1e8fe: 0x6d0d7220, 0x1e8ff: 0x6c99f220,\n\t// Block 0x7a4, offset 0x1e900\n\t0x1e900: 0x6cc91a20, 0x1e901: 0x6c071820, 0x1e902: 0x6c361e20, 0x1e903: 0x6cd4d820,\n\t0x1e904: 0x6c735e20, 0x1e905: 0x6d225220, 0x1e906: 0x6d282820, 0x1e907: 0x6c53f420,\n\t0x1e908: 0x6c7c6a20, 0x1e909: 0x6cfd6e20, 0x1e90a: 0x6cfd7020, 0x1e90b: 0x6cd9a820,\n\t0x1e90c: 0x6ce0f820, 0x1e90d: 0x6ca00220, 0x1e90e: 0x6cf63220, 0x1e90f: 0x6cc7fe20,\n\t0x1e910: 0x6c1f4c20, 0x1e911: 0x6d3e4a20, 0x1e912: 0x6d405820, 0x1e913: 0x6d12f820,\n\t0x1e914: 0x6cf36c20, 0x1e915: 0x6cfd7c20, 0x1e916: 0x6d27a820, 0x1e917: 0x6c504220,\n\t0x1e918: 0x6d1d9220, 0x1e919: 0x6c08e620, 0x1e91a: 0x6c998820, 0x1e91b: 0x6c176420,\n\t0x1e91c: 0x6c3d8620, 0x1e91d: 0x6c8a6e20, 0x1e91e: 0x6d1a7820, 0x1e91f: 0x6d3b8020,\n\t0x1e920: 0x6c56a820, 0x1e921: 0x6cbb8220, 0x1e922: 0x6d0c1820, 0x1e923: 0x6d2ebc20,\n\t0x1e924: 0x6c97e020, 0x1e925: 0x6cbb8420, 0x1e926: 0x6d065020, 0x1e927: 0x6c2adc20,\n\t0x1e928: 0x6c0a9c20, 0x1e929: 0x6d0a2820, 0x1e92a: 0x6c0a0c20, 0x1e92b: 0x6d2b8420,\n\t0x1e92c: 0x6cef2620, 0x1e92d: 0x6d335820, 0x1e92e: 0x6c99a820, 0x1e92f: 0x6ccd9620,\n\t0x1e930: 0x6c8bc820, 0x1e931: 0x6cb33420, 0x1e932: 0x6c27f020, 0x1e933: 0x6c9b4020,\n\t0x1e934: 0x6d133220, 0x1e935: 0x6c12b820, 0x1e936: 0x6c7b3620, 0x1e937: 0x6c3c6420,\n\t0x1e938: 0x6c9b4220, 0x1e939: 0x6d406420, 0x1e93a: 0x6c7c0220, 0x1e93b: 0x6c88d020,\n\t0x1e93c: 0x6d29a220, 0x1e93d: 0x6c153020, 0x1e93e: 0x6d1eb820, 0x1e93f: 0x6c5f6420,\n\t// Block 0x7a5, offset 0x1e940\n\t0x1e940: 0x6d0ed820, 0x1e941: 0x6c154820, 0x1e942: 0x6c25f820, 0x1e943: 0x6c8d8820,\n\t0x1e944: 0x6c583a20, 0x1e945: 0x6cf74020, 0x1e946: 0x6c3c7820, 0x1e947: 0x6d29b620,\n\t0x1e948: 0x6c875820, 0x1e949: 0x6d1fa420, 0x1e94a: 0x6c2f5a20, 0x1e94b: 0x6cc02020,\n\t0x1e94c: 0x6d3d4020, 0x1e94d: 0x6cae1820, 0x1e94e: 0x6d391e20, 0x1e94f: 0x6d15e220,\n\t0x1e950: 0x6c418e20, 0x1e951: 0x6d20fe20, 0x1e952: 0x6c6fba20, 0x1e953: 0x6d0d7420,\n\t0x1e954: 0x6d41ae20, 0x1e955: 0x6c98e020, 0x1e956: 0x6d323e20, 0x1e957: 0x6d06c820,\n\t0x1e958: 0x6c311820, 0x1e959: 0x6d315420, 0x1e95a: 0x6c3b3020, 0x1e95b: 0x6d263e20,\n\t0x1e95c: 0x6c40ae20, 0x1e95d: 0x6d282a20, 0x1e95e: 0x6cdf7220, 0x1e95f: 0x6ce46a20,\n\t0x1e960: 0x6cb83a20, 0x1e961: 0x6ceb2c20, 0x1e962: 0x6c243e20, 0x1e963: 0x6c4da820,\n\t0x1e964: 0x6c471a20, 0x1e965: 0x6cda5020, 0x1e966: 0x6c37ee20, 0x1e967: 0x6c1dc620,\n\t0x1e968: 0x6d293e20, 0x1e969: 0x6ca03a20, 0x1e96a: 0x6c81d620, 0x1e96b: 0x6c21ca20,\n\t0x1e96c: 0x6c1e4e20, 0x1e96d: 0x6d205020, 0x1e96e: 0x6ce76020, 0x1e96f: 0x6d353c20,\n\t0x1e970: 0x6cfab420, 0x1e971: 0x6c67ec20, 0x1e972: 0x6c1a3020, 0x1e973: 0x6d1b6c20,\n\t0x1e974: 0x6ce8e220, 0x1e975: 0x6c69b220, 0x1e976: 0x6c9a1a20, 0x1e977: 0x6c7aa420,\n\t0x1e978: 0x6cdb8820, 0x1e979: 0x6c833c20, 0x1e97a: 0x6cb44420, 0x1e97b: 0x6d41c220,\n\t0x1e97c: 0x6c4d4420, 0x1e97d: 0x6d0e9c20, 0x1e97e: 0x6ccc8c20, 0x1e97f: 0x6ca77e20,\n\t// Block 0x7a6, offset 0x1e980\n\t0x1e980: 0x6cef3420, 0x1e981: 0x6c92c620, 0x1e982: 0x6c803620, 0x1e983: 0x6d0c2c20,\n\t0x1e984: 0x6ce23820, 0x1e985: 0x6cadc220, 0x1e986: 0x6d2e1220, 0x1e987: 0x6c215e20,\n\t0x1e988: 0x6ce00a20, 0x1e989: 0x6d41ca20, 0x1e98a: 0x6d3ca620, 0x1e98b: 0x6c246020,\n\t0x1e98c: 0x6c7d8220, 0x1e98d: 0x6ce38220, 0x1e98e: 0x6cfba220, 0x1e98f: 0x6c317620,\n\t0x1e990: 0x6c55c420, 0x1e991: 0x6d065c20, 0x1e992: 0x6d040820, 0x1e993: 0x6ce07c20,\n\t0x1e994: 0x6cc09a20, 0x1e995: 0x6c216420, 0x1e996: 0x6d285a20, 0x1e997: 0x6cb3a620,\n\t0x1e998: 0x6c783620, 0x1e999: 0x6cd9e620, 0x1e99a: 0x6c9c7620, 0x1e99b: 0x6cc31820,\n\t0x1e99c: 0x6c1e3220, 0x1e99d: 0x6c25cc20, 0x1e99e: 0x6d285e20, 0x1e99f: 0x6d1e7e20,\n\t0x1e9a0: 0x6c022220, 0x1e9a1: 0x6d2ce420, 0x1e9a2: 0x6c4d4a20, 0x1e9a3: 0x6ce14a20,\n\t0x1e9a4: 0x6c680020, 0x1e9a5: 0x6cb1a220, 0x1e9a6: 0x6c191820, 0x1e9a7: 0x6d244020,\n\t0x1e9a8: 0x6c846620, 0x1e9a9: 0x6d2a2c20, 0x1e9aa: 0x6c818620, 0x1e9ab: 0x6d142c20,\n\t0x1e9ac: 0x6c680a20, 0x1e9ad: 0x6c102820, 0x1e9ae: 0x6c69d420, 0x1e9af: 0x6cf71e20,\n\t0x1e9b0: 0x6ce03c20, 0x1e9b1: 0x6c37f220, 0x1e9b2: 0x6ca9dc20, 0x1e9b3: 0x6d193620,\n\t0x1e9b4: 0x6c854620, 0x1e9b5: 0x6c72c020, 0x1e9b6: 0x6d0efc20, 0x1e9b7: 0x6d193820,\n\t0x1e9b8: 0x6ca78020, 0x1e9b9: 0x6cc7ec20, 0x1e9ba: 0x6d09cc20, 0x1e9bb: 0x6c1e0a20,\n\t0x1e9bc: 0x6d0f1220, 0x1e9bd: 0x6c8db420, 0x1e9be: 0x6c9cc820, 0x1e9bf: 0x6c9cca20,\n\t// Block 0x7a7, offset 0x1e9c0\n\t0x1e9c0: 0x6ca78420, 0x1e9c1: 0x6d036020, 0x1e9c2: 0x6c69ea20, 0x1e9c3: 0x6ccc9620,\n\t0x1e9c4: 0x6c9cd420, 0x1e9c5: 0x6d0f2420, 0x1e9c6: 0x6c0b7820, 0x1e9c7: 0x6c111e20,\n\t0x1e9c8: 0x6cd37620, 0x1e9c9: 0x6d204a20, 0x1e9ca: 0x6cd39220, 0x1e9cb: 0x6cd40220,\n\t0x1e9cc: 0x6c84fc20, 0x1e9cd: 0x6d382020, 0x1e9ce: 0x6d12aa20, 0x1e9cf: 0x6c89c020,\n\t0x1e9d0: 0x6c847c20, 0x1e9d1: 0x6c6c2e20, 0x1e9d2: 0x6c6d7c20, 0x1e9d3: 0x6cc02220,\n\t0x1e9d4: 0x6d15d820, 0x1e9d5: 0x6c8a6c20, 0x1e9d6: 0x6c29c020, 0x1e9d7: 0x6d2f6220,\n\t0x1e9d8: 0x6c2f5c20, 0x1e9d9: 0x6cb38220, 0x1e9da: 0x6cc04220, 0x1e9db: 0x6c034220,\n\t0x1e9dc: 0x6c3f5620, 0x1e9dd: 0x6d314820, 0x1e9de: 0x6d344a20, 0x1e9df: 0x6c034420,\n\t0x1e9e0: 0x6c949820, 0x1e9e1: 0x6c3f5820, 0x1e9e2: 0x6ca3a020, 0x1e9e3: 0x6c2e2020,\n\t0x1e9e4: 0x6ccd8620, 0x1e9e5: 0x6cbc2220, 0x1e9e6: 0x6c79ea20, 0x1e9e7: 0x6c203420,\n\t0x1e9e8: 0x6d3f0e20, 0x1e9e9: 0x6c390e20, 0x1e9ea: 0x6c573620, 0x1e9eb: 0x6c573820,\n\t0x1e9ec: 0x6c4eb820, 0x1e9ed: 0x6c427c20, 0x1e9ee: 0x6cb5de20, 0x1e9ef: 0x6c985c20,\n\t0x1e9f0: 0x6cc64620, 0x1e9f1: 0x6c2c5220, 0x1e9f2: 0x6cd8be20, 0x1e9f3: 0x6cf87e20,\n\t0x1e9f4: 0x6d178620, 0x1e9f5: 0x6c146620, 0x1e9f6: 0x6cd1b620, 0x1e9f7: 0x6ce91a20,\n\t0x1e9f8: 0x6cf60620, 0x1e9f9: 0x6caa7420, 0x1e9fa: 0x6cb8dc20, 0x1e9fb: 0x6cc0c020,\n\t0x1e9fc: 0x6c668420, 0x1e9fd: 0x6cb09a20, 0x1e9fe: 0x6d128220, 0x1e9ff: 0x6c6c4820,\n\t// Block 0x7a8, offset 0x1ea00\n\t0x1ea00: 0x6c03a020, 0x1ea01: 0x6c399620, 0x1ea02: 0x6c18d020, 0x1ea03: 0x6d03ee20,\n\t0x1ea04: 0x6c30ee20, 0x1ea05: 0x6d26c220, 0x1ea06: 0x6cb8e620, 0x1ea07: 0x6c3d7820,\n\t0x1ea08: 0x6caf6820, 0x1ea09: 0x6ca34820, 0x1ea0a: 0x6d02d820, 0x1ea0b: 0x6c356e20,\n\t0x1ea0c: 0x6c746020, 0x1ea0d: 0x6c33f820, 0x1ea0e: 0x6c464c20, 0x1ea0f: 0x6d1ae620,\n\t0x1ea10: 0x6cb99a20, 0x1ea11: 0x6c04ce20, 0x1ea12: 0x6cc97620, 0x1ea13: 0x6cc57220,\n\t0x1ea14: 0x6c174a20, 0x1ea15: 0x6ca99620, 0x1ea16: 0x6c3b3220, 0x1ea17: 0x6d27ec20,\n\t0x1ea18: 0x6c614620, 0x1ea19: 0x6cbd7820, 0x1ea1a: 0x6caf6a20, 0x1ea1b: 0x6c4c2020,\n\t0x1ea1c: 0x6c535a20, 0x1ea1d: 0x6d1a6c20, 0x1ea1e: 0x6c757220, 0x1ea1f: 0x6cd1ca20,\n\t0x1ea20: 0x6d17ce20, 0x1ea21: 0x6d37ba20, 0x1ea22: 0x6cf7f020, 0x1ea23: 0x6c413a20,\n\t0x1ea24: 0x6cc64820, 0x1ea25: 0x6c5d8e20, 0x1ea26: 0x6cdf7620, 0x1ea27: 0x6c778820,\n\t0x1ea28: 0x6d264020, 0x1ea29: 0x6c934a20, 0x1ea2a: 0x6c365020, 0x1ea2b: 0x6cf21c20,\n\t0x1ea2c: 0x6c345420, 0x1ea2d: 0x6d3e7220, 0x1ea2e: 0x6ca64020, 0x1ea2f: 0x6ce8d020,\n\t0x1ea30: 0x6cd3aa20, 0x1ea31: 0x6c9f6820, 0x1ea32: 0x6c472220, 0x1ea33: 0x6c780e20,\n\t0x1ea34: 0x6c8d2420, 0x1ea35: 0x6c0dec20, 0x1ea36: 0x6cd8d020, 0x1ea37: 0x6c47a420,\n\t0x1ea38: 0x6c0f1c20, 0x1ea39: 0x6caf7820, 0x1ea3a: 0x6d238420, 0x1ea3b: 0x6cd8d220,\n\t0x1ea3c: 0x6d424820, 0x1ea3d: 0x6c101820, 0x1ea3e: 0x6d1f5020, 0x1ea3f: 0x6ce4b020,\n\t// Block 0x7a9, offset 0x1ea40\n\t0x1ea40: 0x6c642220, 0x1ea41: 0x6d317620, 0x1ea42: 0x6cd2d420, 0x1ea43: 0x6cd3ac20,\n\t0x1ea44: 0x6d347a20, 0x1ea45: 0x6c725220, 0x1ea46: 0x6c14d220, 0x1ea47: 0x6cd1da20,\n\t0x1ea48: 0x6cd1dc20, 0x1ea49: 0x6d089e20, 0x1ea4a: 0x6d2f6820, 0x1ea4b: 0x6c065420,\n\t0x1ea4c: 0x6c514e20, 0x1ea4d: 0x6c09e620, 0x1ea4e: 0x6cd10e20, 0x1ea4f: 0x6c1e9620,\n\t0x1ea50: 0x6cd27820, 0x1ea51: 0x6c0f1e20, 0x1ea52: 0x6d3b0e20, 0x1ea53: 0x6c1c3820,\n\t0x1ea54: 0x6d289220, 0x1ea55: 0x6cb31420, 0x1ea56: 0x6ce76220, 0x1ea57: 0x6cb9aa20,\n\t0x1ea58: 0x6c3eb020, 0x1ea59: 0x6d2d3020, 0x1ea5a: 0x6c8f0c20, 0x1ea5b: 0x6cb8f820,\n\t0x1ea5c: 0x6c3eb220, 0x1ea5d: 0x6c864020, 0x1ea5e: 0x6d26ca20, 0x1ea5f: 0x6caf7a20,\n\t0x1ea60: 0x6d0f5e20, 0x1ea61: 0x6c04fe20, 0x1ea62: 0x6c0e8020, 0x1ea63: 0x6c6b0020,\n\t0x1ea64: 0x6c465420, 0x1ea65: 0x6cd5ec20, 0x1ea66: 0x6d32da20, 0x1ea67: 0x6ca24c20,\n\t0x1ea68: 0x6cf7f220, 0x1ea69: 0x6cf7f420, 0x1ea6a: 0x6c2c7620, 0x1ea6b: 0x6c637420,\n\t0x1ea6c: 0x6ca29e20, 0x1ea6d: 0x6ce06420, 0x1ea6e: 0x6c588820, 0x1ea6f: 0x6d15f220,\n\t0x1ea70: 0x6cd7fa20, 0x1ea71: 0x6c7bfe20, 0x1ea72: 0x6c761e20, 0x1ea73: 0x6c06ce20,\n\t0x1ea74: 0x6c66a020, 0x1ea75: 0x6ce77020, 0x1ea76: 0x6d03f420, 0x1ea77: 0x6c537820,\n\t0x1ea78: 0x6c691c20, 0x1ea79: 0x6c1bbc20, 0x1ea7a: 0x6c37d820, 0x1ea7b: 0x6c961a20,\n\t0x1ea7c: 0x6c0dee20, 0x1ea7d: 0x6cd3be20, 0x1ea7e: 0x6ca1dc20, 0x1ea7f: 0x6c637820,\n\t// Block 0x7aa, offset 0x1ea80\n\t0x1ea80: 0x6d1a8620, 0x1ea81: 0x6c757c20, 0x1ea82: 0x6d389e20, 0x1ea83: 0x6c1d5620,\n\t0x1ea84: 0x6cfdf620, 0x1ea85: 0x6ce77220, 0x1ea86: 0x6ca14220, 0x1ea87: 0x6c833e20,\n\t0x1ea88: 0x6c5f0e20, 0x1ea89: 0x6d23b020, 0x1ea8a: 0x6d071e20, 0x1ea8b: 0x6cc57820,\n\t0x1ea8c: 0x6d421a20, 0x1ea8d: 0x6d36a220, 0x1ea8e: 0x6cbf4c20, 0x1ea8f: 0x6ccd8e20,\n\t0x1ea90: 0x6c1c5020, 0x1ea91: 0x6cfc2220, 0x1ea92: 0x6d03f620, 0x1ea93: 0x6cc30e20,\n\t0x1ea94: 0x6caf8020, 0x1ea95: 0x6ce5fe20, 0x1ea96: 0x6d39c020, 0x1ea97: 0x6cfe4820,\n\t0x1ea98: 0x6ca01220, 0x1ea99: 0x6c7ada20, 0x1ea9a: 0x6d112c20, 0x1ea9b: 0x6cfac220,\n\t0x1ea9c: 0x6cfb7620, 0x1ea9d: 0x6d04ea20, 0x1ea9e: 0x6c757e20, 0x1ea9f: 0x6c13aa20,\n\t0x1eaa0: 0x6c81b620, 0x1eaa1: 0x6c607820, 0x1eaa2: 0x6cb06620, 0x1eaa3: 0x6cc7ba20,\n\t0x1eaa4: 0x6c9cfe20, 0x1eaa5: 0x6d140820, 0x1eaa6: 0x6d19fa20, 0x1eaa7: 0x6c49f220,\n\t0x1eaa8: 0x6c019020, 0x1eaa9: 0x6c2fd420, 0x1eaaa: 0x6d1fe020, 0x1eaab: 0x6ccb3820,\n\t0x1eaac: 0x6c77c620, 0x1eaad: 0x6cb9b620, 0x1eaae: 0x6c944220, 0x1eaaf: 0x6cd90020,\n\t0x1eab0: 0x6c003020, 0x1eab1: 0x6c2e3220, 0x1eab2: 0x6c4efe20, 0x1eab3: 0x6cc8de20,\n\t0x1eab4: 0x6cd3cc20, 0x1eab5: 0x6c795020, 0x1eab6: 0x6cc09220, 0x1eab7: 0x6cff0c20,\n\t0x1eab8: 0x6d308620, 0x1eab9: 0x6d054e20, 0x1eaba: 0x6d2a0c20, 0x1eabb: 0x6ce37020,\n\t0x1eabc: 0x6c263820, 0x1eabd: 0x6c487020, 0x1eabe: 0x6c53d220, 0x1eabf: 0x6d37c820,\n\t// Block 0x7ab, offset 0x1eac0\n\t0x1eac0: 0x6ce7de20, 0x1eac1: 0x6c93ac20, 0x1eac2: 0x6c9a2220, 0x1eac3: 0x6c80e220,\n\t0x1eac4: 0x6ced4a20, 0x1eac5: 0x6d02e620, 0x1eac6: 0x6d27c420, 0x1eac7: 0x6c075420,\n\t0x1eac8: 0x6cf51e20, 0x1eac9: 0x6cdb0c20, 0x1eaca: 0x6d23dc20, 0x1eacb: 0x6c151420,\n\t0x1eacc: 0x6c2fb620, 0x1eacd: 0x6c0f4e20, 0x1eace: 0x6c4f0020, 0x1eacf: 0x6c63de20,\n\t0x1ead0: 0x6c538420, 0x1ead1: 0x6c249220, 0x1ead2: 0x6c3c6620, 0x1ead3: 0x6c14d620,\n\t0x1ead4: 0x6ced4c20, 0x1ead5: 0x6d36d020, 0x1ead6: 0x6cd82620, 0x1ead7: 0x6d07ca20,\n\t0x1ead8: 0x6c575620, 0x1ead9: 0x6d228220, 0x1eada: 0x6ce59e20, 0x1eadb: 0x6c45fa20,\n\t0x1eadc: 0x6d3d9420, 0x1eadd: 0x6c94bc20, 0x1eade: 0x6d03fc20, 0x1eadf: 0x6cbde620,\n\t0x1eae0: 0x6cd0c420, 0x1eae1: 0x6c4e2e20, 0x1eae2: 0x6c94be20, 0x1eae3: 0x6d128a20,\n\t0x1eae4: 0x6c1eac20, 0x1eae5: 0x6d2bae20, 0x1eae6: 0x6c70c420, 0x1eae7: 0x6cfd0220,\n\t0x1eae8: 0x6ce60020, 0x1eae9: 0x6c987020, 0x1eaea: 0x6cb4b420, 0x1eaeb: 0x6c843620,\n\t0x1eaec: 0x6cacc020, 0x1eaed: 0x6cc8e020, 0x1eaee: 0x6c1a3220, 0x1eaef: 0x6c435820,\n\t0x1eaf0: 0x6c852820, 0x1eaf1: 0x6ce28220, 0x1eaf2: 0x6c0e4420, 0x1eaf3: 0x6d3b2420,\n\t0x1eaf4: 0x6d327e20, 0x1eaf5: 0x6ce87a20, 0x1eaf6: 0x6c8f1820, 0x1eaf7: 0x6d41d420,\n\t0x1eaf8: 0x6c729a20, 0x1eaf9: 0x6c16fa20, 0x1eafa: 0x6d25f020, 0x1eafb: 0x6c66d820,\n\t0x1eafc: 0x6c429220, 0x1eafd: 0x6c2e4020, 0x1eafe: 0x6ce24020, 0x1eaff: 0x6c16c620,\n\t// Block 0x7ac, offset 0x1eb00\n\t0x1eb00: 0x6c951020, 0x1eb01: 0x6c4cd020, 0x1eb02: 0x6c8d5c20, 0x1eb03: 0x6c06ba20,\n\t0x1eb04: 0x6c92de20, 0x1eb05: 0x6c845020, 0x1eb06: 0x6cbade20, 0x1eb07: 0x6cb3e220,\n\t0x1eb08: 0x6c732e20, 0x1eb09: 0x6c9f7a20, 0x1eb0a: 0x6d41d620, 0x1eb0b: 0x6caeca20,\n\t0x1eb0c: 0x6c01d020, 0x1eb0d: 0x6caf9020, 0x1eb0e: 0x6cfd1420, 0x1eb0f: 0x6d0afa20,\n\t0x1eb10: 0x6d3c6820, 0x1eb11: 0x6c834620, 0x1eb12: 0x6c783220, 0x1eb13: 0x6c798a20,\n\t0x1eb14: 0x6cdea820, 0x1eb15: 0x6c7d8420, 0x1eb16: 0x6c31bc20, 0x1eb17: 0x6ca59020,\n\t0x1eb18: 0x6c20e220, 0x1eb19: 0x6d3e9820, 0x1eb1a: 0x6d32ec20, 0x1eb1b: 0x6c078c20,\n\t0x1eb1c: 0x6ca87620, 0x1eb1d: 0x6d403620, 0x1eb1e: 0x6c216620, 0x1eb1f: 0x6ce01420,\n\t0x1eb20: 0x6c2fba20, 0x1eb21: 0x6cb65420, 0x1eb22: 0x6cb9cc20, 0x1eb23: 0x6d3cac20,\n\t0x1eb24: 0x6c5f4820, 0x1eb25: 0x6d23fa20, 0x1eb26: 0x6c6cb620, 0x1eb27: 0x6c496620,\n\t0x1eb28: 0x6c990820, 0x1eb29: 0x6c167c20, 0x1eb2a: 0x6ce51c20, 0x1eb2b: 0x6cf6de20,\n\t0x1eb2c: 0x6c891e20, 0x1eb2d: 0x6ce24220, 0x1eb2e: 0x6c482820, 0x1eb2f: 0x6c263a20,\n\t0x1eb30: 0x6cd61420, 0x1eb31: 0x6d319c20, 0x1eb32: 0x6c92e020, 0x1eb33: 0x6c9be820,\n\t0x1eb34: 0x6c92e220, 0x1eb35: 0x6c571820, 0x1eb36: 0x6c0c8020, 0x1eb37: 0x6c40cc20,\n\t0x1eb38: 0x6c7f2c20, 0x1eb39: 0x6c790e20, 0x1eb3a: 0x6c39ec20, 0x1eb3b: 0x6cf55820,\n\t0x1eb3c: 0x6ca3d820, 0x1eb3d: 0x6ced9c20, 0x1eb3e: 0x6d299c20, 0x1eb3f: 0x6c570020,\n\t// Block 0x7ad, offset 0x1eb40\n\t0x1eb40: 0x6c2a8620, 0x1eb41: 0x6cfada20, 0x1eb42: 0x6cb10220, 0x1eb43: 0x6c5d6020,\n\t0x1eb44: 0x6c89cc20, 0x1eb45: 0x6c384820, 0x1eb46: 0x6c9ad820, 0x1eb47: 0x6c767220,\n\t0x1eb48: 0x6d1bf220, 0x1eb49: 0x6c2b4a20, 0x1eb4a: 0x6c892220, 0x1eb4b: 0x6c4c4020,\n\t0x1eb4c: 0x6cfc3620, 0x1eb4d: 0x6c328220, 0x1eb4e: 0x6ce8fc20, 0x1eb4f: 0x6cef4420,\n\t0x1eb50: 0x6d3fca20, 0x1eb51: 0x6c406a20, 0x1eb52: 0x6cc76620, 0x1eb53: 0x6c60d220,\n\t0x1eb54: 0x6c36ba20, 0x1eb55: 0x6c758620, 0x1eb56: 0x6c191420, 0x1eb57: 0x6ce38c20,\n\t0x1eb58: 0x6d2c5820, 0x1eb59: 0x6c56d420, 0x1eb5a: 0x6d0fe020, 0x1eb5b: 0x6c32de20,\n\t0x1eb5c: 0x6cfa0420, 0x1eb5d: 0x6d21c220, 0x1eb5e: 0x6c795a20, 0x1eb5f: 0x6d03aa20,\n\t0x1eb60: 0x6c5a1020, 0x1eb61: 0x6cf03220, 0x1eb62: 0x6c406c20, 0x1eb63: 0x6d2f7620,\n\t0x1eb64: 0x6c13b620, 0x1eb65: 0x6cbcee20, 0x1eb66: 0x6cd20620, 0x1eb67: 0x6c52d620,\n\t0x1eb68: 0x6c7ca820, 0x1eb69: 0x6ce51e20, 0x1eb6a: 0x6ca1ee20, 0x1eb6b: 0x6cbbbc20,\n\t0x1eb6c: 0x6cbbbe20, 0x1eb6d: 0x6c543820, 0x1eb6e: 0x6ce7e020, 0x1eb6f: 0x6c236c20,\n\t0x1eb70: 0x6c58ae20, 0x1eb71: 0x6d136620, 0x1eb72: 0x6c9f7e20, 0x1eb73: 0x6c66e620,\n\t0x1eb74: 0x6c32a420, 0x1eb75: 0x6c66da20, 0x1eb76: 0x6cd94220, 0x1eb77: 0x6c7caa20,\n\t0x1eb78: 0x6c55d220, 0x1eb79: 0x6d07d820, 0x1eb7a: 0x6c34b620, 0x1eb7b: 0x6c6b4a20,\n\t0x1eb7c: 0x6d31a020, 0x1eb7d: 0x6c0b0e20, 0x1eb7e: 0x6d37d020, 0x1eb7f: 0x6d3ea220,\n\t// Block 0x7ae, offset 0x1eb80\n\t0x1eb80: 0x6d04fe20, 0x1eb81: 0x6d129020, 0x1eb82: 0x6c9a6e20, 0x1eb83: 0x6cac3420,\n\t0x1eb84: 0x6c003620, 0x1eb85: 0x6c6c0c20, 0x1eb86: 0x6cba9420, 0x1eb87: 0x6c9a3220,\n\t0x1eb88: 0x6cdda220, 0x1eb89: 0x6c26ca20, 0x1eb8a: 0x6c059620, 0x1eb8b: 0x6cfa0a20,\n\t0x1eb8c: 0x6c887a20, 0x1eb8d: 0x6cddaa20, 0x1eb8e: 0x6c769a20, 0x1eb8f: 0x6c8ec020,\n\t0x1eb90: 0x6d116420, 0x1eb91: 0x6d137420, 0x1eb92: 0x6caa2e20, 0x1eb93: 0x6cf23e20,\n\t0x1eb94: 0x6cc6d420, 0x1eb95: 0x6ce15420, 0x1eb96: 0x6cddac20, 0x1eb97: 0x6cbaf220,\n\t0x1eb98: 0x6c86e020, 0x1eb99: 0x6cd7a620, 0x1eb9a: 0x6c20e420, 0x1eb9b: 0x6c0f9620,\n\t0x1eb9c: 0x6cac8620, 0x1eb9d: 0x6c266e20, 0x1eb9e: 0x6c089620, 0x1eb9f: 0x6cca9020,\n\t0x1eba0: 0x6c429420, 0x1eba1: 0x6d3ea620, 0x1eba2: 0x6cf38c20, 0x1eba3: 0x6d1cb420,\n\t0x1eba4: 0x6c5a7e20, 0x1eba5: 0x6ce5aa20, 0x1eba6: 0x6c8ec220, 0x1eba7: 0x6c767420,\n\t0x1eba8: 0x6cdd0220, 0x1eba9: 0x6ccc2220, 0x1ebaa: 0x6cd9f020, 0x1ebab: 0x6ceda820,\n\t0x1ebac: 0x6c507620, 0x1ebad: 0x6d327020, 0x1ebae: 0x6d327220, 0x1ebaf: 0x6c80e820,\n\t0x1ebb0: 0x6d18fc20, 0x1ebb1: 0x6d25c420, 0x1ebb2: 0x6ce18620, 0x1ebb3: 0x6ca88a20,\n\t0x1ebb4: 0x6cf7b020, 0x1ebb5: 0x6c638c20, 0x1ebb6: 0x6c43ba20, 0x1ebb7: 0x6c96a820,\n\t0x1ebb8: 0x6c730620, 0x1ebb9: 0x6cd9a220, 0x1ebba: 0x6d413420, 0x1ebbb: 0x6cddae20,\n\t0x1ebbc: 0x6cfa5620, 0x1ebbd: 0x6c3d0220, 0x1ebbe: 0x6cf21e20, 0x1ebbf: 0x6ca2ec20,\n\t// Block 0x7af, offset 0x1ebc0\n\t0x1ebc0: 0x6c91fa20, 0x1ebc1: 0x6cddb020, 0x1ebc2: 0x6cab6020, 0x1ebc3: 0x6d40f620,\n\t0x1ebc4: 0x6ce96e20, 0x1ebc5: 0x6d050820, 0x1ebc6: 0x6c49b220, 0x1ebc7: 0x6d08cc20,\n\t0x1ebc8: 0x6c892620, 0x1ebc9: 0x6cd48620, 0x1ebca: 0x6c02f820, 0x1ebcb: 0x6c97d420,\n\t0x1ebcc: 0x6ca18020, 0x1ebcd: 0x6c956620, 0x1ebce: 0x6c0a9e20, 0x1ebcf: 0x6cf0fe20,\n\t0x1ebd0: 0x6c8ed020, 0x1ebd1: 0x6c2bb220, 0x1ebd2: 0x6cca3620, 0x1ebd3: 0x6d401220,\n\t0x1ebd4: 0x6d158a20, 0x1ebd5: 0x6c932020, 0x1ebd6: 0x6c028220, 0x1ebd7: 0x6c796220,\n\t0x1ebd8: 0x6cbafa20, 0x1ebd9: 0x6c24f820, 0x1ebda: 0x6cb54e20, 0x1ebdb: 0x6c16d220,\n\t0x1ebdc: 0x6ce0dc20, 0x1ebdd: 0x6c981020, 0x1ebde: 0x6d1dd020, 0x1ebdf: 0x6c160620,\n\t0x1ebe0: 0x6c3c7220, 0x1ebe1: 0x6c6ebe20, 0x1ebe2: 0x6c0c4820, 0x1ebe3: 0x6cd62a20,\n\t0x1ebe4: 0x6c912420, 0x1ebe5: 0x6d055820, 0x1ebe6: 0x6c237420, 0x1ebe7: 0x6c8fce20,\n\t0x1ebe8: 0x6d29b020, 0x1ebe9: 0x6c670820, 0x1ebea: 0x6c12a220, 0x1ebeb: 0x6c849220,\n\t0x1ebec: 0x6cfa5c20, 0x1ebed: 0x6cf72020, 0x1ebee: 0x6c776020, 0x1ebef: 0x6cd6f820,\n\t0x1ebf0: 0x6c086220, 0x1ebf1: 0x6d2f4a20, 0x1ebf2: 0x6cba9620, 0x1ebf3: 0x6c19a620,\n\t0x1ebf4: 0x6c933420, 0x1ebf5: 0x6c576820, 0x1ebf6: 0x6c60f220, 0x1ebf7: 0x6cb47220,\n\t0x1ebf8: 0x6c5c8c20, 0x1ebf9: 0x6cbb5020, 0x1ebfa: 0x6cb32420, 0x1ebfb: 0x6c8c0220,\n\t0x1ebfc: 0x6ccb9020, 0x1ebfd: 0x6d055a20, 0x1ebfe: 0x6cca3c20, 0x1ebff: 0x6c19a820,\n\t// Block 0x7b0, offset 0x1ec00\n\t0x1ec00: 0x6c7d3a20, 0x1ec01: 0x6cd84820, 0x1ec02: 0x6c8f5420, 0x1ec03: 0x6ca4d220,\n\t0x1ec04: 0x6c5a2220, 0x1ec05: 0x6cb1e020, 0x1ec06: 0x6cdcb020, 0x1ec07: 0x6c38ea20,\n\t0x1ec08: 0x6cbc0e20, 0x1ec09: 0x6cc2aa20, 0x1ec0a: 0x6d0fee20, 0x1ec0b: 0x6ce0de20,\n\t0x1ec0c: 0x6cfe6620, 0x1ec0d: 0x6c750420, 0x1ec0e: 0x6c68a420, 0x1ec0f: 0x6d41fc20,\n\t0x1ec10: 0x6c8a4e20, 0x1ec11: 0x6cbd0420, 0x1ec12: 0x6c819020, 0x1ec13: 0x6c338020,\n\t0x1ec14: 0x6d030620, 0x1ec15: 0x6d295820, 0x1ec16: 0x6c5f8e20, 0x1ec17: 0x6c661e20,\n\t0x1ec18: 0x6d37da20, 0x1ec19: 0x6c2af620, 0x1ec1a: 0x6d0b0620, 0x1ec1b: 0x6d1d5c20,\n\t0x1ec1c: 0x6c331e20, 0x1ec1d: 0x6c750620, 0x1ec1e: 0x6caa3020, 0x1ec1f: 0x6d295a20,\n\t0x1ec20: 0x6cb4a420, 0x1ec21: 0x6ce60620, 0x1ec22: 0x6c38ec20, 0x1ec23: 0x6d2f4c20,\n\t0x1ec24: 0x6c2f8a20, 0x1ec25: 0x6ccdda20, 0x1ec26: 0x6c764220, 0x1ec27: 0x6c653820,\n\t0x1ec28: 0x6c3af020, 0x1ec29: 0x6cdcba20, 0x1ec2a: 0x6c920020, 0x1ec2b: 0x6c730c20,\n\t0x1ec2c: 0x6c5c9420, 0x1ec2d: 0x6d246a20, 0x1ec2e: 0x6c889c20, 0x1ec2f: 0x6d3dcc20,\n\t0x1ec30: 0x6cbbc820, 0x1ec31: 0x6c672220, 0x1ec32: 0x6d3dde20, 0x1ec33: 0x6c828c20,\n\t0x1ec34: 0x6c0ac820, 0x1ec35: 0x6ce60820, 0x1ec36: 0x6c58c220, 0x1ec37: 0x6d138c20,\n\t0x1ec38: 0x6c346c20, 0x1ec39: 0x6c4cd620, 0x1ec3a: 0x6c29ac20, 0x1ec3b: 0x6c72ce20,\n\t0x1ec3c: 0x6c3bac20, 0x1ec3d: 0x6c26d620, 0x1ec3e: 0x6c077220, 0x1ec3f: 0x6d194a20,\n\t// Block 0x7b1, offset 0x1ec40\n\t0x1ec40: 0x6c010820, 0x1ec41: 0x6d3fe220, 0x1ec42: 0x6d0aba20, 0x1ec43: 0x6c2e4e20,\n\t0x1ec44: 0x6d3b4e20, 0x1ec45: 0x6c528620, 0x1ec46: 0x6d3cc220, 0x1ec47: 0x6c5fa220,\n\t0x1ec48: 0x6ca8be20, 0x1ec49: 0x6c51a620, 0x1ec4a: 0x6c5e4c20, 0x1ec4b: 0x6cbe6020,\n\t0x1ec4c: 0x6c0d7020, 0x1ec4d: 0x6d1c3e20, 0x1ec4e: 0x6c7d4020, 0x1ec4f: 0x6ca93c20,\n\t0x1ec50: 0x6d060e20, 0x1ec51: 0x6c672620, 0x1ec52: 0x6c672820, 0x1ec53: 0x6cba9a20,\n\t0x1ec54: 0x6c142620, 0x1ec55: 0x6d377220, 0x1ec56: 0x6c9f1620, 0x1ec57: 0x6c84ce20,\n\t0x1ec58: 0x6c829820, 0x1ec59: 0x6c5fa620, 0x1ec5a: 0x6d416620, 0x1ec5b: 0x6c7c2220,\n\t0x1ec5c: 0x6cce4420, 0x1ec5d: 0x6caefc20, 0x1ec5e: 0x6c7ece20, 0x1ec5f: 0x6c320020,\n\t0x1ec60: 0x6cd7b020, 0x1ec61: 0x6c21ec20, 0x1ec62: 0x6c942820, 0x1ec63: 0x6c0c6220,\n\t0x1ec64: 0x6c068420, 0x1ec65: 0x6c920420, 0x1ec66: 0x6cfd5c20, 0x1ec67: 0x6c7b7e20,\n\t0x1ec68: 0x6c901020, 0x1ec69: 0x6c36fa20, 0x1ec6a: 0x6c91a220, 0x1ec6b: 0x6d02f820,\n\t0x1ec6c: 0x6c672c20, 0x1ec6d: 0x6c809420, 0x1ec6e: 0x6c0fd620, 0x1ec6f: 0x6c655620,\n\t0x1ec70: 0x6d125820, 0x1ec71: 0x6c157e20, 0x1ec72: 0x6cfda620, 0x1ec73: 0x6c673020,\n\t0x1ec74: 0x6cf76220, 0x1ec75: 0x6c49c820, 0x1ec76: 0x6c125620, 0x1ec77: 0x6ca8d220,\n\t0x1ec78: 0x6c831620, 0x1ec79: 0x6c249c20, 0x1ec7a: 0x6cc23020, 0x1ec7b: 0x6cacc820,\n\t0x1ec7c: 0x6c959420, 0x1ec7d: 0x6d414420, 0x1ec7e: 0x6c947a20, 0x1ec7f: 0x6d2a3820,\n\t// Block 0x7b2, offset 0x1ec80\n\t0x1ec80: 0x6ca8d820, 0x1ec81: 0x6c753e20, 0x1ec82: 0x6ce19820, 0x1ec83: 0x6cd58e20,\n\t0x1ec84: 0x6c801c20, 0x1ec85: 0x6c6c2220, 0x1ec86: 0x6c40c420, 0x1ec87: 0x6d15b420,\n\t0x1ec88: 0x6d312020, 0x1ec89: 0x6c2f5220, 0x1ec8a: 0x6d2f5220, 0x1ec8b: 0x6cb2f020,\n\t0x1ec8c: 0x6c8a6620, 0x1ec8d: 0x6ce91820, 0x1ec8e: 0x6cb8ba20, 0x1ec8f: 0x6c203220,\n\t0x1ec90: 0x6cccca20, 0x1ec91: 0x6c5fe820, 0x1ec92: 0x6c388e20, 0x1ec93: 0x6c2e0a20,\n\t0x1ec94: 0x6c9ac420, 0x1ec95: 0x6caa7020, 0x1ec96: 0x6d0f8c20, 0x1ec97: 0x6c146420,\n\t0x1ec98: 0x6d03d620, 0x1ec99: 0x6c413020, 0x1ec9a: 0x6c107a20, 0x1ec9b: 0x6cdf6620,\n\t0x1ec9c: 0x6c721c20, 0x1ec9d: 0x6c33e620, 0x1ec9e: 0x6c173e20, 0x1ec9f: 0x6d37ac20,\n\t0x1eca0: 0x6ca32220, 0x1eca1: 0x6c06f620, 0x1eca2: 0x6c426a20, 0x1eca3: 0x6c04c420,\n\t0x1eca4: 0x6cb97a20, 0x1eca5: 0x6d11fa20, 0x1eca6: 0x6cbd2220, 0x1eca7: 0x6c756620,\n\t0x1eca8: 0x6cf35e20, 0x1eca9: 0x6c463c20, 0x1ecaa: 0x6c778420, 0x1ecab: 0x6c398e20,\n\t0x1ecac: 0x6c5d8c20, 0x1ecad: 0x6ce80a20, 0x1ecae: 0x6ca98e20, 0x1ecaf: 0x6c039c20,\n\t0x1ecb0: 0x6d22fa20, 0x1ecb1: 0x6cb98420, 0x1ecb2: 0x6d32aa20, 0x1ecb3: 0x6cb98620,\n\t0x1ecb4: 0x6c477820, 0x1ecb5: 0x6c0e6820, 0x1ecb6: 0x6c353c20, 0x1ecb7: 0x6cb35220,\n\t0x1ecb8: 0x6c108e20, 0x1ecb9: 0x6c0ee220, 0x1ecba: 0x6d26a020, 0x1ecbb: 0x6d413820,\n\t0x1ecbc: 0x6ca28020, 0x1ecbd: 0x6ce05a20, 0x1ecbe: 0x6c641020, 0x1ecbf: 0x6c2d4a20,\n\t// Block 0x7b3, offset 0x1ecc0\n\t0x1ecc0: 0x6d1f2620, 0x1ecc1: 0x6ce5f820, 0x1ecc2: 0x6c0ee420, 0x1ecc3: 0x6c8cd620,\n\t0x1ecc4: 0x6cd77a20, 0x1ecc5: 0x6cb8d020, 0x1ecc6: 0x6c993620, 0x1ecc7: 0x6c064420,\n\t0x1ecc8: 0x6cd36620, 0x1ecc9: 0x6d088420, 0x1ecca: 0x6cdde820, 0x1eccb: 0x6c097220,\n\t0x1eccc: 0x6ca5d220, 0x1eccd: 0x6caf5e20, 0x1ecce: 0x6c344220, 0x1eccf: 0x6d03e420,\n\t0x1ecd0: 0x6c77bc20, 0x1ecd1: 0x6c81b020, 0x1ecd2: 0x6c379420, 0x1ecd3: 0x6c985e20,\n\t0x1ecd4: 0x6d0ba820, 0x1ecd5: 0x6d1fc620, 0x1ecd6: 0x6c19f620, 0x1ecd7: 0x6c63bc20,\n\t0x1ecd8: 0x6d127e20, 0x1ecd9: 0x6ca4a820, 0x1ecda: 0x6d361020, 0x1ecdb: 0x6c29aa20,\n\t0x1ecdc: 0x6ce74620, 0x1ecdd: 0x6c939820, 0x1ecde: 0x6c2e2220, 0x1ecdf: 0x6d19d220,\n\t0x1ece0: 0x6c765020, 0x1ece1: 0x6d2c2e20, 0x1ece2: 0x6d39a220, 0x1ece3: 0x6cf7e420,\n\t0x1ece4: 0x6c2fa220, 0x1ece5: 0x6c2fd220, 0x1ece6: 0x6cfaa420, 0x1ece7: 0x6c573a20,\n\t0x1ece8: 0x6cc2e820, 0x1ece9: 0x6ccbf020, 0x1ecea: 0x6c4cfa20, 0x1eceb: 0x6c2e2420,\n\t0x1ecec: 0x6c448620, 0x1eced: 0x6c9ffc20, 0x1ecee: 0x6d32be20, 0x1ecef: 0x6ccb2620,\n\t0x1ecf0: 0x6c68ec20, 0x1ecf1: 0x6d13ec20, 0x1ecf2: 0x6c15b220, 0x1ecf3: 0x6c1d4e20,\n\t0x1ecf4: 0x6ce0be20, 0x1ecf5: 0x6c018220, 0x1ecf6: 0x6d1a6220, 0x1ecf7: 0x6cc7a820,\n\t0x1ecf8: 0x6d3b0620, 0x1ecf9: 0x6c815c20, 0x1ecfa: 0x6cb4ac20, 0x1ecfb: 0x6cf3cc20,\n\t0x1ecfc: 0x6c7f1020, 0x1ecfd: 0x6ce27c20, 0x1ecfe: 0x6c890020, 0x1ecff: 0x6c794420,\n\t// Block 0x7b4, offset 0x1ed00\n\t0x1ed00: 0x6cfed020, 0x1ed01: 0x6cdd6820, 0x1ed02: 0x6c851a20, 0x1ed03: 0x6d2bac20,\n\t0x1ed04: 0x6c1e8620, 0x1ed05: 0x6c4c2220, 0x1ed06: 0x6c434a20, 0x1ed07: 0x6c357020,\n\t0x1ed08: 0x6d053e20, 0x1ed09: 0x6c262e20, 0x1ed0a: 0x6c94aa20, 0x1ed0b: 0x6c3c5220,\n\t0x1ed0c: 0x6d02da20, 0x1ed0d: 0x6c8f0a20, 0x1ed0e: 0x6c763220, 0x1ed0f: 0x6c65a220,\n\t0x1ed10: 0x6cc8d020, 0x1ed11: 0x6ce2f220, 0x1ed12: 0x6c80ce20, 0x1ed13: 0x6cbdda20,\n\t0x1ed14: 0x6c70a420, 0x1ed15: 0x6c000820, 0x1ed16: 0x6cbac620, 0x1ed17: 0x6d30da20,\n\t0x1ed18: 0x6cab0020, 0x1ed19: 0x6c263220, 0x1ed1a: 0x6c98ee20, 0x1ed1b: 0x6c078a20,\n\t0x1ed1c: 0x6cb60620, 0x1ed1d: 0x6c2a7820, 0x1ed1e: 0x6c78be20, 0x1ed1f: 0x6c7d7420,\n\t0x1ed20: 0x6c167620, 0x1ed21: 0x6cf65e20, 0x1ed22: 0x6c482020, 0x1ed23: 0x6c954c20,\n\t0x1ed24: 0x6c20da20, 0x1ed25: 0x6d3c6420, 0x1ed26: 0x6c6c9a20, 0x1ed27: 0x6d367420,\n\t0x1ed28: 0x6cfab620, 0x1ed29: 0x6c732220, 0x1ed2a: 0x6c5d5820, 0x1ed2b: 0x6caddc20,\n\t0x1ed2c: 0x6cdfee20, 0x1ed2d: 0x6c2fae20, 0x1ed2e: 0x6c66a220, 0x1ed2f: 0x6c725c20,\n\t0x1ed30: 0x6c9bdc20, 0x1ed31: 0x6d3e6620, 0x1ed32: 0x6cbcdc20, 0x1ed33: 0x6d1bc820,\n\t0x1ed34: 0x6c766a20, 0x1ed35: 0x6cbad420, 0x1ed36: 0x6cd80a20, 0x1ed37: 0x6c367820,\n\t0x1ed38: 0x6c13ac20, 0x1ed39: 0x6cbb9420, 0x1ed3a: 0x6d37c420, 0x1ed3b: 0x6c32d620,\n\t0x1ed3c: 0x6cd9d220, 0x1ed3d: 0x6c59e820, 0x1ed3e: 0x6c588c20, 0x1ed3f: 0x6c003220,\n\t// Block 0x7b5, offset 0x1ed40\n\t0x1ed40: 0x6c327020, 0x1ed41: 0x6c9a6420, 0x1ed42: 0x6c911420, 0x1ed43: 0x6d3e7420,\n\t0x1ed44: 0x6c3ac020, 0x1ed45: 0x6c9a1c20, 0x1ed46: 0x6ca15820, 0x1ed47: 0x6d325c20,\n\t0x1ed48: 0x6c0f5020, 0x1ed49: 0x6c442a20, 0x1ed4a: 0x6ca86620, 0x1ed4b: 0x6ce18220,\n\t0x1ed4c: 0x6c730220, 0x1ed4d: 0x6ca86820, 0x1ed4e: 0x6ca2e820, 0x1ed4f: 0x6c8e8e20,\n\t0x1ed50: 0x6c431e20, 0x1ed51: 0x6c058a20, 0x1ed52: 0x6d186c20, 0x1ed53: 0x6c638020,\n\t0x1ed54: 0x6c0d4e20, 0x1ed55: 0x6cc6ac20, 0x1ed56: 0x6c0c2420, 0x1ed57: 0x6ce0d620,\n\t0x1ed58: 0x6c980620, 0x1ed59: 0x6c955420, 0x1ed5a: 0x6c085420, 0x1ed5b: 0x6d1dbc20,\n\t0x1ed5c: 0x6c6eae20, 0x1ed5d: 0x6c2b4620, 0x1ed5e: 0x6d40dc20, 0x1ed5f: 0x6d08b420,\n\t0x1ed60: 0x6c8ea620, 0x1ed61: 0x6c153220, 0x1ed62: 0x6c74d020, 0x1ed63: 0x6c8aac20,\n\t0x1ed64: 0x6cb46420, 0x1ed65: 0x6c91e220, 0x1ed66: 0x6c336e20, 0x1ed67: 0x6c7fc820,\n\t0x1ed68: 0x6cb49e20, 0x1ed69: 0x6c249420, 0x1ed6a: 0x6cbae820, 0x1ed6b: 0x6c2aee20,\n\t0x1ed6c: 0x6c5e1e20, 0x1ed6d: 0x6c826e20, 0x1ed6e: 0x6c58b220, 0x1ed6f: 0x6d3dc420,\n\t0x1ed70: 0x6c887c20, 0x1ed71: 0x6d18fe20, 0x1ed72: 0x6c142420, 0x1ed73: 0x6c0c4e20,\n\t0x1ed74: 0x6c7eba20, 0x1ed75: 0x6c157020, 0x1ed76: 0x6cfda020, 0x1ed77: 0x6d2f0020,\n\t0x1ed78: 0x6c169c20, 0x1ed79: 0x6c6fbc20, 0x1ed7a: 0x6c02a420, 0x1ed7b: 0x6c2eb820,\n\t0x1ed7c: 0x6cc13c20, 0x1ed7d: 0x6c8a8420, 0x1ed7e: 0x6c9caa20, 0x1ed7f: 0x6d2efa20,\n\t// Block 0x7b6, offset 0x1ed80\n\t0x1ed80: 0x6c9ac620, 0x1ed81: 0x6c96b620, 0x1ed82: 0x6cd68220, 0x1ed83: 0x6ccd3c20,\n\t0x1ed84: 0x6c5db420, 0x1ed85: 0x6c9ac820, 0x1ed86: 0x6d0c8e20, 0x1ed87: 0x6c098e20,\n\t0x1ed88: 0x6c4eba20, 0x1ed89: 0x6c099020, 0x1ed8a: 0x6ccdfa20, 0x1ed8b: 0x6c763420,\n\t0x1ed8c: 0x6c778a20, 0x1ed8d: 0x6c07f220, 0x1ed8e: 0x6c535c20, 0x1ed8f: 0x6cc8fe20,\n\t0x1ed90: 0x6cca5820, 0x1ed91: 0x6cfb6420, 0x1ed92: 0x6cfb6620, 0x1ed93: 0x6c64ac20,\n\t0x1ed94: 0x6c9fb420, 0x1ed95: 0x6cf96820, 0x1ed96: 0x6cd74020, 0x1ed97: 0x6c312020,\n\t0x1ed98: 0x6d2c3c20, 0x1ed99: 0x6ca53420, 0x1ed9a: 0x6d2d8820, 0x1ed9b: 0x6cae7820,\n\t0x1ed9c: 0x6cfa2220, 0x1ed9d: 0x6c8d2820, 0x1ed9e: 0x6c0bae20, 0x1ed9f: 0x6c09e820,\n\t0x1eda0: 0x6cc90020, 0x1eda1: 0x6c00be20, 0x1eda2: 0x6c492020, 0x1eda3: 0x6c441620,\n\t0x1eda4: 0x6c441820, 0x1eda5: 0x6c382220, 0x1eda6: 0x6c1f6620, 0x1eda7: 0x6c53c820,\n\t0x1eda8: 0x6c4a7e20, 0x1eda9: 0x6c9fbe20, 0x1edaa: 0x6ccb1220, 0x1edab: 0x6c7dc020,\n\t0x1edac: 0x6c812c20, 0x1edad: 0x6c935a20, 0x1edae: 0x6ce68820, 0x1edaf: 0x6ccc7620,\n\t0x1edb0: 0x6c714820, 0x1edb1: 0x6d26e420, 0x1edb2: 0x6d26e620, 0x1edb3: 0x6c15e020,\n\t0x1edb4: 0x6cc27620, 0x1edb5: 0x6c8c6a20, 0x1edb6: 0x6c167e20, 0x1edb7: 0x6ccca420,\n\t0x1edb8: 0x6c7dc220, 0x1edb9: 0x6d0c3020, 0x1edba: 0x6cf1b220, 0x1edbb: 0x6d0cd420,\n\t0x1edbc: 0x6c36b020, 0x1edbd: 0x6c5cda20, 0x1edbe: 0x6d23fc20, 0x1edbf: 0x6cf1b420,\n\t// Block 0x7b7, offset 0x1edc0\n\t0x1edc0: 0x6cfe6020, 0x1edc1: 0x6c05be20, 0x1edc2: 0x6c53d620, 0x1edc3: 0x6cc28020,\n\t0x1edc4: 0x6d11dc20, 0x1edc5: 0x6cf1ba20, 0x1edc6: 0x6c04d820, 0x1edc7: 0x6c01d220,\n\t0x1edc8: 0x6cef4620, 0x1edc9: 0x6d1a1020, 0x1edca: 0x6c7e2020, 0x1edcb: 0x6cc40a20,\n\t0x1edcc: 0x6c7fca20, 0x1edcd: 0x6c317c20, 0x1edce: 0x6cc38620, 0x1edcf: 0x6c3c6e20,\n\t0x1edd0: 0x6ce4cc20, 0x1edd1: 0x6ca88c20, 0x1edd2: 0x6cdec420, 0x1edd3: 0x6c767620,\n\t0x1edd4: 0x6c518a20, 0x1edd5: 0x6cc40e20, 0x1edd6: 0x6c209c20, 0x1edd7: 0x6c493020,\n\t0x1edd8: 0x6c314620, 0x1edd9: 0x6cb72420, 0x1edda: 0x6c7c4e20, 0x1eddb: 0x6ce15c20,\n\t0x1eddc: 0x6c493420, 0x1eddd: 0x6cb18a20, 0x1edde: 0x6c771820, 0x1eddf: 0x6cf92420,\n\t0x1ede0: 0x6c5c8e20, 0x1ede1: 0x6c160e20, 0x1ede2: 0x6cb0dc20, 0x1ede3: 0x6c29a420,\n\t0x1ede4: 0x6c58c420, 0x1ede5: 0x6cdeda20, 0x1ede6: 0x6cf1c220, 0x1ede7: 0x6cde0220,\n\t0x1ede8: 0x6c9abe20, 0x1ede9: 0x6cd67e20, 0x1edea: 0x6ccd2820, 0x1edeb: 0x6d0e3820,\n\t0x1edec: 0x6c4e8820, 0x1eded: 0x6c090e20, 0x1edee: 0x6cf1f820, 0x1edef: 0x6c208c20,\n\t0x1edf0: 0x6cc8f820, 0x1edf1: 0x6ceee620, 0x1edf2: 0x6cfb2820, 0x1edf3: 0x6c52fe20,\n\t0x1edf4: 0x6c646620, 0x1edf5: 0x6c9f9220, 0x1edf6: 0x6c772620, 0x1edf7: 0x6c9aea20,\n\t0x1edf8: 0x6d2c2420, 0x1edf9: 0x6ca52a20, 0x1edfa: 0x6c4a4220, 0x1edfb: 0x6cf18820,\n\t0x1edfc: 0x6cde3e20, 0x1edfd: 0x6c9fa020, 0x1edfe: 0x6c935420, 0x1edff: 0x6c764e20,\n\t// Block 0x7b8, offset 0x1ee00\n\t0x1ee00: 0x6c380a20, 0x1ee01: 0x6c43ce20, 0x1ee02: 0x6c50e620, 0x1ee03: 0x6c7da420,\n\t0x1ee04: 0x6c6f6820, 0x1ee05: 0x6d26a220, 0x1ee06: 0x6c80b020, 0x1ee07: 0x6c316c20,\n\t0x1ee08: 0x6d232820, 0x1ee09: 0x6d0c0420, 0x1ee0a: 0x6c166c20, 0x1ee0b: 0x6cf88020,\n\t0x1ee0c: 0x6cf19420, 0x1ee0d: 0x6c5cc620, 0x1ee0e: 0x6d0c9020, 0x1ee0f: 0x6c362020,\n\t0x1ee10: 0x6c15b420, 0x1ee11: 0x6c7fa020, 0x1ee12: 0x6cc27020, 0x1ee13: 0x6c5bce20,\n\t0x1ee14: 0x6c7e0220, 0x1ee15: 0x6cc3c620, 0x1ee16: 0x6c515020, 0x1ee17: 0x6ce4b220,\n\t0x1ee18: 0x6c26b220, 0x1ee19: 0x6cc39020, 0x1ee1a: 0x6c4e5e20, 0x1ee1b: 0x6c58a220,\n\t0x1ee1c: 0x6c3fba20, 0x1ee1d: 0x6c3f9e20, 0x1ee1e: 0x6c820620, 0x1ee1f: 0x6c332a20,\n\t0x1ee20: 0x6d031020, 0x1ee21: 0x6cb89020, 0x1ee22: 0x6cf49a20, 0x1ee23: 0x6c412620,\n\t0x1ee24: 0x6d356a20, 0x1ee25: 0x6d19a020, 0x1ee26: 0x6d0f7820, 0x1ee27: 0x6c30d620,\n\t0x1ee28: 0x6c35ce20, 0x1ee29: 0x6cd0d620, 0x1ee2a: 0x6c04b220, 0x1ee2b: 0x6cadc620,\n\t0x1ee2c: 0x6c792220, 0x1ee2d: 0x6d27d420, 0x1ee2e: 0x6cc84c20, 0x1ee2f: 0x6d34da20,\n\t0x1ee30: 0x6cafac20, 0x1ee31: 0x6c6e0420, 0x1ee32: 0x6c39a020, 0x1ee33: 0x6d0f7a20,\n\t0x1ee34: 0x6d19a220, 0x1ee35: 0x6d321020, 0x1ee36: 0x6c69f420, 0x1ee37: 0x6c195020,\n\t0x1ee38: 0x6c35d620, 0x1ee39: 0x6cc0d620, 0x1ee3a: 0x6c2bd220, 0x1ee3b: 0x6d410a20,\n\t0x1ee3c: 0x6d427820, 0x1ee3d: 0x6c2d3820, 0x1ee3e: 0x6c8e0820, 0x1ee3f: 0x6c000220,\n\t// Block 0x7b9, offset 0x1ee40\n\t0x1ee40: 0x6ceae620, 0x1ee41: 0x6ceae820, 0x1ee42: 0x6c068c20, 0x1ee43: 0x6c0dc020,\n\t0x1ee44: 0x6c3fae20, 0x1ee45: 0x6c618e20, 0x1ee46: 0x6c921420, 0x1ee47: 0x6c902c20,\n\t0x1ee48: 0x6c18a220, 0x1ee49: 0x6d03c220, 0x1ee4a: 0x6c34ce20, 0x1ee4b: 0x6c910220,\n\t0x1ee4c: 0x6ca0da20, 0x1ee4d: 0x6c67d620, 0x1ee4e: 0x6cd4ae20, 0x1ee4f: 0x6c34d020,\n\t0x1ee50: 0x6cfc8620, 0x1ee51: 0x6c373820, 0x1ee52: 0x6c4acc20, 0x1ee53: 0x6d207c20,\n\t0x1ee54: 0x6c40e220, 0x1ee55: 0x6ccd2e20, 0x1ee56: 0x6c759e20, 0x1ee57: 0x6cbc3420,\n\t0x1ee58: 0x6d03d820, 0x1ee59: 0x6c213620, 0x1ee5a: 0x6c3fd820, 0x1ee5b: 0x6c095820,\n\t0x1ee5c: 0x6cf99e20, 0x1ee5d: 0x6ccd3820, 0x1ee5e: 0x6cd0f620, 0x1ee5f: 0x6d35aa20,\n\t0x1ee60: 0x6cb40420, 0x1ee61: 0x6c30e420, 0x1ee62: 0x6d260620, 0x1ee63: 0x6d322820,\n\t0x1ee64: 0x6c1e7620, 0x1ee65: 0x6cfc9820, 0x1ee66: 0x6c2a5620, 0x1ee67: 0x6ca7fe20,\n\t0x1ee68: 0x6d27e020, 0x1ee69: 0x6cfbf020, 0x1ee6a: 0x6cadce20, 0x1ee6b: 0x6c3aa020,\n\t0x1ee6c: 0x6d404e20, 0x1ee6d: 0x6d174c20, 0x1ee6e: 0x6c334820, 0x1ee6f: 0x6c94e620,\n\t0x1ee70: 0x6d19c420, 0x1ee71: 0x6c707820, 0x1ee72: 0x6c20c620, 0x1ee73: 0x6c18ba20,\n\t0x1ee74: 0x6cafd620, 0x1ee75: 0x6c8cd820, 0x1ee76: 0x6ce21420, 0x1ee77: 0x6cfcae20,\n\t0x1ee78: 0x6c923020, 0x1ee79: 0x6cd0fc20, 0x1ee7a: 0x6cfc0a20, 0x1ee7b: 0x6d19d420,\n\t0x1ee7c: 0x6d3a6220, 0x1ee7d: 0x6d0fb020, 0x1ee7e: 0x6cc62c20, 0x1ee7f: 0x6cf9bc20,\n\t// Block 0x7ba, offset 0x1ee80\n\t0x1ee80: 0x6c1d1420, 0x1ee81: 0x6d0e6820, 0x1ee82: 0x6d19d620, 0x1ee83: 0x6cd5ce20,\n\t0x1ee84: 0x6c2b2c20, 0x1ee85: 0x6d210c20, 0x1ee86: 0x6c8f9220, 0x1ee87: 0x6cee7820,\n\t0x1ee88: 0x6cee7a20, 0x1ee89: 0x6ca82420, 0x1ee8a: 0x6c334a20, 0x1ee8b: 0x6cdbf220,\n\t0x1ee8c: 0x6c018420, 0x1ee8d: 0x6c59b620, 0x1ee8e: 0x6c6a0620, 0x1ee8f: 0x6cdbf420,\n\t0x1ee90: 0x6d1ae220, 0x1ee91: 0x6c413c20, 0x1ee92: 0x6d0d9a20, 0x1ee93: 0x6c5abe20,\n\t0x1ee94: 0x6c43fc20, 0x1ee95: 0x6d27ee20, 0x1ee96: 0x6cf4f220, 0x1ee97: 0x6c7c6c20,\n\t0x1ee98: 0x6c009e20, 0x1ee99: 0x6cf89820, 0x1ee9a: 0x6ce10c20, 0x1ee9b: 0x6c623020,\n\t0x1ee9c: 0x6d2f3620, 0x1ee9d: 0x6c29de20, 0x1ee9e: 0x6c024820, 0x1ee9f: 0x6cf8aa20,\n\t0x1eea0: 0x6d1aee20, 0x1eea1: 0x6cc9be20, 0x1eea2: 0x6cc53a20, 0x1eea3: 0x6c8bca20,\n\t0x1eea4: 0x6ce9b220, 0x1eea5: 0x6c2ade20, 0x1eea6: 0x6c693820, 0x1eea7: 0x6cdc5820,\n\t0x1eea8: 0x6cdbfa20, 0x1eea9: 0x6c02e220, 0x1eeaa: 0x6cfc2620, 0x1eeab: 0x6c3b8220,\n\t0x1eeac: 0x6ca64c20, 0x1eead: 0x6c376820, 0x1eeae: 0x6c5f4a20, 0x1eeaf: 0x6c29ec20,\n\t0x1eeb0: 0x6cf7a620, 0x1eeb1: 0x6d1b0a20, 0x1eeb2: 0x6c358220, 0x1eeb3: 0x6c5af420,\n\t0x1eeb4: 0x6c903c20, 0x1eeb5: 0x6cf72220, 0x1eeb6: 0x6c859820, 0x1eeb7: 0x6c868820,\n\t0x1eeb8: 0x6c86b420, 0x1eeb9: 0x6d3c5620, 0x1eeba: 0x6c553a20, 0x1eebb: 0x6d33d220,\n\t0x1eebc: 0x6cdcea20, 0x1eebd: 0x6c735220, 0x1eebe: 0x6ca3f620, 0x1eebf: 0x6d178820,\n\t// Block 0x7bb, offset 0x1eec0\n\t0x1eec0: 0x6cc3ba20, 0x1eec1: 0x6d0e7e20, 0x1eec2: 0x6cbd7a20, 0x1eec3: 0x6cb8e820,\n\t0x1eec4: 0x6d047c20, 0x1eec5: 0x6d0b5420, 0x1eec6: 0x6c604620, 0x1eec7: 0x6c481820,\n\t0x1eec8: 0x6c587a20, 0x1eec9: 0x6d367620, 0x1eeca: 0x6c46c020, 0x1eecb: 0x6c736e20,\n\t0x1eecc: 0x6c225620, 0x1eecd: 0x6d1d9420, 0x1eece: 0x6c70b020, 0x1eecf: 0x6c1e9820,\n\t0x1eed0: 0x6c54f020, 0x1eed1: 0x6d28c420, 0x1eed2: 0x6c961c20, 0x1eed3: 0x6d219620,\n\t0x1eed4: 0x6c1dde20, 0x1eed5: 0x6c2de020, 0x1eed6: 0x6cdbe020, 0x1eed7: 0x6c4f2820,\n\t0x1eed8: 0x6cf32220, 0x1eed9: 0x6cd6a620, 0x1eeda: 0x6c49ae20, 0x1eedb: 0x6c1ec220,\n\t0x1eedc: 0x6d28d220, 0x1eedd: 0x6d1dcc20, 0x1eede: 0x6c5f7c20, 0x1eedf: 0x6cf70c20,\n\t0x1eee0: 0x6c1dfe20, 0x1eee1: 0x6c8f5220, 0x1eee2: 0x6c847e20, 0x1eee3: 0x6ca41420,\n\t0x1eee4: 0x6d092c20, 0x1eee5: 0x6d28e420, 0x1eee6: 0x6c610820, 0x1eee7: 0x6c610a20,\n\t0x1eee8: 0x6d222220, 0x1eee9: 0x6d211020, 0x1eeea: 0x6d093020, 0x1eeeb: 0x6ca2f820,\n\t0x1eeec: 0x6c3d2e20, 0x1eeed: 0x6ccb2820, 0x1eeee: 0x6ca28e20, 0x1eeef: 0x6cf19820,\n\t0x1eef0: 0x6c3b3620, 0x1eef1: 0x6cacda20, 0x1eef2: 0x6d27aa20, 0x1eef3: 0x6c862220,\n\t0x1eef4: 0x6c1c3a20, 0x1eef5: 0x6d0f6020, 0x1eef6: 0x6c8d2a20, 0x1eef7: 0x6c823e20,\n\t0x1eef8: 0x6c016e20, 0x1eef9: 0x6c05ce20, 0x1eefa: 0x6cf50420, 0x1eefb: 0x6c2d6a20,\n\t0x1eefc: 0x6c297420, 0x1eefd: 0x6c56ac20, 0x1eefe: 0x6cf50620, 0x1eeff: 0x6c2e3420,\n\t// Block 0x7bc, offset 0x1ef00\n\t0x1ef00: 0x6d05c220, 0x1ef01: 0x6c625820, 0x1ef02: 0x6ca2a820, 0x1ef03: 0x6c18e820,\n\t0x1ef04: 0x6cff1020, 0x1ef05: 0x6d2cde20, 0x1ef06: 0x6ce68a20, 0x1ef07: 0x6d325e20,\n\t0x1ef08: 0x6cae2820, 0x1ef09: 0x6c9a2420, 0x1ef0a: 0x6c8d4c20, 0x1ef0b: 0x6cb53420,\n\t0x1ef0c: 0x6d38b020, 0x1ef0d: 0x6c5e0220, 0x1ef0e: 0x6ccc7c20, 0x1ef0f: 0x6c3a1a20,\n\t0x1ef10: 0x6c538a20, 0x1ef11: 0x6d2da020, 0x1ef12: 0x6d1a0820, 0x1ef13: 0x6ca60820,\n\t0x1ef14: 0x6d3b2e20, 0x1ef15: 0x6cea6e20, 0x1ef16: 0x6c8be420, 0x1ef17: 0x6c8e3020,\n\t0x1ef18: 0x6c308e20, 0x1ef19: 0x6d1bf620, 0x1ef1a: 0x6cf53220, 0x1ef1b: 0x6c8d7420,\n\t0x1ef1c: 0x6cd6a420, 0x1ef1d: 0x6c8d7620, 0x1ef1e: 0x6cfa0620, 0x1ef1f: 0x6c539020,\n\t0x1ef20: 0x6d1a1220, 0x1ef21: 0x6c974420, 0x1ef22: 0x6c974620, 0x1ef23: 0x6d280620,\n\t0x1ef24: 0x6c8f4c20, 0x1ef25: 0x6c9c1620, 0x1ef26: 0x6c0d6a20, 0x1ef27: 0x6cf54020,\n\t0x1ef28: 0x6cf10020, 0x1ef29: 0x6c7e2a20, 0x1ef2a: 0x6d1aac20, 0x1ef2b: 0x6cf7b220,\n\t0x1ef2c: 0x6d191e20, 0x1ef2d: 0x6c008020, 0x1ef2e: 0x6c28e420, 0x1ef2f: 0x6ce2e420,\n\t0x1ef30: 0x6cca4020, 0x1ef31: 0x6d246c20, 0x1ef32: 0x6c933620, 0x1ef33: 0x6c8fd020,\n\t0x1ef34: 0x6c27a820, 0x1ef35: 0x6c60f420, 0x1ef36: 0x6cacec20, 0x1ef37: 0x6d0ff420,\n\t0x1ef38: 0x6c03d620, 0x1ef39: 0x6cafa420, 0x1ef3a: 0x6cef7020, 0x1ef3b: 0x6c3c8420,\n\t0x1ef3c: 0x6cf93420, 0x1ef3d: 0x6c62e420, 0x1ef3e: 0x6c970e20, 0x1ef3f: 0x6c9bac20,\n\t// Block 0x7bd, offset 0x1ef40\n\t0x1ef40: 0x6c9bae20, 0x1ef41: 0x6c829a20, 0x1ef42: 0x6c87ae20, 0x1ef43: 0x6c5e5820,\n\t0x1ef44: 0x6c008220, 0x1ef45: 0x6c3b0220, 0x1ef46: 0x6c27ae20, 0x1ef47: 0x6c901220,\n\t0x1ef48: 0x6c8db620, 0x1ef49: 0x6c010e20, 0x1ef4a: 0x6c3c8e20, 0x1ef4b: 0x6c87c820,\n\t0x1ef4c: 0x6c062620, 0x1ef4d: 0x6c521820, 0x1ef4e: 0x6c521020, 0x1ef4f: 0x6c521420,\n\t0x1ef50: 0x6c0e3e20, 0x1ef51: 0x6cbe3020, 0x1ef52: 0x6cbe3220, 0x1ef53: 0x6c6e8a20,\n\t0x1ef54: 0x6ce46c20, 0x1ef55: 0x6d317820, 0x1ef56: 0x6c6e9220, 0x1ef57: 0x6c198420,\n\t0x1ef58: 0x6cbed420, 0x1ef59: 0x6c6e9c20, 0x1ef5a: 0x6c6ea620, 0x1ef5b: 0x6c2d8620,\n\t0x1ef5c: 0x6c6eb020, 0x1ef5d: 0x6ce47a20, 0x1ef5e: 0x6c39f220, 0x1ef5f: 0x6c3a0a20,\n\t0x1ef60: 0x6c77c820, 0x1ef61: 0x6c9c9220, 0x1ef62: 0x6c9e5620, 0x1ef63: 0x6c9e5020,\n\t0x1ef64: 0x6c065a20, 0x1ef65: 0x6d133420, 0x1ef66: 0x6ce52020, 0x1ef67: 0x6c5c9820,\n\t0x1ef68: 0x6d139c20, 0x1ef69: 0x6c43d020, 0x1ef6a: 0x6c2f5e20, 0x1ef6b: 0x6c13ea20,\n\t0x1ef6c: 0x6cb9a020, 0x1ef6d: 0x6cc5f820, 0x1ef6e: 0x6c2b7020, 0x1ef6f: 0x6c326020,\n\t0x1ef70: 0x6cf4f420, 0x1ef71: 0x6cc5fa20, 0x1ef72: 0x6cbd8820, 0x1ef73: 0x6c6d2020,\n\t0x1ef74: 0x6d08e420, 0x1ef75: 0x6ca99e20, 0x1ef76: 0x6c03a220, 0x1ef77: 0x6d1af020,\n\t0x1ef78: 0x6cc95020, 0x1ef79: 0x6ca35e20, 0x1ef7a: 0x6ca14420, 0x1ef7b: 0x6d412220,\n\t0x1ef7c: 0x6c26b620, 0x1ef7d: 0x6c050020, 0x1ef7e: 0x6d183e20, 0x1ef7f: 0x6d121a20,\n\t// Block 0x7be, offset 0x1ef80\n\t0x1ef80: 0x6ce23420, 0x1ef81: 0x6c074c20, 0x1ef82: 0x6c63d820, 0x1ef83: 0x6c537a20,\n\t0x1ef84: 0x6cad6220, 0x1ef85: 0x6d0f6420, 0x1ef86: 0x6c0e4220, 0x1ef87: 0x6d1a0020,\n\t0x1ef88: 0x6c442c20, 0x1ef89: 0x6ce23c20, 0x1ef8a: 0x6c6b2e20, 0x1ef8b: 0x6d00e420,\n\t0x1ef8c: 0x6c014820, 0x1ef8d: 0x6c014a20, 0x1ef8e: 0x6c523620, 0x1ef8f: 0x6c45fc20,\n\t0x1ef90: 0x6cb88a20, 0x1ef91: 0x6c26c220, 0x1ef92: 0x6cbbf420, 0x1ef93: 0x6ce64a20,\n\t0x1ef94: 0x6c978620, 0x1ef95: 0x6d1d4e20, 0x1ef96: 0x6cdbde20, 0x1ef97: 0x6ce5a020,\n\t0x1ef98: 0x6cbc6220, 0x1ef99: 0x6d08b820, 0x1ef9a: 0x6c79ac20, 0x1ef9b: 0x6c083420,\n\t0x1ef9c: 0x6cdeb420, 0x1ef9d: 0x6cce5820, 0x1ef9e: 0x6c0dfa20, 0x1ef9f: 0x6c7e2220,\n\t0x1efa0: 0x6c70d420, 0x1efa1: 0x6c7eda20, 0x1efa2: 0x6d024a20, 0x1efa3: 0x6cc76820,\n\t0x1efa4: 0x6c054420, 0x1efa5: 0x6c372c20, 0x1efa6: 0x6cbfd620, 0x1efa7: 0x6cbfd820,\n\t0x1efa8: 0x6c518c20, 0x1efa9: 0x6d001620, 0x1efaa: 0x6ca2ba20, 0x1efab: 0x6c70da20,\n\t0x1efac: 0x6c650a20, 0x1efad: 0x6c0b1620, 0x1efae: 0x6c2b4c20, 0x1efaf: 0x6c651c20,\n\t0x1efb0: 0x6cf16e20, 0x1efb1: 0x6ce1fa20, 0x1efb2: 0x6c466620, 0x1efb3: 0x6cdec620,\n\t0x1efb4: 0x6c076c20, 0x1efb5: 0x6d011c20, 0x1efb6: 0x6cac8820, 0x1efb7: 0x6c445420,\n\t0x1efb8: 0x6c0ab020, 0x1efb9: 0x6c7e2e20, 0x1efba: 0x6ce0e020, 0x1efbb: 0x6c90d420,\n\t0x1efbc: 0x6c4ba420, 0x1efbd: 0x6cbc1220, 0x1efbe: 0x6d08ee20, 0x1efbf: 0x6c5f9820,\n\t// Block 0x7bf, offset 0x1efc0\n\t0x1efc0: 0x6c654820, 0x1efc1: 0x6c679820, 0x1efc2: 0x6c164c20, 0x1efc3: 0x6c26d820,\n\t0x1efc4: 0x6c56e820, 0x1efc5: 0x6cfc6420, 0x1efc6: 0x6cb96020, 0x1efc7: 0x6c320420,\n\t0x1efc8: 0x6cec4420, 0x1efc9: 0x6c655a20, 0x1efca: 0x6c801e20, 0x1efcb: 0x6ceeee20,\n\t0x1efcc: 0x6cc5fc20, 0x1efcd: 0x6c3ecc20, 0x1efce: 0x6c9aa220, 0x1efcf: 0x6cc37820,\n\t0x1efd0: 0x6c442e20, 0x1efd1: 0x6cf01020, 0x1efd2: 0x6cbc6420, 0x1efd3: 0x6c4e3e20,\n\t0x1efd4: 0x6c172820, 0x1efd5: 0x6c7e3420, 0x1efd6: 0x6cc77c20, 0x1efd7: 0x6d286620,\n\t0x1efd8: 0x6ccf8020, 0x1efd9: 0x6cf04620, 0x1efda: 0x6c444e20, 0x1efdb: 0x6c046220,\n\t0x1efdc: 0x6ce1fc20, 0x1efdd: 0x6c466820, 0x1efde: 0x6d286c20, 0x1efdf: 0x6c435e20,\n\t0x1efe0: 0x6c0ab220, 0x1efe1: 0x6cf05220, 0x1efe2: 0x6cdcc220, 0x1efe3: 0x6c31fa20,\n\t0x1efe4: 0x6cec4620, 0x1efe5: 0x6c320620, 0x1efe6: 0x6ceed820, 0x1efe7: 0x6cc5cc20,\n\t0x1efe8: 0x6c3e2820, 0x1efe9: 0x6c4e1a20, 0x1efea: 0x6cefea20, 0x1efeb: 0x6d283e20,\n\t0x1efec: 0x6ce1e020, 0x1efed: 0x6c6fb420, 0x1efee: 0x6c6fc420, 0x1efef: 0x6cfad220,\n\t0x1eff0: 0x6d022820, 0x1eff1: 0x6cfae220, 0x1eff2: 0x6c5f8820, 0x1eff3: 0x6d19ba20,\n\t0x1eff4: 0x6d28c220, 0x1eff5: 0x6d284020, 0x1eff6: 0x6ccea820, 0x1eff7: 0x6c822420,\n\t0x1eff8: 0x6caecc20, 0x1eff9: 0x6c5a2020, 0x1effa: 0x6d1c0420, 0x1effb: 0x6d287220,\n\t0x1effc: 0x6caef020, 0x1effd: 0x6c016020, 0x1effe: 0x6d1a1820, 0x1efff: 0x6cfe0a20,\n\t// Block 0x7c0, offset 0x1f000\n\t0x1f000: 0x6c56ea20, 0x1f001: 0x6d12dc20, 0x1f002: 0x6c2f6e20, 0x1f003: 0x6cbea820,\n\t0x1f004: 0x6c7c7020, 0x1f005: 0x6cfe3a20, 0x1f006: 0x6cd75420, 0x1f007: 0x6c4daa20,\n\t0x1f008: 0x6d05ae20, 0x1f009: 0x6d152a20, 0x1f00a: 0x6d05b620, 0x1f00b: 0x6c35b420,\n\t0x1f00c: 0x6cd99020, 0x1f00d: 0x6c7cd820, 0x1f00e: 0x6cb60c20, 0x1f00f: 0x6c4f8220,\n\t0x1f010: 0x6d238620, 0x1f011: 0x6cece020, 0x1f012: 0x6c048c20, 0x1f013: 0x6c33fe20,\n\t0x1f014: 0x6c2b8620, 0x1f015: 0x6c27f220, 0x1f016: 0x6cacbe20, 0x1f017: 0x6cb31820,\n\t0x1f018: 0x6c8e1220, 0x1f019: 0x6c182e20, 0x1f01a: 0x6c6e2620, 0x1f01b: 0x6c834020,\n\t0x1f01c: 0x6c516a20, 0x1f01d: 0x6cbb9e20, 0x1f01e: 0x6c36a020, 0x1f01f: 0x6c357c20,\n\t0x1f020: 0x6cf01220, 0x1f021: 0x6d00e620, 0x1f022: 0x6c7e1020, 0x1f023: 0x6cd07020,\n\t0x1f024: 0x6d156620, 0x1f025: 0x6cd07a20, 0x1f026: 0x6c4d2420, 0x1f027: 0x6c332820,\n\t0x1f028: 0x6d228420, 0x1f029: 0x6cb26620, 0x1f02a: 0x6c834220, 0x1f02b: 0x6c3f8420,\n\t0x1f02c: 0x6c63e020, 0x1f02d: 0x6ce7f820, 0x1f02e: 0x6c5c4a20, 0x1f02f: 0x6c7ca020,\n\t0x1f030: 0x6c63ec20, 0x1f031: 0x6c953220, 0x1f032: 0x6ce6e220, 0x1f033: 0x6c199820,\n\t0x1f034: 0x6d1d1020, 0x1f035: 0x6d276a20, 0x1f036: 0x6c55c620, 0x1f037: 0x6c4f1020,\n\t0x1f038: 0x6c6e3620, 0x1f039: 0x6ce9be20, 0x1f03a: 0x6ce9c020, 0x1f03b: 0x6cb21420,\n\t0x1f03c: 0x6c7f5a20, 0x1f03d: 0x6ce9c220, 0x1f03e: 0x6d3eb420, 0x1f03f: 0x6d3eb220,\n\t// Block 0x7c1, offset 0x1f040\n\t0x1f040: 0x6c20e620, 0x1f041: 0x6c2fc020, 0x1f042: 0x6c7f5c20, 0x1f043: 0x6ce02020,\n\t0x1f044: 0x6c4f2220, 0x1f045: 0x6cb93220, 0x1f046: 0x6c783820, 0x1f047: 0x6c257220,\n\t0x1f048: 0x6d085e20, 0x1f049: 0x6cbd4420, 0x1f04a: 0x6d157820, 0x1f04b: 0x6cc9d420,\n\t0x1f04c: 0x6ce39e20, 0x1f04d: 0x6c358a20, 0x1f04e: 0x6c36ca20, 0x1f04f: 0x6d0ce220,\n\t0x1f050: 0x6cf21420, 0x1f051: 0x6c76f820, 0x1f052: 0x6d1e0220, 0x1f053: 0x6d3b9820,\n\t0x1f054: 0x6d0ce420, 0x1f055: 0x6cfc3c20, 0x1f056: 0x6d035220, 0x1f057: 0x6d162620,\n\t0x1f058: 0x6d263820, 0x1f059: 0x6cca9620, 0x1f05a: 0x6c2ce620, 0x1f05b: 0x6c2ce820,\n\t0x1f05c: 0x6c67ca20, 0x1f05d: 0x6c7c4a20, 0x1f05e: 0x6c835420, 0x1f05f: 0x6c819220,\n\t0x1f060: 0x6cb1a820, 0x1f061: 0x6cec7820, 0x1f062: 0x6c979a20, 0x1f063: 0x6c247c20,\n\t0x1f064: 0x6d117820, 0x1f065: 0x6c507e20, 0x1f066: 0x6cbc1420, 0x1f067: 0x6c482e20,\n\t0x1f068: 0x6d0ab620, 0x1f069: 0x6d0e1a20, 0x1f06a: 0x6c5c9e20, 0x1f06b: 0x6c164e20,\n\t0x1f06c: 0x6cc7ee20, 0x1f06d: 0x6c9bb620, 0x1f06e: 0x6c0d7420, 0x1f06f: 0x6cfc6620,\n\t0x1f070: 0x6cb23220, 0x1f071: 0x6c91a620, 0x1f072: 0x6c806620, 0x1f073: 0x6ca8d620,\n\t0x1f074: 0x6cc34620, 0x1f075: 0x6d12be20, 0x1f076: 0x6c2f6a20, 0x1f077: 0x6cbe9e20,\n\t0x1f078: 0x6c4d9620, 0x1f079: 0x6cfe2420, 0x1f07a: 0x6cd74a20, 0x1f07b: 0x6d057e20,\n\t0x1f07c: 0x6d058820, 0x1f07d: 0x6cecd220, 0x1f07e: 0x6c480620, 0x1f07f: 0x6c33ec20,\n\t// Block 0x7c2, offset 0x1f080\n\t0x1f080: 0x6cb5b420, 0x1f081: 0x6c047c20, 0x1f082: 0x6cd98820, 0x1f083: 0x6c4f7220,\n\t0x1f084: 0x6d22fc20, 0x1f085: 0x6c915420, 0x1f086: 0x6c8e1020, 0x1f087: 0x6cb30c20,\n\t0x1f088: 0x6c6e1e20, 0x1f089: 0x6c6ada20, 0x1f08a: 0x6c63c820, 0x1f08b: 0x6ce6d420,\n\t0x1f08c: 0x6c513220, 0x1f08d: 0x6d1cf420, 0x1f08e: 0x6c6f1420, 0x1f08f: 0x6c780220,\n\t0x1f090: 0x6d152c20, 0x1f091: 0x6cb21220, 0x1f092: 0x6c5bee20, 0x1f093: 0x6ce9a820,\n\t0x1f094: 0x6c4ed620, 0x1f095: 0x6d1cf820, 0x1f096: 0x6d1cfa20, 0x1f097: 0x6c781e20,\n\t0x1f098: 0x6ce37420, 0x1f099: 0x6d1dfe20, 0x1f09a: 0x6c36a220, 0x1f09b: 0x6d3b9020,\n\t0x1f09c: 0x6d0ccc20, 0x1f09d: 0x6c357e20, 0x1f09e: 0x6ca87820, 0x1f09f: 0x6c975a20,\n\t0x1f0a0: 0x6c2cdc20, 0x1f0a1: 0x6cca8c20, 0x1f0a2: 0x6c507820, 0x1f0a3: 0x6c835020,\n\t0x1f0a4: 0x6c163c20, 0x1f0a5: 0x6cc7e620, 0x1f0a6: 0x6cb22620, 0x1f0a7: 0x6cc33e20,\n\t0x1f0a8: 0x6c3c2c20, 0x1f0a9: 0x6c0c0020, 0x1f0aa: 0x6c48be20, 0x1f0ab: 0x6c3eb820,\n\t0x1f0ac: 0x6cf96e20, 0x1f0ad: 0x6d2e0c20, 0x1f0ae: 0x6c0c1020, 0x1f0af: 0x6cc98020,\n\t0x1f0b0: 0x6c038820, 0x1f0b1: 0x6cdf3420, 0x1f0b2: 0x6c8b2a20, 0x1f0b3: 0x6c487420,\n\t0x1f0b4: 0x6d08ba20, 0x1f0b5: 0x6cce8820, 0x1f0b6: 0x6c72a820, 0x1f0b7: 0x6c0c3420,\n\t0x1f0b8: 0x6cd84020, 0x1f0b9: 0x6cf04820, 0x1f0ba: 0x6d0fec20, 0x1f0bb: 0x6d116a20,\n\t0x1f0bc: 0x6cd9f820, 0x1f0bd: 0x6c767820, 0x1f0be: 0x6cd9fa20, 0x1f0bf: 0x6c386c20,\n\t// Block 0x7c3, offset 0x1f0c0\n\t0x1f0c0: 0x6c8ed220, 0x1f0c1: 0x6cf7bc20, 0x1f0c2: 0x6c8f5620, 0x1f0c3: 0x6cb17020,\n\t0x1f0c4: 0x6cb17220, 0x1f0c5: 0x6c8ede20, 0x1f0c6: 0x6c0c5620, 0x1f0c7: 0x6c0c5820,\n\t0x1f0c8: 0x6c0c5a20, 0x1f0c9: 0x6c8a5620, 0x1f0ca: 0x6c0c9e20, 0x1f0cb: 0x6ccb9c20,\n\t0x1f0cc: 0x6c3c9020, 0x1f0cd: 0x6d051820, 0x1f0ce: 0x6c3c0e20, 0x1f0cf: 0x6d0f8220,\n\t0x1f0d0: 0x6d2dde20, 0x1f0d1: 0x6c0bee20, 0x1f0d2: 0x6cc97020, 0x1f0d3: 0x6c725420,\n\t0x1f0d4: 0x6cd7fc20, 0x1f0d5: 0x6cd9c620, 0x1f0d6: 0x6d112e20, 0x1f0d7: 0x6c8e7e20,\n\t0x1f0d8: 0x6cb16020, 0x1f0d9: 0x6c0c2620, 0x1f0da: 0x6c0c2820, 0x1f0db: 0x6c39f420,\n\t0x1f0dc: 0x6c387420, 0x1f0dd: 0x6c3a2e20, 0x1f0de: 0x6c39ee20, 0x1f0df: 0x6cd25820,\n\t0x1f0e0: 0x6cd24c20, 0x1f0e1: 0x6c116220, 0x1f0e2: 0x6c5eb020, 0x1f0e3: 0x6c2f9e20,\n\t0x1f0e4: 0x6cd8ae20, 0x1f0e5: 0x6ceac620, 0x1f0e6: 0x6d2d7220, 0x1f0e7: 0x6cdcd220,\n\t0x1f0e8: 0x6cfde820, 0x1f0e9: 0x6cea5a20, 0x1f0ea: 0x6cc5fe20, 0x1f0eb: 0x6d235e20,\n\t0x1f0ec: 0x6c737e20, 0x1f0ed: 0x6c1c2a20, 0x1f0ee: 0x6d1af220, 0x1f0ef: 0x6c395c20,\n\t0x1f0f0: 0x6c395e20, 0x1f0f1: 0x6cdcda20, 0x1f0f2: 0x6d1ae820, 0x1f0f3: 0x6ce81620,\n\t0x1f0f4: 0x6d152e20, 0x1f0f5: 0x6d42a620, 0x1f0f6: 0x6c09ec20, 0x1f0f7: 0x6c6b9c20,\n\t0x1f0f8: 0x6ce1e220, 0x1f0f9: 0x6c8f0e20, 0x1f0fa: 0x6c226220, 0x1f0fb: 0x6ce61420,\n\t0x1f0fc: 0x6cd8d420, 0x1f0fd: 0x6c060420, 0x1f0fe: 0x6cd3b020, 0x1f0ff: 0x6c350620,\n\t// Block 0x7c4, offset 0x1f100\n\t0x1f100: 0x6c4d7220, 0x1f101: 0x6cc60420, 0x1f102: 0x6ce51020, 0x1f103: 0x6c691e20,\n\t0x1f104: 0x6c63da20, 0x1f105: 0x6c0df020, 0x1f106: 0x6d113020, 0x1f107: 0x6ce77420,\n\t0x1f108: 0x6c226420, 0x1f109: 0x6cfdf820, 0x1f10a: 0x6d102a20, 0x1f10b: 0x6c738a20,\n\t0x1f10c: 0x6c37a220, 0x1f10d: 0x6d0eb220, 0x1f10e: 0x6c823a20, 0x1f10f: 0x6cf68c20,\n\t0x1f110: 0x6c117220, 0x1f111: 0x6c0e8e20, 0x1f112: 0x6ca57220, 0x1f113: 0x6c36a420,\n\t0x1f114: 0x6c10b620, 0x1f115: 0x6c75e620, 0x1f116: 0x6c313620, 0x1f117: 0x6cdb0e20,\n\t0x1f118: 0x6d219820, 0x1f119: 0x6cd3d020, 0x1f11a: 0x6d114a20, 0x1f11b: 0x6c5d0020,\n\t0x1f11c: 0x6c4cd220, 0x1f11d: 0x6cd3d220, 0x1f11e: 0x6c66dc20, 0x1f11f: 0x6d3cae20,\n\t0x1f120: 0x6c0df420, 0x1f121: 0x6cfd1620, 0x1f122: 0x6c10c020, 0x1f123: 0x6d135020,\n\t0x1f124: 0x6ce01620, 0x1f125: 0x6c3a1e20, 0x1f126: 0x6d2ede20, 0x1f127: 0x6cf0de20,\n\t0x1f128: 0x6c496820, 0x1f129: 0x6c36b220, 0x1f12a: 0x6caa9a20, 0x1f12b: 0x6d286020,\n\t0x1f12c: 0x6c55d620, 0x1f12d: 0x6c5a1420, 0x1f12e: 0x6ce61c20, 0x1f12f: 0x6c5c6220,\n\t0x1f130: 0x6c650c20, 0x1f131: 0x6c543c20, 0x1f132: 0x6c00e820, 0x1f133: 0x6ce14c20,\n\t0x1f134: 0x6c3b4820, 0x1f135: 0x6cf0ee20, 0x1f136: 0x6c47de20, 0x1f137: 0x6c13b820,\n\t0x1f138: 0x6cd99e20, 0x1f139: 0x6ce15820, 0x1f13a: 0x6c0f9820, 0x1f13b: 0x6c42e820,\n\t0x1f13c: 0x6cf90c20, 0x1f13d: 0x6c7d2620, 0x1f13e: 0x6c8f4e20, 0x1f13f: 0x6cd9f220,\n\t// Block 0x7c5, offset 0x1f140\n\t0x1f140: 0x6ce24a20, 0x1f141: 0x6d137c20, 0x1f142: 0x6d27cc20, 0x1f143: 0x6ca08a20,\n\t0x1f144: 0x6ce16020, 0x1f145: 0x6c979420, 0x1f146: 0x6c0aa020, 0x1f147: 0x6d245620,\n\t0x1f148: 0x6d050a20, 0x1f149: 0x6c6cc820, 0x1f14a: 0x6cca4420, 0x1f14b: 0x6c7d3c20,\n\t0x1f14c: 0x6d3bfc20, 0x1f14d: 0x6ccdde20, 0x1f14e: 0x6c1c9020, 0x1f14f: 0x6c28e620,\n\t0x1f150: 0x6d193c20, 0x1f151: 0x6c5f9020, 0x1f152: 0x6cc53220, 0x1f153: 0x6c19ac20,\n\t0x1f154: 0x6d1de420, 0x1f155: 0x6ce20220, 0x1f156: 0x6cf11c20, 0x1f157: 0x6cfe0e20,\n\t0x1f158: 0x6d2dc620, 0x1f159: 0x6c3b4a20, 0x1f15a: 0x6c4d8a20, 0x1f15b: 0x6c9bb020,\n\t0x1f15c: 0x6d0f1420, 0x1f15d: 0x6ca0a220, 0x1f15e: 0x6c158020, 0x1f15f: 0x6cfe1020,\n\t0x1f160: 0x6c959820, 0x1f161: 0x6d29cc20, 0x1f162: 0x6ca46c20, 0x1f163: 0x6cd22620,\n\t0x1f164: 0x6c2f9020, 0x1f165: 0x6c5e6e20, 0x1f166: 0x6cea9e20, 0x1f167: 0x6ce0e420,\n\t0x1f168: 0x6cea4420, 0x1f169: 0x6cf84020, 0x1f16a: 0x6cc5ce20, 0x1f16b: 0x6d22d220,\n\t0x1f16c: 0x6c1bea20, 0x1f16d: 0x6c392420, 0x1f16e: 0x6d1acc20, 0x1f16f: 0x6c665620,\n\t0x1f170: 0x6cd32620, 0x1f171: 0x6c05e820, 0x1f172: 0x6cd89420, 0x1f173: 0x6c34d220,\n\t0x1f174: 0x6d147e20, 0x1f175: 0x6c378c20, 0x1f176: 0x6cc52420, 0x1f177: 0x6cfdde20,\n\t0x1f178: 0x6c50e820, 0x1f179: 0x6c823820, 0x1f17a: 0x6c68d820, 0x1f17b: 0x6cf5b020,\n\t0x1f17c: 0x6c0dd420, 0x1f17d: 0x6c0e6a20, 0x1f17e: 0x6c310c20, 0x1f17f: 0x6c360420,\n\t// Block 0x7c6, offset 0x1f180\n\t0x1f180: 0x6d210020, 0x1f181: 0x6ca56a20, 0x1f182: 0x6c75a820, 0x1f183: 0x6c4cbe20,\n\t0x1f184: 0x6c5ce820, 0x1f185: 0x6cfcbe20, 0x1f186: 0x6c495020, 0x1f187: 0x6c13a020,\n\t0x1f188: 0x6c7d0220, 0x1f189: 0x6c479820, 0x1f18a: 0x6cd9ba20, 0x1f18b: 0x6c14fc20,\n\t0x1f18c: 0x6d130a20, 0x1f18d: 0x6ca06020, 0x1f18e: 0x6c0f2220, 0x1f18f: 0x6c8e7620,\n\t0x1f190: 0x6d04de20, 0x1f191: 0x6c6ca820, 0x1f192: 0x6c976e20, 0x1f193: 0x6cca2820,\n\t0x1f194: 0x6d3be020, 0x1f195: 0x6ca46420, 0x1f196: 0x6cd44220, 0x1f197: 0x6c7c7220,\n\t0x1f198: 0x6c4c9020, 0x1f199: 0x6cfd6620, 0x1f19a: 0x6c3b8020, 0x1f19b: 0x6c0f3c20,\n\t0x1f19c: 0x6ca64420, 0x1f19d: 0x6c0a1420, 0x1f19e: 0x6c0f6e20, 0x1f19f: 0x6ce8fa20,\n\t0x1f1a0: 0x6c4dbc20, 0x1f1a1: 0x6c3a2020, 0x1f1a2: 0x6c650e20, 0x1f1a3: 0x6c015420,\n\t0x1f1a4: 0x6c00fa20, 0x1f1a5: 0x6c408020, 0x1f1a6: 0x6cfaf620, 0x1f1a7: 0x6d276c20,\n\t0x1f1a8: 0x6d02f420, 0x1f1a9: 0x6c3bb020, 0x1f1aa: 0x6cb1fe20, 0x1f1ab: 0x6d02fa20,\n\t0x1f1ac: 0x6c969820, 0x1f1ad: 0x6d236020, 0x1f1ae: 0x6c3caa20, 0x1f1af: 0x6c4ed820,\n\t0x1f1b0: 0x6c2b7420, 0x1f1b1: 0x6ceb3220, 0x1f1b2: 0x6d306820, 0x1f1b3: 0x6c1b4220,\n\t0x1f1b4: 0x6d0a2420, 0x1f1b5: 0x6d3b1020, 0x1f1b6: 0x6d340c20, 0x1f1b7: 0x6cae2420,\n\t0x1f1b8: 0x6d034620, 0x1f1b9: 0x6cc64a20, 0x1f1ba: 0x6cc97a20, 0x1f1bb: 0x6d27f820,\n\t0x1f1bc: 0x6cf1a420, 0x1f1bd: 0x6d348a20, 0x1f1be: 0x6c28a020, 0x1f1bf: 0x6c935c20,\n\t// Block 0x7c7, offset 0x1f1c0\n\t0x1f1c0: 0x6d1f5e20, 0x1f1c1: 0x6c0f3e20, 0x1f1c2: 0x6c060a20, 0x1f1c3: 0x6c748a20,\n\t0x1f1c4: 0x6ceb4220, 0x1f1c5: 0x6d184020, 0x1f1c6: 0x6cc13020, 0x1f1c7: 0x6cb4c220,\n\t0x1f1c8: 0x6cc13e20, 0x1f1c9: 0x6c6ee620, 0x1f1ca: 0x6cb35c20, 0x1f1cb: 0x6d2f7020,\n\t0x1f1cc: 0x6d251220, 0x1f1cd: 0x6cadf020, 0x1f1ce: 0x6d394c20, 0x1f1cf: 0x6c727220,\n\t0x1f1d0: 0x6d3b2620, 0x1f1d1: 0x6caa4420, 0x1f1d2: 0x6c70c820, 0x1f1d3: 0x6caf8820,\n\t0x1f1d4: 0x6d29fa20, 0x1f1d5: 0x6c645020, 0x1f1d6: 0x6c8d4e20, 0x1f1d7: 0x6d31f620,\n\t0x1f1d8: 0x6cdf3a20, 0x1f1d9: 0x6c404820, 0x1f1da: 0x6d103020, 0x1f1db: 0x6cd2d820,\n\t0x1f1dc: 0x6c0a4020, 0x1f1dd: 0x6cebc220, 0x1f1de: 0x6ceb4620, 0x1f1df: 0x6cd8e420,\n\t0x1f1e0: 0x6c8e9020, 0x1f1e1: 0x6c96de20, 0x1f1e2: 0x6cb13220, 0x1f1e3: 0x6ce24620,\n\t0x1f1e4: 0x6d36f820, 0x1f1e5: 0x6cc6b820, 0x1f1e6: 0x6ce2b620, 0x1f1e7: 0x6c308a20,\n\t0x1f1e8: 0x6d09ac20, 0x1f1e9: 0x6cc2a420, 0x1f1ea: 0x6cd02220, 0x1f1eb: 0x6c6ee820,\n\t0x1f1ec: 0x6c37a620, 0x1f1ed: 0x6c4d7a20, 0x1f1ee: 0x6c0f7020, 0x1f1ef: 0x6d39ce20,\n\t0x1f1f0: 0x6d1a0c20, 0x1f1f1: 0x6c962a20, 0x1f1f2: 0x6d397a20, 0x1f1f3: 0x6c28bc20,\n\t0x1f1f4: 0x6d023820, 0x1f1f5: 0x6c8eb020, 0x1f1f6: 0x6c716a20, 0x1f1f7: 0x6cd97020,\n\t0x1f1f8: 0x6cbd4620, 0x1f1f9: 0x6c987a20, 0x1f1fa: 0x6c80ec20, 0x1f1fb: 0x6c4f2420,\n\t0x1f1fc: 0x6ce90020, 0x1f1fd: 0x6d07da20, 0x1f1fe: 0x6cea1420, 0x1f1ff: 0x6c75f220,\n\t// Block 0x7c8, offset 0x1f200\n\t0x1f200: 0x6c35be20, 0x1f201: 0x6c1a7a20, 0x1f202: 0x6d03ac20, 0x1f203: 0x6c005820,\n\t0x1f204: 0x6c931420, 0x1f205: 0x6d3c6c20, 0x1f206: 0x6d38be20, 0x1f207: 0x6ccf8220,\n\t0x1f208: 0x6cb13620, 0x1f209: 0x6c7d8c20, 0x1f20a: 0x6ce24c20, 0x1f20b: 0x6c7f2e20,\n\t0x1f20c: 0x6d3fd220, 0x1f20d: 0x6c78e220, 0x1f20e: 0x6cb67c20, 0x1f20f: 0x6cb67e20,\n\t0x1f210: 0x6d0ede20, 0x1f211: 0x6c3a2220, 0x1f212: 0x6ccacc20, 0x1f213: 0x6d0df020,\n\t0x1f214: 0x6c445820, 0x1f215: 0x6d11e220, 0x1f216: 0x6cf54820, 0x1f217: 0x6cb14e20,\n\t0x1f218: 0x6c237620, 0x1f219: 0x6cb15020, 0x1f21a: 0x6cb9da20, 0x1f21b: 0x6c3a2420,\n\t0x1f21c: 0x6c5a2420, 0x1f21d: 0x6cb9d420, 0x1f21e: 0x6c5d6820, 0x1f21f: 0x6d21de20,\n\t0x1f220: 0x6ce3a820, 0x1f221: 0x6cc32420, 0x1f222: 0x6cfa1620, 0x1f223: 0x6d3fd620,\n\t0x1f224: 0x6c7cae20, 0x1f225: 0x6cc76c20, 0x1f226: 0x6cd84620, 0x1f227: 0x6c488020,\n\t0x1f228: 0x6ceb5c20, 0x1f229: 0x6c4aa220, 0x1f22a: 0x6cda0020, 0x1f22b: 0x6cb94a20,\n\t0x1f22c: 0x6c1a5a20, 0x1f22d: 0x6d374e20, 0x1f22e: 0x6c8ed620, 0x1f22f: 0x6caef820,\n\t0x1f230: 0x6ce2c820, 0x1f231: 0x6cf7be20, 0x1f232: 0x6c12b420, 0x1f233: 0x6c31ea20,\n\t0x1f234: 0x6d0efe20, 0x1f235: 0x6d25cc20, 0x1f236: 0x6d407220, 0x1f237: 0x6ccad020,\n\t0x1f238: 0x6ccde020, 0x1f239: 0x6c84b020, 0x1f23a: 0x6d376220, 0x1f23b: 0x6cd6b020,\n\t0x1f23c: 0x6c933820, 0x1f23d: 0x6cf7c020, 0x1f23e: 0x6c956c20, 0x1f23f: 0x6d2eec20,\n\t// Block 0x7c9, offset 0x1f240\n\t0x1f240: 0x6ca19020, 0x1f241: 0x6c030020, 0x1f242: 0x6c118420, 0x1f243: 0x6c0c5c20,\n\t0x1f244: 0x6c237a20, 0x1f245: 0x6cc16220, 0x1f246: 0x6c0ac220, 0x1f247: 0x6d376420,\n\t0x1f248: 0x6d248020, 0x1f249: 0x6d060c20, 0x1f24a: 0x6c576c20, 0x1f24b: 0x6c0e9e20,\n\t0x1f24c: 0x6cdb7020, 0x1f24d: 0x6cff5820, 0x1f24e: 0x6c8c0a20, 0x1f24f: 0x6d2ea420,\n\t0x1f250: 0x6c33c620, 0x1f251: 0x6c8eea20, 0x1f252: 0x6ceb6220, 0x1f253: 0x6c136a20,\n\t0x1f254: 0x6c2d9e20, 0x1f255: 0x6c68b220, 0x1f256: 0x6ce60c20, 0x1f257: 0x6d0f1620,\n\t0x1f258: 0x6c958620, 0x1f259: 0x6d2dca20, 0x1f25a: 0x6c6df820, 0x1f25b: 0x6d196a20,\n\t0x1f25c: 0x6d139e20, 0x1f25d: 0x6ceadc20, 0x1f25e: 0x6cb20020, 0x1f25f: 0x6d397220,\n\t0x1f260: 0x6d0f2620, 0x1f261: 0x6c902020, 0x1f262: 0x6c937220, 0x1f263: 0x6ce2e020,\n\t0x1f264: 0x6cfda820, 0x1f265: 0x6c630220, 0x1f266: 0x6cd6ca20, 0x1f267: 0x6c719c20,\n\t0x1f268: 0x6cf7d020, 0x1f269: 0x6c585020, 0x1f26a: 0x6c84ee20, 0x1f26b: 0x6c0c6820,\n\t0x1f26c: 0x6c968c20, 0x1f26d: 0x6d22ba20, 0x1f26e: 0x6ceae220, 0x1f26f: 0x6d09da20,\n\t0x1f270: 0x6c1afa20, 0x1f271: 0x6cc0d820, 0x1f272: 0x6cc63e20, 0x1f273: 0x6c0eb220,\n\t0x1f274: 0x6c935020, 0x1f275: 0x6d29f820, 0x1f276: 0x6cd2ba20, 0x1f277: 0x6cd89620,\n\t0x1f278: 0x6c3fbc20, 0x1f279: 0x6c706420, 0x1f27a: 0x6d404820, 0x1f27b: 0x6d3ab820,\n\t0x1f27c: 0x6cebc020, 0x1f27d: 0x6caa4020, 0x1f27e: 0x6c643820, 0x1f27f: 0x6d16d420,\n\t// Block 0x7ca, offset 0x1f280\n\t0x1f280: 0x6c273c20, 0x1f281: 0x6cfe9020, 0x1f282: 0x6c96b820, 0x1f283: 0x6d19bc20,\n\t0x1f284: 0x6c683a20, 0x1f285: 0x6c572e20, 0x1f286: 0x6c95ee20, 0x1f287: 0x6c4d5c20,\n\t0x1f288: 0x6cb10820, 0x1f289: 0x6c0bf020, 0x1f28a: 0x6c83b420, 0x1f28b: 0x6c1a6c20,\n\t0x1f28c: 0x6d0e5820, 0x1f28d: 0x6d036e20, 0x1f28e: 0x6cbd2820, 0x1f28f: 0x6c75aa20,\n\t0x1f290: 0x6cb5e220, 0x1f291: 0x6cb5e420, 0x1f292: 0x6c78aa20, 0x1f293: 0x6d3c5c20,\n\t0x1f294: 0x6d3f7e20, 0x1f295: 0x6cdaae20, 0x1f296: 0x6c116420, 0x1f297: 0x6cb14a20,\n\t0x1f298: 0x6d364820, 0x1f299: 0x6c7c8220, 0x1f29a: 0x6ccab020, 0x1f29b: 0x6cf4f620,\n\t0x1f29c: 0x6c02da20, 0x1f29d: 0x6c8e7820, 0x1f29e: 0x6cb8fa20, 0x1f29f: 0x6ccd9020,\n\t0x1f2a0: 0x6c0c1220, 0x1f2a1: 0x6c955020, 0x1f2a2: 0x6c233620, 0x1f2a3: 0x6c15e220,\n\t0x1f2a4: 0x6d395c20, 0x1f2a5: 0x6c62c420, 0x1f2a6: 0x6cd6ac20, 0x1f2a7: 0x6cfd9420,\n\t0x1f2a8: 0x6c476e20, 0x1f2a9: 0x6cefb420, 0x1f2aa: 0x6cefd220, 0x1f2ab: 0x6cefd420,\n\t0x1f2ac: 0x6d214020, 0x1f2ad: 0x6c422420, 0x1f2ae: 0x6d17d620, 0x1f2af: 0x6c01ec20,\n\t0x1f2b0: 0x6ce7f220, 0x1f2b1: 0x6c6bf020, 0x1f2b2: 0x6c065e20, 0x1f2b3: 0x6c074e20,\n\t0x1f2b4: 0x6c220c20, 0x1f2b5: 0x6ce3c620, 0x1f2b6: 0x6c2c0020, 0x1f2b7: 0x6c7a5620,\n\t0x1f2b8: 0x6c4d2820, 0x1f2b9: 0x6cbba020, 0x1f2ba: 0x6c543020, 0x1f2bb: 0x6c7af020,\n\t0x1f2bc: 0x6c443220, 0x1f2bd: 0x6ce9ee20, 0x1f2be: 0x6c452020, 0x1f2bf: 0x6cb12a20,\n\t// Block 0x7cb, offset 0x1f2c0\n\t0x1f2c0: 0x6c0a8220, 0x1f2c1: 0x6c783c20, 0x1f2c2: 0x6cb87a20, 0x1f2c3: 0x6d21ce20,\n\t0x1f2c4: 0x6cdc1420, 0x1f2c5: 0x6c90d020, 0x1f2c6: 0x6c0fb220, 0x1f2c7: 0x6cff4620,\n\t0x1f2c8: 0x6c055a20, 0x1f2c9: 0x6c0fb420, 0x1f2ca: 0x6c221420, 0x1f2cb: 0x6c7b5e20,\n\t0x1f2cc: 0x6c0d9220, 0x1f2cd: 0x6ca09420, 0x1f2ce: 0x6c8a5220, 0x1f2cf: 0x6c90da20,\n\t0x1f2d0: 0x6cff5220, 0x1f2d1: 0x6c31fe20, 0x1f2d2: 0x6d29f220, 0x1f2d3: 0x6cdc1a20,\n\t0x1f2d4: 0x6ce3d020, 0x1f2d5: 0x6c0d9620, 0x1f2d6: 0x6c7b6020, 0x1f2d7: 0x6c91a820,\n\t0x1f2d8: 0x6c42bc20, 0x1f2d9: 0x6c42c420, 0x1f2da: 0x6cbc5020, 0x1f2db: 0x6c779420,\n\t0x1f2dc: 0x6cbc2c20, 0x1f2dd: 0x6c819420, 0x1f2de: 0x6ccb0c20, 0x1f2df: 0x6c0bf420,\n\t0x1f2e0: 0x6c7d6e20, 0x1f2e1: 0x6c7d7620, 0x1f2e2: 0x6c2b7620, 0x1f2e3: 0x6c39da20,\n\t0x1f2e4: 0x6d04ec20, 0x1f2e5: 0x6cc47e20, 0x1f2e6: 0x6c98f820, 0x1f2e7: 0x6c28a220,\n\t0x1f2e8: 0x6c7d7e20, 0x1f2e9: 0x6c0d8620, 0x1f2ea: 0x6c383e20, 0x1f2eb: 0x6ce5a220,\n\t0x1f2ec: 0x6caf8a20, 0x1f2ed: 0x6d3e9c20, 0x1f2ee: 0x6c384220, 0x1f2ef: 0x6cc48620,\n\t0x1f2f0: 0x6ce41a20, 0x1f2f1: 0x6c066420, 0x1f2f2: 0x6c0a4220, 0x1f2f3: 0x6c990420,\n\t0x1f2f4: 0x6c3eea20, 0x1f2f5: 0x6c376a20, 0x1f2f6: 0x6cc6ba20, 0x1f2f7: 0x6cc14420,\n\t0x1f2f8: 0x6c45b620, 0x1f2f9: 0x6d04f820, 0x1f2fa: 0x6c7e1620, 0x1f2fb: 0x6c628e20,\n\t0x1f2fc: 0x6caed220, 0x1f2fd: 0x6d3b6020, 0x1f2fe: 0x6cce8e20, 0x1f2ff: 0x6cdd4420,\n\t// Block 0x7cc, offset 0x1f300\n\t0x1f300: 0x6ce43620, 0x1f301: 0x6c86ba20, 0x1f302: 0x6c0d8a20, 0x1f303: 0x6d3fd420,\n\t0x1f304: 0x6c2baa20, 0x1f305: 0x6caee420, 0x1f306: 0x6cd94820, 0x1f307: 0x6d32f820,\n\t0x1f308: 0x6cc32220, 0x1f309: 0x6d3fd820, 0x1f30a: 0x6cd76220, 0x1f30b: 0x6c660e20,\n\t0x1f30c: 0x6ceb9620, 0x1f30d: 0x6c55f420, 0x1f30e: 0x6c7eae20, 0x1f30f: 0x6c6f8e20,\n\t0x1f310: 0x6cb6a020, 0x1f311: 0x6c889820, 0x1f312: 0x6d320420, 0x1f313: 0x6c0d9420,\n\t0x1f314: 0x6caefa20, 0x1f315: 0x6c96e620, 0x1f316: 0x6cca0e20, 0x1f317: 0x6c979e20,\n\t0x1f318: 0x6c97a020, 0x1f319: 0x6ccbbc20, 0x1f31a: 0x6d061020, 0x1f31b: 0x6c8b7a20,\n\t0x1f31c: 0x6cb95420, 0x1f31d: 0x6cb95220, 0x1f31e: 0x6ca46220, 0x1f31f: 0x6c58cc20,\n\t0x1f320: 0x6c7e3220, 0x1f321: 0x6ca94220, 0x1f322: 0x6c0d9820, 0x1f323: 0x6c8b8a20,\n\t0x1f324: 0x6cc4fe20, 0x1f325: 0x6c310e20, 0x1f326: 0x6c313420, 0x1f327: 0x6ca53620,\n\t0x1f328: 0x6c53dc20, 0x1f329: 0x6cf90e20, 0x1f32a: 0x6c314e20, 0x1f32b: 0x6c4e7220,\n\t0x1f32c: 0x6c315420, 0x1f32d: 0x6c315220, 0x1f32e: 0x6c6f9620, 0x1f32f: 0x6c170e20,\n\t0x1f330: 0x6d249c20, 0x1f331: 0x6d24a420, 0x1f332: 0x6c43e020, 0x1f333: 0x6d0ecc20,\n\t0x1f334: 0x6c3f8e20, 0x1f335: 0x6cbdb820, 0x1f336: 0x6c4a9e20, 0x1f337: 0x6d3fdc20,\n\t0x1f338: 0x6c8f5820, 0x1f339: 0x6c4aa620, 0x1f33a: 0x6cce2a20, 0x1f33b: 0x6d248220,\n\t0x1f33c: 0x6c4ae220, 0x1f33d: 0x6c9a9620, 0x1f33e: 0x6c623220, 0x1f33f: 0x6cb61220,\n\t// Block 0x7cd, offset 0x1f340\n\t0x1f340: 0x6c40da20, 0x1f341: 0x6c7c9020, 0x1f342: 0x6c5cf620, 0x1f343: 0x6c038c20,\n\t0x1f344: 0x6cb39c20, 0x1f345: 0x6c9aa620, 0x1f346: 0x6d05c820, 0x1f347: 0x6d0dd220,\n\t0x1f348: 0x6cff1a20, 0x1f349: 0x6c89a220, 0x1f34a: 0x6d242620, 0x1f34b: 0x6ce9ca20,\n\t0x1f34c: 0x6cb53e20, 0x1f34d: 0x6cee3e20, 0x1f34e: 0x6c89a820, 0x1f34f: 0x6cf0f020,\n\t0x1f350: 0x6c41bc20, 0x1f351: 0x6c1aea20, 0x1f352: 0x6cb17420, 0x1f353: 0x6c0ab620,\n\t0x1f354: 0x6ca09620, 0x1f355: 0x6c616220, 0x1f356: 0x6d060820, 0x1f357: 0x6c1e3e20,\n\t0x1f358: 0x6d0e2620, 0x1f359: 0x6d2dcc20, 0x1f35a: 0x6d211220, 0x1f35b: 0x6c29c420,\n\t0x1f35c: 0x6cc57620, 0x1f35d: 0x6c6b0220, 0x1f35e: 0x6c03f620, 0x1f35f: 0x6c537c20,\n\t0x1f360: 0x6ceacc20, 0x1f361: 0x6c2e3620, 0x1f362: 0x6c614e20, 0x1f363: 0x6d073620,\n\t0x1f364: 0x6c358020, 0x1f365: 0x6c367c20, 0x1f366: 0x6ccc1220, 0x1f367: 0x6c4f8620,\n\t0x1f368: 0x6cea6620, 0x1f369: 0x6ca15e20, 0x1f36a: 0x6c6c0020, 0x1f36b: 0x6cd07220,\n\t0x1f36c: 0x6c04d620, 0x1f36d: 0x6d25a420, 0x1f36e: 0x6cb01420, 0x1f36f: 0x6c91d420,\n\t0x1f370: 0x6cf1aa20, 0x1f371: 0x6c55a620, 0x1f372: 0x6c915a20, 0x1f373: 0x6d289a20,\n\t0x1f374: 0x6c39ae20, 0x1f375: 0x6c3b9020, 0x1f376: 0x6ca36820, 0x1f377: 0x6d1f6c20,\n\t0x1f378: 0x6cb15220, 0x1f379: 0x6ca1b620, 0x1f37a: 0x6c517e20, 0x1f37b: 0x6cf9fa20,\n\t0x1f37c: 0x6cc14620, 0x1f37d: 0x6c4e3820, 0x1f37e: 0x6caf9420, 0x1f37f: 0x6c8d6220,\n\t// Block 0x7ce, offset 0x1f380\n\t0x1f380: 0x6ceb5220, 0x1f381: 0x6c0e9820, 0x1f382: 0x6cc0a020, 0x1f383: 0x6cb2d220,\n\t0x1f384: 0x6c3f0620, 0x1f385: 0x6c0a6420, 0x1f386: 0x6c22a420, 0x1f387: 0x6cf0e020,\n\t0x1f388: 0x6c70ce20, 0x1f389: 0x6c2de220, 0x1f38a: 0x6c03c620, 0x1f38b: 0x6d1f7a20,\n\t0x1f38c: 0x6c4bf020, 0x1f38d: 0x6caf9620, 0x1f38e: 0x6ca70620, 0x1f38f: 0x6d03a020,\n\t0x1f390: 0x6cdf4020, 0x1f391: 0x6c066a20, 0x1f392: 0x6c406020, 0x1f393: 0x6d2c9820,\n\t0x1f394: 0x6c728620, 0x1f395: 0x6c473620, 0x1f396: 0x6cd41e20, 0x1f397: 0x6c309a20,\n\t0x1f398: 0x6c27b020, 0x1f399: 0x6cdeba20, 0x1f39a: 0x6c6b4c20, 0x1f39b: 0x6cd50e20,\n\t0x1f39c: 0x6c548220, 0x1f39d: 0x6cfe0420, 0x1f39e: 0x6c376e20, 0x1f39f: 0x6c01d620,\n\t0x1f3a0: 0x6cef4820, 0x1f3a1: 0x6d2fe620, 0x1f3a2: 0x6d39d020, 0x1f3a3: 0x6d1b8220,\n\t0x1f3a4: 0x6c8b4020, 0x1f3a5: 0x6c962e20, 0x1f3a6: 0x6ce79420, 0x1f3a7: 0x6ce3c820,\n\t0x1f3a8: 0x6d18e220, 0x1f3a9: 0x6c0e3020, 0x1f3aa: 0x6cf03420, 0x1f3ab: 0x6c688a20,\n\t0x1f3ac: 0x6c7a6820, 0x1f3ad: 0x6c4a9220, 0x1f3ae: 0x6cfae620, 0x1f3af: 0x6c444820,\n\t0x1f3b0: 0x6c5b4420, 0x1f3b1: 0x6c81fc20, 0x1f3b2: 0x6c40b820, 0x1f3b3: 0x6c77ca20,\n\t0x1f3b4: 0x6d055e20, 0x1f3b5: 0x6c346820, 0x1f3b6: 0x6c758820, 0x1f3b7: 0x6ce3a020,\n\t0x1f3b8: 0x6c9e4620, 0x1f3b9: 0x6cce9220, 0x1f3ba: 0x6d2c9a20, 0x1f3bb: 0x6cdd4620,\n\t0x1f3bc: 0x6cbd4820, 0x1f3bd: 0x6d21d020, 0x1f3be: 0x6ca57820, 0x1f3bf: 0x6d30b420,\n\t// Block 0x7cf, offset 0x1f3c0\n\t0x1f3c0: 0x6c4bf620, 0x1f3c1: 0x6c452420, 0x1f3c2: 0x6cdb7c20, 0x1f3c3: 0x6cf40220,\n\t0x1f3c4: 0x6cc0a620, 0x1f3c5: 0x6ccd1820, 0x1f3c6: 0x6cb42020, 0x1f3c7: 0x6c596220,\n\t0x1f3c8: 0x6ce5a820, 0x1f3c9: 0x6c854020, 0x1f3ca: 0x6ccc2420, 0x1f3cb: 0x6ccc2620,\n\t0x1f3cc: 0x6c77d020, 0x1f3cd: 0x6c9b7e20, 0x1f3ce: 0x6c1a8e20, 0x1f3cf: 0x6c87e620,\n\t0x1f3d0: 0x6d409820, 0x1f3d1: 0x6cf94c20, 0x1f3d2: 0x6d1e6420, 0x1f3d3: 0x6ca61020,\n\t0x1f3d4: 0x6d3eba20, 0x1f3d5: 0x6cb68820, 0x1f3d6: 0x6d330c20, 0x1f3d7: 0x6cfe0620,\n\t0x1f3d8: 0x6ca57a20, 0x1f3d9: 0x6c216e20, 0x1f3da: 0x6c62c620, 0x1f3db: 0x6c2dec20,\n\t0x1f3dc: 0x6cbd0020, 0x1f3dd: 0x6c482c20, 0x1f3de: 0x6d38f220, 0x1f3df: 0x6c302420,\n\t0x1f3e0: 0x6c7f3020, 0x1f3e1: 0x6c3aec20, 0x1f3e2: 0x6ca61420, 0x1f3e3: 0x6d192220,\n\t0x1f3e4: 0x6c7d8e20, 0x1f3e5: 0x6c932620, 0x1f3e6: 0x6c703820, 0x1f3e7: 0x6c168620,\n\t0x1f3e8: 0x6c6de620, 0x1f3e9: 0x6c951220, 0x1f3ea: 0x6c8d8a20, 0x1f3eb: 0x6d406e20,\n\t0x1f3ec: 0x6c849420, 0x1f3ed: 0x6c9bf420, 0x1f3ee: 0x6d3fde20, 0x1f3ef: 0x6d375220,\n\t0x1f3f0: 0x6ca70c20, 0x1f3f1: 0x6c570420, 0x1f3f2: 0x6d24c420, 0x1f3f3: 0x6c2cb620,\n\t0x1f3f4: 0x6cd20c20, 0x1f3f5: 0x6cd02c20, 0x1f3f6: 0x6c5d1620, 0x1f3f7: 0x6ce3ac20,\n\t0x1f3f8: 0x6c544020, 0x1f3f9: 0x6d03b220, 0x1f3fa: 0x6d39e420, 0x1f3fb: 0x6c7ebc20,\n\t0x1f3fc: 0x6d3fe020, 0x1f3fd: 0x6d2b6820, 0x1f3fe: 0x6c0b1820, 0x1f3ff: 0x6c0b1a20,\n\t// Block 0x7d0, offset 0x1f400\n\t0x1f400: 0x6c596420, 0x1f401: 0x6cc32a20, 0x1f402: 0x6d2b7020, 0x1f403: 0x6ceeca20,\n\t0x1f404: 0x6ceecc20, 0x1f405: 0x6d21e620, 0x1f406: 0x6c212420, 0x1f407: 0x6cc77020,\n\t0x1f408: 0x6c2f0a20, 0x1f409: 0x6c5a2e20, 0x1f40a: 0x6c893220, 0x1f40b: 0x6d0e0620,\n\t0x1f40c: 0x6cbfda20, 0x1f40d: 0x6cbfdc20, 0x1f40e: 0x6c661020, 0x1f40f: 0x6c089c20,\n\t0x1f410: 0x6c36dc20, 0x1f411: 0x6d0ff220, 0x1f412: 0x6c409020, 0x1f413: 0x6cc9d820,\n\t0x1f414: 0x6c41fa20, 0x1f415: 0x6cf98220, 0x1f416: 0x6ceb9820, 0x1f417: 0x6c55fa20,\n\t0x1f418: 0x6cd42420, 0x1f419: 0x6cc93420, 0x1f41a: 0x6d08d620, 0x1f41b: 0x6cf17220,\n\t0x1f41c: 0x6cba8820, 0x1f41d: 0x6c508020, 0x1f41e: 0x6cf39020, 0x1f41f: 0x6c39b420,\n\t0x1f420: 0x6ccad620, 0x1f421: 0x6c8ee420, 0x1f422: 0x6c96aa20, 0x1f423: 0x6cd29620,\n\t0x1f424: 0x6cd21420, 0x1f425: 0x6c493a20, 0x1f426: 0x6d3ec220, 0x1f427: 0x6ce2d020,\n\t0x1f428: 0x6cde2620, 0x1f429: 0x6d117a20, 0x1f42a: 0x6c35a820, 0x1f42b: 0x6d1e0820,\n\t0x1f42c: 0x6cb9e420, 0x1f42d: 0x6cb6a420, 0x1f42e: 0x6cf17420, 0x1f42f: 0x6cc93820,\n\t0x1f430: 0x6cd0ce20, 0x1f431: 0x6c889e20, 0x1f432: 0x6c028e20, 0x1f433: 0x6c823420,\n\t0x1f434: 0x6c5b0c20, 0x1f435: 0x6c9fdc20, 0x1f436: 0x6c62e620, 0x1f437: 0x6ce5b620,\n\t0x1f438: 0x6cc16820, 0x1f439: 0x6c654a20, 0x1f43a: 0x6cd03020, 0x1f43b: 0x6c97a820,\n\t0x1f43c: 0x6cf7c620, 0x1f43d: 0x6cc0aa20, 0x1f43e: 0x6c0c9c20, 0x1f43f: 0x6c62e820,\n\t// Block 0x7d1, offset 0x1f440\n\t0x1f440: 0x6c62d820, 0x1f441: 0x6d3a3c20, 0x1f442: 0x6c679a20, 0x1f443: 0x6d051420,\n\t0x1f444: 0x6d3b9c20, 0x1f445: 0x6d1de620, 0x1f446: 0x6d2eee20, 0x1f447: 0x6c776420,\n\t0x1f448: 0x6d093620, 0x1f449: 0x6c0cce20, 0x1f44a: 0x6d248a20, 0x1f44b: 0x6cc16a20,\n\t0x1f44c: 0x6cfe6e20, 0x1f44d: 0x6c0ea220, 0x1f44e: 0x6c697820, 0x1f44f: 0x6d0a5a20,\n\t0x1f450: 0x6cdb7220, 0x1f451: 0x6c5a3a20, 0x1f452: 0x6d420020, 0x1f453: 0x6ccdee20,\n\t0x1f454: 0x6ccdf020, 0x1f455: 0x6c387620, 0x1f456: 0x6c4bae20, 0x1f457: 0x6c8c0c20,\n\t0x1f458: 0x6d0a5c20, 0x1f459: 0x6c9e8620, 0x1f45a: 0x6cf82c20, 0x1f45b: 0x6d2bbe20,\n\t0x1f45c: 0x6cfe7820, 0x1f45d: 0x6c3c0620, 0x1f45e: 0x6c494620, 0x1f45f: 0x6c548a20,\n\t0x1f460: 0x6c7b4e20, 0x1f461: 0x6d2b7220, 0x1f462: 0x6ccada20, 0x1f463: 0x6d2dd020,\n\t0x1f464: 0x6c420420, 0x1f465: 0x6c4bb220, 0x1f466: 0x6d1d6020, 0x1f467: 0x6c855220,\n\t0x1f468: 0x6c16da20, 0x1f469: 0x6c836e20, 0x1f46a: 0x6cd63a20, 0x1f46b: 0x6c011020,\n\t0x1f46c: 0x6cc7f220, 0x1f46d: 0x6c62fe20, 0x1f46e: 0x6d076e20, 0x1f46f: 0x6c56f220,\n\t0x1f470: 0x6cd63c20, 0x1f471: 0x6c87bc20, 0x1f472: 0x6c8b8e20, 0x1f473: 0x6c87c620,\n\t0x1f474: 0x6c9f2020, 0x1f475: 0x6d31a620, 0x1f476: 0x6cfe1220, 0x1f477: 0x6c370220,\n\t0x1f478: 0x6c91ac20, 0x1f479: 0x6c49ca20, 0x1f47a: 0x6c84f020, 0x1f47b: 0x6cfb1c20,\n\t0x1f47c: 0x6d20ce20, 0x1f47d: 0x6c29c220, 0x1f47e: 0x6c613a20, 0x1f47f: 0x6d1f4220,\n\t// Block 0x7d2, offset 0x1f480\n\t0x1f480: 0x6cea5c20, 0x1f481: 0x6c91c020, 0x1f482: 0x6c39ac20, 0x1f483: 0x6c035420,\n\t0x1f484: 0x6c515220, 0x1f485: 0x6c03be20, 0x1f486: 0x6cb2ba20, 0x1f487: 0x6ca70020,\n\t0x1f488: 0x6c915620, 0x1f489: 0x6d1f5220, 0x1f48a: 0x6d2c8020, 0x1f48b: 0x6c401420,\n\t0x1f48c: 0x6c03c020, 0x1f48d: 0x6c065620, 0x1f48e: 0x6c547620, 0x1f48f: 0x6cb00220,\n\t0x1f490: 0x6cdf2c20, 0x1f491: 0x6c4a8220, 0x1f492: 0x6c6b1620, 0x1f493: 0x6c77b420,\n\t0x1f494: 0x6ceffa20, 0x1f495: 0x6c376420, 0x1f496: 0x6ce77620, 0x1f497: 0x6d2b6220,\n\t0x1f498: 0x6c547c20, 0x1f499: 0x6c7b2e20, 0x1f49a: 0x6c625a20, 0x1f49b: 0x6c686220,\n\t0x1f49c: 0x6cfac620, 0x1f49d: 0x6d2c8820, 0x1f49e: 0x6cfdfa20, 0x1f49f: 0x6d0a2c20,\n\t0x1f4a0: 0x6c451e20, 0x1f4a1: 0x6c843820, 0x1f4a2: 0x6c884620, 0x1f4a3: 0x6c64ea20,\n\t0x1f4a4: 0x6c852c20, 0x1f4a5: 0x6cd28820, 0x1f4a6: 0x6ce5a420, 0x1f4a7: 0x6c4be820,\n\t0x1f4a8: 0x6ccc1620, 0x1f4a9: 0x6c595020, 0x1f4aa: 0x6c758020, 0x1f4ab: 0x6c626e20,\n\t0x1f4ac: 0x6d1e5a20, 0x1f4ad: 0x6cbe5820, 0x1f4ae: 0x6c8d6420, 0x1f4af: 0x6cb65820,\n\t0x1f4b0: 0x6d406820, 0x1f4b1: 0x6c3a1c20, 0x1f4b2: 0x6c7d8620, 0x1f4b3: 0x6c168020,\n\t0x1f4b4: 0x6c482a20, 0x1f4b5: 0x6ca60a20, 0x1f4b6: 0x6ca70820, 0x1f4b7: 0x6c2de420,\n\t0x1f4b8: 0x6c6dd420, 0x1f4b9: 0x6cd02420, 0x1f4ba: 0x6cd20020, 0x1f4bb: 0x6d3e9e20,\n\t0x1f4bc: 0x6c3bf820, 0x1f4bd: 0x6c2ef620, 0x1f4be: 0x6c089420, 0x1f4bf: 0x6c16ce20,\n\t// Block 0x7d3, offset 0x1f4c0\n\t0x1f4c0: 0x6ce39020, 0x1f4c1: 0x6cf16c20, 0x1f4c2: 0x6ceec420, 0x1f4c3: 0x6cc9d220,\n\t0x1f4c4: 0x6c36c020, 0x1f4c5: 0x6cbfd220, 0x1f4c6: 0x6c407020, 0x1f4c7: 0x6c5a1620,\n\t0x1f4c8: 0x6cc31e20, 0x1f4c9: 0x6c678a20, 0x1f4ca: 0x6c0b1220, 0x1f4cb: 0x6ccac820,\n\t0x1f4cc: 0x6c028020, 0x1f4cd: 0x6cb68020, 0x1f4ce: 0x6cde1e20, 0x1f4cf: 0x6c493220,\n\t0x1f4d0: 0x6d116620, 0x1f4d1: 0x6cad1220, 0x1f4d2: 0x6c651e20, 0x1f4d3: 0x6c823020,\n\t0x1f4d4: 0x6c0c9a20, 0x1f4d5: 0x6d093420, 0x1f4d6: 0x6c0cc820, 0x1f4d7: 0x6c979820,\n\t0x1f4d8: 0x6c9fd820, 0x1f4d9: 0x6d1dd220, 0x1f4da: 0x6cf10420, 0x1f4db: 0x6cf7b620,\n\t0x1f4dc: 0x6c4ba020, 0x1f4dd: 0x6ccde220, 0x1f4de: 0x6c8c0620, 0x1f4df: 0x6d41fe20,\n\t0x1f4e0: 0x6c56e420, 0x1f4e1: 0x6c41fe20, 0x1f4e2: 0x6c854a20, 0x1f4e3: 0x6d2dc820,\n\t0x1f4e4: 0x6c496e20, 0x1f4e5: 0x6ca79a20, 0x1f4e6: 0x6d15f420, 0x1f4e7: 0x6c3ebc20,\n\t0x1f4e8: 0x6c864220, 0x1f4e9: 0x6c6f7e20, 0x1f4ea: 0x6c102220, 0x1f4eb: 0x6d0e8e20,\n\t0x1f4ec: 0x6c3f5020, 0x1f4ed: 0x6c2dd020, 0x1f4ee: 0x6c5efc20, 0x1f4ef: 0x6c3cea20,\n\t0x1f4f0: 0x6cc83620, 0x1f4f1: 0x6c41ac20, 0x1f4f2: 0x6cd1e820, 0x1f4f3: 0x6c3cee20,\n\t0x1f4f4: 0x6ca01420, 0x1f4f5: 0x6c060c20, 0x1f4f6: 0x6d250820, 0x1f4f7: 0x6d341420,\n\t0x1f4f8: 0x6c56c420, 0x1f4f9: 0x6cbd9a20, 0x1f4fa: 0x6c3d9820, 0x1f4fb: 0x6c049620,\n\t0x1f4fc: 0x6cf1ac20, 0x1f4fd: 0x6c64ec20, 0x1f4fe: 0x6cd1f620, 0x1f4ff: 0x6d23e420,\n\t// Block 0x7d4, offset 0x1f500\n\t0x1f500: 0x6c3d3220, 0x1f501: 0x6d10b620, 0x1f502: 0x6c74b020, 0x1f503: 0x6c74b220,\n\t0x1f504: 0x6cb06c20, 0x1f505: 0x6c583020, 0x1f506: 0x6d326820, 0x1f507: 0x6c061220,\n\t0x1f508: 0x6d0eb420, 0x1f509: 0x6d0af620, 0x1f50a: 0x6d336420, 0x1f50b: 0x6c399c20,\n\t0x1f50c: 0x6c3cf020, 0x1f50d: 0x6cf1ae20, 0x1f50e: 0x6cab5220, 0x1f50f: 0x6c279220,\n\t0x1f510: 0x6c43ac20, 0x1f511: 0x6cc7ca20, 0x1f512: 0x6c8d6620, 0x1f513: 0x6c9eea20,\n\t0x1f514: 0x6c3eec20, 0x1f515: 0x6ceb5420, 0x1f516: 0x6c9f7c20, 0x1f517: 0x6c869620,\n\t0x1f518: 0x6c0b5020, 0x1f519: 0x6d36fc20, 0x1f51a: 0x6c43ae20, 0x1f51b: 0x6d251420,\n\t0x1f51c: 0x6c227620, 0x1f51d: 0x6cc1cc20, 0x1f51e: 0x6cff1c20, 0x1f51f: 0x6c1adc20,\n\t0x1f520: 0x6c28c020, 0x1f521: 0x6c70d020, 0x1f522: 0x6d11d620, 0x1f523: 0x6c473820,\n\t0x1f524: 0x6c301820, 0x1f525: 0x6d240020, 0x1f526: 0x6d0f6e20, 0x1f527: 0x6cc73a20,\n\t0x1f528: 0x6d0afe20, 0x1f529: 0x6ce60420, 0x1f52a: 0x6d240220, 0x1f52b: 0x6ce54420,\n\t0x1f52c: 0x6d1bf820, 0x1f52d: 0x6c331620, 0x1f52e: 0x6cf38620, 0x1f52f: 0x6c377020,\n\t0x1f530: 0x6c487c20, 0x1f531: 0x6c00d420, 0x1f532: 0x6d341a20, 0x1f533: 0x6d0ed620,\n\t0x1f534: 0x6c527a20, 0x1f535: 0x6cff2c20, 0x1f536: 0x6c63f020, 0x1f537: 0x6c8b4220,\n\t0x1f538: 0x6d39d220, 0x1f539: 0x6d0fe220, 0x1f53a: 0x6ce39220, 0x1f53b: 0x6c539220,\n\t0x1f53c: 0x6c963020, 0x1f53d: 0x6cc7da20, 0x1f53e: 0x6ca1f220, 0x1f53f: 0x6c43b820,\n\t// Block 0x7d5, offset 0x1f540\n\t0x1f540: 0x6cc57e20, 0x1f541: 0x6c688c20, 0x1f542: 0x6d050220, 0x1f543: 0x6d38ba20,\n\t0x1f544: 0x6d341c20, 0x1f545: 0x6c963220, 0x1f546: 0x6c528c20, 0x1f547: 0x6ca77620,\n\t0x1f548: 0x6c370820, 0x1f549: 0x6c944620, 0x1f54a: 0x6c63f220, 0x1f54b: 0x6c62b420,\n\t0x1f54c: 0x6ce90420, 0x1f54d: 0x6c583820, 0x1f54e: 0x6ceb9220, 0x1f54f: 0x6c104a20,\n\t0x1f550: 0x6cf40420, 0x1f551: 0x6c730820, 0x1f552: 0x6d244820, 0x1f553: 0x6c0f9c20,\n\t0x1f554: 0x6c75f620, 0x1f555: 0x6d0aae20, 0x1f556: 0x6c089220, 0x1f557: 0x6cf71020,\n\t0x1f558: 0x6c75f820, 0x1f559: 0x6c717620, 0x1f55a: 0x6ce87e20, 0x1f55b: 0x6c6de420,\n\t0x1f55c: 0x6ce3a220, 0x1f55d: 0x6c359020, 0x1f55e: 0x6c359220, 0x1f55f: 0x6c7bcc20,\n\t0x1f560: 0x6c55e820, 0x1f561: 0x6cf48a20, 0x1f562: 0x6cd02a20, 0x1f563: 0x6c7f6620,\n\t0x1f564: 0x6c69ee20, 0x1f565: 0x6cacca20, 0x1f566: 0x6c932820, 0x1f567: 0x6cb02c20,\n\t0x1f568: 0x6cd51a20, 0x1f569: 0x6c3f2220, 0x1f56a: 0x6c015e20, 0x1f56b: 0x6d3dd020,\n\t0x1f56c: 0x6caef420, 0x1f56d: 0x6cbdba20, 0x1f56e: 0x6cb94220, 0x1f56f: 0x6c06be20,\n\t0x1f570: 0x6c2dee20, 0x1f571: 0x6c932a20, 0x1f572: 0x6cc42c20, 0x1f573: 0x6c652a20,\n\t0x1f574: 0x6c718420, 0x1f575: 0x6ce92a20, 0x1f576: 0x6d0b0420, 0x1f577: 0x6d252020,\n\t0x1f578: 0x6cb68e20, 0x1f579: 0x6c849620, 0x1f57a: 0x6d138620, 0x1f57b: 0x6d3c7020,\n\t0x1f57c: 0x6c798e20, 0x1f57d: 0x6c352020, 0x1f57e: 0x6c7d9020, 0x1f57f: 0x6cd11c20,\n\t// Block 0x7d6, offset 0x1f580\n\t0x1f580: 0x6cb69020, 0x1f581: 0x6c6de820, 0x1f582: 0x6d192420, 0x1f583: 0x6d192620,\n\t0x1f584: 0x6c6dea20, 0x1f585: 0x6d3ebc20, 0x1f586: 0x6c7f3220, 0x1f587: 0x6c302620,\n\t0x1f588: 0x6cb55020, 0x1f589: 0x6c219420, 0x1f58a: 0x6c44e620, 0x1f58b: 0x6c70e020,\n\t0x1f58c: 0x6c74f620, 0x1f58d: 0x6d199620, 0x1f58e: 0x6d422420, 0x1f58f: 0x6c5f8a20,\n\t0x1f590: 0x6cd62c20, 0x1f591: 0x6d1c1420, 0x1f592: 0x6c1c9220, 0x1f593: 0x6c9e8220,\n\t0x1f594: 0x6cc77220, 0x1f595: 0x6c016220, 0x1f596: 0x6cbfe020, 0x1f597: 0x6ce3ae20,\n\t0x1f598: 0x6c55fc20, 0x1f599: 0x6ce3b020, 0x1f59a: 0x6c36e020, 0x1f59b: 0x6c6a4420,\n\t0x1f59c: 0x6c991220, 0x1f59d: 0x6c3f2620, 0x1f59e: 0x6c212820, 0x1f59f: 0x6ce90820,\n\t0x1f5a0: 0x6d0e0820, 0x1f5a1: 0x6c51a020, 0x1f5a2: 0x6d25d020, 0x1f5a3: 0x6cb10620,\n\t0x1f5a4: 0x6c7d9620, 0x1f5a5: 0x6c9a3e20, 0x1f5a6: 0x6c55fe20, 0x1f5a7: 0x6d1c1620,\n\t0x1f5a8: 0x6c204820, 0x1f5a9: 0x6cf54c20, 0x1f5aa: 0x6c718a20, 0x1f5ab: 0x6c309c20,\n\t0x1f5ac: 0x6c124420, 0x1f5ad: 0x6c39e020, 0x1f5ae: 0x6c520a20, 0x1f5af: 0x6d1c3620,\n\t0x1f5b0: 0x6d25d220, 0x1f5b1: 0x6cfb0620, 0x1f5b2: 0x6cf24620, 0x1f5b3: 0x6cd21620,\n\t0x1f5b4: 0x6c520c20, 0x1f5b5: 0x6c1eca20, 0x1f5b6: 0x6ce16820, 0x1f5b7: 0x6cfa1a20,\n\t0x1f5b8: 0x6cc93a20, 0x1f5b9: 0x6c8ee620, 0x1f5ba: 0x6c60fe20, 0x1f5bb: 0x6c474c20,\n\t0x1f5bc: 0x6c654620, 0x1f5bd: 0x6cdd0420, 0x1f5be: 0x6c4f3a20, 0x1f5bf: 0x6c228020,\n\t// Block 0x7d7, offset 0x1f5c0\n\t0x1f5c0: 0x6c228220, 0x1f5c1: 0x6d195420, 0x1f5c2: 0x6d124820, 0x1f5c3: 0x6d0f0220,\n\t0x1f5c4: 0x6c5f9a20, 0x1f5c5: 0x6c875c20, 0x1f5c6: 0x6ce4d220, 0x1f5c7: 0x6c7a0e20,\n\t0x1f5c8: 0x6ce30620, 0x1f5c9: 0x6ce30820, 0x1f5ca: 0x6d195620, 0x1f5cb: 0x6ce90c20,\n\t0x1f5cc: 0x6c96ac20, 0x1f5cd: 0x6c68ae20, 0x1f5ce: 0x6c42f420, 0x1f5cf: 0x6ce4d420,\n\t0x1f5d0: 0x6c18fe20, 0x1f5d1: 0x6c610020, 0x1f5d2: 0x6ce97620, 0x1f5d3: 0x6d311020,\n\t0x1f5d4: 0x6c029020, 0x1f5d5: 0x6d11e620, 0x1f5d6: 0x6d143c20, 0x1f5d7: 0x6cab6620,\n\t0x1f5d8: 0x6c1c9820, 0x1f5d9: 0x6d376e20, 0x1f5da: 0x6c8f5c20, 0x1f5db: 0x6d1de820,\n\t0x1f5dc: 0x6c937020, 0x1f5dd: 0x6c0aca20, 0x1f5de: 0x6cd6b820, 0x1f5df: 0x6d3de420,\n\t0x1f5e0: 0x6d21fa20, 0x1f5e1: 0x6cf41020, 0x1f5e2: 0x6c752620, 0x1f5e3: 0x6d1ab620,\n\t0x1f5e4: 0x6ce3b820, 0x1f5e5: 0x6cd85620, 0x1f5e6: 0x6c68b420, 0x1f5e7: 0x6d196c20,\n\t0x1f5e8: 0x6c577020, 0x1f5e9: 0x6c0ad020, 0x1f5ea: 0x6d1c4620, 0x1f5eb: 0x6cdb7420,\n\t0x1f5ec: 0x6c5a3c20, 0x1f5ed: 0x6c38f820, 0x1f5ee: 0x6c68b620, 0x1f5ef: 0x6c8a5a20,\n\t0x1f5f0: 0x6d0f1820, 0x1f5f1: 0x6c42f820, 0x1f5f2: 0x6c704020, 0x1f5f3: 0x6cfbda20,\n\t0x1f5f4: 0x6cfbdc20, 0x1f5f5: 0x6ce90e20, 0x1f5f6: 0x6c971c20, 0x1f5f7: 0x6d420220,\n\t0x1f5f8: 0x6d248e20, 0x1f5f9: 0x6d1c4a20, 0x1f5fa: 0x6c934220, 0x1f5fb: 0x6ce97820,\n\t0x1f5fc: 0x6cfbde20, 0x1f5fd: 0x6d092e20, 0x1f5fe: 0x6d197820, 0x1f5ff: 0x6cb0e020,\n\t// Block 0x7d8, offset 0x1f600\n\t0x1f600: 0x6c1efc20, 0x1f601: 0x6c958c20, 0x1f602: 0x6cf75c20, 0x1f603: 0x6d15a220,\n\t0x1f604: 0x6c5fb220, 0x1f605: 0x6d2b2c20, 0x1f606: 0x6d220820, 0x1f607: 0x6d2dd220,\n\t0x1f608: 0x6d13a420, 0x1f609: 0x6d0ffa20, 0x1f60a: 0x6cb0e220, 0x1f60b: 0x6ca94420,\n\t0x1f60c: 0x6c56f420, 0x1f60d: 0x6c9cd220, 0x1f60e: 0x6d1c5020, 0x1f60f: 0x6c9bc420,\n\t0x1f610: 0x6c2bc220, 0x1f611: 0x6d273620, 0x1f612: 0x6d249020, 0x1f613: 0x6c831a20,\n\t0x1f614: 0x6c068620, 0x1f615: 0x6c91ae20, 0x1f616: 0x6c521220, 0x1f617: 0x6c902220,\n\t0x1f618: 0x6cd6cc20, 0x1f619: 0x6d274020, 0x1f61a: 0x6d1c5220, 0x1f61b: 0x6c49cc20,\n\t0x1f61c: 0x6cc23820, 0x1f61d: 0x6c84f220, 0x1f61e: 0x6c948820, 0x1f61f: 0x6ca78a20,\n\t0x1f620: 0x6c6f5a20, 0x1f621: 0x6c5e8820, 0x1f622: 0x6d24ca20, 0x1f623: 0x6c9fea20,\n\t0x1f624: 0x6cd1a020, 0x1f625: 0x6cab3620, 0x1f626: 0x6d0ada20, 0x1f627: 0x6c122620,\n\t0x1f628: 0x6c05ec20, 0x1f629: 0x6d322a20, 0x1f62a: 0x6c470420, 0x1f62b: 0x6c2fec20,\n\t0x1f62c: 0x6c914a20, 0x1f62d: 0x6d0ae420, 0x1f62e: 0x6cfeae20, 0x1f62f: 0x6d0f5820,\n\t0x1f630: 0x6c8cda20, 0x1f631: 0x6c1aa620, 0x1f632: 0x6cc18220, 0x1f633: 0x6d24d820,\n\t0x1f634: 0x6d090420, 0x1f635: 0x6ceb1220, 0x1f636: 0x6cd7de20, 0x1f637: 0x6d361220,\n\t0x1f638: 0x6c375620, 0x1f639: 0x6c485820, 0x1f63a: 0x6d04d220, 0x1f63b: 0x6c526620,\n\t0x1f63c: 0x6d388020, 0x1f63d: 0x6c438a20, 0x1f63e: 0x6c943820, 0x1f63f: 0x6c534820,\n\t// Block 0x7d9, offset 0x1f640\n\t0x1f640: 0x6cf3ce20, 0x1f641: 0x6c0f0c20, 0x1f642: 0x6c83dc20, 0x1f643: 0x6c72f820,\n\t0x1f644: 0x6c479a20, 0x1f645: 0x6c357220, 0x1f646: 0x6d236220, 0x1f647: 0x6cfb6820,\n\t0x1f648: 0x6ce33a20, 0x1f649: 0x6cf45420, 0x1f64a: 0x6cc42a20, 0x1f64b: 0x6c9e7a20,\n\t0x1f64c: 0x6c013e20, 0x1f64d: 0x6c7d7820, 0x1f64e: 0x6c06b420, 0x1f64f: 0x6caeb020,\n\t0x1f650: 0x6cb8fc20, 0x1f651: 0x6c219220, 0x1f652: 0x6c44d620, 0x1f653: 0x6d250220,\n\t0x1f654: 0x6cdadc20, 0x1f655: 0x6c558e20, 0x1f656: 0x6c516020, 0x1f657: 0x6c367e20,\n\t0x1f658: 0x6c47bc20, 0x1f659: 0x6cbfba20, 0x1f65a: 0x6c225a20, 0x1f65b: 0x6c9a1e20,\n\t0x1f65c: 0x6cf51220, 0x1f65d: 0x6d187820, 0x1f65e: 0x6d122020, 0x1f65f: 0x6cf23820,\n\t0x1f660: 0x6c8e9420, 0x1f661: 0x6c60a020, 0x1f662: 0x6d187a20, 0x1f663: 0x6c64ee20,\n\t0x1f664: 0x6c51e220, 0x1f665: 0x6d141c20, 0x1f666: 0x6d1bfa20, 0x1f667: 0x6d310420,\n\t0x1f668: 0x6c8f4420, 0x1f669: 0x6c8a2e20, 0x1f66a: 0x6c689220, 0x1f66b: 0x6c703020,\n\t0x1f66c: 0x6d242a20, 0x1f66d: 0x6c931820, 0x1f66e: 0x6c58b420, 0x1f66f: 0x6d2db020,\n\t0x1f670: 0x6d1c0c20, 0x1f671: 0x6c56da20, 0x1f672: 0x6c9b8020, 0x1f673: 0x6c49c020,\n\t0x1f674: 0x6cd6ba20, 0x1f675: 0x6c91bc20, 0x1f676: 0x6c6c5820, 0x1f677: 0x6c8d6820,\n\t0x1f678: 0x6c661220, 0x1f679: 0x6cfbd020, 0x1f67a: 0x6c25fe20, 0x1f67b: 0x6c662620,\n\t0x1f67c: 0x6c664020, 0x1f67d: 0x6d0d1a20, 0x1f67e: 0x6c25f420, 0x1f67f: 0x6c924c20,\n\t// Block 0x7da, offset 0x1f680\n\t0x1f680: 0x6d1eaa20, 0x1f681: 0x6c241620, 0x1f682: 0x6c614c20, 0x1f683: 0x6cad6820,\n\t0x1f684: 0x6c241820, 0x1f685: 0x6cad6c20, 0x1f686: 0x6d3b3220, 0x1f687: 0x6c758220,\n\t0x1f688: 0x6d3a8220, 0x1f689: 0x6c651020, 0x1f68a: 0x6c9c8420, 0x1f68b: 0x6c9c8620,\n\t0x1f68c: 0x6d22a820, 0x1f68d: 0x6c8ec820, 0x1f68e: 0x6c18f420, 0x1f68f: 0x6c758a20,\n\t0x1f690: 0x6c8bf620, 0x1f691: 0x6ca61a20, 0x1f692: 0x6cb69420, 0x1f693: 0x6c932c20,\n\t0x1f694: 0x6c703a20, 0x1f695: 0x6c758c20, 0x1f696: 0x6c6df020, 0x1f697: 0x6c871420,\n\t0x1f698: 0x6cfd9820, 0x1f699: 0x6cfbd220, 0x1f69a: 0x6c639020, 0x1f69b: 0x6c9ca620,\n\t0x1f69c: 0x6c875e20, 0x1f69d: 0x6ccf8e20, 0x1f69e: 0x6d2ef220, 0x1f69f: 0x6c8c1020,\n\t0x1f6a0: 0x6c6dfa20, 0x1f6a1: 0x6cb6b620, 0x1f6a2: 0x6c8de220, 0x1f6a3: 0x6d0d2820,\n\t0x1f6a4: 0x6c241a20, 0x1f6a5: 0x6c973220, 0x1f6a6: 0x6c972620, 0x1f6a7: 0x6c516220,\n\t0x1f6a8: 0x6c17a620, 0x1f6a9: 0x6c3d9c20, 0x1f6aa: 0x6c9e5e20, 0x1f6ab: 0x6c9e3e20,\n\t0x1f6ac: 0x6c3da820, 0x1f6ad: 0x6cad9c20, 0x1f6ae: 0x6cc27e20, 0x1f6af: 0x6cc14c20,\n\t0x1f6b0: 0x6ca1f420, 0x1f6b1: 0x6c3db020, 0x1f6b2: 0x6cfd2c20, 0x1f6b3: 0x6c7f3420,\n\t0x1f6b4: 0x6cc15820, 0x1f6b5: 0x6c9e6a20, 0x1f6b6: 0x6c1ca620, 0x1f6b7: 0x6c3c9420,\n\t0x1f6b8: 0x6c3d6e20, 0x1f6b9: 0x6cc14020, 0x1f6ba: 0x6c9e6420, 0x1f6bb: 0x6c966820,\n\t0x1f6bc: 0x6c99c420, 0x1f6bd: 0x6ca07020, 0x1f6be: 0x6c5af020, 0x1f6bf: 0x6ca1b820,\n\t// Block 0x7db, offset 0x1f6c0\n\t0x1f6c0: 0x6d407020, 0x1f6c1: 0x6caaae20, 0x1f6c2: 0x6c3bb420, 0x1f6c3: 0x6c59ce20,\n\t0x1f6c4: 0x6c59b820, 0x1f6c5: 0x6c6c5a20, 0x1f6c6: 0x6c49f620, 0x1f6c7: 0x6ce47420,\n\t0x1f6c8: 0x6ce81c20, 0x1f6c9: 0x6c538c20, 0x1f6ca: 0x6c57c820, 0x1f6cb: 0x6c7c0820,\n\t0x1f6cc: 0x6c539a20, 0x1f6cd: 0x6cd56020, 0x1f6ce: 0x6c843a20, 0x1f6cf: 0x6ca70a20,\n\t0x1f6d0: 0x6c1af220, 0x1f6d1: 0x6c521c20, 0x1f6d2: 0x6c521a20, 0x1f6d3: 0x6d187c20,\n\t0x1f6d4: 0x6cb9ce20, 0x1f6d5: 0x6c284820, 0x1f6d6: 0x6cf8ea20, 0x1f6d7: 0x6cea2e20,\n\t0x1f6d8: 0x6ca17020, 0x1f6d9: 0x6ca15020, 0x1f6da: 0x6cb9d220, 0x1f6db: 0x6c279e20,\n\t0x1f6dc: 0x6c1f8420, 0x1f6dd: 0x6d1ff620, 0x1f6de: 0x6c2d2e20, 0x1f6df: 0x6d143020,\n\t0x1f6e0: 0x6cfa1220, 0x1f6e1: 0x6d0df220, 0x1f6e2: 0x6cc15a20, 0x1f6e3: 0x6c9a7220,\n\t0x1f6e4: 0x6d0e0a20, 0x1f6e5: 0x6cbe9420, 0x1f6e6: 0x6d271220, 0x1f6e7: 0x6c84a220,\n\t0x1f6e8: 0x6c293820, 0x1f6e9: 0x6c31ec20, 0x1f6ea: 0x6c11e820, 0x1f6eb: 0x6d0c4820,\n\t0x1f6ec: 0x6d0d0820, 0x1f6ed: 0x6d0e1420, 0x1f6ee: 0x6c285820, 0x1f6ef: 0x6c01e420,\n\t0x1f6f0: 0x6d320a20, 0x1f6f1: 0x6c27ac20, 0x1f6f2: 0x6c11ea20, 0x1f6f3: 0x6d144020,\n\t0x1f6f4: 0x6c9a4620, 0x1f6f5: 0x6d2e4220, 0x1f6f6: 0x6d0e3420, 0x1f6f7: 0x6c320e20,\n\t0x1f6f8: 0x6c91b020, 0x1f6f9: 0x6d353420, 0x1f6fa: 0x6c3bc220, 0x1f6fb: 0x6c3f1020,\n\t0x1f6fc: 0x6c3f9820, 0x1f6fd: 0x6c9e3220, 0x1f6fe: 0x6c9e0a20, 0x1f6ff: 0x6d25bc20,\n\t// Block 0x7dc, offset 0x1f700\n\t0x1f700: 0x6c247220, 0x1f701: 0x6cc28420, 0x1f702: 0x6c178820, 0x1f703: 0x6cebfc20,\n\t0x1f704: 0x6d39e620, 0x1f705: 0x6d342a20, 0x1f706: 0x6c9bbe20, 0x1f707: 0x6c029420,\n\t0x1f708: 0x6c0cd020, 0x1f709: 0x6ceb6a20, 0x1f70a: 0x6c0ada20, 0x1f70b: 0x6d257220,\n\t0x1f70c: 0x6c176620, 0x1f70d: 0x6ceb5e20, 0x1f70e: 0x6c2f7420, 0x1f70f: 0x6c9d7420,\n\t0x1f710: 0x6ca3d020, 0x1f711: 0x6c2f7c20, 0x1f712: 0x6d3e8420, 0x1f713: 0x6c47a620,\n\t0x1f714: 0x6c47a820, 0x1f715: 0x6c302220, 0x1f716: 0x6c3ba420, 0x1f717: 0x6ce25020,\n\t0x1f718: 0x6d252820, 0x1f719: 0x6cb03a20, 0x1f71a: 0x6c168e20, 0x1f71b: 0x6c42f620,\n\t0x1f71c: 0x6cb80820, 0x1f71d: 0x6d252a20, 0x1f71e: 0x6ce0e220, 0x1f71f: 0x6ce29820,\n\t0x1f720: 0x6cd56620, 0x1f721: 0x6cd55220, 0x1f722: 0x6c3b9e20, 0x1f723: 0x6c3adc20,\n\t0x1f724: 0x6cf1be20, 0x1f725: 0x6c039620, 0x1f726: 0x6c2dea20, 0x1f727: 0x6ceb5a20,\n\t0x1f728: 0x6d37d420, 0x1f729: 0x6cc1ee20, 0x1f72a: 0x6cd11a20, 0x1f72b: 0x6cd28e20,\n\t0x1f72c: 0x6d205e20, 0x1f72d: 0x6cd29420, 0x1f72e: 0x6ce69e20, 0x1f72f: 0x6cf40c20,\n\t0x1f730: 0x6ca77220, 0x1f731: 0x6c6df620, 0x1f732: 0x6c5d1020, 0x1f733: 0x6c719820,\n\t0x1f734: 0x6d0e1e20, 0x1f735: 0x6ce88020, 0x1f736: 0x6cd85c20, 0x1f737: 0x6cf75420,\n\t0x1f738: 0x6cfd4e20, 0x1f739: 0x6d0e2820, 0x1f73a: 0x6c82ae20, 0x1f73b: 0x6c08a220,\n\t0x1f73c: 0x6d11da20, 0x1f73d: 0x6cc0a220, 0x1f73e: 0x6c4dc020, 0x1f73f: 0x6cf53a20,\n\t// Block 0x7dd, offset 0x1f740\n\t0x1f740: 0x6cf54220, 0x1f741: 0x6c53e620, 0x1f742: 0x6d028620, 0x1f743: 0x6c36f820,\n\t0x1f744: 0x6d2c1020, 0x1f745: 0x6d055c20, 0x1f746: 0x6cf27820, 0x1f747: 0x6d2c1220,\n\t0x1f748: 0x6ca9f820, 0x1f749: 0x6ca48c20, 0x1f74a: 0x6cb63420, 0x1f74b: 0x6d2d0020,\n\t0x1f74c: 0x6c62b620, 0x1f74d: 0x6d3ebe20, 0x1f74e: 0x6c5f9c20, 0x1f74f: 0x6c5fac20,\n\t0x1f750: 0x6cb56c20, 0x1f751: 0x6c5f2820, 0x1f752: 0x6c1bc220, 0x1f753: 0x6c193020,\n\t0x1f754: 0x6c193420, 0x1f755: 0x6c519220, 0x1f756: 0x6d0b3a20, 0x1f757: 0x6d1aae20,\n\t0x1f758: 0x6d026c20, 0x1f759: 0x6c05c020, 0x1f75a: 0x6d2b2620, 0x1f75b: 0x6d027620,\n\t0x1f75c: 0x6c148c20, 0x1f75d: 0x6c1aec20, 0x1f75e: 0x6d0e0c20, 0x1f75f: 0x6c71e020,\n\t0x1f760: 0x6ce5b220, 0x1f761: 0x6c8d9620, 0x1f762: 0x6c8d7820, 0x1f763: 0x6c1e6e20,\n\t0x1f764: 0x6cc33220, 0x1f765: 0x6d027e20, 0x1f766: 0x6c791420, 0x1f767: 0x6ca8ae20,\n\t0x1f768: 0x6c703e20, 0x1f769: 0x6d11e420, 0x1f76a: 0x6c21e820, 0x1f76b: 0x6c7dc820,\n\t0x1f76c: 0x6d22b220, 0x1f76d: 0x6c1efa20, 0x1f76e: 0x6d163020, 0x1f76f: 0x6ca61c20,\n\t0x1f770: 0x6d2b2a20, 0x1f771: 0x6d407820, 0x1f772: 0x6cc25820, 0x1f773: 0x6d281020,\n\t0x1f774: 0x6d0e3020, 0x1f775: 0x6cab6e20, 0x1f776: 0x6c36fe20, 0x1f777: 0x6cf33820,\n\t0x1f778: 0x6d198020, 0x1f779: 0x6c221a20, 0x1f77a: 0x6d407a20, 0x1f77b: 0x6c2d0020,\n\t0x1f77c: 0x6c1efe20, 0x1f77d: 0x6c6d7a20, 0x1f77e: 0x6d0bd420, 0x1f77f: 0x6c1b8020,\n\t// Block 0x7de, offset 0x1f780\n\t0x1f780: 0x6c192420, 0x1f781: 0x6c512220, 0x1f782: 0x6d1a6e20, 0x1f783: 0x6c71c620,\n\t0x1f784: 0x6c8d3220, 0x1f785: 0x6c05b620, 0x1f786: 0x6ce59620, 0x1f787: 0x6d3e7820,\n\t0x1f788: 0x6c790620, 0x1f789: 0x6d228620, 0x1f78a: 0x6c21d420, 0x1f78b: 0x6cc25220,\n\t0x1f78c: 0x6cf32620, 0x1f78d: 0x6c8fb020, 0x1f78e: 0x6cad1420, 0x1f78f: 0x6c45c020,\n\t0x1f790: 0x6cad1620, 0x1f791: 0x6d0e0e20, 0x1f792: 0x6c8ff220, 0x1f793: 0x6c904820,\n\t0x1f794: 0x6c45c820, 0x1f795: 0x6c76b820, 0x1f796: 0x6c26dc20, 0x1f797: 0x6c8e0020,\n\t0x1f798: 0x6c26de20, 0x1f799: 0x6c8f6620, 0x1f79a: 0x6c458620, 0x1f79b: 0x6c76a820,\n\t0x1f79c: 0x6c4a9620, 0x1f79d: 0x6cbfea20, 0x1f79e: 0x6c0cd620, 0x1f79f: 0x6c4a3820,\n\t0x1f7a0: 0x6d26f620, 0x1f7a1: 0x6c20f820, 0x1f7a2: 0x6c51aa20, 0x1f7a3: 0x6c753020,\n\t0x1f7a4: 0x6d013c20, 0x1f7a5: 0x6d249820,\n\t// Block 0x7df, offset 0x1f7c0\n\t0x1f7c3: 0x6ccd4220,\n\t// Block 0x7e0, offset 0x1f800\n\t0x1f800: 0x6cb6e820, 0x1f801: 0x6c452620, 0x1f802: 0x6c17ce20, 0x1f803: 0x6c642020,\n\t0x1f804: 0x6c573e20, 0x1f805: 0x6c202c20, 0x1f806: 0x6c71ea20, 0x1f807: 0x6c4a9620,\n\t0x1f808: 0x6c4a9620, 0x1f809: 0x6cb75220, 0x1f80a: 0x6c6c2e20, 0x1f80b: 0x6c7e6220,\n\t0x1f80c: 0x6ca3ac20, 0x1f80d: 0x6c804a20, 0x1f80e: 0x6c7f7820, 0x1f80f: 0x6c956220,\n\t0x1f810: 0x6c957a20, 0x1f811: 0x6c955820, 0x1f812: 0x6c95b820, 0x1f813: 0x6c957c20,\n\t0x1f814: 0x6c822620, 0x1f815: 0x6c95e820, 0x1f816: 0x6c81d020, 0x1f817: 0x6c95f620,\n\t0x1f818: 0x6c960a20, 0x1f819: 0x6c81d620, 0x1f81a: 0x6c962a20, 0x1f81b: 0x6c949a20,\n\t0x1f81c: 0x6c948c20, 0x1f81d: 0x6c7ff820, 0x1f81e: 0x6c808820, 0x1f81f: 0x6c7ff020,\n\t0x1f820: 0x6c948820, 0x1f821: 0x6c7f9a20, 0x1f822: 0x6c807c20, 0x1f823: 0x6c7fc420,\n\t0x1f824: 0x6c7fd820, 0x1f825: 0x6c7e3e20, 0x1f826: 0x6c7eaa20, 0x1f827: 0x6c7ec420,\n\t0x1f828: 0x6c80b420, 0x1f829: 0x6c80f820, 0x1f82a: 0x6c811820, 0x1f82b: 0x6c80ae20,\n\t0x1f82c: 0x6c80a220, 0x1f82d: 0x6c7ee220, 0x1f82e: 0x6c839020, 0x1f82f: 0x6c815620,\n\t0x1f830: 0x6c91da20, 0x1f831: 0x6c91f220, 0x1f832: 0x6c918420, 0x1f833: 0x6c915c20,\n\t0x1f834: 0x6c819a20, 0x1f835: 0x6c917820, 0x1f836: 0x6c91c420, 0x1f837: 0x6c927620,\n\t0x1f838: 0x6c933620, 0x1f839: 0x6c91d420, 0x1f83a: 0x6c934220, 0x1f83b: 0x6c926e20,\n\t0x1f83c: 0x6c925a20, 0x1f83d: 0x6c93ec20, 0x1f83e: 0x6c924820, 0x1f83f: 0x6c92de20,\n\t// Block 0x7e1, offset 0x1f840\n\t0x1f840: 0x6c924c20, 0x1f841: 0x6c952620, 0x1f842: 0x6c903e20, 0x1f843: 0x6ca9f020,\n\t0x1f844: 0x6c8ff420, 0x1f845: 0x6c8ff820, 0x1f846: 0x6c814220, 0x1f847: 0x6c82d220,\n\t0x1f848: 0x6c927420, 0x1f849: 0x6c823e20, 0x1f84a: 0x6c82e220, 0x1f84b: 0x6c93a620,\n\t0x1f84c: 0x6c90b020, 0x1f84d: 0x6c833020, 0x1f84e: 0x6c910e20, 0x1f84f: 0x6c833420,\n\t0x1f850: 0x6c93bc20, 0x1f851: 0x6c910220, 0x1f852: 0x6c823c20, 0x1f853: 0x6c81fe20,\n\t0x1f854: 0x6c8c2820, 0x1f855: 0x6c8cc420, 0x1f856: 0x6c837e20, 0x1f857: 0x6c8d3c20,\n\t0x1f858: 0x6c8cfe20, 0x1f859: 0x6c8cd820, 0x1f85a: 0x6c31f020, 0x1f85b: 0x6ca2d020,\n\t0x1f85c: 0x6c822620, 0x1f85d: 0x6cab0e20, 0x1f85e: 0x6c27b220, 0x1f85f: 0x6ca91020,\n\t0x1f860: 0x6caa5e20, 0x1f861: 0x6c93d620, 0x1f862: 0x6d176620, 0x1f863: 0x6c06c620,\n\t0x1f864: 0x6cac7620, 0x1f865: 0x6c0b8220, 0x1f866: 0x6c3ff020, 0x1f867: 0x6c105620,\n\t0x1f868: 0x6c9d2620, 0x1f869: 0x6cd60020, 0x1f86a: 0x6cdd5a20, 0x1f86b: 0x6c115e20,\n\t0x1f86c: 0x6cc9c620, 0x1f86d: 0x6cd12c20, 0x1f86e: 0x6d12f620, 0x1f86f: 0x6cd76a20,\n\t0x1f870: 0x6ccbda20, 0x1f871: 0x6c18a020, 0x1f872: 0x6c189c20, 0x1f873: 0x6cd41020,\n\t0x1f874: 0x6cc91420, 0x1f875: 0x6c361020, 0x1f876: 0x6c361220, 0x1f877: 0x6c89aa20,\n\t0x1f878: 0x6c898820, 0x1f879: 0x6c894a20, 0x1f87a: 0x6c894c20, 0x1f87b: 0x6c897420,\n\t0x1f87c: 0x6c894620, 0x1f87d: 0x6c89c820, 0x1f87e: 0x6c89c020, 0x1f87f: 0x6c867020,\n\t// Block 0x7e2, offset 0x1f880\n\t0x1f880: 0x6c937620, 0x1f881: 0x6caa6e20, 0x1f882: 0x6c916e20, 0x1f883: 0x6c938a20,\n\t0x1f884: 0x6c940e20, 0x1f885: 0x6c870420, 0x1f886: 0x6c935a20, 0x1f887: 0x6c84ee20,\n\t0x1f888: 0x6c871420, 0x1f889: 0x6c843a20, 0x1f88a: 0x6c855c20, 0x1f88b: 0x6c867820,\n\t0x1f88c: 0x6c867c20, 0x1f88d: 0x6c878420, 0x1f88e: 0x6ca6f220, 0x1f88f: 0x6c883620,\n\t0x1f890: 0x6c893820, 0x1f891: 0x6ca73420, 0x1f892: 0x6c881620, 0x1f893: 0x6c890620,\n\t0x1f894: 0x6c88c420, 0x1f895: 0x6ca6f620, 0x1f896: 0x6c891220, 0x1f897: 0x6c886820,\n\t0x1f898: 0x6ca73a20, 0x1f899: 0x6c881820, 0x1f89a: 0x6c87fa20, 0x1f89b: 0x6c892220,\n\t0x1f89c: 0x6c8abc20, 0x1f89d: 0x6c8abe20, 0x1f89e: 0x6d0e4220, 0x1f89f: 0x6c8af020,\n\t0x1f8a0: 0x6c8b1020, 0x1f8a1: 0x6cd76a20, 0x1f8a2: 0x6c881020, 0x1f8a3: 0x6ca75a20,\n\t0x1f8a4: 0x6ca72020, 0x1f8a5: 0x6c892020, 0x1f8a6: 0x6c888420, 0x1f8a7: 0x6c8b5420,\n\t0x1f8a8: 0x6c8e1820, 0x1f8a9: 0x6c8c9e20, 0x1f8aa: 0x6ca91020, 0x1f8ab: 0x6c8e1420,\n\t0x1f8ac: 0x6c87f420, 0x1f8ad: 0x6c8cbe20, 0x1f8ae: 0x6d1c8a20, 0x1f8af: 0x6c8cf620,\n\t0x1f8b0: 0x6c8cfa20, 0x1f8b1: 0x6c8d2420, 0x1f8b2: 0x6c8d2a20, 0x1f8b3: 0x6c8db620,\n\t0x1f8b4: 0x6c8e1220, 0x1f8b5: 0x6c858620, 0x1f8b6: 0x6c853820, 0x1f8b7: 0x6c854620,\n\t0x1f8b8: 0x6c86b420, 0x1f8b9: 0x6c363420, 0x1f8ba: 0x6c823620, 0x1f8bb: 0x6c89ec20,\n\t0x1f8bc: 0x6c8a0620, 0x1f8bd: 0x6ca7d020, 0x1f8be: 0x6c8a9420, 0x1f8bf: 0x6c822620,\n\t// Block 0x7e3, offset 0x1f8c0\n\t0x1f8c0: 0x6c8a1a20, 0x1f8c1: 0x6c8a2620, 0x1f8c2: 0x6c8a7220, 0x1f8c3: 0x6c8a1620,\n\t0x1f8c4: 0x6c8fb020, 0x1f8c5: 0x6d275420, 0x1f8c6: 0x6cc84c20, 0x1f8c7: 0x6c8e8020,\n\t0x1f8c8: 0x6c1e2020, 0x1f8c9: 0x6c8efa20, 0x1f8ca: 0x6c8e4a20, 0x1f8cb: 0x6c8e3620,\n\t0x1f8cc: 0x6c8e5020, 0x1f8cd: 0x6c8e4c20, 0x1f8ce: 0x6c8e5c20, 0x1f8cf: 0x6ca99020,\n\t0x1f8d0: 0x6c835420, 0x1f8d1: 0x6c8f2420, 0x1f8d2: 0x6c92a020, 0x1f8d3: 0x6c923020,\n\t0x1f8d4: 0x6c94e420, 0x1f8d5: 0x6c94f020, 0x1f8d6: 0x6c94f420, 0x1f8d7: 0x6c950e20,\n\t0x1f8d8: 0x6c93d020, 0x1f8d9: 0x6c862e20, 0x1f8da: 0x6c85ca20, 0x1f8db: 0x6c93d620,\n\t0x1f8dc: 0x6c8f9220, 0x1f8dd: 0x6c857620, 0x1f8de: 0x6c856e20, 0x1f8df: 0x6c93ae20,\n\t0x1f8e0: 0x6d16ba20, 0x1f8e1: 0x6c87d820, 0x1f8e2: 0x6c83bc20, 0x1f8e3: 0x6ca5c020,\n\t0x1f8e4: 0x6c851420, 0x1f8e5: 0x6c861220, 0x1f8e6: 0x6c844a20, 0x1f8e7: 0x6c852220,\n\t0x1f8e8: 0x6c87e220, 0x1f8e9: 0x6c84fc20, 0x1f8ea: 0x6c847e20, 0x1f8eb: 0x6ca68c20,\n\t0x1f8ec: 0x6ca6ac20, 0x1f8ed: 0x6c8c4420, 0x1f8ee: 0x6c8bde20, 0x1f8ef: 0x6c8be020,\n\t0x1f8f0: 0x6c8c7a20, 0x1f8f1: 0x6c8bca20, 0x1f8f2: 0x6c8c0c20, 0x1f8f3: 0x6c8c1020,\n\t0x1f8f4: 0x6c8ba020, 0x1f8f5: 0x6c8bb020, 0x1f8f6: 0x6c8bea20, 0x1f8f7: 0x6c856c20,\n\t0x1f8f8: 0x6c85f620, 0x1f8f9: 0x6c85f820, 0x1f8fa: 0x6d3c3420, 0x1f8fb: 0x6d358c20,\n\t0x1f8fc: 0x6cd42220, 0x1f8fd: 0x6cd03620, 0x1f8fe: 0x6c13d020, 0x1f8ff: 0x6c22b220,\n\t// Block 0x7e4, offset 0x1f900\n\t0x1f900: 0x6cbc9020, 0x1f901: 0x6c324420, 0x1f902: 0x6cde2e20, 0x1f903: 0x6ce13620,\n\t0x1f904: 0x6d2d1820, 0x1f905: 0x6c306420, 0x1f906: 0x6c066220, 0x1f907: 0x6c3efc20,\n\t0x1f908: 0x6d03ba20, 0x1f909: 0x6c67d620, 0x1f90a: 0x6c665220, 0x1f90b: 0x6c7e0420,\n\t0x1f90c: 0x6cf49020, 0x1f90d: 0x6c56a220, 0x1f90e: 0x43f41c20, 0x1f90f: 0x43f41e20,\n\t0x1f910: 0x6d37f420, 0x1f911: 0x43f42220, 0x1f912: 0x6cbe7a20, 0x1f913: 0x43f42620,\n\t0x1f914: 0x43f42820, 0x1f915: 0x6cf6b620, 0x1f916: 0x6d399820, 0x1f917: 0x6d173820,\n\t0x1f918: 0x6c84f420, 0x1f919: 0x6cd03a20, 0x1f91a: 0x6cfdbc20, 0x1f91b: 0x6c3e9c20,\n\t0x1f91c: 0x6c6e9220, 0x1f91d: 0x6c6dcc20, 0x1f91e: 0x6d221c20, 0x1f91f: 0x43f43e20,\n\t0x1f920: 0x6cc0c220, 0x1f921: 0x43f44220, 0x1f922: 0x6d39c620, 0x1f923: 0x43f44620,\n\t0x1f924: 0x43f44820, 0x1f925: 0x6d178420, 0x1f926: 0x6c30a620, 0x1f927: 0x43f44e20,\n\t0x1f928: 0x43f45020, 0x1f929: 0x43f45220, 0x1f92a: 0x6c395c20, 0x1f92b: 0x6cd8d420,\n\t0x1f92c: 0x6c496820, 0x1f92d: 0x6c520c20, 0x1f92e: 0x6c80a420, 0x1f92f: 0x6c868820,\n\t0x1f930: 0x6cf43220, 0x1f931: 0x6ccbb820, 0x1f932: 0x6c9dfe20, 0x1f933: 0x6c9e0c20,\n\t0x1f934: 0x6cbd7c20, 0x1f935: 0x6c068e20, 0x1f936: 0x6c509c20, 0x1f937: 0x6ce0a020,\n\t0x1f938: 0x6cb7ce20, 0x1f939: 0x6cb2ec20, 0x1f93a: 0x6ca16020, 0x1f93b: 0x6c135420,\n\t0x1f93c: 0x6c17fa20, 0x1f93d: 0x6c5b4c20, 0x1f93e: 0x6c765820, 0x1f93f: 0x6d2b8a20,\n\t// Block 0x7e5, offset 0x1f940\n\t0x1f940: 0x6c1a5420, 0x1f941: 0x6c9fa820, 0x1f942: 0x6c61a820, 0x1f943: 0x6cd55a20,\n\t0x1f944: 0x6c99ec20, 0x1f945: 0x6c4d3a20, 0x1f946: 0x6d3a6420, 0x1f947: 0x6c4ee620,\n\t0x1f948: 0x6d3a6e20, 0x1f949: 0x6d2ff420, 0x1f94a: 0x6d423c20, 0x1f94b: 0x6c06b020,\n\t0x1f94c: 0x6ccf3620, 0x1f94d: 0x6d34f820, 0x1f94e: 0x6cb58a20, 0x1f94f: 0x6d203020,\n\t0x1f950: 0x6d411420, 0x1f951: 0x6d3ac620, 0x1f952: 0x6c5dd420, 0x1f953: 0x6d316e20,\n\t0x1f954: 0x6c47c420, 0x1f955: 0x6ce84420, 0x1f956: 0x6c6af220, 0x1f957: 0x6c891220,\n\t0x1f958: 0x6c6d5220, 0x1f959: 0x6c38ca20, 0x1f95a: 0x6cd56220, 0x1f95b: 0x6d30d220,\n\t0x1f95c: 0x6c1e4020, 0x1f95d: 0x6c12c020, 0x1f95e: 0x6c12c020, 0x1f95f: 0x6d311420,\n\t0x1f960: 0x6c51d620, 0x1f961: 0x6cd36c20, 0x1f962: 0x6d134620, 0x1f963: 0x6c6cc220,\n\t0x1f964: 0x6c0d4a20, 0x1f965: 0x6d2bb620, 0x1f966: 0x6c21a420, 0x1f967: 0x6d178420,\n\t0x1f968: 0x6ca41420, 0x1f969: 0x6cfe0a20, 0x1f96a: 0x6cb21420, 0x1f96b: 0x6c5baa20,\n\t0x1f96c: 0x4885dc20, 0x1f96d: 0x6c496420,\n\t0x1f970: 0x6c0e0820, 0x1f971: 0x6c7bdc20, 0x1f972: 0x6cc2b220, 0x1f973: 0x6d03c620,\n\t0x1f974: 0x6c1ca820, 0x1f975: 0x6c627020, 0x1f976: 0x6d1e1820, 0x1f977: 0x6cce9420,\n\t0x1f978: 0x6c509c20, 0x1f979: 0x6ce21620, 0x1f97a: 0x6c5bbc20, 0x1f97b: 0x6cec3420,\n\t0x1f97c: 0x6d37f420, 0x1f97d: 0x6c3b8420, 0x1f97e: 0x6d0d4620, 0x1f97f: 0x6c077c20,\n\t// Block 0x7e6, offset 0x1f980\n\t0x1f980: 0x6c097420, 0x1f981: 0x6c226820, 0x1f982: 0x6c025020, 0x1f983: 0x6d182220,\n\t0x1f984: 0x6c112620, 0x1f985: 0x6d110c20, 0x1f986: 0x6cee0e20, 0x1f987: 0x6cd0ac20,\n\t0x1f988: 0x6d236a20, 0x1f989: 0x6d2b8a20, 0x1f98a: 0x6c02d820, 0x1f98b: 0x6c1a5420,\n\t0x1f98c: 0x6c279420, 0x1f98d: 0x6d212620, 0x1f98e: 0x6cd9b020, 0x1f98f: 0x6c0de620,\n\t0x1f990: 0x6c024020, 0x1f991: 0x6cbe7a20, 0x1f992: 0x6c80f820, 0x1f993: 0x6cee5220,\n\t0x1f994: 0x6d2f2220, 0x1f995: 0x6c271220, 0x1f996: 0x6ccbda20, 0x1f997: 0x6c8e4a20,\n\t0x1f998: 0x6d1a7020, 0x1f999: 0x6d3e4020, 0x1f99a: 0x6c4ee620, 0x1f99b: 0x6c6eb420,\n\t0x1f99c: 0x6d3a6e20, 0x1f99d: 0x6cbc0220, 0x1f99e: 0x6c74c820, 0x1f99f: 0x6c391620,\n\t0x1f9a0: 0x6d399820, 0x1f9a1: 0x6d325020, 0x1f9a2: 0x6c225020, 0x1f9a3: 0x6c578420,\n\t0x1f9a4: 0x6c492220, 0x1f9a5: 0x6cf16020, 0x1f9a6: 0x6d173820, 0x1f9a7: 0x6cd15e20,\n\t0x1f9a8: 0x6d344020, 0x1f9a9: 0x6c736420, 0x1f9aa: 0x6d311220, 0x1f9ab: 0x6ce4ba20,\n\t0x1f9ac: 0x6ce5cc20, 0x1f9ad: 0x6c6af220, 0x1f9ae: 0x6c832420, 0x1f9af: 0x6ce1c820,\n\t0x1f9b0: 0x6c891220, 0x1f9b1: 0x6cb2ac20, 0x1f9b2: 0x6d30d220, 0x1f9b3: 0x6c598420,\n\t0x1f9b4: 0x6c573420, 0x1f9b5: 0x6d276220, 0x1f9b6: 0x6cbb4c20, 0x1f9b7: 0x6c407e20,\n\t0x1f9b8: 0x6cd36c20, 0x1f9b9: 0x6c2e3820, 0x1f9ba: 0x6d39c620, 0x1f9bb: 0x6cbeb220,\n\t0x1f9bc: 0x6d134620, 0x1f9bd: 0x6cab0e20, 0x1f9be: 0x6d23f620, 0x1f9bf: 0x6c6cc220,\n\t// Block 0x7e7, offset 0x1f9c0\n\t0x1f9c0: 0x6c0bdc20, 0x1f9c1: 0x6d2bb620, 0x1f9c2: 0x6cd50820, 0x1f9c3: 0x6c1b5020,\n\t0x1f9c4: 0x6cd9e620, 0x1f9c5: 0x6d03f420, 0x1f9c6: 0x6d3a6220, 0x1f9c7: 0x6ca41420,\n\t0x1f9c8: 0x6c6e9220, 0x1f9c9: 0x6c046220, 0x1f9ca: 0x6cfe0a20, 0x1f9cb: 0x6c35b420,\n\t0x1f9cc: 0x6cb21420, 0x1f9cd: 0x6d320420, 0x1f9ce: 0x6c4a9620, 0x1f9cf: 0x48509420,\n\t0x1f9d0: 0x48508820, 0x1f9d1: 0x4867aa20, 0x1f9d2: 0x6c513820, 0x1f9d3: 0x6d008620,\n\t0x1f9d4: 0x6c6ad220, 0x1f9d5: 0x48a49220, 0x1f9d6: 0x6cba2c20, 0x1f9d7: 0x6c084620,\n\t0x1f9d8: 0x6c36f820, 0x1f9d9: 0x6cad1420,\n\t// Block 0x7e8, offset 0x1fa00\n\t0x1fa00: 0xf0001c1c, 0x1fa01: 0xf0001c1c, 0x1fa02: 0x00658c9c,\n\t0x1fa10: 0x2cd43683, 0x1fa11: 0x2d3f2883, 0x1fa12: 0x2cd6a083, 0x1fa13: 0xf0001c1c,\n\t0x1fa14: 0x2c37b483, 0x1fa15: 0x2c341683, 0x1fa16: 0x2c6b9883, 0x1fa17: 0x2ce45483,\n\t0x1fa18: 0x2c682283, 0x1fa19: 0x2d1d3483, 0x1fa1a: 0x2cf3c883, 0x1fa1b: 0x2c8a9483,\n\t0x1fa1c: 0x2cb97883, 0x1fa1d: 0x2c546483, 0x1fa1e: 0x2d292683, 0x1fa1f: 0x2d02dc83,\n\t0x1fa20: 0x2c1e5483, 0x1fa21: 0x2d37b683, 0x1fa22: 0x2cd0d283, 0x1fa23: 0x2c395083,\n\t0x1fa24: 0x2cd0dc83, 0x1fa25: 0x2c20b483, 0x1fa26: 0x2d0db483, 0x1fa27: 0x2ce7e683,\n\t0x1fa28: 0x2c103683, 0x1fa29: 0x2d13b683, 0x1fa2a: 0x2cc9f283, 0x1fa2b: 0x2d1f4083,\n\t0x1fa2c: 0x2d426083, 0x1fa2d: 0x2d378283, 0x1fa2e: 0x2d200883, 0x1fa2f: 0x2d350083,\n\t0x1fa30: 0x2d407e83, 0x1fa31: 0x2c26e083, 0x1fa32: 0x2c6d1a83, 0x1fa33: 0x2c796883,\n\t0x1fa34: 0x2c50b683, 0x1fa35: 0x2c97ba83, 0x1fa36: 0x2d1f9883, 0x1fa37: 0x2d266883,\n\t0x1fa38: 0x2ccf9a83, 0x1fa39: 0x2c438c83, 0x1fa3a: 0x2d1c6283,\n\t// Block 0x7e9, offset 0x1fa40\n\t0x1fa40: 0xe000b460, 0x1fa41: 0xe000b474, 0x1fa42: 0xe000b470, 0x1fa43: 0xe000b458,\n\t0x1fa44: 0xe000b46c, 0x1fa45: 0xe000b464, 0x1fa46: 0xe000b468, 0x1fa47: 0xe000b478,\n\t0x1fa48: 0xe000b45c,\n\t0x1fa50: 0x2c2a9083, 0x1fa51: 0x2c785283,\n\t// Block 0x7ea, offset 0x1fa80\n\t0x1fa80: 0x6c508820, 0x1fa81: 0x6cb4c820, 0x1fa83: 0x6cbc8c20,\n\t0x1fa85: 0x6c4d4c20,\n\t0x1fa89: 0x6cbf9020, 0x1fa8a: 0x6c126420,\n\t0x1fa8d: 0x6cd2ec20,\n\t0x1fa93: 0x6cd7ba20,\n\t0x1fa94: 0x6c73ca20,\n\t0x1fa9b: 0x6d22c020,\n\t0x1fa9d: 0x6c796620,\n\t0x1faa2: 0x6d3dfc20,\n\t0x1faa6: 0x6d03be20,\n\t0x1fab1: 0x6ca1fc20,\n\t0x1fab7: 0x6c5e9420,\n\t0x1fab8: 0x6d12d220, 0x1fab9: 0x6c755e20,\n\t0x1fabc: 0x6cb97c20, 0x1fabd: 0x6c922420,\n\t// Block 0x7eb, offset 0x1fac0\n\t0x1fac9: 0x6c1e5e20,\n\t0x1fad7: 0x6cd3d420,\n\t0x1fae0: 0x6cbd0220,\n\t0x1fae5: 0x6c40ce20,\n\t0x1faed: 0x6cb58e20,\n\t0x1faf7: 0x6c15c420,\n\t// Block 0x7ec, offset 0x1fb00\n\t0x1fb04: 0x6c582a20, 0x1fb06: 0x6d163620, 0x1fb07: 0x6d425e20,\n\t0x1fb08: 0x6c6a4a20,\n\t0x1fb11: 0x6d404420,\n\t0x1fb14: 0x6d3ed420,\n\t0x1fb1f: 0x6c6c2020,\n\t0x1fb22: 0x6cac1620,\n\t0x1fb24: 0x6c32ee20, 0x1fb25: 0x6c238220, 0x1fb27: 0x6cd08e20,\n\t0x1fb38: 0x6c59aa20,\n\t// Block 0x7ed, offset 0x1fb40\n\t0x1fb4a: 0x6d1abe20,\n\t0x1fb4c: 0x6c4bb820,\n\t0x1fb56: 0x6c6f3a20,\n\t0x1fb6b: 0x6ccfa220,\n\t0x1fb7a: 0x6c6fe220,\n\t// Block 0x7ee, offset 0x1fb80\n\t0x1fb85: 0x6d130c20,\n\t0x1fb89: 0x6c308c20,\n\t0x1fb8c: 0x6c73c020, 0x1fb8d: 0x6c6a4c20, 0x1fb8f: 0x6c2df020,\n\t0x1fb91: 0x6c73c220, 0x1fb92: 0x6c20ba20,\n\t0x1fb96: 0x6c8c9820,\n\t0x1fb9a: 0x6ce63e20,\n\t0x1fba3: 0x6c44aa20,\n\t0x1fbae: 0x6d0b7e20,\n\t0x1fbb1: 0x6d148020,\n\t0x1fbbf: 0x6cef1c20,\n\t// Block 0x7ef, offset 0x1fbc0\n\t0x1fbc2: 0x6c6a5820,\n\t0x1fbcc: 0x6d146a20,\n\t0x1fbd7: 0x6c2f3220,\n\t0x1fbda: 0x6cb59a20,\n\t0x1fbec: 0x6c05b020,\n\t0x1fbf1: 0x6d01a620,\n\t0x1fbf9: 0x6d2f3220,\n\t// Block 0x7f0, offset 0x1fc00\n\t0x1fc0c: 0x6d1daa20,\n\t0x1fc10: 0x6d073820,\n\t0x1fc19: 0x6c2f3820, 0x1fc1b: 0x6c280820,\n\t0x1fc1f: 0x6cf06220,\n\t0x1fc23: 0x6c488620,\n\t0x1fc29: 0x6c391220,\n\t0x1fc2e: 0x6ca0ba20,\n\t0x1fc31: 0x6cf56220, 0x1fc32: 0x6d0d3220,\n\t0x1fc35: 0x6ca5b820, 0x1fc36: 0x6c286020,\n\t// Block 0x7f1, offset 0x1fc40\n\t0x1fc4b: 0x6c281a20,\n\t0x1fc4f: 0x6ce1ac20,\n\t0x1fc52: 0x6c455620,\n\t0x1fc57: 0x6c7abc20,\n\t0x1fc58: 0x6c1f0420,\n\t0x1fc6f: 0x6cc25e20,\n\t0x1fc71: 0x6ca0be20, 0x1fc73: 0x6cd19220,\n\t0x1fc75: 0x6c41c620, 0x1fc77: 0x6cd0d820,\n\t// Block 0x7f2, offset 0x1fc80\n\t0x1fc81: 0x6ceaa020,\n\t0x1fc85: 0x6cd42c20,\n\t0x1fc8a: 0x6ca7e620,\n\t0x1fca4: 0x6d281a20, 0x1fca5: 0x6c489220,\n\t0x1fcac: 0x6cfe7e20, 0x1fcad: 0x6c814420,\n\t0x1fcb0: 0x6c286e20, 0x1fcb1: 0x6cdd0620,\n\t0x1fcb5: 0x6c988420, 0x1fcb6: 0x6d148220,\n\t0x1fcb8: 0x6ce26e20, 0x1fcba: 0x6c094020,\n\t// Block 0x7f3, offset 0x1fcc0\n\t0x1fcc2: 0x6cde3020,\n\t0x1fcd7: 0x6c95e420,\n\t0x1fce2: 0x6cf7d220, 0x1fce3: 0x6c5cb820,\n\t0x1fce4: 0x6c268e20, 0x1fce7: 0x6c722420,\n\t0x1fce9: 0x6c318c20,\n\t0x1fcec: 0x6c017c20,\n\t// Block 0x7f4, offset 0x1fd00\n\t0x1fd09: 0x6c9a8820,\n\t0x1fd0c: 0x6cc46c20, 0x1fd0e: 0x6c003820, 0x1fd0f: 0x6d22ec20,\n\t0x1fd12: 0x6c666620,\n\t0x1fd14: 0x6cb76620,\n\t0x1fd1f: 0x6c9fa220,\n\t0x1fd23: 0x6d391620,\n\t0x1fd24: 0x6d35ac20, 0x1fd25: 0x6d37ea20, 0x1fd26: 0x6ca4e220, 0x1fd27: 0x6c0e1a20,\n\t0x1fd29: 0x6d3bc020, 0x1fd2a: 0x6cd5be20, 0x1fd2b: 0x6d0a8420,\n\t0x1fd2c: 0x6c741e20, 0x1fd2d: 0x6cb9fe20,\n\t0x1fd30: 0x6c489a20, 0x1fd32: 0x6ce85220,\n\t0x1fd36: 0x6d1d3820, 0x1fd37: 0x6d35d620,\n\t0x1fd3e: 0x6c7c6620,\n\t// Block 0x7f5, offset 0x1fd40\n\t0x1fd46: 0x6c192620,\n\t0x1fd56: 0x6c88ec20, 0x1fd57: 0x6d0ae620,\n\t0x1fd5c: 0x6c4ce820, 0x1fd5d: 0x6c9e8e20, 0x1fd5e: 0x6ccf0e20, 0x1fd5f: 0x6d223620,\n\t0x1fd61: 0x6cd8b020, 0x1fd62: 0x6cda1220,\n\t0x1fd64: 0x6d35d820, 0x1fd67: 0x6cbc7c20,\n\t0x1fd69: 0x6c3fde20,\n\t0x1fd6c: 0x6c710a20, 0x1fd6d: 0x6c071e20, 0x1fd6f: 0x6c099220,\n\t0x1fd72: 0x6cdd6220,\n\t0x1fd75: 0x6cba0820, 0x1fd76: 0x6ca03220, 0x1fd77: 0x6c15b620,\n\t0x1fd7a: 0x6ccaa820, 0x1fd7b: 0x6c5ec020,\n\t// Block 0x7f6, offset 0x1fd80\n\t0x1fd95: 0x6c461620, 0x1fd96: 0x6cbf1e20,\n\t0x1fd9a: 0x6cc73820,\n\t0x1fd9e: 0x6cda1a20, 0x1fd9f: 0x6cda1e20,\n\t0x1fda0: 0x6d10f420,\n\t0x1fdaa: 0x6c1d6a20,\n\t0x1fdad: 0x6cd66620, 0x1fdae: 0x6d2ffa20, 0x1fdaf: 0x6c862420,\n\t0x1fdb0: 0x6c413e20, 0x1fdb1: 0x6cdbc620, 0x1fdb2: 0x6d2d7c20,\n\t0x1fdb4: 0x6d3c4220,\n\t0x1fdbd: 0x6c400820,\n\t// Block 0x7f7, offset 0x1fdc0\n\t0x1fdc3: 0x6c5ee020,\n\t0x1fdc4: 0x6c30b220,\n\t0x1fdd7: 0x6c5bd020,\n\t0x1fdda: 0x6c65a420, 0x1fddb: 0x6d0d9c20,\n\t0x1fddc: 0x6d364a20,\n\t0x1fde8: 0x6c9a5c20, 0x1fde9: 0x6d120e20, 0x1fdea: 0x6c2b3220, 0x1fdeb: 0x6d150e20,\n\t0x1fdef: 0x6c0cf220,\n\t0x1fdf2: 0x6cc1a220, 0x1fdf3: 0x6d181a20,\n\t0x1fdf5: 0x6d105420,\n\t0x1fdf9: 0x6d2c3e20,\n\t0x1fdfd: 0x6ccc6020,\n\t// Block 0x7f8, offset 0x1fe00\n\t0x1fe19: 0x6c7f1820,\n\t0x1fe2e: 0x6c746e20,\n\t0x1fe30: 0x6cb50620, 0x1fe33: 0x6d216a20,\n\t0x1fe36: 0x6d291820, 0x1fe37: 0x6cc98220,\n\t0x1fe38: 0x6ccb3a20, 0x1fe3b: 0x6c340420,\n\t0x1fe3f: 0x6c6b9e20,\n\t// Block 0x7f9, offset 0x1fe40\n\t0x1fe40: 0x6c782020, 0x1fe43: 0x6d265420,\n\t0x1fe47: 0x6c65ca20,\n\t0x1fe48: 0x6d113220,\n\t0x1fe53: 0x6cfaca20,\n\t0x1fe55: 0x6d000220, 0x1fe56: 0x6cbb9620,\n\t0x1fe5a: 0x6d23b820, 0x1fe5b: 0x6cc1ae20,\n\t0x1fe61: 0x6cfac820, 0x1fe62: 0x6c962020,\n\t0x1fe64: 0x6c4a0a20, 0x1fe67: 0x6c198620,\n\t0x1fe68: 0x6c209620, 0x1fe69: 0x6d155620, 0x1fe6b: 0x6d333020,\n\t0x1fe6d: 0x6d403020, 0x1fe6e: 0x6c335c20,\n\t0x1fe70: 0x6d2d3420,\n\t0x1fe7f: 0x6c3a6e20,\n\t// Block 0x7fa, offset 0x1fe80\n\t0x1fe80: 0x6d155820, 0x1fe81: 0x6c9b4420,\n\t0x1fe88: 0x6c0b0a20, 0x1fe89: 0x6c6b4020, 0x1fe8a: 0x6cd61820, 0x1fe8b: 0x6c8a2220,\n\t0x1fe8c: 0x6c08fa20, 0x1fe8d: 0x6cda7620,\n\t0x1fe91: 0x6c2ca220,\n\t0x1fea1: 0x6c076220, 0x1fea2: 0x6cf21220,\n\t0x1fea7: 0x6c9b6a20,\n\t0x1fea9: 0x6c15ea20,\n\t0x1feb5: 0x6c29f620,\n\t0x1feba: 0x6cb21c20, 0x1febb: 0x6c660820,\n\t0x1febc: 0x6c8c7420, 0x1febd: 0x6c4b9220, 0x1febe: 0x6cb54620, 0x1febf: 0x6c52dc20,\n\t// Block 0x7fb, offset 0x1fec0\n\t0x1fec3: 0x6c60e820,\n\t0x1fec4: 0x6d024e20, 0x1fec5: 0x6d330820, 0x1fec6: 0x6c15fa20,\n\t0x1fed0: 0x6d116c20, 0x1fed1: 0x6c160a20,\n\t0x1fed8: 0x6c2cee20, 0x1fed9: 0x6c1d6020, 0x1feda: 0x6ca56220, 0x1fedb: 0x6ca56420,\n\t0x1fede: 0x6d2d5420, 0x1fedf: 0x6c0b1e20,\n\t0x1fee1: 0x6c161020,\n\t0x1feea: 0x6cff5a20,\n\t0x1feef: 0x6c248620,\n\t0x1fef0: 0x6d02f620, 0x1fef1: 0x6c6e4420, 0x1fef2: 0x6cb96620,\n\t0x1fef4: 0x6cbe6820,\n\t0x1fef9: 0x6c475220,\n\t// Block 0x7fc, offset 0x1ff00\n\t0x1ff04: 0x6cf4b420,\n\t0x1ff1c: 0x6d25e420, 0x1ff1d: 0x6c0dde20,\n\t0x1ff22: 0x6cecde20,\n\t0x1ff30: 0x6ca7a620,\n\t0x1ff35: 0x6c891020,\n\t0x1ff38: 0x6cc53e20,\n\t0x1ff3e: 0x6c396e20, 0x1ff3f: 0x6c2b9420,\n\t// Block 0x7fd, offset 0x1ff40\n\t0x1ff4a: 0x6c5af820, 0x1ff4b: 0x6d190620,\n\t0x1ff4c: 0x6cfbbc20,\n\t0x1ff56: 0x6c800420, 0x1ff57: 0x6c40a020,\n\t0x1ff59: 0x6d04ae20,\n\t0x1ff5c: 0x6c897e20, 0x1ff5d: 0x6ce1a620, 0x1ff5e: 0x6c5fba20,\n\t0x1ff62: 0x6c6ba620, 0x1ff63: 0x6d2c1a20,\n\t0x1ff64: 0x6cd19420,\n\t0x1ff6a: 0x6cb59220, 0x1ff6b: 0x6c0b2c20,\n\t0x1ff6d: 0x6c802220, 0x1ff6e: 0x6c8c1a20,\n\t0x1ff76: 0x6d364c20, 0x1ff77: 0x6c09bc20,\n\t0x1ff78: 0x6cd17020,\n\t0x1ff7d: 0x6cd17a20, 0x1ff7f: 0x6cbdbc20,\n\t// Block 0x7fe, offset 0x1ff80\n\t0x1ff82: 0x6c0be620, 0x1ff83: 0x6cf55e20,\n\t0x1ff89: 0x6c733a20, 0x1ff8b: 0x6c5e8420,\n\t0x1ff8d: 0x6cf57620, 0x1ff8e: 0x6cbdc420,\n\t0x1ff91: 0x6c4d5620,\n\t0x1ff95: 0x6c94e220,\n\t0x1ffa0: 0x6d26b420,\n\t0x1ffa8: 0x6c880a20,\n\t0x1ffaf: 0x6c048e20,\n\t0x1ffb2: 0x6c526820,\n\t0x1ffb6: 0x6cb54020,\n\t0x1ffba: 0x6cb93820, 0x1ffbb: 0x6d337820,\n\t0x1ffbc: 0x6c991a20,\n\t// Block 0x7ff, offset 0x1ffc0\n\t0x1ffc1: 0x6c238020,\n\t0x1ffc4: 0x6ca30020,\n\t0x1ffca: 0x6ce6a820,\n\t0x1ffcc: 0x6d3f6e20,\n\t0x1ffd5: 0x6c6ed420, 0x1ffd6: 0x6d2f8620,\n\t0x1ffdf: 0x6ca71c20,\n\t0x1ffe0: 0x6c19e420, 0x1ffe3: 0x6cb86620,\n\t0x1ffe6: 0x6d236420, 0x1ffe7: 0x6c690020,\n\t0x1ffed: 0x6d2fda20,\n\t0x1fff3: 0x6c2b5020,\n\t0x1fff4: 0x6c6f3c20,\n\t0x1fff8: 0x6cdc0a20, 0x1fffb: 0x6d108220,\n\t0x1ffff: 0x6cedbe20,\n\t// Block 0x800, offset 0x20000\n\t0x20002: 0x6c89d820,\n\t0x20004: 0x6ce71220, 0x20006: 0x6c9bfc20,\n\t0x2000b: 0x6d1faa20,\n\t0x20013: 0x6cd7e020,\n\t0x2001b: 0x6c910820,\n\t0x2001f: 0x6d19f820,\n\t0x20025: 0x6c1d4420,\n\t0x2002b: 0x6c420020,\n\t0x2002c: 0x6c6f3820,\n\t0x20036: 0x6cbdf820, 0x20037: 0x6c6ef220,\n\t0x20039: 0x6d006e20,\n\t// Block 0x801, offset 0x20040\n\t0x20042: 0x6c51b820,\n\t0x20046: 0x6ce1ae20,\n\t0x20048: 0x6cc01220, 0x20049: 0x6d007420, 0x2004a: 0x6c6e5420, 0x2004b: 0x6ca71620,\n\t0x2004c: 0x6c6e5620, 0x2004f: 0x6c5fea20,\n\t0x20058: 0x6ce4de20, 0x2005a: 0x6c252220, 0x2005b: 0x6c2e7c20,\n\t0x2005d: 0x6cbea020,\n\t0x20065: 0x6cb2e620, 0x20066: 0x6cb29620,\n\t0x20068: 0x6c2e9020, 0x20069: 0x6c910420,\n\t0x20073: 0x6c88ba20,\n\t0x20074: 0x6c4e0a20, 0x20075: 0x6cacd620, 0x20076: 0x6ce0f020,\n\t0x2007a: 0x6d151020, 0x2007b: 0x6d081420,\n\t0x2007c: 0x6cddca20, 0x2007d: 0x6c8e6420, 0x2007e: 0x6cd6d220, 0x2007f: 0x6cd0a820,\n\t// Block 0x802, offset 0x20080\n\t0x20081: 0x6c10a020, 0x20082: 0x6cd9bc20,\n\t0x20085: 0x6cbd8c20, 0x20086: 0x6cd06620,\n\t0x2008a: 0x6ca9f420, 0x2008b: 0x6ce6de20,\n\t0x2008c: 0x6c677020,\n\t0x20095: 0x6cf6b820, 0x20096: 0x6d36fe20,\n\t0x2009d: 0x6c7f5e20, 0x2009e: 0x6c86be20, 0x2009f: 0x6c86c020,\n\t0x200a2: 0x6c519420, 0x200a3: 0x6c69cc20,\n\t0x200a5: 0x6d0d0a20, 0x200a7: 0x6cd49420,\n\t0x200aa: 0x6cd2a220,\n\t0x200b1: 0x6d31ae20, 0x200b3: 0x6d1e8620,\n\t0x200ba: 0x6cddc620, 0x200bb: 0x6cf39e20,\n\t// Block 0x803, offset 0x200c0\n\t0x200c1: 0x6c169620, 0x200c2: 0x6c238820,\n\t0x200c6: 0x6c720820,\n\t0x200ce: 0x6cd4a420,\n\t0x200d4: 0x6c6fe620, 0x200d5: 0x6ceef020,\n\t0x200de: 0x6c5db620,\n\t0x200e4: 0x6c6a2020,\n\t0x200ec: 0x6d2a4e20,\n\t0x200f6: 0x6cab7220,\n\t0x200fc: 0x6c488c20,\n\t// Block 0x804, offset 0x20100\n\t0x20103: 0x6c4fba20,\n\t0x20104: 0x6c84f620, 0x20105: 0x6d356c20, 0x20106: 0x6cfc7220,\n\t0x20109: 0x6c100c20, 0x2010a: 0x6c170020,\n\t0x20113: 0x6d274a20,\n\t0x20114: 0x6c510020,\n\t0x2011c: 0x6ce1e420,\n\t0x20120: 0x6c0c4a20,\n\t0x20125: 0x6c2da420, 0x20127: 0x6c37b620,\n\t0x20128: 0x6c6f3e20,\n\t0x2012d: 0x6c2c0a20, 0x2012e: 0x6d164420, 0x2012f: 0x6c7d4620,\n\t0x20131: 0x6d300a20, 0x20133: 0x6c7de420,\n\t0x20134: 0x6d384e20, 0x20135: 0x6c71ee20,\n\t0x20139: 0x6ccd6820, 0x2013a: 0x6ccc3820, 0x2013b: 0x6c2da820,\n\t0x2013c: 0x6c046c20, 0x2013d: 0x6c5e7420,\n\t// Block 0x805, offset 0x20140\n\t0x20140: 0x6d378620, 0x20143: 0x6d144e20,\n\t0x20145: 0x6c79b020, 0x20146: 0x6cf33e20,\n\t0x2014a: 0x6c436420, 0x2014b: 0x6c031220,\n\t0x2014e: 0x6c463620,\n\t0x20151: 0x6cfb2420, 0x20152: 0x6c484020, 0x20153: 0x6c8ef620,\n\t0x20154: 0x6c1b7620, 0x20155: 0x6c48c020, 0x20156: 0x6c1fdc20,\n\t0x20158: 0x6c83a020, 0x20159: 0x6c242a20, 0x2015a: 0x6cd63e20,\n\t0x20161: 0x6c08b620,\n\t0x20165: 0x6c0dbc20, 0x20166: 0x6c857820,\n\t0x20169: 0x6c6fae20, 0x2016a: 0x6ce54a20, 0x2016b: 0x6c347220,\n\t0x2016d: 0x6d0bde20, 0x2016e: 0x6cc28a20,\n\t0x20171: 0x6c8ac820, 0x20173: 0x6c787c20,\n\t0x20175: 0x6c449620, 0x20176: 0x6d312420,\n\t0x20178: 0x6c3b5820,\n\t// Block 0x806, offset 0x20180\n\t0x20181: 0x6d146e20, 0x20183: 0x6c6fd220,\n\t0x20184: 0x6d067c20, 0x20185: 0x6c68cc20,\n\t0x20188: 0x6c93cc20, 0x20189: 0x6c6fb020, 0x2018b: 0x6c1e1e20,\n\t0x2018e: 0x6cfc7e20,\n\t0x20190: 0x6c7b1620, 0x20191: 0x6c333e20,\n\t0x20196: 0x6c952e20, 0x20197: 0x6cf59a20,\n\t0x20198: 0x6cbe0820, 0x20199: 0x6c107420,\n\t0x201a4: 0x6cb84620,\n\t0x201b1: 0x6caf5020, 0x201b2: 0x6d0adc20, 0x201b3: 0x6c07da20,\n\t0x201b4: 0x6c4cb220, 0x201b5: 0x6c484c20,\n\t0x201b9: 0x6c710020,\n\t0x201bc: 0x6cb82420, 0x201be: 0x6c741020,\n\t// Block 0x807, offset 0x201c0\n\t0x201c4: 0x6c85c020,\n\t0x201d0: 0x6c570c20, 0x201d1: 0x6c683c20,\n\t0x201d8: 0x6cb84e20, 0x201da: 0x6d2c2620, 0x201db: 0x6cb82620,\n\t0x201dd: 0x6d304620, 0x201de: 0x6c139020, 0x201df: 0x6d1ce820,\n\t0x201e2: 0x6d0bee20,\n\t0x201e4: 0x6c1cc020,\n\t0x201e8: 0x6c1b9a20, 0x201ea: 0x6cec8620,\n\t0x201ec: 0x6cd9a620,\n\t0x201f2: 0x6c76cc20, 0x201f3: 0x6d255c20,\n\t0x201fd: 0x6c1d9c20, 0x201ff: 0x6cdd6420,\n\t// Block 0x808, offset 0x20200\n\t0x20200: 0x6ce85820, 0x20203: 0x6d305620,\n\t0x20204: 0x6ce2ee20, 0x20206: 0x6cf36820,\n\t0x20208: 0x6c264a20, 0x20209: 0x6c860820, 0x2020a: 0x6c139420,\n\t0x20215: 0x6cc66e20, 0x20216: 0x6c461820, 0x20217: 0x6cc3bc20,\n\t0x20219: 0x6c83ce20,\n\t0x2021e: 0x6ce1c620,\n\t0x20224: 0x6c860a20, 0x20227: 0x6c9c5c20,\n\t0x20229: 0x6c1c3020,\n\t0x2022c: 0x6c4bfa20, 0x2022d: 0x6c909420, 0x2022e: 0x6c209020, 0x2022f: 0x6cdd6e20,\n\t0x20230: 0x6c690420, 0x20231: 0x6c6d0c20,\n\t0x20235: 0x6c381620, 0x20236: 0x6d2cf620,\n\t0x2023e: 0x6c6d0e20, 0x2023f: 0x6c254220,\n\t// Block 0x809, offset 0x20240\n\t0x20242: 0x6c136c20, 0x20243: 0x6d420820,\n\t0x20245: 0x6d2fc420,\n\t0x20248: 0x6cb1c620, 0x20249: 0x6d2dfc20, 0x2024a: 0x6cf66420, 0x2024b: 0x6d121420,\n\t0x2024c: 0x6c3f7420, 0x2024d: 0x6c1cce20,\n\t0x20253: 0x6c254a20,\n\t0x20257: 0x6c486820,\n\t0x20263: 0x6c5f0020,\n\t0x20266: 0x6ccb3c20, 0x20267: 0x6d2d8e20,\n\t0x20268: 0x6c8e2420, 0x20269: 0x6ccb3e20, 0x2026a: 0x6d132220,\n\t0x20270: 0x6c70ba20,\n\t0x20276: 0x6ce87220,\n\t0x2027a: 0x6cc7c620, 0x2027b: 0x6d2af820,\n\t0x2027c: 0x6c589020,\n\t// Block 0x80a, offset 0x20280\n\t0x20281: 0x6cfc2820, 0x20283: 0x6cb91a20,\n\t0x20284: 0x6d2fdc20,\n\t0x2028b: 0x6c11b220,\n\t0x2028e: 0x6c7e1820, 0x2028f: 0x6c869a20,\n\t0x20290: 0x6cc76420,\n\t0x20294: 0x6c31c020, 0x20297: 0x6c8b3020,\n\t0x2029c: 0x6d1c0620, 0x2029d: 0x6c86c220,\n\t0x202a0: 0x6c31c620, 0x202a2: 0x6c8d8020,\n\t0x202aa: 0x6ceca220,\n\t0x202af: 0x6c2f1820,\n\t0x202b3: 0x6c6f4020,\n\t0x202b5: 0x6c855e20, 0x202b6: 0x6c7a1620, 0x202b7: 0x6c791e20,\n\t0x202b9: 0x6d31b220,\n\t// Block 0x80b, offset 0x202c0\n\t0x202c0: 0x6c51b420, 0x202c2: 0x6c091220,\n\t0x202c4: 0x6caf2820,\n\t0x202ca: 0x6c4f4820,\n\t0x202d1: 0x6d3d2820, 0x202d2: 0x6c332020,\n\t0x202d4: 0x6d16a420,\n\t0x202dc: 0x6c787e20, 0x202dd: 0x6d16a620, 0x202de: 0x6ca0dc20,\n\t0x202e1: 0x6c118a20, 0x202e3: 0x6c44ee20,\n\t0x202e4: 0x6c788820, 0x202e5: 0x6cd32a20,\n\t0x202ed: 0x6c8cc620, 0x202ee: 0x6c07dc20,\n\t0x202f1: 0x6c32b820,\n\t0x202f6: 0x6c72e020, 0x202f7: 0x6ca4e420,\n\t0x202f8: 0x6d3f0020, 0x202fb: 0x6d401e20,\n\t// Block 0x80c, offset 0x20300\n\t0x20303: 0x6ce0ea20,\n\t0x20306: 0x6cf9be20, 0x20307: 0x6c4ec020,\n\t0x2030c: 0x6c94a620, 0x2030d: 0x6cb99020,\n\t0x20313: 0x6ca12220,\n\t0x20314: 0x6cab3a20, 0x20315: 0x6c4fc820,\n\t0x20319: 0x6d2c3420, 0x2031a: 0x6c737020, 0x2031b: 0x6c23a020,\n\t0x20320: 0x6c864420, 0x20321: 0x6d2c4020, 0x20322: 0x6d1fdc20, 0x20323: 0x6c2d6c20,\n\t0x20324: 0x6c747820, 0x20325: 0x6c073a20,\n\t0x20329: 0x6d11bc20, 0x2032a: 0x6cb1c820,\n\t0x20331: 0x6c6d3620, 0x20332: 0x6c766c20, 0x20333: 0x6ccb4020,\n\t0x20334: 0x6d102c20, 0x20335: 0x6c6d3820,\n\t0x20339: 0x6c78dc20,\n\t// Block 0x80d, offset 0x20340\n\t0x20344: 0x6c14de20, 0x20347: 0x6ca74a20,\n\t0x20349: 0x6cedb020, 0x2034a: 0x6c942a20,\n\t0x20350: 0x6d277a20, 0x20351: 0x6d108420, 0x20352: 0x6c05a020,\n\t0x20355: 0x6c755220, 0x20356: 0x6d07fc20,\n\t0x20358: 0x6d385820,\n\t0x20360: 0x6c7ce820, 0x20361: 0x6c3cda20,\n\t0x2036a: 0x6cc17e20, 0x2036b: 0x6ccecc20,\n\t0x2036c: 0x6cdce420,\n\t0x20370: 0x6c316820, 0x20372: 0x6c7af820, 0x20373: 0x6cad8c20,\n\t0x2037a: 0x6c065020,\n\t0x2037e: 0x6c401620, 0x2037f: 0x6c700c20,\n\t// Block 0x80e, offset 0x20380\n\t0x20380: 0x6cc47c20,\n\t0x20384: 0x6c70ca20,\n\t0x2038a: 0x6cbf6a20,\n\t0x2038d: 0x6d38c220, 0x2038e: 0x6c577420, 0x2038f: 0x6c05e020,\n\t0x20395: 0x6d145c20, 0x20397: 0x6d148420,\n\t0x20398: 0x6d148620,\n\t0x2039d: 0x6c995020,\n\t0x203a6: 0x6cc86c20,\n\t0x203ab: 0x6c227c20,\n\t0x203ae: 0x6c4dca20,\n\t0x203b0: 0x6c238420,\n\t0x203b4: 0x6cf83a20,\n\t0x203b9: 0x6cc2b820, 0x203ba: 0x6ce56c20,\n\t0x203bc: 0x6c2e0c20, 0x203be: 0x6c4ddc20,\n\t// Block 0x80f, offset 0x203c0\n\t0x203c7: 0x6d12a620,\n\t0x203cd: 0x6c353420, 0x203ce: 0x6ceef820,\n\t0x203d0: 0x6c122e20, 0x203d1: 0x6c2e2620,\n\t0x203d5: 0x6c362620, 0x203d6: 0x6c2c6820,\n\t0x203d8: 0x6cdb9220, 0x203d9: 0x6cc30a20,\n\t0x203dc: 0x6c368020, 0x203dd: 0x6cab4420, 0x203de: 0x6d081c20,\n\t0x203e2: 0x6cf47820,\n\t0x203e6: 0x6d190820,\n\t0x203e8: 0x6ca1fa20,\n\t0x203f0: 0x6c549620,\n\t0x203f4: 0x6c4dde20,\n\t0x203ff: 0x6cd22820,\n\t// Block 0x810, offset 0x20400\n\t0x20403: 0x6cc96420,\n\t0x20408: 0x6c090820, 0x2040a: 0x6c4dcc20, 0x2040b: 0x6c6e4620,\n\t0x2040e: 0x6cbdfa20, 0x2040f: 0x6c25d420,\n\t0x20410: 0x6c22a620, 0x20412: 0x6c046e20,\n\t0x20417: 0x6c32f020,\n\t0x2041c: 0x6cf84220,\n\t0x20427: 0x6d33c020,\n\t0x20428: 0x6c949220, 0x2042a: 0x6c54b620, 0x2042b: 0x6c601420,\n\t0x2042c: 0x6c48c820,\n\t0x20432: 0x6cacd820,\n\t// Block 0x811, offset 0x20440\n\t0x20440: 0x6d39c220,\n\t0x20445: 0x6c08fc20, 0x20447: 0x6d21ae20,\n\t0x20452: 0x6cb6c220,\n\t0x20455: 0x6c50b420, 0x20456: 0x6c1ed420,\n\t0x20459: 0x6ccec220, 0x2045a: 0x6c1be020, 0x2045b: 0x6c0eac20,\n\t0x2045f: 0x6cc62420,\n\t0x20460: 0x6d1ef820,\n\t0x20464: 0x6ca39620,\n\t0x20469: 0x6c5b9420, 0x2046a: 0x6ce57620, 0x2046b: 0x6c04c220,\n\t0x20470: 0x6d057620,\n\t0x20474: 0x6d1f1020, 0x20475: 0x6c1c0620,\n\t0x2047f: 0x6c526220,\n\t// Block 0x812, offset 0x20480\n\t0x20483: 0x6cec7020,\n\t0x20486: 0x6d01ce20,\n\t0x2048a: 0x6c748c20,\n\t0x2048c: 0x6cdbec20, 0x2048d: 0x6cbe2c20, 0x2048e: 0x6d3bbc20,\n\t0x20495: 0x6c617620,\n\t0x20498: 0x6c091420, 0x2049a: 0x6cf59c20,\n\t0x204a0: 0x6c602820, 0x204a2: 0x6c75c620,\n\t0x204a5: 0x6c89ee20, 0x204a6: 0x6d1eb620,\n\t0x204ad: 0x6c70ea20,\n\t0x204b2: 0x6d266a20,\n\t0x204b5: 0x6c055e20,\n\t0x204b8: 0x6cafaa20, 0x204bb: 0x6d2b3820,\n\t0x204be: 0x6d165820, 0x204bf: 0x6c2bc820,\n\t// Block 0x813, offset 0x204c0\n\t0x204c2: 0x6cbc9220,\n\t0x204c4: 0x6cdd4c20, 0x204c6: 0x6c22ae20,\n\t0x204c8: 0x6d3aa220, 0x204c9: 0x6d267420,\n\t0x204cf: 0x6c682820,\n\t0x204d4: 0x6cd23e20, 0x204d7: 0x6d148820,\n\t0x204d8: 0x6cf99220,\n\t0x204e0: 0x6d254220,\n\t0x204e5: 0x6c4c6020, 0x204e7: 0x6c789020,\n\t0x204ea: 0x6c252420, 0x204eb: 0x6d171a20,\n\t0x204f5: 0x6c85c220, 0x204f7: 0x6c2d0c20,\n\t0x204fa: 0x6cf5d620,\n\t0x204ff: 0x6c09c020,\n\t// Block 0x814, offset 0x20500\n\t0x20502: 0x6c0b3420, 0x20503: 0x6c99ea20,\n\t0x20504: 0x6c85e420, 0x20507: 0x6cda1820,\n\t0x20510: 0x6c8e5620, 0x20511: 0x6c4b5420, 0x20512: 0x6c78b620,\n\t0x20517: 0x6d151220,\n\t0x20519: 0x6cf7f620, 0x2051a: 0x6d1a7c20,\n\t0x2051f: 0x6c78c020,\n\t0x20523: 0x6ccf6020,\n\t0x20527: 0x6cf2bc20,\n\t0x2052e: 0x6cb0b620,\n\t0x20536: 0x6d26dc20, 0x20537: 0x6c538020,\n\t0x2053a: 0x6c867220, 0x2053b: 0x6c405020,\n\t// Block 0x815, offset 0x20540\n\t0x20543: 0x6c74d620,\n\t0x20544: 0x6cfae820,\n\t0x20549: 0x6c2cf020,\n\t0x2054c: 0x6c878820,\n\t0x20553: 0x6ce83420,\n\t0x20558: 0x6c645820, 0x2055b: 0x6c041420,\n\t0x2055c: 0x6c2c0c20, 0x2055d: 0x6d2efc20,\n\t0x20563: 0x6d22bc20,\n\t0x20568: 0x6c333420,\n\t0x2056d: 0x6c115c20, 0x2056e: 0x6ce88620,\n\t0x20576: 0x6cdf9420, 0x20577: 0x6c5fee20,\n\t0x20578: 0x6cb59420, 0x20579: 0x6ccd7620, 0x2057a: 0x6ca6fa20,\n\t// Block 0x816, offset 0x20580\n\t0x20586: 0x6c498c20,\n\t0x20588: 0x6c08e420, 0x2058b: 0x6d037820,\n\t0x20593: 0x6d31fa20,\n\t0x20599: 0x6cc94a20, 0x2059b: 0x6ca0b820,\n\t0x2059d: 0x6c3dc420,\n\t0x205a2: 0x6ce1a820, 0x205a3: 0x6c055c20,\n\t0x205aa: 0x6c0c8a20,\n\t0x205ac: 0x6cf56620, 0x205ae: 0x6c6a5e20,\n\t0x205b6: 0x6c6cd220,\n\t0x205be: 0x6cb8b020,\n\t// Block 0x817, offset 0x205c0\n\t0x205c8: 0x6cd89820, 0x205c9: 0x6c6e1620, 0x205cb: 0x6c1b8820,\n\t0x205d7: 0x6c6e1c20,\n\t0x205e5: 0x6cdc3a20,\n\t0x205ef: 0x6d2bde20,\n\t0x205f0: 0x6c83e020,\n\t0x205f4: 0x6d3d0620,\n\t0x205f9: 0x6c0ba820,\n\t0x205ff: 0x6cea6220,\n\t// Block 0x818, offset 0x20600\n\t0x20603: 0x6c0a1820,\n\t0x20606: 0x6c3ac220,\n\t0x2060a: 0x6c2a8220,\n\t0x2060c: 0x6d3a2620,\n\t0x20611: 0x6c70dc20,\n\t0x20619: 0x6d15b020,\n\t0x2061c: 0x6d0b6420, 0x2061f: 0x6c1bd820,\n\t0x20620: 0x6c488e20, 0x20621: 0x6d34d020,\n\t0x20628: 0x6cc61620, 0x2062b: 0x6d1e8a20,\n\t0x2062d: 0x6c0ea820, 0x2062f: 0x6c611820,\n\t0x20630: 0x6cb23620, 0x20633: 0x6d1b9c20,\n\t0x20634: 0x6d0f4220, 0x20635: 0x6c98b420,\n\t0x2063d: 0x6c904e20, 0x2063e: 0x6ca2ca20, 0x2063f: 0x6cc9bc20,\n\t// Block 0x819, offset 0x20640\n\t0x20640: 0x6c1fda20, 0x20642: 0x6c221c20, 0x20643: 0x6cf41a20,\n\t0x20644: 0x6cc5ae20,\n\t0x20648: 0x6c272420, 0x20649: 0x6c5fc420, 0x2064b: 0x6d15b820,\n\t0x2064d: 0x6cc45e20,\n\t0x20650: 0x6c5d9820, 0x20651: 0x6c484220, 0x20653: 0x6d301020,\n\t0x20654: 0x6cb08220, 0x20657: 0x6d288220,\n\t0x20658: 0x6c04e020, 0x20659: 0x6c6a6a20,\n\t0x2065c: 0x6c53e220, 0x2065f: 0x6cfc7620,\n\t0x20660: 0x6c5a8820,\n\t0x20669: 0x6d2bc420, 0x2066a: 0x6c270820, 0x2066b: 0x6c436c20,\n\t0x2066d: 0x6cb08420, 0x2066f: 0x6cb14620,\n\t0x20670: 0x6cd23620, 0x20671: 0x6c898620, 0x20672: 0x6d267620, 0x20673: 0x6c565020,\n\t0x20674: 0x6c0b6a20, 0x20677: 0x6cc61e20,\n\t0x20679: 0x6cc62020,\n\t// Block 0x81a, offset 0x20680\n\t0x20684: 0x6d13c420, 0x20685: 0x6d338820, 0x20687: 0x6c6c2820,\n\t0x20688: 0x6cf22020, 0x20689: 0x6c173420, 0x2068b: 0x6cbf9a20,\n\t0x2068d: 0x6d3a5620, 0x2068f: 0x6d2c1c20,\n\t0x20690: 0x6cb34820, 0x20691: 0x6c019e20, 0x20693: 0x6c50c220,\n\t0x20695: 0x6c1e5620, 0x20696: 0x6d0c6020,\n\t0x2069a: 0x6cd31820, 0x2069b: 0x6c566020,\n\t0x2069c: 0x6c35dc20,\n\t0x206b4: 0x6cd24020,\n\t0x206b9: 0x6ceaaa20, 0x206ba: 0x6c272c20, 0x206bb: 0x6cec6a20,\n\t0x206bc: 0x6cb2f420, 0x206bd: 0x6cc6f420, 0x206be: 0x6c705220,\n\t// Block 0x81b, offset 0x206c0\n\t0x206c0: 0x6c0e4a20,\n\t0x206d0: 0x6d222820, 0x206d1: 0x6c30a220, 0x206d3: 0x6c4ace20,\n\t0x206d4: 0x6cd45420, 0x206d7: 0x6cdd0820,\n\t0x206d8: 0x6ca68220, 0x206d9: 0x6d385c20, 0x206da: 0x6c905220, 0x206db: 0x6c0dca20,\n\t0x206dc: 0x6d421420, 0x206dd: 0x6d12d620, 0x206de: 0x6cc4b420,\n\t0x206e0: 0x6c8cb220, 0x206e1: 0x6cc96c20,\n\t0x206e4: 0x6c82b820, 0x206e5: 0x6c35e820, 0x206e7: 0x6d381a20,\n\t0x206e8: 0x6c612820, 0x206eb: 0x6c35ea20,\n\t0x206ef: 0x6d428420,\n\t0x206f2: 0x6ca31820, 0x206f3: 0x6d27dc20,\n\t// Block 0x81c, offset 0x20700\n\t0x2070a: 0x6d016c20, 0x2070b: 0x6d418a20,\n\t0x2070c: 0x6cd5aa20, 0x2070d: 0x6c2fce20, 0x2070e: 0x6c384620, 0x2070f: 0x6cc58a20,\n\t0x20711: 0x6c051820, 0x20712: 0x6c4de020, 0x20713: 0x6c530a20,\n\t0x20714: 0x6d13d020, 0x20716: 0x6d13d220,\n\t0x20719: 0x6c77da20, 0x2071a: 0x6d16de20, 0x2071b: 0x6c5b1e20,\n\t0x2071c: 0x6d329020,\n\t0x2072e: 0x6c6e6220,\n\t0x20731: 0x6c43d220,\n\t0x20734: 0x6ca9fa20, 0x20735: 0x6cbca220, 0x20737: 0x6c2e7e20,\n\t0x20739: 0x6c61c420, 0x2073a: 0x6d171e20, 0x2073b: 0x6d14b620,\n\t0x2073d: 0x6c3e2c20, 0x2073e: 0x6cd77220, 0x2073f: 0x6cd77420,\n\t// Block 0x81d, offset 0x20740\n\t0x20740: 0x6d1e1e20, 0x20741: 0x6c78fe20, 0x20742: 0x6c573020, 0x20743: 0x6c53b620,\n\t0x20747: 0x6c50ec20,\n\t0x2074a: 0x6c509620, 0x2074b: 0x6cb9f820,\n\t0x2074c: 0x6cb85020, 0x2074e: 0x6cd8a620,\n\t0x20750: 0x6c051e20,\n\t0x2076c: 0x6c6d9e20, 0x2076d: 0x6c789220,\n\t0x20773: 0x6c001a20,\n\t0x20774: 0x6c908020, 0x20776: 0x6ce84820,\n\t0x20779: 0x6c207020,\n\t0x2077c: 0x6cd98620, 0x2077d: 0x6c19d620, 0x2077f: 0x6cee6a20,\n\t// Block 0x81e, offset 0x20780\n\t0x20782: 0x6caa5220,\n\t0x20784: 0x6c6fb620, 0x20787: 0x6c0d2c20,\n\t0x207a1: 0x6cffda20, 0x207a2: 0x6cd0f820, 0x207a3: 0x6c545020,\n\t0x207a6: 0x6d3ad020,\n\t0x207a8: 0x6c490e20, 0x207a9: 0x6c5eb220, 0x207ab: 0x6c61dc20,\n\t0x207ad: 0x6cf5da20, 0x207af: 0x6ccf3e20,\n\t0x207b0: 0x6cab7e20, 0x207b1: 0x6c553c20, 0x207b2: 0x6cde4220, 0x207b3: 0x6cff7c20,\n\t0x207b5: 0x6d2a7c20,\n\t0x207b8: 0x6c0fee20, 0x207b9: 0x6cb77820, 0x207ba: 0x6cebd620, 0x207bb: 0x6ceabe20,\n\t0x207bc: 0x6c2a0c20, 0x207be: 0x6ca33020,\n\t// Block 0x81f, offset 0x207c0\n\t0x207e0: 0x6d2cee20, 0x207e3: 0x6d0b9020,\n\t0x207e6: 0x6cf44020, 0x207e7: 0x6d31aa20,\n\t0x207e8: 0x6c2a8e20, 0x207e9: 0x6c509a20, 0x207eb: 0x6c01ea20,\n\t0x207ec: 0x6cafda20, 0x207ed: 0x6ccb2220, 0x207ee: 0x6c3bbc20, 0x207ef: 0x6c485420,\n\t0x207f3: 0x6cb35420,\n\t0x207f7: 0x6d088820,\n\t0x207f8: 0x6c4d9c20, 0x207f9: 0x6c427420, 0x207fa: 0x6c034620, 0x207fb: 0x6d3f7620,\n\t0x207fc: 0x6c9c0020, 0x207fe: 0x6c5dba20,\n\t// Block 0x820, offset 0x20800\n\t0x20827: 0x6c2cc220,\n\t0x20828: 0x6cf5dc20, 0x2082b: 0x6c26ee20,\n\t0x2082c: 0x6ca47a20,\n\t0x20830: 0x6c2dbe20, 0x20831: 0x6c95f820, 0x20832: 0x6c789e20,\n\t0x20837: 0x6d178e20,\n\t0x20838: 0x6c744420, 0x20839: 0x6c512420, 0x2083b: 0x6c602c20,\n\t0x2083e: 0x6c51c620, 0x2083f: 0x6ca82820,\n\t// Block 0x821, offset 0x20840\n\t0x20840: 0x6cc8f620, 0x20841: 0x6cb99220, 0x20842: 0x6c276c20, 0x20843: 0x6cce6c20,\n\t0x20844: 0x6c78ae20, 0x20845: 0x6d3a1220, 0x20847: 0x6cd1b820,\n\t0x20848: 0x6c93da20, 0x20849: 0x6c635c20, 0x2084a: 0x6cb10c20, 0x2084b: 0x6c546e20,\n\t0x2084c: 0x6c5ec420, 0x2084d: 0x6cde5420, 0x2084e: 0x6c1dac20, 0x2084f: 0x6cf29020,\n\t0x20850: 0x6c6e8020, 0x20851: 0x6cb30e20, 0x20852: 0x6d2cf220, 0x20853: 0x6d02d420,\n\t0x20856: 0x6c0b9420,\n\t0x20859: 0x6d06ce20,\n\t0x2085e: 0x6c471020, 0x2085f: 0x6c6be620,\n\t0x20862: 0x6cfb6a20,\n\t0x20878: 0x6c356420, 0x2087a: 0x6c0f0020, 0x2087b: 0x6cb15420,\n\t0x2087f: 0x6d28ea20,\n\t// Block 0x822, offset 0x20880\n\t0x20881: 0x6cac2420, 0x20882: 0x6ce85a20,\n\t0x20884: 0x6d1bb420,\n\t0x208ae: 0x6cfde220,\n\t0x208b1: 0x6caaf420, 0x208b2: 0x6c438e20, 0x208b3: 0x6c0f0220,\n\t0x208b4: 0x6d01a420,\n\t0x208b8: 0x6d315c20, 0x208b9: 0x6d214620, 0x208ba: 0x6ca6a420,\n\t// Block 0x823, offset 0x208c0\n\t0x208c0: 0x6d0a9220, 0x208c1: 0x6cec3620, 0x208c3: 0x6c021820,\n\t0x208c4: 0x6c4ece20, 0x208c5: 0x6c52b220, 0x208c6: 0x6c27e220,\n\t0x208c8: 0x6caac220, 0x208ca: 0x6c12b020, 0x208cb: 0x6c604820,\n\t0x208cc: 0x6ca5ae20, 0x208cd: 0x6d1e4020, 0x208ce: 0x6cfed220,\n\t0x208d0: 0x6c1faa20, 0x208d1: 0x6d121020, 0x208d3: 0x6c440220,\n\t0x208d4: 0x6ce0fc20, 0x208d5: 0x6c065220, 0x208d6: 0x6c15be20,\n\t0x208d8: 0x6d06ec20, 0x208db: 0x6c4d2020,\n\t0x208dd: 0x6c1db620, 0x208df: 0x6c65a620,\n\t0x208e0: 0x6d422620,\n\t0x208e4: 0x6cf0a420, 0x208e5: 0x6c265220, 0x208e6: 0x6caf6c20,\n\t// Block 0x824, offset 0x20900\n\t0x20910: 0x6c592c20, 0x20912: 0x6cf63a20,\n\t0x20914: 0x6cae4c20, 0x20915: 0x6c8e3420, 0x20916: 0x6ca24a20, 0x20917: 0x6c9ec620,\n\t0x20918: 0x6c812020, 0x20919: 0x6ce9fe20, 0x2091a: 0x6c048420,\n\t0x2091d: 0x6c439820, 0x2091f: 0x6c7aa020,\n\t0x20922: 0x6c636a20, 0x20923: 0x6c0e7c20,\n\t// Block 0x825, offset 0x20940\n\t0x2094d: 0x6c592e20, 0x2094f: 0x6d40c420,\n\t0x20950: 0x6c960e20,\n\t0x20957: 0x6c840a20,\n\t0x20959: 0x6c515620, 0x2095a: 0x6ca06220,\n\t0x2095c: 0x6cd72a20, 0x2095d: 0x6cd00420, 0x2095e: 0x6c777020, 0x2095f: 0x6c1c4020,\n\t0x20960: 0x6c8d3420, 0x20961: 0x6c95ba20,\n\t0x20964: 0x6d0dae20, 0x20965: 0x6d2fc620, 0x20966: 0x6c1fae20, 0x20967: 0x6c47ac20,\n\t0x20968: 0x6cbde020, 0x2096a: 0x6cdff220, 0x2096b: 0x6c3be220,\n\t0x2096c: 0x6ce8d220,\n\t0x20971: 0x6c8d3620,\n\t0x20974: 0x6c810820,\n\t// Block 0x826, offset 0x20980\n\t0x20996: 0x6c7fa620, 0x20997: 0x6d299220,\n\t0x20998: 0x6cf50820,\n\t0x2099d: 0x6c840c20, 0x2099e: 0x6c000a20, 0x2099f: 0x6c94b620,\n\t0x209a0: 0x6d353e20, 0x209a1: 0x6c1dc820, 0x209a2: 0x6c67f020,\n\t0x209a4: 0x6c64c620,\n\t0x209a9: 0x6c950020, 0x209aa: 0x6d153020,\n\t0x209ac: 0x6cce0820,\n\t0x209bb: 0x6c5f0220,\n\t// Block 0x827, offset 0x209c0\n\t0x209dc: 0x6d181e20, 0x209dd: 0x6ca8ea20,\n\t0x209e1: 0x6c5c0a20, 0x209e3: 0x6d2bf020,\n\t0x209e6: 0x6c4e6020,\n\t0x209e8: 0x6d1afa20, 0x209e9: 0x6c0a1a20, 0x209ea: 0x6c014620, 0x209eb: 0x6cf97220,\n\t0x209ec: 0x6ca60020,\n\t0x209f0: 0x6c2b3e20, 0x209f1: 0x6c65cc20, 0x209f2: 0x6cac6820,\n\t0x209f5: 0x6d23bc20, 0x209f6: 0x6c1fc620, 0x209f7: 0x6d289820,\n\t0x209f9: 0x6c13fc20, 0x209fb: 0x6d307620,\n\t0x209fc: 0x6ccb4220, 0x209fe: 0x6cae3620, 0x209ff: 0x6c472820,\n\t// Block 0x828, offset 0x20a00\n\t0x20a00: 0x6d307820,\n\t0x20a06: 0x6c842420, 0x20a07: 0x6c30be20,\n\t0x20a09: 0x6c1dd020, 0x20a0b: 0x6d419620,\n\t0x20a0c: 0x6cb39e20, 0x20a0f: 0x6ccefc20,\n\t0x20a10: 0x6c8fa220,\n\t0x20a22: 0x6cd5fe20,\n\t0x20a24: 0x6c6d3a20, 0x20a25: 0x6c8d4820,\n\t0x20a28: 0x6c774220, 0x20a29: 0x6c7e9220, 0x20a2b: 0x6d05cc20,\n\t0x20a2c: 0x6c6d3c20, 0x20a2e: 0x6c1fea20,\n\t0x20a32: 0x6d26de20,\n\t// Block 0x829, offset 0x20a40\n\t0x20a46: 0x6c971820, 0x20a47: 0x6d020820,\n\t0x20a48: 0x6c6f8620, 0x20a49: 0x6c627420, 0x20a4b: 0x6d26e820,\n\t0x20a4f: 0x6c64f220,\n\t0x20a51: 0x6c4e3020, 0x20a53: 0x6cc98a20,\n\t0x20a54: 0x6c5c2820, 0x20a55: 0x6cbc5a20, 0x20a57: 0x6ccb5220,\n\t0x20a58: 0x6d419a20, 0x20a5b: 0x6c91d620,\n\t0x20a5c: 0x6c57c420, 0x20a5d: 0x6c1e6820, 0x20a5e: 0x6ccd5c20, 0x20a5f: 0x6cf31220,\n\t0x20a60: 0x6c60a220, 0x20a61: 0x6d3d9620, 0x20a62: 0x6cfb8c20, 0x20a63: 0x6d141020,\n\t0x20a64: 0x6c4c8820, 0x20a65: 0x6c7d1c20,\n\t// Block 0x82a, offset 0x20a80\n\t0x20a91: 0x6d38a820,\n\t0x20a94: 0x6c929e20, 0x20a96: 0x6c0e9020, 0x20a97: 0x6cd28a20,\n\t0x20a98: 0x6d1d4a20, 0x20a99: 0x6c7a5c20,\n\t0x20ab9: 0x6d36d820, 0x20aba: 0x6d00e820,\n\t0x20abd: 0x6d135420, 0x20abe: 0x6c36b420, 0x20abf: 0x6c940420,\n\t// Block 0x82b, offset 0x20ac0\n\t0x20ac0: 0x6c4f1420, 0x20ac1: 0x6d135620,\n\t0x20ac6: 0x6c962c20, 0x20ac7: 0x6c21dc20,\n\t0x20ac8: 0x6c397020, 0x20ac9: 0x6d34a020, 0x20aca: 0x6d1d5020, 0x20acb: 0x6cf1f220,\n\t0x20acc: 0x6cebf220, 0x20acd: 0x6c00d620, 0x20ace: 0x6d21b020,\n\t0x20ad1: 0x6c571a20, 0x20ad3: 0x6c8b3220,\n\t0x20ad4: 0x6c6dd620, 0x20ad5: 0x6d28ca20,\n\t0x20ae7: 0x6d29e820,\n\t0x20ae8: 0x6c336420, 0x20aea: 0x6c629220,\n\t0x20aee: 0x6cf2a220,\n\t0x20af0: 0x6c60ba20, 0x20af1: 0x6cf6e420, 0x20af3: 0x6d2e8620,\n\t0x20af4: 0x6ce95c20,\n\t// Block 0x82c, offset 0x20b00\n\t0x20b0a: 0x6d21b220,\n\t0x20b0f: 0x6c8b4620,\n\t0x20b12: 0x6d372420, 0x20b13: 0x6cd20a20,\n\t0x20b15: 0x6c81c220, 0x20b16: 0x6c7f6020, 0x20b17: 0x6cf03620,\n\t0x20b18: 0x6cad7220, 0x20b19: 0x6c1b6220, 0x20b1a: 0x6d1d1420, 0x20b1b: 0x6c314020,\n\t0x20b1d: 0x6c314220, 0x20b1f: 0x6c067620,\n\t0x20b20: 0x6cbcf020, 0x20b21: 0x6cd62020, 0x20b23: 0x6d34a820,\n\t0x20b29: 0x6c8b4820, 0x20b2b: 0x6caed620,\n\t0x20b2d: 0x6d300620,\n\t0x20b3f: 0x6cab5a20,\n\t// Block 0x82d, offset 0x20b40\n\t0x20b42: 0x6d023c20, 0x20b43: 0x6c60d820,\n\t0x20b44: 0x6c7f6220, 0x20b45: 0x6d1cb020, 0x20b46: 0x6c134c20,\n\t0x20b56: 0x6c820020,\n\t0x20b5d: 0x6c952820,\n\t0x20b61: 0x6c8fbc20, 0x20b62: 0x6cf91020,\n\t0x20b66: 0x6c8c7620,\n\t0x20b69: 0x6c4aa020,\n\t0x20b73: 0x6d03b020,\n\t0x20b77: 0x6c848620,\n\t0x20b78: 0x6c221620,\n\t// Block 0x82e, offset 0x20b80\n\t0x20b87: 0x6cbebc20,\n\t0x20b91: 0x6c652e20, 0x20b92: 0x6c2a4420, 0x20b93: 0x6c661420,\n\t0x20b94: 0x6cbee820, 0x20b95: 0x6d026e20, 0x20b96: 0x6d1d5a20,\n\t0x20b9f: 0x6c4d0020,\n\t0x20ba1: 0x6d311820, 0x20ba2: 0x6ccf0420, 0x20ba3: 0x6c9c9a20,\n\t0x20ba4: 0x6c58ba20,\n\t0x20bb1: 0x6c248220, 0x20bb2: 0x6cc7e820, 0x20bb3: 0x6cc95a20,\n\t0x20bb4: 0x6c5e4620, 0x20bb5: 0x6d143420, 0x20bb7: 0x6c2b4e20,\n\t0x20bb9: 0x6c949e20, 0x20bbb: 0x6d193e20,\n\t// Block 0x82f, offset 0x20bc0\n\t0x20bc2: 0x6c100020, 0x20bc3: 0x6cad1820,\n\t0x20bc4: 0x6ce04220, 0x20bc5: 0x6c35a420, 0x20bc6: 0x6d29ee20, 0x20bc7: 0x6c23c420,\n\t0x20bd3: 0x6d2d0a20,\n\t0x20bd5: 0x6cf82620, 0x20bd6: 0x6c98b020,\n\t0x20bd8: 0x6c7eca20, 0x20bd9: 0x6d287820,\n\t0x20be1: 0x6c36e620,\n\t0x20be5: 0x6c2f0e20,\n\t0x20bed: 0x6c493c20,\n\t0x20bf1: 0x6c596620,\n\t0x20bf5: 0x6cd40620, 0x20bf6: 0x6c663220,\n\t0x20bf9: 0x6d2dce20, 0x20bfa: 0x6c610620, 0x20bfb: 0x6c596820,\n\t// Block 0x830, offset 0x20c00\n\t0x20c05: 0x6cedb220, 0x20c06: 0x6c95d820,\n\t0x20c0f: 0x6c315620,\n\t0x20c15: 0x6c893c20,\n\t0x20c23: 0x6ca7ea20,\n\t0x20c24: 0x6ca41c20, 0x20c25: 0x6c6fc820, 0x20c26: 0x6d266c20,\n\t0x20c29: 0x6d108820, 0x20c2a: 0x6c204c20,\n\t0x20c2e: 0x6c11cc20, 0x20c2f: 0x6c84f820,\n\t0x20c30: 0x6c33d420, 0x20c31: 0x6ca41e20, 0x20c32: 0x6ca42020,\n\t0x20c38: 0x6cc63820,\n\t0x20c3d: 0x6d267820,\n\t// Block 0x831, offset 0x20c40\n\t0x20c40: 0x6d1ee620, 0x20c42: 0x6d19a420,\n\t0x20c44: 0x6c4c5820,\n\t0x20c48: 0x6c295420,\n\t0x20c51: 0x6d312620, 0x20c52: 0x6c9c3c20, 0x20c53: 0x6c2e6820,\n\t0x20c56: 0x6d312820,\n\t0x20c5a: 0x6c7abe20,\n\t0x20c5c: 0x6c4de220, 0x20c5d: 0x6cd98020, 0x20c5e: 0x6c50d020, 0x20c5f: 0x6c5e9620,\n\t0x20c60: 0x6d302e20,\n\t0x20c64: 0x6c0dd620, 0x20c66: 0x6ceef220, 0x20c67: 0x6ce7d220,\n\t0x20c69: 0x6ce88c20,\n\t0x20c6c: 0x6c426e20, 0x20c6d: 0x6c908220, 0x20c6e: 0x6cc2c820, 0x20c6f: 0x6c5d2220,\n\t0x20c70: 0x6d3ba420, 0x20c71: 0x6cc3b220, 0x20c73: 0x6c533a20,\n\t0x20c75: 0x6c296020, 0x20c76: 0x6c510420, 0x20c77: 0x6cdf6e20,\n\t0x20c78: 0x6c48ca20, 0x20c7a: 0x6d230220,\n\t0x20c7c: 0x6d0baa20, 0x20c7f: 0x6cec8c20,\n\t// Block 0x832, offset 0x20c80\n\t0x20c80: 0x6cc43820,\n\t0x20c85: 0x6c744620, 0x20c86: 0x6cab3820,\n\t0x20c89: 0x6cc29c20, 0x20c8a: 0x6d347220,\n\t0x20c8d: 0x6c8d1820, 0x20c8e: 0x6cf37020, 0x20c8f: 0x6d033c20,\n\t0x20c90: 0x6c26ae20, 0x20c92: 0x6d24f220, 0x20c93: 0x6d261e20,\n\t0x20c97: 0x6ca13820,\n\t0x20c99: 0x6d1f5420,\n\t0x20c9e: 0x6cf45820,\n\t0x20ca0: 0x6d2ebe20, 0x20ca3: 0x6d07b820,\n\t0x20ca6: 0x6cc53c20, 0x20ca7: 0x6c4be220,\n\t0x20ca8: 0x6d23be20,\n\t0x20cae: 0x6cf9fc20, 0x20caf: 0x6c0b5220,\n\t0x20cb0: 0x6d1f7e20, 0x20cb2: 0x6d1a1420,\n\t0x20cb4: 0x6d083220, 0x20cb5: 0x6d1f8c20, 0x20cb6: 0x6c827a20,\n\t0x20cbc: 0x6ce6a620, 0x20cbf: 0x6d311a20,\n\t// Block 0x833, offset 0x20cc0\n\t0x20cc4: 0x6d292420, 0x20cc5: 0x6c40ba20, 0x20cc6: 0x6c7e5620,\n\t0x20cc9: 0x6cc39e20,\n\t0x20cce: 0x6c70ec20,\n\t0x20cd0: 0x6c20fa20, 0x20cd1: 0x6c263e20, 0x20cd2: 0x6cea3a20, 0x20cd3: 0x6c001220,\n\t0x20cd7: 0x6d3edc20,\n\t0x20cda: 0x6c59a620, 0x20cdb: 0x6d167c20,\n\t0x20ce9: 0x6c062e20, 0x20cea: 0x6c1afc20,\n\t0x20ced: 0x6cc63a20,\n\t0x20cf4: 0x6c913220, 0x20cf7: 0x6c6a6c20,\n\t0x20cf8: 0x6cd30a20, 0x20cfa: 0x6d413620,\n\t// Block 0x834, offset 0x20d00\n\t0x20d01: 0x6d167e20,\n\t0x20d04: 0x6c3bc820, 0x20d05: 0x6c3bca20,\n\t0x20d09: 0x6ca0c420,\n\t0x20d0d: 0x6cd59a20,\n\t0x20d1b: 0x6c023e20,\n\t0x20d1d: 0x6cb05620, 0x20d1e: 0x6cb27820, 0x20d1f: 0x6cb2f820,\n\t0x20d20: 0x6c639e20, 0x20d21: 0x6d38ca20, 0x20d23: 0x6cbf9e20,\n\t0x20d27: 0x6d1fa620,\n\t0x20d28: 0x6cdfd020, 0x20d2b: 0x6cc6f620,\n\t0x20d2d: 0x6c9d2020,\n\t0x20d36: 0x6d16ac20,\n\t0x20d38: 0x6cc6fc20, 0x20d3b: 0x6c8ace20,\n\t0x20d3c: 0x6cbf0220,\n\t// Block 0x835, offset 0x20d40\n\t0x20d59: 0x6c5b2020, 0x20d5a: 0x6c61a020,\n\t0x20d5f: 0x6c433a20,\n\t0x20d67: 0x6d1f0420,\n\t0x20d68: 0x6c138220, 0x20d69: 0x6c2a6020, 0x20d6a: 0x6d19ac20,\n\t0x20d6c: 0x6d22de20, 0x20d6d: 0x6c06fc20, 0x20d6f: 0x6c0ed020,\n\t// Block 0x836, offset 0x20d80\n\t0x20d94: 0x6cbb6820,\n\t0x20d9a: 0x6c141c20,\n\t0x20d9c: 0x6d02be20, 0x20d9e: 0x6c1b1420,\n\t0x20da3: 0x6d2a7220,\n\t0x20da4: 0x6c7c6020, 0x20da6: 0x6c3aa220,\n\t0x20da9: 0x6cddea20, 0x20daa: 0x6c48f420,\n\t0x20dad: 0x6c342620,\n\t0x20db2: 0x6c4a5420,\n\t0x20db4: 0x6d345020,\n\t// Block 0x837, offset 0x20dc0\n\t0x20dcc: 0x6c15a620, 0x20dcd: 0x6ca4ec20,\n\t0x20dd0: 0x6c553e20, 0x20dd2: 0x6ce21820,\n\t0x20de1: 0x6d175620,\n\t0x20de4: 0x6ca82a20, 0x20de5: 0x6d2d3e20, 0x20de6: 0x6c587220,\n\t0x20de8: 0x6c325620, 0x20dea: 0x6cb78620, 0x20deb: 0x6c12e420,\n\t0x20dee: 0x6c20cc20,\n\t0x20df2: 0x6c264e20,\n\t0x20df6: 0x6d361820, 0x20df7: 0x6c453020,\n\t0x20dfb: 0x6cf26e20,\n\t// Block 0x838, offset 0x20e00\n\t0x20e09: 0x6c325820,\n\t0x20e0d: 0x6c1b2420,\n\t0x20e11: 0x6c01be20, 0x20e12: 0x6c7df820,\n\t0x20e14: 0x6cf2e820,\n\t0x20e18: 0x6d1bb620, 0x20e1a: 0x6cb13e20,\n\t0x20e2b: 0x6d2c3020,\n\t0x20e2c: 0x6d3b6420, 0x20e2e: 0x6cdac420,\n\t0x20e33: 0x6ca6a620,\n\t0x20e3a: 0x6d3a1420, 0x20e3b: 0x6c14fe20,\n\t0x20e3e: 0x6c084020, 0x20e3f: 0x6ca5f220,\n\t// Block 0x839, offset 0x20e40\n\t0x20e40: 0x6d347420, 0x20e41: 0x6c5bd420,\n\t0x20e58: 0x6cfa3a20, 0x20e5a: 0x6d364e20, 0x20e5b: 0x6cf63c20,\n\t0x20e5e: 0x6c67aa20,\n\t0x20e69: 0x6c330220, 0x20e6a: 0x6c3d7c20,\n\t0x20e6d: 0x6c685c20, 0x20e6e: 0x6c176820, 0x20e6f: 0x6c045020,\n\t0x20e75: 0x6c8b1e20,\n\t0x20e7c: 0x6c025a20,\n\t// Block 0x83a, offset 0x20e80\n\t0x20e8b: 0x6d2a1620,\n\t0x20e8c: 0x6c1f6020, 0x20e8f: 0x6ceb8620,\n\t0x20e92: 0x6c4fd220, 0x20e93: 0x6c773620,\n\t0x20e94: 0x6d1a7e20, 0x20e96: 0x6cfcea20,\n\t0x20e9d: 0x6c401820, 0x20e9e: 0x6c0cb620,\n\t0x20ea0: 0x6c7c4020,\n\t0x20ea4: 0x6cbcde20, 0x20ea5: 0x6cc98420,\n\t0x20ebf: 0x6c266220,\n\t// Block 0x83b, offset 0x20ec0\n\t0x20ec0: 0x6d12b220,\n\t0x20ec4: 0x6d2f0820, 0x20ec6: 0x6c896420,\n\t0x20ec8: 0x6c332620,\n\t0x20ecd: 0x6c816620, 0x20ece: 0x6d09a620,\n\t0x20ed8: 0x6d36a420, 0x20eda: 0x6c7a5a20,\n\t0x20ede: 0x6cdc6a20, 0x20edf: 0x6cf2a020,\n\t0x20ee3: 0x6c7a5e20,\n\t0x20eef: 0x6c65d420,\n\t0x20ef6: 0x6c67ba20,\n\t0x20efb: 0x6d3caa20,\n\t0x20efd: 0x6cd6dc20, 0x20efe: 0x6d219c20,\n\t// Block 0x83c, offset 0x20f00\n\t0x20f01: 0x6cc98c20, 0x20f03: 0x6d23e620,\n\t0x20f04: 0x6c803a20,\n\t0x20f0a: 0x6d240620,\n\t0x20f0c: 0x6cba2820, 0x20f0d: 0x6c72a220, 0x20f0f: 0x6c8b3420,\n\t0x20f12: 0x6cd53e20, 0x20f13: 0x6cfd1a20,\n\t0x20f16: 0x6c415420,\n\t0x20f22: 0x6cdf4420,\n\t0x20f27: 0x6ce52220,\n\t0x20f2f: 0x6c9c1020,\n\t0x20f31: 0x6c2ba220, 0x20f33: 0x6c9ddc20,\n\t0x20f3e: 0x6c5afa20,\n\t// Block 0x83d, offset 0x20f40\n\t0x20f49: 0x6c351c20,\n\t0x20f4d: 0x6c8b4a20,\n\t0x20f52: 0x6c7f6820, 0x20f53: 0x6d1aa820,\n\t0x20f54: 0x6c804620, 0x20f56: 0x6c68a020,\n\t0x20f58: 0x6c5e2620,\n\t0x20f63: 0x6c4c4c20,\n\t0x20f66: 0x6d2e9420,\n\t0x20f6d: 0x6c9d0820,\n\t0x20f70: 0x6c7c5020,\n\t0x20f77: 0x6c352620,\n\t0x20f7f: 0x6d1ab020,\n\t// Block 0x83e, offset 0x20f80\n\t0x20f87: 0x6c836020,\n\t0x20f95: 0x6c462a20,\n\t0x20f9b: 0x6ce6ac20,\n\t0x20f9c: 0x6d10c820, 0x20f9e: 0x6cedf620,\n\t0x20fa3: 0x6c6aa020,\n\t0x20fa8: 0x6d04c220, 0x20faa: 0x6cd5c020,\n\t0x20fb1: 0x6cf08c20,\n\t0x20fb4: 0x6d236620,\n\t// Block 0x83f, offset 0x20fc0\n\t0x20fc1: 0x6d2da620,\n\t0x20fc9: 0x6c01ee20,\n\t0x20fcf: 0x6cca9a20,\n\t0x20fd0: 0x6c1e0c20, 0x20fd2: 0x6c7ae220,\n\t0x20fd6: 0x6c71a020, 0x20fd7: 0x6c4d5220,\n\t0x20fe2: 0x6c9e0420,\n\t0x20fe7: 0x6c4f9420,\n\t0x20fea: 0x6c1d9e20,\n\t0x20fee: 0x6c8d1a20,\n\t0x20ff0: 0x6d3f9620,\n\t// Block 0x840, offset 0x21000\n\t0x21009: 0x6c7d4820,\n\t0x2100c: 0x6d378c20, 0x2100e: 0x6d2f5420,\n\t0x21010: 0x6c2f2e20, 0x21011: 0x6c467420, 0x21012: 0x6d279620, 0x21013: 0x6c27c620,\n\t0x21014: 0x6caada20,\n\t0x2101b: 0x6c0dd820,\n\t0x2101d: 0x6cc47420, 0x2101e: 0x6c14c420,\n\t0x21022: 0x6cc70620, 0x21023: 0x6d19c820,\n\t0x21024: 0x6c14c620, 0x21027: 0x6d361a20,\n\t0x2102a: 0x6c48f820, 0x2102b: 0x6caabe20,\n\t0x2102c: 0x6ccfe420, 0x2102f: 0x6cdac620,\n\t0x21032: 0x6cf2b820, 0x21033: 0x6c1bb220,\n\t0x2103a: 0x6c9ee220, 0x2103b: 0x6d347e20,\n\t0x2103e: 0x6cb50a20,\n\t// Block 0x841, offset 0x21040\n\t0x21041: 0x6c465820,\n\t0x21046: 0x6c90fa20,\n\t0x21048: 0x6d3ea020,\n\t0x2104d: 0x6c293a20, 0x2104f: 0x6cfc6820,\n\t0x21051: 0x6cc77e20,\n\t0x21057: 0x6caefe20,\n\t0x2105e: 0x6cf56c20,\n\t0x21062: 0x6c7aba20,\n\t0x21064: 0x6c4b2620, 0x21065: 0x6c212e20, 0x21066: 0x6c6baa20,\n\t0x21072: 0x6c6bac20, 0x21073: 0x6cf57820,\n\t0x21075: 0x6c7a1a20, 0x21077: 0x6c46ec20,\n\t0x21078: 0x6d2cac20, 0x21079: 0x6c392620,\n\t0x2107c: 0x6d015a20,\n\t// Block 0x842, offset 0x21080\n\t0x2108d: 0x6c585e20, 0x2108f: 0x6ca79020,\n\t0x21090: 0x6cf85820,\n\t0x2109b: 0x6c240820,\n\t0x2109d: 0x6c4bba20,\n\t0x210a1: 0x6cf5b620,\n\t0x210a7: 0x6cb83620,\n\t0x210aa: 0x6c981c20,\n\t0x210ad: 0x6d303220,\n\t0x210b0: 0x6c734620,\n\t0x210b4: 0x6c0ca020,\n\t// Block 0x843, offset 0x210c0\n\t0x210c0: 0x6c0ca220,\n\t0x210c5: 0x6cc2d620,\n\t0x210cb: 0x6cf88620,\n\t0x210ce: 0x6c68f020,\n\t0x210d0: 0x6cc2ea20, 0x210d1: 0x6d352620, 0x210d2: 0x6ce46820, 0x210d3: 0x6c762a20,\n\t0x210d8: 0x6cca1a20, 0x210db: 0x6d3e4c20,\n\t0x210e3: 0x6c6adc20,\n\t0x210ea: 0x6c0cec20,\n\t0x210ec: 0x6c312c20, 0x210ed: 0x6d417620,\n\t0x210f6: 0x6d0db020,\n\t// Block 0x844, offset 0x21100\n\t0x21101: 0x6c0a1c20,\n\t0x21105: 0x6c7b0020, 0x21107: 0x6d0eb620,\n\t0x21108: 0x6cef3820, 0x2110a: 0x6c583420,\n\t0x2110c: 0x6c506420,\n\t0x21111: 0x6c45b820,\n\t0x21114: 0x6c9b5420, 0x21117: 0x6c82e420,\n\t0x21119: 0x6c2cae20, 0x2111b: 0x6c0e0220,\n\t0x2111c: 0x6c584420, 0x2111f: 0x6cebfe20,\n\t0x21120: 0x6c751420,\n\t0x21128: 0x6c1bda20,\n\t0x2112d: 0x6c030e20, 0x2112e: 0x6c6fa420,\n\t0x21137: 0x6c2c0e20,\n\t0x21139: 0x6d2f1c20, 0x2113b: 0x6c26e620,\n\t0x2113c: 0x6cd23820, 0x2113d: 0x6c501420,\n\t// Block 0x845, offset 0x21140\n\t0x2114c: 0x6d12c020,\n\t0x21157: 0x6c091a20,\n\t0x21158: 0x6cb05020, 0x21159: 0x6d118820,\n\t0x2115c: 0x6c2b1420, 0x2115d: 0x6c11ee20, 0x2115e: 0x6cb20220, 0x2115f: 0x6d268420,\n\t0x21160: 0x6cbc7820, 0x21161: 0x6caf3220,\n\t0x21175: 0x6ceb7020, 0x21176: 0x6d015c20,\n\t0x2117d: 0x6d12cc20,\n\t// Block 0x846, offset 0x21180\n\t0x21180: 0x6c392820, 0x21181: 0x6c484620, 0x21182: 0x6c566e20, 0x21183: 0x6cc7fa20,\n\t0x21189: 0x6cc4b620, 0x2118a: 0x6c3d2020, 0x2118b: 0x6c598020,\n\t0x2119a: 0x6cc79020,\n\t0x211a2: 0x6c993020,\n\t0x211a5: 0x6c32f620, 0x211a6: 0x6c5b9820, 0x211a7: 0x6cf85a20,\n\t0x211a8: 0x6d04bc20, 0x211ab: 0x6cc4b820,\n\t0x211ac: 0x6d13d620, 0x211af: 0x6d303420,\n\t0x211b1: 0x6c61c620, 0x211b2: 0x6c434020, 0x211b3: 0x6d203820,\n\t0x211b5: 0x6cb40620,\n\t// Block 0x847, offset 0x211c0\n\t0x211c8: 0x6c1f2220, 0x211c9: 0x6c240a20, 0x211ca: 0x6d303620, 0x211cb: 0x6ca79220,\n\t0x211cd: 0x6cbca620,\n\t0x211d0: 0x6c13d220, 0x211d2: 0x6ca79420, 0x211d3: 0x6cdbb620,\n\t0x211d9: 0x6c13d420, 0x211da: 0x6c19da20, 0x211db: 0x6d10e020,\n\t0x211dc: 0x6c324820, 0x211dd: 0x6cedc820, 0x211df: 0x6ca76220,\n\t0x211e0: 0x6c9c4420,\n\t0x211e6: 0x6caa1620, 0x211e7: 0x6cf87820,\n\t0x211e9: 0x6d109820, 0x211eb: 0x6c14c820,\n\t// Block 0x848, offset 0x21200\n\t0x21218: 0x6d018c20, 0x21219: 0x6c9ed420, 0x2121a: 0x6c796420,\n\t0x2121c: 0x6c243a20, 0x2121e: 0x6cd13620, 0x2121f: 0x6cacb620,\n\t0x21220: 0x6c569c20, 0x21222: 0x6c78b020, 0x21223: 0x6cfcc220,\n\t0x21225: 0x6c53fa20, 0x21226: 0x6cbf2020, 0x21227: 0x6d3f8220,\n\t0x2122a: 0x6c3e7420, 0x2122b: 0x6ca3be20,\n\t0x2122d: 0x6ca69e20, 0x2122f: 0x6c7a7a20,\n\t0x2123e: 0x6ca59820,\n\t// Block 0x849, offset 0x21240\n\t0x2124d: 0x6c439020,\n\t0x21251: 0x6c53fc20, 0x21253: 0x6c002620,\n\t0x21255: 0x6cd1ba20,\n\t0x2125e: 0x6d04d420, 0x2125f: 0x6c230e20,\n\t0x21260: 0x6c684420, 0x21262: 0x6d2c3220, 0x21263: 0x6cfebe20,\n\t0x21264: 0x6c88f820, 0x21265: 0x6cc24820,\n\t0x21268: 0x6ccd4420, 0x21269: 0x6d01c020, 0x2126b: 0x6c461c20,\n\t0x2126c: 0x6c9ed820, 0x2126d: 0x6c148020, 0x2126f: 0x6c371620,\n\t0x21273: 0x6c312220,\n\t// Block 0x84a, offset 0x21280\n\t0x21286: 0x6c79f020,\n\t0x2128a: 0x6ce58a20, 0x2128b: 0x6cd1cc20,\n\t0x2128f: 0x6cca7020,\n\t0x21292: 0x6c491a20,\n\t0x21296: 0x6c505620, 0x21297: 0x6d367c20,\n\t0x21298: 0x6d106620, 0x21299: 0x6ce70020, 0x2129a: 0x6c09ee20,\n\t0x2129c: 0x6ca06420, 0x2129e: 0x6c3ebe20,\n\t0x212a5: 0x6cbb1420,\n\t0x212b9: 0x6d367e20,\n\t0x212bc: 0x6cd9ca20, 0x212bf: 0x6ca7a020,\n\t// Block 0x84b, offset 0x212c0\n\t0x212c0: 0x6c738020, 0x212c2: 0x6d105620,\n\t0x212c4: 0x6c599e20,\n\t0x212c8: 0x6c080020, 0x212c9: 0x6ca06620, 0x212ca: 0x6c176a20,\n\t0x212ce: 0x6c93a420, 0x212cf: 0x6cce8220,\n\t0x212d0: 0x6c104220, 0x212d1: 0x6d2b8820, 0x212d2: 0x6cd81020,\n\t0x212d4: 0x6d41c420, 0x212d5: 0x6d265620, 0x212d6: 0x6d294c20, 0x212d7: 0x6c948e20,\n\t0x212e5: 0x6cc1b020,\n\t0x212fa: 0x6c9e9820,\n\t// Block 0x84c, offset 0x21300\n\t0x21300: 0x6d3bd820,\n\t0x21308: 0x6c297e20, 0x2130a: 0x6d250a20,\n\t0x21312: 0x6c71d220,\n\t0x21315: 0x6c5b6020, 0x21316: 0x6cb7d020,\n\t0x21318: 0x6d285220, 0x2131a: 0x6c97fe20,\n\t0x2131c: 0x6ca0aa20,\n\t0x21331: 0x6cb16220, 0x21333: 0x6c6d4a20,\n\t0x21339: 0x6d10b820,\n\t// Block 0x84d, offset 0x21340\n\t0x21340: 0x6c1c6820, 0x21341: 0x6ca6c620, 0x21342: 0x6cd9de20,\n\t0x21348: 0x6cd61a20, 0x2134b: 0x6cb16420,\n\t0x21354: 0x6c4f1620,\n\t0x21360: 0x6d10be20, 0x21362: 0x6ca56020,\n\t0x2136a: 0x6cd3f020,\n\t0x2136c: 0x6d251820, 0x2136e: 0x6c114c20, 0x2136f: 0x6c6b5220,\n\t0x21379: 0x6d023e20,\n\t0x2137d: 0x6d0cec20, 0x2137e: 0x6cff3620,\n\t// Block 0x84e, offset 0x21380\n\t0x2138b: 0x6d025020,\n\t0x2138c: 0x6c86ec20, 0x2138e: 0x6c397620,\n\t0x21397: 0x6d3b3c20,\n\t0x21399: 0x6ca37220, 0x2139b: 0x6d3bb620,\n\t0x2139e: 0x6c7c4c20,\n\t0x213a2: 0x6c957020,\n\t0x213ab: 0x6cb83220,\n\t0x213b6: 0x6ceca820,\n\t0x213bd: 0x6cd54c20, 0x213bf: 0x6c1a7c20,\n\t// Block 0x84f, offset 0x213c0\n\t0x213c1: 0x6d164620,\n\t0x213c6: 0x6c500820,\n\t0x213c8: 0x6c698220, 0x213cb: 0x6c5b8e20,\n\t0x213cd: 0x6cffce20, 0x213ce: 0x6c222020,\n\t0x213de: 0x6c61a220,\n\t0x213e6: 0x6ca62e20,\n\t0x213e8: 0x6ca63420, 0x213e9: 0x6ce3bc20,\n\t0x213f6: 0x6c724820,\n\t0x213f8: 0x6ca04220,\n\t0x213fd: 0x6c83d220, 0x213ff: 0x6d382c20,\n\t// Block 0x850, offset 0x21400\n\t0x21401: 0x6d06d420, 0x21403: 0x6cbf3820,\n\t0x21404: 0x6c3e9620, 0x21406: 0x6c0d7e20,\n\t0x2140a: 0x6c621620,\n\t0x2140d: 0x6cb5f420, 0x2140e: 0x6cf89c20,\n\t0x21414: 0x6c2ada20, 0x21415: 0x6c376020,\n\t0x2141b: 0x6cd53220,\n\t0x2141c: 0x6ce77820, 0x2141d: 0x6cff9620, 0x2141f: 0x6cb01c20,\n\t0x21428: 0x6c284020, 0x2142a: 0x6c60da20,\n\t0x21433: 0x6d002020,\n\t0x21437: 0x6c23ca20,\n\t0x2143b: 0x6c0d1c20,\n\t0x2143c: 0x6cc6f020,\n\t// Block 0x851, offset 0x21440\n\t0x2144d: 0x6c9e4a20,\n\t0x21452: 0x6c9e4c20,\n\t0x21454: 0x6cd49c20, 0x21455: 0x6cff6c20, 0x21456: 0x6c05e420, 0x21457: 0x6cec2220,\n\t0x21459: 0x6cad8020,\n\t0x21463: 0x6c410e20,\n\t0x21465: 0x6c549c20, 0x21466: 0x6c525420,\n\t0x21468: 0x6d39f220, 0x21469: 0x6c48c420,\n\t0x2146d: 0x6c4b3820,\n\t0x21479: 0x6c273e20,\n\t0x2147c: 0x6c0d2820, 0x2147d: 0x6c5a4420,\n\t// Block 0x852, offset 0x21480\n\t0x21480: 0x6c13d620,\n\t0x21484: 0x6cfa3420, 0x21485: 0x6c710220, 0x21487: 0x6d119a20,\n\t0x21496: 0x6c3bb620, 0x21497: 0x6d2a7420,\n\t0x2149b: 0x6c3c3020,\n\t0x214a2: 0x6c708020, 0x214a3: 0x6d230a20,\n\t0x214a9: 0x6c5cbe20,\n\t0x214b2: 0x6c6ab020, 0x214b3: 0x6d049020,\n\t0x214b5: 0x6ca3ba20,\n\t0x214bb: 0x6caa1820,\n\t0x214bd: 0x6cd13820, 0x214bf: 0x6d233420,\n\t// Block 0x853, offset 0x214c0\n\t0x214c2: 0x6c587620, 0x214c3: 0x6c450c20,\n\t0x214c4: 0x6ced1620, 0x214c6: 0x6ceb1e20, 0x214c7: 0x6cbb7820,\n\t0x214d8: 0x6d1b5220, 0x214da: 0x6c635e20,\n\t0x214e1: 0x6cdd7220, 0x214e3: 0x6c6ade20,\n\t0x214e4: 0x6cf64020, 0x214e5: 0x6cf25020,\n\t0x214e9: 0x6c986620,\n\t0x214f6: 0x6d0fbe20,\n\t0x214f8: 0x6d110820,\n\t0x214fd: 0x6c986c20, 0x214fe: 0x6cab3e20,\n\t// Block 0x854, offset 0x21500\n\t0x21501: 0x6c017020,\n\t0x21505: 0x6c910c20,\n\t0x21511: 0x6c366e20, 0x21512: 0x6d3f1e20,\n\t0x21517: 0x6c367020,\n\t0x21519: 0x6c01c820,\n\t0x2151e: 0x6c5de220,\n\t0x21520: 0x6c135220,\n\t0x21530: 0x6d049c20, 0x21531: 0x6c625e20, 0x21533: 0x6d424e20,\n\t0x21535: 0x6cb63620,\n\t0x2153a: 0x6d32ee20,\n\t// Block 0x855, offset 0x21540\n\t0x21540: 0x6c5f2e20, 0x21541: 0x6cb52e20, 0x21542: 0x6c732420, 0x21543: 0x6ca91c20,\n\t0x2155f: 0x6ccb7220,\n\t0x21565: 0x6c51fa20, 0x21566: 0x6cc72c20, 0x21567: 0x6cbdec20,\n\t0x2156c: 0x6c70de20, 0x2156f: 0x6c86ee20,\n\t0x21575: 0x6cd29020,\n\t0x21578: 0x6ca6da20, 0x21579: 0x6cfbc420, 0x2157a: 0x6c3dbc20,\n\t0x2157d: 0x6cc80820,\n\t// Block 0x856, offset 0x21580\n\t0x21581: 0x6d04ac20, 0x21582: 0x6c4ba220,\n\t0x21584: 0x6c62e020, 0x21586: 0x6c9bf820, 0x21587: 0x6c3dc020,\n\t0x21589: 0x6cc9ee20, 0x2158a: 0x6d247820, 0x2158b: 0x6c69de20,\n\t0x2158c: 0x6c9c2220, 0x2158d: 0x6c900e20, 0x2158e: 0x6cbb0020,\n\t0x21590: 0x6c9cc620, 0x21593: 0x6d15a420,\n\t0x21596: 0x6c4dc620, 0x21597: 0x6ca6e620,\n\t0x21598: 0x6c81ee20, 0x21599: 0x6ccbbe20,\n\t0x2159c: 0x6c8c4220, 0x2159e: 0x6d22c220,\n\t0x215a5: 0x6caab020,\n\t0x215ab: 0x6cf4c020,\n\t0x215af: 0x6c0b3620,\n\t0x215b2: 0x6c0b3820, 0x215b3: 0x6d079620,\n\t0x215b5: 0x6c649620,\n\t0x215b8: 0x6c0b3c20,\n\t// Block 0x857, offset 0x215c0\n\t0x215c2: 0x6c2a7a20,\n\t0x215c7: 0x6d3b8620,\n\t0x215cb: 0x6cc72020,\n\t0x215d0: 0x6cd69820,\n\t0x215d8: 0x6c631820, 0x215db: 0x6c5b4a20,\n\t0x215de: 0x6d2d5c20,\n\t0x215e2: 0x6c042e20, 0x215e3: 0x6c8ac420,\n\t0x215e5: 0x6d003820,\n\t0x215ed: 0x6c656c20, 0x215ee: 0x6cd44020,\n\t0x215f3: 0x6c77ba20,\n\t0x215f7: 0x6c490c20,\n\t0x215f8: 0x6c949420,\n\t0x215fe: 0x6caa1a20, 0x215ff: 0x6c16e820,\n\t// Block 0x858, offset 0x21600\n\t0x2160e: 0x6c895220,\n\t0x21619: 0x6ca3c620, 0x2161a: 0x6cc80020,\n\t0x2161e: 0x6d368020,\n\t0x21626: 0x6c128620,\n\t0x21630: 0x6c867420,\n\t0x2163b: 0x6c7fcc20,\n\t0x2163f: 0x6c14e220,\n\t// Block 0x859, offset 0x21640\n\t0x21641: 0x6cedba20,\n\t0x21644: 0x6c856620, 0x21647: 0x6cf49620,\n\t0x21648: 0x6cad4220, 0x21649: 0x6d200a20, 0x2164b: 0x6c415e20,\n\t0x2164f: 0x6c011420,\n\t0x21650: 0x6d04b420, 0x21651: 0x6cd70420, 0x21652: 0x6cc8aa20,\n\t0x21658: 0x6c04b620, 0x21659: 0x6d1eea20,\n\t0x21662: 0x6c5d6e20,\n\t0x21665: 0x6c5a9c20,\n\t0x21668: 0x6d428c20, 0x21669: 0x6cfe9820, 0x2166b: 0x6c9dba20,\n\t0x21670: 0x6c40d620, 0x21671: 0x6d25e220, 0x21673: 0x6c0ff020,\n\t0x21674: 0x6c17ba20, 0x21675: 0x6ce9e220, 0x21677: 0x6c0ff220,\n\t0x2167d: 0x6c40d820, 0x2167f: 0x6ce55820,\n\t// Block 0x85a, offset 0x21680\n\t0x21680: 0x6ca2dc20,\n\t0x21685: 0x6c556a20, 0x21686: 0x6ca83c20,\n\t0x2168b: 0x6c5b3e20,\n\t0x2168c: 0x6c90ea20, 0x2168e: 0x6ce35020,\n\t0x21690: 0x6cbc5420, 0x21691: 0x6cbbee20, 0x21692: 0x6d380620,\n\t0x21696: 0x6c2b4220,\n\t0x2169a: 0x6c8bd820,\n\t0x2169d: 0x6cc32c20, 0x2169e: 0x6d3b9a20,\n\t0x216a0: 0x6c828e20, 0x216a2: 0x6d013620,\n\t0x216a5: 0x6cc56220,\n\t0x216a8: 0x6c28f620, 0x216aa: 0x6c316020, 0x216ab: 0x6ca71420,\n\t0x216af: 0x6cd2ae20,\n\t0x216b2: 0x6cfb2020,\n\t0x216b9: 0x6d343820,\n\t0x216bd: 0x6c008820, 0x216be: 0x6c21f220, 0x216bf: 0x6cb42a20,\n\t// Block 0x85b, offset 0x216c0\n\t0x216c1: 0x6cd2b620,\n\t0x216c5: 0x6cc0de20, 0x216c6: 0x6cd55020, 0x216c7: 0x6c2cbe20,\n\t0x216c9: 0x6cffa420, 0x216ca: 0x6cd70a20,\n\t0x216cc: 0x6c586020,\n\t0x216d0: 0x6d149220, 0x216d1: 0x6c72dc20,\n\t0x216d4: 0x6d34fc20,\n\t0x216dc: 0x6d2f9e20,\n\t0x216e3: 0x6d06a220,\n\t0x216ef: 0x6c905a20,\n\t0x216f1: 0x6d3aca20, 0x216f3: 0x6cdd5620,\n\t0x216f7: 0x6c2e8020,\n\t0x216fa: 0x6cc18420,\n\t0x216fc: 0x6c78a220, 0x216fd: 0x6c54ba20, 0x216fe: 0x6c708220,\n\t// Block 0x85c, offset 0x21700\n\t0x21700: 0x6cbea420,\n\t0x2170d: 0x6c0dae20,\n\t0x21715: 0x6ce3f220, 0x21717: 0x6c744820,\n\t0x2171a: 0x6cc05a20,\n\t0x21723: 0x6c67e420,\n\t0x2172a: 0x6d282e20,\n\t0x2172d: 0x6c9a9a20, 0x2172e: 0x6caf6e20,\n\t0x21730: 0x6cc1a020,\n\t0x2173c: 0x6c9d5220, 0x2173f: 0x6ce3fe20,\n\t// Block 0x85d, offset 0x21740\n\t0x21742: 0x6c768c20,\n\t0x21744: 0x6c08e820, 0x21746: 0x6cc11c20,\n\t0x2174f: 0x6ce56620,\n\t0x21751: 0x6c1f6c20,\n\t0x21758: 0x6c714a20, 0x2175a: 0x6cf69620,\n\t0x2175e: 0x6c8c5e20,\n\t0x2176d: 0x6c1bca20, 0x2176e: 0x6c5f7e20,\n\t0x21774: 0x6c917a20,\n\t0x21778: 0x6c876220,\n\t0x2177e: 0x6c73c820,\n\t// Block 0x85e, offset 0x21780\n\t0x21785: 0x6d397c20, 0x21786: 0x6c921020,\n\t0x2178e: 0x6ca7f620,\n\t0x21794: 0x6cc2c020,\n\t0x217ad: 0x6d0b6820, 0x217af: 0x6c35c220,\n\t0x217b1: 0x6c564020,\n\t// Block 0x85f, offset 0x217c0\n\t0x217c0: 0x6c982620,\n\t0x217c9: 0x6cf4a020,\n\t0x217cc: 0x6c137620,\n\t0x217d1: 0x6cbd1820, 0x217d2: 0x6c6a6220, 0x217d3: 0x6c52f420,\n\t0x217d5: 0x6c27b620, 0x217d6: 0x6c371c20, 0x217d7: 0x6d2b3a20,\n\t0x217d8: 0x6c565220, 0x217d9: 0x6c020e20, 0x217da: 0x6c6bb220, 0x217db: 0x6c3faa20,\n\t0x217dc: 0x6d1e7020, 0x217de: 0x6c3c1a20,\n\t0x217ec: 0x6ca26620,\n\t0x217f6: 0x6ccb1620, 0x217f7: 0x6c238a20,\n\t0x217fb: 0x6c772220,\n\t// Block 0x860, offset 0x21800\n\t0x21802: 0x6d11ea20, 0x21803: 0x6c008c20,\n\t0x21804: 0x6c05a620, 0x21806: 0x6cb34c20,\n\t0x21808: 0x6cd2b820, 0x21809: 0x6c392a20, 0x2180b: 0x6c70f420,\n\t0x2180c: 0x6cafb420, 0x2180e: 0x6cf07420, 0x2180f: 0x6c7a2220,\n\t0x21810: 0x6cbc8620, 0x21811: 0x6c417220,\n\t0x21822: 0x6c7be220, 0x21823: 0x6cdc2420,\n\t0x21824: 0x6c07d620, 0x21825: 0x6c632820, 0x21826: 0x6d0b8020,\n\t0x2182a: 0x6c76fe20, 0x2182b: 0x6ca7f820,\n\t0x2182d: 0x6d03cc20, 0x2182f: 0x6cf85c20,\n\t0x21831: 0x6c8c4a20, 0x21832: 0x6c347e20,\n\t0x21834: 0x6c159a20,\n\t// Block 0x861, offset 0x21840\n\t0x21848: 0x6cd32e20, 0x2184b: 0x6c334020,\n\t0x2184d: 0x6c675020, 0x2184e: 0x6d222a20, 0x2184f: 0x6c922020,\n\t0x21850: 0x6c372020, 0x21853: 0x6c476420,\n\t0x21855: 0x6cefa020, 0x21856: 0x6c17d620, 0x21857: 0x6c590020,\n\t0x21858: 0x6c0ce220, 0x2185b: 0x6c4e9420,\n\t0x2185c: 0x6ce99e20, 0x2185d: 0x6ca32420, 0x2185e: 0x6cb6e620,\n\t0x21860: 0x6ce7e820, 0x21861: 0x6d24d220, 0x21862: 0x6cede020,\n\t0x21864: 0x6cf3b020, 0x21865: 0x6c434220,\n\t0x21868: 0x6c792e20, 0x2186a: 0x6d14ba20,\n\t0x21878: 0x6cfe9a20, 0x2187a: 0x6c4ae420, 0x2187b: 0x6d0b8c20,\n\t0x2187c: 0x6cdc2e20, 0x2187d: 0x6cd95420, 0x2187f: 0x6d3d3820,\n\t// Block 0x862, offset 0x21880\n\t0x21882: 0x6ce84a20, 0x21883: 0x6cfbf420,\n\t0x21888: 0x6d2b4420, 0x21889: 0x6c85c620,\n\t0x2188c: 0x6d3acc20, 0x2188e: 0x6c6aa220,\n\t0x21891: 0x6ce3e820,\n\t0x21894: 0x6d009c20, 0x21895: 0x6cbf1220, 0x21897: 0x6d0b9420,\n\t0x21898: 0x6c708620, 0x2189b: 0x6d1a5a20,\n\t0x2189c: 0x6d345220, 0x2189e: 0x6c76d020, 0x2189f: 0x6d3e2220,\n\t0x218a1: 0x6c77f420, 0x218a3: 0x6ca81220,\n\t0x218a4: 0x6cbb0620, 0x218a5: 0x6ced0220, 0x218a6: 0x6d2abc20,\n\t0x218a8: 0x6c708820, 0x218aa: 0x6d3f4220,\n\t// Block 0x863, offset 0x218c0\n\t0x218c4: 0x6d0b9620, 0x218c7: 0x6c8bae20,\n\t0x218c9: 0x6cb5c020,\n\t0x218ce: 0x6c5b3420,\n\t0x218d3: 0x6cb77a20,\n\t0x218d5: 0x6d0fa820, 0x218d6: 0x6cdc3620,\n\t0x218d8: 0x6cb6f220, 0x218d9: 0x6c4a5620,\n\t0x218e2: 0x6cbe1020, 0x218e3: 0x6c353e20,\n\t0x218e5: 0x6d429820,\n\t0x218e8: 0x6d2b4820, 0x218e9: 0x6cb77c20, 0x218ea: 0x6c602e20,\n\t0x218ec: 0x6ceb2020, 0x218ed: 0x6c2e9c20, 0x218ef: 0x6c5bbe20,\n\t0x218f0: 0x6c98e420, 0x218f2: 0x6d063e20,\n\t0x218f5: 0x6c53fe20, 0x218f6: 0x6d0d7c20, 0x218f7: 0x6cfdc220,\n\t0x218f8: 0x6c231020, 0x218f9: 0x6c555820,\n\t0x218fc: 0x6c01c020, 0x218fe: 0x6c0de420,\n\t// Block 0x864, offset 0x21900\n\t0x21907: 0x6c348e20,\n\t0x21910: 0x6d3a6a20, 0x21911: 0x6c2e9e20, 0x21912: 0x6d1ea220, 0x21913: 0x6cb6fa20,\n\t0x21914: 0x6cd26820, 0x21915: 0x6d099a20, 0x21916: 0x6d1ea420, 0x21917: 0x6c76ae20,\n\t0x21918: 0x6cbc2420, 0x2191b: 0x6cbab620,\n\t0x2191c: 0x6cae3e20, 0x2191f: 0x6cc2ee20,\n\t0x21921: 0x6d1c6e20,\n\t0x21927: 0x6ccbf220,\n\t0x2192b: 0x6ce1d020,\n\t0x2192d: 0x6c53c020, 0x2192e: 0x6cb06220, 0x2192f: 0x6d110a20,\n\t0x21934: 0x6ce8bc20, 0x21935: 0x6c148220, 0x21937: 0x6cfa3c20,\n\t0x21938: 0x6cb5f620, 0x2193a: 0x6cbf3a20,\n\t0x2193d: 0x6c6d1220,\n\t// Block 0x865, offset 0x21940\n\t0x21948: 0x6d316020,\n\t0x2194c: 0x6d39ae20, 0x2194e: 0x6cf64420,\n\t0x21950: 0x6cf22a20, 0x21951: 0x6d37f820,\n\t0x21955: 0x6cdc4420,\n\t0x21958: 0x6c781020, 0x21959: 0x6c7e0c20, 0x2195a: 0x6c777220,\n\t0x2195d: 0x6c176c20, 0x2195e: 0x6c09f020, 0x2195f: 0x6ca13a20,\n\t0x21960: 0x6d3b1220, 0x21961: 0x6c4edc20, 0x21962: 0x6d227820, 0x21963: 0x6d153220,\n\t0x21964: 0x6c966c20, 0x21967: 0x6cb7aa20,\n\t0x21968: 0x6c4c0020, 0x21969: 0x6c97e420, 0x2196a: 0x6c89f420, 0x2196b: 0x6c8bc020,\n\t0x2196c: 0x6d40c620, 0x2196d: 0x6c82cc20, 0x2196e: 0x6c56b220, 0x2196f: 0x6c209220,\n\t0x21970: 0x6cb7ac20, 0x21971: 0x6c824420,\n\t// Block 0x866, offset 0x21980\n\t0x21981: 0x6c1ac420, 0x21983: 0x6cb33020,\n\t0x21984: 0x6c2eca20,\n\t0x2198a: 0x6c82ce20,\n\t0x2198e: 0x6d160420,\n\t0x21993: 0x6c2d7620,\n\t0x21996: 0x6c33a420, 0x21997: 0x6c42d620,\n\t0x21998: 0x6c54f220, 0x2199a: 0x6cff0020, 0x2199b: 0x6c40ca20,\n\t0x2199c: 0x6cae8020,\n\t0x219ac: 0x6cd06a20,\n\t0x219b1: 0x6cef2a20,\n\t0x219bb: 0x6c335820,\n\t0x219bc: 0x6c177220, 0x219bd: 0x6d1b0420, 0x219be: 0x6c7b3a20, 0x219bf: 0x6c7a6020,\n\t// Block 0x867, offset 0x219c0\n\t0x219c1: 0x6d41ce20, 0x219c2: 0x6c47ca20,\n\t0x219c5: 0x6d285420, 0x219c6: 0x6d36da20,\n\t0x219c9: 0x6c629420, 0x219ca: 0x6c199020,\n\t0x219d6: 0x6d020e20,\n\t0x219db: 0x6d419e20,\n\t0x219dc: 0x6c017420, 0x219dd: 0x6c4fb220,\n\t0x219e0: 0x6cb36020, 0x219e2: 0x6c2b9820, 0x219e3: 0x6d135820,\n\t0x219e7: 0x6ca4c420,\n\t0x219f1: 0x6c6b4220, 0x219f2: 0x6c059220, 0x219f3: 0x6c804020,\n\t0x219f4: 0x6c124820, 0x219f6: 0x6c0a6620,\n\t0x219fb: 0x6d2e1a20,\n\t0x219fc: 0x6cb7e620,\n\t// Block 0x868, offset 0x21a00\n\t0x21a02: 0x6ca4c620,\n\t0x21a05: 0x6c940c20, 0x21a07: 0x6c7c0a20,\n\t0x21a09: 0x6ca08420, 0x21a0b: 0x6c82e620,\n\t0x21a0c: 0x6cad7420,\n\t0x21a12: 0x6c86c420, 0x21a13: 0x6c136420,\n\t0x21a15: 0x6c299820, 0x21a16: 0x6c82e820,\n\t0x21a19: 0x6c36cc20, 0x21a1b: 0x6c086020,\n\t0x21a1c: 0x6c74e820,\n\t0x21a25: 0x6d083420, 0x21a26: 0x6ca89420,\n\t0x21a28: 0x6c4d7c20,\n\t0x21a2e: 0x6cfc4220,\n\t0x21a30: 0x6c661620, 0x21a31: 0x6c9c9e20, 0x21a32: 0x6ca8a020,\n\t0x21a3b: 0x6c124a20,\n\t0x21a3c: 0x6cd97820, 0x21a3d: 0x6d2ba820, 0x21a3e: 0x6d194220,\n\t// Block 0x869, offset 0x21a40\n\t0x21a42: 0x6c1d3020,\n\t0x21a44: 0x6c125020,\n\t0x21a49: 0x6c830620, 0x21a4a: 0x6caad220, 0x21a4b: 0x6c876420,\n\t0x21a4e: 0x6c84ba20, 0x21a4f: 0x6c957220,\n\t0x21a53: 0x6ce18a20,\n\t0x21a56: 0x6ca8c420, 0x21a57: 0x6ca8c620,\n\t0x21a59: 0x6c5fae20, 0x21a5b: 0x6c831220,\n\t0x21a5d: 0x6ca48020,\n\t0x21a60: 0x6c8c1420, 0x21a61: 0x6c8dce20,\n\t0x21a64: 0x6cfbe220, 0x21a65: 0x6d24a820, 0x21a67: 0x6d28ec20,\n\t0x21a68: 0x6cc34a20, 0x21a69: 0x6c8ac020,\n\t0x21a6f: 0x6d22ce20,\n\t0x21a70: 0x6c597620,\n\t0x21a7a: 0x6ca4de20,\n\t0x21a7c: 0x6d0a7820, 0x21a7e: 0x6c711020, 0x21a7f: 0x6c5dbc20,\n\t// Block 0x86a, offset 0x21a80\n\t0x21a81: 0x6d179420,\n\t0x21a8a: 0x6cf71420, 0x21a8b: 0x6ccb8a20,\n\t0x21a8c: 0x6c697020, 0x21a8d: 0x6d1de020,\n\t0x21a95: 0x6cd18c20, 0x21a96: 0x6c6d8420, 0x21a97: 0x6ced6e20,\n\t0x21a98: 0x6d129e20, 0x21a99: 0x6c6f4420,\n\t0x21a9c: 0x6c45d020,\n\t0x21aa1: 0x6c5aa020,\n\t0x21aaa: 0x6c37a420,\n\t0x21ab5: 0x6c4e7a20,\n\t0x21abc: 0x6c3e3020,\n\t// Block 0x86b, offset 0x21ac0\n\t0x21ac0: 0x6c3e4a20, 0x21ac1: 0x6d3d4a20, 0x21ac2: 0x6c5eb620,\n\t0x21acf: 0x6c053a20,\n\t0x21ad2: 0x6cb56620, 0x21ad3: 0x6cd2a620,\n\t0x21ad5: 0x6c2df420, 0x21ad6: 0x6cadfa20, 0x21ad7: 0x6cfbe420,\n\t0x21ad8: 0x6cc9f620,\n\t0x21add: 0x6c169220, 0x21ade: 0x6d264620,\n\t0x21ae0: 0x6c455820, 0x21ae2: 0x6cf34220,\n\t0x21ae4: 0x6c3b0a20, 0x21ae7: 0x6c159020,\n\t0x21ae9: 0x6ca58420, 0x21aea: 0x6c73d820,\n\t0x21aec: 0x6d2f8220, 0x21aee: 0x6cb96c20,\n\t0x21af1: 0x6c029820,\n\t0x21af6: 0x6cedf820, 0x21af7: 0x6d379020,\n\t0x21af9: 0x6c597820, 0x21afb: 0x6c106620,\n\t0x21afc: 0x6d3a5a20, 0x21afd: 0x6c092e20, 0x21afe: 0x6c173620, 0x21aff: 0x6d328620,\n\t// Block 0x86c, offset 0x21b00\n\t0x21b00: 0x6c3de620, 0x21b01: 0x6c79b820, 0x21b03: 0x6d422c20,\n\t0x21b04: 0x6d086c20, 0x21b06: 0x6c3fb220,\n\t0x21b0a: 0x6d118a20,\n\t0x21b0d: 0x6c0e4e20, 0x21b0f: 0x6c06e220,\n\t0x21b10: 0x6d007c20, 0x21b11: 0x6cd33020, 0x21b12: 0x6d149620,\n\t0x21b14: 0x6c531020, 0x21b15: 0x6c251c20, 0x21b17: 0x6d16e620,\n\t0x21b18: 0x6d3b7620,\n\t0x21b1d: 0x6c1bf620,\n\t0x21b24: 0x6cb2fe20,\n\t0x21b28: 0x6d1a3a20,\n\t0x21b31: 0x6d260a20,\n\t0x21b36: 0x6c6edc20,\n\t0x21b39: 0x6c995c20, 0x21b3a: 0x6cba4820,\n\t0x21b3c: 0x6d172420,\n\t// Block 0x86d, offset 0x21b40\n\t0x21b40: 0x6cf3b220,\n\t0x21b4d: 0x6c069820, 0x21b4e: 0x6c5dbe20, 0x21b4f: 0x6c239420,\n\t0x21b50: 0x6c797220,\n\t0x21b55: 0x6cde4820, 0x21b57: 0x6c4ea620,\n\t0x21b58: 0x6cba4e20,\n\t0x21b5c: 0x6d345420,\n\t0x21b62: 0x6ccb2420,\n\t0x21b65: 0x6cb8d620, 0x21b66: 0x6c4cb420,\n\t0x21b69: 0x6c4bbe20,\n\t0x21b6c: 0x6c649820, 0x21b6d: 0x6d37b820, 0x21b6e: 0x6c9e2220, 0x21b6f: 0x6c4afa20,\n\t0x21b70: 0x6cd37e20, 0x21b71: 0x6ca1d220, 0x21b72: 0x6c363220, 0x21b73: 0x6c039e20,\n\t0x21b74: 0x6c7e7220,\n\t0x21b78: 0x6d392820, 0x21b7a: 0x6c603020,\n\t// Block 0x86e, offset 0x21b80\n\t0x21b80: 0x6d2a4a20,\n\t0x21b84: 0x6d2bd820, 0x21b85: 0x6d179820, 0x21b87: 0x6c468420,\n\t0x21b8a: 0x6c4a6e20, 0x21b8b: 0x6d1bc420,\n\t0x21b8c: 0x6ccc9820, 0x21b8d: 0x6c513420, 0x21b8e: 0x6c057820, 0x21b8f: 0x6ca12a20,\n\t0x21b90: 0x6c9b1e20, 0x21b93: 0x6cf4fe20,\n\t0x21b94: 0x6c277620, 0x21b97: 0x6c6f1620,\n\t0x21b9c: 0x6c4ed020, 0x21b9f: 0x6ce70220,\n\t0x21ba0: 0x6c79be20, 0x21ba1: 0x6c841220, 0x21ba2: 0x6d368220, 0x21ba3: 0x6c5bf420,\n\t0x21ba4: 0x6d296e20, 0x21ba6: 0x6c2dfc20, 0x21ba7: 0x6c244420,\n\t0x21bb1: 0x6d368420, 0x21bb3: 0x6c7adc20,\n\t0x21bb5: 0x6cfe4a20, 0x21bb6: 0x6c57ba20, 0x21bb7: 0x6c8a0c20,\n\t0x21bb8: 0x6c255620, 0x21bb9: 0x6cbb9a20, 0x21bba: 0x6c692420,\n\t0x21bbc: 0x6d05d020, 0x21bbd: 0x6c37da20, 0x21bbf: 0x6cead020,\n\t// Block 0x86f, offset 0x21bc0\n\t0x21bc0: 0x6ce00020, 0x21bc1: 0x6d36a820,\n\t0x21bc8: 0x6ca51020, 0x21bc9: 0x6c99ac20, 0x21bca: 0x6c2c8c20, 0x21bcb: 0x6c135820,\n\t0x21bce: 0x6c693a20, 0x21bcf: 0x6c884820,\n\t0x21bd1: 0x6ccc1820, 0x21bd2: 0x6c28aa20,\n\t0x21bd5: 0x6cdc6c20, 0x21bd6: 0x6c884a20, 0x21bd7: 0x6c4cf020,\n\t0x21bda: 0x6c0c7c20,\n\t0x21bdc: 0x6c22e220, 0x21bdd: 0x6c2d7e20, 0x21bde: 0x6c93fc20, 0x21bdf: 0x6ca64e20,\n\t0x21be0: 0x6d0dda20, 0x21be1: 0x6c7fbc20,\n\t0x21be4: 0x6c415620, 0x21be5: 0x6c1eb420,\n\t0x21be9: 0x6c0a8820, 0x21bea: 0x6d40ea20, 0x21beb: 0x6c5c6620,\n\t0x21bed: 0x6c7f4220, 0x21bee: 0x6cfbba20, 0x21bef: 0x6c3bfc20,\n\t0x21bf0: 0x6c520220,\n\t0x21bf9: 0x6d124020, 0x21bfa: 0x6d2e3220,\n\t0x21bfc: 0x6ca56620, 0x21bfe: 0x6c95d020,\n\t// Block 0x870, offset 0x21c00\n\t0x21c00: 0x6d25d620, 0x21c02: 0x6ca5ac20,\n\t0x21c09: 0x6cc58220,\n\t0x21c1c: 0x6c43e820, 0x21c1e: 0x6c65a820, 0x21c1f: 0x6cb2b420,\n\t0x21c23: 0x6c0d1620,\n\t0x21c26: 0x6c66d020,\n\t0x21c29: 0x6c0e2e20,\n\t0x21c2f: 0x6c9d1820,\n\t0x21c30: 0x6c563420,\n\t0x21c34: 0x6c2df220, 0x21c36: 0x6d1e8c20, 0x21c37: 0x6d108c20,\n\t0x21c38: 0x6c07d020, 0x21c3a: 0x6c189820, 0x21c3b: 0x6c5e8c20,\n\t0x21c3d: 0x6d108e20,\n\t// Block 0x871, offset 0x21c40\n\t0x21c47: 0x6c491020,\n\t0x21c48: 0x6d0e5e20,\n\t0x21c55: 0x6c1bc820, 0x21c57: 0x6ccc3a20,\n\t0x21c58: 0x6d0d3820, 0x21c59: 0x6d165e20, 0x21c5a: 0x6d166020, 0x21c5b: 0x6c17fc20,\n\t0x21c5e: 0x6c4e8220, 0x21c5f: 0x6c597420,\n\t0x21c64: 0x6cd71020, 0x21c65: 0x6cdc2220, 0x21c66: 0x6cc56820, 0x21c67: 0x6cdfcc20,\n\t0x21c68: 0x6d34e420, 0x21c6a: 0x6c391e20, 0x21c6b: 0x6c3cc620,\n\t0x21c70: 0x6cdfce20, 0x21c72: 0x6c9c3620, 0x21c73: 0x6cafb620,\n\t0x21c74: 0x6c106820, 0x21c75: 0x6ca30e20, 0x21c76: 0x6ce48220, 0x21c77: 0x6c036620,\n\t0x21c78: 0x6d16b020,\n\t// Block 0x872, offset 0x21c80\n\t0x21c82: 0x6d0d4820,\n\t0x21c84: 0x6ce54c20, 0x21c86: 0x6d10ce20, 0x21c87: 0x6cd04c20,\n\t0x21c88: 0x6c77dc20, 0x21c89: 0x6ce72420, 0x21c8b: 0x6d084420,\n\t0x21c93: 0x6d202820,\n\t0x21c95: 0x6c043a20,\n\t0x21c99: 0x6cf9a220, 0x21c9a: 0x6c938420, 0x21c9b: 0x6c7dce20,\n\t0x21c9c: 0x6d29d220, 0x21c9d: 0x6cc02c20,\n\t0x21ca0: 0x6c243020, 0x21ca1: 0x6d416a20, 0x21ca2: 0x6c90e020,\n\t0x21ca4: 0x6cf9a420,\n\t0x21caf: 0x6ccfca20,\n\t0x21cb2: 0x6cb43020,\n\t0x21cb4: 0x6c6da620, 0x21cb5: 0x6cbaae20, 0x21cb6: 0x6d175820,\n\t0x21cb8: 0x6ca81420, 0x21cb9: 0x6c32fc20, 0x21cbb: 0x6c6ab420,\n\t0x21cbc: 0x6cdc3820, 0x21cbd: 0x6d2e5820, 0x21cbe: 0x6c23e420,\n\t// Block 0x873, offset 0x21cc0\n\t0x21cc1: 0x6c07e420, 0x21cc2: 0x6c491220, 0x21cc3: 0x6ccf2a20,\n\t0x21cc5: 0x6c6cfe20, 0x21cc6: 0x6c2c3e20,\n\t0x21cd1: 0x6c27d220, 0x21cd3: 0x6ca3a220,\n\t0x21cd5: 0x6ca9fc20, 0x21cd7: 0x6c601820,\n\t0x21cd8: 0x6d0c8220, 0x21cda: 0x6caa2020,\n\t0x21cdc: 0x6c325a20, 0x21cdd: 0x6cf09020, 0x21cde: 0x6cb0f420,\n\t0x21ce2: 0x6c555a20,\n\t0x21ce4: 0x6c644020, 0x21ce5: 0x6d12ee20, 0x21ce6: 0x6c759220, 0x21ce7: 0x6c7f9c20,\n\t0x21ce8: 0x6c7e7420, 0x21ce9: 0x6d19de20,\n\t0x21ced: 0x6ce9a220,\n\t0x21cf5: 0x6ca4f620,\n\t0x21cfa: 0x6d411c20,\n\t0x21cff: 0x6c96c220,\n\t// Block 0x874, offset 0x21d00\n\t0x21d00: 0x6cd7f020, 0x21d01: 0x6d365420,\n\t0x21d04: 0x6c5ac020, 0x21d05: 0x6d3c8e20, 0x21d07: 0x6c5bd820,\n\t0x21d0d: 0x6c1e8c20, 0x21d0f: 0x6c182420,\n\t0x21d12: 0x6d04da20, 0x21d13: 0x6c7fa220,\n\t0x21d15: 0x6c232620, 0x21d16: 0x6cd0bc20, 0x21d17: 0x6ca13c20,\n\t0x21d18: 0x6d140220, 0x21d19: 0x6d111a20, 0x21d1a: 0x6cf7fa20, 0x21d1b: 0x6d419020,\n\t0x21d1c: 0x6c0e2820,\n\t0x21d27: 0x6d216c20,\n\t0x21d29: 0x6c927e20,\n\t0x21d2e: 0x6ce9b620, 0x21d2f: 0x6ceffe20,\n\t0x21d31: 0x6c3b8820, 0x21d32: 0x6cd06c20,\n\t0x21d3b: 0x6c8a0e20,\n\t// Block 0x875, offset 0x21d40\n\t0x21d42: 0x6cd56a20, 0x21d43: 0x6c284220,\n\t0x21d44: 0x6c732620, 0x21d45: 0x6d21a020, 0x21d46: 0x6d034a20, 0x21d47: 0x6d114220,\n\t0x21d48: 0x6cda5820,\n\t0x21d52: 0x6c5d8020,\n\t0x21d54: 0x6cb92220,\n\t0x21d5a: 0x6c967c20,\n\t0x21d5d: 0x6c767020,\n\t0x21d61: 0x6c91e620, 0x21d63: 0x6d1ebc20,\n\t0x21d6e: 0x6cfd2e20,\n\t0x21d79: 0x6cf40620, 0x21d7b: 0x6d1b2020,\n\t0x21d7c: 0x6cf72c20, 0x21d7f: 0x6d2d0820,\n\t// Block 0x876, offset 0x21d80\n\t0x21d80: 0x6d027020,\n\t0x21d84: 0x6cc1fa20,\n\t0x21d88: 0x6c84be20,\n\t0x21d8d: 0x6cb95820,\n\t0x21d94: 0x6c8dd020, 0x21d95: 0x6c947820,\n\t0x21d9a: 0x6c14b220,\n\t0x21da6: 0x6d334420,\n\t0x21da8: 0x6d0c8420,\n\t0x21db2: 0x6d1b3820, 0x21db3: 0x6c7c5c20,\n\t0x21db7: 0x6cc0d220,\n\t0x21db9: 0x6c3dd820, 0x21dbb: 0x6d22d420,\n\t// Block 0x877, offset 0x21dc0\n\t0x21dc1: 0x6cb57e20,\n\t0x21dc6: 0x6cb75620, 0x21dc7: 0x6c61a620,\n\t0x21dc8: 0x6d24ce20,\n\t0x21dce: 0x6c434420, 0x21dcf: 0x6c734820,\n\t0x21dd1: 0x6cb5a020, 0x21dd3: 0x6c411020,\n\t0x21dd5: 0x6cc37220,\n\t0x21dda: 0x6cf09220,\n\t0x21de7: 0x6d368620,\n\t0x21deb: 0x6c65ba20,\n\t0x21ded: 0x6cd8d620,\n\t0x21df0: 0x6d188c20, 0x21df1: 0x6cb91c20,\n\t0x21dfc: 0x6c856220, 0x21dff: 0x6d29ce20,\n\t// Block 0x878, offset 0x21e00\n\t0x21e00: 0x6d168020, 0x21e02: 0x6c110620, 0x21e03: 0x6d168220,\n\t0x21e04: 0x6c437220, 0x21e06: 0x6c2e6e20,\n\t0x21e08: 0x6d33a420, 0x21e09: 0x6d16ec20, 0x21e0b: 0x6d28fa20,\n\t0x21e0c: 0x6c275220, 0x21e0e: 0x6cdab220,\n\t0x21e14: 0x6c6b4420, 0x21e15: 0x6c193820, 0x21e16: 0x6cc1fc20,\n\t0x21e18: 0x6c4e7820, 0x21e19: 0x6cfb1e20,\n\t0x21e20: 0x6cc2ae20, 0x21e21: 0x6c6a5620,\n\t0x21e25: 0x6c733820,\n\t0x21e2a: 0x6c285c20,\n\t0x21e2d: 0x6c6c2420,\n\t0x21e34: 0x6c0da820, 0x21e35: 0x6c551a20,\n\t0x21e39: 0x6c73da20, 0x21e3b: 0x6d20b020,\n\t// Block 0x879, offset 0x21e40\n\t0x21e43: 0x6c84fa20,\n\t0x21e44: 0x6cbb0420, 0x21e45: 0x6cd70620, 0x21e46: 0x6c7a2420,\n\t0x21e48: 0x6d31b620,\n\t0x21e4d: 0x6c3de820, 0x21e4e: 0x6ccfac20,\n\t0x21e52: 0x6c20c020,\n\t0x21e55: 0x6ce72620, 0x21e57: 0x6d16ee20,\n\t0x21e59: 0x6d0f9220,\n\t0x21e5c: 0x6ceafa20, 0x21e5d: 0x6d385e20, 0x21e5e: 0x6c5ff220,\n\t0x21e64: 0x6d0a7a20, 0x21e66: 0x6cd05220, 0x21e67: 0x6d078820,\n\t0x21e6d: 0x6c8e4820, 0x21e6e: 0x6d24dc20, 0x21e6f: 0x6c554220,\n\t0x21e70: 0x6d334820, 0x21e73: 0x6cae6620,\n\t0x21e77: 0x6c742220,\n\t// Block 0x87a, offset 0x21e80\n\t0x21e82: 0x6d362020, 0x21e83: 0x6cb0f620,\n\t0x21e84: 0x6d261820, 0x21e86: 0x6c649a20,\n\t0x21e8a: 0x6cad0220,\n\t0x21e8e: 0x6d3bca20,\n\t0x21e90: 0x6cfb6e20, 0x21e92: 0x6c080220,\n\t0x21e94: 0x6c232820, 0x21e96: 0x6ca13e20,\n\t0x21e9a: 0x6c4c7420,\n\t0x21e9e: 0x6c1a3420, 0x21e9f: 0x6cbb9c20,\n\t0x21ea6: 0x6c0a4a20,\n\t0x21ea9: 0x6cbb4820, 0x21eab: 0x6d38aa20,\n\t0x21eb2: 0x6c38d020, 0x21eb3: 0x6c0cc420,\n\t0x21ebe: 0x6c0fa020, 0x21ebf: 0x6cc73220,\n\t// Block 0x87b, offset 0x21ec0\n\t0x21ec5: 0x6c2f8820, 0x21ec6: 0x6cc32e20, 0x21ec7: 0x6c703c20,\n\t0x21ec8: 0x6d117420,\n\t0x21ed3: 0x6cf98620,\n\t0x21ed6: 0x6d2a3e20,\n\t0x21edd: 0x6c27c820, 0x21edf: 0x6cf44420,\n\t0x21ee0: 0x6ceb1420, 0x21ee2: 0x6c54c820,\n\t0x21ee7: 0x6cf64620,\n\t0x21eec: 0x6c7f1a20, 0x21eee: 0x6c3a1620,\n\t0x21ef9: 0x6c55ec20,\n\t// Block 0x87c, offset 0x21f00\n\t0x21f06: 0x6cfa7220,\n\t0x21f09: 0x6ccd2c20,\n\t0x21f0d: 0x6c3a8420,\n\t0x21f10: 0x6c261820, 0x21f12: 0x6c3e3220,\n\t0x21f14: 0x6c1f3020,\n\t0x21f1d: 0x6c2fd020, 0x21f1e: 0x6c807020,\n\t0x21f29: 0x6cf7fc20,\n\t0x21f2f: 0x6c0c1420,\n\t0x21f30: 0x6d23e820, 0x21f31: 0x6cdc6e20, 0x21f32: 0x6cf80c20,\n\t0x21f37: 0x6cb3e620,\n\t0x21f3e: 0x6c697c20,\n\t// Block 0x87d, offset 0x21f40\n\t0x21f40: 0x6d166420, 0x21f43: 0x6cecb820,\n\t0x21f44: 0x6c611e20, 0x21f46: 0x6cecc620, 0x21f47: 0x6ce9f220,\n\t0x21f4b: 0x6c021020,\n\t0x21f4d: 0x6ce45820, 0x21f4e: 0x6c1b0020,\n\t0x21f52: 0x6cc46220,\n\t0x21f54: 0x6cc96820, 0x21f55: 0x6d1a2c20, 0x21f56: 0x6caf3420, 0x21f57: 0x6c228e20,\n\t0x21f58: 0x6ce71a20, 0x21f59: 0x6d1ace20,\n\t0x21f5c: 0x6c43c820, 0x21f5d: 0x6ce55020, 0x21f5e: 0x6d329620, 0x21f5f: 0x6d390c20,\n\t0x21f61: 0x6d149820, 0x21f62: 0x6c7ae420, 0x21f63: 0x6cd90c20,\n\t0x21f67: 0x6c2c2820,\n\t0x21f6c: 0x6d008820, 0x21f6e: 0x6cfe9e20, 0x21f6f: 0x6c4a1c20,\n\t0x21f70: 0x6ceb7420, 0x21f71: 0x6c3c3620, 0x21f72: 0x6cf3b420,\n\t0x21f75: 0x6d053220,\n\t0x21f7f: 0x6d1f1620,\n\t// Block 0x87e, offset 0x21f80\n\t0x21f81: 0x6c8ce020, 0x21f82: 0x6d0e6020,\n\t0x21f85: 0x6c2ff620, 0x21f86: 0x6cb77e20, 0x21f87: 0x6ce21a20,\n\t0x21f88: 0x6c4dfc20, 0x21f8a: 0x6c1b1c20, 0x21f8b: 0x6cd91820,\n\t0x21f91: 0x6cc35820,\n\t0x21f94: 0x6c4ea820,\n\t0x21f9f: 0x6cc77820,\n\t0x21fa0: 0x6cb78e20, 0x21fa1: 0x6c762c20, 0x21fa2: 0x6d211e20, 0x21fa3: 0x6c139a20,\n\t0x21fa4: 0x6c1a8220, 0x21fa5: 0x6d233a20, 0x21fa7: 0x6c0e2020,\n\t0x21fa9: 0x6c231220, 0x21faa: 0x6d39a420,\n\t0x21fac: 0x6d235420,\n\t0x21fb1: 0x6c744a20, 0x21fb2: 0x6c8f3620, 0x21fb3: 0x6ccab220,\n\t0x21fb4: 0x6d236820,\n\t// Block 0x87f, offset 0x21fc0\n\t0x21fc5: 0x6cd66820,\n\t0x21fcb: 0x6d262020,\n\t0x21fce: 0x6d2eba20,\n\t0x21fd1: 0x6cd66a20, 0x21fd3: 0x6c1ee420,\n\t0x21fd4: 0x6d2ec620, 0x21fd5: 0x6cca2020, 0x21fd6: 0x6cfabe20,\n\t0x21fd8: 0x6c24d820, 0x21fd9: 0x6c9bde20, 0x21fda: 0x6c2b7c20,\n\t0x21fde: 0x6d368820, 0x21fdf: 0x6c02de20,\n\t0x21fe6: 0x6d04e020,\n\t0x21fe8: 0x6cb11e20, 0x21fea: 0x6c69bc20, 0x21feb: 0x6c7b6c20,\n\t0x21fec: 0x6cc98620, 0x21fed: 0x6cfcf420, 0x21fee: 0x6d2cda20, 0x21fef: 0x6c2d7820,\n\t0x21ff7: 0x6d154420,\n\t0x21ffa: 0x6c5c2e20, 0x21ffb: 0x6ccda620,\n\t// Block 0x880, offset 0x22000\n\t0x22004: 0x6c1d2220, 0x22005: 0x6d156220, 0x22006: 0x6d021220, 0x22007: 0x6d36dc20,\n\t0x22008: 0x6ce5e020, 0x2200a: 0x6cb26c20, 0x2200b: 0x6cfbb020,\n\t0x2200e: 0x6cfadc20, 0x2200f: 0x6cdb4c20,\n\t0x22011: 0x6c24a020,\n\t0x22017: 0x6cd97220,\n\t0x2201b: 0x6c522820,\n\t0x2201d: 0x6cfd3a20, 0x2201f: 0x6d1f8e20,\n\t0x22021: 0x6d246420,\n\t0x22024: 0x6cdf5220, 0x22026: 0x6c751820, 0x22027: 0x6ca48220,\n\t0x22029: 0x6c2cba20, 0x2202b: 0x6d164820,\n\t0x2202c: 0x6c090620,\n\t0x22033: 0x6d056220,\n\t0x22034: 0x6d166820, 0x22035: 0x6cc81020, 0x22037: 0x6c455a20,\n\t0x2203a: 0x6d166a20,\n\t0x2203f: 0x6d356e20,\n\t// Block 0x881, offset 0x22040\n\t0x22040: 0x6d02a420, 0x22042: 0x6c617820,\n\t0x22044: 0x6cfa2c20,\n\t0x22048: 0x6d2f4e20, 0x22049: 0x6ca54620, 0x2204a: 0x6d015620,\n\t0x2204e: 0x6d168620,\n\t0x2206b: 0x6c3f3420,\n\t0x2206d: 0x6ccf3420, 0x2206f: 0x6d253c20,\n\t0x22070: 0x6c390420, 0x22072: 0x6c3d3c20, 0x22073: 0x6cf4a820,\n\t0x22074: 0x6cf57c20, 0x22075: 0x6c539c20,\n\t0x22079: 0x6c618220, 0x2207a: 0x6c170420,\n\t0x2207f: 0x6ca0ca20,\n\t// Block 0x882, offset 0x22080\n\t0x22080: 0x6cae0820, 0x22083: 0x6ca20e20,\n\t0x22084: 0x6cc00420, 0x22085: 0x6c994a20, 0x22087: 0x6c268020,\n\t0x22089: 0x6cf98c20, 0x2208a: 0x6ccfae20, 0x2208b: 0x6ce26c20,\n\t0x2208c: 0x6c530220, 0x2208d: 0x6c093620,\n\t0x2209d: 0x6ca62620, 0x2209f: 0x6cbbd220,\n\t0x220a7: 0x6cc84e20,\n\t0x220b8: 0x6c67d820, 0x220b9: 0x6c138420, 0x220ba: 0x6c9ce220,\n\t0x220bd: 0x6d16f020, 0x220bf: 0x6cdd0a20,\n\t// Block 0x883, offset 0x220c0\n\t0x220c1: 0x6cf4c220, 0x220c2: 0x6d078420,\n\t0x220c5: 0x6cf76c20, 0x220c7: 0x6d15d020,\n\t0x220d0: 0x6ca49a20, 0x220d3: 0x6cf07820,\n\t0x220ee: 0x6c770220,\n\t0x220f1: 0x6c906020, 0x220f2: 0x6c938620, 0x220f3: 0x6d3c2a20,\n\t0x220fa: 0x6d35b420,\n\t0x220fc: 0x6d042220, 0x220fe: 0x6c44f820, 0x220ff: 0x6c6ce620,\n\t// Block 0x884, offset 0x22100\n\t0x22100: 0x6cfca420, 0x22101: 0x6c61c820, 0x22102: 0x6c261a20,\n\t0x22104: 0x6c815020, 0x22105: 0x6c3bb820, 0x22106: 0x6c722a20,\n\t0x2210b: 0x6c9eb220,\n\t0x2210c: 0x6cf9a620,\n\t0x22111: 0x6cda8c20,\n\t0x22128: 0x6d35b620, 0x2212a: 0x6c567e20, 0x2212b: 0x6c79e220,\n\t0x2212d: 0x6cdd5820, 0x2212e: 0x6ca68e20,\n\t0x2213a: 0x6ce28c20, 0x2213b: 0x6d3ace20,\n\t// Block 0x885, offset 0x22140\n\t0x22141: 0x6c269820, 0x22143: 0x6cc04420,\n\t0x22144: 0x6d0b9820, 0x22146: 0x6cfb4820,\n\t0x22149: 0x6ca58820,\n\t0x2214d: 0x6d351420, 0x2214e: 0x6c0ce620,\n\t0x22152: 0x6c1d3a20, 0x22153: 0x6c7f9820,\n\t0x22154: 0x6c2ff820, 0x22155: 0x6cc43a20, 0x22156: 0x6cfe2e20,\n\t0x22158: 0x6cff8020, 0x22159: 0x6ced0620, 0x2215a: 0x6cc81420, 0x2215b: 0x6cee5020,\n\t0x2215c: 0x6ca69820, 0x2215e: 0x6c03fe20, 0x2215f: 0x6d0b9a20,\n\t0x22165: 0x6cd7e220, 0x22166: 0x6d1ad820,\n\t0x22168: 0x6d231220,\n\t0x2216e: 0x6c83b820, 0x2216f: 0x6c5dc020,\n\t// Block 0x886, offset 0x22180\n\t0x22197: 0x6c056820,\n\t0x221a3: 0x6cf5e620,\n\t0x221a5: 0x6c6f6a20,\n\t0x221a8: 0x6d01ac20, 0x221a9: 0x6cb8e020, 0x221aa: 0x6caaf820, 0x221ab: 0x6d040020,\n\t0x221ac: 0x6c344e20, 0x221ad: 0x6c614020, 0x221ae: 0x6cf44a20, 0x221af: 0x6ca21220,\n\t0x221b0: 0x6d0e6e20, 0x221b1: 0x6cb79020, 0x221b2: 0x6ca2de20, 0x221b3: 0x6c1c1e20,\n\t0x221b4: 0x6c540220, 0x221b6: 0x6ccaf220,\n\t0x221b8: 0x6ca4aa20, 0x221bb: 0x6c1a7020,\n\t0x221bc: 0x6c1a7220, 0x221bd: 0x6c7cd020, 0x221bf: 0x6c644220,\n\t// Block 0x887, offset 0x221c0\n\t0x221c0: 0x6ce8ac20, 0x221c2: 0x6c319a20,\n\t0x221c5: 0x6cf9c220, 0x221c6: 0x6d382e20, 0x221c7: 0x6c5dcc20,\n\t0x221c8: 0x6c1d1620, 0x221c9: 0x6c26a420,\n\t0x221cc: 0x6c997c20, 0x221cd: 0x6d120620,\n\t0x221d3: 0x6c72f220,\n\t0x221ec: 0x6cd38420, 0x221ef: 0x6d1a6420,\n\t0x221f3: 0x6c478a20,\n\t0x221f4: 0x6cf4ec20,\n\t0x221f8: 0x6c4cee20, 0x221f9: 0x6ce3f620, 0x221fb: 0x6c52a220,\n\t// Block 0x888, offset 0x22200\n\t0x22207: 0x6cc54e20,\n\t0x22209: 0x6d14f420, 0x2220b: 0x6cea7c20,\n\t0x2220f: 0x6cbf3c20,\n\t0x22210: 0x6c4d6e20, 0x22212: 0x6cb79e20,\n\t0x22215: 0x6c5dd820, 0x22216: 0x6ce40020, 0x22217: 0x6caf7020,\n\t0x2221a: 0x6c451020,\n\t0x2221c: 0x6d01c420, 0x2221e: 0x6c9d5620, 0x2221f: 0x6c434c20,\n\t0x22220: 0x6cddf020, 0x22221: 0x6cfdec20, 0x22223: 0x6cd4e620,\n\t0x22226: 0x6c3e9820,\n\t0x2222c: 0x6d3b7e20, 0x2222d: 0x6c8f3820,\n\t// Block 0x889, offset 0x22240\n\t0x22245: 0x6d1f4420,\n\t0x2224a: 0x6c1a7820, 0x2224b: 0x6c330620,\n\t0x22262: 0x6c841420, 0x22263: 0x6d105820,\n\t0x22264: 0x6c841620, 0x22267: 0x6c91c820,\n\t0x22268: 0x6ca24e20, 0x22269: 0x6cdc5220, 0x2226a: 0x6c00b620,\n\t0x2226d: 0x6c79f420, 0x2226f: 0x6d306a20,\n\t0x22270: 0x6c00b820, 0x22271: 0x6ce2a620, 0x22273: 0x6c93ea20,\n\t0x22274: 0x6ce9ac20, 0x22275: 0x6c088020,\n\t0x2227e: 0x6c5bf620, 0x2227f: 0x6c588a20,\n\t// Block 0x88a, offset 0x22280\n\t0x2229b: 0x6c7e0e20,\n\t0x2229d: 0x6d02e020,\n\t0x222a1: 0x6ccaf420,\n\t0x222ab: 0x6cd5f020,\n\t0x222ac: 0x6cc3da20, 0x222ad: 0x6c035620, 0x222ae: 0x6cea0620,\n\t0x222b2: 0x6c403220, 0x222b3: 0x6c0cba20,\n\t0x222b5: 0x6ce17e20, 0x222b7: 0x6cfe4c20,\n\t0x222b9: 0x6cd81420, 0x222ba: 0x6c0f4020,\n\t0x222bc: 0x6c970020, 0x222bd: 0x6c298020, 0x222bf: 0x6c4b6420,\n\t// Block 0x88b, offset 0x222c0\n\t0x222c0: 0x6c522020, 0x222c1: 0x6cf69a20, 0x222c2: 0x6c298220, 0x222c3: 0x6d184e20,\n\t0x222c5: 0x6c088420, 0x222c7: 0x6c472c20,\n\t0x222c8: 0x6c255820, 0x222c9: 0x6ccb4420,\n\t0x222cd: 0x6c441e20, 0x222ce: 0x6d23c220, 0x222cf: 0x6ca2fa20,\n\t0x222d1: 0x6c865620, 0x222d2: 0x6d36ac20,\n\t0x222f0: 0x6d2fd420,\n\t0x222f4: 0x6c5f1220, 0x222f5: 0x6cc87220,\n\t0x222f9: 0x6c1d5820,\n\t// Block 0x88c, offset 0x22300\n\t0x22302: 0x6c6b1820,\n\t0x2230c: 0x6c172020, 0x2230d: 0x6d307a20,\n\t0x22312: 0x6cdb1020, 0x22313: 0x6d1db020,\n\t0x22316: 0x6cb7d420, 0x22317: 0x6d3d9820,\n\t0x2231a: 0x6c769620,\n\t0x2231c: 0x6d133c20, 0x2231e: 0x6cb7d620,\n\t0x22339: 0x6d04a420,\n\t// Block 0x88d, offset 0x22340\n\t0x22349: 0x6d141420, 0x2234a: 0x6c1e3020,\n\t0x2234e: 0x6ce98020, 0x2234f: 0x6c00da20,\n\t0x22350: 0x6cb1f220, 0x22353: 0x6c8b3620,\n\t0x22354: 0x6c9dd820, 0x22355: 0x6c00dc20, 0x22357: 0x6ca0ae20,\n\t0x22358: 0x6cf0e220, 0x22359: 0x6d1d5220, 0x2235a: 0x6ca65020,\n\t0x2235e: 0x6c0f7420,\n\t0x22360: 0x6c8f4620,\n\t0x22373: 0x6cc8e620,\n\t0x2237b: 0x6c936620,\n\t0x2237c: 0x6c140c20, 0x2237f: 0x6c1f8620,\n\t// Block 0x88e, offset 0x22380\n\t0x22381: 0x6ccb0220, 0x22382: 0x6c847020,\n\t0x22384: 0x6cd94620, 0x22386: 0x6c86c620,\n\t0x2238b: 0x6cf90420,\n\t0x2238d: 0x6d0c3e20, 0x2238e: 0x6c25ce20,\n\t0x22390: 0x6c8eb620,\n\t0x22398: 0x6c9b6c20, 0x2239a: 0x6d2e8a20,\n\t0x223a4: 0x6d3c4c20, 0x223a7: 0x6c9ea620,\n\t0x223a9: 0x6c86f220, 0x223ab: 0x6c71da20,\n\t0x223af: 0x6d025220,\n\t0x223b0: 0x6d025420, 0x223b1: 0x6c904220, 0x223b2: 0x6c8fc220,\n\t// Block 0x88f, offset 0x223c0\n\t0x223c2: 0x6ce2c620, 0x223c3: 0x6d3b3820,\n\t0x223cb: 0x6c155220,\n\t0x223cc: 0x6cfc4420, 0x223cf: 0x6d1cc220,\n\t0x223d0: 0x6cae2a20,\n\t0x223d8: 0x6d012220, 0x223da: 0x6c69dc20,\n\t0x223de: 0x6c1cf820,\n\t0x223f3: 0x6c50ae20,\n\t0x223fd: 0x6cea8420,\n\t// Block 0x890, offset 0x22400\n\t0x22405: 0x6c53b220,\n\t0x22408: 0x6c97b020, 0x2240a: 0x6c6c7a20,\n\t0x2240c: 0x6cc17020, 0x2240d: 0x6c30d420, 0x2240e: 0x6cbff820, 0x2240f: 0x6d28ee20,\n\t0x22411: 0x6cd0d420, 0x22412: 0x6d28f020,\n\t0x22415: 0x6d15ba20,\n\t0x2241a: 0x6c578020,\n\t0x2241f: 0x6c76a220,\n\t0x22430: 0x6d268e20, 0x22431: 0x6ca68420, 0x22432: 0x6cd7d620,\n\t0x22434: 0x6cf2aa20,\n\t0x22438: 0x6c118e20, 0x2243a: 0x6c647c20,\n\t0x2243c: 0x6c9ecc20, 0x2243d: 0x6ccea020, 0x2243f: 0x6cc70820,\n\t// Block 0x891, offset 0x22440\n\t0x22440: 0x6c419220,\n\t0x22445: 0x6cbb0a20, 0x22447: 0x6cd52a20,\n\t0x22448: 0x6d3d5820,\n\t0x2244f: 0x6cd1bc20,\n\t0x22451: 0x6ce3f820,\n\t0x22456: 0x6d2c3620, 0x22457: 0x6d2d7e20,\n\t0x2245d: 0x6c3bdc20, 0x2245e: 0x6c9eda20,\n\t0x22460: 0x6d2b5220,\n\t0x22464: 0x6d368a20, 0x22465: 0x6cb90020, 0x22466: 0x6c4ede20, 0x22467: 0x6c440e20,\n\t0x2246e: 0x6c119e20,\n\t0x22470: 0x6c4c7820, 0x22471: 0x6c685e20, 0x22473: 0x6d1da220,\n\t0x22474: 0x6c026820,\n\t0x2247b: 0x6d2c4620,\n\t0x2247d: 0x6cf8c420,\n\t// Block 0x892, offset 0x22480\n\t0x22481: 0x6d05d220, 0x22482: 0x6cf46620,\n\t0x2248f: 0x6c74b820,\n\t0x22490: 0x6c5f2a20, 0x22492: 0x6c1c6a20,\n\t0x22494: 0x6ced5420, 0x22496: 0x6c9ef220, 0x22497: 0x6d2b6420,\n\t0x2249c: 0x6c6b6e20, 0x2249d: 0x6cd29220, 0x2249f: 0x6cf72e20,\n\t0x224a1: 0x6c36e220,\n\t0x224a5: 0x6c564220, 0x224a6: 0x6c564a20,\n\t0x224a8: 0x6c857020, 0x224ab: 0x6c1f0820,\n\t0x224ae: 0x6d13c820, 0x224af: 0x6c992c20,\n\t0x224b0: 0x6d056c20, 0x224b1: 0x6d379820, 0x224b3: 0x6d16b820,\n\t0x224ba: 0x6c89de20,\n\t0x224bf: 0x6c647820,\n\t// Block 0x893, offset 0x224c0\n\t0x224c0: 0x6c656e20, 0x224c1: 0x6c70fa20,\n\t0x224c4: 0x6d3abc20,\n\t0x224c8: 0x6cf43a20,\n\t0x224cf: 0x6c78a420,\n\t0x224d0: 0x6c786020, 0x224d1: 0x6c860e20, 0x224d2: 0x6c08dc20, 0x224d3: 0x6c43ec20,\n\t0x224d5: 0x6d059820, 0x224d6: 0x6ccbfa20, 0x224d7: 0x6c8d1c20,\n\t0x224d8: 0x6c781220,\n\t0x224de: 0x6c0f4220, 0x224df: 0x6c0b0820,\n\t0x224e0: 0x6cd68820, 0x224e1: 0x6cb66e20, 0x224e2: 0x6ccde420,\n\t0x224e6: 0x6c5e6420,\n\t0x224e8: 0x6cbc1c20,\n\t0x224ee: 0x6d166c20, 0x224ef: 0x6c73d020,\n\t0x224f0: 0x6d2efe20, 0x224f2: 0x6d031620,\n\t0x224f7: 0x6cea9a20,\n\t0x224f8: 0x6c4d5020, 0x224f9: 0x6cfa2e20, 0x224fb: 0x6ceae020,\n\t0x224fc: 0x6d145620,\n\t// Block 0x894, offset 0x22500\n\t0x22503: 0x6c242c20,\n\t0x22507: 0x6c674620,\n\t0x22508: 0x6ca3de20, 0x2250b: 0x6caf0020,\n\t0x2250d: 0x6c6a7020, 0x2250e: 0x6d08d820, 0x2250f: 0x6c552020,\n\t0x22525: 0x6d1f9e20, 0x22526: 0x6caa4c20, 0x22527: 0x6d12c220,\n\t0x2252a: 0x6d1b3a20,\n\t0x2252c: 0x6c799420,\n\t0x22536: 0x6cfe8420, 0x22537: 0x6cfd6220,\n\t0x2253c: 0x6ca49620, 0x2253e: 0x6d2f2420,\n\t// Block 0x895, offset 0x22540\n\t0x22550: 0x6c6a7c20, 0x22553: 0x6caa5020,\n\t0x22554: 0x6ccd7020,\n\t0x22562: 0x6c63a020,\n\t0x22567: 0x6d38dc20,\n\t0x22568: 0x6cc6fe20, 0x2256b: 0x6c922220,\n\t0x2256c: 0x6cc96e20, 0x2256d: 0x6caa6020, 0x2256f: 0x6c0ec420,\n\t0x22570: 0x6d302220, 0x22572: 0x6cbdca20,\n\t0x22574: 0x6c21f620, 0x22575: 0x6d40ac20, 0x22577: 0x6cf2ac20,\n\t0x22578: 0x6cf43620, 0x2257b: 0x6ca7e020,\n\t0x2257f: 0x6cfa8820,\n\t// Block 0x896, offset 0x22580\n\t0x22580: 0x6c531220,\n\t0x225ab: 0x6ce6e820,\n\t0x225ac: 0x6c6c8a20,\n\t0x225b1: 0x6c6aa420, 0x225b2: 0x6c51c020, 0x225b3: 0x6ce84c20,\n\t0x225b4: 0x6d303a20, 0x225b5: 0x6cb1ec20, 0x225b6: 0x6c6ce820, 0x225b7: 0x6ca44420,\n\t0x225bc: 0x6c33e820, 0x225be: 0x6cf5be20, 0x225bf: 0x6d018020,\n\t// Block 0x897, offset 0x225c0\n\t0x225c1: 0x6cf86c20, 0x225c2: 0x6c815220, 0x225c3: 0x6c32ac20,\n\t0x225c4: 0x6c61ca20, 0x225c5: 0x6c138a20, 0x225c6: 0x6c1d6620,\n\t0x225c8: 0x6c427020,\n\t0x225ce: 0x6cfdb820, 0x225cf: 0x6c29d620,\n\t0x225e5: 0x6c0b8e20, 0x225e6: 0x6cfea020, 0x225e7: 0x6d02c220,\n\t// Block 0x898, offset 0x22600\n\t0x22601: 0x6d224c20, 0x22602: 0x6cfb4a20, 0x22603: 0x6c83ba20,\n\t0x22604: 0x6cba0020, 0x22607: 0x6c9a5420,\n\t0x22609: 0x6cbb6c20, 0x2260a: 0x6d0b9e20,\n\t0x2260c: 0x6cb82a20, 0x2260d: 0x6cbf8a20, 0x2260f: 0x6c056a20,\n\t0x22610: 0x6d32b220,\n\t0x2261a: 0x6d2b4a20, 0x2261b: 0x6cd68e20,\n\t0x2261e: 0x6ccaf020,\n\t// Block 0x899, offset 0x22640\n\t0x22645: 0x6c923a20,\n\t0x22649: 0x6d009e20, 0x2264b: 0x6c3f5c20,\n\t0x2264c: 0x6d2d3a20,\n\t0x22669: 0x6d2b5020, 0x2266b: 0x6c32c220,\n\t0x2266d: 0x6c2ad620, 0x2266e: 0x6d233c20,\n\t0x22670: 0x6c93de20, 0x22672: 0x6ced8220, 0x22673: 0x6d090e20,\n\t0x22674: 0x6c68f420, 0x22675: 0x6d266420, 0x22676: 0x6d362420, 0x22677: 0x6cefc420,\n\t0x22679: 0x6c43ee20, 0x2267a: 0x6c71b420,\n\t0x2267c: 0x6d0d8420, 0x2267d: 0x6c262620, 0x2267e: 0x6c997e20,\n\t// Block 0x89a, offset 0x22680\n\t0x22686: 0x6c3e7820, 0x22687: 0x6c002820,\n\t0x2268a: 0x6d079e20,\n\t0x2268c: 0x6c427e20, 0x2268d: 0x6c013220,\n\t0x22692: 0x6c603620,\n\t0x22698: 0x6cafea20, 0x22699: 0x6d352820,\n\t0x2269c: 0x6caac020,\n\t0x226bf: 0x6cacbc20,\n\t// Block 0x89b, offset 0x226c0\n\t0x226c1: 0x6d14f620,\n\t0x226c4: 0x6c6ac820, 0x226c6: 0x6d3e3820,\n\t0x226c8: 0x6c644420, 0x226c9: 0x6cec6420,\n\t0x226cc: 0x6c644620,\n\t0x226df: 0x6c15c020,\n\t0x226e1: 0x6cdd7420, 0x226e2: 0x6cdd7620, 0x226e3: 0x6c605020,\n\t0x226e4: 0x6cd96420, 0x226e6: 0x6ce2f420, 0x226e7: 0x6caf7420,\n\t0x226e8: 0x6cb32c20,\n\t0x226ee: 0x6c9d5a20,\n\t0x226f4: 0x6d12fc20, 0x226f6: 0x6cbe1c20, 0x226f7: 0x6c6d1620,\n\t0x226fa: 0x6c73ae20,\n\t0x226fd: 0x6d24f420, 0x226fe: 0x6cc83e20,\n\t// Block 0x89c, offset 0x22700\n\t0x22714: 0x6c04fa20,\n\t0x22730: 0x6c0d3a20,\n\t0x22734: 0x6cf0ae20, 0x22735: 0x6d2a8820, 0x22736: 0x6cbcd020, 0x22737: 0x6cd9ce20,\n\t0x22738: 0x6c91ca20,\n\t0x2273c: 0x6c2ecc20, 0x2273d: 0x6c1fb820, 0x2273e: 0x6c09f620, 0x2273f: 0x6d3a1a20,\n\t// Block 0x89d, offset 0x22740\n\t0x22740: 0x6c966220, 0x22741: 0x6c3aba20, 0x22742: 0x6cb1cc20, 0x22743: 0x6d1b6620,\n\t0x22744: 0x6d08a220, 0x22746: 0x6c02e020, 0x22747: 0x6d3d7820,\n\t0x22748: 0x6d40c820, 0x2274b: 0x6c08ea20,\n\t0x22751: 0x6c812620, 0x22753: 0x6ce40820,\n\t0x22759: 0x6ce5c820, 0x2275a: 0x6c64c820,\n\t0x2275f: 0x6ce7c020,\n\t0x2277d: 0x6c343420, 0x2277e: 0x6c308420,\n\t// Block 0x89e, offset 0x22780\n\t0x22782: 0x6c0b4220,\n\t0x227a0: 0x6d36b020, 0x227a2: 0x6c3b8a20,\n\t0x227a6: 0x6c776a20, 0x227a7: 0x6d36b220,\n\t0x227a8: 0x6d2cfc20, 0x227a9: 0x6c0a1e20, 0x227aa: 0x6c7b6e20,\n\t0x227ac: 0x6c050220, 0x227ad: 0x6c73b820, 0x227ae: 0x6cc13420,\n\t0x227b0: 0x6cb51e20, 0x227b1: 0x6c824e20, 0x227b2: 0x6d00da20, 0x227b3: 0x6ce0ca20,\n\t0x227bc: 0x6cd9d420, 0x227be: 0x6c075020,\n\t// Block 0x89f, offset 0x227c0\n\t0x227c7: 0x6d106820,\n\t0x227c8: 0x6c65ce20,\n\t0x227e5: 0x6d2a8a20,\n\t// Block 0x8a0, offset 0x22800\n\t0x22800: 0x6d3b6a20, 0x22803: 0x6c38b820,\n\t0x22805: 0x6ccf2420, 0x22807: 0x6cbf5e20,\n\t0x22809: 0x6cb3a020, 0x2280b: 0x6ce60220,\n\t0x2280c: 0x6ccc1a20, 0x2280d: 0x6d28c820,\n\t0x22811: 0x6ca7ac20, 0x22812: 0x6c48fa20, 0x22813: 0x6c250a20,\n\t0x22821: 0x6cbc5e20, 0x22823: 0x6c2ee420,\n\t0x22833: 0x6cb1ee20,\n\t0x22834: 0x6c226a20, 0x22836: 0x6c058e20,\n\t// Block 0x8a1, offset 0x22840\n\t0x2284d: 0x6d1b8a20,\n\t0x22851: 0x6cfc3020,\n\t0x22854: 0x6d161820, 0x22855: 0x6c9e9e20, 0x22856: 0x6c32b220, 0x22857: 0x6d395620,\n\t0x22859: 0x6c798c20,\n\t0x22862: 0x6d2ee020,\n\t0x22876: 0x6c8eb820,\n\t0x22878: 0x6d355820, 0x22879: 0x6c15ee20, 0x2287a: 0x6c31ca20, 0x2287b: 0x6d25c020,\n\t0x2287e: 0x6cddd220, 0x2287f: 0x6c6b5820,\n\t// Block 0x8a2, offset 0x22880\n\t0x22880: 0x6c86c820, 0x22881: 0x6c460420,\n\t0x2288c: 0x6c054220,\n\t0x22897: 0x6c4c9220,\n\t0x22898: 0x6c8a3420, 0x22899: 0x6cd08220,\n\t0x228a3: 0x6ca7c020,\n\t0x228a5: 0x6c24bc20, 0x228a6: 0x6cf04c20,\n\t0x228a8: 0x6cead620, 0x228ab: 0x6cda6020,\n\t0x228ad: 0x6c8fc420,\n\t0x228b3: 0x6cff3820,\n\t0x228b4: 0x6d0df820,\n\t// Block 0x8a3, offset 0x228c0\n\t0x228c3: 0x6cbebe20,\n\t0x228cd: 0x6cf73020, 0x228cf: 0x6d21e220,\n\t0x228d1: 0x6d337220, 0x228d2: 0x6d027420, 0x228d3: 0x6c146e20,\n\t0x228d4: 0x6c3c0020, 0x228d6: 0x6c4c9c20,\n\t0x228d8: 0x6c6e3e20, 0x228d9: 0x6c808220, 0x228da: 0x6cfafe20,\n\t0x228dd: 0x6c8d8e20,\n\t0x228ee: 0x6c830020,\n\t0x228f2: 0x6c760220, 0x228f3: 0x6d002a20,\n\t0x228fc: 0x6d28d820,\n\t// Block 0x8a4, offset 0x22900\n\t0x22904: 0x6c493e20, 0x22905: 0x6cbd0820, 0x22906: 0x6c963e20, 0x22907: 0x6d124a20,\n\t0x22908: 0x6c945620, 0x22909: 0x6cdeee20,\n\t0x22911: 0x6c964020,\n\t0x2291e: 0x6c03a420, 0x2291f: 0x6c165420,\n\t0x22921: 0x6d3dec20,\n\t0x2292b: 0x6ce5d020,\n\t0x2292f: 0x6cecaa20,\n\t0x22930: 0x6c8dd420,\n\t0x22934: 0x6d24aa20, 0x22935: 0x6cb72c20, 0x22937: 0x6cb58020,\n\t0x2293c: 0x6c619420, 0x2293d: 0x6c0eb620, 0x2293f: 0x6cd1a420,\n\t// Block 0x8a5, offset 0x22940\n\t0x22940: 0x6c3f4a20, 0x22942: 0x6c4a4620,\n\t0x22945: 0x6c2d0e20, 0x22947: 0x6c4fa420,\n\t0x22949: 0x6c411220, 0x2294b: 0x6cb5c820,\n\t0x22953: 0x6c19fe20,\n\t0x22954: 0x6c5bc220, 0x22957: 0x6cf9cc20,\n\t0x22958: 0x6cd27020, 0x22959: 0x6d365820, 0x2295a: 0x6cb61420,\n\t0x2295c: 0x6c4d7420, 0x2295f: 0x6c692c20,\n\t0x22960: 0x6c867620, 0x22962: 0x6c8a7820,\n\t0x22964: 0x6cbba620,\n\t0x22968: 0x6cc99c20, 0x2296a: 0x6cb55220, 0x2296b: 0x6cd19620,\n\t0x2296e: 0x6c6a7220,\n\t0x22975: 0x6c06e420, 0x22976: 0x6c0aec20, 0x22977: 0x6c032420,\n\t0x22978: 0x6c755c20, 0x22979: 0x6caf3a20,\n\t0x2297c: 0x6c282220, 0x2297f: 0x6ce0e620,\n\t// Block 0x8a6, offset 0x22980\n\t0x22980: 0x6c7cca20, 0x22981: 0x6c7a2820, 0x22983: 0x6c79d020,\n\t0x22989: 0x6cd1a620, 0x2298a: 0x6cd1a820, 0x2298b: 0x6c5e9a20,\n\t0x2298c: 0x6c063620,\n\t0x22990: 0x6c785a20, 0x22991: 0x6c7b9020,\n\t0x22996: 0x6c9f9c20,\n\t0x22999: 0x6c89e020, 0x2299a: 0x6c35f220, 0x2299b: 0x6c43d820,\n\t0x2299f: 0x6cee0420,\n\t0x229a0: 0x6c344020, 0x229a3: 0x6cb85220,\n\t0x229a4: 0x6c573220, 0x229a6: 0x6c539e20,\n\t0x229a9: 0x6cae5e20, 0x229ab: 0x6c698c20,\n\t0x229b0: 0x6cc0f020, 0x229b1: 0x6d3f3c20, 0x229b2: 0x6d391820, 0x229b3: 0x6c7b9620,\n\t0x229b5: 0x6ccbd820, 0x229b7: 0x6c61cc20,\n\t0x229b8: 0x6cee6c20, 0x229b9: 0x6cb40820, 0x229ba: 0x6d090620,\n\t0x229bc: 0x6cce6620,\n\t// Block 0x8a7, offset 0x229c0\n\t0x229c2: 0x6c80b620, 0x229c3: 0x6d351620,\n\t0x229c4: 0x6ce6c620, 0x229c7: 0x6c26f020,\n\t0x229d5: 0x6d0faa20, 0x229d6: 0x6c6d0020, 0x229d7: 0x6d351820,\n\t0x229da: 0x6d3d5a20,\n\t0x229dc: 0x6d28b420, 0x229dd: 0x6c14f220,\n\t0x229e2: 0x6c998020,\n\t0x229e6: 0x6c797820, 0x229e7: 0x6d388420,\n\t0x229e8: 0x6c54ca20, 0x229e9: 0x6cae7220,\n\t0x229ed: 0x6c6ffc20,\n\t0x229f8: 0x6c21bc20, 0x229f9: 0x6c9fae20,\n\t0x229fe: 0x6cffec20,\n\t// Block 0x8a8, offset 0x22a00\n\t0x22a00: 0x6c322220, 0x22a01: 0x6cef1820, 0x22a03: 0x6c119a20,\n\t0x22a04: 0x6d214a20, 0x22a05: 0x6c326220, 0x22a06: 0x6c763620, 0x22a07: 0x6cb0a220,\n\t0x22a0a: 0x6c1a1a20,\n\t0x22a0e: 0x6c218020,\n\t0x22a10: 0x6cceb420, 0x22a11: 0x6d0d9e20, 0x22a12: 0x6c7b2820,\n\t0x22a14: 0x6d265020,\n\t0x22a26: 0x6cb61620, 0x22a27: 0x6d32e020,\n\t0x22a29: 0x6c78c220, 0x22a2a: 0x6cb61820, 0x22a2b: 0x6d354020,\n\t0x22a2c: 0x6c928420,\n\t0x22a31: 0x6caf7c20, 0x22a32: 0x6cab0420, 0x22a33: 0x6cad7c20,\n\t0x22a3a: 0x6c3a6020,\n\t0x22a3f: 0x6cf19c20,\n\t// Block 0x8a9, offset 0x22a40\n\t0x22a42: 0x6c9b2c20,\n\t0x22a48: 0x6ccd5620,\n\t0x22a4c: 0x6d04a020, 0x22a4e: 0x6c351020, 0x22a4f: 0x6c0c9220,\n\t0x22a5a: 0x6d1eb020,\n\t0x22a5c: 0x6c97f620, 0x22a5e: 0x6c8a7a20,\n\t0x22a61: 0x6d00ea20, 0x22a62: 0x6c949c20, 0x22a63: 0x6cbba820,\n\t0x22a64: 0x6c2ae620, 0x22a66: 0x6c1a3e20, 0x22a67: 0x6c1a4020,\n\t0x22a6d: 0x6c21d820,\n\t0x22a78: 0x6c131420,\n\t// Block 0x8aa, offset 0x22a80\n\t0x22a80: 0x6c825e20, 0x22a81: 0x6d2e1c20, 0x22a82: 0x6c853620, 0x22a83: 0x6c885e20,\n\t0x22a84: 0x6cc45820,\n\t0x22a8d: 0x6c18ee20, 0x22a8f: 0x6c1a4820,\n\t0x22a90: 0x6c473c20, 0x22a92: 0x6d403a20, 0x22a93: 0x6c1df420,\n\t0x22a94: 0x6c204420,\n\t0x22a9c: 0x6c835220, 0x22a9d: 0x6cd7a820, 0x22a9e: 0x6c941020,\n\t0x22aa3: 0x6c3f2420,\n\t0x22aa5: 0x6c871620, 0x22aa7: 0x6cca6020,\n\t0x22aab: 0x6cca0c20,\n\t0x22aaf: 0x6cc9b220,\n\t0x22ab3: 0x6ca8b020,\n\t0x22ab6: 0x6d413c20, 0x22ab7: 0x6c855020,\n\t0x22abb: 0x6cd58c20,\n\t0x22abe: 0x6c3f2a20,\n\t// Block 0x8ab, offset 0x22ac0\n\t0x22ac9: 0x6c094620,\n\t0x22acd: 0x6c2a0820,\n\t0x22ad2: 0x6cd1b220,\n\t0x22ad6: 0x6c422020, 0x22ad7: 0x6ce09e20,\n\t0x22adc: 0x6c97f820, 0x22adf: 0x6c842820,\n\t0x22ae2: 0x6c0a4c20,\n\t0x22ae6: 0x6cac7e20,\n\t0x22ae8: 0x6d1eca20,\n\t0x22aed: 0x6c6f5020, 0x22aef: 0x6c4c1220,\n\t0x22af0: 0x6c89dc20, 0x22af3: 0x6cf2de20,\n\t0x22af4: 0x6cb85420, 0x22af5: 0x6c30e820, 0x22af7: 0x6c8afa20,\n\t0x22af9: 0x6c68e020, 0x22afb: 0x6c8afc20,\n\t// Block 0x8ac, offset 0x22b00\n\t0x22b01: 0x6ce56020,\n\t0x22b04: 0x6c4c2620, 0x22b06: 0x6cacde20, 0x22b07: 0x6cbb8e20,\n\t0x22b09: 0x6c2b8a20, 0x22b0a: 0x6d284420,\n\t0x22b12: 0x6c821420,\n\t0x22b16: 0x6cd7cc20, 0x22b17: 0x6d02b020,\n\t0x22b1c: 0x6d02c420, 0x22b1d: 0x6cfe2620, 0x22b1e: 0x6c95ac20,\n\t0x22b24: 0x6c07e820, 0x22b25: 0x6ce55a20,\n\t0x22b2c: 0x6cffee20, 0x22b2e: 0x6c30b420,\n\t0x22b33: 0x6c296e20,\n\t0x22b34: 0x6ce67c20, 0x22b35: 0x6d3bcc20,\n\t0x22b3b: 0x6cab4620,\n\t0x22b3d: 0x6cf30e20,\n\t// Block 0x8ad, offset 0x22b40\n\t0x22b44: 0x6d02ee20, 0x22b45: 0x6cc87a20,\n\t0x22b48: 0x6d3dae20, 0x22b49: 0x6c299020,\n\t0x22b4d: 0x6c257420,\n\t0x22b51: 0x6d3dc820,\n\t0x22b57: 0x6c238620,\n\t0x22b58: 0x6c159220,\n\t0x22b5d: 0x6d100820,\n\t0x22b67: 0x6d0d5e20,\n\t0x22b73: 0x6d0d6820,\n\t0x22b75: 0x6d323620,\n\t0x22b7d: 0x6caade20, 0x22b7e: 0x6d0e7220,\n\t// Block 0x8ae, offset 0x22b80\n\t0x22b85: 0x6c39d820,\n\t0x22b89: 0x6d0da020, 0x22b8a: 0x6d214e20,\n\t0x22b8d: 0x6ce34020, 0x22b8e: 0x6c401a20, 0x22b8f: 0x6c07a020,\n\t0x22b91: 0x6d0db220, 0x22b93: 0x6c5ad220,\n\t0x22b99: 0x6c5a6220,\n\t0x22b9c: 0x6c4b7420, 0x22b9d: 0x6d0ece20, 0x22b9f: 0x6c55da20,\n\t0x22ba0: 0x6c0c3620,\n\t0x22ba7: 0x6cdcc420,\n\t0x22bae: 0x6d3f3020, 0x22baf: 0x6c618620,\n\t0x22bb0: 0x6c35ae20, 0x22bb1: 0x6c61ce20, 0x22bb2: 0x6c7ccc20,\n\t0x22bb4: 0x6c89b620,\n\t0x22bb8: 0x6c5dda20, 0x22bba: 0x6cef3a20, 0x22bbb: 0x6d3cea20,\n\t0x22bbf: 0x6ce6ae20,\n\t// Block 0x8af, offset 0x22bc0\n\t0x22bc3: 0x6d290e20,\n\t0x22bc4: 0x6d201020,\n\t0x22bc9: 0x6cc5c020,\n\t0x22bcd: 0x6c9e4e20,\n\t0x22bda: 0x6ca31020,\n\t0x22bdd: 0x6ce84220, 0x22bdf: 0x6c27be20,\n\t0x22be1: 0x6c73ec20,\n\t0x22be4: 0x6d056e20, 0x22be5: 0x6c2b1820,\n\t0x22bf0: 0x6cfe1a20,\n\t0x22bf7: 0x6d048a20,\n\t0x22bfa: 0x6d1fac20, 0x22bfb: 0x6c489620,\n\t0x22bfe: 0x6cf5a420,\n\t// Block 0x8b0, offset 0x22c00\n\t0x22c08: 0x6c51bc20,\n\t0x22c0d: 0x6c2f6c20,\n\t0x22c10: 0x6c914020, 0x22c12: 0x6d061a20,\n\t0x22c14: 0x6d391a20, 0x22c15: 0x6cfca820, 0x22c16: 0x6c598820, 0x22c17: 0x6c138c20,\n\t0x22c18: 0x6cd2c420, 0x22c19: 0x6c421820, 0x22c1a: 0x6caadc20, 0x22c1b: 0x6c01aa20,\n\t0x22c1f: 0x6d003c20,\n\t0x22c27: 0x6c502c20,\n\t0x22c32: 0x6cbd2a20, 0x22c33: 0x6c450620,\n\t0x22c34: 0x6ccce020, 0x22c35: 0x6c3e4c20,\n\t0x22c3d: 0x6d2b4c20,\n\t// Block 0x8b1, offset 0x22c40\n\t0x22c47: 0x6c287c20,\n\t0x22c56: 0x6c2d1420, 0x22c57: 0x6ccfdc20,\n\t0x22c59: 0x6d411820,\n\t0x22c62: 0x6c0ca620,\n\t0x22c66: 0x6c20d020, 0x22c67: 0x6d30f820,\n\t0x22c68: 0x6c276e20, 0x22c6b: 0x6cf2b620,\n\t0x22c6c: 0x6cbf2420,\n\t0x22c70: 0x6c8bb420, 0x22c72: 0x6c5cc820, 0x22c73: 0x6c5ed020,\n\t// Block 0x8b2, offset 0x22c80\n\t0x22c85: 0x6c127620,\n\t0x22c8a: 0x6ca28620,\n\t0x22c8d: 0x6c2ea820, 0x22c8e: 0x6cf09620,\n\t0x22ca0: 0x6c0b9a20, 0x22ca1: 0x6ce3c020,\n\t0x22ca5: 0x6ce8be20,\n\t0x22cb6: 0x6c453620,\n\t// Block 0x8b3, offset 0x22cc0\n\t0x22cc4: 0x6c1b3220, 0x22cc5: 0x6c23ee20, 0x22cc6: 0x6ce3c420,\n\t0x22cd2: 0x6c5de620, 0x22cd3: 0x6cb50e20,\n\t0x22cd4: 0x6ccab820, 0x22cd5: 0x6ccaa020, 0x22cd6: 0x6d085220, 0x22cd7: 0x6c021c20,\n\t0x22cd8: 0x6ca3ce20, 0x22cda: 0x6d0fd020, 0x22cdb: 0x6cd4f420,\n\t0x22cdc: 0x6ccc0620,\n\t0x22ce1: 0x6ce6d620,\n\t0x22ce9: 0x6d0bc420, 0x22cea: 0x6c5a5820,\n\t0x22cee: 0x6c0d4220,\n\t0x22cfe: 0x6caba020, 0x22cff: 0x6c128820,\n\t// Block 0x8b4, offset 0x22d00\n\t0x22d01: 0x6c026a20, 0x22d03: 0x6c99ae20,\n\t0x22d14: 0x6c9b3620, 0x22d16: 0x6ce47220,\n\t0x22d1d: 0x6ccaa220, 0x22d1e: 0x6d073a20, 0x22d1f: 0x6c771020,\n\t0x22d27: 0x6c811020,\n\t0x22d36: 0x6c0cc020, 0x22d37: 0x6c23b220,\n\t0x22d3a: 0x6cfb8e20,\n\t// Block 0x8b5, offset 0x22d40\n\t0x22d44: 0x6cea2a20,\n\t0x22d49: 0x6d240a20, 0x22d4a: 0x6c28c220, 0x22d4b: 0x6d1d5420,\n\t0x22d4d: 0x6d2f7820, 0x22d4f: 0x6cb4b620,\n\t0x22d58: 0x6c5c4e20,\n\t0x22d5e: 0x6c00ea20, 0x22d5f: 0x6ca0b220,\n\t0x22d62: 0x6c6dde20, 0x22d63: 0x6c7fce20,\n\t0x22d72: 0x6c8b5820, 0x22d73: 0x6cb1a420,\n\t0x22d75: 0x6c0fa420, 0x22d76: 0x6cbf8220,\n\t0x22d79: 0x6c0aa220,\n\t0x22d7f: 0x6d1dd420,\n\t// Block 0x8b6, offset 0x22d80\n\t0x22d85: 0x6c871820,\n\t0x22d8d: 0x6ca8b220, 0x22d8f: 0x6c2a8820,\n\t0x22d93: 0x6c584620,\n\t0x22d97: 0x6d272420,\n\t0x22d9a: 0x6c212c20,\n\t0x22d9c: 0x6c87b020, 0x22d9e: 0x6d2ef420, 0x22d9f: 0x6c8dd620,\n\t0x22da0: 0x6c217020,\n\t0x22da7: 0x6c12d220,\n\t0x22da8: 0x6d09ea20,\n\t0x22dac: 0x6c71ac20, 0x22dad: 0x6c5cac20,\n\t0x22dbe: 0x6ce6f820,\n\t// Block 0x8b7, offset 0x22dc0\n\t0x22dc6: 0x6ca91220, 0x22dc7: 0x6c727a20,\n\t0x22dcf: 0x6c144c20,\n\t0x22dd6: 0x6d2a2e20,\n\t0x22ddb: 0x6d24a020,\n\t0x22ddf: 0x6c78f420,\n\t0x22de6: 0x6c7bea20, 0x22de7: 0x6c3a4a20,\n\t0x22def: 0x6d282620,\n\t0x22df0: 0x6cb9fc20,\n\t0x22df4: 0x6cc2dc20,\n\t0x22df8: 0x6cb38a20, 0x22dfa: 0x6cadf620,\n\t// Block 0x8b8, offset 0x22e00\n\t0x22e04: 0x6c453820, 0x22e05: 0x6d17e420, 0x22e06: 0x6c961020,\n\t0x22e11: 0x6c7b5a20, 0x22e13: 0x6d085420,\n\t0x22e14: 0x6ca76e20,\n\t0x22e1a: 0x6c55ac20, 0x22e1b: 0x6c715820,\n\t0x22e29: 0x6d136a20,\n\t0x22e2e: 0x6cf73420,\n\t0x22e31: 0x6d271c20, 0x22e32: 0x6ce19020, 0x22e33: 0x6cb23e20,\n\t0x22e34: 0x6c33c820, 0x22e35: 0x6c06d420,\n\t0x22e38: 0x6c8a6020,\n\t// Block 0x8b9, offset 0x22e40\n\t0x22e40: 0x6d1e0e20,\n\t0x22e4e: 0x6d0acc20,\n\t0x22e51: 0x6c68bc20,\n\t0x22e54: 0x6c7dcc20, 0x22e56: 0x6d321820, 0x22e57: 0x6cd59c20,\n\t0x22e5a: 0x6cd24820,\n\t0x22e5e: 0x6d1efa20, 0x22e5f: 0x6cac1a20,\n\t0x22e60: 0x6cff6e20, 0x22e61: 0x6c5fe020,\n\t0x22e76: 0x6cb4d220, 0x22e77: 0x6c50c620,\n\t0x22e7a: 0x6c799620,\n\t// Block 0x8ba, offset 0x22e80\n\t0x22e82: 0x6d12d020, 0x22e83: 0x6c1bf020,\n\t0x22e8a: 0x6c77a220, 0x22e8b: 0x6d269020,\n\t0x22e8e: 0x6cec1a20, 0x22e8f: 0x6ca71820,\n\t0x22e91: 0x6c222e20, 0x22e93: 0x6d14a020,\n\t0x22ea4: 0x6c704620,\n\t0x22eab: 0x6d0f4e20,\n\t0x22eac: 0x6c83a620, 0x22eae: 0x6c270a20, 0x22eaf: 0x6c1d0c20,\n\t0x22eb5: 0x6d14c620,\n\t0x22eba: 0x6c4e9a20,\n\t0x22ebf: 0x6d13de20,\n\t// Block 0x8bb, offset 0x22ec0\n\t0x22ec1: 0x6c1d4a20, 0x22ec2: 0x6c568020, 0x22ec3: 0x6d3b6220,\n\t0x22ee6: 0x6cbf0a20, 0x22ee7: 0x6c34de20,\n\t0x22ef8: 0x6ce73220, 0x22ef9: 0x6cfa9020,\n\t0x22eff: 0x6c3e5020,\n\t// Block 0x8bc, offset 0x22f00\n\t0x22f02: 0x6c2d5020, 0x22f03: 0x6cf77820,\n\t0x22f04: 0x6d003e20, 0x22f05: 0x6d323820, 0x22f06: 0x6cbc3e20, 0x22f07: 0x6ce85620,\n\t0x22f37: 0x6c4eb020,\n\t0x22f38: 0x6c7bf220, 0x22f39: 0x6cdd1a20, 0x22f3b: 0x6cd46220,\n\t0x22f3c: 0x6ce58020,\n\t// Block 0x8bd, offset 0x22f40\n\t0x22f40: 0x6d315020, 0x22f43: 0x6ca58c20,\n\t0x22f45: 0x6cba0a20, 0x22f46: 0x6d1a6620,\n\t0x22f48: 0x6c899220, 0x22f49: 0x6ccc5420, 0x22f4a: 0x6d3f4c20, 0x22f4b: 0x6cafec20,\n\t0x22f4c: 0x6c42c620, 0x22f4f: 0x6c6d0a20,\n\t0x22f50: 0x6d1f3620, 0x22f52: 0x6ccd8c20,\n\t0x22f54: 0x6c9d4620, 0x22f55: 0x6cab9c20, 0x22f57: 0x6c54cc20,\n\t0x22f5b: 0x6d204620,\n\t0x22f5d: 0x6c9bd420,\n\t// Block 0x8be, offset 0x22f80\n\t0x22f90: 0x6d352a20, 0x22f93: 0x6c08e020,\n\t0x22f97: 0x6ccfe820,\n\t0x22f98: 0x6cb79420, 0x22f99: 0x6cfaa620, 0x22f9a: 0x6cac5820, 0x22f9b: 0x6c776e20,\n\t0x22fab: 0x6cd68620,\n\t0x22fac: 0x6cafee20, 0x22fae: 0x6d290220, 0x22faf: 0x6d3a6c20,\n\t0x22fb1: 0x6cd9c020, 0x22fb2: 0x6c6f1820,\n\t0x22fb5: 0x6c150020, 0x22fb6: 0x6c38a420, 0x22fb7: 0x6cff8e20,\n\t0x22fb8: 0x6d1aec20, 0x22fb9: 0x6c540e20, 0x22fba: 0x6c999220, 0x22fbb: 0x6ce8c020,\n\t0x22fbd: 0x6c621820,\n\t// Block 0x8bf, offset 0x22fc0\n\t0x22fc1: 0x6d151c20, 0x22fc3: 0x6d236c20,\n\t0x22fc4: 0x6c6ee020, 0x22fc5: 0x6cad9220, 0x22fc7: 0x6cfed820,\n\t0x22fc9: 0x6c468c20,\n\t0x22fcc: 0x6c465020, 0x22fcd: 0x6cdcf220, 0x22fce: 0x6cfc1620, 0x22fcf: 0x6d3baa20,\n\t0x22ffe: 0x6c1dba20,\n\t// Block 0x8c0, offset 0x23000\n\t0x23004: 0x6cbb7e20, 0x23005: 0x6ce34220, 0x23006: 0x6d27b020,\n\t0x23009: 0x6cccec20, 0x2300a: 0x6c8b1420,\n\t0x2300c: 0x6d353620,\n\t0x23010: 0x6cabf220,\n\t0x23023: 0x6c712e20,\n\t0x23024: 0x6c7f1220,\n\t0x23028: 0x6d3f1820, 0x2302a: 0x6cc1a420, 0x2302b: 0x6c47b020,\n\t0x2302c: 0x6c747a20, 0x2302d: 0x6d348220, 0x2302e: 0x6c021e20, 0x2302f: 0x6cbe2020,\n\t0x23030: 0x6cb00620, 0x23031: 0x6d417820, 0x23033: 0x6cb9b020,\n\t0x23035: 0x6c25e620, 0x23037: 0x6c606620,\n\t0x23038: 0x6ce35220, 0x23039: 0x6cc7b620, 0x2303b: 0x6c4d4220,\n\t0x2303c: 0x6d0a2620, 0x2303e: 0x6c073c20, 0x2303f: 0x6d348420,\n\t// Block 0x8c1, offset 0x23040\n\t0x23041: 0x6c340020,\n\t0x2304b: 0x6c293220,\n\t0x23050: 0x6cc62e20,\n\t0x23072: 0x6c41a820,\n\t0x23075: 0x6c42ae20, 0x23076: 0x6cde7220,\n\t0x23078: 0x6cebae20, 0x23079: 0x6d105e20, 0x2307a: 0x6c7a4e20, 0x2307b: 0x6d368c20,\n\t// Block 0x8c2, offset 0x23080\n\t0x23096: 0x6c64d020, 0x23097: 0x6ca6be20,\n\t0x23098: 0x6cd00e20, 0x23099: 0x6c058620, 0x2309a: 0x6cd66e20, 0x2309b: 0x6c30c020,\n\t0x2309d: 0x6cb91420, 0x2309e: 0x6c4e2820, 0x2309f: 0x6cb83020,\n\t0x230a0: 0x6c41e420, 0x230a3: 0x6c215a20,\n\t0x230a4: 0x6c13fe20, 0x230a5: 0x6c0a2620, 0x230a6: 0x6d140c20, 0x230a7: 0x6c3d9020,\n\t0x230a8: 0x6c35b820, 0x230aa: 0x6c816c20, 0x230ab: 0x6c4fe020,\n\t0x230ac: 0x6c842a20,\n\t0x230b1: 0x6ce28020, 0x230b2: 0x6cd01020,\n\t0x230b4: 0x6d1a9020, 0x230b7: 0x6c64d220,\n\t0x230bb: 0x6c140020,\n\t// Block 0x8c3, offset 0x230c0\n\t0x230d7: 0x6ca86020,\n\t0x230d8: 0x6c23f620, 0x230db: 0x6d154620,\n\t0x230df: 0x6ce12220,\n\t0x230e2: 0x6c738820,\n\t0x230f0: 0x6c1c5820, 0x230f1: 0x6c468e20,\n\t0x230f4: 0x6c6b1a20, 0x230f5: 0x6d307c20, 0x230f6: 0x6c559220, 0x230f7: 0x6c987220,\n\t0x230fb: 0x6d406220,\n\t0x230fc: 0x6cd8e820, 0x230ff: 0x6c3ad020,\n\t// Block 0x8c4, offset 0x23100\n\t0x23100: 0x6d3e8620, 0x23101: 0x6d3e8820, 0x23103: 0x6c6b3420,\n\t0x23104: 0x6cd82820, 0x23106: 0x6c211620, 0x23107: 0x6cad9820,\n\t0x2310b: 0x6d128e20,\n\t0x2310c: 0x6c2b4420, 0x2310e: 0x6c825820, 0x2310f: 0x6d05e420,\n\t0x23110: 0x6cc7c820, 0x23112: 0x6cabde20, 0x23113: 0x6c738e20,\n\t0x23114: 0x6cf8dc20, 0x23115: 0x6d133e20, 0x23116: 0x6c014c20,\n\t0x23118: 0x6d189420, 0x23119: 0x6c64f420,\n\t0x2311c: 0x6cd93820, 0x2311d: 0x6cf2c420, 0x2311f: 0x6ccb5820,\n\t0x23120: 0x6d355020, 0x23121: 0x6c088e20, 0x23122: 0x6d3be220,\n\t0x23126: 0x6c67fa20, 0x23127: 0x6c506820,\n\t0x23129: 0x6c1c6c20, 0x2312a: 0x6c340820,\n\t// Block 0x8c5, offset 0x23140\n\t0x23153: 0x6c0f5820,\n\t0x23154: 0x6c60a820, 0x23155: 0x6c1fb020, 0x23157: 0x6c962620,\n\t0x2315a: 0x6cc8b220,\n\t0x2316b: 0x6c55b020,\n\t0x23171: 0x6c28c420,\n\t0x23174: 0x6c4e6420, 0x23175: 0x6cc3fe20, 0x23176: 0x6ccc1e20, 0x23177: 0x6d2e1e20,\n\t0x23178: 0x6d2b0e20, 0x23179: 0x6c201220, 0x2317a: 0x6cb53620, 0x2317b: 0x6c2ef020,\n\t0x2317d: 0x6d2ce220, 0x2317e: 0x6ce83220,\n\t// Block 0x8c6, offset 0x23180\n\t0x23181: 0x6c221220, 0x23182: 0x6cc99e20,\n\t0x23184: 0x6c955620, 0x23187: 0x6c60be20,\n\t0x231a2: 0x6c95c220, 0x231a3: 0x6cbdb220,\n\t0x231a7: 0x6cbf6c20,\n\t0x231a8: 0x6c739420,\n\t0x231ac: 0x6c00e020, 0x231ad: 0x6c65e220,\n\t0x231b9: 0x6ce42a20, 0x231ba: 0x6cf1b620,\n\t0x231bd: 0x6cbbb620,\n\t// Block 0x8c7, offset 0x231c0\n\t0x231c1: 0x6cac0820, 0x231c2: 0x6c5d0620,\n\t0x231c5: 0x6c00ec20, 0x231c7: 0x6cd7a220,\n\t0x231c8: 0x6c887220, 0x231c9: 0x6c337420, 0x231cb: 0x6cdebc20,\n\t0x231cc: 0x6c6cbe20, 0x231cd: 0x6c0a8a20, 0x231ce: 0x6d0de820, 0x231cf: 0x6c435a20,\n\t0x231d0: 0x6cb18820, 0x231d1: 0x6d242c20, 0x231d2: 0x6ccf7c20,\n\t0x231d5: 0x6c651420, 0x231d7: 0x6c55dc20,\n\t0x231da: 0x6c8b4e20,\n\t0x231dc: 0x6c0bce20, 0x231dd: 0x6cdb4e20, 0x231de: 0x6c689420,\n\t0x231f8: 0x6d3cb820,\n\t0x231fd: 0x6c4dc220,\n\t// Block 0x8c8, offset 0x23200\n\t0x23207: 0x6c340e20,\n\t0x23210: 0x6d014e20, 0x23211: 0x6c9b8220, 0x23212: 0x6c3db420, 0x23213: 0x6c931a20,\n\t0x23214: 0x6ce0b220, 0x23217: 0x6c8ecc20,\n\t0x23218: 0x6cfaee20, 0x23219: 0x6cca9420,\n\t0x2321c: 0x6c240220, 0x2321d: 0x6d3c2620, 0x2321f: 0x6c188e20,\n\t0x23230: 0x6c892820,\n\t0x23234: 0x6c848c20,\n\t// Block 0x8c9, offset 0x23240\n\t0x23240: 0x6caf1a20, 0x23241: 0x6ceb9420,\n\t0x23244: 0x6cebb820, 0x23246: 0x6c8a4a20, 0x23247: 0x6d002620,\n\t0x23248: 0x6c20f620, 0x23249: 0x6c581a20, 0x2324a: 0x6ca7c220, 0x2324b: 0x6cb94820,\n\t0x2324c: 0x6c871c20, 0x2324f: 0x6cad3e20,\n\t0x23250: 0x6ce5b020, 0x23251: 0x6c8ece20, 0x23252: 0x6cf40a20,\n\t0x23264: 0x6d1d2620, 0x23266: 0x6d2c6820,\n\t0x23270: 0x6d21ee20, 0x23272: 0x6cfc5020, 0x23273: 0x6d083820,\n\t0x23274: 0x6cd68a20, 0x23275: 0x6cf74220,\n\t0x23278: 0x6c9a4220, 0x23279: 0x6ccbb420, 0x2327a: 0x6c893420,\n\t0x2327c: 0x6c6f9020, 0x2327d: 0x6c81ec20,\n\t// Block 0x8ca, offset 0x23280\n\t0x2328e: 0x6cff5020, 0x2328f: 0x6d407420,\n\t0x2329a: 0x6c8ee820,\n\t0x2329c: 0x6d2ff020, 0x2329e: 0x6d30c220,\n\t0x232a0: 0x6c830820,\n\t0x232ad: 0x6c32b420,\n\t0x232b7: 0x6c663420,\n\t0x232b8: 0x6cd68c20, 0x232b9: 0x6d425620, 0x232ba: 0x6cbd0c20,\n\t0x232bc: 0x6c81ca20,\n\t// Block 0x8cb, offset 0x232c0\n\t0x232c9: 0x6d248420, 0x232ca: 0x6d196620, 0x232cb: 0x6ca66e20,\n\t0x232ce: 0x6c134620,\n\t0x232d5: 0x6d0f1a20, 0x232d7: 0x6cc89020,\n\t0x232de: 0x6d0d1c20, 0x232df: 0x6c2f1e20,\n\t0x232e0: 0x6c9df620,\n\t0x232e7: 0x6c82a420,\n\t0x232e9: 0x6cecae20,\n\t0x232f0: 0x6ca2fe20,\n\t0x232f6: 0x6d0d2420,\n\t0x232fa: 0x6c831c20,\n\t0x232fd: 0x6ccc3020, 0x232fe: 0x6c551620,\n\t// Block 0x8cc, offset 0x23300\n\t0x23301: 0x6cf58020, 0x23302: 0x6cf58220,\n\t0x23304: 0x6d1fa020, 0x23305: 0x6c4d9220, 0x23307: 0x6c4d0820,\n\t0x23309: 0x6cebc820, 0x2330a: 0x6d068220, 0x2330b: 0x6caf3c20,\n\t0x2330c: 0x6cdf8e20, 0x2330d: 0x6cf58a20, 0x2330e: 0x6cf58c20, 0x2330f: 0x6c0d2420,\n\t0x23310: 0x6cbd1a20, 0x23311: 0x6cf58e20, 0x23312: 0x6d20c420, 0x23313: 0x6cf84a20,\n\t0x23315: 0x6c22b620, 0x23316: 0x6cba4020, 0x23317: 0x6cf95420,\n\t0x2331a: 0x6cec0620, 0x2331b: 0x6c35f420,\n\t0x2331c: 0x6d1fae20, 0x2331d: 0x6d041a20, 0x2331e: 0x6ca5c220, 0x2331f: 0x6c4de420,\n\t0x23320: 0x6c094a20, 0x23321: 0x6cd0ec20,\n\t0x23324: 0x6d2d6220, 0x23325: 0x6c2d4420, 0x23326: 0x6d222c20,\n\t0x23328: 0x6cab7a20, 0x2332a: 0x6c4ae820, 0x2332b: 0x6cee0620,\n\t0x2332c: 0x6cb8c620, 0x2332d: 0x6d14c820,\n\t0x23330: 0x6d40b020, 0x23332: 0x6cb8c820, 0x23333: 0x6c2f9c20,\n\t0x23334: 0x6c793420, 0x23336: 0x6c1f2620, 0x23337: 0x6d13e020,\n\t0x2333a: 0x6c4d9e20, 0x2333b: 0x6c7b6420,\n\t// Block 0x8cd, offset 0x23340\n\t0x23348: 0x6c2d5820, 0x23349: 0x6cf88a20, 0x2334a: 0x6d3e3c20, 0x2334b: 0x6c8d0420,\n\t0x2334c: 0x6d3f4e20, 0x2334e: 0x6d234420, 0x2334f: 0x6c5ccc20,\n\t0x23351: 0x6cd86e20, 0x23352: 0x6c76d620,\n\t0x2335a: 0x6c01c420,\n\t0x2335c: 0x6d1fca20, 0x2335d: 0x6c605420, 0x2335e: 0x6c5d2c20, 0x2335f: 0x6cb82e20,\n\t0x23360: 0x6c541020, 0x23361: 0x6c541220, 0x23363: 0x6c2d5c20,\n\t0x23369: 0x6d004c20,\n\t0x2336d: 0x6ccf5620, 0x2336e: 0x6ccc5c20,\n\t0x23372: 0x6d00ca20, 0x23373: 0x6d112220,\n\t0x23374: 0x6c26f420, 0x23376: 0x6d01d820, 0x23377: 0x6c1ac620,\n\t0x23378: 0x6d1fde20, 0x23379: 0x6c50a220, 0x2337a: 0x6ccc6220,\n\t0x2337f: 0x6cdf2e20,\n\t// Block 0x8ce, offset 0x23380\n\t0x23381: 0x6d3a1c20, 0x23383: 0x6c006c20,\n\t0x23387: 0x6cc3e020,\n\t0x23388: 0x6d2aea20, 0x2338a: 0x6c7e4a20, 0x2338b: 0x6c911620,\n\t0x2338c: 0x6c1fc820, 0x2338e: 0x6d1fe620,\n\t0x23396: 0x6ce41020,\n\t0x23398: 0x6cd1fa20,\n\t0x233a1: 0x6d000a20, 0x233a2: 0x6cf8ee20,\n\t0x233a8: 0x6c5e1220, 0x233a9: 0x6c1c8620, 0x233aa: 0x6d18e620,\n\t0x233af: 0x6cd54420,\n\t0x233b0: 0x6d270020, 0x233b1: 0x6c155420, 0x233b2: 0x6c36da20, 0x233b3: 0x6cf73620,\n\t0x233b4: 0x6cf74420, 0x233b5: 0x6d1d2a20, 0x233b6: 0x6d410020, 0x233b7: 0x6d28a220,\n\t0x233ba: 0x6d28a820,\n\t// Block 0x8cf, offset 0x233c0\n\t0x233c2: 0x6cde2c20, 0x233c3: 0x6ced7020,\n\t0x233c7: 0x6d031e20,\n\t0x233ca: 0x6cee4820, 0x233cb: 0x6c3f3820,\n\t0x233d0: 0x6c91b620,\n\t0x233de: 0x6c656820,\n\t0x233e1: 0x6d0c6620, 0x233e3: 0x6c094c20,\n\t0x233e4: 0x6c78fc20, 0x233e5: 0x6c497820,\n\t0x233e8: 0x6d3e1820,\n\t0x233ee: 0x6c7cce20, 0x233ef: 0x6d38e020,\n\t0x233f0: 0x6d35be20, 0x233f3: 0x6ce8a420,\n\t0x233f7: 0x6cde4c20,\n\t0x233f9: 0x6c1f3e20, 0x233fa: 0x6c196e20, 0x233fb: 0x6c1a7420,\n\t0x233fc: 0x6d3af420, 0x233fe: 0x6c26f220,\n\t// Block 0x8d0, offset 0x23400\n\t0x23407: 0x6c09c620,\n\t0x23409: 0x6c641c20,\n\t0x2340c: 0x6d17e620, 0x2340f: 0x6d26c420,\n\t0x23410: 0x6c428a20,\n\t0x23416: 0x6c41ae20,\n\t0x2341c: 0x6cbbac20,\n\t0x23420: 0x6c1eb020, 0x23421: 0x6c1eb620, 0x23422: 0x6c0a6a20,\n\t0x23426: 0x6c4b8a20,\n\t0x23429: 0x6c47e020, 0x2342a: 0x6c0e0020, 0x2342b: 0x6d1b9420,\n\t0x2342c: 0x6d3cbc20, 0x2342d: 0x6c47ec20, 0x2342f: 0x6c876820,\n\t0x23435: 0x6c35c420, 0x23436: 0x6c271420,\n\t0x2343c: 0x6c118620,\n\t// Block 0x8d1, offset 0x23440\n\t0x23442: 0x6ce3d420, 0x23443: 0x6c323620,\n\t0x23444: 0x6d168c20,\n\t0x23448: 0x6c2e6020, 0x2344a: 0x6ca97e20,\n\t0x2344c: 0x6d094420, 0x2344d: 0x6ca54a20, 0x2344e: 0x6c4b3220, 0x2344f: 0x6c779e20,\n\t0x23452: 0x6c201a20,\n\t0x23456: 0x6d2c2020, 0x23457: 0x6d1efc20,\n\t0x23459: 0x6c043420, 0x2345a: 0x6cd24a20, 0x2345b: 0x6c2d3e20,\n\t0x2345c: 0x6cabb420, 0x2345d: 0x6cc01620,\n\t0x23461: 0x6d094820, 0x23463: 0x6ca0e420,\n\t0x23464: 0x6c77e020, 0x23465: 0x6d1fb020, 0x23466: 0x6c68d220, 0x23467: 0x6c0ec620,\n\t0x2346c: 0x6d052020,\n\t0x23472: 0x6c9ce820, 0x23473: 0x6c95f220,\n\t0x23475: 0x6d094e20, 0x23477: 0x6c34e220,\n\t0x23479: 0x6c37c620, 0x2347a: 0x6cccd820,\n\t0x2347c: 0x6c7cee20, 0x2347d: 0x6ca52c20, 0x2347e: 0x6c9e1420, 0x2347f: 0x6c85ce20,\n\t// Block 0x8d2, offset 0x23480\n\t0x23480: 0x6c949620, 0x23482: 0x6c2e8420,\n\t0x23484: 0x6cb85620, 0x23485: 0x6c832a20, 0x23487: 0x6c997020,\n\t0x23489: 0x6c524c20, 0x2348a: 0x6c181620, 0x2348b: 0x6d35e620,\n\t0x2348d: 0x6c477c20, 0x2348e: 0x6c25b820,\n\t0x23493: 0x6cf4de20,\n\t0x23494: 0x6ce26420, 0x23497: 0x6cf61220,\n\t0x23498: 0x6d10a620, 0x23499: 0x6cefc620, 0x2349b: 0x6d40be20,\n\t0x2349c: 0x6c96be20, 0x2349d: 0x6d225a20, 0x2349e: 0x6caf0820, 0x2349f: 0x6d17a420,\n\t0x234a0: 0x6cbe1620, 0x234a1: 0x6d26b620, 0x234a2: 0x6c754c20, 0x234a3: 0x6c67e620,\n\t0x234a4: 0x6d06d820, 0x234a5: 0x6c07ea20,\n\t0x234aa: 0x6c95b020, 0x234ab: 0x6d3c6020,\n\t0x234b2: 0x6c326420, 0x234b3: 0x6cfe4020,\n\t0x234b6: 0x6c5be420,\n\t0x234ba: 0x6c479e20, 0x234bb: 0x6c77b020,\n\t0x234be: 0x6d037c20, 0x234bf: 0x6c5cf020,\n\t// Block 0x8d3, offset 0x234c0\n\t0x234c0: 0x6c0af820,\n\t0x234c4: 0x6c78c420, 0x234c5: 0x6c77b220,\n\t0x234c8: 0x6c25e820,\n\t0x234cf: 0x6c92a420,\n\t0x234d1: 0x6d41c620, 0x234d2: 0x6d2a2020, 0x234d3: 0x6c692e20,\n\t0x234d4: 0x6c49a020,\n\t0x234d9: 0x6d0c2220, 0x234da: 0x6c376620,\n\t0x234dc: 0x6cbe8820, 0x234df: 0x6c2ae820,\n\t0x234e0: 0x6cd8ea20, 0x234e1: 0x6cdc7220, 0x234e2: 0x6c8aa420,\n\t0x234e7: 0x6ccdb020,\n\t0x234e9: 0x6c0a6e20, 0x234ea: 0x6cf0e420, 0x234eb: 0x6d136020,\n\t0x234ed: 0x6d2d5020, 0x234ef: 0x6d129420,\n\t0x234f0: 0x6c2e4c20, 0x234f1: 0x6c00ee20,\n\t0x234f4: 0x6c680620, 0x234f7: 0x6cda6220,\n\t0x234f9: 0x6c581c20, 0x234fa: 0x6d246020,\n\t0x234fd: 0x6cc50a20,\n\t// Block 0x8d4, offset 0x23500\n\t0x23500: 0x6c2cfa20, 0x23501: 0x6d413e20, 0x23502: 0x6c047420,\n\t0x23504: 0x6cbd5a20, 0x23507: 0x6c633620,\n\t0x23509: 0x6cafcc20,\n\t0x2350c: 0x6ce7ec20,\n\t0x23510: 0x6c1da220,\n\t0x23515: 0x6c4af020,\n\t0x23520: 0x6c5ee620,\n\t0x23528: 0x6d096420, 0x2352a: 0x6c2d6020,\n\t0x2352d: 0x6c0bac20, 0x2352e: 0x6d291c20, 0x2352f: 0x6ce76820,\n\t0x23536: 0x6ccd5820,\n\t0x23538: 0x6c482620, 0x23539: 0x6cc3ec20,\n\t// Block 0x8d5, offset 0x23540\n\t0x23540: 0x6c47cc20,\n\t0x23548: 0x6c55b220, 0x23549: 0x6c7b0420,\n\t0x2354c: 0x6c46d820, 0x2354e: 0x6cdb3220,\n\t0x23550: 0x6c1df620, 0x23552: 0x6c795c20,\n\t0x23554: 0x6c317e20,\n\t0x23559: 0x6d190a20,\n\t0x2355c: 0x6c2a4220, 0x2355d: 0x6cbaf820,\n\t0x23563: 0x6c900220,\n\t0x23565: 0x6c84cc20, 0x23567: 0x6c87a020,\n\t0x23568: 0x6cbe6420, 0x2356a: 0x6ceed420,\n\t0x2356c: 0x6ca1bc20,\n\t0x23571: 0x6cb74420, 0x23573: 0x6c67a020,\n\t0x23574: 0x6d008c20,\n\t0x23579: 0x6c277820, 0x2357b: 0x6c90a420,\n\t// Block 0x8d6, offset 0x23580\n\t0x23582: 0x6c497620,\n\t0x23586: 0x6cadc820,\n\t0x23589: 0x6cafce20, 0x2358b: 0x6c735420,\n\t0x2358d: 0x6c06aa20, 0x2358e: 0x6c747c20, 0x2358f: 0x6c738420,\n\t0x23590: 0x6cd3b420,\n\t0x23595: 0x6d014a20,\n\t0x23598: 0x6cc8a820, 0x23599: 0x6c6ec220, 0x2359a: 0x6cb3be20, 0x2359b: 0x6cc9f420,\n\t0x235a0: 0x6c5e7a20,\n\t0x235a9: 0x6c3b1820, 0x235aa: 0x6c06e820, 0x235ab: 0x6c6bc220,\n\t0x235ac: 0x6cc94020, 0x235ae: 0x6caf3e20,\n\t0x235b4: 0x6c2c2220, 0x235b5: 0x6c98c820, 0x235b6: 0x6c03ec20, 0x235b7: 0x6c03ee20,\n\t0x235b8: 0x6ce57820, 0x235b9: 0x6c8cba20, 0x235ba: 0x6cd0f020, 0x235bb: 0x6d31c220,\n\t0x235bc: 0x6caf4620, 0x235bd: 0x6cf4c620, 0x235bf: 0x6d2b4220,\n\t// Block 0x8d7, offset 0x235c0\n\t0x235c0: 0x6c063a20,\n\t0x235c7: 0x6c938020,\n\t0x235d6: 0x6c4fa020, 0x235d7: 0x6c30e020,\n\t0x235d8: 0x6c3e0e20, 0x235d9: 0x6ca5c420,\n\t0x235dd: 0x6c43de20,\n\t0x235e0: 0x6cc79820, 0x235e1: 0x6cfbfc20,\n\t0x235e4: 0x6c096020,\n\t0x235ee: 0x6c98d220,\n\t0x235f2: 0x6cc70a20, 0x235f3: 0x6cc04c20,\n\t0x235f7: 0x6c0ee820,\n\t0x235f9: 0x6c4fa620, 0x235fa: 0x6ca4ee20, 0x235fb: 0x6d0c8620,\n\t// Block 0x8d8, offset 0x23600\n\t0x23603: 0x6cad5c20,\n\t0x23604: 0x6cdbc020, 0x23606: 0x6ceba220,\n\t0x23608: 0x6cc10a20, 0x23609: 0x6c83d620, 0x2360a: 0x6c2a7220,\n\t0x2360c: 0x6c6aca20, 0x2360d: 0x6c6acc20, 0x2360e: 0x6c4bc820, 0x2360f: 0x6c649c20,\n\t0x23610: 0x6c099e20,\n\t0x23620: 0x6cca5620, 0x23621: 0x6c053020, 0x23622: 0x6c214a20,\n\t0x23626: 0x6ca3c220, 0x23627: 0x6c054e20,\n\t0x2362a: 0x6cc68820, 0x2362b: 0x6c636c20,\n\t0x2362c: 0x6cd9c220,\n\t0x23630: 0x6c2a7420,\n\t0x2363e: 0x6cfaac20, 0x2363f: 0x6d2d8020,\n\t// Block 0x8d9, offset 0x23640\n\t0x23640: 0x6c999620, 0x23643: 0x6d3e5020,\n\t0x23645: 0x6c623c20, 0x23646: 0x6cb61c20,\n\t0x2364b: 0x6cc82420,\n\t0x2364c: 0x6cdd2c20, 0x2364d: 0x6cc71620, 0x2364e: 0x6cf50c20, 0x2364f: 0x6cc69620,\n\t0x23650: 0x6cc69820,\n\t0x2365a: 0x6cde7620,\n\t0x2365c: 0x6cd9d020,\n\t0x23664: 0x6c842c20, 0x23667: 0x6c24fc20,\n\t0x23668: 0x6d3fb020, 0x23669: 0x6c9ad220, 0x2366a: 0x6cf80820,\n\t0x2366c: 0x6c989e20, 0x2366d: 0x6ca86220, 0x2366f: 0x6cdbd220,\n\t0x23671: 0x6cadea20,\n\t0x23674: 0x6c0a2820, 0x23675: 0x6c2c9020,\n\t0x23678: 0x6cc1be20, 0x23679: 0x6cbbfa20, 0x2367b: 0x6c3b4420,\n\t0x2367c: 0x6cdb1620,\n\t// Block 0x8da, offset 0x23680\n\t0x23683: 0x6d05e620,\n\t0x23687: 0x6cc72420,\n\t0x23688: 0x6c5f3220, 0x2368b: 0x6cc1d620,\n\t0x2368c: 0x6c8b3820,\n\t0x23695: 0x6ccafe20,\n\t0x23698: 0x6c7dd620, 0x2369a: 0x6c257620, 0x2369b: 0x6d136c20,\n\t0x2369c: 0x6c0e3220, 0x2369e: 0x6c6b5c20,\n\t0x236a0: 0x6cc1e020, 0x236a1: 0x6cc1e220,\n\t0x236a5: 0x6c9b6e20, 0x236a6: 0x6cc49020,\n\t0x236a8: 0x6c0d5e20, 0x236a9: 0x6c178220,\n\t0x236ac: 0x6c31d420,\n\t0x236b6: 0x6cc4ec20, 0x236b7: 0x6cfb0220,\n\t0x236ba: 0x6ce25220, 0x236bb: 0x6cc20a20,\n\t0x236bc: 0x6ca8b420, 0x236bf: 0x6cd51c20,\n\t// Block 0x8db, offset 0x236c0\n\t0x236c0: 0x6c920220, 0x236c2: 0x6c7dda20,\n\t0x236c8: 0x6c9f3620, 0x236c9: 0x6c9f9e20,\n\t0x236cd: 0x6c287e20,\n\t0x236d0: 0x6d1b6820, 0x236d3: 0x6d001020,\n\t0x236d7: 0x6c618820,\n\t0x236dc: 0x6d19b220,\n\t0x236e6: 0x6c3b3820, 0x236e7: 0x6d383420,\n\t0x236eb: 0x6c47c020,\n\t0x236f1: 0x6c13c420, 0x236f3: 0x6c8e3c20,\n\t0x236f6: 0x6c102c20,\n\t0x236fa: 0x6cabae20, 0x236fb: 0x6cd87620,\n\t0x236fc: 0x6c29b820, 0x236fd: 0x6d31b020,\n\t// Block 0x8dc, offset 0x23700\n\t0x23700: 0x6cccb620, 0x23702: 0x6c1fbe20,\n\t0x23704: 0x6c6fa820,\n\t0x2370a: 0x6c787620, 0x2370b: 0x6c1af820,\n\t0x23711: 0x6c565c20, 0x23712: 0x6c858220, 0x23713: 0x6ccbc620,\n\t0x23716: 0x6cac1820, 0x23717: 0x6ceee220,\n\t0x23718: 0x6cf42620,\n\t0x2371c: 0x6d1c5420,\n\t0x23721: 0x6ccbc820, 0x23722: 0x6c2b1020,\n\t0x23725: 0x6c27b820,\n\t0x23731: 0x6ce83a20, 0x23732: 0x6c50ca20, 0x23733: 0x6cb34e20,\n\t0x23735: 0x6d34f620, 0x23736: 0x6ca98020, 0x23737: 0x6ca67e20,\n\t0x2373d: 0x6cc6f820, 0x2373e: 0x6c48ea20,\n\t// Block 0x8dd, offset 0x23740\n\t0x23740: 0x6d343e20, 0x23743: 0x6c5fe220,\n\t0x2375c: 0x6c392c20, 0x2375f: 0x6c6a8020,\n\t0x23760: 0x6c4d3820,\n\t0x23764: 0x6d2e4e20, 0x23766: 0x6cf86420,\n\t0x23769: 0x6d3e1220,\n\t0x2376c: 0x6cf76e20, 0x2376d: 0x6cb1ac20,\n\t0x23770: 0x6c078020, 0x23772: 0x6c657220,\n\t// Block 0x8de, offset 0x23780\n\t0x23793: 0x6c665c20,\n\t0x23796: 0x6d28ae20,\n\t0x2379e: 0x6c07ac20, 0x2379f: 0x6c995e20,\n\t0x237a2: 0x6d2a7620, 0x237a3: 0x6d3c3820,\n\t0x237a5: 0x6c7bbe20,\n\t0x237a8: 0x6c089e20, 0x237aa: 0x6cac2220,\n\t0x237bc: 0x6c996020, 0x237bd: 0x6ce09020,\n\t// Block 0x8df, offset 0x237c0\n\t0x237de: 0x6cea7a20, 0x237df: 0x6c95aa20,\n\t0x237e2: 0x6cdf9a20,\n\t0x237f1: 0x6c016a20,\n\t0x237f7: 0x6c4e0420,\n\t0x237f8: 0x6d3a0c20, 0x237fa: 0x6c34e820, 0x237fb: 0x6c34ea20,\n\t0x237fc: 0x6c421c20,\n\t// Block 0x8e0, offset 0x23800\n\t0x23806: 0x6cbf8c20,\n\t0x23808: 0x6cee1220, 0x2380a: 0x6ca10420, 0x2380b: 0x6d30f220,\n\t0x2380c: 0x6cf1d620, 0x2380d: 0x6d3c3a20, 0x2380f: 0x6c69fe20,\n\t0x23810: 0x6cad8e20,\n\t0x23818: 0x6cdaa820,\n\t0x2381d: 0x6c724020,\n\t0x23820: 0x6cb4ec20, 0x23821: 0x6c11f420, 0x23823: 0x6ce94a20,\n\t0x23824: 0x6ccbec20, 0x23826: 0x6ceb1620,\n\t0x23829: 0x6c579420, 0x2382b: 0x6d176220,\n\t// Block 0x8e1, offset 0x23840\n\t0x23860: 0x6c9f4820, 0x23861: 0x6d37b420,\n\t0x23865: 0x6cd77e20,\n\t0x23869: 0x6d176420, 0x2386a: 0x6cee1420, 0x2386b: 0x6c024220,\n\t0x23876: 0x6cda7820,\n\t0x2387e: 0x6c4b0020, 0x2387f: 0x6ceb8020,\n\t// Block 0x8e2, offset 0x23880\n\t0x23880: 0x6c5b5220, 0x23883: 0x6d06dc20,\n\t0x23884: 0x6d296c20, 0x23886: 0x6d3f1220, 0x23887: 0x6c0b9e20,\n\t0x23889: 0x6c26a620, 0x2388a: 0x6d19ca20, 0x2388b: 0x6cc35c20,\n\t0x2388e: 0x6c580e20, 0x2388f: 0x6ca2e020,\n\t0x23890: 0x6d28ba20, 0x23892: 0x6ce32620,\n\t0x23898: 0x6d14f820, 0x23899: 0x6cdfaa20, 0x2389a: 0x6ccf1820, 0x2389b: 0x6cd78220,\n\t0x2389d: 0x6d03e620,\n\t0x238a0: 0x6d1fce20, 0x238a3: 0x6c3b7620,\n\t// Block 0x8e3, offset 0x238c0\n\t0x238c7: 0x6c78b220,\n\t0x238cb: 0x6c3e7c20,\n\t0x238d2: 0x6c9fb220,\n\t0x238da: 0x6cb09820,\n\t0x238dc: 0x6c604220, 0x238dd: 0x6cbc4a20, 0x238de: 0x6d37fc20, 0x238df: 0x6c422820,\n\t0x238e0: 0x6d24f820, 0x238e1: 0x6c1b3620,\n\t0x238e5: 0x6cba5a20, 0x238e7: 0x6d424220,\n\t0x238e9: 0x6d00bc20, 0x238ea: 0x6c98ea20,\n\t0x238ec: 0x6c556e20, 0x238ee: 0x6cb0a420, 0x238ef: 0x6d0a9420,\n\t0x238f1: 0x6cf9d220, 0x238f2: 0x6ce34420,\n\t0x238f5: 0x6ca34e20, 0x238f6: 0x6c1fac20,\n\t// Block 0x8e4, offset 0x23900\n\t0x23900: 0x6cf45020,\n\t0x2392c: 0x6c599820, 0x2392d: 0x6d096620, 0x2392e: 0x6ce26620,\n\t0x23930: 0x6cbc4c20, 0x23933: 0x6c685020,\n\t0x2393c: 0x6c293020, 0x2393d: 0x6c044620,\n\t// Block 0x8e5, offset 0x23940\n\t0x2394d: 0x6c297620, 0x2394e: 0x6c79f820,\n\t0x23950: 0x6c70b220, 0x23951: 0x6ccc0a20, 0x23952: 0x6c6dc820,\n\t0x23955: 0x6ca06c20, 0x23956: 0x6caa0220,\n\t0x23958: 0x6cd78e20, 0x2395a: 0x6cd5f820, 0x2395b: 0x6d3c2020,\n\t0x2395c: 0x6c3ec220, 0x2395f: 0x6d29de20,\n\t0x23960: 0x6d00cc20, 0x23961: 0x6c812820, 0x23962: 0x6ce70420,\n\t0x23969: 0x6d306e20,\n\t0x2396c: 0x6c11fe20, 0x2396e: 0x6d26cc20,\n\t0x23971: 0x6d393620,\n\t// Block 0x8e6, offset 0x23980\n\t0x2399a: 0x6cdfb420,\n\t0x2399e: 0x6d0cb420, 0x2399f: 0x6c928820,\n\t0x239a0: 0x6d0db620,\n\t0x239a6: 0x6d2ae020, 0x239a7: 0x6cd66c20,\n\t// Block 0x8e7, offset 0x239c0\n\t0x239c5: 0x6c4c3620, 0x239c6: 0x6d3a2020,\n\t0x239c8: 0x6cc7bc20, 0x239c9: 0x6cc7be20,\n\t0x239cc: 0x6c76e620, 0x239cd: 0x6c626220, 0x239ce: 0x6c42da20,\n\t0x239d2: 0x6d01fa20,\n\t0x239d5: 0x6caba220, 0x239d6: 0x6c64d420,\n\t0x239da: 0x6d349220, 0x239db: 0x6d2c4820,\n\t0x239dd: 0x6c53a820, 0x239df: 0x6c7b7020,\n\t0x239e1: 0x6c0f4420,\n\t0x239e4: 0x6ccb4820, 0x239e5: 0x6c01cc20, 0x239e6: 0x6c66b820,\n\t0x239e8: 0x6ce2ac20, 0x239eb: 0x6cd93420,\n\t0x239ed: 0x6c9c0c20, 0x239ee: 0x6d1a9420, 0x239ef: 0x6cdfb620,\n\t0x239f0: 0x6c4c3820, 0x239f3: 0x6cc84620,\n\t0x239f4: 0x6cf0ba20, 0x239f7: 0x6cd8de20,\n\t// Block 0x8e8, offset 0x23a00\n\t0x23a24: 0x6cb7c220, 0x23a26: 0x6d2f0a20,\n\t// Block 0x8e9, offset 0x23a40\n\t0x23a45: 0x6c304020, 0x23a46: 0x6c3eee20, 0x23a47: 0x6cd07620,\n\t0x23a48: 0x6cdb1a20, 0x23a49: 0x6d18a020, 0x23a4a: 0x6c891820,\n\t0x23a4c: 0x6c516e20, 0x23a4e: 0x6d319420,\n\t0x23a50: 0x6d2afe20, 0x23a52: 0x6c250c20, 0x23a53: 0x6c250e20,\n\t0x23a5d: 0x6c3cf220, 0x23a5e: 0x6c853220, 0x23a5f: 0x6c7a0220,\n\t0x23a63: 0x6d000620,\n\t0x23a64: 0x6d1fee20,\n\t// Block 0x8ea, offset 0x23a80\n\t0x23a83: 0x6c4fea20,\n\t0x23a89: 0x6c4f0620, 0x23a8a: 0x6c790c20,\n\t0x23a9d: 0x6d23ec20,\n\t0x23aa3: 0x6c58e220,\n\t0x23aa4: 0x6cdd3e20, 0x23aa6: 0x6c7e9c20,\n\t0x23aa8: 0x6c313c20, 0x23aa9: 0x6c66de20, 0x23aaa: 0x6cb32020, 0x23aab: 0x6c0b5420,\n\t0x23ab0: 0x6d097420, 0x23ab2: 0x6c0bc820,\n\t0x23ab7: 0x6cf0e620,\n\t// Block 0x8eb, offset 0x23ac0\n\t0x23ae1: 0x6c28d620, 0x23ae2: 0x6c6b5e20, 0x23ae3: 0x6c046020,\n\t0x23ae5: 0x6ca74420, 0x23ae6: 0x6cfd2620, 0x23ae7: 0x6ccb7620,\n\t0x23aea: 0x6c576420, 0x23aeb: 0x6c1fa420,\n\t0x23aee: 0x6caba620, 0x23aef: 0x6c8b5020,\n\t0x23af0: 0x6c2ba420, 0x23af1: 0x6c114e20, 0x23af3: 0x6d2c5e20,\n\t0x23af5: 0x6c936820,\n\t0x23af9: 0x6c5e1420,\n\t0x23afc: 0x6c86ce20, 0x23afd: 0x6d1d1620, 0x23aff: 0x6cf03a20,\n\t// Block 0x8ec, offset 0x23b00\n\t0x23b00: 0x6c0a8c20, 0x23b01: 0x6c4c9620, 0x23b03: 0x6cb0ce20,\n\t0x23b06: 0x6c0c3a20,\n\t0x23b20: 0x6d0dea20,\n\t0x23b24: 0x6d3bee20,\n\t0x23b32: 0x6c539420,\n\t0x23b36: 0x6c8c7820, 0x23b37: 0x6c36ce20,\n\t0x23b39: 0x6d1b1820, 0x23b3a: 0x6c808020,\n\t0x23b3c: 0x6d123820, 0x23b3f: 0x6d08c820,\n\t// Block 0x8ed, offset 0x23b40\n\t0x23b40: 0x6c86fa20,\n\t0x23b68: 0x6c808420, 0x23b69: 0x6c8d9020, 0x23b6a: 0x6cf73820, 0x23b6b: 0x6c52de20,\n\t0x23b6d: 0x6c696a20, 0x23b6e: 0x6d3dd220,\n\t0x23b72: 0x6d34b620,\n\t0x23b75: 0x6c0fb820, 0x23b76: 0x6ce29620, 0x23b77: 0x6c019820,\n\t0x23b7a: 0x6d0a5220, 0x23b7b: 0x6c82fa20,\n\t0x23b7c: 0x6d29ec20, 0x23b7d: 0x6c5b7c20,\n\t// Block 0x8ee, offset 0x23b80\n\t0x23b8e: 0x6cf92620, 0x23b8f: 0x6c539820,\n\t0x23b91: 0x6c397820, 0x23b92: 0x6c662420, 0x23b93: 0x6c23c820,\n\t0x23b94: 0x6d28da20, 0x23b96: 0x6c10e020,\n\t0x23b98: 0x6d1ece20, 0x23b9b: 0x6c338820,\n\t0x23b9c: 0x6cac4e20,\n\t0x23ba5: 0x6cdede20, 0x23ba7: 0x6cacc420,\n\t0x23bab: 0x6c386e20,\n\t0x23bac: 0x6cf74620,\n\t0x23bb6: 0x6d124c20, 0x23bb7: 0x6c957620,\n\t0x23bba: 0x6c0b2220,\n\t0x23bbc: 0x6c6d7420, 0x23bbd: 0x6c876a20,\n\t// Block 0x8ef, offset 0x23bc0\n\t0x23bca: 0x6d0f0a20, 0x23bcb: 0x6c315020,\n\t0x23bce: 0x6c981620,\n\t0x23bd0: 0x6c45ca20, 0x23bd1: 0x6cc51420, 0x23bd2: 0x6c121220,\n\t0x23be3: 0x6c9ae420,\n\t0x23bf1: 0x6c47fc20, 0x23bf2: 0x6cd69e20,\n\t0x23bf8: 0x6d0d2020, 0x23bf9: 0x6c0adc20,\n\t// Block 0x8f0, offset 0x23c00\n\t0x23c00: 0x6c0c6a20, 0x23c01: 0x6c1a6220, 0x23c02: 0x6c7ce620,\n\t0x23c04: 0x6c5d8820,\n\t0x23c0d: 0x6c1be620, 0x23c0f: 0x6cf2d020,\n\t0x23c11: 0x6c23e820, 0x23c12: 0x6d357a20,\n\t0x23c19: 0x6cd70820,\n\t0x23c1c: 0x6c48a220, 0x23c1d: 0x6cb40020, 0x23c1e: 0x6d068620, 0x23c1f: 0x6cd7d020,\n\t0x23c21: 0x6cf42e20,\n\t0x23c2e: 0x6c3d4020,\n\t0x23c30: 0x6cd31e20, 0x23c33: 0x6c5b9220,\n\t0x23c34: 0x6c597c20, 0x23c35: 0x6cabb620,\n\t0x23c3c: 0x6d3a5e20, 0x23c3e: 0x6d14a220,\n\t// Block 0x8f1, offset 0x23c40\n\t0x23c43: 0x6c85a820,\n\t0x23c44: 0x6ccd3420,\n\t0x23c5c: 0x6c9f3820, 0x23c5e: 0x6c437c20,\n\t0x23c60: 0x6c54b020,\n\t0x23c6f: 0x6c371220,\n\t0x23c70: 0x6c380e20, 0x23c73: 0x6d06aa20,\n\t0x23c74: 0x6d14ca20,\n\t0x23c7e: 0x6d1d3620,\n\t// Block 0x8f2, offset 0x23c80\n\t0x23c94: 0x6c1b1820,\n\t0x23c99: 0x6d14cc20,\n\t0x23ca5: 0x6c2b6a20, 0x23ca6: 0x6c5b5020, 0x23ca7: 0x6c510c20,\n\t0x23ca9: 0x6d2c7a20,\n\t0x23cb6: 0x6d27a420, 0x23cb7: 0x6cfa9c20,\n\t// Block 0x8f3, offset 0x23cc0\n\t0x23ccc: 0x6cfb4c20, 0x23ccd: 0x6c81d220, 0x23cce: 0x6cced420, 0x23ccf: 0x6cd36820,\n\t0x23cd0: 0x6d3d5220,\n\t0x23ce4: 0x6c0ca820, 0x23ce5: 0x6c6fc020, 0x23ce6: 0x6cf29220, 0x23ce7: 0x6c68f820,\n\t0x23ce8: 0x6c3e7e20, 0x23cea: 0x6cfd7620, 0x23ceb: 0x6c768a20,\n\t// Block 0x8f4, offset 0x23d00\n\t0x23d32: 0x6ca4fe20,\n\t0x23d34: 0x6c5ddc20, 0x23d35: 0x6c605620, 0x23d36: 0x6c7e7e20,\n\t0x23d3b: 0x6c3d1220,\n\t0x23d3c: 0x6ccd4c20, 0x23d3d: 0x6c8a9c20, 0x23d3e: 0x6c9ee020, 0x23d3f: 0x6c182620,\n\t// Block 0x8f5, offset 0x23d40\n\t0x23d42: 0x6ca05e20,\n\t0x23d4f: 0x6c909820,\n\t0x23d68: 0x6c34f620, 0x23d6b: 0x6ca50020,\n\t0x23d6d: 0x6c5ee820,\n\t0x23d70: 0x6d3b0820,\n\t// Block 0x8f6, offset 0x23d80\n\t0x23d82: 0x6cdad220, 0x23d83: 0x6c34f820,\n\t0x23d87: 0x6c6f2820,\n\t0x23d8a: 0x6d291e20, 0x23d8b: 0x6c5b5c20,\n\t0x23d8c: 0x6d1cfe20, 0x23d8d: 0x6c557a20, 0x23d8e: 0x6c8c5820, 0x23d8f: 0x6cf25820,\n\t0x23d90: 0x6c4ee820,\n\t0x23d94: 0x6ca40620,\n\t0x23db7: 0x6cf8b020,\n\t0x23db9: 0x6c422c20,\n\t0x23dbe: 0x6c51d420, 0x23dbf: 0x6c5f0820,\n\t// Block 0x8f7, offset 0x23dc0\n\t0x23dc0: 0x6cfdf020, 0x23dc1: 0x6ccc0c20,\n\t0x23dd0: 0x6cea0c20, 0x23dd2: 0x6d2f6c20, 0x23dd3: 0x6cd60420,\n\t0x23dd5: 0x6d1fe820, 0x23dd6: 0x6c64d820,\n\t0x23ddc: 0x6d2a8c20,\n\t0x23de4: 0x6d2ed820,\n\t0x23dfd: 0x6cc92c20,\n\t// Block 0x8f8, offset 0x23e00\n\t0x23e04: 0x6d0c2420,\n\t0x23e0b: 0x6c255a20,\n\t0x23e17: 0x6c608a20,\n\t0x23e18: 0x6cce1a20,\n\t0x23e23: 0x6c36a820,\n\t0x23e24: 0x6c817420, 0x23e25: 0x6ce07820, 0x23e27: 0x6d3b2820,\n\t0x23e2d: 0x6c8c3620, 0x23e2f: 0x6d2b9220,\n\t0x23e31: 0x6c732a20, 0x23e32: 0x6c550220,\n\t// Block 0x8f9, offset 0x23e40\n\t0x23e57: 0x6cd07820,\n\t0x23e58: 0x6c5dfa20,\n\t0x23e5c: 0x6c7d2020,\n\t0x23e71: 0x6c1f7620, 0x23e72: 0x6d395020,\n\t0x23e76: 0x6c023020,\n\t0x23e78: 0x6d3db220,\n\t0x23e7d: 0x6d03a420, 0x23e7f: 0x6c9ef420,\n\t// Block 0x8fa, offset 0x23e80\n\t0x23e80: 0x6c550c20,\n\t0x23e94: 0x6ce01a20,\n\t0x23e99: 0x6c0a7220,\n\t0x23ea3: 0x6c2f8420,\n\t0x23ea9: 0x6c769820, 0x23eab: 0x6c0c3c20,\n\t0x23eb0: 0x6c5e1620, 0x23eb1: 0x6c8b5220, 0x23eb2: 0x6c24b820,\n\t// Block 0x8fb, offset 0x23ec0\n\t0x23ec3: 0x6cfd2820,\n\t0x23ec4: 0x6cc55620,\n\t0x23ed3: 0x6d270220,\n\t0x23ed5: 0x6d09be20, 0x23ed7: 0x6c8a8020,\n\t0x23ee3: 0x6ccc2a20,\n\t0x23ee6: 0x6cd3fc20,\n\t0x23eea: 0x6d025c20,\n\t0x23ef3: 0x6cff4a20,\n\t0x23ef7: 0x6d129620,\n\t0x23ef8: 0x6c805020, 0x23ef9: 0x6d192e20,\n\t0x23eff: 0x6c88da20,\n\t// Block 0x8fc, offset 0x23f00\n\t0x23f14: 0x6c0fba20, 0x23f15: 0x6c126e20,\n\t0x23f1d: 0x6d124220,\n\t0x23f26: 0x6c893620,\n\t0x23f3b: 0x6cdef020,\n\t// Block 0x8fd, offset 0x23f40\n\t0x23f51: 0x6c62ec20,\n\t0x23f54: 0x6cf75220, 0x23f55: 0x6d377020,\n\t0x23f5a: 0x6cf75620,\n\t0x23f5d: 0x6d273220,\n\t0x23f64: 0x6cfc6c20, 0x23f66: 0x6d3df820,\n\t0x23f6f: 0x6d2ef820,\n\t0x23f75: 0x6d410620, 0x23f77: 0x6ca2ce20,\n\t0x23f7e: 0x6c2a0420, 0x23f7f: 0x6c8ad620,\n\t// Block 0x8fe, offset 0x23f80\n\t0x23f80: 0x6ca2d220,\n\t0x23f89: 0x6cad5420, 0x23f8b: 0x6c721620,\n\t0x23f96: 0x6c95b220,\n\t0x23f99: 0x6cd64820, 0x23f9a: 0x6cce5420,\n\t0x23f9d: 0x6c95b420, 0x23f9f: 0x6c3b3a20,\n\t0x23fa3: 0x6c065820,\n\t0x23fa8: 0x6c865820, 0x23fab: 0x6d04a220,\n\t0x23fb6: 0x6c290820,\n\t// Block 0x8ff, offset 0x23fc0\n\t0x23fc0: 0x6c1a8c20,\n\t0x23fc4: 0x6d2f1420, 0x23fc7: 0x6cda3a20,\n\t0x23fca: 0x6cd03e20,\n\t0x23fd2: 0x6c447220,\n\t0x23fd8: 0x6d209020, 0x23fda: 0x6c5ad420, 0x23fdb: 0x6c183e20,\n\t0x23fdd: 0x6c698420, 0x23fde: 0x6d3ac420, 0x23fdf: 0x6cd4b220,\n\t0x23fe2: 0x6cff8420,\n\t0x23fe6: 0x6ca91420,\n\t0x23fed: 0x6c674420, 0x23fef: 0x6c674820,\n\t0x23ff7: 0x6c2e0e20,\n\t0x23ffd: 0x6cbb0c20, 0x23ffe: 0x6cc04e20,\n\t// Block 0x900, offset 0x24000\n\t0x24000: 0x6c3c4020,\n\t0x24006: 0x6d2e6620, 0x24007: 0x6c77fa20,\n\t0x24012: 0x6c2ece20, 0x24013: 0x6d2aec20,\n\t0x24016: 0x6c49f820, 0x24017: 0x6ccb5c20,\n\t0x24018: 0x6c3bea20, 0x2401b: 0x6c67bc20,\n\t0x2401d: 0x6d0cd820, 0x2401e: 0x6d370820,\n\t0x24022: 0x6c872220,\n\t0x24026: 0x6c8ddc20,\n\t0x2402a: 0x6d146420,\n\t0x2402c: 0x6cc23e20, 0x2402d: 0x6cac5220, 0x2402e: 0x6c463a20,\n\t0x24030: 0x6c640220, 0x24031: 0x6c50da20, 0x24033: 0x6caf0c20,\n\t0x24035: 0x6c721820, 0x24037: 0x6c180620,\n\t0x2403a: 0x6c8af220, 0x2403b: 0x6cd35220,\n\t0x2403c: 0x6cb37a20, 0x2403d: 0x6cfe2820, 0x2403f: 0x6cb08e20,\n\t// Block 0x901, offset 0x24040\n\t0x24040: 0x6c95ae20, 0x24041: 0x6c243420, 0x24043: 0x6d225020,\n\t0x24047: 0x6c79a820,\n\t0x24048: 0x6d01b020,\n\t0x2404d: 0x6ced1e20, 0x2404e: 0x6d0d8e20, 0x2404f: 0x6cadd820,\n\t0x24053: 0x6c1a0620,\n\t0x24058: 0x6ce34620, 0x24059: 0x6c182820, 0x2405a: 0x6c09ce20, 0x2405b: 0x6c890820,\n\t0x2405c: 0x6c641e20, 0x2405e: 0x6ce68220,\n\t0x24062: 0x6ce2f620,\n\t0x24068: 0x6c2edc20, 0x2406a: 0x6cd60620, 0x2406b: 0x6c842e20,\n\t0x2406c: 0x6c936020, 0x2406d: 0x6cf97420, 0x2406f: 0x6c24e420,\n\t0x24073: 0x6c0e9220,\n\t0x24074: 0x6ce9ba20, 0x24075: 0x6cb45020, 0x24077: 0x6c8c6220,\n\t0x24078: 0x6c3bec20, 0x2407a: 0x6c0f7620, 0x2407b: 0x6c163620,\n\t0x2407e: 0x6c290a20, 0x2407f: 0x6cdf5820,\n\t// Block 0x902, offset 0x24080\n\t0x24080: 0x6c2a3c20, 0x24083: 0x6c872420,\n\t0x24085: 0x6d0b1220, 0x24086: 0x6d0b1820, 0x24087: 0x6d2d6620,\n\t0x2408a: 0x6d14e220,\n\t0x2408c: 0x6cb4fa20,\n\t0x24094: 0x6c564420, 0x24096: 0x6ce62a20,\n\t0x24098: 0x6c79cc20, 0x2409b: 0x6c213220,\n\t0x2409c: 0x6d1f0020, 0x2409d: 0x6c3bd020, 0x2409f: 0x6caab220,\n\t0x240a0: 0x6ce53020, 0x240a1: 0x6c6cde20, 0x240a2: 0x6cafbc20, 0x240a3: 0x6c18a420,\n\t0x240a4: 0x6cb08820, 0x240a6: 0x6c6bc420, 0x240a7: 0x6c4ac820,\n\t0x240b2: 0x6d3c3220,\n\t0x240b5: 0x6c552420, 0x240b6: 0x6c1e2420, 0x240b7: 0x6cd5a020,\n\t0x240b8: 0x6ce1b420, 0x240b9: 0x6cafc620, 0x240ba: 0x6cc70020, 0x240bb: 0x6cc70220,\n\t0x240bd: 0x6c544e20, 0x240be: 0x6cae5a20,\n\t// Block 0x903, offset 0x240c0\n\t0x240c5: 0x6c043e20, 0x240c7: 0x6cf99a20,\n\t0x240cb: 0x6cbdcc20,\n\t0x240cc: 0x6ca63220, 0x240ce: 0x6ce1b620, 0x240cf: 0x6cc26a20,\n\t0x240d2: 0x6d008e20,\n\t0x240d4: 0x6d2fa820, 0x240d5: 0x6c570e20, 0x240d6: 0x6d02c820,\n\t0x240d8: 0x6cd42e20, 0x240db: 0x6ce8a620,\n\t0x240dd: 0x6c895020, 0x240de: 0x6c097c20, 0x240df: 0x6c1e5a20,\n\t0x240e1: 0x6d037020, 0x240e3: 0x6d02cc20,\n\t0x240e4: 0x6c3d6820,\n\t0x240e9: 0x6c6bde20,\n\t0x240ed: 0x6c3f5e20,\n\t0x240f0: 0x6ce27a20, 0x240f1: 0x6ccf4c20,\n\t0x240f4: 0x6c174620, 0x240f5: 0x6c20b820,\n\t0x240fc: 0x6cc47a20, 0x240fd: 0x6c545620, 0x240fe: 0x6c07ec20,\n\t// Block 0x904, offset 0x24100\n\t0x24100: 0x6c113020,\n\t0x24105: 0x6ca21420,\n\t0x24109: 0x6d059e20, 0x2410a: 0x6c2eaa20,\n\t0x2410d: 0x6c15c220, 0x2410e: 0x6d215c20, 0x2410f: 0x6d383620,\n\t0x24113: 0x6c83e620,\n\t0x24114: 0x6cd43420,\n\t0x2411a: 0x6c31a420,\n\t0x2411c: 0x6c98bc20, 0x2411d: 0x6c59d420, 0x2411f: 0x6ce22c20,\n\t0x24121: 0x6c326620, 0x24122: 0x6ce34820, 0x24123: 0x6cd10820,\n\t0x24124: 0x6c9a0e20,\n\t0x24128: 0x6d316820, 0x24129: 0x6cbd9020, 0x2412a: 0x6cb0ae20, 0x2412b: 0x6ce11620,\n\t0x2412c: 0x6c123820, 0x2412d: 0x6d112420, 0x2412f: 0x6d054620,\n\t0x24130: 0x6c053620, 0x24131: 0x6c47b220,\n\t0x24135: 0x6c10aa20,\n\t0x2413c: 0x6c46c620, 0x2413d: 0x6c0f2e20,\n\t// Block 0x905, offset 0x24140\n\t0x24141: 0x6cf21020,\n\t0x24144: 0x6c624420,\n\t0x2414a: 0x6c7e4c20,\n\t0x2414d: 0x6c24e620, 0x2414e: 0x6c9fc820, 0x2414f: 0x6c242820,\n\t0x24150: 0x6cab4e20, 0x24151: 0x6d1da620,\n\t0x24156: 0x6c98fe20, 0x24157: 0x6c78c820,\n\t0x24158: 0x6c981e20, 0x24159: 0x6c2f8020, 0x2415a: 0x6c582e20, 0x2415b: 0x6c34ac20,\n\t0x2415c: 0x6c677420, 0x2415d: 0x6cdb0220,\n\t0x24162: 0x6c135c20, 0x24163: 0x6cde9e20,\n\t0x24165: 0x6c59f820, 0x24166: 0x6c74be20, 0x24167: 0x6d0a4020,\n\t0x2416a: 0x6d04a620,\n\t0x2416c: 0x6c9d8820, 0x2416d: 0x6cc45620, 0x2416e: 0x6c817620,\n\t0x24171: 0x6d370a20, 0x24172: 0x6cf02820,\n\t0x24177: 0x6ccb6e20,\n\t0x2417b: 0x6d29ea20,\n\t// Block 0x906, offset 0x24180\n\t0x24181: 0x6c019620, 0x24182: 0x6cf10c20,\n\t0x24184: 0x6c581e20, 0x24187: 0x6d2e9e20,\n\t0x24189: 0x6d1c2c20, 0x2418a: 0x6c43bc20, 0x2418b: 0x6c5c9220,\n\t0x2418d: 0x6cc33420,\n\t0x24193: 0x6c8b7c20,\n\t0x24194: 0x6c719a20, 0x24195: 0x6c03de20, 0x24196: 0x6c82a620,\n\t0x24198: 0x6c97ac20, 0x24199: 0x6c8dde20,\n\t0x2419c: 0x6c856a20, 0x2419d: 0x6c611420,\n\t0x241a1: 0x6c5b1620, 0x241a2: 0x6d031820, 0x241a3: 0x6cd30020,\n\t0x241a4: 0x6d300e20, 0x241a7: 0x6c0e4820,\n\t0x241ab: 0x6c137a20,\n\t0x241af: 0x6c137e20,\n\t0x241b0: 0x6c6d8c20, 0x241b1: 0x6c031c20, 0x241b2: 0x6c06da20,\n\t0x241b5: 0x6d0e3c20, 0x241b7: 0x6c565e20,\n\t0x241b9: 0x6d20ba20, 0x241bb: 0x6c091e20,\n\t0x241bc: 0x6c1ff220, 0x241be: 0x6c612220,\n\t// Block 0x907, offset 0x241c0\n\t0x241c2: 0x6ca26c20,\n\t0x241c4: 0x6c98c420, 0x241c5: 0x6d379420, 0x241c7: 0x6d12c620,\n\t0x241c8: 0x6c30a020, 0x241c9: 0x6d12a420,\n\t0x241cd: 0x6cc63c20, 0x241ce: 0x6d19a620,\n\t0x241d0: 0x6c501e20, 0x241d2: 0x6ca31220, 0x241d3: 0x6ce61020,\n\t0x241d4: 0x6c3fb620, 0x241d5: 0x6ca22c20, 0x241d6: 0x6d291020,\n\t0x241d8: 0x6c552820, 0x241da: 0x6c185c20, 0x241db: 0x6ceaf420,\n\t0x241de: 0x6c1f1220, 0x241df: 0x6c3df820,\n\t0x241e7: 0x6c063420,\n\t0x241ec: 0x6c2bde20, 0x241ed: 0x6c111c20, 0x241ee: 0x6c921220, 0x241ef: 0x6cb35020,\n\t0x241f0: 0x6c268620, 0x241f1: 0x6d12da20, 0x241f3: 0x6d15d220,\n\t0x241f7: 0x6cfdb620,\n\t0x241f8: 0x6c086e20, 0x241f9: 0x6d398c20, 0x241fb: 0x6d14a620,\n\t0x241fd: 0x6c93d220, 0x241ff: 0x6c7b9420,\n\t// Block 0x908, offset 0x24200\n\t0x24202: 0x6d35a420,\n\t0x24207: 0x6cec0820,\n\t0x24208: 0x6c2b1c20, 0x24209: 0x6cd5b020, 0x2420a: 0x6c8ad820, 0x2420b: 0x6d2a4220,\n\t0x2420c: 0x6d35a620, 0x2420d: 0x6ca49e20,\n\t0x24217: 0x6c147220,\n\t0x2421a: 0x6cfea620, 0x2421b: 0x6d2a0220,\n\t0x2421e: 0x6d22f420, 0x2421f: 0x6c310620,\n\t0x24220: 0x6c143e20, 0x24221: 0x6d009020, 0x24222: 0x6d0fa220,\n\t0x24224: 0x6cfc0220, 0x24225: 0x6c05f220,\n\t0x2422e: 0x6d2cec20,\n\t0x24230: 0x6cc03420, 0x24232: 0x6c553420, 0x24233: 0x6d293220,\n\t0x24234: 0x6c741620, 0x24236: 0x6c4d9a20,\n\t0x2423f: 0x6c01ae20,\n\t// Block 0x909, offset 0x24240\n\t0x24240: 0x6d2a7820, 0x24243: 0x6ccc4c20,\n\t0x24245: 0x6cfcb220, 0x24246: 0x6c1b9e20, 0x24247: 0x6d0d6a20,\n\t0x24249: 0x6c01ba20,\n\t0x2424d: 0x6d305220, 0x2424e: 0x6c742c20,\n\t0x24251: 0x6c85ea20, 0x24253: 0x6c822020,\n\t0x24256: 0x6c112c20,\n\t0x24258: 0x6c924220, 0x2425a: 0x6c634c20,\n\t0x2425d: 0x6cfa3820, 0x2425e: 0x6cfff020, 0x2425f: 0x6d0c0c20,\n\t0x24260: 0x6d05a020, 0x24262: 0x6c33f020, 0x24263: 0x6d1c7620,\n\t0x24264: 0x6c5ab820, 0x24265: 0x6ce32820, 0x24266: 0x6caa0020, 0x24267: 0x6cf7e820,\n\t0x2426a: 0x6ce8b220,\n\t0x24277: 0x6cec5620,\n\t0x24278: 0x6c186620,\n\t0x2427c: 0x6c52aa20, 0x2427e: 0x6ce32a20, 0x2427f: 0x6d07a020,\n\t// Block 0x90a, offset 0x24280\n\t0x24280: 0x6d28bc20,\n\t0x24287: 0x6c43f020,\n\t0x2428b: 0x6c908c20,\n\t0x2428c: 0x6c147c20, 0x2428d: 0x6cac6020, 0x2428e: 0x6c605820,\n\t0x24290: 0x6cde5e20, 0x24293: 0x6cf64e20,\n\t0x24296: 0x6cfeda20,\n\t0x24298: 0x6ccab620, 0x24299: 0x6c637020, 0x2429a: 0x6cdad420, 0x2429b: 0x6c599a20,\n\t0x2429d: 0x6c25bc20, 0x2429f: 0x6cde6020,\n\t0x242a0: 0x6cd65420,\n\t0x242aa: 0x6c3e9a20, 0x242ab: 0x6c863620,\n\t0x242ad: 0x6ccf5a20, 0x242af: 0x6ce10620,\n\t0x242b6: 0x6c2cd020,\n\t0x242ba: 0x6c09fa20,\n\t0x242bc: 0x6c46c820, 0x242bd: 0x6c244620, 0x242bf: 0x6cb90820,\n\t// Block 0x90b, offset 0x242c0\n\t0x242c2: 0x6c824620, 0x242c3: 0x6cdaea20,\n\t0x242c6: 0x6d402420, 0x242c7: 0x6c4faa20,\n\t0x242cf: 0x6c1c4420,\n\t0x242d0: 0x6c128020, 0x242d3: 0x6cf30420,\n\t0x242d4: 0x6cfef220, 0x242d5: 0x6c8b2020, 0x242d6: 0x6d0c1e20,\n\t0x242dd: 0x6c09fc20, 0x242df: 0x6c594220,\n\t0x242e1: 0x6cf67820, 0x242e2: 0x6c1ac820, 0x242e3: 0x6d05d620,\n\t0x242e4: 0x6ca4bc20, 0x242e5: 0x6d0cc020, 0x242e7: 0x6d01fc20,\n\t0x242e8: 0x6d2c4a20, 0x242ea: 0x6cdc5e20,\n\t0x242ec: 0x6cf8ca20, 0x242ed: 0x6c080620, 0x242ee: 0x6cc48420, 0x242ef: 0x6cd79820,\n\t0x242f0: 0x6c049020, 0x242f1: 0x6c4b6a20, 0x242f2: 0x6c763c20, 0x242f3: 0x6c188020,\n\t0x242f6: 0x6d072820,\n\t0x242fe: 0x6c368620, 0x242ff: 0x6c865a20,\n\t// Block 0x90c, offset 0x24300\n\t0x24300: 0x6cf69e20, 0x24301: 0x6c594c20, 0x24302: 0x6cdb0420,\n\t0x24304: 0x6c16f620,\n\t0x2430a: 0x6c92a820, 0x2430b: 0x6d0cc220,\n\t0x2430e: 0x6c290620, 0x2430f: 0x6c284620,\n\t0x24310: 0x6d0f6a20, 0x24312: 0x6d2d3620, 0x24313: 0x6c729020,\n\t0x24315: 0x6c345e20, 0x24316: 0x6ccabe20, 0x24317: 0x6c7f2a20,\n\t0x24318: 0x6cdb1c20,\n\t0x2431f: 0x6d2b0020,\n\t0x24323: 0x6c0a5020,\n\t0x24326: 0x6d1b8c20,\n\t0x24328: 0x6c4fb420, 0x2432a: 0x6c8b3a20,\n\t0x2432d: 0x6c4ff620, 0x2432e: 0x6d0fdc20,\n\t0x24334: 0x6cd7a420, 0x24335: 0x6c00f020, 0x24336: 0x6cbf7420,\n\t0x24339: 0x6c82ec20, 0x2433a: 0x6d011220,\n\t0x2433c: 0x6cd3f220,\n\t// Block 0x90d, offset 0x24340\n\t0x24343: 0x6c91ec20,\n\t0x24345: 0x6cc41220, 0x24346: 0x6c888020,\n\t0x2434c: 0x6d001a20, 0x2434e: 0x6d1c2020,\n\t0x24351: 0x6d012620,\n\t0x24358: 0x6c8d9e20, 0x24359: 0x6d1ed620,\n\t0x2435e: 0x6c294020, 0x2435f: 0x6c806020,\n\t0x24360: 0x6cff5e20,\n\t0x24368: 0x6d182a20,\n\t0x2436c: 0x6cf34c20, 0x2436e: 0x6d168e20, 0x2436f: 0x6ceaa420,\n\t0x24370: 0x6c102e20, 0x24372: 0x6d032020,\n\t0x24375: 0x6cd7c420, 0x24376: 0x6c6c2a20,\n\t0x24378: 0x6c031e20, 0x24379: 0x6c383020, 0x2437b: 0x6ca0d420,\n\t0x2437c: 0x6cc91220,\n\t// Block 0x90e, offset 0x24380\n\t0x2438a: 0x6c26ea20, 0x2438b: 0x6c619820,\n\t0x24390: 0x6cda8820, 0x24391: 0x6cbf0620, 0x24392: 0x6c033020,\n\t0x243a6: 0x6ce48c20, 0x243a7: 0x6d1f0a20,\n\t0x243a9: 0x6ceb0020, 0x243ab: 0x6cec6c20,\n\t0x243ac: 0x6d202e20, 0x243ae: 0x6c2fe820,\n\t0x243b1: 0x6cf7d820, 0x243b2: 0x6c799820,\n\t0x243b6: 0x6cbf0c20, 0x243b7: 0x6c32f820,\n\t0x243b8: 0x6c34e420, 0x243ba: 0x6d173620,\n\t// Block 0x90f, offset 0x243c0\n\t0x243d2: 0x6cf5c820, 0x243d3: 0x6cbd2420,\n\t0x243d4: 0x6cda9220, 0x243d7: 0x6c8e5220,\n\t0x243d9: 0x6cecd820,\n\t0x243ed: 0x6c17da20, 0x243ee: 0x6d399a20,\n\t0x243f0: 0x6c997220,\n\t0x243f7: 0x6cc2de20,\n\t0x243fd: 0x6d208c20, 0x243ff: 0x6d17ac20,\n\t// Block 0x910, offset 0x24400\n\t0x24400: 0x6c9c5020, 0x24403: 0x6c7f0c20,\n\t0x24404: 0x6d362e20,\n\t0x24424: 0x6ca5e620, 0x24426: 0x6c048220,\n\t0x2442a: 0x6c300420,\n\t0x2442e: 0x6d363020,\n\t// Block 0x911, offset 0x24440\n\t0x24455: 0x6d17ec20,\n\t0x24458: 0x6c8d1e20, 0x24459: 0x6d216020, 0x2445a: 0x6c231e20, 0x2445b: 0x6c2c6a20,\n\t0x2445c: 0x6d365c20,\n\t0x24460: 0x6cc86820, 0x24463: 0x6c669a20,\n\t0x24469: 0x6ced8c20, 0x2446b: 0x6c6d2c20,\n\t0x2446d: 0x6cad0820,\n\t// Block 0x912, offset 0x24480\n\t0x2448d: 0x6c928a20, 0x2448e: 0x6cc1a620,\n\t0x24490: 0x6cf80020, 0x24491: 0x6c26b420,\n\t0x24496: 0x6c56c220, 0x24497: 0x6c95bc20,\n\t0x24499: 0x6c822820,\n\t0x244b6: 0x6c45f820,\n\t0x244bb: 0x6c8e2620,\n\t// Block 0x913, offset 0x244c0\n\t0x244c2: 0x6c817820,\n\t0x244c4: 0x6d3be420,\n\t0x244e8: 0x6d2a5220, 0x244e9: 0x6c506a20, 0x244ea: 0x6cfe5420,\n\t0x244ed: 0x6c507020, 0x244ee: 0x6c86a220,\n\t0x244f1: 0x6c2d8820, 0x244f2: 0x6c444020,\n\t0x244fd: 0x6c58a820,\n\t// Block 0x914, offset 0x24500\n\t0x24504: 0x6c36b620, 0x24506: 0x6cf9fe20,\n\t0x2450b: 0x6c651820,\n\t0x2450c: 0x6cb67420, 0x2450d: 0x6cfa0820, 0x2450e: 0x6d1ffa20,\n\t0x24521: 0x6d330420,\n\t0x2452a: 0x6d3bf220,\n\t0x2452e: 0x6c163a20,\n\t// Block 0x915, offset 0x24540\n\t0x24549: 0x6d027a20,\n\t0x24555: 0x6ca4d620,\n\t0x2455d: 0x6c62ee20, 0x2455e: 0x6ce4d620,\n\t0x24563: 0x6d0e3220,\n\t0x24567: 0x6c500c20,\n\t0x24568: 0x6d030820, 0x24569: 0x6c8de020, 0x2456b: 0x6c047620,\n\t0x2456c: 0x6c081220,\n\t0x24571: 0x6c463e20, 0x24572: 0x6c8cc820,\n\t0x24575: 0x6c7df420, 0x24576: 0x6cb85e20, 0x24577: 0x6c699e20,\n\t0x24579: 0x6c371420, 0x2457a: 0x6d10fa20, 0x2457b: 0x6c316e20,\n\t// Block 0x916, offset 0x24580\n\t0x24581: 0x6c5d9220, 0x24582: 0x6c322420, 0x24583: 0x6cadbe20,\n\t0x2458c: 0x6d259820, 0x2458f: 0x6c90b820,\n\t0x24590: 0x6d03f820, 0x24593: 0x6c883a20,\n\t0x24594: 0x6d113820, 0x24595: 0x6cf6a020, 0x24596: 0x6d114420,\n\t0x24598: 0x6cf70020, 0x2459b: 0x6c918a20,\n\t0x2459d: 0x6d0f0020,\n\t0x245a0: 0x6cc33820,\n\t0x245a5: 0x6cc50020, 0x245a6: 0x6cec2020, 0x245a7: 0x6d40a420,\n\t0x245a8: 0x6c392e20, 0x245a9: 0x6d16c620, 0x245aa: 0x6c323c20, 0x245ab: 0x6cdc2620,\n\t0x245ad: 0x6caf4820, 0x245af: 0x6c4de820,\n\t0x245b1: 0x6d069820, 0x245b3: 0x6c45e620,\n\t0x245b5: 0x6c2c2e20, 0x245b7: 0x6ca32620,\n\t0x245be: 0x6c34ec20, 0x245bf: 0x6cebda20,\n\t// Block 0x917, offset 0x245c0\n\t0x245c2: 0x6ca81820,\n\t0x245c8: 0x6c2e1a20, 0x245c9: 0x6c598e20,\n\t0x245cc: 0x6ce32c20, 0x245cd: 0x6c395420,\n\t0x245d1: 0x6cf3ca20, 0x245d2: 0x6c01fe20,\n\t0x245d4: 0x6cb2a820,\n\t0x245d9: 0x6c4e1420, 0x245db: 0x6c428820,\n\t0x245dc: 0x6c83e820, 0x245de: 0x6c339c20, 0x245df: 0x6c400e20,\n\t0x245e0: 0x6ca35020, 0x245e2: 0x6c132220,\n\t0x245e7: 0x6c6a2820,\n\t0x245e9: 0x6cbed020, 0x245eb: 0x6d1bd020,\n\t0x245ec: 0x6cfdd220,\n\t0x245f1: 0x6c557c20,\n\t0x245f4: 0x6cdaec20,\n\t0x245fb: 0x6c43a420,\n\t0x245fc: 0x6c368820, 0x245fd: 0x6d072a20,\n\t// Block 0x918, offset 0x24600\n\t0x24606: 0x6cf6cc20,\n\t0x2460a: 0x6c774c20, 0x2460b: 0x6c4c8a20,\n\t0x2460c: 0x6c6a3620, 0x2460d: 0x6c200c20, 0x2460e: 0x6c826220, 0x2460f: 0x6c527620,\n\t0x24610: 0x6d41f420,\n\t0x24615: 0x6cb1e620,\n\t0x24618: 0x6c2ab420, 0x24619: 0x6cf70220, 0x2461a: 0x6c826820,\n\t0x2461c: 0x6ccdc620,\n\t0x24627: 0x6c918c20,\n\t0x24629: 0x6c338a20, 0x2462a: 0x6c760420,\n\t0x2462d: 0x6c164820, 0x2462f: 0x6d012c20,\n\t0x24630: 0x6cec0220, 0x24631: 0x6d30c420, 0x24633: 0x6d3b9e20,\n\t0x24637: 0x6c8f6020,\n\t0x24638: 0x6c82aa20,\n\t0x2463c: 0x6c273620, 0x2463d: 0x6c417820,\n\t// Block 0x919, offset 0x24640\n\t0x24644: 0x6cd34020, 0x24647: 0x6d0da420,\n\t0x2464c: 0x6c41b420,\n\t0x24650: 0x6d0d0020,\n\t0x24656: 0x6cdbac20,\n\t0x2465a: 0x6d37a620,\n\t0x2465c: 0x6cd34220,\n\t0x24661: 0x6cd15c20,\n\t0x24665: 0x6c15ae20,\n\t0x24677: 0x6c5a0820,\n\t0x24678: 0x6d1b8e20, 0x2467b: 0x6c9bee20,\n\t// Block 0x91a, offset 0x24680\n\t0x24682: 0x6cc4f220,\n\t0x24685: 0x6cfdae20,\n\t0x24688: 0x6c071420,\n\t0x2468c: 0x6c200820,\n\t0x24691: 0x6cb47620,\n\t0x24699: 0x6c77d220, 0x2469a: 0x6c7e3820,\n\t0x2469d: 0x6cc35020, 0x2469f: 0x6c4f9220,\n\t0x246a0: 0x6c1bf220, 0x246a1: 0x6c983820,\n\t0x246a6: 0x6d2cb020,\n\t0x246aa: 0x6c3bd220,\n\t0x246ac: 0x6c17b420,\n\t0x246b3: 0x6c6e1820,\n\t// Block 0x91b, offset 0x246c0\n\t0x246c3: 0x6c8ada20,\n\t0x246c5: 0x6ca31c20, 0x246c6: 0x6ca31e20, 0x246c7: 0x6ce72a20,\n\t0x246cb: 0x6cc46620,\n\t0x246cc: 0x6d411620, 0x246cd: 0x6caf5420, 0x246ce: 0x6d1fba20,\n\t0x246d0: 0x6cd4be20,\n\t0x246db: 0x6c8af420,\n\t0x246dc: 0x6cd43020, 0x246dd: 0x6ce97e20, 0x246df: 0x6c430220,\n\t0x246e0: 0x6ccea220, 0x246e1: 0x6ceb0420, 0x246e3: 0x6ca3f220,\n\t0x246e7: 0x6ceb7a20,\n\t0x246e8: 0x6c458220, 0x246e9: 0x6c2e1c20,\n\t0x246f4: 0x6c9bd020, 0x246f5: 0x6c052820, 0x246f7: 0x6d00a420,\n\t0x246f8: 0x6cd8b420, 0x246f9: 0x6ce6c820, 0x246fa: 0x6c4b4220,\n\t0x246fd: 0x6c3e8020, 0x246fe: 0x6c4b4820,\n\t// Block 0x91c, offset 0x24700\n\t0x24709: 0x6c4b4a20,\n\t0x24711: 0x6d3a7420, 0x24713: 0x6c7f1420,\n\t0x24715: 0x6c951620, 0x24716: 0x6ce50020, 0x24717: 0x6cc4c620,\n\t0x2471a: 0x6c300820,\n\t0x24728: 0x6c737220, 0x24729: 0x6d0cac20,\n\t0x2472c: 0x6cc84020, 0x2472d: 0x6c283a20,\n\t0x24730: 0x6c999e20,\n\t0x24736: 0x6c944020,\n\t0x24738: 0x6d072c20, 0x2473a: 0x6cf6a220,\n\t// Block 0x91d, offset 0x24740\n\t0x24742: 0x6c967420, 0x24743: 0x6cb52220,\n\t0x24745: 0x6c144820,\n\t0x24748: 0x6cce1e20, 0x24749: 0x6c4f0820, 0x2474a: 0x6cb2ce20,\n\t0x2474e: 0x6c5f3820,\n\t0x24753: 0x6c86a620,\n\t0x24755: 0x6d240c20, 0x24756: 0x6c04a420,\n\t0x24758: 0x6ce29220,\n\t0x2475d: 0x6c1de820,\n\t0x24760: 0x6c1dea20,\n\t0x24764: 0x6cb54420, 0x24765: 0x6cf70420, 0x24766: 0x6c076820,\n\t0x2476a: 0x6d138020,\n\t0x2476d: 0x6c4a1020, 0x2476f: 0x6d3b3a20,\n\t0x24773: 0x6c827c20,\n\t0x24774: 0x6c827e20, 0x24775: 0x6c13be20,\n\t// Block 0x91e, offset 0x24780\n\t0x24780: 0x6c4a1420,\n\t0x2478d: 0x6c2f2420,\n\t0x24793: 0x6d0b4420,\n\t0x24798: 0x6ca7fc20, 0x24799: 0x6cd4de20, 0x2479b: 0x6d363220,\n\t0x2479f: 0x6d36e420,\n\t0x247a2: 0x6d36e620, 0x247a3: 0x6cb07620,\n\t0x247a5: 0x6c6f4e20, 0x247a6: 0x6c6f5220, 0x247a7: 0x6d169020,\n\t0x247a8: 0x6d201220, 0x247aa: 0x6c6f5420,\n\t0x247af: 0x6c58f220,\n\t0x247b1: 0x6c323e20,\n\t0x247bb: 0x6ce20c20,\n\t0x247bc: 0x6cbc9e20, 0x247bd: 0x6cbd5c20, 0x247be: 0x6d032420, 0x247bf: 0x6c14bc20,\n\t// Block 0x91f, offset 0x247c0\n\t0x247c0: 0x6c61ae20, 0x247c2: 0x6cbe0a20,\n\t0x247ca: 0x6c324620, 0x247cb: 0x6d33aa20,\n\t0x247ce: 0x6cab7820,\n\t0x247d0: 0x6cf4c820, 0x247d2: 0x6cf18620,\n\t0x247d8: 0x6c096620, 0x247db: 0x6c069420,\n\t0x247dd: 0x6ca23c20, 0x247de: 0x6c6cf420, 0x247df: 0x6ce21220,\n\t0x247e0: 0x6c89e220,\n\t0x247e5: 0x6c127220, 0x247e6: 0x6d2c2820,\n\t0x247ec: 0x6c1b8e20, 0x247ed: 0x6d0ae020, 0x247ee: 0x6c7c6420, 0x247ef: 0x6d1b4420,\n\t0x247f8: 0x6c8f8820, 0x247f9: 0x6cb86020, 0x247fb: 0x6c4f4c20,\n\t0x247fc: 0x6cce5020, 0x247fd: 0x6c4d6420, 0x247fe: 0x6c139220,\n\t// Block 0x920, offset 0x24800\n\t0x24800: 0x6c68e220, 0x24801: 0x6c81ae20,\n\t0x24808: 0x6cf5fa20, 0x2480b: 0x6c0ef220,\n\t0x24813: 0x6d351a20,\n\t0x24815: 0x6cea8a20, 0x24816: 0x6c3e8220,\n\t0x24818: 0x6c54ce20, 0x2481a: 0x6ca83220, 0x2481b: 0x6d17ae20,\n\t0x2481c: 0x6d3c4020,\n\t0x24820: 0x6c13e620,\n\t0x24824: 0x6cdb8220, 0x24827: 0x6d283620,\n\t0x2482e: 0x6c325e20,\n\t0x24830: 0x6cf61c20, 0x24831: 0x6c203620, 0x24832: 0x6d03e820, 0x24833: 0x6c68fa20,\n\t0x24834: 0x6ccfea20,\n\t// Block 0x921, offset 0x24840\n\t0x24840: 0x6cedca20, 0x24841: 0x6c06a220, 0x24842: 0x6c3a3a20, 0x24843: 0x6c669c20,\n\t0x24844: 0x6cc30020, 0x24845: 0x6d17f020, 0x24846: 0x6c300a20, 0x24847: 0x6d06f620,\n\t0x24848: 0x6ca35220, 0x24849: 0x6c605a20,\n\t0x2484c: 0x6d31e620, 0x2484d: 0x6cb5fa20, 0x2484e: 0x6c330a20, 0x2484f: 0x6d1a7220,\n\t0x24851: 0x6c700420, 0x24852: 0x6caffe20, 0x24853: 0x6d033e20,\n\t0x24854: 0x6c94fe20, 0x24855: 0x6c113420, 0x24856: 0x6c8e2020, 0x24857: 0x6c0cac20,\n\t0x24858: 0x6c2a1c20, 0x24859: 0x6c2a7620,\n\t0x2485f: 0x6c7ed820,\n\t0x24861: 0x6cf65020, 0x24862: 0x6c725620,\n\t0x24864: 0x6cff9020, 0x24866: 0x6c6dc020,\n\t0x24879: 0x6cec7220, 0x2487b: 0x6ca50a20,\n\t0x2487c: 0x6cfd8220, 0x2487d: 0x6cc3e220, 0x2487e: 0x6cbcd420, 0x2487f: 0x6ce86a20,\n\t// Block 0x922, offset 0x24880\n\t0x24880: 0x6d064a20, 0x24881: 0x6c5bfc20,\n\t0x24885: 0x6c9f6c20, 0x24886: 0x6ceff220,\n\t0x24888: 0x6d1f5620, 0x24889: 0x6ce9ae20, 0x2488a: 0x6c278020,\n\t0x2488e: 0x6c786c20, 0x2488f: 0x6ca36220,\n\t0x24891: 0x6c401c20, 0x24892: 0x6d239620, 0x24893: 0x6d354420,\n\t0x24895: 0x6c4dae20, 0x24896: 0x6c002e20, 0x24897: 0x6c401e20,\n\t0x248a1: 0x6d0f6220,\n\t0x248a4: 0x6cd27e20, 0x248a6: 0x6c150c20,\n\t0x248aa: 0x6c1c5c20, 0x248ab: 0x6d284820,\n\t0x248ac: 0x6cd65a20, 0x248ae: 0x6cdb0620, 0x248af: 0x6cca8620,\n\t0x248b1: 0x6c368a20, 0x248b2: 0x6d332e20, 0x248b3: 0x6c004e20,\n\t0x248b4: 0x6cdd8c20, 0x248b5: 0x6c10b220, 0x248b7: 0x6cc45220,\n\t0x248b8: 0x6d185e20, 0x248b9: 0x6d0dca20, 0x248bb: 0x6ca36620,\n\t0x248bc: 0x6cf46a20,\n\t// Block 0x923, offset 0x248c0\n\t0x248c7: 0x6c865c20,\n\t0x248c8: 0x6c865e20, 0x248ca: 0x6cf6a820, 0x248cb: 0x6c749c20,\n\t0x248cc: 0x6cd1ea20, 0x248ce: 0x6d0b5c20,\n\t0x248db: 0x6c18e420,\n\t0x248dc: 0x6d1c8c20, 0x248dd: 0x6c0a5220, 0x248de: 0x6c184020,\n\t0x248e1: 0x6d2bfc20, 0x248e2: 0x6ceb9020, 0x248e3: 0x6c56c620,\n\t0x248e4: 0x6ce2b220, 0x248e5: 0x6d1d4c20, 0x248e6: 0x6c08f820, 0x248e7: 0x6ca91e20,\n\t0x248e8: 0x6c891a20, 0x248e9: 0x6d034c20, 0x248ea: 0x6d229020,\n\t0x248f2: 0x6c075e20,\n\t0x248f4: 0x6ca07820, 0x248f5: 0x6c331420, 0x248f7: 0x6c29ea20,\n\t0x248f8: 0x6cb64c20,\n\t// Block 0x924, offset 0x24900\n\t0x24900: 0x6cd65c20, 0x24903: 0x6cff1e20,\n\t0x24904: 0x6d380a20, 0x24905: 0x6d3cb220, 0x24907: 0x6c0bca20,\n\t0x24909: 0x6cf02a20, 0x2490a: 0x6cf6ec20,\n\t0x2490c: 0x6c2aae20, 0x2490e: 0x6d005620, 0x2490f: 0x6cac4620,\n\t0x24910: 0x6ca87a20, 0x24913: 0x6c0cfa20,\n\t0x24914: 0x6ccf7a20, 0x24915: 0x6c3ad820, 0x24916: 0x6c9fcc20, 0x24917: 0x6cb7e820,\n\t0x2492a: 0x6ccdbc20, 0x2492b: 0x6cdd9c20,\n\t0x24937: 0x6c60c020,\n\t0x2493a: 0x6c285020, 0x2493b: 0x6c739c20,\n\t0x2493c: 0x6c930420, 0x2493e: 0x6c02f620,\n\t// Block 0x925, offset 0x24940\n\t0x24942: 0x6d18ea20, 0x24943: 0x6cd57a20,\n\t0x24944: 0x6cdc9c20, 0x24945: 0x6cf0f220, 0x24946: 0x6cecec20, 0x24947: 0x6c1ef420,\n\t0x2494c: 0x6cf32820,\n\t0x24956: 0x6c0aa420,\n\t0x24958: 0x6d1b1a20, 0x24959: 0x6c5d8220,\n\t0x2495c: 0x6c769c20, 0x2495d: 0x6ca93020,\n\t0x24962: 0x6c00fc20,\n\t0x24964: 0x6c870020, 0x24966: 0x6d2d0220,\n\t0x24971: 0x6c933020,\n\t0x24976: 0x6c0bd420, 0x24977: 0x6cac8a20,\n\t0x2497f: 0x6c4b9c20,\n\t// Block 0x926, offset 0x24980\n\t0x24980: 0x6cda6a20, 0x24981: 0x6c9ba020, 0x24982: 0x6cfc5220, 0x24983: 0x6c906e20,\n\t0x24985: 0x6cb80220,\n\t0x2498b: 0x6c164a20,\n\t0x2498c: 0x6d195c20, 0x2498d: 0x6c4f8e20, 0x2498f: 0x6c88e020,\n\t0x24990: 0x6c49c220, 0x24992: 0x6cf06020,\n\t0x24997: 0x6c752020,\n\t0x24998: 0x6c829c20, 0x24999: 0x6c946620, 0x2499a: 0x6c87a620,\n\t0x2499c: 0x6cb03e20,\n\t0x249a2: 0x6c58e820,\n\t0x249ae: 0x6c4a5820,\n\t0x249b3: 0x6c713420,\n\t0x249b6: 0x6c2aa220,\n\t0x249ba: 0x6c3ad220,\n\t// Block 0x927, offset 0x249c0\n\t0x249c1: 0x6d338e20, 0x249c3: 0x6c9a7a20,\n\t0x249c5: 0x6c58f420,\n\t0x249c9: 0x6cabba20, 0x249ca: 0x6c08c420,\n\t0x249cc: 0x6cb30020,\n\t0x249d3: 0x6c374220,\n\t0x249d5: 0x6c58fc20,\n\t0x249e3: 0x6c170c20,\n\t0x249e5: 0x6c95fc20, 0x249e6: 0x6c3d2820,\n\t0x249ef: 0x6c1db220,\n\t0x249f1: 0x6d40c020, 0x249f2: 0x6ca3fe20, 0x249f3: 0x6cffae20,\n\t0x249f9: 0x6c044820, 0x249fa: 0x6c926620,\n\t0x249fc: 0x6c961220, 0x249ff: 0x6ca76620,\n\t// Block 0x928, offset 0x24a00\n\t0x24a00: 0x6d2ad020,\n\t0x24a04: 0x6d3b0a20, 0x24a05: 0x6c557420,\n\t0x24a08: 0x6c5ad820, 0x24a09: 0x6ce17c20, 0x24a0a: 0x6c1dca20,\n\t0x24a11: 0x6c59e020, 0x24a12: 0x6c30b820,\n\t0x24a1b: 0x6c9eba20,\n\t0x24a1d: 0x6c0f5a20,\n\t0x24a20: 0x6c2ca420, 0x24a22: 0x6c2ad020, 0x24a23: 0x6cb41620,\n\t0x24a25: 0x6cd94020, 0x24a26: 0x6c1dec20,\n\t0x24a2b: 0x6d123c20,\n\t0x24a2c: 0x6c9bf020, 0x24a2d: 0x6c8fc820,\n\t0x24a32: 0x6c888220,\n\t0x24a35: 0x6c0d0620,\n\t0x24a3a: 0x6c93c220,\n\t0x24a3f: 0x6ccba020,\n\t// Block 0x929, offset 0x24a40\n\t0x24a40: 0x6d425820,\n\t0x24a44: 0x6c25aa20, 0x24a45: 0x6c8de420, 0x24a46: 0x6d331a20, 0x24a47: 0x6cb05220,\n\t0x24a48: 0x6c05c220, 0x24a4b: 0x6cc3a420,\n\t0x24a4e: 0x6caf4a20, 0x24a4f: 0x6ca44220,\n\t0x24a50: 0x6caf4c20, 0x24a51: 0x6c0fe220, 0x24a52: 0x6c06f020, 0x24a53: 0x6c37e820,\n\t0x24a55: 0x6c9fa620, 0x24a56: 0x6ca0f220, 0x24a57: 0x6cec2420,\n\t0x24a58: 0x6d2f6020, 0x24a59: 0x6d35c220, 0x24a5a: 0x6c240c20,\n\t0x24a5f: 0x6d0a0620,\n\t0x24a60: 0x6c602020, 0x24a61: 0x6c4b4420, 0x24a63: 0x6c19ea20,\n\t0x24a67: 0x6c4ec620,\n\t0x24a68: 0x6cfff220, 0x24a69: 0x6cc3c020, 0x24a6b: 0x6c21be20,\n\t0x24a6d: 0x6c3f6420,\n\t0x24a73: 0x6cbdde20,\n\t0x24a74: 0x6c926820, 0x24a75: 0x6cc3d020, 0x24a76: 0x6c2d1e20, 0x24a77: 0x6cb8f020,\n\t0x24a7c: 0x6c16ee20, 0x24a7d: 0x6cde6220, 0x24a7e: 0x6c06ae20,\n\t// Block 0x92a, offset 0x24a80\n\t0x24a81: 0x6c326c20, 0x24a82: 0x6c082620, 0x24a83: 0x6c547820,\n\t0x24a88: 0x6d2c8420, 0x24a89: 0x6d2c8620,\n\t0x24a8e: 0x6cc3ee20, 0x24a8f: 0x6c967620,\n\t0x24a90: 0x6c4e2c20, 0x24a93: 0x6c8e8620,\n\t0x24a94: 0x6c92d020, 0x24a96: 0x6d3e8c20,\n\t0x24a98: 0x6cb07020, 0x24a99: 0x6d395220, 0x24a9b: 0x6d2a2420,\n\t0x24a9d: 0x6ca9a020,\n\t0x24aa0: 0x6c5c5620, 0x24aa3: 0x6d092020,\n\t0x24aa5: 0x6c7ea020,\n\t0x24aab: 0x6caa0620,\n\t0x24aac: 0x6d0dfa20, 0x24aad: 0x6cc4d820, 0x24aae: 0x6ca52220,\n\t0x24ab0: 0x6c7eb420, 0x24ab1: 0x6c4a1220, 0x24ab2: 0x6c31e220,\n\t0x24ab5: 0x6c919020,\n\t0x24ab9: 0x6c663c20, 0x24aba: 0x6d028c20, 0x24abb: 0x6cb80e20,\n\t0x24abe: 0x6cfe7420,\n\t// Block 0x92b, offset 0x24ac0\n\t0x24ac1: 0x6c4cb020, 0x24ac2: 0x6c6a8420, 0x24ac3: 0x6c98b620,\n\t0x24ac6: 0x6cf95820, 0x24ac7: 0x6c7c3620,\n\t0x24ace: 0x6d1e7620,\n\t0x24ad0: 0x6c4d3c20, 0x24ad1: 0x6c9d3220, 0x24ad2: 0x6d11fc20,\n\t0x24ad5: 0x6cf14c20,\n\t0x24adf: 0x6c85f220,\n\t0x24ae0: 0x6c735820, 0x24ae1: 0x6cf36420, 0x24ae2: 0x6cbbda20,\n\t0x24aee: 0x6c2e2a20, 0x24aef: 0x6c1f4220,\n\t0x24af2: 0x6cdd1c20,\n\t0x24af5: 0x6c1cc420,\n\t0x24af8: 0x6cc2a020, 0x24af9: 0x6ccf5e20,\n\t// Block 0x92c, offset 0x24b00\n\t0x24b02: 0x6c9bd820, 0x24b03: 0x6c726820,\n\t0x24b0b: 0x6ce8e620,\n\t0x24b12: 0x6ca9c020, 0x24b13: 0x6ca07a20,\n\t0x24b19: 0x6c3bee20,\n\t0x24b22: 0x6c027020, 0x24b23: 0x6c4c3e20,\n\t0x24b24: 0x6c55b420, 0x24b25: 0x6c11b820, 0x24b26: 0x6c33b220, 0x24b27: 0x6c4d4820,\n\t0x24b28: 0x6c694e20,\n\t0x24b30: 0x6c473a20,\n\t0x24b35: 0x6c6c6020,\n\t0x24b38: 0x6d0fe420,\n\t// Block 0x92d, offset 0x24b40\n\t0x24b40: 0x6c145020,\n\t0x24b4c: 0x6c5b0820,\n\t0x24b54: 0x6cc20c20, 0x24b55: 0x6c784420,\n\t0x24b5f: 0x6cbe6620,\n\t0x24b60: 0x6d197a20, 0x24b63: 0x6c767a20,\n\t0x24b64: 0x6c68b820, 0x24b67: 0x6c1d6220,\n\t0x24b68: 0x6c103020, 0x24b69: 0x6c44ae20, 0x24b6a: 0x6c682620, 0x24b6b: 0x6d339020,\n\t0x24b6e: 0x6cf20020,\n\t0x24b70: 0x6c0d2220,\n\t0x24b74: 0x6d048820, 0x24b75: 0x6c393020,\n\t0x24b78: 0x6d147620, 0x24b79: 0x6c203020, 0x24b7a: 0x6d11ee20,\n\t0x24b7d: 0x6d0f4c20, 0x24b7e: 0x6c324020, 0x24b7f: 0x6d0d4a20,\n\t// Block 0x92e, offset 0x24b80\n\t0x24b81: 0x6c9b0a20,\n\t0x24b87: 0x6c1a9620,\n\t0x24b88: 0x6ca27420, 0x24b89: 0x6c683420, 0x24b8b: 0x6caa7a20,\n\t0x24b8d: 0x6c4c6420, 0x24b8e: 0x6d094a20,\n\t0x24b91: 0x6c3e1c20, 0x24b92: 0x6d08dc20, 0x24b93: 0x6c3d4c20,\n\t0x24b94: 0x6cae1020, 0x24b95: 0x6ca0ea20, 0x24b96: 0x6cf5a820, 0x24b97: 0x6cf2dc20,\n\t0x24b98: 0x6ccd3620, 0x24b9b: 0x6cf5aa20,\n\t0x24b9c: 0x6cb75a20, 0x24b9d: 0x6c9e5220,\n\t0x24ba6: 0x6c282820,\n\t0x24ba8: 0x6c1e2820,\n\t0x24bb1: 0x6c3a9c20, 0x24bb2: 0x6c9ec820,\n\t0x24bb4: 0x6d095020, 0x24bb5: 0x6d06ae20, 0x24bb6: 0x6cd7dc20, 0x24bb7: 0x6c71b220,\n\t0x24bb8: 0x6c993420, 0x24bb9: 0x6c063e20, 0x24bbb: 0x6d14d220,\n\t0x24bbc: 0x6c485020, 0x24bbd: 0x6ca69220, 0x24bbf: 0x6d14d420,\n\t// Block 0x92f, offset 0x24bc0\n\t0x24bc1: 0x6d429020,\n\t0x24bc4: 0x6caa5420,\n\t0x24bd1: 0x6c2d4820, 0x24bd2: 0x6c393c20, 0x24bd3: 0x6d173a20,\n\t0x24bd4: 0x6cd35a20, 0x24bd7: 0x6c240e20,\n\t0x24bd8: 0x6d31ce20,\n\t0x24bde: 0x6cd36a20, 0x24bdf: 0x6c68e620,\n\t0x24be0: 0x6c546a20, 0x24be1: 0x6c375020,\n\t0x24be6: 0x6c833220, 0x24be7: 0x6d095420,\n\t0x24be8: 0x6c452c20, 0x24bea: 0x6cd43220,\n\t0x24bec: 0x6c72ec20,\n\t0x24bf4: 0x6c6ab820, 0x24bf5: 0x6cef0020, 0x24bf7: 0x6cd44620,\n\t0x24bf8: 0x6c6e7620, 0x24bfa: 0x6d061c20, 0x24bfb: 0x6c1d4c20,\n\t// Block 0x930, offset 0x24c00\n\t0x24c05: 0x6c675e20, 0x24c06: 0x6ca20a20,\n\t0x24c09: 0x6d231a20,\n\t0x24c0c: 0x6c745220,\n\t0x24c11: 0x6ce6ea20,\n\t0x24c14: 0x6cfec420, 0x24c16: 0x6c30ac20,\n\t0x24c18: 0x6c4c6c20, 0x24c19: 0x6c986220, 0x24c1a: 0x6cedcc20, 0x24c1b: 0x6d06de20,\n\t0x24c1c: 0x6cee5420, 0x24c1d: 0x6cdd2020, 0x24c1e: 0x6c736620, 0x24c1f: 0x6d26b820,\n\t0x24c21: 0x6c4e1620, 0x24c23: 0x6ccfec20,\n\t0x24c25: 0x6d00ac20, 0x24c26: 0x6c8e5a20, 0x24c27: 0x6cc8f020,\n\t0x24c2f: 0x6c09a620,\n\t0x24c32: 0x6ca53220,\n\t0x24c36: 0x6ced8420, 0x24c37: 0x6c700020,\n\t0x24c38: 0x6cc38c20,\n\t// Block 0x931, offset 0x24c40\n\t0x24c44: 0x6ca6a220, 0x24c46: 0x6c9c5220, 0x24c47: 0x6cdd2220,\n\t0x24c49: 0x6cbb4020,\n\t0x24c4c: 0x6c4ed220, 0x24c4d: 0x6d3d6c20, 0x24c4e: 0x6c9c5e20, 0x24c4f: 0x6d06f820,\n\t0x24c51: 0x6c810420, 0x24c52: 0x6c6aee20, 0x24c53: 0x6c2faa20,\n\t0x24c54: 0x6c171820, 0x24c55: 0x6d365e20, 0x24c56: 0x6c3a0c20, 0x24c57: 0x6c63cc20,\n\t0x24c58: 0x6c75cc20, 0x24c59: 0x6c5dde20, 0x24c5a: 0x6cb4fe20, 0x24c5b: 0x6c70a620,\n\t0x24c5c: 0x6d3cd420, 0x24c5e: 0x6c2d6420, 0x24c5f: 0x6c690c20,\n\t0x24c60: 0x6d0af220, 0x24c62: 0x6d2dfa20,\n\t0x24c6d: 0x6d33f220, 0x24c6f: 0x6c973620,\n\t0x24c70: 0x6c54da20, 0x24c71: 0x6d01ca20, 0x24c72: 0x6cd27420, 0x24c73: 0x6c4a7220,\n\t0x24c7f: 0x6d06fa20,\n\t// Block 0x932, offset 0x24c80\n\t0x24c82: 0x6c606a20,\n\t0x24c84: 0x6c20b020, 0x24c86: 0x6c99a220, 0x24c87: 0x6cc84220,\n\t0x24c88: 0x6d05bc20, 0x24c89: 0x6c594620, 0x24c8a: 0x6ccc6420, 0x24c8b: 0x6c71c820,\n\t0x24c8f: 0x6c7c0020,\n\t0x24c91: 0x6c542020, 0x24c92: 0x6c491e20, 0x24c93: 0x6c486a20,\n\t0x24c95: 0x6c9c6420, 0x24c96: 0x6c2ed020, 0x24c97: 0x6c0a0020,\n\t0x24c98: 0x6c899820, 0x24c99: 0x6c7e8620, 0x24c9a: 0x6ccd5220, 0x24c9b: 0x6c928c20,\n\t0x24c9c: 0x6cf8b420, 0x24c9f: 0x6cda2220,\n\t0x24cac: 0x6cab4220, 0x24cae: 0x6c838020,\n\t0x24cb7: 0x6c7a5020,\n\t0x24cb8: 0x6c4a7c20, 0x24cbb: 0x6cf67a20,\n\t0x24cbc: 0x6cac6c20, 0x24cbd: 0x6ccb4c20, 0x24cbe: 0x6c754e20, 0x24cbf: 0x6c53d020,\n\t// Block 0x933, offset 0x24cc0\n\t0x24cc0: 0x6c49a220, 0x24cc1: 0x6c727c20, 0x24cc3: 0x6ca3d220,\n\t0x24cc4: 0x6c575020, 0x24cc5: 0x6c442220, 0x24cc6: 0x6c866020, 0x24cc7: 0x6c46d020,\n\t0x24cc8: 0x6ce41420, 0x24cca: 0x6c96d820, 0x24ccb: 0x6ce2ae20,\n\t0x24ccc: 0x6c26ba20,\n\t0x24cd0: 0x6cb52420, 0x24cd1: 0x6d23c620, 0x24cd2: 0x6c693020, 0x24cd3: 0x6c9ee620,\n\t0x24cd4: 0x6c451820, 0x24cd5: 0x6c9c0e20, 0x24cd6: 0x6cf0c020,\n\t0x24cd8: 0x6ce36620, 0x24cd9: 0x6cb63a20,\n\t0x24cdc: 0x6c18e620, 0x24cdd: 0x6c30c220, 0x24cdf: 0x6cac6e20,\n\t0x24cf0: 0x6c4efc20,\n\t0x24cf4: 0x6c9d8a20, 0x24cf5: 0x6c967820, 0x24cf6: 0x6c92d220, 0x24cf7: 0x6cb53020,\n\t0x24cf8: 0x6c795220, 0x24cfa: 0x6c2ee820, 0x24cfb: 0x6cb7d820,\n\t0x24cfc: 0x6c687c20, 0x24cfd: 0x6c774e20, 0x24cfe: 0x6cbbb020, 0x24cff: 0x6c9d8c20,\n\t// Block 0x934, offset 0x24d00\n\t0x24d00: 0x6ccd0c20,\n\t0x24d07: 0x6c64da20,\n\t0x24d08: 0x6c843c20, 0x24d09: 0x6c78d620, 0x24d0a: 0x6d073c20,\n\t0x24d11: 0x6c977a20, 0x24d12: 0x6c3cf420, 0x24d13: 0x6c163420,\n\t0x24d14: 0x6c5b6420,\n\t0x24d27: 0x6c7a0420,\n\t0x24d2a: 0x6cf02c20, 0x24d2b: 0x6c49a820,\n\t0x24d2c: 0x6c60c220, 0x24d2d: 0x6d421c20, 0x24d2e: 0x6c5e0a20, 0x24d2f: 0x6d00fe20,\n\t0x24d34: 0x6cdc8420, 0x24d36: 0x6cc88220,\n\t0x24d38: 0x6ce28620,\n\t0x24d3c: 0x6d336820, 0x24d3d: 0x6c7d8820, 0x24d3e: 0x6cfe0020, 0x24d3f: 0x6c9dda20,\n\t// Block 0x935, offset 0x24d40\n\t0x24d41: 0x6cf8f020,\n\t0x24d4c: 0x6cc94820,\n\t0x24d59: 0x6c36c620, 0x24d5a: 0x6c9efe20, 0x24d5b: 0x6d3a8820,\n\t0x24d5c: 0x6d406c20, 0x24d5d: 0x6c9bec20, 0x24d5f: 0x6cf70620,\n\t0x24d61: 0x6ce14e20, 0x24d63: 0x6c645220,\n\t0x24d64: 0x6c16d020, 0x24d65: 0x6c60dc20,\n\t0x24d6e: 0x6d3dbc20,\n\t0x24d7f: 0x6c520420,\n\t// Block 0x936, offset 0x24d80\n\t0x24d80: 0x6c141020, 0x24d81: 0x6cb7fc20, 0x24d82: 0x6c9dea20, 0x24d83: 0x6d320220,\n\t0x24d84: 0x6c7a6c20, 0x24d85: 0x6d138220, 0x24d86: 0x6d38c020,\n\t0x24d88: 0x6c652020, 0x24d8a: 0x6cacc220,\n\t0x24d8d: 0x6c5b0220, 0x24d8f: 0x6ca02220,\n\t0x24d90: 0x6c8f5020,\n\t0x24d98: 0x6cd73420, 0x24d9a: 0x6c974a20, 0x24d9b: 0x6c849c20,\n\t0x24d9e: 0x6cd7ae20, 0x24d9f: 0x6d159020,\n\t0x24da4: 0x6c872c20,\n\t0x24da8: 0x6d005e20, 0x24da9: 0x6ce28a20, 0x24daa: 0x6d051020,\n\t0x24dad: 0x6d08ce20, 0x24dae: 0x6c874820, 0x24daf: 0x6c9ba220,\n\t0x24db0: 0x6cef6a20, 0x24db1: 0x6c9ba420,\n\t0x24dba: 0x6d124e20, 0x24dbb: 0x6c7ffe20,\n\t0x24dbc: 0x6c8da020, 0x24dbd: 0x6d1c3820, 0x24dbe: 0x6d1c3a20, 0x24dbf: 0x6c876c20,\n\t// Block 0x937, offset 0x24dc0\n\t0x24dc0: 0x6c662820, 0x24dc1: 0x6c4aaa20,\n\t0x24dc5: 0x6c494020, 0x24dc6: 0x6d028220,\n\t0x24dc9: 0x6ccf9220, 0x24dcb: 0x6d418420,\n\t0x24dd3: 0x6c771e20,\n\t0x24dd4: 0x6c82a820,\n\t0x24dda: 0x6c0bde20,\n\t0x24ddd: 0x6cd54e20, 0x24dde: 0x6caa7820, 0x24ddf: 0x6d069a20,\n\t0x24de3: 0x6c503020,\n\t0x24de8: 0x6c4af220, 0x24dea: 0x6d2d4020, 0x24deb: 0x6c80c620,\n\t0x24dec: 0x6c248e20, 0x24ded: 0x6d363620, 0x24dee: 0x6c3ca820, 0x24def: 0x6cbd3220,\n\t0x24df1: 0x6d2acc20, 0x24df2: 0x6ca35420, 0x24df3: 0x6ca99a20,\n\t0x24df4: 0x6d17f420, 0x24df7: 0x6c232c20,\n\t0x24df8: 0x6cd1e020, 0x24df9: 0x6c65c220, 0x24dfa: 0x6d3fa420, 0x24dfb: 0x6d0db820,\n\t0x24dfc: 0x6d1bd620,\n\t// Block 0x938, offset 0x24e00\n\t0x24e00: 0x6cc86e20, 0x24e02: 0x6cc6a420, 0x24e03: 0x6cf8cc20,\n\t0x24e05: 0x6c492420, 0x24e06: 0x6c769420,\n\t0x24e08: 0x6cf51420, 0x24e0a: 0x6cbda820, 0x24e0b: 0x6c235820,\n\t0x24e0d: 0x6d2b0620, 0x24e0e: 0x6d024220,\n\t0x24e10: 0x6d241020, 0x24e11: 0x6d29a020, 0x24e12: 0x6c206620, 0x24e13: 0x6c853c20,\n\t0x24e14: 0x6c853e20, 0x24e15: 0x6d075020, 0x24e16: 0x6c9c9020, 0x24e17: 0x6d075420,\n\t0x24e18: 0x6cc88c20, 0x24e1b: 0x6c4b9420,\n\t0x24e1c: 0x6cc73020, 0x24e1f: 0x6c991420,\n\t0x24e21: 0x6cbdbe20, 0x24e22: 0x6c24be20, 0x24e23: 0x6c24c020,\n\t0x24e24: 0x6c24c620,\n\t0x24e2e: 0x6cf35a20,\n\t0x24e30: 0x6c383220, 0x24e31: 0x6c037620,\n\t0x24e38: 0x6cb85820, 0x24e39: 0x6d35ee20, 0x24e3a: 0x6ce5d420,\n\t// Block 0x939, offset 0x24e40\n\t0x24e44: 0x6d35f020, 0x24e45: 0x6d345a20, 0x24e47: 0x6c591420,\n\t0x24e48: 0x6c1da420, 0x24e4a: 0x6d35f220,\n\t0x24e4e: 0x6d1cf020,\n\t0x24e52: 0x6cf4f020, 0x24e53: 0x6c06a420,\n\t0x24e55: 0x6c534c20, 0x24e56: 0x6cd06420,\n\t0x24e58: 0x6c746620, 0x24e59: 0x6c7d0420,\n\t0x24e5c: 0x6d15f820, 0x24e5d: 0x6d0bbe20,\n\t0x24e60: 0x6c087c20,\n\t0x24e64: 0x6c7aea20, 0x24e65: 0x6cb8f220,\n\t0x24e68: 0x6d2f6620, 0x24e6a: 0x6c766820, 0x24e6b: 0x6cce1220,\n\t0x24e6e: 0x6c01ca20, 0x24e6f: 0x6d307020,\n\t0x24e70: 0x6d369420,\n\t0x24e77: 0x6d36b620,\n\t0x24e79: 0x6c693220,\n\t// Block 0x93a, offset 0x24e80\n\t0x24e80: 0x6cd83020, 0x24e81: 0x6cb45c20, 0x24e82: 0x6cab9420,\n\t0x24e8a: 0x6d3dbe20,\n\t0x24e91: 0x6d1c3c20, 0x24e93: 0x6c584a20,\n\t0x24e95: 0x6d0b6e20,\n\t0x24e98: 0x6cd23c20, 0x24e99: 0x6cabb220, 0x24e9a: 0x6cb48420,\n\t0x24e9e: 0x6c983c20, 0x24e9f: 0x6c146220,\n\t0x24ea9: 0x6d278e20,\n\t0x24eac: 0x6c476a20,\n\t0x24eb9: 0x6c282a20, 0x24ebb: 0x6ca4a020,\n\t0x24ebd: 0x6d302620, 0x24ebf: 0x6c552c20,\n\t// Block 0x93b, offset 0x24ec0\n\t0x24ec5: 0x6c792c20, 0x24ec7: 0x6c2e8c20,\n\t0x24ec8: 0x6ce63c20, 0x24ecb: 0x6c48ee20,\n\t0x24ece: 0x6cbef020, 0x24ecf: 0x6cd2ca20,\n\t0x24ed0: 0x6c640c20, 0x24ed1: 0x6c02ca20, 0x24ed2: 0x6ca2f620, 0x24ed3: 0x6cb23a20,\n\t0x24ed4: 0x6c63b220,\n\t0x24ee1: 0x6d30ec20, 0x24ee2: 0x6c108620, 0x24ee3: 0x6cf2b020,\n\t0x24ee5: 0x6c141e20,\n\t0x24eea: 0x6ca4a420, 0x24eeb: 0x6c76c620,\n\t0x24eef: 0x6c319220,\n\t0x24ef0: 0x6c48f020, 0x24ef1: 0x6cbf0e20, 0x24ef3: 0x6cc66a20,\n\t0x24ef4: 0x6d15e820, 0x24ef5: 0x6c32fe20, 0x24ef6: 0x6c82c020,\n\t0x24ef8: 0x6d387a20, 0x24ef9: 0x6c7ac220, 0x24efa: 0x6c354020, 0x24efb: 0x6cfa9e20,\n\t0x24efc: 0x6c2d5420, 0x24efd: 0x6caaf020, 0x24efe: 0x6c361620, 0x24eff: 0x6d1d8620,\n\t// Block 0x93c, offset 0x24f00\n\t0x24f00: 0x6cf4e220, 0x24f01: 0x6c793a20,\n\t0x24f13: 0x6d35f420,\n\t0x24f17: 0x6d351c20,\n\t0x24f18: 0x6d0a0820, 0x24f1b: 0x6d334a20,\n\t0x24f1e: 0x6d0fae20,\n\t0x24f20: 0x6c5dc420, 0x24f21: 0x6c602220, 0x24f22: 0x6ca4f020,\n\t0x24f27: 0x6d0ba020,\n\t0x24f28: 0x6c924620, 0x24f2b: 0x6c3d7220,\n\t0x24f2c: 0x6cca1c20, 0x24f2d: 0x6c1f4420, 0x24f2e: 0x6cefca20,\n\t0x24f30: 0x6c3f6820, 0x24f31: 0x6c794020, 0x24f32: 0x6cd8c020, 0x24f33: 0x6c778620,\n\t0x24f35: 0x6d17b020, 0x24f36: 0x6c579a20,\n\t0x24f3e: 0x6d225e20,\n\t// Block 0x93d, offset 0x24f40\n\t0x24f43: 0x6c861420,\n\t0x24f46: 0x6c8c2020, 0x24f47: 0x6c321e20,\n\t0x24f48: 0x6c363c20,\n\t0x24f4c: 0x6cbb4220, 0x24f4d: 0x6c31a620,\n\t0x24f50: 0x6c6af020, 0x24f51: 0x6c21c620, 0x24f52: 0x6cfcd420,\n\t0x24f56: 0x6c430a20,\n\t0x24f6c: 0x6c2a1e20,\n\t0x24f70: 0x6c52b420,\n\t0x24f7b: 0x6d3fa620,\n\t0x24f7e: 0x6cb7b620, 0x24f7f: 0x6ceb3820,\n\t// Block 0x93e, offset 0x24f80\n\t0x24f80: 0x6c52b820, 0x24f81: 0x6cb06420, 0x24f82: 0x6c453c20,\n\t0x24f84: 0x6ca85020, 0x24f87: 0x6c798420,\n\t0x24f8a: 0x6d354620,\n\t0x24f91: 0x6cffb420,\n\t0x24fa1: 0x6ccf6620, 0x24fa2: 0x6d217620, 0x24fa3: 0x6c676a20,\n\t0x24fa9: 0x6cb70a20, 0x24faa: 0x6c190a20, 0x24fab: 0x6cca8220,\n\t0x24fad: 0x6cdd8e20, 0x24fae: 0x6cb9bc20, 0x24faf: 0x6c5c1a20,\n\t0x24fb1: 0x6ccda020, 0x24fb2: 0x6c368c20,\n\t0x24fbb: 0x6cbfbc20,\n\t0x24fbd: 0x6c78ca20,\n\t// Block 0x93f, offset 0x24fc0\n\t0x24fc0: 0x6cf23420, 0x24fc1: 0x6d3e7c20, 0x24fc2: 0x6c608e20,\n\t0x24fc7: 0x6c26e220,\n\t0x24fc9: 0x6c263620,\n\t0x24fcd: 0x6c90f620, 0x24fce: 0x6c775020, 0x24fcf: 0x6c7e1220,\n\t0x24fd0: 0x6c2b8e20, 0x24fd1: 0x6cbc7e20, 0x24fd3: 0x6ca16420,\n\t0x24fd6: 0x6c4cce20, 0x24fd7: 0x6c52c620,\n\t0x24fd8: 0x6c177c20, 0x24fd9: 0x6c522620,\n\t0x24fe2: 0x6c129020, 0x24fe3: 0x6d308c20,\n\t0x24fe6: 0x6c4bea20,\n\t0x24ff0: 0x6d05ec20, 0x24ff1: 0x6caece20, 0x24ff2: 0x6c74ca20,\n\t0x24ff5: 0x6c41ee20, 0x24ff6: 0x6cd83220,\n\t0x24ff8: 0x6cdc8620, 0x24ff9: 0x6cc40420, 0x24ffb: 0x6cf3f220,\n\t0x24ffc: 0x6d0cda20, 0x24ffd: 0x6caf1820, 0x24ffe: 0x6cffc420, 0x24fff: 0x6cac4820,\n\t// Block 0x940, offset 0x25000\n\t0x2500d: 0x6c7e9e20,\n\t0x25017: 0x6c085a20,\n\t0x25018: 0x6d320020, 0x25019: 0x6c60de20,\n\t0x2501c: 0x6c6cc020, 0x2501d: 0x6c887420, 0x2501e: 0x6c791220,\n\t0x25020: 0x6d38d620,\n\t0x25028: 0x6d2a9620, 0x2502a: 0x6c822e20, 0x2502b: 0x6cb54820,\n\t0x2502c: 0x6c0e3820,\n\t0x25035: 0x6d1b1c20, 0x25036: 0x6cb1f620,\n\t0x2503b: 0x6cda3820,\n\t0x2503c: 0x6c941620, 0x2503e: 0x6c2bb420, 0x2503f: 0x6c31e420,\n\t// Block 0x941, offset 0x25040\n\t0x25040: 0x6c8a8820, 0x25041: 0x6d3dd620,\n\t0x2504a: 0x6c16fc20,\n\t0x25052: 0x6c194020, 0x25053: 0x6cdee020,\n\t0x25059: 0x6cc41e20, 0x2505a: 0x6c2a4c20,\n\t0x2505d: 0x6cc51020, 0x2505f: 0x6cb3ba20,\n\t0x25066: 0x6d37e020, 0x25067: 0x6d006020,\n\t0x2506a: 0x6c679620, 0x2506b: 0x6cc21820,\n\t0x2506c: 0x6c831020, 0x2506d: 0x6c10f020, 0x2506e: 0x6cc39a20,\n\t0x25075: 0x6cfe7220, 0x25076: 0x6c836820,\n\t0x2507a: 0x6c809620,\n\t0x2507f: 0x6c7e6820,\n\t// Block 0x942, offset 0x25080\n\t0x25081: 0x6c7e6a20,\n\t0x25084: 0x6d24b420,\n\t0x2508a: 0x6c697e20, 0x2508b: 0x6cbd4e20,\n\t0x2508c: 0x6c5e7e20, 0x2508f: 0x6c41c820,\n\t0x25092: 0x6d169220,\n\t0x250a0: 0x6d16c820, 0x250a1: 0x6d339e20,\n\t0x250a4: 0x6c0c6e20, 0x250a5: 0x6cd0e620, 0x250a6: 0x6c6fd820,\n\t0x250ab: 0x6c509420,\n\t0x250ac: 0x6c3e2020, 0x250ae: 0x6c706620,\n\t// Block 0x943, offset 0x250c0\n\t0x250c0: 0x6d426620, 0x250c1: 0x6d14ac20,\n\t0x250c6: 0x6cfc9420, 0x250c7: 0x6d14ae20,\n\t0x250c9: 0x6cd8a220, 0x250cb: 0x6c20f220,\n\t0x250ce: 0x6ca0fa20,\n\t0x250e1: 0x6d2d6c20, 0x250e3: 0x6d0a0020,\n\t0x250e6: 0x6cc79a20,\n\t0x250e8: 0x6c5db020,\n\t0x250ec: 0x6cce6a20,\n\t0x250f0: 0x6cd46620,\n\t0x250fe: 0x6d203e20, 0x250ff: 0x6d231c20,\n\t// Block 0x944, offset 0x25100\n\t0x25102: 0x6c75b420,\n\t0x25109: 0x6d3e4220, 0x2510a: 0x6c925c20,\n\t0x2511a: 0x6c1baa20, 0x2511b: 0x6c7d6620,\n\t0x25120: 0x6d3ce420,\n\t0x25126: 0x6c541420,\n\t0x25129: 0x6d064420,\n\t0x2513e: 0x6d3f9c20, 0x2513f: 0x6d1d4220,\n\t// Block 0x945, offset 0x25140\n\t0x25142: 0x6d39b020,\n\t0x25145: 0x6c8f3a20,\n\t0x25151: 0x6caa6820,\n\t0x25158: 0x6c0a3020, 0x2515a: 0x6c1c5e20,\n\t0x2515c: 0x6d412420, 0x2515d: 0x6c3cb820, 0x2515e: 0x6c92aa20, 0x2515f: 0x6cb49220,\n\t0x25165: 0x6d3bdc20, 0x25167: 0x6d308020,\n\t0x25168: 0x6cd1ec20, 0x25169: 0x6d227e20, 0x2516a: 0x6c92ac20, 0x2516b: 0x6c896820,\n\t0x2516f: 0x6c74c020,\n\t0x25170: 0x6c8aa620, 0x25171: 0x6c080820,\n\t// Block 0x946, offset 0x25180\n\t0x25183: 0x6d18ce20,\n\t0x25184: 0x6c492820,\n\t0x2518c: 0x6c02ae20, 0x2518f: 0x6c4b8220,\n\t0x25190: 0x6c9fce20, 0x25192: 0x6d0dec20, 0x25193: 0x6c7fd220,\n\t0x25196: 0x6c0f9220,\n\t0x25199: 0x6d29a620, 0x2519a: 0x6d1ffe20,\n\t0x251a5: 0x6d194420, 0x251a6: 0x6ca66020,\n\t0x251ac: 0x6ca66620, 0x251ad: 0x6c4ce020, 0x251ae: 0x6c760a20,\n\t0x251b0: 0x6cd21820, 0x251b2: 0x6cfc5c20,\n\t0x251b4: 0x6cb95e20, 0x251b5: 0x6cc42020, 0x251b6: 0x6c7cc420,\n\t// Block 0x947, offset 0x251c0\n\t0x251c0: 0x6ccf1620, 0x251c2: 0x6c5dd620,\n\t0x251c4: 0x6ced8e20,\n\t0x251ca: 0x6c3af220, 0x251cb: 0x6c3b0020,\n\t0x251cd: 0x6d22c420,\n\t0x251d1: 0x6d339220, 0x251d2: 0x6c48a420,\n\t0x251d4: 0x6c6a8620, 0x251d5: 0x6c983e20, 0x251d6: 0x6c50cc20,\n\t0x251d8: 0x6d1fa820,\n\t0x251df: 0x6c324220,\n\t0x251e0: 0x6cd7d220, 0x251e2: 0x6c859420,\n\t0x251e5: 0x6c6a9420, 0x251e6: 0x6ca98a20, 0x251e7: 0x6c03ac20,\n\t0x251e8: 0x6d20de20,\n\t0x251ee: 0x6d33b220,\n\t0x251f8: 0x6c50e020, 0x251f9: 0x6c77e820,\n\t0x251fe: 0x6c324a20, 0x251ff: 0x6c634820,\n\t// Block 0x948, offset 0x25200\n\t0x25201: 0x6c186020, 0x25203: 0x6c20f420,\n\t0x25204: 0x6c50f820, 0x25205: 0x6d2d2620,\n\t0x2520a: 0x6c9a8c20,\n\t0x2520d: 0x6c50fa20, 0x2520e: 0x6d3f0420, 0x2520f: 0x6d3a0620,\n\t0x25212: 0x6ceb0e20,\n\t0x25218: 0x6d421820, 0x2521a: 0x6cc7a220, 0x2521b: 0x6c34ee20,\n\t0x2521c: 0x6c67e020,\n\t0x25227: 0x6c526420,\n\t0x25229: 0x6c07e620, 0x2522a: 0x6ca10820,\n\t0x2522f: 0x6d40ba20,\n\t0x25232: 0x6c0caa20,\n\t0x25234: 0x6c7a9820, 0x25235: 0x6c63c020,\n\t0x2523a: 0x6d3d0420,\n\t0x2523c: 0x6d04d620,\n\t// Block 0x949, offset 0x25240\n\t0x25243: 0x6c512820,\n\t0x25245: 0x6cbb7220,\n\t0x2524d: 0x6c3a5c20, 0x2524e: 0x6cd10a20,\n\t0x25252: 0x6d3c9620, 0x25253: 0x6c7b6a20,\n\t0x25254: 0x6d2b5420, 0x25255: 0x6cfaae20, 0x25257: 0x6c09d620,\n\t0x25258: 0x6d17f620, 0x2525a: 0x6c171a20,\n\t0x2526a: 0x6c999a20,\n\t0x25276: 0x6ced3020,\n\t0x2527d: 0x6cf37620, 0x2527e: 0x6c7a5220, 0x2527f: 0x6cf2be20,\n\t// Block 0x94a, offset 0x25280\n\t0x25280: 0x6d038a20, 0x25281: 0x6c781620, 0x25283: 0x6c6f8220,\n\t0x25284: 0x6c329c20, 0x25285: 0x6c594820,\n\t0x25288: 0x6d369620, 0x25289: 0x6c130620, 0x2528a: 0x6cc75a20, 0x2528b: 0x6c606e20,\n\t0x2528d: 0x6d131a20,\n\t0x2529b: 0x6c6dca20,\n\t0x2529c: 0x6d106220,\n\t0x252a1: 0x6d400220,\n\t0x252a9: 0x6c11d620,\n\t0x252b1: 0x6cd81c20, 0x252b2: 0x6c866220, 0x252b3: 0x6c47c620,\n\t0x252b4: 0x6c172220, 0x252b6: 0x6c3a6820, 0x252b7: 0x6c8e8a20,\n\t0x252b9: 0x6c6b1e20, 0x252ba: 0x6d276020,\n\t0x252bd: 0x6d36ba20,\n\t// Block 0x94b, offset 0x252c0\n\t0x252c0: 0x6c1dd220, 0x252c1: 0x6c0cbc20,\n\t0x252d2: 0x6c5f1a20,\n\t0x252dc: 0x6c955220, 0x252dd: 0x6c64f820, 0x252df: 0x6c206020,\n\t0x252e0: 0x6cd6de20, 0x252e2: 0x6c93fe20, 0x252e3: 0x6c75ea20,\n\t0x252e4: 0x6c69c820, 0x252e6: 0x6ce42020, 0x252e7: 0x6d2c0020,\n\t0x252ea: 0x6d18a820,\n\t0x252ec: 0x6c235a20, 0x252ed: 0x6ca57420, 0x252ee: 0x6c638220,\n\t0x252f4: 0x6c627c20,\n\t0x252fd: 0x6c00ce20,\n\t// Block 0x94c, offset 0x25300\n\t0x25307: 0x6c65d820,\n\t0x2530a: 0x6c07ca20,\n\t0x2530c: 0x6c38c620, 0x2530d: 0x6cdc8a20, 0x2530e: 0x6d421e20,\n\t0x25310: 0x6c42e420, 0x25311: 0x6c432420, 0x25312: 0x6c817e20,\n\t0x25314: 0x6d3db620,\n\t0x2531f: 0x6c56ca20,\n\t0x25322: 0x6ce9c420,\n\t0x25326: 0x6c0a7420, 0x25327: 0x6c716420,\n\t0x2532e: 0x6c575a20,\n\t0x25332: 0x6c1a4a20,\n\t0x25336: 0x6c7b4220, 0x25337: 0x6c291420,\n\t0x25338: 0x6c444c20, 0x25339: 0x6d011420, 0x2533b: 0x6c6b6220,\n\t0x2533d: 0x6c117620,\n\t// Block 0x94d, offset 0x25340\n\t0x25346: 0x6d40ec20,\n\t0x25348: 0x6cb46820, 0x2534b: 0x6cd57c20,\n\t0x2534c: 0x6c104820,\n\t0x25357: 0x6ca93220,\n\t0x25358: 0x6d0dfc20, 0x25359: 0x6d396020, 0x2535b: 0x6c9b8420,\n\t0x2535d: 0x6c0b5e20, 0x2535f: 0x6cfe6420,\n\t0x25364: 0x6c931c20, 0x25365: 0x6c849020,\n\t0x25369: 0x6c62ca20, 0x2536b: 0x6c9f0a20,\n\t0x2536c: 0x6c835620, 0x2536e: 0x6d375820, 0x2536f: 0x6d1ecc20,\n\t0x25370: 0x6c0b6020,\n\t0x25378: 0x6ca2bc20, 0x25379: 0x6cc4da20,\n\t// Block 0x94e, offset 0x25380\n\t0x25382: 0x6ca7c620,\n\t0x2538a: 0x6cc33a20, 0x2538b: 0x6d30c620,\n\t0x25390: 0x6c836620,\n\t0x25397: 0x6c294820,\n\t0x25398: 0x6c752e20,\n\t0x2539c: 0x6c8dc420, 0x2539e: 0x6c8de820, 0x2539f: 0x6d0d2620,\n\t0x253a3: 0x6d118620,\n\t0x253a4: 0x6d321220, 0x253a5: 0x6cb4ce20, 0x253a6: 0x6c008a20,\n\t0x253a8: 0x6caa3e20, 0x253a9: 0x6c988220,\n\t0x253b1: 0x6c76c220, 0x253b3: 0x6c6f5c20,\n\t0x253b4: 0x6d0d5820, 0x253b5: 0x6c9e5420, 0x253b7: 0x6d1a3e20,\n\t0x253b8: 0x6ceccc20, 0x253b9: 0x6d11f420, 0x253ba: 0x6cebce20, 0x253bb: 0x6cafc820,\n\t0x253bc: 0x6cdc2c20,\n\t// Block 0x94f, offset 0x253c0\n\t0x253c5: 0x6c799a20,\n\t0x253c8: 0x6c532c20, 0x253ca: 0x6ca03020, 0x253cb: 0x6c8cd220,\n\t0x253cc: 0x6d173e20, 0x253cd: 0x6ccfd220, 0x253cf: 0x6d429220,\n\t0x253db: 0x6ce85020,\n\t0x253dd: 0x6d1e7820, 0x253df: 0x6cec2620,\n\t0x253e0: 0x6c4af420, 0x253e1: 0x6c53bc20,\n\t0x253e5: 0x6cd36e20, 0x253e7: 0x6d049220,\n\t0x253e9: 0x6c000620,\n\t0x253f1: 0x6c19ee20, 0x253f3: 0x6c793c20,\n\t0x253f4: 0x6d176c20, 0x253f5: 0x6d104820, 0x253f6: 0x6ce67420, 0x253f7: 0x6c311e20,\n\t0x253f8: 0x6c13e820, 0x253f9: 0x6c8f3020,\n\t0x253fd: 0x6cc06a20, 0x253fe: 0x6d084e20, 0x253ff: 0x6ccfee20,\n\t// Block 0x950, offset 0x25400\n\t0x25400: 0x6c7b5420, 0x25401: 0x6ce7ca20, 0x25403: 0x6cba0e20,\n\t0x25405: 0x6c1e4220,\n\t0x2540a: 0x6cf1de20,\n\t0x2540c: 0x6c906820, 0x2540d: 0x6c018820,\n\t0x25414: 0x6c76d820, 0x25416: 0x6d11b020,\n\t0x25418: 0x6c3e8420,\n\t0x2541c: 0x6c084220, 0x2541d: 0x6c803020, 0x2541e: 0x6cb86c20, 0x2541f: 0x6c2d6620,\n\t0x25422: 0x6c69a620, 0x25423: 0x6c4a7420,\n\t0x25425: 0x6d049820,\n\t0x25428: 0x6c78bc20,\n\t0x25436: 0x6cfcd620, 0x25437: 0x6cf33a20,\n\t// Block 0x951, offset 0x25440\n\t0x25442: 0x6c45f620,\n\t0x25446: 0x6cab8620, 0x25447: 0x6c781820,\n\t0x2544b: 0x6c7a5420,\n\t0x25451: 0x6ce4be20, 0x25452: 0x6c46d420, 0x25453: 0x6c96a220,\n\t0x25455: 0x6c8f3e20,\n\t0x25459: 0x6cf0c220, 0x2545a: 0x6cf1ec20,\n\t0x25461: 0x6c462020, 0x25463: 0x6ce8e820,\n\t0x25464: 0x6ca91620, 0x25467: 0x6c9d7c20,\n\t0x2546b: 0x6c80e020,\n\t0x2546c: 0x6cba2220, 0x2546d: 0x6c977e20, 0x2546e: 0x6d308e20,\n\t0x25470: 0x6c57c620, 0x25471: 0x6d1db620, 0x25472: 0x6c6d5020,\n\t0x25474: 0x6c9aae20, 0x25477: 0x6c3ef020,\n\t0x2547b: 0x6cc1c220,\n\t// Block 0x952, offset 0x25480\n\t0x2548c: 0x6c8f4820, 0x2548d: 0x6c406220, 0x2548e: 0x6c28c620,\n\t0x25490: 0x6c460020, 0x25492: 0x6c256e20,\n\t0x25495: 0x6d040c20,\n\t0x2549c: 0x6ce87c20, 0x2549d: 0x6cd48020,\n\t0x254aa: 0x6cbf8420,\n\t0x254b3: 0x6cc6e020,\n\t0x254bb: 0x6c874c20,\n\t0x254bf: 0x6c5f9220,\n\t// Block 0x953, offset 0x254c0\n\t0x254c0: 0x6cebbc20,\n\t0x254cc: 0x6ce7aa20,\n\t0x254d2: 0x6ce04c20,\n\t0x254d4: 0x6c8dea20, 0x254d6: 0x6d169420, 0x254d7: 0x6cc85220,\n\t0x254d9: 0x6cabe220,\n\t0x254dd: 0x6c10e820,\n\t0x254e1: 0x6d269820, 0x254e2: 0x6cc3b020, 0x254e3: 0x6d3ade20,\n\t0x254e4: 0x6c4d6220,\n\t0x254f1: 0x6c381220, 0x254f2: 0x6c4d6820,\n\t// Block 0x954, offset 0x25500\n\t0x25500: 0x6c101620, 0x25501: 0x6cb25620, 0x25502: 0x6c8b0c20,\n\t0x2550a: 0x6c7cd420, 0x2550b: 0x6c3e9e20,\n\t0x2550c: 0x6ce50620, 0x2550d: 0x6cf2fc20, 0x2550f: 0x6c70aa20,\n\t0x25518: 0x6d318620, 0x2551a: 0x6c3ec620,\n\t0x25522: 0x6c8f9e20,\n\t0x25526: 0x6cf8ce20, 0x25527: 0x6ce4c020,\n\t0x2552b: 0x6c626620,\n\t0x2552f: 0x6d122c20,\n\t0x25531: 0x6c246620,\n\t0x25534: 0x6cad3020, 0x25535: 0x6cbce820,\n\t0x2553b: 0x6c8fb420,\n\t0x2553c: 0x6c615820,\n\t// Block 0x955, offset 0x25540\n\t0x25542: 0x6ce79a20, 0x25543: 0x6d158420,\n\t0x25545: 0x6c168420,\n\t0x2554b: 0x6c45c220,\n\t0x2554e: 0x6c309620,\n\t0x25556: 0x6cfda420,\n\t0x25559: 0x6ce6b620, 0x2555b: 0x6d3b7020,\n\t0x2555c: 0x6d15c820, 0x2555d: 0x6d170020, 0x2555e: 0x6d3ef820, 0x2555f: 0x6cb6e020,\n\t0x25562: 0x6c141a20,\n\t0x2556c: 0x6c33e220, 0x2556f: 0x6c1cbc20,\n\t0x25570: 0x6c922a20, 0x25571: 0x6c33ea20, 0x25573: 0x6c399220,\n\t0x25574: 0x6cd35c20, 0x25575: 0x6ce3e420, 0x25576: 0x6c5eaa20, 0x25577: 0x6cbfaa20,\n\t0x25578: 0x6cd70e20, 0x25579: 0x6c18b020,\n\t0x2557c: 0x6c5a6820, 0x2557d: 0x6cd41220,\n\t// Block 0x956, offset 0x25580\n\t0x25580: 0x6d279c20,\n\t0x25586: 0x6c8f8420,\n\t0x25588: 0x6c97b620, 0x25589: 0x6c464220,\n\t0x2558d: 0x6cfaa020, 0x2558e: 0x6ca10a20,\n\t0x25590: 0x6cd05e20, 0x25592: 0x6cb30820, 0x25593: 0x6d120420,\n\t0x25594: 0x6cc0fa20, 0x25595: 0x6cc4c020,\n\t0x25599: 0x6c724220,\n\t0x2559c: 0x6d1ada20, 0x2559d: 0x6c041020, 0x2559e: 0x6ca81c20,\n\t0x255a0: 0x6c1d6c20,\n\t0x255aa: 0x6cc67820, 0x255ab: 0x6c202020,\n\t0x255ac: 0x6ca83420, 0x255ad: 0x6c861620, 0x255ae: 0x6c676220, 0x255af: 0x6c77ac20,\n\t0x255b0: 0x6c12f020, 0x255b1: 0x6c1d5220, 0x255b2: 0x6d3b5620, 0x255b3: 0x6d3f1420,\n\t0x255b4: 0x6d0fb820,\n\t0x255bc: 0x6cf1e020,\n\t// Block 0x957, offset 0x255c0\n\t0x255cb: 0x6c620420,\n\t0x255cc: 0x6c620620,\n\t0x255d0: 0x6c93e820, 0x255d1: 0x6cc07820, 0x255d2: 0x6c33fc20, 0x255d3: 0x6c05cc20,\n\t0x255d4: 0x6c14ce20, 0x255d6: 0x6c0f1620,\n\t0x255d8: 0x6c1abe20, 0x255d9: 0x6d30fa20, 0x255da: 0x6c98b820,\n\t0x255dc: 0x6c621c20, 0x255dd: 0x6c9eb620, 0x255de: 0x6d262620,\n\t0x255e0: 0x6cf3d220, 0x255e1: 0x6d366420, 0x255e2: 0x6cb25c20,\n\t0x255e5: 0x6c1ccc20,\n\t0x255eb: 0x6c9c6020,\n\t0x255ec: 0x6c3a3c20, 0x255ed: 0x6c25c020, 0x255ee: 0x6c9b2420,\n\t// Block 0x958, offset 0x25600\n\t0x2560d: 0x6d1a8220, 0x2560e: 0x6c989a20, 0x2560f: 0x6c2d2420,\n\t0x25610: 0x6c2dd620, 0x25612: 0x6cb9b420,\n\t0x25615: 0x6c4f9820, 0x25616: 0x6d348620, 0x25617: 0x6c713e20,\n\t0x25618: 0x6ca76820,\n\t0x2561c: 0x6c9c6620, 0x2561d: 0x6c47b620,\n\t0x25623: 0x6d3b5820,\n\t0x25624: 0x6ca85220, 0x25625: 0x6d3d8420, 0x25627: 0x6d131c20,\n\t0x25628: 0x6c23dc20, 0x2562a: 0x6d05be20,\n\t0x2562c: 0x6cf8b820, 0x2562f: 0x6c0e8420,\n\t0x2563e: 0x6c11d820,\n\t// Block 0x959, offset 0x25640\n\t0x25643: 0x6d0dba20,\n\t0x25651: 0x6c6cb220,\n\t0x25654: 0x6c71ce20, 0x25655: 0x6c298620, 0x25656: 0x6c327620,\n\t0x25658: 0x6d128c20, 0x25659: 0x6c6ea020, 0x2565a: 0x6c78cc20, 0x2565b: 0x6c962220,\n\t0x2565c: 0x6cf00220, 0x2565d: 0x6ce87620, 0x2565e: 0x6d1f6020, 0x2565f: 0x6cac3020,\n\t0x25661: 0x6cb01020, 0x25662: 0x6c2fb820,\n\t0x25664: 0x6cf00420, 0x25665: 0x6c183620, 0x25666: 0x6c66bc20,\n\t0x25668: 0x6cd81e20, 0x25669: 0x6d3d8a20, 0x2566a: 0x6cda4020,\n\t0x2566c: 0x6cc87420, 0x2566e: 0x6d218420,\n\t0x25673: 0x6c368e20,\n\t0x25676: 0x6c7a7e20,\n\t0x25678: 0x6d3b2220,\n\t0x2567e: 0x6cf9e820,\n\t// Block 0x95a, offset 0x25680\n\t0x2569b: 0x6c3ef220,\n\t0x2569c: 0x6ce23e20, 0x2569d: 0x6cf6d020, 0x2569e: 0x6c1d8020, 0x2569f: 0x6c41ec20,\n\t0x256a0: 0x6c936420, 0x256a1: 0x6c131620, 0x256a2: 0x6ccdb220, 0x256a3: 0x6c8e9c20,\n\t0x256a5: 0x6cf8e020, 0x256a6: 0x6c5f3e20, 0x256a7: 0x6d161220,\n\t0x256a8: 0x6ce01220, 0x256aa: 0x6c55b620,\n\t0x256ad: 0x6c25c820, 0x256ae: 0x6c447820,\n\t0x256b0: 0x6cd3dc20, 0x256b1: 0x6ccac020, 0x256b2: 0x6c53d420, 0x256b3: 0x6cfd0e20,\n\t0x256b6: 0x6cf9f020,\n\t0x256bb: 0x6ca2ae20,\n\t0x256bc: 0x6cdd9620, 0x256be: 0x6d2d4c20,\n\t// Block 0x95b, offset 0x256c0\n\t0x256c0: 0x6c3d9e20, 0x256c1: 0x6ccb6220, 0x256c2: 0x6caa4620, 0x256c3: 0x6d18ac20,\n\t0x256e7: 0x6cbdaa20,\n\t0x256e8: 0x6cbedc20,\n\t0x256f5: 0x6c5c5a20, 0x256f6: 0x6cd6e220, 0x256f7: 0x6c284a20,\n\t0x256f8: 0x6cab5420, 0x256f9: 0x6ca17420, 0x256fa: 0x6cb92420, 0x256fb: 0x6c1c8020,\n\t0x256fc: 0x6cac0620, 0x256fd: 0x6c739620,\n\t// Block 0x95c, offset 0x25700\n\t0x25700: 0x6c178020, 0x25701: 0x6c8b3c20, 0x25702: 0x6c0db420, 0x25703: 0x6c7a0a20,\n\t0x25704: 0x6c28c820, 0x25705: 0x6c1dee20, 0x25706: 0x6ce70620, 0x25707: 0x6c28ca20,\n\t0x25708: 0x6c97ce20, 0x25709: 0x6c56ce20, 0x2570a: 0x6c8a2820, 0x2570b: 0x6cfbae20,\n\t0x2570d: 0x6c129820, 0x2570e: 0x6c92ea20, 0x2570f: 0x6c204220,\n\t0x25710: 0x6cf3f420, 0x25711: 0x6c978820,\n\t0x25715: 0x6d3f2420, 0x25717: 0x6c328020,\n\t0x2571a: 0x6cd6f220, 0x2571b: 0x6c406420,\n\t0x2571c: 0x6c72a620, 0x2571d: 0x6d395820, 0x2571f: 0x6c2e4220,\n\t0x25720: 0x6cee5a20, 0x25721: 0x6c206820, 0x25722: 0x6cb92620, 0x25723: 0x6cea1220,\n\t0x25725: 0x6c886420, 0x25726: 0x6c0c2e20, 0x25727: 0x6c845420,\n\t0x2572a: 0x6c845620,\n\t// Block 0x95d, offset 0x25740\n\t0x25746: 0x6c0a9220, 0x25747: 0x6c407620,\n\t0x25748: 0x6c257820, 0x25749: 0x6c318020, 0x2574b: 0x6d29a820,\n\t0x2574c: 0x6c8fb620, 0x2574d: 0x6d0a4a20, 0x2574e: 0x6cbf7a20, 0x2574f: 0x6c5f6e20,\n\t0x25750: 0x6cba2c20, 0x25752: 0x6c65fa20, 0x25753: 0x6cce9020,\n\t0x25754: 0x6c351e20, 0x25755: 0x6cd51620, 0x25756: 0x6c10c820, 0x25757: 0x6d05f820,\n\t0x25758: 0x6c304420, 0x2575a: 0x6cc49220,\n\t0x2575c: 0x6d0fe620, 0x2575d: 0x6cc8b420, 0x2575e: 0x6c8c7020, 0x2575f: 0x6c65fc20,\n\t0x25760: 0x6c2ca820, 0x25761: 0x6c3ba020, 0x25762: 0x6c2d9020, 0x25763: 0x6d41dc20,\n\t0x25765: 0x6ca94820,\n\t0x2576a: 0x6cdba020, 0x2576b: 0x6ce52420,\n\t0x2576c: 0x6c01da20, 0x2576f: 0x6c131c20,\n\t0x25770: 0x6c2fc220, 0x25771: 0x6cd02820, 0x25772: 0x6c328420, 0x25773: 0x6ce39420,\n\t0x25774: 0x6c695420, 0x25775: 0x6d41de20, 0x25776: 0x6d2f1020, 0x25777: 0x6c65fe20,\n\t0x25778: 0x6c28da20, 0x25779: 0x6c285420, 0x2577a: 0x6cd97420,\n\t// Block 0x95e, offset 0x25780\n\t0x25790: 0x6d2e2620, 0x25791: 0x6ce69620, 0x25792: 0x6d372a20,\n\t0x25795: 0x6d1f8220, 0x25796: 0x6cac0e20,\n\t0x257a1: 0x6c854220,\n\t0x257a4: 0x6cb9d820, 0x257a6: 0x6cdca620, 0x257a7: 0x6c71dc20,\n\t0x257a8: 0x6c010020, 0x257a9: 0x6c445020, 0x257aa: 0x6c72b420, 0x257ab: 0x6cea7220,\n\t0x257ac: 0x6c0aa620, 0x257ad: 0x6cb87e20, 0x257ae: 0x6c0fa820, 0x257af: 0x6c5c7c20,\n\t0x257b1: 0x6c670020,\n\t0x257b4: 0x6c466420, 0x257b5: 0x6cdba420,\n\t0x257ba: 0x6c227a20, 0x257bb: 0x6cbb5c20,\n\t0x257bf: 0x6d0cf420,\n\t// Block 0x95f, offset 0x257c0\n\t0x257cf: 0x6c2d9420,\n\t0x257d2: 0x6c9f0420,\n\t0x257dc: 0x6cb3b620, 0x257dd: 0x6c8e1620, 0x257de: 0x6c6b7420, 0x257df: 0x6d3b3e20,\n\t0x257e0: 0x6c47ee20, 0x257e3: 0x6c32aa20,\n\t0x257e4: 0x6d2fee20, 0x257e6: 0x6ccebe20, 0x257e7: 0x6cbdf020,\n\t0x257e8: 0x6c9ca420, 0x257ea: 0x6cb2e220, 0x257eb: 0x6c23c020,\n\t0x257ec: 0x6c1d8820, 0x257ef: 0x6cc9ae20,\n\t0x257f6: 0x6ce52620,\n\t// Block 0x960, offset 0x25800\n\t0x25805: 0x6c8edc20, 0x25806: 0x6c936c20, 0x25807: 0x6c91fc20,\n\t0x25808: 0x6d407620,\n\t0x2580c: 0x6c941e20, 0x2580d: 0x6c58e620, 0x2580f: 0x6ce5b420,\n\t0x25810: 0x6ce9d820, 0x25811: 0x6cbb5220, 0x25812: 0x6c8c8020, 0x25813: 0x6c06c220,\n\t0x25814: 0x6cad7620, 0x25815: 0x6d2dc420, 0x25817: 0x6c874e20,\n\t0x2581b: 0x6ce3b220,\n\t0x2581c: 0x6c560020,\n\t0x25822: 0x6c8b6c20,\n\t0x25835: 0x6c5b8020, 0x25836: 0x6cc16420, 0x25837: 0x6d086820,\n\t0x25839: 0x6c6ec620, 0x2583a: 0x6c2f1220, 0x2583b: 0x6cdc0820,\n\t0x2583d: 0x6cf11e20, 0x2583f: 0x6d0d1420,\n\t// Block 0x961, offset 0x25840\n\t0x25840: 0x6d0c4a20, 0x25841: 0x6c050e20, 0x25843: 0x6c67ce20,\n\t0x25844: 0x6ca66820, 0x25845: 0x6c876e20, 0x25846: 0x6c560620, 0x25847: 0x6cb80420,\n\t0x25848: 0x6d37e220,\n\t0x25851: 0x6c0acc20,\n\t0x25854: 0x6d220020, 0x25855: 0x6c2f1420, 0x25856: 0x6c8c8a20, 0x25857: 0x6c878c20,\n\t0x25858: 0x6d3de620, 0x25859: 0x6c62f020, 0x2585a: 0x6c70e620,\n\t0x2585c: 0x6c3c8820, 0x2585e: 0x6d248820,\n\t0x25868: 0x6c8b7e20, 0x25869: 0x6d28e020, 0x2586a: 0x6cb9e820, 0x2586b: 0x6c6a4620,\n\t0x2586c: 0x6c494220, 0x2586e: 0x6d3dee20,\n\t0x25871: 0x6c40a220,\n\t0x25879: 0x6ccba220,\n\t0x2587c: 0x6c248a20,\n\t// Block 0x962, offset 0x25880\n\t0x25883: 0x6c5b8220,\n\t0x25888: 0x6c29a620, 0x25889: 0x6c901c20, 0x2588a: 0x6d198420,\n\t0x25897: 0x6cc96020,\n\t0x25898: 0x6d274220, 0x2589a: 0x6c2bc620,\n\t0x258a1: 0x6c420820, 0x258a2: 0x6d295c20, 0x258a3: 0x6ccdf420,\n\t0x258a4: 0x6d24b020, 0x258a5: 0x6c0fde20, 0x258a7: 0x6c2f9820,\n\t0x258a8: 0x6c388c20, 0x258aa: 0x6d22d820,\n\t0x258ac: 0x6ccfc420,\n\t0x258b2: 0x6c457020,\n\t0x258b4: 0x6c9ed020, 0x258b5: 0x6cea4a20,\n\t0x258b8: 0x6c8af620,\n\t// Block 0x963, offset 0x258c0\n\t0x258c1: 0x6d2bd420, 0x258c2: 0x6cadbc20,\n\t0x258c4: 0x6c9c4a20, 0x258c6: 0x6c9ffa20, 0x258c7: 0x6c394a20,\n\t0x258c9: 0x6ca33620, 0x258ca: 0x6cd8b820, 0x258cb: 0x6d14ea20,\n\t0x258cc: 0x6c635020, 0x258cd: 0x6d3ae620,\n\t0x258d3: 0x6c047e20,\n\t0x258d4: 0x6d231e20, 0x258d6: 0x6cb35820,\n\t0x258da: 0x6c582820, 0x258db: 0x6c11f820,\n\t0x258dc: 0x6c684a20,\n\t0x258e0: 0x6cdfe420,\n\t0x258e9: 0x6d363a20, 0x258eb: 0x6c9cf420,\n\t0x258ec: 0x6c77ae20,\n\t0x258f1: 0x6d109a20, 0x258f2: 0x6c335020, 0x258f3: 0x6cc36020,\n\t0x258f4: 0x6c10a420, 0x258f5: 0x6c1f5420, 0x258f6: 0x6cbc2820, 0x258f7: 0x6c8e6c20,\n\t0x258f8: 0x6c0f1820, 0x258fa: 0x6c772e20, 0x258fb: 0x6c3bde20,\n\t// Block 0x964, offset 0x25900\n\t0x25905: 0x6c2a2020,\n\t0x25909: 0x6c312820, 0x2590a: 0x6c440820,\n\t0x25919: 0x6c8d3a20, 0x2591a: 0x6cf79420,\n\t0x2591c: 0x6ca6ba20, 0x2591d: 0x6d389620, 0x2591e: 0x6d389820,\n\t0x25923: 0x6c1d7820,\n\t0x25934: 0x6ca6ee20, 0x25935: 0x6c5f0c20, 0x25937: 0x6cc12420,\n\t// Block 0x965, offset 0x25940\n\t0x25944: 0x6c763e20, 0x25947: 0x6cfcfc20,\n\t0x25949: 0x6c516820, 0x2594b: 0x6c8bd220,\n\t0x2594d: 0x6d3e7e20,\n\t0x25951: 0x6cab8c20, 0x25952: 0x6c245620,\n\t0x25957: 0x6c140420,\n\t0x2595d: 0x6d383820, 0x2595e: 0x6c102420,\n\t0x25964: 0x6c1d8220, 0x25965: 0x6cf8e220, 0x25966: 0x6cc99220, 0x25967: 0x6cfb9620,\n\t0x25968: 0x6ccb6420, 0x25969: 0x6c9e6020, 0x2596b: 0x6c38c020,\n\t0x2596c: 0x6d341620, 0x2596e: 0x6c256420,\n\t0x25974: 0x6cfa4620,\n\t0x2597e: 0x6cab1420, 0x2597f: 0x6c845820,\n\t// Block 0x966, offset 0x25980\n\t0x25980: 0x6d40de20, 0x25982: 0x6c24f220, 0x25983: 0x6d2b1220,\n\t0x25985: 0x6c845a20,\n\t0x25998: 0x6cb67620, 0x2599a: 0x6d3d1020, 0x2599b: 0x6c257a20,\n\t0x2599c: 0x6cb41e20, 0x2599e: 0x6c38d620, 0x2599f: 0x6ce02620,\n\t0x259a9: 0x6d3eac20, 0x259aa: 0x6d412a20, 0x259ab: 0x6d38bc20,\n\t0x259ac: 0x6cc6d020, 0x259ad: 0x6c8bee20, 0x259ae: 0x6ce02820,\n\t0x259b6: 0x6cd3fe20,\n\t0x259ba: 0x6c251420, 0x259bb: 0x6d3eb820,\n\t0x259bc: 0x6c3db620,\n\t// Block 0x967, offset 0x259c0\n\t0x259c1: 0x6d001c20,\n\t0x259c8: 0x6c3c7420,\n\t0x259cf: 0x6cfd4220,\n\t0x259d0: 0x6c670c20, 0x259d2: 0x6c3c0420,\n\t0x259d7: 0x6c875020,\n\t0x259d8: 0x6ca19820,\n\t0x259df: 0x6d1ed020,\n\t0x259e5: 0x6c5e5020, 0x259e7: 0x6cc16620,\n\t0x259ec: 0x6ca78220,\n\t0x259f0: 0x6c9cbe20, 0x259f3: 0x6cb80a20,\n\t0x259f6: 0x6c51ae20,\n\t0x259f8: 0x6c893a20,\n\t0x259ff: 0x6d42b420,\n\t// Block 0x968, offset 0x25a00\n\t0x25a02: 0x6c8df220,\n\t0x25a05: 0x6d39f820, 0x25a07: 0x6ca78c20,\n\t0x25a0a: 0x6c612420, 0x25a0b: 0x6cc62620,\n\t0x25a0c: 0x6c6a9620, 0x25a0d: 0x6c41d020,\n\t0x25a10: 0x6d170220, 0x25a13: 0x6d38ce20,\n\t0x25a15: 0x6cf4ca20,\n\t0x25a1a: 0x6c44fe20, 0x25a1b: 0x6c243220,\n\t0x25a1d: 0x6c9ed220,\n\t0x25a21: 0x6d0a0220, 0x25a23: 0x6d33cc20,\n\t0x25a24: 0x6cff7620, 0x25a27: 0x6c3e3a20,\n\t0x25a28: 0x6c553620,\n\t0x25a2c: 0x6c2b1e20, 0x25a2e: 0x6c741820, 0x25a2f: 0x6c2e1220,\n\t0x25a39: 0x6cd44420,\n\t0x25a3c: 0x6cee0a20,\n\t// Block 0x969, offset 0x25a40\n\t0x25a43: 0x6ca33820,\n\t0x25a44: 0x6c2b2620, 0x25a45: 0x6cd37020, 0x25a46: 0x6c224020, 0x25a47: 0x6cd4d220,\n\t0x25a49: 0x6cec2c20, 0x25a4a: 0x6c181820, 0x25a4b: 0x6c389820,\n\t0x25a4d: 0x6c470820, 0x25a4e: 0x6d24e620,\n\t0x25a51: 0x6c491420,\n\t0x25a5a: 0x6cbcbc20,\n\t0x25a5c: 0x6d2de820, 0x25a5d: 0x6c276020, 0x25a5e: 0x6cceee20,\n\t0x25a66: 0x6d388820, 0x25a67: 0x6cfde420,\n\t0x25a68: 0x6ca00020, 0x25a69: 0x6d3f5020, 0x25a6a: 0x6c599620, 0x25a6b: 0x6c9c5420,\n\t0x25a6d: 0x6cf88c20, 0x25a6e: 0x6d363c20, 0x25a6f: 0x6cac2820,\n\t0x25a70: 0x6c349420,\n\t0x25a74: 0x6c22c820, 0x25a75: 0x6ca1d420, 0x25a77: 0x6c17be20,\n\t0x25a79: 0x6d17b620, 0x25a7a: 0x6c464820,\n\t// Block 0x96a, offset 0x25a80\n\t0x25a87: 0x6c6dba20,\n\t0x25a93: 0x6d2b8020,\n\t0x25a94: 0x6cb25e20, 0x25a95: 0x6d130420, 0x25a96: 0x6c6af420,\n\t0x25a98: 0x6caf7620, 0x25a9b: 0x6ccbfe20,\n\t0x25a9c: 0x6d3c4420, 0x25a9d: 0x6c6f1e20,\n\t0x25aa0: 0x6c8e6e20, 0x25aa1: 0x6d227020, 0x25aa3: 0x6c70ac20,\n\t0x25aa8: 0x6caafe20,\n\t0x25ab8: 0x6c999c20,\n\t// Block 0x96b, offset 0x25ac0\n\t0x25ac4: 0x6c187420, 0x25ac6: 0x6d3bd420, 0x25ac7: 0x6ca76a20,\n\t0x25ac8: 0x6c79aa20, 0x25ac9: 0x6c6a2e20, 0x25aca: 0x6c57b020,\n\t0x25acd: 0x6d02e220, 0x25ace: 0x6d424a20, 0x25acf: 0x6d0e9620,\n\t0x25ad0: 0x6c748220,\n\t0x25ad5: 0x6c54ea20, 0x25ad6: 0x6d393a20, 0x25ad7: 0x6ccf6a20,\n\t0x25ad9: 0x6d0dbc20, 0x25adb: 0x6d01de20,\n\t0x25adc: 0x6c2ed420, 0x25adf: 0x6c187a20,\n\t0x25af2: 0x6c65c620, 0x25af3: 0x6c624c20,\n\t0x25af6: 0x6c21ce20, 0x25af7: 0x6c537420,\n\t// Block 0x96c, offset 0x25b00\n\t0x25b00: 0x6c26bc20,\n\t0x25b04: 0x6c764020, 0x25b05: 0x6d039820, 0x25b06: 0x6c5c1c20, 0x25b07: 0x6c65d020,\n\t0x25b08: 0x6d394820, 0x25b09: 0x6d2c8c20, 0x25b0a: 0x6c403820, 0x25b0b: 0x6c1c6020,\n\t0x25b0c: 0x6c082e20, 0x25b0d: 0x6cab0a20,\n\t0x25b11: 0x6c626820, 0x25b12: 0x6cb9c020,\n\t0x25b14: 0x6ced9620, 0x25b15: 0x6cab6a20, 0x25b16: 0x6c0a3220, 0x25b17: 0x6cd79c20,\n\t0x25b20: 0x6c6dd020, 0x25b21: 0x6d132e20,\n\t// Block 0x96d, offset 0x25b40\n\t0x25b44: 0x6c3a7220, 0x25b47: 0x6c844420,\n\t0x25b4a: 0x6c868020, 0x25b4b: 0x6cb01e20,\n\t0x25b52: 0x6cdc7a20, 0x25b53: 0x6c8e9e20,\n\t0x25b54: 0x6c517220, 0x25b55: 0x6c5d1420, 0x25b56: 0x6ce07a20, 0x25b57: 0x6cd79e20,\n\t0x25b58: 0x6d36ec20, 0x25b59: 0x6c0f5c20,\n\t0x25b5d: 0x6cf8e420,\n\t0x25b61: 0x6cb33620, 0x25b62: 0x6cc45c20,\n\t0x25b64: 0x6ca2b020,\n\t0x25b7d: 0x6d1db820,\n\t// Block 0x96e, offset 0x25b80\n\t0x25b82: 0x6c279620,\n\t0x25b8a: 0x6cb72220, 0x25b8b: 0x6c2e0220,\n\t0x25b8c: 0x6ca87c20, 0x25b8d: 0x6cd6e420, 0x25b8f: 0x6cce8c20,\n\t0x25b90: 0x6c7dc420, 0x25b91: 0x6cdc9020, 0x25b93: 0x6c30ca20,\n\t0x25b94: 0x6c2ef220,\n\t0x25b9c: 0x6c45ba20,\n\t0x25baf: 0x6d3bb020,\n\t0x25bb0: 0x6c4c8c20,\n\t0x25bbc: 0x6d05fa20, 0x25bbd: 0x6cc1e820,\n\t// Block 0x96f, offset 0x25bc0\n\t0x25bc0: 0x6d0a4c20, 0x25bc3: 0x6c689a20,\n\t0x25bc4: 0x6d30aa20, 0x25bc6: 0x6c2d9220, 0x25bc7: 0x6cca7620,\n\t0x25bc8: 0x6c080c20, 0x25bca: 0x6cdda620, 0x25bcb: 0x6cba2e20,\n\t0x25bcf: 0x6d05fc20,\n\t0x25bd1: 0x6d0a4e20,\n\t0x25bd4: 0x6ca17a20,\n\t0x25bf5: 0x6cdca820, 0x25bf6: 0x6c7ea820, 0x25bf7: 0x6d3a8a20,\n\t0x25bf8: 0x6d396420, 0x25bfa: 0x6c870820,\n\t0x25bfc: 0x6c280e20, 0x25bfd: 0x6c717820, 0x25bff: 0x6d286e20,\n\t// Block 0x970, offset 0x25c00\n\t0x25c00: 0x6c15fc20, 0x25c01: 0x6c956020,\n\t0x25c04: 0x6ccb8220, 0x25c06: 0x6c888620,\n\t0x25c08: 0x6d414e20, 0x25c0b: 0x6c7f7020,\n\t0x25c0c: 0x6cd6ec20, 0x25c0d: 0x6cbcfe20,\n\t0x25c18: 0x6c30ce20,\n\t0x25c1e: 0x6cf54a20, 0x25c1f: 0x6c9b9020,\n\t0x25c21: 0x6c62ce20,\n\t0x25c24: 0x6c1aee20, 0x25c26: 0x6ca65c20,\n\t0x25c38: 0x6d116e20, 0x25c3b: 0x6c7ec020,\n\t0x25c3e: 0x6c942020,\n\t// Block 0x971, offset 0x25c40\n\t0x25c40: 0x6cdcbe20, 0x25c41: 0x6c3dbe20,\n\t0x25c44: 0x6c830420, 0x25c45: 0x6cf05820,\n\t0x25c4e: 0x6c237820,\n\t0x25c54: 0x6c877020, 0x25c56: 0x6cb22820,\n\t0x25c58: 0x6c759020, 0x25c59: 0x6c71e420, 0x25c5b: 0x6c7ecc20,\n\t0x25c67: 0x6c62f220,\n\t0x25c6a: 0x6c9f1a20,\n\t0x25c6c: 0x6d125020, 0x25c6d: 0x6c0b2620,\n\t0x25c71: 0x6c23d420, 0x25c72: 0x6cd85e20,\n\t0x25c75: 0x6cd86020,\n\t0x25c78: 0x6c51b020,\n\t// Block 0x972, offset 0x25c80\n\t0x25c83: 0x6ca48820,\n\t0x25c85: 0x6c2f2620,\n\t0x25c88: 0x6c180220, 0x25c89: 0x6d282220, 0x25c8b: 0x6d052220,\n\t0x25c8c: 0x6cd4c220, 0x25c8e: 0x6c15b020, 0x25c8f: 0x6c9f4c20,\n\t0x25c90: 0x6c87fe20, 0x25c91: 0x6d19e620, 0x25c92: 0x6d037620, 0x25c93: 0x6cee9020,\n\t0x25c94: 0x6c479020, 0x25c95: 0x6ce7f020, 0x25c96: 0x6cddf620, 0x25c97: 0x6c3a5e20,\n\t0x25c98: 0x6c265420, 0x25c99: 0x6ca84620, 0x25c9a: 0x6c244820, 0x25c9b: 0x6d426e20,\n\t0x25c9c: 0x6c6b2020, 0x25c9d: 0x6d08b020, 0x25c9e: 0x6c0f5e20, 0x25c9f: 0x6c6c5e20,\n\t0x25ca0: 0x6d1b1220, 0x25ca1: 0x6d05f020, 0x25ca3: 0x6d20e420,\n\t0x25ca4: 0x6d048c20, 0x25ca6: 0x6cb76c20, 0x25ca7: 0x6c069620,\n\t0x25ca8: 0x6d03dc20, 0x25ca9: 0x6c45ec20,\n\t0x25cac: 0x6d418c20,\n\t0x25cb0: 0x6c6a1a20, 0x25cb2: 0x6c763020,\n\t0x25cb5: 0x6d03f020, 0x25cb6: 0x6c06b220, 0x25cb7: 0x6cd4ee20,\n\t0x25cb8: 0x6d23a020, 0x25cba: 0x6d38ee20, 0x25cbb: 0x6d2e0420,\n\t// Block 0x973, offset 0x25cc0\n\t0x25cc2: 0x6d37c620,\n\t0x25cc6: 0x6c140620,\n\t0x25cc8: 0x6c20e020, 0x25cc9: 0x6c8f4220,\n\t0x25cce: 0x6cdbdc20,\n\t0x25cd0: 0x6d3a8620,\n\t0x25cd9: 0x6c0bd220,\n\t0x25cdd: 0x6d035420, 0x25cdf: 0x6d0bce20,\n\t0x25ce2: 0x6c8daa20,\n\t0x25ce7: 0x6d0bd220,\n\t0x25cec: 0x6ce63020,\n\t0x25cf9: 0x6c2b5a20,\n\t// Block 0x974, offset 0x25d00\n\t0x25d01: 0x6cafca20, 0x25d02: 0x6c567620, 0x25d03: 0x6c132a20,\n\t0x25d0a: 0x6ce45e20, 0x25d0b: 0x6ca20220,\n\t0x25d0c: 0x6c731620, 0x25d0e: 0x6ca20420,\n\t0x25d10: 0x6c723020, 0x25d11: 0x6c8f0020, 0x25d13: 0x6c8e0c20,\n\t0x25d17: 0x6c8f0220,\n\t0x25d18: 0x6c568820,\n\t0x25d26: 0x6c3e3e20, 0x25d27: 0x6c553820,\n\t0x25d2a: 0x6c361820, 0x25d2b: 0x6c458420,\n\t0x25d2c: 0x6c470a20,\n\t0x25d31: 0x6c48b420,\n\t0x25d39: 0x6c94a420, 0x25d3b: 0x6c389a20,\n\t0x25d3c: 0x6c93e220, 0x25d3d: 0x6c9b1820, 0x25d3e: 0x6c3e8a20, 0x25d3f: 0x6c8e5e20,\n\t// Block 0x975, offset 0x25d40\n\t0x25d45: 0x6d00c220, 0x25d46: 0x6c471e20,\n\t0x25d48: 0x6cfcda20, 0x25d49: 0x6c0f1a20, 0x25d4b: 0x6c622220,\n\t0x25d53: 0x6cc2a220,\n\t0x25d54: 0x6c927220,\n\t0x25d5e: 0x6cd79420,\n\t0x25d61: 0x6ca20820, 0x25d62: 0x6d23a420, 0x25d63: 0x6c4eea20,\n\t0x25d69: 0x6d26d020, 0x25d6a: 0x6c289e20,\n\t0x25d6f: 0x6d218620,\n\t0x25d70: 0x6c64de20, 0x25d73: 0x6c429020,\n\t0x25d7f: 0x6c129420,\n\t// Block 0x976, offset 0x25d80\n\t0x25d80: 0x6cd0c820, 0x25d81: 0x6c8f1c20,\n\t0x25d86: 0x6c687e20,\n\t0x25d89: 0x6cdb2020, 0x25d8a: 0x6cdb2220, 0x25d8b: 0x6d383e20,\n\t0x25d92: 0x6c8aaa20,\n\t0x25d94: 0x6d085c20, 0x25d95: 0x6c92ee20, 0x25d97: 0x6c629e20,\n\t0x25d9a: 0x6d0cdc20,\n\t0x25d9f: 0x6c930820,\n\t0x25da1: 0x6c9fd220, 0x25da2: 0x6ce39620,\n\t0x25da6: 0x6c595c20,\n\t0x25da9: 0x6d18ec20, 0x25daa: 0x6ce08220,\n\t0x25dac: 0x6cf48820,\n\t0x25db0: 0x6c5f8020,\n\t0x25db7: 0x6c31e620,\n\t0x25db8: 0x6c7d9420, 0x25dba: 0x6c758e20,\n\t0x25dbf: 0x6cd21a20,\n\t// Block 0x977, offset 0x25dc0\n\t0x25dc0: 0x6ca44e20, 0x25dc1: 0x6cb3bc20,\n\t0x25dc4: 0x6cd52020, 0x25dc5: 0x6cc37e20,\n\t0x25dcc: 0x6cc5bc20, 0x25dcf: 0x6c3b6220,\n\t0x25dd2: 0x6cde3a20, 0x25dd3: 0x6cea4820,\n\t0x25dd5: 0x6d0f9c20,\n\t0x25de6: 0x6c342c20, 0x25de7: 0x6c21fc20,\n\t0x25de9: 0x6c478020, 0x25dea: 0x6c3b6e20,\n\t0x25ded: 0x6cc74620,\n\t0x25df1: 0x6c42c020, 0x25df2: 0x6cfdbe20,\n\t0x25df4: 0x6cfdc020, 0x25df5: 0x6c545420, 0x25df7: 0x6ce1c420,\n\t0x25df8: 0x6ccd8420, 0x25df9: 0x6d0fba20, 0x25dfa: 0x6d3f5220,\n\t0x25dfc: 0x6d256a20,\n\t// Block 0x978, offset 0x25e00\n\t0x25e04: 0x6cda7420, 0x25e07: 0x6c203820,\n\t0x25e08: 0x6cfdc820, 0x25e0a: 0x6c048a20,\n\t0x25e0c: 0x6c97c020, 0x25e0e: 0x6c3f6e20, 0x25e0f: 0x6c7e6420,\n\t0x25e10: 0x6c851e20, 0x25e12: 0x6c6af620, 0x25e13: 0x6d1ea820,\n\t0x25e18: 0x6d23a620, 0x25e1a: 0x6c1c4820,\n\t0x25e1c: 0x6c203a20, 0x25e1d: 0x6d182e20, 0x25e1e: 0x6ccd0020,\n\t0x25e22: 0x6c609220, 0x25e23: 0x6d0c2820,\n\t0x25e26: 0x6cf51820, 0x25e27: 0x6c215c20,\n\t0x25e28: 0x6c987420,\n\t0x25e2d: 0x6c3ede20, 0x25e2e: 0x6c637c20, 0x25e2f: 0x6c46d620,\n\t0x25e30: 0x6c474420, 0x25e31: 0x6c63e420,\n\t0x25e35: 0x6cfb9820, 0x25e37: 0x6c6d6020,\n\t0x25e38: 0x6d3f6420, 0x25e39: 0x6c90bc20,\n\t0x25e3c: 0x6c46da20,\n\t// Block 0x979, offset 0x25e40\n\t0x25e40: 0x6cc57c20, 0x25e42: 0x6ccd1420,\n\t0x25e45: 0x6c74da20, 0x25e46: 0x6ce79c20, 0x25e47: 0x6d1ffc20,\n\t0x25e54: 0x6c651a20, 0x25e55: 0x6c31dc20, 0x25e57: 0x6c55f020,\n\t0x25e5b: 0x6ccace20,\n\t0x25e5c: 0x6d246220,\n\t0x25e62: 0x6c974e20,\n\t0x25e64: 0x6d342620, 0x25e65: 0x6d0c4420, 0x25e66: 0x6c42f020,\n\t0x25e68: 0x6c582020,\n\t0x25e6e: 0x6cc34420,\n\t0x25e71: 0x6d103e20, 0x25e73: 0x6d418820,\n\t0x25e77: 0x6cfe8e20,\n\t0x25e78: 0x6d170620, 0x25e79: 0x6d0d5a20, 0x25e7a: 0x6c531e20, 0x25e7b: 0x6d20e620,\n\t0x25e7f: 0x6c1c0020,\n\t// Block 0x97a, offset 0x25e80\n\t0x25e81: 0x6c1b1020,\n\t0x25e84: 0x6c4f6a20, 0x25e85: 0x6ccb1e20, 0x25e86: 0x6cabbe20, 0x25e87: 0x6cde4020,\n\t0x25e88: 0x6c3b2620, 0x25e89: 0x6c1aa020,\n\t0x25e8c: 0x6c533220, 0x25e8d: 0x6d095220,\n\t0x25e96: 0x6d351e20,\n\t0x25e9b: 0x6cc19020,\n\t0x25ea0: 0x6cf5fe20, 0x25ea1: 0x6c3e6220, 0x25ea3: 0x6cd4e020,\n\t0x25ea4: 0x6c4d6a20, 0x25ea6: 0x6cb38c20,\n\t0x25ea8: 0x6c229a20,\n\t0x25eb0: 0x6c149a20, 0x25eb3: 0x6c52ae20,\n\t0x25eb8: 0x6cad7a20, 0x25eb9: 0x6ccff820, 0x25eba: 0x6cfede20,\n\t0x25ebd: 0x6d07ac20, 0x25ebe: 0x6c229e20, 0x25ebf: 0x6ce68420,\n\t// Block 0x97b, offset 0x25ec0\n\t0x25ec0: 0x6cb39620,\n\t0x25ec7: 0x6cde7e20,\n\t0x25ec8: 0x6c13a820, 0x25ecb: 0x6d40ce20,\n\t0x25ecc: 0x6c5de820, 0x25ecd: 0x6d071820, 0x25ece: 0x6d0e9820, 0x25ecf: 0x6c149e20,\n\t0x25ed1: 0x6ceb3420,\n\t0x25ed8: 0x6cfb8420, 0x25ed9: 0x6d07c620, 0x25eda: 0x6c542a20, 0x25edb: 0x6c58de20,\n\t0x25edc: 0x6c442620, 0x25edd: 0x6c1d3c20, 0x25ede: 0x6c0a3620, 0x25edf: 0x6c52bc20,\n\t0x25ee0: 0x6c52be20, 0x25ee1: 0x6c1b4a20, 0x25ee3: 0x6c140820,\n\t0x25eef: 0x6d2c8e20,\n\t0x25ef1: 0x6d2d1e20, 0x25ef2: 0x6cdea220,\n\t0x25ef5: 0x6cb3a220, 0x25ef6: 0x6cdea420,\n\t0x25ef8: 0x6d1f6e20, 0x25ef9: 0x6c3ef420, 0x25efa: 0x6c220e20, 0x25efb: 0x6c26be20,\n\t0x25efc: 0x6cde1a20, 0x25efe: 0x6c8ea020,\n\t// Block 0x97c, offset 0x25f00\n\t0x25f01: 0x6c221020, 0x25f03: 0x6c52d420,\n\t0x25f05: 0x6c4f1a20, 0x25f06: 0x6c7e5020,\n\t0x25f08: 0x6cd20420,\n\t0x25f0d: 0x6ce79e20, 0x25f0e: 0x6c5c7020, 0x25f0f: 0x6c518620,\n\t0x25f10: 0x6cb1d820, 0x25f11: 0x6d243a20,\n\t0x25f1c: 0x6cfaf020, 0x25f1d: 0x6c4e6c20, 0x25f1f: 0x6cb3ac20,\n\t0x25f26: 0x6c7ec220, 0x25f27: 0x6c5e5220,\n\t0x25f30: 0x6cdf8420,\n\t0x25f34: 0x6c819e20, 0x25f36: 0x6cd5b420,\n\t0x25f3a: 0x6c2a0a20, 0x25f3b: 0x6c2d1020,\n\t// Block 0x97d, offset 0x25f40\n\t0x25f48: 0x6d04a820, 0x25f4b: 0x6cee6020,\n\t0x25f4d: 0x6c17f820, 0x25f4e: 0x6ca3ae20,\n\t0x25f50: 0x6c73d420, 0x25f53: 0x6c375220,\n\t0x25f54: 0x6c375a20, 0x25f55: 0x6caa6c20, 0x25f56: 0x6caa8820,\n\t0x25f5d: 0x6d3bae20,\n\t0x25f62: 0x6cab2220,\n\t0x25f64: 0x6c8ac220, 0x25f65: 0x6c82b420, 0x25f67: 0x6c032a20,\n\t0x25f6c: 0x6c196820, 0x25f6f: 0x6c4a6a20,\n\t0x25f70: 0x6cc2f820, 0x25f71: 0x6c448820, 0x25f73: 0x6c45ee20,\n\t0x25f74: 0x6ccee020,\n\t0x25f79: 0x6c7f2020, 0x25f7a: 0x6d32e820, 0x25f7b: 0x6d183020,\n\t0x25f7c: 0x6c4bda20, 0x25f7d: 0x6ceea620, 0x25f7e: 0x6c951e20,\n\t// Block 0x97e, offset 0x25f80\n\t0x25f82: 0x6cd28620, 0x25f83: 0x6d1be820,\n\t0x25f84: 0x6cd14620, 0x25f85: 0x6ce8ea20, 0x25f86: 0x6c0a3820,\n\t0x25f88: 0x6d2aee20, 0x25f89: 0x6d383a20, 0x25f8b: 0x6cc72620,\n\t0x25f8c: 0x6cb64e20, 0x25f8d: 0x6c405620, 0x25f8e: 0x6c131820,\n\t0x25f93: 0x6c845c20,\n\t0x25f94: 0x6c978c20, 0x25f96: 0x6c886620, 0x25f97: 0x6c0c3020,\n\t0x25f9b: 0x6c207e20,\n\t0x25f9c: 0x6d18ee20,\n\t0x25fa0: 0x6cac3620,\n\t0x25fa5: 0x6d191420, 0x25fa6: 0x6c7b4820,\n\t0x25fa9: 0x6c0c5220, 0x25fab: 0x6c1c9e20,\n\t0x25fac: 0x6cc22020, 0x25fad: 0x6ca1ae20, 0x25fae: 0x6d301620, 0x25faf: 0x6ccc3c20,\n\t0x25fb0: 0x6ccc3e20,\n\t0x25fb7: 0x6d109620,\n\t0x25fb8: 0x6c457420, 0x25fb9: 0x6ca3b620,\n\t0x25fbc: 0x6d018420, 0x25fbf: 0x6ce53220,\n\t// Block 0x97f, offset 0x25fc0\n\t0x25fc6: 0x6d127820,\n\t0x25fc9: 0x6ccbe220,\n\t0x25fcf: 0x6ccaec20,\n\t0x25fd2: 0x6c2cc620, 0x25fd3: 0x6d06c220,\n\t0x25fd9: 0x6cc19220,\n\t0x25fe0: 0x6c52b020, 0x25fe1: 0x6cd16620, 0x25fe2: 0x6ce6ec20,\n\t0x25ff0: 0x6c352e20,\n\t0x25ff5: 0x6c89ea20, 0x25ff7: 0x6c53c220,\n\t0x25ff8: 0x6c852020, 0x25ffa: 0x6cfdee20,\n\t0x25ffd: 0x6cd0b620,\n\t// Block 0x980, offset 0x26000\n\t0x26000: 0x6c3d8220,\n\t0x26008: 0x6d0dc020, 0x26009: 0x6cee3220, 0x2600a: 0x6cb51620, 0x2600b: 0x6c34a620,\n\t0x2600d: 0x6c57b220, 0x2600e: 0x6cb90c20,\n\t0x26010: 0x6d01e020,\n\t0x2601d: 0x6c22d620, 0x2601e: 0x6cd11020,\n\t0x26022: 0x6c37dc20,\n\t0x26024: 0x6d039a20, 0x26026: 0x6cea0e20, 0x26027: 0x6d0ea220,\n\t0x26029: 0x6c8b2820,\n\t0x2602c: 0x6c9c6e20,\n\t0x26038: 0x6d402c20, 0x2603a: 0x6d3e8020,\n\t0x2603c: 0x6c55ba20, 0x2603d: 0x6d1c9e20, 0x2603e: 0x6c885620, 0x2603f: 0x6c266a20,\n\t// Block 0x981, offset 0x26040\n\t0x26040: 0x6ce4c420, 0x26041: 0x6ce53e20,\n\t0x2604b: 0x6cc6b020,\n\t0x2604d: 0x6c00d020,\n\t0x26050: 0x6c00e420, 0x26051: 0x6d309e20, 0x26052: 0x6c4c4620, 0x26053: 0x6c92f020,\n\t0x26054: 0x6d2f7a20, 0x26055: 0x6c9c8220, 0x26056: 0x6c8a2a20, 0x26057: 0x6d30a020,\n\t0x2605b: 0x6cc25020,\n\t0x2605c: 0x6c236820, 0x2605f: 0x6ce65020,\n\t0x26061: 0x6ce02c20, 0x26062: 0x6d2e2820, 0x26063: 0x6c55e020,\n\t0x26065: 0x6cb1da20, 0x26067: 0x6c267020,\n\t0x26068: 0x6cc6d220,\n\t0x2606e: 0x6ca52020,\n\t0x26073: 0x6ca45a20,\n\t0x26074: 0x6c291a20, 0x26075: 0x6c695c20,\n\t0x2607b: 0x6c72b620,\n\t0x2607c: 0x6c37ac20,\n\t// Block 0x982, offset 0x26080\n\t0x2608a: 0x6c877420,\n\t0x2608c: 0x6c4c4e20, 0x2608d: 0x6cec7e20,\n\t0x26092: 0x6ca7ee20,\n\t0x26094: 0x6c6c3420,\n\t0x260a9: 0x6cb04a20, 0x260aa: 0x6c1bde20,\n\t0x260b2: 0x6cb04c20, 0x260b3: 0x6d166e20,\n\t0x260b4: 0x6c316220, 0x260b5: 0x6cec1420, 0x260b6: 0x6d099020,\n\t0x260b8: 0x6cb73c20, 0x260b9: 0x6ccd6c20,\n\t0x260bc: 0x6d056a20, 0x260bf: 0x6c509020,\n\t// Block 0x983, offset 0x260c0\n\t0x260c0: 0x6caca620, 0x260c2: 0x6cadb420,\n\t0x260c4: 0x6d045a20, 0x260c6: 0x6c1b7e20, 0x260c7: 0x6cdf9020,\n\t0x260c8: 0x6d41a620, 0x260c9: 0x6d414820, 0x260ca: 0x6cb74c20, 0x260cb: 0x6c316420,\n\t0x260d9: 0x6cd70c20,\n\t0x260dc: 0x6ca2f220, 0x260dd: 0x6cf59620,\n\t0x260e7: 0x6c179420,\n\t0x260e8: 0x6d16d020, 0x260eb: 0x6d329e20,\n\t0x260ee: 0x6c70fe20, 0x260ef: 0x6c274c20,\n\t0x260f1: 0x6cc9fc20,\n\t0x260f4: 0x6d3ac820, 0x260f5: 0x6ced7620,\n\t0x260f8: 0x6cc9fe20, 0x260f9: 0x6c04f220, 0x260fa: 0x6c643c20, 0x260fb: 0x6c972c20,\n\t// Block 0x984, offset 0x26100\n\t0x26108: 0x6ceb9c20, 0x2610a: 0x6cb76020,\n\t0x2610f: 0x6d3c0c20,\n\t0x26110: 0x6ceb0220, 0x26113: 0x6cb28c20,\n\t0x2611d: 0x6cae6220, 0x2611e: 0x6c7b9a20, 0x2611f: 0x6d14d820,\n\t0x26121: 0x6d018620, 0x26122: 0x6d264c20, 0x26123: 0x6c523020,\n\t0x26125: 0x6c53f220, 0x26126: 0x6d32a420, 0x26127: 0x6c217420,\n\t0x26128: 0x6cd35e20, 0x26129: 0x6cec1c20, 0x2612b: 0x6d009620,\n\t0x26138: 0x6c452a20,\n\t// Block 0x985, offset 0x26140\n\t0x26145: 0x6c35fe20,\n\t0x2614f: 0x6c7a7220,\n\t0x26150: 0x6ca32c20, 0x26153: 0x6c707420,\n\t0x26154: 0x6d088e20, 0x26155: 0x6cc0fe20, 0x26156: 0x6c181c20, 0x26157: 0x6c939620,\n\t0x26158: 0x6c511420, 0x26159: 0x6cd16020, 0x2615a: 0x6ca44620,\n\t0x2615c: 0x6c511620, 0x2615d: 0x6c13de20, 0x2615e: 0x6d0bfe20, 0x2615f: 0x6c450a20,\n\t0x26160: 0x6ca81e20, 0x26162: 0x6c4c6a20, 0x26163: 0x6d0c8c20,\n\t0x26164: 0x6c494e20, 0x26167: 0x6d360420,\n\t0x26168: 0x6c81f420,\n\t0x2616f: 0x6c321820,\n\t0x26170: 0x6cb78220, 0x26171: 0x6cc10020, 0x26172: 0x6c742e20,\n\t// Block 0x986, offset 0x26180\n\t0x26181: 0x6c3c4220, 0x26183: 0x6d06c420,\n\t0x26184: 0x6ce9fc20, 0x26186: 0x6c4e1820, 0x26187: 0x6c7a4220,\n\t0x2618a: 0x6ccff020, 0x2618b: 0x6d363e20,\n\t0x2618d: 0x6cad2c20, 0x2618e: 0x6d32cc20, 0x2618f: 0x6c861820,\n\t0x26190: 0x6ced2620, 0x26192: 0x6c391020, 0x26193: 0x6d033a20,\n\t0x26196: 0x6d0bb620,\n\t0x2619b: 0x6c709820,\n\t0x2619c: 0x6cd0a620,\n\t0x261ad: 0x6c989020, 0x261af: 0x6cea7e20,\n\t0x261b0: 0x6d3d6620, 0x261b1: 0x6cf62820, 0x261b2: 0x6d1b5820, 0x261b3: 0x6c6db620,\n\t0x261b4: 0x6cea5420, 0x261b7: 0x6c453220,\n\t0x261b8: 0x6c620a20,\n\t// Block 0x987, offset 0x261c0\n\t0x261cf: 0x6d3ba820,\n\t0x261d2: 0x6ce5f220,\n\t0x261d4: 0x6d33e220, 0x261d6: 0x6c604420,\n\t0x261da: 0x6d1c8220, 0x261db: 0x6cf0aa20,\n\t0x261dd: 0x6c593c20, 0x261de: 0x6ce68620, 0x261df: 0x6c150620,\n\t0x261e2: 0x6c7c8e20, 0x261e3: 0x6cb86e20,\n\t0x261e4: 0x6c04fc20, 0x261e5: 0x6c13a420, 0x261e6: 0x6ceb8420, 0x261e7: 0x6ca43020,\n\t0x261e8: 0x6c6a2420, 0x261ea: 0x6d0c1620,\n\t0x261ec: 0x6ce8ca20, 0x261ee: 0x6cf1e620,\n\t0x261f0: 0x6c232020, 0x261f3: 0x6d06fc20,\n\t0x261f4: 0x6d1b6020, 0x261f7: 0x6c084420,\n\t0x261fc: 0x6c935820,\n\t// Block 0x988, offset 0x26200\n\t0x26201: 0x6d290620, 0x26202: 0x6c265820,\n\t0x26206: 0x6ca84820, 0x26207: 0x6c71c220,\n\t0x26208: 0x6c541620,\n\t0x2620c: 0x6c453a20,\n\t0x26215: 0x6c541820, 0x26216: 0x6c76b220, 0x26217: 0x6c459620,\n\t0x26219: 0x6c5b5e20, 0x2621a: 0x6d01e220,\n\t0x2621d: 0x6cf8ba20, 0x2621e: 0x6c4e2420, 0x2621f: 0x6c9c6820,\n\t0x26221: 0x6cf25c20, 0x26222: 0x6c5d3620, 0x26223: 0x6ccabc20,\n\t0x26224: 0x6d034220, 0x26225: 0x6d307220, 0x26226: 0x6c5dea20,\n\t0x26228: 0x6c45a020, 0x2622b: 0x6cc9e420,\n\t0x2622c: 0x6c6c4a20, 0x2622d: 0x6cebec20,\n\t0x26231: 0x6c332420, 0x26232: 0x6c1aca20,\n\t0x2623d: 0x6cf67e20,\n\t// Block 0x989, offset 0x26240\n\t0x26242: 0x6c9c6a20, 0x26243: 0x6d29e020,\n\t0x26244: 0x6cca8420,\n\t0x26253: 0x6cea5e20,\n\t0x26254: 0x6d366820, 0x26255: 0x6cf1ea20,\n\t0x26258: 0x6d1a9820, 0x26259: 0x6cea8220, 0x2625b: 0x6c1cda20,\n\t0x2625c: 0x6d2af020, 0x2625e: 0x6cff0a20, 0x2625f: 0x6ca07420,\n\t0x26260: 0x6c245820, 0x26263: 0x6c0b4e20,\n\t0x26264: 0x6d04f020, 0x26267: 0x6d154c20,\n\t0x2626e: 0x6c5a6020,\n\t0x26270: 0x6d2bf820, 0x26271: 0x6cdd3620, 0x26272: 0x6c5cfe20, 0x26273: 0x6c727e20,\n\t// Block 0x98a, offset 0x26280\n\t0x26281: 0x6c245a20,\n\t0x26284: 0x6c5f4020, 0x26285: 0x6d0a4420, 0x26286: 0x6cdcfe20, 0x26287: 0x6c135e20,\n\t0x26289: 0x6d18b020,\n\t0x2628e: 0x6c0c2220,\n\t0x26292: 0x6c74c220, 0x26293: 0x6c868220,\n\t0x26296: 0x6cad9a20,\n\t0x2629b: 0x6d289c20,\n\t0x2629c: 0x6d134220, 0x2629e: 0x6c0a5a20, 0x2629f: 0x6d310020,\n\t0x262a0: 0x6d310220, 0x262a2: 0x6c702420, 0x262a3: 0x6d309020,\n\t0x262a6: 0x6cd60e20,\n\t0x262aa: 0x6cf6d620,\n\t0x262b7: 0x6d065820,\n\t0x262b8: 0x6ca3a620, 0x262b9: 0x6cfb9a20, 0x262ba: 0x6c4bec20, 0x262bb: 0x6cf0d220,\n\t0x262be: 0x6c60c420, 0x262bf: 0x6cc9a220,\n\t// Block 0x98b, offset 0x262c0\n\t0x262c2: 0x6c304220, 0x262c3: 0x6caac820,\n\t0x262c4: 0x6c327a20, 0x262c5: 0x6d32fc20, 0x262c6: 0x6c7a6420,\n\t0x262c9: 0x6ca01c20,\n\t0x262d5: 0x6c05d820, 0x262d6: 0x6c5c5020,\n\t0x262d9: 0x6d3fc620,\n\t0x262e8: 0x6cca5c20, 0x262ea: 0x6ce29420, 0x262eb: 0x6d157220,\n\t0x262ed: 0x6d241620,\n\t0x262f1: 0x6d123220, 0x262f2: 0x6ca94a20,\n\t0x262f4: 0x6c1dfa20, 0x262f5: 0x6c5d4820, 0x262f7: 0x6c337620,\n\t0x262f9: 0x6cb7f220, 0x262fa: 0x6d1d1820, 0x262fb: 0x6c0e3420,\n\t0x262fc: 0x6ca92e20, 0x262fd: 0x6c5a1a20,\n\t// Block 0x98c, offset 0x26300\n\t0x26306: 0x6d1d1a20,\n\t0x2630a: 0x6c05da20,\n\t0x2630e: 0x6c4a2820, 0x2630f: 0x6c82f620,\n\t0x26310: 0x6d421020,\n\t0x26319: 0x6c15fe20,\n\t0x26323: 0x6c660a20,\n\t0x26327: 0x6c9b9220,\n\t0x26329: 0x6d002820,\n\t0x2632f: 0x6d035620,\n\t0x26331: 0x6c849e20,\n\t0x2633a: 0x6cbc2e20,\n\t0x2633f: 0x6cf05c20,\n\t// Block 0x98d, offset 0x26340\n\t0x26340: 0x6ca37620, 0x26342: 0x6cacee20,\n\t0x26344: 0x6c829020, 0x26347: 0x6c958220,\n\t0x2634b: 0x6c946220,\n\t0x2634d: 0x6c44ea20, 0x2634f: 0x6c946420,\n\t0x26352: 0x6cc22220,\n\t0x26356: 0x6c959020,\n\t0x26358: 0x6ca46820, 0x2635b: 0x6c959220,\n\t0x2635c: 0x6d273e20,\n\t0x26362: 0x6cd71a20,\n\t0x26365: 0x6c9d3e20, 0x26366: 0x6cede820, 0x26367: 0x6c12f420,\n\t0x26368: 0x6c64a620, 0x26369: 0x6cee2020,\n\t0x2636f: 0x6c637e20,\n\t0x26374: 0x6c58c020,\n\t0x26378: 0x6c894220, 0x26379: 0x6d3f2c20, 0x2637a: 0x6c040a20, 0x2637b: 0x6cd43c20,\n\t0x2637e: 0x6cecf220,\n\t// Block 0x98e, offset 0x26380\n\t0x26382: 0x6cd4c420,\n\t0x26387: 0x6c4a4e20,\n\t0x26388: 0x6cf5cc20, 0x2638a: 0x6cc79c20, 0x2638b: 0x6d11fe20,\n\t0x2638e: 0x6c42c220,\n\t0x26395: 0x6d26d220,\n\t0x26398: 0x6d1da820, 0x26399: 0x6cec3c20, 0x2639a: 0x6c0f4620,\n\t0x2639f: 0x6d034e20,\n\t0x263a2: 0x6cb0c620, 0x263a3: 0x6c0f7820,\n\t0x263a6: 0x6c4d7e20, 0x263a7: 0x6d2d5220,\n\t0x263a8: 0x6cf33020, 0x263aa: 0x6d138420, 0x263ab: 0x6c0ab820,\n\t0x263ac: 0x6c4d8620,\n\t0x263b8: 0x6c1c0220, 0x263bb: 0x6d360620,\n\t0x263bd: 0x6ca5dc20,\n\t// Block 0x98f, offset 0x263c0\n\t0x263c1: 0x6cf3d420, 0x263c2: 0x6c006e20,\n\t0x263c8: 0x6c006a20, 0x263c9: 0x6d229220, 0x263ca: 0x6c1c7020,\n\t0x263cd: 0x6c6eac20, 0x263ce: 0x6d371020, 0x263cf: 0x6d372c20,\n\t0x263d0: 0x6d372e20, 0x263d1: 0x6c70ee20,\n\t0x263d6: 0x6c4dd820,\n\t0x263da: 0x6cb24c20,\n\t0x263dd: 0x6d11a620,\n\t0x263e3: 0x6d1f1e20,\n\t0x263e4: 0x6cb25420, 0x263e6: 0x6ca11020,\n\t0x263ec: 0x6d429e20, 0x263ed: 0x6cb38e20, 0x263ef: 0x6d091220,\n\t0x263f0: 0x6c7bc420, 0x263f1: 0x6d17bc20, 0x263f2: 0x6cb39020,\n\t0x263fb: 0x6d3c9c20,\n\t// Block 0x990, offset 0x26400\n\t0x26403: 0x6ca5fa20,\n\t0x26404: 0x6cc0b020, 0x26405: 0x6c23f820,\n\t0x2640c: 0x6d11cc20,\n\t0x26411: 0x6c3b9820,\n\t0x26415: 0x6cf9f420, 0x26417: 0x6c677c20,\n\t0x26418: 0x6c13b220, 0x2641b: 0x6d000e20,\n\t0x2641c: 0x6c13b420,\n\t0x26422: 0x6c1a5020, 0x26423: 0x6c257e20,\n\t0x26427: 0x6cbf7c20,\n\t0x26429: 0x6d245220, 0x2642b: 0x6d21d820,\n\t0x2642f: 0x6cf21620,\n\t0x26431: 0x6c13c020, 0x26432: 0x6d22ae20,\n\t0x26439: 0x6d425420, 0x2643a: 0x6c29fc20,\n\t0x2643d: 0x6c73a820, 0x2643e: 0x6c29fe20, 0x2643f: 0x6d1c4c20,\n\t// Block 0x991, offset 0x26440\n\t0x26441: 0x6c3cd420,\n\t0x26445: 0x6cf27a20,\n\t0x26448: 0x6c6cf620, 0x26449: 0x6cb76e20, 0x2644b: 0x6cbe0e20,\n\t0x2644d: 0x6c7dee20, 0x2644f: 0x6cdf9e20,\n\t0x26450: 0x6cfa9420, 0x26452: 0x6ce46420,\n\t0x26454: 0x6c7df620, 0x26456: 0x6ce53a20,\n\t0x26458: 0x6c556420, 0x26459: 0x6d39aa20, 0x2645a: 0x6d2d7620, 0x2645b: 0x6cde5820,\n\t0x2645d: 0x6ce46e20, 0x2645e: 0x6cde6820, 0x2645f: 0x6cde8020,\n\t0x26460: 0x6c574820, 0x26461: 0x6d0dc220, 0x26462: 0x6ce61620,\n\t0x26464: 0x6ce61820, 0x26465: 0x6cde8220,\n\t0x2646c: 0x6c581020, 0x2646e: 0x6c63e620, 0x2646f: 0x6cb7e020,\n\t0x26471: 0x6cdeae20,\n\t0x26474: 0x6cdfc220, 0x26475: 0x6c57ce20,\n\t0x26478: 0x6d3bf620, 0x26479: 0x6c572220,\n\t0x2647c: 0x6c800c20,\n\t// Block 0x992, offset 0x26480\n\t0x26486: 0x6d420420, 0x26487: 0x6d169820,\n\t0x26488: 0x6c3dfe20, 0x26489: 0x6cf4bc20, 0x2648b: 0x6c3e0020,\n\t0x2648d: 0x6c2f5620, 0x2648e: 0x6cde3c20,\n\t0x26496: 0x6c17b820,\n\t0x26499: 0x6cc64220, 0x2649a: 0x6cc35620,\n\t0x2649c: 0x6c438420,\n\t0x264a1: 0x6c3e6620, 0x264a2: 0x6c2c4c20, 0x264a3: 0x6c2dc620,\n\t0x264a4: 0x6d1e3020, 0x264a6: 0x6c643e20,\n\t0x264a9: 0x6c8f8e20,\n\t0x264ac: 0x6d1e3220, 0x264ad: 0x6cafe020, 0x264af: 0x6c5d7820,\n\t0x264b0: 0x6cbf3020, 0x264b2: 0x6c38a020, 0x264b3: 0x6cf3d620,\n\t0x264b4: 0x6ce74e20, 0x264b5: 0x6c4f7e20,\n\t0x264b8: 0x6cdfac20,\n\t0x264be: 0x6c525020,\n\t// Block 0x993, offset 0x264c0\n\t0x264c4: 0x6ce56220,\n\t0x264c8: 0x6d388e20, 0x264cb: 0x6c045420,\n\t0x264cc: 0x6d01e420, 0x264cd: 0x6c29c620, 0x264cf: 0x6c6c4c20,\n\t0x264d5: 0x6c54ec20, 0x264d6: 0x6c06b620,\n\t0x264d8: 0x6c2fb220,\n\t0x264dc: 0x6caac420, 0x264dd: 0x6cf0c620, 0x264de: 0x6d218c20,\n\t0x264e0: 0x6d039c20, 0x264e1: 0x6c3ee020, 0x264e2: 0x6cfd0020, 0x264e3: 0x6cb7c420,\n\t0x264e4: 0x6ce87820, 0x264e7: 0x6c609420,\n\t0x264e9: 0x6d1d4620, 0x264eb: 0x6c2ae420,\n\t0x264ec: 0x6ceeb020, 0x264ed: 0x6cf6ae20, 0x264ef: 0x6cac0220,\n\t0x264f1: 0x6cd12020, 0x264f2: 0x6d1fec20,\n\t0x264f4: 0x6c005220, 0x264f5: 0x6c66d220, 0x264f7: 0x6c466020,\n\t0x264f8: 0x6cc93020,\n\t0x264fc: 0x6c462220, 0x264ff: 0x6ccc6e20,\n\t// Block 0x994, offset 0x26500\n\t0x26500: 0x6ce13a20,\n\t0x26507: 0x6c92f220,\n\t0x26508: 0x6c027820, 0x2650a: 0x6cb7ee20, 0x2650b: 0x6d04fc20,\n\t0x2650d: 0x6c271020,\n\t0x26511: 0x6c382a20, 0x26512: 0x6cf0f420,\n\t0x26514: 0x6c341020, 0x26515: 0x6c8a3a20, 0x26516: 0x6c386620, 0x26517: 0x6c5a1c20,\n\t0x26518: 0x6c74dc20, 0x26519: 0x6cdec020, 0x2651a: 0x6d422020, 0x2651b: 0x6cc53020,\n\t0x2651c: 0x6c117a20, 0x2651d: 0x6ce2c020,\n\t0x26520: 0x6c57d020, 0x26521: 0x6d05fe20, 0x26523: 0x6d2dae20,\n\t0x26527: 0x6c41f420,\n\t0x2652a: 0x6caeea20, 0x2652b: 0x6c118020,\n\t0x2652c: 0x6d005820, 0x2652d: 0x6c26d020,\n\t0x26531: 0x6c62d020,\n\t0x26536: 0x6c854820,\n\t0x26539: 0x6cac9020,\n\t0x2653d: 0x6c8ffa20, 0x2653e: 0x6c877620, 0x2653f: 0x6cf7c220,\n\t// Block 0x995, offset 0x26540\n\t0x26540: 0x6ce2d620, 0x26543: 0x6c8dac20,\n\t0x26548: 0x6c855820, 0x26549: 0x6cc4a220, 0x2654a: 0x6c8df420,\n\t0x2654e: 0x6c4bca20,\n\t0x26554: 0x6cb30a20, 0x26555: 0x6ca11220, 0x26556: 0x6cabf020,\n\t0x26559: 0x6c03b420,\n\t0x26561: 0x6cb62820,\n\t0x26564: 0x6d0cc420,\n\t0x2656a: 0x6cec3e20, 0x2656b: 0x6c020c20,\n\t0x2656d: 0x6ca04a20, 0x2656e: 0x6c9fca20, 0x2656f: 0x6d0ab220,\n\t0x26570: 0x6c9b9420, 0x26573: 0x6c48d620,\n\t0x26576: 0x6c682420,\n\t0x2657b: 0x6c410a20,\n\t// Block 0x996, offset 0x26580\n\t0x26581: 0x6c110a20, 0x26582: 0x6cf4ac20, 0x26583: 0x6d301820,\n\t0x26584: 0x6cc58820, 0x26585: 0x6c79b420,\n\t0x26594: 0x6d2f8a20, 0x26595: 0x6d37a220, 0x26596: 0x6cc00a20, 0x26597: 0x6c4c1420,\n\t0x26598: 0x6c456a20, 0x26599: 0x6cb40220, 0x2659a: 0x6c566c20, 0x2659b: 0x6c9e0820,\n\t0x2659e: 0x6ce45a20,\n\t0x265a3: 0x6cee0020,\n\t0x265b8: 0x6d3a0020, 0x265b9: 0x6c268a20, 0x265ba: 0x6d048e20, 0x265bb: 0x6ca2d420,\n\t0x265be: 0x6c72de20,\n\t// Block 0x997, offset 0x265c0\n\t0x265c1: 0x6ca71a20,\n\t0x265c8: 0x6c567820, 0x265c9: 0x6ccbd420,\n\t0x265dc: 0x6d33b820, 0x265df: 0x6cdde420,\n\t0x265e1: 0x6cd7d820,\n\t0x265e5: 0x6d170820,\n\t0x265ed: 0x6cbf1020, 0x265ee: 0x6d35c820, 0x265ef: 0x6c939220,\n\t0x265f0: 0x6cc79e20, 0x265f2: 0x6cb5ac20, 0x265f3: 0x6d224020,\n\t0x265f4: 0x6d386a20, 0x265f5: 0x6d0fa620, 0x265f6: 0x6cfc0420, 0x265f7: 0x6ca1cc20,\n\t0x265f8: 0x6c1d9a20, 0x265f9: 0x6c5aa820, 0x265fa: 0x6c6f6420, 0x265fb: 0x6c6fec20,\n\t0x265fc: 0x6cb19220,\n\t// Block 0x998, offset 0x26600\n\t0x26601: 0x6c699220, 0x26603: 0x6c48c620,\n\t0x26605: 0x6ca0fe20,\n\t0x26610: 0x6cf5ce20, 0x26611: 0x6cb43220,\n\t0x2662f: 0x6c61d420,\n\t0x26636: 0x6cf1da20, 0x26637: 0x6c071620,\n\t0x26638: 0x6d15ea20, 0x26639: 0x6c3e6a20, 0x2663a: 0x6cd7e420, 0x2663b: 0x6c72f020,\n\t0x2663c: 0x6c61f620, 0x2663e: 0x6ca69a20,\n\t// Block 0x999, offset 0x26640\n\t0x26640: 0x6c07b620,\n\t0x26645: 0x6d06c620,\n\t0x26648: 0x6cbdd220, 0x26649: 0x6c0ef820,\n\t0x2664c: 0x6cede620, 0x2664d: 0x6d30f620, 0x2664f: 0x6cf2e620,\n\t0x26650: 0x6ccea420, 0x26651: 0x6d2a8020, 0x26652: 0x6d101820,\n\t0x26655: 0x6cd98a20, 0x26656: 0x6ca82020,\n\t0x2665b: 0x6c098620,\n\t0x26663: 0x6c242420,\n\t0x26664: 0x6cbab220,\n\t0x2666a: 0x6cffe620, 0x2666b: 0x6d33d620,\n\t0x2666c: 0x6ccf1020, 0x2666f: 0x6d360820,\n\t0x26670: 0x6cae7020,\n\t// Block 0x99a, offset 0x26680\n\t0x2668f: 0x6c2e1e20,\n\t0x26696: 0x6cf2f820,\n\t0x26698: 0x6d352020, 0x26699: 0x6c098820, 0x2669b: 0x6c3b7020,\n\t0x266a5: 0x6c052a20,\n\t0x266aa: 0x6cc06c20, 0x266ab: 0x6ca63a20,\n\t0x266ac: 0x6c0f0620, 0x266ad: 0x6c33f220, 0x266af: 0x6cd2d020,\n\t0x266b0: 0x6d05a220, 0x266b1: 0x6c16ac20, 0x266b2: 0x6d05a420, 0x266b3: 0x6d128020,\n\t0x266b4: 0x6c9c5620,\n\t0x266b8: 0x6d02d620, 0x266b9: 0x6d3d6820, 0x266ba: 0x6c3ff620,\n\t0x266bd: 0x6cb06020, 0x266be: 0x6d095e20,\n\t// Block 0x99b, offset 0x266c0\n\t0x266c0: 0x6d235020, 0x266c1: 0x6cfb6020, 0x266c2: 0x6d235220, 0x266c3: 0x6d213420,\n\t0x266c5: 0x6c709a20, 0x266c6: 0x6cddec20, 0x266c7: 0x6c797c20,\n\t0x266ca: 0x6d32ce20, 0x266cb: 0x6c9b1a20,\n\t0x266cc: 0x6c428420,\n\t0x266d2: 0x6ca28a20, 0x266d3: 0x6cf7ea20,\n\t0x266d4: 0x6c09aa20, 0x266d6: 0x6c3ff820,\n\t0x266dc: 0x6cfff420,\n\t0x266e0: 0x6c6f7620, 0x266e3: 0x6c468820,\n\t0x266f0: 0x6c1b2820, 0x266f1: 0x6c6f7820, 0x266f2: 0x6c6f7a20,\n\t0x266f5: 0x6ccbf820, 0x266f7: 0x6c3a0820,\n\t// Block 0x99c, offset 0x26700\n\t0x2672b: 0x6c3e8c20,\n\t0x2672f: 0x6ced8a20,\n\t0x26730: 0x6d05a620, 0x26731: 0x6c0e7620,\n\t// Block 0x99d, offset 0x26740\n\t0x26741: 0x6c504820, 0x26743: 0x6d00c420,\n\t0x26744: 0x6cb11820, 0x26745: 0x6d227420, 0x26747: 0x6ce4ae20,\n\t0x26748: 0x6cb00020, 0x2674a: 0x6cd2d220, 0x2674b: 0x6c7afc20,\n\t0x2674c: 0x6c5ef020, 0x2674f: 0x6d2be420,\n\t0x26750: 0x6ca3cc20, 0x26751: 0x6ca20620, 0x26753: 0x6c3ea620,\n\t0x26754: 0x6c326820, 0x26757: 0x6cd13e20,\n\t0x26758: 0x6c13ee20, 0x2675a: 0x6c1b3820, 0x2675b: 0x6c4b0820,\n\t0x2675c: 0x6c9f6620, 0x2675d: 0x6ce0c220, 0x2675e: 0x6c044c20, 0x2675f: 0x6cbac220,\n\t0x26761: 0x6d3d7420, 0x26762: 0x6cf0ac20, 0x26763: 0x6d0a1e20,\n\t0x26765: 0x6c9e9620, 0x26766: 0x6d290820, 0x26767: 0x6d1f4a20,\n\t0x26769: 0x6d204c20, 0x2676b: 0x6cccee20,\n\t0x2676c: 0x6c514220, 0x2676d: 0x6c93a220, 0x2676e: 0x6d347820,\n\t0x26772: 0x6c6e9020, 0x26773: 0x6d317020,\n\t0x26776: 0x6c9b2620, 0x26777: 0x6d1f4c20,\n\t0x26779: 0x6cf30020, 0x2677a: 0x6c038620,\n\t0x2677d: 0x6c737820, 0x2677e: 0x6cc7b220, 0x2677f: 0x6c23f220,\n\t// Block 0x99e, offset 0x26780\n\t0x26780: 0x6d33fc20,\n\t0x26789: 0x6c557620, 0x2678a: 0x6d0f5c20,\n\t0x2678c: 0x6c75d020, 0x2678d: 0x6ccf1c20, 0x2678e: 0x6c79f220,\n\t0x26791: 0x6cb9a820,\n\t0x26794: 0x6c9b2820,\n\t0x2679a: 0x6ce58c20,\n\t// Block 0x99f, offset 0x267c0\n\t0x267d0: 0x6ca84a20,\n\t0x267df: 0x6c1b3a20,\n\t0x267e1: 0x6d047220, 0x267e3: 0x6c5d3820,\n\t0x267e6: 0x6c2b8020, 0x267e7: 0x6c80d620,\n\t0x267e9: 0x6d2a1a20, 0x267ea: 0x6c130a20, 0x267eb: 0x6cdd8420,\n\t0x267ec: 0x6d412c20, 0x267ed: 0x6cdbd020, 0x267ef: 0x6cf9e020,\n\t0x267f1: 0x6d01e620,\n\t0x267f4: 0x6c6b1220, 0x267f5: 0x6d1f5820, 0x267f7: 0x6c46ca20,\n\t0x267f8: 0x6c451620,\n\t0x267fc: 0x6c75d820, 0x267fd: 0x6c5a5e20, 0x267fe: 0x6c607420, 0x267ff: 0x6cb3ca20,\n\t// Block 0x9a0, offset 0x26800\n\t0x26800: 0x6cf37820, 0x26802: 0x6d183420,\n\t0x26805: 0x6ca3a420, 0x26807: 0x6cc71820,\n\t0x26808: 0x6ca40820, 0x2680a: 0x6cb2c020, 0x2680b: 0x6ccd9420,\n\t0x2680c: 0x6c2dd820, 0x2680d: 0x6c607620, 0x2680e: 0x6c571420, 0x2680f: 0x6c335620,\n\t0x26810: 0x6c79a020, 0x26811: 0x6cde8620, 0x26813: 0x6c53c620,\n\t0x26815: 0x6cd4f820,\n\t0x26819: 0x6c526a20, 0x2681a: 0x6c3bc020,\n\t0x26832: 0x6c79fa20,\n\t// Block 0x9a1, offset 0x26840\n\t0x26859: 0x6ca70220,\n\t0x2685d: 0x6c1e9e20,\n\t0x26866: 0x6cbb5a20,\n\t0x26872: 0x6cf8bc20, 0x26873: 0x6c558020,\n\t0x26874: 0x6cd99620, 0x26875: 0x6cf30a20, 0x26877: 0x6c4d7620,\n\t0x26878: 0x6cc7b820, 0x26879: 0x6c9b3020, 0x2687b: 0x6cca2420,\n\t0x2687d: 0x6cf3de20, 0x2687f: 0x6d1f6420,\n\t// Block 0x9a2, offset 0x26880\n\t0x26881: 0x6cdfba20, 0x26882: 0x6cd01220,\n\t0x26886: 0x6cb71220,\n\t0x26888: 0x6c4c8420, 0x26889: 0x6cb87420, 0x2688a: 0x6cfad020,\n\t0x2688f: 0x6cdbd620,\n\t0x26890: 0x6c92b020, 0x26893: 0x6cb52620,\n\t0x26894: 0x6c2ddc20, 0x26897: 0x6cb64020,\n\t0x26898: 0x6c63dc20, 0x26899: 0x6d1f6620, 0x2689a: 0x6cf79e20, 0x2689b: 0x6c177a20,\n\t0x268a1: 0x6c9d7e20, 0x268a2: 0x6c911820, 0x268a3: 0x6c08f220,\n\t0x268aa: 0x6cadec20,\n\t0x268ae: 0x6d318e20, 0x268af: 0x6cd01420,\n\t0x268b0: 0x6c15da20, 0x268b1: 0x6c403a20,\n\t0x268b6: 0x6cc13820, 0x268b7: 0x6cd82220,\n\t0x268ba: 0x6d417a20,\n\t// Block 0x9a3, offset 0x268c0\n\t0x268eb: 0x6d2fd620,\n\t0x268fd: 0x6cb01220,\n\t// Block 0x9a4, offset 0x26900\n\t0x26900: 0x6c23fa20,\n\t0x26906: 0x6c42e220, 0x26907: 0x6c31b620,\n\t0x26909: 0x6c3da420, 0x2690a: 0x6c492620, 0x2690b: 0x6ccae620,\n\t0x2690c: 0x6cda2a20, 0x2690d: 0x6c65da20, 0x2690e: 0x6cb3e020,\n\t0x26910: 0x6c11ac20, 0x26911: 0x6c085020, 0x26912: 0x6ca20c20, 0x26913: 0x6d2f7420,\n\t0x26914: 0x6cff9a20, 0x26916: 0x6c715c20, 0x26917: 0x6cd50620,\n\t0x26918: 0x6c65dc20, 0x26919: 0x6c844e20, 0x2691b: 0x6c203e20,\n\t0x2691c: 0x6c81e220, 0x2691e: 0x6c51ea20, 0x2691f: 0x6c55bc20,\n\t0x26920: 0x6c473220, 0x26921: 0x6d2f0c20, 0x26922: 0x6c6b3620, 0x26923: 0x6cfe5620,\n\t0x26925: 0x6c317820, 0x26926: 0x6c4e3220, 0x26927: 0x6c63e820,\n\t0x26928: 0x6cfe5820, 0x26929: 0x6c60ae20, 0x2692a: 0x6cd56c20, 0x2692b: 0x6c812e20,\n\t0x2692c: 0x6c5f4220, 0x2692d: 0x6ccd0e20,\n\t0x26930: 0x6ce1ee20, 0x26931: 0x6d3e8e20, 0x26932: 0x6cd69620,\n\t0x26934: 0x6c60b020, 0x26935: 0x6c1f7820, 0x26936: 0x6c628020, 0x26937: 0x6cd01c20,\n\t0x26938: 0x6c8c6820, 0x26939: 0x6c8a2020, 0x2693b: 0x6cca2a20,\n\t0x2693d: 0x6c019220, 0x2693e: 0x6cc87c20,\n\t// Block 0x9a5, offset 0x26940\n\t0x26940: 0x6ce37820, 0x26941: 0x6c28b820, 0x26943: 0x6c589c20,\n\t0x26945: 0x6cc99420,\n\t// Block 0x9a6, offset 0x26980\n\t0x26986: 0x6cc8a420, 0x26987: 0x6cf38020,\n\t0x26988: 0x6c729620, 0x26989: 0x6c589e20, 0x2698a: 0x6c838620, 0x2698b: 0x6c92dc20,\n\t0x2698e: 0x6cdfbe20, 0x2698f: 0x6d2b9620,\n\t0x26993: 0x6cb9ca20,\n\t0x26997: 0x6cf6d820,\n\t0x269a1: 0x6c22a220, 0x269a2: 0x6ccf2620,\n\t0x269a7: 0x6cc99620,\n\t0x269aa: 0x6c99bc20, 0x269ab: 0x6cc1da20,\n\t0x269ad: 0x6c0f7a20, 0x269ae: 0x6c41f020,\n\t0x269b0: 0x6cbcea20, 0x269b1: 0x6c739a20, 0x269b2: 0x6c290e20, 0x269b3: 0x6c16cc20,\n\t0x269b4: 0x6d0fde20, 0x269b5: 0x6c518020, 0x269b7: 0x6c5f5c20,\n\t0x269b9: 0x6c0df820, 0x269bb: 0x6c9a3020,\n\t0x269bf: 0x6c33b820,\n\t// Block 0x9a7, offset 0x269c0\n\t0x269c0: 0x6c02b020, 0x269c1: 0x6c6dd820, 0x269c2: 0x6c92f420, 0x269c3: 0x6c9e6620,\n\t0x269c4: 0x6c2d8a20, 0x269c5: 0x6c51f220, 0x269c7: 0x6c650420,\n\t0x269ca: 0x6c575e20, 0x269cb: 0x6c466220,\n\t0x269ce: 0x6c92f620, 0x269cf: 0x6c3f0a20,\n\t0x269d0: 0x6c5b7220, 0x269d2: 0x6d2b6620,\n\t0x269d4: 0x6c6d6220, 0x269d5: 0x6cd83420, 0x269d6: 0x6cc43e20,\n\t0x269dc: 0x6c28cc20, 0x269de: 0x6ced9e20, 0x269df: 0x6c0b5620,\n\t0x269e4: 0x6c63ee20,\n\t0x269eb: 0x6c284e20,\n\t0x269ec: 0x6c6f8a20, 0x269ed: 0x6cfb9c20, 0x269ee: 0x6c0f7c20,\n\t// Block 0x9a8, offset 0x26a00\n\t0x26a0f: 0x6cfa0020,\n\t0x26a11: 0x6c0c3220,\n\t0x26a15: 0x6cb3a820,\n\t0x26a18: 0x6ccae820, 0x26a19: 0x6c076620, 0x26a1a: 0x6ccc8020, 0x26a1b: 0x6cf02e20,\n\t0x26a1d: 0x6c123e20, 0x26a1e: 0x6c92f820,\n\t0x26a29: 0x6c28ce20, 0x26a2b: 0x6c47e820,\n\t0x26a2c: 0x6d289e20, 0x26a2d: 0x6c055820, 0x26a2e: 0x6c423820,\n\t0x26a31: 0x6c175420, 0x26a32: 0x6c62ae20, 0x26a33: 0x6c8ab620,\n\t0x26a35: 0x6cbf7e20, 0x26a36: 0x6c66f420, 0x26a37: 0x6c930a20,\n\t0x26a38: 0x6c32a620, 0x26a39: 0x6cdb8a20, 0x26a3a: 0x6d116020, 0x26a3b: 0x6d1b1620,\n\t0x26a3d: 0x6cdec220, 0x26a3e: 0x6d116220, 0x26a3f: 0x6c6de020,\n\t// Block 0x9a9, offset 0x26a40\n\t0x26a40: 0x6c1ebc20, 0x26a41: 0x6c3f1220, 0x26a42: 0x6d25c220, 0x26a43: 0x6ccebc20,\n\t0x26a45: 0x6c0e3620, 0x26a46: 0x6c299e20, 0x26a47: 0x6cd3f820,\n\t0x26a4a: 0x6c916420, 0x26a4b: 0x6cbcf220,\n\t0x26a4c: 0x6c955c20, 0x26a4d: 0x6cb3ae20, 0x26a4f: 0x6c9b7a20,\n\t0x26a50: 0x6c6b6620, 0x26a53: 0x6c5f7220,\n\t0x26a56: 0x6c930c20,\n\t// Block 0x9aa, offset 0x26a80\n\t0x26a84: 0x6c172a20, 0x26a85: 0x6c9f0020, 0x26a86: 0x6c9b7c20, 0x26a87: 0x6c660220,\n\t0x26a8a: 0x6c114020,\n\t0x26a8c: 0x6cdb5220,\n\t0x26a94: 0x6c51fe20, 0x26a95: 0x6cc9aa20, 0x26a97: 0x6d3eae20,\n\t0x26a98: 0x6c795e20, 0x26a99: 0x6c452220, 0x26a9a: 0x6cd83a20,\n\t0x26aa0: 0x6ce3a420, 0x26aa1: 0x6d2e8e20, 0x26aa2: 0x6d026420, 0x26aa3: 0x6cd70020,\n\t0x26aa4: 0x6c1bcc20, 0x26aa5: 0x6d1ec620, 0x26aa6: 0x6c91f820, 0x26aa7: 0x6c9c1a20,\n\t0x26aa8: 0x6c8b6020, 0x26aa9: 0x6cd8f620,\n\t0x26aac: 0x6cf71820, 0x26aad: 0x6c38da20, 0x26aae: 0x6c3db820, 0x26aaf: 0x6cd08820,\n\t0x26ab0: 0x6ce3a620, 0x26ab1: 0x6c14a420, 0x26ab2: 0x6d270620,\n\t0x26ab4: 0x6c3dba20, 0x26ab5: 0x6c670220, 0x26ab6: 0x6c2cb020,\n\t0x26aba: 0x6d011a20, 0x26abb: 0x6c281220,\n\t0x26abf: 0x6d34b020,\n\t// Block 0x9ab, offset 0x26ac0\n\t0x26ac3: 0x6d075620,\n\t0x26ac8: 0x6ca89820, 0x26ac9: 0x6c397420, 0x26aca: 0x6c9b8820, 0x26acb: 0x6c9fd420,\n\t0x26afe: 0x6c90d220, 0x26aff: 0x6c31e820,\n\t// Block 0x9ac, offset 0x26b00\n\t0x26b01: 0x6d2e9620, 0x26b02: 0x6c671020, 0x26b03: 0x6c4f2e20,\n\t0x26b04: 0x6c28e220, 0x26b05: 0x6ccbb220, 0x26b06: 0x6c671220, 0x26b07: 0x6ce03e20,\n\t0x26b08: 0x6c696c20, 0x26b09: 0x6cb34220, 0x26b0b: 0x6cb2e420,\n\t0x26b0d: 0x6d3bf820, 0x26b0f: 0x6c8a4c20,\n\t0x26b10: 0x6d3f6620, 0x26b12: 0x6d3dd820,\n\t0x26b14: 0x6c56de20,\n\t0x26b19: 0x6cf92020, 0x26b1b: 0x6c9b9620,\n\t0x26b1c: 0x6c72ba20, 0x26b1d: 0x6c9f0c20, 0x26b1e: 0x6cfbcc20,\n\t0x26b20: 0x6c7d3820, 0x26b21: 0x6c9b9820, 0x26b22: 0x6c653420,\n\t0x26b26: 0x6caa0a20,\n\t0x26b28: 0x6c2cb220, 0x26b29: 0x6ccad220,\n\t// Block 0x9ad, offset 0x26b40\n\t0x26b4f: 0x6c1f8c20,\n\t0x26b50: 0x6d34bc20, 0x26b51: 0x6cb9e220, 0x26b52: 0x6c93c420,\n\t0x26b54: 0x6d3ddc20,\n\t0x26b58: 0x6d42b020, 0x26b59: 0x6c4e4820, 0x26b5a: 0x6cdc1820, 0x26b5b: 0x6c46e220,\n\t0x26b5d: 0x6c1e3c20, 0x26b5e: 0x6c62da20, 0x26b5f: 0x6d194820,\n\t0x26b60: 0x6d21f020,\n\t0x26b68: 0x6caa0c20, 0x26b69: 0x6ca66420, 0x26b6a: 0x6cc93620,\n\t0x26b6e: 0x6c8c0820,\n\t0x26b71: 0x6ca93820,\n\t// Block 0x9ae, offset 0x26b80\n\t0x26b8d: 0x6cbc1620, 0x26b8e: 0x6d117c20, 0x26b8f: 0x6c409c20,\n\t0x26b90: 0x6cd6b620, 0x26b91: 0x6c7d3e20, 0x26b92: 0x6cc21220, 0x26b93: 0x6c304a20,\n\t0x26b94: 0x6cd58a20,\n\t0x26b9a: 0x6c84c020, 0x26b9b: 0x6c719220,\n\t0x26b9c: 0x6cc8bc20,\n\t0x26ba0: 0x6d2c6c20,\n\t0x26ba4: 0x6cff5420,\n\t0x26bb8: 0x6c9ae220, 0x26bb9: 0x6cd29820, 0x26bba: 0x6c2cfc20, 0x26bbb: 0x6c878e20,\n\t0x26bbc: 0x6c2b0420, 0x26bbd: 0x6d29c420, 0x26bbf: 0x6c958420,\n\t// Block 0x9af, offset 0x26bc0\n\t0x26bc0: 0x6c11c620, 0x26bc3: 0x6c023c20,\n\t0x26bc6: 0x6c663620,\n\t0x26bc8: 0x6c2e5020, 0x26bcb: 0x6d1cd820,\n\t0x26bd6: 0x6d197220, 0x26bd7: 0x6c294620,\n\t0x26bd8: 0x6caa1220, 0x26bda: 0x6d272620,\n\t0x26bee: 0x6c855620, 0x26bef: 0x6c84e220,\n\t0x26bf0: 0x6c56f620, 0x26bf2: 0x6d206420,\n\t0x26bfa: 0x6ca48420,\n\t// Block 0x9b0, offset 0x26c00\n\t0x26c02: 0x6c194a20,\n\t0x26c09: 0x6c3c9220, 0x26c0a: 0x6c0cd220,\n\t0x26c0f: 0x6c97d820,\n\t0x26c10: 0x6c424a20, 0x26c11: 0x6c5e6020, 0x26c13: 0x6c241c20,\n\t0x26c15: 0x6d200020,\n\t0x26c18: 0x6d206620,\n\t0x26c1c: 0x6d057c20,\n\t0x26c21: 0x6d06b020, 0x26c22: 0x6c561820, 0x26c23: 0x6c915020,\n\t0x26c25: 0x6cf9b820, 0x26c26: 0x6d177420,\n\t0x26c2e: 0x6c561e20, 0x26c2f: 0x6c569020,\n\t0x26c30: 0x6d3f0a20,\n\t0x26c37: 0x6c458c20,\n\t0x26c38: 0x6ce99220, 0x26c39: 0x6cf36a20, 0x26c3a: 0x6c8d2020, 0x26c3b: 0x6c472020,\n\t0x26c3c: 0x6d37be20,\n\t// Block 0x9b1, offset 0x26c40\n\t0x26c44: 0x6c915820,\n\t0x26c48: 0x6d412e20,\n\t0x26c4c: 0x6ce76a20, 0x26c4d: 0x6cf97020, 0x26c4e: 0x6c515c20,\n\t0x26c53: 0x6d26e220,\n\t0x26c59: 0x6ca40c20, 0x26c5a: 0x6c0f4820, 0x26c5b: 0x6c54fa20,\n\t0x26c5c: 0x6cb7e220, 0x26c5d: 0x6cd53a20, 0x26c5e: 0x6cbadc20, 0x26c5f: 0x6d38ae20,\n\t0x26c60: 0x6d122620, 0x26c61: 0x6c473420,\n\t0x26c65: 0x6c049e20, 0x26c66: 0x6c76ec20,\n\t0x26c6e: 0x6c517620, 0x26c6f: 0x6c628420,\n\t0x26c70: 0x6c55be20, 0x26c71: 0x6d0cde20,\n\t0x26c76: 0x6c212020, 0x26c77: 0x6c2f8620,\n\t0x26c78: 0x6cbfce20, 0x26c79: 0x6c543620,\n\t0x26c7c: 0x6c507420, 0x26c7f: 0x6d413220,\n\t// Block 0x9b2, offset 0x26c80\n\t0x26c81: 0x6cfbb820,\n\t0x26c84: 0x6cfa5220, 0x26c85: 0x6cf91820,\n\t0x26c88: 0x6ccb8420,\n\t0x26c8c: 0x6c445a20, 0x26c8d: 0x6cf92220,\n\t0x26c91: 0x6c445e20,\n\t0x26c94: 0x6c93c620, 0x26c96: 0x6c446020, 0x26c97: 0x6c78ea20,\n\t0x26c99: 0x6cd48a20, 0x26c9a: 0x6d3b5020,\n\t0x26c9c: 0x6ce2de20, 0x26c9d: 0x6d0b7820, 0x26c9e: 0x6ca67c20,\n\t0x26ca6: 0x6c95e220, 0x26ca7: 0x6cdbae20,\n\t0x26caa: 0x6c159e20,\n\t0x26cad: 0x6cf4cc20, 0x26caf: 0x6d208220,\n\t0x26cb9: 0x6d2a4420, 0x26cbb: 0x6d174420,\n\t0x26cbc: 0x6cf5d220, 0x26cbd: 0x6c533620, 0x26cbe: 0x6cc2ce20, 0x26cbf: 0x6cee0c20,\n\t// Block 0x9b3, offset 0x26cc0\n\t0x26cc0: 0x6c1b9820, 0x26cc1: 0x6cf87420, 0x26cc2: 0x6ce4e020, 0x26cc3: 0x6d27e420,\n\t0x26cc5: 0x6d13e220, 0x26cc6: 0x6c600620, 0x26cc7: 0x6c5aaa20,\n\t0x26cc8: 0x6c3d1620, 0x26cca: 0x6c3f5420,\n\t0x26ccd: 0x6c600820, 0x26cce: 0x6d080a20,\n\t0x26cd1: 0x6cdf6c20, 0x26cd3: 0x6c324e20,\n\t0x26cd7: 0x6d255620,\n\t0x26cdb: 0x6c2c3220,\n\t0x26cde: 0x6d3a6620, 0x26cdf: 0x6cdf0620,\n\t0x26ce1: 0x6cc70c20, 0x26ce2: 0x6d090a20, 0x26ce3: 0x6d232020,\n\t0x26ce4: 0x6c394e20, 0x26ce5: 0x6c06ca20, 0x26ce7: 0x6cc24420,\n\t0x26ce9: 0x6c109620, 0x26cea: 0x6c635420, 0x26ceb: 0x6d2c2c20,\n\t0x26ced: 0x6caa5a20, 0x26cee: 0x6ccf1420,\n\t0x26cf2: 0x6c860220,\n\t// Block 0x9b4, offset 0x26d00\n\t0x26d04: 0x6c4af620, 0x26d05: 0x6c48de20, 0x26d07: 0x6c276420,\n\t0x26d0f: 0x6c40fa20,\n\t0x26d12: 0x6c22cc20,\n\t0x26d14: 0x6d0d9220, 0x26d15: 0x6cd92220, 0x26d16: 0x6cd38820,\n\t0x26d18: 0x6c7a9c20, 0x26d19: 0x6d352e20, 0x26d1a: 0x6ce75020, 0x26d1b: 0x6cc19620,\n\t0x26d1c: 0x6c364220, 0x26d1e: 0x6d03ea20, 0x26d1f: 0x6cc7b020,\n\t0x26d20: 0x6d213820, 0x26d23: 0x6d17c020,\n\t0x26d24: 0x6d17c220, 0x26d25: 0x6d06e420, 0x26d26: 0x6c3d2c20, 0x26d27: 0x6c43f820,\n\t0x26d2c: 0x6c512a20, 0x26d2d: 0x6d19e820, 0x26d2f: 0x6c53be20,\n\t0x26d31: 0x6c349820,\n\t0x26d3d: 0x6d03ec20, 0x26d3e: 0x6c38a220,\n\t// Block 0x9b5, offset 0x26d40\n\t0x26d49: 0x6cb50020, 0x26d4a: 0x6ccc0220,\n\t0x26d4c: 0x6c326a20, 0x26d4d: 0x6c2c7220, 0x26d4e: 0x6c83fa20, 0x26d4f: 0x6d180620,\n\t0x26d50: 0x6cf78c20, 0x26d51: 0x6c451420, 0x26d52: 0x6ce75820, 0x26d53: 0x6c77c020,\n\t0x26d54: 0x6c53c420, 0x26d55: 0x6c7db820, 0x26d56: 0x6ca84c20, 0x26d57: 0x6c1b3c20,\n\t0x26d58: 0x6ce34e20, 0x26d5a: 0x6ce75a20,\n\t0x26d60: 0x6c83fc20, 0x26d61: 0x6ca35c20,\n\t0x26d71: 0x6d2d8220, 0x26d72: 0x6c06cc20,\n\t// Block 0x9b6, offset 0x26d80\n\t0x26d81: 0x6ce59220, 0x26d83: 0x6d289420,\n\t0x26d84: 0x6c367420, 0x26d85: 0x6cd47620, 0x26d86: 0x6c798820, 0x26d87: 0x6caeb820,\n\t0x26d88: 0x6c402020, 0x26d89: 0x6c929820, 0x26d8a: 0x6d01e820, 0x26d8b: 0x6d01ea20,\n\t0x26d8c: 0x6d04e820, 0x26d8d: 0x6c929a20, 0x26d8e: 0x6ce50a20, 0x26d8f: 0x6cde8820,\n\t0x26d90: 0x6c22da20, 0x26d91: 0x6cc12a20, 0x26d93: 0x6c402220,\n\t0x26d94: 0x6d340620, 0x26d96: 0x6d01ec20, 0x26d97: 0x6d408220,\n\t0x26d98: 0x6c3abe20, 0x26d99: 0x6c9f7420, 0x26d9a: 0x6d038c20,\n\t0x26d9d: 0x6ce76c20, 0x26d9e: 0x6cb60220,\n\t0x26da0: 0x6cb15c20, 0x26da2: 0x6cdc5620, 0x26da3: 0x6c37a020,\n\t0x26da7: 0x6c562c20,\n\t0x26dbb: 0x6cd92e20,\n\t0x26dbd: 0x6c0cb020, 0x26dbe: 0x6c2f6620, 0x26dbf: 0x6c04d220,\n\t// Block 0x9b7, offset 0x26dc0\n\t0x26dc0: 0x6cd1e220, 0x26dc1: 0x6d01ee20, 0x26dc2: 0x6cff9420, 0x26dc3: 0x6c3a6620,\n\t0x26dd2: 0x6c202620, 0x26dd3: 0x6cd67020,\n\t0x26dd4: 0x6d10b220, 0x26dd5: 0x6c74a220, 0x26dd6: 0x6cd14820,\n\t0x26dd8: 0x6d1eb220, 0x26dd9: 0x6c396c20,\n\t0x26ddc: 0x6c7c9a20, 0x26ddd: 0x6c2c9820, 0x26ddf: 0x6c990220,\n\t0x26de0: 0x6c6b2420, 0x26de2: 0x6d0cc820,\n\t0x26de5: 0x6ceeb420,\n\t0x26de8: 0x6cca7220, 0x26de9: 0x6c6b2620, 0x26dea: 0x6d219220, 0x26deb: 0x6cf0c820,\n\t0x26dec: 0x6c369220, 0x26ded: 0x6cc31220, 0x26dee: 0x6c6f2e20, 0x26def: 0x6c3cba20,\n\t0x26df0: 0x6c8fa620, 0x26df1: 0x6c2ee220, 0x26df2: 0x6cb12420,\n\t0x26df4: 0x6c891420, 0x26df5: 0x6c559820, 0x26df6: 0x6c93fa20,\n\t0x26dff: 0x6c2d7a20,\n\t// Block 0x9b8, offset 0x26e00\n\t0x26e03: 0x6c255e20,\n\t0x26e04: 0x6ca1e420,\n\t0x26e15: 0x6cedea20, 0x26e16: 0x6c72fe20, 0x26e17: 0x6c782e20,\n\t0x26e18: 0x6d0cca20, 0x26e19: 0x6c693420,\n\t0x26e21: 0x6c45b020, 0x26e23: 0x6cc6b620,\n\t0x26e24: 0x6cdce220, 0x26e25: 0x6ccdb620,\n\t0x26e28: 0x6c1b5420, 0x26e2a: 0x6cb65220, 0x26e2b: 0x6cdd9820,\n\t0x26e2d: 0x6d134420, 0x26e2e: 0x6d2a5420, 0x26e2f: 0x6cc39620,\n\t0x26e30: 0x6d2e1820, 0x26e31: 0x6c035a20, 0x26e32: 0x6d40d620, 0x26e33: 0x6cdd9a20,\n\t0x26e34: 0x6d309220, 0x26e35: 0x6cf8e820, 0x26e37: 0x6c1eec20,\n\t0x26e38: 0x6c694820, 0x26e39: 0x6d41d220, 0x26e3a: 0x6c43aa20, 0x26e3b: 0x6cf52420,\n\t0x26e3e: 0x6c94c020, 0x26e3f: 0x6c60b420,\n\t// Block 0x9b9, offset 0x26e40\n\t0x26e42: 0x6d00ec20, 0x26e43: 0x6d00ee20,\n\t0x26e46: 0x6c30f620,\n\t0x26e4b: 0x6cbfc620,\n\t0x26e51: 0x6cb2d020, 0x26e53: 0x6c8ea420,\n\t0x26e65: 0x6c6b3820, 0x26e67: 0x6c5c4020,\n\t0x26e6b: 0x6ccc7a20,\n\t0x26e78: 0x6d34a620, 0x26e79: 0x6c00e620, 0x26e7a: 0x6d074a20, 0x26e7b: 0x6c0a7820,\n\t0x26e7d: 0x6d126820, 0x26e7e: 0x6ca6d820, 0x26e7f: 0x6d3a2e20,\n\t// Block 0x9ba, offset 0x26e80\n\t0x26e81: 0x6cdb4220, 0x26e83: 0x6d010220,\n\t0x26e84: 0x6d241820, 0x26e85: 0x6cc14820,\n\t0x26e88: 0x6d40e020, 0x26e89: 0x6d341820, 0x26e8a: 0x6d2ee420, 0x26e8b: 0x6c94c420,\n\t0x26e8c: 0x6cf03020, 0x26e8d: 0x6c1ce820, 0x26e8e: 0x6c9d9620,\n\t0x26e90: 0x6c5f5e20, 0x26e92: 0x6cdb4420, 0x26e93: 0x6d12b620,\n\t0x26e94: 0x6cf7ac20, 0x26e95: 0x6ce96420, 0x26e96: 0x6c886c20, 0x26e97: 0x6d082e20,\n\t0x26e99: 0x6cf52c20,\n\t0x26e9f: 0x6c990c20,\n\t0x26eac: 0x6c538e20, 0x26eaf: 0x6c94c620,\n\t0x26eb0: 0x6c31ce20, 0x26eb1: 0x6c23ba20, 0x26eb2: 0x6c152e20, 0x26eb3: 0x6c92fc20,\n\t0x26eb4: 0x6cdb4620,\n\t// Block 0x9bb, offset 0x26ec0\n\t0x26ec0: 0x6c94c820,\n\t0x26ec6: 0x6d37d220, 0x26ec7: 0x6c847420,\n\t0x26ec8: 0x6c3ae220, 0x26eca: 0x6c6e3820, 0x26ecb: 0x6c7d2c20,\n\t0x26ecc: 0x6d18f420, 0x26ecd: 0x6c576620, 0x26ece: 0x6c258020,\n\t0x26ed0: 0x6d243c20, 0x26ed1: 0x6c083620, 0x26ed2: 0x6cea3020, 0x26ed3: 0x6cd58020,\n\t0x26ed4: 0x6c27a220, 0x26ed5: 0x6cf38a20, 0x26ed6: 0x6c22ea20, 0x26ed7: 0x6ca95e20,\n\t0x26ed8: 0x6c29a020, 0x26ed9: 0x6d40ee20, 0x26eda: 0x6c4e4220,\n\t0x26edc: 0x6cb02e20, 0x26edd: 0x6c204620,\n\t0x26ee0: 0x6c328620, 0x26ee1: 0x6cabe020,\n\t0x26ee4: 0x6d39d620, 0x26ee6: 0x6d011620, 0x26ee7: 0x6d30ac20,\n\t0x26ee8: 0x6cbcf420, 0x26ee9: 0x6d07dc20, 0x26eeb: 0x6ccb0820,\n\t// Block 0x9bc, offset 0x26f00\n\t0x26f00: 0x6c0a9620, 0x26f02: 0x6c407c20,\n\t0x26f08: 0x6c86d820,\n\t0x26f0e: 0x6c359620,\n\t0x26f10: 0x6d126e20, 0x26f11: 0x6cd58420, 0x26f13: 0x6ccb8620,\n\t0x26f15: 0x6cb54a20, 0x26f16: 0x6c4cf220, 0x26f17: 0x6ccb8820,\n\t0x26f19: 0x6c408620, 0x26f1a: 0x6c990e20,\n\t0x26f1c: 0x6c827620, 0x26f1d: 0x6d2db420,\n\t0x26f28: 0x6c14a620,\n\t0x26f2d: 0x6cf0fc20,\n\t0x26f3d: 0x6c827820, 0x26f3f: 0x6d2b6c20,\n\t// Block 0x9bd, offset 0x26f40\n\t0x26f40: 0x6d1c0e20, 0x26f41: 0x6c010220, 0x26f42: 0x6d005c20,\n\t0x26f44: 0x6c0aaa20,\n\t0x26f4b: 0x6c155a20,\n\t0x26f4e: 0x6cb03620, 0x26f4f: 0x6c23c220,\n\t0x26f50: 0x6c8b6620, 0x26f51: 0x6cb69c20, 0x26f53: 0x6c62d420,\n\t0x26f54: 0x6c6df220, 0x26f55: 0x6c302820, 0x26f56: 0x6c3a4620, 0x26f57: 0x6d159220,\n\t0x26f58: 0x6ce97220,\n\t0x26f68: 0x6c9bf620, 0x26f69: 0x6c11be20, 0x26f6a: 0x6d0b3c20,\n\t0x26f72: 0x6d103c20,\n\t0x26f74: 0x6ce6a220,\n\t0x26f78: 0x6d34be20, 0x26f7a: 0x6d027c20, 0x26f7b: 0x6c942220,\n\t0x26f7d: 0x6c875420, 0x26f7f: 0x6c991620,\n\t// Block 0x9be, offset 0x26f80\n\t0x26f82: 0x6cfa1820,\n\t0x26f85: 0x6cda4420,\n\t0x26f96: 0x6cda6c20, 0x26f97: 0x6d097e20,\n\t0x26f9d: 0x6c877a20, 0x26f9e: 0x6d25d820,\n\t0x26fa1: 0x6d2e4020, 0x26fa3: 0x6cdef220,\n\t0x26fa4: 0x6d083a20, 0x26fa5: 0x6cf12020, 0x26fa6: 0x6d139620, 0x26fa7: 0x6cad1a20,\n\t0x26fa8: 0x6c991820, 0x26fa9: 0x6ce3b620, 0x26faa: 0x6cb22a20,\n\t0x26fac: 0x6c328e20, 0x26fad: 0x6cc0a820, 0x26fae: 0x6d162c20,\n\t0x26fb3: 0x6ceb6020,\n\t0x26fb4: 0x6c14aa20, 0x26fb7: 0x6c6d7620,\n\t0x26fbc: 0x6c35aa20,\n\t// Block 0x9bf, offset 0x26fc0\n\t0x26fc3: 0x6c157420,\n\t0x26fc4: 0x6d1c4420, 0x26fc5: 0x6c8dae20, 0x26fc7: 0x6cfc5e20,\n\t0x26fc9: 0x6cb55a20, 0x26fcb: 0x6d272220,\n\t0x26fcc: 0x6c94ce20, 0x26fcd: 0x6d1cda20, 0x26fce: 0x6cc21a20,\n\t0x26fd2: 0x6c3a7820, 0x26fd3: 0x6d3eca20,\n\t0x26fd9: 0x6cbe6220,\n\t0x26fdd: 0x6ca94020, 0x26fde: 0x6cf13220, 0x26fdf: 0x6cd6c220,\n\t0x26fe1: 0x6c40a420,\n\t0x26fe4: 0x6ca1aa20, 0x26fe5: 0x6ca1ac20, 0x26fe6: 0x6ceb6820, 0x26fe7: 0x6c14ae20,\n\t0x26fe8: 0x6d2a1220,\n\t0x26fee: 0x6c84da20, 0x26fef: 0x6c84e420,\n\t0x26ff1: 0x6cfa2020, 0x26ff2: 0x6c733420,\n\t0x26ff4: 0x6ca41a20, 0x26ff5: 0x6c9db420,\n\t0x26ff8: 0x6c5a3e20, 0x26ffa: 0x6cd6f620,\n\t0x26ffc: 0x6d066420, 0x26fff: 0x6c3a7a20,\n\t// Block 0x9c0, offset 0x27000\n\t0x27001: 0x6d029420,\n\t0x27006: 0x6cdefa20, 0x27007: 0x6d1e6a20,\n\t0x27009: 0x6d2e4420,\n\t0x27011: 0x6cbb3420, 0x27012: 0x6ca46a20,\n\t0x27014: 0x6c8c9420,\n\t0x27018: 0x6c948220, 0x27019: 0x6cfc6e20, 0x2701a: 0x6c3f2c20,\n\t0x2701c: 0x6c8df820,\n\t0x27020: 0x6ccadc20, 0x27022: 0x6c5ca620,\n\t0x27028: 0x6ce66020, 0x2702a: 0x6cbe7020,\n\t0x2702c: 0x6c598a20, 0x2702e: 0x6c01b220,\n\t0x27035: 0x6c97c220, 0x27037: 0x6ca6b220,\n\t0x2703b: 0x6c4c8020,\n\t0x2703c: 0x6cab8820, 0x2703f: 0x6cfe4620,\n\t// Block 0x9c1, offset 0x27040\n\t0x27041: 0x6c6c5620,\n\t0x27046: 0x6d32f620,\n\t0x27048: 0x6ca2cc20, 0x2704b: 0x6cca5e20,\n\t0x2704c: 0x6c56d020, 0x2704e: 0x6d40f020, 0x2704f: 0x6c5b7620,\n\t0x27052: 0x6c5f7420,\n\t0x27056: 0x6d138a20,\n\t0x27066: 0x6d03de20,\n\t0x27069: 0x6c7e6c20, 0x2706a: 0x6d232220, 0x2706b: 0x6c745820,\n\t0x27071: 0x6cd5da20, 0x27072: 0x6d32d620,\n\t0x27074: 0x6d1e4e20, 0x27076: 0x6c439c20,\n\t0x27078: 0x6c66ae20, 0x27079: 0x6d034820,\n\t0x2707c: 0x6c5aec20, 0x2707f: 0x6cd67820,\n\t// Block 0x9c2, offset 0x27080\n\t0x27082: 0x6c1cf020, 0x27083: 0x6c4f8a20,\n\t0x27088: 0x6c8a6420,\n\t0x2708d: 0x6c674a20, 0x2708f: 0x6c456c20,\n\t0x27091: 0x6d3d3020,\n\t0x27097: 0x6cb6de20,\n\t0x2709c: 0x6cb8b820, 0x2709e: 0x6c30e220, 0x2709f: 0x6cb30220,\n\t0x270a2: 0x6c567a20,\n\t0x270a5: 0x6ca98c20, 0x270a7: 0x6cb76420,\n\t0x270a8: 0x6c2db420, 0x270a9: 0x6c2db620, 0x270ab: 0x6c85b220,\n\t0x270ae: 0x6d046220,\n\t0x270bd: 0x6ca2da20, 0x270bf: 0x6d32a620,\n\t// Block 0x9c3, offset 0x270c0\n\t0x270c0: 0x6c7e6e20, 0x270c1: 0x6d35cc20, 0x270c3: 0x6c35b220,\n\t0x270c4: 0x6c0e6620, 0x270c5: 0x6cb30620, 0x270c6: 0x6d058420, 0x270c7: 0x6d1e7a20,\n\t0x270c8: 0x6c223c20, 0x270c9: 0x6c85e220,\n\t0x270cc: 0x6cad5820, 0x270cf: 0x6d053a20,\n\t0x270db: 0x6cb4a820,\n\t0x270dd: 0x6c17e420, 0x270de: 0x6cb78420,\n\t0x270e1: 0x6d177620, 0x270e3: 0x6ce31c20,\n\t0x270e4: 0x6c348820, 0x270e5: 0x6c8f9020, 0x270e7: 0x6c668020,\n\t0x270ed: 0x6d2e6020, 0x270ee: 0x6d261220,\n\t0x270f6: 0x6d210820,\n\t0x270f8: 0x6c44ca20, 0x270fa: 0x6c546c20,\n\t0x270fe: 0x6cb6f820,\n\t// Block 0x9c4, offset 0x27100\n\t0x27100: 0x6ca28c20, 0x27101: 0x6c592a20, 0x27102: 0x6c906a20, 0x27103: 0x6cf89420,\n\t0x27104: 0x6c356c20, 0x27105: 0x6c80fe20, 0x27106: 0x6c3aae20, 0x27107: 0x6ced2820,\n\t0x27109: 0x6c259620, 0x2710b: 0x6caea420,\n\t0x2710f: 0x6c262c20,\n\t0x27110: 0x6cf22420,\n\t0x27121: 0x6c430620,\n\t0x27125: 0x6c254820,\n\t0x27128: 0x6cb7a620, 0x27129: 0x6c83fe20, 0x2712a: 0x6cbcc820, 0x2712b: 0x6cba6020,\n\t0x2712c: 0x6c798220, 0x2712d: 0x6c082220, 0x2712f: 0x6cd46c20,\n\t0x27137: 0x6ceea220,\n\t// Block 0x9c5, offset 0x27140\n\t0x27144: 0x6cccf220,\n\t0x2714f: 0x6d3e6e20,\n\t0x27152: 0x6ce40c20, 0x27153: 0x6cb90e20,\n\t0x27154: 0x6c31ac20, 0x27157: 0x6ce8dc20,\n\t0x2715a: 0x6ceeaa20,\n\t0x2715e: 0x6c558420, 0x2715f: 0x6d038e20,\n\t0x27161: 0x6ccd0220, 0x27162: 0x6d354a20,\n\t0x27167: 0x6c1bb820,\n\t0x27178: 0x6d394a20, 0x27179: 0x6cf23620, 0x2717a: 0x6c1b4c20, 0x2717b: 0x6cdd9420,\n\t0x2717c: 0x6d020220, 0x2717e: 0x6c78d220,\n\t// Block 0x9c6, offset 0x27180\n\t0x27181: 0x6ccca220, 0x27182: 0x6cd1f220, 0x27183: 0x6cd47820,\n\t0x27185: 0x6c6bfc20,\n\t0x27189: 0x6c431c20, 0x2718a: 0x6c93b220,\n\t0x27194: 0x6d020420,\n\t0x2719a: 0x6d354c20,\n\t0x2719e: 0x6c978220,\n\t0x271a0: 0x6cd67420, 0x271a1: 0x6c78da20, 0x271a3: 0x6c2dfe20,\n\t0x271a4: 0x6d141a20, 0x271a6: 0x6cdb2420, 0x271a7: 0x6c206420,\n\t0x271b1: 0x6c256820, 0x271b2: 0x6cebb220,\n\t0x271b5: 0x6d022020,\n\t0x271bd: 0x6d082620,\n\t// Block 0x9c7, offset 0x271c0\n\t0x271c2: 0x6c51f420, 0x271c3: 0x6c74ce20,\n\t0x271c6: 0x6ce43020, 0x271c7: 0x6c3ada20,\n\t0x271c9: 0x6d355620, 0x271ca: 0x6cd3e820, 0x271cb: 0x6ce9c620,\n\t0x271ce: 0x6c1cea20,\n\t0x271d0: 0x6ce43220, 0x271d1: 0x6d2e8820, 0x271d2: 0x6c527820,\n\t0x271d4: 0x6cc1de20, 0x271d5: 0x6cef4220, 0x271d7: 0x6c33ba20,\n\t0x271d8: 0x6c067220,\n\t0x271dc: 0x6c8a2c20,\n\t0x271e4: 0x6cd83620,\n\t0x271ea: 0x6c0c8420, 0x271eb: 0x6d023420,\n\t0x271ec: 0x6c0cfc20, 0x271ee: 0x6c23d820,\n\t0x271f2: 0x6c72ac20, 0x271f3: 0x6c518820,\n\t0x271f7: 0x6c7d3020,\n\t0x271f8: 0x6d1dc820,\n\t// Block 0x9c8, offset 0x27200\n\t0x27200: 0x6cd62220,\n\t0x2720d: 0x6ca89a20, 0x2720f: 0x6d21da20,\n\t0x27210: 0x6d3dca20, 0x27211: 0x6c9b8c20, 0x27212: 0x6c55f220,\n\t0x27215: 0x6c8b6220,\n\t0x2721d: 0x6c6a4020, 0x2721e: 0x6d048220,\n\t0x27223: 0x6d0e0020,\n\t0x27229: 0x6c6b7a20, 0x2722a: 0x6c7eb820, 0x2722b: 0x6cd62e20,\n\t0x2722c: 0x6c6b7c20, 0x2722d: 0x6c828220,\n\t0x27230: 0x6d40fc20, 0x27232: 0x6cd40420,\n\t0x27238: 0x6cef6c20, 0x27239: 0x6c318620, 0x2723a: 0x6cdb6420,\n\t// Block 0x9c9, offset 0x27240\n\t0x27243: 0x6d012e20,\n\t0x27244: 0x6cc4f620,\n\t0x2724c: 0x6c964e20,\n\t0x27251: 0x6cb96420,\n\t0x27258: 0x6ca48620, 0x27259: 0x6c8dec20,\n\t0x2725c: 0x6c630620,\n\t0x27260: 0x6ca03e20, 0x27263: 0x6c476220,\n\t0x27268: 0x6d080c20,\n\t0x2726c: 0x6d058e20,\n\t0x27271: 0x6c0f3620,\n\t0x2727c: 0x6ceebc20,\n\t// Block 0x9ca, offset 0x27280\n\t0x27282: 0x6c7a6e20,\n\t0x27286: 0x6cecf020,\n\t0x27288: 0x6c143c20, 0x2728a: 0x6c996820, 0x2728b: 0x6c789a20,\n\t0x2728e: 0x6c22c420,\n\t0x27292: 0x6cfcbc20, 0x27293: 0x6ca11620,\n\t0x2729a: 0x6c5cc420, 0x2729b: 0x6c162c20,\n\t0x2729c: 0x6cd1c620, 0x2729d: 0x6d31dc20, 0x2729e: 0x6c364420, 0x2729f: 0x6c9c5a20,\n\t0x272a1: 0x6cd1c820, 0x272a2: 0x6cc11420, 0x272a3: 0x6cd4e420,\n\t0x272a5: 0x6c220420, 0x272a6: 0x6d0d9420,\n\t0x272a9: 0x6c54dc20, 0x272aa: 0x6cb50220, 0x272ab: 0x6d366c20,\n\t0x272ac: 0x6c599c20,\n\t0x272b4: 0x6d353820, 0x272b6: 0x6d1fda20,\n\t0x272bc: 0x6c435420, 0x272bd: 0x6d11c420, 0x272be: 0x6cb3cc20,\n\t// Block 0x9cb, offset 0x272c0\n\t0x272c7: 0x6d153620,\n\t0x272c8: 0x6c1a8420, 0x272c9: 0x6c625020, 0x272cb: 0x6c007420,\n\t0x272cd: 0x6c308620, 0x272cf: 0x6cdc6220,\n\t0x272d1: 0x6c701c20,\n\t0x272d8: 0x6cb7c820, 0x272d9: 0x6c884420, 0x272da: 0x6d085620,\n\t0x272dc: 0x6c8a7620,\n\t0x272e1: 0x6d285820, 0x272e2: 0x6d085a20, 0x272e3: 0x6c23e620,\n\t0x272e4: 0x6cb10020, 0x272e6: 0x6c7c9c20,\n\t0x272e8: 0x6ce37a20, 0x272e9: 0x6c58e020, 0x272ea: 0x6c280020, 0x272eb: 0x6c4b7820,\n\t0x272ec: 0x6c188a20, 0x272ee: 0x6cce3c20, 0x272ef: 0x6c628620,\n\t0x272f4: 0x6c891c20, 0x272f5: 0x6c76b620, 0x272f6: 0x6cd17820,\n\t0x272f8: 0x6c30cc20, 0x272f9: 0x6d1f8020, 0x272fa: 0x6cb66220,\n\t0x272fc: 0x6cffc620,\n\t// Block 0x9cc, offset 0x27300\n\t0x27302: 0x6d18f620, 0x27303: 0x6c90c420,\n\t0x27306: 0x6c206a20,\n\t0x2730b: 0x6c81e620,\n\t0x2730c: 0x6c42ec20,\n\t0x27310: 0x6d2ba220, 0x27312: 0x6cef6420,\n\t0x27316: 0x6c653620,\n\t0x2731b: 0x6d1c3220,\n\t0x2731c: 0x6c38f420, 0x2731d: 0x6c877c20, 0x2731e: 0x6cb94e20,\n\t0x27322: 0x6d125420,\n\t0x27326: 0x6c7c5a20, 0x27327: 0x6cef7a20,\n\t0x27329: 0x6cc42620,\n\t0x2732c: 0x6cffca20, 0x2732d: 0x6cc42820,\n\t0x27330: 0x6c551820,\n\t0x27335: 0x6c342020, 0x27336: 0x6c1f1e20,\n\t0x27339: 0x6ccfd620,\n\t0x2733c: 0x6d3d5620, 0x2733d: 0x6c355e20, 0x2733e: 0x6c61f820,\n\t// Block 0x9cd, offset 0x27340\n\t0x27341: 0x6cdfde20, 0x27343: 0x6cabc420,\n\t0x2734b: 0x6c6be220,\n\t0x2734c: 0x6cbc4220,\n\t0x27351: 0x6cb99620, 0x27352: 0x6c724c20,\n\t0x27355: 0x6cc06e20, 0x27356: 0x6ceb2220,\n\t0x2735a: 0x6caafa20, 0x2735b: 0x6cd8c620,\n\t0x2735f: 0x6d14fe20,\n\t0x27361: 0x6c47a220, 0x27362: 0x6c5d3220, 0x27363: 0x6cabda20,\n\t0x27364: 0x6d3e5a20, 0x27366: 0x6c685220,\n\t0x27369: 0x6cf80420, 0x2736a: 0x6cceb820,\n\t0x2736c: 0x6d153820, 0x2736d: 0x6d369e20,\n\t0x27375: 0x6c952420, 0x27377: 0x6d38a020,\n\t0x27378: 0x6c74a420, 0x27379: 0x6ce00620, 0x2737a: 0x6cab0c20, 0x2737b: 0x6c728020,\n\t0x2737c: 0x6c559c20, 0x2737e: 0x6d36c220,\n\t// Block 0x9ce, offset 0x27380\n\t0x27383: 0x6c088820,\n\t0x2738d: 0x6c1c7220, 0x2738e: 0x6d07d020, 0x2738f: 0x6c60b620,\n\t0x27390: 0x6c48a020, 0x27391: 0x6c715e20, 0x27392: 0x6cf31620, 0x27393: 0x6ceb4a20,\n\t0x27395: 0x6cc09820, 0x27396: 0x6ceebe20, 0x27397: 0x6c32a220,\n\t0x27399: 0x6cd47c20, 0x2739b: 0x6d31fe20,\n\t0x2739c: 0x6ca55420, 0x2739f: 0x6cf8f620,\n\t0x273a0: 0x6d30a420, 0x273a1: 0x6d371620, 0x273a3: 0x6ca2ea20,\n\t0x273a8: 0x6c650620,\n\t0x273ae: 0x6d114e20, 0x273af: 0x6c4c9820,\n\t0x273b2: 0x6c2c0820,\n\t0x273b4: 0x6c5e1c20, 0x273b5: 0x6c6de220,\n\t0x273bc: 0x6c74ec20, 0x273bd: 0x6d270820,\n\t// Block 0x9cf, offset 0x273c0\n\t0x273c4: 0x6c60ee20, 0x273c6: 0x6cdb5c20,\n\t0x273c8: 0x6c654020, 0x273ca: 0x6c7d9820, 0x273cb: 0x6cf33220,\n\t0x273cc: 0x6c7c1e20, 0x273cd: 0x6c0c6020, 0x273ce: 0x6c751220,\n\t0x273d1: 0x6c0ad620, 0x273d3: 0x6c157a20,\n\t0x273d5: 0x6d3ecc20, 0x273d6: 0x6c87c220,\n\t0x273da: 0x6c3d0e20, 0x273db: 0x6cb9f020,\n\t0x273dc: 0x6d0d4020, 0x273de: 0x6ce08c20, 0x273df: 0x6ca0d820,\n\t0x273e3: 0x6c79e420,\n\t0x273e4: 0x6cf5d420,\n\t0x273ee: 0x6c569220, 0x273ef: 0x6c569420,\n\t0x273f1: 0x6c3e7020,\n\t0x273f4: 0x6d104c20, 0x273f5: 0x6c4cea20, 0x273f7: 0x6cc57020,\n\t0x273f8: 0x6d1b4c20, 0x273f9: 0x6c3c4420, 0x273fa: 0x6c75b620,\n\t0x273fc: 0x6d27a620, 0x273ff: 0x6d0a8820,\n\t// Block 0x9d0, offset 0x27400\n\t0x27401: 0x6cf87c20,\n\t0x2740e: 0x6cf96220,\n\t0x27411: 0x6c4f7620,\n\t0x2741a: 0x6c569620,\n\t0x2741d: 0x6c54d020, 0x2741e: 0x6cb4aa20, 0x2741f: 0x6c385020,\n\t0x27424: 0x6c636420, 0x27427: 0x6d150420,\n\t0x2742d: 0x6ceac820, 0x2742e: 0x6ca2e220,\n\t0x27438: 0x6d1a6a20, 0x27439: 0x6d1b5a20,\n\t// Block 0x9d1, offset 0x27440\n\t0x27443: 0x6c622a20,\n\t0x27444: 0x6cee5620, 0x27445: 0x6cd3a420, 0x27446: 0x6c330c20, 0x27447: 0x6c34fc20,\n\t0x27449: 0x6ceb3020, 0x2744a: 0x6cebe620, 0x2744b: 0x6c863e20,\n\t0x2744f: 0x6cc55220,\n\t0x27452: 0x6c22d020, 0x27453: 0x6d070220,\n\t0x27454: 0x6d389020, 0x27455: 0x6d3f5a20,\n\t0x2745c: 0x6cee2a20, 0x2745d: 0x6d0b5820, 0x2745f: 0x6c622c20,\n\t0x27460: 0x6c179e20,\n\t0x27469: 0x6c606020,\n\t0x27475: 0x6ccd5420, 0x27476: 0x6ce8de20,\n\t0x27478: 0x6c0cf620, 0x27479: 0x6cf8be20, 0x2747a: 0x6caf7e20, 0x2747b: 0x6d2cd420,\n\t0x2747e: 0x6c5c0620,\n\t// Block 0x9d2, offset 0x27480\n\t0x27480: 0x6cdd3020, 0x27482: 0x6c51da20,\n\t0x27484: 0x6d265220, 0x27486: 0x6cf37c20,\n\t0x27488: 0x6c8d4020, 0x2748a: 0x6d2cd620, 0x2748b: 0x6c574a20,\n\t0x27497: 0x6c151220,\n\t0x2749f: 0x6c367620,\n\t0x274a1: 0x6c18e020,\n\t0x274a7: 0x6cdc6620,\n\t0x274a9: 0x6ce51420,\n\t0x274b0: 0x6d36c420, 0x274b1: 0x6ce41620, 0x274b2: 0x6c022e20, 0x274b3: 0x6d3d9020,\n\t0x274b4: 0x6d3f6020, 0x274b5: 0x6c783020, 0x274b7: 0x6ccb4e20,\n\t0x274b8: 0x6ce4c220, 0x274b9: 0x6c92b620,\n\t0x274be: 0x6ccd2620, 0x274bf: 0x6d2c9020,\n\t// Block 0x9d3, offset 0x274c0\n\t0x274c3: 0x6c1cde20,\n\t0x274c5: 0x6d0ea620,\n\t0x274d2: 0x6ca25420, 0x274d3: 0x6c54fc20,\n\t0x274da: 0x6c1ad420,\n\t0x274dd: 0x6cdb0a20,\n\t0x274e3: 0x6ca51420,\n\t0x274e6: 0x6c60b820, 0x274e7: 0x6c346020,\n\t0x274e8: 0x6c547e20, 0x274ea: 0x6c23de20, 0x274eb: 0x6d2c0220,\n\t0x274ec: 0x6d1a9c20, 0x274ee: 0x6cffbe20,\n\t0x274f0: 0x6c0bbc20, 0x274f1: 0x6c085220, 0x274f2: 0x6c7e9a20,\n\t0x274f4: 0x6c1ad820, 0x274f6: 0x6cb87820,\n\t0x274f8: 0x6c015220, 0x274f9: 0x6cd1fe20,\n\t0x274fc: 0x6c1c7420,\n\t// Block 0x9d4, offset 0x27500\n\t0x27505: 0x6caa6a20, 0x27507: 0x6c628820,\n\t0x27513: 0x6cab9220,\n\t0x27515: 0x6cf97a20,\n\t0x27518: 0x6c14a020, 0x2751a: 0x6c005620,\n\t0x2751d: 0x6cd17c20, 0x2751e: 0x6c518220,\n\t0x27520: 0x6c60ca20, 0x27521: 0x6c1ade20, 0x27522: 0x6cf8fa20, 0x27523: 0x6d32fe20,\n\t0x27526: 0x6cde0020,\n\t0x27528: 0x6c96e220, 0x2752b: 0x6caf9a20,\n\t0x2752e: 0x6d05f220, 0x2752f: 0x6cba2a20,\n\t0x27539: 0x6cfa4e20,\n\t// Block 0x9d5, offset 0x27540\n\t0x2754a: 0x6d241a20,\n\t0x27551: 0x6c6b4620, 0x27552: 0x6cfa5420, 0x27553: 0x6c91ee20,\n\t0x27555: 0x6cbcf620, 0x27557: 0x6c145220,\n\t0x2755b: 0x6d107020,\n\t0x2755c: 0x6c62b020, 0x2755d: 0x6ccc3620, 0x2755e: 0x6c912020,\n\t0x27560: 0x6c5f7620, 0x27561: 0x6d373020, 0x27562: 0x6cee5c20,\n\t0x27564: 0x6c0a9820, 0x27565: 0x6c015820, 0x27566: 0x6d142a20, 0x27567: 0x6c015a20,\n\t0x2756c: 0x6c847620,\n\t0x27579: 0x6cfaec20,\n\t0x2757e: 0x6c703620, 0x2757f: 0x6ce08420,\n\t// Block 0x9d6, offset 0x27580\n\t0x27581: 0x6c507a20, 0x27582: 0x6c520620,\n\t0x27585: 0x6d2c0620, 0x27586: 0x6d2e2e20, 0x27587: 0x6d191a20,\n\t0x27588: 0x6cf91a20, 0x2758a: 0x6cf91c20, 0x2758b: 0x6c384420,\n\t0x2758c: 0x6d0cf620, 0x2758f: 0x6ca25620,\n\t0x27595: 0x6c474020,\n\t0x2759e: 0x6d27d020,\n\t0x275a4: 0x6d384820, 0x275a6: 0x6c160220, 0x275a7: 0x6c208620,\n\t0x275a8: 0x6c5c8a20, 0x275a9: 0x6d28d620, 0x275aa: 0x6c4c0820, 0x275ab: 0x6c661c20,\n\t0x275ac: 0x6d0b3e20,\n\t0x275b0: 0x6cfe6820, 0x275b1: 0x6c520820,\n\t// Block 0x9d7, offset 0x275c0\n\t0x275c3: 0x6c28e820,\n\t0x275c7: 0x6c9df020,\n\t0x275c8: 0x6ca93a20, 0x275ca: 0x6c9ba620,\n\t0x275cc: 0x6c8b6e20, 0x275cd: 0x6d396a20, 0x275ce: 0x6cb42220, 0x275cf: 0x6cdf0a20,\n\t0x275d3: 0x6d1cd020,\n\t0x275d4: 0x6ce2cc20, 0x275d5: 0x6c4ca220,\n\t0x275da: 0x6cbb3020,\n\t0x275dc: 0x6c942420, 0x275dd: 0x6cc9b820, 0x275de: 0x6c8b7020, 0x275df: 0x6c1b6c20,\n\t0x275e0: 0x6d015020, 0x275e3: 0x6c4ca820,\n\t0x275e4: 0x6c067e20, 0x275e5: 0x6c964220, 0x275e6: 0x6c73a420,\n\t0x275ea: 0x6c36e820,\n\t0x275f3: 0x6c51a820,\n\t0x275f5: 0x6c9aba20,\n\t0x275f8: 0x6d028820, 0x275f9: 0x6cb22c20, 0x275fb: 0x6c4dc420,\n\t0x275fc: 0x6c194420, 0x275fd: 0x6ccdec20, 0x275fe: 0x6c5ca020,\n\t// Block 0x9d8, offset 0x27600\n\t0x27606: 0x6d1c4820,\n\t0x27608: 0x6c663e20,\n\t0x2760d: 0x6c016620,\n\t0x27611: 0x6cdef420, 0x27612: 0x6d144220, 0x27613: 0x6ce9dc20,\n\t0x27617: 0x6c8ef220,\n\t0x27619: 0x6d425a20, 0x2761b: 0x6c84ec20,\n\t0x2761d: 0x6cb23420, 0x2761e: 0x6d098420,\n\t0x27620: 0x6ca5a220, 0x27621: 0x6c315820,\n\t0x27624: 0x6c806c20,\n\t0x2762a: 0x6d2d5e20, 0x2762b: 0x6c73e620,\n\t0x2762c: 0x6d314620, 0x2762d: 0x6c600c20, 0x2762e: 0x6cb8ce20,\n\t0x27630: 0x6c4da220, 0x27631: 0x6c3b7220, 0x27633: 0x6c4da420,\n\t0x27634: 0x6c535620, 0x27635: 0x6c514620, 0x27636: 0x6c541a20,\n\t0x2763a: 0x6d2e7820, 0x2763b: 0x6c1dd420,\n\t0x2763c: 0x6cdf7e20, 0x2763d: 0x6cba7820, 0x2763f: 0x6ccf7420,\n\t// Block 0x9d9, offset 0x27640\n\t0x27640: 0x6d1bee20, 0x27643: 0x6cbd4020,\n\t0x27646: 0x6c5e0e20,\n\t0x27648: 0x6cf8fc20, 0x27649: 0x6c51f820, 0x2764a: 0x6cf90820, 0x2764b: 0x6cf97e20,\n\t0x2764c: 0x6c4fb620, 0x2764d: 0x6c81e820, 0x2764f: 0x6c870c20,\n\t0x27652: 0x6c19a220,\n\t0x27656: 0x6c760620, 0x27657: 0x6cf76020,\n\t0x27658: 0x6c4e7620,\n\t0x2765e: 0x6c311620,\n\t0x27660: 0x6c30ae20, 0x27661: 0x6cec9220,\n\t0x27664: 0x6c30b020, 0x27665: 0x6d293820, 0x27666: 0x6c737a20,\n\t0x27668: 0x6c90e620, 0x27669: 0x6c1f6220, 0x2766b: 0x6d32ea20,\n\t0x2766f: 0x6cb64420,\n\t0x27670: 0x6c770e20, 0x27671: 0x6c5df420, 0x27672: 0x6c7f2420,\n\t0x2767a: 0x6c410620,\n\t0x2767c: 0x6cd48220, 0x2767e: 0x6c301a20,\n\t// Block 0x9da, offset 0x27680\n\t0x27683: 0x6c90c820,\n\t0x27684: 0x6ce93e20, 0x27687: 0x6d21ca20,\n\t0x27688: 0x6cf52e20, 0x2768a: 0x6ce4ce20,\n\t0x27692: 0x6c4c9e20,\n\t0x27698: 0x6ce04420, 0x27699: 0x6cb6ae20,\n\t0x276a0: 0x6c8b8020, 0x276a1: 0x6c87b420, 0x276a3: 0x6d09d020,\n\t0x276a8: 0x6c452820, 0x276a9: 0x6ce63820, 0x276aa: 0x6c4ea220, 0x276ab: 0x6c1f2a20,\n\t0x276ad: 0x6cea4c20, 0x276af: 0x6d047a20,\n\t0x276b0: 0x6d1f3020, 0x276b1: 0x6ca11820, 0x276b2: 0x6c1ba420,\n\t0x276b4: 0x6c562020, 0x276b5: 0x6c317020, 0x276b7: 0x6ca24420,\n\t0x276b9: 0x6ca34420, 0x276bb: 0x6c8d0c20,\n\t0x276bf: 0x6c00ae20,\n\t// Block 0x9db, offset 0x276c0\n\t0x276c0: 0x6cfab020,\n\t0x276c4: 0x6c76e020, 0x276c5: 0x6cd8cc20, 0x276c6: 0x6cca0420,\n\t0x276ca: 0x6d180e20,\n\t0x276cf: 0x6d183c20,\n\t0x276d0: 0x6d000020, 0x276d2: 0x6d340820, 0x276d3: 0x6c313020,\n\t0x276d8: 0x6c973e20,\n\t0x276dc: 0x6c950a20, 0x276dd: 0x6c74a820,\n\t0x276e1: 0x6cbad620, 0x276e2: 0x6c8d4a20,\n\t0x276e9: 0x6cb12c20, 0x276ea: 0x6c23fc20, 0x276eb: 0x6c351820,\n\t0x276ec: 0x6d229420,\n\t0x276f0: 0x6d3d0a20, 0x276f2: 0x6cf8fe20, 0x276f3: 0x6c581620,\n\t0x276f4: 0x6ca02020, 0x276f5: 0x6ce14420,\n\t0x276f9: 0x6cb41820, 0x276fb: 0x6c9da420,\n\t0x276fc: 0x6c979020, 0x276fe: 0x6c48d420,\n\t// Block 0x9dc, offset 0x27700\n\t0x27700: 0x6cb93620, 0x27702: 0x6c8bfa20, 0x27703: 0x6c9fd620,\n\t0x27704: 0x6cf04e20, 0x27705: 0x6c136820, 0x27707: 0x6c56e220,\n\t0x27708: 0x6cdc0420, 0x2770b: 0x6c72bc20,\n\t0x2770c: 0x6ccc8420, 0x2770d: 0x6c9ba820,\n\t0x27717: 0x6cef7620,\n\t0x27718: 0x6cf75a20, 0x27719: 0x6c8e2a20,\n\t0x2771c: 0x6c0ad820, 0x2771d: 0x6cf13820,\n\t0x27721: 0x6c85b420, 0x27722: 0x6d304420,\n\t0x27724: 0x6d1df220, 0x27725: 0x6c554e20, 0x27726: 0x6cecda20, 0x27727: 0x6c034c20,\n\t0x27728: 0x6c649220,\n\t0x2772d: 0x6d426a20, 0x2772e: 0x6d2df220, 0x2772f: 0x6c0e7a20,\n\t0x27730: 0x6cbfb220, 0x27731: 0x6d0f5a20,\n\t0x27734: 0x6c300620, 0x27735: 0x6cc19820,\n\t0x2773a: 0x6caff820, 0x2773b: 0x6d2d2c20,\n\t0x2773e: 0x6cccf420, 0x2773f: 0x6c46bc20,\n\t// Block 0x9dd, offset 0x27740\n\t0x27740: 0x6c0c9020, 0x27741: 0x6d152220, 0x27742: 0x6c3eaa20,\n\t0x27744: 0x6d034020, 0x27745: 0x6cd3a620, 0x27746: 0x6ce6fc20,\n\t0x27749: 0x6c2f6220,\n\t0x2774c: 0x6ce86e20, 0x2774d: 0x6cfef620, 0x2774e: 0x6cf3e020, 0x2774f: 0x6cade420,\n\t0x27750: 0x6c5ade20,\n\t0x27755: 0x6c7f2220,\n\t0x27759: 0x6cd8e220, 0x2775a: 0x6c250220, 0x2775b: 0x6ccc7220,\n\t0x2775c: 0x6d38f020, 0x2775d: 0x6d2fd820, 0x2775e: 0x6cef3220, 0x2775f: 0x6c7f2620,\n\t0x27760: 0x6c0a3a20, 0x27763: 0x6c303e20,\n\t0x27766: 0x6ca51620, 0x27767: 0x6d005420,\n\t0x27768: 0x6cc54020, 0x27769: 0x6ce98e20, 0x2776a: 0x6cf0d820, 0x2776b: 0x6d1f7020,\n\t0x2776c: 0x6c9a2820, 0x2776d: 0x6d25b220, 0x2776e: 0x6d384220,\n\t0x27776: 0x6cd9ea20,\n\t0x27778: 0x6c474820, 0x27779: 0x6ccee620, 0x2777b: 0x6d2f9220,\n\t0x2777c: 0x6cb02820, 0x2777f: 0x6ce70820,\n\t// Block 0x9de, offset 0x27780\n\t0x27781: 0x6c1ae220, 0x27782: 0x6caedc20, 0x27783: 0x6c153c20,\n\t0x27784: 0x6d1dca20, 0x27785: 0x6cd6ea20, 0x27787: 0x6cf48420,\n\t0x27789: 0x6cb03020, 0x2778a: 0x6c596020,\n\t0x2778c: 0x6c3f1e20, 0x2778e: 0x6c0c9620,\n\t0x27793: 0x6ca4d020,\n\t0x27795: 0x6c0c9820, 0x27796: 0x6cf11420, 0x27797: 0x6d1dd620,\n\t0x27799: 0x6ca52620, 0x2779a: 0x6c48fe20,\n\t0x277a0: 0x6c879220, 0x277a2: 0x6d035e20, 0x277a3: 0x6d0d2220,\n\t0x277a4: 0x6cb37420, 0x277a5: 0x6cadca20,\n\t0x277aa: 0x6cdd5c20,\n\t0x277ac: 0x6cc5e220, 0x277ad: 0x6ccd3a20,\n\t0x277b2: 0x6cdd5e20,\n\t0x277b8: 0x6c27d620, 0x277ba: 0x6c9af020,\n\t// Block 0x9df, offset 0x277c0\n\t0x277c3: 0x6cd44820,\n\t0x277c8: 0x6c46a620, 0x277ca: 0x6c4da620, 0x277cb: 0x6cd39020,\n\t0x277cc: 0x6d102020, 0x277ce: 0x6c479620,\n\t0x277db: 0x6c77fe20,\n\t0x277de: 0x6c709c20,\n\t0x277e0: 0x6cac2e20, 0x277e1: 0x6c12f820, 0x277e2: 0x6c05b220, 0x277e3: 0x6d047020,\n\t0x277e4: 0x6c111420, 0x277e7: 0x6c8c2420,\n\t0x277e8: 0x6c00b020,\n\t0x277ec: 0x6c9d6220, 0x277ed: 0x6c7f3e20,\n\t0x277f1: 0x6cfee020, 0x277f3: 0x6ccf1e20,\n\t0x277fb: 0x6c5d7c20,\n\t0x277fc: 0x6ca6b420,\n\t// Block 0x9e0, offset 0x27800\n\t0x27804: 0x6d335620, 0x27806: 0x6c8c5c20, 0x27807: 0x6d2c4420,\n\t0x2780a: 0x6d27be20,\n\t0x2780d: 0x6d071c20,\n\t0x27814: 0x6c1a2a20, 0x27815: 0x6cf2c020, 0x27816: 0x6cf68620,\n\t0x27819: 0x6c074820,\n\t0x2781c: 0x6cce1c20,\n\t0x27820: 0x6d23d020, 0x27821: 0x6c9d8020,\n\t0x27832: 0x6c32b020,\n\t0x27835: 0x6c144a20, 0x27837: 0x6d2b0820,\n\t0x27838: 0x6c1a8820, 0x2783a: 0x6ce69220,\n\t// Block 0x9e1, offset 0x27840\n\t0x27845: 0x6d157020,\n\t0x2784b: 0x6d10ba20,\n\t0x2784e: 0x6c7a6620,\n\t0x27850: 0x6c3b9c20, 0x27851: 0x6d010420, 0x27852: 0x6c1a8a20,\n\t0x2785b: 0x6c7d2420,\n\t0x2785f: 0x6c0d6220,\n\t0x27861: 0x6c90cc20,\n\t0x27865: 0x6d18fa20, 0x27866: 0x6c9da620, 0x27867: 0x6d024620,\n\t0x27871: 0x6c4a9c20, 0x27873: 0x6c955e20,\n\t0x27876: 0x6ccdce20,\n\t0x2787e: 0x6c717a20, 0x2787f: 0x6c318420,\n\t// Block 0x9e2, offset 0x27880\n\t0x27882: 0x6cfaf220,\n\t0x27885: 0x6d356020,\n\t0x27888: 0x6c0d9020,\n\t0x27895: 0x6d356220, 0x27896: 0x6d3bfa20, 0x27897: 0x6d092a20,\n\t0x27898: 0x6c893020, 0x27899: 0x6cdcb220,\n\t0x278a6: 0x6c808c20, 0x278a7: 0x6c72cc20,\n\t0x278a8: 0x6c9df220, 0x278a9: 0x6d0ab420, 0x278aa: 0x6d2ea020, 0x278ab: 0x6c4c0c20,\n\t0x278b2: 0x6d376820,\n\t0x278bd: 0x6cf12c20, 0x278be: 0x6cc36a20, 0x278bf: 0x6c14ac20,\n\t// Block 0x9e3, offset 0x278c0\n\t0x278c8: 0x6cc63020, 0x278ca: 0x6d272820,\n\t0x278cc: 0x6d3ece20,\n\t0x278d0: 0x6c965420, 0x278d1: 0x6c4b3620, 0x278d3: 0x6c19f420,\n\t0x278d5: 0x6c709e20, 0x278d6: 0x6ce4fe20, 0x278d7: 0x6ced9820,\n\t0x278db: 0x6d33d820,\n\t0x278de: 0x6ca42c20,\n\t0x278e3: 0x6c4db420,\n\t0x278e8: 0x6cf6b020, 0x278e9: 0x6c8bd420,\n\t0x278ec: 0x6d0c2e20, 0x278ed: 0x6d074220,\n\t0x278f2: 0x6c56d220, 0x278f3: 0x6c423620,\n\t0x278f4: 0x6d074c20, 0x278f6: 0x6cf90a20,\n\t0x278fa: 0x6c258420,\n\t0x278fd: 0x6cf92a20, 0x278fe: 0x6c560220,\n\t// Block 0x9e4, offset 0x27900\n\t0x27905: 0x6d0c4c20,\n\t0x2790e: 0x6d170e20, 0x2790f: 0x6c1b1a20,\n\t0x27910: 0x6c741c20, 0x27912: 0x6d40b220,\n\t0x2791c: 0x6c699420, 0x2791d: 0x6d178220, 0x2791f: 0x6ce05e20,\n\t0x27920: 0x6c1c1420, 0x27921: 0x6c037a20, 0x27922: 0x6ce82820, 0x27923: 0x6d3f7a20,\n\t0x27924: 0x6cc05420, 0x27927: 0x6c1c1620,\n\t0x27928: 0x6cf7e020,\n\t0x27930: 0x6ca69c20, 0x27932: 0x6c241420,\n\t0x27934: 0x6cf44820, 0x27936: 0x6c1f4820, 0x27937: 0x6cda4e20,\n\t0x27938: 0x6d1df820, 0x27939: 0x6c71bc20, 0x2793a: 0x6c037e20,\n\t0x2793c: 0x6c229c20, 0x2793d: 0x6c2c6420, 0x2793e: 0x6cac9820, 0x2793f: 0x6c1c2620,\n\t// Block 0x9e5, offset 0x27940\n\t0x27941: 0x6cc0ac20, 0x27943: 0x6d0ca420,\n\t0x2794d: 0x6d2d2e20,\n\t0x27952: 0x6cfce220, 0x27953: 0x6c084620,\n\t0x27954: 0x6c7ba620, 0x27955: 0x6cb7a820, 0x27956: 0x6d389220, 0x27957: 0x6c713820,\n\t0x27958: 0x6cbcca20, 0x27959: 0x6ca13420, 0x2795a: 0x6d258c20,\n\t0x2795c: 0x6c4b5820, 0x2795d: 0x6d417220,\n\t0x27967: 0x6cbccc20,\n\t0x27970: 0x6c558a20, 0x27971: 0x6cc08820, 0x27972: 0x6c4d2220, 0x27973: 0x6c402c20,\n\t0x27974: 0x6c812a20, 0x27975: 0x6ccc6c20, 0x27976: 0x6cf68820, 0x27977: 0x6c101c20,\n\t0x27978: 0x6cd3ba20, 0x27979: 0x6d1e5220, 0x2797a: 0x6c49f020,\n\t0x2797c: 0x6ca85420, 0x2797f: 0x6c545820,\n\t// Block 0x9e6, offset 0x27980\n\t0x2798a: 0x6c9d7220,\n\t0x2798e: 0x6c369420, 0x2798f: 0x6cfb8a20,\n\t0x27990: 0x6d280020, 0x27991: 0x6d073220, 0x27992: 0x6cbde420, 0x27993: 0x6c301220,\n\t0x27994: 0x6c838220, 0x27995: 0x6cb7ca20, 0x27996: 0x6c7fb020, 0x27997: 0x6c3ee420,\n\t0x27998: 0x6cb71420, 0x27999: 0x6c1d3e20,\n\t0x2799c: 0x6c245c20, 0x2799f: 0x6ca16620,\n\t0x279a0: 0x6c06b820,\n\t0x279a4: 0x6c2a2e20,\n\t0x279a8: 0x6c6b3a20, 0x279a9: 0x6c1d5c20, 0x279aa: 0x6c1c7620, 0x279ab: 0x6d23f820,\n\t0x279ac: 0x6c24ee20, 0x279ad: 0x6cdb2620, 0x279ae: 0x6ce42420, 0x279af: 0x6cd61020,\n\t0x279b0: 0x6d2c4c20, 0x279b1: 0x6c3ef820, 0x279b3: 0x6c184620,\n\t0x279b4: 0x6c3d0c20, 0x279b5: 0x6c543220, 0x279b6: 0x6d2c4e20,\n\t// Block 0x9e7, offset 0x279c0\n\t0x279c4: 0x6c6b3c20, 0x279c5: 0x6d2c5020, 0x279c6: 0x6d2d9c20,\n\t0x279c9: 0x6d0dde20, 0x279ca: 0x6c4d3020, 0x279cb: 0x6cf48220,\n\t0x279cc: 0x6c576220, 0x279cd: 0x6c2cde20, 0x279ce: 0x6d115420, 0x279cf: 0x6cd9ec20,\n\t0x279d0: 0x6cb92c20, 0x279d1: 0x6c60cc20, 0x279d2: 0x6d04aa20, 0x279d3: 0x6cb7f020,\n\t0x279d4: 0x6c758420, 0x279d6: 0x6c4d3220,\n\t0x279de: 0x6d0dee20, 0x279df: 0x6c6b6820,\n\t0x279e0: 0x6c24f420, 0x279e2: 0x6ce96a20, 0x279e3: 0x6d2ee620,\n\t0x279e4: 0x6cb16c20, 0x279e5: 0x6c930e20, 0x279e6: 0x6d342020, 0x279e7: 0x6c1f8820,\n\t0x279e8: 0x6c9da820, 0x279e9: 0x6cbaec20, 0x279eb: 0x6c892420,\n\t0x279f2: 0x6c86dc20,\n\t0x279f6: 0x6c359a20, 0x279f7: 0x6cdb5820,\n\t0x279f8: 0x6c74f020, 0x279fb: 0x6c717c20,\n\t0x279fc: 0x6ce03a20, 0x279fd: 0x6c8a4820, 0x279fe: 0x6cca0a20, 0x279ff: 0x6c309220,\n\t// Block 0x9e8, offset 0x27a00\n\t0x27a01: 0x6d28d420, 0x27a02: 0x6d34b220,\n\t0x27a06: 0x6d08ca20, 0x27a07: 0x6c8d8620,\n\t0x27a0a: 0x6c2abe20,\n\t0x27a0d: 0x6d2dbe20, 0x27a0e: 0x6d07f020, 0x27a0f: 0x6cbdf220,\n\t0x27a10: 0x6c69da20, 0x27a11: 0x6cb0da20,\n\t0x27a14: 0x6c4e6e20,\n\t0x27a1a: 0x6d21f220, 0x27a1b: 0x6c4ca420,\n\t0x27a1d: 0x6d0a5420,\n\t0x27a20: 0x6d0a5620, 0x27a21: 0x6c156c20, 0x27a22: 0x6c6b8020, 0x27a23: 0x6c719420,\n\t0x27a24: 0x6d0e1820, 0x27a25: 0x6c31f620, 0x27a27: 0x6c53e020,\n\t0x27a28: 0x6cfd4a20, 0x27a29: 0x6d0a5820,\n\t0x27a2e: 0x6c8db020, 0x27a2f: 0x6c6b8620,\n\t0x27a30: 0x6d197e20, 0x27a31: 0x6cc22a20, 0x27a32: 0x6c41c020, 0x27a33: 0x6c3c8c20,\n\t0x27a35: 0x6c753820, 0x27a36: 0x6cc16e20,\n\t0x27a3b: 0x6c6fe020,\n\t0x27a3d: 0x6c61ba20, 0x27a3e: 0x6c612c20,\n\t// Block 0x9e9, offset 0x27a40\n\t0x27a45: 0x6cf77420, 0x27a46: 0x6cacd220,\n\t0x27a48: 0x6c7bf020, 0x27a49: 0x6c7a8e20, 0x27a4b: 0x6c7a9020,\n\t0x27a4c: 0x6d2cbe20, 0x27a4f: 0x6c03b220,\n\t0x27a52: 0x6c190220, 0x27a53: 0x6c569820,\n\t0x27a54: 0x6caa6220, 0x27a55: 0x6c356220, 0x27a56: 0x6d046a20, 0x27a57: 0x6c33ce20,\n\t0x27a58: 0x6cd10020, 0x27a59: 0x6cecdc20, 0x27a5a: 0x6c3b2e20,\n\t0x27a5d: 0x6cf60420, 0x27a5e: 0x6d3e2e20,\n\t0x27a60: 0x6c569a20,\n\t0x27a65: 0x6c0cea20, 0x27a67: 0x6ceba620,\n\t0x27a68: 0x6c04cc20, 0x27a69: 0x6c43e420, 0x27a6b: 0x6c77f620,\n\t0x27a72: 0x6d3c8c20, 0x27a73: 0x6c3e9220,\n\t0x27a74: 0x6ca12020, 0x27a75: 0x6c63c620, 0x27a76: 0x6ceb2620, 0x27a77: 0x6d235a20,\n\t0x27a79: 0x6ca24620, 0x27a7a: 0x6c745e20, 0x27a7b: 0x6c712820,\n\t0x27a7c: 0x6c486220, 0x27a7d: 0x6cb35a20,\n\t// Block 0x9ea, offset 0x27a80\n\t0x27a80: 0x6ca63c20,\n\t0x27a84: 0x6cec1e20, 0x27a85: 0x6d0d9620,\n\t0x27a94: 0x6c1e2c20, 0x27a95: 0x6c7ba820, 0x27a96: 0x6c4d7020,\n\t0x27a98: 0x6cfdd020, 0x27a99: 0x6cf65c20, 0x27a9b: 0x6c25a820,\n\t0x27a9c: 0x6ce6fe20, 0x27a9d: 0x6cc92420, 0x27a9f: 0x6c345820,\n\t0x27aa0: 0x6c182a20,\n\t0x27aa4: 0x6c833820, 0x27aa5: 0x6d3e6420, 0x27aa7: 0x6d332420,\n\t0x27aa8: 0x6d426c20, 0x27aab: 0x6c773020,\n\t0x27aac: 0x6d293a20, 0x27aae: 0x6d250020, 0x27aaf: 0x6cbf4620,\n\t0x27ab3: 0x6c381820,\n\t0x27ab4: 0x6d0a2220, 0x27ab6: 0x6c622e20,\n\t0x27ab8: 0x6c13a620,\n\t// Block 0x9eb, offset 0x27ac0\n\t0x27ac0: 0x6cd4fe20, 0x27ac1: 0x6d08a820, 0x27ac2: 0x6d00d220, 0x27ac3: 0x6ce2f820,\n\t0x27ac4: 0x6c4ef220, 0x27ac5: 0x6cfac020, 0x27ac6: 0x6ccd0420, 0x27ac7: 0x6cea8c20,\n\t0x27ac8: 0x6c4f8420, 0x27ac9: 0x6c7dbc20, 0x27aca: 0x6c133620, 0x27acb: 0x6c30bc20,\n\t0x27acc: 0x6caac620, 0x27acd: 0x6d0e9a20, 0x27ace: 0x6c1a2c20, 0x27acf: 0x6cb40a20,\n\t0x27ad0: 0x6cb7ba20, 0x27ad1: 0x6d26d420, 0x27ad2: 0x6c3d8c20,\n\t0x27ad7: 0x6ce6dc20,\n\t0x27adf: 0x6cf2c220,\n\t0x27ae0: 0x6cd11220, 0x27ae1: 0x6ceb8c20,\n\t0x27af4: 0x6ce06a20, 0x27af6: 0x6d0b6020, 0x27af7: 0x6d36ca20,\n\t0x27af8: 0x6c92be20, 0x27af9: 0x6d0dd020, 0x27afa: 0x6c70c220,\n\t0x27afd: 0x6c2a8020, 0x27aff: 0x6c1f7020,\n\t// Block 0x9ec, offset 0x27b00\n\t0x27b00: 0x6d412620, 0x27b01: 0x6c369620, 0x27b02: 0x6d349620, 0x27b03: 0x6caec020,\n\t0x27b05: 0x6c0cbe20, 0x27b07: 0x6c2c0220,\n\t0x27b10: 0x6c7f2820, 0x27b12: 0x6d133020,\n\t0x27b1c: 0x6c4fe620, 0x27b1d: 0x6cac7420, 0x27b1e: 0x6ce0ae20, 0x27b1f: 0x6c774a20,\n\t0x27b20: 0x6d05ea20, 0x27b21: 0x6d408e20, 0x27b22: 0x6c628c20, 0x27b23: 0x6cf52620,\n\t0x27b26: 0x6c204020,\n\t0x27b29: 0x6cb3a420, 0x27b2a: 0x6d0dd620, 0x27b2b: 0x6cebb420,\n\t0x27b2d: 0x6c31b820, 0x27b2f: 0x6cb13020,\n\t0x27b30: 0x6c1c7820, 0x27b31: 0x6c5d4420, 0x27b32: 0x6cb26820,\n\t0x27b34: 0x6c235c20, 0x27b35: 0x6d2c9620,\n\t0x27b3a: 0x6cec9e20,\n\t0x27b3f: 0x6cec6620,\n\t// Block 0x9ed, offset 0x27b40\n\t0x27b43: 0x6c36ae20,\n\t0x27b44: 0x6cf0da20, 0x27b45: 0x6c040420, 0x27b47: 0x6c678020,\n\t0x27b53: 0x6c140a20,\n\t0x27b55: 0x6c1f8220, 0x27b56: 0x6c7af220, 0x27b57: 0x6ce2bc20,\n\t0x27b58: 0x6d406a20, 0x27b59: 0x6c86ac20, 0x27b5a: 0x6cdeb220, 0x27b5b: 0x6cc9a420,\n\t0x27b5e: 0x6cac7a20, 0x27b5f: 0x6cac7c20,\n\t0x27b63: 0x6ccb0020,\n\t0x27b64: 0x6cbbba20,\n\t0x27b6d: 0x6d40e220, 0x27b6f: 0x6d371820,\n\t0x27b70: 0x6d0de020, 0x27b72: 0x6c6b4820, 0x27b73: 0x6ca5aa20,\n\t// Block 0x9ee, offset 0x27b80\n\t0x27b84: 0x6c944420, 0x27b85: 0x6cc15220, 0x27b87: 0x6c2af220,\n\t0x27b88: 0x6c897620, 0x27b89: 0x6c15f220, 0x27b8a: 0x6cbcf820, 0x27b8b: 0x6c912220,\n\t0x27b8c: 0x6c2efe20, 0x27b8d: 0x6c24f620,\n\t0x27b90: 0x6c615c20, 0x27b93: 0x6c178420,\n\t0x27b94: 0x6cd69a20, 0x27b95: 0x6d40f220, 0x27b97: 0x6c775a20,\n\t0x27b9a: 0x6cbaf020, 0x27b9b: 0x6c847820,\n\t0x27bae: 0x6cd65e20, 0x27baf: 0x6d243e20,\n\t0x27bb0: 0x6d2ee820, 0x27bb1: 0x6c82f220,\n\t// Block 0x9ef, offset 0x27bc0\n\t0x27bc5: 0x6cb33e20,\n\t0x27bca: 0x6d30b620, 0x27bcb: 0x6d001e20,\n\t0x27bcd: 0x6ce08620, 0x27bce: 0x6c258620, 0x27bcf: 0x6c7fdc20,\n\t0x27bd1: 0x6d060220, 0x27bd2: 0x6cd62820, 0x27bd3: 0x6d2c9c20,\n\t0x27bd4: 0x6c11ba20, 0x27bd7: 0x6c08fe20,\n\t0x27bd8: 0x6caf1c20,\n\t0x27bdd: 0x6c1a5620,\n\t0x27be3: 0x6cbc0c20,\n\t0x27be4: 0x6c5f8620,\n\t0x27bea: 0x6d2d0420,\n\t0x27bec: 0x6c7fde20,\n\t// Block 0x9f0, offset 0x27c00\n\t0x27c01: 0x6ce52820, 0x27c02: 0x6cc9b020, 0x27c03: 0x6c6c6e20,\n\t0x27c04: 0x6d3b4020, 0x27c05: 0x6c352220, 0x27c07: 0x6c145620,\n\t0x27c08: 0x6c73a020, 0x27c09: 0x6ce16220, 0x27c0a: 0x6c086420,\n\t0x27c0c: 0x6c38e820, 0x27c0d: 0x6c8b6820, 0x27c0e: 0x6d2b6e20, 0x27c0f: 0x6cdcb420,\n\t0x27c19: 0x6ccb8c20,\n\t0x27c27: 0x6d375c20,\n\t0x27c28: 0x6ce9d420, 0x27c2a: 0x6cbe5e20,\n\t0x27c2c: 0x6c21e620,\n\t0x27c30: 0x6cdee620, 0x27c31: 0x6c0e3c20, 0x27c32: 0x6cf1f620,\n\t0x27c35: 0x6cb36220,\n\t0x27c3d: 0x6ca09a20, 0x27c3e: 0x6c10e420,\n\t// Block 0x9f1, offset 0x27c40\n\t0x27c41: 0x6c7c2020, 0x27c43: 0x6c260220,\n\t0x27c44: 0x6cc54420, 0x27c45: 0x6c068020, 0x27c46: 0x6c7f8020,\n\t0x27c4d: 0x6ca75220, 0x27c4e: 0x6c84c220,\n\t0x27c55: 0x6c697220, 0x27c56: 0x6c919e20, 0x27c57: 0x6c879620,\n\t0x27c58: 0x6c900820, 0x27c59: 0x6c4baa20,\n\t0x27c5d: 0x6c161c20,\n\t0x27c64: 0x6cfb1820, 0x27c66: 0x6c165620,\n\t0x27c68: 0x6d029020, 0x27c69: 0x6d2ea820,\n\t0x27c6f: 0x6cd6c620,\n\t0x27c7b: 0x6c9d1220,\n\t0x27c7c: 0x6c947420, 0x27c7d: 0x6c965620,\n\t// Block 0x9f2, offset 0x27c80\n\t0x27c80: 0x6c2d0220,\n\t0x27c88: 0x6c2f2820, 0x27c8a: 0x6cecb220, 0x27c8b: 0x6d274620,\n\t0x27c8c: 0x6c948620, 0x27c8e: 0x6c948a20,\n\t0x27c93: 0x6c837220,\n\t0x27c95: 0x6cec6020, 0x27c96: 0x6c2f3e20, 0x27c97: 0x6ca59620,\n\t0x27c98: 0x6cceb220, 0x27c99: 0x6d019e20, 0x27c9a: 0x6cafe820,\n\t0x27ca5: 0x6c98dc20, 0x27ca7: 0x6d1ade20,\n\t0x27ca9: 0x6c0f0a20, 0x27cab: 0x6d3b0220,\n\t0x27cae: 0x6c1cc820,\n\t0x27cb6: 0x6ca24820, 0x27cb7: 0x6ceb2820,\n\t0x27cb9: 0x6ce7be20, 0x27cba: 0x6d128820,\n\t// Block 0x9f3, offset 0x27cc0\n\t0x27cc1: 0x6c5a7220, 0x27cc3: 0x6cc60020,\n\t0x27cc5: 0x6d130620,\n\t0x27ccb: 0x6ceb3a20,\n\t0x27cd6: 0x6d413a20, 0x27cd7: 0x6d23d220,\n\t0x27cda: 0x6c000c20,\n\t0x27cdc: 0x6d38a420, 0x27cdd: 0x6cec9c20,\n\t0x27ce1: 0x6c34ae20, 0x27ce2: 0x6d384420, 0x27ce3: 0x6c4cfc20,\n\t0x27ce4: 0x6c5a0420, 0x27ce5: 0x6c9e6220,\n\t0x27ce9: 0x6c211a20, 0x27cea: 0x6cbce420, 0x27ceb: 0x6c45b220,\n\t0x27cec: 0x6ce69420, 0x27ced: 0x6c9a2a20,\n\t0x27cf1: 0x6ce1a420,\n\t0x27cf4: 0x6cc6c420, 0x27cf7: 0x6cc6c620,\n\t0x27cf8: 0x6cb66420, 0x27cf9: 0x6c4c9a20,\n\t0x27cfd: 0x6cfe6220, 0x27cfe: 0x6ce4ca20,\n\t// Block 0x9f4, offset 0x27d00\n\t0x27d05: 0x6cff4020,\n\t0x27d08: 0x6d2db620, 0x27d09: 0x6c258820,\n\t0x27d14: 0x6c7ffc20,\n\t0x27d18: 0x6cd02e20, 0x27d1a: 0x6c830e20, 0x27d1b: 0x6c879820,\n\t0x27d1d: 0x6c14e620, 0x27d1e: 0x6ca8d020, 0x27d1f: 0x6c947620,\n\t0x27d21: 0x6ce63a20, 0x27d22: 0x6c5ba620,\n\t0x27d27: 0x6c458020,\n\t0x27d30: 0x6cb77220, 0x27d31: 0x6d20fa20, 0x27d33: 0x6d02d220,\n\t0x27d38: 0x6d26ae20, 0x27d39: 0x6c034e20, 0x27d3a: 0x6c276a20, 0x27d3b: 0x6c5eba20,\n\t0x27d3c: 0x6d089220, 0x27d3f: 0x6c743c20,\n\t// Block 0x9f5, offset 0x27d40\n\t0x27d40: 0x6ca99420,\n\t0x27d48: 0x6c325220, 0x27d49: 0x6c602620,\n\t0x27d50: 0x6cabc820, 0x27d51: 0x6c45f020, 0x27d52: 0x6c07ba20,\n\t0x27d54: 0x6c794220, 0x27d55: 0x6d105020, 0x27d56: 0x6c8f0820, 0x27d57: 0x6ca5ee20,\n\t0x27d58: 0x6d2cca20, 0x27d59: 0x6d1b5c20, 0x27d5a: 0x6ca72820, 0x27d5b: 0x6cad9020,\n\t0x27d5d: 0x6c458e20, 0x27d5e: 0x6c109e20, 0x27d5f: 0x6c512e20,\n\t0x27d60: 0x6cc71220, 0x27d61: 0x6c4b5020,\n\t0x27d65: 0x6c09b620, 0x27d66: 0x6cf63020, 0x27d67: 0x6c712a20,\n\t0x27d68: 0x6c5cf420, 0x27d69: 0x6c09e420, 0x27d6b: 0x6ce56420,\n\t0x27d6c: 0x6d332820, 0x27d6f: 0x6d181020,\n\t0x27d70: 0x6c22d220, 0x27d72: 0x6c0e2620,\n\t0x27d77: 0x6c459c20,\n\t0x27d7a: 0x6c381a20,\n\t0x27d7d: 0x6d0fce20, 0x27d7e: 0x6d064820,\n\t// Block 0x9f6, offset 0x27d80\n\t0x27d81: 0x6c52b620,\n\t0x27d84: 0x6d2a0a20, 0x27d85: 0x6c148420, 0x27d86: 0x6c537620,\n\t0x27d88: 0x6ce4b820,\n\t0x27d8c: 0x6d340a20, 0x27d8d: 0x6d039220, 0x27d8e: 0x6d062220,\n\t0x27d91: 0x6d325820,\n\t0x27d94: 0x6ced4020,\n\t0x27d98: 0x6c75dc20,\n\t0x27d9d: 0x6cf30c20,\n\t0x27da0: 0x6c92c220, 0x27da2: 0x6d32f220, 0x27da3: 0x6cc71a20,\n\t0x27da4: 0x6c1a3c20, 0x27da5: 0x6c3ee620, 0x27da7: 0x6c369820,\n\t0x27da8: 0x6ce1e620, 0x27da9: 0x6ce12e20, 0x27dab: 0x6c730020,\n\t0x27dac: 0x6c17c020, 0x27dad: 0x6cde9620, 0x27dae: 0x6c2c0420,\n\t0x27db0: 0x6d3fc020, 0x27db3: 0x6c794c20,\n\t0x27db4: 0x6ce99820, 0x27db6: 0x6c794e20,\n\t// Block 0x9f7, offset 0x27dc0\n\t0x27dc5: 0x6cc71c20, 0x27dc6: 0x6d276420, 0x27dc7: 0x6c517a20,\n\t0x27dc8: 0x6d400820, 0x27dc9: 0x6c235e20, 0x27dca: 0x6cbfcc20,\n\t0x27dce: 0x6ca2b420, 0x27dcf: 0x6c346420,\n\t0x27dd0: 0x6d065a20, 0x27dd1: 0x6c795620, 0x27dd2: 0x6cfd1220,\n\t0x27ddb: 0x6c31ba20,\n\t0x27ddc: 0x6c76ee20, 0x27dde: 0x6d1bf020,\n\t0x27de2: 0x6d3e9620,\n\t0x27de7: 0x6c5a0620,\n\t0x27de9: 0x6caed020, 0x27deb: 0x6c86ae20,\n\t0x27ded: 0x6c0f8220, 0x27dee: 0x6c444420, 0x27def: 0x6c716620,\n\t0x27df0: 0x6c783420, 0x27df2: 0x6c55ce20, 0x27df3: 0x6d115820,\n\t0x27df4: 0x6ce14820, 0x27df6: 0x6cbf7020, 0x27df7: 0x6cc72820,\n\t0x27df8: 0x6c8f1e20, 0x27df9: 0x6c5c5e20, 0x27dfa: 0x6c5f6220,\n\t// Block 0x9f8, offset 0x27e00\n\t0x27e09: 0x6d371a20, 0x27e0b: 0x6ce15220,\n\t0x27e0c: 0x6d355c20, 0x27e0d: 0x6c775e20,\n\t0x27e14: 0x6d107220, 0x27e16: 0x6ce18420, 0x27e17: 0x6c52d820,\n\t0x27e1b: 0x6c897820,\n\t0x27e1d: 0x6c12a020,\n\t0x27e21: 0x6ca3aa20, 0x27e22: 0x6d400e20,\n\t0x27e24: 0x6c2af420, 0x27e26: 0x6c68a220, 0x27e27: 0x6caeec20,\n\t0x27e29: 0x6c49fa20, 0x27e2a: 0x6c377420, 0x27e2b: 0x6c670620,\n\t0x27e2c: 0x6c69d220, 0x27e2d: 0x6caaca20, 0x27e2e: 0x6d2a6220,\n\t0x27e33: 0x6caef620,\n\t0x27e34: 0x6c292020, 0x27e36: 0x6cc1f620, 0x27e37: 0x6c889620,\n\t0x27e38: 0x6ca2be20, 0x27e39: 0x6c805220,\n\t0x27e3e: 0x6c3baa20,\n\t// Block 0x9f9, offset 0x27e40\n\t0x27e42: 0x6c5d0e20,\n\t0x27e46: 0x6c7bb420,\n\t0x27e48: 0x6d1b2a20, 0x27e49: 0x6cd69c20, 0x27e4a: 0x6c671e20,\n\t0x27e52: 0x6c964420,\n\t0x27e54: 0x6c933c20,\n\t0x27e5a: 0x6c446a20, 0x27e5b: 0x6cc51220,\n\t0x27e5e: 0x6cb22e20,\n\t0x27e60: 0x6c900a20,\n\t0x27e64: 0x6d320c20, 0x27e65: 0x6cfd4c20,\n\t0x27e68: 0x6c8c8e20, 0x27e69: 0x6c88aa20, 0x27e6a: 0x6ccd2420, 0x27e6b: 0x6c0fd420,\n\t0x27e6c: 0x6c87a820,\n\t0x27e73: 0x6d013a20,\n\t0x27e74: 0x6c446e20, 0x27e75: 0x6c9fe020, 0x27e76: 0x6c88ae20,\n\t0x27e79: 0x6c753c20, 0x27e7a: 0x6d38c820,\n\t0x27e7f: 0x6c784820,\n\t// Block 0x9fa, offset 0x27e80\n\t0x27e81: 0x6c2f2a20, 0x27e83: 0x6d30ce20,\n\t0x27e85: 0x6cd4ac20, 0x27e86: 0x6c5e9020, 0x27e87: 0x6c8f7c20,\n\t0x27e88: 0x6c49ea20, 0x27e89: 0x6d2a5620, 0x27e8a: 0x6cfd4420, 0x27e8b: 0x6cb8ae20,\n\t0x27e8d: 0x6ccfd820,\n\t0x27e90: 0x6d1ae020, 0x27e91: 0x6c6be420,\n\t0x27e94: 0x6ccffe20, 0x27e95: 0x6cd00020, 0x27e96: 0x6cc95220,\n\t0x27e9b: 0x6cf8c020,\n\t0x27ea1: 0x6c7aac20, 0x27ea3: 0x6cc1c620,\n\t0x27ea5: 0x6c443e20, 0x27ea6: 0x6c050820,\n\t0x27ea8: 0x6c0a7c20, 0x27ea9: 0x6cb92e20,\n\t0x27eb0: 0x6c0d6420, 0x27eb1: 0x6c050a20, 0x27eb3: 0x6d42ae20,\n\t0x27eb4: 0x6cb0d020, 0x27eb6: 0x6c5e3620,\n\t0x27ebe: 0x6c051020,\n\t// Block 0x9fb, offset 0x27ec0\n\t0x27eca: 0x6ca9d820,\n\t0x27ecc: 0x6c18fc20, 0x27ece: 0x6cae4e20,\n\t0x27ed1: 0x6c3f2e20, 0x27ed2: 0x6ce88220,\n\t0x27edc: 0x6cb04e20, 0x27edd: 0x6cb36420,\n\t0x27ee0: 0x6c1b7420, 0x27ee3: 0x6d093e20,\n\t0x27ee4: 0x6cb74020, 0x27ee5: 0x6cf4b220,\n\t0x27ee8: 0x6d357e20, 0x27ee9: 0x6c2c1c20, 0x27eea: 0x6c22fe20, 0x27eeb: 0x6d1ef420,\n\t0x27ef9: 0x6c230020,\n\t0x27efc: 0x6c2c1e20, 0x27efd: 0x6d3d2620, 0x27eff: 0x6d408020,\n\t// Block 0x9fc, offset 0x27f00\n\t0x27f00: 0x6c238c20, 0x27f03: 0x6caca820,\n\t0x27f04: 0x6d0d4c20, 0x27f05: 0x6cb74e20, 0x27f06: 0x6cc6fa20, 0x27f07: 0x6c63a420,\n\t0x27f09: 0x6d359220, 0x27f0a: 0x6cc00e20, 0x27f0b: 0x6d268a20,\n\t0x27f0d: 0x6cd32420,\n\t0x27f11: 0x6c4fc020,\n\t0x27f19: 0x6ceab220,\n\t0x27f1c: 0x6c0cde20, 0x27f1e: 0x6c770020,\n\t0x27f22: 0x6c21aa20,\n\t0x27f24: 0x6c229020, 0x27f26: 0x6d1ad020, 0x27f27: 0x6cd34c20,\n\t0x27f28: 0x6ca3b820, 0x27f29: 0x6cc85820, 0x27f2b: 0x6d0f9e20,\n\t0x27f2c: 0x6c1a9820, 0x27f2e: 0x6c21f820,\n\t0x27f31: 0x6c457620, 0x27f32: 0x6c9c4220,\n\t0x27f34: 0x6c612e20,\n\t0x27f3c: 0x6c44b220, 0x27f3d: 0x6d2a6c20,\n\t// Block 0x9fd, offset 0x27f40\n\t0x27f41: 0x6c081420,\n\t0x27f47: 0x6d030c20,\n\t0x27f48: 0x6c7df020, 0x27f4a: 0x6c2e8e20,\n\t0x27f4d: 0x6ce66a20,\n\t0x27f5a: 0x6cd71c20,\n\t0x27f5e: 0x6c275620,\n\t0x27f66: 0x6c851020,\n\t0x27f68: 0x6d1e2820, 0x27f69: 0x6c684220,\n\t0x27f6c: 0x6cde0420, 0x27f6d: 0x6cc24620, 0x27f6e: 0x6d1a6020, 0x27f6f: 0x6d24e820,\n\t0x27f70: 0x6c6abc20, 0x27f72: 0x6cb8da20, 0x27f73: 0x6d10a020,\n\t0x27f74: 0x6d0ba620, 0x27f77: 0x6cbe4a20,\n\t0x27f7f: 0x6cadd420,\n\t// Block 0x9fe, offset 0x27f80\n\t0x27f97: 0x6c635820,\n\t0x27f99: 0x6ce82c20, 0x27f9b: 0x6ce2ec20,\n\t0x27fa1: 0x6c33f620, 0x27fa2: 0x6c15ba20, 0x27fa3: 0x6c636820,\n\t0x27fa4: 0x6c1c2820, 0x27fa5: 0x6c64aa20, 0x27fa6: 0x6cd5e020,\n\t0x27faf: 0x6cde5a20,\n\t// Block 0x9ff, offset 0x27fc0\n\t0x27fd5: 0x6d33ea20, 0x27fd7: 0x6d256e20,\n\t0x27fda: 0x6c54d420,\n\t0x27fdc: 0x6c8b1220,\n\t0x27fe0: 0x6d2ad420, 0x27fe2: 0x6c1f5e20,\n\t0x27fe6: 0x6cc0ba20, 0x27fe7: 0x6c07fa20,\n\t0x27ff9: 0x6c588620, 0x27ffa: 0x6c7aca20, 0x27ffb: 0x6cd10c20,\n\t0x27ffd: 0x6c6afe20, 0x27fff: 0x6cee2c20,\n\t// Block 0xa00, offset 0x28000\n\t0x28003: 0x6c54de20,\n\t0x2800a: 0x6d2ae620, 0x2800b: 0x6d297020,\n\t0x2800c: 0x6d106420, 0x2800e: 0x6c1bba20, 0x2800f: 0x6c701220,\n\t0x2801a: 0x6c89fe20, 0x2801b: 0x6d209620,\n\t0x28020: 0x6c0b4a20, 0x28022: 0x6c7bc820,\n\t0x2802c: 0x6c1e4a20, 0x2802d: 0x6d0b3620, 0x2802e: 0x6d3d8620,\n\t0x28030: 0x6cbcda20, 0x28031: 0x6cfcf020, 0x28033: 0x6d250620,\n\t0x28034: 0x6cf46e20, 0x28035: 0x6c693620, 0x28036: 0x6cfe5020, 0x28037: 0x6ccc7420,\n\t0x28039: 0x6d36cc20,\n\t0x2803c: 0x6c1d5a20, 0x2803e: 0x6c0b0620, 0x2803f: 0x6ceeb820,\n\t// Block 0xa01, offset 0x28040\n\t0x28053: 0x6c2a3220,\n\t0x2805d: 0x6d23d820, 0x2805e: 0x6ce9b820,\n\t0x28061: 0x6c17c220,\n\t0x28065: 0x6c5c4420, 0x28066: 0x6cba2620,\n\t0x28068: 0x6cf01a20,\n\t0x28070: 0x6d1f7420,\n\t0x2807c: 0x6c2ca020, 0x2807e: 0x6c26f620,\n\t// Block 0xa02, offset 0x28080\n\t0x28081: 0x6d1f7620, 0x28082: 0x6c702620, 0x28083: 0x6ce9bc20,\n\t0x28084: 0x6d297620, 0x28087: 0x6c5c6020,\n\t0x28089: 0x6ccc8220,\n\t0x2808c: 0x6c5e1020,\n\t0x28094: 0x6d115a20,\n\t0x28099: 0x6cfd1e20,\n\t0x2809e: 0x6cfd2020,\n\t0x280ac: 0x6c2caa20, 0x280ae: 0x6c703220,\n\t0x280b2: 0x6c5c7420,\n\t0x280b4: 0x6c77cc20, 0x280b5: 0x6d1f8420,\n\t0x280b8: 0x6c870e20,\n\t0x280bc: 0x6c201420, 0x280be: 0x6c1b6820,\n\t// Block 0xa03, offset 0x280c0\n\t0x280c0: 0x6c5e3820, 0x280c2: 0x6d1f9020,\n\t0x280c4: 0x6d270e20,\n\t0x280ce: 0x6cded820, 0x280cf: 0x6d29b420,\n\t0x280d3: 0x6ca8ac20,\n\t0x280d4: 0x6d3b4a20,\n\t0x280e1: 0x6cfc6220,\n\t0x280e9: 0x6cd22a20, 0x280eb: 0x6c79ca20,\n\t0x280ec: 0x6cb6c620, 0x280ed: 0x6ce91420, 0x280ee: 0x6c387e20, 0x280ef: 0x6c258e20,\n\t0x280f2: 0x6cea3820, 0x280f3: 0x6c137420,\n\t0x280f4: 0x6c110020, 0x280f5: 0x6cfe1420, 0x280f6: 0x6cadfc20, 0x280f7: 0x6c6e0220,\n\t0x280f8: 0x6cb56a20, 0x280f9: 0x6cceae20, 0x280fa: 0x6ca97420, 0x280fb: 0x6ca30420,\n\t0x280fd: 0x6cbd5020,\n\t// Block 0xa04, offset 0x28100\n\t0x2810d: 0x6c090c20,\n\t0x28113: 0x6c092420,\n\t0x28114: 0x6c05a220, 0x28115: 0x6c0b7620, 0x28116: 0x6d3e0220, 0x28117: 0x6ca30a20,\n\t0x28118: 0x6cf07020, 0x28119: 0x6c4fbe20,\n\t0x28121: 0x6c6c8220, 0x28123: 0x6d333c20,\n\t0x28127: 0x6cbc8220,\n\t0x2812e: 0x6c501620, 0x2812f: 0x6ce71e20,\n\t0x28130: 0x6d2a4020, 0x28131: 0x6cd15420, 0x28132: 0x6c25a420, 0x28133: 0x6c597e20,\n\t0x28134: 0x6cc78e20, 0x28135: 0x6d292e20, 0x28136: 0x6ca6f820,\n\t0x2813e: 0x6cfa8620,\n\t// Block 0xa05, offset 0x28140\n\t0x28148: 0x6cc2bc20, 0x28149: 0x6c619a20, 0x2814a: 0x6d1a3620, 0x2814b: 0x6c850620,\n\t0x2814c: 0x6c984620, 0x2814d: 0x6cceca20, 0x2814e: 0x6c4e8e20, 0x2814f: 0x6c260e20,\n\t0x28150: 0x6c759c20, 0x28151: 0x6c61bc20, 0x28152: 0x6c107820, 0x28153: 0x6c905420,\n\t0x28154: 0x6c3d2220, 0x28155: 0x6d1f0e20, 0x28156: 0x6c7b1c20,\n\t0x2815c: 0x6cfe2220,\n\t0x28161: 0x6d279420, 0x28163: 0x6cbd5e20,\n\t0x28164: 0x6c5b2c20, 0x28165: 0x6cb42e20,\n\t0x2816b: 0x6c83b220,\n\t0x2816c: 0x6cadcc20, 0x2816d: 0x6cd4c620, 0x2816e: 0x6c707620, 0x2816f: 0x6d14e020,\n\t0x28170: 0x6d32a820, 0x28171: 0x6c1d0e20, 0x28173: 0x6cf77620,\n\t0x28175: 0x6c561a20, 0x28176: 0x6cc74420,\n\t// Block 0xa06, offset 0x28180\n\t0x2818c: 0x6c590c20, 0x2818d: 0x6cbc3c20, 0x2818e: 0x6d33d020, 0x2818f: 0x6d1c6c20,\n\t0x28190: 0x6cf7e220, 0x28191: 0x6cbb7620, 0x28192: 0x6c61fa20, 0x28193: 0x6d32bc20,\n\t0x28194: 0x6c59b420, 0x28196: 0x6d210a20, 0x28197: 0x6d405a20,\n\t0x28198: 0x6c99f420,\n\t0x2819c: 0x6cd13220,\n\t0x281a9: 0x6cc2e620,\n\t0x281b0: 0x6c676020, 0x281b1: 0x6c512020, 0x281b3: 0x6ce75220,\n\t0x281b4: 0x6c513020, 0x281b5: 0x6cf15220, 0x281b6: 0x6d17cc20, 0x281b7: 0x6cacfe20,\n\t0x281ba: 0x6cf22620, 0x281bb: 0x6cb99820,\n\t0x281bc: 0x6c862020, 0x281bd: 0x6d150a20, 0x281be: 0x6c20ac20, 0x281bf: 0x6d06e820,\n\t// Block 0xa07, offset 0x281c0\n\t0x281c0: 0x6cefd020,\n\t0x281c6: 0x6c439420,\n\t0x281c8: 0x6d226220, 0x281cb: 0x6d2d4420,\n\t0x281cc: 0x6c41a220, 0x281cd: 0x6cb8f620, 0x281ce: 0x6c773220, 0x281cf: 0x6c840220,\n\t0x281d0: 0x6cd00220, 0x281d1: 0x6c499220, 0x281d3: 0x6cb17c20,\n\t0x281d6: 0x6c840420,\n\t0x281d8: 0x6c562620, 0x281db: 0x6ce8ce20,\n\t0x281dc: 0x6cd75620, 0x281de: 0x6c56aa20, 0x281df: 0x6c840620,\n\t0x281e2: 0x6c910a20,\n\t0x281e6: 0x6c297020,\n\t0x281e8: 0x6d42a420, 0x281e9: 0x6cccf620, 0x281eb: 0x6ccf6e20,\n\t0x281ed: 0x6c3cb620, 0x281ee: 0x6c726e20, 0x281ef: 0x6ce76e20,\n\t0x281f0: 0x6c691a20, 0x281f1: 0x6cbbe620, 0x281f2: 0x6c42d420, 0x281f3: 0x6d3e7020,\n\t0x281f4: 0x6c59e620, 0x281f5: 0x6ccd0620,\n\t0x281f8: 0x6cdff620,\n\t// Block 0xa08, offset 0x28200\n\t0x2820c: 0x6ceaca20, 0x2820e: 0x6c8e2220,\n\t0x28210: 0x6c1a2e20, 0x28211: 0x6cf27020, 0x28212: 0x6d425020, 0x28213: 0x6d23da20,\n\t0x28215: 0x6d3a2220, 0x28217: 0x6cc45420,\n\t0x28218: 0x6cf80a20, 0x28219: 0x6cc1b620, 0x2821b: 0x6c442820,\n\t0x28222: 0x6cb52a20, 0x28223: 0x6d05e020,\n\t0x28228: 0x6c415220, 0x28229: 0x6cc3f820, 0x2822a: 0x6c1ddc20, 0x2822b: 0x6c9b4e20,\n\t0x28232: 0x6cd02020, 0x28233: 0x6cc1c820,\n\t0x28236: 0x6cbbb420, 0x28237: 0x6c11b420,\n\t0x2823a: 0x6c86b020,\n\t0x2823c: 0x6ceda220, 0x2823d: 0x6c826620, 0x2823e: 0x6d03a820, 0x2823f: 0x6c80ea20,\n\t// Block 0xa09, offset 0x28240\n\t0x28242: 0x6cd3ec20, 0x28243: 0x6d330020,\n\t0x28244: 0x6c38ce20,\n\t0x2824a: 0x6d371c20,\n\t0x2824f: 0x6d1aa420,\n\t0x28251: 0x6c86de20,\n\t0x28256: 0x6ca08820, 0x28257: 0x6cf04020,\n\t0x28259: 0x6d1c1020, 0x2825a: 0x6cc4e420,\n\t0x28260: 0x6cc2a820,\n\t0x28265: 0x6c95ce20,\n\t0x28272: 0x6c275820,\n\t0x28274: 0x6d1b4e20, 0x28275: 0x6c08da20, 0x28276: 0x6c438820,\n\t0x28278: 0x6cf20a20, 0x28279: 0x6d0d7620, 0x2827a: 0x6c9e1e20,\n\t0x2827c: 0x6c42a020, 0x2827d: 0x6cc05620, 0x2827e: 0x6d33da20,\n\t// Block 0xa0a, offset 0x28280\n\t0x2828b: 0x6c471c20,\n\t0x2828c: 0x6ce75420, 0x2828e: 0x6c8d1420, 0x2828f: 0x6ce33620,\n\t0x28290: 0x6c224c20, 0x28291: 0x6d150c20, 0x28292: 0x6c395a20, 0x28293: 0x6cb31220,\n\t0x28294: 0x6c09b820, 0x28296: 0x6c064e20,\n\t0x2829f: 0x6cae7620,\n\t0x282a1: 0x6cdb8420,\n\t0x282a4: 0x6cd92820, 0x282a5: 0x6cef1a20, 0x282a6: 0x6cff9220,\n\t0x282ac: 0x6c504c20, 0x282ad: 0x6d0dac20,\n\t0x282b6: 0x6d152620, 0x282b7: 0x6d2a1e20,\n\t0x282b8: 0x6d1d0020, 0x282b9: 0x6ca43220,\n\t0x282bf: 0x6d289620,\n\t// Block 0xa0b, offset 0x282c0\n\t0x282c1: 0x6ce50c20, 0x282c2: 0x6cf68a20, 0x282c3: 0x6c69b420,\n\t0x282c4: 0x6d0cbc20,\n\t0x282cc: 0x6ca55e20, 0x282cd: 0x6ce07020, 0x282ce: 0x6d0eaa20, 0x282cf: 0x6ce51a20,\n\t0x282d0: 0x6d36ce20, 0x282d1: 0x6c1d7a20, 0x282d2: 0x6ce23a20,\n\t0x282d7: 0x6d2cdc20,\n\t0x282de: 0x6c9e3a20,\n\t0x282e1: 0x6cf47020, 0x282e2: 0x6d1b0220, 0x282e3: 0x6d0eac20,\n\t0x282e4: 0x6c81ba20,\n\t0x282e9: 0x6cb31e20, 0x282eb: 0x6c5d4620,\n\t0x282ec: 0x6c4d4620, 0x282ed: 0x6ca21a20, 0x282ee: 0x6c236020,\n\t0x282f1: 0x6c7aae20, 0x282f2: 0x6c1d8420,\n\t0x282f4: 0x6d1ff020,\n\t0x282f8: 0x6d3da020, 0x282fb: 0x6cd9e420,\n\t// Block 0xa0c, offset 0x28300\n\t0x28302: 0x6d1b7e20,\n\t0x28305: 0x6d41da20, 0x28306: 0x6cca7420, 0x28307: 0x6c8f4a20,\n\t0x28308: 0x6c4f2020, 0x28309: 0x6cf0ec20, 0x2830a: 0x6c9b6020, 0x2830b: 0x6c55d020,\n\t0x2830c: 0x6c86b220, 0x2830e: 0x6c9d9c20,\n\t0x28310: 0x6c054020, 0x28311: 0x6c65f020,\n\t0x2831c: 0x6cc40620,\n\t0x28320: 0x6c9b6220, 0x28322: 0x6ca21c20, 0x28323: 0x6c53ac20,\n\t0x28324: 0x6c56d820, 0x28325: 0x6c9c8e20, 0x28326: 0x6ccca820,\n\t0x28329: 0x6cce2620, 0x2832a: 0x6c17c620,\n\t0x2832c: 0x6d3dc220, 0x2832e: 0x6d342220, 0x2832f: 0x6ca77020,\n\t0x28335: 0x6c62b220,\n\t0x28338: 0x6c784020, 0x28339: 0x6d330620,\n\t0x2833f: 0x6c281420,\n\t// Block 0xa0d, offset 0x28340\n\t0x28340: 0x6c8a8220, 0x28341: 0x6d2e3020, 0x28342: 0x6c460620, 0x28343: 0x6c818c20,\n\t0x28344: 0x6c571e20, 0x28345: 0x6c1fd220, 0x28347: 0x6c660c20,\n\t0x28348: 0x6c7d3220,\n\t0x2834d: 0x6ccf0220,\n\t0x28354: 0x6c191c20, 0x28355: 0x6ce08820, 0x28357: 0x6c55f820,\n\t0x28358: 0x6c9b9e20, 0x28359: 0x6cada420, 0x2835a: 0x6d2e3820, 0x2835b: 0x6c16d620,\n\t0x2835d: 0x6c41f820,\n\t0x28360: 0x6d193a20, 0x28362: 0x6cdcb620,\n\t0x28366: 0x6d076420, 0x28367: 0x6c62de20,\n\t0x28368: 0x6c808e20,\n\t0x2836c: 0x6d159620, 0x2836f: 0x6c9dae20,\n\t0x28371: 0x6c9f1420,\n\t0x28375: 0x6c24a620,\n\t0x28378: 0x6c805a20, 0x2837b: 0x6d0c4e20,\n\t0x2837e: 0x6c9ccc20,\n\t// Block 0xa0e, offset 0x28380\n\t0x28382: 0x6d1e6820, 0x28383: 0x6c125420,\n\t0x28384: 0x6c664420, 0x28387: 0x6cda0a20,\n\t0x2838e: 0x6d0d2a20,\n\t0x28391: 0x6c736020,\n\t0x28395: 0x6c369c20,\n\t0x28398: 0x6c3bf220, 0x2839a: 0x6c3bf620,\n\t0x283a1: 0x6c4a2a20, 0x283a2: 0x6c96fc20,\n\t0x283a4: 0x6c8ab820,\n\t0x283a9: 0x6c1cca20, 0x283ab: 0x6c840820,\n\t0x283b1: 0x6d349c20,\n\t0x283b4: 0x6d024820, 0x283b7: 0x6c1dfc20,\n\t0x283b9: 0x6c60fc20,\n\t0x283bd: 0x6caf5c20,\n\t// Block 0xa0f, offset 0x283c0\n\t0x283c2: 0x6c6abe20,\n\t0x283c7: 0x6d38e420,\n\t0x283cd: 0x6d046c20,\n\t0x283d1: 0x6c7bfc20,\n\t0x283d9: 0x6c6e2220, 0x283db: 0x6c56a020,\n\t0x283de: 0x6cb99c20,\n\t0x283e3: 0x6c133220,\n\t0x283e6: 0x6cb60420, 0x283e7: 0x6ced3220,\n\t0x283e8: 0x6c98ec20, 0x283ea: 0x6c30f020,\n\t0x283f4: 0x6c79d220, 0x283f6: 0x6c277c20,\n\t0x283f8: 0x6ca4b420, 0x283fa: 0x6c536a20,\n\t// Block 0xa10, offset 0x28400\n\t0x28402: 0x6c7f4020, 0x28403: 0x6c34aa20,\n\t0x28404: 0x6cb91020, 0x28406: 0x6d1a8820,\n\t0x28416: 0x6c911220, 0x28417: 0x6c5ae020,\n\t0x2841b: 0x6c402e20,\n\t0x2841c: 0x6c98f420, 0x2841e: 0x6d389a20,\n\t0x28421: 0x6d1dfa20,\n\t0x2842d: 0x6c817020, 0x2842e: 0x6c609c20, 0x2842f: 0x6d186a20,\n\t0x28430: 0x6c8e8c20, 0x28431: 0x6c235220, 0x28433: 0x6ca43c20,\n\t// Block 0xa11, offset 0x28440\n\t0x28450: 0x6cea2620, 0x28451: 0x6cfe5220,\n\t0x28455: 0x6c0bba20, 0x28456: 0x6c207820, 0x28457: 0x6cf52020,\n\t0x28459: 0x6c70c620,\n\t0x28465: 0x6d005220, 0x28466: 0x6caf9220, 0x28467: 0x6d3da220,\n\t0x28468: 0x6cc8e420, 0x2846a: 0x6ccafa20, 0x2846b: 0x6d3f6220,\n\t0x2846d: 0x6d336220,\n\t0x28470: 0x6d40da20, 0x28471: 0x6cc14220, 0x28473: 0x6c1c7a20,\n\t0x28475: 0x6d36f020,\n\t// Block 0xa12, offset 0x28480\n\t0x28497: 0x6cc37a20,\n\t0x28498: 0x6cb92020, 0x28499: 0x6d0afc20, 0x2849a: 0x6c17c420, 0x2849b: 0x6c517c20,\n\t0x2849c: 0x6cc80420,\n\t0x284a0: 0x6c70cc20, 0x284a1: 0x6cf52820,\n\t0x284ac: 0x6c1c7c20, 0x284ad: 0x6c7c0420, 0x284af: 0x6c240020,\n\t0x284b0: 0x6cc89220, 0x284b1: 0x6c7e1e20, 0x284b2: 0x6c1b5e20, 0x284b3: 0x6d40e420,\n\t0x284b4: 0x6c688620, 0x284b6: 0x6d21c420, 0x284b7: 0x6ce8fe20,\n\t0x284b8: 0x6c9b6420, 0x284b9: 0x6c266c20, 0x284ba: 0x6cd7a020,\n\t// Block 0xa13, offset 0x284c0\n\t0x284e5: 0x6c3c6c20, 0x284e6: 0x6c469020, 0x284e7: 0x6c301c20,\n\t0x284e8: 0x6c142220, 0x284e9: 0x6c99be20, 0x284ea: 0x6c15e820, 0x284eb: 0x6c0b1020,\n\t0x284ec: 0x6d241e20, 0x284ef: 0x6cecea20,\n\t0x284f0: 0x6d40e620, 0x284f2: 0x6d3ea420,\n\t0x284f4: 0x6c1fec20, 0x284f5: 0x6ced5620, 0x284f6: 0x6cebf420,\n\t0x284f8: 0x6cc2a620, 0x284fb: 0x6ced5820,\n\t0x284fd: 0x6cfa5020,\n\t// Block 0xa14, offset 0x28500\n\t0x28504: 0x6d1d5620, 0x28505: 0x6c66e820,\n\t0x28508: 0x6cf04220, 0x28509: 0x6ce39a20, 0x2850a: 0x6ccaca20,\n\t0x2850c: 0x6cb67a20, 0x2850d: 0x6ccc2020, 0x2850e: 0x6d244220, 0x2850f: 0x6c60e220,\n\t0x28510: 0x6c314420, 0x28511: 0x6c15f620, 0x28512: 0x6ce96c20,\n\t0x28515: 0x6c8ec420, 0x28517: 0x6d3cba20,\n\t0x28533: 0x6cc89420,\n\t0x28536: 0x6d0eda20, 0x28537: 0x6c47ea20,\n\t0x28539: 0x6c86e220, 0x2853a: 0x6c13ba20,\n\t0x2853e: 0x6c2cac20,\n\t// Block 0xa15, offset 0x28540\n\t0x28540: 0x6d2e2a20, 0x28541: 0x6cb32220,\n\t0x28552: 0x6c912620,\n\t0x28554: 0x6d374c20,\n\t// Block 0xa16, offset 0x28580\n\t0x28581: 0x6c888a20,\n\t0x28585: 0x6c95ca20,\n\t0x2858d: 0x6c352420,\n\t0x28590: 0x6c750820, 0x28591: 0x6c873420, 0x28592: 0x6c7ff220,\n\t0x28594: 0x6cc89620, 0x28595: 0x6c474220, 0x28596: 0x6c155c20, 0x28597: 0x6d060620,\n\t0x2859a: 0x6d356420,\n\t// Block 0xa17, offset 0x285c0\n\t0x285c1: 0x6d097c20, 0x285c2: 0x6c0e9c20, 0x285c3: 0x6c19aa20,\n\t0x285c5: 0x6d3b4220, 0x285c6: 0x6c522a20,\n\t0x285c9: 0x6c04ac20,\n\t0x285d3: 0x6c2f0820,\n\t0x285d6: 0x6d2e3a20, 0x285d7: 0x6c4ca620,\n\t0x285da: 0x6c0c5420, 0x285db: 0x6c7ec620,\n\t0x285fa: 0x6c6c7620,\n\t// Block 0xa18, offset 0x28600\n\t0x28602: 0x6c411c20,\n\t0x28612: 0x6c9c1e20,\n\t0x28614: 0x6d247e20,\n\t0x2862a: 0x6cf82a20,\n\t0x2862c: 0x6cb17820, 0x2862d: 0x6cd85020,\n\t0x28634: 0x6c2b0020,\n\t0x28638: 0x6c219e20, 0x28639: 0x6c2bbe20, 0x2863a: 0x6c5fa820, 0x2863b: 0x6c157620,\n\t0x2863f: 0x6d3dea20,\n\t// Block 0xa19, offset 0x28640\n\t0x28653: 0x6c115220,\n\t0x2865e: 0x6c681620,\n\t0x28672: 0x6ce80220,\n\t0x2867d: 0x6c84e820,\n\t// Block 0xa1a, offset 0x28680\n\t0x28682: 0x6cba9020,\n\t0x28686: 0x6c21a020,\n\t0x2868f: 0x6cdef820,\n\t0x28691: 0x6c2e5220, 0x28693: 0x6c664820,\n\t0x2869b: 0x6d356820,\n\t0x2869c: 0x6c753220, 0x2869e: 0x6ca0a420,\n\t0x286a0: 0x6c959620,\n\t0x286a6: 0x6c062420,\n\t0x286ad: 0x6d415e20,\n\t0x286b5: 0x6d300820,\n\t0x286b8: 0x6d220c20, 0x286bb: 0x6c062a20,\n\t0x286be: 0x6c969420, 0x286bf: 0x6cf85020,\n\t// Block 0xa1b, offset 0x286c0\n\t0x286c0: 0x6c567c20, 0x286c1: 0x6d171220, 0x286c2: 0x6c355020, 0x286c3: 0x6c470220,\n\t0x286c4: 0x6ce89e20, 0x286c5: 0x6d314a20, 0x286c7: 0x6cc07220,\n\t0x286c8: 0x6cdaba20, 0x286c9: 0x6c89c620, 0x286ca: 0x6cc11a20, 0x286cb: 0x6c8d2620,\n\t0x286cc: 0x6c499420, 0x286cd: 0x6c80e420, 0x286ce: 0x6ce7dc20, 0x286cf: 0x6c266620,\n\t0x286d0: 0x6c911e20, 0x286d1: 0x6c5a1220, 0x286d2: 0x6cd47e20, 0x286d3: 0x6c688820,\n\t0x286d4: 0x6d41f620, 0x286d5: 0x6c411a20, 0x286d6: 0x6cef5220,\n\t0x286d9: 0x6c7d4e20, 0x286da: 0x6c32bc20, 0x286db: 0x6cd92020,\n\t0x286dc: 0x6cb5e020, 0x286dd: 0x6d101a20,\n\t0x286e1: 0x6cd37820, 0x286e3: 0x6c411420,\n\t0x286e6: 0x6c2a1a20, 0x286e7: 0x6d11b220,\n\t0x286eb: 0x6cb99e20,\n\t0x286ed: 0x6cce7220, 0x286ee: 0x6c16ae20, 0x286ef: 0x6ca05020,\n\t0x286f1: 0x6ca05a20,\n\t0x286f5: 0x6ca50620,\n\t0x286f8: 0x6c232220, 0x286fa: 0x6ca84e20, 0x286fb: 0x6d2f6a20,\n\t0x286fc: 0x6c133420, 0x286ff: 0x6cd92a20,\n\t// Block 0xa1c, offset 0x28700\n\t0x28700: 0x6ca85820, 0x28701: 0x6c22dc20,\n\t0x28704: 0x6c75de20, 0x28706: 0x6cce7e20,\n\t0x28708: 0x6d3a2420, 0x28709: 0x6c34b020, 0x2870a: 0x6c01ce20, 0x2870b: 0x6c088c20,\n\t0x2870e: 0x6ce41820,\n\t0x28710: 0x6cb06a20, 0x28711: 0x6cf9ee20, 0x28712: 0x6cc09420, 0x28713: 0x6cd14e20,\n\t0x28717: 0x6ce0d820,\n\t0x2871b: 0x6c978420,\n\t0x2871c: 0x6cb10420, 0x2871e: 0x6ce43420, 0x2871f: 0x6cc6cc20,\n\t0x28727: 0x6c237220,\n\t0x2872a: 0x6c5f7a20, 0x2872b: 0x6c3cc020,\n\t0x2872c: 0x6cf53c20, 0x2872d: 0x6c69d620, 0x2872e: 0x6c818e20, 0x2872f: 0x6d2ba620,\n\t0x28730: 0x6caeee20, 0x28731: 0x6c11e420, 0x28733: 0x6ca9de20,\n\t0x28735: 0x6c160c20,\n\t0x2873e: 0x6c97a420, 0x2873f: 0x6c4ba820,\n\t// Block 0xa1d, offset 0x28740\n\t0x28740: 0x6ca7d820, 0x28741: 0x6c1d0220, 0x28742: 0x6c165820,\n\t0x28746: 0x6ca48a20,\n\t0x28749: 0x6cf95c20, 0x2874a: 0x6c6f6620, 0x2874b: 0x6c613020,\n\t0x2874c: 0x6d323420,\n\t0x28751: 0x6ce6ca20,\n\t0x28754: 0x6c9ace20, 0x28755: 0x6d26b220, 0x28757: 0x6d37bc20,\n\t0x28758: 0x6cea5620, 0x28759: 0x6cc8d220, 0x2875a: 0x6d01ba20, 0x2875b: 0x6cf63420,\n\t0x2875d: 0x6ce6d220, 0x2875e: 0x6ca99820,\n\t0x28760: 0x6cee2820, 0x28761: 0x6c64ae20, 0x28763: 0x6c3b3420,\n\t0x28772: 0x6c0ba620,\n\t0x28777: 0x6d152820,\n\t0x2877a: 0x6c2ec420, 0x2877b: 0x6c5ef820,\n\t0x2877c: 0x6c41de20, 0x2877f: 0x6c64c420,\n\t// Block 0xa1e, offset 0x28780\n\t0x28780: 0x6c6ee220,\n\t0x28786: 0x6c763820,\n\t0x2878a: 0x6cc3d620,\n\t0x2878c: 0x6ca40420, 0x2878d: 0x6ca1de20, 0x2878e: 0x6d072220, 0x2878f: 0x6cd96a20,\n\t0x28790: 0x6cd0c020, 0x28791: 0x6c7bac20, 0x28792: 0x6cc3e620, 0x28793: 0x6cef2820,\n\t0x28797: 0x6c2eda20,\n\t0x28798: 0x6ca40a20, 0x2879a: 0x6cc92a20, 0x2879b: 0x6c45a220,\n\t0x2879c: 0x6c313220, 0x2879e: 0x6ca73020,\n\t0x287a1: 0x6c175020, 0x287a2: 0x6c515e20, 0x287a3: 0x6d0e9e20,\n\t0x287a9: 0x6ce8f020, 0x287aa: 0x6c104420,\n\t0x287ac: 0x6c559e20, 0x287ad: 0x6d1e5820, 0x287af: 0x6cd2d620,\n\t0x287b0: 0x6c1f7220,\n\t0x287b9: 0x6cff0e20, 0x287ba: 0x6c9ad620, 0x287bb: 0x6c852a20,\n\t0x287bc: 0x6ce37220, 0x287be: 0x6c64e620,\n\t// Block 0xa1f, offset 0x287c0\n\t0x287c2: 0x6d354e20, 0x287c3: 0x6c487220,\n\t0x287c4: 0x6c496220, 0x287c6: 0x6cb7cc20,\n\t0x287c8: 0x6c3a1820, 0x287c9: 0x6d229820, 0x287ca: 0x6d309620, 0x287cb: 0x6cf01c20,\n\t0x287cc: 0x6c35ba20, 0x287cd: 0x6c14da20, 0x287ce: 0x6cf6e020,\n\t0x287d0: 0x6c47d420,\n\t0x287d7: 0x6cc3fa20,\n\t0x287d8: 0x6c5c4620, 0x287da: 0x6d00f620, 0x287db: 0x6d1bf420,\n\t0x287dd: 0x6cdeaa20, 0x287de: 0x6cec5820, 0x287df: 0x6c3efe20,\n\t0x287e0: 0x6c6c0820, 0x287e1: 0x6cb0bc20,\n\t0x287e5: 0x6cd15020, 0x287e6: 0x6d21c620, 0x287e7: 0x6c7ace20,\n\t0x287e9: 0x6cb0ca20, 0x287ea: 0x6d010620, 0x287eb: 0x6caaac20,\n\t0x287ec: 0x6cfd2420, 0x287ed: 0x6c66ea20, 0x287ee: 0x6d074e20,\n\t0x287f0: 0x6c0a7e20,\n\t0x287f4: 0x6ca41220, 0x287f6: 0x6c897020,\n\t0x287f8: 0x6cb13420,\n\t0x287fc: 0x6c6eb820,\n\t// Block 0xa20, offset 0x28800\n\t0x28800: 0x6cde1c20, 0x28801: 0x6d0edc20, 0x28802: 0x6c00f820,\n\t0x28805: 0x6cff3020, 0x28806: 0x6cbaf420, 0x28807: 0x6cf48620,\n\t0x28808: 0x6ce15620, 0x2880a: 0x6c75f420,\n\t0x28810: 0x6c7e2820,\n\t0x28817: 0x6c813220,\n\t0x28819: 0x6ca5b020,\n\t0x2881c: 0x6c314a20, 0x2881d: 0x6cd54620, 0x2881f: 0x6c696220,\n\t0x28820: 0x6ca89c20, 0x28822: 0x6d21dc20,\n\t0x28828: 0x6c132020, 0x2882a: 0x6c696420,\n\t0x2882c: 0x6c57d620, 0x2882d: 0x6cf1c020, 0x2882e: 0x6d127020, 0x2882f: 0x6c35a020,\n\t0x28830: 0x6c49fe20, 0x28831: 0x6c572020, 0x28832: 0x6c68a620,\n\t0x2883a: 0x6c835820,\n\t0x2883c: 0x6cce2820, 0x2883d: 0x6d1e8020, 0x2883f: 0x6c2ac220,\n\t// Block 0xa21, offset 0x28840\n\t0x28840: 0x6c493820, 0x28841: 0x6ca97220, 0x28843: 0x6cdcc020,\n\t0x28844: 0x6cfe6c20, 0x28846: 0x6cc9b420, 0x28847: 0x6c168c20,\n\t0x2884e: 0x6cc90c20,\n\t0x28850: 0x6d277020, 0x28852: 0x6c3b4c20, 0x28853: 0x6c672420,\n\t0x28854: 0x6d076a20,\n\t0x28858: 0x6cf93020, 0x28859: 0x6cd54a20,\n\t0x28865: 0x6d013220, 0x28866: 0x6c87ac20,\n\t0x28869: 0x6ce80420,\n\t0x2886c: 0x6c9d1020, 0x2886d: 0x6c162020, 0x2886e: 0x6c5d6a20,\n\t0x28871: 0x6d3bb820, 0x28872: 0x6d273420,\n\t0x2887b: 0x6c801a20,\n\t0x2887d: 0x6d0d2c20, 0x2887e: 0x6c29a820, 0x2887f: 0x6cfe1820,\n\t// Block 0xa22, offset 0x28880\n\t0x28880: 0x6d267220, 0x28881: 0x6ce6b020, 0x28882: 0x6c07d220, 0x28883: 0x6cca4620,\n\t0x28884: 0x6cfc9620, 0x28885: 0x6c2e7a20, 0x28886: 0x6cb09c20, 0x28887: 0x6cb11220,\n\t0x28889: 0x6cde0c20, 0x2888b: 0x6c687220,\n\t0x2888c: 0x6d126620, 0x2888e: 0x6d271020,\n\t0x28890: 0x6cc61420, 0x28891: 0x6cbc1820, 0x28892: 0x6cb56220, 0x28893: 0x6c2da620,\n\t0x28894: 0x6cb56420, 0x28897: 0x6c4e7e20,\n\t0x28898: 0x6d253220, 0x28899: 0x6d1ee220, 0x2889a: 0x6c5fd020, 0x2889b: 0x6c412820,\n\t0x2889c: 0x6c4d0620, 0x2889d: 0x6cd30420, 0x2889f: 0x6cc0c820,\n\t0x288a9: 0x6cf1fa20,\n\t0x288ac: 0x6d321620, 0x288ad: 0x6cb2f220, 0x288ae: 0x6d0c5e20, 0x288af: 0x6c46e820,\n\t0x288b0: 0x6c720420, 0x288b1: 0x6ce52e20,\n\t0x288b7: 0x6c35d820,\n\t0x288ba: 0x6d0ace20, 0x288bb: 0x6c8c4620,\n\t0x288bc: 0x6c092620,\n\t// Block 0xa23, offset 0x288c0\n\t0x288c0: 0x6d3eea20, 0x288c1: 0x6c530820, 0x288c3: 0x6c347420,\n\t0x288c5: 0x6c333c20, 0x288c6: 0x6d087220,\n\t0x288c8: 0x6ccd3020, 0x288ca: 0x6ccd3220, 0x288cb: 0x6d10d220,\n\t0x288cc: 0x6cc4b020,\n\t0x288d4: 0x6ceaf820, 0x288d7: 0x6c0dac20,\n\t0x288d8: 0x6d069e20, 0x288d9: 0x6cea1a20, 0x288da: 0x6c19d220,\n\t0x288dc: 0x6c30fe20, 0x288dd: 0x6d171420,\n\t0x288e1: 0x6c180820,\n\t0x288f5: 0x6c731a20, 0x288f6: 0x6c5eae20,\n\t0x288f8: 0x6d2fae20, 0x288f9: 0x6c07de20, 0x288fb: 0x6ce4e220,\n\t// Block 0xa24, offset 0x28900\n\t0x28900: 0x6cae6420,\n\t0x28905: 0x6c3fda20,\n\t0x28916: 0x6ceb7620,\n\t0x28918: 0x6cfb3e20, 0x28919: 0x6ca69420, 0x2891a: 0x6c8f8620,\n\t0x2891d: 0x6d3d4220, 0x2891f: 0x6d32c020,\n\t0x28920: 0x6cd74820, 0x28921: 0x6d3f7c20, 0x28922: 0x6c3c4620, 0x28923: 0x6c32be20,\n\t0x28924: 0x6cb09420, 0x28925: 0x6d0d7820, 0x28926: 0x6cda1620, 0x28927: 0x6cc05820,\n\t0x28928: 0x6c362220, 0x28929: 0x6cb98e20, 0x2892b: 0x6cba0620,\n\t0x2892d: 0x6c10d420, 0x2892e: 0x6d0a8a20,\n\t0x28935: 0x6d3c8220,\n\t0x28938: 0x6c993a20, 0x28939: 0x6c68ee20,\n\t0x2893f: 0x6d2dea20,\n\t// Block 0xa25, offset 0x28940\n\t0x28940: 0x6caffa20, 0x28941: 0x6cf63620, 0x28942: 0x6d0e7c20, 0x28943: 0x6c3ab420,\n\t0x28944: 0x6ca83620, 0x28946: 0x6d364620,\n\t0x28948: 0x6cdd6a20, 0x2894a: 0x6d17d020,\n\t0x2894c: 0x6c82c620, 0x2894d: 0x6d06ea20, 0x2894f: 0x6d17d220,\n\t0x28952: 0x6cee9620,\n\t0x28955: 0x6c5ede20, 0x28956: 0x6c186e20, 0x28957: 0x6c2eba20,\n\t0x28963: 0x6d257020,\n\t0x28965: 0x6cf78020, 0x28967: 0x6c8e6220,\n\t0x28968: 0x6cdd6c20,\n\t0x28971: 0x6c07fc20, 0x28972: 0x6cfa4020, 0x28973: 0x6d0e8c20,\n\t0x28975: 0x6c24d020, 0x28977: 0x6c773420,\n\t0x2897a: 0x6cbe4e20, 0x2897b: 0x6c909a20,\n\t0x2897c: 0x6c087e20,\n\t// Block 0xa26, offset 0x28980\n\t0x28988: 0x6d2e6a20, 0x28989: 0x6c24ae20, 0x2898a: 0x6cf3e220, 0x2898b: 0x6d05c020,\n\t0x2898c: 0x6c187e20, 0x2898d: 0x6c4fd820, 0x2898e: 0x6c748820,\n\t0x28990: 0x6c192e20, 0x28991: 0x6c13fa20, 0x28992: 0x6c15ce20, 0x28993: 0x6d348820,\n\t0x28994: 0x6d0a2a20,\n\t0x289a3: 0x6c441a20,\n\t0x289a4: 0x6c18e220, 0x289a5: 0x6d132020,\n\t0x289aa: 0x6c1ee820, 0x289ab: 0x6cc1b820,\n\t0x289ac: 0x6d020620, 0x289ae: 0x6d2e7c20, 0x289af: 0x6c790820,\n\t0x289b1: 0x6c74ae20,\n\t0x289bd: 0x6cc1ba20, 0x289bf: 0x6c9b5020,\n\t// Block 0xa27, offset 0x289c0\n\t0x289c0: 0x6d134e20, 0x289c1: 0x6d406620, 0x289c2: 0x6cb45620,\n\t0x289c4: 0x6cd3e420,\n\t0x289c9: 0x6cd57220, 0x289ca: 0x6c152a20,\n\t0x289cd: 0x6c31c420, 0x289cf: 0x6c4c4a20,\n\t0x289d0: 0x6c92fe20, 0x289d1: 0x6d0c3820,\n\t0x289d6: 0x6ca7ba20, 0x289d7: 0x6c0d6620,\n\t0x289df: 0x6ce9cc20,\n\t0x289e6: 0x6ca6dc20, 0x289e7: 0x6c584220,\n\t0x289e8: 0x6cb9de20,\n\t0x289ef: 0x6cfa6020,\n\t0x289f2: 0x6c8dc620,\n\t0x289f7: 0x6c882820,\n\t0x289f9: 0x6d186e20, 0x289fb: 0x6c866620,\n\t0x289fc: 0x6cd8f020, 0x289ff: 0x6c279a20,\n\t// Block 0xa28, offset 0x28a00\n\t0x28a02: 0x6cf11620,\n\t0x28a05: 0x6c22c020,\n\t0x28a09: 0x6c6fbe20, 0x28a0a: 0x6c534420,\n\t0x28a0c: 0x6d210e20, 0x28a0e: 0x6c7c6e20,\n\t0x28a12: 0x6c4f8020, 0x28a13: 0x6c439620,\n\t0x28a14: 0x6c39e620, 0x28a17: 0x6c7c8020,\n\t0x28a1a: 0x6c4a6c20, 0x28a1b: 0x6c1bb020,\n\t0x28a1e: 0x6c6fc220,\n\t0x28a21: 0x6cdbce20,\n\t0x28a24: 0x6c2ec620,\n\t0x28a2c: 0x6cdc0c20,\n\t0x28a30: 0x6cbd8620,\n\t0x28a34: 0x6c4a8020,\n\t0x28a3b: 0x6d3c6620,\n\t0x28a3e: 0x6ce5de20,\n\t// Block 0xa29, offset 0x28a40\n\t0x28a41: 0x6d26d820,\n\t0x28a47: 0x6d419220,\n\t0x28a4f: 0x6cf3e820,\n\t0x28a50: 0x6c250820,\n\t0x28a5b: 0x6d36d220,\n\t0x28a60: 0x6cd72e20, 0x28a62: 0x6c301420,\n\t0x28a6d: 0x6cef3c20,\n\t0x28a7f: 0x6c1d4220,\n\t// Block 0xa2a, offset 0x28a80\n\t0x28a8b: 0x6cc8f420,\n\t0x28a96: 0x6c60d420,\n\t0x28a9c: 0x6c2de820, 0x28a9e: 0x6c124020,\n\t0x28aa0: 0x6c7a0c20, 0x28aa3: 0x6cef5420,\n\t0x28aa7: 0x6c11bc20,\n\t0x28aaa: 0x6c968020, 0x28aab: 0x6caba820,\n\t0x28ab2: 0x6cca3820,\n\t0x28ab6: 0x6cef6620,\n\t0x28abc: 0x6cca3e20, 0x28abf: 0x6c6c7020,\n\t// Block 0xa2b, offset 0x28ac0\n\t0x28acc: 0x6cef6e20,\n\t0x28ade: 0x6c115420, 0x28adf: 0x6c84d020,\n\t0x28aef: 0x6d273a20,\n\t0x28af4: 0x6d277220, 0x28af7: 0x6c196420,\n\t0x28afa: 0x6ccce420,\n\t// Block 0xa2c, offset 0x28b00\n\t0x28b02: 0x6c54d620, 0x28b03: 0x6ccc9e20,\n\t0x28b04: 0x6cea5820, 0x28b06: 0x6c3d3020,\n\t0x28b08: 0x6cbe1820, 0x28b09: 0x6d05ac20,\n\t0x28b0d: 0x6c1fe620, 0x28b0e: 0x6c400420,\n\t0x28b12: 0x6d181220, 0x28b13: 0x6c300c20,\n\t0x28b14: 0x6c3eb420, 0x28b15: 0x6c3eb620, 0x28b16: 0x6d2ad620, 0x28b17: 0x6cb4ae20,\n\t0x28b19: 0x6c8d2c20,\n\t0x28b1d: 0x6ccca020, 0x28b1e: 0x6cad9420,\n\t0x28b22: 0x6d1a8a20, 0x28b23: 0x6c961e20,\n\t0x28b24: 0x6c57b620, 0x28b25: 0x6d1b6e20, 0x28b26: 0x6c084a20, 0x28b27: 0x6d209820,\n\t0x28b28: 0x6ccf7020, 0x28b2a: 0x6d01f220, 0x28b2b: 0x6c1ee620,\n\t0x28b34: 0x6ccf7220, 0x28b35: 0x6c2d7220,\n\t0x28b39: 0x6d187020, 0x28b3b: 0x6c183a20,\n\t0x28b3c: 0x6c451c20, 0x28b3d: 0x6c8fa820, 0x28b3e: 0x6cb2ca20, 0x28b3f: 0x6d280220,\n\t// Block 0xa2d, offset 0x28b40\n\t0x28b40: 0x6d0eae20, 0x28b41: 0x6ca15a20, 0x28b43: 0x6cdbd820,\n\t0x28b4b: 0x6c6ea420,\n\t0x28b4d: 0x6cd99c20, 0x28b4e: 0x6cad0c20,\n\t0x28b50: 0x6d0b3820, 0x28b51: 0x6ccb5020, 0x28b52: 0x6c34b820,\n\t0x28b55: 0x6c207a20, 0x28b56: 0x6d022420,\n\t0x28b58: 0x6ce95a20, 0x28b59: 0x6c45b420, 0x28b5a: 0x6d08b620,\n\t0x28b5c: 0x6c7e4e20, 0x28b5e: 0x6c8d5e20,\n\t0x28b60: 0x6c279020, 0x28b61: 0x6d2c5220,\n\t0x28b6c: 0x6d1a0a20, 0x28b6d: 0x6cd93c20, 0x28b6f: 0x6d229a20,\n\t0x28b70: 0x6ceb4c20, 0x28b71: 0x6ceb4e20,\n\t0x28b74: 0x6c03c420, 0x28b75: 0x6cc4d620, 0x28b76: 0x6c0f8420, 0x28b77: 0x6c279c20,\n\t0x28b79: 0x6d2c5a20, 0x28b7a: 0x6c543a20,\n\t0x28b7e: 0x6c5b7820,\n\t// Block 0xa2e, offset 0x28b80\n\t0x28b85: 0x6c916020,\n\t0x28b8a: 0x6c8e2820, 0x28b8b: 0x6cc7d620,\n\t0x28b95: 0x6c28d220, 0x28b96: 0x6c9b6620, 0x28b97: 0x6cfa5820,\n\t0x28b98: 0x6cf26220, 0x28b99: 0x6c4e4620, 0x28b9a: 0x6d3eb020, 0x28b9b: 0x6d327420,\n\t0x28b9c: 0x6ccb7c20, 0x28b9d: 0x6c25fa20, 0x28b9e: 0x6c86e420,\n\t0x28ba0: 0x6c2ce220, 0x28ba1: 0x6c887e20, 0x28ba2: 0x6c46e020,\n\t0x28ba6: 0x6caee020,\n\t0x28baa: 0x6d1c0a20,\n\t0x28bac: 0x6c548420, 0x28bae: 0x6c336c20, 0x28baf: 0x6cf53e20,\n\t0x28bb7: 0x6cb1be20,\n\t0x28bb8: 0x6c520020, 0x28bba: 0x6c8fb820, 0x28bbb: 0x6ca18420,\n\t0x28bbc: 0x6c3a7620, 0x28bbd: 0x6c93be20, 0x28bbe: 0x6d2b2020, 0x28bbf: 0x6c0fae20,\n\t// Block 0xa2f, offset 0x28bc0\n\t0x28bc0: 0x6c2d9620, 0x28bc1: 0x6c98aa20, 0x28bc3: 0x6d3c4e20,\n\t0x28bc4: 0x6c932220, 0x28bc5: 0x6cace820, 0x28bc6: 0x6c337c20, 0x28bc7: 0x6c10ce20,\n\t0x28bcc: 0x6c189020, 0x28bcd: 0x6c981220,\n\t0x28bd6: 0x6cf72420,\n\t0x28bdd: 0x6c019a20, 0x28bde: 0x6d37dc20,\n\t0x28be0: 0x6ca44a20, 0x28be1: 0x6cebba20, 0x28be2: 0x6c519c20,\n\t0x28be5: 0x6c338220, 0x28be6: 0x6ceca020, 0x28be7: 0x6d37de20,\n\t0x28be8: 0x6c133e20, 0x28be9: 0x6c873620, 0x28bea: 0x6cd6aa20,\n\t0x28bee: 0x6c134020,\n\t0x28bf0: 0x6cd84a20, 0x28bf2: 0x6c338420,\n\t0x28bf4: 0x6c5cdc20,\n\t0x28bfc: 0x6c654220, 0x28bfd: 0x6ca9e220, 0x28bfe: 0x6c28ea20, 0x28bff: 0x6c409820,\n\t// Block 0xa30, offset 0x28c00\n\t0x28c00: 0x6c5e4e20, 0x28c01: 0x6c5c9620, 0x28c02: 0x6c228420,\n\t0x28c04: 0x6d1e6620, 0x28c05: 0x6cc9b620, 0x28c06: 0x6ce6a420,\n\t0x28c0e: 0x6c8f5a20,\n\t0x28c11: 0x6cdb8c20, 0x28c12: 0x6c8da220, 0x28c13: 0x6c97a620,\n\t0x28c14: 0x6c2d9c20,\n\t0x28c18: 0x6cad4020, 0x28c1a: 0x6c8da420,\n\t0x28c1d: 0x6c878620, 0x28c1f: 0x6caa1020,\n\t0x28c23: 0x6c8b7820,\n\t0x28c24: 0x6ccd6220, 0x28c26: 0x6c3afe20,\n\t0x28c2b: 0x6ccd6420,\n\t0x28c2e: 0x6c8db820, 0x28c2f: 0x6d2eaa20,\n\t0x28c31: 0x6c0d7820, 0x28c32: 0x6c84dc20,\n\t0x28c35: 0x6cd86420, 0x28c36: 0x6cc4fc20, 0x28c37: 0x6c655820,\n\t0x28c38: 0x6d3df020, 0x28c3b: 0x6c8dbe20,\n\t0x28c3c: 0x6c8dc020, 0x28c3d: 0x6c9c2420, 0x28c3f: 0x6cd6c820,\n\t// Block 0xa31, offset 0x28c40\n\t0x28c44: 0x6c8dc820, 0x28c47: 0x6c5d5020,\n\t0x28c4e: 0x6c8dee20, 0x28c4f: 0x6c655e20,\n\t0x28c50: 0x6cc23a20,\n\t0x28c54: 0x6ca9ea20, 0x28c55: 0x6c6e7c20, 0x28c56: 0x6c187020,\n\t0x28c5c: 0x6d318820, 0x28c5d: 0x6cbede20, 0x28c5f: 0x6cbee220,\n\t0x28c60: 0x6c36c820, 0x28c63: 0x6ccb9420,\n\t0x28c69: 0x6c071a20, 0x28c6b: 0x6c3a0020,\n\t0x28c6e: 0x6c3ab620, 0x28c6f: 0x6c3a3820,\n\t0x28c74: 0x6c399820, 0x28c75: 0x6c7a7c20,\n\t0x28c7a: 0x6d28c620, 0x28c7b: 0x6c5c2220,\n\t0x28c7d: 0x6c3a4420,\n\t// Block 0xa32, offset 0x28c80\n\t0x28c81: 0x6c338620,\n\t0x28c86: 0x6cabca20, 0x28c87: 0x6ca99c20,\n\t0x28c88: 0x6cad2e20, 0x28c89: 0x6c289820, 0x28c8a: 0x6c27e820, 0x28c8b: 0x6c00b220,\n\t0x28c8d: 0x6ce50e20, 0x28c8e: 0x6c17a420, 0x28c8f: 0x6c02ac20,\n\t0x28c90: 0x6c9aa020, 0x28c91: 0x6ca43420,\n\t0x28c94: 0x6c0ff420, 0x28c95: 0x6d23b420, 0x28c96: 0x6cfac420, 0x28c97: 0x6c973a20,\n\t0x28c9a: 0x6cb26420,\n\t0x28c9c: 0x6c331020, 0x28c9e: 0x6c2a3020,\n\t0x28ca1: 0x6d043a20, 0x28ca2: 0x6ca6ce20, 0x28ca3: 0x6c4dba20,\n\t0x28ca4: 0x6c1f7a20, 0x28ca5: 0x6cd64a20, 0x28ca6: 0x6c97cc20,\n\t0x28cac: 0x6ceda420, 0x28cad: 0x6d18dc20, 0x28cae: 0x6c2e4820, 0x28caf: 0x6d0c3a20,\n\t0x28cb1: 0x6cf32420, 0x28cb2: 0x6cdba220,\n\t0x28cb4: 0x6c019420, 0x28cb5: 0x6c7fd420, 0x28cb6: 0x6ca43e20,\n\t0x28cb8: 0x6cc0b620, 0x28cb9: 0x6c9e6820, 0x28cba: 0x6caae420, 0x28cbb: 0x6c11c020,\n\t0x28cbc: 0x6c11e620,\n\t// Block 0xa33, offset 0x28cc0\n\t0x28cc0: 0x6c808620, 0x28cc1: 0x6ce52a20, 0x28cc2: 0x6d139220,\n\t0x28cc4: 0x6ca74e20, 0x28cc6: 0x6cd64e20,\n\t0x28ccb: 0x6c228620,\n\t0x28ccd: 0x6c663a20,\n\t0x28cd0: 0x6c424020,\n\t0x28cd4: 0x6c673220, 0x28cd5: 0x6c4caa20, 0x28cd7: 0x6d2dd620,\n\t0x28cd9: 0x6c95dc20,\n\t0x28cdc: 0x6c5ebc20, 0x28cdd: 0x6c4b5220,\n\t0x28ce1: 0x6c63d220, 0x28ce2: 0x6c614a20,\n\t0x28ce5: 0x6d08a020, 0x28ce7: 0x6c3c5a20,\n\t0x28ceb: 0x6c09ea20,\n\t0x28cec: 0x6cb60a20, 0x28cef: 0x6d258e20,\n\t0x28cf0: 0x6c021a20, 0x28cf1: 0x6c2b3820,\n\t0x28cf4: 0x6c366820, 0x28cf5: 0x6c3b7e20,\n\t0x28cf8: 0x6c727020, 0x28cf9: 0x6ca64220, 0x28cfa: 0x6ceb3c20,\n\t0x28cfc: 0x6cd00c20, 0x28cfd: 0x6c3eca20, 0x28cfe: 0x6cf9e420, 0x28cff: 0x6cc1ac20,\n\t// Block 0xa34, offset 0x28d00\n\t0x28d00: 0x6cb39a20, 0x28d01: 0x6ced4220, 0x28d02: 0x6c8d4220, 0x28d03: 0x6c96d220,\n\t0x28d04: 0x6d394020, 0x28d05: 0x6c065c20, 0x28d07: 0x6d23b620,\n\t0x28d0c: 0x6c082a20, 0x28d0d: 0x6c973c20, 0x28d0f: 0x6c637a20,\n\t0x28d11: 0x6d102e20, 0x28d13: 0x6c7ade20,\n\t0x28d14: 0x6c69c020, 0x28d16: 0x6c0df220,\n\t0x28d1a: 0x6c962420, 0x28d1b: 0x6c4b1820,\n\t0x28d1c: 0x6c351420, 0x28d1d: 0x6d36d420,\n\t0x28d21: 0x6d326020, 0x28d22: 0x6c369e20, 0x28d23: 0x6d39ca20,\n\t0x28d24: 0x6c039020,\n\t0x28d28: 0x6d326220, 0x28d29: 0x6c3c6820, 0x28d2a: 0x6c313820, 0x28d2b: 0x6ca73c20,\n\t0x28d2c: 0x6c10bc20, 0x28d2d: 0x6c336020, 0x28d2e: 0x6ccc1c20, 0x28d2f: 0x6ccb6820,\n\t0x28d30: 0x6c0a6220,\n\t0x28d34: 0x6d36f420, 0x28d35: 0x6d309820, 0x28d36: 0x6c10be20,\n\t0x28d3a: 0x6c74c420, 0x28d3b: 0x6d0aa820,\n\t0x28d3f: 0x6cf90020,\n\t// Block 0xa35, offset 0x28d40\n\t0x28d41: 0x6d3db820, 0x28d42: 0x6c045a20, 0x28d43: 0x6d115c20,\n\t0x28d44: 0x6c1e3420, 0x28d45: 0x6cdeb620, 0x28d46: 0x6cb93020,\n\t0x28d48: 0x6ca53820, 0x28d49: 0x6d242020, 0x28d4a: 0x6c36bc20, 0x28d4b: 0x6c650820,\n\t0x28d4c: 0x6d18de20, 0x28d4d: 0x6cff2a20, 0x28d4f: 0x6ca88020,\n\t0x28d52: 0x6c0db620,\n\t0x28d57: 0x6c4cd420,\n\t0x28d58: 0x6d010820, 0x28d59: 0x6c2e4a20,\n\t0x28d5c: 0x6c70d620, 0x28d5d: 0x6cdda420, 0x28d5e: 0x6c2ef420, 0x28d5f: 0x6c3f1420,\n\t0x28d60: 0x6c9e4420, 0x28d61: 0x6cd3fa20, 0x28d62: 0x6d08c420, 0x28d63: 0x6ce39c20,\n\t0x28d64: 0x6d244420, 0x28d67: 0x6d011820,\n\t0x28d68: 0x6c3f1620, 0x28d69: 0x6d373420, 0x28d6a: 0x6ca65a20, 0x28d6b: 0x6d08c620,\n\t0x28d6c: 0x6d0fe820, 0x28d6e: 0x6c3cd020, 0x28d6f: 0x6d403c20,\n\t0x28d70: 0x6d395e20, 0x28d71: 0x6d07de20,\n\t0x28d75: 0x6d39d820, 0x28d77: 0x6c7edc20,\n\t0x28d79: 0x6d1d5820, 0x28d7a: 0x6c435c20, 0x28d7b: 0x6c7e2c20,\n\t0x28d7d: 0x6c358820, 0x28d7e: 0x6cef5620, 0x28d7f: 0x6c9a3620,\n\t// Block 0xa36, offset 0x28d80\n\t0x28d83: 0x6c57fe20,\n\t0x28d84: 0x6c1e3820, 0x28d86: 0x6cddb220, 0x28d87: 0x6cdec820,\n\t0x28d88: 0x6cddb420, 0x28d89: 0x6cdeca20, 0x28d8a: 0x6d097a20,\n\t0x28d8c: 0x6c460820, 0x28d8d: 0x6c643220, 0x28d8f: 0x6c0fb020,\n\t0x28d90: 0x6cdecc20, 0x28d91: 0x6d25f620,\n\t0x28d98: 0x6cdece20,\n\t0x28d9d: 0x6c20ec20,\n\t0x28da0: 0x6d047820, 0x28da1: 0x6c519820, 0x28da2: 0x6cdd4820,\n\t0x28da7: 0x6ca18a20,\n\t0x28da8: 0x6c1d2c20, 0x28da9: 0x6cdbe420, 0x28daa: 0x6d2b2220, 0x28dab: 0x6c933220,\n\t0x28dac: 0x6d2eea20, 0x28dad: 0x6c963c20, 0x28dae: 0x6d075820, 0x28daf: 0x6c653a20,\n\t0x28db0: 0x6ccd2220, 0x28db2: 0x6d075a20,\n\t0x28dbe: 0x6c67cc20,\n\t// Block 0xa37, offset 0x28dc0\n\t0x28dc2: 0x6c067c20, 0x28dc3: 0x6c970c20,\n\t0x28dc5: 0x6ce7a020, 0x28dc6: 0x6cf92c20,\n\t0x28dc9: 0x6cc6e620, 0x28dcb: 0x6cd12a20,\n\t0x28dcc: 0x6d396c20, 0x28dce: 0x6c654420, 0x28dcf: 0x6c409a20,\n\t0x28dd0: 0x6c2afa20, 0x28dd3: 0x6d1de220,\n\t0x28dd4: 0x6c70e420, 0x28dd6: 0x6d195e20, 0x28dd7: 0x6c054820,\n\t0x28dd9: 0x6ccb9620, 0x28dda: 0x6cdcc620,\n\t0x28ddc: 0x6c346e20, 0x28ddd: 0x6d028420,\n\t0x28de1: 0x6c58c820,\n\t0x28de5: 0x6cc80c20, 0x28de6: 0x6ca66c20, 0x28de7: 0x6d397020,\n\t0x28de8: 0x6c4bac20, 0x28dea: 0x6c964820,\n\t0x28df2: 0x6d342e20, 0x28df3: 0x6d076c20,\n\t0x28df5: 0x6d343020, 0x28df7: 0x6c752a20,\n\t0x28df8: 0x6c70e820, 0x28dfb: 0x6d25da20,\n\t0x28dfc: 0x6c91a420, 0x28dff: 0x6c0fda20,\n\t// Block 0xa38, offset 0x28e00\n\t0x28e02: 0x6cc6ea20, 0x28e03: 0x6d029620,\n\t0x28e09: 0x6cf83220, 0x28e0a: 0x6c959a20,\n\t0x28e0e: 0x6c447020,\n\t0x28e11: 0x6d414620, 0x28e12: 0x6c4eca20,\n\t0x28e14: 0x6c685620, 0x28e15: 0x6cc95420, 0x28e16: 0x6cbd8a20, 0x28e17: 0x6cc43c20,\n\t0x28e18: 0x6cad6420, 0x28e19: 0x6d26da20, 0x28e1a: 0x6c182c20, 0x28e1b: 0x6c3ece20,\n\t0x28e1c: 0x6cadc020, 0x28e1f: 0x6c9aa420,\n\t0x28e22: 0x6ce1de20,\n\t0x28e24: 0x6c78f020, 0x28e25: 0x6cf8d420,\n\t0x28e2b: 0x6c351620,\n\t0x28e2d: 0x6d187220,\n\t0x28e30: 0x6cdc7e20, 0x28e32: 0x6cf9f820, 0x28e33: 0x6c730420,\n\t0x28e35: 0x6cef3e20, 0x28e37: 0x6d18ba20,\n\t0x28e39: 0x6d242220, 0x28e3b: 0x6c045c20,\n\t0x28e3c: 0x6ceb5820, 0x28e3d: 0x6cdeb820, 0x28e3e: 0x6cad6e20,\n\t// Block 0xa39, offset 0x28e40\n\t0x28e42: 0x6c0dfc20,\n\t0x28e45: 0x6d286820, 0x28e46: 0x6d286a20, 0x28e47: 0x6c32e220,\n\t0x28e48: 0x6cc88620, 0x28e49: 0x6cef5820,\n\t0x28e4f: 0x6cf05020,\n\t0x28e50: 0x6c4b9820, 0x28e52: 0x6c26d420, 0x28e53: 0x6cfa1420,\n\t0x28e56: 0x6c5d4a20, 0x28e57: 0x6c733220,\n\t0x28e58: 0x6cdbe620, 0x28e5a: 0x6cdcbc20,\n\t0x28e5d: 0x6c90d620, 0x28e5e: 0x6c046420, 0x28e5f: 0x6d246e20,\n\t0x28e60: 0x6d337420, 0x28e61: 0x6c4ba620, 0x28e63: 0x6c7c5820,\n\t0x28e64: 0x6c42f220, 0x28e65: 0x6c281620,\n\t0x28e69: 0x6cfc5a20, 0x28e6a: 0x6d2d2420, 0x28e6b: 0x6ccb9820,\n\t0x28e6d: 0x6c784620, 0x28e6e: 0x6c105020, 0x28e6f: 0x6c0fce20,\n\t0x28e72: 0x6cdcc820,\n\t0x28e74: 0x6d249420, 0x28e75: 0x6c105220, 0x28e76: 0x6c6f9220, 0x28e77: 0x6c6f9420,\n\t0x28e79: 0x6c73aa20, 0x28e7a: 0x6c754220,\n\t0x28e7c: 0x6ca31620, 0x28e7d: 0x6d2d1c20, 0x28e7e: 0x6ce1ba20, 0x28e7f: 0x6cefec20,\n\t// Block 0xa3a, offset 0x28e80\n\t0x28e80: 0x6cf9dc20, 0x28e81: 0x6d01cc20,\n\t0x28e85: 0x6cc9a620, 0x28e86: 0x6c5f6620,\n\t0x28e89: 0x6d026a20,\n\t0x28e8c: 0x6c338c20, 0x28e8d: 0x6d3f2620,\n\t0x28e98: 0x6d25ee20, 0x28e99: 0x6cbe1e20, 0x28e9a: 0x6c3ed020, 0x28e9b: 0x6caeba20,\n\t0x28e9c: 0x6cad6620, 0x28e9e: 0x6d1b7620,\n\t0x28ea0: 0x6c52c220, 0x28ea1: 0x6d40d420, 0x28ea3: 0x6c45a820,\n\t0x28ea4: 0x6c308820, 0x28ea5: 0x6c50a820, 0x28ea6: 0x6cf31020,\n\t0x28ea8: 0x6cace220, 0x28eab: 0x6cdb2820,\n\t0x28eac: 0x6c76f020, 0x28ead: 0x6ca88220, 0x28eae: 0x6c4ffa20, 0x28eaf: 0x6c3cfa20,\n\t0x28eb0: 0x6c36be20, 0x28eb1: 0x6d137620,\n\t0x28eb4: 0x6ce69820, 0x28eb5: 0x6c309420, 0x28eb6: 0x6d30ba20, 0x28eb7: 0x6cca7820,\n\t0x28ebb: 0x6ca18c20,\n\t0x28ebc: 0x6cdb6020, 0x28ebe: 0x6c823220,\n\t// Block 0xa3b, offset 0x28ec0\n\t0x28ec0: 0x6cb4a620, 0x28ec1: 0x6c35a620, 0x28ec2: 0x6d3de220, 0x28ec3: 0x6d139820,\n\t0x28ec7: 0x6cfda220,\n\t0x28ec8: 0x6c4a2c20, 0x28ec9: 0x6cc59e20, 0x28eca: 0x6c8dfe20,\n\t0x28ecd: 0x6c02cc20,\n\t0x28ed0: 0x6c146820, 0x28ed2: 0x6c345620, 0x28ed3: 0x6cbf3620,\n\t0x28ed4: 0x6c7a4620, 0x28ed5: 0x6d05b020, 0x28ed6: 0x6c587c20, 0x28ed7: 0x6d10aa20,\n\t0x28ed8: 0x6d324620, 0x28ed9: 0x6ce6da20, 0x28eda: 0x6c082420,\n\t0x28edd: 0x6c020220, 0x28edf: 0x6c76b420,\n\t0x28ee1: 0x6c7a4c20, 0x28ee2: 0x6cadde20, 0x28ee3: 0x6d205220,\n\t0x28ee4: 0x6c02aa20, 0x28ee5: 0x6c9ad020, 0x28ee6: 0x6ca13620,\n\t0x28eec: 0x6c3f7220, 0x28eed: 0x6cbe5020, 0x28eee: 0x6c7e8220, 0x28eef: 0x6c30f220,\n\t0x28ef0: 0x6ce06c20, 0x28ef3: 0x6cba1c20,\n\t0x28ef4: 0x6d121c20, 0x28ef5: 0x6cf0b620, 0x28ef6: 0x6c558c20, 0x28ef7: 0x6ca14620,\n\t0x28ef8: 0x6c50a620, 0x28ef9: 0x6d08ac20, 0x28efb: 0x6c0a1220,\n\t0x28efc: 0x6cb31a20, 0x28efe: 0x6c2b3c20,\n\t// Block 0xa3c, offset 0x28f00\n\t0x28f00: 0x6d31f020, 0x28f02: 0x6cd1e420, 0x28f03: 0x6c76e420,\n\t0x28f04: 0x6c130c20, 0x28f07: 0x6d05c420,\n\t0x28f08: 0x6d31f220, 0x28f0a: 0x6d3a7820,\n\t0x28f0f: 0x6c5c2420,\n\t0x28f10: 0x6c1bc020, 0x28f13: 0x6c53aa20,\n\t0x28f14: 0x6caa0420, 0x28f15: 0x6ca86a20, 0x28f16: 0x6d0eb020,\n\t0x28f18: 0x6c1d4020, 0x28f19: 0x6c3f8620, 0x28f1a: 0x6c49f420, 0x28f1b: 0x6cb52c20,\n\t0x28f1d: 0x6c44a220, 0x28f1e: 0x6ce6e020,\n\t0x28f22: 0x6ce07220, 0x28f23: 0x6cba2020,\n\t0x28f26: 0x6c702020, 0x28f27: 0x6d05e220,\n\t0x28f28: 0x6cb71620, 0x28f2a: 0x6d326420,\n\t0x28f2e: 0x6cc09c20,\n\t0x28f30: 0x6c35bc20, 0x28f33: 0x6c5c4c20,\n\t0x28f34: 0x6c53d820, 0x28f35: 0x6cbeb420, 0x28f37: 0x6c17e020,\n\t0x28f3a: 0x6c405c20,\n\t0x28f3c: 0x6c52ce20, 0x28f3d: 0x6cf6e220, 0x28f3e: 0x6cf3ee20, 0x28f3f: 0x6c987820,\n\t// Block 0xa3d, offset 0x28f40\n\t0x28f42: 0x6ce2fc20,\n\t0x28f45: 0x6c52d020,\n\t0x28f50: 0x6c0f6a20, 0x28f52: 0x6cbde820, 0x28f53: 0x6c44a420,\n\t0x28f56: 0x6c3f0020, 0x28f57: 0x6c7cde20,\n\t0x28f5d: 0x6c0cfe20, 0x28f5e: 0x6c6eba20, 0x28f5f: 0x6c76f220,\n\t0x28f60: 0x6c4a9020, 0x28f62: 0x6c432820, 0x28f63: 0x6d05f420,\n\t0x28f64: 0x6c01d420, 0x28f65: 0x6d26f420, 0x28f66: 0x6cf53420, 0x28f67: 0x6d157a20,\n\t0x28f68: 0x6c6dda20, 0x28f6a: 0x6c930220, 0x28f6b: 0x6cc31c20,\n\t0x28f6c: 0x6ce9c820, 0x28f6e: 0x6c62a420,\n\t0x28f7a: 0x6c6f3420, 0x28f7b: 0x6c74d420,\n\t0x28f7c: 0x6cb1d620, 0x28f7d: 0x6c7d8a20,\n\t// Block 0xa3e, offset 0x28f80\n\t0x28f80: 0x6cec7420, 0x28f81: 0x6c5c7620, 0x28f82: 0x6c341220, 0x28f83: 0x6d25f420,\n\t0x28f84: 0x6c6b6a20, 0x28f86: 0x6c4b9020, 0x28f87: 0x6c432e20,\n\t0x28f88: 0x6cb3b220, 0x28f89: 0x6c9ade20, 0x28f8a: 0x6d3bf020, 0x28f8b: 0x6c4f9c20,\n\t0x28f94: 0x6d1e0420, 0x28f95: 0x6cc0a420, 0x28f97: 0x6c834e20,\n\t0x28f98: 0x6c020620, 0x28f99: 0x6cb08020, 0x28f9a: 0x6cf24220,\n\t0x28f9d: 0x6cbe2a20, 0x28f9f: 0x6cbdee20,\n\t0x28fa0: 0x6c9f0620, 0x28fa1: 0x6c30d020, 0x28fa2: 0x6c9c9420, 0x28fa3: 0x6d2db820,\n\t0x28fa5: 0x6cbec020, 0x28fa6: 0x6d158c20,\n\t0x28fae: 0x6c04aa20,\n\t0x28fb1: 0x6c730a20, 0x28fb3: 0x6d2b2420,\n\t0x28fb4: 0x6d075c20, 0x28fb5: 0x6c7ff420, 0x28fb6: 0x6c968220, 0x28fb7: 0x6c968420,\n\t0x28fb8: 0x6cab6220, 0x28fb9: 0x6c06c020, 0x28fbb: 0x6cb3e820,\n\t0x28fbc: 0x6d075e20,\n\t// Block 0xa3f, offset 0x28fc0\n\t0x28fc0: 0x6c02fe20,\n\t0x28fc6: 0x6c53ae20,\n\t0x28fc9: 0x6c53b020, 0x28fca: 0x6d2e3c20,\n\t0x28fcc: 0x6ccbb620, 0x28fcd: 0x6c433020, 0x28fcf: 0x6cb34420,\n\t0x28fd0: 0x6c8aae20,\n\t0x28fd5: 0x6cec7a20, 0x28fd6: 0x6d07f420,\n\t0x28fdc: 0x6c7cb820, 0x28fdf: 0x6c36ea20,\n\t0x28fe0: 0x6c4f3e20, 0x28fe1: 0x6ccb9a20,\n\t0x28fe4: 0x6c28ee20,\n\t0x28fea: 0x6d07f620,\n\t0x28fec: 0x6c36f420, 0x28fed: 0x6c415a20, 0x28fef: 0x6c29c820,\n\t0x28ff1: 0x6c9bfa20, 0x28ff2: 0x6d143e20, 0x28ff3: 0x6ca94e20,\n\t0x28ff5: 0x6cb23020,\n\t0x28ff9: 0x6c124620,\n\t0x28ffe: 0x6d263c20,\n\t// Block 0xa40, offset 0x29000\n\t0x29000: 0x6c36fc20, 0x29001: 0x6ca8ca20,\n\t0x29004: 0x6d1b2e20, 0x29007: 0x6cbbca20,\n\t0x29009: 0x6c52e220, 0x2900a: 0x6c8dca20,\n\t0x2900c: 0x6c14e820, 0x2900d: 0x6d1d3020,\n\t0x29012: 0x6c494820,\n\t0x29014: 0x6ca7ca20, 0x29015: 0x6d05c620, 0x29016: 0x6cdff820, 0x29017: 0x6c6d6e20,\n\t0x2901b: 0x6caea620,\n\t0x2901d: 0x6c89e820,\n\t0x29020: 0x6c072c20, 0x29023: 0x6d030020,\n\t0x29024: 0x6cea6020, 0x29025: 0x6c174e20, 0x29026: 0x6c41a420,\n\t0x29028: 0x6c54e020, 0x29029: 0x6cee2e20,\n\t0x2902c: 0x6c3eba20, 0x2902d: 0x6cae2220, 0x2902f: 0x6ca4b620,\n\t0x29030: 0x6d0a1820, 0x29031: 0x6d096c20,\n\t0x29034: 0x6c8f1220, 0x29035: 0x6c8d4420, 0x29036: 0x6d097020, 0x29037: 0x6cc12e20,\n\t0x29038: 0x6c4fda20, 0x29039: 0x6d153c20, 0x2903a: 0x6c4ef420,\n\t0x2903c: 0x6c3ed220, 0x2903d: 0x6c038a20, 0x2903e: 0x6d153e20,\n\t// Block 0xa41, offset 0x29040\n\t0x29040: 0x6c0f3820,\n\t0x29044: 0x6c52c420, 0x29045: 0x6c866a20,\n\t0x29049: 0x6cc98820, 0x2904a: 0x6cf6b220,\n\t0x2904e: 0x6cd3ce20, 0x2904f: 0x6cb15e20,\n\t0x29050: 0x6c57c220, 0x29051: 0x6d155220, 0x29052: 0x6c0f5220, 0x29053: 0x6c0f6c20,\n\t0x29054: 0x6ca57620, 0x29055: 0x6cc09e20,\n\t0x29058: 0x6cf01e20, 0x29059: 0x6c184a20, 0x2905a: 0x6d1f7820,\n\t0x2905c: 0x6cf0dc20, 0x2905d: 0x6c5b6820, 0x2905e: 0x6cc99a20,\n\t0x29062: 0x6c53da20, 0x29063: 0x6cd9e820,\n\t0x29064: 0x6c4f1220, 0x29065: 0x6cad6a20, 0x29067: 0x6c39b020,\n\t0x29069: 0x6c8eae20, 0x2906a: 0x6d395a20, 0x2906b: 0x6cb02a20,\n\t0x2906d: 0x6c86b620,\n\t0x29070: 0x6c20e820, 0x29071: 0x6cf6fc20, 0x29072: 0x6d330220,\n\t0x29074: 0x6c085620, 0x29075: 0x6d333420, 0x29076: 0x6cdc9620, 0x29077: 0x6d0de420,\n\t0x2907c: 0x6cbe5a20, 0x2907d: 0x6cf53620, 0x2907e: 0x6c89a620,\n\t// Block 0xa42, offset 0x29080\n\t0x29080: 0x6d2fe420, 0x29081: 0x6c897220,\n\t0x29085: 0x6c6a3c20, 0x29087: 0x6c52da20,\n\t0x29088: 0x6d1ec020, 0x2908a: 0x6c7ea220, 0x2908b: 0x6c548620,\n\t0x2908d: 0x6d263620, 0x2908e: 0x6c539620, 0x2908f: 0x6d137820,\n\t0x29091: 0x6d1d1c20, 0x29092: 0x6d086020, 0x29093: 0x6d1f8620,\n\t0x29098: 0x6cc32020,\n\t0x2909c: 0x6ce15e20, 0x2909d: 0x6cddb620, 0x2909f: 0x6c871020,\n\t0x290a0: 0x6cd9fc20, 0x290a1: 0x6c871220,\n\t0x290a4: 0x6d245420, 0x290a7: 0x6d192020,\n\t0x290ad: 0x6d051220, 0x290ae: 0x6c028620, 0x290af: 0x6ce97420,\n\t0x290b0: 0x6cdb6220, 0x290b1: 0x6cd67a20, 0x290b3: 0x6d247020,\n\t0x290b5: 0x6c3c7a20,\n\t0x290b9: 0x6cdb6620, 0x290ba: 0x6ce9da20, 0x290bb: 0x6d247220,\n\t0x290bc: 0x6d331020, 0x290bd: 0x6d331220, 0x290bf: 0x6ce25420,\n\t// Block 0xa43, offset 0x290c0\n\t0x290c4: 0x6c8ee020, 0x290c6: 0x6c1a5c20, 0x290c7: 0x6cdc0620,\n\t0x290c8: 0x6ccad820,\n\t0x290cf: 0x6c47f420,\n\t0x290d0: 0x6c3c8a20, 0x290d1: 0x6c8b8420, 0x290d2: 0x6cb17a20,\n\t0x290d6: 0x6c87b620,\n\t0x290d8: 0x6c901820, 0x290d9: 0x6c1e7020, 0x290da: 0x6cff6220, 0x290db: 0x6c52e420,\n\t0x290dc: 0x6d029820, 0x290dd: 0x6ccf9420,\n\t0x290e0: 0x6c902620, 0x290e1: 0x6c53ea20, 0x290e2: 0x6d083e20, 0x290e3: 0x6c3c9620,\n\t0x290e5: 0x6c037420, 0x290e6: 0x6c0ecc20, 0x290e7: 0x6ce22620,\n\t0x290e8: 0x6cdabc20, 0x290e9: 0x6d2fb820, 0x290ea: 0x6c0c0220, 0x290eb: 0x6cd9c420,\n\t0x290ec: 0x6ce9aa20, 0x290ed: 0x6cdd8820, 0x290ee: 0x6cfefa20, 0x290ef: 0x6c527220,\n\t0x290f0: 0x6ccac620, 0x290f2: 0x6c3a1020,\n\t0x290f7: 0x6ca9aa20,\n\t0x290f8: 0x6c98ac20,\n\t0x290fd: 0x6c58ca20, 0x290fe: 0x6d343420,\n\t// Block 0xa44, offset 0x29100\n\t0x29102: 0x6d171620,\n\t0x29104: 0x6d22fe20, 0x29107: 0x6d14f020,\n\t0x29108: 0x6d264e20, 0x29109: 0x6c1b2220,\n\t0x29115: 0x6d1aea20, 0x29116: 0x6ca9a620, 0x29117: 0x6cc71420,\n\t0x2911b: 0x6ca34a20,\n\t0x29123: 0x6ce4a620,\n\t0x29125: 0x6c035020,\n\t0x2912a: 0x6c379c20, 0x2912b: 0x6d32dc20,\n\t0x2912c: 0x6c366a20, 0x2912d: 0x6cb3dc20, 0x2912e: 0x6c5efa20, 0x2912f: 0x6ca5f620,\n\t0x29131: 0x6c6f2020, 0x29132: 0x6c63d420,\n\t0x29135: 0x6c41a620,\n\t0x29139: 0x6c8d2e20, 0x2913b: 0x6d41bc20,\n\t0x2913e: 0x6c073820,\n\t// Block 0xa45, offset 0x29140\n\t0x29145: 0x6cd4f220, 0x29146: 0x6d15fc20, 0x29147: 0x6cabf420,\n\t0x2914b: 0x6ca50e20,\n\t0x2914c: 0x6cd3c020, 0x2914e: 0x6c97c620, 0x2914f: 0x6cd3c220,\n\t0x29151: 0x6ce35e20,\n\t0x29158: 0x6c45a420,\n\t0x2915d: 0x6c834420, 0x2915e: 0x6c061020, 0x2915f: 0x6d251020,\n\t0x29160: 0x6d422820, 0x29161: 0x6c80e620, 0x29162: 0x6d04f220,\n\t0x29165: 0x6d294220, 0x29166: 0x6c1a8620, 0x29167: 0x6c64e820,\n\t0x29168: 0x6c99b420, 0x29169: 0x6c63e220, 0x2916a: 0x6d23de20,\n\t0x2916d: 0x6d23e020, 0x2916e: 0x6d155420,\n\t0x29172: 0x6c982020, 0x29173: 0x6d294420,\n\t0x29175: 0x6d3ca820, 0x29176: 0x6ce37620,\n\t0x29179: 0x6cf8d620, 0x2917a: 0x6c716020, 0x2917b: 0x6d299e20,\n\t0x2917c: 0x6c92e420, 0x2917d: 0x6ce24420,\n\t// Block 0xa46, offset 0x29180\n\t0x29180: 0x6d3cb020, 0x29181: 0x6c8d6020, 0x29183: 0x6c729c20,\n\t0x29186: 0x6c5f4c20, 0x29187: 0x6c733020,\n\t0x2918a: 0x6d3e9a20,\n\t0x2918c: 0x6d265a20, 0x2918d: 0x6c301620,\n\t0x29192: 0x6ca47020,\n\t0x29196: 0x6c1d2420,\n\t0x2919f: 0x6c022020,\n\t0x291a3: 0x6c44e020,\n\t0x291a5: 0x6c0e9420, 0x291a6: 0x6c2fbc20, 0x291a7: 0x6cf02220,\n\t0x291ac: 0x6cc31a20, 0x291ad: 0x6c783a20,\n\t0x291b0: 0x6cb0cc20, 0x291b1: 0x6c76f420, 0x291b2: 0x6c3f0e20, 0x291b3: 0x6d1e6220,\n\t0x291b5: 0x6ce96620, 0x291b6: 0x6ce81e20, 0x291b7: 0x6d205a20,\n\t0x291b8: 0x6d10c020, 0x291ba: 0x6d126c20,\n\t0x291bd: 0x6d0ed220,\n\t// Block 0xa47, offset 0x291c0\n\t0x291c8: 0x6cfbb220, 0x291ca: 0x6ce38e20,\n\t0x291cc: 0x6cdc9820,\n\t0x291d0: 0x6c227420,\n\t0x291d4: 0x6d066220, 0x291d5: 0x6cf53820, 0x291d6: 0x6c117420, 0x291d7: 0x6d242420,\n\t0x291da: 0x6c15f820, 0x291db: 0x6cfa1020,\n\t0x291dd: 0x6c77ce20, 0x291de: 0x6c124220, 0x291df: 0x6c13bc20,\n\t0x291e0: 0x6cc0b420, 0x291e3: 0x6c267220,\n\t0x291e5: 0x6cdb5620,\n\t0x291e8: 0x6c571c20,\n\t0x291f7: 0x6cf38e20,\n\t0x291f8: 0x6d251a20,\n\t0x291fd: 0x6c681220, 0x291fe: 0x6cfe0820, 0x291ff: 0x6d2d0620,\n\t// Block 0xa48, offset 0x29200\n\t0x29200: 0x6cca3a20, 0x29201: 0x6ca09220, 0x29203: 0x6cce3e20,\n\t0x29204: 0x6c12a420, 0x29205: 0x6cdbe220, 0x29206: 0x6c208420, 0x29207: 0x6c9c9620,\n\t0x29208: 0x6d3a3420, 0x29209: 0x6c1d2820, 0x2920a: 0x6c62c220, 0x2920b: 0x6c1d2a20,\n\t0x29219: 0x6c889020,\n\t0x2921e: 0x6c4d8020,\n\t0x29224: 0x6c33c220, 0x29225: 0x6cfe0c20, 0x29226: 0x6c19ae20, 0x29227: 0x6cce4020,\n\t0x29228: 0x6c873820, 0x29229: 0x6c5a2c20,\n\t0x2922c: 0x6c2af820, 0x2922f: 0x6c897a20,\n\t0x29236: 0x6d28a420,\n\t0x2923a: 0x6c5e4420, 0x2923b: 0x6c8c0420,\n\t0x2923e: 0x6c31ee20, 0x2923f: 0x6c4f3620,\n\t// Block 0xa49, offset 0x29240\n\t0x29240: 0x6d1ddc20, 0x29241: 0x6d263a20, 0x29242: 0x6c4cf420, 0x29243: 0x6c8d9c20,\n\t0x29245: 0x6c88de20, 0x29247: 0x6c030220,\n\t0x29248: 0x6c292220, 0x29249: 0x6d194e20, 0x2924a: 0x6ca9e420, 0x2924b: 0x6ccde620,\n\t0x2924d: 0x6d035c20,\n\t0x29250: 0x6c26da20, 0x29251: 0x6d247420, 0x29252: 0x6c118220, 0x29253: 0x6cf33420,\n\t0x29254: 0x6c141420, 0x29255: 0x6c0fca20, 0x29257: 0x6c663020,\n\t0x2925e: 0x6c9bb820, 0x2925f: 0x6cf05e20,\n\t0x29260: 0x6ca09e20,\n\t0x29265: 0x6cd73820, 0x29266: 0x6c6b8220, 0x29267: 0x6cd7b220,\n\t0x29268: 0x6c5e5420, 0x2926b: 0x6c21ee20,\n\t0x2926d: 0x6c901420, 0x2926e: 0x6c582420,\n\t0x29270: 0x6ceada20, 0x29273: 0x6d220620,\n\t0x29276: 0x6c165a20, 0x29277: 0x6d1dee20,\n\t0x29278: 0x6c5e5e20, 0x2927a: 0x6c806820,\n\t0x2927f: 0x6ca30c20,\n\t// Block 0xa4a, offset 0x29280\n\t0x29280: 0x6c032220, 0x29281: 0x6c418020, 0x29282: 0x6d15cc20, 0x29283: 0x6c63ac20,\n\t0x29285: 0x6c269220, 0x29286: 0x6c2fa420, 0x29287: 0x6d0a8220,\n\t0x29288: 0x6cc59620, 0x29289: 0x6c732020, 0x2928a: 0x6ce94c20, 0x2928b: 0x6d064020,\n\t0x2928c: 0x6cd99220, 0x2928e: 0x6c128420, 0x2928f: 0x6c198e20,\n\t0x29291: 0x6c2f7020,\n\t0x2929a: 0x6c4d2620,\n\t0x2929f: 0x6cf47220,\n\t0x292a6: 0x6cb72020,\n\t0x292a8: 0x6c5f6820,\n\t0x292ae: 0x6c7cac20, 0x292af: 0x6cef5e20,\n\t0x292b6: 0x6cd44e20, 0x292b7: 0x6c3f2820,\n\t0x292b9: 0x6ce97a20, 0x292bb: 0x6c0cf020,\n\t0x292bd: 0x6cdff020, 0x292be: 0x6c4f5220, 0x292bf: 0x6cb1ce20,\n\t// Block 0xa4b, offset 0x292c0\n\t0x292c3: 0x6d217e20,\n\t0x292c4: 0x6cdffa20,\n\t0x292cc: 0x6cfd9020, 0x292ce: 0x6d050c20,\n\t0x292d3: 0x6cf26820,\n\t0x292d4: 0x6c4d8220, 0x292d5: 0x6caef220,\n\t0x292dd: 0x6ce04620, 0x292df: 0x6c0d0a20,\n\t0x292e0: 0x6cfd9e20, 0x292e3: 0x6d162e20,\n\t0x292e6: 0x6cb19020, 0x292e7: 0x6c586c20,\n\t0x292e8: 0x6ca24020, 0x292e9: 0x6c035220, 0x292eb: 0x6c396020,\n\t0x292ef: 0x6c2f6020,\n\t0x292f7: 0x6c3b3c20,\n\t0x292fa: 0x6c6bf620,\n\t0x292fe: 0x6cdd4a20,\n\t// Block 0xa4c, offset 0x29300\n\t0x29304: 0x6ced9220, 0x29305: 0x6c43a220,\n\t0x29308: 0x6c3b3e20, 0x2930a: 0x6ceb4420,\n\t0x2930c: 0x6cf1a620, 0x2930d: 0x6c487620, 0x2930e: 0x6c343620,\n\t0x29310: 0x6d308820, 0x29311: 0x6c22a020, 0x29312: 0x6d11ce20,\n\t0x29314: 0x6c050420, 0x29315: 0x6c10b820, 0x29316: 0x6ca15c20,\n\t0x29318: 0x6cb35e20, 0x2931b: 0x6c443020,\n\t0x2931e: 0x6c8e9220,\n\t0x29321: 0x6cc4d020,\n\t0x29328: 0x6c41b020, 0x2932a: 0x6c55a220, 0x2932b: 0x6ca1e620,\n\t0x2932e: 0x6d04f620, 0x2932f: 0x6c59a220,\n\t0x29330: 0x6c3f0220, 0x29331: 0x6c5b4220, 0x29333: 0x6cc1ca20,\n\t0x29334: 0x6c6b3e20, 0x29335: 0x6cead220, 0x29336: 0x6d21ac20, 0x29337: 0x6ca16820,\n\t0x29338: 0x6d38b220, 0x29339: 0x6c702820, 0x2933b: 0x6cd53c20,\n\t0x2933c: 0x6c7bae20, 0x2933d: 0x6cbf6620, 0x2933e: 0x6c8b2c20, 0x2933f: 0x6c405e20,\n\t// Block 0xa4d, offset 0x29340\n\t0x2934a: 0x6d074420,\n\t0x29356: 0x6c8c6e20,\n\t0x29358: 0x6ca88420, 0x2935a: 0x6caf9c20,\n\t0x2935c: 0x6c406e20, 0x2935d: 0x6c10c620, 0x2935e: 0x6d18e020,\n\t0x29361: 0x6c0f8620, 0x29363: 0x6c358420,\n\t0x29369: 0x6d30a620, 0x2936b: 0x6c86b820,\n\t0x2936e: 0x6ce92620, 0x2936f: 0x6c26cc20,\n\t0x29371: 0x6c931620, 0x29372: 0x6d0c4020, 0x29373: 0x6c301e20,\n\t0x29374: 0x6cbcfc20, 0x29375: 0x6ced5c20, 0x29376: 0x6ca03c20, 0x29377: 0x6d418020,\n\t0x29378: 0x6c408420, 0x29379: 0x6cc15620, 0x2937a: 0x6c078e20, 0x2937b: 0x6c02b420,\n\t0x2937c: 0x6cbaf620,\n\t// Block 0xa4e, offset 0x29380\n\t0x29381: 0x6cc44020,\n\t0x29388: 0x6cc41020, 0x29389: 0x6c576a20, 0x2938a: 0x6cfd2a20, 0x2938b: 0x6c7dd820,\n\t0x2938f: 0x6c258220,\n\t0x29392: 0x6d158820,\n\t0x29396: 0x6c1ae420, 0x29397: 0x6d404020,\n\t0x29398: 0x6ca52420, 0x29399: 0x6c1a5820, 0x2939a: 0x6c32a820, 0x2939b: 0x6d1e0620,\n\t0x2939c: 0x6d30e020, 0x2939e: 0x6ce0b020, 0x2939f: 0x6d0ff020,\n\t0x293a0: 0x6d011e20, 0x293a1: 0x6d07ec20, 0x293a3: 0x6c32e420,\n\t0x293a4: 0x6cd64c20, 0x293a5: 0x6cfbbe20, 0x293a6: 0x6cfbc020,\n\t0x293a9: 0x6c359e20,\n\t0x293b2: 0x6c7e5420,\n\t0x293b8: 0x6cf10220, 0x293b9: 0x6d1ec820, 0x293ba: 0x6d21e020,\n\t0x293bd: 0x6ce30420, 0x293bf: 0x6c6c7220,\n\t// Block 0xa4f, offset 0x293c0\n\t0x293c1: 0x6ce16420, 0x293c2: 0x6cb69e20,\n\t0x293c4: 0x6c2cec20, 0x293c5: 0x6ce1fe20, 0x293c6: 0x6c941820, 0x293c7: 0x6d2e9a20,\n\t0x293c8: 0x6cf17020, 0x293c9: 0x6c62d620, 0x293ca: 0x6c023820, 0x293cb: 0x6cabaa20,\n\t0x293cc: 0x6cb88420,\n\t0x293d0: 0x6cd21220, 0x293d1: 0x6cde2420,\n\t0x293d4: 0x6ca18e20,\n\t0x293d8: 0x6d1f9220,\n\t0x293e0: 0x6d2c6a20, 0x293e3: 0x6d117220,\n\t0x293eb: 0x6c1cfa20,\n\t0x293ec: 0x6c84b220, 0x293ed: 0x6d21f420, 0x293ee: 0x6c161420, 0x293ef: 0x6d143620,\n\t0x293f2: 0x6c1c9420,\n\t0x293f4: 0x6c84b420,\n\t0x293fd: 0x6ce90a20, 0x293ff: 0x6d40fe20,\n\t// Block 0xa50, offset 0x29400\n\t0x29402: 0x6cfbd620,\n\t0x29407: 0x6cf93620,\n\t0x29409: 0x6c0d0c20, 0x2940a: 0x6c4e4a20, 0x2940b: 0x6cb6b020,\n\t0x2940c: 0x6cca7a20, 0x2940e: 0x6c3a2c20,\n\t0x29410: 0x6ccdea20,\n\t0x29418: 0x6c584820,\n\t0x29420: 0x6c059a20, 0x29421: 0x6d220220, 0x29422: 0x6d220420,\n\t0x29424: 0x6c610420,\n\t0x29431: 0x6c7b0620, 0x29432: 0x6d3fe420,\n\t0x29439: 0x6cfd5420, 0x2943a: 0x6c9bc020,\n\t// Block 0xa51, offset 0x29440\n\t0x29443: 0x6c87b820,\n\t0x29444: 0x6d377820, 0x29445: 0x6c38fc20, 0x29446: 0x6c8b8820, 0x29447: 0x6c115620,\n\t0x29448: 0x6c320a20, 0x29449: 0x6c4a0020, 0x2944a: 0x6d04b020, 0x2944b: 0x6c84ea20,\n\t0x2944c: 0x6cb80c20, 0x2944f: 0x6c753420,\n\t0x29450: 0x6ceade20, 0x29452: 0x6c72d220, 0x29453: 0x6cff6420,\n\t0x29458: 0x6cc23420,\n\t0x2945c: 0x6d3bba20,\n\t0x29461: 0x6c754420,\n\t0x29466: 0x6c6bbc20,\n\t0x29468: 0x6d390620, 0x29469: 0x6cfc8820, 0x2946a: 0x6c8f7020, 0x2946b: 0x6d100420,\n\t0x2946c: 0x6cc4b220, 0x2946d: 0x6d16d620, 0x2946e: 0x6c8ae020, 0x2946f: 0x6c0e5620,\n\t0x29470: 0x6c5ce220, 0x29471: 0x6c61be20, 0x29472: 0x6c306a20, 0x29473: 0x6d386420,\n\t0x29474: 0x6cc29220, 0x29475: 0x6c6a9c20,\n\t0x2947a: 0x6c710820,\n\t0x2947c: 0x6c078620, 0x2947f: 0x6c087620,\n\t// Block 0xa52, offset 0x29480\n\t0x29480: 0x6c43fe20, 0x29481: 0x6c217c20, 0x29483: 0x6cb9a220,\n\t0x29484: 0x6cd9c820, 0x29485: 0x6cf0a020, 0x29486: 0x6c1a1420, 0x29487: 0x6c909020,\n\t0x29488: 0x6d213e20, 0x29489: 0x6c7e4620, 0x2948a: 0x6cb9a420, 0x2948b: 0x6c2cd220,\n\t0x2948c: 0x6cde0e20, 0x2948d: 0x6d2e6c20, 0x2948f: 0x6c38b620,\n\t0x29490: 0x6c8b5620, 0x29491: 0x6ce64420, 0x29492: 0x6c5ebe20, 0x29493: 0x6cb8de20,\n\t0x29494: 0x6c556820, 0x29497: 0x6d214220,\n\t0x29498: 0x6cb79c20, 0x29499: 0x6d214420, 0x2949a: 0x6cebe020,\n\t0x2949c: 0x6c03bc20, 0x2949d: 0x6cb61020, 0x2949e: 0x6cc95620, 0x2949f: 0x6cbb8620,\n\t0x294a0: 0x6d0bc220, 0x294a1: 0x6cfc1e20,\n\t0x294a8: 0x6c220820, 0x294a9: 0x6c396220, 0x294ab: 0x6c7dba20,\n\t0x294ac: 0x6c4be020, 0x294ad: 0x6cc39220, 0x294ae: 0x6c367a20, 0x294af: 0x6cbf4e20,\n\t0x294b2: 0x6c96d420, 0x294b3: 0x6c7a5820,\n\t0x294b4: 0x6d11c620, 0x294b7: 0x6cc39420,\n\t0x294b8: 0x6c1e6420, 0x294b9: 0x6c642c20, 0x294bb: 0x6d3a7a20,\n\t0x294bd: 0x6c331220, 0x294be: 0x6cec0a20,\n\t// Block 0xa53, offset 0x294c0\n\t0x294c0: 0x6ca51220,\n\t0x294c4: 0x6d0cce20, 0x294c5: 0x6ce78020,\n\t0x294cb: 0x6d03fe20,\n\t0x294cc: 0x6c4bee20, 0x294cd: 0x6cb26a20,\n\t0x294d1: 0x6d229c20, 0x294d2: 0x6c51ec20,\n\t0x294d4: 0x6d3da420, 0x294d7: 0x6ccf0020,\n\t0x294d8: 0x6d22a220, 0x294db: 0x6c62a620,\n\t0x294dd: 0x6cbaea20, 0x294de: 0x6cd73220, 0x294df: 0x6c21de20,\n\t0x294e0: 0x6d40e820, 0x294e1: 0x6c838e20, 0x294e2: 0x6ca60e20,\n\t0x294e4: 0x6cebf820, 0x294e5: 0x6d2c5c20, 0x294e7: 0x6c28d420,\n\t0x294ee: 0x6c328820, 0x294ef: 0x6c0bd020,\n\t0x294f0: 0x6c6a3e20, 0x294f1: 0x6cb87c20, 0x294f2: 0x6c519020, 0x294f3: 0x6c1d5e20,\n\t0x294f4: 0x6d0ce620, 0x294f6: 0x6d0ee020,\n\t0x294fa: 0x6cd94e20, 0x294fb: 0x6ce2c420,\n\t0x294fc: 0x6d11e020, 0x294fe: 0x6c779620,\n\t// Block 0xa54, offset 0x29500\n\t0x29500: 0x6d3c6e20, 0x29501: 0x6c4b9a20, 0x29502: 0x6c005a20, 0x29503: 0x6c4d8420,\n\t0x29508: 0x6cddb820, 0x29509: 0x6d076020, 0x2950a: 0x6c0c5020,\n\t0x2950c: 0x6c3cfc20, 0x2950d: 0x6cc15e20, 0x2950e: 0x6c98ae20,\n\t0x29510: 0x6c4ca020,\n\t0x29516: 0x6c0ac420, 0x29517: 0x6c751020,\n\t0x29518: 0x6c208a20, 0x2951b: 0x6cb47420,\n\t0x2951f: 0x6d195020,\n\t0x29522: 0x6cb95020, 0x29523: 0x6d196220,\n\t0x29524: 0x6c36ec20, 0x29525: 0x6c8da620, 0x29527: 0x6c0ace20,\n\t0x2952d: 0x6c5e5620, 0x2952e: 0x6ca0b620,\n\t0x29531: 0x6d09ce20,\n\t0x29534: 0x6d0f1e20,\n\t0x29538: 0x6c87ba20, 0x2953a: 0x6ce04e20,\n\t0x2953e: 0x6c947e20,\n\t// Block 0xa55, offset 0x29540\n\t0x29540: 0x6c769020, 0x29541: 0x6c99aa20, 0x29542: 0x6cfefc20,\n\t0x29547: 0x6c007220,\n\t0x2954a: 0x6cde1420,\n\t0x2954d: 0x6c9aac20, 0x2954f: 0x6c4c4220,\n\t0x29553: 0x6c432220,\n\t0x29554: 0x6ca4c220, 0x29555: 0x6c4ffc20,\n\t0x29560: 0x6cc39820,\n\t0x29565: 0x6c12a620, 0x29566: 0x6ccb0a20,\n\t0x2956b: 0x6cb03c20,\n\t0x29572: 0x6d006220, 0x29573: 0x6cff6620,\n\t0x29574: 0x6c712c20,\n\t0x29579: 0x6c1a2420, 0x2957a: 0x6ca50820,\n\t// Block 0xa56, offset 0x29580\n\t0x29580: 0x6ca58e20,\n\t0x2958d: 0x6ca25220, 0x2958f: 0x6cce8020,\n\t0x29591: 0x6c2cda20,\n\t0x29594: 0x6c8d5220, 0x29596: 0x6d31f820, 0x29597: 0x6d11d020,\n\t0x29599: 0x6c404a20, 0x2959a: 0x6cb9c620, 0x2959b: 0x6cbf5820,\n\t0x2959c: 0x6c715620, 0x2959d: 0x6c0e2c20, 0x2959e: 0x6c990620, 0x2959f: 0x6d2ce020,\n\t0x295a0: 0x6cdf0820,\n\t0x295a4: 0x6c1ce020,\n\t0x295ab: 0x6d2d3220,\n\t0x295ad: 0x6cd1f420, 0x295ae: 0x6d1e7c20,\n\t0x295b0: 0x6cbf6820, 0x295b1: 0x6c2a3820, 0x295b2: 0x6ce42620, 0x295b3: 0x6d3c7820,\n\t0x295b5: 0x6d1b8020, 0x295b7: 0x6ca51820,\n\t0x295b8: 0x6c0e9620, 0x295b9: 0x6c7bb220, 0x295ba: 0x6d355220, 0x295bb: 0x6c34ba20,\n\t0x295bc: 0x6c236220, 0x295bd: 0x6c061620,\n\t// Block 0xa57, offset 0x295c0\n\t0x295c7: 0x6c846820,\n\t0x295ca: 0x6c716c20, 0x295cb: 0x6cf1bc20,\n\t0x295cc: 0x6c8b3e20, 0x295cf: 0x6cf2c620,\n\t0x295d0: 0x6cd2de20, 0x295d1: 0x6ca7b620, 0x295d2: 0x6c987c20, 0x295d3: 0x6c6f8c20,\n\t0x295d8: 0x6d050020,\n\t0x295dd: 0x6cf2a420, 0x295df: 0x6c2a4020,\n\t0x295e1: 0x6cf70e20, 0x295e2: 0x6c01e020, 0x295e3: 0x6c26ce20,\n\t0x295e4: 0x6d401020, 0x295e5: 0x6c4f2a20, 0x295e6: 0x6c20ea20, 0x295e7: 0x6c089820,\n\t0x295e9: 0x6c309020, 0x295eb: 0x6d2f1220,\n\t0x295ef: 0x6d0b0220,\n\t0x295f2: 0x6c2bac20, 0x295f3: 0x6c5d6420,\n\t0x295f7: 0x6c9f8020,\n\t0x295fa: 0x6c408820,\n\t0x295fc: 0x6c061e20, 0x295fd: 0x6c78e420, 0x295fe: 0x6c991020, 0x295ff: 0x6cc55820,\n\t// Block 0xa58, offset 0x29600\n\t0x29600: 0x6d3fda20, 0x29601: 0x6cb88020, 0x29602: 0x6cf98020, 0x29603: 0x6cda0220,\n\t0x29604: 0x6d050e20, 0x29605: 0x6ca36e20,\n\t0x29609: 0x6c979620,\n\t0x2960e: 0x6d2c0820, 0x2960f: 0x6c154a20,\n\t0x29610: 0x6ccf8420, 0x29611: 0x6cf2ca20,\n\t0x29616: 0x6c005c20, 0x29617: 0x6c059820,\n\t0x29618: 0x6c4fb820, 0x2961a: 0x6ccad420, 0x2961b: 0x6cddba20,\n\t0x2961c: 0x6ce44020, 0x2961d: 0x6d0bcc20, 0x2961f: 0x6c0e3a20,\n\t0x29620: 0x6cc6e420,\n\t0x2962b: 0x6ccc2c20,\n\t0x2962c: 0x6cf26a20, 0x2962f: 0x6c028a20,\n\t0x29631: 0x6d3c2820, 0x29633: 0x6cb1c020,\n\t0x29634: 0x6cdbe820, 0x29635: 0x6d143820, 0x29636: 0x6cda0420, 0x29637: 0x6c30d220,\n\t0x29638: 0x6cda0620, 0x29639: 0x6c956e20,\n\t// Block 0xa59, offset 0x29640\n\t0x29643: 0x6c3afc20,\n\t0x29644: 0x6d422220, 0x29646: 0x6ca53c20, 0x29647: 0x6c2ac420,\n\t0x29648: 0x6d34c220, 0x29649: 0x6c25d020, 0x2964a: 0x6c8a5820, 0x2964b: 0x6c616420,\n\t0x2964c: 0x6c0ea020, 0x2964d: 0x6c23d020, 0x2964e: 0x6c1a6020, 0x2964f: 0x6c104e20,\n\t0x29651: 0x6cca1020, 0x29652: 0x6d29be20,\n\t0x29658: 0x6c69e420, 0x2965b: 0x6d125220,\n\t0x2965c: 0x6c920620, 0x2965e: 0x6c121420,\n\t0x29668: 0x6ca67020,\n\t0x29670: 0x6c6b8820, 0x29671: 0x6cb47c20, 0x29672: 0x6d3c5020, 0x29673: 0x6d29c820,\n\t0x2967a: 0x6c87c420,\n\t0x2967d: 0x6c7ed020,\n\t// Block 0xa5a, offset 0x29680\n\t0x29680: 0x6c1d0620, 0x29683: 0x6d2eae20,\n\t0x2968d: 0x6c0bb420, 0x2968e: 0x6cf23220,\n\t0x29693: 0x6c53de20,\n\t0x29697: 0x6cb1fc20,\n\t0x29699: 0x6ccb9e20,\n\t0x2969e: 0x6ca67220, 0x2969f: 0x6c3b4e20,\n\t0x296a0: 0x6d065620, 0x296a2: 0x6cd2da20,\n\t0x296a4: 0x6c72c220,\n\t0x296a8: 0x6c752420, 0x296aa: 0x6d24a220,\n\t0x296ac: 0x6c4c2a20, 0x296ad: 0x6c4c3420, 0x296af: 0x6c55a420,\n\t0x296b2: 0x6c869020, 0x296b3: 0x6d00fa20,\n\t0x296b4: 0x6c376c20, 0x296b5: 0x6d25b420, 0x296b6: 0x6c4d2e20,\n\t0x296b9: 0x6c6ebc20, 0x296bb: 0x6c78de20,\n\t0x296bd: 0x6d3fcc20, 0x296be: 0x6c3ae620,\n\t// Block 0xa5b, offset 0x296c0\n\t0x296c0: 0x6cae8820, 0x296c1: 0x6c44e220, 0x296c3: 0x6c652820,\n\t0x296c4: 0x6ca61220, 0x296c6: 0x6cfbc220, 0x296c7: 0x6c873c20,\n\t0x296c8: 0x6c17a820, 0x296ca: 0x6c377620, 0x296cb: 0x6c44e820,\n\t0x296cc: 0x6d247620, 0x296cd: 0x6c560420, 0x296ce: 0x6c3af820, 0x296cf: 0x6c028c20,\n\t0x296d3: 0x6c37b220,\n\t0x296d8: 0x6c78ec20, 0x296d9: 0x6c7ab620, 0x296da: 0x6c0fd020,\n\t0x296dd: 0x6d13a020, 0x296de: 0x6c69e820,\n\t0x296e6: 0x6c17ae20, 0x296e7: 0x6c44ec20,\n\t0x296e8: 0x6cc82e20, 0x296ea: 0x6d273c20,\n\t0x296ec: 0x6c8c1620,\n\t0x296f1: 0x6d24a620, 0x296f2: 0x6d274820, 0x296f3: 0x6d2d1220,\n\t0x296f4: 0x6cff6820, 0x296f7: 0x6c9f2420,\n\t0x296fb: 0x6c4af820,\n\t0x296fc: 0x6c6f6e20, 0x296fe: 0x6cebaa20,\n\t// Block 0xa5c, offset 0x29700\n\t0x29701: 0x6cf78220, 0x29702: 0x6cefd620, 0x29703: 0x6d3d6a20,\n\t0x29704: 0x6cf0a220, 0x29705: 0x6c7c8420,\n\t0x29708: 0x6c9a9820, 0x2970a: 0x6c505020, 0x2970b: 0x6c4f5020,\n\t0x2970c: 0x6c399a20, 0x2970d: 0x6ca96e20, 0x2970e: 0x6d205420, 0x2970f: 0x6c57a420,\n\t0x29712: 0x6c812420,\n\t0x29720: 0x6d3a1820, 0x29721: 0x6c4b1620, 0x29722: 0x6c0a1620, 0x29723: 0x6c642e20,\n\t0x29724: 0x6ce59c20, 0x29726: 0x6c93f020, 0x29727: 0x6c79a220,\n\t0x29728: 0x6d419420, 0x29729: 0x6c8d4620, 0x2972a: 0x6cb63220,\n\t0x2972c: 0x6d3a1e20,\n\t0x29731: 0x6c47ba20, 0x29732: 0x6d413020,\n\t0x29734: 0x6d0f6620, 0x29735: 0x6cda5620, 0x29737: 0x6c7c9620,\n\t0x29739: 0x6c167a20, 0x2973b: 0x6d113e20,\n\t0x2973e: 0x6d23e220,\n\t// Block 0xa5d, offset 0x29740\n\t0x29745: 0x6cd50420, 0x29746: 0x6c7f5420, 0x29747: 0x6d187620,\n\t0x29748: 0x6c30c420,\n\t0x2974c: 0x6cf3f020, 0x2974d: 0x6d1d1220, 0x2974e: 0x6c3f0420, 0x2974f: 0x6d3be820,\n\t0x29750: 0x6c3f8a20, 0x29752: 0x6cdb2a20, 0x29753: 0x6c853420,\n\t0x29754: 0x6d122820, 0x29755: 0x6cea1020,\n\t0x2975d: 0x6c4b7a20,\n\t0x29761: 0x6c940020, 0x29762: 0x6d0ed420, 0x29763: 0x6cb66620,\n\t0x29764: 0x6c813020, 0x29765: 0x6d3a3020, 0x29767: 0x6c4b1e20,\n\t0x29768: 0x6c551020,\n\t0x2976f: 0x6c6ddc20,\n\t0x29772: 0x6c1bc620,\n\t0x29775: 0x6c717220, 0x29776: 0x6d2c6020,\n\t0x29778: 0x6c9e8020,\n\t// Block 0xa5e, offset 0x29780\n\t0x29780: 0x6d39da20, 0x29781: 0x6c41ba20, 0x29782: 0x6d047620, 0x29783: 0x6c60e620,\n\t0x29787: 0x6cccaa20,\n\t0x29788: 0x6c9ab620, 0x29789: 0x6d287420,\n\t0x2978d: 0x6cd48820,\n\t0x29790: 0x6c941a20, 0x29791: 0x6d206020, 0x29792: 0x6c681420, 0x29793: 0x6caacc20,\n\t0x29798: 0x6c72c420, 0x29799: 0x6d206220,\n\t0x2979c: 0x6d195220, 0x2979d: 0x6ce2ce20, 0x2979e: 0x6cef7220, 0x2979f: 0x6c17f620,\n\t0x297a0: 0x6c8c8620, 0x297a1: 0x6c483020, 0x297a3: 0x6c875a20,\n\t0x297a4: 0x6c8ab020, 0x297a7: 0x6c68ac20,\n\t0x297a8: 0x6d0ff620, 0x297a9: 0x6c0c5e20, 0x297aa: 0x6cb6a220,\n\t0x297ae: 0x6d196420,\n\t0x297b1: 0x6c0d7620, 0x297b2: 0x6c9bbc20, 0x297b3: 0x6c145a20,\n\t0x297b5: 0x6c41be20,\n\t0x297b9: 0x6cc21c20, 0x297ba: 0x6c2bc020, 0x297bb: 0x6c82a020,\n\t// Block 0xa5f, offset 0x297c0\n\t0x297c0: 0x6c8dcc20,\n\t0x297c4: 0x6c585220, 0x297c5: 0x6cc23220, 0x297c7: 0x6c959c20,\n\t0x297c9: 0x6c7cc820,\n\t0x297cd: 0x6cc08020, 0x297ce: 0x6d227620, 0x297cf: 0x6c57a620,\n\t0x297d3: 0x6c833a20,\n\t0x297d5: 0x6cc60620, 0x297d6: 0x6cffb620, 0x297d7: 0x6cd8da20,\n\t0x297da: 0x6c327220, 0x297db: 0x6c0cb420,\n\t0x297e0: 0x6ca97020, 0x297e2: 0x6c51e020, 0x297e3: 0x6cadc420,\n\t0x297e5: 0x6c3acc20, 0x297e6: 0x6ca2aa20,\n\t0x297e9: 0x6c3d9620,\n\t0x297ec: 0x6c55a820, 0x297ed: 0x6cedec20, 0x297ee: 0x6ccc1420,\n\t0x297f0: 0x6c687420, 0x297f1: 0x6cf47420,\n\t0x297f9: 0x6c404c20,\n\t// Block 0xa60, offset 0x29800\n\t0x29801: 0x6c0df620, 0x29802: 0x6d3b3020,\n\t0x29804: 0x6d3a2a20, 0x29805: 0x6c1ada20, 0x29807: 0x6cd07c20,\n\t0x29808: 0x6c550820, 0x29809: 0x6c101e20,\n\t0x2980e: 0x6cc4d420,\n\t0x29816: 0x6ca2b620,\n\t0x29818: 0x6c869220, 0x2981b: 0x6c638820,\n\t0x2981e: 0x6c96e020,\n\t0x29821: 0x6c9b6820, 0x29822: 0x6ca1f020, 0x29823: 0x6d38b820,\n\t0x29824: 0x6cfc3820, 0x29825: 0x6c5b7420, 0x29826: 0x6c48fc20, 0x29827: 0x6c702c20,\n\t0x29829: 0x6ca2b820, 0x2982b: 0x6cc82a20,\n\t0x2982d: 0x6cf3fc20, 0x2982f: 0x6cc7d820,\n\t0x29831: 0x6d2ce620,\n\t// Block 0xa61, offset 0x29840\n\t0x29841: 0x6caae220, 0x29842: 0x6d010a20,\n\t0x29844: 0x6c680220,\n\t0x2984b: 0x6c853a20,\n\t0x2984c: 0x6cd51020, 0x2984d: 0x6d190020, 0x2984e: 0x6c2bae20, 0x2984f: 0x6cbe9220,\n\t0x29850: 0x6c717420, 0x29853: 0x6d373620,\n\t0x29855: 0x6c80f020, 0x29856: 0x6c10ca20, 0x29857: 0x6c7bca20,\n\t0x29858: 0x6d190220, 0x2985a: 0x6c0f9a20,\n\t0x29867: 0x6c1c8c20,\n\t0x2986d: 0x6c680c20, 0x2986f: 0x6cf32a20,\n\t0x29870: 0x6d0aac20,\n\t0x29875: 0x6cea3220, 0x29876: 0x6c987e20,\n\t0x29878: 0x6c39b220, 0x29879: 0x6d3dce20, 0x2987b: 0x6cb88220,\n\t0x2987d: 0x6cde2220, 0x2987e: 0x6cb68a20,\n\t// Block 0xa62, offset 0x29880\n\t0x29880: 0x6caf1e20, 0x29881: 0x6c0cc620, 0x29882: 0x6c3bfe20, 0x29883: 0x6ce92820,\n\t0x29884: 0x6c57d220, 0x29887: 0x6c36d220,\n\t0x2988b: 0x6c36d420,\n\t0x2988e: 0x6c2fc420,\n\t0x29890: 0x6cc7e220,\n\t0x29896: 0x6c36d620,\n\t0x2989e: 0x6d0ef020, 0x2989f: 0x6cd8f820,\n\t0x298a5: 0x6d1cc020, 0x298a6: 0x6ca61620, 0x298a7: 0x6ca61820,\n\t0x298a8: 0x6d158e20,\n\t0x298b9: 0x6c9c9820,\n\t0x298be: 0x6d129820, 0x298bf: 0x6cb32620,\n\t// Block 0xa63, offset 0x298c0\n\t0x298c0: 0x6c240420, 0x298c2: 0x6cf11820,\n\t0x298c4: 0x6c4d8820, 0x298c5: 0x6d1c2820, 0x298c7: 0x6ce6a020,\n\t0x298c8: 0x6d375e20, 0x298c9: 0x6c3a2a20, 0x298ca: 0x6d1f9420,\n\t0x298cd: 0x6c7cb020, 0x298ce: 0x6c01e220, 0x298cf: 0x6c03d220,\n\t0x298d1: 0x6c4f3420,\n\t0x298de: 0x6ca41620, 0x298df: 0x6ca3da20,\n\t0x298e2: 0x6c6df420,\n\t0x298e5: 0x6ceece20,\n\t0x298f1: 0x6c1f8e20, 0x298f3: 0x6cddbe20,\n\t0x298f4: 0x6ce20020, 0x298f5: 0x6cb6a620, 0x298f6: 0x6ce16620, 0x298f7: 0x6cf05a20,\n\t0x298f8: 0x6c41fc20, 0x298fa: 0x6c446420,\n\t0x298fc: 0x6c4f3820, 0x298fe: 0x6ca37420, 0x298ff: 0x6c446620,\n\t// Block 0xa64, offset 0x29900\n\t0x29904: 0x6d331420,\n\t0x29917: 0x6cde2820,\n\t0x2991b: 0x6cd84c20,\n\t0x2991d: 0x6ca6de20, 0x2991e: 0x6cca9820,\n\t0x2992b: 0x6d012a20,\n\t0x2992f: 0x6d410220,\n\t0x29930: 0x6d21fc20, 0x29931: 0x6ca6e020, 0x29932: 0x6cb55420,\n\t0x29935: 0x6cd03220,\n\t0x2993c: 0x6c102020,\n\t// Block 0xa65, offset 0x29940\n\t0x2994b: 0x6c7d9a20,\n\t0x2994c: 0x6c84c420, 0x2994e: 0x6c488220,\n\t0x29956: 0x6d0e1c20, 0x29957: 0x6c10d220,\n\t0x29958: 0x6c672a20, 0x2995a: 0x6cf40e20, 0x2995b: 0x6c134420,\n\t0x2995c: 0x6c8c0e20, 0x2995d: 0x6d3c0420, 0x2995f: 0x6c5b0e20,\n\t0x29961: 0x6ce7a620, 0x29962: 0x6d2ca220,\n\t0x29964: 0x6c522c20, 0x29967: 0x6c4ce220,\n\t0x29971: 0x6c6e4220,\n\t0x29975: 0x6c2f1620, 0x29977: 0x6d1cdc20,\n\t0x2997c: 0x6d377420,\n\t// Block 0xa66, offset 0x29980\n\t0x29982: 0x6cf06620,\n\t0x29984: 0x6c62fa20, 0x29985: 0x6cc73620,\n\t0x29988: 0x6c030620, 0x29989: 0x6c292420, 0x2998a: 0x6c958a20, 0x2998b: 0x6d13a220,\n\t0x2998c: 0x6ceed220,\n\t0x29992: 0x6cbb3220,\n\t0x29999: 0x6c446c20, 0x2999a: 0x6c62fc20,\n\t0x299a6: 0x6d409620,\n\t0x299a8: 0x6d15a620, 0x299ab: 0x6d2ca420,\n\t0x299ad: 0x6c8b8c20,\n\t0x299b4: 0x6d13a820,\n\t0x299bc: 0x6d2dd420,\n\t// Block 0xa67, offset 0x299c0\n\t0x299c0: 0x6c1e1620, 0x299c1: 0x6c0c6620,\n\t0x299c6: 0x6d077020, 0x299c7: 0x6d1eda20,\n\t0x299cd: 0x6d029a20, 0x299ce: 0x6cef7c20, 0x299cf: 0x6c87ca20,\n\t0x299db: 0x6c0fdc20,\n\t0x299dc: 0x6c664c20, 0x299dd: 0x6c158220, 0x299de: 0x6c7d9e20,\n\t0x299e1: 0x6cbe9a20,\n\t0x299e7: 0x6cd6ce20,\n\t0x299e8: 0x6cf76420, 0x299e9: 0x6cc23620,\n\t0x299f0: 0x6c95a020, 0x299f3: 0x6c294c20,\n\t0x299f4: 0x6ca71020, 0x299f5: 0x6c855a20, 0x299f7: 0x6c03e420,\n\t0x299f9: 0x6c365220, 0x299fa: 0x6c3d7a20, 0x299fb: 0x6c400620,\n\t0x299fc: 0x6c5d1220, 0x299fd: 0x6d2cd820, 0x299fe: 0x6c014420,\n\t// Block 0xa68, offset 0x29a00\n\t0x29a01: 0x6cc09620, 0x29a02: 0x6c1dd620, 0x29a03: 0x6c9e3c20,\n\t0x29a04: 0x6d0aa620, 0x29a05: 0x6ce92420, 0x29a06: 0x6ca60c20, 0x29a07: 0x6c570220,\n\t0x29a08: 0x6cd50a20, 0x29a0a: 0x6d05f620, 0x29a0b: 0x6d384620,\n\t0x29a0c: 0x6c776220,\n\t0x29a12: 0x6cfee220, 0x29a13: 0x6cfee420,\n\t0x29a14: 0x6c22d420, 0x29a15: 0x6c1c3c20, 0x29a17: 0x6c2dd220,\n\t0x29a18: 0x6d181420, 0x29a1a: 0x6c2f6420,\n\t0x29a1d: 0x6c4ef620, 0x29a1e: 0x6cece420,\n\t0x29a20: 0x6d160220, 0x29a21: 0x6c066020, 0x29a22: 0x6d184220,\n\t0x29a27: 0x6d0a9e20,\n\t0x29a2c: 0x6cfdd420,\n\t0x29a33: 0x6c08a420,\n\t0x29a36: 0x6c6b3020, 0x29a37: 0x6c43a620,\n\t0x29a38: 0x6d2b5620, 0x29a3a: 0x6d326a20, 0x29a3b: 0x6c55aa20,\n\t0x29a3c: 0x6cf6b420, 0x29a3d: 0x6d02e820, 0x29a3e: 0x6cff1220, 0x29a3f: 0x6c404e20,\n\t// Block 0xa69, offset 0x29a40\n\t0x29a40: 0x6d383c20, 0x29a42: 0x6c99b620, 0x29a43: 0x6d02ea20,\n\t0x29a44: 0x6cbad820,\n\t0x29a48: 0x6c3b9220, 0x29a49: 0x6c049820, 0x29a4a: 0x6c583220,\n\t0x29a51: 0x6c687620, 0x29a53: 0x6c066620,\n\t0x29a54: 0x6d0af820, 0x29a55: 0x6d114020,\n\t0x29a5b: 0x6cf8d820,\n\t0x29a5d: 0x6c729e20, 0x29a5f: 0x6cc27c20,\n\t0x29a60: 0x6d26f020, 0x29a61: 0x6cdf4220, 0x29a62: 0x6ce81820, 0x29a63: 0x6ca16c20,\n\t0x29a64: 0x6d2c5420, 0x29a65: 0x6cc1ce20, 0x29a67: 0x6c3da620,\n\t0x29a69: 0x6cc1d020, 0x29a6a: 0x6c1c7e20,\n\t0x29a6c: 0x6d1f7c20,\n\t0x29a77: 0x6ce38620,\n\t0x29a7a: 0x6cebf020,\n\t0x29a7d: 0x6ceb5620, 0x29a7f: 0x6c1eb220,\n\t// Block 0xa6a, offset 0x29a80\n\t0x29a81: 0x6c43b020,\n\t0x29a88: 0x6d251620, 0x29a89: 0x6c43b220, 0x29a8a: 0x6cc1d220,\n\t0x29a8f: 0x6c72a020,\n\t0x29a92: 0x6c2ef820, 0x29a93: 0x6d157e20,\n\t0x29a94: 0x6cd20820, 0x29a95: 0x6d18e420, 0x29a97: 0x6c4b2020,\n\t0x29a98: 0x6c680420, 0x29a9a: 0x6cd94420, 0x29a9b: 0x6cbf7220,\n\t0x29a9d: 0x6c36c220, 0x29a9e: 0x6c59a420, 0x29a9f: 0x6c5b4620,\n\t0x29aa0: 0x6d0a4620, 0x29aa3: 0x6c717020,\n\t0x29aa5: 0x6d2d2220, 0x29aa6: 0x6c1c8220, 0x29aa7: 0x6c81c020,\n\t0x29aa9: 0x6cb66820, 0x29aaa: 0x6d050420,\n\t0x29aac: 0x6c5af620, 0x29aad: 0x6ce79820,\n\t0x29aba: 0x6c407220,\n\t0x29abd: 0x6d0a4820, 0x29abe: 0x6c6b4e20, 0x29abf: 0x6c9d0620,\n\t// Block 0xa6b, offset 0x29ac0\n\t0x29ac0: 0x6d242820,\n\t0x29ac8: 0x6d3c4a20, 0x29ac9: 0x6c688e20, 0x29aca: 0x6d373820, 0x29acb: 0x6c1a5220,\n\t0x29acd: 0x6c6b6c20, 0x29ace: 0x6cff3220, 0x29acf: 0x6c18f220,\n\t0x29ad0: 0x6c848220, 0x29ad1: 0x6d26fe20, 0x29ad3: 0x6d373a20,\n\t0x29ad4: 0x6c818820, 0x29ad5: 0x6cf32c20, 0x29ad6: 0x6cc1ea20,\n\t0x29ad8: 0x6cedce20, 0x29ada: 0x6d142e20, 0x29adb: 0x6d190420,\n\t0x29adc: 0x6c80f220, 0x29ade: 0x6ce7fa20, 0x29adf: 0x6c015c20,\n\t0x29ae0: 0x6c74e420, 0x29ae1: 0x6d0ee420,\n\t0x29ae5: 0x6c72b020, 0x29ae7: 0x6d327620,\n\t0x29ae9: 0x6d373c20, 0x29aea: 0x6c98a820,\n\t0x29aee: 0x6d055420,\n\t0x29af1: 0x6c208020, 0x29af2: 0x6c1e6c20,\n\t0x29af8: 0x6cbafc20, 0x29af9: 0x6c3a2620, 0x29afa: 0x6c16d420,\n\t0x29afc: 0x6c9dec20, 0x29afd: 0x6cdb5a20, 0x29afe: 0x6c02b820,\n\t// Block 0xa6c, offset 0x29b00\n\t0x29b00: 0x6c3f9620,\n\t0x29b04: 0x6cf10620, 0x29b05: 0x6d342420, 0x29b06: 0x6c9f8220, 0x29b07: 0x6c168820,\n\t0x29b08: 0x6d0cfa20, 0x29b09: 0x6d245820, 0x29b0b: 0x6c408a20,\n\t0x29b0c: 0x6cded020, 0x29b0d: 0x6c616020, 0x29b0f: 0x6c3aee20,\n\t0x29b12: 0x6c55f620, 0x29b13: 0x6c70e220,\n\t0x29b15: 0x6d22ac20,\n\t0x29b1b: 0x6cb69220,\n\t0x29b1c: 0x6c9a3820, 0x29b1f: 0x6c0ccc20,\n\t0x29b20: 0x6c4cd820,\n\t0x29b24: 0x6ca04c20, 0x29b26: 0x6ced5e20, 0x29b27: 0x6ced6020,\n\t0x29b34: 0x6c6dec20, 0x29b35: 0x6d245a20, 0x29b36: 0x6cfbce20,\n\t0x29b39: 0x6c212a20, 0x29b3a: 0x6c60f820,\n\t0x29b3c: 0x6cfd9620, 0x29b3d: 0x6cae4420, 0x29b3e: 0x6c409220,\n\t// Block 0xa6d, offset 0x29b40\n\t0x29b42: 0x6c8ed820,\n\t0x29b44: 0x6cc9da20, 0x29b45: 0x6d08f020, 0x29b46: 0x6d409220,\n\t0x29b48: 0x6c6b7e20, 0x29b4b: 0x6d2dc220,\n\t0x29b4d: 0x6d21e820, 0x29b4e: 0x6d21ea20, 0x29b4f: 0x6c9a4020,\n\t0x29b50: 0x6c9ea820, 0x29b51: 0x6c99c020, 0x29b52: 0x6c346a20, 0x29b53: 0x6c409420,\n\t0x29b5b: 0x6c671820,\n\t0x29b66: 0x6c9e8420,\n\t0x29b68: 0x6c023a20,\n\t0x29b6d: 0x6c78e620,\n\t0x29b76: 0x6c544420,\n\t0x29b7a: 0x6c46e420,\n\t0x29b7c: 0x6cf74c20, 0x29b7e: 0x6cc6e820, 0x29b7f: 0x6c43be20,\n\t// Block 0xa6e, offset 0x29b80\n\t0x29b80: 0x6cac9220, 0x29b81: 0x6d25d420, 0x29b82: 0x6cfa5e20,\n\t0x29b85: 0x6ccc2e20, 0x29b86: 0x6cafa620,\n\t0x29b88: 0x6cbe9620, 0x29b89: 0x6d1dde20, 0x29b8a: 0x6cc20220,\n\t0x29b8c: 0x6c462820, 0x29b8e: 0x6c446820, 0x29b8f: 0x6cfb0820,\n\t0x29b91: 0x6cdb6820,\n\t0x29b95: 0x6c04ae20, 0x29b96: 0x6cb6a820, 0x29b97: 0x6c548820,\n\t0x29b9b: 0x6cf74e20,\n\t0x29b9d: 0x6cf39220,\n\t0x29bad: 0x6cb55620, 0x29bae: 0x6c56ec20, 0x29baf: 0x6c4aae20,\n\t0x29bb1: 0x6c2bbc20, 0x29bb2: 0x6cce2c20, 0x29bb3: 0x6c975220,\n\t0x29bb4: 0x6c9fde20, 0x29bb5: 0x6c62ea20, 0x29bb6: 0x6cf7c820, 0x29bb7: 0x6cfb1020,\n\t0x29bb8: 0x6c610220, 0x29bb9: 0x6c16d820, 0x29bba: 0x6c7a1220, 0x29bbb: 0x6c1cfc20,\n\t// Block 0xa6f, offset 0x29bc0\n\t0x29bc2: 0x6d2ef020, 0x29bc3: 0x6cb1aa20,\n\t0x29bc4: 0x6cdb6c20, 0x29bc5: 0x6c94cc20, 0x29bc6: 0x6c84c620, 0x29bc7: 0x6c9c2020,\n\t0x29bc8: 0x6c1cfe20, 0x29bc9: 0x6ce47c20, 0x29bcb: 0x6c8da820,\n\t0x29bcd: 0x6c1c9a20,\n\t0x29bd6: 0x6c1d0020,\n\t0x29bd9: 0x6c1c9c20,\n\t0x29bdd: 0x6ca7c820, 0x29bdf: 0x6d1e0a20,\n\t0x29bee: 0x6c9db020,\n\t0x29bf0: 0x6cd51e20, 0x29bf2: 0x6cf93820,\n\t0x29bf4: 0x6c36f620, 0x29bf5: 0x6d3ec820,\n\t0x29bf8: 0x6c6b8420, 0x29bf9: 0x6c5faa20, 0x29bfa: 0x6c53e820, 0x29bfb: 0x6cd18220,\n\t0x29bfc: 0x6c879c20, 0x29bfe: 0x6cb55c20,\n\t// Block 0xa70, offset 0x29c00\n\t0x29c00: 0x6d38c620, 0x29c01: 0x6cd85820, 0x29c02: 0x6cc21e20,\n\t0x29c0b: 0x6d013420,\n\t0x29c17: 0x6cd85a20,\n\t0x29c1b: 0x6d061220,\n\t0x29c20: 0x6c409e20,\n\t0x29c2f: 0x6ca9e620,\n\t0x29c30: 0x6d0bd020, 0x29c31: 0x6c8ef020, 0x29c32: 0x6c643420, 0x29c33: 0x6c4ab020,\n\t0x29c34: 0x6c7cc020, 0x29c35: 0x6c1ca220, 0x29c36: 0x6c121620, 0x29c37: 0x6c1ed020,\n\t0x29c39: 0x6c4c5020, 0x29c3b: 0x6c285a20,\n\t0x29c3f: 0x6c672e20,\n\t// Block 0xa71, offset 0x29c40\n\t0x29c41: 0x6c292620, 0x29c42: 0x6c548c20,\n\t0x29c44: 0x6c7a1420, 0x29c46: 0x6c1f9220, 0x29c47: 0x6cb96220,\n\t0x29c48: 0x6c010c20, 0x29c4a: 0x6cb0e420,\n\t0x29c51: 0x6d0abc20, 0x29c52: 0x6c6dfc20, 0x29c53: 0x6c9c2620,\n\t0x29c55: 0x6c0d7a20, 0x29c56: 0x6c801620, 0x29c57: 0x6c47fa20,\n\t0x29c58: 0x6c1e1420, 0x29c5b: 0x6d1dec20,\n\t0x29c5c: 0x6c488420, 0x29c5d: 0x6d220a20, 0x29c5e: 0x6d397420,\n\t0x29c6d: 0x6c115820, 0x29c6f: 0x6c8ef420,\n\t0x29c70: 0x6c105420, 0x29c71: 0x6c965820, 0x29c72: 0x6c6b8c20, 0x29c73: 0x6d31a820,\n\t0x29c74: 0x6c9f2220, 0x29c75: 0x6c4a1620, 0x29c77: 0x6c63f820,\n\t0x29c79: 0x6c7ed220,\n\t// Block 0xa72, offset 0x29c80\n\t0x29c80: 0x6cd48c20, 0x29c83: 0x6c4c5220,\n\t0x29c86: 0x6c9c2820, 0x29c87: 0x6cb9ea20,\n\t0x29c88: 0x6c7f8420, 0x29c8a: 0x6c51b220, 0x29c8b: 0x6ce97c20,\n\t0x29c91: 0x6c5b1020,\n\t0x29c98: 0x6c52e620,\n\t0x29c9c: 0x6c93c820, 0x29c9f: 0x6c63fa20,\n\t0x29ca5: 0x6c4ab220,\n\t0x29ca8: 0x6d144420, 0x29ca9: 0x6c585420,\n\t0x29cb0: 0x6c95a220,\n\t0x29cb4: 0x6c754620,\n\t0x29cb8: 0x6c49ce20, 0x29cbb: 0x6cc34820,\n\t0x29cbc: 0x6ca7cc20, 0x29cbf: 0x6c97b220,\n\t// Block 0xa73, offset 0x29cc0\n\t0x29cc2: 0x6d282420, 0x29cc3: 0x6cf18a20,\n\t0x29cc4: 0x6c1c0c20, 0x29cc5: 0x6c1c1820, 0x29cc6: 0x6d33dc20,\n\t0x29cc8: 0x6c224420, 0x29cc9: 0x6d3c3e20, 0x29cca: 0x6c573c20, 0x29ccb: 0x6c6ac020,\n\t0x29ccc: 0x6cc19e20, 0x29ccd: 0x6ce86620, 0x29cce: 0x6c9f6a20, 0x29ccf: 0x6c9a2020,\n\t0x29cd0: 0x6d218020, 0x29cd1: 0x6c026e20, 0x29cd2: 0x6c049a20,\n\t0x29cd4: 0x6caf8c20, 0x29cd5: 0x6d31a420, 0x29cd6: 0x6c91d020, 0x29cd7: 0x6c1c5420,\n\t0x29cd8: 0x6ce7f620, 0x29cda: 0x6c6a3420,\n\t0x29cdc: 0x6d2da420,\n\t0x29ce2: 0x6c6c6820, 0x29ce3: 0x6c91f020,\n\t0x29ce6: 0x6c670a20, 0x29ce7: 0x6ce0b420,\n\t0x29ce8: 0x6c168a20, 0x29cea: 0x6c22ee20,\n\t0x29ced: 0x6cec5c20, 0x29cee: 0x6c240620, 0x29cef: 0x6c771a20,\n\t0x29cf1: 0x6c0bd820,\n\t0x29cf8: 0x6cf17620, 0x29cfb: 0x6cb95620,\n\t0x29cff: 0x6c424220,\n\t// Block 0xa74, offset 0x29d00\n\t0x29d02: 0x6c5ca220,\n\t0x29d04: 0x6c420620, 0x29d06: 0x6c630020, 0x29d07: 0x6c424620,\n\t0x29d09: 0x6c580820,\n\t0x29d0d: 0x6cd8dc20,\n\t0x29d10: 0x6c3d9a20,\n\t0x29d15: 0x6cb01620, 0x29d17: 0x6c10d620,\n\t0x29d1c: 0x6c07c620,\n\t0x29d22: 0x6cd2dc20,\n\t0x29d25: 0x6c58b020, 0x29d27: 0x6c4a9420,\n\t0x29d2a: 0x6cab9620,\n\t0x29d33: 0x6cad7020,\n\t0x29d35: 0x6d1d2020, 0x29d36: 0x6ce6e620, 0x29d37: 0x6d001820,\n\t0x29d39: 0x6d3b3620, 0x29d3b: 0x6d21d220,\n\t// Block 0xa75, offset 0x29d40\n\t0x29d41: 0x6c66fa20,\n\t0x29d44: 0x6cc25420, 0x29d45: 0x6ced6220, 0x29d46: 0x6c7d9220, 0x29d47: 0x6d3c7220,\n\t0x29d49: 0x6d245c20, 0x29d4a: 0x6c4cda20, 0x29d4b: 0x6cb2de20,\n\t0x29d4c: 0x6d41a420, 0x29d4d: 0x6d40fa20, 0x29d4f: 0x6d39e820,\n\t0x29d50: 0x6caa9c20, 0x29d51: 0x6d39ea20,\n\t0x29d56: 0x6cb17620, 0x29d57: 0x6c9cac20,\n\t0x29d5c: 0x6c0ad220, 0x29d5d: 0x6cdb6e20,\n\t0x29d61: 0x6cb47a20, 0x29d62: 0x6c9cc420,\n\t0x29d6b: 0x6d13a620,\n\t0x29d6c: 0x6d22b420, 0x29d6e: 0x6d249620,\n\t0x29d70: 0x6d3a9420, 0x29d73: 0x6c8dc220,\n\t0x29d7a: 0x6caa3620,\n\t0x29d7e: 0x6c8d3020,\n\t// Block 0xa76, offset 0x29d80\n\t0x29d80: 0x6c8a7020, 0x29d82: 0x6ceace20,\n\t0x29d84: 0x6c08f020, 0x29d85: 0x6ca36a20, 0x29d86: 0x6cc1bc20,\n\t0x29d88: 0x6cb01820, 0x29d89: 0x6c30f420, 0x29d8a: 0x6ca86e20, 0x29d8b: 0x6cea6820,\n\t0x29d8d: 0x6c5f2620, 0x29d8f: 0x6c8d5420,\n\t0x29d93: 0x6c7aaa20,\n\t0x29d94: 0x6cdb2c20,\n\t0x29d98: 0x6ce81a20,\n\t0x29d9e: 0x6ca38620, 0x29d9f: 0x6d2b0c20,\n\t0x29da2: 0x6ce7c420, 0x29da3: 0x6c444a20,\n\t0x29da4: 0x6c331820, 0x29da7: 0x6c6b5020,\n\t0x29da9: 0x6ce4c820, 0x29daa: 0x6ce5e220, 0x29dab: 0x6c1b6020,\n\t0x29dac: 0x6cc14e20, 0x29dae: 0x6ccc2820,\n\t0x29db0: 0x6c0f9e20, 0x29db1: 0x6c848420, 0x29db3: 0x6c963a20,\n\t0x29db5: 0x6c8a4420, 0x29db6: 0x6cd62620, 0x29db7: 0x6c2ad220,\n\t0x29db9: 0x6c1ae620, 0x29dba: 0x6c9f0220,\n\t0x29dbc: 0x6ce24e20, 0x29dbd: 0x6c5d0c20, 0x29dbf: 0x6ca7e220,\n\t// Block 0xa77, offset 0x29dc0\n\t0x29dc1: 0x6c75fe20, 0x29dc2: 0x6c56dc20,\n\t0x29dc4: 0x6c932e20, 0x29dc5: 0x6d138820, 0x29dc7: 0x6ca18620,\n\t0x29dc8: 0x6c17c820,\n\t0x29dcc: 0x6cddd420, 0x29dce: 0x6c784220, 0x29dcf: 0x6c409620,\n\t0x29dd1: 0x6c17aa20,\n\t0x29dd4: 0x6cddbc20, 0x29dd7: 0x6cbfe220,\n\t0x29ddb: 0x6cdb6a20,\n\t0x29ddd: 0x6d287620, 0x29ddf: 0x6cddc220,\n\t0x29de0: 0x6c7a7020, 0x29de1: 0x6c0fc420, 0x29de3: 0x6c90fe20,\n\t0x29de4: 0x6ca1a220, 0x29de6: 0x6c88e220, 0x29de7: 0x6d08d220,\n\t0x29de8: 0x6cddc420, 0x29de9: 0x6c97aa20, 0x29dea: 0x6c0ad420,\n\t0x29df2: 0x6ce44820,\n\t0x29df4: 0x6c88a620, 0x29df5: 0x6ce04a20, 0x29df6: 0x6ccdf220,\n\t0x29df8: 0x6cc22820, 0x29df9: 0x6c320820, 0x29dfa: 0x6c58d420, 0x29dfb: 0x6ccb0e20,\n\t0x29dff: 0x6c7c2620,\n\t// Block 0xa78, offset 0x29e00\n\t0x29e03: 0x6ca8dc20,\n\t0x29e05: 0x6ca8de20, 0x29e06: 0x6c95a420, 0x29e07: 0x6d425c20,\n\t0x29e08: 0x6d174e20, 0x29e09: 0x6cfcc020, 0x29e0a: 0x6c179820, 0x29e0b: 0x6ce61220,\n\t0x29e12: 0x6cd79620,\n\t0x29e14: 0x6c9d0020, 0x29e17: 0x6c9c7220,\n\t0x29e1b: 0x6ced5220,\n\t0x29e1d: 0x6c07c820, 0x29e1e: 0x6cbae020,\n\t0x29e20: 0x6ca0b020, 0x29e23: 0x6c8eca20,\n\t0x29e24: 0x6cf32e20, 0x29e26: 0x6c9a7020,\n\t0x29e28: 0x6ce7fe20, 0x29e2b: 0x6ca25a20,\n\t0x29e2d: 0x6c9a4420,\n\t0x29e32: 0x6d42b620,\n\t0x29e34: 0x6cea6420, 0x29e35: 0x6c778c20, 0x29e36: 0x6cea6a20,\n\t0x29e3a: 0x6c184c20, 0x29e3b: 0x6d336a20,\n\t0x29e3d: 0x6c1cec20, 0x29e3e: 0x6ce47820,\n\t// Block 0xa79, offset 0x29e40\n\t0x29e40: 0x6d372020, 0x29e41: 0x6c153420, 0x29e42: 0x6c153e20,\n\t0x29e45: 0x6cbe5c20, 0x29e46: 0x6cea3420, 0x29e47: 0x6c5b7a20,\n\t0x29e48: 0x6cc41420, 0x29e49: 0x6d2dba20, 0x29e4a: 0x6c652c20, 0x29e4b: 0x6c154c20,\n\t0x29e4d: 0x6c5a2620, 0x29e4f: 0x6c5b0620,\n\t0x29e50: 0x6c1b6a20, 0x29e52: 0x6c5a2820, 0x29e53: 0x6c528220,\n\t0x29e54: 0x6d280820, 0x29e56: 0x6ce94020, 0x29e57: 0x6c0b1c20,\n\t0x29e59: 0x6c5a3620, 0x29e5a: 0x6d280a20,\n\t0x29e5f: 0x6ca1a420,\n\t0x29e60: 0x6c45c420, 0x29e62: 0x6c45c620,\n\t0x29e64: 0x6c4bb020, 0x29e66: 0x6c157820,\n\t0x29e68: 0x6cc42220, 0x29e69: 0x6cc8ee20, 0x29e6a: 0x6c7c2820, 0x29e6b: 0x6cb1c220,\n\t0x29e6e: 0x6cc80220,\n\t0x29e72: 0x6ca9a220, 0x29e73: 0x6c56c820,\n\t0x29e74: 0x6c6cb820, 0x29e75: 0x6ca6d220, 0x29e76: 0x6c067420,\n\t0x29e78: 0x6ca65620, 0x29e7a: 0x6c0a8420, 0x29e7b: 0x6c55d820,\n\t0x29e7c: 0x6c846a20, 0x29e7f: 0x6d39dc20,\n\t// Block 0xa7a, offset 0x29e80\n\t0x29e80: 0x6ca2fc20, 0x29e82: 0x6cc36620, 0x29e83: 0x6c3cd220,\n\t0x29e84: 0x6c090020, 0x29e85: 0x6c84a020, 0x29e86: 0x6c0d0820, 0x29e87: 0x6ca70e20,\n\t0x29e88: 0x6c304820, 0x29e8b: 0x6c88a020,\n\t0x29e8c: 0x6ca6e420, 0x29e8d: 0x6c88a820, 0x29e8e: 0x6c968820, 0x29e8f: 0x6d30ca20,\n\t0x29e93: 0x6c639420,\n\t0x29e94: 0x6d15a820, 0x29e96: 0x6c904c20,\n\t0x29e98: 0x6d181820,\n\t0x29e9d: 0x6c278e20, 0x29e9e: 0x6c327820,\n\t0x29ea3: 0x6d160c20,\n\t0x29ea5: 0x6cdf8220, 0x29ea6: 0x6c4f5420, 0x29ea7: 0x6cd61620,\n\t0x29eac: 0x6cece820, 0x29eae: 0x6cdb2e20, 0x29eaf: 0x6d11d820,\n\t0x29eb0: 0x6c37e020, 0x29eb2: 0x6d326e20,\n\t0x29eba: 0x6c313e20, 0x29ebb: 0x6c651220,\n\t0x29ebf: 0x6cace620,\n\t// Block 0xa7b, offset 0x29ec0\n\t0x29ec0: 0x6c5afe20, 0x29ec2: 0x6c145420, 0x29ec3: 0x6ccd1c20,\n\t0x29ec4: 0x6c916620, 0x29ec6: 0x6d244c20,\n\t0x29ec8: 0x6d0ef420, 0x29ec9: 0x6ced6420, 0x29eca: 0x6cbc6e20, 0x29ecb: 0x6c953420,\n\t0x29ecc: 0x6d245e20, 0x29ecf: 0x6ce90620,\n\t0x29ed0: 0x6cf10820, 0x29ed2: 0x6cea8e20,\n\t0x29ed5: 0x6c5d1820, 0x29ed6: 0x6c079020, 0x29ed7: 0x6cbd0620,\n\t0x29ed9: 0x6c6c7420, 0x29eda: 0x6c7f3620,\n\t0x29edc: 0x6d356620, 0x29edd: 0x6d21ec20, 0x29edf: 0x6c22f020,\n\t0x29ee6: 0x6d139420, 0x29ee7: 0x6c2f0c20,\n\t0x29ee8: 0x6c145820, 0x29ee9: 0x6c2d9a20, 0x29eea: 0x6c97a220,\n\t0x29eec: 0x6c2afc20, 0x29eed: 0x6ceed020, 0x29eee: 0x6ca75020, 0x29eef: 0x6c835e20,\n\t0x29ef0: 0x6c0db820, 0x29ef1: 0x6cf39420, 0x29ef3: 0x6d320820,\n\t0x29ef6: 0x6cc77420, 0x29ef7: 0x6cec7c20,\n\t0x29ef8: 0x6c9dac20, 0x29ef9: 0x6c6c1020, 0x29efb: 0x6c544620,\n\t0x29efd: 0x6d2d5620, 0x29efe: 0x6cc80a20, 0x29eff: 0x6d3ec620,\n\t// Block 0xa7c, offset 0x29f00\n\t0x29f00: 0x6cac9420, 0x29f02: 0x6ca1a620,\n\t0x29f04: 0x6c9db220, 0x29f06: 0x6cb55820, 0x29f07: 0x6ca1a820,\n\t0x29f0a: 0x6d342c20, 0x29f0b: 0x6c04b020,\n\t0x29f0d: 0x6c9f1820, 0x29f0f: 0x6c933e20,\n\t0x29f11: 0x6cb55e20, 0x29f12: 0x6c1d0420,\n\t0x29f14: 0x6c84d220, 0x29f15: 0x6d196e20,\n\t0x29f18: 0x6c2b0620, 0x29f19: 0x6c25d220, 0x29f1b: 0x6c339020,\n\t0x29f1c: 0x6c96e820, 0x29f1d: 0x6d0e2c20, 0x29f1f: 0x6d2bba20,\n\t0x29f20: 0x6d0e2e20, 0x29f21: 0x6c339220, 0x29f22: 0x6cb42620,\n\t0x29f25: 0x6d273020,\n\t0x29f29: 0x6c5e5c20, 0x29f2a: 0x6c975420, 0x29f2b: 0x6c664620,\n\t0x29f2c: 0x6ca9e820, 0x29f2d: 0x6cbdc020, 0x29f2f: 0x6cbdc220,\n\t0x29f32: 0x6d13aa20,\n\t0x29f34: 0x6cdf5420,\n\t0x29f39: 0x6c655c20,\n\t0x29f3c: 0x6c141620, 0x29f3e: 0x6c28f220, 0x29f3f: 0x6ce2e220,\n\t// Block 0xa7d, offset 0x29f40\n\t0x29f40: 0x6c87ce20, 0x29f43: 0x6ca77c20,\n\t0x29f44: 0x6c158420, 0x29f45: 0x6d29f620,\n\t0x29f4a: 0x6d24b820,\n\t0x29f4c: 0x6d41e220, 0x29f4d: 0x6c0b2020,\n\t0x29f50: 0x6c1ef820,\n\t0x29f58: 0x6cc48c20, 0x29f5a: 0x6cc49820, 0x29f5b: 0x6d0f7020,\n\t0x29f5c: 0x6c0fe820,\n\t0x29f61: 0x6c247820,\n\t0x29f6c: 0x6c9cae20, 0x29f6e: 0x6c787420,\n\t0x29f70: 0x6c248420,\n\t0x29f77: 0x6cf7ce20,\n\t0x29f79: 0x6c968a20, 0x29f7b: 0x6cd22020,\n\t0x29f7c: 0x6c2d0420, 0x29f7f: 0x6cd22220,\n\t// Block 0xa7e, offset 0x29f80\n\t0x29f82: 0x6c2f7620, 0x29f83: 0x6c6ee420,\n\t0x29f85: 0x6d25a820, 0x29f86: 0x6c41b220,\n\t0x29f8a: 0x6c5ca420, 0x29f8b: 0x6c5f4e20,\n\t0x29f8d: 0x6caed420, 0x29f8f: 0x6c2ab220,\n\t0x29f91: 0x6c085e20,\n\t0x29f94: 0x6cacea20, 0x29f95: 0x6cded420, 0x29f97: 0x6d252220,\n\t0x29f98: 0x6c42ee20, 0x29f99: 0x6d252420,\n\t0x29f9f: 0x6c639220,\n\t0x29fa3: 0x6c799020,\n\t0x29fa6: 0x6c309820,\n\t0x29fa9: 0x6cfbd820, 0x29faa: 0x6cb80620,\n\t0x29fac: 0x6cca7c20,\n\t0x29fb0: 0x6d1b9820, 0x29fb3: 0x6c901a20,\n\t0x29fb6: 0x6ce29a20, 0x29fb7: 0x6c902420,\n\t0x29fba: 0x6cc60820,\n\t0x29fbd: 0x6d1b9020, 0x29fbe: 0x6cb2d820, 0x29fbf: 0x6cb41c20,\n\t// Block 0xa7f, offset 0x29fc0\n\t0x29fc0: 0x6d25be20, 0x29fc1: 0x6cc72a20, 0x29fc3: 0x6c399e20,\n\t0x29fc7: 0x6c4f5820,\n\t0x29fc8: 0x6c9c8820, 0x29fc9: 0x6c55ea20, 0x29fca: 0x6d3eb620,\n\t0x29fcc: 0x6c8d7e20, 0x29fcd: 0x6c6eea20, 0x29fce: 0x6cc72e20,\n\t0x29fd2: 0x6cb2e020, 0x29fd3: 0x6c49fc20,\n\t0x29fd4: 0x6c37ae20,\n\t0x29fdd: 0x6c247e20, 0x29fde: 0x6c760020,\n\t0x29fe6: 0x6d052a20,\n\t0x29fe8: 0x6c377a20, 0x29fe9: 0x6ce44420, 0x29feb: 0x6d0ff820,\n\t0x29fed: 0x6c010a20, 0x29fee: 0x6c560820, 0x29fef: 0x6cf7ca20,\n\t0x29ff1: 0x6c560a20, 0x29ff3: 0x6cd85220,\n\t0x29ff4: 0x6c854e20, 0x29ff6: 0x6d197020, 0x29ff7: 0x6c47f620,\n\t0x29ff9: 0x6ce16a20,\n\t// Block 0xa80, offset 0x2a000\n\t0x2a000: 0x6cc42420, 0x2a001: 0x6d3fe620, 0x2a002: 0x6c84de20,\n\t0x2a004: 0x6c69ec20, 0x2a007: 0x6c38fe20,\n\t0x2a008: 0x6cb47e20, 0x2a009: 0x6cd86620, 0x2a00b: 0x6c6b9020,\n\t0x2a00c: 0x6c91b220, 0x2a00d: 0x6c87d020, 0x2a00e: 0x6c158620,\n\t0x2a010: 0x6d122220,\n\t0x2a015: 0x6c5b0020,\n\t0x2a019: 0x6c53e420, 0x2a01a: 0x6c2cea20, 0x2a01b: 0x6cc0be20,\n\t0x2a01c: 0x6c74f820, 0x2a01e: 0x6cb0d420,\n\t0x2a022: 0x6c7c5220,\n\t0x2a025: 0x6cf82820, 0x2a026: 0x6ce30c20,\n\t0x2a029: 0x6d076820,\n\t0x2a02f: 0x6c0b6220,\n\t0x2a032: 0x6c50b020, 0x2a033: 0x6c88ac20,\n\t0x2a036: 0x6cdb7620, 0x2a037: 0x6c8ab220,\n\t0x2a03c: 0x6c6c7820,\n\t// Block 0xa81, offset 0x2a040\n\t0x2a041: 0x6c87d220, 0x2a042: 0x6c158820,\n\t0x2a045: 0x6cb65a20, 0x2a046: 0x6cb66c20,\n\t0x2a049: 0x6d3ec020, 0x2a04b: 0x6d3ec420,\n\t0x2a04d: 0x6cb6b220, 0x2a04f: 0x6cb6b820,\n\t0x2a050: 0x6d3ed020, 0x2a052: 0x6d2d1020, 0x2a053: 0x6d2d1420,\n\t0x2a054: 0x6cabec20, 0x2a056: 0x6c70d820,\n\t0x2a059: 0x6d0df420,\n\t0x2a05c: 0x6c4f8c20, 0x2a05d: 0x6ca37020,\n\t0x2a064: 0x6d0e0220, 0x2a066: 0x6d2e9c20, 0x2a067: 0x6cd2e020,\n\t0x2a068: 0x6d34ba20,\n\t0x2a06d: 0x6d2c0a20,\n\t0x2a074: 0x6cc73420, 0x2a075: 0x6d2c0c20, 0x2a077: 0x6d195820,\n\t0x2a078: 0x6ca02820, 0x2a079: 0x6d0b4020, 0x2a07b: 0x6d376620,\n\t0x2a07d: 0x6c7e3020, 0x2a07e: 0x6cfa1c20,\n\t// Block 0xa82, offset 0x2a080\n\t0x2a080: 0x6cb13820, 0x2a081: 0x6cdeec20, 0x2a083: 0x6d162a20,\n\t0x2a086: 0x6d051620, 0x2a087: 0x6d2d0c20,\n\t0x2a089: 0x6c34c420, 0x2a08a: 0x6c36e420,\n\t0x2a08e: 0x6d1ab420,\n\t0x2a090: 0x6c36ee20, 0x2a091: 0x6cdb8e20, 0x2a092: 0x6c016420, 0x2a093: 0x6c260420,\n\t0x2a095: 0x6ceb6420, 0x2a097: 0x6ceb6620,\n\t0x2a098: 0x6cfa1e20, 0x2a09b: 0x6c21ea20,\n\t0x2a09d: 0x6cdb9020,\n\t0x2a0a5: 0x6c62f420, 0x2a0a6: 0x6cba3620, 0x2a0a7: 0x6d410420,\n\t0x2a0a8: 0x6d2d0e20, 0x2a0a9: 0x6d280e20, 0x2a0aa: 0x6d2ea620,\n\t0x2a0ac: 0x6d159c20,\n\t0x2a0b2: 0x6d0b4220, 0x2a0b3: 0x6d266020,\n\t0x2a0b9: 0x6c51ac20, 0x2a0ba: 0x6cb88820,\n\t0x2a0be: 0x6c13c220,\n\t// Block 0xa83, offset 0x2a0c0\n\t0x2a0c3: 0x6cab7020,\n\t0x2a0c8: 0x6c560c20, 0x2a0ca: 0x6d0f2020,\n\t0x2a0cc: 0x6cbd0e20, 0x2a0cd: 0x6c0fd820, 0x2a0ce: 0x6cbafe20, 0x2a0cf: 0x6c6c1420,\n\t0x2a0db: 0x6ca6e820,\n\t0x2a0de: 0x6c162420, 0x2a0df: 0x6cbdf620,\n\t0x2a0e1: 0x6d2a3220,\n\t0x2a0e4: 0x6d1b3220, 0x2a0e5: 0x6d029c20, 0x2a0e7: 0x6cb6ba20,\n\t0x2a0e8: 0x6c673420, 0x2a0eb: 0x6d061420,\n\t0x2a0ed: 0x6d2bbc20, 0x2a0ef: 0x6c370420,\n\t0x2a0f3: 0x6d40a020,\n\t0x2a0f4: 0x6d163220,\n\t0x2a0f9: 0x6d34c820, 0x2a0fa: 0x6c87d420,\n\t0x2a0fd: 0x6c87d620, 0x2a0fe: 0x6d1aba20,\n\t// Block 0xa84, offset 0x2a100\n\t0x2a101: 0x6c88b220, 0x2a103: 0x6c158a20,\n\t0x2a105: 0x6c754820, 0x2a107: 0x6d28e620,\n\t0x2a10e: 0x6d2d1620, 0x2a10f: 0x6cb12220,\n\t0x2a111: 0x6c8fd220, 0x2a113: 0x6c8fd420,\n\t0x2a118: 0x6c8fe220,\n\t0x2a11d: 0x6c900020,\n\t0x2a120: 0x6c900c20, 0x2a122: 0x6c98b220,\n\t0x2a125: 0x6d30d020,\n\t0x2a12c: 0x6c423a20, 0x2a12d: 0x6c466a20, 0x2a12e: 0x6cc49a20, 0x2a12f: 0x6c248020,\n\t0x2a130: 0x6c68aa20,\n\t0x2a137: 0x6c0fec20,\n\t0x2a139: 0x6d3b4c20, 0x2a13a: 0x6cbfe820, 0x2a13b: 0x6d0f7220,\n\t// Block 0xa85, offset 0x2a140\n\t0x2a140: 0x6d003020, 0x2a142: 0x6c5b4820, 0x2a143: 0x6cc16c20,\n\t0x2a148: 0x6c8e0220, 0x2a14a: 0x6d1ab220,\n\t0x2a14e: 0x6cb0e820,\n\t0x2a152: 0x6c88b020,\n\t// Block 0xa86, offset 0x2a180\n\t0x2a19d: 0x6c343c20,\n\t// Block 0xa87, offset 0x2a1c0\n\t0x2a1c8: 0x6c040c20,\n\t0x2a1cf: 0x6d2d9220,\n\t// Block 0xa88, offset 0x2a200\n\t0x2a22e: 0x6c943c20,\n\t// Block 0xa89, offset 0x2a240\n\t0x2a24a: 0x6cd94a20,\n\t0x2a257: 0x6c73ac20,\n\t// Block 0xa8a, offset 0x2a280\n\t0x2a29d: 0x6d1d8e20,\n\t// Block 0xa8b, offset 0x2a2c0\n\t0x2a2f9: 0x6caa5c20,\n\t// Block 0xa8c, offset 0x2a300\n\t0x2a310: 0x6c230620,\n\t// Block 0xa8d, offset 0x2a340\n\t0x2a362: 0x6cfc9220,\n\t// Block 0xa8e, offset 0x2a380\n\t0x2a3a1: 0x6c85dc20,\n\t// Block 0xa8f, offset 0x2a3c0\n\t0x2a3c8: 0x6c3abc20,\n\t0x2a3d9: 0x6cdb3a20,\n\t// Block 0xa90, offset 0x2a400\n\t0x2a41c: 0x6c79dc20,\n\t// Block 0xa91, offset 0x2a440\n\t0x2a468: 0x6c1a9e20,\n\t0x2a478: 0x6d09b220,\n\t// Block 0xa92, offset 0x2a480\n\t0x2a4b0: 0x6cb86a20,\n\t// Block 0xa93, offset 0x2a4c0\n\t0x2a4d0: 0x6c45fe20,\n\t// Block 0xa94, offset 0x2a500\n\t0x2a500: 0x6c5ef220,\n\t0x2a528: 0x6c953a20,\n\t// Block 0xa95, offset 0x2a540\n\t0x2a559: 0x6d165020,\n\t0x2a55f: 0x6d146820,\n\t0x2a562: 0x6ca49820,\n\t0x2a570: 0x6cf7de20, 0x2a572: 0x6cffaa20,\n\t// Block 0xa96, offset 0x2a580\n\t0x2a58b: 0x6c73b020,\n\t// Block 0xa97, offset 0x2a5c0\n\t0x2a5c4: 0x6d268220, 0x2a5c6: 0x6c7b1020,\n\t0x2a5c9: 0x6c8cc220,\n\t0x2a5d0: 0x6ca5f020, 0x2a5d3: 0x6c108a20,\n\t// Block 0xa98, offset 0x2a600\n\t0x2a636: 0x6c4e3a20,\n\t// Block 0xa99, offset 0x2a640\n\t0x2a667: 0x6c3d5820,\n\t0x2a669: 0x6c230a20,\n\t// Block 0xa9a, offset 0x2a680\n\t0x2a68e: 0x6c74d220,\n\t// Block 0xa9b, offset 0x2a6c0\n\t0x2a6e0: 0x6d2eb220,\n\t0x2a6e6: 0x6c109020, 0x2a6e7: 0x6cda9a20,\n\t0x2a6ee: 0x6c59cc20,\n\t0x2a6f4: 0x6d2da220,\n\t// Block 0xa9c, offset 0x2a700\n\t0x2a71d: 0x6c73ea20,\n\t0x2a723: 0x6c4ea420,\n\t0x2a724: 0x6c003a20,\n\t0x2a728: 0x6ce33820,\n\t// Block 0xa9d, offset 0x2a740\n\t0x2a748: 0x6d06ca20, 0x2a749: 0x6c534620,\n\t0x2a752: 0x6c3e4620,\n\t0x2a754: 0x6c5b4020, 0x2a755: 0x6cd1e620,\n\t0x2a759: 0x6cb41220,\n\t// Block 0xa9e, offset 0x2a780\n\t0x2a79b: 0x6d33bc20,\n\t0x2a79e: 0x6c740c20,\n\t0x2a7a2: 0x6ca90020,\n\t0x2a7b6: 0x6c1c5220,\n\t0x2a7b8: 0x6ce36020,\n\t// Block 0xa9f, offset 0x2a7c0\n\t0x2a7c0: 0x6c857420, 0x2a7c1: 0x6cecb420, 0x2a7c2: 0x6d144620, 0x2a7c3: 0x48024420,\n\t0x2a7c4: 0x6ca62220, 0x2a7c5: 0x6cf43220, 0x2a7c6: 0x6ce9f420, 0x2a7c7: 0x6c0e1020,\n\t0x2a7c8: 0x6d28b220, 0x2a7c9: 0x6c071c20, 0x2a7ca: 0x6ccbb820, 0x2a7cb: 0x6cfe3c20,\n\t0x2a7cc: 0x6c75ee20, 0x2a7cd: 0x6cddc620, 0x2a7ce: 0x6c9dfe20, 0x2a7cf: 0x6ce92020,\n\t0x2a7d0: 0x6c5a2a20, 0x2a7d1: 0x6c720620, 0x2a7d2: 0x480a3820, 0x2a7d3: 0x44697220,\n\t0x2a7d4: 0x6ca57e20, 0x2a7d5: 0x6d292620, 0x2a7d6: 0x480a9620, 0x2a7d7: 0x6cc6ec20,\n\t0x2a7d8: 0x6d24d020, 0x2a7d9: 0x6c0da020, 0x2a7da: 0x6c2fd820, 0x2a7db: 0x6c7bdc20,\n\t0x2a7dc: 0x6cbee220, 0x2a7dd: 0x6cb9ec20, 0x2a7de: 0x6cc5a020, 0x2a7df: 0x6cafae20,\n\t0x2a7e0: 0x6c787a20, 0x2a7e1: 0x6c95a620, 0x2a7e2: 0x6c438c20, 0x2a7e3: 0x6c15bc20,\n\t0x2a7e4: 0x6c5fc020, 0x2a7e5: 0x6d1e1820, 0x2a7e6: 0x6c9e0c20, 0x2a7e7: 0x6cbd7c20,\n\t0x2a7e8: 0x6cce9420, 0x2a7e9: 0x6c059e20, 0x2a7ea: 0x6c22f420, 0x2a7eb: 0x6c06c620,\n\t0x2a7ec: 0x6c5b8420, 0x2a7ed: 0x6c068e20, 0x2a7ee: 0x6c0efe20, 0x2a7ef: 0x6c5fd220,\n\t0x2a7f0: 0x6c5fec20, 0x2a7f1: 0x6cbe3a20, 0x2a7f2: 0x6cbe3a20, 0x2a7f3: 0x6cbe3a20,\n\t0x2a7f4: 0x48145820, 0x2a7f5: 0x6c5a8620, 0x2a7f6: 0x6c5fb820, 0x2a7f7: 0x6cda0e20,\n\t0x2a7f8: 0x4816c620, 0x2a7f9: 0x6c697a20, 0x2a7fa: 0x6c1bd620, 0x2a7fb: 0x6d108620,\n\t0x2a7fc: 0x6cfc7820, 0x2a7fd: 0x6cf56a20, 0x2a7fe: 0x6c19b620, 0x2a7ff: 0x6d385a20,\n\t// Block 0xaa0, offset 0x2a800\n\t0x2a800: 0x6c35e420, 0x2a801: 0x6c9ec220, 0x2a802: 0x6ce0e820, 0x2a803: 0x6cb6ec20,\n\t0x2a804: 0x6cfb5820, 0x2a805: 0x6ccd8a20, 0x2a806: 0x6ccd8a20, 0x2a807: 0x6c5bbc20,\n\t0x2a808: 0x6c1aae20, 0x2a809: 0x6d2bd620, 0x2a80a: 0x6d110420, 0x2a80b: 0x6ce8d420,\n\t0x2a80c: 0x6ce0a020, 0x2a80d: 0x6ce8d620, 0x2a80e: 0x6c4fd020, 0x2a80f: 0x6cae3420,\n\t0x2a810: 0x6cbc9020, 0x2a811: 0x6d3c2c20, 0x2a812: 0x6c19c620, 0x2a813: 0x6d344c20,\n\t0x2a814: 0x6ce92220, 0x2a815: 0x6d03ca20, 0x2a816: 0x6c223620, 0x2a817: 0x6c064c20,\n\t0x2a818: 0x6c2c7c20, 0x2a819: 0x4829c820, 0x2a81a: 0x6c972420, 0x2a81b: 0x6c554020,\n\t0x2a81c: 0x6c3c9c20, 0x2a81d: 0x6c341620, 0x2a81e: 0x6c9c0420, 0x2a81f: 0x6cceea20,\n\t0x2a820: 0x6c1bda20, 0x2a821: 0x482dd420, 0x2a822: 0x6c5ea220, 0x2a823: 0x6d20ec20,\n\t0x2a824: 0x6ce9f820, 0x2a825: 0x6cb1e820, 0x2a826: 0x6c3fe420, 0x2a827: 0x6ccae220,\n\t0x2a828: 0x6c139820, 0x2a829: 0x6cc52820, 0x2a82a: 0x6c804820, 0x2a82b: 0x6c804820,\n\t0x2a82c: 0x48339020, 0x2a82d: 0x6d24da20, 0x2a82e: 0x6d365020, 0x2a82f: 0x6ca91020,\n\t0x2a830: 0x6c061c20, 0x2a831: 0x6c81ee20, 0x2a832: 0x6cd45020, 0x2a833: 0x6c674e20,\n\t0x2a834: 0x6c28f820, 0x2a835: 0x6d1edc20, 0x2a836: 0x6d11f020, 0x2a837: 0x6ce8a020,\n\t0x2a838: 0x6c17fa20, 0x2a839: 0x6d053020, 0x2a83a: 0x6cb8a420, 0x2a83b: 0x6cf3b020,\n\t0x2a83c: 0x6d0d7a20, 0x2a83d: 0x483bcc20, 0x2a83e: 0x6c2ccc20, 0x2a83f: 0x6d3e3620,\n\t// Block 0xaa1, offset 0x2a840\n\t0x2a840: 0x6c15c620, 0x2a841: 0x6d09d820, 0x2a842: 0x6c175e20, 0x2a843: 0x6d15b220,\n\t0x2a844: 0x6d0a8c20, 0x2a845: 0x6cd71420, 0x2a846: 0x6c997a20, 0x2a847: 0x6c3b8620,\n\t0x2a848: 0x6c980020, 0x2a849: 0x48430620, 0x2a84a: 0x6d16e820, 0x2a84b: 0x6c0e0e20,\n\t0x2a84c: 0x6c097620, 0x2a84d: 0x6cd5c220, 0x2a84e: 0x6c80b420, 0x2a84f: 0x6cd79620,\n\t0x2a850: 0x6c45cc20, 0x2a851: 0x48466220, 0x2a852: 0x48466220, 0x2a853: 0x6d20e820,\n\t0x2a854: 0x6ce1b020, 0x2a855: 0x6ce1b020, 0x2a856: 0x6d16b220, 0x2a857: 0x48657020,\n\t0x2a858: 0x48c3b420, 0x2a859: 0x6d03c020, 0x2a85a: 0x6c2dc420, 0x2a85b: 0x6ccd7820,\n\t0x2a85c: 0x6c300020, 0x2a85d: 0x6cc58620, 0x2a85e: 0x6d357420, 0x2a85f: 0x6c7bb620,\n\t0x2a860: 0x6d24d420, 0x2a861: 0x6c5a4620, 0x2a862: 0x6c73f820, 0x2a863: 0x6c5b4c20,\n\t0x2a864: 0x6c2ff820, 0x2a865: 0x6c339820, 0x2a866: 0x6c224e20, 0x2a867: 0x6c599420,\n\t0x2a868: 0x6cd0ac20, 0x2a869: 0x6c599420, 0x2a86a: 0x6c90a220, 0x2a86b: 0x6d2b8a20,\n\t0x2a86c: 0x6cfd0820, 0x2a86d: 0x6c3be420, 0x2a86e: 0x6c11da20, 0x2a86f: 0x6c9b4a20,\n\t0x2a870: 0x6c1a5420, 0x2a871: 0x6c804a20, 0x2a872: 0x6c19b220, 0x2a873: 0x6c63b620,\n\t0x2a874: 0x6c7a1820, 0x2a875: 0x6c063220, 0x2a876: 0x6c036820, 0x2a877: 0x6c72e420,\n\t0x2a878: 0x48561820, 0x2a879: 0x6cecf820, 0x2a87a: 0x6cb1ea20, 0x2a87b: 0x6ccf2c20,\n\t0x2a87c: 0x6ccae020, 0x2a87d: 0x6c600020, 0x2a87e: 0x4857e220, 0x2a87f: 0x6c6d1420,\n\t// Block 0xaa2, offset 0x2a880\n\t0x2a880: 0x6d0ca820, 0x2a881: 0x6d0d6620, 0x2a882: 0x6c30b620, 0x2a883: 0x6ca07220,\n\t0x2a884: 0x6c67f620, 0x2a885: 0x6c5ae420, 0x2a886: 0x6c691420, 0x2a887: 0x4474d820,\n\t0x2a888: 0x6c9fa820, 0x2a889: 0x6c6e8420, 0x2a88a: 0x48601420, 0x2a88b: 0x6c61ec20,\n\t0x2a88c: 0x6cd4b820, 0x2a88d: 0x6c6cea20, 0x2a88e: 0x6cf01620, 0x2a88f: 0x6cd55a20,\n\t0x2a890: 0x6cf15420, 0x2a891: 0x6c16e420, 0x2a892: 0x6c994e20, 0x2a893: 0x6c9e1820,\n\t0x2a894: 0x6d41b020, 0x2a895: 0x6c6d2820, 0x2a896: 0x6ca31420, 0x2a897: 0x6ce05420,\n\t0x2a898: 0x6c80f820, 0x2a899: 0x6cee5220, 0x2a89a: 0x6d3f9820, 0x2a89b: 0x6cb6d620,\n\t0x2a89c: 0x6c0bea20, 0x2a89d: 0x48678620, 0x2a89e: 0x6c572820, 0x2a89f: 0x6c48dc20,\n\t0x2a8a0: 0x6c5e8e20, 0x2a8a1: 0x6cca6a20, 0x2a8a2: 0x6c99ec20, 0x2a8a3: 0x4868da20,\n\t0x2a8a4: 0x6c022a20, 0x2a8a5: 0x6c078420, 0x2a8a6: 0x6d3e3a20, 0x2a8a7: 0x6c513820,\n\t0x2a8a8: 0x6d2be020, 0x2a8a9: 0x6d112020, 0x2a8aa: 0x6c415020, 0x2a8ab: 0x6ccefe20,\n\t0x2a8ac: 0x486d4620, 0x2a8ad: 0x6d370620, 0x2a8ae: 0x6d159820, 0x2a8af: 0x6c22aa20,\n\t0x2a8b0: 0x48714e20, 0x2a8b1: 0x6d05d420, 0x2a8b2: 0x6c7d9c20, 0x2a8b3: 0x6cdc4620,\n\t0x2a8b4: 0x6cf15820, 0x2a8b5: 0x6ccbda20, 0x2a8b6: 0x6cbc4020, 0x2a8b7: 0x48751a20,\n\t0x2a8b8: 0x483a1620, 0x2a8b9: 0x4875f420, 0x2a8ba: 0x6c391c20, 0x2a8bb: 0x48797820,\n\t0x2a8bc: 0x6d0c6820, 0x2a8bd: 0x6c077e20, 0x2a8be: 0x6cb8a820, 0x2a8bf: 0x6cf3b620,\n\t// Block 0xaa3, offset 0x2a8c0\n\t0x2a8c0: 0x6cac1e20, 0x2a8c1: 0x6c4d3a20, 0x2a8c2: 0x6c8e4a20, 0x2a8c3: 0x6c502e20,\n\t0x2a8c4: 0x6c6cee20, 0x2a8c5: 0x6ca80820, 0x2a8c6: 0x6c07ac20, 0x2a8c7: 0x6cb28620,\n\t0x2a8c8: 0x6c42a220, 0x2a8c9: 0x6d0c0820, 0x2a8ca: 0x6c903620, 0x2a8cb: 0x6d3e4020,\n\t0x2a8cc: 0x6c2cce20, 0x2a8cd: 0x6ccc0a20, 0x2a8ce: 0x6d0bf820, 0x2a8cf: 0x6c177620,\n\t0x2a8d0: 0x487ebc20, 0x2a8d1: 0x487f1c20, 0x2a8d2: 0x6c3b8c20, 0x2a8d3: 0x6d270a20,\n\t0x2a8d4: 0x6c6eb420, 0x2a8d5: 0x6d1cba20, 0x2a8d6: 0x6cd63020, 0x2a8d7: 0x6cb9e020,\n\t0x2a8d8: 0x6d28f220, 0x2a8d9: 0x6d3bbe20, 0x2a8da: 0x6ce08e20, 0x2a8db: 0x480a4a20,\n\t0x2a8dc: 0x6c32cc20, 0x2a8dd: 0x4884c620, 0x2a8de: 0x6c233e20, 0x2a8df: 0x48875620,\n\t0x2a8e0: 0x6c24c420, 0x2a8e1: 0x6c74c820, 0x2a8e2: 0x6d2c3a20, 0x2a8e3: 0x488c1020,\n\t0x2a8e4: 0x6cf61a20, 0x2a8e5: 0x6c074020, 0x2a8e6: 0x6d0e3c20, 0x2a8e7: 0x48902820,\n\t0x2a8e8: 0x6cde2020, 0x2a8e9: 0x6cedda20, 0x2a8ea: 0x6c45d620, 0x2a8eb: 0x6d268820,\n\t0x2a8ec: 0x6cb29020, 0x2a8ed: 0x6cb29020, 0x2a8ee: 0x6c277a20, 0x2a8ef: 0x6d215e20,\n\t0x2a8f0: 0x6d325020, 0x2a8f1: 0x6cdd8a20, 0x2a8f2: 0x6cbf7620, 0x2a8f3: 0x6d03d220,\n\t0x2a8f4: 0x6cc89c20, 0x2a8f5: 0x48986c20, 0x2a8f6: 0x6d28f620, 0x2a8f7: 0x48992420,\n\t0x2a8f8: 0x6d176620, 0x2a8f9: 0x6cb2b420, 0x2a8fa: 0x6d226e20, 0x2a8fb: 0x489f4220,\n\t0x2a8fc: 0x489f7020, 0x2a8fd: 0x48a08820, 0x2a8fe: 0x6d0c7620, 0x2a8ff: 0x6c627820,\n\t// Block 0xaa4, offset 0x2a900\n\t0x2a900: 0x6d344020, 0x2a901: 0x48a1e620, 0x2a902: 0x48a1e420, 0x2a903: 0x48a23220,\n\t0x2a904: 0x48a26620, 0x2a905: 0x6d313c20, 0x2a906: 0x6d313e20, 0x2a907: 0x6d313e20,\n\t0x2a908: 0x6c736420, 0x2a909: 0x6c6ad220, 0x2a90a: 0x6c188220, 0x2a90b: 0x6d130220,\n\t0x2a90c: 0x6cd23420, 0x2a90d: 0x48a83a20, 0x2a90e: 0x6d03e220, 0x2a90f: 0x6c926e20,\n\t0x2a910: 0x6ce4ba20, 0x2a911: 0x6c5b7020, 0x2a912: 0x6c6fd820, 0x2a913: 0x6d411420,\n\t0x2a914: 0x6c1baa20, 0x2a915: 0x6c8f3a20, 0x2a916: 0x6c3e9c20, 0x2a917: 0x6cd52420,\n\t0x2a918: 0x6c657420, 0x2a919: 0x6c47c420, 0x2a91a: 0x6c624a20, 0x2a91b: 0x6cf1f020,\n\t0x2a91c: 0x48b2f820, 0x2a91d: 0x6ce4c020, 0x2a91e: 0x6ce4c020, 0x2a91f: 0x6cb26020,\n\t0x2a920: 0x6cb2be20, 0x2a921: 0x48b75620, 0x2a922: 0x6d3bde20, 0x2a923: 0x6d3a2820,\n\t0x2a924: 0x6cf00020, 0x2a925: 0x6c178020, 0x2a926: 0x6c076020, 0x2a927: 0x6cf8f420,\n\t0x2a928: 0x6c680820, 0x2a929: 0x6cca3020, 0x2a92a: 0x6c61b020, 0x2a92b: 0x48bf0c20,\n\t0x2a92c: 0x6c07ee20, 0x2a92d: 0x6d10b020, 0x2a92e: 0x6d3e6a20, 0x2a92f: 0x6d400620,\n\t0x2a930: 0x6ccac220, 0x2a931: 0x6c965020, 0x2a932: 0x6d03dc20, 0x2a933: 0x48c48e20,\n\t0x2a934: 0x6c9a0420, 0x2a935: 0x48c5b220, 0x2a936: 0x6c177e20, 0x2a937: 0x48c67c20,\n\t0x2a938: 0x6d104a20, 0x2a939: 0x6c027e20, 0x2a93a: 0x6d30d220, 0x2a93b: 0x48c9b420,\n\t0x2a93c: 0x48ca4620, 0x2a93d: 0x6cb25820, 0x2a93e: 0x48cb5020, 0x2a93f: 0x6c236620,\n\t// Block 0xaa5, offset 0x2a940\n\t0x2a940: 0x6c78f420, 0x2a941: 0x6cc5d220, 0x2a942: 0x6d22da20, 0x2a943: 0x6c252c20,\n\t0x2a944: 0x6c231a20, 0x2a945: 0x6caff420, 0x2a946: 0x6d1d4020, 0x2a947: 0x48cf4e20,\n\t0x2a948: 0x48cf6a20, 0x2a949: 0x6d085420, 0x2a94a: 0x48673820, 0x2a94b: 0x6d20e820,\n\t0x2a94c: 0x6cf89220, 0x2a94d: 0x6c225220, 0x2a94e: 0x6c07f020, 0x2a94f: 0x6cb6ce20,\n\t0x2a950: 0x6d22c820, 0x2a951: 0x6d338420, 0x2a952: 0x6c813e20, 0x2a953: 0x6c570620,\n\t0x2a954: 0x6c398620, 0x2a955: 0x6d0b1420, 0x2a956: 0x6c7a7620, 0x2a957: 0x48d67820,\n\t0x2a958: 0x6cc91420, 0x2a959: 0x6c148e20, 0x2a95a: 0x6cc65e20, 0x2a95b: 0x6c6aa820,\n\t0x2a95c: 0x6cf3bc20, 0x2a95d: 0x6c988a20, 0x2a95e: 0x6c2bf220, 0x2a95f: 0x6d311420,\n\t0x2a960: 0x6cb28e20, 0x2a961: 0x6c711c20, 0x2a962: 0x6c757020, 0x2a963: 0x6c114420,\n\t0x2a964: 0x48d86c20, 0x2a965: 0x6cdd8420, 0x2a966: 0x48d9aa20, 0x2a967: 0x448a5620,\n\t0x2a968: 0x6cb2ae20, 0x2a969: 0x6c6ca620, 0x2a96a: 0x6c25ea20, 0x2a96b: 0x48e79420,\n\t0x2a96c: 0x6cc8a220, 0x2a96d: 0x48de5820, 0x2a96e: 0x6c19a420, 0x2a96f: 0x6c936e20,\n\t0x2a970: 0x6c175420, 0x2a971: 0x6c93c420, 0x2a972: 0x6c7cba20, 0x2a973: 0x6caaa220,\n\t0x2a974: 0x6c91c420, 0x2a975: 0x6c7c4820, 0x2a976: 0x6cf90620, 0x2a977: 0x6c1aa420,\n\t0x2a978: 0x6cb8ca20, 0x2a979: 0x6d24fc20, 0x2a97a: 0x6cb2b020, 0x2a97b: 0x6d276220,\n\t0x2a97c: 0x6c2ed620, 0x2a97d: 0x6d39be20, 0x2a97e: 0x6c22de20, 0x2a97f: 0x6c5f4420,\n\t// Block 0xaa6, offset 0x2a980\n\t0x2a980: 0x6c4b2220, 0x2a981: 0x6cfe0220, 0x2a982: 0x6c22ec20, 0x2a983: 0x6d3cd820,\n\t0x2a984: 0x6d13be20, 0x2a985: 0x6c668020, 0x2a986: 0x6c8e6020, 0x2a987: 0x6cd72420,\n\t0x2a988: 0x6c929c20, 0x2a989: 0x6d0daa20, 0x2a98a: 0x6c996a20, 0x2a98b: 0x48f15c20,\n\t0x2a98c: 0x48f2cc20, 0x2a98d: 0x6ca8e820, 0x2a98e: 0x6d25ea20, 0x2a98f: 0x6c1a2220,\n\t0x2a990: 0x6d23f620, 0x2a991: 0x6c0bdc20, 0x2a992: 0x6cd2b020, 0x2a993: 0x6c649220,\n\t0x2a994: 0x6c498620, 0x2a995: 0x6c09b020, 0x2a996: 0x6c424420, 0x2a997: 0x6cb6ea20,\n\t0x2a998: 0x6cd61020, 0x2a999: 0x6d2fdc20, 0x2a99a: 0x6c038220, 0x2a99b: 0x6c658c20,\n\t0x2a99c: 0x6cb11c20, 0x2a99d: 0x4811bc20, 0x2a99e: 0x6cc5e420, 0x2a99f: 0x6cd50820,\n\t0x2a9a0: 0x490ba420, 0x2a9a1: 0x490bda20, 0x2a9a2: 0x6cb6c420, 0x2a9a3: 0x6cb27e20,\n\t0x2a9a4: 0x6d3e4a20, 0x2a9a5: 0x490e5c20, 0x2a9a6: 0x6c176420, 0x2a9a7: 0x6c0f1c20,\n\t0x2a9a8: 0x6d07ca20, 0x2a9a9: 0x6c575620, 0x2a9aa: 0x6c0dee20, 0x2a9ab: 0x6cbb5020,\n\t0x2a9ac: 0x6d295820, 0x2a9ad: 0x4917f420, 0x2a9ae: 0x6c763420, 0x2a9af: 0x6cae7c20,\n\t0x2a9b0: 0x6ccca420, 0x2a9b1: 0x491aee20, 0x2a9b2: 0x6cef3620, 0x2a9b3: 0x6cb8e820,\n\t0x2a9b4: 0x6cf69820, 0x2a9b5: 0x6d280620, 0x2a9b6: 0x6cace820, 0x2a9b7: 0x6cb26420,\n\t0x2a9b8: 0x6c930020, 0x2a9b9: 0x6c160820, 0x2a9ba: 0x6c0ab220, 0x2a9bb: 0x49281420,\n\t0x2a9bc: 0x6c7d6c20, 0x2a9bd: 0x6d0eb020, 0x2a9be: 0x6c35b420, 0x2a9bf: 0x6c35b420,\n\t// Block 0xaa7, offset 0x2a9c0\n\t0x2a9c0: 0x6cb26620, 0x2a9c1: 0x6d097020, 0x2a9c2: 0x6c5eb020, 0x2a9c3: 0x6c04d420,\n\t0x2a9c4: 0x6c36b220, 0x2a9c5: 0x6d276c20, 0x2a9c6: 0x6c060a20, 0x2a9c7: 0x6cea1420,\n\t0x2a9c8: 0x6c423020, 0x2a9c9: 0x6cbf6820, 0x2a9ca: 0x6d320420, 0x2a9cb: 0x6c62d820,\n\t0x2a9cc: 0x6c64ec20, 0x2a9cd: 0x6c702e20, 0x2a9ce: 0x6c60f620, 0x2a9cf: 0x6cb02c20,\n\t0x2a9d0: 0x6d21ea20, 0x2a9d1: 0x6c968620, 0x2a9d2: 0x6ccc2e20, 0x2a9d3: 0x49441c20,\n\t0x2a9d4: 0x49452220, 0x2a9d5: 0x6c966820, 0x2a9d6: 0x6cba8620, 0x2a9d7: 0x6d353420,\n\t0x2a9d8: 0x6c9e0a20, 0x2a9d9: 0x6d342a20, 0x2a9da: 0x6c9d7420, 0x2a9db: 0x6c3ba420,\n\t0x2a9dc: 0x6c08a220, 0x2a9dd: 0x6cb13820,\n\t// Block 0xaa8, offset 0x2aa00\n\t0x2aa00: 0x6c00c220, 0x2aa01: 0xe0002416, 0x2aa02: 0x029cb684, 0x2aa03: 0x029cb484,\n\t0x2aa04: 0x6c000e20, 0x2aa05: 0x029d7684, 0x2aa06: 0x6c008a20, 0x2aa07: 0x6c009220,\n\t0x2aa08: 0x6c009e20, 0x2aa09: 0x02a40484, 0x2aa0a: 0x6c00b820, 0x2aa0b: 0xe0002413,\n\t0x2aa0c: 0x6c01a420, 0x2aa0d: 0x6c01a620, 0x2aa0e: 0xe000241f, 0x2aa0f: 0x02b84684,\n\t0x2aa10: 0x02b84484, 0x2aa11: 0xe0002422, 0x2aa12: 0x02bbe684, 0x2aa13: 0x02bcf484,\n\t0x2aa14: 0x02bea284, 0x2aa15: 0x6c01e620, 0x2aa16: 0x02bf8884, 0x2aa17: 0xe0002428,\n\t0x2aa18: 0x02c49884, 0x2aa19: 0x02ca6a84, 0x2aa1b: 0x02cbc284,\n\t0x2aa1c: 0x6c049420, 0x2aa1d: 0x6c049a20, 0x2aa1e: 0xe0002436, 0x2aa1f: 0x2c098083,\n\t0x2aa20: 0x02d82284, 0x2aa21: 0x02d86a84, 0x2aa22: 0x02d87484, 0x2aa23: 0x02e0d884,\n\t0x2aa24: 0x02e45684, 0x2aa25: 0x6c04d420, 0x2aa26: 0x029c5884, 0x2aa27: 0x6c04ee20,\n\t0x2aa28: 0x02e55a84, 0x2aa29: 0xe000243f, 0x2aa2a: 0x6c0a1820, 0x2aa2b: 0xe0002445,\n\t0x2aa2c: 0x6c0a3220, 0x2aa2d: 0x02f27684, 0x2aa2e: 0x6c13f420, 0x2aa2f: 0x02f9f284,\n\t0x2aa30: 0x02fd3e84, 0x2aa31: 0x02fea684, 0x2aa32: 0x02fea484, 0x2aa33: 0xe0002451,\n\t0x2aa34: 0xe0002454, 0x2aa35: 0xe000244e, 0x2aa36: 0x6c143820, 0x2aa37: 0xe000245a,\n\t0x2aa38: 0x02ff1684, 0x2aa39: 0x03000484, 0x2aa3a: 0x03010084, 0x2aa3b: 0xe000245d,\n\t0x2aa3c: 0x6c050a20, 0x2aa3d: 0xe0002463, 0x2aa3e: 0x6c020220, 0x2aa3f: 0xe0002466,\n\t// Block 0xaa9, offset 0x2aa40\n\t0x2aa40: 0xe0002469, 0x2aa41: 0x030c9c84, 0x2aa42: 0x0310c884, 0x2aa43: 0x03130084,\n\t0x2aa44: 0x0312fe84, 0x2aa45: 0x03138284, 0x2aa46: 0x6c26a420, 0x2aa47: 0xe000246c,\n\t0x2aa48: 0x03174084, 0x2aa49: 0x031a3a84, 0x2aa4a: 0x6c270020, 0x2aa4b: 0x031ecc84,\n\t0x2aa4c: 0x6c020620, 0x2aa4d: 0x6c051c20, 0x2aa4e: 0xe0002475, 0x2aa4f: 0x6c00cc20,\n\t0x2aa50: 0x03290a84, 0x2aa51: 0x032aee84, 0x2aa52: 0x032af084, 0x2aa53: 0x032afe84,\n\t0x2aa54: 0x032bd084, 0x2aa55: 0xe000247b, 0x2aa56: 0x6c00ce20, 0x2aa57: 0x6c427620,\n\t0x2aa58: 0x032ea484, 0x2aa59: 0x032fcc84, 0x2aa5a: 0x0330ea84, 0x2aa5b: 0x03319c84,\n\t0x2aa5c: 0x0331bc84, 0x2aa5d: 0x0331be84, 0x2aa5e: 0x6c636020, 0x2aa5f: 0x0331c084,\n\t0x2aa60: 0x0332c684, 0x2aa61: 0xe0002484, 0x2aa62: 0x0334d884, 0x2aa63: 0x6c63aa20,\n\t0x2aa64: 0xe000248a, 0x2aa65: 0x0338f884, 0x2aa66: 0x033c3e84, 0x2aa67: 0xe000248d,\n\t0x2aa68: 0x033d4c84, 0x2aa69: 0x033d8884, 0x2aa6a: 0x033dfc84, 0x2aa6b: 0xe0002490,\n\t0x2aa6c: 0x033ea084, 0x2aa6d: 0xe0002493, 0x2aa6e: 0x033efe84, 0x2aa6f: 0xe0002496,\n\t0x2aa70: 0x033f3284, 0x2aa71: 0xe0002499, 0x2aa72: 0xe000249c, 0x2aa73: 0x2c28ac83,\n\t// Block 0xaaa, offset 0x2aa80\n\t0x2aa80: 0x2c000286, 0x2aa81: 0x2c000483, 0x2aa82: 0x2c000683, 0x2aa83: 0x2c000883,\n\t0x2aa84: 0x2c001084, 0x2aa85: 0x2c002483, 0x2aa86: 0x2c007486, 0x2aa87: 0x2c007c83,\n\t0x2aa88: 0x2c007e84, 0x2aa89: 0x2c008483, 0x2aa8a: 0x2c008683, 0x2aa8b: 0x2c008884,\n\t0x2aa8c: 0x2c008c83, 0x2aa8d: 0x2c008e83, 0x2aa8e: 0x2c009083, 0x2aa8f: 0x2c009483,\n\t0x2aa90: 0x2c009a83, 0x2aa91: 0x2c00a083, 0x2aa92: 0x2c00a883, 0x2aa93: 0x2c00aa83,\n\t0x2aa94: 0x2c00ac83, 0x2aa95: 0x2c00b083, 0x2aa96: 0x2c00b483, 0x2aa97: 0x2c00b685,\n\t0x2aa98: 0x2c00ba83, 0x2aa99: 0x2c00bc83, 0x2aa9a: 0x2c00be83, 0x2aa9b: 0x2c00c083,\n\t0x2aa9c: 0x2c00c483, 0x2aa9d: 0x2c018083, 0x2aa9e: 0x2c018283, 0x2aa9f: 0x2c018484,\n\t0x2aaa0: 0x2c018683, 0x2aaa1: 0x2c018883, 0x2aaa2: 0x2c018c83, 0x2aaa3: 0x2c018e83,\n\t0x2aaa4: 0x2c019083, 0x2aaa5: 0x2c019484, 0x2aaa6: 0x2c019683, 0x2aaa7: 0x2c01a083,\n\t0x2aaa8: 0x2c01a283, 0x2aaa9: 0x2c01a883, 0x2aaaa: 0x2c01ac83, 0x2aaab: 0x2c01b283,\n\t0x2aaac: 0x2c01b683, 0x2aaad: 0x2c01ba83, 0x2aaae: 0x2c01bc83, 0x2aaaf: 0x2c01c483,\n\t0x2aab0: 0x2c01c683, 0x2aab1: 0x2c01cc83, 0x2aab2: 0x2c01ce83, 0x2aab3: 0x2c01d283,\n\t0x2aab4: 0x2c01d483, 0x2aab5: 0x2c01d683, 0x2aab6: 0x2c01d883, 0x2aab7: 0x2c01dc83,\n\t0x2aab8: 0x2c01e083, 0x2aab9: 0x2c01e883, 0x2aaba: 0x2c01ec83, 0x2aabb: 0x2c01ee83,\n\t0x2aabc: 0x2c046683, 0x2aabd: 0x2c046c83, 0x2aabe: 0x2c046e83, 0x2aabf: 0x2c047484,\n\t// Block 0xaab, offset 0x2aac0\n\t0x2aac0: 0x2c047e83, 0x2aac1: 0x2c048083, 0x2aac2: 0x2c048484, 0x2aac3: 0x2c048683,\n\t0x2aac4: 0x2c048a83, 0x2aac5: 0x2c048e83, 0x2aac6: 0x2c049083, 0x2aac7: 0x2c049684,\n\t0x2aac8: 0x2c049883, 0x2aac9: 0x2c049c85, 0x2aaca: 0x2c049e84, 0x2aacb: 0x2c04a683,\n\t0x2aacc: 0x2c04a883, 0x2aacd: 0x2c04ae83, 0x2aace: 0x2c04b483, 0x2aacf: 0x2c04b683,\n\t0x2aad0: 0x2c04bc83, 0x2aad1: 0x2c04be83, 0x2aad2: 0x2c04c283, 0x2aad3: 0x2c04c483,\n\t0x2aad4: 0x2c04c684, 0x2aad5: 0x2c04d084, 0x2aad6: 0x2c04d683, 0x2aad7: 0x2c04de83,\n\t0x2aad8: 0x2c04e083, 0x2aad9: 0x2c04e483, 0x2aada: 0x2c04e883, 0x2aadb: 0x2c04ec83,\n\t0x2aadc: 0x2c04f083, 0x2aadd: 0x2c04f483, 0x2aade: 0x2c09ee83, 0x2aadf: 0x2c09f283,\n\t0x2aae0: 0x2c09fa83, 0x2aae1: 0x2c09fc83, 0x2aae2: 0x2c09fe83, 0x2aae3: 0x2c0a0284,\n\t0x2aae4: 0x2c0a0683, 0x2aae5: 0x2c0a0a83, 0x2aae6: 0x2c0a1a83, 0x2aae7: 0x2c0a2083,\n\t0x2aae8: 0x2c0a2283, 0x2aae9: 0x2c0a2483, 0x2aaea: 0x2c0a2683, 0x2aaeb: 0x2c0a2883,\n\t0x2aaec: 0x2c0a2a83, 0x2aaed: 0x2c0a2c83, 0x2aaee: 0x2c0a2e83, 0x2aaef: 0x2c0a3083,\n\t0x2aaf0: 0x2c0a3483, 0x2aaf1: 0x2c0a3883, 0x2aaf2: 0x2c0a3c83, 0x2aaf3: 0x2c0a4083,\n\t0x2aaf4: 0x2c0a4483, 0x2aaf5: 0x2c141083, 0x2aaf6: 0x2c141483, 0x2aaf7: 0x2c141683,\n\t0x2aaf8: 0x2c143083, 0x2aaf9: 0x2c143483, 0x2aafa: 0x2c143a83, 0x2aafb: 0x2c144283,\n\t0x2aafc: 0x2c144483, 0x2aafd: 0x2c144883, 0x2aafe: 0x2c144c83, 0x2aaff: 0x2c145083,\n\t// Block 0xaac, offset 0x2ab00\n\t0x2ab00: 0x2c145283, 0x2ab01: 0x2c145683, 0x2ab02: 0x2c147a83, 0x2ab03: 0x2c147e83,\n\t0x2ab04: 0x2c148283, 0x2ab05: 0x2c148883, 0x2ab06: 0x2c149083, 0x2ab07: 0x2c149283,\n\t0x2ab08: 0x2c149483, 0x2ab09: 0x2c149883, 0x2ab0a: 0x2c149a83, 0x2ab0b: 0x2c149e83,\n\t0x2ab0c: 0x2c14ca83, 0x2ab0d: 0x2c14cc83, 0x2ab0e: 0x2c14ce83, 0x2ab0f: 0x2c14d083,\n\t0x2ab10: 0x2c14d283, 0x2ab11: 0x2c14d483, 0x2ab12: 0x2c26a083, 0x2ab13: 0x2c26a683,\n\t0x2ab14: 0x2c26aa83, 0x2ab15: 0x2c26e683, 0x2ab16: 0x2c26ea83, 0x2ab17: 0x2c26ec83,\n\t0x2ab18: 0x2c26f283, 0x2ab19: 0x2c26f483, 0x2ab1a: 0x2c26fa83, 0x2ab1b: 0x2c26fc84,\n\t0x2ab1c: 0x2c270283, 0x2ab1d: 0x2c270683, 0x2ab1e: 0x2c270e83, 0x2ab1f: 0x2c271c83,\n\t0x2ab20: 0x2c272083, 0x2ab21: 0x2c272683, 0x2ab22: 0x2c278a83, 0x2ab23: 0x2c27ec83,\n\t0x2ab24: 0x2c27ee83, 0x2ab25: 0x2c27f083, 0x2ab26: 0x2c41dc84, 0x2ab27: 0x2c41fe83,\n\t0x2ab28: 0x2c420283, 0x2ab29: 0x2c421083, 0x2ab2a: 0x2c427283, 0x2ab2b: 0x2c427483,\n\t0x2ab2c: 0x2c427883, 0x2ab2d: 0x2c427a83, 0x2ab2e: 0x2c427e83, 0x2ab2f: 0x2c632e83,\n\t0x2ab30: 0x2c633283, 0x2ab31: 0x2c633483, 0x2ab32: 0x2c633c83, 0x2ab33: 0x2c633e83,\n\t0x2ab34: 0x2c634083, 0x2ab35: 0x2c634e83, 0x2ab36: 0x2c635c83, 0x2ab37: 0x2c636283,\n\t0x2ab38: 0x2c637e83, 0x2ab39: 0x2c638283, 0x2ab3a: 0x2c8a8e83, 0x2ab3b: 0x2c8aae83,\n\t0x2ab3c: 0x2c8ab083, 0x2ab3d: 0x2c8ab283, 0x2ab3e: 0x2c8ab483, 0x2ab3f: 0x2c8aba83,\n\t// Block 0xaad, offset 0x2ab40\n\t0x2ab40: 0x2c8abc83, 0x2ab41: 0x2c8abe83, 0x2ab42: 0x2cb74483, 0x2ab43: 0x2cb75283,\n\t0x2ab44: 0x2cb78283, 0x2ab45: 0x2cb78683, 0x2ab46: 0x2cb78a83, 0x2ab47: 0x2cb79483,\n\t0x2ab48: 0x2ce8b483, 0x2ab49: 0x2ce8b883, 0x2ab4a: 0x2ce8ba83, 0x2ab4b: 0x2ce8be83,\n\t0x2ab4c: 0x2d187483, 0x2ab4d: 0x2d187883, 0x2ab4e: 0x2d187a83, 0x2ab4f: 0x2d188083,\n\t0x2ab50: 0x2d478083, 0x2ab51: 0x2d478283, 0x2ab52: 0x2d75b683, 0x2ab53: 0x2d9f9c83,\n\t0x2ab54: 0x2d9f9e83, 0x2ab55: 0x2dc24283,\n\t0x2ab70: 0x40273a20, 0x2ab71: 0x40273c20, 0x2ab72: 0x40273e20, 0x2ab73: 0x40274020,\n\t0x2ab74: 0x40274220, 0x2ab75: 0x40274420, 0x2ab76: 0x40274620, 0x2ab77: 0x40274820,\n\t0x2ab78: 0x40274a20, 0x2ab79: 0x40274c20, 0x2ab7a: 0x40274e20, 0x2ab7b: 0x40275020,\n\t// Block 0xaae, offset 0x2ab80\n\t0x2ab80: 0x00021283, 0x2ab81: 0x40025c20, 0x2ab82: 0x40030420, 0x2ab83: 0x40051220,\n\t0x2ab84: 0x40279a20, 0x2ab85: 0x6c021420, 0x2ab86: 0x6c002820, 0x2ab87: 0x6c002a20,\n\t0x2ab88: 0x40049c20, 0x2ab89: 0x40049e20, 0x2ab8a: 0x4004a020, 0x2ab8b: 0x4004a220,\n\t0x2ab8c: 0x4004a420, 0x2ab8d: 0x4004a620, 0x2ab8e: 0x4004a820, 0x2ab8f: 0x4004aa20,\n\t0x2ab90: 0x4004ac20, 0x2ab91: 0x4004ae20, 0x2ab92: 0x40279c20, 0x2ab93: 0x40279e20,\n\t0x2ab94: 0x4004b020, 0x2ab95: 0x4004b220, 0x2ab96: 0x4004b420, 0x2ab97: 0x4004b620,\n\t0x2ab98: 0x4004b820, 0x2ab99: 0x4004ba20, 0x2ab9a: 0x4004bc20, 0x2ab9b: 0x4004be20,\n\t0x2ab9c: 0x40023820, 0x2ab9d: 0x4003ea20, 0x2ab9e: 0x4003ec20, 0x2ab9f: 0x4003ee20,\n\t0x2aba0: 0x4027a020, 0x2aba1: 0x6c002c20, 0x2aba2: 0x6c00d220, 0x2aba3: 0x6c021620,\n\t0x2aba4: 0x6c00d420, 0x2aba5: 0x6c002e20, 0x2aba6: 0x6c00d620, 0x2aba7: 0x6c021820,\n\t0x2aba8: 0x6c053820, 0x2aba9: 0x6c053a20, 0x2abaa: 0xada12202, 0x2abab: 0xae412302,\n\t0x2abac: 0xae812402, 0x2abad: 0xade12502, 0x2abae: 0xae012602, 0x2abaf: 0xae012702,\n\t0x2abb0: 0x40023a20, 0x2abb1: 0x4027ce20, 0x2abb2: 0xe0000152, 0x2abb3: 0x4027d020,\n\t0x2abb4: 0xe0000155, 0x2abb5: 0x4027d220, 0x2abb6: 0x00279c84, 0x2abb7: 0x4027a220,\n\t0x2abb8: 0x2c00b684, 0x2abb9: 0x2c00e683, 0x2abba: 0x2c036883, 0x2abbb: 0x6c003020,\n\t0x2abbc: 0xe000231a, 0x2abbd: 0x40051420, 0x2abbe: 0x4027a420, 0x2abbf: 0x4027a620,\n\t// Block 0xaaf, offset 0x2abc0\n\t0x2abc0: 0x00633a84, 0x2abc1: 0x00634484, 0x2abc2: 0x0064f684, 0x2abc3: 0x0064f884,\n\t0x2abc4: 0x00635a84, 0x2abc5: 0x00635c84, 0x2abc6: 0x00635e84, 0x2abc7: 0x0063ee84,\n\t0x2abc8: 0x0063f084, 0x2abc9: 0x0063f684, 0x2abca: 0x00640884, 0x2abcb: 0x00640a84,\n\t0x2abcc: 0x00640e84, 0x2abcd: 0x00642284, 0x2abce: 0x00642884,\n\t0x2abd0: 0x4027a820, 0x2abd1: 0x4027aa20, 0x2abd2: 0x2c000285, 0x2abd3: 0x2c007485,\n\t0x2abd4: 0x2c00dc85, 0x2abd5: 0x2c079084, 0x2abd6: 0x2c00de84, 0x2abd7: 0x2c023685,\n\t0x2abd8: 0x2c00e084, 0x2abd9: 0x2c0a0e83, 0x2abda: 0x2c001083, 0x2abdb: 0x2c054883,\n\t0x2abdc: 0x2c003283, 0x2abdd: 0x2c03de84, 0x2abde: 0x2c0ed083, 0x2abdf: 0x2c007e83,\n\t0x2abe0: 0xe000237a, 0x2abe1: 0xe0002383, 0x2abe2: 0xe0002380, 0x2abe3: 0xe000237d,\n\t0x2abe4: 0x40661c20, 0x2abe5: 0xe000238c, 0x2abe6: 0x40661620, 0x2abe7: 0xe0002389,\n\t0x2abe8: 0xe000239e, 0x2abe9: 0xe0002386, 0x2abea: 0xe0002395, 0x2abeb: 0xe000239b,\n\t0x2abec: 0x40663420, 0x2abed: 0x4065f220, 0x2abee: 0xe000238f, 0x2abef: 0xe0002392,\n\t0x2abf0: 0x40663020, 0x2abf1: 0x40663220, 0x2abf2: 0x40662c20, 0x2abf3: 0xe0002398,\n\t0x2abf4: 0x0065dc99, 0x2abf5: 0x0065e699, 0x2abf6: 0x0065ee99, 0x2abf7: 0x0065f499,\n\t0x2abf8: 0x40660c20, 0x2abf9: 0x40660e20, 0x2abfa: 0x40661020,\n\t// Block 0xab0, offset 0x2ac00\n\t0x2ac00: 0xf0000404, 0x2ac01: 0xf0000404, 0x2ac02: 0xf0000404, 0x2ac03: 0xf0000404,\n\t0x2ac04: 0xf0000404, 0x2ac05: 0xf0000404, 0x2ac06: 0xf0000404, 0x2ac07: 0xf0000404,\n\t0x2ac08: 0xf0000404, 0x2ac09: 0xf0000404, 0x2ac0a: 0xf0000404, 0x2ac0b: 0xf0000404,\n\t0x2ac0c: 0xf0000404, 0x2ac0d: 0xf0000404, 0x2ac0e: 0xe000004c, 0x2ac0f: 0xe0000051,\n\t0x2ac10: 0xe0000056, 0x2ac11: 0xe000005b, 0x2ac12: 0xe0000060, 0x2ac13: 0xe0000065,\n\t0x2ac14: 0xe000006a, 0x2ac15: 0xe000006f, 0x2ac16: 0xe0000083, 0x2ac17: 0xe000008d,\n\t0x2ac18: 0xe0000092, 0x2ac19: 0xe0000097, 0x2ac1a: 0xe000009c, 0x2ac1b: 0xe00000a1,\n\t0x2ac1c: 0xe0000088, 0x2ac1d: 0xe0000074, 0x2ac1e: 0xe000007c,\n\t0x2ac20: 0xe000b5b7, 0x2ac21: 0xe000b5c3, 0x2ac22: 0xe000b5cf, 0x2ac23: 0xe000b5f7,\n\t0x2ac24: 0xe000b5d7, 0x2ac25: 0xe000b5db, 0x2ac26: 0xe000b5bb, 0x2ac27: 0xe000b5c7,\n\t0x2ac28: 0xe000b5bf, 0x2ac29: 0xe000b5cb, 0x2ac2a: 0xe000b5e3, 0x2ac2b: 0xe000b5ef,\n\t0x2ac2c: 0xe000b5eb, 0x2ac2d: 0xe000b5e7, 0x2ac2e: 0xe000b627, 0x2ac2f: 0xe000b5d3,\n\t0x2ac30: 0xe000b5df, 0x2ac31: 0xe000b62b, 0x2ac32: 0xe000b607, 0x2ac33: 0xe000b623,\n\t0x2ac34: 0xe000b603, 0x2ac35: 0xe000b62f, 0x2ac36: 0xe000b637, 0x2ac37: 0xe000b633,\n\t0x2ac38: 0xe000b613, 0x2ac39: 0xe000b5f3, 0x2ac3a: 0xe000b61b, 0x2ac3b: 0xe000b61f,\n\t0x2ac3c: 0xe000b643, 0x2ac3d: 0xe000b5fb, 0x2ac3e: 0xe000b63f, 0x2ac3f: 0xe000b617,\n\t// Block 0xab1, offset 0x2ac40\n\t0x2ac40: 0xe000b63b, 0x2ac41: 0xe000b5ff, 0x2ac42: 0xe000b60b, 0x2ac43: 0xe000b60f,\n\t0x2ac44: 0x2c8e8e83, 0x2ac45: 0x2c08be83, 0x2ac46: 0x2c048483, 0x2ac47: 0x2d326883,\n\t0x2ac48: 0xe00002e3, 0x2ac49: 0xe00003d8, 0x2ac4a: 0xe00004b3, 0x2ac4b: 0xe000057d,\n\t0x2ac4c: 0xe0000648, 0x2ac4d: 0xe00006f0, 0x2ac4e: 0xe000079c, 0x2ac4f: 0xe0000841,\n\t0x2ac50: 0xe0000ec0, 0x2ac51: 0xf0000606, 0x2ac52: 0xf0000606, 0x2ac53: 0xf0000606,\n\t0x2ac54: 0xf0000606, 0x2ac55: 0xf0000606, 0x2ac56: 0xf0000606, 0x2ac57: 0xf0000606,\n\t0x2ac58: 0xf0000606, 0x2ac59: 0xf0000606, 0x2ac5a: 0xf0000606, 0x2ac5b: 0xf0000606,\n\t0x2ac5c: 0xf0000606, 0x2ac5d: 0xf0000606, 0x2ac5e: 0xf0000606, 0x2ac5f: 0xf0000606,\n\t0x2ac60: 0x0062ac86, 0x2ac61: 0x0062b086, 0x2ac62: 0x0062b286, 0x2ac63: 0x0062b686,\n\t0x2ac64: 0x0062b886, 0x2ac65: 0x0062ba86, 0x2ac66: 0x0062be86, 0x2ac67: 0x0062c286,\n\t0x2ac68: 0x0062c486, 0x2ac69: 0x0062c886, 0x2ac6a: 0x0062ca86, 0x2ac6b: 0x0062cc86,\n\t0x2ac6c: 0x0062ce86, 0x2ac6d: 0x0062d086, 0x2ac6e: 0xf0000606, 0x2ac6f: 0xf0000606,\n\t0x2ac70: 0xf0000606, 0x2ac71: 0xf0000606, 0x2ac72: 0xf0000606, 0x2ac73: 0xf0000606,\n\t0x2ac74: 0xf0000606, 0x2ac75: 0xf0000606, 0x2ac76: 0xf0000606, 0x2ac77: 0xf0000606,\n\t0x2ac78: 0xf0000606, 0x2ac79: 0xf0000606, 0x2ac7a: 0xf0000606, 0x2ac7b: 0xf0000606,\n\t0x2ac7c: 0xe0002127, 0x2ac7d: 0xe0002122, 0x2ac7e: 0xf0000606, 0x2ac7f: 0x4027ac20,\n\t// Block 0xab2, offset 0x2ac80\n\t0x2ac80: 0x2c000284, 0x2ac81: 0x2c007484, 0x2ac82: 0x2c00dc84, 0x2ac83: 0x2c079083,\n\t0x2ac84: 0x2c028883, 0x2ac85: 0x2c02d883, 0x2ac86: 0x2c003683, 0x2ac87: 0x2c008883,\n\t0x2ac88: 0x2c006283, 0x2ac89: 0x2c00b683, 0x2ac8a: 0x2c049c84, 0x2ac8b: 0x2c04d083,\n\t0x2ac8c: 0x2c04c683, 0x2ac8d: 0x2c049e83, 0x2ac8e: 0x2c41dc83, 0x2ac8f: 0x2c018483,\n\t0x2ac90: 0x2c049683, 0x2ac91: 0x2c741683, 0x2ac92: 0x2c127484, 0x2ac93: 0x2c3cee83,\n\t0x2ac94: 0x2c0e3e83, 0x2ac95: 0x2c791683, 0x2ac96: 0x2c86f083, 0x2ac97: 0x2c7de083,\n\t0x2ac98: 0x2c185283, 0x2ac99: 0x2c7e3883, 0x2ac9a: 0x2c24b683, 0x2ac9b: 0x2c019483,\n\t0x2ac9c: 0x2d6c7483, 0x2ac9d: 0x2d9fc483, 0x2ac9e: 0x2c0db883, 0x2ac9f: 0x2c38fa83,\n\t0x2aca0: 0x2ce74883, 0x2aca1: 0x2c0bc083, 0x2aca2: 0x2c063e83, 0x2aca3: 0x2c097683,\n\t0x2aca4: 0x2c00de83, 0x2aca5: 0x2c023684, 0x2aca6: 0x2c00e083, 0x2aca7: 0x2c089284,\n\t0x2aca8: 0x2c075484, 0x2aca9: 0x2c18a683, 0x2acaa: 0x2c300483, 0x2acab: 0x2c2fd883,\n\t0x2acac: 0x2d2efa83, 0x2acad: 0x2c0ba083, 0x2acae: 0x2d0f3883, 0x2acaf: 0x2c2bb283,\n\t0x2acb0: 0x2c2e8e83, 0x2acb1: 0xf0000606, 0x2acb2: 0xf0000606, 0x2acb3: 0xf0000606,\n\t0x2acb4: 0xf0000606, 0x2acb5: 0xf0000606, 0x2acb6: 0xf0000606, 0x2acb7: 0xf0000606,\n\t0x2acb8: 0xf0000606, 0x2acb9: 0xf0000606, 0x2acba: 0xf0000606, 0x2acbb: 0xf0000606,\n\t0x2acbc: 0xf0000606, 0x2acbd: 0xf0000606, 0x2acbe: 0xf0000606, 0x2acbf: 0xf0000606,\n\t// Block 0xab3, offset 0x2acc0\n\t0x2acc0: 0xf0000203, 0x2acc1: 0xf0000203, 0x2acc2: 0xf0000203, 0x2acc3: 0xf0000203,\n\t0x2acc4: 0xf0000203, 0x2acc5: 0xf0000203, 0x2acc6: 0xf0000203, 0x2acc7: 0xf0000203,\n\t0x2acc8: 0xf0000203, 0x2acc9: 0xe000b66f, 0x2acca: 0xe000b67b, 0x2accb: 0xe000b687,\n\t0x2accc: 0xf0001c1d, 0x2accd: 0xe0000b85, 0x2acce: 0xf0001d1c, 0x2accf: 0xe0000d14,\n\t0x2acd0: 0x00657693, 0x2acd1: 0x00657893, 0x2acd2: 0x00657a93, 0x2acd3: 0x00657e93,\n\t0x2acd4: 0x00658093, 0x2acd5: 0x00658293, 0x2acd6: 0x00658493, 0x2acd7: 0x00658693,\n\t0x2acd8: 0x00658893, 0x2acd9: 0x00658a93, 0x2acda: 0x00658c93, 0x2acdb: 0x00658e93,\n\t0x2acdc: 0x00659093, 0x2acdd: 0x00659293, 0x2acde: 0x00659493, 0x2acdf: 0x00659693,\n\t0x2ace0: 0x00659893, 0x2ace1: 0x00659a93, 0x2ace2: 0x00659c93, 0x2ace3: 0x00659e93,\n\t0x2ace4: 0x0065a093, 0x2ace5: 0x0065a293, 0x2ace6: 0x0065a493, 0x2ace7: 0x0065a693,\n\t0x2ace8: 0x0065a893, 0x2ace9: 0x0065aa93, 0x2acea: 0x0065ac93, 0x2aceb: 0x0065ae93,\n\t0x2acec: 0x0065b093, 0x2aced: 0x0065b293, 0x2acee: 0x0065b493, 0x2acef: 0x0065b693,\n\t0x2acf0: 0x0065b893, 0x2acf1: 0x0065ba93, 0x2acf2: 0x0065bc93, 0x2acf3: 0x0065be93,\n\t0x2acf4: 0x0065c093, 0x2acf5: 0x0065c493, 0x2acf6: 0x0065c693, 0x2acf7: 0x0065c893,\n\t0x2acf8: 0x0065ca93, 0x2acf9: 0x0065cc93, 0x2acfa: 0x0065ce93, 0x2acfb: 0x0065d093,\n\t0x2acfc: 0x0065d293, 0x2acfd: 0x0065d493, 0x2acfe: 0x0065d693,\n\t// Block 0xab4, offset 0x2ad00\n\t0x2ad00: 0xe000230b, 0x2ad01: 0xe00022f8, 0x2ad02: 0xe00022fc, 0x2ad03: 0xe0002311,\n\t0x2ad04: 0xe0002316, 0x2ad05: 0xe000231d, 0x2ad06: 0xe0002321, 0x2ad07: 0xe0002325,\n\t0x2ad08: 0xe000232b, 0x2ad09: 0xf0001c1c, 0x2ad0a: 0xe0002330, 0x2ad0b: 0xe000233c,\n\t0x2ad0c: 0xe0002340, 0x2ad0d: 0xe0002337, 0x2ad0e: 0xe0002346, 0x2ad0f: 0xe000234b,\n\t0x2ad10: 0xe000234f, 0x2ad11: 0xe0002353, 0x2ad12: 0xf0001c1c, 0x2ad13: 0xe000235e,\n\t0x2ad14: 0xe0002358, 0x2ad15: 0xf0001c1c, 0x2ad16: 0xe0002363, 0x2ad17: 0xe000236d,\n\t0x2ad18: 0xf0000203, 0x2ad19: 0xf0000203, 0x2ad1a: 0xf0000203, 0x2ad1b: 0xf0000203,\n\t0x2ad1c: 0xf0000203, 0x2ad1d: 0xf0000203, 0x2ad1e: 0xf0000203, 0x2ad1f: 0xf0000203,\n\t0x2ad20: 0xf0000203, 0x2ad21: 0xf0000203, 0x2ad22: 0xe000b673, 0x2ad23: 0xe000b67f,\n\t0x2ad24: 0xe000b68b, 0x2ad25: 0xe000b693, 0x2ad26: 0xe000b69b, 0x2ad27: 0xe000b6a3,\n\t0x2ad28: 0xe000b6ab, 0x2ad29: 0xe000b6b3, 0x2ad2a: 0xe000b6bb, 0x2ad2b: 0xe000b6c3,\n\t0x2ad2c: 0xe000b6cb, 0x2ad2d: 0xe000b6d3, 0x2ad2e: 0xe000b6db, 0x2ad2f: 0xe000b6e3,\n\t0x2ad30: 0xe000b6eb, 0x2ad31: 0xe0000c1e, 0x2ad32: 0xf0001c1c, 0x2ad33: 0xf0001d1d,\n\t0x2ad34: 0xe0000a31, 0x2ad35: 0xf0001d1c, 0x2ad36: 0xf0001c1c, 0x2ad37: 0xf0001c1c,\n\t0x2ad38: 0xe0000ac2, 0x2ad39: 0xe0000ac6, 0x2ad3a: 0xf0001d1d, 0x2ad3b: 0xf0000203,\n\t0x2ad3c: 0xf0000203, 0x2ad3d: 0xf0000203, 0x2ad3e: 0xf0000203, 0x2ad3f: 0xe000b70b,\n\t// Block 0xab5, offset 0x2ad40\n\t0x2ad40: 0xf0001d1c, 0x2ad41: 0xf0001d1d, 0x2ad42: 0xe00009b7, 0x2ad43: 0xf0001c1d,\n\t0x2ad44: 0xf0001c1c, 0x2ad45: 0xf0001c1c, 0x2ad46: 0xe0000a66, 0x2ad47: 0xe0000a7a,\n\t0x2ad48: 0xf0001d1c, 0x2ad49: 0xf0001c1d, 0x2ad4a: 0xf0001c1c, 0x2ad4b: 0xf0001d1d,\n\t0x2ad4c: 0xf0001c1c, 0x2ad4d: 0xf0001d1d, 0x2ad4e: 0xf0001d1d, 0x2ad4f: 0xf0001c1c,\n\t0x2ad50: 0xf0001c1c, 0x2ad51: 0xf0001c1c, 0x2ad52: 0xe0000d0d, 0x2ad53: 0xf0001c1c,\n\t0x2ad54: 0xf0001c1c, 0x2ad55: 0xe0000d3a, 0x2ad56: 0xe0000d46, 0x2ad57: 0xf0001d1d,\n\t0x2ad58: 0xe0000eb0, 0x2ad59: 0xe0000eb8, 0x2ad5a: 0xf0001d1d, 0x2ad5b: 0xf0001c1c,\n\t0x2ad5c: 0xf0001c1d, 0x2ad5d: 0xf0001c1d, 0x2ad5e: 0xe00010b2, 0x2ad5f: 0xe00009c8,\n\t0x2ad60: 0xf0000203, 0x2ad61: 0xf0000203, 0x2ad62: 0xf0000203, 0x2ad63: 0xf0000203,\n\t0x2ad64: 0xf0000203, 0x2ad65: 0xf0000203, 0x2ad66: 0xf0000203, 0x2ad67: 0xf0000203,\n\t0x2ad68: 0xf0000203, 0x2ad69: 0xe000b66b, 0x2ad6a: 0xe000b677, 0x2ad6b: 0xe000b683,\n\t0x2ad6c: 0xe000b68f, 0x2ad6d: 0xe000b697, 0x2ad6e: 0xe000b69f, 0x2ad6f: 0xe000b6a7,\n\t0x2ad70: 0xe000b6af, 0x2ad71: 0xe000b6b7, 0x2ad72: 0xe000b6bf, 0x2ad73: 0xe000b6c7,\n\t0x2ad74: 0xe000b6cf, 0x2ad75: 0xe000b6d7, 0x2ad76: 0xe000b6df, 0x2ad77: 0xe000b6e7,\n\t0x2ad78: 0xe000b6ef, 0x2ad79: 0xe000b6f3, 0x2ad7a: 0xe000b6f7, 0x2ad7b: 0xe000b6fb,\n\t0x2ad7c: 0xe000b6ff, 0x2ad7d: 0xe000b703, 0x2ad7e: 0xe000b707, 0x2ad7f: 0xe0000bdf,\n\t// Block 0xab6, offset 0x2ad80\n\t0x2ad80: 0x6c053e20, 0x2ad81: 0x6c0acc20, 0x2ad82: 0x6c0ace20, 0x2ad83: 0x6c00f620,\n\t0x2ad84: 0x6c00f820, 0x2ad85: 0x6c004e20, 0x2ad86: 0x6c0aee20, 0x2ad87: 0x6c011a20,\n\t0x2ad88: 0x6c011c20, 0x2ad89: 0x6c011e20, 0x2ad8a: 0x6c025820, 0x2ad8b: 0x6c025a20,\n\t0x2ad8c: 0x6c059820, 0x2ad8d: 0x6c059a20, 0x2ad8e: 0x6c059c20, 0x2ad8f: 0x6c059e20,\n\t0x2ad90: 0x6c0b0e20, 0x2ad91: 0x6c0b1020, 0x2ad92: 0x6c0b1220, 0x2ad93: 0x6c0b1420,\n\t0x2ad94: 0x6c0b1620, 0x2ad95: 0x6c0b1820, 0x2ad96: 0x6c160a20, 0x2ad97: 0x6c160c20,\n\t0x2ad98: 0x6c160e20, 0x2ad99: 0x6c28d820, 0x2ad9a: 0x6c28da20, 0x2ad9b: 0x6c28dc20,\n\t0x2ad9c: 0x6c430a20, 0x2ad9d: 0x6c430c20, 0x2ad9e: 0x6c430e20, 0x2ad9f: 0x6c431020,\n\t0x2ada0: 0x6c431220, 0x2ada1: 0x6c8b0620, 0x2ada2: 0x6c8b0820, 0x2ada3: 0x6c8b0a20,\n\t0x2ada4: 0x6cb7b020, 0x2ada5: 0x6d75d620, 0x2ada6: 0x6de00620, 0x2ada7: 0x6c027820,\n\t0x2ada8: 0x6c28f220, 0x2ada9: 0x6c28fa20, 0x2adaa: 0x6c0b5020, 0x2adab: 0x6c0b5220,\n\t0x2adac: 0x6c163420, 0x2adad: 0x6c290c20, 0x2adae: 0x6ce8e420, 0x2adaf: 0x6d9fa820,\n\t0x2adb0: 0x6c05b820, 0x2adb1: 0x6c05ba20, 0x2adb2: 0x6c05bc20, 0x2adb3: 0x6c05be20,\n\t0x2adb4: 0x6c05c020, 0x2adb5: 0x6c05c220, 0x2adb6: 0x6c05c420, 0x2adb7: 0x6c05c620,\n\t0x2adb8: 0x6c0b6820, 0x2adb9: 0x6c0b6a20, 0x2adba: 0x6c0b6c20, 0x2adbb: 0x6c0b6e20,\n\t0x2adbc: 0x6c0b7020, 0x2adbd: 0x6c0b7220, 0x2adbe: 0x6c0b7420, 0x2adbf: 0x6c0b7620,\n\t// Block 0xab7, offset 0x2adc0\n\t0x2adc0: 0x6c0b7820, 0x2adc1: 0x6c164620, 0x2adc2: 0x6c164820, 0x2adc3: 0x6c164a20,\n\t0x2adc4: 0x6c164c20, 0x2adc5: 0x6c164e20, 0x2adc6: 0x6c165020, 0x2adc7: 0x6c165220,\n\t0x2adc8: 0x6c165420, 0x2adc9: 0x6c292220, 0x2adca: 0x6c292420, 0x2adcb: 0x6c292620,\n\t0x2adcc: 0x6c292820, 0x2adcd: 0x6c292a20, 0x2adce: 0x6c292c20, 0x2adcf: 0x6c292e20,\n\t0x2add0: 0x6c293020, 0x2add1: 0x6c293220, 0x2add2: 0x6c293420, 0x2add3: 0x6c293620,\n\t0x2add4: 0x6c293820, 0x2add5: 0x6c293a20, 0x2add6: 0x6c293c20, 0x2add7: 0x6c434620,\n\t0x2add8: 0x6c434820, 0x2add9: 0x6c434a20, 0x2adda: 0x6c434c20, 0x2addb: 0x6c434e20,\n\t0x2addc: 0x6c435020, 0x2addd: 0x6c435220, 0x2adde: 0x6c435420, 0x2addf: 0x6c435620,\n\t0x2ade0: 0x6c435820, 0x2ade1: 0x6c435a20, 0x2ade2: 0x6c435c20, 0x2ade3: 0x6c641a20,\n\t0x2ade4: 0x6c8b3e20, 0x2ade5: 0x6c641c20, 0x2ade6: 0x6c641e20, 0x2ade7: 0x6c642020,\n\t0x2ade8: 0x6c642220, 0x2ade9: 0x6c642420, 0x2adea: 0x6c642620, 0x2adeb: 0x6c642820,\n\t0x2adec: 0x6c642a20, 0x2aded: 0x6c642c20, 0x2adee: 0x6c8b4020, 0x2adef: 0x6c8b4220,\n\t0x2adf0: 0x6c8b4420, 0x2adf1: 0x6c8b4620, 0x2adf2: 0x6c8b4820, 0x2adf3: 0x6cb7da20,\n\t0x2adf4: 0x6cb7dc20, 0x2adf5: 0x6cb7de20, 0x2adf6: 0x6cb7e020, 0x2adf7: 0x6cb7e220,\n\t0x2adf8: 0x6cb7e420, 0x2adf9: 0x6cb7e620, 0x2adfa: 0x6cb7e820, 0x2adfb: 0x6ce8fe20,\n\t0x2adfc: 0x6ce90020, 0x2adfd: 0x6ce90220, 0x2adfe: 0x6ce90420, 0x2adff: 0x6ce90620,\n\t// Block 0xab8, offset 0x2ae00\n\t0x2ae00: 0x6ce90820, 0x2ae01: 0x6ce90a20, 0x2ae02: 0x6d18ae20, 0x2ae03: 0x6d18b020,\n\t0x2ae04: 0x6d18b220, 0x2ae05: 0x6d18b420, 0x2ae06: 0x6d18b620, 0x2ae07: 0x6d18b820,\n\t0x2ae08: 0x6d18ba20, 0x2ae09: 0x6d18bc20, 0x2ae0a: 0x6d18be20, 0x2ae0b: 0x6d18c020,\n\t0x2ae0c: 0x6d18c220, 0x2ae0d: 0x6d18c420, 0x2ae0e: 0x6d18c620, 0x2ae0f: 0x6d18c820,\n\t0x2ae10: 0x6d18ca20, 0x2ae11: 0x6d47b220, 0x2ae12: 0x6d47b420, 0x2ae13: 0x6d47b620,\n\t0x2ae14: 0x6d47b820, 0x2ae15: 0x6d47ba20, 0x2ae16: 0x6d47bc20, 0x2ae17: 0x6d47be20,\n\t0x2ae18: 0x6d47c020, 0x2ae19: 0x6d75f420, 0x2ae1a: 0x6d75f620, 0x2ae1b: 0x6d75f820,\n\t0x2ae1c: 0x6d75fa20, 0x2ae1d: 0x6d9faa20, 0x2ae1e: 0x6d9fac20, 0x2ae1f: 0x6dc24a20,\n\t0x2ae20: 0x6dc24c20, 0x2ae21: 0x6de00e20, 0x2ae22: 0x6de01020, 0x2ae23: 0x6de01220,\n\t0x2ae24: 0x6df86e20, 0x2ae25: 0x6df87020, 0x2ae26: 0x6df87220, 0x2ae27: 0x6e0c3e20,\n\t0x2ae28: 0x6e0c4020, 0x2ae29: 0x6e284a20, 0x2ae2a: 0x6e3ce220, 0x2ae2b: 0x6c0c4420,\n\t0x2ae2c: 0x6c2a2c20, 0x2ae2d: 0x6c657020, 0x2ae2e: 0x6c8c6620, 0x2ae2f: 0x6dc28c20,\n\t0x2ae30: 0x6c061620, 0x2ae31: 0x6c061820, 0x2ae32: 0x6c0c5820, 0x2ae33: 0x6c174e20,\n\t0x2ae34: 0x6c175020, 0x2ae35: 0x6c175c20, 0x2ae36: 0x6c175e20, 0x2ae37: 0x6c176020,\n\t0x2ae38: 0x6c447420, 0x2ae39: 0x6df89620, 0x2ae3a: 0x6c2a5c20, 0x2ae3b: 0x6c8c8420,\n\t0x2ae3c: 0x6c8c8620, 0x2ae3d: 0x6cb8f220, 0x2ae3e: 0x6cea0820, 0x2ae3f: 0x6e1c1c20,\n\t// Block 0xab9, offset 0x2ae40\n\t0x2ae40: 0x6c02fa20, 0x2ae41: 0x6c02fc20, 0x2ae42: 0x6c449020, 0x2ae43: 0x6cb8fc20,\n\t0x2ae44: 0x6d487620, 0x2ae45: 0x6c030620, 0x2ae46: 0x6c0c9820, 0x2ae47: 0x6c0c9a20,\n\t0x2ae48: 0x6c178e20, 0x2ae49: 0x6c2a7420, 0x2ae4a: 0x6c2a7620, 0x2ae4b: 0x6c2a7820,\n\t0x2ae4c: 0x6c2a7a20, 0x2ae4d: 0x6c2a7c20, 0x2ae4e: 0x6c44a020, 0x2ae4f: 0x6c44a220,\n\t0x2ae50: 0x6c65c220, 0x2ae51: 0x6c65c420, 0x2ae52: 0x6c65c620, 0x2ae53: 0x6c8c9620,\n\t0x2ae54: 0x6cb90c20, 0x2ae55: 0x6cb90e20, 0x2ae56: 0x6cea1220, 0x2ae57: 0x6d19ea20,\n\t0x2ae58: 0x6c8cbe20, 0x2ae59: 0x6c0cd220, 0x2ae5a: 0x6c067c20, 0x2ae5b: 0x6c067e20,\n\t0x2ae5c: 0x6c068020, 0x2ae5d: 0x6c0ce620, 0x2ae5e: 0x6c0ce820, 0x2ae5f: 0x6c17da20,\n\t0x2ae60: 0x6c17dc20, 0x2ae61: 0x6c2abc20, 0x2ae62: 0x6c2abe20, 0x2ae63: 0x6c2ac020,\n\t0x2ae64: 0x6c2ac220, 0x2ae65: 0x6c2ac420, 0x2ae66: 0x6c2ac620, 0x2ae67: 0x6c44e020,\n\t0x2ae68: 0x6c44e220, 0x2ae69: 0x6c44e420, 0x2ae6a: 0x6c44e620, 0x2ae6b: 0x6c44e820,\n\t0x2ae6c: 0x6c661220, 0x2ae6d: 0x6c661420, 0x2ae6e: 0x6c661620, 0x2ae6f: 0x6c661820,\n\t0x2ae70: 0x6c661a20, 0x2ae71: 0x6c8cd820, 0x2ae72: 0x6c8cda20, 0x2ae73: 0x6c8cdc20,\n\t0x2ae74: 0x6c8cde20, 0x2ae75: 0x6c8ce020, 0x2ae76: 0x6c8ce220, 0x2ae77: 0x6cb94620,\n\t0x2ae78: 0x6cb94820, 0x2ae79: 0x6cb94a20, 0x2ae7a: 0x6cb94c20, 0x2ae7b: 0x6cb94e20,\n\t0x2ae7c: 0x6cea3c20, 0x2ae7d: 0x6cea3e20, 0x2ae7e: 0x6d1a0e20, 0x2ae7f: 0x6d1a1020,\n\t// Block 0xaba, offset 0x2ae80\n\t0x2ae80: 0x6d1a1220, 0x2ae81: 0x6d1a1420, 0x2ae82: 0x6d1a1620, 0x2ae83: 0x6d1a1820,\n\t0x2ae84: 0x6d1a1a20, 0x2ae85: 0x6d1a1c20, 0x2ae86: 0x6d1a1e20, 0x2ae87: 0x6d1a2020,\n\t0x2ae88: 0x6d1a2220, 0x2ae89: 0x6d1a2420, 0x2ae8a: 0x6d489620, 0x2ae8b: 0x6d76a420,\n\t0x2ae8c: 0x6d76a620, 0x2ae8d: 0x6d76a820, 0x2ae8e: 0x6da03020, 0x2ae8f: 0x6da03220,\n\t0x2ae90: 0x6dc2b620, 0x2ae91: 0x6de05620, 0x2ae92: 0x6df8a620, 0x2ae93: 0x6c06a020,\n\t0x2ae94: 0x6c0d3a20, 0x2ae95: 0x6c0d3c20, 0x2ae96: 0x6c0d3e20, 0x2ae97: 0x6c183820,\n\t0x2ae98: 0x6c183a20, 0x2ae99: 0x6c2b4c20, 0x2ae9a: 0x6c2b4e20, 0x2ae9b: 0x6c2b5020,\n\t0x2ae9c: 0x6c454e20, 0x2ae9d: 0x6c66a620, 0x2ae9e: 0x6c66a820, 0x2ae9f: 0x6c66aa20,\n\t0x2aea0: 0x6c8d4220, 0x2aea1: 0x6cb9aa20, 0x2aea2: 0x6d1a7620, 0x2aea3: 0x6da05420,\n\t0x2aea4: 0x6da05620, 0x2aea5: 0x6da05820, 0x2aea6: 0x6da05a20, 0x2aea7: 0x6dc2c420,\n\t0x2aea8: 0x6c8d6a20, 0x2aea9: 0x6cb9d420, 0x2aeaa: 0x6ceac220, 0x2aeab: 0x6c035820,\n\t0x2aeac: 0x6c2b9a20, 0x2aead: 0x6c8d8020, 0x2aeae: 0x6e123e20, 0x2aeaf: 0x6c188c20,\n\t0x2aeb0: 0x6c188e20, 0x2aeb1: 0x6c8d8620, 0x2aeb2: 0x6cead220, 0x2aeb3: 0x6cead420,\n\t0x2aeb4: 0x6cead620, 0x2aeb5: 0x6d1aba20, 0x2aeb6: 0x6e3cf020, 0x2aeb7: 0x6c18a420,\n\t0x2aeb8: 0x6cb9f020, 0x2aeb9: 0x6c036620, 0x2aeba: 0x6c0d8020, 0x2aebb: 0x6c0d8220,\n\t0x2aebc: 0x6ceae020, 0x2aebd: 0x6c2bd420, 0x2aebe: 0x6c016e20, 0x2aebf: 0x6c017020,\n\t// Block 0xabb, offset 0x2aec0\n\t0x2aec0: 0x6c18d020, 0x2aec1: 0x6c2bf220, 0x2aec2: 0x6c0dc820, 0x2aec3: 0x6c0dca20,\n\t0x2aec4: 0x6c0dcc20, 0x2aec5: 0x6c18dc20, 0x2aec6: 0x6c18de20, 0x2aec7: 0x6c18e020,\n\t0x2aec8: 0x6c2c0020, 0x2aec9: 0x6c2c0220, 0x2aeca: 0x6c45f620, 0x2aecb: 0x6c673220,\n\t0x2aecc: 0x6c673420, 0x2aecd: 0x6c673620, 0x2aece: 0x6cba0a20, 0x2aecf: 0x6ceb0220,\n\t0x2aed0: 0x6d1adc20, 0x2aed1: 0x6d1ade20, 0x2aed2: 0x6d491820, 0x2aed3: 0x6da08620,\n\t0x2aed4: 0x6e319620, 0x2aed5: 0x6c039020, 0x2aed6: 0x6c677020, 0x2aed7: 0x6c8de220,\n\t0x2aed8: 0x6c8de420, 0x2aed9: 0x6d493a20, 0x2aeda: 0x6c039c20, 0x2aedb: 0x6c039e20,\n\t0x2aedc: 0x6c0e0620, 0x2aedd: 0x6c190c20, 0x2aede: 0x6c2c3a20, 0x2aedf: 0x6c463e20,\n\t0x2aee0: 0x6cba4220, 0x2aee1: 0x6d1b2020, 0x2aee2: 0x6d3d7420, 0x2aee3: 0x6c073020,\n\t0x2aee4: 0x6c073220, 0x2aee5: 0x6c073420, 0x2aee6: 0x6c0e1c20, 0x2aee7: 0x6c0e1e20,\n\t0x2aee8: 0x6c0e2020, 0x2aee9: 0x6c192220, 0x2aeea: 0x6c192420, 0x2aeeb: 0x6c192620,\n\t0x2aeec: 0x6c192820, 0x2aeed: 0x6c192a20, 0x2aeee: 0x6c192c20, 0x2aeef: 0x6c192e20,\n\t0x2aef0: 0x6c193020, 0x2aef1: 0x6c193220, 0x2aef2: 0x6c193420, 0x2aef3: 0x6c193620,\n\t0x2aef4: 0x6c193820, 0x2aef5: 0x6c193a20, 0x2aef6: 0x6c193c20, 0x2aef7: 0x6c2c5620,\n\t0x2aef8: 0x6c2c5820, 0x2aef9: 0x6c2c5a20, 0x2aefa: 0x6c2c5c20, 0x2aefb: 0x6c2c5e20,\n\t0x2aefc: 0x6c2c6020, 0x2aefd: 0x6c2c6220, 0x2aefe: 0x6c2c6420, 0x2aeff: 0x6c2c6620,\n\t// Block 0xabc, offset 0x2af00\n\t0x2af00: 0x6c466820, 0x2af01: 0x6c466a20, 0x2af02: 0x6c466c20, 0x2af03: 0x6c466e20,\n\t0x2af04: 0x6c467020, 0x2af05: 0x6c467220, 0x2af06: 0x6c467420, 0x2af07: 0x6c467620,\n\t0x2af08: 0x6c467820, 0x2af09: 0x6c467a20, 0x2af0a: 0x6c467c20, 0x2af0b: 0x6c467e20,\n\t0x2af0c: 0x6c468020, 0x2af0d: 0x6c468220, 0x2af0e: 0x6c468420, 0x2af0f: 0x6c679a20,\n\t0x2af10: 0x6c679c20, 0x2af11: 0x6c679e20, 0x2af12: 0x6c67a020, 0x2af13: 0x6c67a220,\n\t0x2af14: 0x6c67a420, 0x2af15: 0x6c67a620, 0x2af16: 0x6c67a820, 0x2af17: 0x6c67aa20,\n\t0x2af18: 0x6c67ac20, 0x2af19: 0x6c67ae20, 0x2af1a: 0x6c67b020, 0x2af1b: 0x6c67b220,\n\t0x2af1c: 0x6c67b420, 0x2af1d: 0x6c67b620, 0x2af1e: 0x6c67b820, 0x2af1f: 0x6c8e1220,\n\t0x2af20: 0x6c8e1420, 0x2af21: 0x6c8e1620, 0x2af22: 0x6c8e1820, 0x2af23: 0x6c8e1a20,\n\t0x2af24: 0x6c8e1c20, 0x2af25: 0x6c8e1e20, 0x2af26: 0x6c8e2020, 0x2af27: 0x6c8e2220,\n\t0x2af28: 0x6c8e2420, 0x2af29: 0x6c8e2620, 0x2af2a: 0x6c8e2820, 0x2af2b: 0x6c8e2a20,\n\t0x2af2c: 0x6c8e2c20, 0x2af2d: 0x6c8e2e20, 0x2af2e: 0x6c8e3020, 0x2af2f: 0x6c8e3220,\n\t0x2af30: 0x6c8e3420, 0x2af31: 0x6c8e3620, 0x2af32: 0x6c8e3820, 0x2af33: 0x6c8e3a20,\n\t0x2af34: 0x6c8e3c20, 0x2af35: 0x6c8e3e20, 0x2af36: 0x6cba5c20, 0x2af37: 0x6cba5e20,\n\t0x2af38: 0x6cba6020, 0x2af39: 0x6cba6220, 0x2af3a: 0x6cba6420, 0x2af3b: 0x6cba6620,\n\t0x2af3c: 0x6cba6820, 0x2af3d: 0x6cba6a20, 0x2af3e: 0x6cba6c20, 0x2af3f: 0x6cba6e20,\n\t// Block 0xabd, offset 0x2af40\n\t0x2af40: 0x6cba7020, 0x2af41: 0x6cba7220, 0x2af42: 0x6cba7420, 0x2af43: 0x6cba7620,\n\t0x2af44: 0x6cba7820, 0x2af45: 0x6cba7a20, 0x2af46: 0x6cba7c20, 0x2af47: 0x6cba7e20,\n\t0x2af48: 0x6cba8020, 0x2af49: 0x6cba8220, 0x2af4a: 0x6cba8420, 0x2af4b: 0x6cba8620,\n\t0x2af4c: 0x6cba8820, 0x2af4d: 0x6cba8a20, 0x2af4e: 0x6cba8c20, 0x2af4f: 0x6cba8e20,\n\t0x2af50: 0x6cba9020, 0x2af51: 0x6cba9220, 0x2af52: 0x6ceb4e20, 0x2af53: 0x6ceb5020,\n\t0x2af54: 0x6ceb5220, 0x2af55: 0x6ceb5420, 0x2af56: 0x6ceb5620, 0x2af57: 0x6ceb5820,\n\t0x2af58: 0x6ceb5a20, 0x2af59: 0x6ceb5c20, 0x2af5a: 0x6ceb5e20, 0x2af5b: 0x6ceb6020,\n\t0x2af5c: 0x6ceb6220, 0x2af5d: 0x6ceb6420, 0x2af5e: 0x6ceb6620, 0x2af5f: 0x6ceb6820,\n\t0x2af60: 0x6ceb6a20, 0x2af61: 0x6ceb6c20, 0x2af62: 0x6d1b3420, 0x2af63: 0x6d1b3620,\n\t0x2af64: 0x6d1b3820, 0x2af65: 0x6d1b3a20, 0x2af66: 0x6d1b3c20, 0x2af67: 0x6d1b3e20,\n\t0x2af68: 0x6d1b4020, 0x2af69: 0x6d1b4220, 0x2af6a: 0x6d1b4420, 0x2af6b: 0x6d1b4620,\n\t0x2af6c: 0x6d1b4820, 0x2af6d: 0x6d1b4a20, 0x2af6e: 0x6d1b4c20, 0x2af6f: 0x6d1b4e20,\n\t0x2af70: 0x6d1b5020, 0x2af71: 0x6d494e20, 0x2af72: 0x6d495020, 0x2af73: 0x6d495220,\n\t0x2af74: 0x6d495420, 0x2af75: 0x6d495620, 0x2af76: 0x6d495820, 0x2af77: 0x6d495a20,\n\t0x2af78: 0x6d495c20, 0x2af79: 0x6d495e20, 0x2af7a: 0x6d496020, 0x2af7b: 0x6d770e20,\n\t0x2af7c: 0x6d771020, 0x2af7d: 0x6d771220, 0x2af7e: 0x6d771420, 0x2af7f: 0x6d771620,\n\t// Block 0xabe, offset 0x2af80\n\t0x2af80: 0x6d771820, 0x2af81: 0x6d771a20, 0x2af82: 0x6d771c20, 0x2af83: 0x6d771e20,\n\t0x2af84: 0x6d772020, 0x2af85: 0x6da09a20, 0x2af86: 0x6da09c20, 0x2af87: 0x6da09e20,\n\t0x2af88: 0x6da0a020, 0x2af89: 0x6dc2fa20, 0x2af8a: 0x6dc2fc20, 0x2af8b: 0x6dc2fe20,\n\t0x2af8c: 0x6dc30020, 0x2af8d: 0x6dc30220, 0x2af8e: 0x6dc30420, 0x2af8f: 0x6dc30620,\n\t0x2af90: 0x6de07e20, 0x2af91: 0x6de08020, 0x2af92: 0x6de08220, 0x2af93: 0x6df8cc20,\n\t0x2af94: 0x6df8ce20, 0x2af95: 0x6e0c9220, 0x2af96: 0x6e0c9420, 0x2af97: 0x6e0c9620,\n\t0x2af98: 0x6e1c2e20, 0x2af99: 0x6e287220, 0x2af9a: 0x6e287420, 0x2af9b: 0x6e384620,\n\t0x2af9c: 0x6e3cf820, 0x2af9d: 0x6c078820, 0x2af9e: 0x6c06a220, 0x2af9f: 0x6c0e9620,\n\t0x2afa0: 0x6c2d7e20, 0x2afa1: 0x6c2d8020, 0x2afa2: 0x6c47dc20, 0x2afa3: 0x6c694e20,\n\t0x2afa4: 0x6d1cf020, 0x2afa5: 0x6df92a20, 0x2afa6: 0x6c07a020, 0x2afa7: 0x6c1a9820,\n\t0x2afa8: 0x6c1a9a20, 0x2afa9: 0x6c1a9c20, 0x2afaa: 0x6c1a9e20, 0x2afab: 0x6c1aa020,\n\t0x2afac: 0x6c1aa220, 0x2afad: 0x6c1aa420, 0x2afae: 0x6c1aa620, 0x2afaf: 0x6c1aa820,\n\t0x2afb0: 0x6c1aaa20, 0x2afb1: 0x6c2daa20, 0x2afb2: 0x6c2dac20, 0x2afb3: 0x6c2dae20,\n\t0x2afb4: 0x6c2db020, 0x2afb5: 0x6c2db220, 0x2afb6: 0x6c480020, 0x2afb7: 0x6c480220,\n\t0x2afb8: 0x6c480420, 0x2afb9: 0x6c480620, 0x2afba: 0x6c480820, 0x2afbb: 0x6c480a20,\n\t0x2afbc: 0x6c480c20, 0x2afbd: 0x6c480e20, 0x2afbe: 0x6c481020, 0x2afbf: 0x6c697e20,\n\t// Block 0xabf, offset 0x2afc0\n\t0x2afc0: 0x6c698020, 0x2afc1: 0x6c698220, 0x2afc2: 0x6c698420, 0x2afc3: 0x6c698620,\n\t0x2afc4: 0x6c698820, 0x2afc5: 0x6c698a20, 0x2afc6: 0x6c698c20, 0x2afc7: 0x6c904620,\n\t0x2afc8: 0x6c904820, 0x2afc9: 0x6c904a20, 0x2afca: 0x6c904c20, 0x2afcb: 0x6c904e20,\n\t0x2afcc: 0x6c905020, 0x2afcd: 0x6c905220, 0x2afce: 0x6cbc6420, 0x2afcf: 0x6cbc6620,\n\t0x2afd0: 0x6cbc6820, 0x2afd1: 0x6cbc6a20, 0x2afd2: 0x6cbc6c20, 0x2afd3: 0x6cbc6e20,\n\t0x2afd4: 0x6cbc7020, 0x2afd5: 0x6cbc7220, 0x2afd6: 0x6cbc7420, 0x2afd7: 0x6cbc7620,\n\t0x2afd8: 0x6cbc7820, 0x2afd9: 0x6ced4a20, 0x2afda: 0x6ced4c20, 0x2afdb: 0x6ced4e20,\n\t0x2afdc: 0x6ced5020, 0x2afdd: 0x6ced5220, 0x2afde: 0x6ced5420, 0x2afdf: 0x6ced5620,\n\t0x2afe0: 0x6d1d1620, 0x2afe1: 0x6d1d1820, 0x2afe2: 0x6d1d1a20, 0x2afe3: 0x6d1d1c20,\n\t0x2afe4: 0x6d1d1e20, 0x2afe5: 0x6d1d2020, 0x2afe6: 0x6d1d2220, 0x2afe7: 0x6d4ac820,\n\t0x2afe8: 0x6d4aca20, 0x2afe9: 0x6d4acc20, 0x2afea: 0x6d4ace20, 0x2afeb: 0x6d4ad020,\n\t0x2afec: 0x6d4ad220, 0x2afed: 0x6d4ad420, 0x2afee: 0x6d4ad620, 0x2afef: 0x6d4ad820,\n\t0x2aff0: 0x6d786620, 0x2aff1: 0x6d786820, 0x2aff2: 0x6d786a20, 0x2aff3: 0x6d786c20,\n\t0x2aff4: 0x6d786e20, 0x2aff5: 0x6d787020, 0x2aff6: 0x6d787220, 0x2aff7: 0x6da18820,\n\t0x2aff8: 0x6da18a20, 0x2aff9: 0x6da18c20, 0x2affa: 0x6da18e20, 0x2affb: 0x6dc3e020,\n\t0x2affc: 0x6dc3e220, 0x2affd: 0x6dc3e420, 0x2affe: 0x6de10220, 0x2afff: 0x6de10420,\n\t// Block 0xac0, offset 0x2b000\n\t0x2b000: 0x6df93220, 0x2b001: 0x6e31c220, 0x2b002: 0x6e385e20, 0x2b003: 0x6cbd8620,\n\t0x2b004: 0x6d4ba020, 0x2b005: 0x6c48f020, 0x2b006: 0x6c48f420, 0x2b007: 0x6c48f620,\n\t0x2b008: 0x6c07ce20, 0x2b009: 0x6c2e8c20, 0x2b00a: 0x6cbd9820, 0x2b00b: 0x6d1e0c20,\n\t0x2b00c: 0x6d1e0e20, 0x2b00d: 0x6dc44620, 0x2b00e: 0x6c07dc20, 0x2b00f: 0x6c0f2c20,\n\t0x2b010: 0x6c0f2e20, 0x2b011: 0x6c0f3020, 0x2b012: 0x6c1b8a20, 0x2b013: 0x6c1b8c20,\n\t0x2b014: 0x6c2e9a20, 0x2b015: 0x6c2e9c20, 0x2b016: 0x6c2e9e20, 0x2b017: 0x6c2ea020,\n\t0x2b018: 0x6c2ea220, 0x2b019: 0x6c2ea420, 0x2b01a: 0x6c490220, 0x2b01b: 0x6c490420,\n\t0x2b01c: 0x6c919820, 0x2b01d: 0x6c919a20, 0x2b01e: 0x6c919c20, 0x2b01f: 0x6cbdb620,\n\t0x2b020: 0x6cee7620, 0x2b021: 0x6d791c20, 0x2b022: 0x6c07fc20, 0x2b023: 0x6c0f5620,\n\t0x2b024: 0x6c0f5820, 0x2b025: 0x6c0f5a20, 0x2b026: 0x6c0f5c20, 0x2b027: 0x6c0f5e20,\n\t0x2b028: 0x6c0f6020, 0x2b029: 0x6c1bc420, 0x2b02a: 0x6c1bc620, 0x2b02b: 0x6c1bc820,\n\t0x2b02c: 0x6c1bca20, 0x2b02d: 0x6c1bcc20, 0x2b02e: 0x6c1bce20, 0x2b02f: 0x6c1bd020,\n\t0x2b030: 0x6c2ef420, 0x2b031: 0x6c2ef620, 0x2b032: 0x6c2ef820, 0x2b033: 0x6c2efa20,\n\t0x2b034: 0x6c2efc20, 0x2b035: 0x6c2efe20, 0x2b036: 0x6c2f0020, 0x2b037: 0x6c2f0220,\n\t0x2b038: 0x6c2f0420, 0x2b039: 0x6c2f0620, 0x2b03a: 0x6c2f0820, 0x2b03b: 0x6c2f0a20,\n\t0x2b03c: 0x6c2f0c20, 0x2b03d: 0x6c2f0e20, 0x2b03e: 0x6c2f1020, 0x2b03f: 0x6c2f1220,\n\t// Block 0xac1, offset 0x2b040\n\t0x2b040: 0x6c2f1420, 0x2b041: 0x6c2f1620, 0x2b042: 0x6c493e20, 0x2b043: 0x6c494020,\n\t0x2b044: 0x6c494220, 0x2b045: 0x6c494420, 0x2b046: 0x6c494620, 0x2b047: 0x6c494820,\n\t0x2b048: 0x6c494a20, 0x2b049: 0x6c494c20, 0x2b04a: 0x6c494e20, 0x2b04b: 0x6c495020,\n\t0x2b04c: 0x6c495220, 0x2b04d: 0x6c6aea20, 0x2b04e: 0x6c6aec20, 0x2b04f: 0x6c6aee20,\n\t0x2b050: 0x6c6af020, 0x2b051: 0x6c6af220, 0x2b052: 0x6c6af420, 0x2b053: 0x6c6af620,\n\t0x2b054: 0x6c6af820, 0x2b055: 0x6c6afa20, 0x2b056: 0x6c6afc20, 0x2b057: 0x6c6afe20,\n\t0x2b058: 0x6c6b0020, 0x2b059: 0x6c6b0220, 0x2b05a: 0x6c6b0420, 0x2b05b: 0x6c6b0620,\n\t0x2b05c: 0x6c6b0820, 0x2b05d: 0x6c6b0a20, 0x2b05e: 0x6c6b0c20, 0x2b05f: 0x6c6b0e20,\n\t0x2b060: 0x6c1bd220, 0x2b061: 0x6c6b1020, 0x2b062: 0x6c6b1220, 0x2b063: 0x6c6b1420,\n\t0x2b064: 0x6c6b1620, 0x2b065: 0x6c91da20, 0x2b066: 0x6c91dc20, 0x2b067: 0x6c91de20,\n\t0x2b068: 0x6c91e020, 0x2b069: 0x6c91e220, 0x2b06a: 0x6c91e420, 0x2b06b: 0x6c91e620,\n\t0x2b06c: 0x6c91e820, 0x2b06d: 0x6c91ea20, 0x2b06e: 0x6cbdf220, 0x2b06f: 0x6cbdf420,\n\t0x2b070: 0x6cbdf620, 0x2b071: 0x6cbdf820, 0x2b072: 0x6cbdfa20, 0x2b073: 0x6cbdfc20,\n\t0x2b074: 0x6cbdfe20, 0x2b075: 0x6cbe0020, 0x2b076: 0x6cbe0220, 0x2b077: 0x6cbe0420,\n\t0x2b078: 0x6cbe0620, 0x2b079: 0x6cbe0820, 0x2b07a: 0x6cbe0a20, 0x2b07b: 0x6cbe0c20,\n\t0x2b07c: 0x6cbe0e20, 0x2b07d: 0x6cbe1020, 0x2b07e: 0x6cbe1220, 0x2b07f: 0x6cbe1420,\n\t// Block 0xac2, offset 0x2b080\n\t0x2b080: 0x6cbe1620, 0x2b081: 0x6cbe1820, 0x2b082: 0x6cbe1a20, 0x2b083: 0x6cbe1c20,\n\t0x2b084: 0x6cbe1e20, 0x2b085: 0x6ceea620, 0x2b086: 0x6ceea820, 0x2b087: 0x6ceeaa20,\n\t0x2b088: 0x6ceeac20, 0x2b089: 0x6ceeae20, 0x2b08a: 0x6ceeb020, 0x2b08b: 0x6ceeb220,\n\t0x2b08c: 0x6ceeb420, 0x2b08d: 0x6ceeb620, 0x2b08e: 0x6ceeb820, 0x2b08f: 0x6ceeba20,\n\t0x2b090: 0x6ceebc20, 0x2b091: 0x6ceebe20, 0x2b092: 0x6ceec020, 0x2b093: 0x6ceec220,\n\t0x2b094: 0x6ceec420, 0x2b095: 0x6d1e5220, 0x2b096: 0x6d1e5420, 0x2b097: 0x6d1e5620,\n\t0x2b098: 0x6d1e5820, 0x2b099: 0x6d1e5a20, 0x2b09a: 0x6d1e5c20, 0x2b09b: 0x6d1e5e20,\n\t0x2b09c: 0x6d1e6020, 0x2b09d: 0x6d1e6220, 0x2b09e: 0x6d1e6420, 0x2b09f: 0x6d1e6620,\n\t0x2b0a0: 0x6d1e6820, 0x2b0a1: 0x6d1e6a20, 0x2b0a2: 0x6d1e6c20, 0x2b0a3: 0x6d4bde20,\n\t0x2b0a4: 0x6d4be020, 0x2b0a5: 0x6d4be220, 0x2b0a6: 0x6d4be420, 0x2b0a7: 0x6d4be620,\n\t0x2b0a8: 0x6d4be820, 0x2b0a9: 0x6d793820, 0x2b0aa: 0x6d793a20, 0x2b0ab: 0x6d793c20,\n\t0x2b0ac: 0x6d793e20, 0x2b0ad: 0x6d794020, 0x2b0ae: 0x6da22220, 0x2b0af: 0x6da22420,\n\t0x2b0b0: 0x6dc45420, 0x2b0b1: 0x6dc45620, 0x2b0b2: 0x6de15a20, 0x2b0b3: 0x6de15c20,\n\t0x2b0b4: 0x6de15e20, 0x2b0b5: 0x6de16020, 0x2b0b6: 0x6df95c20, 0x2b0b7: 0x6df95e20,\n\t0x2b0b8: 0x6df96020, 0x2b0b9: 0x6e0d2820, 0x2b0ba: 0x6e1c9820, 0x2b0bb: 0x6e3d1620,\n\t0x2b0bc: 0x6e3d1820, 0x2b0bd: 0x6c0fa620, 0x2b0be: 0x6c1c6220, 0x2b0bf: 0x6c1c6420,\n\t// Block 0xac3, offset 0x2b0c0\n\t0x2b0c0: 0x6c2fc820, 0x2b0c1: 0x6c4a1c20, 0x2b0c2: 0x6c6bdc20, 0x2b0c3: 0x6c6bde20,\n\t0x2b0c4: 0x6cbf4220, 0x2b0c5: 0x6cef7820, 0x2b0c6: 0x6d4cb620, 0x2b0c7: 0x6d79e020,\n\t0x2b0c8: 0x6e386820, 0x2b0c9: 0x6c03f620, 0x2b0ca: 0x6c081e20, 0x2b0cb: 0x6c082020,\n\t0x2b0cc: 0x6c0fb820, 0x2b0cd: 0x6c0fba20, 0x2b0ce: 0x6c1c8620, 0x2b0cf: 0x6c1c8820,\n\t0x2b0d0: 0x6c1c8a20, 0x2b0d1: 0x6c1c8c20, 0x2b0d2: 0x6c2ffa20, 0x2b0d3: 0x6c4a4020,\n\t0x2b0d4: 0x6c4a4220, 0x2b0d5: 0x6c4a4420, 0x2b0d6: 0x6c4a4620, 0x2b0d7: 0x6c6bf620,\n\t0x2b0d8: 0x6c6bf820, 0x2b0d9: 0x6c6bfa20, 0x2b0da: 0x6c6bfc20, 0x2b0db: 0x6c932220,\n\t0x2b0dc: 0x6c932420, 0x2b0dd: 0x6c932620, 0x2b0de: 0x6c932820, 0x2b0df: 0x6c932a20,\n\t0x2b0e0: 0x6c932c20, 0x2b0e1: 0x6c932e20, 0x2b0e2: 0x6cbf6420, 0x2b0e3: 0x6cbf6620,\n\t0x2b0e4: 0x6cef9a20, 0x2b0e5: 0x6cef9c20, 0x2b0e6: 0x6cef9e20, 0x2b0e7: 0x6cefa020,\n\t0x2b0e8: 0x6cefa220, 0x2b0e9: 0x6d1f3c20, 0x2b0ea: 0x6d1f3e20, 0x2b0eb: 0x6d1f4020,\n\t0x2b0ec: 0x6d1f4220, 0x2b0ed: 0x6d4cc820, 0x2b0ee: 0x6d4cca20, 0x2b0ef: 0x6d4ccc20,\n\t0x2b0f0: 0x6dc49420, 0x2b0f1: 0x6e0d4620, 0x2b0f2: 0x6e3d1a20, 0x2b0f3: 0x6c083020,\n\t0x2b0f4: 0x6c1cbc20, 0x2b0f5: 0x6c304420, 0x2b0f6: 0x6c6c7220, 0x2b0f7: 0x6cbfd420,\n\t0x2b0f8: 0x6c6c7c20, 0x2b0f9: 0x6cbfea20, 0x2b0fa: 0x6d1fba20, 0x2b0fb: 0x6d4d3820,\n\t0x2b0fc: 0x6c0ffa20, 0x2b0fd: 0x6c1cd620, 0x2b0fe: 0x6c306a20, 0x2b0ff: 0x6c306c20,\n\t// Block 0xac4, offset 0x2b100\n\t0x2b100: 0x6c4aba20, 0x2b101: 0x6c4abc20, 0x2b102: 0x6c6c9420, 0x2b103: 0x6c93b820,\n\t0x2b104: 0x6c93ba20, 0x2b105: 0x6c93bc20, 0x2b106: 0x6c93be20, 0x2b107: 0x6cc00220,\n\t0x2b108: 0x6cc00420, 0x2b109: 0x6cf01220, 0x2b10a: 0x6cf01420, 0x2b10b: 0x6c085020,\n\t0x2b10c: 0x6c100a20, 0x2b10d: 0x6c100c20, 0x2b10e: 0x6c1cf820, 0x2b10f: 0x6c308020,\n\t0x2b110: 0x6c308220, 0x2b111: 0x6c308420, 0x2b112: 0x6c4acc20, 0x2b113: 0x6c4ace20,\n\t0x2b114: 0x6c4ad020, 0x2b115: 0x6c4ad220, 0x2b116: 0x6c4ad420, 0x2b117: 0x6c6cac20,\n\t0x2b118: 0x6c93cc20, 0x2b119: 0x6c93ce20, 0x2b11a: 0x6cc02020, 0x2b11b: 0x6cc02220,\n\t0x2b11c: 0x6d1fda20, 0x2b11d: 0x6d1fdc20, 0x2b11e: 0x6d1fde20, 0x2b11f: 0x6d4d5e20,\n\t0x2b120: 0x6d4d6020, 0x2b121: 0x6de1be20, 0x2b122: 0x6c040c20, 0x2b123: 0x6c1d1e20,\n\t0x2b124: 0x6c086420, 0x2b125: 0x6c086620, 0x2b126: 0x6c086820, 0x2b127: 0x6c086a20,\n\t0x2b128: 0x6c103620, 0x2b129: 0x6c103820, 0x2b12a: 0x6c103a20, 0x2b12b: 0x6c103c20,\n\t0x2b12c: 0x6c103e20, 0x2b12d: 0x6c104020, 0x2b12e: 0x6c104220, 0x2b12f: 0x6c104420,\n\t0x2b130: 0x6c1d2c20, 0x2b131: 0x6c1d2e20, 0x2b132: 0x6c1d3020, 0x2b133: 0x6c1d3220,\n\t0x2b134: 0x6c1d3420, 0x2b135: 0x6c1d3620, 0x2b136: 0x6c1d3820, 0x2b137: 0x6c1d2020,\n\t0x2b138: 0x6c1d3a20, 0x2b139: 0x6c30b820, 0x2b13a: 0x6c30ba20, 0x2b13b: 0x6c30bc20,\n\t0x2b13c: 0x6c30be20, 0x2b13d: 0x6c30c020, 0x2b13e: 0x6c30c220, 0x2b13f: 0x6c30c420,\n\t// Block 0xac5, offset 0x2b140\n\t0x2b140: 0x6c30c620, 0x2b141: 0x6c30c820, 0x2b142: 0x6c30ca20, 0x2b143: 0x6c30cc20,\n\t0x2b144: 0x6c4b2020, 0x2b145: 0x6c4b2220, 0x2b146: 0x6c4b2420, 0x2b147: 0x6c6d0020,\n\t0x2b148: 0x6c6d0220, 0x2b149: 0x6c6d0420, 0x2b14a: 0x6c6d0620, 0x2b14b: 0x6c6d0820,\n\t0x2b14c: 0x6c6d0a20, 0x2b14d: 0x6c6d0c20, 0x2b14e: 0x6c6d0e20, 0x2b14f: 0x6c6d1020,\n\t0x2b150: 0x6c6d1220, 0x2b151: 0x6c6d1420, 0x2b152: 0x6c6d1620, 0x2b153: 0x6c6d1820,\n\t0x2b154: 0x6c6d1a20, 0x2b155: 0x6c6d1c20, 0x2b156: 0x6c6d1e20, 0x2b157: 0x6c941620,\n\t0x2b158: 0x6c941820, 0x2b159: 0x6c941a20, 0x2b15a: 0x6c941c20, 0x2b15b: 0x6c941e20,\n\t0x2b15c: 0x6c942020, 0x2b15d: 0x6c942220, 0x2b15e: 0x6c942420, 0x2b15f: 0x6c942620,\n\t0x2b160: 0x6c942820, 0x2b161: 0x6c942a20, 0x2b162: 0x6c942c20, 0x2b163: 0x6c942e20,\n\t0x2b164: 0x6c943020, 0x2b165: 0x6c943220, 0x2b166: 0x6cc07020, 0x2b167: 0x6cc07220,\n\t0x2b168: 0x6cc07420, 0x2b169: 0x6cc07620, 0x2b16a: 0x6cc07820, 0x2b16b: 0x6cc07a20,\n\t0x2b16c: 0x6cc07c20, 0x2b16d: 0x6cc07e20, 0x2b16e: 0x6cc08020, 0x2b16f: 0x6cc08220,\n\t0x2b170: 0x6cf06820, 0x2b171: 0x6cf06a20, 0x2b172: 0x6cf06c20, 0x2b173: 0x6cf06e20,\n\t0x2b174: 0x6cf07020, 0x2b175: 0x6cf07220, 0x2b176: 0x6cf07420, 0x2b177: 0x6cf07620,\n\t0x2b178: 0x6cf07820, 0x2b179: 0x6d200020, 0x2b17a: 0x6d200220, 0x2b17b: 0x6d200420,\n\t0x2b17c: 0x6d200620, 0x2b17d: 0x6d200820, 0x2b17e: 0x6d200a20, 0x2b17f: 0x6d200c20,\n\t// Block 0xac6, offset 0x2b180\n\t0x2b180: 0x6d200e20, 0x2b181: 0x6d201020, 0x2b182: 0x6d201220, 0x2b183: 0x6d201420,\n\t0x2b184: 0x6d201620, 0x2b185: 0x6d4d9420, 0x2b186: 0x6d4d9620, 0x2b187: 0x6d4d9820,\n\t0x2b188: 0x6d4d9a20, 0x2b189: 0x6d4d9c20, 0x2b18a: 0x6d4d9e20, 0x2b18b: 0x6d4da020,\n\t0x2b18c: 0x6d4da220, 0x2b18d: 0x6d4da420, 0x2b18e: 0x6d4da620, 0x2b18f: 0x6d4da820,\n\t0x2b190: 0x6d4daa20, 0x2b191: 0x6d7a6020, 0x2b192: 0x6d7a6220, 0x2b193: 0x6d7a6420,\n\t0x2b194: 0x6d7a6620, 0x2b195: 0x6d7a6820, 0x2b196: 0x6d7a6a20, 0x2b197: 0x6d7a6c20,\n\t0x2b198: 0x6da2e220, 0x2b199: 0x6da2e420, 0x2b19a: 0x6da2e620, 0x2b19b: 0x6da2e820,\n\t0x2b19c: 0x6da2ea20, 0x2b19d: 0x6dc4d020, 0x2b19e: 0x6dc4d220, 0x2b19f: 0x6dc4d420,\n\t0x2b1a0: 0x6de1d020, 0x2b1a1: 0x6de1d220, 0x2b1a2: 0x6de1d420, 0x2b1a3: 0x6de1d620,\n\t0x2b1a4: 0x6df9b020, 0x2b1a5: 0x6e0d7020, 0x2b1a6: 0x6e0d7220, 0x2b1a7: 0x6e1cd620,\n\t0x2b1a8: 0x6e429020, 0x2b1a9: 0x6c109220, 0x2b1aa: 0x6c041c20, 0x2b1ab: 0x6c6de820,\n\t0x2b1ac: 0x6c6dea20, 0x2b1ad: 0x6cc16e20, 0x2b1ae: 0x6d4e4c20, 0x2b1af: 0x6c08a020,\n\t0x2b1b0: 0x6c318820, 0x2b1b1: 0x6c955820, 0x2b1b2: 0x6c08a620, 0x2b1b3: 0x6c08a820,\n\t0x2b1b4: 0x6c10ae20, 0x2b1b5: 0x6c10b020, 0x2b1b6: 0x6c10b220, 0x2b1b7: 0x6c1dea20,\n\t0x2b1b8: 0x6c1dec20, 0x2b1b9: 0x6c1dee20, 0x2b1ba: 0x6c1df020, 0x2b1bb: 0x6c1df220,\n\t0x2b1bc: 0x6c1df420, 0x2b1bd: 0x6c319220, 0x2b1be: 0x6c319420, 0x2b1bf: 0x6c319620,\n\t// Block 0xac7, offset 0x2b1c0\n\t0x2b1c0: 0x6c319820, 0x2b1c1: 0x6c4bf020, 0x2b1c2: 0x6c4bf220, 0x2b1c3: 0x6c4bf420,\n\t0x2b1c4: 0x6c4bf620, 0x2b1c5: 0x6c4bf820, 0x2b1c6: 0x6c4bfa20, 0x2b1c7: 0x6c6dfc20,\n\t0x2b1c8: 0x6c6dfe20, 0x2b1c9: 0x6c956420, 0x2b1ca: 0x6c956620, 0x2b1cb: 0x6c956820,\n\t0x2b1cc: 0x6c956a20, 0x2b1cd: 0x6c956c20, 0x2b1ce: 0x6c956e20, 0x2b1cf: 0x6cc18820,\n\t0x2b1d0: 0x6cc18a20, 0x2b1d1: 0x6cc18c20, 0x2b1d2: 0x6cc18e20, 0x2b1d3: 0x6cc19020,\n\t0x2b1d4: 0x6cc19220, 0x2b1d5: 0x6cc19420, 0x2b1d6: 0x6cc19620, 0x2b1d7: 0x6cf11a20,\n\t0x2b1d8: 0x6cf11c20, 0x2b1d9: 0x6cf11e20, 0x2b1da: 0x6cf12020, 0x2b1db: 0x6cf12220,\n\t0x2b1dc: 0x6d20c020, 0x2b1dd: 0x6d20c220, 0x2b1de: 0x6d20c420, 0x2b1df: 0x6d20c620,\n\t0x2b1e0: 0x6d4e5a20, 0x2b1e1: 0x6d4e5c20, 0x2b1e2: 0x6d7ae820, 0x2b1e3: 0x6d7aea20,\n\t0x2b1e4: 0x6d7aec20, 0x2b1e5: 0x6da35c20, 0x2b1e6: 0x6da35e20, 0x2b1e7: 0x6df9dc20,\n\t0x2b1e8: 0x6df9de20, 0x2b1e9: 0x6e1d0420, 0x2b1ea: 0x6e1d0620, 0x2b1eb: 0x6cc1fc20,\n\t0x2b1ec: 0x6cc1fe20, 0x2b1ed: 0x6d210c20, 0x2b1ee: 0x6d7b2420, 0x2b1ef: 0x6c10e420,\n\t0x2b1f0: 0x6c10e620, 0x2b1f1: 0x6c10e820, 0x2b1f2: 0x6c1e4220, 0x2b1f3: 0x6c1e4420,\n\t0x2b1f4: 0x6c31f220, 0x2b1f5: 0x6c31f420, 0x2b1f6: 0x6c31f620, 0x2b1f7: 0x6c31f820,\n\t0x2b1f8: 0x6c31fa20, 0x2b1f9: 0x6c31fc20, 0x2b1fa: 0x6c31fe20, 0x2b1fb: 0x6c320020,\n\t0x2b1fc: 0x6c4c6820, 0x2b1fd: 0x6c4c6a20, 0x2b1fe: 0x6c4c6c20, 0x2b1ff: 0x6c4c6e20,\n\t// Block 0xac8, offset 0x2b200\n\t0x2b200: 0x6c4c7020, 0x2b201: 0x6c4c7220, 0x2b202: 0x6c4c7420, 0x2b203: 0x6c6e6020,\n\t0x2b204: 0x6c6e6220, 0x2b205: 0x6c6e6420, 0x2b206: 0x6c6e6620, 0x2b207: 0x6c6e6820,\n\t0x2b208: 0x6c95d820, 0x2b209: 0x6c95da20, 0x2b20a: 0x6c95dc20, 0x2b20b: 0x6c95de20,\n\t0x2b20c: 0x6c95e020, 0x2b20d: 0x6cc20420, 0x2b20e: 0x6cc20620, 0x2b20f: 0x6cc20820,\n\t0x2b210: 0x6cc20a20, 0x2b211: 0x6cf16a20, 0x2b212: 0x6d211620, 0x2b213: 0x6d211820,\n\t0x2b214: 0x6d211a20, 0x2b215: 0x6d211c20, 0x2b216: 0x6d4eb620, 0x2b217: 0x6d4eb820,\n\t0x2b218: 0x6d4eba20, 0x2b219: 0x6d7b2620, 0x2b21a: 0x6d7b2820, 0x2b21b: 0x6d7b2a20,\n\t0x2b21c: 0x6d7b2c20, 0x2b21d: 0x6de23020, 0x2b21e: 0x6df9ec20, 0x2b21f: 0x6c110820,\n\t0x2b220: 0x6c324420, 0x2b221: 0x6d217420, 0x2b222: 0x6d4f0020, 0x2b223: 0x6d7b5c20,\n\t0x2b224: 0x6c1ea620, 0x2b225: 0x6c4ce020, 0x2b226: 0x6cf1b820, 0x2b227: 0x6c044820,\n\t0x2b228: 0x6c112020, 0x2b229: 0x6c112220, 0x2b22a: 0x6c112420, 0x2b22b: 0x6c112620,\n\t0x2b22c: 0x6c1eb220, 0x2b22d: 0x6c1eb420, 0x2b22e: 0x6c326020, 0x2b22f: 0x6c326220,\n\t0x2b230: 0x6c326420, 0x2b231: 0x6c326620, 0x2b232: 0x6c4cec20, 0x2b233: 0x6c4cee20,\n\t0x2b234: 0x6c4cf020, 0x2b235: 0x6c4cf220, 0x2b236: 0x6c4cf420, 0x2b237: 0x6c4cf620,\n\t0x2b238: 0x6c6ed820, 0x2b239: 0x6c6eda20, 0x2b23a: 0x6c966820, 0x2b23b: 0x6c966a20,\n\t0x2b23c: 0x6c966c20, 0x2b23d: 0x6cc27e20, 0x2b23e: 0x6cc28020, 0x2b23f: 0x6cc28220,\n\t// Block 0xac9, offset 0x2b240\n\t0x2b240: 0x6cf1c220, 0x2b241: 0x6cf1c420, 0x2b242: 0x6cf1c620, 0x2b243: 0x6d218420,\n\t0x2b244: 0x6d4f0820, 0x2b245: 0x6d4f0a20, 0x2b246: 0x6e0dac20, 0x2b247: 0x6c329a20,\n\t0x2b248: 0x6d7b7820, 0x2b249: 0x6c115620, 0x2b24a: 0x6c1ede20, 0x2b24b: 0x6c32a420,\n\t0x2b24c: 0x6c32a620, 0x2b24d: 0x6c32a820, 0x2b24e: 0x6c96aa20, 0x2b24f: 0x6cc2ae20,\n\t0x2b250: 0x6cc2b020, 0x2b251: 0x6d21b220, 0x2b252: 0x6d4f2620, 0x2b253: 0x6d7b8220,\n\t0x2b254: 0x6c090020, 0x2b255: 0x6c116020, 0x2b256: 0x6c1eea20, 0x2b257: 0x6c1eec20,\n\t0x2b258: 0x6c32b420, 0x2b259: 0x6c32b620, 0x2b25a: 0x6c4d3c20, 0x2b25b: 0x6c4d3e20,\n\t0x2b25c: 0x6c4d4020, 0x2b25d: 0x6c4d4220, 0x2b25e: 0x6c4d4420, 0x2b25f: 0x6c4d4620,\n\t0x2b260: 0x6c4d4820, 0x2b261: 0x6c4d4a20, 0x2b262: 0x6c6f1220, 0x2b263: 0x6c6f1420,\n\t0x2b264: 0x6c96c620, 0x2b265: 0x6c96c820, 0x2b266: 0x6c96ca20, 0x2b267: 0x6c96cc20,\n\t0x2b268: 0x6c96ce20, 0x2b269: 0x6c96d020, 0x2b26a: 0x6cc2c020, 0x2b26b: 0x6cc2c220,\n\t0x2b26c: 0x6cc2c420, 0x2b26d: 0x6cc2c620, 0x2b26e: 0x6cc2c820, 0x2b26f: 0x6cf1f620,\n\t0x2b270: 0x6d21bc20, 0x2b271: 0x6d21be20, 0x2b272: 0x6d21c020, 0x2b273: 0x6d4f3620,\n\t0x2b274: 0x6d4f3820, 0x2b275: 0x6d7b8c20, 0x2b276: 0x6d7b8e20, 0x2b277: 0x6da3c020,\n\t0x2b278: 0x6de27220, 0x2b279: 0x6dfa1a20, 0x2b27a: 0x6c090620, 0x2b27b: 0x6c116e20,\n\t0x2b27c: 0x6c117220, 0x2b27d: 0x6c1f1c20, 0x2b27e: 0x6c117420, 0x2b27f: 0x6c117620,\n\t// Block 0xaca, offset 0x2b280\n\t0x2b280: 0x6c1f1e20, 0x2b281: 0x6c32e020, 0x2b282: 0x6c32e220, 0x2b283: 0x6c1f3220,\n\t0x2b284: 0x6c1f3420, 0x2b285: 0x6c32e420, 0x2b286: 0x6c1f3620, 0x2b287: 0x6c1f3820,\n\t0x2b288: 0x6c1f3a20, 0x2b289: 0x6c1f3c20, 0x2b28a: 0x6c1f3e20, 0x2b28b: 0x6c1f4020,\n\t0x2b28c: 0x6c32fc20, 0x2b28d: 0x6c4d7c20, 0x2b28e: 0x6c4d7e20, 0x2b28f: 0x6c32fe20,\n\t0x2b290: 0x6c330020, 0x2b291: 0x6c330220, 0x2b292: 0x6c330420, 0x2b293: 0x6c330620,\n\t0x2b294: 0x6c330820, 0x2b295: 0x6c330a20, 0x2b296: 0x6c330c20, 0x2b297: 0x6c4d8020,\n\t0x2b298: 0x6c330e20, 0x2b299: 0x6c4d8220, 0x2b29a: 0x6c4da220, 0x2b29b: 0x6c4da420,\n\t0x2b29c: 0x6c4da620, 0x2b29d: 0x6c4da820, 0x2b29e: 0x6c4daa20, 0x2b29f: 0x6c6f5620,\n\t0x2b2a0: 0x6c6f5820, 0x2b2a1: 0x6c4dac20, 0x2b2a2: 0x6c4dae20, 0x2b2a3: 0x6c6f5a20,\n\t0x2b2a4: 0x6c4db020, 0x2b2a5: 0x6c4db220, 0x2b2a6: 0x6c4db420, 0x2b2a7: 0x6c4db620,\n\t0x2b2a8: 0x6c4db820, 0x2b2a9: 0x6c6f5c20, 0x2b2aa: 0x6c6f5e20, 0x2b2ab: 0x6c6f6020,\n\t0x2b2ac: 0x6c4dba20, 0x2b2ad: 0x6c4dbc20, 0x2b2ae: 0x6c972e20, 0x2b2af: 0x6c6f8a20,\n\t0x2b2b0: 0x6c973020, 0x2b2b1: 0x6c6f8c20, 0x2b2b2: 0x6c973220, 0x2b2b3: 0x6c6f8e20,\n\t0x2b2b4: 0x6c6f9020, 0x2b2b5: 0x6c973420, 0x2b2b6: 0x6c6f9220, 0x2b2b7: 0x6c6f9420,\n\t0x2b2b8: 0x6c6f9620, 0x2b2b9: 0x6c6f9820, 0x2b2ba: 0x6c4dbe20, 0x2b2bb: 0x6c973620,\n\t0x2b2bc: 0x6c6f9a20, 0x2b2bd: 0x6c6f9c20, 0x2b2be: 0x6c975620, 0x2b2bf: 0x6c975820,\n\t// Block 0xacb, offset 0x2b2c0\n\t0x2b2c0: 0x6c975a20, 0x2b2c1: 0x6cc30420, 0x2b2c2: 0x6c975c20, 0x2b2c3: 0x6c975e20,\n\t0x2b2c4: 0x6c976020, 0x2b2c5: 0x6c976220, 0x2b2c6: 0x6c976420, 0x2b2c7: 0x6c976620,\n\t0x2b2c8: 0x6cc30620, 0x2b2c9: 0x6c976820, 0x2b2ca: 0x6c976a20, 0x2b2cb: 0x6cc30820,\n\t0x2b2cc: 0x6c976c20, 0x2b2cd: 0x6c976e20, 0x2b2ce: 0x6cc30a20, 0x2b2cf: 0x6c977020,\n\t0x2b2d0: 0x6cc30c20, 0x2b2d1: 0x6cc30e20, 0x2b2d2: 0x6c977220, 0x2b2d3: 0x6c977420,\n\t0x2b2d4: 0x6c977620, 0x2b2d5: 0x6cc31020, 0x2b2d6: 0x6cc31220, 0x2b2d7: 0x6c977820,\n\t0x2b2d8: 0x6c977a20, 0x2b2d9: 0x6c977c20, 0x2b2da: 0x6cc33c20, 0x2b2db: 0x6cc33e20,\n\t0x2b2dc: 0x6cc34020, 0x2b2dd: 0x6cc34220, 0x2b2de: 0x6cc34420, 0x2b2df: 0x6cc34620,\n\t0x2b2e0: 0x6cc34820, 0x2b2e1: 0x6cc34a20, 0x2b2e2: 0x6cc34c20, 0x2b2e3: 0x6cf24220,\n\t0x2b2e4: 0x6cf24420, 0x2b2e5: 0x6cc34e20, 0x2b2e6: 0x6cf24620, 0x2b2e7: 0x6cc35020,\n\t0x2b2e8: 0x6cf24820, 0x2b2e9: 0x6cc35220, 0x2b2ea: 0x6cc35420, 0x2b2eb: 0x6cc35620,\n\t0x2b2ec: 0x6cf26620, 0x2b2ed: 0x6cf26820, 0x2b2ee: 0x6cf26a20, 0x2b2ef: 0x6d220420,\n\t0x2b2f0: 0x6cf26c20, 0x2b2f1: 0x6cf26e20, 0x2b2f2: 0x6d220620, 0x2b2f3: 0x6cf27020,\n\t0x2b2f4: 0x6cf27220, 0x2b2f5: 0x6cf27420, 0x2b2f6: 0x6d220820, 0x2b2f7: 0x6d220a20,\n\t0x2b2f8: 0x6d220c20, 0x2b2f9: 0x6d220e20, 0x2b2fa: 0x6cf27620, 0x2b2fb: 0x6d221020,\n\t0x2b2fc: 0x6d222a20, 0x2b2fd: 0x6d222c20, 0x2b2fe: 0x6d222e20, 0x2b2ff: 0x6d4f6420,\n\t// Block 0xacc, offset 0x2b300\n\t0x2b300: 0x6d223020, 0x2b301: 0x6d4f6620, 0x2b302: 0x6d4f6820, 0x2b303: 0x6d223220,\n\t0x2b304: 0x6d4f6a20, 0x2b305: 0x6d223420, 0x2b306: 0x6d223620, 0x2b307: 0x6d223820,\n\t0x2b308: 0x6d223a20, 0x2b309: 0x6d4f9820, 0x2b30a: 0x6d4f9a20, 0x2b30b: 0x6d4f9c20,\n\t0x2b30c: 0x6d7bb220, 0x2b30d: 0x6d4f9e20, 0x2b30e: 0x6d4fa020, 0x2b30f: 0x6d4fa220,\n\t0x2b310: 0x6d4fa420, 0x2b311: 0x6d4fa620, 0x2b312: 0x6d4fa820, 0x2b313: 0x6d4faa20,\n\t0x2b314: 0x6d7bb420, 0x2b315: 0x6d4fac20, 0x2b316: 0x6d4fae20, 0x2b317: 0x6d7bce20,\n\t0x2b318: 0x6da3d420, 0x2b319: 0x6d7bd020, 0x2b31a: 0x6dc57420, 0x2b31b: 0x6dc57620,\n\t0x2b31c: 0x6da3e620, 0x2b31d: 0x6dc57820, 0x2b31e: 0x6dc57a20, 0x2b31f: 0x6dc57c20,\n\t0x2b320: 0x6da3e820, 0x2b321: 0x6dc58820, 0x2b322: 0x6dc58a20, 0x2b323: 0x6dfa2a20,\n\t0x2b324: 0x6dfa2c20, 0x2b325: 0x6de28420, 0x2b326: 0x6de28620, 0x2b327: 0x6de28820,\n\t0x2b328: 0x6dfa3020, 0x2b329: 0x6dfa3220, 0x2b32a: 0x6dfa3420, 0x2b32b: 0x6e1d3420,\n\t0x2b32c: 0x6e1d3620, 0x2b32d: 0x6e403c20, 0x2b32e: 0x6c1ffc20, 0x2b32f: 0x6c1ffe20,\n\t0x2b330: 0x6c33dc20, 0x2b331: 0x6c33de20, 0x2b332: 0x6c33e020, 0x2b333: 0x6c4e9e20,\n\t0x2b334: 0x6c709620, 0x2b335: 0x6c709820, 0x2b336: 0x6c709a20, 0x2b337: 0x6c98b620,\n\t0x2b338: 0x6cc48e20, 0x2b339: 0x6cf37620, 0x2b33a: 0x6d233220, 0x2b33b: 0x6d50be20,\n\t0x2b33c: 0x6d50c020, 0x2b33d: 0x6da46820, 0x2b33e: 0x6c201620, 0x2b33f: 0x6c340220,\n\t// Block 0xacd, offset 0x2b340\n\t0x2b340: 0x6c340420, 0x2b341: 0x6c4ec820, 0x2b342: 0x6c4eca20, 0x2b343: 0x6c093220,\n\t0x2b344: 0x6c093420, 0x2b345: 0x6c093620, 0x2b346: 0x6c11d620, 0x2b347: 0x6c11d820,\n\t0x2b348: 0x6c11da20, 0x2b349: 0x6c202820, 0x2b34a: 0x6c202a20, 0x2b34b: 0x6c202c20,\n\t0x2b34c: 0x6c202e20, 0x2b34d: 0x6c203020, 0x2b34e: 0x6c203220, 0x2b34f: 0x6c203420,\n\t0x2b350: 0x6c203620, 0x2b351: 0x6c203820, 0x2b352: 0x6c341e20, 0x2b353: 0x6c342020,\n\t0x2b354: 0x6c342220, 0x2b355: 0x6c342420, 0x2b356: 0x6c342620, 0x2b357: 0x6c342820,\n\t0x2b358: 0x6c4ef220, 0x2b359: 0x6c342a20, 0x2b35a: 0x6c342c20, 0x2b35b: 0x6c342e20,\n\t0x2b35c: 0x6c343020, 0x2b35d: 0x6c343220, 0x2b35e: 0x6c343420, 0x2b35f: 0x6c343620,\n\t0x2b360: 0x6c343820, 0x2b361: 0x6c4ef820, 0x2b362: 0x6c4efa20, 0x2b363: 0x6c4efc20,\n\t0x2b364: 0x6c4efe20, 0x2b365: 0x6c4f0020, 0x2b366: 0x6c4f0220, 0x2b367: 0x6c4f0420,\n\t0x2b368: 0x6c4f0620, 0x2b369: 0x6c4f0820, 0x2b36a: 0x6c4f0a20, 0x2b36b: 0x6c4f0c20,\n\t0x2b36c: 0x6c70ca20, 0x2b36d: 0x6c70cc20, 0x2b36e: 0x6c4f0e20, 0x2b36f: 0x6c4f1020,\n\t0x2b370: 0x6c4f1220, 0x2b371: 0x6c70ce20, 0x2b372: 0x6c70e020, 0x2b373: 0x6c98e220,\n\t0x2b374: 0x6c70e220, 0x2b375: 0x6c70e420, 0x2b376: 0x6c70e620, 0x2b377: 0x6c70e820,\n\t0x2b378: 0x6c70ea20, 0x2b379: 0x6c98e820, 0x2b37a: 0x6c98ea20, 0x2b37b: 0x6c98ec20,\n\t0x2b37c: 0x6c98ee20, 0x2b37d: 0x6c98f020, 0x2b37e: 0x6c98f220, 0x2b37f: 0x6c98f420,\n\t// Block 0xace, offset 0x2b380\n\t0x2b380: 0x6c98f620, 0x2b381: 0x6c98f820, 0x2b382: 0x6c98fa20, 0x2b383: 0x6c98fc20,\n\t0x2b384: 0x6c98fe20, 0x2b385: 0x6c990020, 0x2b386: 0x6c990220, 0x2b387: 0x6cc4bc20,\n\t0x2b388: 0x6c990420, 0x2b389: 0x6cc4c820, 0x2b38a: 0x6cc4ca20, 0x2b38b: 0x6cc4cc20,\n\t0x2b38c: 0x6cf3a820, 0x2b38d: 0x6cf3aa20, 0x2b38e: 0x6cc4ce20, 0x2b38f: 0x6cc4d020,\n\t0x2b390: 0x6cc4d220, 0x2b391: 0x6cc4d420, 0x2b392: 0x6cc4d620, 0x2b393: 0x6cc4d820,\n\t0x2b394: 0x6cc4da20, 0x2b395: 0x6cc4dc20, 0x2b396: 0x6cc66c20, 0x2b397: 0x6cc4de20,\n\t0x2b398: 0x6cc4e020, 0x2b399: 0x6cf3b220, 0x2b39a: 0x6cf3b420, 0x2b39b: 0x6cf3b620,\n\t0x2b39c: 0x6cf3b820, 0x2b39d: 0x6cf3ba20, 0x2b39e: 0x6cf3bc20, 0x2b39f: 0x6cf3be20,\n\t0x2b3a0: 0x6cf3c020, 0x2b3a1: 0x6cf3c220, 0x2b3a2: 0x6cf3c420, 0x2b3a3: 0x6cf3c620,\n\t0x2b3a4: 0x6cf3c820, 0x2b3a5: 0x6cf3ca20, 0x2b3a6: 0x6cf3cc20, 0x2b3a7: 0x6cf3ce20,\n\t0x2b3a8: 0x6cf3d020, 0x2b3a9: 0x6cf3d220, 0x2b3aa: 0x6cf3d420, 0x2b3ab: 0x6cf3d620,\n\t0x2b3ac: 0x6cf3d820, 0x2b3ad: 0x6d237220, 0x2b3ae: 0x6d237420, 0x2b3af: 0x6d237620,\n\t0x2b3b0: 0x6d237820, 0x2b3b1: 0x6d237a20, 0x2b3b2: 0x6d237c20, 0x2b3b3: 0x6d237e20,\n\t0x2b3b4: 0x6d238020, 0x2b3b5: 0x6d238220, 0x2b3b6: 0x6d238420, 0x2b3b7: 0x6d238620,\n\t0x2b3b8: 0x6d238820, 0x2b3b9: 0x6d238a20, 0x2b3ba: 0x6d238c20, 0x2b3bb: 0x6d50fc20,\n\t0x2b3bc: 0x6d50fe20, 0x2b3bd: 0x6d238e20, 0x2b3be: 0x6d239020, 0x2b3bf: 0x6d239220,\n\t// Block 0xacf, offset 0x2b3c0\n\t0x2b3c0: 0x6d239420, 0x2b3c1: 0x6d239620, 0x2b3c2: 0x6d239820, 0x2b3c3: 0x6d511020,\n\t0x2b3c4: 0x6d511220, 0x2b3c5: 0x6d511420, 0x2b3c6: 0x6d511620, 0x2b3c7: 0x6d511820,\n\t0x2b3c8: 0x6d511a20, 0x2b3c9: 0x6d511c20, 0x2b3ca: 0x6d511e20, 0x2b3cb: 0x6d512020,\n\t0x2b3cc: 0x6d512220, 0x2b3cd: 0x6d512420, 0x2b3ce: 0x6d512620, 0x2b3cf: 0x6d512820,\n\t0x2b3d0: 0x6d512a20, 0x2b3d1: 0x6d512c20, 0x2b3d2: 0x6d7cb420, 0x2b3d3: 0x6da47a20,\n\t0x2b3d4: 0x6d7cb620, 0x2b3d5: 0x6d7cb820, 0x2b3d6: 0x6d7cba20, 0x2b3d7: 0x6d7cbc20,\n\t0x2b3d8: 0x6d7cbe20, 0x2b3d9: 0x6d7cc020, 0x2b3da: 0x6da48220, 0x2b3db: 0x6da48420,\n\t0x2b3dc: 0x6da48620, 0x2b3dd: 0x6da48820, 0x2b3de: 0x6da48a20, 0x2b3df: 0x6da48c20,\n\t0x2b3e0: 0x6dc60e20, 0x2b3e1: 0x6dc61020, 0x2b3e2: 0x6dc61220, 0x2b3e3: 0x6dc61420,\n\t0x2b3e4: 0x6dc61620, 0x2b3e5: 0x6dc61820, 0x2b3e6: 0x6dc61a20, 0x2b3e7: 0x6dc61c20,\n\t0x2b3e8: 0x6dc61e20, 0x2b3e9: 0x6dc62020, 0x2b3ea: 0x6dc62220, 0x2b3eb: 0x6dc62420,\n\t0x2b3ec: 0x6de2ea20, 0x2b3ed: 0x6de2ec20, 0x2b3ee: 0x6dfa5c20, 0x2b3ef: 0x6dfa5e20,\n\t0x2b3f0: 0x6dfa6020, 0x2b3f1: 0x6e0df020, 0x2b3f2: 0x6e0df220, 0x2b3f3: 0x6e0df420,\n\t0x2b3f4: 0x6e0df620, 0x2b3f5: 0x6e28f820, 0x2b3f6: 0x6e28fa20, 0x2b3f7: 0x6e28fc20,\n\t0x2b3f8: 0x6e389020, 0x2b3f9: 0x6e389220, 0x2b3fa: 0x6c352e20, 0x2b3fb: 0x6c722220,\n\t0x2b3fc: 0x6c722420, 0x2b3fd: 0x6c9a9420, 0x2b3fe: 0x6cc67020, 0x2b3ff: 0x6c211c20,\n\t// Block 0xad0, offset 0x2b400\n\t0x2b400: 0x6c211e20, 0x2b401: 0x6c354020, 0x2b402: 0x6c354220, 0x2b403: 0x6c503420,\n\t0x2b404: 0x6c503620, 0x2b405: 0x6c503820, 0x2b406: 0x6c503a20, 0x2b407: 0x6c723620,\n\t0x2b408: 0x6c723820, 0x2b409: 0x6c723a20, 0x2b40a: 0x6c9aa020, 0x2b40b: 0x6c9aa220,\n\t0x2b40c: 0x6c9aa420, 0x2b40d: 0x6c9aa620, 0x2b40e: 0x6c9aa820, 0x2b40f: 0x6cc68220,\n\t0x2b410: 0x6cc68420, 0x2b411: 0x6cc68620, 0x2b412: 0x6cc68820, 0x2b413: 0x6cc68a20,\n\t0x2b414: 0x6cc68c20, 0x2b415: 0x6cc68e20, 0x2b416: 0x6cc69020, 0x2b417: 0x6cc69220,\n\t0x2b418: 0x6cc69420, 0x2b419: 0x6cc69620, 0x2b41a: 0x6cc69820, 0x2b41b: 0x6cf52c20,\n\t0x2b41c: 0x6cf52e20, 0x2b41d: 0x6cf53020, 0x2b41e: 0x6cf53220, 0x2b41f: 0x6cf53420,\n\t0x2b420: 0x6d24f020, 0x2b421: 0x6d24f220, 0x2b422: 0x6d24f420, 0x2b423: 0x6d24f620,\n\t0x2b424: 0x6d527220, 0x2b425: 0x6d527420, 0x2b426: 0x6d527620, 0x2b427: 0x6d7dae20,\n\t0x2b428: 0x6d7db020, 0x2b429: 0x6d7db220, 0x2b42a: 0x6d7db420, 0x2b42b: 0x6dc6b620,\n\t0x2b42c: 0x6dc6b820, 0x2b42d: 0x6dfab220, 0x2b42e: 0x6e0e2c20, 0x2b42f: 0x6c213a20,\n\t0x2b430: 0x6c728c20, 0x2b431: 0x6cf58c20, 0x2b432: 0x6c124020, 0x2b433: 0x6c124220,\n\t0x2b434: 0x6c358220, 0x2b435: 0x6c507a20, 0x2b436: 0x6c729a20, 0x2b437: 0x6c9b2820,\n\t0x2b438: 0x6cc71420, 0x2b439: 0x6d52cc20, 0x2b43a: 0x6da54220, 0x2b43b: 0x6e292a20,\n\t0x2b43c: 0x6c508220, 0x2b43d: 0x6c508420, 0x2b43e: 0x6c72aa20, 0x2b43f: 0x6c72ac20,\n\t// Block 0xad1, offset 0x2b440\n\t0x2b440: 0x6cc72420, 0x2b441: 0x6d255620, 0x2b442: 0x6d52d620, 0x2b443: 0x6c124620,\n\t0x2b444: 0x6c359e20, 0x2b445: 0x6c72b420, 0x2b446: 0x6c508e20, 0x2b447: 0x6c72b620,\n\t0x2b448: 0x6c72b820, 0x2b449: 0x6c72ba20, 0x2b44a: 0x6c9b4220, 0x2b44b: 0x6c9b4420,\n\t0x2b44c: 0x6c9b4620, 0x2b44d: 0x6cc74420, 0x2b44e: 0x6d52e420, 0x2b44f: 0x6d52e620,\n\t0x2b450: 0x6c124c20, 0x2b451: 0x6c124e20, 0x2b452: 0x6c215020, 0x2b453: 0x6c215220,\n\t0x2b454: 0x6c215420, 0x2b455: 0x6c215620, 0x2b456: 0x6c215820, 0x2b457: 0x6c215a20,\n\t0x2b458: 0x6c35b020, 0x2b459: 0x6c35b220, 0x2b45a: 0x6c35b420, 0x2b45b: 0x6c50b020,\n\t0x2b45c: 0x6c50b220, 0x2b45d: 0x6c50b420, 0x2b45e: 0x6c50b620, 0x2b45f: 0x6c50b820,\n\t0x2b460: 0x6c50ba20, 0x2b461: 0x6c50bc20, 0x2b462: 0x6c50be20, 0x2b463: 0x6c50c020,\n\t0x2b464: 0x6c50c220, 0x2b465: 0x6c72f020, 0x2b466: 0x6c72f220, 0x2b467: 0x6c72f420,\n\t0x2b468: 0x6c72f620, 0x2b469: 0x6c72f820, 0x2b46a: 0x6c72fa20, 0x2b46b: 0x6c72fc20,\n\t0x2b46c: 0x6c72fe20, 0x2b46d: 0x6c730020, 0x2b46e: 0x6c730220, 0x2b46f: 0x6c9b7020,\n\t0x2b470: 0x6c9b7220, 0x2b471: 0x6c9b7420, 0x2b472: 0x6c9b7620, 0x2b473: 0x6c9b7820,\n\t0x2b474: 0x6c9b7a20, 0x2b475: 0x6cc76e20, 0x2b476: 0x6cc77020, 0x2b477: 0x6cc77220,\n\t0x2b478: 0x6cc77420, 0x2b479: 0x6cc77620, 0x2b47a: 0x6cc77820, 0x2b47b: 0x6cc77a20,\n\t0x2b47c: 0x6cc77c20, 0x2b47d: 0x6cc77e20, 0x2b47e: 0x6cc78020, 0x2b47f: 0x6cc78220,\n\t// Block 0xad2, offset 0x2b480\n\t0x2b480: 0x6cc78420, 0x2b481: 0x6cf5d820, 0x2b482: 0x6cf5da20, 0x2b483: 0x6cf5dc20,\n\t0x2b484: 0x6cf5de20, 0x2b485: 0x6cf5e020, 0x2b486: 0x6cf5e220, 0x2b487: 0x6cf5e420,\n\t0x2b488: 0x6cf5e620, 0x2b489: 0x6cf5e820, 0x2b48a: 0x6cf5ea20, 0x2b48b: 0x6cf5ec20,\n\t0x2b48c: 0x6cf5ee20, 0x2b48d: 0x6d257620, 0x2b48e: 0x6d257820, 0x2b48f: 0x6d257a20,\n\t0x2b490: 0x6d257c20, 0x2b491: 0x6d52f420, 0x2b492: 0x6d52f620, 0x2b493: 0x6d52f820,\n\t0x2b494: 0x6d52fa20, 0x2b495: 0x6d52fc20, 0x2b496: 0x6d52fe20, 0x2b497: 0x6d7e3220,\n\t0x2b498: 0x6d7e3420, 0x2b499: 0x6d7e3620, 0x2b49a: 0x6d7e3820, 0x2b49b: 0x6d7e3a20,\n\t0x2b49c: 0x6d7e3c20, 0x2b49d: 0x6d7e3e20, 0x2b49e: 0x6d7e4020, 0x2b49f: 0x6d7e4220,\n\t0x2b4a0: 0x6da55e20, 0x2b4a1: 0x6da56020, 0x2b4a2: 0x6da56220, 0x2b4a3: 0x6dc6fa20,\n\t0x2b4a4: 0x6dc6fc20, 0x2b4a5: 0x6dc6fe20, 0x2b4a6: 0x6dc70020, 0x2b4a7: 0x6dc70220,\n\t0x2b4a8: 0x6dc70420, 0x2b4a9: 0x6de38420, 0x2b4aa: 0x6de38620, 0x2b4ab: 0x6dfade20,\n\t0x2b4ac: 0x6e1d9a20, 0x2b4ad: 0x6e1d9c20, 0x2b4ae: 0x6e292e20, 0x2b4af: 0x6e38a620,\n\t0x2b4b0: 0x6c126e20, 0x2b4b1: 0x6d7ed420, 0x2b4b2: 0x6da5aa20, 0x2b4b3: 0x6c364a20,\n\t0x2b4b4: 0x6c73aa20, 0x2b4b5: 0x6c73ac20, 0x2b4b6: 0x6c9c1620, 0x2b4b7: 0x6c9c1820,\n\t0x2b4b8: 0x6cc85820, 0x2b4b9: 0x6cd95a20, 0x2b4ba: 0x6d260220, 0x2b4bb: 0x6d260420,\n\t0x2b4bc: 0x6d538020, 0x2b4bd: 0x6d538220, 0x2b4be: 0x6d538420, 0x2b4bf: 0x6d7ee420,\n\t// Block 0xad3, offset 0x2b4c0\n\t0x2b4c0: 0x6da5b020, 0x2b4c1: 0x6c127a20, 0x2b4c2: 0x6c21b020, 0x2b4c3: 0x6c21b220,\n\t0x2b4c4: 0x6c21b420, 0x2b4c5: 0x6c21b620, 0x2b4c6: 0x6c21b820, 0x2b4c7: 0x6c365820,\n\t0x2b4c8: 0x6c365a20, 0x2b4c9: 0x6c365c20, 0x2b4ca: 0x6c365e20, 0x2b4cb: 0x6c366020,\n\t0x2b4cc: 0x6c366220, 0x2b4cd: 0x6c366420, 0x2b4ce: 0x6c366620, 0x2b4cf: 0x6c366820,\n\t0x2b4d0: 0x6c366a20, 0x2b4d1: 0x6c518620, 0x2b4d2: 0x6c518820, 0x2b4d3: 0x6c518a20,\n\t0x2b4d4: 0x6c518c20, 0x2b4d5: 0x6c518e20, 0x2b4d6: 0x6c519020, 0x2b4d7: 0x6c519220,\n\t0x2b4d8: 0x6c73c620, 0x2b4d9: 0x6c73c820, 0x2b4da: 0x6c73ca20, 0x2b4db: 0x6c73cc20,\n\t0x2b4dc: 0x6c73ce20, 0x2b4dd: 0x6c73d020, 0x2b4de: 0x6c73d220, 0x2b4df: 0x6c73d420,\n\t0x2b4e0: 0x6c73d620, 0x2b4e1: 0x6c73d820, 0x2b4e2: 0x6c73da20, 0x2b4e3: 0x6c73dc20,\n\t0x2b4e4: 0x6c73de20, 0x2b4e5: 0x6c73e020, 0x2b4e6: 0x6c73e220, 0x2b4e7: 0x6c73e420,\n\t0x2b4e8: 0x6c9c3620, 0x2b4e9: 0x6c9c3820, 0x2b4ea: 0x6c9c3a20, 0x2b4eb: 0x6c9c3c20,\n\t0x2b4ec: 0x6c9c3e20, 0x2b4ed: 0x6c9c4020, 0x2b4ee: 0x6c9c4220, 0x2b4ef: 0x6c9c4420,\n\t0x2b4f0: 0x6c9c4620, 0x2b4f1: 0x6c9c4820, 0x2b4f2: 0x6c9c4a20, 0x2b4f3: 0x6c9c4c20,\n\t0x2b4f4: 0x6c9c4e20, 0x2b4f5: 0x6c9c5020, 0x2b4f6: 0x6cc88620, 0x2b4f7: 0x6c9c5220,\n\t0x2b4f8: 0x6cc88820, 0x2b4f9: 0x6cc88a20, 0x2b4fa: 0x6cc88c20, 0x2b4fb: 0x6cc88e20,\n\t0x2b4fc: 0x6cc89020, 0x2b4fd: 0x6cc89220, 0x2b4fe: 0x6cc89420, 0x2b4ff: 0x6cc89620,\n\t// Block 0xad4, offset 0x2b500\n\t0x2b500: 0x6cc89820, 0x2b501: 0x6cc89a20, 0x2b502: 0x6cc89c20, 0x2b503: 0x6cc89e20,\n\t0x2b504: 0x6cc8a020, 0x2b505: 0x6cc8a220, 0x2b506: 0x6cc8a420, 0x2b507: 0x6cc8a620,\n\t0x2b508: 0x6cc8a820, 0x2b509: 0x6cc8aa20, 0x2b50a: 0x6cc8ac20, 0x2b50b: 0x6cf6b220,\n\t0x2b50c: 0x6cf6b420, 0x2b50d: 0x6cf6b620, 0x2b50e: 0x6cf6b820, 0x2b50f: 0x6cf6ba20,\n\t0x2b510: 0x6cf6bc20, 0x2b511: 0x6cf6be20, 0x2b512: 0x6cf6c020, 0x2b513: 0x6cf6c220,\n\t0x2b514: 0x6cf6c420, 0x2b515: 0x6cf6c620, 0x2b516: 0x6cf6c820, 0x2b517: 0x6cf6ca20,\n\t0x2b518: 0x6cf6cc20, 0x2b519: 0x6cf6ce20, 0x2b51a: 0x6cf6d020, 0x2b51b: 0x6cf6d220,\n\t0x2b51c: 0x6cf6d420, 0x2b51d: 0x6cf6d620, 0x2b51e: 0x6cf6d820, 0x2b51f: 0x6cf6da20,\n\t0x2b520: 0x6cf6dc20, 0x2b521: 0x6cfbd820, 0x2b522: 0x6cf6de20, 0x2b523: 0x6cf6e020,\n\t0x2b524: 0x6d261a20, 0x2b525: 0x6d261c20, 0x2b526: 0x6d261e20, 0x2b527: 0x6d262020,\n\t0x2b528: 0x6d262220, 0x2b529: 0x6d262420, 0x2b52a: 0x6d262620, 0x2b52b: 0x6d262820,\n\t0x2b52c: 0x6d262a20, 0x2b52d: 0x6d262c20, 0x2b52e: 0x6d262e20, 0x2b52f: 0x6d263020,\n\t0x2b530: 0x6d263220, 0x2b531: 0x6d263420, 0x2b532: 0x6d263620, 0x2b533: 0x6d263820,\n\t0x2b534: 0x6d263a20, 0x2b535: 0x6d263c20, 0x2b536: 0x6d263e20, 0x2b537: 0x6d264020,\n\t0x2b538: 0x6d264220, 0x2b539: 0x6d264420, 0x2b53a: 0x6d264620, 0x2b53b: 0x6d264820,\n\t0x2b53c: 0x6d264a20, 0x2b53d: 0x6d264c20, 0x2b53e: 0x6d539e20, 0x2b53f: 0x6d53a020,\n\t// Block 0xad5, offset 0x2b540\n\t0x2b540: 0x6d53a220, 0x2b541: 0x6d53a420, 0x2b542: 0x6d53a620, 0x2b543: 0x6d53a820,\n\t0x2b544: 0x6d53aa20, 0x2b545: 0x6d53ac20, 0x2b546: 0x6d53ae20, 0x2b547: 0x6d53b020,\n\t0x2b548: 0x6d53b220, 0x2b549: 0x6d53b420, 0x2b54a: 0x6d53b620, 0x2b54b: 0x6d53b820,\n\t0x2b54c: 0x6d53ba20, 0x2b54d: 0x6d53bc20, 0x2b54e: 0x6d53be20, 0x2b54f: 0x6d53c020,\n\t0x2b550: 0x6d7f0220, 0x2b551: 0x6d53c220, 0x2b552: 0x6d53c420, 0x2b553: 0x6d7f0420,\n\t0x2b554: 0x6d7f0620, 0x2b555: 0x6d7f0820, 0x2b556: 0x6d7f0a20, 0x2b557: 0x6d7f0c20,\n\t0x2b558: 0x6d7f0e20, 0x2b559: 0x6d7f1020, 0x2b55a: 0x6d7f1220, 0x2b55b: 0x6d7f1420,\n\t0x2b55c: 0x6d7f1620, 0x2b55d: 0x6d7f1820, 0x2b55e: 0x6d7f1a20, 0x2b55f: 0x6d7f1c20,\n\t0x2b560: 0x6d53c620, 0x2b561: 0x6d7f1e20, 0x2b562: 0x6d7f2020, 0x2b563: 0x6d7f2220,\n\t0x2b564: 0x6d7f2420, 0x2b565: 0x6d7f2620, 0x2b566: 0x6d7f2820, 0x2b567: 0x6d7f2a20,\n\t0x2b568: 0x6d7f2c20, 0x2b569: 0x6d7f2e20, 0x2b56a: 0x6da5c220, 0x2b56b: 0x6da5c420,\n\t0x2b56c: 0x6da5c620, 0x2b56d: 0x6da5c820, 0x2b56e: 0x6da5ca20, 0x2b56f: 0x6da5cc20,\n\t0x2b570: 0x6da5ce20, 0x2b571: 0x6da5d020, 0x2b572: 0x6da5d220, 0x2b573: 0x6da5d420,\n\t0x2b574: 0x6da5d620, 0x2b575: 0x6da5d820, 0x2b576: 0x6da5da20, 0x2b577: 0x6dc75420,\n\t0x2b578: 0x6dc75620, 0x2b579: 0x6dc75820, 0x2b57a: 0x6dc75a20, 0x2b57b: 0x6dc75c20,\n\t0x2b57c: 0x6dc75e20, 0x2b57d: 0x6dc76020, 0x2b57e: 0x6de3b420, 0x2b57f: 0x6de3b620,\n\t// Block 0xad6, offset 0x2b580\n\t0x2b580: 0x6de3b820, 0x2b581: 0x6de3ba20, 0x2b582: 0x6de3bc20, 0x2b583: 0x6de3be20,\n\t0x2b584: 0x6de3c020, 0x2b585: 0x6de3c220, 0x2b586: 0x6de3c420, 0x2b587: 0x6de3c620,\n\t0x2b588: 0x6de3c820, 0x2b589: 0x6dfb0820, 0x2b58a: 0x6dfb0a20, 0x2b58b: 0x6dfb0c20,\n\t0x2b58c: 0x6dfb0e20, 0x2b58d: 0x6dfb1020, 0x2b58e: 0x6dfb1220, 0x2b58f: 0x6dfb1420,\n\t0x2b590: 0x6dfb1620, 0x2b591: 0x6dfb1820, 0x2b592: 0x6dfb1a20, 0x2b593: 0x6dfb1c20,\n\t0x2b594: 0x6e0e5e20, 0x2b595: 0x6e0e6020, 0x2b596: 0x6dfb1e20, 0x2b597: 0x6e1db220,\n\t0x2b598: 0x6e1db420, 0x2b599: 0x6e293a20, 0x2b59a: 0x6e293c20, 0x2b59b: 0x6e293e20,\n\t0x2b59c: 0x6e294020, 0x2b59d: 0x6c223820, 0x2b59e: 0x6c223a20, 0x2b59f: 0x6c376620,\n\t0x2b5a0: 0x6c376820, 0x2b5a1: 0x6c376a20, 0x2b5a2: 0x6c376c20, 0x2b5a3: 0x6c52c220,\n\t0x2b5a4: 0x6c52c420, 0x2b5a5: 0x6c52c620, 0x2b5a6: 0x6c52c820, 0x2b5a7: 0x6c52ca20,\n\t0x2b5a8: 0x6c52cc20, 0x2b5a9: 0x6c754820, 0x2b5aa: 0x6c754a20, 0x2b5ab: 0x6c754c20,\n\t0x2b5ac: 0x6c754e20, 0x2b5ad: 0x6c755020, 0x2b5ae: 0x6c9da620, 0x2b5af: 0x6c9da820,\n\t0x2b5b0: 0x6c9daa20, 0x2b5b1: 0x6c9dac20, 0x2b5b2: 0x6cca8c20, 0x2b5b3: 0x6cca8e20,\n\t0x2b5b4: 0x6cca9020, 0x2b5b5: 0x6cca9220, 0x2b5b6: 0x6cca9420, 0x2b5b7: 0x6c75a620,\n\t0x2b5b8: 0x6cca9620, 0x2b5b9: 0x6cf8bc20, 0x2b5ba: 0x6cf8be20, 0x2b5bb: 0x6cf8c020,\n\t0x2b5bc: 0x6cf8c220, 0x2b5bd: 0x6cf8c420, 0x2b5be: 0x6cf8c620, 0x2b5bf: 0x6d280220,\n\t// Block 0xad7, offset 0x2b5c0\n\t0x2b5c0: 0x6d280420, 0x2b5c1: 0x6d280620, 0x2b5c2: 0x6d555220, 0x2b5c3: 0x6d555420,\n\t0x2b5c4: 0x6d80d020, 0x2b5c5: 0x6d80d220, 0x2b5c6: 0x6da6f420, 0x2b5c7: 0x6da6f620,\n\t0x2b5c8: 0x6da6f820, 0x2b5c9: 0x6da6fa20, 0x2b5ca: 0x6de47a20, 0x2b5cb: 0x6dfb9a20,\n\t0x2b5cc: 0x6e1e0c20, 0x2b5cd: 0x6e297620, 0x2b5ce: 0x6e38d620, 0x2b5cf: 0x6c12ba20,\n\t0x2b5d0: 0x6c224e20, 0x2b5d1: 0x6c225020, 0x2b5d2: 0x6c52f820, 0x2b5d3: 0x6c52fa20,\n\t0x2b5d4: 0x6c52fc20, 0x2b5d5: 0x6ccad220, 0x2b5d6: 0x6ccad420, 0x2b5d7: 0x6d284220,\n\t0x2b5d8: 0x6dc85c20, 0x2b5d9: 0x6c12c220, 0x2b5da: 0x6c37ca20, 0x2b5db: 0x6c37cc20,\n\t0x2b5dc: 0x6c37ce20, 0x2b5dd: 0x6c37d020, 0x2b5de: 0x6c530820, 0x2b5df: 0x6c530a20,\n\t0x2b5e0: 0x6c530c20, 0x2b5e1: 0x6c75a820, 0x2b5e2: 0x6c9de820, 0x2b5e3: 0x6c9dea20,\n\t0x2b5e4: 0x6ccaf820, 0x2b5e5: 0x6ccafa20, 0x2b5e6: 0x6ccafc20, 0x2b5e7: 0x6ccafe20,\n\t0x2b5e8: 0x6ccb0020, 0x2b5e9: 0x6ccb0220, 0x2b5ea: 0x6cf92220, 0x2b5eb: 0x6cf92420,\n\t0x2b5ec: 0x6cf92620, 0x2b5ed: 0x6cf92820, 0x2b5ee: 0x6cf92a20, 0x2b5ef: 0x6d285020,\n\t0x2b5f0: 0x6d285220, 0x2b5f1: 0x6d285420, 0x2b5f2: 0x6d285620, 0x2b5f3: 0x6d559a20,\n\t0x2b5f4: 0x6d559c20, 0x2b5f5: 0x6d810220, 0x2b5f6: 0x6d810420, 0x2b5f7: 0x6d810620,\n\t0x2b5f8: 0x6da71e20, 0x2b5f9: 0x6dfba420, 0x2b5fa: 0x6dfba620, 0x2b5fb: 0x6e297e20,\n\t0x2b5fc: 0x6c227420, 0x2b5fd: 0x6c380420, 0x2b5fe: 0x6c75dc20, 0x2b5ff: 0x6c75de20,\n\t// Block 0xad8, offset 0x2b600\n\t0x2b600: 0x6c9e2020, 0x2b601: 0x6ccb4a20, 0x2b602: 0x6ccb4c20, 0x2b603: 0x6ccb4e20,\n\t0x2b604: 0x6cf95620, 0x2b605: 0x6d287620, 0x2b606: 0x6d812820, 0x2b607: 0x6d812a20,\n\t0x2b608: 0x6d812c20, 0x2b609: 0x6da73620, 0x2b60a: 0x6dc87e20, 0x2b60b: 0x6c535620,\n\t0x2b60c: 0x6c12da20, 0x2b60d: 0x6c382020, 0x2b60e: 0x6c382220, 0x2b60f: 0x6c382420,\n\t0x2b610: 0x6c382620, 0x2b611: 0x6c382820, 0x2b612: 0x6c535e20, 0x2b613: 0x6c75f620,\n\t0x2b614: 0x6c9e5420, 0x2b615: 0x6c9e5620, 0x2b616: 0x6c9e5820, 0x2b617: 0x6c9e5a20,\n\t0x2b618: 0x6c9e5c20, 0x2b619: 0x6c9e5e20, 0x2b61a: 0x6c9e6020, 0x2b61b: 0x6ccb6a20,\n\t0x2b61c: 0x6ccb6c20, 0x2b61d: 0x6ccb6e20, 0x2b61e: 0x6ccb7020, 0x2b61f: 0x6cf98220,\n\t0x2b620: 0x6cf98420, 0x2b621: 0x6cf98620, 0x2b622: 0x6cf98820, 0x2b623: 0x6cf98a20,\n\t0x2b624: 0x6d289e20, 0x2b625: 0x6d28a020, 0x2b626: 0x6d28a220, 0x2b627: 0x6d28a420,\n\t0x2b628: 0x6d28a620, 0x2b629: 0x6d28a820, 0x2b62a: 0x6d815c20, 0x2b62b: 0x6d815e20,\n\t0x2b62c: 0x6d816020, 0x2b62d: 0x6d816220, 0x2b62e: 0x6d816420, 0x2b62f: 0x6dc89220,\n\t0x2b630: 0x6dc89420, 0x2b631: 0x6de4a220, 0x2b632: 0x6e3d4820, 0x2b633: 0x6c763820,\n\t0x2b634: 0x6c385620, 0x2b635: 0x6c9ea020, 0x2b636: 0x6d561220, 0x2b637: 0x6d819620,\n\t0x2b638: 0x6c04c820, 0x2b639: 0x6c099620, 0x2b63a: 0x6c099820, 0x2b63b: 0x6c12f420,\n\t0x2b63c: 0x6c099a20, 0x2b63d: 0x6c12fa20, 0x2b63e: 0x6c22a020, 0x2b63f: 0x6c12fc20,\n\t// Block 0xad9, offset 0x2b640\n\t0x2b640: 0x6c22a620, 0x2b641: 0x6c22a820, 0x2b642: 0x6c22aa20, 0x2b643: 0x6c22ac20,\n\t0x2b644: 0x6c22ae20, 0x2b645: 0x6c22b020, 0x2b646: 0x6c22b220, 0x2b647: 0x6c22b420,\n\t0x2b648: 0x6c22b620, 0x2b649: 0x6c22b820, 0x2b64a: 0x6c22ba20, 0x2b64b: 0x6c387020,\n\t0x2b64c: 0x6c387220, 0x2b64d: 0x6c387420, 0x2b64e: 0x6c387620, 0x2b64f: 0x6c387820,\n\t0x2b650: 0x6c387a20, 0x2b651: 0x6c387c20, 0x2b652: 0x6c387e20, 0x2b653: 0x6c388020,\n\t0x2b654: 0x6c388220, 0x2b655: 0x6c388420, 0x2b656: 0x6c53d820, 0x2b657: 0x6c53da20,\n\t0x2b658: 0x6c53dc20, 0x2b659: 0x6c53de20, 0x2b65a: 0x6c53e020, 0x2b65b: 0x6c53e220,\n\t0x2b65c: 0x6c53e420, 0x2b65d: 0x6c53e620, 0x2b65e: 0x6c53e820, 0x2b65f: 0x6c9eaa20,\n\t0x2b660: 0x6c53ea20, 0x2b661: 0x6c53ec20, 0x2b662: 0x6c53ee20, 0x2b663: 0x6c53f020,\n\t0x2b664: 0x6c765220, 0x2b665: 0x6c765420, 0x2b666: 0x6c765620, 0x2b667: 0x6c765820,\n\t0x2b668: 0x6c765a20, 0x2b669: 0x6c765c20, 0x2b66a: 0x6c765e20, 0x2b66b: 0x6c9eac20,\n\t0x2b66c: 0x6c766020, 0x2b66d: 0x6c766220, 0x2b66e: 0x6c766420, 0x2b66f: 0x6c766620,\n\t0x2b670: 0x6c766820, 0x2b671: 0x6c766a20, 0x2b672: 0x6c766c20, 0x2b673: 0x6c766e20,\n\t0x2b674: 0x6c9eb020, 0x2b675: 0x6c9eb220, 0x2b676: 0x6c9eb420, 0x2b677: 0x6c9eb620,\n\t0x2b678: 0x6c9eb820, 0x2b679: 0x6c9eba20, 0x2b67a: 0x6c9ebc20, 0x2b67b: 0x6c9ebe20,\n\t0x2b67c: 0x6ccbd620, 0x2b67d: 0x6c9ec020, 0x2b67e: 0x6c9ec220, 0x2b67f: 0x6c9ec420,\n\t// Block 0xada, offset 0x2b680\n\t0x2b680: 0x6c9ec620, 0x2b681: 0x6c9ec820, 0x2b682: 0x6c9eca20, 0x2b683: 0x6c9ecc20,\n\t0x2b684: 0x6c9ece20, 0x2b685: 0x6ccbd820, 0x2b686: 0x6c9ed020, 0x2b687: 0x6ccbda20,\n\t0x2b688: 0x6c9ed220, 0x2b689: 0x6c9ed420, 0x2b68a: 0x6c9ed620, 0x2b68b: 0x6c9ed820,\n\t0x2b68c: 0x6c9eda20, 0x2b68d: 0x6c9edc20, 0x2b68e: 0x6c9ede20, 0x2b68f: 0x6ccbe020,\n\t0x2b690: 0x6ccbe220, 0x2b691: 0x6ccbe420, 0x2b692: 0x6ccbe620, 0x2b693: 0x6ccbe820,\n\t0x2b694: 0x6ccbea20, 0x2b695: 0x6ccbec20, 0x2b696: 0x6ccbee20, 0x2b697: 0x6ccbf020,\n\t0x2b698: 0x6ccbf220, 0x2b699: 0x6ccbf420, 0x2b69a: 0x6ccbf620, 0x2b69b: 0x6ccbf820,\n\t0x2b69c: 0x6ccbfa20, 0x2b69d: 0x6ccbfc20, 0x2b69e: 0x6ccbfe20, 0x2b69f: 0x6ccc0020,\n\t0x2b6a0: 0x6ccc0220, 0x2b6a1: 0x6ccc0420, 0x2b6a2: 0x6ccc0620, 0x2b6a3: 0x6ccc0820,\n\t0x2b6a4: 0x6ccc0a20, 0x2b6a5: 0x6cf9e420, 0x2b6a6: 0x6cf9e620, 0x2b6a7: 0x6cf9e820,\n\t0x2b6a8: 0x6cf9ea20, 0x2b6a9: 0x6cf9ec20, 0x2b6aa: 0x6cf9ee20, 0x2b6ab: 0x6cf9f020,\n\t0x2b6ac: 0x6cf9f220, 0x2b6ad: 0x6cf9f420, 0x2b6ae: 0x6cf9f620, 0x2b6af: 0x6cf9f820,\n\t0x2b6b0: 0x6cf9fa20, 0x2b6b1: 0x6cf9fc20, 0x2b6b2: 0x6cf9fe20, 0x2b6b3: 0x6cfa0020,\n\t0x2b6b4: 0x6cfa0220, 0x2b6b5: 0x6cfa0420, 0x2b6b6: 0x6cfa0620, 0x2b6b7: 0x6cfa0820,\n\t0x2b6b8: 0x6cfa0a20, 0x2b6b9: 0x6cfa0c20, 0x2b6ba: 0x6cfa0e20, 0x2b6bb: 0x6cfa1020,\n\t0x2b6bc: 0x6d28f620, 0x2b6bd: 0x6d28f820, 0x2b6be: 0x6d28fa20, 0x2b6bf: 0x6d28fc20,\n\t// Block 0xadb, offset 0x2b6c0\n\t0x2b6c0: 0x6d28fe20, 0x2b6c1: 0x6d290020, 0x2b6c2: 0x6d290220, 0x2b6c3: 0x6d290420,\n\t0x2b6c4: 0x6d290620, 0x2b6c5: 0x6d290820, 0x2b6c6: 0x6d290a20, 0x2b6c7: 0x6d290c20,\n\t0x2b6c8: 0x6d290e20, 0x2b6c9: 0x6d291020, 0x2b6ca: 0x6d562420, 0x2b6cb: 0x6d562620,\n\t0x2b6cc: 0x6d562820, 0x2b6cd: 0x6d562a20, 0x2b6ce: 0x6d562c20, 0x2b6cf: 0x6d562e20,\n\t0x2b6d0: 0x6d563020, 0x2b6d1: 0x6d563220, 0x2b6d2: 0x6d563420, 0x2b6d3: 0x6d563620,\n\t0x2b6d4: 0x6d563820, 0x2b6d5: 0x6d563a20, 0x2b6d6: 0x6d563c20, 0x2b6d7: 0x6d563e20,\n\t0x2b6d8: 0x6d819820, 0x2b6d9: 0x6d564020, 0x2b6da: 0x6d564220, 0x2b6db: 0x6d564420,\n\t0x2b6dc: 0x6d564620, 0x2b6dd: 0x6d819e20, 0x2b6de: 0x6d81a020, 0x2b6df: 0x6d81a220,\n\t0x2b6e0: 0x6d81a420, 0x2b6e1: 0x6d81a620, 0x2b6e2: 0x6d81a820, 0x2b6e3: 0x6d81aa20,\n\t0x2b6e4: 0x6d81ac20, 0x2b6e5: 0x6d81ae20, 0x2b6e6: 0x6d81b020, 0x2b6e7: 0x6d81b220,\n\t0x2b6e8: 0x6da77620, 0x2b6e9: 0x6d81b420, 0x2b6ea: 0x6d81b620, 0x2b6eb: 0x6d81b820,\n\t0x2b6ec: 0x6d81ba20, 0x2b6ed: 0x6d81bc20, 0x2b6ee: 0x6d81be20, 0x2b6ef: 0x6da77c20,\n\t0x2b6f0: 0x6da77e20, 0x2b6f1: 0x6da78020, 0x2b6f2: 0x6da78220, 0x2b6f3: 0x6da78420,\n\t0x2b6f4: 0x6da78620, 0x2b6f5: 0x6da78820, 0x2b6f6: 0x6da78a20, 0x2b6f7: 0x6da78c20,\n\t0x2b6f8: 0x6da78e20, 0x2b6f9: 0x6da79020, 0x2b6fa: 0x6da79220, 0x2b6fb: 0x6da79420,\n\t0x2b6fc: 0x6da79620, 0x2b6fd: 0x6dc8c420, 0x2b6fe: 0x6dc8c620, 0x2b6ff: 0x6dc8c820,\n\t// Block 0xadc, offset 0x2b700\n\t0x2b700: 0x6dc8ca20, 0x2b701: 0x6dc8cc20, 0x2b702: 0x6dc8ce20, 0x2b703: 0x6dc8d020,\n\t0x2b704: 0x6de4b220, 0x2b705: 0x6de4b420, 0x2b706: 0x6de4b620, 0x2b707: 0x6de4b820,\n\t0x2b708: 0x6de4ba20, 0x2b709: 0x6de4bc20, 0x2b70a: 0x6de4be20, 0x2b70b: 0x6de4c020,\n\t0x2b70c: 0x6dfbc420, 0x2b70d: 0x6dfbc620, 0x2b70e: 0x6dfbc820, 0x2b70f: 0x6dfbca20,\n\t0x2b710: 0x6dfbcc20, 0x2b711: 0x6dfbce20, 0x2b712: 0x6e0efa20, 0x2b713: 0x6e0efc20,\n\t0x2b714: 0x6e0efe20, 0x2b715: 0x6e0f0020, 0x2b716: 0x6e0f0220, 0x2b717: 0x6e1e2e20,\n\t0x2b718: 0x6e0f0420, 0x2b719: 0x6e1e3020, 0x2b71a: 0x6e1e3220, 0x2b71b: 0x6e299820,\n\t0x2b71c: 0x6e299a20, 0x2b71d: 0x6e299c20, 0x2b71e: 0x6e329e20, 0x2b71f: 0x6e32a020,\n\t0x2b720: 0x6e3d5020, 0x2b721: 0x6c135620, 0x2b722: 0x6c135820, 0x2b723: 0x6c238a20,\n\t0x2b724: 0x6c238c20, 0x2b725: 0x6c238e20, 0x2b726: 0x6c399420, 0x2b727: 0x6c399620,\n\t0x2b728: 0x6c399820, 0x2b729: 0x6c399a20, 0x2b72a: 0x6c399c20, 0x2b72b: 0x6c551820,\n\t0x2b72c: 0x6c551a20, 0x2b72d: 0x6c551c20, 0x2b72e: 0x6c551e20, 0x2b72f: 0x6c552020,\n\t0x2b730: 0x6c552220, 0x2b731: 0x6c552420, 0x2b732: 0x6c552620, 0x2b733: 0x6c77ea20,\n\t0x2b734: 0x6c77ec20, 0x2b735: 0x6c77ee20, 0x2b736: 0x6c77f020, 0x2b737: 0x6c77f220,\n\t0x2b738: 0x6c77f420, 0x2b739: 0x6ca0de20, 0x2b73a: 0x6ca0e020, 0x2b73b: 0x6ca0e220,\n\t0x2b73c: 0x6ca0e420, 0x2b73d: 0x6ca0e620, 0x2b73e: 0x6ca0e820, 0x2b73f: 0x6ca0ea20,\n\t// Block 0xadd, offset 0x2b740\n\t0x2b740: 0x6ca0ec20, 0x2b741: 0x6ca0ee20, 0x2b742: 0x6ccdde20, 0x2b743: 0x6ccde020,\n\t0x2b744: 0x6ccde220, 0x2b745: 0x6ccde420, 0x2b746: 0x6ccde620, 0x2b747: 0x6ccde820,\n\t0x2b748: 0x6ccdea20, 0x2b749: 0x6ccdec20, 0x2b74a: 0x6ccdee20, 0x2b74b: 0x6ccdf020,\n\t0x2b74c: 0x6ccdf220, 0x2b74d: 0x6ccdf420, 0x2b74e: 0x6cfbda20, 0x2b74f: 0x6cfbdc20,\n\t0x2b750: 0x6cfbde20, 0x2b751: 0x6cfbe020, 0x2b752: 0x6cfbe220, 0x2b753: 0x6cfbe420,\n\t0x2b754: 0x6cfbe620, 0x2b755: 0x6cfbe820, 0x2b756: 0x6cfbea20, 0x2b757: 0x6cfbec20,\n\t0x2b758: 0x6cfbee20, 0x2b759: 0x6cfbf020, 0x2b75a: 0x6cfbf220, 0x2b75b: 0x6cfbf420,\n\t0x2b75c: 0x6cfbf620, 0x2b75d: 0x6cfbf820, 0x2b75e: 0x6cfbfa20, 0x2b75f: 0x6d2ad220,\n\t0x2b760: 0x6d2ad420, 0x2b761: 0x6d2ad620, 0x2b762: 0x6d2ad820, 0x2b763: 0x6d2ada20,\n\t0x2b764: 0x6d2adc20, 0x2b765: 0x6d2ade20, 0x2b766: 0x6d2ae020, 0x2b767: 0x6d2ae220,\n\t0x2b768: 0x6d2ae420, 0x2b769: 0x6d2ae620, 0x2b76a: 0x6d2ae820, 0x2b76b: 0x6d580e20,\n\t0x2b76c: 0x6d581020, 0x2b76d: 0x6d581220, 0x2b76e: 0x6d581420, 0x2b76f: 0x6d581620,\n\t0x2b770: 0x6d581820, 0x2b771: 0x6d581a20, 0x2b772: 0x6d581c20, 0x2b773: 0x6d82fe20,\n\t0x2b774: 0x6d830020, 0x2b775: 0x6d830220, 0x2b776: 0x6d830420, 0x2b777: 0x6d830620,\n\t0x2b778: 0x6d830820, 0x2b779: 0x6d830a20, 0x2b77a: 0x6d830c20, 0x2b77b: 0x6d830e20,\n\t0x2b77c: 0x6d831020, 0x2b77d: 0x6d831220, 0x2b77e: 0x6da87020, 0x2b77f: 0x6da87220,\n\t// Block 0xade, offset 0x2b780\n\t0x2b780: 0x6da87420, 0x2b781: 0x6da87620, 0x2b782: 0x6da87820, 0x2b783: 0x6da87a20,\n\t0x2b784: 0x6dc9ba20, 0x2b785: 0x6dc9bc20, 0x2b786: 0x6de57220, 0x2b787: 0x6de57420,\n\t0x2b788: 0x6dfc4a20, 0x2b789: 0x6de57620, 0x2b78a: 0x6dfc4c20, 0x2b78b: 0x6dfc4e20,\n\t0x2b78c: 0x6dfc5020, 0x2b78d: 0x6e0f7c20, 0x2b78e: 0x6e1e6e20, 0x2b78f: 0x6e29d620,\n\t0x2b790: 0x6e29d820, 0x2b791: 0x6e3d6620, 0x2b792: 0x6c3a2420, 0x2b793: 0x6c3a2620,\n\t0x2b794: 0x6ca1ce20, 0x2b795: 0x6d2bda20, 0x2b796: 0x6c561420, 0x2b797: 0x6c78d420,\n\t0x2b798: 0x6ca1da20, 0x2b799: 0x6cfd3e20, 0x2b79a: 0x6c3a4020, 0x2b79b: 0x6c561e20,\n\t0x2b79c: 0x6ccf2820, 0x2b79d: 0x6c3a4e20, 0x2b79e: 0x6c3a5020, 0x2b79f: 0x6c78ee20,\n\t0x2b7a0: 0x6c78f020, 0x2b7a1: 0x6c78f220, 0x2b7a2: 0x6d2bfa20, 0x2b7a3: 0x6da93c20,\n\t0x2b7a4: 0x6dca4420, 0x2b7a5: 0x6e0fb620, 0x2b7a6: 0x6c04ea20, 0x2b7a7: 0x6c790220,\n\t0x2b7a8: 0x6c137e20, 0x2b7a9: 0x6c23e820, 0x2b7aa: 0x6c23ea20, 0x2b7ab: 0x6c3a6220,\n\t0x2b7ac: 0x6c3a6420, 0x2b7ad: 0x6c3a6620, 0x2b7ae: 0x6c3a6820, 0x2b7af: 0x6c3a6a20,\n\t0x2b7b0: 0x6c564220, 0x2b7b1: 0x6c564420, 0x2b7b2: 0x6c564620, 0x2b7b3: 0x6c564820,\n\t0x2b7b4: 0x6c564a20, 0x2b7b5: 0x6c790820, 0x2b7b6: 0x6c790a20, 0x2b7b7: 0x6c790c20,\n\t0x2b7b8: 0x6c790e20, 0x2b7b9: 0x6ca20e20, 0x2b7ba: 0x6ca21020, 0x2b7bb: 0x6ca21220,\n\t0x2b7bc: 0x6ca21420, 0x2b7bd: 0x6ca21620, 0x2b7be: 0x6ca21820, 0x2b7bf: 0x6ca21a20,\n\t// Block 0xadf, offset 0x2b7c0\n\t0x2b7c0: 0x6ca21c20, 0x2b7c1: 0x6ccf7220, 0x2b7c2: 0x6ccf7420, 0x2b7c3: 0x6ccf7620,\n\t0x2b7c4: 0x6d2c0e20, 0x2b7c5: 0x6cfd7020, 0x2b7c6: 0x6cfd7220, 0x2b7c7: 0x6cfd7420,\n\t0x2b7c8: 0x6cfd7620, 0x2b7c9: 0x6d2c1020, 0x2b7ca: 0x6d2c1220, 0x2b7cb: 0x6d2c1420,\n\t0x2b7cc: 0x6d594620, 0x2b7cd: 0x6d594820, 0x2b7ce: 0x6d594a20, 0x2b7cf: 0x6d594c20,\n\t0x2b7d0: 0x6d594e20, 0x2b7d1: 0x6d845220, 0x2b7d2: 0x6d845420, 0x2b7d3: 0x6d845620,\n\t0x2b7d4: 0x6da94820, 0x2b7d5: 0x6da94a20, 0x2b7d6: 0x6da94c20, 0x2b7d7: 0x6dca5020,\n\t0x2b7d8: 0x6dca5220, 0x2b7d9: 0x6de5e420, 0x2b7da: 0x6e0fba20, 0x2b7db: 0x6e1e9a20,\n\t0x2b7dc: 0x6c3ab420, 0x2b7dd: 0x6c240220, 0x2b7de: 0x6c240420, 0x2b7df: 0x6c240620,\n\t0x2b7e0: 0x6c240820, 0x2b7e1: 0x6c3ab820, 0x2b7e2: 0x6c3aba20, 0x2b7e3: 0x6c3abc20,\n\t0x2b7e4: 0x6c3abe20, 0x2b7e5: 0x6c3ac020, 0x2b7e6: 0x6c3ac220, 0x2b7e7: 0x6c3ac420,\n\t0x2b7e8: 0x6c3ac620, 0x2b7e9: 0x6c3ac820, 0x2b7ea: 0x6c3aca20, 0x2b7eb: 0x6c569820,\n\t0x2b7ec: 0x6c569a20, 0x2b7ed: 0x6c569c20, 0x2b7ee: 0x6c569e20, 0x2b7ef: 0x6c56a020,\n\t0x2b7f0: 0x6c56a220, 0x2b7f1: 0x6c793420, 0x2b7f2: 0x6c793620, 0x2b7f3: 0x6c793820,\n\t0x2b7f4: 0x6c793a20, 0x2b7f5: 0x6c793c20, 0x2b7f6: 0x6c793e20, 0x2b7f7: 0x6c794020,\n\t0x2b7f8: 0x6c794220, 0x2b7f9: 0x6ca25420, 0x2b7fa: 0x6ca25620, 0x2b7fb: 0x6ca25820,\n\t0x2b7fc: 0x6ca25a20, 0x2b7fd: 0x6ca25c20, 0x2b7fe: 0x6ca25e20, 0x2b7ff: 0x6ca26020,\n\t// Block 0xae0, offset 0x2b800\n\t0x2b800: 0x6ca26220, 0x2b801: 0x6ccfd820, 0x2b802: 0x6ccfda20, 0x2b803: 0x6ccfdc20,\n\t0x2b804: 0x6ccfde20, 0x2b805: 0x6ccfe020, 0x2b806: 0x6ccfe220, 0x2b807: 0x6cfdc420,\n\t0x2b808: 0x6cfdc620, 0x2b809: 0x6cfdc820, 0x2b80a: 0x6cfdca20, 0x2b80b: 0x6cfdcc20,\n\t0x2b80c: 0x6cfdce20, 0x2b80d: 0x6cfdd020, 0x2b80e: 0x6d2c6c20, 0x2b80f: 0x6d2c6e20,\n\t0x2b810: 0x6d2c7020, 0x2b811: 0x6d2c7220, 0x2b812: 0x6d2c7420, 0x2b813: 0x6d2c7620,\n\t0x2b814: 0x6d598820, 0x2b815: 0x6d598a20, 0x2b816: 0x6d598c20, 0x2b817: 0x6d598e20,\n\t0x2b818: 0x6d599020, 0x2b819: 0x6d599220, 0x2b81a: 0x6d848020, 0x2b81b: 0x6d848220,\n\t0x2b81c: 0x6d848420, 0x2b81d: 0x6da96420, 0x2b81e: 0x6da96620, 0x2b81f: 0x6da96820,\n\t0x2b820: 0x6dca5820, 0x2b821: 0x6de60220, 0x2b822: 0x6de60420, 0x2b823: 0x6dfce820,\n\t0x2b824: 0x6dfcea20, 0x2b825: 0x6dfcec20, 0x2b826: 0x6dfcee20, 0x2b827: 0x6e32d420,\n\t0x2b828: 0x6c13b620, 0x2b829: 0x6c13b820, 0x2b82a: 0x6c13ba20, 0x2b82b: 0x6c13bc20,\n\t0x2b82c: 0x6c246c20, 0x2b82d: 0x6c246e20, 0x2b82e: 0x6c247020, 0x2b82f: 0x6c247220,\n\t0x2b830: 0x6c3b3820, 0x2b831: 0x6c572a20, 0x2b832: 0x6c3b3a20, 0x2b833: 0x6c3b3c20,\n\t0x2b834: 0x6c3b3e20, 0x2b835: 0x6c3b4020, 0x2b836: 0x6c3b4220, 0x2b837: 0x6c572c20,\n\t0x2b838: 0x6c79bc20, 0x2b839: 0x6c572e20, 0x2b83a: 0x6c573020, 0x2b83b: 0x6c573220,\n\t0x2b83c: 0x6c573420, 0x2b83d: 0x6c573620, 0x2b83e: 0x6c573820, 0x2b83f: 0x6c79c220,\n\t// Block 0xae1, offset 0x2b840\n\t0x2b840: 0x6c79c420, 0x2b841: 0x6c79c620, 0x2b842: 0x6c79c820, 0x2b843: 0x6c79ca20,\n\t0x2b844: 0x6c79cc20, 0x2b845: 0x6c79ce20, 0x2b846: 0x6c79d020, 0x2b847: 0x6c79d220,\n\t0x2b848: 0x6c79d420, 0x2b849: 0x6ca2da20, 0x2b84a: 0x6ca2dc20, 0x2b84b: 0x6ca2de20,\n\t0x2b84c: 0x6ca2e020, 0x2b84d: 0x6ca2e220, 0x2b84e: 0x6ca2e420, 0x2b84f: 0x6ca2e620,\n\t0x2b850: 0x6ca2e820, 0x2b851: 0x6cd07620, 0x2b852: 0x6cd07820, 0x2b853: 0x6cd07a20,\n\t0x2b854: 0x6cd07c20, 0x2b855: 0x6cd07e20, 0x2b856: 0x6cd08020, 0x2b857: 0x6cfe4a20,\n\t0x2b858: 0x6cd08220, 0x2b859: 0x6cd08420, 0x2b85a: 0x6cd08620, 0x2b85b: 0x6cd08820,\n\t0x2b85c: 0x6cd08a20, 0x2b85d: 0x6cfe4e20, 0x2b85e: 0x6cfe5020, 0x2b85f: 0x6cfe5220,\n\t0x2b860: 0x6cfe5420, 0x2b861: 0x6cfe5620, 0x2b862: 0x6cfe5820, 0x2b863: 0x6cfe5a20,\n\t0x2b864: 0x6cfe5c20, 0x2b865: 0x6cfe5e20, 0x2b866: 0x6cfe6020, 0x2b867: 0x6d2ce220,\n\t0x2b868: 0x6d2ce420, 0x2b869: 0x6d2ce620, 0x2b86a: 0x6d2ce820, 0x2b86b: 0x6d5a0a20,\n\t0x2b86c: 0x6d5a0c20, 0x2b86d: 0x6d5a0e20, 0x2b86e: 0x6d5a1020, 0x2b86f: 0x6d5a1220,\n\t0x2b870: 0x6d5a1420, 0x2b871: 0x6d5a1620, 0x2b872: 0x6d5a1820, 0x2b873: 0x6d5a1a20,\n\t0x2b874: 0x6d5a1c20, 0x2b875: 0x6d84ce20, 0x2b876: 0x6d84d020, 0x2b877: 0x6d84d220,\n\t0x2b878: 0x6d84d420, 0x2b879: 0x6da99620, 0x2b87a: 0x6da99820, 0x2b87b: 0x6d84d620,\n\t0x2b87c: 0x6d84d820, 0x2b87d: 0x6da99e20, 0x2b87e: 0x6dca8420, 0x2b87f: 0x6da9a020,\n\t// Block 0xae2, offset 0x2b880\n\t0x2b880: 0x6da9a220, 0x2b881: 0x6da9a420, 0x2b882: 0x6dca8620, 0x2b883: 0x6de62020,\n\t0x2b884: 0x6de62220, 0x2b885: 0x6de62420, 0x2b886: 0x6de62620, 0x2b887: 0x6dfcfe20,\n\t0x2b888: 0x6e2a1a20, 0x2b889: 0x6c57c620, 0x2b88a: 0x6c57c820, 0x2b88b: 0x6c7a7420,\n\t0x2b88c: 0x6c7a7620, 0x2b88d: 0x6ca37c20, 0x2b88e: 0x6ca37e20, 0x2b88f: 0x6cd16020,\n\t0x2b890: 0x6d2d8620, 0x2b891: 0x6d2d8820, 0x2b892: 0x6d2d8a20, 0x2b893: 0x6d5ab220,\n\t0x2b894: 0x6d5ab420, 0x2b895: 0x6dcae220, 0x2b896: 0x6e3d7020, 0x2b897: 0x6c24a020,\n\t0x2b898: 0x6c3bb220, 0x2b899: 0x6c3bb420, 0x2b89a: 0x6c57d620, 0x2b89b: 0x6c57d820,\n\t0x2b89c: 0x6c7a8620, 0x2b89d: 0x6c7a8820, 0x2b89e: 0x6c7a8a20, 0x2b89f: 0x6c7a8c20,\n\t0x2b8a0: 0x6c7a8e20, 0x2b8a1: 0x6ca38c20, 0x2b8a2: 0x6ca38e20, 0x2b8a3: 0x6ca39020,\n\t0x2b8a4: 0x6ca39220, 0x2b8a5: 0x6ca39420, 0x2b8a6: 0x6ca39620, 0x2b8a7: 0x6cd17020,\n\t0x2b8a8: 0x6cd17220, 0x2b8a9: 0x6cd17420, 0x2b8aa: 0x6cd17620, 0x2b8ab: 0x6cff5220,\n\t0x2b8ac: 0x6cff5420, 0x2b8ad: 0x6cff5620, 0x2b8ae: 0x6cff5820, 0x2b8af: 0x6cff5a20,\n\t0x2b8b0: 0x6cff5c20, 0x2b8b1: 0x6cff5e20, 0x2b8b2: 0x6d2d9820, 0x2b8b3: 0x6d2d9a20,\n\t0x2b8b4: 0x6d2d9c20, 0x2b8b5: 0x6d2d9e20, 0x2b8b6: 0x6d2da020, 0x2b8b7: 0x6d2da220,\n\t0x2b8b8: 0x6d5ac620, 0x2b8b9: 0x6d5ac820, 0x2b8ba: 0x6d5aca20, 0x2b8bb: 0x6d857220,\n\t0x2b8bc: 0x6d857420, 0x2b8bd: 0x6d857620, 0x2b8be: 0x6d857820, 0x2b8bf: 0x6daa1220,\n\t// Block 0xae3, offset 0x2b8c0\n\t0x2b8c0: 0x6daa1420, 0x2b8c1: 0x6daa1620, 0x2b8c2: 0x6daa1820, 0x2b8c3: 0x6daa1a20,\n\t0x2b8c4: 0x6daa1c20, 0x2b8c5: 0x6daa1e20, 0x2b8c6: 0x6dcaea20, 0x2b8c7: 0x6dcaec20,\n\t0x2b8c8: 0x6de66a20, 0x2b8c9: 0x6de66c20, 0x2b8ca: 0x6e1ecc20, 0x2b8cb: 0x6e32e820,\n\t0x2b8cc: 0x6e392220, 0x2b8cd: 0x6c7aae20, 0x2b8ce: 0x6cff8820, 0x2b8cf: 0x6d2dd220,\n\t0x2b8d0: 0x6d5af020, 0x2b8d1: 0x6daa3a20, 0x2b8d2: 0x6cd1a220, 0x2b8d3: 0x6d5af620,\n\t0x2b8d4: 0x6d859a20, 0x2b8d5: 0x6c24b020, 0x2b8d6: 0x6c24b220, 0x2b8d7: 0x6c24b420,\n\t0x2b8d8: 0x6c581e20, 0x2b8d9: 0x6c582020, 0x2b8da: 0x6c582220, 0x2b8db: 0x6c7aba20,\n\t0x2b8dc: 0x6c7abc20, 0x2b8dd: 0x6ca3d220, 0x2b8de: 0x6ca3d420, 0x2b8df: 0x6cd1ba20,\n\t0x2b8e0: 0x6cd1bc20, 0x2b8e1: 0x6cffa220, 0x2b8e2: 0x6cffa420, 0x2b8e3: 0x6cffa620,\n\t0x2b8e4: 0x6cffa820, 0x2b8e5: 0x6d2de020, 0x2b8e6: 0x6d5afe20, 0x2b8e7: 0x6d5b0020,\n\t0x2b8e8: 0x6d5b0220, 0x2b8e9: 0x6d859e20, 0x2b8ea: 0x6daa4420, 0x2b8eb: 0x6dcb0a20,\n\t0x2b8ec: 0x6dcb0c20, 0x2b8ed: 0x6de67e20, 0x2b8ee: 0x6dfd3420, 0x2b8ef: 0x6e2a4020,\n\t0x2b8f0: 0x6cfff020, 0x2b8f1: 0x6c24d420, 0x2b8f2: 0x6c24d620, 0x2b8f3: 0x6c3c1820,\n\t0x2b8f4: 0x6c3c1a20, 0x2b8f5: 0x6c3c1c20, 0x2b8f6: 0x6c3c1e20, 0x2b8f7: 0x6c589020,\n\t0x2b8f8: 0x6c589220, 0x2b8f9: 0x6c589420, 0x2b8fa: 0x6c589620, 0x2b8fb: 0x6c589820,\n\t0x2b8fc: 0x6c589a20, 0x2b8fd: 0x6c7b1220, 0x2b8fe: 0x6c7b1420, 0x2b8ff: 0x6c7b1620,\n\t// Block 0xae4, offset 0x2b900\n\t0x2b900: 0x6c7b1820, 0x2b901: 0x6c7b1a20, 0x2b902: 0x6c7b1c20, 0x2b903: 0x6c7b1e20,\n\t0x2b904: 0x6c7b2020, 0x2b905: 0x6c7b2220, 0x2b906: 0x6c7b2420, 0x2b907: 0x6c7b2620,\n\t0x2b908: 0x6c7b2820, 0x2b909: 0x6c7b2a20, 0x2b90a: 0x6ca41c20, 0x2b90b: 0x6ca41e20,\n\t0x2b90c: 0x6ca42020, 0x2b90d: 0x6ca42220, 0x2b90e: 0x6ca42420, 0x2b90f: 0x6ca42620,\n\t0x2b910: 0x6ca42820, 0x2b911: 0x6ca42a20, 0x2b912: 0x6ca42c20, 0x2b913: 0x6cd21220,\n\t0x2b914: 0x6cd21420, 0x2b915: 0x6cd21620, 0x2b916: 0x6cd21820, 0x2b917: 0x6cd21a20,\n\t0x2b918: 0x6cd21c20, 0x2b919: 0x6cd21e20, 0x2b91a: 0x6cd22020, 0x2b91b: 0x6cd22220,\n\t0x2b91c: 0x6cd22420, 0x2b91d: 0x6cd22620, 0x2b91e: 0x6cd22820, 0x2b91f: 0x6cd22a20,\n\t0x2b920: 0x6cd22c20, 0x2b921: 0x6cd22e20, 0x2b922: 0x6cfff620, 0x2b923: 0x6cfff820,\n\t0x2b924: 0x6cfffa20, 0x2b925: 0x6cfffc20, 0x2b926: 0x6cfffe20, 0x2b927: 0x6d000020,\n\t0x2b928: 0x6d000220, 0x2b929: 0x6d000420, 0x2b92a: 0x6d2e0820, 0x2b92b: 0x6d2e0a20,\n\t0x2b92c: 0x6d2e0c20, 0x2b92d: 0x6d2e0e20, 0x2b92e: 0x6d2e1020, 0x2b92f: 0x6d2e1220,\n\t0x2b930: 0x6d2e1420, 0x2b931: 0x6d2e1620, 0x2b932: 0x6d2e1820, 0x2b933: 0x6d2e1a20,\n\t0x2b934: 0x6d2e1c20, 0x2b935: 0x6d2e1e20, 0x2b936: 0x6d5b3220, 0x2b937: 0x6d5b3420,\n\t0x2b938: 0x6d5b3620, 0x2b939: 0x6d5b3820, 0x2b93a: 0x6d5b3a20, 0x2b93b: 0x6d5b3c20,\n\t0x2b93c: 0x6d5b3e20, 0x2b93d: 0x6d5b4020, 0x2b93e: 0x6d5b4220, 0x2b93f: 0x6d5b4420,\n\t// Block 0xae5, offset 0x2b940\n\t0x2b940: 0x6d5b4620, 0x2b941: 0x6d5b4820, 0x2b942: 0x6d85c620, 0x2b943: 0x6d85c820,\n\t0x2b944: 0x6d85ca20, 0x2b945: 0x6d85cc20, 0x2b946: 0x6d85ce20, 0x2b947: 0x6d85d020,\n\t0x2b948: 0x6d85d220, 0x2b949: 0x6daa7020, 0x2b94a: 0x6daa7220, 0x2b94b: 0x6dcb2020,\n\t0x2b94c: 0x6dcb2220, 0x2b94d: 0x6dcb2420, 0x2b94e: 0x6dcb2620, 0x2b94f: 0x6dcb2820,\n\t0x2b950: 0x6dcb2a20, 0x2b951: 0x6de69620, 0x2b952: 0x6de69820, 0x2b953: 0x6de69a20,\n\t0x2b954: 0x6dfd4a20, 0x2b955: 0x6e101e20, 0x2b956: 0x6e102020, 0x2b957: 0x6e102220,\n\t0x2b958: 0x6e1ee820, 0x2b959: 0x6e2a4820, 0x2b95a: 0x6e32ee20, 0x2b95b: 0x6e32f020,\n\t0x2b95c: 0x6e42c820, 0x2b95d: 0x6c24f820, 0x2b95e: 0x6c590c20, 0x2b95f: 0x6c7baa20,\n\t0x2b960: 0x6ca48e20, 0x2b961: 0x6ca49020, 0x2b962: 0x6d00ba20, 0x2b963: 0x6d2ea820,\n\t0x2b964: 0x6d2eaa20, 0x2b965: 0x6d5bdc20, 0x2b966: 0x6d865220, 0x2b967: 0x6de6dc20,\n\t0x2b968: 0x6e104420, 0x2b969: 0x6e393020, 0x2b96a: 0x6c3c5420, 0x2b96b: 0x6c593a20,\n\t0x2b96c: 0x6c593c20, 0x2b96d: 0x6c7bd420, 0x2b96e: 0x6c7bd620, 0x2b96f: 0x6ca4a820,\n\t0x2b970: 0x6ca4aa20, 0x2b971: 0x6cd2ee20, 0x2b972: 0x6d00e420, 0x2b973: 0x6d00e620,\n\t0x2b974: 0x6d2ec820, 0x2b975: 0x6d2eca20, 0x2b976: 0x6d5bf820, 0x2b977: 0x6d5bfa20,\n\t0x2b978: 0x6d866420, 0x2b979: 0x6dcb9220, 0x2b97a: 0x6dfd8020, 0x2b97b: 0x6c3c6620,\n\t0x2b97c: 0x6c594e20, 0x2b97d: 0x6c595020, 0x2b97e: 0x6c7bf020, 0x2b97f: 0x6c7bf220,\n\t// Block 0xae6, offset 0x2b980\n\t0x2b980: 0x6c7bf420, 0x2b981: 0x6ca4be20, 0x2b982: 0x6ca4c020, 0x2b983: 0x6cd30a20,\n\t0x2b984: 0x6d010820, 0x2b985: 0x6d010a20, 0x2b986: 0x6d2ef220, 0x2b987: 0x6d867e20,\n\t0x2b988: 0x6d868020, 0x2b989: 0x6dab1e20, 0x2b98a: 0x6de6fa20, 0x2b98b: 0x6e105420,\n\t0x2b98c: 0x6e1f0820, 0x2b98d: 0x6e443e20, 0x2b98e: 0x6c251420, 0x2b98f: 0x6c251620,\n\t0x2b990: 0x6c3c7620, 0x2b991: 0x6c3c7820, 0x2b992: 0x6c3c7a20, 0x2b993: 0x6c3c7c20,\n\t0x2b994: 0x6c3c7e20, 0x2b995: 0x6c597420, 0x2b996: 0x6c597620, 0x2b997: 0x6c597820,\n\t0x2b998: 0x6c597a20, 0x2b999: 0x6c597c20, 0x2b99a: 0x6c597e20, 0x2b99b: 0x6c598020,\n\t0x2b99c: 0x6c598220, 0x2b99d: 0x6c598420, 0x2b99e: 0x6c598620, 0x2b99f: 0x6c7c2e20,\n\t0x2b9a0: 0x6c7c3020, 0x2b9a1: 0x6c7c3220, 0x2b9a2: 0x6c7c3420, 0x2b9a3: 0x6c7c3620,\n\t0x2b9a4: 0x6c7c3820, 0x2b9a5: 0x6c7c3a20, 0x2b9a6: 0x6c7c3c20, 0x2b9a7: 0x6ca4f220,\n\t0x2b9a8: 0x6ca4f420, 0x2b9a9: 0x6ca4f620, 0x2b9aa: 0x6ca4f820, 0x2b9ab: 0x6ca4fa20,\n\t0x2b9ac: 0x6ca4fc20, 0x2b9ad: 0x6ca4fe20, 0x2b9ae: 0x6ca50020, 0x2b9af: 0x6cd32c20,\n\t0x2b9b0: 0x6cd32e20, 0x2b9b1: 0x6cd33020, 0x2b9b2: 0x6cd33220, 0x2b9b3: 0x6cd33420,\n\t0x2b9b4: 0x6cd33620, 0x2b9b5: 0x6cd33820, 0x2b9b6: 0x6cd33a20, 0x2b9b7: 0x6cd33c20,\n\t0x2b9b8: 0x6cd33e20, 0x2b9b9: 0x6cd34020, 0x2b9ba: 0x6cd34220, 0x2b9bb: 0x6cd34420,\n\t0x2b9bc: 0x6cd34620, 0x2b9bd: 0x6cd34820, 0x2b9be: 0x6cd34a20, 0x2b9bf: 0x6cd34c20,\n\t// Block 0xae7, offset 0x2b9c0\n\t0x2b9c0: 0x6cd34e20, 0x2b9c1: 0x6d013020, 0x2b9c2: 0x6d013220, 0x2b9c3: 0x6d013420,\n\t0x2b9c4: 0x6d013620, 0x2b9c5: 0x6d013820, 0x2b9c6: 0x6d013a20, 0x2b9c7: 0x6d013c20,\n\t0x2b9c8: 0x6d013e20, 0x2b9c9: 0x6d014020, 0x2b9ca: 0x6d2f0820, 0x2b9cb: 0x6d2f0a20,\n\t0x2b9cc: 0x6d2f0c20, 0x2b9cd: 0x6d2f0e20, 0x2b9ce: 0x6d2f1020, 0x2b9cf: 0x6d2f1220,\n\t0x2b9d0: 0x6d2f1420, 0x2b9d1: 0x6d2f1620, 0x2b9d2: 0x6d2f1820, 0x2b9d3: 0x6d2f1a20,\n\t0x2b9d4: 0x6d2f1c20, 0x2b9d5: 0x6d2f1e20, 0x2b9d6: 0x6d2f2020, 0x2b9d7: 0x6d5c2820,\n\t0x2b9d8: 0x6d5c2a20, 0x2b9d9: 0x6d5c2c20, 0x2b9da: 0x6d5c2e20, 0x2b9db: 0x6d5c3020,\n\t0x2b9dc: 0x6d5c3220, 0x2b9dd: 0x6d5c3420, 0x2b9de: 0x6d5c3620, 0x2b9df: 0x6d5c3820,\n\t0x2b9e0: 0x6d5c3a20, 0x2b9e1: 0x6d5c3c20, 0x2b9e2: 0x6d86ae20, 0x2b9e3: 0x6d86b020,\n\t0x2b9e4: 0x6d86b220, 0x2b9e5: 0x6d86b420, 0x2b9e6: 0x6d86b620, 0x2b9e7: 0x6d86b820,\n\t0x2b9e8: 0x6d86ba20, 0x2b9e9: 0x6d86bc20, 0x2b9ea: 0x6d86be20, 0x2b9eb: 0x6dab4e20,\n\t0x2b9ec: 0x6dab5020, 0x2b9ed: 0x6dab5220, 0x2b9ee: 0x6dab5420, 0x2b9ef: 0x6dab5620,\n\t0x2b9f0: 0x6dab5820, 0x2b9f1: 0x6dab5a20, 0x2b9f2: 0x6dab5c20, 0x2b9f3: 0x6dab5e20,\n\t0x2b9f4: 0x6dcbbe20, 0x2b9f5: 0x6dcbc020, 0x2b9f6: 0x6dcbc220, 0x2b9f7: 0x6dcbc420,\n\t0x2b9f8: 0x6dcbc620, 0x2b9f9: 0x6dcbc820, 0x2b9fa: 0x6dcbca20, 0x2b9fb: 0x6dfda620,\n\t0x2b9fc: 0x6dfda820, 0x2b9fd: 0x6dfdaa20, 0x2b9fe: 0x6dfdac20, 0x2b9ff: 0x6e105c20,\n\t// Block 0xae8, offset 0x2ba00\n\t0x2ba00: 0x6e105e20, 0x2ba01: 0x6e1f1620, 0x2ba02: 0x6e2a6820, 0x2ba03: 0x6e2a6a20,\n\t0x2ba04: 0x6e393820, 0x2ba05: 0x6e452e20, 0x2ba06: 0x6c3cb220, 0x2ba07: 0x6c5a1a20,\n\t0x2ba08: 0x6ca59420, 0x2ba09: 0x6d2fce20, 0x2ba0a: 0x6dabea20, 0x2ba0b: 0x6dabec20,\n\t0x2ba0c: 0x6dabee20, 0x2ba0d: 0x6dfde020, 0x2ba0e: 0x6e332220, 0x2ba0f: 0x6c7ce420,\n\t0x2ba10: 0x6c7ce620, 0x2ba11: 0x6c7cfc20, 0x2ba12: 0x6ca59c20, 0x2ba13: 0x6cd40a20,\n\t0x2ba14: 0x6d020620, 0x2ba15: 0x6d2fe820, 0x2ba16: 0x6c13ee20, 0x2ba17: 0x6c253820,\n\t0x2ba18: 0x6c3cbc20, 0x2ba19: 0x6c3cbe20, 0x2ba1a: 0x6c5a3c20, 0x2ba1b: 0x6c5a3e20,\n\t0x2ba1c: 0x6c5a4020, 0x2ba1d: 0x6c5a4220, 0x2ba1e: 0x6c5a4420, 0x2ba1f: 0x6c7cfe20,\n\t0x2ba20: 0x6c7d0020, 0x2ba21: 0x6c7d0220, 0x2ba22: 0x6c7d0420, 0x2ba23: 0x6c7d0620,\n\t0x2ba24: 0x6c7d0820, 0x2ba25: 0x6c7d0a20, 0x2ba26: 0x6c7d0c20, 0x2ba27: 0x6c7d0e20,\n\t0x2ba28: 0x6c7d1020, 0x2ba29: 0x6ca5d020, 0x2ba2a: 0x6ca5d220, 0x2ba2b: 0x6ca5d420,\n\t0x2ba2c: 0x6ca5d620, 0x2ba2d: 0x6ca5d820, 0x2ba2e: 0x6ca5da20, 0x2ba2f: 0x6ca5dc20,\n\t0x2ba30: 0x6cd42620, 0x2ba31: 0x6cd42820, 0x2ba32: 0x6cd42a20, 0x2ba33: 0x6cd42c20,\n\t0x2ba34: 0x6cd42e20, 0x2ba35: 0x6cd43020, 0x2ba36: 0x6cd43220, 0x2ba37: 0x6d023020,\n\t0x2ba38: 0x6d023220, 0x2ba39: 0x6d023420, 0x2ba3a: 0x6d023620, 0x2ba3b: 0x6d023820,\n\t0x2ba3c: 0x6d023a20, 0x2ba3d: 0x6d023c20, 0x2ba3e: 0x6d023e20, 0x2ba3f: 0x6d024020,\n\t// Block 0xae9, offset 0x2ba40\n\t0x2ba40: 0x6d024220, 0x2ba41: 0x6d024420, 0x2ba42: 0x6d024620, 0x2ba43: 0x6d024820,\n\t0x2ba44: 0x6d024a20, 0x2ba45: 0x6d024c20, 0x2ba46: 0x6d024e20, 0x2ba47: 0x6d025020,\n\t0x2ba48: 0x6d2ffc20, 0x2ba49: 0x6d2ffe20, 0x2ba4a: 0x6d300020, 0x2ba4b: 0x6d300220,\n\t0x2ba4c: 0x6d300420, 0x2ba4d: 0x6d300620, 0x2ba4e: 0x6d300820, 0x2ba4f: 0x6d300a20,\n\t0x2ba50: 0x6d300c20, 0x2ba51: 0x6d5cf820, 0x2ba52: 0x6d5cfa20, 0x2ba53: 0x6d5cfc20,\n\t0x2ba54: 0x6d5cfe20, 0x2ba55: 0x6d5d0020, 0x2ba56: 0x6d5d0220, 0x2ba57: 0x6d5d0420,\n\t0x2ba58: 0x6d876a20, 0x2ba59: 0x6d876c20, 0x2ba5a: 0x6d876e20, 0x2ba5b: 0x6d877020,\n\t0x2ba5c: 0x6d877220, 0x2ba5d: 0x6d877420, 0x2ba5e: 0x6d877620, 0x2ba5f: 0x6dac0a20,\n\t0x2ba60: 0x6d877820, 0x2ba61: 0x6dac0c20, 0x2ba62: 0x6dac0e20, 0x2ba63: 0x6dac1020,\n\t0x2ba64: 0x6dac1220, 0x2ba65: 0x6dac1420, 0x2ba66: 0x6dac1620, 0x2ba67: 0x6dac1820,\n\t0x2ba68: 0x6dac1a20, 0x2ba69: 0x6dcc4220, 0x2ba6a: 0x6dcc4420, 0x2ba6b: 0x6dcc4620,\n\t0x2ba6c: 0x6dcc4820, 0x2ba6d: 0x6dcc4a20, 0x2ba6e: 0x6dcc4c20, 0x2ba6f: 0x6dcc4e20,\n\t0x2ba70: 0x6de76a20, 0x2ba71: 0x6dfdec20, 0x2ba72: 0x6dfdee20, 0x2ba73: 0x6dfdf020,\n\t0x2ba74: 0x6e108c20, 0x2ba75: 0x6e108e20, 0x2ba76: 0x6e109020, 0x2ba77: 0x6e109220,\n\t0x2ba78: 0x6e1f3420, 0x2ba79: 0x6e1f3620, 0x2ba7a: 0x6e332420, 0x2ba7b: 0x6e3d9620,\n\t0x2ba7c: 0x6c254c20, 0x2ba7d: 0x6c5abe20, 0x2ba7e: 0x6c5ac020, 0x2ba7f: 0x6c5ac220,\n\t// Block 0xaea, offset 0x2ba80\n\t0x2ba80: 0x6c5ac420, 0x2ba81: 0x6c7dbe20, 0x2ba82: 0x6c7dc020, 0x2ba83: 0x6c7dc220,\n\t0x2ba84: 0x6ca68c20, 0x2ba85: 0x6ca68e20, 0x2ba86: 0x6ca69020, 0x2ba87: 0x6cd4b820,\n\t0x2ba88: 0x6cd4ba20, 0x2ba89: 0x6cd4bc20, 0x2ba8a: 0x6cd4be20, 0x2ba8b: 0x6d030820,\n\t0x2ba8c: 0x6d030a20, 0x2ba8d: 0x6d030c20, 0x2ba8e: 0x6d030e20, 0x2ba8f: 0x6d031020,\n\t0x2ba90: 0x6d031220, 0x2ba91: 0x6d031420, 0x2ba92: 0x6d031620, 0x2ba93: 0x6d30b420,\n\t0x2ba94: 0x6d30b620, 0x2ba95: 0x6d30b820, 0x2ba96: 0x6d30ba20, 0x2ba97: 0x6d30bc20,\n\t0x2ba98: 0x6d5d8820, 0x2ba99: 0x6d5d8a20, 0x2ba9a: 0x6d87f420, 0x2ba9b: 0x6d87f620,\n\t0x2ba9c: 0x6d87f820, 0x2ba9d: 0x6d87fa20, 0x2ba9e: 0x6d87fc20, 0x2ba9f: 0x6dac9e20,\n\t0x2baa0: 0x6dcca020, 0x2baa1: 0x6dcca220, 0x2baa2: 0x6de7aa20, 0x2baa3: 0x6dfe3820,\n\t0x2baa4: 0x6e10bc20, 0x2baa5: 0x6e444820, 0x2baa6: 0x6c256420, 0x2baa7: 0x6c256620,\n\t0x2baa8: 0x6c3d2e20, 0x2baa9: 0x6c3d3020, 0x2baaa: 0x6c3d3220, 0x2baab: 0x6c3d3420,\n\t0x2baac: 0x6c3d3620, 0x2baad: 0x6c3d3820, 0x2baae: 0x6c5b2e20, 0x2baaf: 0x6c5b3020,\n\t0x2bab0: 0x6c5b3220, 0x2bab1: 0x6c5b3420, 0x2bab2: 0x6c5b3620, 0x2bab3: 0x6c5b3820,\n\t0x2bab4: 0x6c5b3a20, 0x2bab5: 0x6c5b3c20, 0x2bab6: 0x6c7e3020, 0x2bab7: 0x6c7e3220,\n\t0x2bab8: 0x6c7e3420, 0x2bab9: 0x6c7e3620, 0x2baba: 0x6ca6f820, 0x2babb: 0x6ca6fa20,\n\t0x2babc: 0x6ca6fc20, 0x2babd: 0x6ca6fe20, 0x2babe: 0x6ca70020, 0x2babf: 0x6ca70220,\n\t// Block 0xaeb, offset 0x2bac0\n\t0x2bac0: 0x6ca70420, 0x2bac1: 0x6ca70620, 0x2bac2: 0x6ca70820, 0x2bac3: 0x6ca70a20,\n\t0x2bac4: 0x6ca70c20, 0x2bac5: 0x6ca70e20, 0x2bac6: 0x6ca71020, 0x2bac7: 0x6ca71220,\n\t0x2bac8: 0x6ca71420, 0x2bac9: 0x6ca71620, 0x2baca: 0x6ca71820, 0x2bacb: 0x6cd52e20,\n\t0x2bacc: 0x6cd53020, 0x2bacd: 0x6cd53220, 0x2bace: 0x6cd53420, 0x2bacf: 0x6cd53620,\n\t0x2bad0: 0x6cd53820, 0x2bad1: 0x6cd53a20, 0x2bad2: 0x6cd53c20, 0x2bad3: 0x6cd53e20,\n\t0x2bad4: 0x6d037c20, 0x2bad5: 0x6d037e20, 0x2bad6: 0x6d038020, 0x2bad7: 0x6d038220,\n\t0x2bad8: 0x6d038420, 0x2bad9: 0x6d038620, 0x2bada: 0x6d038820, 0x2badb: 0x6d038a20,\n\t0x2badc: 0x6d038c20, 0x2badd: 0x6d038e20, 0x2bade: 0x6d039020, 0x2badf: 0x6d039220,\n\t0x2bae0: 0x6d311a20, 0x2bae1: 0x6d311c20, 0x2bae2: 0x6d311e20, 0x2bae3: 0x6d312020,\n\t0x2bae4: 0x6d312220, 0x2bae5: 0x6d312420, 0x2bae6: 0x6d312620, 0x2bae7: 0x6d312820,\n\t0x2bae8: 0x6d312a20, 0x2bae9: 0x6d312c20, 0x2baea: 0x6d312e20, 0x2baeb: 0x6d313020,\n\t0x2baec: 0x6d5dd820, 0x2baed: 0x6d5dda20, 0x2baee: 0x6d5ddc20, 0x2baef: 0x6d5dde20,\n\t0x2baf0: 0x6d5de020, 0x2baf1: 0x6d5de220, 0x2baf2: 0x6d5de420, 0x2baf3: 0x6d5de620,\n\t0x2baf4: 0x6d5de820, 0x2baf5: 0x6d5dea20, 0x2baf6: 0x6d5dec20, 0x2baf7: 0x6d883420,\n\t0x2baf8: 0x6d883620, 0x2baf9: 0x6d883820, 0x2bafa: 0x6d883a20, 0x2bafb: 0x6d883c20,\n\t0x2bafc: 0x6d883e20, 0x2bafd: 0x6d884020, 0x2bafe: 0x6dacce20, 0x2baff: 0x6dacd020,\n\t// Block 0xaec, offset 0x2bb00\n\t0x2bb00: 0x6dacd220, 0x2bb01: 0x6dccc020, 0x2bb02: 0x6dccc220, 0x2bb03: 0x6dccc420,\n\t0x2bb04: 0x6dccc620, 0x2bb05: 0x6dccc820, 0x2bb06: 0x6dccca20, 0x2bb07: 0x6dcccc20,\n\t0x2bb08: 0x6dfe4620, 0x2bb09: 0x6dfe4820, 0x2bb0a: 0x6e10ca20, 0x2bb0b: 0x6e10cc20,\n\t0x2bb0c: 0x6e10ce20, 0x2bb0d: 0x6e10d020, 0x2bb0e: 0x6e1f6620, 0x2bb0f: 0x6e1f6820,\n\t0x2bb10: 0x6e453020, 0x2bb11: 0x6c257a20, 0x2bb12: 0x6c3d6820, 0x2bb13: 0x6c5b9220,\n\t0x2bb14: 0x6c5b9420, 0x2bb15: 0x6c5b9620, 0x2bb16: 0x6c5b9820, 0x2bb17: 0x6c7ea620,\n\t0x2bb18: 0x6c7ea820, 0x2bb19: 0x6c7eaa20, 0x2bb1a: 0x6ca77820, 0x2bb1b: 0x6ca77a20,\n\t0x2bb1c: 0x6ca77c20, 0x2bb1d: 0x6ca77e20, 0x2bb1e: 0x6ca78020, 0x2bb1f: 0x6ca78220,\n\t0x2bb20: 0x6ca78420, 0x2bb21: 0x6cd5a220, 0x2bb22: 0x6cd5a420, 0x2bb23: 0x6cd5a620,\n\t0x2bb24: 0x6cd5a820, 0x2bb25: 0x6cd5aa20, 0x2bb26: 0x6d042a20, 0x2bb27: 0x6d042c20,\n\t0x2bb28: 0x6d042e20, 0x2bb29: 0x6d043020, 0x2bb2a: 0x6d31c420, 0x2bb2b: 0x6d31c620,\n\t0x2bb2c: 0x6d5e6a20, 0x2bb2d: 0x6d5e6c20, 0x2bb2e: 0x6d5e6e20, 0x2bb2f: 0x6d88bc20,\n\t0x2bb30: 0x6d88be20, 0x2bb31: 0x6d88c020, 0x2bb32: 0x6d88c220, 0x2bb33: 0x6d88c420,\n\t0x2bb34: 0x6d88c620, 0x2bb35: 0x6dad4220, 0x2bb36: 0x6dad4420, 0x2bb37: 0x6dad4620,\n\t0x2bb38: 0x6dad4820, 0x2bb39: 0x6dad4a20, 0x2bb3a: 0x6dad4c20, 0x2bb3b: 0x6dad4e20,\n\t0x2bb3c: 0x6dcd1c20, 0x2bb3d: 0x6dcd1e20, 0x2bb3e: 0x6de7f220, 0x2bb3f: 0x6de7f420,\n\t// Block 0xaed, offset 0x2bb40\n\t0x2bb40: 0x6dfe8420, 0x2bb41: 0x6e1f7620, 0x2bb42: 0x6c140e20, 0x2bb43: 0x6c3d8c20,\n\t0x2bb44: 0x6c3d8e20, 0x2bb45: 0x6c5bd220, 0x2bb46: 0x6c5bd420, 0x2bb47: 0x6c7ef620,\n\t0x2bb48: 0x6c7ef820, 0x2bb49: 0x6c7efa20, 0x2bb4a: 0x6c7efc20, 0x2bb4b: 0x6ca7c620,\n\t0x2bb4c: 0x6cd60a20, 0x2bb4d: 0x6cd60c20, 0x2bb4e: 0x6d048620, 0x2bb4f: 0x6d048820,\n\t0x2bb50: 0x6d048a20, 0x2bb51: 0x6d048c20, 0x2bb52: 0x6d892020, 0x2bb53: 0x6dad8820,\n\t0x2bb54: 0x6dcd3820, 0x2bb55: 0x6de80620, 0x2bb56: 0x6c5bf620, 0x2bb57: 0x6c7f3220,\n\t0x2bb58: 0x6c7f3420, 0x2bb59: 0x6c7f3620, 0x2bb5a: 0x6c7f3820, 0x2bb5b: 0x6c7f3a20,\n\t0x2bb5c: 0x6c7f3c20, 0x2bb5d: 0x6c7f3e20, 0x2bb5e: 0x6ca7e820, 0x2bb5f: 0x6ca7ea20,\n\t0x2bb60: 0x6ca7ec20, 0x2bb61: 0x6ca7ee20, 0x2bb62: 0x6ca7f020, 0x2bb63: 0x6ca7f220,\n\t0x2bb64: 0x6ca7f420, 0x2bb65: 0x6ca7f620, 0x2bb66: 0x6ca7f820, 0x2bb67: 0x6cd63620,\n\t0x2bb68: 0x6cd63820, 0x2bb69: 0x6cd63a20, 0x2bb6a: 0x6cd63c20, 0x2bb6b: 0x6cd63e20,\n\t0x2bb6c: 0x6cd64020, 0x2bb6d: 0x6cd64220, 0x2bb6e: 0x6cd64420, 0x2bb6f: 0x6cd64620,\n\t0x2bb70: 0x6cd64820, 0x2bb71: 0x6cd64a20, 0x2bb72: 0x6cd64c20, 0x2bb73: 0x6cd64e20,\n\t0x2bb74: 0x6cd65020, 0x2bb75: 0x6d04b620, 0x2bb76: 0x6d04b820, 0x2bb77: 0x6d04ba20,\n\t0x2bb78: 0x6d04bc20, 0x2bb79: 0x6d04be20, 0x2bb7a: 0x6d04c020, 0x2bb7b: 0x6d04c220,\n\t0x2bb7c: 0x6d04c420, 0x2bb7d: 0x6d04c620, 0x2bb7e: 0x6d04c820, 0x2bb7f: 0x6d04ca20,\n\t// Block 0xaee, offset 0x2bb80\n\t0x2bb80: 0x6d04cc20, 0x2bb81: 0x6d323220, 0x2bb82: 0x6d323420, 0x2bb83: 0x6d323620,\n\t0x2bb84: 0x6d323820, 0x2bb85: 0x6d323a20, 0x2bb86: 0x6d323c20, 0x2bb87: 0x6d323e20,\n\t0x2bb88: 0x6d324020, 0x2bb89: 0x6d324220, 0x2bb8a: 0x6d324420, 0x2bb8b: 0x6d324620,\n\t0x2bb8c: 0x6d324820, 0x2bb8d: 0x6d324a20, 0x2bb8e: 0x6d5ecc20, 0x2bb8f: 0x6d5ece20,\n\t0x2bb90: 0x6d5ed020, 0x2bb91: 0x6d5ed220, 0x2bb92: 0x6d5ed420, 0x2bb93: 0x6d5ed620,\n\t0x2bb94: 0x6d5ed820, 0x2bb95: 0x6d5eda20, 0x2bb96: 0x6d5edc20, 0x2bb97: 0x6d5ede20,\n\t0x2bb98: 0x6d5ee020, 0x2bb99: 0x6d5ee220, 0x2bb9a: 0x6d5ee420, 0x2bb9b: 0x6d5ee620,\n\t0x2bb9c: 0x6d5ee820, 0x2bb9d: 0x6d5eea20, 0x2bb9e: 0x6d5eec20, 0x2bb9f: 0x6d5eee20,\n\t0x2bba0: 0x6d5ef020, 0x2bba1: 0x6d5ef220, 0x2bba2: 0x6d5ef420, 0x2bba3: 0x6d5ef620,\n\t0x2bba4: 0x6d5ef820, 0x2bba5: 0x6d5efa20, 0x2bba6: 0x6d5efc20, 0x2bba7: 0x6d5efe20,\n\t0x2bba8: 0x6d5f0020, 0x2bba9: 0x6d5f0220, 0x2bbaa: 0x6d892e20, 0x2bbab: 0x6d893020,\n\t0x2bbac: 0x6d893220, 0x2bbad: 0x6d893420, 0x2bbae: 0x6d893620, 0x2bbaf: 0x6d893820,\n\t0x2bbb0: 0x6d893a20, 0x2bbb1: 0x6d893c20, 0x2bbb2: 0x6d893e20, 0x2bbb3: 0x6d894020,\n\t0x2bbb4: 0x6d894220, 0x2bbb5: 0x6d894420, 0x2bbb6: 0x6d894620, 0x2bbb7: 0x6d894820,\n\t0x2bbb8: 0x6dada820, 0x2bbb9: 0x6dadaa20, 0x2bbba: 0x6dadac20, 0x2bbbb: 0x6dadae20,\n\t0x2bbbc: 0x6dadb020, 0x2bbbd: 0x6dadb220, 0x2bbbe: 0x6dadb420, 0x2bbbf: 0x6dadb620,\n\t// Block 0xaef, offset 0x2bbc0\n\t0x2bbc0: 0x6dadb820, 0x2bbc1: 0x6dadba20, 0x2bbc2: 0x6dadbc20, 0x2bbc3: 0x6dadbe20,\n\t0x2bbc4: 0x6dadc020, 0x2bbc5: 0x6dadc220, 0x2bbc6: 0x6dadc420, 0x2bbc7: 0x6dadc620,\n\t0x2bbc8: 0x6dcd4c20, 0x2bbc9: 0x6dcd4e20, 0x2bbca: 0x6dcd5020, 0x2bbcb: 0x6dcd5220,\n\t0x2bbcc: 0x6dcd5420, 0x2bbcd: 0x6dcd5620, 0x2bbce: 0x6dcd5820, 0x2bbcf: 0x6de81420,\n\t0x2bbd0: 0x6dcd5a20, 0x2bbd1: 0x6dcd5c20, 0x2bbd2: 0x6dcd5e20, 0x2bbd3: 0x6dcd6020,\n\t0x2bbd4: 0x6dcd6220, 0x2bbd5: 0x6dcd6420, 0x2bbd6: 0x6dcd6620, 0x2bbd7: 0x6dcd6820,\n\t0x2bbd8: 0x6dcd6a20, 0x2bbd9: 0x6dcd6c20, 0x2bbda: 0x6dcd6e20, 0x2bbdb: 0x6de81620,\n\t0x2bbdc: 0x6de81820, 0x2bbdd: 0x6de81a20, 0x2bbde: 0x6de81c20, 0x2bbdf: 0x6de81e20,\n\t0x2bbe0: 0x6de82020, 0x2bbe1: 0x6de82220, 0x2bbe2: 0x6de82420, 0x2bbe3: 0x6dcd7020,\n\t0x2bbe4: 0x6de82620, 0x2bbe5: 0x6dfeaa20, 0x2bbe6: 0x6e110820, 0x2bbe7: 0x6e110a20,\n\t0x2bbe8: 0x6e110c20, 0x2bbe9: 0x6e110e20, 0x2bbea: 0x6e111020, 0x2bbeb: 0x6e111220,\n\t0x2bbec: 0x6e111420, 0x2bbed: 0x6e111620, 0x2bbee: 0x6e1f8620, 0x2bbef: 0x6e1f8820,\n\t0x2bbf0: 0x6e1f8a20, 0x2bbf1: 0x6e1f8c20, 0x2bbf2: 0x6e2ac620, 0x2bbf3: 0x6e2ac820,\n\t0x2bbf4: 0x6e2aca20, 0x2bbf5: 0x6e2e7820, 0x2bbf6: 0x6e335220, 0x2bbf7: 0x6e3dac20,\n\t0x2bbf8: 0x6e408e20, 0x2bbf9: 0x6e453220, 0x2bbfa: 0x6c5c2e20, 0x2bbfb: 0x6c7faa20,\n\t0x2bbfc: 0x6c7fac20, 0x2bbfd: 0x6ca89220, 0x2bbfe: 0x6ca89420, 0x2bbff: 0x6ca89620,\n\t// Block 0xaf0, offset 0x2bc00\n\t0x2bc00: 0x6ca89820, 0x2bc01: 0x6cd6e020, 0x2bc02: 0x6cd6e220, 0x2bc03: 0x6cd6e420,\n\t0x2bc04: 0x6cd6e620, 0x2bc05: 0x6cd6e820, 0x2bc06: 0x6cd6ea20, 0x2bc07: 0x6d059820,\n\t0x2bc08: 0x6d059a20, 0x2bc09: 0x6d059c20, 0x2bc0a: 0x6d059e20, 0x2bc0b: 0x6d05a020,\n\t0x2bc0c: 0x6d05a220, 0x2bc0d: 0x6d333820, 0x2bc0e: 0x6d333a20, 0x2bc0f: 0x6d333c20,\n\t0x2bc10: 0x6d333e20, 0x2bc11: 0x6d334020, 0x2bc12: 0x6d334220, 0x2bc13: 0x6d5fee20,\n\t0x2bc14: 0x6d5ff020, 0x2bc15: 0x6d5ff220, 0x2bc16: 0x6d5ff420, 0x2bc17: 0x6d5ff620,\n\t0x2bc18: 0x6d5ff820, 0x2bc19: 0x6d5ffa20, 0x2bc1a: 0x6d8a5220, 0x2bc1b: 0x6d8a5420,\n\t0x2bc1c: 0x6daec620, 0x2bc1d: 0x6daec820, 0x2bc1e: 0x6daeca20, 0x2bc1f: 0x6daecc20,\n\t0x2bc20: 0x6daece20, 0x2bc21: 0x6daed020, 0x2bc22: 0x6daed220, 0x2bc23: 0x6dce6420,\n\t0x2bc24: 0x6dce6620, 0x2bc25: 0x6dce6820, 0x2bc26: 0x6dce6a20, 0x2bc27: 0x6dce6c20,\n\t0x2bc28: 0x6dce6e20, 0x2bc29: 0x6dce7020, 0x2bc2a: 0x6de8c220, 0x2bc2b: 0x6de8c420,\n\t0x2bc2c: 0x6de8c620, 0x2bc2d: 0x6dff1c20, 0x2bc2e: 0x6dff1e20, 0x2bc2f: 0x6e118a20,\n\t0x2bc30: 0x6e1fe220, 0x2bc31: 0x6e2b0420, 0x2bc32: 0x6e2b0620, 0x2bc33: 0x6e398420,\n\t0x2bc34: 0x6e398620, 0x2bc35: 0x6c3dba20, 0x2bc36: 0x6c5c5e20, 0x2bc37: 0x6c5c6020,\n\t0x2bc38: 0x6c5c6220, 0x2bc39: 0x6c5c6420, 0x2bc3a: 0x6c7fee20, 0x2bc3b: 0x6c7ff020,\n\t0x2bc3c: 0x6c7ff220, 0x2bc3d: 0x6c7ff420, 0x2bc3e: 0x6c7ff620, 0x2bc3f: 0x6c7ff820,\n\t// Block 0xaf1, offset 0x2bc40\n\t0x2bc40: 0x6c7ffa20, 0x2bc41: 0x6c7ffc20, 0x2bc42: 0x6c7ffe20, 0x2bc43: 0x6c800020,\n\t0x2bc44: 0x6c800220, 0x2bc45: 0x6c800420, 0x2bc46: 0x6c800620, 0x2bc47: 0x6c800820,\n\t0x2bc48: 0x6ca8f220, 0x2bc49: 0x6ca8f420, 0x2bc4a: 0x6ca8f620, 0x2bc4b: 0x6ca8f820,\n\t0x2bc4c: 0x6ca8fa20, 0x2bc4d: 0x6ca8fc20, 0x2bc4e: 0x6ca8fe20, 0x2bc4f: 0x6ca90020,\n\t0x2bc50: 0x6ca90220, 0x2bc51: 0x6ca90420, 0x2bc52: 0x6ca90620, 0x2bc53: 0x6ca90820,\n\t0x2bc54: 0x6ca90a20, 0x2bc55: 0x6cd74620, 0x2bc56: 0x6cd74820, 0x2bc57: 0x6cd74a20,\n\t0x2bc58: 0x6cd74c20, 0x2bc59: 0x6cd74e20, 0x2bc5a: 0x6cd75020, 0x2bc5b: 0x6cd75220,\n\t0x2bc5c: 0x6cd75420, 0x2bc5d: 0x6cd75620, 0x2bc5e: 0x6cd75820, 0x2bc5f: 0x6d060420,\n\t0x2bc60: 0x6d060620, 0x2bc61: 0x6d060820, 0x2bc62: 0x6d060a20, 0x2bc63: 0x6d060c20,\n\t0x2bc64: 0x6d060e20, 0x2bc65: 0x6d061020, 0x2bc66: 0x6d061220, 0x2bc67: 0x6d33b820,\n\t0x2bc68: 0x6d33ba20, 0x2bc69: 0x6d33bc20, 0x2bc6a: 0x6d33be20, 0x2bc6b: 0x6d33c020,\n\t0x2bc6c: 0x6d33c220, 0x2bc6d: 0x6d33c420, 0x2bc6e: 0x6d33c620, 0x2bc6f: 0x6d33c820,\n\t0x2bc70: 0x6d33ca20, 0x2bc71: 0x6d33cc20, 0x2bc72: 0x6d33ce20, 0x2bc73: 0x6d606420,\n\t0x2bc74: 0x6d606620, 0x2bc75: 0x6d606820, 0x2bc76: 0x6d606a20, 0x2bc77: 0x6d606c20,\n\t0x2bc78: 0x6d606e20, 0x2bc79: 0x6d607020, 0x2bc7a: 0x6d607220, 0x2bc7b: 0x6d607420,\n\t0x2bc7c: 0x6d607620, 0x2bc7d: 0x6d607820, 0x2bc7e: 0x6d607a20, 0x2bc7f: 0x6d607c20,\n\t// Block 0xaf2, offset 0x2bc80\n\t0x2bc80: 0x6d607e20, 0x2bc81: 0x6d608020, 0x2bc82: 0x6d608220, 0x2bc83: 0x6d608420,\n\t0x2bc84: 0x6d608620, 0x2bc85: 0x6d8aac20, 0x2bc86: 0x6d8aae20, 0x2bc87: 0x6d8ab020,\n\t0x2bc88: 0x6d8ab220, 0x2bc89: 0x6d8ab420, 0x2bc8a: 0x6d8ab620, 0x2bc8b: 0x6d8ab820,\n\t0x2bc8c: 0x6daf2020, 0x2bc8d: 0x6daf2220, 0x2bc8e: 0x6daf2420, 0x2bc8f: 0x6daf2620,\n\t0x2bc90: 0x6daf2820, 0x2bc91: 0x6daf2a20, 0x2bc92: 0x6daf2c20, 0x2bc93: 0x6daf2e20,\n\t0x2bc94: 0x6daf3020, 0x2bc95: 0x6daf3220, 0x2bc96: 0x6dcec020, 0x2bc97: 0x6dcec220,\n\t0x2bc98: 0x6dcec420, 0x2bc99: 0x6dcec620, 0x2bc9a: 0x6dcec820, 0x2bc9b: 0x6dceca20,\n\t0x2bc9c: 0x6de90c20, 0x2bc9d: 0x6de90e20, 0x2bc9e: 0x6de91020, 0x2bc9f: 0x6de91220,\n\t0x2bca0: 0x6de91420, 0x2bca1: 0x6de91620, 0x2bca2: 0x6de91820, 0x2bca3: 0x6dff3820,\n\t0x2bca4: 0x6dff3a20, 0x2bca5: 0x6dff3c20, 0x2bca6: 0x6dff3e20, 0x2bca7: 0x6dff4020,\n\t0x2bca8: 0x6e11a620, 0x2bca9: 0x6e11a820, 0x2bcaa: 0x6e200020, 0x2bcab: 0x6e200220,\n\t0x2bcac: 0x6e200420, 0x2bcad: 0x6e200620, 0x2bcae: 0x6e2b1420, 0x2bcaf: 0x6e338a20,\n\t0x2bcb0: 0x6e338c20, 0x2bcb1: 0x6e338e20, 0x2bcb2: 0x6e339020, 0x2bcb3: 0x6e399420,\n\t0x2bcb4: 0x6e399620, 0x2bcb5: 0x6e40a420, 0x2bcb6: 0x6c5c9820, 0x2bcb7: 0x6ca99e20,\n\t0x2bcb8: 0x6c809c20, 0x2bcb9: 0x6ca9a020, 0x2bcba: 0x6cd80e20, 0x2bcbb: 0x6cd81020,\n\t0x2bcbc: 0x6d06cc20, 0x2bcbd: 0x6d34c620, 0x2bcbe: 0x6d617c20, 0x2bcbf: 0x6d617e20,\n\t// Block 0xaf3, offset 0x2bcc0\n\t0x2bcc0: 0x6d8b9420, 0x2bcc1: 0x6de9a020, 0x2bcc2: 0x6c5cc420, 0x2bcc3: 0x6c80c420,\n\t0x2bcc4: 0x6ca9e220, 0x2bcc5: 0x6ca9e420, 0x2bcc6: 0x6ca9e620, 0x2bcc7: 0x6ca9e820,\n\t0x2bcc8: 0x6ca9ea20, 0x2bcc9: 0x6ca9ec20, 0x2bcca: 0x6cd85220, 0x2bccb: 0x6d34e020,\n\t0x2bccc: 0x6d34e220, 0x2bccd: 0x6d8ba620, 0x2bcce: 0x6e2b3220, 0x2bccf: 0x6c0a4820,\n\t0x2bcd0: 0x6c3e0220, 0x2bcd1: 0x6c5cce20, 0x2bcd2: 0x6c5cd020, 0x2bcd3: 0x6c5cd220,\n\t0x2bcd4: 0x6c5cd420, 0x2bcd5: 0x6c80d220, 0x2bcd6: 0x6c80d420, 0x2bcd7: 0x6c80d620,\n\t0x2bcd8: 0x6ca9fe20, 0x2bcd9: 0x6cd86420, 0x2bcda: 0x6cd86620, 0x2bcdb: 0x6d06fc20,\n\t0x2bcdc: 0x6d06fe20, 0x2bcdd: 0x6d070020, 0x2bcde: 0x6d34fc20, 0x2bcdf: 0x6d34fe20,\n\t0x2bce0: 0x6d8bba20, 0x2bce1: 0x6d8bbc20, 0x2bce2: 0x6db00620, 0x2bce3: 0x6dcf8c20,\n\t0x2bce4: 0x6de9b420, 0x2bce5: 0x6e120820, 0x2bce6: 0x6e33ae20, 0x2bce7: 0x6c812420,\n\t0x2bce8: 0x6c812620, 0x2bce9: 0x6c812820, 0x2bcea: 0x6caa2a20, 0x2bceb: 0x6caa2c20,\n\t0x2bcec: 0x6caa2e20, 0x2bced: 0x6caa3020, 0x2bcee: 0x6cd88220, 0x2bcef: 0x6cd88420,\n\t0x2bcf0: 0x6cd88620, 0x2bcf1: 0x6d074620, 0x2bcf2: 0x6d352e20, 0x2bcf3: 0x6d353020,\n\t0x2bcf4: 0x6d353220, 0x2bcf5: 0x6d353420, 0x2bcf6: 0x6d353620, 0x2bcf7: 0x6d61ca20,\n\t0x2bcf8: 0x6d8bf220, 0x2bcf9: 0x6d8bf420, 0x2bcfa: 0x6db02c20, 0x2bcfb: 0x6dcfa820,\n\t0x2bcfc: 0x6dcfaa20, 0x2bcfd: 0x6e204220, 0x2bcfe: 0x6c815620, 0x2bcff: 0x6c815820,\n\t// Block 0xaf4, offset 0x2bd00\n\t0x2bd00: 0x6caa6e20, 0x2bd01: 0x6caa7020, 0x2bd02: 0x6caa7220, 0x2bd03: 0x6caa7420,\n\t0x2bd04: 0x6caa7620, 0x2bd05: 0x6caa7820, 0x2bd06: 0x6caa7a20, 0x2bd07: 0x6cd8aa20,\n\t0x2bd08: 0x6cd8ac20, 0x2bd09: 0x6cd8ae20, 0x2bd0a: 0x6cd8b020, 0x2bd0b: 0x6d077c20,\n\t0x2bd0c: 0x6d077e20, 0x2bd0d: 0x6d078020, 0x2bd0e: 0x6d078220, 0x2bd0f: 0x6d355020,\n\t0x2bd10: 0x6d355220, 0x2bd11: 0x6d355420, 0x2bd12: 0x6d355620, 0x2bd13: 0x6d355820,\n\t0x2bd14: 0x6d8c0c20, 0x2bd15: 0x6d8c0e20, 0x2bd16: 0x6dcfd820, 0x2bd17: 0x6dcfda20,\n\t0x2bd18: 0x6dcfdc20, 0x2bd19: 0x6dffb220, 0x2bd1a: 0x6e122220, 0x2bd1b: 0x6c5d2e20,\n\t0x2bd1c: 0x6cd8f220, 0x2bd1d: 0x6cd8f420, 0x2bd1e: 0x6cd8f620, 0x2bd1f: 0x6c5d3a20,\n\t0x2bd20: 0x6c5d3c20, 0x2bd21: 0x6c81a620, 0x2bd22: 0x6c5d4820, 0x2bd23: 0x6caaba20,\n\t0x2bd24: 0x6d07b020, 0x2bd25: 0x6d07b220, 0x2bd26: 0x6d359420, 0x2bd27: 0x6d359620,\n\t0x2bd28: 0x6d359820, 0x2bd29: 0x6d359a20, 0x2bd2a: 0x6d359c20, 0x2bd2b: 0x6d624c20,\n\t0x2bd2c: 0x6d624e20, 0x2bd2d: 0x6db07e20, 0x2bd2e: 0x6db08020, 0x2bd2f: 0x6db08220,\n\t0x2bd30: 0x6dd01020, 0x2bd31: 0x6e122c20, 0x2bd32: 0x6c25e420, 0x2bd33: 0x6c81b620,\n\t0x2bd34: 0x6c81b820, 0x2bd35: 0x6caad020, 0x2bd36: 0x6caad220, 0x2bd37: 0x6cd90e20,\n\t0x2bd38: 0x6d07c020, 0x2bd39: 0x6d07c220, 0x2bd3a: 0x6d35ba20, 0x2bd3b: 0x6d35bc20,\n\t0x2bd3c: 0x6d35be20, 0x2bd3d: 0x6d35c020, 0x2bd3e: 0x6d35c220, 0x2bd3f: 0x6d626820,\n\t// Block 0xaf5, offset 0x2bd40\n\t0x2bd40: 0x6d626a20, 0x2bd41: 0x6d8c6220, 0x2bd42: 0x6d8c6420, 0x2bd43: 0x6d8c6620,\n\t0x2bd44: 0x6db09820, 0x2bd45: 0x6db09a20, 0x2bd46: 0x6db09c20, 0x2bd47: 0x6db09e20,\n\t0x2bd48: 0x6dd02a20, 0x2bd49: 0x6dffc620, 0x2bd4a: 0x6e205c20, 0x2bd4b: 0x6d07fc20,\n\t0x2bd4c: 0x6c145820, 0x2bd4d: 0x6c145a20, 0x2bd4e: 0x6c25ea20, 0x2bd4f: 0x6c25ec20,\n\t0x2bd50: 0x6c3e6220, 0x2bd51: 0x6c81fe20, 0x2bd52: 0x6c3e6420, 0x2bd53: 0x6c3e6620,\n\t0x2bd54: 0x6c3e6820, 0x2bd55: 0x6c3e6a20, 0x2bd56: 0x6c3e6c20, 0x2bd57: 0x6c3e6e20,\n\t0x2bd58: 0x6c3e7020, 0x2bd59: 0x6c3e7220, 0x2bd5a: 0x6c3e7420, 0x2bd5b: 0x6c3e7620,\n\t0x2bd5c: 0x6c3e7820, 0x2bd5d: 0x6c3e7a20, 0x2bd5e: 0x6c5d6220, 0x2bd5f: 0x6c5d6420,\n\t0x2bd60: 0x6c5d6620, 0x2bd61: 0x6c5d6820, 0x2bd62: 0x6c5d6a20, 0x2bd63: 0x6c5d6c20,\n\t0x2bd64: 0x6c5d6e20, 0x2bd65: 0x6c5d7020, 0x2bd66: 0x6c820020, 0x2bd67: 0x6c820220,\n\t0x2bd68: 0x6c820420, 0x2bd69: 0x6c820620, 0x2bd6a: 0x6c820820, 0x2bd6b: 0x6c820a20,\n\t0x2bd6c: 0x6c820c20, 0x2bd6d: 0x6c820e20, 0x2bd6e: 0x6c821020, 0x2bd6f: 0x6cab1220,\n\t0x2bd70: 0x6cab1420, 0x2bd71: 0x6cab1620, 0x2bd72: 0x6cab1820, 0x2bd73: 0x6cab1a20,\n\t0x2bd74: 0x6cab1c20, 0x2bd75: 0x6cab1e20, 0x2bd76: 0x6cab2020, 0x2bd77: 0x6cab2220,\n\t0x2bd78: 0x6cab2420, 0x2bd79: 0x6cab2620, 0x2bd7a: 0x6cab2820, 0x2bd7b: 0x6cab2a20,\n\t0x2bd7c: 0x6cd95c20, 0x2bd7d: 0x6cd95e20, 0x2bd7e: 0x6cd96020, 0x2bd7f: 0x6cd96220,\n\t// Block 0xaf6, offset 0x2bd80\n\t0x2bd80: 0x6cd96420, 0x2bd81: 0x6cd96620, 0x2bd82: 0x6cd96820, 0x2bd83: 0x6cd96a20,\n\t0x2bd84: 0x6cd96c20, 0x2bd85: 0x6cd96e20, 0x2bd86: 0x6cd97020, 0x2bd87: 0x6cd97220,\n\t0x2bd88: 0x6cd97420, 0x2bd89: 0x6cd97620, 0x2bd8a: 0x6cd97820, 0x2bd8b: 0x6cd97a20,\n\t0x2bd8c: 0x6cd97c20, 0x2bd8d: 0x6d080a20, 0x2bd8e: 0x6d080c20, 0x2bd8f: 0x6d080e20,\n\t0x2bd90: 0x6d081020, 0x2bd91: 0x6d081220, 0x2bd92: 0x6d081420, 0x2bd93: 0x6d081620,\n\t0x2bd94: 0x6d081820, 0x2bd95: 0x6d081a20, 0x2bd96: 0x6d081c20, 0x2bd97: 0x6d081e20,\n\t0x2bd98: 0x6d082020, 0x2bd99: 0x6d082220, 0x2bd9a: 0x6d082420, 0x2bd9b: 0x6d082620,\n\t0x2bd9c: 0x6d361c20, 0x2bd9d: 0x6d361e20, 0x2bd9e: 0x6d362020, 0x2bd9f: 0x6d362220,\n\t0x2bda0: 0x6d362420, 0x2bda1: 0x6d8c9e20, 0x2bda2: 0x6d362620, 0x2bda3: 0x6d362820,\n\t0x2bda4: 0x6d362a20, 0x2bda5: 0x6d362c20, 0x2bda6: 0x6d362e20, 0x2bda7: 0x6d363020,\n\t0x2bda8: 0x6d363220, 0x2bda9: 0x6d363420, 0x2bdaa: 0x6d363620, 0x2bdab: 0x6d62bc20,\n\t0x2bdac: 0x6d62be20, 0x2bdad: 0x6d62c020, 0x2bdae: 0x6d62c220, 0x2bdaf: 0x6d62c420,\n\t0x2bdb0: 0x6d62c620, 0x2bdb1: 0x6d62c820, 0x2bdb2: 0x6d62ca20, 0x2bdb3: 0x6d62cc20,\n\t0x2bdb4: 0x6d62ce20, 0x2bdb5: 0x6d8ca220, 0x2bdb6: 0x6d8ca420, 0x2bdb7: 0x6d8ca620,\n\t0x2bdb8: 0x6d8ca820, 0x2bdb9: 0x6d8caa20, 0x2bdba: 0x6d8cac20, 0x2bdbb: 0x6d8cae20,\n\t0x2bdbc: 0x6d8cb020, 0x2bdbd: 0x6d8cb220, 0x2bdbe: 0x6db0d620, 0x2bdbf: 0x6db0d820,\n\t// Block 0xaf7, offset 0x2bdc0\n\t0x2bdc0: 0x6db0da20, 0x2bdc1: 0x6db0dc20, 0x2bdc2: 0x6dd05e20, 0x2bdc3: 0x6dd06020,\n\t0x2bdc4: 0x6dd06220, 0x2bdc5: 0x6dd06420, 0x2bdc6: 0x6dea2020, 0x2bdc7: 0x6dea2220,\n\t0x2bdc8: 0x6dea2420, 0x2bdc9: 0x6dffe020, 0x2bdca: 0x6dffe220, 0x2bdcb: 0x6e124020,\n\t0x2bdcc: 0x6e124220, 0x2bdcd: 0x6e124420, 0x2bdce: 0x6e124620, 0x2bdcf: 0x6e206820,\n\t0x2bdd0: 0x6cabdc20, 0x2bdd1: 0x6dd0b020, 0x2bdd2: 0x6c5e4020, 0x2bdd3: 0x6d08fc20,\n\t0x2bdd4: 0x6c82fa20, 0x2bdd5: 0x6cabf220, 0x2bdd6: 0x6d370020, 0x2bdd7: 0x6d637020,\n\t0x2bdd8: 0x6d8d7420, 0x2bdd9: 0x6c831020, 0x2bdda: 0x6c831220, 0x2bddb: 0x6cac0420,\n\t0x2bddc: 0x6d638620, 0x2bddd: 0x6d372e20, 0x2bdde: 0x6d8d9620, 0x2bddf: 0x6e126a20,\n\t0x2bde0: 0x6c3f3420, 0x2bde1: 0x6c5e5a20, 0x2bde2: 0x6c5e5c20, 0x2bde3: 0x6c5e5e20,\n\t0x2bde4: 0x6c832820, 0x2bde5: 0x6c832a20, 0x2bde6: 0x6cac1020, 0x2bde7: 0x6cac1220,\n\t0x2bde8: 0x6cac1420, 0x2bde9: 0x6cac1620, 0x2bdea: 0x6cdac020, 0x2bdeb: 0x6cdac220,\n\t0x2bdec: 0x6cdac420, 0x2bded: 0x6cdac620, 0x2bdee: 0x6cdac820, 0x2bdef: 0x6d091e20,\n\t0x2bdf0: 0x6d092020, 0x2bdf1: 0x6d373220, 0x2bdf2: 0x6d373420, 0x2bdf3: 0x6d373620,\n\t0x2bdf4: 0x6d373820, 0x2bdf5: 0x6d373a20, 0x2bdf6: 0x6d373c20, 0x2bdf7: 0x6d373e20,\n\t0x2bdf8: 0x6d374020, 0x2bdf9: 0x6d639c20, 0x2bdfa: 0x6d639e20, 0x2bdfb: 0x6d63a020,\n\t0x2bdfc: 0x6d8d9820, 0x2bdfd: 0x6d8d9a20, 0x2bdfe: 0x6d8d9c20, 0x2bdff: 0x6db18e20,\n\t// Block 0xaf8, offset 0x2be00\n\t0x2be00: 0x6db19020, 0x2be01: 0x6db19220, 0x2be02: 0x6db19420, 0x2be03: 0x6db19620,\n\t0x2be04: 0x6db19820, 0x2be05: 0x6db19a20, 0x2be06: 0x6dd0dc20, 0x2be07: 0x6dd0de20,\n\t0x2be08: 0x6dd0e020, 0x2be09: 0x6e003420, 0x2be0a: 0x6c5e7a20, 0x2be0b: 0x6cac4c20,\n\t0x2be0c: 0x6d8dca20, 0x2be0d: 0x6d8dcc20, 0x2be0e: 0x6dd11820, 0x2be0f: 0x6dd11a20,\n\t0x2be10: 0x6e209c20, 0x2be11: 0x6c149c20, 0x2be12: 0x6c3f4620, 0x2be13: 0x6c3f4820,\n\t0x2be14: 0x6c3f4a20, 0x2be15: 0x6c5e7e20, 0x2be16: 0x6c5e8020, 0x2be17: 0x6c5e8220,\n\t0x2be18: 0x6c5e8420, 0x2be19: 0x6c5e8620, 0x2be1a: 0x6c836020, 0x2be1b: 0x6c836220,\n\t0x2be1c: 0x6c836420, 0x2be1d: 0x6c836620, 0x2be1e: 0x6c836820, 0x2be1f: 0x6c836a20,\n\t0x2be20: 0x6c836c20, 0x2be21: 0x6c836e20, 0x2be22: 0x6c837020, 0x2be23: 0x6c837220,\n\t0x2be24: 0x6c837420, 0x2be25: 0x6c837620, 0x2be26: 0x6cac5c20, 0x2be27: 0x6cac5e20,\n\t0x2be28: 0x6cac6020, 0x2be29: 0x6cac6220, 0x2be2a: 0x6cac6420, 0x2be2b: 0x6cac6620,\n\t0x2be2c: 0x6cac6820, 0x2be2d: 0x6cac6a20, 0x2be2e: 0x6cac6c20, 0x2be2f: 0x6cac6e20,\n\t0x2be30: 0x6cdaf220, 0x2be31: 0x6cdaf420, 0x2be32: 0x6cdaf620, 0x2be33: 0x6cdaf820,\n\t0x2be34: 0x6cdafa20, 0x2be35: 0x6cdafc20, 0x2be36: 0x6cdafe20, 0x2be37: 0x6cdb0020,\n\t0x2be38: 0x6cdb0220, 0x2be39: 0x6cdb0420, 0x2be3a: 0x6cdb0620, 0x2be3b: 0x6cdb0820,\n\t0x2be3c: 0x6cdb0a20, 0x2be3d: 0x6cdb0c20, 0x2be3e: 0x6cdb0e20, 0x2be3f: 0x6cdb1020,\n\t// Block 0xaf9, offset 0x2be40\n\t0x2be40: 0x6cdb1220, 0x2be41: 0x6cdb1420, 0x2be42: 0x6d095a20, 0x2be43: 0x6d095c20,\n\t0x2be44: 0x6d095e20, 0x2be45: 0x6d096020, 0x2be46: 0x6d096220, 0x2be47: 0x6d096420,\n\t0x2be48: 0x6d096620, 0x2be49: 0x6d096820, 0x2be4a: 0x6d096a20, 0x2be4b: 0x6d096c20,\n\t0x2be4c: 0x6d096e20, 0x2be4d: 0x6d097020, 0x2be4e: 0x6d097220, 0x2be4f: 0x6d097420,\n\t0x2be50: 0x6d097620, 0x2be51: 0x6d097820, 0x2be52: 0x6d097a20, 0x2be53: 0x6d097c20,\n\t0x2be54: 0x6d097e20, 0x2be55: 0x6d378020, 0x2be56: 0x6d098020, 0x2be57: 0x6d378220,\n\t0x2be58: 0x6d378420, 0x2be59: 0x6d378620, 0x2be5a: 0x6d378820, 0x2be5b: 0x6d378a20,\n\t0x2be5c: 0x6d378c20, 0x2be5d: 0x6d378e20, 0x2be5e: 0x6d379020, 0x2be5f: 0x6d379220,\n\t0x2be60: 0x6d379420, 0x2be61: 0x6d379620, 0x2be62: 0x6d379820, 0x2be63: 0x6d379a20,\n\t0x2be64: 0x6d379c20, 0x2be65: 0x6d379e20, 0x2be66: 0x6d37a020, 0x2be67: 0x6d37a220,\n\t0x2be68: 0x6d37a420, 0x2be69: 0x6d37a620, 0x2be6a: 0x6d37a820, 0x2be6b: 0x6d37aa20,\n\t0x2be6c: 0x6d37ac20, 0x2be6d: 0x6d37ae20, 0x2be6e: 0x6d63f220, 0x2be6f: 0x6d63f420,\n\t0x2be70: 0x6d63f620, 0x2be71: 0x6d63f820, 0x2be72: 0x6d63fa20, 0x2be73: 0x6d63fc20,\n\t0x2be74: 0x6d63fe20, 0x2be75: 0x6d640020, 0x2be76: 0x6d640220, 0x2be77: 0x6d640420,\n\t0x2be78: 0x6d640620, 0x2be79: 0x6d640820, 0x2be7a: 0x6d640a20, 0x2be7b: 0x6d640c20,\n\t0x2be7c: 0x6d8dda20, 0x2be7d: 0x6d8ddc20, 0x2be7e: 0x6d8dde20, 0x2be7f: 0x6d8de020,\n\t// Block 0xafa, offset 0x2be80\n\t0x2be80: 0x6d8de220, 0x2be81: 0x6d8de420, 0x2be82: 0x6d8de620, 0x2be83: 0x6d8de820,\n\t0x2be84: 0x6d8dea20, 0x2be85: 0x6d8dec20, 0x2be86: 0x6d8dee20, 0x2be87: 0x6d8df020,\n\t0x2be88: 0x6d8df220, 0x2be89: 0x6d8df420, 0x2be8a: 0x6d8df620, 0x2be8b: 0x6d8df820,\n\t0x2be8c: 0x6d8dfa20, 0x2be8d: 0x6d8dfc20, 0x2be8e: 0x6db1c020, 0x2be8f: 0x6db1c220,\n\t0x2be90: 0x6db1c420, 0x2be91: 0x6db1c620, 0x2be92: 0x6db1c820, 0x2be93: 0x6db1ca20,\n\t0x2be94: 0x6db1cc20, 0x2be95: 0x6db1ce20, 0x2be96: 0x6db1d020, 0x2be97: 0x6db1d220,\n\t0x2be98: 0x6db1d420, 0x2be99: 0x6db1d620, 0x2be9a: 0x6db1d820, 0x2be9b: 0x6db1da20,\n\t0x2be9c: 0x6db1dc20, 0x2be9d: 0x6db1de20, 0x2be9e: 0x6db1e020, 0x2be9f: 0x6db1e220,\n\t0x2bea0: 0x6db1e420, 0x2bea1: 0x6db1e620, 0x2bea2: 0x6db1e820, 0x2bea3: 0x6db1ea20,\n\t0x2bea4: 0x6db1ec20, 0x2bea5: 0x6db1ee20, 0x2bea6: 0x6db1f020, 0x2bea7: 0x6db1f220,\n\t0x2bea8: 0x6db1f420, 0x2bea9: 0x6db1f620, 0x2beaa: 0x6db1f820, 0x2beab: 0x6db1fa20,\n\t0x2beac: 0x6db1fc20, 0x2bead: 0x6dd11c20, 0x2beae: 0x6dd11e20, 0x2beaf: 0x6dd12020,\n\t0x2beb0: 0x6dd12220, 0x2beb1: 0x6dd12420, 0x2beb2: 0x6dd12620, 0x2beb3: 0x6dd12820,\n\t0x2beb4: 0x6dd12a20, 0x2beb5: 0x6dd12c20, 0x2beb6: 0x6dd12e20, 0x2beb7: 0x6dd13020,\n\t0x2beb8: 0x6dd13220, 0x2beb9: 0x6dd13420, 0x2beba: 0x6dd13620, 0x2bebb: 0x6dd13820,\n\t0x2bebc: 0x6dd13a20, 0x2bebd: 0x6dd13c20, 0x2bebe: 0x6dd13e20, 0x2bebf: 0x6dd14020,\n\t// Block 0xafb, offset 0x2bec0\n\t0x2bec0: 0x6dd14220, 0x2bec1: 0x6dd14420, 0x2bec2: 0x6dd14620, 0x2bec3: 0x6dd14820,\n\t0x2bec4: 0x6dd14a20, 0x2bec5: 0x6deaa420, 0x2bec6: 0x6deaa620, 0x2bec7: 0x6deaa820,\n\t0x2bec8: 0x6deaaa20, 0x2bec9: 0x6deaac20, 0x2beca: 0x6deaae20, 0x2becb: 0x6deab020,\n\t0x2becc: 0x6deab220, 0x2becd: 0x6deab420, 0x2bece: 0x6deab620, 0x2becf: 0x6deab820,\n\t0x2bed0: 0x6deaba20, 0x2bed1: 0x6deabc20, 0x2bed2: 0x6e005220, 0x2bed3: 0x6e005420,\n\t0x2bed4: 0x6e005620, 0x2bed5: 0x6e005820, 0x2bed6: 0x6e005a20, 0x2bed7: 0x6e005c20,\n\t0x2bed8: 0x6e005e20, 0x2bed9: 0x6e006020, 0x2beda: 0x6e006220, 0x2bedb: 0x6e006420,\n\t0x2bedc: 0x6e006620, 0x2bedd: 0x6e006820, 0x2bede: 0x6e127a20, 0x2bedf: 0x6e127c20,\n\t0x2bee0: 0x6e127e20, 0x2bee1: 0x6e128020, 0x2bee2: 0x6e128220, 0x2bee3: 0x6e128420,\n\t0x2bee4: 0x6e128620, 0x2bee5: 0x6e128820, 0x2bee6: 0x6e209e20, 0x2bee7: 0x6e20a020,\n\t0x2bee8: 0x6e20a220, 0x2bee9: 0x6e20a420, 0x2beea: 0x6e20a620, 0x2beeb: 0x6e20a820,\n\t0x2beec: 0x6e20aa20, 0x2beed: 0x6e20ac20, 0x2beee: 0x6e20ae20, 0x2beef: 0x6e20b020,\n\t0x2bef0: 0x6e20b220, 0x2bef1: 0x6e20b420, 0x2bef2: 0x6e20b620, 0x2bef3: 0x6e2b7420,\n\t0x2bef4: 0x6e2b7620, 0x2bef5: 0x6e2b7820, 0x2bef6: 0x6e2b7a20, 0x2bef7: 0x6e2b7c20,\n\t0x2bef8: 0x6e33e620, 0x2bef9: 0x6e33e820, 0x2befa: 0x6e33ea20, 0x2befb: 0x6e39c420,\n\t0x2befc: 0x6e39c620, 0x2befd: 0x6e39c820, 0x2befe: 0x6e3df220, 0x2beff: 0x6e40c820,\n\t// Block 0xafc, offset 0x2bf00\n\t0x2bf00: 0x6e40ca20, 0x2bf01: 0x6e42ee20, 0x2bf02: 0x6e446020, 0x2bf03: 0x6e446220,\n\t0x2bf04: 0x6e446420, 0x2bf05: 0x6e454820, 0x2bf06: 0x6e454a20, 0x2bf07: 0x6e46ce20,\n\t0x2bf08: 0x6c400e20, 0x2bf09: 0x6c5f9420, 0x2bf0a: 0x6c84c620, 0x2bf0b: 0x6c84c820,\n\t0x2bf0c: 0x6c84ca20, 0x2bf0d: 0x6c84cc20, 0x2bf0e: 0x6cae2220, 0x2bf0f: 0x6cae2420,\n\t0x2bf10: 0x6cdd4820, 0x2bf11: 0x6cdd4a20, 0x2bf12: 0x6d0bc220, 0x2bf13: 0x6d0bc420,\n\t0x2bf14: 0x6d0bc620, 0x2bf15: 0x6d0bc820, 0x2bf16: 0x6d0bca20, 0x2bf17: 0x6d65f420,\n\t0x2bf18: 0x6d8fc820, 0x2bf19: 0x6db39820, 0x2bf1a: 0x6dd29620, 0x2bf1b: 0x6dd29820,\n\t0x2bf1c: 0x6debd220, 0x2bf1d: 0x6c268820, 0x2bf1e: 0x6c5fa220, 0x2bf1f: 0x6c5fa420,\n\t0x2bf20: 0x6c5fa620, 0x2bf21: 0x6c84de20, 0x2bf22: 0x6c84e020, 0x2bf23: 0x6c84e220,\n\t0x2bf24: 0x6cae4e20, 0x2bf25: 0x6cae5020, 0x2bf26: 0x6cae5220, 0x2bf27: 0x6cae5420,\n\t0x2bf28: 0x6cae5620, 0x2bf29: 0x6cae5820, 0x2bf2a: 0x6cae5a20, 0x2bf2b: 0x6cae5c20,\n\t0x2bf2c: 0x6cae5e20, 0x2bf2d: 0x6cdd6620, 0x2bf2e: 0x6cdd6820, 0x2bf2f: 0x6cdd6a20,\n\t0x2bf30: 0x6cdd6c20, 0x2bf31: 0x6cdd6e20, 0x2bf32: 0x6cdd7020, 0x2bf33: 0x6cdd7220,\n\t0x2bf34: 0x6cdd7420, 0x2bf35: 0x6cdd7620, 0x2bf36: 0x6d0bde20, 0x2bf37: 0x6d0be020,\n\t0x2bf38: 0x6d0be220, 0x2bf39: 0x6d0be420, 0x2bf3a: 0x6d0be620, 0x2bf3b: 0x6d0be820,\n\t0x2bf3c: 0x6d0bea20, 0x2bf3d: 0x6d0bec20, 0x2bf3e: 0x6d0bee20, 0x2bf3f: 0x6d39e220,\n\t// Block 0xafd, offset 0x2bf40\n\t0x2bf40: 0x6d39e420, 0x2bf41: 0x6d39e620, 0x2bf42: 0x6d39e820, 0x2bf43: 0x6d39ea20,\n\t0x2bf44: 0x6d39ec20, 0x2bf45: 0x6d39ee20, 0x2bf46: 0x6d39f020, 0x2bf47: 0x6d39f220,\n\t0x2bf48: 0x6d39f420, 0x2bf49: 0x6d39f620, 0x2bf4a: 0x6d39f820, 0x2bf4b: 0x6d661220,\n\t0x2bf4c: 0x6d661420, 0x2bf4d: 0x6d661620, 0x2bf4e: 0x6d661820, 0x2bf4f: 0x6d661a20,\n\t0x2bf50: 0x6d661c20, 0x2bf51: 0x6d661e20, 0x2bf52: 0x6d662020, 0x2bf53: 0x6d662220,\n\t0x2bf54: 0x6d662420, 0x2bf55: 0x6d39fa20, 0x2bf56: 0x6d662620, 0x2bf57: 0x6d8ffa20,\n\t0x2bf58: 0x6d8ffc20, 0x2bf59: 0x6d8ffe20, 0x2bf5a: 0x6d900020, 0x2bf5b: 0x6d900220,\n\t0x2bf5c: 0x6d900420, 0x2bf5d: 0x6d900620, 0x2bf5e: 0x6d900820, 0x2bf5f: 0x6db3b420,\n\t0x2bf60: 0x6db3b620, 0x2bf61: 0x6db3b820, 0x2bf62: 0x6db3ba20, 0x2bf63: 0x6db3bc20,\n\t0x2bf64: 0x6db3be20, 0x2bf65: 0x6db3c020, 0x2bf66: 0x6db3c220, 0x2bf67: 0x6db3c420,\n\t0x2bf68: 0x6db3c620, 0x2bf69: 0x6db3c820, 0x2bf6a: 0x6db3ca20, 0x2bf6b: 0x6db3cc20,\n\t0x2bf6c: 0x6db3ce20, 0x2bf6d: 0x6db3d020, 0x2bf6e: 0x6db3d220, 0x2bf6f: 0x6dd2b020,\n\t0x2bf70: 0x6dd2b220, 0x2bf71: 0x6dd2b420, 0x2bf72: 0x6dd2b620, 0x2bf73: 0x6dd2b820,\n\t0x2bf74: 0x6debe620, 0x2bf75: 0x6debe820, 0x2bf76: 0x6debea20, 0x2bf77: 0x6debec20,\n\t0x2bf78: 0x6debee20, 0x2bf79: 0x6debf020, 0x2bf7a: 0x6debf220, 0x2bf7b: 0x6debf420,\n\t0x2bf7c: 0x6e016420, 0x2bf7d: 0x6e016620, 0x2bf7e: 0x6e016820, 0x2bf7f: 0x6e016a20,\n\t// Block 0xafe, offset 0x2bf80\n\t0x2bf80: 0x6e016c20, 0x2bf81: 0x6e016e20, 0x2bf82: 0x6e135020, 0x2bf83: 0x6e135220,\n\t0x2bf84: 0x6e135420, 0x2bf85: 0x6e212220, 0x2bf86: 0x6e212420, 0x2bf87: 0x6e212620,\n\t0x2bf88: 0x6e212820, 0x2bf89: 0x6e212a20, 0x2bf8a: 0x6e2bdc20, 0x2bf8b: 0x6e2bde20,\n\t0x2bf8c: 0x6e2be020, 0x2bf8d: 0x6e39ea20, 0x2bf8e: 0x6e42fc20, 0x2bf8f: 0x6c5ff620,\n\t0x2bf90: 0x6c858220, 0x2bf91: 0x6caf1a20, 0x2bf92: 0x6d0cbc20, 0x2bf93: 0x6d3b1020,\n\t0x2bf94: 0x6d673a20, 0x2bf95: 0x6c859420, 0x2bf96: 0x6cde5020, 0x2bf97: 0x6d912020,\n\t0x2bf98: 0x6d912220, 0x2bf99: 0x6e01e020, 0x2bf9a: 0x6c404420, 0x2bf9b: 0x6c404620,\n\t0x2bf9c: 0x6c600c20, 0x2bf9d: 0x6c600e20, 0x2bf9e: 0x6c601020, 0x2bf9f: 0x6c85a020,\n\t0x2bfa0: 0x6c85a220, 0x2bfa1: 0x6c85a420, 0x2bfa2: 0x6caf3420, 0x2bfa3: 0x6caf3620,\n\t0x2bfa4: 0x6caf3820, 0x2bfa5: 0x6caf3a20, 0x2bfa6: 0x6caf3c20, 0x2bfa7: 0x6caf3e20,\n\t0x2bfa8: 0x6cde6a20, 0x2bfa9: 0x6cde6c20, 0x2bfaa: 0x6cde6e20, 0x2bfab: 0x6cde7020,\n\t0x2bfac: 0x6cde7220, 0x2bfad: 0x6cde7420, 0x2bfae: 0x6cde7620, 0x2bfaf: 0x6d0cd820,\n\t0x2bfb0: 0x6d0cda20, 0x2bfb1: 0x6d0cdc20, 0x2bfb2: 0x6d0cde20, 0x2bfb3: 0x6d3b2820,\n\t0x2bfb4: 0x6d3b2a20, 0x2bfb5: 0x6d3b2c20, 0x2bfb6: 0x6d3b2e20, 0x2bfb7: 0x6d3b3020,\n\t0x2bfb8: 0x6d3b3220, 0x2bfb9: 0x6d3b3420, 0x2bfba: 0x6d3b3620, 0x2bfbb: 0x6d3b3820,\n\t0x2bfbc: 0x6d3b3a20, 0x2bfbd: 0x6d3b3c20, 0x2bfbe: 0x6d3b3e20, 0x2bfbf: 0x6d3b4020,\n\t// Block 0xaff, offset 0x2bfc0\n\t0x2bfc0: 0x6d3b4220, 0x2bfc1: 0x6d3b4420, 0x2bfc2: 0x6d3b4620, 0x2bfc3: 0x6d675820,\n\t0x2bfc4: 0x6d675a20, 0x2bfc5: 0x6d675c20, 0x2bfc6: 0x6d675e20, 0x2bfc7: 0x6d676020,\n\t0x2bfc8: 0x6d676220, 0x2bfc9: 0x6d676420, 0x2bfca: 0x6d676620, 0x2bfcb: 0x6d676820,\n\t0x2bfcc: 0x6d676a20, 0x2bfcd: 0x6d676c20, 0x2bfce: 0x6d913020, 0x2bfcf: 0x6d913220,\n\t0x2bfd0: 0x6d913420, 0x2bfd1: 0x6d913620, 0x2bfd2: 0x6d913820, 0x2bfd3: 0x6d913a20,\n\t0x2bfd4: 0x6db4da20, 0x2bfd5: 0x6db4dc20, 0x2bfd6: 0x6db4de20, 0x2bfd7: 0x6db4e020,\n\t0x2bfd8: 0x6db4e220, 0x2bfd9: 0x6db4e420, 0x2bfda: 0x6db4e620, 0x2bfdb: 0x6db4e820,\n\t0x2bfdc: 0x6db4ea20, 0x2bfdd: 0x6db4ec20, 0x2bfde: 0x6dd3aa20, 0x2bfdf: 0x6dd3ac20,\n\t0x2bfe0: 0x6dd3ae20, 0x2bfe1: 0x6dd3b020, 0x2bfe2: 0x6dd3b220, 0x2bfe3: 0x6dd3b420,\n\t0x2bfe4: 0x6decac20, 0x2bfe5: 0x6decae20, 0x2bfe6: 0x6e01e420, 0x2bfe7: 0x6e01e620,\n\t0x2bfe8: 0x6e01e820, 0x2bfe9: 0x6e01ea20, 0x2bfea: 0x6e13d020, 0x2bfeb: 0x6e218c20,\n\t0x2bfec: 0x6e2c2220, 0x2bfed: 0x6e2c2420, 0x2bfee: 0x6e346020, 0x2bfef: 0x6e346220,\n\t0x2bff0: 0x6e3a0a20, 0x2bff1: 0x6e40fe20, 0x2bff2: 0x6c606420, 0x2bff3: 0x6c862220,\n\t0x2bff4: 0x6cafe220, 0x2bff5: 0x6cdefa20, 0x2bff6: 0x6cdefc20, 0x2bff7: 0x6c862a20,\n\t0x2bff8: 0x6c862c20, 0x2bff9: 0x6cafee20, 0x2bffa: 0x6caff020, 0x2bffb: 0x6caff220,\n\t0x2bffc: 0x6cdf0a20, 0x2bffd: 0x6cdf0c20, 0x2bffe: 0x6cdf0e20, 0x2bfff: 0x6cdf1020,\n\t// Block 0xb00, offset 0x2c000\n\t0x2c000: 0x6d0d7c20, 0x2c001: 0x6d0d7e20, 0x2c002: 0x6d3bec20, 0x2c003: 0x6d3bee20,\n\t0x2c004: 0x6d67f820, 0x2c005: 0x6d67fa20, 0x2c006: 0x6d91c220, 0x2c007: 0x6d91c420,\n\t0x2c008: 0x6d91c620, 0x2c009: 0x6d91c820, 0x2c00a: 0x6db58020, 0x2c00b: 0x6db58220,\n\t0x2c00c: 0x6db58420, 0x2c00d: 0x6dd41420, 0x2c00e: 0x6dd41620, 0x2c00f: 0x6ded0420,\n\t0x2c010: 0x6ded0620, 0x2c011: 0x6ded0820, 0x2c012: 0x6ded0a20, 0x2c013: 0x6ded0c20,\n\t0x2c014: 0x6e13fc20, 0x2c015: 0x6e3e2e20, 0x2c016: 0x6e45d820, 0x2c017: 0x6cb01e20,\n\t0x2c018: 0x6d0db020, 0x2c019: 0x6d0db220, 0x2c01a: 0x6d0db420, 0x2c01b: 0x6d3c2020,\n\t0x2c01c: 0x6d683a20, 0x2c01d: 0x6d683c20, 0x2c01e: 0x6d683e20, 0x2c01f: 0x6d684020,\n\t0x2c020: 0x6d684220, 0x2c021: 0x6d920220, 0x2c022: 0x6d920420, 0x2c023: 0x6d920620,\n\t0x2c024: 0x6d920820, 0x2c025: 0x6db5a820, 0x2c026: 0x6db5aa20, 0x2c027: 0x6dd43620,\n\t0x2c028: 0x6ded2420, 0x2c029: 0x6ded2620, 0x2c02a: 0x6e022e20, 0x2c02b: 0x6e023020,\n\t0x2c02c: 0x6ded2820, 0x2c02d: 0x6e3a3620, 0x2c02e: 0x6c608620, 0x2c02f: 0x6c608820,\n\t0x2c030: 0x6c608a20, 0x2c031: 0x6c864a20, 0x2c032: 0x6c864c20, 0x2c033: 0x6cb05620,\n\t0x2c034: 0x6cb05820, 0x2c035: 0x6cb05a20, 0x2c036: 0x6cb05c20, 0x2c037: 0x6cb05e20,\n\t0x2c038: 0x6cb06020, 0x2c039: 0x6cb06220, 0x2c03a: 0x6cb06420, 0x2c03b: 0x6cb06620,\n\t0x2c03c: 0x6cb06820, 0x2c03d: 0x6cb06a20, 0x2c03e: 0x6cb06c20, 0x2c03f: 0x6cb06e20,\n\t// Block 0xb01, offset 0x2c040\n\t0x2c040: 0x6cb07020, 0x2c041: 0x6cb07220, 0x2c042: 0x6cb07420, 0x2c043: 0x6cb07620,\n\t0x2c044: 0x6cdf6020, 0x2c045: 0x6cdf6220, 0x2c046: 0x6cdf6420, 0x2c047: 0x6cdf6620,\n\t0x2c048: 0x6cdf6820, 0x2c049: 0x6cdf6a20, 0x2c04a: 0x6cdf6c20, 0x2c04b: 0x6cdf6e20,\n\t0x2c04c: 0x6cdf7020, 0x2c04d: 0x6cdf7220, 0x2c04e: 0x6cdf7420, 0x2c04f: 0x6cdf7620,\n\t0x2c050: 0x6cdf7820, 0x2c051: 0x6cdf7a20, 0x2c052: 0x6cdf7c20, 0x2c053: 0x6cdf7e20,\n\t0x2c054: 0x6d0de020, 0x2c055: 0x6d0de220, 0x2c056: 0x6d0de420, 0x2c057: 0x6d0de620,\n\t0x2c058: 0x6d0de820, 0x2c059: 0x6d0dea20, 0x2c05a: 0x6d0dec20, 0x2c05b: 0x6d0dee20,\n\t0x2c05c: 0x6d0df020, 0x2c05d: 0x6d3c4220, 0x2c05e: 0x6d3c4420, 0x2c05f: 0x6d3c4620,\n\t0x2c060: 0x6d3c4820, 0x2c061: 0x6d3c4a20, 0x2c062: 0x6d3c4c20, 0x2c063: 0x6d3c4e20,\n\t0x2c064: 0x6d3c5020, 0x2c065: 0x6d3c5220, 0x2c066: 0x6d3c5420, 0x2c067: 0x6d3c5620,\n\t0x2c068: 0x6d3c5820, 0x2c069: 0x6d687e20, 0x2c06a: 0x6d688020, 0x2c06b: 0x6d688220,\n\t0x2c06c: 0x6d688420, 0x2c06d: 0x6d688620, 0x2c06e: 0x6d688820, 0x2c06f: 0x6d688a20,\n\t0x2c070: 0x6d688c20, 0x2c071: 0x6d688e20, 0x2c072: 0x6d689020, 0x2c073: 0x6d689220,\n\t0x2c074: 0x6d689420, 0x2c075: 0x6d689620, 0x2c076: 0x6d689820, 0x2c077: 0x6d689a20,\n\t0x2c078: 0x6d689c20, 0x2c079: 0x6d923220, 0x2c07a: 0x6d923420, 0x2c07b: 0x6d923620,\n\t0x2c07c: 0x6d923820, 0x2c07d: 0x6d923a20, 0x2c07e: 0x6db5d620, 0x2c07f: 0x6db5d820,\n\t// Block 0xb02, offset 0x2c080\n\t0x2c080: 0x6db5da20, 0x2c081: 0x6db5dc20, 0x2c082: 0x6db5de20, 0x2c083: 0x6dd45220,\n\t0x2c084: 0x6dd45420, 0x2c085: 0x6dd45620, 0x2c086: 0x6dd45820, 0x2c087: 0x6dd45a20,\n\t0x2c088: 0x6dd45c20, 0x2c089: 0x6dd45e20, 0x2c08a: 0x6dd46020, 0x2c08b: 0x6ded4220,\n\t0x2c08c: 0x6ded4420, 0x2c08d: 0x6ded4620, 0x2c08e: 0x6ded4820, 0x2c08f: 0x6ded4a20,\n\t0x2c090: 0x6ded4c20, 0x2c091: 0x6ded4e20, 0x2c092: 0x6e024020, 0x2c093: 0x6e024220,\n\t0x2c094: 0x6e024420, 0x2c095: 0x6e024620, 0x2c096: 0x6e024820, 0x2c097: 0x6e024a20,\n\t0x2c098: 0x6e024c20, 0x2c099: 0x6e141620, 0x2c09a: 0x6e141820, 0x2c09b: 0x6e141a20,\n\t0x2c09c: 0x6e141c20, 0x2c09d: 0x6e141e20, 0x2c09e: 0x6e142020, 0x2c09f: 0x6e21c220,\n\t0x2c0a0: 0x6e21c420, 0x2c0a1: 0x6e21c620, 0x2c0a2: 0x6e2c4420, 0x2c0a3: 0x6cb10a20,\n\t0x2c0a4: 0x6d0eb220, 0x2c0a5: 0x6d697a20, 0x2c0a6: 0x6db69820, 0x2c0a7: 0x6db69a20,\n\t0x2c0a8: 0x6dd4fc20, 0x2c0a9: 0x6e2c7620, 0x2c0aa: 0x6c60be20, 0x2c0ab: 0x6c86c420,\n\t0x2c0ac: 0x6ce04820, 0x2c0ad: 0x6ce04a20, 0x2c0ae: 0x6d3d1620, 0x2c0af: 0x6d698420,\n\t0x2c0b0: 0x6db69e20, 0x2c0b1: 0x6dd4fe20, 0x2c0b2: 0x6e221620, 0x2c0b3: 0x6c40b620,\n\t0x2c0b4: 0x6cb15020, 0x2c0b5: 0x6ce05020, 0x2c0b6: 0x6d0eca20, 0x2c0b7: 0x6d3d1e20,\n\t0x2c0b8: 0x6d3d2020, 0x2c0b9: 0x6d3d2220, 0x2c0ba: 0x6d699620, 0x2c0bb: 0x6d930c20,\n\t0x2c0bc: 0x6d930e20, 0x2c0bd: 0x6d931020, 0x2c0be: 0x6d931220, 0x2c0bf: 0x6d931420,\n\t// Block 0xb03, offset 0x2c0c0\n\t0x2c0c0: 0x6db6ae20, 0x2c0c1: 0x6db6b020, 0x2c0c2: 0x6db6b220, 0x2c0c3: 0x6e147020,\n\t0x2c0c4: 0x6e3a5420, 0x2c0c5: 0x6c86d820, 0x2c0c6: 0x6cb15820, 0x2c0c7: 0x6cb15a20,\n\t0x2c0c8: 0x6ce05c20, 0x2c0c9: 0x6d0ed620, 0x2c0ca: 0x6d69b420, 0x2c0cb: 0x6d69b620,\n\t0x2c0cc: 0x6d69b820, 0x2c0cd: 0x6d932020, 0x2c0ce: 0x6d932220, 0x2c0cf: 0x6dd51420,\n\t0x2c0d0: 0x6dee0620, 0x2c0d1: 0x6dee0820, 0x2c0d2: 0x6e147620, 0x2c0d3: 0x6e222220,\n\t0x2c0d4: 0x6e3a5c20, 0x2c0d5: 0x6e3a5e20, 0x2c0d6: 0x6cb17820, 0x2c0d7: 0x6cb17a20,\n\t0x2c0d8: 0x6cb17c20, 0x2c0d9: 0x6cb17e20, 0x2c0da: 0x6ce07a20, 0x2c0db: 0x6ce07c20,\n\t0x2c0dc: 0x6d3d4e20, 0x2c0dd: 0x6d69dc20, 0x2c0de: 0x6d69de20, 0x2c0df: 0x6d934020,\n\t0x2c0e0: 0x6db6e220, 0x2c0e1: 0x6dd52820, 0x2c0e2: 0x6dd52a20, 0x2c0e3: 0x6dee1820,\n\t0x2c0e4: 0x6dee1a20, 0x2c0e5: 0x6dee1c20, 0x2c0e6: 0x6dee1e20, 0x2c0e7: 0x6cb19420,\n\t0x2c0e8: 0x6cb19620, 0x2c0e9: 0x6ce0ae20, 0x2c0ea: 0x6ce0b020, 0x2c0eb: 0x6ce0b220,\n\t0x2c0ec: 0x6ce0b420, 0x2c0ed: 0x6ce0b620, 0x2c0ee: 0x6ce0b820, 0x2c0ef: 0x6ce0ba20,\n\t0x2c0f0: 0x6d0f2820, 0x2c0f1: 0x6d0f2a20, 0x2c0f2: 0x6d0f2c20, 0x2c0f3: 0x6d3d7620,\n\t0x2c0f4: 0x6d3d7820, 0x2c0f5: 0x6d3d7a20, 0x2c0f6: 0x6d6a0020, 0x2c0f7: 0x6d6a0220,\n\t0x2c0f8: 0x6d6a0420, 0x2c0f9: 0x6d6a0620, 0x2c0fa: 0x6d6a0820, 0x2c0fb: 0x6d6a0a20,\n\t0x2c0fc: 0x6d6a0c20, 0x2c0fd: 0x6d6a0e20, 0x2c0fe: 0x6d6a1020, 0x2c0ff: 0x6d6a1220,\n\t// Block 0xb04, offset 0x2c100\n\t0x2c100: 0x6d936820, 0x2c101: 0x6d936a20, 0x2c102: 0x6d936c20, 0x2c103: 0x6d936e20,\n\t0x2c104: 0x6d937020, 0x2c105: 0x6db70420, 0x2c106: 0x6db70620, 0x2c107: 0x6dd54620,\n\t0x2c108: 0x6dee3620, 0x2c109: 0x6e02e220, 0x2c10a: 0x6e223020, 0x2c10b: 0x6e2c8a20,\n\t0x2c10c: 0x6d0f9020, 0x2c10d: 0x6d6a6e20, 0x2c10e: 0x6d6a7020, 0x2c10f: 0x6d93be20,\n\t0x2c110: 0x6d93c020, 0x2c111: 0x6c872620, 0x2c112: 0x6d0f9820, 0x2c113: 0x6d3dca20,\n\t0x2c114: 0x6d3dcc20, 0x2c115: 0x6e14a620, 0x2c116: 0x6c872820, 0x2c117: 0x6c872a20,\n\t0x2c118: 0x6c872c20, 0x2c119: 0x6cb1f220, 0x2c11a: 0x6cb1f420, 0x2c11b: 0x6cb1f620,\n\t0x2c11c: 0x6cb1f820, 0x2c11d: 0x6ce13e20, 0x2c11e: 0x6ce14020, 0x2c11f: 0x6ce14220,\n\t0x2c120: 0x6ce14420, 0x2c121: 0x6ce14620, 0x2c122: 0x6ce14820, 0x2c123: 0x6ce14a20,\n\t0x2c124: 0x6ce14c20, 0x2c125: 0x6d0fa820, 0x2c126: 0x6d0faa20, 0x2c127: 0x6d0fac20,\n\t0x2c128: 0x6d0fae20, 0x2c129: 0x6d0fb020, 0x2c12a: 0x6d0fb220, 0x2c12b: 0x6d3dd820,\n\t0x2c12c: 0x6d3dda20, 0x2c12d: 0x6d3ddc20, 0x2c12e: 0x6d3dde20, 0x2c12f: 0x6d3de020,\n\t0x2c130: 0x6d3de220, 0x2c131: 0x6d3de420, 0x2c132: 0x6d3de620, 0x2c133: 0x6d6a8420,\n\t0x2c134: 0x6d6a8620, 0x2c135: 0x6d6a8820, 0x2c136: 0x6d6a8a20, 0x2c137: 0x6d6a8c20,\n\t0x2c138: 0x6d6a8e20, 0x2c139: 0x6d93dc20, 0x2c13a: 0x6d93de20, 0x2c13b: 0x6d93e020,\n\t0x2c13c: 0x6d93e220, 0x2c13d: 0x6db74e20, 0x2c13e: 0x6db75020, 0x2c13f: 0x6db75220,\n\t// Block 0xb05, offset 0x2c140\n\t0x2c140: 0x6db75420, 0x2c141: 0x6dd59c20, 0x2c142: 0x6dd59e20, 0x2c143: 0x6dd5a020,\n\t0x2c144: 0x6dd5a220, 0x2c145: 0x6dd5a420, 0x2c146: 0x6dd5a620, 0x2c147: 0x6dee8620,\n\t0x2c148: 0x6e030a20, 0x2c149: 0x6e030c20, 0x2c14a: 0x6e030e20, 0x2c14b: 0x6e031020,\n\t0x2c14c: 0x6e14ae20, 0x2c14d: 0x6e225c20, 0x2c14e: 0x6e225e20, 0x2c14f: 0x6e226020,\n\t0x2c150: 0x6e2cae20, 0x2c151: 0x6e34ba20, 0x2c152: 0x6e3a6e20, 0x2c153: 0x6c611620,\n\t0x2c154: 0x6c611820, 0x2c155: 0x6c875020, 0x2c156: 0x6c875220, 0x2c157: 0x6cb23e20,\n\t0x2c158: 0x6cb24020, 0x2c159: 0x6cb24220, 0x2c15a: 0x6cb24420, 0x2c15b: 0x6cb24620,\n\t0x2c15c: 0x6cb24820, 0x2c15d: 0x6cb24a20, 0x2c15e: 0x6cb24c20, 0x2c15f: 0x6ce19c20,\n\t0x2c160: 0x6ce19e20, 0x2c161: 0x6ce1a020, 0x2c162: 0x6ce1a220, 0x2c163: 0x6ce1a420,\n\t0x2c164: 0x6ce1a620, 0x2c165: 0x6ce1a820, 0x2c166: 0x6ce1aa20, 0x2c167: 0x6ce1ac20,\n\t0x2c168: 0x6ce1ae20, 0x2c169: 0x6ce1b020, 0x2c16a: 0x6ce1b220, 0x2c16b: 0x6ce1b420,\n\t0x2c16c: 0x6ce1b620, 0x2c16d: 0x6ce1b820, 0x2c16e: 0x6d100a20, 0x2c16f: 0x6d100c20,\n\t0x2c170: 0x6d100e20, 0x2c171: 0x6d101020, 0x2c172: 0x6d101220, 0x2c173: 0x6d101420,\n\t0x2c174: 0x6d3e3a20, 0x2c175: 0x6d3e3c20, 0x2c176: 0x6d3e3e20, 0x2c177: 0x6d3e4020,\n\t0x2c178: 0x6d3e4220, 0x2c179: 0x6d3e4420, 0x2c17a: 0x6d3e4620, 0x2c17b: 0x6d3e4820,\n\t0x2c17c: 0x6d6ada20, 0x2c17d: 0x6d3e4a20, 0x2c17e: 0x6d6adc20, 0x2c17f: 0x6d6ade20,\n\t// Block 0xb06, offset 0x2c180\n\t0x2c180: 0x6d6ae020, 0x2c181: 0x6d6ae220, 0x2c182: 0x6d6ae420, 0x2c183: 0x6d6ae620,\n\t0x2c184: 0x6d6ae820, 0x2c185: 0x6d6aea20, 0x2c186: 0x6d6aec20, 0x2c187: 0x6d6aee20,\n\t0x2c188: 0x6d6af020, 0x2c189: 0x6d6af220, 0x2c18a: 0x6d6af420, 0x2c18b: 0x6d6af620,\n\t0x2c18c: 0x6d6af820, 0x2c18d: 0x6d943220, 0x2c18e: 0x6d943420, 0x2c18f: 0x6d943620,\n\t0x2c190: 0x6d943820, 0x2c191: 0x6d943a20, 0x2c192: 0x6d943c20, 0x2c193: 0x6d943e20,\n\t0x2c194: 0x6d944020, 0x2c195: 0x6d944220, 0x2c196: 0x6d944420, 0x2c197: 0x6db78420,\n\t0x2c198: 0x6db78620, 0x2c199: 0x6db78820, 0x2c19a: 0x6db78a20, 0x2c19b: 0x6db78c20,\n\t0x2c19c: 0x6db78e20, 0x2c19d: 0x6db79020, 0x2c19e: 0x6dd5de20, 0x2c19f: 0x6dd5e020,\n\t0x2c1a0: 0x6dd5e220, 0x2c1a1: 0x6dd5e420, 0x2c1a2: 0x6dd5e620, 0x2c1a3: 0x6deebe20,\n\t0x2c1a4: 0x6deec020, 0x2c1a5: 0x6deec220, 0x2c1a6: 0x6deec420, 0x2c1a7: 0x6deec620,\n\t0x2c1a8: 0x6e032c20, 0x2c1a9: 0x6e032e20, 0x2c1aa: 0x6e14c420, 0x2c1ab: 0x6e14c620,\n\t0x2c1ac: 0x6e227020, 0x2c1ad: 0x6e2cbe20, 0x2c1ae: 0x6e2cc020, 0x2c1af: 0x6e34c020,\n\t0x2c1b0: 0x6e3a7a20, 0x2c1b1: 0x6e432220, 0x2c1b2: 0x6ce23a20, 0x2c1b3: 0x6ce23c20,\n\t0x2c1b4: 0x6ce23e20, 0x2c1b5: 0x6ce24020, 0x2c1b6: 0x6ce24220, 0x2c1b7: 0x6d10b020,\n\t0x2c1b8: 0x6d10b220, 0x2c1b9: 0x6d10b420, 0x2c1ba: 0x6d10b620, 0x2c1bb: 0x6d6b9c20,\n\t0x2c1bc: 0x6d94e220, 0x2c1bd: 0x6db81620, 0x2c1be: 0x6db81820, 0x2c1bf: 0x6def6a20,\n\t// Block 0xb07, offset 0x2c1c0\n\t0x2c1c0: 0x6e039a20, 0x2c1c1: 0x6e2ce820, 0x2c1c2: 0x6c612c20, 0x2c1c3: 0x6c612e20,\n\t0x2c1c4: 0x6c613020, 0x2c1c5: 0x6c878c20, 0x2c1c6: 0x6cb2d220, 0x2c1c7: 0x6cb2d420,\n\t0x2c1c8: 0x6cb2d620, 0x2c1c9: 0x6cb2d820, 0x2c1ca: 0x6cb2da20, 0x2c1cb: 0x6cb2dc20,\n\t0x2c1cc: 0x6cb2de20, 0x2c1cd: 0x6cb2e020, 0x2c1ce: 0x6cb2e220, 0x2c1cf: 0x6ce26420,\n\t0x2c1d0: 0x6ce26620, 0x2c1d1: 0x6ce26820, 0x2c1d2: 0x6ce26a20, 0x2c1d3: 0x6d10e020,\n\t0x2c1d4: 0x6d10e220, 0x2c1d5: 0x6d10e420, 0x2c1d6: 0x6d10e620, 0x2c1d7: 0x6d10e820,\n\t0x2c1d8: 0x6d3f0220, 0x2c1d9: 0x6d3f0420, 0x2c1da: 0x6d3f0620, 0x2c1db: 0x6d3f0820,\n\t0x2c1dc: 0x6d6bc820, 0x2c1dd: 0x6d6bca20, 0x2c1de: 0x6d6bcc20, 0x2c1df: 0x6d6bce20,\n\t0x2c1e0: 0x6d94fe20, 0x2c1e1: 0x6d950020, 0x2c1e2: 0x6d950220, 0x2c1e3: 0x6d950420,\n\t0x2c1e4: 0x6d950620, 0x2c1e5: 0x6db83620, 0x2c1e6: 0x6db83820, 0x2c1e7: 0x6db83a20,\n\t0x2c1e8: 0x6db83c20, 0x2c1e9: 0x6db83e20, 0x2c1ea: 0x6db84020, 0x2c1eb: 0x6dd6c020,\n\t0x2c1ec: 0x6dd6c220, 0x2c1ed: 0x6dd6c420, 0x2c1ee: 0x6dd6c620, 0x2c1ef: 0x6dd6c820,\n\t0x2c1f0: 0x6dd6ca20, 0x2c1f1: 0x6dd6cc20, 0x2c1f2: 0x6def9220, 0x2c1f3: 0x6def9420,\n\t0x2c1f4: 0x6def9620, 0x2c1f5: 0x6def9820, 0x2c1f6: 0x6e03ac20, 0x2c1f7: 0x6e151220,\n\t0x2c1f8: 0x6e151420, 0x2c1f9: 0x6e151620, 0x2c1fa: 0x6e22b420, 0x2c1fb: 0x6e22b620,\n\t0x2c1fc: 0x6e34e020, 0x2c1fd: 0x6e3e5e20, 0x2c1fe: 0x6e412e20, 0x2c1ff: 0x6e45de20,\n\t// Block 0xb08, offset 0x2c200\n\t0x2c200: 0x6c87b820, 0x2c201: 0x6cb33820, 0x2c202: 0x6c614420, 0x2c203: 0x6d6c5420,\n\t0x2c204: 0x6e03ec20, 0x2c205: 0x6d115e20, 0x2c206: 0x6d3f7620, 0x2c207: 0x6d6c6020,\n\t0x2c208: 0x6e03f820, 0x2c209: 0x6e03fa20, 0x2c20a: 0x6c272820, 0x2c20b: 0x6c272a20,\n\t0x2c20c: 0x6c40f820, 0x2c20d: 0x6c40fa20, 0x2c20e: 0x6c40fc20, 0x2c20f: 0x6c40fe20,\n\t0x2c210: 0x6c616620, 0x2c211: 0x6c616820, 0x2c212: 0x6c87d820, 0x2c213: 0x6c87da20,\n\t0x2c214: 0x6c87dc20, 0x2c215: 0x6c87de20, 0x2c216: 0x6c87e020, 0x2c217: 0x6c87e220,\n\t0x2c218: 0x6c87e420, 0x2c219: 0x6cb34820, 0x2c21a: 0x6cb34a20, 0x2c21b: 0x6cb34c20,\n\t0x2c21c: 0x6ce2fa20, 0x2c21d: 0x6ce2fc20, 0x2c21e: 0x6ce2fe20, 0x2c21f: 0x6ce30020,\n\t0x2c220: 0x6ce30220, 0x2c221: 0x6d116820, 0x2c222: 0x6d3f7820, 0x2c223: 0x6d3f7a20,\n\t0x2c224: 0x6d3f7c20, 0x2c225: 0x6d3f7e20, 0x2c226: 0x6d6c6620, 0x2c227: 0x6d6c6820,\n\t0x2c228: 0x6d6c6a20, 0x2c229: 0x6d6c6c20, 0x2c22a: 0x6d959620, 0x2c22b: 0x6d959820,\n\t0x2c22c: 0x6d959a20, 0x2c22d: 0x6d959c20, 0x2c22e: 0x6db8b020, 0x2c22f: 0x6dd71e20,\n\t0x2c230: 0x6dd72020, 0x2c231: 0x6defda20, 0x2c232: 0x6e34f820, 0x2c233: 0x6c0a8c20,\n\t0x2c234: 0x6c153a20, 0x2c235: 0x6c278c20, 0x2c236: 0x6c278e20, 0x2c237: 0x6c279020,\n\t0x2c238: 0x6c417c20, 0x2c239: 0x6c417e20, 0x2c23a: 0x6c418020, 0x2c23b: 0x6c61d220,\n\t0x2c23c: 0x6c61d420, 0x2c23d: 0x6d11fc20, 0x2c23e: 0x6c61d620, 0x2c23f: 0x6c61d820,\n\t// Block 0xb09, offset 0x2c240\n\t0x2c240: 0x6c61da20, 0x2c241: 0x6c61dc20, 0x2c242: 0x6c61de20, 0x2c243: 0x6c886c20,\n\t0x2c244: 0x6c886e20, 0x2c245: 0x6c887020, 0x2c246: 0x6c887220, 0x2c247: 0x6c887420,\n\t0x2c248: 0x6d400420, 0x2c249: 0x6d400620, 0x2c24a: 0x6cb40020, 0x2c24b: 0x6cb40220,\n\t0x2c24c: 0x6cb40420, 0x2c24d: 0x6cb40620, 0x2c24e: 0x6cb40820, 0x2c24f: 0x6cb40a20,\n\t0x2c250: 0x6ce3c020, 0x2c251: 0x6ce3c220, 0x2c252: 0x6ce3c420, 0x2c253: 0x6d120020,\n\t0x2c254: 0x6d120220, 0x2c255: 0x6d120420, 0x2c256: 0x6db90420, 0x2c257: 0x6d120620,\n\t0x2c258: 0x6d400a20, 0x2c259: 0x6d400c20, 0x2c25a: 0x6d400e20, 0x2c25b: 0x6d401020,\n\t0x2c25c: 0x6d401220, 0x2c25d: 0x6d6cfa20, 0x2c25e: 0x6d6cfc20, 0x2c25f: 0x6d6cfe20,\n\t0x2c260: 0x6d6d0020, 0x2c261: 0x6d95fc20, 0x2c262: 0x6db90620, 0x2c263: 0x6e2d1620,\n\t0x2c264: 0x6e2d1820, 0x2c265: 0x6c625620, 0x2c266: 0x6c625820, 0x2c267: 0x6c88ea20,\n\t0x2c268: 0x6c88ec20, 0x2c269: 0x6cb47420, 0x2c26a: 0x6cb47620, 0x2c26b: 0x6cb47820,\n\t0x2c26c: 0x6cb47a20, 0x2c26d: 0x6cb47c20, 0x2c26e: 0x6ce42020, 0x2c26f: 0x6ce42220,\n\t0x2c270: 0x6ce42420, 0x2c271: 0x6d126a20, 0x2c272: 0x6ce42620, 0x2c273: 0x6ce42820,\n\t0x2c274: 0x6d126c20, 0x2c275: 0x6d126e20, 0x2c276: 0x6d127020, 0x2c277: 0x6d127220,\n\t0x2c278: 0x6d127420, 0x2c279: 0x6d127620, 0x2c27a: 0x6d407a20, 0x2c27b: 0x6d407c20,\n\t0x2c27c: 0x6d6d4820, 0x2c27d: 0x6d6d4a20, 0x2c27e: 0x6d6d4c20, 0x2c27f: 0x6d6d4e20,\n\t// Block 0xb0a, offset 0x2c280\n\t0x2c280: 0x6d963020, 0x2c281: 0x6d963220, 0x2c282: 0x6d963420, 0x2c283: 0x6d963620,\n\t0x2c284: 0x6d963820, 0x2c285: 0x6d963a20, 0x2c286: 0x6d963c20, 0x2c287: 0x6d963e20,\n\t0x2c288: 0x6d964020, 0x2c289: 0x6db93420, 0x2c28a: 0x6db93620, 0x2c28b: 0x6db93820,\n\t0x2c28c: 0x6db93a20, 0x2c28d: 0x6dd78020, 0x2c28e: 0x6df00a20, 0x2c28f: 0x6df00c20,\n\t0x2c290: 0x6df00e20, 0x2c291: 0x6df01020, 0x2c292: 0x6df01220, 0x2c293: 0x6e155c20,\n\t0x2c294: 0x6e155e20, 0x2c295: 0x6e22f020, 0x2c296: 0x6e22f220, 0x2c297: 0x6e34fe20,\n\t0x2c298: 0x6e350020, 0x2c299: 0x6e433820, 0x2c29a: 0x6cb4ca20, 0x2c29b: 0x6c890c20,\n\t0x2c29c: 0x6cb4d420, 0x2c29d: 0x6ce47c20, 0x2c29e: 0x6ce47e20, 0x2c29f: 0x6ce48020,\n\t0x2c2a0: 0x6ce48220, 0x2c2a1: 0x6d12c020, 0x2c2a2: 0x6d12c220, 0x2c2a3: 0x6d12c420,\n\t0x2c2a4: 0x6d40d620, 0x2c2a5: 0x6d40d820, 0x2c2a6: 0x6d40da20, 0x2c2a7: 0x6d40dc20,\n\t0x2c2a8: 0x6d40de20, 0x2c2a9: 0x6d40e020, 0x2c2aa: 0x6d40e220, 0x2c2ab: 0x6d6db220,\n\t0x2c2ac: 0x6d6db420, 0x2c2ad: 0x6d6db620, 0x2c2ae: 0x6d6db820, 0x2c2af: 0x6d6dba20,\n\t0x2c2b0: 0x6d6dbc20, 0x2c2b1: 0x6d6dbe20, 0x2c2b2: 0x6d6dc020, 0x2c2b3: 0x6d969a20,\n\t0x2c2b4: 0x6d969c20, 0x2c2b5: 0x6d969e20, 0x2c2b6: 0x6d96a020, 0x2c2b7: 0x6db9a020,\n\t0x2c2b8: 0x6db9a220, 0x2c2b9: 0x6db9a420, 0x2c2ba: 0x6db9a620, 0x2c2bb: 0x6db9a820,\n\t0x2c2bc: 0x6db9aa20, 0x2c2bd: 0x6dd7d820, 0x2c2be: 0x6dd7da20, 0x2c2bf: 0x6dd7dc20,\n\t// Block 0xb0b, offset 0x2c2c0\n\t0x2c2c0: 0x6dd7de20, 0x2c2c1: 0x6dd7e020, 0x2c2c2: 0x6dd7e220, 0x2c2c3: 0x6dd7e420,\n\t0x2c2c4: 0x6dd7e620, 0x2c2c5: 0x6dd7e820, 0x2c2c6: 0x6dd7ea20, 0x2c2c7: 0x6dd7ec20,\n\t0x2c2c8: 0x6df05620, 0x2c2c9: 0x6df05820, 0x2c2ca: 0x6df05a20, 0x2c2cb: 0x6df05c20,\n\t0x2c2cc: 0x6df05e20, 0x2c2cd: 0x6df06020, 0x2c2ce: 0x6df06220, 0x2c2cf: 0x6df06420,\n\t0x2c2d0: 0x6df06620, 0x2c2d1: 0x6df06820, 0x2c2d2: 0x6df06a20, 0x2c2d3: 0x6df06c20,\n\t0x2c2d4: 0x6e046a20, 0x2c2d5: 0x6e046c20, 0x2c2d6: 0x6e046e20, 0x2c2d7: 0x6e047020,\n\t0x2c2d8: 0x6e047220, 0x2c2d9: 0x6e047420, 0x2c2da: 0x6e047620, 0x2c2db: 0x6e047820,\n\t0x2c2dc: 0x6e047a20, 0x2c2dd: 0x6e158020, 0x2c2de: 0x6e158220, 0x2c2df: 0x6e158420,\n\t0x2c2e0: 0x6e158620, 0x2c2e1: 0x6e158820, 0x2c2e2: 0x6e158a20, 0x2c2e3: 0x6e158c20,\n\t0x2c2e4: 0x6e158e20, 0x2c2e5: 0x6e159020, 0x2c2e6: 0x6e159220, 0x2c2e7: 0x6e230620,\n\t0x2c2e8: 0x6e230820, 0x2c2e9: 0x6e230a20, 0x2c2ea: 0x6e230c20, 0x2c2eb: 0x6e230e20,\n\t0x2c2ec: 0x6e231020, 0x2c2ed: 0x6e231220, 0x2c2ee: 0x6e231420, 0x2c2ef: 0x6e2d3a20,\n\t0x2c2f0: 0x6e2d3c20, 0x2c2f1: 0x6e2d3e20, 0x2c2f2: 0x6e2d4020, 0x2c2f3: 0x6e2d4220,\n\t0x2c2f4: 0x6e2d4420, 0x2c2f5: 0x6e351620, 0x2c2f6: 0x6e351820, 0x2c2f7: 0x6e351a20,\n\t0x2c2f8: 0x6e3ab220, 0x2c2f9: 0x6e449220, 0x2c2fa: 0x6ce52420, 0x2c2fb: 0x6ce52620,\n\t0x2c2fc: 0x6ce52820, 0x2c2fd: 0x6d139e20, 0x2c2fe: 0x6d13a020, 0x2c2ff: 0x6d13a220,\n\t// Block 0xb0c, offset 0x2c300\n\t0x2c300: 0x6d41c220, 0x2c301: 0x6d6ed020, 0x2c302: 0x6dd8fa20, 0x2c303: 0x6e058c20,\n\t0x2c304: 0x6e058e20, 0x2c305: 0x6e059020, 0x2c306: 0x6e435820, 0x2c307: 0x6cb58820,\n\t0x2c308: 0x6d13f620, 0x2c309: 0x6d13f820, 0x2c30a: 0x6d41fc20, 0x2c30b: 0x6df16420,\n\t0x2c30c: 0x6cb5a620, 0x2c30d: 0x6cb5a820, 0x2c30e: 0x6ce58c20, 0x2c30f: 0x6ce58e20,\n\t0x2c310: 0x6ce59020, 0x2c311: 0x6ce59220, 0x2c312: 0x6d141820, 0x2c313: 0x6d141a20,\n\t0x2c314: 0x6d141c20, 0x2c315: 0x6d420c20, 0x2c316: 0x6d420e20, 0x2c317: 0x6d421020,\n\t0x2c318: 0x6d421220, 0x2c319: 0x6d421420, 0x2c31a: 0x6d421620, 0x2c31b: 0x6d421820,\n\t0x2c31c: 0x6d6f1c20, 0x2c31d: 0x6d6f1e20, 0x2c31e: 0x6d6f2020, 0x2c31f: 0x6d6f2220,\n\t0x2c320: 0x6d982420, 0x2c321: 0x6d982620, 0x2c322: 0x6d982820, 0x2c323: 0x6d982a20,\n\t0x2c324: 0x6d982c20, 0x2c325: 0x6d982e20, 0x2c326: 0x6d983020, 0x2c327: 0x6d983220,\n\t0x2c328: 0x6d983420, 0x2c329: 0x6dbb2620, 0x2c32a: 0x6dbb2820, 0x2c32b: 0x6dbb2a20,\n\t0x2c32c: 0x6dbb2c20, 0x2c32d: 0x6dbb2e20, 0x2c32e: 0x6dbb3020, 0x2c32f: 0x6dbb3220,\n\t0x2c330: 0x6df17420, 0x2c331: 0x6e05a020, 0x2c332: 0x6e165620, 0x2c333: 0x6e165820,\n\t0x2c334: 0x6e165a20, 0x2c335: 0x6e23a420, 0x2c336: 0x6d426220, 0x2c337: 0x6d6f8220,\n\t0x2c338: 0x6dbb8620, 0x2c339: 0x6c0ab020, 0x2c33a: 0x6c0ab220, 0x2c33b: 0x6c15a220,\n\t0x2c33c: 0x6c281e20, 0x2c33d: 0x6c282020, 0x2c33e: 0x6c89a220, 0x2c33f: 0x6c282220,\n\t// Block 0xb0d, offset 0x2c340\n\t0x2c340: 0x6c282420, 0x2c341: 0x6c421220, 0x2c342: 0x6c421420, 0x2c343: 0x6c421620,\n\t0x2c344: 0x6c62cc20, 0x2c345: 0x6c62ce20, 0x2c346: 0x6c62d020, 0x2c347: 0x6c62d220,\n\t0x2c348: 0x6c62d420, 0x2c349: 0x6c89a420, 0x2c34a: 0x6c89a620, 0x2c34b: 0x6c89a820,\n\t0x2c34c: 0x6c89aa20, 0x2c34d: 0x6c89ac20, 0x2c34e: 0x6c89ae20, 0x2c34f: 0x6c89b020,\n\t0x2c350: 0x6cb5da20, 0x2c351: 0x6cb5dc20, 0x2c352: 0x6cb5de20, 0x2c353: 0x6cb5e020,\n\t0x2c354: 0x6cb5e220, 0x2c355: 0x6cb5e420, 0x2c356: 0x6cb5e620, 0x2c357: 0x6ce5fc20,\n\t0x2c358: 0x6ce5fe20, 0x2c359: 0x6ce60020, 0x2c35a: 0x6d148020, 0x2c35b: 0x6d148220,\n\t0x2c35c: 0x6d148420, 0x2c35d: 0x6d148620, 0x2c35e: 0x6d148820, 0x2c35f: 0x6d148a20,\n\t0x2c360: 0x6d426c20, 0x2c361: 0x6d426e20, 0x2c362: 0x6d427020, 0x2c363: 0x6d427220,\n\t0x2c364: 0x6d6f8820, 0x2c365: 0x6d6f8a20, 0x2c366: 0x6d6f8c20, 0x2c367: 0x6d989220,\n\t0x2c368: 0x6d989420, 0x2c369: 0x6d6f8e20, 0x2c36a: 0x6d989620, 0x2c36b: 0x6dbb8c20,\n\t0x2c36c: 0x6dbb8e20, 0x2c36d: 0x6dbb9020, 0x2c36e: 0x6df1a220, 0x2c36f: 0x6e05da20,\n\t0x2c370: 0x6e169020, 0x2c371: 0x6c8a3020, 0x2c372: 0x6cb66020, 0x2c373: 0x6cb66220,\n\t0x2c374: 0x6ce68a20, 0x2c375: 0x6ce68c20, 0x2c376: 0x6ce68e20, 0x2c377: 0x6d14e020,\n\t0x2c378: 0x6d14e220, 0x2c379: 0x6d14e420, 0x2c37a: 0x6d14e620, 0x2c37b: 0x6d42d020,\n\t0x2c37c: 0x6d6fcc20, 0x2c37d: 0x6d6fce20, 0x2c37e: 0x6d98c820, 0x2c37f: 0x6d98ca20,\n\t// Block 0xb0e, offset 0x2c380\n\t0x2c380: 0x6d8a5620, 0x2c381: 0x6dbbb620, 0x2c382: 0x6dbbb820, 0x2c383: 0x6dd98a20,\n\t0x2c384: 0x6df1ae20, 0x2c385: 0x6e05ee20, 0x2c386: 0x6e05f020, 0x2c387: 0x6e05f220,\n\t0x2c388: 0x6e23be20, 0x2c389: 0x6e3afa20, 0x2c38a: 0x6e464620, 0x2c38b: 0x6cb67c20,\n\t0x2c38c: 0x6ce6be20, 0x2c38d: 0x6ce6c020, 0x2c38e: 0x6d151820, 0x2c38f: 0x6d430c20,\n\t0x2c390: 0x6d430e20, 0x2c391: 0x6d431020, 0x2c392: 0x6d431220, 0x2c393: 0x6d431420,\n\t0x2c394: 0x6d431620, 0x2c395: 0x6d431820, 0x2c396: 0x6d431a20, 0x2c397: 0x6d6ffc20,\n\t0x2c398: 0x6d6ffe20, 0x2c399: 0x6d700020, 0x2c39a: 0x6d990e20, 0x2c39b: 0x6d991020,\n\t0x2c39c: 0x6d991220, 0x2c39d: 0x6d991420, 0x2c39e: 0x6dbbec20, 0x2c39f: 0x6dbbee20,\n\t0x2c3a0: 0x6dbbf020, 0x2c3a1: 0x6dbbf220, 0x2c3a2: 0x6dbbf420, 0x2c3a3: 0x6dbbf620,\n\t0x2c3a4: 0x6dbbf820, 0x2c3a5: 0x6dd9be20, 0x2c3a6: 0x6dd9c020, 0x2c3a7: 0x6dd9c220,\n\t0x2c3a8: 0x6dd9c420, 0x2c3a9: 0x6dd9c620, 0x2c3aa: 0x6dd9c820, 0x2c3ab: 0x6df1d420,\n\t0x2c3ac: 0x6df1d620, 0x2c3ad: 0x6df1d820, 0x2c3ae: 0x6df1da20, 0x2c3af: 0x6df1dc20,\n\t0x2c3b0: 0x6e061a20, 0x2c3b1: 0x6e061c20, 0x2c3b2: 0x6e23d220, 0x2c3b3: 0x6e23d420,\n\t0x2c3b4: 0x6e23d620, 0x2c3b5: 0x6e2de620, 0x2c3b6: 0x6e2de820, 0x2c3b7: 0x6e358e20,\n\t0x2c3b8: 0x6e3b0220, 0x2c3b9: 0x6e416620, 0x2c3ba: 0x6e46f020, 0x2c3bb: 0x6e473e20,\n\t0x2c3bc: 0x6e240c20, 0x2c3bd: 0x6cb69c20, 0x2c3be: 0x6cb69e20, 0x2c3bf: 0x6ce6fe20,\n\t// Block 0xb0f, offset 0x2c3c0\n\t0x2c3c0: 0x6d705020, 0x2c3c1: 0x6e067220, 0x2c3c2: 0x6d156820, 0x2c3c3: 0x6d156a20,\n\t0x2c3c4: 0x6d156c20, 0x2c3c5: 0x6d435c20, 0x2c3c6: 0x6d435e20, 0x2c3c7: 0x6d436020,\n\t0x2c3c8: 0x6d998620, 0x2c3c9: 0x6d998820, 0x2c3ca: 0x6dbc5620, 0x2c3cb: 0x6e067c20,\n\t0x2c3cc: 0x6e16f020, 0x2c3cd: 0x6e16f220, 0x2c3ce: 0x6e240e20, 0x2c3cf: 0x6e35b420,\n\t0x2c3d0: 0x6ce71820, 0x2c3d1: 0x6ce71a20, 0x2c3d2: 0x6ce71c20, 0x2c3d3: 0x6d157c20,\n\t0x2c3d4: 0x6d157e20, 0x2c3d5: 0x6d158020, 0x2c3d6: 0x6d158220, 0x2c3d7: 0x6d158420,\n\t0x2c3d8: 0x6d158620, 0x2c3d9: 0x6d437e20, 0x2c3da: 0x6d438020, 0x2c3db: 0x6d438220,\n\t0x2c3dc: 0x6d438420, 0x2c3dd: 0x6d438620, 0x2c3de: 0x6d438820, 0x2c3df: 0x6d707220,\n\t0x2c3e0: 0x6d99a220, 0x2c3e1: 0x6d99a420, 0x2c3e2: 0x6d99a620, 0x2c3e3: 0x6d99a820,\n\t0x2c3e4: 0x6d99aa20, 0x2c3e5: 0x6d99ac20, 0x2c3e6: 0x6d99ae20, 0x2c3e7: 0x6d99b020,\n\t0x2c3e8: 0x6dbc6620, 0x2c3e9: 0x6dbc6820, 0x2c3ea: 0x6dbc6a20, 0x2c3eb: 0x6dbc6c20,\n\t0x2c3ec: 0x6dbc6e20, 0x2c3ed: 0x6dbc7020, 0x2c3ee: 0x6dbc7220, 0x2c3ef: 0x6dda3020,\n\t0x2c3f0: 0x6dda3220, 0x2c3f1: 0x6dda3420, 0x2c3f2: 0x6dda3620, 0x2c3f3: 0x6dda3820,\n\t0x2c3f4: 0x6dda3a20, 0x2c3f5: 0x6dda3c20, 0x2c3f6: 0x6df24220, 0x2c3f7: 0x6df24420,\n\t0x2c3f8: 0x6df24620, 0x2c3f9: 0x6df24820, 0x2c3fa: 0x6df24a20, 0x2c3fb: 0x6df24c20,\n\t0x2c3fc: 0x6e068a20, 0x2c3fd: 0x6e068c20, 0x2c3fe: 0x6e068e20, 0x2c3ff: 0x6e170a20,\n\t// Block 0xb10, offset 0x2c400\n\t0x2c400: 0x6e170c20, 0x2c401: 0x6e170e20, 0x2c402: 0x6e171020, 0x2c403: 0x6e171220,\n\t0x2c404: 0x6e171420, 0x2c405: 0x6e241420, 0x2c406: 0x6e241620, 0x2c407: 0x6e2e0a20,\n\t0x2c408: 0x6e2e0c20, 0x2c409: 0x6e35ba20, 0x2c40a: 0x6e3b2020, 0x2c40b: 0x6e3b2220,\n\t0x2c40c: 0x6e3edc20, 0x2c40d: 0x6e3ede20, 0x2c40e: 0x6e417620, 0x2c40f: 0x6d15c620,\n\t0x2c410: 0x6d43d820, 0x2c411: 0x6d43da20, 0x2c412: 0x6d43dc20, 0x2c413: 0x6d43de20,\n\t0x2c414: 0x6d99ec20, 0x2c415: 0x6dbcc420, 0x2c416: 0x6ddaa420, 0x2c417: 0x6ddaa620,\n\t0x2c418: 0x6ddaa820, 0x2c419: 0x6df2a420, 0x2c41a: 0x6df2a620, 0x2c41b: 0x6e174020,\n\t0x2c41c: 0x6e244620, 0x2c41d: 0x6e2e2c20, 0x2c41e: 0x6d15de20, 0x2c41f: 0x6d70e020,\n\t0x2c420: 0x6dbce820, 0x2c421: 0x6df2c220, 0x2c422: 0x6df2c420, 0x2c423: 0x6e06ea20,\n\t0x2c424: 0x6e175620, 0x2c425: 0x6e2e3620, 0x2c426: 0x6ce73c20, 0x2c427: 0x6ce73e20,\n\t0x2c428: 0x6ce74020, 0x2c429: 0x6d15e620, 0x2c42a: 0x6d440220, 0x2c42b: 0x6d9a0820,\n\t0x2c42c: 0x6d9a0a20, 0x2c42d: 0x6ddaca20, 0x2c42e: 0x6df2cc20, 0x2c42f: 0x6df2ce20,\n\t0x2c430: 0x6e245c20, 0x2c431: 0x6ce74420, 0x2c432: 0x6ce74620, 0x2c433: 0x6d15f420,\n\t0x2c434: 0x6d15f620, 0x2c435: 0x6d15f820, 0x2c436: 0x6d441420, 0x2c437: 0x6d441620,\n\t0x2c438: 0x6d441820, 0x2c439: 0x6d441a20, 0x2c43a: 0x6d441c20, 0x2c43b: 0x6d441e20,\n\t0x2c43c: 0x6d442020, 0x2c43d: 0x6d442220, 0x2c43e: 0x6d442420, 0x2c43f: 0x6d70f820,\n\t// Block 0xb11, offset 0x2c440\n\t0x2c440: 0x6d70fa20, 0x2c441: 0x6d70fc20, 0x2c442: 0x6d70fe20, 0x2c443: 0x6d9a1a20,\n\t0x2c444: 0x6d9a1c20, 0x2c445: 0x6d9a1e20, 0x2c446: 0x6d9a2020, 0x2c447: 0x6d9a2220,\n\t0x2c448: 0x6d9a2420, 0x2c449: 0x6d9a2620, 0x2c44a: 0x6d9a2820, 0x2c44b: 0x6dbcfa20,\n\t0x2c44c: 0x6dbcfc20, 0x2c44d: 0x6dbcfe20, 0x2c44e: 0x6dbd0020, 0x2c44f: 0x6dbd0220,\n\t0x2c450: 0x6dbd0420, 0x2c451: 0x6dbd0620, 0x2c452: 0x6dbd0820, 0x2c453: 0x6dbd0a20,\n\t0x2c454: 0x6ddadc20, 0x2c455: 0x6ddade20, 0x2c456: 0x6ddae020, 0x2c457: 0x6ddae220,\n\t0x2c458: 0x6ddae420, 0x2c459: 0x6ddae620, 0x2c45a: 0x6ddae820, 0x2c45b: 0x6ddaea20,\n\t0x2c45c: 0x6ddaec20, 0x2c45d: 0x6ddaee20, 0x2c45e: 0x6df2dc20, 0x2c45f: 0x6df2de20,\n\t0x2c460: 0x6df2e020, 0x2c461: 0x6df2e220, 0x2c462: 0x6df2e420, 0x2c463: 0x6df2e620,\n\t0x2c464: 0x6df2e820, 0x2c465: 0x6df2ea20, 0x2c466: 0x6df2ec20, 0x2c467: 0x6df2ee20,\n\t0x2c468: 0x6e070620, 0x2c469: 0x6e070820, 0x2c46a: 0x6e070a20, 0x2c46b: 0x6e070c20,\n\t0x2c46c: 0x6e176620, 0x2c46d: 0x6e176820, 0x2c46e: 0x6e176a20, 0x2c46f: 0x6e176c20,\n\t0x2c470: 0x6e176e20, 0x2c471: 0x6e177020, 0x2c472: 0x6e246820, 0x2c473: 0x6e246a20,\n\t0x2c474: 0x6e246c20, 0x2c475: 0x6e35da20, 0x2c476: 0x6e35dc20, 0x2c477: 0x6e3b3620,\n\t0x2c478: 0x6cb6cc20, 0x2c479: 0x6ce77820, 0x2c47a: 0x6d165020, 0x2c47b: 0x6d165220,\n\t0x2c47c: 0x6d165420, 0x2c47d: 0x6d165620, 0x2c47e: 0x6d447e20, 0x2c47f: 0x6d448020,\n\t// Block 0xb12, offset 0x2c480\n\t0x2c480: 0x6d448220, 0x2c481: 0x6d448420, 0x2c482: 0x6d448620, 0x2c483: 0x6d448820,\n\t0x2c484: 0x6d716c20, 0x2c485: 0x6d716e20, 0x2c486: 0x6d9abc20, 0x2c487: 0x6d9abe20,\n\t0x2c488: 0x6d9ac020, 0x2c489: 0x6d9ac220, 0x2c48a: 0x6d9ac420, 0x2c48b: 0x6dbd6c20,\n\t0x2c48c: 0x6dbd6e20, 0x2c48d: 0x6dbd7020, 0x2c48e: 0x6dbd7220, 0x2c48f: 0x6dbd7420,\n\t0x2c490: 0x6dbd7620, 0x2c491: 0x6ddb4220, 0x2c492: 0x6ddb4420, 0x2c493: 0x6ddb4620,\n\t0x2c494: 0x6ddb4820, 0x2c495: 0x6ddb4a20, 0x2c496: 0x6ddb4c20, 0x2c497: 0x6ddb4e20,\n\t0x2c498: 0x6df33c20, 0x2c499: 0x6df33e20, 0x2c49a: 0x6df34020, 0x2c49b: 0x6e074a20,\n\t0x2c49c: 0x6e074c20, 0x2c49d: 0x6e17ae20, 0x2c49e: 0x6e2e6e20, 0x2c49f: 0x6e35f220,\n\t0x2c4a0: 0x6dbdbc20, 0x2c4a1: 0x6ddb8620, 0x2c4a2: 0x6cb6d620, 0x2c4a3: 0x6ce79820,\n\t0x2c4a4: 0x6ce79a20, 0x2c4a5: 0x6ce79c20, 0x2c4a6: 0x6d168a20, 0x2c4a7: 0x6d168c20,\n\t0x2c4a8: 0x6d168e20, 0x2c4a9: 0x6d169020, 0x2c4aa: 0x6d169220, 0x2c4ab: 0x6d44c220,\n\t0x2c4ac: 0x6d44c420, 0x2c4ad: 0x6d44c620, 0x2c4ae: 0x6d44c820, 0x2c4af: 0x6d44ca20,\n\t0x2c4b0: 0x6d44cc20, 0x2c4b1: 0x6d44ce20, 0x2c4b2: 0x6d44d020, 0x2c4b3: 0x6d44d220,\n\t0x2c4b4: 0x6d44d420, 0x2c4b5: 0x6d719820, 0x2c4b6: 0x6d719a20, 0x2c4b7: 0x6d719c20,\n\t0x2c4b8: 0x6d719e20, 0x2c4b9: 0x6d71a020, 0x2c4ba: 0x6d71a220, 0x2c4bb: 0x6d71a420,\n\t0x2c4bc: 0x6d9afa20, 0x2c4bd: 0x6d9afc20, 0x2c4be: 0x6d9afe20, 0x2c4bf: 0x6d9b0020,\n\t// Block 0xb13, offset 0x2c4c0\n\t0x2c4c0: 0x6d9b0220, 0x2c4c1: 0x6d9b0420, 0x2c4c2: 0x6d9b0620, 0x2c4c3: 0x6dbdc020,\n\t0x2c4c4: 0x6dbdc220, 0x2c4c5: 0x6dbdc420, 0x2c4c6: 0x6dbdc620, 0x2c4c7: 0x6dbdc820,\n\t0x2c4c8: 0x6ddb8a20, 0x2c4c9: 0x6ddb8c20, 0x2c4ca: 0x6ddb8e20, 0x2c4cb: 0x6ddb9020,\n\t0x2c4cc: 0x6ddb9220, 0x2c4cd: 0x6ddb9420, 0x2c4ce: 0x6ddb9620, 0x2c4cf: 0x6ddb9820,\n\t0x2c4d0: 0x6df37e20, 0x2c4d1: 0x6df38020, 0x2c4d2: 0x6df38220, 0x2c4d3: 0x6df38420,\n\t0x2c4d4: 0x6df38620, 0x2c4d5: 0x6e076e20, 0x2c4d6: 0x6e077020, 0x2c4d7: 0x6e077220,\n\t0x2c4d8: 0x6e17e220, 0x2c4d9: 0x6e17e420, 0x2c4da: 0x6e17e620, 0x2c4db: 0x6e17e820,\n\t0x2c4dc: 0x6e17ea20, 0x2c4dd: 0x6e24a620, 0x2c4de: 0x6e24a820, 0x2c4df: 0x6e24aa20,\n\t0x2c4e0: 0x6e24ac20, 0x2c4e1: 0x6e2e7a20, 0x2c4e2: 0x6e2e7c20, 0x2c4e3: 0x6e2e7e20,\n\t0x2c4e4: 0x6e2e8020, 0x2c4e5: 0x6e360020, 0x2c4e6: 0x6e3f0420, 0x2c4e7: 0x6e3f0620,\n\t0x2c4e8: 0x6e419620, 0x2c4e9: 0x6e437420, 0x2c4ea: 0x6e182020, 0x2c4eb: 0x6d720820,\n\t0x2c4ec: 0x6d720a20, 0x2c4ed: 0x6ddbfa20, 0x2c4ee: 0x6df3e420, 0x2c4ef: 0x6d453420,\n\t0x2c4f0: 0x6dbe5020, 0x2c4f1: 0x6dbe5220, 0x2c4f2: 0x6dbe5420, 0x2c4f3: 0x6e419e20,\n\t0x2c4f4: 0x6ce7f020, 0x2c4f5: 0x6d171020, 0x2c4f6: 0x6d171220, 0x2c4f7: 0x6d454820,\n\t0x2c4f8: 0x6d454a20, 0x2c4f9: 0x6d454c20, 0x2c4fa: 0x6d454e20, 0x2c4fb: 0x6d455020,\n\t0x2c4fc: 0x6d455220, 0x2c4fd: 0x6d455420, 0x2c4fe: 0x6d455620, 0x2c4ff: 0x6d722420,\n\t// Block 0xb14, offset 0x2c500\n\t0x2c500: 0x6d722620, 0x2c501: 0x6d722820, 0x2c502: 0x6d722a20, 0x2c503: 0x6d722c20,\n\t0x2c504: 0x6d722e20, 0x2c505: 0x6d723020, 0x2c506: 0x6d9baa20, 0x2c507: 0x6d9bac20,\n\t0x2c508: 0x6d9bae20, 0x2c509: 0x6d9bb020, 0x2c50a: 0x6d9bb220, 0x2c50b: 0x6d9bb420,\n\t0x2c50c: 0x6d9bb620, 0x2c50d: 0x6d9bb820, 0x2c50e: 0x6dbe6620, 0x2c50f: 0x6dbe6820,\n\t0x2c510: 0x6dbe6a20, 0x2c511: 0x6dbe6c20, 0x2c512: 0x6dbe6e20, 0x2c513: 0x6ddc1620,\n\t0x2c514: 0x6ddc1820, 0x2c515: 0x6ddc1a20, 0x2c516: 0x6ddc1c20, 0x2c517: 0x6ddc1e20,\n\t0x2c518: 0x6ddc2020, 0x2c519: 0x6ddc2220, 0x2c51a: 0x6ddc2420, 0x2c51b: 0x6ddc2620,\n\t0x2c51c: 0x6df3fc20, 0x2c51d: 0x6df3fe20, 0x2c51e: 0x6df40020, 0x2c51f: 0x6df40220,\n\t0x2c520: 0x6df40420, 0x2c521: 0x6df40620, 0x2c522: 0x6df40820, 0x2c523: 0x6e07d820,\n\t0x2c524: 0x6e07da20, 0x2c525: 0x6e07dc20, 0x2c526: 0x6e07de20, 0x2c527: 0x6e07e020,\n\t0x2c528: 0x6e07e220, 0x2c529: 0x6e07e420, 0x2c52a: 0x6e183220, 0x2c52b: 0x6e183420,\n\t0x2c52c: 0x6e183620, 0x2c52d: 0x6e183820, 0x2c52e: 0x6e183a20, 0x2c52f: 0x6e183c20,\n\t0x2c530: 0x6e183e20, 0x2c531: 0x6e184020, 0x2c532: 0x6e24e420, 0x2c533: 0x6e24e620,\n\t0x2c534: 0x6e24e820, 0x2c535: 0x6e24ea20, 0x2c536: 0x6e24ec20, 0x2c537: 0x6e2e9e20,\n\t0x2c538: 0x6e2ea020, 0x2c539: 0x6e2ea220, 0x2c53a: 0x6e361c20, 0x2c53b: 0x6e361e20,\n\t0x2c53c: 0x6e362020, 0x2c53d: 0x6e3b5620, 0x2c53e: 0x6e3f1220, 0x2c53f: 0x6e41a220,\n\t// Block 0xb15, offset 0x2c540\n\t0x2c540: 0x6e437820, 0x2c541: 0x6e44c020, 0x2c542: 0x6e46b820, 0x2c543: 0x6d9c3020,\n\t0x2c544: 0x6dbec220, 0x2c545: 0x6e086c20, 0x2c546: 0x6cb72e20, 0x2c547: 0x6ce82a20,\n\t0x2c548: 0x6d45b820, 0x2c549: 0x6d45ba20, 0x2c54a: 0x6d72b220, 0x2c54b: 0x6d72b420,\n\t0x2c54c: 0x6d72b620, 0x2c54d: 0x6d72b820, 0x2c54e: 0x6d72ba20, 0x2c54f: 0x6d9c3620,\n\t0x2c550: 0x6d9c3820, 0x2c551: 0x6d9c3a20, 0x2c552: 0x6d9c3c20, 0x2c553: 0x6d9c3e20,\n\t0x2c554: 0x6d9c4020, 0x2c555: 0x6dbec620, 0x2c556: 0x6dbec820, 0x2c557: 0x6dbeca20,\n\t0x2c558: 0x6dbecc20, 0x2c559: 0x6dbece20, 0x2c55a: 0x6dbed020, 0x2c55b: 0x6ddca820,\n\t0x2c55c: 0x6ddcaa20, 0x2c55d: 0x6df48420, 0x2c55e: 0x6df48620, 0x2c55f: 0x6df48820,\n\t0x2c560: 0x6df48a20, 0x2c561: 0x6e087420, 0x2c562: 0x6e189220, 0x2c563: 0x6e254420,\n\t0x2c564: 0x6e2ee420, 0x2c565: 0x6e364220, 0x2c566: 0x6e3b7220, 0x2c567: 0x6ce83e20,\n\t0x2c568: 0x6d177220, 0x2c569: 0x6d45e420, 0x2c56a: 0x6df4a420, 0x2c56b: 0x6e256220,\n\t0x2c56c: 0x6e3b7e20, 0x2c56d: 0x6ce84220, 0x2c56e: 0x6ce84420, 0x2c56f: 0x6d45fa20,\n\t0x2c570: 0x6d45fc20, 0x2c571: 0x6d45fe20, 0x2c572: 0x6d460020, 0x2c573: 0x6d460220,\n\t0x2c574: 0x6d460420, 0x2c575: 0x6d72ee20, 0x2c576: 0x6d72f020, 0x2c577: 0x6d9c7c20,\n\t0x2c578: 0x6d9c7e20, 0x2c579: 0x6dbf0c20, 0x2c57a: 0x6dbf0e20, 0x2c57b: 0x6dbf1020,\n\t0x2c57c: 0x6dbf1220, 0x2c57d: 0x6ddce420, 0x2c57e: 0x6ddce620, 0x2c57f: 0x6ddce820,\n\t// Block 0xb16, offset 0x2c580\n\t0x2c580: 0x6ddcea20, 0x2c581: 0x6ddcec20, 0x2c582: 0x6ddcee20, 0x2c583: 0x6ddcf020,\n\t0x2c584: 0x6df4aa20, 0x2c585: 0x6df4ac20, 0x2c586: 0x6df4ae20, 0x2c587: 0x6df4b020,\n\t0x2c588: 0x6e08aa20, 0x2c589: 0x6e08ac20, 0x2c58a: 0x6e08ae20, 0x2c58b: 0x6e08b020,\n\t0x2c58c: 0x6e18b020, 0x2c58d: 0x6e18b220, 0x2c58e: 0x6e256a20, 0x2c58f: 0x6e365420,\n\t0x2c590: 0x6e365620, 0x2c591: 0x6e365820, 0x2c592: 0x6e365a20, 0x2c593: 0x6e3b8220,\n\t0x2c594: 0x6e3b8420, 0x2c595: 0x6e3f3020, 0x2c596: 0x6e44c820, 0x2c597: 0x6e08ec20,\n\t0x2c598: 0x6e18e820, 0x2c599: 0x6d464420, 0x2c59a: 0x6d464620, 0x2c59b: 0x6d734c20,\n\t0x2c59c: 0x6d9cc620, 0x2c59d: 0x6e25ac20, 0x2c59e: 0x6e3b9c20, 0x2c59f: 0x6d464e20,\n\t0x2c5a0: 0x6d735420, 0x2c5a1: 0x6d735620, 0x2c5a2: 0x6d9cda20, 0x2c5a3: 0x6d9cdc20,\n\t0x2c5a4: 0x6ddd4e20, 0x2c5a5: 0x6ddd5020, 0x2c5a6: 0x6ddd5220, 0x2c5a7: 0x6ddd5420,\n\t0x2c5a8: 0x6df50420, 0x2c5a9: 0x6df50620, 0x2c5aa: 0x6e090020, 0x2c5ab: 0x6e25b820,\n\t0x2c5ac: 0x6e25ba20, 0x2c5ad: 0x6e25bc20, 0x2c5ae: 0x6e2f3420, 0x2c5af: 0x6e368620,\n\t0x2c5b0: 0x6e368820, 0x2c5b1: 0x6e46ba20, 0x2c5b2: 0x6ce86c20, 0x2c5b3: 0x6d17c420,\n\t0x2c5b4: 0x6d468c20, 0x2c5b5: 0x6d468e20, 0x2c5b6: 0x6d469020, 0x2c5b7: 0x6d738620,\n\t0x2c5b8: 0x6d738820, 0x2c5b9: 0x6d738a20, 0x2c5ba: 0x6d738c20, 0x2c5bb: 0x6d738e20,\n\t0x2c5bc: 0x6d739020, 0x2c5bd: 0x6d739220, 0x2c5be: 0x6d739420, 0x2c5bf: 0x6d9d0e20,\n\t// Block 0xb17, offset 0x2c5c0\n\t0x2c5c0: 0x6d9d1020, 0x2c5c1: 0x6d9d1220, 0x2c5c2: 0x6d9d1420, 0x2c5c3: 0x6d9d1620,\n\t0x2c5c4: 0x6d9d1820, 0x2c5c5: 0x6d9d1a20, 0x2c5c6: 0x6d9d1c20, 0x2c5c7: 0x6d9d1e20,\n\t0x2c5c8: 0x6d9d2020, 0x2c5c9: 0x6d9d2220, 0x2c5ca: 0x6dbf9220, 0x2c5cb: 0x6dbf9420,\n\t0x2c5cc: 0x6dbf9620, 0x2c5cd: 0x6dbf9820, 0x2c5ce: 0x6dbf9a20, 0x2c5cf: 0x6ddd8420,\n\t0x2c5d0: 0x6ddd8620, 0x2c5d1: 0x6ddd8820, 0x2c5d2: 0x6ddd8a20, 0x2c5d3: 0x6ddd8c20,\n\t0x2c5d4: 0x6ddd8e20, 0x2c5d5: 0x6ddd9020, 0x2c5d6: 0x6ddd9220, 0x2c5d7: 0x6ddd9420,\n\t0x2c5d8: 0x6ddd9620, 0x2c5d9: 0x6df51e20, 0x2c5da: 0x6df52020, 0x2c5db: 0x6df52220,\n\t0x2c5dc: 0x6df52420, 0x2c5dd: 0x6df52620, 0x2c5de: 0x6df52820, 0x2c5df: 0x6df52a20,\n\t0x2c5e0: 0x6df52c20, 0x2c5e1: 0x6df52e20, 0x2c5e2: 0x6df53020, 0x2c5e3: 0x6df53220,\n\t0x2c5e4: 0x6df53420, 0x2c5e5: 0x6df53620, 0x2c5e6: 0x6df53820, 0x2c5e7: 0x6df53a20,\n\t0x2c5e8: 0x6df53c20, 0x2c5e9: 0x6df53e20, 0x2c5ea: 0x6df54020, 0x2c5eb: 0x6e091e20,\n\t0x2c5ec: 0x6e092020, 0x2c5ed: 0x6e092220, 0x2c5ee: 0x6e092420, 0x2c5ef: 0x6e092620,\n\t0x2c5f0: 0x6e092820, 0x2c5f1: 0x6e092a20, 0x2c5f2: 0x6e092c20, 0x2c5f3: 0x6e092e20,\n\t0x2c5f4: 0x6e093020, 0x2c5f5: 0x6e193420, 0x2c5f6: 0x6e193620, 0x2c5f7: 0x6e193820,\n\t0x2c5f8: 0x6e193a20, 0x2c5f9: 0x6e193c20, 0x2c5fa: 0x6e193e20, 0x2c5fb: 0x6e194020,\n\t0x2c5fc: 0x6e194220, 0x2c5fd: 0x6e194420, 0x2c5fe: 0x6e25c820, 0x2c5ff: 0x6e25ca20,\n\t// Block 0xb18, offset 0x2c600\n\t0x2c600: 0x6e25cc20, 0x2c601: 0x6e25ce20, 0x2c602: 0x6e25d020, 0x2c603: 0x6e25d220,\n\t0x2c604: 0x6e25d420, 0x2c605: 0x6e25d620, 0x2c606: 0x6e25d820, 0x2c607: 0x6e25da20,\n\t0x2c608: 0x6e25dc20, 0x2c609: 0x6e2f4820, 0x2c60a: 0x6e2f4a20, 0x2c60b: 0x6e2f4c20,\n\t0x2c60c: 0x6e2f4e20, 0x2c60d: 0x6e2f5020, 0x2c60e: 0x6e2f5220, 0x2c60f: 0x6e2f5420,\n\t0x2c610: 0x6e369a20, 0x2c611: 0x6e369c20, 0x2c612: 0x6e369e20, 0x2c613: 0x6e36a020,\n\t0x2c614: 0x6e36a220, 0x2c615: 0x6e36a420, 0x2c616: 0x6e3ba620, 0x2c617: 0x6e3ba820,\n\t0x2c618: 0x6e3baa20, 0x2c619: 0x6e3f5220, 0x2c61a: 0x6e41d620, 0x2c61b: 0x6e41d820,\n\t0x2c61c: 0x6e473220, 0x2c61d: 0x6d740a20, 0x2c61e: 0x6d9dac20, 0x2c61f: 0x6d9dae20,\n\t0x2c620: 0x6e09e820, 0x2c621: 0x6e09ea20, 0x2c622: 0x6e19f220, 0x2c623: 0x6e19f420,\n\t0x2c624: 0x6e19f620, 0x2c625: 0x6d180620, 0x2c626: 0x6d46e820, 0x2c627: 0x6d46ea20,\n\t0x2c628: 0x6d46ec20, 0x2c629: 0x6d46ee20, 0x2c62a: 0x6d46f020, 0x2c62b: 0x6d46f220,\n\t0x2c62c: 0x6d743620, 0x2c62d: 0x6d743820, 0x2c62e: 0x6d743a20, 0x2c62f: 0x6d743c20,\n\t0x2c630: 0x6d743e20, 0x2c631: 0x6d744020, 0x2c632: 0x6d744220, 0x2c633: 0x6d744420,\n\t0x2c634: 0x6d744620, 0x2c635: 0x6d744820, 0x2c636: 0x6d744a20, 0x2c637: 0x6d744c20,\n\t0x2c638: 0x6d744e20, 0x2c639: 0x6d9de220, 0x2c63a: 0x6d9de420, 0x2c63b: 0x6d9de620,\n\t0x2c63c: 0x6d9de820, 0x2c63d: 0x6d9dea20, 0x2c63e: 0x6d9dec20, 0x2c63f: 0x6d9dee20,\n\t// Block 0xb19, offset 0x2c640\n\t0x2c640: 0x6d9df020, 0x2c641: 0x6d9df220, 0x2c642: 0x6d9df420, 0x2c643: 0x6d9df620,\n\t0x2c644: 0x6d9df820, 0x2c645: 0x6d9dfa20, 0x2c646: 0x6d9dfc20, 0x2c647: 0x6d9dfe20,\n\t0x2c648: 0x6d9e0020, 0x2c649: 0x6d9e0220, 0x2c64a: 0x6d9e0420, 0x2c64b: 0x6dc06c20,\n\t0x2c64c: 0x6dc06e20, 0x2c64d: 0x6dc07020, 0x2c64e: 0x6dc07220, 0x2c64f: 0x6dc07420,\n\t0x2c650: 0x6dc07620, 0x2c651: 0x6dc07820, 0x2c652: 0x6dc07a20, 0x2c653: 0x6dc07c20,\n\t0x2c654: 0x6dc07e20, 0x2c655: 0x6dde3e20, 0x2c656: 0x6dde4020, 0x2c657: 0x6dde4220,\n\t0x2c658: 0x6dde4420, 0x2c659: 0x6dde4620, 0x2c65a: 0x6dde4820, 0x2c65b: 0x6dde4a20,\n\t0x2c65c: 0x6dde4c20, 0x2c65d: 0x6df63a20, 0x2c65e: 0x6df63c20, 0x2c65f: 0x6df63e20,\n\t0x2c660: 0x6df64020, 0x2c661: 0x6df64220, 0x2c662: 0x6df64420, 0x2c663: 0x6df64620,\n\t0x2c664: 0x6df64820, 0x2c665: 0x6df64a20, 0x2c666: 0x6e09f820, 0x2c667: 0x6e09fa20,\n\t0x2c668: 0x6e09fc20, 0x2c669: 0x6e09fe20, 0x2c66a: 0x6e0a0020, 0x2c66b: 0x6e0a0220,\n\t0x2c66c: 0x6e0a0420, 0x2c66d: 0x6e0a0620, 0x2c66e: 0x6e0a0820, 0x2c66f: 0x6e0a0a20,\n\t0x2c670: 0x6e0a0c20, 0x2c671: 0x6e1a0420, 0x2c672: 0x6e1a0620, 0x2c673: 0x6e1a0820,\n\t0x2c674: 0x6e1a0a20, 0x2c675: 0x6e1a0c20, 0x2c676: 0x6e1a0e20, 0x2c677: 0x6e267820,\n\t0x2c678: 0x6e267a20, 0x2c679: 0x6e267c20, 0x2c67a: 0x6e267e20, 0x2c67b: 0x6e268020,\n\t0x2c67c: 0x6e268220, 0x2c67d: 0x6e268420, 0x2c67e: 0x6e2fe020, 0x2c67f: 0x6e2fe220,\n\t// Block 0xb1a, offset 0x2c680\n\t0x2c680: 0x6e2fe420, 0x2c681: 0x6e2fe620, 0x2c682: 0x6e2fe820, 0x2c683: 0x6e2fea20,\n\t0x2c684: 0x6e2fec20, 0x2c685: 0x6e2fee20, 0x2c686: 0x6e2ff020, 0x2c687: 0x6e371820,\n\t0x2c688: 0x6e371a20, 0x2c689: 0x6e371c20, 0x2c68a: 0x6e371e20, 0x2c68b: 0x6e372020,\n\t0x2c68c: 0x6e3be620, 0x2c68d: 0x6e3be820, 0x2c68e: 0x6e3f8620, 0x2c68f: 0x6e41f820,\n\t0x2c690: 0x6e45fe20, 0x2c691: 0x6e46bc20, 0x2c692: 0x6e46d420, 0x2c693: 0x6d74de20,\n\t0x2c694: 0x6dc13420, 0x2c695: 0x6dc13620, 0x2c696: 0x6df72e20, 0x2c697: 0x6e0ad420,\n\t0x2c698: 0x6e1ac220, 0x2c699: 0x6e378a20, 0x2c69a: 0x6d74fe20, 0x2c69b: 0x6ddef020,\n\t0x2c69c: 0x6e1ac420, 0x2c69d: 0x6e30a820, 0x2c69e: 0x6e3c3220, 0x2c69f: 0x6d474a20,\n\t0x2c6a0: 0x6d750c20, 0x2c6a1: 0x6d750e20, 0x2c6a2: 0x6d751020, 0x2c6a3: 0x6d9edc20,\n\t0x2c6a4: 0x6d9ede20, 0x2c6a5: 0x6d9ee020, 0x2c6a6: 0x6ddefa20, 0x2c6a7: 0x6df74620,\n\t0x2c6a8: 0x6e1ad420, 0x2c6a9: 0x6e274220, 0x2c6aa: 0x6e379620, 0x2c6ab: 0x6e379820,\n\t0x2c6ac: 0x6d475020, 0x2c6ad: 0x6d475220, 0x2c6ae: 0x6d475420, 0x2c6af: 0x6d753020,\n\t0x2c6b0: 0x6d753220, 0x2c6b1: 0x6d9efe20, 0x2c6b2: 0x6d9f0020, 0x2c6b3: 0x6d9f0220,\n\t0x2c6b4: 0x6d9f0420, 0x2c6b5: 0x6dc16e20, 0x2c6b6: 0x6ddf2820, 0x2c6b7: 0x6ddf2a20,\n\t0x2c6b8: 0x6ddf2c20, 0x2c6b9: 0x6df76a20, 0x2c6ba: 0x6df76c20, 0x2c6bb: 0x6df76e20,\n\t0x2c6bc: 0x6df77020, 0x2c6bd: 0x6df77220, 0x2c6be: 0x6e1ae420, 0x2c6bf: 0x6e1ae620,\n\t// Block 0xb1b, offset 0x2c6c0\n\t0x2c6c0: 0x6e1ae820, 0x2c6c1: 0x6e275020, 0x2c6c2: 0x6e275220, 0x2c6c3: 0x6e30c820,\n\t0x2c6c4: 0x6e37a420, 0x2c6c5: 0x6e275420, 0x2c6c6: 0x6e3c4820, 0x2c6c7: 0x6d756220,\n\t0x2c6c8: 0x6e0b2620, 0x2c6c9: 0x6e0b2820, 0x2c6ca: 0x6d9f3220, 0x2c6cb: 0x6ddf5820,\n\t0x2c6cc: 0x6df7a420, 0x2c6cd: 0x6e0b3020, 0x2c6ce: 0x6e1afe20, 0x2c6cf: 0x6e30de20,\n\t0x2c6d0: 0x6e37b620, 0x2c6d1: 0x6d757e20, 0x2c6d2: 0x6d9f3a20, 0x2c6d3: 0x6d9f3c20,\n\t0x2c6d4: 0x6e0b3e20, 0x2c6d5: 0x6e0b4020, 0x2c6d6: 0x6e0b4220, 0x2c6d7: 0x6e1b0c20,\n\t0x2c6d8: 0x6e1b0e20, 0x2c6d9: 0x6e1b1020, 0x2c6da: 0x6e278220, 0x2c6db: 0x6e30e620,\n\t0x2c6dc: 0x6e3c4e20, 0x2c6dd: 0x6d187020, 0x2c6de: 0x6d477220, 0x2c6df: 0x6d758620,\n\t0x2c6e0: 0x6dc1bc20, 0x2c6e1: 0x6d9f4a20, 0x2c6e2: 0x6dc1be20, 0x2c6e3: 0x6dc1c020,\n\t0x2c6e4: 0x6ddf6a20, 0x2c6e5: 0x6ddf6c20, 0x2c6e6: 0x6ddf6e20, 0x2c6e7: 0x6ddf7020,\n\t0x2c6e8: 0x6df7c220, 0x2c6e9: 0x6df7c420, 0x2c6ea: 0x6e0b4e20, 0x2c6eb: 0x6e0b5020,\n\t0x2c6ec: 0x6e0b5220, 0x2c6ed: 0x6e1b1a20, 0x2c6ee: 0x6e1b1c20, 0x2c6ef: 0x6e1b1e20,\n\t0x2c6f0: 0x6e30f020, 0x2c6f1: 0x6e37c020, 0x2c6f2: 0x6e3c5220, 0x2c6f3: 0x6e3c5420,\n\t0x2c6f4: 0x6e3c5620, 0x2c6f5: 0x6e3fc620, 0x2c6f6: 0x6ddf8c20, 0x2c6f7: 0x6df7e220,\n\t0x2c6f8: 0x6e27ae20, 0x2c6f9: 0x6e37e420, 0x2c6fa: 0x6d9f7620, 0x2c6fb: 0x6e37e820,\n\t0x2c6fc: 0x6e37ea20, 0x2c6fd: 0x6ddfa420, 0x2c6fe: 0x6ddfa620, 0x2c6ff: 0x6ddfa820,\n\t// Block 0xb1c, offset 0x2c700\n\t0x2c700: 0x6df7f620, 0x2c701: 0x6e1b6c20, 0x2c702: 0x6d9f8020, 0x2c703: 0x6dc20020,\n\t0x2c704: 0x6ddfb620, 0x2c705: 0x6df80a20, 0x2c706: 0x6e1b7e20, 0x2c707: 0x6e27d620,\n\t0x2c708: 0x6e311820, 0x2c709: 0x6e311a20, 0x2c70a: 0x6ddfdc20, 0x2c70b: 0x6ddfde20,\n\t0x2c70c: 0x6df82020, 0x2c70d: 0x6e0bc420, 0x2c70e: 0x6e0bc620, 0x2c70f: 0x6e1b8820,\n\t0x2c710: 0x6e424c20, 0x2c711: 0x6e45a820, 0x2c712: 0x6dc22820, 0x2c713: 0x6dc22a20,\n\t0x2c714: 0x6ddff420, 0x2c715: 0x6df83a20, 0x2c716: 0x6df83c20, 0x2c717: 0x6e0bd420,\n\t0x2c718: 0x6e0bd620, 0x2c719: 0x6e0bd820, 0x2c71a: 0x6e1ba020, 0x2c71b: 0x6e1ba220,\n\t0x2c71c: 0x6e27fc20, 0x2c71d: 0x6e27fe20, 0x2c71e: 0x6e314620, 0x2c71f: 0x6e314820,\n\t0x2c720: 0x6e380c20, 0x2c721: 0x6e380e20, 0x2c722: 0x6e381020, 0x2c723: 0x6e3ca420,\n\t0x2c724: 0x6e3ca620, 0x2c725: 0x6e3fe620, 0x2c726: 0x6e3fe820, 0x2c727: 0x6e425620,\n\t0x2c728: 0x6e440420, 0x2c729: 0x6e450c20, 0x2c72a: 0x6e450e20, 0x2c72b: 0x6e46da20,\n\t0x2c72c: 0x6e283620, 0x2c72d: 0x6e0c2020, 0x2c72e: 0x6e0c2220, 0x2c72f: 0x6df86420,\n\t0x2c730: 0x6e0c2420, 0x2c731: 0x6e1be620, 0x2c732: 0x6e1be820, 0x2c733: 0x6e1bfe20,\n\t0x2c734: 0x6e3cd820, 0x2c735: 0x6e427e20,\n\t// Block 0xb1d, offset 0x2c740\n\t0x2c740: 0x6c000220, 0x2c741: 0x6c003220, 0x2c742: 0x6c003420, 0x2c743: 0x6c003620,\n\t0x2c744: 0x6c003820, 0x2c745: 0x6c003a20, 0x2c746: 0x6c003c20, 0x2c747: 0x6c00d820,\n\t0x2c748: 0x6c00da20, 0x2c749: 0x6c00dc20, 0x2c74a: 0x6c00de20, 0x2c74b: 0x6c00e020,\n\t0x2c74c: 0x6c00e220, 0x2c74d: 0x6c021a20, 0x2c74e: 0x6c021c20, 0x2c74f: 0x6c021e20,\n\t0x2c750: 0x6c022020, 0x2c751: 0x6c022220, 0x2c752: 0x6c022420, 0x2c753: 0x6c022620,\n\t0x2c754: 0x6c054020, 0x2c755: 0x6c054220, 0x2c756: 0x6c054420, 0x2c757: 0x6c053c20,\n\t0x2c758: 0x6c054620, 0x2c759: 0x6c054820, 0x2c75a: 0x6c054a20, 0x2c75b: 0x6c054c20,\n\t0x2c75c: 0x6c054e20, 0x2c75d: 0x6c055020, 0x2c75e: 0x6c0ad020, 0x2c75f: 0x6c0ad220,\n\t0x2c760: 0x6c0ad420, 0x2c761: 0x6c0ad620, 0x2c762: 0x6c0ad820, 0x2c763: 0x6c15e420,\n\t0x2c764: 0x6c15e620, 0x2c765: 0x6c15e820, 0x2c766: 0x6c28ae20, 0x2c767: 0x6c28b020,\n\t0x2c768: 0x6c000420, 0x2c769: 0x6c004420, 0x2c76a: 0x6c00fa20, 0x2c76b: 0x6c00fc20,\n\t0x2c76c: 0x6c04e220, 0x2c76d: 0x6c023620, 0x2c76e: 0x6c023820, 0x2c76f: 0x6c023a20,\n\t0x2c770: 0x6c023c20, 0x2c771: 0x6c056820, 0x2c772: 0x6c160020, 0x2c773: 0x6c28c420,\n\t0x2c774: 0x6c42f620, 0x2c775: 0x6c63d820, 0x2c776: 0x6c000620, 0x2c777: 0x6c004a20,\n\t0x2c778: 0x6c00fe20, 0x2c779: 0x6c024220, 0x2c77a: 0x6c024420, 0x2c77b: 0x6c056c20,\n\t0x2c77c: 0x6c056e20, 0x2c77d: 0x6c15ea20, 0x2c77e: 0x6c430020, 0x2c77f: 0x6c000820,\n\t// Block 0xb1e, offset 0x2c780\n\t0x2c780: 0x6c000a20, 0x2c781: 0x6c000c20, 0x2c782: 0x6c005020, 0x2c783: 0x6c005220,\n\t0x2c784: 0x6c005420, 0x2c785: 0x6c010620, 0x2c786: 0x6c010820, 0x2c787: 0x6c010a20,\n\t0x2c788: 0x6c010c20, 0x2c789: 0x6c010020, 0x2c78a: 0x6c010e20, 0x2c78b: 0x6c024820,\n\t0x2c78c: 0x6c024a20, 0x2c78d: 0x6c057420, 0x2c78e: 0x6c057620, 0x2c78f: 0x6c057820,\n\t0x2c790: 0x6c057a20, 0x2c791: 0x6c0af020, 0x2c792: 0x6c0af220, 0x2c793: 0x6c0af420,\n\t0x2c794: 0x6c0af620, 0x2c795: 0x6c160620, 0x2c796: 0x6c28d020, 0x2c797: 0x6c430220,\n\t0x2c798: 0x6c63e020, 0x2c799: 0x6c001020, 0x2c79a: 0x6c001220, 0x2c79b: 0x6c001420,\n\t0x2c79c: 0x6c006020, 0x2c79d: 0x6c006220, 0x2c79e: 0x6c012020, 0x2c79f: 0x6c012220,\n\t0x2c7a0: 0x6c012420, 0x2c7a1: 0x6c01d020, 0x2c7a2: 0x6c041020, 0x2c7a3: 0x6c025c20,\n\t0x2c7a4: 0x6c025e20, 0x2c7a5: 0x6c026020, 0x2c7a6: 0x6c026220, 0x2c7a7: 0x6c05a020,\n\t0x2c7a8: 0x6c0b1a20, 0x2c7a9: 0x6c0b1c20, 0x2c7aa: 0x6c0b1e20, 0x2c7ab: 0x6c0b2020,\n\t0x2c7ac: 0x6c0b2220, 0x2c7ad: 0x6c0b2420, 0x2c7ae: 0x6c0b2620, 0x2c7af: 0x6c0b2820,\n\t0x2c7b0: 0x6c0b2a20, 0x2c7b1: 0x6c161020, 0x2c7b2: 0x6c161220, 0x2c7b3: 0x6c28de20,\n\t0x2c7b4: 0x6c28e020, 0x2c7b5: 0x6c28e220, 0x2c7b6: 0x6c28e420, 0x2c7b7: 0x6c28e620,\n\t0x2c7b8: 0x6c28e820, 0x2c7b9: 0x6c431420, 0x2c7ba: 0x6c431620, 0x2c7bb: 0x6c431820,\n\t0x2c7bc: 0x6c431a20, 0x2c7bd: 0x6c63f220, 0x2c7be: 0x6c8b0c20, 0x2c7bf: 0x6c8b0e20,\n\t// Block 0xb1f, offset 0x2c7c0\n\t0x2c7c0: 0x6c8b1020, 0x2c7c1: 0x6cb7b220, 0x2c7c2: 0x6ce8d220, 0x2c7c3: 0x6ce8d420,\n\t0x2c7c4: 0x6ce8d620, 0x2c7c5: 0x6c002420, 0x2c7c6: 0x6c006a20, 0x2c7c7: 0x6c012c20,\n\t0x2c7c8: 0x6c027a20, 0x2c7c9: 0x6c0b3820, 0x2c7ca: 0x6c162020, 0x2c7cb: 0x6c28f420,\n\t0x2c7cc: 0x6c007420, 0x2c7cd: 0x6c013020, 0x2c7ce: 0x6c013220, 0x2c7cf: 0x6c013420,\n\t0x2c7d0: 0x6c00e420, 0x2c7d1: 0x6c028220, 0x2c7d2: 0x6c028420, 0x2c7d3: 0x6c028620,\n\t0x2c7d4: 0x6c028820, 0x2c7d5: 0x6c028a20, 0x2c7d6: 0x6c028c20, 0x2c7d7: 0x6c05b020,\n\t0x2c7d8: 0x6c0b3e20, 0x2c7d9: 0x6c0b4020, 0x2c7da: 0x6c0b4220, 0x2c7db: 0x6c28f820,\n\t0x2c7dc: 0x6c162a20, 0x2c7dd: 0x6c28fc20, 0x2c7de: 0x6c28fe20, 0x2c7df: 0x6c290020,\n\t0x2c7e0: 0x6c007c20, 0x2c7e1: 0x6c013620, 0x2c7e2: 0x6c029020, 0x2c7e3: 0x6c029220,\n\t0x2c7e4: 0x6c0b5420, 0x2c7e5: 0x6c0b5620, 0x2c7e6: 0x6c0b5820, 0x2c7e7: 0x6c0b5a20,\n\t0x2c7e8: 0x6c163620, 0x2c7e9: 0x6c163820, 0x2c7ea: 0x6c163a20, 0x2c7eb: 0x6c290e20,\n\t0x2c7ec: 0x6c291020, 0x2c7ed: 0x6c433420, 0x2c7ee: 0x6c433620, 0x2c7ef: 0x6c433820,\n\t0x2c7f0: 0x6c433a20, 0x2c7f1: 0x6c433c20, 0x2c7f2: 0x6c433e20, 0x2c7f3: 0x6c640a20,\n\t0x2c7f4: 0x6cb7c020, 0x2c7f5: 0x6cb7c220, 0x2c7f6: 0x6ce8e620, 0x2c7f7: 0x6ce8e820,\n\t0x2c7f8: 0x6d75da20, 0x2c7f9: 0x6e1c0620, 0x2c7fa: 0x6c007e20, 0x2c7fb: 0x6c008020,\n\t0x2c7fc: 0x6c013820, 0x2c7fd: 0x6c013a20, 0x2c7fe: 0x6c013c20, 0x2c7ff: 0x6c013e20,\n\t// Block 0xb20, offset 0x2c800\n\t0x2c800: 0x6c029620, 0x2c801: 0x6c029820, 0x2c802: 0x6c029a20, 0x2c803: 0x6c029c20,\n\t0x2c804: 0x6c029e20, 0x2c805: 0x6c02a020, 0x2c806: 0x6c02a220, 0x2c807: 0x6c02a420,\n\t0x2c808: 0x6c02a620, 0x2c809: 0x6c02a820, 0x2c80a: 0x6c02aa20, 0x2c80b: 0x6c02ac20,\n\t0x2c80c: 0x6c02ae20, 0x2c80d: 0x6c02b020, 0x2c80e: 0x6c02b220, 0x2c80f: 0x6c02b420,\n\t0x2c810: 0x6c02b620, 0x2c811: 0x6c02b820, 0x2c812: 0x6c02ba20, 0x2c813: 0x6c02bc20,\n\t0x2c814: 0x6c05c820, 0x2c815: 0x6c05ca20, 0x2c816: 0x6c05cc20, 0x2c817: 0x6c05ce20,\n\t0x2c818: 0x6c05d020, 0x2c819: 0x6c05d220, 0x2c81a: 0x6c05d420, 0x2c81b: 0x6c05d620,\n\t0x2c81c: 0x6c05d820, 0x2c81d: 0x6c05da20, 0x2c81e: 0x6c05dc20, 0x2c81f: 0x6c05de20,\n\t0x2c820: 0x6c05e020, 0x2c821: 0x6c05e220, 0x2c822: 0x6c05e420, 0x2c823: 0x6c05e620,\n\t0x2c824: 0x6c05e820, 0x2c825: 0x6c05ea20, 0x2c826: 0x6c05ec20, 0x2c827: 0x6c05ee20,\n\t0x2c828: 0x6c05f020, 0x2c829: 0x6c05f220, 0x2c82a: 0x6c05f420, 0x2c82b: 0x6c05f620,\n\t0x2c82c: 0x6c05f820, 0x2c82d: 0x6c05fa20, 0x2c82e: 0x6c0b7a20, 0x2c82f: 0x6c0b7c20,\n\t0x2c830: 0x6c0b7e20, 0x2c831: 0x6c0b8020, 0x2c832: 0x6c0b8220, 0x2c833: 0x6c0b8420,\n\t0x2c834: 0x6c0b8620, 0x2c835: 0x6c0b8820, 0x2c836: 0x6c0b8a20, 0x2c837: 0x6c0b8c20,\n\t0x2c838: 0x6c0b8e20, 0x2c839: 0x6c0b9020, 0x2c83a: 0x6c0b9220, 0x2c83b: 0x6c0b9420,\n\t0x2c83c: 0x6c0b9620, 0x2c83d: 0x6c0b9820, 0x2c83e: 0x6c0b9a20, 0x2c83f: 0x6c0b9c20,\n\t// Block 0xb21, offset 0x2c840\n\t0x2c840: 0x6c0b9e20, 0x2c841: 0x6c0ba020, 0x2c842: 0x6c0ba220, 0x2c843: 0x6c0ba420,\n\t0x2c844: 0x6c0ba620, 0x2c845: 0x6c0ba820, 0x2c846: 0x6c0baa20, 0x2c847: 0x6c0bac20,\n\t0x2c848: 0x6c0bae20, 0x2c849: 0x6c0bb020, 0x2c84a: 0x6c0bb220, 0x2c84b: 0x6c0bb420,\n\t0x2c84c: 0x6c0bb620, 0x2c84d: 0x6c0bb820, 0x2c84e: 0x6c0bba20, 0x2c84f: 0x6c0bbc20,\n\t0x2c850: 0x6c0bbe20, 0x2c851: 0x6c0bc020, 0x2c852: 0x6c0bc220, 0x2c853: 0x6c0bc420,\n\t0x2c854: 0x6c0bc620, 0x2c855: 0x6c0bc820, 0x2c856: 0x6c0bca20, 0x2c857: 0x6c0bcc20,\n\t0x2c858: 0x6c0bce20, 0x2c859: 0x6c0bd020, 0x2c85a: 0x6c0bd220, 0x2c85b: 0x6c0bd420,\n\t0x2c85c: 0x6c0bd620, 0x2c85d: 0x6c0bd820, 0x2c85e: 0x6c0bda20, 0x2c85f: 0x6c0bdc20,\n\t0x2c860: 0x6c0bde20, 0x2c861: 0x6c0be020, 0x2c862: 0x6c0be220, 0x2c863: 0x6c0be420,\n\t0x2c864: 0x6c0be620, 0x2c865: 0x6c0be820, 0x2c866: 0x6c0bea20, 0x2c867: 0x6c0bec20,\n\t0x2c868: 0x6c0bee20, 0x2c869: 0x6c0bf020, 0x2c86a: 0x6c0bf220, 0x2c86b: 0x6c0bf420,\n\t0x2c86c: 0x6c0bf620, 0x2c86d: 0x6c165620, 0x2c86e: 0x6c165820, 0x2c86f: 0x6c165a20,\n\t0x2c870: 0x6c165c20, 0x2c871: 0x6c165e20, 0x2c872: 0x6c166020, 0x2c873: 0x6c166220,\n\t0x2c874: 0x6c166420, 0x2c875: 0x6c166620, 0x2c876: 0x6c166820, 0x2c877: 0x6c166a20,\n\t0x2c878: 0x6c166c20, 0x2c879: 0x6c166e20, 0x2c87a: 0x6c167020, 0x2c87b: 0x6c167220,\n\t0x2c87c: 0x6c167420, 0x2c87d: 0x6c167620, 0x2c87e: 0x6c167820, 0x2c87f: 0x6c167a20,\n\t// Block 0xb22, offset 0x2c880\n\t0x2c880: 0x6c167c20, 0x2c881: 0x6c167e20, 0x2c882: 0x6c168020, 0x2c883: 0x6c168220,\n\t0x2c884: 0x6c168420, 0x2c885: 0x6c168620, 0x2c886: 0x6c168820, 0x2c887: 0x6c168a20,\n\t0x2c888: 0x6c168c20, 0x2c889: 0x6c168e20, 0x2c88a: 0x6c169020, 0x2c88b: 0x6c169220,\n\t0x2c88c: 0x6c292020, 0x2c88d: 0x6c169420, 0x2c88e: 0x6c169620, 0x2c88f: 0x6c169820,\n\t0x2c890: 0x6c169a20, 0x2c891: 0x6c169c20, 0x2c892: 0x6c169e20, 0x2c893: 0x6c16a020,\n\t0x2c894: 0x6c16a220, 0x2c895: 0x6c16a420, 0x2c896: 0x6c16a620, 0x2c897: 0x6c16a820,\n\t0x2c898: 0x6c16aa20, 0x2c899: 0x6c16ac20, 0x2c89a: 0x6c16ae20, 0x2c89b: 0x6c16b020,\n\t0x2c89c: 0x6c16b220, 0x2c89d: 0x6c16b420, 0x2c89e: 0x6c16b620, 0x2c89f: 0x6c16b820,\n\t0x2c8a0: 0x6c16ba20, 0x2c8a1: 0x6c16bc20, 0x2c8a2: 0x6c16be20, 0x2c8a3: 0x6c16c020,\n\t0x2c8a4: 0x6c0bf820, 0x2c8a5: 0x6c16c220, 0x2c8a6: 0x6c16c420, 0x2c8a7: 0x6c16c620,\n\t0x2c8a8: 0x6c16c820, 0x2c8a9: 0x6c293e20, 0x2c8aa: 0x6c294020, 0x2c8ab: 0x6c294220,\n\t0x2c8ac: 0x6c294420, 0x2c8ad: 0x6c294620, 0x2c8ae: 0x6c294820, 0x2c8af: 0x6c294a20,\n\t0x2c8b0: 0x6c294c20, 0x2c8b1: 0x6c294e20, 0x2c8b2: 0x6c295020, 0x2c8b3: 0x6c295220,\n\t0x2c8b4: 0x6c295420, 0x2c8b5: 0x6c295620, 0x2c8b6: 0x6c295820, 0x2c8b7: 0x6c295a20,\n\t0x2c8b8: 0x6c295c20, 0x2c8b9: 0x6c295e20, 0x2c8ba: 0x6c296020, 0x2c8bb: 0x6c296220,\n\t0x2c8bc: 0x6c296420, 0x2c8bd: 0x6c296620, 0x2c8be: 0x6c296820, 0x2c8bf: 0x6c296a20,\n\t// Block 0xb23, offset 0x2c8c0\n\t0x2c8c0: 0x6c296c20, 0x2c8c1: 0x6c296e20, 0x2c8c2: 0x6c297020, 0x2c8c3: 0x6c297220,\n\t0x2c8c4: 0x6c297420, 0x2c8c5: 0x6c297620, 0x2c8c6: 0x6c297820, 0x2c8c7: 0x6c297a20,\n\t0x2c8c8: 0x6c297c20, 0x2c8c9: 0x6c297e20, 0x2c8ca: 0x6c298020, 0x2c8cb: 0x6c298220,\n\t0x2c8cc: 0x6c298420, 0x2c8cd: 0x6c298620, 0x2c8ce: 0x6c298820, 0x2c8cf: 0x6c298a20,\n\t0x2c8d0: 0x6c298c20, 0x2c8d1: 0x6c298e20, 0x2c8d2: 0x6c299020, 0x2c8d3: 0x6c299220,\n\t0x2c8d4: 0x6c299420, 0x2c8d5: 0x6c299620, 0x2c8d6: 0x6c299820, 0x2c8d7: 0x6c299a20,\n\t0x2c8d8: 0x6c299c20, 0x2c8d9: 0x6c299e20, 0x2c8da: 0x6c29a020, 0x2c8db: 0x6c29a220,\n\t0x2c8dc: 0x6c29a420, 0x2c8dd: 0x6c29a620, 0x2c8de: 0x6c29a820, 0x2c8df: 0x6c29aa20,\n\t0x2c8e0: 0x6c29ac20, 0x2c8e1: 0x6c29ae20, 0x2c8e2: 0x6c29b020, 0x2c8e3: 0x6c29b220,\n\t0x2c8e4: 0x6c29b420, 0x2c8e5: 0x6c29b620, 0x2c8e6: 0x6c29b820, 0x2c8e7: 0x6c29ba20,\n\t0x2c8e8: 0x6c29bc20, 0x2c8e9: 0x6c29be20, 0x2c8ea: 0x6c29c020, 0x2c8eb: 0x6c29c220,\n\t0x2c8ec: 0x6c29c420, 0x2c8ed: 0x6c29c620, 0x2c8ee: 0x6c435e20, 0x2c8ef: 0x6c436020,\n\t0x2c8f0: 0x6c436220, 0x2c8f1: 0x6c436420, 0x2c8f2: 0x6c436620, 0x2c8f3: 0x6c436820,\n\t0x2c8f4: 0x6c436a20, 0x2c8f5: 0x6c436c20, 0x2c8f6: 0x6c436e20, 0x2c8f7: 0x6c437020,\n\t0x2c8f8: 0x6c437220, 0x2c8f9: 0x6c437420, 0x2c8fa: 0x6c437620, 0x2c8fb: 0x6c437820,\n\t0x2c8fc: 0x6c437a20, 0x2c8fd: 0x6c437c20, 0x2c8fe: 0x6c437e20, 0x2c8ff: 0x6c438020,\n\t// Block 0xb24, offset 0x2c900\n\t0x2c900: 0x6c438220, 0x2c901: 0x6c438420, 0x2c902: 0x6c438620, 0x2c903: 0x6c438820,\n\t0x2c904: 0x6c438a20, 0x2c905: 0x6c438c20, 0x2c906: 0x6c438e20, 0x2c907: 0x6c439020,\n\t0x2c908: 0x6c439220, 0x2c909: 0x6c439420, 0x2c90a: 0x6c439620, 0x2c90b: 0x6c439820,\n\t0x2c90c: 0x6c439a20, 0x2c90d: 0x6c439c20, 0x2c90e: 0x6c439e20, 0x2c90f: 0x6c43a020,\n\t0x2c910: 0x6c43a220, 0x2c911: 0x6c43a420, 0x2c912: 0x6c43a620, 0x2c913: 0x6c43a820,\n\t0x2c914: 0x6c43aa20, 0x2c915: 0x6c43ac20, 0x2c916: 0x6c43ae20, 0x2c917: 0x6c43b020,\n\t0x2c918: 0x6c43b220, 0x2c919: 0x6c43b420, 0x2c91a: 0x6c43b620, 0x2c91b: 0x6c43b820,\n\t0x2c91c: 0x6c43ba20, 0x2c91d: 0x6c43bc20, 0x2c91e: 0x6c43be20, 0x2c91f: 0x6c43c020,\n\t0x2c920: 0x6c43c220, 0x2c921: 0x6c43c420, 0x2c922: 0x6c43c620, 0x2c923: 0x6c43c820,\n\t0x2c924: 0x6c43ca20, 0x2c925: 0x6c43cc20, 0x2c926: 0x6c43ce20, 0x2c927: 0x6c43d020,\n\t0x2c928: 0x6c43d220, 0x2c929: 0x6c43d420, 0x2c92a: 0x6c43d620, 0x2c92b: 0x6c43d820,\n\t0x2c92c: 0x6c43da20, 0x2c92d: 0x6c43dc20, 0x2c92e: 0x6c642e20, 0x2c92f: 0x6c643020,\n\t0x2c930: 0x6c643220, 0x2c931: 0x6c643420, 0x2c932: 0x6c643620, 0x2c933: 0x6c643820,\n\t0x2c934: 0x6c643a20, 0x2c935: 0x6c643c20, 0x2c936: 0x6c643e20, 0x2c937: 0x6c644020,\n\t0x2c938: 0x6c644220, 0x2c939: 0x6c644420, 0x2c93a: 0x6c644620, 0x2c93b: 0x6c644820,\n\t0x2c93c: 0x6c644a20, 0x2c93d: 0x6c644c20, 0x2c93e: 0x6c644e20, 0x2c93f: 0x6c645020,\n\t// Block 0xb25, offset 0x2c940\n\t0x2c940: 0x6c645220, 0x2c941: 0x6c645420, 0x2c942: 0x6c645620, 0x2c943: 0x6c645820,\n\t0x2c944: 0x6c645a20, 0x2c945: 0x6c645c20, 0x2c946: 0x6c645e20, 0x2c947: 0x6c646020,\n\t0x2c948: 0x6c646220, 0x2c949: 0x6c646420, 0x2c94a: 0x6c646620, 0x2c94b: 0x6c646820,\n\t0x2c94c: 0x6c646a20, 0x2c94d: 0x6c646c20, 0x2c94e: 0x6c646e20, 0x2c94f: 0x6c647020,\n\t0x2c950: 0x6c647220, 0x2c951: 0x6c647420, 0x2c952: 0x6c647620, 0x2c953: 0x6c647820,\n\t0x2c954: 0x6c647a20, 0x2c955: 0x6c647c20, 0x2c956: 0x6c647e20, 0x2c957: 0x6c648020,\n\t0x2c958: 0x6c648220, 0x2c959: 0x6c648420, 0x2c95a: 0x6c648620, 0x2c95b: 0x6c648820,\n\t0x2c95c: 0x6c648a20, 0x2c95d: 0x6c648c20, 0x2c95e: 0x6c648e20, 0x2c95f: 0x6c649020,\n\t0x2c960: 0x6c649220, 0x2c961: 0x6c649420, 0x2c962: 0x6c649620, 0x2c963: 0x6c649820,\n\t0x2c964: 0x6c649a20, 0x2c965: 0x6c649c20, 0x2c966: 0x6c649e20, 0x2c967: 0x6c64a020,\n\t0x2c968: 0x6c64a220, 0x2c969: 0x6c64a420, 0x2c96a: 0x6c64a620, 0x2c96b: 0x6c64a820,\n\t0x2c96c: 0x6c64aa20, 0x2c96d: 0x6c64ac20, 0x2c96e: 0x6c64ae20, 0x2c96f: 0x6c64b020,\n\t0x2c970: 0x6c64b220, 0x2c971: 0x6c64b420, 0x2c972: 0x6c64b620, 0x2c973: 0x6c64b820,\n\t0x2c974: 0x6c64ba20, 0x2c975: 0x6c64bc20, 0x2c976: 0x6c64be20, 0x2c977: 0x6c64c020,\n\t0x2c978: 0x6c64c220, 0x2c979: 0x6c64c420, 0x2c97a: 0x6c64c620, 0x2c97b: 0x6c64c820,\n\t0x2c97c: 0x6c64ca20, 0x2c97d: 0x6c64cc20, 0x2c97e: 0x6c64ce20, 0x2c97f: 0x6c64d020,\n\t// Block 0xb26, offset 0x2c980\n\t0x2c980: 0x6c8b4a20, 0x2c981: 0x6c8b4c20, 0x2c982: 0x6c8b4e20, 0x2c983: 0x6c8b5020,\n\t0x2c984: 0x6c8b5220, 0x2c985: 0x6c8b5420, 0x2c986: 0x6c8b5620, 0x2c987: 0x6c8b5820,\n\t0x2c988: 0x6c8b5a20, 0x2c989: 0x6c8b5c20, 0x2c98a: 0x6c8b5e20, 0x2c98b: 0x6c8b6020,\n\t0x2c98c: 0x6c8b6220, 0x2c98d: 0x6c8b6420, 0x2c98e: 0x6c8b6620, 0x2c98f: 0x6c8b6820,\n\t0x2c990: 0x6c8b6a20, 0x2c991: 0x6c8b6c20, 0x2c992: 0x6c8b6e20, 0x2c993: 0x6c8b7020,\n\t0x2c994: 0x6c8b7220, 0x2c995: 0x6c8b7420, 0x2c996: 0x6c656e20, 0x2c997: 0x6c8b7620,\n\t0x2c998: 0x6c8b7820, 0x2c999: 0x6c8b7a20, 0x2c99a: 0x6c8b7c20, 0x2c99b: 0x6c8b7e20,\n\t0x2c99c: 0x6c8b8020, 0x2c99d: 0x6c8b8220, 0x2c99e: 0x6c8b8420, 0x2c99f: 0x6c8b8620,\n\t0x2c9a0: 0x6c8b8820, 0x2c9a1: 0x6c8b8a20, 0x2c9a2: 0x6c8b8c20, 0x2c9a3: 0x6c8b8e20,\n\t0x2c9a4: 0x6c8b9020, 0x2c9a5: 0x6c8b9220, 0x2c9a6: 0x6c8b9420, 0x2c9a7: 0x6c8b9620,\n\t0x2c9a8: 0x6cb7d820, 0x2c9a9: 0x6c8b9820, 0x2c9aa: 0x6c8b9a20, 0x2c9ab: 0x6c8b9c20,\n\t0x2c9ac: 0x6c8b9e20, 0x2c9ad: 0x6c8ba020, 0x2c9ae: 0x6c8ba220, 0x2c9af: 0x6c8ba420,\n\t0x2c9b0: 0x6c8ba620, 0x2c9b1: 0x6c8ba820, 0x2c9b2: 0x6c8baa20, 0x2c9b3: 0x6c8bac20,\n\t0x2c9b4: 0x6c8bae20, 0x2c9b5: 0x6c8bb020, 0x2c9b6: 0x6c8bb220, 0x2c9b7: 0x6c8bb420,\n\t0x2c9b8: 0x6c8bb620, 0x2c9b9: 0x6c8bb820, 0x2c9ba: 0x6c8bba20, 0x2c9bb: 0x6c8bbc20,\n\t0x2c9bc: 0x6c8bbe20, 0x2c9bd: 0x6c8bc020, 0x2c9be: 0x6c8bc220, 0x2c9bf: 0x6c8bc420,\n\t// Block 0xb27, offset 0x2c9c0\n\t0x2c9c0: 0x6cb7ea20, 0x2c9c1: 0x6cb7ec20, 0x2c9c2: 0x6cb7ee20, 0x2c9c3: 0x6cb7f020,\n\t0x2c9c4: 0x6cb7f220, 0x2c9c5: 0x6cb7f420, 0x2c9c6: 0x6cb7f620, 0x2c9c7: 0x6cb7f820,\n\t0x2c9c8: 0x6cb7fa20, 0x2c9c9: 0x6cb7fc20, 0x2c9ca: 0x6cb7fe20, 0x2c9cb: 0x6cb80020,\n\t0x2c9cc: 0x6cb80220, 0x2c9cd: 0x6cb80420, 0x2c9ce: 0x6cb80620, 0x2c9cf: 0x6cb80820,\n\t0x2c9d0: 0x6cb80a20, 0x2c9d1: 0x6cb80c20, 0x2c9d2: 0x6cb80e20, 0x2c9d3: 0x6cb81020,\n\t0x2c9d4: 0x6cb81220, 0x2c9d5: 0x6cb81420, 0x2c9d6: 0x6cb81620, 0x2c9d7: 0x6cb81820,\n\t0x2c9d8: 0x6cb81a20, 0x2c9d9: 0x6cb81c20, 0x2c9da: 0x6cb81e20, 0x2c9db: 0x6cb82020,\n\t0x2c9dc: 0x6cb82220, 0x2c9dd: 0x6cb82420, 0x2c9de: 0x6cb82620, 0x2c9df: 0x6cb82820,\n\t0x2c9e0: 0x6cb82a20, 0x2c9e1: 0x6cb82c20, 0x2c9e2: 0x6cb82e20, 0x2c9e3: 0x6cb83020,\n\t0x2c9e4: 0x6cb83220, 0x2c9e5: 0x6cb83420, 0x2c9e6: 0x6cb83620, 0x2c9e7: 0x6cb83820,\n\t0x2c9e8: 0x6cb83a20, 0x2c9e9: 0x6cb83c20, 0x2c9ea: 0x6ce90c20, 0x2c9eb: 0x6ce90e20,\n\t0x2c9ec: 0x6ce91020, 0x2c9ed: 0x6ce91220, 0x2c9ee: 0x6ce91420, 0x2c9ef: 0x6ce91620,\n\t0x2c9f0: 0x6ce91820, 0x2c9f1: 0x6ce91a20, 0x2c9f2: 0x6ce91c20, 0x2c9f3: 0x6ce91e20,\n\t0x2c9f4: 0x6ce92020, 0x2c9f5: 0x6ce92220, 0x2c9f6: 0x6ce92420, 0x2c9f7: 0x6ce92620,\n\t0x2c9f8: 0x6ce92820, 0x2c9f9: 0x6ce92a20, 0x2c9fa: 0x6ce92c20, 0x2c9fb: 0x6ce92e20,\n\t0x2c9fc: 0x6ce93020, 0x2c9fd: 0x6ce93220, 0x2c9fe: 0x6ce93420, 0x2c9ff: 0x6ce93620,\n\t// Block 0xb28, offset 0x2ca00\n\t0x2ca00: 0x6ce93820, 0x2ca01: 0x6ce93a20, 0x2ca02: 0x6ce93c20, 0x2ca03: 0x6ce93e20,\n\t0x2ca04: 0x6ce94020, 0x2ca05: 0x6ce94220, 0x2ca06: 0x6ce94420, 0x2ca07: 0x6ce94620,\n\t0x2ca08: 0x6ce94820, 0x2ca09: 0x6ce94a20, 0x2ca0a: 0x6ce94c20, 0x2ca0b: 0x6ce94e20,\n\t0x2ca0c: 0x6ce95020, 0x2ca0d: 0x6ce95220, 0x2ca0e: 0x6d18cc20, 0x2ca0f: 0x6d18ce20,\n\t0x2ca10: 0x6d18d020, 0x2ca11: 0x6d18d220, 0x2ca12: 0x6d18d420, 0x2ca13: 0x6d18d620,\n\t0x2ca14: 0x6d18d820, 0x2ca15: 0x6d18da20, 0x2ca16: 0x6d18dc20, 0x2ca17: 0x6d18de20,\n\t0x2ca18: 0x6d18e020, 0x2ca19: 0x6d18e220, 0x2ca1a: 0x6d18e420, 0x2ca1b: 0x6d18e620,\n\t0x2ca1c: 0x6d18e820, 0x2ca1d: 0x6d18ea20, 0x2ca1e: 0x6d18ec20, 0x2ca1f: 0x6d18ee20,\n\t0x2ca20: 0x6d18f020, 0x2ca21: 0x6d18f220, 0x2ca22: 0x6d18f420, 0x2ca23: 0x6d18f620,\n\t0x2ca24: 0x6d18f820, 0x2ca25: 0x6d18fa20, 0x2ca26: 0x6d18fc20, 0x2ca27: 0x6d18fe20,\n\t0x2ca28: 0x6d190020, 0x2ca29: 0x6d190220, 0x2ca2a: 0x6d190420, 0x2ca2b: 0x6d190620,\n\t0x2ca2c: 0x6d190820, 0x2ca2d: 0x6d190a20, 0x2ca2e: 0x6d190c20, 0x2ca2f: 0x6d190e20,\n\t0x2ca30: 0x6d191020, 0x2ca31: 0x6d191220, 0x2ca32: 0x6d19b420, 0x2ca33: 0x6d191420,\n\t0x2ca34: 0x6d191620, 0x2ca35: 0x6d47c220, 0x2ca36: 0x6d47c420, 0x2ca37: 0x6d191820,\n\t0x2ca38: 0x6d47c620, 0x2ca39: 0x6d47c820, 0x2ca3a: 0x6d47ca20, 0x2ca3b: 0x6d47cc20,\n\t0x2ca3c: 0x6d47ce20, 0x2ca3d: 0x6d47d020, 0x2ca3e: 0x6d47d220, 0x2ca3f: 0x6d47d420,\n\t// Block 0xb29, offset 0x2ca40\n\t0x2ca40: 0x6d47d620, 0x2ca41: 0x6d47d820, 0x2ca42: 0x6d47da20, 0x2ca43: 0x6d47dc20,\n\t0x2ca44: 0x6d47de20, 0x2ca45: 0x6d47e020, 0x2ca46: 0x6d47e220, 0x2ca47: 0x6d47e420,\n\t0x2ca48: 0x6d47e620, 0x2ca49: 0x6d47e820, 0x2ca4a: 0x6d47ea20, 0x2ca4b: 0x6d47ec20,\n\t0x2ca4c: 0x6d47ee20, 0x2ca4d: 0x6d47f020, 0x2ca4e: 0x6d47f220, 0x2ca4f: 0x6d47f420,\n\t0x2ca50: 0x6d75fc20, 0x2ca51: 0x6d75fe20, 0x2ca52: 0x6d760020, 0x2ca53: 0x6d760220,\n\t0x2ca54: 0x6d760420, 0x2ca55: 0x6d760620, 0x2ca56: 0x6d760820, 0x2ca57: 0x6d760a20,\n\t0x2ca58: 0x6d760c20, 0x2ca59: 0x6d760e20, 0x2ca5a: 0x6d761020, 0x2ca5b: 0x6d761220,\n\t0x2ca5c: 0x6d761420, 0x2ca5d: 0x6d761620, 0x2ca5e: 0x6d761820, 0x2ca5f: 0x6d9fae20,\n\t0x2ca60: 0x6d9fb020, 0x2ca61: 0x6d9fb220, 0x2ca62: 0x6d9fb420, 0x2ca63: 0x6d9fb620,\n\t0x2ca64: 0x6d9fb820, 0x2ca65: 0x6d9fba20, 0x2ca66: 0x6d9fbc20, 0x2ca67: 0x6d9fbe20,\n\t0x2ca68: 0x6d9fc020, 0x2ca69: 0x6d9fc220, 0x2ca6a: 0x6d9fc420, 0x2ca6b: 0x6d761a20,\n\t0x2ca6c: 0x6d9fc620, 0x2ca6d: 0x6dc24e20, 0x2ca6e: 0x6dc25020, 0x2ca6f: 0x6dc25220,\n\t0x2ca70: 0x6d485a20, 0x2ca71: 0x6dc25420, 0x2ca72: 0x6da00220, 0x2ca73: 0x6de01420,\n\t0x2ca74: 0x6de01620, 0x2ca75: 0x6de01820, 0x2ca76: 0x6df87420, 0x2ca77: 0x6e0c4220,\n\t0x2ca78: 0x6e0c4420, 0x2ca79: 0x6e0c4620, 0x2ca7a: 0x6e0c4820, 0x2ca7b: 0x6e1c0820,\n\t0x2ca7c: 0x6e1c0a20, 0x2ca7d: 0x6e284c20, 0x2ca7e: 0x6e318820, 0x2ca7f: 0x6c008420,\n\t// Block 0xb2a, offset 0x2ca80\n\t0x2ca80: 0x6c014620, 0x2ca81: 0x6c02c620, 0x2ca82: 0x6c02c820, 0x2ca83: 0x6c02ca20,\n\t0x2ca84: 0x6c060e20, 0x2ca85: 0x6c061420, 0x2ca86: 0x6c0c4620, 0x2ca87: 0x6c0c4820,\n\t0x2ca88: 0x6c0c4a20, 0x2ca89: 0x6c0c4c20, 0x2ca8a: 0x6c0c4e20, 0x2ca8b: 0x6c173420,\n\t0x2ca8c: 0x6c173620, 0x2ca8d: 0x6c173820, 0x2ca8e: 0x6c173a20, 0x2ca8f: 0x6c173c20,\n\t0x2ca90: 0x6c173e20, 0x2ca91: 0x6c174020, 0x2ca92: 0x6c2a2e20, 0x2ca93: 0x6c2a3020,\n\t0x2ca94: 0x6c2a3220, 0x2ca95: 0x6c2a3420, 0x2ca96: 0x6c2a3620, 0x2ca97: 0x6c445a20,\n\t0x2ca98: 0x6c445c20, 0x2ca99: 0x6c445e20, 0x2ca9a: 0x6c657220, 0x2ca9b: 0x6c657420,\n\t0x2ca9c: 0x6c8c6820, 0x2ca9d: 0x6c8c6a20, 0x2ca9e: 0x6c8c6c20, 0x2ca9f: 0x6cb8c620,\n\t0x2caa0: 0x6cb8c820, 0x2caa1: 0x6ce9e220, 0x2caa2: 0x6d19b620, 0x2caa3: 0x6d766620,\n\t0x2caa4: 0x6e0c6420, 0x2caa5: 0x6c008620, 0x2caa6: 0x6c014820, 0x2caa7: 0x6c02ce20,\n\t0x2caa8: 0x6c0c5a20, 0x2caa9: 0x6c2a4c20, 0x2caaa: 0x6c446c20, 0x2caab: 0x6c008820,\n\t0x2caac: 0x6c02d620, 0x2caad: 0x6c02d820, 0x2caae: 0x6c02da20, 0x2caaf: 0x6c02dc20,\n\t0x2cab0: 0x6c061c20, 0x2cab1: 0x6c0c6820, 0x2cab2: 0x6c0c6a20, 0x2cab3: 0x6c0c6c20,\n\t0x2cab4: 0x6c0c6e20, 0x2cab5: 0x6c176220, 0x2cab6: 0x6c2a5020, 0x2cab7: 0x6c2a5220,\n\t0x2cab8: 0x6c2a5420, 0x2cab9: 0x6c447620, 0x2caba: 0x6c659020, 0x2cabb: 0x6c447820,\n\t0x2cabc: 0x6c659220, 0x2cabd: 0x6c8c7e20, 0x2cabe: 0x6ce9f420, 0x2cabf: 0x6ce9f620,\n\t// Block 0xb2b, offset 0x2cac0\n\t0x2cac0: 0x6d767a20, 0x2cac1: 0x6dc29820, 0x2cac2: 0x6c008c20, 0x2cac3: 0x6c02e620,\n\t0x2cac4: 0x6c02e820, 0x2cac5: 0x6c02ea20, 0x2cac6: 0x6c02ec20, 0x2cac7: 0x6c02ee20,\n\t0x2cac8: 0x6c02f020, 0x2cac9: 0x6c062220, 0x2caca: 0x6c062420, 0x2cacb: 0x6c062620,\n\t0x2cacc: 0x6c062820, 0x2cacd: 0x6c0c7820, 0x2cace: 0x6c0c7a20, 0x2cacf: 0x6c177020,\n\t0x2cad0: 0x6c2a5e20, 0x2cad1: 0x6c448620, 0x2cad2: 0x6c448820, 0x2cad3: 0x6c659a20,\n\t0x2cad4: 0x6c659c20, 0x2cad5: 0x6c8c8820, 0x2cad6: 0x6c008e20, 0x2cad7: 0x6c02fe20,\n\t0x2cad8: 0x6c030020, 0x2cad9: 0x6c063e20, 0x2cada: 0x6c064020, 0x2cadb: 0x6c0c8620,\n\t0x2cadc: 0x6c0c8820, 0x2cadd: 0x6c178020, 0x2cade: 0x6c2a6a20, 0x2cadf: 0x6c449220,\n\t0x2cae0: 0x6c449420, 0x2cae1: 0x6c65a420, 0x2cae2: 0x6c65a620, 0x2cae3: 0x6c65a820,\n\t0x2cae4: 0x6c65aa20, 0x2cae5: 0x6c65ac20, 0x2cae6: 0x6c65ae20, 0x2cae7: 0x6c65b020,\n\t0x2cae8: 0x6c8c9020, 0x2cae9: 0x6d19e020, 0x2caea: 0x6d768820, 0x2caeb: 0x6c009020,\n\t0x2caec: 0x6c064a20, 0x2caed: 0x6c064c20, 0x2caee: 0x6c064e20, 0x2caef: 0x6c065020,\n\t0x2caf0: 0x6c0c9c20, 0x2caf1: 0x6c0c9e20, 0x2caf2: 0x6c0ca020, 0x2caf3: 0x6c0ca220,\n\t0x2caf4: 0x6c0ca420, 0x2caf5: 0x6c179020, 0x2caf6: 0x6c179220, 0x2caf7: 0x6c179420,\n\t0x2caf8: 0x6c179620, 0x2caf9: 0x6c179820, 0x2cafa: 0x6c179a20, 0x2cafb: 0x6c179c20,\n\t0x2cafc: 0x6c2a7e20, 0x2cafd: 0x6c2a8020, 0x2cafe: 0x6c2a8220, 0x2caff: 0x6c2a8420,\n\t// Block 0xb2c, offset 0x2cb00\n\t0x2cb00: 0x6c2a8620, 0x2cb01: 0x6c44a420, 0x2cb02: 0x6c44a620, 0x2cb03: 0x6c44a820,\n\t0x2cb04: 0x6c65c820, 0x2cb05: 0x6c65ca20, 0x2cb06: 0x6c65cc20, 0x2cb07: 0x6c65ce20,\n\t0x2cb08: 0x6c65d020, 0x2cb09: 0x6c65d220, 0x2cb0a: 0x6c65d420, 0x2cb0b: 0x6c65d620,\n\t0x2cb0c: 0x6c65d820, 0x2cb0d: 0x6c65da20, 0x2cb0e: 0x6c65dc20, 0x2cb0f: 0x6c8c9820,\n\t0x2cb10: 0x6c8c9a20, 0x2cb11: 0x6c8c9c20, 0x2cb12: 0x6cb91020, 0x2cb13: 0x6cb91220,\n\t0x2cb14: 0x6cb91420, 0x2cb15: 0x6cb91620, 0x2cb16: 0x6cb91820, 0x2cb17: 0x6cea1420,\n\t0x2cb18: 0x6d19ec20, 0x2cb19: 0x6d487820, 0x2cb1a: 0x6d487a20, 0x2cb1b: 0x6d487c20,\n\t0x2cb1c: 0x6d487e20, 0x2cb1d: 0x6d768e20, 0x2cb1e: 0x6d769020, 0x2cb1f: 0x6da01a20,\n\t0x2cb20: 0x6c009420, 0x2cb21: 0x6c015220, 0x2cb22: 0x6c015420, 0x2cb23: 0x6c015620,\n\t0x2cb24: 0x6c030a20, 0x2cb25: 0x6c065a20, 0x2cb26: 0x6c065c20, 0x2cb27: 0x6c065e20,\n\t0x2cb28: 0x6c0cba20, 0x2cb29: 0x6c0cbc20, 0x2cb2a: 0x6c0cbe20, 0x2cb2b: 0x6c0cc020,\n\t0x2cb2c: 0x6c17b820, 0x2cb2d: 0x6c2a9820, 0x2cb2e: 0x6c2a9a20, 0x2cb2f: 0x6c2a9c20,\n\t0x2cb30: 0x6c8cc020, 0x2cb31: 0x6cb93020, 0x2cb32: 0x6cb93220, 0x2cb33: 0x6d19fe20,\n\t0x2cb34: 0x6d1a0020, 0x2cb35: 0x6c009a20, 0x2cb36: 0x6c031c20, 0x2cb37: 0x6c066820,\n\t0x2cb38: 0x6c066a20, 0x2cb39: 0x6c066c20, 0x2cb3a: 0x6c066e20, 0x2cb3b: 0x6c067020,\n\t0x2cb3c: 0x6c0cd420, 0x2cb3d: 0x6c2ab220, 0x2cb3e: 0x6c44d820, 0x2cb3f: 0x6cb94020,\n\t// Block 0xb2d, offset 0x2cb40\n\t0x2cb40: 0x6c00a020, 0x2cb41: 0x6c00a220, 0x2cb42: 0x6c00a420, 0x2cb43: 0x6c015a20,\n\t0x2cb44: 0x6c015c20, 0x2cb45: 0x6c032420, 0x2cb46: 0x6c032620, 0x2cb47: 0x6c032820,\n\t0x2cb48: 0x6c032a20, 0x2cb49: 0x6c068220, 0x2cb4a: 0x6c068420, 0x2cb4b: 0x6c068620,\n\t0x2cb4c: 0x6c068820, 0x2cb4d: 0x6c068a20, 0x2cb4e: 0x6c0cea20, 0x2cb4f: 0x6c0cec20,\n\t0x2cb50: 0x6c0cee20, 0x2cb51: 0x6c0cf020, 0x2cb52: 0x6c0cf220, 0x2cb53: 0x6c0cf420,\n\t0x2cb54: 0x6c0cf620, 0x2cb55: 0x6c0cf820, 0x2cb56: 0x6c0cfa20, 0x2cb57: 0x6c0cfc20,\n\t0x2cb58: 0x6c0cfe20, 0x2cb59: 0x6c0d0020, 0x2cb5a: 0x6c0d0220, 0x2cb5b: 0x6c0d0420,\n\t0x2cb5c: 0x6c17de20, 0x2cb5d: 0x6c17e020, 0x2cb5e: 0x6c17e220, 0x2cb5f: 0x6c17e420,\n\t0x2cb60: 0x6c17e620, 0x2cb61: 0x6c17e820, 0x2cb62: 0x6c17ea20, 0x2cb63: 0x6c17ec20,\n\t0x2cb64: 0x6c17ee20, 0x2cb65: 0x6c17f020, 0x2cb66: 0x6c17f220, 0x2cb67: 0x6c17f420,\n\t0x2cb68: 0x6c17f620, 0x2cb69: 0x6c17f820, 0x2cb6a: 0x6c17fa20, 0x2cb6b: 0x6c17fc20,\n\t0x2cb6c: 0x6c17fe20, 0x2cb6d: 0x6c180020, 0x2cb6e: 0x6c2ac820, 0x2cb6f: 0x6c2aca20,\n\t0x2cb70: 0x6c2acc20, 0x2cb71: 0x6c2ace20, 0x2cb72: 0x6c2ad020, 0x2cb73: 0x6c2ad220,\n\t0x2cb74: 0x6c2ad420, 0x2cb75: 0x6c2ad620, 0x2cb76: 0x6c2ad820, 0x2cb77: 0x6c2ada20,\n\t0x2cb78: 0x6c2adc20, 0x2cb79: 0x6c2ade20, 0x2cb7a: 0x6c2ae020, 0x2cb7b: 0x6c2ae220,\n\t0x2cb7c: 0x6c2ae420, 0x2cb7d: 0x6c2ae620, 0x2cb7e: 0x6c2ae820, 0x2cb7f: 0x6c2aea20,\n\t// Block 0xb2e, offset 0x2cb80\n\t0x2cb80: 0x6c2aec20, 0x2cb81: 0x6c2aee20, 0x2cb82: 0x6c2af020, 0x2cb83: 0x6c44ea20,\n\t0x2cb84: 0x6c44ec20, 0x2cb85: 0x6c44ee20, 0x2cb86: 0x6c2b4a20, 0x2cb87: 0x6c44f020,\n\t0x2cb88: 0x6c44f220, 0x2cb89: 0x6c44f420, 0x2cb8a: 0x6c44f620, 0x2cb8b: 0x6c44f820,\n\t0x2cb8c: 0x6c44fa20, 0x2cb8d: 0x6c44fc20, 0x2cb8e: 0x6c44fe20, 0x2cb8f: 0x6c450020,\n\t0x2cb90: 0x6c450220, 0x2cb91: 0x6c450420, 0x2cb92: 0x6c661c20, 0x2cb93: 0x6c661e20,\n\t0x2cb94: 0x6c662020, 0x2cb95: 0x6c662220, 0x2cb96: 0x6c662420, 0x2cb97: 0x6c662620,\n\t0x2cb98: 0x6c662820, 0x2cb99: 0x6c662a20, 0x2cb9a: 0x6c662c20, 0x2cb9b: 0x6c662e20,\n\t0x2cb9c: 0x6c663020, 0x2cb9d: 0x6c663220, 0x2cb9e: 0x6c663420, 0x2cb9f: 0x6c663620,\n\t0x2cba0: 0x6c663820, 0x2cba1: 0x6c663a20, 0x2cba2: 0x6c663c20, 0x2cba3: 0x6c663e20,\n\t0x2cba4: 0x6c664020, 0x2cba5: 0x6c664220, 0x2cba6: 0x6c664420, 0x2cba7: 0x6c664620,\n\t0x2cba8: 0x6c8ce420, 0x2cba9: 0x6cb95020, 0x2cbaa: 0x6c8ce620, 0x2cbab: 0x6c8ce820,\n\t0x2cbac: 0x6c8cea20, 0x2cbad: 0x6c8cec20, 0x2cbae: 0x6c8cee20, 0x2cbaf: 0x6c8cf020,\n\t0x2cbb0: 0x6c8cf220, 0x2cbb1: 0x6c8cf420, 0x2cbb2: 0x6cb95220, 0x2cbb3: 0x6cb95420,\n\t0x2cbb4: 0x6cb95620, 0x2cbb5: 0x6cb95820, 0x2cbb6: 0x6c8cf620, 0x2cbb7: 0x6cea4020,\n\t0x2cbb8: 0x6cea4220, 0x2cbb9: 0x6cea4420, 0x2cbba: 0x6cea4620, 0x2cbbb: 0x6cea4820,\n\t0x2cbbc: 0x6cea4a20, 0x2cbbd: 0x6cea4c20, 0x2cbbe: 0x6cea4e20, 0x2cbbf: 0x6cea5020,\n\t// Block 0xb2f, offset 0x2cbc0\n\t0x2cbc0: 0x6d1a2620, 0x2cbc1: 0x6d1a2820, 0x2cbc2: 0x6d1a2a20, 0x2cbc3: 0x6d1a2c20,\n\t0x2cbc4: 0x6d1a2e20, 0x2cbc5: 0x6d489820, 0x2cbc6: 0x6d489a20, 0x2cbc7: 0x6d489c20,\n\t0x2cbc8: 0x6d489e20, 0x2cbc9: 0x6d48a020, 0x2cbca: 0x6d48a220, 0x2cbcb: 0x6d48a420,\n\t0x2cbcc: 0x6d48a620, 0x2cbcd: 0x6d48a820, 0x2cbce: 0x6d48aa20, 0x2cbcf: 0x6d48ac20,\n\t0x2cbd0: 0x6d76aa20, 0x2cbd1: 0x6d76ac20, 0x2cbd2: 0x6d76ae20, 0x2cbd3: 0x6d76b020,\n\t0x2cbd4: 0x6d76b220, 0x2cbd5: 0x6da03420, 0x2cbd6: 0x6de05820, 0x2cbd7: 0x6e0c7220,\n\t0x2cbd8: 0x6e0c7420, 0x2cbd9: 0x6e286020, 0x2cbda: 0x6e286220, 0x2cbdb: 0x6c00a820,\n\t0x2cbdc: 0x6c016020, 0x2cbdd: 0x6c033c20, 0x2cbde: 0x6c033e20, 0x2cbdf: 0x6c06a420,\n\t0x2cbe0: 0x6c06a620, 0x2cbe1: 0x6c06a820, 0x2cbe2: 0x6c06aa20, 0x2cbe3: 0x6c0d4020,\n\t0x2cbe4: 0x6c0d4220, 0x2cbe5: 0x6c0d4420, 0x2cbe6: 0x6c0d4620, 0x2cbe7: 0x6c0d4820,\n\t0x2cbe8: 0x6c0d4a20, 0x2cbe9: 0x6c183c20, 0x2cbea: 0x6c183e20, 0x2cbeb: 0x6c184020,\n\t0x2cbec: 0x6c184220, 0x2cbed: 0x6c184420, 0x2cbee: 0x6c184620, 0x2cbef: 0x6c184820,\n\t0x2cbf0: 0x6c184a20, 0x2cbf1: 0x6c184c20, 0x2cbf2: 0x6c184e20, 0x2cbf3: 0x6c185020,\n\t0x2cbf4: 0x6c185220, 0x2cbf5: 0x6c2b5220, 0x2cbf6: 0x6c2b5420, 0x2cbf7: 0x6c2b5620,\n\t0x2cbf8: 0x6c2b5820, 0x2cbf9: 0x6c2b5a20, 0x2cbfa: 0x6c2b5c20, 0x2cbfb: 0x6c2b5e20,\n\t0x2cbfc: 0x6c2b6020, 0x2cbfd: 0x6c2b6220, 0x2cbfe: 0x6c2b6420, 0x2cbff: 0x6c2b6620,\n\t// Block 0xb30, offset 0x2cc00\n\t0x2cc00: 0x6c455020, 0x2cc01: 0x6c455220, 0x2cc02: 0x6c455420, 0x2cc03: 0x6c455620,\n\t0x2cc04: 0x6c455820, 0x2cc05: 0x6c455a20, 0x2cc06: 0x6c2b8620, 0x2cc07: 0x6c455c20,\n\t0x2cc08: 0x6c455e20, 0x2cc09: 0x6c456020, 0x2cc0a: 0x6c456220, 0x2cc0b: 0x6c456420,\n\t0x2cc0c: 0x6c66ac20, 0x2cc0d: 0x6c66ae20, 0x2cc0e: 0x6c66b020, 0x2cc0f: 0x6c66b220,\n\t0x2cc10: 0x6c66b420, 0x2cc11: 0x6c66b620, 0x2cc12: 0x6c8d4420, 0x2cc13: 0x6c8d4620,\n\t0x2cc14: 0x6c8d4820, 0x2cc15: 0x6c8d4a20, 0x2cc16: 0x6c8d4c20, 0x2cc17: 0x6c9b7c20,\n\t0x2cc18: 0x6c8d4e20, 0x2cc19: 0x6c8d5020, 0x2cc1a: 0x6c8d5220, 0x2cc1b: 0x6cb9ac20,\n\t0x2cc1c: 0x6cb9ae20, 0x2cc1d: 0x6cb9b020, 0x2cc1e: 0x6cb9b220, 0x2cc1f: 0x6cea9220,\n\t0x2cc20: 0x6cea9420, 0x2cc21: 0x6cea9620, 0x2cc22: 0x6cea9820, 0x2cc23: 0x6cea9a20,\n\t0x2cc24: 0x6cea9c20, 0x2cc25: 0x6cea9e20, 0x2cc26: 0x6ceaa020, 0x2cc27: 0x6ceaa220,\n\t0x2cc28: 0x6d1a7820, 0x2cc29: 0x6d1a7a20, 0x2cc2a: 0x6d1a7c20, 0x2cc2b: 0x6d1a7e20,\n\t0x2cc2c: 0x6d1a8020, 0x2cc2d: 0x6d1a8220, 0x2cc2e: 0x6d48da20, 0x2cc2f: 0x6d48dc20,\n\t0x2cc30: 0x6d48de20, 0x2cc31: 0x6d48e020, 0x2cc32: 0x6d48e220, 0x2cc33: 0x6d76da20,\n\t0x2cc34: 0x6da05c20, 0x2cc35: 0x6da05e20, 0x2cc36: 0x6da06020, 0x2cc37: 0x6de06020,\n\t0x2cc38: 0x6de06620, 0x2cc39: 0x6c00aa20, 0x2cc3a: 0x6c016420, 0x2cc3b: 0x6c034620,\n\t0x2cc3c: 0x6c034820, 0x2cc3d: 0x6c034a20, 0x2cc3e: 0x6c034c20, 0x2cc3f: 0x6c034e20,\n\t// Block 0xb31, offset 0x2cc40\n\t0x2cc40: 0x6c035020, 0x2cc41: 0x6c035220, 0x2cc42: 0x6c035420, 0x2cc43: 0x6c06b420,\n\t0x2cc44: 0x6c06b620, 0x2cc45: 0x6c06b820, 0x2cc46: 0x6c06ba20, 0x2cc47: 0x6c06bc20,\n\t0x2cc48: 0x6c0d5e20, 0x2cc49: 0x6c187820, 0x2cc4a: 0x6c2b8820, 0x2cc4b: 0x6c2b8a20,\n\t0x2cc4c: 0x6c2b8c20, 0x2cc4d: 0x6c458220, 0x2cc4e: 0x6c66de20, 0x2cc4f: 0x6c8d6c20,\n\t0x2cc50: 0x6c8d6e20, 0x2cc51: 0x6cb9d620, 0x2cc52: 0x6cb9d820, 0x2cc53: 0x6c8d7e20,\n\t0x2cc54: 0x6d48f220, 0x2cc55: 0x6c00ac20, 0x2cc56: 0x6c035a20, 0x2cc57: 0x6c06c620,\n\t0x2cc58: 0x6c8d8220, 0x2cc59: 0x6c8d8420, 0x2cc5a: 0x6c00b020, 0x2cc5b: 0x6c06ca20,\n\t0x2cc5c: 0x6c06cc20, 0x2cc5d: 0x6c06ce20, 0x2cc5e: 0x6c06d020, 0x2cc5f: 0x6c0d6820,\n\t0x2cc60: 0x6c0d6a20, 0x2cc61: 0x6c0d6c20, 0x2cc62: 0x6c0d6e20, 0x2cc63: 0x6c189020,\n\t0x2cc64: 0x6c189220, 0x2cc65: 0x6c189420, 0x2cc66: 0x6c2b9e20, 0x2cc67: 0x6c45a020,\n\t0x2cc68: 0x6c45a220, 0x2cc69: 0x6c45a420, 0x2cc6a: 0x6c66fc20, 0x2cc6b: 0x6c66fe20,\n\t0x2cc6c: 0x6c8d8820, 0x2cc6d: 0x6c8d8a20, 0x2cc6e: 0x6c8d8c20, 0x2cc6f: 0x6cead820,\n\t0x2cc70: 0x6d1abc20, 0x2cc71: 0x6d1abe20, 0x2cc72: 0x6d1ac020, 0x2cc73: 0x6d48f620,\n\t0x2cc74: 0x6d76ea20, 0x2cc75: 0x6da07820, 0x2cc76: 0x6de06820, 0x2cc77: 0x6df8ba20,\n\t0x2cc78: 0x6c00b420, 0x2cc79: 0x6c036020, 0x2cc7a: 0x6c036220, 0x2cc7b: 0x6c18a620,\n\t0x2cc7c: 0x6c2ba820, 0x2cc7d: 0x6c45c020, 0x2cc7e: 0x6c8d9220, 0x2cc7f: 0x6c8d9420,\n\t// Block 0xb32, offset 0x2cc80\n\t0x2cc80: 0x6c8d9620, 0x2cc81: 0x6c00b620, 0x2cc82: 0x6c016820, 0x2cc83: 0x6c016a20,\n\t0x2cc84: 0x6c00e620, 0x2cc85: 0x6c036820, 0x2cc86: 0x6c036a20, 0x2cc87: 0x6c036c20,\n\t0x2cc88: 0x6c036e20, 0x2cc89: 0x6c06d220, 0x2cc8a: 0x6c06d420, 0x2cc8b: 0x6c0d8420,\n\t0x2cc8c: 0x6c06d620, 0x2cc8d: 0x6c0d8620, 0x2cc8e: 0x6c0d8820, 0x2cc8f: 0x6c0d8a20,\n\t0x2cc90: 0x6c0d8c20, 0x2cc91: 0x6c2bac20, 0x2cc92: 0x6c2bae20, 0x2cc93: 0x6c2bb020,\n\t0x2cc94: 0x6c2bb220, 0x2cc95: 0x6c2bb420, 0x2cc96: 0x6c2bb620, 0x2cc97: 0x6c45c820,\n\t0x2cc98: 0x6c45ca20, 0x2cc99: 0x6c8d9820, 0x2cc9a: 0x6cb9f220, 0x2cc9b: 0x6e0c8420,\n\t0x2cc9c: 0x6c00ba20, 0x2cc9d: 0x6c037620, 0x2cc9e: 0x6c037820, 0x2cc9f: 0x6c06e220,\n\t0x2cca0: 0x6c06e420, 0x2cca1: 0x6c06e620, 0x2cca2: 0x6c06e820, 0x2cca3: 0x6c18c020,\n\t0x2cca4: 0x6c18c220, 0x2cca5: 0x6c2bd620, 0x2cca6: 0x6c2bd820, 0x2cca7: 0x6c2bda20,\n\t0x2cca8: 0x6c8da820, 0x2cca9: 0x6c00bc20, 0x2ccaa: 0x6c017220, 0x2ccab: 0x6c017420,\n\t0x2ccac: 0x6c037c20, 0x2ccad: 0x6c06ec20, 0x2ccae: 0x6c06ee20, 0x2ccaf: 0x6c06f020,\n\t0x2ccb0: 0x6c0db820, 0x2ccb1: 0x6c0dba20, 0x2ccb2: 0x6c18d220, 0x2ccb3: 0x6c18d420,\n\t0x2ccb4: 0x6c18d620, 0x2ccb5: 0x6c18d820, 0x2ccb6: 0x6c2bf420, 0x2ccb7: 0x6c2bf620,\n\t0x2ccb8: 0x6c2bf820, 0x2ccb9: 0x6c2bfa20, 0x2ccba: 0x6c2bfc20, 0x2ccbb: 0x6c45e420,\n\t0x2ccbc: 0x6c45e620, 0x2ccbd: 0x6c45e820, 0x2ccbe: 0x6c8db620, 0x2ccbf: 0x6c673020,\n\t// Block 0xb33, offset 0x2ccc0\n\t0x2ccc0: 0x6ceaf820, 0x2ccc1: 0x6ceafa20, 0x2ccc2: 0x6c00be20, 0x2ccc3: 0x6c038620,\n\t0x2ccc4: 0x6c038820, 0x2ccc5: 0x6c038a20, 0x2ccc6: 0x6c038c20, 0x2ccc7: 0x6c06f420,\n\t0x2ccc8: 0x6c06f620, 0x2ccc9: 0x6c06f820, 0x2ccca: 0x6c0dce20, 0x2cccb: 0x6c0dd020,\n\t0x2cccc: 0x6c0dd220, 0x2cccd: 0x6c0dd420, 0x2ccce: 0x6c18e220, 0x2cccf: 0x6c18e420,\n\t0x2ccd0: 0x6c18e620, 0x2ccd1: 0x6c18e820, 0x2ccd2: 0x6c2c0420, 0x2ccd3: 0x6c2c0620,\n\t0x2ccd4: 0x6c2c0820, 0x2ccd5: 0x6c2c0a20, 0x2ccd6: 0x6c45f820, 0x2ccd7: 0x6c45fa20,\n\t0x2ccd8: 0x6c45fc20, 0x2ccd9: 0x6c45fe20, 0x2ccda: 0x6c460020, 0x2ccdb: 0x6c460220,\n\t0x2ccdc: 0x6c673820, 0x2ccdd: 0x6c673a20, 0x2ccde: 0x6c673c20, 0x2ccdf: 0x6c673e20,\n\t0x2cce0: 0x6c8db820, 0x2cce1: 0x6c8dba20, 0x2cce2: 0x6c8dbc20, 0x2cce3: 0x6c8dbe20,\n\t0x2cce4: 0x6cba0c20, 0x2cce5: 0x6cba0e20, 0x2cce6: 0x6cba1020, 0x2cce7: 0x6cba1220,\n\t0x2cce8: 0x6cba1420, 0x2cce9: 0x6c8dc020, 0x2ccea: 0x6ceb0420, 0x2cceb: 0x6ceb0620,\n\t0x2ccec: 0x6d1ae020, 0x2cced: 0x6d1ae220, 0x2ccee: 0x6d1ae420, 0x2ccef: 0x6ceb2020,\n\t0x2ccf0: 0x6d1ae620, 0x2ccf1: 0x6d491a20, 0x2ccf2: 0x6d491c20, 0x2ccf3: 0x6da08820,\n\t0x2ccf4: 0x6de07020, 0x2ccf5: 0x6e451620, 0x2ccf6: 0x6c00c020, 0x2ccf7: 0x6c039220,\n\t0x2ccf8: 0x6c039420, 0x2ccf9: 0x6c039620, 0x2ccfa: 0x6c070a20, 0x2ccfb: 0x6c070c20,\n\t0x2ccfc: 0x6c070e20, 0x2ccfd: 0x6c0df220, 0x2ccfe: 0x6c0df420, 0x2ccff: 0x6c190420,\n\t// Block 0xb34, offset 0x2cd00\n\t0x2cd00: 0x6c2c2820, 0x2cd01: 0x6c2c2a20, 0x2cd02: 0x6c2c2c20, 0x2cd03: 0x6c8de620,\n\t0x2cd04: 0x6c8de820, 0x2cd05: 0x6cba2e20, 0x2cd06: 0x6d1b1420, 0x2cd07: 0x6d493c20,\n\t0x2cd08: 0x6c00c420, 0x2cd09: 0x6c017e20, 0x2cd0a: 0x6c03a020, 0x2cd0b: 0x6c03a220,\n\t0x2cd0c: 0x6c03a420, 0x2cd0d: 0x6c03a620, 0x2cd0e: 0x6c03a820, 0x2cd0f: 0x6c071a20,\n\t0x2cd10: 0x6c071c20, 0x2cd11: 0x6c071e20, 0x2cd12: 0x6c0e0820, 0x2cd13: 0x6c190e20,\n\t0x2cd14: 0x6c2c3c20, 0x2cd15: 0x6c2c3e20, 0x2cd16: 0x6c2c4020, 0x2cd17: 0x6c2c4220,\n\t0x2cd18: 0x6c2c4420, 0x2cd19: 0x6c464020, 0x2cd1a: 0x6c464220, 0x2cd1b: 0x6c464420,\n\t0x2cd1c: 0x6c464620, 0x2cd1d: 0x6c464820, 0x2cd1e: 0x6c677c20, 0x2cd1f: 0x6c677e20,\n\t0x2cd20: 0x6ceb3220, 0x2cd21: 0x6d76fc20, 0x2cd22: 0x6dc2f620, 0x2cd23: 0x6c018020,\n\t0x2cd24: 0x6c073620, 0x2cd25: 0x6c073820, 0x2cd26: 0x6c073a20, 0x2cd27: 0x6c073c20,\n\t0x2cd28: 0x6c073e20, 0x2cd29: 0x6c074020, 0x2cd2a: 0x6c074220, 0x2cd2b: 0x6c074420,\n\t0x2cd2c: 0x6c074620, 0x2cd2d: 0x6c074820, 0x2cd2e: 0x6c074a20, 0x2cd2f: 0x6c074c20,\n\t0x2cd30: 0x6c074e20, 0x2cd31: 0x6c075020, 0x2cd32: 0x6c075220, 0x2cd33: 0x6c075420,\n\t0x2cd34: 0x6c075620, 0x2cd35: 0x6c075820, 0x2cd36: 0x6c075a20, 0x2cd37: 0x6c075c20,\n\t0x2cd38: 0x6c075e20, 0x2cd39: 0x6c076020, 0x2cd3a: 0x6c076220, 0x2cd3b: 0x6c076420,\n\t0x2cd3c: 0x6c076620, 0x2cd3d: 0x6c076820, 0x2cd3e: 0x6c076a20, 0x2cd3f: 0x6c0e2220,\n\t// Block 0xb35, offset 0x2cd40\n\t0x2cd40: 0x6c0e2420, 0x2cd41: 0x6c0e2620, 0x2cd42: 0x6c0e2820, 0x2cd43: 0x6c0e2a20,\n\t0x2cd44: 0x6c0e2c20, 0x2cd45: 0x6c0e2e20, 0x2cd46: 0x6c0e3020, 0x2cd47: 0x6c0e3220,\n\t0x2cd48: 0x6c0e3420, 0x2cd49: 0x6c0e3620, 0x2cd4a: 0x6c0e3820, 0x2cd4b: 0x6c0e3a20,\n\t0x2cd4c: 0x6c0e3c20, 0x2cd4d: 0x6c0e3e20, 0x2cd4e: 0x6c0e4020, 0x2cd4f: 0x6c0e4220,\n\t0x2cd50: 0x6c0e4420, 0x2cd51: 0x6c0e4620, 0x2cd52: 0x6c0e4820, 0x2cd53: 0x6c0e4a20,\n\t0x2cd54: 0x6c0e4c20, 0x2cd55: 0x6c0e4e20, 0x2cd56: 0x6c0e5020, 0x2cd57: 0x6c0e5220,\n\t0x2cd58: 0x6c193e20, 0x2cd59: 0x6c194020, 0x2cd5a: 0x6c194220, 0x2cd5b: 0x6c194420,\n\t0x2cd5c: 0x6c194620, 0x2cd5d: 0x6c194820, 0x2cd5e: 0x6c194a20, 0x2cd5f: 0x6c194c20,\n\t0x2cd60: 0x6c194e20, 0x2cd61: 0x6c195020, 0x2cd62: 0x6c195220, 0x2cd63: 0x6c195420,\n\t0x2cd64: 0x6c195620, 0x2cd65: 0x6c195820, 0x2cd66: 0x6c195a20, 0x2cd67: 0x6c195c20,\n\t0x2cd68: 0x6c195e20, 0x2cd69: 0x6c196020, 0x2cd6a: 0x6c196220, 0x2cd6b: 0x6c196420,\n\t0x2cd6c: 0x6c196620, 0x2cd6d: 0x6c196820, 0x2cd6e: 0x6c196a20, 0x2cd6f: 0x6c196c20,\n\t0x2cd70: 0x6c196e20, 0x2cd71: 0x6c197020, 0x2cd72: 0x6c197220, 0x2cd73: 0x6c197420,\n\t0x2cd74: 0x6c197620, 0x2cd75: 0x6c197820, 0x2cd76: 0x6c197a20, 0x2cd77: 0x6c197c20,\n\t0x2cd78: 0x6c197e20, 0x2cd79: 0x6c198020, 0x2cd7a: 0x6c198220, 0x2cd7b: 0x6c198420,\n\t0x2cd7c: 0x6c198620, 0x2cd7d: 0x6c198820, 0x2cd7e: 0x6c198a20, 0x2cd7f: 0x6c198c20,\n\t// Block 0xb36, offset 0x2cd80\n\t0x2cd80: 0x6c198e20, 0x2cd81: 0x6c199020, 0x2cd82: 0x6c199220, 0x2cd83: 0x6c199420,\n\t0x2cd84: 0x6c199620, 0x2cd85: 0x6c199820, 0x2cd86: 0x6c199a20, 0x2cd87: 0x6c199c20,\n\t0x2cd88: 0x6c199e20, 0x2cd89: 0x6c19a020, 0x2cd8a: 0x6c19a220, 0x2cd8b: 0x6c19a420,\n\t0x2cd8c: 0x6c19a620, 0x2cd8d: 0x6c19a820, 0x2cd8e: 0x6c19aa20, 0x2cd8f: 0x6c19ac20,\n\t0x2cd90: 0x6c19ae20, 0x2cd91: 0x6c19b020, 0x2cd92: 0x6c19b220, 0x2cd93: 0x6c19b420,\n\t0x2cd94: 0x6c19b620, 0x2cd95: 0x6c19b820, 0x2cd96: 0x6c19ba20, 0x2cd97: 0x6c19bc20,\n\t0x2cd98: 0x6c19be20, 0x2cd99: 0x6c19c020, 0x2cd9a: 0x6c19c220, 0x2cd9b: 0x6c19c420,\n\t0x2cd9c: 0x6c19c620, 0x2cd9d: 0x6c2c6820, 0x2cd9e: 0x6c2c6a20, 0x2cd9f: 0x6c2c6c20,\n\t0x2cda0: 0x6c2c6e20, 0x2cda1: 0x6c2c7020, 0x2cda2: 0x6c2c7220, 0x2cda3: 0x6c2c7420,\n\t0x2cda4: 0x6c2c7620, 0x2cda5: 0x6c2c7820, 0x2cda6: 0x6c2c7a20, 0x2cda7: 0x6c2c7c20,\n\t0x2cda8: 0x6c2c7e20, 0x2cda9: 0x6c2c8020, 0x2cdaa: 0x6c2c8220, 0x2cdab: 0x6c2c8420,\n\t0x2cdac: 0x6c2c8620, 0x2cdad: 0x6c2c8820, 0x2cdae: 0x6c2c8a20, 0x2cdaf: 0x6c2c8c20,\n\t0x2cdb0: 0x6c466420, 0x2cdb1: 0x6c2c8e20, 0x2cdb2: 0x6c466620, 0x2cdb3: 0x6c2c9020,\n\t0x2cdb4: 0x6c2c9220, 0x2cdb5: 0x6c2c9420, 0x2cdb6: 0x6c2c9620, 0x2cdb7: 0x6c2c9820,\n\t0x2cdb8: 0x6c2c9a20, 0x2cdb9: 0x6c2c9c20, 0x2cdba: 0x6c2c9e20, 0x2cdbb: 0x6c2ca020,\n\t0x2cdbc: 0x6c2ca220, 0x2cdbd: 0x6c2ca420, 0x2cdbe: 0x6c2ca620, 0x2cdbf: 0x6c2ca820,\n\t// Block 0xb37, offset 0x2cdc0\n\t0x2cdc0: 0x6c2caa20, 0x2cdc1: 0x6c2cac20, 0x2cdc2: 0x6c2cae20, 0x2cdc3: 0x6c2cb020,\n\t0x2cdc4: 0x6c2cb220, 0x2cdc5: 0x6c2cb420, 0x2cdc6: 0x6c2cb620, 0x2cdc7: 0x6c2cb820,\n\t0x2cdc8: 0x6c2cba20, 0x2cdc9: 0x6c2cbc20, 0x2cdca: 0x6c2cbe20, 0x2cdcb: 0x6c2cc020,\n\t0x2cdcc: 0x6c2cc220, 0x2cdcd: 0x6c2cc420, 0x2cdce: 0x6c2cc620, 0x2cdcf: 0x6c2cc820,\n\t0x2cdd0: 0x6c2cca20, 0x2cdd1: 0x6c2ccc20, 0x2cdd2: 0x6c2cce20, 0x2cdd3: 0x6c2cd020,\n\t0x2cdd4: 0x6c2cd220, 0x2cdd5: 0x6c2cd420, 0x2cdd6: 0x6c2cd620, 0x2cdd7: 0x6c2cd820,\n\t0x2cdd8: 0x6c2cda20, 0x2cdd9: 0x6c2cdc20, 0x2cdda: 0x6c2cde20, 0x2cddb: 0x6c2ce020,\n\t0x2cddc: 0x6c2ce220, 0x2cddd: 0x6c2ce420, 0x2cdde: 0x6c468620, 0x2cddf: 0x6c468820,\n\t0x2cde0: 0x6c468a20, 0x2cde1: 0x6c468c20, 0x2cde2: 0x6c468e20, 0x2cde3: 0x6c469020,\n\t0x2cde4: 0x6c469220, 0x2cde5: 0x6c469420, 0x2cde6: 0x6c469620, 0x2cde7: 0x6c469820,\n\t0x2cde8: 0x6c469a20, 0x2cde9: 0x6c469c20, 0x2cdea: 0x6c469e20, 0x2cdeb: 0x6c46a020,\n\t0x2cdec: 0x6c46a220, 0x2cded: 0x6c46a420, 0x2cdee: 0x6c46a620, 0x2cdef: 0x6c46a820,\n\t0x2cdf0: 0x6c46aa20, 0x2cdf1: 0x6c46ac20, 0x2cdf2: 0x6c46ae20, 0x2cdf3: 0x6c46b020,\n\t0x2cdf4: 0x6c46b220, 0x2cdf5: 0x6c46b420, 0x2cdf6: 0x6c46b620, 0x2cdf7: 0x6c46b820,\n\t0x2cdf8: 0x6c46ba20, 0x2cdf9: 0x6c46bc20, 0x2cdfa: 0x6c46be20, 0x2cdfb: 0x6c46c020,\n\t0x2cdfc: 0x6c46c220, 0x2cdfd: 0x6c46c420, 0x2cdfe: 0x6c46c620, 0x2cdff: 0x6c46c820,\n\t// Block 0xb38, offset 0x2ce00\n\t0x2ce00: 0x6c46ca20, 0x2ce01: 0x6c46cc20, 0x2ce02: 0x6c46ce20, 0x2ce03: 0x6c46d020,\n\t0x2ce04: 0x6c46d220, 0x2ce05: 0x6c46d420, 0x2ce06: 0x6c46d620, 0x2ce07: 0x6c46d820,\n\t0x2ce08: 0x6c46da20, 0x2ce09: 0x6c46dc20, 0x2ce0a: 0x6c46de20, 0x2ce0b: 0x6c46e020,\n\t0x2ce0c: 0x6c46e220, 0x2ce0d: 0x6c46e420, 0x2ce0e: 0x6c46e620, 0x2ce0f: 0x6c46e820,\n\t0x2ce10: 0x6c46ea20, 0x2ce11: 0x6c46ec20, 0x2ce12: 0x6c46ee20, 0x2ce13: 0x6c46f020,\n\t0x2ce14: 0x6c46f220, 0x2ce15: 0x6c46f420, 0x2ce16: 0x6c46f620, 0x2ce17: 0x6c46f820,\n\t0x2ce18: 0x6c46fa20, 0x2ce19: 0x6c46fc20, 0x2ce1a: 0x6c46fe20, 0x2ce1b: 0x6c470020,\n\t0x2ce1c: 0x6c470220, 0x2ce1d: 0x6c470420, 0x2ce1e: 0x6c470620, 0x2ce1f: 0x6c470820,\n\t0x2ce20: 0x6c67ba20, 0x2ce21: 0x6c67bc20, 0x2ce22: 0x6c67be20, 0x2ce23: 0x6c67c020,\n\t0x2ce24: 0x6c67c220, 0x2ce25: 0x6c67c420, 0x2ce26: 0x6c67c620, 0x2ce27: 0x6c67c820,\n\t0x2ce28: 0x6c67ca20, 0x2ce29: 0x6c67cc20, 0x2ce2a: 0x6c67ce20, 0x2ce2b: 0x6c67d020,\n\t0x2ce2c: 0x6c67d220, 0x2ce2d: 0x6c67d420, 0x2ce2e: 0x6c67d620, 0x2ce2f: 0x6c67d820,\n\t0x2ce30: 0x6c67da20, 0x2ce31: 0x6c67dc20, 0x2ce32: 0x6c67de20, 0x2ce33: 0x6c67e020,\n\t0x2ce34: 0x6c67e220, 0x2ce35: 0x6c67e420, 0x2ce36: 0x6c67e620, 0x2ce37: 0x6c67e820,\n\t0x2ce38: 0x6c67ea20, 0x2ce39: 0x6c67ec20, 0x2ce3a: 0x6c67ee20, 0x2ce3b: 0x6c67f020,\n\t0x2ce3c: 0x6c67f220, 0x2ce3d: 0x6c67f420, 0x2ce3e: 0x6c67f620, 0x2ce3f: 0x6c67f820,\n\t// Block 0xb39, offset 0x2ce40\n\t0x2ce40: 0x6c67fa20, 0x2ce41: 0x6c67fc20, 0x2ce42: 0x6c67fe20, 0x2ce43: 0x6c680020,\n\t0x2ce44: 0x6c680220, 0x2ce45: 0x6c680420, 0x2ce46: 0x6c680620, 0x2ce47: 0x6c680820,\n\t0x2ce48: 0x6c680a20, 0x2ce49: 0x6c680c20, 0x2ce4a: 0x6c680e20, 0x2ce4b: 0x6c681020,\n\t0x2ce4c: 0x6c8e1020, 0x2ce4d: 0x6c681220, 0x2ce4e: 0x6c681420, 0x2ce4f: 0x6c681620,\n\t0x2ce50: 0x6c681820, 0x2ce51: 0x6c681a20, 0x2ce52: 0x6c681c20, 0x2ce53: 0x6c681e20,\n\t0x2ce54: 0x6c682020, 0x2ce55: 0x6c682220, 0x2ce56: 0x6c682420, 0x2ce57: 0x6c682620,\n\t0x2ce58: 0x6c682820, 0x2ce59: 0x6c682a20, 0x2ce5a: 0x6c682c20, 0x2ce5b: 0x6c682e20,\n\t0x2ce5c: 0x6c683020, 0x2ce5d: 0x6c683220, 0x2ce5e: 0x6c683420, 0x2ce5f: 0x6c683620,\n\t0x2ce60: 0x6c683820, 0x2ce61: 0x6c683a20, 0x2ce62: 0x6c683c20, 0x2ce63: 0x6c683e20,\n\t0x2ce64: 0x6c684020, 0x2ce65: 0x6c684220, 0x2ce66: 0x6c684420, 0x2ce67: 0x6c684620,\n\t0x2ce68: 0x6c8e4020, 0x2ce69: 0x6c8e4220, 0x2ce6a: 0x6c8e4420, 0x2ce6b: 0x6c8e4620,\n\t0x2ce6c: 0x6c8e4820, 0x2ce6d: 0x6c8e4a20, 0x2ce6e: 0x6c8e4c20, 0x2ce6f: 0x6c8e4e20,\n\t0x2ce70: 0x6c8e5020, 0x2ce71: 0x6c8e5220, 0x2ce72: 0x6c8e5420, 0x2ce73: 0x6c8e5620,\n\t0x2ce74: 0x6c8e5820, 0x2ce75: 0x6c8e5a20, 0x2ce76: 0x6c8e5c20, 0x2ce77: 0x6c8e5e20,\n\t0x2ce78: 0x6c8e6020, 0x2ce79: 0x6c8e6220, 0x2ce7a: 0x6c8e6420, 0x2ce7b: 0x6c8e6620,\n\t0x2ce7c: 0x6c8e6820, 0x2ce7d: 0x6c8e6a20, 0x2ce7e: 0x6c8e6c20, 0x2ce7f: 0x6c8e6e20,\n\t// Block 0xb3a, offset 0x2ce80\n\t0x2ce80: 0x6c8e7020, 0x2ce81: 0x6c8e7220, 0x2ce82: 0x6c8e7420, 0x2ce83: 0x6c8e7620,\n\t0x2ce84: 0x6c8e7820, 0x2ce85: 0x6c8e7a20, 0x2ce86: 0x6c8e7c20, 0x2ce87: 0x6c8e7e20,\n\t0x2ce88: 0x6c8e8020, 0x2ce89: 0x6c8e8220, 0x2ce8a: 0x6c8e8420, 0x2ce8b: 0x6c8e8620,\n\t0x2ce8c: 0x6c8e8820, 0x2ce8d: 0x6c8e8a20, 0x2ce8e: 0x6c8e8c20, 0x2ce8f: 0x6c8e8e20,\n\t0x2ce90: 0x6c8e9020, 0x2ce91: 0x6c8e9220, 0x2ce92: 0x6c8e9420, 0x2ce93: 0x6c8e9620,\n\t0x2ce94: 0x6c8e9820, 0x2ce95: 0x6c8e9a20, 0x2ce96: 0x6c8e9c20, 0x2ce97: 0x6c8e9e20,\n\t0x2ce98: 0x6c8ea020, 0x2ce99: 0x6cba9420, 0x2ce9a: 0x6c8ea220, 0x2ce9b: 0x6c8ea420,\n\t0x2ce9c: 0x6c8ea620, 0x2ce9d: 0x6c8ea820, 0x2ce9e: 0x6c8eaa20, 0x2ce9f: 0x6c9aaa20,\n\t0x2cea0: 0x6c8eac20, 0x2cea1: 0x6c8eae20, 0x2cea2: 0x6c8eb020, 0x2cea3: 0x6c8eb220,\n\t0x2cea4: 0x6c8eb420, 0x2cea5: 0x6c8eb620, 0x2cea6: 0x6c8eb820, 0x2cea7: 0x6c8eba20,\n\t0x2cea8: 0x6c8ebc20, 0x2cea9: 0x6c8ebe20, 0x2ceaa: 0x6c8ec020, 0x2ceab: 0x6c901820,\n\t0x2ceac: 0x6c8ec220, 0x2cead: 0x6c8ec420, 0x2ceae: 0x6c8ec620, 0x2ceaf: 0x6c8ec820,\n\t0x2ceb0: 0x6c8eca20, 0x2ceb1: 0x6c8ecc20, 0x2ceb2: 0x6c8ece20, 0x2ceb3: 0x6c8ed020,\n\t0x2ceb4: 0x6c8ed220, 0x2ceb5: 0x6c8ed420, 0x2ceb6: 0x6c8ed620, 0x2ceb7: 0x6c8ed820,\n\t0x2ceb8: 0x6c8eda20, 0x2ceb9: 0x6c8edc20, 0x2ceba: 0x6cba9620, 0x2cebb: 0x6cba9820,\n\t0x2cebc: 0x6cba9a20, 0x2cebd: 0x6cba9c20, 0x2cebe: 0x6cba9e20, 0x2cebf: 0x6cbaa020,\n\t// Block 0xb3b, offset 0x2cec0\n\t0x2cec0: 0x6cbaa220, 0x2cec1: 0x6cbaa420, 0x2cec2: 0x6cbaa620, 0x2cec3: 0x6cbaa820,\n\t0x2cec4: 0x6cbaaa20, 0x2cec5: 0x6cbaac20, 0x2cec6: 0x6cbaae20, 0x2cec7: 0x6cbab020,\n\t0x2cec8: 0x6cbab220, 0x2cec9: 0x6cbab420, 0x2ceca: 0x6cbab620, 0x2cecb: 0x6cbab820,\n\t0x2cecc: 0x6cbaba20, 0x2cecd: 0x6ceb6e20, 0x2cece: 0x6cbabc20, 0x2cecf: 0x6cbabe20,\n\t0x2ced0: 0x6cbac020, 0x2ced1: 0x6cbac220, 0x2ced2: 0x6cbac420, 0x2ced3: 0x6cbac620,\n\t0x2ced4: 0x6cbac820, 0x2ced5: 0x6cbaca20, 0x2ced6: 0x6cbacc20, 0x2ced7: 0x6cbace20,\n\t0x2ced8: 0x6cbad020, 0x2ced9: 0x6cbad220, 0x2ceda: 0x6cbad420, 0x2cedb: 0x6cbad620,\n\t0x2cedc: 0x6cbad820, 0x2cedd: 0x6cbada20, 0x2cede: 0x6cbadc20, 0x2cedf: 0x6cbade20,\n\t0x2cee0: 0x6cbae020, 0x2cee1: 0x6cbae220, 0x2cee2: 0x6cbae420, 0x2cee3: 0x6cbae620,\n\t0x2cee4: 0x6cbae820, 0x2cee5: 0x6cbaea20, 0x2cee6: 0x6cbaec20, 0x2cee7: 0x6cbaee20,\n\t0x2cee8: 0x6cbaf020, 0x2cee9: 0x6cbaf220, 0x2ceea: 0x6cbaf420, 0x2ceeb: 0x6cbaf620,\n\t0x2ceec: 0x6cbaf820, 0x2ceed: 0x6cbafa20, 0x2ceee: 0x6cbafc20, 0x2ceef: 0x6cbafe20,\n\t0x2cef0: 0x6cbb0020, 0x2cef1: 0x6cbb0220, 0x2cef2: 0x6cbb0420, 0x2cef3: 0x6cbb0620,\n\t0x2cef4: 0x6cbb0820, 0x2cef5: 0x6cbb0a20, 0x2cef6: 0x6c901a20, 0x2cef7: 0x6cbb0c20,\n\t0x2cef8: 0x6cbb0e20, 0x2cef9: 0x6cbb1020, 0x2cefa: 0x6cbb1220, 0x2cefb: 0x6cbb1420,\n\t0x2cefc: 0x6cbb1620, 0x2cefd: 0x6cbb1820, 0x2cefe: 0x6cbb1a20, 0x2ceff: 0x6ceb7020,\n\t// Block 0xb3c, offset 0x2cf00\n\t0x2cf00: 0x6ceb7220, 0x2cf01: 0x6ceb7420, 0x2cf02: 0x6ceb7620, 0x2cf03: 0x6ceb7820,\n\t0x2cf04: 0x6ceb7a20, 0x2cf05: 0x6ceb7c20, 0x2cf06: 0x6ceb7e20, 0x2cf07: 0x6ceb8020,\n\t0x2cf08: 0x6ceb8220, 0x2cf09: 0x6ceb8420, 0x2cf0a: 0x6ceb8620, 0x2cf0b: 0x6ceb8820,\n\t0x2cf0c: 0x6ceb8a20, 0x2cf0d: 0x6ceb8c20, 0x2cf0e: 0x6ceb8e20, 0x2cf0f: 0x6ceb9020,\n\t0x2cf10: 0x6ceb9220, 0x2cf11: 0x6ceb9420, 0x2cf12: 0x6ceb9620, 0x2cf13: 0x6ceb9820,\n\t0x2cf14: 0x6ceb9a20, 0x2cf15: 0x6ceb9c20, 0x2cf16: 0x6ceb9e20, 0x2cf17: 0x6ceba020,\n\t0x2cf18: 0x6ceba220, 0x2cf19: 0x6ceba420, 0x2cf1a: 0x6ceba620, 0x2cf1b: 0x6ceba820,\n\t0x2cf1c: 0x6cebaa20, 0x2cf1d: 0x6cebac20, 0x2cf1e: 0x6cbc3e20, 0x2cf1f: 0x6cebae20,\n\t0x2cf20: 0x6cebb020, 0x2cf21: 0x6cebb220, 0x2cf22: 0x6cebb420, 0x2cf23: 0x6cebb620,\n\t0x2cf24: 0x6cebb820, 0x2cf25: 0x6cebba20, 0x2cf26: 0x6cebbc20, 0x2cf27: 0x6cebbe20,\n\t0x2cf28: 0x6cebc020, 0x2cf29: 0x6cebc220, 0x2cf2a: 0x6cebc420, 0x2cf2b: 0x6cebc620,\n\t0x2cf2c: 0x6cebc820, 0x2cf2d: 0x6cebca20, 0x2cf2e: 0x6cebcc20, 0x2cf2f: 0x6cebce20,\n\t0x2cf30: 0x6cebd020, 0x2cf31: 0x6cebd220, 0x2cf32: 0x6cebd420, 0x2cf33: 0x6cebd620,\n\t0x2cf34: 0x6cebd820, 0x2cf35: 0x6cebda20, 0x2cf36: 0x6d1b5220, 0x2cf37: 0x6d1b5420,\n\t0x2cf38: 0x6d1b5620, 0x2cf39: 0x6d1b5820, 0x2cf3a: 0x6d1b5a20, 0x2cf3b: 0x6d1b5c20,\n\t0x2cf3c: 0x6d1b5e20, 0x2cf3d: 0x6d1b6020, 0x2cf3e: 0x6d1b6220, 0x2cf3f: 0x6d1b6420,\n\t// Block 0xb3d, offset 0x2cf40\n\t0x2cf40: 0x6d1b6620, 0x2cf41: 0x6d1b6820, 0x2cf42: 0x6d1b6a20, 0x2cf43: 0x6d1b6c20,\n\t0x2cf44: 0x6d1b6e20, 0x2cf45: 0x6d1b7020, 0x2cf46: 0x6d1b7220, 0x2cf47: 0x6d1b7420,\n\t0x2cf48: 0x6d1b7620, 0x2cf49: 0x6d1b7820, 0x2cf4a: 0x6d1b7a20, 0x2cf4b: 0x6d1b7c20,\n\t0x2cf4c: 0x6d1b7e20, 0x2cf4d: 0x6d1b8020, 0x2cf4e: 0x6d1b8220, 0x2cf4f: 0x6d1b8420,\n\t0x2cf50: 0x6d1b8620, 0x2cf51: 0x6d1b8820, 0x2cf52: 0x6d1b8a20, 0x2cf53: 0x6d1b8c20,\n\t0x2cf54: 0x6d1b8e20, 0x2cf55: 0x6d1b9020, 0x2cf56: 0x6d1b9220, 0x2cf57: 0x6d1b9420,\n\t0x2cf58: 0x6d1b9620, 0x2cf59: 0x6d1b9820, 0x2cf5a: 0x6d1b9a20, 0x2cf5b: 0x6d1b9c20,\n\t0x2cf5c: 0x6d1b9e20, 0x2cf5d: 0x6d1ba020, 0x2cf5e: 0x6d1ba220, 0x2cf5f: 0x6d1cec20,\n\t0x2cf60: 0x6d496220, 0x2cf61: 0x6d1ba420, 0x2cf62: 0x6d1ba620, 0x2cf63: 0x6d1ba820,\n\t0x2cf64: 0x6d1baa20, 0x2cf65: 0x6d1bac20, 0x2cf66: 0x6d1bae20, 0x2cf67: 0x6d1bb020,\n\t0x2cf68: 0x6d1cee20, 0x2cf69: 0x6d496420, 0x2cf6a: 0x6d496620, 0x2cf6b: 0x6d496820,\n\t0x2cf6c: 0x6d496a20, 0x2cf6d: 0x6d496c20, 0x2cf6e: 0x6d496e20, 0x2cf6f: 0x6d497020,\n\t0x2cf70: 0x6d497220, 0x2cf71: 0x6d497420, 0x2cf72: 0x6d497620, 0x2cf73: 0x6d497820,\n\t0x2cf74: 0x6d497a20, 0x2cf75: 0x6d497c20, 0x2cf76: 0x6d497e20, 0x2cf77: 0x6d498020,\n\t0x2cf78: 0x6d498220, 0x2cf79: 0x6d498420, 0x2cf7a: 0x6d498620, 0x2cf7b: 0x6d498820,\n\t0x2cf7c: 0x6d498a20, 0x2cf7d: 0x6d498c20, 0x2cf7e: 0x6d498e20, 0x2cf7f: 0x6d499020,\n\t// Block 0xb3e, offset 0x2cf80\n\t0x2cf80: 0x6d499220, 0x2cf81: 0x6d499420, 0x2cf82: 0x6d499620, 0x2cf83: 0x6d499820,\n\t0x2cf84: 0x6d499a20, 0x2cf85: 0x6cbb1c20, 0x2cf86: 0x6d499c20, 0x2cf87: 0x6d499e20,\n\t0x2cf88: 0x6d49a020, 0x2cf89: 0x6d49a220, 0x2cf8a: 0x6d49a420, 0x2cf8b: 0x6d49a620,\n\t0x2cf8c: 0x6d49a820, 0x2cf8d: 0x6d49aa20, 0x2cf8e: 0x6d49ac20, 0x2cf8f: 0x6d49ae20,\n\t0x2cf90: 0x6d49b020, 0x2cf91: 0x6d1bb220, 0x2cf92: 0x6d49b220, 0x2cf93: 0x6d494c20,\n\t0x2cf94: 0x6d49b420, 0x2cf95: 0x6d590220, 0x2cf96: 0x6d49b620, 0x2cf97: 0x6d49b820,\n\t0x2cf98: 0x6d49ba20, 0x2cf99: 0x6d49bc20, 0x2cf9a: 0x6d49be20, 0x2cf9b: 0x6d49c020,\n\t0x2cf9c: 0x6d49c220, 0x2cf9d: 0x6d49c420, 0x2cf9e: 0x6d772220, 0x2cf9f: 0x6d772420,\n\t0x2cfa0: 0x6d772620, 0x2cfa1: 0x6d772820, 0x2cfa2: 0x6d772a20, 0x2cfa3: 0x6d772c20,\n\t0x2cfa4: 0x6d772e20, 0x2cfa5: 0x6d773020, 0x2cfa6: 0x6d773220, 0x2cfa7: 0x6d773420,\n\t0x2cfa8: 0x6d773620, 0x2cfa9: 0x6d773820, 0x2cfaa: 0x6d773a20, 0x2cfab: 0x6d773c20,\n\t0x2cfac: 0x6d773e20, 0x2cfad: 0x6d774020, 0x2cfae: 0x6d774220, 0x2cfaf: 0x6d774420,\n\t0x2cfb0: 0x6d774620, 0x2cfb1: 0x6d774820, 0x2cfb2: 0x6d774a20, 0x2cfb3: 0x6d774c20,\n\t0x2cfb4: 0x6d49c620, 0x2cfb5: 0x6d774e20, 0x2cfb6: 0x6d775020, 0x2cfb7: 0x6d775220,\n\t0x2cfb8: 0x6d775420, 0x2cfb9: 0x6d775620, 0x2cfba: 0x6d775820, 0x2cfbb: 0x6d775a20,\n\t0x2cfbc: 0x6d775c20, 0x2cfbd: 0x6da0a220, 0x2cfbe: 0x6da0a420, 0x2cfbf: 0x6da0a620,\n\t// Block 0xb3f, offset 0x2cfc0\n\t0x2cfc0: 0x6da0a820, 0x2cfc1: 0x6da0aa20, 0x2cfc2: 0x6da0ac20, 0x2cfc3: 0x6da0ae20,\n\t0x2cfc4: 0x6da0b020, 0x2cfc5: 0x6da0b220, 0x2cfc6: 0x6da0b420, 0x2cfc7: 0x6da0b620,\n\t0x2cfc8: 0x6da0b820, 0x2cfc9: 0x6da0ba20, 0x2cfca: 0x6da0bc20, 0x2cfcb: 0x6da0be20,\n\t0x2cfcc: 0x6da0c020, 0x2cfcd: 0x6da0c220, 0x2cfce: 0x6da0c420, 0x2cfcf: 0x6da0c620,\n\t0x2cfd0: 0x6da0c820, 0x2cfd1: 0x6da0ca20, 0x2cfd2: 0x6da0cc20, 0x2cfd3: 0x6da0ce20,\n\t0x2cfd4: 0x6dc30820, 0x2cfd5: 0x6dc30a20, 0x2cfd6: 0x6dc30c20, 0x2cfd7: 0x6dc30e20,\n\t0x2cfd8: 0x6dc31020, 0x2cfd9: 0x6dc31220, 0x2cfda: 0x6dc31420, 0x2cfdb: 0x6dc31620,\n\t0x2cfdc: 0x6dc31820, 0x2cfdd: 0x6dc31a20, 0x2cfde: 0x6dc31c20, 0x2cfdf: 0x6dc31e20,\n\t0x2cfe0: 0x6dc32020, 0x2cfe1: 0x6dc32220, 0x2cfe2: 0x6dc32420, 0x2cfe3: 0x6dc32620,\n\t0x2cfe4: 0x6dc32820, 0x2cfe5: 0x6de08420, 0x2cfe6: 0x6de08620, 0x2cfe7: 0x6de08820,\n\t0x2cfe8: 0x6de08a20, 0x2cfe9: 0x6de08c20, 0x2cfea: 0x6de08e20, 0x2cfeb: 0x6de09020,\n\t0x2cfec: 0x6de09220, 0x2cfed: 0x6de09420, 0x2cfee: 0x6dc3dc20, 0x2cfef: 0x6de09620,\n\t0x2cff0: 0x6de09820, 0x2cff1: 0x6df8d020, 0x2cff2: 0x6df8d220, 0x2cff3: 0x6df8d420,\n\t0x2cff4: 0x6df8d620, 0x2cff5: 0x6df8d820, 0x2cff6: 0x6df8da20, 0x2cff7: 0x6df8dc20,\n\t0x2cff8: 0x6df8de20, 0x2cff9: 0x6df8e020, 0x2cffa: 0x6e0c9020, 0x2cffb: 0x6e0c9820,\n\t0x2cffc: 0x6df92820, 0x2cffd: 0x6e0c9a20, 0x2cffe: 0x6e0c9c20, 0x2cfff: 0x6e0c9e20,\n\t// Block 0xb40, offset 0x2d000\n\t0x2d000: 0x6e0ca020, 0x2d001: 0x6e0ca220, 0x2d002: 0x6e0ca420, 0x2d003: 0x6e0ca620,\n\t0x2d004: 0x6e0ca820, 0x2d005: 0x6e1c3020, 0x2d006: 0x6e1c3220, 0x2d007: 0x6e1c3420,\n\t0x2d008: 0x6e1c3620, 0x2d009: 0x6e1c3820, 0x2d00a: 0x6e1c3a20, 0x2d00b: 0x6e1c3c20,\n\t0x2d00c: 0x6e287620, 0x2d00d: 0x6e0caa20, 0x2d00e: 0x6e1c3e20, 0x2d00f: 0x6e287820,\n\t0x2d010: 0x6e287a20, 0x2d011: 0x6e319e20, 0x2d012: 0x6e31a020, 0x2d013: 0x6e31a220,\n\t0x2d014: 0x6e384820, 0x2d015: 0x6e384a20, 0x2d016: 0x6e428420, 0x2d017: 0x6c018220,\n\t0x2d018: 0x6c078a20, 0x2d019: 0x6c078c20, 0x2d01a: 0x6c078e20, 0x2d01b: 0x6c079020,\n\t0x2d01c: 0x6c079220, 0x2d01d: 0x6c0e9820, 0x2d01e: 0x6c0e9a20, 0x2d01f: 0x6c0e9c20,\n\t0x2d020: 0x6c0e9e20, 0x2d021: 0x6c0ea020, 0x2d022: 0x6c0ea220, 0x2d023: 0x6c0ea420,\n\t0x2d024: 0x6c1a4a20, 0x2d025: 0x6c1a4c20, 0x2d026: 0x6c1a4e20, 0x2d027: 0x6c1a5020,\n\t0x2d028: 0x6c1a5220, 0x2d029: 0x6c1a5420, 0x2d02a: 0x6c1a5620, 0x2d02b: 0x6c1a5820,\n\t0x2d02c: 0x6c1a5a20, 0x2d02d: 0x6c1a5c20, 0x2d02e: 0x6c1a5e20, 0x2d02f: 0x6c1a6020,\n\t0x2d030: 0x6c1a6220, 0x2d031: 0x6c1a6420, 0x2d032: 0x6c1a6620, 0x2d033: 0x6c1a6820,\n\t0x2d034: 0x6c1a6a20, 0x2d035: 0x6c1a6c20, 0x2d036: 0x6c2d8220, 0x2d037: 0x6c2d8420,\n\t0x2d038: 0x6c2d8620, 0x2d039: 0x6c2d8820, 0x2d03a: 0x6c2d8a20, 0x2d03b: 0x6c2d8c20,\n\t0x2d03c: 0x6c2d8e20, 0x2d03d: 0x6c2d9020, 0x2d03e: 0x6c2d9220, 0x2d03f: 0x6c47de20,\n\t// Block 0xb41, offset 0x2d040\n\t0x2d040: 0x6c47e020, 0x2d041: 0x6c695020, 0x2d042: 0x6c695220, 0x2d043: 0x6c695420,\n\t0x2d044: 0x6c695620, 0x2d045: 0x6c695820, 0x2d046: 0x6c695a20, 0x2d047: 0x6c901c20,\n\t0x2d048: 0x6c901e20, 0x2d049: 0x6c902020, 0x2d04a: 0x6c902220, 0x2d04b: 0x6c902420,\n\t0x2d04c: 0x6cbc4020, 0x2d04d: 0x6cbc4220, 0x2d04e: 0x6cbc4420, 0x2d04f: 0x6c902620,\n\t0x2d050: 0x6cbc4620, 0x2d051: 0x6ced2820, 0x2d052: 0x6ced2a20, 0x2d053: 0x6ced2c20,\n\t0x2d054: 0x6ced2e20, 0x2d055: 0x6ced3020, 0x2d056: 0x6d1cf220, 0x2d057: 0x6d1cf420,\n\t0x2d058: 0x6d1cf620, 0x2d059: 0x6d1cf820, 0x2d05a: 0x6d4ab620, 0x2d05b: 0x6d785820,\n\t0x2d05c: 0x6d785a20, 0x2d05d: 0x6e1c7420, 0x2d05e: 0x6e3d0e20, 0x2d05f: 0x6c018420,\n\t0x2d060: 0x6c03ce20, 0x2d061: 0x6c03d020, 0x2d062: 0x6c07a220, 0x2d063: 0x6c07a420,\n\t0x2d064: 0x6c07a620, 0x2d065: 0x6c07a820, 0x2d066: 0x6c07aa20, 0x2d067: 0x6c07ac20,\n\t0x2d068: 0x6c0ec020, 0x2d069: 0x6c0ec220, 0x2d06a: 0x6c0ec420, 0x2d06b: 0x6c0ec620,\n\t0x2d06c: 0x6c0ec820, 0x2d06d: 0x6c0eca20, 0x2d06e: 0x6c0ecc20, 0x2d06f: 0x6c0ece20,\n\t0x2d070: 0x6c0ed020, 0x2d071: 0x6c0ed220, 0x2d072: 0x6c0ed420, 0x2d073: 0x6c0ed620,\n\t0x2d074: 0x6c0ed820, 0x2d075: 0x6c0eda20, 0x2d076: 0x6c0edc20, 0x2d077: 0x6c0ede20,\n\t0x2d078: 0x6c0ee020, 0x2d079: 0x6c0ee220, 0x2d07a: 0x6c0ee420, 0x2d07b: 0x6c1aac20,\n\t0x2d07c: 0x6c1aae20, 0x2d07d: 0x6c1ab020, 0x2d07e: 0x6c1ab220, 0x2d07f: 0x6c1ab420,\n\t// Block 0xb42, offset 0x2d080\n\t0x2d080: 0x6c1ab620, 0x2d081: 0x6c1ab820, 0x2d082: 0x6c1aba20, 0x2d083: 0x6c1abc20,\n\t0x2d084: 0x6c1abe20, 0x2d085: 0x6c1ac020, 0x2d086: 0x6c1ac220, 0x2d087: 0x6c1ac420,\n\t0x2d088: 0x6c1ac620, 0x2d089: 0x6c1ac820, 0x2d08a: 0x6c1aca20, 0x2d08b: 0x6c1acc20,\n\t0x2d08c: 0x6c1ace20, 0x2d08d: 0x6c1ad020, 0x2d08e: 0x6c1ad220, 0x2d08f: 0x6c1ad420,\n\t0x2d090: 0x6c1ad620, 0x2d091: 0x6c1ad820, 0x2d092: 0x6c1ada20, 0x2d093: 0x6c1adc20,\n\t0x2d094: 0x6c1ade20, 0x2d095: 0x6c1ae020, 0x2d096: 0x6c1ae220, 0x2d097: 0x6c1ae420,\n\t0x2d098: 0x6c1ae620, 0x2d099: 0x6c1ae820, 0x2d09a: 0x6c1aea20, 0x2d09b: 0x6c1aec20,\n\t0x2d09c: 0x6c1aee20, 0x2d09d: 0x6c1af020, 0x2d09e: 0x6c1af220, 0x2d09f: 0x6c1af420,\n\t0x2d0a0: 0x6c1af620, 0x2d0a1: 0x6c2db420, 0x2d0a2: 0x6c2db620, 0x2d0a3: 0x6c2db820,\n\t0x2d0a4: 0x6c2dba20, 0x2d0a5: 0x6c2dbc20, 0x2d0a6: 0x6c2dbe20, 0x2d0a7: 0x6c2dc020,\n\t0x2d0a8: 0x6c2dc220, 0x2d0a9: 0x6c2dc420, 0x2d0aa: 0x6c2dc620, 0x2d0ab: 0x6c2dc820,\n\t0x2d0ac: 0x6c2dca20, 0x2d0ad: 0x6c2dcc20, 0x2d0ae: 0x6c2dce20, 0x2d0af: 0x6c2dd020,\n\t0x2d0b0: 0x6c2dd220, 0x2d0b1: 0x6c2dd420, 0x2d0b2: 0x6c2dd620, 0x2d0b3: 0x6c2dd820,\n\t0x2d0b4: 0x6c2dda20, 0x2d0b5: 0x6c2ddc20, 0x2d0b6: 0x6c2dde20, 0x2d0b7: 0x6c2de020,\n\t0x2d0b8: 0x6c2de220, 0x2d0b9: 0x6c2de420, 0x2d0ba: 0x6c2de620, 0x2d0bb: 0x6c2de820,\n\t0x2d0bc: 0x6c2dea20, 0x2d0bd: 0x6c2dec20, 0x2d0be: 0x6c2dee20, 0x2d0bf: 0x6c2df020,\n\t// Block 0xb43, offset 0x2d0c0\n\t0x2d0c0: 0x6c2df220, 0x2d0c1: 0x6c2df420, 0x2d0c2: 0x6c2df620, 0x2d0c3: 0x6c2df820,\n\t0x2d0c4: 0x6c2dfa20, 0x2d0c5: 0x6c2dfc20, 0x2d0c6: 0x6c2dfe20, 0x2d0c7: 0x6c2e0020,\n\t0x2d0c8: 0x6c2e0220, 0x2d0c9: 0x6c2e0420, 0x2d0ca: 0x6c2e0620, 0x2d0cb: 0x6c481220,\n\t0x2d0cc: 0x6c481420, 0x2d0cd: 0x6c481620, 0x2d0ce: 0x6c481820, 0x2d0cf: 0x6c481a20,\n\t0x2d0d0: 0x6c481c20, 0x2d0d1: 0x6c481e20, 0x2d0d2: 0x6c482020, 0x2d0d3: 0x6c482220,\n\t0x2d0d4: 0x6c482420, 0x2d0d5: 0x6c482620, 0x2d0d6: 0x6c482820, 0x2d0d7: 0x6c482a20,\n\t0x2d0d8: 0x6c482c20, 0x2d0d9: 0x6c482e20, 0x2d0da: 0x6c483020, 0x2d0db: 0x6c483220,\n\t0x2d0dc: 0x6c483420, 0x2d0dd: 0x6c483620, 0x2d0de: 0x6c483820, 0x2d0df: 0x6c483a20,\n\t0x2d0e0: 0x6c483c20, 0x2d0e1: 0x6c483e20, 0x2d0e2: 0x6c484020, 0x2d0e3: 0x6c484220,\n\t0x2d0e4: 0x6c484420, 0x2d0e5: 0x6c484620, 0x2d0e6: 0x6c484820, 0x2d0e7: 0x6c484a20,\n\t0x2d0e8: 0x6c484c20, 0x2d0e9: 0x6c484e20, 0x2d0ea: 0x6c485020, 0x2d0eb: 0x6c485220,\n\t0x2d0ec: 0x6c485420, 0x2d0ed: 0x6c485620, 0x2d0ee: 0x6c485820, 0x2d0ef: 0x6c485a20,\n\t0x2d0f0: 0x6c485c20, 0x2d0f1: 0x6c485e20, 0x2d0f2: 0x6c486020, 0x2d0f3: 0x6c486220,\n\t0x2d0f4: 0x6c486420, 0x2d0f5: 0x6c486620, 0x2d0f6: 0x6c698e20, 0x2d0f7: 0x6c699020,\n\t0x2d0f8: 0x6c699220, 0x2d0f9: 0x6c699420, 0x2d0fa: 0x6c699620, 0x2d0fb: 0x6c699820,\n\t0x2d0fc: 0x6c699a20, 0x2d0fd: 0x6c699c20, 0x2d0fe: 0x6c699e20, 0x2d0ff: 0x6c69a020,\n\t// Block 0xb44, offset 0x2d100\n\t0x2d100: 0x6c69a220, 0x2d101: 0x6c69a420, 0x2d102: 0x6c69a620, 0x2d103: 0x6c69a820,\n\t0x2d104: 0x6c69aa20, 0x2d105: 0x6c69ac20, 0x2d106: 0x6c69ae20, 0x2d107: 0x6c69b020,\n\t0x2d108: 0x6c69b220, 0x2d109: 0x6c69b420, 0x2d10a: 0x6c69b620, 0x2d10b: 0x6c69b820,\n\t0x2d10c: 0x6c69ba20, 0x2d10d: 0x6c69bc20, 0x2d10e: 0x6c486820, 0x2d10f: 0x6c69be20,\n\t0x2d110: 0x6c69c020, 0x2d111: 0x6c69c220, 0x2d112: 0x6c69c420, 0x2d113: 0x6c69c620,\n\t0x2d114: 0x6c69c820, 0x2d115: 0x6c69ca20, 0x2d116: 0x6c69cc20, 0x2d117: 0x6c69ce20,\n\t0x2d118: 0x6c69d020, 0x2d119: 0x6c69d220, 0x2d11a: 0x6c69d420, 0x2d11b: 0x6c69d620,\n\t0x2d11c: 0x6c905420, 0x2d11d: 0x6c905620, 0x2d11e: 0x6c905820, 0x2d11f: 0x6c905a20,\n\t0x2d120: 0x6c905c20, 0x2d121: 0x6c905e20, 0x2d122: 0x6c906020, 0x2d123: 0x6c906220,\n\t0x2d124: 0x6c906420, 0x2d125: 0x6c906620, 0x2d126: 0x6c906820, 0x2d127: 0x6c906a20,\n\t0x2d128: 0x6c906c20, 0x2d129: 0x6c906e20, 0x2d12a: 0x6c915e20, 0x2d12b: 0x6c907020,\n\t0x2d12c: 0x6c907220, 0x2d12d: 0x6c907420, 0x2d12e: 0x6c907620, 0x2d12f: 0x6c907820,\n\t0x2d130: 0x6c907a20, 0x2d131: 0x6c907c20, 0x2d132: 0x6c907e20, 0x2d133: 0x6c908020,\n\t0x2d134: 0x6c908220, 0x2d135: 0x6c908420, 0x2d136: 0x6c908620, 0x2d137: 0x6c908820,\n\t0x2d138: 0x6c908a20, 0x2d139: 0x6c908c20, 0x2d13a: 0x6c908e20, 0x2d13b: 0x6c909020,\n\t0x2d13c: 0x6c909220, 0x2d13d: 0x6c909420, 0x2d13e: 0x6c909620, 0x2d13f: 0x6c909820,\n\t// Block 0xb45, offset 0x2d140\n\t0x2d140: 0x6c909a20, 0x2d141: 0x6c909c20, 0x2d142: 0x6c909e20, 0x2d143: 0x6c90a020,\n\t0x2d144: 0x6c90a220, 0x2d145: 0x6c90a420, 0x2d146: 0x6c90a620, 0x2d147: 0x6c90a820,\n\t0x2d148: 0x6c90aa20, 0x2d149: 0x6c90ac20, 0x2d14a: 0x6c90ae20, 0x2d14b: 0x6c90b020,\n\t0x2d14c: 0x6c90b220, 0x2d14d: 0x6c90b420, 0x2d14e: 0x6c90b620, 0x2d14f: 0x6c90b820,\n\t0x2d150: 0x6c90ba20, 0x2d151: 0x6c90bc20, 0x2d152: 0x6c90be20, 0x2d153: 0x6c90c020,\n\t0x2d154: 0x6c90c220, 0x2d155: 0x6c90c420, 0x2d156: 0x6cbc7a20, 0x2d157: 0x6cbc7c20,\n\t0x2d158: 0x6cbc7e20, 0x2d159: 0x6cbc8020, 0x2d15a: 0x6cbc8220, 0x2d15b: 0x6cbc8420,\n\t0x2d15c: 0x6cbc8620, 0x2d15d: 0x6cbc8820, 0x2d15e: 0x6cbc8a20, 0x2d15f: 0x6cbc8c20,\n\t0x2d160: 0x6cbc8e20, 0x2d161: 0x6cbc9020, 0x2d162: 0x6cbc9220, 0x2d163: 0x6cbc9420,\n\t0x2d164: 0x6cbc9620, 0x2d165: 0x6cbc9820, 0x2d166: 0x6cbc9a20, 0x2d167: 0x6cbc9c20,\n\t0x2d168: 0x6cbc9e20, 0x2d169: 0x6cbca020, 0x2d16a: 0x6cbca220, 0x2d16b: 0x6cbca420,\n\t0x2d16c: 0x6cbca620, 0x2d16d: 0x6cbca820, 0x2d16e: 0x6cbcaa20, 0x2d16f: 0x6cbcac20,\n\t0x2d170: 0x6cbcae20, 0x2d171: 0x6cbcb020, 0x2d172: 0x6c6a6e20, 0x2d173: 0x6cbcb220,\n\t0x2d174: 0x6cbcb420, 0x2d175: 0x6c916020, 0x2d176: 0x6cbcb620, 0x2d177: 0x6cbcb820,\n\t0x2d178: 0x6cbcba20, 0x2d179: 0x6cbcbc20, 0x2d17a: 0x6cbcbe20, 0x2d17b: 0x6cbcc020,\n\t0x2d17c: 0x6cbcc220, 0x2d17d: 0x6ced5820, 0x2d17e: 0x6cbcc420, 0x2d17f: 0x6cbcc620,\n\t// Block 0xb46, offset 0x2d180\n\t0x2d180: 0x6cbcc820, 0x2d181: 0x6cbcca20, 0x2d182: 0x6cbccc20, 0x2d183: 0x6ced5a20,\n\t0x2d184: 0x6cbcce20, 0x2d185: 0x6cbcd020, 0x2d186: 0x6cbcd220, 0x2d187: 0x6cbcd420,\n\t0x2d188: 0x6cbcd620, 0x2d189: 0x6ced5c20, 0x2d18a: 0x6ced5e20, 0x2d18b: 0x6ced6020,\n\t0x2d18c: 0x6ced6220, 0x2d18d: 0x6ced6420, 0x2d18e: 0x6ced6620, 0x2d18f: 0x6ced6820,\n\t0x2d190: 0x6ced6a20, 0x2d191: 0x6ced6c20, 0x2d192: 0x6ced6e20, 0x2d193: 0x6ced7020,\n\t0x2d194: 0x6ced7220, 0x2d195: 0x6ced7420, 0x2d196: 0x6ced7620, 0x2d197: 0x6ced7820,\n\t0x2d198: 0x6ced7a20, 0x2d199: 0x6ced7c20, 0x2d19a: 0x6ced7e20, 0x2d19b: 0x6ced8020,\n\t0x2d19c: 0x6ced8220, 0x2d19d: 0x6ced8420, 0x2d19e: 0x6ced8620, 0x2d19f: 0x6ced8820,\n\t0x2d1a0: 0x6ced8a20, 0x2d1a1: 0x6ced8c20, 0x2d1a2: 0x6ced8e20, 0x2d1a3: 0x6ced9020,\n\t0x2d1a4: 0x6ced9220, 0x2d1a5: 0x6ced9420, 0x2d1a6: 0x6ced9620, 0x2d1a7: 0x6ced9820,\n\t0x2d1a8: 0x6ced9a20, 0x2d1a9: 0x6ced9c20, 0x2d1aa: 0x6ced9e20, 0x2d1ab: 0x6ceda020,\n\t0x2d1ac: 0x6ceda220, 0x2d1ad: 0x6ceda420, 0x2d1ae: 0x6ceda620, 0x2d1af: 0x6ceda820,\n\t0x2d1b0: 0x6cedaa20, 0x2d1b1: 0x6cedac20, 0x2d1b2: 0x6d1d2420, 0x2d1b3: 0x6d1d2620,\n\t0x2d1b4: 0x6d1d2820, 0x2d1b5: 0x6d1d2a20, 0x2d1b6: 0x6d1d2c20, 0x2d1b7: 0x6d1d2e20,\n\t0x2d1b8: 0x6d1d3020, 0x2d1b9: 0x6d1d3220, 0x2d1ba: 0x6d1d3420, 0x2d1bb: 0x6d1d3620,\n\t0x2d1bc: 0x6d1d3820, 0x2d1bd: 0x6d1d3a20, 0x2d1be: 0x6d1d3c20, 0x2d1bf: 0x6d1d3e20,\n\t// Block 0xb47, offset 0x2d1c0\n\t0x2d1c0: 0x6d4ac620, 0x2d1c1: 0x6d1d4020, 0x2d1c2: 0x6d1d4220, 0x2d1c3: 0x6d1d4420,\n\t0x2d1c4: 0x6d1d4620, 0x2d1c5: 0x6d1d4820, 0x2d1c6: 0x6d1d4a20, 0x2d1c7: 0x6d1d4c20,\n\t0x2d1c8: 0x6d1d4e20, 0x2d1c9: 0x6d1d5020, 0x2d1ca: 0x6d1d5220, 0x2d1cb: 0x6d1d5420,\n\t0x2d1cc: 0x6d1d5620, 0x2d1cd: 0x6d1d5820, 0x2d1ce: 0x6d1d5a20, 0x2d1cf: 0x6d1d5c20,\n\t0x2d1d0: 0x6d1d5e20, 0x2d1d1: 0x6d1d6020, 0x2d1d2: 0x6d1d6220, 0x2d1d3: 0x6d1d6420,\n\t0x2d1d4: 0x6d1d6620, 0x2d1d5: 0x6d1d6820, 0x2d1d6: 0x6d1d6a20, 0x2d1d7: 0x6d1d6c20,\n\t0x2d1d8: 0x6d1d6e20, 0x2d1d9: 0x6d1d7020, 0x2d1da: 0x6d1d7220, 0x2d1db: 0x6d1d7420,\n\t0x2d1dc: 0x6d4ada20, 0x2d1dd: 0x6d4adc20, 0x2d1de: 0x6d4ade20, 0x2d1df: 0x6d4ae020,\n\t0x2d1e0: 0x6d4ae220, 0x2d1e1: 0x6d4ae420, 0x2d1e2: 0x6d4ae620, 0x2d1e3: 0x6d4ae820,\n\t0x2d1e4: 0x6d4aea20, 0x2d1e5: 0x6d4aec20, 0x2d1e6: 0x6d4aee20, 0x2d1e7: 0x6d4af020,\n\t0x2d1e8: 0x6d758820, 0x2d1e9: 0x6d4af220, 0x2d1ea: 0x6d4af420, 0x2d1eb: 0x6d4af620,\n\t0x2d1ec: 0x6d4af820, 0x2d1ed: 0x6d1df220, 0x2d1ee: 0x6d4afa20, 0x2d1ef: 0x6d4afc20,\n\t0x2d1f0: 0x6d4afe20, 0x2d1f1: 0x6d4b0020, 0x2d1f2: 0x6d4b0220, 0x2d1f3: 0x6d4b0420,\n\t0x2d1f4: 0x6d4b0620, 0x2d1f5: 0x6d4b0820, 0x2d1f6: 0x6d4b0a20, 0x2d1f7: 0x6d4b0c20,\n\t0x2d1f8: 0x6d4b0e20, 0x2d1f9: 0x6d4b1020, 0x2d1fa: 0x6d787420, 0x2d1fb: 0x6d787620,\n\t0x2d1fc: 0x6d787820, 0x2d1fd: 0x6d787a20, 0x2d1fe: 0x6d787c20, 0x2d1ff: 0x6d787e20,\n\t// Block 0xb48, offset 0x2d200\n\t0x2d200: 0x6d788020, 0x2d201: 0x6d788220, 0x2d202: 0x6d788420, 0x2d203: 0x6d788620,\n\t0x2d204: 0x6d788820, 0x2d205: 0x6d788a20, 0x2d206: 0x6d788c20, 0x2d207: 0x6d788e20,\n\t0x2d208: 0x6d789020, 0x2d209: 0x6d789220, 0x2d20a: 0x6d789420, 0x2d20b: 0x6d789620,\n\t0x2d20c: 0x6d789820, 0x2d20d: 0x6da19020, 0x2d20e: 0x6da19220, 0x2d20f: 0x6da19420,\n\t0x2d210: 0x6da19620, 0x2d211: 0x6da19820, 0x2d212: 0x6da19a20, 0x2d213: 0x6da19c20,\n\t0x2d214: 0x6da19e20, 0x2d215: 0x6da1a020, 0x2d216: 0x6da1a220, 0x2d217: 0x6da1a420,\n\t0x2d218: 0x6dc3e620, 0x2d219: 0x6dc3e820, 0x2d21a: 0x6de10620, 0x2d21b: 0x6de10820,\n\t0x2d21c: 0x6de10a20, 0x2d21d: 0x6de10c20, 0x2d21e: 0x6de10e20, 0x2d21f: 0x6de11020,\n\t0x2d220: 0x6de11220, 0x2d221: 0x6de07820, 0x2d222: 0x6de11420, 0x2d223: 0x6df93420,\n\t0x2d224: 0x6df93620, 0x2d225: 0x6df93820, 0x2d226: 0x6e0cfc20, 0x2d227: 0x6e288e20,\n\t0x2d228: 0x6e289020, 0x2d229: 0x6e31c420, 0x2d22a: 0x6e386020, 0x2d22b: 0x6c018620,\n\t0x2d22c: 0x6c03da20, 0x2d22d: 0x6c07c420, 0x2d22e: 0x6c0f0e20, 0x2d22f: 0x6c1b6620,\n\t0x2d230: 0x6c1b6820, 0x2d231: 0x6c1b6a20, 0x2d232: 0x6c1b6c20, 0x2d233: 0x6c1b6e20,\n\t0x2d234: 0x6c48e620, 0x2d235: 0x6c48e820, 0x2d236: 0x6c6a7020, 0x2d237: 0x6c916220,\n\t0x2d238: 0x6c916420, 0x2d239: 0x6cbd8820, 0x2d23a: 0x6cbd8a20, 0x2d23b: 0x6cbd8c20,\n\t0x2d23c: 0x6cee4e20, 0x2d23d: 0x6d1df420, 0x2d23e: 0x6d1df620, 0x2d23f: 0x6d4ba220,\n\t// Block 0xb49, offset 0x2d240\n\t0x2d240: 0x6d4ba420, 0x2d241: 0x6d790020, 0x2d242: 0x6c018820, 0x2d243: 0x6c03dc20,\n\t0x2d244: 0x6c07c820, 0x2d245: 0x6c0f1220, 0x2d246: 0x6c1b7420, 0x2d247: 0x6c2e8020,\n\t0x2d248: 0x6c48f220, 0x2d249: 0x6c48f820, 0x2d24a: 0x6c018c20, 0x2d24b: 0x6c1b7c20,\n\t0x2d24c: 0x6c2e8220, 0x2d24d: 0x6c48fa20, 0x2d24e: 0x6c6a8420, 0x2d24f: 0x6c6a8620,\n\t0x2d250: 0x6d1e0220, 0x2d251: 0x6dc43a20, 0x2d252: 0x6de14820, 0x2d253: 0x6dc43c20,\n\t0x2d254: 0x6e0d1e20, 0x2d255: 0x6c018e20, 0x2d256: 0x6c07d020, 0x2d257: 0x6c07d220,\n\t0x2d258: 0x6c07d420, 0x2d259: 0x6c0f1c20, 0x2d25a: 0x6c0f1e20, 0x2d25b: 0x6c0f2020,\n\t0x2d25c: 0x6c2e8e20, 0x2d25d: 0x6c2e9020, 0x2d25e: 0x6c6a8c20, 0x2d25f: 0x6c918020,\n\t0x2d260: 0x6c918220, 0x2d261: 0x6cbd9a20, 0x2d262: 0x6d1e1020, 0x2d263: 0x6d1e1220,\n\t0x2d264: 0x6d1e1420, 0x2d265: 0x6d1e1620, 0x2d266: 0x6d4bae20, 0x2d267: 0x6c019020,\n\t0x2d268: 0x6c019220, 0x2d269: 0x6c03de20, 0x2d26a: 0x6c03e020, 0x2d26b: 0x6c03e220,\n\t0x2d26c: 0x6c03e420, 0x2d26d: 0x6c03e620, 0x2d26e: 0x6c07de20, 0x2d26f: 0x6c07e020,\n\t0x2d270: 0x6c07e220, 0x2d271: 0x6c07e420, 0x2d272: 0x6c07e620, 0x2d273: 0x6c07e820,\n\t0x2d274: 0x6c07ea20, 0x2d275: 0x6c0f3220, 0x2d276: 0x6c0f3420, 0x2d277: 0x6c0f3620,\n\t0x2d278: 0x6c0f3820, 0x2d279: 0x6c0f3a20, 0x2d27a: 0x6c0f3c20, 0x2d27b: 0x6c0f3e20,\n\t0x2d27c: 0x6c0f4020, 0x2d27d: 0x6c1b8e20, 0x2d27e: 0x6c1b9020, 0x2d27f: 0x6c1b9220,\n\t// Block 0xb4a, offset 0x2d280\n\t0x2d280: 0x6c1b9420, 0x2d281: 0x6c1b9620, 0x2d282: 0x6c1b9820, 0x2d283: 0x6c2ea620,\n\t0x2d284: 0x6c2ea820, 0x2d285: 0x6c2eaa20, 0x2d286: 0x6c2eac20, 0x2d287: 0x6c2eae20,\n\t0x2d288: 0x6c2eb020, 0x2d289: 0x6c2eb220, 0x2d28a: 0x6c6aaa20, 0x2d28b: 0x6c2eb420,\n\t0x2d28c: 0x6c2eb620, 0x2d28d: 0x6c2eb820, 0x2d28e: 0x6c490620, 0x2d28f: 0x6c490820,\n\t0x2d290: 0x6c490a20, 0x2d291: 0x6c490c20, 0x2d292: 0x6c490e20, 0x2d293: 0x6c491020,\n\t0x2d294: 0x6c2ef220, 0x2d295: 0x6c491220, 0x2d296: 0x6c491420, 0x2d297: 0x6c6aac20,\n\t0x2d298: 0x6c6aae20, 0x2d299: 0x6c6ab020, 0x2d29a: 0x6c6ab220, 0x2d29b: 0x6c919e20,\n\t0x2d29c: 0x6c91a020, 0x2d29d: 0x6c91a220, 0x2d29e: 0x6c91a420, 0x2d29f: 0x6c91d220,\n\t0x2d2a0: 0x6cbdb820, 0x2d2a1: 0x6cbdba20, 0x2d2a2: 0x6c91d420, 0x2d2a3: 0x6cbdbc20,\n\t0x2d2a4: 0x6cbdbe20, 0x2d2a5: 0x6cbdc020, 0x2d2a6: 0x6cee7820, 0x2d2a7: 0x6cee7a20,\n\t0x2d2a8: 0x6cee7c20, 0x2d2a9: 0x6d1e2e20, 0x2d2aa: 0x6d1e3020, 0x2d2ab: 0x6d1e3220,\n\t0x2d2ac: 0x6d1e3420, 0x2d2ad: 0x6d4bb820, 0x2d2ae: 0x6d791e20, 0x2d2af: 0x6d792020,\n\t0x2d2b0: 0x6dc44c20, 0x2d2b1: 0x6e1c9220, 0x2d2b2: 0x6e28a420, 0x2d2b3: 0x6c019420,\n\t0x2d2b4: 0x6c07fe20, 0x2d2b5: 0x6c080020, 0x2d2b6: 0x6c080220, 0x2d2b7: 0x6c0f6220,\n\t0x2d2b8: 0x6c0f6420, 0x2d2b9: 0x6c0f6620, 0x2d2ba: 0x6c0f6820, 0x2d2bb: 0x6c0f6a20,\n\t0x2d2bc: 0x6c0f6c20, 0x2d2bd: 0x6c0f6e20, 0x2d2be: 0x6c0f7020, 0x2d2bf: 0x6c0f7220,\n\t// Block 0xb4b, offset 0x2d2c0\n\t0x2d2c0: 0x6c0f7420, 0x2d2c1: 0x6c0f7620, 0x2d2c2: 0x6c0f7820, 0x2d2c3: 0x6c0f7a20,\n\t0x2d2c4: 0x6c0f7c20, 0x2d2c5: 0x6c0f7e20, 0x2d2c6: 0x6c0f8020, 0x2d2c7: 0x6c0f8220,\n\t0x2d2c8: 0x6c0f8420, 0x2d2c9: 0x6c1bd420, 0x2d2ca: 0x6c1bd620, 0x2d2cb: 0x6c1bd820,\n\t0x2d2cc: 0x6c1bda20, 0x2d2cd: 0x6c495420, 0x2d2ce: 0x6c1bdc20, 0x2d2cf: 0x6c1bde20,\n\t0x2d2d0: 0x6c1be020, 0x2d2d1: 0x6c1be220, 0x2d2d2: 0x6c1be420, 0x2d2d3: 0x6c1be620,\n\t0x2d2d4: 0x6c1be820, 0x2d2d5: 0x6c1bea20, 0x2d2d6: 0x6c1bec20, 0x2d2d7: 0x6c1bee20,\n\t0x2d2d8: 0x6c1bf020, 0x2d2d9: 0x6c1bf220, 0x2d2da: 0x6c1bf420, 0x2d2db: 0x6c1bf620,\n\t0x2d2dc: 0x6c1bf820, 0x2d2dd: 0x6c1bfa20, 0x2d2de: 0x6c1bfc20, 0x2d2df: 0x6c1bfe20,\n\t0x2d2e0: 0x6c1c0020, 0x2d2e1: 0x6c1c0220, 0x2d2e2: 0x6c1c0420, 0x2d2e3: 0x6c1c0620,\n\t0x2d2e4: 0x6c1c0820, 0x2d2e5: 0x6c1c0a20, 0x2d2e6: 0x6c1c0c20, 0x2d2e7: 0x6c1c0e20,\n\t0x2d2e8: 0x6c1c1020, 0x2d2e9: 0x6c1c1220, 0x2d2ea: 0x6c1c1420, 0x2d2eb: 0x6c1c1620,\n\t0x2d2ec: 0x6c2f1820, 0x2d2ed: 0x6c2f1a20, 0x2d2ee: 0x6c2f1c20, 0x2d2ef: 0x6c2f1e20,\n\t0x2d2f0: 0x6c2f2020, 0x2d2f1: 0x6c2f2220, 0x2d2f2: 0x6c2f2420, 0x2d2f3: 0x6c2f2620,\n\t0x2d2f4: 0x6c2f2820, 0x2d2f5: 0x6c2f2a20, 0x2d2f6: 0x6c2f2c20, 0x2d2f7: 0x6c2f2e20,\n\t0x2d2f8: 0x6c2f3020, 0x2d2f9: 0x6c2f3220, 0x2d2fa: 0x6c2f3420, 0x2d2fb: 0x6c2f3620,\n\t0x2d2fc: 0x6c2f3820, 0x2d2fd: 0x6c2f3a20, 0x2d2fe: 0x6c2f3c20, 0x2d2ff: 0x6c2f3e20,\n\t// Block 0xb4c, offset 0x2d300\n\t0x2d300: 0x6c2f4020, 0x2d301: 0x6c2f4220, 0x2d302: 0x6c2f4420, 0x2d303: 0x6c2f4620,\n\t0x2d304: 0x6c2f4820, 0x2d305: 0x6c2f4a20, 0x2d306: 0x6c2f4c20, 0x2d307: 0x6c2f4e20,\n\t0x2d308: 0x6c2f5020, 0x2d309: 0x6c2f5220, 0x2d30a: 0x6c2f5420, 0x2d30b: 0x6c2f5620,\n\t0x2d30c: 0x6c2f5820, 0x2d30d: 0x6c2f5a20, 0x2d30e: 0x6c2f5c20, 0x2d30f: 0x6c2f5e20,\n\t0x2d310: 0x6c2f6020, 0x2d311: 0x6c2f6220, 0x2d312: 0x6c2f6420, 0x2d313: 0x6c2f6620,\n\t0x2d314: 0x6c2f6820, 0x2d315: 0x6c493c20, 0x2d316: 0x6c2f6a20, 0x2d317: 0x6c2f6c20,\n\t0x2d318: 0x6c495620, 0x2d319: 0x6c495820, 0x2d31a: 0x6c495a20, 0x2d31b: 0x6c495c20,\n\t0x2d31c: 0x6c495e20, 0x2d31d: 0x6c496020, 0x2d31e: 0x6c496220, 0x2d31f: 0x6c496420,\n\t0x2d320: 0x6c496620, 0x2d321: 0x6c496820, 0x2d322: 0x6c496a20, 0x2d323: 0x6c496c20,\n\t0x2d324: 0x6c496e20, 0x2d325: 0x6c497020, 0x2d326: 0x6c497220, 0x2d327: 0x6c497420,\n\t0x2d328: 0x6c497620, 0x2d329: 0x6c497820, 0x2d32a: 0x6c497a20, 0x2d32b: 0x6c497c20,\n\t0x2d32c: 0x6c6b1820, 0x2d32d: 0x6c497e20, 0x2d32e: 0x6c498020, 0x2d32f: 0x6c498220,\n\t0x2d330: 0x6c498420, 0x2d331: 0x6c498620, 0x2d332: 0x6c498820, 0x2d333: 0x6c498a20,\n\t0x2d334: 0x6c498c20, 0x2d335: 0x6c498e20, 0x2d336: 0x6c499020, 0x2d337: 0x6c499220,\n\t0x2d338: 0x6c499420, 0x2d339: 0x6c499620, 0x2d33a: 0x6c499820, 0x2d33b: 0x6c499a20,\n\t0x2d33c: 0x6c499c20, 0x2d33d: 0x6c499e20, 0x2d33e: 0x6c49a020, 0x2d33f: 0x6c49a220,\n\t// Block 0xb4d, offset 0x2d340\n\t0x2d340: 0x6c49a420, 0x2d341: 0x6c49a620, 0x2d342: 0x6c49a820, 0x2d343: 0x6c49aa20,\n\t0x2d344: 0x6c5c3020, 0x2d345: 0x6c49ac20, 0x2d346: 0x6c49ae20, 0x2d347: 0x6c49b020,\n\t0x2d348: 0x6c49b220, 0x2d349: 0x6c6b1a20, 0x2d34a: 0x6c6b1c20, 0x2d34b: 0x6c6b1e20,\n\t0x2d34c: 0x6c6b2020, 0x2d34d: 0x6c4a1a20, 0x2d34e: 0x6c6b2220, 0x2d34f: 0x6c6b2420,\n\t0x2d350: 0x6c6b2620, 0x2d351: 0x6c6b2820, 0x2d352: 0x6c6b2a20, 0x2d353: 0x6c6b2c20,\n\t0x2d354: 0x6c6b2e20, 0x2d355: 0x6c6b3020, 0x2d356: 0x6c6b3220, 0x2d357: 0x6c6b3420,\n\t0x2d358: 0x6c6b3620, 0x2d359: 0x6c6b3820, 0x2d35a: 0x6c6b3a20, 0x2d35b: 0x6c6b3c20,\n\t0x2d35c: 0x6c6b3e20, 0x2d35d: 0x6c6b4020, 0x2d35e: 0x6c6b4220, 0x2d35f: 0x6c6b4420,\n\t0x2d360: 0x6c6b4620, 0x2d361: 0x6c6b4820, 0x2d362: 0x6c6b4a20, 0x2d363: 0x6c6b4c20,\n\t0x2d364: 0x6c6b4e20, 0x2d365: 0x6c6b5020, 0x2d366: 0x6c6b5220, 0x2d367: 0x6c6b5420,\n\t0x2d368: 0x6c6b5620, 0x2d369: 0x6c6b5820, 0x2d36a: 0x6c6b5a20, 0x2d36b: 0x6c91d620,\n\t0x2d36c: 0x6c91ec20, 0x2d36d: 0x6c6b5c20, 0x2d36e: 0x6c6b5e20, 0x2d36f: 0x6c6b6020,\n\t0x2d370: 0x6c6b6220, 0x2d371: 0x6c6b6420, 0x2d372: 0x6c6b6620, 0x2d373: 0x6c6b6820,\n\t0x2d374: 0x6c6b6a20, 0x2d375: 0x6c91ee20, 0x2d376: 0x6c91f020, 0x2d377: 0x6c91f220,\n\t0x2d378: 0x6c91f420, 0x2d379: 0x6c91f620, 0x2d37a: 0x6c91f820, 0x2d37b: 0x6c91fa20,\n\t0x2d37c: 0x6c91fc20, 0x2d37d: 0x6c91d820, 0x2d37e: 0x6c91fe20, 0x2d37f: 0x6c920020,\n\t// Block 0xb4e, offset 0x2d380\n\t0x2d380: 0x6c920220, 0x2d381: 0x6c920420, 0x2d382: 0x6c920620, 0x2d383: 0x6c920820,\n\t0x2d384: 0x6c920a20, 0x2d385: 0x6c920c20, 0x2d386: 0x6c920e20, 0x2d387: 0x6c921020,\n\t0x2d388: 0x6c921220, 0x2d389: 0x6c921420, 0x2d38a: 0x6c921620, 0x2d38b: 0x6c921820,\n\t0x2d38c: 0x6c921a20, 0x2d38d: 0x6c921c20, 0x2d38e: 0x6c921e20, 0x2d38f: 0x6c922020,\n\t0x2d390: 0x6c922220, 0x2d391: 0x6c922420, 0x2d392: 0x6c922620, 0x2d393: 0x6c922820,\n\t0x2d394: 0x6c922a20, 0x2d395: 0x6c922c20, 0x2d396: 0x6c922e20, 0x2d397: 0x6c923020,\n\t0x2d398: 0x6c923220, 0x2d399: 0x6c923420, 0x2d39a: 0x6c923620, 0x2d39b: 0x6c923820,\n\t0x2d39c: 0x6c923a20, 0x2d39d: 0x6c923c20, 0x2d39e: 0x6c923e20, 0x2d39f: 0x6c924020,\n\t0x2d3a0: 0x6c924220, 0x2d3a1: 0x6c924420, 0x2d3a2: 0x6c924620, 0x2d3a3: 0x6c924820,\n\t0x2d3a4: 0x6c924a20, 0x2d3a5: 0x6c924c20, 0x2d3a6: 0x6c924e20, 0x2d3a7: 0x6c925020,\n\t0x2d3a8: 0x6c925220, 0x2d3a9: 0x6c925420, 0x2d3aa: 0x6c925620, 0x2d3ab: 0x6c925820,\n\t0x2d3ac: 0x6c925a20, 0x2d3ad: 0x6c925c20, 0x2d3ae: 0x6c925e20, 0x2d3af: 0x6c926020,\n\t0x2d3b0: 0x6c926220, 0x2d3b1: 0x6c926420, 0x2d3b2: 0x6c926620, 0x2d3b3: 0x6c926820,\n\t0x2d3b4: 0x6c926a20, 0x2d3b5: 0x6c926c20, 0x2d3b6: 0x6c926e20, 0x2d3b7: 0x6cbe2020,\n\t0x2d3b8: 0x6cbe2220, 0x2d3b9: 0x6cbe2420, 0x2d3ba: 0x6cbe2620, 0x2d3bb: 0x6cbe2820,\n\t0x2d3bc: 0x6cbe2a20, 0x2d3bd: 0x6cbe2c20, 0x2d3be: 0x6cbe2e20, 0x2d3bf: 0x6cbe3020,\n\t// Block 0xb4f, offset 0x2d3c0\n\t0x2d3c0: 0x6cbe3220, 0x2d3c1: 0x6cbe3420, 0x2d3c2: 0x6cbe3620, 0x2d3c3: 0x6cbe3820,\n\t0x2d3c4: 0x6cbe3a20, 0x2d3c5: 0x6cbe3c20, 0x2d3c6: 0x6cbe3e20, 0x2d3c7: 0x6cbe4020,\n\t0x2d3c8: 0x6cbe4220, 0x2d3c9: 0x6cbe4420, 0x2d3ca: 0x6cbe4620, 0x2d3cb: 0x6cbe4820,\n\t0x2d3cc: 0x6cbe4a20, 0x2d3cd: 0x6cbe4c20, 0x2d3ce: 0x6c930220, 0x2d3cf: 0x6cbe4e20,\n\t0x2d3d0: 0x6ceec620, 0x2d3d1: 0x6cbe5020, 0x2d3d2: 0x6cbe5220, 0x2d3d3: 0x6cbe5420,\n\t0x2d3d4: 0x6cbe5620, 0x2d3d5: 0x6cbe5820, 0x2d3d6: 0x6cbe5a20, 0x2d3d7: 0x6cbe5c20,\n\t0x2d3d8: 0x6cbe5e20, 0x2d3d9: 0x6cbe6020, 0x2d3da: 0x6cbe6220, 0x2d3db: 0x6cbe6420,\n\t0x2d3dc: 0x6cbe6620, 0x2d3dd: 0x6cbe6820, 0x2d3de: 0x6cbe6a20, 0x2d3df: 0x6cbe6c20,\n\t0x2d3e0: 0x6cbe6e20, 0x2d3e1: 0x6cbe7020, 0x2d3e2: 0x6cbe7220, 0x2d3e3: 0x6cbe7420,\n\t0x2d3e4: 0x6cbe7620, 0x2d3e5: 0x6cbe7820, 0x2d3e6: 0x6cbe7a20, 0x2d3e7: 0x6cbe7c20,\n\t0x2d3e8: 0x6cbe7e20, 0x2d3e9: 0x6cbe8020, 0x2d3ea: 0x6cbe8220, 0x2d3eb: 0x6cbe8420,\n\t0x2d3ec: 0x6cbe8620, 0x2d3ed: 0x6cbe8820, 0x2d3ee: 0x6cbe8a20, 0x2d3ef: 0x6cbe8c20,\n\t0x2d3f0: 0x6ceec820, 0x2d3f1: 0x6ceeca20, 0x2d3f2: 0x6ceecc20, 0x2d3f3: 0x6ceece20,\n\t0x2d3f4: 0x6ceed020, 0x2d3f5: 0x6ceed220, 0x2d3f6: 0x6ceed420, 0x2d3f7: 0x6ceed620,\n\t0x2d3f8: 0x6ceed820, 0x2d3f9: 0x6ceeda20, 0x2d3fa: 0x6ceedc20, 0x2d3fb: 0x6ceede20,\n\t0x2d3fc: 0x6ceee020, 0x2d3fd: 0x6ceee220, 0x2d3fe: 0x6ceee420, 0x2d3ff: 0x6ceee620,\n\t// Block 0xb50, offset 0x2d400\n\t0x2d400: 0x6ceee820, 0x2d401: 0x6ceeea20, 0x2d402: 0x6ceeec20, 0x2d403: 0x6ceeee20,\n\t0x2d404: 0x6ceef020, 0x2d405: 0x6ceef220, 0x2d406: 0x6ceef420, 0x2d407: 0x6ceef620,\n\t0x2d408: 0x6ceef820, 0x2d409: 0x6ceefa20, 0x2d40a: 0x6ceefc20, 0x2d40b: 0x6ceefe20,\n\t0x2d40c: 0x6cef0020, 0x2d40d: 0x6cef0220, 0x2d40e: 0x6cef0420, 0x2d40f: 0x6cbe8e20,\n\t0x2d410: 0x6cef0620, 0x2d411: 0x6cef0820, 0x2d412: 0x6cef0a20, 0x2d413: 0x6cef0c20,\n\t0x2d414: 0x6cef0e20, 0x2d415: 0x6d1e6e20, 0x2d416: 0x6d1e7020, 0x2d417: 0x6d1e7220,\n\t0x2d418: 0x6d1e7420, 0x2d419: 0x6d1e7620, 0x2d41a: 0x6d1e7820, 0x2d41b: 0x6d1e7a20,\n\t0x2d41c: 0x6d1e7c20, 0x2d41d: 0x6d1e7e20, 0x2d41e: 0x6d1e8020, 0x2d41f: 0x6d1e8220,\n\t0x2d420: 0x6d1e8420, 0x2d421: 0x6d1e8620, 0x2d422: 0x6d1e8820, 0x2d423: 0x6d1e8a20,\n\t0x2d424: 0x6d1e8c20, 0x2d425: 0x6d1e8e20, 0x2d426: 0x6d1e9020, 0x2d427: 0x6d1e9220,\n\t0x2d428: 0x6d1e9420, 0x2d429: 0x6d1e9620, 0x2d42a: 0x6d1e9820, 0x2d42b: 0x6d1e9a20,\n\t0x2d42c: 0x6d1e9c20, 0x2d42d: 0x6d1e9e20, 0x2d42e: 0x6d1ea020, 0x2d42f: 0x6d1ea220,\n\t0x2d430: 0x6d1ea420, 0x2d431: 0x6d1ea620, 0x2d432: 0x6d1ea820, 0x2d433: 0x6d1f2820,\n\t0x2d434: 0x6d4bea20, 0x2d435: 0x6d4bec20, 0x2d436: 0x6d4bee20, 0x2d437: 0x6d4bf020,\n\t0x2d438: 0x6d4bf220, 0x2d439: 0x6d4bf420, 0x2d43a: 0x6d4bf620, 0x2d43b: 0x6d4bf820,\n\t0x2d43c: 0x6d4bfa20, 0x2d43d: 0x6d4bfc20, 0x2d43e: 0x6d4bfe20, 0x2d43f: 0x6d4c0020,\n\t// Block 0xb51, offset 0x2d440\n\t0x2d440: 0x6d4c0220, 0x2d441: 0x6d4c0420, 0x2d442: 0x6d4c0620, 0x2d443: 0x6d4c0820,\n\t0x2d444: 0x6d4c0a20, 0x2d445: 0x6d4c0c20, 0x2d446: 0x6d4c0e20, 0x2d447: 0x6d4c1020,\n\t0x2d448: 0x6d4c1220, 0x2d449: 0x6d4c1420, 0x2d44a: 0x6d4c1620, 0x2d44b: 0x6d4c1820,\n\t0x2d44c: 0x6d4c1a20, 0x2d44d: 0x6d4c1c20, 0x2d44e: 0x6d4c1e20, 0x2d44f: 0x6d4c2020,\n\t0x2d450: 0x6d794220, 0x2d451: 0x6d794420, 0x2d452: 0x6d794620, 0x2d453: 0x6d794820,\n\t0x2d454: 0x6d794a20, 0x2d455: 0x6d794c20, 0x2d456: 0x6d794e20, 0x2d457: 0x6d795020,\n\t0x2d458: 0x6d795220, 0x2d459: 0x6d795420, 0x2d45a: 0x6d795620, 0x2d45b: 0x6d795820,\n\t0x2d45c: 0x6d795a20, 0x2d45d: 0x6d795c20, 0x2d45e: 0x6d795e20, 0x2d45f: 0x6d796020,\n\t0x2d460: 0x6d796220, 0x2d461: 0x6d796420, 0x2d462: 0x6d796620, 0x2d463: 0x6da22620,\n\t0x2d464: 0x6da22820, 0x2d465: 0x6da22a20, 0x2d466: 0x6da22c20, 0x2d467: 0x6da22e20,\n\t0x2d468: 0x6d79de20, 0x2d469: 0x6da23020, 0x2d46a: 0x6da23220, 0x2d46b: 0x6da23420,\n\t0x2d46c: 0x6da23620, 0x2d46d: 0x6da23820, 0x2d46e: 0x6da23a20, 0x2d46f: 0x6da23c20,\n\t0x2d470: 0x6da23e20, 0x2d471: 0x6da24020, 0x2d472: 0x6da24220, 0x2d473: 0x6da24420,\n\t0x2d474: 0x6d796820, 0x2d475: 0x6da24620, 0x2d476: 0x6da24820, 0x2d477: 0x6da24a20,\n\t0x2d478: 0x6dc45820, 0x2d479: 0x6de16220, 0x2d47a: 0x6dc45a20, 0x2d47b: 0x6dc45c20,\n\t0x2d47c: 0x6dc45e20, 0x2d47d: 0x6de15820, 0x2d47e: 0x6de16420, 0x2d47f: 0x6de16620,\n\t// Block 0xb52, offset 0x2d480\n\t0x2d480: 0x6df96220, 0x2d481: 0x6df96420, 0x2d482: 0x6df96620, 0x2d483: 0x6df96820,\n\t0x2d484: 0x6df96a20, 0x2d485: 0x6df96c20, 0x2d486: 0x6df96e20, 0x2d487: 0x6e0d2a20,\n\t0x2d488: 0x6e0d2c20, 0x2d489: 0x6e0d2e20, 0x2d48a: 0x6e1c9a20, 0x2d48b: 0x6e1c9c20,\n\t0x2d48c: 0x6e1c9e20, 0x2d48d: 0x6e28a620, 0x2d48e: 0x6e31d820, 0x2d48f: 0x6e31da20,\n\t0x2d490: 0x6c019620, 0x2d491: 0x6c019820, 0x2d492: 0x6c019a20, 0x2d493: 0x6c019c20,\n\t0x2d494: 0x6c03f220, 0x2d495: 0x6c081220, 0x2d496: 0x6c0fa820, 0x2d497: 0x6c0faa20,\n\t0x2d498: 0x6c0fac20, 0x2d499: 0x6c0fae20, 0x2d49a: 0x6c1c6620, 0x2d49b: 0x6c1c6820,\n\t0x2d49c: 0x6c1c6a20, 0x2d49d: 0x6c1c6c20, 0x2d49e: 0x6c1c6e20, 0x2d49f: 0x6c2fca20,\n\t0x2d4a0: 0x6c2fcc20, 0x2d4a1: 0x6c2fce20, 0x2d4a2: 0x6c2fd020, 0x2d4a3: 0x6c2fd220,\n\t0x2d4a4: 0x6c2fd420, 0x2d4a5: 0x6c2fd620, 0x2d4a6: 0x6c2fd820, 0x2d4a7: 0x6c2fda20,\n\t0x2d4a8: 0x6c4a1e20, 0x2d4a9: 0x6c4a2020, 0x2d4aa: 0x6c4a2220, 0x2d4ab: 0x6c6be020,\n\t0x2d4ac: 0x6c6be220, 0x2d4ad: 0x6c6be420, 0x2d4ae: 0x6c930420, 0x2d4af: 0x6c930620,\n\t0x2d4b0: 0x6c930820, 0x2d4b1: 0x6cbf4420, 0x2d4b2: 0x6c930a20, 0x2d4b3: 0x6cbf6220,\n\t0x2d4b4: 0x6cef7a20, 0x2d4b5: 0x6d1f2a20, 0x2d4b6: 0x6cef9820, 0x2d4b7: 0x6d1f2c20,\n\t0x2d4b8: 0x6d79e220, 0x2d4b9: 0x6d79e420, 0x2d4ba: 0x6da29620, 0x2d4bb: 0x6da29820,\n\t0x2d4bc: 0x6de19020, 0x2d4bd: 0x6df98620, 0x2d4be: 0x6df98820, 0x2d4bf: 0x6e1cb420,\n\t// Block 0xb53, offset 0x2d4c0\n\t0x2d4c0: 0x6c01a020, 0x2d4c1: 0x6c082220, 0x2d4c2: 0x6c082420, 0x2d4c3: 0x6c082620,\n\t0x2d4c4: 0x6c082820, 0x2d4c5: 0x6c0fbc20, 0x2d4c6: 0x6c0fbe20, 0x2d4c7: 0x6c0fc020,\n\t0x2d4c8: 0x6c0fc220, 0x2d4c9: 0x6c0fc420, 0x2d4ca: 0x6c1c8e20, 0x2d4cb: 0x6c1c9020,\n\t0x2d4cc: 0x6c1c9220, 0x2d4cd: 0x6c1c9420, 0x2d4ce: 0x6c1c9620, 0x2d4cf: 0x6c1c9820,\n\t0x2d4d0: 0x6c1c9a20, 0x2d4d1: 0x6c1c9c20, 0x2d4d2: 0x6c1c9e20, 0x2d4d3: 0x6c2ffc20,\n\t0x2d4d4: 0x6c2ffe20, 0x2d4d5: 0x6c300020, 0x2d4d6: 0x6c300220, 0x2d4d7: 0x6c300420,\n\t0x2d4d8: 0x6c300620, 0x2d4d9: 0x6c300820, 0x2d4da: 0x6c300a20, 0x2d4db: 0x6c300c20,\n\t0x2d4dc: 0x6c300e20, 0x2d4dd: 0x6c301020, 0x2d4de: 0x6c301220, 0x2d4df: 0x6c301420,\n\t0x2d4e0: 0x6c301620, 0x2d4e1: 0x6c301820, 0x2d4e2: 0x6c4a4820, 0x2d4e3: 0x6c4a4a20,\n\t0x2d4e4: 0x6c4a4c20, 0x2d4e5: 0x6c4a4e20, 0x2d4e6: 0x6c4a5020, 0x2d4e7: 0x6c6bfe20,\n\t0x2d4e8: 0x6c4a5220, 0x2d4e9: 0x6c4a5420, 0x2d4ea: 0x6c4a5620, 0x2d4eb: 0x6c4a5820,\n\t0x2d4ec: 0x6c6c0020, 0x2d4ed: 0x6c6c0220, 0x2d4ee: 0x6c6c0420, 0x2d4ef: 0x6c6c0620,\n\t0x2d4f0: 0x6c6c0820, 0x2d4f1: 0x6c6c0a20, 0x2d4f2: 0x6c6c0c20, 0x2d4f3: 0x6c6c0e20,\n\t0x2d4f4: 0x6c6c1020, 0x2d4f5: 0x6c6c1220, 0x2d4f6: 0x6c6c1420, 0x2d4f7: 0x6c6c1620,\n\t0x2d4f8: 0x6c6c1820, 0x2d4f9: 0x6c6c1a20, 0x2d4fa: 0x6c6c1c20, 0x2d4fb: 0x6c6c1e20,\n\t0x2d4fc: 0x6c6c2020, 0x2d4fd: 0x6c6c2220, 0x2d4fe: 0x6c6c2420, 0x2d4ff: 0x6c933020,\n\t// Block 0xb54, offset 0x2d500\n\t0x2d500: 0x6c933220, 0x2d501: 0x6c933420, 0x2d502: 0x6c933620, 0x2d503: 0x6c933820,\n\t0x2d504: 0x6c933a20, 0x2d505: 0x6c933c20, 0x2d506: 0x6c933e20, 0x2d507: 0x6c934020,\n\t0x2d508: 0x6c934220, 0x2d509: 0x6c934420, 0x2d50a: 0x6cbf6820, 0x2d50b: 0x6cbf6a20,\n\t0x2d50c: 0x6cbf6c20, 0x2d50d: 0x6cbf6e20, 0x2d50e: 0x6cbf7020, 0x2d50f: 0x6cbf7220,\n\t0x2d510: 0x6cbf7420, 0x2d511: 0x6cbf7620, 0x2d512: 0x6cbf7820, 0x2d513: 0x6cbf7a20,\n\t0x2d514: 0x6cbf7c20, 0x2d515: 0x6cbf7e20, 0x2d516: 0x6cefa420, 0x2d517: 0x6cefa620,\n\t0x2d518: 0x6cefa820, 0x2d519: 0x6cefaa20, 0x2d51a: 0x6cefac20, 0x2d51b: 0x6cefae20,\n\t0x2d51c: 0x6cefb020, 0x2d51d: 0x6cefb220, 0x2d51e: 0x6d1f4420, 0x2d51f: 0x6d1f4620,\n\t0x2d520: 0x6d1f4820, 0x2d521: 0x6d1f4a20, 0x2d522: 0x6d1f4c20, 0x2d523: 0x6d1f4e20,\n\t0x2d524: 0x6d1f5020, 0x2d525: 0x6d1f5220, 0x2d526: 0x6d1f5420, 0x2d527: 0x6d1f5620,\n\t0x2d528: 0x6d1f5820, 0x2d529: 0x6d4cce20, 0x2d52a: 0x6cbf8020, 0x2d52b: 0x6d4cd020,\n\t0x2d52c: 0x6d4cd220, 0x2d52d: 0x6d4cd420, 0x2d52e: 0x6d4cd620, 0x2d52f: 0x6d79fe20,\n\t0x2d530: 0x6d7a0020, 0x2d531: 0x6da2a020, 0x2d532: 0x6da2a220, 0x2d533: 0x6de19a20,\n\t0x2d534: 0x6de19c20, 0x2d535: 0x6de19e20, 0x2d536: 0x6df99620, 0x2d537: 0x6e0d4820,\n\t0x2d538: 0x6c01a220, 0x2d539: 0x6c083220, 0x2d53a: 0x6c0fe220, 0x2d53b: 0x6c0fe420,\n\t0x2d53c: 0x6c0fe620, 0x2d53d: 0x6c1cbe20, 0x2d53e: 0x6c1cc020, 0x2d53f: 0x6c1cc220,\n\t// Block 0xb55, offset 0x2d540\n\t0x2d540: 0x6c304620, 0x2d541: 0x6c4a8e20, 0x2d542: 0x6c4a9020, 0x2d543: 0x6c6c7420,\n\t0x2d544: 0x6c6c7620, 0x2d545: 0x6c6c7820, 0x2d546: 0x6c4a9220, 0x2d547: 0x6c938220,\n\t0x2d548: 0x6c938420, 0x2d549: 0x6c938620, 0x2d54a: 0x6cbfd620, 0x2d54b: 0x6cbfd820,\n\t0x2d54c: 0x6cbfda20, 0x2d54d: 0x6d1fac20, 0x2d54e: 0x6d4d2220, 0x2d54f: 0x6c01a820,\n\t0x2d550: 0x6c03fc20, 0x2d551: 0x6c03fe20, 0x2d552: 0x6c083420, 0x2d553: 0x6c083620,\n\t0x2d554: 0x6c083820, 0x2d555: 0x6c083a20, 0x2d556: 0x6c0fec20, 0x2d557: 0x6c0fee20,\n\t0x2d558: 0x6c0ff020, 0x2d559: 0x6c305820, 0x2d55a: 0x6c305a20, 0x2d55b: 0x6c4aa020,\n\t0x2d55c: 0x6c4aa220, 0x2d55d: 0x6c4aa420, 0x2d55e: 0x6cbfec20, 0x2d55f: 0x6cf00020,\n\t0x2d560: 0x6cf00220, 0x2d561: 0x6d1fbc20, 0x2d562: 0x6c01ac20, 0x2d563: 0x6c040420,\n\t0x2d564: 0x6c040620, 0x2d565: 0x6c0ffc20, 0x2d566: 0x6c0ffe20, 0x2d567: 0x6c100020,\n\t0x2d568: 0x6c1cd820, 0x2d569: 0x6c1cda20, 0x2d56a: 0x6c1cdc20, 0x2d56b: 0x6c1cde20,\n\t0x2d56c: 0x6c1ce020, 0x2d56d: 0x6c306e20, 0x2d56e: 0x6c4abe20, 0x2d56f: 0x6c4ac020,\n\t0x2d570: 0x6cc00620, 0x2d571: 0x6cc00820, 0x2d572: 0x6cf01620, 0x2d573: 0x6cf01820,\n\t0x2d574: 0x6cf01a20, 0x2d575: 0x6d4d5020, 0x2d576: 0x6da2d220, 0x2d577: 0x6da2d420,\n\t0x2d578: 0x6c01b220, 0x2d579: 0x6c024c20, 0x2d57a: 0x6c040a20, 0x2d57b: 0x6c085220,\n\t0x2d57c: 0x6c085420, 0x2d57d: 0x6c100e20, 0x2d57e: 0x6c1cfa20, 0x2d57f: 0x6c1cfc20,\n\t// Block 0xb56, offset 0x2d580\n\t0x2d580: 0x6c1cfe20, 0x2d581: 0x6c1d0020, 0x2d582: 0x6c1d0220, 0x2d583: 0x6c1d0420,\n\t0x2d584: 0x6c308620, 0x2d585: 0x6c308820, 0x2d586: 0x6c308a20, 0x2d587: 0x6c308c20,\n\t0x2d588: 0x6c308e20, 0x2d589: 0x6c309020, 0x2d58a: 0x6c309220, 0x2d58b: 0x6c4ad620,\n\t0x2d58c: 0x6c4ad820, 0x2d58d: 0x6c4ada20, 0x2d58e: 0x6c4adc20, 0x2d58f: 0x6c4ade20,\n\t0x2d590: 0x6c6cae20, 0x2d591: 0x6c6cb020, 0x2d592: 0x6c6cb220, 0x2d593: 0x6c6cb420,\n\t0x2d594: 0x6c6cb620, 0x2d595: 0x6c6cb820, 0x2d596: 0x6c6cba20, 0x2d597: 0x6c6cbc20,\n\t0x2d598: 0x6c6cbe20, 0x2d599: 0x6c93d020, 0x2d59a: 0x6c93d220, 0x2d59b: 0x6c93d420,\n\t0x2d59c: 0x6c93d620, 0x2d59d: 0x6c93d820, 0x2d59e: 0x6cc02420, 0x2d59f: 0x6cc02620,\n\t0x2d5a0: 0x6c941020, 0x2d5a1: 0x6cc02820, 0x2d5a2: 0x6d1fe020, 0x2d5a3: 0x6d1fe220,\n\t0x2d5a4: 0x6d4d6220, 0x2d5a5: 0x6d4d6420, 0x2d5a6: 0x6d4d6620, 0x2d5a7: 0x6d4d6820,\n\t0x2d5a8: 0x6da2da20, 0x2d5a9: 0x6dc4c620, 0x2d5aa: 0x6dc4c820, 0x2d5ab: 0x6de1c020,\n\t0x2d5ac: 0x6e0d6420, 0x2d5ad: 0x6e31f020, 0x2d5ae: 0x6c01b620, 0x2d5af: 0x6c040e20,\n\t0x2d5b0: 0x6c102820, 0x2d5b1: 0x6c01ba20, 0x2d5b2: 0x6c041220, 0x2d5b3: 0x6c086c20,\n\t0x2d5b4: 0x6c086e20, 0x2d5b5: 0x6c087020, 0x2d5b6: 0x6c087220, 0x2d5b7: 0x6c087420,\n\t0x2d5b8: 0x6c104620, 0x2d5b9: 0x6c104820, 0x2d5ba: 0x6c104a20, 0x2d5bb: 0x6c104c20,\n\t0x2d5bc: 0x6c104e20, 0x2d5bd: 0x6c105020, 0x2d5be: 0x6c105220, 0x2d5bf: 0x6c105420,\n\t// Block 0xb57, offset 0x2d5c0\n\t0x2d5c0: 0x6c105620, 0x2d5c1: 0x6c105820, 0x2d5c2: 0x6c105a20, 0x2d5c3: 0x6c105c20,\n\t0x2d5c4: 0x6c1d3c20, 0x2d5c5: 0x6c1d3e20, 0x2d5c6: 0x6c1d4020, 0x2d5c7: 0x6c1d4220,\n\t0x2d5c8: 0x6c1d4420, 0x2d5c9: 0x6c1d4620, 0x2d5ca: 0x6c1d4820, 0x2d5cb: 0x6c1d4a20,\n\t0x2d5cc: 0x6c1d4c20, 0x2d5cd: 0x6c1dd220, 0x2d5ce: 0x6c1d4e20, 0x2d5cf: 0x6c1d5020,\n\t0x2d5d0: 0x6c1d5220, 0x2d5d1: 0x6c1d5420, 0x2d5d2: 0x6c1d5620, 0x2d5d3: 0x6c1d5820,\n\t0x2d5d4: 0x6c1d5a20, 0x2d5d5: 0x6c1d5c20, 0x2d5d6: 0x6c1d5e20, 0x2d5d7: 0x6c1d6020,\n\t0x2d5d8: 0x6c1d6220, 0x2d5d9: 0x6c1d6420, 0x2d5da: 0x6c1d6620, 0x2d5db: 0x6c1d6820,\n\t0x2d5dc: 0x6c1d6a20, 0x2d5dd: 0x6c30ce20, 0x2d5de: 0x6c30d020, 0x2d5df: 0x6c30d220,\n\t0x2d5e0: 0x6c30d420, 0x2d5e1: 0x6c30d620, 0x2d5e2: 0x6c30d820, 0x2d5e3: 0x6c30da20,\n\t0x2d5e4: 0x6c30dc20, 0x2d5e5: 0x6c30de20, 0x2d5e6: 0x6c30e020, 0x2d5e7: 0x6c30e220,\n\t0x2d5e8: 0x6c30e420, 0x2d5e9: 0x6c30e620, 0x2d5ea: 0x6c30e820, 0x2d5eb: 0x6c30ea20,\n\t0x2d5ec: 0x6c30ec20, 0x2d5ed: 0x6c30ee20, 0x2d5ee: 0x6c30f020, 0x2d5ef: 0x6c30f220,\n\t0x2d5f0: 0x6c30f420, 0x2d5f1: 0x6c30f620, 0x2d5f2: 0x6c30f820, 0x2d5f3: 0x6c30fa20,\n\t0x2d5f4: 0x6c30fc20, 0x2d5f5: 0x6c30fe20, 0x2d5f6: 0x6c310020, 0x2d5f7: 0x6c310220,\n\t0x2d5f8: 0x6c310420, 0x2d5f9: 0x6c310620, 0x2d5fa: 0x6c310820, 0x2d5fb: 0x6c310a20,\n\t0x2d5fc: 0x6c310c20, 0x2d5fd: 0x6c310e20, 0x2d5fe: 0x6c311020, 0x2d5ff: 0x6c311220,\n\t// Block 0xb58, offset 0x2d600\n\t0x2d600: 0x6c311420, 0x2d601: 0x6c311620, 0x2d602: 0x6c311820, 0x2d603: 0x6c311a20,\n\t0x2d604: 0x6c311c20, 0x2d605: 0x6c311e20, 0x2d606: 0x6c4b2620, 0x2d607: 0x6c4b2820,\n\t0x2d608: 0x6c4b2a20, 0x2d609: 0x6c4b2c20, 0x2d60a: 0x6c4b2e20, 0x2d60b: 0x6c4b3020,\n\t0x2d60c: 0x6c4b3220, 0x2d60d: 0x6c4b3420, 0x2d60e: 0x6c4b3620, 0x2d60f: 0x6c4b3820,\n\t0x2d610: 0x6c4b3a20, 0x2d611: 0x6c4b3c20, 0x2d612: 0x6c4b3e20, 0x2d613: 0x6c4b4020,\n\t0x2d614: 0x6c4b4220, 0x2d615: 0x6c4b4420, 0x2d616: 0x6c4b4620, 0x2d617: 0x6c4b4820,\n\t0x2d618: 0x6c4b4a20, 0x2d619: 0x6c4b4c20, 0x2d61a: 0x6c4b4e20, 0x2d61b: 0x6c4b5020,\n\t0x2d61c: 0x6c4b5220, 0x2d61d: 0x6c4b5420, 0x2d61e: 0x6c4b5620, 0x2d61f: 0x6c4b5820,\n\t0x2d620: 0x6c4b5a20, 0x2d621: 0x6c4b5c20, 0x2d622: 0x6c4b5e20, 0x2d623: 0x6c4b6020,\n\t0x2d624: 0x6c4b6220, 0x2d625: 0x6c4b6420, 0x2d626: 0x6c4b6620, 0x2d627: 0x6c4b6820,\n\t0x2d628: 0x6c6d2020, 0x2d629: 0x6c6d2220, 0x2d62a: 0x6c6d2420, 0x2d62b: 0x6c6d2620,\n\t0x2d62c: 0x6c6d2820, 0x2d62d: 0x6c6d2a20, 0x2d62e: 0x6c6d2c20, 0x2d62f: 0x6c6d2e20,\n\t0x2d630: 0x6c6d3020, 0x2d631: 0x6c6d3220, 0x2d632: 0x6c6d3420, 0x2d633: 0x6c6d3620,\n\t0x2d634: 0x6c6d3820, 0x2d635: 0x6c6d3a20, 0x2d636: 0x6c6d3c20, 0x2d637: 0x6c6d3e20,\n\t0x2d638: 0x6c4bcc20, 0x2d639: 0x6c6d4020, 0x2d63a: 0x6c6d4220, 0x2d63b: 0x6c6d4420,\n\t0x2d63c: 0x6c6d4620, 0x2d63d: 0x6c6d4820, 0x2d63e: 0x6c6d4a20, 0x2d63f: 0x6c6d4c20,\n\t// Block 0xb59, offset 0x2d640\n\t0x2d640: 0x6c6d4e20, 0x2d641: 0x6c6d5020, 0x2d642: 0x6c6d5220, 0x2d643: 0x6c6d5420,\n\t0x2d644: 0x6c6d5620, 0x2d645: 0x6c6d5820, 0x2d646: 0x6c943420, 0x2d647: 0x6c943620,\n\t0x2d648: 0x6c943820, 0x2d649: 0x6c943a20, 0x2d64a: 0x6c943c20, 0x2d64b: 0x6c943e20,\n\t0x2d64c: 0x6c944020, 0x2d64d: 0x6c944220, 0x2d64e: 0x6c944420, 0x2d64f: 0x6c944620,\n\t0x2d650: 0x6c944820, 0x2d651: 0x6c944a20, 0x2d652: 0x6c944c20, 0x2d653: 0x6c944e20,\n\t0x2d654: 0x6c945020, 0x2d655: 0x6c945220, 0x2d656: 0x6c945420, 0x2d657: 0x6c945620,\n\t0x2d658: 0x6c945820, 0x2d659: 0x6c945a20, 0x2d65a: 0x6c945c20, 0x2d65b: 0x6c945e20,\n\t0x2d65c: 0x6c946020, 0x2d65d: 0x6c946220, 0x2d65e: 0x6c946420, 0x2d65f: 0x6c946620,\n\t0x2d660: 0x6c946820, 0x2d661: 0x6c946a20, 0x2d662: 0x6c946c20, 0x2d663: 0x6c946e20,\n\t0x2d664: 0x6c947020, 0x2d665: 0x6c947220, 0x2d666: 0x6c947420, 0x2d667: 0x6c947620,\n\t0x2d668: 0x6c947820, 0x2d669: 0x6c947a20, 0x2d66a: 0x6c947c20, 0x2d66b: 0x6c947e20,\n\t0x2d66c: 0x6c948020, 0x2d66d: 0x6c948220, 0x2d66e: 0x6c948420, 0x2d66f: 0x6c948620,\n\t0x2d670: 0x6c948820, 0x2d671: 0x6cc08420, 0x2d672: 0x6cc08620, 0x2d673: 0x6cc08820,\n\t0x2d674: 0x6cc08a20, 0x2d675: 0x6cc08c20, 0x2d676: 0x6cc08e20, 0x2d677: 0x6cc09020,\n\t0x2d678: 0x6cc09220, 0x2d679: 0x6cc09420, 0x2d67a: 0x6cc09620, 0x2d67b: 0x6cc09820,\n\t0x2d67c: 0x6cc09a20, 0x2d67d: 0x6cc09c20, 0x2d67e: 0x6cc09e20, 0x2d67f: 0x6cc0a020,\n\t// Block 0xb5a, offset 0x2d680\n\t0x2d680: 0x6cc0a220, 0x2d681: 0x6cc0a420, 0x2d682: 0x6cc0a620, 0x2d683: 0x6cc0a820,\n\t0x2d684: 0x6cc0aa20, 0x2d685: 0x6cc0ac20, 0x2d686: 0x6cc0ae20, 0x2d687: 0x6cc0b020,\n\t0x2d688: 0x6cc0b220, 0x2d689: 0x6cc0b420, 0x2d68a: 0x6cf07a20, 0x2d68b: 0x6cc0b620,\n\t0x2d68c: 0x6cc0b820, 0x2d68d: 0x6cc0ba20, 0x2d68e: 0x6cc0bc20, 0x2d68f: 0x6cc0be20,\n\t0x2d690: 0x6cc0c020, 0x2d691: 0x6cc0c220, 0x2d692: 0x6cc0c420, 0x2d693: 0x6cc0c620,\n\t0x2d694: 0x6cc0c820, 0x2d695: 0x6cc0ca20, 0x2d696: 0x6cc0cc20, 0x2d697: 0x6cc0ce20,\n\t0x2d698: 0x6cc0d020, 0x2d699: 0x6cc0d220, 0x2d69a: 0x6cc0d420, 0x2d69b: 0x6cc0d620,\n\t0x2d69c: 0x6cc0d820, 0x2d69d: 0x6cc0da20, 0x2d69e: 0x6cf07c20, 0x2d69f: 0x6cf07e20,\n\t0x2d6a0: 0x6cf08020, 0x2d6a1: 0x6cf08220, 0x2d6a2: 0x6cf08420, 0x2d6a3: 0x6cf08620,\n\t0x2d6a4: 0x6cf08820, 0x2d6a5: 0x6cf08a20, 0x2d6a6: 0x6cf08c20, 0x2d6a7: 0x6cf08e20,\n\t0x2d6a8: 0x6cf09020, 0x2d6a9: 0x6cf09220, 0x2d6aa: 0x6cf09420, 0x2d6ab: 0x6cc16a20,\n\t0x2d6ac: 0x6cf09620, 0x2d6ad: 0x6cf09820, 0x2d6ae: 0x6cf09a20, 0x2d6af: 0x6cf09c20,\n\t0x2d6b0: 0x6cf09e20, 0x2d6b1: 0x6cf0a020, 0x2d6b2: 0x6cf0a220, 0x2d6b3: 0x6cf0a420,\n\t0x2d6b4: 0x6cf0a620, 0x2d6b5: 0x6cf0a820, 0x2d6b6: 0x6cf0aa20, 0x2d6b7: 0x6d201820,\n\t0x2d6b8: 0x6d201a20, 0x2d6b9: 0x6d201c20, 0x2d6ba: 0x6d201e20, 0x2d6bb: 0x6d202020,\n\t0x2d6bc: 0x6d202220, 0x2d6bd: 0x6d202420, 0x2d6be: 0x6d202620, 0x2d6bf: 0x6d202820,\n\t// Block 0xb5b, offset 0x2d6c0\n\t0x2d6c0: 0x6d202a20, 0x2d6c1: 0x6d202c20, 0x2d6c2: 0x6d202e20, 0x2d6c3: 0x6d203020,\n\t0x2d6c4: 0x6d203220, 0x2d6c5: 0x6d203420, 0x2d6c6: 0x6d203620, 0x2d6c7: 0x6d203820,\n\t0x2d6c8: 0x6d203a20, 0x2d6c9: 0x6d203c20, 0x2d6ca: 0x6d203e20, 0x2d6cb: 0x6d204020,\n\t0x2d6cc: 0x6d204220, 0x2d6cd: 0x6d204420, 0x2d6ce: 0x6d204620, 0x2d6cf: 0x6d4dac20,\n\t0x2d6d0: 0x6d4dae20, 0x2d6d1: 0x6d4db020, 0x2d6d2: 0x6d4db220, 0x2d6d3: 0x6d4db420,\n\t0x2d6d4: 0x6d4db620, 0x2d6d5: 0x6d4db820, 0x2d6d6: 0x6d4dba20, 0x2d6d7: 0x6d4dbc20,\n\t0x2d6d8: 0x6d4dbe20, 0x2d6d9: 0x6d4dc020, 0x2d6da: 0x6d4dc220, 0x2d6db: 0x6d4dc420,\n\t0x2d6dc: 0x6d4dc620, 0x2d6dd: 0x6d4dc820, 0x2d6de: 0x6d4dca20, 0x2d6df: 0x6d4dcc20,\n\t0x2d6e0: 0x6d4dce20, 0x2d6e1: 0x6d4dd020, 0x2d6e2: 0x6d4dd220, 0x2d6e3: 0x6d4dd420,\n\t0x2d6e4: 0x6d4dd620, 0x2d6e5: 0x6d4dd820, 0x2d6e6: 0x6d7a6e20, 0x2d6e7: 0x6d7a7020,\n\t0x2d6e8: 0x6d7a7220, 0x2d6e9: 0x6d7a7420, 0x2d6ea: 0x6d7a7620, 0x2d6eb: 0x6d7a7820,\n\t0x2d6ec: 0x6d7a7a20, 0x2d6ed: 0x6d7a7c20, 0x2d6ee: 0x6d7a7e20, 0x2d6ef: 0x6d7a8020,\n\t0x2d6f0: 0x6d7a8220, 0x2d6f1: 0x6d7a8420, 0x2d6f2: 0x6d7a8620, 0x2d6f3: 0x6d7a8820,\n\t0x2d6f4: 0x6d7a8a20, 0x2d6f5: 0x6d7a8c20, 0x2d6f6: 0x6d7a8e20, 0x2d6f7: 0x6da2ec20,\n\t0x2d6f8: 0x6da2ee20, 0x2d6f9: 0x6da2f020, 0x2d6fa: 0x6da2f220, 0x2d6fb: 0x6da35220,\n\t0x2d6fc: 0x6da2f420, 0x2d6fd: 0x6da2f620, 0x2d6fe: 0x6da2f820, 0x2d6ff: 0x6da2fa20,\n\t// Block 0xb5c, offset 0x2d700\n\t0x2d700: 0x6dc4d620, 0x2d701: 0x6dc4d820, 0x2d702: 0x6dc4da20, 0x2d703: 0x6de1d820,\n\t0x2d704: 0x6de1da20, 0x2d705: 0x6de1dc20, 0x2d706: 0x6df9b220, 0x2d707: 0x6df9b420,\n\t0x2d708: 0x6df9b620, 0x2d709: 0x6df9b820, 0x2d70a: 0x6df9ba20, 0x2d70b: 0x6e0d6e20,\n\t0x2d70c: 0x6df9bc20, 0x2d70d: 0x6e0d7420, 0x2d70e: 0x6e1cd820, 0x2d70f: 0x6e0d7620,\n\t0x2d710: 0x6e0d7820, 0x2d711: 0x6e1cda20, 0x2d712: 0x6e1cdc20, 0x2d713: 0x6e1cde20,\n\t0x2d714: 0x6e1ce020, 0x2d715: 0x6e1ce220, 0x2d716: 0x6e28b220, 0x2d717: 0x6e1ce420,\n\t0x2d718: 0x6e28b420, 0x2d719: 0x6e31f420, 0x2d71a: 0x6e28b620, 0x2d71b: 0x6c01bc20,\n\t0x2d71c: 0x6c00c620, 0x2d71d: 0x6c01be20, 0x2d71e: 0x6c109420, 0x2d71f: 0x6c109620,\n\t0x2d720: 0x6c1dd420, 0x2d721: 0x6c272c20, 0x2d722: 0x6c954a20, 0x2d723: 0x6c954c20,\n\t0x2d724: 0x6d4e4820, 0x2d725: 0x6c01c420, 0x2d726: 0x6c089220, 0x2d727: 0x6c089420,\n\t0x2d728: 0x6c089620, 0x2d729: 0x6c10a220, 0x2d72a: 0x6c10a420, 0x2d72b: 0x6c1dde20,\n\t0x2d72c: 0x6c4bda20, 0x2d72d: 0x6c4bdc20, 0x2d72e: 0x6c6dec20, 0x2d72f: 0x6cc17020,\n\t0x2d730: 0x6cf11020, 0x2d731: 0x6c01c620, 0x2d732: 0x6c01c820, 0x2d733: 0x6c01ca20,\n\t0x2d734: 0x6c042820, 0x2d735: 0x6c1de620, 0x2d736: 0x6c318a20, 0x2d737: 0x6c4be020,\n\t0x2d738: 0x6c4be220, 0x2d739: 0x6c4be420, 0x2d73a: 0x6c4be620, 0x2d73b: 0x6c4be820,\n\t0x2d73c: 0x6c6df220, 0x2d73d: 0x6cc17820, 0x2d73e: 0x6c01cc20, 0x2d73f: 0x6c042c20,\n\t// Block 0xb5d, offset 0x2d740\n\t0x2d740: 0x6c042e20, 0x2d741: 0x6c043020, 0x2d742: 0x6c08aa20, 0x2d743: 0x6c08ac20,\n\t0x2d744: 0x6c08ae20, 0x2d745: 0x6c08b020, 0x2d746: 0x6c10b420, 0x2d747: 0x6c10b620,\n\t0x2d748: 0x6c10b820, 0x2d749: 0x6c1df620, 0x2d74a: 0x6c1df820, 0x2d74b: 0x6c1dfa20,\n\t0x2d74c: 0x6c1dfc20, 0x2d74d: 0x6c1dfe20, 0x2d74e: 0x6c1e0020, 0x2d74f: 0x6c1e0220,\n\t0x2d750: 0x6c1e0420, 0x2d751: 0x6c319a20, 0x2d752: 0x6c319c20, 0x2d753: 0x6c319e20,\n\t0x2d754: 0x6c31a020, 0x2d755: 0x6c31a220, 0x2d756: 0x6c31a420, 0x2d757: 0x6c31a620,\n\t0x2d758: 0x6c31a820, 0x2d759: 0x6c31aa20, 0x2d75a: 0x6c31ac20, 0x2d75b: 0x6c31ae20,\n\t0x2d75c: 0x6c31b020, 0x2d75d: 0x6c4bfc20, 0x2d75e: 0x6c4bfe20, 0x2d75f: 0x6c4c0020,\n\t0x2d760: 0x6c4c0220, 0x2d761: 0x6c4c0420, 0x2d762: 0x6c4c0620, 0x2d763: 0x6c4c0820,\n\t0x2d764: 0x6c4c0a20, 0x2d765: 0x6c4c0c20, 0x2d766: 0x6c4c0e20, 0x2d767: 0x6c4c1020,\n\t0x2d768: 0x6c6e0020, 0x2d769: 0x6c6e0220, 0x2d76a: 0x6c6e0420, 0x2d76b: 0x6c6e0620,\n\t0x2d76c: 0x6c6e0820, 0x2d76d: 0x6c6e0a20, 0x2d76e: 0x6c6e0c20, 0x2d76f: 0x6c6e0e20,\n\t0x2d770: 0x6c6e1020, 0x2d771: 0x6c6e1220, 0x2d772: 0x6c957020, 0x2d773: 0x6c957220,\n\t0x2d774: 0x6c957420, 0x2d775: 0x6c957620, 0x2d776: 0x6c957820, 0x2d777: 0x6c957a20,\n\t0x2d778: 0x6c957c20, 0x2d779: 0x6c957e20, 0x2d77a: 0x6c958020, 0x2d77b: 0x6c958220,\n\t0x2d77c: 0x6c958420, 0x2d77d: 0x6cc19820, 0x2d77e: 0x6c95ca20, 0x2d77f: 0x6cc19a20,\n\t// Block 0xb5e, offset 0x2d780\n\t0x2d780: 0x6cc19c20, 0x2d781: 0x6cc19e20, 0x2d782: 0x6cc1a020, 0x2d783: 0x6cc1a220,\n\t0x2d784: 0x6cc1a420, 0x2d785: 0x6cc1a620, 0x2d786: 0x6cc1a820, 0x2d787: 0x6cc1aa20,\n\t0x2d788: 0x6cc1f220, 0x2d789: 0x6cc1ac20, 0x2d78a: 0x6cf12420, 0x2d78b: 0x6cf12620,\n\t0x2d78c: 0x6cf12820, 0x2d78d: 0x6cf12a20, 0x2d78e: 0x6cf12c20, 0x2d78f: 0x6cf12e20,\n\t0x2d790: 0x6d082820, 0x2d791: 0x6d20c820, 0x2d792: 0x6d20ca20, 0x2d793: 0x6d20cc20,\n\t0x2d794: 0x6d20ce20, 0x2d795: 0x6d20d020, 0x2d796: 0x6d20d220, 0x2d797: 0x6d20d420,\n\t0x2d798: 0x6d20d620, 0x2d799: 0x6d20d820, 0x2d79a: 0x6d4e5e20, 0x2d79b: 0x6d20da20,\n\t0x2d79c: 0x6d4e6020, 0x2d79d: 0x6d4e6220, 0x2d79e: 0x6d4e6420, 0x2d79f: 0x6d4e6620,\n\t0x2d7a0: 0x6d4e6820, 0x2d7a1: 0x6d4e6a20, 0x2d7a2: 0x6d4e6c20, 0x2d7a3: 0x6d210620,\n\t0x2d7a4: 0x6d4e6e20, 0x2d7a5: 0x6d4e7020, 0x2d7a6: 0x6d7aee20, 0x2d7a7: 0x6d7af020,\n\t0x2d7a8: 0x6d7af220, 0x2d7a9: 0x6d4ea820, 0x2d7aa: 0x6da36020, 0x2d7ab: 0x6da36220,\n\t0x2d7ac: 0x6da36420, 0x2d7ad: 0x6dc51020, 0x2d7ae: 0x6dc51220, 0x2d7af: 0x6d7b1a20,\n\t0x2d7b0: 0x6de21220, 0x2d7b1: 0x6df9e020, 0x2d7b2: 0x6c01ce20, 0x2d7b3: 0x6c08ba20,\n\t0x2d7b4: 0x6c10da20, 0x2d7b5: 0x6c10dc20, 0x2d7b6: 0x6c10de20, 0x2d7b7: 0x6c31dc20,\n\t0x2d7b8: 0x6c31de20, 0x2d7b9: 0x6cf15a20, 0x2d7ba: 0x6c01d220, 0x2d7bb: 0x6c043220,\n\t0x2d7bc: 0x6c08be20, 0x2d7bd: 0x6c4c5e20, 0x2d7be: 0x6cc20020, 0x2d7bf: 0x6c01d420,\n\t// Block 0xb5f, offset 0x2d7c0\n\t0x2d7c0: 0x6c08c820, 0x2d7c1: 0x6c08ca20, 0x2d7c2: 0x6c08cc20, 0x2d7c3: 0x6c08ce20,\n\t0x2d7c4: 0x6c10ea20, 0x2d7c5: 0x6c10ec20, 0x2d7c6: 0x6c10ee20, 0x2d7c7: 0x6c1e4620,\n\t0x2d7c8: 0x6c1e4820, 0x2d7c9: 0x6c1e4a20, 0x2d7ca: 0x6c1e4c20, 0x2d7cb: 0x6c1e4e20,\n\t0x2d7cc: 0x6c1e5020, 0x2d7cd: 0x6c1e5220, 0x2d7ce: 0x6c1e5420, 0x2d7cf: 0x6c1e5620,\n\t0x2d7d0: 0x6c1e5820, 0x2d7d1: 0x6c1e5a20, 0x2d7d2: 0x6c1e5c20, 0x2d7d3: 0x6c1e5e20,\n\t0x2d7d4: 0x6c1e6020, 0x2d7d5: 0x6c320220, 0x2d7d6: 0x6c320420, 0x2d7d7: 0x6c320620,\n\t0x2d7d8: 0x6c31f020, 0x2d7d9: 0x6c320820, 0x2d7da: 0x6c320a20, 0x2d7db: 0x6c4c6620,\n\t0x2d7dc: 0x6c320c20, 0x2d7dd: 0x6c320e20, 0x2d7de: 0x6c321020, 0x2d7df: 0x6c321220,\n\t0x2d7e0: 0x6c4c7620, 0x2d7e1: 0x6c4c7820, 0x2d7e2: 0x6c4c7a20, 0x2d7e3: 0x6c4c7c20,\n\t0x2d7e4: 0x6c4c7e20, 0x2d7e5: 0x6c4c8020, 0x2d7e6: 0x6c4c8220, 0x2d7e7: 0x6c6e6a20,\n\t0x2d7e8: 0x6c6e6c20, 0x2d7e9: 0x6c6e6e20, 0x2d7ea: 0x6c6e7020, 0x2d7eb: 0x6c6e7220,\n\t0x2d7ec: 0x6c6e7420, 0x2d7ed: 0x6c6e7620, 0x2d7ee: 0x6c6e7820, 0x2d7ef: 0x6c6e7a20,\n\t0x2d7f0: 0x6c4cac20, 0x2d7f1: 0x6c95e220, 0x2d7f2: 0x6c95e420, 0x2d7f3: 0x6c95e620,\n\t0x2d7f4: 0x6c95e820, 0x2d7f5: 0x6c95ea20, 0x2d7f6: 0x6c95ec20, 0x2d7f7: 0x6c95ee20,\n\t0x2d7f8: 0x6c95f020, 0x2d7f9: 0x6c95f220, 0x2d7fa: 0x6c95f420, 0x2d7fb: 0x6c95f620,\n\t0x2d7fc: 0x6c95f820, 0x2d7fd: 0x6cc20c20, 0x2d7fe: 0x6c965020, 0x2d7ff: 0x6cc20e20,\n\t// Block 0xb60, offset 0x2d800\n\t0x2d800: 0x6cc21020, 0x2d801: 0x6cc21220, 0x2d802: 0x6cc21420, 0x2d803: 0x6cc21620,\n\t0x2d804: 0x6cc26420, 0x2d805: 0x6cf16c20, 0x2d806: 0x6cf16e20, 0x2d807: 0x6cf17020,\n\t0x2d808: 0x6cf17220, 0x2d809: 0x6cf17420, 0x2d80a: 0x6cc21820, 0x2d80b: 0x6cf17620,\n\t0x2d80c: 0x6cf17820, 0x2d80d: 0x6d211e20, 0x2d80e: 0x6d212020, 0x2d80f: 0x6d212220,\n\t0x2d810: 0x6d212420, 0x2d811: 0x6d212620, 0x2d812: 0x6d212820, 0x2d813: 0x6d212a20,\n\t0x2d814: 0x6d212c20, 0x2d815: 0x6d212e20, 0x2d816: 0x6d213020, 0x2d817: 0x6d213220,\n\t0x2d818: 0x6d213420, 0x2d819: 0x6d216c20, 0x2d81a: 0x6d4ebc20, 0x2d81b: 0x6d4ebe20,\n\t0x2d81c: 0x6d216e20, 0x2d81d: 0x6d4ec020, 0x2d81e: 0x6d4ec220, 0x2d81f: 0x6d4ec420,\n\t0x2d820: 0x6d4ec620, 0x2d821: 0x6d4ec820, 0x2d822: 0x6d4eca20, 0x2d823: 0x6d4ecc20,\n\t0x2d824: 0x6d4ece20, 0x2d825: 0x6d7b2e20, 0x2d826: 0x6d7b3020, 0x2d827: 0x6d7b3220,\n\t0x2d828: 0x6d7b3420, 0x2d829: 0x6d7b3620, 0x2d82a: 0x6d7b3820, 0x2d82b: 0x6dc52020,\n\t0x2d82c: 0x6de23220, 0x2d82d: 0x6de23420, 0x2d82e: 0x6df9ee20, 0x2d82f: 0x6df9f020,\n\t0x2d830: 0x6df9f220, 0x2d831: 0x6e0da020, 0x2d832: 0x6e1d1220, 0x2d833: 0x6e388020,\n\t0x2d834: 0x6c01d620, 0x2d835: 0x6c110a20, 0x2d836: 0x6c324220, 0x2d837: 0x6c1e8420,\n\t0x2d838: 0x6c324620, 0x2d839: 0x6c324820, 0x2d83a: 0x6c4cae20, 0x2d83b: 0x6c4cb020,\n\t0x2d83c: 0x6c4cb220, 0x2d83d: 0x6c6eba20, 0x2d83e: 0x6c01d820, 0x2d83f: 0x6c043c20,\n\t// Block 0xb61, offset 0x2d840\n\t0x2d840: 0x6c043e20, 0x2d841: 0x6c08da20, 0x2d842: 0x6c110e20, 0x2d843: 0x6c1e9020,\n\t0x2d844: 0x6c1e9220, 0x2d845: 0x6c1e9420, 0x2d846: 0x6c324c20, 0x2d847: 0x6c4cc220,\n\t0x2d848: 0x6c4cc420, 0x2d849: 0x6c6ec220, 0x2d84a: 0x6d218220, 0x2d84b: 0x6c01dc20,\n\t0x2d84c: 0x6c044220, 0x2d84d: 0x6c08e020, 0x2d84e: 0x6c111620, 0x2d84f: 0x6c111820,\n\t0x2d850: 0x6c111a20, 0x2d851: 0x6cc27a20, 0x2d852: 0x6cf1ba20, 0x2d853: 0x6c01e020,\n\t0x2d854: 0x6c044a20, 0x2d855: 0x6c044c20, 0x2d856: 0x6c044e20, 0x2d857: 0x6c08e220,\n\t0x2d858: 0x6c08e420, 0x2d859: 0x6c112820, 0x2d85a: 0x6c112a20, 0x2d85b: 0x6c112c20,\n\t0x2d85c: 0x6c112e20, 0x2d85d: 0x6c1eb620, 0x2d85e: 0x6c1eb820, 0x2d85f: 0x6c1eba20,\n\t0x2d860: 0x6c1ebc20, 0x2d861: 0x6c326820, 0x2d862: 0x6c326a20, 0x2d863: 0x6c326c20,\n\t0x2d864: 0x6c326e20, 0x2d865: 0x6c327020, 0x2d866: 0x6c327220, 0x2d867: 0x6c327420,\n\t0x2d868: 0x6c327620, 0x2d869: 0x6c327820, 0x2d86a: 0x6c327a20, 0x2d86b: 0x6c4cf820,\n\t0x2d86c: 0x6c4cfa20, 0x2d86d: 0x6c4cfc20, 0x2d86e: 0x6c4cfe20, 0x2d86f: 0x6c4d0020,\n\t0x2d870: 0x6c6edc20, 0x2d871: 0x6c6ede20, 0x2d872: 0x6c6ee020, 0x2d873: 0x6c6ee220,\n\t0x2d874: 0x6c966e20, 0x2d875: 0x6c967020, 0x2d876: 0x6c967220, 0x2d877: 0x6c967420,\n\t0x2d878: 0x6c967620, 0x2d879: 0x6c967820, 0x2d87a: 0x6cc28420, 0x2d87b: 0x6cc28620,\n\t0x2d87c: 0x6cc28820, 0x2d87d: 0x6cc28a20, 0x2d87e: 0x6cc28c20, 0x2d87f: 0x6cf1c820,\n\t// Block 0xb62, offset 0x2d880\n\t0x2d880: 0x6cf1ca20, 0x2d881: 0x6cf1cc20, 0x2d882: 0x6cf1ce20, 0x2d883: 0x6d218620,\n\t0x2d884: 0x6d218820, 0x2d885: 0x6d218a20, 0x2d886: 0x6d21a620, 0x2d887: 0x6d4f0c20,\n\t0x2d888: 0x6d4f0e20, 0x2d889: 0x6d4f1020, 0x2d88a: 0x6d7b6820, 0x2d88b: 0x6d7b6a20,\n\t0x2d88c: 0x6da3aa20, 0x2d88d: 0x6dc54020, 0x2d88e: 0x6e1d2220, 0x2d88f: 0x6e28ca20,\n\t0x2d890: 0x6c01e820, 0x2d891: 0x6c01ea20, 0x2d892: 0x6c08f820, 0x2d893: 0x6c114a20,\n\t0x2d894: 0x6c329c20, 0x2d895: 0x6c329e20, 0x2d896: 0x6c4d2a20, 0x2d897: 0x6c96a020,\n\t0x2d898: 0x6cc2a620, 0x2d899: 0x6cf1e020, 0x2d89a: 0x6cf1e220, 0x2d89b: 0x6d7b7a20,\n\t0x2d89c: 0x6d7b7c20, 0x2d89d: 0x6dc54e20, 0x2d89e: 0x6dc55020, 0x2d89f: 0x6de26820,\n\t0x2d8a0: 0x6e3d2420, 0x2d8a1: 0x6c01ec20, 0x2d8a2: 0x6c1ee020, 0x2d8a3: 0x6c1ee220,\n\t0x2d8a4: 0x6c1ee420, 0x2d8a5: 0x6c4d3420, 0x2d8a6: 0x6c4d3620, 0x2d8a7: 0x6c6f0020,\n\t0x2d8a8: 0x6c6f0220, 0x2d8a9: 0x6c96ac20, 0x2d8aa: 0x6cae2020, 0x2d8ab: 0x6c96ae20,\n\t0x2d8ac: 0x6c96b020, 0x2d8ad: 0x6cc2b220, 0x2d8ae: 0x6cf1ea20, 0x2d8af: 0x6d21b420,\n\t0x2d8b0: 0x6d21b620, 0x2d8b1: 0x6d4f2820, 0x2d8b2: 0x6e1d2820, 0x2d8b3: 0x6c01ee20,\n\t0x2d8b4: 0x6c116220, 0x2d8b5: 0x6c116420, 0x2d8b6: 0x6c1eee20, 0x2d8b7: 0x6c1ef020,\n\t0x2d8b8: 0x6c1ef220, 0x2d8b9: 0x6c1ef420, 0x2d8ba: 0x6c1ef620, 0x2d8bb: 0x6c1ef820,\n\t0x2d8bc: 0x6c32b820, 0x2d8bd: 0x6c32ba20, 0x2d8be: 0x6c32bc20, 0x2d8bf: 0x6c32be20,\n\t// Block 0xb63, offset 0x2d8c0\n\t0x2d8c0: 0x6c32c020, 0x2d8c1: 0x6c32c220, 0x2d8c2: 0x6c32c420, 0x2d8c3: 0x6c32c620,\n\t0x2d8c4: 0x6c32c820, 0x2d8c5: 0x6c4d4c20, 0x2d8c6: 0x6c4d4e20, 0x2d8c7: 0x6c4d5020,\n\t0x2d8c8: 0x6c4d5220, 0x2d8c9: 0x6c4d5420, 0x2d8ca: 0x6c4d5620, 0x2d8cb: 0x6c4d5820,\n\t0x2d8cc: 0x6c4d5a20, 0x2d8cd: 0x6c4d5c20, 0x2d8ce: 0x6c6f1620, 0x2d8cf: 0x6c6f1820,\n\t0x2d8d0: 0x6c6f1a20, 0x2d8d1: 0x6c6f1c20, 0x2d8d2: 0x6c6f1e20, 0x2d8d3: 0x6c6f2020,\n\t0x2d8d4: 0x6c4d5e20, 0x2d8d5: 0x6c6f2220, 0x2d8d6: 0x6c96d220, 0x2d8d7: 0x6c96d420,\n\t0x2d8d8: 0x6c96d620, 0x2d8d9: 0x6c96d820, 0x2d8da: 0x6cc2ca20, 0x2d8db: 0x6c96da20,\n\t0x2d8dc: 0x6c96dc20, 0x2d8dd: 0x6c96de20, 0x2d8de: 0x6c96e020, 0x2d8df: 0x6c96e220,\n\t0x2d8e0: 0x6c96e420, 0x2d8e1: 0x6c96e620, 0x2d8e2: 0x6c96e820, 0x2d8e3: 0x6c96ea20,\n\t0x2d8e4: 0x6c96ec20, 0x2d8e5: 0x6cc2cc20, 0x2d8e6: 0x6cc2ce20, 0x2d8e7: 0x6cc2d020,\n\t0x2d8e8: 0x6cc2d220, 0x2d8e9: 0x6cc2d420, 0x2d8ea: 0x6cc2d620, 0x2d8eb: 0x6cc2d820,\n\t0x2d8ec: 0x6cf1f820, 0x2d8ed: 0x6cf1fa20, 0x2d8ee: 0x6cf1fc20, 0x2d8ef: 0x6cf1fe20,\n\t0x2d8f0: 0x6cf20020, 0x2d8f1: 0x6d21c220, 0x2d8f2: 0x6d4f3a20, 0x2d8f3: 0x6d21c420,\n\t0x2d8f4: 0x6d21c620, 0x2d8f5: 0x6d4f3c20, 0x2d8f6: 0x6d220220, 0x2d8f7: 0x6d4f3e20,\n\t0x2d8f8: 0x6d4f4020, 0x2d8f9: 0x6d4f4220, 0x2d8fa: 0x6d4f4420, 0x2d8fb: 0x6d7b9020,\n\t0x2d8fc: 0x6d7b9220, 0x2d8fd: 0x6da3c220, 0x2d8fe: 0x6da3c420, 0x2d8ff: 0x6de27420,\n\t// Block 0xb64, offset 0x2d900\n\t0x2d900: 0x6dfa1c20, 0x2d901: 0x6dfa1e20, 0x2d902: 0x6e0dba20, 0x2d903: 0x6c046620,\n\t0x2d904: 0x6c01f020, 0x2d905: 0x6c090820, 0x2d906: 0x6c046820, 0x2d907: 0x6c090a20,\n\t0x2d908: 0x6c117020, 0x2d909: 0x6c090c20, 0x2d90a: 0x6c090e20, 0x2d90b: 0x6c117820,\n\t0x2d90c: 0x6c1f2020, 0x2d90d: 0x6c1f2220, 0x2d90e: 0x6c1f2420, 0x2d90f: 0x6c117a20,\n\t0x2d910: 0x6c1f2620, 0x2d911: 0x6c1f2820, 0x2d912: 0x6c1f2a20, 0x2d913: 0x6c117c20,\n\t0x2d914: 0x6c117e20, 0x2d915: 0x6c118020, 0x2d916: 0x6c118220, 0x2d917: 0x6c1f2c20,\n\t0x2d918: 0x6c1f2e20, 0x2d919: 0x6c118420, 0x2d91a: 0x6c118620, 0x2d91b: 0x6c118820,\n\t0x2d91c: 0x6c1f3020, 0x2d91d: 0x6c32e620, 0x2d91e: 0x6c32e820, 0x2d91f: 0x6c1f4220,\n\t0x2d920: 0x6c32ea20, 0x2d921: 0x6c1f4420, 0x2d922: 0x6c32ec20, 0x2d923: 0x6c1f4620,\n\t0x2d924: 0x6c1f4820, 0x2d925: 0x6c32ee20, 0x2d926: 0x6c1f4a20, 0x2d927: 0x6c1f4c20,\n\t0x2d928: 0x6c1f4e20, 0x2d929: 0x6c32f020, 0x2d92a: 0x6c1f5020, 0x2d92b: 0x6c1f5220,\n\t0x2d92c: 0x6c1f5420, 0x2d92d: 0x6c1f5620, 0x2d92e: 0x6c1f5820, 0x2d92f: 0x6c1f5a20,\n\t0x2d930: 0x6c1f5c20, 0x2d931: 0x6c1f5e20, 0x2d932: 0x6c1f6020, 0x2d933: 0x6c1f6220,\n\t0x2d934: 0x6c1f6420, 0x2d935: 0x6c32f220, 0x2d936: 0x6c1f6620, 0x2d937: 0x6c1f6820,\n\t0x2d938: 0x6c1f6a20, 0x2d939: 0x6c1f6c20, 0x2d93a: 0x6c1f6e20, 0x2d93b: 0x6c1f7020,\n\t0x2d93c: 0x6c1f7220, 0x2d93d: 0x6c32f420, 0x2d93e: 0x6c1f7420, 0x2d93f: 0x6c32f620,\n\t// Block 0xb65, offset 0x2d940\n\t0x2d940: 0x6c1f7620, 0x2d941: 0x6c32f820, 0x2d942: 0x6c32fa20, 0x2d943: 0x6c1f7820,\n\t0x2d944: 0x6c1f7a20, 0x2d945: 0x6c1f7c20, 0x2d946: 0x6c1f7e20, 0x2d947: 0x6c331020,\n\t0x2d948: 0x6c331220, 0x2d949: 0x6c331420, 0x2d94a: 0x6c331620, 0x2d94b: 0x6c331820,\n\t0x2d94c: 0x6c331a20, 0x2d94d: 0x6c331c20, 0x2d94e: 0x6c4d8420, 0x2d94f: 0x6c331e20,\n\t0x2d950: 0x6c332020, 0x2d951: 0x6c332220, 0x2d952: 0x6c4d8620, 0x2d953: 0x6c332420,\n\t0x2d954: 0x6c332620, 0x2d955: 0x6c332820, 0x2d956: 0x6c332a20, 0x2d957: 0x6c332c20,\n\t0x2d958: 0x6c4d8820, 0x2d959: 0x6c332e20, 0x2d95a: 0x6c333020, 0x2d95b: 0x6c333220,\n\t0x2d95c: 0x6c333420, 0x2d95d: 0x6c4d8a20, 0x2d95e: 0x6c333620, 0x2d95f: 0x6c333820,\n\t0x2d960: 0x6c4d8c20, 0x2d961: 0x6c333a20, 0x2d962: 0x6c333c20, 0x2d963: 0x6c4d8e20,\n\t0x2d964: 0x6c4d9020, 0x2d965: 0x6c4d9220, 0x2d966: 0x6c333e20, 0x2d967: 0x6c334020,\n\t0x2d968: 0x6c4d9420, 0x2d969: 0x6c334220, 0x2d96a: 0x6c334420, 0x2d96b: 0x6c334620,\n\t0x2d96c: 0x6c334820, 0x2d96d: 0x6c334a20, 0x2d96e: 0x6c334c20, 0x2d96f: 0x6c334e20,\n\t0x2d970: 0x6c335020, 0x2d971: 0x6c4d9620, 0x2d972: 0x6c335220, 0x2d973: 0x6c335420,\n\t0x2d974: 0x6c335620, 0x2d975: 0x6c335820, 0x2d976: 0x6c335a20, 0x2d977: 0x6c4d9820,\n\t0x2d978: 0x6c4d9a20, 0x2d979: 0x6c4d9c20, 0x2d97a: 0x6c335c20, 0x2d97b: 0x6c4d9e20,\n\t0x2d97c: 0x6c4da020, 0x2d97d: 0x6c335e20, 0x2d97e: 0x6c336020, 0x2d97f: 0x6c336220,\n\t// Block 0xb66, offset 0x2d980\n\t0x2d980: 0x6c4dc020, 0x2d981: 0x6c6f6220, 0x2d982: 0x6c4dc220, 0x2d983: 0x6c4dc420,\n\t0x2d984: 0x6c4dc620, 0x2d985: 0x6c4dc820, 0x2d986: 0x6c4dca20, 0x2d987: 0x6c4dcc20,\n\t0x2d988: 0x6c4dce20, 0x2d989: 0x6c4dd020, 0x2d98a: 0x6c4dd220, 0x2d98b: 0x6c6f6420,\n\t0x2d98c: 0x6c4dd420, 0x2d98d: 0x6c4dd620, 0x2d98e: 0x6c4dd820, 0x2d98f: 0x6c6f6620,\n\t0x2d990: 0x6c6f6820, 0x2d991: 0x6c4dda20, 0x2d992: 0x6c4ddc20, 0x2d993: 0x6c4dde20,\n\t0x2d994: 0x6c4de020, 0x2d995: 0x6c6f6a20, 0x2d996: 0x6c6f6c20, 0x2d997: 0x6c4de220,\n\t0x2d998: 0x6c4de420, 0x2d999: 0x6c6f6e20, 0x2d99a: 0x6c6f7020, 0x2d99b: 0x6c4de620,\n\t0x2d99c: 0x6c4de820, 0x2d99d: 0x6c6f7220, 0x2d99e: 0x6c4dea20, 0x2d99f: 0x6c4dec20,\n\t0x2d9a0: 0x6c4dee20, 0x2d9a1: 0x6c4df020, 0x2d9a2: 0x6c4df220, 0x2d9a3: 0x6c6f7420,\n\t0x2d9a4: 0x6c4df420, 0x2d9a5: 0x6c6f7620, 0x2d9a6: 0x6c4df620, 0x2d9a7: 0x6c6f7820,\n\t0x2d9a8: 0x6c4df820, 0x2d9a9: 0x6c6f7a20, 0x2d9aa: 0x6c4dfa20, 0x2d9ab: 0x6c4dfc20,\n\t0x2d9ac: 0x6c4dfe20, 0x2d9ad: 0x6c6f7c20, 0x2d9ae: 0x6c4e0020, 0x2d9af: 0x6c6f7e20,\n\t0x2d9b0: 0x6c4e0220, 0x2d9b1: 0x6c4e0420, 0x2d9b2: 0x6c4e0620, 0x2d9b3: 0x6c6f8020,\n\t0x2d9b4: 0x6c6f8220, 0x2d9b5: 0x6c6f8420, 0x2d9b6: 0x6c6f8620, 0x2d9b7: 0x6c6f8820,\n\t0x2d9b8: 0x6c4e0820, 0x2d9b9: 0x6c4e0a20, 0x2d9ba: 0x6c4e0c20, 0x2d9bb: 0x6c4e0e20,\n\t0x2d9bc: 0x6c4e1020, 0x2d9bd: 0x6c4e1220, 0x2d9be: 0x6c6f9e20, 0x2d9bf: 0x6c973820,\n\t// Block 0xb67, offset 0x2d9c0\n\t0x2d9c0: 0x6c6fa020, 0x2d9c1: 0x6c6fa220, 0x2d9c2: 0x6c6fa420, 0x2d9c3: 0x6c6fa620,\n\t0x2d9c4: 0x6c6fa820, 0x2d9c5: 0x6c6faa20, 0x2d9c6: 0x6c973a20, 0x2d9c7: 0x6c6fac20,\n\t0x2d9c8: 0x6c6fae20, 0x2d9c9: 0x6c973c20, 0x2d9ca: 0x6c973e20, 0x2d9cb: 0x6c6fb020,\n\t0x2d9cc: 0x6c6fb220, 0x2d9cd: 0x6c6fb420, 0x2d9ce: 0x6c6fb620, 0x2d9cf: 0x6c6fb820,\n\t0x2d9d0: 0x6c974020, 0x2d9d1: 0x6c6fba20, 0x2d9d2: 0x6c6fbc20, 0x2d9d3: 0x6c6fbe20,\n\t0x2d9d4: 0x6c6fc020, 0x2d9d5: 0x6c6fc220, 0x2d9d6: 0x6c6fc420, 0x2d9d7: 0x6c6fc620,\n\t0x2d9d8: 0x6c974220, 0x2d9d9: 0x6c6fc820, 0x2d9da: 0x6c6fca20, 0x2d9db: 0x6c6fcc20,\n\t0x2d9dc: 0x6c6fce20, 0x2d9dd: 0x6c6fd020, 0x2d9de: 0x6c6fd220, 0x2d9df: 0x6c6fd420,\n\t0x2d9e0: 0x6c974420, 0x2d9e1: 0x6c974620, 0x2d9e2: 0x6c6fd620, 0x2d9e3: 0x6c974820,\n\t0x2d9e4: 0x6c974a20, 0x2d9e5: 0x6c974c20, 0x2d9e6: 0x6c6fd820, 0x2d9e7: 0x6c6fda20,\n\t0x2d9e8: 0x6c974e20, 0x2d9e9: 0x6c6fdc20, 0x2d9ea: 0x6c975020, 0x2d9eb: 0x6c975220,\n\t0x2d9ec: 0x6c975420, 0x2d9ed: 0x6c6fde20, 0x2d9ee: 0x6c6fe020, 0x2d9ef: 0x6c6fe220,\n\t0x2d9f0: 0x6c977e20, 0x2d9f1: 0x6c978020, 0x2d9f2: 0x6cc31420, 0x2d9f3: 0x6cc31620,\n\t0x2d9f4: 0x6c978220, 0x2d9f5: 0x6c978420, 0x2d9f6: 0x6cc31820, 0x2d9f7: 0x6c978620,\n\t0x2d9f8: 0x6c978820, 0x2d9f9: 0x6cc31a20, 0x2d9fa: 0x6c978a20, 0x2d9fb: 0x6c978c20,\n\t0x2d9fc: 0x6c978e20, 0x2d9fd: 0x6c979020, 0x2d9fe: 0x6c979220, 0x2d9ff: 0x6c979420,\n\t// Block 0xb68, offset 0x2da00\n\t0x2da00: 0x6c979620, 0x2da01: 0x6cc31c20, 0x2da02: 0x6c979820, 0x2da03: 0x6c979a20,\n\t0x2da04: 0x6cc31e20, 0x2da05: 0x6c979c20, 0x2da06: 0x6c979e20, 0x2da07: 0x6c97a020,\n\t0x2da08: 0x6c97a220, 0x2da09: 0x6cc32020, 0x2da0a: 0x6c97a420, 0x2da0b: 0x6c97a620,\n\t0x2da0c: 0x6cc32220, 0x2da0d: 0x6c97a820, 0x2da0e: 0x6cc32420, 0x2da0f: 0x6c97aa20,\n\t0x2da10: 0x6c97ac20, 0x2da11: 0x6cc32620, 0x2da12: 0x6cc32820, 0x2da13: 0x6c97ae20,\n\t0x2da14: 0x6c97b020, 0x2da15: 0x6c97b220, 0x2da16: 0x6cc32a20, 0x2da17: 0x6c97b420,\n\t0x2da18: 0x6c97b620, 0x2da19: 0x6c97b820, 0x2da1a: 0x6c97ba20, 0x2da1b: 0x6c97bc20,\n\t0x2da1c: 0x6c97be20, 0x2da1d: 0x6c97c020, 0x2da1e: 0x6c97c220, 0x2da1f: 0x6c97c420,\n\t0x2da20: 0x6cc32c20, 0x2da21: 0x6cc32e20, 0x2da22: 0x6cc33020, 0x2da23: 0x6cc33220,\n\t0x2da24: 0x6c97c620, 0x2da25: 0x6cc33420, 0x2da26: 0x6c97c820, 0x2da27: 0x6c97ca20,\n\t0x2da28: 0x6c97cc20, 0x2da29: 0x6cc33620, 0x2da2a: 0x6cc33820, 0x2da2b: 0x6cc33a20,\n\t0x2da2c: 0x6c97ce20, 0x2da2d: 0x6c97d020, 0x2da2e: 0x6c97d220, 0x2da2f: 0x6c97d420,\n\t0x2da30: 0x6cc35820, 0x2da31: 0x6cc35a20, 0x2da32: 0x6cc35c20, 0x2da33: 0x6cf24a20,\n\t0x2da34: 0x6cc35e20, 0x2da35: 0x6cc36020, 0x2da36: 0x6cc36220, 0x2da37: 0x6cf24c20,\n\t0x2da38: 0x6cc36420, 0x2da39: 0x6cf24e20, 0x2da3a: 0x6cc36620, 0x2da3b: 0x6cc36820,\n\t0x2da3c: 0x6cc36a20, 0x2da3d: 0x6cc36c20, 0x2da3e: 0x6cc36e20, 0x2da3f: 0x6cc37020,\n\t// Block 0xb69, offset 0x2da40\n\t0x2da40: 0x6cc37220, 0x2da41: 0x6cf25020, 0x2da42: 0x6cf25220, 0x2da43: 0x6cc37420,\n\t0x2da44: 0x6cc37620, 0x2da45: 0x6cc37820, 0x2da46: 0x6cf25420, 0x2da47: 0x6cc37a20,\n\t0x2da48: 0x6cf25620, 0x2da49: 0x6cc37c20, 0x2da4a: 0x6cc37e20, 0x2da4b: 0x6cc38020,\n\t0x2da4c: 0x6cc38220, 0x2da4d: 0x6cf25820, 0x2da4e: 0x6cc38420, 0x2da4f: 0x6cf25a20,\n\t0x2da50: 0x6cc38620, 0x2da51: 0x6cc38820, 0x2da52: 0x6cc38a20, 0x2da53: 0x6cc38c20,\n\t0x2da54: 0x6cc38e20, 0x2da55: 0x6cc39020, 0x2da56: 0x6cc39220, 0x2da57: 0x6cf25c20,\n\t0x2da58: 0x6cc39420, 0x2da59: 0x6cf25e20, 0x2da5a: 0x6cf26020, 0x2da5b: 0x6cf26220,\n\t0x2da5c: 0x6cc39620, 0x2da5d: 0x6cc39820, 0x2da5e: 0x6cc39a20, 0x2da5f: 0x6cf26420,\n\t0x2da60: 0x6cc39c20, 0x2da61: 0x6cc39e20, 0x2da62: 0x6cc3a020, 0x2da63: 0x6cc3a220,\n\t0x2da64: 0x6cc3a420, 0x2da65: 0x6cc3a620, 0x2da66: 0x6cc3a820, 0x2da67: 0x6cf27820,\n\t0x2da68: 0x6d221220, 0x2da69: 0x6cf27a20, 0x2da6a: 0x6cf27c20, 0x2da6b: 0x6cf27e20,\n\t0x2da6c: 0x6d221420, 0x2da6d: 0x6cf28020, 0x2da6e: 0x6cf28220, 0x2da6f: 0x6cf28420,\n\t0x2da70: 0x6cf28620, 0x2da71: 0x6cf28820, 0x2da72: 0x6cf28a20, 0x2da73: 0x6d221620,\n\t0x2da74: 0x6cf28c20, 0x2da75: 0x6cf28e20, 0x2da76: 0x6cf29020, 0x2da77: 0x6cf29220,\n\t0x2da78: 0x6d221820, 0x2da79: 0x6cf29420, 0x2da7a: 0x6cf29620, 0x2da7b: 0x6d221a20,\n\t0x2da7c: 0x6cf29820, 0x2da7d: 0x6cf29a20, 0x2da7e: 0x6cf29c20, 0x2da7f: 0x6d221c20,\n\t// Block 0xb6a, offset 0x2da80\n\t0x2da80: 0x6cf29e20, 0x2da81: 0x6d221e20, 0x2da82: 0x6d222020, 0x2da83: 0x6cf2a020,\n\t0x2da84: 0x6cf2a220, 0x2da85: 0x6cf2a420, 0x2da86: 0x6cf2a620, 0x2da87: 0x6d222220,\n\t0x2da88: 0x6d222420, 0x2da89: 0x6cf2a820, 0x2da8a: 0x6cf2aa20, 0x2da8b: 0x6d222620,\n\t0x2da8c: 0x6cf2ac20, 0x2da8d: 0x6cf2ae20, 0x2da8e: 0x6cf2b020, 0x2da8f: 0x6cf2b220,\n\t0x2da90: 0x6d222820, 0x2da91: 0x6cf2b420, 0x2da92: 0x6d223c20, 0x2da93: 0x6d223e20,\n\t0x2da94: 0x6d224020, 0x2da95: 0x6d4f6c20, 0x2da96: 0x6d224220, 0x2da97: 0x6d4f6e20,\n\t0x2da98: 0x6d224420, 0x2da99: 0x6d4f7020, 0x2da9a: 0x6d224620, 0x2da9b: 0x6d224820,\n\t0x2da9c: 0x6d4f7220, 0x2da9d: 0x6d4f7420, 0x2da9e: 0x6d224a20, 0x2da9f: 0x6d224c20,\n\t0x2daa0: 0x6d224e20, 0x2daa1: 0x6d225020, 0x2daa2: 0x6d225220, 0x2daa3: 0x6d225420,\n\t0x2daa4: 0x6d4f7620, 0x2daa5: 0x6d225620, 0x2daa6: 0x6d4f7820, 0x2daa7: 0x6d4f7a20,\n\t0x2daa8: 0x6cc3aa20, 0x2daa9: 0x6d225820, 0x2daaa: 0x6d225a20, 0x2daab: 0x6d4f7c20,\n\t0x2daac: 0x6d225c20, 0x2daad: 0x6d4fb020, 0x2daae: 0x6d4f7e20, 0x2daaf: 0x6d225e20,\n\t0x2dab0: 0x6d4f8020, 0x2dab1: 0x6d226020, 0x2dab2: 0x6d226220, 0x2dab3: 0x6d226420,\n\t0x2dab4: 0x6d226620, 0x2dab5: 0x6d226820, 0x2dab6: 0x6d4f8220, 0x2dab7: 0x6d226a20,\n\t0x2dab8: 0x6d4f8420, 0x2dab9: 0x6d4f8620, 0x2daba: 0x6d226c20, 0x2dabb: 0x6d226e20,\n\t0x2dabc: 0x6d4f8820, 0x2dabd: 0x6d227020, 0x2dabe: 0x6d4f8a20, 0x2dabf: 0x6d4f8c20,\n\t// Block 0xb6b, offset 0x2dac0\n\t0x2dac0: 0x6d227220, 0x2dac1: 0x6d227420, 0x2dac2: 0x6d4f8e20, 0x2dac3: 0x6d4f9020,\n\t0x2dac4: 0x6d4f9220, 0x2dac5: 0x6d4f9420, 0x2dac6: 0x6d227620, 0x2dac7: 0x6d4f9620,\n\t0x2dac8: 0x6d227820, 0x2dac9: 0x6d4fb220, 0x2daca: 0x6d7bb620, 0x2dacb: 0x6d4fb420,\n\t0x2dacc: 0x6d7bb820, 0x2dacd: 0x6d4fb620, 0x2dace: 0x6d4fb820, 0x2dacf: 0x6d4fba20,\n\t0x2dad0: 0x6d4fbc20, 0x2dad1: 0x6d7bba20, 0x2dad2: 0x6d4fbe20, 0x2dad3: 0x6d4fc020,\n\t0x2dad4: 0x6d4fc220, 0x2dad5: 0x6d4fc420, 0x2dad6: 0x6d7bbc20, 0x2dad7: 0x6d7bbe20,\n\t0x2dad8: 0x6d4fc620, 0x2dad9: 0x6d7bc020, 0x2dada: 0x6d4fc820, 0x2dadb: 0x6d4fca20,\n\t0x2dadc: 0x6d4fcc20, 0x2dadd: 0x6d7bc220, 0x2dade: 0x6d4fce20, 0x2dadf: 0x6d4fd020,\n\t0x2dae0: 0x6d7bc420, 0x2dae1: 0x6d4fd220, 0x2dae2: 0x6d4fd420, 0x2dae3: 0x6d4fd620,\n\t0x2dae4: 0x6d4fd820, 0x2dae5: 0x6d7bc620, 0x2dae6: 0x6d4fda20, 0x2dae7: 0x6d4fdc20,\n\t0x2dae8: 0x6d7bc820, 0x2dae9: 0x6d7bca20, 0x2daea: 0x6d4fde20, 0x2daeb: 0x6d4fe020,\n\t0x2daec: 0x6d4fe220, 0x2daed: 0x6d4fe420, 0x2daee: 0x6d4fe620, 0x2daef: 0x6d4fe820,\n\t0x2daf0: 0x6d4fea20, 0x2daf1: 0x6d4fec20, 0x2daf2: 0x6d7bcc20, 0x2daf3: 0x6d4fee20,\n\t0x2daf4: 0x6d7bd220, 0x2daf5: 0x6da3d620, 0x2daf6: 0x6d7bd420, 0x2daf7: 0x6d7bd620,\n\t0x2daf8: 0x6d7bd820, 0x2daf9: 0x6d7bda20, 0x2dafa: 0x6d7bdc20, 0x2dafb: 0x6d7c8e20,\n\t0x2dafc: 0x6da3d820, 0x2dafd: 0x6d7bde20, 0x2dafe: 0x6d7be020, 0x2daff: 0x6d7be220,\n\t// Block 0xb6c, offset 0x2db00\n\t0x2db00: 0x6d7be420, 0x2db01: 0x6d7be620, 0x2db02: 0x6da3da20, 0x2db03: 0x6da3dc20,\n\t0x2db04: 0x6d7be820, 0x2db05: 0x6d7bea20, 0x2db06: 0x6d7bec20, 0x2db07: 0x6da3de20,\n\t0x2db08: 0x6d7bee20, 0x2db09: 0x6da3e020, 0x2db0a: 0x6d7bf020, 0x2db0b: 0x6da3e220,\n\t0x2db0c: 0x6d7bf220, 0x2db0d: 0x6d7bf420, 0x2db0e: 0x6d7bf620, 0x2db0f: 0x6d7bf820,\n\t0x2db10: 0x6d7bfa20, 0x2db11: 0x6da3e420, 0x2db12: 0x6d7bfc20, 0x2db13: 0x6d7bfe20,\n\t0x2db14: 0x6d7c0020, 0x2db15: 0x6dc57e20, 0x2db16: 0x6dc58020, 0x2db17: 0x6da3ea20,\n\t0x2db18: 0x6dc58220, 0x2db19: 0x6da3ec20, 0x2db1a: 0x6da3ee20, 0x2db1b: 0x6da3f020,\n\t0x2db1c: 0x6da3f220, 0x2db1d: 0x6da3f420, 0x2db1e: 0x6da3f620, 0x2db1f: 0x6dc58420,\n\t0x2db20: 0x6da3f820, 0x2db21: 0x6da3fa20, 0x2db22: 0x6da3fc20, 0x2db23: 0x6dc58620,\n\t0x2db24: 0x6da3fe20, 0x2db25: 0x6da40020, 0x2db26: 0x6da40220, 0x2db27: 0x6da40420,\n\t0x2db28: 0x6da40620, 0x2db29: 0x6dc58c20, 0x2db2a: 0x6dc58e20, 0x2db2b: 0x6dc59020,\n\t0x2db2c: 0x6de27e20, 0x2db2d: 0x6dc59220, 0x2db2e: 0x6dc59420, 0x2db2f: 0x6de28020,\n\t0x2db30: 0x6dc59620, 0x2db31: 0x6dc59820, 0x2db32: 0x6de28220, 0x2db33: 0x6dc59a20,\n\t0x2db34: 0x6dc59c20, 0x2db35: 0x6de28a20, 0x2db36: 0x6de28c20, 0x2db37: 0x6de28e20,\n\t0x2db38: 0x6dfa2e20, 0x2db39: 0x6dfa3620, 0x2db3a: 0x6dfa3820, 0x2db3b: 0x6de2de20,\n\t0x2db3c: 0x6e0dc020, 0x2db3d: 0x6e0dc220, 0x2db3e: 0x6e0dc420, 0x2db3f: 0x6e1d3220,\n\t// Block 0xb6d, offset 0x2db40\n\t0x2db40: 0x6e28d020, 0x2db41: 0x6e28d220, 0x2db42: 0x6e1d3820, 0x2db43: 0x6e28d420,\n\t0x2db44: 0x6e28d620, 0x2db45: 0x6e388a20, 0x2db46: 0x6e388c20, 0x2db47: 0x6e429820,\n\t0x2db48: 0x6c046c20, 0x2db49: 0x6c092020, 0x2db4a: 0x6c092220, 0x2db4b: 0x6c092420,\n\t0x2db4c: 0x6c11ba20, 0x2db4d: 0x6c11bc20, 0x2db4e: 0x6c11be20, 0x2db4f: 0x6c11c020,\n\t0x2db50: 0x6c11c220, 0x2db51: 0x6c200020, 0x2db52: 0x6c200220, 0x2db53: 0x6c200420,\n\t0x2db54: 0x6c33e220, 0x2db55: 0x6c33e420, 0x2db56: 0x6c33e620, 0x2db57: 0x6c33e820,\n\t0x2db58: 0x6c4ea020, 0x2db59: 0x6c709c20, 0x2db5a: 0x6c98b820, 0x2db5b: 0x6c98ba20,\n\t0x2db5c: 0x6c98bc20, 0x2db5d: 0x6c98be20, 0x2db5e: 0x6cc49020, 0x2db5f: 0x6cc49220,\n\t0x2db60: 0x6cf37820, 0x2db61: 0x6cf37a20, 0x2db62: 0x6cf37c20, 0x2db63: 0x6cf37e20,\n\t0x2db64: 0x6cf38020, 0x2db65: 0x6cf38220, 0x2db66: 0x6cf37420, 0x2db67: 0x6d233420,\n\t0x2db68: 0x6d233620, 0x2db69: 0x6d233820, 0x2db6a: 0x6d233a20, 0x2db6b: 0x6d233c20,\n\t0x2db6c: 0x6d233e20, 0x2db6d: 0x6d50c220, 0x2db6e: 0x6d50c420, 0x2db6f: 0x6d50c620,\n\t0x2db70: 0x6d7c9220, 0x2db71: 0x6d7c9020, 0x2db72: 0x6da46a20, 0x2db73: 0x6dc60020,\n\t0x2db74: 0x6da46c20, 0x2db75: 0x6e1d5220, 0x2db76: 0x6c046e20, 0x2db77: 0x6c047020,\n\t0x2db78: 0x6c047220, 0x2db79: 0x6c092c20, 0x2db7a: 0x6c201820, 0x2db7b: 0x6c201a20,\n\t0x2db7c: 0x6c201c20, 0x2db7d: 0x6c340620, 0x2db7e: 0x6c340820, 0x2db7f: 0x6c340a20,\n\t// Block 0xb6e, offset 0x2db80\n\t0x2db80: 0x6c340c20, 0x2db81: 0x6c4ecc20, 0x2db82: 0x6c4ece20, 0x2db83: 0x6c4ed020,\n\t0x2db84: 0x6c70b220, 0x2db85: 0x6c70b420, 0x2db86: 0x6c70b620, 0x2db87: 0x6c70b820,\n\t0x2db88: 0x6c98d620, 0x2db89: 0x6cc4ae20, 0x2db8a: 0x6cc4b020, 0x2db8b: 0x6c047420,\n\t0x2db8c: 0x6c01f420, 0x2db8d: 0x6c01f620, 0x2db8e: 0x6c047620, 0x2db8f: 0x6c095020,\n\t0x2db90: 0x6c093820, 0x2db91: 0x6c093a20, 0x2db92: 0x6c093c20, 0x2db93: 0x6c093e20,\n\t0x2db94: 0x6c094020, 0x2db95: 0x6c094220, 0x2db96: 0x6c094420, 0x2db97: 0x6c11dc20,\n\t0x2db98: 0x6c11de20, 0x2db99: 0x6c11e020, 0x2db9a: 0x6c11e220, 0x2db9b: 0x6c11e420,\n\t0x2db9c: 0x6c11e620, 0x2db9d: 0x6c11e820, 0x2db9e: 0x6c11ea20, 0x2db9f: 0x6c123420,\n\t0x2dba0: 0x6c11ec20, 0x2dba1: 0x6c11ee20, 0x2dba2: 0x6c11f020, 0x2dba3: 0x6c11f220,\n\t0x2dba4: 0x6c11f420, 0x2dba5: 0x6c11f620, 0x2dba6: 0x6c11f820, 0x2dba7: 0x6c11fa20,\n\t0x2dba8: 0x6c11fc20, 0x2dba9: 0x6c11fe20, 0x2dbaa: 0x6c120020, 0x2dbab: 0x6c120220,\n\t0x2dbac: 0x6c120420, 0x2dbad: 0x6c203a20, 0x2dbae: 0x6c203c20, 0x2dbaf: 0x6c203e20,\n\t0x2dbb0: 0x6c204020, 0x2dbb1: 0x6c204220, 0x2dbb2: 0x6c204420, 0x2dbb3: 0x6c204620,\n\t0x2dbb4: 0x6c204820, 0x2dbb5: 0x6c204a20, 0x2dbb6: 0x6c204c20, 0x2dbb7: 0x6c204e20,\n\t0x2dbb8: 0x6c211820, 0x2dbb9: 0x6c205020, 0x2dbba: 0x6c205220, 0x2dbbb: 0x6c205420,\n\t0x2dbbc: 0x6c205620, 0x2dbbd: 0x6c205820, 0x2dbbe: 0x6c205a20, 0x2dbbf: 0x6c341c20,\n\t// Block 0xb6f, offset 0x2dbc0\n\t0x2dbc0: 0x6c205c20, 0x2dbc1: 0x6c205e20, 0x2dbc2: 0x6c206020, 0x2dbc3: 0x6c206220,\n\t0x2dbc4: 0x6c206420, 0x2dbc5: 0x6c206620, 0x2dbc6: 0x6c206820, 0x2dbc7: 0x6c206a20,\n\t0x2dbc8: 0x6c206c20, 0x2dbc9: 0x6c206e20, 0x2dbca: 0x6c207020, 0x2dbcb: 0x6c207220,\n\t0x2dbcc: 0x6c207420, 0x2dbcd: 0x6c207620, 0x2dbce: 0x6c207820, 0x2dbcf: 0x6c207a20,\n\t0x2dbd0: 0x6c207c20, 0x2dbd1: 0x6c207e20, 0x2dbd2: 0x6c208020, 0x2dbd3: 0x6c208220,\n\t0x2dbd4: 0x6c208420, 0x2dbd5: 0x6c208620, 0x2dbd6: 0x6c208820, 0x2dbd7: 0x6c208a20,\n\t0x2dbd8: 0x6c208c20, 0x2dbd9: 0x6c208e20, 0x2dbda: 0x6c209020, 0x2dbdb: 0x6c209220,\n\t0x2dbdc: 0x6c209420, 0x2dbdd: 0x6c209620, 0x2dbde: 0x6c209820, 0x2dbdf: 0x6c209a20,\n\t0x2dbe0: 0x6c209c20, 0x2dbe1: 0x6c209e20, 0x2dbe2: 0x6c20a020, 0x2dbe3: 0x6c20a220,\n\t0x2dbe4: 0x6c20a420, 0x2dbe5: 0x6c20a620, 0x2dbe6: 0x6c343a20, 0x2dbe7: 0x6c343c20,\n\t0x2dbe8: 0x6c343e20, 0x2dbe9: 0x6c344020, 0x2dbea: 0x6c344220, 0x2dbeb: 0x6c344420,\n\t0x2dbec: 0x6c344620, 0x2dbed: 0x6c344820, 0x2dbee: 0x6c344a20, 0x2dbef: 0x6c344c20,\n\t0x2dbf0: 0x6c344e20, 0x2dbf1: 0x6c345020, 0x2dbf2: 0x6c345220, 0x2dbf3: 0x6c345420,\n\t0x2dbf4: 0x6c345620, 0x2dbf5: 0x6c345820, 0x2dbf6: 0x6c345a20, 0x2dbf7: 0x6c345c20,\n\t0x2dbf8: 0x6c345e20, 0x2dbf9: 0x6c346020, 0x2dbfa: 0x6c346220, 0x2dbfb: 0x6c346420,\n\t0x2dbfc: 0x6c346620, 0x2dbfd: 0x6c346820, 0x2dbfe: 0x6c346a20, 0x2dbff: 0x6c346c20,\n\t// Block 0xb70, offset 0x2dc00\n\t0x2dc00: 0x6c346e20, 0x2dc01: 0x6c347020, 0x2dc02: 0x6c347220, 0x2dc03: 0x6c347420,\n\t0x2dc04: 0x6c347620, 0x2dc05: 0x6c347820, 0x2dc06: 0x6c347a20, 0x2dc07: 0x6c347c20,\n\t0x2dc08: 0x6c347e20, 0x2dc09: 0x6c348020, 0x2dc0a: 0x6c348220, 0x2dc0b: 0x6c348420,\n\t0x2dc0c: 0x6c348620, 0x2dc0d: 0x6c348820, 0x2dc0e: 0x6c348a20, 0x2dc0f: 0x6c4ef420,\n\t0x2dc10: 0x6c348c20, 0x2dc11: 0x6c348e20, 0x2dc12: 0x6c349020, 0x2dc13: 0x6c349220,\n\t0x2dc14: 0x6c349420, 0x2dc15: 0x6c349620, 0x2dc16: 0x6c349820, 0x2dc17: 0x6c349a20,\n\t0x2dc18: 0x6c349c20, 0x2dc19: 0x6c349e20, 0x2dc1a: 0x6c34a020, 0x2dc1b: 0x6c34a220,\n\t0x2dc1c: 0x6c4ef620, 0x2dc1d: 0x6c34a420, 0x2dc1e: 0x6c34a620, 0x2dc1f: 0x6c34a820,\n\t0x2dc20: 0x6c34aa20, 0x2dc21: 0x6c34ac20, 0x2dc22: 0x6c34ae20, 0x2dc23: 0x6c34b020,\n\t0x2dc24: 0x6c34b220, 0x2dc25: 0x6c34b420, 0x2dc26: 0x6c34b620, 0x2dc27: 0x6c34b820,\n\t0x2dc28: 0x6c34ba20, 0x2dc29: 0x6c34bc20, 0x2dc2a: 0x6c4f1420, 0x2dc2b: 0x6c4f1620,\n\t0x2dc2c: 0x6c4f1820, 0x2dc2d: 0x6c4f1a20, 0x2dc2e: 0x6c4f1c20, 0x2dc2f: 0x6c4f1e20,\n\t0x2dc30: 0x6c4f2020, 0x2dc31: 0x6c4f2220, 0x2dc32: 0x6c70d020, 0x2dc33: 0x6c70d220,\n\t0x2dc34: 0x6c4f2420, 0x2dc35: 0x6c4f2620, 0x2dc36: 0x6c4f2820, 0x2dc37: 0x6c4f2a20,\n\t0x2dc38: 0x6c4f2c20, 0x2dc39: 0x6c4f2e20, 0x2dc3a: 0x6c4f3020, 0x2dc3b: 0x6c4f3220,\n\t0x2dc3c: 0x6c4f3420, 0x2dc3d: 0x6c4f3620, 0x2dc3e: 0x6c4f3820, 0x2dc3f: 0x6c70d420,\n\t// Block 0xb71, offset 0x2dc40\n\t0x2dc40: 0x6c4f3a20, 0x2dc41: 0x6c4f3c20, 0x2dc42: 0x6c4f3e20, 0x2dc43: 0x6c4f4020,\n\t0x2dc44: 0x6c4f4220, 0x2dc45: 0x6c4f4420, 0x2dc46: 0x6c4f4620, 0x2dc47: 0x6c4f4820,\n\t0x2dc48: 0x6c70d620, 0x2dc49: 0x6c4f4a20, 0x2dc4a: 0x6c4f4c20, 0x2dc4b: 0x6c4f4e20,\n\t0x2dc4c: 0x6c4f5020, 0x2dc4d: 0x6c4f5220, 0x2dc4e: 0x6c4f5420, 0x2dc4f: 0x6c4f5620,\n\t0x2dc50: 0x6c70d820, 0x2dc51: 0x6c4f5820, 0x2dc52: 0x6c4f5a20, 0x2dc53: 0x6c4f5c20,\n\t0x2dc54: 0x6c4f5e20, 0x2dc55: 0x6c4f6020, 0x2dc56: 0x6c4f6220, 0x2dc57: 0x6c4f6420,\n\t0x2dc58: 0x6c4f6620, 0x2dc59: 0x6c70da20, 0x2dc5a: 0x6c70dc20, 0x2dc5b: 0x6c70de20,\n\t0x2dc5c: 0x6c4f6820, 0x2dc5d: 0x6c4f6a20, 0x2dc5e: 0x6c4f6c20, 0x2dc5f: 0x6c4f6e20,\n\t0x2dc60: 0x6c4f7020, 0x2dc61: 0x6c4f7220, 0x2dc62: 0x6c4f7420, 0x2dc63: 0x6c4f7620,\n\t0x2dc64: 0x6c4f7820, 0x2dc65: 0x6c4f7a20, 0x2dc66: 0x6c4f7c20, 0x2dc67: 0x6c4f7e20,\n\t0x2dc68: 0x6c70ec20, 0x2dc69: 0x6c70ee20, 0x2dc6a: 0x6c70f020, 0x2dc6b: 0x6c70f220,\n\t0x2dc6c: 0x6c70f420, 0x2dc6d: 0x6c70f620, 0x2dc6e: 0x6c70f820, 0x2dc6f: 0x6c70fa20,\n\t0x2dc70: 0x6c70fc20, 0x2dc71: 0x6c70fe20, 0x2dc72: 0x6c98e420, 0x2dc73: 0x6c710020,\n\t0x2dc74: 0x6c710220, 0x2dc75: 0x6c710420, 0x2dc76: 0x6c710620, 0x2dc77: 0x6c710820,\n\t0x2dc78: 0x6c710a20, 0x2dc79: 0x6c710c20, 0x2dc7a: 0x6c710e20, 0x2dc7b: 0x6c98e620,\n\t0x2dc7c: 0x6c711020, 0x2dc7d: 0x6c711220, 0x2dc7e: 0x6c711420, 0x2dc7f: 0x6c711620,\n\t// Block 0xb72, offset 0x2dc80\n\t0x2dc80: 0x6c711820, 0x2dc81: 0x6c711a20, 0x2dc82: 0x6c711c20, 0x2dc83: 0x6c711e20,\n\t0x2dc84: 0x6c712020, 0x2dc85: 0x6c712220, 0x2dc86: 0x6c712420, 0x2dc87: 0x6c712620,\n\t0x2dc88: 0x6c712820, 0x2dc89: 0x6c712a20, 0x2dc8a: 0x6c712c20, 0x2dc8b: 0x6c712e20,\n\t0x2dc8c: 0x6c713020, 0x2dc8d: 0x6c713220, 0x2dc8e: 0x6c713420, 0x2dc8f: 0x6c713620,\n\t0x2dc90: 0x6c713820, 0x2dc91: 0x6c713a20, 0x2dc92: 0x6c713c20, 0x2dc93: 0x6c713e20,\n\t0x2dc94: 0x6c714020, 0x2dc95: 0x6c714220, 0x2dc96: 0x6c714420, 0x2dc97: 0x6c714620,\n\t0x2dc98: 0x6c714820, 0x2dc99: 0x6c714a20, 0x2dc9a: 0x6c714c20, 0x2dc9b: 0x6c714e20,\n\t0x2dc9c: 0x6c715020, 0x2dc9d: 0x6c715220, 0x2dc9e: 0x6c715420, 0x2dc9f: 0x6c715620,\n\t0x2dca0: 0x6c715820, 0x2dca1: 0x6c715a20, 0x2dca2: 0x6c715c20, 0x2dca3: 0x6c715e20,\n\t0x2dca4: 0x6c716020, 0x2dca5: 0x6c990620, 0x2dca6: 0x6c990820, 0x2dca7: 0x6c990a20,\n\t0x2dca8: 0x6c990c20, 0x2dca9: 0x6c990e20, 0x2dcaa: 0x6c991020, 0x2dcab: 0x6c991220,\n\t0x2dcac: 0x6c991420, 0x2dcad: 0x6c991620, 0x2dcae: 0x6c991820, 0x2dcaf: 0x6c991a20,\n\t0x2dcb0: 0x6c991c20, 0x2dcb1: 0x6c991e20, 0x2dcb2: 0x6c992020, 0x2dcb3: 0x6c992220,\n\t0x2dcb4: 0x6c992420, 0x2dcb5: 0x6c992620, 0x2dcb6: 0x6c992820, 0x2dcb7: 0x6c992a20,\n\t0x2dcb8: 0x6c992c20, 0x2dcb9: 0x6c992e20, 0x2dcba: 0x6c993020, 0x2dcbb: 0x6c993220,\n\t0x2dcbc: 0x6c993420, 0x2dcbd: 0x6c993620, 0x2dcbe: 0x6c993820, 0x2dcbf: 0x6c993a20,\n\t// Block 0xb73, offset 0x2dcc0\n\t0x2dcc0: 0x6c993c20, 0x2dcc1: 0x6c993e20, 0x2dcc2: 0x6c994020, 0x2dcc3: 0x6c994220,\n\t0x2dcc4: 0x6c994420, 0x2dcc5: 0x6c994620, 0x2dcc6: 0x6c994820, 0x2dcc7: 0x6c994a20,\n\t0x2dcc8: 0x6c994c20, 0x2dcc9: 0x6c994e20, 0x2dcca: 0x6c995020, 0x2dccb: 0x6c995220,\n\t0x2dccc: 0x6cc4be20, 0x2dccd: 0x6c995420, 0x2dcce: 0x6c995620, 0x2dccf: 0x6c995820,\n\t0x2dcd0: 0x6c995a20, 0x2dcd1: 0x6c995c20, 0x2dcd2: 0x6c995e20, 0x2dcd3: 0x6c996020,\n\t0x2dcd4: 0x6cc4c020, 0x2dcd5: 0x6c996220, 0x2dcd6: 0x6c996420, 0x2dcd7: 0x6c996620,\n\t0x2dcd8: 0x6c996820, 0x2dcd9: 0x6c996a20, 0x2dcda: 0x6c996c20, 0x2dcdb: 0x6c996e20,\n\t0x2dcdc: 0x6c997020, 0x2dcdd: 0x6c997220, 0x2dcde: 0x6c997420, 0x2dcdf: 0x6c997620,\n\t0x2dce0: 0x6c997820, 0x2dce1: 0x6c997a20, 0x2dce2: 0x6c997c20, 0x2dce3: 0x6cc4c220,\n\t0x2dce4: 0x6c997e20, 0x2dce5: 0x6c998020, 0x2dce6: 0x6c998220, 0x2dce7: 0x6c998420,\n\t0x2dce8: 0x6c998620, 0x2dce9: 0x6c998820, 0x2dcea: 0x6c998a20, 0x2dceb: 0x6c998c20,\n\t0x2dcec: 0x6c998e20, 0x2dced: 0x6c999020, 0x2dcee: 0x6c999220, 0x2dcef: 0x6c999420,\n\t0x2dcf0: 0x6cc4c420, 0x2dcf1: 0x6cc4c620, 0x2dcf2: 0x6c9a9220, 0x2dcf3: 0x6c999620,\n\t0x2dcf4: 0x6c999820, 0x2dcf5: 0x6c999a20, 0x2dcf6: 0x6c999c20, 0x2dcf7: 0x6c999e20,\n\t0x2dcf8: 0x6c99a020, 0x2dcf9: 0x6c99a220, 0x2dcfa: 0x6c99a420, 0x2dcfb: 0x6c99a620,\n\t0x2dcfc: 0x6c99a820, 0x2dcfd: 0x6c99aa20, 0x2dcfe: 0x6cc4e220, 0x2dcff: 0x6cc4e420,\n\t// Block 0xb74, offset 0x2dd00\n\t0x2dd00: 0x6cc4e620, 0x2dd01: 0x6cc4e820, 0x2dd02: 0x6cc4ea20, 0x2dd03: 0x6cc4ec20,\n\t0x2dd04: 0x6cc4ee20, 0x2dd05: 0x6cf51c20, 0x2dd06: 0x6cc4f020, 0x2dd07: 0x6cc4f220,\n\t0x2dd08: 0x6cc4f420, 0x2dd09: 0x6cc4f620, 0x2dd0a: 0x6cc4f820, 0x2dd0b: 0x6cc4fa20,\n\t0x2dd0c: 0x6cc4fc20, 0x2dd0d: 0x6cc4fe20, 0x2dd0e: 0x6cc50020, 0x2dd0f: 0x6cc50220,\n\t0x2dd10: 0x6cc50420, 0x2dd11: 0x6cc50620, 0x2dd12: 0x6cc50820, 0x2dd13: 0x6cc50a20,\n\t0x2dd14: 0x6cc50c20, 0x2dd15: 0x6cc50e20, 0x2dd16: 0x6cc51020, 0x2dd17: 0x6cc51220,\n\t0x2dd18: 0x6cc51420, 0x2dd19: 0x6cc51620, 0x2dd1a: 0x6cc51820, 0x2dd1b: 0x6cc51a20,\n\t0x2dd1c: 0x6cc51c20, 0x2dd1d: 0x6cc51e20, 0x2dd1e: 0x6cc52020, 0x2dd1f: 0x6cc52220,\n\t0x2dd20: 0x6cc52420, 0x2dd21: 0x6cc52620, 0x2dd22: 0x6cc52820, 0x2dd23: 0x6cc52a20,\n\t0x2dd24: 0x6c722020, 0x2dd25: 0x6cc52c20, 0x2dd26: 0x6cc52e20, 0x2dd27: 0x6cf3ac20,\n\t0x2dd28: 0x6cc53020, 0x2dd29: 0x6cc53220, 0x2dd2a: 0x6cc53420, 0x2dd2b: 0x6cf3ae20,\n\t0x2dd2c: 0x6cc53620, 0x2dd2d: 0x6cc53820, 0x2dd2e: 0x6cc53a20, 0x2dd2f: 0x6cc53c20,\n\t0x2dd30: 0x6cc53e20, 0x2dd31: 0x6cf3b020, 0x2dd32: 0x6cc54020, 0x2dd33: 0x6cc54220,\n\t0x2dd34: 0x6cc54420, 0x2dd35: 0x6cc54620, 0x2dd36: 0x6cc54820, 0x2dd37: 0x6cc54a20,\n\t0x2dd38: 0x6cc54c20, 0x2dd39: 0x6cc54e20, 0x2dd3a: 0x6cc55020, 0x2dd3b: 0x6cc55220,\n\t0x2dd3c: 0x6cc55420, 0x2dd3d: 0x6cc55620, 0x2dd3e: 0x6cc55820, 0x2dd3f: 0x6cc55a20,\n\t// Block 0xb75, offset 0x2dd40\n\t0x2dd40: 0x6cc55c20, 0x2dd41: 0x6cc55e20, 0x2dd42: 0x6cc56020, 0x2dd43: 0x6cc56220,\n\t0x2dd44: 0x6cc56420, 0x2dd45: 0x6cc56620, 0x2dd46: 0x6cf3da20, 0x2dd47: 0x6cf3dc20,\n\t0x2dd48: 0x6cf3de20, 0x2dd49: 0x6cf3e020, 0x2dd4a: 0x6cf3e220, 0x2dd4b: 0x6cf3e420,\n\t0x2dd4c: 0x6cf3e620, 0x2dd4d: 0x6cf3e820, 0x2dd4e: 0x6cf3ea20, 0x2dd4f: 0x6cf3ec20,\n\t0x2dd50: 0x6cf3ee20, 0x2dd51: 0x6cf3f020, 0x2dd52: 0x6cf3f220, 0x2dd53: 0x6cf3f420,\n\t0x2dd54: 0x6cf3f620, 0x2dd55: 0x6cf3f820, 0x2dd56: 0x6cf3fa20, 0x2dd57: 0x6cf3fc20,\n\t0x2dd58: 0x6cf3fe20, 0x2dd59: 0x6cf40020, 0x2dd5a: 0x6cf40220, 0x2dd5b: 0x6cf40420,\n\t0x2dd5c: 0x6cf40620, 0x2dd5d: 0x6cf40820, 0x2dd5e: 0x6cf40a20, 0x2dd5f: 0x6cf40c20,\n\t0x2dd60: 0x6cf40e20, 0x2dd61: 0x6cf41020, 0x2dd62: 0x6cf41220, 0x2dd63: 0x6cf41420,\n\t0x2dd64: 0x6cf41620, 0x2dd65: 0x6cf41820, 0x2dd66: 0x6cf41a20, 0x2dd67: 0x6cf41c20,\n\t0x2dd68: 0x6cf41e20, 0x2dd69: 0x6cf42020, 0x2dd6a: 0x6cf42220, 0x2dd6b: 0x6d236a20,\n\t0x2dd6c: 0x6cf42420, 0x2dd6d: 0x6cf42620, 0x2dd6e: 0x6cf42820, 0x2dd6f: 0x6cf42a20,\n\t0x2dd70: 0x6cf42c20, 0x2dd71: 0x6cf51e20, 0x2dd72: 0x6cf42e20, 0x2dd73: 0x6cf43020,\n\t0x2dd74: 0x6d236c20, 0x2dd75: 0x6cf43220, 0x2dd76: 0x6cf43420, 0x2dd77: 0x6cf43620,\n\t0x2dd78: 0x6cf43820, 0x2dd79: 0x6cf43a20, 0x2dd7a: 0x6cf43c20, 0x2dd7b: 0x6d236e20,\n\t0x2dd7c: 0x6cf43e20, 0x2dd7d: 0x6cf44020, 0x2dd7e: 0x6cf44220, 0x2dd7f: 0x6d237020,\n\t// Block 0xb76, offset 0x2dd80\n\t0x2dd80: 0x6cf44420, 0x2dd81: 0x6cf44620, 0x2dd82: 0x6cf44820, 0x2dd83: 0x6cf44a20,\n\t0x2dd84: 0x6cf44c20, 0x2dd85: 0x6cf44e20, 0x2dd86: 0x6cf45020, 0x2dd87: 0x6cf45220,\n\t0x2dd88: 0x6cf45420, 0x2dd89: 0x6cf45620, 0x2dd8a: 0x6cf45820, 0x2dd8b: 0x6d239a20,\n\t0x2dd8c: 0x6d239c20, 0x2dd8d: 0x6d239e20, 0x2dd8e: 0x6d23a020, 0x2dd8f: 0x6d23a220,\n\t0x2dd90: 0x6d23a420, 0x2dd91: 0x6d23a620, 0x2dd92: 0x6cc56820, 0x2dd93: 0x6d23a820,\n\t0x2dd94: 0x6d23aa20, 0x2dd95: 0x6d23ac20, 0x2dd96: 0x6d24e620, 0x2dd97: 0x6d23ae20,\n\t0x2dd98: 0x6d23b020, 0x2dd99: 0x6d23b220, 0x2dd9a: 0x6d23b420, 0x2dd9b: 0x6d23b620,\n\t0x2dd9c: 0x6d23b820, 0x2dd9d: 0x6d23ba20, 0x2dd9e: 0x6d23bc20, 0x2dd9f: 0x6d23be20,\n\t0x2dda0: 0x6d23c020, 0x2dda1: 0x6cc66e20, 0x2dda2: 0x6d23c220, 0x2dda3: 0x6d23c420,\n\t0x2dda4: 0x6d23c620, 0x2dda5: 0x6d23c820, 0x2dda6: 0x6d23ca20, 0x2dda7: 0x6d23cc20,\n\t0x2dda8: 0x6d510020, 0x2dda9: 0x6d510220, 0x2ddaa: 0x6d23ce20, 0x2ddab: 0x6d23d020,\n\t0x2ddac: 0x6d23d220, 0x2ddad: 0x6d23d420, 0x2ddae: 0x6d510420, 0x2ddaf: 0x6d510620,\n\t0x2ddb0: 0x6d510820, 0x2ddb1: 0x6d23d620, 0x2ddb2: 0x6d23d820, 0x2ddb3: 0x6d23da20,\n\t0x2ddb4: 0x6d23dc20, 0x2ddb5: 0x6d23de20, 0x2ddb6: 0x6d23e020, 0x2ddb7: 0x6d23e220,\n\t0x2ddb8: 0x6d23e420, 0x2ddb9: 0x6d510a20, 0x2ddba: 0x6d23e620, 0x2ddbb: 0x6d23e820,\n\t0x2ddbc: 0x6d23ea20, 0x2ddbd: 0x6d23ec20, 0x2ddbe: 0x6d23ee20, 0x2ddbf: 0x6d23f020,\n\t// Block 0xb77, offset 0x2ddc0\n\t0x2ddc0: 0x6d510c20, 0x2ddc1: 0x6d23f220, 0x2ddc2: 0x6d23f420, 0x2ddc3: 0x6d510e20,\n\t0x2ddc4: 0x6d23f620, 0x2ddc5: 0x6d512e20, 0x2ddc6: 0x6d513020, 0x2ddc7: 0x6d23f820,\n\t0x2ddc8: 0x6d513220, 0x2ddc9: 0x6d7cb220, 0x2ddca: 0x6d513420, 0x2ddcb: 0x6d513620,\n\t0x2ddcc: 0x6d513820, 0x2ddcd: 0x6d513a20, 0x2ddce: 0x6d513c20, 0x2ddcf: 0x6d513e20,\n\t0x2ddd0: 0x6d514020, 0x2ddd1: 0x6d514220, 0x2ddd2: 0x6d514420, 0x2ddd3: 0x6d514620,\n\t0x2ddd4: 0x6d514820, 0x2ddd5: 0x6d514a20, 0x2ddd6: 0x6d514c20, 0x2ddd7: 0x6d514e20,\n\t0x2ddd8: 0x6d515020, 0x2ddd9: 0x6d515220, 0x2ddda: 0x6d515420, 0x2dddb: 0x6d515620,\n\t0x2dddc: 0x6d515820, 0x2dddd: 0x6d515a20, 0x2ddde: 0x6d515c20, 0x2dddf: 0x6d515e20,\n\t0x2dde0: 0x6d516020, 0x2dde1: 0x6d516220, 0x2dde2: 0x6d516420, 0x2dde3: 0x6d516620,\n\t0x2dde4: 0x6d516820, 0x2dde5: 0x6d516a20, 0x2dde6: 0x6d24e820, 0x2dde7: 0x6d516c20,\n\t0x2dde8: 0x6d516e20, 0x2dde9: 0x6d517020, 0x2ddea: 0x6d517220, 0x2ddeb: 0x6d517420,\n\t0x2ddec: 0x6d517620, 0x2dded: 0x6d517820, 0x2ddee: 0x6d517a20, 0x2ddef: 0x6d517c20,\n\t0x2ddf0: 0x6d517e20, 0x2ddf1: 0x6d518020, 0x2ddf2: 0x6d518220, 0x2ddf3: 0x6d518420,\n\t0x2ddf4: 0x6d518620, 0x2ddf5: 0x6d518820, 0x2ddf6: 0x6d518a20, 0x2ddf7: 0x6d518c20,\n\t0x2ddf8: 0x6d518e20, 0x2ddf9: 0x6d519020, 0x2ddfa: 0x6d519220, 0x2ddfb: 0x6d7cc220,\n\t0x2ddfc: 0x6d7cc420, 0x2ddfd: 0x6d7cc620, 0x2ddfe: 0x6d7cc820, 0x2ddff: 0x6d7cca20,\n\t// Block 0xb78, offset 0x2de00\n\t0x2de00: 0x6d7ccc20, 0x2de01: 0x6d7cce20, 0x2de02: 0x6d7cd020, 0x2de03: 0x6d7cd220,\n\t0x2de04: 0x6d7cd420, 0x2de05: 0x6d7cd620, 0x2de06: 0x6d519420, 0x2de07: 0x6d7cd820,\n\t0x2de08: 0x6d7cda20, 0x2de09: 0x6d7cdc20, 0x2de0a: 0x6da47c20, 0x2de0b: 0x6d7cde20,\n\t0x2de0c: 0x6d7ce020, 0x2de0d: 0x6d7ce220, 0x2de0e: 0x6da47e20, 0x2de0f: 0x6d7ce420,\n\t0x2de10: 0x6d7ce620, 0x2de11: 0x6d7ce820, 0x2de12: 0x6d7cea20, 0x2de13: 0x6d7cec20,\n\t0x2de14: 0x6d7cee20, 0x2de15: 0x6d7cf020, 0x2de16: 0x6d7cf220, 0x2de17: 0x6d7cf420,\n\t0x2de18: 0x6da48020, 0x2de19: 0x6d7cf620, 0x2de1a: 0x6d7cf820, 0x2de1b: 0x6d7cfa20,\n\t0x2de1c: 0x6d7cfc20, 0x2de1d: 0x6d7cfe20, 0x2de1e: 0x6d7d0020, 0x2de1f: 0x6da48e20,\n\t0x2de20: 0x6da49020, 0x2de21: 0x6da49220, 0x2de22: 0x6da49420, 0x2de23: 0x6da49620,\n\t0x2de24: 0x6da49820, 0x2de25: 0x6dc62620, 0x2de26: 0x6da49a20, 0x2de27: 0x6dc60a20,\n\t0x2de28: 0x6da49c20, 0x2de29: 0x6da49e20, 0x2de2a: 0x6dc60c20, 0x2de2b: 0x6da4a020,\n\t0x2de2c: 0x6da4a220, 0x2de2d: 0x6da4a420, 0x2de2e: 0x6da4a620, 0x2de2f: 0x6da4a820,\n\t0x2de30: 0x6da4aa20, 0x2de31: 0x6da4ac20, 0x2de32: 0x6dc62820, 0x2de33: 0x6d7d9e20,\n\t0x2de34: 0x6dc62a20, 0x2de35: 0x6dc62c20, 0x2de36: 0x6dc62e20, 0x2de37: 0x6dc63020,\n\t0x2de38: 0x6dc63220, 0x2de39: 0x6dc63420, 0x2de3a: 0x6dc63620, 0x2de3b: 0x6dc63820,\n\t0x2de3c: 0x6dc63a20, 0x2de3d: 0x6dc63c20, 0x2de3e: 0x6dc63e20, 0x2de3f: 0x6dc64020,\n\t// Block 0xb79, offset 0x2de40\n\t0x2de40: 0x6de2e820, 0x2de41: 0x6dc64220, 0x2de42: 0x6dc64420, 0x2de43: 0x6dc64620,\n\t0x2de44: 0x6dc64820, 0x2de45: 0x6dc64a20, 0x2de46: 0x6dc64c20, 0x2de47: 0x6de2ee20,\n\t0x2de48: 0x6de2f020, 0x2de49: 0x6de2f220, 0x2de4a: 0x6de2f420, 0x2de4b: 0x6de2f620,\n\t0x2de4c: 0x6de2f820, 0x2de4d: 0x6de2fa20, 0x2de4e: 0x6de2fc20, 0x2de4f: 0x6de2fe20,\n\t0x2de50: 0x6de30020, 0x2de51: 0x6e0dee20, 0x2de52: 0x6de30220, 0x2de53: 0x6dfa6220,\n\t0x2de54: 0x6dfa6420, 0x2de55: 0x6dfa6620, 0x2de56: 0x6dfa6820, 0x2de57: 0x6dfa6a20,\n\t0x2de58: 0x6dfa6c20, 0x2de59: 0x6dfa6e20, 0x2de5a: 0x6dfa7020, 0x2de5b: 0x6e0df820,\n\t0x2de5c: 0x6e0dfa20, 0x2de5d: 0x6e0dfc20, 0x2de5e: 0x6e1d5620, 0x2de5f: 0x6e1d5820,\n\t0x2de60: 0x6e1d5a20, 0x2de61: 0x6e1d5c20, 0x2de62: 0x6e1d5e20, 0x2de63: 0x6e28f620,\n\t0x2de64: 0x6e1d6020, 0x2de65: 0x6e28fe20, 0x2de66: 0x6e1d6220, 0x2de67: 0x6e1d6420,\n\t0x2de68: 0x6e290020, 0x2de69: 0x6e290220, 0x2de6a: 0x6e290420, 0x2de6b: 0x6e290620,\n\t0x2de6c: 0x6e322620, 0x2de6d: 0x6e322820, 0x2de6e: 0x6e389420, 0x2de6f: 0x6c047e20,\n\t0x2de70: 0x6c123620, 0x2de71: 0x6c502a20, 0x2de72: 0x6cc67220, 0x2de73: 0x6d7da020,\n\t0x2de74: 0x6c048020, 0x2de75: 0x6c048220, 0x2de76: 0x6c123a20, 0x2de77: 0x6c123c20,\n\t0x2de78: 0x6c212020, 0x2de79: 0x6c212220, 0x2de7a: 0x6c212420, 0x2de7b: 0x6c212620,\n\t0x2de7c: 0x6c212820, 0x2de7d: 0x6c354420, 0x2de7e: 0x6c354620, 0x2de7f: 0x6c503220,\n\t// Block 0xb7a, offset 0x2de80\n\t0x2de80: 0x6c503c20, 0x2de81: 0x6c503e20, 0x2de82: 0x6c504020, 0x2de83: 0x6c504220,\n\t0x2de84: 0x6c504420, 0x2de85: 0x6c504620, 0x2de86: 0x6c723c20, 0x2de87: 0x6c723e20,\n\t0x2de88: 0x6c724020, 0x2de89: 0x6c724220, 0x2de8a: 0x6c724420, 0x2de8b: 0x6c724620,\n\t0x2de8c: 0x6c724820, 0x2de8d: 0x6c9aac20, 0x2de8e: 0x6c9aae20, 0x2de8f: 0x6c9ab020,\n\t0x2de90: 0x6c9ab220, 0x2de91: 0x6c9ab420, 0x2de92: 0x6c9ab620, 0x2de93: 0x6c9ab820,\n\t0x2de94: 0x6c9aba20, 0x2de95: 0x6c9abc20, 0x2de96: 0x6c9abe20, 0x2de97: 0x6c9ac020,\n\t0x2de98: 0x6c9ac220, 0x2de99: 0x6c9ac420, 0x2de9a: 0x6c9ac620, 0x2de9b: 0x6c9ac820,\n\t0x2de9c: 0x6cc69a20, 0x2de9d: 0x6c9b1420, 0x2de9e: 0x6cc69c20, 0x2de9f: 0x6cc69e20,\n\t0x2dea0: 0x6cc6a020, 0x2dea1: 0x6cc6a220, 0x2dea2: 0x6cc6a420, 0x2dea3: 0x6cc6a620,\n\t0x2dea4: 0x6cc6a820, 0x2dea5: 0x6cc6aa20, 0x2dea6: 0x6cc6ac20, 0x2dea7: 0x6cc6ae20,\n\t0x2dea8: 0x6cc6b020, 0x2dea9: 0x6cc6b220, 0x2deaa: 0x6cc6b420, 0x2deab: 0x6cf53620,\n\t0x2deac: 0x6cf53820, 0x2dead: 0x6cf52a20, 0x2deae: 0x6cf53a20, 0x2deaf: 0x6cf53c20,\n\t0x2deb0: 0x6cf53e20, 0x2deb1: 0x6d24f820, 0x2deb2: 0x6d24fa20, 0x2deb3: 0x6d24fc20,\n\t0x2deb4: 0x6d7dac20, 0x2deb5: 0x6d527820, 0x2deb6: 0x6d527a20, 0x2deb7: 0x6d527c20,\n\t0x2deb8: 0x6d527e20, 0x2deb9: 0x6d528020, 0x2deba: 0x6d528220, 0x2debb: 0x6d528420,\n\t0x2debc: 0x6d7db620, 0x2debd: 0x6d7db820, 0x2debe: 0x6d7dba20, 0x2debf: 0x6d7dbc20,\n\t// Block 0xb7b, offset 0x2dec0\n\t0x2dec0: 0x6da51420, 0x2dec1: 0x6da51620, 0x2dec2: 0x6da51820, 0x2dec3: 0x6da53e20,\n\t0x2dec4: 0x6de35a20, 0x2dec5: 0x6dfab420, 0x2dec6: 0x6dfab620, 0x2dec7: 0x6c048420,\n\t0x2dec8: 0x6c213c20, 0x2dec9: 0x6c357620, 0x2deca: 0x6c728e20, 0x2decb: 0x6c729020,\n\t0x2decc: 0x6cc70220, 0x2decd: 0x6c9b1620, 0x2dece: 0x6c9b1820, 0x2decf: 0x6c9b1a20,\n\t0x2ded0: 0x6cc70420, 0x2ded1: 0x6cc70620, 0x2ded2: 0x6cf58e20, 0x2ded3: 0x6d7e0420,\n\t0x2ded4: 0x6dc6dc20, 0x2ded5: 0x6e0e3c20, 0x2ded6: 0x6e292620, 0x2ded7: 0x6c048620,\n\t0x2ded8: 0x6c214220, 0x2ded9: 0x6c729c20, 0x2deda: 0x6c729e20, 0x2dedb: 0x6c9b2a20,\n\t0x2dedc: 0x6c9b2c20, 0x2dedd: 0x6cc71620, 0x2dede: 0x6cc72220, 0x2dedf: 0x6cf59820,\n\t0x2dee0: 0x6d254820, 0x2dee1: 0x6d254a20, 0x2dee2: 0x6d7e0a20, 0x2dee3: 0x6da54420,\n\t0x2dee4: 0x6c048a20, 0x2dee5: 0x6c095220, 0x2dee6: 0x6c358a20, 0x2dee7: 0x6c358c20,\n\t0x2dee8: 0x6c358e20, 0x2dee9: 0x6c359020, 0x2deea: 0x6c508620, 0x2deeb: 0x6c508820,\n\t0x2deec: 0x6c9b3820, 0x2deed: 0x6c9b3a20, 0x2deee: 0x6cc72620, 0x2deef: 0x6cc72820,\n\t0x2def0: 0x6cf5a220, 0x2def1: 0x6cc74220, 0x2def2: 0x6d255820, 0x2def3: 0x6d52d820,\n\t0x2def4: 0x6d7e0c20, 0x2def5: 0x6da54c20, 0x2def6: 0x6da54e20, 0x2def7: 0x6dc6e020,\n\t0x2def8: 0x6e38a220, 0x2def9: 0x6c048e20, 0x2defa: 0x6c35a020, 0x2defb: 0x6c35a220,\n\t0x2defc: 0x6c35a420, 0x2defd: 0x6c509020, 0x2defe: 0x6c509220, 0x2deff: 0x6c509420,\n\t// Block 0xb7c, offset 0x2df00\n\t0x2df00: 0x6c509620, 0x2df01: 0x6c72bc20, 0x2df02: 0x6c72be20, 0x2df03: 0x6c72c020,\n\t0x2df04: 0x6c72c220, 0x2df05: 0x6c72c420, 0x2df06: 0x6c72c620, 0x2df07: 0x6c9b4820,\n\t0x2df08: 0x6c9b4a20, 0x2df09: 0x6c9b4c20, 0x2df0a: 0x6c72c820, 0x2df0b: 0x6c9b4e20,\n\t0x2df0c: 0x6c9b5020, 0x2df0d: 0x6c9b5220, 0x2df0e: 0x6c9b5420, 0x2df0f: 0x6c9b5620,\n\t0x2df10: 0x6cc74620, 0x2df11: 0x6cc74820, 0x2df12: 0x6cf5b620, 0x2df13: 0x6cf5b820,\n\t0x2df14: 0x6cf5ba20, 0x2df15: 0x6cf5bc20, 0x2df16: 0x6d256420, 0x2df17: 0x6d256620,\n\t0x2df18: 0x6d7e1c20, 0x2df19: 0x6d7e1e20, 0x2df1a: 0x6da55a20, 0x2df1b: 0x6dc6ec20,\n\t0x2df1c: 0x6de37820, 0x2df1d: 0x6de37a20, 0x2df1e: 0x6de37c20, 0x2df1f: 0x6dfad820,\n\t0x2df20: 0x6c049020, 0x2df21: 0x6c049220, 0x2df22: 0x6c50ac20, 0x2df23: 0x6c9b6e20,\n\t0x2df24: 0x6cf5ce20, 0x2df25: 0x6c049620, 0x2df26: 0x6c095420, 0x2df27: 0x6c095620,\n\t0x2df28: 0x6c125020, 0x2df29: 0x6c125220, 0x2df2a: 0x6c125420, 0x2df2b: 0x6c125620,\n\t0x2df2c: 0x6c125820, 0x2df2d: 0x6c125a20, 0x2df2e: 0x6c125c20, 0x2df2f: 0x6c125e20,\n\t0x2df30: 0x6c215c20, 0x2df31: 0x6c215e20, 0x2df32: 0x6c216020, 0x2df33: 0x6c216220,\n\t0x2df34: 0x6c216420, 0x2df35: 0x6c216620, 0x2df36: 0x6c216820, 0x2df37: 0x6c216a20,\n\t0x2df38: 0x6c216c20, 0x2df39: 0x6c35b620, 0x2df3a: 0x6c35b820, 0x2df3b: 0x6c35ba20,\n\t0x2df3c: 0x6c35bc20, 0x2df3d: 0x6c35be20, 0x2df3e: 0x6c35c020, 0x2df3f: 0x6c35c220,\n\t// Block 0xb7d, offset 0x2df40\n\t0x2df40: 0x6c35c420, 0x2df41: 0x6c35c620, 0x2df42: 0x6c35c820, 0x2df43: 0x6c35ca20,\n\t0x2df44: 0x6c35cc20, 0x2df45: 0x6c35ce20, 0x2df46: 0x6c35d020, 0x2df47: 0x6c35d220,\n\t0x2df48: 0x6c35d420, 0x2df49: 0x6c35d620, 0x2df4a: 0x6c35d820, 0x2df4b: 0x6c35da20,\n\t0x2df4c: 0x6c35dc20, 0x2df4d: 0x6c35de20, 0x2df4e: 0x6c35e020, 0x2df4f: 0x6c35e220,\n\t0x2df50: 0x6c35e420, 0x2df51: 0x6c35e620, 0x2df52: 0x6c35e820, 0x2df53: 0x6c35ea20,\n\t0x2df54: 0x6c35ec20, 0x2df55: 0x6c35ee20, 0x2df56: 0x6c35f020, 0x2df57: 0x6c35f220,\n\t0x2df58: 0x6c35f420, 0x2df59: 0x6c35f620, 0x2df5a: 0x6c50c420, 0x2df5b: 0x6c50c620,\n\t0x2df5c: 0x6c50c820, 0x2df5d: 0x6c50ca20, 0x2df5e: 0x6c50cc20, 0x2df5f: 0x6c50ce20,\n\t0x2df60: 0x6c50d020, 0x2df61: 0x6c50d220, 0x2df62: 0x6c50d420, 0x2df63: 0x6c50d620,\n\t0x2df64: 0x6c50d820, 0x2df65: 0x6c50da20, 0x2df66: 0x6c50dc20, 0x2df67: 0x6c50de20,\n\t0x2df68: 0x6c50e020, 0x2df69: 0x6c50e220, 0x2df6a: 0x6c50e420, 0x2df6b: 0x6c50e620,\n\t0x2df6c: 0x6c50e820, 0x2df6d: 0x6c50ea20, 0x2df6e: 0x6c50ec20, 0x2df6f: 0x6c50ee20,\n\t0x2df70: 0x6c50f020, 0x2df71: 0x6c50f220, 0x2df72: 0x6c50f420, 0x2df73: 0x6c50f620,\n\t0x2df74: 0x6c50f820, 0x2df75: 0x6c50fa20, 0x2df76: 0x6c50fc20, 0x2df77: 0x6c50fe20,\n\t0x2df78: 0x6c510020, 0x2df79: 0x6c510220, 0x2df7a: 0x6c510420, 0x2df7b: 0x6c510620,\n\t0x2df7c: 0x6c510820, 0x2df7d: 0x6c510a20, 0x2df7e: 0x6c510c20, 0x2df7f: 0x6c510e20,\n\t// Block 0xb7e, offset 0x2df80\n\t0x2df80: 0x6c730420, 0x2df81: 0x6c730620, 0x2df82: 0x6c730820, 0x2df83: 0x6c730a20,\n\t0x2df84: 0x6c730c20, 0x2df85: 0x6c730e20, 0x2df86: 0x6c731020, 0x2df87: 0x6c731220,\n\t0x2df88: 0x6c731420, 0x2df89: 0x6c731620, 0x2df8a: 0x6c731820, 0x2df8b: 0x6c731a20,\n\t0x2df8c: 0x6c731c20, 0x2df8d: 0x6c731e20, 0x2df8e: 0x6c732020, 0x2df8f: 0x6c732220,\n\t0x2df90: 0x6c732420, 0x2df91: 0x6c732620, 0x2df92: 0x6c732820, 0x2df93: 0x6c732a20,\n\t0x2df94: 0x6c732c20, 0x2df95: 0x6c732e20, 0x2df96: 0x6c733020, 0x2df97: 0x6c9b7e20,\n\t0x2df98: 0x6c9b8020, 0x2df99: 0x6c9b8220, 0x2df9a: 0x6c9b8420, 0x2df9b: 0x6c9b8620,\n\t0x2df9c: 0x6c9b8820, 0x2df9d: 0x6c9b8a20, 0x2df9e: 0x6c9b8c20, 0x2df9f: 0x6c738c20,\n\t0x2dfa0: 0x6c738e20, 0x2dfa1: 0x6c9b8e20, 0x2dfa2: 0x6c9b9020, 0x2dfa3: 0x6c9b9220,\n\t0x2dfa4: 0x6c9b9420, 0x2dfa5: 0x6c9b9620, 0x2dfa6: 0x6c9b9820, 0x2dfa7: 0x6c9b9a20,\n\t0x2dfa8: 0x6c9b9c20, 0x2dfa9: 0x6c9b9e20, 0x2dfaa: 0x6cc78620, 0x2dfab: 0x6cc78820,\n\t0x2dfac: 0x6cc78a20, 0x2dfad: 0x6cc78c20, 0x2dfae: 0x6cc78e20, 0x2dfaf: 0x6cc79020,\n\t0x2dfb0: 0x6cc79220, 0x2dfb1: 0x6cc79420, 0x2dfb2: 0x6cc79620, 0x2dfb3: 0x6cc79820,\n\t0x2dfb4: 0x6cc79a20, 0x2dfb5: 0x6cc79c20, 0x2dfb6: 0x6cc79e20, 0x2dfb7: 0x6cc7a020,\n\t0x2dfb8: 0x6cf5d620, 0x2dfb9: 0x6cc7a220, 0x2dfba: 0x6cc7a420, 0x2dfbb: 0x6cc7a620,\n\t0x2dfbc: 0x6cc7a820, 0x2dfbd: 0x6cc7aa20, 0x2dfbe: 0x6cc7ac20, 0x2dfbf: 0x6cc7ae20,\n\t// Block 0xb7f, offset 0x2dfc0\n\t0x2dfc0: 0x6cc7b020, 0x2dfc1: 0x6cc7b220, 0x2dfc2: 0x6cc7b420, 0x2dfc3: 0x6cc7b620,\n\t0x2dfc4: 0x6cf5f020, 0x2dfc5: 0x6cf5f220, 0x2dfc6: 0x6cf5f420, 0x2dfc7: 0x6cf5f620,\n\t0x2dfc8: 0x6cf5f820, 0x2dfc9: 0x6cf5fa20, 0x2dfca: 0x6cf5fc20, 0x2dfcb: 0x6cf5fe20,\n\t0x2dfcc: 0x6cf60020, 0x2dfcd: 0x6cf60220, 0x2dfce: 0x6cf60420, 0x2dfcf: 0x6cf60620,\n\t0x2dfd0: 0x6cf60820, 0x2dfd1: 0x6cc7b820, 0x2dfd2: 0x6cf60a20, 0x2dfd3: 0x6cf60c20,\n\t0x2dfd4: 0x6cf60e20, 0x2dfd5: 0x6cf61020, 0x2dfd6: 0x6cf61220, 0x2dfd7: 0x6cf61420,\n\t0x2dfd8: 0x6cf61620, 0x2dfd9: 0x6cf61820, 0x2dfda: 0x6d257e20, 0x2dfdb: 0x6d258020,\n\t0x2dfdc: 0x6d258220, 0x2dfdd: 0x6d258420, 0x2dfde: 0x6d258620, 0x2dfdf: 0x6d258820,\n\t0x2dfe0: 0x6d258a20, 0x2dfe1: 0x6d258c20, 0x2dfe2: 0x6d258e20, 0x2dfe3: 0x6d259020,\n\t0x2dfe4: 0x6d259220, 0x2dfe5: 0x6d259420, 0x2dfe6: 0x6d259620, 0x2dfe7: 0x6d259820,\n\t0x2dfe8: 0x6d259a20, 0x2dfe9: 0x6d530020, 0x2dfea: 0x6d530220, 0x2dfeb: 0x6d530420,\n\t0x2dfec: 0x6d530620, 0x2dfed: 0x6d530820, 0x2dfee: 0x6d530a20, 0x2dfef: 0x6d530c20,\n\t0x2dff0: 0x6d530e20, 0x2dff1: 0x6d531020, 0x2dff2: 0x6d531220, 0x2dff3: 0x6d531420,\n\t0x2dff4: 0x6d531620, 0x2dff5: 0x6d531820, 0x2dff6: 0x6d531a20, 0x2dff7: 0x6d531c20,\n\t0x2dff8: 0x6d7e4420, 0x2dff9: 0x6d7e4620, 0x2dffa: 0x6d7e4820, 0x2dffb: 0x6d7e4a20,\n\t0x2dffc: 0x6d537220, 0x2dffd: 0x6d7e4c20, 0x2dffe: 0x6d7e4e20, 0x2dfff: 0x6d7e5020,\n\t// Block 0xb80, offset 0x2e000\n\t0x2e000: 0x6d7e5220, 0x2e001: 0x6d7e5420, 0x2e002: 0x6d7e5620, 0x2e003: 0x6d7e5820,\n\t0x2e004: 0x6d7e5a20, 0x2e005: 0x6d7e5c20, 0x2e006: 0x6d7e5e20, 0x2e007: 0x6d7e6020,\n\t0x2e008: 0x6d7e6220, 0x2e009: 0x6d7e6420, 0x2e00a: 0x6d7e6620, 0x2e00b: 0x6d7e6820,\n\t0x2e00c: 0x6d7e6a20, 0x2e00d: 0x6d7e6c20, 0x2e00e: 0x6da56420, 0x2e00f: 0x6d7ed220,\n\t0x2e010: 0x6da56620, 0x2e011: 0x6da56820, 0x2e012: 0x6da56a20, 0x2e013: 0x6da56c20,\n\t0x2e014: 0x6da56e20, 0x2e015: 0x6da57020, 0x2e016: 0x6da57220, 0x2e017: 0x6da57420,\n\t0x2e018: 0x6dc70620, 0x2e019: 0x6da5a820, 0x2e01a: 0x6da57620, 0x2e01b: 0x6dc70820,\n\t0x2e01c: 0x6dc70a20, 0x2e01d: 0x6de38820, 0x2e01e: 0x6de38a20, 0x2e01f: 0x6de38c20,\n\t0x2e020: 0x6de38e20, 0x2e021: 0x6de39020, 0x2e022: 0x6de39220, 0x2e023: 0x6dfae020,\n\t0x2e024: 0x6dfae220, 0x2e025: 0x6dfae420, 0x2e026: 0x6dfae620, 0x2e027: 0x6dfae820,\n\t0x2e028: 0x6dfaea20, 0x2e029: 0x6e0e4620, 0x2e02a: 0x6e293020, 0x2e02b: 0x6e293220,\n\t0x2e02c: 0x6e293420, 0x2e02d: 0x6e324a20, 0x2e02e: 0x6e324c20, 0x2e02f: 0x6e38a820,\n\t0x2e030: 0x6c049820, 0x2e031: 0x6c095e20, 0x2e032: 0x6c127020, 0x2e033: 0x6c127220,\n\t0x2e034: 0x6c219c20, 0x2e035: 0x6c219e20, 0x2e036: 0x6c364020, 0x2e037: 0x6c515c20,\n\t0x2e038: 0x6c739020, 0x2e039: 0x6c9c0a20, 0x2e03a: 0x6c739220, 0x2e03b: 0x6c73a820,\n\t0x2e03c: 0x6c9c0c20, 0x2e03d: 0x6c9ba020, 0x2e03e: 0x6cc84a20, 0x2e03f: 0x6cc84c20,\n\t// Block 0xb81, offset 0x2e040\n\t0x2e040: 0x6cb8f420, 0x2e041: 0x6cc84e20, 0x2e042: 0x6cc85020, 0x2e043: 0x6cf68820,\n\t0x2e044: 0x6d25f820, 0x2e045: 0x6d25fa20, 0x2e046: 0x6d7ed620, 0x2e047: 0x6e0e5820,\n\t0x2e048: 0x6c049c20, 0x2e049: 0x6c127420, 0x2e04a: 0x6c364c20, 0x2e04b: 0x6c364e20,\n\t0x2e04c: 0x6c365020, 0x2e04d: 0x6c365220, 0x2e04e: 0x6c516c20, 0x2e04f: 0x6c516e20,\n\t0x2e050: 0x6c517020, 0x2e051: 0x6c517220, 0x2e052: 0x6c73ae20, 0x2e053: 0x6c73b020,\n\t0x2e054: 0x6c73b220, 0x2e055: 0x6c73b420, 0x2e056: 0x6c9c1a20, 0x2e057: 0x6c73be20,\n\t0x2e058: 0x6c9c1c20, 0x2e059: 0x6c9c1e20, 0x2e05a: 0x6c9c2020, 0x2e05b: 0x6c9c2220,\n\t0x2e05c: 0x6cc85a20, 0x2e05d: 0x6cc85c20, 0x2e05e: 0x6cc85e20, 0x2e05f: 0x6cc86020,\n\t0x2e060: 0x6cf69420, 0x2e061: 0x6cf69620, 0x2e062: 0x6d260620, 0x2e063: 0x6d7ee620,\n\t0x2e064: 0x6d7ee820, 0x2e065: 0x6d7eea20, 0x2e066: 0x6dc74820, 0x2e067: 0x6dfb0220,\n\t0x2e068: 0x6c049e20, 0x2e069: 0x6c04a020, 0x2e06a: 0x6c096220, 0x2e06b: 0x6c096420,\n\t0x2e06c: 0x6c096620, 0x2e06d: 0x6c096820, 0x2e06e: 0x6c096a20, 0x2e06f: 0x6c096c20,\n\t0x2e070: 0x6c096e20, 0x2e071: 0x6c127c20, 0x2e072: 0x6c127e20, 0x2e073: 0x6c128020,\n\t0x2e074: 0x6c128220, 0x2e075: 0x6c128420, 0x2e076: 0x6c128620, 0x2e077: 0x6c128820,\n\t0x2e078: 0x6c128a20, 0x2e079: 0x6c128c20, 0x2e07a: 0x6c128e20, 0x2e07b: 0x6c129020,\n\t0x2e07c: 0x6c129220, 0x2e07d: 0x6c129420, 0x2e07e: 0x6c129620, 0x2e07f: 0x6c129820,\n\t// Block 0xb82, offset 0x2e080\n\t0x2e080: 0x6c129a20, 0x2e081: 0x6c129c20, 0x2e082: 0x6c129e20, 0x2e083: 0x6c12a020,\n\t0x2e084: 0x6c21ba20, 0x2e085: 0x6c21bc20, 0x2e086: 0x6c21be20, 0x2e087: 0x6c21c020,\n\t0x2e088: 0x6c21c220, 0x2e089: 0x6c21c420, 0x2e08a: 0x6c21c620, 0x2e08b: 0x6c21c820,\n\t0x2e08c: 0x6c21ca20, 0x2e08d: 0x6c21cc20, 0x2e08e: 0x6c21ce20, 0x2e08f: 0x6c21d020,\n\t0x2e090: 0x6c21d220, 0x2e091: 0x6c21d420, 0x2e092: 0x6c21d620, 0x2e093: 0x6c21d820,\n\t0x2e094: 0x6c21da20, 0x2e095: 0x6c21dc20, 0x2e096: 0x6c21de20, 0x2e097: 0x6c21e020,\n\t0x2e098: 0x6c21e220, 0x2e099: 0x6c21e420, 0x2e09a: 0x6c21e620, 0x2e09b: 0x6c21e820,\n\t0x2e09c: 0x6c21ea20, 0x2e09d: 0x6c21ec20, 0x2e09e: 0x6c21ee20, 0x2e09f: 0x6c21f020,\n\t0x2e0a0: 0x6c21f220, 0x2e0a1: 0x6c21f420, 0x2e0a2: 0x6c21f620, 0x2e0a3: 0x6c21f820,\n\t0x2e0a4: 0x6c21fa20, 0x2e0a5: 0x6c21fc20, 0x2e0a6: 0x6c21fe20, 0x2e0a7: 0x6c220020,\n\t0x2e0a8: 0x6c220220, 0x2e0a9: 0x6c220420, 0x2e0aa: 0x6c366c20, 0x2e0ab: 0x6c366e20,\n\t0x2e0ac: 0x6c367020, 0x2e0ad: 0x6c367220, 0x2e0ae: 0x6c367420, 0x2e0af: 0x6c367620,\n\t0x2e0b0: 0x6c367820, 0x2e0b1: 0x6c367a20, 0x2e0b2: 0x6c367c20, 0x2e0b3: 0x6c367e20,\n\t0x2e0b4: 0x6c368020, 0x2e0b5: 0x6c368220, 0x2e0b6: 0x6c368420, 0x2e0b7: 0x6c368620,\n\t0x2e0b8: 0x6c368820, 0x2e0b9: 0x6c368a20, 0x2e0ba: 0x6c368c20, 0x2e0bb: 0x6c368e20,\n\t0x2e0bc: 0x6c369020, 0x2e0bd: 0x6c369220, 0x2e0be: 0x6c369420, 0x2e0bf: 0x6c369620,\n\t// Block 0xb83, offset 0x2e0c0\n\t0x2e0c0: 0x6c369820, 0x2e0c1: 0x6c220620, 0x2e0c2: 0x6c369a20, 0x2e0c3: 0x6c369c20,\n\t0x2e0c4: 0x6c369e20, 0x2e0c5: 0x6c36a020, 0x2e0c6: 0x6c36a220, 0x2e0c7: 0x6c36a420,\n\t0x2e0c8: 0x6c36a620, 0x2e0c9: 0x6c36a820, 0x2e0ca: 0x6c36aa20, 0x2e0cb: 0x6c36ac20,\n\t0x2e0cc: 0x6c36ae20, 0x2e0cd: 0x6c36b020, 0x2e0ce: 0x6c36b220, 0x2e0cf: 0x6c36b420,\n\t0x2e0d0: 0x6c36b620, 0x2e0d1: 0x6c36b820, 0x2e0d2: 0x6c36ba20, 0x2e0d3: 0x6c36bc20,\n\t0x2e0d4: 0x6c36be20, 0x2e0d5: 0x6c36c020, 0x2e0d6: 0x6c36c220, 0x2e0d7: 0x6c36c420,\n\t0x2e0d8: 0x6c36c620, 0x2e0d9: 0x6c36c820, 0x2e0da: 0x6c36ca20, 0x2e0db: 0x6c36cc20,\n\t0x2e0dc: 0x6c36ce20, 0x2e0dd: 0x6c36d020, 0x2e0de: 0x6c36d220, 0x2e0df: 0x6c36d420,\n\t0x2e0e0: 0x6c36d620, 0x2e0e1: 0x6c36d820, 0x2e0e2: 0x6c36da20, 0x2e0e3: 0x6c36dc20,\n\t0x2e0e4: 0x6c36de20, 0x2e0e5: 0x6c36e020, 0x2e0e6: 0x6c36e220, 0x2e0e7: 0x6c36e420,\n\t0x2e0e8: 0x6c36e620, 0x2e0e9: 0x6c36e820, 0x2e0ea: 0x6c36ea20, 0x2e0eb: 0x6c36ec20,\n\t0x2e0ec: 0x6c36ee20, 0x2e0ed: 0x6c36f020, 0x2e0ee: 0x6c519420, 0x2e0ef: 0x6c519620,\n\t0x2e0f0: 0x6c519820, 0x2e0f1: 0x6c519a20, 0x2e0f2: 0x6c519c20, 0x2e0f3: 0x6c519e20,\n\t0x2e0f4: 0x6c51a020, 0x2e0f5: 0x6c51a220, 0x2e0f6: 0x6c51a420, 0x2e0f7: 0x6c51a620,\n\t0x2e0f8: 0x6c51a820, 0x2e0f9: 0x6c51aa20, 0x2e0fa: 0x6c51ac20, 0x2e0fb: 0x6c51ae20,\n\t0x2e0fc: 0x6c51b020, 0x2e0fd: 0x6c73c020, 0x2e0fe: 0x6c51b220, 0x2e0ff: 0x6c51b420,\n\t// Block 0xb84, offset 0x2e100\n\t0x2e100: 0x6c51b620, 0x2e101: 0x6c51b820, 0x2e102: 0x6c51ba20, 0x2e103: 0x6c51bc20,\n\t0x2e104: 0x6c51be20, 0x2e105: 0x6c51c020, 0x2e106: 0x6c51c220, 0x2e107: 0x6c51c420,\n\t0x2e108: 0x6c51c620, 0x2e109: 0x6c51c820, 0x2e10a: 0x6c51ca20, 0x2e10b: 0x6c51cc20,\n\t0x2e10c: 0x6c51ce20, 0x2e10d: 0x6c51d020, 0x2e10e: 0x6c51d220, 0x2e10f: 0x6c51d420,\n\t0x2e110: 0x6c51d620, 0x2e111: 0x6c51d820, 0x2e112: 0x6c51da20, 0x2e113: 0x6c51dc20,\n\t0x2e114: 0x6c51de20, 0x2e115: 0x6c51e020, 0x2e116: 0x6c51e220, 0x2e117: 0x6c51e420,\n\t0x2e118: 0x6c51e620, 0x2e119: 0x6c51e820, 0x2e11a: 0x6c51ea20, 0x2e11b: 0x6c51ec20,\n\t0x2e11c: 0x6c51ee20, 0x2e11d: 0x6c51f020, 0x2e11e: 0x6c51f220, 0x2e11f: 0x6c51f420,\n\t0x2e120: 0x6c51f620, 0x2e121: 0x6c73c220, 0x2e122: 0x6c51f820, 0x2e123: 0x6c51fa20,\n\t0x2e124: 0x6c51fc20, 0x2e125: 0x6c51fe20, 0x2e126: 0x6c520020, 0x2e127: 0x6c520220,\n\t0x2e128: 0x6c520420, 0x2e129: 0x6c520620, 0x2e12a: 0x6c520820, 0x2e12b: 0x6c520a20,\n\t0x2e12c: 0x6c520c20, 0x2e12d: 0x6c520e20, 0x2e12e: 0x6c521020, 0x2e12f: 0x6c521220,\n\t0x2e130: 0x6c521420, 0x2e131: 0x6c521620, 0x2e132: 0x6c521820, 0x2e133: 0x6c521a20,\n\t0x2e134: 0x6c73c420, 0x2e135: 0x6c521c20, 0x2e136: 0x6c521e20, 0x2e137: 0x6c522020,\n\t0x2e138: 0x6c522220, 0x2e139: 0x6c376420, 0x2e13a: 0x6c522420, 0x2e13b: 0x6c522620,\n\t0x2e13c: 0x6c522820, 0x2e13d: 0x6c522a20, 0x2e13e: 0x6c522c20, 0x2e13f: 0x6c522e20,\n\t// Block 0xb85, offset 0x2e140\n\t0x2e140: 0x6c523020, 0x2e141: 0x6c523220, 0x2e142: 0x6c523420, 0x2e143: 0x6c523620,\n\t0x2e144: 0x6c523820, 0x2e145: 0x6c523a20, 0x2e146: 0x6c523c20, 0x2e147: 0x6c523e20,\n\t0x2e148: 0x6c524020, 0x2e149: 0x6c524220, 0x2e14a: 0x6c524420, 0x2e14b: 0x6c524620,\n\t0x2e14c: 0x6c524820, 0x2e14d: 0x6c524a20, 0x2e14e: 0x6c524c20, 0x2e14f: 0x6c524e20,\n\t0x2e150: 0x6c525020, 0x2e151: 0x6c525220, 0x2e152: 0x6c73e620, 0x2e153: 0x6c73e820,\n\t0x2e154: 0x6c73ea20, 0x2e155: 0x6c73ec20, 0x2e156: 0x6c73ee20, 0x2e157: 0x6c73f020,\n\t0x2e158: 0x6c73f220, 0x2e159: 0x6c73f420, 0x2e15a: 0x6c73f620, 0x2e15b: 0x6c73f820,\n\t0x2e15c: 0x6c73fa20, 0x2e15d: 0x6c73fc20, 0x2e15e: 0x6c73fe20, 0x2e15f: 0x6c740020,\n\t0x2e160: 0x6c740220, 0x2e161: 0x6c740420, 0x2e162: 0x6c740620, 0x2e163: 0x6c740820,\n\t0x2e164: 0x6c740a20, 0x2e165: 0x6c740c20, 0x2e166: 0x6c740e20, 0x2e167: 0x6c741020,\n\t0x2e168: 0x6c741220, 0x2e169: 0x6c741420, 0x2e16a: 0x6c741620, 0x2e16b: 0x6c741820,\n\t0x2e16c: 0x6c741a20, 0x2e16d: 0x6c741c20, 0x2e16e: 0x6c741e20, 0x2e16f: 0x6c742020,\n\t0x2e170: 0x6c742220, 0x2e171: 0x6c742420, 0x2e172: 0x6c742620, 0x2e173: 0x6c742820,\n\t0x2e174: 0x6c742a20, 0x2e175: 0x6c742c20, 0x2e176: 0x6c742e20, 0x2e177: 0x6c743020,\n\t0x2e178: 0x6c743220, 0x2e179: 0x6c743420, 0x2e17a: 0x6c743620, 0x2e17b: 0x6c743820,\n\t0x2e17c: 0x6c743a20, 0x2e17d: 0x6c743c20, 0x2e17e: 0x6c743e20, 0x2e17f: 0x6c744020,\n\t// Block 0xb86, offset 0x2e180\n\t0x2e180: 0x6c744220, 0x2e181: 0x6c744420, 0x2e182: 0x6c744620, 0x2e183: 0x6c744820,\n\t0x2e184: 0x6c744a20, 0x2e185: 0x6c744c20, 0x2e186: 0x6c744e20, 0x2e187: 0x6c745020,\n\t0x2e188: 0x6c745220, 0x2e189: 0x6c745420, 0x2e18a: 0x6c745620, 0x2e18b: 0x6c745820,\n\t0x2e18c: 0x6c745a20, 0x2e18d: 0x6c745c20, 0x2e18e: 0x6c745e20, 0x2e18f: 0x6c746020,\n\t0x2e190: 0x6c746220, 0x2e191: 0x6c746420, 0x2e192: 0x6c52c020, 0x2e193: 0x6c746620,\n\t0x2e194: 0x6c746820, 0x2e195: 0x6c746a20, 0x2e196: 0x6c746c20, 0x2e197: 0x6c746e20,\n\t0x2e198: 0x6c747020, 0x2e199: 0x6c747220, 0x2e19a: 0x6c747420, 0x2e19b: 0x6c747620,\n\t0x2e19c: 0x6c747820, 0x2e19d: 0x6c747a20, 0x2e19e: 0x6c747c20, 0x2e19f: 0x6c747e20,\n\t0x2e1a0: 0x6c748020, 0x2e1a1: 0x6c748220, 0x2e1a2: 0x6c748420, 0x2e1a3: 0x6c748620,\n\t0x2e1a4: 0x6c748820, 0x2e1a5: 0x6c748a20, 0x2e1a6: 0x6c748c20, 0x2e1a7: 0x6c748e20,\n\t0x2e1a8: 0x6c749020, 0x2e1a9: 0x6c749220, 0x2e1aa: 0x6c749420, 0x2e1ab: 0x6c9c5420,\n\t0x2e1ac: 0x6c9c5620, 0x2e1ad: 0x6c9c5820, 0x2e1ae: 0x6c9c5a20, 0x2e1af: 0x6c9c5c20,\n\t0x2e1b0: 0x6c9c5e20, 0x2e1b1: 0x6c9c6020, 0x2e1b2: 0x6c9c6220, 0x2e1b3: 0x6c9c6420,\n\t0x2e1b4: 0x6c9c6620, 0x2e1b5: 0x6c9c6820, 0x2e1b6: 0x6c9c6a20, 0x2e1b7: 0x6c9c6c20,\n\t0x2e1b8: 0x6c9c6e20, 0x2e1b9: 0x6c9c7020, 0x2e1ba: 0x6c9c7220, 0x2e1bb: 0x6c9c7420,\n\t0x2e1bc: 0x6c9c7620, 0x2e1bd: 0x6c9c7820, 0x2e1be: 0x6c9c7a20, 0x2e1bf: 0x6c9c7c20,\n\t// Block 0xb87, offset 0x2e1c0\n\t0x2e1c0: 0x6c9c7e20, 0x2e1c1: 0x6c9c8020, 0x2e1c2: 0x6c9c8220, 0x2e1c3: 0x6c9c8420,\n\t0x2e1c4: 0x6c9c8620, 0x2e1c5: 0x6c9c8820, 0x2e1c6: 0x6c9c8a20, 0x2e1c7: 0x6c9c8c20,\n\t0x2e1c8: 0x6c9c8e20, 0x2e1c9: 0x6c9c9020, 0x2e1ca: 0x6c9c9220, 0x2e1cb: 0x6c9c9420,\n\t0x2e1cc: 0x6c9c9620, 0x2e1cd: 0x6c9c9820, 0x2e1ce: 0x6c9c9a20, 0x2e1cf: 0x6c9c9c20,\n\t0x2e1d0: 0x6c9c9e20, 0x2e1d1: 0x6c9ca020, 0x2e1d2: 0x6c9ca220, 0x2e1d3: 0x6c9ca420,\n\t0x2e1d4: 0x6c9ca620, 0x2e1d5: 0x6c9ca820, 0x2e1d6: 0x6c9caa20, 0x2e1d7: 0x6c9cac20,\n\t0x2e1d8: 0x6c9cae20, 0x2e1d9: 0x6c9cb020, 0x2e1da: 0x6c9cb220, 0x2e1db: 0x6c9cb420,\n\t0x2e1dc: 0x6c9cb620, 0x2e1dd: 0x6c9cb820, 0x2e1de: 0x6c9cba20, 0x2e1df: 0x6c9cbc20,\n\t0x2e1e0: 0x6c9cbe20, 0x2e1e1: 0x6c9cc020, 0x2e1e2: 0x6c9cc220, 0x2e1e3: 0x6c9cc420,\n\t0x2e1e4: 0x6c9cc620, 0x2e1e5: 0x6c9cc820, 0x2e1e6: 0x6c9cca20, 0x2e1e7: 0x6c9ccc20,\n\t0x2e1e8: 0x6c9cce20, 0x2e1e9: 0x6c9cd020, 0x2e1ea: 0x6c9cd220, 0x2e1eb: 0x6c9cd420,\n\t0x2e1ec: 0x6c9cd620, 0x2e1ed: 0x6c9cd820, 0x2e1ee: 0x6c9cda20, 0x2e1ef: 0x6c9cdc20,\n\t0x2e1f0: 0x6c9cde20, 0x2e1f1: 0x6c9ce020, 0x2e1f2: 0x6c9ce220, 0x2e1f3: 0x6c9ce420,\n\t0x2e1f4: 0x6cc88420, 0x2e1f5: 0x6c9ce620, 0x2e1f6: 0x6c9ce820, 0x2e1f7: 0x6c9cea20,\n\t0x2e1f8: 0x6c9cec20, 0x2e1f9: 0x6c9cee20, 0x2e1fa: 0x6c9cf020, 0x2e1fb: 0x6c9cf220,\n\t0x2e1fc: 0x6c9cf420, 0x2e1fd: 0x6c9cf620, 0x2e1fe: 0x6c9cf820, 0x2e1ff: 0x6c9cfa20,\n\t// Block 0xb88, offset 0x2e200\n\t0x2e200: 0x6c9cfc20, 0x2e201: 0x6c9cfe20, 0x2e202: 0x6c9d0020, 0x2e203: 0x6cc8ae20,\n\t0x2e204: 0x6cc8b020, 0x2e205: 0x6cc8b220, 0x2e206: 0x6cc8b420, 0x2e207: 0x6cc8b620,\n\t0x2e208: 0x6cc8b820, 0x2e209: 0x6cc8ba20, 0x2e20a: 0x6cc8bc20, 0x2e20b: 0x6cc8be20,\n\t0x2e20c: 0x6cc8c020, 0x2e20d: 0x6cc8c220, 0x2e20e: 0x6cc8c420, 0x2e20f: 0x6cc8c620,\n\t0x2e210: 0x6cc8c820, 0x2e211: 0x6cc8ca20, 0x2e212: 0x6cc8cc20, 0x2e213: 0x6cc8ce20,\n\t0x2e214: 0x6cc8d020, 0x2e215: 0x6cc8d220, 0x2e216: 0x6cc8d420, 0x2e217: 0x6cc8d620,\n\t0x2e218: 0x6cc8d820, 0x2e219: 0x6cc8da20, 0x2e21a: 0x6cc8dc20, 0x2e21b: 0x6cc8de20,\n\t0x2e21c: 0x6cc8e020, 0x2e21d: 0x6cc8e220, 0x2e21e: 0x6cc8e420, 0x2e21f: 0x6cc8e620,\n\t0x2e220: 0x6cc8e820, 0x2e221: 0x6cc8ea20, 0x2e222: 0x6cc8ec20, 0x2e223: 0x6cc8ee20,\n\t0x2e224: 0x6cc8f020, 0x2e225: 0x6cc8f220, 0x2e226: 0x6cc8f420, 0x2e227: 0x6cc8f620,\n\t0x2e228: 0x6cc8f820, 0x2e229: 0x6cc8fa20, 0x2e22a: 0x6cc8fc20, 0x2e22b: 0x6cc8fe20,\n\t0x2e22c: 0x6cc90020, 0x2e22d: 0x6cc90220, 0x2e22e: 0x6cc90420, 0x2e22f: 0x6cc90620,\n\t0x2e230: 0x6cc90820, 0x2e231: 0x6cc90a20, 0x2e232: 0x6cc90c20, 0x2e233: 0x6cc90e20,\n\t0x2e234: 0x6cc91020, 0x2e235: 0x6cc91220, 0x2e236: 0x6cc91420, 0x2e237: 0x6cc91620,\n\t0x2e238: 0x6cc91820, 0x2e239: 0x6cc91a20, 0x2e23a: 0x6cc91c20, 0x2e23b: 0x6cc91e20,\n\t0x2e23c: 0x6cc92020, 0x2e23d: 0x6cc92220, 0x2e23e: 0x6cc92420, 0x2e23f: 0x6cc92620,\n\t// Block 0xb89, offset 0x2e240\n\t0x2e240: 0x6cc92820, 0x2e241: 0x6cc92a20, 0x2e242: 0x6cc92c20, 0x2e243: 0x6cc92e20,\n\t0x2e244: 0x6cc93020, 0x2e245: 0x6cc93220, 0x2e246: 0x6cc93420, 0x2e247: 0x6cc93620,\n\t0x2e248: 0x6cc93820, 0x2e249: 0x6cc93a20, 0x2e24a: 0x6cc93c20, 0x2e24b: 0x6cc93e20,\n\t0x2e24c: 0x6cc94020, 0x2e24d: 0x6cc94220, 0x2e24e: 0x6cc94420, 0x2e24f: 0x6cc94620,\n\t0x2e250: 0x6cc94820, 0x2e251: 0x6cc94a20, 0x2e252: 0x6cc94c20, 0x2e253: 0x6cc94e20,\n\t0x2e254: 0x6cc95020, 0x2e255: 0x6cc95220, 0x2e256: 0x6cc95420, 0x2e257: 0x6cc95620,\n\t0x2e258: 0x6cc95820, 0x2e259: 0x6cc95a20, 0x2e25a: 0x6cc95c20, 0x2e25b: 0x6cc95e20,\n\t0x2e25c: 0x6cc96020, 0x2e25d: 0x6cc96220, 0x2e25e: 0x6cc96420, 0x2e25f: 0x6cc96620,\n\t0x2e260: 0x6cc96820, 0x2e261: 0x6cc96a20, 0x2e262: 0x6cc96c20, 0x2e263: 0x6cc96e20,\n\t0x2e264: 0x6cc97020, 0x2e265: 0x6cc97220, 0x2e266: 0x6cc97420, 0x2e267: 0x6cc97620,\n\t0x2e268: 0x6cc97820, 0x2e269: 0x6cc97a20, 0x2e26a: 0x6cc97c20, 0x2e26b: 0x6cc97e20,\n\t0x2e26c: 0x6cc98020, 0x2e26d: 0x6cc98220, 0x2e26e: 0x6cc98420, 0x2e26f: 0x6cf6e220,\n\t0x2e270: 0x6cf6e420, 0x2e271: 0x6cf6e620, 0x2e272: 0x6cf6e820, 0x2e273: 0x6cf6ea20,\n\t0x2e274: 0x6cf6ec20, 0x2e275: 0x6cf6ee20, 0x2e276: 0x6cf6f020, 0x2e277: 0x6cf6f220,\n\t0x2e278: 0x6cf6f420, 0x2e279: 0x6cf6f620, 0x2e27a: 0x6cf6f820, 0x2e27b: 0x6cf6fa20,\n\t0x2e27c: 0x6cf6fc20, 0x2e27d: 0x6cf6fe20, 0x2e27e: 0x6cf70020, 0x2e27f: 0x6cf70220,\n\t// Block 0xb8a, offset 0x2e280\n\t0x2e280: 0x6cf70420, 0x2e281: 0x6cf70620, 0x2e282: 0x6cf70820, 0x2e283: 0x6cf70a20,\n\t0x2e284: 0x6cf70c20, 0x2e285: 0x6cf70e20, 0x2e286: 0x6cf71020, 0x2e287: 0x6cf71220,\n\t0x2e288: 0x6cf71420, 0x2e289: 0x6cf71620, 0x2e28a: 0x6cf71820, 0x2e28b: 0x6cf71a20,\n\t0x2e28c: 0x6cf71c20, 0x2e28d: 0x6cf71e20, 0x2e28e: 0x6cf72020, 0x2e28f: 0x6cf72220,\n\t0x2e290: 0x6cf72420, 0x2e291: 0x6cf72620, 0x2e292: 0x6cf72820, 0x2e293: 0x6cf72a20,\n\t0x2e294: 0x6cf72c20, 0x2e295: 0x6cf72e20, 0x2e296: 0x6c9da420, 0x2e297: 0x6cf73020,\n\t0x2e298: 0x6cf73220, 0x2e299: 0x6cf73420, 0x2e29a: 0x6cf73620, 0x2e29b: 0x6cf73820,\n\t0x2e29c: 0x6cf73a20, 0x2e29d: 0x6cf73c20, 0x2e29e: 0x6cf73e20, 0x2e29f: 0x6cf74020,\n\t0x2e2a0: 0x6cf74220, 0x2e2a1: 0x6cf74420, 0x2e2a2: 0x6cf74620, 0x2e2a3: 0x6cf74820,\n\t0x2e2a4: 0x6cf74a20, 0x2e2a5: 0x6cf74c20, 0x2e2a6: 0x6cf74e20, 0x2e2a7: 0x6cf75020,\n\t0x2e2a8: 0x6cf75220, 0x2e2a9: 0x6cf75420, 0x2e2aa: 0x6cf75620, 0x2e2ab: 0x6cf75820,\n\t0x2e2ac: 0x6cf75a20, 0x2e2ad: 0x6cf75c20, 0x2e2ae: 0x6cca8820, 0x2e2af: 0x6cf75e20,\n\t0x2e2b0: 0x6cca8a20, 0x2e2b1: 0x6cf76020, 0x2e2b2: 0x6cf76220, 0x2e2b3: 0x6cf76420,\n\t0x2e2b4: 0x6cf76620, 0x2e2b5: 0x6cf76820, 0x2e2b6: 0x6cf76a20, 0x2e2b7: 0x6cf76c20,\n\t0x2e2b8: 0x6cf76e20, 0x2e2b9: 0x6cf77020, 0x2e2ba: 0x6cf77220, 0x2e2bb: 0x6cf77420,\n\t0x2e2bc: 0x6cf77620, 0x2e2bd: 0x6cf77820, 0x2e2be: 0x6cf77a20, 0x2e2bf: 0x6cf77c20,\n\t// Block 0xb8b, offset 0x2e2c0\n\t0x2e2c0: 0x6cf77e20, 0x2e2c1: 0x6cf78020, 0x2e2c2: 0x6cf78220, 0x2e2c3: 0x6cf78420,\n\t0x2e2c4: 0x6cf78620, 0x2e2c5: 0x6cf78820, 0x2e2c6: 0x6cf78a20, 0x2e2c7: 0x6cf78c20,\n\t0x2e2c8: 0x6cf78e20, 0x2e2c9: 0x6cf79020, 0x2e2ca: 0x6d264e20, 0x2e2cb: 0x6cf79220,\n\t0x2e2cc: 0x6cf79420, 0x2e2cd: 0x6d265020, 0x2e2ce: 0x6d265220, 0x2e2cf: 0x6d265420,\n\t0x2e2d0: 0x6d265620, 0x2e2d1: 0x6d265820, 0x2e2d2: 0x6d265a20, 0x2e2d3: 0x6d265c20,\n\t0x2e2d4: 0x6cf79620, 0x2e2d5: 0x6d265e20, 0x2e2d6: 0x6d266020, 0x2e2d7: 0x6d266220,\n\t0x2e2d8: 0x6cf79820, 0x2e2d9: 0x6d266420, 0x2e2da: 0x6d266620, 0x2e2db: 0x6d266820,\n\t0x2e2dc: 0x6d266a20, 0x2e2dd: 0x6d266c20, 0x2e2de: 0x6d266e20, 0x2e2df: 0x6d267020,\n\t0x2e2e0: 0x6d267220, 0x2e2e1: 0x6d267420, 0x2e2e2: 0x6d267620, 0x2e2e3: 0x6d267820,\n\t0x2e2e4: 0x6d267a20, 0x2e2e5: 0x6d267c20, 0x2e2e6: 0x6d267e20, 0x2e2e7: 0x6d268020,\n\t0x2e2e8: 0x6d268220, 0x2e2e9: 0x6d268420, 0x2e2ea: 0x6d268620, 0x2e2eb: 0x6d268820,\n\t0x2e2ec: 0x6d268a20, 0x2e2ed: 0x6d268c20, 0x2e2ee: 0x6d268e20, 0x2e2ef: 0x6d269020,\n\t0x2e2f0: 0x6d269220, 0x2e2f1: 0x6d269420, 0x2e2f2: 0x6d269620, 0x2e2f3: 0x6d269820,\n\t0x2e2f4: 0x6d269a20, 0x2e2f5: 0x6d269c20, 0x2e2f6: 0x6d269e20, 0x2e2f7: 0x6d26a020,\n\t0x2e2f8: 0x6d26a220, 0x2e2f9: 0x6d26a420, 0x2e2fa: 0x6d26a620, 0x2e2fb: 0x6d26a820,\n\t0x2e2fc: 0x6d26aa20, 0x2e2fd: 0x6d26ac20, 0x2e2fe: 0x6d26ae20, 0x2e2ff: 0x6d26b020,\n\t// Block 0xb8c, offset 0x2e300\n\t0x2e300: 0x6d26b220, 0x2e301: 0x6d26b420, 0x2e302: 0x6d26b620, 0x2e303: 0x6d26b820,\n\t0x2e304: 0x6d26ba20, 0x2e305: 0x6d26bc20, 0x2e306: 0x6d26be20, 0x2e307: 0x6d26c020,\n\t0x2e308: 0x6d26c220, 0x2e309: 0x6d26c420, 0x2e30a: 0x6d26c620, 0x2e30b: 0x6d26c820,\n\t0x2e30c: 0x6d26ca20, 0x2e30d: 0x6d26cc20, 0x2e30e: 0x6d26ce20, 0x2e30f: 0x6d26d020,\n\t0x2e310: 0x6d26d220, 0x2e311: 0x6d26d420, 0x2e312: 0x6d26d620, 0x2e313: 0x6d26d820,\n\t0x2e314: 0x6d26da20, 0x2e315: 0x6d26dc20, 0x2e316: 0x6d26de20, 0x2e317: 0x6d26e020,\n\t0x2e318: 0x6d26e220, 0x2e319: 0x6d26e420, 0x2e31a: 0x6d26e620, 0x2e31b: 0x6d26e820,\n\t0x2e31c: 0x6d26ea20, 0x2e31d: 0x6d26ec20, 0x2e31e: 0x6d26ee20, 0x2e31f: 0x6d26f020,\n\t0x2e320: 0x6d26f220, 0x2e321: 0x6d26f420, 0x2e322: 0x6d53c820, 0x2e323: 0x6d53ca20,\n\t0x2e324: 0x6d53cc20, 0x2e325: 0x6d53ce20, 0x2e326: 0x6d53d020, 0x2e327: 0x6d53d220,\n\t0x2e328: 0x6d53d420, 0x2e329: 0x6d539c20, 0x2e32a: 0x6d53d620, 0x2e32b: 0x6d53d820,\n\t0x2e32c: 0x6d53da20, 0x2e32d: 0x6d53dc20, 0x2e32e: 0x6d53de20, 0x2e32f: 0x6d53e020,\n\t0x2e330: 0x6d53e220, 0x2e331: 0x6d53e420, 0x2e332: 0x6d53e620, 0x2e333: 0x6d53e820,\n\t0x2e334: 0x6d53ea20, 0x2e335: 0x6d53ec20, 0x2e336: 0x6d53ee20, 0x2e337: 0x6d53f020,\n\t0x2e338: 0x6d53f220, 0x2e339: 0x6d53f420, 0x2e33a: 0x6d53f620, 0x2e33b: 0x6d53f820,\n\t0x2e33c: 0x6d53fa20, 0x2e33d: 0x6d53fc20, 0x2e33e: 0x6d53fe20, 0x2e33f: 0x6d540020,\n\t// Block 0xb8d, offset 0x2e340\n\t0x2e340: 0x6d540220, 0x2e341: 0x6d540420, 0x2e342: 0x6d540620, 0x2e343: 0x6d280020,\n\t0x2e344: 0x6d540820, 0x2e345: 0x6d540a20, 0x2e346: 0x6d540c20, 0x2e347: 0x6d540e20,\n\t0x2e348: 0x6d541020, 0x2e349: 0x6d541220, 0x2e34a: 0x6d541420, 0x2e34b: 0x6d541620,\n\t0x2e34c: 0x6d541820, 0x2e34d: 0x6d541a20, 0x2e34e: 0x6d541c20, 0x2e34f: 0x6d541e20,\n\t0x2e350: 0x6d542020, 0x2e351: 0x6d542220, 0x2e352: 0x6d542420, 0x2e353: 0x6d542620,\n\t0x2e354: 0x6d542820, 0x2e355: 0x6d542a20, 0x2e356: 0x6d542c20, 0x2e357: 0x6d542e20,\n\t0x2e358: 0x6d543020, 0x2e359: 0x6d543220, 0x2e35a: 0x6d543420, 0x2e35b: 0x6d543620,\n\t0x2e35c: 0x6d543820, 0x2e35d: 0x6d543a20, 0x2e35e: 0x6d543c20, 0x2e35f: 0x6d543e20,\n\t0x2e360: 0x6d544020, 0x2e361: 0x6d544220, 0x2e362: 0x6d544420, 0x2e363: 0x6d544620,\n\t0x2e364: 0x6d544820, 0x2e365: 0x6d544a20, 0x2e366: 0x6d544c20, 0x2e367: 0x6d544e20,\n\t0x2e368: 0x6d7efe20, 0x2e369: 0x6d545020, 0x2e36a: 0x6d545220, 0x2e36b: 0x6d545420,\n\t0x2e36c: 0x6d545620, 0x2e36d: 0x6d545820, 0x2e36e: 0x6d26f620, 0x2e36f: 0x6d545a20,\n\t0x2e370: 0x6d545c20, 0x2e371: 0x6d545e20, 0x2e372: 0x6d7f3020, 0x2e373: 0x6d7f3220,\n\t0x2e374: 0x6d7f3420, 0x2e375: 0x6d7f3620, 0x2e376: 0x6d7f3820, 0x2e377: 0x6d7f3a20,\n\t0x2e378: 0x6d7f3c20, 0x2e379: 0x6d7f3e20, 0x2e37a: 0x6d7f4020, 0x2e37b: 0x6d7f4220,\n\t0x2e37c: 0x6d7f4420, 0x2e37d: 0x6d7f4620, 0x2e37e: 0x6d7f4820, 0x2e37f: 0x6d7f4a20,\n\t// Block 0xb8e, offset 0x2e380\n\t0x2e380: 0x6d7f4c20, 0x2e381: 0x6d7f4e20, 0x2e382: 0x6d7f5020, 0x2e383: 0x6d7f5220,\n\t0x2e384: 0x6d7f5420, 0x2e385: 0x6d7f5620, 0x2e386: 0x6d7f5820, 0x2e387: 0x6d7f5a20,\n\t0x2e388: 0x6d7f5c20, 0x2e389: 0x6d7f5e20, 0x2e38a: 0x6d7f6020, 0x2e38b: 0x6d7f6220,\n\t0x2e38c: 0x6d7f6420, 0x2e38d: 0x6d7f6620, 0x2e38e: 0x6d7f6820, 0x2e38f: 0x6d7f6a20,\n\t0x2e390: 0x6d7f6c20, 0x2e391: 0x6d7f6e20, 0x2e392: 0x6d7f7020, 0x2e393: 0x6d7f7220,\n\t0x2e394: 0x6d7f7420, 0x2e395: 0x6d7f7620, 0x2e396: 0x6d7f7820, 0x2e397: 0x6d7f7a20,\n\t0x2e398: 0x6d7f7c20, 0x2e399: 0x6d7f7e20, 0x2e39a: 0x6d7f8020, 0x2e39b: 0x6d7f8220,\n\t0x2e39c: 0x6d7f8420, 0x2e39d: 0x6d7f8620, 0x2e39e: 0x6d7f8820, 0x2e39f: 0x6d7f8a20,\n\t0x2e3a0: 0x6d7f8c20, 0x2e3a1: 0x6d7f8e20, 0x2e3a2: 0x6d7f9020, 0x2e3a3: 0x6d7f9220,\n\t0x2e3a4: 0x6d7f9420, 0x2e3a5: 0x6d546020, 0x2e3a6: 0x6d7f9620, 0x2e3a7: 0x6d7f9820,\n\t0x2e3a8: 0x6d7f9a20, 0x2e3a9: 0x6d7f9c20, 0x2e3aa: 0x6d7f9e20, 0x2e3ab: 0x6d7fa020,\n\t0x2e3ac: 0x6d7fa220, 0x2e3ad: 0x6d7fa420, 0x2e3ae: 0x6d7fa620, 0x2e3af: 0x6d7fa820,\n\t0x2e3b0: 0x6d7faa20, 0x2e3b1: 0x6d7fac20, 0x2e3b2: 0x6d7fae20, 0x2e3b3: 0x6d7fb020,\n\t0x2e3b4: 0x6d7f0020, 0x2e3b5: 0x6d7fb220, 0x2e3b6: 0x6d7fb420, 0x2e3b7: 0x6d7fb620,\n\t0x2e3b8: 0x6d7fb820, 0x2e3b9: 0x6d7fba20, 0x2e3ba: 0x6d7fbc20, 0x2e3bb: 0x6d7fbe20,\n\t0x2e3bc: 0x6d7fc020, 0x2e3bd: 0x6da5dc20, 0x2e3be: 0x6da5de20, 0x2e3bf: 0x6da5e020,\n\t// Block 0xb8f, offset 0x2e3c0\n\t0x2e3c0: 0x6da5e220, 0x2e3c1: 0x6da5e420, 0x2e3c2: 0x6da5e620, 0x2e3c3: 0x6da5e820,\n\t0x2e3c4: 0x6da5ea20, 0x2e3c5: 0x6da5ec20, 0x2e3c6: 0x6da5ee20, 0x2e3c7: 0x6da5f020,\n\t0x2e3c8: 0x6da5f220, 0x2e3c9: 0x6da5f420, 0x2e3ca: 0x6da5f620, 0x2e3cb: 0x6da5f820,\n\t0x2e3cc: 0x6da5fa20, 0x2e3cd: 0x6da5fc20, 0x2e3ce: 0x6da5fe20, 0x2e3cf: 0x6da60020,\n\t0x2e3d0: 0x6da60220, 0x2e3d1: 0x6da60420, 0x2e3d2: 0x6da60620, 0x2e3d3: 0x6da60820,\n\t0x2e3d4: 0x6da60a20, 0x2e3d5: 0x6da60c20, 0x2e3d6: 0x6da60e20, 0x2e3d7: 0x6da61020,\n\t0x2e3d8: 0x6da61220, 0x2e3d9: 0x6da61420, 0x2e3da: 0x6da61620, 0x2e3db: 0x6da61820,\n\t0x2e3dc: 0x6da61a20, 0x2e3dd: 0x6da61c20, 0x2e3de: 0x6da61e20, 0x2e3df: 0x6da62020,\n\t0x2e3e0: 0x6da62220, 0x2e3e1: 0x6da62420, 0x2e3e2: 0x6da62620, 0x2e3e3: 0x6da62820,\n\t0x2e3e4: 0x6da62a20, 0x2e3e5: 0x6da62c20, 0x2e3e6: 0x6da62e20, 0x2e3e7: 0x6da63020,\n\t0x2e3e8: 0x6da63220, 0x2e3e9: 0x6da63420, 0x2e3ea: 0x6da63620, 0x2e3eb: 0x6dc76220,\n\t0x2e3ec: 0x6dc76420, 0x2e3ed: 0x6dc76620, 0x2e3ee: 0x6dc76820, 0x2e3ef: 0x6dc76a20,\n\t0x2e3f0: 0x6dc76c20, 0x2e3f1: 0x6dc76e20, 0x2e3f2: 0x6dc77020, 0x2e3f3: 0x6dc77220,\n\t0x2e3f4: 0x6dc77420, 0x2e3f5: 0x6dc77620, 0x2e3f6: 0x6dc77820, 0x2e3f7: 0x6dc77a20,\n\t0x2e3f8: 0x6dc77c20, 0x2e3f9: 0x6dc77e20, 0x2e3fa: 0x6dc78020, 0x2e3fb: 0x6dc78220,\n\t0x2e3fc: 0x6dc78420, 0x2e3fd: 0x6dc78620, 0x2e3fe: 0x6dc78820, 0x2e3ff: 0x6dc78a20,\n\t// Block 0xb90, offset 0x2e400\n\t0x2e400: 0x6dc78c20, 0x2e401: 0x6dc78e20, 0x2e402: 0x6dc79020, 0x2e403: 0x6dc79220,\n\t0x2e404: 0x6dc79420, 0x2e405: 0x6dc79620, 0x2e406: 0x6dc79820, 0x2e407: 0x6dc79a20,\n\t0x2e408: 0x6dc79c20, 0x2e409: 0x6dc79e20, 0x2e40a: 0x6dc7a020, 0x2e40b: 0x6de3ca20,\n\t0x2e40c: 0x6de3cc20, 0x2e40d: 0x6de3ce20, 0x2e40e: 0x6de3d020, 0x2e40f: 0x6de3d220,\n\t0x2e410: 0x6de3d420, 0x2e411: 0x6de3d620, 0x2e412: 0x6de3d820, 0x2e413: 0x6de3da20,\n\t0x2e414: 0x6de3dc20, 0x2e415: 0x6de3de20, 0x2e416: 0x6de3e020, 0x2e417: 0x6de3e220,\n\t0x2e418: 0x6de3e420, 0x2e419: 0x6de3e620, 0x2e41a: 0x6de3e820, 0x2e41b: 0x6da6f220,\n\t0x2e41c: 0x6de3ea20, 0x2e41d: 0x6de3ec20, 0x2e41e: 0x6de3ee20, 0x2e41f: 0x6de3f020,\n\t0x2e420: 0x6de3f220, 0x2e421: 0x6dc84c20, 0x2e422: 0x6de3f420, 0x2e423: 0x6de3f620,\n\t0x2e424: 0x6de3f820, 0x2e425: 0x6de3fa20, 0x2e426: 0x6de3fc20, 0x2e427: 0x6de47820,\n\t0x2e428: 0x6dfb2020, 0x2e429: 0x6dfb2220, 0x2e42a: 0x6dfb2420, 0x2e42b: 0x6de3fe20,\n\t0x2e42c: 0x6dfb2620, 0x2e42d: 0x6dc84e20, 0x2e42e: 0x6dfb2820, 0x2e42f: 0x6dfb2a20,\n\t0x2e430: 0x6dfb2c20, 0x2e431: 0x6dfb2e20, 0x2e432: 0x6dfb3020, 0x2e433: 0x6dfb3220,\n\t0x2e434: 0x6dfb3420, 0x2e435: 0x6dfb3620, 0x2e436: 0x6dfb3820, 0x2e437: 0x6e1db620,\n\t0x2e438: 0x6e0e6220, 0x2e439: 0x6dfb9820, 0x2e43a: 0x6e0e6420, 0x2e43b: 0x6e0e6620,\n\t0x2e43c: 0x6e0e6820, 0x2e43d: 0x6e0e6a20, 0x2e43e: 0x6e0e6c20, 0x2e43f: 0x6e0e6e20,\n\t// Block 0xb91, offset 0x2e440\n\t0x2e440: 0x6e0e7020, 0x2e441: 0x6e0e7220, 0x2e442: 0x6e0e7420, 0x2e443: 0x6e0e7620,\n\t0x2e444: 0x6e0e7820, 0x2e445: 0x6e0e7a20, 0x2e446: 0x6e1db820, 0x2e447: 0x6e1dba20,\n\t0x2e448: 0x6e1dbc20, 0x2e449: 0x6e1dbe20, 0x2e44a: 0x6e1dc020, 0x2e44b: 0x6e1dc220,\n\t0x2e44c: 0x6e0e7c20, 0x2e44d: 0x6e1dc420, 0x2e44e: 0x6e1dc620, 0x2e44f: 0x6e294220,\n\t0x2e450: 0x6e294420, 0x2e451: 0x6e294620, 0x2e452: 0x6e294820, 0x2e453: 0x6e325e20,\n\t0x2e454: 0x6e326020, 0x2e455: 0x6e326220, 0x2e456: 0x6e38b020, 0x2e457: 0x6e38b220,\n\t0x2e458: 0x6e38b420, 0x2e459: 0x6e38b620, 0x2e45a: 0x6e38b820, 0x2e45b: 0x6e38ba20,\n\t0x2e45c: 0x6e3d3020, 0x2e45d: 0x6e38d420, 0x2e45e: 0x6e42a620, 0x2e45f: 0x6e42a820,\n\t0x2e460: 0x6c04a620, 0x2e461: 0x6c12b420, 0x2e462: 0x6c12b620, 0x2e463: 0x6c376e20,\n\t0x2e464: 0x6c223c20, 0x2e465: 0x6c377020, 0x2e466: 0x6c377220, 0x2e467: 0x6c377420,\n\t0x2e468: 0x6c52ce20, 0x2e469: 0x6c52d020, 0x2e46a: 0x6c52d220, 0x2e46b: 0x6c755220,\n\t0x2e46c: 0x6c755420, 0x2e46d: 0x6c755620, 0x2e46e: 0x6c755820, 0x2e46f: 0x6c755a20,\n\t0x2e470: 0x6c755c20, 0x2e471: 0x6c755e20, 0x2e472: 0x6c9dae20, 0x2e473: 0x6c9db020,\n\t0x2e474: 0x6c758620, 0x2e475: 0x6c9db220, 0x2e476: 0x6c9db420, 0x2e477: 0x6c9db620,\n\t0x2e478: 0x6c9db820, 0x2e479: 0x6cca9820, 0x2e47a: 0x6cca9a20, 0x2e47b: 0x6cca9c20,\n\t0x2e47c: 0x6cca9e20, 0x2e47d: 0x6ccaa020, 0x2e47e: 0x6ccaa220, 0x2e47f: 0x6ccaa420,\n\t// Block 0xb92, offset 0x2e480\n\t0x2e480: 0x6cf8c820, 0x2e481: 0x6cf8ca20, 0x2e482: 0x6cf8cc20, 0x2e483: 0x6cf8ce20,\n\t0x2e484: 0x6cf8d020, 0x2e485: 0x6cf8d220, 0x2e486: 0x6cf8d420, 0x2e487: 0x6cf8d620,\n\t0x2e488: 0x6cf8d820, 0x2e489: 0x6d280820, 0x2e48a: 0x6d280a20, 0x2e48b: 0x6d280c20,\n\t0x2e48c: 0x6d280e20, 0x2e48d: 0x6d281020, 0x2e48e: 0x6d555620, 0x2e48f: 0x6d555820,\n\t0x2e490: 0x6d555a20, 0x2e491: 0x6d555c20, 0x2e492: 0x6d555e20, 0x2e493: 0x6d556020,\n\t0x2e494: 0x6d80d420, 0x2e495: 0x6d80d620, 0x2e496: 0x6d80d820, 0x2e497: 0x6d80da20,\n\t0x2e498: 0x6d80dc20, 0x2e499: 0x6d80de20, 0x2e49a: 0x6d80e020, 0x2e49b: 0x6da6fc20,\n\t0x2e49c: 0x6da6fe20, 0x2e49d: 0x6da70020, 0x2e49e: 0x6dc85020, 0x2e49f: 0x6dc85220,\n\t0x2e4a0: 0x6de47c20, 0x2e4a1: 0x6e1e0e20, 0x2e4a2: 0x6c04a820, 0x2e4a3: 0x6c097620,\n\t0x2e4a4: 0x6c12bc20, 0x2e4a5: 0x6c225220, 0x2e4a6: 0x6c379420, 0x2e4a7: 0x6c379620,\n\t0x2e4a8: 0x6c379820, 0x2e4a9: 0x6c379a20, 0x2e4aa: 0x6c52fe20, 0x2e4ab: 0x6c530020,\n\t0x2e4ac: 0x6c758820, 0x2e4ad: 0x6c758a20, 0x2e4ae: 0x6ccad620, 0x2e4af: 0x6ccad820,\n\t0x2e4b0: 0x6d284020, 0x2e4b1: 0x6cf90620, 0x2e4b2: 0x6cf90820, 0x2e4b3: 0x6cf90a20,\n\t0x2e4b4: 0x6d284420, 0x2e4b5: 0x6d558420, 0x2e4b6: 0x6d558620, 0x2e4b7: 0x6d80f220,\n\t0x2e4b8: 0x6dc85e20, 0x2e4b9: 0x6c04ae20, 0x2e4ba: 0x6c097c20, 0x2e4bb: 0x6c12c420,\n\t0x2e4bc: 0x6c225e20, 0x2e4bd: 0x6c37d220, 0x2e4be: 0x6c37d420, 0x2e4bf: 0x6c37d620,\n\t// Block 0xb93, offset 0x2e4c0\n\t0x2e4c0: 0x6c37d820, 0x2e4c1: 0x6c37da20, 0x2e4c2: 0x6c530e20, 0x2e4c3: 0x6c531020,\n\t0x2e4c4: 0x6c531220, 0x2e4c5: 0x6c531420, 0x2e4c6: 0x6c531620, 0x2e4c7: 0x6c531820,\n\t0x2e4c8: 0x6c75aa20, 0x2e4c9: 0x6c75ac20, 0x2e4ca: 0x6c75ae20, 0x2e4cb: 0x6c75b020,\n\t0x2e4cc: 0x6c9dec20, 0x2e4cd: 0x6c9dee20, 0x2e4ce: 0x6c9df020, 0x2e4cf: 0x6c9df220,\n\t0x2e4d0: 0x6c9df420, 0x2e4d1: 0x6c9df620, 0x2e4d2: 0x6c9df820, 0x2e4d3: 0x6c9dfa20,\n\t0x2e4d4: 0x6ccb0420, 0x2e4d5: 0x6ccb0620, 0x2e4d6: 0x6ccb0820, 0x2e4d7: 0x6ccb0a20,\n\t0x2e4d8: 0x6ccb0c20, 0x2e4d9: 0x6ccb0e20, 0x2e4da: 0x6ccb1020, 0x2e4db: 0x6cf92c20,\n\t0x2e4dc: 0x6cf92e20, 0x2e4dd: 0x6d285820, 0x2e4de: 0x6d285a20, 0x2e4df: 0x6d285c20,\n\t0x2e4e0: 0x6d285e20, 0x2e4e1: 0x6d286020, 0x2e4e2: 0x6d559e20, 0x2e4e3: 0x6d55a020,\n\t0x2e4e4: 0x6d55a220, 0x2e4e5: 0x6d55a420, 0x2e4e6: 0x6d55a620, 0x2e4e7: 0x6d810820,\n\t0x2e4e8: 0x6d810a20, 0x2e4e9: 0x6d810c20, 0x2e4ea: 0x6d810e20, 0x2e4eb: 0x6d811020,\n\t0x2e4ec: 0x6da72020, 0x2e4ed: 0x6da72220, 0x2e4ee: 0x6da72420, 0x2e4ef: 0x6dc86c20,\n\t0x2e4f0: 0x6de48a20, 0x2e4f1: 0x6de48c20, 0x2e4f2: 0x6e0ee220, 0x2e4f3: 0x6c04b420,\n\t0x2e4f4: 0x6c380620, 0x2e4f5: 0x6c534820, 0x2e4f6: 0x6c534a20, 0x2e4f7: 0x6c75e020,\n\t0x2e4f8: 0x6c9e2220, 0x2e4f9: 0x6c9e2420, 0x2e4fa: 0x6c9e2620, 0x2e4fb: 0x6c9e2820,\n\t0x2e4fc: 0x6ccb5020, 0x2e4fd: 0x6ccb5220, 0x2e4fe: 0x6ccb6820, 0x2e4ff: 0x6cf95820,\n\t// Block 0xb94, offset 0x2e500\n\t0x2e500: 0x6cf95a20, 0x2e501: 0x6cf95c20, 0x2e502: 0x6cf95e20, 0x2e503: 0x6d287820,\n\t0x2e504: 0x6d287a20, 0x2e505: 0x6d55ca20, 0x2e506: 0x6d55cc20, 0x2e507: 0x6d812e20,\n\t0x2e508: 0x6d813020, 0x2e509: 0x6dc89020, 0x2e50a: 0x6e298620, 0x2e50b: 0x6c04b620,\n\t0x2e50c: 0x6c04b820, 0x2e50d: 0x6c098020, 0x2e50e: 0x6c12d420, 0x2e50f: 0x6c227620,\n\t0x2e510: 0x6c227820, 0x2e511: 0x6c380e20, 0x2e512: 0x6c535220, 0x2e513: 0x6cf97c20,\n\t0x2e514: 0x6c04bc20, 0x2e515: 0x6c12d820, 0x2e516: 0x6c535820, 0x2e517: 0x6c535a20,\n\t0x2e518: 0x6c535c20, 0x2e519: 0x6c75ee20, 0x2e51a: 0x6da74620, 0x2e51b: 0x6c04be20,\n\t0x2e51c: 0x6c228220, 0x2e51d: 0x6c228420, 0x2e51e: 0x6c382a20, 0x2e51f: 0x6c382c20,\n\t0x2e520: 0x6c536020, 0x2e521: 0x6c536220, 0x2e522: 0x6c75f820, 0x2e523: 0x6c75fa20,\n\t0x2e524: 0x6c75fc20, 0x2e525: 0x6c75fe20, 0x2e526: 0x6c760020, 0x2e527: 0x6c760220,\n\t0x2e528: 0x6c760420, 0x2e529: 0x6c760620, 0x2e52a: 0x6c760820, 0x2e52b: 0x6c9e6220,\n\t0x2e52c: 0x6c9e6420, 0x2e52d: 0x6c9e6620, 0x2e52e: 0x6c9e6820, 0x2e52f: 0x6ccb7220,\n\t0x2e530: 0x6ccb7420, 0x2e531: 0x6ccb7620, 0x2e532: 0x6ccb7820, 0x2e533: 0x6ccb7a20,\n\t0x2e534: 0x6ccb7c20, 0x2e535: 0x6ccb7e20, 0x2e536: 0x6ccb8020, 0x2e537: 0x6cf98c20,\n\t0x2e538: 0x6cf98e20, 0x2e539: 0x6cf99020, 0x2e53a: 0x6cf99220, 0x2e53b: 0x6cf99420,\n\t0x2e53c: 0x6cf99620, 0x2e53d: 0x6cf99820, 0x2e53e: 0x6d28aa20, 0x2e53f: 0x6d55de20,\n\t// Block 0xb95, offset 0x2e540\n\t0x2e540: 0x6d55e020, 0x2e541: 0x6d55e220, 0x2e542: 0x6d55e420, 0x2e543: 0x6d816620,\n\t0x2e544: 0x6d816820, 0x2e545: 0x6d816a20, 0x2e546: 0x6d816c20, 0x2e547: 0x6d816e20,\n\t0x2e548: 0x6da74a20, 0x2e549: 0x6da74c20, 0x2e54a: 0x6da74e20, 0x2e54b: 0x6dc89620,\n\t0x2e54c: 0x6de4a420, 0x2e54d: 0x6e1e2420, 0x2e54e: 0x6e3d4a20, 0x2e54f: 0x6c04c220,\n\t0x2e550: 0x6c098420, 0x2e551: 0x6c098620, 0x2e552: 0x6c12e620, 0x2e553: 0x6c385020,\n\t0x2e554: 0x6c04c420, 0x2e555: 0x6c098a20, 0x2e556: 0x6c12ea20, 0x2e557: 0x6c12ec20,\n\t0x2e558: 0x6c12ee20, 0x2e559: 0x6c229620, 0x2e55a: 0x6c229820, 0x2e55b: 0x6c385820,\n\t0x2e55c: 0x6c385a20, 0x2e55d: 0x6c385c20, 0x2e55e: 0x6c53b820, 0x2e55f: 0x6c53ba20,\n\t0x2e560: 0x6c53bc20, 0x2e561: 0x6c53be20, 0x2e562: 0x6c53c020, 0x2e563: 0x6c763a20,\n\t0x2e564: 0x6c763c20, 0x2e565: 0x6c763e20, 0x2e566: 0x6c764020, 0x2e567: 0x6c764220,\n\t0x2e568: 0x6c764420, 0x2e569: 0x6c764620, 0x2e56a: 0x6c9ea220, 0x2e56b: 0x6c9ea420,\n\t0x2e56c: 0x6ccbc620, 0x2e56d: 0x6ccbc820, 0x2e56e: 0x6ccbca20, 0x2e56f: 0x6ccbcc20,\n\t0x2e570: 0x6ccbce20, 0x2e571: 0x6cf9d820, 0x2e572: 0x6d28ec20, 0x2e573: 0x6d28ee20,\n\t0x2e574: 0x6c04c620, 0x2e575: 0x6c01fa20, 0x2e576: 0x6c098e20, 0x2e577: 0x6c099020,\n\t0x2e578: 0x6c099220, 0x2e579: 0x6c099420, 0x2e57a: 0x6c098c20, 0x2e57b: 0x6c099c20,\n\t0x2e57c: 0x6c12f620, 0x2e57d: 0x6c0c5c20, 0x2e57e: 0x6c099e20, 0x2e57f: 0x6c09a020,\n\t// Block 0xb96, offset 0x2e580\n\t0x2e580: 0x6c09a220, 0x2e581: 0x6c09a420, 0x2e582: 0x6c229e20, 0x2e583: 0x6c09a620,\n\t0x2e584: 0x6c09a820, 0x2e585: 0x6c09aa20, 0x2e586: 0x6c12f820, 0x2e587: 0x6c09ac20,\n\t0x2e588: 0x6c09ae20, 0x2e589: 0x6c09b020, 0x2e58a: 0x6c12fe20, 0x2e58b: 0x6c130020,\n\t0x2e58c: 0x6c130220, 0x2e58d: 0x6c130420, 0x2e58e: 0x6c130620, 0x2e58f: 0x6c130820,\n\t0x2e590: 0x6c130a20, 0x2e591: 0x6c130c20, 0x2e592: 0x6c130e20, 0x2e593: 0x6c131020,\n\t0x2e594: 0x6c131220, 0x2e595: 0x6c131420, 0x2e596: 0x6c22a220, 0x2e597: 0x6c131620,\n\t0x2e598: 0x6c131820, 0x2e599: 0x6c131a20, 0x2e59a: 0x6c131c20, 0x2e59b: 0x6c131e20,\n\t0x2e59c: 0x6c132020, 0x2e59d: 0x6c132220, 0x2e59e: 0x6c22a420, 0x2e59f: 0x6c132420,\n\t0x2e5a0: 0x6c132620, 0x2e5a1: 0x6c132820, 0x2e5a2: 0x6c132a20, 0x2e5a3: 0x6c132c20,\n\t0x2e5a4: 0x6c132e20, 0x2e5a5: 0x6c22bc20, 0x2e5a6: 0x6c22be20, 0x2e5a7: 0x6c22c020,\n\t0x2e5a8: 0x6c22c220, 0x2e5a9: 0x6c22c420, 0x2e5aa: 0x6c22c620, 0x2e5ab: 0x6c22c820,\n\t0x2e5ac: 0x6c386620, 0x2e5ad: 0x6c22ca20, 0x2e5ae: 0x6c22cc20, 0x2e5af: 0x6c22ce20,\n\t0x2e5b0: 0x6c22d020, 0x2e5b1: 0x6c22d220, 0x2e5b2: 0x6c22d420, 0x2e5b3: 0x6c22d620,\n\t0x2e5b4: 0x6c22d820, 0x2e5b5: 0x6c22da20, 0x2e5b6: 0x6c22dc20, 0x2e5b7: 0x6c135420,\n\t0x2e5b8: 0x6c22de20, 0x2e5b9: 0x6c22e020, 0x2e5ba: 0x6c22e220, 0x2e5bb: 0x6c22e420,\n\t0x2e5bc: 0x6c22e620, 0x2e5bd: 0x6c22e820, 0x2e5be: 0x6c22ea20, 0x2e5bf: 0x6c22ec20,\n\t// Block 0xb97, offset 0x2e5c0\n\t0x2e5c0: 0x6c386820, 0x2e5c1: 0x6c22ee20, 0x2e5c2: 0x6c22f020, 0x2e5c3: 0x6c22f220,\n\t0x2e5c4: 0x6c22f420, 0x2e5c5: 0x6c22f620, 0x2e5c6: 0x6c22f820, 0x2e5c7: 0x6c22fa20,\n\t0x2e5c8: 0x6c22fc20, 0x2e5c9: 0x6c22fe20, 0x2e5ca: 0x6c386a20, 0x2e5cb: 0x6c230020,\n\t0x2e5cc: 0x6c230220, 0x2e5cd: 0x6c230420, 0x2e5ce: 0x6c230620, 0x2e5cf: 0x6c230820,\n\t0x2e5d0: 0x6c230a20, 0x2e5d1: 0x6c230c20, 0x2e5d2: 0x6c230e20, 0x2e5d3: 0x6c386c20,\n\t0x2e5d4: 0x6c231020, 0x2e5d5: 0x6c231220, 0x2e5d6: 0x6c231420, 0x2e5d7: 0x6c53ce20,\n\t0x2e5d8: 0x6c231620, 0x2e5d9: 0x6c231820, 0x2e5da: 0x6c231a20, 0x2e5db: 0x6c231c20,\n\t0x2e5dc: 0x6c231e20, 0x2e5dd: 0x6c386e20, 0x2e5de: 0x6c232020, 0x2e5df: 0x6c232220,\n\t0x2e5e0: 0x6c232420, 0x2e5e1: 0x6c232620, 0x2e5e2: 0x6c232820, 0x2e5e3: 0x6c232a20,\n\t0x2e5e4: 0x6c232c20, 0x2e5e5: 0x6c232e20, 0x2e5e6: 0x6c233020, 0x2e5e7: 0x6c233220,\n\t0x2e5e8: 0x6c233420, 0x2e5e9: 0x6c233620, 0x2e5ea: 0x6c233820, 0x2e5eb: 0x6c388620,\n\t0x2e5ec: 0x6c388820, 0x2e5ed: 0x6c388a20, 0x2e5ee: 0x6c388c20, 0x2e5ef: 0x6c53d020,\n\t0x2e5f0: 0x6c388e20, 0x2e5f1: 0x6c389020, 0x2e5f2: 0x6c389220, 0x2e5f3: 0x6c389420,\n\t0x2e5f4: 0x6c389620, 0x2e5f5: 0x6c389820, 0x2e5f6: 0x6c389a20, 0x2e5f7: 0x6c389c20,\n\t0x2e5f8: 0x6c389e20, 0x2e5f9: 0x6c38a020, 0x2e5fa: 0x6c38a220, 0x2e5fb: 0x6c38a420,\n\t0x2e5fc: 0x6c38a620, 0x2e5fd: 0x6c38a820, 0x2e5fe: 0x6c38aa20, 0x2e5ff: 0x6c38ac20,\n\t// Block 0xb98, offset 0x2e600\n\t0x2e600: 0x6c38ae20, 0x2e601: 0x6c38b020, 0x2e602: 0x6c38b220, 0x2e603: 0x6c38b420,\n\t0x2e604: 0x6c38b620, 0x2e605: 0x6c38b820, 0x2e606: 0x6c38ba20, 0x2e607: 0x6c38bc20,\n\t0x2e608: 0x6c38be20, 0x2e609: 0x6c53d220, 0x2e60a: 0x6c38c020, 0x2e60b: 0x6c38c220,\n\t0x2e60c: 0x6c38c420, 0x2e60d: 0x6c38c620, 0x2e60e: 0x6c38c820, 0x2e60f: 0x6c38ca20,\n\t0x2e610: 0x6c38cc20, 0x2e611: 0x6c38ce20, 0x2e612: 0x6c38d020, 0x2e613: 0x6c38d220,\n\t0x2e614: 0x6c38d420, 0x2e615: 0x6c38d620, 0x2e616: 0x6c38d820, 0x2e617: 0x6c38da20,\n\t0x2e618: 0x6c38dc20, 0x2e619: 0x6c38de20, 0x2e61a: 0x6c53f220, 0x2e61b: 0x6c38e020,\n\t0x2e61c: 0x6c38e220, 0x2e61d: 0x6c38e420, 0x2e61e: 0x6c38e620, 0x2e61f: 0x6c38e820,\n\t0x2e620: 0x6c38ea20, 0x2e621: 0x6c38ec20, 0x2e622: 0x6c38ee20, 0x2e623: 0x6c38f020,\n\t0x2e624: 0x6c38f220, 0x2e625: 0x6c38f420, 0x2e626: 0x6c38f620, 0x2e627: 0x6c38f820,\n\t0x2e628: 0x6c38fa20, 0x2e629: 0x6c38fc20, 0x2e62a: 0x6c38fe20, 0x2e62b: 0x6c390020,\n\t0x2e62c: 0x6c390220, 0x2e62d: 0x6c390420, 0x2e62e: 0x6c390620, 0x2e62f: 0x6c390820,\n\t0x2e630: 0x6c764a20, 0x2e631: 0x6c390a20, 0x2e632: 0x6c390c20, 0x2e633: 0x6c390e20,\n\t0x2e634: 0x6c53d420, 0x2e635: 0x6c5a4620, 0x2e636: 0x6c53d620, 0x2e637: 0x6c391020,\n\t0x2e638: 0x6c391220, 0x2e639: 0x6c391420, 0x2e63a: 0x6c391620, 0x2e63b: 0x6c391820,\n\t0x2e63c: 0x6c391a20, 0x2e63d: 0x6c391c20, 0x2e63e: 0x6c391e20, 0x2e63f: 0x6c53f420,\n\t// Block 0xb99, offset 0x2e640\n\t0x2e640: 0x6c53f620, 0x2e641: 0x6c53f820, 0x2e642: 0x6c53fa20, 0x2e643: 0x6c53fc20,\n\t0x2e644: 0x6c53fe20, 0x2e645: 0x6c540020, 0x2e646: 0x6c540220, 0x2e647: 0x6c540420,\n\t0x2e648: 0x6c540620, 0x2e649: 0x6c540820, 0x2e64a: 0x6c540a20, 0x2e64b: 0x6c540c20,\n\t0x2e64c: 0x6c540e20, 0x2e64d: 0x6c767020, 0x2e64e: 0x6c541020, 0x2e64f: 0x6c541220,\n\t0x2e650: 0x6c541420, 0x2e651: 0x6c541620, 0x2e652: 0x6c541820, 0x2e653: 0x6c541a20,\n\t0x2e654: 0x6c541c20, 0x2e655: 0x6c541e20, 0x2e656: 0x6c767220, 0x2e657: 0x6c542020,\n\t0x2e658: 0x6c542220, 0x2e659: 0x6c542420, 0x2e65a: 0x6c542620, 0x2e65b: 0x6c542820,\n\t0x2e65c: 0x6c764c20, 0x2e65d: 0x6c542a20, 0x2e65e: 0x6c542c20, 0x2e65f: 0x6c542e20,\n\t0x2e660: 0x6c543020, 0x2e661: 0x6c543220, 0x2e662: 0x6c543420, 0x2e663: 0x6c543620,\n\t0x2e664: 0x6c543820, 0x2e665: 0x6c543a20, 0x2e666: 0x6c543c20, 0x2e667: 0x6c543e20,\n\t0x2e668: 0x6c544020, 0x2e669: 0x6c544220, 0x2e66a: 0x6c544420, 0x2e66b: 0x6c544620,\n\t0x2e66c: 0x6c544820, 0x2e66d: 0x6c544a20, 0x2e66e: 0x6c544c20, 0x2e66f: 0x6c764e20,\n\t0x2e670: 0x6c399020, 0x2e671: 0x6c544e20, 0x2e672: 0x6c545020, 0x2e673: 0x6c545220,\n\t0x2e674: 0x6c545420, 0x2e675: 0x6c545620, 0x2e676: 0x6c545820, 0x2e677: 0x6c545a20,\n\t0x2e678: 0x6c545c20, 0x2e679: 0x6c545e20, 0x2e67a: 0x6c546020, 0x2e67b: 0x6c546220,\n\t0x2e67c: 0x6c546420, 0x2e67d: 0x6c546620, 0x2e67e: 0x6c546820, 0x2e67f: 0x6c546a20,\n\t// Block 0xb9a, offset 0x2e680\n\t0x2e680: 0x6c546c20, 0x2e681: 0x6c546e20, 0x2e682: 0x6c547020, 0x2e683: 0x6c547220,\n\t0x2e684: 0x6c547420, 0x2e685: 0x6c547620, 0x2e686: 0x6c765020, 0x2e687: 0x6c547820,\n\t0x2e688: 0x6c547a20, 0x2e689: 0x6c547c20, 0x2e68a: 0x6c547e20, 0x2e68b: 0x6c548020,\n\t0x2e68c: 0x6c548220, 0x2e68d: 0x6c548420, 0x2e68e: 0x6c548620, 0x2e68f: 0x6c548820,\n\t0x2e690: 0x6c548a20, 0x2e691: 0x6c548c20, 0x2e692: 0x6c548e20, 0x2e693: 0x6c549020,\n\t0x2e694: 0x6c549220, 0x2e695: 0x6c549420, 0x2e696: 0x6c767420, 0x2e697: 0x6c767620,\n\t0x2e698: 0x6c767820, 0x2e699: 0x6c767a20, 0x2e69a: 0x6c767c20, 0x2e69b: 0x6c767e20,\n\t0x2e69c: 0x6c768020, 0x2e69d: 0x6c768220, 0x2e69e: 0x6c768420, 0x2e69f: 0x6c768620,\n\t0x2e6a0: 0x6c768820, 0x2e6a1: 0x6c768a20, 0x2e6a2: 0x6c768c20, 0x2e6a3: 0x6c768e20,\n\t0x2e6a4: 0x6c769020, 0x2e6a5: 0x6c769220, 0x2e6a6: 0x6c769420, 0x2e6a7: 0x6c769620,\n\t0x2e6a8: 0x6c769820, 0x2e6a9: 0x6c769a20, 0x2e6aa: 0x6c769c20, 0x2e6ab: 0x6c769e20,\n\t0x2e6ac: 0x6c76a020, 0x2e6ad: 0x6c76a220, 0x2e6ae: 0x6c76a420, 0x2e6af: 0x6c76a620,\n\t0x2e6b0: 0x6c76a820, 0x2e6b1: 0x6c76aa20, 0x2e6b2: 0x6c76ac20, 0x2e6b3: 0x6c76ae20,\n\t0x2e6b4: 0x6c76b020, 0x2e6b5: 0x6c76b220, 0x2e6b6: 0x6c76b420, 0x2e6b7: 0x6c76b620,\n\t0x2e6b8: 0x6c76b820, 0x2e6b9: 0x6c76ba20, 0x2e6ba: 0x6c76bc20, 0x2e6bb: 0x6c76be20,\n\t0x2e6bc: 0x6c76c020, 0x2e6bd: 0x6c76c220, 0x2e6be: 0x6c76c420, 0x2e6bf: 0x6c76c620,\n\t// Block 0xb9b, offset 0x2e6c0\n\t0x2e6c0: 0x6c76c820, 0x2e6c1: 0x6c76ca20, 0x2e6c2: 0x6c76cc20, 0x2e6c3: 0x6c76ce20,\n\t0x2e6c4: 0x6c76d020, 0x2e6c5: 0x6c76d220, 0x2e6c6: 0x6c76d420, 0x2e6c7: 0x6c76d620,\n\t0x2e6c8: 0x6c76d820, 0x2e6c9: 0x6c76da20, 0x2e6ca: 0x6c76dc20, 0x2e6cb: 0x6c76de20,\n\t0x2e6cc: 0x6c76e020, 0x2e6cd: 0x6c76e220, 0x2e6ce: 0x6c9eae20, 0x2e6cf: 0x6c76e420,\n\t0x2e6d0: 0x6c76e620, 0x2e6d1: 0x6c76e820, 0x2e6d2: 0x6c76ea20, 0x2e6d3: 0x6c76ec20,\n\t0x2e6d4: 0x6c76ee20, 0x2e6d5: 0x6c76f020, 0x2e6d6: 0x6c76f220, 0x2e6d7: 0x6c76f420,\n\t0x2e6d8: 0x6c76f620, 0x2e6d9: 0x6c9ee020, 0x2e6da: 0x6c76f820, 0x2e6db: 0x6c76fa20,\n\t0x2e6dc: 0x6c76fc20, 0x2e6dd: 0x6c76fe20, 0x2e6de: 0x6c770020, 0x2e6df: 0x6c770220,\n\t0x2e6e0: 0x6c770420, 0x2e6e1: 0x6c770620, 0x2e6e2: 0x6c770820, 0x2e6e3: 0x6c770a20,\n\t0x2e6e4: 0x6c770c20, 0x2e6e5: 0x6c770e20, 0x2e6e6: 0x6c771020, 0x2e6e7: 0x6c771220,\n\t0x2e6e8: 0x6c771420, 0x2e6e9: 0x6c771620, 0x2e6ea: 0x6c9ee220, 0x2e6eb: 0x6c9ee420,\n\t0x2e6ec: 0x6c9ee620, 0x2e6ed: 0x6c9ee820, 0x2e6ee: 0x6c9eea20, 0x2e6ef: 0x6c9eec20,\n\t0x2e6f0: 0x6c9eee20, 0x2e6f1: 0x6c9ef020, 0x2e6f2: 0x6c9ef220, 0x2e6f3: 0x6c9ef420,\n\t0x2e6f4: 0x6c9ef620, 0x2e6f5: 0x6c9ef820, 0x2e6f6: 0x6c9efa20, 0x2e6f7: 0x6c9efc20,\n\t0x2e6f8: 0x6c9efe20, 0x2e6f9: 0x6c9f0020, 0x2e6fa: 0x6c9f0220, 0x2e6fb: 0x6c9f0420,\n\t0x2e6fc: 0x6c9f0620, 0x2e6fd: 0x6c9f0820, 0x2e6fe: 0x6c9f0a20, 0x2e6ff: 0x6c9f0c20,\n\t// Block 0xb9c, offset 0x2e700\n\t0x2e700: 0x6c9f0e20, 0x2e701: 0x6c9f1020, 0x2e702: 0x6c9f1220, 0x2e703: 0x6c9f1420,\n\t0x2e704: 0x6c9f1620, 0x2e705: 0x6c9f1820, 0x2e706: 0x6c9f1a20, 0x2e707: 0x6c9f1c20,\n\t0x2e708: 0x6c9f1e20, 0x2e709: 0x6c9f2020, 0x2e70a: 0x6c9f2220, 0x2e70b: 0x6c9f2420,\n\t0x2e70c: 0x6c9f2620, 0x2e70d: 0x6c9f2820, 0x2e70e: 0x6c9f2a20, 0x2e70f: 0x6c9f2c20,\n\t0x2e710: 0x6c9f2e20, 0x2e711: 0x6c9f3020, 0x2e712: 0x6c9f3220, 0x2e713: 0x6c9f3420,\n\t0x2e714: 0x6c9f3620, 0x2e715: 0x6c9f3820, 0x2e716: 0x6c9f3a20, 0x2e717: 0x6c9f3c20,\n\t0x2e718: 0x6c9f3e20, 0x2e719: 0x6c9f4020, 0x2e71a: 0x6c9f4220, 0x2e71b: 0x6c9f4420,\n\t0x2e71c: 0x6c9f4620, 0x2e71d: 0x6c9f4820, 0x2e71e: 0x6c9f4a20, 0x2e71f: 0x6c9f4c20,\n\t0x2e720: 0x6c9f4e20, 0x2e721: 0x6c9f5020, 0x2e722: 0x6c9f5220, 0x2e723: 0x6c9f5420,\n\t0x2e724: 0x6c9f5620, 0x2e725: 0x6c9f5820, 0x2e726: 0x6c9f5a20, 0x2e727: 0x6c9f5c20,\n\t0x2e728: 0x6c9f5e20, 0x2e729: 0x6c9f6020, 0x2e72a: 0x6c9f6220, 0x2e72b: 0x6c9f6420,\n\t0x2e72c: 0x6c9f6620, 0x2e72d: 0x6c9f6820, 0x2e72e: 0x6c9f6a20, 0x2e72f: 0x6c9f6c20,\n\t0x2e730: 0x6c9f6e20, 0x2e731: 0x6c9f7020, 0x2e732: 0x6c9f7220, 0x2e733: 0x6c9f7420,\n\t0x2e734: 0x6c9f7620, 0x2e735: 0x6c9f7820, 0x2e736: 0x6c9f7a20, 0x2e737: 0x6c9f7c20,\n\t0x2e738: 0x6c9f7e20, 0x2e739: 0x6c9f8020, 0x2e73a: 0x6c9f8220, 0x2e73b: 0x6c9f8420,\n\t0x2e73c: 0x6ccbdc20, 0x2e73d: 0x6c9f8620, 0x2e73e: 0x6ccbde20, 0x2e73f: 0x6c9f8820,\n\t// Block 0xb9d, offset 0x2e740\n\t0x2e740: 0x6c9f8a20, 0x2e741: 0x6c9f8c20, 0x2e742: 0x6c9f8e20, 0x2e743: 0x6ccc0c20,\n\t0x2e744: 0x6c9f9020, 0x2e745: 0x6c9f9220, 0x2e746: 0x6c9f9420, 0x2e747: 0x6c9f9620,\n\t0x2e748: 0x6c9f9820, 0x2e749: 0x6c9f9a20, 0x2e74a: 0x6c9f9c20, 0x2e74b: 0x6c9f9e20,\n\t0x2e74c: 0x6c9fa020, 0x2e74d: 0x6c9fa220, 0x2e74e: 0x6c9fa420, 0x2e74f: 0x6c9fa620,\n\t0x2e750: 0x6c9fa820, 0x2e751: 0x6c9faa20, 0x2e752: 0x6c9fac20, 0x2e753: 0x6c9fae20,\n\t0x2e754: 0x6c9fb020, 0x2e755: 0x6c9fb220, 0x2e756: 0x6c9fb420, 0x2e757: 0x6c9fb620,\n\t0x2e758: 0x6ccc0e20, 0x2e759: 0x6ccc1020, 0x2e75a: 0x6c9fb820, 0x2e75b: 0x6ccc1220,\n\t0x2e75c: 0x6ccc1420, 0x2e75d: 0x6ccc1620, 0x2e75e: 0x6ccc1820, 0x2e75f: 0x6ccc1a20,\n\t0x2e760: 0x6ccc1c20, 0x2e761: 0x6ccc1e20, 0x2e762: 0x6ccc2020, 0x2e763: 0x6ccc2220,\n\t0x2e764: 0x6ccc2420, 0x2e765: 0x6ccc2620, 0x2e766: 0x6ccc2820, 0x2e767: 0x6ccc2a20,\n\t0x2e768: 0x6ccc2c20, 0x2e769: 0x6ccc2e20, 0x2e76a: 0x6ccc3020, 0x2e76b: 0x6ccc3220,\n\t0x2e76c: 0x6ccc3420, 0x2e76d: 0x6ccc3620, 0x2e76e: 0x6ccc3820, 0x2e76f: 0x6ccc3a20,\n\t0x2e770: 0x6ccc3c20, 0x2e771: 0x6ccc3e20, 0x2e772: 0x6ccc4020, 0x2e773: 0x6ccc4220,\n\t0x2e774: 0x6ccc4420, 0x2e775: 0x6ccc4620, 0x2e776: 0x6ccc4820, 0x2e777: 0x6ccc4a20,\n\t0x2e778: 0x6ccc4c20, 0x2e779: 0x6ccc4e20, 0x2e77a: 0x6ccc5020, 0x2e77b: 0x6ccc5220,\n\t0x2e77c: 0x6ccc5420, 0x2e77d: 0x6ccc5620, 0x2e77e: 0x6ccc5820, 0x2e77f: 0x6ccc5a20,\n\t// Block 0xb9e, offset 0x2e780\n\t0x2e780: 0x6ccc5c20, 0x2e781: 0x6ccc5e20, 0x2e782: 0x6ccc6020, 0x2e783: 0x6ccc6220,\n\t0x2e784: 0x6ccc6420, 0x2e785: 0x6ccc6620, 0x2e786: 0x6ccc6820, 0x2e787: 0x6ccc6a20,\n\t0x2e788: 0x6ccc6c20, 0x2e789: 0x6ccc6e20, 0x2e78a: 0x6ccc7020, 0x2e78b: 0x6ccc7220,\n\t0x2e78c: 0x6ccc7420, 0x2e78d: 0x6ccc7620, 0x2e78e: 0x6ccc7820, 0x2e78f: 0x6ccc7a20,\n\t0x2e790: 0x6ccc7c20, 0x2e791: 0x6ccc7e20, 0x2e792: 0x6ccc8020, 0x2e793: 0x6ccc8220,\n\t0x2e794: 0x6ccc8420, 0x2e795: 0x6ccc8620, 0x2e796: 0x6ccc8820, 0x2e797: 0x6ccc8a20,\n\t0x2e798: 0x6ccc8c20, 0x2e799: 0x6ccc8e20, 0x2e79a: 0x6ccc9020, 0x2e79b: 0x6ccc9220,\n\t0x2e79c: 0x6ccc9420, 0x2e79d: 0x6ccc9620, 0x2e79e: 0x6ccc9820, 0x2e79f: 0x6ccc9a20,\n\t0x2e7a0: 0x6ccc9c20, 0x2e7a1: 0x6ccc9e20, 0x2e7a2: 0x6ccca020, 0x2e7a3: 0x6ccca220,\n\t0x2e7a4: 0x6ccca420, 0x2e7a5: 0x6ccca620, 0x2e7a6: 0x6ccca820, 0x2e7a7: 0x6cccaa20,\n\t0x2e7a8: 0x6cccac20, 0x2e7a9: 0x6cccae20, 0x2e7aa: 0x6cccb020, 0x2e7ab: 0x6cccb220,\n\t0x2e7ac: 0x6cf9e220, 0x2e7ad: 0x6cccb420, 0x2e7ae: 0x6cccb620, 0x2e7af: 0x6cccb820,\n\t0x2e7b0: 0x6cccba20, 0x2e7b1: 0x6cccbc20, 0x2e7b2: 0x6cccbe20, 0x2e7b3: 0x6cccc020,\n\t0x2e7b4: 0x6c9fba20, 0x2e7b5: 0x6cccc220, 0x2e7b6: 0x6cccc420, 0x2e7b7: 0x6cccc620,\n\t0x2e7b8: 0x6cccc820, 0x2e7b9: 0x6cccca20, 0x2e7ba: 0x6ccccc20, 0x2e7bb: 0x6cccce20,\n\t0x2e7bc: 0x6cccd020, 0x2e7bd: 0x6cccd220, 0x2e7be: 0x6cccd420, 0x2e7bf: 0x6cccd620,\n\t// Block 0xb9f, offset 0x2e7c0\n\t0x2e7c0: 0x6cccd820, 0x2e7c1: 0x6cccda20, 0x2e7c2: 0x6cccdc20, 0x2e7c3: 0x6cccde20,\n\t0x2e7c4: 0x6ccce020, 0x2e7c5: 0x6ccce220, 0x2e7c6: 0x6ccce420, 0x2e7c7: 0x6ccce620,\n\t0x2e7c8: 0x6ccce820, 0x2e7c9: 0x6cccea20, 0x2e7ca: 0x6cccec20, 0x2e7cb: 0x6cccee20,\n\t0x2e7cc: 0x6cccf020, 0x2e7cd: 0x6cfa1220, 0x2e7ce: 0x6cfa1420, 0x2e7cf: 0x6cfa1620,\n\t0x2e7d0: 0x6cfa1820, 0x2e7d1: 0x6cfa1a20, 0x2e7d2: 0x6cfa1c20, 0x2e7d3: 0x6cfa1e20,\n\t0x2e7d4: 0x6cfa2020, 0x2e7d5: 0x6cfa2220, 0x2e7d6: 0x6cfa2420, 0x2e7d7: 0x6cfa2620,\n\t0x2e7d8: 0x6cfa2820, 0x2e7d9: 0x6cfa2a20, 0x2e7da: 0x6cfa2c20, 0x2e7db: 0x6cfa2e20,\n\t0x2e7dc: 0x6cfa3020, 0x2e7dd: 0x6cfa3220, 0x2e7de: 0x6cfa3420, 0x2e7df: 0x6cfa3620,\n\t0x2e7e0: 0x6cfa3820, 0x2e7e1: 0x6cfa3a20, 0x2e7e2: 0x6cfa3c20, 0x2e7e3: 0x6cfa3e20,\n\t0x2e7e4: 0x6cfa4020, 0x2e7e5: 0x6cfa4220, 0x2e7e6: 0x6cfa4420, 0x2e7e7: 0x6cfa4620,\n\t0x2e7e8: 0x6cfa4820, 0x2e7e9: 0x6cfa4a20, 0x2e7ea: 0x6cfa4c20, 0x2e7eb: 0x6cfa4e20,\n\t0x2e7ec: 0x6cfa5020, 0x2e7ed: 0x6cfa5220, 0x2e7ee: 0x6cfa5420, 0x2e7ef: 0x6cfa5620,\n\t0x2e7f0: 0x6cfa5820, 0x2e7f1: 0x6cfa5a20, 0x2e7f2: 0x6cfa5c20, 0x2e7f3: 0x6cfa5e20,\n\t0x2e7f4: 0x6cfa6020, 0x2e7f5: 0x6cfa6220, 0x2e7f6: 0x6cfa6420, 0x2e7f7: 0x6cfa6620,\n\t0x2e7f8: 0x6cfa6820, 0x2e7f9: 0x6cfa6a20, 0x2e7fa: 0x6cfa6c20, 0x2e7fb: 0x6cfa6e20,\n\t0x2e7fc: 0x6cfa7020, 0x2e7fd: 0x6cfa7220, 0x2e7fe: 0x6cfa7420, 0x2e7ff: 0x6cfa7620,\n\t// Block 0xba0, offset 0x2e800\n\t0x2e800: 0x6cfa7820, 0x2e801: 0x6cfa7a20, 0x2e802: 0x6cfa7c20, 0x2e803: 0x6cfa7e20,\n\t0x2e804: 0x6cfa8020, 0x2e805: 0x6cfa8220, 0x2e806: 0x6cfa8420, 0x2e807: 0x6cfa8620,\n\t0x2e808: 0x6cfa8820, 0x2e809: 0x6cfa8a20, 0x2e80a: 0x6cfa8c20, 0x2e80b: 0x6cccf220,\n\t0x2e80c: 0x6d291220, 0x2e80d: 0x6cfa8e20, 0x2e80e: 0x6d28f420, 0x2e80f: 0x6cfa9020,\n\t0x2e810: 0x6cfa9220, 0x2e811: 0x6cfa9420, 0x2e812: 0x6cfa9620, 0x2e813: 0x6cfa9820,\n\t0x2e814: 0x6cfa9a20, 0x2e815: 0x6d561820, 0x2e816: 0x6cfa9c20, 0x2e817: 0x6cfa9e20,\n\t0x2e818: 0x6cfaa020, 0x2e819: 0x6cfaa220, 0x2e81a: 0x6cfbd620, 0x2e81b: 0x6cfaa420,\n\t0x2e81c: 0x6cfaa620, 0x2e81d: 0x6cfaa820, 0x2e81e: 0x6cccf420, 0x2e81f: 0x6cfaaa20,\n\t0x2e820: 0x6cfaac20, 0x2e821: 0x6cfaae20, 0x2e822: 0x6cfab020, 0x2e823: 0x6cfab220,\n\t0x2e824: 0x6cfab420, 0x2e825: 0x6cfab620, 0x2e826: 0x6cfab820, 0x2e827: 0x6cfaba20,\n\t0x2e828: 0x6cfabc20, 0x2e829: 0x6cfabe20, 0x2e82a: 0x6cfac020, 0x2e82b: 0x6d291420,\n\t0x2e82c: 0x6d291620, 0x2e82d: 0x6d291820, 0x2e82e: 0x6d291a20, 0x2e82f: 0x6d291c20,\n\t0x2e830: 0x6d291e20, 0x2e831: 0x6d292020, 0x2e832: 0x6d292220, 0x2e833: 0x6d292420,\n\t0x2e834: 0x6d292620, 0x2e835: 0x6d292820, 0x2e836: 0x6d292a20, 0x2e837: 0x6d292c20,\n\t0x2e838: 0x6d292e20, 0x2e839: 0x6d293020, 0x2e83a: 0x6d293220, 0x2e83b: 0x6d293420,\n\t0x2e83c: 0x6d293620, 0x2e83d: 0x6d293820, 0x2e83e: 0x6d293a20, 0x2e83f: 0x6d293c20,\n\t// Block 0xba1, offset 0x2e840\n\t0x2e840: 0x6d561a20, 0x2e841: 0x6d293e20, 0x2e842: 0x6d294020, 0x2e843: 0x6d294220,\n\t0x2e844: 0x6d294420, 0x2e845: 0x6d294620, 0x2e846: 0x6d294820, 0x2e847: 0x6d294a20,\n\t0x2e848: 0x6d294c20, 0x2e849: 0x6d294e20, 0x2e84a: 0x6d295020, 0x2e84b: 0x6d564820,\n\t0x2e84c: 0x6d295220, 0x2e84d: 0x6d295420, 0x2e84e: 0x6d295620, 0x2e84f: 0x6d295820,\n\t0x2e850: 0x6d561c20, 0x2e851: 0x6d295a20, 0x2e852: 0x6d295c20, 0x2e853: 0x6cfac220,\n\t0x2e854: 0x6d295e20, 0x2e855: 0x6d296020, 0x2e856: 0x6d296220, 0x2e857: 0x6d296420,\n\t0x2e858: 0x6d296620, 0x2e859: 0x6d296820, 0x2e85a: 0x6d296a20, 0x2e85b: 0x6d296c20,\n\t0x2e85c: 0x6d296e20, 0x2e85d: 0x6d297020, 0x2e85e: 0x6d297220, 0x2e85f: 0x6d297420,\n\t0x2e860: 0x6d297620, 0x2e861: 0x6d297820, 0x2e862: 0x6d297a20, 0x2e863: 0x6d297c20,\n\t0x2e864: 0x6d297e20, 0x2e865: 0x6d298020, 0x2e866: 0x6d561e20, 0x2e867: 0x6d298220,\n\t0x2e868: 0x6d298420, 0x2e869: 0x6d298620, 0x2e86a: 0x6d298820, 0x2e86b: 0x6d298a20,\n\t0x2e86c: 0x6d298c20, 0x2e86d: 0x6d298e20, 0x2e86e: 0x6d299020, 0x2e86f: 0x6d299220,\n\t0x2e870: 0x6d299420, 0x2e871: 0x6d299620, 0x2e872: 0x6d299820, 0x2e873: 0x6d299a20,\n\t0x2e874: 0x6d299c20, 0x2e875: 0x6d299e20, 0x2e876: 0x6d29a020, 0x2e877: 0x6d29a220,\n\t0x2e878: 0x6d29a420, 0x2e879: 0x6d29a620, 0x2e87a: 0x6d29a820, 0x2e87b: 0x6d29aa20,\n\t0x2e87c: 0x6d29ac20, 0x2e87d: 0x6d564a20, 0x2e87e: 0x6d29ae20, 0x2e87f: 0x6d562020,\n\t// Block 0xba2, offset 0x2e880\n\t0x2e880: 0x6d29b020, 0x2e881: 0x6d562220, 0x2e882: 0x6d29b220, 0x2e883: 0x6d29b420,\n\t0x2e884: 0x6d29b620, 0x2e885: 0x6d29b820, 0x2e886: 0x6d29ba20, 0x2e887: 0x6d29bc20,\n\t0x2e888: 0x6d29be20, 0x2e889: 0x6d29c020, 0x2e88a: 0x6d29c220, 0x2e88b: 0x6d29c420,\n\t0x2e88c: 0x6d29c620, 0x2e88d: 0x6d29c820, 0x2e88e: 0x6d2aca20, 0x2e88f: 0x6d564c20,\n\t0x2e890: 0x6d564e20, 0x2e891: 0x6d565020, 0x2e892: 0x6d565220, 0x2e893: 0x6d565420,\n\t0x2e894: 0x6d565620, 0x2e895: 0x6d565820, 0x2e896: 0x6d565a20, 0x2e897: 0x6d565c20,\n\t0x2e898: 0x6d565e20, 0x2e899: 0x6d566020, 0x2e89a: 0x6d566220, 0x2e89b: 0x6d566420,\n\t0x2e89c: 0x6d566620, 0x2e89d: 0x6d566820, 0x2e89e: 0x6d819a20, 0x2e89f: 0x6d566a20,\n\t0x2e8a0: 0x6d566c20, 0x2e8a1: 0x6d566e20, 0x2e8a2: 0x6d567020, 0x2e8a3: 0x6d567220,\n\t0x2e8a4: 0x6d567420, 0x2e8a5: 0x6d567620, 0x2e8a6: 0x6d567820, 0x2e8a7: 0x6d567a20,\n\t0x2e8a8: 0x6d567c20, 0x2e8a9: 0x6d567e20, 0x2e8aa: 0x6d568020, 0x2e8ab: 0x6d568220,\n\t0x2e8ac: 0x6d568420, 0x2e8ad: 0x6d568620, 0x2e8ae: 0x6d568820, 0x2e8af: 0x6d568a20,\n\t0x2e8b0: 0x6d568c20, 0x2e8b1: 0x6d568e20, 0x2e8b2: 0x6d569020, 0x2e8b3: 0x6d2acc20,\n\t0x2e8b4: 0x6d569220, 0x2e8b5: 0x6d569420, 0x2e8b6: 0x6d569620, 0x2e8b7: 0x6d569820,\n\t0x2e8b8: 0x6d569a20, 0x2e8b9: 0x6d569c20, 0x2e8ba: 0x6d569e20, 0x2e8bb: 0x6d56a020,\n\t0x2e8bc: 0x6d56a220, 0x2e8bd: 0x6d56a420, 0x2e8be: 0x6d56a620, 0x2e8bf: 0x6d56a820,\n\t// Block 0xba3, offset 0x2e8c0\n\t0x2e8c0: 0x6da79820, 0x2e8c1: 0x6d56aa20, 0x2e8c2: 0x6d56ac20, 0x2e8c3: 0x6d819c20,\n\t0x2e8c4: 0x6d56ae20, 0x2e8c5: 0x6d56b020, 0x2e8c6: 0x6d56b220, 0x2e8c7: 0x6d56b420,\n\t0x2e8c8: 0x6d56b620, 0x2e8c9: 0x6d56b820, 0x2e8ca: 0x6d56ba20, 0x2e8cb: 0x6d56bc20,\n\t0x2e8cc: 0x6d56be20, 0x2e8cd: 0x6d56c020, 0x2e8ce: 0x6d56c220, 0x2e8cf: 0x6d56c420,\n\t0x2e8d0: 0x6d56c620, 0x2e8d1: 0x6d56c820, 0x2e8d2: 0x6d56ca20, 0x2e8d3: 0x6d56cc20,\n\t0x2e8d4: 0x6d56ce20, 0x2e8d5: 0x6d56d020, 0x2e8d6: 0x6d56d220, 0x2e8d7: 0x6d56d420,\n\t0x2e8d8: 0x6d56d620, 0x2e8d9: 0x6d81c020, 0x2e8da: 0x6d56d820, 0x2e8db: 0x6d56da20,\n\t0x2e8dc: 0x6d56dc20, 0x2e8dd: 0x6d56de20, 0x2e8de: 0x6d81c220, 0x2e8df: 0x6d81c420,\n\t0x2e8e0: 0x6d81c620, 0x2e8e1: 0x6d81c820, 0x2e8e2: 0x6d81ca20, 0x2e8e3: 0x6d81cc20,\n\t0x2e8e4: 0x6d81ce20, 0x2e8e5: 0x6d81d020, 0x2e8e6: 0x6d81d220, 0x2e8e7: 0x6d81d420,\n\t0x2e8e8: 0x6d81d620, 0x2e8e9: 0x6da77820, 0x2e8ea: 0x6d81d820, 0x2e8eb: 0x6d81da20,\n\t0x2e8ec: 0x6d81dc20, 0x2e8ed: 0x6d81de20, 0x2e8ee: 0x6d81e020, 0x2e8ef: 0x6d81e220,\n\t0x2e8f0: 0x6d81e420, 0x2e8f1: 0x6d81e620, 0x2e8f2: 0x6d81e820, 0x2e8f3: 0x6d81ea20,\n\t0x2e8f4: 0x6d81ec20, 0x2e8f5: 0x6d81ee20, 0x2e8f6: 0x6d81f020, 0x2e8f7: 0x6d81f220,\n\t0x2e8f8: 0x6d81f420, 0x2e8f9: 0x6d81f620, 0x2e8fa: 0x6d81f820, 0x2e8fb: 0x6d81fa20,\n\t0x2e8fc: 0x6d81fc20, 0x2e8fd: 0x6d81fe20, 0x2e8fe: 0x6d820020, 0x2e8ff: 0x6d820220,\n\t// Block 0xba4, offset 0x2e900\n\t0x2e900: 0x6d820420, 0x2e901: 0x6d820620, 0x2e902: 0x6d820820, 0x2e903: 0x6d820a20,\n\t0x2e904: 0x6d820c20, 0x2e905: 0x6d820e20, 0x2e906: 0x6d580a20, 0x2e907: 0x6d821020,\n\t0x2e908: 0x6d821220, 0x2e909: 0x6d821420, 0x2e90a: 0x6d821620, 0x2e90b: 0x6d821820,\n\t0x2e90c: 0x6da77a20, 0x2e90d: 0x6d821a20, 0x2e90e: 0x6d821c20, 0x2e90f: 0x6d821e20,\n\t0x2e910: 0x6d56e020, 0x2e911: 0x6d822020, 0x2e912: 0x6d822220, 0x2e913: 0x6d822420,\n\t0x2e914: 0x6da79a20, 0x2e915: 0x6da79c20, 0x2e916: 0x6d822620, 0x2e917: 0x6da79e20,\n\t0x2e918: 0x6da7a020, 0x2e919: 0x6da7a220, 0x2e91a: 0x6da7a420, 0x2e91b: 0x6da7a620,\n\t0x2e91c: 0x6da7a820, 0x2e91d: 0x6da7aa20, 0x2e91e: 0x6da7ac20, 0x2e91f: 0x6da7ae20,\n\t0x2e920: 0x6da7b020, 0x2e921: 0x6da7b220, 0x2e922: 0x6da7b420, 0x2e923: 0x6da7b620,\n\t0x2e924: 0x6da7b820, 0x2e925: 0x6da7ba20, 0x2e926: 0x6da7bc20, 0x2e927: 0x6da7be20,\n\t0x2e928: 0x6da7c020, 0x2e929: 0x6da7c220, 0x2e92a: 0x6da7c420, 0x2e92b: 0x6da7c620,\n\t0x2e92c: 0x6da7c820, 0x2e92d: 0x6da7ca20, 0x2e92e: 0x6da7cc20, 0x2e92f: 0x6da7ce20,\n\t0x2e930: 0x6da7d020, 0x2e931: 0x6da7d220, 0x2e932: 0x6da7d420, 0x2e933: 0x6de4c220,\n\t0x2e934: 0x6da7d620, 0x2e935: 0x6da7d820, 0x2e936: 0x6da7da20, 0x2e937: 0x6dc8c220,\n\t0x2e938: 0x6da7dc20, 0x2e939: 0x6dc8d220, 0x2e93a: 0x6dc8d420, 0x2e93b: 0x6dc8d620,\n\t0x2e93c: 0x6dc8d820, 0x2e93d: 0x6dc8da20, 0x2e93e: 0x6dc8dc20, 0x2e93f: 0x6dc8de20,\n\t// Block 0xba5, offset 0x2e940\n\t0x2e940: 0x6dc8e020, 0x2e941: 0x6dc8e220, 0x2e942: 0x6dc8e420, 0x2e943: 0x6dc8e620,\n\t0x2e944: 0x6d82fc20, 0x2e945: 0x6dc8e820, 0x2e946: 0x6dc8ea20, 0x2e947: 0x6dc8ec20,\n\t0x2e948: 0x6dc8ee20, 0x2e949: 0x6dc8f020, 0x2e94a: 0x6dc8f220, 0x2e94b: 0x6dc8f420,\n\t0x2e94c: 0x6dc8f620, 0x2e94d: 0x6dc8f820, 0x2e94e: 0x6dc8fa20, 0x2e94f: 0x6dc8fc20,\n\t0x2e950: 0x6dc8fe20, 0x2e951: 0x6dc90020, 0x2e952: 0x6dc90220, 0x2e953: 0x6dc90420,\n\t0x2e954: 0x6dc90620, 0x2e955: 0x6de4c420, 0x2e956: 0x6de4c620, 0x2e957: 0x6de4c820,\n\t0x2e958: 0x6de4ca20, 0x2e959: 0x6de4cc20, 0x2e95a: 0x6de4ce20, 0x2e95b: 0x6de4d020,\n\t0x2e95c: 0x6de4d220, 0x2e95d: 0x6de4d420, 0x2e95e: 0x6de4d620, 0x2e95f: 0x6de4d820,\n\t0x2e960: 0x6de4da20, 0x2e961: 0x6de4dc20, 0x2e962: 0x6de4de20, 0x2e963: 0x6de4e020,\n\t0x2e964: 0x6de4e220, 0x2e965: 0x6de4e420, 0x2e966: 0x6dc9b820, 0x2e967: 0x6de4e620,\n\t0x2e968: 0x6de4e820, 0x2e969: 0x6de4ea20, 0x2e96a: 0x6dfbc220, 0x2e96b: 0x6de4ec20,\n\t0x2e96c: 0x6de4ee20, 0x2e96d: 0x6de4f020, 0x2e96e: 0x6de4f220, 0x2e96f: 0x6dfbd020,\n\t0x2e970: 0x6dfbd220, 0x2e971: 0x6dfbd420, 0x2e972: 0x6dfbd620, 0x2e973: 0x6dfbd820,\n\t0x2e974: 0x6dfbda20, 0x2e975: 0x6dfbdc20, 0x2e976: 0x6dfbde20, 0x2e977: 0x6dfbe020,\n\t0x2e978: 0x6dfbe220, 0x2e979: 0x6dfbe420, 0x2e97a: 0x6dfbe620, 0x2e97b: 0x6dfbe820,\n\t0x2e97c: 0x6dfbea20, 0x2e97d: 0x6dfbec20, 0x2e97e: 0x6dfbee20, 0x2e97f: 0x6dfbf020,\n\t// Block 0xba6, offset 0x2e980\n\t0x2e980: 0x6dfbf220, 0x2e981: 0x6dfbf420, 0x2e982: 0x6dfc4820, 0x2e983: 0x6e0f0620,\n\t0x2e984: 0x6e0f0820, 0x2e985: 0x6e0f0a20, 0x2e986: 0x6e0f0c20, 0x2e987: 0x6e0f0e20,\n\t0x2e988: 0x6e0f1020, 0x2e989: 0x6e0f1220, 0x2e98a: 0x6e0f1420, 0x2e98b: 0x6e0f1620,\n\t0x2e98c: 0x6e0f1820, 0x2e98d: 0x6e0f1a20, 0x2e98e: 0x6e3d5220, 0x2e98f: 0x6e0f1c20,\n\t0x2e990: 0x6e0f1e20, 0x2e991: 0x6e1e3420, 0x2e992: 0x6e1e3620, 0x2e993: 0x6e299620,\n\t0x2e994: 0x6e1e3820, 0x2e995: 0x6e1e3a20, 0x2e996: 0x6e1e3c20, 0x2e997: 0x6e1e3e20,\n\t0x2e998: 0x6e1e4020, 0x2e999: 0x6e299e20, 0x2e99a: 0x6e29a020, 0x2e99b: 0x6e29a220,\n\t0x2e99c: 0x6e29a420, 0x2e99d: 0x6e32a220, 0x2e99e: 0x6e32a420, 0x2e99f: 0x6e32a620,\n\t0x2e9a0: 0x6e32a820, 0x2e9a1: 0x6e32aa20, 0x2e9a2: 0x6e38e020, 0x2e9a3: 0x6e38e220,\n\t0x2e9a4: 0x6e3d5420, 0x2e9a5: 0x6e405c20, 0x2e9a6: 0x6e3d5620, 0x2e9a7: 0x6e405e20,\n\t0x2e9a8: 0x6e406020, 0x2e9a9: 0x6e45c420, 0x2e9aa: 0x6e463020, 0x2e9ab: 0x6c04d020,\n\t0x2e9ac: 0x6c04d220, 0x2e9ad: 0x6c09ca20, 0x2e9ae: 0x6c135a20, 0x2e9af: 0x6c135c20,\n\t0x2e9b0: 0x6c135e20, 0x2e9b1: 0x6c136020, 0x2e9b2: 0x6c136220, 0x2e9b3: 0x6c136420,\n\t0x2e9b4: 0x6c239020, 0x2e9b5: 0x6c239220, 0x2e9b6: 0x6c239420, 0x2e9b7: 0x6c239620,\n\t0x2e9b8: 0x6c239820, 0x2e9b9: 0x6c239a20, 0x2e9ba: 0x6c239c20, 0x2e9bb: 0x6c239e20,\n\t0x2e9bc: 0x6c23a020, 0x2e9bd: 0x6c23a220, 0x2e9be: 0x6c23a420, 0x2e9bf: 0x6c23a620,\n\t// Block 0xba7, offset 0x2e9c0\n\t0x2e9c0: 0x6c23a820, 0x2e9c1: 0x6c399e20, 0x2e9c2: 0x6c39a020, 0x2e9c3: 0x6c39a220,\n\t0x2e9c4: 0x6c39a420, 0x2e9c5: 0x6c39a620, 0x2e9c6: 0x6c39a820, 0x2e9c7: 0x6c399220,\n\t0x2e9c8: 0x6c39aa20, 0x2e9c9: 0x6c39ac20, 0x2e9ca: 0x6c39ae20, 0x2e9cb: 0x6c39b020,\n\t0x2e9cc: 0x6c39b220, 0x2e9cd: 0x6c39b420, 0x2e9ce: 0x6c39b620, 0x2e9cf: 0x6c39b820,\n\t0x2e9d0: 0x6c39ba20, 0x2e9d1: 0x6c39bc20, 0x2e9d2: 0x6c39be20, 0x2e9d3: 0x6c39c020,\n\t0x2e9d4: 0x6c39c220, 0x2e9d5: 0x6c39c420, 0x2e9d6: 0x6c39c620, 0x2e9d7: 0x6c39c820,\n\t0x2e9d8: 0x6c39ca20, 0x2e9d9: 0x6c39cc20, 0x2e9da: 0x6c39ce20, 0x2e9db: 0x6c39d020,\n\t0x2e9dc: 0x6c39d220, 0x2e9dd: 0x6c39d420, 0x2e9de: 0x6c39d620, 0x2e9df: 0x6c552820,\n\t0x2e9e0: 0x6c552a20, 0x2e9e1: 0x6c552c20, 0x2e9e2: 0x6c552e20, 0x2e9e3: 0x6c553020,\n\t0x2e9e4: 0x6c553220, 0x2e9e5: 0x6c553420, 0x2e9e6: 0x6c553620, 0x2e9e7: 0x6c553820,\n\t0x2e9e8: 0x6c553a20, 0x2e9e9: 0x6c553c20, 0x2e9ea: 0x6c553e20, 0x2e9eb: 0x6c554020,\n\t0x2e9ec: 0x6c554220, 0x2e9ed: 0x6c554420, 0x2e9ee: 0x6c554620, 0x2e9ef: 0x6c554820,\n\t0x2e9f0: 0x6c554a20, 0x2e9f1: 0x6c554c20, 0x2e9f2: 0x6c554e20, 0x2e9f3: 0x6c555020,\n\t0x2e9f4: 0x6c555220, 0x2e9f5: 0x6c555420, 0x2e9f6: 0x6c555620, 0x2e9f7: 0x6c555820,\n\t0x2e9f8: 0x6c555a20, 0x2e9f9: 0x6c555c20, 0x2e9fa: 0x6c555e20, 0x2e9fb: 0x6c556020,\n\t0x2e9fc: 0x6c556220, 0x2e9fd: 0x6c556420, 0x2e9fe: 0x6c556620, 0x2e9ff: 0x6c556820,\n\t// Block 0xba8, offset 0x2ea00\n\t0x2ea00: 0x6c556a20, 0x2ea01: 0x6c556c20, 0x2ea02: 0x6c556e20, 0x2ea03: 0x6c557020,\n\t0x2ea04: 0x6c77f620, 0x2ea05: 0x6c77f820, 0x2ea06: 0x6c77fa20, 0x2ea07: 0x6c77fc20,\n\t0x2ea08: 0x6c77fe20, 0x2ea09: 0x6c780020, 0x2ea0a: 0x6c780220, 0x2ea0b: 0x6c780420,\n\t0x2ea0c: 0x6c780620, 0x2ea0d: 0x6c780820, 0x2ea0e: 0x6c780a20, 0x2ea0f: 0x6c780c20,\n\t0x2ea10: 0x6c780e20, 0x2ea11: 0x6c781020, 0x2ea12: 0x6c781220, 0x2ea13: 0x6c781420,\n\t0x2ea14: 0x6c781620, 0x2ea15: 0x6c781820, 0x2ea16: 0x6c781a20, 0x2ea17: 0x6c781c20,\n\t0x2ea18: 0x6c781e20, 0x2ea19: 0x6c782020, 0x2ea1a: 0x6c782220, 0x2ea1b: 0x6c782420,\n\t0x2ea1c: 0x6c782620, 0x2ea1d: 0x6c782820, 0x2ea1e: 0x6c782a20, 0x2ea1f: 0x6c782c20,\n\t0x2ea20: 0x6c782e20, 0x2ea21: 0x6c783020, 0x2ea22: 0x6c783220, 0x2ea23: 0x6c783420,\n\t0x2ea24: 0x6c783620, 0x2ea25: 0x6c783820, 0x2ea26: 0x6c783a20, 0x2ea27: 0x6c783c20,\n\t0x2ea28: 0x6c783e20, 0x2ea29: 0x6c784020, 0x2ea2a: 0x6c784220, 0x2ea2b: 0x6c784420,\n\t0x2ea2c: 0x6c784620, 0x2ea2d: 0x6c784820, 0x2ea2e: 0x6c784a20, 0x2ea2f: 0x6ca0f020,\n\t0x2ea30: 0x6ca0f220, 0x2ea31: 0x6ca0f420, 0x2ea32: 0x6ca0f620, 0x2ea33: 0x6ca0f820,\n\t0x2ea34: 0x6ca0fa20, 0x2ea35: 0x6ca0fc20, 0x2ea36: 0x6ca0fe20, 0x2ea37: 0x6ca10020,\n\t0x2ea38: 0x6ca10220, 0x2ea39: 0x6ca10420, 0x2ea3a: 0x6ca10620, 0x2ea3b: 0x6ccddc20,\n\t0x2ea3c: 0x6ca10820, 0x2ea3d: 0x6ca10a20, 0x2ea3e: 0x6ca10c20, 0x2ea3f: 0x6ca10e20,\n\t// Block 0xba9, offset 0x2ea40\n\t0x2ea40: 0x6ca11020, 0x2ea41: 0x6ca11220, 0x2ea42: 0x6ca11420, 0x2ea43: 0x6ca11620,\n\t0x2ea44: 0x6ca11820, 0x2ea45: 0x6ca11a20, 0x2ea46: 0x6ca11c20, 0x2ea47: 0x6ca11e20,\n\t0x2ea48: 0x6ca12020, 0x2ea49: 0x6ca12220, 0x2ea4a: 0x6ca12420, 0x2ea4b: 0x6ca12620,\n\t0x2ea4c: 0x6ca12820, 0x2ea4d: 0x6ca12a20, 0x2ea4e: 0x6ca12c20, 0x2ea4f: 0x6ca12e20,\n\t0x2ea50: 0x6ca13020, 0x2ea51: 0x6ca13220, 0x2ea52: 0x6ca13420, 0x2ea53: 0x6ca13620,\n\t0x2ea54: 0x6ca1cc20, 0x2ea55: 0x6ca13820, 0x2ea56: 0x6ca13a20, 0x2ea57: 0x6ca13c20,\n\t0x2ea58: 0x6ca13e20, 0x2ea59: 0x6ccdf620, 0x2ea5a: 0x6ccdf820, 0x2ea5b: 0x6ccdfa20,\n\t0x2ea5c: 0x6ccdfc20, 0x2ea5d: 0x6ccdfe20, 0x2ea5e: 0x6cce0020, 0x2ea5f: 0x6cce0220,\n\t0x2ea60: 0x6cce0420, 0x2ea61: 0x6cce0620, 0x2ea62: 0x6cce0820, 0x2ea63: 0x6cce0a20,\n\t0x2ea64: 0x6cce0c20, 0x2ea65: 0x6cce0e20, 0x2ea66: 0x6cce1020, 0x2ea67: 0x6cce1220,\n\t0x2ea68: 0x6cce1420, 0x2ea69: 0x6cce1620, 0x2ea6a: 0x6cce1820, 0x2ea6b: 0x6cce1a20,\n\t0x2ea6c: 0x6cce1c20, 0x2ea6d: 0x6cce1e20, 0x2ea6e: 0x6cce2020, 0x2ea6f: 0x6cce2220,\n\t0x2ea70: 0x6cce2420, 0x2ea71: 0x6cce2620, 0x2ea72: 0x6cce2820, 0x2ea73: 0x6cce2a20,\n\t0x2ea74: 0x6cce2c20, 0x2ea75: 0x6cce2e20, 0x2ea76: 0x6cce3020, 0x2ea77: 0x6cce3220,\n\t0x2ea78: 0x6cce3420, 0x2ea79: 0x6cce3620, 0x2ea7a: 0x6cce3820, 0x2ea7b: 0x6cce3a20,\n\t0x2ea7c: 0x6cce3c20, 0x2ea7d: 0x6cce3e20, 0x2ea7e: 0x6cce4020, 0x2ea7f: 0x6cce4220,\n\t// Block 0xbaa, offset 0x2ea80\n\t0x2ea80: 0x6cce4420, 0x2ea81: 0x6cfbfc20, 0x2ea82: 0x6cfbfe20, 0x2ea83: 0x6cfc0020,\n\t0x2ea84: 0x6cfc0220, 0x2ea85: 0x6cfc0420, 0x2ea86: 0x6cfc0620, 0x2ea87: 0x6cfc0820,\n\t0x2ea88: 0x6cfc0a20, 0x2ea89: 0x6cfc0c20, 0x2ea8a: 0x6cfc0e20, 0x2ea8b: 0x6cfc1020,\n\t0x2ea8c: 0x6cfc1220, 0x2ea8d: 0x6cfc1420, 0x2ea8e: 0x6cfc1620, 0x2ea8f: 0x6cfc1820,\n\t0x2ea90: 0x6cfc1a20, 0x2ea91: 0x6cfc1c20, 0x2ea92: 0x6cfc1e20, 0x2ea93: 0x6cfc2020,\n\t0x2ea94: 0x6cfc2220, 0x2ea95: 0x6d2ace20, 0x2ea96: 0x6cfc2420, 0x2ea97: 0x6cfc2620,\n\t0x2ea98: 0x6cfc2820, 0x2ea99: 0x6cfc2a20, 0x2ea9a: 0x6cfc2c20, 0x2ea9b: 0x6d2ad020,\n\t0x2ea9c: 0x6cfc2e20, 0x2ea9d: 0x6cfc3020, 0x2ea9e: 0x6cfc3220, 0x2ea9f: 0x6cfc3420,\n\t0x2eaa0: 0x6cfc3620, 0x2eaa1: 0x6cfc3820, 0x2eaa2: 0x6cfc3a20, 0x2eaa3: 0x6cfc3c20,\n\t0x2eaa4: 0x6cfc3e20, 0x2eaa5: 0x6cfc4020, 0x2eaa6: 0x6cfc4220, 0x2eaa7: 0x6cfc4420,\n\t0x2eaa8: 0x6cfc4620, 0x2eaa9: 0x6cfc4820, 0x2eaaa: 0x6cfc4a20, 0x2eaab: 0x6cfc4c20,\n\t0x2eaac: 0x6cfc4e20, 0x2eaad: 0x6cfc5020, 0x2eaae: 0x6cce4620, 0x2eaaf: 0x6cfc5220,\n\t0x2eab0: 0x6cfc5420, 0x2eab1: 0x6cfc5620, 0x2eab2: 0x6cfc5820, 0x2eab3: 0x6cfc5a20,\n\t0x2eab4: 0x6cfc5c20, 0x2eab5: 0x6cfc5e20, 0x2eab6: 0x6cfc6020, 0x2eab7: 0x6cfc6220,\n\t0x2eab8: 0x6cfc6420, 0x2eab9: 0x6d2aea20, 0x2eaba: 0x6cfc6620, 0x2eabb: 0x6d2aec20,\n\t0x2eabc: 0x6d2aee20, 0x2eabd: 0x6d2af020, 0x2eabe: 0x6d2af220, 0x2eabf: 0x6d2af420,\n\t// Block 0xbab, offset 0x2eac0\n\t0x2eac0: 0x6d2af620, 0x2eac1: 0x6d2af820, 0x2eac2: 0x6d2afa20, 0x2eac3: 0x6d2afc20,\n\t0x2eac4: 0x6d2afe20, 0x2eac5: 0x6d2b0020, 0x2eac6: 0x6d2b0220, 0x2eac7: 0x6d2b0420,\n\t0x2eac8: 0x6d2b0620, 0x2eac9: 0x6d2b0820, 0x2eaca: 0x6d2b0a20, 0x2eacb: 0x6d2b0c20,\n\t0x2eacc: 0x6d2b0e20, 0x2eacd: 0x6d2b1020, 0x2eace: 0x6d2b1220, 0x2eacf: 0x6d2b1420,\n\t0x2ead0: 0x6d2b1620, 0x2ead1: 0x6d2b1820, 0x2ead2: 0x6d2b1a20, 0x2ead3: 0x6d2b1c20,\n\t0x2ead4: 0x6d2b1e20, 0x2ead5: 0x6d2b2020, 0x2ead6: 0x6d2b2220, 0x2ead7: 0x6d2b2420,\n\t0x2ead8: 0x6d2b2620, 0x2ead9: 0x6d2b2820, 0x2eada: 0x6d581e20, 0x2eadb: 0x6d582020,\n\t0x2eadc: 0x6d582220, 0x2eadd: 0x6d582420, 0x2eade: 0x6d582620, 0x2eadf: 0x6d582820,\n\t0x2eae0: 0x6d582a20, 0x2eae1: 0x6d582c20, 0x2eae2: 0x6d582e20, 0x2eae3: 0x6d583020,\n\t0x2eae4: 0x6d583220, 0x2eae5: 0x6d583420, 0x2eae6: 0x6d580c20, 0x2eae7: 0x6d583620,\n\t0x2eae8: 0x6d583820, 0x2eae9: 0x6d583a20, 0x2eaea: 0x6d583c20, 0x2eaeb: 0x6d583e20,\n\t0x2eaec: 0x6d584020, 0x2eaed: 0x6d584220, 0x2eaee: 0x6d584420, 0x2eaef: 0x6d584620,\n\t0x2eaf0: 0x6d584820, 0x2eaf1: 0x6d584a20, 0x2eaf2: 0x6d584c20, 0x2eaf3: 0x6d584e20,\n\t0x2eaf4: 0x6d585020, 0x2eaf5: 0x6d585220, 0x2eaf6: 0x6d831420, 0x2eaf7: 0x6d831620,\n\t0x2eaf8: 0x6d831820, 0x2eaf9: 0x6d831a20, 0x2eafa: 0x6d831c20, 0x2eafb: 0x6d831e20,\n\t0x2eafc: 0x6d832020, 0x2eafd: 0x6d832220, 0x2eafe: 0x6d832420, 0x2eaff: 0x6d832620,\n\t// Block 0xbac, offset 0x2eb00\n\t0x2eb00: 0x6d832820, 0x2eb01: 0x6d832a20, 0x2eb02: 0x6d832c20, 0x2eb03: 0x6d832e20,\n\t0x2eb04: 0x6d833020, 0x2eb05: 0x6d833220, 0x2eb06: 0x6d833420, 0x2eb07: 0x6d833620,\n\t0x2eb08: 0x6d833820, 0x2eb09: 0x6d833a20, 0x2eb0a: 0x6d833c20, 0x2eb0b: 0x6d833e20,\n\t0x2eb0c: 0x6d834020, 0x2eb0d: 0x6d834220, 0x2eb0e: 0x6d834420, 0x2eb0f: 0x6d834620,\n\t0x2eb10: 0x6d834820, 0x2eb11: 0x6d834a20, 0x2eb12: 0x6d834c20, 0x2eb13: 0x6d834e20,\n\t0x2eb14: 0x6d835020, 0x2eb15: 0x6d835220, 0x2eb16: 0x6d835420, 0x2eb17: 0x6d835620,\n\t0x2eb18: 0x6d835820, 0x2eb19: 0x6d835a20, 0x2eb1a: 0x6d835c20, 0x2eb1b: 0x6d835e20,\n\t0x2eb1c: 0x6d836020, 0x2eb1d: 0x6d836220, 0x2eb1e: 0x6d836420, 0x2eb1f: 0x6da87c20,\n\t0x2eb20: 0x6da87e20, 0x2eb21: 0x6da88020, 0x2eb22: 0x6da88220, 0x2eb23: 0x6da88420,\n\t0x2eb24: 0x6da88620, 0x2eb25: 0x6da88820, 0x2eb26: 0x6da88a20, 0x2eb27: 0x6da88c20,\n\t0x2eb28: 0x6da88e20, 0x2eb29: 0x6da89020, 0x2eb2a: 0x6da89220, 0x2eb2b: 0x6da89420,\n\t0x2eb2c: 0x6da89620, 0x2eb2d: 0x6da89820, 0x2eb2e: 0x6da89a20, 0x2eb2f: 0x6da89c20,\n\t0x2eb30: 0x6da89e20, 0x2eb31: 0x6da8a020, 0x2eb32: 0x6da8a220, 0x2eb33: 0x6da8a420,\n\t0x2eb34: 0x6da8a620, 0x2eb35: 0x6da8a820, 0x2eb36: 0x6da8aa20, 0x2eb37: 0x6da8ac20,\n\t0x2eb38: 0x6dc9be20, 0x2eb39: 0x6dc9c020, 0x2eb3a: 0x6dc9c220, 0x2eb3b: 0x6dc9c420,\n\t0x2eb3c: 0x6dc9c620, 0x2eb3d: 0x6dc9c820, 0x2eb3e: 0x6dc9ca20, 0x2eb3f: 0x6dc9cc20,\n\t// Block 0xbad, offset 0x2eb40\n\t0x2eb40: 0x6dc9ce20, 0x2eb41: 0x6dc9d020, 0x2eb42: 0x6de57020, 0x2eb43: 0x6dc9d220,\n\t0x2eb44: 0x6de57820, 0x2eb45: 0x6de57a20, 0x2eb46: 0x6de57c20, 0x2eb47: 0x6de57e20,\n\t0x2eb48: 0x6de58020, 0x2eb49: 0x6de58220, 0x2eb4a: 0x6de58420, 0x2eb4b: 0x6dfc5220,\n\t0x2eb4c: 0x6de58620, 0x2eb4d: 0x6de58820, 0x2eb4e: 0x6de58a20, 0x2eb4f: 0x6dfc5420,\n\t0x2eb50: 0x6dfc5620, 0x2eb51: 0x6dfc5820, 0x2eb52: 0x6dfc5a20, 0x2eb53: 0x6dfc5c20,\n\t0x2eb54: 0x6dfc5e20, 0x2eb55: 0x6de58c20, 0x2eb56: 0x6dfc6020, 0x2eb57: 0x6dfc6220,\n\t0x2eb58: 0x6dfc6420, 0x2eb59: 0x6e0f7e20, 0x2eb5a: 0x6e0f8020, 0x2eb5b: 0x6e0f8220,\n\t0x2eb5c: 0x6e1e7020, 0x2eb5d: 0x6e0fb220, 0x2eb5e: 0x6e1e7220, 0x2eb5f: 0x6e1e7420,\n\t0x2eb60: 0x6e1e7620, 0x2eb61: 0x6e29da20, 0x2eb62: 0x6e29dc20, 0x2eb63: 0x6e32c020,\n\t0x2eb64: 0x6e38f220, 0x2eb65: 0x6e38f420, 0x2eb66: 0x6e38f620, 0x2eb67: 0x6e42b620,\n\t0x2eb68: 0x6e443420, 0x2eb69: 0x6e468220, 0x2eb6a: 0x6c04d620, 0x2eb6b: 0x6c04d820,\n\t0x2eb6c: 0x6c3a2820, 0x2eb6d: 0x6c3a2a20, 0x2eb6e: 0x6c55ee20, 0x2eb6f: 0x6c55f020,\n\t0x2eb70: 0x6c55f220, 0x2eb71: 0x6c78ca20, 0x2eb72: 0x6ccf0a20, 0x2eb73: 0x6d2bdc20,\n\t0x2eb74: 0x6d590420, 0x2eb75: 0x6da93020, 0x2eb76: 0x6c04de20, 0x2eb77: 0x6c137a20,\n\t0x2eb78: 0x6c3a3a20, 0x2eb79: 0x6c78d620, 0x2eb7a: 0x6cfd4020, 0x2eb7b: 0x6c04e020,\n\t0x2eb7c: 0x6c561820, 0x2eb7d: 0x6ca1e020, 0x2eb7e: 0x6d2bec20, 0x2eb7f: 0x6c04e420,\n\t// Block 0xbae, offset 0x2eb80\n\t0x2eb80: 0x6c3a4620, 0x2eb81: 0x6c562020, 0x2eb82: 0x6c78e220, 0x2eb83: 0x6cfd4820,\n\t0x2eb84: 0x6d2bf020, 0x2eb85: 0x6d591e20, 0x2eb86: 0x6da93220, 0x2eb87: 0x6c04e820,\n\t0x2eb88: 0x6c3a5220, 0x2eb89: 0x6c562a20, 0x2eb8a: 0x6c562c20, 0x2eb8b: 0x6ccf3c20,\n\t0x2eb8c: 0x6ccf3e20, 0x2eb8d: 0x6ccf4020, 0x2eb8e: 0x6cfd5020, 0x2eb8f: 0x6cfd5220,\n\t0x2eb90: 0x6cfd5420, 0x2eb91: 0x6cfd5620, 0x2eb92: 0x6cfd5820, 0x2eb93: 0x6d2bfc20,\n\t0x2eb94: 0x6d2bfe20, 0x2eb95: 0x6d592820, 0x2eb96: 0x6d592a20, 0x2eb97: 0x6d592c20,\n\t0x2eb98: 0x6de5e220, 0x2eb99: 0x6c04ec20, 0x2eb9a: 0x6ccf6620, 0x2eb9b: 0x6c04f020,\n\t0x2eb9c: 0x6c04f220, 0x2eb9d: 0x6c138020, 0x2eb9e: 0x6c138220, 0x2eb9f: 0x6c138420,\n\t0x2eba0: 0x6c23ec20, 0x2eba1: 0x6c23ee20, 0x2eba2: 0x6c23f020, 0x2eba3: 0x6c23f220,\n\t0x2eba4: 0x6c23f420, 0x2eba5: 0x6c3a6c20, 0x2eba6: 0x6c3a6e20, 0x2eba7: 0x6c3a7020,\n\t0x2eba8: 0x6c3a7220, 0x2eba9: 0x6c3a7420, 0x2ebaa: 0x6c3a7620, 0x2ebab: 0x6c3a7820,\n\t0x2ebac: 0x6c3a7a20, 0x2ebad: 0x6c564c20, 0x2ebae: 0x6c564e20, 0x2ebaf: 0x6c565020,\n\t0x2ebb0: 0x6c565220, 0x2ebb1: 0x6c565420, 0x2ebb2: 0x6c565620, 0x2ebb3: 0x6c565820,\n\t0x2ebb4: 0x6c565a20, 0x2ebb5: 0x6c565c20, 0x2ebb6: 0x6c791020, 0x2ebb7: 0x6c791220,\n\t0x2ebb8: 0x6c791420, 0x2ebb9: 0x6c791620, 0x2ebba: 0x6c791820, 0x2ebbb: 0x6ca21e20,\n\t0x2ebbc: 0x6ca22020, 0x2ebbd: 0x6ca22220, 0x2ebbe: 0x6ca22420, 0x2ebbf: 0x6ca22620,\n\t// Block 0xbaf, offset 0x2ebc0\n\t0x2ebc0: 0x6ccf7820, 0x2ebc1: 0x6ca22820, 0x2ebc2: 0x6ccf7a20, 0x2ebc3: 0x6ccf7c20,\n\t0x2ebc4: 0x6ccf7e20, 0x2ebc5: 0x6ccf8020, 0x2ebc6: 0x6ccf8220, 0x2ebc7: 0x6ccf8420,\n\t0x2ebc8: 0x6ccf8620, 0x2ebc9: 0x6ccf8820, 0x2ebca: 0x6ccf8a20, 0x2ebcb: 0x6ccf8c20,\n\t0x2ebcc: 0x6cfd7820, 0x2ebcd: 0x6cfd7a20, 0x2ebce: 0x6cfd7c20, 0x2ebcf: 0x6cfd7e20,\n\t0x2ebd0: 0x6cfd8020, 0x2ebd1: 0x6cfd8220, 0x2ebd2: 0x6d2c1620, 0x2ebd3: 0x6d2c1820,\n\t0x2ebd4: 0x6d2c1a20, 0x2ebd5: 0x6d2c1c20, 0x2ebd6: 0x6d2c1e20, 0x2ebd7: 0x6d2c2020,\n\t0x2ebd8: 0x6d595020, 0x2ebd9: 0x6d595220, 0x2ebda: 0x6d595420, 0x2ebdb: 0x6d595620,\n\t0x2ebdc: 0x6d845820, 0x2ebdd: 0x6d845a20, 0x2ebde: 0x6d845c20, 0x2ebdf: 0x6d845e20,\n\t0x2ebe0: 0x6da94e20, 0x2ebe1: 0x6de5e620, 0x2ebe2: 0x6de5e820, 0x2ebe3: 0x6de5ea20,\n\t0x2ebe4: 0x6de5ec20, 0x2ebe5: 0x6de5ee20, 0x2ebe6: 0x6de5f020, 0x2ebe7: 0x6dfcd820,\n\t0x2ebe8: 0x6dfcda20, 0x2ebe9: 0x6e1e9c20, 0x2ebea: 0x6e390e20, 0x2ebeb: 0x6e407820,\n\t0x2ebec: 0x6c04f420, 0x2ebed: 0x6c01fe20, 0x2ebee: 0x6c09dc20, 0x2ebef: 0x6c09de20,\n\t0x2ebf0: 0x6c09e020, 0x2ebf1: 0x6c138c20, 0x2ebf2: 0x6c138e20, 0x2ebf3: 0x6c139020,\n\t0x2ebf4: 0x6c139220, 0x2ebf5: 0x6c139420, 0x2ebf6: 0x6c240020, 0x2ebf7: 0x6c139620,\n\t0x2ebf8: 0x6c139820, 0x2ebf9: 0x6c240a20, 0x2ebfa: 0x6c240c20, 0x2ebfb: 0x6c240e20,\n\t0x2ebfc: 0x6c241020, 0x2ebfd: 0x6c241220, 0x2ebfe: 0x6c241420, 0x2ebff: 0x6c241620,\n\t// Block 0xbb0, offset 0x2ec00\n\t0x2ec00: 0x6c3ab620, 0x2ec01: 0x6c241820, 0x2ec02: 0x6c241a20, 0x2ec03: 0x6c241c20,\n\t0x2ec04: 0x6c241e20, 0x2ec05: 0x6c242020, 0x2ec06: 0x6c242220, 0x2ec07: 0x6c242420,\n\t0x2ec08: 0x6c242620, 0x2ec09: 0x6c3acc20, 0x2ec0a: 0x6c569620, 0x2ec0b: 0x6c3ace20,\n\t0x2ec0c: 0x6c3ad020, 0x2ec0d: 0x6c3ad220, 0x2ec0e: 0x6c3ad420, 0x2ec0f: 0x6c3ad620,\n\t0x2ec10: 0x6c3ad820, 0x2ec11: 0x6c3ada20, 0x2ec12: 0x6c3adc20, 0x2ec13: 0x6c3ade20,\n\t0x2ec14: 0x6c3ae020, 0x2ec15: 0x6c3ae220, 0x2ec16: 0x6c3ae420, 0x2ec17: 0x6c3ae620,\n\t0x2ec18: 0x6c3ae820, 0x2ec19: 0x6c3aea20, 0x2ec1a: 0x6c3aec20, 0x2ec1b: 0x6c3aee20,\n\t0x2ec1c: 0x6c3af020, 0x2ec1d: 0x6c3af220, 0x2ec1e: 0x6c3af420, 0x2ec1f: 0x6c56a420,\n\t0x2ec20: 0x6c56a620, 0x2ec21: 0x6c56a820, 0x2ec22: 0x6c56aa20, 0x2ec23: 0x6c56ac20,\n\t0x2ec24: 0x6c56ae20, 0x2ec25: 0x6c56b020, 0x2ec26: 0x6c56b220, 0x2ec27: 0x6c56b420,\n\t0x2ec28: 0x6c56b620, 0x2ec29: 0x6c56b820, 0x2ec2a: 0x6c56ba20, 0x2ec2b: 0x6c56bc20,\n\t0x2ec2c: 0x6c56be20, 0x2ec2d: 0x6c56c020, 0x2ec2e: 0x6c56c220, 0x2ec2f: 0x6c56c420,\n\t0x2ec30: 0x6c56c620, 0x2ec31: 0x6c56c820, 0x2ec32: 0x6c56ca20, 0x2ec33: 0x6c794420,\n\t0x2ec34: 0x6c794620, 0x2ec35: 0x6c794820, 0x2ec36: 0x6c794a20, 0x2ec37: 0x6c794c20,\n\t0x2ec38: 0x6c794e20, 0x2ec39: 0x6c795020, 0x2ec3a: 0x6c795220, 0x2ec3b: 0x6c795420,\n\t0x2ec3c: 0x6c795620, 0x2ec3d: 0x6c795820, 0x2ec3e: 0x6c795a20, 0x2ec3f: 0x6ca25220,\n\t// Block 0xbb1, offset 0x2ec40\n\t0x2ec40: 0x6c795c20, 0x2ec41: 0x6c795e20, 0x2ec42: 0x6c796020, 0x2ec43: 0x6c796220,\n\t0x2ec44: 0x6ca26420, 0x2ec45: 0x6ca26620, 0x2ec46: 0x6ccfce20, 0x2ec47: 0x6ca26820,\n\t0x2ec48: 0x6ca26a20, 0x2ec49: 0x6ca26c20, 0x2ec4a: 0x6ca26e20, 0x2ec4b: 0x6ccfd020,\n\t0x2ec4c: 0x6ccfd220, 0x2ec4d: 0x6ca27020, 0x2ec4e: 0x6ca27220, 0x2ec4f: 0x6ca27420,\n\t0x2ec50: 0x6ca27620, 0x2ec51: 0x6ca27820, 0x2ec52: 0x6ccfd420, 0x2ec53: 0x6ca27a20,\n\t0x2ec54: 0x6ca27c20, 0x2ec55: 0x6ca27e20, 0x2ec56: 0x6ca28020, 0x2ec57: 0x6ca28220,\n\t0x2ec58: 0x6ca28420, 0x2ec59: 0x6ca28620, 0x2ec5a: 0x6ca28820, 0x2ec5b: 0x6ca28a20,\n\t0x2ec5c: 0x6ca28c20, 0x2ec5d: 0x6ca28e20, 0x2ec5e: 0x6ca29020, 0x2ec5f: 0x6ca29220,\n\t0x2ec60: 0x6ca29420, 0x2ec61: 0x6ca29620, 0x2ec62: 0x6ccfe420, 0x2ec63: 0x6ccfe620,\n\t0x2ec64: 0x6ccfe820, 0x2ec65: 0x6ccfea20, 0x2ec66: 0x6ccfec20, 0x2ec67: 0x6ccfee20,\n\t0x2ec68: 0x6ccff020, 0x2ec69: 0x6ccff220, 0x2ec6a: 0x6ca29820, 0x2ec6b: 0x6ccfd620,\n\t0x2ec6c: 0x6ccff420, 0x2ec6d: 0x6ccff620, 0x2ec6e: 0x6cfdbe20, 0x2ec6f: 0x6ccff820,\n\t0x2ec70: 0x6ccffa20, 0x2ec71: 0x6ccffc20, 0x2ec72: 0x6ccffe20, 0x2ec73: 0x6cd00020,\n\t0x2ec74: 0x6cd00220, 0x2ec75: 0x6cd00420, 0x2ec76: 0x6cd00620, 0x2ec77: 0x6cfdc020,\n\t0x2ec78: 0x6cd00820, 0x2ec79: 0x6cd00a20, 0x2ec7a: 0x6cfdd220, 0x2ec7b: 0x6cfdd420,\n\t0x2ec7c: 0x6cfdd620, 0x2ec7d: 0x6cfdd820, 0x2ec7e: 0x6cfdda20, 0x2ec7f: 0x6cfddc20,\n\t// Block 0xbb2, offset 0x2ec80\n\t0x2ec80: 0x6cfdde20, 0x2ec81: 0x6cfdc220, 0x2ec82: 0x6cfde020, 0x2ec83: 0x6d2c6a20,\n\t0x2ec84: 0x6d2c7820, 0x2ec85: 0x6cfde220, 0x2ec86: 0x6cfde420, 0x2ec87: 0x6cfde620,\n\t0x2ec88: 0x6cfde820, 0x2ec89: 0x6cfdea20, 0x2ec8a: 0x6cfdec20, 0x2ec8b: 0x6d599420,\n\t0x2ec8c: 0x6d2c7a20, 0x2ec8d: 0x6d2c7c20, 0x2ec8e: 0x6d598620, 0x2ec8f: 0x6d2c7e20,\n\t0x2ec90: 0x6d2c8020, 0x2ec91: 0x6d2c8220, 0x2ec92: 0x6d2c8420, 0x2ec93: 0x6d2c6820,\n\t0x2ec94: 0x6d2c8620, 0x2ec95: 0x6d2c8820, 0x2ec96: 0x6d599620, 0x2ec97: 0x6d599820,\n\t0x2ec98: 0x6d599a20, 0x2ec99: 0x6d599c20, 0x2ec9a: 0x6d599e20, 0x2ec9b: 0x6d59a020,\n\t0x2ec9c: 0x6d59a220, 0x2ec9d: 0x6d59a420, 0x2ec9e: 0x6d59a620, 0x2ec9f: 0x6d59a820,\n\t0x2eca0: 0x6d59aa20, 0x2eca1: 0x6d59ac20, 0x2eca2: 0x6d59ae20, 0x2eca3: 0x6d847e20,\n\t0x2eca4: 0x6d59b020, 0x2eca5: 0x6d848620, 0x2eca6: 0x6d848820, 0x2eca7: 0x6d848a20,\n\t0x2eca8: 0x6d848c20, 0x2eca9: 0x6d848e20, 0x2ecaa: 0x6d849020, 0x2ecab: 0x6d849220,\n\t0x2ecac: 0x6d849420, 0x2ecad: 0x6d849620, 0x2ecae: 0x6da96a20, 0x2ecaf: 0x6da96c20,\n\t0x2ecb0: 0x6da96e20, 0x2ecb1: 0x6da97020, 0x2ecb2: 0x6da97220, 0x2ecb3: 0x6da97420,\n\t0x2ecb4: 0x6da97620, 0x2ecb5: 0x6dca5a20, 0x2ecb6: 0x6dca5c20, 0x2ecb7: 0x6dca5e20,\n\t0x2ecb8: 0x6de60020, 0x2ecb9: 0x6de60620, 0x2ecba: 0x6de60820, 0x2ecbb: 0x6dfce620,\n\t0x2ecbc: 0x6dfcf020, 0x2ecbd: 0x6dfcf220, 0x2ecbe: 0x6e0fc820, 0x2ecbf: 0x6e1ea820,\n\t// Block 0xbb3, offset 0x2ecc0\n\t0x2ecc0: 0x6e1eaa20, 0x2ecc1: 0x6e2a0c20, 0x2ecc2: 0x6e2a0e20, 0x2ecc3: 0x6e2a1020,\n\t0x2ecc4: 0x6c09ee20, 0x2ecc5: 0x6c572620, 0x2ecc6: 0x6c79ba20, 0x2ecc7: 0x6ca2d620,\n\t0x2ecc8: 0x6ca2d820, 0x2ecc9: 0x6c09f220, 0x2ecca: 0x6c09f420, 0x2eccb: 0x6c04fa20,\n\t0x2eccc: 0x6c09f620, 0x2eccd: 0x6c09f820, 0x2ecce: 0x6c13be20, 0x2eccf: 0x6c13c020,\n\t0x2ecd0: 0x6c13c220, 0x2ecd1: 0x6c13c420, 0x2ecd2: 0x6c247420, 0x2ecd3: 0x6c247620,\n\t0x2ecd4: 0x6c247820, 0x2ecd5: 0x6c247a20, 0x2ecd6: 0x6c247c20, 0x2ecd7: 0x6c247e20,\n\t0x2ecd8: 0x6c248020, 0x2ecd9: 0x6c248220, 0x2ecda: 0x6c248420, 0x2ecdb: 0x6c248620,\n\t0x2ecdc: 0x6c3b4420, 0x2ecdd: 0x6c3b4620, 0x2ecde: 0x6c3b4820, 0x2ecdf: 0x6c3b4a20,\n\t0x2ece0: 0x6c3b4c20, 0x2ece1: 0x6c3b4e20, 0x2ece2: 0x6c3b5020, 0x2ece3: 0x6c3b5220,\n\t0x2ece4: 0x6c3b5420, 0x2ece5: 0x6c3b5620, 0x2ece6: 0x6c3b5820, 0x2ece7: 0x6c3b5a20,\n\t0x2ece8: 0x6c3b5c20, 0x2ece9: 0x6c3b5e20, 0x2ecea: 0x6c3b6020, 0x2eceb: 0x6c3b6220,\n\t0x2ecec: 0x6c3b6420, 0x2eced: 0x6c3b6620, 0x2ecee: 0x6c3b6820, 0x2ecef: 0x6c3b6a20,\n\t0x2ecf0: 0x6c3b6c20, 0x2ecf1: 0x6c3b6e20, 0x2ecf2: 0x6c573a20, 0x2ecf3: 0x6c573c20,\n\t0x2ecf4: 0x6c573e20, 0x2ecf5: 0x6c574020, 0x2ecf6: 0x6c574220, 0x2ecf7: 0x6c574420,\n\t0x2ecf8: 0x6c574620, 0x2ecf9: 0x6c574820, 0x2ecfa: 0x6c79be20, 0x2ecfb: 0x6c574a20,\n\t0x2ecfc: 0x6c79c020, 0x2ecfd: 0x6c574c20, 0x2ecfe: 0x6c574e20, 0x2ecff: 0x6c575020,\n\t// Block 0xbb4, offset 0x2ed00\n\t0x2ed00: 0x6c575220, 0x2ed01: 0x6c575420, 0x2ed02: 0x6c575620, 0x2ed03: 0x6c575820,\n\t0x2ed04: 0x6c575a20, 0x2ed05: 0x6c575c20, 0x2ed06: 0x6c575e20, 0x2ed07: 0x6c576020,\n\t0x2ed08: 0x6c576220, 0x2ed09: 0x6c576420, 0x2ed0a: 0x6c576620, 0x2ed0b: 0x6c576820,\n\t0x2ed0c: 0x6c576a20, 0x2ed0d: 0x6c576c20, 0x2ed0e: 0x6c576e20, 0x2ed0f: 0x6c577020,\n\t0x2ed10: 0x6c577220, 0x2ed11: 0x6c577420, 0x2ed12: 0x6c79d620, 0x2ed13: 0x6c79d820,\n\t0x2ed14: 0x6c79da20, 0x2ed15: 0x6c79dc20, 0x2ed16: 0x6c79de20, 0x2ed17: 0x6c79e020,\n\t0x2ed18: 0x6c79e220, 0x2ed19: 0x6c79e420, 0x2ed1a: 0x6c79e620, 0x2ed1b: 0x6c79e820,\n\t0x2ed1c: 0x6c79ea20, 0x2ed1d: 0x6c79ec20, 0x2ed1e: 0x6c79ee20, 0x2ed1f: 0x6c79f020,\n\t0x2ed20: 0x6c79f220, 0x2ed21: 0x6c79f420, 0x2ed22: 0x6c79f620, 0x2ed23: 0x6c79f820,\n\t0x2ed24: 0x6c79fa20, 0x2ed25: 0x6c79fc20, 0x2ed26: 0x6c79fe20, 0x2ed27: 0x6c7a0020,\n\t0x2ed28: 0x6c7a0220, 0x2ed29: 0x6c7a0420, 0x2ed2a: 0x6c7a0620, 0x2ed2b: 0x6c7a0820,\n\t0x2ed2c: 0x6c7a0a20, 0x2ed2d: 0x6c7a0c20, 0x2ed2e: 0x6c7a0e20, 0x2ed2f: 0x6c7a1020,\n\t0x2ed30: 0x6c7a1220, 0x2ed31: 0x6c7a1420, 0x2ed32: 0x6c7a1620, 0x2ed33: 0x6ca2ea20,\n\t0x2ed34: 0x6ca2ec20, 0x2ed35: 0x6ca2ee20, 0x2ed36: 0x6ca2f020, 0x2ed37: 0x6cd08c20,\n\t0x2ed38: 0x6ca2f220, 0x2ed39: 0x6c7a7220, 0x2ed3a: 0x6ca2f420, 0x2ed3b: 0x6ca2f620,\n\t0x2ed3c: 0x6ca2f820, 0x2ed3d: 0x6ca2fa20, 0x2ed3e: 0x6ca2fc20, 0x2ed3f: 0x6ca2fe20,\n\t// Block 0xbb5, offset 0x2ed40\n\t0x2ed40: 0x6ca30020, 0x2ed41: 0x6ca30220, 0x2ed42: 0x6ca30420, 0x2ed43: 0x6ca30620,\n\t0x2ed44: 0x6ca30820, 0x2ed45: 0x6ca30a20, 0x2ed46: 0x6ca30c20, 0x2ed47: 0x6ca30e20,\n\t0x2ed48: 0x6ca31020, 0x2ed49: 0x6c7a1820, 0x2ed4a: 0x6ca31220, 0x2ed4b: 0x6ca31420,\n\t0x2ed4c: 0x6ca31620, 0x2ed4d: 0x6ca31820, 0x2ed4e: 0x6ca31a20, 0x2ed4f: 0x6ca31c20,\n\t0x2ed50: 0x6ca31e20, 0x2ed51: 0x6ca32020, 0x2ed52: 0x6ca32220, 0x2ed53: 0x6ca32420,\n\t0x2ed54: 0x6cd08e20, 0x2ed55: 0x6cd09020, 0x2ed56: 0x6cd09220, 0x2ed57: 0x6cd09420,\n\t0x2ed58: 0x6cd09620, 0x2ed59: 0x6cd09820, 0x2ed5a: 0x6cd09a20, 0x2ed5b: 0x6cd09c20,\n\t0x2ed5c: 0x6cd09e20, 0x2ed5d: 0x6cd0a020, 0x2ed5e: 0x6cfe6220, 0x2ed5f: 0x6cd0a220,\n\t0x2ed60: 0x6cd0a420, 0x2ed61: 0x6cd0a620, 0x2ed62: 0x6cd0a820, 0x2ed63: 0x6cd0aa20,\n\t0x2ed64: 0x6cd0ac20, 0x2ed65: 0x6cd0ae20, 0x2ed66: 0x6cd0b020, 0x2ed67: 0x6cfe4c20,\n\t0x2ed68: 0x6cd0b220, 0x2ed69: 0x6cd0b420, 0x2ed6a: 0x6cd0b620, 0x2ed6b: 0x6cd0b820,\n\t0x2ed6c: 0x6cd0ba20, 0x2ed6d: 0x6cd0bc20, 0x2ed6e: 0x6cd0be20, 0x2ed6f: 0x6cd0c020,\n\t0x2ed70: 0x6cd0c220, 0x2ed71: 0x6cd0c420, 0x2ed72: 0x6cd0c620, 0x2ed73: 0x6cd0c820,\n\t0x2ed74: 0x6cd0ca20, 0x2ed75: 0x6cd0cc20, 0x2ed76: 0x6cd0ce20, 0x2ed77: 0x6cd0d020,\n\t0x2ed78: 0x6cd0d220, 0x2ed79: 0x6cd0d420, 0x2ed7a: 0x6cd0d620, 0x2ed7b: 0x6cd0d820,\n\t0x2ed7c: 0x6cd0da20, 0x2ed7d: 0x6cfe6420, 0x2ed7e: 0x6cfe6620, 0x2ed7f: 0x6cfe6820,\n\t// Block 0xbb6, offset 0x2ed80\n\t0x2ed80: 0x6cfe6a20, 0x2ed81: 0x6cfe6c20, 0x2ed82: 0x6cfe6e20, 0x2ed83: 0x6cfe7020,\n\t0x2ed84: 0x6cfe7220, 0x2ed85: 0x6cfe7420, 0x2ed86: 0x6cfe7620, 0x2ed87: 0x6cfe7820,\n\t0x2ed88: 0x6cfe7a20, 0x2ed89: 0x6cfe7c20, 0x2ed8a: 0x6cfe7e20, 0x2ed8b: 0x6cfe8020,\n\t0x2ed8c: 0x6cfe8220, 0x2ed8d: 0x6cfe8420, 0x2ed8e: 0x6cfe8620, 0x2ed8f: 0x6cfe8820,\n\t0x2ed90: 0x6cfe8a20, 0x2ed91: 0x6cfe8c20, 0x2ed92: 0x6cfe8e20, 0x2ed93: 0x6cfe9020,\n\t0x2ed94: 0x6cfe9220, 0x2ed95: 0x6cfe9420, 0x2ed96: 0x6cfe9620, 0x2ed97: 0x6cfe9820,\n\t0x2ed98: 0x6cfe9a20, 0x2ed99: 0x6cfe9c20, 0x2ed9a: 0x6cfe9e20, 0x2ed9b: 0x6cfea020,\n\t0x2ed9c: 0x6cfea220, 0x2ed9d: 0x6cfea420, 0x2ed9e: 0x6cfea620, 0x2ed9f: 0x6cfea820,\n\t0x2eda0: 0x6d2cea20, 0x2eda1: 0x6d2cec20, 0x2eda2: 0x6d2cee20, 0x2eda3: 0x6d2cf020,\n\t0x2eda4: 0x6d2cf220, 0x2eda5: 0x6d2cf420, 0x2eda6: 0x6d2cf620, 0x2eda7: 0x6d2cf820,\n\t0x2eda8: 0x6d2cfa20, 0x2eda9: 0x6d5a0620, 0x2edaa: 0x6d2cfc20, 0x2edab: 0x6d2cfe20,\n\t0x2edac: 0x6d5a0820, 0x2edad: 0x6d2d0020, 0x2edae: 0x6d2d0220, 0x2edaf: 0x6cff4020,\n\t0x2edb0: 0x6d2d0420, 0x2edb1: 0x6d2d0620, 0x2edb2: 0x6d2d0820, 0x2edb3: 0x6d2d0a20,\n\t0x2edb4: 0x6d2d0c20, 0x2edb5: 0x6d2d0e20, 0x2edb6: 0x6d2d1020, 0x2edb7: 0x6d2d1220,\n\t0x2edb8: 0x6d2d1420, 0x2edb9: 0x6d5a1e20, 0x2edba: 0x6d5a2020, 0x2edbb: 0x6d5a2220,\n\t0x2edbc: 0x6d5a2420, 0x2edbd: 0x6d5a2620, 0x2edbe: 0x6d5a2820, 0x2edbf: 0x6d84cc20,\n\t// Block 0xbb7, offset 0x2edc0\n\t0x2edc0: 0x6d5a2a20, 0x2edc1: 0x6d5a2c20, 0x2edc2: 0x6d5a2e20, 0x2edc3: 0x6d5a3020,\n\t0x2edc4: 0x6d5a3220, 0x2edc5: 0x6d5a3420, 0x2edc6: 0x6d5a3620, 0x2edc7: 0x6d5a3820,\n\t0x2edc8: 0x6d5a3a20, 0x2edc9: 0x6d5a3c20, 0x2edca: 0x6d5a3e20, 0x2edcb: 0x6d5a4020,\n\t0x2edcc: 0x6d5a4220, 0x2edcd: 0x6d84da20, 0x2edce: 0x6d5a4420, 0x2edcf: 0x6d84dc20,\n\t0x2edd0: 0x6da99a20, 0x2edd1: 0x6d84de20, 0x2edd2: 0x6d84e020, 0x2edd3: 0x6d5a4620,\n\t0x2edd4: 0x6d84e220, 0x2edd5: 0x6d84e420, 0x2edd6: 0x6d84e620, 0x2edd7: 0x6da99c20,\n\t0x2edd8: 0x6d84e820, 0x2edd9: 0x6d84ea20, 0x2edda: 0x6d84ec20, 0x2eddb: 0x6d84ee20,\n\t0x2eddc: 0x6d84f020, 0x2eddd: 0x6d84f220, 0x2edde: 0x6d84f420, 0x2eddf: 0x6d84f620,\n\t0x2ede0: 0x6d84f820, 0x2ede1: 0x6d84fa20, 0x2ede2: 0x6d856820, 0x2ede3: 0x6d84fc20,\n\t0x2ede4: 0x6d84fe20, 0x2ede5: 0x6da9a620, 0x2ede6: 0x6da9a820, 0x2ede7: 0x6dca8820,\n\t0x2ede8: 0x6da9aa20, 0x2ede9: 0x6da9ac20, 0x2edea: 0x6da9ae20, 0x2edeb: 0x6da9b020,\n\t0x2edec: 0x6da9b220, 0x2eded: 0x6da9b420, 0x2edee: 0x6da9b620, 0x2edef: 0x6da9b820,\n\t0x2edf0: 0x6da9ba20, 0x2edf1: 0x6da9bc20, 0x2edf2: 0x6da9be20, 0x2edf3: 0x6da9c020,\n\t0x2edf4: 0x6da9c220, 0x2edf5: 0x6dca8a20, 0x2edf6: 0x6dca8c20, 0x2edf7: 0x6de61c20,\n\t0x2edf8: 0x6dca8e20, 0x2edf9: 0x6dca9020, 0x2edfa: 0x6dfcfc20, 0x2edfb: 0x6dca9220,\n\t0x2edfc: 0x6dca9420, 0x2edfd: 0x6de61e20, 0x2edfe: 0x6dca9620, 0x2edff: 0x6dca9820,\n\t// Block 0xbb8, offset 0x2ee00\n\t0x2ee00: 0x6dca9a20, 0x2ee01: 0x6dca9c20, 0x2ee02: 0x6dca9e20, 0x2ee03: 0x6de62820,\n\t0x2ee04: 0x6de62a20, 0x2ee05: 0x6de62c20, 0x2ee06: 0x6de62e20, 0x2ee07: 0x6de63020,\n\t0x2ee08: 0x6de63220, 0x2ee09: 0x6de63420, 0x2ee0a: 0x6de63620, 0x2ee0b: 0x6de63820,\n\t0x2ee0c: 0x6dfd0020, 0x2ee0d: 0x6dfd0220, 0x2ee0e: 0x6dfd0420, 0x2ee0f: 0x6dfd0620,\n\t0x2ee10: 0x6dfd0820, 0x2ee11: 0x6dfd0a20, 0x2ee12: 0x6dfd0c20, 0x2ee13: 0x6e0fd620,\n\t0x2ee14: 0x6e0fd820, 0x2ee15: 0x6e1eb420, 0x2ee16: 0x6e0fda20, 0x2ee17: 0x6e1eb620,\n\t0x2ee18: 0x6e1eb820, 0x2ee19: 0x6e1eba20, 0x2ee1a: 0x6e2a1c20, 0x2ee1b: 0x6e32de20,\n\t0x2ee1c: 0x6c09fa20, 0x2ee1d: 0x6c3bac20, 0x2ee1e: 0x6c7a7820, 0x2ee1f: 0x6c7a7a20,\n\t0x2ee20: 0x6ca38020, 0x2ee21: 0x6cff4220, 0x2ee22: 0x6d856a20, 0x2ee23: 0x6de66820,\n\t0x2ee24: 0x6e1ec620, 0x2ee25: 0x6e32e420, 0x2ee26: 0x6c09fc20, 0x2ee27: 0x6c24a220,\n\t0x2ee28: 0x6c3bb620, 0x2ee29: 0x6c3bb820, 0x2ee2a: 0x6c57da20, 0x2ee2b: 0x6c57dc20,\n\t0x2ee2c: 0x6c57de20, 0x2ee2d: 0x6c57e020, 0x2ee2e: 0x6c57e220, 0x2ee2f: 0x6c57e420,\n\t0x2ee30: 0x6c57e620, 0x2ee31: 0x6c57e820, 0x2ee32: 0x6c57ea20, 0x2ee33: 0x6c7a9020,\n\t0x2ee34: 0x6c7a9220, 0x2ee35: 0x6c7a9420, 0x2ee36: 0x6ca39820, 0x2ee37: 0x6ca39a20,\n\t0x2ee38: 0x6ca39c20, 0x2ee39: 0x6cd17820, 0x2ee3a: 0x6cd17a20, 0x2ee3b: 0x6cd17c20,\n\t0x2ee3c: 0x6cd17e20, 0x2ee3d: 0x6cff6020, 0x2ee3e: 0x6cff6220, 0x2ee3f: 0x6cff6420,\n\t// Block 0xbb9, offset 0x2ee40\n\t0x2ee40: 0x6d2d9620, 0x2ee41: 0x6cff6620, 0x2ee42: 0x6d2da420, 0x2ee43: 0x6d2da620,\n\t0x2ee44: 0x6d2da820, 0x2ee45: 0x6d2daa20, 0x2ee46: 0x6d2dac20, 0x2ee47: 0x6d5acc20,\n\t0x2ee48: 0x6d5ace20, 0x2ee49: 0x6d5ad020, 0x2ee4a: 0x6d857a20, 0x2ee4b: 0x6d857c20,\n\t0x2ee4c: 0x6d857e20, 0x2ee4d: 0x6d858020, 0x2ee4e: 0x6d858220, 0x2ee4f: 0x6daa2020,\n\t0x2ee50: 0x6daa2220, 0x2ee51: 0x6daa2420, 0x2ee52: 0x6daa2620, 0x2ee53: 0x6dcaee20,\n\t0x2ee54: 0x6dcaf020, 0x2ee55: 0x6dcaf220, 0x2ee56: 0x6de66e20, 0x2ee57: 0x6e0ffa20,\n\t0x2ee58: 0x6c09fe20, 0x2ee59: 0x6c3bc420, 0x2ee5a: 0x6c57fe20, 0x2ee5b: 0x6ca3ba20,\n\t0x2ee5c: 0x6ca3bc20, 0x2ee5d: 0x6cff8a20, 0x2ee5e: 0x6cff8c20, 0x2ee5f: 0x6c0a0220,\n\t0x2ee60: 0x6c580a20, 0x2ee61: 0x6c7ab220, 0x2ee62: 0x6ca3be20, 0x2ee63: 0x6ca3c020,\n\t0x2ee64: 0x6cd1a420, 0x2ee65: 0x6cd1a620, 0x2ee66: 0x6cd1a820, 0x2ee67: 0x6d2dd620,\n\t0x2ee68: 0x6c0a0620, 0x2ee69: 0x6c0a0820, 0x2ee6a: 0x6c13d020, 0x2ee6b: 0x6c24aa20,\n\t0x2ee6c: 0x6c24ac20, 0x2ee6d: 0x6c581a20, 0x2ee6e: 0x6c581c20, 0x2ee6f: 0x6cd1b620,\n\t0x2ee70: 0x6c0a0a20, 0x2ee71: 0x6c0a0c20, 0x2ee72: 0x6c0a0e20, 0x2ee73: 0x6c0a1020,\n\t0x2ee74: 0x6c0a1220, 0x2ee75: 0x6c0a1420, 0x2ee76: 0x6c13d620, 0x2ee77: 0x6c24b620,\n\t0x2ee78: 0x6c24b820, 0x2ee79: 0x6c24ba20, 0x2ee7a: 0x6c24bc20, 0x2ee7b: 0x6c3be220,\n\t0x2ee7c: 0x6c24be20, 0x2ee7d: 0x6c3be420, 0x2ee7e: 0x6c3be620, 0x2ee7f: 0x6c3be820,\n\t// Block 0xbba, offset 0x2ee80\n\t0x2ee80: 0x6c3bea20, 0x2ee81: 0x6c3bec20, 0x2ee82: 0x6c3bee20, 0x2ee83: 0x6c3bf020,\n\t0x2ee84: 0x6c3bf220, 0x2ee85: 0x6c3bf420, 0x2ee86: 0x6c582420, 0x2ee87: 0x6c582620,\n\t0x2ee88: 0x6c582820, 0x2ee89: 0x6c582a20, 0x2ee8a: 0x6c582c20, 0x2ee8b: 0x6c582e20,\n\t0x2ee8c: 0x6c583020, 0x2ee8d: 0x6c583220, 0x2ee8e: 0x6c583420, 0x2ee8f: 0x6c583620,\n\t0x2ee90: 0x6c583820, 0x2ee91: 0x6c583a20, 0x2ee92: 0x6c583c20, 0x2ee93: 0x6c583e20,\n\t0x2ee94: 0x6c7abe20, 0x2ee95: 0x6c7ac020, 0x2ee96: 0x6c7ac220, 0x2ee97: 0x6c7ac420,\n\t0x2ee98: 0x6c7ac620, 0x2ee99: 0x6c7ac820, 0x2ee9a: 0x6c7aca20, 0x2ee9b: 0x6c7acc20,\n\t0x2ee9c: 0x6c7ace20, 0x2ee9d: 0x6c7ad020, 0x2ee9e: 0x6c7ad220, 0x2ee9f: 0x6c7ad420,\n\t0x2eea0: 0x6c7bac20, 0x2eea1: 0x6ca3d620, 0x2eea2: 0x6ca3d820, 0x2eea3: 0x6ca3da20,\n\t0x2eea4: 0x6ca3dc20, 0x2eea5: 0x6ca3de20, 0x2eea6: 0x6ca3e020, 0x2eea7: 0x6ca3e220,\n\t0x2eea8: 0x6ca89a20, 0x2eea9: 0x6ca3e420, 0x2eeaa: 0x6cd1be20, 0x2eeab: 0x6cd1c020,\n\t0x2eeac: 0x6cd1c220, 0x2eead: 0x6cd1c420, 0x2eeae: 0x6cd1c620, 0x2eeaf: 0x6cd1c820,\n\t0x2eeb0: 0x6ca3e620, 0x2eeb1: 0x6cd20620, 0x2eeb2: 0x6cd1ca20, 0x2eeb3: 0x6cd1cc20,\n\t0x2eeb4: 0x6cd1ce20, 0x2eeb5: 0x6cffaa20, 0x2eeb6: 0x6cffac20, 0x2eeb7: 0x6cffae20,\n\t0x2eeb8: 0x6cffb020, 0x2eeb9: 0x6cffb220, 0x2eeba: 0x6cffb420, 0x2eebb: 0x6d2de220,\n\t0x2eebc: 0x6d2de420, 0x2eebd: 0x6d2de620, 0x2eebe: 0x6d5b0420, 0x2eebf: 0x6d5b0620,\n\t// Block 0xbbb, offset 0x2eec0\n\t0x2eec0: 0x6d85a020, 0x2eec1: 0x6d85a220, 0x2eec2: 0x6d85a420, 0x2eec3: 0x6daa4620,\n\t0x2eec4: 0x6daa4820, 0x2eec5: 0x6dcb0e20, 0x2eec6: 0x6de68020, 0x2eec7: 0x6de68220,\n\t0x2eec8: 0x6dfd3620, 0x2eec9: 0x6dfd4820, 0x2eeca: 0x6e1ede20, 0x2eecb: 0x6c0a1a20,\n\t0x2eecc: 0x6c3c1420, 0x2eecd: 0x6c7b0e20, 0x2eece: 0x6cd20820, 0x2eecf: 0x6cd20a20,\n\t0x2eed0: 0x6d2e0420, 0x2eed1: 0x6d2e0620, 0x2eed2: 0x6c0a2020, 0x2eed3: 0x6c24d820,\n\t0x2eed4: 0x6c24da20, 0x2eed5: 0x6c24dc20, 0x2eed6: 0x6c24de20, 0x2eed7: 0x6c24e020,\n\t0x2eed8: 0x6c3c2020, 0x2eed9: 0x6c3c2220, 0x2eeda: 0x6c3c2420, 0x2eedb: 0x6c3c2620,\n\t0x2eedc: 0x6c3c2820, 0x2eedd: 0x6c3c2a20, 0x2eede: 0x6c3c2c20, 0x2eedf: 0x6c3c2e20,\n\t0x2eee0: 0x6c3c3020, 0x2eee1: 0x6c3c4220, 0x2eee2: 0x6c589c20, 0x2eee3: 0x6c589e20,\n\t0x2eee4: 0x6c58a020, 0x2eee5: 0x6c58a220, 0x2eee6: 0x6c58a420, 0x2eee7: 0x6c58a620,\n\t0x2eee8: 0x6c58a820, 0x2eee9: 0x6c58aa20, 0x2eeea: 0x6c58ac20, 0x2eeeb: 0x6c58ae20,\n\t0x2eeec: 0x6c58b020, 0x2eeed: 0x6c58b220, 0x2eeee: 0x6c58b420, 0x2eeef: 0x6c58b620,\n\t0x2eef0: 0x6c7b2c20, 0x2eef1: 0x6c7b2e20, 0x2eef2: 0x6c7b3020, 0x2eef3: 0x6c7b3220,\n\t0x2eef4: 0x6c7b3420, 0x2eef5: 0x6ca41a20, 0x2eef6: 0x6c7b3620, 0x2eef7: 0x6c7b3820,\n\t0x2eef8: 0x6c7b3a20, 0x2eef9: 0x6c7b3c20, 0x2eefa: 0x6c58b820, 0x2eefb: 0x6c7b3e20,\n\t0x2eefc: 0x6c7b4020, 0x2eefd: 0x6c7b4220, 0x2eefe: 0x6c7b4420, 0x2eeff: 0x6c7b4620,\n\t// Block 0xbbc, offset 0x2ef00\n\t0x2ef00: 0x6c7b4820, 0x2ef01: 0x6c7b4a20, 0x2ef02: 0x6c7b4c20, 0x2ef03: 0x6c7b4e20,\n\t0x2ef04: 0x6c7b5020, 0x2ef05: 0x6c7b5220, 0x2ef06: 0x6c7b5420, 0x2ef07: 0x6c7b5620,\n\t0x2ef08: 0x6c7b5820, 0x2ef09: 0x6c7b5a20, 0x2ef0a: 0x6ca42e20, 0x2ef0b: 0x6ca43020,\n\t0x2ef0c: 0x6ca43220, 0x2ef0d: 0x6ca43420, 0x2ef0e: 0x6ca43620, 0x2ef0f: 0x6ca43820,\n\t0x2ef10: 0x6ca43a20, 0x2ef11: 0x6ca43c20, 0x2ef12: 0x6ca43e20, 0x2ef13: 0x6ca44020,\n\t0x2ef14: 0x6ca44220, 0x2ef15: 0x6ca44420, 0x2ef16: 0x6ca44620, 0x2ef17: 0x6cd23020,\n\t0x2ef18: 0x6cd23220, 0x2ef19: 0x6cd23420, 0x2ef1a: 0x6cd23620, 0x2ef1b: 0x6cd23820,\n\t0x2ef1c: 0x6cd23a20, 0x2ef1d: 0x6cd23c20, 0x2ef1e: 0x6cd23e20, 0x2ef1f: 0x6cd24020,\n\t0x2ef20: 0x6cd24220, 0x2ef21: 0x6cd24420, 0x2ef22: 0x6cd24620, 0x2ef23: 0x6cd24820,\n\t0x2ef24: 0x6cd24a20, 0x2ef25: 0x6cd24c20, 0x2ef26: 0x6cd24e20, 0x2ef27: 0x6cd25020,\n\t0x2ef28: 0x6cd25220, 0x2ef29: 0x6cd25420, 0x2ef2a: 0x6cd25620, 0x2ef2b: 0x6cd25820,\n\t0x2ef2c: 0x6d000620, 0x2ef2d: 0x6d000820, 0x2ef2e: 0x6d000a20, 0x2ef2f: 0x6d000c20,\n\t0x2ef30: 0x6d000e20, 0x2ef31: 0x6d001020, 0x2ef32: 0x6d001220, 0x2ef33: 0x6d001420,\n\t0x2ef34: 0x6d001620, 0x2ef35: 0x6d001820, 0x2ef36: 0x6d001a20, 0x2ef37: 0x6d001c20,\n\t0x2ef38: 0x6d001e20, 0x2ef39: 0x6d002020, 0x2ef3a: 0x6d002220, 0x2ef3b: 0x6d002420,\n\t0x2ef3c: 0x6d002620, 0x2ef3d: 0x6d002820, 0x2ef3e: 0x6d002a20, 0x2ef3f: 0x6d002c20,\n\t// Block 0xbbd, offset 0x2ef40\n\t0x2ef40: 0x6d002e20, 0x2ef41: 0x6d003020, 0x2ef42: 0x6d003220, 0x2ef43: 0x6d003420,\n\t0x2ef44: 0x6d003620, 0x2ef45: 0x6d003820, 0x2ef46: 0x6d003a20, 0x2ef47: 0x6d2e2020,\n\t0x2ef48: 0x6d2e2220, 0x2ef49: 0x6d2e2420, 0x2ef4a: 0x6d2e2620, 0x2ef4b: 0x6d2e2820,\n\t0x2ef4c: 0x6d2e2a20, 0x2ef4d: 0x6d2e2c20, 0x2ef4e: 0x6d2e2e20, 0x2ef4f: 0x6d00b020,\n\t0x2ef50: 0x6d00b220, 0x2ef51: 0x6d2e3020, 0x2ef52: 0x6d2e3220, 0x2ef53: 0x6d2e3420,\n\t0x2ef54: 0x6d2e3620, 0x2ef55: 0x6d2e3820, 0x2ef56: 0x6d2e3a20, 0x2ef57: 0x6d2e3c20,\n\t0x2ef58: 0x6d2e3e20, 0x2ef59: 0x6d5b4a20, 0x2ef5a: 0x6d5b4c20, 0x2ef5b: 0x6d5b4e20,\n\t0x2ef5c: 0x6d5b5020, 0x2ef5d: 0x6d5b5220, 0x2ef5e: 0x6d5b5420, 0x2ef5f: 0x6d5b3020,\n\t0x2ef60: 0x6d5b5620, 0x2ef61: 0x6d5b5820, 0x2ef62: 0x6d5b5a20, 0x2ef63: 0x6d5b5c20,\n\t0x2ef64: 0x6d5b5e20, 0x2ef65: 0x6d5b6020, 0x2ef66: 0x6d5b6220, 0x2ef67: 0x6d2e4020,\n\t0x2ef68: 0x6d5b6420, 0x2ef69: 0x6d5b6620, 0x2ef6a: 0x6d5b6820, 0x2ef6b: 0x6d5b6a20,\n\t0x2ef6c: 0x6d85d420, 0x2ef6d: 0x6d85d620, 0x2ef6e: 0x6d85d820, 0x2ef6f: 0x6d85da20,\n\t0x2ef70: 0x6d85dc20, 0x2ef71: 0x6d85de20, 0x2ef72: 0x6d85e020, 0x2ef73: 0x6d85e220,\n\t0x2ef74: 0x6d85e420, 0x2ef75: 0x6d85e620, 0x2ef76: 0x6d85e820, 0x2ef77: 0x6d85ea20,\n\t0x2ef78: 0x6d85ec20, 0x2ef79: 0x6d85ee20, 0x2ef7a: 0x6d85f020, 0x2ef7b: 0x6d85f220,\n\t0x2ef7c: 0x6d85f420, 0x2ef7d: 0x6d85f620, 0x2ef7e: 0x6d85f820, 0x2ef7f: 0x6d85fa20,\n\t// Block 0xbbe, offset 0x2ef80\n\t0x2ef80: 0x6daa7420, 0x2ef81: 0x6daa7620, 0x2ef82: 0x6daa7820, 0x2ef83: 0x6daa7a20,\n\t0x2ef84: 0x6daa7c20, 0x2ef85: 0x6daa7e20, 0x2ef86: 0x6daa8020, 0x2ef87: 0x6daa8220,\n\t0x2ef88: 0x6daa8420, 0x2ef89: 0x6daa8620, 0x2ef8a: 0x6d85fc20, 0x2ef8b: 0x6daa8820,\n\t0x2ef8c: 0x6daa8a20, 0x2ef8d: 0x6daa8c20, 0x2ef8e: 0x6daa8e20, 0x2ef8f: 0x6dcb2c20,\n\t0x2ef90: 0x6dcb2e20, 0x2ef91: 0x6dcb3020, 0x2ef92: 0x6dcb3220, 0x2ef93: 0x6dcb3420,\n\t0x2ef94: 0x6dcb3620, 0x2ef95: 0x6dcb3820, 0x2ef96: 0x6dcb3a20, 0x2ef97: 0x6dcb3c20,\n\t0x2ef98: 0x6dcb3e20, 0x2ef99: 0x6dcb4020, 0x2ef9a: 0x6dcb4220, 0x2ef9b: 0x6dcb4420,\n\t0x2ef9c: 0x6dcb4620, 0x2ef9d: 0x6dcb4820, 0x2ef9e: 0x6dcb4a20, 0x2ef9f: 0x6de69c20,\n\t0x2efa0: 0x6de69e20, 0x2efa1: 0x6de6a020, 0x2efa2: 0x6dfd4c20, 0x2efa3: 0x6de6a220,\n\t0x2efa4: 0x6dcb8220, 0x2efa5: 0x6dfd4e20, 0x2efa6: 0x6dfd5020, 0x2efa7: 0x6e102420,\n\t0x2efa8: 0x6e102620, 0x2efa9: 0x6e102820, 0x2efaa: 0x6e102a20, 0x2efab: 0x6e102c20,\n\t0x2efac: 0x6e1eea20, 0x2efad: 0x6e1eec20, 0x2efae: 0x6e1eee20, 0x2efaf: 0x6e2a4a20,\n\t0x2efb0: 0x6e2a4c20, 0x2efb1: 0x6e32f220, 0x2efb2: 0x6e32f420, 0x2efb3: 0x6e3d8020,\n\t0x2efb4: 0x6e42ca20, 0x2efb5: 0x6e452a20, 0x2efb6: 0x6c0a2220, 0x2efb7: 0x6c3c4420,\n\t0x2efb8: 0x6c590220, 0x2efb9: 0x6c590420, 0x2efba: 0x6c590620, 0x2efbb: 0x6cd2b820,\n\t0x2efbc: 0x6cd2ba20, 0x2efbd: 0x6c0a2420, 0x2efbe: 0x6c13e020, 0x2efbf: 0x6c13e220,\n\t// Block 0xbbf, offset 0x2efc0\n\t0x2efc0: 0x6c24fa20, 0x2efc1: 0x6c24fc20, 0x2efc2: 0x6c24fe20, 0x2efc3: 0x6c250020,\n\t0x2efc4: 0x6c3c4620, 0x2efc5: 0x6c590e20, 0x2efc6: 0x6c591020, 0x2efc7: 0x6c591220,\n\t0x2efc8: 0x6c591420, 0x2efc9: 0x6ca48c20, 0x2efca: 0x6c7bae20, 0x2efcb: 0x6c7bb020,\n\t0x2efcc: 0x6c7bb220, 0x2efcd: 0x6c7bb420, 0x2efce: 0x6ca49220, 0x2efcf: 0x6ca49420,\n\t0x2efd0: 0x6ca49620, 0x2efd1: 0x6ca49820, 0x2efd2: 0x6cd2c420, 0x2efd3: 0x6cd2c620,\n\t0x2efd4: 0x6cd2c820, 0x2efd5: 0x6cd2ca20, 0x2efd6: 0x6cd2cc20, 0x2efd7: 0x6d00bc20,\n\t0x2efd8: 0x6d00be20, 0x2efd9: 0x6d00c020, 0x2efda: 0x6d5bde20, 0x2efdb: 0x6d5be020,\n\t0x2efdc: 0x6d5be220, 0x2efdd: 0x6d5be420, 0x2efde: 0x6d5be620, 0x2efdf: 0x6d865420,\n\t0x2efe0: 0x6d865620, 0x2efe1: 0x6d865820, 0x2efe2: 0x6dab0020, 0x2efe3: 0x6dab0220,\n\t0x2efe4: 0x6dab0420, 0x2efe5: 0x6dab0620, 0x2efe6: 0x6dcb8420, 0x2efe7: 0x6dcb8620,\n\t0x2efe8: 0x6dcb8820, 0x2efe9: 0x6de6de20, 0x2efea: 0x6dfd7420, 0x2efeb: 0x6dfd7620,\n\t0x2efec: 0x6e104620, 0x2efed: 0x6e1f0020, 0x2efee: 0x6c0a2620, 0x2efef: 0x6c3c5620,\n\t0x2eff0: 0x6c7bd820, 0x2eff1: 0x6c7bda20, 0x2eff2: 0x6ca4ac20, 0x2eff3: 0x6cd2f020,\n\t0x2eff4: 0x6cd2f220, 0x2eff5: 0x6d00e820, 0x2eff6: 0x6d2ecc20, 0x2eff7: 0x6d2ece20,\n\t0x2eff8: 0x6d2ed020, 0x2eff9: 0x6d2ed220, 0x2effa: 0x6d5bfc20, 0x2effb: 0x6d866620,\n\t0x2effc: 0x6dab1620, 0x2effd: 0x6dcb9420, 0x2effe: 0x6dfd8220, 0x2efff: 0x6c0a2820,\n\t// Block 0xbc0, offset 0x2f000\n\t0x2f000: 0x6c250c20, 0x2f001: 0x6c250e20, 0x2f002: 0x6c3c6820, 0x2f003: 0x6c595220,\n\t0x2f004: 0x6c595420, 0x2f005: 0x6c595620, 0x2f006: 0x6c595820, 0x2f007: 0x6c595a20,\n\t0x2f008: 0x6c595c20, 0x2f009: 0x6c7bf620, 0x2f00a: 0x6c7bf820, 0x2f00b: 0x6c7bfa20,\n\t0x2f00c: 0x6c7bfc20, 0x2f00d: 0x6c7bfe20, 0x2f00e: 0x6c7c0020, 0x2f00f: 0x6c7c0220,\n\t0x2f010: 0x6c7c0420, 0x2f011: 0x6c7c0620, 0x2f012: 0x6ca4c220, 0x2f013: 0x6ca4c420,\n\t0x2f014: 0x6ca4c620, 0x2f015: 0x6ca4c820, 0x2f016: 0x6ca4ca20, 0x2f017: 0x6ca4cc20,\n\t0x2f018: 0x6ca4ce20, 0x2f019: 0x6cd30c20, 0x2f01a: 0x6cd30e20, 0x2f01b: 0x6ca4d020,\n\t0x2f01c: 0x6cd31020, 0x2f01d: 0x6d010c20, 0x2f01e: 0x6d010e20, 0x2f01f: 0x6d011020,\n\t0x2f020: 0x6d2ef420, 0x2f021: 0x6d2ef620, 0x2f022: 0x6d2ef820, 0x2f023: 0x6d2efa20,\n\t0x2f024: 0x6d5c0c20, 0x2f025: 0x6d868220, 0x2f026: 0x6d868420, 0x2f027: 0x6d868620,\n\t0x2f028: 0x6dab2020, 0x2f029: 0x6dab2220, 0x2f02a: 0x6dab2420, 0x2f02b: 0x6dcba820,\n\t0x2f02c: 0x6dcbaa20, 0x2f02d: 0x6dfd8e20, 0x2f02e: 0x6c0a2a20, 0x2f02f: 0x6c251820,\n\t0x2f030: 0x6c3c8020, 0x2f031: 0x6c3c8220, 0x2f032: 0x6c3c8420, 0x2f033: 0x6c3c8620,\n\t0x2f034: 0x6c3c8820, 0x2f035: 0x6c3c8a20, 0x2f036: 0x6c598820, 0x2f037: 0x6c598a20,\n\t0x2f038: 0x6c598c20, 0x2f039: 0x6c598e20, 0x2f03a: 0x6c599020, 0x2f03b: 0x6c599220,\n\t0x2f03c: 0x6c599420, 0x2f03d: 0x6c599620, 0x2f03e: 0x6c599820, 0x2f03f: 0x6c599a20,\n\t// Block 0xbc1, offset 0x2f040\n\t0x2f040: 0x6c599c20, 0x2f041: 0x6c599e20, 0x2f042: 0x6c59a020, 0x2f043: 0x6c59a220,\n\t0x2f044: 0x6c59a420, 0x2f045: 0x6c59a620, 0x2f046: 0x6c59a820, 0x2f047: 0x6c59aa20,\n\t0x2f048: 0x6c59ac20, 0x2f049: 0x6c59ae20, 0x2f04a: 0x6c59b020, 0x2f04b: 0x6c59b220,\n\t0x2f04c: 0x6c59b420, 0x2f04d: 0x6c59b620, 0x2f04e: 0x6c7c3e20, 0x2f04f: 0x6c7c4020,\n\t0x2f050: 0x6c7c4220, 0x2f051: 0x6c7c4420, 0x2f052: 0x6c7c4620, 0x2f053: 0x6c7c4820,\n\t0x2f054: 0x6c7c4a20, 0x2f055: 0x6c7c4c20, 0x2f056: 0x6c7c4e20, 0x2f057: 0x6c7c5020,\n\t0x2f058: 0x6c7c5220, 0x2f059: 0x6c7c5420, 0x2f05a: 0x6c7c5620, 0x2f05b: 0x6c7c5820,\n\t0x2f05c: 0x6c7c5a20, 0x2f05d: 0x6c7c5c20, 0x2f05e: 0x6c7c5e20, 0x2f05f: 0x6c7c6020,\n\t0x2f060: 0x6c7c6220, 0x2f061: 0x6c7c6420, 0x2f062: 0x6c7c6620, 0x2f063: 0x6c7c6820,\n\t0x2f064: 0x6c7c6a20, 0x2f065: 0x6ca4ee20, 0x2f066: 0x6ca4f020, 0x2f067: 0x6c7c6c20,\n\t0x2f068: 0x6c7c6e20, 0x2f069: 0x6c7c7020, 0x2f06a: 0x6c7c7220, 0x2f06b: 0x6c7c7420,\n\t0x2f06c: 0x6c7c7620, 0x2f06d: 0x6ca50220, 0x2f06e: 0x6ca50420, 0x2f06f: 0x6ca50620,\n\t0x2f070: 0x6ca50820, 0x2f071: 0x6ca50a20, 0x2f072: 0x6ca50c20, 0x2f073: 0x6ca50e20,\n\t0x2f074: 0x6ca51020, 0x2f075: 0x6ca51220, 0x2f076: 0x6ca51420, 0x2f077: 0x6ca51620,\n\t0x2f078: 0x6ca51820, 0x2f079: 0x6ca51a20, 0x2f07a: 0x6ca51c20, 0x2f07b: 0x6ca51e20,\n\t0x2f07c: 0x6ca52020, 0x2f07d: 0x6ca52220, 0x2f07e: 0x6ca52420, 0x2f07f: 0x6c7c7820,\n\t// Block 0xbc2, offset 0x2f080\n\t0x2f080: 0x6ca59220, 0x2f081: 0x6ca52620, 0x2f082: 0x6cd35020, 0x2f083: 0x6cd35220,\n\t0x2f084: 0x6cd35420, 0x2f085: 0x6cd35620, 0x2f086: 0x6cd35820, 0x2f087: 0x6cd35a20,\n\t0x2f088: 0x6cd35c20, 0x2f089: 0x6cd35e20, 0x2f08a: 0x6cd36020, 0x2f08b: 0x6cd36220,\n\t0x2f08c: 0x6cd36420, 0x2f08d: 0x6cd36620, 0x2f08e: 0x6cd36820, 0x2f08f: 0x6cd36a20,\n\t0x2f090: 0x6cd36c20, 0x2f091: 0x6cd36e20, 0x2f092: 0x6d014220, 0x2f093: 0x6d014420,\n\t0x2f094: 0x6d014620, 0x2f095: 0x6d014820, 0x2f096: 0x6d014a20, 0x2f097: 0x6d014c20,\n\t0x2f098: 0x6d014e20, 0x2f099: 0x6d015020, 0x2f09a: 0x6d015220, 0x2f09b: 0x6d015420,\n\t0x2f09c: 0x6d015620, 0x2f09d: 0x6d015820, 0x2f09e: 0x6d015a20, 0x2f09f: 0x6d015c20,\n\t0x2f0a0: 0x6d015e20, 0x2f0a1: 0x6d01f620, 0x2f0a2: 0x6d016020, 0x2f0a3: 0x6d016220,\n\t0x2f0a4: 0x6d016420, 0x2f0a5: 0x6d016620, 0x2f0a6: 0x6d016820, 0x2f0a7: 0x6d016a20,\n\t0x2f0a8: 0x6d016c20, 0x2f0a9: 0x6d016e20, 0x2f0aa: 0x6d017020, 0x2f0ab: 0x6d017220,\n\t0x2f0ac: 0x6d017420, 0x2f0ad: 0x6d017620, 0x2f0ae: 0x6d2f2220, 0x2f0af: 0x6d2f2420,\n\t0x2f0b0: 0x6d2f2620, 0x2f0b1: 0x6d2f2820, 0x2f0b2: 0x6d2f2a20, 0x2f0b3: 0x6d2f2c20,\n\t0x2f0b4: 0x6d2f2e20, 0x2f0b5: 0x6d2f3020, 0x2f0b6: 0x6d2f3220, 0x2f0b7: 0x6d2f3420,\n\t0x2f0b8: 0x6d2f3620, 0x2f0b9: 0x6d01f820, 0x2f0ba: 0x6d2f3820, 0x2f0bb: 0x6d2f3a20,\n\t0x2f0bc: 0x6d2f3c20, 0x2f0bd: 0x6d2f3e20, 0x2f0be: 0x6d2f4020, 0x2f0bf: 0x6d2f4220,\n\t// Block 0xbc3, offset 0x2f0c0\n\t0x2f0c0: 0x6d2f4420, 0x2f0c1: 0x6d2f4620, 0x2f0c2: 0x6d2f4820, 0x2f0c3: 0x6d2f4a20,\n\t0x2f0c4: 0x6d2f4c20, 0x2f0c5: 0x6d2f4e20, 0x2f0c6: 0x6d2f5020, 0x2f0c7: 0x6d5c3e20,\n\t0x2f0c8: 0x6d5c4020, 0x2f0c9: 0x6d5c4220, 0x2f0ca: 0x6d5c4420, 0x2f0cb: 0x6d5c4620,\n\t0x2f0cc: 0x6d5c4820, 0x2f0cd: 0x6d5c4a20, 0x2f0ce: 0x6d5c4c20, 0x2f0cf: 0x6d5c4e20,\n\t0x2f0d0: 0x6d5c5020, 0x2f0d1: 0x6d5c5220, 0x2f0d2: 0x6d5c5420, 0x2f0d3: 0x6d5c5620,\n\t0x2f0d4: 0x6d86c020, 0x2f0d5: 0x6d86c220, 0x2f0d6: 0x6d86c420, 0x2f0d7: 0x6d86c620,\n\t0x2f0d8: 0x6d86c820, 0x2f0d9: 0x6d86ca20, 0x2f0da: 0x6d86cc20, 0x2f0db: 0x6d86ce20,\n\t0x2f0dc: 0x6d86d020, 0x2f0dd: 0x6d86d220, 0x2f0de: 0x6d86d420, 0x2f0df: 0x6d86d620,\n\t0x2f0e0: 0x6d86d820, 0x2f0e1: 0x6d86da20, 0x2f0e2: 0x6d86dc20, 0x2f0e3: 0x6d86de20,\n\t0x2f0e4: 0x6dab6020, 0x2f0e5: 0x6d875220, 0x2f0e6: 0x6dab6220, 0x2f0e7: 0x6dab6420,\n\t0x2f0e8: 0x6dab6620, 0x2f0e9: 0x6dab6820, 0x2f0ea: 0x6dab6a20, 0x2f0eb: 0x6dab6c20,\n\t0x2f0ec: 0x6dab6e20, 0x2f0ed: 0x6dab7020, 0x2f0ee: 0x6dab7220, 0x2f0ef: 0x6dab7420,\n\t0x2f0f0: 0x6dab7620, 0x2f0f1: 0x6dab7820, 0x2f0f2: 0x6dab7a20, 0x2f0f3: 0x6dab7c20,\n\t0x2f0f4: 0x6dab7e20, 0x2f0f5: 0x6dab8020, 0x2f0f6: 0x6dab8220, 0x2f0f7: 0x6dab8420,\n\t0x2f0f8: 0x6dcbcc20, 0x2f0f9: 0x6dcbce20, 0x2f0fa: 0x6dcbd020, 0x2f0fb: 0x6dcbd220,\n\t0x2f0fc: 0x6dcbd420, 0x2f0fd: 0x6dcbd620, 0x2f0fe: 0x6dcbd820, 0x2f0ff: 0x6dcbda20,\n\t// Block 0xbc4, offset 0x2f100\n\t0x2f100: 0x6dcbdc20, 0x2f101: 0x6dcbde20, 0x2f102: 0x6dcbe020, 0x2f103: 0x6de70c20,\n\t0x2f104: 0x6de70e20, 0x2f105: 0x6de71020, 0x2f106: 0x6de71220, 0x2f107: 0x6de71420,\n\t0x2f108: 0x6de71620, 0x2f109: 0x6de71820, 0x2f10a: 0x6de71a20, 0x2f10b: 0x6dfdae20,\n\t0x2f10c: 0x6dfdb020, 0x2f10d: 0x6dfdb220, 0x2f10e: 0x6dfdb420, 0x2f10f: 0x6dfdb620,\n\t0x2f110: 0x6e106020, 0x2f111: 0x6e106220, 0x2f112: 0x6e106420, 0x2f113: 0x6e106620,\n\t0x2f114: 0x6e2a6c20, 0x2f115: 0x6e331420, 0x2f116: 0x6e332020, 0x2f117: 0x6e331620,\n\t0x2f118: 0x6e393a20, 0x2f119: 0x6e393c20, 0x2f11a: 0x6e3d8a20, 0x2f11b: 0x6c0a2c20,\n\t0x2f11c: 0x6c5a1c20, 0x2f11d: 0x6c7cd620, 0x2f11e: 0x6cd3f420, 0x2f11f: 0x6cd3f620,\n\t0x2f120: 0x6d01fa20, 0x2f121: 0x6e394020, 0x2f122: 0x6c0a2e20, 0x2f123: 0x6c253220,\n\t0x2f124: 0x6c3cb620, 0x2f125: 0x6c3cb820, 0x2f126: 0x6c5a2420, 0x2f127: 0x6c5a2620,\n\t0x2f128: 0x6c5a2820, 0x2f129: 0x6c7ce820, 0x2f12a: 0x6ca59e20, 0x2f12b: 0x6ca5a020,\n\t0x2f12c: 0x6cd40c20, 0x2f12d: 0x6cd40e20, 0x2f12e: 0x6d020820, 0x2f12f: 0x6dabf820,\n\t0x2f130: 0x6dabfa20, 0x2f131: 0x6de76020, 0x2f132: 0x6dfde820, 0x2f133: 0x6c0a3020,\n\t0x2f134: 0x6c253a20, 0x2f135: 0x6c253c20, 0x2f136: 0x6c253e20, 0x2f137: 0x6c3cc020,\n\t0x2f138: 0x6c3cc220, 0x2f139: 0x6c3cc420, 0x2f13a: 0x6c3cc620, 0x2f13b: 0x6c3cc820,\n\t0x2f13c: 0x6c3cca20, 0x2f13d: 0x6c3ccc20, 0x2f13e: 0x6c3cce20, 0x2f13f: 0x6c3cd020,\n\t// Block 0xbc5, offset 0x2f140\n\t0x2f140: 0x6c3cd220, 0x2f141: 0x6c3cd420, 0x2f142: 0x6c5a4820, 0x2f143: 0x6c5a4a20,\n\t0x2f144: 0x6c5a4c20, 0x2f145: 0x6c5a4e20, 0x2f146: 0x6c5a5020, 0x2f147: 0x6c5a5220,\n\t0x2f148: 0x6c5a5420, 0x2f149: 0x6c5a5620, 0x2f14a: 0x6c5a5820, 0x2f14b: 0x6c5a5a20,\n\t0x2f14c: 0x6c5a5c20, 0x2f14d: 0x6c5a5e20, 0x2f14e: 0x6c5a6020, 0x2f14f: 0x6c5a6220,\n\t0x2f150: 0x6c5a6420, 0x2f151: 0x6c5a6620, 0x2f152: 0x6c5a6820, 0x2f153: 0x6c5a6a20,\n\t0x2f154: 0x6c5a6c20, 0x2f155: 0x6c5a6e20, 0x2f156: 0x6c5a7020, 0x2f157: 0x6c5a7220,\n\t0x2f158: 0x6c5a7420, 0x2f159: 0x6c5a7620, 0x2f15a: 0x6c5a7820, 0x2f15b: 0x6c5a7a20,\n\t0x2f15c: 0x6c5a7c20, 0x2f15d: 0x6c7d1220, 0x2f15e: 0x6c7d1420, 0x2f15f: 0x6c7d1620,\n\t0x2f160: 0x6c7d1820, 0x2f161: 0x6c7d1a20, 0x2f162: 0x6c7d1c20, 0x2f163: 0x6c7d1e20,\n\t0x2f164: 0x6c7d2020, 0x2f165: 0x6c7d2220, 0x2f166: 0x6ca5ce20, 0x2f167: 0x6c7d2420,\n\t0x2f168: 0x6c7d2620, 0x2f169: 0x6c7d2820, 0x2f16a: 0x6c7d2a20, 0x2f16b: 0x6c7d2c20,\n\t0x2f16c: 0x6c7d2e20, 0x2f16d: 0x6c7d3020, 0x2f16e: 0x6c7d3220, 0x2f16f: 0x6c7d3420,\n\t0x2f170: 0x6c7d3620, 0x2f171: 0x6c7d3820, 0x2f172: 0x6c7d3a20, 0x2f173: 0x6c7d3c20,\n\t0x2f174: 0x6c7d3e20, 0x2f175: 0x6c7d4020, 0x2f176: 0x6c7d4220, 0x2f177: 0x6c7d4420,\n\t0x2f178: 0x6c7d4620, 0x2f179: 0x6c7d4820, 0x2f17a: 0x6c7d4a20, 0x2f17b: 0x6c7d4c20,\n\t0x2f17c: 0x6c7d4e20, 0x2f17d: 0x6c7d5020, 0x2f17e: 0x6c7d5220, 0x2f17f: 0x6c7d5420,\n\t// Block 0xbc6, offset 0x2f180\n\t0x2f180: 0x6c7d5620, 0x2f181: 0x6c7d5820, 0x2f182: 0x6ca5de20, 0x2f183: 0x6ca5e020,\n\t0x2f184: 0x6ca5e220, 0x2f185: 0x6ca5e420, 0x2f186: 0x6ca5e620, 0x2f187: 0x6ca5e820,\n\t0x2f188: 0x6ca5ea20, 0x2f189: 0x6ca5ec20, 0x2f18a: 0x6ca5ee20, 0x2f18b: 0x6ca5f020,\n\t0x2f18c: 0x6ca5f220, 0x2f18d: 0x6ca5f420, 0x2f18e: 0x6ca5f620, 0x2f18f: 0x6ca5f820,\n\t0x2f190: 0x6ca5fa20, 0x2f191: 0x6ca5fc20, 0x2f192: 0x6ca5fe20, 0x2f193: 0x6ca60020,\n\t0x2f194: 0x6ca60220, 0x2f195: 0x6ca60420, 0x2f196: 0x6ca60620, 0x2f197: 0x6ca60820,\n\t0x2f198: 0x6ca60a20, 0x2f199: 0x6ca60c20, 0x2f19a: 0x6ca60e20, 0x2f19b: 0x6ca61020,\n\t0x2f19c: 0x6cd43420, 0x2f19d: 0x6cd43620, 0x2f19e: 0x6cd43820, 0x2f19f: 0x6cd43a20,\n\t0x2f1a0: 0x6cd43c20, 0x2f1a1: 0x6cd43e20, 0x2f1a2: 0x6cd44020, 0x2f1a3: 0x6cd44220,\n\t0x2f1a4: 0x6cd44420, 0x2f1a5: 0x6cd44620, 0x2f1a6: 0x6cd44820, 0x2f1a7: 0x6cd44a20,\n\t0x2f1a8: 0x6cd44c20, 0x2f1a9: 0x6cd44e20, 0x2f1aa: 0x6cd45020, 0x2f1ab: 0x6cd45220,\n\t0x2f1ac: 0x6cd45420, 0x2f1ad: 0x6cd45620, 0x2f1ae: 0x6cd45820, 0x2f1af: 0x6cd45a20,\n\t0x2f1b0: 0x6cd45c20, 0x2f1b1: 0x6cd45e20, 0x2f1b2: 0x6cd46020, 0x2f1b3: 0x6cd46220,\n\t0x2f1b4: 0x6cd46420, 0x2f1b5: 0x6cd46620, 0x2f1b6: 0x6cd46820, 0x2f1b7: 0x6cd46a20,\n\t0x2f1b8: 0x6d025220, 0x2f1b9: 0x6d025420, 0x2f1ba: 0x6d025620, 0x2f1bb: 0x6d025820,\n\t0x2f1bc: 0x6d025a20, 0x2f1bd: 0x6d025c20, 0x2f1be: 0x6d300e20, 0x2f1bf: 0x6d025e20,\n\t// Block 0xbc7, offset 0x2f1c0\n\t0x2f1c0: 0x6d026020, 0x2f1c1: 0x6d026220, 0x2f1c2: 0x6d026420, 0x2f1c3: 0x6d026620,\n\t0x2f1c4: 0x6d026820, 0x2f1c5: 0x6d026a20, 0x2f1c6: 0x6d026c20, 0x2f1c7: 0x6d026e20,\n\t0x2f1c8: 0x6d027020, 0x2f1c9: 0x6d027220, 0x2f1ca: 0x6d027420, 0x2f1cb: 0x6d027620,\n\t0x2f1cc: 0x6d027820, 0x2f1cd: 0x6d027a20, 0x2f1ce: 0x6d027c20, 0x2f1cf: 0x6d027e20,\n\t0x2f1d0: 0x6d028020, 0x2f1d1: 0x6d028220, 0x2f1d2: 0x6d028420, 0x2f1d3: 0x6d028620,\n\t0x2f1d4: 0x6d028820, 0x2f1d5: 0x6d028a20, 0x2f1d6: 0x6d028c20, 0x2f1d7: 0x6d028e20,\n\t0x2f1d8: 0x6d029020, 0x2f1d9: 0x6d029220, 0x2f1da: 0x6d029420, 0x2f1db: 0x6d029620,\n\t0x2f1dc: 0x6d029820, 0x2f1dd: 0x6d301020, 0x2f1de: 0x6d301220, 0x2f1df: 0x6d301420,\n\t0x2f1e0: 0x6d301620, 0x2f1e1: 0x6d301820, 0x2f1e2: 0x6d301a20, 0x2f1e3: 0x6d301c20,\n\t0x2f1e4: 0x6d301e20, 0x2f1e5: 0x6d302020, 0x2f1e6: 0x6d302220, 0x2f1e7: 0x6d302420,\n\t0x2f1e8: 0x6d302620, 0x2f1e9: 0x6d302820, 0x2f1ea: 0x6d302a20, 0x2f1eb: 0x6d302c20,\n\t0x2f1ec: 0x6d302e20, 0x2f1ed: 0x6d303020, 0x2f1ee: 0x6d303220, 0x2f1ef: 0x6d303420,\n\t0x2f1f0: 0x6d029a20, 0x2f1f1: 0x6d303620, 0x2f1f2: 0x6d303820, 0x2f1f3: 0x6d303a20,\n\t0x2f1f4: 0x6d303c20, 0x2f1f5: 0x6d303e20, 0x2f1f6: 0x6d304020, 0x2f1f7: 0x6d304220,\n\t0x2f1f8: 0x6d304420, 0x2f1f9: 0x6d304620, 0x2f1fa: 0x6d5d0620, 0x2f1fb: 0x6d5d0820,\n\t0x2f1fc: 0x6d5d0a20, 0x2f1fd: 0x6d5d0c20, 0x2f1fe: 0x6d5d0e20, 0x2f1ff: 0x6d5d1020,\n\t// Block 0xbc8, offset 0x2f200\n\t0x2f200: 0x6d5d1220, 0x2f201: 0x6d304820, 0x2f202: 0x6d5d1420, 0x2f203: 0x6d5d1620,\n\t0x2f204: 0x6d5d1820, 0x2f205: 0x6d5d1a20, 0x2f206: 0x6d5d1c20, 0x2f207: 0x6d5d1e20,\n\t0x2f208: 0x6d5d2020, 0x2f209: 0x6d5d2220, 0x2f20a: 0x6d5d2420, 0x2f20b: 0x6d5d2620,\n\t0x2f20c: 0x6d5d2820, 0x2f20d: 0x6d5d2a20, 0x2f20e: 0x6d5d2c20, 0x2f20f: 0x6d5d2e20,\n\t0x2f210: 0x6d5d3020, 0x2f211: 0x6d5d3220, 0x2f212: 0x6d5d3420, 0x2f213: 0x6d5d3620,\n\t0x2f214: 0x6d5d3820, 0x2f215: 0x6d5d3a20, 0x2f216: 0x6d876620, 0x2f217: 0x6d5d3c20,\n\t0x2f218: 0x6d5d3e20, 0x2f219: 0x6d5d4020, 0x2f21a: 0x6d877a20, 0x2f21b: 0x6d877c20,\n\t0x2f21c: 0x6d876820, 0x2f21d: 0x6d877e20, 0x2f21e: 0x6d878020, 0x2f21f: 0x6d878220,\n\t0x2f220: 0x6d878420, 0x2f221: 0x6d878620, 0x2f222: 0x6d878820, 0x2f223: 0x6d878a20,\n\t0x2f224: 0x6d5d4220, 0x2f225: 0x6d878c20, 0x2f226: 0x6d878e20, 0x2f227: 0x6d879020,\n\t0x2f228: 0x6d879220, 0x2f229: 0x6d879420, 0x2f22a: 0x6d879620, 0x2f22b: 0x6d879820,\n\t0x2f22c: 0x6d879a20, 0x2f22d: 0x6d879c20, 0x2f22e: 0x6d879e20, 0x2f22f: 0x6dac1c20,\n\t0x2f230: 0x6dac1e20, 0x2f231: 0x6dac2020, 0x2f232: 0x6dac2220, 0x2f233: 0x6dac2420,\n\t0x2f234: 0x6dac2620, 0x2f235: 0x6dac2820, 0x2f236: 0x6dac2a20, 0x2f237: 0x6dac2c20,\n\t0x2f238: 0x6dac2e20, 0x2f239: 0x6dac3020, 0x2f23a: 0x6dac3220, 0x2f23b: 0x6dac3420,\n\t0x2f23c: 0x6dac3620, 0x2f23d: 0x6dac3820, 0x2f23e: 0x6dac3a20, 0x2f23f: 0x6dac3c20,\n\t// Block 0xbc9, offset 0x2f240\n\t0x2f240: 0x6dac3e20, 0x2f241: 0x6dac4020, 0x2f242: 0x6dac4220, 0x2f243: 0x6dac4420,\n\t0x2f244: 0x6dac4620, 0x2f245: 0x6dac4820, 0x2f246: 0x6dcc5020, 0x2f247: 0x6dcc5220,\n\t0x2f248: 0x6dcc5420, 0x2f249: 0x6dcc5620, 0x2f24a: 0x6dcc5820, 0x2f24b: 0x6dcc5a20,\n\t0x2f24c: 0x6dcc5c20, 0x2f24d: 0x6dcc5e20, 0x2f24e: 0x6dcc6020, 0x2f24f: 0x6dcc6220,\n\t0x2f250: 0x6dcc6420, 0x2f251: 0x6dcc6620, 0x2f252: 0x6dcc6820, 0x2f253: 0x6dcc6a20,\n\t0x2f254: 0x6dcc6c20, 0x2f255: 0x6dcc6e20, 0x2f256: 0x6dcc7020, 0x2f257: 0x6de76c20,\n\t0x2f258: 0x6de76e20, 0x2f259: 0x6de77020, 0x2f25a: 0x6de77220, 0x2f25b: 0x6de77420,\n\t0x2f25c: 0x6de77620, 0x2f25d: 0x6de77820, 0x2f25e: 0x6de77a20, 0x2f25f: 0x6de77c20,\n\t0x2f260: 0x6de77e20, 0x2f261: 0x6de78020, 0x2f262: 0x6dfdf220, 0x2f263: 0x6dfdf420,\n\t0x2f264: 0x6dfdf620, 0x2f265: 0x6dfdf820, 0x2f266: 0x6dfdfa20, 0x2f267: 0x6dfdfc20,\n\t0x2f268: 0x6dfdfe20, 0x2f269: 0x6dfe0020, 0x2f26a: 0x6dfe0220, 0x2f26b: 0x6dfe0420,\n\t0x2f26c: 0x6dfe0620, 0x2f26d: 0x6e109420, 0x2f26e: 0x6e109620, 0x2f26f: 0x6e109820,\n\t0x2f270: 0x6e109a20, 0x2f271: 0x6e109c20, 0x2f272: 0x6e109e20, 0x2f273: 0x6e10a020,\n\t0x2f274: 0x6e10a220, 0x2f275: 0x6e1f3820, 0x2f276: 0x6e2a8820, 0x2f277: 0x6e2a8a20,\n\t0x2f278: 0x6e332620, 0x2f279: 0x6e394220, 0x2f27a: 0x6c0a3420, 0x2f27b: 0x6c04fe20,\n\t0x2f27c: 0x6c13f620, 0x2f27d: 0x6c254e20, 0x2f27e: 0x6c3cee20, 0x2f27f: 0x6c3cf020,\n\t// Block 0xbca, offset 0x2f280\n\t0x2f280: 0x6c3cf220, 0x2f281: 0x6c3cf420, 0x2f282: 0x6c3cf620, 0x2f283: 0x6c3cf820,\n\t0x2f284: 0x6c5ac620, 0x2f285: 0x6c5ac820, 0x2f286: 0x6c5aca20, 0x2f287: 0x6c5acc20,\n\t0x2f288: 0x6c5ace20, 0x2f289: 0x6c5ad020, 0x2f28a: 0x6c5ad220, 0x2f28b: 0x6c5ad420,\n\t0x2f28c: 0x6c5ad620, 0x2f28d: 0x6c5ad820, 0x2f28e: 0x6c5ada20, 0x2f28f: 0x6c7dc420,\n\t0x2f290: 0x6c7dc620, 0x2f291: 0x6c7dc820, 0x2f292: 0x6c7dca20, 0x2f293: 0x6c7dcc20,\n\t0x2f294: 0x6c7dce20, 0x2f295: 0x6c7dd020, 0x2f296: 0x6c7dd220, 0x2f297: 0x6c7dd420,\n\t0x2f298: 0x6c7dd620, 0x2f299: 0x6c7dd820, 0x2f29a: 0x6c7dda20, 0x2f29b: 0x6c7ddc20,\n\t0x2f29c: 0x6c7dde20, 0x2f29d: 0x6c7de020, 0x2f29e: 0x6c7de220, 0x2f29f: 0x6c7de420,\n\t0x2f2a0: 0x6c7de620, 0x2f2a1: 0x6ca68a20, 0x2f2a2: 0x6c7de820, 0x2f2a3: 0x6ca69220,\n\t0x2f2a4: 0x6ca69420, 0x2f2a5: 0x6ca69620, 0x2f2a6: 0x6cd4c020, 0x2f2a7: 0x6ca69820,\n\t0x2f2a8: 0x6ca69a20, 0x2f2a9: 0x6ca69c20, 0x2f2aa: 0x6ca69e20, 0x2f2ab: 0x6ca6a020,\n\t0x2f2ac: 0x6ca6a220, 0x2f2ad: 0x6ca6a420, 0x2f2ae: 0x6ca6a620, 0x2f2af: 0x6ca6a820,\n\t0x2f2b0: 0x6cd4c220, 0x2f2b1: 0x6cd4c420, 0x2f2b2: 0x6cd4c620, 0x2f2b3: 0x6cd4c820,\n\t0x2f2b4: 0x6cd4ca20, 0x2f2b5: 0x6cd4cc20, 0x2f2b6: 0x6cd4ce20, 0x2f2b7: 0x6cd4d020,\n\t0x2f2b8: 0x6cd4d220, 0x2f2b9: 0x6d031820, 0x2f2ba: 0x6d031a20, 0x2f2bb: 0x6d031c20,\n\t0x2f2bc: 0x6d031e20, 0x2f2bd: 0x6d032020, 0x2f2be: 0x6d032220, 0x2f2bf: 0x6d032420,\n\t// Block 0xbcb, offset 0x2f2c0\n\t0x2f2c0: 0x6d032620, 0x2f2c1: 0x6d032820, 0x2f2c2: 0x6d032a20, 0x2f2c3: 0x6d032c20,\n\t0x2f2c4: 0x6cd4d420, 0x2f2c5: 0x6d032e20, 0x2f2c6: 0x6d033020, 0x2f2c7: 0x6d30be20,\n\t0x2f2c8: 0x6d30c020, 0x2f2c9: 0x6d30c220, 0x2f2ca: 0x6d30c420, 0x2f2cb: 0x6d30c620,\n\t0x2f2cc: 0x6d30c820, 0x2f2cd: 0x6d30ca20, 0x2f2ce: 0x6d30cc20, 0x2f2cf: 0x6d30ce20,\n\t0x2f2d0: 0x6d30d020, 0x2f2d1: 0x6d30d220, 0x2f2d2: 0x6d30d420, 0x2f2d3: 0x6d30d620,\n\t0x2f2d4: 0x6d30d820, 0x2f2d5: 0x6d30da20, 0x2f2d6: 0x6d30dc20, 0x2f2d7: 0x6d30de20,\n\t0x2f2d8: 0x6d30e020, 0x2f2d9: 0x6d30e220, 0x2f2da: 0x6d5d8c20, 0x2f2db: 0x6d5d8e20,\n\t0x2f2dc: 0x6d5d9020, 0x2f2dd: 0x6d5d9220, 0x2f2de: 0x6d5d9420, 0x2f2df: 0x6d5d9620,\n\t0x2f2e0: 0x6d5d9820, 0x2f2e1: 0x6d5d9a20, 0x2f2e2: 0x6d5d9c20, 0x2f2e3: 0x6d5d9e20,\n\t0x2f2e4: 0x6d87fe20, 0x2f2e5: 0x6d880020, 0x2f2e6: 0x6d880220, 0x2f2e7: 0x6daca020,\n\t0x2f2e8: 0x6daca220, 0x2f2e9: 0x6d880420, 0x2f2ea: 0x6daca420, 0x2f2eb: 0x6daca620,\n\t0x2f2ec: 0x6dcca420, 0x2f2ed: 0x6dcca620, 0x2f2ee: 0x6dcca820, 0x2f2ef: 0x6dccaa20,\n\t0x2f2f0: 0x6de7ac20, 0x2f2f1: 0x6de7ae20, 0x2f2f2: 0x6dfe3a20, 0x2f2f3: 0x6e1f5620,\n\t0x2f2f4: 0x6e1f5820, 0x2f2f5: 0x6e2aa020, 0x2f2f6: 0x6e333020, 0x2f2f7: 0x6e333220,\n\t0x2f2f8: 0x6c0a3820, 0x2f2f9: 0x6c5b2a20, 0x2f2fa: 0x6c5b2c20, 0x2f2fb: 0x6ca6f420,\n\t0x2f2fc: 0x6cd52620, 0x2f2fd: 0x6d037620, 0x2f2fe: 0x6c0a3c20, 0x2f2ff: 0x6c256820,\n\t// Block 0xbcc, offset 0x2f300\n\t0x2f300: 0x6c256a20, 0x2f301: 0x6c256c20, 0x2f302: 0x6c256e20, 0x2f303: 0x6c257020,\n\t0x2f304: 0x6c3d3a20, 0x2f305: 0x6c3d3c20, 0x2f306: 0x6c3d3e20, 0x2f307: 0x6c3d4020,\n\t0x2f308: 0x6c3d4220, 0x2f309: 0x6c3d4420, 0x2f30a: 0x6c3d4620, 0x2f30b: 0x6c5b3e20,\n\t0x2f30c: 0x6c5b4020, 0x2f30d: 0x6c5b4220, 0x2f30e: 0x6c5b4420, 0x2f30f: 0x6c5b4620,\n\t0x2f310: 0x6c5b4820, 0x2f311: 0x6c5b4a20, 0x2f312: 0x6c5b4c20, 0x2f313: 0x6c5b4e20,\n\t0x2f314: 0x6c5b5020, 0x2f315: 0x6c5b5220, 0x2f316: 0x6c5b5420, 0x2f317: 0x6c5b5620,\n\t0x2f318: 0x6c7e3820, 0x2f319: 0x6c7e3a20, 0x2f31a: 0x6c7e3c20, 0x2f31b: 0x6c7e3e20,\n\t0x2f31c: 0x6c7e4020, 0x2f31d: 0x6c7e4220, 0x2f31e: 0x6c7e4420, 0x2f31f: 0x6c7e4620,\n\t0x2f320: 0x6c7e4820, 0x2f321: 0x6c7e4a20, 0x2f322: 0x6c7e4c20, 0x2f323: 0x6c7e4e20,\n\t0x2f324: 0x6c7e5020, 0x2f325: 0x6c7e5220, 0x2f326: 0x6c7e5420, 0x2f327: 0x6c7e5620,\n\t0x2f328: 0x6c7e5820, 0x2f329: 0x6c7e5a20, 0x2f32a: 0x6c7e5c20, 0x2f32b: 0x6c7e5e20,\n\t0x2f32c: 0x6c7e6020, 0x2f32d: 0x6c7e6220, 0x2f32e: 0x6c7e6420, 0x2f32f: 0x6c7e6620,\n\t0x2f330: 0x6c7e6820, 0x2f331: 0x6ca71a20, 0x2f332: 0x6ca71c20, 0x2f333: 0x6ca71e20,\n\t0x2f334: 0x6ca72020, 0x2f335: 0x6ca72220, 0x2f336: 0x6ca72420, 0x2f337: 0x6ca72620,\n\t0x2f338: 0x6ca72820, 0x2f339: 0x6ca72a20, 0x2f33a: 0x6ca72c20, 0x2f33b: 0x6ca72e20,\n\t0x2f33c: 0x6ca73020, 0x2f33d: 0x6ca73220, 0x2f33e: 0x6ca73420, 0x2f33f: 0x6cd54020,\n\t// Block 0xbcd, offset 0x2f340\n\t0x2f340: 0x6cd54220, 0x2f341: 0x6cd54420, 0x2f342: 0x6cd54620, 0x2f343: 0x6cd54820,\n\t0x2f344: 0x6cd54a20, 0x2f345: 0x6cd54c20, 0x2f346: 0x6ca73620, 0x2f347: 0x6cd54e20,\n\t0x2f348: 0x6cd55020, 0x2f349: 0x6cd55220, 0x2f34a: 0x6cd55420, 0x2f34b: 0x6cd55620,\n\t0x2f34c: 0x6cd55820, 0x2f34d: 0x6cd55a20, 0x2f34e: 0x6cd55c20, 0x2f34f: 0x6d039420,\n\t0x2f350: 0x6d039620, 0x2f351: 0x6d039820, 0x2f352: 0x6d039a20, 0x2f353: 0x6d039c20,\n\t0x2f354: 0x6d039e20, 0x2f355: 0x6d03a020, 0x2f356: 0x6d03a220, 0x2f357: 0x6d03a420,\n\t0x2f358: 0x6d03a620, 0x2f359: 0x6d03a820, 0x2f35a: 0x6d03aa20, 0x2f35b: 0x6d03ac20,\n\t0x2f35c: 0x6d03ae20, 0x2f35d: 0x6d03b020, 0x2f35e: 0x6d03b220, 0x2f35f: 0x6d03b420,\n\t0x2f360: 0x6d03b620, 0x2f361: 0x6d03b820, 0x2f362: 0x6d03ba20, 0x2f363: 0x6d03bc20,\n\t0x2f364: 0x6d03be20, 0x2f365: 0x6d03c020, 0x2f366: 0x6d313220, 0x2f367: 0x6d313420,\n\t0x2f368: 0x6d313620, 0x2f369: 0x6d313820, 0x2f36a: 0x6d313a20, 0x2f36b: 0x6d313c20,\n\t0x2f36c: 0x6d313e20, 0x2f36d: 0x6d314020, 0x2f36e: 0x6d314220, 0x2f36f: 0x6d314420,\n\t0x2f370: 0x6d314620, 0x2f371: 0x6d314820, 0x2f372: 0x6d314a20, 0x2f373: 0x6d314c20,\n\t0x2f374: 0x6d5dee20, 0x2f375: 0x6d31c220, 0x2f376: 0x6d5df020, 0x2f377: 0x6d5df220,\n\t0x2f378: 0x6d5df420, 0x2f379: 0x6d5df620, 0x2f37a: 0x6d5df820, 0x2f37b: 0x6d5dfa20,\n\t0x2f37c: 0x6d5dfc20, 0x2f37d: 0x6d5dfe20, 0x2f37e: 0x6d5e0020, 0x2f37f: 0x6d5e0220,\n\t// Block 0xbce, offset 0x2f380\n\t0x2f380: 0x6d5e0420, 0x2f381: 0x6d5e0620, 0x2f382: 0x6d5e0820, 0x2f383: 0x6d5e0a20,\n\t0x2f384: 0x6d884220, 0x2f385: 0x6d884420, 0x2f386: 0x6d884620, 0x2f387: 0x6d884820,\n\t0x2f388: 0x6d884a20, 0x2f389: 0x6dacd420, 0x2f38a: 0x6d314e20, 0x2f38b: 0x6d884c20,\n\t0x2f38c: 0x6d884e20, 0x2f38d: 0x6d885020, 0x2f38e: 0x6d885220, 0x2f38f: 0x6d885420,\n\t0x2f390: 0x6d885620, 0x2f391: 0x6d885820, 0x2f392: 0x6d885a20, 0x2f393: 0x6d88ba20,\n\t0x2f394: 0x6dacd620, 0x2f395: 0x6dacd820, 0x2f396: 0x6dacda20, 0x2f397: 0x6dacdc20,\n\t0x2f398: 0x6dacde20, 0x2f399: 0x6dace020, 0x2f39a: 0x6dace220, 0x2f39b: 0x6dace420,\n\t0x2f39c: 0x6dace620, 0x2f39d: 0x6dace820, 0x2f39e: 0x6dacea20, 0x2f39f: 0x6dccce20,\n\t0x2f3a0: 0x6dccd020, 0x2f3a1: 0x6dccd220, 0x2f3a2: 0x6dccd420, 0x2f3a3: 0x6dccd620,\n\t0x2f3a4: 0x6de7bc20, 0x2f3a5: 0x6de7be20, 0x2f3a6: 0x6de7c020, 0x2f3a7: 0x6de7c220,\n\t0x2f3a8: 0x6de7c420, 0x2f3a9: 0x6de7c620, 0x2f3aa: 0x6de7c820, 0x2f3ab: 0x6de7ca20,\n\t0x2f3ac: 0x6dfe4a20, 0x2f3ad: 0x6dfe4c20, 0x2f3ae: 0x6dfe4e20, 0x2f3af: 0x6dfe5020,\n\t0x2f3b0: 0x6e1f6a20, 0x2f3b1: 0x6e1f7420, 0x2f3b2: 0x6e333e20, 0x2f3b3: 0x6e333c20,\n\t0x2f3b4: 0x6c0a4020, 0x2f3b5: 0x6c140c20, 0x2f3b6: 0x6c257c20, 0x2f3b7: 0x6c257e20,\n\t0x2f3b8: 0x6c3d6a20, 0x2f3b9: 0x6c3d6c20, 0x2f3ba: 0x6c3d6e20, 0x2f3bb: 0x6c3d7020,\n\t0x2f3bc: 0x6c5b9a20, 0x2f3bd: 0x6c5b9c20, 0x2f3be: 0x6c5b9e20, 0x2f3bf: 0x6c5ba020,\n\t// Block 0xbcf, offset 0x2f3c0\n\t0x2f3c0: 0x6c5ba220, 0x2f3c1: 0x6c5ba420, 0x2f3c2: 0x6c5ba620, 0x2f3c3: 0x6c5ba820,\n\t0x2f3c4: 0x6c7eac20, 0x2f3c5: 0x6c7eae20, 0x2f3c6: 0x6c7eb020, 0x2f3c7: 0x6c7eb220,\n\t0x2f3c8: 0x6c7eb420, 0x2f3c9: 0x6c7eb620, 0x2f3ca: 0x6c7eb820, 0x2f3cb: 0x6c7eba20,\n\t0x2f3cc: 0x6c7ebc20, 0x2f3cd: 0x6c7ebe20, 0x2f3ce: 0x6c7ec020, 0x2f3cf: 0x6ca78620,\n\t0x2f3d0: 0x6ca78820, 0x2f3d1: 0x6ca78a20, 0x2f3d2: 0x6ca78c20, 0x2f3d3: 0x6ca78e20,\n\t0x2f3d4: 0x6ca79020, 0x2f3d5: 0x6ca79220, 0x2f3d6: 0x6cd5ac20, 0x2f3d7: 0x6cd5ae20,\n\t0x2f3d8: 0x6cd5b020, 0x2f3d9: 0x6cd5b220, 0x2f3da: 0x6ca7c420, 0x2f3db: 0x6cd5b420,\n\t0x2f3dc: 0x6cd5b620, 0x2f3dd: 0x6cd5b820, 0x2f3de: 0x6d043220, 0x2f3df: 0x6d043420,\n\t0x2f3e0: 0x6d043620, 0x2f3e1: 0x6d043820, 0x2f3e2: 0x6d043a20, 0x2f3e3: 0x6d043c20,\n\t0x2f3e4: 0x6d043e20, 0x2f3e5: 0x6d044020, 0x2f3e6: 0x6d044220, 0x2f3e7: 0x6d044420,\n\t0x2f3e8: 0x6d31c820, 0x2f3e9: 0x6d31ca20, 0x2f3ea: 0x6d31cc20, 0x2f3eb: 0x6d31ce20,\n\t0x2f3ec: 0x6d31d020, 0x2f3ed: 0x6d31d220, 0x2f3ee: 0x6d5e7020, 0x2f3ef: 0x6d5e7220,\n\t0x2f3f0: 0x6d5e7420, 0x2f3f1: 0x6d5e7620, 0x2f3f2: 0x6d5e7820, 0x2f3f3: 0x6d5e7a20,\n\t0x2f3f4: 0x6d5e7c20, 0x2f3f5: 0x6d88c820, 0x2f3f6: 0x6d88ca20, 0x2f3f7: 0x6d88cc20,\n\t0x2f3f8: 0x6d88ce20, 0x2f3f9: 0x6d88d020, 0x2f3fa: 0x6d88d220, 0x2f3fb: 0x6d88d420,\n\t0x2f3fc: 0x6d88d620, 0x2f3fd: 0x6d88d820, 0x2f3fe: 0x6dad5020, 0x2f3ff: 0x6dad5220,\n\t// Block 0xbd0, offset 0x2f400\n\t0x2f400: 0x6dad5420, 0x2f401: 0x6dad5620, 0x2f402: 0x6dad5820, 0x2f403: 0x6e10de20,\n\t0x2f404: 0x6dcd2020, 0x2f405: 0x6dcd2220, 0x2f406: 0x6de7f620, 0x2f407: 0x6dfe8620,\n\t0x2f408: 0x6e10e020, 0x2f409: 0x6e10e220, 0x2f40a: 0x6e1f7820, 0x2f40b: 0x6c0a4420,\n\t0x2f40c: 0x6c258a20, 0x2f40d: 0x6c258c20, 0x2f40e: 0x6c3d9020, 0x2f40f: 0x6c3d9220,\n\t0x2f410: 0x6c5bd620, 0x2f411: 0x6c5bd820, 0x2f412: 0x6c5bda20, 0x2f413: 0x6c5bdc20,\n\t0x2f414: 0x6c5bde20, 0x2f415: 0x6c5be020, 0x2f416: 0x6c5be220, 0x2f417: 0x6c5be420,\n\t0x2f418: 0x6c7efe20, 0x2f419: 0x6c7f0020, 0x2f41a: 0x6c7f0220, 0x2f41b: 0x6c7f0420,\n\t0x2f41c: 0x6c7f0620, 0x2f41d: 0x6c7f0820, 0x2f41e: 0x6c7f0a20, 0x2f41f: 0x6cb6ae20,\n\t0x2f420: 0x6cb6b020, 0x2f421: 0x6ca7c820, 0x2f422: 0x6cd60e20, 0x2f423: 0x6cd61020,\n\t0x2f424: 0x6cd61220, 0x2f425: 0x6cd61420, 0x2f426: 0x6cd61620, 0x2f427: 0x6cd61820,\n\t0x2f428: 0x6d048e20, 0x2f429: 0x6d049020, 0x2f42a: 0x6d049220, 0x2f42b: 0x6d049420,\n\t0x2f42c: 0x6d320820, 0x2f42d: 0x6d320a20, 0x2f42e: 0x6d322e20, 0x2f42f: 0x6d320c20,\n\t0x2f430: 0x6d320e20, 0x2f431: 0x6d892220, 0x2f432: 0x6dad8a20, 0x2f433: 0x6dad8c20,\n\t0x2f434: 0x6dad8e20, 0x2f435: 0x6dcd3a20, 0x2f436: 0x6dfe9a20, 0x2f437: 0x6dfe9c20,\n\t0x2f438: 0x6e1f7e20, 0x2f439: 0x6c141020, 0x2f43a: 0x6c3d9a20, 0x2f43b: 0x6c3d9c20,\n\t0x2f43c: 0x6c5bf820, 0x2f43d: 0x6c5bfa20, 0x2f43e: 0x6c5bfc20, 0x2f43f: 0x6c5bfe20,\n\t// Block 0xbd1, offset 0x2f440\n\t0x2f440: 0x6c5c0020, 0x2f441: 0x6c5c0220, 0x2f442: 0x6c5c0420, 0x2f443: 0x6c5c0620,\n\t0x2f444: 0x6c7fa820, 0x2f445: 0x6c7f4020, 0x2f446: 0x6c7f4220, 0x2f447: 0x6c7f4420,\n\t0x2f448: 0x6c7f4620, 0x2f449: 0x6c7f4820, 0x2f44a: 0x6c7f4a20, 0x2f44b: 0x6c7f4c20,\n\t0x2f44c: 0x6c7f4e20, 0x2f44d: 0x6c7f5020, 0x2f44e: 0x6c7f5220, 0x2f44f: 0x6c7f5420,\n\t0x2f450: 0x6c7f5620, 0x2f451: 0x6c7f5820, 0x2f452: 0x6c7f5a20, 0x2f453: 0x6c7f5c20,\n\t0x2f454: 0x6c7f5e20, 0x2f455: 0x6c7f6020, 0x2f456: 0x6ca7fa20, 0x2f457: 0x6ca7fc20,\n\t0x2f458: 0x6ca7fe20, 0x2f459: 0x6ca80020, 0x2f45a: 0x6ca80220, 0x2f45b: 0x6ca80420,\n\t0x2f45c: 0x6ca80620, 0x2f45d: 0x6ca80820, 0x2f45e: 0x6ca80a20, 0x2f45f: 0x6ca80c20,\n\t0x2f460: 0x6ca80e20, 0x2f461: 0x6ca81020, 0x2f462: 0x6ca81220, 0x2f463: 0x6ca81420,\n\t0x2f464: 0x6ca81620, 0x2f465: 0x6ca81820, 0x2f466: 0x6ca81a20, 0x2f467: 0x6ca81c20,\n\t0x2f468: 0x6ca81e20, 0x2f469: 0x6ca82020, 0x2f46a: 0x6ca82220, 0x2f46b: 0x6ca82420,\n\t0x2f46c: 0x6ca82620, 0x2f46d: 0x6ca82820, 0x2f46e: 0x6ca82a20, 0x2f46f: 0x6ca82c20,\n\t0x2f470: 0x6ca82e20, 0x2f471: 0x6ca83020, 0x2f472: 0x6ca83220, 0x2f473: 0x6ca83420,\n\t0x2f474: 0x6ca83620, 0x2f475: 0x6ca83820, 0x2f476: 0x6ca83a20, 0x2f477: 0x6ca83c20,\n\t0x2f478: 0x6ca83e20, 0x2f479: 0x6ca84020, 0x2f47a: 0x6ca84220, 0x2f47b: 0x6ca84420,\n\t0x2f47c: 0x6ca84620, 0x2f47d: 0x6ca84820, 0x2f47e: 0x6ca84a20, 0x2f47f: 0x6cd65220,\n\t// Block 0xbd2, offset 0x2f480\n\t0x2f480: 0x6cd65420, 0x2f481: 0x6cd65620, 0x2f482: 0x6cd65820, 0x2f483: 0x6cd65a20,\n\t0x2f484: 0x6cd65c20, 0x2f485: 0x6cd65e20, 0x2f486: 0x6cd66020, 0x2f487: 0x6cd66220,\n\t0x2f488: 0x6cd66420, 0x2f489: 0x6cd66620, 0x2f48a: 0x6cd66820, 0x2f48b: 0x6cd66a20,\n\t0x2f48c: 0x6cd66c20, 0x2f48d: 0x6cd66e20, 0x2f48e: 0x6cd67020, 0x2f48f: 0x6cd67220,\n\t0x2f490: 0x6cd67420, 0x2f491: 0x6cd67620, 0x2f492: 0x6cd67820, 0x2f493: 0x6cd67a20,\n\t0x2f494: 0x6cd67c20, 0x2f495: 0x6cd67e20, 0x2f496: 0x6cd68020, 0x2f497: 0x6cd68220,\n\t0x2f498: 0x6cd68420, 0x2f499: 0x6cd68620, 0x2f49a: 0x6cd68820, 0x2f49b: 0x6cd68a20,\n\t0x2f49c: 0x6cd68c20, 0x2f49d: 0x6cd68e20, 0x2f49e: 0x6d04ce20, 0x2f49f: 0x6d04d020,\n\t0x2f4a0: 0x6d04d220, 0x2f4a1: 0x6d04d420, 0x2f4a2: 0x6d04d620, 0x2f4a3: 0x6d04d820,\n\t0x2f4a4: 0x6d04da20, 0x2f4a5: 0x6d04dc20, 0x2f4a6: 0x6d04de20, 0x2f4a7: 0x6d04e020,\n\t0x2f4a8: 0x6d04e220, 0x2f4a9: 0x6d04e420, 0x2f4aa: 0x6d04e620, 0x2f4ab: 0x6d04e820,\n\t0x2f4ac: 0x6cd6de20, 0x2f4ad: 0x6d04ea20, 0x2f4ae: 0x6d04ec20, 0x2f4af: 0x6d04ee20,\n\t0x2f4b0: 0x6d04f020, 0x2f4b1: 0x6d04f220, 0x2f4b2: 0x6d04f420, 0x2f4b3: 0x6d04f620,\n\t0x2f4b4: 0x6d04f820, 0x2f4b5: 0x6d323020, 0x2f4b6: 0x6d04fa20, 0x2f4b7: 0x6d04fc20,\n\t0x2f4b8: 0x6d04fe20, 0x2f4b9: 0x6d050020, 0x2f4ba: 0x6d050220, 0x2f4bb: 0x6d050420,\n\t0x2f4bc: 0x6d050620, 0x2f4bd: 0x6d050820, 0x2f4be: 0x6d050a20, 0x2f4bf: 0x6d050c20,\n\t// Block 0xbd3, offset 0x2f4c0\n\t0x2f4c0: 0x6d050e20, 0x2f4c1: 0x6d324c20, 0x2f4c2: 0x6d324e20, 0x2f4c3: 0x6d325020,\n\t0x2f4c4: 0x6d325220, 0x2f4c5: 0x6d325420, 0x2f4c6: 0x6d325620, 0x2f4c7: 0x6d325820,\n\t0x2f4c8: 0x6d325a20, 0x2f4c9: 0x6d325c20, 0x2f4ca: 0x6d325e20, 0x2f4cb: 0x6d326020,\n\t0x2f4cc: 0x6d326220, 0x2f4cd: 0x6d326420, 0x2f4ce: 0x6d326620, 0x2f4cf: 0x6d326820,\n\t0x2f4d0: 0x6d326a20, 0x2f4d1: 0x6d326c20, 0x2f4d2: 0x6d326e20, 0x2f4d3: 0x6d327020,\n\t0x2f4d4: 0x6d327220, 0x2f4d5: 0x6d327420, 0x2f4d6: 0x6d327620, 0x2f4d7: 0x6d327820,\n\t0x2f4d8: 0x6d327a20, 0x2f4d9: 0x6d327c20, 0x2f4da: 0x6d327e20, 0x2f4db: 0x6d328020,\n\t0x2f4dc: 0x6d328220, 0x2f4dd: 0x6d328420, 0x2f4de: 0x6d328620, 0x2f4df: 0x6d328820,\n\t0x2f4e0: 0x6d328a20, 0x2f4e1: 0x6d328c20, 0x2f4e2: 0x6d328e20, 0x2f4e3: 0x6d329020,\n\t0x2f4e4: 0x6d329220, 0x2f4e5: 0x6d329420, 0x2f4e6: 0x6d329620, 0x2f4e7: 0x6d329820,\n\t0x2f4e8: 0x6d329a20, 0x2f4e9: 0x6d329c20, 0x2f4ea: 0x6d329e20, 0x2f4eb: 0x6d32a020,\n\t0x2f4ec: 0x6d5f0420, 0x2f4ed: 0x6d5f0620, 0x2f4ee: 0x6d5f0820, 0x2f4ef: 0x6d5f0a20,\n\t0x2f4f0: 0x6d5f0c20, 0x2f4f1: 0x6d5f0e20, 0x2f4f2: 0x6d5f1020, 0x2f4f3: 0x6d5f1220,\n\t0x2f4f4: 0x6d5f1420, 0x2f4f5: 0x6d5f1620, 0x2f4f6: 0x6d5f1820, 0x2f4f7: 0x6d5f1a20,\n\t0x2f4f8: 0x6d333620, 0x2f4f9: 0x6d5f1c20, 0x2f4fa: 0x6d5f1e20, 0x2f4fb: 0x6d5f2020,\n\t0x2f4fc: 0x6d5f2220, 0x2f4fd: 0x6d5f2420, 0x2f4fe: 0x6d5f2620, 0x2f4ff: 0x6d5f2820,\n\t// Block 0xbd4, offset 0x2f500\n\t0x2f500: 0x6d051020, 0x2f501: 0x6d5f2a20, 0x2f502: 0x6d5f2c20, 0x2f503: 0x6d5f2e20,\n\t0x2f504: 0x6d5f3020, 0x2f505: 0x6d5f3220, 0x2f506: 0x6d5f3420, 0x2f507: 0x6d5f3620,\n\t0x2f508: 0x6d5f3820, 0x2f509: 0x6d894a20, 0x2f50a: 0x6d5f3a20, 0x2f50b: 0x6d5f3c20,\n\t0x2f50c: 0x6d5f3e20, 0x2f50d: 0x6d5f4020, 0x2f50e: 0x6d5f4220, 0x2f50f: 0x6d5f4420,\n\t0x2f510: 0x6d5f4620, 0x2f511: 0x6d5f4820, 0x2f512: 0x6d5f4a20, 0x2f513: 0x6d5f4c20,\n\t0x2f514: 0x6d894c20, 0x2f515: 0x6d894e20, 0x2f516: 0x6d895020, 0x2f517: 0x6d895220,\n\t0x2f518: 0x6d895420, 0x2f519: 0x6d895620, 0x2f51a: 0x6d895820, 0x2f51b: 0x6d895a20,\n\t0x2f51c: 0x6d895c20, 0x2f51d: 0x6d895e20, 0x2f51e: 0x6d896020, 0x2f51f: 0x6d896220,\n\t0x2f520: 0x6d896420, 0x2f521: 0x6d896620, 0x2f522: 0x6d896820, 0x2f523: 0x6d896a20,\n\t0x2f524: 0x6d896c20, 0x2f525: 0x6d896e20, 0x2f526: 0x6d897020, 0x2f527: 0x6d897220,\n\t0x2f528: 0x6d897420, 0x2f529: 0x6d897620, 0x2f52a: 0x6d897820, 0x2f52b: 0x6d897a20,\n\t0x2f52c: 0x6d897c20, 0x2f52d: 0x6d897e20, 0x2f52e: 0x6d898020, 0x2f52f: 0x6d898220,\n\t0x2f530: 0x6dadc820, 0x2f531: 0x6dadca20, 0x2f532: 0x6dadcc20, 0x2f533: 0x6dadce20,\n\t0x2f534: 0x6dadd020, 0x2f535: 0x6dadd220, 0x2f536: 0x6dadd420, 0x2f537: 0x6dadd620,\n\t0x2f538: 0x6dadd820, 0x2f539: 0x6d8a5020, 0x2f53a: 0x6dadda20, 0x2f53b: 0x6daddc20,\n\t0x2f53c: 0x6dadde20, 0x2f53d: 0x6dade020, 0x2f53e: 0x6dade220, 0x2f53f: 0x6dade420,\n\t// Block 0xbd5, offset 0x2f540\n\t0x2f540: 0x6dade620, 0x2f541: 0x6dade820, 0x2f542: 0x6dadea20, 0x2f543: 0x6dadec20,\n\t0x2f544: 0x6dadee20, 0x2f545: 0x6dadf020, 0x2f546: 0x6dadf220, 0x2f547: 0x6dadf420,\n\t0x2f548: 0x6dadf620, 0x2f549: 0x6dadf820, 0x2f54a: 0x6dadfa20, 0x2f54b: 0x6dadfc20,\n\t0x2f54c: 0x6dadfe20, 0x2f54d: 0x6dae0020, 0x2f54e: 0x6dae0220, 0x2f54f: 0x6dae0420,\n\t0x2f550: 0x6dae0620, 0x2f551: 0x6d898420, 0x2f552: 0x6dae0820, 0x2f553: 0x6dae0a20,\n\t0x2f554: 0x6dae0c20, 0x2f555: 0x6dada620, 0x2f556: 0x6dae0e20, 0x2f557: 0x6dae1020,\n\t0x2f558: 0x6daec420, 0x2f559: 0x6dcd7220, 0x2f55a: 0x6dcd7420, 0x2f55b: 0x6dcd7620,\n\t0x2f55c: 0x6dcd7820, 0x2f55d: 0x6dcd7a20, 0x2f55e: 0x6dcd7c20, 0x2f55f: 0x6dcd7e20,\n\t0x2f560: 0x6dcd8020, 0x2f561: 0x6dcd8220, 0x2f562: 0x6dcd8420, 0x2f563: 0x6dcd8620,\n\t0x2f564: 0x6dcd8820, 0x2f565: 0x6dcd8a20, 0x2f566: 0x6dcd8c20, 0x2f567: 0x6dcd8e20,\n\t0x2f568: 0x6dcd9020, 0x2f569: 0x6dcd9220, 0x2f56a: 0x6dcd9420, 0x2f56b: 0x6dcd9620,\n\t0x2f56c: 0x6de81220, 0x2f56d: 0x6dcd9820, 0x2f56e: 0x6dcd9a20, 0x2f56f: 0x6dcd9c20,\n\t0x2f570: 0x6dcd9e20, 0x2f571: 0x6dcda020, 0x2f572: 0x6dcda220, 0x2f573: 0x6de82820,\n\t0x2f574: 0x6de82a20, 0x2f575: 0x6de82c20, 0x2f576: 0x6de82e20, 0x2f577: 0x6de83020,\n\t0x2f578: 0x6de83220, 0x2f579: 0x6de83420, 0x2f57a: 0x6de83620, 0x2f57b: 0x6de83820,\n\t0x2f57c: 0x6de83a20, 0x2f57d: 0x6de83c20, 0x2f57e: 0x6de83e20, 0x2f57f: 0x6de84020,\n\t// Block 0xbd6, offset 0x2f580\n\t0x2f580: 0x6de84220, 0x2f581: 0x6de84420, 0x2f582: 0x6de84620, 0x2f583: 0x6dfeac20,\n\t0x2f584: 0x6dfeae20, 0x2f585: 0x6dfeb020, 0x2f586: 0x6dfeb220, 0x2f587: 0x6dfeb420,\n\t0x2f588: 0x6dfeb620, 0x2f589: 0x6dfeb820, 0x2f58a: 0x6dfeba20, 0x2f58b: 0x6dfebc20,\n\t0x2f58c: 0x6dfebe20, 0x2f58d: 0x6dfec020, 0x2f58e: 0x6dfec220, 0x2f58f: 0x6dfec420,\n\t0x2f590: 0x6e111820, 0x2f591: 0x6e111a20, 0x2f592: 0x6e111c20, 0x2f593: 0x6e111e20,\n\t0x2f594: 0x6e112020, 0x2f595: 0x6dfec620, 0x2f596: 0x6e110620, 0x2f597: 0x6e1f8e20,\n\t0x2f598: 0x6e1f9020, 0x2f599: 0x6e1f9220, 0x2f59a: 0x6e1f9420, 0x2f59b: 0x6e1f9620,\n\t0x2f59c: 0x6e1f9820, 0x2f59d: 0x6e1f9a20, 0x2f59e: 0x6e2ac420, 0x2f59f: 0x6e1f9c20,\n\t0x2f5a0: 0x6e1f9e20, 0x2f5a1: 0x6e1fa020, 0x2f5a2: 0x6e2acc20, 0x2f5a3: 0x6e2ace20,\n\t0x2f5a4: 0x6e2ad020, 0x2f5a5: 0x6e2ad220, 0x2f5a6: 0x6e2ad420, 0x2f5a7: 0x6e2ad620,\n\t0x2f5a8: 0x6e2ad820, 0x2f5a9: 0x6e396020, 0x2f5aa: 0x6e335420, 0x2f5ab: 0x6e396220,\n\t0x2f5ac: 0x6e396420, 0x2f5ad: 0x6e396620, 0x2f5ae: 0x6e396820, 0x2f5af: 0x6e3dae20,\n\t0x2f5b0: 0x6e3db020, 0x2f5b1: 0x6e453420, 0x2f5b2: 0x6e463620, 0x2f5b3: 0x6c141420,\n\t0x2f5b4: 0x6c3da820, 0x2f5b5: 0x6c3daa20, 0x2f5b6: 0x6c3dac20, 0x2f5b7: 0x6c5c3220,\n\t0x2f5b8: 0x6c5c3420, 0x2f5b9: 0x6c5c3620, 0x2f5ba: 0x6c5c3820, 0x2f5bb: 0x6c5c3a20,\n\t0x2f5bc: 0x6c5c3c20, 0x2f5bd: 0x6c5c3e20, 0x2f5be: 0x6c5c4020, 0x2f5bf: 0x6c5c4220,\n\t// Block 0xbd7, offset 0x2f5c0\n\t0x2f5c0: 0x6c5c4420, 0x2f5c1: 0x6c5c4620, 0x2f5c2: 0x6c5c4820, 0x2f5c3: 0x6c7fae20,\n\t0x2f5c4: 0x6c7fb020, 0x2f5c5: 0x6c7fb220, 0x2f5c6: 0x6c7fb420, 0x2f5c7: 0x6c7fb620,\n\t0x2f5c8: 0x6c7fb820, 0x2f5c9: 0x6c7fba20, 0x2f5ca: 0x6c7fbc20, 0x2f5cb: 0x6c7fbe20,\n\t0x2f5cc: 0x6c7fc020, 0x2f5cd: 0x6c7fc220, 0x2f5ce: 0x6c7fc420, 0x2f5cf: 0x6c7fc620,\n\t0x2f5d0: 0x6c7fc820, 0x2f5d1: 0x6c7fca20, 0x2f5d2: 0x6ca89c20, 0x2f5d3: 0x6ca89e20,\n\t0x2f5d4: 0x6ca8a020, 0x2f5d5: 0x6ca8a220, 0x2f5d6: 0x6ca8a420, 0x2f5d7: 0x6ca8a620,\n\t0x2f5d8: 0x6ca8a820, 0x2f5d9: 0x6ca8aa20, 0x2f5da: 0x6ca8ac20, 0x2f5db: 0x6ca8ae20,\n\t0x2f5dc: 0x6ca8b020, 0x2f5dd: 0x6ca8b220, 0x2f5de: 0x6cd6ec20, 0x2f5df: 0x6cd6ee20,\n\t0x2f5e0: 0x6cd6f020, 0x2f5e1: 0x6cd6f220, 0x2f5e2: 0x6cd6f420, 0x2f5e3: 0x6ca8b420,\n\t0x2f5e4: 0x6cd6f620, 0x2f5e5: 0x6cd6f820, 0x2f5e6: 0x6cd6fa20, 0x2f5e7: 0x6cd6fc20,\n\t0x2f5e8: 0x6cd6fe20, 0x2f5e9: 0x6cd70020, 0x2f5ea: 0x6cd70220, 0x2f5eb: 0x6cd70420,\n\t0x2f5ec: 0x6cd70620, 0x2f5ed: 0x6cd70820, 0x2f5ee: 0x6d05a420, 0x2f5ef: 0x6d05a620,\n\t0x2f5f0: 0x6d05a820, 0x2f5f1: 0x6d05aa20, 0x2f5f2: 0x6d05ac20, 0x2f5f3: 0x6d05ae20,\n\t0x2f5f4: 0x6d05b020, 0x2f5f5: 0x6d05b220, 0x2f5f6: 0x6d334420, 0x2f5f7: 0x6d334620,\n\t0x2f5f8: 0x6d334820, 0x2f5f9: 0x6d334a20, 0x2f5fa: 0x6d334c20, 0x2f5fb: 0x6d334e20,\n\t0x2f5fc: 0x6d335020, 0x2f5fd: 0x6d335220, 0x2f5fe: 0x6d335420, 0x2f5ff: 0x6d335620,\n\t// Block 0xbd8, offset 0x2f600\n\t0x2f600: 0x6d05b420, 0x2f601: 0x6d335820, 0x2f602: 0x6d5ffc20, 0x2f603: 0x6d5ffe20,\n\t0x2f604: 0x6d600020, 0x2f605: 0x6d600220, 0x2f606: 0x6d600420, 0x2f607: 0x6d600620,\n\t0x2f608: 0x6d600820, 0x2f609: 0x6d600a20, 0x2f60a: 0x6d600c20, 0x2f60b: 0x6d600e20,\n\t0x2f60c: 0x6d601020, 0x2f60d: 0x6d601220, 0x2f60e: 0x6d601420, 0x2f60f: 0x6d8a5820,\n\t0x2f610: 0x6d8a5a20, 0x2f611: 0x6d8a5c20, 0x2f612: 0x6d8a5e20, 0x2f613: 0x6d8a6020,\n\t0x2f614: 0x6d8a6220, 0x2f615: 0x6d8a6420, 0x2f616: 0x6d8a6620, 0x2f617: 0x6d8a6820,\n\t0x2f618: 0x6d8a6a20, 0x2f619: 0x6daed420, 0x2f61a: 0x6daed620, 0x2f61b: 0x6daed820,\n\t0x2f61c: 0x6daeda20, 0x2f61d: 0x6daedc20, 0x2f61e: 0x6daede20, 0x2f61f: 0x6daee020,\n\t0x2f620: 0x6daee220, 0x2f621: 0x6daee420, 0x2f622: 0x6daee620, 0x2f623: 0x6dce7220,\n\t0x2f624: 0x6dce7420, 0x2f625: 0x6dce7620, 0x2f626: 0x6dce7820, 0x2f627: 0x6dce7a20,\n\t0x2f628: 0x6daee820, 0x2f629: 0x6de8c820, 0x2f62a: 0x6de8ca20, 0x2f62b: 0x6de8cc20,\n\t0x2f62c: 0x6de8ce20, 0x2f62d: 0x6de8d020, 0x2f62e: 0x6dff2020, 0x2f62f: 0x6dff2220,\n\t0x2f630: 0x6dff2420, 0x2f631: 0x6e1fe420, 0x2f632: 0x6e118c20, 0x2f633: 0x6e3dc220,\n\t0x2f634: 0x6e1fe620, 0x2f635: 0x6e2b0820, 0x2f636: 0x6e398820, 0x2f637: 0x6e409e20,\n\t0x2f638: 0x6c141620, 0x2f639: 0x6c141820, 0x2f63a: 0x6c259a20, 0x2f63b: 0x6c259c20,\n\t0x2f63c: 0x6c3dbc20, 0x2f63d: 0x6c3dbe20, 0x2f63e: 0x6c3dc020, 0x2f63f: 0x6c3dc220,\n\t// Block 0xbd9, offset 0x2f640\n\t0x2f640: 0x6c5c6620, 0x2f641: 0x6c5c6820, 0x2f642: 0x6c5c6a20, 0x2f643: 0x6c5c6c20,\n\t0x2f644: 0x6c5c6e20, 0x2f645: 0x6c5c7020, 0x2f646: 0x6c5c7220, 0x2f647: 0x6c5c7420,\n\t0x2f648: 0x6c5c7620, 0x2f649: 0x6c5c7820, 0x2f64a: 0x6c800a20, 0x2f64b: 0x6c800c20,\n\t0x2f64c: 0x6c800e20, 0x2f64d: 0x6c801020, 0x2f64e: 0x6c801220, 0x2f64f: 0x6c801420,\n\t0x2f650: 0x6c801620, 0x2f651: 0x6c801820, 0x2f652: 0x6c801a20, 0x2f653: 0x6c801c20,\n\t0x2f654: 0x6c801e20, 0x2f655: 0x6c802020, 0x2f656: 0x6c802220, 0x2f657: 0x6c802420,\n\t0x2f658: 0x6c802620, 0x2f659: 0x6c802820, 0x2f65a: 0x6c802a20, 0x2f65b: 0x6c802c20,\n\t0x2f65c: 0x6c802e20, 0x2f65d: 0x6c803020, 0x2f65e: 0x6c803220, 0x2f65f: 0x6c803420,\n\t0x2f660: 0x6c803620, 0x2f661: 0x6c803820, 0x2f662: 0x6c803a20, 0x2f663: 0x6c803c20,\n\t0x2f664: 0x6c803e20, 0x2f665: 0x6c804020, 0x2f666: 0x6c804220, 0x2f667: 0x6c804420,\n\t0x2f668: 0x6ca90c20, 0x2f669: 0x6ca90e20, 0x2f66a: 0x6cd74220, 0x2f66b: 0x6cd74420,\n\t0x2f66c: 0x6ca91020, 0x2f66d: 0x6ca91220, 0x2f66e: 0x6ca91420, 0x2f66f: 0x6ca91620,\n\t0x2f670: 0x6ca91820, 0x2f671: 0x6ca91a20, 0x2f672: 0x6ca91c20, 0x2f673: 0x6ca91e20,\n\t0x2f674: 0x6ca92020, 0x2f675: 0x6ca92220, 0x2f676: 0x6ca92420, 0x2f677: 0x6ca92620,\n\t0x2f678: 0x6ca92820, 0x2f679: 0x6ca92a20, 0x2f67a: 0x6ca92c20, 0x2f67b: 0x6ca92e20,\n\t0x2f67c: 0x6ca93020, 0x2f67d: 0x6ca93220, 0x2f67e: 0x6ca93420, 0x2f67f: 0x6ca93620,\n\t// Block 0xbda, offset 0x2f680\n\t0x2f680: 0x6ca93820, 0x2f681: 0x6ca93a20, 0x2f682: 0x6ca93c20, 0x2f683: 0x6ca93e20,\n\t0x2f684: 0x6ca94020, 0x2f685: 0x6ca94220, 0x2f686: 0x6ca94420, 0x2f687: 0x6ca94620,\n\t0x2f688: 0x6ca94820, 0x2f689: 0x6ca94a20, 0x2f68a: 0x6ca94c20, 0x2f68b: 0x6ca94e20,\n\t0x2f68c: 0x6ca95020, 0x2f68d: 0x6cd75a20, 0x2f68e: 0x6cd75c20, 0x2f68f: 0x6cd75e20,\n\t0x2f690: 0x6cd76020, 0x2f691: 0x6cd76220, 0x2f692: 0x6cd76420, 0x2f693: 0x6cd76620,\n\t0x2f694: 0x6cd76820, 0x2f695: 0x6cd76a20, 0x2f696: 0x6cd76c20, 0x2f697: 0x6cd76e20,\n\t0x2f698: 0x6cd77020, 0x2f699: 0x6cd77220, 0x2f69a: 0x6cd77420, 0x2f69b: 0x6d061420,\n\t0x2f69c: 0x6cd77620, 0x2f69d: 0x6cd77820, 0x2f69e: 0x6cd77a20, 0x2f69f: 0x6cd77c20,\n\t0x2f6a0: 0x6cd77e20, 0x2f6a1: 0x6cd78020, 0x2f6a2: 0x6cd78220, 0x2f6a3: 0x6cd78420,\n\t0x2f6a4: 0x6cd78620, 0x2f6a5: 0x6cd78820, 0x2f6a6: 0x6cd78a20, 0x2f6a7: 0x6cd78c20,\n\t0x2f6a8: 0x6cd78e20, 0x2f6a9: 0x6cd79020, 0x2f6aa: 0x6cd79220, 0x2f6ab: 0x6cd79420,\n\t0x2f6ac: 0x6cd79620, 0x2f6ad: 0x6cd79820, 0x2f6ae: 0x6cd79a20, 0x2f6af: 0x6cd79c20,\n\t0x2f6b0: 0x6cd79e20, 0x2f6b1: 0x6cd7a020, 0x2f6b2: 0x6cd7a220, 0x2f6b3: 0x6cd7a420,\n\t0x2f6b4: 0x6cd7a620, 0x2f6b5: 0x6cd7a820, 0x2f6b6: 0x6cd7aa20, 0x2f6b7: 0x6cd7ac20,\n\t0x2f6b8: 0x6d061620, 0x2f6b9: 0x6d061820, 0x2f6ba: 0x6d061a20, 0x2f6bb: 0x6d061c20,\n\t0x2f6bc: 0x6d061e20, 0x2f6bd: 0x6d062020, 0x2f6be: 0x6cd80c20, 0x2f6bf: 0x6d062220,\n\t// Block 0xbdb, offset 0x2f6c0\n\t0x2f6c0: 0x6d062420, 0x2f6c1: 0x6d062620, 0x2f6c2: 0x6d062820, 0x2f6c3: 0x6d062a20,\n\t0x2f6c4: 0x6d062c20, 0x2f6c5: 0x6d062e20, 0x2f6c6: 0x6d063020, 0x2f6c7: 0x6d063220,\n\t0x2f6c8: 0x6d063420, 0x2f6c9: 0x6d063620, 0x2f6ca: 0x6d063820, 0x2f6cb: 0x6d063a20,\n\t0x2f6cc: 0x6d063c20, 0x2f6cd: 0x6d063e20, 0x2f6ce: 0x6d064020, 0x2f6cf: 0x6d064220,\n\t0x2f6d0: 0x6d064420, 0x2f6d1: 0x6d064620, 0x2f6d2: 0x6d064820, 0x2f6d3: 0x6d064a20,\n\t0x2f6d4: 0x6d064c20, 0x2f6d5: 0x6d064e20, 0x2f6d6: 0x6d33b420, 0x2f6d7: 0x6d065020,\n\t0x2f6d8: 0x6d065220, 0x2f6d9: 0x6d065420, 0x2f6da: 0x6d065620, 0x2f6db: 0x6d065820,\n\t0x2f6dc: 0x6d33d020, 0x2f6dd: 0x6d33d220, 0x2f6de: 0x6d33d420, 0x2f6df: 0x6d33d620,\n\t0x2f6e0: 0x6d33d820, 0x2f6e1: 0x6d33da20, 0x2f6e2: 0x6d33dc20, 0x2f6e3: 0x6d33de20,\n\t0x2f6e4: 0x6d33e020, 0x2f6e5: 0x6d33e220, 0x2f6e6: 0x6d33e420, 0x2f6e7: 0x6d33e620,\n\t0x2f6e8: 0x6d33e820, 0x2f6e9: 0x6d33ea20, 0x2f6ea: 0x6d33ec20, 0x2f6eb: 0x6d33ee20,\n\t0x2f6ec: 0x6d33f020, 0x2f6ed: 0x6d33f220, 0x2f6ee: 0x6d33f420, 0x2f6ef: 0x6d33f620,\n\t0x2f6f0: 0x6d33f820, 0x2f6f1: 0x6d33fa20, 0x2f6f2: 0x6d33fc20, 0x2f6f3: 0x6d33fe20,\n\t0x2f6f4: 0x6d340020, 0x2f6f5: 0x6d340220, 0x2f6f6: 0x6d340420, 0x2f6f7: 0x6d340620,\n\t0x2f6f8: 0x6d340820, 0x2f6f9: 0x6d340a20, 0x2f6fa: 0x6d340c20, 0x2f6fb: 0x6d340e20,\n\t0x2f6fc: 0x6d341020, 0x2f6fd: 0x6d341220, 0x2f6fe: 0x6d341420, 0x2f6ff: 0x6d341620,\n\t// Block 0xbdc, offset 0x2f700\n\t0x2f700: 0x6d341820, 0x2f701: 0x6d341a20, 0x2f702: 0x6d341c20, 0x2f703: 0x6d341e20,\n\t0x2f704: 0x6d342020, 0x2f705: 0x6d342220, 0x2f706: 0x6d342420, 0x2f707: 0x6d342620,\n\t0x2f708: 0x6d342820, 0x2f709: 0x6d342a20, 0x2f70a: 0x6d342c20, 0x2f70b: 0x6d342e20,\n\t0x2f70c: 0x6d343020, 0x2f70d: 0x6d343220, 0x2f70e: 0x6d343420, 0x2f70f: 0x6d343620,\n\t0x2f710: 0x6d33b620, 0x2f711: 0x6d343820, 0x2f712: 0x6d343a20, 0x2f713: 0x6d608820,\n\t0x2f714: 0x6d343c20, 0x2f715: 0x6d343e20, 0x2f716: 0x6d608a20, 0x2f717: 0x6d608c20,\n\t0x2f718: 0x6d608e20, 0x2f719: 0x6d609020, 0x2f71a: 0x6d609220, 0x2f71b: 0x6d609420,\n\t0x2f71c: 0x6d609620, 0x2f71d: 0x6d609820, 0x2f71e: 0x6d609a20, 0x2f71f: 0x6d609c20,\n\t0x2f720: 0x6d609e20, 0x2f721: 0x6d60a020, 0x2f722: 0x6d60a220, 0x2f723: 0x6d60a420,\n\t0x2f724: 0x6d60a620, 0x2f725: 0x6d60a820, 0x2f726: 0x6d60aa20, 0x2f727: 0x6d60ac20,\n\t0x2f728: 0x6d60ae20, 0x2f729: 0x6d60b020, 0x2f72a: 0x6d60b220, 0x2f72b: 0x6d60b420,\n\t0x2f72c: 0x6d60b620, 0x2f72d: 0x6d60b820, 0x2f72e: 0x6d60ba20, 0x2f72f: 0x6d60bc20,\n\t0x2f730: 0x6d60be20, 0x2f731: 0x6d60c020, 0x2f732: 0x6d60c220, 0x2f733: 0x6d60c420,\n\t0x2f734: 0x6d60c620, 0x2f735: 0x6d60c820, 0x2f736: 0x6d60ca20, 0x2f737: 0x6d60cc20,\n\t0x2f738: 0x6d60ce20, 0x2f739: 0x6d60d020, 0x2f73a: 0x6d60d220, 0x2f73b: 0x6d60d420,\n\t0x2f73c: 0x6d60d620, 0x2f73d: 0x6d60d820, 0x2f73e: 0x6d60da20, 0x2f73f: 0x6d60dc20,\n\t// Block 0xbdd, offset 0x2f740\n\t0x2f740: 0x6d60de20, 0x2f741: 0x6d60e020, 0x2f742: 0x6d60e220, 0x2f743: 0x6d60e420,\n\t0x2f744: 0x6d60e620, 0x2f745: 0x6d60e820, 0x2f746: 0x6d60ea20, 0x2f747: 0x6d60ec20,\n\t0x2f748: 0x6d8aba20, 0x2f749: 0x6d8abc20, 0x2f74a: 0x6d8abe20, 0x2f74b: 0x6d8ac020,\n\t0x2f74c: 0x6d8ac220, 0x2f74d: 0x6d8ac420, 0x2f74e: 0x6d8ac620, 0x2f74f: 0x6d8ac820,\n\t0x2f750: 0x6d8aca20, 0x2f751: 0x6d8acc20, 0x2f752: 0x6d8ace20, 0x2f753: 0x6d8ad020,\n\t0x2f754: 0x6d8ad220, 0x2f755: 0x6d8ad420, 0x2f756: 0x6d8ad620, 0x2f757: 0x6d8ad820,\n\t0x2f758: 0x6d8ada20, 0x2f759: 0x6d8adc20, 0x2f75a: 0x6d8ade20, 0x2f75b: 0x6d8ae020,\n\t0x2f75c: 0x6d8ae220, 0x2f75d: 0x6d8ae420, 0x2f75e: 0x6d8ae620, 0x2f75f: 0x6d8ae820,\n\t0x2f760: 0x6d8aea20, 0x2f761: 0x6d8aec20, 0x2f762: 0x6d8aee20, 0x2f763: 0x6d8af020,\n\t0x2f764: 0x6d8af220, 0x2f765: 0x6d8af420, 0x2f766: 0x6d8af620, 0x2f767: 0x6d8af820,\n\t0x2f768: 0x6d8afa20, 0x2f769: 0x6daf3420, 0x2f76a: 0x6daf3620, 0x2f76b: 0x6daf3820,\n\t0x2f76c: 0x6daf3a20, 0x2f76d: 0x6daf3c20, 0x2f76e: 0x6daf3e20, 0x2f76f: 0x6daf4020,\n\t0x2f770: 0x6daf4220, 0x2f771: 0x6daf4420, 0x2f772: 0x6daf4620, 0x2f773: 0x6daf4820,\n\t0x2f774: 0x6daf4a20, 0x2f775: 0x6daf4c20, 0x2f776: 0x6daf4e20, 0x2f777: 0x6daf5020,\n\t0x2f778: 0x6daf5220, 0x2f779: 0x6daf5420, 0x2f77a: 0x6daf5620, 0x2f77b: 0x6daf5820,\n\t0x2f77c: 0x6daf5a20, 0x2f77d: 0x6daf5c20, 0x2f77e: 0x6daf5e20, 0x2f77f: 0x6daf6020,\n\t// Block 0xbde, offset 0x2f780\n\t0x2f780: 0x6daf6220, 0x2f781: 0x6daf6420, 0x2f782: 0x6daf6620, 0x2f783: 0x6daf6820,\n\t0x2f784: 0x6daf6a20, 0x2f785: 0x6daf6c20, 0x2f786: 0x6daf6e20, 0x2f787: 0x6daf7020,\n\t0x2f788: 0x6dafea20, 0x2f789: 0x6daf7220, 0x2f78a: 0x6daf7420, 0x2f78b: 0x6de91a20,\n\t0x2f78c: 0x6daf7620, 0x2f78d: 0x6daf7820, 0x2f78e: 0x6dcecc20, 0x2f78f: 0x6dcece20,\n\t0x2f790: 0x6dced020, 0x2f791: 0x6dced220, 0x2f792: 0x6dced420, 0x2f793: 0x6dced620,\n\t0x2f794: 0x6dced820, 0x2f795: 0x6dceda20, 0x2f796: 0x6dcedc20, 0x2f797: 0x6dcede20,\n\t0x2f798: 0x6dcee020, 0x2f799: 0x6dcee220, 0x2f79a: 0x6dcee420, 0x2f79b: 0x6dcee620,\n\t0x2f79c: 0x6dcee820, 0x2f79d: 0x6dceea20, 0x2f79e: 0x6dceec20, 0x2f79f: 0x6dceee20,\n\t0x2f7a0: 0x6dcef020, 0x2f7a1: 0x6dcef220, 0x2f7a2: 0x6dcef420, 0x2f7a3: 0x6dcef620,\n\t0x2f7a4: 0x6dcef820, 0x2f7a5: 0x6dcefa20, 0x2f7a6: 0x6de91c20, 0x2f7a7: 0x6dcefc20,\n\t0x2f7a8: 0x6de91e20, 0x2f7a9: 0x6de92020, 0x2f7aa: 0x6de92220, 0x2f7ab: 0x6de92420,\n\t0x2f7ac: 0x6de92620, 0x2f7ad: 0x6de92820, 0x2f7ae: 0x6de92a20, 0x2f7af: 0x6de92c20,\n\t0x2f7b0: 0x6de92e20, 0x2f7b1: 0x6dcefe20, 0x2f7b2: 0x6de93020, 0x2f7b3: 0x6de93220,\n\t0x2f7b4: 0x6de93420, 0x2f7b5: 0x6de93620, 0x2f7b6: 0x6de93820, 0x2f7b7: 0x6de93a20,\n\t0x2f7b8: 0x6de93c20, 0x2f7b9: 0x6de93e20, 0x2f7ba: 0x6de94020, 0x2f7bb: 0x6dff4220,\n\t0x2f7bc: 0x6dff4420, 0x2f7bd: 0x6dff4620, 0x2f7be: 0x6dff4820, 0x2f7bf: 0x6dff4a20,\n\t// Block 0xbdf, offset 0x2f7c0\n\t0x2f7c0: 0x6dff4c20, 0x2f7c1: 0x6dff4e20, 0x2f7c2: 0x6dff5020, 0x2f7c3: 0x6dff5220,\n\t0x2f7c4: 0x6e11aa20, 0x2f7c5: 0x6e11ac20, 0x2f7c6: 0x6e11ae20, 0x2f7c7: 0x6e11b020,\n\t0x2f7c8: 0x6e11b220, 0x2f7c9: 0x6e11b420, 0x2f7ca: 0x6e11b620, 0x2f7cb: 0x6e11b820,\n\t0x2f7cc: 0x6e11ba20, 0x2f7cd: 0x6e11bc20, 0x2f7ce: 0x6e11be20, 0x2f7cf: 0x6e11c020,\n\t0x2f7d0: 0x6e11c220, 0x2f7d1: 0x6e200820, 0x2f7d2: 0x6e200a20, 0x2f7d3: 0x6e2b1620,\n\t0x2f7d4: 0x6e2b1820, 0x2f7d5: 0x6e2b1a20, 0x2f7d6: 0x6e2b1c20, 0x2f7d7: 0x6e339220,\n\t0x2f7d8: 0x6e399820, 0x2f7d9: 0x6e399a20, 0x2f7da: 0x6e399c20, 0x2f7db: 0x6e399e20,\n\t0x2f7dc: 0x6e40a620, 0x2f7dd: 0x6e40a820, 0x2f7de: 0x6e445a20, 0x2f7df: 0x6c020020,\n\t0x2f7e0: 0x6c0a4620, 0x2f7e1: 0x6c141a20, 0x2f7e2: 0x6c141c20, 0x2f7e3: 0x6c141e20,\n\t0x2f7e4: 0x6c142020, 0x2f7e5: 0x6c142220, 0x2f7e6: 0x6c142420, 0x2f7e7: 0x6c142620,\n\t0x2f7e8: 0x6c142820, 0x2f7e9: 0x6c142a20, 0x2f7ea: 0x6c142c20, 0x2f7eb: 0x6c142e20,\n\t0x2f7ec: 0x6c25a020, 0x2f7ed: 0x6c25a220, 0x2f7ee: 0x6c25a420, 0x2f7ef: 0x6c25a620,\n\t0x2f7f0: 0x6c25a820, 0x2f7f1: 0x6c25aa20, 0x2f7f2: 0x6c25ac20, 0x2f7f3: 0x6c25ae20,\n\t0x2f7f4: 0x6c25b020, 0x2f7f5: 0x6c25b220, 0x2f7f6: 0x6c259e20, 0x2f7f7: 0x6c25b420,\n\t0x2f7f8: 0x6c25b620, 0x2f7f9: 0x6c25b820, 0x2f7fa: 0x6c25ba20, 0x2f7fb: 0x6c25bc20,\n\t0x2f7fc: 0x6c25be20, 0x2f7fd: 0x6c25c020, 0x2f7fe: 0x6c25c220, 0x2f7ff: 0x6c3dd620,\n\t// Block 0xbe0, offset 0x2f800\n\t0x2f800: 0x6c3dd820, 0x2f801: 0x6c3dda20, 0x2f802: 0x6c3ddc20, 0x2f803: 0x6c3dde20,\n\t0x2f804: 0x6c3de020, 0x2f805: 0x6c3de220, 0x2f806: 0x6c3de420, 0x2f807: 0x6c3de620,\n\t0x2f808: 0x6c3de820, 0x2f809: 0x6c3dea20, 0x2f80a: 0x6c3dec20, 0x2f80b: 0x6c3dee20,\n\t0x2f80c: 0x6c3df020, 0x2f80d: 0x6c3df220, 0x2f80e: 0x6c3df420, 0x2f80f: 0x6c3df620,\n\t0x2f810: 0x6c3df820, 0x2f811: 0x6c5c9a20, 0x2f812: 0x6c5c9c20, 0x2f813: 0x6c5c9e20,\n\t0x2f814: 0x6c5ca020, 0x2f815: 0x6c5ca220, 0x2f816: 0x6c5ca420, 0x2f817: 0x6c5ca620,\n\t0x2f818: 0x6c5ca820, 0x2f819: 0x6c5caa20, 0x2f81a: 0x6c5cac20, 0x2f81b: 0x6c5cae20,\n\t0x2f81c: 0x6c5cb020, 0x2f81d: 0x6c5cb220, 0x2f81e: 0x6c5cb420, 0x2f81f: 0x6c5cb620,\n\t0x2f820: 0x6c809e20, 0x2f821: 0x6c80a020, 0x2f822: 0x6c80a220, 0x2f823: 0x6c80a420,\n\t0x2f824: 0x6c80a620, 0x2f825: 0x6c80a820, 0x2f826: 0x6c80aa20, 0x2f827: 0x6c80ac20,\n\t0x2f828: 0x6c80ae20, 0x2f829: 0x6ca9a220, 0x2f82a: 0x6ca9a420, 0x2f82b: 0x6ca9a620,\n\t0x2f82c: 0x6ca9a820, 0x2f82d: 0x6ca9aa20, 0x2f82e: 0x6ca9ac20, 0x2f82f: 0x6ca9ae20,\n\t0x2f830: 0x6ca9b020, 0x2f831: 0x6ca9b220, 0x2f832: 0x6ca9b420, 0x2f833: 0x6ca9b620,\n\t0x2f834: 0x6ca9b820, 0x2f835: 0x6ca9ba20, 0x2f836: 0x6ca9bc20, 0x2f837: 0x6ca9be20,\n\t0x2f838: 0x6ca9c020, 0x2f839: 0x6ca9c220, 0x2f83a: 0x6ca9c420, 0x2f83b: 0x6ca9c620,\n\t0x2f83c: 0x6ca9c820, 0x2f83d: 0x6ca9ca20, 0x2f83e: 0x6ca9cc20, 0x2f83f: 0x6ca9ce20,\n\t// Block 0xbe1, offset 0x2f840\n\t0x2f840: 0x6ca9d020, 0x2f841: 0x6ca9d220, 0x2f842: 0x6cd81220, 0x2f843: 0x6cd81420,\n\t0x2f844: 0x6cd81620, 0x2f845: 0x6cd81820, 0x2f846: 0x6cd81a20, 0x2f847: 0x6cd81c20,\n\t0x2f848: 0x6cd81e20, 0x2f849: 0x6cd82020, 0x2f84a: 0x6cd82220, 0x2f84b: 0x6cd82420,\n\t0x2f84c: 0x6cd82620, 0x2f84d: 0x6cd82820, 0x2f84e: 0x6cd82a20, 0x2f84f: 0x6cd82c20,\n\t0x2f850: 0x6cd82e20, 0x2f851: 0x6cd83020, 0x2f852: 0x6cd83220, 0x2f853: 0x6cd83420,\n\t0x2f854: 0x6cd83620, 0x2f855: 0x6cd83820, 0x2f856: 0x6cd83a20, 0x2f857: 0x6cd83c20,\n\t0x2f858: 0x6cd83e20, 0x2f859: 0x6d06ce20, 0x2f85a: 0x6d06d020, 0x2f85b: 0x6d06d220,\n\t0x2f85c: 0x6d06d420, 0x2f85d: 0x6d06d620, 0x2f85e: 0x6d06d820, 0x2f85f: 0x6d06da20,\n\t0x2f860: 0x6d06dc20, 0x2f861: 0x6d06de20, 0x2f862: 0x6d06e020, 0x2f863: 0x6d06e220,\n\t0x2f864: 0x6d06e420, 0x2f865: 0x6d34c820, 0x2f866: 0x6d34ca20, 0x2f867: 0x6d34cc20,\n\t0x2f868: 0x6d34ce20, 0x2f869: 0x6d34d020, 0x2f86a: 0x6d34d220, 0x2f86b: 0x6d34d420,\n\t0x2f86c: 0x6d618020, 0x2f86d: 0x6d618220, 0x2f86e: 0x6d618420, 0x2f86f: 0x6d618620,\n\t0x2f870: 0x6d8b9620, 0x2f871: 0x6d8b9820, 0x2f872: 0x6d8b9a20, 0x2f873: 0x6d8b9c20,\n\t0x2f874: 0x6d8b9e20, 0x2f875: 0x6de9a220, 0x2f876: 0x6c143020, 0x2f877: 0x6c3e0020,\n\t0x2f878: 0x6c5cc620, 0x2f879: 0x6c80c620, 0x2f87a: 0x6c80c820, 0x2f87b: 0x6ca9ee20,\n\t0x2f87c: 0x6c80ca20, 0x2f87d: 0x6ca9f020, 0x2f87e: 0x6cd85420, 0x2f87f: 0x6cd85620,\n\t// Block 0xbe2, offset 0x2f880\n\t0x2f880: 0x6cd85820, 0x2f881: 0x6d34e420, 0x2f882: 0x6d34e620, 0x2f883: 0x6d8ba820,\n\t0x2f884: 0x6daff420, 0x2f885: 0x6daff620, 0x2f886: 0x6daff820, 0x2f887: 0x6dcf7c20,\n\t0x2f888: 0x6dcf7e20, 0x2f889: 0x6dcf8020, 0x2f88a: 0x6de9a420, 0x2f88b: 0x6de9a620,\n\t0x2f88c: 0x6dff9020, 0x2f88d: 0x6e120220, 0x2f88e: 0x6e203a20, 0x2f88f: 0x6e203c20,\n\t0x2f890: 0x6e33a620, 0x2f891: 0x6c143420, 0x2f892: 0x6c0a4a20, 0x2f893: 0x6c050420,\n\t0x2f894: 0x6c3e0420, 0x2f895: 0x6c25dc20, 0x2f896: 0x6c3e0620, 0x2f897: 0x6c3e0820,\n\t0x2f898: 0x6c5cd620, 0x2f899: 0x6c3e2020, 0x2f89a: 0x6c5cd820, 0x2f89b: 0x6c80d820,\n\t0x2f89c: 0x6c80da20, 0x2f89d: 0x6c80dc20, 0x2f89e: 0x6c80de20, 0x2f89f: 0x6c80e020,\n\t0x2f8a0: 0x6c80e220, 0x2f8a1: 0x6c80e420, 0x2f8a2: 0x6c80e620, 0x2f8a3: 0x6caa0020,\n\t0x2f8a4: 0x6cd86820, 0x2f8a5: 0x6cd86a20, 0x2f8a6: 0x6cd86c20, 0x2f8a7: 0x6d070220,\n\t0x2f8a8: 0x6d070420, 0x2f8a9: 0x6d070620, 0x2f8aa: 0x6d070820, 0x2f8ab: 0x6d070a20,\n\t0x2f8ac: 0x6d070c20, 0x2f8ad: 0x6d070e20, 0x2f8ae: 0x6d071020, 0x2f8af: 0x6d350020,\n\t0x2f8b0: 0x6d350220, 0x2f8b1: 0x6d350420, 0x2f8b2: 0x6d071220, 0x2f8b3: 0x6d350620,\n\t0x2f8b4: 0x6d350820, 0x2f8b5: 0x6d61a420, 0x2f8b6: 0x6d61a620, 0x2f8b7: 0x6d61a820,\n\t0x2f8b8: 0x6d61aa20, 0x2f8b9: 0x6d8bbe20, 0x2f8ba: 0x6d8bc020, 0x2f8bb: 0x6d8bc220,\n\t0x2f8bc: 0x6d8bc420, 0x2f8bd: 0x6db00820, 0x2f8be: 0x6db00a20, 0x2f8bf: 0x6db00c20,\n\t// Block 0xbe3, offset 0x2f8c0\n\t0x2f8c0: 0x6dcf8a20, 0x2f8c1: 0x6db00e20, 0x2f8c2: 0x6dcf8e20, 0x2f8c3: 0x6de9b620,\n\t0x2f8c4: 0x6de9b820, 0x2f8c5: 0x6de9ba20, 0x2f8c6: 0x6de9bc20, 0x2f8c7: 0x6e204020,\n\t0x2f8c8: 0x6e33b020, 0x2f8c9: 0x6e33b220, 0x2f8ca: 0x6c143a20, 0x2f8cb: 0x6c3e2220,\n\t0x2f8cc: 0x6c3e2420, 0x2f8cd: 0x6c5cf620, 0x2f8ce: 0x6c5cf820, 0x2f8cf: 0x6c5cfa20,\n\t0x2f8d0: 0x6c812220, 0x2f8d1: 0x6c5cfc20, 0x2f8d2: 0x6c812a20, 0x2f8d3: 0x6c812c20,\n\t0x2f8d4: 0x6c812e20, 0x2f8d5: 0x6caa3220, 0x2f8d6: 0x6c813020, 0x2f8d7: 0x6c813220,\n\t0x2f8d8: 0x6c813420, 0x2f8d9: 0x6c813620, 0x2f8da: 0x6caa3420, 0x2f8db: 0x6caa3620,\n\t0x2f8dc: 0x6caa3820, 0x2f8dd: 0x6caa3a20, 0x2f8de: 0x6caa3c20, 0x2f8df: 0x6caa3e20,\n\t0x2f8e0: 0x6cd88820, 0x2f8e1: 0x6cd88a20, 0x2f8e2: 0x6cd88c20, 0x2f8e3: 0x6d074820,\n\t0x2f8e4: 0x6d074a20, 0x2f8e5: 0x6d074c20, 0x2f8e6: 0x6d074e20, 0x2f8e7: 0x6d075020,\n\t0x2f8e8: 0x6d075220, 0x2f8e9: 0x6d075420, 0x2f8ea: 0x6d075620, 0x2f8eb: 0x6d353820,\n\t0x2f8ec: 0x6d61cc20, 0x2f8ed: 0x6d61ce20, 0x2f8ee: 0x6d61d020, 0x2f8ef: 0x6d61d220,\n\t0x2f8f0: 0x6d61d420, 0x2f8f1: 0x6d8bf620, 0x2f8f2: 0x6d8bf820, 0x2f8f3: 0x6dcfac20,\n\t0x2f8f4: 0x6dcfae20, 0x2f8f5: 0x6dcfb020, 0x2f8f6: 0x6de9d620, 0x2f8f7: 0x6de9d820,\n\t0x2f8f8: 0x6de9da20, 0x2f8f9: 0x6de9dc20, 0x2f8fa: 0x6dffa220, 0x2f8fb: 0x6e121020,\n\t0x2f8fc: 0x6e121220, 0x2f8fd: 0x6c144220, 0x2f8fe: 0x6c5d0c20, 0x2f8ff: 0x6c5d0e20,\n\t// Block 0xbe4, offset 0x2f900\n\t0x2f900: 0x6c815a20, 0x2f901: 0x6c815c20, 0x2f902: 0x6c815e20, 0x2f903: 0x6c816020,\n\t0x2f904: 0x6c816220, 0x2f905: 0x6c816420, 0x2f906: 0x6c816620, 0x2f907: 0x6caa7c20,\n\t0x2f908: 0x6caa7e20, 0x2f909: 0x6caa8020, 0x2f90a: 0x6caa8220, 0x2f90b: 0x6caa8420,\n\t0x2f90c: 0x6caa8620, 0x2f90d: 0x6caa8820, 0x2f90e: 0x6caa8a20, 0x2f90f: 0x6caa8c20,\n\t0x2f910: 0x6caa8e20, 0x2f911: 0x6caa9020, 0x2f912: 0x6caa9220, 0x2f913: 0x6cd8b220,\n\t0x2f914: 0x6cd8b420, 0x2f915: 0x6cd8b620, 0x2f916: 0x6cd8b820, 0x2f917: 0x6cd8ba20,\n\t0x2f918: 0x6cd8bc20, 0x2f919: 0x6cd8be20, 0x2f91a: 0x6cd8c020, 0x2f91b: 0x6d078420,\n\t0x2f91c: 0x6d078620, 0x2f91d: 0x6d078820, 0x2f91e: 0x6d355a20, 0x2f91f: 0x6d355c20,\n\t0x2f920: 0x6d355e20, 0x2f921: 0x6d356020, 0x2f922: 0x6d356220, 0x2f923: 0x6d356420,\n\t0x2f924: 0x6d356620, 0x2f925: 0x6d358c20, 0x2f926: 0x6d61f620, 0x2f927: 0x6d61f820,\n\t0x2f928: 0x6d61fa20, 0x2f929: 0x6d61fc20, 0x2f92a: 0x6d61fe20, 0x2f92b: 0x6d620020,\n\t0x2f92c: 0x6d620220, 0x2f92d: 0x6d620420, 0x2f92e: 0x6d8c1020, 0x2f92f: 0x6d8c1220,\n\t0x2f930: 0x6d8c1420, 0x2f931: 0x6d8c1620, 0x2f932: 0x6db05020, 0x2f933: 0x6db05220,\n\t0x2f934: 0x6db05420, 0x2f935: 0x6db05620, 0x2f936: 0x6db05820, 0x2f937: 0x6dcfde20,\n\t0x2f938: 0x6dcfe020, 0x2f939: 0x6dcfe220, 0x2f93a: 0x6dcfe420, 0x2f93b: 0x6dcfe620,\n\t0x2f93c: 0x6db05a20, 0x2f93d: 0x6de9ec20, 0x2f93e: 0x6de9ee20, 0x2f93f: 0x6dffb420,\n\t// Block 0xbe5, offset 0x2f940\n\t0x2f940: 0x6dffb620, 0x2f941: 0x6c144420, 0x2f942: 0x6c050620, 0x2f943: 0x6c144620,\n\t0x2f944: 0x6c819020, 0x2f945: 0x6c3e3620, 0x2f946: 0x6c819220, 0x2f947: 0x6c5d3820,\n\t0x2f948: 0x6caab220, 0x2f949: 0x6caab420, 0x2f94a: 0x6c81a420, 0x2f94b: 0x6cd8f820,\n\t0x2f94c: 0x6c144820, 0x2f94d: 0x6c5d3e20, 0x2f94e: 0x6c5d4020, 0x2f94f: 0x6c5d4220,\n\t0x2f950: 0x6c5d4420, 0x2f951: 0x6c5d4620, 0x2f952: 0x6c144c20, 0x2f953: 0x6c3e3e20,\n\t0x2f954: 0x6c5d4a20, 0x2f955: 0x6c81aa20, 0x2f956: 0x6c81ac20, 0x2f957: 0x6c81ae20,\n\t0x2f958: 0x6c81b020, 0x2f959: 0x6c81b220, 0x2f95a: 0x6caabc20, 0x2f95b: 0x6caabe20,\n\t0x2f95c: 0x6caac020, 0x2f95d: 0x6caac220, 0x2f95e: 0x6caac420, 0x2f95f: 0x6caac620,\n\t0x2f960: 0x6cd8fe20, 0x2f961: 0x6d07b420, 0x2f962: 0x6d07b620, 0x2f963: 0x6d359e20,\n\t0x2f964: 0x6d35a020, 0x2f965: 0x6d35a220, 0x2f966: 0x6d625020, 0x2f967: 0x6d625220,\n\t0x2f968: 0x6d8c4a20, 0x2f969: 0x6d8c4c20, 0x2f96a: 0x6d8c4e20, 0x2f96b: 0x6db08420,\n\t0x2f96c: 0x6db08620, 0x2f96d: 0x6dd01220, 0x2f96e: 0x6dd01420, 0x2f96f: 0x6dffc420,\n\t0x2f970: 0x6e122e20, 0x2f971: 0x6e205820, 0x2f972: 0x6e205a20, 0x2f973: 0x6c145020,\n\t0x2f974: 0x6c25e620, 0x2f975: 0x6c3e4620, 0x2f976: 0x6c5d5220, 0x2f977: 0x6c5d5420,\n\t0x2f978: 0x6c81ba20, 0x2f979: 0x6c81bc20, 0x2f97a: 0x6c81be20, 0x2f97b: 0x6c81c020,\n\t0x2f97c: 0x6c81c220, 0x2f97d: 0x6c81c420, 0x2f97e: 0x6c81c620, 0x2f97f: 0x6c81c820,\n\t// Block 0xbe6, offset 0x2f980\n\t0x2f980: 0x6c81ca20, 0x2f981: 0x6c81cc20, 0x2f982: 0x6c81ce20, 0x2f983: 0x6caad420,\n\t0x2f984: 0x6caad620, 0x2f985: 0x6caad820, 0x2f986: 0x6caada20, 0x2f987: 0x6caadc20,\n\t0x2f988: 0x6caade20, 0x2f989: 0x6caae020, 0x2f98a: 0x6caae220, 0x2f98b: 0x6caae420,\n\t0x2f98c: 0x6caae620, 0x2f98d: 0x6caae820, 0x2f98e: 0x6cd91020, 0x2f98f: 0x6cd91220,\n\t0x2f990: 0x6cd91420, 0x2f991: 0x6cd91620, 0x2f992: 0x6cd91820, 0x2f993: 0x6cd91a20,\n\t0x2f994: 0x6cd91c20, 0x2f995: 0x6d07c420, 0x2f996: 0x6d07c620, 0x2f997: 0x6d07c820,\n\t0x2f998: 0x6d07ca20, 0x2f999: 0x6d35c420, 0x2f99a: 0x6d35c620, 0x2f99b: 0x6d35c820,\n\t0x2f99c: 0x6d35ca20, 0x2f99d: 0x6d35cc20, 0x2f99e: 0x6d35ce20, 0x2f99f: 0x6d35d020,\n\t0x2f9a0: 0x6cd91e20, 0x2f9a1: 0x6d35d220, 0x2f9a2: 0x6d35d420, 0x2f9a3: 0x6d35d620,\n\t0x2f9a4: 0x6d626c20, 0x2f9a5: 0x6d626e20, 0x2f9a6: 0x6d627020, 0x2f9a7: 0x6d627220,\n\t0x2f9a8: 0x6d627420, 0x2f9a9: 0x6d627620, 0x2f9aa: 0x6d627820, 0x2f9ab: 0x6d627a20,\n\t0x2f9ac: 0x6d8c6820, 0x2f9ad: 0x6d8c6a20, 0x2f9ae: 0x6d8c9a20, 0x2f9af: 0x6db0a020,\n\t0x2f9b0: 0x6db0a220, 0x2f9b1: 0x6db0a420, 0x2f9b2: 0x6db0a620, 0x2f9b3: 0x6db0a820,\n\t0x2f9b4: 0x6db0cc20, 0x2f9b5: 0x6dd02c20, 0x2f9b6: 0x6dd02e20, 0x2f9b7: 0x6dd03020,\n\t0x2f9b8: 0x6dea0220, 0x2f9b9: 0x6dffc820, 0x2f9ba: 0x6dffca20, 0x2f9bb: 0x6dffcc20,\n\t0x2f9bc: 0x6dffce20, 0x2f9bd: 0x6e205e20, 0x2f9be: 0x6e206020, 0x2f9bf: 0x6c145220,\n\t// Block 0xbe7, offset 0x2f9c0\n\t0x2f9c0: 0x6c050820, 0x2f9c1: 0x6c81fa20, 0x2f9c2: 0x6c81fc20, 0x2f9c3: 0x6c3e5e20,\n\t0x2f9c4: 0x6d07fe20, 0x2f9c5: 0x6d080020, 0x2f9c6: 0x6d080220, 0x2f9c7: 0x6d360e20,\n\t0x2f9c8: 0x6d361020, 0x2f9c9: 0x6c145620, 0x2f9ca: 0x6c0a5420, 0x2f9cb: 0x6c145c20,\n\t0x2f9cc: 0x6c145e20, 0x2f9cd: 0x6c146020, 0x2f9ce: 0x6c146220, 0x2f9cf: 0x6c3e6020,\n\t0x2f9d0: 0x6c25ee20, 0x2f9d1: 0x6c25f020, 0x2f9d2: 0x6c25f220, 0x2f9d3: 0x6c25f420,\n\t0x2f9d4: 0x6c25f620, 0x2f9d5: 0x6c25f820, 0x2f9d6: 0x6c25fa20, 0x2f9d7: 0x6c25fc20,\n\t0x2f9d8: 0x6c25fe20, 0x2f9d9: 0x6c260020, 0x2f9da: 0x6c260220, 0x2f9db: 0x6c260420,\n\t0x2f9dc: 0x6c260620, 0x2f9dd: 0x6c260820, 0x2f9de: 0x6c260a20, 0x2f9df: 0x6c260c20,\n\t0x2f9e0: 0x6c260e20, 0x2f9e1: 0x6c3e7c20, 0x2f9e2: 0x6c3e7e20, 0x2f9e3: 0x6c3e8020,\n\t0x2f9e4: 0x6c3e8220, 0x2f9e5: 0x6c3e8420, 0x2f9e6: 0x6c3e8620, 0x2f9e7: 0x6c3e8820,\n\t0x2f9e8: 0x6c3e8a20, 0x2f9e9: 0x6c3e8c20, 0x2f9ea: 0x6c3e8e20, 0x2f9eb: 0x6c3e9020,\n\t0x2f9ec: 0x6c3e9220, 0x2f9ed: 0x6c3e9420, 0x2f9ee: 0x6c3e9620, 0x2f9ef: 0x6c3e9820,\n\t0x2f9f0: 0x6c3e9a20, 0x2f9f1: 0x6c3e9c20, 0x2f9f2: 0x6c3e9e20, 0x2f9f3: 0x6c3ea020,\n\t0x2f9f4: 0x6c3ea220, 0x2f9f5: 0x6c3ea420, 0x2f9f6: 0x6c3ea620, 0x2f9f7: 0x6c3ea820,\n\t0x2f9f8: 0x6c3eaa20, 0x2f9f9: 0x6c3eac20, 0x2f9fa: 0x6c3eae20, 0x2f9fb: 0x6c3eb020,\n\t0x2f9fc: 0x6c3eb220, 0x2f9fd: 0x6c3eb420, 0x2f9fe: 0x6c3eb620, 0x2f9ff: 0x6c3eb820,\n\t// Block 0xbe8, offset 0x2fa00\n\t0x2fa00: 0x6c3eba20, 0x2fa01: 0x6c3ebc20, 0x2fa02: 0x6c5d7220, 0x2fa03: 0x6c5d7420,\n\t0x2fa04: 0x6c5d7620, 0x2fa05: 0x6c5d7820, 0x2fa06: 0x6c5d7a20, 0x2fa07: 0x6c5d7c20,\n\t0x2fa08: 0x6c5d7e20, 0x2fa09: 0x6c5d8020, 0x2fa0a: 0x6c5d8220, 0x2fa0b: 0x6c5d8420,\n\t0x2fa0c: 0x6c5d8620, 0x2fa0d: 0x6c5d8820, 0x2fa0e: 0x6c5d8a20, 0x2fa0f: 0x6c5d8c20,\n\t0x2fa10: 0x6c5d8e20, 0x2fa11: 0x6c5d9020, 0x2fa12: 0x6c5d9220, 0x2fa13: 0x6c5d9420,\n\t0x2fa14: 0x6cd95220, 0x2fa15: 0x6c5d9620, 0x2fa16: 0x6c5d9820, 0x2fa17: 0x6c5d9a20,\n\t0x2fa18: 0x6c5d9c20, 0x2fa19: 0x6c5d9e20, 0x2fa1a: 0x6c5da020, 0x2fa1b: 0x6c5da220,\n\t0x2fa1c: 0x6c5da420, 0x2fa1d: 0x6c5da620, 0x2fa1e: 0x6c5da820, 0x2fa1f: 0x6c5daa20,\n\t0x2fa20: 0x6c5dac20, 0x2fa21: 0x6c5dae20, 0x2fa22: 0x6c5db020, 0x2fa23: 0x6c5db220,\n\t0x2fa24: 0x6c5db420, 0x2fa25: 0x6c5db620, 0x2fa26: 0x6c5db820, 0x2fa27: 0x6c5dba20,\n\t0x2fa28: 0x6c5dbc20, 0x2fa29: 0x6c5dbe20, 0x2fa2a: 0x6c5dc020, 0x2fa2b: 0x6c5dc220,\n\t0x2fa2c: 0x6cab1020, 0x2fa2d: 0x6c821220, 0x2fa2e: 0x6c821420, 0x2fa2f: 0x6c821620,\n\t0x2fa30: 0x6c821820, 0x2fa31: 0x6c821a20, 0x2fa32: 0x6c821c20, 0x2fa33: 0x6c821e20,\n\t0x2fa34: 0x6c822020, 0x2fa35: 0x6c822220, 0x2fa36: 0x6c822420, 0x2fa37: 0x6c822620,\n\t0x2fa38: 0x6c822820, 0x2fa39: 0x6c822a20, 0x2fa3a: 0x6c822c20, 0x2fa3b: 0x6c822e20,\n\t0x2fa3c: 0x6c823020, 0x2fa3d: 0x6c823220, 0x2fa3e: 0x6cd95420, 0x2fa3f: 0x6c823420,\n\t// Block 0xbe9, offset 0x2fa40\n\t0x2fa40: 0x6c823620, 0x2fa41: 0x6c823820, 0x2fa42: 0x6c823a20, 0x2fa43: 0x6c823c20,\n\t0x2fa44: 0x6c823e20, 0x2fa45: 0x6c824020, 0x2fa46: 0x6c824220, 0x2fa47: 0x6c824420,\n\t0x2fa48: 0x6c824620, 0x2fa49: 0x6c5dc420, 0x2fa4a: 0x6c824820, 0x2fa4b: 0x6c824a20,\n\t0x2fa4c: 0x6c824c20, 0x2fa4d: 0x6c824e20, 0x2fa4e: 0x6c825020, 0x2fa4f: 0x6c825220,\n\t0x2fa50: 0x6c825420, 0x2fa51: 0x6c825620, 0x2fa52: 0x6c825820, 0x2fa53: 0x6c825a20,\n\t0x2fa54: 0x6cd95620, 0x2fa55: 0x6cab2c20, 0x2fa56: 0x6cab2e20, 0x2fa57: 0x6cab3020,\n\t0x2fa58: 0x6cab3220, 0x2fa59: 0x6cab3420, 0x2fa5a: 0x6cab3620, 0x2fa5b: 0x6cab3820,\n\t0x2fa5c: 0x6cab3a20, 0x2fa5d: 0x6cab3c20, 0x2fa5e: 0x6cab3e20, 0x2fa5f: 0x6cab4020,\n\t0x2fa60: 0x6cd95820, 0x2fa61: 0x6cab4220, 0x2fa62: 0x6cab4420, 0x2fa63: 0x6cab4620,\n\t0x2fa64: 0x6cab4820, 0x2fa65: 0x6cab4a20, 0x2fa66: 0x6cab4c20, 0x2fa67: 0x6cab4e20,\n\t0x2fa68: 0x6cab5020, 0x2fa69: 0x6cab5220, 0x2fa6a: 0x6cab5420, 0x2fa6b: 0x6cab5620,\n\t0x2fa6c: 0x6cab5820, 0x2fa6d: 0x6cab5a20, 0x2fa6e: 0x6cab5c20, 0x2fa6f: 0x6cab5e20,\n\t0x2fa70: 0x6cab6020, 0x2fa71: 0x6cab6220, 0x2fa72: 0x6cab6420, 0x2fa73: 0x6cab6620,\n\t0x2fa74: 0x6cab6820, 0x2fa75: 0x6cab6a20, 0x2fa76: 0x6cab6c20, 0x2fa77: 0x6cab6e20,\n\t0x2fa78: 0x6cab7020, 0x2fa79: 0x6cd97e20, 0x2fa7a: 0x6cd98020, 0x2fa7b: 0x6cd98220,\n\t0x2fa7c: 0x6cd98420, 0x2fa7d: 0x6cd98620, 0x2fa7e: 0x6cd98820, 0x2fa7f: 0x6cd98a20,\n\t// Block 0xbea, offset 0x2fa80\n\t0x2fa80: 0x6cd98c20, 0x2fa81: 0x6cd98e20, 0x2fa82: 0x6cd99020, 0x2fa83: 0x6cd99220,\n\t0x2fa84: 0x6cd99420, 0x2fa85: 0x6cd99620, 0x2fa86: 0x6cd99820, 0x2fa87: 0x6cd99a20,\n\t0x2fa88: 0x6cd99c20, 0x2fa89: 0x6cd99e20, 0x2fa8a: 0x6cd9a020, 0x2fa8b: 0x6cd9a220,\n\t0x2fa8c: 0x6cd9a420, 0x2fa8d: 0x6cd9a620, 0x2fa8e: 0x6cd9a820, 0x2fa8f: 0x6cd9aa20,\n\t0x2fa90: 0x6d361a20, 0x2fa91: 0x6cd9ac20, 0x2fa92: 0x6cd9ae20, 0x2fa93: 0x6cd9b020,\n\t0x2fa94: 0x6cd9b220, 0x2fa95: 0x6cd9b420, 0x2fa96: 0x6cd9b620, 0x2fa97: 0x6cd9b820,\n\t0x2fa98: 0x6cd9ba20, 0x2fa99: 0x6cd9bc20, 0x2fa9a: 0x6cd9be20, 0x2fa9b: 0x6d082a20,\n\t0x2fa9c: 0x6d082c20, 0x2fa9d: 0x6d082e20, 0x2fa9e: 0x6d083020, 0x2fa9f: 0x6d083220,\n\t0x2faa0: 0x6d083420, 0x2faa1: 0x6d083620, 0x2faa2: 0x6d083820, 0x2faa3: 0x6d083a20,\n\t0x2faa4: 0x6d083c20, 0x2faa5: 0x6d083e20, 0x2faa6: 0x6d084020, 0x2faa7: 0x6d084220,\n\t0x2faa8: 0x6d084420, 0x2faa9: 0x6d084620, 0x2faaa: 0x6d084820, 0x2faab: 0x6d084a20,\n\t0x2faac: 0x6d084c20, 0x2faad: 0x6d084e20, 0x2faae: 0x6d085020, 0x2faaf: 0x6d085220,\n\t0x2fab0: 0x6d085420, 0x2fab1: 0x6d085620, 0x2fab2: 0x6d085820, 0x2fab3: 0x6d085a20,\n\t0x2fab4: 0x6cda6e20, 0x2fab5: 0x6d085c20, 0x2fab6: 0x6d085e20, 0x2fab7: 0x6d086020,\n\t0x2fab8: 0x6d086220, 0x2fab9: 0x6d086420, 0x2faba: 0x6d086620, 0x2fabb: 0x6d086820,\n\t0x2fabc: 0x6d086a20, 0x2fabd: 0x6d086c20, 0x2fabe: 0x6d086e20, 0x2fabf: 0x6d363820,\n\t// Block 0xbeb, offset 0x2fac0\n\t0x2fac0: 0x6d363a20, 0x2fac1: 0x6d363c20, 0x2fac2: 0x6d363e20, 0x2fac3: 0x6d364020,\n\t0x2fac4: 0x6d364220, 0x2fac5: 0x6d364420, 0x2fac6: 0x6d364620, 0x2fac7: 0x6d364820,\n\t0x2fac8: 0x6d364a20, 0x2fac9: 0x6d364c20, 0x2faca: 0x6d364e20, 0x2facb: 0x6d365020,\n\t0x2facc: 0x6d365220, 0x2facd: 0x6d365420, 0x2face: 0x6d365620, 0x2facf: 0x6d365820,\n\t0x2fad0: 0x6d8ca020, 0x2fad1: 0x6d365a20, 0x2fad2: 0x6d62d020, 0x2fad3: 0x6d62d220,\n\t0x2fad4: 0x6d62d420, 0x2fad5: 0x6d62d620, 0x2fad6: 0x6d62d820, 0x2fad7: 0x6d62da20,\n\t0x2fad8: 0x6d62dc20, 0x2fad9: 0x6d62de20, 0x2fada: 0x6d62e020, 0x2fadb: 0x6d62e220,\n\t0x2fadc: 0x6d62e420, 0x2fadd: 0x6d62e620, 0x2fade: 0x6d62e820, 0x2fadf: 0x6d62ea20,\n\t0x2fae0: 0x6d62ec20, 0x2fae1: 0x6d62ee20, 0x2fae2: 0x6d62f020, 0x2fae3: 0x6d62f220,\n\t0x2fae4: 0x6d538620, 0x2fae5: 0x6db0d420, 0x2fae6: 0x6d8cb420, 0x2fae7: 0x6d8cb620,\n\t0x2fae8: 0x6d8cb820, 0x2fae9: 0x6d8cba20, 0x2faea: 0x6d8cbc20, 0x2faeb: 0x6d8cbe20,\n\t0x2faec: 0x6d8cc020, 0x2faed: 0x6d8cc220, 0x2faee: 0x6d8cc420, 0x2faef: 0x6d8cc620,\n\t0x2faf0: 0x6d8cc820, 0x2faf1: 0x6d8cca20, 0x2faf2: 0x6d8ccc20, 0x2faf3: 0x6d8cce20,\n\t0x2faf4: 0x6d8cd020, 0x2faf5: 0x6d8cd220, 0x2faf6: 0x6d8cd420, 0x2faf7: 0x6d8d5820,\n\t0x2faf8: 0x6db0de20, 0x2faf9: 0x6d8d5a20, 0x2fafa: 0x6db0e020, 0x2fafb: 0x6db0e220,\n\t0x2fafc: 0x6db0e420, 0x2fafd: 0x6db0e620, 0x2fafe: 0x6db0e820, 0x2faff: 0x6db0ea20,\n\t// Block 0xbec, offset 0x2fb00\n\t0x2fb00: 0x6db0ec20, 0x2fb01: 0x6db0ee20, 0x2fb02: 0x6db0f020, 0x2fb03: 0x6db0f220,\n\t0x2fb04: 0x6db0f420, 0x2fb05: 0x6db0f620, 0x2fb06: 0x6db0f820, 0x2fb07: 0x6db0fa20,\n\t0x2fb08: 0x6db0fc20, 0x2fb09: 0x6db0fe20, 0x2fb0a: 0x6db10020, 0x2fb0b: 0x6dea1e20,\n\t0x2fb0c: 0x6db10220, 0x2fb0d: 0x6dd06620, 0x2fb0e: 0x6dd06820, 0x2fb0f: 0x6dd06a20,\n\t0x2fb10: 0x6dd06c20, 0x2fb11: 0x6dd06e20, 0x2fb12: 0x6dd07020, 0x2fb13: 0x6dd07220,\n\t0x2fb14: 0x6dea2620, 0x2fb15: 0x6dea2820, 0x2fb16: 0x6dffe420, 0x2fb17: 0x6dea2a20,\n\t0x2fb18: 0x6dea2c20, 0x2fb19: 0x6dffe620, 0x2fb1a: 0x6dffe820, 0x2fb1b: 0x6dffea20,\n\t0x2fb1c: 0x6dffec20, 0x2fb1d: 0x6e124820, 0x2fb1e: 0x6e206a20, 0x2fb1f: 0x6e206c20,\n\t0x2fb20: 0x6e39ae20, 0x2fb21: 0x6e39b020, 0x2fb22: 0x6e2b4820, 0x2fb23: 0x6c147a20,\n\t0x2fb24: 0x6c3f1a20, 0x2fb25: 0x6c3f1c20, 0x2fb26: 0x6cda7020, 0x2fb27: 0x6d36e420,\n\t0x2fb28: 0x6db16420, 0x2fb29: 0x6db16620, 0x2fb2a: 0x6c147e20, 0x2fb2b: 0x6c262820,\n\t0x2fb2c: 0x6c82dc20, 0x2fb2d: 0x6c82de20, 0x2fb2e: 0x6cda7c20, 0x2fb2f: 0x6cda7e20,\n\t0x2fb30: 0x6cda8020, 0x2fb31: 0x6d635a20, 0x2fb32: 0x6d8d5e20, 0x2fb33: 0x6c148220,\n\t0x2fb34: 0x6c5e4220, 0x2fb35: 0x6cda8c20, 0x2fb36: 0x6cda8e20, 0x2fb37: 0x6cda9020,\n\t0x2fb38: 0x6cda9220, 0x2fb39: 0x6cda9820, 0x2fb3a: 0x6d36f420, 0x2fb3b: 0x6d8d6620,\n\t0x2fb3c: 0x6c148820, 0x2fb3d: 0x6c3f2220, 0x2fb3e: 0x6c3f2420, 0x2fb3f: 0x6c5e4a20,\n\t// Block 0xbed, offset 0x2fb40\n\t0x2fb40: 0x6c82fc20, 0x2fb41: 0x6c82fe20, 0x2fb42: 0x6cabf420, 0x2fb43: 0x6cda9a20,\n\t0x2fb44: 0x6cda9c20, 0x2fb45: 0x6d090220, 0x2fb46: 0x6d8d7620, 0x2fb47: 0x6d370220,\n\t0x2fb48: 0x6d8d7220, 0x2fb49: 0x6d8d7820, 0x2fb4a: 0x6dd0c020, 0x2fb4b: 0x6dea7220,\n\t0x2fb4c: 0x6c149020, 0x2fb4d: 0x6c3f2c20, 0x2fb4e: 0x6c3f2e20, 0x2fb4f: 0x6c3f3020,\n\t0x2fb50: 0x6c831420, 0x2fb51: 0x6cac0620, 0x2fb52: 0x6cdaac20, 0x2fb53: 0x6d371820,\n\t0x2fb54: 0x6d371a20, 0x2fb55: 0x6d371c20, 0x2fb56: 0x6d638820, 0x2fb57: 0x6d638a20,\n\t0x2fb58: 0x6d8d8a20, 0x2fb59: 0x6dd0d220, 0x2fb5a: 0x6dea8020, 0x2fb5b: 0x6c149220,\n\t0x2fb5c: 0x6cdabe20, 0x2fb5d: 0x6d091c20, 0x2fb5e: 0x6d373020, 0x2fb5f: 0x6c149420,\n\t0x2fb60: 0x6c3f3620, 0x2fb61: 0x6c5e6020, 0x2fb62: 0x6c5e6220, 0x2fb63: 0x6c5e6420,\n\t0x2fb64: 0x6c5e6620, 0x2fb65: 0x6c832c20, 0x2fb66: 0x6c832e20, 0x2fb67: 0x6c833020,\n\t0x2fb68: 0x6c833220, 0x2fb69: 0x6c833420, 0x2fb6a: 0x6c833620, 0x2fb6b: 0x6c833820,\n\t0x2fb6c: 0x6c833a20, 0x2fb6d: 0x6c833c20, 0x2fb6e: 0x6c833e20, 0x2fb6f: 0x6c834020,\n\t0x2fb70: 0x6c834220, 0x2fb71: 0x6c834420, 0x2fb72: 0x6cac1820, 0x2fb73: 0x6cac1a20,\n\t0x2fb74: 0x6cac1c20, 0x2fb75: 0x6cac1e20, 0x2fb76: 0x6cac2020, 0x2fb77: 0x6cac2220,\n\t0x2fb78: 0x6cac2420, 0x2fb79: 0x6cac2620, 0x2fb7a: 0x6cac2820, 0x2fb7b: 0x6cac2a20,\n\t0x2fb7c: 0x6cdaca20, 0x2fb7d: 0x6cdacc20, 0x2fb7e: 0x6cdace20, 0x2fb7f: 0x6cdad020,\n\t// Block 0xbee, offset 0x2fb80\n\t0x2fb80: 0x6d092220, 0x2fb81: 0x6d092420, 0x2fb82: 0x6d092620, 0x2fb83: 0x6d092820,\n\t0x2fb84: 0x6d092a20, 0x2fb85: 0x6d092c20, 0x2fb86: 0x6d092e20, 0x2fb87: 0x6d093020,\n\t0x2fb88: 0x6d093220, 0x2fb89: 0x6d093420, 0x2fb8a: 0x6d374220, 0x2fb8b: 0x6d374420,\n\t0x2fb8c: 0x6d374620, 0x2fb8d: 0x6d374820, 0x2fb8e: 0x6d63a220, 0x2fb8f: 0x6d63a420,\n\t0x2fb90: 0x6d63a620, 0x2fb91: 0x6d63a820, 0x2fb92: 0x6d63aa20, 0x2fb93: 0x6d63ac20,\n\t0x2fb94: 0x6d63ae20, 0x2fb95: 0x6d8d9e20, 0x2fb96: 0x6d8da020, 0x2fb97: 0x6d8da220,\n\t0x2fb98: 0x6d8da420, 0x2fb99: 0x6d8da620, 0x2fb9a: 0x6db19c20, 0x2fb9b: 0x6db19e20,\n\t0x2fb9c: 0x6db1a020, 0x2fb9d: 0x6db1a220, 0x2fb9e: 0x6dd0e220, 0x2fb9f: 0x6dd0e420,\n\t0x2fba0: 0x6dd0e620, 0x2fba1: 0x6dea8620, 0x2fba2: 0x6dea8820, 0x2fba3: 0x6dea8a20,\n\t0x2fba4: 0x6dea8c20, 0x2fba5: 0x6dea8e20, 0x2fba6: 0x6e003620, 0x2fba7: 0x6e003820,\n\t0x2fba8: 0x6e003a20, 0x2fba9: 0x6e003c20, 0x2fbaa: 0x6e126c20, 0x2fbab: 0x6e208820,\n\t0x2fbac: 0x6e2b6e20, 0x2fbad: 0x6e33e220, 0x2fbae: 0x6c149820, 0x2fbaf: 0x6c263620,\n\t0x2fbb0: 0x6c3f4420, 0x2fbb1: 0x6db1bc20, 0x2fbb2: 0x6c149a20, 0x2fbb3: 0x6c835e20,\n\t0x2fbb4: 0x6cac4e20, 0x2fbb5: 0x6cdaf020, 0x2fbb6: 0x6deaa220, 0x2fbb7: 0x6e33e420,\n\t0x2fbb8: 0x6c149e20, 0x2fbb9: 0x6c020420, 0x2fbba: 0x6c0a5620, 0x2fbbb: 0x6c14a020,\n\t0x2fbbc: 0x6c14a220, 0x2fbbd: 0x6c14a420, 0x2fbbe: 0x6c14a620, 0x2fbbf: 0x6c14a820,\n\t// Block 0xbef, offset 0x2fbc0\n\t0x2fbc0: 0x6c14aa20, 0x2fbc1: 0x6c14ac20, 0x2fbc2: 0x6c14ae20, 0x2fbc3: 0x6c263820,\n\t0x2fbc4: 0x6c263a20, 0x2fbc5: 0x6c263c20, 0x2fbc6: 0x6c263e20, 0x2fbc7: 0x6c264020,\n\t0x2fbc8: 0x6c264220, 0x2fbc9: 0x6c264420, 0x2fbca: 0x6c264620, 0x2fbcb: 0x6c264820,\n\t0x2fbcc: 0x6c264a20, 0x2fbcd: 0x6c264c20, 0x2fbce: 0x6c264e20, 0x2fbcf: 0x6c265020,\n\t0x2fbd0: 0x6c265220, 0x2fbd1: 0x6c265420, 0x2fbd2: 0x6c265620, 0x2fbd3: 0x6c265820,\n\t0x2fbd4: 0x6c5e8820, 0x2fbd5: 0x6c265a20, 0x2fbd6: 0x6c265c20, 0x2fbd7: 0x6c265e20,\n\t0x2fbd8: 0x6c3f4c20, 0x2fbd9: 0x6c3f4e20, 0x2fbda: 0x6c3f5020, 0x2fbdb: 0x6c3f5220,\n\t0x2fbdc: 0x6c3f5420, 0x2fbdd: 0x6c3f5620, 0x2fbde: 0x6c3f5820, 0x2fbdf: 0x6c3f5a20,\n\t0x2fbe0: 0x6c3f5c20, 0x2fbe1: 0x6c3f5e20, 0x2fbe2: 0x6c3f6020, 0x2fbe3: 0x6c3f6220,\n\t0x2fbe4: 0x6c3f6420, 0x2fbe5: 0x6c3f6620, 0x2fbe6: 0x6c3f6820, 0x2fbe7: 0x6c3f6a20,\n\t0x2fbe8: 0x6c3f6c20, 0x2fbe9: 0x6c3f6e20, 0x2fbea: 0x6c3f7020, 0x2fbeb: 0x6c3f7220,\n\t0x2fbec: 0x6c3f7420, 0x2fbed: 0x6c3f7620, 0x2fbee: 0x6c3f7820, 0x2fbef: 0x6c3f7a20,\n\t0x2fbf0: 0x6c3f7c20, 0x2fbf1: 0x6c3f7e20, 0x2fbf2: 0x6c3f8020, 0x2fbf3: 0x6c3f8220,\n\t0x2fbf4: 0x6c3f8420, 0x2fbf5: 0x6c3f8620, 0x2fbf6: 0x6c3f8820, 0x2fbf7: 0x6c3f8a20,\n\t0x2fbf8: 0x6c3f8c20, 0x2fbf9: 0x6c3f8e20, 0x2fbfa: 0x6c3f9020, 0x2fbfb: 0x6c837820,\n\t0x2fbfc: 0x6c3f9220, 0x2fbfd: 0x6c3f9420, 0x2fbfe: 0x6c3f9620, 0x2fbff: 0x6c400c20,\n\t// Block 0xbf0, offset 0x2fc00\n\t0x2fc00: 0x6c3f9820, 0x2fc01: 0x6c3f9a20, 0x2fc02: 0x6c3f9c20, 0x2fc03: 0x6c3f9e20,\n\t0x2fc04: 0x6c3fa020, 0x2fc05: 0x6c3fa220, 0x2fc06: 0x6c3fa420, 0x2fc07: 0x6c3fa620,\n\t0x2fc08: 0x6c3fa820, 0x2fc09: 0x6c3faa20, 0x2fc0a: 0x6c3fac20, 0x2fc0b: 0x6c3fae20,\n\t0x2fc0c: 0x6c3fb020, 0x2fc0d: 0x6c3fb220, 0x2fc0e: 0x6c3fb420, 0x2fc0f: 0x6c3fb620,\n\t0x2fc10: 0x6c5e8a20, 0x2fc11: 0x6c5e8c20, 0x2fc12: 0x6c5e8e20, 0x2fc13: 0x6c5e9020,\n\t0x2fc14: 0x6c5e9220, 0x2fc15: 0x6c5e9420, 0x2fc16: 0x6c5e9620, 0x2fc17: 0x6c5e9820,\n\t0x2fc18: 0x6c5e9a20, 0x2fc19: 0x6c5e9c20, 0x2fc1a: 0x6c5e9e20, 0x2fc1b: 0x6c5ea020,\n\t0x2fc1c: 0x6c5ea220, 0x2fc1d: 0x6c5ea420, 0x2fc1e: 0x6c5ea620, 0x2fc1f: 0x6c5ea820,\n\t0x2fc20: 0x6c5eaa20, 0x2fc21: 0x6c5eac20, 0x2fc22: 0x6c5eae20, 0x2fc23: 0x6c5eb020,\n\t0x2fc24: 0x6c5eb220, 0x2fc25: 0x6c5eb420, 0x2fc26: 0x6c5eb620, 0x2fc27: 0x6c5eb820,\n\t0x2fc28: 0x6c5eba20, 0x2fc29: 0x6c5ebc20, 0x2fc2a: 0x6c5ebe20, 0x2fc2b: 0x6c5ec020,\n\t0x2fc2c: 0x6c5ec220, 0x2fc2d: 0x6c5ec420, 0x2fc2e: 0x6c5ec620, 0x2fc2f: 0x6c5ec820,\n\t0x2fc30: 0x6c5eca20, 0x2fc31: 0x6c5ecc20, 0x2fc32: 0x6c5ece20, 0x2fc33: 0x6c5ed020,\n\t0x2fc34: 0x6c5ed220, 0x2fc35: 0x6c5ed420, 0x2fc36: 0x6c5ed620, 0x2fc37: 0x6c5ed820,\n\t0x2fc38: 0x6c5eda20, 0x2fc39: 0x6c5edc20, 0x2fc3a: 0x6c5ede20, 0x2fc3b: 0x6c5ee020,\n\t0x2fc3c: 0x6c5ee220, 0x2fc3d: 0x6c5ee420, 0x2fc3e: 0x6c5ee620, 0x2fc3f: 0x6c5ee820,\n\t// Block 0xbf1, offset 0x2fc40\n\t0x2fc40: 0x6c5eea20, 0x2fc41: 0x6c5eec20, 0x2fc42: 0x6c5eee20, 0x2fc43: 0x6c5ef020,\n\t0x2fc44: 0x6c5ef220, 0x2fc45: 0x6c5ef420, 0x2fc46: 0x6c5ef620, 0x2fc47: 0x6c5ef820,\n\t0x2fc48: 0x6c837a20, 0x2fc49: 0x6c5efa20, 0x2fc4a: 0x6c5efc20, 0x2fc4b: 0x6c5efe20,\n\t0x2fc4c: 0x6c5f0020, 0x2fc4d: 0x6c5f0220, 0x2fc4e: 0x6c5f0420, 0x2fc4f: 0x6c5f0620,\n\t0x2fc50: 0x6c5f0820, 0x2fc51: 0x6c5f0a20, 0x2fc52: 0x6cdb1620, 0x2fc53: 0x6c5f0c20,\n\t0x2fc54: 0x6c5f0e20, 0x2fc55: 0x6c5f1020, 0x2fc56: 0x6c837c20, 0x2fc57: 0x6c837e20,\n\t0x2fc58: 0x6c838020, 0x2fc59: 0x6c838220, 0x2fc5a: 0x6c838420, 0x2fc5b: 0x6c838620,\n\t0x2fc5c: 0x6c838820, 0x2fc5d: 0x6cac7420, 0x2fc5e: 0x6c838a20, 0x2fc5f: 0x6c838c20,\n\t0x2fc60: 0x6c838e20, 0x2fc61: 0x6c839020, 0x2fc62: 0x6c839220, 0x2fc63: 0x6cac7620,\n\t0x2fc64: 0x6c839420, 0x2fc65: 0x6c839620, 0x2fc66: 0x6c839820, 0x2fc67: 0x6c839a20,\n\t0x2fc68: 0x6c839c20, 0x2fc69: 0x6c839e20, 0x2fc6a: 0x6c83a020, 0x2fc6b: 0x6c83a220,\n\t0x2fc6c: 0x6c83a420, 0x2fc6d: 0x6c83a620, 0x2fc6e: 0x6c83a820, 0x2fc6f: 0x6c83aa20,\n\t0x2fc70: 0x6c83ac20, 0x2fc71: 0x6c83ae20, 0x2fc72: 0x6c83b020, 0x2fc73: 0x6c83b220,\n\t0x2fc74: 0x6c83b420, 0x2fc75: 0x6c83b620, 0x2fc76: 0x6c83b820, 0x2fc77: 0x6c83ba20,\n\t0x2fc78: 0x6c83bc20, 0x2fc79: 0x6c83be20, 0x2fc7a: 0x6c5f9220, 0x2fc7b: 0x6cdb1820,\n\t0x2fc7c: 0x6c83c020, 0x2fc7d: 0x6c83c220, 0x2fc7e: 0x6c3fb820, 0x2fc7f: 0x6c83c420,\n\t// Block 0xbf2, offset 0x2fc80\n\t0x2fc80: 0x6c83c620, 0x2fc81: 0x6c83c820, 0x2fc82: 0x6c83ca20, 0x2fc83: 0x6c83cc20,\n\t0x2fc84: 0x6c83ce20, 0x2fc85: 0x6c83d020, 0x2fc86: 0x6cdb1a20, 0x2fc87: 0x6c83d220,\n\t0x2fc88: 0x6c83d420, 0x2fc89: 0x6c83d620, 0x2fc8a: 0x6c83d820, 0x2fc8b: 0x6c83da20,\n\t0x2fc8c: 0x6c83dc20, 0x2fc8d: 0x6c83de20, 0x2fc8e: 0x6c83e020, 0x2fc8f: 0x6c83e220,\n\t0x2fc90: 0x6c83e420, 0x2fc91: 0x6c83e620, 0x2fc92: 0x6c83e820, 0x2fc93: 0x6c84c420,\n\t0x2fc94: 0x6c83ea20, 0x2fc95: 0x6c83ec20, 0x2fc96: 0x6c83ee20, 0x2fc97: 0x6c83f020,\n\t0x2fc98: 0x6c83f220, 0x2fc99: 0x6cac7020, 0x2fc9a: 0x6c83f420, 0x2fc9b: 0x6c83f620,\n\t0x2fc9c: 0x6c83f820, 0x2fc9d: 0x6c83fa20, 0x2fc9e: 0x6c83fc20, 0x2fc9f: 0x6c83fe20,\n\t0x2fca0: 0x6c840020, 0x2fca1: 0x6c840220, 0x2fca2: 0x6c840420, 0x2fca3: 0x6c840620,\n\t0x2fca4: 0x6c840820, 0x2fca5: 0x6c840a20, 0x2fca6: 0x6c840c20, 0x2fca7: 0x6c840e20,\n\t0x2fca8: 0x6c841020, 0x2fca9: 0x6c841220, 0x2fcaa: 0x6c841420, 0x2fcab: 0x6cac7220,\n\t0x2fcac: 0x6c841620, 0x2fcad: 0x6c841820, 0x2fcae: 0x6c841a20, 0x2fcaf: 0x6c841c20,\n\t0x2fcb0: 0x6cac7820, 0x2fcb1: 0x6cac7a20, 0x2fcb2: 0x6cac7c20, 0x2fcb3: 0x6cac7e20,\n\t0x2fcb4: 0x6cac8020, 0x2fcb5: 0x6cac8220, 0x2fcb6: 0x6cac8420, 0x2fcb7: 0x6cac8620,\n\t0x2fcb8: 0x6cac8820, 0x2fcb9: 0x6cac8a20, 0x2fcba: 0x6cac8c20, 0x2fcbb: 0x6cac8e20,\n\t0x2fcbc: 0x6cac9020, 0x2fcbd: 0x6cac9220, 0x2fcbe: 0x6cac9420, 0x2fcbf: 0x6cac9620,\n\t// Block 0xbf3, offset 0x2fcc0\n\t0x2fcc0: 0x6cac9820, 0x2fcc1: 0x6cac9a20, 0x2fcc2: 0x6cac9c20, 0x2fcc3: 0x6cac9e20,\n\t0x2fcc4: 0x6caca020, 0x2fcc5: 0x6caca220, 0x2fcc6: 0x6caca420, 0x2fcc7: 0x6caca620,\n\t0x2fcc8: 0x6caca820, 0x2fcc9: 0x6cacaa20, 0x2fcca: 0x6cacac20, 0x2fccb: 0x6cacae20,\n\t0x2fccc: 0x6cacb020, 0x2fccd: 0x6cacb220, 0x2fcce: 0x6cacb420, 0x2fccf: 0x6cacb620,\n\t0x2fcd0: 0x6cacb820, 0x2fcd1: 0x6cacba20, 0x2fcd2: 0x6cacbc20, 0x2fcd3: 0x6cacbe20,\n\t0x2fcd4: 0x6cacc020, 0x2fcd5: 0x6cacc220, 0x2fcd6: 0x6cacc420, 0x2fcd7: 0x6cacc620,\n\t0x2fcd8: 0x6cacc820, 0x2fcd9: 0x6cacca20, 0x2fcda: 0x6cdb1c20, 0x2fcdb: 0x6caccc20,\n\t0x2fcdc: 0x6cacce20, 0x2fcdd: 0x6cacd020, 0x2fcde: 0x6cacd220, 0x2fcdf: 0x6cacd420,\n\t0x2fce0: 0x6cacd620, 0x2fce1: 0x6cacd820, 0x2fce2: 0x6cacda20, 0x2fce3: 0x6cacdc20,\n\t0x2fce4: 0x6cacde20, 0x2fce5: 0x6cace020, 0x2fce6: 0x6cace220, 0x2fce7: 0x6cace420,\n\t0x2fce8: 0x6cace620, 0x2fce9: 0x6cace820, 0x2fcea: 0x6cacea20, 0x2fceb: 0x6cacec20,\n\t0x2fcec: 0x6cacee20, 0x2fced: 0x6cae1e20, 0x2fcee: 0x6cacf020, 0x2fcef: 0x6cacf220,\n\t0x2fcf0: 0x6cacf420, 0x2fcf1: 0x6cacf620, 0x2fcf2: 0x6cacf820, 0x2fcf3: 0x6cacfa20,\n\t0x2fcf4: 0x6cacfc20, 0x2fcf5: 0x6cacfe20, 0x2fcf6: 0x6cad0020, 0x2fcf7: 0x6cad0220,\n\t0x2fcf8: 0x6cad0420, 0x2fcf9: 0x6cad0620, 0x2fcfa: 0x6cad0820, 0x2fcfb: 0x6d098220,\n\t0x2fcfc: 0x6cad0a20, 0x2fcfd: 0x6cad0c20, 0x2fcfe: 0x6cdb1e20, 0x2fcff: 0x6cdb2020,\n\t// Block 0xbf4, offset 0x2fd00\n\t0x2fd00: 0x6cdb2220, 0x2fd01: 0x6cdb2420, 0x2fd02: 0x6cdb2620, 0x2fd03: 0x6cdb2820,\n\t0x2fd04: 0x6cdb2a20, 0x2fd05: 0x6cdb2c20, 0x2fd06: 0x6cdb2e20, 0x2fd07: 0x6cdb3020,\n\t0x2fd08: 0x6cdb3220, 0x2fd09: 0x6cdb3420, 0x2fd0a: 0x6cdb3620, 0x2fd0b: 0x6cdb3820,\n\t0x2fd0c: 0x6cdb3a20, 0x2fd0d: 0x6cdb3c20, 0x2fd0e: 0x6cdb3e20, 0x2fd0f: 0x6cdb4020,\n\t0x2fd10: 0x6cdb4220, 0x2fd11: 0x6cdb4420, 0x2fd12: 0x6cdb4620, 0x2fd13: 0x6cdb4820,\n\t0x2fd14: 0x6cdb4a20, 0x2fd15: 0x6cdb4c20, 0x2fd16: 0x6cdb4e20, 0x2fd17: 0x6cdb5020,\n\t0x2fd18: 0x6cdb5220, 0x2fd19: 0x6d098420, 0x2fd1a: 0x6cdb5420, 0x2fd1b: 0x6cdb5620,\n\t0x2fd1c: 0x6cdb5820, 0x2fd1d: 0x6cdb5a20, 0x2fd1e: 0x6cdb5c20, 0x2fd1f: 0x6cdb5e20,\n\t0x2fd20: 0x6cdb6020, 0x2fd21: 0x6cdb6220, 0x2fd22: 0x6cdb6420, 0x2fd23: 0x6cdb6620,\n\t0x2fd24: 0x6cdb6820, 0x2fd25: 0x6cdb6a20, 0x2fd26: 0x6cdb6c20, 0x2fd27: 0x6cdb6e20,\n\t0x2fd28: 0x6cdb7020, 0x2fd29: 0x6cdb7220, 0x2fd2a: 0x6cdb7420, 0x2fd2b: 0x6cdb7620,\n\t0x2fd2c: 0x6cdb7820, 0x2fd2d: 0x6cdb7a20, 0x2fd2e: 0x6cdb7c20, 0x2fd2f: 0x6cdb7e20,\n\t0x2fd30: 0x6cdb8020, 0x2fd31: 0x6cdb8220, 0x2fd32: 0x6cdb8420, 0x2fd33: 0x6cdb8620,\n\t0x2fd34: 0x6cdb8820, 0x2fd35: 0x6cdb8a20, 0x2fd36: 0x6cdb8c20, 0x2fd37: 0x6cdb8e20,\n\t0x2fd38: 0x6cdb9020, 0x2fd39: 0x6cdb9220, 0x2fd3a: 0x6cdb9420, 0x2fd3b: 0x6cdb9620,\n\t0x2fd3c: 0x6cdb9820, 0x2fd3d: 0x6cdb9a20, 0x2fd3e: 0x6cdb9c20, 0x2fd3f: 0x6cdb9e20,\n\t// Block 0xbf5, offset 0x2fd40\n\t0x2fd40: 0x6cdba020, 0x2fd41: 0x6cdba220, 0x2fd42: 0x6cdba420, 0x2fd43: 0x6cdba620,\n\t0x2fd44: 0x6cdba820, 0x2fd45: 0x6cdbaa20, 0x2fd46: 0x6cdbac20, 0x2fd47: 0x6cdbae20,\n\t0x2fd48: 0x6cdbb020, 0x2fd49: 0x6cdbb220, 0x2fd4a: 0x6cdbb420, 0x2fd4b: 0x6cdbb620,\n\t0x2fd4c: 0x6cdbb820, 0x2fd4d: 0x6cdbba20, 0x2fd4e: 0x6cdbbc20, 0x2fd4f: 0x6cdbbe20,\n\t0x2fd50: 0x6cdbc020, 0x2fd51: 0x6cdbc220, 0x2fd52: 0x6cdbc420, 0x2fd53: 0x6cdbc620,\n\t0x2fd54: 0x6cdbc820, 0x2fd55: 0x6cdbca20, 0x2fd56: 0x6cdbcc20, 0x2fd57: 0x6cdbce20,\n\t0x2fd58: 0x6cdbd020, 0x2fd59: 0x6cdbd220, 0x2fd5a: 0x6cdbd420, 0x2fd5b: 0x6cdbd620,\n\t0x2fd5c: 0x6cdbd820, 0x2fd5d: 0x6cdbda20, 0x2fd5e: 0x6cdbdc20, 0x2fd5f: 0x6cdbde20,\n\t0x2fd60: 0x6cdbe020, 0x2fd61: 0x6cdbe220, 0x2fd62: 0x6cdbe420, 0x2fd63: 0x6cdbe620,\n\t0x2fd64: 0x6cdbe820, 0x2fd65: 0x6d098620, 0x2fd66: 0x6cdbea20, 0x2fd67: 0x6cdbec20,\n\t0x2fd68: 0x6d098820, 0x2fd69: 0x6d098a20, 0x2fd6a: 0x6d098c20, 0x2fd6b: 0x6d098e20,\n\t0x2fd6c: 0x6d037820, 0x2fd6d: 0x6d099020, 0x2fd6e: 0x6d099220, 0x2fd6f: 0x6d099420,\n\t0x2fd70: 0x6d099620, 0x2fd71: 0x6d099820, 0x2fd72: 0x6d099a20, 0x2fd73: 0x6d099c20,\n\t0x2fd74: 0x6d099e20, 0x2fd75: 0x6d09a020, 0x2fd76: 0x6d09a220, 0x2fd77: 0x6d09a420,\n\t0x2fd78: 0x6cdd4420, 0x2fd79: 0x6d09a620, 0x2fd7a: 0x6d09a820, 0x2fd7b: 0x6d09aa20,\n\t0x2fd7c: 0x6d09ac20, 0x2fd7d: 0x6d09ae20, 0x2fd7e: 0x6d09b020, 0x2fd7f: 0x6d09b220,\n\t// Block 0xbf6, offset 0x2fd80\n\t0x2fd80: 0x6d09b420, 0x2fd81: 0x6d09b620, 0x2fd82: 0x6d09b820, 0x2fd83: 0x6d09ba20,\n\t0x2fd84: 0x6d09bc20, 0x2fd85: 0x6d09be20, 0x2fd86: 0x6d09c020, 0x2fd87: 0x6d09c220,\n\t0x2fd88: 0x6d09c420, 0x2fd89: 0x6d09c620, 0x2fd8a: 0x6d09c820, 0x2fd8b: 0x6d09ca20,\n\t0x2fd8c: 0x6d09cc20, 0x2fd8d: 0x6d09ce20, 0x2fd8e: 0x6d09d020, 0x2fd8f: 0x6d09d220,\n\t0x2fd90: 0x6d09d420, 0x2fd91: 0x6d09d620, 0x2fd92: 0x6d09d820, 0x2fd93: 0x6d09da20,\n\t0x2fd94: 0x6d09dc20, 0x2fd95: 0x6d09de20, 0x2fd96: 0x6d09e020, 0x2fd97: 0x6cdbee20,\n\t0x2fd98: 0x6d09e220, 0x2fd99: 0x6d09e420, 0x2fd9a: 0x6d09e620, 0x2fd9b: 0x6d09e820,\n\t0x2fd9c: 0x6d09ea20, 0x2fd9d: 0x6d09ec20, 0x2fd9e: 0x6d09ee20, 0x2fd9f: 0x6d09f020,\n\t0x2fda0: 0x6d09f220, 0x2fda1: 0x6d09f420, 0x2fda2: 0x6d09f620, 0x2fda3: 0x6d09f820,\n\t0x2fda4: 0x6d09fa20, 0x2fda5: 0x6d09fc20, 0x2fda6: 0x6d09fe20, 0x2fda7: 0x6d0a0020,\n\t0x2fda8: 0x6d0a0220, 0x2fda9: 0x6d0a0420, 0x2fdaa: 0x6d0a0620, 0x2fdab: 0x6d0a0820,\n\t0x2fdac: 0x6d0a0a20, 0x2fdad: 0x6d0a0c20, 0x2fdae: 0x6d0a0e20, 0x2fdaf: 0x6d0a1020,\n\t0x2fdb0: 0x6d0a1220, 0x2fdb1: 0x6d0a1420, 0x2fdb2: 0x6d0a1620, 0x2fdb3: 0x6d0a1820,\n\t0x2fdb4: 0x6d0a1a20, 0x2fdb5: 0x6d0a1c20, 0x2fdb6: 0x6d0a1e20, 0x2fdb7: 0x6d0a2020,\n\t0x2fdb8: 0x6d0a2220, 0x2fdb9: 0x6d0a2420, 0x2fdba: 0x6d0a2620, 0x2fdbb: 0x6d0a2820,\n\t0x2fdbc: 0x6d0a2a20, 0x2fdbd: 0x6d0a2c20, 0x2fdbe: 0x6d0a2e20, 0x2fdbf: 0x6d0a3020,\n\t// Block 0xbf7, offset 0x2fdc0\n\t0x2fdc0: 0x6d0a3220, 0x2fdc1: 0x6d0a3420, 0x2fdc2: 0x6d0a3620, 0x2fdc3: 0x6d0a3820,\n\t0x2fdc4: 0x6d0a3a20, 0x2fdc5: 0x6d0a3c20, 0x2fdc6: 0x6d0a3e20, 0x2fdc7: 0x6d0a4020,\n\t0x2fdc8: 0x6d0a4220, 0x2fdc9: 0x6d0a4420, 0x2fdca: 0x6d640e20, 0x2fdcb: 0x6d0a4620,\n\t0x2fdcc: 0x6d0a4820, 0x2fdcd: 0x6d0a4a20, 0x2fdce: 0x6d0a4c20, 0x2fdcf: 0x6d0a4e20,\n\t0x2fdd0: 0x6d37b020, 0x2fdd1: 0x6d37b220, 0x2fdd2: 0x6d37b420, 0x2fdd3: 0x6d37b620,\n\t0x2fdd4: 0x6d37b820, 0x2fdd5: 0x6d37ba20, 0x2fdd6: 0x6d37bc20, 0x2fdd7: 0x6d37be20,\n\t0x2fdd8: 0x6d37c020, 0x2fdd9: 0x6d37c220, 0x2fdda: 0x6d37c420, 0x2fddb: 0x6d37c620,\n\t0x2fddc: 0x6d37c820, 0x2fddd: 0x6d37ca20, 0x2fdde: 0x6d37cc20, 0x2fddf: 0x6d37ce20,\n\t0x2fde0: 0x6d37d020, 0x2fde1: 0x6d37d220, 0x2fde2: 0x6d37d420, 0x2fde3: 0x6d37d620,\n\t0x2fde4: 0x6d37d820, 0x2fde5: 0x6d37da20, 0x2fde6: 0x6d37dc20, 0x2fde7: 0x6d37de20,\n\t0x2fde8: 0x6d37e020, 0x2fde9: 0x6d37e220, 0x2fdea: 0x6d37e420, 0x2fdeb: 0x6d37e620,\n\t0x2fdec: 0x6d37e820, 0x2fded: 0x6d37ea20, 0x2fdee: 0x6d37ec20, 0x2fdef: 0x6d37ee20,\n\t0x2fdf0: 0x6d37f020, 0x2fdf1: 0x6d37f220, 0x2fdf2: 0x6d37f420, 0x2fdf3: 0x6d37f620,\n\t0x2fdf4: 0x6d37f820, 0x2fdf5: 0x6d37fa20, 0x2fdf6: 0x6d37fc20, 0x2fdf7: 0x6d37fe20,\n\t0x2fdf8: 0x6d2b2a20, 0x2fdf9: 0x6d380020, 0x2fdfa: 0x6d380220, 0x2fdfb: 0x6d380420,\n\t0x2fdfc: 0x6d380620, 0x2fdfd: 0x6d380820, 0x2fdfe: 0x6d380a20, 0x2fdff: 0x6d380c20,\n\t// Block 0xbf8, offset 0x2fe00\n\t0x2fe00: 0x6d380e20, 0x2fe01: 0x6d381020, 0x2fe02: 0x6d381220, 0x2fe03: 0x6d381420,\n\t0x2fe04: 0x6d381620, 0x2fe05: 0x6d0bb820, 0x2fe06: 0x6d381820, 0x2fe07: 0x6d381a20,\n\t0x2fe08: 0x6d0bba20, 0x2fe09: 0x6d381c20, 0x2fe0a: 0x6d381e20, 0x2fe0b: 0x6d382020,\n\t0x2fe0c: 0x6d382220, 0x2fe0d: 0x6d382420, 0x2fe0e: 0x6d382620, 0x2fe0f: 0x6d382820,\n\t0x2fe10: 0x6d382a20, 0x2fe11: 0x6d382c20, 0x2fe12: 0x6d382e20, 0x2fe13: 0x6d383020,\n\t0x2fe14: 0x6d383220, 0x2fe15: 0x6d383420, 0x2fe16: 0x6d383620, 0x2fe17: 0x6d383820,\n\t0x2fe18: 0x6d383a20, 0x2fe19: 0x6d383c20, 0x2fe1a: 0x6d383e20, 0x2fe1b: 0x6d384020,\n\t0x2fe1c: 0x6d384220, 0x2fe1d: 0x6d384420, 0x2fe1e: 0x6d8dfe20, 0x2fe1f: 0x6d384620,\n\t0x2fe20: 0x6d641020, 0x2fe21: 0x6d384820, 0x2fe22: 0x6d384a20, 0x2fe23: 0x6d384c20,\n\t0x2fe24: 0x6d384e20, 0x2fe25: 0x6d39b820, 0x2fe26: 0x6d385020, 0x2fe27: 0x6d641220,\n\t0x2fe28: 0x6d641420, 0x2fe29: 0x6d641620, 0x2fe2a: 0x6d641820, 0x2fe2b: 0x6d641a20,\n\t0x2fe2c: 0x6d641c20, 0x2fe2d: 0x6d641e20, 0x2fe2e: 0x6d642020, 0x2fe2f: 0x6d642220,\n\t0x2fe30: 0x6d642420, 0x2fe31: 0x6d0bbc20, 0x2fe32: 0x6d642620, 0x2fe33: 0x6d642820,\n\t0x2fe34: 0x6d642a20, 0x2fe35: 0x6d642c20, 0x2fe36: 0x6d642e20, 0x2fe37: 0x6d643020,\n\t0x2fe38: 0x6d643220, 0x2fe39: 0x6d643420, 0x2fe3a: 0x6d643620, 0x2fe3b: 0x6d643820,\n\t0x2fe3c: 0x6d643a20, 0x2fe3d: 0x6d643c20, 0x2fe3e: 0x6d643e20, 0x2fe3f: 0x6d644020,\n\t// Block 0xbf9, offset 0x2fe40\n\t0x2fe40: 0x6d644220, 0x2fe41: 0x6d644420, 0x2fe42: 0x6d644620, 0x2fe43: 0x6d644820,\n\t0x2fe44: 0x6d644a20, 0x2fe45: 0x6d644c20, 0x2fe46: 0x6d644e20, 0x2fe47: 0x6d0bbe20,\n\t0x2fe48: 0x6d645020, 0x2fe49: 0x6d645220, 0x2fe4a: 0x6d645420, 0x2fe4b: 0x6d645620,\n\t0x2fe4c: 0x6d645820, 0x2fe4d: 0x6d645a20, 0x2fe4e: 0x6d645c20, 0x2fe4f: 0x6d645e20,\n\t0x2fe50: 0x6d646020, 0x2fe51: 0x6d646220, 0x2fe52: 0x6d646420, 0x2fe53: 0x6d646620,\n\t0x2fe54: 0x6d646820, 0x2fe55: 0x6d646a20, 0x2fe56: 0x6d646c20, 0x2fe57: 0x6d646e20,\n\t0x2fe58: 0x6d647020, 0x2fe59: 0x6d647220, 0x2fe5a: 0x6d647420, 0x2fe5b: 0x6d647620,\n\t0x2fe5c: 0x6d647820, 0x2fe5d: 0x6d647a20, 0x2fe5e: 0x6d647c20, 0x2fe5f: 0x6d647e20,\n\t0x2fe60: 0x6d648020, 0x2fe61: 0x6d648220, 0x2fe62: 0x6d648420, 0x2fe63: 0x6d648620,\n\t0x2fe64: 0x6d648820, 0x2fe65: 0x6d648a20, 0x2fe66: 0x6d648c20, 0x2fe67: 0x6d648e20,\n\t0x2fe68: 0x6d649020, 0x2fe69: 0x6d649220, 0x2fe6a: 0x6d649420, 0x2fe6b: 0x6d649620,\n\t0x2fe6c: 0x6d649820, 0x2fe6d: 0x6d649a20, 0x2fe6e: 0x6d649c20, 0x2fe6f: 0x6d649e20,\n\t0x2fe70: 0x6d64a020, 0x2fe71: 0x6d64a220, 0x2fe72: 0x6d64a420, 0x2fe73: 0x6d64a620,\n\t0x2fe74: 0x6d64a820, 0x2fe75: 0x6d64aa20, 0x2fe76: 0x6d64ac20, 0x2fe77: 0x6d64ae20,\n\t0x2fe78: 0x6d64b020, 0x2fe79: 0x6d64b220, 0x2fe7a: 0x6d64b420, 0x2fe7b: 0x6d64b620,\n\t0x2fe7c: 0x6d64b820, 0x2fe7d: 0x6d65f020, 0x2fe7e: 0x6d8e0020, 0x2fe7f: 0x6d8e0220,\n\t// Block 0xbfa, offset 0x2fe80\n\t0x2fe80: 0x6d8e0420, 0x2fe81: 0x6d8e0620, 0x2fe82: 0x6d8e0820, 0x2fe83: 0x6d8e0a20,\n\t0x2fe84: 0x6d8e0c20, 0x2fe85: 0x6d8e0e20, 0x2fe86: 0x6d8e1020, 0x2fe87: 0x6d8e1220,\n\t0x2fe88: 0x6d8e1420, 0x2fe89: 0x6d8e1620, 0x2fe8a: 0x6d8e1820, 0x2fe8b: 0x6d8e1a20,\n\t0x2fe8c: 0x6d8e1c20, 0x2fe8d: 0x6d8e1e20, 0x2fe8e: 0x6d8e2020, 0x2fe8f: 0x6d65f220,\n\t0x2fe90: 0x6d8e2220, 0x2fe91: 0x6d8e2420, 0x2fe92: 0x6d8e2620, 0x2fe93: 0x6d8e2820,\n\t0x2fe94: 0x6d8e2a20, 0x2fe95: 0x6d8e2c20, 0x2fe96: 0x6d8e2e20, 0x2fe97: 0x6db1fe20,\n\t0x2fe98: 0x6d8e3020, 0x2fe99: 0x6d8e3220, 0x2fe9a: 0x6d8e3420, 0x2fe9b: 0x6d8e3620,\n\t0x2fe9c: 0x6d8e3820, 0x2fe9d: 0x6d8e3a20, 0x2fe9e: 0x6d8e3c20, 0x2fe9f: 0x6d8e3e20,\n\t0x2fea0: 0x6d8e4020, 0x2fea1: 0x6d8e4220, 0x2fea2: 0x6d8e4420, 0x2fea3: 0x6d8e4620,\n\t0x2fea4: 0x6d8e4820, 0x2fea5: 0x6d8e4a20, 0x2fea6: 0x6d8e4c20, 0x2fea7: 0x6d8e4e20,\n\t0x2fea8: 0x6d8e5020, 0x2fea9: 0x6d8e5220, 0x2feaa: 0x6d8e5420, 0x2feab: 0x6d8e5620,\n\t0x2feac: 0x6d8e5820, 0x2fead: 0x6d8e5a20, 0x2feae: 0x6d8e5c20, 0x2feaf: 0x6d8e5e20,\n\t0x2feb0: 0x6d8e6020, 0x2feb1: 0x6d8e6220, 0x2feb2: 0x6d8e6420, 0x2feb3: 0x6d8e6620,\n\t0x2feb4: 0x6d8e6820, 0x2feb5: 0x6d8e6a20, 0x2feb6: 0x6db20020, 0x2feb7: 0x6db20220,\n\t0x2feb8: 0x6db20420, 0x2feb9: 0x6db20620, 0x2feba: 0x6db20820, 0x2febb: 0x6db20a20,\n\t0x2febc: 0x6db20c20, 0x2febd: 0x6db20e20, 0x2febe: 0x6db21020, 0x2febf: 0x6db21220,\n\t// Block 0xbfb, offset 0x2fec0\n\t0x2fec0: 0x6db21420, 0x2fec1: 0x6db21620, 0x2fec2: 0x6db21820, 0x2fec3: 0x6db21a20,\n\t0x2fec4: 0x6db21c20, 0x2fec5: 0x6db21e20, 0x2fec6: 0x6db22020, 0x2fec7: 0x6db22220,\n\t0x2fec8: 0x6db22420, 0x2fec9: 0x6db22620, 0x2feca: 0x6db22820, 0x2fecb: 0x6db22a20,\n\t0x2fecc: 0x6d8fc420, 0x2fecd: 0x6db22c20, 0x2fece: 0x6db22e20, 0x2fecf: 0x6db23020,\n\t0x2fed0: 0x6db23220, 0x2fed1: 0x6db23420, 0x2fed2: 0x6db23620, 0x2fed3: 0x6db23820,\n\t0x2fed4: 0x6db23a20, 0x2fed5: 0x6db23c20, 0x2fed6: 0x6db23e20, 0x2fed7: 0x6db24020,\n\t0x2fed8: 0x6db24220, 0x2fed9: 0x6db24420, 0x2feda: 0x6db24620, 0x2fedb: 0x6db24820,\n\t0x2fedc: 0x6db24a20, 0x2fedd: 0x6db24c20, 0x2fede: 0x6db24e20, 0x2fedf: 0x6db25020,\n\t0x2fee0: 0x6db25220, 0x2fee1: 0x6db25420, 0x2fee2: 0x6db25620, 0x2fee3: 0x6db25820,\n\t0x2fee4: 0x6db25a20, 0x2fee5: 0x6db25c20, 0x2fee6: 0x6db25e20, 0x2fee7: 0x6db26020,\n\t0x2fee8: 0x6db26220, 0x2fee9: 0x6dd14c20, 0x2feea: 0x6db26420, 0x2feeb: 0x6db26620,\n\t0x2feec: 0x6db26820, 0x2feed: 0x6db39420, 0x2feee: 0x6db26a20, 0x2feef: 0x6db39620,\n\t0x2fef0: 0x6dd14e20, 0x2fef1: 0x6dd15020, 0x2fef2: 0x6dd15220, 0x2fef3: 0x6dd15420,\n\t0x2fef4: 0x6dd15620, 0x2fef5: 0x6dd15820, 0x2fef6: 0x6dd15a20, 0x2fef7: 0x6dd15c20,\n\t0x2fef8: 0x6dd15e20, 0x2fef9: 0x6dd16020, 0x2fefa: 0x6dd16220, 0x2fefb: 0x6dd16420,\n\t0x2fefc: 0x6dd16620, 0x2fefd: 0x6dd16820, 0x2fefe: 0x6dd16a20, 0x2feff: 0x6dd16c20,\n\t// Block 0xbfc, offset 0x2ff00\n\t0x2ff00: 0x6dd16e20, 0x2ff01: 0x6dd17020, 0x2ff02: 0x6dd17220, 0x2ff03: 0x6dd17420,\n\t0x2ff04: 0x6dd17620, 0x2ff05: 0x6dd17820, 0x2ff06: 0x6dd17a20, 0x2ff07: 0x6dd17c20,\n\t0x2ff08: 0x6dd17e20, 0x2ff09: 0x6dd18020, 0x2ff0a: 0x6dd18220, 0x2ff0b: 0x6dd18420,\n\t0x2ff0c: 0x6dd18620, 0x2ff0d: 0x6dd18820, 0x2ff0e: 0x6dd18a20, 0x2ff0f: 0x6dd18c20,\n\t0x2ff10: 0x6dd18e20, 0x2ff11: 0x6deac020, 0x2ff12: 0x6dd19020, 0x2ff13: 0x6dd19220,\n\t0x2ff14: 0x6e128a20, 0x2ff15: 0x6deac220, 0x2ff16: 0x6deac420, 0x2ff17: 0x6deac620,\n\t0x2ff18: 0x6deac820, 0x2ff19: 0x6deaca20, 0x2ff1a: 0x6deacc20, 0x2ff1b: 0x6deace20,\n\t0x2ff1c: 0x6dead020, 0x2ff1d: 0x6dead220, 0x2ff1e: 0x6dead420, 0x2ff1f: 0x6dead620,\n\t0x2ff20: 0x6dead820, 0x2ff21: 0x6deada20, 0x2ff22: 0x6deadc20, 0x2ff23: 0x6deade20,\n\t0x2ff24: 0x6deae020, 0x2ff25: 0x6deae220, 0x2ff26: 0x6deae420, 0x2ff27: 0x6deae620,\n\t0x2ff28: 0x6deae820, 0x2ff29: 0x6deaea20, 0x2ff2a: 0x6deaec20, 0x2ff2b: 0x6deaee20,\n\t0x2ff2c: 0x6deaf020, 0x2ff2d: 0x6deaf220, 0x2ff2e: 0x6e006c20, 0x2ff2f: 0x6deaf420,\n\t0x2ff30: 0x6deaf620, 0x2ff31: 0x6deaf820, 0x2ff32: 0x6deafa20, 0x2ff33: 0x6deafc20,\n\t0x2ff34: 0x6deafe20, 0x2ff35: 0x6deb0020, 0x2ff36: 0x6e006e20, 0x2ff37: 0x6debce20,\n\t0x2ff38: 0x6debd020, 0x2ff39: 0x6e007020, 0x2ff3a: 0x6e007220, 0x2ff3b: 0x6e007420,\n\t0x2ff3c: 0x6e007620, 0x2ff3d: 0x6e007820, 0x2ff3e: 0x6e007a20, 0x2ff3f: 0x6e007c20,\n\t// Block 0xbfd, offset 0x2ff40\n\t0x2ff40: 0x6e007e20, 0x2ff41: 0x6e008020, 0x2ff42: 0x6e008220, 0x2ff43: 0x6e008420,\n\t0x2ff44: 0x6e008620, 0x2ff45: 0x6e008820, 0x2ff46: 0x6e008a20, 0x2ff47: 0x6e008c20,\n\t0x2ff48: 0x6e008e20, 0x2ff49: 0x6e009020, 0x2ff4a: 0x6e009220, 0x2ff4b: 0x6e009420,\n\t0x2ff4c: 0x6e009620, 0x2ff4d: 0x6e009820, 0x2ff4e: 0x6e009a20, 0x2ff4f: 0x6e009c20,\n\t0x2ff50: 0x6e009e20, 0x2ff51: 0x6e00a020, 0x2ff52: 0x6e015420, 0x2ff53: 0x6e00a220,\n\t0x2ff54: 0x6e00a420, 0x2ff55: 0x6e128c20, 0x2ff56: 0x6e128e20, 0x2ff57: 0x6e129020,\n\t0x2ff58: 0x6e129220, 0x2ff59: 0x6e129420, 0x2ff5a: 0x6e129620, 0x2ff5b: 0x6e015620,\n\t0x2ff5c: 0x6e129820, 0x2ff5d: 0x6e129a20, 0x2ff5e: 0x6e129c20, 0x2ff5f: 0x6e129e20,\n\t0x2ff60: 0x6e12a020, 0x2ff61: 0x6e12a220, 0x2ff62: 0x6e00a620, 0x2ff63: 0x6e12a420,\n\t0x2ff64: 0x6e006a20, 0x2ff65: 0x6e12a620, 0x2ff66: 0x6e12a820, 0x2ff67: 0x6e12aa20,\n\t0x2ff68: 0x6e12ac20, 0x2ff69: 0x6e12ae20, 0x2ff6a: 0x6e12b020, 0x2ff6b: 0x6e12b220,\n\t0x2ff6c: 0x6e20b820, 0x2ff6d: 0x6e12b420, 0x2ff6e: 0x6e12b620, 0x2ff6f: 0x6e12b820,\n\t0x2ff70: 0x6e015820, 0x2ff71: 0x6e2b7e20, 0x2ff72: 0x6e20ba20, 0x2ff73: 0x6e20bc20,\n\t0x2ff74: 0x6e20be20, 0x2ff75: 0x6e20c020, 0x2ff76: 0x6e20c220, 0x2ff77: 0x6e20c420,\n\t0x2ff78: 0x6e2b8020, 0x2ff79: 0x6e2b8220, 0x2ff7a: 0x6e2b8420, 0x2ff7b: 0x6e2b8620,\n\t0x2ff7c: 0x6e2b8820, 0x2ff7d: 0x6e2b8a20, 0x2ff7e: 0x6e2b8c20, 0x2ff7f: 0x6e2b8e20,\n\t// Block 0xbfe, offset 0x2ff80\n\t0x2ff80: 0x6e2b9020, 0x2ff81: 0x6e2b9220, 0x2ff82: 0x6e39ca20, 0x2ff83: 0x6e33ec20,\n\t0x2ff84: 0x6e3df420, 0x2ff85: 0x6e33ee20, 0x2ff86: 0x6e39cc20, 0x2ff87: 0x6e39ce20,\n\t0x2ff88: 0x6e39d020, 0x2ff89: 0x6e39d220, 0x2ff8a: 0x6e40cc20, 0x2ff8b: 0x6e446620,\n\t0x2ff8c: 0x6e42fa20, 0x2ff8d: 0x6c14ca20, 0x2ff8e: 0x6c401020, 0x2ff8f: 0x6c401220,\n\t0x2ff90: 0x6c5f9620, 0x2ff91: 0x6c84ce20, 0x2ff92: 0x6c674020, 0x2ff93: 0x6c84d020,\n\t0x2ff94: 0x6c84d220, 0x2ff95: 0x6cae2620, 0x2ff96: 0x6cae2820, 0x2ff97: 0x6cae2a20,\n\t0x2ff98: 0x6cae2c20, 0x2ff99: 0x6cae2e20, 0x2ff9a: 0x6cae3020, 0x2ff9b: 0x6cdd4c20,\n\t0x2ff9c: 0x6d0bc020, 0x2ff9d: 0x6cdd4e20, 0x2ff9e: 0x6d0bcc20, 0x2ff9f: 0x6d0bce20,\n\t0x2ffa0: 0x6d39ba20, 0x2ffa1: 0x6d39bc20, 0x2ffa2: 0x6d65f620, 0x2ffa3: 0x6d8fc620,\n\t0x2ffa4: 0x6d8fca20, 0x2ffa5: 0x6d8fcc20, 0x2ffa6: 0x6d8fce20, 0x2ffa7: 0x6db39a20,\n\t0x2ffa8: 0x6db39c20, 0x2ffa9: 0x6dd29a20, 0x2ffaa: 0x6e3e1220, 0x2ffab: 0x6c14cc20,\n\t0x2ffac: 0x6c268a20, 0x2ffad: 0x6c401620, 0x2ffae: 0x6c401820, 0x2ffaf: 0x6c401a20,\n\t0x2ffb0: 0x6c401c20, 0x2ffb1: 0x6c401e20, 0x2ffb2: 0x6c402020, 0x2ffb3: 0x6c5fa820,\n\t0x2ffb4: 0x6c5faa20, 0x2ffb5: 0x6c5fac20, 0x2ffb6: 0x6c5fae20, 0x2ffb7: 0x6c5fb020,\n\t0x2ffb8: 0x6c5fb220, 0x2ffb9: 0x6c5fb420, 0x2ffba: 0x6c5fb620, 0x2ffbb: 0x6c5fb820,\n\t0x2ffbc: 0x6c5fba20, 0x2ffbd: 0x6c5fbc20, 0x2ffbe: 0x6c5fbe20, 0x2ffbf: 0x6c5fc020,\n\t// Block 0xbff, offset 0x2ffc0\n\t0x2ffc0: 0x6c5fc220, 0x2ffc1: 0x6c5fc420, 0x2ffc2: 0x6c5fc620, 0x2ffc3: 0x6c5fc820,\n\t0x2ffc4: 0x6c84e420, 0x2ffc5: 0x6c84e620, 0x2ffc6: 0x6c84e820, 0x2ffc7: 0x6c84ea20,\n\t0x2ffc8: 0x6cdd7820, 0x2ffc9: 0x6c84ec20, 0x2ffca: 0x6c84ee20, 0x2ffcb: 0x6c84f020,\n\t0x2ffcc: 0x6c84f220, 0x2ffcd: 0x6c84f420, 0x2ffce: 0x6c84f620, 0x2ffcf: 0x6c84f820,\n\t0x2ffd0: 0x6c84fa20, 0x2ffd1: 0x6c84fc20, 0x2ffd2: 0x6c84fe20, 0x2ffd3: 0x6c850020,\n\t0x2ffd4: 0x6c850220, 0x2ffd5: 0x6c850420, 0x2ffd6: 0x6c850620, 0x2ffd7: 0x6c850820,\n\t0x2ffd8: 0x6c850a20, 0x2ffd9: 0x6c850c20, 0x2ffda: 0x6c850e20, 0x2ffdb: 0x6c851020,\n\t0x2ffdc: 0x6c851220, 0x2ffdd: 0x6c851420, 0x2ffde: 0x6c851620, 0x2ffdf: 0x6c851820,\n\t0x2ffe0: 0x6c851a20, 0x2ffe1: 0x6c851c20, 0x2ffe2: 0x6c851e20, 0x2ffe3: 0x6c852020,\n\t0x2ffe4: 0x6c852220, 0x2ffe5: 0x6c852420, 0x2ffe6: 0x6c852620, 0x2ffe7: 0x6c852820,\n\t0x2ffe8: 0x6c852a20, 0x2ffe9: 0x6c852c20, 0x2ffea: 0x6c852e20, 0x2ffeb: 0x6cae6020,\n\t0x2ffec: 0x6c853020, 0x2ffed: 0x6cae6220, 0x2ffee: 0x6cae6420, 0x2ffef: 0x6cae6620,\n\t0x2fff0: 0x6cae6820, 0x2fff1: 0x6cae6a20, 0x2fff2: 0x6cae6c20, 0x2fff3: 0x6cae6e20,\n\t0x2fff4: 0x6cae7020, 0x2fff5: 0x6cae7220, 0x2fff6: 0x6cae7420, 0x2fff7: 0x6cae7620,\n\t0x2fff8: 0x6cae7820, 0x2fff9: 0x6cae7a20, 0x2fffa: 0x6cae7c20, 0x2fffb: 0x6cae7e20,\n\t0x2fffc: 0x6cae8020, 0x2fffd: 0x6cae8220, 0x2fffe: 0x6cae8420, 0x2ffff: 0x6cae8620,\n\t// Block 0xc00, offset 0x30000\n\t0x30000: 0x6cae8820, 0x30001: 0x6cae8a20, 0x30002: 0x6cae8c20, 0x30003: 0x6cae8e20,\n\t0x30004: 0x6cae9020, 0x30005: 0x6cae9220, 0x30006: 0x6cae9420, 0x30007: 0x6cae9620,\n\t0x30008: 0x6cae9820, 0x30009: 0x6cae9a20, 0x3000a: 0x6cae9c20, 0x3000b: 0x6cae9e20,\n\t0x3000c: 0x6caea020, 0x3000d: 0x6caea220, 0x3000e: 0x6caea420, 0x3000f: 0x6caea620,\n\t0x30010: 0x6cdd7a20, 0x30011: 0x6cdd7c20, 0x30012: 0x6cdd7e20, 0x30013: 0x6cdd8020,\n\t0x30014: 0x6cdd8220, 0x30015: 0x6cdd8420, 0x30016: 0x6d0bf020, 0x30017: 0x6cdd8620,\n\t0x30018: 0x6cdd8820, 0x30019: 0x6cdd8a20, 0x3001a: 0x6cdd8c20, 0x3001b: 0x6cdd8e20,\n\t0x3001c: 0x6cdd9020, 0x3001d: 0x6cdd9220, 0x3001e: 0x6cdd9420, 0x3001f: 0x6cdd9620,\n\t0x30020: 0x6cdd9820, 0x30021: 0x6cdd9a20, 0x30022: 0x6cdd9c20, 0x30023: 0x6cdd9e20,\n\t0x30024: 0x6cdda020, 0x30025: 0x6cdda220, 0x30026: 0x6cdda420, 0x30027: 0x6cdda620,\n\t0x30028: 0x6cdda820, 0x30029: 0x6cddaa20, 0x3002a: 0x6cddac20, 0x3002b: 0x6cddae20,\n\t0x3002c: 0x6cddb020, 0x3002d: 0x6cddb220, 0x3002e: 0x6cddb420, 0x3002f: 0x6cddb620,\n\t0x30030: 0x6cddb820, 0x30031: 0x6cddba20, 0x30032: 0x6cddbc20, 0x30033: 0x6cddbe20,\n\t0x30034: 0x6cddc020, 0x30035: 0x6d0bf220, 0x30036: 0x6d0bf420, 0x30037: 0x6d0bf620,\n\t0x30038: 0x6d0bf820, 0x30039: 0x6d0bfa20, 0x3003a: 0x6d0bfc20, 0x3003b: 0x6d0bfe20,\n\t0x3003c: 0x6d0c0020, 0x3003d: 0x6d0c0220, 0x3003e: 0x6d0c0420, 0x3003f: 0x6d0c0620,\n\t// Block 0xc01, offset 0x30040\n\t0x30040: 0x6d0c0820, 0x30041: 0x6d0c0a20, 0x30042: 0x6d0c0c20, 0x30043: 0x6d0c0e20,\n\t0x30044: 0x6d0c1020, 0x30045: 0x6d0c1220, 0x30046: 0x6d0c1420, 0x30047: 0x6d0c1620,\n\t0x30048: 0x6d0c1820, 0x30049: 0x6d0c1a20, 0x3004a: 0x6d0c1c20, 0x3004b: 0x6d0c1e20,\n\t0x3004c: 0x6d0c2020, 0x3004d: 0x6d0c2220, 0x3004e: 0x6d0c2420, 0x3004f: 0x6d0c2620,\n\t0x30050: 0x6d0c2820, 0x30051: 0x6d39dc20, 0x30052: 0x6d39de20, 0x30053: 0x6d0c2a20,\n\t0x30054: 0x6d0c2c20, 0x30055: 0x6d0c2e20, 0x30056: 0x6d0c3020, 0x30057: 0x6d0c3220,\n\t0x30058: 0x6d39fc20, 0x30059: 0x6d39fe20, 0x3005a: 0x6d3a0020, 0x3005b: 0x6d3a0220,\n\t0x3005c: 0x6d3a0420, 0x3005d: 0x6d3a0620, 0x3005e: 0x6d3a0820, 0x3005f: 0x6d3a0a20,\n\t0x30060: 0x6d3a0c20, 0x30061: 0x6d3a0e20, 0x30062: 0x6d3a1020, 0x30063: 0x6d3a1220,\n\t0x30064: 0x6d3a1420, 0x30065: 0x6d3a1620, 0x30066: 0x6d3a1820, 0x30067: 0x6d3a1a20,\n\t0x30068: 0x6d3a1c20, 0x30069: 0x6d3a1e20, 0x3006a: 0x6d3a2020, 0x3006b: 0x6d39e020,\n\t0x3006c: 0x6d3a2220, 0x3006d: 0x6d3a2420, 0x3006e: 0x6d3a2620, 0x3006f: 0x6d3a2820,\n\t0x30070: 0x6d3a2a20, 0x30071: 0x6d3a2c20, 0x30072: 0x6d3a2e20, 0x30073: 0x6d3a3020,\n\t0x30074: 0x6d3a3220, 0x30075: 0x6d3a3420, 0x30076: 0x6d3a3620, 0x30077: 0x6d3a3820,\n\t0x30078: 0x6d3a3a20, 0x30079: 0x6d3a3c20, 0x3007a: 0x6d3a3e20, 0x3007b: 0x6d3a4020,\n\t0x3007c: 0x6d3a4220, 0x3007d: 0x6d3a4420, 0x3007e: 0x6d3a4620, 0x3007f: 0x6d3a4820,\n\t// Block 0xc02, offset 0x30080\n\t0x30080: 0x6d3a4a20, 0x30081: 0x6d3a4c20, 0x30082: 0x6d3a4e20, 0x30083: 0x6d3a5020,\n\t0x30084: 0x6d3a5220, 0x30085: 0x6d3a5420, 0x30086: 0x6d0c3420, 0x30087: 0x6d3a5620,\n\t0x30088: 0x6d3a5820, 0x30089: 0x6d3a5a20, 0x3008a: 0x6d3a5c20, 0x3008b: 0x6d3a5e20,\n\t0x3008c: 0x6d662820, 0x3008d: 0x6d0cba20, 0x3008e: 0x6d662a20, 0x3008f: 0x6d662c20,\n\t0x30090: 0x6d662e20, 0x30091: 0x6d663020, 0x30092: 0x6d663220, 0x30093: 0x6d663420,\n\t0x30094: 0x6d663620, 0x30095: 0x6d3b0c20, 0x30096: 0x6d663820, 0x30097: 0x6d663a20,\n\t0x30098: 0x6d663c20, 0x30099: 0x6d663e20, 0x3009a: 0x6d664020, 0x3009b: 0x6d664220,\n\t0x3009c: 0x6d664420, 0x3009d: 0x6d664620, 0x3009e: 0x6d664820, 0x3009f: 0x6d664a20,\n\t0x300a0: 0x6d664c20, 0x300a1: 0x6d664e20, 0x300a2: 0x6d665020, 0x300a3: 0x6d665220,\n\t0x300a4: 0x6d665420, 0x300a5: 0x6d665620, 0x300a6: 0x6d665820, 0x300a7: 0x6d665a20,\n\t0x300a8: 0x6d665c20, 0x300a9: 0x6d665e20, 0x300aa: 0x6d666020, 0x300ab: 0x6d3b0e20,\n\t0x300ac: 0x6d666220, 0x300ad: 0x6d666420, 0x300ae: 0x6d666620, 0x300af: 0x6d666820,\n\t0x300b0: 0x6d666a20, 0x300b1: 0x6d666c20, 0x300b2: 0x6d666e20, 0x300b3: 0x6d667020,\n\t0x300b4: 0x6d667220, 0x300b5: 0x6d667420, 0x300b6: 0x6d667620, 0x300b7: 0x6d667820,\n\t0x300b8: 0x6d667a20, 0x300b9: 0x6d900a20, 0x300ba: 0x6d667c20, 0x300bb: 0x6d667e20,\n\t0x300bc: 0x6d668020, 0x300bd: 0x6d668220, 0x300be: 0x6d668420, 0x300bf: 0x6d668620,\n\t// Block 0xc03, offset 0x300c0\n\t0x300c0: 0x6d668820, 0x300c1: 0x6d900c20, 0x300c2: 0x6d673820, 0x300c3: 0x6d900e20,\n\t0x300c4: 0x6d901020, 0x300c5: 0x6d901220, 0x300c6: 0x6d901420, 0x300c7: 0x6d901620,\n\t0x300c8: 0x6d901820, 0x300c9: 0x6d901a20, 0x300ca: 0x6d901c20, 0x300cb: 0x6d901e20,\n\t0x300cc: 0x6d902020, 0x300cd: 0x6d902220, 0x300ce: 0x6d902420, 0x300cf: 0x6d902620,\n\t0x300d0: 0x6d902820, 0x300d1: 0x6d902a20, 0x300d2: 0x6d902c20, 0x300d3: 0x6d902e20,\n\t0x300d4: 0x6d903020, 0x300d5: 0x6d903220, 0x300d6: 0x6d903420, 0x300d7: 0x6d903620,\n\t0x300d8: 0x6d903820, 0x300d9: 0x6d903a20, 0x300da: 0x6d903c20, 0x300db: 0x6d903e20,\n\t0x300dc: 0x6d904020, 0x300dd: 0x6d904220, 0x300de: 0x6d904420, 0x300df: 0x6d904620,\n\t0x300e0: 0x6d904820, 0x300e1: 0x6d904a20, 0x300e2: 0x6d904c20, 0x300e3: 0x6d904e20,\n\t0x300e4: 0x6d905020, 0x300e5: 0x6d905220, 0x300e6: 0x6d905420, 0x300e7: 0x6d905620,\n\t0x300e8: 0x6d905820, 0x300e9: 0x6d905a20, 0x300ea: 0x6db3d420, 0x300eb: 0x6db3d620,\n\t0x300ec: 0x6db3d820, 0x300ed: 0x6db3da20, 0x300ee: 0x6db3dc20, 0x300ef: 0x6db3de20,\n\t0x300f0: 0x6db3e020, 0x300f1: 0x6db3e220, 0x300f2: 0x6db3e420, 0x300f3: 0x6db3e620,\n\t0x300f4: 0x6db3e820, 0x300f5: 0x6db3ea20, 0x300f6: 0x6db3ec20, 0x300f7: 0x6db3ee20,\n\t0x300f8: 0x6db3f020, 0x300f9: 0x6db3f220, 0x300fa: 0x6db3f420, 0x300fb: 0x6db3f620,\n\t0x300fc: 0x6db3f820, 0x300fd: 0x6db3fa20, 0x300fe: 0x6db3fc20, 0x300ff: 0x6db3fe20,\n\t// Block 0xc04, offset 0x30100\n\t0x30100: 0x6db40020, 0x30101: 0x6db40220, 0x30102: 0x6db40420, 0x30103: 0x6db40620,\n\t0x30104: 0x6db40820, 0x30105: 0x6db40a20, 0x30106: 0x6db40c20, 0x30107: 0x6db40e20,\n\t0x30108: 0x6db41020, 0x30109: 0x6db41220, 0x3010a: 0x6db41420, 0x3010b: 0x6db41620,\n\t0x3010c: 0x6db41820, 0x3010d: 0x6db41a20, 0x3010e: 0x6db41c20, 0x3010f: 0x6db41e20,\n\t0x30110: 0x6db42020, 0x30111: 0x6db42220, 0x30112: 0x6db42420, 0x30113: 0x6dd2ba20,\n\t0x30114: 0x6dd2bc20, 0x30115: 0x6debe420, 0x30116: 0x6dd2be20, 0x30117: 0x6dd2ae20,\n\t0x30118: 0x6dd2c020, 0x30119: 0x6dd2c220, 0x3011a: 0x6dd2c420, 0x3011b: 0x6dd2c620,\n\t0x3011c: 0x6dd2c820, 0x3011d: 0x6dd2ca20, 0x3011e: 0x6db4c620, 0x3011f: 0x6dd2cc20,\n\t0x30120: 0x6dd2ce20, 0x30121: 0x6d668a20, 0x30122: 0x6dd2d020, 0x30123: 0x6dd2d220,\n\t0x30124: 0x6dd2d420, 0x30125: 0x6dd2d620, 0x30126: 0x6dd2d820, 0x30127: 0x6dd2da20,\n\t0x30128: 0x6dd2dc20, 0x30129: 0x6dd2de20, 0x3012a: 0x6dd2e020, 0x3012b: 0x6dd2e220,\n\t0x3012c: 0x6dd2e420, 0x3012d: 0x6dd2e620, 0x3012e: 0x6dd2e820, 0x3012f: 0x6dd2ea20,\n\t0x30130: 0x6dd2ec20, 0x30131: 0x6dd2ee20, 0x30132: 0x6dd2f020, 0x30133: 0x6dd2f220,\n\t0x30134: 0x6dd2f420, 0x30135: 0x6dd2f620, 0x30136: 0x6debf620, 0x30137: 0x6debf820,\n\t0x30138: 0x6debfa20, 0x30139: 0x6debfc20, 0x3013a: 0x6debfe20, 0x3013b: 0x6dec0020,\n\t0x3013c: 0x6dec0220, 0x3013d: 0x6dec0420, 0x3013e: 0x6dec0620, 0x3013f: 0x6dec0820,\n\t// Block 0xc05, offset 0x30140\n\t0x30140: 0x6dec0a20, 0x30141: 0x6debe220, 0x30142: 0x6dec0c20, 0x30143: 0x6dec0e20,\n\t0x30144: 0x6dec1020, 0x30145: 0x6dec1220, 0x30146: 0x6dec1420, 0x30147: 0x6dec1620,\n\t0x30148: 0x6dec1820, 0x30149: 0x6dec1a20, 0x3014a: 0x6dec1c20, 0x3014b: 0x6dec1e20,\n\t0x3014c: 0x6dec2020, 0x3014d: 0x6dec2220, 0x3014e: 0x6dd2f820, 0x3014f: 0x6dec2420,\n\t0x30150: 0x6e017020, 0x30151: 0x6e017220, 0x30152: 0x6e017420, 0x30153: 0x6e017620,\n\t0x30154: 0x6e017820, 0x30155: 0x6e017a20, 0x30156: 0x6e017c20, 0x30157: 0x6e017e20,\n\t0x30158: 0x6e018020, 0x30159: 0x6e018220, 0x3015a: 0x6e135620, 0x3015b: 0x6e135820,\n\t0x3015c: 0x6e135a20, 0x3015d: 0x6e135c20, 0x3015e: 0x6deca420, 0x3015f: 0x6e135e20,\n\t0x30160: 0x6e136020, 0x30161: 0x6e136220, 0x30162: 0x6e136420, 0x30163: 0x6e136620,\n\t0x30164: 0x6e136820, 0x30165: 0x6e212c20, 0x30166: 0x6e212e20, 0x30167: 0x6e213020,\n\t0x30168: 0x6e213220, 0x30169: 0x6e13c620, 0x3016a: 0x6e213420, 0x3016b: 0x6e13c820,\n\t0x3016c: 0x6e213620, 0x3016d: 0x6e2be220, 0x3016e: 0x6e2be420, 0x3016f: 0x6e2be620,\n\t0x30170: 0x6e2be820, 0x30171: 0x6e2bea20, 0x30172: 0x6e2bec20, 0x30173: 0x6e2bee20,\n\t0x30174: 0x6e2bda20, 0x30175: 0x6e342620, 0x30176: 0x6e342820, 0x30177: 0x6e342a20,\n\t0x30178: 0x6e342c20, 0x30179: 0x6e342e20, 0x3017a: 0x6e343020, 0x3017b: 0x6e39ec20,\n\t0x3017c: 0x6e3e1620, 0x3017d: 0x6e40de20, 0x3017e: 0x6e40e020, 0x3017f: 0x6e40fa20,\n\t// Block 0xc06, offset 0x30180\n\t0x30180: 0x6c14ce20, 0x30181: 0x6c5ff820, 0x30182: 0x6c5ffa20, 0x30183: 0x6c858420,\n\t0x30184: 0x6c858620, 0x30185: 0x6caf1c20, 0x30186: 0x6cde4420, 0x30187: 0x6cde4620,\n\t0x30188: 0x6cde4820, 0x30189: 0x6cde4a20, 0x3018a: 0x6e13ca20, 0x3018b: 0x6e345c20,\n\t0x3018c: 0x6c14d020, 0x3018d: 0x6c5ffe20, 0x3018e: 0x6c600020, 0x3018f: 0x6c859620,\n\t0x30190: 0x6caf2620, 0x30191: 0x6caf2820, 0x30192: 0x6caf2a20, 0x30193: 0x6caf2c20,\n\t0x30194: 0x6caf2e20, 0x30195: 0x6cde5220, 0x30196: 0x6cde5420, 0x30197: 0x6cde5620,\n\t0x30198: 0x6d0cc820, 0x30199: 0x6d0cca20, 0x3019a: 0x6d674620, 0x3019b: 0x6d674820,\n\t0x3019c: 0x6d674a20, 0x3019d: 0x6d674c20, 0x3019e: 0x6d912420, 0x3019f: 0x6d912620,\n\t0x301a0: 0x6d912820, 0x301a1: 0x6d912a20, 0x301a2: 0x6e345e20, 0x301a3: 0x6c14d220,\n\t0x301a4: 0x6c0a6020, 0x301a5: 0x6c404820, 0x301a6: 0x6c601220, 0x301a7: 0x6c601420,\n\t0x301a8: 0x6c404a20, 0x301a9: 0x6c601620, 0x301aa: 0x6c601820, 0x301ab: 0x6c601a20,\n\t0x301ac: 0x6c601c20, 0x301ad: 0x6c85a620, 0x301ae: 0x6c85a820, 0x301af: 0x6c85aa20,\n\t0x301b0: 0x6c85ac20, 0x301b1: 0x6c85ae20, 0x301b2: 0x6c85b020, 0x301b3: 0x6c85b220,\n\t0x301b4: 0x6c85b420, 0x301b5: 0x6c85b620, 0x301b6: 0x6c85b820, 0x301b7: 0x6c85ba20,\n\t0x301b8: 0x6c85bc20, 0x301b9: 0x6c85be20, 0x301ba: 0x6c85c020, 0x301bb: 0x6c85c220,\n\t0x301bc: 0x6c85c420, 0x301bd: 0x6c85c620, 0x301be: 0x6c85c820, 0x301bf: 0x6c85ca20,\n\t// Block 0xc07, offset 0x301c0\n\t0x301c0: 0x6c85cc20, 0x301c1: 0x6c85ce20, 0x301c2: 0x6c85d020, 0x301c3: 0x6c85d220,\n\t0x301c4: 0x6c85d420, 0x301c5: 0x6c85d620, 0x301c6: 0x6c85d820, 0x301c7: 0x6c85da20,\n\t0x301c8: 0x6caf4020, 0x301c9: 0x6caf4220, 0x301ca: 0x6caf4420, 0x301cb: 0x6caf4620,\n\t0x301cc: 0x6caf4820, 0x301cd: 0x6caf4a20, 0x301ce: 0x6caf4c20, 0x301cf: 0x6caf4e20,\n\t0x301d0: 0x6caf5020, 0x301d1: 0x6caf5220, 0x301d2: 0x6caf5420, 0x301d3: 0x6caf5620,\n\t0x301d4: 0x6caf5820, 0x301d5: 0x6caf5a20, 0x301d6: 0x6caf5c20, 0x301d7: 0x6caf5e20,\n\t0x301d8: 0x6caf6020, 0x301d9: 0x6caf6220, 0x301da: 0x6caf6420, 0x301db: 0x6caf6620,\n\t0x301dc: 0x6caf6820, 0x301dd: 0x6caf6a20, 0x301de: 0x6caf6c20, 0x301df: 0x6caf6e20,\n\t0x301e0: 0x6caf7020, 0x301e1: 0x6caf7220, 0x301e2: 0x6caf7420, 0x301e3: 0x6caf7620,\n\t0x301e4: 0x6caf7820, 0x301e5: 0x6caf7a20, 0x301e6: 0x6caf7c20, 0x301e7: 0x6caf7e20,\n\t0x301e8: 0x6caf8020, 0x301e9: 0x6caf8220, 0x301ea: 0x6caf8420, 0x301eb: 0x6caf8620,\n\t0x301ec: 0x6caf8820, 0x301ed: 0x6caf8a20, 0x301ee: 0x6caf8c20, 0x301ef: 0x6caf9020,\n\t0x301f0: 0x6caf8e20, 0x301f1: 0x6cde7820, 0x301f2: 0x6cde7a20, 0x301f3: 0x6cde7c20,\n\t0x301f4: 0x6cde7e20, 0x301f5: 0x6cde8020, 0x301f6: 0x6cde8220, 0x301f7: 0x6cde8420,\n\t0x301f8: 0x6cde8620, 0x301f9: 0x6cde8820, 0x301fa: 0x6cde8a20, 0x301fb: 0x6cde8c20,\n\t0x301fc: 0x6cde8e20, 0x301fd: 0x6cde9020, 0x301fe: 0x6cde9220, 0x301ff: 0x6cde9420,\n\t// Block 0xc08, offset 0x30200\n\t0x30200: 0x6cde9620, 0x30201: 0x6cde9820, 0x30202: 0x6cde9a20, 0x30203: 0x6cde9c20,\n\t0x30204: 0x6cde9e20, 0x30205: 0x6cdea020, 0x30206: 0x6cdea220, 0x30207: 0x6cdea420,\n\t0x30208: 0x6cdea620, 0x30209: 0x6cdea820, 0x3020a: 0x6d0ce020, 0x3020b: 0x6d0ce220,\n\t0x3020c: 0x6d0ce420, 0x3020d: 0x6d0ce620, 0x3020e: 0x6d0ce820, 0x3020f: 0x6d0cea20,\n\t0x30210: 0x6d0cec20, 0x30211: 0x6d0cee20, 0x30212: 0x6d0cf020, 0x30213: 0x6d0cf220,\n\t0x30214: 0x6d0cf420, 0x30215: 0x6d0cf620, 0x30216: 0x6d0cf820, 0x30217: 0x6cdeaa20,\n\t0x30218: 0x6d0cfa20, 0x30219: 0x6d0cfc20, 0x3021a: 0x6d0cfe20, 0x3021b: 0x6d0d0020,\n\t0x3021c: 0x6d0d0220, 0x3021d: 0x6d0d0420, 0x3021e: 0x6d0d0620, 0x3021f: 0x6d0d0820,\n\t0x30220: 0x6d0d0a20, 0x30221: 0x6d0d0c20, 0x30222: 0x6d3b2620, 0x30223: 0x6d0d0e20,\n\t0x30224: 0x6d0d1020, 0x30225: 0x6d0d1220, 0x30226: 0x6d676e20, 0x30227: 0x6d3b4820,\n\t0x30228: 0x6d3b4a20, 0x30229: 0x6d3b4c20, 0x3022a: 0x6d3b4e20, 0x3022b: 0x6d3b5020,\n\t0x3022c: 0x6d3b5220, 0x3022d: 0x6d3b5420, 0x3022e: 0x6d3b5620, 0x3022f: 0x6d3b5820,\n\t0x30230: 0x6d3b5a20, 0x30231: 0x6d3b5c20, 0x30232: 0x6d3b5e20, 0x30233: 0x6d3b6020,\n\t0x30234: 0x6d3b6220, 0x30235: 0x6d3b6420, 0x30236: 0x6d3b6620, 0x30237: 0x6d3b6820,\n\t0x30238: 0x6d3b6a20, 0x30239: 0x6d3b6c20, 0x3023a: 0x6d3b6e20, 0x3023b: 0x6d3b7020,\n\t0x3023c: 0x6d3b7220, 0x3023d: 0x6d3b7420, 0x3023e: 0x6d3b7620, 0x3023f: 0x6d3b7820,\n\t// Block 0xc09, offset 0x30240\n\t0x30240: 0x6d3b7a20, 0x30241: 0x6cdef820, 0x30242: 0x6d3b7c20, 0x30243: 0x6d3b7e20,\n\t0x30244: 0x6d3b8020, 0x30245: 0x6d677020, 0x30246: 0x6d677220, 0x30247: 0x6d677420,\n\t0x30248: 0x6d677620, 0x30249: 0x6d677820, 0x3024a: 0x6d677a20, 0x3024b: 0x6d677c20,\n\t0x3024c: 0x6d677e20, 0x3024d: 0x6d678020, 0x3024e: 0x6d678220, 0x3024f: 0x6d678420,\n\t0x30250: 0x6d678620, 0x30251: 0x6d678820, 0x30252: 0x6d678a20, 0x30253: 0x6d678c20,\n\t0x30254: 0x6d678e20, 0x30255: 0x6d679020, 0x30256: 0x6d679220, 0x30257: 0x6d679420,\n\t0x30258: 0x6d679620, 0x30259: 0x6d679820, 0x3025a: 0x6d3b8220, 0x3025b: 0x6d679a20,\n\t0x3025c: 0x6d679c20, 0x3025d: 0x6d679e20, 0x3025e: 0x6d913c20, 0x3025f: 0x6d913e20,\n\t0x30260: 0x6d914020, 0x30261: 0x6d914220, 0x30262: 0x6d914420, 0x30263: 0x6d914620,\n\t0x30264: 0x6d914820, 0x30265: 0x6d914a20, 0x30266: 0x6d914c20, 0x30267: 0x6d914e20,\n\t0x30268: 0x6d915020, 0x30269: 0x6d915220, 0x3026a: 0x6d915420, 0x3026b: 0x6d915620,\n\t0x3026c: 0x6d915820, 0x3026d: 0x6d915a20, 0x3026e: 0x6d915c20, 0x3026f: 0x6d915e20,\n\t0x30270: 0x6d916020, 0x30271: 0x6d916220, 0x30272: 0x6d916420, 0x30273: 0x6db4ee20,\n\t0x30274: 0x6d916620, 0x30275: 0x6db4f020, 0x30276: 0x6db4f220, 0x30277: 0x6db4f420,\n\t0x30278: 0x6db4f620, 0x30279: 0x6db4f820, 0x3027a: 0x6db4fa20, 0x3027b: 0x6db4fc20,\n\t0x3027c: 0x6db4fe20, 0x3027d: 0x6db50020, 0x3027e: 0x6db50220, 0x3027f: 0x6db50420,\n\t// Block 0xc0a, offset 0x30280\n\t0x30280: 0x6db50620, 0x30281: 0x6db50820, 0x30282: 0x6db50a20, 0x30283: 0x6db50c20,\n\t0x30284: 0x6db50e20, 0x30285: 0x6db51020, 0x30286: 0x6dd3b620, 0x30287: 0x6dd3b820,\n\t0x30288: 0x6dd3ba20, 0x30289: 0x6dd3bc20, 0x3028a: 0x6dd3be20, 0x3028b: 0x6dd3c020,\n\t0x3028c: 0x6dd3c220, 0x3028d: 0x6dd3c420, 0x3028e: 0x6dd3c620, 0x3028f: 0x6dd3c820,\n\t0x30290: 0x6dd3ca20, 0x30291: 0x6dd3cc20, 0x30292: 0x6db51420, 0x30293: 0x6dd3ce20,\n\t0x30294: 0x6db51220, 0x30295: 0x6dd3d020, 0x30296: 0x6decb020, 0x30297: 0x6decb220,\n\t0x30298: 0x6decb420, 0x30299: 0x6decb620, 0x3029a: 0x6decb820, 0x3029b: 0x6decba20,\n\t0x3029c: 0x6decbc20, 0x3029d: 0x6decbe20, 0x3029e: 0x6decc020, 0x3029f: 0x6decc220,\n\t0x302a0: 0x6decc420, 0x302a1: 0x6decc620, 0x302a2: 0x6decc820, 0x302a3: 0x6e01ec20,\n\t0x302a4: 0x6e01ee20, 0x302a5: 0x6e01f020, 0x302a6: 0x6e01f220, 0x302a7: 0x6e01f420,\n\t0x302a8: 0x6e01f620, 0x302a9: 0x6e13d220, 0x302aa: 0x6e13d420, 0x302ab: 0x6e13d620,\n\t0x302ac: 0x6e13d820, 0x302ad: 0x6e13da20, 0x302ae: 0x6e13dc20, 0x302af: 0x6e218e20,\n\t0x302b0: 0x6e219020, 0x302b1: 0x6e219220, 0x302b2: 0x6e219420, 0x302b3: 0x6e2c2620,\n\t0x302b4: 0x6e2c2820, 0x302b5: 0x6e346420, 0x302b6: 0x6e2c2a20, 0x302b7: 0x6e346620,\n\t0x302b8: 0x6e3a0c20, 0x302b9: 0x6e3a0e20, 0x302ba: 0x6e3a1020, 0x302bb: 0x6e3a1220,\n\t0x302bc: 0x6e3a1420, 0x302bd: 0x6e40fc20, 0x302be: 0x6c14d420, 0x302bf: 0x6c14d620,\n\t// Block 0xc0b, offset 0x302c0\n\t0x302c0: 0x6c14d820, 0x302c1: 0x6c606620, 0x302c2: 0x6cafe420, 0x302c3: 0x6cdefe20,\n\t0x302c4: 0x6cdf0020, 0x302c5: 0x6d0d7620, 0x302c6: 0x6dd40e20, 0x302c7: 0x6decfe20,\n\t0x302c8: 0x6ded0020, 0x302c9: 0x6e2c3820, 0x302ca: 0x6e3a2020, 0x302cb: 0x6c26a020,\n\t0x302cc: 0x6c606e20, 0x302cd: 0x6c862e20, 0x302ce: 0x6c863020, 0x302cf: 0x6caff420,\n\t0x302d0: 0x6caff620, 0x302d1: 0x6caff820, 0x302d2: 0x6caffa20, 0x302d3: 0x6caffc20,\n\t0x302d4: 0x6caffe20, 0x302d5: 0x6cdf1220, 0x302d6: 0x6ca6aa20, 0x302d7: 0x6cdf1420,\n\t0x302d8: 0x6cdf1620, 0x302d9: 0x6cdf0820, 0x302da: 0x6cdf1820, 0x302db: 0x6d0d8020,\n\t0x302dc: 0x6d0d8220, 0x302dd: 0x6d3bf020, 0x302de: 0x6d3bf220, 0x302df: 0x6d3bf420,\n\t0x302e0: 0x6d3bf620, 0x302e1: 0x6d3bf820, 0x302e2: 0x6d67fc20, 0x302e3: 0x6d67fe20,\n\t0x302e4: 0x6d680020, 0x302e5: 0x6d680220, 0x302e6: 0x6d91ca20, 0x302e7: 0x6d91cc20,\n\t0x302e8: 0x6d91ce20, 0x302e9: 0x6d683220, 0x302ea: 0x6d91d020, 0x302eb: 0x6db58620,\n\t0x302ec: 0x6db58820, 0x302ed: 0x6db58a20, 0x302ee: 0x6db58c20, 0x302ef: 0x6db58e20,\n\t0x302f0: 0x6dd41820, 0x302f1: 0x6dd41a20, 0x302f2: 0x6dd41c20, 0x302f3: 0x6dd41e20,\n\t0x302f4: 0x6ded0e20, 0x302f5: 0x6ded1020, 0x302f6: 0x6ded1220, 0x302f7: 0x6ded1420,\n\t0x302f8: 0x6ded1620, 0x302f9: 0x6e021a20, 0x302fa: 0x6e021c20, 0x302fb: 0x6e021e20,\n\t0x302fc: 0x6e13fe20, 0x302fd: 0x6e140020, 0x302fe: 0x6e21a220, 0x302ff: 0x6e21a420,\n\t// Block 0xc0c, offset 0x30300\n\t0x30300: 0x6e3a2420, 0x30301: 0x6c050c20, 0x30302: 0x6c14da20, 0x30303: 0x6c26a220,\n\t0x30304: 0x6c407220, 0x30305: 0x6c407420, 0x30306: 0x6c5adc20, 0x30307: 0x6c607220,\n\t0x30308: 0x6c607420, 0x30309: 0x6c607620, 0x3030a: 0x6c863e20, 0x3030b: 0x6cb01c20,\n\t0x3030c: 0x6cdf3420, 0x3030d: 0x6cdf3620, 0x3030e: 0x6d0dac20, 0x3030f: 0x6d3c1e20,\n\t0x30310: 0x6d683420, 0x30311: 0x6d683620, 0x30312: 0x6c26a620, 0x30313: 0x6c607c20,\n\t0x30314: 0x6c607e20, 0x30315: 0x6cb02020, 0x30316: 0x6cb02220, 0x30317: 0x6cb02420,\n\t0x30318: 0x6cb02620, 0x30319: 0x6cb02820, 0x3031a: 0x6cdf3820, 0x3031b: 0x6cdf3a20,\n\t0x3031c: 0x6d0db620, 0x3031d: 0x6cdf3c20, 0x3031e: 0x6cdf3e20, 0x3031f: 0x6d0db820,\n\t0x30320: 0x6d0dba20, 0x30321: 0x6d0dbc20, 0x30322: 0x6d0dbe20, 0x30323: 0x6d0dc020,\n\t0x30324: 0x6d0dc220, 0x30325: 0x6d0dc420, 0x30326: 0x6d0dc620, 0x30327: 0x6d0dc820,\n\t0x30328: 0x6d3c2220, 0x30329: 0x6d3c2420, 0x3032a: 0x6d3c2620, 0x3032b: 0x6d3c2820,\n\t0x3032c: 0x6d684420, 0x3032d: 0x6d684620, 0x3032e: 0x6d684820, 0x3032f: 0x6d684a20,\n\t0x30330: 0x6d687a20, 0x30331: 0x6d920a20, 0x30332: 0x6db5ac20, 0x30333: 0x6db5ae20,\n\t0x30334: 0x6dd43820, 0x30335: 0x6ded2a20, 0x30336: 0x6ded2c20, 0x30337: 0x6e023220,\n\t0x30338: 0x6e023420, 0x30339: 0x6e023620, 0x3033a: 0x6e140a20, 0x3033b: 0x6e21b420,\n\t0x3033c: 0x6e21b620, 0x3033d: 0x6e2c3c20, 0x3033e: 0x6e2c3e20, 0x3033f: 0x6e3a3820,\n\t// Block 0xc0d, offset 0x30340\n\t0x30340: 0x6c26aa20, 0x30341: 0x6c26ac20, 0x30342: 0x6c608c20, 0x30343: 0x6c608e20,\n\t0x30344: 0x6c609020, 0x30345: 0x6c609220, 0x30346: 0x6c609420, 0x30347: 0x6c609620,\n\t0x30348: 0x6c609820, 0x30349: 0x6c864e20, 0x3034a: 0x6c865020, 0x3034b: 0x6c865220,\n\t0x3034c: 0x6c865420, 0x3034d: 0x6c865620, 0x3034e: 0x6c865820, 0x3034f: 0x6c865a20,\n\t0x30350: 0x6c865c20, 0x30351: 0x6c865e20, 0x30352: 0x6c866020, 0x30353: 0x6c866220,\n\t0x30354: 0x6c866420, 0x30355: 0x6c866620, 0x30356: 0x6c866820, 0x30357: 0x6c866a20,\n\t0x30358: 0x6c866c20, 0x30359: 0x6c866e20, 0x3035a: 0x6c867020, 0x3035b: 0x6cb07820,\n\t0x3035c: 0x6cb07a20, 0x3035d: 0x6cb07c20, 0x3035e: 0x6cb07e20, 0x3035f: 0x6cb08020,\n\t0x30360: 0x6cb08220, 0x30361: 0x6cb08420, 0x30362: 0x6cb08620, 0x30363: 0x6cb08820,\n\t0x30364: 0x6cb08a20, 0x30365: 0x6cb08c20, 0x30366: 0x6cb08e20, 0x30367: 0x6cb09020,\n\t0x30368: 0x6cb09220, 0x30369: 0x6cb09420, 0x3036a: 0x6cb09620, 0x3036b: 0x6cb09820,\n\t0x3036c: 0x6cb09a20, 0x3036d: 0x6cb09c20, 0x3036e: 0x6cb09e20, 0x3036f: 0x6cb0a020,\n\t0x30370: 0x6cb0a220, 0x30371: 0x6cb0a420, 0x30372: 0x6cb0a620, 0x30373: 0x6cb0a820,\n\t0x30374: 0x6cdf8020, 0x30375: 0x6cdf8220, 0x30376: 0x6cdf8420, 0x30377: 0x6cdf8620,\n\t0x30378: 0x6cdf8820, 0x30379: 0x6cdf8a20, 0x3037a: 0x6cdf8c20, 0x3037b: 0x6cdf8e20,\n\t0x3037c: 0x6cdf9020, 0x3037d: 0x6cdf9220, 0x3037e: 0x6d0ddc20, 0x3037f: 0x6d0dde20,\n\t// Block 0xc0e, offset 0x30380\n\t0x30380: 0x6cdf9420, 0x30381: 0x6cdf9620, 0x30382: 0x6cdf9820, 0x30383: 0x6cdf9a20,\n\t0x30384: 0x6cdf9c20, 0x30385: 0x6cdf9e20, 0x30386: 0x6cdfa020, 0x30387: 0x6cdfa220,\n\t0x30388: 0x6cdfa420, 0x30389: 0x6cdfa620, 0x3038a: 0x6cdfa820, 0x3038b: 0x6cdfaa20,\n\t0x3038c: 0x6cdfac20, 0x3038d: 0x6cdfae20, 0x3038e: 0x6cdfb020, 0x3038f: 0x6cdfb220,\n\t0x30390: 0x6cdfb420, 0x30391: 0x6cdfb620, 0x30392: 0x6cdfb820, 0x30393: 0x6cdfba20,\n\t0x30394: 0x6cdfbc20, 0x30395: 0x6cdfbe20, 0x30396: 0x6cdfc020, 0x30397: 0x6cdfc220,\n\t0x30398: 0x6cdfc420, 0x30399: 0x6cdfc620, 0x3039a: 0x6cdfc820, 0x3039b: 0x6cdfca20,\n\t0x3039c: 0x6cdfcc20, 0x3039d: 0x6cdfce20, 0x3039e: 0x6cdfd020, 0x3039f: 0x6cdfd220,\n\t0x303a0: 0x6cdfd420, 0x303a1: 0x6d0df220, 0x303a2: 0x6d0df420, 0x303a3: 0x6d0df620,\n\t0x303a4: 0x6d0df820, 0x303a5: 0x6d0dfa20, 0x303a6: 0x6d0dfc20, 0x303a7: 0x6d0dfe20,\n\t0x303a8: 0x6d0e0020, 0x303a9: 0x6d0e0220, 0x303aa: 0x6d0e0420, 0x303ab: 0x6d0e0620,\n\t0x303ac: 0x6d0e0820, 0x303ad: 0x6d0e0a20, 0x303ae: 0x6d0e0c20, 0x303af: 0x6d0e0e20,\n\t0x303b0: 0x6d0e1020, 0x303b1: 0x6d0e1220, 0x303b2: 0x6d0e1420, 0x303b3: 0x6d0e1620,\n\t0x303b4: 0x6d0e1820, 0x303b5: 0x6d0e1a20, 0x303b6: 0x6d0e1c20, 0x303b7: 0x6d0e1e20,\n\t0x303b8: 0x6d0e2020, 0x303b9: 0x6d0e2220, 0x303ba: 0x6d0e2420, 0x303bb: 0x6d0e2620,\n\t0x303bc: 0x6d0e2820, 0x303bd: 0x6d0e2a20, 0x303be: 0x6d0e2c20, 0x303bf: 0x6d0e2e20,\n\t// Block 0xc0f, offset 0x303c0\n\t0x303c0: 0x6d0e3020, 0x303c1: 0x6d0e3220, 0x303c2: 0x6d0e3420, 0x303c3: 0x6d0e3620,\n\t0x303c4: 0x6d0e3820, 0x303c5: 0x6d0e3a20, 0x303c6: 0x6d0e3c20, 0x303c7: 0x6d0e3e20,\n\t0x303c8: 0x6d0e4020, 0x303c9: 0x6d0e4220, 0x303ca: 0x6d0e4420, 0x303cb: 0x6d3c5a20,\n\t0x303cc: 0x6d3c5c20, 0x303cd: 0x6d3c5e20, 0x303ce: 0x6d3c6020, 0x303cf: 0x6d3c6220,\n\t0x303d0: 0x6d3c6420, 0x303d1: 0x6d3c6620, 0x303d2: 0x6d3c6820, 0x303d3: 0x6d3c6a20,\n\t0x303d4: 0x6d3c6c20, 0x303d5: 0x6d687c20, 0x303d6: 0x6d3c6e20, 0x303d7: 0x6d3c7020,\n\t0x303d8: 0x6d3c7220, 0x303d9: 0x6d3c7420, 0x303da: 0x6d3c7620, 0x303db: 0x6d3c7820,\n\t0x303dc: 0x6d3c7a20, 0x303dd: 0x6d3c7c20, 0x303de: 0x6d3c7e20, 0x303df: 0x6d3c8020,\n\t0x303e0: 0x6d0e4620, 0x303e1: 0x6d3c8220, 0x303e2: 0x6d3c8420, 0x303e3: 0x6d3c8620,\n\t0x303e4: 0x6d3c8820, 0x303e5: 0x6d3c8a20, 0x303e6: 0x6d3c8c20, 0x303e7: 0x6d3c8e20,\n\t0x303e8: 0x6d3c9020, 0x303e9: 0x6d3c9220, 0x303ea: 0x6d3c9420, 0x303eb: 0x6d3c9620,\n\t0x303ec: 0x6d3c9820, 0x303ed: 0x6d3c9a20, 0x303ee: 0x6d3c9c20, 0x303ef: 0x6d689e20,\n\t0x303f0: 0x6d68a020, 0x303f1: 0x6d68a220, 0x303f2: 0x6d68a420, 0x303f3: 0x6d68a620,\n\t0x303f4: 0x6d68a820, 0x303f5: 0x6d68aa20, 0x303f6: 0x6d68ac20, 0x303f7: 0x6d68ae20,\n\t0x303f8: 0x6d68b020, 0x303f9: 0x6d68b220, 0x303fa: 0x6d68b420, 0x303fb: 0x6d68b620,\n\t0x303fc: 0x6d68b820, 0x303fd: 0x6d68ba20, 0x303fe: 0x6d68bc20, 0x303ff: 0x6d68be20,\n\t// Block 0xc10, offset 0x30400\n\t0x30400: 0x6d68c020, 0x30401: 0x6d68c220, 0x30402: 0x6d68c420, 0x30403: 0x6d68c620,\n\t0x30404: 0x6d68c820, 0x30405: 0x6d68ca20, 0x30406: 0x6d68cc20, 0x30407: 0x6d68ce20,\n\t0x30408: 0x6d68d020, 0x30409: 0x6d68d220, 0x3040a: 0x6d68d420, 0x3040b: 0x6d68d620,\n\t0x3040c: 0x6d68d820, 0x3040d: 0x6d68da20, 0x3040e: 0x6d68dc20, 0x3040f: 0x6d68de20,\n\t0x30410: 0x6d68e020, 0x30411: 0x6d68e220, 0x30412: 0x6d68e420, 0x30413: 0x6d68e620,\n\t0x30414: 0x6d68e820, 0x30415: 0x6d68ea20, 0x30416: 0x6d68ec20, 0x30417: 0x6d68ee20,\n\t0x30418: 0x6d68f020, 0x30419: 0x6d68f220, 0x3041a: 0x6d68f420, 0x3041b: 0x6d697620,\n\t0x3041c: 0x6d923c20, 0x3041d: 0x6d923e20, 0x3041e: 0x6d924020, 0x3041f: 0x6d924220,\n\t0x30420: 0x6d924420, 0x30421: 0x6d924620, 0x30422: 0x6d924820, 0x30423: 0x6d924a20,\n\t0x30424: 0x6d924c20, 0x30425: 0x6d924e20, 0x30426: 0x6d925020, 0x30427: 0x6d925220,\n\t0x30428: 0x6d925420, 0x30429: 0x6d68f620, 0x3042a: 0x6d925620, 0x3042b: 0x6d925820,\n\t0x3042c: 0x6d925a20, 0x3042d: 0x6d925c20, 0x3042e: 0x6d925e20, 0x3042f: 0x6d926020,\n\t0x30430: 0x6d926220, 0x30431: 0x6d926420, 0x30432: 0x6d926620, 0x30433: 0x6d926820,\n\t0x30434: 0x6d926a20, 0x30435: 0x6d926c20, 0x30436: 0x6d926e20, 0x30437: 0x6d927020,\n\t0x30438: 0x6d697820, 0x30439: 0x6d927220, 0x3043a: 0x6d927420, 0x3043b: 0x6d927620,\n\t0x3043c: 0x6d927820, 0x3043d: 0x6d927a20, 0x3043e: 0x6d927c20, 0x3043f: 0x6d927e20,\n\t// Block 0xc11, offset 0x30440\n\t0x30440: 0x6d928020, 0x30441: 0x6d928220, 0x30442: 0x6d928420, 0x30443: 0x6d928620,\n\t0x30444: 0x6db5e020, 0x30445: 0x6db5e220, 0x30446: 0x6db5e420, 0x30447: 0x6db5e620,\n\t0x30448: 0x6db5e820, 0x30449: 0x6db5ea20, 0x3044a: 0x6db5ec20, 0x3044b: 0x6db5ee20,\n\t0x3044c: 0x6db5f020, 0x3044d: 0x6db5f220, 0x3044e: 0x6db5f420, 0x3044f: 0x6db5f620,\n\t0x30450: 0x6db5f820, 0x30451: 0x6db5fa20, 0x30452: 0x6db5fc20, 0x30453: 0x6db5fe20,\n\t0x30454: 0x6d92fc20, 0x30455: 0x6db60020, 0x30456: 0x6db60220, 0x30457: 0x6db60420,\n\t0x30458: 0x6db60620, 0x30459: 0x6db60820, 0x3045a: 0x6db60a20, 0x3045b: 0x6db60c20,\n\t0x3045c: 0x6db60e20, 0x3045d: 0x6db61020, 0x3045e: 0x6db61220, 0x3045f: 0x6db61420,\n\t0x30460: 0x6db61620, 0x30461: 0x6db61820, 0x30462: 0x6db61a20, 0x30463: 0x6dd46220,\n\t0x30464: 0x6dd46420, 0x30465: 0x6dd46620, 0x30466: 0x6dd46820, 0x30467: 0x6dd46a20,\n\t0x30468: 0x6dd46c20, 0x30469: 0x6dd46e20, 0x3046a: 0x6dd47020, 0x3046b: 0x6dd47220,\n\t0x3046c: 0x6dd47420, 0x3046d: 0x6dd47620, 0x3046e: 0x6dd47820, 0x3046f: 0x6dd47a20,\n\t0x30470: 0x6dd47c20, 0x30471: 0x6dd47e20, 0x30472: 0x6dd48020, 0x30473: 0x6dd48220,\n\t0x30474: 0x6dd48420, 0x30475: 0x6dd48620, 0x30476: 0x6dd48820, 0x30477: 0x6dd48a20,\n\t0x30478: 0x6dd48c20, 0x30479: 0x6dd48e20, 0x3047a: 0x6dd49020, 0x3047b: 0x6dd49220,\n\t0x3047c: 0x6dd49420, 0x3047d: 0x6dd49620, 0x3047e: 0x6dd49820, 0x3047f: 0x6ded5020,\n\t// Block 0xc12, offset 0x30480\n\t0x30480: 0x6ded5220, 0x30481: 0x6ded5420, 0x30482: 0x6ded5620, 0x30483: 0x6ded5820,\n\t0x30484: 0x6ded5a20, 0x30485: 0x6e141420, 0x30486: 0x6ded5c20, 0x30487: 0x6dd4fa20,\n\t0x30488: 0x6ded5e20, 0x30489: 0x6ded6020, 0x3048a: 0x6ded6220, 0x3048b: 0x6ded6420,\n\t0x3048c: 0x6ded6620, 0x3048d: 0x6e024e20, 0x3048e: 0x6ded6820, 0x3048f: 0x6ded6a20,\n\t0x30490: 0x6ded6c20, 0x30491: 0x6ded6e20, 0x30492: 0x6ded7020, 0x30493: 0x6ded7220,\n\t0x30494: 0x6ded7420, 0x30495: 0x6ded7620, 0x30496: 0x6ded7820, 0x30497: 0x6ded7a20,\n\t0x30498: 0x6ded7c20, 0x30499: 0x6ded7e20, 0x3049a: 0x6ded8020, 0x3049b: 0x6ded8220,\n\t0x3049c: 0x6ded8420, 0x3049d: 0x6e025020, 0x3049e: 0x6e025220, 0x3049f: 0x6e025420,\n\t0x304a0: 0x6e025620, 0x304a1: 0x6e025820, 0x304a2: 0x6e025a20, 0x304a3: 0x6e025c20,\n\t0x304a4: 0x6e025e20, 0x304a5: 0x6e026020, 0x304a6: 0x6e026220, 0x304a7: 0x6e026420,\n\t0x304a8: 0x6e026620, 0x304a9: 0x6e026820, 0x304aa: 0x6e026a20, 0x304ab: 0x6e026c20,\n\t0x304ac: 0x6e026e20, 0x304ad: 0x6e027020, 0x304ae: 0x6e027220, 0x304af: 0x6e027420,\n\t0x304b0: 0x6e027620, 0x304b1: 0x6e027820, 0x304b2: 0x6e027a20, 0x304b3: 0x6e142220,\n\t0x304b4: 0x6e142420, 0x304b5: 0x6e142620, 0x304b6: 0x6e142820, 0x304b7: 0x6e142a20,\n\t0x304b8: 0x6e142c20, 0x304b9: 0x6e142e20, 0x304ba: 0x6e143020, 0x304bb: 0x6e143220,\n\t0x304bc: 0x6e143420, 0x304bd: 0x6e143620, 0x304be: 0x6e21c820, 0x304bf: 0x6e21ca20,\n\t// Block 0xc13, offset 0x304c0\n\t0x304c0: 0x6e21cc20, 0x304c1: 0x6e21ce20, 0x304c2: 0x6e21d020, 0x304c3: 0x6e21d220,\n\t0x304c4: 0x6e21d420, 0x304c5: 0x6e21d620, 0x304c6: 0x6e221420, 0x304c7: 0x6e2c4620,\n\t0x304c8: 0x6e2c4820, 0x304c9: 0x6e2c4a20, 0x304ca: 0x6e2c4c20, 0x304cb: 0x6e2c4e20,\n\t0x304cc: 0x6e2c5020, 0x304cd: 0x6e2c5220, 0x304ce: 0x6e2c5420, 0x304cf: 0x6e2c5620,\n\t0x304d0: 0x6e2c5820, 0x304d1: 0x6e347c20, 0x304d2: 0x6e347e20, 0x304d3: 0x6e348020,\n\t0x304d4: 0x6e348220, 0x304d5: 0x6e348420, 0x304d6: 0x6e348620, 0x304d7: 0x6e3a3c20,\n\t0x304d8: 0x6e3a3e20, 0x304d9: 0x6e3a4020, 0x304da: 0x6e3e3420, 0x304db: 0x6e3e3620,\n\t0x304dc: 0x6e410420, 0x304dd: 0x6e410620, 0x304de: 0x6e410820, 0x304df: 0x6e448020,\n\t0x304e0: 0x6c00c820, 0x304e1: 0x6c050e20, 0x304e2: 0x6c051020, 0x304e3: 0x6c051220,\n\t0x304e4: 0x6c051420, 0x304e5: 0x6c051620, 0x304e6: 0x6c0a6420, 0x304e7: 0x6c0a6620,\n\t0x304e8: 0x6c0a6820, 0x304e9: 0x6c0a6a20, 0x304ea: 0x6c0a6c20, 0x304eb: 0x6c0a6e20,\n\t0x304ec: 0x6c0a7020, 0x304ed: 0x6c0a7220, 0x304ee: 0x6c0a7420, 0x304ef: 0x6c0a7620,\n\t0x304f0: 0x6c0a7820, 0x304f1: 0x6c0a7a20, 0x304f2: 0x6c14dc20, 0x304f3: 0x6c14de20,\n\t0x304f4: 0x6c14e020, 0x304f5: 0x6c14e220, 0x304f6: 0x6c14e420, 0x304f7: 0x6c14e620,\n\t0x304f8: 0x6c14e820, 0x304f9: 0x6c14ea20, 0x304fa: 0x6c14ec20, 0x304fb: 0x6c14ee20,\n\t0x304fc: 0x6c14f020, 0x304fd: 0x6c14f220, 0x304fe: 0x6c14f420, 0x304ff: 0x6c14f620,\n\t// Block 0xc14, offset 0x30500\n\t0x30500: 0x6c14f820, 0x30501: 0x6c26b220, 0x30502: 0x6c26b420, 0x30503: 0x6c26b620,\n\t0x30504: 0x6c26b820, 0x30505: 0x6c26ba20, 0x30506: 0x6c26bc20, 0x30507: 0x6c26be20,\n\t0x30508: 0x6c26c020, 0x30509: 0x6c26c220, 0x3050a: 0x6c26c420, 0x3050b: 0x6c26c620,\n\t0x3050c: 0x6c26c820, 0x3050d: 0x6c26ca20, 0x3050e: 0x6c26cc20, 0x3050f: 0x6c26ce20,\n\t0x30510: 0x6c26d020, 0x30511: 0x6c26d220, 0x30512: 0x6c26d420, 0x30513: 0x6c407e20,\n\t0x30514: 0x6c408020, 0x30515: 0x6c408220, 0x30516: 0x6c408420, 0x30517: 0x6c408620,\n\t0x30518: 0x6c408820, 0x30519: 0x6c408a20, 0x3051a: 0x6c408c20, 0x3051b: 0x6c408e20,\n\t0x3051c: 0x6c409020, 0x3051d: 0x6c409220, 0x3051e: 0x6c409420, 0x3051f: 0x6c409620,\n\t0x30520: 0x6c409820, 0x30521: 0x6c409a20, 0x30522: 0x6c409c20, 0x30523: 0x6c409e20,\n\t0x30524: 0x6c40a020, 0x30525: 0x6c40a220, 0x30526: 0x6c40a420, 0x30527: 0x6c40a620,\n\t0x30528: 0x6c40a820, 0x30529: 0x6c40aa20, 0x3052a: 0x6c609c20, 0x3052b: 0x6c609e20,\n\t0x3052c: 0x6c60a020, 0x3052d: 0x6c60a220, 0x3052e: 0x6c60a420, 0x3052f: 0x6c60a620,\n\t0x30530: 0x6c60a820, 0x30531: 0x6c60aa20, 0x30532: 0x6c60ac20, 0x30533: 0x6c60ae20,\n\t0x30534: 0x6c60b020, 0x30535: 0x6c60b220, 0x30536: 0x6c60b420, 0x30537: 0x6c869020,\n\t0x30538: 0x6c869220, 0x30539: 0x6c869420, 0x3053a: 0x6c869620, 0x3053b: 0x6c869820,\n\t0x3053c: 0x6c869a20, 0x3053d: 0x6c869c20, 0x3053e: 0x6c869e20, 0x3053f: 0x6c86a020,\n\t// Block 0xc15, offset 0x30540\n\t0x30540: 0x6c86a220, 0x30541: 0x6c86a420, 0x30542: 0x6c86a620, 0x30543: 0x6c86a820,\n\t0x30544: 0x6c86aa20, 0x30545: 0x6c86ac20, 0x30546: 0x6c86ae20, 0x30547: 0x6c86b020,\n\t0x30548: 0x6c86b220, 0x30549: 0x6c86b420, 0x3054a: 0x6c86b620, 0x3054b: 0x6cb10c20,\n\t0x3054c: 0x6cb10e20, 0x3054d: 0x6cb11020, 0x3054e: 0x6cb11220, 0x3054f: 0x6cb11420,\n\t0x30550: 0x6cb11620, 0x30551: 0x6cb11820, 0x30552: 0x6cb11a20, 0x30553: 0x6cb11c20,\n\t0x30554: 0x6cb11e20, 0x30555: 0x6cb12020, 0x30556: 0x6cb12220, 0x30557: 0x6cb12420,\n\t0x30558: 0x6cb12620, 0x30559: 0x6cb12820, 0x3055a: 0x6cb12a20, 0x3055b: 0x6cb12c20,\n\t0x3055c: 0x6cb12e20, 0x3055d: 0x6cb13020, 0x3055e: 0x6cb13220, 0x3055f: 0x6ce02c20,\n\t0x30560: 0x6ce02e20, 0x30561: 0x6ce03020, 0x30562: 0x6ce03220, 0x30563: 0x6ce03420,\n\t0x30564: 0x6ce03620, 0x30565: 0x6ce03820, 0x30566: 0x6ce03a20, 0x30567: 0x6ce03c20,\n\t0x30568: 0x6d0eb420, 0x30569: 0x6d0eb620, 0x3056a: 0x6d0eb820, 0x3056b: 0x6d0eba20,\n\t0x3056c: 0x6d0ebc20, 0x3056d: 0x6d3d0620, 0x3056e: 0x6d3d0820, 0x3056f: 0x6d3d0a20,\n\t0x30570: 0x6d3d0c20, 0x30571: 0x6d3d0e20, 0x30572: 0x6d3d1020, 0x30573: 0x6d697c20,\n\t0x30574: 0x6d697e20, 0x30575: 0x6d698020, 0x30576: 0x6dede020, 0x30577: 0x6c26e620,\n\t0x30578: 0x6c86c620, 0x30579: 0x6cb14020, 0x3057a: 0x6cb14220, 0x3057b: 0x6cb14420,\n\t0x3057c: 0x6d0ec220, 0x3057d: 0x6d3d1820, 0x3057e: 0x6d698620, 0x3057f: 0x6db6a020,\n\t// Block 0xc16, offset 0x30580\n\t0x30580: 0x6db6a220, 0x30581: 0x6db6a420, 0x30582: 0x6dd50020, 0x30583: 0x6dede220,\n\t0x30584: 0x6e221820, 0x30585: 0x6e2c7820, 0x30586: 0x6c26ea20, 0x30587: 0x6c86ce20,\n\t0x30588: 0x6c86d020, 0x30589: 0x6cb15220, 0x3058a: 0x6d0ecc20, 0x3058b: 0x6d0ece20,\n\t0x3058c: 0x6d699820, 0x3058d: 0x6d699a20, 0x3058e: 0x6d699c20, 0x3058f: 0x6db6b420,\n\t0x30590: 0x6dd50420, 0x30591: 0x6e02ba20, 0x30592: 0x6e3a5620, 0x30593: 0x6e411420,\n\t0x30594: 0x6e431e20, 0x30595: 0x6c26ec20, 0x30596: 0x6c40b820, 0x30597: 0x6c86da20,\n\t0x30598: 0x6cb15c20, 0x30599: 0x6cb15e20, 0x3059a: 0x6cb16020, 0x3059b: 0x6cb16220,\n\t0x3059c: 0x6cb16420, 0x3059d: 0x6cb16620, 0x3059e: 0x6ce05e20, 0x3059f: 0x6ce06020,\n\t0x305a0: 0x6ce06220, 0x305a1: 0x6ce06420, 0x305a2: 0x6d0ed820, 0x305a3: 0x6d0eda20,\n\t0x305a4: 0x6d0edc20, 0x305a5: 0x6d0ede20, 0x305a6: 0x6d0ee020, 0x305a7: 0x6d3d2c20,\n\t0x305a8: 0x6d3d2e20, 0x305a9: 0x6d3d3020, 0x305aa: 0x6d3d3220, 0x305ab: 0x6d932420,\n\t0x305ac: 0x6d69da20, 0x305ad: 0x6d932620, 0x305ae: 0x6d932820, 0x305af: 0x6db6c620,\n\t0x305b0: 0x6db6c820, 0x305b1: 0x6db6ca20, 0x305b2: 0x6db6cc20, 0x305b3: 0x6db6ce20,\n\t0x305b4: 0x6dd51620, 0x305b5: 0x6dd51820, 0x305b6: 0x6dee1620, 0x305b7: 0x6dee0a20,\n\t0x305b8: 0x6c26f220, 0x305b9: 0x6c86e420, 0x305ba: 0x6c86e620, 0x305bb: 0x6c86e820,\n\t0x305bc: 0x6cb18020, 0x305bd: 0x6cb18220, 0x305be: 0x6ce07e20, 0x305bf: 0x6ce08020,\n\t// Block 0xc17, offset 0x305c0\n\t0x305c0: 0x6ce08220, 0x305c1: 0x6ce08420, 0x305c2: 0x6ce08620, 0x305c3: 0x6ce08820,\n\t0x305c4: 0x6d0efe20, 0x305c5: 0x6d0f0020, 0x305c6: 0x6d0f0220, 0x305c7: 0x6d0f0420,\n\t0x305c8: 0x6d0f0620, 0x305c9: 0x6d0f0820, 0x305ca: 0x6d0f0a20, 0x305cb: 0x6d3d5020,\n\t0x305cc: 0x6d3d5220, 0x305cd: 0x6d3d5420, 0x305ce: 0x6d69e020, 0x305cf: 0x6d69e220,\n\t0x305d0: 0x6d934220, 0x305d1: 0x6d934420, 0x305d2: 0x6d934620, 0x305d3: 0x6d934820,\n\t0x305d4: 0x6db6e420, 0x305d5: 0x6db6e620, 0x305d6: 0x6db6e820, 0x305d7: 0x6dd52c20,\n\t0x305d8: 0x6dd52e20, 0x305d9: 0x6dd53020, 0x305da: 0x6dee2020, 0x305db: 0x6e3a6620,\n\t0x305dc: 0x6e411c20, 0x305dd: 0x6c26f420, 0x305de: 0x6c60c820, 0x305df: 0x6c60ca20,\n\t0x305e0: 0x6c60cc20, 0x305e1: 0x6c86f020, 0x305e2: 0x6c86f220, 0x305e3: 0x6c86f420,\n\t0x305e4: 0x6c86f620, 0x305e5: 0x6cb19820, 0x305e6: 0x6cb19a20, 0x305e7: 0x6cb19c20,\n\t0x305e8: 0x6cb19e20, 0x305e9: 0x6cb1a020, 0x305ea: 0x6cb1a220, 0x305eb: 0x6cb1a420,\n\t0x305ec: 0x6cb1a620, 0x305ed: 0x6cb1a820, 0x305ee: 0x6cb1aa20, 0x305ef: 0x6ce0bc20,\n\t0x305f0: 0x6ce0be20, 0x305f1: 0x6ce0c020, 0x305f2: 0x6d0f2620, 0x305f3: 0x6ce0c220,\n\t0x305f4: 0x6ce0c420, 0x305f5: 0x6ce0c620, 0x305f6: 0x6ce0c820, 0x305f7: 0x6ce0ca20,\n\t0x305f8: 0x6ce0cc20, 0x305f9: 0x6ce0ce20, 0x305fa: 0x6ce0d020, 0x305fb: 0x6ce0d220,\n\t0x305fc: 0x6ce0d420, 0x305fd: 0x6ce0d620, 0x305fe: 0x6ce0d820, 0x305ff: 0x6ce0da20,\n\t// Block 0xc18, offset 0x30600\n\t0x30600: 0x6ce0dc20, 0x30601: 0x6ce0de20, 0x30602: 0x6d0f2e20, 0x30603: 0x6d0f3020,\n\t0x30604: 0x6d0f3220, 0x30605: 0x6d0f3420, 0x30606: 0x6d0f3620, 0x30607: 0x6d0f3820,\n\t0x30608: 0x6d0f3a20, 0x30609: 0x6d0f3c20, 0x3060a: 0x6d0f3e20, 0x3060b: 0x6d0f4020,\n\t0x3060c: 0x6d0f4220, 0x3060d: 0x6d0f4420, 0x3060e: 0x6d0f4620, 0x3060f: 0x6d3d7c20,\n\t0x30610: 0x6d3d7e20, 0x30611: 0x6d3d8020, 0x30612: 0x6d3d8220, 0x30613: 0x6d3d8420,\n\t0x30614: 0x6d3d8620, 0x30615: 0x6d3d8820, 0x30616: 0x6d3d8a20, 0x30617: 0x6d3d8c20,\n\t0x30618: 0x6d3d8e20, 0x30619: 0x6d6a1420, 0x3061a: 0x6d6a1620, 0x3061b: 0x6d6a1820,\n\t0x3061c: 0x6d6a1a20, 0x3061d: 0x6d6a1c20, 0x3061e: 0x6d6a1e20, 0x3061f: 0x6d6a2020,\n\t0x30620: 0x6d6a2220, 0x30621: 0x6d6a2420, 0x30622: 0x6d6a2620, 0x30623: 0x6d6a2820,\n\t0x30624: 0x6d6a2a20, 0x30625: 0x6d6a2c20, 0x30626: 0x6d6a2e20, 0x30627: 0x6d6a3020,\n\t0x30628: 0x6d6a3220, 0x30629: 0x6d6a3420, 0x3062a: 0x6d6a3620, 0x3062b: 0x6d6a3820,\n\t0x3062c: 0x6d6a3a20, 0x3062d: 0x6d6a6c20, 0x3062e: 0x6d937220, 0x3062f: 0x6d937420,\n\t0x30630: 0x6d937620, 0x30631: 0x6d937820, 0x30632: 0x6d937a20, 0x30633: 0x6d937c20,\n\t0x30634: 0x6d937e20, 0x30635: 0x6d938020, 0x30636: 0x6db70820, 0x30637: 0x6db70a20,\n\t0x30638: 0x6db70c20, 0x30639: 0x6db70e20, 0x3063a: 0x6db71020, 0x3063b: 0x6db71220,\n\t0x3063c: 0x6db71420, 0x3063d: 0x6db71620, 0x3063e: 0x6dd54820, 0x3063f: 0x6dd54a20,\n\t// Block 0xc19, offset 0x30640\n\t0x30640: 0x6dd54c20, 0x30641: 0x6dc6ba20, 0x30642: 0x6dd54e20, 0x30643: 0x6dd55020,\n\t0x30644: 0x6dd55220, 0x30645: 0x6dd55420, 0x30646: 0x6dee3820, 0x30647: 0x6dee3a20,\n\t0x30648: 0x6dee3c20, 0x30649: 0x6dee3e20, 0x3064a: 0x6dee4020, 0x3064b: 0x6dee4220,\n\t0x3064c: 0x6dee4420, 0x3064d: 0x6e02e420, 0x3064e: 0x6e02e620, 0x3064f: 0x6e02e820,\n\t0x30650: 0x6e148420, 0x30651: 0x6e148620, 0x30652: 0x6e148820, 0x30653: 0x6e148a20,\n\t0x30654: 0x6e148c20, 0x30655: 0x6e223220, 0x30656: 0x6e223420, 0x30657: 0x6e223620,\n\t0x30658: 0x6e223820, 0x30659: 0x6e2c8c20, 0x3065a: 0x6e2c8e20, 0x3065b: 0x6e34b020,\n\t0x3065c: 0x6e3a6820, 0x3065d: 0x6c051820, 0x3065e: 0x6c150020, 0x3065f: 0x6c150220,\n\t0x30660: 0x6c150420, 0x30661: 0x6c26f620, 0x30662: 0x6c26f820, 0x30663: 0x6c40c020,\n\t0x30664: 0x6c40c220, 0x30665: 0x6c40c420, 0x30666: 0x6c40c620, 0x30667: 0x6c40c820,\n\t0x30668: 0x6c40ca20, 0x30669: 0x6c40cc20, 0x3066a: 0x6c40ce20, 0x3066b: 0x6c40d020,\n\t0x3066c: 0x6c40d220, 0x3066d: 0x6c40d420, 0x3066e: 0x6c40d620, 0x3066f: 0x6c40d820,\n\t0x30670: 0x6c60dc20, 0x30671: 0x6c60de20, 0x30672: 0x6c60e020, 0x30673: 0x6c60e220,\n\t0x30674: 0x6c60e420, 0x30675: 0x6c60e620, 0x30676: 0x6c60e820, 0x30677: 0x6c60ea20,\n\t0x30678: 0x6c60ec20, 0x30679: 0x6c60ee20, 0x3067a: 0x6c60f020, 0x3067b: 0x6c60f220,\n\t0x3067c: 0x6c871020, 0x3067d: 0x6c871220, 0x3067e: 0x6c871420, 0x3067f: 0x6c871620,\n\t// Block 0xc1a, offset 0x30680\n\t0x30680: 0x6c871820, 0x30681: 0x6c871a20, 0x30682: 0x6c871c20, 0x30683: 0x6c871e20,\n\t0x30684: 0x6c872020, 0x30685: 0x6c872220, 0x30686: 0x6c872420, 0x30687: 0x6cb1dc20,\n\t0x30688: 0x6cb1de20, 0x30689: 0x6cb1e020, 0x3068a: 0x6cb1e220, 0x3068b: 0x6ce11820,\n\t0x3068c: 0x6ce11a20, 0x3068d: 0x6ce11c20, 0x3068e: 0x6ce11e20, 0x3068f: 0x6ce12020,\n\t0x30690: 0x6ce12220, 0x30691: 0x6ce12420, 0x30692: 0x6ce12620, 0x30693: 0x6ce12820,\n\t0x30694: 0x6ce12a20, 0x30695: 0x6ce12c20, 0x30696: 0x6d0f9220, 0x30697: 0x6d0f9420,\n\t0x30698: 0x6d3dc220, 0x30699: 0x6d3dc420, 0x3069a: 0x6d3dc620, 0x3069b: 0x6d3dc820,\n\t0x3069c: 0x6d6a7220, 0x3069d: 0x6d93c220, 0x3069e: 0x6d93c420, 0x3069f: 0x6d93c620,\n\t0x306a0: 0x6d93c820, 0x306a1: 0x6db74020, 0x306a2: 0x6db74220, 0x306a3: 0x6e14a420,\n\t0x306a4: 0x6c26fa20, 0x306a5: 0x6cb1e820, 0x306a6: 0x6cb1ea20, 0x306a7: 0x6cb1ec20,\n\t0x306a8: 0x6d0f9a20, 0x306a9: 0x6d0f9c20, 0x306aa: 0x6d0f9e20, 0x306ab: 0x6d3dce20,\n\t0x306ac: 0x6d93cc20, 0x306ad: 0x6d6a8220, 0x306ae: 0x6d93ce20, 0x306af: 0x6db74420,\n\t0x306b0: 0x6c26fc20, 0x306b1: 0x6c150620, 0x306b2: 0x6c60fe20, 0x306b3: 0x6c610020,\n\t0x306b4: 0x6c610220, 0x306b5: 0x6c610420, 0x306b6: 0x6c872e20, 0x306b7: 0x6c873020,\n\t0x306b8: 0x6c873220, 0x306b9: 0x6cb1fa20, 0x306ba: 0x6cb1fc20, 0x306bb: 0x6cb1fe20,\n\t0x306bc: 0x6cb20020, 0x306bd: 0x6cb20220, 0x306be: 0x6cb20420, 0x306bf: 0x6cb20620,\n\t// Block 0xc1b, offset 0x306c0\n\t0x306c0: 0x6ce14e20, 0x306c1: 0x6ce15020, 0x306c2: 0x6ce15220, 0x306c3: 0x6ce15420,\n\t0x306c4: 0x6ce15620, 0x306c5: 0x6ce15820, 0x306c6: 0x6ce15a20, 0x306c7: 0x6ce15c20,\n\t0x306c8: 0x6ce15e20, 0x306c9: 0x6ce16020, 0x306ca: 0x6ce16220, 0x306cb: 0x6ce16420,\n\t0x306cc: 0x6d0fb420, 0x306cd: 0x6d0fb620, 0x306ce: 0x6d0fb820, 0x306cf: 0x6d0fba20,\n\t0x306d0: 0x6d0fbc20, 0x306d1: 0x6d0fbe20, 0x306d2: 0x6d0fc020, 0x306d3: 0x6d0fc220,\n\t0x306d4: 0x6d0fc420, 0x306d5: 0x6d3de820, 0x306d6: 0x6d3dea20, 0x306d7: 0x6d3dec20,\n\t0x306d8: 0x6d3dee20, 0x306d9: 0x6d3df020, 0x306da: 0x6d3df220, 0x306db: 0x6d6a9020,\n\t0x306dc: 0x6d6a9220, 0x306dd: 0x6d6a9420, 0x306de: 0x6d6a9620, 0x306df: 0x6d6a9820,\n\t0x306e0: 0x6d6a9a20, 0x306e1: 0x6d6a9c20, 0x306e2: 0x6d6a9e20, 0x306e3: 0x6d6aa020,\n\t0x306e4: 0x6d6aa220, 0x306e5: 0x6d93e420, 0x306e6: 0x6d93e620, 0x306e7: 0x6d93e820,\n\t0x306e8: 0x6db75620, 0x306e9: 0x6dd5dc20, 0x306ea: 0x6dee8820, 0x306eb: 0x6dee8a20,\n\t0x306ec: 0x6dee8c20, 0x306ed: 0x6dee8e20, 0x306ee: 0x6e031220, 0x306ef: 0x6e14b020,\n\t0x306f0: 0x6e14b220, 0x306f1: 0x6e2cb020, 0x306f2: 0x6e3e4a20, 0x306f3: 0x6c270220,\n\t0x306f4: 0x6c611a20, 0x306f5: 0x6c875420, 0x306f6: 0x6c875620, 0x306f7: 0x6c875820,\n\t0x306f8: 0x6c875a20, 0x306f9: 0x6cb24e20, 0x306fa: 0x6cb25020, 0x306fb: 0x6cb25220,\n\t0x306fc: 0x6d101620, 0x306fd: 0x6cb25420, 0x306fe: 0x6cb25620, 0x306ff: 0x6cb25820,\n\t// Block 0xc1c, offset 0x30700\n\t0x30700: 0x6cb25a20, 0x30701: 0x6cb25c20, 0x30702: 0x6cb25e20, 0x30703: 0x6cb26020,\n\t0x30704: 0x6cb26220, 0x30705: 0x6ce1ba20, 0x30706: 0x6ce1bc20, 0x30707: 0x6ce1be20,\n\t0x30708: 0x6ce1c020, 0x30709: 0x6ce1c220, 0x3070a: 0x6ce1c420, 0x3070b: 0x6ce1c620,\n\t0x3070c: 0x6ce1c820, 0x3070d: 0x6ce1ca20, 0x3070e: 0x6ce1cc20, 0x3070f: 0x6ce1ce20,\n\t0x30710: 0x6d100820, 0x30711: 0x6ce1d020, 0x30712: 0x6ce1d220, 0x30713: 0x6ce1d420,\n\t0x30714: 0x6ce1d620, 0x30715: 0x6ce1d820, 0x30716: 0x6ce1da20, 0x30717: 0x6ce1dc20,\n\t0x30718: 0x6ce1de20, 0x30719: 0x6ce1e020, 0x3071a: 0x6ce1e220, 0x3071b: 0x6ce1e420,\n\t0x3071c: 0x6ce1e620, 0x3071d: 0x6ce1e820, 0x3071e: 0x6ce1ea20, 0x3071f: 0x6d101820,\n\t0x30720: 0x6d101a20, 0x30721: 0x6d101c20, 0x30722: 0x6d101e20, 0x30723: 0x6d102020,\n\t0x30724: 0x6d102220, 0x30725: 0x6d102420, 0x30726: 0x6d102620, 0x30727: 0x6d102820,\n\t0x30728: 0x6d102a20, 0x30729: 0x6d102c20, 0x3072a: 0x6d102e20, 0x3072b: 0x6d103020,\n\t0x3072c: 0x6d103220, 0x3072d: 0x6d103420, 0x3072e: 0x6d103620, 0x3072f: 0x6d103820,\n\t0x30730: 0x6d103a20, 0x30731: 0x6d103c20, 0x30732: 0x6d103e20, 0x30733: 0x6d104020,\n\t0x30734: 0x6d104220, 0x30735: 0x6ce1ec20, 0x30736: 0x6d104420, 0x30737: 0x6d104620,\n\t0x30738: 0x6d104820, 0x30739: 0x6d104a20, 0x3073a: 0x6d104c20, 0x3073b: 0x6d104e20,\n\t0x3073c: 0x6d3e4c20, 0x3073d: 0x6d3e4e20, 0x3073e: 0x6d3e5020, 0x3073f: 0x6d3e5220,\n\t// Block 0xc1d, offset 0x30740\n\t0x30740: 0x6d3e5420, 0x30741: 0x6d3e5620, 0x30742: 0x6d3e5820, 0x30743: 0x6d3e5a20,\n\t0x30744: 0x6d3e5c20, 0x30745: 0x6d3e5e20, 0x30746: 0x6d3e6020, 0x30747: 0x6d3e6220,\n\t0x30748: 0x6d3e6420, 0x30749: 0x6d3e6620, 0x3074a: 0x6d3e6820, 0x3074b: 0x6d3e6a20,\n\t0x3074c: 0x6d3e6c20, 0x3074d: 0x6d3e6e20, 0x3074e: 0x6d3e7020, 0x3074f: 0x6d6afa20,\n\t0x30750: 0x6d6afc20, 0x30751: 0x6d6afe20, 0x30752: 0x6d6b0020, 0x30753: 0x6d6b0220,\n\t0x30754: 0x6d6b0420, 0x30755: 0x6d6b0620, 0x30756: 0x6d6b0820, 0x30757: 0x6d6b0a20,\n\t0x30758: 0x6d6b0c20, 0x30759: 0x6d6b0e20, 0x3075a: 0x6d6b1020, 0x3075b: 0x6d6b1220,\n\t0x3075c: 0x6d6b1420, 0x3075d: 0x6d6b1620, 0x3075e: 0x6d6b1820, 0x3075f: 0x6d6b1a20,\n\t0x30760: 0x6d6b1c20, 0x30761: 0x6d6b1e20, 0x30762: 0x6d6b2020, 0x30763: 0x6d6b2220,\n\t0x30764: 0x6d6b2420, 0x30765: 0x6d6b2620, 0x30766: 0x6d6b2820, 0x30767: 0x6d6b2a20,\n\t0x30768: 0x6d6b2c20, 0x30769: 0x6d6b2e20, 0x3076a: 0x6d6b3020, 0x3076b: 0x6d6b9820,\n\t0x3076c: 0x6d6b3220, 0x3076d: 0x6d6b3420, 0x3076e: 0x6d6b3620, 0x3076f: 0x6d6b3820,\n\t0x30770: 0x6d944620, 0x30771: 0x6d944820, 0x30772: 0x6d944a20, 0x30773: 0x6d944c20,\n\t0x30774: 0x6d944e20, 0x30775: 0x6d945020, 0x30776: 0x6d945220, 0x30777: 0x6d6b9a20,\n\t0x30778: 0x6d945420, 0x30779: 0x6d945620, 0x3077a: 0x6d6b3a20, 0x3077b: 0x6d945820,\n\t0x3077c: 0x6d945a20, 0x3077d: 0x6d945c20, 0x3077e: 0x6d945e20, 0x3077f: 0x6d946020,\n\t// Block 0xc1e, offset 0x30780\n\t0x30780: 0x6d946220, 0x30781: 0x6d946420, 0x30782: 0x6d946620, 0x30783: 0x6d946820,\n\t0x30784: 0x6d946a20, 0x30785: 0x6d946c20, 0x30786: 0x6db79220, 0x30787: 0x6db79420,\n\t0x30788: 0x6db79620, 0x30789: 0x6db79820, 0x3078a: 0x6db79a20, 0x3078b: 0x6db79c20,\n\t0x3078c: 0x6db79e20, 0x3078d: 0x6db7a020, 0x3078e: 0x6db7a220, 0x3078f: 0x6db7a420,\n\t0x30790: 0x6db7a620, 0x30791: 0x6db7a820, 0x30792: 0x6db7aa20, 0x30793: 0x6db7ac20,\n\t0x30794: 0x6dd5e820, 0x30795: 0x6dd5ea20, 0x30796: 0x6dd5ec20, 0x30797: 0x6dd5ee20,\n\t0x30798: 0x6dd5f020, 0x30799: 0x6dd5f220, 0x3079a: 0x6dd5f420, 0x3079b: 0x6dd5f620,\n\t0x3079c: 0x6dd5f820, 0x3079d: 0x6dd5fa20, 0x3079e: 0x6dd5fc20, 0x3079f: 0x6dd5fe20,\n\t0x307a0: 0x6dd60020, 0x307a1: 0x6dd60220, 0x307a2: 0x6dd60420, 0x307a3: 0x6dd60620,\n\t0x307a4: 0x6dd60820, 0x307a5: 0x6dd60a20, 0x307a6: 0x6dd60c20, 0x307a7: 0x6dd60e20,\n\t0x307a8: 0x6deec820, 0x307a9: 0x6dd6aa20, 0x307aa: 0x6deeca20, 0x307ab: 0x6deecc20,\n\t0x307ac: 0x6deece20, 0x307ad: 0x6deed020, 0x307ae: 0x6dd61020, 0x307af: 0x6deed220,\n\t0x307b0: 0x6deed420, 0x307b1: 0x6deed620, 0x307b2: 0x6deed820, 0x307b3: 0x6deeda20,\n\t0x307b4: 0x6deedc20, 0x307b5: 0x6deede20, 0x307b6: 0x6deee020, 0x307b7: 0x6deee220,\n\t0x307b8: 0x6deee420, 0x307b9: 0x6deee620, 0x307ba: 0x6deee820, 0x307bb: 0x6deeea20,\n\t0x307bc: 0x6deeec20, 0x307bd: 0x6deeee20, 0x307be: 0x6deef020, 0x307bf: 0x6deef220,\n\t// Block 0xc1f, offset 0x307c0\n\t0x307c0: 0x6dd61220, 0x307c1: 0x6e033020, 0x307c2: 0x6e033220, 0x307c3: 0x6e033420,\n\t0x307c4: 0x6e033620, 0x307c5: 0x6e033820, 0x307c6: 0x6e033a20, 0x307c7: 0x6def6820,\n\t0x307c8: 0x6e033c20, 0x307c9: 0x6e033e20, 0x307ca: 0x6e14c820, 0x307cb: 0x6e14ca20,\n\t0x307cc: 0x6e14cc20, 0x307cd: 0x6e14ce20, 0x307ce: 0x6e14d020, 0x307cf: 0x6e14d220,\n\t0x307d0: 0x6e227220, 0x307d1: 0x6e227420, 0x307d2: 0x6e227620, 0x307d3: 0x6e227820,\n\t0x307d4: 0x6e227a20, 0x307d5: 0x6e227c20, 0x307d6: 0x6e227e20, 0x307d7: 0x6e22aa20,\n\t0x307d8: 0x6e2cc220, 0x307d9: 0x6e2cc420, 0x307da: 0x6e22ac20, 0x307db: 0x6e2cc620,\n\t0x307dc: 0x6e2cc820, 0x307dd: 0x6e34c220, 0x307de: 0x6e34c420, 0x307df: 0x6e34c620,\n\t0x307e0: 0x6e34c820, 0x307e1: 0x6e3a7c20, 0x307e2: 0x6e3a7e20, 0x307e3: 0x6e3a8020,\n\t0x307e4: 0x6e3a8220, 0x307e5: 0x6e3a8420, 0x307e6: 0x6e3e4c20, 0x307e7: 0x6e3e4e20,\n\t0x307e8: 0x6e432420, 0x307e9: 0x6e412220, 0x307ea: 0x6e412420, 0x307eb: 0x6c270620,\n\t0x307ec: 0x6c878020, 0x307ed: 0x6cb2aa20, 0x307ee: 0x6cb2ac20, 0x307ef: 0x6cb2ae20,\n\t0x307f0: 0x6ce24420, 0x307f1: 0x6d10b820, 0x307f2: 0x6d10ba20, 0x307f3: 0x6d3ee220,\n\t0x307f4: 0x6d3ee420, 0x307f5: 0x6d3ee620, 0x307f6: 0x6d6b9e20, 0x307f7: 0x6d6ba020,\n\t0x307f8: 0x6d6ba220, 0x307f9: 0x6d6ba420, 0x307fa: 0x6d6ba620, 0x307fb: 0x6d6ba820,\n\t0x307fc: 0x6d6baa20, 0x307fd: 0x6d94e420, 0x307fe: 0x6d94e620, 0x307ff: 0x6dd6ac20,\n\t// Block 0xc20, offset 0x30800\n\t0x30800: 0x6dd6ae20, 0x30801: 0x6dd6b020, 0x30802: 0x6def6c20, 0x30803: 0x6def6e20,\n\t0x30804: 0x6def7020, 0x30805: 0x6def7220, 0x30806: 0x6e039c20, 0x30807: 0x6e150620,\n\t0x30808: 0x6e34de20, 0x30809: 0x6e412c20, 0x3080a: 0x6c270e20, 0x3080b: 0x6c40e420,\n\t0x3080c: 0x6c613220, 0x3080d: 0x6c613420, 0x3080e: 0x6c878e20, 0x3080f: 0x6c879020,\n\t0x30810: 0x6c879220, 0x30811: 0x6c879420, 0x30812: 0x6c879620, 0x30813: 0x6c879820,\n\t0x30814: 0x6c879a20, 0x30815: 0x6c879c20, 0x30816: 0x6cb2e420, 0x30817: 0x6cb2e620,\n\t0x30818: 0x6cb2e820, 0x30819: 0x6cb2ea20, 0x3081a: 0x6cb2ec20, 0x3081b: 0x6cb2ee20,\n\t0x3081c: 0x6cb2f020, 0x3081d: 0x6cb2f220, 0x3081e: 0x6cb2f420, 0x3081f: 0x6cb2f620,\n\t0x30820: 0x6cb2f820, 0x30821: 0x6cb2fa20, 0x30822: 0x6cb2fc20, 0x30823: 0x6cb2fe20,\n\t0x30824: 0x6ce26c20, 0x30825: 0x6ce26e20, 0x30826: 0x6ce27020, 0x30827: 0x6ce27220,\n\t0x30828: 0x6ce27420, 0x30829: 0x6ce27620, 0x3082a: 0x6ce27820, 0x3082b: 0x6ce27a20,\n\t0x3082c: 0x6ce27c20, 0x3082d: 0x6d10ea20, 0x3082e: 0x6ce27e20, 0x3082f: 0x6ce28020,\n\t0x30830: 0x6ce28220, 0x30831: 0x6ce28420, 0x30832: 0x6ce28620, 0x30833: 0x6ce28820,\n\t0x30834: 0x6ce28a20, 0x30835: 0x6ce28c20, 0x30836: 0x6ce28e20, 0x30837: 0x6ce29020,\n\t0x30838: 0x6ce29220, 0x30839: 0x6ce29420, 0x3083a: 0x6ce29620, 0x3083b: 0x6ce29820,\n\t0x3083c: 0x6ce29a20, 0x3083d: 0x6ce29c20, 0x3083e: 0x6d10ec20, 0x3083f: 0x6d10ee20,\n\t// Block 0xc21, offset 0x30840\n\t0x30840: 0x6d10f020, 0x30841: 0x6d10f220, 0x30842: 0x6d10f420, 0x30843: 0x6d10f620,\n\t0x30844: 0x6d10f820, 0x30845: 0x6d10fa20, 0x30846: 0x6d10fc20, 0x30847: 0x6d10fe20,\n\t0x30848: 0x6d110020, 0x30849: 0x6d110220, 0x3084a: 0x6d110420, 0x3084b: 0x6d110620,\n\t0x3084c: 0x6d110820, 0x3084d: 0x6d3f0a20, 0x3084e: 0x6d3f0c20, 0x3084f: 0x6d3f0e20,\n\t0x30850: 0x6d3f1020, 0x30851: 0x6d3f1220, 0x30852: 0x6d3f1420, 0x30853: 0x6d3f1620,\n\t0x30854: 0x6d3f1820, 0x30855: 0x6d3f1a20, 0x30856: 0x6d6bd020, 0x30857: 0x6d6bd220,\n\t0x30858: 0x6d6bd420, 0x30859: 0x6d6bd620, 0x3085a: 0x6d6bd820, 0x3085b: 0x6d6bda20,\n\t0x3085c: 0x6d6bdc20, 0x3085d: 0x6d6bde20, 0x3085e: 0x6d6be020, 0x3085f: 0x6d6be220,\n\t0x30860: 0x6d6be420, 0x30861: 0x6d6be620, 0x30862: 0x6d6be820, 0x30863: 0x6d6bea20,\n\t0x30864: 0x6d6bec20, 0x30865: 0x6d6bee20, 0x30866: 0x6d6bf020, 0x30867: 0x6d6bf220,\n\t0x30868: 0x6d6bf420, 0x30869: 0x6d6bf620, 0x3086a: 0x6d6bf820, 0x3086b: 0x6d6bfa20,\n\t0x3086c: 0x6d6bfc20, 0x3086d: 0x6d950820, 0x3086e: 0x6d950a20, 0x3086f: 0x6d950c20,\n\t0x30870: 0x6d950e20, 0x30871: 0x6d951020, 0x30872: 0x6d951220, 0x30873: 0x6d951420,\n\t0x30874: 0x6d951620, 0x30875: 0x6d951820, 0x30876: 0x6d951a20, 0x30877: 0x6d951c20,\n\t0x30878: 0x6d951e20, 0x30879: 0x6d952020, 0x3087a: 0x6d952220, 0x3087b: 0x6d952420,\n\t0x3087c: 0x6d952620, 0x3087d: 0x6db84220, 0x3087e: 0x6db84420, 0x3087f: 0x6db84620,\n\t// Block 0xc22, offset 0x30880\n\t0x30880: 0x6db84820, 0x30881: 0x6db84a20, 0x30882: 0x6db84c20, 0x30883: 0x6db84e20,\n\t0x30884: 0x6db85020, 0x30885: 0x6db85220, 0x30886: 0x6dd6ce20, 0x30887: 0x6dd6d020,\n\t0x30888: 0x6dd6d220, 0x30889: 0x6dd6d420, 0x3088a: 0x6dd6d620, 0x3088b: 0x6dd6d820,\n\t0x3088c: 0x6dd6da20, 0x3088d: 0x6def9a20, 0x3088e: 0x6def9c20, 0x3088f: 0x6def9e20,\n\t0x30890: 0x6defa020, 0x30891: 0x6defa220, 0x30892: 0x6defa420, 0x30893: 0x6defa620,\n\t0x30894: 0x6defa820, 0x30895: 0x6e03ae20, 0x30896: 0x6e03b020, 0x30897: 0x6e03b220,\n\t0x30898: 0x6e03b420, 0x30899: 0x6e03b620, 0x3089a: 0x6e03b820, 0x3089b: 0x6e151820,\n\t0x3089c: 0x6e151a20, 0x3089d: 0x6e151c20, 0x3089e: 0x6e151e20, 0x3089f: 0x6e152020,\n\t0x308a0: 0x6e22b820, 0x308a1: 0x6e22ba20, 0x308a2: 0x6e22bc20, 0x308a3: 0x6e2cee20,\n\t0x308a4: 0x6e2cf020, 0x308a5: 0x6e413020, 0x308a6: 0x6c051a20, 0x308a7: 0x6c0a7e20,\n\t0x308a8: 0x6c150820, 0x308a9: 0x6c271020, 0x308aa: 0x6c271220, 0x308ab: 0x6c271420,\n\t0x308ac: 0x6c40e620, 0x308ad: 0x6c40e820, 0x308ae: 0x6c40ea20, 0x308af: 0x6c40ec20,\n\t0x308b0: 0x6c40ee20, 0x308b1: 0x6c614620, 0x308b2: 0x6c614820, 0x308b3: 0x6c614a20,\n\t0x308b4: 0x6c614c20, 0x308b5: 0x6c614e20, 0x308b6: 0x6c615020, 0x308b7: 0x6c615220,\n\t0x308b8: 0x6c615420, 0x308b9: 0x6c615620, 0x308ba: 0x6c615820, 0x308bb: 0x6c615a20,\n\t0x308bc: 0x6c87ba20, 0x308bd: 0x6c87bc20, 0x308be: 0x6c87be20, 0x308bf: 0x6c87c020,\n\t// Block 0xc23, offset 0x308c0\n\t0x308c0: 0x6c87c220, 0x308c1: 0x6c87c420, 0x308c2: 0x6c87c620, 0x308c3: 0x6c87c820,\n\t0x308c4: 0x6cb33a20, 0x308c5: 0x6cb33c20, 0x308c6: 0x6cb33e20, 0x308c7: 0x6ce2d820,\n\t0x308c8: 0x6ce2da20, 0x308c9: 0x6ce2dc20, 0x308ca: 0x6ce2de20, 0x308cb: 0x6ce2e020,\n\t0x308cc: 0x6ce2e220, 0x308cd: 0x6ce2e420, 0x308ce: 0x6ce2e620, 0x308cf: 0x6d113e20,\n\t0x308d0: 0x6d114020, 0x308d1: 0x6d114220, 0x308d2: 0x6d114420, 0x308d3: 0x6d114620,\n\t0x308d4: 0x6d114820, 0x308d5: 0x6d3f5e20, 0x308d6: 0x6d3f6020, 0x308d7: 0x6d3f6220,\n\t0x308d8: 0x6d6c4e20, 0x308d9: 0x6d957020, 0x308da: 0x6d957220, 0x308db: 0x6c271c20,\n\t0x308dc: 0x6ce2f020, 0x308dd: 0x6ce2f220, 0x308de: 0x6d114c20, 0x308df: 0x6d114e20,\n\t0x308e0: 0x6d115020, 0x308e1: 0x6d3f6820, 0x308e2: 0x6d3f6a20, 0x308e3: 0x6d3f6c20,\n\t0x308e4: 0x6d6c5620, 0x308e5: 0x6d957820, 0x308e6: 0x6d957a20, 0x308e7: 0x6d957c20,\n\t0x308e8: 0x6d957e20, 0x308e9: 0x6d958020, 0x308ea: 0x6d958220, 0x308eb: 0x6db89e20,\n\t0x308ec: 0x6dd71620, 0x308ed: 0x6defca20, 0x308ee: 0x6e03ee20, 0x308ef: 0x6e153620,\n\t0x308f0: 0x6c272020, 0x308f1: 0x6c87d620, 0x308f2: 0x6d116020, 0x308f3: 0x6d6c6220,\n\t0x308f4: 0x6defd620, 0x308f5: 0x6c272620, 0x308f6: 0x6c051e20, 0x308f7: 0x6c0a8020,\n\t0x308f8: 0x6c150a20, 0x308f9: 0x6c150c20, 0x308fa: 0x6c150e20, 0x308fb: 0x6c151020,\n\t0x308fc: 0x6c151220, 0x308fd: 0x6c151420, 0x308fe: 0x6c272e20, 0x308ff: 0x6c273020,\n\t// Block 0xc24, offset 0x30900\n\t0x30900: 0x6c273220, 0x30901: 0x6c273420, 0x30902: 0x6c273620, 0x30903: 0x6c273820,\n\t0x30904: 0x6c273a20, 0x30905: 0x6c273c20, 0x30906: 0x6c273e20, 0x30907: 0x6c274020,\n\t0x30908: 0x6c274220, 0x30909: 0x6c274420, 0x3090a: 0x6c410020, 0x3090b: 0x6c410220,\n\t0x3090c: 0x6c410420, 0x3090d: 0x6c410620, 0x3090e: 0x6c410820, 0x3090f: 0x6c410a20,\n\t0x30910: 0x6c410c20, 0x30911: 0x6c410e20, 0x30912: 0x6c411020, 0x30913: 0x6c411220,\n\t0x30914: 0x6c411420, 0x30915: 0x6c411620, 0x30916: 0x6c411820, 0x30917: 0x6c411a20,\n\t0x30918: 0x6c411c20, 0x30919: 0x6c411e20, 0x3091a: 0x6c412020, 0x3091b: 0x6c412220,\n\t0x3091c: 0x6c412420, 0x3091d: 0x6c412620, 0x3091e: 0x6c412820, 0x3091f: 0x6c412a20,\n\t0x30920: 0x6c616a20, 0x30921: 0x6c616c20, 0x30922: 0x6c616e20, 0x30923: 0x6c617020,\n\t0x30924: 0x6c617220, 0x30925: 0x6c617420, 0x30926: 0x6c617620, 0x30927: 0x6c617820,\n\t0x30928: 0x6c617a20, 0x30929: 0x6c617c20, 0x3092a: 0x6c617e20, 0x3092b: 0x6c618020,\n\t0x3092c: 0x6c412c20, 0x3092d: 0x6c618220, 0x3092e: 0x6c618420, 0x3092f: 0x6c618620,\n\t0x30930: 0x6c618820, 0x30931: 0x6c618a20, 0x30932: 0x6c618c20, 0x30933: 0x6c618e20,\n\t0x30934: 0x6c87e620, 0x30935: 0x6c87e820, 0x30936: 0x6c87ea20, 0x30937: 0x6c87ec20,\n\t0x30938: 0x6c87ee20, 0x30939: 0x6c87f020, 0x3093a: 0x6c87f220, 0x3093b: 0x6c87f420,\n\t0x3093c: 0x6c87f620, 0x3093d: 0x6c87f820, 0x3093e: 0x6c87fa20, 0x3093f: 0x6c87fc20,\n\t// Block 0xc25, offset 0x30940\n\t0x30940: 0x6c87fe20, 0x30941: 0x6c880020, 0x30942: 0x6c880220, 0x30943: 0x6c880420,\n\t0x30944: 0x6c880620, 0x30945: 0x6c880820, 0x30946: 0x6c880a20, 0x30947: 0x6c880c20,\n\t0x30948: 0x6c880e20, 0x30949: 0x6c881020, 0x3094a: 0x6c881220, 0x3094b: 0x6cb34e20,\n\t0x3094c: 0x6cb35020, 0x3094d: 0x6cb35220, 0x3094e: 0x6cb35420, 0x3094f: 0x6cb35620,\n\t0x30950: 0x6cb35820, 0x30951: 0x6cb35a20, 0x30952: 0x6cb35c20, 0x30953: 0x6cb35e20,\n\t0x30954: 0x6cb36020, 0x30955: 0x6cb36220, 0x30956: 0x6cb36420, 0x30957: 0x6cb36620,\n\t0x30958: 0x6cb36820, 0x30959: 0x6cb36a20, 0x3095a: 0x6cb36c20, 0x3095b: 0x6cb36e20,\n\t0x3095c: 0x6cb37020, 0x3095d: 0x6cb37220, 0x3095e: 0x6cb37420, 0x3095f: 0x6cb37620,\n\t0x30960: 0x6cb37820, 0x30961: 0x6cb37a20, 0x30962: 0x6cb37c20, 0x30963: 0x6cb37e20,\n\t0x30964: 0x6cb38020, 0x30965: 0x6cb38220, 0x30966: 0x6cb38420, 0x30967: 0x6cb38620,\n\t0x30968: 0x6ce30420, 0x30969: 0x6ce30620, 0x3096a: 0x6ce30820, 0x3096b: 0x6ce30a20,\n\t0x3096c: 0x6ce30c20, 0x3096d: 0x6ce30e20, 0x3096e: 0x6ce31020, 0x3096f: 0x6ce31220,\n\t0x30970: 0x6ce31420, 0x30971: 0x6ce31620, 0x30972: 0x6ce31820, 0x30973: 0x6ce31a20,\n\t0x30974: 0x6ce31c20, 0x30975: 0x6ce31e20, 0x30976: 0x6ce32020, 0x30977: 0x6ce32220,\n\t0x30978: 0x6ce32420, 0x30979: 0x6ce32620, 0x3097a: 0x6ce32820, 0x3097b: 0x6ce32a20,\n\t0x3097c: 0x6d116a20, 0x3097d: 0x6d116c20, 0x3097e: 0x6d116e20, 0x3097f: 0x6d117020,\n\t// Block 0xc26, offset 0x30980\n\t0x30980: 0x6d117220, 0x30981: 0x6d117420, 0x30982: 0x6d117620, 0x30983: 0x6d117820,\n\t0x30984: 0x6d117a20, 0x30985: 0x6d117c20, 0x30986: 0x6d117e20, 0x30987: 0x6d118020,\n\t0x30988: 0x6d118220, 0x30989: 0x6d118420, 0x3098a: 0x6d118620, 0x3098b: 0x6d118820,\n\t0x3098c: 0x6d118a20, 0x3098d: 0x6d118c20, 0x3098e: 0x6d118e20, 0x3098f: 0x6d119020,\n\t0x30990: 0x6d119220, 0x30991: 0x6d119420, 0x30992: 0x6d119620, 0x30993: 0x6d119820,\n\t0x30994: 0x6d119a20, 0x30995: 0x6d119c20, 0x30996: 0x6d119e20, 0x30997: 0x6d11a020,\n\t0x30998: 0x6d3f8020, 0x30999: 0x6d3f8220, 0x3099a: 0x6d3f8420, 0x3099b: 0x6d3f8620,\n\t0x3099c: 0x6d3f8820, 0x3099d: 0x6d3f8a20, 0x3099e: 0x6d3f8c20, 0x3099f: 0x6d3f8e20,\n\t0x309a0: 0x6d3f9020, 0x309a1: 0x6d3f9220, 0x309a2: 0x6d3f9420, 0x309a3: 0x6d3f9620,\n\t0x309a4: 0x6d3f9820, 0x309a5: 0x6d3f9a20, 0x309a6: 0x6d6c6e20, 0x309a7: 0x6d6c7020,\n\t0x309a8: 0x6d6c7220, 0x309a9: 0x6d6c7420, 0x309aa: 0x6d6c7620, 0x309ab: 0x6d6c7820,\n\t0x309ac: 0x6d6c7a20, 0x309ad: 0x6d6c7c20, 0x309ae: 0x6d6c7e20, 0x309af: 0x6d6c8020,\n\t0x309b0: 0x6d6c8220, 0x309b1: 0x6d6c8420, 0x309b2: 0x6d959e20, 0x309b3: 0x6d6c8620,\n\t0x309b4: 0x6d95a020, 0x309b5: 0x6d95a220, 0x309b6: 0x6d95a420, 0x309b7: 0x6d6c8820,\n\t0x309b8: 0x6d95a620, 0x309b9: 0x6d95a820, 0x309ba: 0x6d95aa20, 0x309bb: 0x6d95ac20,\n\t0x309bc: 0x6d95ae20, 0x309bd: 0x6db8b220, 0x309be: 0x6db8b420, 0x309bf: 0x6db8b620,\n\t// Block 0xc27, offset 0x309c0\n\t0x309c0: 0x6db8b820, 0x309c1: 0x6db8ba20, 0x309c2: 0x6db8bc20, 0x309c3: 0x6db8be20,\n\t0x309c4: 0x6db8c020, 0x309c5: 0x6db8c220, 0x309c6: 0x6d95b020, 0x309c7: 0x6dd72220,\n\t0x309c8: 0x6dd72420, 0x309c9: 0x6db8c420, 0x309ca: 0x6defdc20, 0x309cb: 0x6defde20,\n\t0x309cc: 0x6defe020, 0x309cd: 0x6e03fc20, 0x309ce: 0x6e153c20, 0x309cf: 0x6e2d0820,\n\t0x309d0: 0x6e2d0a20, 0x309d1: 0x6c278a20, 0x309d2: 0x6c0a8e20, 0x309d3: 0x6c0a9020,\n\t0x309d4: 0x6c153c20, 0x309d5: 0x6c886a20, 0x309d6: 0x6c153e20, 0x309d7: 0x6c154020,\n\t0x309d8: 0x6c154220, 0x309d9: 0x6c154420, 0x309da: 0x6c154620, 0x309db: 0x6c154820,\n\t0x309dc: 0x6c154a20, 0x309dd: 0x6c154c20, 0x309de: 0x6c279220, 0x309df: 0x6c279420,\n\t0x309e0: 0x6c279620, 0x309e1: 0x6c279820, 0x309e2: 0x6c279a20, 0x309e3: 0x6c279c20,\n\t0x309e4: 0x6c279e20, 0x309e5: 0x6c27a020, 0x309e6: 0x6c27a220, 0x309e7: 0x6c27a420,\n\t0x309e8: 0x6c27a620, 0x309e9: 0x6c27a820, 0x309ea: 0x6c27aa20, 0x309eb: 0x6cb3fc20,\n\t0x309ec: 0x6c27ac20, 0x309ed: 0x6c418220, 0x309ee: 0x6c418420, 0x309ef: 0x6c418620,\n\t0x309f0: 0x6c418820, 0x309f1: 0x6c418a20, 0x309f2: 0x6c418c20, 0x309f3: 0x6c418e20,\n\t0x309f4: 0x6c419020, 0x309f5: 0x6c419220, 0x309f6: 0x6c419420, 0x309f7: 0x6c419620,\n\t0x309f8: 0x6c419820, 0x309f9: 0x6c419a20, 0x309fa: 0x6c419c20, 0x309fb: 0x6c419e20,\n\t0x309fc: 0x6c61e020, 0x309fd: 0x6c61e220, 0x309fe: 0x6c61e420, 0x309ff: 0x6c61e620,\n\t// Block 0xc28, offset 0x30a00\n\t0x30a00: 0x6c61e820, 0x30a01: 0x6c61ea20, 0x30a02: 0x6c61ec20, 0x30a03: 0x6c61ee20,\n\t0x30a04: 0x6c61f020, 0x30a05: 0x6c61f220, 0x30a06: 0x6c61f420, 0x30a07: 0x6c61f620,\n\t0x30a08: 0x6c61f820, 0x30a09: 0x6c61fa20, 0x30a0a: 0x6c61fc20, 0x30a0b: 0x6c61fe20,\n\t0x30a0c: 0x6d11fe20, 0x30a0d: 0x6c620020, 0x30a0e: 0x6c620220, 0x30a0f: 0x6c620420,\n\t0x30a10: 0x6c620620, 0x30a11: 0x6c620820, 0x30a12: 0x6d400820, 0x30a13: 0x6c620a20,\n\t0x30a14: 0x6cb3fe20, 0x30a15: 0x6c620c20, 0x30a16: 0x6c887620, 0x30a17: 0x6c887820,\n\t0x30a18: 0x6c887a20, 0x30a19: 0x6c887c20, 0x30a1a: 0x6c887e20, 0x30a1b: 0x6c888020,\n\t0x30a1c: 0x6c888220, 0x30a1d: 0x6c888420, 0x30a1e: 0x6c888620, 0x30a1f: 0x6c888820,\n\t0x30a20: 0x6c888a20, 0x30a21: 0x6c888c20, 0x30a22: 0x6c888e20, 0x30a23: 0x6c889020,\n\t0x30a24: 0x6c889220, 0x30a25: 0x6c889420, 0x30a26: 0x6c889620, 0x30a27: 0x6c889820,\n\t0x30a28: 0x6cb40c20, 0x30a29: 0x6cb40e20, 0x30a2a: 0x6cb41020, 0x30a2b: 0x6cb41220,\n\t0x30a2c: 0x6cb41420, 0x30a2d: 0x6cb41620, 0x30a2e: 0x6cb41820, 0x30a2f: 0x6cb41a20,\n\t0x30a30: 0x6cb41c20, 0x30a31: 0x6c625420, 0x30a32: 0x6cb41e20, 0x30a33: 0x6cb42020,\n\t0x30a34: 0x6cb42220, 0x30a35: 0x6ce3be20, 0x30a36: 0x6d6cf820, 0x30a37: 0x6cb42420,\n\t0x30a38: 0x6cb42620, 0x30a39: 0x6ce3c620, 0x30a3a: 0x6d95fa20, 0x30a3b: 0x6ce3c820,\n\t0x30a3c: 0x6ce3ca20, 0x30a3d: 0x6cb42820, 0x30a3e: 0x6ce3cc20, 0x30a3f: 0x6ce3ce20,\n\t// Block 0xc29, offset 0x30a40\n\t0x30a40: 0x6ce3d020, 0x30a41: 0x6ce3d220, 0x30a42: 0x6ce3d420, 0x30a43: 0x6ce3d620,\n\t0x30a44: 0x6ce3d820, 0x30a45: 0x6ce3da20, 0x30a46: 0x6ce3dc20, 0x30a47: 0x6ce3de20,\n\t0x30a48: 0x6ce3e020, 0x30a49: 0x6ce3e220, 0x30a4a: 0x6ce3e420, 0x30a4b: 0x6d120820,\n\t0x30a4c: 0x6d120a20, 0x30a4d: 0x6d120c20, 0x30a4e: 0x6d120e20, 0x30a4f: 0x6d121020,\n\t0x30a50: 0x6d121220, 0x30a51: 0x6d121420, 0x30a52: 0x6d121620, 0x30a53: 0x6d121820,\n\t0x30a54: 0x6d121a20, 0x30a55: 0x6d121c20, 0x30a56: 0x6d121e20, 0x30a57: 0x6d122020,\n\t0x30a58: 0x6d401420, 0x30a59: 0x6d401620, 0x30a5a: 0x6d401820, 0x30a5b: 0x6d401a20,\n\t0x30a5c: 0x6d401c20, 0x30a5d: 0x6d401e20, 0x30a5e: 0x6d402020, 0x30a5f: 0x6d402220,\n\t0x30a60: 0x6d402420, 0x30a61: 0x6d402620, 0x30a62: 0x6d402820, 0x30a63: 0x6d402a20,\n\t0x30a64: 0x6d402c20, 0x30a65: 0x6d402e20, 0x30a66: 0x6d6d0220, 0x30a67: 0x6d6d0420,\n\t0x30a68: 0x6dd75620, 0x30a69: 0x6d6d0620, 0x30a6a: 0x6d6d0820, 0x30a6b: 0x6d6d0a20,\n\t0x30a6c: 0x6ce41e20, 0x30a6d: 0x6d6d0c20, 0x30a6e: 0x6d6d0e20, 0x30a6f: 0x6d6d1020,\n\t0x30a70: 0x6d6d1220, 0x30a71: 0x6d6d1420, 0x30a72: 0x6d6d1620, 0x30a73: 0x6d95fe20,\n\t0x30a74: 0x6d960020, 0x30a75: 0x6d960220, 0x30a76: 0x6d960420, 0x30a77: 0x6d960620,\n\t0x30a78: 0x6db90820, 0x30a79: 0x6db90a20, 0x30a7a: 0x6dd75820, 0x30a7b: 0x6dd75a20,\n\t0x30a7c: 0x6dd75c20, 0x30a7d: 0x6dd75e20, 0x30a7e: 0x6dd76020, 0x30a7f: 0x6deff620,\n\t// Block 0xc2a, offset 0x30a80\n\t0x30a80: 0x6deff820, 0x30a81: 0x6e042620, 0x30a82: 0x6deffa20, 0x30a83: 0x6e042820,\n\t0x30a84: 0x6e154e20, 0x30a85: 0x6e155020, 0x30a86: 0x6e155220, 0x30a87: 0x6e22ea20,\n\t0x30a88: 0x6e22ec20, 0x30a89: 0x6c27ec20, 0x30a8a: 0x6c625a20, 0x30a8b: 0x6c625c20,\n\t0x30a8c: 0x6c88ee20, 0x30a8d: 0x6c88f020, 0x30a8e: 0x6c88f220, 0x30a8f: 0x6c88f420,\n\t0x30a90: 0x6c88f620, 0x30a91: 0x6c88f820, 0x30a92: 0x6c88fa20, 0x30a93: 0x6cb47e20,\n\t0x30a94: 0x6cb48020, 0x30a95: 0x6cb48220, 0x30a96: 0x6cb48420, 0x30a97: 0x6cb48620,\n\t0x30a98: 0x6cb48820, 0x30a99: 0x6cb48a20, 0x30a9a: 0x6cb48c20, 0x30a9b: 0x6cb48e20,\n\t0x30a9c: 0x6cb49020, 0x30a9d: 0x6cb49220, 0x30a9e: 0x6cb49420, 0x30a9f: 0x6ce42a20,\n\t0x30aa0: 0x6ce42c20, 0x30aa1: 0x6ce42e20, 0x30aa2: 0x6ce43020, 0x30aa3: 0x6ce43220,\n\t0x30aa4: 0x6ce43420, 0x30aa5: 0x6ce43620, 0x30aa6: 0x6d127820, 0x30aa7: 0x6d127a20,\n\t0x30aa8: 0x6d127c20, 0x30aa9: 0x6d127e20, 0x30aaa: 0x6d128020, 0x30aab: 0x6d128220,\n\t0x30aac: 0x6d128420, 0x30aad: 0x6d128620, 0x30aae: 0x6d128820, 0x30aaf: 0x6d128a20,\n\t0x30ab0: 0x6d128c20, 0x30ab1: 0x6d128e20, 0x30ab2: 0x6d407e20, 0x30ab3: 0x6d408020,\n\t0x30ab4: 0x6d408220, 0x30ab5: 0x6d408420, 0x30ab6: 0x6d408620, 0x30ab7: 0x6d408820,\n\t0x30ab8: 0x6d408a20, 0x30ab9: 0x6d408c20, 0x30aba: 0x6d408e20, 0x30abb: 0x6d409020,\n\t0x30abc: 0x6d409220, 0x30abd: 0x6d409420, 0x30abe: 0x6d409620, 0x30abf: 0x6d409820,\n\t// Block 0xc2b, offset 0x30ac0\n\t0x30ac0: 0x6d6d5020, 0x30ac1: 0x6d6d5220, 0x30ac2: 0x6d6d5420, 0x30ac3: 0x6d6d5620,\n\t0x30ac4: 0x6d6d5820, 0x30ac5: 0x6d6d5a20, 0x30ac6: 0x6d6d5c20, 0x30ac7: 0x6d6d5e20,\n\t0x30ac8: 0x6d6d6020, 0x30ac9: 0x6d6d6220, 0x30aca: 0x6d6d6420, 0x30acb: 0x6d6d6620,\n\t0x30acc: 0x6d6d6820, 0x30acd: 0x6d964220, 0x30ace: 0x6d964420, 0x30acf: 0x6d964620,\n\t0x30ad0: 0x6d964820, 0x30ad1: 0x6d964a20, 0x30ad2: 0x6d964c20, 0x30ad3: 0x6d964e20,\n\t0x30ad4: 0x6d965020, 0x30ad5: 0x6d965220, 0x30ad6: 0x6d965420, 0x30ad7: 0x6d965620,\n\t0x30ad8: 0x6db93c20, 0x30ad9: 0x6db93e20, 0x30ada: 0x6db94020, 0x30adb: 0x6db94220,\n\t0x30adc: 0x6db94420, 0x30add: 0x6db94620, 0x30ade: 0x6db94820, 0x30adf: 0x6db94a20,\n\t0x30ae0: 0x6db94c20, 0x30ae1: 0x6db94e20, 0x30ae2: 0x6db95020, 0x30ae3: 0x6db95220,\n\t0x30ae4: 0x6db95420, 0x30ae5: 0x6dd78220, 0x30ae6: 0x6dd78420, 0x30ae7: 0x6dd78620,\n\t0x30ae8: 0x6dd78820, 0x30ae9: 0x6dd78a20, 0x30aea: 0x6dd78c20, 0x30aeb: 0x6dd78e20,\n\t0x30aec: 0x6dd79020, 0x30aed: 0x6df01420, 0x30aee: 0x6df01620, 0x30aef: 0x6df01820,\n\t0x30af0: 0x6df01a20, 0x30af1: 0x6df01c20, 0x30af2: 0x6e043420, 0x30af3: 0x6e043620,\n\t0x30af4: 0x6e043820, 0x30af5: 0x6e043a20, 0x30af6: 0x6e043c20, 0x30af7: 0x6e043e20,\n\t0x30af8: 0x6e044020, 0x30af9: 0x6e156020, 0x30afa: 0x6e156220, 0x30afb: 0x6e156420,\n\t0x30afc: 0x6e2d2620, 0x30afd: 0x6e350220, 0x30afe: 0x6e350420, 0x30aff: 0x6e350620,\n\t// Block 0xc2c, offset 0x30b00\n\t0x30b00: 0x6e350820, 0x30b01: 0x6e3aaa20, 0x30b02: 0x6e351420, 0x30b03: 0x6e3e6e20,\n\t0x30b04: 0x6e3e7020, 0x30b05: 0x6e413820, 0x30b06: 0x6c27ee20, 0x30b07: 0x6c41da20,\n\t0x30b08: 0x6cb4c420, 0x30b09: 0x6ce46a20, 0x30b0a: 0x6ce46c20, 0x30b0b: 0x6e046220,\n\t0x30b0c: 0x6c27f020, 0x30b0d: 0x6c625e20, 0x30b0e: 0x6cb4cc20, 0x30b0f: 0x6ce47020,\n\t0x30b10: 0x6dd7ce20, 0x30b11: 0x6c41dc20, 0x30b12: 0x6c41de20, 0x30b13: 0x6c626220,\n\t0x30b14: 0x6c626420, 0x30b15: 0x6c890e20, 0x30b16: 0x6c891020, 0x30b17: 0x6c891220,\n\t0x30b18: 0x6c891420, 0x30b19: 0x6c891620, 0x30b1a: 0x6c891820, 0x30b1b: 0x6c891a20,\n\t0x30b1c: 0x6c891c20, 0x30b1d: 0x6c891e20, 0x30b1e: 0x6c892020, 0x30b1f: 0x6c892220,\n\t0x30b20: 0x6c892420, 0x30b21: 0x6c892620, 0x30b22: 0x6c892820, 0x30b23: 0x6cb4d620,\n\t0x30b24: 0x6cb4d820, 0x30b25: 0x6cb4da20, 0x30b26: 0x6cb4dc20, 0x30b27: 0x6cb4de20,\n\t0x30b28: 0x6cb4e020, 0x30b29: 0x6cb4e220, 0x30b2a: 0x6cb4e420, 0x30b2b: 0x6cb4e620,\n\t0x30b2c: 0x6cb4e820, 0x30b2d: 0x6cb4ea20, 0x30b2e: 0x6cb4ec20, 0x30b2f: 0x6cb4ee20,\n\t0x30b30: 0x6cb4f020, 0x30b31: 0x6cb4f220, 0x30b32: 0x6cb4f420, 0x30b33: 0x6cb4f620,\n\t0x30b34: 0x6cb4f820, 0x30b35: 0x6cb4fa20, 0x30b36: 0x6cb4fc20, 0x30b37: 0x6cb4fe20,\n\t0x30b38: 0x6cb50020, 0x30b39: 0x6cb50220, 0x30b3a: 0x6cb50420, 0x30b3b: 0x6cb50620,\n\t0x30b3c: 0x6cb50820, 0x30b3d: 0x6ce48420, 0x30b3e: 0x6ce48620, 0x30b3f: 0x6ce48820,\n\t// Block 0xc2d, offset 0x30b40\n\t0x30b40: 0x6ce48a20, 0x30b41: 0x6ce48c20, 0x30b42: 0x6ce48e20, 0x30b43: 0x6ce49020,\n\t0x30b44: 0x6ce49220, 0x30b45: 0x6ce49420, 0x30b46: 0x6ce49620, 0x30b47: 0x6ce49820,\n\t0x30b48: 0x6ce49a20, 0x30b49: 0x6ce49c20, 0x30b4a: 0x6ce49e20, 0x30b4b: 0x6ce4a020,\n\t0x30b4c: 0x6ce4a220, 0x30b4d: 0x6ce4a420, 0x30b4e: 0x6ce4a620, 0x30b4f: 0x6ce4a820,\n\t0x30b50: 0x6ce4aa20, 0x30b51: 0x6ce4ac20, 0x30b52: 0x6ce4ae20, 0x30b53: 0x6ce4b020,\n\t0x30b54: 0x6ce4b220, 0x30b55: 0x6ce4b420, 0x30b56: 0x6ce4b620, 0x30b57: 0x6ce4b820,\n\t0x30b58: 0x6ce4ba20, 0x30b59: 0x6ce4bc20, 0x30b5a: 0x6ce4be20, 0x30b5b: 0x6ce4c020,\n\t0x30b5c: 0x6ce4c220, 0x30b5d: 0x6ce4c420, 0x30b5e: 0x6ce4c620, 0x30b5f: 0x6ce4c820,\n\t0x30b60: 0x6ce4ca20, 0x30b61: 0x6ce4cc20, 0x30b62: 0x6ce4ce20, 0x30b63: 0x6ce4d020,\n\t0x30b64: 0x6ce4d220, 0x30b65: 0x6ce4d420, 0x30b66: 0x6ce4d620, 0x30b67: 0x6ce4d820,\n\t0x30b68: 0x6ce4da20, 0x30b69: 0x6ce4dc20, 0x30b6a: 0x6ce4de20, 0x30b6b: 0x6ce4e020,\n\t0x30b6c: 0x6ce4e220, 0x30b6d: 0x6d40d420, 0x30b6e: 0x6d12c620, 0x30b6f: 0x6d12c820,\n\t0x30b70: 0x6d12ca20, 0x30b71: 0x6d12cc20, 0x30b72: 0x6d12ce20, 0x30b73: 0x6d12d020,\n\t0x30b74: 0x6d12d220, 0x30b75: 0x6d12d420, 0x30b76: 0x6d12d620, 0x30b77: 0x6d12d820,\n\t0x30b78: 0x6d12da20, 0x30b79: 0x6d12dc20, 0x30b7a: 0x6d12de20, 0x30b7b: 0x6d12e020,\n\t0x30b7c: 0x6d12e220, 0x30b7d: 0x6d12e420, 0x30b7e: 0x6d12e620, 0x30b7f: 0x6d12e820,\n\t// Block 0xc2e, offset 0x30b80\n\t0x30b80: 0x6d12ea20, 0x30b81: 0x6d12ec20, 0x30b82: 0x6d12ee20, 0x30b83: 0x6d12f020,\n\t0x30b84: 0x6d12f220, 0x30b85: 0x6d12f420, 0x30b86: 0x6d12f620, 0x30b87: 0x6d12f820,\n\t0x30b88: 0x6d12fa20, 0x30b89: 0x6d12fc20, 0x30b8a: 0x6d12fe20, 0x30b8b: 0x6d130020,\n\t0x30b8c: 0x6d130220, 0x30b8d: 0x6d130420, 0x30b8e: 0x6d130620, 0x30b8f: 0x6d130820,\n\t0x30b90: 0x6d130a20, 0x30b91: 0x6d130c20, 0x30b92: 0x6d130e20, 0x30b93: 0x6d131020,\n\t0x30b94: 0x6d131220, 0x30b95: 0x6d131420, 0x30b96: 0x6d131620, 0x30b97: 0x6d131820,\n\t0x30b98: 0x6d131a20, 0x30b99: 0x6d131c20, 0x30b9a: 0x6d131e20, 0x30b9b: 0x6d132020,\n\t0x30b9c: 0x6d132220, 0x30b9d: 0x6d132420, 0x30b9e: 0x6d132620, 0x30b9f: 0x6d132820,\n\t0x30ba0: 0x6d132a20, 0x30ba1: 0x6d132c20, 0x30ba2: 0x6d132e20, 0x30ba3: 0x6d133020,\n\t0x30ba4: 0x6d133220, 0x30ba5: 0x6d133420, 0x30ba6: 0x6d133620, 0x30ba7: 0x6d133820,\n\t0x30ba8: 0x6d133a20, 0x30ba9: 0x6d133c20, 0x30baa: 0x6d133e20, 0x30bab: 0x6d134020,\n\t0x30bac: 0x6d134220, 0x30bad: 0x6d134420, 0x30bae: 0x6d134620, 0x30baf: 0x6d134820,\n\t0x30bb0: 0x6d134a20, 0x30bb1: 0x6d134c20, 0x30bb2: 0x6d134e20, 0x30bb3: 0x6d135020,\n\t0x30bb4: 0x6d135220, 0x30bb5: 0x6d40e420, 0x30bb6: 0x6d40e620, 0x30bb7: 0x6d40e820,\n\t0x30bb8: 0x6d40ea20, 0x30bb9: 0x6d40ec20, 0x30bba: 0x6d40ee20, 0x30bbb: 0x6d40f020,\n\t0x30bbc: 0x6d41c020, 0x30bbd: 0x6d40f220, 0x30bbe: 0x6d40f420, 0x30bbf: 0x6d40f620,\n\t// Block 0xc2f, offset 0x30bc0\n\t0x30bc0: 0x6d40f820, 0x30bc1: 0x6d40fa20, 0x30bc2: 0x6d40fc20, 0x30bc3: 0x6d40fe20,\n\t0x30bc4: 0x6d410020, 0x30bc5: 0x6d410220, 0x30bc6: 0x6d410420, 0x30bc7: 0x6d410620,\n\t0x30bc8: 0x6d410820, 0x30bc9: 0x6d410a20, 0x30bca: 0x6d410c20, 0x30bcb: 0x6d410e20,\n\t0x30bcc: 0x6d411020, 0x30bcd: 0x6d411220, 0x30bce: 0x6d411420, 0x30bcf: 0x6d135420,\n\t0x30bd0: 0x6d411620, 0x30bd1: 0x6d411820, 0x30bd2: 0x6d411a20, 0x30bd3: 0x6d411c20,\n\t0x30bd4: 0x6d411e20, 0x30bd5: 0x6d412020, 0x30bd6: 0x6d412220, 0x30bd7: 0x6d412420,\n\t0x30bd8: 0x6d412620, 0x30bd9: 0x6d412820, 0x30bda: 0x6d412a20, 0x30bdb: 0x6d412c20,\n\t0x30bdc: 0x6d412e20, 0x30bdd: 0x6d413020, 0x30bde: 0x6d413220, 0x30bdf: 0x6d413420,\n\t0x30be0: 0x6d413620, 0x30be1: 0x6d413820, 0x30be2: 0x6d413a20, 0x30be3: 0x6d413c20,\n\t0x30be4: 0x6d413e20, 0x30be5: 0x6d414020, 0x30be6: 0x6d414220, 0x30be7: 0x6d414420,\n\t0x30be8: 0x6d414620, 0x30be9: 0x6d414820, 0x30bea: 0x6d414a20, 0x30beb: 0x6d414c20,\n\t0x30bec: 0x6d414e20, 0x30bed: 0x6d415020, 0x30bee: 0x6d415220, 0x30bef: 0x6d415420,\n\t0x30bf0: 0x6d415620, 0x30bf1: 0x6d415820, 0x30bf2: 0x6d6dc220, 0x30bf3: 0x6d6dc420,\n\t0x30bf4: 0x6d6dc620, 0x30bf5: 0x6d6dc820, 0x30bf6: 0x6d6dca20, 0x30bf7: 0x6d6dcc20,\n\t0x30bf8: 0x6d6dce20, 0x30bf9: 0x6d6dd020, 0x30bfa: 0x6d6dd220, 0x30bfb: 0x6d6dd420,\n\t0x30bfc: 0x6d6dd620, 0x30bfd: 0x6d6dd820, 0x30bfe: 0x6d6dda20, 0x30bff: 0x6d6ddc20,\n\t// Block 0xc30, offset 0x30c00\n\t0x30c00: 0x6d6dde20, 0x30c01: 0x6d6de020, 0x30c02: 0x6d6de220, 0x30c03: 0x6d6de420,\n\t0x30c04: 0x6d6de620, 0x30c05: 0x6d6de820, 0x30c06: 0x6d6dea20, 0x30c07: 0x6d6dec20,\n\t0x30c08: 0x6d6dee20, 0x30c09: 0x6d6df020, 0x30c0a: 0x6d6df220, 0x30c0b: 0x6d969820,\n\t0x30c0c: 0x6d6df420, 0x30c0d: 0x6d6df620, 0x30c0e: 0x6d6df820, 0x30c0f: 0x6d6dfa20,\n\t0x30c10: 0x6d6dfc20, 0x30c11: 0x6d6dfe20, 0x30c12: 0x6d6e0020, 0x30c13: 0x6d6e0220,\n\t0x30c14: 0x6d6e0420, 0x30c15: 0x6d6e0620, 0x30c16: 0x6d6e0820, 0x30c17: 0x6d6e0a20,\n\t0x30c18: 0x6d6e0c20, 0x30c19: 0x6d6e0e20, 0x30c1a: 0x6d6e1020, 0x30c1b: 0x6d6e1220,\n\t0x30c1c: 0x6d6e1420, 0x30c1d: 0x6d6e1620, 0x30c1e: 0x6d6e1820, 0x30c1f: 0x6d6e1a20,\n\t0x30c20: 0x6d6e1c20, 0x30c21: 0x6d6e1e20, 0x30c22: 0x6d6e2020, 0x30c23: 0x6d6e2220,\n\t0x30c24: 0x6d6e2420, 0x30c25: 0x6d6e2620, 0x30c26: 0x6d6e2820, 0x30c27: 0x6d6e2a20,\n\t0x30c28: 0x6d6e2c20, 0x30c29: 0x6d6e2e20, 0x30c2a: 0x6d6e3020, 0x30c2b: 0x6d6e3220,\n\t0x30c2c: 0x6d6e3420, 0x30c2d: 0x6d6e3620, 0x30c2e: 0x6d41be20, 0x30c2f: 0x6d6e3820,\n\t0x30c30: 0x6d6e3a20, 0x30c31: 0x6d6e3c20, 0x30c32: 0x6d6e3e20, 0x30c33: 0x6d6e4020,\n\t0x30c34: 0x6d6e4220, 0x30c35: 0x6d6e4420, 0x30c36: 0x6d6e4620, 0x30c37: 0x6d96a220,\n\t0x30c38: 0x6d96a420, 0x30c39: 0x6d96a620, 0x30c3a: 0x6d96a820, 0x30c3b: 0x6d96aa20,\n\t0x30c3c: 0x6d96ac20, 0x30c3d: 0x6d96ae20, 0x30c3e: 0x6d96b020, 0x30c3f: 0x6d96b220,\n\t// Block 0xc31, offset 0x30c40\n\t0x30c40: 0x6d96b420, 0x30c41: 0x6d96b620, 0x30c42: 0x6d96b820, 0x30c43: 0x6d96ba20,\n\t0x30c44: 0x6d96bc20, 0x30c45: 0x6d96be20, 0x30c46: 0x6d96c020, 0x30c47: 0x6d96c220,\n\t0x30c48: 0x6d96c420, 0x30c49: 0x6d96c620, 0x30c4a: 0x6d96c820, 0x30c4b: 0x6d96ca20,\n\t0x30c4c: 0x6d96cc20, 0x30c4d: 0x6d96ce20, 0x30c4e: 0x6d96d020, 0x30c4f: 0x6d96d220,\n\t0x30c50: 0x6d96d420, 0x30c51: 0x6d96d620, 0x30c52: 0x6d96d820, 0x30c53: 0x6d96da20,\n\t0x30c54: 0x6d96dc20, 0x30c55: 0x6d96de20, 0x30c56: 0x6d96e020, 0x30c57: 0x6d96e220,\n\t0x30c58: 0x6d96e420, 0x30c59: 0x6d96e620, 0x30c5a: 0x6d96e820, 0x30c5b: 0x6d96ea20,\n\t0x30c5c: 0x6d96ec20, 0x30c5d: 0x6d96ee20, 0x30c5e: 0x6d96f020, 0x30c5f: 0x6d96f220,\n\t0x30c60: 0x6d96f420, 0x30c61: 0x6d96f620, 0x30c62: 0x6d96f820, 0x30c63: 0x6d96fa20,\n\t0x30c64: 0x6d96fc20, 0x30c65: 0x6d96fe20, 0x30c66: 0x6d970020, 0x30c67: 0x6d970220,\n\t0x30c68: 0x6db9ac20, 0x30c69: 0x6d970420, 0x30c6a: 0x6d970620, 0x30c6b: 0x6d970820,\n\t0x30c6c: 0x6d970a20, 0x30c6d: 0x6d970c20, 0x30c6e: 0x6d970e20, 0x30c6f: 0x6d971020,\n\t0x30c70: 0x6d971220, 0x30c71: 0x6d971420, 0x30c72: 0x6d971620, 0x30c73: 0x6d971820,\n\t0x30c74: 0x6d971a20, 0x30c75: 0x6d971c20, 0x30c76: 0x6d971e20, 0x30c77: 0x6d972020,\n\t0x30c78: 0x6d972220, 0x30c79: 0x6d972420, 0x30c7a: 0x6d972620, 0x30c7b: 0x6d972820,\n\t0x30c7c: 0x6d972a20, 0x30c7d: 0x6d972c20, 0x30c7e: 0x6d972e20, 0x30c7f: 0x6d973020,\n\t// Block 0xc32, offset 0x30c80\n\t0x30c80: 0x6d973220, 0x30c81: 0x6d973420, 0x30c82: 0x6d973620, 0x30c83: 0x6d973820,\n\t0x30c84: 0x6d973a20, 0x30c85: 0x6d973c20, 0x30c86: 0x6d973e20, 0x30c87: 0x6db9ae20,\n\t0x30c88: 0x6d974020, 0x30c89: 0x6db9b020, 0x30c8a: 0x6db9b220, 0x30c8b: 0x6db9b420,\n\t0x30c8c: 0x6db9b620, 0x30c8d: 0x6db9b820, 0x30c8e: 0x6db9ba20, 0x30c8f: 0x6db9bc20,\n\t0x30c90: 0x6db9be20, 0x30c91: 0x6db9c020, 0x30c92: 0x6db9c220, 0x30c93: 0x6db9c420,\n\t0x30c94: 0x6db9c620, 0x30c95: 0x6db9c820, 0x30c96: 0x6db9ca20, 0x30c97: 0x6db9cc20,\n\t0x30c98: 0x6db9ce20, 0x30c99: 0x6db9d020, 0x30c9a: 0x6db9d220, 0x30c9b: 0x6db9d420,\n\t0x30c9c: 0x6db9d620, 0x30c9d: 0x6db9d820, 0x30c9e: 0x6db9da20, 0x30c9f: 0x6db9dc20,\n\t0x30ca0: 0x6db9de20, 0x30ca1: 0x6db9e020, 0x30ca2: 0x6db9e220, 0x30ca3: 0x6db9e420,\n\t0x30ca4: 0x6db9e620, 0x30ca5: 0x6db9e820, 0x30ca6: 0x6db9ea20, 0x30ca7: 0x6db9ec20,\n\t0x30ca8: 0x6db9ee20, 0x30ca9: 0x6db9f020, 0x30caa: 0x6db9f220, 0x30cab: 0x6db9f420,\n\t0x30cac: 0x6db9f620, 0x30cad: 0x6db9f820, 0x30cae: 0x6db9fa20, 0x30caf: 0x6db9fc20,\n\t0x30cb0: 0x6db9fe20, 0x30cb1: 0x6dba0020, 0x30cb2: 0x6dba0220, 0x30cb3: 0x6dba0420,\n\t0x30cb4: 0x6dba0620, 0x30cb5: 0x6dba0820, 0x30cb6: 0x6dba0a20, 0x30cb7: 0x6dba0c20,\n\t0x30cb8: 0x6dba0e20, 0x30cb9: 0x6dba1020, 0x30cba: 0x6d97ec20, 0x30cbb: 0x6dba1220,\n\t0x30cbc: 0x6dba1420, 0x30cbd: 0x6dba1620, 0x30cbe: 0x6dba1820, 0x30cbf: 0x6dba1a20,\n\t// Block 0xc33, offset 0x30cc0\n\t0x30cc0: 0x6dba1c20, 0x30cc1: 0x6dba1e20, 0x30cc2: 0x6dba2020, 0x30cc3: 0x6dba2220,\n\t0x30cc4: 0x6dba2420, 0x30cc5: 0x6dba2620, 0x30cc6: 0x6dba2820, 0x30cc7: 0x6dba2a20,\n\t0x30cc8: 0x6dd7ee20, 0x30cc9: 0x6dd7f020, 0x30cca: 0x6dd7f220, 0x30ccb: 0x6dd7f420,\n\t0x30ccc: 0x6dd7f620, 0x30ccd: 0x6dd7f820, 0x30cce: 0x6dd7fa20, 0x30ccf: 0x6dd7fc20,\n\t0x30cd0: 0x6dd7fe20, 0x30cd1: 0x6dd80020, 0x30cd2: 0x6dd80220, 0x30cd3: 0x6dd80420,\n\t0x30cd4: 0x6dd80620, 0x30cd5: 0x6dd80820, 0x30cd6: 0x6dd80a20, 0x30cd7: 0x6dd80c20,\n\t0x30cd8: 0x6dd80e20, 0x30cd9: 0x6dd81020, 0x30cda: 0x6dd81220, 0x30cdb: 0x6dd81420,\n\t0x30cdc: 0x6dd81620, 0x30cdd: 0x6dd81820, 0x30cde: 0x6dd81a20, 0x30cdf: 0x6dd81c20,\n\t0x30ce0: 0x6dd81e20, 0x30ce1: 0x6dbaec20, 0x30ce2: 0x6dd82020, 0x30ce3: 0x6dd82220,\n\t0x30ce4: 0x6dd82420, 0x30ce5: 0x6dd82620, 0x30ce6: 0x6dd82820, 0x30ce7: 0x6dd82a20,\n\t0x30ce8: 0x6dd82c20, 0x30ce9: 0x6df06e20, 0x30cea: 0x6dd82e20, 0x30ceb: 0x6dd83020,\n\t0x30cec: 0x6dd83220, 0x30ced: 0x6dd83420, 0x30cee: 0x6dd83620, 0x30cef: 0x6dbaee20,\n\t0x30cf0: 0x6dd83820, 0x30cf1: 0x6dd83a20, 0x30cf2: 0x6dd83c20, 0x30cf3: 0x6dd83e20,\n\t0x30cf4: 0x6dd84020, 0x30cf5: 0x6dd84220, 0x30cf6: 0x6dd84420, 0x30cf7: 0x6dd84620,\n\t0x30cf8: 0x6dd84820, 0x30cf9: 0x6dd84a20, 0x30cfa: 0x6dd84c20, 0x30cfb: 0x6dd84e20,\n\t0x30cfc: 0x6dd85020, 0x30cfd: 0x6dd85220, 0x30cfe: 0x6dd85420, 0x30cff: 0x6dd85620,\n\t// Block 0xc34, offset 0x30d00\n\t0x30d00: 0x6df07020, 0x30d01: 0x6df07220, 0x30d02: 0x6df07420, 0x30d03: 0x6df07620,\n\t0x30d04: 0x6df07820, 0x30d05: 0x6df07a20, 0x30d06: 0x6df07c20, 0x30d07: 0x6df07e20,\n\t0x30d08: 0x6df08020, 0x30d09: 0x6df08220, 0x30d0a: 0x6df08420, 0x30d0b: 0x6df08620,\n\t0x30d0c: 0x6df08820, 0x30d0d: 0x6df08a20, 0x30d0e: 0x6df08c20, 0x30d0f: 0x6df08e20,\n\t0x30d10: 0x6df09020, 0x30d11: 0x6df09220, 0x30d12: 0x6df09420, 0x30d13: 0x6df09620,\n\t0x30d14: 0x6df09820, 0x30d15: 0x6df09a20, 0x30d16: 0x6df09c20, 0x30d17: 0x6df09e20,\n\t0x30d18: 0x6df0a020, 0x30d19: 0x6df0a220, 0x30d1a: 0x6df0a420, 0x30d1b: 0x6df0a620,\n\t0x30d1c: 0x6df0a820, 0x30d1d: 0x6df0aa20, 0x30d1e: 0x6df0ac20, 0x30d1f: 0x6df0ae20,\n\t0x30d20: 0x6df0b020, 0x30d21: 0x6df0b220, 0x30d22: 0x6df0b420, 0x30d23: 0x6df0b620,\n\t0x30d24: 0x6df0b820, 0x30d25: 0x6df0ba20, 0x30d26: 0x6df0bc20, 0x30d27: 0x6df0be20,\n\t0x30d28: 0x6df0c020, 0x30d29: 0x6df0c220, 0x30d2a: 0x6df0c420, 0x30d2b: 0x6df0c620,\n\t0x30d2c: 0x6df0c820, 0x30d2d: 0x6df0ca20, 0x30d2e: 0x6df0cc20, 0x30d2f: 0x6df0ce20,\n\t0x30d30: 0x6df0d020, 0x30d31: 0x6df0d220, 0x30d32: 0x6df0d420, 0x30d33: 0x6e047c20,\n\t0x30d34: 0x6e159420, 0x30d35: 0x6e047e20, 0x30d36: 0x6e048020, 0x30d37: 0x6e048220,\n\t0x30d38: 0x6e048420, 0x30d39: 0x6df0d620, 0x30d3a: 0x6e048620, 0x30d3b: 0x6e048820,\n\t0x30d3c: 0x6e048a20, 0x30d3d: 0x6e048c20, 0x30d3e: 0x6e048e20, 0x30d3f: 0x6e049020,\n\t// Block 0xc35, offset 0x30d40\n\t0x30d40: 0x6e049220, 0x30d41: 0x6e049420, 0x30d42: 0x6e049620, 0x30d43: 0x6e049820,\n\t0x30d44: 0x6e049a20, 0x30d45: 0x6e049c20, 0x30d46: 0x6e049e20, 0x30d47: 0x6e04a020,\n\t0x30d48: 0x6e04a220, 0x30d49: 0x6e04a420, 0x30d4a: 0x6e04a620, 0x30d4b: 0x6e04a820,\n\t0x30d4c: 0x6e04aa20, 0x30d4d: 0x6e04ac20, 0x30d4e: 0x6e04ae20, 0x30d4f: 0x6e04b020,\n\t0x30d50: 0x6e04b220, 0x30d51: 0x6e04b420, 0x30d52: 0x6e04b620, 0x30d53: 0x6e04b820,\n\t0x30d54: 0x6e04ba20, 0x30d55: 0x6e04bc20, 0x30d56: 0x6e04be20, 0x30d57: 0x6e04c020,\n\t0x30d58: 0x6e04c220, 0x30d59: 0x6e04c420, 0x30d5a: 0x6e04c620, 0x30d5b: 0x6e04c820,\n\t0x30d5c: 0x6e04ca20, 0x30d5d: 0x6e04cc20, 0x30d5e: 0x6e04ce20, 0x30d5f: 0x6e04d020,\n\t0x30d60: 0x6e04d220, 0x30d61: 0x6e04d420, 0x30d62: 0x6e04d620, 0x30d63: 0x6e04d820,\n\t0x30d64: 0x6e04da20, 0x30d65: 0x6e04dc20, 0x30d66: 0x6e04de20, 0x30d67: 0x6e04e020,\n\t0x30d68: 0x6e04e220, 0x30d69: 0x6e159620, 0x30d6a: 0x6e159820, 0x30d6b: 0x6e159a20,\n\t0x30d6c: 0x6e159c20, 0x30d6d: 0x6e159e20, 0x30d6e: 0x6e15a020, 0x30d6f: 0x6e058820,\n\t0x30d70: 0x6e15a220, 0x30d71: 0x6e15a420, 0x30d72: 0x6e15a620, 0x30d73: 0x6e15a820,\n\t0x30d74: 0x6e15aa20, 0x30d75: 0x6e15ac20, 0x30d76: 0x6e15ae20, 0x30d77: 0x6e15b020,\n\t0x30d78: 0x6e15b220, 0x30d79: 0x6e15b420, 0x30d7a: 0x6e15b620, 0x30d7b: 0x6e15b820,\n\t0x30d7c: 0x6e058a20, 0x30d7d: 0x6e15ba20, 0x30d7e: 0x6e15bc20, 0x30d7f: 0x6e15be20,\n\t// Block 0xc36, offset 0x30d80\n\t0x30d80: 0x6e15c020, 0x30d81: 0x6e15c220, 0x30d82: 0x6e231620, 0x30d83: 0x6e231820,\n\t0x30d84: 0x6e231a20, 0x30d85: 0x6e231c20, 0x30d86: 0x6e231e20, 0x30d87: 0x6e232020,\n\t0x30d88: 0x6e232220, 0x30d89: 0x6e232420, 0x30d8a: 0x6e232620, 0x30d8b: 0x6e232820,\n\t0x30d8c: 0x6e232a20, 0x30d8d: 0x6e232c20, 0x30d8e: 0x6e232e20, 0x30d8f: 0x6e233020,\n\t0x30d90: 0x6e233220, 0x30d91: 0x6e233420, 0x30d92: 0x6e233620, 0x30d93: 0x6e233820,\n\t0x30d94: 0x6e233a20, 0x30d95: 0x6e2d4620, 0x30d96: 0x6e2d4820, 0x30d97: 0x6e2d4a20,\n\t0x30d98: 0x6e2d4c20, 0x30d99: 0x6e2d4e20, 0x30d9a: 0x6e2d5020, 0x30d9b: 0x6e2d5220,\n\t0x30d9c: 0x6e2d5420, 0x30d9d: 0x6e2d5620, 0x30d9e: 0x6e2d5820, 0x30d9f: 0x6e2d5a20,\n\t0x30da0: 0x6e2d5c20, 0x30da1: 0x6e2d5e20, 0x30da2: 0x6e2d6020, 0x30da3: 0x6e2d6220,\n\t0x30da4: 0x6e2d6420, 0x30da5: 0x6e2d6620, 0x30da6: 0x6e2d6820, 0x30da7: 0x6e233c20,\n\t0x30da8: 0x6e351c20, 0x30da9: 0x6e351e20, 0x30daa: 0x6e352020, 0x30dab: 0x6e352220,\n\t0x30dac: 0x6e352420, 0x30dad: 0x6e3ab420, 0x30dae: 0x6e3ab620, 0x30daf: 0x6e3ab820,\n\t0x30db0: 0x6e3aba20, 0x30db1: 0x6e3abc20, 0x30db2: 0x6e3abe20, 0x30db3: 0x6e3ac020,\n\t0x30db4: 0x6e3e7620, 0x30db5: 0x6e3e7820, 0x30db6: 0x6e3e7a20, 0x30db7: 0x6e3e7c20,\n\t0x30db8: 0x6e3e7e20, 0x30db9: 0x6e3e8020, 0x30dba: 0x6e3e8220, 0x30dbb: 0x6e414020,\n\t0x30dbc: 0x6e414220, 0x30dbd: 0x6e414420, 0x30dbe: 0x6e414620, 0x30dbf: 0x6e434020,\n\t// Block 0xc37, offset 0x30dc0\n\t0x30dc0: 0x6e434220, 0x30dc1: 0x6e434420, 0x30dc2: 0x6e434620, 0x30dc3: 0x6e449420,\n\t0x30dc4: 0x6e449620, 0x30dc5: 0x6c0aaa20, 0x30dc6: 0x6c158c20, 0x30dc7: 0x6c158e20,\n\t0x30dc8: 0x6c27f220, 0x30dc9: 0x6c27f420, 0x30dca: 0x6c27f620, 0x30dcb: 0x6c27f820,\n\t0x30dcc: 0x6c27fa20, 0x30dcd: 0x6c41e020, 0x30dce: 0x6c41e220, 0x30dcf: 0x6c41e420,\n\t0x30dd0: 0x6c41e620, 0x30dd1: 0x6c41e820, 0x30dd2: 0x6c41ea20, 0x30dd3: 0x6c41ec20,\n\t0x30dd4: 0x6c41ee20, 0x30dd5: 0x6c41f020, 0x30dd6: 0x6c41f220, 0x30dd7: 0x6c41f420,\n\t0x30dd8: 0x6c626620, 0x30dd9: 0x6c626820, 0x30dda: 0x6c626a20, 0x30ddb: 0x6c626c20,\n\t0x30ddc: 0x6c626e20, 0x30ddd: 0x6c627020, 0x30dde: 0x6c627220, 0x30ddf: 0x6c627420,\n\t0x30de0: 0x6c627620, 0x30de1: 0x6c627820, 0x30de2: 0x6c627a20, 0x30de3: 0x6c627c20,\n\t0x30de4: 0x6c627e20, 0x30de5: 0x6c628020, 0x30de6: 0x6c628220, 0x30de7: 0x6c628420,\n\t0x30de8: 0x6c628620, 0x30de9: 0x6c628820, 0x30dea: 0x6c628a20, 0x30deb: 0x6c628c20,\n\t0x30dec: 0x6c628e20, 0x30ded: 0x6c629020, 0x30dee: 0x6c629220, 0x30def: 0x6c629420,\n\t0x30df0: 0x6c893420, 0x30df1: 0x6c893620, 0x30df2: 0x6c893820, 0x30df3: 0x6c893a20,\n\t0x30df4: 0x6c893c20, 0x30df5: 0x6c893e20, 0x30df6: 0x6c894020, 0x30df7: 0x6c894220,\n\t0x30df8: 0x6c894420, 0x30df9: 0x6c894620, 0x30dfa: 0x6c894820, 0x30dfb: 0x6c894a20,\n\t0x30dfc: 0x6c894c20, 0x30dfd: 0x6c894e20, 0x30dfe: 0x6c895020, 0x30dff: 0x6c895220,\n\t// Block 0xc38, offset 0x30e00\n\t0x30e00: 0x6c895420, 0x30e01: 0x6c895620, 0x30e02: 0x6c895820, 0x30e03: 0x6c895a20,\n\t0x30e04: 0x6c895c20, 0x30e05: 0x6c895e20, 0x30e06: 0x6c896020, 0x30e07: 0x6c896220,\n\t0x30e08: 0x6c896420, 0x30e09: 0x6c896620, 0x30e0a: 0x6c896820, 0x30e0b: 0x6c896a20,\n\t0x30e0c: 0x6c896c20, 0x30e0d: 0x6c896e20, 0x30e0e: 0x6c897020, 0x30e0f: 0x6cb52220,\n\t0x30e10: 0x6cb52420, 0x30e11: 0x6cb52620, 0x30e12: 0x6cb52820, 0x30e13: 0x6cb52a20,\n\t0x30e14: 0x6cb52c20, 0x30e15: 0x6cb52e20, 0x30e16: 0x6cb53020, 0x30e17: 0x6cb53220,\n\t0x30e18: 0x6cb53420, 0x30e19: 0x6cb53620, 0x30e1a: 0x6cb53820, 0x30e1b: 0x6cb53a20,\n\t0x30e1c: 0x6cb53c20, 0x30e1d: 0x6cb53e20, 0x30e1e: 0x6cb54020, 0x30e1f: 0x6cb54220,\n\t0x30e20: 0x6cb54420, 0x30e21: 0x6cb54620, 0x30e22: 0x6cb54820, 0x30e23: 0x6cb54a20,\n\t0x30e24: 0x6cb54c20, 0x30e25: 0x6cb54e20, 0x30e26: 0x6cb55020, 0x30e27: 0x6cb55220,\n\t0x30e28: 0x6cb55420, 0x30e29: 0x6cb55620, 0x30e2a: 0x6cb55820, 0x30e2b: 0x6cb55a20,\n\t0x30e2c: 0x6cb55c20, 0x30e2d: 0x6cb55e20, 0x30e2e: 0x6cb56020, 0x30e2f: 0x6cb56220,\n\t0x30e30: 0x6cb56420, 0x30e31: 0x6cb56620, 0x30e32: 0x6cb56820, 0x30e33: 0x6cb56a20,\n\t0x30e34: 0x6cb56c20, 0x30e35: 0x6cb56e20, 0x30e36: 0x6cb57020, 0x30e37: 0x6cb57220,\n\t0x30e38: 0x6ce52a20, 0x30e39: 0x6ce52c20, 0x30e3a: 0x6ce52e20, 0x30e3b: 0x6ce53020,\n\t0x30e3c: 0x6ce53220, 0x30e3d: 0x6ce53420, 0x30e3e: 0x6ce53620, 0x30e3f: 0x6ce53820,\n\t// Block 0xc39, offset 0x30e40\n\t0x30e40: 0x6ce53a20, 0x30e41: 0x6ce53c20, 0x30e42: 0x6ce53e20, 0x30e43: 0x6ce54020,\n\t0x30e44: 0x6ce54220, 0x30e45: 0x6ce54420, 0x30e46: 0x6ce54620, 0x30e47: 0x6ce54820,\n\t0x30e48: 0x6ce54a20, 0x30e49: 0x6ce54c20, 0x30e4a: 0x6ce54e20, 0x30e4b: 0x6ce55020,\n\t0x30e4c: 0x6ce55220, 0x30e4d: 0x6ce55420, 0x30e4e: 0x6ce55620, 0x30e4f: 0x6ce55820,\n\t0x30e50: 0x6ce55a20, 0x30e51: 0x6ce55c20, 0x30e52: 0x6ce55e20, 0x30e53: 0x6ce56020,\n\t0x30e54: 0x6ce56220, 0x30e55: 0x6ce56420, 0x30e56: 0x6d13a420, 0x30e57: 0x6d13a620,\n\t0x30e58: 0x6d13a820, 0x30e59: 0x6d13aa20, 0x30e5a: 0x6d13ac20, 0x30e5b: 0x6d13ae20,\n\t0x30e5c: 0x6d13b020, 0x30e5d: 0x6d13b220, 0x30e5e: 0x6d13b420, 0x30e5f: 0x6d13b620,\n\t0x30e60: 0x6d13b820, 0x30e61: 0x6d13ba20, 0x30e62: 0x6d13bc20, 0x30e63: 0x6d13be20,\n\t0x30e64: 0x6d13c020, 0x30e65: 0x6d13c220, 0x30e66: 0x6d13c420, 0x30e67: 0x6d13c620,\n\t0x30e68: 0x6d13c820, 0x30e69: 0x6d13ca20, 0x30e6a: 0x6d13cc20, 0x30e6b: 0x6d13ce20,\n\t0x30e6c: 0x6d13d020, 0x30e6d: 0x6d13d220, 0x30e6e: 0x6d13d420, 0x30e6f: 0x6d13d620,\n\t0x30e70: 0x6d13d820, 0x30e71: 0x6d13da20, 0x30e72: 0x6d41c420, 0x30e73: 0x6d41c620,\n\t0x30e74: 0x6d41c820, 0x30e75: 0x6d41ca20, 0x30e76: 0x6d41cc20, 0x30e77: 0x6d41ce20,\n\t0x30e78: 0x6d41d020, 0x30e79: 0x6d41d220, 0x30e7a: 0x6d41d420, 0x30e7b: 0x6d41d620,\n\t0x30e7c: 0x6d41d820, 0x30e7d: 0x6d41da20, 0x30e7e: 0x6d41dc20, 0x30e7f: 0x6d41de20,\n\t// Block 0xc3a, offset 0x30e80\n\t0x30e80: 0x6d41e020, 0x30e81: 0x6d41e220, 0x30e82: 0x6d41e420, 0x30e83: 0x6d41e620,\n\t0x30e84: 0x6d41e820, 0x30e85: 0x6d41ea20, 0x30e86: 0x6d6ed220, 0x30e87: 0x6d6ed420,\n\t0x30e88: 0x6d6ed620, 0x30e89: 0x6d6ed820, 0x30e8a: 0x6d6eda20, 0x30e8b: 0x6d6edc20,\n\t0x30e8c: 0x6d6ede20, 0x30e8d: 0x6d6ee020, 0x30e8e: 0x6d6ee220, 0x30e8f: 0x6d6ee420,\n\t0x30e90: 0x6d6ee620, 0x30e91: 0x6d6ee820, 0x30e92: 0x6d6eea20, 0x30e93: 0x6d6eec20,\n\t0x30e94: 0x6d6eee20, 0x30e95: 0x6d6ef020, 0x30e96: 0x6d97ee20, 0x30e97: 0x6d97f020,\n\t0x30e98: 0x6d97f220, 0x30e99: 0x6d97f420, 0x30e9a: 0x6d97f620, 0x30e9b: 0x6d97f820,\n\t0x30e9c: 0x6d97fa20, 0x30e9d: 0x6d97fc20, 0x30e9e: 0x6d97fe20, 0x30e9f: 0x6d980020,\n\t0x30ea0: 0x6d980220, 0x30ea1: 0x6dbaf020, 0x30ea2: 0x6dbaf220, 0x30ea3: 0x6dbaf420,\n\t0x30ea4: 0x6dbaf620, 0x30ea5: 0x6dbaf820, 0x30ea6: 0x6dbafa20, 0x30ea7: 0x6dbafc20,\n\t0x30ea8: 0x6dbafe20, 0x30ea9: 0x6dbb0020, 0x30eaa: 0x6dbb0220, 0x30eab: 0x6dbb0420,\n\t0x30eac: 0x6dd8fc20, 0x30ead: 0x6dd8fe20, 0x30eae: 0x6dd90020, 0x30eaf: 0x6dd90220,\n\t0x30eb0: 0x6dd90420, 0x30eb1: 0x6dd90620, 0x30eb2: 0x6df15e20, 0x30eb3: 0x6e059220,\n\t0x30eb4: 0x6e059420, 0x30eb5: 0x6e239420, 0x30eb6: 0x6e239620, 0x30eb7: 0x6c41fe20,\n\t0x30eb8: 0x6c420020, 0x30eb9: 0x6cb58a20, 0x30eba: 0x6cb58c20, 0x30ebb: 0x6ce57220,\n\t0x30ebc: 0x6d6f0020, 0x30ebd: 0x6df16620, 0x30ebe: 0x6e239820, 0x30ebf: 0x6c0aac20,\n\t// Block 0xc3b, offset 0x30ec0\n\t0x30ec0: 0x6c420220, 0x30ec1: 0x6c62ac20, 0x30ec2: 0x6c62ae20, 0x30ec3: 0x6c898420,\n\t0x30ec4: 0x6c898620, 0x30ec5: 0x6c898820, 0x30ec6: 0x6cb5aa20, 0x30ec7: 0x6cb5ac20,\n\t0x30ec8: 0x6cb5ae20, 0x30ec9: 0x6cb5b020, 0x30eca: 0x6cb5b220, 0x30ecb: 0x6ce59420,\n\t0x30ecc: 0x6ce59620, 0x30ecd: 0x6ce59820, 0x30ece: 0x6ce59a20, 0x30ecf: 0x6ce59c20,\n\t0x30ed0: 0x6ce59e20, 0x30ed1: 0x6ce5a020, 0x30ed2: 0x6ce5a220, 0x30ed3: 0x6ce5a420,\n\t0x30ed4: 0x6ce5a620, 0x30ed5: 0x6ce5a820, 0x30ed6: 0x6ce5aa20, 0x30ed7: 0x6ce5ac20,\n\t0x30ed8: 0x6d141e20, 0x30ed9: 0x6d142020, 0x30eda: 0x6d142220, 0x30edb: 0x6d142420,\n\t0x30edc: 0x6d142620, 0x30edd: 0x6d142820, 0x30ede: 0x6d142a20, 0x30edf: 0x6d142c20,\n\t0x30ee0: 0x6d142e20, 0x30ee1: 0x6d421a20, 0x30ee2: 0x6d421c20, 0x30ee3: 0x6d421e20,\n\t0x30ee4: 0x6d422020, 0x30ee5: 0x6d422220, 0x30ee6: 0x6d422420, 0x30ee7: 0x6d422620,\n\t0x30ee8: 0x6d422820, 0x30ee9: 0x6d422a20, 0x30eea: 0x6d422c20, 0x30eeb: 0x6d6f2420,\n\t0x30eec: 0x6d6f2620, 0x30eed: 0x6d6f2820, 0x30eee: 0x6d6f2a20, 0x30eef: 0x6d6f2c20,\n\t0x30ef0: 0x6d6f2e20, 0x30ef1: 0x6d6f3020, 0x30ef2: 0x6d6f3220, 0x30ef3: 0x6d6f3420,\n\t0x30ef4: 0x6d6f3620, 0x30ef5: 0x6d983620, 0x30ef6: 0x6d983820, 0x30ef7: 0x6dbb3420,\n\t0x30ef8: 0x6d983a20, 0x30ef9: 0x6d983c20, 0x30efa: 0x6d983e20, 0x30efb: 0x6d984020,\n\t0x30efc: 0x6d984220, 0x30efd: 0x6d984420, 0x30efe: 0x6d984620, 0x30eff: 0x6d984820,\n\t// Block 0xc3c, offset 0x30f00\n\t0x30f00: 0x6dbb2420, 0x30f01: 0x6d984a20, 0x30f02: 0x6d984c20, 0x30f03: 0x6dbb3620,\n\t0x30f04: 0x6dbb3820, 0x30f05: 0x6dbb3a20, 0x30f06: 0x6dbb3c20, 0x30f07: 0x6dbb3e20,\n\t0x30f08: 0x6dbb4020, 0x30f09: 0x6dbb4220, 0x30f0a: 0x6dbb4420, 0x30f0b: 0x6dbb4620,\n\t0x30f0c: 0x6dbb4820, 0x30f0d: 0x6d988e20, 0x30f0e: 0x6dbb4a20, 0x30f0f: 0x6dbb4c20,\n\t0x30f10: 0x6dd92020, 0x30f11: 0x6dd92220, 0x30f12: 0x6dd92420, 0x30f13: 0x6dd92620,\n\t0x30f14: 0x6dd92820, 0x30f15: 0x6dd92a20, 0x30f16: 0x6dd92c20, 0x30f17: 0x6dd92e20,\n\t0x30f18: 0x6dd93020, 0x30f19: 0x6df17620, 0x30f1a: 0x6df17820, 0x30f1b: 0x6df17a20,\n\t0x30f1c: 0x6df17c20, 0x30f1d: 0x6df17e20, 0x30f1e: 0x6e05a220, 0x30f1f: 0x6e05a420,\n\t0x30f20: 0x6e05a620, 0x30f21: 0x6e05a820, 0x30f22: 0x6e165c20, 0x30f23: 0x6e165e20,\n\t0x30f24: 0x6e166020, 0x30f25: 0x6e166220, 0x30f26: 0x6e166420, 0x30f27: 0x6e23a620,\n\t0x30f28: 0x6c020a20, 0x30f29: 0x6c052620, 0x30f2a: 0x6c0aae20, 0x30f2b: 0x6c159020,\n\t0x30f2c: 0x6c159220, 0x30f2d: 0x6c159420, 0x30f2e: 0x6c159620, 0x30f2f: 0x6c159820,\n\t0x30f30: 0x6c280420, 0x30f31: 0x6c280620, 0x30f32: 0x6c280820, 0x30f33: 0x6c280a20,\n\t0x30f34: 0x6c280c20, 0x30f35: 0x6c280e20, 0x30f36: 0x6c281020, 0x30f37: 0x6c281220,\n\t0x30f38: 0x6c420820, 0x30f39: 0x6c420a20, 0x30f3a: 0x6c62b420, 0x30f3b: 0x6c62b620,\n\t0x30f3c: 0x6c62b820, 0x30f3d: 0x6c62ba20, 0x30f3e: 0x6c62bc20, 0x30f3f: 0x6c62be20,\n\t// Block 0xc3d, offset 0x30f40\n\t0x30f40: 0x6c62c020, 0x30f41: 0x6c62c220, 0x30f42: 0x6c62c420, 0x30f43: 0x6c899620,\n\t0x30f44: 0x6c899820, 0x30f45: 0x6c899a20, 0x30f46: 0x6c899c20, 0x30f47: 0x6cb5c420,\n\t0x30f48: 0x6cb5c620, 0x30f49: 0x6cb5c820, 0x30f4a: 0x6cb5ca20, 0x30f4b: 0x6cb5cc20,\n\t0x30f4c: 0x6cb5ce20, 0x30f4d: 0x6cb5d020, 0x30f4e: 0x6cb5d220, 0x30f4f: 0x6cb5d420,\n\t0x30f50: 0x6cb5d620, 0x30f51: 0x6ce5ea20, 0x30f52: 0x6ce5ec20, 0x30f53: 0x6ce5ee20,\n\t0x30f54: 0x6ce5f020, 0x30f55: 0x6ce5f220, 0x30f56: 0x6d146e20, 0x30f57: 0x6d147020,\n\t0x30f58: 0x6d147220, 0x30f59: 0x6d147420, 0x30f5a: 0x6d426420, 0x30f5b: 0x6d989020,\n\t0x30f5c: 0x6c421020, 0x30f5d: 0x6c020c20, 0x30f5e: 0x6c0ab420, 0x30f5f: 0x6c0ab620,\n\t0x30f60: 0x6c15a420, 0x30f61: 0x6c15a620, 0x30f62: 0x6c15a820, 0x30f63: 0x6c15aa20,\n\t0x30f64: 0x6c15ac20, 0x30f65: 0x6c282620, 0x30f66: 0x6c282820, 0x30f67: 0x6c282a20,\n\t0x30f68: 0x6c282c20, 0x30f69: 0x6c282e20, 0x30f6a: 0x6c283020, 0x30f6b: 0x6c283220,\n\t0x30f6c: 0x6c283420, 0x30f6d: 0x6c283620, 0x30f6e: 0x6c283820, 0x30f6f: 0x6c283a20,\n\t0x30f70: 0x6c283c20, 0x30f71: 0x6c283e20, 0x30f72: 0x6c284020, 0x30f73: 0x6c284220,\n\t0x30f74: 0x6c284420, 0x30f75: 0x6c284620, 0x30f76: 0x6c284820, 0x30f77: 0x6c421820,\n\t0x30f78: 0x6c421a20, 0x30f79: 0x6c421c20, 0x30f7a: 0x6c421e20, 0x30f7b: 0x6c422020,\n\t0x30f7c: 0x6c422220, 0x30f7d: 0x6c422420, 0x30f7e: 0x6c422620, 0x30f7f: 0x6c422820,\n\t// Block 0xc3e, offset 0x30f80\n\t0x30f80: 0x6c422a20, 0x30f81: 0x6c422c20, 0x30f82: 0x6c422e20, 0x30f83: 0x6c423020,\n\t0x30f84: 0x6c423220, 0x30f85: 0x6c423420, 0x30f86: 0x6c423620, 0x30f87: 0x6c423820,\n\t0x30f88: 0x6c423a20, 0x30f89: 0x6c423c20, 0x30f8a: 0x6c62d620, 0x30f8b: 0x6c62d820,\n\t0x30f8c: 0x6c62da20, 0x30f8d: 0x6c62dc20, 0x30f8e: 0x6c62de20, 0x30f8f: 0x6c62e020,\n\t0x30f90: 0x6c62e220, 0x30f91: 0x6c62e420, 0x30f92: 0x6c62e620, 0x30f93: 0x6c62e820,\n\t0x30f94: 0x6c62ea20, 0x30f95: 0x6c62ec20, 0x30f96: 0x6c89b220, 0x30f97: 0x6c89b420,\n\t0x30f98: 0x6c89b620, 0x30f99: 0x6c89b820, 0x30f9a: 0x6c89d820, 0x30f9b: 0x6c89ba20,\n\t0x30f9c: 0x6c89bc20, 0x30f9d: 0x6c89be20, 0x30f9e: 0x6c89c020, 0x30f9f: 0x6c89c220,\n\t0x30fa0: 0x6c89c420, 0x30fa1: 0x6c89c620, 0x30fa2: 0x6c89c820, 0x30fa3: 0x6c89ca20,\n\t0x30fa4: 0x6c89cc20, 0x30fa5: 0x6c89ce20, 0x30fa6: 0x6c89d020, 0x30fa7: 0x6c89d220,\n\t0x30fa8: 0x6c89d420, 0x30fa9: 0x6c89d620, 0x30faa: 0x6cb5e820, 0x30fab: 0x6cb5ea20,\n\t0x30fac: 0x6cb5ec20, 0x30fad: 0x6cb5ee20, 0x30fae: 0x6cb5f020, 0x30faf: 0x6cb5f220,\n\t0x30fb0: 0x6cb5f420, 0x30fb1: 0x6cb5f620, 0x30fb2: 0x6ce5fa20, 0x30fb3: 0x6cb5f820,\n\t0x30fb4: 0x6cb5fa20, 0x30fb5: 0x6cb5fc20, 0x30fb6: 0x6cb5fe20, 0x30fb7: 0x6cb60020,\n\t0x30fb8: 0x6cb60220, 0x30fb9: 0x6cb60420, 0x30fba: 0x6cb60620, 0x30fbb: 0x6ce60220,\n\t0x30fbc: 0x6cb60820, 0x30fbd: 0x6ce60420, 0x30fbe: 0x6ce60620, 0x30fbf: 0x6ce60820,\n\t// Block 0xc3f, offset 0x30fc0\n\t0x30fc0: 0x6ce60a20, 0x30fc1: 0x6ce60c20, 0x30fc2: 0x6ce60e20, 0x30fc3: 0x6ce61020,\n\t0x30fc4: 0x6ce61220, 0x30fc5: 0x6ce61420, 0x30fc6: 0x6ce61620, 0x30fc7: 0x6ce61820,\n\t0x30fc8: 0x6ce61a20, 0x30fc9: 0x6ce61c20, 0x30fca: 0x6ce61e20, 0x30fcb: 0x6ce62020,\n\t0x30fcc: 0x6ce62220, 0x30fcd: 0x6ce62420, 0x30fce: 0x6ce62620, 0x30fcf: 0x6d147e20,\n\t0x30fd0: 0x6ce62820, 0x30fd1: 0x6d148c20, 0x30fd2: 0x6d148e20, 0x30fd3: 0x6d149020,\n\t0x30fd4: 0x6d149220, 0x30fd5: 0x6d149420, 0x30fd6: 0x6d149620, 0x30fd7: 0x6d149820,\n\t0x30fd8: 0x6d149a20, 0x30fd9: 0x6d426a20, 0x30fda: 0x6d427420, 0x30fdb: 0x6d427620,\n\t0x30fdc: 0x6d427820, 0x30fdd: 0x6d427a20, 0x30fde: 0x6d427c20, 0x30fdf: 0x6d427e20,\n\t0x30fe0: 0x6d428020, 0x30fe1: 0x6d428220, 0x30fe2: 0x6d6f9020, 0x30fe3: 0x6d6f9220,\n\t0x30fe4: 0x6d6f9420, 0x30fe5: 0x6d6f9620, 0x30fe6: 0x6d989820, 0x30fe7: 0x6d989a20,\n\t0x30fe8: 0x6d989c20, 0x30fe9: 0x6d989e20, 0x30fea: 0x6d98a020, 0x30feb: 0x6d98a220,\n\t0x30fec: 0x6dbb9220, 0x30fed: 0x6dbb9420, 0x30fee: 0x6dbb9620, 0x30fef: 0x6dbb9820,\n\t0x30ff0: 0x6dbb9a20, 0x30ff1: 0x6dbb9c20, 0x30ff2: 0x6dbb9e20, 0x30ff3: 0x6dd96a20,\n\t0x30ff4: 0x6df1a420, 0x30ff5: 0x6e05dc20, 0x30ff6: 0x6c427220, 0x30ff7: 0x6d98c020,\n\t0x30ff8: 0x6dbbb220, 0x30ff9: 0x6c427420, 0x30ffa: 0x6c8a3220, 0x30ffb: 0x6c8a3420,\n\t0x30ffc: 0x6c8a3620, 0x30ffd: 0x6c8a3820, 0x30ffe: 0x6c8a3a20, 0x30fff: 0x6cb66420,\n\t// Block 0xc40, offset 0x31000\n\t0x31000: 0x6cb66620, 0x31001: 0x6ce69020, 0x31002: 0x6ce69220, 0x31003: 0x6ce69420,\n\t0x31004: 0x6ce69620, 0x31005: 0x6ce69820, 0x31006: 0x6ce69a20, 0x31007: 0x6ce69c20,\n\t0x31008: 0x6ce69e20, 0x31009: 0x6d14e820, 0x3100a: 0x6d14ea20, 0x3100b: 0x6d14ec20,\n\t0x3100c: 0x6d42ce20, 0x3100d: 0x6d14ee20, 0x3100e: 0x6d14f020, 0x3100f: 0x6d14f220,\n\t0x31010: 0x6d42d220, 0x31011: 0x6d42d420, 0x31012: 0x6d42d620, 0x31013: 0x6d6fd020,\n\t0x31014: 0x6d98cc20, 0x31015: 0x6d98ce20, 0x31016: 0x6dbbba20, 0x31017: 0x6dd98c20,\n\t0x31018: 0x6dd98e20, 0x31019: 0x6dd99020, 0x3101a: 0x6dd99220, 0x3101b: 0x6dd99420,\n\t0x3101c: 0x6dd99620, 0x3101d: 0x6dd99820, 0x3101e: 0x6dd99a20, 0x3101f: 0x6dd99c20,\n\t0x31020: 0x6dd99e20, 0x31021: 0x6df1b020, 0x31022: 0x6dd9bc20, 0x31023: 0x6df1b220,\n\t0x31024: 0x6e169620, 0x31025: 0x6e358020, 0x31026: 0x6e358220, 0x31027: 0x6e435c20,\n\t0x31028: 0x6c427820, 0x31029: 0x6cb67e20, 0x3102a: 0x6cb68020, 0x3102b: 0x6cb68220,\n\t0x3102c: 0x6ce6c220, 0x3102d: 0x6ce6c420, 0x3102e: 0x6ce6c620, 0x3102f: 0x6ce6c820,\n\t0x31030: 0x6ce6ca20, 0x31031: 0x6ce6cc20, 0x31032: 0x6ce6ce20, 0x31033: 0x6ce6d020,\n\t0x31034: 0x6d151a20, 0x31035: 0x6d151c20, 0x31036: 0x6d151e20, 0x31037: 0x6d152020,\n\t0x31038: 0x6d152220, 0x31039: 0x6d152420, 0x3103a: 0x6d152620, 0x3103b: 0x6d152820,\n\t0x3103c: 0x6d152a20, 0x3103d: 0x6d152c20, 0x3103e: 0x6d152e20, 0x3103f: 0x6d431c20,\n\t// Block 0xc41, offset 0x31040\n\t0x31040: 0x6d431e20, 0x31041: 0x6d432020, 0x31042: 0x6d700220, 0x31043: 0x6d700420,\n\t0x31044: 0x6d700620, 0x31045: 0x6d700820, 0x31046: 0x6d700a20, 0x31047: 0x6d700c20,\n\t0x31048: 0x6d700e20, 0x31049: 0x6d701020, 0x3104a: 0x6d701220, 0x3104b: 0x6d991620,\n\t0x3104c: 0x6d991820, 0x3104d: 0x6d991a20, 0x3104e: 0x6d991c20, 0x3104f: 0x6d991e20,\n\t0x31050: 0x6d992020, 0x31051: 0x6d992220, 0x31052: 0x6d992420, 0x31053: 0x6d992620,\n\t0x31054: 0x6d992820, 0x31055: 0x6d992a20, 0x31056: 0x6d992c20, 0x31057: 0x6d992e20,\n\t0x31058: 0x6dbbfa20, 0x31059: 0x6dbbfc20, 0x3105a: 0x6dbbfe20, 0x3105b: 0x6dbc0020,\n\t0x3105c: 0x6dbc0220, 0x3105d: 0x6dbc0420, 0x3105e: 0x6dbc0620, 0x3105f: 0x6dbc0820,\n\t0x31060: 0x6dbc0a20, 0x31061: 0x6dbc5220, 0x31062: 0x6dd9ca20, 0x31063: 0x6dd9cc20,\n\t0x31064: 0x6dd9ce20, 0x31065: 0x6dd9d020, 0x31066: 0x6df1de20, 0x31067: 0x6df1e020,\n\t0x31068: 0x6df1e220, 0x31069: 0x6df1e420, 0x3106a: 0x6df1e620, 0x3106b: 0x6df1e820,\n\t0x3106c: 0x6df1ea20, 0x3106d: 0x6df1ec20, 0x3106e: 0x6e061e20, 0x3106f: 0x6e062020,\n\t0x31070: 0x6e062220, 0x31071: 0x6e062420, 0x31072: 0x6e16b020, 0x31073: 0x6e062620,\n\t0x31074: 0x6e062820, 0x31075: 0x6e16b220, 0x31076: 0x6e16b420, 0x31077: 0x6e16b620,\n\t0x31078: 0x6e16b820, 0x31079: 0x6e16ba20, 0x3107a: 0x6e16bc20, 0x3107b: 0x6e16be20,\n\t0x3107c: 0x6e23d820, 0x3107d: 0x6e23da20, 0x3107e: 0x6e23dc20, 0x3107f: 0x6e23de20,\n\t// Block 0xc42, offset 0x31080\n\t0x31080: 0x6e23e020, 0x31081: 0x6e2dea20, 0x31082: 0x6e359020, 0x31083: 0x6e359220,\n\t0x31084: 0x6e359420, 0x31085: 0x6e359620, 0x31086: 0x6e359820, 0x31087: 0x6e359a20,\n\t0x31088: 0x6e359c20, 0x31089: 0x6e3b0420, 0x3108a: 0x6e3ec220, 0x3108b: 0x6e416820,\n\t0x3108c: 0x6e416a20, 0x3108d: 0x6e416c20, 0x3108e: 0x6e416e20, 0x3108f: 0x6e44a620,\n\t0x31090: 0x6e472220, 0x31091: 0x6c427a20, 0x31092: 0x6c427c20, 0x31093: 0x6ce6f620,\n\t0x31094: 0x6ce6f820, 0x31095: 0x6d155420, 0x31096: 0x6d155620, 0x31097: 0x6d435020,\n\t0x31098: 0x6d435220, 0x31099: 0x6d435420, 0x3109a: 0x6d704e20, 0x3109b: 0x6d997a20,\n\t0x3109c: 0x6d997c20, 0x3109d: 0x6dda1c20, 0x3109e: 0x6c427e20, 0x3109f: 0x6ce70020,\n\t0x310a0: 0x6d705220, 0x310a1: 0x6df23a20, 0x310a2: 0x6c632e20, 0x310a3: 0x6c428020,\n\t0x310a4: 0x6d436220, 0x310a5: 0x6d705c20, 0x310a6: 0x6d998a20, 0x310a7: 0x6e16f420,\n\t0x310a8: 0x6e2dfe20, 0x310a9: 0x6c633220, 0x310aa: 0x6cb6a820, 0x310ab: 0x6ce71e20,\n\t0x310ac: 0x6ce72020, 0x310ad: 0x6ce72220, 0x310ae: 0x6ce72420, 0x310af: 0x6ce72620,\n\t0x310b0: 0x6ce72820, 0x310b1: 0x6ce72a20, 0x310b2: 0x6d158820, 0x310b3: 0x6d158a20,\n\t0x310b4: 0x6d158c20, 0x310b5: 0x6d158e20, 0x310b6: 0x6d159020, 0x310b7: 0x6d159220,\n\t0x310b8: 0x6d159420, 0x310b9: 0x6d159620, 0x310ba: 0x6d438a20, 0x310bb: 0x6d438c20,\n\t0x310bc: 0x6d438e20, 0x310bd: 0x6d439020, 0x310be: 0x6d439220, 0x310bf: 0x6d439420,\n\t// Block 0xc43, offset 0x310c0\n\t0x310c0: 0x6d439620, 0x310c1: 0x6d439820, 0x310c2: 0x6d439a20, 0x310c3: 0x6d439c20,\n\t0x310c4: 0x6d439e20, 0x310c5: 0x6d43a020, 0x310c6: 0x6d43a220, 0x310c7: 0x6d707420,\n\t0x310c8: 0x6d707620, 0x310c9: 0x6d707820, 0x310ca: 0x6d707a20, 0x310cb: 0x6d707c20,\n\t0x310cc: 0x6d707e20, 0x310cd: 0x6d708020, 0x310ce: 0x6d708220, 0x310cf: 0x6d708420,\n\t0x310d0: 0x6d708620, 0x310d1: 0x6d708820, 0x310d2: 0x6d708a20, 0x310d3: 0x6d99b220,\n\t0x310d4: 0x6d99b420, 0x310d5: 0x6d99b620, 0x310d6: 0x6d99b820, 0x310d7: 0x6d99ba20,\n\t0x310d8: 0x6d99bc20, 0x310d9: 0x6d99be20, 0x310da: 0x6dbc7420, 0x310db: 0x6dbc7620,\n\t0x310dc: 0x6dbc7820, 0x310dd: 0x6dbc7a20, 0x310de: 0x6dbc7c20, 0x310df: 0x6dbc7e20,\n\t0x310e0: 0x6dbc8020, 0x310e1: 0x6dbc8220, 0x310e2: 0x6dda3e20, 0x310e3: 0x6dda4020,\n\t0x310e4: 0x6dda4220, 0x310e5: 0x6dda4420, 0x310e6: 0x6dda4620, 0x310e7: 0x6dda4820,\n\t0x310e8: 0x6dda4a20, 0x310e9: 0x6dda4c20, 0x310ea: 0x6dda4e20, 0x310eb: 0x6dda5020,\n\t0x310ec: 0x6dda5220, 0x310ed: 0x6dda5420, 0x310ee: 0x6dda5620, 0x310ef: 0x6dda5820,\n\t0x310f0: 0x6dda5a20, 0x310f1: 0x6df24e20, 0x310f2: 0x6df25020, 0x310f3: 0x6df25220,\n\t0x310f4: 0x6df25420, 0x310f5: 0x6df25620, 0x310f6: 0x6df25820, 0x310f7: 0x6df25a20,\n\t0x310f8: 0x6e069020, 0x310f9: 0x6e069220, 0x310fa: 0x6e069420, 0x310fb: 0x6e069620,\n\t0x310fc: 0x6e171620, 0x310fd: 0x6e171820, 0x310fe: 0x6e171a20, 0x310ff: 0x6e171c20,\n\t// Block 0xc44, offset 0x31100\n\t0x31100: 0x6e241820, 0x31101: 0x6e241a20, 0x31102: 0x6e241c20, 0x31103: 0x6e241e20,\n\t0x31104: 0x6e2e0e20, 0x31105: 0x6e2e1020, 0x31106: 0x6e35bc20, 0x31107: 0x6e35be20,\n\t0x31108: 0x6e35c020, 0x31109: 0x6e3ee020, 0x3110a: 0x6e456e20, 0x3110b: 0x6c633420,\n\t0x3110c: 0x6ce73420, 0x3110d: 0x6d43e020, 0x3110e: 0x6d43e220, 0x3110f: 0x6d70c220,\n\t0x31110: 0x6d70c420, 0x31111: 0x6d70c620, 0x31112: 0x6d99ee20, 0x31113: 0x6dbcc620,\n\t0x31114: 0x6dbcc820, 0x31115: 0x6dbcca20, 0x31116: 0x6ddaaa20, 0x31117: 0x6ddaac20,\n\t0x31118: 0x6ddaae20, 0x31119: 0x6ddab020, 0x3111a: 0x6ddab220, 0x3111b: 0x6e06d420,\n\t0x3111c: 0x6df2a820, 0x3111d: 0x6df2aa20, 0x3111e: 0x6df2ac20, 0x3111f: 0x6df2ae20,\n\t0x31120: 0x6e06d620, 0x31121: 0x6e174220, 0x31122: 0x6e174420, 0x31123: 0x6e244820,\n\t0x31124: 0x6e35ce20, 0x31125: 0x6e35d020, 0x31126: 0x6c053420, 0x31127: 0x6c287c20,\n\t0x31128: 0x6c633620, 0x31129: 0x6ce73820, 0x3112a: 0x6d15d420, 0x3112b: 0x6d15d620,\n\t0x3112c: 0x6d43fc20, 0x3112d: 0x6c633c20, 0x3112e: 0x6d15e020, 0x3112f: 0x6d70e220,\n\t0x31130: 0x6d9a0420, 0x31131: 0x6dbcea20, 0x31132: 0x6df2c620, 0x31133: 0x6c633e20,\n\t0x31134: 0x6d15e820, 0x31135: 0x6d15ea20, 0x31136: 0x6d440420, 0x31137: 0x6d440620,\n\t0x31138: 0x6d9a0c20, 0x31139: 0x6ddacc20, 0x3113a: 0x6ddace20, 0x3113b: 0x6df2d020,\n\t0x3113c: 0x6df2d220, 0x3113d: 0x6e06f220, 0x3113e: 0x6e06f420, 0x3113f: 0x6e06f620,\n\t// Block 0xc45, offset 0x31140\n\t0x31140: 0x6e2e3c20, 0x31141: 0x6c634020, 0x31142: 0x6cb6b220, 0x31143: 0x6cb6b420,\n\t0x31144: 0x6cb6b620, 0x31145: 0x6ce74820, 0x31146: 0x6ce74a20, 0x31147: 0x6ce74c20,\n\t0x31148: 0x6ce74e20, 0x31149: 0x6d15f220, 0x3114a: 0x6d15fa20, 0x3114b: 0x6d15fc20,\n\t0x3114c: 0x6d15fe20, 0x3114d: 0x6d160020, 0x3114e: 0x6d160220, 0x3114f: 0x6d160420,\n\t0x31150: 0x6d160620, 0x31151: 0x6d160820, 0x31152: 0x6d160a20, 0x31153: 0x6d160c20,\n\t0x31154: 0x6d442620, 0x31155: 0x6d442820, 0x31156: 0x6d442a20, 0x31157: 0x6d442c20,\n\t0x31158: 0x6d442e20, 0x31159: 0x6d441220, 0x3115a: 0x6d443020, 0x3115b: 0x6d710020,\n\t0x3115c: 0x6d710220, 0x3115d: 0x6d710420, 0x3115e: 0x6d710620, 0x3115f: 0x6d710820,\n\t0x31160: 0x6d710a20, 0x31161: 0x6d710c20, 0x31162: 0x6d710e20, 0x31163: 0x6d711020,\n\t0x31164: 0x6d9a2a20, 0x31165: 0x6d9a2c20, 0x31166: 0x6d711220, 0x31167: 0x6d711420,\n\t0x31168: 0x6d711620, 0x31169: 0x6d711820, 0x3116a: 0x6d711a20, 0x3116b: 0x6d711c20,\n\t0x3116c: 0x6d711e20, 0x3116d: 0x6d9a2e20, 0x3116e: 0x6d9a3020, 0x3116f: 0x6d9a3220,\n\t0x31170: 0x6d9a3420, 0x31171: 0x6d9a3620, 0x31172: 0x6d9a3820, 0x31173: 0x6d9a3a20,\n\t0x31174: 0x6d9a3c20, 0x31175: 0x6d9a3e20, 0x31176: 0x6d9a4020, 0x31177: 0x6d9a4220,\n\t0x31178: 0x6d9a4420, 0x31179: 0x6d9a4620, 0x3117a: 0x6d9a4820, 0x3117b: 0x6d9a4a20,\n\t0x3117c: 0x6d9a4c20, 0x3117d: 0x6d9a4e20, 0x3117e: 0x6ddaf020, 0x3117f: 0x6ddada20,\n\t// Block 0xc46, offset 0x31180\n\t0x31180: 0x6dbd0c20, 0x31181: 0x6dbd0e20, 0x31182: 0x6dbd1020, 0x31183: 0x6dbd1220,\n\t0x31184: 0x6dbd1420, 0x31185: 0x6dbd1620, 0x31186: 0x6dbd1820, 0x31187: 0x6dbd1a20,\n\t0x31188: 0x6dbd1c20, 0x31189: 0x6dbd1e20, 0x3118a: 0x6dbd2020, 0x3118b: 0x6ddaf220,\n\t0x3118c: 0x6ddaf420, 0x3118d: 0x6ddaf620, 0x3118e: 0x6ddaf820, 0x3118f: 0x6ddafa20,\n\t0x31190: 0x6ddafc20, 0x31191: 0x6ddafe20, 0x31192: 0x6ddb0020, 0x31193: 0x6ddb0220,\n\t0x31194: 0x6ddb0420, 0x31195: 0x6ddb0620, 0x31196: 0x6df2f020, 0x31197: 0x6df2f220,\n\t0x31198: 0x6df2f420, 0x31199: 0x6df2f620, 0x3119a: 0x6df2f820, 0x3119b: 0x6df2fa20,\n\t0x3119c: 0x6df2fc20, 0x3119d: 0x6df2fe20, 0x3119e: 0x6df30020, 0x3119f: 0x6e070e20,\n\t0x311a0: 0x6e071020, 0x311a1: 0x6e071220, 0x311a2: 0x6e071420, 0x311a3: 0x6e071620,\n\t0x311a4: 0x6e177220, 0x311a5: 0x6e177420, 0x311a6: 0x6e177620, 0x311a7: 0x6e177820,\n\t0x311a8: 0x6e177a20, 0x311a9: 0x6e246e20, 0x311aa: 0x6e247020, 0x311ab: 0x6e247220,\n\t0x311ac: 0x6e2e4020, 0x311ad: 0x6e2e4220, 0x311ae: 0x6e2e4420, 0x311af: 0x6e2e4620,\n\t0x311b0: 0x6e35de20, 0x311b1: 0x6e3b3820, 0x311b2: 0x6e3b3a20, 0x311b3: 0x6e418220,\n\t0x311b4: 0x6e418420, 0x311b5: 0x6c15d220, 0x311b6: 0x6c428620, 0x311b7: 0x6c428820,\n\t0x311b8: 0x6c634420, 0x311b9: 0x6c634620, 0x311ba: 0x6c634820, 0x311bb: 0x6c634a20,\n\t0x311bc: 0x6c8a5220, 0x311bd: 0x6c8a5420, 0x311be: 0x6c8a5620, 0x311bf: 0x6c8a5820,\n\t// Block 0xc47, offset 0x311c0\n\t0x311c0: 0x6c8a5a20, 0x311c1: 0x6c8a5c20, 0x311c2: 0x6c8a5e20, 0x311c3: 0x6c8a6020,\n\t0x311c4: 0x6c8a6220, 0x311c5: 0x6cb6c020, 0x311c6: 0x6cb6c220, 0x311c7: 0x6cb6c420,\n\t0x311c8: 0x6cb6c620, 0x311c9: 0x6ce76220, 0x311ca: 0x6ce76420, 0x311cb: 0x6ce76620,\n\t0x311cc: 0x6ce76820, 0x311cd: 0x6ce76a20, 0x311ce: 0x6ce76c20, 0x311cf: 0x6ce76e20,\n\t0x311d0: 0x6d163e20, 0x311d1: 0x6d164020, 0x311d2: 0x6d164220, 0x311d3: 0x6d164420,\n\t0x311d4: 0x6d164620, 0x311d5: 0x6d164820, 0x311d6: 0x6d164a20, 0x311d7: 0x6d447220,\n\t0x311d8: 0x6d715e20, 0x311d9: 0x6d716020, 0x311da: 0x6d716220, 0x311db: 0x6d716420,\n\t0x311dc: 0x6d716620, 0x311dd: 0x6d716820, 0x311de: 0x6d9ab220, 0x311df: 0x6d9ab420,\n\t0x311e0: 0x6d9ab620, 0x311e1: 0x6d9ab820, 0x311e2: 0x6ddb3e20, 0x311e3: 0x6ddb4020,\n\t0x311e4: 0x6df33820, 0x311e5: 0x6e074820, 0x311e6: 0x6e17aa20, 0x311e7: 0x6e2e6c20,\n\t0x311e8: 0x6c634e20, 0x311e9: 0x6ce77a20, 0x311ea: 0x6ce77c20, 0x311eb: 0x6d165820,\n\t0x311ec: 0x6d165a20, 0x311ed: 0x6d448a20, 0x311ee: 0x6d448c20, 0x311ef: 0x6d448e20,\n\t0x311f0: 0x6d449020, 0x311f1: 0x6d449220, 0x311f2: 0x6d717020, 0x311f3: 0x6d717220,\n\t0x311f4: 0x6d9ac620, 0x311f5: 0x6d9ac820, 0x311f6: 0x6dbd7820, 0x311f7: 0x6dbd7a20,\n\t0x311f8: 0x6ddb5020, 0x311f9: 0x6ddb5220, 0x311fa: 0x6ddb5420, 0x311fb: 0x6df34220,\n\t0x311fc: 0x6df34420, 0x311fd: 0x6df34620, 0x311fe: 0x6df34820, 0x311ff: 0x6df34a20,\n\t// Block 0xc48, offset 0x31200\n\t0x31200: 0x6df34c20, 0x31201: 0x6e074e20, 0x31202: 0x6e075020, 0x31203: 0x6e075220,\n\t0x31204: 0x6e075420, 0x31205: 0x6e17b020, 0x31206: 0x6e17b220, 0x31207: 0x6e17b420,\n\t0x31208: 0x6e17b620, 0x31209: 0x6e17b820, 0x3120a: 0x6e17ba20, 0x3120b: 0x6e249020,\n\t0x3120c: 0x6e418c20, 0x3120d: 0x6e418e20, 0x3120e: 0x6c053620, 0x3120f: 0x6c287e20,\n\t0x31210: 0x6c635020, 0x31211: 0x6c635220, 0x31212: 0x6c635420, 0x31213: 0x6ce78e20,\n\t0x31214: 0x6d168020, 0x31215: 0x6d44b820, 0x31216: 0x6d44b620, 0x31217: 0x6d44ba20,\n\t0x31218: 0x6d719420, 0x31219: 0x6d9af420, 0x3121a: 0x6d9af620, 0x3121b: 0x6c635c20,\n\t0x3121c: 0x6e17dc20, 0x3121d: 0x6e419420, 0x3121e: 0x6c020e20, 0x3121f: 0x6c636220,\n\t0x31220: 0x6c636420, 0x31221: 0x6cb6d820, 0x31222: 0x6c8a6820, 0x31223: 0x6c8a6a20,\n\t0x31224: 0x6c8a6c20, 0x31225: 0x6cb6da20, 0x31226: 0x6cb6dc20, 0x31227: 0x6ce79e20,\n\t0x31228: 0x6ce7a020, 0x31229: 0x6ce7a220, 0x3122a: 0x6ce7a420, 0x3122b: 0x6ce7a620,\n\t0x3122c: 0x6d169420, 0x3122d: 0x6ce7a820, 0x3122e: 0x6d169620, 0x3122f: 0x6ce7aa20,\n\t0x31230: 0x6ce7ac20, 0x31231: 0x6d169820, 0x31232: 0x6ce7ae20, 0x31233: 0x6d169a20,\n\t0x31234: 0x6d169c20, 0x31235: 0x6d169e20, 0x31236: 0x6d16a020, 0x31237: 0x6d16a220,\n\t0x31238: 0x6d44d620, 0x31239: 0x6d16a420, 0x3123a: 0x6d71a620, 0x3123b: 0x6d16a620,\n\t0x3123c: 0x6d16a820, 0x3123d: 0x6d16aa20, 0x3123e: 0x6d16ac20, 0x3123f: 0x6d16ae20,\n\t// Block 0xc49, offset 0x31240\n\t0x31240: 0x6d44d820, 0x31241: 0x6d44da20, 0x31242: 0x6d44dc20, 0x31243: 0x6d44de20,\n\t0x31244: 0x6d44e020, 0x31245: 0x6d44e220, 0x31246: 0x6d44e420, 0x31247: 0x6d44e620,\n\t0x31248: 0x6d71a820, 0x31249: 0x6d44e820, 0x3124a: 0x6d71aa20, 0x3124b: 0x6d71ac20,\n\t0x3124c: 0x6d44ea20, 0x3124d: 0x6d71ae20, 0x3124e: 0x6d44ec20, 0x3124f: 0x6d44ee20,\n\t0x31250: 0x6d9b0820, 0x31251: 0x6d71b020, 0x31252: 0x6d71b220, 0x31253: 0x6d71b420,\n\t0x31254: 0x6d71b620, 0x31255: 0x6d71b820, 0x31256: 0x6d71ba20, 0x31257: 0x6d71bc20,\n\t0x31258: 0x6d71be20, 0x31259: 0x6d71c020, 0x3125a: 0x6d9b0c20, 0x3125b: 0x6d9b0e20,\n\t0x3125c: 0x6d9b1020, 0x3125d: 0x6d9b0a20, 0x3125e: 0x6d9b1220, 0x3125f: 0x6d9b1420,\n\t0x31260: 0x6d9b1620, 0x31261: 0x6d9b1820, 0x31262: 0x6d9b1a20, 0x31263: 0x6d9b1c20,\n\t0x31264: 0x6d9b1e20, 0x31265: 0x6dbdca20, 0x31266: 0x6d9b2020, 0x31267: 0x6d9b2220,\n\t0x31268: 0x6d9b2420, 0x31269: 0x6d9b2620, 0x3126a: 0x6dbdcc20, 0x3126b: 0x6dbdce20,\n\t0x3126c: 0x6dbdd020, 0x3126d: 0x6dbdd220, 0x3126e: 0x6ddb9a20, 0x3126f: 0x6dbdd420,\n\t0x31270: 0x6dbdd620, 0x31271: 0x6dbdd820, 0x31272: 0x6dbdda20, 0x31273: 0x6dbddc20,\n\t0x31274: 0x6d9b8c20, 0x31275: 0x6dbdde20, 0x31276: 0x6ddb9c20, 0x31277: 0x6dbde020,\n\t0x31278: 0x6ddb9e20, 0x31279: 0x6ddba020, 0x3127a: 0x6ddba220, 0x3127b: 0x6ddba420,\n\t0x3127c: 0x6ddba620, 0x3127d: 0x6ddba820, 0x3127e: 0x6ddbaa20, 0x3127f: 0x6ddbac20,\n\t// Block 0xc4a, offset 0x31280\n\t0x31280: 0x6ddbae20, 0x31281: 0x6ddbb020, 0x31282: 0x6dbe4420, 0x31283: 0x6df38820,\n\t0x31284: 0x6df38a20, 0x31285: 0x6df38c20, 0x31286: 0x6dbe4620, 0x31287: 0x6df38e20,\n\t0x31288: 0x6df39020, 0x31289: 0x6df39220, 0x3128a: 0x6e077420, 0x3128b: 0x6e077620,\n\t0x3128c: 0x6e077820, 0x3128d: 0x6e077a20, 0x3128e: 0x6e077c20, 0x3128f: 0x6e17ec20,\n\t0x31290: 0x6e077e20, 0x31291: 0x6e078020, 0x31292: 0x6e078220, 0x31293: 0x6e078420,\n\t0x31294: 0x6e24ae20, 0x31295: 0x6e24b020, 0x31296: 0x6e17ee20, 0x31297: 0x6e17f020,\n\t0x31298: 0x6e17f220, 0x31299: 0x6e07c220, 0x3129a: 0x6e24b220, 0x3129b: 0x6e24b420,\n\t0x3129c: 0x6e2e8220, 0x3129d: 0x6e360220, 0x3129e: 0x6e3b4c20, 0x3129f: 0x6e3b4e20,\n\t0x312a0: 0x6e419820, 0x312a1: 0x6e419a20, 0x312a2: 0x6e457220, 0x312a3: 0x6c021020,\n\t0x312a4: 0x6c0ac220, 0x312a5: 0x6c0ac420, 0x312a6: 0x6c15d420, 0x312a7: 0x6c15d620,\n\t0x312a8: 0x6c288020, 0x312a9: 0x6c288220, 0x312aa: 0x6c288420, 0x312ab: 0x6c288620,\n\t0x312ac: 0x6c288820, 0x312ad: 0x6c288a20, 0x312ae: 0x6c288c20, 0x312af: 0x6c429820,\n\t0x312b0: 0x6c429a20, 0x312b1: 0x6c429c20, 0x312b2: 0x6c429e20, 0x312b3: 0x6c42a020,\n\t0x312b4: 0x6c42a220, 0x312b5: 0x6c636820, 0x312b6: 0x6c636a20, 0x312b7: 0x6c636c20,\n\t0x312b8: 0x6c636e20, 0x312b9: 0x6c637020, 0x312ba: 0x6c637220, 0x312bb: 0x6c637420,\n\t0x312bc: 0x6c637620, 0x312bd: 0x6c8a7420, 0x312be: 0x6c8a7620, 0x312bf: 0x6c8a7820,\n\t// Block 0xc4b, offset 0x312c0\n\t0x312c0: 0x6c8a7a20, 0x312c1: 0x6c8a7c20, 0x312c2: 0x6c8a7e20, 0x312c3: 0x6cb6fa20,\n\t0x312c4: 0x6cb6fc20, 0x312c5: 0x6cb6fe20, 0x312c6: 0x6cb70020, 0x312c7: 0x6ce7d820,\n\t0x312c8: 0x6ce7da20, 0x312c9: 0x6d16f420, 0x312ca: 0x6ce7dc20, 0x312cb: 0x6ce7de20,\n\t0x312cc: 0x6d16f620, 0x312cd: 0x6d16f820, 0x312ce: 0x6d16fa20, 0x312cf: 0x6d16fc20,\n\t0x312d0: 0x6d16fe20, 0x312d1: 0x6d452020, 0x312d2: 0x6d452220, 0x312d3: 0x6d71fe20,\n\t0x312d4: 0x6d720020, 0x312d5: 0x6e3b5220, 0x312d6: 0x6c637e20, 0x312d7: 0x6cb70c20,\n\t0x312d8: 0x6dbe4820, 0x312d9: 0x6c638220, 0x312da: 0x6d170820, 0x312db: 0x6d453620,\n\t0x312dc: 0x6d453820, 0x312dd: 0x6d453a20, 0x312de: 0x6d9ba020, 0x312df: 0x6d9ba220,\n\t0x312e0: 0x6d9ba420, 0x312e1: 0x6dbe5620, 0x312e2: 0x6dbe5820, 0x312e3: 0x6dbe5a20,\n\t0x312e4: 0x6ddc0420, 0x312e5: 0x6ddc0620, 0x312e6: 0x6df3ec20, 0x312e7: 0x6df3ee20,\n\t0x312e8: 0x6e07ca20, 0x312e9: 0x6e182420, 0x312ea: 0x6e2e9a20, 0x312eb: 0x6e41a020,\n\t0x312ec: 0x6c8a8e20, 0x312ed: 0x6ce7f220, 0x312ee: 0x6ce7f420, 0x312ef: 0x6d171420,\n\t0x312f0: 0x6d171620, 0x312f1: 0x6d171820, 0x312f2: 0x6d171a20, 0x312f3: 0x6d171c20,\n\t0x312f4: 0x6d171e20, 0x312f5: 0x6d172020, 0x312f6: 0x6d455820, 0x312f7: 0x6d455a20,\n\t0x312f8: 0x6d455c20, 0x312f9: 0x6d455e20, 0x312fa: 0x6d456020, 0x312fb: 0x6d456220,\n\t0x312fc: 0x6d456420, 0x312fd: 0x6d456620, 0x312fe: 0x6d456820, 0x312ff: 0x6d456a20,\n\t// Block 0xc4c, offset 0x31300\n\t0x31300: 0x6d456c20, 0x31301: 0x6d456e20, 0x31302: 0x6d457020, 0x31303: 0x6d457220,\n\t0x31304: 0x6d457420, 0x31305: 0x6d457620, 0x31306: 0x6d457820, 0x31307: 0x6d457a20,\n\t0x31308: 0x6d723220, 0x31309: 0x6d723420, 0x3130a: 0x6d723620, 0x3130b: 0x6d723820,\n\t0x3130c: 0x6d723a20, 0x3130d: 0x6d723c20, 0x3130e: 0x6d723e20, 0x3130f: 0x6d724020,\n\t0x31310: 0x6d724220, 0x31311: 0x6d724420, 0x31312: 0x6d724620, 0x31313: 0x6d724820,\n\t0x31314: 0x6d724a20, 0x31315: 0x6d724c20, 0x31316: 0x6d724e20, 0x31317: 0x6d725020,\n\t0x31318: 0x6d725220, 0x31319: 0x6d725420, 0x3131a: 0x6d725620, 0x3131b: 0x6d725820,\n\t0x3131c: 0x6d725a20, 0x3131d: 0x6d725c20, 0x3131e: 0x6d725e20, 0x3131f: 0x6d726020,\n\t0x31320: 0x6d726220, 0x31321: 0x6d9bba20, 0x31322: 0x6d9bbc20, 0x31323: 0x6d9bbe20,\n\t0x31324: 0x6d9bc020, 0x31325: 0x6d9bc220, 0x31326: 0x6d9bc420, 0x31327: 0x6d9bc620,\n\t0x31328: 0x6d9bc820, 0x31329: 0x6d9bca20, 0x3132a: 0x6d9bcc20, 0x3132b: 0x6d9bce20,\n\t0x3132c: 0x6d9bd020, 0x3132d: 0x6d9bd220, 0x3132e: 0x6d9bd420, 0x3132f: 0x6d9bd620,\n\t0x31330: 0x6d9bd820, 0x31331: 0x6d9bda20, 0x31332: 0x6d9bdc20, 0x31333: 0x6dbec020,\n\t0x31334: 0x6dbe7020, 0x31335: 0x6dbe7220, 0x31336: 0x6dbe7420, 0x31337: 0x6dbe7620,\n\t0x31338: 0x6dbe7820, 0x31339: 0x6dbe7a20, 0x3133a: 0x6dbe7c20, 0x3133b: 0x6dbe7e20,\n\t0x3133c: 0x6dbe8020, 0x3133d: 0x6dbe8220, 0x3133e: 0x6dbe8420, 0x3133f: 0x6dbe8620,\n\t// Block 0xc4d, offset 0x31340\n\t0x31340: 0x6dbe8820, 0x31341: 0x6dbe8a20, 0x31342: 0x6dbe8c20, 0x31343: 0x6dbe8e20,\n\t0x31344: 0x6ddc2820, 0x31345: 0x6ddc2a20, 0x31346: 0x6ddc2c20, 0x31347: 0x6ddc2e20,\n\t0x31348: 0x6ddc3020, 0x31349: 0x6ddc3220, 0x3134a: 0x6ddc3420, 0x3134b: 0x6ddc3620,\n\t0x3134c: 0x6ddc3820, 0x3134d: 0x6ddc3a20, 0x3134e: 0x6ddc3c20, 0x3134f: 0x6ddc3e20,\n\t0x31350: 0x6ddc4020, 0x31351: 0x6ddc4220, 0x31352: 0x6ddc4420, 0x31353: 0x6ddc4620,\n\t0x31354: 0x6df40a20, 0x31355: 0x6df40c20, 0x31356: 0x6df40e20, 0x31357: 0x6df41020,\n\t0x31358: 0x6df41220, 0x31359: 0x6df41420, 0x3135a: 0x6df41620, 0x3135b: 0x6df41820,\n\t0x3135c: 0x6df41a20, 0x3135d: 0x6df41c20, 0x3135e: 0x6df41e20, 0x3135f: 0x6df42020,\n\t0x31360: 0x6df42220, 0x31361: 0x6df42420, 0x31362: 0x6df42620, 0x31363: 0x6df42820,\n\t0x31364: 0x6df42a20, 0x31365: 0x6df42c20, 0x31366: 0x6df42e20, 0x31367: 0x6df43020,\n\t0x31368: 0x6df43220, 0x31369: 0x6e07e620, 0x3136a: 0x6e07e820, 0x3136b: 0x6e07ea20,\n\t0x3136c: 0x6e07ec20, 0x3136d: 0x6e07ee20, 0x3136e: 0x6e07f020, 0x3136f: 0x6e07f220,\n\t0x31370: 0x6e07f420, 0x31371: 0x6e07f620, 0x31372: 0x6e07f820, 0x31373: 0x6e07fa20,\n\t0x31374: 0x6e07fc20, 0x31375: 0x6e07fe20, 0x31376: 0x6e080020, 0x31377: 0x6e080220,\n\t0x31378: 0x6e080420, 0x31379: 0x6e184220, 0x3137a: 0x6e184420, 0x3137b: 0x6e184620,\n\t0x3137c: 0x6e184820, 0x3137d: 0x6e184a20, 0x3137e: 0x6e184c20, 0x3137f: 0x6e184e20,\n\t// Block 0xc4e, offset 0x31380\n\t0x31380: 0x6e185020, 0x31381: 0x6e185220, 0x31382: 0x6e185420, 0x31383: 0x6e185620,\n\t0x31384: 0x6e185820, 0x31385: 0x6e185a20, 0x31386: 0x6e185c20, 0x31387: 0x6e185e20,\n\t0x31388: 0x6e24ee20, 0x31389: 0x6e24f020, 0x3138a: 0x6e24f220, 0x3138b: 0x6e24f420,\n\t0x3138c: 0x6e24f620, 0x3138d: 0x6e24f820, 0x3138e: 0x6e24fa20, 0x3138f: 0x6e24fc20,\n\t0x31390: 0x6e24fe20, 0x31391: 0x6e250020, 0x31392: 0x6e250220, 0x31393: 0x6e250420,\n\t0x31394: 0x6e250620, 0x31395: 0x6e250820, 0x31396: 0x6e2ea420, 0x31397: 0x6e2ea620,\n\t0x31398: 0x6e2ea820, 0x31399: 0x6e2eaa20, 0x3139a: 0x6e2eac20, 0x3139b: 0x6e2eae20,\n\t0x3139c: 0x6e2eb020, 0x3139d: 0x6e362220, 0x3139e: 0x6e362420, 0x3139f: 0x6e362620,\n\t0x313a0: 0x6e3f1420, 0x313a1: 0x6e3f1620, 0x313a2: 0x6e3f1820, 0x313a3: 0x6e3f1a20,\n\t0x313a4: 0x6e41a420, 0x313a5: 0x6e3f2620, 0x313a6: 0x6e41a620, 0x313a7: 0x6e41a820,\n\t0x313a8: 0x6e437a20, 0x313a9: 0x6e437c20, 0x313aa: 0x6e44c220, 0x313ab: 0x6e457620,\n\t0x313ac: 0x6c021220, 0x313ad: 0x6c0ac620, 0x313ae: 0x6c15da20, 0x313af: 0x6c15dc20,\n\t0x313b0: 0x6c15de20, 0x313b1: 0x6c289820, 0x313b2: 0x6c289a20, 0x313b3: 0x6c289c20,\n\t0x313b4: 0x6c289e20, 0x313b5: 0x6c42ae20, 0x313b6: 0x6c42b020, 0x313b7: 0x6c42b220,\n\t0x313b8: 0x6c42b420, 0x313b9: 0x6c42b620, 0x313ba: 0x6c42b820, 0x313bb: 0x6c42ba20,\n\t0x313bc: 0x6c42bc20, 0x313bd: 0x6c42be20, 0x313be: 0x6c42c020, 0x313bf: 0x6c42c220,\n\t// Block 0xc4f, offset 0x313c0\n\t0x313c0: 0x6c42c420, 0x313c1: 0x6c638420, 0x313c2: 0x6c638620, 0x313c3: 0x6c638820,\n\t0x313c4: 0x6c638a20, 0x313c5: 0x6c638c20, 0x313c6: 0x6c638e20, 0x313c7: 0x6c639020,\n\t0x313c8: 0x6c639220, 0x313c9: 0x6c639420, 0x313ca: 0x6c8a9420, 0x313cb: 0x6c8a9620,\n\t0x313cc: 0x6c8a9820, 0x313cd: 0x6c8a9a20, 0x313ce: 0x6c8a9c20, 0x313cf: 0x6c8a9e20,\n\t0x313d0: 0x6cb71420, 0x313d1: 0x6cb71620, 0x313d2: 0x6cb71820, 0x313d3: 0x6cb71a20,\n\t0x313d4: 0x6cb71c20, 0x313d5: 0x6cb71e20, 0x313d6: 0x6cb72020, 0x313d7: 0x6ce80420,\n\t0x313d8: 0x6ce80620, 0x313d9: 0x6ce80820, 0x313da: 0x6ce80a20, 0x313db: 0x6ce80c20,\n\t0x313dc: 0x6d173220, 0x313dd: 0x6d173420, 0x313de: 0x6d173620, 0x313df: 0x6d173820,\n\t0x313e0: 0x6d45ac20, 0x313e1: 0x6d45ae20, 0x313e2: 0x6d45b020, 0x313e3: 0x6d72aa20,\n\t0x313e4: 0x6dbec420, 0x313e5: 0x6df48220, 0x313e6: 0x6e086e20, 0x313e7: 0x6e087020,\n\t0x313e8: 0x6c8aae20, 0x313e9: 0x6ce82c20, 0x313ea: 0x6d174820, 0x313eb: 0x6d174a20,\n\t0x313ec: 0x6d174c20, 0x313ed: 0x6d174e20, 0x313ee: 0x6d175020, 0x313ef: 0x6d45bc20,\n\t0x313f0: 0x6d45be20, 0x313f1: 0x6d45c020, 0x313f2: 0x6d72bc20, 0x313f3: 0x6d72be20,\n\t0x313f4: 0x6d72c020, 0x313f5: 0x6d72c220, 0x313f6: 0x6d72c420, 0x313f7: 0x6d72c620,\n\t0x313f8: 0x6d9c4220, 0x313f9: 0x6d9c4420, 0x313fa: 0x6d9c4620, 0x313fb: 0x6d9c4820,\n\t0x313fc: 0x6d9c4a20, 0x313fd: 0x6dbed220, 0x313fe: 0x6dbed420, 0x313ff: 0x6d9c6820,\n\t// Block 0xc50, offset 0x31400\n\t0x31400: 0x6ddcac20, 0x31401: 0x6ddcae20, 0x31402: 0x6df48c20, 0x31403: 0x6df48e20,\n\t0x31404: 0x6e087220, 0x31405: 0x6df49020, 0x31406: 0x6e087620, 0x31407: 0x6e087820,\n\t0x31408: 0x6e087a20, 0x31409: 0x6e087c20, 0x3140a: 0x6e087e20, 0x3140b: 0x6e088020,\n\t0x3140c: 0x6e088220, 0x3140d: 0x6e189420, 0x3140e: 0x6e189620, 0x3140f: 0x6e189820,\n\t0x31410: 0x6e254620, 0x31411: 0x6e2ee620, 0x31412: 0x6e254820, 0x31413: 0x6e2ee820,\n\t0x31414: 0x6e2eea20, 0x31415: 0x6e364420, 0x31416: 0x6e3b7420, 0x31417: 0x6e3f2820,\n\t0x31418: 0x6c8ab020, 0x31419: 0x6cb73620, 0x3141a: 0x6d45e620, 0x3141b: 0x6d72e220,\n\t0x3141c: 0x6ddcda20, 0x3141d: 0x6e256420, 0x3141e: 0x6e2ef820, 0x3141f: 0x6c8ab220,\n\t0x31420: 0x6ce84620, 0x31421: 0x6d177820, 0x31422: 0x6d177a20, 0x31423: 0x6d460620,\n\t0x31424: 0x6d460820, 0x31425: 0x6d460a20, 0x31426: 0x6d460c20, 0x31427: 0x6d460e20,\n\t0x31428: 0x6d461020, 0x31429: 0x6d461220, 0x3142a: 0x6d461420, 0x3142b: 0x6d72f220,\n\t0x3142c: 0x6d72f420, 0x3142d: 0x6d9c7a20, 0x3142e: 0x6d72f620, 0x3142f: 0x6d72f820,\n\t0x31430: 0x6d72fa20, 0x31431: 0x6d72fc20, 0x31432: 0x6d72fe20, 0x31433: 0x6d730020,\n\t0x31434: 0x6d730220, 0x31435: 0x6d9c8020, 0x31436: 0x6d9c8220, 0x31437: 0x6d9c8420,\n\t0x31438: 0x6d9c8620, 0x31439: 0x6d9c8820, 0x3143a: 0x6d9c8a20, 0x3143b: 0x6d9c8c20,\n\t0x3143c: 0x6dbf1420, 0x3143d: 0x6dbf1620, 0x3143e: 0x6dbf1820, 0x3143f: 0x6dbf1a20,\n\t// Block 0xc51, offset 0x31440\n\t0x31440: 0x6dbf1c20, 0x31441: 0x6dbf1e20, 0x31442: 0x6dbf2020, 0x31443: 0x6ddcf220,\n\t0x31444: 0x6ddcf420, 0x31445: 0x6ddcf620, 0x31446: 0x6ddcf820, 0x31447: 0x6d9c8e20,\n\t0x31448: 0x6ddcfa20, 0x31449: 0x6df4b220, 0x3144a: 0x6df4b420, 0x3144b: 0x6df4b620,\n\t0x3144c: 0x6df4b820, 0x3144d: 0x6df4ba20, 0x3144e: 0x6df4bc20, 0x3144f: 0x6df4be20,\n\t0x31450: 0x6e08b220, 0x31451: 0x6e08b420, 0x31452: 0x6e08b620, 0x31453: 0x6e08b820,\n\t0x31454: 0x6e18b420, 0x31455: 0x6e18b620, 0x31456: 0x6e18b820, 0x31457: 0x6e18ba20,\n\t0x31458: 0x6e18bc20, 0x31459: 0x6e256c20, 0x3145a: 0x6e256e20, 0x3145b: 0x6e257020,\n\t0x3145c: 0x6e257220, 0x3145d: 0x6e256820, 0x3145e: 0x6e2f0020, 0x3145f: 0x6e2f0220,\n\t0x31460: 0x6e2f0420, 0x31461: 0x6e365c20, 0x31462: 0x6e365e20, 0x31463: 0x6e3b8620,\n\t0x31464: 0x6e41be20, 0x31465: 0x6c8ab420, 0x31466: 0x6d463c20, 0x31467: 0x6d734420,\n\t0x31468: 0x6d9cc020, 0x31469: 0x6ddd3820, 0x3146a: 0x6e08ee20, 0x3146b: 0x6e25a420,\n\t0x3146c: 0x6e367420, 0x3146d: 0x6e367620, 0x3146e: 0x6e41c820, 0x3146f: 0x6c8aba20,\n\t0x31470: 0x6e41ca20, 0x31471: 0x6e44ca20, 0x31472: 0x6c8abc20, 0x31473: 0x6d9cc820,\n\t0x31474: 0x6dbf5620, 0x31475: 0x6ddd4020, 0x31476: 0x6ddd4220, 0x31477: 0x6df4fa20,\n\t0x31478: 0x6e08f420, 0x31479: 0x6e18f420, 0x3147a: 0x6e18f620, 0x3147b: 0x6e25ae20,\n\t0x3147c: 0x6c8abe20, 0x3147d: 0x6d179220, 0x3147e: 0x6d465020, 0x3147f: 0x6d465220,\n\t// Block 0xc52, offset 0x31480\n\t0x31480: 0x6d465420, 0x31481: 0x6d465620, 0x31482: 0x6d465820, 0x31483: 0x6d735820,\n\t0x31484: 0x6d735a20, 0x31485: 0x6d735c20, 0x31486: 0x6d735e20, 0x31487: 0x6d9cde20,\n\t0x31488: 0x6dbf6220, 0x31489: 0x6dbf6420, 0x3148a: 0x6ddd5620, 0x3148b: 0x6ddd5820,\n\t0x3148c: 0x6ddd5a20, 0x3148d: 0x6ddd5c20, 0x3148e: 0x6ddd5e20, 0x3148f: 0x6ddd6020,\n\t0x31490: 0x6e090220, 0x31491: 0x6e190620, 0x31492: 0x6e190820, 0x31493: 0x6e190a20,\n\t0x31494: 0x6e190c20, 0x31495: 0x6e25be20, 0x31496: 0x6e25c020, 0x31497: 0x6e368a20,\n\t0x31498: 0x6e368c20, 0x31499: 0x6e368e20, 0x3149a: 0x6cb74420, 0x3149b: 0x6d17c620,\n\t0x3149c: 0x6d17c820, 0x3149d: 0x6d17ca20, 0x3149e: 0x6d17cc20, 0x3149f: 0x6d469220,\n\t0x314a0: 0x6d469420, 0x314a1: 0x6d469620, 0x314a2: 0x6d469820, 0x314a3: 0x6d739620,\n\t0x314a4: 0x6d739820, 0x314a5: 0x6d739a20, 0x314a6: 0x6d739c20, 0x314a7: 0x6d739e20,\n\t0x314a8: 0x6d73a020, 0x314a9: 0x6d73a220, 0x314aa: 0x6d73a420, 0x314ab: 0x6d73a620,\n\t0x314ac: 0x6d73a820, 0x314ad: 0x6d73aa20, 0x314ae: 0x6d73ac20, 0x314af: 0x6d73ae20,\n\t0x314b0: 0x6d73b020, 0x314b1: 0x6d73b220, 0x314b2: 0x6d73b420, 0x314b3: 0x6d73b620,\n\t0x314b4: 0x6d73b820, 0x314b5: 0x6d73ba20, 0x314b6: 0x6d73bc20, 0x314b7: 0x6d73be20,\n\t0x314b8: 0x6d73c020, 0x314b9: 0x6d73c220, 0x314ba: 0x6d9d2420, 0x314bb: 0x6d9d2620,\n\t0x314bc: 0x6d9d2820, 0x314bd: 0x6d9d2a20, 0x314be: 0x6d9d2c20, 0x314bf: 0x6d9d2e20,\n\t// Block 0xc53, offset 0x314c0\n\t0x314c0: 0x6d9d3020, 0x314c1: 0x6d9d3220, 0x314c2: 0x6d9d3420, 0x314c3: 0x6d9d3620,\n\t0x314c4: 0x6d9d3820, 0x314c5: 0x6d9d3a20, 0x314c6: 0x6dbf9020, 0x314c7: 0x6d9d3c20,\n\t0x314c8: 0x6d9d3e20, 0x314c9: 0x6d9d4020, 0x314ca: 0x6d9d4220, 0x314cb: 0x6d9d4420,\n\t0x314cc: 0x6d9d4620, 0x314cd: 0x6d9d4820, 0x314ce: 0x6d9d4a20, 0x314cf: 0x6d9d4c20,\n\t0x314d0: 0x6d9d4e20, 0x314d1: 0x6d9d5020, 0x314d2: 0x6d9d5220, 0x314d3: 0x6d9d5420,\n\t0x314d4: 0x6d9d5620, 0x314d5: 0x6d9d5820, 0x314d6: 0x6d9d5a20, 0x314d7: 0x6d9d5c20,\n\t0x314d8: 0x6d9d5e20, 0x314d9: 0x6dbf9c20, 0x314da: 0x6dbf9e20, 0x314db: 0x6dbfa020,\n\t0x314dc: 0x6dbfa220, 0x314dd: 0x6dbfa420, 0x314de: 0x6dbfa620, 0x314df: 0x6dbfa820,\n\t0x314e0: 0x6dbfaa20, 0x314e1: 0x6dbfac20, 0x314e2: 0x6dbfae20, 0x314e3: 0x6d9d6020,\n\t0x314e4: 0x6dbfb020, 0x314e5: 0x6dbfb220, 0x314e6: 0x6dbfb420, 0x314e7: 0x6dbfb620,\n\t0x314e8: 0x6dbfb820, 0x314e9: 0x6dbfba20, 0x314ea: 0x6dbfbc20, 0x314eb: 0x6dbfbe20,\n\t0x314ec: 0x6dbfc020, 0x314ed: 0x6dbfc220, 0x314ee: 0x6dbfc420, 0x314ef: 0x6dbfc620,\n\t0x314f0: 0x6dbfc820, 0x314f1: 0x6dbfca20, 0x314f2: 0x6dbfcc20, 0x314f3: 0x6dbfce20,\n\t0x314f4: 0x6dbfd020, 0x314f5: 0x6ddd9820, 0x314f6: 0x6ddd9a20, 0x314f7: 0x6ddd9c20,\n\t0x314f8: 0x6ddd9e20, 0x314f9: 0x6ddda020, 0x314fa: 0x6dbfd220, 0x314fb: 0x6ddda220,\n\t0x314fc: 0x6ddda420, 0x314fd: 0x6ddda620, 0x314fe: 0x6ddda820, 0x314ff: 0x6dddaa20,\n\t// Block 0xc54, offset 0x31500\n\t0x31500: 0x6dddac20, 0x31501: 0x6dddae20, 0x31502: 0x6dddb020, 0x31503: 0x6dddb220,\n\t0x31504: 0x6dddb420, 0x31505: 0x6df51c20, 0x31506: 0x6dddb620, 0x31507: 0x6dddb820,\n\t0x31508: 0x6dddba20, 0x31509: 0x6dddbc20, 0x3150a: 0x6dddbe20, 0x3150b: 0x6dddc020,\n\t0x3150c: 0x6dddc220, 0x3150d: 0x6dddc420, 0x3150e: 0x6dc03a20, 0x3150f: 0x6dddc620,\n\t0x31510: 0x6dddc820, 0x31511: 0x6dddca20, 0x31512: 0x6dddcc20, 0x31513: 0x6dddce20,\n\t0x31514: 0x6df54220, 0x31515: 0x6df54420, 0x31516: 0x6df54620, 0x31517: 0x6df54820,\n\t0x31518: 0x6df54a20, 0x31519: 0x6df54c20, 0x3151a: 0x6df54e20, 0x3151b: 0x6df55020,\n\t0x3151c: 0x6df55220, 0x3151d: 0x6df55420, 0x3151e: 0x6df55620, 0x3151f: 0x6df55820,\n\t0x31520: 0x6df55a20, 0x31521: 0x6df55c20, 0x31522: 0x6df55e20, 0x31523: 0x6df56020,\n\t0x31524: 0x6df56220, 0x31525: 0x6df56420, 0x31526: 0x6df56620, 0x31527: 0x6df56820,\n\t0x31528: 0x6df56a20, 0x31529: 0x6df56c20, 0x3152a: 0x6df56e20, 0x3152b: 0x6df57020,\n\t0x3152c: 0x6df57220, 0x3152d: 0x6df57420, 0x3152e: 0x6df57620, 0x3152f: 0x6df57820,\n\t0x31530: 0x6df57a20, 0x31531: 0x6df57c20, 0x31532: 0x6df57e20, 0x31533: 0x6df58020,\n\t0x31534: 0x6df58220, 0x31535: 0x6df58420, 0x31536: 0x6e093220, 0x31537: 0x6e093420,\n\t0x31538: 0x6e093620, 0x31539: 0x6e093820, 0x3153a: 0x6df61c20, 0x3153b: 0x6e091c20,\n\t0x3153c: 0x6e093a20, 0x3153d: 0x6dddd020, 0x3153e: 0x6e093c20, 0x3153f: 0x6e093e20,\n\t// Block 0xc55, offset 0x31540\n\t0x31540: 0x6e094020, 0x31541: 0x6e094220, 0x31542: 0x6e094420, 0x31543: 0x6e094620,\n\t0x31544: 0x6e094820, 0x31545: 0x6e094a20, 0x31546: 0x6e094c20, 0x31547: 0x6e094e20,\n\t0x31548: 0x6e095020, 0x31549: 0x6e095220, 0x3154a: 0x6e095420, 0x3154b: 0x6e095620,\n\t0x3154c: 0x6e095820, 0x3154d: 0x6e095a20, 0x3154e: 0x6e095c20, 0x3154f: 0x6e095e20,\n\t0x31550: 0x6e096020, 0x31551: 0x6e096220, 0x31552: 0x6e096420, 0x31553: 0x6e096620,\n\t0x31554: 0x6e096820, 0x31555: 0x6e096a20, 0x31556: 0x6e096c20, 0x31557: 0x6e096e20,\n\t0x31558: 0x6e097020, 0x31559: 0x6e097220, 0x3155a: 0x6e097420, 0x3155b: 0x6e097620,\n\t0x3155c: 0x6e194620, 0x3155d: 0x6e194820, 0x3155e: 0x6e194a20, 0x3155f: 0x6e194c20,\n\t0x31560: 0x6e097820, 0x31561: 0x6e194e20, 0x31562: 0x6e195020, 0x31563: 0x6e195220,\n\t0x31564: 0x6e195420, 0x31565: 0x6e195620, 0x31566: 0x6e195820, 0x31567: 0x6e195a20,\n\t0x31568: 0x6e195c20, 0x31569: 0x6e195e20, 0x3156a: 0x6e196020, 0x3156b: 0x6e196220,\n\t0x3156c: 0x6e196420, 0x3156d: 0x6e196620, 0x3156e: 0x6e196820, 0x3156f: 0x6e196a20,\n\t0x31570: 0x6e196c20, 0x31571: 0x6e25de20, 0x31572: 0x6e25e020, 0x31573: 0x6e25e220,\n\t0x31574: 0x6e25e420, 0x31575: 0x6e25e620, 0x31576: 0x6e25e820, 0x31577: 0x6e25ea20,\n\t0x31578: 0x6e25ec20, 0x31579: 0x6e25ee20, 0x3157a: 0x6e25f020, 0x3157b: 0x6e25f220,\n\t0x3157c: 0x6e25f420, 0x3157d: 0x6e25f620, 0x3157e: 0x6e25f820, 0x3157f: 0x6e25fa20,\n\t// Block 0xc56, offset 0x31580\n\t0x31580: 0x6e09e620, 0x31581: 0x6e25fc20, 0x31582: 0x6e25fe20, 0x31583: 0x6e260020,\n\t0x31584: 0x6e260220, 0x31585: 0x6e260420, 0x31586: 0x6e260620, 0x31587: 0x6e260820,\n\t0x31588: 0x6e260a20, 0x31589: 0x6e267220, 0x3158a: 0x6e2f5620, 0x3158b: 0x6e2f5820,\n\t0x3158c: 0x6e2f5a20, 0x3158d: 0x6e2f5c20, 0x3158e: 0x6e2f5e20, 0x3158f: 0x6e2f6020,\n\t0x31590: 0x6e2f6220, 0x31591: 0x6e2f6420, 0x31592: 0x6e2f6620, 0x31593: 0x6e2f6820,\n\t0x31594: 0x6e2f6a20, 0x31595: 0x6e2f6c20, 0x31596: 0x6e2f6e20, 0x31597: 0x6e2f7020,\n\t0x31598: 0x6e2f7220, 0x31599: 0x6e2f7420, 0x3159a: 0x6e2f7620, 0x3159b: 0x6e2f7820,\n\t0x3159c: 0x6e36a620, 0x3159d: 0x6e36a820, 0x3159e: 0x6e36aa20, 0x3159f: 0x6e36ac20,\n\t0x315a0: 0x6e36ae20, 0x315a1: 0x6e36b020, 0x315a2: 0x6e36b220, 0x315a3: 0x6e36b420,\n\t0x315a4: 0x6e36b620, 0x315a5: 0x6e36b820, 0x315a6: 0x6e36ba20, 0x315a7: 0x6e36bc20,\n\t0x315a8: 0x6e3bac20, 0x315a9: 0x6e36be20, 0x315aa: 0x6e2fda20, 0x315ab: 0x6e36c020,\n\t0x315ac: 0x6e3bae20, 0x315ad: 0x6e3bb020, 0x315ae: 0x6e3bb220, 0x315af: 0x6e3bb420,\n\t0x315b0: 0x6e371420, 0x315b1: 0x6e3f5420, 0x315b2: 0x6e3f5620, 0x315b3: 0x6e3f5820,\n\t0x315b4: 0x6e3f5a20, 0x315b5: 0x6e3f5c20, 0x315b6: 0x6e3f5e20, 0x315b7: 0x6e41da20,\n\t0x315b8: 0x6e41dc20, 0x315b9: 0x6e44d220, 0x315ba: 0x6e458220, 0x315bb: 0x6e469a20,\n\t0x315bc: 0x6c42dc20, 0x315bd: 0x6c8ac020, 0x315be: 0x6cb74a20, 0x315bf: 0x6ce86e20,\n\t// Block 0xc57, offset 0x315c0\n\t0x315c0: 0x6ce87020, 0x315c1: 0x6ce87220, 0x315c2: 0x6ce87420, 0x315c3: 0x6ce87620,\n\t0x315c4: 0x6d17e020, 0x315c5: 0x6d17e220, 0x315c6: 0x6d17e420, 0x315c7: 0x6d17e620,\n\t0x315c8: 0x6d17e820, 0x315c9: 0x6d17ea20, 0x315ca: 0x6d17ec20, 0x315cb: 0x6d17ee20,\n\t0x315cc: 0x6d17f020, 0x315cd: 0x6d17f220, 0x315ce: 0x6d17f420, 0x315cf: 0x6d17f620,\n\t0x315d0: 0x6d17f820, 0x315d1: 0x6d46b620, 0x315d2: 0x6d46b820, 0x315d3: 0x6d46ba20,\n\t0x315d4: 0x6d46bc20, 0x315d5: 0x6d46be20, 0x315d6: 0x6d46c020, 0x315d7: 0x6d46c220,\n\t0x315d8: 0x6d46c420, 0x315d9: 0x6d46c620, 0x315da: 0x6d46c820, 0x315db: 0x6d46ca20,\n\t0x315dc: 0x6d46cc20, 0x315dd: 0x6d46ce20, 0x315de: 0x6d46d020, 0x315df: 0x6d46d220,\n\t0x315e0: 0x6d740c20, 0x315e1: 0x6d740e20, 0x315e2: 0x6d741020, 0x315e3: 0x6d741220,\n\t0x315e4: 0x6d741420, 0x315e5: 0x6d741620, 0x315e6: 0x6d741820, 0x315e7: 0x6d741a20,\n\t0x315e8: 0x6d741c20, 0x315e9: 0x6d741e20, 0x315ea: 0x6d742020, 0x315eb: 0x6d742220,\n\t0x315ec: 0x6d742420, 0x315ed: 0x6d9db020, 0x315ee: 0x6d9db220, 0x315ef: 0x6d9db420,\n\t0x315f0: 0x6d9db620, 0x315f1: 0x6d9db820, 0x315f2: 0x6d9dba20, 0x315f3: 0x6d9dbc20,\n\t0x315f4: 0x6d9dbe20, 0x315f5: 0x6d9dc020, 0x315f6: 0x6d9dc220, 0x315f7: 0x6d9dc420,\n\t0x315f8: 0x6d9dc620, 0x315f9: 0x6d9dc820, 0x315fa: 0x6d9dca20, 0x315fb: 0x6d9dcc20,\n\t0x315fc: 0x6dc03c20, 0x315fd: 0x6dc03e20, 0x315fe: 0x6dc06820, 0x315ff: 0x6dc04020,\n\t// Block 0xc58, offset 0x31600\n\t0x31600: 0x6dc04220, 0x31601: 0x6dc04420, 0x31602: 0x6dc04620, 0x31603: 0x6dc04820,\n\t0x31604: 0x6dc04a20, 0x31605: 0x6dc04c20, 0x31606: 0x6dc04e20, 0x31607: 0x6dc05020,\n\t0x31608: 0x6dc05220, 0x31609: 0x6dc05420, 0x3160a: 0x6dc05620, 0x3160b: 0x6dc05820,\n\t0x3160c: 0x6dde2e20, 0x3160d: 0x6dde3020, 0x3160e: 0x6dde3220, 0x3160f: 0x6dde3420,\n\t0x31610: 0x6dde3620, 0x31611: 0x6dde3820, 0x31612: 0x6dde3a20, 0x31613: 0x6df61e20,\n\t0x31614: 0x6df62020, 0x31615: 0x6df62220, 0x31616: 0x6df62420, 0x31617: 0x6df62620,\n\t0x31618: 0x6df62820, 0x31619: 0x6df62a20, 0x3161a: 0x6df62c20, 0x3161b: 0x6df62e20,\n\t0x3161c: 0x6e09ec20, 0x3161d: 0x6e09ee20, 0x3161e: 0x6e09f020, 0x3161f: 0x6e09f220,\n\t0x31620: 0x6e19f820, 0x31621: 0x6e19fa20, 0x31622: 0x6e19fc20, 0x31623: 0x6e19fe20,\n\t0x31624: 0x6e267420, 0x31625: 0x6cb75220, 0x31626: 0x6ce88620, 0x31627: 0x6d180820,\n\t0x31628: 0x6d180a20, 0x31629: 0x6d180c20, 0x3162a: 0x6d180e20, 0x3162b: 0x6d181020,\n\t0x3162c: 0x6c63ac20, 0x3162d: 0x6d181220, 0x3162e: 0x6d181420, 0x3162f: 0x6d181620,\n\t0x31630: 0x6d181820, 0x31631: 0x6d46f420, 0x31632: 0x6d46f620, 0x31633: 0x6d46f820,\n\t0x31634: 0x6d46fa20, 0x31635: 0x6d46fc20, 0x31636: 0x6d46fe20, 0x31637: 0x6d745020,\n\t0x31638: 0x6d745220, 0x31639: 0x6d745420, 0x3163a: 0x6d745620, 0x3163b: 0x6d745820,\n\t0x3163c: 0x6d745a20, 0x3163d: 0x6d745c20, 0x3163e: 0x6d745e20, 0x3163f: 0x6d746020,\n\t// Block 0xc59, offset 0x31640\n\t0x31640: 0x6d746220, 0x31641: 0x6d746420, 0x31642: 0x6d746620, 0x31643: 0x6d746820,\n\t0x31644: 0x6d746a20, 0x31645: 0x6d746c20, 0x31646: 0x6d746e20, 0x31647: 0x6d747020,\n\t0x31648: 0x6d747220, 0x31649: 0x6d747420, 0x3164a: 0x6d9e0620, 0x3164b: 0x6d747620,\n\t0x3164c: 0x6d747820, 0x3164d: 0x6d747a20, 0x3164e: 0x6d747c20, 0x3164f: 0x6d9e0820,\n\t0x31650: 0x6d9e0a20, 0x31651: 0x6d9e0c20, 0x31652: 0x6d9e0e20, 0x31653: 0x6d9e1020,\n\t0x31654: 0x6d9e1220, 0x31655: 0x6d9e1420, 0x31656: 0x6d9e1620, 0x31657: 0x6d9e1820,\n\t0x31658: 0x6d9e1a20, 0x31659: 0x6d9e1c20, 0x3165a: 0x6d9e1e20, 0x3165b: 0x6d9e2020,\n\t0x3165c: 0x6dc06a20, 0x3165d: 0x6d9e2220, 0x3165e: 0x6d9e2420, 0x3165f: 0x6d9e2620,\n\t0x31660: 0x6d9e2820, 0x31661: 0x6d9e2a20, 0x31662: 0x6d9e2c20, 0x31663: 0x6d9e2e20,\n\t0x31664: 0x6d9e3020, 0x31665: 0x6d9e3220, 0x31666: 0x6d9e3420, 0x31667: 0x6d9e3620,\n\t0x31668: 0x6d9e3820, 0x31669: 0x6d9e3a20, 0x3166a: 0x6d9e3c20, 0x3166b: 0x6d9e3e20,\n\t0x3166c: 0x6d9e4020, 0x3166d: 0x6dc08020, 0x3166e: 0x6dc08220, 0x3166f: 0x6dc08420,\n\t0x31670: 0x6dc08620, 0x31671: 0x6dc08820, 0x31672: 0x6dc08a20, 0x31673: 0x6dc08c20,\n\t0x31674: 0x6dc08e20, 0x31675: 0x6dc09020, 0x31676: 0x6dc09220, 0x31677: 0x6dc09420,\n\t0x31678: 0x6dc09620, 0x31679: 0x6dc09820, 0x3167a: 0x6dc09a20, 0x3167b: 0x6dc09c20,\n\t0x3167c: 0x6dc09e20, 0x3167d: 0x6dc0a020, 0x3167e: 0x6dc0a220, 0x3167f: 0x6dc0a420,\n\t// Block 0xc5a, offset 0x31680\n\t0x31680: 0x6dc0a620, 0x31681: 0x6dc0a820, 0x31682: 0x6dc0aa20, 0x31683: 0x6dc0ac20,\n\t0x31684: 0x6dc0ae20, 0x31685: 0x6dc0b020, 0x31686: 0x6dc0b220, 0x31687: 0x6dc0b420,\n\t0x31688: 0x6dc0b620, 0x31689: 0x6dc0b820, 0x3168a: 0x6dde4e20, 0x3168b: 0x6dde5020,\n\t0x3168c: 0x6dde5220, 0x3168d: 0x6dde5420, 0x3168e: 0x6dde5620, 0x3168f: 0x6dde5820,\n\t0x31690: 0x6dde5a20, 0x31691: 0x6dde5c20, 0x31692: 0x6dde5e20, 0x31693: 0x6dde6020,\n\t0x31694: 0x6dde6220, 0x31695: 0x6dde6420, 0x31696: 0x6dde6620, 0x31697: 0x6dde6820,\n\t0x31698: 0x6dde6a20, 0x31699: 0x6dde6c20, 0x3169a: 0x6dde6e20, 0x3169b: 0x6dde7020,\n\t0x3169c: 0x6dde7220, 0x3169d: 0x6dde7420, 0x3169e: 0x6dde7620, 0x3169f: 0x6dde7820,\n\t0x316a0: 0x6dde7a20, 0x316a1: 0x6df63820, 0x316a2: 0x6dde7c20, 0x316a3: 0x6dde7e20,\n\t0x316a4: 0x6dd43a20, 0x316a5: 0x6dde8020, 0x316a6: 0x6df64c20, 0x316a7: 0x6dc13220,\n\t0x316a8: 0x6df64e20, 0x316a9: 0x6df65020, 0x316aa: 0x6df65220, 0x316ab: 0x6df65420,\n\t0x316ac: 0x6df65620, 0x316ad: 0x6df65820, 0x316ae: 0x6df65a20, 0x316af: 0x6df65c20,\n\t0x316b0: 0x6df65e20, 0x316b1: 0x6df66020, 0x316b2: 0x6df66220, 0x316b3: 0x6df66420,\n\t0x316b4: 0x6df66620, 0x316b5: 0x6df66820, 0x316b6: 0x6df66a20, 0x316b7: 0x6df66c20,\n\t0x316b8: 0x6df66e20, 0x316b9: 0x6df67020, 0x316ba: 0x6df67220, 0x316bb: 0x6df67420,\n\t0x316bc: 0x6df67620, 0x316bd: 0x6df67820, 0x316be: 0x6df67a20, 0x316bf: 0x6df67c20,\n\t// Block 0xc5b, offset 0x316c0\n\t0x316c0: 0x6df67e20, 0x316c1: 0x6df68020, 0x316c2: 0x6df68220, 0x316c3: 0x6df68420,\n\t0x316c4: 0x6df68620, 0x316c5: 0x6df68820, 0x316c6: 0x6df68a20, 0x316c7: 0x6df68c20,\n\t0x316c8: 0x6df68e20, 0x316c9: 0x6df69020, 0x316ca: 0x6df69220, 0x316cb: 0x6df69420,\n\t0x316cc: 0x6df69620, 0x316cd: 0x6df69820, 0x316ce: 0x6df69a20, 0x316cf: 0x6df69c20,\n\t0x316d0: 0x6e0a0e20, 0x316d1: 0x6df69e20, 0x316d2: 0x6e0a1020, 0x316d3: 0x6e0a1220,\n\t0x316d4: 0x6e0a1420, 0x316d5: 0x6e0a1620, 0x316d6: 0x6e0a1820, 0x316d7: 0x6e0a1a20,\n\t0x316d8: 0x6e0a1c20, 0x316d9: 0x6e0a1e20, 0x316da: 0x6e0a2020, 0x316db: 0x6e0a2220,\n\t0x316dc: 0x6e0a2420, 0x316dd: 0x6e0a2620, 0x316de: 0x6e0a2820, 0x316df: 0x6e0a2a20,\n\t0x316e0: 0x6e0a2c20, 0x316e1: 0x6e0a2e20, 0x316e2: 0x6e0a3020, 0x316e3: 0x6e0a3220,\n\t0x316e4: 0x6e0a3420, 0x316e5: 0x6e0a3620, 0x316e6: 0x6e0a3820, 0x316e7: 0x6e0a3a20,\n\t0x316e8: 0x6e0a3c20, 0x316e9: 0x6e0a3e20, 0x316ea: 0x6e0a4020, 0x316eb: 0x6e0a4220,\n\t0x316ec: 0x6e1a1020, 0x316ed: 0x6e1a1220, 0x316ee: 0x6e1a1420, 0x316ef: 0x6e1a1620,\n\t0x316f0: 0x6e1a1820, 0x316f1: 0x6e1a1a20, 0x316f2: 0x6e1a1c20, 0x316f3: 0x6e1a1e20,\n\t0x316f4: 0x6e1a2020, 0x316f5: 0x6e1a2220, 0x316f6: 0x6e1a2420, 0x316f7: 0x6e1a2620,\n\t0x316f8: 0x6e1a2820, 0x316f9: 0x6e1a2a20, 0x316fa: 0x6e1a2c20, 0x316fb: 0x6e1a2e20,\n\t0x316fc: 0x6e1a3020, 0x316fd: 0x6e1a3220, 0x316fe: 0x6e1a3420, 0x316ff: 0x6e0ad220,\n\t// Block 0xc5c, offset 0x31700\n\t0x31700: 0x6e1a3620, 0x31701: 0x6e1a3820, 0x31702: 0x6e1a3a20, 0x31703: 0x6e1a3c20,\n\t0x31704: 0x6e1a3e20, 0x31705: 0x6e1a4020, 0x31706: 0x6e1a4220, 0x31707: 0x6e1a4420,\n\t0x31708: 0x6e1a4620, 0x31709: 0x6e1a4820, 0x3170a: 0x6e1a4a20, 0x3170b: 0x6e268620,\n\t0x3170c: 0x6e1a4c20, 0x3170d: 0x6e1a4e20, 0x3170e: 0x6e1a5020, 0x3170f: 0x6e1a5220,\n\t0x31710: 0x6e268820, 0x31711: 0x6e268a20, 0x31712: 0x6e268c20, 0x31713: 0x6e268e20,\n\t0x31714: 0x6e269020, 0x31715: 0x6e269220, 0x31716: 0x6e269420, 0x31717: 0x6e269620,\n\t0x31718: 0x6e269820, 0x31719: 0x6e269a20, 0x3171a: 0x6e269c20, 0x3171b: 0x6e269e20,\n\t0x3171c: 0x6e26a020, 0x3171d: 0x6e26a220, 0x3171e: 0x6e26a420, 0x3171f: 0x6e26a620,\n\t0x31720: 0x6e260c20, 0x31721: 0x6e2ff220, 0x31722: 0x6e2ff420, 0x31723: 0x6e2ff620,\n\t0x31724: 0x6e2ff820, 0x31725: 0x6e2ffa20, 0x31726: 0x6e2ffc20, 0x31727: 0x6e2ffe20,\n\t0x31728: 0x6e300020, 0x31729: 0x6e273020, 0x3172a: 0x6e300220, 0x3172b: 0x6e300420,\n\t0x3172c: 0x6e300620, 0x3172d: 0x6e300820, 0x3172e: 0x6e300a20, 0x3172f: 0x6e300c20,\n\t0x31730: 0x6e300e20, 0x31731: 0x6e301020, 0x31732: 0x6e301220, 0x31733: 0x6e301420,\n\t0x31734: 0x6e301620, 0x31735: 0x6e273220, 0x31736: 0x6e301820, 0x31737: 0x6e301a20,\n\t0x31738: 0x6e301c20, 0x31739: 0x6e372220, 0x3173a: 0x6e371620, 0x3173b: 0x6e301e20,\n\t0x3173c: 0x6e302020, 0x3173d: 0x6e372420, 0x3173e: 0x6e372620, 0x3173f: 0x6e372820,\n\t// Block 0xc5d, offset 0x31740\n\t0x31740: 0x6e372a20, 0x31741: 0x6e372c20, 0x31742: 0x6e372e20, 0x31743: 0x6e373020,\n\t0x31744: 0x6e373220, 0x31745: 0x6e373420, 0x31746: 0x6e373620, 0x31747: 0x6e373820,\n\t0x31748: 0x6e373a20, 0x31749: 0x6e373c20, 0x3174a: 0x6e373e20, 0x3174b: 0x6e3bea20,\n\t0x3174c: 0x6e3bec20, 0x3174d: 0x6e3bee20, 0x3174e: 0x6e3bf020, 0x3174f: 0x6e3bf220,\n\t0x31750: 0x6e3bf420, 0x31751: 0x6e3bf620, 0x31752: 0x6e3bf820, 0x31753: 0x6e3f8820,\n\t0x31754: 0x6e3f8a20, 0x31755: 0x6e41fa20, 0x31756: 0x6e41fc20, 0x31757: 0x6e41fe20,\n\t0x31758: 0x6e43c020, 0x31759: 0x6e43c220, 0x3175a: 0x6e43c420, 0x3175b: 0x6e44e620,\n\t0x3175c: 0x6e44e820, 0x3175d: 0x6e458c20, 0x3175e: 0x6e458e20, 0x3175f: 0x6c0ac820,\n\t0x31760: 0x6c28a620, 0x31761: 0x6c28a820, 0x31762: 0x6c42de20, 0x31763: 0x6c42e020,\n\t0x31764: 0x6c42e220, 0x31765: 0x6c63ae20, 0x31766: 0x6c63b020, 0x31767: 0x6c63b220,\n\t0x31768: 0x6c63b420, 0x31769: 0x6c63b620, 0x3176a: 0x6c8ac420, 0x3176b: 0x6c8ac620,\n\t0x3176c: 0x6c8ac820, 0x3176d: 0x6c8aca20, 0x3176e: 0x6c8acc20, 0x3176f: 0x6c8ace20,\n\t0x31770: 0x6c8ad020, 0x31771: 0x6c8ad220, 0x31772: 0x6c8ad420, 0x31773: 0x6c8ad620,\n\t0x31774: 0x6c8ad820, 0x31775: 0x6c8ada20, 0x31776: 0x6c8adc20, 0x31777: 0x6cb75620,\n\t0x31778: 0x6cb75820, 0x31779: 0x6cb75a20, 0x3177a: 0x6cb75c20, 0x3177b: 0x6cb75e20,\n\t0x3177c: 0x6cb76020, 0x3177d: 0x6cb76220, 0x3177e: 0x6cb76420, 0x3177f: 0x6cb76620,\n\t// Block 0xc5e, offset 0x31780\n\t0x31780: 0x6ce89020, 0x31781: 0x6ce89220, 0x31782: 0x6ce89420, 0x31783: 0x6ce89620,\n\t0x31784: 0x6ce89820, 0x31785: 0x6ce89a20, 0x31786: 0x6ce89c20, 0x31787: 0x6ce89e20,\n\t0x31788: 0x6ce8a020, 0x31789: 0x6d183020, 0x3178a: 0x6d183220, 0x3178b: 0x6d183420,\n\t0x3178c: 0x6d183620, 0x3178d: 0x6d183820, 0x3178e: 0x6d183a20, 0x3178f: 0x6d183c20,\n\t0x31790: 0x6d183e20, 0x31791: 0x6d184020, 0x31792: 0x6d184220, 0x31793: 0x6d184420,\n\t0x31794: 0x6d184620, 0x31795: 0x6d472620, 0x31796: 0x6d472820, 0x31797: 0x6d472a20,\n\t0x31798: 0x6d74e020, 0x31799: 0x6d472c20, 0x3179a: 0x6d472e20, 0x3179b: 0x6d473020,\n\t0x3179c: 0x6d473220, 0x3179d: 0x6d74e220, 0x3179e: 0x6d74e420, 0x3179f: 0x6d74e620,\n\t0x317a0: 0x6d74e820, 0x317a1: 0x6d74ea20, 0x317a2: 0x6d74ec20, 0x317a3: 0x6d74ee20,\n\t0x317a4: 0x6d74f020, 0x317a5: 0x6d9eba20, 0x317a6: 0x6d9ebc20, 0x317a7: 0x6d9ebe20,\n\t0x317a8: 0x6d9ec020, 0x317a9: 0x6dc13820, 0x317aa: 0x6dc13a20, 0x317ab: 0x6dc13c20,\n\t0x317ac: 0x6dc13e20, 0x317ad: 0x6ddee620, 0x317ae: 0x6ddee820, 0x317af: 0x6ddeea20,\n\t0x317b0: 0x6ddeec20, 0x317b1: 0x6df73020, 0x317b2: 0x6df73220, 0x317b3: 0x6e273420,\n\t0x317b4: 0x6e273620, 0x317b5: 0x6cb78220, 0x317b6: 0x6d750020, 0x317b7: 0x6d9eca20,\n\t0x317b8: 0x6df73620, 0x317b9: 0x6e0ad820, 0x317ba: 0x6e1ac620, 0x317bb: 0x6e1ac820,\n\t0x317bc: 0x6e378c20, 0x317bd: 0x6e378e20, 0x317be: 0x6d9ed820, 0x317bf: 0x6cb78620,\n\t// Block 0xc5f, offset 0x317c0\n\t0x317c0: 0x6d185620, 0x317c1: 0x6d185820, 0x317c2: 0x6d185a20, 0x317c3: 0x6d751220,\n\t0x317c4: 0x6d751420, 0x317c5: 0x6d9ee220, 0x317c6: 0x6d9ee420, 0x317c7: 0x6d9ee620,\n\t0x317c8: 0x6d9ee820, 0x317c9: 0x6dc14820, 0x317ca: 0x6dc14a20, 0x317cb: 0x6dc14c20,\n\t0x317cc: 0x6ddefc20, 0x317cd: 0x6ddefe20, 0x317ce: 0x6ddf0020, 0x317cf: 0x6ddf0220,\n\t0x317d0: 0x6ddf0420, 0x317d1: 0x6df74820, 0x317d2: 0x6df74a20, 0x317d3: 0x6df74c20,\n\t0x317d4: 0x6df74e20, 0x317d5: 0x6df75020, 0x317d6: 0x6df75220, 0x317d7: 0x6df75420,\n\t0x317d8: 0x6e0aec20, 0x317d9: 0x6e0aee20, 0x317da: 0x6e0af020, 0x317db: 0x6e0af220,\n\t0x317dc: 0x6e1ad620, 0x317dd: 0x6e1ad820, 0x317de: 0x6e274420, 0x317df: 0x6e30b220,\n\t0x317e0: 0x6e379a20, 0x317e1: 0x6e3c3820, 0x317e2: 0x6e43e220, 0x317e3: 0x6e460a20,\n\t0x317e4: 0x6e46a220, 0x317e5: 0x6cb78a20, 0x317e6: 0x6c28aa20, 0x317e7: 0x6d475620,\n\t0x317e8: 0x6d753420, 0x317e9: 0x6d753620, 0x317ea: 0x6d753820, 0x317eb: 0x6d753a20,\n\t0x317ec: 0x6d9f0620, 0x317ed: 0x6d9f0820, 0x317ee: 0x6d9f0a20, 0x317ef: 0x6dc17020,\n\t0x317f0: 0x6dc17220, 0x317f1: 0x6ddf2e20, 0x317f2: 0x6ddf3020, 0x317f3: 0x6df77420,\n\t0x317f4: 0x6df77620, 0x317f5: 0x6e0b0620, 0x317f6: 0x6e275620, 0x317f7: 0x6e44fe20,\n\t0x317f8: 0x6cb78c20, 0x317f9: 0x6d755a20, 0x317fa: 0x6d9f2620, 0x317fb: 0x6cb79420,\n\t0x317fc: 0x6d476420, 0x317fd: 0x6d476620, 0x317fe: 0x6d756420, 0x317ff: 0x6ddf5220,\n\t// Block 0xc60, offset 0x31800\n\t0x31800: 0x6df79a20, 0x31801: 0x6e0b2a20, 0x31802: 0x6e30dc20, 0x31803: 0x6ce8b420,\n\t0x31804: 0x6ce8b620, 0x31805: 0x6d9f3420, 0x31806: 0x6d9f3620, 0x31807: 0x6dc19420,\n\t0x31808: 0x6dc19620, 0x31809: 0x6dc19820, 0x3180a: 0x6ddf5a20, 0x3180b: 0x6ddf5c20,\n\t0x3180c: 0x6e3c4c20, 0x3180d: 0x6ce8b820, 0x3180e: 0x6d758020, 0x3180f: 0x6dc1a820,\n\t0x31810: 0x6e278420, 0x31811: 0x6ce8ba20, 0x31812: 0x6cb79620, 0x31813: 0x6d758a20,\n\t0x31814: 0x6d9f4c20, 0x31815: 0x6d9f4e20, 0x31816: 0x6d9f5020, 0x31817: 0x6d9f5220,\n\t0x31818: 0x6d9f5420, 0x31819: 0x6d585420, 0x3181a: 0x6dc1c220, 0x3181b: 0x6dc1c420,\n\t0x3181c: 0x6dc1c620, 0x3181d: 0x6dc1c820, 0x3181e: 0x6dc1ca20, 0x3181f: 0x6ddf7220,\n\t0x31820: 0x6ddf7420, 0x31821: 0x6ddf7620, 0x31822: 0x6df7c620, 0x31823: 0x6df7c820,\n\t0x31824: 0x6e0b5420, 0x31825: 0x6e0b5620, 0x31826: 0x6e0b5820, 0x31827: 0x6e0b5a20,\n\t0x31828: 0x6e0b5c20, 0x31829: 0x6e0b5e20, 0x3182a: 0x6e0b6020, 0x3182b: 0x6e1b2020,\n\t0x3182c: 0x6e1b2220, 0x3182d: 0x6e1b2420, 0x3182e: 0x6e1b2620, 0x3182f: 0x6e1b2820,\n\t0x31830: 0x6e278820, 0x31831: 0x6e278a20, 0x31832: 0x6e30f220, 0x31833: 0x6e30f420,\n\t0x31834: 0x6e30f620, 0x31835: 0x6e3c5820, 0x31836: 0x6e3fc820, 0x31837: 0x6e423420,\n\t0x31838: 0x6e43f420, 0x31839: 0x6ce8be20, 0x3183a: 0x6d9f7220, 0x3183b: 0x6dc1e620,\n\t0x3183c: 0x6df7e020, 0x3183d: 0x6d187420, 0x3183e: 0x6c42e420, 0x3183f: 0x6dc1e820,\n\t// Block 0xc61, offset 0x31840\n\t0x31840: 0x6ddf8e20, 0x31841: 0x6ddf9020, 0x31842: 0x6ddf9220, 0x31843: 0x6df7e420,\n\t0x31844: 0x6df7e620, 0x31845: 0x6e1b6620, 0x31846: 0x6e310c20, 0x31847: 0x6e310e20,\n\t0x31848: 0x6e3c7020, 0x31849: 0x6e3c7220, 0x3184a: 0x6e3fd420, 0x3184b: 0x6ce8c020,\n\t0x3184c: 0x6d187620, 0x3184d: 0x6e0b9620, 0x3184e: 0x6d187820, 0x3184f: 0x6d75a020,\n\t0x31850: 0x6d75a220, 0x31851: 0x6d75a420, 0x31852: 0x6d9f7820, 0x31853: 0x6d187a20,\n\t0x31854: 0x6d187c20, 0x31855: 0x6ddfaa20, 0x31856: 0x6ddfac20, 0x31857: 0x6df7f820,\n\t0x31858: 0x6e1b6e20, 0x31859: 0x6e1b7020, 0x3185a: 0x6e1b7220, 0x3185b: 0x6e1b7420,\n\t0x3185c: 0x6e311420, 0x3185d: 0x6e3c7a20, 0x3185e: 0x6e37ec20, 0x3185f: 0x6e3c7c20,\n\t0x31860: 0x6d188020, 0x31861: 0x6c42e620, 0x31862: 0x6dc20220, 0x31863: 0x6dc20420,\n\t0x31864: 0x6dc20620, 0x31865: 0x6ddfb820, 0x31866: 0x6ddfba20, 0x31867: 0x6ddfbc20,\n\t0x31868: 0x6ddfbe20, 0x31869: 0x6ddfc020, 0x3186a: 0x6ddfc220, 0x3186b: 0x6ddfc420,\n\t0x3186c: 0x6ddfc620, 0x3186d: 0x6df80c20, 0x3186e: 0x6e0ba420, 0x3186f: 0x6e0ba620,\n\t0x31870: 0x6e0ba820, 0x31871: 0x6e1b8020, 0x31872: 0x6e27d820, 0x31873: 0x6e27da20,\n\t0x31874: 0x6e27dc20, 0x31875: 0x6e27de20, 0x31876: 0x6e311c20, 0x31877: 0x6e311e20,\n\t0x31878: 0x6e312020, 0x31879: 0x6e312220, 0x3187a: 0x6e440020, 0x3187b: 0x6d478020,\n\t0x3187c: 0x6d9f8820, 0x3187d: 0x6d9f8a20, 0x3187e: 0x6dc22020, 0x3187f: 0x6dc22220,\n\t// Block 0xc62, offset 0x31880\n\t0x31880: 0x6df82220, 0x31881: 0x6df82420, 0x31882: 0x6e27f420, 0x31883: 0x6e313820,\n\t0x31884: 0x6e313a20, 0x31885: 0x6e380020, 0x31886: 0x6e380220, 0x31887: 0x6e3c9220,\n\t0x31888: 0x6e424e20, 0x31889: 0x6e46fc20, 0x3188a: 0x6d478220, 0x3188b: 0x6dc22c20,\n\t0x3188c: 0x6ddfec20, 0x3188d: 0x6df83420, 0x3188e: 0x6e1b9a20, 0x3188f: 0x6e314420,\n\t0x31890: 0x6c15e220, 0x31891: 0x6d75b420, 0x31892: 0x6d75b620, 0x31893: 0x6d9f9220,\n\t0x31894: 0x6dc23020, 0x31895: 0x6ddff620, 0x31896: 0x6df83e20, 0x31897: 0x6df84020,\n\t0x31898: 0x6df84220, 0x31899: 0x6e0bda20, 0x3189a: 0x6e0bdc20, 0x3189b: 0x6e0bde20,\n\t0x3189c: 0x6e1b9e20, 0x3189d: 0x6e0be020, 0x3189e: 0x6e0be220, 0x3189f: 0x6e0be420,\n\t0x318a0: 0x6e0be620, 0x318a1: 0x6e0be820, 0x318a2: 0x6dc23a20, 0x318a3: 0x6e0bea20,\n\t0x318a4: 0x6e1ba420, 0x318a5: 0x6e1ba620, 0x318a6: 0x6e1ba820, 0x318a7: 0x6e1baa20,\n\t0x318a8: 0x6e1bac20, 0x318a9: 0x6e1bae20, 0x318aa: 0x6e280020, 0x318ab: 0x6e280220,\n\t0x318ac: 0x6e280420, 0x318ad: 0x6e314a20, 0x318ae: 0x6e314c20, 0x318af: 0x6e314e20,\n\t0x318b0: 0x6e315020, 0x318b1: 0x6e315220, 0x318b2: 0x6e381220, 0x318b3: 0x6e381420,\n\t0x318b4: 0x6e381620, 0x318b5: 0x6e381820, 0x318b6: 0x6e381a20, 0x318b7: 0x6e381c20,\n\t0x318b8: 0x6e3ca820, 0x318b9: 0x6e3caa20, 0x318ba: 0x6e3cac20, 0x318bb: 0x6e3cae20,\n\t0x318bc: 0x6e440620, 0x318bd: 0x6e440820, 0x318be: 0x6e46dc20, 0x318bf: 0x6c42e820,\n\t// Block 0xc63, offset 0x318c0\n\t0x318c0: 0x6c8aee20, 0x318c1: 0x6cb79820, 0x318c2: 0x6ce8c420, 0x318c3: 0x6d188220,\n\t0x318c4: 0x6d188420, 0x318c5: 0x6d188620, 0x318c6: 0x6d188820, 0x318c7: 0x6d478620,\n\t0x318c8: 0x6d478820, 0x318c9: 0x6d75ba20, 0x318ca: 0x6d75bc20, 0x318cb: 0x6dc23c20,\n\t0x318cc: 0x6dc23e20, 0x318cd: 0x6d9f9c20, 0x318ce: 0x6de00020, 0x318cf: 0x6df85a20,\n\t0x318d0: 0x6de23620, 0x318d1: 0x6e0c1220, 0x318d2: 0x6e1be220, 0x318d3: 0x6e283820,\n\t0x318d4: 0x6e283a20, 0x318d5: 0x6e283c20, 0x318d6: 0x6e467820, 0x318d7: 0x6e46a820,\n\t0x318d8: 0x6e473c20, 0x318d9: 0x6c0aca20, 0x318da: 0x6cb79a20, 0x318db: 0x6cb79c20,\n\t0x318dc: 0x6d9f9e20, 0x318dd: 0x6e1bea20, 0x318de: 0x6e441620, 0x318df: 0x6c28ac20,\n\t0x318e0: 0x6dc24220, 0x318e1: 0x6e1c0020, 0x318e2: 0x6e284620, 0x318e3: 0x6e3cda20,\n\t0x318e4: 0x6e3ffc20, 0x318e5: 0x6e3ffe20, 0x318e6: 0x6d585620, 0x318e7: 0x6d7e6e20,\n\t0x318e8: 0x6c670020, 0x318e9: 0x6db26c20, 0x318ea: 0x6c610620, 0x318eb: 0x6ce29e20,\n\t0x318ec: 0x6d974220, 0x318ed: 0x6e186020, 0x318ee: 0x6e41aa20, 0x318ef: 0x6d135620,\n\t0x318f0: 0x6c04aa20, 0x318f1: 0x6c079420, 0x318f2: 0x6dd85820, 0x318f3: 0x6d789a20,\n\t0x318f4: 0x6c006420, 0x318f5: 0x6c01f820, 0x318f6: 0x6c03d220, 0x318f7: 0x6c0a5820,\n\t0x318f8: 0x6c083c20, 0x318f9: 0x6c0c7020, 0x318fa: 0x6c2bb820, 0x318fb: 0x6ded8620,\n\t0x318fc: 0x6da1a620, 0x318fd: 0x6d585820, 0x318fe: 0x6d00ea20, 0x318ff: 0x6cae1c20,\n\t// Block 0xc64, offset 0x31900\n\t0x31900: 0x6e134020, 0x31901: 0x6d0e4820, 0x31902: 0x6dd6dc20, 0x31903: 0x6cd37020,\n\t0x31904: 0x6c749620, 0x31905: 0x6daca820, 0x31906: 0x6c3cfa20, 0x31907: 0x6c29c820,\n\t0x31908: 0x6c1efa20, 0x31909: 0x6c1efc20, 0x3190a: 0x6cad0e20, 0x3190b: 0x6db51620,\n\t// Block 0xc65, offset 0x31940\n\t0x31940: 0x6c86d020, 0x31941: 0x6c219c20, 0x31942: 0x6c270e20, 0x31943: 0x6d0f3a20,\n\t0x31944: 0x6cfa9420, 0x31945: 0x6c160020, 0x31946: 0x6c073820, 0x31947: 0x6d9f9e20,\n\t0x31948: 0x6d9f9e20, 0x31949: 0x6c490c20, 0x3194a: 0x6c41dc20, 0x3194b: 0x6cbab020,\n\t0x3194c: 0x6c2eb020, 0x3194d: 0x6de28c20, 0x3194e: 0x6e102820, 0x3194f: 0x6de9ba20,\n\t0x31950: 0x6e2b8e20, 0x31951: 0x6db3f420, 0x31952: 0x6d3b6a20, 0x31953: 0x6e2d0820,\n\t0x31954: 0x6d540620, 0x31955: 0x6c542820, 0x31956: 0x6c782020, 0x31957: 0x6c79ee20,\n\t0x31958: 0x6d09ae20, 0x31959: 0x6d128020, 0x3195a: 0x6d9bda20, 0x3195b: 0x6ce8d220,\n\t0x3195c: 0x6c18d820, 0x3195d: 0x6e0e7820, 0x3195e: 0x6e0f8220, 0x3195f: 0x6e12b420,\n\t0x31960: 0x6e458e20, 0x31961: 0x6cc0c020, 0x31962: 0x6da7c620, 0x31963: 0x6dd18820,\n\t0x31964: 0x6e01ee20, 0x31965: 0x6c348020, 0x31966: 0x6dea2c20, 0x31967: 0x6e135e20,\n\t0x31968: 0x6cc21820, 0x31969: 0x6c73be20, 0x3196a: 0x6c769c20, 0x3196b: 0x6c795620,\n\t0x3196c: 0x6c620220, 0x3196d: 0x6c297820, 0x3196e: 0x6c179420, 0x3196f: 0x6cb9b220,\n\t0x31970: 0x6d7cd420, 0x31971: 0x6de3da20, 0x31972: 0x6dfc5620, 0x31973: 0x6d868620,\n\t0x31974: 0x6c144420, 0x31975: 0x6e008a20, 0x31976: 0x6d0bc020, 0x31977: 0x6d103820,\n\t0x31978: 0x6e16b020, 0x31979: 0x6d73ae20, 0x3197a: 0x6e371620, 0x3197b: 0x6d027820,\n\t0x3197c: 0x6d032420, 0x3197d: 0x6d33d820, 0x3197e: 0x6cdb3420, 0x3197f: 0x6d96bc20,\n\t// Block 0xc66, offset 0x31980\n\t0x31980: 0x6cb78620, 0x31981: 0x6d68ec20, 0x31982: 0x6de11020, 0x31983: 0x6c1e9220,\n\t0x31984: 0x6e1f9e20, 0x31985: 0x6e206020, 0x31986: 0x6c23f020, 0x31987: 0x6d5d2420,\n\t0x31988: 0x6d0f2e20, 0x31989: 0x6d152020, 0x3198a: 0x6dc3e620, 0x3198b: 0x6d1fe020,\n\t0x3198c: 0x6d542620, 0x3198d: 0x6c9f4220, 0x3198e: 0x6d295820, 0x3198f: 0x6ca91620,\n\t0x31990: 0x6daf5020, 0x31991: 0x6c62d820, 0x31992: 0x6c8d4420, 0x31993: 0x6c145c20,\n\t0x31994: 0x6d487e20, 0x31995: 0x6c65d820, 0x31996: 0x6d03ae20, 0x31997: 0x6d341420,\n\t0x31998: 0x6cdb8220, 0x31999: 0x6cb5fc20, 0x3199a: 0x6e21cc20, 0x3199b: 0x6c4ef420,\n\t0x3199c: 0x6d540620, 0x3199d: 0x6d927c20, 0x3199e: 0x6c024220, 0x3199f: 0x6d1f5620,\n\t0x319a0: 0x6c4d8620, 0x319a1: 0x6ca2d620, 0x319a2: 0x6ca3e620, 0x319a3: 0x6c06c620,\n\t0x319a4: 0x6dac3420, 0x319a5: 0x6c438020, 0x319a6: 0x6cc2d420, 0x319a7: 0x6c021a20,\n\t0x319a8: 0x6c38c420, 0x319a9: 0x6d527e20, 0x319aa: 0x6c803a20, 0x319ab: 0x6c8de620,\n\t0x319ac: 0x6ced8620, 0x319ad: 0x6c599e20, 0x319ae: 0x6d09c620, 0x319af: 0x6d3c9420,\n\t0x319b0: 0x6c9e2620, 0x319b1: 0x6c272020, 0x319b2: 0x6c22fc20, 0x319b3: 0x6c4f3820,\n\t0x319b4: 0x6c5eb420, 0x319b5: 0x6c997820, 0x319b6: 0x6ca3de20, 0x319b7: 0x6c433620,\n\t0x319b8: 0x6c2a4c20, 0x319b9: 0x6c65d220, 0x319ba: 0x6c9c8020, 0x319bb: 0x6dce7a20,\n\t0x319bc: 0x6c263620, 0x319bd: 0x6d68e420, 0x319be: 0x6ce47020, 0x319bf: 0x6da05e20,\n\t// Block 0xc67, offset 0x319c0\n\t0x319c0: 0x6c199220, 0x319c1: 0x6c019420, 0x319c2: 0x6de23220, 0x319c3: 0x6c72c420,\n\t0x319c4: 0x6dc8dc20, 0x319c5: 0x6dfe0220, 0x319c6: 0x6d6f2820, 0x319c7: 0x6e44c220,\n\t0x319c8: 0x6df75420, 0x319c9: 0x6d758020, 0x319ca: 0x6c00a820, 0x319cb: 0x6d7e5e20,\n\t0x319cc: 0x6d80f220, 0x319cd: 0x6e22bc20, 0x319ce: 0x6c10da20, 0x319cf: 0x6d4fbc20,\n\t0x319d0: 0x6e28d020, 0x319d1: 0x6d515420, 0x319d2: 0x6d297c20, 0x319d3: 0x6cfc0c20,\n\t0x319d4: 0x6d5a3c20, 0x319d5: 0x6c3d4620, 0x319d6: 0x6d60c620, 0x319d7: 0x6db0a020,\n\t0x319d8: 0x6d6bf020, 0x319d9: 0x6d642020, 0x319da: 0x6cb37e20, 0x319db: 0x6db9b220,\n\t0x319dc: 0x6c0cfc20, 0x319dd: 0x6c0d4020, 0x319de: 0x6c46c420, 0x319df: 0x6c77fe20,\n\t0x319e0: 0x6cde9a20, 0x319e1: 0x6d3c9420, 0x319e2: 0x6cf17420, 0x319e3: 0x6c32f220,\n\t0x319e4: 0x6c993220, 0x319e5: 0x6da72420, 0x319e6: 0x6de83e20, 0x319e7: 0x6dca5a20,\n\t0x319e8: 0x6c05e820, 0x319e9: 0x6c2d8820, 0x319ea: 0x6d1f5620, 0x319eb: 0x6da2f220,\n\t0x319ec: 0x6c333420, 0x319ed: 0x6c573a20, 0x319ee: 0x6d5a0620, 0x319ef: 0x6caa3420,\n\t0x319f0: 0x6caada20, 0x319f1: 0x6d12d220, 0x319f2: 0x6d151e20, 0x319f3: 0x6e359c20,\n\t0x319f4: 0x6d442e20, 0x319f5: 0x6c298220, 0x319f6: 0x6dcca820, 0x319f7: 0x6e043820,\n\t0x319f8: 0x6dbbb220, 0x319f9: 0x6cc32e20, 0x319fa: 0x6c006a20, 0x319fb: 0x6d18e420,\n\t0x319fc: 0x6d4cd620, 0x319fd: 0x6c1cfc20, 0x319fe: 0x6c729c20, 0x319ff: 0x6d540620,\n\t// Block 0xc68, offset 0x31a00\n\t0x31a00: 0x6d834420, 0x31a01: 0x6daa7820, 0x31a02: 0x6d643a20, 0x31a03: 0x6d95ae20,\n\t0x31a04: 0x6d9f9c20, 0x31a05: 0x6cf5f820, 0x31a06: 0x6c283820, 0x31a07: 0x6d48a020,\n\t0x31a08: 0x6c368e20, 0x31a09: 0x6c521a20, 0x31a0a: 0x6c546e20, 0x31a0b: 0x6cfa3020,\n\t0x31a0c: 0x6c7a1820, 0x31a0d: 0x6c7ac820, 0x31a0e: 0x6cd45220, 0x31a0f: 0x6c801620,\n\t0x31a10: 0x6df30020, 0x31a11: 0x6c02d820, 0x31a12: 0x6d50c420, 0x31a13: 0x6cb60220,\n\t0x31a14: 0x6c64a820, 0x31a15: 0x6c945a20, 0x31a16: 0x6c9f6220, 0x31a17: 0x6d6bf820,\n\t0x31a18: 0x6c4d5820, 0x31a19: 0x6cf2a220, 0x31a1a: 0x6c73f020, 0x31a1b: 0x6ca2d620,\n\t0x31a1c: 0x6ce61620, 0x31a1d: 0x6c17f820, 0x31a1e: 0x6c0e4220, 0x31a1f: 0x6d4d6420,\n\t0x31a20: 0x6c35ea20, 0x31a21: 0x6c21ce20, 0x31a22: 0x6c9cce20, 0x31a23: 0x6c38f420,\n\t0x31a24: 0x6ca30c20, 0x31a25: 0x6cd24620, 0x31a26: 0x6d8bbe20, 0x31a27: 0x6d0cea20,\n\t0x31a28: 0x6d0d0c20, 0x31a29: 0x6c27f020, 0x31a2a: 0x6dd9bc20, 0x31a2b: 0x6c8d9420,\n\t0x31a2c: 0x6cfa6c20, 0x31a2d: 0x6c194820, 0x31a2e: 0x6d834820, 0x31a2f: 0x6d84e820,\n\t0x31a30: 0x6e007220, 0x31a31: 0x6d6f9220, 0x31a32: 0x6e2f7020, 0x31a33: 0x6e30b220,\n\t0x31a34: 0x6c36c420, 0x31a35: 0x6c9f2420, 0x31a36: 0x6db16420, 0x31a37: 0x6c0a4420,\n\t0x31a38: 0x6ca80e20, 0x31a39: 0x6ca89c20, 0x31a3a: 0x6c3ab620, 0x31a3b: 0x6c39cc20,\n\t0x31a3c: 0x6ded7c20, 0x31a3d: 0x6c029620, 0x31a3e: 0x6c83b820, 0x31a3f: 0x6c2ae020,\n\t// Block 0xc69, offset 0x31a40\n\t0x31a40: 0x6c032820, 0x31a41: 0x6c4c8220, 0x31a42: 0x6c349220, 0x31a43: 0x6d8a6620,\n\t0x31a44: 0x6c0fbc20, 0x31a45: 0x6c542c20, 0x31a46: 0x6d531620, 0x31a47: 0x6d952420,\n\t0x31a48: 0x6c14d020, 0x31a49: 0x6c62dc20, 0x31a4a: 0x6c26a020, 0x31a4b: 0x6d212a20,\n\t0x31a4c: 0x6c014620, 0x31a4d: 0x6ceb7220, 0x31a4e: 0x6ceb3420, 0x31a4f: 0x6c69d820,\n\t0x31a50: 0x6ced7e20, 0x31a51: 0x6cc0dc20, 0x31a52: 0x6cc79a20, 0x31a53: 0x6cf79a20,\n\t0x31a54: 0x6d26f820, 0x31a55: 0x6d769020, 0x31a56: 0x6ca29820, 0x31a57: 0x6c7bf820,\n\t0x31a58: 0x6c13f620, 0x31a59: 0x6c7de220, 0x31a5a: 0x6ca69620, 0x31a5b: 0x6d30ce20,\n\t0x31a5c: 0x6d155620, 0x31a5d: 0x6d335420, 0x31a5e: 0x6c144220, 0x31a5f: 0x6deabe20,\n\t0x31a60: 0x6e015420, 0x31a61: 0x6caea820, 0x31a62: 0x6d697820, 0x31a63: 0x6cb20820,\n\t0x31a64: 0x6c412e20, 0x31a65: 0x6ce32420, 0x31a66: 0x6cb42820, 0x31a67: 0x6d6e4820,\n\t0x31a68: 0x6d974420, 0x31a69: 0x6d149c20, 0x31a6a: 0x6ce7aa20, 0x31a6b: 0x6d16a820,\n\t0x31a6c: 0x6d9b2420, 0x31a6d: 0x6e1a2020, 0x31a6e: 0x6c888620, 0x31a6f: 0x6d98c020,\n\t0x31a70: 0x6c435e20, 0x31a71: 0x6d18fe20, 0x31a72: 0x6c173820, 0x31a73: 0x6c456020,\n\t0x31a74: 0x6cea9c20, 0x31a75: 0x6c2bac20, 0x31a76: 0x6cbada20, 0x31a77: 0x6d1b7220,\n\t0x31a78: 0x6d773620, 0x31a79: 0x6cbcc820, 0x31a7a: 0x6d758820, 0x31a7b: 0x6d4d6220,\n\t0x31a7c: 0x6c01b620, 0x31a7d: 0x6c6fc020, 0x31a7e: 0x6cc3aa20, 0x31a7f: 0x6d4fb820,\n\t// Block 0xc6a, offset 0x31a80\n\t0x31a80: 0x6de28220, 0x31a81: 0x6c9ab020, 0x31a82: 0x6c50ac20, 0x31a83: 0x6cc7b820,\n\t0x31a84: 0x6c9c8820, 0x31a85: 0x6c76b620, 0x31a86: 0x6c9fb820, 0x31a87: 0x6d297a20,\n\t0x31a88: 0x6cce4620, 0x31a89: 0x6c04d820, 0x31a8a: 0x6cd0a820, 0x31a8b: 0x6d028220,\n\t0x31a8c: 0x6c3cee20, 0x31a8d: 0x6c5ad020, 0x31a8e: 0x6c5ace20, 0x31a8f: 0x6c7dc620,\n\t0x31a90: 0x6c7dd220, 0x31a91: 0x6c7de020, 0x31a92: 0x6d30ca20, 0x31a93: 0x6d30cc20,\n\t0x31a94: 0x6d5e0420, 0x31a95: 0x6c5ba420, 0x31a96: 0x6d051020, 0x31a97: 0x6d60c620,\n\t0x31a98: 0x6d8abc20, 0x31a99: 0x6daf6420, 0x31a9a: 0x6d071220, 0x31a9b: 0x6c3e3620,\n\t0x31a9c: 0x6c82de20, 0x31a9d: 0x6c020420, 0x31a9e: 0x6c020420, 0x31a9f: 0x6cdbee20,\n\t0x31aa0: 0x6d678620, 0x31aa1: 0x6ca6aa20, 0x31aa2: 0x6d928220, 0x31aa3: 0x6dd48e20,\n\t0x31aa4: 0x6d3d8420, 0x31aa5: 0x6dee3c20, 0x31aa6: 0x6c051e20, 0x31aa7: 0x6ce32420,\n\t0x31aa8: 0x6df1b220, 0x31aa9: 0x6e06f620, 0x31aaa: 0x6d9a4a20, 0x31aab: 0x6c6f8420,\n\t0x31aac: 0x6cfce020, 0x31aad: 0x6d8d8a20,\n\t0x31ab0: 0x6c28ae20, 0x31ab1: 0x6c179020, 0x31ab2: 0x6c0c5a20, 0x31ab3: 0x6c296c20,\n\t0x31ab4: 0x6c061420, 0x31ab5: 0x6d767a20, 0x31ab6: 0x6c455c20, 0x31ab7: 0x6c016420,\n\t0x31ab8: 0x6cbada20, 0x31ab9: 0x6c8e9a20, 0x31aba: 0x6cbad220, 0x31abb: 0x6cebb420,\n\t0x31abc: 0x6ced7e20, 0x31abd: 0x6d4b0420, 0x31abe: 0x6c2ea820, 0x31abf: 0x6c2ef220,\n\t// Block 0xc6b, offset 0x31ac0\n\t0x31ac0: 0x6c924620, 0x31ac1: 0x6d79de20, 0x31ac2: 0x6d212820, 0x31ac3: 0x6d216c20,\n\t0x31ac4: 0x6c96ac20, 0x31ac5: 0x6cf1fa20, 0x31ac6: 0x6c97b620, 0x31ac7: 0x6cf2b020,\n\t0x31ac8: 0x6cf25620, 0x31ac9: 0x6d4fb820, 0x31aca: 0x6d224e20, 0x31acb: 0x6de28220,\n\t0x31acc: 0x6da46c20, 0x31acd: 0x6cc4ee20, 0x31ace: 0x6cf40620, 0x31acf: 0x6cc56820,\n\t0x31ad0: 0x6c9abe20, 0x31ad1: 0x6cc79a20, 0x31ad2: 0x6c73be20, 0x31ad3: 0x6c9c2220,\n\t0x31ad4: 0x6c21de20, 0x31ad5: 0x6c04ae20, 0x31ad6: 0x6c9e2620, 0x31ad7: 0x6c546e20,\n\t0x31ad8: 0x6cfaa420, 0x31ad9: 0x6cccf220, 0x31ada: 0x6d297a20, 0x31adb: 0x6de4d620,\n\t0x31adc: 0x6cce4620, 0x31add: 0x6dab6420, 0x31ade: 0x6da93020, 0x31adf: 0x6c09de20,\n\t0x31ae0: 0x6ca29820, 0x31ae1: 0x6d2d0620, 0x31ae2: 0x6d2dac20, 0x31ae3: 0x6c3be220,\n\t0x31ae4: 0x6d5b5220, 0x31ae5: 0x6d5b3020, 0x31ae6: 0x6c7bf820, 0x31ae7: 0x6ca4d020,\n\t0x31ae8: 0x6c3c8820, 0x31ae9: 0x6cd36020, 0x31aea: 0x6ca59220, 0x31aeb: 0x6d5d2820,\n\t0x31aec: 0x6d5e7620, 0x31aed: 0x6d051020, 0x31aee: 0x6c5c3a20, 0x31aef: 0x6d061420,\n\t0x31af0: 0x6d60c620, 0x31af1: 0x6cd85420, 0x31af2: 0x6c3e3620, 0x31af3: 0x6c83e820,\n\t0x31af4: 0x6cdb7e20, 0x31af5: 0x6d900a20, 0x31af6: 0x6db50820, 0x31af7: 0x6dd40e20,\n\t0x31af8: 0x6ca6aa20, 0x31af9: 0x6d68be20, 0x31afa: 0x6d697820, 0x31afb: 0x6d68d620,\n\t0x31afc: 0x6d928220, 0x31afd: 0x6d927c20, 0x31afe: 0x6d925c20, 0x31aff: 0x6dd48e20,\n\t// Block 0xc6c, offset 0x31b00\n\t0x31b00: 0x6e2c4c20, 0x31b01: 0x6dee3c20, 0x31b02: 0x6d951e20, 0x31b03: 0x6d959e20,\n\t0x31b04: 0x6db93e20, 0x31b05: 0x6d40e620, 0x31b06: 0x6cb60820, 0x31b07: 0x6df1b220,\n\t0x31b08: 0x6d155620, 0x31b09: 0x6e06d420, 0x31b0a: 0x6e06f620, 0x31b0b: 0x6d15fc20,\n\t0x31b0c: 0x6d9a4a20, 0x31b0d: 0x6e08b620, 0x31b0e: 0x6d9f9e20, 0x31b0f: 0x6d502220,\n\t0x31b10: 0x6d501620, 0x31b11: 0x6c36f420, 0x31b12: 0x6cf6d620, 0x31b13: 0x6c597a20,\n\t0x31b14: 0x6cd34020, 0x31b15: 0x6d5c7220, 0x31b16: 0x6dcdba20, 0x31b17: 0x6d0fcc20,\n\t0x31b18: 0x6e313820, 0x31b19: 0x6de00020,\n\t// Block 0xc6d, offset 0x31b40\n\t0x31b40: 0xf0001c1c, 0x31b41: 0xf0001c1c, 0x31b42: 0x00658c9c,\n\t0x31b50: 0x2c047483, 0x31b51: 0x2c0faa83, 0x31b52: 0x2c03a483, 0x31b53: 0xf0001c1c,\n\t0x31b54: 0x2c007483, 0x31b55: 0x2c0f1e83, 0x31b56: 0x2d0dc083, 0x31b57: 0x2c03de83,\n\t0x31b58: 0x2c0b5483, 0x31b59: 0x2c50d083, 0x31b5a: 0x2cce0683, 0x31b5b: 0x2c729c83,\n\t0x31b5c: 0x2c44fc83, 0x31b5d: 0x2c4d5a83, 0x31b5e: 0x2c0c7883, 0x31b5f: 0x2cf5a283,\n\t0x31b60: 0x2c17e083, 0x31b61: 0x2ca93c83, 0x31b62: 0x2c0a0283, 0x31b63: 0x2cb1a083,\n\t0x31b64: 0x2c1b6883, 0x31b65: 0x2c198083, 0x31b66: 0x2d295e83, 0x31b67: 0x2c208683,\n\t0x31b68: 0x2c714283, 0x31b69: 0x2c000283, 0x31b6a: 0x2c00dc83, 0x31b6b: 0x2d118683,\n\t0x31b6c: 0x2c089283, 0x31b6d: 0x2c023683, 0x31b6e: 0x2c075483, 0x31b6f: 0x2c4f4883,\n\t0x31b70: 0x2c26fc83, 0x31b71: 0x2c093e83, 0x31b72: 0x2d032883, 0x31b73: 0x2c3d6e83,\n\t0x31b74: 0x2c0e3483, 0x31b75: 0x2cccd883, 0x31b76: 0x2c127483, 0x31b77: 0x2c049c83,\n\t0x31b78: 0x2c0a1083, 0x31b79: 0x2cb95283, 0x31b7a: 0x2c901a83,\n\t// Block 0xc6e, offset 0x31b80\n\t0x31b80: 0xe000b653, 0x31b81: 0xe000b64b, 0x31b82: 0xe000b647, 0x31b83: 0xe000b657,\n\t0x31b84: 0xe000b65b, 0x31b85: 0xe000b64f, 0x31b86: 0xe000b663, 0x31b87: 0xe000b667,\n\t0x31b88: 0xe000b65f,\n\t0x31b90: 0x2c96d483, 0x31b91: 0x2c074c83,\n\t// Block 0xc6f, offset 0x31bc0\n\t0x31bc0: 0x6c003e20, 0x31bc1: 0x6c004020, 0x31bc2: 0x6c004220, 0x31bc3: 0x6c00e820,\n\t0x31bc4: 0x6c00ea20, 0x31bc5: 0x6c00ec20, 0x31bc6: 0x6c00ee20, 0x31bc7: 0x6c022820,\n\t0x31bc8: 0x6c022a20, 0x31bc9: 0x6c022c20, 0x31bca: 0x6c022e20, 0x31bcb: 0x6c023020,\n\t0x31bcc: 0x6c023220, 0x31bcd: 0x6c055220, 0x31bce: 0x6c055420, 0x31bcf: 0x6c055620,\n\t0x31bd0: 0x6c055820, 0x31bd1: 0x6c055a20, 0x31bd2: 0x6c055c20, 0x31bd3: 0x6c055e20,\n\t0x31bd4: 0x6c056020, 0x31bd5: 0x6c056220, 0x31bd6: 0x6c056420, 0x31bd7: 0x6c056620,\n\t0x31bd8: 0x6c0ada20, 0x31bd9: 0x6c0adc20, 0x31bda: 0x6c0ade20, 0x31bdb: 0x6c0f4220,\n\t0x31bdc: 0x6c0ae020, 0x31bdd: 0x6c0dac20, 0x31bde: 0x6c0ae220, 0x31bdf: 0x6c0ae420,\n\t0x31be0: 0x6c0ae620, 0x31be1: 0x6c15ec20, 0x31be2: 0x6c15ee20, 0x31be3: 0x6c15f020,\n\t0x31be4: 0x6c15f220, 0x31be5: 0x6c162c20, 0x31be6: 0x6c15f420, 0x31be7: 0x6c15f620,\n\t0x31be8: 0x6c15f820, 0x31be9: 0x6c0b3a20, 0x31bea: 0x6c15fa20, 0x31beb: 0x6c15fc20,\n\t0x31bec: 0x6c28b220, 0x31bed: 0x6c28b420, 0x31bee: 0x6c28b620, 0x31bef: 0x6c2d9420,\n\t0x31bf0: 0x6c28b820, 0x31bf1: 0x6c28ba20, 0x31bf2: 0x6c28bc20, 0x31bf3: 0x6c28be20,\n\t0x31bf4: 0x6c28c020, 0x31bf5: 0x6c42ea20, 0x31bf6: 0x6c42ec20, 0x31bf7: 0x6c470a20,\n\t0x31bf8: 0x6c42ee20, 0x31bf9: 0x6c470c20, 0x31bfa: 0x6c42f020, 0x31bfb: 0x6c42f220,\n\t0x31bfc: 0x6c6a8820, 0x31bfd: 0x6c63cc20, 0x31bfe: 0x6c63ce20, 0x31bff: 0x6c63d020,\n\t// Block 0xc70, offset 0x31c00\n\t0x31c00: 0x6c63d220, 0x31c01: 0x6c8af020, 0x31c02: 0x6c8af220, 0x31c03: 0x6c8af420,\n\t0x31c04: 0x6c8af620, 0x31c05: 0x6c8af820, 0x31c06: 0x6cb79e20, 0x31c07: 0x6cb7a020,\n\t0x31c08: 0x6cb7a220, 0x31c09: 0x6cb93420, 0x31c0a: 0x6cb7a420, 0x31c0b: 0x6cb7a620,\n\t0x31c0c: 0x6ce8ca20, 0x31c0d: 0x6ce8cc20, 0x31c0e: 0x6d188c20, 0x31c0f: 0x6d188e20,\n\t0x31c10: 0x6d189020, 0x31c11: 0x6d189220, 0x31c12: 0x6d189420, 0x31c13: 0x6d479020,\n\t0x31c14: 0x6d479220, 0x31c15: 0x6d75c220, 0x31c16: 0x6d9fa420, 0x31c17: 0x6d75c420,\n\t0x31c18: 0x6d75c620, 0x31c19: 0x6d75c820, 0x31c1a: 0x6d75ca20, 0x31c1b: 0x6d75cc20,\n\t0x31c1c: 0x6da01620, 0x31c1d: 0x6d75ce20, 0x31c1e: 0x6da57820, 0x31c1f: 0x6dc24420,\n\t0x31c20: 0x6df86a20, 0x31c21: 0x6c004620, 0x31c22: 0x6c004820, 0x31c23: 0x6c023e20,\n\t0x31c24: 0x6c079620, 0x31c25: 0x6c056a20, 0x31c26: 0x6c0aea20, 0x31c27: 0x6c160220,\n\t0x31c28: 0x6c160420, 0x31c29: 0x6c28c620, 0x31c2a: 0x6c28c820, 0x31c2b: 0x6c28ca20,\n\t0x31c2c: 0x6c28cc20, 0x31c2d: 0x6c42f820, 0x31c2e: 0x6c42fa20, 0x31c2f: 0x6c42fc20,\n\t0x31c30: 0x6c63da20, 0x31c31: 0x6c63dc20, 0x31c32: 0x6c15ae20, 0x31c33: 0x6c8afc20,\n\t0x31c34: 0x6cb7a820, 0x31c35: 0x6cb7aa20, 0x31c36: 0x6d189820, 0x31c37: 0x6d1bb420,\n\t0x31c38: 0x6d479420, 0x31c39: 0x6dc24620, 0x31c3a: 0x6de00420, 0x31c3b: 0x6e1c0420,\n\t0x31c3c: 0x6c010220, 0x31c3d: 0x6c010420, 0x31c3e: 0x6c026420, 0x31c3f: 0x6c024620,\n\t// Block 0xc71, offset 0x31c40\n\t0x31c40: 0x6c057020, 0x31c41: 0x6c057220, 0x31c42: 0x6c0aec20, 0x31c43: 0x6c63de20,\n\t0x31c44: 0x6ce8ce20, 0x31c45: 0x6d75d420, 0x31c46: 0x6c005620, 0x31c47: 0x6c005820,\n\t0x31c48: 0x6c005a20, 0x31c49: 0x6c005c20, 0x31c4a: 0x6c005e20, 0x31c4b: 0x6c011020,\n\t0x31c4c: 0x6c011220, 0x31c4d: 0x6c011420, 0x31c4e: 0x6c011620, 0x31c4f: 0x6c024e20,\n\t0x31c50: 0x6c025020, 0x31c51: 0x6c025220, 0x31c52: 0x6c025420, 0x31c53: 0x6c025620,\n\t0x31c54: 0x6c057c20, 0x31c55: 0x6c057e20, 0x31c56: 0x6c058020, 0x31c57: 0x6c058220,\n\t0x31c58: 0x6c058420, 0x31c59: 0x6c058620, 0x31c5a: 0x6c058820, 0x31c5b: 0x6c058a20,\n\t0x31c5c: 0x6c058c20, 0x31c5d: 0x6c058e20, 0x31c5e: 0x6c059020, 0x31c5f: 0x6c059220,\n\t0x31c60: 0x6c059420, 0x31c61: 0x6c059620, 0x31c62: 0x6c0af820, 0x31c63: 0x6c0afa20,\n\t0x31c64: 0x6c0afc20, 0x31c65: 0x6c0afe20, 0x31c66: 0x6c0b0020, 0x31c67: 0x6c0b0220,\n\t0x31c68: 0x6c149620, 0x31c69: 0x6c0b0420, 0x31c6a: 0x6c0b0620, 0x31c6b: 0x6c0b0820,\n\t0x31c6c: 0x6c0dd620, 0x31c6d: 0x6c0b0a20, 0x31c6e: 0x6c0dd820, 0x31c6f: 0x6c160820,\n\t0x31c70: 0x6c18ea20, 0x31c71: 0x6c227c20, 0x31c72: 0x6c28d220, 0x31c73: 0x6c28d420,\n\t0x31c74: 0x6c430420, 0x31c75: 0x6c3bd820, 0x31c76: 0x6c28d620, 0x31c77: 0x6c430620,\n\t0x31c78: 0x6c431c20, 0x31c79: 0x6c63e220, 0x31c7a: 0x6c63e420, 0x31c7b: 0x6c63e620,\n\t0x31c7c: 0x6c63e820, 0x31c7d: 0x6c63ea20, 0x31c7e: 0x6c63ec20, 0x31c7f: 0x6c8afe20,\n\t// Block 0xc72, offset 0x31c80\n\t0x31c80: 0x6c8b0020, 0x31c81: 0x6c8b0220, 0x31c82: 0x6c8b0420, 0x31c83: 0x6cb7ac20,\n\t0x31c84: 0x6cb7ae20, 0x31c85: 0x6d189a20, 0x31c86: 0x6ce8d020, 0x31c87: 0x6d479620,\n\t0x31c88: 0x6e284820, 0x31c89: 0x6c001620, 0x31c8a: 0x6c001820, 0x31c8b: 0x6c001a20,\n\t0x31c8c: 0x6c001c20, 0x31c8d: 0x6c001e20, 0x31c8e: 0x6c002020, 0x31c8f: 0x6c006620,\n\t0x31c90: 0x6c006820, 0x31c91: 0x6c002220, 0x31c92: 0x6c012620, 0x31c93: 0x6c012820,\n\t0x31c94: 0x6c012a20, 0x31c95: 0x6c026620, 0x31c96: 0x6c026820, 0x31c97: 0x6c026a20,\n\t0x31c98: 0x6c026c20, 0x31c99: 0x6c026e20, 0x31c9a: 0x6c027020, 0x31c9b: 0x6c027220,\n\t0x31c9c: 0x6c027420, 0x31c9d: 0x6c027620, 0x31c9e: 0x6c05a220, 0x31c9f: 0x6c05a420,\n\t0x31ca0: 0x6c05a620, 0x31ca1: 0x6c05a820, 0x31ca2: 0x6c05aa20, 0x31ca3: 0x6c05ac20,\n\t0x31ca4: 0x6c0b2c20, 0x31ca5: 0x6c0b2e20, 0x31ca6: 0x6c0b3020, 0x31ca7: 0x6c0b3220,\n\t0x31ca8: 0x6c0b3420, 0x31ca9: 0x6c161420, 0x31caa: 0x6c161620, 0x31cab: 0x6c24c020,\n\t0x31cac: 0x6c161820, 0x31cad: 0x6c28ea20, 0x31cae: 0x6c28ec20, 0x31caf: 0x6c28ee20,\n\t0x31cb0: 0x6c3bda20, 0x31cb1: 0x6c2fdc20, 0x31cb2: 0x6c431e20, 0x31cb3: 0x6c432020,\n\t0x31cb4: 0x6c432220, 0x31cb5: 0x6c432420, 0x31cb6: 0x6c432620, 0x31cb7: 0x6c432820,\n\t0x31cb8: 0x6c63f420, 0x31cb9: 0x6c63f620, 0x31cba: 0x6c63f820, 0x31cbb: 0x6c63fa20,\n\t0x31cbc: 0x6c8b1220, 0x31cbd: 0x6c8b1420, 0x31cbe: 0x6c8b1620, 0x31cbf: 0x6c8b1820,\n\t// Block 0xc73, offset 0x31cc0\n\t0x31cc0: 0x6c8b1a20, 0x31cc1: 0x6c8b1c20, 0x31cc2: 0x6c8b1e20, 0x31cc3: 0x6ce8d820,\n\t0x31cc4: 0x6ce8da20, 0x31cc5: 0x6d189c20, 0x31cc6: 0x6d189e20, 0x31cc7: 0x6d18a020,\n\t0x31cc8: 0x6d18a220, 0x31cc9: 0x6d9fa620, 0x31cca: 0x6de00820, 0x31ccb: 0x6df86c20,\n\t0x31ccc: 0x6c002620, 0x31ccd: 0x6c006c20, 0x31cce: 0x6c006e20, 0x31ccf: 0x6c007020,\n\t0x31cd0: 0x6c007220, 0x31cd1: 0x6c012e20, 0x31cd2: 0x6c027c20, 0x31cd3: 0x6c027e20,\n\t0x31cd4: 0x6c028020, 0x31cd5: 0x6c0b3c20, 0x31cd6: 0x6c162220, 0x31cd7: 0x6c162420,\n\t0x31cd8: 0x6c162620, 0x31cd9: 0x6c28f620, 0x31cda: 0x6c8b2220, 0x31cdb: 0x6cb7ba20,\n\t0x31cdc: 0x6d479820, 0x31cdd: 0x6d75d820, 0x31cde: 0x6c007620, 0x31cdf: 0x6c007820,\n\t0x31ce0: 0x6c007a20, 0x31ce1: 0x6c028e20, 0x31ce2: 0x6c0b4420, 0x31ce3: 0x6c0b4620,\n\t0x31ce4: 0x6c0b4820, 0x31ce5: 0x6c0b4a20, 0x31ce6: 0x6c0b4c20, 0x31ce7: 0x6c0b4e20,\n\t0x31ce8: 0x6c162e20, 0x31ce9: 0x6c163020, 0x31cea: 0x6c163220, 0x31ceb: 0x6c290220,\n\t0x31cec: 0x6c290420, 0x31ced: 0x6c290620, 0x31cee: 0x6c290820, 0x31cef: 0x6c290a20,\n\t0x31cf0: 0x6c432c20, 0x31cf1: 0x6c432e20, 0x31cf2: 0x6c433020, 0x31cf3: 0x6c433220,\n\t0x31cf4: 0x6c4d0220, 0x31cf5: 0x6c640220, 0x31cf6: 0x6c640420, 0x31cf7: 0x6c640620,\n\t0x31cf8: 0x6c640820, 0x31cf9: 0x6c8b2420, 0x31cfa: 0x6c8b2620, 0x31cfb: 0x6cb7be20,\n\t0x31cfc: 0x6ce8de20, 0x31cfd: 0x6ce8e020, 0x31cfe: 0x6ce8e220, 0x31cff: 0x6d18a620,\n\t// Block 0xc74, offset 0x31d00\n\t0x31d00: 0x6d479a20, 0x31d01: 0x6c029420, 0x31d02: 0x6c05b220, 0x31d03: 0x6c0b5c20,\n\t0x31d04: 0x6c0b5e20, 0x31d05: 0x6c0b6020, 0x31d06: 0x6c0b6220, 0x31d07: 0x6c0b6420,\n\t0x31d08: 0x6c163c20, 0x31d09: 0x6c163e20, 0x31d0a: 0x6c164020, 0x31d0b: 0x6c164220,\n\t0x31d0c: 0x6c291220, 0x31d0d: 0x6c291420, 0x31d0e: 0x6c291620, 0x31d0f: 0x6c291820,\n\t0x31d10: 0x6c291a20, 0x31d11: 0x6c291c20, 0x31d12: 0x6c291e20, 0x31d13: 0x6c434020,\n\t0x31d14: 0x6c434220, 0x31d15: 0x6c434420, 0x31d16: 0x6c640c20, 0x31d17: 0x6c6a8e20,\n\t0x31d18: 0x6c640e20, 0x31d19: 0x6c641020, 0x31d1a: 0x6c641220, 0x31d1b: 0x6c641420,\n\t0x31d1c: 0x6c641620, 0x31d1d: 0x6c641820, 0x31d1e: 0x6c8b2820, 0x31d1f: 0x6c8b2a20,\n\t0x31d20: 0x6c8b2c20, 0x31d21: 0x6c8b2e20, 0x31d22: 0x6c8b3020, 0x31d23: 0x6c8b3220,\n\t0x31d24: 0x6c8b3420, 0x31d25: 0x6c8b3620, 0x31d26: 0x6c8b3820, 0x31d27: 0x6c8b3a20,\n\t0x31d28: 0x6cb7c420, 0x31d29: 0x6cb7c620, 0x31d2a: 0x6cb7c820, 0x31d2b: 0x6cb7ca20,\n\t0x31d2c: 0x6cb7cc20, 0x31d2d: 0x6cb7ce20, 0x31d2e: 0x6cb7d020, 0x31d2f: 0x6cb7d220,\n\t0x31d30: 0x6cd41020, 0x31d31: 0x6cbd9c20, 0x31d32: 0x6cb7d420, 0x31d33: 0x6ce8ea20,\n\t0x31d34: 0x6ce8ec20, 0x31d35: 0x6ce8ee20, 0x31d36: 0x6ce8f020, 0x31d37: 0x6ce8f220,\n\t0x31d38: 0x6ce8f420, 0x31d39: 0x6cf16620, 0x31d3a: 0x6ce8f620, 0x31d3b: 0x6ce8f820,\n\t0x31d3c: 0x6ce8fa20, 0x31d3d: 0x6cf00420, 0x31d3e: 0x6d18aa20, 0x31d3f: 0x6d18ac20,\n\t// Block 0xc75, offset 0x31d40\n\t0x31d40: 0x6ce8fc20, 0x31d41: 0x6d479e20, 0x31d42: 0x6d47a020, 0x31d43: 0x6d47a220,\n\t0x31d44: 0x6d47a420, 0x31d45: 0x6d47a620, 0x31d46: 0x6d47a820, 0x31d47: 0x6d47aa20,\n\t0x31d48: 0x6d47ac20, 0x31d49: 0x6d47ae20, 0x31d4a: 0x6d49c820, 0x31d4b: 0x6d75dc20,\n\t0x31d4c: 0x6d75de20, 0x31d4d: 0x6d75e020, 0x31d4e: 0x6d75e220, 0x31d4f: 0x6d75e420,\n\t0x31d50: 0x6d75e620, 0x31d51: 0x6d75e820, 0x31d52: 0x6d75ea20, 0x31d53: 0x6d790e20,\n\t0x31d54: 0x6d75ec20, 0x31d55: 0x6d791020, 0x31d56: 0x6d75ee20, 0x31d57: 0x6d75f020,\n\t0x31d58: 0x6d75f220, 0x31d59: 0x6da20a20, 0x31d5a: 0x6dc24820, 0x31d5b: 0x6dc70c20,\n\t0x31d5c: 0x6ddfee20, 0x31d5d: 0x6de00a20, 0x31d5e: 0x6e0c3c20, 0x31d5f: 0x6e318620,\n\t0x31d60: 0x6e428220, 0x31d61: 0x6e442020, 0x31d62: 0x6c008220, 0x31d63: 0x6c014020,\n\t0x31d64: 0x6c014220, 0x31d65: 0x6c014420, 0x31d66: 0x6c02be20, 0x31d67: 0x6c02c020,\n\t0x31d68: 0x6c02c220, 0x31d69: 0x6c05fc20, 0x31d6a: 0x6c05fe20, 0x31d6b: 0x6c060020,\n\t0x31d6c: 0x6c060220, 0x31d6d: 0x6c060420, 0x31d6e: 0x6c06ac20, 0x31d6f: 0x6c060620,\n\t0x31d70: 0x6c060820, 0x31d71: 0x6c06d820, 0x31d72: 0x6c08d020, 0x31d73: 0x6c060a20,\n\t0x31d74: 0x6c0bfa20, 0x31d75: 0x6c0bfc20, 0x31d76: 0x6c0bfe20, 0x31d77: 0x6c0c0020,\n\t0x31d78: 0x6c0c0220, 0x31d79: 0x6c0c0420, 0x31d7a: 0x6c0c0620, 0x31d7b: 0x6c0c0820,\n\t0x31d7c: 0x6c0c0a20, 0x31d7d: 0x6c0c0c20, 0x31d7e: 0x6c0c0e20, 0x31d7f: 0x6c0c1020,\n\t// Block 0xc76, offset 0x31d80\n\t0x31d80: 0x6c0c1220, 0x31d81: 0x6c0c1420, 0x31d82: 0x6c0c1620, 0x31d83: 0x6c0c1820,\n\t0x31d84: 0x6c0c1a20, 0x31d85: 0x6c0c1c20, 0x31d86: 0x6c0c1e20, 0x31d87: 0x6c0c2020,\n\t0x31d88: 0x6c0c2220, 0x31d89: 0x6c0c2420, 0x31d8a: 0x6c0c2620, 0x31d8b: 0x6c0c2820,\n\t0x31d8c: 0x6c0c2a20, 0x31d8d: 0x6c0c2c20, 0x31d8e: 0x6c0c2e20, 0x31d8f: 0x6c0c3020,\n\t0x31d90: 0x6c0c3220, 0x31d91: 0x6c0c3420, 0x31d92: 0x6c0c5e20, 0x31d93: 0x6c0c3620,\n\t0x31d94: 0x6c0c3820, 0x31d95: 0x6c0c3a20, 0x31d96: 0x6c16ca20, 0x31d97: 0x6c16cc20,\n\t0x31d98: 0x6c16ce20, 0x31d99: 0x6c16d020, 0x31d9a: 0x6c16d220, 0x31d9b: 0x6c16d420,\n\t0x31d9c: 0x6c16d620, 0x31d9d: 0x6c16d820, 0x31d9e: 0x6c16da20, 0x31d9f: 0x6c16dc20,\n\t0x31da0: 0x6c16de20, 0x31da1: 0x6c16e020, 0x31da2: 0x6c16e220, 0x31da3: 0x6c16e420,\n\t0x31da4: 0x6c16e620, 0x31da5: 0x6c16e820, 0x31da6: 0x6c16ea20, 0x31da7: 0x6c16ec20,\n\t0x31da8: 0x6c16ee20, 0x31da9: 0x6c16f020, 0x31daa: 0x6c16f220, 0x31dab: 0x6c16f420,\n\t0x31dac: 0x6c16f620, 0x31dad: 0x6c16f820, 0x31dae: 0x6c16fa20, 0x31daf: 0x6c16fc20,\n\t0x31db0: 0x6c16fe20, 0x31db1: 0x6c170020, 0x31db2: 0x6c170220, 0x31db3: 0x6c170420,\n\t0x31db4: 0x6c170620, 0x31db5: 0x6c170820, 0x31db6: 0x6c170a20, 0x31db7: 0x6c170c20,\n\t0x31db8: 0x6c170e20, 0x31db9: 0x6c171020, 0x31dba: 0x6c171220, 0x31dbb: 0x6c171420,\n\t0x31dbc: 0x6c171620, 0x31dbd: 0x6c171820, 0x31dbe: 0x6c171a20, 0x31dbf: 0x6c171c20,\n\t// Block 0xc77, offset 0x31dc0\n\t0x31dc0: 0x6c171e20, 0x31dc1: 0x6c172020, 0x31dc2: 0x6c19c820, 0x31dc3: 0x6c29ca20,\n\t0x31dc4: 0x6c29cc20, 0x31dc5: 0x6c29ce20, 0x31dc6: 0x6c29d020, 0x31dc7: 0x6c29d220,\n\t0x31dc8: 0x6c29d420, 0x31dc9: 0x6c29d620, 0x31dca: 0x6c29d820, 0x31dcb: 0x6c29da20,\n\t0x31dcc: 0x6c29dc20, 0x31dcd: 0x6c29de20, 0x31dce: 0x6c29e020, 0x31dcf: 0x6c29e220,\n\t0x31dd0: 0x6c29e420, 0x31dd1: 0x6c29e620, 0x31dd2: 0x6c29e820, 0x31dd3: 0x6c29ea20,\n\t0x31dd4: 0x6c29ec20, 0x31dd5: 0x6c29ee20, 0x31dd6: 0x6c29f020, 0x31dd7: 0x6c29f220,\n\t0x31dd8: 0x6c29f420, 0x31dd9: 0x6c29f620, 0x31dda: 0x6c29f820, 0x31ddb: 0x6c29fa20,\n\t0x31ddc: 0x6c29fc20, 0x31ddd: 0x6c29fe20, 0x31dde: 0x6c2a0020, 0x31ddf: 0x6c2a0220,\n\t0x31de0: 0x6c2a0420, 0x31de1: 0x6c2a0620, 0x31de2: 0x6c2a0820, 0x31de3: 0x6c2a0a20,\n\t0x31de4: 0x6c305c20, 0x31de5: 0x6c2a0c20, 0x31de6: 0x6c2a0e20, 0x31de7: 0x6c2a1020,\n\t0x31de8: 0x6c2a1220, 0x31de9: 0x6c2a1420, 0x31dea: 0x6c2a1620, 0x31deb: 0x6c2a1820,\n\t0x31dec: 0x6c2a1a20, 0x31ded: 0x6c43de20, 0x31dee: 0x6c43e020, 0x31def: 0x6c43e220,\n\t0x31df0: 0x6c43e420, 0x31df1: 0x6c43e620, 0x31df2: 0x6c43e820, 0x31df3: 0x6c43ea20,\n\t0x31df4: 0x6c43ec20, 0x31df5: 0x6c43ee20, 0x31df6: 0x6c43f020, 0x31df7: 0x6c43f220,\n\t0x31df8: 0x6c43f420, 0x31df9: 0x6c43f620, 0x31dfa: 0x6c43f820, 0x31dfb: 0x6c43fa20,\n\t0x31dfc: 0x6c43fc20, 0x31dfd: 0x6c43fe20, 0x31dfe: 0x6c440020, 0x31dff: 0x6c440220,\n\t// Block 0xc78, offset 0x31e00\n\t0x31e00: 0x6c440420, 0x31e01: 0x6c440620, 0x31e02: 0x6c440820, 0x31e03: 0x6c440a20,\n\t0x31e04: 0x6c440c20, 0x31e05: 0x6c440e20, 0x31e06: 0x6c441020, 0x31e07: 0x6c441220,\n\t0x31e08: 0x6c441420, 0x31e09: 0x6c441620, 0x31e0a: 0x6c441820, 0x31e0b: 0x6c441a20,\n\t0x31e0c: 0x6c441c20, 0x31e0d: 0x6c441e20, 0x31e0e: 0x6c442020, 0x31e0f: 0x6c442220,\n\t0x31e10: 0x6c442420, 0x31e11: 0x6c442620, 0x31e12: 0x6c442820, 0x31e13: 0x6c442a20,\n\t0x31e14: 0x6c442c20, 0x31e15: 0x6c442e20, 0x31e16: 0x6c443020, 0x31e17: 0x6c443220,\n\t0x31e18: 0x6c443420, 0x31e19: 0x6c443620, 0x31e1a: 0x6c443820, 0x31e1b: 0x6c443a20,\n\t0x31e1c: 0x6c443c20, 0x31e1d: 0x6c443e20, 0x31e1e: 0x6c444020, 0x31e1f: 0x6c444220,\n\t0x31e20: 0x6c444420, 0x31e21: 0x6c444620, 0x31e22: 0x6c444820, 0x31e23: 0x6c64d220,\n\t0x31e24: 0x6c64d420, 0x31e25: 0x6c64d620, 0x31e26: 0x6c64d820, 0x31e27: 0x6c64da20,\n\t0x31e28: 0x6c64dc20, 0x31e29: 0x6c64de20, 0x31e2a: 0x6c64e020, 0x31e2b: 0x6c64e220,\n\t0x31e2c: 0x6c64e420, 0x31e2d: 0x6c64e620, 0x31e2e: 0x6c64e820, 0x31e2f: 0x6c64ea20,\n\t0x31e30: 0x6c64ec20, 0x31e31: 0x6c64ee20, 0x31e32: 0x6c64f020, 0x31e33: 0x6c64f220,\n\t0x31e34: 0x6c64f420, 0x31e35: 0x6c64f620, 0x31e36: 0x6c64f820, 0x31e37: 0x6c64fa20,\n\t0x31e38: 0x6c64fc20, 0x31e39: 0x6c64fe20, 0x31e3a: 0x6c650020, 0x31e3b: 0x6c650220,\n\t0x31e3c: 0x6c650420, 0x31e3d: 0x6c650620, 0x31e3e: 0x6c650820, 0x31e3f: 0x6c650a20,\n\t// Block 0xc79, offset 0x31e40\n\t0x31e40: 0x6c650c20, 0x31e41: 0x6c650e20, 0x31e42: 0x6c651020, 0x31e43: 0x6c651220,\n\t0x31e44: 0x6c651420, 0x31e45: 0x6c651620, 0x31e46: 0x6c651820, 0x31e47: 0x6c651a20,\n\t0x31e48: 0x6c651c20, 0x31e49: 0x6c651e20, 0x31e4a: 0x6c652020, 0x31e4b: 0x6c652220,\n\t0x31e4c: 0x6c652420, 0x31e4d: 0x6c652620, 0x31e4e: 0x6c652820, 0x31e4f: 0x6c652a20,\n\t0x31e50: 0x6c652c20, 0x31e51: 0x6c652e20, 0x31e52: 0x6c653020, 0x31e53: 0x6c653220,\n\t0x31e54: 0x6c653420, 0x31e55: 0x6c653620, 0x31e56: 0x6c653820, 0x31e57: 0x6c653a20,\n\t0x31e58: 0x6c653c20, 0x31e59: 0x6c653e20, 0x31e5a: 0x6c654020, 0x31e5b: 0x6c654220,\n\t0x31e5c: 0x6c654420, 0x31e5d: 0x6c654620, 0x31e5e: 0x6c654820, 0x31e5f: 0x6c654a20,\n\t0x31e60: 0x6c654c20, 0x31e61: 0x6c654e20, 0x31e62: 0x6c655020, 0x31e63: 0x6c655220,\n\t0x31e64: 0x6c655420, 0x31e65: 0x6c655620, 0x31e66: 0x6c655820, 0x31e67: 0x6c8bc620,\n\t0x31e68: 0x6c8bc820, 0x31e69: 0x6c8bca20, 0x31e6a: 0x6c8bcc20, 0x31e6b: 0x6c8bce20,\n\t0x31e6c: 0x6c8bd020, 0x31e6d: 0x6c8bd220, 0x31e6e: 0x6c8bd420, 0x31e6f: 0x6c8bd620,\n\t0x31e70: 0x6c8bd820, 0x31e71: 0x6c8bda20, 0x31e72: 0x6c8bdc20, 0x31e73: 0x6c8bde20,\n\t0x31e74: 0x6c8be020, 0x31e75: 0x6c8be220, 0x31e76: 0x6c8be420, 0x31e77: 0x6c8be620,\n\t0x31e78: 0x6c8be820, 0x31e79: 0x6c8bea20, 0x31e7a: 0x6c8bec20, 0x31e7b: 0x6c8bee20,\n\t0x31e7c: 0x6c8bf020, 0x31e7d: 0x6c8bf220, 0x31e7e: 0x6c8bf420, 0x31e7f: 0x6c8bf620,\n\t// Block 0xc7a, offset 0x31e80\n\t0x31e80: 0x6c8bf820, 0x31e81: 0x6c8bfa20, 0x31e82: 0x6c8bfc20, 0x31e83: 0x6c8bfe20,\n\t0x31e84: 0x6c8c0020, 0x31e85: 0x6c8c0220, 0x31e86: 0x6c8c0420, 0x31e87: 0x6c8c0620,\n\t0x31e88: 0x6c8c0820, 0x31e89: 0x6c8c0a20, 0x31e8a: 0x6c8c0c20, 0x31e8b: 0x6c8c0e20,\n\t0x31e8c: 0x6c8c1020, 0x31e8d: 0x6c8c1220, 0x31e8e: 0x6c8c1420, 0x31e8f: 0x6c8c1620,\n\t0x31e90: 0x6c8c1820, 0x31e91: 0x6c428e20, 0x31e92: 0x6c8c1a20, 0x31e93: 0x6c8c1c20,\n\t0x31e94: 0x6c8c1e20, 0x31e95: 0x6c8c2020, 0x31e96: 0x6c8c2220, 0x31e97: 0x6c8c2420,\n\t0x31e98: 0x6c8c2620, 0x31e99: 0x6c8c2820, 0x31e9a: 0x6c8c2a20, 0x31e9b: 0x6c8c2c20,\n\t0x31e9c: 0x6c8c2e20, 0x31e9d: 0x6c8c3020, 0x31e9e: 0x6c8c3220, 0x31e9f: 0x6c655a20,\n\t0x31ea0: 0x6c8c3420, 0x31ea1: 0x6c8c3620, 0x31ea2: 0x6c8c3820, 0x31ea3: 0x6c8c3a20,\n\t0x31ea4: 0x6c8c3c20, 0x31ea5: 0x6c8c3e20, 0x31ea6: 0x6c8c4020, 0x31ea7: 0x6c8c4220,\n\t0x31ea8: 0x6c8c4420, 0x31ea9: 0x6c8c4620, 0x31eaa: 0x6c8c4820, 0x31eab: 0x6c8c4a20,\n\t0x31eac: 0x6c8c4c20, 0x31ead: 0x6cb83e20, 0x31eae: 0x6cb84020, 0x31eaf: 0x6cb84220,\n\t0x31eb0: 0x6cb84420, 0x31eb1: 0x6cb84620, 0x31eb2: 0x6cb84820, 0x31eb3: 0x6cb84a20,\n\t0x31eb4: 0x6cb84c20, 0x31eb5: 0x6cb84e20, 0x31eb6: 0x6cb85020, 0x31eb7: 0x6cb85220,\n\t0x31eb8: 0x6cb85420, 0x31eb9: 0x6cb85620, 0x31eba: 0x6cb85820, 0x31ebb: 0x6cb85a20,\n\t0x31ebc: 0x6cb85c20, 0x31ebd: 0x6cb85e20, 0x31ebe: 0x6cb86020, 0x31ebf: 0x6cb86220,\n\t// Block 0xc7b, offset 0x31ec0\n\t0x31ec0: 0x6cb86420, 0x31ec1: 0x6cb86620, 0x31ec2: 0x6cb86820, 0x31ec3: 0x6cb86a20,\n\t0x31ec4: 0x6cb86c20, 0x31ec5: 0x6cb86e20, 0x31ec6: 0x6cb8d620, 0x31ec7: 0x6cb87020,\n\t0x31ec8: 0x6cb87220, 0x31ec9: 0x6cb87420, 0x31eca: 0x6cb87620, 0x31ecb: 0x6cb87820,\n\t0x31ecc: 0x6cb87a20, 0x31ecd: 0x6cb87c20, 0x31ece: 0x6cb87e20, 0x31ecf: 0x6cb88020,\n\t0x31ed0: 0x6cb88220, 0x31ed1: 0x6cb88420, 0x31ed2: 0x6cb88620, 0x31ed3: 0x6cb88820,\n\t0x31ed4: 0x6cb88a20, 0x31ed5: 0x6cb88c20, 0x31ed6: 0x6cb88e20, 0x31ed7: 0x6cb89020,\n\t0x31ed8: 0x6cb89220, 0x31ed9: 0x6cb89420, 0x31eda: 0x6cb89620, 0x31edb: 0x6cb89820,\n\t0x31edc: 0x6cb89a20, 0x31edd: 0x6cb89c20, 0x31ede: 0x6cbd9420, 0x31edf: 0x6cd2ce20,\n\t0x31ee0: 0x6cb89e20, 0x31ee1: 0x6cb8a020, 0x31ee2: 0x6cb8a220, 0x31ee3: 0x6cb8a420,\n\t0x31ee4: 0x6cb8a620, 0x31ee5: 0x6cb8a820, 0x31ee6: 0x6cb8aa20, 0x31ee7: 0x6cb8ac20,\n\t0x31ee8: 0x6cb8ae20, 0x31ee9: 0x6cb8b020, 0x31eea: 0x6ca52820, 0x31eeb: 0x6ce95420,\n\t0x31eec: 0x6ce95620, 0x31eed: 0x6ce95820, 0x31eee: 0x6ce95a20, 0x31eef: 0x6ce95c20,\n\t0x31ef0: 0x6ce95e20, 0x31ef1: 0x6ce96020, 0x31ef2: 0x6ce96220, 0x31ef3: 0x6ce96420,\n\t0x31ef4: 0x6ce96620, 0x31ef5: 0x6ce96820, 0x31ef6: 0x6ce96a20, 0x31ef7: 0x6ce96c20,\n\t0x31ef8: 0x6ce96e20, 0x31ef9: 0x6ce97020, 0x31efa: 0x6ce97220, 0x31efb: 0x6ce97420,\n\t0x31efc: 0x6ce97620, 0x31efd: 0x6ce97820, 0x31efe: 0x6ce97a20, 0x31eff: 0x6ce97c20,\n\t// Block 0xc7c, offset 0x31f00\n\t0x31f00: 0x6ce97e20, 0x31f01: 0x6ce98020, 0x31f02: 0x6ce98220, 0x31f03: 0x6ce98420,\n\t0x31f04: 0x6ce98620, 0x31f05: 0x6ce98820, 0x31f06: 0x6ce98a20, 0x31f07: 0x6ce98c20,\n\t0x31f08: 0x6ce98e20, 0x31f09: 0x6ce99020, 0x31f0a: 0x6ce99220, 0x31f0b: 0x6ce99420,\n\t0x31f0c: 0x6ce99620, 0x31f0d: 0x6ce99820, 0x31f0e: 0x6ce99a20, 0x31f0f: 0x6ce99c20,\n\t0x31f10: 0x6ce99e20, 0x31f11: 0x6ce9a020, 0x31f12: 0x6ce9a220, 0x31f13: 0x6ce9a420,\n\t0x31f14: 0x6ce9a620, 0x31f15: 0x6ce9a820, 0x31f16: 0x6ce9aa20, 0x31f17: 0x6ce9ac20,\n\t0x31f18: 0x6ce9ae20, 0x31f19: 0x6ce9b020, 0x31f1a: 0x6ce9b220, 0x31f1b: 0x6ce9b420,\n\t0x31f1c: 0x6ce9b620, 0x31f1d: 0x6ce9b820, 0x31f1e: 0x6ce9ba20, 0x31f1f: 0x6ce9bc20,\n\t0x31f20: 0x6ce9be20, 0x31f21: 0x6ce9c020, 0x31f22: 0x6d01fc20, 0x31f23: 0x6ce9c220,\n\t0x31f24: 0x6ce9c420, 0x31f25: 0x6d191a20, 0x31f26: 0x6ce9c620, 0x31f27: 0x6ce9c820,\n\t0x31f28: 0x6ce9ca20, 0x31f29: 0x6ce9cc20, 0x31f2a: 0x6ce9ce20, 0x31f2b: 0x6ce9d020,\n\t0x31f2c: 0x6ce9d220, 0x31f2d: 0x6d191c20, 0x31f2e: 0x6d191e20, 0x31f2f: 0x6d192020,\n\t0x31f30: 0x6d192220, 0x31f31: 0x6d192420, 0x31f32: 0x6d192620, 0x31f33: 0x6d192820,\n\t0x31f34: 0x6d192a20, 0x31f35: 0x6d192c20, 0x31f36: 0x6d192e20, 0x31f37: 0x6d193020,\n\t0x31f38: 0x6d193220, 0x31f39: 0x6d193420, 0x31f3a: 0x6d193620, 0x31f3b: 0x6d193820,\n\t0x31f3c: 0x6d193a20, 0x31f3d: 0x6d193c20, 0x31f3e: 0x6d193e20, 0x31f3f: 0x6d194020,\n\t// Block 0xc7d, offset 0x31f40\n\t0x31f40: 0x6d194220, 0x31f41: 0x6d194420, 0x31f42: 0x6d194620, 0x31f43: 0x6d194820,\n\t0x31f44: 0x6d194a20, 0x31f45: 0x6d194c20, 0x31f46: 0x6d194e20, 0x31f47: 0x6d195020,\n\t0x31f48: 0x6d195220, 0x31f49: 0x6d195420, 0x31f4a: 0x6d195620, 0x31f4b: 0x6d195820,\n\t0x31f4c: 0x6d195a20, 0x31f4d: 0x6d195c20, 0x31f4e: 0x6d195e20, 0x31f4f: 0x6d196020,\n\t0x31f50: 0x6d196220, 0x31f51: 0x6d196420, 0x31f52: 0x6d196620, 0x31f53: 0x6d196820,\n\t0x31f54: 0x6d196a20, 0x31f55: 0x6d196c20, 0x31f56: 0x6d196e20, 0x31f57: 0x6d197020,\n\t0x31f58: 0x6d311420, 0x31f59: 0x6d197220, 0x31f5a: 0x6d197420, 0x31f5b: 0x6d2bee20,\n\t0x31f5c: 0x6e0bec20, 0x31f5d: 0x6d197620, 0x31f5e: 0x6d197820, 0x31f5f: 0x6d197a20,\n\t0x31f60: 0x6d197c20, 0x31f61: 0x6d197e20, 0x31f62: 0x6d198020, 0x31f63: 0x6d198220,\n\t0x31f64: 0x6d198420, 0x31f65: 0x6d198620, 0x31f66: 0x6d198820, 0x31f67: 0x6d198a20,\n\t0x31f68: 0x6d198c20, 0x31f69: 0x6d198e20, 0x31f6a: 0x6d199020, 0x31f6b: 0x6d199220,\n\t0x31f6c: 0x6d199420, 0x31f6d: 0x6d199620, 0x31f6e: 0x6d199820, 0x31f6f: 0x6d199a20,\n\t0x31f70: 0x6d199c20, 0x31f71: 0x6d199e20, 0x31f72: 0x6d19a020, 0x31f73: 0x6d19a220,\n\t0x31f74: 0x6d19a420, 0x31f75: 0x6ce9d420, 0x31f76: 0x6d234020, 0x31f77: 0x6d47f620,\n\t0x31f78: 0x6d47f820, 0x31f79: 0x6d47fa20, 0x31f7a: 0x6d47fc20, 0x31f7b: 0x6d47fe20,\n\t0x31f7c: 0x6d480020, 0x31f7d: 0x6d480220, 0x31f7e: 0x6d480420, 0x31f7f: 0x6d480620,\n\t// Block 0xc7e, offset 0x31f80\n\t0x31f80: 0x6d480820, 0x31f81: 0x6d480a20, 0x31f82: 0x6d480c20, 0x31f83: 0x6d480e20,\n\t0x31f84: 0x6d481020, 0x31f85: 0x6d481220, 0x31f86: 0x6d481420, 0x31f87: 0x6d481620,\n\t0x31f88: 0x6d481820, 0x31f89: 0x6d481a20, 0x31f8a: 0x6d481c20, 0x31f8b: 0x6d481e20,\n\t0x31f8c: 0x6d482020, 0x31f8d: 0x6d482220, 0x31f8e: 0x6d482420, 0x31f8f: 0x6d482620,\n\t0x31f90: 0x6d19a620, 0x31f91: 0x6d482820, 0x31f92: 0x6d761c20, 0x31f93: 0x6d49ca20,\n\t0x31f94: 0x6d482a20, 0x31f95: 0x6d482c20, 0x31f96: 0x6d482e20, 0x31f97: 0x6d483020,\n\t0x31f98: 0x6d483220, 0x31f99: 0x6d483420, 0x31f9a: 0x6d483620, 0x31f9b: 0x6d483820,\n\t0x31f9c: 0x6d483a20, 0x31f9d: 0x6d483c20, 0x31f9e: 0x6d483e20, 0x31f9f: 0x6d484020,\n\t0x31fa0: 0x6d484220, 0x31fa1: 0x6d484420, 0x31fa2: 0x6d484620, 0x31fa3: 0x6d484820,\n\t0x31fa4: 0x6d484a20, 0x31fa5: 0x6d484c20, 0x31fa6: 0x6d484e20, 0x31fa7: 0x6d49cc20,\n\t0x31fa8: 0x6d761e20, 0x31fa9: 0x6d762020, 0x31faa: 0x6d762220, 0x31fab: 0x6d762420,\n\t0x31fac: 0x6d762620, 0x31fad: 0x6d762820, 0x31fae: 0x6d762a20, 0x31faf: 0x6d762c20,\n\t0x31fb0: 0x6d762e20, 0x31fb1: 0x6d763020, 0x31fb2: 0x6d763220, 0x31fb3: 0x6d763420,\n\t0x31fb4: 0x6d763620, 0x31fb5: 0x6d763820, 0x31fb6: 0x6d763a20, 0x31fb7: 0x6d763c20,\n\t0x31fb8: 0x6d763e20, 0x31fb9: 0x6d764020, 0x31fba: 0x6d764220, 0x31fbb: 0x6d764420,\n\t0x31fbc: 0x6d764620, 0x31fbd: 0x6d764820, 0x31fbe: 0x6d764a20, 0x31fbf: 0x6d764c20,\n\t// Block 0xc7f, offset 0x31fc0\n\t0x31fc0: 0x6d764e20, 0x31fc1: 0x6d765020, 0x31fc2: 0x6d765220, 0x31fc3: 0x6d765420,\n\t0x31fc4: 0x6d765620, 0x31fc5: 0x6d765820, 0x31fc6: 0x6d765a20, 0x31fc7: 0x6d765c20,\n\t0x31fc8: 0x6d9fc820, 0x31fc9: 0x6d9fca20, 0x31fca: 0x6d9fcc20, 0x31fcb: 0x6d9fce20,\n\t0x31fcc: 0x6d9fd020, 0x31fcd: 0x6d9fd220, 0x31fce: 0x6d9fd420, 0x31fcf: 0x6d9fd620,\n\t0x31fd0: 0x6d9fd820, 0x31fd1: 0x6d9fda20, 0x31fd2: 0x6d9fdc20, 0x31fd3: 0x6d9fde20,\n\t0x31fd4: 0x6d9fe020, 0x31fd5: 0x6d9fe220, 0x31fd6: 0x6d9fe420, 0x31fd7: 0x6d9fe620,\n\t0x31fd8: 0x6d9fe820, 0x31fd9: 0x6d9fea20, 0x31fda: 0x6d9fec20, 0x31fdb: 0x6d9fee20,\n\t0x31fdc: 0x6db61c20, 0x31fdd: 0x6d9ff020, 0x31fde: 0x6d9ff220, 0x31fdf: 0x6d9ff420,\n\t0x31fe0: 0x6d9ff620, 0x31fe1: 0x6d9ff820, 0x31fe2: 0x6d9ffa20, 0x31fe3: 0x6dc25620,\n\t0x31fe4: 0x6dc25820, 0x31fe5: 0x6dc25a20, 0x31fe6: 0x6dc25c20, 0x31fe7: 0x6dc25e20,\n\t0x31fe8: 0x6dc26020, 0x31fe9: 0x6dc26220, 0x31fea: 0x6dc26420, 0x31feb: 0x6dc26620,\n\t0x31fec: 0x6dc26820, 0x31fed: 0x6dc26a20, 0x31fee: 0x6dc26c20, 0x31fef: 0x6dc26e20,\n\t0x31ff0: 0x6dc27020, 0x31ff1: 0x6dc27220, 0x31ff2: 0x6dc27420, 0x31ff3: 0x6dc27620,\n\t0x31ff4: 0x6dc27820, 0x31ff5: 0x6dc27a20, 0x31ff6: 0x6dc27c20, 0x31ff7: 0x6dc27e20,\n\t0x31ff8: 0x6dc28020, 0x31ff9: 0x6dc28220, 0x31ffa: 0x6dc28420, 0x31ffb: 0x6de01a20,\n\t0x31ffc: 0x6de01c20, 0x31ffd: 0x6de01e20, 0x31ffe: 0x6de02020, 0x31fff: 0x6de02220,\n\t// Block 0xc80, offset 0x32000\n\t0x32000: 0x6de02420, 0x32001: 0x6de02620, 0x32002: 0x6de5da20, 0x32003: 0x6de02820,\n\t0x32004: 0x6de02a20, 0x32005: 0x6de02c20, 0x32006: 0x6de02e20, 0x32007: 0x6de03020,\n\t0x32008: 0x6de03220, 0x32009: 0x6de03420, 0x3200a: 0x6de03620, 0x3200b: 0x6de03820,\n\t0x3200c: 0x6de03a20, 0x3200d: 0x6df87620, 0x3200e: 0x6df87820, 0x3200f: 0x6df87a20,\n\t0x32010: 0x6df87c20, 0x32011: 0x6df87e20, 0x32012: 0x6df88020, 0x32013: 0x6df88220,\n\t0x32014: 0x6df88420, 0x32015: 0x6df88620, 0x32016: 0x6df88820, 0x32017: 0x6e0c4a20,\n\t0x32018: 0x6e0c4c20, 0x32019: 0x6e0c4e20, 0x3201a: 0x6e0c5020, 0x3201b: 0x6e0c5220,\n\t0x3201c: 0x6e0c5420, 0x3201d: 0x6e0c5620, 0x3201e: 0x6df88a20, 0x3201f: 0x6e0c5820,\n\t0x32020: 0x6e0c5a20, 0x32021: 0x6e0c5c20, 0x32022: 0x6e0c5e20, 0x32023: 0x6e0c6020,\n\t0x32024: 0x6e1c0c20, 0x32025: 0x6e1c0e20, 0x32026: 0x6e1c1020, 0x32027: 0x6e1c1220,\n\t0x32028: 0x6e1c1420, 0x32029: 0x6e1c1620, 0x3202a: 0x6e284e20, 0x3202b: 0x6e285020,\n\t0x3202c: 0x6e285220, 0x3202d: 0x6e285420, 0x3202e: 0x6e285620, 0x3202f: 0x6e285820,\n\t0x32030: 0x6e318a20, 0x32031: 0x6e38ae20, 0x32032: 0x6e3ce420, 0x32033: 0x6e3ce620,\n\t0x32034: 0x6e446c20, 0x32035: 0x6e442220, 0x32036: 0x6c02cc20, 0x32037: 0x6c061020,\n\t0x32038: 0x6c061220, 0x32039: 0x6c0c5020, 0x3203a: 0x6c0c5220, 0x3203b: 0x6c0c5420,\n\t0x3203c: 0x6c0c5620, 0x3203d: 0x6c174220, 0x3203e: 0x6c174420, 0x3203f: 0x6c174620,\n\t// Block 0xc81, offset 0x32040\n\t0x32040: 0x6c174820, 0x32041: 0x6c174a20, 0x32042: 0x6c174c20, 0x32043: 0x6c2a3820,\n\t0x32044: 0x6c2a3a20, 0x32045: 0x6c2a3c20, 0x32046: 0x6c2a3e20, 0x32047: 0x6c2a4020,\n\t0x32048: 0x6c2a4220, 0x32049: 0x6c2a4420, 0x3204a: 0x6c2a4620, 0x3204b: 0x6c2a4820,\n\t0x3204c: 0x6c446020, 0x3204d: 0x6c446220, 0x3204e: 0x6c446420, 0x3204f: 0x6c446620,\n\t0x32050: 0x6c657620, 0x32051: 0x6c657820, 0x32052: 0x6c657a20, 0x32053: 0x6c657c20,\n\t0x32054: 0x6c657e20, 0x32055: 0x6c658020, 0x32056: 0x6c658220, 0x32057: 0x6c8c6e20,\n\t0x32058: 0x6c8c7020, 0x32059: 0x6c8c7220, 0x3205a: 0x6c8c7420, 0x3205b: 0x6c8c7620,\n\t0x3205c: 0x6c8c7820, 0x3205d: 0x6c8c7a20, 0x3205e: 0x6cb8ca20, 0x3205f: 0x6cb8cc20,\n\t0x32060: 0x6cb8ce20, 0x32061: 0x6cb8d020, 0x32062: 0x6cb8d220, 0x32063: 0x6cb8d420,\n\t0x32064: 0x6ce9e420, 0x32065: 0x6ce9e620, 0x32066: 0x6ce9e820, 0x32067: 0x6d19b820,\n\t0x32068: 0x6d19ba20, 0x32069: 0x6d19bc20, 0x3206a: 0x6d19be20, 0x3206b: 0x6d19c020,\n\t0x3206c: 0x6d19c220, 0x3206d: 0x6d19c420, 0x3206e: 0x6d19c620, 0x3206f: 0x6d19c820,\n\t0x32070: 0x6d485c20, 0x32071: 0x6d485e20, 0x32072: 0x6d486020, 0x32073: 0x6d766820,\n\t0x32074: 0x6d486220, 0x32075: 0x6d486420, 0x32076: 0x6d486620, 0x32077: 0x6d486820,\n\t0x32078: 0x6d766a20, 0x32079: 0x6d766c20, 0x3207a: 0x6d766e20, 0x3207b: 0x6d767020,\n\t0x3207c: 0x6d767220, 0x3207d: 0x6d767420, 0x3207e: 0x6d767620, 0x3207f: 0x6da00420,\n\t// Block 0xc82, offset 0x32080\n\t0x32080: 0x6da00620, 0x32081: 0x6da00820, 0x32082: 0x6da00a20, 0x32083: 0x6da00c20,\n\t0x32084: 0x6da00e20, 0x32085: 0x6da01020, 0x32086: 0x6dc28e20, 0x32087: 0x6da01220,\n\t0x32088: 0x6dc29020, 0x32089: 0x6dc29220, 0x3208a: 0x6dc29420, 0x3208b: 0x6de04220,\n\t0x3208c: 0x6de23820, 0x3208d: 0x6df88e20, 0x3208e: 0x6de04420, 0x3208f: 0x6df89020,\n\t0x32090: 0x6df89220, 0x32091: 0x6e0c6620, 0x32092: 0x6e0c6820, 0x32093: 0x6e1c1820,\n\t0x32094: 0x6e1c1a20, 0x32095: 0x6e285a20, 0x32096: 0x6e285c20, 0x32097: 0x6e318c20,\n\t0x32098: 0x6e318e20, 0x32099: 0x6e319020, 0x3209a: 0x6e3ce820, 0x3209b: 0x6c014a20,\n\t0x3209c: 0x6c02d020, 0x3209d: 0x6c02d220, 0x3209e: 0x6c02d420, 0x3209f: 0x6c061a20,\n\t0x320a0: 0x6c0c6020, 0x320a1: 0x6c0c6220, 0x320a2: 0x6c0c6420, 0x320a3: 0x6c0c6620,\n\t0x320a4: 0x6c175220, 0x320a5: 0x6c175420, 0x320a6: 0x6c175620, 0x320a7: 0x6c175820,\n\t0x320a8: 0x6c175a20, 0x320a9: 0x6c2a4e20, 0x320aa: 0x6c446e20, 0x320ab: 0x6c447020,\n\t0x320ac: 0x6c447220, 0x320ad: 0x6c658620, 0x320ae: 0x6c658820, 0x320af: 0x6c658a20,\n\t0x320b0: 0x6c658c20, 0x320b1: 0x6c8c7c20, 0x320b2: 0x6cb8d820, 0x320b3: 0x6cb8da20,\n\t0x320b4: 0x6ce9ec20, 0x320b5: 0x6ce9ee20, 0x320b6: 0x6ce9f020, 0x320b7: 0x6ce9f220,\n\t0x320b8: 0x6d19ca20, 0x320b9: 0x6d19cc20, 0x320ba: 0x6d19ce20, 0x320bb: 0x6d19d020,\n\t0x320bc: 0x6d767820, 0x320bd: 0x6da01420, 0x320be: 0x6dc29620, 0x320bf: 0x6df89420,\n\t// Block 0xc83, offset 0x320c0\n\t0x320c0: 0x6c014c20, 0x320c1: 0x6c02de20, 0x320c2: 0x6c02e020, 0x320c3: 0x6c02e220,\n\t0x320c4: 0x6c02e420, 0x320c5: 0x6c061e20, 0x320c6: 0x6c062020, 0x320c7: 0x6c020820,\n\t0x320c8: 0x6c0c7220, 0x320c9: 0x6c0c7420, 0x320ca: 0x6c176420, 0x320cb: 0x6c176620,\n\t0x320cc: 0x6c176820, 0x320cd: 0x6c176a20, 0x320ce: 0x6c176c20, 0x320cf: 0x6c176e20,\n\t0x320d0: 0x6c2a5620, 0x320d1: 0x6c2a5820, 0x320d2: 0x6c447a20, 0x320d3: 0x6c447c20,\n\t0x320d4: 0x6c447e20, 0x320d5: 0x6c448020, 0x320d6: 0x6c448220, 0x320d7: 0x6c448420,\n\t0x320d8: 0x6c4d0420, 0x320d9: 0x6c659420, 0x320da: 0x6c659620, 0x320db: 0x6c659820,\n\t0x320dc: 0x6c8c8020, 0x320dd: 0x6c8c8220, 0x320de: 0x6cb8dc20, 0x320df: 0x6cb8de20,\n\t0x320e0: 0x6cb8e020, 0x320e1: 0x6cb8e220, 0x320e2: 0x6cb8e420, 0x320e3: 0x6cb8e620,\n\t0x320e4: 0x6cb8e820, 0x320e5: 0x6cb8ea20, 0x320e6: 0x6cb8ec20, 0x320e7: 0x6cb8ee20,\n\t0x320e8: 0x6ce9f820, 0x320e9: 0x6ce9fa20, 0x320ea: 0x6ce9fc20, 0x320eb: 0x6ce9fe20,\n\t0x320ec: 0x6cea0020, 0x320ed: 0x6cea0220, 0x320ee: 0x6cea0420, 0x320ef: 0x6d19d220,\n\t0x320f0: 0x6d19d420, 0x320f1: 0x6d19d620, 0x320f2: 0x6d1b1620, 0x320f3: 0x6d767c20,\n\t0x320f4: 0x6d767e20, 0x320f5: 0x6d768020, 0x320f6: 0x6dc29a20, 0x320f7: 0x6dc29c20,\n\t0x320f8: 0x6de04820, 0x320f9: 0x6de04a20, 0x320fa: 0x6de04c20, 0x320fb: 0x6e474020,\n\t0x320fc: 0x6c014e20, 0x320fd: 0x6c02f220, 0x320fe: 0x6c02f420, 0x320ff: 0x6c02f620,\n\t// Block 0xc84, offset 0x32100\n\t0x32100: 0x6c02f820, 0x32101: 0x6c062a20, 0x32102: 0x6c062c20, 0x32103: 0x6c062e20,\n\t0x32104: 0x6c063020, 0x32105: 0x6c063220, 0x32106: 0x6c063420, 0x32107: 0x6c063620,\n\t0x32108: 0x6c063820, 0x32109: 0x6c063a20, 0x3210a: 0x6c063c20, 0x3210b: 0x6c0c7c20,\n\t0x3210c: 0x6c0c7e20, 0x3210d: 0x6c0c8020, 0x3210e: 0x6c0c8220, 0x3210f: 0x6c0c8420,\n\t0x32110: 0x6c177220, 0x32111: 0x6c177420, 0x32112: 0x6c177620, 0x32113: 0x6c177820,\n\t0x32114: 0x6c177a20, 0x32115: 0x6c177c20, 0x32116: 0x6c2a6020, 0x32117: 0x6c2a6220,\n\t0x32118: 0x6c2a6420, 0x32119: 0x6c2a6620, 0x3211a: 0x6c2a6820, 0x3211b: 0x6c448a20,\n\t0x3211c: 0x6c448c20, 0x3211d: 0x6c659e20, 0x3211e: 0x6c65a020, 0x3211f: 0x6c65a220,\n\t0x32120: 0x6c8c8a20, 0x32121: 0x6c8c8c20, 0x32122: 0x6c8c8e20, 0x32123: 0x6cb8f620,\n\t0x32124: 0x6cb8f820, 0x32125: 0x6cb8fa20, 0x32126: 0x6cea0a20, 0x32127: 0x6cea0c20,\n\t0x32128: 0x6d19dc20, 0x32129: 0x6d19de20, 0x3212a: 0x6d487220, 0x3212b: 0x6d227a20,\n\t0x3212c: 0x6d487420, 0x3212d: 0x6d768420, 0x3212e: 0x6d768620, 0x3212f: 0x6dc29e20,\n\t0x32130: 0x6dc2a020, 0x32131: 0x6df89820, 0x32132: 0x6e1c1e20, 0x32133: 0x6c030220,\n\t0x32134: 0x6c030420, 0x32135: 0x6c064220, 0x32136: 0x6c064420, 0x32137: 0x6c064620,\n\t0x32138: 0x6c064820, 0x32139: 0x6c0c8a20, 0x3213a: 0x6c0c8c20, 0x3213b: 0x6c0c8e20,\n\t0x3213c: 0x6c0c9020, 0x3213d: 0x6c0c9220, 0x3213e: 0x6c0c9420, 0x3213f: 0x6c0c9620,\n\t// Block 0xc85, offset 0x32140\n\t0x32140: 0x6c178220, 0x32141: 0x6c178420, 0x32142: 0x6c178620, 0x32143: 0x6c178820,\n\t0x32144: 0x6c2a6c20, 0x32145: 0x6c2a6e20, 0x32146: 0x6c2a7020, 0x32147: 0x6c449620,\n\t0x32148: 0x6c449820, 0x32149: 0x6c449a20, 0x3214a: 0x6c449c20, 0x3214b: 0x6c449e20,\n\t0x3214c: 0x6c65b220, 0x3214d: 0x6c65b420, 0x3214e: 0x6c65b620, 0x3214f: 0x6c65b820,\n\t0x32150: 0x6c65ba20, 0x32151: 0x6c65bc20, 0x32152: 0x6c65be20, 0x32153: 0x6c8c9220,\n\t0x32154: 0x6cb8fe20, 0x32155: 0x6cb90020, 0x32156: 0x6cb90220, 0x32157: 0x6cb90420,\n\t0x32158: 0x6cb90620, 0x32159: 0x6cb90820, 0x3215a: 0x6cea0e20, 0x3215b: 0x6cea1020,\n\t0x3215c: 0x6d19e220, 0x3215d: 0x6d19e420, 0x3215e: 0x6d19e620, 0x3215f: 0x6d30e420,\n\t0x32160: 0x6d768a20, 0x32161: 0x6d768c20, 0x32162: 0x6da01820, 0x32163: 0x6dc2a220,\n\t0x32164: 0x6dc2a420, 0x32165: 0x6dc2a620, 0x32166: 0x6df89a20, 0x32167: 0x6df89c20,\n\t0x32168: 0x6df89e20, 0x32169: 0x6e0c6a20, 0x3216a: 0x6e1c2020, 0x3216b: 0x6e285e20,\n\t0x3216c: 0x6c015020, 0x3216d: 0x6c030820, 0x3216e: 0x6c065220, 0x3216f: 0x6c065420,\n\t0x32170: 0x6c065620, 0x32171: 0x6c0ca620, 0x32172: 0x6c0ca820, 0x32173: 0x6c0caa20,\n\t0x32174: 0x6c0cac20, 0x32175: 0x6c0cae20, 0x32176: 0x6c0cb020, 0x32177: 0x6c179e20,\n\t0x32178: 0x6c17a020, 0x32179: 0x6c17a220, 0x3217a: 0x6c17a420, 0x3217b: 0x6c17a620,\n\t0x3217c: 0x6c17a820, 0x3217d: 0x6c17aa20, 0x3217e: 0x6c17ac20, 0x3217f: 0x6c17ae20,\n\t// Block 0xc86, offset 0x32180\n\t0x32180: 0x6c2a8820, 0x32181: 0x6c17b020, 0x32182: 0x6c2a8a20, 0x32183: 0x6c2a8c20,\n\t0x32184: 0x6c2a8e20, 0x32185: 0x6c2a9020, 0x32186: 0x6c2a9220, 0x32187: 0x6c2a9420,\n\t0x32188: 0x6c44aa20, 0x32189: 0x6c44ac20, 0x3218a: 0x6c44ae20, 0x3218b: 0x6c44b020,\n\t0x3218c: 0x6c44b220, 0x3218d: 0x6c44b420, 0x3218e: 0x6c44b620, 0x3218f: 0x6c44b820,\n\t0x32190: 0x6c44ba20, 0x32191: 0x6c44bc20, 0x32192: 0x6c44be20, 0x32193: 0x6c44c020,\n\t0x32194: 0x6c44c220, 0x32195: 0x6c44c420, 0x32196: 0x6c44c620, 0x32197: 0x6c44c820,\n\t0x32198: 0x6c65de20, 0x32199: 0x6c65e020, 0x3219a: 0x6c65e220, 0x3219b: 0x6c65e420,\n\t0x3219c: 0x6c65e620, 0x3219d: 0x6c65e820, 0x3219e: 0x6c65ea20, 0x3219f: 0x6c65ec20,\n\t0x321a0: 0x6c65ee20, 0x321a1: 0x6c65f020, 0x321a2: 0x6c65f220, 0x321a3: 0x6c65f420,\n\t0x321a4: 0x6c65f620, 0x321a5: 0x6c8c9e20, 0x321a6: 0x6c8ca020, 0x321a7: 0x6c8ca220,\n\t0x321a8: 0x6c8ca420, 0x321a9: 0x6c8ca620, 0x321aa: 0x6c8ca820, 0x321ab: 0x6c8caa20,\n\t0x321ac: 0x6c8cac20, 0x321ad: 0x6c8cae20, 0x321ae: 0x6c8cb020, 0x321af: 0x6c8cb220,\n\t0x321b0: 0x6c8cb420, 0x321b1: 0x6cb91a20, 0x321b2: 0x6cb91c20, 0x321b3: 0x6cb91e20,\n\t0x321b4: 0x6cb92020, 0x321b5: 0x6cb92220, 0x321b6: 0x6cb92420, 0x321b7: 0x6cb92620,\n\t0x321b8: 0x6cb92820, 0x321b9: 0x6cb92a20, 0x321ba: 0x6cea1620, 0x321bb: 0x6cea1820,\n\t0x321bc: 0x6cea1a20, 0x321bd: 0x6cea1c20, 0x321be: 0x6cea1e20, 0x321bf: 0x6cea2020,\n\t// Block 0xc87, offset 0x321c0\n\t0x321c0: 0x6cea2220, 0x321c1: 0x6cea2420, 0x321c2: 0x6cea2620, 0x321c3: 0x6cea2820,\n\t0x321c4: 0x6d19ee20, 0x321c5: 0x6d19f020, 0x321c6: 0x6d19f220, 0x321c7: 0x6d19f420,\n\t0x321c8: 0x6d19f620, 0x321c9: 0x6d19f820, 0x321ca: 0x6d488020, 0x321cb: 0x6d488220,\n\t0x321cc: 0x6d488420, 0x321cd: 0x6d488620, 0x321ce: 0x6d488820, 0x321cf: 0x6d488a20,\n\t0x321d0: 0x6d488c20, 0x321d1: 0x6d488e20, 0x321d2: 0x6d769220, 0x321d3: 0x6d19fa20,\n\t0x321d4: 0x6d769420, 0x321d5: 0x6d769620, 0x321d6: 0x6da01c20, 0x321d7: 0x6da01e20,\n\t0x321d8: 0x6da02020, 0x321d9: 0x6da02220, 0x321da: 0x6da02420, 0x321db: 0x6da02620,\n\t0x321dc: 0x6da02820, 0x321dd: 0x6dc2a820, 0x321de: 0x6dc2aa20, 0x321df: 0x6dc2ac20,\n\t0x321e0: 0x6dc2ae20, 0x321e1: 0x6dc2b020, 0x321e2: 0x6de04e20, 0x321e3: 0x6de05020,\n\t0x321e4: 0x6e0c6c20, 0x321e5: 0x6e1c2220, 0x321e6: 0x6e3cea20, 0x321e7: 0x6c009620,\n\t0x321e8: 0x6c009820, 0x321e9: 0x6c030c20, 0x321ea: 0x6c030e20, 0x321eb: 0x6c031020,\n\t0x321ec: 0x6c031220, 0x321ed: 0x6c031420, 0x321ee: 0x6c031620, 0x321ef: 0x6c031820,\n\t0x321f0: 0x6c031a20, 0x321f1: 0x6c066020, 0x321f2: 0x6c066220, 0x321f3: 0x6c066420,\n\t0x321f4: 0x6c066620, 0x321f5: 0x6c0cc220, 0x321f6: 0x6c0cc420, 0x321f7: 0x6c0cc620,\n\t0x321f8: 0x6c0cc820, 0x321f9: 0x6c0cca20, 0x321fa: 0x6c0ccc20, 0x321fb: 0x6c0cce20,\n\t0x321fc: 0x6c17ba20, 0x321fd: 0x6c17bc20, 0x321fe: 0x6c17be20, 0x321ff: 0x6c17c020,\n\t// Block 0xc88, offset 0x32200\n\t0x32200: 0x6c17c220, 0x32201: 0x6c17c420, 0x32202: 0x6c17c620, 0x32203: 0x6c17c820,\n\t0x32204: 0x6c17ca20, 0x32205: 0x6c17cc20, 0x32206: 0x6c2a9e20, 0x32207: 0x6c2aa020,\n\t0x32208: 0x6c2aa220, 0x32209: 0x6c2aa420, 0x3220a: 0x6c2aa620, 0x3220b: 0x6c2aa820,\n\t0x3220c: 0x6c2aaa20, 0x3220d: 0x6c2aac20, 0x3220e: 0x6c2aae20, 0x3220f: 0x6c44d220,\n\t0x32210: 0x6c44d420, 0x32211: 0x6c44d620, 0x32212: 0x6c660020, 0x32213: 0x6c660220,\n\t0x32214: 0x6c660420, 0x32215: 0x6c660620, 0x32216: 0x6c660820, 0x32217: 0x6c6de220,\n\t0x32218: 0x6c8cc220, 0x32219: 0x6c8cc420, 0x3221a: 0x6c916e20, 0x3221b: 0x6c8cc620,\n\t0x3221c: 0x6c8cc820, 0x3221d: 0x6c8cca20, 0x3221e: 0x6c8ccc20, 0x3221f: 0x6cb93620,\n\t0x32220: 0x6cb93820, 0x32221: 0x6cb93a20, 0x32222: 0x6cb93c20, 0x32223: 0x6cb93e20,\n\t0x32224: 0x6cea2e20, 0x32225: 0x6cea3020, 0x32226: 0x6cea3220, 0x32227: 0x6cea3420,\n\t0x32228: 0x6d1a0220, 0x32229: 0x6d1a0420, 0x3222a: 0x6d1a0620, 0x3222b: 0x6d489220,\n\t0x3222c: 0x6d717420, 0x3222d: 0x6d769a20, 0x3222e: 0x6d769c20, 0x3222f: 0x6d769e20,\n\t0x32230: 0x6d76a020, 0x32231: 0x6da02c20, 0x32232: 0x6df8a220, 0x32233: 0x6e0c6e20,\n\t0x32234: 0x6c009c20, 0x32235: 0x6c015820, 0x32236: 0x6c031e20, 0x32237: 0x6c032020,\n\t0x32238: 0x6c032220, 0x32239: 0x6c067220, 0x3223a: 0x6c067420, 0x3223b: 0x6c067620,\n\t0x3223c: 0x6c076c20, 0x3223d: 0x6c067820, 0x3223e: 0x6c0cd620, 0x3223f: 0x6c0cd820,\n\t// Block 0xc89, offset 0x32240\n\t0x32240: 0x6c0cda20, 0x32241: 0x6c0cdc20, 0x32242: 0x6c0cde20, 0x32243: 0x6c0ce020,\n\t0x32244: 0x6c0ce220, 0x32245: 0x6c0ce420, 0x32246: 0x6c17d020, 0x32247: 0x6c17d220,\n\t0x32248: 0x6c17d420, 0x32249: 0x6c17d620, 0x3224a: 0x6c17d820, 0x3224b: 0x6c2ab420,\n\t0x3224c: 0x6c2ab620, 0x3224d: 0x6c2ab820, 0x3224e: 0x6c44da20, 0x3224f: 0x6c44dc20,\n\t0x32250: 0x6c44de20, 0x32251: 0x6c633020, 0x32252: 0x6c660c20, 0x32253: 0x6c660e20,\n\t0x32254: 0x6c8cd020, 0x32255: 0x6c8cd220, 0x32256: 0x6c8cd420, 0x32257: 0x6c8cd620,\n\t0x32258: 0x6cb94220, 0x32259: 0x6d1a0820, 0x3225a: 0x6d1a0a20, 0x3225b: 0x6d4b1220,\n\t0x3225c: 0x6d489420, 0x3225d: 0x6d76a220, 0x3225e: 0x6da02e20, 0x3225f: 0x6de05220,\n\t0x32260: 0x6df8a420, 0x32261: 0x6e0c7020, 0x32262: 0x6e319220, 0x32263: 0x6c00a620,\n\t0x32264: 0x6c015e20, 0x32265: 0x6c032c20, 0x32266: 0x6c032e20, 0x32267: 0x6c033020,\n\t0x32268: 0x6c033220, 0x32269: 0x6c033420, 0x3226a: 0x6c033620, 0x3226b: 0x6c033820,\n\t0x3226c: 0x6c033a20, 0x3226d: 0x6c068c20, 0x3226e: 0x6c068e20, 0x3226f: 0x6c069020,\n\t0x32270: 0x6c069220, 0x32271: 0x6c069420, 0x32272: 0x6c069620, 0x32273: 0x6c069820,\n\t0x32274: 0x6c069a20, 0x32275: 0x6c0d0620, 0x32276: 0x6c069c20, 0x32277: 0x6c0d0820,\n\t0x32278: 0x6c0d0a20, 0x32279: 0x6c0d0c20, 0x3227a: 0x6c0d0e20, 0x3227b: 0x6c069e20,\n\t0x3227c: 0x6c0d1020, 0x3227d: 0x6c0d1220, 0x3227e: 0x6c0d1420, 0x3227f: 0x6c0d1620,\n\t// Block 0xc8a, offset 0x32280\n\t0x32280: 0x6c0d1820, 0x32281: 0x6c0d1a20, 0x32282: 0x6c0d1c20, 0x32283: 0x6c0d1e20,\n\t0x32284: 0x6c0d2020, 0x32285: 0x6c0d2220, 0x32286: 0x6c0d2420, 0x32287: 0x6c0d2620,\n\t0x32288: 0x6c0d2820, 0x32289: 0x6c0d2a20, 0x3228a: 0x6c0d2c20, 0x3228b: 0x6c0d2e20,\n\t0x3228c: 0x6c0d3020, 0x3228d: 0x6c0d3220, 0x3228e: 0x6c180220, 0x3228f: 0x6c180420,\n\t0x32290: 0x6c180620, 0x32291: 0x6c180820, 0x32292: 0x6c180a20, 0x32293: 0x6c180c20,\n\t0x32294: 0x6c180e20, 0x32295: 0x6c181020, 0x32296: 0x6c181220, 0x32297: 0x6c181420,\n\t0x32298: 0x6c181620, 0x32299: 0x6c181820, 0x3229a: 0x6c181a20, 0x3229b: 0x6c181c20,\n\t0x3229c: 0x6c181e20, 0x3229d: 0x6c182020, 0x3229e: 0x6c182220, 0x3229f: 0x6c182420,\n\t0x322a0: 0x6c182620, 0x322a1: 0x6c182820, 0x322a2: 0x6c182a20, 0x322a3: 0x6c182c20,\n\t0x322a4: 0x6c182e20, 0x322a5: 0x6c183020, 0x322a6: 0x6c183220, 0x322a7: 0x6c2af220,\n\t0x322a8: 0x6c2af420, 0x322a9: 0x6c2af620, 0x322aa: 0x6c2af820, 0x322ab: 0x6c2afa20,\n\t0x322ac: 0x6c2afc20, 0x322ad: 0x6c2afe20, 0x322ae: 0x6c2b0020, 0x322af: 0x6c2b0220,\n\t0x322b0: 0x6c2b0420, 0x322b1: 0x6c2b0620, 0x322b2: 0x6c2b0820, 0x322b3: 0x6c2b0a20,\n\t0x322b4: 0x6c2b0c20, 0x322b5: 0x6c2b0e20, 0x322b6: 0x6c2b1020, 0x322b7: 0x6c2b1220,\n\t0x322b8: 0x6c2b1420, 0x322b9: 0x6c2b1620, 0x322ba: 0x6c2b1820, 0x322bb: 0x6c2b1a20,\n\t0x322bc: 0x6c2b1c20, 0x322bd: 0x6c2b1e20, 0x322be: 0x6c2b2020, 0x322bf: 0x6c2b2220,\n\t// Block 0xc8b, offset 0x322c0\n\t0x322c0: 0x6c2b2420, 0x322c1: 0x6c2b2620, 0x322c2: 0x6c2b2820, 0x322c3: 0x6c2b2a20,\n\t0x322c4: 0x6c2b2c20, 0x322c5: 0x6c2b2e20, 0x322c6: 0x6c2b3020, 0x322c7: 0x6c2b3220,\n\t0x322c8: 0x6c2b3420, 0x322c9: 0x6c2b3620, 0x322ca: 0x6c2b3820, 0x322cb: 0x6c2b3a20,\n\t0x322cc: 0x6c2b3c20, 0x322cd: 0x6c2b3e20, 0x322ce: 0x6c2b4020, 0x322cf: 0x6c2b4220,\n\t0x322d0: 0x6c450620, 0x322d1: 0x6c450820, 0x322d2: 0x6c450a20, 0x322d3: 0x6c450c20,\n\t0x322d4: 0x6c450e20, 0x322d5: 0x6c451020, 0x322d6: 0x6c451220, 0x322d7: 0x6c451420,\n\t0x322d8: 0x6c451620, 0x322d9: 0x6c451820, 0x322da: 0x6c451a20, 0x322db: 0x6c451c20,\n\t0x322dc: 0x6c451e20, 0x322dd: 0x6c452020, 0x322de: 0x6c452220, 0x322df: 0x6c452420,\n\t0x322e0: 0x6c452620, 0x322e1: 0x6c452820, 0x322e2: 0x6c452a20, 0x322e3: 0x6c452c20,\n\t0x322e4: 0x6c452e20, 0x322e5: 0x6c453020, 0x322e6: 0x6c453220, 0x322e7: 0x6c453420,\n\t0x322e8: 0x6c453620, 0x322e9: 0x6c453820, 0x322ea: 0x6c453a20, 0x322eb: 0x6c453c20,\n\t0x322ec: 0x6c453e20, 0x322ed: 0x6c454020, 0x322ee: 0x6c454220, 0x322ef: 0x6c454420,\n\t0x322f0: 0x6c454620, 0x322f1: 0x6c664820, 0x322f2: 0x6c664a20, 0x322f3: 0x6c664c20,\n\t0x322f4: 0x6c664e20, 0x322f5: 0x6c665020, 0x322f6: 0x6c665220, 0x322f7: 0x6c665420,\n\t0x322f8: 0x6c665620, 0x322f9: 0x6c665820, 0x322fa: 0x6c665a20, 0x322fb: 0x6c665c20,\n\t0x322fc: 0x6c665e20, 0x322fd: 0x6c666020, 0x322fe: 0x6c666220, 0x322ff: 0x6c666420,\n\t// Block 0xc8c, offset 0x32300\n\t0x32300: 0x6c666620, 0x32301: 0x6c666820, 0x32302: 0x6c666a20, 0x32303: 0x6c666c20,\n\t0x32304: 0x6c666e20, 0x32305: 0x6c667020, 0x32306: 0x6c667220, 0x32307: 0x6c667420,\n\t0x32308: 0x6c667620, 0x32309: 0x6c667820, 0x3230a: 0x6c667a20, 0x3230b: 0x6c667c20,\n\t0x3230c: 0x6c667e20, 0x3230d: 0x6c668020, 0x3230e: 0x6c668220, 0x3230f: 0x6c668420,\n\t0x32310: 0x6c668620, 0x32311: 0x6c668820, 0x32312: 0x6c668a20, 0x32313: 0x6c668c20,\n\t0x32314: 0x6c668e20, 0x32315: 0x6c669020, 0x32316: 0x6c669220, 0x32317: 0x6c669420,\n\t0x32318: 0x6c669620, 0x32319: 0x6c669820, 0x3231a: 0x6c669a20, 0x3231b: 0x6c669c20,\n\t0x3231c: 0x6c669e20, 0x3231d: 0x6c8cf820, 0x3231e: 0x6c8cfa20, 0x3231f: 0x6c8cfc20,\n\t0x32320: 0x6c8cfe20, 0x32321: 0x6c8d0020, 0x32322: 0x6c8d0220, 0x32323: 0x6c8d0420,\n\t0x32324: 0x6c8d0620, 0x32325: 0x6c8d0820, 0x32326: 0x6c8d0a20, 0x32327: 0x6c8d0c20,\n\t0x32328: 0x6c8d0e20, 0x32329: 0x6c8d1020, 0x3232a: 0x6c8d1220, 0x3232b: 0x6c8d1420,\n\t0x3232c: 0x6c8d1620, 0x3232d: 0x6c8d1820, 0x3232e: 0x6c8d1a20, 0x3232f: 0x6c8d1c20,\n\t0x32330: 0x6c8d1e20, 0x32331: 0x6c8d2020, 0x32332: 0x6c8d2220, 0x32333: 0x6c8d2420,\n\t0x32334: 0x6c8d2620, 0x32335: 0x6c8d2820, 0x32336: 0x6c66a020, 0x32337: 0x6c8d2a20,\n\t0x32338: 0x6c8d2c20, 0x32339: 0x6c8d2e20, 0x3233a: 0x6c8d3020, 0x3233b: 0x6c8d3220,\n\t0x3233c: 0x6c8d3420, 0x3233d: 0x6c8d3620, 0x3233e: 0x6c8d3820, 0x3233f: 0x6cb95a20,\n\t// Block 0xc8d, offset 0x32340\n\t0x32340: 0x6cb95c20, 0x32341: 0x6cb95e20, 0x32342: 0x6cb96020, 0x32343: 0x6cb96220,\n\t0x32344: 0x6cb96420, 0x32345: 0x6cb96620, 0x32346: 0x6cb96820, 0x32347: 0x6cb96a20,\n\t0x32348: 0x6cb96c20, 0x32349: 0x6cb96e20, 0x3234a: 0x6cb97020, 0x3234b: 0x6cb97220,\n\t0x3234c: 0x6cb97420, 0x3234d: 0x6cb97620, 0x3234e: 0x6cb97820, 0x3234f: 0x6cb97a20,\n\t0x32350: 0x6cb97c20, 0x32351: 0x6cb97e20, 0x32352: 0x6cb98020, 0x32353: 0x6cb98220,\n\t0x32354: 0x6cb98420, 0x32355: 0x6cb98620, 0x32356: 0x6cb98820, 0x32357: 0x6cb98a20,\n\t0x32358: 0x6cb98c20, 0x32359: 0x6cb98e20, 0x3235a: 0x6cb99020, 0x3235b: 0x6cb99220,\n\t0x3235c: 0x6cd55e20, 0x3235d: 0x6cb99420, 0x3235e: 0x6cb99620, 0x3235f: 0x6cb99820,\n\t0x32360: 0x6cb99a20, 0x32361: 0x6cb99c20, 0x32362: 0x6cb99e20, 0x32363: 0x6cb9a020,\n\t0x32364: 0x6cb9a220, 0x32365: 0x6cea5220, 0x32366: 0x6cea5420, 0x32367: 0x6cea5620,\n\t0x32368: 0x6cea5820, 0x32369: 0x6cea5a20, 0x3236a: 0x6cea5c20, 0x3236b: 0x6cea5e20,\n\t0x3236c: 0x6cea6020, 0x3236d: 0x6cea6220, 0x3236e: 0x6cea6420, 0x3236f: 0x6cea6620,\n\t0x32370: 0x6cea6820, 0x32371: 0x6cea6a20, 0x32372: 0x6cea6c20, 0x32373: 0x6cea6e20,\n\t0x32374: 0x6cea7020, 0x32375: 0x6cea7220, 0x32376: 0x6cea7420, 0x32377: 0x6cea7620,\n\t0x32378: 0x6cea7820, 0x32379: 0x6cea7a20, 0x3237a: 0x6cea7c20, 0x3237b: 0x6cea7e20,\n\t0x3237c: 0x6cea8020, 0x3237d: 0x6cea8220, 0x3237e: 0x6cea8420, 0x3237f: 0x6cea8620,\n\t// Block 0xc8e, offset 0x32380\n\t0x32380: 0x6cea8820, 0x32381: 0x6cea8a20, 0x32382: 0x6d1a3020, 0x32383: 0x6d1a3220,\n\t0x32384: 0x6d1a3420, 0x32385: 0x6d1a3620, 0x32386: 0x6d1a3820, 0x32387: 0x6d1a3a20,\n\t0x32388: 0x6d1a3c20, 0x32389: 0x6d1a3e20, 0x3238a: 0x6d1a4020, 0x3238b: 0x6d1a4220,\n\t0x3238c: 0x6d1a4420, 0x3238d: 0x6d1a4620, 0x3238e: 0x6d1a4820, 0x3238f: 0x6d1a4a20,\n\t0x32390: 0x6d1a4c20, 0x32391: 0x6d1a4e20, 0x32392: 0x6d1a5020, 0x32393: 0x6d1a5220,\n\t0x32394: 0x6d1a5420, 0x32395: 0x6d1a5620, 0x32396: 0x6d1a5820, 0x32397: 0x6d1a5a20,\n\t0x32398: 0x6d1a5c20, 0x32399: 0x6d1a5e20, 0x3239a: 0x6d1a6020, 0x3239b: 0x6d1a6220,\n\t0x3239c: 0x6d1a6420, 0x3239d: 0x6d1a6620, 0x3239e: 0x6d1a6820, 0x3239f: 0x6d1a6a20,\n\t0x323a0: 0x6d48ae20, 0x323a1: 0x6d1a6c20, 0x323a2: 0x6d1a6e20, 0x323a3: 0x6d1a7020,\n\t0x323a4: 0x6d1a7220, 0x323a5: 0x6d1a7420, 0x323a6: 0x6d48b020, 0x323a7: 0x6d48b220,\n\t0x323a8: 0x6d48b420, 0x323a9: 0x6d48b620, 0x323aa: 0x6d48b820, 0x323ab: 0x6d48ba20,\n\t0x323ac: 0x6d48bc20, 0x323ad: 0x6d48be20, 0x323ae: 0x6d48c020, 0x323af: 0x6d48c220,\n\t0x323b0: 0x6d48c420, 0x323b1: 0x6d48c620, 0x323b2: 0x6d48c820, 0x323b3: 0x6d48ca20,\n\t0x323b4: 0x6d48cc20, 0x323b5: 0x6d48ce20, 0x323b6: 0x6d48d020, 0x323b7: 0x6d48d220,\n\t0x323b8: 0x6d48d420, 0x323b9: 0x6d48d620, 0x323ba: 0x6d76b420, 0x323bb: 0x6d76b620,\n\t0x323bc: 0x6d76b820, 0x323bd: 0x6d76ba20, 0x323be: 0x6d76bc20, 0x323bf: 0x6d76be20,\n\t// Block 0xc8f, offset 0x323c0\n\t0x323c0: 0x6d76c020, 0x323c1: 0x6d76c220, 0x323c2: 0x6d76c420, 0x323c3: 0x6d76c620,\n\t0x323c4: 0x6d76c820, 0x323c5: 0x6d76ca20, 0x323c6: 0x6d76cc20, 0x323c7: 0x6d76ce20,\n\t0x323c8: 0x6d76d020, 0x323c9: 0x6d76d220, 0x323ca: 0x6d76d420, 0x323cb: 0x6d938220,\n\t0x323cc: 0x6da03620, 0x323cd: 0x6da03820, 0x323ce: 0x6da03a20, 0x323cf: 0x6da03c20,\n\t0x323d0: 0x6da03e20, 0x323d1: 0x6da04020, 0x323d2: 0x6da04220, 0x323d3: 0x6da04420,\n\t0x323d4: 0x6da04620, 0x323d5: 0x6da04820, 0x323d6: 0x6da04a20, 0x323d7: 0x6da04c20,\n\t0x323d8: 0x6da04e20, 0x323d9: 0x6da05020, 0x323da: 0x6da05220, 0x323db: 0x6dc2b820,\n\t0x323dc: 0x6dc2ba20, 0x323dd: 0x6dc2bc20, 0x323de: 0x6dc2be20, 0x323df: 0x6dc2c020,\n\t0x323e0: 0x6dc2c220, 0x323e1: 0x6de05a20, 0x323e2: 0x6de05c20, 0x323e3: 0x6de05e20,\n\t0x323e4: 0x6df8a820, 0x323e5: 0x6e0c7620, 0x323e6: 0x6df8aa20, 0x323e7: 0x6df8ac20,\n\t0x323e8: 0x6df8ae20, 0x323e9: 0x6df8b020, 0x323ea: 0x6e0c7820, 0x323eb: 0x6e0c7a20,\n\t0x323ec: 0x6e0c7c20, 0x323ed: 0x6e0c7e20, 0x323ee: 0x6e286420, 0x323ef: 0x6e319420,\n\t0x323f0: 0x6e3cec20, 0x323f1: 0x6e3cee20, 0x323f2: 0x6c016220, 0x323f3: 0x6c034020,\n\t0x323f4: 0x6c034220, 0x323f5: 0x6c034420, 0x323f6: 0x6c06ae20, 0x323f7: 0x6c06b020,\n\t0x323f8: 0x6c06b220, 0x323f9: 0x6c0d4c20, 0x323fa: 0x6c0d4e20, 0x323fb: 0x6c0d5020,\n\t0x323fc: 0x6c0d5220, 0x323fd: 0x6c0d5420, 0x323fe: 0x6c0d5620, 0x323ff: 0x6c0d5820,\n\t// Block 0xc90, offset 0x32400\n\t0x32400: 0x6c0d5a20, 0x32401: 0x6c0d5c20, 0x32402: 0x6c185420, 0x32403: 0x6c185620,\n\t0x32404: 0x6c185820, 0x32405: 0x6c185a20, 0x32406: 0x6c185c20, 0x32407: 0x6c185e20,\n\t0x32408: 0x6c186020, 0x32409: 0x6c186220, 0x3240a: 0x6c186420, 0x3240b: 0x6c186620,\n\t0x3240c: 0x6c186820, 0x3240d: 0x6c186a20, 0x3240e: 0x6c186c20, 0x3240f: 0x6c186e20,\n\t0x32410: 0x6c187020, 0x32411: 0x6c2b6820, 0x32412: 0x6c2b6a20, 0x32413: 0x6c2b6c20,\n\t0x32414: 0x6c2b6e20, 0x32415: 0x6c2b7020, 0x32416: 0x6c2b7220, 0x32417: 0x6c2b7420,\n\t0x32418: 0x6c2b7620, 0x32419: 0x6c2b7820, 0x3241a: 0x6c2b7a20, 0x3241b: 0x6c2b7c20,\n\t0x3241c: 0x6c2b7e20, 0x3241d: 0x6c2b8020, 0x3241e: 0x6c456620, 0x3241f: 0x6c456820,\n\t0x32420: 0x6c456a20, 0x32421: 0x6c456c20, 0x32422: 0x6c456e20, 0x32423: 0x6c457020,\n\t0x32424: 0x6c457220, 0x32425: 0x6c457420, 0x32426: 0x6c457620, 0x32427: 0x6c457820,\n\t0x32428: 0x6c457a20, 0x32429: 0x6c457c20, 0x3242a: 0x6c457e20, 0x3242b: 0x6c66b820,\n\t0x3242c: 0x6c66ba20, 0x3242d: 0x6c66bc20, 0x3242e: 0x6c66be20, 0x3242f: 0x6c66c020,\n\t0x32430: 0x6c66c220, 0x32431: 0x6c66c420, 0x32432: 0x6c66c620, 0x32433: 0x6c66c820,\n\t0x32434: 0x6c66ca20, 0x32435: 0x6c66cc20, 0x32436: 0x6c66ce20, 0x32437: 0x6c66d020,\n\t0x32438: 0x6c66d220, 0x32439: 0x6c66d420, 0x3243a: 0x6c66d620, 0x3243b: 0x6c8d5420,\n\t0x3243c: 0x6c8d5620, 0x3243d: 0x6c8d5820, 0x3243e: 0x6c8d5a20, 0x3243f: 0x6c8d5c20,\n\t// Block 0xc91, offset 0x32440\n\t0x32440: 0x6c8d5e20, 0x32441: 0x6c8d6020, 0x32442: 0x6c8d6220, 0x32443: 0x6c8d6420,\n\t0x32444: 0x6c8d6620, 0x32445: 0x6cb9b420, 0x32446: 0x6cb9b620, 0x32447: 0x6cb9b820,\n\t0x32448: 0x6cb9ba20, 0x32449: 0x6cb9bc20, 0x3244a: 0x6cb9be20, 0x3244b: 0x6cb9c020,\n\t0x3244c: 0x6cb9c220, 0x3244d: 0x6cb9c420, 0x3244e: 0x6cb9c620, 0x3244f: 0x6cb9c820,\n\t0x32450: 0x6cb9ca20, 0x32451: 0x6cb9cc20, 0x32452: 0x6cb9ce20, 0x32453: 0x6ceaa420,\n\t0x32454: 0x6ceaa620, 0x32455: 0x6ceaa820, 0x32456: 0x6ceaaa20, 0x32457: 0x6ceaac20,\n\t0x32458: 0x6ceaae20, 0x32459: 0x6ceab020, 0x3245a: 0x6ceab220, 0x3245b: 0x6ceab420,\n\t0x3245c: 0x6ceab620, 0x3245d: 0x6ceab820, 0x3245e: 0x6ceaba20, 0x3245f: 0x6ceabc20,\n\t0x32460: 0x6d1a8420, 0x32461: 0x6d1a8620, 0x32462: 0x6d1a8820, 0x32463: 0x6d1a8a20,\n\t0x32464: 0x6d1a8c20, 0x32465: 0x6d1a8e20, 0x32466: 0x6d1a9020, 0x32467: 0x6d1a9220,\n\t0x32468: 0x6d1a9420, 0x32469: 0x6d1a9620, 0x3246a: 0x6d1a9820, 0x3246b: 0x6d1a9a20,\n\t0x3246c: 0x6d1a9c20, 0x3246d: 0x6d1a9e20, 0x3246e: 0x6d1aa020, 0x3246f: 0x6d1aa220,\n\t0x32470: 0x6d48e420, 0x32471: 0x6d48e620, 0x32472: 0x6d48e820, 0x32473: 0x6d48ea20,\n\t0x32474: 0x6d48ec20, 0x32475: 0x6d48ee20, 0x32476: 0x6d76dc20, 0x32477: 0x6d76de20,\n\t0x32478: 0x6d76e020, 0x32479: 0x6da06220, 0x3247a: 0x6da06420, 0x3247b: 0x6da06620,\n\t0x3247c: 0x6da06820, 0x3247d: 0x6da06a20, 0x3247e: 0x6da06c20, 0x3247f: 0x6da06e20,\n\t// Block 0xc92, offset 0x32480\n\t0x32480: 0x6dc2c620, 0x32481: 0x6dc2c820, 0x32482: 0x6dc2ca20, 0x32483: 0x6dc2cc20,\n\t0x32484: 0x6de06220, 0x32485: 0x6de06420, 0x32486: 0x6df8b220, 0x32487: 0x6e0c8020,\n\t0x32488: 0x6e286620, 0x32489: 0x6e286820, 0x3248a: 0x6e384220, 0x3248b: 0x6e46ae20,\n\t0x3248c: 0x6c035620, 0x3248d: 0x6c06be20, 0x3248e: 0x6c06c020, 0x3248f: 0x6c06c220,\n\t0x32490: 0x6c06c420, 0x32491: 0x6c0d6020, 0x32492: 0x6c0d6220, 0x32493: 0x6c0d6420,\n\t0x32494: 0x6c187a20, 0x32495: 0x6c187c20, 0x32496: 0x6c187e20, 0x32497: 0x6c188020,\n\t0x32498: 0x6c2b8e20, 0x32499: 0x6c2b9020, 0x3249a: 0x6c2b9220, 0x3249b: 0x6c2b9420,\n\t0x3249c: 0x6c2b9620, 0x3249d: 0x6c2b9820, 0x3249e: 0x6c458420, 0x3249f: 0x6c458620,\n\t0x324a0: 0x6c458820, 0x324a1: 0x6c458a20, 0x324a2: 0x6c458c20, 0x324a3: 0x6c458e20,\n\t0x324a4: 0x6c66e020, 0x324a5: 0x6c66e220, 0x324a6: 0x6c66e420, 0x324a7: 0x6c66e620,\n\t0x324a8: 0x6c66e820, 0x324a9: 0x6c66ea20, 0x324aa: 0x6c66ec20, 0x324ab: 0x6c66ee20,\n\t0x324ac: 0x6c66f020, 0x324ad: 0x6c66f220, 0x324ae: 0x6c8d7020, 0x324af: 0x6c8d7220,\n\t0x324b0: 0x6c8d7420, 0x324b1: 0x6c8d7620, 0x324b2: 0x6c8d7820, 0x324b3: 0x6c8d7a20,\n\t0x324b4: 0x6c8d7c20, 0x324b5: 0x6cb9da20, 0x324b6: 0x6cb9dc20, 0x324b7: 0x6cb9de20,\n\t0x324b8: 0x6ceac420, 0x324b9: 0x6ceac620, 0x324ba: 0x6ceac820, 0x324bb: 0x6ceaca20,\n\t0x324bc: 0x6ceacc20, 0x324bd: 0x6d1aa820, 0x324be: 0x6d1aaa20, 0x324bf: 0x6d1aac20,\n\t// Block 0xc93, offset 0x324c0\n\t0x324c0: 0x6d1aae20, 0x324c1: 0x6d1ab020, 0x324c2: 0x6d1ab220, 0x324c3: 0x6d48f420,\n\t0x324c4: 0x6d76e220, 0x324c5: 0x6d76e420, 0x324c6: 0x6d76e620, 0x324c7: 0x6d76e820,\n\t0x324c8: 0x6da07020, 0x324c9: 0x6da07220, 0x324ca: 0x6da07420, 0x324cb: 0x6df8b420,\n\t0x324cc: 0x6df8b620, 0x324cd: 0x6df8b820, 0x324ce: 0x6c00ae20, 0x324cf: 0x6c035c20,\n\t0x324d0: 0x6c06c820, 0x324d1: 0x6c188220, 0x324d2: 0x6c188420, 0x324d3: 0x6c188620,\n\t0x324d4: 0x6c188820, 0x324d5: 0x6c188a20, 0x324d6: 0x6c2b9c20, 0x324d7: 0x6c459020,\n\t0x324d8: 0x6c459220, 0x324d9: 0x6c459420, 0x324da: 0x6c459620, 0x324db: 0x6c459820,\n\t0x324dc: 0x6c459a20, 0x324dd: 0x6c459c20, 0x324de: 0x6c66f420, 0x324df: 0x6c66f620,\n\t0x324e0: 0x6c66f820, 0x324e1: 0x6c66fa20, 0x324e2: 0x6c63d420, 0x324e3: 0x6cb9e020,\n\t0x324e4: 0x6cb9e220, 0x324e5: 0x6ceace20, 0x324e6: 0x6d1ab420, 0x324e7: 0x6d1ab620,\n\t0x324e8: 0x6d1ab820, 0x324e9: 0x6da07620, 0x324ea: 0x6dc2ce20, 0x324eb: 0x6dea7420,\n\t0x324ec: 0x6c00b220, 0x324ed: 0x6c035e20, 0x324ee: 0x6c0d7020, 0x324ef: 0x6c0d7220,\n\t0x324f0: 0x6c0d7420, 0x324f1: 0x6c0d7620, 0x324f2: 0x6c0d7a20, 0x324f3: 0x6c189620,\n\t0x324f4: 0x6c189820, 0x324f5: 0x6c189a20, 0x324f6: 0x6c189c20, 0x324f7: 0x6c189e20,\n\t0x324f8: 0x6c2ba020, 0x324f9: 0x6c2ba220, 0x324fa: 0x6c2ba420, 0x324fb: 0x6c2ba620,\n\t0x324fc: 0x6c45a620, 0x324fd: 0x6c45a820, 0x324fe: 0x6c45aa20, 0x324ff: 0x6c45ac20,\n\t// Block 0xc94, offset 0x32500\n\t0x32500: 0x6c45ae20, 0x32501: 0x6c45b020, 0x32502: 0x6c45b220, 0x32503: 0x6c45c220,\n\t0x32504: 0x6c45b420, 0x32505: 0x6c45b620, 0x32506: 0x6c45b820, 0x32507: 0x6c45ba20,\n\t0x32508: 0x6c45bc20, 0x32509: 0x6c670220, 0x3250a: 0x6c670420, 0x3250b: 0x6c670620,\n\t0x3250c: 0x6c670820, 0x3250d: 0x6c670a20, 0x3250e: 0x6c8d8e20, 0x3250f: 0x6c8d9020,\n\t0x32510: 0x6cb9e420, 0x32511: 0x6cb9e620, 0x32512: 0x6cb9e820, 0x32513: 0x6cb9ea20,\n\t0x32514: 0x6cb9ec20, 0x32515: 0x6cb9ee20, 0x32516: 0x6ceada20, 0x32517: 0x6ceadc20,\n\t0x32518: 0x6ceade20, 0x32519: 0x6d1ac220, 0x3251a: 0x6d1ac420, 0x3251b: 0x6d1ac620,\n\t0x3251c: 0x6d48f820, 0x3251d: 0x6d48fa20, 0x3251e: 0x6d48fc20, 0x3251f: 0x6d48fe20,\n\t0x32520: 0x6d490020, 0x32521: 0x6d490220, 0x32522: 0x6d76ec20, 0x32523: 0x6d76ee20,\n\t0x32524: 0x6dc2d020, 0x32525: 0x6dc2d220, 0x32526: 0x6de06a20, 0x32527: 0x6de06c20,\n\t0x32528: 0x6df8bc20, 0x32529: 0x6df8be20, 0x3252a: 0x6e1c2420, 0x3252b: 0x6e3cf220,\n\t0x3252c: 0x6e451420, 0x3252d: 0x6c036420, 0x3252e: 0x6c0d7c20, 0x3252f: 0x6c0d7e20,\n\t0x32530: 0x6c18a820, 0x32531: 0x6c18aa20, 0x32532: 0x6c18ac20, 0x32533: 0x6c2baa20,\n\t0x32534: 0x6c45c420, 0x32535: 0x6c45c620, 0x32536: 0x6c670e20, 0x32537: 0x6d1aca20,\n\t0x32538: 0x6df8c220, 0x32539: 0x6e1c2620, 0x3253a: 0x6e1c2820, 0x3253b: 0x6c037020,\n\t0x3253c: 0x6c037220, 0x3253d: 0x6c06da20, 0x3253e: 0x6c06dc20, 0x3253f: 0x6c037420,\n\t// Block 0xc95, offset 0x32540\n\t0x32540: 0x6c06de20, 0x32541: 0x6c06e020, 0x32542: 0x6c0d8e20, 0x32543: 0x6c0d9020,\n\t0x32544: 0x6c0d9220, 0x32545: 0x6c0d9420, 0x32546: 0x6c0d9620, 0x32547: 0x6c0d9820,\n\t0x32548: 0x6c0d9a20, 0x32549: 0x6c0d9c20, 0x3254a: 0x6c0d9e20, 0x3254b: 0x6c0da020,\n\t0x3254c: 0x6c0da220, 0x3254d: 0x6c0da420, 0x3254e: 0x6c0da620, 0x3254f: 0x6c0da820,\n\t0x32550: 0x6c0daa20, 0x32551: 0x6c18ae20, 0x32552: 0x6c18b020, 0x32553: 0x6c18b220,\n\t0x32554: 0x6c18b420, 0x32555: 0x6c18b620, 0x32556: 0x6c18b820, 0x32557: 0x6c18ba20,\n\t0x32558: 0x6c2bba20, 0x32559: 0x6c2bbc20, 0x3255a: 0x6c2bbe20, 0x3255b: 0x6c2bc020,\n\t0x3255c: 0x6c2bc220, 0x3255d: 0x6c2bc420, 0x3255e: 0x6c2bc620, 0x3255f: 0x6c2bc820,\n\t0x32560: 0x6c2bca20, 0x32561: 0x6c2bcc20, 0x32562: 0x6c2bce20, 0x32563: 0x6c671020,\n\t0x32564: 0x6c671220, 0x32565: 0x6c671420, 0x32566: 0x6c671620, 0x32567: 0x6c671820,\n\t0x32568: 0x6c671a20, 0x32569: 0x6c671c20, 0x3256a: 0x6c8d9a20, 0x3256b: 0x6c8d9c20,\n\t0x3256c: 0x6c8d9e20, 0x3256d: 0x6c8da020, 0x3256e: 0x6c8da220, 0x3256f: 0x6c8da420,\n\t0x32570: 0x6cb9f420, 0x32571: 0x6cb9f620, 0x32572: 0x6cb9f820, 0x32573: 0x6cb9fa20,\n\t0x32574: 0x6ceae220, 0x32575: 0x6ceae420, 0x32576: 0x6ceae620, 0x32577: 0x6ceae820,\n\t0x32578: 0x6ceaea20, 0x32579: 0x6ceaec20, 0x3257a: 0x6ceaee20, 0x3257b: 0x6ceaf020,\n\t0x3257c: 0x6ceaf220, 0x3257d: 0x6d1acc20, 0x3257e: 0x6d1ace20, 0x3257f: 0x6d1ad020,\n\t// Block 0xc96, offset 0x32580\n\t0x32580: 0x6d490420, 0x32581: 0x6d490620, 0x32582: 0x6d490820, 0x32583: 0x6d490a20,\n\t0x32584: 0x6d490c20, 0x32585: 0x6da07a20, 0x32586: 0x6da07c20, 0x32587: 0x6da07e20,\n\t0x32588: 0x6da08020, 0x32589: 0x6dc2d420, 0x3258a: 0x6dc2d620, 0x3258b: 0x6dc2d820,\n\t0x3258c: 0x6dc2da20, 0x3258d: 0x6dc2dc20, 0x3258e: 0x6de06e20, 0x3258f: 0x6e0c8620,\n\t0x32590: 0x6e384420, 0x32591: 0x6e3cf420, 0x32592: 0x6c016c20, 0x32593: 0x6c06ea20,\n\t0x32594: 0x6c0dae20, 0x32595: 0x6c0db020, 0x32596: 0x6c0db220, 0x32597: 0x6c0db420,\n\t0x32598: 0x6c0db620, 0x32599: 0x6c18c420, 0x3259a: 0x6c18c620, 0x3259b: 0x6c18c820,\n\t0x3259c: 0x6c18ca20, 0x3259d: 0x6c161a20, 0x3259e: 0x6c2bdc20, 0x3259f: 0x6c2bde20,\n\t0x325a0: 0x6c2be020, 0x325a1: 0x6c2be220, 0x325a2: 0x6c2be420, 0x325a3: 0x6c2be620,\n\t0x325a4: 0x6c2be820, 0x325a5: 0x6c2bea20, 0x325a6: 0x6c2bec20, 0x325a7: 0x6c2bee20,\n\t0x325a8: 0x6c2bf020, 0x325a9: 0x6c45ce20, 0x325aa: 0x6c45d020, 0x325ab: 0x6c45d220,\n\t0x325ac: 0x6c45d420, 0x325ad: 0x6c45d620, 0x325ae: 0x6c45d820, 0x325af: 0x6c45da20,\n\t0x325b0: 0x6c45dc20, 0x325b1: 0x6c45de20, 0x325b2: 0x6c45e020, 0x325b3: 0x6c672020,\n\t0x325b4: 0x6c672220, 0x325b5: 0x6c672420, 0x325b6: 0x6c672620, 0x325b7: 0x6c672820,\n\t0x325b8: 0x6cb78420, 0x325b9: 0x6c672a20, 0x325ba: 0x6c8daa20, 0x325bb: 0x6c8dac20,\n\t0x325bc: 0x6c8dae20, 0x325bd: 0x6c8db020, 0x325be: 0x6c8db220, 0x325bf: 0x6c8db420,\n\t// Block 0xc97, offset 0x325c0\n\t0x325c0: 0x6cb9fc20, 0x325c1: 0x6cb9fe20, 0x325c2: 0x6cba0020, 0x325c3: 0x6cbd9e20,\n\t0x325c4: 0x6cba0220, 0x325c5: 0x6ceaf620, 0x325c6: 0x6d1ad420, 0x325c7: 0x6d1ad620,\n\t0x325c8: 0x6d491220, 0x325c9: 0x6d491420, 0x325ca: 0x6d491620, 0x325cb: 0x6e400820,\n\t0x325cc: 0x6e467a20, 0x325cd: 0x6c037e20, 0x325ce: 0x6c038020, 0x325cf: 0x6c038220,\n\t0x325d0: 0x6c038420, 0x325d1: 0x6c06f220, 0x325d2: 0x6c0dbc20, 0x325d3: 0x6c0dbe20,\n\t0x325d4: 0x6c0dc020, 0x325d5: 0x6c0dc220, 0x325d6: 0x6c0dc420, 0x325d7: 0x6c0dc620,\n\t0x325d8: 0x6c18da20, 0x325d9: 0x6c45ea20, 0x325da: 0x6c45ec20, 0x325db: 0x6c45ee20,\n\t0x325dc: 0x6c45f020, 0x325dd: 0x6c45f220, 0x325de: 0x6c672e20, 0x325df: 0x6cba0420,\n\t0x325e0: 0x6cba0620, 0x325e1: 0x6cba0820, 0x325e2: 0x6ceafc20, 0x325e3: 0x6ceafe20,\n\t0x325e4: 0x6ceb0020, 0x325e5: 0x6d1ada20, 0x325e6: 0x6da08420, 0x325e7: 0x6dc2e020,\n\t0x325e8: 0x6dc2e220, 0x325e9: 0x6dc2e420, 0x325ea: 0x6dc2e620, 0x325eb: 0x6e3cf620,\n\t0x325ec: 0x6c038e20, 0x325ed: 0x6c06fa20, 0x325ee: 0x6c06fc20, 0x325ef: 0x6c06fe20,\n\t0x325f0: 0x6c070020, 0x325f1: 0x6c070220, 0x325f2: 0x6c070420, 0x325f3: 0x6c070620,\n\t0x325f4: 0x6c0dda20, 0x325f5: 0x6c0ddc20, 0x325f6: 0x6c0dde20, 0x325f7: 0x6c0de020,\n\t0x325f8: 0x6c0de220, 0x325f9: 0x6c0de420, 0x325fa: 0x6c0de620, 0x325fb: 0x6c0de820,\n\t0x325fc: 0x6c0dea20, 0x325fd: 0x6c0dec20, 0x325fe: 0x6c0dee20, 0x325ff: 0x6c0df020,\n\t// Block 0xc98, offset 0x32600\n\t0x32600: 0x6c18ec20, 0x32601: 0x6c18ee20, 0x32602: 0x6c18f020, 0x32603: 0x6c18f220,\n\t0x32604: 0x6c18f420, 0x32605: 0x6c18f620, 0x32606: 0x6c18f820, 0x32607: 0x6c18fa20,\n\t0x32608: 0x6c18fc20, 0x32609: 0x6c18fe20, 0x3260a: 0x6c2c0c20, 0x3260b: 0x6c2c0e20,\n\t0x3260c: 0x6c2c1020, 0x3260d: 0x6c2c1220, 0x3260e: 0x6c2c1420, 0x3260f: 0x6c2c1620,\n\t0x32610: 0x6c2c1820, 0x32611: 0x6c2c1a20, 0x32612: 0x6c2c1c20, 0x32613: 0x6c2c1e20,\n\t0x32614: 0x6c2c2020, 0x32615: 0x6c2c2220, 0x32616: 0x6c2a5a20, 0x32617: 0x6c460420,\n\t0x32618: 0x6c460620, 0x32619: 0x6c460820, 0x3261a: 0x6c460a20, 0x3261b: 0x6c460c20,\n\t0x3261c: 0x6c460e20, 0x3261d: 0x6c461020, 0x3261e: 0x6c461220, 0x3261f: 0x6c461420,\n\t0x32620: 0x6c461620, 0x32621: 0x6c461820, 0x32622: 0x6c461a20, 0x32623: 0x6c461c20,\n\t0x32624: 0x6c461e20, 0x32625: 0x6c462020, 0x32626: 0x6c462220, 0x32627: 0x6c674220,\n\t0x32628: 0x6c674420, 0x32629: 0x6c674620, 0x3262a: 0x6c674820, 0x3262b: 0x6c674a20,\n\t0x3262c: 0x6c674c20, 0x3262d: 0x6c674e20, 0x3262e: 0x6c675020, 0x3262f: 0x6c675220,\n\t0x32630: 0x6c675420, 0x32631: 0x6c675620, 0x32632: 0x6c675820, 0x32633: 0x6c675a20,\n\t0x32634: 0x6c675c20, 0x32635: 0x6c675e20, 0x32636: 0x6c676020, 0x32637: 0x6c676220,\n\t0x32638: 0x6c8dc220, 0x32639: 0x6c8dc420, 0x3263a: 0x6c8dc620, 0x3263b: 0x6c8dc820,\n\t0x3263c: 0x6c8dca20, 0x3263d: 0x6c8dcc20, 0x3263e: 0x6c8dce20, 0x3263f: 0x6ceb0820,\n\t// Block 0xc99, offset 0x32640\n\t0x32640: 0x6c8dd020, 0x32641: 0x6c8dd220, 0x32642: 0x6c8dd420, 0x32643: 0x6c8dd620,\n\t0x32644: 0x6c8dd820, 0x32645: 0x6c8dda20, 0x32646: 0x6c8ddc20, 0x32647: 0x6cba1620,\n\t0x32648: 0x6cba1820, 0x32649: 0x6cba1a20, 0x3264a: 0x6cba1c20, 0x3264b: 0x6cba1e20,\n\t0x3264c: 0x6cba2020, 0x3264d: 0x6cba2220, 0x3264e: 0x6cba2420, 0x3264f: 0x6cba2620,\n\t0x32650: 0x6cba2820, 0x32651: 0x6ceb0a20, 0x32652: 0x6ceb0c20, 0x32653: 0x6ceb0e20,\n\t0x32654: 0x6ceb1020, 0x32655: 0x6ceb1220, 0x32656: 0x6ceb1420, 0x32657: 0x6ceb1620,\n\t0x32658: 0x6ceb1820, 0x32659: 0x6d1ae820, 0x3265a: 0x6d1aea20, 0x3265b: 0x6d1aec20,\n\t0x3265c: 0x6d1aee20, 0x3265d: 0x6d1af020, 0x3265e: 0x6d1af220, 0x3265f: 0x6d1af420,\n\t0x32660: 0x6d1af620, 0x32661: 0x6d1af820, 0x32662: 0x6d1afa20, 0x32663: 0x6d1afc20,\n\t0x32664: 0x6d1afe20, 0x32665: 0x6d1b0020, 0x32666: 0x6d1b0220, 0x32667: 0x6d1b0420,\n\t0x32668: 0x6d1b0620, 0x32669: 0x6d1b0820, 0x3266a: 0x6d1b0a20, 0x3266b: 0x6d1b0c20,\n\t0x3266c: 0x6d1b0e20, 0x3266d: 0x6d491e20, 0x3266e: 0x6d492020, 0x3266f: 0x6d492220,\n\t0x32670: 0x6d492420, 0x32671: 0x6d492620, 0x32672: 0x6d492820, 0x32673: 0x6d492a20,\n\t0x32674: 0x6d492c20, 0x32675: 0x6d492e20, 0x32676: 0x6d493020, 0x32677: 0x6d493220,\n\t0x32678: 0x6d493420, 0x32679: 0x6d5ad220, 0x3267a: 0x6d76f020, 0x3267b: 0x6d76f220,\n\t0x3267c: 0x6d76f420, 0x3267d: 0x6d76f620, 0x3267e: 0x6d76f820, 0x3267f: 0x6da08a20,\n\t// Block 0xc9a, offset 0x32680\n\t0x32680: 0x6dc2e820, 0x32681: 0x6dc2ea20, 0x32682: 0x6dc2ec20, 0x32683: 0x6dc2ee20,\n\t0x32684: 0x6dc2f020, 0x32685: 0x6dc2f220, 0x32686: 0x6dc2f420, 0x32687: 0x6df8c620,\n\t0x32688: 0x6dfbb620, 0x32689: 0x6e0c8820, 0x3268a: 0x6e0c8a20, 0x3268b: 0x6e1c2a20,\n\t0x3268c: 0x6e286a20, 0x3268d: 0x6e286c20, 0x3268e: 0x6e286e20, 0x3268f: 0x6e319820,\n\t0x32690: 0x6e442420, 0x32691: 0x6e462220, 0x32692: 0x6e467c20, 0x32693: 0x6c017620,\n\t0x32694: 0x6c017820, 0x32695: 0x6c017a20, 0x32696: 0x6c017c20, 0x32697: 0x6c039820,\n\t0x32698: 0x6c039a20, 0x32699: 0x6c071020, 0x3269a: 0x6c071220, 0x3269b: 0x6c071420,\n\t0x3269c: 0x6c071620, 0x3269d: 0x6c071820, 0x3269e: 0x6c0df620, 0x3269f: 0x6c0df820,\n\t0x326a0: 0x6c0dfa20, 0x326a1: 0x6c0dfc20, 0x326a2: 0x6c0dfe20, 0x326a3: 0x6c0e0020,\n\t0x326a4: 0x6c0e0220, 0x326a5: 0x6c0e0420, 0x326a6: 0x6c190620, 0x326a7: 0x6c190820,\n\t0x326a8: 0x6c190a20, 0x326a9: 0x6c2c2e20, 0x326aa: 0x6c2c3020, 0x326ab: 0x6c2c3220,\n\t0x326ac: 0x6c2c3420, 0x326ad: 0x6c2c3620, 0x326ae: 0x6c2ab020, 0x326af: 0x6c2c3820,\n\t0x326b0: 0x6c462c20, 0x326b1: 0x6c462e20, 0x326b2: 0x6c463020, 0x326b3: 0x6c464a20,\n\t0x326b4: 0x6c463220, 0x326b5: 0x6c463420, 0x326b6: 0x6c463620, 0x326b7: 0x6c463820,\n\t0x326b8: 0x6c463a20, 0x326b9: 0x6c677220, 0x326ba: 0x6c677420, 0x326bb: 0x6c677620,\n\t0x326bc: 0x6c677820, 0x326bd: 0x6c8dea20, 0x326be: 0x6c8dec20, 0x326bf: 0x6cba3020,\n\t// Block 0xc9b, offset 0x326c0\n\t0x326c0: 0x6cba3220, 0x326c1: 0x6cba3420, 0x326c2: 0x6cba3620, 0x326c3: 0x6cba3820,\n\t0x326c4: 0x6cba3a20, 0x326c5: 0x6cba3c20, 0x326c6: 0x6ceb2220, 0x326c7: 0x6ceb2420,\n\t0x326c8: 0x6ceb2620, 0x326c9: 0x6ceb2820, 0x326ca: 0x6ceb2a20, 0x326cb: 0x6ceb2c20,\n\t0x326cc: 0x6ceb2e20, 0x326cd: 0x6d1b1820, 0x326ce: 0x6d1b1a20, 0x326cf: 0x6d1b1c20,\n\t0x326d0: 0x6d1b1e20, 0x326d1: 0x6d493e20, 0x326d2: 0x6d494020, 0x326d3: 0x6d76fa20,\n\t0x326d4: 0x6de07220, 0x326d5: 0x6da08e20, 0x326d6: 0x6da09020, 0x326d7: 0x6da09220,\n\t0x326d8: 0x6de07420, 0x326d9: 0x6de07620, 0x326da: 0x6c03aa20, 0x326db: 0x6c03ac20,\n\t0x326dc: 0x6c03ae20, 0x326dd: 0x6c03b020, 0x326de: 0x6c03b220, 0x326df: 0x6c03b420,\n\t0x326e0: 0x6c03b620, 0x326e1: 0x6c072020, 0x326e2: 0x6c072220, 0x326e3: 0x6c072420,\n\t0x326e4: 0x6c072620, 0x326e5: 0x6c072820, 0x326e6: 0x6c072a20, 0x326e7: 0x6c072c20,\n\t0x326e8: 0x6c072e20, 0x326e9: 0x6c0e0a20, 0x326ea: 0x6c0e0c20, 0x326eb: 0x6c0e0e20,\n\t0x326ec: 0x6c0e1020, 0x326ed: 0x6c0e1220, 0x326ee: 0x6c0e1420, 0x326ef: 0x6c0e1620,\n\t0x326f0: 0x6c0e1820, 0x326f1: 0x6c191020, 0x326f2: 0x6c191220, 0x326f3: 0x6c191420,\n\t0x326f4: 0x6c191620, 0x326f5: 0x6c191820, 0x326f6: 0x6c191a20, 0x326f7: 0x6c191c20,\n\t0x326f8: 0x6c191e20, 0x326f9: 0x6c2c4620, 0x326fa: 0x6c2c4820, 0x326fb: 0x6c2c4a20,\n\t0x326fc: 0x6c2c4c20, 0x326fd: 0x6c2c4e20, 0x326fe: 0x6c2c5020, 0x326ff: 0x6c464c20,\n\t// Block 0xc9c, offset 0x32700\n\t0x32700: 0x6c464e20, 0x32701: 0x6c465020, 0x32702: 0x6c465220, 0x32703: 0x6c465420,\n\t0x32704: 0x6c465620, 0x32705: 0x6c465820, 0x32706: 0x6c465a20, 0x32707: 0x6c465c20,\n\t0x32708: 0x6c465e20, 0x32709: 0x6c45e220, 0x3270a: 0x6c678020, 0x3270b: 0x6c678220,\n\t0x3270c: 0x6c678420, 0x3270d: 0x6c678620, 0x3270e: 0x6c678820, 0x3270f: 0x6c678a20,\n\t0x32710: 0x6c678c20, 0x32711: 0x6c678e20, 0x32712: 0x6c679020, 0x32713: 0x6c679220,\n\t0x32714: 0x6c679420, 0x32715: 0x6c8df020, 0x32716: 0x6c8df220, 0x32717: 0x6c8df420,\n\t0x32718: 0x6c8df620, 0x32719: 0x6c8df820, 0x3271a: 0x6c8dfa20, 0x3271b: 0x6c8dfc20,\n\t0x3271c: 0x6c8dfe20, 0x3271d: 0x6c8e0020, 0x3271e: 0x6c8e0220, 0x3271f: 0x6c8e0420,\n\t0x32720: 0x6c8e0620, 0x32721: 0x6c8e0820, 0x32722: 0x6c8e0a20, 0x32723: 0x6c8e0c20,\n\t0x32724: 0x6c8e0e20, 0x32725: 0x6cba4420, 0x32726: 0x6cba4620, 0x32727: 0x6cba4820,\n\t0x32728: 0x6cba4a20, 0x32729: 0x6cba4c20, 0x3272a: 0x6cba4e20, 0x3272b: 0x6cba5020,\n\t0x3272c: 0x6cba5220, 0x3272d: 0x6cba5420, 0x3272e: 0x6cba5620, 0x3272f: 0x6ceb3620,\n\t0x32730: 0x6ceb3820, 0x32731: 0x6ceb3a20, 0x32732: 0x6ceb3c20, 0x32733: 0x6ceb3e20,\n\t0x32734: 0x6ceb4020, 0x32735: 0x6ceb4220, 0x32736: 0x6cee5e20, 0x32737: 0x6ceb4420,\n\t0x32738: 0x6ceb4620, 0x32739: 0x6ceb4820, 0x3273a: 0x6ceb4a20, 0x3273b: 0x6d19d820,\n\t0x3273c: 0x6d1b2220, 0x3273d: 0x6d1b2420, 0x3273e: 0x6d1b2620, 0x3273f: 0x6d1b2820,\n\t// Block 0xc9d, offset 0x32740\n\t0x32740: 0x6d1b2a20, 0x32741: 0x6d1b2c20, 0x32742: 0x6d1b2e20, 0x32743: 0x6d494420,\n\t0x32744: 0x6d494620, 0x32745: 0x6d494820, 0x32746: 0x6d494a20, 0x32747: 0x6d76fe20,\n\t0x32748: 0x6d770020, 0x32749: 0x6d770220, 0x3274a: 0x6d770420, 0x3274b: 0x6d770620,\n\t0x3274c: 0x6d770820, 0x3274d: 0x6da09420, 0x3274e: 0x6da09620, 0x3274f: 0x6da09820,\n\t0x32750: 0x6dc2f820, 0x32751: 0x6de07a20, 0x32752: 0x6de07c20, 0x32753: 0x6e0c8c20,\n\t0x32754: 0x6e0c8e20, 0x32755: 0x6e1c2c20, 0x32756: 0x6e287020, 0x32757: 0x6e319a20,\n\t0x32758: 0x6e319c20, 0x32759: 0x6c03bc20, 0x3275a: 0x6c03be20, 0x3275b: 0x6c03c020,\n\t0x3275c: 0x6c03c220, 0x3275d: 0x6c03c420, 0x3275e: 0x6c03c620, 0x3275f: 0x6c076e20,\n\t0x32760: 0x6c077020, 0x32761: 0x6c077220, 0x32762: 0x6c077420, 0x32763: 0x6c077620,\n\t0x32764: 0x6c077820, 0x32765: 0x6c077a20, 0x32766: 0x6c077c20, 0x32767: 0x6c077e20,\n\t0x32768: 0x6c078020, 0x32769: 0x6c078220, 0x3276a: 0x6c078420, 0x3276b: 0x6c0e5420,\n\t0x3276c: 0x6c0e5620, 0x3276d: 0x6c0e5820, 0x3276e: 0x6c0e5a20, 0x3276f: 0x6c0e5c20,\n\t0x32770: 0x6c0e5e20, 0x32771: 0x6c0e6020, 0x32772: 0x6c0e6220, 0x32773: 0x6c0e6420,\n\t0x32774: 0x6c0e6620, 0x32775: 0x6c0e6820, 0x32776: 0x6c0e6a20, 0x32777: 0x6c0e6c20,\n\t0x32778: 0x6c0e6e20, 0x32779: 0x6c0e7020, 0x3277a: 0x6c0e7220, 0x3277b: 0x6c0e7420,\n\t0x3277c: 0x6c0e7620, 0x3277d: 0x6c0e7820, 0x3277e: 0x6c0e7a20, 0x3277f: 0x6c0e7c20,\n\t// Block 0xc9e, offset 0x32780\n\t0x32780: 0x6c0e7e20, 0x32781: 0x6c0e8020, 0x32782: 0x6c0e8220, 0x32783: 0x6c0e8420,\n\t0x32784: 0x6c0e8620, 0x32785: 0x6c0e8820, 0x32786: 0x6c0e8a20, 0x32787: 0x6c0e8c20,\n\t0x32788: 0x6c0e8e20, 0x32789: 0x6c0e9020, 0x3278a: 0x6c0e9220, 0x3278b: 0x6c19ca20,\n\t0x3278c: 0x6c19cc20, 0x3278d: 0x6c19ce20, 0x3278e: 0x6c19d020, 0x3278f: 0x6c19d220,\n\t0x32790: 0x6c19d420, 0x32791: 0x6c19d620, 0x32792: 0x6c19d820, 0x32793: 0x6c19da20,\n\t0x32794: 0x6c19dc20, 0x32795: 0x6c19de20, 0x32796: 0x6c19e020, 0x32797: 0x6c19e220,\n\t0x32798: 0x6c19e420, 0x32799: 0x6c19e620, 0x3279a: 0x6c19e820, 0x3279b: 0x6c19ea20,\n\t0x3279c: 0x6c19ec20, 0x3279d: 0x6c19ee20, 0x3279e: 0x6c19f020, 0x3279f: 0x6c19f220,\n\t0x327a0: 0x6c19f420, 0x327a1: 0x6c19f620, 0x327a2: 0x6c19f820, 0x327a3: 0x6c19fa20,\n\t0x327a4: 0x6c19fc20, 0x327a5: 0x6c19fe20, 0x327a6: 0x6c1a0020, 0x327a7: 0x6c1a0220,\n\t0x327a8: 0x6c1a0420, 0x327a9: 0x6c1a0620, 0x327aa: 0x6c1a0820, 0x327ab: 0x6c1a0a20,\n\t0x327ac: 0x6c1a0c20, 0x327ad: 0x6c1a0e20, 0x327ae: 0x6c1a1020, 0x327af: 0x6c1a1220,\n\t0x327b0: 0x6c1a1420, 0x327b1: 0x6c1a1620, 0x327b2: 0x6c1a1820, 0x327b3: 0x6c1a1a20,\n\t0x327b4: 0x6c1a1c20, 0x327b5: 0x6c1a1e20, 0x327b6: 0x6c1a2020, 0x327b7: 0x6c1a2220,\n\t0x327b8: 0x6c1a2420, 0x327b9: 0x6c1a2620, 0x327ba: 0x6c1a2820, 0x327bb: 0x6c1a2a20,\n\t0x327bc: 0x6c1a2c20, 0x327bd: 0x6c1a2e20, 0x327be: 0x6c1a3020, 0x327bf: 0x6c1a3220,\n\t// Block 0xc9f, offset 0x327c0\n\t0x327c0: 0x6c1a3420, 0x327c1: 0x6c1a3620, 0x327c2: 0x6c1a3820, 0x327c3: 0x6c1a3a20,\n\t0x327c4: 0x6c1a3c20, 0x327c5: 0x6c1a3e20, 0x327c6: 0x6c1a4020, 0x327c7: 0x6c1a4220,\n\t0x327c8: 0x6c2ce620, 0x327c9: 0x6c2ce820, 0x327ca: 0x6c2cea20, 0x327cb: 0x6c2cec20,\n\t0x327cc: 0x6c2cee20, 0x327cd: 0x6c2cf020, 0x327ce: 0x6c2cf220, 0x327cf: 0x6c2cf420,\n\t0x327d0: 0x6c2cf620, 0x327d1: 0x6c2cf820, 0x327d2: 0x6c2cfa20, 0x327d3: 0x6c2cfc20,\n\t0x327d4: 0x6c2cfe20, 0x327d5: 0x6c2d0020, 0x327d6: 0x6c2d0220, 0x327d7: 0x6c2d0420,\n\t0x327d8: 0x6c2d0620, 0x327d9: 0x6c2d0820, 0x327da: 0x6c2d0a20, 0x327db: 0x6c2d0c20,\n\t0x327dc: 0x6c2d0e20, 0x327dd: 0x6c2d1020, 0x327de: 0x6c2d1220, 0x327df: 0x6c2d1420,\n\t0x327e0: 0x6c2d1620, 0x327e1: 0x6c2d1820, 0x327e2: 0x6c2d1a20, 0x327e3: 0x6c2d1c20,\n\t0x327e4: 0x6c2d1e20, 0x327e5: 0x6c2d2020, 0x327e6: 0x6c2d2220, 0x327e7: 0x6c2d2420,\n\t0x327e8: 0x6c2d2620, 0x327e9: 0x6c2d2820, 0x327ea: 0x6c2d2a20, 0x327eb: 0x6c2d2c20,\n\t0x327ec: 0x6c2d2e20, 0x327ed: 0x6c2d3020, 0x327ee: 0x6c2d3220, 0x327ef: 0x6c2d3420,\n\t0x327f0: 0x6c2d3620, 0x327f1: 0x6c2d3820, 0x327f2: 0x6c2d3a20, 0x327f3: 0x6c2d3c20,\n\t0x327f4: 0x6c2d3e20, 0x327f5: 0x6c2d4020, 0x327f6: 0x6c2d4220, 0x327f7: 0x6c2d4420,\n\t0x327f8: 0x6c2d4620, 0x327f9: 0x6c2d4820, 0x327fa: 0x6c2d4a20, 0x327fb: 0x6c2d4c20,\n\t0x327fc: 0x6c2d4e20, 0x327fd: 0x6c2d5020, 0x327fe: 0x6c2d5220, 0x327ff: 0x6c2d5420,\n\t// Block 0xca0, offset 0x32800\n\t0x32800: 0x6c2d5620, 0x32801: 0x6c2d5820, 0x32802: 0x6c2d5a20, 0x32803: 0x6c2d5c20,\n\t0x32804: 0x6c2d5e20, 0x32805: 0x6c2d6020, 0x32806: 0x6c2d6220, 0x32807: 0x6c2d6420,\n\t0x32808: 0x6c2d6620, 0x32809: 0x6c2d6820, 0x3280a: 0x6c2d6a20, 0x3280b: 0x6c2d6c20,\n\t0x3280c: 0x6c2d6e20, 0x3280d: 0x6c2d7020, 0x3280e: 0x6c2d7220, 0x3280f: 0x6c2d7420,\n\t0x32810: 0x6c470e20, 0x32811: 0x6c471020, 0x32812: 0x6c471220, 0x32813: 0x6c471420,\n\t0x32814: 0x6c471620, 0x32815: 0x6c471820, 0x32816: 0x6c471a20, 0x32817: 0x6c471c20,\n\t0x32818: 0x6c471e20, 0x32819: 0x6c472020, 0x3281a: 0x6c472220, 0x3281b: 0x6c472420,\n\t0x3281c: 0x6c472620, 0x3281d: 0x6c472820, 0x3281e: 0x6c472a20, 0x3281f: 0x6c472c20,\n\t0x32820: 0x6c472e20, 0x32821: 0x6c473020, 0x32822: 0x6c473220, 0x32823: 0x6c473420,\n\t0x32824: 0x6c473620, 0x32825: 0x6c473820, 0x32826: 0x6c473a20, 0x32827: 0x6c473c20,\n\t0x32828: 0x6c473e20, 0x32829: 0x6c474020, 0x3282a: 0x6c474220, 0x3282b: 0x6c474420,\n\t0x3282c: 0x6c474620, 0x3282d: 0x6c474820, 0x3282e: 0x6c474a20, 0x3282f: 0x6c474c20,\n\t0x32830: 0x6c474e20, 0x32831: 0x6c475020, 0x32832: 0x6c475220, 0x32833: 0x6c475420,\n\t0x32834: 0x6c475620, 0x32835: 0x6c475820, 0x32836: 0x6c475a20, 0x32837: 0x6c475c20,\n\t0x32838: 0x6c475e20, 0x32839: 0x6c476020, 0x3283a: 0x6c476220, 0x3283b: 0x6c476420,\n\t0x3283c: 0x6c476620, 0x3283d: 0x6c476820, 0x3283e: 0x6c476a20, 0x3283f: 0x6c476c20,\n\t// Block 0xca1, offset 0x32840\n\t0x32840: 0x6c476e20, 0x32841: 0x6c477020, 0x32842: 0x6c477220, 0x32843: 0x6c477420,\n\t0x32844: 0x6c477620, 0x32845: 0x6c477820, 0x32846: 0x6c477a20, 0x32847: 0x6c477c20,\n\t0x32848: 0x6c477e20, 0x32849: 0x6c478020, 0x3284a: 0x6c478220, 0x3284b: 0x6c478420,\n\t0x3284c: 0x6c478620, 0x3284d: 0x6c478820, 0x3284e: 0x6c478a20, 0x3284f: 0x6c478c20,\n\t0x32850: 0x6c478e20, 0x32851: 0x6c479020, 0x32852: 0x6c479220, 0x32853: 0x6c479420,\n\t0x32854: 0x6c479620, 0x32855: 0x6c479820, 0x32856: 0x6c479a20, 0x32857: 0x6c479c20,\n\t0x32858: 0x6c479e20, 0x32859: 0x6c47a020, 0x3285a: 0x6c47a220, 0x3285b: 0x6c47a420,\n\t0x3285c: 0x6c47a620, 0x3285d: 0x6c47a820, 0x3285e: 0x6c47aa20, 0x3285f: 0x6c47ac20,\n\t0x32860: 0x6c47ae20, 0x32861: 0x6c47b020, 0x32862: 0x6c47b220, 0x32863: 0x6c47b420,\n\t0x32864: 0x6c47b620, 0x32865: 0x6c47b820, 0x32866: 0x6c47ba20, 0x32867: 0x6c47bc20,\n\t0x32868: 0x6c47be20, 0x32869: 0x6c47c020, 0x3286a: 0x6c47c220, 0x3286b: 0x6c47c420,\n\t0x3286c: 0x6c684820, 0x3286d: 0x6c684a20, 0x3286e: 0x6c684c20, 0x3286f: 0x6c684e20,\n\t0x32870: 0x6c685020, 0x32871: 0x6c685220, 0x32872: 0x6c685420, 0x32873: 0x6c685620,\n\t0x32874: 0x6c685820, 0x32875: 0x6c685a20, 0x32876: 0x6c685c20, 0x32877: 0x6c685e20,\n\t0x32878: 0x6c686020, 0x32879: 0x6c686220, 0x3287a: 0x6c686420, 0x3287b: 0x6c686620,\n\t0x3287c: 0x6c686820, 0x3287d: 0x6c686a20, 0x3287e: 0x6c686c20, 0x3287f: 0x6c686e20,\n\t// Block 0xca2, offset 0x32880\n\t0x32880: 0x6c687020, 0x32881: 0x6c687220, 0x32882: 0x6c687420, 0x32883: 0x6c687620,\n\t0x32884: 0x6c687820, 0x32885: 0x6c687a20, 0x32886: 0x6c687c20, 0x32887: 0x6c687e20,\n\t0x32888: 0x6c688020, 0x32889: 0x6c688220, 0x3288a: 0x6c688420, 0x3288b: 0x6c688620,\n\t0x3288c: 0x6c688820, 0x3288d: 0x6c688a20, 0x3288e: 0x6c688c20, 0x3288f: 0x6c688e20,\n\t0x32890: 0x6c689020, 0x32891: 0x6c689220, 0x32892: 0x6c689420, 0x32893: 0x6c689620,\n\t0x32894: 0x6c689820, 0x32895: 0x6c689a20, 0x32896: 0x6c689c20, 0x32897: 0x6c689e20,\n\t0x32898: 0x6c68a020, 0x32899: 0x6c68a220, 0x3289a: 0x6c68a420, 0x3289b: 0x6c68a620,\n\t0x3289c: 0x6c68a820, 0x3289d: 0x6c68aa20, 0x3289e: 0x6c68ac20, 0x3289f: 0x6c68ae20,\n\t0x328a0: 0x6c68b020, 0x328a1: 0x6c68b220, 0x328a2: 0x6c68b420, 0x328a3: 0x6c68b620,\n\t0x328a4: 0x6c68b820, 0x328a5: 0x6c8ede20, 0x328a6: 0x6c68ba20, 0x328a7: 0x6c68bc20,\n\t0x328a8: 0x6c68be20, 0x328a9: 0x6c68c020, 0x328aa: 0x6c68c220, 0x328ab: 0x6c7ab620,\n\t0x328ac: 0x6c68c420, 0x328ad: 0x6c68c620, 0x328ae: 0x6c68c820, 0x328af: 0x6c68ca20,\n\t0x328b0: 0x6c68cc20, 0x328b1: 0x6c68ce20, 0x328b2: 0x6c68d020, 0x328b3: 0x6c68d220,\n\t0x328b4: 0x6c68d420, 0x328b5: 0x6c68d620, 0x328b6: 0x6c68d820, 0x328b7: 0x6c68da20,\n\t0x328b8: 0x6c68dc20, 0x328b9: 0x6c68de20, 0x328ba: 0x6c68e020, 0x328bb: 0x6c68e220,\n\t0x328bc: 0x6c68e420, 0x328bd: 0x6c68e620, 0x328be: 0x6c68e820, 0x328bf: 0x6c68ea20,\n\t// Block 0xca3, offset 0x328c0\n\t0x328c0: 0x6c68ec20, 0x328c1: 0x6c68ee20, 0x328c2: 0x6c68f020, 0x328c3: 0x6c68f220,\n\t0x328c4: 0x6c68f420, 0x328c5: 0x6c68f620, 0x328c6: 0x6c68f820, 0x328c7: 0x6c68fa20,\n\t0x328c8: 0x6c68fc20, 0x328c9: 0x6c68fe20, 0x328ca: 0x6c690020, 0x328cb: 0x6c690220,\n\t0x328cc: 0x6c690420, 0x328cd: 0x6c690620, 0x328ce: 0x6c690820, 0x328cf: 0x6c690a20,\n\t0x328d0: 0x6c690c20, 0x328d1: 0x6c690e20, 0x328d2: 0x6c691020, 0x328d3: 0x6c691220,\n\t0x328d4: 0x6c691420, 0x328d5: 0x6c691620, 0x328d6: 0x6c691820, 0x328d7: 0x6c691a20,\n\t0x328d8: 0x6c691c20, 0x328d9: 0x6c691e20, 0x328da: 0x6c692020, 0x328db: 0x6c692220,\n\t0x328dc: 0x6c692420, 0x328dd: 0x6c692620, 0x328de: 0x6c692820, 0x328df: 0x6c692a20,\n\t0x328e0: 0x6c692c20, 0x328e1: 0x6c692e20, 0x328e2: 0x6c693020, 0x328e3: 0x6c693220,\n\t0x328e4: 0x6c693420, 0x328e5: 0x6c693620, 0x328e6: 0x6c7a1a20, 0x328e7: 0x6c8ee020,\n\t0x328e8: 0x6c8ee220, 0x328e9: 0x6c8ee420, 0x328ea: 0x6c8ee620, 0x328eb: 0x6c8ee820,\n\t0x328ec: 0x6c8eea20, 0x328ed: 0x6c8eec20, 0x328ee: 0x6c8eee20, 0x328ef: 0x6c8ef020,\n\t0x328f0: 0x6c8ef220, 0x328f1: 0x6c8ef420, 0x328f2: 0x6c8ef620, 0x328f3: 0x6c8ef820,\n\t0x328f4: 0x6c8efa20, 0x328f5: 0x6c8efc20, 0x328f6: 0x6c8efe20, 0x328f7: 0x6c8f0020,\n\t0x328f8: 0x6c8f0220, 0x328f9: 0x6c8f0420, 0x328fa: 0x6c8f0620, 0x328fb: 0x6c8f0820,\n\t0x328fc: 0x6c8f0a20, 0x328fd: 0x6c8f0c20, 0x328fe: 0x6c8f0e20, 0x328ff: 0x6c8f1020,\n\t// Block 0xca4, offset 0x32900\n\t0x32900: 0x6c8f1220, 0x32901: 0x6c8f1420, 0x32902: 0x6c8f1620, 0x32903: 0x6c8f1820,\n\t0x32904: 0x6c8f1a20, 0x32905: 0x6c8f1c20, 0x32906: 0x6c8f1e20, 0x32907: 0x6c8f2020,\n\t0x32908: 0x6c8f2220, 0x32909: 0x6c8f2420, 0x3290a: 0x6c8f2620, 0x3290b: 0x6c8f2820,\n\t0x3290c: 0x6c8f2a20, 0x3290d: 0x6c8f2c20, 0x3290e: 0x6c8f2e20, 0x3290f: 0x6c8f3020,\n\t0x32910: 0x6c8f3220, 0x32911: 0x6c8f3420, 0x32912: 0x6c8f3620, 0x32913: 0x6c8f3820,\n\t0x32914: 0x6c8f3a20, 0x32915: 0x6c8f3c20, 0x32916: 0x6c8f3e20, 0x32917: 0x6c8f4020,\n\t0x32918: 0x6c8f4220, 0x32919: 0x6c8f4420, 0x3291a: 0x6c8f4620, 0x3291b: 0x6c8f4820,\n\t0x3291c: 0x6c8f4a20, 0x3291d: 0x6c8f4c20, 0x3291e: 0x6c8f4e20, 0x3291f: 0x6c8f5020,\n\t0x32920: 0x6c8f5220, 0x32921: 0x6c8f5420, 0x32922: 0x6c8f5620, 0x32923: 0x6c8f5820,\n\t0x32924: 0x6c8f5a20, 0x32925: 0x6c8f5c20, 0x32926: 0x6c8f5e20, 0x32927: 0x6c8f6020,\n\t0x32928: 0x6c8f6220, 0x32929: 0x6c8f6420, 0x3292a: 0x6c8f6620, 0x3292b: 0x6c8f6820,\n\t0x3292c: 0x6c8f6a20, 0x3292d: 0x6c8f6c20, 0x3292e: 0x6c8f6e20, 0x3292f: 0x6c8f7020,\n\t0x32930: 0x6c8f7220, 0x32931: 0x6c8f7420, 0x32932: 0x6c8f7620, 0x32933: 0x6c8f7820,\n\t0x32934: 0x6c8f7a20, 0x32935: 0x6c8f7c20, 0x32936: 0x6c8f7e20, 0x32937: 0x6c8f8020,\n\t0x32938: 0x6c8f8220, 0x32939: 0x6c8f8420, 0x3293a: 0x6c8f8620, 0x3293b: 0x6c8f8820,\n\t0x3293c: 0x6c8f8a20, 0x3293d: 0x6c8f8c20, 0x3293e: 0x6c8f8e20, 0x3293f: 0x6c8f9020,\n\t// Block 0xca5, offset 0x32940\n\t0x32940: 0x6c8f9220, 0x32941: 0x6c8f9420, 0x32942: 0x6c8f9620, 0x32943: 0x6c8f9820,\n\t0x32944: 0x6c8f9a20, 0x32945: 0x6c8f9c20, 0x32946: 0x6c8f9e20, 0x32947: 0x6c8fa020,\n\t0x32948: 0x6c8fa220, 0x32949: 0x6c8fa420, 0x3294a: 0x6c8fa620, 0x3294b: 0x6c8fa820,\n\t0x3294c: 0x6c8faa20, 0x3294d: 0x6c8fac20, 0x3294e: 0x6c8fae20, 0x3294f: 0x6c8fb020,\n\t0x32950: 0x6c8fb220, 0x32951: 0x6c8fb420, 0x32952: 0x6c8fb620, 0x32953: 0x6c8fb820,\n\t0x32954: 0x6c8fba20, 0x32955: 0x6c8fbc20, 0x32956: 0x6c8fbe20, 0x32957: 0x6c8fc020,\n\t0x32958: 0x6c8fc220, 0x32959: 0x6c8fc420, 0x3295a: 0x6c8fc620, 0x3295b: 0x6c8fc820,\n\t0x3295c: 0x6c8fca20, 0x3295d: 0x6c8fcc20, 0x3295e: 0x6c8fce20, 0x3295f: 0x6c8fd020,\n\t0x32960: 0x6c8fd220, 0x32961: 0x6c8fd420, 0x32962: 0x6c8fd620, 0x32963: 0x6c8fd820,\n\t0x32964: 0x6c8fda20, 0x32965: 0x6c8fdc20, 0x32966: 0x6c8fde20, 0x32967: 0x6c8fe020,\n\t0x32968: 0x6c8fe220, 0x32969: 0x6c8fe420, 0x3296a: 0x6c8fe620, 0x3296b: 0x6c8fe820,\n\t0x3296c: 0x6c8fea20, 0x3296d: 0x6c8fec20, 0x3296e: 0x6c8fee20, 0x3296f: 0x6c8ff020,\n\t0x32970: 0x6c8ff220, 0x32971: 0x6c8ff420, 0x32972: 0x6c8ff620, 0x32973: 0x6c8ff820,\n\t0x32974: 0x6c8ffa20, 0x32975: 0x6c8ffc20, 0x32976: 0x6c8ffe20, 0x32977: 0x6cbb1e20,\n\t0x32978: 0x6cbb2020, 0x32979: 0x6cbb2220, 0x3297a: 0x6cbb2420, 0x3297b: 0x6cbb2620,\n\t0x3297c: 0x6cbb2820, 0x3297d: 0x6cbb2a20, 0x3297e: 0x6cbb2c20, 0x3297f: 0x6cbb2e20,\n\t// Block 0xca6, offset 0x32980\n\t0x32980: 0x6cbb3020, 0x32981: 0x6cbb3220, 0x32982: 0x6cbb3420, 0x32983: 0x6cbb3620,\n\t0x32984: 0x6cbb3820, 0x32985: 0x6cbb3a20, 0x32986: 0x6cbb3c20, 0x32987: 0x6cbb3e20,\n\t0x32988: 0x6cbb4020, 0x32989: 0x6cbb4220, 0x3298a: 0x6cbb4420, 0x3298b: 0x6cbb4620,\n\t0x3298c: 0x6cbb4820, 0x3298d: 0x6cbb4a20, 0x3298e: 0x6cbb4c20, 0x3298f: 0x6cbb4e20,\n\t0x32990: 0x6cbb5020, 0x32991: 0x6cbb5220, 0x32992: 0x6cbb5420, 0x32993: 0x6cbb5620,\n\t0x32994: 0x6cbb5820, 0x32995: 0x6cbb5a20, 0x32996: 0x6cbb5c20, 0x32997: 0x6cbb5e20,\n\t0x32998: 0x6cbb6020, 0x32999: 0x6cbb6220, 0x3299a: 0x6cbb6420, 0x3299b: 0x6cbb6620,\n\t0x3299c: 0x6cbb6820, 0x3299d: 0x6cbb6a20, 0x3299e: 0x6cbb6c20, 0x3299f: 0x6cbb6e20,\n\t0x329a0: 0x6cbb7020, 0x329a1: 0x6cbb7220, 0x329a2: 0x6cebdc20, 0x329a3: 0x6cbb7420,\n\t0x329a4: 0x6cbb7620, 0x329a5: 0x6cbb7820, 0x329a6: 0x6cbb7a20, 0x329a7: 0x6cbb7c20,\n\t0x329a8: 0x6cbb7e20, 0x329a9: 0x6cbb8020, 0x329aa: 0x6cbb8220, 0x329ab: 0x6cbb8420,\n\t0x329ac: 0x6cbb8620, 0x329ad: 0x6cbb8820, 0x329ae: 0x6cbb8a20, 0x329af: 0x6cbb8c20,\n\t0x329b0: 0x6cbb8e20, 0x329b1: 0x6cbb9020, 0x329b2: 0x6cbb9220, 0x329b3: 0x6cbb9420,\n\t0x329b4: 0x6cbb9620, 0x329b5: 0x6cbb9820, 0x329b6: 0x6cbb9a20, 0x329b7: 0x6cbb9c20,\n\t0x329b8: 0x6cbb9e20, 0x329b9: 0x6cbba020, 0x329ba: 0x6cbba220, 0x329bb: 0x6cbba420,\n\t0x329bc: 0x6cbba620, 0x329bd: 0x6cbba820, 0x329be: 0x6cbbaa20, 0x329bf: 0x6cbbac20,\n\t// Block 0xca7, offset 0x329c0\n\t0x329c0: 0x6cbbae20, 0x329c1: 0x6cbbb020, 0x329c2: 0x6cbbb220, 0x329c3: 0x6cbbb420,\n\t0x329c4: 0x6cbbb620, 0x329c5: 0x6cbbb820, 0x329c6: 0x6cbbba20, 0x329c7: 0x6cbbbc20,\n\t0x329c8: 0x6cbbbe20, 0x329c9: 0x6cbbc020, 0x329ca: 0x6cbbc220, 0x329cb: 0x6cbbc420,\n\t0x329cc: 0x6cbbc620, 0x329cd: 0x6cbbc820, 0x329ce: 0x6cbbca20, 0x329cf: 0x6cbbcc20,\n\t0x329d0: 0x6cbbce20, 0x329d1: 0x6cbbd020, 0x329d2: 0x6cbbd220, 0x329d3: 0x6cbbd420,\n\t0x329d4: 0x6cbbd620, 0x329d5: 0x6cbbd820, 0x329d6: 0x6cbbda20, 0x329d7: 0x6cbbdc20,\n\t0x329d8: 0x6cbbde20, 0x329d9: 0x6cbbe020, 0x329da: 0x6cbbe220, 0x329db: 0x6cbbe420,\n\t0x329dc: 0x6cbbe620, 0x329dd: 0x6cbbe820, 0x329de: 0x6cbbea20, 0x329df: 0x6cbbec20,\n\t0x329e0: 0x6cbbee20, 0x329e1: 0x6cbbf020, 0x329e2: 0x6cbbf220, 0x329e3: 0x6cbbf420,\n\t0x329e4: 0x6cbbf620, 0x329e5: 0x6cbbf820, 0x329e6: 0x6cbbfa20, 0x329e7: 0x6cbbfc20,\n\t0x329e8: 0x6cbbfe20, 0x329e9: 0x6cbc0020, 0x329ea: 0x6cbc0220, 0x329eb: 0x6cbc0420,\n\t0x329ec: 0x6cbc0620, 0x329ed: 0x6cbc0820, 0x329ee: 0x6cbc0a20, 0x329ef: 0x6cbc0c20,\n\t0x329f0: 0x6cbc0e20, 0x329f1: 0x6cbc1020, 0x329f2: 0x6cbc1220, 0x329f3: 0x6cbc1420,\n\t0x329f4: 0x6cbc1620, 0x329f5: 0x6cbc1820, 0x329f6: 0x6cebde20, 0x329f7: 0x6cebe020,\n\t0x329f8: 0x6cebe220, 0x329f9: 0x6cebe420, 0x329fa: 0x6cebe620, 0x329fb: 0x6cbc1a20,\n\t0x329fc: 0x6cbc1c20, 0x329fd: 0x6cbc1e20, 0x329fe: 0x6cbc2020, 0x329ff: 0x6cebe820,\n\t// Block 0xca8, offset 0x32a00\n\t0x32a00: 0x6cebea20, 0x32a01: 0x6cebec20, 0x32a02: 0x6cebee20, 0x32a03: 0x6cebf020,\n\t0x32a04: 0x6cebf220, 0x32a05: 0x6cebf420, 0x32a06: 0x6cebf620, 0x32a07: 0x6cebf820,\n\t0x32a08: 0x6cebfa20, 0x32a09: 0x6cebfc20, 0x32a0a: 0x6cebfe20, 0x32a0b: 0x6cec0020,\n\t0x32a0c: 0x6cec0220, 0x32a0d: 0x6cec0420, 0x32a0e: 0x6cec0620, 0x32a0f: 0x6cec0820,\n\t0x32a10: 0x6cec0a20, 0x32a11: 0x6cec0c20, 0x32a12: 0x6cec0e20, 0x32a13: 0x6cec1020,\n\t0x32a14: 0x6cec1220, 0x32a15: 0x6cec1420, 0x32a16: 0x6cec1620, 0x32a17: 0x6cec1820,\n\t0x32a18: 0x6cec1a20, 0x32a19: 0x6cec1c20, 0x32a1a: 0x6cec1e20, 0x32a1b: 0x6cec2020,\n\t0x32a1c: 0x6cec2220, 0x32a1d: 0x6cec2420, 0x32a1e: 0x6cec2620, 0x32a1f: 0x6cec2820,\n\t0x32a20: 0x6cec2a20, 0x32a21: 0x6cec2c20, 0x32a22: 0x6cec2e20, 0x32a23: 0x6cec3020,\n\t0x32a24: 0x6cec3220, 0x32a25: 0x6cec3420, 0x32a26: 0x6cec3620, 0x32a27: 0x6cec3820,\n\t0x32a28: 0x6cec3a20, 0x32a29: 0x6cec3c20, 0x32a2a: 0x6cec3e20, 0x32a2b: 0x6cec4020,\n\t0x32a2c: 0x6cec4220, 0x32a2d: 0x6cec4420, 0x32a2e: 0x6cec4620, 0x32a2f: 0x6cec4820,\n\t0x32a30: 0x6d49ce20, 0x32a31: 0x6d49d020, 0x32a32: 0x6d49d220, 0x32a33: 0x6cec4a20,\n\t0x32a34: 0x6cec4c20, 0x32a35: 0x6cec4e20, 0x32a36: 0x6cec5020, 0x32a37: 0x6cec5220,\n\t0x32a38: 0x6cec5420, 0x32a39: 0x6cec5620, 0x32a3a: 0x6cec5820, 0x32a3b: 0x6cec5a20,\n\t0x32a3c: 0x6cec5c20, 0x32a3d: 0x6cec5e20, 0x32a3e: 0x6cec6020, 0x32a3f: 0x6cec6220,\n\t// Block 0xca9, offset 0x32a40\n\t0x32a40: 0x6cec6420, 0x32a41: 0x6cec6620, 0x32a42: 0x6cec6820, 0x32a43: 0x6cec6a20,\n\t0x32a44: 0x6cec6c20, 0x32a45: 0x6cec6e20, 0x32a46: 0x6cec7020, 0x32a47: 0x6cec7220,\n\t0x32a48: 0x6cec7420, 0x32a49: 0x6cec7620, 0x32a4a: 0x6cec7820, 0x32a4b: 0x6cec7a20,\n\t0x32a4c: 0x6cec7c20, 0x32a4d: 0x6cec7e20, 0x32a4e: 0x6cec8020, 0x32a4f: 0x6cec8220,\n\t0x32a50: 0x6cec8420, 0x32a51: 0x6cec8620, 0x32a52: 0x6cec8820, 0x32a53: 0x6cec8a20,\n\t0x32a54: 0x6cec8c20, 0x32a55: 0x6cec8e20, 0x32a56: 0x6cec9020, 0x32a57: 0x6cec9220,\n\t0x32a58: 0x6cec9420, 0x32a59: 0x6cec9620, 0x32a5a: 0x6cec9820, 0x32a5b: 0x6cec9a20,\n\t0x32a5c: 0x6cec9c20, 0x32a5d: 0x6cec9e20, 0x32a5e: 0x6ceca020, 0x32a5f: 0x6ceca220,\n\t0x32a60: 0x6ceca420, 0x32a61: 0x6ceca620, 0x32a62: 0x6ceca820, 0x32a63: 0x6cecaa20,\n\t0x32a64: 0x6cecac20, 0x32a65: 0x6cecae20, 0x32a66: 0x6cecb020, 0x32a67: 0x6cecb220,\n\t0x32a68: 0x6cecb420, 0x32a69: 0x6cecb620, 0x32a6a: 0x6cecb820, 0x32a6b: 0x6cecba20,\n\t0x32a6c: 0x6cecbc20, 0x32a6d: 0x6cecbe20, 0x32a6e: 0x6cecc020, 0x32a6f: 0x6cecc220,\n\t0x32a70: 0x6cecc420, 0x32a71: 0x6cecc620, 0x32a72: 0x6cecc820, 0x32a73: 0x6cecca20,\n\t0x32a74: 0x6ceccc20, 0x32a75: 0x6cecce20, 0x32a76: 0x6cecd020, 0x32a77: 0x6cecd220,\n\t0x32a78: 0x6cecd420, 0x32a79: 0x6cecd620, 0x32a7a: 0x6cecd820, 0x32a7b: 0x6cecda20,\n\t0x32a7c: 0x6cecdc20, 0x32a7d: 0x6cecde20, 0x32a7e: 0x6cece020, 0x32a7f: 0x6cece220,\n\t// Block 0xcaa, offset 0x32a80\n\t0x32a80: 0x6cece420, 0x32a81: 0x6cece620, 0x32a82: 0x6cece820, 0x32a83: 0x6cecea20,\n\t0x32a84: 0x6cecec20, 0x32a85: 0x6cecee20, 0x32a86: 0x6cecf020, 0x32a87: 0x6cecf220,\n\t0x32a88: 0x6cecf420, 0x32a89: 0x6cecf620, 0x32a8a: 0x6cecf820, 0x32a8b: 0x6cecfa20,\n\t0x32a8c: 0x6cecfc20, 0x32a8d: 0x6cecfe20, 0x32a8e: 0x6ced0020, 0x32a8f: 0x6ced0220,\n\t0x32a90: 0x6ced0420, 0x32a91: 0x6ced0620, 0x32a92: 0x6ced0820, 0x32a93: 0x6ced0a20,\n\t0x32a94: 0x6d1bb620, 0x32a95: 0x6d1bb820, 0x32a96: 0x6d1bba20, 0x32a97: 0x6d1bbc20,\n\t0x32a98: 0x6d1bbe20, 0x32a99: 0x6d1bc020, 0x32a9a: 0x6d1bc220, 0x32a9b: 0x6d1bc420,\n\t0x32a9c: 0x6d1bc620, 0x32a9d: 0x6d1bc820, 0x32a9e: 0x6d1bca20, 0x32a9f: 0x6d1bcc20,\n\t0x32aa0: 0x6d1bce20, 0x32aa1: 0x6d1bd020, 0x32aa2: 0x6d1bd220, 0x32aa3: 0x6d1bd420,\n\t0x32aa4: 0x6d1bd620, 0x32aa5: 0x6d1bd820, 0x32aa6: 0x6d1bda20, 0x32aa7: 0x6d1bdc20,\n\t0x32aa8: 0x6d1bde20, 0x32aa9: 0x6d1be020, 0x32aaa: 0x6d1be220, 0x32aab: 0x6d1be420,\n\t0x32aac: 0x6d1be620, 0x32aad: 0x6d1be820, 0x32aae: 0x6d1bea20, 0x32aaf: 0x6d1bec20,\n\t0x32ab0: 0x6d1bee20, 0x32ab1: 0x6d1bf020, 0x32ab2: 0x6d1bf220, 0x32ab3: 0x6d1bf420,\n\t0x32ab4: 0x6d1bf620, 0x32ab5: 0x6d1bf820, 0x32ab6: 0x6d1bfa20, 0x32ab7: 0x6d1bfc20,\n\t0x32ab8: 0x6d1bfe20, 0x32ab9: 0x6d1c0020, 0x32aba: 0x6d1c0220, 0x32abb: 0x6d1c0420,\n\t0x32abc: 0x6d1c0620, 0x32abd: 0x6d1c0820, 0x32abe: 0x6d1c0a20, 0x32abf: 0x6d1c0c20,\n\t// Block 0xcab, offset 0x32ac0\n\t0x32ac0: 0x6d1c0e20, 0x32ac1: 0x6d1c1020, 0x32ac2: 0x6d1c1220, 0x32ac3: 0x6d1c1420,\n\t0x32ac4: 0x6d1c1620, 0x32ac5: 0x6d1c1820, 0x32ac6: 0x6d1c1a20, 0x32ac7: 0x6d1c1c20,\n\t0x32ac8: 0x6d1c1e20, 0x32ac9: 0x6d1c2020, 0x32aca: 0x6d1c2220, 0x32acb: 0x6d1c2420,\n\t0x32acc: 0x6d1c2620, 0x32acd: 0x6d1c2820, 0x32ace: 0x6d1c2a20, 0x32acf: 0x6d1c2c20,\n\t0x32ad0: 0x6d1c2e20, 0x32ad1: 0x6d1c3020, 0x32ad2: 0x6d1c3220, 0x32ad3: 0x6d1c3420,\n\t0x32ad4: 0x6d1c3620, 0x32ad5: 0x6d1c3820, 0x32ad6: 0x6d1c3a20, 0x32ad7: 0x6d1c3c20,\n\t0x32ad8: 0x6d1c3e20, 0x32ad9: 0x6d1c4020, 0x32ada: 0x6d1c4220, 0x32adb: 0x6d1c4420,\n\t0x32adc: 0x6d1c4620, 0x32add: 0x6d1c4820, 0x32ade: 0x6d1c4a20, 0x32adf: 0x6d1c4c20,\n\t0x32ae0: 0x6d1c4e20, 0x32ae1: 0x6d1c5020, 0x32ae2: 0x6d1c5220, 0x32ae3: 0x6d1c5420,\n\t0x32ae4: 0x6d1c5620, 0x32ae5: 0x6d1c5820, 0x32ae6: 0x6d1c5a20, 0x32ae7: 0x6d1c5c20,\n\t0x32ae8: 0x6d1c5e20, 0x32ae9: 0x6d1c6020, 0x32aea: 0x6d1c6220, 0x32aeb: 0x6d1c6420,\n\t0x32aec: 0x6d1c6620, 0x32aed: 0x6d1c6820, 0x32aee: 0x6d1c6a20, 0x32aef: 0x6d1c6c20,\n\t0x32af0: 0x6d1c6e20, 0x32af1: 0x6d1c7020, 0x32af2: 0x6d1c7220, 0x32af3: 0x6d1c7420,\n\t0x32af4: 0x6d1c7620, 0x32af5: 0x6d1c7820, 0x32af6: 0x6d1c7a20, 0x32af7: 0x6d1c7c20,\n\t0x32af8: 0x6d1c7e20, 0x32af9: 0x6d1c8020, 0x32afa: 0x6d1c8220, 0x32afb: 0x6d1c8420,\n\t0x32afc: 0x6d1c8620, 0x32afd: 0x6d1c8820, 0x32afe: 0x6d1c8a20, 0x32aff: 0x6d1c8c20,\n\t// Block 0xcac, offset 0x32b00\n\t0x32b00: 0x6d1c8e20, 0x32b01: 0x6d1c9020, 0x32b02: 0x6d1c9220, 0x32b03: 0x6d1c9420,\n\t0x32b04: 0x6d1c9620, 0x32b05: 0x6d1c9820, 0x32b06: 0x6d1c9a20, 0x32b07: 0x6d1c9c20,\n\t0x32b08: 0x6d1c9e20, 0x32b09: 0x6d1ca020, 0x32b0a: 0x6d1ca220, 0x32b0b: 0x6d1ca420,\n\t0x32b0c: 0x6d1ca620, 0x32b0d: 0x6d1ca820, 0x32b0e: 0x6d1caa20, 0x32b0f: 0x6d1cac20,\n\t0x32b10: 0x6d1cae20, 0x32b11: 0x6d1cb020, 0x32b12: 0x6d1cb220, 0x32b13: 0x6d1cb420,\n\t0x32b14: 0x6d1cb620, 0x32b15: 0x6d1cb820, 0x32b16: 0x6d1cba20, 0x32b17: 0x6d1cbc20,\n\t0x32b18: 0x6d1cbe20, 0x32b19: 0x6d1cc020, 0x32b1a: 0x6d1cc220, 0x32b1b: 0x6d1cc420,\n\t0x32b1c: 0x6d1cc620, 0x32b1d: 0x6d1cc820, 0x32b1e: 0x6d1cca20, 0x32b1f: 0x6d1ccc20,\n\t0x32b20: 0x6d1cce20, 0x32b21: 0x6d49d420, 0x32b22: 0x6d49d620, 0x32b23: 0x6d49d820,\n\t0x32b24: 0x6d49da20, 0x32b25: 0x6d49dc20, 0x32b26: 0x6d49de20, 0x32b27: 0x6d49e020,\n\t0x32b28: 0x6d49e220, 0x32b29: 0x6d49e420, 0x32b2a: 0x6d49e620, 0x32b2b: 0x6d49e820,\n\t0x32b2c: 0x6d49ea20, 0x32b2d: 0x6d49ec20, 0x32b2e: 0x6d49ee20, 0x32b2f: 0x6d49f020,\n\t0x32b30: 0x6d49f220, 0x32b31: 0x6d49f420, 0x32b32: 0x6d49f620, 0x32b33: 0x6d49f820,\n\t0x32b34: 0x6d49fa20, 0x32b35: 0x6d49fc20, 0x32b36: 0x6d49fe20, 0x32b37: 0x6d4a0020,\n\t0x32b38: 0x6d4a0220, 0x32b39: 0x6d4a0420, 0x32b3a: 0x6d4a0620, 0x32b3b: 0x6d4a0820,\n\t0x32b3c: 0x6d4a0a20, 0x32b3d: 0x6d4a0c20, 0x32b3e: 0x6d4a0e20, 0x32b3f: 0x6d4a1020,\n\t// Block 0xcad, offset 0x32b40\n\t0x32b40: 0x6d4a1220, 0x32b41: 0x6d4a1420, 0x32b42: 0x6d4a1620, 0x32b43: 0x6d4a1820,\n\t0x32b44: 0x6d4a1a20, 0x32b45: 0x6d4a1c20, 0x32b46: 0x6d4a1e20, 0x32b47: 0x6d4a2020,\n\t0x32b48: 0x6d4a2220, 0x32b49: 0x6d4a2420, 0x32b4a: 0x6d4a2620, 0x32b4b: 0x6d4a2820,\n\t0x32b4c: 0x6d4a2a20, 0x32b4d: 0x6d4a2c20, 0x32b4e: 0x6d4a2e20, 0x32b4f: 0x6d4a3020,\n\t0x32b50: 0x6d4a3220, 0x32b51: 0x6d4a3420, 0x32b52: 0x6d4a3620, 0x32b53: 0x6d4a3820,\n\t0x32b54: 0x6d4a3a20, 0x32b55: 0x6d4a3c20, 0x32b56: 0x6d4a3e20, 0x32b57: 0x6d4a4020,\n\t0x32b58: 0x6d4a4220, 0x32b59: 0x6d4a4420, 0x32b5a: 0x6d4a4620, 0x32b5b: 0x6d4a4820,\n\t0x32b5c: 0x6d4a4a20, 0x32b5d: 0x6d4a4c20, 0x32b5e: 0x6d4a4e20, 0x32b5f: 0x6d4a5020,\n\t0x32b60: 0x6d4a5220, 0x32b61: 0x6d4a5420, 0x32b62: 0x6d4a5620, 0x32b63: 0x6d4a5820,\n\t0x32b64: 0x6d4a5a20, 0x32b65: 0x6d4a5c20, 0x32b66: 0x6d4a5e20, 0x32b67: 0x6d311620,\n\t0x32b68: 0x6d4a6020, 0x32b69: 0x6d4a6220, 0x32b6a: 0x6d4a6420, 0x32b6b: 0x6d4a6620,\n\t0x32b6c: 0x6d4a6820, 0x32b6d: 0x6d4a6a20, 0x32b6e: 0x6d4a6c20, 0x32b6f: 0x6d4a6e20,\n\t0x32b70: 0x6d4a7020, 0x32b71: 0x6d4a7220, 0x32b72: 0x6d4a7420, 0x32b73: 0x6d4a7620,\n\t0x32b74: 0x6d4a7820, 0x32b75: 0x6d4a7a20, 0x32b76: 0x6d4a7c20, 0x32b77: 0x6d4a7e20,\n\t0x32b78: 0x6d4a8020, 0x32b79: 0x6d4a8220, 0x32b7a: 0x6d4a8420, 0x32b7b: 0x6d4a8620,\n\t0x32b7c: 0x6d4a8820, 0x32b7d: 0x6d4a8a20, 0x32b7e: 0x6d4a8c20, 0x32b7f: 0x6d4a8e20,\n\t// Block 0xcae, offset 0x32b80\n\t0x32b80: 0x6d4a9020, 0x32b81: 0x6d4a9220, 0x32b82: 0x6d4a9420, 0x32b83: 0x6d4a9620,\n\t0x32b84: 0x6d4a9820, 0x32b85: 0x6d4a9a20, 0x32b86: 0x6d4a9c20, 0x32b87: 0x6d775e20,\n\t0x32b88: 0x6d776020, 0x32b89: 0x6d776220, 0x32b8a: 0x6d776420, 0x32b8b: 0x6d776620,\n\t0x32b8c: 0x6d776820, 0x32b8d: 0x6d776a20, 0x32b8e: 0x6d776c20, 0x32b8f: 0x6d776e20,\n\t0x32b90: 0x6d777020, 0x32b91: 0x6d777220, 0x32b92: 0x6d777420, 0x32b93: 0x6d777620,\n\t0x32b94: 0x6d777820, 0x32b95: 0x6d777a20, 0x32b96: 0x6d777c20, 0x32b97: 0x6d777e20,\n\t0x32b98: 0x6d778020, 0x32b99: 0x6d778220, 0x32b9a: 0x6d778420, 0x32b9b: 0x6d778620,\n\t0x32b9c: 0x6d778820, 0x32b9d: 0x6d778a20, 0x32b9e: 0x6d778c20, 0x32b9f: 0x6d778e20,\n\t0x32ba0: 0x6d779020, 0x32ba1: 0x6d779220, 0x32ba2: 0x6d779420, 0x32ba3: 0x6d779620,\n\t0x32ba4: 0x6d779820, 0x32ba5: 0x6d779a20, 0x32ba6: 0x6d779c20, 0x32ba7: 0x6d779e20,\n\t0x32ba8: 0x6d77a020, 0x32ba9: 0x6d77a220, 0x32baa: 0x6d77a420, 0x32bab: 0x6d77a620,\n\t0x32bac: 0x6d77a820, 0x32bad: 0x6d77aa20, 0x32bae: 0x6d77ac20, 0x32baf: 0x6d77ae20,\n\t0x32bb0: 0x6d77b020, 0x32bb1: 0x6d77b220, 0x32bb2: 0x6d77b420, 0x32bb3: 0x6d77b620,\n\t0x32bb4: 0x6d77b820, 0x32bb5: 0x6d77ba20, 0x32bb6: 0x6d77bc20, 0x32bb7: 0x6d77be20,\n\t0x32bb8: 0x6d77c020, 0x32bb9: 0x6d77c220, 0x32bba: 0x6d77c420, 0x32bbb: 0x6d77c620,\n\t0x32bbc: 0x6d77c820, 0x32bbd: 0x6d77ca20, 0x32bbe: 0x6d77cc20, 0x32bbf: 0x6d77ce20,\n\t// Block 0xcaf, offset 0x32bc0\n\t0x32bc0: 0x6d77d020, 0x32bc1: 0x6d77d220, 0x32bc2: 0x6d77d420, 0x32bc3: 0x6d77d620,\n\t0x32bc4: 0x6d77d820, 0x32bc5: 0x6d77da20, 0x32bc6: 0x6d77dc20, 0x32bc7: 0x6d77de20,\n\t0x32bc8: 0x6d77e020, 0x32bc9: 0x6d77e220, 0x32bca: 0x6d77e420, 0x32bcb: 0x6d77e620,\n\t0x32bcc: 0x6d77e820, 0x32bcd: 0x6d77ea20, 0x32bce: 0x6d77ec20, 0x32bcf: 0x6d77ee20,\n\t0x32bd0: 0x6d77f020, 0x32bd1: 0x6d77f220, 0x32bd2: 0x6d77f420, 0x32bd3: 0x6d77f620,\n\t0x32bd4: 0x6d4a9e20, 0x32bd5: 0x6d77f820, 0x32bd6: 0x6d77fa20, 0x32bd7: 0x6d77fc20,\n\t0x32bd8: 0x6d77fe20, 0x32bd9: 0x6d780020, 0x32bda: 0x6d780220, 0x32bdb: 0x6d780420,\n\t0x32bdc: 0x6d780620, 0x32bdd: 0x6d780820, 0x32bde: 0x6d780a20, 0x32bdf: 0x6d780c20,\n\t0x32be0: 0x6d780e20, 0x32be1: 0x6d781020, 0x32be2: 0x6d781220, 0x32be3: 0x6d781420,\n\t0x32be4: 0x6d781620, 0x32be5: 0x6d781820, 0x32be6: 0x6d4aa020, 0x32be7: 0x6d781a20,\n\t0x32be8: 0x6d781c20, 0x32be9: 0x6d781e20, 0x32bea: 0x6d782020, 0x32beb: 0x6d782220,\n\t0x32bec: 0x6d782420, 0x32bed: 0x6d782620, 0x32bee: 0x6d782820, 0x32bef: 0x6d782a20,\n\t0x32bf0: 0x6d782c20, 0x32bf1: 0x6d782e20, 0x32bf2: 0x6d783020, 0x32bf3: 0x6d783220,\n\t0x32bf4: 0x6d783420, 0x32bf5: 0x6d783620, 0x32bf6: 0x6d783820, 0x32bf7: 0x6d783a20,\n\t0x32bf8: 0x6d783c20, 0x32bf9: 0x6d783e20, 0x32bfa: 0x6d784020, 0x32bfb: 0x6d784220,\n\t0x32bfc: 0x6d784420, 0x32bfd: 0x6da0d020, 0x32bfe: 0x6da0d220, 0x32bff: 0x6da0d420,\n\t// Block 0xcb0, offset 0x32c00\n\t0x32c00: 0x6da0d620, 0x32c01: 0x6da0d820, 0x32c02: 0x6da0da20, 0x32c03: 0x6da0dc20,\n\t0x32c04: 0x6da0de20, 0x32c05: 0x6da0e020, 0x32c06: 0x6da0e220, 0x32c07: 0x6da0e420,\n\t0x32c08: 0x6da0e620, 0x32c09: 0x6da0e820, 0x32c0a: 0x6da0ea20, 0x32c0b: 0x6da0ec20,\n\t0x32c0c: 0x6da0ee20, 0x32c0d: 0x6da0f020, 0x32c0e: 0x6da0f220, 0x32c0f: 0x6da0f420,\n\t0x32c10: 0x6da0f620, 0x32c11: 0x6da0f820, 0x32c12: 0x6da0fa20, 0x32c13: 0x6da0fc20,\n\t0x32c14: 0x6da0fe20, 0x32c15: 0x6da10020, 0x32c16: 0x6da10220, 0x32c17: 0x6da10420,\n\t0x32c18: 0x6da10620, 0x32c19: 0x6da10820, 0x32c1a: 0x6da10a20, 0x32c1b: 0x6da10c20,\n\t0x32c1c: 0x6da10e20, 0x32c1d: 0x6da11020, 0x32c1e: 0x6da11220, 0x32c1f: 0x6da11420,\n\t0x32c20: 0x6da11620, 0x32c21: 0x6da11820, 0x32c22: 0x6da11a20, 0x32c23: 0x6da11c20,\n\t0x32c24: 0x6da11e20, 0x32c25: 0x6da12020, 0x32c26: 0x6da12220, 0x32c27: 0x6da12420,\n\t0x32c28: 0x6da12620, 0x32c29: 0x6da12820, 0x32c2a: 0x6da12a20, 0x32c2b: 0x6da12c20,\n\t0x32c2c: 0x6da12e20, 0x32c2d: 0x6da13020, 0x32c2e: 0x6da13220, 0x32c2f: 0x6da13420,\n\t0x32c30: 0x6da13620, 0x32c31: 0x6da13820, 0x32c32: 0x6da13a20, 0x32c33: 0x6da13c20,\n\t0x32c34: 0x6da13e20, 0x32c35: 0x6da14020, 0x32c36: 0x6da14220, 0x32c37: 0x6da14420,\n\t0x32c38: 0x6da14620, 0x32c39: 0x6da14820, 0x32c3a: 0x6da14a20, 0x32c3b: 0x6da14c20,\n\t0x32c3c: 0x6da14e20, 0x32c3d: 0x6da15020, 0x32c3e: 0x6da15220, 0x32c3f: 0x6da15420,\n\t// Block 0xcb1, offset 0x32c40\n\t0x32c40: 0x6da15620, 0x32c41: 0x6da15820, 0x32c42: 0x6da15a20, 0x32c43: 0x6da15c20,\n\t0x32c44: 0x6da15e20, 0x32c45: 0x6da16020, 0x32c46: 0x6da16220, 0x32c47: 0x6da16420,\n\t0x32c48: 0x6da16620, 0x32c49: 0x6da16820, 0x32c4a: 0x6da16a20, 0x32c4b: 0x6da16c20,\n\t0x32c4c: 0x6da16e20, 0x32c4d: 0x6da17020, 0x32c4e: 0x6da17220, 0x32c4f: 0x6dc32a20,\n\t0x32c50: 0x6dc32c20, 0x32c51: 0x6dc32e20, 0x32c52: 0x6dc33020, 0x32c53: 0x6dc33220,\n\t0x32c54: 0x6dc33420, 0x32c55: 0x6dc33620, 0x32c56: 0x6dc33820, 0x32c57: 0x6dc33a20,\n\t0x32c58: 0x6dc33c20, 0x32c59: 0x6dc33e20, 0x32c5a: 0x6dc34020, 0x32c5b: 0x6dc34220,\n\t0x32c5c: 0x6dc34420, 0x32c5d: 0x6dc34620, 0x32c5e: 0x6dc34820, 0x32c5f: 0x6dc34a20,\n\t0x32c60: 0x6dc34c20, 0x32c61: 0x6dc34e20, 0x32c62: 0x6dc35020, 0x32c63: 0x6dc35220,\n\t0x32c64: 0x6dc35420, 0x32c65: 0x6dc35620, 0x32c66: 0x6dc35820, 0x32c67: 0x6dc35a20,\n\t0x32c68: 0x6dc35c20, 0x32c69: 0x6dc35e20, 0x32c6a: 0x6dc36020, 0x32c6b: 0x6dc36220,\n\t0x32c6c: 0x6dc36420, 0x32c6d: 0x6dc36620, 0x32c6e: 0x6dc36820, 0x32c6f: 0x6dc36a20,\n\t0x32c70: 0x6dc36c20, 0x32c71: 0x6dc36e20, 0x32c72: 0x6dc37020, 0x32c73: 0x6dc37220,\n\t0x32c74: 0x6dc37420, 0x32c75: 0x6dc37620, 0x32c76: 0x6dc37820, 0x32c77: 0x6dc37a20,\n\t0x32c78: 0x6dc37c20, 0x32c79: 0x6dc37e20, 0x32c7a: 0x6dc38020, 0x32c7b: 0x6dc38220,\n\t0x32c7c: 0x6dc38420, 0x32c7d: 0x6dc38620, 0x32c7e: 0x6dc38820, 0x32c7f: 0x6dc38a20,\n\t// Block 0xcb2, offset 0x32c80\n\t0x32c80: 0x6dc38c20, 0x32c81: 0x6dc38e20, 0x32c82: 0x6dc39020, 0x32c83: 0x6dc39220,\n\t0x32c84: 0x6dc39420, 0x32c85: 0x6dc39620, 0x32c86: 0x6dc39820, 0x32c87: 0x6dc39a20,\n\t0x32c88: 0x6dc39c20, 0x32c89: 0x6dc39e20, 0x32c8a: 0x6dc3a020, 0x32c8b: 0x6dc3a220,\n\t0x32c8c: 0x6dc3a420, 0x32c8d: 0x6dc3a620, 0x32c8e: 0x6dc3a820, 0x32c8f: 0x6dc3aa20,\n\t0x32c90: 0x6dc3ac20, 0x32c91: 0x6dc3ae20, 0x32c92: 0x6dc3b020, 0x32c93: 0x6dc3b220,\n\t0x32c94: 0x6dc3b420, 0x32c95: 0x6dc3b620, 0x32c96: 0x6dc3b820, 0x32c97: 0x6dc3ba20,\n\t0x32c98: 0x6dc3bc20, 0x32c99: 0x6dc3be20, 0x32c9a: 0x6dc3c020, 0x32c9b: 0x6dc3c220,\n\t0x32c9c: 0x6dc3c420, 0x32c9d: 0x6dc3c620, 0x32c9e: 0x6dc3c820, 0x32c9f: 0x6dc3ca20,\n\t0x32ca0: 0x6de09a20, 0x32ca1: 0x6de09c20, 0x32ca2: 0x6de09e20, 0x32ca3: 0x6de0a020,\n\t0x32ca4: 0x6de0a220, 0x32ca5: 0x6de0a420, 0x32ca6: 0x6de0a620, 0x32ca7: 0x6de0a820,\n\t0x32ca8: 0x6de0aa20, 0x32ca9: 0x6de0ac20, 0x32caa: 0x6de0ae20, 0x32cab: 0x6de0b020,\n\t0x32cac: 0x6de0b220, 0x32cad: 0x6de0b420, 0x32cae: 0x6de0b620, 0x32caf: 0x6de0b820,\n\t0x32cb0: 0x6dc3cc20, 0x32cb1: 0x6de0ba20, 0x32cb2: 0x6de0bc20, 0x32cb3: 0x6de0be20,\n\t0x32cb4: 0x6de0c020, 0x32cb5: 0x6de0c220, 0x32cb6: 0x6de0c420, 0x32cb7: 0x6de0c620,\n\t0x32cb8: 0x6de0c820, 0x32cb9: 0x6de0ca20, 0x32cba: 0x6de0cc20, 0x32cbb: 0x6de0ce20,\n\t0x32cbc: 0x6de0d020, 0x32cbd: 0x6de0d220, 0x32cbe: 0x6de0d420, 0x32cbf: 0x6de0d620,\n\t// Block 0xcb3, offset 0x32cc0\n\t0x32cc0: 0x6de0d820, 0x32cc1: 0x6de0da20, 0x32cc2: 0x6de0dc20, 0x32cc3: 0x6de0de20,\n\t0x32cc4: 0x6de0e020, 0x32cc5: 0x6de0e220, 0x32cc6: 0x6de0e420, 0x32cc7: 0x6de0e620,\n\t0x32cc8: 0x6de0e820, 0x32cc9: 0x6de5dc20, 0x32cca: 0x6de0ea20, 0x32ccb: 0x6de0ec20,\n\t0x32ccc: 0x6de0ee20, 0x32ccd: 0x6de0f020, 0x32cce: 0x6de0f220, 0x32ccf: 0x6de0f420,\n\t0x32cd0: 0x6de0f620, 0x32cd1: 0x6df8e220, 0x32cd2: 0x6df8e420, 0x32cd3: 0x6df8e620,\n\t0x32cd4: 0x6df8e820, 0x32cd5: 0x6df8ea20, 0x32cd6: 0x6df8ec20, 0x32cd7: 0x6df8ee20,\n\t0x32cd8: 0x6df8f020, 0x32cd9: 0x6df8f220, 0x32cda: 0x6df8f420, 0x32cdb: 0x6df8f620,\n\t0x32cdc: 0x6df8f820, 0x32cdd: 0x6df8fa20, 0x32cde: 0x6df8fc20, 0x32cdf: 0x6df8fe20,\n\t0x32ce0: 0x6df90020, 0x32ce1: 0x6df90220, 0x32ce2: 0x6df90420, 0x32ce3: 0x6df90620,\n\t0x32ce4: 0x6df90820, 0x32ce5: 0x6df90a20, 0x32ce6: 0x6df90c20, 0x32ce7: 0x6df90e20,\n\t0x32ce8: 0x6df91020, 0x32ce9: 0x6df91220, 0x32cea: 0x6df91420, 0x32ceb: 0x6df91620,\n\t0x32cec: 0x6df91820, 0x32ced: 0x6df91a20, 0x32cee: 0x6df91c20, 0x32cef: 0x6df91e20,\n\t0x32cf0: 0x6df92020, 0x32cf1: 0x6e0cac20, 0x32cf2: 0x6e0cae20, 0x32cf3: 0x6e0cb020,\n\t0x32cf4: 0x6e0cb220, 0x32cf5: 0x6e0cb420, 0x32cf6: 0x6e0cb620, 0x32cf7: 0x6e0cb820,\n\t0x32cf8: 0x6e0cba20, 0x32cf9: 0x6e0cbc20, 0x32cfa: 0x6e0cbe20, 0x32cfb: 0x6e0cc020,\n\t0x32cfc: 0x6e0cc220, 0x32cfd: 0x6e0cc420, 0x32cfe: 0x6e0cc620, 0x32cff: 0x6e0cc820,\n\t// Block 0xcb4, offset 0x32d00\n\t0x32d00: 0x6e0cca20, 0x32d01: 0x6e0ccc20, 0x32d02: 0x6e0cce20, 0x32d03: 0x6e0cd020,\n\t0x32d04: 0x6e0cd220, 0x32d05: 0x6e0cd420, 0x32d06: 0x6e0cd620, 0x32d07: 0x6e0cd820,\n\t0x32d08: 0x6e0cda20, 0x32d09: 0x6e0cdc20, 0x32d0a: 0x6e0cde20, 0x32d0b: 0x6e0ce020,\n\t0x32d0c: 0x6e0ce220, 0x32d0d: 0x6e0ce420, 0x32d0e: 0x6e0ce620, 0x32d0f: 0x6e0ce820,\n\t0x32d10: 0x6e0cea20, 0x32d11: 0x6e0cec20, 0x32d12: 0x6e0cee20, 0x32d13: 0x6e0cf020,\n\t0x32d14: 0x6e0cf220, 0x32d15: 0x6e0d1c20, 0x32d16: 0x6e121420, 0x32d17: 0x6e1c4020,\n\t0x32d18: 0x6e1c4220, 0x32d19: 0x6e1c4420, 0x32d1a: 0x6e1c4620, 0x32d1b: 0x6e1c4820,\n\t0x32d1c: 0x6e1c4a20, 0x32d1d: 0x6e1c4c20, 0x32d1e: 0x6e1c4e20, 0x32d1f: 0x6e1c5020,\n\t0x32d20: 0x6e1c5220, 0x32d21: 0x6e1c5420, 0x32d22: 0x6e1c5620, 0x32d23: 0x6e0cf420,\n\t0x32d24: 0x6e1c5820, 0x32d25: 0x6e1c5a20, 0x32d26: 0x6e1c5c20, 0x32d27: 0x6e1c5e20,\n\t0x32d28: 0x6e1c6020, 0x32d29: 0x6e1c6220, 0x32d2a: 0x6e1c6420, 0x32d2b: 0x6e1c6620,\n\t0x32d2c: 0x6e1c6820, 0x32d2d: 0x6e1c6a20, 0x32d2e: 0x6e1c6c20, 0x32d2f: 0x6e1c6e20,\n\t0x32d30: 0x6e287c20, 0x32d31: 0x6e287e20, 0x32d32: 0x6e288020, 0x32d33: 0x6e288220,\n\t0x32d34: 0x6e288420, 0x32d35: 0x6e288620, 0x32d36: 0x6e288820, 0x32d37: 0x6e288a20,\n\t0x32d38: 0x6e288c20, 0x32d39: 0x6e31a420, 0x32d3a: 0x6e31a620, 0x32d3b: 0x6e31a820,\n\t0x32d3c: 0x6e31aa20, 0x32d3d: 0x6e31ac20, 0x32d3e: 0x6e31ae20, 0x32d3f: 0x6e31b020,\n\t// Block 0xcb5, offset 0x32d40\n\t0x32d40: 0x6e31b220, 0x32d41: 0x6e31b420, 0x32d42: 0x6e31b620, 0x32d43: 0x6e31b820,\n\t0x32d44: 0x6e31ba20, 0x32d45: 0x6e31bc20, 0x32d46: 0x6e384c20, 0x32d47: 0x6e384e20,\n\t0x32d48: 0x6e385020, 0x32d49: 0x6e385220, 0x32d4a: 0x6e385420, 0x32d4b: 0x6e385620,\n\t0x32d4c: 0x6e385820, 0x32d4d: 0x6e385a20, 0x32d4e: 0x6e385c20, 0x32d4f: 0x6e3cfa20,\n\t0x32d50: 0x6e3cfc20, 0x32d51: 0x6e3cfe20, 0x32d52: 0x6e3d0020, 0x32d53: 0x6e3d0220,\n\t0x32d54: 0x6e3d0420, 0x32d55: 0x6e3d0620, 0x32d56: 0x6e3d0820, 0x32d57: 0x6e3d0a20,\n\t0x32d58: 0x6e3d0c20, 0x32d59: 0x6e400a20, 0x32d5a: 0x6e400c20, 0x32d5b: 0x6e428620,\n\t0x32d5c: 0x6e428820, 0x32d5d: 0x6e428a20, 0x32d5e: 0x6e400e20, 0x32d5f: 0x6e45bc20,\n\t0x32d60: 0x6c03c820, 0x32d61: 0x6c03ca20, 0x32d62: 0x6c03cc20, 0x32d63: 0x6c079820,\n\t0x32d64: 0x6c079a20, 0x32d65: 0x6c079c20, 0x32d66: 0x6c079e20, 0x32d67: 0x6c0ea620,\n\t0x32d68: 0x6c0ea820, 0x32d69: 0x6c0eaa20, 0x32d6a: 0x6c0eac20, 0x32d6b: 0x6c0eae20,\n\t0x32d6c: 0x6c0eb020, 0x32d6d: 0x6c0eb220, 0x32d6e: 0x6c0eb420, 0x32d6f: 0x6c0eb620,\n\t0x32d70: 0x6c0eb820, 0x32d71: 0x6c0eba20, 0x32d72: 0x6c0ebc20, 0x32d73: 0x6c0ebe20,\n\t0x32d74: 0x6c1a6e20, 0x32d75: 0x6c1a7020, 0x32d76: 0x6c1a7220, 0x32d77: 0x6c1a7420,\n\t0x32d78: 0x6c1a7620, 0x32d79: 0x6c1a7820, 0x32d7a: 0x6c1a7a20, 0x32d7b: 0x6c1a7c20,\n\t0x32d7c: 0x6c1a7e20, 0x32d7d: 0x6c1a8020, 0x32d7e: 0x6c1a8220, 0x32d7f: 0x6c1a8420,\n\t// Block 0xcb6, offset 0x32d80\n\t0x32d80: 0x6c1a8620, 0x32d81: 0x6c1a8820, 0x32d82: 0x6c1a8a20, 0x32d83: 0x6c1a8c20,\n\t0x32d84: 0x6c1a8e20, 0x32d85: 0x6c1a9020, 0x32d86: 0x6c1a9220, 0x32d87: 0x6c1a9420,\n\t0x32d88: 0x6c2d9620, 0x32d89: 0x6c2d9820, 0x32d8a: 0x6c2d9a20, 0x32d8b: 0x6c2d9c20,\n\t0x32d8c: 0x6c2d9e20, 0x32d8d: 0x6c3bf620, 0x32d8e: 0x6c2da020, 0x32d8f: 0x6c2da220,\n\t0x32d90: 0x6c2da420, 0x32d91: 0x6c2da620, 0x32d92: 0x6c47e220, 0x32d93: 0x6c47e420,\n\t0x32d94: 0x6c47e620, 0x32d95: 0x6c47e820, 0x32d96: 0x6c47ea20, 0x32d97: 0x6c47ec20,\n\t0x32d98: 0x6c47ee20, 0x32d99: 0x6c47f020, 0x32d9a: 0x6c47f220, 0x32d9b: 0x6c47f420,\n\t0x32d9c: 0x6c47f620, 0x32d9d: 0x6c47f820, 0x32d9e: 0x6c47fa20, 0x32d9f: 0x6c47fc20,\n\t0x32da0: 0x6c695c20, 0x32da1: 0x6c695e20, 0x32da2: 0x6c696020, 0x32da3: 0x6c696220,\n\t0x32da4: 0x6c696420, 0x32da5: 0x6c696620, 0x32da6: 0x6c696820, 0x32da7: 0x6c696a20,\n\t0x32da8: 0x6c696c20, 0x32da9: 0x6c696e20, 0x32daa: 0x6c697020, 0x32dab: 0x6c697220,\n\t0x32dac: 0x6c697420, 0x32dad: 0x6c697620, 0x32dae: 0x6c697820, 0x32daf: 0x6c697a20,\n\t0x32db0: 0x6c902820, 0x32db1: 0x6c902a20, 0x32db2: 0x6c902c20, 0x32db3: 0x6c902e20,\n\t0x32db4: 0x6c903020, 0x32db5: 0x6c903220, 0x32db6: 0x6c903420, 0x32db7: 0x6c903620,\n\t0x32db8: 0x6c903820, 0x32db9: 0x6c903a20, 0x32dba: 0x6c903c20, 0x32dbb: 0x6c903e20,\n\t0x32dbc: 0x6cbc4820, 0x32dbd: 0x6cbc4a20, 0x32dbe: 0x6cbc4c20, 0x32dbf: 0x6cbc4e20,\n\t// Block 0xcb7, offset 0x32dc0\n\t0x32dc0: 0x6c904020, 0x32dc1: 0x6cbc5020, 0x32dc2: 0x6cbc5220, 0x32dc3: 0x6cbc5420,\n\t0x32dc4: 0x6cbc5620, 0x32dc5: 0x6cbc5820, 0x32dc6: 0x6cbc5a20, 0x32dc7: 0x6cbc5c20,\n\t0x32dc8: 0x6cbc5e20, 0x32dc9: 0x6cbc6020, 0x32dca: 0x6ced3220, 0x32dcb: 0x6ced3420,\n\t0x32dcc: 0x6ced3620, 0x32dcd: 0x6ced3820, 0x32dce: 0x6ced3a20, 0x32dcf: 0x6ced3c20,\n\t0x32dd0: 0x6ced3e20, 0x32dd1: 0x6ced4020, 0x32dd2: 0x6ced4220, 0x32dd3: 0x6ced4420,\n\t0x32dd4: 0x6ced4620, 0x32dd5: 0x6d1cfa20, 0x32dd6: 0x6d1cfc20, 0x32dd7: 0x6d1cfe20,\n\t0x32dd8: 0x6d1d0020, 0x32dd9: 0x6d1d0220, 0x32dda: 0x6d1d0420, 0x32ddb: 0x6d1d0620,\n\t0x32ddc: 0x6d1d0820, 0x32ddd: 0x6d1d0a20, 0x32dde: 0x6d1d0c20, 0x32ddf: 0x6d1d0e20,\n\t0x32de0: 0x6d1d1020, 0x32de1: 0x6d1d1220, 0x32de2: 0x6d4ab820, 0x32de3: 0x6d4aba20,\n\t0x32de4: 0x6d4abc20, 0x32de5: 0x6d785c20, 0x32de6: 0x6d4abe20, 0x32de7: 0x6d4ac020,\n\t0x32de8: 0x6d4ac220, 0x32de9: 0x6d4ac420, 0x32dea: 0x6d785e20, 0x32deb: 0x6d786020,\n\t0x32dec: 0x6d786220, 0x32ded: 0x6da17e20, 0x32dee: 0x6da18020, 0x32def: 0x6da18220,\n\t0x32df0: 0x6da18420, 0x32df1: 0x6da18620, 0x32df2: 0x6dc3de20, 0x32df3: 0x6de0fe20,\n\t0x32df4: 0x6de10020, 0x32df5: 0x6df92c20, 0x32df6: 0x6df92e20, 0x32df7: 0x6df93020,\n\t0x32df8: 0x6e0cf620, 0x32df9: 0x6e0cf820, 0x32dfa: 0x6e0cfa20, 0x32dfb: 0x6e3d1020,\n\t0x32dfc: 0x6c03d420, 0x32dfd: 0x6c03d620, 0x32dfe: 0x6c03d820, 0x32dff: 0x6c07ae20,\n\t// Block 0xcb8, offset 0x32e00\n\t0x32e00: 0x6c07b020, 0x32e01: 0x6c07b220, 0x32e02: 0x6c07b420, 0x32e03: 0x6c07b620,\n\t0x32e04: 0x6c07b820, 0x32e05: 0x6c07ba20, 0x32e06: 0x6c07bc20, 0x32e07: 0x6c07be20,\n\t0x32e08: 0x6c0ee620, 0x32e09: 0x6c0ee820, 0x32e0a: 0x6c0eea20, 0x32e0b: 0x6c0eec20,\n\t0x32e0c: 0x6c0eee20, 0x32e0d: 0x6c0ef020, 0x32e0e: 0x6c0ef220, 0x32e0f: 0x6c0ef420,\n\t0x32e10: 0x6c0ef620, 0x32e11: 0x6c0ef820, 0x32e12: 0x6c0efa20, 0x32e13: 0x6c0efc20,\n\t0x32e14: 0x6c0efe20, 0x32e15: 0x6c0f0020, 0x32e16: 0x6c0f0220, 0x32e17: 0x6c0fb020,\n\t0x32e18: 0x6c1af820, 0x32e19: 0x6c1afa20, 0x32e1a: 0x6c1afc20, 0x32e1b: 0x6c1afe20,\n\t0x32e1c: 0x6c1b0020, 0x32e1d: 0x6c1b0220, 0x32e1e: 0x6c1b0420, 0x32e1f: 0x6c1b0620,\n\t0x32e20: 0x6c1b0820, 0x32e21: 0x6c1b0a20, 0x32e22: 0x6c1b0c20, 0x32e23: 0x6c1b0e20,\n\t0x32e24: 0x6c1b1020, 0x32e25: 0x6c1b1220, 0x32e26: 0x6c1b1420, 0x32e27: 0x6c1b1620,\n\t0x32e28: 0x6c1b1820, 0x32e29: 0x6c1b1a20, 0x32e2a: 0x6c1b1c20, 0x32e2b: 0x6c1b1e20,\n\t0x32e2c: 0x6c1b2020, 0x32e2d: 0x6c1b2220, 0x32e2e: 0x6c1b2420, 0x32e2f: 0x6c1b2620,\n\t0x32e30: 0x6c1b2820, 0x32e31: 0x6c1b2a20, 0x32e32: 0x6c1b2c20, 0x32e33: 0x6c1b2e20,\n\t0x32e34: 0x6c1b3020, 0x32e35: 0x6c1b3220, 0x32e36: 0x6c1b3420, 0x32e37: 0x6c1b3620,\n\t0x32e38: 0x6c1b3820, 0x32e39: 0x6c1b3a20, 0x32e3a: 0x6c1b3c20, 0x32e3b: 0x6c1b3e20,\n\t0x32e3c: 0x6c1b4020, 0x32e3d: 0x6c1b4220, 0x32e3e: 0x6c1b4420, 0x32e3f: 0x6c1b4620,\n\t// Block 0xcb9, offset 0x32e40\n\t0x32e40: 0x6c1b4820, 0x32e41: 0x6c1b4a20, 0x32e42: 0x6c1b4c20, 0x32e43: 0x6c1b4e20,\n\t0x32e44: 0x6c2e0820, 0x32e45: 0x6c2e0a20, 0x32e46: 0x6c2e0c20, 0x32e47: 0x6c2e0e20,\n\t0x32e48: 0x6c2e1020, 0x32e49: 0x6c2e1220, 0x32e4a: 0x6c2e1420, 0x32e4b: 0x6c2e1620,\n\t0x32e4c: 0x6c2e1820, 0x32e4d: 0x6c2e1a20, 0x32e4e: 0x6c2e1c20, 0x32e4f: 0x6c2e1e20,\n\t0x32e50: 0x6c2e2020, 0x32e51: 0x6c2e2220, 0x32e52: 0x6c2e2420, 0x32e53: 0x6c2e2620,\n\t0x32e54: 0x6c2e2820, 0x32e55: 0x6c2e2a20, 0x32e56: 0x6c2e2c20, 0x32e57: 0x6c2e2e20,\n\t0x32e58: 0x6c2e3020, 0x32e59: 0x6c2e3220, 0x32e5a: 0x6c2e3420, 0x32e5b: 0x6c2e3620,\n\t0x32e5c: 0x6c2e3820, 0x32e5d: 0x6c2e3a20, 0x32e5e: 0x6c2e3c20, 0x32e5f: 0x6c2e3e20,\n\t0x32e60: 0x6c2e4020, 0x32e61: 0x6c2e4220, 0x32e62: 0x6c2e4420, 0x32e63: 0x6c2e4620,\n\t0x32e64: 0x6c2e4820, 0x32e65: 0x6c2e4a20, 0x32e66: 0x6c2e4c20, 0x32e67: 0x6c2e4e20,\n\t0x32e68: 0x6c2e5020, 0x32e69: 0x6c2e5220, 0x32e6a: 0x6c2e5420, 0x32e6b: 0x6c2e5620,\n\t0x32e6c: 0x6c2e5820, 0x32e6d: 0x6c2e5a20, 0x32e6e: 0x6c2e5c20, 0x32e6f: 0x6c2e5e20,\n\t0x32e70: 0x6c2e6020, 0x32e71: 0x6c2e6220, 0x32e72: 0x6c2e6420, 0x32e73: 0x6c2e6620,\n\t0x32e74: 0x6c2e6820, 0x32e75: 0x6c2e6a20, 0x32e76: 0x6c2e6c20, 0x32e77: 0x6c486a20,\n\t0x32e78: 0x6c486c20, 0x32e79: 0x6c486e20, 0x32e7a: 0x6c487020, 0x32e7b: 0x6c487220,\n\t0x32e7c: 0x6c487420, 0x32e7d: 0x6c487620, 0x32e7e: 0x6c487820, 0x32e7f: 0x6c487a20,\n\t// Block 0xcba, offset 0x32e80\n\t0x32e80: 0x6c487c20, 0x32e81: 0x6c487e20, 0x32e82: 0x6c488020, 0x32e83: 0x6c488220,\n\t0x32e84: 0x6c488420, 0x32e85: 0x6c488620, 0x32e86: 0x6c488820, 0x32e87: 0x6c488a20,\n\t0x32e88: 0x6c488c20, 0x32e89: 0x6c488e20, 0x32e8a: 0x6c489020, 0x32e8b: 0x6c489220,\n\t0x32e8c: 0x6c489420, 0x32e8d: 0x6c489620, 0x32e8e: 0x6c489820, 0x32e8f: 0x6c489a20,\n\t0x32e90: 0x6c489c20, 0x32e91: 0x6c489e20, 0x32e92: 0x6c48a020, 0x32e93: 0x6c48a220,\n\t0x32e94: 0x6c48a420, 0x32e95: 0x6c48a620, 0x32e96: 0x6c48a820, 0x32e97: 0x6c48aa20,\n\t0x32e98: 0x6c48ac20, 0x32e99: 0x6c48ae20, 0x32e9a: 0x6c48b020, 0x32e9b: 0x6c48b220,\n\t0x32e9c: 0x6c5dc620, 0x32e9d: 0x6c48b420, 0x32e9e: 0x6c48b620, 0x32e9f: 0x6c48b820,\n\t0x32ea0: 0x6c48ba20, 0x32ea1: 0x6c48bc20, 0x32ea2: 0x6c48be20, 0x32ea3: 0x6c48c020,\n\t0x32ea4: 0x6c48c220, 0x32ea5: 0x6c48c420, 0x32ea6: 0x6c48c620, 0x32ea7: 0x6c48c820,\n\t0x32ea8: 0x6c48ca20, 0x32ea9: 0x6c48cc20, 0x32eaa: 0x6c48ce20, 0x32eab: 0x6c48d020,\n\t0x32eac: 0x6c48d220, 0x32ead: 0x6c69da20, 0x32eae: 0x6c69dc20, 0x32eaf: 0x6c69de20,\n\t0x32eb0: 0x6c69e020, 0x32eb1: 0x6c69e220, 0x32eb2: 0x6c69e420, 0x32eb3: 0x6c69e620,\n\t0x32eb4: 0x6c69e820, 0x32eb5: 0x6c69ea20, 0x32eb6: 0x6c69ec20, 0x32eb7: 0x6c69ee20,\n\t0x32eb8: 0x6c69f020, 0x32eb9: 0x6c69f220, 0x32eba: 0x6c69f420, 0x32ebb: 0x6c69f620,\n\t0x32ebc: 0x6c69f820, 0x32ebd: 0x6c69fa20, 0x32ebe: 0x6c69fc20, 0x32ebf: 0x6c69fe20,\n\t// Block 0xcbb, offset 0x32ec0\n\t0x32ec0: 0x6c6a0020, 0x32ec1: 0x6c6a0220, 0x32ec2: 0x6c6a0420, 0x32ec3: 0x6c6a0620,\n\t0x32ec4: 0x6c6a0820, 0x32ec5: 0x6c6a0a20, 0x32ec6: 0x6c6a0c20, 0x32ec7: 0x6c6a0e20,\n\t0x32ec8: 0x6c6a1020, 0x32ec9: 0x6c6a1220, 0x32eca: 0x6c6a1420, 0x32ecb: 0x6c6a1620,\n\t0x32ecc: 0x6c6a1820, 0x32ecd: 0x6c6a1a20, 0x32ece: 0x6c6a1c20, 0x32ecf: 0x6c6a1e20,\n\t0x32ed0: 0x6c6a2020, 0x32ed1: 0x6c6a2220, 0x32ed2: 0x6c6a2420, 0x32ed3: 0x6c6a2620,\n\t0x32ed4: 0x6c6a2820, 0x32ed5: 0x6c6a2a20, 0x32ed6: 0x6c6a2c20, 0x32ed7: 0x6c6a2e20,\n\t0x32ed8: 0x6c6a3020, 0x32ed9: 0x6c6a3220, 0x32eda: 0x6c6a3420, 0x32edb: 0x6c6a3620,\n\t0x32edc: 0x6c6a3820, 0x32edd: 0x6c6a3a20, 0x32ede: 0x6c6a3c20, 0x32edf: 0x6c6a3e20,\n\t0x32ee0: 0x6c6a4020, 0x32ee1: 0x6c6a4220, 0x32ee2: 0x6c6a4420, 0x32ee3: 0x6c6a4620,\n\t0x32ee4: 0x6c6a4820, 0x32ee5: 0x6c6a4a20, 0x32ee6: 0x6c90c620, 0x32ee7: 0x6c90c820,\n\t0x32ee8: 0x6c90ca20, 0x32ee9: 0x6c90cc20, 0x32eea: 0x6c90ce20, 0x32eeb: 0x6c90d020,\n\t0x32eec: 0x6c90d220, 0x32eed: 0x6c90d420, 0x32eee: 0x6c90d620, 0x32eef: 0x6c90d820,\n\t0x32ef0: 0x6c90da20, 0x32ef1: 0x6c90dc20, 0x32ef2: 0x6c90de20, 0x32ef3: 0x6c90e020,\n\t0x32ef4: 0x6c90e220, 0x32ef5: 0x6c90e420, 0x32ef6: 0x6c90e620, 0x32ef7: 0x6c90e820,\n\t0x32ef8: 0x6c90ea20, 0x32ef9: 0x6c90ec20, 0x32efa: 0x6c90ee20, 0x32efb: 0x6c90f020,\n\t0x32efc: 0x6c90f220, 0x32efd: 0x6c90f420, 0x32efe: 0x6c90f620, 0x32eff: 0x6c90f820,\n\t// Block 0xcbc, offset 0x32f00\n\t0x32f00: 0x6c90fa20, 0x32f01: 0x6c90fc20, 0x32f02: 0x6c90fe20, 0x32f03: 0x6c910020,\n\t0x32f04: 0x6c910220, 0x32f05: 0x6c910420, 0x32f06: 0x6c910620, 0x32f07: 0x6c910820,\n\t0x32f08: 0x6c910a20, 0x32f09: 0x6c910c20, 0x32f0a: 0x6c910e20, 0x32f0b: 0x6c911020,\n\t0x32f0c: 0x6c911220, 0x32f0d: 0x6c911420, 0x32f0e: 0x6c911620, 0x32f0f: 0x6c911820,\n\t0x32f10: 0x6c911a20, 0x32f11: 0x6c911c20, 0x32f12: 0x6c911e20, 0x32f13: 0x6c912020,\n\t0x32f14: 0x6c912220, 0x32f15: 0x6c912420, 0x32f16: 0x6c912620, 0x32f17: 0x6c912820,\n\t0x32f18: 0x6c912a20, 0x32f19: 0x6c912c20, 0x32f1a: 0x6c912e20, 0x32f1b: 0x6c913020,\n\t0x32f1c: 0x6c913220, 0x32f1d: 0x6c913420, 0x32f1e: 0x6c913620, 0x32f1f: 0x6c913820,\n\t0x32f20: 0x6c913a20, 0x32f21: 0x6c913c20, 0x32f22: 0x6c913e20, 0x32f23: 0x6c914020,\n\t0x32f24: 0x6cbcd820, 0x32f25: 0x6cbcda20, 0x32f26: 0x6cbcdc20, 0x32f27: 0x6cbcde20,\n\t0x32f28: 0x6cbce020, 0x32f29: 0x6cbce220, 0x32f2a: 0x6cbce420, 0x32f2b: 0x6cbce620,\n\t0x32f2c: 0x6cbce820, 0x32f2d: 0x6cbcea20, 0x32f2e: 0x6cbcec20, 0x32f2f: 0x6cbcee20,\n\t0x32f30: 0x6cbcf020, 0x32f31: 0x6cbcf220, 0x32f32: 0x6cbcf420, 0x32f33: 0x6cbcf620,\n\t0x32f34: 0x6cbcf820, 0x32f35: 0x6cbcfa20, 0x32f36: 0x6cbcfc20, 0x32f37: 0x6cbcfe20,\n\t0x32f38: 0x6cbd0020, 0x32f39: 0x6cbd0220, 0x32f3a: 0x6cbd0420, 0x32f3b: 0x6cbd0620,\n\t0x32f3c: 0x6cbd0820, 0x32f3d: 0x6cbd0a20, 0x32f3e: 0x6cbd0c20, 0x32f3f: 0x6cbd0e20,\n\t// Block 0xcbd, offset 0x32f40\n\t0x32f40: 0x6cbd1020, 0x32f41: 0x6cbd1220, 0x32f42: 0x6cbd1420, 0x32f43: 0x6cbd1620,\n\t0x32f44: 0x6cbd1820, 0x32f45: 0x6cbd1a20, 0x32f46: 0x6cbd1c20, 0x32f47: 0x6cbd1e20,\n\t0x32f48: 0x6cbd2020, 0x32f49: 0x6cbd2220, 0x32f4a: 0x6cbd2420, 0x32f4b: 0x6cbd2620,\n\t0x32f4c: 0x6cbd2820, 0x32f4d: 0x6cbd2a20, 0x32f4e: 0x6cbd2c20, 0x32f4f: 0x6cbd2e20,\n\t0x32f50: 0x6cbd3020, 0x32f51: 0x6cbd3220, 0x32f52: 0x6cbd3420, 0x32f53: 0x6cbd3620,\n\t0x32f54: 0x6cbd3820, 0x32f55: 0x6cbd3a20, 0x32f56: 0x6cbd3c20, 0x32f57: 0x6cbd3e20,\n\t0x32f58: 0x6cbd4020, 0x32f59: 0x6cbd4220, 0x32f5a: 0x6cbd4420, 0x32f5b: 0x6cbd4620,\n\t0x32f5c: 0x6cbd4820, 0x32f5d: 0x6cbd4a20, 0x32f5e: 0x6cbd4c20, 0x32f5f: 0x6cbd4e20,\n\t0x32f60: 0x6cbd5020, 0x32f61: 0x6cbd5220, 0x32f62: 0x6cbd5420, 0x32f63: 0x6cbd5620,\n\t0x32f64: 0x6cbd5820, 0x32f65: 0x6cbd5a20, 0x32f66: 0x6cbd5c20, 0x32f67: 0x6cbd5e20,\n\t0x32f68: 0x6cbd6020, 0x32f69: 0x6cbd6220, 0x32f6a: 0x6cbd6420, 0x32f6b: 0x6cbd6620,\n\t0x32f6c: 0x6cbd6820, 0x32f6d: 0x6cbd6a20, 0x32f6e: 0x6cedae20, 0x32f6f: 0x6cedb020,\n\t0x32f70: 0x6cedb220, 0x32f71: 0x6cedb420, 0x32f72: 0x6cedb620, 0x32f73: 0x6cedb820,\n\t0x32f74: 0x6cedba20, 0x32f75: 0x6cedbc20, 0x32f76: 0x6cedbe20, 0x32f77: 0x6cedc020,\n\t0x32f78: 0x6cedc220, 0x32f79: 0x6cedc420, 0x32f7a: 0x6cedc620, 0x32f7b: 0x6cedc820,\n\t0x32f7c: 0x6cedca20, 0x32f7d: 0x6cedcc20, 0x32f7e: 0x6cedce20, 0x32f7f: 0x6cedd020,\n\t// Block 0xcbe, offset 0x32f80\n\t0x32f80: 0x6cedd220, 0x32f81: 0x6cedd420, 0x32f82: 0x6cedd620, 0x32f83: 0x6cedd820,\n\t0x32f84: 0x6cedda20, 0x32f85: 0x6ceddc20, 0x32f86: 0x6cedde20, 0x32f87: 0x6cede020,\n\t0x32f88: 0x6cede220, 0x32f89: 0x6cede420, 0x32f8a: 0x6cede620, 0x32f8b: 0x6cede820,\n\t0x32f8c: 0x6cedea20, 0x32f8d: 0x6cedec20, 0x32f8e: 0x6cedee20, 0x32f8f: 0x6cedf020,\n\t0x32f90: 0x6cedf220, 0x32f91: 0x6cedf420, 0x32f92: 0x6cedf620, 0x32f93: 0x6cedf820,\n\t0x32f94: 0x6cedfa20, 0x32f95: 0x6cedfc20, 0x32f96: 0x6cedfe20, 0x32f97: 0x6cee0020,\n\t0x32f98: 0x6cee0220, 0x32f99: 0x6cee0420, 0x32f9a: 0x6cee0620, 0x32f9b: 0x6cee0820,\n\t0x32f9c: 0x6cee0a20, 0x32f9d: 0x6cee0c20, 0x32f9e: 0x6cee0e20, 0x32f9f: 0x6cee1020,\n\t0x32fa0: 0x6cee1220, 0x32fa1: 0x6cee1420, 0x32fa2: 0x6cee1620, 0x32fa3: 0x6cee1820,\n\t0x32fa4: 0x6cee1a20, 0x32fa5: 0x6cee1c20, 0x32fa6: 0x6cee1e20, 0x32fa7: 0x6cee2020,\n\t0x32fa8: 0x6cee2220, 0x32fa9: 0x6cee2420, 0x32faa: 0x6cee2620, 0x32fab: 0x6cee2820,\n\t0x32fac: 0x6cee2a20, 0x32fad: 0x6d1d7620, 0x32fae: 0x6d1d7820, 0x32faf: 0x6d1d7a20,\n\t0x32fb0: 0x6d1d7c20, 0x32fb1: 0x6d1d7e20, 0x32fb2: 0x6d1d8020, 0x32fb3: 0x6d1d8220,\n\t0x32fb4: 0x6d1d8420, 0x32fb5: 0x6d1d8620, 0x32fb6: 0x6d1d8820, 0x32fb7: 0x6d1d8a20,\n\t0x32fb8: 0x6d1d8c20, 0x32fb9: 0x6d1d8e20, 0x32fba: 0x6d1d9020, 0x32fbb: 0x6d1d9220,\n\t0x32fbc: 0x6d1d9420, 0x32fbd: 0x6d1d9620, 0x32fbe: 0x6d1d9820, 0x32fbf: 0x6d1d9a20,\n\t// Block 0xcbf, offset 0x32fc0\n\t0x32fc0: 0x6d1d9c20, 0x32fc1: 0x6d1d9e20, 0x32fc2: 0x6d1da020, 0x32fc3: 0x6d1da220,\n\t0x32fc4: 0x6d1da420, 0x32fc5: 0x6d1da620, 0x32fc6: 0x6d1da820, 0x32fc7: 0x6d1daa20,\n\t0x32fc8: 0x6d1dac20, 0x32fc9: 0x6d1dae20, 0x32fca: 0x6d1db020, 0x32fcb: 0x6d1db220,\n\t0x32fcc: 0x6d1db420, 0x32fcd: 0x6d1db620, 0x32fce: 0x6d1db820, 0x32fcf: 0x6d1dba20,\n\t0x32fd0: 0x6d1dbc20, 0x32fd1: 0x6d1dbe20, 0x32fd2: 0x6d1dc020, 0x32fd3: 0x6d1dc220,\n\t0x32fd4: 0x6d1dc420, 0x32fd5: 0x6d1dc620, 0x32fd6: 0x6d1dc820, 0x32fd7: 0x6d1dca20,\n\t0x32fd8: 0x6d1dcc20, 0x32fd9: 0x6d1dce20, 0x32fda: 0x6d1dd020, 0x32fdb: 0x6d1dd220,\n\t0x32fdc: 0x6d1dd420, 0x32fdd: 0x6d1dd620, 0x32fde: 0x6d4b1420, 0x32fdf: 0x6d4b1620,\n\t0x32fe0: 0x6d4b1820, 0x32fe1: 0x6d4b1a20, 0x32fe2: 0x6d4b1c20, 0x32fe3: 0x6d4b1e20,\n\t0x32fe4: 0x6d4b2020, 0x32fe5: 0x6d4b2220, 0x32fe6: 0x6d4b2420, 0x32fe7: 0x6d4b2620,\n\t0x32fe8: 0x6d4b2820, 0x32fe9: 0x6d4b2a20, 0x32fea: 0x6d4b2c20, 0x32feb: 0x6d4b2e20,\n\t0x32fec: 0x6d4b3020, 0x32fed: 0x6d4b3220, 0x32fee: 0x6d4b3420, 0x32fef: 0x6d4b3620,\n\t0x32ff0: 0x6d4b3820, 0x32ff1: 0x6d4b3a20, 0x32ff2: 0x6d4b3c20, 0x32ff3: 0x6d4b3e20,\n\t0x32ff4: 0x6d4b4020, 0x32ff5: 0x6d4b4220, 0x32ff6: 0x6d4b4420, 0x32ff7: 0x6d4b4620,\n\t0x32ff8: 0x6d4b4820, 0x32ff9: 0x6d4b4a20, 0x32ffa: 0x6d4b4c20, 0x32ffb: 0x6d4b4e20,\n\t0x32ffc: 0x6d4b5020, 0x32ffd: 0x6d4b5220, 0x32ffe: 0x6d4b5420, 0x32fff: 0x6d4b5620,\n\t// Block 0xcc0, offset 0x33000\n\t0x33000: 0x6d4b5820, 0x33001: 0x6d4b5a20, 0x33002: 0x6d4b5c20, 0x33003: 0x6d4b5e20,\n\t0x33004: 0x6d4b6020, 0x33005: 0x6d4b6220, 0x33006: 0x6d4b6420, 0x33007: 0x6d4b6620,\n\t0x33008: 0x6d4b6820, 0x33009: 0x6d4b6a20, 0x3300a: 0x6d4b6c20, 0x3300b: 0x6d4b6e20,\n\t0x3300c: 0x6d4b7020, 0x3300d: 0x6d4b7220, 0x3300e: 0x6d4b7420, 0x3300f: 0x6d4b7620,\n\t0x33010: 0x6d4b7820, 0x33011: 0x6d4b7a20, 0x33012: 0x6d4b7c20, 0x33013: 0x6d4b7e20,\n\t0x33014: 0x6d4b8020, 0x33015: 0x6d4b8220, 0x33016: 0x6d4b8420, 0x33017: 0x6d4b8620,\n\t0x33018: 0x6d4b8820, 0x33019: 0x6d4b8a20, 0x3301a: 0x6d4b8c20, 0x3301b: 0x6d4b8e20,\n\t0x3301c: 0x6d4b9020, 0x3301d: 0x6d4b9220, 0x3301e: 0x6d789c20, 0x3301f: 0x6d789e20,\n\t0x33020: 0x6d78a020, 0x33021: 0x6d78a220, 0x33022: 0x6d78a420, 0x33023: 0x6d78a620,\n\t0x33024: 0x6d78a820, 0x33025: 0x6d78aa20, 0x33026: 0x6d78ac20, 0x33027: 0x6d78ae20,\n\t0x33028: 0x6d78b020, 0x33029: 0x6d78b220, 0x3302a: 0x6d78b420, 0x3302b: 0x6d78b620,\n\t0x3302c: 0x6d78b820, 0x3302d: 0x6d78ba20, 0x3302e: 0x6d78bc20, 0x3302f: 0x6d78be20,\n\t0x33030: 0x6d78c020, 0x33031: 0x6d78c220, 0x33032: 0x6d78c420, 0x33033: 0x6d78c620,\n\t0x33034: 0x6d78c820, 0x33035: 0x6d78ca20, 0x33036: 0x6d78cc20, 0x33037: 0x6d78ce20,\n\t0x33038: 0x6d78d020, 0x33039: 0x6d78d220, 0x3303a: 0x6d980c20, 0x3303b: 0x6d78d420,\n\t0x3303c: 0x6d78d620, 0x3303d: 0x6d78d820, 0x3303e: 0x6d78da20, 0x3303f: 0x6d78dc20,\n\t// Block 0xcc1, offset 0x33040\n\t0x33040: 0x6d78de20, 0x33041: 0x6d78e020, 0x33042: 0x6d78e220, 0x33043: 0x6d78e420,\n\t0x33044: 0x6d78e620, 0x33045: 0x6d78e820, 0x33046: 0x6d78ea20, 0x33047: 0x6d78ec20,\n\t0x33048: 0x6d78ee20, 0x33049: 0x6da1a820, 0x3304a: 0x6da1aa20, 0x3304b: 0x6da1ac20,\n\t0x3304c: 0x6da1ae20, 0x3304d: 0x6da1b020, 0x3304e: 0x6da1b220, 0x3304f: 0x6da1b420,\n\t0x33050: 0x6da1b620, 0x33051: 0x6da1b820, 0x33052: 0x6da1ba20, 0x33053: 0x6da1bc20,\n\t0x33054: 0x6da1be20, 0x33055: 0x6da1c020, 0x33056: 0x6da1c220, 0x33057: 0x6da1c420,\n\t0x33058: 0x6da1c620, 0x33059: 0x6da1c820, 0x3305a: 0x6da1ca20, 0x3305b: 0x6da1cc20,\n\t0x3305c: 0x6da1ce20, 0x3305d: 0x6da1d020, 0x3305e: 0x6da1d220, 0x3305f: 0x6da1d420,\n\t0x33060: 0x6da1d620, 0x33061: 0x6dc1f820, 0x33062: 0x6da1d820, 0x33063: 0x6da1da20,\n\t0x33064: 0x6da1dc20, 0x33065: 0x6da1de20, 0x33066: 0x6da1e020, 0x33067: 0x6da1e220,\n\t0x33068: 0x6da1e420, 0x33069: 0x6da1e620, 0x3306a: 0x6da1e820, 0x3306b: 0x6da1ea20,\n\t0x3306c: 0x6da1ec20, 0x3306d: 0x6da1ee20, 0x3306e: 0x6da1f020, 0x3306f: 0x6da1f220,\n\t0x33070: 0x6dc3ea20, 0x33071: 0x6dc3ec20, 0x33072: 0x6dc3ee20, 0x33073: 0x6dc3f020,\n\t0x33074: 0x6dc3f220, 0x33075: 0x6dc3f420, 0x33076: 0x6dc3f620, 0x33077: 0x6dc3f820,\n\t0x33078: 0x6dc3fa20, 0x33079: 0x6dc3fc20, 0x3307a: 0x6dc3fe20, 0x3307b: 0x6dc40020,\n\t0x3307c: 0x6dc40220, 0x3307d: 0x6dc40420, 0x3307e: 0x6dc40620, 0x3307f: 0x6dc40820,\n\t// Block 0xcc2, offset 0x33080\n\t0x33080: 0x6de11620, 0x33081: 0x6dc40a20, 0x33082: 0x6dc40c20, 0x33083: 0x6dc40e20,\n\t0x33084: 0x6dc41020, 0x33085: 0x6dc41220, 0x33086: 0x6dc41420, 0x33087: 0x6dc41620,\n\t0x33088: 0x6dc41820, 0x33089: 0x6dc41a20, 0x3308a: 0x6dc41c20, 0x3308b: 0x6dc41e20,\n\t0x3308c: 0x6dc42020, 0x3308d: 0x6dc42220, 0x3308e: 0x6dc42420, 0x3308f: 0x6dc42620,\n\t0x33090: 0x6de11820, 0x33091: 0x6de11a20, 0x33092: 0x6de11c20, 0x33093: 0x6de11e20,\n\t0x33094: 0x6de12020, 0x33095: 0x6de12220, 0x33096: 0x6de12420, 0x33097: 0x6de12620,\n\t0x33098: 0x6de12820, 0x33099: 0x6de12a20, 0x3309a: 0x6de12c20, 0x3309b: 0x6dede420,\n\t0x3309c: 0x6de12e20, 0x3309d: 0x6de13020, 0x3309e: 0x6de13220, 0x3309f: 0x6de13420,\n\t0x330a0: 0x6de13620, 0x330a1: 0x6de13820, 0x330a2: 0x6de13a20, 0x330a3: 0x6de13c20,\n\t0x330a4: 0x6de13e20, 0x330a5: 0x6de14020, 0x330a6: 0x6df93a20, 0x330a7: 0x6df93c20,\n\t0x330a8: 0x6df93e20, 0x330a9: 0x6df94020, 0x330aa: 0x6df94220, 0x330ab: 0x6df94420,\n\t0x330ac: 0x6df94620, 0x330ad: 0x6df94820, 0x330ae: 0x6df94a20, 0x330af: 0x6df94c20,\n\t0x330b0: 0x6df94e20, 0x330b1: 0x6e0cfe20, 0x330b2: 0x6e0d0020, 0x330b3: 0x6e0d0220,\n\t0x330b4: 0x6e0d0420, 0x330b5: 0x6e0d0620, 0x330b6: 0x6e0d0820, 0x330b7: 0x6e078620,\n\t0x330b8: 0x6e0d0a20, 0x330b9: 0x6e0d0c20, 0x330ba: 0x6e1c7620, 0x330bb: 0x6e0d0e20,\n\t0x330bc: 0x6e0d1020, 0x330bd: 0x6e0d1220, 0x330be: 0x6e0d1420, 0x330bf: 0x6e0d1620,\n\t// Block 0xcc3, offset 0x330c0\n\t0x330c0: 0x6e0d1820, 0x330c1: 0x6e0d1a20, 0x330c2: 0x6e1c7820, 0x330c3: 0x6e1c7a20,\n\t0x330c4: 0x6e1c7c20, 0x330c5: 0x6e1c7e20, 0x330c6: 0x6e1c8020, 0x330c7: 0x6e1c8220,\n\t0x330c8: 0x6e1c8420, 0x330c9: 0x6e1c8620, 0x330ca: 0x6e289220, 0x330cb: 0x6e289420,\n\t0x330cc: 0x6e289620, 0x330cd: 0x6e289820, 0x330ce: 0x6e289a20, 0x330cf: 0x6e31c620,\n\t0x330d0: 0x6e31c820, 0x330d1: 0x6e31ca20, 0x330d2: 0x6e31cc20, 0x330d3: 0x6e31ce20,\n\t0x330d4: 0x6e31d020, 0x330d5: 0x6e31d220, 0x330d6: 0x6e3d1220, 0x330d7: 0x6e442620,\n\t0x330d8: 0x6e451820, 0x330d9: 0x6e46e220, 0x330da: 0x6e471e20, 0x330db: 0x6c07c620,\n\t0x330dc: 0x6c0f1020, 0x330dd: 0x6c1b7020, 0x330de: 0x6c1b7220, 0x330df: 0x6c2e7e20,\n\t0x330e0: 0x6c48ea20, 0x330e1: 0x6c48ec20, 0x330e2: 0x6c48ee20, 0x330e3: 0x6c6a7220,\n\t0x330e4: 0x6c6a7420, 0x330e5: 0x6c6a7620, 0x330e6: 0x6c6a7820, 0x330e7: 0x6c6a7a20,\n\t0x330e8: 0x6c6a7c20, 0x330e9: 0x6c6a7e20, 0x330ea: 0x6c916620, 0x330eb: 0x6c916820,\n\t0x330ec: 0x6c916a20, 0x330ed: 0x6c916c20, 0x330ee: 0x6cbd8e20, 0x330ef: 0x6cbd9020,\n\t0x330f0: 0x6cee5020, 0x330f1: 0x6cbdc220, 0x330f2: 0x6cee5220, 0x330f3: 0x6cee5420,\n\t0x330f4: 0x6cee5620, 0x330f5: 0x6cee5820, 0x330f6: 0x6d1df820, 0x330f7: 0x6d187e20,\n\t0x330f8: 0x6d1dfa20, 0x330f9: 0x6d1dfc20, 0x330fa: 0x6d1dfe20, 0x330fb: 0x6d1e0020,\n\t0x330fc: 0x6d4ba620, 0x330fd: 0x6d4ba820, 0x330fe: 0x6d790220, 0x330ff: 0x6d790420,\n\t// Block 0xcc4, offset 0x33100\n\t0x33100: 0x6d790620, 0x33101: 0x6da20020, 0x33102: 0x6da20220, 0x33103: 0x6da20420,\n\t0x33104: 0x6da20620, 0x33105: 0x6dc43020, 0x33106: 0x6dd50620, 0x33107: 0x6dc43220,\n\t0x33108: 0x6dc43420, 0x33109: 0x6dc43620, 0x3310a: 0x6dc43820, 0x3310b: 0x6de14420,\n\t0x3310c: 0x6de14620, 0x3310d: 0x6df95220, 0x3310e: 0x6dfe0820, 0x3310f: 0x6e1c8820,\n\t0x33110: 0x6e1c8a20, 0x33111: 0x6e1c8c20, 0x33112: 0x6c018a20, 0x33113: 0x6c07ca20,\n\t0x33114: 0x6c07cc20, 0x33115: 0x6c0f1420, 0x33116: 0x6c0f1620, 0x33117: 0x6c1b7620,\n\t0x33118: 0x6c1b7820, 0x33119: 0x6c1b7a20, 0x3311a: 0x6c6a8220, 0x3311b: 0x6c917020,\n\t0x3311c: 0x6c917220, 0x3311d: 0x6cee5c20, 0x3311e: 0x6c0f1820, 0x3311f: 0x6c0f1a20,\n\t0x33120: 0x6c1b7e20, 0x33121: 0x6c1b8020, 0x33122: 0x6c2e8420, 0x33123: 0x6c2e8620,\n\t0x33124: 0x6c2e8820, 0x33125: 0x6c2e8a20, 0x33126: 0x6c6a8a20, 0x33127: 0x6c917420,\n\t0x33128: 0x6c917620, 0x33129: 0x6c917820, 0x3312a: 0x6c917a20, 0x3312b: 0x6c917c20,\n\t0x3312c: 0x6c917e20, 0x3312d: 0x6cbd9620, 0x3312e: 0x6cee6020, 0x3312f: 0x6cee6220,\n\t0x33130: 0x6cee6420, 0x33131: 0x6cee6620, 0x33132: 0x6d1e0420, 0x33133: 0x6d1e0620,\n\t0x33134: 0x6d1e0820, 0x33135: 0x6d1e0a20, 0x33136: 0x6d4baa20, 0x33137: 0x6d4bac20,\n\t0x33138: 0x6d790820, 0x33139: 0x6d790a20, 0x3313a: 0x6d790c20, 0x3313b: 0x6da20820,\n\t0x3313c: 0x6dc43e20, 0x3313d: 0x6dc44020, 0x3313e: 0x6dc44220, 0x3313f: 0x6dc44420,\n\t// Block 0xcc5, offset 0x33140\n\t0x33140: 0x6de14a20, 0x33141: 0x6df95620, 0x33142: 0x6e289c20, 0x33143: 0x6e451a20,\n\t0x33144: 0x6c07d620, 0x33145: 0x6c07d820, 0x33146: 0x6c07da20, 0x33147: 0x6c0f2220,\n\t0x33148: 0x6c0f2420, 0x33149: 0x6c0f2620, 0x3314a: 0x6c1b8220, 0x3314b: 0x6c1b8420,\n\t0x3314c: 0x6c1b8620, 0x3314d: 0x6c2e9220, 0x3314e: 0x6c2e9420, 0x3314f: 0x6c2e9620,\n\t0x33150: 0x6c48fc20, 0x33151: 0x6c48fe20, 0x33152: 0x6c6a9020, 0x33153: 0x6c6a9220,\n\t0x33154: 0x6c6a9420, 0x33155: 0x6c6a9620, 0x33156: 0x6c6a9820, 0x33157: 0x6c6a9a20,\n\t0x33158: 0x6c6a9c20, 0x33159: 0x6c6a9e20, 0x3315a: 0x6c6aa020, 0x3315b: 0x6c6aa220,\n\t0x3315c: 0x6c6aa420, 0x3315d: 0x6c918420, 0x3315e: 0x6c918620, 0x3315f: 0x6c918820,\n\t0x33160: 0x6c918a20, 0x33161: 0x6c918c20, 0x33162: 0x6c918e20, 0x33163: 0x6c919020,\n\t0x33164: 0x6c919220, 0x33165: 0x6c919420, 0x33166: 0x6cbda020, 0x33167: 0x6cbda220,\n\t0x33168: 0x6cbda420, 0x33169: 0x6cbda620, 0x3316a: 0x6cbda820, 0x3316b: 0x6cbdaa20,\n\t0x3316c: 0x6cbdac20, 0x3316d: 0x6cbdae20, 0x3316e: 0x6cbdb020, 0x3316f: 0x6cee6a20,\n\t0x33170: 0x6cbdb220, 0x33171: 0x6cee6c20, 0x33172: 0x6cee6e20, 0x33173: 0x6cee7020,\n\t0x33174: 0x6cee7220, 0x33175: 0x6cee7420, 0x33176: 0x6d1e1820, 0x33177: 0x6d1e1a20,\n\t0x33178: 0x6d1e1c20, 0x33179: 0x6d1e1e20, 0x3317a: 0x6d1e2020, 0x3317b: 0x6d1e2220,\n\t0x3317c: 0x6d1e2420, 0x3317d: 0x6d1e2620, 0x3317e: 0x6d1e2820, 0x3317f: 0x6d4bb020,\n\t// Block 0xcc6, offset 0x33180\n\t0x33180: 0x6d4bb220, 0x33181: 0x6d4bb420, 0x33182: 0x6d791220, 0x33183: 0x6d791420,\n\t0x33184: 0x6d791620, 0x33185: 0x6d791820, 0x33186: 0x6da20c20, 0x33187: 0x6da20e20,\n\t0x33188: 0x6da21020, 0x33189: 0x6dc44820, 0x3318a: 0x6dc44a20, 0x3318b: 0x6de14c20,\n\t0x3318c: 0x6de14e20, 0x3318d: 0x6e0d2020, 0x3318e: 0x6e0d2220, 0x3318f: 0x6e3d1420,\n\t0x33190: 0x6de15020, 0x33191: 0x6e45be20, 0x33192: 0x6c03e820, 0x33193: 0x6c03ea20,\n\t0x33194: 0x6c03ec20, 0x33195: 0x6c07ec20, 0x33196: 0x6c07ee20, 0x33197: 0x6c07f020,\n\t0x33198: 0x6c07f220, 0x33199: 0x6c07f420, 0x3319a: 0x6c07f620, 0x3319b: 0x6c07f820,\n\t0x3319c: 0x6c04f620, 0x3319d: 0x6c0f4420, 0x3319e: 0x6c0f4620, 0x3319f: 0x6c0f4820,\n\t0x331a0: 0x6c0f4a20, 0x331a1: 0x6c0f4c20, 0x331a2: 0x6c0f4e20, 0x331a3: 0x6c0f5020,\n\t0x331a4: 0x6c0f5220, 0x331a5: 0x6c1b9a20, 0x331a6: 0x6c1b9c20, 0x331a7: 0x6c1b9e20,\n\t0x331a8: 0x6c1ba020, 0x331a9: 0x6c1ba220, 0x331aa: 0x6c1ba420, 0x331ab: 0x6c1ba620,\n\t0x331ac: 0x6c1ba820, 0x331ad: 0x6c1baa20, 0x331ae: 0x6c1bac20, 0x331af: 0x6c1bae20,\n\t0x331b0: 0x6c1bb020, 0x331b1: 0x6c1bb220, 0x331b2: 0x6c1bb420, 0x331b3: 0x6c1bb620,\n\t0x331b4: 0x6c1bb820, 0x331b5: 0x6c1bba20, 0x331b6: 0x6c1bbc20, 0x331b7: 0x6c2eba20,\n\t0x331b8: 0x6c2ebc20, 0x331b9: 0x6c2ebe20, 0x331ba: 0x6c2ec020, 0x331bb: 0x6c2ec220,\n\t0x331bc: 0x6c2ec420, 0x331bd: 0x6c2ec620, 0x331be: 0x6c2ec820, 0x331bf: 0x6c2eca20,\n\t// Block 0xcc7, offset 0x331c0\n\t0x331c0: 0x6c2ecc20, 0x331c1: 0x6c2ece20, 0x331c2: 0x6c2ed020, 0x331c3: 0x6c2ed220,\n\t0x331c4: 0x6c2ed420, 0x331c5: 0x6c2ed620, 0x331c6: 0x6c2ed820, 0x331c7: 0x6c2eda20,\n\t0x331c8: 0x6c2edc20, 0x331c9: 0x6c2ede20, 0x331ca: 0x6c2ee020, 0x331cb: 0x6c2ee220,\n\t0x331cc: 0x6c2ee420, 0x331cd: 0x6c491620, 0x331ce: 0x6c491820, 0x331cf: 0x6c491a20,\n\t0x331d0: 0x6c491c20, 0x331d1: 0x6c491e20, 0x331d2: 0x6c492020, 0x331d3: 0x6c492220,\n\t0x331d4: 0x6c492420, 0x331d5: 0x6c492620, 0x331d6: 0x6c492820, 0x331d7: 0x6c492a20,\n\t0x331d8: 0x6c492c20, 0x331d9: 0x6c492e20, 0x331da: 0x6c493020, 0x331db: 0x6c493220,\n\t0x331dc: 0x6c493420, 0x331dd: 0x6c6ab420, 0x331de: 0x6c6ab620, 0x331df: 0x6c6ab820,\n\t0x331e0: 0x6c6aba20, 0x331e1: 0x6c6abc20, 0x331e2: 0x6c6abe20, 0x331e3: 0x6c6ac020,\n\t0x331e4: 0x6c6ac220, 0x331e5: 0x6c6ac420, 0x331e6: 0x6c6ac620, 0x331e7: 0x6c6ac820,\n\t0x331e8: 0x6c6aca20, 0x331e9: 0x6c6acc20, 0x331ea: 0x6c6ace20, 0x331eb: 0x6c6ad020,\n\t0x331ec: 0x6c6ad220, 0x331ed: 0x6c6ad420, 0x331ee: 0x6c6ad620, 0x331ef: 0x6c6ad820,\n\t0x331f0: 0x6c6ada20, 0x331f1: 0x6c6adc20, 0x331f2: 0x6c6ade20, 0x331f3: 0x6c6ae020,\n\t0x331f4: 0x6c91a620, 0x331f5: 0x6c91a820, 0x331f6: 0x6c91aa20, 0x331f7: 0x6c91ac20,\n\t0x331f8: 0x6c91ae20, 0x331f9: 0x6c91b020, 0x331fa: 0x6c91b220, 0x331fb: 0x6c91b420,\n\t0x331fc: 0x6c91b620, 0x331fd: 0x6c91b820, 0x331fe: 0x6c91ba20, 0x331ff: 0x6c91bc20,\n\t// Block 0xcc8, offset 0x33200\n\t0x33200: 0x6c91be20, 0x33201: 0x6c91c020, 0x33202: 0x6c91c220, 0x33203: 0x6c91c420,\n\t0x33204: 0x6c91c620, 0x33205: 0x6c91c820, 0x33206: 0x6c91ca20, 0x33207: 0x6cbdc420,\n\t0x33208: 0x6cbdc620, 0x33209: 0x6cbdc820, 0x3320a: 0x6cbdca20, 0x3320b: 0x6cbdcc20,\n\t0x3320c: 0x6cbdce20, 0x3320d: 0x6cbdd020, 0x3320e: 0x6cbdd220, 0x3320f: 0x6cbdd420,\n\t0x33210: 0x6cbdd620, 0x33211: 0x6cbdd820, 0x33212: 0x6cbdda20, 0x33213: 0x6cbddc20,\n\t0x33214: 0x6cbdde20, 0x33215: 0x6cbde020, 0x33216: 0x6cbde220, 0x33217: 0x6cbde420,\n\t0x33218: 0x6cbde620, 0x33219: 0x6cbde820, 0x3321a: 0x6cbdea20, 0x3321b: 0x6cee7e20,\n\t0x3321c: 0x6cee8020, 0x3321d: 0x6cee8220, 0x3321e: 0x6cee8420, 0x3321f: 0x6cee8620,\n\t0x33220: 0x6cee8820, 0x33221: 0x6cee8a20, 0x33222: 0x6cee8c20, 0x33223: 0x6cee8e20,\n\t0x33224: 0x6cee9020, 0x33225: 0x6cee9220, 0x33226: 0x6cee9420, 0x33227: 0x6cee9620,\n\t0x33228: 0x6cee9820, 0x33229: 0x6cee9a20, 0x3322a: 0x6cee9c20, 0x3322b: 0x6cee9e20,\n\t0x3322c: 0x6d1e3620, 0x3322d: 0x6d1e3820, 0x3322e: 0x6d1e3a20, 0x3322f: 0x6d1e3c20,\n\t0x33230: 0x6d1e3e20, 0x33231: 0x6d1e4020, 0x33232: 0x6d1e4220, 0x33233: 0x6d1e4420,\n\t0x33234: 0x6d1e4620, 0x33235: 0x6d1e4820, 0x33236: 0x6d1e4a20, 0x33237: 0x6d4bba20,\n\t0x33238: 0x6d4bbc20, 0x33239: 0x6d4bbe20, 0x3323a: 0x6d4bc020, 0x3323b: 0x6d4bc220,\n\t0x3323c: 0x6d4bc420, 0x3323d: 0x6d4bc620, 0x3323e: 0x6d4bc820, 0x3323f: 0x6d4bca20,\n\t// Block 0xcc9, offset 0x33240\n\t0x33240: 0x6d4bcc20, 0x33241: 0x6d4bce20, 0x33242: 0x6d4bd020, 0x33243: 0x6d4bd220,\n\t0x33244: 0x6d4bd420, 0x33245: 0x6d4bd620, 0x33246: 0x6d792220, 0x33247: 0x6d792420,\n\t0x33248: 0x6d792620, 0x33249: 0x6d792820, 0x3324a: 0x6d792a20, 0x3324b: 0x6d792c20,\n\t0x3324c: 0x6d792e20, 0x3324d: 0x6d793020, 0x3324e: 0x6d793220, 0x3324f: 0x6da21220,\n\t0x33250: 0x6da21420, 0x33251: 0x6da21620, 0x33252: 0x6da21820, 0x33253: 0x6da21a20,\n\t0x33254: 0x6da21c20, 0x33255: 0x6da21e20, 0x33256: 0x6da22020, 0x33257: 0x6dc44e20,\n\t0x33258: 0x6de15220, 0x33259: 0x6de15420, 0x3325a: 0x6de15620, 0x3325b: 0x6df95820,\n\t0x3325c: 0x6e0d2420, 0x3325d: 0x6e0d2620, 0x3325e: 0x6e1c9420, 0x3325f: 0x6e1c9620,\n\t0x33260: 0x6e289e20, 0x33261: 0x6e28a020, 0x33262: 0x6e28a220, 0x33263: 0x6e31d420,\n\t0x33264: 0x6e31d620, 0x33265: 0x6e401220, 0x33266: 0x6c03f020, 0x33267: 0x6c080420,\n\t0x33268: 0x6c080620, 0x33269: 0x6c080820, 0x3326a: 0x6c080a20, 0x3326b: 0x6c080c20,\n\t0x3326c: 0x6c080e20, 0x3326d: 0x6c081020, 0x3326e: 0x6c0f8620, 0x3326f: 0x6c0f8820,\n\t0x33270: 0x6c0f8a20, 0x33271: 0x6c0f8c20, 0x33272: 0x6c0f8e20, 0x33273: 0x6c0f9020,\n\t0x33274: 0x6c0f9220, 0x33275: 0x6c0f9420, 0x33276: 0x6c0f9620, 0x33277: 0x6c0f9820,\n\t0x33278: 0x6c0f9a20, 0x33279: 0x6c0f9c20, 0x3327a: 0x6c0f9e20, 0x3327b: 0x6c0fa020,\n\t0x3327c: 0x6c1c1820, 0x3327d: 0x6c1c1a20, 0x3327e: 0x6c1c1c20, 0x3327f: 0x6c1c1e20,\n\t// Block 0xcca, offset 0x33280\n\t0x33280: 0x6c1c2020, 0x33281: 0x6c1c2220, 0x33282: 0x6c1c2420, 0x33283: 0x6c1c2620,\n\t0x33284: 0x6c1c2820, 0x33285: 0x6c1c2a20, 0x33286: 0x6c1c2c20, 0x33287: 0x6c1c2e20,\n\t0x33288: 0x6c1c3020, 0x33289: 0x6c1c3220, 0x3328a: 0x6c1c3420, 0x3328b: 0x6c1c3620,\n\t0x3328c: 0x6c1c3820, 0x3328d: 0x6c1c3a20, 0x3328e: 0x6c1c3c20, 0x3328f: 0x6c1c3e20,\n\t0x33290: 0x6c1c4020, 0x33291: 0x6c1c4220, 0x33292: 0x6c1c4420, 0x33293: 0x6c1c4620,\n\t0x33294: 0x6c1c4820, 0x33295: 0x6c1c4a20, 0x33296: 0x6c1c4c20, 0x33297: 0x6c1c4e20,\n\t0x33298: 0x6c1c5020, 0x33299: 0x6c2f6e20, 0x3329a: 0x6c2f7020, 0x3329b: 0x6c2f7220,\n\t0x3329c: 0x6c2f7420, 0x3329d: 0x6c2f7620, 0x3329e: 0x6c2f7820, 0x3329f: 0x6c2f7a20,\n\t0x332a0: 0x6c2f7c20, 0x332a1: 0x6c2f7e20, 0x332a2: 0x6c2f8020, 0x332a3: 0x6c2f8220,\n\t0x332a4: 0x6c2f8420, 0x332a5: 0x6c2f8620, 0x332a6: 0x6c2f8820, 0x332a7: 0x6c2f8a20,\n\t0x332a8: 0x6c2f8c20, 0x332a9: 0x6c2f8e20, 0x332aa: 0x6c2f9020, 0x332ab: 0x6c2f9220,\n\t0x332ac: 0x6c2f9420, 0x332ad: 0x6c2f9620, 0x332ae: 0x6c2f9820, 0x332af: 0x6c2f9a20,\n\t0x332b0: 0x6c2f9c20, 0x332b1: 0x6c2f9e20, 0x332b2: 0x6c2fa020, 0x332b3: 0x6c2fa220,\n\t0x332b4: 0x6c2fa420, 0x332b5: 0x6c2fa620, 0x332b6: 0x6c2fa820, 0x332b7: 0x6c2faa20,\n\t0x332b8: 0x6c2fac20, 0x332b9: 0x6c2fae20, 0x332ba: 0x6c2fb020, 0x332bb: 0x6c2fb220,\n\t0x332bc: 0x6c2fb420, 0x332bd: 0x6c2fb620, 0x332be: 0x6c2fb820, 0x332bf: 0x6c2fba20,\n\t// Block 0xccb, offset 0x332c0\n\t0x332c0: 0x6c2fbc20, 0x332c1: 0x6c2fbe20, 0x332c2: 0x6c49b420, 0x332c3: 0x6c49b620,\n\t0x332c4: 0x6c49b820, 0x332c5: 0x6c49ba20, 0x332c6: 0x6c49bc20, 0x332c7: 0x6c49be20,\n\t0x332c8: 0x6c49c020, 0x332c9: 0x6c49c220, 0x332ca: 0x6c49c420, 0x332cb: 0x6c49c620,\n\t0x332cc: 0x6c49c820, 0x332cd: 0x6c49ca20, 0x332ce: 0x6c49cc20, 0x332cf: 0x6c49ce20,\n\t0x332d0: 0x6c49d020, 0x332d1: 0x6c49d220, 0x332d2: 0x6c49d420, 0x332d3: 0x6c49d620,\n\t0x332d4: 0x6c49d820, 0x332d5: 0x6c49da20, 0x332d6: 0x6c49dc20, 0x332d7: 0x6c49de20,\n\t0x332d8: 0x6c49e020, 0x332d9: 0x6c49e220, 0x332da: 0x6c49e420, 0x332db: 0x6c49e620,\n\t0x332dc: 0x6c49e820, 0x332dd: 0x6c49ea20, 0x332de: 0x6c49ec20, 0x332df: 0x6c49ee20,\n\t0x332e0: 0x6c49f020, 0x332e1: 0x6c49f220, 0x332e2: 0x6c49f420, 0x332e3: 0x6c49f620,\n\t0x332e4: 0x6c49f820, 0x332e5: 0x6c49fa20, 0x332e6: 0x6c49fc20, 0x332e7: 0x6c49fe20,\n\t0x332e8: 0x6c4a0020, 0x332e9: 0x6c4a0220, 0x332ea: 0x6c4a0420, 0x332eb: 0x6c4a0620,\n\t0x332ec: 0x6c4a0820, 0x332ed: 0x6c4a0a20, 0x332ee: 0x6c6b6c20, 0x332ef: 0x6c6b6e20,\n\t0x332f0: 0x6c6b7020, 0x332f1: 0x6c6b7220, 0x332f2: 0x6c6b7420, 0x332f3: 0x6c6b7620,\n\t0x332f4: 0x6c6b7820, 0x332f5: 0x6c6b7a20, 0x332f6: 0x6c6b7c20, 0x332f7: 0x6c6b7e20,\n\t0x332f8: 0x6c6b8020, 0x332f9: 0x6c6b8220, 0x332fa: 0x6c6b8420, 0x332fb: 0x6c6b8620,\n\t0x332fc: 0x6c6b8820, 0x332fd: 0x6c6b8a20, 0x332fe: 0x6c6b8c20, 0x332ff: 0x6c6b8e20,\n\t// Block 0xccc, offset 0x33300\n\t0x33300: 0x6c6b9020, 0x33301: 0x6c6b9220, 0x33302: 0x6c6b9420, 0x33303: 0x6c6b9620,\n\t0x33304: 0x6c6b9820, 0x33305: 0x6c6b9a20, 0x33306: 0x6c6b9c20, 0x33307: 0x6c6b9e20,\n\t0x33308: 0x6c6ba020, 0x33309: 0x6c6ba220, 0x3330a: 0x6c6ba420, 0x3330b: 0x6c6ba620,\n\t0x3330c: 0x6c6ba820, 0x3330d: 0x6c6baa20, 0x3330e: 0x6c6bac20, 0x3330f: 0x6c6bae20,\n\t0x33310: 0x6c6bb020, 0x33311: 0x6c6bb220, 0x33312: 0x6c6bb420, 0x33313: 0x6c6bb620,\n\t0x33314: 0x6c6bb820, 0x33315: 0x6c6bba20, 0x33316: 0x6c6bbc20, 0x33317: 0x6c6bbe20,\n\t0x33318: 0x6c6bc020, 0x33319: 0x6c6bc220, 0x3331a: 0x6c6bc420, 0x3331b: 0x6c6bc620,\n\t0x3331c: 0x6c6bc820, 0x3331d: 0x6c6bca20, 0x3331e: 0x6c927020, 0x3331f: 0x6c927220,\n\t0x33320: 0x6c927420, 0x33321: 0x6c927620, 0x33322: 0x6c927820, 0x33323: 0x6c927a20,\n\t0x33324: 0x6c927c20, 0x33325: 0x6c927e20, 0x33326: 0x6c928020, 0x33327: 0x6c928220,\n\t0x33328: 0x6c928420, 0x33329: 0x6c928620, 0x3332a: 0x6c928820, 0x3332b: 0x6c928a20,\n\t0x3332c: 0x6c928c20, 0x3332d: 0x6c928e20, 0x3332e: 0x6c929020, 0x3332f: 0x6c929220,\n\t0x33330: 0x6c929420, 0x33331: 0x6c929620, 0x33332: 0x6c929820, 0x33333: 0x6c929a20,\n\t0x33334: 0x6c929c20, 0x33335: 0x6c929e20, 0x33336: 0x6c92a020, 0x33337: 0x6c92a220,\n\t0x33338: 0x6c92a420, 0x33339: 0x6c92a620, 0x3333a: 0x6c92a820, 0x3333b: 0x6c92aa20,\n\t0x3333c: 0x6c92ac20, 0x3333d: 0x6c92ae20, 0x3333e: 0x6c92b020, 0x3333f: 0x6c92b220,\n\t// Block 0xccd, offset 0x33340\n\t0x33340: 0x6c92b420, 0x33341: 0x6c92b620, 0x33342: 0x6c92b820, 0x33343: 0x6c92ba20,\n\t0x33344: 0x6c92bc20, 0x33345: 0x6c92be20, 0x33346: 0x6c92c020, 0x33347: 0x6c92c220,\n\t0x33348: 0x6c92c420, 0x33349: 0x6c92c620, 0x3334a: 0x6c92c820, 0x3334b: 0x6c92ca20,\n\t0x3334c: 0x6c92cc20, 0x3334d: 0x6c92ce20, 0x3334e: 0x6c92d020, 0x3334f: 0x6c92d220,\n\t0x33350: 0x6c92d420, 0x33351: 0x6c92d620, 0x33352: 0x6c92d820, 0x33353: 0x6c92da20,\n\t0x33354: 0x6c92dc20, 0x33355: 0x6c92de20, 0x33356: 0x6c92e020, 0x33357: 0x6c92e220,\n\t0x33358: 0x6c92e420, 0x33359: 0x6c92e620, 0x3335a: 0x6c92e820, 0x3335b: 0x6c92ea20,\n\t0x3335c: 0x6cbe9020, 0x3335d: 0x6cbe9220, 0x3335e: 0x6cbe9420, 0x3335f: 0x6cbe9620,\n\t0x33360: 0x6cbe9820, 0x33361: 0x6cbe9a20, 0x33362: 0x6cbe9c20, 0x33363: 0x6cbe9e20,\n\t0x33364: 0x6cbea020, 0x33365: 0x6cbea220, 0x33366: 0x6cbea420, 0x33367: 0x6cbea620,\n\t0x33368: 0x6cbea820, 0x33369: 0x6cbeaa20, 0x3336a: 0x6cbeac20, 0x3336b: 0x6cbeae20,\n\t0x3336c: 0x6cbeb020, 0x3336d: 0x6cbeb220, 0x3336e: 0x6cbeb420, 0x3336f: 0x6cbeb620,\n\t0x33370: 0x6cbeb820, 0x33371: 0x6cbeba20, 0x33372: 0x6cbebc20, 0x33373: 0x6cbebe20,\n\t0x33374: 0x6cbec020, 0x33375: 0x6cbec220, 0x33376: 0x6cbec420, 0x33377: 0x6cbec620,\n\t0x33378: 0x6cbec820, 0x33379: 0x6cbeca20, 0x3337a: 0x6cbecc20, 0x3337b: 0x6cbece20,\n\t0x3337c: 0x6cbed020, 0x3337d: 0x6cbed220, 0x3337e: 0x6cbed420, 0x3337f: 0x6cbed620,\n\t// Block 0xcce, offset 0x33380\n\t0x33380: 0x6cbed820, 0x33381: 0x6cbeda20, 0x33382: 0x6cbedc20, 0x33383: 0x6cbede20,\n\t0x33384: 0x6cbee020, 0x33385: 0x6cbee220, 0x33386: 0x6cbee420, 0x33387: 0x6cbee620,\n\t0x33388: 0x6cbee820, 0x33389: 0x6cbeea20, 0x3338a: 0x6cbeec20, 0x3338b: 0x6cbeee20,\n\t0x3338c: 0x6cbef020, 0x3338d: 0x6cbef220, 0x3338e: 0x6cbef420, 0x3338f: 0x6cbef620,\n\t0x33390: 0x6cbef820, 0x33391: 0x6cbefa20, 0x33392: 0x6cbefc20, 0x33393: 0x6cbefe20,\n\t0x33394: 0x6cbf0020, 0x33395: 0x6cbf0220, 0x33396: 0x6cbf0420, 0x33397: 0x6cbf0620,\n\t0x33398: 0x6cbf0820, 0x33399: 0x6cbf0a20, 0x3339a: 0x6cbf0c20, 0x3339b: 0x6cbf0e20,\n\t0x3339c: 0x6cbf1020, 0x3339d: 0x6cbf1220, 0x3339e: 0x6cbf1420, 0x3339f: 0x6cbf1620,\n\t0x333a0: 0x6cbf1820, 0x333a1: 0x6cbf1a20, 0x333a2: 0x6cbf1c20, 0x333a3: 0x6cbf1e20,\n\t0x333a4: 0x6cbf2020, 0x333a5: 0x6cbf2220, 0x333a6: 0x6cbf2420, 0x333a7: 0x6cbf2620,\n\t0x333a8: 0x6cef1020, 0x333a9: 0x6cef1220, 0x333aa: 0x6cef1420, 0x333ab: 0x6cef1620,\n\t0x333ac: 0x6cef1820, 0x333ad: 0x6cef1a20, 0x333ae: 0x6cef1c20, 0x333af: 0x6cef1e20,\n\t0x333b0: 0x6cef2020, 0x333b1: 0x6cef2220, 0x333b2: 0x6cef2420, 0x333b3: 0x6cef2620,\n\t0x333b4: 0x6cef2820, 0x333b5: 0x6cef2a20, 0x333b6: 0x6cef2c20, 0x333b7: 0x6cef2e20,\n\t0x333b8: 0x6cef3020, 0x333b9: 0x6cef3220, 0x333ba: 0x6cef3420, 0x333bb: 0x6cef3620,\n\t0x333bc: 0x6cef3820, 0x333bd: 0x6cef3a20, 0x333be: 0x6cef3c20, 0x333bf: 0x6cef3e20,\n\t// Block 0xccf, offset 0x333c0\n\t0x333c0: 0x6cef4020, 0x333c1: 0x6cef4220, 0x333c2: 0x6cef4420, 0x333c3: 0x6cef4620,\n\t0x333c4: 0x6cef4820, 0x333c5: 0x6cef4a20, 0x333c6: 0x6cef4c20, 0x333c7: 0x6cef4e20,\n\t0x333c8: 0x6cef5020, 0x333c9: 0x6cef5220, 0x333ca: 0x6cef5420, 0x333cb: 0x6cef5620,\n\t0x333cc: 0x6cef5820, 0x333cd: 0x6cef5a20, 0x333ce: 0x6cef5c20, 0x333cf: 0x6cef5e20,\n\t0x333d0: 0x6cef6020, 0x333d1: 0x6cef6220, 0x333d2: 0x6cef6420, 0x333d3: 0x6cef6620,\n\t0x333d4: 0x6cef6820, 0x333d5: 0x6cef6a20, 0x333d6: 0x6d4c2220, 0x333d7: 0x6d1eaa20,\n\t0x333d8: 0x6d4c2420, 0x333d9: 0x6d1eac20, 0x333da: 0x6d1eae20, 0x333db: 0x6d1eb020,\n\t0x333dc: 0x6d1eb220, 0x333dd: 0x6d1eb420, 0x333de: 0x6d1eb620, 0x333df: 0x6d1eb820,\n\t0x333e0: 0x6d1eba20, 0x333e1: 0x6d1ebc20, 0x333e2: 0x6d1ebe20, 0x333e3: 0x6cbf2820,\n\t0x333e4: 0x6d1ec020, 0x333e5: 0x6d1ec220, 0x333e6: 0x6d1ec420, 0x333e7: 0x6d1ec620,\n\t0x333e8: 0x6d1ec820, 0x333e9: 0x6d1eca20, 0x333ea: 0x6d1ecc20, 0x333eb: 0x6d1ece20,\n\t0x333ec: 0x6d1ed020, 0x333ed: 0x6d1ed220, 0x333ee: 0x6d1ed420, 0x333ef: 0x6d1ed620,\n\t0x333f0: 0x6d1ed820, 0x333f1: 0x6d1eda20, 0x333f2: 0x6d4c2620, 0x333f3: 0x6d1edc20,\n\t0x333f4: 0x6d1ede20, 0x333f5: 0x6d1ee020, 0x333f6: 0x6d1ee220, 0x333f7: 0x6d1ee420,\n\t0x333f8: 0x6d1ee620, 0x333f9: 0x6d1ee820, 0x333fa: 0x6d1eea20, 0x333fb: 0x6d1eec20,\n\t0x333fc: 0x6d1eee20, 0x333fd: 0x6d1ef020, 0x333fe: 0x6d1ef220, 0x333ff: 0x6d1ef420,\n\t// Block 0xcd0, offset 0x33400\n\t0x33400: 0x6d1ef620, 0x33401: 0x6d1ef820, 0x33402: 0x6d1efa20, 0x33403: 0x6d1efc20,\n\t0x33404: 0x6d1efe20, 0x33405: 0x6d1f0020, 0x33406: 0x6d1f0220, 0x33407: 0x6d1f0420,\n\t0x33408: 0x6d1f0620, 0x33409: 0x6d1f0820, 0x3340a: 0x6d1f0a20, 0x3340b: 0x6d1f0c20,\n\t0x3340c: 0x6d1f0e20, 0x3340d: 0x6d1f1020, 0x3340e: 0x6d1f1220, 0x3340f: 0x6d4c2820,\n\t0x33410: 0x6d4c2a20, 0x33411: 0x6d4c2c20, 0x33412: 0x6d4c2e20, 0x33413: 0x6d4c3020,\n\t0x33414: 0x6d4c3220, 0x33415: 0x6d4c3420, 0x33416: 0x6d4c3620, 0x33417: 0x6d4c3820,\n\t0x33418: 0x6d4c3a20, 0x33419: 0x6d4c3c20, 0x3341a: 0x6d4c3e20, 0x3341b: 0x6d4c4020,\n\t0x3341c: 0x6d4c4220, 0x3341d: 0x6d4c4420, 0x3341e: 0x6d4c4620, 0x3341f: 0x6d4c4820,\n\t0x33420: 0x6d4c4a20, 0x33421: 0x6d4c4c20, 0x33422: 0x6d4c4e20, 0x33423: 0x6d4c5020,\n\t0x33424: 0x6d4c5220, 0x33425: 0x6d4c5420, 0x33426: 0x6d4c5620, 0x33427: 0x6d4c5820,\n\t0x33428: 0x6d4c5a20, 0x33429: 0x6d4c5c20, 0x3342a: 0x6d4c5e20, 0x3342b: 0x6d4c6020,\n\t0x3342c: 0x6d4c6220, 0x3342d: 0x6d4c6420, 0x3342e: 0x6d4c6620, 0x3342f: 0x6d4c6820,\n\t0x33430: 0x6d4c6a20, 0x33431: 0x6d4c6c20, 0x33432: 0x6d4c6e20, 0x33433: 0x6d4c7020,\n\t0x33434: 0x6d4c7220, 0x33435: 0x6d4c7420, 0x33436: 0x6d4c7620, 0x33437: 0x6d4c7820,\n\t0x33438: 0x6d4c7a20, 0x33439: 0x6d4c7c20, 0x3343a: 0x6d4c7e20, 0x3343b: 0x6d4c8020,\n\t0x3343c: 0x6d4c8220, 0x3343d: 0x6d4c8420, 0x3343e: 0x6d4c8620, 0x3343f: 0x6d4c8820,\n\t// Block 0xcd1, offset 0x33440\n\t0x33440: 0x6d4c8a20, 0x33441: 0x6d4c8c20, 0x33442: 0x6d4c8e20, 0x33443: 0x6d4c9020,\n\t0x33444: 0x6d4c9220, 0x33445: 0x6d4c9420, 0x33446: 0x6d4c9620, 0x33447: 0x6d4c9820,\n\t0x33448: 0x6d4c9a20, 0x33449: 0x6d4c9c20, 0x3344a: 0x6d4c9e20, 0x3344b: 0x6d4ca020,\n\t0x3344c: 0x6d4ca220, 0x3344d: 0x6d4ca420, 0x3344e: 0x6d796a20, 0x3344f: 0x6d601620,\n\t0x33450: 0x6d4ca620, 0x33451: 0x6d796c20, 0x33452: 0x6d796e20, 0x33453: 0x6d797020,\n\t0x33454: 0x6d797220, 0x33455: 0x6d797420, 0x33456: 0x6d797620, 0x33457: 0x6d797820,\n\t0x33458: 0x6d797a20, 0x33459: 0x6d797c20, 0x3345a: 0x6d797e20, 0x3345b: 0x6d798020,\n\t0x3345c: 0x6d798220, 0x3345d: 0x6d798420, 0x3345e: 0x6d798620, 0x3345f: 0x6d798820,\n\t0x33460: 0x6d798a20, 0x33461: 0x6d798c20, 0x33462: 0x6d798e20, 0x33463: 0x6d799020,\n\t0x33464: 0x6d799220, 0x33465: 0x6d799420, 0x33466: 0x6d799620, 0x33467: 0x6d799820,\n\t0x33468: 0x6d799a20, 0x33469: 0x6d799c20, 0x3346a: 0x6d799e20, 0x3346b: 0x6d79a020,\n\t0x3346c: 0x6d79a220, 0x3346d: 0x6d79a420, 0x3346e: 0x6d79a620, 0x3346f: 0x6d79a820,\n\t0x33470: 0x6d79aa20, 0x33471: 0x6d79ac20, 0x33472: 0x6d79ae20, 0x33473: 0x6d79b020,\n\t0x33474: 0x6d79b220, 0x33475: 0x6d79b420, 0x33476: 0x6d79b620, 0x33477: 0x6d79b820,\n\t0x33478: 0x6d79ba20, 0x33479: 0x6d79bc20, 0x3347a: 0x6d79be20, 0x3347b: 0x6d79c020,\n\t0x3347c: 0x6d79c220, 0x3347d: 0x6d79c420, 0x3347e: 0x6d79c620, 0x3347f: 0x6d79c820,\n\t// Block 0xcd2, offset 0x33480\n\t0x33480: 0x6d79ca20, 0x33481: 0x6d79cc20, 0x33482: 0x6d79ce20, 0x33483: 0x6d79d020,\n\t0x33484: 0x6d79d220, 0x33485: 0x6da24c20, 0x33486: 0x6da24e20, 0x33487: 0x6da25020,\n\t0x33488: 0x6da25220, 0x33489: 0x6da25420, 0x3348a: 0x6da25620, 0x3348b: 0x6da25820,\n\t0x3348c: 0x6da25a20, 0x3348d: 0x6da25c20, 0x3348e: 0x6da25e20, 0x3348f: 0x6da26020,\n\t0x33490: 0x6da26220, 0x33491: 0x6da26420, 0x33492: 0x6da26620, 0x33493: 0x6da26820,\n\t0x33494: 0x6da26a20, 0x33495: 0x6da26c20, 0x33496: 0x6da26e20, 0x33497: 0x6da27020,\n\t0x33498: 0x6da27220, 0x33499: 0x6da27420, 0x3349a: 0x6da27620, 0x3349b: 0x6da27820,\n\t0x3349c: 0x6da27a20, 0x3349d: 0x6da27c20, 0x3349e: 0x6da27e20, 0x3349f: 0x6da28020,\n\t0x334a0: 0x6da28220, 0x334a1: 0x6da28420, 0x334a2: 0x6db99820, 0x334a3: 0x6da28620,\n\t0x334a4: 0x6da28820, 0x334a5: 0x6da28a20, 0x334a6: 0x6da28c20, 0x334a7: 0x6da28e20,\n\t0x334a8: 0x6da29020, 0x334a9: 0x6da29220, 0x334aa: 0x6dc46020, 0x334ab: 0x6dc46220,\n\t0x334ac: 0x6dc46420, 0x334ad: 0x6dc46620, 0x334ae: 0x6dc46820, 0x334af: 0x6dc46a20,\n\t0x334b0: 0x6dc46c20, 0x334b1: 0x6dc46e20, 0x334b2: 0x6dc47020, 0x334b3: 0x6dc47220,\n\t0x334b4: 0x6dc47420, 0x334b5: 0x6dc47620, 0x334b6: 0x6dc47820, 0x334b7: 0x6dc47a20,\n\t0x334b8: 0x6dc47c20, 0x334b9: 0x6dc47e20, 0x334ba: 0x6dc48020, 0x334bb: 0x6dc48220,\n\t0x334bc: 0x6dc48420, 0x334bd: 0x6de16820, 0x334be: 0x6de16a20, 0x334bf: 0x6de16c20,\n\t// Block 0xcd3, offset 0x334c0\n\t0x334c0: 0x6de16e20, 0x334c1: 0x6de17020, 0x334c2: 0x6de17220, 0x334c3: 0x6de17420,\n\t0x334c4: 0x6de17620, 0x334c5: 0x6de17820, 0x334c6: 0x6de17a20, 0x334c7: 0x6de17c20,\n\t0x334c8: 0x6de17e20, 0x334c9: 0x6de18020, 0x334ca: 0x6de18220, 0x334cb: 0x6de18420,\n\t0x334cc: 0x6de18620, 0x334cd: 0x6de18820, 0x334ce: 0x6df97020, 0x334cf: 0x6df97220,\n\t0x334d0: 0x6df97420, 0x334d1: 0x6df97620, 0x334d2: 0x6df97820, 0x334d3: 0x6df97a20,\n\t0x334d4: 0x6df97c20, 0x334d5: 0x6df97e20, 0x334d6: 0x6df98020, 0x334d7: 0x6df98220,\n\t0x334d8: 0x6e0d3020, 0x334d9: 0x6e0d3220, 0x334da: 0x6e0d3420, 0x334db: 0x6e0d3620,\n\t0x334dc: 0x6e0d3820, 0x334dd: 0x6e0d3a20, 0x334de: 0x6de18a20, 0x334df: 0x6e0d3c20,\n\t0x334e0: 0x6e0d3e20, 0x334e1: 0x6e1ca020, 0x334e2: 0x6e1ca220, 0x334e3: 0x6e1ca420,\n\t0x334e4: 0x6e1ca620, 0x334e5: 0x6e1ca820, 0x334e6: 0x6e1caa20, 0x334e7: 0x6e1cac20,\n\t0x334e8: 0x6e1cae20, 0x334e9: 0x6e1cb020, 0x334ea: 0x6e1cb220, 0x334eb: 0x6e28a820,\n\t0x334ec: 0x6e28aa20, 0x334ed: 0x6e28ac20, 0x334ee: 0x6e31dc20, 0x334ef: 0x6e31de20,\n\t0x334f0: 0x6e31e020, 0x334f1: 0x6e31e220, 0x334f2: 0x6e31e420, 0x334f3: 0x6e31e620,\n\t0x334f4: 0x6e386220, 0x334f5: 0x6e386420, 0x334f6: 0x6e386620, 0x334f7: 0x6e401420,\n\t0x334f8: 0x6e401620, 0x334f9: 0x6e401820, 0x334fa: 0x6e401a20, 0x334fb: 0x6e467e20,\n\t0x334fc: 0x6c019e20, 0x334fd: 0x6c03f420, 0x334fe: 0x6c081420, 0x334ff: 0x6c081620,\n\t// Block 0xcd4, offset 0x33500\n\t0x33500: 0x6c081820, 0x33501: 0x6c081a20, 0x33502: 0x6c081c20, 0x33503: 0x6c0fb220,\n\t0x33504: 0x6c0fb420, 0x33505: 0x6c0fb620, 0x33506: 0x6c1c7020, 0x33507: 0x6c1c7220,\n\t0x33508: 0x6c1c7420, 0x33509: 0x6c1c7620, 0x3350a: 0x6c1c7820, 0x3350b: 0x6c18cc20,\n\t0x3350c: 0x6c1c7a20, 0x3350d: 0x6c1c7c20, 0x3350e: 0x6c2fde20, 0x3350f: 0x6c2fe020,\n\t0x33510: 0x6c2fe220, 0x33511: 0x6c2fe420, 0x33512: 0x6c2fe620, 0x33513: 0x6c2fe820,\n\t0x33514: 0x6c2fea20, 0x33515: 0x6c2fec20, 0x33516: 0x6c2fee20, 0x33517: 0x6c2ff020,\n\t0x33518: 0x6c2ff220, 0x33519: 0x6c2ff420, 0x3351a: 0x6c2ff620, 0x3351b: 0x6c4a2420,\n\t0x3351c: 0x6c4a2620, 0x3351d: 0x6c4a2820, 0x3351e: 0x6c4a2a20, 0x3351f: 0x6c4a2c20,\n\t0x33520: 0x6c4a2e20, 0x33521: 0x6c4a3020, 0x33522: 0x6c4a3220, 0x33523: 0x6c4a3420,\n\t0x33524: 0x6c4a3620, 0x33525: 0x6c4a3820, 0x33526: 0x6c4a3a20, 0x33527: 0x6c4a3c20,\n\t0x33528: 0x6c6be620, 0x33529: 0x6c6be820, 0x3352a: 0x6c6bea20, 0x3352b: 0x6c6bec20,\n\t0x3352c: 0x6c6bee20, 0x3352d: 0x6c6bf020, 0x3352e: 0x6c930c20, 0x3352f: 0x6c930e20,\n\t0x33530: 0x6c931020, 0x33531: 0x6c931220, 0x33532: 0x6c931420, 0x33533: 0x6c931620,\n\t0x33534: 0x6c931820, 0x33535: 0x6c931a20, 0x33536: 0x6cbf4620, 0x33537: 0x6cbf4820,\n\t0x33538: 0x6cbf4a20, 0x33539: 0x6cbf4c20, 0x3353a: 0x6cbf4e20, 0x3353b: 0x6cbf5020,\n\t0x3353c: 0x6cbf5220, 0x3353d: 0x6cbf5420, 0x3353e: 0x6cbf5620, 0x3353f: 0x6cbf5820,\n\t// Block 0xcd5, offset 0x33540\n\t0x33540: 0x6cbf5a20, 0x33541: 0x6cbf5c20, 0x33542: 0x6cbf5e20, 0x33543: 0x6cef7c20,\n\t0x33544: 0x6cef7e20, 0x33545: 0x6cef8020, 0x33546: 0x6cef8220, 0x33547: 0x6cef8420,\n\t0x33548: 0x6cef8620, 0x33549: 0x6cef8820, 0x3354a: 0x6cef8a20, 0x3354b: 0x6cef8c20,\n\t0x3354c: 0x6cef8e20, 0x3354d: 0x6cef9020, 0x3354e: 0x6cef9220, 0x3354f: 0x6cef9420,\n\t0x33550: 0x6cef9620, 0x33551: 0x6d1f2e20, 0x33552: 0x6d1f3020, 0x33553: 0x6d1f3220,\n\t0x33554: 0x6d1f3420, 0x33555: 0x6d1f3620, 0x33556: 0x6d1f3820, 0x33557: 0x6d4cb820,\n\t0x33558: 0x6d4cba20, 0x33559: 0x6d4cbc20, 0x3355a: 0x6d4cbe20, 0x3355b: 0x6d4cc020,\n\t0x3355c: 0x6d4cc220, 0x3355d: 0x6d4cc420, 0x3355e: 0x6d79e620, 0x3355f: 0x6d79e820,\n\t0x33560: 0x6d79ea20, 0x33561: 0x6d79ec20, 0x33562: 0x6d79ee20, 0x33563: 0x6d79f020,\n\t0x33564: 0x6d79f220, 0x33565: 0x6d79f420, 0x33566: 0x6d79f620, 0x33567: 0x6d79f820,\n\t0x33568: 0x6d79fa20, 0x33569: 0x6da29a20, 0x3356a: 0x6dc48e20, 0x3356b: 0x6dc49020,\n\t0x3356c: 0x6dc49220, 0x3356d: 0x6de19220, 0x3356e: 0x6de19420, 0x3356f: 0x6de19620,\n\t0x33570: 0x6de19820, 0x33571: 0x6df98a20, 0x33572: 0x6df98c20, 0x33573: 0x6df98e20,\n\t0x33574: 0x6df99020, 0x33575: 0x6df99220, 0x33576: 0x6df99420, 0x33577: 0x6e1cb620,\n\t0x33578: 0x6e401c20, 0x33579: 0x6c03f820, 0x3357a: 0x6c082a20, 0x3357b: 0x6c082c20,\n\t0x3357c: 0x6c082e20, 0x3357d: 0x6c0fc620, 0x3357e: 0x6c0fc820, 0x3357f: 0x6c0fca20,\n\t// Block 0xcd6, offset 0x33580\n\t0x33580: 0x6c0fcc20, 0x33581: 0x6c0fce20, 0x33582: 0x6c0fd020, 0x33583: 0x6c0fd220,\n\t0x33584: 0x6c0fd420, 0x33585: 0x6c0fd620, 0x33586: 0x6c0fd820, 0x33587: 0x6c0fda20,\n\t0x33588: 0x6c0fdc20, 0x33589: 0x6c0fde20, 0x3358a: 0x6c0fe020, 0x3358b: 0x6c1ca020,\n\t0x3358c: 0x6c1ca220, 0x3358d: 0x6c1ca420, 0x3358e: 0x6c1ca620, 0x3358f: 0x6c1ca820,\n\t0x33590: 0x6c1caa20, 0x33591: 0x6c1cac20, 0x33592: 0x6c1cae20, 0x33593: 0x6c1cb020,\n\t0x33594: 0x6c1cb220, 0x33595: 0x6c1cb420, 0x33596: 0x6c301a20, 0x33597: 0x6c301c20,\n\t0x33598: 0x6c301e20, 0x33599: 0x6c302020, 0x3359a: 0x6c302220, 0x3359b: 0x6c302420,\n\t0x3359c: 0x6c302620, 0x3359d: 0x6c302820, 0x3359e: 0x6c302a20, 0x3359f: 0x6c302c20,\n\t0x335a0: 0x6c302e20, 0x335a1: 0x6c303020, 0x335a2: 0x6c303220, 0x335a3: 0x6c303420,\n\t0x335a4: 0x6c303620, 0x335a5: 0x6c303820, 0x335a6: 0x6c303a20, 0x335a7: 0x6c303c20,\n\t0x335a8: 0x6c303e20, 0x335a9: 0x6c4a5a20, 0x335aa: 0x6c4a5c20, 0x335ab: 0x6c4a5e20,\n\t0x335ac: 0x6c4a6020, 0x335ad: 0x6c4a6220, 0x335ae: 0x6c4a6420, 0x335af: 0x6c4a6620,\n\t0x335b0: 0x6c4a6820, 0x335b1: 0x6c4a6a20, 0x335b2: 0x6c4a6c20, 0x335b3: 0x6c4a6e20,\n\t0x335b4: 0x6c4a7020, 0x335b5: 0x6c4a7220, 0x335b6: 0x6c4a7420, 0x335b7: 0x6c4a7620,\n\t0x335b8: 0x6c4a7820, 0x335b9: 0x6c4a7a20, 0x335ba: 0x6c4a7c20, 0x335bb: 0x6c4a7e20,\n\t0x335bc: 0x6c4a8020, 0x335bd: 0x6c4a8220, 0x335be: 0x6c4a8420, 0x335bf: 0x6c4a8620,\n\t// Block 0xcd7, offset 0x335c0\n\t0x335c0: 0x6c6c2620, 0x335c1: 0x6c6c2820, 0x335c2: 0x6c6c2a20, 0x335c3: 0x6c6c2c20,\n\t0x335c4: 0x6c6c2e20, 0x335c5: 0x6c6c3020, 0x335c6: 0x6c6c3220, 0x335c7: 0x6c6c3420,\n\t0x335c8: 0x6c6c3620, 0x335c9: 0x6c6c3820, 0x335ca: 0x6c6c3a20, 0x335cb: 0x6c6c3c20,\n\t0x335cc: 0x6c6c3e20, 0x335cd: 0x6c6c4020, 0x335ce: 0x6c6c4220, 0x335cf: 0x6c6c4420,\n\t0x335d0: 0x6c6c4620, 0x335d1: 0x6c6c4820, 0x335d2: 0x6c6c4a20, 0x335d3: 0x6c6c4c20,\n\t0x335d4: 0x6c6c4e20, 0x335d5: 0x6c6c5020, 0x335d6: 0x6c6c5220, 0x335d7: 0x6c6c5420,\n\t0x335d8: 0x6c6c5620, 0x335d9: 0x6c6c5820, 0x335da: 0x6c6c5a20, 0x335db: 0x6c6c5c20,\n\t0x335dc: 0x6c6c5e20, 0x335dd: 0x6c6c6020, 0x335de: 0x6c6c6220, 0x335df: 0x6c6c6420,\n\t0x335e0: 0x6c6c6620, 0x335e1: 0x6c6c6820, 0x335e2: 0x6c934620, 0x335e3: 0x6c934820,\n\t0x335e4: 0x6c934a20, 0x335e5: 0x6c934c20, 0x335e6: 0x6c934e20, 0x335e7: 0x6c935020,\n\t0x335e8: 0x6c935220, 0x335e9: 0x6c935420, 0x335ea: 0x6c935620, 0x335eb: 0x6c935820,\n\t0x335ec: 0x6c935a20, 0x335ed: 0x6c935c20, 0x335ee: 0x6c935e20, 0x335ef: 0x6c936020,\n\t0x335f0: 0x6c936220, 0x335f1: 0x6c936420, 0x335f2: 0x6c936620, 0x335f3: 0x6c936820,\n\t0x335f4: 0x6c936a20, 0x335f5: 0x6c936c20, 0x335f6: 0x6c936e20, 0x335f7: 0x6c937020,\n\t0x335f8: 0x6c937220, 0x335f9: 0x6c937420, 0x335fa: 0x6c937620, 0x335fb: 0x6c937820,\n\t0x335fc: 0x6c937a20, 0x335fd: 0x6cbf8220, 0x335fe: 0x6cbf8420, 0x335ff: 0x6cbf8620,\n\t// Block 0xcd8, offset 0x33600\n\t0x33600: 0x6cbf8820, 0x33601: 0x6cbf8a20, 0x33602: 0x6cbf8c20, 0x33603: 0x6cbf8e20,\n\t0x33604: 0x6cbf9020, 0x33605: 0x6cbf9220, 0x33606: 0x6cbf9420, 0x33607: 0x6cbf9620,\n\t0x33608: 0x6cbf9820, 0x33609: 0x6cbf9a20, 0x3360a: 0x6cbf9c20, 0x3360b: 0x6cbf9e20,\n\t0x3360c: 0x6cbfa020, 0x3360d: 0x6cbfa220, 0x3360e: 0x6cbfa420, 0x3360f: 0x6cbfa620,\n\t0x33610: 0x6cbfa820, 0x33611: 0x6cbfaa20, 0x33612: 0x6cbfac20, 0x33613: 0x6cbfae20,\n\t0x33614: 0x6cbfb020, 0x33615: 0x6cbfb220, 0x33616: 0x6cbfb420, 0x33617: 0x6cbfb620,\n\t0x33618: 0x6cbfb820, 0x33619: 0x6cbfba20, 0x3361a: 0x6cbfbc20, 0x3361b: 0x6cbfbe20,\n\t0x3361c: 0x6cbfc020, 0x3361d: 0x6cbfc220, 0x3361e: 0x6cbfc420, 0x3361f: 0x6cefb420,\n\t0x33620: 0x6cefb620, 0x33621: 0x6cefb820, 0x33622: 0x6cefba20, 0x33623: 0x6cefbc20,\n\t0x33624: 0x6cefbe20, 0x33625: 0x6cefc020, 0x33626: 0x6cefc220, 0x33627: 0x6cefc420,\n\t0x33628: 0x6cefc620, 0x33629: 0x6cefc820, 0x3362a: 0x6cefca20, 0x3362b: 0x6cefcc20,\n\t0x3362c: 0x6cefce20, 0x3362d: 0x6cefd020, 0x3362e: 0x6cefd220, 0x3362f: 0x6cefd420,\n\t0x33630: 0x6cefd620, 0x33631: 0x6cefd820, 0x33632: 0x6cefda20, 0x33633: 0x6cefdc20,\n\t0x33634: 0x6cefde20, 0x33635: 0x6cefe020, 0x33636: 0x6cefe220, 0x33637: 0x6cefe420,\n\t0x33638: 0x6cefe620, 0x33639: 0x6cefe820, 0x3363a: 0x6cefea20, 0x3363b: 0x6d1f5a20,\n\t0x3363c: 0x6d1f5c20, 0x3363d: 0x6d1f5e20, 0x3363e: 0x6d1f6020, 0x3363f: 0x6d1f6220,\n\t// Block 0xcd9, offset 0x33640\n\t0x33640: 0x6d1f6420, 0x33641: 0x6d1f6620, 0x33642: 0x6d1f6820, 0x33643: 0x6d1f6a20,\n\t0x33644: 0x6d1f6c20, 0x33645: 0x6d1f6e20, 0x33646: 0x6d1f7020, 0x33647: 0x6d1f7220,\n\t0x33648: 0x6d1f7420, 0x33649: 0x6d1f7620, 0x3364a: 0x6d1f7820, 0x3364b: 0x6d1f7a20,\n\t0x3364c: 0x6d1f7c20, 0x3364d: 0x6d1f7e20, 0x3364e: 0x6d1f8020, 0x3364f: 0x6d1f8220,\n\t0x33650: 0x6d1f8420, 0x33651: 0x6d1f8620, 0x33652: 0x6d1f8820, 0x33653: 0x6d1f8a20,\n\t0x33654: 0x6d1f8c20, 0x33655: 0x6d1f8e20, 0x33656: 0x6d1f9020, 0x33657: 0x6d1f9220,\n\t0x33658: 0x6d1f9420, 0x33659: 0x6d1f9620, 0x3365a: 0x6d1f9820, 0x3365b: 0x6d1f9a20,\n\t0x3365c: 0x6d1f9c20, 0x3365d: 0x6d1f9e20, 0x3365e: 0x6d1b3020, 0x3365f: 0x6d4cd820,\n\t0x33660: 0x6d4cda20, 0x33661: 0x6d4cdc20, 0x33662: 0x6d4cde20, 0x33663: 0x6d4ce020,\n\t0x33664: 0x6d4ce220, 0x33665: 0x6d4ce420, 0x33666: 0x6d4ce620, 0x33667: 0x6d4ce820,\n\t0x33668: 0x6d4cea20, 0x33669: 0x6d4cec20, 0x3366a: 0x6d4cee20, 0x3366b: 0x6d4cf020,\n\t0x3366c: 0x6d4cf220, 0x3366d: 0x6d4cf420, 0x3366e: 0x6d4cf620, 0x3366f: 0x6d4cf820,\n\t0x33670: 0x6d4cfa20, 0x33671: 0x6d4cfc20, 0x33672: 0x6d4cfe20, 0x33673: 0x6d4d0020,\n\t0x33674: 0x6d4d0220, 0x33675: 0x6d4d0420, 0x33676: 0x6d4d0620, 0x33677: 0x6d4d0820,\n\t0x33678: 0x6d4d0a20, 0x33679: 0x6d4d0c20, 0x3367a: 0x6d4d0e20, 0x3367b: 0x6d4d1020,\n\t0x3367c: 0x6d4d1220, 0x3367d: 0x6d4d1420, 0x3367e: 0x6d7a0220, 0x3367f: 0x6d7a0420,\n\t// Block 0xcda, offset 0x33680\n\t0x33680: 0x6d7a0620, 0x33681: 0x6d7a0820, 0x33682: 0x6d7a0a20, 0x33683: 0x6d7a0c20,\n\t0x33684: 0x6d7a0e20, 0x33685: 0x6d7a1020, 0x33686: 0x6d7a1220, 0x33687: 0x6d7a1420,\n\t0x33688: 0x6d7a1620, 0x33689: 0x6d7a1820, 0x3368a: 0x6d7a1a20, 0x3368b: 0x6d7a1c20,\n\t0x3368c: 0x6d7a1e20, 0x3368d: 0x6d7a2020, 0x3368e: 0x6d7a2220, 0x3368f: 0x6d7a2420,\n\t0x33690: 0x6d7a2620, 0x33691: 0x6da2a420, 0x33692: 0x6da2a620, 0x33693: 0x6da2a820,\n\t0x33694: 0x6da2aa20, 0x33695: 0x6da2ac20, 0x33696: 0x6da2ae20, 0x33697: 0x6da2b020,\n\t0x33698: 0x6da2b220, 0x33699: 0x6da2b420, 0x3369a: 0x6da2b620, 0x3369b: 0x6da2b820,\n\t0x3369c: 0x6da2ba20, 0x3369d: 0x6da2bc20, 0x3369e: 0x6dc49620, 0x3369f: 0x6dc49820,\n\t0x336a0: 0x6dc49a20, 0x336a1: 0x6dc49c20, 0x336a2: 0x6dc49e20, 0x336a3: 0x6dc4a020,\n\t0x336a4: 0x6dc4a220, 0x336a5: 0x6dc4a420, 0x336a6: 0x6dc4a620, 0x336a7: 0x6dc4a820,\n\t0x336a8: 0x6dc4aa20, 0x336a9: 0x6dc4ac20, 0x336aa: 0x6dc4ae20, 0x336ab: 0x6dc4b020,\n\t0x336ac: 0x6de1a020, 0x336ad: 0x6de1a220, 0x336ae: 0x6de1a420, 0x336af: 0x6de1a620,\n\t0x336b0: 0x6de1a820, 0x336b1: 0x6de1aa20, 0x336b2: 0x6de1ac20, 0x336b3: 0x6de1ae20,\n\t0x336b4: 0x6de1b020, 0x336b5: 0x6de1b220, 0x336b6: 0x6de1b420, 0x336b7: 0x6df99820,\n\t0x336b8: 0x6df99a20, 0x336b9: 0x6df99c20, 0x336ba: 0x6df99e20, 0x336bb: 0x6df9a020,\n\t0x336bc: 0x6e0d4a20, 0x336bd: 0x6e0d4c20, 0x336be: 0x6e0d4e20, 0x336bf: 0x6e0d5020,\n\t// Block 0xcdb, offset 0x336c0\n\t0x336c0: 0x6e0d5220, 0x336c1: 0x6e0d5420, 0x336c2: 0x6e0d5620, 0x336c3: 0x6e0d5820,\n\t0x336c4: 0x6e1cb820, 0x336c5: 0x6e1cba20, 0x336c6: 0x6e1cbc20, 0x336c7: 0x6e1cbe20,\n\t0x336c8: 0x6e1cc020, 0x336c9: 0x6e1cc220, 0x336ca: 0x6e1cc420, 0x336cb: 0x6e1cc620,\n\t0x336cc: 0x6e28b020, 0x336cd: 0x6e31e820, 0x336ce: 0x6e401e20, 0x336cf: 0x6e31ea20,\n\t0x336d0: 0x6e31ec20, 0x336d1: 0x6e386a20, 0x336d2: 0x6e428e20, 0x336d3: 0x6e386c20,\n\t0x336d4: 0x6e386e20, 0x336d5: 0x6e387020, 0x336d6: 0x6e3d1c20, 0x336d7: 0x6e3d1e20,\n\t0x336d8: 0x6e3d2020, 0x336d9: 0x6e402020, 0x336da: 0x6e402220, 0x336db: 0x6e442820,\n\t0x336dc: 0x6e46e420, 0x336dd: 0x6c03fa20, 0x336de: 0x6c0fe820, 0x336df: 0x6c304820,\n\t0x336e0: 0x6c304a20, 0x336e1: 0x6c304c20, 0x336e2: 0x6c304e20, 0x336e3: 0x6c305020,\n\t0x336e4: 0x6c305220, 0x336e5: 0x6c305420, 0x336e6: 0x6c305620, 0x336e7: 0x6c4a9420,\n\t0x336e8: 0x6c4a9620, 0x336e9: 0x6c4a9820, 0x336ea: 0x6c4a9a20, 0x336eb: 0x6c4a9c20,\n\t0x336ec: 0x6c4a9e20, 0x336ed: 0x6c6c7a20, 0x336ee: 0x6c938820, 0x336ef: 0x6c938a20,\n\t0x336f0: 0x6c938c20, 0x336f1: 0x6c938e20, 0x336f2: 0x6c939020, 0x336f3: 0x6cbfdc20,\n\t0x336f4: 0x6cbfde20, 0x336f5: 0x6cbfe020, 0x336f6: 0x6cbfe220, 0x336f7: 0x6cbfe420,\n\t0x336f8: 0x6cbfe620, 0x336f9: 0x6ceff820, 0x336fa: 0x6ceffa20, 0x336fb: 0x6ceffc20,\n\t0x336fc: 0x6ceffe20, 0x336fd: 0x6d1fae20, 0x336fe: 0x6d1fb020, 0x336ff: 0x6d1fb220,\n\t// Block 0xcdc, offset 0x33700\n\t0x33700: 0x6d1fb420, 0x33701: 0x6d1fb620, 0x33702: 0x6d1fb820, 0x33703: 0x6d4d2420,\n\t0x33704: 0x6d4d2620, 0x33705: 0x6d4d2820, 0x33706: 0x6d4d2a20, 0x33707: 0x6d4d2c20,\n\t0x33708: 0x6d4d2e20, 0x33709: 0x6d4d3020, 0x3370a: 0x6d7a3020, 0x3370b: 0x6d7a3220,\n\t0x3370c: 0x6d7a3420, 0x3370d: 0x6da2c020, 0x3370e: 0x6da2c220, 0x3370f: 0x6da2c420,\n\t0x33710: 0x6dc4b820, 0x33711: 0x6de1b620, 0x33712: 0x6df9a620, 0x33713: 0x6e0d5c20,\n\t0x33714: 0x6c01aa20, 0x33715: 0x6c040020, 0x33716: 0x6c040220, 0x33717: 0x6c083e20,\n\t0x33718: 0x6c084020, 0x33719: 0x6c0ff220, 0x3371a: 0x6c0ff420, 0x3371b: 0x6c0ff620,\n\t0x3371c: 0x6c0ff820, 0x3371d: 0x6c1cc420, 0x3371e: 0x6c1cc620, 0x3371f: 0x6c1cc820,\n\t0x33720: 0x6c1cca20, 0x33721: 0x6c1ccc20, 0x33722: 0x6c1cce20, 0x33723: 0x6c1cd020,\n\t0x33724: 0x6c1cd220, 0x33725: 0x6c305e20, 0x33726: 0x6c306020, 0x33727: 0x6c306220,\n\t0x33728: 0x6c306420, 0x33729: 0x6c306620, 0x3372a: 0x6c4aa620, 0x3372b: 0x6c4aa820,\n\t0x3372c: 0x6c4aaa20, 0x3372d: 0x6c4aac20, 0x3372e: 0x6c4aae20, 0x3372f: 0x6c4ab020,\n\t0x33730: 0x6c4ab220, 0x33731: 0x6c4ab420, 0x33732: 0x6c4ab620, 0x33733: 0x6c4ab820,\n\t0x33734: 0x6c6c7e20, 0x33735: 0x6c6c8020, 0x33736: 0x6c6c8220, 0x33737: 0x6c6c8420,\n\t0x33738: 0x6c6c8620, 0x33739: 0x6c6c8820, 0x3373a: 0x6c6c8a20, 0x3373b: 0x6c6c8c20,\n\t0x3373c: 0x6c6c8e20, 0x3373d: 0x6c939620, 0x3373e: 0x6c939820, 0x3373f: 0x6c939a20,\n\t// Block 0xcdd, offset 0x33740\n\t0x33740: 0x6c939c20, 0x33741: 0x6c939e20, 0x33742: 0x6c93a020, 0x33743: 0x6c93a220,\n\t0x33744: 0x6c93a420, 0x33745: 0x6c93a620, 0x33746: 0x6c93a820, 0x33747: 0x6c93aa20,\n\t0x33748: 0x6c93ac20, 0x33749: 0x6c93ae20, 0x3374a: 0x6c93b020, 0x3374b: 0x6c93b220,\n\t0x3374c: 0x6c93b420, 0x3374d: 0x6c93b620, 0x3374e: 0x6cbfee20, 0x3374f: 0x6cbff020,\n\t0x33750: 0x6cbff220, 0x33751: 0x6cbff420, 0x33752: 0x6cbff620, 0x33753: 0x6cbff820,\n\t0x33754: 0x6cbffa20, 0x33755: 0x6cbffc20, 0x33756: 0x6cbffe20, 0x33757: 0x6cc00020,\n\t0x33758: 0x6cf00620, 0x33759: 0x6cf00820, 0x3375a: 0x6cf00a20, 0x3375b: 0x6cf00c20,\n\t0x3375c: 0x6cf00e20, 0x3375d: 0x6cf01020, 0x3375e: 0x6d1fbe20, 0x3375f: 0x6d1fc020,\n\t0x33760: 0x6d1fc220, 0x33761: 0x6d1fc420, 0x33762: 0x6d1fc620, 0x33763: 0x6d1fc820,\n\t0x33764: 0x6d1fca20, 0x33765: 0x6d1fcc20, 0x33766: 0x6d4d3a20, 0x33767: 0x6d4d3c20,\n\t0x33768: 0x6d4d3e20, 0x33769: 0x6d4d4020, 0x3376a: 0x6d4d4220, 0x3376b: 0x6d4d4420,\n\t0x3376c: 0x6d4d4620, 0x3376d: 0x6d4d4820, 0x3376e: 0x6d4d4a20, 0x3376f: 0x6d4d4c20,\n\t0x33770: 0x6d7a3820, 0x33771: 0x6d7a3a20, 0x33772: 0x6d7a3c20, 0x33773: 0x6d7a3e20,\n\t0x33774: 0x6da2c820, 0x33775: 0x6da2ca20, 0x33776: 0x6da2cc20, 0x33777: 0x6dc4ba20,\n\t0x33778: 0x6dc4bc20, 0x33779: 0x6dc4be20, 0x3377a: 0x6dc4c020, 0x3377b: 0x6dc4c220,\n\t0x3377c: 0x6de1b820, 0x3377d: 0x6de1ba20, 0x3377e: 0x6de1bc20, 0x3377f: 0x6e0d5e20,\n\t// Block 0xcde, offset 0x33780\n\t0x33780: 0x6e462420, 0x33781: 0x6c01ae20, 0x33782: 0x6c01b020, 0x33783: 0x6c040820,\n\t0x33784: 0x6c084220, 0x33785: 0x6c084420, 0x33786: 0x6c084620, 0x33787: 0x6c084820,\n\t0x33788: 0x6c084a20, 0x33789: 0x6c084c20, 0x3378a: 0x6c084e20, 0x3378b: 0x6c100220,\n\t0x3378c: 0x6c100420, 0x3378d: 0x6c100620, 0x3378e: 0x6c100820, 0x3378f: 0x6c1ce220,\n\t0x33790: 0x6c1ce420, 0x33791: 0x6c1ce620, 0x33792: 0x6c1ce820, 0x33793: 0x6c1cea20,\n\t0x33794: 0x6c1cec20, 0x33795: 0x6c1cee20, 0x33796: 0x6c1cf020, 0x33797: 0x6c1cf220,\n\t0x33798: 0x6c1cf420, 0x33799: 0x6c1cf620, 0x3379a: 0x6c307020, 0x3379b: 0x6c307220,\n\t0x3379c: 0x6c307420, 0x3379d: 0x6c307620, 0x3379e: 0x6c307820, 0x3379f: 0x6c307a20,\n\t0x337a0: 0x6c307c20, 0x337a1: 0x6c307e20, 0x337a2: 0x6c4ac220, 0x337a3: 0x6c4ac420,\n\t0x337a4: 0x6c4ac620, 0x337a5: 0x6c5fca20, 0x337a6: 0x6c4ac820, 0x337a7: 0x6c4aca20,\n\t0x337a8: 0x6c6c9620, 0x337a9: 0x6c6c9820, 0x337aa: 0x6c6c9a20, 0x337ab: 0x6c6c9c20,\n\t0x337ac: 0x6c6c9e20, 0x337ad: 0x6c6ca020, 0x337ae: 0x6c6ca220, 0x337af: 0x6c6ca420,\n\t0x337b0: 0x6c6ca620, 0x337b1: 0x6c6ca820, 0x337b2: 0x6c6caa20, 0x337b3: 0x6c93c020,\n\t0x337b4: 0x6c93c220, 0x337b5: 0x6c93c420, 0x337b6: 0x6c93c620, 0x337b7: 0x6c93c820,\n\t0x337b8: 0x6c93ca20, 0x337b9: 0x6cc00a20, 0x337ba: 0x6cc00c20, 0x337bb: 0x6cc00e20,\n\t0x337bc: 0x6cc01020, 0x337bd: 0x6cc01220, 0x337be: 0x6cc01420, 0x337bf: 0x6cc01620,\n\t// Block 0xcdf, offset 0x337c0\n\t0x337c0: 0x6cc01820, 0x337c1: 0x6cc01a20, 0x337c2: 0x6cc01c20, 0x337c3: 0x6cf01c20,\n\t0x337c4: 0x6cf01e20, 0x337c5: 0x6cf02020, 0x337c6: 0x6cf02220, 0x337c7: 0x6cf02420,\n\t0x337c8: 0x6cf02620, 0x337c9: 0x6cf02820, 0x337ca: 0x6cf02a20, 0x337cb: 0x6d1fd020,\n\t0x337cc: 0x6d1fd220, 0x337cd: 0x6d1fd420, 0x337ce: 0x6d1fd620, 0x337cf: 0x6d1fd820,\n\t0x337d0: 0x6d4d5220, 0x337d1: 0x6d4d5420, 0x337d2: 0x6d4d5620, 0x337d3: 0x6d4d5820,\n\t0x337d4: 0x6d4d5a20, 0x337d5: 0x6d4d5c20, 0x337d6: 0x6d7a4220, 0x337d7: 0x6d7a4420,\n\t0x337d8: 0x6d7a4620, 0x337d9: 0x6d7a4820, 0x337da: 0x6d7a4a20, 0x337db: 0x6da2d620,\n\t0x337dc: 0x6da2d820, 0x337dd: 0x6e0d6020, 0x337de: 0x6e0d6220, 0x337df: 0x6e1cc820,\n\t0x337e0: 0x6e1cca20, 0x337e1: 0x6e387220, 0x337e2: 0x6e387420, 0x337e3: 0x6c01b420,\n\t0x337e4: 0x6c085620, 0x337e5: 0x6c085820, 0x337e6: 0x6c085a20, 0x337e7: 0x6c085c20,\n\t0x337e8: 0x6c085e20, 0x337e9: 0x6c101020, 0x337ea: 0x6c101220, 0x337eb: 0x6c101420,\n\t0x337ec: 0x6c101620, 0x337ed: 0x6c101820, 0x337ee: 0x6c101a20, 0x337ef: 0x6c101c20,\n\t0x337f0: 0x6c101e20, 0x337f1: 0x6c102020, 0x337f2: 0x6c102220, 0x337f3: 0x6c102420,\n\t0x337f4: 0x6c086020, 0x337f5: 0x6c1d0620, 0x337f6: 0x6c1d0820, 0x337f7: 0x6c1d0a20,\n\t0x337f8: 0x6c1d0c20, 0x337f9: 0x6c1d0e20, 0x337fa: 0x6c1d1020, 0x337fb: 0x6c1d1220,\n\t0x337fc: 0x6c1d1420, 0x337fd: 0x6c1d1620, 0x337fe: 0x6c309420, 0x337ff: 0x6c309620,\n\t// Block 0xce0, offset 0x33800\n\t0x33800: 0x6c309820, 0x33801: 0x6c309a20, 0x33802: 0x6c309c20, 0x33803: 0x6c309e20,\n\t0x33804: 0x6c30a020, 0x33805: 0x6c30a220, 0x33806: 0x6c30a420, 0x33807: 0x6c30a620,\n\t0x33808: 0x6c30a820, 0x33809: 0x6c30aa20, 0x3380a: 0x6c30ac20, 0x3380b: 0x6c30ae20,\n\t0x3380c: 0x6c4ae020, 0x3380d: 0x6c4ae220, 0x3380e: 0x6c4ae420, 0x3380f: 0x6c4ae620,\n\t0x33810: 0x6c4ae820, 0x33811: 0x6c4aea20, 0x33812: 0x6c4aec20, 0x33813: 0x6c4aee20,\n\t0x33814: 0x6c4af020, 0x33815: 0x6c4af220, 0x33816: 0x6c4af420, 0x33817: 0x6c4af620,\n\t0x33818: 0x6c4af820, 0x33819: 0x6c4afa20, 0x3381a: 0x6c4afc20, 0x3381b: 0x6c4afe20,\n\t0x3381c: 0x6c4b0020, 0x3381d: 0x6c4b0220, 0x3381e: 0x6c4b0420, 0x3381f: 0x6c4b0620,\n\t0x33820: 0x6c4b0820, 0x33821: 0x6c4b0a20, 0x33822: 0x6c6cc020, 0x33823: 0x6c6cc220,\n\t0x33824: 0x6c6cc420, 0x33825: 0x6c6cc620, 0x33826: 0x6c6cc820, 0x33827: 0x6c6cca20,\n\t0x33828: 0x6c6ccc20, 0x33829: 0x6c6cce20, 0x3382a: 0x6c6cd020, 0x3382b: 0x6c6cd220,\n\t0x3382c: 0x6c6cd420, 0x3382d: 0x6c6cd620, 0x3382e: 0x6c6cd820, 0x3382f: 0x6c6cda20,\n\t0x33830: 0x6c6cdc20, 0x33831: 0x6c6cde20, 0x33832: 0x6c6ce020, 0x33833: 0x6c6ce220,\n\t0x33834: 0x6c6ce420, 0x33835: 0x6c6ce620, 0x33836: 0x6c6ce820, 0x33837: 0x6c6cea20,\n\t0x33838: 0x6c6cec20, 0x33839: 0x6c6cee20, 0x3383a: 0x6c93da20, 0x3383b: 0x6c93dc20,\n\t0x3383c: 0x6c93de20, 0x3383d: 0x6c93e020, 0x3383e: 0x6c93e220, 0x3383f: 0x6c93e420,\n\t// Block 0xce1, offset 0x33840\n\t0x33840: 0x6c93e620, 0x33841: 0x6c93e820, 0x33842: 0x6c93ea20, 0x33843: 0x6c93ec20,\n\t0x33844: 0x6c93ee20, 0x33845: 0x6c93f020, 0x33846: 0x6c93f220, 0x33847: 0x6c93f420,\n\t0x33848: 0x6c93f620, 0x33849: 0x6c93f820, 0x3384a: 0x6c93fa20, 0x3384b: 0x6c93fc20,\n\t0x3384c: 0x6c93fe20, 0x3384d: 0x6c940020, 0x3384e: 0x6c940220, 0x3384f: 0x6c940420,\n\t0x33850: 0x6c940620, 0x33851: 0x6c940820, 0x33852: 0x6c940a20, 0x33853: 0x6c940c20,\n\t0x33854: 0x6cc02a20, 0x33855: 0x6cc02c20, 0x33856: 0x6cc02e20, 0x33857: 0x6cc03020,\n\t0x33858: 0x6cc03220, 0x33859: 0x6cc03420, 0x3385a: 0x6cc03620, 0x3385b: 0x6cc03820,\n\t0x3385c: 0x6cc03a20, 0x3385d: 0x6cc03c20, 0x3385e: 0x6cc03e20, 0x3385f: 0x6cc04020,\n\t0x33860: 0x6cc04220, 0x33861: 0x6cc04420, 0x33862: 0x6cc04620, 0x33863: 0x6cc04820,\n\t0x33864: 0x6cc04a20, 0x33865: 0x6cc04c20, 0x33866: 0x6cc04e20, 0x33867: 0x6cc05020,\n\t0x33868: 0x6cc05220, 0x33869: 0x6cc05420, 0x3386a: 0x6cc05620, 0x3386b: 0x6cc05820,\n\t0x3386c: 0x6cf02e20, 0x3386d: 0x6cf03020, 0x3386e: 0x6cf03220, 0x3386f: 0x6cf03420,\n\t0x33870: 0x6cf03620, 0x33871: 0x6cf03820, 0x33872: 0x6cf03a20, 0x33873: 0x6cf03c20,\n\t0x33874: 0x6cf03e20, 0x33875: 0x6cf04020, 0x33876: 0x6cf04220, 0x33877: 0x6cf04420,\n\t0x33878: 0x6cf04620, 0x33879: 0x6cf04820, 0x3387a: 0x6cf04a20, 0x3387b: 0x6cf04c20,\n\t0x3387c: 0x6cf04e20, 0x3387d: 0x6cf05020, 0x3387e: 0x6cf05220, 0x3387f: 0x6cf05420,\n\t// Block 0xce2, offset 0x33880\n\t0x33880: 0x6cf05620, 0x33881: 0x6cf05820, 0x33882: 0x6cf05a20, 0x33883: 0x6cf05c20,\n\t0x33884: 0x6d1fe420, 0x33885: 0x6d1fe620, 0x33886: 0x6d1fe820, 0x33887: 0x6d1fea20,\n\t0x33888: 0x6d1fec20, 0x33889: 0x6d1fee20, 0x3388a: 0x6d1ff020, 0x3388b: 0x6d1ff220,\n\t0x3388c: 0x6d1ff420, 0x3388d: 0x6d1ff620, 0x3388e: 0x6d1ff820, 0x3388f: 0x6d1ffa20,\n\t0x33890: 0x6d4d6a20, 0x33891: 0x6d4d6c20, 0x33892: 0x6d4d6e20, 0x33893: 0x6d4d7020,\n\t0x33894: 0x6d4d7220, 0x33895: 0x6d4d7420, 0x33896: 0x6d4d7620, 0x33897: 0x6d4d7820,\n\t0x33898: 0x6d4d7a20, 0x33899: 0x6d4d7c20, 0x3389a: 0x6d4d7e20, 0x3389b: 0x6d4d8020,\n\t0x3389c: 0x6d4d8220, 0x3389d: 0x6d4d8420, 0x3389e: 0x6d4d8620, 0x3389f: 0x6d7a4c20,\n\t0x338a0: 0x6d7a4e20, 0x338a1: 0x6d7a5020, 0x338a2: 0x6d7a5220, 0x338a3: 0x6d7a5420,\n\t0x338a4: 0x6d7a5620, 0x338a5: 0x6d7a5820, 0x338a6: 0x6d7a5a20, 0x338a7: 0x6d7a5c20,\n\t0x338a8: 0x6da2dc20, 0x338a9: 0x6da2de20, 0x338aa: 0x6dc4ca20, 0x338ab: 0x6dc4cc20,\n\t0x338ac: 0x6de1c220, 0x338ad: 0x6de1c420, 0x338ae: 0x6de1c620, 0x338af: 0x6de1c820,\n\t0x338b0: 0x6de1ca20, 0x338b1: 0x6df9a820, 0x338b2: 0x6df9aa20, 0x338b3: 0x6df9ac20,\n\t0x338b4: 0x6df9ae20, 0x338b5: 0x6e0d6620, 0x338b6: 0x6e0d6820, 0x338b7: 0x6e0d6a20,\n\t0x338b8: 0x6e1ccc20, 0x338b9: 0x6e1cce20, 0x338ba: 0x6e1cd020, 0x338bb: 0x6e31f220,\n\t0x338bc: 0x6e387620, 0x338bd: 0x6e387820, 0x338be: 0x6c01b820, 0x338bf: 0x6c086220,\n\t// Block 0xce3, offset 0x338c0\n\t0x338c0: 0x6c102a20, 0x338c1: 0x6c102c20, 0x338c2: 0x6c102e20, 0x338c3: 0x6c103020,\n\t0x338c4: 0x6c103220, 0x338c5: 0x6c103420, 0x338c6: 0x6c1d2220, 0x338c7: 0x6c1d2420,\n\t0x338c8: 0x6c1d2620, 0x338c9: 0x6c1d2820, 0x338ca: 0x6c1d2a20, 0x338cb: 0x6c30b220,\n\t0x338cc: 0x6c30b420, 0x338cd: 0x6c30b620, 0x338ce: 0x6c4b1220, 0x338cf: 0x6c4b1420,\n\t0x338d0: 0x6c4b1620, 0x338d1: 0x6c4b1820, 0x338d2: 0x6c4b1a20, 0x338d3: 0x6c4b1c20,\n\t0x338d4: 0x6c4b1e20, 0x338d5: 0x6c6cf420, 0x338d6: 0x6c6cf620, 0x338d7: 0x6c6cf820,\n\t0x338d8: 0x6c6cfa20, 0x338d9: 0x6c6cfc20, 0x338da: 0x6c6cfe20, 0x338db: 0x6c941220,\n\t0x338dc: 0x6c941420, 0x338dd: 0x6cc06220, 0x338de: 0x6cc06420, 0x338df: 0x6cc06620,\n\t0x338e0: 0x6cc06820, 0x338e1: 0x6cc06a20, 0x338e2: 0x6cc06c20, 0x338e3: 0x6cc06e20,\n\t0x338e4: 0x6cf06420, 0x338e5: 0x6cf06620, 0x338e6: 0x6d4d8c20, 0x338e7: 0x6d4d8e20,\n\t0x338e8: 0x6d4d9020, 0x338e9: 0x6d4d9220, 0x338ea: 0x6dc4ce20, 0x338eb: 0x6e0d6c20,\n\t0x338ec: 0x6e1cd420, 0x338ed: 0x6c041420, 0x338ee: 0x6c041620, 0x338ef: 0x6c041820,\n\t0x338f0: 0x6c087620, 0x338f1: 0x6c087820, 0x338f2: 0x6c087a20, 0x338f3: 0x6c087c20,\n\t0x338f4: 0x6c087e20, 0x338f5: 0x6c088020, 0x338f6: 0x6c088220, 0x338f7: 0x6c088420,\n\t0x338f8: 0x6c088620, 0x338f9: 0x6c088820, 0x338fa: 0x6c088a20, 0x338fb: 0x6c088c20,\n\t0x338fc: 0x6c088e20, 0x338fd: 0x6c089020, 0x338fe: 0x6c105e20, 0x338ff: 0x6c106020,\n\t// Block 0xce4, offset 0x33900\n\t0x33900: 0x6c106220, 0x33901: 0x6c106420, 0x33902: 0x6c106620, 0x33903: 0x6c106820,\n\t0x33904: 0x6c106a20, 0x33905: 0x6c106c20, 0x33906: 0x6c106e20, 0x33907: 0x6c107020,\n\t0x33908: 0x6c107220, 0x33909: 0x6c107420, 0x3390a: 0x6c107620, 0x3390b: 0x6c107820,\n\t0x3390c: 0x6c107a20, 0x3390d: 0x6c107c20, 0x3390e: 0x6c107e20, 0x3390f: 0x6c108020,\n\t0x33910: 0x6c108220, 0x33911: 0x6c108420, 0x33912: 0x6c108620, 0x33913: 0x6c1d6c20,\n\t0x33914: 0x6c1d6e20, 0x33915: 0x6c1d7020, 0x33916: 0x6c1d7220, 0x33917: 0x6c1d7420,\n\t0x33918: 0x6c1d7620, 0x33919: 0x6c1d7820, 0x3391a: 0x6c1d7a20, 0x3391b: 0x6c1d7c20,\n\t0x3391c: 0x6c1d7e20, 0x3391d: 0x6c1d8020, 0x3391e: 0x6c1d8220, 0x3391f: 0x6c1d8420,\n\t0x33920: 0x6c1d8620, 0x33921: 0x6c1d8820, 0x33922: 0x6c1d8a20, 0x33923: 0x6c1d8c20,\n\t0x33924: 0x6c1d8e20, 0x33925: 0x6c1d9020, 0x33926: 0x6c1d9220, 0x33927: 0x6c1d9420,\n\t0x33928: 0x6c1d9620, 0x33929: 0x6c1d9820, 0x3392a: 0x6c1d9a20, 0x3392b: 0x6c1d9c20,\n\t0x3392c: 0x6c1d9e20, 0x3392d: 0x6c1da020, 0x3392e: 0x6c1da220, 0x3392f: 0x6c1da420,\n\t0x33930: 0x6c1da620, 0x33931: 0x6c1da820, 0x33932: 0x6c1daa20, 0x33933: 0x6c1dac20,\n\t0x33934: 0x6c1dae20, 0x33935: 0x6c1db020, 0x33936: 0x6c1db220, 0x33937: 0x6c1db420,\n\t0x33938: 0x6c1db620, 0x33939: 0x6c1db820, 0x3393a: 0x6c1dba20, 0x3393b: 0x6c1dbc20,\n\t0x3393c: 0x6c1dbe20, 0x3393d: 0x6c1dc020, 0x3393e: 0x6c1dc220, 0x3393f: 0x6c1dc420,\n\t// Block 0xce5, offset 0x33940\n\t0x33940: 0x6c1dc620, 0x33941: 0x6c1dc820, 0x33942: 0x6c1dca20, 0x33943: 0x6c312020,\n\t0x33944: 0x6c312220, 0x33945: 0x6c312420, 0x33946: 0x6c312620, 0x33947: 0x6c312820,\n\t0x33948: 0x6c312a20, 0x33949: 0x6c312c20, 0x3394a: 0x6c312e20, 0x3394b: 0x6c313020,\n\t0x3394c: 0x6c313220, 0x3394d: 0x6c313420, 0x3394e: 0x6c313620, 0x3394f: 0x6c313820,\n\t0x33950: 0x6c313a20, 0x33951: 0x6c313c20, 0x33952: 0x6c313e20, 0x33953: 0x6c314020,\n\t0x33954: 0x6c314220, 0x33955: 0x6c314420, 0x33956: 0x6c314620, 0x33957: 0x6c314820,\n\t0x33958: 0x6c314a20, 0x33959: 0x6c314c20, 0x3395a: 0x6c314e20, 0x3395b: 0x6c315020,\n\t0x3395c: 0x6c315220, 0x3395d: 0x6c315420, 0x3395e: 0x6c315620, 0x3395f: 0x6c315820,\n\t0x33960: 0x6c315a20, 0x33961: 0x6c315c20, 0x33962: 0x6c315e20, 0x33963: 0x6c316020,\n\t0x33964: 0x6c3bdc20, 0x33965: 0x6c316220, 0x33966: 0x6c316420, 0x33967: 0x6c316620,\n\t0x33968: 0x6c316820, 0x33969: 0x6c316a20, 0x3396a: 0x6c316c20, 0x3396b: 0x6c4b6a20,\n\t0x3396c: 0x6c4b6c20, 0x3396d: 0x6c4b6e20, 0x3396e: 0x6c4b7020, 0x3396f: 0x6c4b7220,\n\t0x33970: 0x6c4b7420, 0x33971: 0x6c4b7620, 0x33972: 0x6c4b7820, 0x33973: 0x6c4b7a20,\n\t0x33974: 0x6c4b7c20, 0x33975: 0x6c4b7e20, 0x33976: 0x6c4b8020, 0x33977: 0x6c4b8220,\n\t0x33978: 0x6c4b8420, 0x33979: 0x6c4b8620, 0x3397a: 0x6c4b8820, 0x3397b: 0x6c4b8a20,\n\t0x3397c: 0x6c4b8c20, 0x3397d: 0x6c4b8e20, 0x3397e: 0x6c4b9020, 0x3397f: 0x6c4b9220,\n\t// Block 0xce6, offset 0x33980\n\t0x33980: 0x6c4b9420, 0x33981: 0x6c4b9620, 0x33982: 0x6c4b9820, 0x33983: 0x6c4b9a20,\n\t0x33984: 0x6c4b9c20, 0x33985: 0x6c4b9e20, 0x33986: 0x6c4ba020, 0x33987: 0x6c4ba220,\n\t0x33988: 0x6c4ba420, 0x33989: 0x6c4ba620, 0x3398a: 0x6c4ba820, 0x3398b: 0x6c4baa20,\n\t0x3398c: 0x6c4bac20, 0x3398d: 0x6c4bae20, 0x3398e: 0x6c4bb020, 0x3398f: 0x6c4bb220,\n\t0x33990: 0x6c4bb420, 0x33991: 0x6c4bb620, 0x33992: 0x6c4bb820, 0x33993: 0x6c4bba20,\n\t0x33994: 0x6c4bbc20, 0x33995: 0x6c6d5a20, 0x33996: 0x6c6d5c20, 0x33997: 0x6c6d5e20,\n\t0x33998: 0x6c6d6020, 0x33999: 0x6c6d6220, 0x3399a: 0x6c6d6420, 0x3399b: 0x6c6d6620,\n\t0x3399c: 0x6c6d6820, 0x3399d: 0x6c6d6a20, 0x3399e: 0x6c6d6c20, 0x3399f: 0x6c6d6e20,\n\t0x339a0: 0x6c6d7020, 0x339a1: 0x6c6d7220, 0x339a2: 0x6c6d7420, 0x339a3: 0x6c6d7620,\n\t0x339a4: 0x6c6d7820, 0x339a5: 0x6c6d7a20, 0x339a6: 0x6c6d7c20, 0x339a7: 0x6c6d7e20,\n\t0x339a8: 0x6c6d8020, 0x339a9: 0x6c6d8220, 0x339aa: 0x6c6d8420, 0x339ab: 0x6c6d8620,\n\t0x339ac: 0x6c6d8820, 0x339ad: 0x6c6d8a20, 0x339ae: 0x6c6d8c20, 0x339af: 0x6c6d8e20,\n\t0x339b0: 0x6c6d9020, 0x339b1: 0x6c6d9220, 0x339b2: 0x6c6d9420, 0x339b3: 0x6c6d9620,\n\t0x339b4: 0x6c6d9820, 0x339b5: 0x6c6d9a20, 0x339b6: 0x6c6d9c20, 0x339b7: 0x6c6d9e20,\n\t0x339b8: 0x6c6da020, 0x339b9: 0x6c6da220, 0x339ba: 0x6c6da420, 0x339bb: 0x6c6da620,\n\t0x339bc: 0x6c6da820, 0x339bd: 0x6c6daa20, 0x339be: 0x6c6dac20, 0x339bf: 0x6c6dae20,\n\t// Block 0xce7, offset 0x339c0\n\t0x339c0: 0x6c6db020, 0x339c1: 0x6c6db220, 0x339c2: 0x6c6db420, 0x339c3: 0x6c6db620,\n\t0x339c4: 0x6c6db820, 0x339c5: 0x6c6dba20, 0x339c6: 0x6c6dbc20, 0x339c7: 0x6c6dbe20,\n\t0x339c8: 0x6c6dc020, 0x339c9: 0x6c6dc220, 0x339ca: 0x6c6dc420, 0x339cb: 0x6c6dc620,\n\t0x339cc: 0x6c6dc820, 0x339cd: 0x6c6dca20, 0x339ce: 0x6c6dcc20, 0x339cf: 0x6c6dce20,\n\t0x339d0: 0x6c6dd020, 0x339d1: 0x6c948a20, 0x339d2: 0x6c948c20, 0x339d3: 0x6c948e20,\n\t0x339d4: 0x6c949020, 0x339d5: 0x6c949220, 0x339d6: 0x6c949420, 0x339d7: 0x6c949620,\n\t0x339d8: 0x6c949820, 0x339d9: 0x6c949a20, 0x339da: 0x6c949c20, 0x339db: 0x6c949e20,\n\t0x339dc: 0x6c94a020, 0x339dd: 0x6c94a220, 0x339de: 0x6c94a420, 0x339df: 0x6c94a620,\n\t0x339e0: 0x6c94a820, 0x339e1: 0x6c94aa20, 0x339e2: 0x6c94ac20, 0x339e3: 0x6c94ae20,\n\t0x339e4: 0x6c94b020, 0x339e5: 0x6c94b220, 0x339e6: 0x6c94b420, 0x339e7: 0x6c94b620,\n\t0x339e8: 0x6c94b820, 0x339e9: 0x6c94ba20, 0x339ea: 0x6c94bc20, 0x339eb: 0x6c94be20,\n\t0x339ec: 0x6c94c020, 0x339ed: 0x6c94c220, 0x339ee: 0x6c94c420, 0x339ef: 0x6c94c620,\n\t0x339f0: 0x6c94c820, 0x339f1: 0x6c94ca20, 0x339f2: 0x6c94cc20, 0x339f3: 0x6c94ce20,\n\t0x339f4: 0x6c94d020, 0x339f5: 0x6c94d220, 0x339f6: 0x6c94d420, 0x339f7: 0x6c94d620,\n\t0x339f8: 0x6c94d820, 0x339f9: 0x6c94da20, 0x339fa: 0x6c94dc20, 0x339fb: 0x6c94de20,\n\t0x339fc: 0x6c94e020, 0x339fd: 0x6c94e220, 0x339fe: 0x6c94e420, 0x339ff: 0x6c94e620,\n\t// Block 0xce8, offset 0x33a00\n\t0x33a00: 0x6c94e820, 0x33a01: 0x6c94ea20, 0x33a02: 0x6c94ec20, 0x33a03: 0x6c94ee20,\n\t0x33a04: 0x6c94f020, 0x33a05: 0x6c94f220, 0x33a06: 0x6c94f420, 0x33a07: 0x6c94f620,\n\t0x33a08: 0x6c94f820, 0x33a09: 0x6c94fa20, 0x33a0a: 0x6c94fc20, 0x33a0b: 0x6c94fe20,\n\t0x33a0c: 0x6c950020, 0x33a0d: 0x6c950220, 0x33a0e: 0x6c950420, 0x33a0f: 0x6c950620,\n\t0x33a10: 0x6c950820, 0x33a11: 0x6c950a20, 0x33a12: 0x6c950c20, 0x33a13: 0x6c950e20,\n\t0x33a14: 0x6c951020, 0x33a15: 0x6c951220, 0x33a16: 0x6c951420, 0x33a17: 0x6c951620,\n\t0x33a18: 0x6c951820, 0x33a19: 0x6c951a20, 0x33a1a: 0x6c951c20, 0x33a1b: 0x6c951e20,\n\t0x33a1c: 0x6c952020, 0x33a1d: 0x6c952220, 0x33a1e: 0x6c952420, 0x33a1f: 0x6c952620,\n\t0x33a20: 0x6c952820, 0x33a21: 0x6c952a20, 0x33a22: 0x6c952c20, 0x33a23: 0x6c952e20,\n\t0x33a24: 0x6c953020, 0x33a25: 0x6c953220, 0x33a26: 0x6c953420, 0x33a27: 0x6c953620,\n\t0x33a28: 0x6c953820, 0x33a29: 0x6c953a20, 0x33a2a: 0x6cc0de20, 0x33a2b: 0x6cc0e020,\n\t0x33a2c: 0x6cc0e220, 0x33a2d: 0x6cc0e420, 0x33a2e: 0x6cc0e620, 0x33a2f: 0x6cc0e820,\n\t0x33a30: 0x6cc0ea20, 0x33a31: 0x6cc0ec20, 0x33a32: 0x6cc0ee20, 0x33a33: 0x6cc0f020,\n\t0x33a34: 0x6cc0f220, 0x33a35: 0x6cc0f420, 0x33a36: 0x6cc0f620, 0x33a37: 0x6cc0f820,\n\t0x33a38: 0x6cc0fa20, 0x33a39: 0x6cc0fc20, 0x33a3a: 0x6cc0fe20, 0x33a3b: 0x6cc10020,\n\t0x33a3c: 0x6cc10220, 0x33a3d: 0x6cc10420, 0x33a3e: 0x6cc10620, 0x33a3f: 0x6cc10820,\n\t// Block 0xce9, offset 0x33a40\n\t0x33a40: 0x6cc10a20, 0x33a41: 0x6cc10c20, 0x33a42: 0x6cc10e20, 0x33a43: 0x6cc11020,\n\t0x33a44: 0x6cc11220, 0x33a45: 0x6cc11420, 0x33a46: 0x6cc11620, 0x33a47: 0x6cc11820,\n\t0x33a48: 0x6cc11a20, 0x33a49: 0x6cc11c20, 0x33a4a: 0x6cc11e20, 0x33a4b: 0x6cc12020,\n\t0x33a4c: 0x6cc12220, 0x33a4d: 0x6cc12420, 0x33a4e: 0x6cc12620, 0x33a4f: 0x6cc12820,\n\t0x33a50: 0x6cc12a20, 0x33a51: 0x6cc12c20, 0x33a52: 0x6cc12e20, 0x33a53: 0x6cc13020,\n\t0x33a54: 0x6cc13220, 0x33a55: 0x6cc13420, 0x33a56: 0x6cc13620, 0x33a57: 0x6cc13820,\n\t0x33a58: 0x6cc13a20, 0x33a59: 0x6cc13c20, 0x33a5a: 0x6cc13e20, 0x33a5b: 0x6cc14020,\n\t0x33a5c: 0x6cc14220, 0x33a5d: 0x6cc14420, 0x33a5e: 0x6cc14620, 0x33a5f: 0x6cc14820,\n\t0x33a60: 0x6cc14a20, 0x33a61: 0x6cc14c20, 0x33a62: 0x6cc14e20, 0x33a63: 0x6cc15020,\n\t0x33a64: 0x6cc15220, 0x33a65: 0x6cc15420, 0x33a66: 0x6cc15620, 0x33a67: 0x6cc15820,\n\t0x33a68: 0x6cc15a20, 0x33a69: 0x6cc15c20, 0x33a6a: 0x6cf0ac20, 0x33a6b: 0x6cf0ae20,\n\t0x33a6c: 0x6cf0b020, 0x33a6d: 0x6cf0b220, 0x33a6e: 0x6cf0b420, 0x33a6f: 0x6cf0b620,\n\t0x33a70: 0x6cf0b820, 0x33a71: 0x6cf0ba20, 0x33a72: 0x6cf0bc20, 0x33a73: 0x6cf0be20,\n\t0x33a74: 0x6cf0c020, 0x33a75: 0x6cf0c220, 0x33a76: 0x6cf0c420, 0x33a77: 0x6cf0c620,\n\t0x33a78: 0x6cf0c820, 0x33a79: 0x6cf0ca20, 0x33a7a: 0x6cf0cc20, 0x33a7b: 0x6cf0ce20,\n\t0x33a7c: 0x6cf0d020, 0x33a7d: 0x6cf0d220, 0x33a7e: 0x6cf0d420, 0x33a7f: 0x6cf0d620,\n\t// Block 0xcea, offset 0x33a80\n\t0x33a80: 0x6cf0d820, 0x33a81: 0x6cf0da20, 0x33a82: 0x6cf0dc20, 0x33a83: 0x6cf0de20,\n\t0x33a84: 0x6cf0e020, 0x33a85: 0x6cf0e220, 0x33a86: 0x6cf0e420, 0x33a87: 0x6cf0e620,\n\t0x33a88: 0x6cf0e820, 0x33a89: 0x6cf0ea20, 0x33a8a: 0x6cf0ec20, 0x33a8b: 0x6cf0ee20,\n\t0x33a8c: 0x6cf0f020, 0x33a8d: 0x6cf0f220, 0x33a8e: 0x6cf0f420, 0x33a8f: 0x6cf0f620,\n\t0x33a90: 0x6cf0f820, 0x33a91: 0x6cf0fa20, 0x33a92: 0x6cf0fc20, 0x33a93: 0x6cf0fe20,\n\t0x33a94: 0x6cf10020, 0x33a95: 0x6cf10220, 0x33a96: 0x6cf10420, 0x33a97: 0x6cf10620,\n\t0x33a98: 0x6d204820, 0x33a99: 0x6d204a20, 0x33a9a: 0x6d204c20, 0x33a9b: 0x6d204e20,\n\t0x33a9c: 0x6d205020, 0x33a9d: 0x6d205220, 0x33a9e: 0x6d205420, 0x33a9f: 0x6d205620,\n\t0x33aa0: 0x6d205820, 0x33aa1: 0x6d205a20, 0x33aa2: 0x6d205c20, 0x33aa3: 0x6d205e20,\n\t0x33aa4: 0x6d206020, 0x33aa5: 0x6d206220, 0x33aa6: 0x6d206420, 0x33aa7: 0x6d206620,\n\t0x33aa8: 0x6d206820, 0x33aa9: 0x6d206a20, 0x33aaa: 0x6d206c20, 0x33aab: 0x6d206e20,\n\t0x33aac: 0x6d207020, 0x33aad: 0x6d207220, 0x33aae: 0x6d207420, 0x33aaf: 0x6d207620,\n\t0x33ab0: 0x6d207820, 0x33ab1: 0x6d207a20, 0x33ab2: 0x6d207c20, 0x33ab3: 0x6d207e20,\n\t0x33ab4: 0x6d208020, 0x33ab5: 0x6d208220, 0x33ab6: 0x6d208420, 0x33ab7: 0x6d208620,\n\t0x33ab8: 0x6d208820, 0x33ab9: 0x6d208a20, 0x33aba: 0x6d208c20, 0x33abb: 0x6d208e20,\n\t0x33abc: 0x6d209020, 0x33abd: 0x6d209220, 0x33abe: 0x6d209420, 0x33abf: 0x6d209620,\n\t// Block 0xceb, offset 0x33ac0\n\t0x33ac0: 0x6d209820, 0x33ac1: 0x6d209a20, 0x33ac2: 0x6d209c20, 0x33ac3: 0x6d209e20,\n\t0x33ac4: 0x6d20a020, 0x33ac5: 0x6d20a220, 0x33ac6: 0x6d20a420, 0x33ac7: 0x6d20a620,\n\t0x33ac8: 0x6d20a820, 0x33ac9: 0x6d20aa20, 0x33aca: 0x6d4dda20, 0x33acb: 0x6d4ddc20,\n\t0x33acc: 0x6d4dde20, 0x33acd: 0x6d4de020, 0x33ace: 0x6d4de220, 0x33acf: 0x6d4de420,\n\t0x33ad0: 0x6d4de620, 0x33ad1: 0x6d4de820, 0x33ad2: 0x6d4dea20, 0x33ad3: 0x6d4dec20,\n\t0x33ad4: 0x6d4dee20, 0x33ad5: 0x6d4df020, 0x33ad6: 0x6d4df220, 0x33ad7: 0x6d4df420,\n\t0x33ad8: 0x6d4df620, 0x33ad9: 0x6d4df820, 0x33ada: 0x6d4dfa20, 0x33adb: 0x6d4dfc20,\n\t0x33adc: 0x6d4dfe20, 0x33add: 0x6d4e0020, 0x33ade: 0x6d4e0220, 0x33adf: 0x6d4e0420,\n\t0x33ae0: 0x6d4e0620, 0x33ae1: 0x6d4e0820, 0x33ae2: 0x6d4e0a20, 0x33ae3: 0x6d4e0c20,\n\t0x33ae4: 0x6d4e0e20, 0x33ae5: 0x6d4e1020, 0x33ae6: 0x6d4e1220, 0x33ae7: 0x6d4e1420,\n\t0x33ae8: 0x6d4e1620, 0x33ae9: 0x6d4e1820, 0x33aea: 0x6d4e1a20, 0x33aeb: 0x6d4e1c20,\n\t0x33aec: 0x6d4e1e20, 0x33aed: 0x6d4e2020, 0x33aee: 0x6d4e2220, 0x33aef: 0x6d4e2420,\n\t0x33af0: 0x6d4e2620, 0x33af1: 0x6d4e2820, 0x33af2: 0x6d4e2a20, 0x33af3: 0x6d4e2c20,\n\t0x33af4: 0x6d4e2e20, 0x33af5: 0x6d4e3020, 0x33af6: 0x6d4e3220, 0x33af7: 0x6d4e3420,\n\t0x33af8: 0x6d4e3620, 0x33af9: 0x6d4e3820, 0x33afa: 0x6d4e3a20, 0x33afb: 0x6d4e3c20,\n\t0x33afc: 0x6d4e3e20, 0x33afd: 0x6d7a9020, 0x33afe: 0x6d7a9220, 0x33aff: 0x6d7a9420,\n\t// Block 0xcec, offset 0x33b00\n\t0x33b00: 0x6d7a9620, 0x33b01: 0x6d7a9820, 0x33b02: 0x6d7a9a20, 0x33b03: 0x6d7a9c20,\n\t0x33b04: 0x6d7a9e20, 0x33b05: 0x6d7aa020, 0x33b06: 0x6d7aa220, 0x33b07: 0x6d7aa420,\n\t0x33b08: 0x6d7aa620, 0x33b09: 0x6da2fc20, 0x33b0a: 0x6d7aa820, 0x33b0b: 0x6d7aaa20,\n\t0x33b0c: 0x6d7aac20, 0x33b0d: 0x6d7aae20, 0x33b0e: 0x6d7ab020, 0x33b0f: 0x6d7ab220,\n\t0x33b10: 0x6d7ab420, 0x33b11: 0x6d7ab620, 0x33b12: 0x6d7ab820, 0x33b13: 0x6d7aba20,\n\t0x33b14: 0x6d7abc20, 0x33b15: 0x6d7abe20, 0x33b16: 0x6d7ac020, 0x33b17: 0x6d7ac220,\n\t0x33b18: 0x6d7ac420, 0x33b19: 0x6d7ac620, 0x33b1a: 0x6d7ac820, 0x33b1b: 0x6d7aca20,\n\t0x33b1c: 0x6da2fe20, 0x33b1d: 0x6da30020, 0x33b1e: 0x6da30220, 0x33b1f: 0x6da30420,\n\t0x33b20: 0x6da30620, 0x33b21: 0x6da30820, 0x33b22: 0x6da30a20, 0x33b23: 0x6da30c20,\n\t0x33b24: 0x6da30e20, 0x33b25: 0x6da31020, 0x33b26: 0x6da31220, 0x33b27: 0x6da31420,\n\t0x33b28: 0x6da31620, 0x33b29: 0x6da31820, 0x33b2a: 0x6da31a20, 0x33b2b: 0x6da31c20,\n\t0x33b2c: 0x6da31e20, 0x33b2d: 0x6da32020, 0x33b2e: 0x6da32220, 0x33b2f: 0x6da32420,\n\t0x33b30: 0x6da32620, 0x33b31: 0x6da32820, 0x33b32: 0x6da32a20, 0x33b33: 0x6da32c20,\n\t0x33b34: 0x6da32e20, 0x33b35: 0x6da33020, 0x33b36: 0x6da33220, 0x33b37: 0x6da33420,\n\t0x33b38: 0x6da33620, 0x33b39: 0x6da33820, 0x33b3a: 0x6da33a20, 0x33b3b: 0x6da33c20,\n\t0x33b3c: 0x6da33e20, 0x33b3d: 0x6da34020, 0x33b3e: 0x6da34220, 0x33b3f: 0x6da34420,\n\t// Block 0xced, offset 0x33b40\n\t0x33b40: 0x6da34620, 0x33b41: 0x6da34820, 0x33b42: 0x6dc4dc20, 0x33b43: 0x6dc4de20,\n\t0x33b44: 0x6dc4e020, 0x33b45: 0x6dc4e220, 0x33b46: 0x6dc4e420, 0x33b47: 0x6dc4e620,\n\t0x33b48: 0x6dc4e820, 0x33b49: 0x6dc4ea20, 0x33b4a: 0x6dc4ec20, 0x33b4b: 0x6dc4ee20,\n\t0x33b4c: 0x6dc4f020, 0x33b4d: 0x6dc4f220, 0x33b4e: 0x6dc4f420, 0x33b4f: 0x6dc4f620,\n\t0x33b50: 0x6dc4f820, 0x33b51: 0x6dc4fa20, 0x33b52: 0x6dc4fc20, 0x33b53: 0x6dc4fe20,\n\t0x33b54: 0x6dc50020, 0x33b55: 0x6dc50220, 0x33b56: 0x6dc50420, 0x33b57: 0x6dc45020,\n\t0x33b58: 0x6de1de20, 0x33b59: 0x6de1e020, 0x33b5a: 0x6de1e220, 0x33b5b: 0x6de1e420,\n\t0x33b5c: 0x6de1e620, 0x33b5d: 0x6de1e820, 0x33b5e: 0x6de1ea20, 0x33b5f: 0x6de1ec20,\n\t0x33b60: 0x6dc50620, 0x33b61: 0x6de1ee20, 0x33b62: 0x6de1f020, 0x33b63: 0x6de1f220,\n\t0x33b64: 0x6de1f420, 0x33b65: 0x6de1f620, 0x33b66: 0x6de1f820, 0x33b67: 0x6de1fa20,\n\t0x33b68: 0x6de1fc20, 0x33b69: 0x6de1fe20, 0x33b6a: 0x6de20020, 0x33b6b: 0x6de20220,\n\t0x33b6c: 0x6de20420, 0x33b6d: 0x6de20620, 0x33b6e: 0x6df9be20, 0x33b6f: 0x6df9c020,\n\t0x33b70: 0x6df9c220, 0x33b71: 0x6df9c420, 0x33b72: 0x6df9c620, 0x33b73: 0x6df9c820,\n\t0x33b74: 0x6df9ca20, 0x33b75: 0x6df9cc20, 0x33b76: 0x6df9ce20, 0x33b77: 0x6df9d020,\n\t0x33b78: 0x6df9d220, 0x33b79: 0x6df9d420, 0x33b7a: 0x6df9d620, 0x33b7b: 0x6da34a20,\n\t0x33b7c: 0x6e0d7a20, 0x33b7d: 0x6e0d7c20, 0x33b7e: 0x6e0d7e20, 0x33b7f: 0x6e0d8020,\n\t// Block 0xcee, offset 0x33b80\n\t0x33b80: 0x6e0d8220, 0x33b81: 0x6e0d8420, 0x33b82: 0x6e0d8620, 0x33b83: 0x6e0d8820,\n\t0x33b84: 0x6e0d8a20, 0x33b85: 0x6e0d8c20, 0x33b86: 0x6e0d8e20, 0x33b87: 0x6e1ce620,\n\t0x33b88: 0x6e1ce820, 0x33b89: 0x6e1cea20, 0x33b8a: 0x6e1cec20, 0x33b8b: 0x6e1cee20,\n\t0x33b8c: 0x6e1cf020, 0x33b8d: 0x6e1cf220, 0x33b8e: 0x6e1cf420, 0x33b8f: 0x6e1cf620,\n\t0x33b90: 0x6e1cf820, 0x33b91: 0x6e1cfa20, 0x33b92: 0x6e28b820, 0x33b93: 0x6e28ba20,\n\t0x33b94: 0x6e31f620, 0x33b95: 0x6e31f820, 0x33b96: 0x6e31fa20, 0x33b97: 0x6e31fc20,\n\t0x33b98: 0x6e31fe20, 0x33b99: 0x6e320020, 0x33b9a: 0x6e320220, 0x33b9b: 0x6e320420,\n\t0x33b9c: 0x6e320620, 0x33b9d: 0x6e387a20, 0x33b9e: 0x6e387c20, 0x33b9f: 0x6e387e20,\n\t0x33ba0: 0x6e402420, 0x33ba1: 0x6e402620, 0x33ba2: 0x6e429220, 0x33ba3: 0x6e402820,\n\t0x33ba4: 0x6e402a20, 0x33ba5: 0x6e462620, 0x33ba6: 0x6c01c020, 0x33ba7: 0x6c041a20,\n\t0x33ba8: 0x6c01c220, 0x33ba9: 0x6c109820, 0x33baa: 0x6c109a20, 0x33bab: 0x6c109c20,\n\t0x33bac: 0x6c109e20, 0x33bad: 0x6c10a020, 0x33bae: 0x6c1dd620, 0x33baf: 0x6c1dd820,\n\t0x33bb0: 0x6c1dda20, 0x33bb1: 0x6c317a20, 0x33bb2: 0x6c317c20, 0x33bb3: 0x6c317e20,\n\t0x33bb4: 0x6c318020, 0x33bb5: 0x6c318220, 0x33bb6: 0x6c318420, 0x33bb7: 0x6c4bce20,\n\t0x33bb8: 0x6c4bd020, 0x33bb9: 0x6c4bd220, 0x33bba: 0x6c4bd420, 0x33bbb: 0x6c4bd620,\n\t0x33bbc: 0x6c6de420, 0x33bbd: 0x6c6de620, 0x33bbe: 0x6c954e20, 0x33bbf: 0x6c955020,\n\t// Block 0xcef, offset 0x33bc0\n\t0x33bc0: 0x6c955220, 0x33bc1: 0x6cc16c20, 0x33bc2: 0x6d20ba20, 0x33bc3: 0x6d4e4a20,\n\t0x33bc4: 0x6d7ad420, 0x33bc5: 0x6d7ad620, 0x33bc6: 0x6d7ad820, 0x33bc7: 0x6da35420,\n\t0x33bc8: 0x6dc50820, 0x33bc9: 0x6de20c20, 0x33bca: 0x6de20e20, 0x33bcb: 0x6df9d820,\n\t0x33bcc: 0x6e1cfe20, 0x33bcd: 0x6e1d0020, 0x33bce: 0x6e320820, 0x33bcf: 0x6e402c20,\n\t0x33bd0: 0x6e442a20, 0x33bd1: 0x6c041e20, 0x33bd2: 0x6c042020, 0x33bd3: 0x6c042220,\n\t0x33bd4: 0x6c042420, 0x33bd5: 0x6c042620, 0x33bd6: 0x6c089820, 0x33bd7: 0x6c089a20,\n\t0x33bd8: 0x6c089c20, 0x33bd9: 0x6c089e20, 0x33bda: 0x6c10a620, 0x33bdb: 0x6c10a820,\n\t0x33bdc: 0x6c1de020, 0x33bdd: 0x6c1de220, 0x33bde: 0x6c1de420, 0x33bdf: 0x6c318620,\n\t0x33be0: 0x6c4bde20, 0x33be1: 0x6c6dee20, 0x33be2: 0x6c6df020, 0x33be3: 0x6c955420,\n\t0x33be4: 0x6cc17220, 0x33be5: 0x6cc17420, 0x33be6: 0x6cf11220, 0x33be7: 0x6cf11420,\n\t0x33be8: 0x6d4e4e20, 0x33be9: 0x6d4e5020, 0x33bea: 0x6d4e5220, 0x33beb: 0x6d4e5420,\n\t0x33bec: 0x6d7ada20, 0x33bed: 0x6da35620, 0x33bee: 0x6dc50a20, 0x33bef: 0x6de21020,\n\t0x33bf0: 0x6e0d9220, 0x33bf1: 0x6e0d9420, 0x33bf2: 0x6e0d9620, 0x33bf3: 0x6c042a20,\n\t0x33bf4: 0x6c08a220, 0x33bf5: 0x6c08a420, 0x33bf6: 0x6c10ac20, 0x33bf7: 0x6c318c20,\n\t0x33bf8: 0x6c318e20, 0x33bf9: 0x6c4bea20, 0x33bfa: 0x6c4bec20, 0x33bfb: 0x6c4bee20,\n\t0x33bfc: 0x6c6df420, 0x33bfd: 0x6c6df620, 0x33bfe: 0x6c6df820, 0x33bff: 0x6c6dfa20,\n\t// Block 0xcf0, offset 0x33c00\n\t0x33c00: 0x6c955a20, 0x33c01: 0x6c955c20, 0x33c02: 0x6c955e20, 0x33c03: 0x6c956020,\n\t0x33c04: 0x6c956220, 0x33c05: 0x6cc17a20, 0x33c06: 0x6cc17c20, 0x33c07: 0x6cc17e20,\n\t0x33c08: 0x6cc18020, 0x33c09: 0x6cc18220, 0x33c0a: 0x6cf11820, 0x33c0b: 0x6d4e5620,\n\t0x33c0c: 0x6d4e5820, 0x33c0d: 0x6d7ae020, 0x33c0e: 0x6da35a20, 0x33c0f: 0x6d7ae220,\n\t0x33c10: 0x6dc50e20, 0x33c11: 0x6df9da20, 0x33c12: 0x6c08b220, 0x33c13: 0x6c08b420,\n\t0x33c14: 0x6c08b620, 0x33c15: 0x6c10ba20, 0x33c16: 0x6c10bc20, 0x33c17: 0x6c10be20,\n\t0x33c18: 0x6c10c020, 0x33c19: 0x6c10c220, 0x33c1a: 0x6c10c420, 0x33c1b: 0x6c10c620,\n\t0x33c1c: 0x6c10c820, 0x33c1d: 0x6c10ca20, 0x33c1e: 0x6c10cc20, 0x33c1f: 0x6c10ce20,\n\t0x33c20: 0x6c10d020, 0x33c21: 0x6c10d220, 0x33c22: 0x6c10d420, 0x33c23: 0x6c10d620,\n\t0x33c24: 0x6c10d820, 0x33c25: 0x6c1e0620, 0x33c26: 0x6c1e0820, 0x33c27: 0x6c1e0a20,\n\t0x33c28: 0x6c1e0c20, 0x33c29: 0x6c1e0e20, 0x33c2a: 0x6c1e1020, 0x33c2b: 0x6c1e1220,\n\t0x33c2c: 0x6c1e1420, 0x33c2d: 0x6c1e1620, 0x33c2e: 0x6c1e1820, 0x33c2f: 0x6c1e1a20,\n\t0x33c30: 0x6c1e1c20, 0x33c31: 0x6c1e1e20, 0x33c32: 0x6c1e2020, 0x33c33: 0x6c1e2220,\n\t0x33c34: 0x6c1e2420, 0x33c35: 0x6c1e2620, 0x33c36: 0x6c1e2820, 0x33c37: 0x6c1e2a20,\n\t0x33c38: 0x6c1e2c20, 0x33c39: 0x6c1e2e20, 0x33c3a: 0x6c1e3020, 0x33c3b: 0x6c31b220,\n\t0x33c3c: 0x6c31b420, 0x33c3d: 0x6c31b620, 0x33c3e: 0x6c31b820, 0x33c3f: 0x6c31ba20,\n\t// Block 0xcf1, offset 0x33c40\n\t0x33c40: 0x6c31bc20, 0x33c41: 0x6c31be20, 0x33c42: 0x6c31c020, 0x33c43: 0x6c31c220,\n\t0x33c44: 0x6c31c420, 0x33c45: 0x6c31c620, 0x33c46: 0x6c31c820, 0x33c47: 0x6c31ca20,\n\t0x33c48: 0x6c31cc20, 0x33c49: 0x6c31ce20, 0x33c4a: 0x6c31d020, 0x33c4b: 0x6c31d220,\n\t0x33c4c: 0x6c31d420, 0x33c4d: 0x6c31d620, 0x33c4e: 0x6c31d820, 0x33c4f: 0x6c31da20,\n\t0x33c50: 0x6c4c1220, 0x33c51: 0x6c4c1420, 0x33c52: 0x6c4c1620, 0x33c53: 0x6c4c1820,\n\t0x33c54: 0x6c4c1a20, 0x33c55: 0x6c4c1c20, 0x33c56: 0x6c4c1e20, 0x33c57: 0x6c4c2020,\n\t0x33c58: 0x6c4c2220, 0x33c59: 0x6c4c2420, 0x33c5a: 0x6c4c2620, 0x33c5b: 0x6c4c2820,\n\t0x33c5c: 0x6c4c2a20, 0x33c5d: 0x6c4c2c20, 0x33c5e: 0x6c4c2e20, 0x33c5f: 0x6c4c3020,\n\t0x33c60: 0x6c4c3220, 0x33c61: 0x6c4c3420, 0x33c62: 0x6c4c3620, 0x33c63: 0x6c4c3820,\n\t0x33c64: 0x6c4c3a20, 0x33c65: 0x6c4c3c20, 0x33c66: 0x6c4c3e20, 0x33c67: 0x6c4c4020,\n\t0x33c68: 0x6c4c4220, 0x33c69: 0x6c4c4420, 0x33c6a: 0x6c4c4620, 0x33c6b: 0x6c4c4820,\n\t0x33c6c: 0x6c4c4a20, 0x33c6d: 0x6c4c4c20, 0x33c6e: 0x6c4c4e20, 0x33c6f: 0x6c4c5020,\n\t0x33c70: 0x6c4c5220, 0x33c71: 0x6c6e1420, 0x33c72: 0x6c6e1620, 0x33c73: 0x6c6e1820,\n\t0x33c74: 0x6c6e1a20, 0x33c75: 0x6c6e1c20, 0x33c76: 0x6c6e1e20, 0x33c77: 0x6c6e2020,\n\t0x33c78: 0x6c6e2220, 0x33c79: 0x6c6e2420, 0x33c7a: 0x6c6e2620, 0x33c7b: 0x6c6e2820,\n\t0x33c7c: 0x6c6e2a20, 0x33c7d: 0x6c6e2c20, 0x33c7e: 0x6c6e2e20, 0x33c7f: 0x6c6e3020,\n\t// Block 0xcf2, offset 0x33c80\n\t0x33c80: 0x6c6e3220, 0x33c81: 0x6c6e3420, 0x33c82: 0x6c6e3620, 0x33c83: 0x6c6e3820,\n\t0x33c84: 0x6c6e3a20, 0x33c85: 0x6c6e3c20, 0x33c86: 0x6c6e3e20, 0x33c87: 0x6c6e4020,\n\t0x33c88: 0x6c6e4220, 0x33c89: 0x6c6e4420, 0x33c8a: 0x6c6e4620, 0x33c8b: 0x6c6e4820,\n\t0x33c8c: 0x6c6e4a20, 0x33c8d: 0x6c958620, 0x33c8e: 0x6c958820, 0x33c8f: 0x6c958a20,\n\t0x33c90: 0x6c958c20, 0x33c91: 0x6c958e20, 0x33c92: 0x6c959020, 0x33c93: 0x6c959220,\n\t0x33c94: 0x6c959420, 0x33c95: 0x6c959620, 0x33c96: 0x6c959820, 0x33c97: 0x6c959a20,\n\t0x33c98: 0x6c959c20, 0x33c99: 0x6c959e20, 0x33c9a: 0x6c95a020, 0x33c9b: 0x6c95a220,\n\t0x33c9c: 0x6c95a420, 0x33c9d: 0x6c95a620, 0x33c9e: 0x6c95a820, 0x33c9f: 0x6c95aa20,\n\t0x33ca0: 0x6c95ac20, 0x33ca1: 0x6c95ae20, 0x33ca2: 0x6c95b020, 0x33ca3: 0x6c95b220,\n\t0x33ca4: 0x6c95b420, 0x33ca5: 0x6c95b620, 0x33ca6: 0x6c95b820, 0x33ca7: 0x6c95ba20,\n\t0x33ca8: 0x6c95bc20, 0x33ca9: 0x6c95be20, 0x33caa: 0x6c95c020, 0x33cab: 0x6cc1ae20,\n\t0x33cac: 0x6cc1b020, 0x33cad: 0x6cc1b220, 0x33cae: 0x6cc1b420, 0x33caf: 0x6cc1b620,\n\t0x33cb0: 0x6cc1b820, 0x33cb1: 0x6cc1ba20, 0x33cb2: 0x6cc1bc20, 0x33cb3: 0x6cc1be20,\n\t0x33cb4: 0x6cc1c020, 0x33cb5: 0x6cc1c220, 0x33cb6: 0x6cc1c420, 0x33cb7: 0x6cc1c620,\n\t0x33cb8: 0x6cc1c820, 0x33cb9: 0x6cc1ca20, 0x33cba: 0x6cc1cc20, 0x33cbb: 0x6cc1ce20,\n\t0x33cbc: 0x6cc1d020, 0x33cbd: 0x6cc1d220, 0x33cbe: 0x6cc1d420, 0x33cbf: 0x6cc1d620,\n\t// Block 0xcf3, offset 0x33cc0\n\t0x33cc0: 0x6cc1d820, 0x33cc1: 0x6cc1da20, 0x33cc2: 0x6cc1dc20, 0x33cc3: 0x6cc1de20,\n\t0x33cc4: 0x6cc1e020, 0x33cc5: 0x6cc1e220, 0x33cc6: 0x6cc1e420, 0x33cc7: 0x6cc1e620,\n\t0x33cc8: 0x6cc1e820, 0x33cc9: 0x6cc1ea20, 0x33cca: 0x6cf13020, 0x33ccb: 0x6cf13220,\n\t0x33ccc: 0x6cf13420, 0x33ccd: 0x6cf13620, 0x33cce: 0x6cf13820, 0x33ccf: 0x6cf13a20,\n\t0x33cd0: 0x6cf13c20, 0x33cd1: 0x6cf13e20, 0x33cd2: 0x6cf14020, 0x33cd3: 0x6cf14220,\n\t0x33cd4: 0x6cf14420, 0x33cd5: 0x6cf14620, 0x33cd6: 0x6cf14820, 0x33cd7: 0x6cf14a20,\n\t0x33cd8: 0x6cf14c20, 0x33cd9: 0x6cf14e20, 0x33cda: 0x6cf15020, 0x33cdb: 0x6cf15220,\n\t0x33cdc: 0x6cf15420, 0x33cdd: 0x6cf15620, 0x33cde: 0x6cf15820, 0x33cdf: 0x6d20dc20,\n\t0x33ce0: 0x6d20de20, 0x33ce1: 0x6d20e020, 0x33ce2: 0x6d20e220, 0x33ce3: 0x6d20e420,\n\t0x33ce4: 0x6d20e620, 0x33ce5: 0x6d20e820, 0x33ce6: 0x6d20ea20, 0x33ce7: 0x6d20ec20,\n\t0x33ce8: 0x6d20ee20, 0x33ce9: 0x6d20f020, 0x33cea: 0x6d20f220, 0x33ceb: 0x6d20f420,\n\t0x33cec: 0x6d20f620, 0x33ced: 0x6d20f820, 0x33cee: 0x6d20fa20, 0x33cef: 0x6d20fc20,\n\t0x33cf0: 0x6d20fe20, 0x33cf1: 0x6d210020, 0x33cf2: 0x6d210220, 0x33cf3: 0x6d4e7220,\n\t0x33cf4: 0x6d4e7420, 0x33cf5: 0x6d4e7620, 0x33cf6: 0x6d4e7820, 0x33cf7: 0x6d4e7a20,\n\t0x33cf8: 0x6d4e7c20, 0x33cf9: 0x6d4e7e20, 0x33cfa: 0x6d4e8020, 0x33cfb: 0x6d4e8220,\n\t0x33cfc: 0x6d4e8420, 0x33cfd: 0x6d4e8620, 0x33cfe: 0x6d4e8820, 0x33cff: 0x6d4e8a20,\n\t// Block 0xcf4, offset 0x33d00\n\t0x33d00: 0x6d4e8c20, 0x33d01: 0x6d4e8e20, 0x33d02: 0x6d4e9020, 0x33d03: 0x6d4e9220,\n\t0x33d04: 0x6d4e9420, 0x33d05: 0x6d4e9620, 0x33d06: 0x6d4e9820, 0x33d07: 0x6d4e9a20,\n\t0x33d08: 0x6d4e9c20, 0x33d09: 0x6d4e9e20, 0x33d0a: 0x6d4ea020, 0x33d0b: 0x6d4ea220,\n\t0x33d0c: 0x6d4ea420, 0x33d0d: 0x6d7af420, 0x33d0e: 0x6d7af620, 0x33d0f: 0x6d7af820,\n\t0x33d10: 0x6d7afa20, 0x33d11: 0x6d7afc20, 0x33d12: 0x6d7afe20, 0x33d13: 0x6d7b0020,\n\t0x33d14: 0x6d7b0220, 0x33d15: 0x6d7b0420, 0x33d16: 0x6d7b0620, 0x33d17: 0x6d7b0820,\n\t0x33d18: 0x6d7b0a20, 0x33d19: 0x6d7b0c20, 0x33d1a: 0x6d7b0e20, 0x33d1b: 0x6d7b1020,\n\t0x33d1c: 0x6d7b1220, 0x33d1d: 0x6d7b1420, 0x33d1e: 0x6d7b1620, 0x33d1f: 0x6da36620,\n\t0x33d20: 0x6da36820, 0x33d21: 0x6da36a20, 0x33d22: 0x6da36c20, 0x33d23: 0x6da36e20,\n\t0x33d24: 0x6da37020, 0x33d25: 0x6da37220, 0x33d26: 0x6da37420, 0x33d27: 0x6da37620,\n\t0x33d28: 0x6da37820, 0x33d29: 0x6dc51420, 0x33d2a: 0x6dc51620, 0x33d2b: 0x6dc51820,\n\t0x33d2c: 0x6dc51a20, 0x33d2d: 0x6de21420, 0x33d2e: 0x6de21620, 0x33d2f: 0x6de21820,\n\t0x33d30: 0x6de21a20, 0x33d31: 0x6de21c20, 0x33d32: 0x6de21e20, 0x33d33: 0x6de22020,\n\t0x33d34: 0x6de22220, 0x33d35: 0x6de22420, 0x33d36: 0x6de22620, 0x33d37: 0x6de22820,\n\t0x33d38: 0x6df9e220, 0x33d39: 0x6df9e420, 0x33d3a: 0x6df9e620, 0x33d3b: 0x6e0d9820,\n\t0x33d3c: 0x6e0d9a20, 0x33d3d: 0x6e0d9c20, 0x33d3e: 0x6e1d0820, 0x33d3f: 0x6e1d0a20,\n\t// Block 0xcf5, offset 0x33d40\n\t0x33d40: 0x6e1d0c20, 0x33d41: 0x6e1d0e20, 0x33d42: 0x6e28bc20, 0x33d43: 0x6e320a20,\n\t0x33d44: 0x6e320c20, 0x33d45: 0x6e320e20, 0x33d46: 0x6e321020, 0x33d47: 0x6e402e20,\n\t0x33d48: 0x6e403020, 0x33d49: 0x6c08bc20, 0x33d4a: 0x6c1e3220, 0x33d4b: 0x6c1e3420,\n\t0x33d4c: 0x6c1e3620, 0x33d4d: 0x6c31e020, 0x33d4e: 0x6c31e220, 0x33d4f: 0x6c31e420,\n\t0x33d50: 0x6c31e620, 0x33d51: 0x6c4c5420, 0x33d52: 0x6c4c5620, 0x33d53: 0x6c4c5820,\n\t0x33d54: 0x6c4c5a20, 0x33d55: 0x6c4c5c20, 0x33d56: 0x6c6e4e20, 0x33d57: 0x6c6e5020,\n\t0x33d58: 0x6c6e5220, 0x33d59: 0x6c6e5420, 0x33d5a: 0x6c95cc20, 0x33d5b: 0x6cc1f420,\n\t0x33d5c: 0x6cc1f620, 0x33d5d: 0x6cc1f820, 0x33d5e: 0x6cf15c20, 0x33d5f: 0x6cf15e20,\n\t0x33d60: 0x6cf16020, 0x33d61: 0x6d18a420, 0x33d62: 0x6d210820, 0x33d63: 0x6d1e2a20,\n\t0x33d64: 0x6d210a20, 0x33d65: 0x6d4eaa20, 0x33d66: 0x6d7b1c20, 0x33d67: 0x6d7b1e20,\n\t0x33d68: 0x6d7b2020, 0x33d69: 0x6d7b2220, 0x33d6a: 0x6dc51c20, 0x33d6b: 0x6de22c20,\n\t0x33d6c: 0x6df9ea20, 0x33d6d: 0x6e0d9e20, 0x33d6e: 0x6e28be20, 0x33d6f: 0x6c043420,\n\t0x33d70: 0x6c043620, 0x33d71: 0x6c043820, 0x33d72: 0x6c08c020, 0x33d73: 0x6c08c220,\n\t0x33d74: 0x6c08c420, 0x33d75: 0x6c08c620, 0x33d76: 0x6c10e020, 0x33d77: 0x6c1e3a20,\n\t0x33d78: 0x6c1e3c20, 0x33d79: 0x6c1e3e20, 0x33d7a: 0x6c1e4020, 0x33d7b: 0x6c31e820,\n\t0x33d7c: 0x6c31ea20, 0x33d7d: 0x6c31ec20, 0x33d7e: 0x6c31ee20, 0x33d7f: 0x6c4c6020,\n\t// Block 0xcf6, offset 0x33d80\n\t0x33d80: 0x6c4b0c20, 0x33d81: 0x6c6e5620, 0x33d82: 0x6c4c6220, 0x33d83: 0x6c6e5820,\n\t0x33d84: 0x6c6e5a20, 0x33d85: 0x6c6e5c20, 0x33d86: 0x6c6e5e20, 0x33d87: 0x6c95d220,\n\t0x33d88: 0x6c95d420, 0x33d89: 0x6c95d620, 0x33d8a: 0x6cc20220, 0x33d8b: 0x6cf16820,\n\t0x33d8c: 0x6d210e20, 0x33d8d: 0x6d211020, 0x33d8e: 0x6d211220, 0x33d8f: 0x6d211420,\n\t0x33d90: 0x6d4eae20, 0x33d91: 0x6d4eb020, 0x33d92: 0x6d4eb220, 0x33d93: 0x6d4eb420,\n\t0x33d94: 0x6da2ce20, 0x33d95: 0x6dc2b220, 0x33d96: 0x6e1d1020, 0x33d97: 0x6c10f020,\n\t0x33d98: 0x6c10f220, 0x33d99: 0x6c10f420, 0x33d9a: 0x6c10f620, 0x33d9b: 0x6c10f820,\n\t0x33d9c: 0x6c10fa20, 0x33d9d: 0x6c10fc20, 0x33d9e: 0x6c10fe20, 0x33d9f: 0x6c110020,\n\t0x33da0: 0x6c110220, 0x33da1: 0x6c110420, 0x33da2: 0x6c110620, 0x33da3: 0x6c1e6220,\n\t0x33da4: 0x6c1e6420, 0x33da5: 0x6c1e6620, 0x33da6: 0x6c1e6820, 0x33da7: 0x6c1e6a20,\n\t0x33da8: 0x6c1e6c20, 0x33da9: 0x6c1e6e20, 0x33daa: 0x6c1e7020, 0x33dab: 0x6c1e7220,\n\t0x33dac: 0x6c1e7420, 0x33dad: 0x6c1e7620, 0x33dae: 0x6c1e7820, 0x33daf: 0x6c1e7a20,\n\t0x33db0: 0x6c1e7c20, 0x33db1: 0x6c1e7e20, 0x33db2: 0x6c321420, 0x33db3: 0x6c321620,\n\t0x33db4: 0x6c321820, 0x33db5: 0x6c321a20, 0x33db6: 0x6c321c20, 0x33db7: 0x6c321e20,\n\t0x33db8: 0x6c322020, 0x33db9: 0x6c322220, 0x33dba: 0x6c322420, 0x33dbb: 0x6c322620,\n\t0x33dbc: 0x6c322820, 0x33dbd: 0x6c322a20, 0x33dbe: 0x6c322c20, 0x33dbf: 0x6c322e20,\n\t// Block 0xcf7, offset 0x33dc0\n\t0x33dc0: 0x6c323020, 0x33dc1: 0x6c323220, 0x33dc2: 0x6c323420, 0x33dc3: 0x6c323620,\n\t0x33dc4: 0x6c323820, 0x33dc5: 0x6c323a20, 0x33dc6: 0x6c323c20, 0x33dc7: 0x6c4c8420,\n\t0x33dc8: 0x6c4c8620, 0x33dc9: 0x6c4c8820, 0x33dca: 0x6c4c8a20, 0x33dcb: 0x6c4c8c20,\n\t0x33dcc: 0x6c4c8e20, 0x33dcd: 0x6c4c9020, 0x33dce: 0x6c4c9220, 0x33dcf: 0x6c4c9420,\n\t0x33dd0: 0x6c4c9620, 0x33dd1: 0x6c4c9820, 0x33dd2: 0x6c4c9a20, 0x33dd3: 0x6c4c9c20,\n\t0x33dd4: 0x6c4c9e20, 0x33dd5: 0x6c4ca020, 0x33dd6: 0x6c4ca220, 0x33dd7: 0x6c4ca420,\n\t0x33dd8: 0x6c4ca620, 0x33dd9: 0x6c6e7c20, 0x33dda: 0x6c6e7e20, 0x33ddb: 0x6c6e8020,\n\t0x33ddc: 0x6c6e8220, 0x33ddd: 0x6c6e8420, 0x33dde: 0x6c6e8620, 0x33ddf: 0x6c6e8820,\n\t0x33de0: 0x6c6e8a20, 0x33de1: 0x6c6e8c20, 0x33de2: 0x6c6e8e20, 0x33de3: 0x6c6e9020,\n\t0x33de4: 0x6c6e9220, 0x33de5: 0x6c6e9420, 0x33de6: 0x6c6e9620, 0x33de7: 0x6c6e9820,\n\t0x33de8: 0x6c6e9a20, 0x33de9: 0x6c6e9c20, 0x33dea: 0x6c6e9e20, 0x33deb: 0x6c6ea020,\n\t0x33dec: 0x6c6ea220, 0x33ded: 0x6c6ea420, 0x33dee: 0x6c6ea620, 0x33def: 0x6c6ea820,\n\t0x33df0: 0x6c6eaa20, 0x33df1: 0x6c6eac20, 0x33df2: 0x6c6bf220, 0x33df3: 0x6c95fa20,\n\t0x33df4: 0x6c95fc20, 0x33df5: 0x6c95fe20, 0x33df6: 0x6c960020, 0x33df7: 0x6c960220,\n\t0x33df8: 0x6c960420, 0x33df9: 0x6c960620, 0x33dfa: 0x6c960820, 0x33dfb: 0x6c960a20,\n\t0x33dfc: 0x6c960c20, 0x33dfd: 0x6c960e20, 0x33dfe: 0x6c961020, 0x33dff: 0x6c961220,\n\t// Block 0xcf8, offset 0x33e00\n\t0x33e00: 0x6c961420, 0x33e01: 0x6c961620, 0x33e02: 0x6c961820, 0x33e03: 0x6c961a20,\n\t0x33e04: 0x6c961c20, 0x33e05: 0x6c961e20, 0x33e06: 0x6c962020, 0x33e07: 0x6c962220,\n\t0x33e08: 0x6c962420, 0x33e09: 0x6c962620, 0x33e0a: 0x6c962820, 0x33e0b: 0x6c962a20,\n\t0x33e0c: 0x6c962c20, 0x33e0d: 0x6c962e20, 0x33e0e: 0x6c963020, 0x33e0f: 0x6c963220,\n\t0x33e10: 0x6c963420, 0x33e11: 0x6c963620, 0x33e12: 0x6c963820, 0x33e13: 0x6c963a20,\n\t0x33e14: 0x6c963c20, 0x33e15: 0x6c963e20, 0x33e16: 0x6cb78820, 0x33e17: 0x6c964020,\n\t0x33e18: 0x6c964220, 0x33e19: 0x6c964420, 0x33e1a: 0x6c964620, 0x33e1b: 0x6cc21a20,\n\t0x33e1c: 0x6cc21c20, 0x33e1d: 0x6cc21e20, 0x33e1e: 0x6cc22020, 0x33e1f: 0x6cc22220,\n\t0x33e20: 0x6cc22420, 0x33e21: 0x6cc22620, 0x33e22: 0x6cc22820, 0x33e23: 0x6cc22a20,\n\t0x33e24: 0x6cc22c20, 0x33e25: 0x6cc22e20, 0x33e26: 0x6cc23020, 0x33e27: 0x6cc23220,\n\t0x33e28: 0x6cc23420, 0x33e29: 0x6cc23620, 0x33e2a: 0x6cc23820, 0x33e2b: 0x6cc23a20,\n\t0x33e2c: 0x6cc23c20, 0x33e2d: 0x6cc23e20, 0x33e2e: 0x6cc24020, 0x33e2f: 0x6cc24220,\n\t0x33e30: 0x6cc24420, 0x33e31: 0x6cc24620, 0x33e32: 0x6cc24820, 0x33e33: 0x6cc24a20,\n\t0x33e34: 0x6cc24c20, 0x33e35: 0x6cc24e20, 0x33e36: 0x6cc25020, 0x33e37: 0x6cc25220,\n\t0x33e38: 0x6cc25420, 0x33e39: 0x6cc25620, 0x33e3a: 0x6cc25820, 0x33e3b: 0x6cc25a20,\n\t0x33e3c: 0x6cf17a20, 0x33e3d: 0x6cc25c20, 0x33e3e: 0x6cc25e20, 0x33e3f: 0x6cf17c20,\n\t// Block 0xcf9, offset 0x33e40\n\t0x33e40: 0x6cf17e20, 0x33e41: 0x6cf18020, 0x33e42: 0x6cf18220, 0x33e43: 0x6cf18420,\n\t0x33e44: 0x6cf18620, 0x33e45: 0x6cf18820, 0x33e46: 0x6cf18a20, 0x33e47: 0x6cf18c20,\n\t0x33e48: 0x6cf18e20, 0x33e49: 0x6cf19020, 0x33e4a: 0x6cf19220, 0x33e4b: 0x6cf19420,\n\t0x33e4c: 0x6cf19620, 0x33e4d: 0x6cf19820, 0x33e4e: 0x6cf19a20, 0x33e4f: 0x6cf19c20,\n\t0x33e50: 0x6cf19e20, 0x33e51: 0x6cf1a020, 0x33e52: 0x6cf1a220, 0x33e53: 0x6cf1a420,\n\t0x33e54: 0x6cf1a620, 0x33e55: 0x6d213620, 0x33e56: 0x6d213820, 0x33e57: 0x6d213a20,\n\t0x33e58: 0x6d213c20, 0x33e59: 0x6d213e20, 0x33e5a: 0x6d214020, 0x33e5b: 0x6d214220,\n\t0x33e5c: 0x6d214420, 0x33e5d: 0x6d214620, 0x33e5e: 0x6d214820, 0x33e5f: 0x6d214a20,\n\t0x33e60: 0x6d214c20, 0x33e61: 0x6d214e20, 0x33e62: 0x6d215020, 0x33e63: 0x6d215220,\n\t0x33e64: 0x6d215420, 0x33e65: 0x6d215620, 0x33e66: 0x6d215820, 0x33e67: 0x6d215a20,\n\t0x33e68: 0x6d215c20, 0x33e69: 0x6d215e20, 0x33e6a: 0x6d216020, 0x33e6b: 0x6d216220,\n\t0x33e6c: 0x6d216420, 0x33e6d: 0x6d4ed020, 0x33e6e: 0x6d4ed220, 0x33e6f: 0x6d4ed420,\n\t0x33e70: 0x6d4ed620, 0x33e71: 0x6d4ed820, 0x33e72: 0x6d4eda20, 0x33e73: 0x6d4edc20,\n\t0x33e74: 0x6d4ede20, 0x33e75: 0x6d4ee020, 0x33e76: 0x6d4ee220, 0x33e77: 0x6d4ee420,\n\t0x33e78: 0x6d4ee620, 0x33e79: 0x6d4ee820, 0x33e7a: 0x6d4eea20, 0x33e7b: 0x6d4eec20,\n\t0x33e7c: 0x6d4eee20, 0x33e7d: 0x6d4ef020, 0x33e7e: 0x6d4ef220, 0x33e7f: 0x6d4ef420,\n\t// Block 0xcfa, offset 0x33e80\n\t0x33e80: 0x6d4ef620, 0x33e81: 0x6d4ef820, 0x33e82: 0x6d7b3a20, 0x33e83: 0x6d7b3c20,\n\t0x33e84: 0x6d7b3e20, 0x33e85: 0x6d7b4020, 0x33e86: 0x6d7b4220, 0x33e87: 0x6d7b4420,\n\t0x33e88: 0x6d7b4620, 0x33e89: 0x6d7b4820, 0x33e8a: 0x6d7b4a20, 0x33e8b: 0x6d7b4c20,\n\t0x33e8c: 0x6d7b4e20, 0x33e8d: 0x6d7b5020, 0x33e8e: 0x6d7b5220, 0x33e8f: 0x6d7b5420,\n\t0x33e90: 0x6d7b5620, 0x33e91: 0x6da37c20, 0x33e92: 0x6da37e20, 0x33e93: 0x6da38020,\n\t0x33e94: 0x6da38220, 0x33e95: 0x6da38420, 0x33e96: 0x6da38620, 0x33e97: 0x6da38820,\n\t0x33e98: 0x6da38a20, 0x33e99: 0x6da38c20, 0x33e9a: 0x6da38e20, 0x33e9b: 0x6da39020,\n\t0x33e9c: 0x6db42620, 0x33e9d: 0x6da39220, 0x33e9e: 0x6da39420, 0x33e9f: 0x6da39620,\n\t0x33ea0: 0x6da39820, 0x33ea1: 0x6dc52220, 0x33ea2: 0x6dc52420, 0x33ea3: 0x6dc52620,\n\t0x33ea4: 0x6dc52820, 0x33ea5: 0x6dc52a20, 0x33ea6: 0x6dc52c20, 0x33ea7: 0x6dc52e20,\n\t0x33ea8: 0x6dc53020, 0x33ea9: 0x6dc53220, 0x33eaa: 0x6dc53420, 0x33eab: 0x6dc53620,\n\t0x33eac: 0x6dc53820, 0x33ead: 0x6dc53a20, 0x33eae: 0x6de23a20, 0x33eaf: 0x6de23c20,\n\t0x33eb0: 0x6de23e20, 0x33eb1: 0x6de24020, 0x33eb2: 0x6de24220, 0x33eb3: 0x6de24420,\n\t0x33eb4: 0x6de24620, 0x33eb5: 0x6de24820, 0x33eb6: 0x6de24a20, 0x33eb7: 0x6de24c20,\n\t0x33eb8: 0x6de24e20, 0x33eb9: 0x6de25020, 0x33eba: 0x6de25220, 0x33ebb: 0x6df9f420,\n\t0x33ebc: 0x6df9f620, 0x33ebd: 0x6df9f820, 0x33ebe: 0x6df9fa20, 0x33ebf: 0x6df9fc20,\n\t// Block 0xcfb, offset 0x33ec0\n\t0x33ec0: 0x6df9fe20, 0x33ec1: 0x6dfa0020, 0x33ec2: 0x6dfa0220, 0x33ec3: 0x6dfa0420,\n\t0x33ec4: 0x6e0da220, 0x33ec5: 0x6e0da420, 0x33ec6: 0x6e0da620, 0x33ec7: 0x6e0f2020,\n\t0x33ec8: 0x6e1d1420, 0x33ec9: 0x6e1d1620, 0x33eca: 0x6e1d1820, 0x33ecb: 0x6e1d1a20,\n\t0x33ecc: 0x6e1d1c20, 0x33ecd: 0x6e28c020, 0x33ece: 0x6e28c220, 0x33ecf: 0x6e28c420,\n\t0x33ed0: 0x6e28c620, 0x33ed1: 0x6e28c820, 0x33ed2: 0x6e321220, 0x33ed3: 0x6e3d2220,\n\t0x33ed4: 0x6e403220, 0x33ed5: 0x6e403420, 0x33ed6: 0x6e429420, 0x33ed7: 0x6c043a20,\n\t0x33ed8: 0x6c08d220, 0x33ed9: 0x6c08d420, 0x33eda: 0x6c08d620, 0x33edb: 0x6c1e8620,\n\t0x33edc: 0x6c110c20, 0x33edd: 0x6c1e8820, 0x33ede: 0x6c1e8a20, 0x33edf: 0x6c324a20,\n\t0x33ee0: 0x6c4cb420, 0x33ee1: 0x6c4cb620, 0x33ee2: 0x6c4cb820, 0x33ee3: 0x6c4cba20,\n\t0x33ee4: 0x6c4cbc20, 0x33ee5: 0x6c4cbe20, 0x33ee6: 0x6c6ebc20, 0x33ee7: 0x6c6ebe20,\n\t0x33ee8: 0x6c965220, 0x33ee9: 0x6c965420, 0x33eea: 0x6c965620, 0x33eeb: 0x6cc26620,\n\t0x33eec: 0x6c01da20, 0x33eed: 0x6c044020, 0x33eee: 0x6c08dc20, 0x33eef: 0x6c08de20,\n\t0x33ef0: 0x6c111020, 0x33ef1: 0x6c111220, 0x33ef2: 0x6c111420, 0x33ef3: 0x6c1e9620,\n\t0x33ef4: 0x6c4cc620, 0x33ef5: 0x6c1e9820, 0x33ef6: 0x6c1e9a20, 0x33ef7: 0x6c1e9c20,\n\t0x33ef8: 0x6c1e9e20, 0x33ef9: 0x6c1ea020, 0x33efa: 0x6c1ea220, 0x33efb: 0x6c324e20,\n\t0x33efc: 0x6c4cc820, 0x33efd: 0x6c325020, 0x33efe: 0x6c325220, 0x33eff: 0x6c325420,\n\t// Block 0xcfc, offset 0x33f00\n\t0x33f00: 0x6c325620, 0x33f01: 0x6c325820, 0x33f02: 0x6c4cca20, 0x33f03: 0x6c4ccc20,\n\t0x33f04: 0x6c4cce20, 0x33f05: 0x6c4cd020, 0x33f06: 0x6c4cd220, 0x33f07: 0x6c4cd420,\n\t0x33f08: 0x6c4cd620, 0x33f09: 0x6c4cd820, 0x33f0a: 0x6c4cda20, 0x33f0b: 0x6c4cdc20,\n\t0x33f0c: 0x6c4cde20, 0x33f0d: 0x6c6ec420, 0x33f0e: 0x6c6ec620, 0x33f0f: 0x6c6ec820,\n\t0x33f10: 0x6c6eca20, 0x33f11: 0x6c6ecc20, 0x33f12: 0x6c6ece20, 0x33f13: 0x6c6ed020,\n\t0x33f14: 0x6c965a20, 0x33f15: 0x6c965c20, 0x33f16: 0x6c965e20, 0x33f17: 0x6c966020,\n\t0x33f18: 0x6c966220, 0x33f19: 0x6c966420, 0x33f1a: 0x6cc26820, 0x33f1b: 0x6cc26a20,\n\t0x33f1c: 0x6cc26c20, 0x33f1d: 0x6cc26e20, 0x33f1e: 0x6cc27020, 0x33f1f: 0x6cc27220,\n\t0x33f20: 0x6cc27420, 0x33f21: 0x6cc27620, 0x33f22: 0x6cf1ae20, 0x33f23: 0x6cf1b020,\n\t0x33f24: 0x6cf1b220, 0x33f25: 0x6cf1b420, 0x33f26: 0x6d217620, 0x33f27: 0x6d217820,\n\t0x33f28: 0x6d217a20, 0x33f29: 0x6d217c20, 0x33f2a: 0x6d217e20, 0x33f2b: 0x6d218020,\n\t0x33f2c: 0x6d4f0220, 0x33f2d: 0x6d1a0c20, 0x33f2e: 0x6d7b5e20, 0x33f2f: 0x6d7b6020,\n\t0x33f30: 0x6d7b6220, 0x33f31: 0x6d7b6420, 0x33f32: 0x6da3a020, 0x33f33: 0x6da3a220,\n\t0x33f34: 0x6da3a420, 0x33f35: 0x6de25620, 0x33f36: 0x6e1d1e20, 0x33f37: 0x6e403620,\n\t0x33f38: 0x6e403820, 0x33f39: 0x6e442c20, 0x33f3a: 0x6c01de20, 0x33f3b: 0x6c044420,\n\t0x33f3c: 0x6c044620, 0x33f3d: 0x6c111c20, 0x33f3e: 0x6c111e20, 0x33f3f: 0x6c1ea820,\n\t// Block 0xcfd, offset 0x33f40\n\t0x33f40: 0x6c1eaa20, 0x33f41: 0x6c1eac20, 0x33f42: 0x6c1eae20, 0x33f43: 0x6c1eb020,\n\t0x33f44: 0x6c325c20, 0x33f45: 0x6c325e20, 0x33f46: 0x6c4ce220, 0x33f47: 0x6c4ce420,\n\t0x33f48: 0x6c4ce620, 0x33f49: 0x6c4ce820, 0x33f4a: 0x6c4cea20, 0x33f4b: 0x6c6ed420,\n\t0x33f4c: 0x6c6ed620, 0x33f4d: 0x6c966620, 0x33f4e: 0x6cc27c20, 0x33f4f: 0x6cf1bc20,\n\t0x33f50: 0x6cf1be20, 0x33f51: 0x6d4f0420, 0x33f52: 0x6d4f0620, 0x33f53: 0x6d7b6620,\n\t0x33f54: 0x6da3a820, 0x33f55: 0x6dc53e20, 0x33f56: 0x6e0daa20, 0x33f57: 0x6c01e220,\n\t0x33f58: 0x6c01e420, 0x33f59: 0x6c045020, 0x33f5a: 0x6c045220, 0x33f5b: 0x6c045420,\n\t0x33f5c: 0x6c045620, 0x33f5d: 0x6c045820, 0x33f5e: 0x6c045a20, 0x33f5f: 0x6c045c20,\n\t0x33f60: 0x6c045e20, 0x33f61: 0x6c046020, 0x33f62: 0x6c08e620, 0x33f63: 0x6c08e820,\n\t0x33f64: 0x6c08ea20, 0x33f65: 0x6c08ec20, 0x33f66: 0x6c08ee20, 0x33f67: 0x6c08f020,\n\t0x33f68: 0x6c08f220, 0x33f69: 0x6c08f420, 0x33f6a: 0x6c08f620, 0x33f6b: 0x6c113020,\n\t0x33f6c: 0x6c113220, 0x33f6d: 0x6c113420, 0x33f6e: 0x6c113620, 0x33f6f: 0x6c113820,\n\t0x33f70: 0x6c113a20, 0x33f71: 0x6c113c20, 0x33f72: 0x6c113e20, 0x33f73: 0x6c114020,\n\t0x33f74: 0x6c114220, 0x33f75: 0x6c114420, 0x33f76: 0x6c114620, 0x33f77: 0x6c1ebe20,\n\t0x33f78: 0x6c1ec020, 0x33f79: 0x6c1ec220, 0x33f7a: 0x6c1ec420, 0x33f7b: 0x6c1ec620,\n\t0x33f7c: 0x6c1ec820, 0x33f7d: 0x6c1eca20, 0x33f7e: 0x6c1ecc20, 0x33f7f: 0x6c1ece20,\n\t// Block 0xcfe, offset 0x33f80\n\t0x33f80: 0x6c1ed020, 0x33f81: 0x6c1ed220, 0x33f82: 0x6c1ed420, 0x33f83: 0x6c1ed620,\n\t0x33f84: 0x6c1ed820, 0x33f85: 0x6c1eda20, 0x33f86: 0x6c327c20, 0x33f87: 0x6c327e20,\n\t0x33f88: 0x6c328020, 0x33f89: 0x6c328220, 0x33f8a: 0x6c328420, 0x33f8b: 0x6c328620,\n\t0x33f8c: 0x6c328820, 0x33f8d: 0x6c328a20, 0x33f8e: 0x6c328c20, 0x33f8f: 0x6c328e20,\n\t0x33f90: 0x6c329020, 0x33f91: 0x6c329220, 0x33f92: 0x6c329420, 0x33f93: 0x6c329620,\n\t0x33f94: 0x6c4d0620, 0x33f95: 0x6c4d0820, 0x33f96: 0x6c4d0a20, 0x33f97: 0x6c4d0c20,\n\t0x33f98: 0x6c4d0e20, 0x33f99: 0x6c4d1020, 0x33f9a: 0x6c4d1220, 0x33f9b: 0x6c4d1420,\n\t0x33f9c: 0x6c4d1620, 0x33f9d: 0x6c4d1820, 0x33f9e: 0x6c4d1a20, 0x33f9f: 0x6c4d1c20,\n\t0x33fa0: 0x6c4d1e20, 0x33fa1: 0x6c4d2020, 0x33fa2: 0x6c4d2220, 0x33fa3: 0x6c4d2420,\n\t0x33fa4: 0x6c6ee420, 0x33fa5: 0x6c6ee620, 0x33fa6: 0x6c6ee820, 0x33fa7: 0x6c6eea20,\n\t0x33fa8: 0x6c6eec20, 0x33fa9: 0x6c6eee20, 0x33faa: 0x6c6ef020, 0x33fab: 0x6c6ef220,\n\t0x33fac: 0x6c6ef420, 0x33fad: 0x6c6ef620, 0x33fae: 0x6c967a20, 0x33faf: 0x6c967c20,\n\t0x33fb0: 0x6c967e20, 0x33fb1: 0x6c968020, 0x33fb2: 0x6c968220, 0x33fb3: 0x6c968420,\n\t0x33fb4: 0x6c968620, 0x33fb5: 0x6c968820, 0x33fb6: 0x6c968a20, 0x33fb7: 0x6c968c20,\n\t0x33fb8: 0x6c968e20, 0x33fb9: 0x6c969020, 0x33fba: 0x6c969220, 0x33fbb: 0x6c969420,\n\t0x33fbc: 0x6c969620, 0x33fbd: 0x6c969820, 0x33fbe: 0x6c969a20, 0x33fbf: 0x6c969c20,\n\t// Block 0xcff, offset 0x33fc0\n\t0x33fc0: 0x6cc28e20, 0x33fc1: 0x6cc29020, 0x33fc2: 0x6cc29220, 0x33fc3: 0x6cc29420,\n\t0x33fc4: 0x6cc29620, 0x33fc5: 0x6cc29820, 0x33fc6: 0x6cc29a20, 0x33fc7: 0x6cc29c20,\n\t0x33fc8: 0x6cc29e20, 0x33fc9: 0x6cc2a020, 0x33fca: 0x6cf1d020, 0x33fcb: 0x6cf1d220,\n\t0x33fcc: 0x6cf1d420, 0x33fcd: 0x6cf1d620, 0x33fce: 0x6cf1d820, 0x33fcf: 0x6cf1da20,\n\t0x33fd0: 0x6cf1dc20, 0x33fd1: 0x6cf1de20, 0x33fd2: 0x6d218c20, 0x33fd3: 0x6d218e20,\n\t0x33fd4: 0x6d219020, 0x33fd5: 0x6d219220, 0x33fd6: 0x6d219420, 0x33fd7: 0x6d219620,\n\t0x33fd8: 0x6d219820, 0x33fd9: 0x6d219a20, 0x33fda: 0x6d219c20, 0x33fdb: 0x6d219e20,\n\t0x33fdc: 0x6d21a020, 0x33fdd: 0x6d21a220, 0x33fde: 0x6d4f1220, 0x33fdf: 0x6d4f1420,\n\t0x33fe0: 0x6d4f1620, 0x33fe1: 0x6d4f1820, 0x33fe2: 0x6d4f1a20, 0x33fe3: 0x6d4f1c20,\n\t0x33fe4: 0x6d4f1e20, 0x33fe5: 0x6d7b6c20, 0x33fe6: 0x6d7b6e20, 0x33fe7: 0x6d7b7020,\n\t0x33fe8: 0x6d7b7220, 0x33fe9: 0x6d7b7420, 0x33fea: 0x6d7b7620, 0x33feb: 0x6d8a6c20,\n\t0x33fec: 0x6da3ac20, 0x33fed: 0x6da3ae20, 0x33fee: 0x6da3b020, 0x33fef: 0x6da3b220,\n\t0x33ff0: 0x6da3b420, 0x33ff1: 0x6da3b620, 0x33ff2: 0x6dc54220, 0x33ff3: 0x6dc54420,\n\t0x33ff4: 0x6dc54620, 0x33ff5: 0x6dc54820, 0x33ff6: 0x6dc54a20, 0x33ff7: 0x6dc54c20,\n\t0x33ff8: 0x6de25820, 0x33ff9: 0x6de25a20, 0x33ffa: 0x6de25c20, 0x33ffb: 0x6de25e20,\n\t0x33ffc: 0x6de26020, 0x33ffd: 0x6de26220, 0x33ffe: 0x6de26420, 0x33fff: 0x6dfa0620,\n\t// Block 0xd00, offset 0x34000\n\t0x34000: 0x6dfa0820, 0x34001: 0x6dfa0a20, 0x34002: 0x6dfa0c20, 0x34003: 0x6dfa0e20,\n\t0x34004: 0x6dfa1020, 0x34005: 0x6dfa1220, 0x34006: 0x6e0dae20, 0x34007: 0x6e0db020,\n\t0x34008: 0x6e0db220, 0x34009: 0x6e0db420, 0x3400a: 0x6e1d2420, 0x3400b: 0x6e321420,\n\t0x3400c: 0x6e388220, 0x3400d: 0x6e429620, 0x3400e: 0x6e462820, 0x3400f: 0x6c114c20,\n\t0x34010: 0x6c114e20, 0x34011: 0x6c115020, 0x34012: 0x6c115220, 0x34013: 0x6c1edc20,\n\t0x34014: 0x6c32a020, 0x34015: 0x6c32a220, 0x34016: 0x6c3bf820, 0x34017: 0x6c4d2c20,\n\t0x34018: 0x6c4d2e20, 0x34019: 0x6c4d3020, 0x3401a: 0x6c4d3220, 0x3401b: 0x6c6efa20,\n\t0x3401c: 0x6c6efc20, 0x3401d: 0x6c6efe20, 0x3401e: 0x6c96a220, 0x3401f: 0x6c96a420,\n\t0x34020: 0x6c96a620, 0x34021: 0x6c96a820, 0x34022: 0x6cc2a820, 0x34023: 0x6cc2aa20,\n\t0x34024: 0x6cc2ac20, 0x34025: 0x6cf1e420, 0x34026: 0x6cf1e620, 0x34027: 0x6cf1e820,\n\t0x34028: 0x6d21a820, 0x34029: 0x6d21aa20, 0x3402a: 0x6d21ac20, 0x3402b: 0x6d21ae20,\n\t0x3402c: 0x6d21b020, 0x3402d: 0x6d4f2020, 0x3402e: 0x6d4f2220, 0x3402f: 0x6d7b7e20,\n\t0x34030: 0x6d7adc20, 0x34031: 0x6d7b8020, 0x34032: 0x6da3ba20, 0x34033: 0x6dc55220,\n\t0x34034: 0x6dc55420, 0x34035: 0x6dc55620, 0x34036: 0x6dc55820, 0x34037: 0x6de26a20,\n\t0x34038: 0x6de26c20, 0x34039: 0x6de26e20, 0x3403a: 0x6de27020, 0x3403b: 0x6dfa1420,\n\t0x3403c: 0x6dfa1620, 0x3403d: 0x6e1d2620, 0x3403e: 0x6e28cc20, 0x3403f: 0x6e3d2620,\n\t// Block 0xd01, offset 0x34040\n\t0x34040: 0x6c08fa20, 0x34041: 0x6c08fc20, 0x34042: 0x6c08fe20, 0x34043: 0x6c115820,\n\t0x34044: 0x6c115a20, 0x34045: 0x6c115c20, 0x34046: 0x6c115e20, 0x34047: 0x6c1ee620,\n\t0x34048: 0x6c1ee820, 0x34049: 0x6c32aa20, 0x3404a: 0x6c32ac20, 0x3404b: 0x6c32ae20,\n\t0x3404c: 0x6c32b020, 0x3404d: 0x6c32b220, 0x3404e: 0x6c4d3820, 0x3404f: 0x6c6f0420,\n\t0x34050: 0x6c6f0620, 0x34051: 0x6c6f0820, 0x34052: 0x6c6f0a20, 0x34053: 0x6c6f0c20,\n\t0x34054: 0x6c96b220, 0x34055: 0x6c96b420, 0x34056: 0x6c96b620, 0x34057: 0x6c96b820,\n\t0x34058: 0x6c96ba20, 0x34059: 0x6c96bc20, 0x3405a: 0x6c96be20, 0x3405b: 0x6c96c020,\n\t0x3405c: 0x6c96c220, 0x3405d: 0x6c96c420, 0x3405e: 0x6cc2b420, 0x3405f: 0x6cc2b620,\n\t0x34060: 0x6cc2b820, 0x34061: 0x6cc2ba20, 0x34062: 0x6cc2bc20, 0x34063: 0x6cc2be20,\n\t0x34064: 0x6cf1ec20, 0x34065: 0x6cf1ee20, 0x34066: 0x6cf1f020, 0x34067: 0x6cf1f220,\n\t0x34068: 0x6cf1f420, 0x34069: 0x6d21b820, 0x3406a: 0x6d21ba20, 0x3406b: 0x6d4f2a20,\n\t0x3406c: 0x6d4f2c20, 0x3406d: 0x6d4f2e20, 0x3406e: 0x6d4f3020, 0x3406f: 0x6d4f3220,\n\t0x34070: 0x6d7b8420, 0x34071: 0x6d7b8620, 0x34072: 0x6d7b8820, 0x34073: 0x6d7b8a20,\n\t0x34074: 0x6da3bc20, 0x34075: 0x6dc55c20, 0x34076: 0x6e0db820, 0x34077: 0x6dfa1820,\n\t0x34078: 0x6e1d2a20, 0x34079: 0x6e1d2c20, 0x3407a: 0x6e1d2e20, 0x3407b: 0x6e388620,\n\t0x3407c: 0x6c046220, 0x3407d: 0x6c046420, 0x3407e: 0x6c090220, 0x3407f: 0x6c090420,\n\t// Block 0xd02, offset 0x34080\n\t0x34080: 0x6c116620, 0x34081: 0x6c116820, 0x34082: 0x6c116a20, 0x34083: 0x6c116c20,\n\t0x34084: 0x6c1efe20, 0x34085: 0x6c1f0020, 0x34086: 0x6c1f0220, 0x34087: 0x6c1f0420,\n\t0x34088: 0x6c1f0620, 0x34089: 0x6c1f0820, 0x3408a: 0x6c1f0a20, 0x3408b: 0x6c1f0c20,\n\t0x3408c: 0x6c1f0e20, 0x3408d: 0x6c1f1020, 0x3408e: 0x6c1f1220, 0x3408f: 0x6c1f1420,\n\t0x34090: 0x6c1f1620, 0x34091: 0x6c1f1820, 0x34092: 0x6c32ca20, 0x34093: 0x6c32cc20,\n\t0x34094: 0x6c32ce20, 0x34095: 0x6c32d020, 0x34096: 0x6c32d220, 0x34097: 0x6c32d420,\n\t0x34098: 0x6c32d620, 0x34099: 0x6c32d820, 0x3409a: 0x6c32da20, 0x3409b: 0x6c32dc20,\n\t0x3409c: 0x6c4d6020, 0x3409d: 0x6c4d6220, 0x3409e: 0x6c4d6420, 0x3409f: 0x6c4d6620,\n\t0x340a0: 0x6c4d6820, 0x340a1: 0x6c4d6a20, 0x340a2: 0x6c4d6c20, 0x340a3: 0x6c4d6e20,\n\t0x340a4: 0x6c4d7020, 0x340a5: 0x6c4d7220, 0x340a6: 0x6c4d7420, 0x340a7: 0x6c4d7620,\n\t0x340a8: 0x6c4d7820, 0x340a9: 0x6c4d7a20, 0x340aa: 0x6c6f2420, 0x340ab: 0x6c6f2620,\n\t0x340ac: 0x6c6f2820, 0x340ad: 0x6c6f2a20, 0x340ae: 0x6c6f2c20, 0x340af: 0x6c6f2e20,\n\t0x340b0: 0x6c6f3020, 0x340b1: 0x6c6f3220, 0x340b2: 0x6c6f3420, 0x340b3: 0x6c6f3620,\n\t0x340b4: 0x6c6f3820, 0x340b5: 0x6c6f3a20, 0x340b6: 0x6c6f3c20, 0x340b7: 0x6c6f3e20,\n\t0x340b8: 0x6c6f4020, 0x340b9: 0x6c6f4220, 0x340ba: 0x6c6f4420, 0x340bb: 0x6c6f4620,\n\t0x340bc: 0x6c6f4820, 0x340bd: 0x6c6f4a20, 0x340be: 0x6c6f4c20, 0x340bf: 0x6c6f4e20,\n\t// Block 0xd03, offset 0x340c0\n\t0x340c0: 0x6c6f5020, 0x340c1: 0x6c96ee20, 0x340c2: 0x6c96f020, 0x340c3: 0x6c96f220,\n\t0x340c4: 0x6c96f420, 0x340c5: 0x6c96f620, 0x340c6: 0x6c96f820, 0x340c7: 0x6c96fa20,\n\t0x340c8: 0x6c96fc20, 0x340c9: 0x6c96fe20, 0x340ca: 0x6c970020, 0x340cb: 0x6c970220,\n\t0x340cc: 0x6c970420, 0x340cd: 0x6c970620, 0x340ce: 0x6c970820, 0x340cf: 0x6c970a20,\n\t0x340d0: 0x6c970c20, 0x340d1: 0x6c970e20, 0x340d2: 0x6c971020, 0x340d3: 0x6c971220,\n\t0x340d4: 0x6c971420, 0x340d5: 0x6c971620, 0x340d6: 0x6c971820, 0x340d7: 0x6c971a20,\n\t0x340d8: 0x6c971c20, 0x340d9: 0x6c971e20, 0x340da: 0x6c972020, 0x340db: 0x6c972220,\n\t0x340dc: 0x6c972420, 0x340dd: 0x6c972620, 0x340de: 0x6c972820, 0x340df: 0x6cc2da20,\n\t0x340e0: 0x6cc2dc20, 0x340e1: 0x6cc2de20, 0x340e2: 0x6cc2e020, 0x340e3: 0x6cc2e220,\n\t0x340e4: 0x6cc2e420, 0x340e5: 0x6cc2e620, 0x340e6: 0x6cc2e820, 0x340e7: 0x6cc2ea20,\n\t0x340e8: 0x6cc2ec20, 0x340e9: 0x6cc2ee20, 0x340ea: 0x6cc2f020, 0x340eb: 0x6cc2f220,\n\t0x340ec: 0x6cde5820, 0x340ed: 0x6cc2f420, 0x340ee: 0x6cc2f620, 0x340ef: 0x6cc2f820,\n\t0x340f0: 0x6cc2fa20, 0x340f1: 0x6cc2fc20, 0x340f2: 0x6cf20220, 0x340f3: 0x6cf20420,\n\t0x340f4: 0x6cf20620, 0x340f5: 0x6cf20820, 0x340f6: 0x6cf20a20, 0x340f7: 0x6cf20c20,\n\t0x340f8: 0x6cf20e20, 0x340f9: 0x6cf21020, 0x340fa: 0x6cf21220, 0x340fb: 0x6cf21420,\n\t0x340fc: 0x6cf21620, 0x340fd: 0x6cf21820, 0x340fe: 0x6cf21a20, 0x340ff: 0x6cf21c20,\n\t// Block 0xd04, offset 0x34100\n\t0x34100: 0x6cf21e20, 0x34101: 0x6cf22020, 0x34102: 0x6cf22220, 0x34103: 0x6cf22420,\n\t0x34104: 0x6cf22620, 0x34105: 0x6cf22820, 0x34106: 0x6cf22a20, 0x34107: 0x6cf22c20,\n\t0x34108: 0x6cf22e20, 0x34109: 0x6cf23020, 0x3410a: 0x6cf23220, 0x3410b: 0x6cf23420,\n\t0x3410c: 0x6cf23620, 0x3410d: 0x6cf23820, 0x3410e: 0x6cf23a20, 0x3410f: 0x6d21c820,\n\t0x34110: 0x6d21ca20, 0x34111: 0x6d21cc20, 0x34112: 0x6d21ce20, 0x34113: 0x6d21d020,\n\t0x34114: 0x6d21d220, 0x34115: 0x6d21d420, 0x34116: 0x6d21d620, 0x34117: 0x6d21d820,\n\t0x34118: 0x6d21da20, 0x34119: 0x6d21dc20, 0x3411a: 0x6d21de20, 0x3411b: 0x6d21e020,\n\t0x3411c: 0x6d21e220, 0x3411d: 0x6d21e420, 0x3411e: 0x6d21e620, 0x3411f: 0x6d21e820,\n\t0x34120: 0x6d21ea20, 0x34121: 0x6d21ec20, 0x34122: 0x6d21ee20, 0x34123: 0x6d21f020,\n\t0x34124: 0x6d21f220, 0x34125: 0x6d21f420, 0x34126: 0x6d21f620, 0x34127: 0x6cf23c20,\n\t0x34128: 0x6d21f820, 0x34129: 0x6d21fa20, 0x3412a: 0x6d4f4620, 0x3412b: 0x6d4f4820,\n\t0x3412c: 0x6d4f4a20, 0x3412d: 0x6d4f4c20, 0x3412e: 0x6d4f4e20, 0x3412f: 0x6d4f5020,\n\t0x34130: 0x6d4f5220, 0x34131: 0x6d4f5420, 0x34132: 0x6d4f5620, 0x34133: 0x6d4f5820,\n\t0x34134: 0x6d4f5a20, 0x34135: 0x6d4f5c20, 0x34136: 0x6d4f5e20, 0x34137: 0x6d4f6020,\n\t0x34138: 0x6d4f6220, 0x34139: 0x6d7b9420, 0x3413a: 0x6d7b9620, 0x3413b: 0x6d7b9820,\n\t0x3413c: 0x6d7b9a20, 0x3413d: 0x6d7b9c20, 0x3413e: 0x6d7b9e20, 0x3413f: 0x6d7ba020,\n\t// Block 0xd05, offset 0x34140\n\t0x34140: 0x6d7ba220, 0x34141: 0x6d7ba420, 0x34142: 0x6d7ba620, 0x34143: 0x6d7ba820,\n\t0x34144: 0x6d7baa20, 0x34145: 0x6d912c20, 0x34146: 0x6d7bac20, 0x34147: 0x6d7bae20,\n\t0x34148: 0x6da3c620, 0x34149: 0x6da3c820, 0x3414a: 0x6da3ca20, 0x3414b: 0x6db4d020,\n\t0x3414c: 0x6da3cc20, 0x3414d: 0x6da3ce20, 0x3414e: 0x6da3d020, 0x3414f: 0x6dc55e20,\n\t0x34150: 0x6dc56020, 0x34151: 0x6dc56220, 0x34152: 0x6dc56420, 0x34153: 0x6dc56620,\n\t0x34154: 0x6dc56820, 0x34155: 0x6dc56a20, 0x34156: 0x6dc56c20, 0x34157: 0x6dc56e20,\n\t0x34158: 0x6de27620, 0x34159: 0x6de27820, 0x3415a: 0x6de27a20, 0x3415b: 0x6df7ca20,\n\t0x3415c: 0x6de27c20, 0x3415d: 0x6dfa2020, 0x3415e: 0x6dfa2220, 0x3415f: 0x6dfa2420,\n\t0x34160: 0x6dfa2620, 0x34161: 0x6e01e220, 0x34162: 0x6dfa2820, 0x34163: 0x6e0dbc20,\n\t0x34164: 0x6e0dbe20, 0x34165: 0x6e1d3020, 0x34166: 0x6e28ce20, 0x34167: 0x6e388820,\n\t0x34168: 0x6e403a20, 0x34169: 0x6c01f220, 0x3416a: 0x6c046a20, 0x3416b: 0x6c091020,\n\t0x3416c: 0x6c091220, 0x3416d: 0x6c091420, 0x3416e: 0x6c091620, 0x3416f: 0x6c091820,\n\t0x34170: 0x6c091a20, 0x34171: 0x6c091c20, 0x34172: 0x6c118a20, 0x34173: 0x6c118c20,\n\t0x34174: 0x6c118e20, 0x34175: 0x6c119020, 0x34176: 0x6c119220, 0x34177: 0x6c119420,\n\t0x34178: 0x6c119620, 0x34179: 0x6c119820, 0x3417a: 0x6c119a20, 0x3417b: 0x6c119c20,\n\t0x3417c: 0x6c119e20, 0x3417d: 0x6c11a020, 0x3417e: 0x6c11a220, 0x3417f: 0x6c11a420,\n\t// Block 0xd06, offset 0x34180\n\t0x34180: 0x6c11a620, 0x34181: 0x6c11a820, 0x34182: 0x6c11aa20, 0x34183: 0x6c11ac20,\n\t0x34184: 0x6c11ae20, 0x34185: 0x6c11b020, 0x34186: 0x6c11b220, 0x34187: 0x6c11b420,\n\t0x34188: 0x6c11b620, 0x34189: 0x6c1f8020, 0x3418a: 0x6c1f8220, 0x3418b: 0x6c1f8420,\n\t0x3418c: 0x6c1f8620, 0x3418d: 0x6c1f8820, 0x3418e: 0x6c1f8a20, 0x3418f: 0x6c1f8c20,\n\t0x34190: 0x6c1f8e20, 0x34191: 0x6c1f9020, 0x34192: 0x6c1f9220, 0x34193: 0x6c1f9420,\n\t0x34194: 0x6c1f9620, 0x34195: 0x6c1f9820, 0x34196: 0x6c1f9a20, 0x34197: 0x6c1f9c20,\n\t0x34198: 0x6c1f9e20, 0x34199: 0x6c1fa020, 0x3419a: 0x6c1fa220, 0x3419b: 0x6c1fa420,\n\t0x3419c: 0x6c1fa620, 0x3419d: 0x6c1fa820, 0x3419e: 0x6c1faa20, 0x3419f: 0x6c1fac20,\n\t0x341a0: 0x6c1fae20, 0x341a1: 0x6c1fb020, 0x341a2: 0x6c1fb220, 0x341a3: 0x6c1fb420,\n\t0x341a4: 0x6c1fb620, 0x341a5: 0x6c1fb820, 0x341a6: 0x6c1fba20, 0x341a7: 0x6c1fbc20,\n\t0x341a8: 0x6c1fbe20, 0x341a9: 0x6c1fc020, 0x341aa: 0x6c1fc220, 0x341ab: 0x6c1fc420,\n\t0x341ac: 0x6c1fc620, 0x341ad: 0x6c1fc820, 0x341ae: 0x6c1fca20, 0x341af: 0x6c1fcc20,\n\t0x341b0: 0x6c1fce20, 0x341b1: 0x6c1fd020, 0x341b2: 0x6c1fd220, 0x341b3: 0x6c1fd420,\n\t0x341b4: 0x6c1fd620, 0x341b5: 0x6c1fd820, 0x341b6: 0x6c1fda20, 0x341b7: 0x6c1fdc20,\n\t0x341b8: 0x6c1fde20, 0x341b9: 0x6c1fe020, 0x341ba: 0x6c1fe220, 0x341bb: 0x6c1fe420,\n\t0x341bc: 0x6c1fe620, 0x341bd: 0x6c1fe820, 0x341be: 0x6c1fea20, 0x341bf: 0x6c336420,\n\t// Block 0xd07, offset 0x341c0\n\t0x341c0: 0x6c336620, 0x341c1: 0x6c336820, 0x341c2: 0x6c336a20, 0x341c3: 0x6c336c20,\n\t0x341c4: 0x6c336e20, 0x341c5: 0x6c337020, 0x341c6: 0x6c337220, 0x341c7: 0x6c337420,\n\t0x341c8: 0x6c337620, 0x341c9: 0x6c337820, 0x341ca: 0x6c337a20, 0x341cb: 0x6c337c20,\n\t0x341cc: 0x6c337e20, 0x341cd: 0x6c338020, 0x341ce: 0x6c338220, 0x341cf: 0x6c338420,\n\t0x341d0: 0x6c338620, 0x341d1: 0x6c338820, 0x341d2: 0x6c338a20, 0x341d3: 0x6c338c20,\n\t0x341d4: 0x6c338e20, 0x341d5: 0x6c339020, 0x341d6: 0x6c339220, 0x341d7: 0x6c339420,\n\t0x341d8: 0x6c339620, 0x341d9: 0x6c339820, 0x341da: 0x6c339a20, 0x341db: 0x6c339c20,\n\t0x341dc: 0x6c339e20, 0x341dd: 0x6c33a020, 0x341de: 0x6c33a220, 0x341df: 0x6c33a420,\n\t0x341e0: 0x6c33a620, 0x341e1: 0x6c33a820, 0x341e2: 0x6c33aa20, 0x341e3: 0x6c33ac20,\n\t0x341e4: 0x6c33ae20, 0x341e5: 0x6c33b020, 0x341e6: 0x6c33b220, 0x341e7: 0x6c33b420,\n\t0x341e8: 0x6c33b620, 0x341e9: 0x6c33b820, 0x341ea: 0x6c33ba20, 0x341eb: 0x6c33bc20,\n\t0x341ec: 0x6c33be20, 0x341ed: 0x6c33c020, 0x341ee: 0x6c33c220, 0x341ef: 0x6c33c420,\n\t0x341f0: 0x6c33c620, 0x341f1: 0x6c33c820, 0x341f2: 0x6c33ca20, 0x341f3: 0x6c33cc20,\n\t0x341f4: 0x6c4e1420, 0x341f5: 0x6c4e1620, 0x341f6: 0x6c4e1820, 0x341f7: 0x6c4e1a20,\n\t0x341f8: 0x6c4e1c20, 0x341f9: 0x6c4e1e20, 0x341fa: 0x6c4e2020, 0x341fb: 0x6c4e2220,\n\t0x341fc: 0x6c4e2420, 0x341fd: 0x6c4e2620, 0x341fe: 0x6c4e2820, 0x341ff: 0x6c4e2a20,\n\t// Block 0xd08, offset 0x34200\n\t0x34200: 0x6c4e2c20, 0x34201: 0x6c4e2e20, 0x34202: 0x6c4e3020, 0x34203: 0x6c4e3220,\n\t0x34204: 0x6c4e3420, 0x34205: 0x6c4e3620, 0x34206: 0x6c4e3820, 0x34207: 0x6c4e3a20,\n\t0x34208: 0x6c4e3c20, 0x34209: 0x6c4e3e20, 0x3420a: 0x6c4e4020, 0x3420b: 0x6c4e4220,\n\t0x3420c: 0x6c4e4420, 0x3420d: 0x6c4e4620, 0x3420e: 0x6c4e4820, 0x3420f: 0x6c4e4a20,\n\t0x34210: 0x6c4e4c20, 0x34211: 0x6c4e4e20, 0x34212: 0x6c4e5020, 0x34213: 0x6c4e5220,\n\t0x34214: 0x6c4e5420, 0x34215: 0x6c4e5620, 0x34216: 0x6c4e5820, 0x34217: 0x6c4e5a20,\n\t0x34218: 0x6c4e5c20, 0x34219: 0x6c4e5e20, 0x3421a: 0x6c4e6020, 0x3421b: 0x6c4e6220,\n\t0x3421c: 0x6c4e6420, 0x3421d: 0x6c4e6620, 0x3421e: 0x6c4e6820, 0x3421f: 0x6c4e6a20,\n\t0x34220: 0x6c4e6c20, 0x34221: 0x6c4e6e20, 0x34222: 0x6c4e7020, 0x34223: 0x6c4e7220,\n\t0x34224: 0x6c4e7420, 0x34225: 0x6c4e7620, 0x34226: 0x6c4e7820, 0x34227: 0x6c4e7a20,\n\t0x34228: 0x6c4e7c20, 0x34229: 0x6c4e7e20, 0x3422a: 0x6c4e8020, 0x3422b: 0x6c4e8220,\n\t0x3422c: 0x6c4e8420, 0x3422d: 0x6c4e8620, 0x3422e: 0x6c4e8820, 0x3422f: 0x6c4e8a20,\n\t0x34230: 0x6c4e8c20, 0x34231: 0x6c6fe420, 0x34232: 0x6c6fe620, 0x34233: 0x6c6fe820,\n\t0x34234: 0x6c6fea20, 0x34235: 0x6c6fec20, 0x34236: 0x6c6fee20, 0x34237: 0x6c6ff020,\n\t0x34238: 0x6c6ff220, 0x34239: 0x6c6ff420, 0x3423a: 0x6c6ff620, 0x3423b: 0x6c6ff820,\n\t0x3423c: 0x6c6ffa20, 0x3423d: 0x6c6ffc20, 0x3423e: 0x6c6ffe20, 0x3423f: 0x6c700020,\n\t// Block 0xd09, offset 0x34240\n\t0x34240: 0x6c700220, 0x34241: 0x6c700420, 0x34242: 0x6c700620, 0x34243: 0x6c700820,\n\t0x34244: 0x6c700a20, 0x34245: 0x6c700c20, 0x34246: 0x6c700e20, 0x34247: 0x6c701020,\n\t0x34248: 0x6c701220, 0x34249: 0x6c701420, 0x3424a: 0x6c701620, 0x3424b: 0x6c701820,\n\t0x3424c: 0x6c701a20, 0x3424d: 0x6c701c20, 0x3424e: 0x6c701e20, 0x3424f: 0x6c702020,\n\t0x34250: 0x6c702220, 0x34251: 0x6c702420, 0x34252: 0x6c702620, 0x34253: 0x6c702820,\n\t0x34254: 0x6c702a20, 0x34255: 0x6c702c20, 0x34256: 0x6c702e20, 0x34257: 0x6c703020,\n\t0x34258: 0x6c703220, 0x34259: 0x6c703420, 0x3425a: 0x6c703620, 0x3425b: 0x6c703820,\n\t0x3425c: 0x6c703a20, 0x3425d: 0x6c703c20, 0x3425e: 0x6c703e20, 0x3425f: 0x6c704020,\n\t0x34260: 0x6c704220, 0x34261: 0x6c704420, 0x34262: 0x6c704620, 0x34263: 0x6c704820,\n\t0x34264: 0x6c704a20, 0x34265: 0x6c704c20, 0x34266: 0x6c704e20, 0x34267: 0x6c705020,\n\t0x34268: 0x6c705220, 0x34269: 0x6c705420, 0x3426a: 0x6c705620, 0x3426b: 0x6c705820,\n\t0x3426c: 0x6c705a20, 0x3426d: 0x6c705c20, 0x3426e: 0x6c705e20, 0x3426f: 0x6c706020,\n\t0x34270: 0x6c706220, 0x34271: 0x6c706420, 0x34272: 0x6c706620, 0x34273: 0x6c706820,\n\t0x34274: 0x6c706a20, 0x34275: 0x6c706c20, 0x34276: 0x6c706e20, 0x34277: 0x6c707020,\n\t0x34278: 0x6c707220, 0x34279: 0x6c707420, 0x3427a: 0x6c707620, 0x3427b: 0x6c707820,\n\t0x3427c: 0x6c707a20, 0x3427d: 0x6c707c20, 0x3427e: 0x6c707e20, 0x3427f: 0x6c708020,\n\t// Block 0xd0a, offset 0x34280\n\t0x34280: 0x6c97d620, 0x34281: 0x6c97d820, 0x34282: 0x6c97da20, 0x34283: 0x6c97dc20,\n\t0x34284: 0x6c97de20, 0x34285: 0x6c97e020, 0x34286: 0x6c97e220, 0x34287: 0x6c97e420,\n\t0x34288: 0x6c97e620, 0x34289: 0x6c97e820, 0x3428a: 0x6c97ea20, 0x3428b: 0x6c97ec20,\n\t0x3428c: 0x6c97ee20, 0x3428d: 0x6c97f020, 0x3428e: 0x6c97f220, 0x3428f: 0x6c97f420,\n\t0x34290: 0x6c97f620, 0x34291: 0x6c97f820, 0x34292: 0x6c97fa20, 0x34293: 0x6c97fc20,\n\t0x34294: 0x6c97fe20, 0x34295: 0x6c980020, 0x34296: 0x6c980220, 0x34297: 0x6c980420,\n\t0x34298: 0x6c980620, 0x34299: 0x6c980820, 0x3429a: 0x6c980a20, 0x3429b: 0x6c980c20,\n\t0x3429c: 0x6c980e20, 0x3429d: 0x6c981020, 0x3429e: 0x6c981220, 0x3429f: 0x6c981420,\n\t0x342a0: 0x6c981620, 0x342a1: 0x6c981820, 0x342a2: 0x6c981a20, 0x342a3: 0x6c981c20,\n\t0x342a4: 0x6c981e20, 0x342a5: 0x6c982020, 0x342a6: 0x6c982220, 0x342a7: 0x6c982420,\n\t0x342a8: 0x6c982620, 0x342a9: 0x6c982820, 0x342aa: 0x6c982a20, 0x342ab: 0x6c982c20,\n\t0x342ac: 0x6c982e20, 0x342ad: 0x6c983020, 0x342ae: 0x6c983220, 0x342af: 0x6c983420,\n\t0x342b0: 0x6c983620, 0x342b1: 0x6c983820, 0x342b2: 0x6c983a20, 0x342b3: 0x6c983c20,\n\t0x342b4: 0x6c983e20, 0x342b5: 0x6c984020, 0x342b6: 0x6c984220, 0x342b7: 0x6c984420,\n\t0x342b8: 0x6c984620, 0x342b9: 0x6c984820, 0x342ba: 0x6c984a20, 0x342bb: 0x6c984c20,\n\t0x342bc: 0x6c984e20, 0x342bd: 0x6c985020, 0x342be: 0x6c985220, 0x342bf: 0x6c985420,\n\t// Block 0xd0b, offset 0x342c0\n\t0x342c0: 0x6c985620, 0x342c1: 0x6c985820, 0x342c2: 0x6c985a20, 0x342c3: 0x6c985c20,\n\t0x342c4: 0x6c985e20, 0x342c5: 0x6c986020, 0x342c6: 0x6c986220, 0x342c7: 0x6c986420,\n\t0x342c8: 0x6c986620, 0x342c9: 0x6c986820, 0x342ca: 0x6c986a20, 0x342cb: 0x6c986c20,\n\t0x342cc: 0x6c986e20, 0x342cd: 0x6c987020, 0x342ce: 0x6c987220, 0x342cf: 0x6c987420,\n\t0x342d0: 0x6c987620, 0x342d1: 0x6c987820, 0x342d2: 0x6c987a20, 0x342d3: 0x6c987c20,\n\t0x342d4: 0x6c987e20, 0x342d5: 0x6c988020, 0x342d6: 0x6c988220, 0x342d7: 0x6c988420,\n\t0x342d8: 0x6c988620, 0x342d9: 0x6c988820, 0x342da: 0x6c988a20, 0x342db: 0x6c988c20,\n\t0x342dc: 0x6c988e20, 0x342dd: 0x6c989020, 0x342de: 0x6c989220, 0x342df: 0x6c989420,\n\t0x342e0: 0x6c989620, 0x342e1: 0x6c989820, 0x342e2: 0x6c989a20, 0x342e3: 0x6c989c20,\n\t0x342e4: 0x6c989e20, 0x342e5: 0x6c98a020, 0x342e6: 0x6c98a220, 0x342e7: 0x6c98a420,\n\t0x342e8: 0x6cc3ac20, 0x342e9: 0x6cc3ae20, 0x342ea: 0x6cc3b020, 0x342eb: 0x6cc3b220,\n\t0x342ec: 0x6cc3b420, 0x342ed: 0x6cc3b620, 0x342ee: 0x6cc3b820, 0x342ef: 0x6cc3ba20,\n\t0x342f0: 0x6cc3bc20, 0x342f1: 0x6cc3be20, 0x342f2: 0x6cc3c020, 0x342f3: 0x6cc3c220,\n\t0x342f4: 0x6cc3c420, 0x342f5: 0x6cc3c620, 0x342f6: 0x6cc3c820, 0x342f7: 0x6cc3ca20,\n\t0x342f8: 0x6cc3cc20, 0x342f9: 0x6cc3ce20, 0x342fa: 0x6cc3d020, 0x342fb: 0x6cc3d220,\n\t0x342fc: 0x6cc3d420, 0x342fd: 0x6cc3d620, 0x342fe: 0x6cc3d820, 0x342ff: 0x6cc3da20,\n\t// Block 0xd0c, offset 0x34300\n\t0x34300: 0x6cc3dc20, 0x34301: 0x6cc3de20, 0x34302: 0x6cc3e020, 0x34303: 0x6cc3e220,\n\t0x34304: 0x6cc3e420, 0x34305: 0x6cc3e620, 0x34306: 0x6cc3e820, 0x34307: 0x6cc3ea20,\n\t0x34308: 0x6cc3ec20, 0x34309: 0x6cc3ee20, 0x3430a: 0x6cc3f020, 0x3430b: 0x6cc3f220,\n\t0x3430c: 0x6cc3f420, 0x3430d: 0x6cc3f620, 0x3430e: 0x6cc3f820, 0x3430f: 0x6cc3fa20,\n\t0x34310: 0x6cc3fc20, 0x34311: 0x6cc3fe20, 0x34312: 0x6cc40020, 0x34313: 0x6cc40220,\n\t0x34314: 0x6cc40420, 0x34315: 0x6cc40620, 0x34316: 0x6cc40820, 0x34317: 0x6cc40a20,\n\t0x34318: 0x6cc40c20, 0x34319: 0x6cc40e20, 0x3431a: 0x6cc41020, 0x3431b: 0x6cc41220,\n\t0x3431c: 0x6cc41420, 0x3431d: 0x6cc41620, 0x3431e: 0x6cc41820, 0x3431f: 0x6cc41a20,\n\t0x34320: 0x6cc41c20, 0x34321: 0x6cc41e20, 0x34322: 0x6cc42020, 0x34323: 0x6cc42220,\n\t0x34324: 0x6cc42420, 0x34325: 0x6cc42620, 0x34326: 0x6cc42820, 0x34327: 0x6cc42a20,\n\t0x34328: 0x6cc42c20, 0x34329: 0x6cc42e20, 0x3432a: 0x6cc43020, 0x3432b: 0x6cc43220,\n\t0x3432c: 0x6cc43420, 0x3432d: 0x6cc43620, 0x3432e: 0x6cc43820, 0x3432f: 0x6cc43a20,\n\t0x34330: 0x6cc43c20, 0x34331: 0x6cc43e20, 0x34332: 0x6cc44020, 0x34333: 0x6cc44220,\n\t0x34334: 0x6cc44420, 0x34335: 0x6cc44620, 0x34336: 0x6cc44820, 0x34337: 0x6cc44a20,\n\t0x34338: 0x6cc44c20, 0x34339: 0x6cc44e20, 0x3433a: 0x6cc45020, 0x3433b: 0x6cc45220,\n\t0x3433c: 0x6cc45420, 0x3433d: 0x6cc45620, 0x3433e: 0x6cc45820, 0x3433f: 0x6cc45a20,\n\t// Block 0xd0d, offset 0x34340\n\t0x34340: 0x6cc45c20, 0x34341: 0x6cc45e20, 0x34342: 0x6cc46020, 0x34343: 0x6cc46220,\n\t0x34344: 0x6cc46420, 0x34345: 0x6cc46620, 0x34346: 0x6cc46820, 0x34347: 0x6cc46a20,\n\t0x34348: 0x6cc46c20, 0x34349: 0x6cc46e20, 0x3434a: 0x6cc47020, 0x3434b: 0x6cc47220,\n\t0x3434c: 0x6cc47420, 0x3434d: 0x6cf2b620, 0x3434e: 0x6cf2b820, 0x3434f: 0x6cf2ba20,\n\t0x34350: 0x6cf2bc20, 0x34351: 0x6cf2be20, 0x34352: 0x6cf2c020, 0x34353: 0x6cf2c220,\n\t0x34354: 0x6cf2c420, 0x34355: 0x6cf2c620, 0x34356: 0x6cf2c820, 0x34357: 0x6cf2ca20,\n\t0x34358: 0x6cf2cc20, 0x34359: 0x6cf2ce20, 0x3435a: 0x6cf2d020, 0x3435b: 0x6cf2d220,\n\t0x3435c: 0x6cf2d420, 0x3435d: 0x6cf2d620, 0x3435e: 0x6cf2d820, 0x3435f: 0x6cf2da20,\n\t0x34360: 0x6cf2dc20, 0x34361: 0x6cf2de20, 0x34362: 0x6cf2e020, 0x34363: 0x6cf2e220,\n\t0x34364: 0x6cf2e420, 0x34365: 0x6cf2e620, 0x34366: 0x6cf2e820, 0x34367: 0x6cf2ea20,\n\t0x34368: 0x6cf2ec20, 0x34369: 0x6cf2ee20, 0x3436a: 0x6cf2f020, 0x3436b: 0x6cf2f220,\n\t0x3436c: 0x6cf2f420, 0x3436d: 0x6cf2f620, 0x3436e: 0x6cf2f820, 0x3436f: 0x6cf2fa20,\n\t0x34370: 0x6cf2fc20, 0x34371: 0x6cf2fe20, 0x34372: 0x6cf30020, 0x34373: 0x6cf30220,\n\t0x34374: 0x6cf30420, 0x34375: 0x6cf30620, 0x34376: 0x6cf30820, 0x34377: 0x6cf30a20,\n\t0x34378: 0x6cf30c20, 0x34379: 0x6cf30e20, 0x3437a: 0x6cf31020, 0x3437b: 0x6cf31220,\n\t0x3437c: 0x6cf31420, 0x3437d: 0x6cf31620, 0x3437e: 0x6cf31820, 0x3437f: 0x6cf31a20,\n\t// Block 0xd0e, offset 0x34380\n\t0x34380: 0x6cf31c20, 0x34381: 0x6cf31e20, 0x34382: 0x6cf32020, 0x34383: 0x6cf32220,\n\t0x34384: 0x6cf32420, 0x34385: 0x6cf32620, 0x34386: 0x6cf32820, 0x34387: 0x6cf32a20,\n\t0x34388: 0x6cf32c20, 0x34389: 0x6cf32e20, 0x3438a: 0x6cf33020, 0x3438b: 0x6cf33220,\n\t0x3438c: 0x6cf33420, 0x3438d: 0x6cf33620, 0x3438e: 0x6cf33820, 0x3438f: 0x6cf33a20,\n\t0x34390: 0x6cf33c20, 0x34391: 0x6cf33e20, 0x34392: 0x6cf34020, 0x34393: 0x6cf34220,\n\t0x34394: 0x6cf34420, 0x34395: 0x6cf34620, 0x34396: 0x6cf34820, 0x34397: 0x6cf34a20,\n\t0x34398: 0x6cf34c20, 0x34399: 0x6cf34e20, 0x3439a: 0x6cf35020, 0x3439b: 0x6cf35220,\n\t0x3439c: 0x6cf35420, 0x3439d: 0x6cf35620, 0x3439e: 0x6cf35820, 0x3439f: 0x6cf35a20,\n\t0x343a0: 0x6d227c20, 0x343a1: 0x6d227e20, 0x343a2: 0x6d228020, 0x343a3: 0x6d228220,\n\t0x343a4: 0x6d228420, 0x343a5: 0x6d228620, 0x343a6: 0x6d228820, 0x343a7: 0x6d228a20,\n\t0x343a8: 0x6d228c20, 0x343a9: 0x6d228e20, 0x343aa: 0x6d229020, 0x343ab: 0x6d229220,\n\t0x343ac: 0x6d229420, 0x343ad: 0x6d229620, 0x343ae: 0x6d229820, 0x343af: 0x6d229a20,\n\t0x343b0: 0x6d229c20, 0x343b1: 0x6d229e20, 0x343b2: 0x6d22a020, 0x343b3: 0x6d22a220,\n\t0x343b4: 0x6d22a420, 0x343b5: 0x6d22a620, 0x343b6: 0x6d22a820, 0x343b7: 0x6d22aa20,\n\t0x343b8: 0x6d22ac20, 0x343b9: 0x6d22ae20, 0x343ba: 0x6d22b020, 0x343bb: 0x6d22b220,\n\t0x343bc: 0x6d22b420, 0x343bd: 0x6d22b620, 0x343be: 0x6d22b820, 0x343bf: 0x6d22ba20,\n\t// Block 0xd0f, offset 0x343c0\n\t0x343c0: 0x6d22bc20, 0x343c1: 0x6d22be20, 0x343c2: 0x6d22c020, 0x343c3: 0x6d22c220,\n\t0x343c4: 0x6d22c420, 0x343c5: 0x6d22c620, 0x343c6: 0x6d22c820, 0x343c7: 0x6d22ca20,\n\t0x343c8: 0x6d22cc20, 0x343c9: 0x6d22ce20, 0x343ca: 0x6d22d020, 0x343cb: 0x6d22d220,\n\t0x343cc: 0x6d22d420, 0x343cd: 0x6d22d620, 0x343ce: 0x6d22d820, 0x343cf: 0x6d22da20,\n\t0x343d0: 0x6d22dc20, 0x343d1: 0x6d22de20, 0x343d2: 0x6d22e020, 0x343d3: 0x6d22e220,\n\t0x343d4: 0x6d22e420, 0x343d5: 0x6d22e620, 0x343d6: 0x6d22e820, 0x343d7: 0x6d22ea20,\n\t0x343d8: 0x6d22ec20, 0x343d9: 0x6d22ee20, 0x343da: 0x6d22f020, 0x343db: 0x6d22f220,\n\t0x343dc: 0x6d22f420, 0x343dd: 0x6d22f620, 0x343de: 0x6d22f820, 0x343df: 0x6d22fa20,\n\t0x343e0: 0x6d22fc20, 0x343e1: 0x6d22fe20, 0x343e2: 0x6d230020, 0x343e3: 0x6d230220,\n\t0x343e4: 0x6d230420, 0x343e5: 0x6d230620, 0x343e6: 0x6d230820, 0x343e7: 0x6d230a20,\n\t0x343e8: 0x6d230c20, 0x343e9: 0x6d230e20, 0x343ea: 0x6d231020, 0x343eb: 0x6d231220,\n\t0x343ec: 0x6d231420, 0x343ed: 0x6d231620, 0x343ee: 0x6d231820, 0x343ef: 0x6d231a20,\n\t0x343f0: 0x6d231c20, 0x343f1: 0x6d4ff020, 0x343f2: 0x6d4ff220, 0x343f3: 0x6d4ff420,\n\t0x343f4: 0x6d4ff620, 0x343f5: 0x6d4ff820, 0x343f6: 0x6d4ffa20, 0x343f7: 0x6d4ffc20,\n\t0x343f8: 0x6d4ffe20, 0x343f9: 0x6d500020, 0x343fa: 0x6d500220, 0x343fb: 0x6d500420,\n\t0x343fc: 0x6d500620, 0x343fd: 0x6d500820, 0x343fe: 0x6d500a20, 0x343ff: 0x6d500c20,\n\t// Block 0xd10, offset 0x34400\n\t0x34400: 0x6d500e20, 0x34401: 0x6d501020, 0x34402: 0x6d501220, 0x34403: 0x6d501420,\n\t0x34404: 0x6d501620, 0x34405: 0x6d501820, 0x34406: 0x6d501a20, 0x34407: 0x6d501c20,\n\t0x34408: 0x6d501e20, 0x34409: 0x6d502020, 0x3440a: 0x6d502220, 0x3440b: 0x6d502420,\n\t0x3440c: 0x6d502620, 0x3440d: 0x6d502820, 0x3440e: 0x6d502a20, 0x3440f: 0x6d502c20,\n\t0x34410: 0x6d502e20, 0x34411: 0x6d503020, 0x34412: 0x6d503220, 0x34413: 0x6d503420,\n\t0x34414: 0x6d503620, 0x34415: 0x6d503820, 0x34416: 0x6d503a20, 0x34417: 0x6d503c20,\n\t0x34418: 0x6d503e20, 0x34419: 0x6d504020, 0x3441a: 0x6d504220, 0x3441b: 0x6d504420,\n\t0x3441c: 0x6d504620, 0x3441d: 0x6d504820, 0x3441e: 0x6d504a20, 0x3441f: 0x6d504c20,\n\t0x34420: 0x6d504e20, 0x34421: 0x6d505020, 0x34422: 0x6d505220, 0x34423: 0x6d505420,\n\t0x34424: 0x6d505620, 0x34425: 0x6d505820, 0x34426: 0x6d505a20, 0x34427: 0x6d505c20,\n\t0x34428: 0x6d505e20, 0x34429: 0x6d506020, 0x3442a: 0x6d506220, 0x3442b: 0x6d506420,\n\t0x3442c: 0x6d506620, 0x3442d: 0x6d506820, 0x3442e: 0x6d506a20, 0x3442f: 0x6d506c20,\n\t0x34430: 0x6d506e20, 0x34431: 0x6d507020, 0x34432: 0x6d507220, 0x34433: 0x6d507420,\n\t0x34434: 0x6d507620, 0x34435: 0x6d507820, 0x34436: 0x6d507a20, 0x34437: 0x6d507c20,\n\t0x34438: 0x6d507e20, 0x34439: 0x6d508020, 0x3443a: 0x6d508220, 0x3443b: 0x6d508420,\n\t0x3443c: 0x6d508620, 0x3443d: 0x6d508820, 0x3443e: 0x6d508a20, 0x3443f: 0x6d508c20,\n\t// Block 0xd11, offset 0x34440\n\t0x34440: 0x6d508e20, 0x34441: 0x6d509020, 0x34442: 0x6d509220, 0x34443: 0x6d509420,\n\t0x34444: 0x6d509620, 0x34445: 0x6d509820, 0x34446: 0x6d509a20, 0x34447: 0x6d509c20,\n\t0x34448: 0x6d509e20, 0x34449: 0x6d50a020, 0x3444a: 0x6d50a220, 0x3444b: 0x6d50a420,\n\t0x3444c: 0x6d50a620, 0x3444d: 0x6d50a820, 0x3444e: 0x6d50aa20, 0x3444f: 0x6d50ac20,\n\t0x34450: 0x6d50ae20, 0x34451: 0x6d50b020, 0x34452: 0x6d7c0220, 0x34453: 0x6d7c0420,\n\t0x34454: 0x6d7c0620, 0x34455: 0x6d7c0820, 0x34456: 0x6d7c0a20, 0x34457: 0x6d7c0c20,\n\t0x34458: 0x6d7c0e20, 0x34459: 0x6d7c1020, 0x3445a: 0x6d7c1220, 0x3445b: 0x6d7c1420,\n\t0x3445c: 0x6d7c1620, 0x3445d: 0x6d7c1820, 0x3445e: 0x6d7c1a20, 0x3445f: 0x6d7c1c20,\n\t0x34460: 0x6d7c1e20, 0x34461: 0x6d7c2020, 0x34462: 0x6d7c2220, 0x34463: 0x6d7c2420,\n\t0x34464: 0x6d7c2620, 0x34465: 0x6d7c2820, 0x34466: 0x6d7c2a20, 0x34467: 0x6d7c2c20,\n\t0x34468: 0x6d7c2e20, 0x34469: 0x6d7c3020, 0x3446a: 0x6d7c3220, 0x3446b: 0x6d7c3420,\n\t0x3446c: 0x6d7c3620, 0x3446d: 0x6d7c3820, 0x3446e: 0x6d7c3a20, 0x3446f: 0x6d7c3c20,\n\t0x34470: 0x6d7c3e20, 0x34471: 0x6d7c4020, 0x34472: 0x6d7c4220, 0x34473: 0x6d7c4420,\n\t0x34474: 0x6d7c4620, 0x34475: 0x6d7c4820, 0x34476: 0x6d7c4a20, 0x34477: 0x6d7c4c20,\n\t0x34478: 0x6d7c4e20, 0x34479: 0x6d7c5020, 0x3447a: 0x6d7c5220, 0x3447b: 0x6d7c5420,\n\t0x3447c: 0x6d7c5620, 0x3447d: 0x6d7c5820, 0x3447e: 0x6d7c5a20, 0x3447f: 0x6d7c5c20,\n\t// Block 0xd12, offset 0x34480\n\t0x34480: 0x6d7c5e20, 0x34481: 0x6d7c6020, 0x34482: 0x6d7c6220, 0x34483: 0x6d7c6420,\n\t0x34484: 0x6d7c6620, 0x34485: 0x6d7c6820, 0x34486: 0x6d7c6a20, 0x34487: 0x6d7c6c20,\n\t0x34488: 0x6d7c6e20, 0x34489: 0x6d7c7020, 0x3448a: 0x6d7c7220, 0x3448b: 0x6d7c7420,\n\t0x3448c: 0x6d7c7620, 0x3448d: 0x6d7c7820, 0x3448e: 0x6da40820, 0x3448f: 0x6da40a20,\n\t0x34490: 0x6da40c20, 0x34491: 0x6da40e20, 0x34492: 0x6da41020, 0x34493: 0x6da41220,\n\t0x34494: 0x6da41420, 0x34495: 0x6da41620, 0x34496: 0x6da41820, 0x34497: 0x6da41a20,\n\t0x34498: 0x6da41c20, 0x34499: 0x6da41e20, 0x3449a: 0x6da42020, 0x3449b: 0x6da42220,\n\t0x3449c: 0x6da42420, 0x3449d: 0x6da42620, 0x3449e: 0x6da42820, 0x3449f: 0x6da42a20,\n\t0x344a0: 0x6da42c20, 0x344a1: 0x6da42e20, 0x344a2: 0x6da43020, 0x344a3: 0x6da43220,\n\t0x344a4: 0x6da43420, 0x344a5: 0x6da43620, 0x344a6: 0x6da43820, 0x344a7: 0x6da43a20,\n\t0x344a8: 0x6da43c20, 0x344a9: 0x6da43e20, 0x344aa: 0x6da44020, 0x344ab: 0x6da44220,\n\t0x344ac: 0x6da44420, 0x344ad: 0x6da44620, 0x344ae: 0x6da44820, 0x344af: 0x6da44a20,\n\t0x344b0: 0x6da44c20, 0x344b1: 0x6da44e20, 0x344b2: 0x6da45020, 0x344b3: 0x6da45220,\n\t0x344b4: 0x6da45420, 0x344b5: 0x6da45620, 0x344b6: 0x6da45820, 0x344b7: 0x6da45a20,\n\t0x344b8: 0x6da45c20, 0x344b9: 0x6da45e20, 0x344ba: 0x6da46020, 0x344bb: 0x6dc59e20,\n\t0x344bc: 0x6dc5a020, 0x344bd: 0x6dc5a220, 0x344be: 0x6dc5a420, 0x344bf: 0x6dc5a620,\n\t// Block 0xd13, offset 0x344c0\n\t0x344c0: 0x6dc5a820, 0x344c1: 0x6dc5aa20, 0x344c2: 0x6dc5ac20, 0x344c3: 0x6dc5ae20,\n\t0x344c4: 0x6dc5b020, 0x344c5: 0x6dc5b220, 0x344c6: 0x6dc5b420, 0x344c7: 0x6dc5b620,\n\t0x344c8: 0x6dc5b820, 0x344c9: 0x6dc5ba20, 0x344ca: 0x6dc5bc20, 0x344cb: 0x6dc5be20,\n\t0x344cc: 0x6dc5c020, 0x344cd: 0x6dc5c220, 0x344ce: 0x6dc5c420, 0x344cf: 0x6dc5c620,\n\t0x344d0: 0x6dc5c820, 0x344d1: 0x6dc5ca20, 0x344d2: 0x6dc5cc20, 0x344d3: 0x6dc5ce20,\n\t0x344d4: 0x6dc5d020, 0x344d5: 0x6dc5d220, 0x344d6: 0x6dc5d420, 0x344d7: 0x6dc5d620,\n\t0x344d8: 0x6dc5d820, 0x344d9: 0x6dc5da20, 0x344da: 0x6dc5dc20, 0x344db: 0x6dc5de20,\n\t0x344dc: 0x6dc5e020, 0x344dd: 0x6dc5e220, 0x344de: 0x6dc5e420, 0x344df: 0x6dc5e620,\n\t0x344e0: 0x6dc5e820, 0x344e1: 0x6dc5ea20, 0x344e2: 0x6dc5ec20, 0x344e3: 0x6dc5ee20,\n\t0x344e4: 0x6dc5f020, 0x344e5: 0x6dc5f220, 0x344e6: 0x6de29020, 0x344e7: 0x6de29220,\n\t0x344e8: 0x6de29420, 0x344e9: 0x6de29620, 0x344ea: 0x6de29820, 0x344eb: 0x6de29a20,\n\t0x344ec: 0x6de29c20, 0x344ed: 0x6de29e20, 0x344ee: 0x6de2a020, 0x344ef: 0x6de2a220,\n\t0x344f0: 0x6de2a420, 0x344f1: 0x6de2a620, 0x344f2: 0x6de2a820, 0x344f3: 0x6de2aa20,\n\t0x344f4: 0x6de2ac20, 0x344f5: 0x6de2ae20, 0x344f6: 0x6de2b020, 0x344f7: 0x6de2b220,\n\t0x344f8: 0x6de2b420, 0x344f9: 0x6de2b620, 0x344fa: 0x6de2b820, 0x344fb: 0x6de2ba20,\n\t0x344fc: 0x6de2bc20, 0x344fd: 0x6de2be20, 0x344fe: 0x6de2c020, 0x344ff: 0x6de2c220,\n\t// Block 0xd14, offset 0x34500\n\t0x34500: 0x6de2c420, 0x34501: 0x6de2c620, 0x34502: 0x6de2c820, 0x34503: 0x6de2ca20,\n\t0x34504: 0x6de2cc20, 0x34505: 0x6de2ce20, 0x34506: 0x6de2d020, 0x34507: 0x6de2d220,\n\t0x34508: 0x6de2d420, 0x34509: 0x6de2d620, 0x3450a: 0x6de2d820, 0x3450b: 0x6dfa3a20,\n\t0x3450c: 0x6dfa3c20, 0x3450d: 0x6dfa3e20, 0x3450e: 0x6dfa4020, 0x3450f: 0x6dfa4220,\n\t0x34510: 0x6dfa4420, 0x34511: 0x6dfa4620, 0x34512: 0x6dfa4820, 0x34513: 0x6dfa4a20,\n\t0x34514: 0x6dfa4c20, 0x34515: 0x6dfa4e20, 0x34516: 0x6dfa5020, 0x34517: 0x6e0dc620,\n\t0x34518: 0x6e0dc820, 0x34519: 0x6e0dca20, 0x3451a: 0x6e0dcc20, 0x3451b: 0x6e0dce20,\n\t0x3451c: 0x6e0dd020, 0x3451d: 0x6e0dd220, 0x3451e: 0x6e0dd420, 0x3451f: 0x6e0dd620,\n\t0x34520: 0x6e0dd820, 0x34521: 0x6e0dda20, 0x34522: 0x6e0ddc20, 0x34523: 0x6e0dde20,\n\t0x34524: 0x6e0de020, 0x34525: 0x6e1d3a20, 0x34526: 0x6e1d3c20, 0x34527: 0x6e1d3e20,\n\t0x34528: 0x6e1d4020, 0x34529: 0x6e1d4220, 0x3452a: 0x6e1d4420, 0x3452b: 0x6e1d4620,\n\t0x3452c: 0x6e1d4820, 0x3452d: 0x6e1d4a20, 0x3452e: 0x6e1d4c20, 0x3452f: 0x6e28d820,\n\t0x34530: 0x6e28da20, 0x34531: 0x6e28dc20, 0x34532: 0x6e28de20, 0x34533: 0x6e28e020,\n\t0x34534: 0x6e28e220, 0x34535: 0x6e28e420, 0x34536: 0x6e28e620, 0x34537: 0x6e28e820,\n\t0x34538: 0x6e28ea20, 0x34539: 0x6e28ec20, 0x3453a: 0x6e28ee20, 0x3453b: 0x6e321620,\n\t0x3453c: 0x6e321820, 0x3453d: 0x6e321a20, 0x3453e: 0x6e321c20, 0x3453f: 0x6e321e20,\n\t// Block 0xd15, offset 0x34540\n\t0x34540: 0x6e322020, 0x34541: 0x6e322220, 0x34542: 0x6e322420, 0x34543: 0x6e3d2820,\n\t0x34544: 0x6e3d2a20, 0x34545: 0x6e403e20, 0x34546: 0x6e404020, 0x34547: 0x6e404220,\n\t0x34548: 0x6e429a20, 0x34549: 0x6e429c20, 0x3454a: 0x6e451c20, 0x3454b: 0x6e45c020,\n\t0x3454c: 0x6c092620, 0x3454d: 0x6c092820, 0x3454e: 0x6c11c420, 0x3454f: 0x6c11c620,\n\t0x34550: 0x6c11c820, 0x34551: 0x6c11ca20, 0x34552: 0x6c200620, 0x34553: 0x6c200820,\n\t0x34554: 0x6c200a20, 0x34555: 0x6c200c20, 0x34556: 0x6c200e20, 0x34557: 0x6c201020,\n\t0x34558: 0x6c201220, 0x34559: 0x6c201420, 0x3455a: 0x6c33ea20, 0x3455b: 0x6c33ec20,\n\t0x3455c: 0x6c33ee20, 0x3455d: 0x6c33f020, 0x3455e: 0x6c33f220, 0x3455f: 0x6c33f420,\n\t0x34560: 0x6c33f620, 0x34561: 0x6c33f820, 0x34562: 0x6c33fa20, 0x34563: 0x6c33fc20,\n\t0x34564: 0x6c33fe20, 0x34565: 0x6c340020, 0x34566: 0x6c4ea220, 0x34567: 0x6c4ea420,\n\t0x34568: 0x6c4ea620, 0x34569: 0x6c4ea820, 0x3456a: 0x6c4eaa20, 0x3456b: 0x6c4eac20,\n\t0x3456c: 0x6c4eae20, 0x3456d: 0x6c4eb020, 0x3456e: 0x6c4eb220, 0x3456f: 0x6c4eb420,\n\t0x34570: 0x6c4eb620, 0x34571: 0x6c4eb820, 0x34572: 0x6c4eba20, 0x34573: 0x6c4ebc20,\n\t0x34574: 0x6c4ebe20, 0x34575: 0x6c4ec020, 0x34576: 0x6c4ec220, 0x34577: 0x6c709e20,\n\t0x34578: 0x6c70a020, 0x34579: 0x6c70a220, 0x3457a: 0x6c70a420, 0x3457b: 0x6c70a620,\n\t0x3457c: 0x6c70a820, 0x3457d: 0x6c70aa20, 0x3457e: 0x6c70ac20, 0x3457f: 0x6c98c020,\n\t// Block 0xd16, offset 0x34580\n\t0x34580: 0x6c98c220, 0x34581: 0x6c98c420, 0x34582: 0x6c98c620, 0x34583: 0x6c98c820,\n\t0x34584: 0x6c98ca20, 0x34585: 0x6c98cc20, 0x34586: 0x6c98ce20, 0x34587: 0x6c98d020,\n\t0x34588: 0x6cc49420, 0x34589: 0x6cc49620, 0x3458a: 0x6cc49820, 0x3458b: 0x6cc49a20,\n\t0x3458c: 0x6cc49c20, 0x3458d: 0x6cc49e20, 0x3458e: 0x6cc4a020, 0x3458f: 0x6cc4a220,\n\t0x34590: 0x6cc4a420, 0x34591: 0x6cc4a620, 0x34592: 0x6cc4a820, 0x34593: 0x6cc4aa20,\n\t0x34594: 0x6cf38420, 0x34595: 0x6cf38620, 0x34596: 0x6cf38820, 0x34597: 0x6cf38a20,\n\t0x34598: 0x6cf38c20, 0x34599: 0x6cf38e20, 0x3459a: 0x6cf39020, 0x3459b: 0x6cf39220,\n\t0x3459c: 0x6cf39420, 0x3459d: 0x6cf39620, 0x3459e: 0x6cf39820, 0x3459f: 0x6cf39a20,\n\t0x345a0: 0x6cf39c20, 0x345a1: 0x6cf39e20, 0x345a2: 0x6d234220, 0x345a3: 0x6d234420,\n\t0x345a4: 0x6d234620, 0x345a5: 0x6d234820, 0x345a6: 0x6d234a20, 0x345a7: 0x6d234c20,\n\t0x345a8: 0x6d50c820, 0x345a9: 0x6d234e20, 0x345aa: 0x6d235020, 0x345ab: 0x6d235220,\n\t0x345ac: 0x6d235420, 0x345ad: 0x6d235620, 0x345ae: 0x6d235820, 0x345af: 0x6d235a20,\n\t0x345b0: 0x6d235c20, 0x345b1: 0x6d235e20, 0x345b2: 0x6d50ca20, 0x345b3: 0x6d50cc20,\n\t0x345b4: 0x6d50ce20, 0x345b5: 0x6d50d020, 0x345b6: 0x6d50d220, 0x345b7: 0x6d50d420,\n\t0x345b8: 0x6d50d620, 0x345b9: 0x6d50d820, 0x345ba: 0x6d50da20, 0x345bb: 0x6d50dc20,\n\t0x345bc: 0x6d50de20, 0x345bd: 0x6d50e020, 0x345be: 0x6d50e220, 0x345bf: 0x6d50e420,\n\t// Block 0xd17, offset 0x345c0\n\t0x345c0: 0x6d50e620, 0x345c1: 0x6d50e820, 0x345c2: 0x6d50ea20, 0x345c3: 0x6d50ec20,\n\t0x345c4: 0x6d50ee20, 0x345c5: 0x6d50f020, 0x345c6: 0x6d50f220, 0x345c7: 0x6d7c9420,\n\t0x345c8: 0x6d7c9620, 0x345c9: 0x6d7c9820, 0x345ca: 0x6d7c9a20, 0x345cb: 0x6d7c9c20,\n\t0x345cc: 0x6d7c9e20, 0x345cd: 0x6d7ca020, 0x345ce: 0x6d7ca220, 0x345cf: 0x6d7ca420,\n\t0x345d0: 0x6d784620, 0x345d1: 0x6d7ca620, 0x345d2: 0x6d7ca820, 0x345d3: 0x6da46e20,\n\t0x345d4: 0x6da47020, 0x345d5: 0x6da47220, 0x345d6: 0x6da47420, 0x345d7: 0x6da47620,\n\t0x345d8: 0x6dc60220, 0x345d9: 0x6dc60420, 0x345da: 0x6de2e020, 0x345db: 0x6de2e220,\n\t0x345dc: 0x6de2e420, 0x345dd: 0x6de2e620, 0x345de: 0x6dfa5620, 0x345df: 0x6dfa5820,\n\t0x345e0: 0x6dfa5a20, 0x345e1: 0x6e0de620, 0x345e2: 0x6e0de820, 0x345e3: 0x6e0dea20,\n\t0x345e4: 0x6c092e20, 0x345e5: 0x6c093020, 0x345e6: 0x6c11ce20, 0x345e7: 0x6c11d020,\n\t0x345e8: 0x6c11d220, 0x345e9: 0x6c11d420, 0x345ea: 0x6c201e20, 0x345eb: 0x6c202020,\n\t0x345ec: 0x6c202220, 0x345ed: 0x6c202420, 0x345ee: 0x6c202620, 0x345ef: 0x6c340e20,\n\t0x345f0: 0x6c341020, 0x345f1: 0x6c341220, 0x345f2: 0x6c341420, 0x345f3: 0x6c341620,\n\t0x345f4: 0x6c341820, 0x345f5: 0x6c341a20, 0x345f6: 0x6c4ed220, 0x345f7: 0x6c4ed420,\n\t0x345f8: 0x6c4ed620, 0x345f9: 0x6c4ed820, 0x345fa: 0x6c4eda20, 0x345fb: 0x6c4edc20,\n\t0x345fc: 0x6c4ede20, 0x345fd: 0x6c4ee020, 0x345fe: 0x6c4ee220, 0x345ff: 0x6c4ee420,\n\t// Block 0xd18, offset 0x34600\n\t0x34600: 0x6c4ee620, 0x34601: 0x6c4ee820, 0x34602: 0x6c4eea20, 0x34603: 0x6c4eec20,\n\t0x34604: 0x6c4eee20, 0x34605: 0x6c70ba20, 0x34606: 0x6c70bc20, 0x34607: 0x6c70be20,\n\t0x34608: 0x6c70c020, 0x34609: 0x6c70c220, 0x3460a: 0x6c70c420, 0x3460b: 0x6c70c620,\n\t0x3460c: 0x6c70c820, 0x3460d: 0x6c98d820, 0x3460e: 0x6c98da20, 0x3460f: 0x6c98dc20,\n\t0x34610: 0x6c98de20, 0x34611: 0x6cc4b220, 0x34612: 0x6cc4b420, 0x34613: 0x6cc4b620,\n\t0x34614: 0x6cc4b820, 0x34615: 0x6cc4ba20, 0x34616: 0x6cf3a220, 0x34617: 0x6cf3a420,\n\t0x34618: 0x6d236220, 0x34619: 0x6d236420, 0x3461a: 0x6d236620, 0x3461b: 0x6d236820,\n\t0x3461c: 0x6d50f420, 0x3461d: 0x6d50f620, 0x3461e: 0x6d50f820, 0x3461f: 0x6d7cb020,\n\t0x34620: 0x6da47820, 0x34621: 0x6dc60620, 0x34622: 0x6e0dec20, 0x34623: 0x6e28f220,\n\t0x34624: 0x6e28f420, 0x34625: 0x6c047820, 0x34626: 0x6c047a20, 0x34627: 0x6c047c20,\n\t0x34628: 0x6c094620, 0x34629: 0x6c094820, 0x3462a: 0x6c094a20, 0x3462b: 0x6c094c20,\n\t0x3462c: 0x6c094e20, 0x3462d: 0x6c120620, 0x3462e: 0x6c120820, 0x3462f: 0x6c120a20,\n\t0x34630: 0x6c120c20, 0x34631: 0x6c120e20, 0x34632: 0x6c121020, 0x34633: 0x6c121220,\n\t0x34634: 0x6c121420, 0x34635: 0x6c121620, 0x34636: 0x6c121820, 0x34637: 0x6c121a20,\n\t0x34638: 0x6c121c20, 0x34639: 0x6c121e20, 0x3463a: 0x6c122020, 0x3463b: 0x6c122220,\n\t0x3463c: 0x6c122420, 0x3463d: 0x6c122620, 0x3463e: 0x6c122820, 0x3463f: 0x6c122a20,\n\t// Block 0xd19, offset 0x34640\n\t0x34640: 0x6c122c20, 0x34641: 0x6c122e20, 0x34642: 0x6c123020, 0x34643: 0x6c20a820,\n\t0x34644: 0x6c20aa20, 0x34645: 0x6c20ac20, 0x34646: 0x6c20ae20, 0x34647: 0x6c20b020,\n\t0x34648: 0x6c20b220, 0x34649: 0x6c20b420, 0x3464a: 0x6c20b620, 0x3464b: 0x6c20b820,\n\t0x3464c: 0x6c20ba20, 0x3464d: 0x6c20bc20, 0x3464e: 0x6c20be20, 0x3464f: 0x6c20c020,\n\t0x34650: 0x6c20c220, 0x34651: 0x6c20c420, 0x34652: 0x6c20c620, 0x34653: 0x6c20c820,\n\t0x34654: 0x6c20ca20, 0x34655: 0x6c20cc20, 0x34656: 0x6c20ce20, 0x34657: 0x6c20d020,\n\t0x34658: 0x6c20d220, 0x34659: 0x6c20d420, 0x3465a: 0x6c20d620, 0x3465b: 0x6c20d820,\n\t0x3465c: 0x6c20da20, 0x3465d: 0x6c20dc20, 0x3465e: 0x6c20de20, 0x3465f: 0x6c20e020,\n\t0x34660: 0x6c20e220, 0x34661: 0x6c20e420, 0x34662: 0x6c20e620, 0x34663: 0x6c20e820,\n\t0x34664: 0x6c20ea20, 0x34665: 0x6c20ec20, 0x34666: 0x6c20ee20, 0x34667: 0x6c20f020,\n\t0x34668: 0x6c20f220, 0x34669: 0x6c20f420, 0x3466a: 0x6c20f620, 0x3466b: 0x6c20f820,\n\t0x3466c: 0x6c20fa20, 0x3466d: 0x6c20fc20, 0x3466e: 0x6c20fe20, 0x3466f: 0x6c210020,\n\t0x34670: 0x6c210220, 0x34671: 0x6c210420, 0x34672: 0x6c210620, 0x34673: 0x6c210820,\n\t0x34674: 0x6c34be20, 0x34675: 0x6c34c020, 0x34676: 0x6c34c220, 0x34677: 0x6c34c420,\n\t0x34678: 0x6c34c620, 0x34679: 0x6c34c820, 0x3467a: 0x6c34ca20, 0x3467b: 0x6c34cc20,\n\t0x3467c: 0x6c34ce20, 0x3467d: 0x6c34d020, 0x3467e: 0x6c34d220, 0x3467f: 0x6c34d420,\n\t// Block 0xd1a, offset 0x34680\n\t0x34680: 0x6c34d620, 0x34681: 0x6c34d820, 0x34682: 0x6c34da20, 0x34683: 0x6c34dc20,\n\t0x34684: 0x6c34de20, 0x34685: 0x6c34e020, 0x34686: 0x6c34e220, 0x34687: 0x6c34e420,\n\t0x34688: 0x6c34e620, 0x34689: 0x6c34e820, 0x3468a: 0x6c34ea20, 0x3468b: 0x6c34ec20,\n\t0x3468c: 0x6c34ee20, 0x3468d: 0x6c34f020, 0x3468e: 0x6c34f220, 0x3468f: 0x6c34f420,\n\t0x34690: 0x6c34f620, 0x34691: 0x6c34f820, 0x34692: 0x6c34fa20, 0x34693: 0x6c34fc20,\n\t0x34694: 0x6c34fe20, 0x34695: 0x6c350020, 0x34696: 0x6c350220, 0x34697: 0x6c350420,\n\t0x34698: 0x6c350620, 0x34699: 0x6c350820, 0x3469a: 0x6c350a20, 0x3469b: 0x6c350c20,\n\t0x3469c: 0x6c350e20, 0x3469d: 0x6c351020, 0x3469e: 0x6c351220, 0x3469f: 0x6c351420,\n\t0x346a0: 0x6c351620, 0x346a1: 0x6c351820, 0x346a2: 0x6c351a20, 0x346a3: 0x6c351c20,\n\t0x346a4: 0x6c4f8020, 0x346a5: 0x6c4f8220, 0x346a6: 0x6c4f8420, 0x346a7: 0x6c4f8620,\n\t0x346a8: 0x6c4f8820, 0x346a9: 0x6c4f8a20, 0x346aa: 0x6c4f8c20, 0x346ab: 0x6c4f8e20,\n\t0x346ac: 0x6c4f9020, 0x346ad: 0x6c4f9220, 0x346ae: 0x6c4f9420, 0x346af: 0x6c4f9620,\n\t0x346b0: 0x6c4f9820, 0x346b1: 0x6c4f9a20, 0x346b2: 0x6c4f9c20, 0x346b3: 0x6c4f9e20,\n\t0x346b4: 0x6c4fa020, 0x346b5: 0x6c4fa220, 0x346b6: 0x6c4fa420, 0x346b7: 0x6c4fa620,\n\t0x346b8: 0x6c4fa820, 0x346b9: 0x6c4faa20, 0x346ba: 0x6c4fac20, 0x346bb: 0x6c4fae20,\n\t0x346bc: 0x6c4fb020, 0x346bd: 0x6c4fb220, 0x346be: 0x6c4fb420, 0x346bf: 0x6c4fb620,\n\t// Block 0xd1b, offset 0x346c0\n\t0x346c0: 0x6c4fb820, 0x346c1: 0x6c4fba20, 0x346c2: 0x6c4fbc20, 0x346c3: 0x6c4fbe20,\n\t0x346c4: 0x6c4fc020, 0x346c5: 0x6c4fc220, 0x346c6: 0x6c4fc420, 0x346c7: 0x6c4fc620,\n\t0x346c8: 0x6c4fc820, 0x346c9: 0x6c4fca20, 0x346ca: 0x6c4fcc20, 0x346cb: 0x6c4fce20,\n\t0x346cc: 0x6c4fd020, 0x346cd: 0x6c4fd220, 0x346ce: 0x6c4fd420, 0x346cf: 0x6c4fd620,\n\t0x346d0: 0x6c4fd820, 0x346d1: 0x6c4fda20, 0x346d2: 0x6c4fdc20, 0x346d3: 0x6c4fde20,\n\t0x346d4: 0x6c4fe020, 0x346d5: 0x6c4fe220, 0x346d6: 0x6c4fe420, 0x346d7: 0x6c4fe620,\n\t0x346d8: 0x6c4fe820, 0x346d9: 0x6c4fea20, 0x346da: 0x6c4fec20, 0x346db: 0x6c4fee20,\n\t0x346dc: 0x6c4ff020, 0x346dd: 0x6c4ff220, 0x346de: 0x6c4ff420, 0x346df: 0x6c4ff620,\n\t0x346e0: 0x6c4ff820, 0x346e1: 0x6c4ffa20, 0x346e2: 0x6c4ffc20, 0x346e3: 0x6c4ffe20,\n\t0x346e4: 0x6c500020, 0x346e5: 0x6c500220, 0x346e6: 0x6c500420, 0x346e7: 0x6c500620,\n\t0x346e8: 0x6c500820, 0x346e9: 0x6c500a20, 0x346ea: 0x6c500c20, 0x346eb: 0x6c500e20,\n\t0x346ec: 0x6c501020, 0x346ed: 0x6c501220, 0x346ee: 0x6c501420, 0x346ef: 0x6c716220,\n\t0x346f0: 0x6c716420, 0x346f1: 0x6c716620, 0x346f2: 0x6c716820, 0x346f3: 0x6c716a20,\n\t0x346f4: 0x6c716c20, 0x346f5: 0x6c716e20, 0x346f6: 0x6c717020, 0x346f7: 0x6c717220,\n\t0x346f8: 0x6c717420, 0x346f9: 0x6c717620, 0x346fa: 0x6c717820, 0x346fb: 0x6c717a20,\n\t0x346fc: 0x6c717c20, 0x346fd: 0x6c717e20, 0x346fe: 0x6c718020, 0x346ff: 0x6c718220,\n\t// Block 0xd1c, offset 0x34700\n\t0x34700: 0x6c718420, 0x34701: 0x6c718620, 0x34702: 0x6c718820, 0x34703: 0x6c718a20,\n\t0x34704: 0x6c718c20, 0x34705: 0x6c718e20, 0x34706: 0x6c719020, 0x34707: 0x6c719220,\n\t0x34708: 0x6c719420, 0x34709: 0x6c719620, 0x3470a: 0x6c719820, 0x3470b: 0x6c719a20,\n\t0x3470c: 0x6c719c20, 0x3470d: 0x6c719e20, 0x3470e: 0x6c71a020, 0x3470f: 0x6c71a220,\n\t0x34710: 0x6c71a420, 0x34711: 0x6c71a620, 0x34712: 0x6c71a820, 0x34713: 0x6c71aa20,\n\t0x34714: 0x6c71ac20, 0x34715: 0x6c71ae20, 0x34716: 0x6c71b020, 0x34717: 0x6c71b220,\n\t0x34718: 0x6c71b420, 0x34719: 0x6c71b620, 0x3471a: 0x6c71b820, 0x3471b: 0x6c71ba20,\n\t0x3471c: 0x6c71bc20, 0x3471d: 0x6c71be20, 0x3471e: 0x6c71c020, 0x3471f: 0x6c71c220,\n\t0x34720: 0x6c71c420, 0x34721: 0x6c71c620, 0x34722: 0x6c71c820, 0x34723: 0x6c71ca20,\n\t0x34724: 0x6c71cc20, 0x34725: 0x6c71ce20, 0x34726: 0x6c71d020, 0x34727: 0x6c71d220,\n\t0x34728: 0x6c71d420, 0x34729: 0x6c71d620, 0x3472a: 0x6c71d820, 0x3472b: 0x6c71da20,\n\t0x3472c: 0x6c71dc20, 0x3472d: 0x6c71de20, 0x3472e: 0x6c71e020, 0x3472f: 0x6c71e220,\n\t0x34730: 0x6c71e420, 0x34731: 0x6c71e620, 0x34732: 0x6c71e820, 0x34733: 0x6c71ea20,\n\t0x34734: 0x6c71ec20, 0x34735: 0x6c71ee20, 0x34736: 0x6c71f020, 0x34737: 0x6c71f220,\n\t0x34738: 0x6c71f420, 0x34739: 0x6c71f620, 0x3473a: 0x6c71f820, 0x3473b: 0x6c71fa20,\n\t0x3473c: 0x6c71fc20, 0x3473d: 0x6c71fe20, 0x3473e: 0x6c720020, 0x3473f: 0x6c720220,\n\t// Block 0xd1d, offset 0x34740\n\t0x34740: 0x6c720420, 0x34741: 0x6c99ac20, 0x34742: 0x6c99ae20, 0x34743: 0x6c99b020,\n\t0x34744: 0x6c99b220, 0x34745: 0x6c99b420, 0x34746: 0x6c99b620, 0x34747: 0x6c99b820,\n\t0x34748: 0x6c99ba20, 0x34749: 0x6c99bc20, 0x3474a: 0x6c99be20, 0x3474b: 0x6c99c020,\n\t0x3474c: 0x6c99c220, 0x3474d: 0x6c99c420, 0x3474e: 0x6c99c620, 0x3474f: 0x6c99c820,\n\t0x34750: 0x6c99ca20, 0x34751: 0x6c99cc20, 0x34752: 0x6c99ce20, 0x34753: 0x6c99d020,\n\t0x34754: 0x6c99d220, 0x34755: 0x6c99d420, 0x34756: 0x6c99d620, 0x34757: 0x6c99d820,\n\t0x34758: 0x6c99da20, 0x34759: 0x6c99dc20, 0x3475a: 0x6c99de20, 0x3475b: 0x6c99e020,\n\t0x3475c: 0x6c99e220, 0x3475d: 0x6c99e420, 0x3475e: 0x6c99e620, 0x3475f: 0x6c99e820,\n\t0x34760: 0x6c99ea20, 0x34761: 0x6c99ec20, 0x34762: 0x6c99ee20, 0x34763: 0x6c99f020,\n\t0x34764: 0x6c99f220, 0x34765: 0x6c99f420, 0x34766: 0x6c99f620, 0x34767: 0x6c99f820,\n\t0x34768: 0x6c99fa20, 0x34769: 0x6c99fc20, 0x3476a: 0x6c99fe20, 0x3476b: 0x6c9a0020,\n\t0x3476c: 0x6c9a0220, 0x3476d: 0x6c9a0420, 0x3476e: 0x6c9a0620, 0x3476f: 0x6c9a0820,\n\t0x34770: 0x6c9a0a20, 0x34771: 0x6c9a0c20, 0x34772: 0x6c9a0e20, 0x34773: 0x6c9a1020,\n\t0x34774: 0x6c9a1220, 0x34775: 0x6c9a1420, 0x34776: 0x6c9a1620, 0x34777: 0x6c9a1820,\n\t0x34778: 0x6c9a1a20, 0x34779: 0x6c9a1c20, 0x3477a: 0x6c9a1e20, 0x3477b: 0x6c9a2020,\n\t0x3477c: 0x6c9a2220, 0x3477d: 0x6c9a2420, 0x3477e: 0x6c9a2620, 0x3477f: 0x6c9a2820,\n\t// Block 0xd1e, offset 0x34780\n\t0x34780: 0x6c9a2a20, 0x34781: 0x6c9a2c20, 0x34782: 0x6c9a2e20, 0x34783: 0x6c9a3020,\n\t0x34784: 0x6c9a3220, 0x34785: 0x6c9a3420, 0x34786: 0x6c9a3620, 0x34787: 0x6c9a3820,\n\t0x34788: 0x6c9a3a20, 0x34789: 0x6c9a3c20, 0x3478a: 0x6c9a3e20, 0x3478b: 0x6c9a4020,\n\t0x3478c: 0x6c9a4220, 0x3478d: 0x6c9a4420, 0x3478e: 0x6c9a4620, 0x3478f: 0x6c9a4820,\n\t0x34790: 0x6c9a4a20, 0x34791: 0x6c9a4c20, 0x34792: 0x6c9a4e20, 0x34793: 0x6c9a5020,\n\t0x34794: 0x6c9a5220, 0x34795: 0x6c9a5420, 0x34796: 0x6c9a5620, 0x34797: 0x6c9a5820,\n\t0x34798: 0x6c9a5a20, 0x34799: 0x6c9a5c20, 0x3479a: 0x6c9a5e20, 0x3479b: 0x6c9a6020,\n\t0x3479c: 0x6c9a6220, 0x3479d: 0x6c9a6420, 0x3479e: 0x6c9a6620, 0x3479f: 0x6c9a6820,\n\t0x347a0: 0x6c9a6a20, 0x347a1: 0x6c9a6c20, 0x347a2: 0x6c9a6e20, 0x347a3: 0x6c9a7020,\n\t0x347a4: 0x6c9a7220, 0x347a5: 0x6c9a7420, 0x347a6: 0x6c9a7620, 0x347a7: 0x6c9a7820,\n\t0x347a8: 0x6c9a7a20, 0x347a9: 0x6cc56a20, 0x347aa: 0x6cc56c20, 0x347ab: 0x6cc56e20,\n\t0x347ac: 0x6cc57020, 0x347ad: 0x6cc57220, 0x347ae: 0x6cc57420, 0x347af: 0x6cc57620,\n\t0x347b0: 0x6cc57820, 0x347b1: 0x6cc57a20, 0x347b2: 0x6cc57c20, 0x347b3: 0x6cc57e20,\n\t0x347b4: 0x6cc58020, 0x347b5: 0x6cc58220, 0x347b6: 0x6cc58420, 0x347b7: 0x6cc58620,\n\t0x347b8: 0x6cc58820, 0x347b9: 0x6cc58a20, 0x347ba: 0x6cc58c20, 0x347bb: 0x6cc58e20,\n\t0x347bc: 0x6cc59020, 0x347bd: 0x6cc59220, 0x347be: 0x6cc59420, 0x347bf: 0x6cc59620,\n\t// Block 0xd1f, offset 0x347c0\n\t0x347c0: 0x6cc59820, 0x347c1: 0x6cc59a20, 0x347c2: 0x6cc59c20, 0x347c3: 0x6cc59e20,\n\t0x347c4: 0x6cc5a020, 0x347c5: 0x6cc5a220, 0x347c6: 0x6cc5a420, 0x347c7: 0x6cc5a620,\n\t0x347c8: 0x6cc5a820, 0x347c9: 0x6cc5aa20, 0x347ca: 0x6cc5ac20, 0x347cb: 0x6cc5ae20,\n\t0x347cc: 0x6cc5b020, 0x347cd: 0x6cc5b220, 0x347ce: 0x6cc5b420, 0x347cf: 0x6cc5b620,\n\t0x347d0: 0x6cc5b820, 0x347d1: 0x6cc5ba20, 0x347d2: 0x6cc5bc20, 0x347d3: 0x6cc5be20,\n\t0x347d4: 0x6cc5c020, 0x347d5: 0x6cc5c220, 0x347d6: 0x6cc5c420, 0x347d7: 0x6cc5c620,\n\t0x347d8: 0x6cc5c820, 0x347d9: 0x6cc5ca20, 0x347da: 0x6cc5cc20, 0x347db: 0x6cc5ce20,\n\t0x347dc: 0x6cc5d020, 0x347dd: 0x6cc5d220, 0x347de: 0x6cc5d420, 0x347df: 0x6cc5d620,\n\t0x347e0: 0x6cc5d820, 0x347e1: 0x6cc5da20, 0x347e2: 0x6cc5dc20, 0x347e3: 0x6cc5de20,\n\t0x347e4: 0x6cc5e020, 0x347e5: 0x6cc5e220, 0x347e6: 0x6cc5e420, 0x347e7: 0x6cc5e620,\n\t0x347e8: 0x6cc5e820, 0x347e9: 0x6cc5ea20, 0x347ea: 0x6cc5ec20, 0x347eb: 0x6cc5ee20,\n\t0x347ec: 0x6cc5f020, 0x347ed: 0x6cc5f220, 0x347ee: 0x6cc5f420, 0x347ef: 0x6cc5f620,\n\t0x347f0: 0x6cc5f820, 0x347f1: 0x6cc5fa20, 0x347f2: 0x6cc5fc20, 0x347f3: 0x6cc5fe20,\n\t0x347f4: 0x6cc60020, 0x347f5: 0x6cc60220, 0x347f6: 0x6cc60420, 0x347f7: 0x6cc60620,\n\t0x347f8: 0x6cc60820, 0x347f9: 0x6cc60a20, 0x347fa: 0x6cc60c20, 0x347fb: 0x6cc60e20,\n\t0x347fc: 0x6cc61020, 0x347fd: 0x6cc61220, 0x347fe: 0x6cc61420, 0x347ff: 0x6d017820,\n\t// Block 0xd20, offset 0x34800\n\t0x34800: 0x6cc61620, 0x34801: 0x6cc61820, 0x34802: 0x6cc61a20, 0x34803: 0x6cc61c20,\n\t0x34804: 0x6cc61e20, 0x34805: 0x6cc62020, 0x34806: 0x6cc62220, 0x34807: 0x6cc62420,\n\t0x34808: 0x6cc62620, 0x34809: 0x6cc62820, 0x3480a: 0x6cc62a20, 0x3480b: 0x6cc62c20,\n\t0x3480c: 0x6cc62e20, 0x3480d: 0x6cc63020, 0x3480e: 0x6cc63220, 0x3480f: 0x6cc63420,\n\t0x34810: 0x6cc63620, 0x34811: 0x6cc63820, 0x34812: 0x6cc63a20, 0x34813: 0x6cc63c20,\n\t0x34814: 0x6cc63e20, 0x34815: 0x6cc64020, 0x34816: 0x6cc64220, 0x34817: 0x6cc64420,\n\t0x34818: 0x6cc64620, 0x34819: 0x6cc64820, 0x3481a: 0x6cc64a20, 0x3481b: 0x6cc64c20,\n\t0x3481c: 0x6cc64e20, 0x3481d: 0x6cc65020, 0x3481e: 0x6cc65220, 0x3481f: 0x6cf45a20,\n\t0x34820: 0x6cf45c20, 0x34821: 0x6cf45e20, 0x34822: 0x6cf46020, 0x34823: 0x6cf46220,\n\t0x34824: 0x6cf46420, 0x34825: 0x6cf46620, 0x34826: 0x6cf46820, 0x34827: 0x6cf46a20,\n\t0x34828: 0x6cf46c20, 0x34829: 0x6cf46e20, 0x3482a: 0x6cf47020, 0x3482b: 0x6cf47220,\n\t0x3482c: 0x6cf47420, 0x3482d: 0x6cf47620, 0x3482e: 0x6cf47820, 0x3482f: 0x6cf47a20,\n\t0x34830: 0x6cf47c20, 0x34831: 0x6cf47e20, 0x34832: 0x6cf48020, 0x34833: 0x6cf48220,\n\t0x34834: 0x6cf48420, 0x34835: 0x6cf48620, 0x34836: 0x6cf48820, 0x34837: 0x6cf48a20,\n\t0x34838: 0x6cf48c20, 0x34839: 0x6cf48e20, 0x3483a: 0x6cf49020, 0x3483b: 0x6cf49220,\n\t0x3483c: 0x6cf49420, 0x3483d: 0x6cf49620, 0x3483e: 0x6cf49820, 0x3483f: 0x6cf49a20,\n\t// Block 0xd21, offset 0x34840\n\t0x34840: 0x6cf49c20, 0x34841: 0x6cf49e20, 0x34842: 0x6cf4a020, 0x34843: 0x6cf4a220,\n\t0x34844: 0x6cf4a420, 0x34845: 0x6cf4a620, 0x34846: 0x6cf4a820, 0x34847: 0x6cf4aa20,\n\t0x34848: 0x6cf4ac20, 0x34849: 0x6cf4ae20, 0x3484a: 0x6cf4b020, 0x3484b: 0x6cf4b220,\n\t0x3484c: 0x6cf4b420, 0x3484d: 0x6cf4b620, 0x3484e: 0x6cf4b820, 0x3484f: 0x6cf4ba20,\n\t0x34850: 0x6cf4bc20, 0x34851: 0x6cf4be20, 0x34852: 0x6cf4c020, 0x34853: 0x6cf4c220,\n\t0x34854: 0x6cf4c420, 0x34855: 0x6cf4c620, 0x34856: 0x6cf4c820, 0x34857: 0x6cf4ca20,\n\t0x34858: 0x6cf4cc20, 0x34859: 0x6cf4ce20, 0x3485a: 0x6cf4d020, 0x3485b: 0x6cf4d220,\n\t0x3485c: 0x6cf4d420, 0x3485d: 0x6cf4d620, 0x3485e: 0x6cf4d820, 0x3485f: 0x6cf4da20,\n\t0x34860: 0x6cf4dc20, 0x34861: 0x6cf4de20, 0x34862: 0x6cf4e020, 0x34863: 0x6cf4e220,\n\t0x34864: 0x6cf4e420, 0x34865: 0x6cf4e620, 0x34866: 0x6cf4e820, 0x34867: 0x6cf4ea20,\n\t0x34868: 0x6cf4ec20, 0x34869: 0x6cf4ee20, 0x3486a: 0x6cf4f020, 0x3486b: 0x6cf4f220,\n\t0x3486c: 0x6cf4f420, 0x3486d: 0x6cf4f620, 0x3486e: 0x6cf4f820, 0x3486f: 0x6cf4fa20,\n\t0x34870: 0x6cf4fc20, 0x34871: 0x6cf4fe20, 0x34872: 0x6cf50020, 0x34873: 0x6d23fa20,\n\t0x34874: 0x6d23fc20, 0x34875: 0x6d23fe20, 0x34876: 0x6d240020, 0x34877: 0x6d240220,\n\t0x34878: 0x6d240420, 0x34879: 0x6d240620, 0x3487a: 0x6d240820, 0x3487b: 0x6d240a20,\n\t0x3487c: 0x6d240c20, 0x3487d: 0x6d240e20, 0x3487e: 0x6d241020, 0x3487f: 0x6d241220,\n\t// Block 0xd22, offset 0x34880\n\t0x34880: 0x6d241420, 0x34881: 0x6d241620, 0x34882: 0x6d241820, 0x34883: 0x6d241a20,\n\t0x34884: 0x6d241c20, 0x34885: 0x6d241e20, 0x34886: 0x6d242020, 0x34887: 0x6d242220,\n\t0x34888: 0x6d242420, 0x34889: 0x6d242620, 0x3488a: 0x6d242820, 0x3488b: 0x6d242a20,\n\t0x3488c: 0x6d242c20, 0x3488d: 0x6d242e20, 0x3488e: 0x6d243020, 0x3488f: 0x6d243220,\n\t0x34890: 0x6d243420, 0x34891: 0x6d243620, 0x34892: 0x6d243820, 0x34893: 0x6d243a20,\n\t0x34894: 0x6d243c20, 0x34895: 0x6d243e20, 0x34896: 0x6d244020, 0x34897: 0x6d244220,\n\t0x34898: 0x6d244420, 0x34899: 0x6d244620, 0x3489a: 0x6d244820, 0x3489b: 0x6d244a20,\n\t0x3489c: 0x6d244c20, 0x3489d: 0x6d244e20, 0x3489e: 0x6d245020, 0x3489f: 0x6d245220,\n\t0x348a0: 0x6d245420, 0x348a1: 0x6d245620, 0x348a2: 0x6d245820, 0x348a3: 0x6d245a20,\n\t0x348a4: 0x6d245c20, 0x348a5: 0x6d245e20, 0x348a6: 0x6d246020, 0x348a7: 0x6d246220,\n\t0x348a8: 0x6d246420, 0x348a9: 0x6d246620, 0x348aa: 0x6d246820, 0x348ab: 0x6d246a20,\n\t0x348ac: 0x6d246c20, 0x348ad: 0x6d246e20, 0x348ae: 0x6d247020, 0x348af: 0x6d247220,\n\t0x348b0: 0x6d247420, 0x348b1: 0x6d247620, 0x348b2: 0x6d247820, 0x348b3: 0x6d247a20,\n\t0x348b4: 0x6d247c20, 0x348b5: 0x6d247e20, 0x348b6: 0x6d248020, 0x348b7: 0x6d248220,\n\t0x348b8: 0x6d248420, 0x348b9: 0x6d248620, 0x348ba: 0x6d248820, 0x348bb: 0x6d248a20,\n\t0x348bc: 0x6d248c20, 0x348bd: 0x6d248e20, 0x348be: 0x6d249020, 0x348bf: 0x6d249220,\n\t// Block 0xd23, offset 0x348c0\n\t0x348c0: 0x6d249420, 0x348c1: 0x6d249620, 0x348c2: 0x6d249820, 0x348c3: 0x6d249a20,\n\t0x348c4: 0x6d249c20, 0x348c5: 0x6d249e20, 0x348c6: 0x6d24a020, 0x348c7: 0x6d24a220,\n\t0x348c8: 0x6d24a420, 0x348c9: 0x6d24a620, 0x348ca: 0x6d24a820, 0x348cb: 0x6d24aa20,\n\t0x348cc: 0x6d24ac20, 0x348cd: 0x6d24ae20, 0x348ce: 0x6d24b020, 0x348cf: 0x6d24b220,\n\t0x348d0: 0x6d24b420, 0x348d1: 0x6d24b620, 0x348d2: 0x6d24b820, 0x348d3: 0x6d24ba20,\n\t0x348d4: 0x6d24bc20, 0x348d5: 0x6d24be20, 0x348d6: 0x6d24c020, 0x348d7: 0x6d24c220,\n\t0x348d8: 0x6d24c420, 0x348d9: 0x6d24c620, 0x348da: 0x6d24c820, 0x348db: 0x6d24ca20,\n\t0x348dc: 0x6d24cc20, 0x348dd: 0x6d24ce20, 0x348de: 0x6d24d020, 0x348df: 0x6d24d220,\n\t0x348e0: 0x6d519620, 0x348e1: 0x6d519820, 0x348e2: 0x6d519a20, 0x348e3: 0x6d519c20,\n\t0x348e4: 0x6d519e20, 0x348e5: 0x6d51a020, 0x348e6: 0x6d51a220, 0x348e7: 0x6d51a420,\n\t0x348e8: 0x6d51a620, 0x348e9: 0x6d51a820, 0x348ea: 0x6d51aa20, 0x348eb: 0x6d51ac20,\n\t0x348ec: 0x6d51ae20, 0x348ed: 0x6d51b020, 0x348ee: 0x6d51b220, 0x348ef: 0x6d51b420,\n\t0x348f0: 0x6d51b620, 0x348f1: 0x6d51b820, 0x348f2: 0x6d51ba20, 0x348f3: 0x6d51bc20,\n\t0x348f4: 0x6d51be20, 0x348f5: 0x6d51c020, 0x348f6: 0x6d51c220, 0x348f7: 0x6d51c420,\n\t0x348f8: 0x6d51c620, 0x348f9: 0x6d51c820, 0x348fa: 0x6d51ca20, 0x348fb: 0x6d51cc20,\n\t0x348fc: 0x6d51ce20, 0x348fd: 0x6d51d020, 0x348fe: 0x6d51d220, 0x348ff: 0x6d51d420,\n\t// Block 0xd24, offset 0x34900\n\t0x34900: 0x6d51d620, 0x34901: 0x6d51d820, 0x34902: 0x6d51da20, 0x34903: 0x6d51dc20,\n\t0x34904: 0x6d51de20, 0x34905: 0x6d51e020, 0x34906: 0x6d51e220, 0x34907: 0x6d51e420,\n\t0x34908: 0x6d51e620, 0x34909: 0x6d51e820, 0x3490a: 0x6d51ea20, 0x3490b: 0x6d51ec20,\n\t0x3490c: 0x6d51ee20, 0x3490d: 0x6d51f020, 0x3490e: 0x6d51f220, 0x3490f: 0x6d51f420,\n\t0x34910: 0x6d51f620, 0x34911: 0x6d51f820, 0x34912: 0x6d51fa20, 0x34913: 0x6d51fc20,\n\t0x34914: 0x6d51fe20, 0x34915: 0x6d520020, 0x34916: 0x6d520220, 0x34917: 0x6d520420,\n\t0x34918: 0x6d520620, 0x34919: 0x6d520820, 0x3491a: 0x6d520a20, 0x3491b: 0x6d520c20,\n\t0x3491c: 0x6d520e20, 0x3491d: 0x6d521020, 0x3491e: 0x6d521220, 0x3491f: 0x6d521420,\n\t0x34920: 0x6d521620, 0x34921: 0x6d521820, 0x34922: 0x6d521a20, 0x34923: 0x6d521c20,\n\t0x34924: 0x6d521e20, 0x34925: 0x6d522020, 0x34926: 0x6d522220, 0x34927: 0x6d522420,\n\t0x34928: 0x6d522620, 0x34929: 0x6d522820, 0x3492a: 0x6d522a20, 0x3492b: 0x6d522c20,\n\t0x3492c: 0x6d522e20, 0x3492d: 0x6d523020, 0x3492e: 0x6d523220, 0x3492f: 0x6d523420,\n\t0x34930: 0x6d523620, 0x34931: 0x6d523820, 0x34932: 0x6d523a20, 0x34933: 0x6d523c20,\n\t0x34934: 0x6d523e20, 0x34935: 0x6d524020, 0x34936: 0x6d524220, 0x34937: 0x6d524420,\n\t0x34938: 0x6d524620, 0x34939: 0x6d524820, 0x3493a: 0x6d524a20, 0x3493b: 0x6d524c20,\n\t0x3493c: 0x6d524e20, 0x3493d: 0x6d525020, 0x3493e: 0x6d525220, 0x3493f: 0x6d7d0220,\n\t// Block 0xd25, offset 0x34940\n\t0x34940: 0x6d7d0420, 0x34941: 0x6d7d0620, 0x34942: 0x6d7d0820, 0x34943: 0x6d7d0a20,\n\t0x34944: 0x6d7d0c20, 0x34945: 0x6d7d0e20, 0x34946: 0x6d7d1020, 0x34947: 0x6d7d1220,\n\t0x34948: 0x6d7d1420, 0x34949: 0x6d7d1620, 0x3494a: 0x6d7d1820, 0x3494b: 0x6d7d1a20,\n\t0x3494c: 0x6d7d1c20, 0x3494d: 0x6d7d1e20, 0x3494e: 0x6d7d2020, 0x3494f: 0x6d7d2220,\n\t0x34950: 0x6d7d2420, 0x34951: 0x6d7d2620, 0x34952: 0x6d7d2820, 0x34953: 0x6d7d2a20,\n\t0x34954: 0x6d7d2c20, 0x34955: 0x6d7d2e20, 0x34956: 0x6d7d3020, 0x34957: 0x6d7d3220,\n\t0x34958: 0x6d7d3420, 0x34959: 0x6d7d3620, 0x3495a: 0x6d7d3820, 0x3495b: 0x6d7d3a20,\n\t0x3495c: 0x6d7d3c20, 0x3495d: 0x6d7d3e20, 0x3495e: 0x6d7d4020, 0x3495f: 0x6d7d4220,\n\t0x34960: 0x6d7d4420, 0x34961: 0x6d7d4620, 0x34962: 0x6d7d4820, 0x34963: 0x6d7d4a20,\n\t0x34964: 0x6d7d4c20, 0x34965: 0x6d7d4e20, 0x34966: 0x6d7d5020, 0x34967: 0x6d7d5220,\n\t0x34968: 0x6d7d5420, 0x34969: 0x6d7d5620, 0x3496a: 0x6d7d5820, 0x3496b: 0x6d7d5a20,\n\t0x3496c: 0x6d7d5c20, 0x3496d: 0x6d7d5e20, 0x3496e: 0x6d7d6020, 0x3496f: 0x6d7d6220,\n\t0x34970: 0x6d7d6420, 0x34971: 0x6d7d6620, 0x34972: 0x6d7d6820, 0x34973: 0x6d7d6a20,\n\t0x34974: 0x6d7d6c20, 0x34975: 0x6d7d6e20, 0x34976: 0x6d7d7020, 0x34977: 0x6d7d7220,\n\t0x34978: 0x6d7d7420, 0x34979: 0x6d7d7620, 0x3497a: 0x6d7d7820, 0x3497b: 0x6d7d7a20,\n\t0x3497c: 0x6d7d7c20, 0x3497d: 0x6d7d7e20, 0x3497e: 0x6d7d8020, 0x3497f: 0x6d7d8220,\n\t// Block 0xd26, offset 0x34980\n\t0x34980: 0x6d7d8420, 0x34981: 0x6d7d8620, 0x34982: 0x6d7d8820, 0x34983: 0x6d7d8a20,\n\t0x34984: 0x6d7d8c20, 0x34985: 0x6d525420, 0x34986: 0x6d7d8e20, 0x34987: 0x6d7d9020,\n\t0x34988: 0x6d7d9220, 0x34989: 0x6d7d9420, 0x3498a: 0x6d7d9620, 0x3498b: 0x6da4ae20,\n\t0x3498c: 0x6da4b020, 0x3498d: 0x6da4b220, 0x3498e: 0x6da4b420, 0x3498f: 0x6da4b620,\n\t0x34990: 0x6da4b820, 0x34991: 0x6da4ba20, 0x34992: 0x6da4bc20, 0x34993: 0x6da4be20,\n\t0x34994: 0x6da4c020, 0x34995: 0x6da4c220, 0x34996: 0x6da4c420, 0x34997: 0x6da4c620,\n\t0x34998: 0x6da4c820, 0x34999: 0x6da4ca20, 0x3499a: 0x6da4cc20, 0x3499b: 0x6da4ce20,\n\t0x3499c: 0x6da4d020, 0x3499d: 0x6da4d220, 0x3499e: 0x6da4d420, 0x3499f: 0x6da4d620,\n\t0x349a0: 0x6da4d820, 0x349a1: 0x6da4da20, 0x349a2: 0x6da4dc20, 0x349a3: 0x6da4de20,\n\t0x349a4: 0x6da4e020, 0x349a5: 0x6da4e220, 0x349a6: 0x6da4e420, 0x349a7: 0x6da4e620,\n\t0x349a8: 0x6da4e820, 0x349a9: 0x6da4ea20, 0x349aa: 0x6da4ec20, 0x349ab: 0x6da4ee20,\n\t0x349ac: 0x6da4f020, 0x349ad: 0x6da4f220, 0x349ae: 0x6da4f420, 0x349af: 0x6da4f620,\n\t0x349b0: 0x6da4f820, 0x349b1: 0x6da4fa20, 0x349b2: 0x6da4fc20, 0x349b3: 0x6da4fe20,\n\t0x349b4: 0x6da50020, 0x349b5: 0x6da50220, 0x349b6: 0x6dc64e20, 0x349b7: 0x6dc65020,\n\t0x349b8: 0x6dc65220, 0x349b9: 0x6dc65420, 0x349ba: 0x6dc65620, 0x349bb: 0x6dc65820,\n\t0x349bc: 0x6dc65a20, 0x349bd: 0x6dc65c20, 0x349be: 0x6dc65e20, 0x349bf: 0x6dc66020,\n\t// Block 0xd27, offset 0x349c0\n\t0x349c0: 0x6dc66220, 0x349c1: 0x6dc66420, 0x349c2: 0x6dc66620, 0x349c3: 0x6dc66820,\n\t0x349c4: 0x6dc66a20, 0x349c5: 0x6dc66c20, 0x349c6: 0x6dc66e20, 0x349c7: 0x6dc67020,\n\t0x349c8: 0x6dc67220, 0x349c9: 0x6dc67420, 0x349ca: 0x6dc67620, 0x349cb: 0x6dc67820,\n\t0x349cc: 0x6dc67a20, 0x349cd: 0x6dc67c20, 0x349ce: 0x6dc67e20, 0x349cf: 0x6dc68020,\n\t0x349d0: 0x6dc68220, 0x349d1: 0x6dc68420, 0x349d2: 0x6dc68620, 0x349d3: 0x6dc68820,\n\t0x349d4: 0x6dc68a20, 0x349d5: 0x6dc68c20, 0x349d6: 0x6dc68e20, 0x349d7: 0x6dc69020,\n\t0x349d8: 0x6dc69220, 0x349d9: 0x6dc69420, 0x349da: 0x6dc69620, 0x349db: 0x6dc69820,\n\t0x349dc: 0x6dc69a20, 0x349dd: 0x6dc69c20, 0x349de: 0x6dc69e20, 0x349df: 0x6dc6a020,\n\t0x349e0: 0x6dc6a220, 0x349e1: 0x6dc6a420, 0x349e2: 0x6dc6a620, 0x349e3: 0x6de30420,\n\t0x349e4: 0x6de30620, 0x349e5: 0x6de30820, 0x349e6: 0x6de30a20, 0x349e7: 0x6de30c20,\n\t0x349e8: 0x6de30e20, 0x349e9: 0x6de31020, 0x349ea: 0x6de31220, 0x349eb: 0x6de31420,\n\t0x349ec: 0x6de31620, 0x349ed: 0x6de31820, 0x349ee: 0x6de31a20, 0x349ef: 0x6de31c20,\n\t0x349f0: 0x6de31e20, 0x349f1: 0x6de32020, 0x349f2: 0x6de32220, 0x349f3: 0x6de32420,\n\t0x349f4: 0x6de32620, 0x349f5: 0x6de32820, 0x349f6: 0x6de32a20, 0x349f7: 0x6de32c20,\n\t0x349f8: 0x6de32e20, 0x349f9: 0x6de33020, 0x349fa: 0x6de33220, 0x349fb: 0x6de33420,\n\t0x349fc: 0x6de33620, 0x349fd: 0x6de33820, 0x349fe: 0x6de33a20, 0x349ff: 0x6de33c20,\n\t// Block 0xd28, offset 0x34a00\n\t0x34a00: 0x6de33e20, 0x34a01: 0x6de34020, 0x34a02: 0x6de34220, 0x34a03: 0x6de34420,\n\t0x34a04: 0x6de34620, 0x34a05: 0x6de34820, 0x34a06: 0x6de34a20, 0x34a07: 0x6de34c20,\n\t0x34a08: 0x6de34e20, 0x34a09: 0x6de35020, 0x34a0a: 0x6de35220, 0x34a0b: 0x6de35420,\n\t0x34a0c: 0x6de35620, 0x34a0d: 0x6dfa7220, 0x34a0e: 0x6dfa7420, 0x34a0f: 0x6dfa7620,\n\t0x34a10: 0x6dfa7820, 0x34a11: 0x6dfa7a20, 0x34a12: 0x6dfa7c20, 0x34a13: 0x6dfa7e20,\n\t0x34a14: 0x6dfa8020, 0x34a15: 0x6dfa8220, 0x34a16: 0x6dfa8420, 0x34a17: 0x6dfa8620,\n\t0x34a18: 0x6dfa8820, 0x34a19: 0x6dfa8a20, 0x34a1a: 0x6dfa8c20, 0x34a1b: 0x6dfa8e20,\n\t0x34a1c: 0x6dfa9020, 0x34a1d: 0x6dfa9220, 0x34a1e: 0x6dfa9420, 0x34a1f: 0x6dfa9620,\n\t0x34a20: 0x6dfa9820, 0x34a21: 0x6dfa9a20, 0x34a22: 0x6e0dfe20, 0x34a23: 0x6dfa9c20,\n\t0x34a24: 0x6dfa9e20, 0x34a25: 0x6dfaa020, 0x34a26: 0x6dfaa220, 0x34a27: 0x6dfaa420,\n\t0x34a28: 0x6dfaa620, 0x34a29: 0x6dfaa820, 0x34a2a: 0x6dfaaa20, 0x34a2b: 0x6dfaac20,\n\t0x34a2c: 0x6e0e0020, 0x34a2d: 0x6e0e0220, 0x34a2e: 0x6e0e0420, 0x34a2f: 0x6e0e0620,\n\t0x34a30: 0x6e0e0820, 0x34a31: 0x6e0e0a20, 0x34a32: 0x6e0e0c20, 0x34a33: 0x6e0e0e20,\n\t0x34a34: 0x6e0e1020, 0x34a35: 0x6e0e1220, 0x34a36: 0x6e0e1420, 0x34a37: 0x6e0e1620,\n\t0x34a38: 0x6e0e1820, 0x34a39: 0x6e0e1a20, 0x34a3a: 0x6e0e1c20, 0x34a3b: 0x6e0e1e20,\n\t0x34a3c: 0x6e0e2020, 0x34a3d: 0x6e0e2220, 0x34a3e: 0x6e0e2420, 0x34a3f: 0x6e0e2620,\n\t// Block 0xd29, offset 0x34a40\n\t0x34a40: 0x6e0e2820, 0x34a41: 0x6e0e2a20, 0x34a42: 0x6e1d6620, 0x34a43: 0x6e1d6820,\n\t0x34a44: 0x6e1d6a20, 0x34a45: 0x6e1d6c20, 0x34a46: 0x6e1d6e20, 0x34a47: 0x6e1d7020,\n\t0x34a48: 0x6e1d7220, 0x34a49: 0x6e1d7420, 0x34a4a: 0x6e1d7620, 0x34a4b: 0x6e1d7820,\n\t0x34a4c: 0x6e1d7a20, 0x34a4d: 0x6e1d7c20, 0x34a4e: 0x6e1d7e20, 0x34a4f: 0x6e1d8020,\n\t0x34a50: 0x6e1d8220, 0x34a51: 0x6e1d8420, 0x34a52: 0x6e1d8620, 0x34a53: 0x6e1d8820,\n\t0x34a54: 0x6e1d8a20, 0x34a55: 0x6e1d8c20, 0x34a56: 0x6e290820, 0x34a57: 0x6e290a20,\n\t0x34a58: 0x6e290c20, 0x34a59: 0x6e290e20, 0x34a5a: 0x6e291020, 0x34a5b: 0x6e291220,\n\t0x34a5c: 0x6e291420, 0x34a5d: 0x6e291620, 0x34a5e: 0x6e322a20, 0x34a5f: 0x6e322c20,\n\t0x34a60: 0x6e322e20, 0x34a61: 0x6e323020, 0x34a62: 0x6e323220, 0x34a63: 0x6e323420,\n\t0x34a64: 0x6e323620, 0x34a65: 0x6e323820, 0x34a66: 0x6e323a20, 0x34a67: 0x6e323c20,\n\t0x34a68: 0x6e323e20, 0x34a69: 0x6e324020, 0x34a6a: 0x6e324220, 0x34a6b: 0x6e324420,\n\t0x34a6c: 0x6e389620, 0x34a6d: 0x6e389820, 0x34a6e: 0x6e389a20, 0x34a6f: 0x6e389c20,\n\t0x34a70: 0x6e404420, 0x34a71: 0x6e404620, 0x34a72: 0x6e404820, 0x34a73: 0x6e429e20,\n\t0x34a74: 0x6e462a20, 0x34a75: 0x6c123820, 0x34a76: 0x6c211a20, 0x34a77: 0x6c353020,\n\t0x34a78: 0x6c353220, 0x34a79: 0x6c353420, 0x34a7a: 0x6c353620, 0x34a7b: 0x6c353820,\n\t0x34a7c: 0x6c353a20, 0x34a7d: 0x6c353c20, 0x34a7e: 0x6c502c20, 0x34a7f: 0x6c502e20,\n\t// Block 0xd2a, offset 0x34a80\n\t0x34a80: 0x6c503020, 0x34a81: 0x6c722620, 0x34a82: 0x6c722820, 0x34a83: 0x6c722a20,\n\t0x34a84: 0x6c722c20, 0x34a85: 0x6c722e20, 0x34a86: 0x6c723020, 0x34a87: 0x6c723220,\n\t0x34a88: 0x6c6aa620, 0x34a89: 0x6c723420, 0x34a8a: 0x6c9a9620, 0x34a8b: 0x6c9a9820,\n\t0x34a8c: 0x6c9a9a20, 0x34a8d: 0x6c9a9c20, 0x34a8e: 0x6cc67420, 0x34a8f: 0x6cc67620,\n\t0x34a90: 0x6cc67820, 0x34a91: 0x6cc67a20, 0x34a92: 0x6cc67c20, 0x34a93: 0x6cc67e20,\n\t0x34a94: 0x6cc68020, 0x34a95: 0x6cf52020, 0x34a96: 0x6cf52220, 0x34a97: 0x6cf52420,\n\t0x34a98: 0x6cf52620, 0x34a99: 0x6cf52820, 0x34a9a: 0x6d24ea20, 0x34a9b: 0x6d24ec20,\n\t0x34a9c: 0x6d24ee20, 0x34a9d: 0x6d526a20, 0x34a9e: 0x6d526c20, 0x34a9f: 0x6d526e20,\n\t0x34aa0: 0x6d7da220, 0x34aa1: 0x6d7da420, 0x34aa2: 0x6d7da620, 0x34aa3: 0x6d7da820,\n\t0x34aa4: 0x6d7daa20, 0x34aa5: 0x6da50a20, 0x34aa6: 0x6da50c20, 0x34aa7: 0x6da50e20,\n\t0x34aa8: 0x6da51020, 0x34aa9: 0x6da51220, 0x34aaa: 0x6dfab020, 0x34aab: 0x6c212a20,\n\t0x34aac: 0x6c212c20, 0x34aad: 0x6c212e20, 0x34aae: 0x6c213020, 0x34aaf: 0x6c213220,\n\t0x34ab0: 0x6c213420, 0x34ab1: 0x6c213620, 0x34ab2: 0x6c213820, 0x34ab3: 0x6c354820,\n\t0x34ab4: 0x6c354a20, 0x34ab5: 0x6c354c20, 0x34ab6: 0x6c354e20, 0x34ab7: 0x6c355020,\n\t0x34ab8: 0x6c355220, 0x34ab9: 0x6c355420, 0x34aba: 0x6c355620, 0x34abb: 0x6c355820,\n\t0x34abc: 0x6c355a20, 0x34abd: 0x6c355c20, 0x34abe: 0x6c355e20, 0x34abf: 0x6c356020,\n\t// Block 0xd2b, offset 0x34ac0\n\t0x34ac0: 0x6c356220, 0x34ac1: 0x6c356420, 0x34ac2: 0x6c356620, 0x34ac3: 0x6c356820,\n\t0x34ac4: 0x6c356a20, 0x34ac5: 0x6c356c20, 0x34ac6: 0x6c356e20, 0x34ac7: 0x6c357020,\n\t0x34ac8: 0x6c357220, 0x34ac9: 0x6c504820, 0x34aca: 0x6c504a20, 0x34acb: 0x6c504c20,\n\t0x34acc: 0x6c504e20, 0x34acd: 0x6c505020, 0x34ace: 0x6c505220, 0x34acf: 0x6c505420,\n\t0x34ad0: 0x6c505620, 0x34ad1: 0x6c505820, 0x34ad2: 0x6c505a20, 0x34ad3: 0x6c505c20,\n\t0x34ad4: 0x6c505e20, 0x34ad5: 0x6c506020, 0x34ad6: 0x6c506220, 0x34ad7: 0x6c506420,\n\t0x34ad8: 0x6c506620, 0x34ad9: 0x6c506820, 0x34ada: 0x6c506a20, 0x34adb: 0x6c724a20,\n\t0x34adc: 0x6c724c20, 0x34add: 0x6c724e20, 0x34ade: 0x6c725020, 0x34adf: 0x6c725220,\n\t0x34ae0: 0x6c725420, 0x34ae1: 0x6c725620, 0x34ae2: 0x6c725820, 0x34ae3: 0x6c725a20,\n\t0x34ae4: 0x6c725c20, 0x34ae5: 0x6c725e20, 0x34ae6: 0x6c726020, 0x34ae7: 0x6c726220,\n\t0x34ae8: 0x6c726420, 0x34ae9: 0x6c726620, 0x34aea: 0x6c726820, 0x34aeb: 0x6c726a20,\n\t0x34aec: 0x6c726c20, 0x34aed: 0x6c726e20, 0x34aee: 0x6c727020, 0x34aef: 0x6c727220,\n\t0x34af0: 0x6c727420, 0x34af1: 0x6c727620, 0x34af2: 0x6c727820, 0x34af3: 0x6c727a20,\n\t0x34af4: 0x6c727c20, 0x34af5: 0x6c727e20, 0x34af6: 0x6c728020, 0x34af7: 0x6c728220,\n\t0x34af8: 0x6c728420, 0x34af9: 0x6c9aca20, 0x34afa: 0x6c9acc20, 0x34afb: 0x6c9ace20,\n\t0x34afc: 0x6c9ad020, 0x34afd: 0x6c9ad220, 0x34afe: 0x6c9ad420, 0x34aff: 0x6c9ad620,\n\t// Block 0xd2c, offset 0x34b00\n\t0x34b00: 0x6c9ad820, 0x34b01: 0x6c9ada20, 0x34b02: 0x6c9adc20, 0x34b03: 0x6c9ade20,\n\t0x34b04: 0x6c9ae020, 0x34b05: 0x6c9ae220, 0x34b06: 0x6c9ae420, 0x34b07: 0x6c9ae620,\n\t0x34b08: 0x6c9ae820, 0x34b09: 0x6c9aea20, 0x34b0a: 0x6c9aec20, 0x34b0b: 0x6c9aee20,\n\t0x34b0c: 0x6c9af020, 0x34b0d: 0x6c9af220, 0x34b0e: 0x6c9af420, 0x34b0f: 0x6c9af620,\n\t0x34b10: 0x6c9af820, 0x34b11: 0x6c9afa20, 0x34b12: 0x6c9afc20, 0x34b13: 0x6c9afe20,\n\t0x34b14: 0x6c9b0020, 0x34b15: 0x6c9b0220, 0x34b16: 0x6c9b0420, 0x34b17: 0x6c9b0620,\n\t0x34b18: 0x6c9b0820, 0x34b19: 0x6c9b0a20, 0x34b1a: 0x6cc6b620, 0x34b1b: 0x6cc6b820,\n\t0x34b1c: 0x6c9b0c20, 0x34b1d: 0x6cc6ba20, 0x34b1e: 0x6cc6bc20, 0x34b1f: 0x6cc6be20,\n\t0x34b20: 0x6cc6c020, 0x34b21: 0x6cc6c220, 0x34b22: 0x6cc6c420, 0x34b23: 0x6cc6c620,\n\t0x34b24: 0x6cc6c820, 0x34b25: 0x6cc6ca20, 0x34b26: 0x6cc6cc20, 0x34b27: 0x6cc6ce20,\n\t0x34b28: 0x6cc6d020, 0x34b29: 0x6cc6d220, 0x34b2a: 0x6cc6d420, 0x34b2b: 0x6cc6d620,\n\t0x34b2c: 0x6cc6d820, 0x34b2d: 0x6cc6da20, 0x34b2e: 0x6cc6dc20, 0x34b2f: 0x6cc6de20,\n\t0x34b30: 0x6cc6e020, 0x34b31: 0x6cc6e220, 0x34b32: 0x6cc6e420, 0x34b33: 0x6cc6e620,\n\t0x34b34: 0x6cc6e820, 0x34b35: 0x6cc6ea20, 0x34b36: 0x6cc6ec20, 0x34b37: 0x6c9b0e20,\n\t0x34b38: 0x6cc6ee20, 0x34b39: 0x6cc6f020, 0x34b3a: 0x6cc6f220, 0x34b3b: 0x6cc6f420,\n\t0x34b3c: 0x6cc6f620, 0x34b3d: 0x6cc6f820, 0x34b3e: 0x6cc6fa20, 0x34b3f: 0x6cf54020,\n\t// Block 0xd2d, offset 0x34b40\n\t0x34b40: 0x6cf54220, 0x34b41: 0x6cf54420, 0x34b42: 0x6cf54620, 0x34b43: 0x6cf54820,\n\t0x34b44: 0x6cf54a20, 0x34b45: 0x6cf54c20, 0x34b46: 0x6cf54e20, 0x34b47: 0x6cf55020,\n\t0x34b48: 0x6cf55220, 0x34b49: 0x6cf55420, 0x34b4a: 0x6cf55620, 0x34b4b: 0x6cf55820,\n\t0x34b4c: 0x6cf55a20, 0x34b4d: 0x6cf55c20, 0x34b4e: 0x6cf55e20, 0x34b4f: 0x6cf56020,\n\t0x34b50: 0x6cf56220, 0x34b51: 0x6cf56420, 0x34b52: 0x6cf56620, 0x34b53: 0x6cf56820,\n\t0x34b54: 0x6cf56a20, 0x34b55: 0x6cf56c20, 0x34b56: 0x6cf56e20, 0x34b57: 0x6cf57020,\n\t0x34b58: 0x6cf57220, 0x34b59: 0x6cf57420, 0x34b5a: 0x6cf57620, 0x34b5b: 0x6cf57820,\n\t0x34b5c: 0x6cf57a20, 0x34b5d: 0x6cf57c20, 0x34b5e: 0x6cf57e20, 0x34b5f: 0x6cf58020,\n\t0x34b60: 0x6cf58220, 0x34b61: 0x6cf58420, 0x34b62: 0x6cf58620, 0x34b63: 0x6cc6fc20,\n\t0x34b64: 0x6cf58820, 0x34b65: 0x6d017a20, 0x34b66: 0x6d24fe20, 0x34b67: 0x6d250020,\n\t0x34b68: 0x6d250220, 0x34b69: 0x6d250420, 0x34b6a: 0x6d250620, 0x34b6b: 0x6d250820,\n\t0x34b6c: 0x6d250a20, 0x34b6d: 0x6d250c20, 0x34b6e: 0x6d250e20, 0x34b6f: 0x6d251020,\n\t0x34b70: 0x6d251220, 0x34b71: 0x6d251420, 0x34b72: 0x6d251620, 0x34b73: 0x6d251820,\n\t0x34b74: 0x6d251a20, 0x34b75: 0x6d251c20, 0x34b76: 0x6d251e20, 0x34b77: 0x6d252020,\n\t0x34b78: 0x6d252220, 0x34b79: 0x6d252420, 0x34b7a: 0x6d252620, 0x34b7b: 0x6d252820,\n\t0x34b7c: 0x6d252a20, 0x34b7d: 0x6d252c20, 0x34b7e: 0x6d252e20, 0x34b7f: 0x6d253020,\n\t// Block 0xd2e, offset 0x34b80\n\t0x34b80: 0x6d253220, 0x34b81: 0x6d253420, 0x34b82: 0x6d253620, 0x34b83: 0x6d253820,\n\t0x34b84: 0x6d253a20, 0x34b85: 0x6d253c20, 0x34b86: 0x6d033220, 0x34b87: 0x6d528620,\n\t0x34b88: 0x6d528820, 0x34b89: 0x6d528a20, 0x34b8a: 0x6d528c20, 0x34b8b: 0x6d528e20,\n\t0x34b8c: 0x6d529020, 0x34b8d: 0x6d529220, 0x34b8e: 0x6d529420, 0x34b8f: 0x6d529620,\n\t0x34b90: 0x6d529820, 0x34b91: 0x6d529a20, 0x34b92: 0x6d529c20, 0x34b93: 0x6d529e20,\n\t0x34b94: 0x6d52a020, 0x34b95: 0x6d52a220, 0x34b96: 0x6d52a420, 0x34b97: 0x6d52a620,\n\t0x34b98: 0x6d52a820, 0x34b99: 0x6d52aa20, 0x34b9a: 0x6d52ac20, 0x34b9b: 0x6d52ae20,\n\t0x34b9c: 0x6d52b020, 0x34b9d: 0x6d52b220, 0x34b9e: 0x6d7dbe20, 0x34b9f: 0x6d7dc020,\n\t0x34ba0: 0x6d7dc220, 0x34ba1: 0x6d7dc420, 0x34ba2: 0x6d7dc620, 0x34ba3: 0x6d7dc820,\n\t0x34ba4: 0x6d7dca20, 0x34ba5: 0x6d7dcc20, 0x34ba6: 0x6d7dce20, 0x34ba7: 0x6d7dd020,\n\t0x34ba8: 0x6d7dd220, 0x34ba9: 0x6d7dd420, 0x34baa: 0x6d7dd620, 0x34bab: 0x6d7dd820,\n\t0x34bac: 0x6d7dda20, 0x34bad: 0x6d7ddc20, 0x34bae: 0x6d7dde20, 0x34baf: 0x6d7de020,\n\t0x34bb0: 0x6d7de220, 0x34bb1: 0x6d7de420, 0x34bb2: 0x6d7de620, 0x34bb3: 0x6d7de820,\n\t0x34bb4: 0x6d7dea20, 0x34bb5: 0x6d7dec20, 0x34bb6: 0x6d7dee20, 0x34bb7: 0x6d7df020,\n\t0x34bb8: 0x6d7df220, 0x34bb9: 0x6d7df420, 0x34bba: 0x6d7df620, 0x34bbb: 0x6d7df820,\n\t0x34bbc: 0x6d7dfa20, 0x34bbd: 0x6d7dfc20, 0x34bbe: 0x6da51a20, 0x34bbf: 0x6da51c20,\n\t// Block 0xd2f, offset 0x34bc0\n\t0x34bc0: 0x6da51e20, 0x34bc1: 0x6da52020, 0x34bc2: 0x6da52220, 0x34bc3: 0x6da52420,\n\t0x34bc4: 0x6dc6bc20, 0x34bc5: 0x6da52620, 0x34bc6: 0x6da52820, 0x34bc7: 0x6da52a20,\n\t0x34bc8: 0x6da52c20, 0x34bc9: 0x6da52e20, 0x34bca: 0x6da53020, 0x34bcb: 0x6da53220,\n\t0x34bcc: 0x6da53420, 0x34bcd: 0x6da53620, 0x34bce: 0x6da53820, 0x34bcf: 0x6da53a20,\n\t0x34bd0: 0x6dc6be20, 0x34bd1: 0x6dc6c020, 0x34bd2: 0x6dc6c220, 0x34bd3: 0x6dc6c420,\n\t0x34bd4: 0x6dc6c620, 0x34bd5: 0x6dc6c820, 0x34bd6: 0x6dc6ca20, 0x34bd7: 0x6dc6cc20,\n\t0x34bd8: 0x6dc6ce20, 0x34bd9: 0x6dc6d020, 0x34bda: 0x6dc6d220, 0x34bdb: 0x6de35c20,\n\t0x34bdc: 0x6de35e20, 0x34bdd: 0x6de36020, 0x34bde: 0x6de36220, 0x34bdf: 0x6de36420,\n\t0x34be0: 0x6de36620, 0x34be1: 0x6de36820, 0x34be2: 0x6de36a20, 0x34be3: 0x6dfab820,\n\t0x34be4: 0x6dfaba20, 0x34be5: 0x6dfabc20, 0x34be6: 0x6dfabe20, 0x34be7: 0x6dfac020,\n\t0x34be8: 0x6dfac220, 0x34be9: 0x6dfac420, 0x34bea: 0x6dfac620, 0x34beb: 0x6dfac820,\n\t0x34bec: 0x6dfaca20, 0x34bed: 0x6dfacc20, 0x34bee: 0x6e0e2e20, 0x34bef: 0x6e0e3020,\n\t0x34bf0: 0x6e0e3220, 0x34bf1: 0x6e0e3420, 0x34bf2: 0x6e0e3620, 0x34bf3: 0x6e1d9020,\n\t0x34bf4: 0x6e1d9220, 0x34bf5: 0x6e291a20, 0x34bf6: 0x6e291c20, 0x34bf7: 0x6e291e20,\n\t0x34bf8: 0x6e292020, 0x34bf9: 0x6e292220, 0x34bfa: 0x6e292420, 0x34bfb: 0x6e389e20,\n\t0x34bfc: 0x6e38a020, 0x34bfd: 0x6e404a20, 0x34bfe: 0x6e404c20, 0x34bff: 0x6e42a020,\n\t// Block 0xd30, offset 0x34c00\n\t0x34c00: 0x6e442e20, 0x34c01: 0x6c123e20, 0x34c02: 0x6c213e20, 0x34c03: 0x6c357820,\n\t0x34c04: 0x6c357a20, 0x34c05: 0x6c357c20, 0x34c06: 0x6c507020, 0x34c07: 0x6c507220,\n\t0x34c08: 0x6c507420, 0x34c09: 0x6c507620, 0x34c0a: 0x6c729220, 0x34c0b: 0x6c728620,\n\t0x34c0c: 0x6c729420, 0x34c0d: 0x6c729620, 0x34c0e: 0x6c9b1c20, 0x34c0f: 0x6c9b1e20,\n\t0x34c10: 0x6c9b2020, 0x34c11: 0x6c9b2220, 0x34c12: 0x6c9b2420, 0x34c13: 0x6c9b2620,\n\t0x34c14: 0x6cc70820, 0x34c15: 0x6cc70a20, 0x34c16: 0x6cc70c20, 0x34c17: 0x6cf59020,\n\t0x34c18: 0x6cf59220, 0x34c19: 0x6cf59420, 0x34c1a: 0x6d52b420, 0x34c1b: 0x6d52be20,\n\t0x34c1c: 0x6d52c020, 0x34c1d: 0x6d52c220, 0x34c1e: 0x6d52c420, 0x34c1f: 0x6d52c620,\n\t0x34c20: 0x6d52c820, 0x34c21: 0x6d52ca20, 0x34c22: 0x6d7e0620, 0x34c23: 0x6d7e0820,\n\t0x34c24: 0x6da54020, 0x34c25: 0x6dc6d820, 0x34c26: 0x6dc6da20, 0x34c27: 0x6de36e20,\n\t0x34c28: 0x6dfad020, 0x34c29: 0x6e0e3e20, 0x34c2a: 0x6e0e4020, 0x34c2b: 0x6e292820,\n\t0x34c2c: 0x6c048820, 0x34c2d: 0x6c214420, 0x34c2e: 0x6c358420, 0x34c2f: 0x6c358620,\n\t0x34c30: 0x6c358820, 0x34c31: 0x6c507c20, 0x34c32: 0x6c507e20, 0x34c33: 0x6c72a020,\n\t0x34c34: 0x6c72a220, 0x34c35: 0x6c72a420, 0x34c36: 0x6c72a620, 0x34c37: 0x6c9b2e20,\n\t0x34c38: 0x6c9b3020, 0x34c39: 0x6c9b3220, 0x34c3a: 0x6c9b3420, 0x34c3b: 0x6c9b3620,\n\t0x34c3c: 0x6cc71820, 0x34c3d: 0x6cc71a20, 0x34c3e: 0x6cc71c20, 0x34c3f: 0x6cc71e20,\n\t// Block 0xd31, offset 0x34c40\n\t0x34c40: 0x6cc72020, 0x34c41: 0x6cf59a20, 0x34c42: 0x6d254c20, 0x34c43: 0x6cf59c20,\n\t0x34c44: 0x6cf59e20, 0x34c45: 0x6cf5a020, 0x34c46: 0x6d254e20, 0x34c47: 0x6d255020,\n\t0x34c48: 0x6d255220, 0x34c49: 0x6d52ce20, 0x34c4a: 0x6d52d020, 0x34c4b: 0x6d52d220,\n\t0x34c4c: 0x6da54620, 0x34c4d: 0x6da54820, 0x34c4e: 0x6dc6de20, 0x34c4f: 0x6de37020,\n\t0x34c50: 0x6dfad220, 0x34c51: 0x6c048c20, 0x34c52: 0x6c124420, 0x34c53: 0x6c214620,\n\t0x34c54: 0x6c359220, 0x34c55: 0x6c359420, 0x34c56: 0x6c359620, 0x34c57: 0x6c359820,\n\t0x34c58: 0x6c359a20, 0x34c59: 0x6c508a20, 0x34c5a: 0x6c508c20, 0x34c5b: 0x6c72ae20,\n\t0x34c5c: 0x6c72b020, 0x34c5d: 0x6c72b220, 0x34c5e: 0x6c9b3c20, 0x34c5f: 0x6c9b3e20,\n\t0x34c60: 0x6c9b4020, 0x34c61: 0x6cc72a20, 0x34c62: 0x6cc72c20, 0x34c63: 0x6cc72e20,\n\t0x34c64: 0x6cc73020, 0x34c65: 0x6cc73220, 0x34c66: 0x6cc73420, 0x34c67: 0x6cc73620,\n\t0x34c68: 0x6cc73820, 0x34c69: 0x6cc73a20, 0x34c6a: 0x6cc73c20, 0x34c6b: 0x6ca6ac20,\n\t0x34c6c: 0x6cc73e20, 0x34c6d: 0x6cc74020, 0x34c6e: 0x6cf5a420, 0x34c6f: 0x6cf5a620,\n\t0x34c70: 0x6cf5a820, 0x34c71: 0x6cf5aa20, 0x34c72: 0x6cf5ac20, 0x34c73: 0x6cf5ae20,\n\t0x34c74: 0x6cf5b020, 0x34c75: 0x6cf5b220, 0x34c76: 0x6d255a20, 0x34c77: 0x6d255c20,\n\t0x34c78: 0x6d255e20, 0x34c79: 0x6d256020, 0x34c7a: 0x6d256220, 0x34c7b: 0x6d52da20,\n\t0x34c7c: 0x6d52dc20, 0x34c7d: 0x6d52de20, 0x34c7e: 0x6d52e020, 0x34c7f: 0x6d52e220,\n\t// Block 0xd32, offset 0x34c80\n\t0x34c80: 0x6d7e0e20, 0x34c81: 0x6d7e1020, 0x34c82: 0x6d7e1220, 0x34c83: 0x6d7e1420,\n\t0x34c84: 0x6d7e1620, 0x34c85: 0x6d7e1820, 0x34c86: 0x6d7e1a20, 0x34c87: 0x6da55020,\n\t0x34c88: 0x6da55220, 0x34c89: 0x6da55420, 0x34c8a: 0x6da55620, 0x34c8b: 0x6da55820,\n\t0x34c8c: 0x6dc6e220, 0x34c8d: 0x6dc6e420, 0x34c8e: 0x6dc6e620, 0x34c8f: 0x6dc6e820,\n\t0x34c90: 0x6dc6ea20, 0x34c91: 0x6de37220, 0x34c92: 0x6de37420, 0x34c93: 0x6de37620,\n\t0x34c94: 0x6dfad420, 0x34c95: 0x6dfad620, 0x34c96: 0x6e1d9420, 0x34c97: 0x6c124820,\n\t0x34c98: 0x6c214820, 0x34c99: 0x6c214a20, 0x34c9a: 0x6c35a620, 0x34c9b: 0x6c35a820,\n\t0x34c9c: 0x6c35aa20, 0x34c9d: 0x6c509820, 0x34c9e: 0x6c509a20, 0x34c9f: 0x6c509c20,\n\t0x34ca0: 0x6c509e20, 0x34ca1: 0x6c50a020, 0x34ca2: 0x6c50a220, 0x34ca3: 0x6c50a420,\n\t0x34ca4: 0x6c50a620, 0x34ca5: 0x6c50a820, 0x34ca6: 0x6c72ca20, 0x34ca7: 0x6c72cc20,\n\t0x34ca8: 0x6c72ce20, 0x34ca9: 0x6c72d020, 0x34caa: 0x6c72d220, 0x34cab: 0x6c72d420,\n\t0x34cac: 0x6c72d620, 0x34cad: 0x6c72d820, 0x34cae: 0x6c72da20, 0x34caf: 0x6c72dc20,\n\t0x34cb0: 0x6c72de20, 0x34cb1: 0x6c72e020, 0x34cb2: 0x6c72e220, 0x34cb3: 0x6c9b5820,\n\t0x34cb4: 0x6c9b5a20, 0x34cb5: 0x6c9b5c20, 0x34cb6: 0x6c9b5e20, 0x34cb7: 0x6c9b6020,\n\t0x34cb8: 0x6c9b6220, 0x34cb9: 0x6c9b6420, 0x34cba: 0x6c9b6620, 0x34cbb: 0x6c9b6820,\n\t0x34cbc: 0x6cc74a20, 0x34cbd: 0x6cc74c20, 0x34cbe: 0x6cc74e20, 0x34cbf: 0x6cc75020,\n\t// Block 0xd33, offset 0x34cc0\n\t0x34cc0: 0x6cc75220, 0x34cc1: 0x6cc75420, 0x34cc2: 0x6cc75620, 0x34cc3: 0x6cc75820,\n\t0x34cc4: 0x6cc75a20, 0x34cc5: 0x6cc75c20, 0x34cc6: 0x6cc75e20, 0x34cc7: 0x6cc76020,\n\t0x34cc8: 0x6cf5be20, 0x34cc9: 0x6cf5c020, 0x34cca: 0x6cf5c220, 0x34ccb: 0x6cf5c420,\n\t0x34ccc: 0x6cf5c620, 0x34ccd: 0x6cf5c820, 0x34cce: 0x6d256820, 0x34ccf: 0x6d256a20,\n\t0x34cd0: 0x6d256c20, 0x34cd1: 0x6d256e20, 0x34cd2: 0x6d257020, 0x34cd3: 0x6d257220,\n\t0x34cd4: 0x6d52e820, 0x34cd5: 0x6d52ea20, 0x34cd6: 0x6d52ec20, 0x34cd7: 0x6d7e2020,\n\t0x34cd8: 0x6d7e2220, 0x34cd9: 0x6d7e2420, 0x34cda: 0x6d7e2620, 0x34cdb: 0x6d7e2820,\n\t0x34cdc: 0x6d7e2a20, 0x34cdd: 0x6da55c20, 0x34cde: 0x6dc6ee20, 0x34cdf: 0x6dc6f020,\n\t0x34ce0: 0x6dc6f220, 0x34ce1: 0x6dc6f420, 0x34ce2: 0x6dc6f620, 0x34ce3: 0x6dc6f820,\n\t0x34ce4: 0x6de37e20, 0x34ce5: 0x6dfada20, 0x34ce6: 0x6e0e4420, 0x34ce7: 0x6e1d9620,\n\t0x34ce8: 0x6e1d9820, 0x34ce9: 0x6e292c20, 0x34cea: 0x6e324820, 0x34ceb: 0x6e38a420,\n\t0x34cec: 0x6e3d2e20, 0x34ced: 0x6c124a20, 0x34cee: 0x6c214c20, 0x34cef: 0x6c214e20,\n\t0x34cf0: 0x6c50ae20, 0x34cf1: 0x6c72ea20, 0x34cf2: 0x6c72ec20, 0x34cf3: 0x6c72ee20,\n\t0x34cf4: 0x6cc76a20, 0x34cf5: 0x6cc76c20, 0x34cf6: 0x6cf5d020, 0x34cf7: 0x6cf5d220,\n\t0x34cf8: 0x6cf5d420, 0x34cf9: 0x6d52f220, 0x34cfa: 0x6d7e3020, 0x34cfb: 0x6c095820,\n\t0x34cfc: 0x6c095a20, 0x34cfd: 0x6c095c20, 0x34cfe: 0x6c126020, 0x34cff: 0x6c126220,\n\t// Block 0xd34, offset 0x34d00\n\t0x34d00: 0x6c126420, 0x34d01: 0x6c126620, 0x34d02: 0x6c126820, 0x34d03: 0x6c126a20,\n\t0x34d04: 0x6c216e20, 0x34d05: 0x6c126c20, 0x34d06: 0x6c217020, 0x34d07: 0x6c217220,\n\t0x34d08: 0x6c217420, 0x34d09: 0x6c217620, 0x34d0a: 0x6c217820, 0x34d0b: 0x6c217a20,\n\t0x34d0c: 0x6c217c20, 0x34d0d: 0x6c217e20, 0x34d0e: 0x6c218020, 0x34d0f: 0x6c218220,\n\t0x34d10: 0x6c218420, 0x34d11: 0x6c218620, 0x34d12: 0x6c218820, 0x34d13: 0x6c218a20,\n\t0x34d14: 0x6c218c20, 0x34d15: 0x6c218e20, 0x34d16: 0x6c219020, 0x34d17: 0x6c219220,\n\t0x34d18: 0x6c219420, 0x34d19: 0x6c219620, 0x34d1a: 0x6c35f820, 0x34d1b: 0x6c35fa20,\n\t0x34d1c: 0x6c35fc20, 0x34d1d: 0x6c35fe20, 0x34d1e: 0x6c360020, 0x34d1f: 0x6c360220,\n\t0x34d20: 0x6c360420, 0x34d21: 0x6c360620, 0x34d22: 0x6c360820, 0x34d23: 0x6c360a20,\n\t0x34d24: 0x6c360c20, 0x34d25: 0x6c360e20, 0x34d26: 0x6c361020, 0x34d27: 0x6c361220,\n\t0x34d28: 0x6c361420, 0x34d29: 0x6c361620, 0x34d2a: 0x6c361820, 0x34d2b: 0x6c361a20,\n\t0x34d2c: 0x6c361c20, 0x34d2d: 0x6c361e20, 0x34d2e: 0x6c362020, 0x34d2f: 0x6c362220,\n\t0x34d30: 0x6c362420, 0x34d31: 0x6c362620, 0x34d32: 0x6c362820, 0x34d33: 0x6c362a20,\n\t0x34d34: 0x6c362c20, 0x34d35: 0x6c362e20, 0x34d36: 0x6c363020, 0x34d37: 0x6c511020,\n\t0x34d38: 0x6c511220, 0x34d39: 0x6c511420, 0x34d3a: 0x6c511620, 0x34d3b: 0x6c511820,\n\t0x34d3c: 0x6c511a20, 0x34d3d: 0x6c511c20, 0x34d3e: 0x6c511e20, 0x34d3f: 0x6c512020,\n\t// Block 0xd35, offset 0x34d40\n\t0x34d40: 0x6c512220, 0x34d41: 0x6c512420, 0x34d42: 0x6c512620, 0x34d43: 0x6c512820,\n\t0x34d44: 0x6c512a20, 0x34d45: 0x6c512c20, 0x34d46: 0x6c512e20, 0x34d47: 0x6c513020,\n\t0x34d48: 0x6c513220, 0x34d49: 0x6c515e20, 0x34d4a: 0x6c513420, 0x34d4b: 0x6c513620,\n\t0x34d4c: 0x6c513820, 0x34d4d: 0x6c513a20, 0x34d4e: 0x6c513c20, 0x34d4f: 0x6c513e20,\n\t0x34d50: 0x6c514020, 0x34d51: 0x6c514220, 0x34d52: 0x6c733220, 0x34d53: 0x6c733420,\n\t0x34d54: 0x6c733620, 0x34d55: 0x6c733820, 0x34d56: 0x6c733a20, 0x34d57: 0x6c733c20,\n\t0x34d58: 0x6c733e20, 0x34d59: 0x6c734020, 0x34d5a: 0x6c734220, 0x34d5b: 0x6c734420,\n\t0x34d5c: 0x6c734620, 0x34d5d: 0x6c734820, 0x34d5e: 0x6c734a20, 0x34d5f: 0x6c734c20,\n\t0x34d60: 0x6c734e20, 0x34d61: 0x6c735020, 0x34d62: 0x6c735220, 0x34d63: 0x6c735420,\n\t0x34d64: 0x6c735620, 0x34d65: 0x6c735820, 0x34d66: 0x6c735a20, 0x34d67: 0x6c735c20,\n\t0x34d68: 0x6c735e20, 0x34d69: 0x6c736020, 0x34d6a: 0x6c736220, 0x34d6b: 0x6c736420,\n\t0x34d6c: 0x6c736620, 0x34d6d: 0x6c736820, 0x34d6e: 0x6c736a20, 0x34d6f: 0x6c736c20,\n\t0x34d70: 0x6c736e20, 0x34d71: 0x6c737020, 0x34d72: 0x6c9ba220, 0x34d73: 0x6c9ba420,\n\t0x34d74: 0x6c9ba620, 0x34d75: 0x6c9ba820, 0x34d76: 0x6c9baa20, 0x34d77: 0x6c9bac20,\n\t0x34d78: 0x6c9bae20, 0x34d79: 0x6c9bb020, 0x34d7a: 0x6c9bb220, 0x34d7b: 0x6c9bb420,\n\t0x34d7c: 0x6c9bb620, 0x34d7d: 0x6c9bb820, 0x34d7e: 0x6c9bba20, 0x34d7f: 0x6c9bbc20,\n\t// Block 0xd36, offset 0x34d80\n\t0x34d80: 0x6c9bbe20, 0x34d81: 0x6c9bc020, 0x34d82: 0x6c9bc220, 0x34d83: 0x6c9bc420,\n\t0x34d84: 0x6c9bc620, 0x34d85: 0x6c9bc820, 0x34d86: 0x6c9bca20, 0x34d87: 0x6c9bcc20,\n\t0x34d88: 0x6c9bce20, 0x34d89: 0x6c9bd020, 0x34d8a: 0x6c9bd220, 0x34d8b: 0x6c9bd420,\n\t0x34d8c: 0x6c9bd620, 0x34d8d: 0x6c9bd820, 0x34d8e: 0x6c9bda20, 0x34d8f: 0x6c9bdc20,\n\t0x34d90: 0x6c9bde20, 0x34d91: 0x6c9be020, 0x34d92: 0x6c9be220, 0x34d93: 0x6c9be420,\n\t0x34d94: 0x6c9be620, 0x34d95: 0x6c9be820, 0x34d96: 0x6c9bea20, 0x34d97: 0x6c9bec20,\n\t0x34d98: 0x6c9bee20, 0x34d99: 0x6c9bf020, 0x34d9a: 0x6c9bf220, 0x34d9b: 0x6c9bf420,\n\t0x34d9c: 0x6c9bf620, 0x34d9d: 0x6c9bf820, 0x34d9e: 0x6c9bfa20, 0x34d9f: 0x6c9bfc20,\n\t0x34da0: 0x6c9bfe20, 0x34da1: 0x6c9c0020, 0x34da2: 0x6cc7ba20, 0x34da3: 0x6cc7bc20,\n\t0x34da4: 0x6cc7be20, 0x34da5: 0x6cc7c020, 0x34da6: 0x6cc7c220, 0x34da7: 0x6cc7c420,\n\t0x34da8: 0x6cc7c620, 0x34da9: 0x6cc7c820, 0x34daa: 0x6cc7ca20, 0x34dab: 0x6cc7cc20,\n\t0x34dac: 0x6cc7ce20, 0x34dad: 0x6cc7d020, 0x34dae: 0x6cc7d220, 0x34daf: 0x6cc7d420,\n\t0x34db0: 0x6cc7d620, 0x34db1: 0x6cc7d820, 0x34db2: 0x6cc7da20, 0x34db3: 0x6cc7dc20,\n\t0x34db4: 0x6cc7de20, 0x34db5: 0x6cc7e020, 0x34db6: 0x6cc7e220, 0x34db7: 0x6cc7e420,\n\t0x34db8: 0x6cc7e620, 0x34db9: 0x6cc7e820, 0x34dba: 0x6cc7ea20, 0x34dbb: 0x6cc7ec20,\n\t0x34dbc: 0x6cc7ee20, 0x34dbd: 0x6cc7f020, 0x34dbe: 0x6cc7f220, 0x34dbf: 0x6cc7f420,\n\t// Block 0xd37, offset 0x34dc0\n\t0x34dc0: 0x6cc7f620, 0x34dc1: 0x6cc7f820, 0x34dc2: 0x6cc7fa20, 0x34dc3: 0x6cc7fc20,\n\t0x34dc4: 0x6cc7fe20, 0x34dc5: 0x6cc80020, 0x34dc6: 0x6cc80220, 0x34dc7: 0x6cc80420,\n\t0x34dc8: 0x6cc80620, 0x34dc9: 0x6cc80820, 0x34dca: 0x6cc80a20, 0x34dcb: 0x6cc80c20,\n\t0x34dcc: 0x6cc80e20, 0x34dcd: 0x6cc81020, 0x34dce: 0x6cc81220, 0x34dcf: 0x6cc81420,\n\t0x34dd0: 0x6cc81620, 0x34dd1: 0x6cc81820, 0x34dd2: 0x6cc81a20, 0x34dd3: 0x6cc81c20,\n\t0x34dd4: 0x6cc81e20, 0x34dd5: 0x6cc82020, 0x34dd6: 0x6cc82220, 0x34dd7: 0x6cc82420,\n\t0x34dd8: 0x6cc82620, 0x34dd9: 0x6cc82820, 0x34dda: 0x6cc82a20, 0x34ddb: 0x6cc82c20,\n\t0x34ddc: 0x6cc82e20, 0x34ddd: 0x6cc83020, 0x34dde: 0x6cc83220, 0x34ddf: 0x6cc83420,\n\t0x34de0: 0x6cc83620, 0x34de1: 0x6cc83820, 0x34de2: 0x6cc83a20, 0x34de3: 0x6cc83c20,\n\t0x34de4: 0x6cf61a20, 0x34de5: 0x6cf61c20, 0x34de6: 0x6cf61e20, 0x34de7: 0x6cf62020,\n\t0x34de8: 0x6cf62220, 0x34de9: 0x6cf62420, 0x34dea: 0x6cf62620, 0x34deb: 0x6cf62820,\n\t0x34dec: 0x6cf62a20, 0x34ded: 0x6cf62c20, 0x34dee: 0x6cf62e20, 0x34def: 0x6cf63020,\n\t0x34df0: 0x6cf63220, 0x34df1: 0x6cf63420, 0x34df2: 0x6cf63620, 0x34df3: 0x6cf63820,\n\t0x34df4: 0x6cf63a20, 0x34df5: 0x6cf63c20, 0x34df6: 0x6cf63e20, 0x34df7: 0x6cf64020,\n\t0x34df8: 0x6cf64220, 0x34df9: 0x6cf64420, 0x34dfa: 0x6cf64620, 0x34dfb: 0x6cf64820,\n\t0x34dfc: 0x6cf64a20, 0x34dfd: 0x6cf64c20, 0x34dfe: 0x6cf64e20, 0x34dff: 0x6cf65020,\n\t// Block 0xd38, offset 0x34e00\n\t0x34e00: 0x6cf65220, 0x34e01: 0x6cf65420, 0x34e02: 0x6cf65620, 0x34e03: 0x6cf65820,\n\t0x34e04: 0x6cf65a20, 0x34e05: 0x6cf65c20, 0x34e06: 0x6cf65e20, 0x34e07: 0x6cf66020,\n\t0x34e08: 0x6cf66220, 0x34e09: 0x6cf66420, 0x34e0a: 0x6cf66620, 0x34e0b: 0x6cf66820,\n\t0x34e0c: 0x6cf66a20, 0x34e0d: 0x6cf66c20, 0x34e0e: 0x6cf66e20, 0x34e0f: 0x6cf67020,\n\t0x34e10: 0x6cf67220, 0x34e11: 0x6cf67420, 0x34e12: 0x6d259c20, 0x34e13: 0x6d259e20,\n\t0x34e14: 0x6d25a020, 0x34e15: 0x6d25a220, 0x34e16: 0x6d25a420, 0x34e17: 0x6d25a620,\n\t0x34e18: 0x6d25a820, 0x34e19: 0x6d25aa20, 0x34e1a: 0x6d25ac20, 0x34e1b: 0x6d25ae20,\n\t0x34e1c: 0x6d25b020, 0x34e1d: 0x6d25b220, 0x34e1e: 0x6d25b420, 0x34e1f: 0x6d25b620,\n\t0x34e20: 0x6d25b820, 0x34e21: 0x6cf1ac20, 0x34e22: 0x6d25ba20, 0x34e23: 0x6d25bc20,\n\t0x34e24: 0x6d25be20, 0x34e25: 0x6d25c020, 0x34e26: 0x6d25c220, 0x34e27: 0x6d25c420,\n\t0x34e28: 0x6d25c620, 0x34e29: 0x6d25c820, 0x34e2a: 0x6d25ca20, 0x34e2b: 0x6d25cc20,\n\t0x34e2c: 0x6d25ce20, 0x34e2d: 0x6d25d020, 0x34e2e: 0x6d25d220, 0x34e2f: 0x6d25d420,\n\t0x34e30: 0x6d25d620, 0x34e31: 0x6d25d820, 0x34e32: 0x6d25da20, 0x34e33: 0x6d25dc20,\n\t0x34e34: 0x6d25de20, 0x34e35: 0x6d25e020, 0x34e36: 0x6d25e220, 0x34e37: 0x6d25e420,\n\t0x34e38: 0x6d25e620, 0x34e39: 0x6d25e820, 0x34e3a: 0x6d25ea20, 0x34e3b: 0x6d531e20,\n\t0x34e3c: 0x6d532020, 0x34e3d: 0x6d532220, 0x34e3e: 0x6d532420, 0x34e3f: 0x6d532620,\n\t// Block 0xd39, offset 0x34e40\n\t0x34e40: 0x6d532820, 0x34e41: 0x6d532a20, 0x34e42: 0x6d532c20, 0x34e43: 0x6d532e20,\n\t0x34e44: 0x6d533020, 0x34e45: 0x6d533220, 0x34e46: 0x6d533420, 0x34e47: 0x6d533620,\n\t0x34e48: 0x6d533820, 0x34e49: 0x6d7e7020, 0x34e4a: 0x6d533a20, 0x34e4b: 0x6d533c20,\n\t0x34e4c: 0x6d533e20, 0x34e4d: 0x6d534020, 0x34e4e: 0x6d534220, 0x34e4f: 0x6d534420,\n\t0x34e50: 0x6d534620, 0x34e51: 0x6d534820, 0x34e52: 0x6d4d3220, 0x34e53: 0x6d534a20,\n\t0x34e54: 0x6d534c20, 0x34e55: 0x6d534e20, 0x34e56: 0x6d535020, 0x34e57: 0x6d535220,\n\t0x34e58: 0x6d535420, 0x34e59: 0x6d535620, 0x34e5a: 0x6d535820, 0x34e5b: 0x6d535a20,\n\t0x34e5c: 0x6d535c20, 0x34e5d: 0x6d535e20, 0x34e5e: 0x6d7e7220, 0x34e5f: 0x6d7e7420,\n\t0x34e60: 0x6d7e7620, 0x34e61: 0x6d7e7820, 0x34e62: 0x6d7e7a20, 0x34e63: 0x6d7e7c20,\n\t0x34e64: 0x6d7e7e20, 0x34e65: 0x6d7e8020, 0x34e66: 0x6d7e8220, 0x34e67: 0x6d7e8420,\n\t0x34e68: 0x6d7e8620, 0x34e69: 0x6d7e8820, 0x34e6a: 0x6d7e8a20, 0x34e6b: 0x6d7e8c20,\n\t0x34e6c: 0x6d7e8e20, 0x34e6d: 0x6d7e9020, 0x34e6e: 0x6d7e9220, 0x34e6f: 0x6d7e9420,\n\t0x34e70: 0x6d7e9620, 0x34e71: 0x6d7e9820, 0x34e72: 0x6d7e9a20, 0x34e73: 0x6d7e9c20,\n\t0x34e74: 0x6d7e9e20, 0x34e75: 0x6d7ea020, 0x34e76: 0x6d7ea220, 0x34e77: 0x6d7ea420,\n\t0x34e78: 0x6d7ea620, 0x34e79: 0x6d7ea820, 0x34e7a: 0x6d7eaa20, 0x34e7b: 0x6d7eac20,\n\t0x34e7c: 0x6d7eae20, 0x34e7d: 0x6d7eb020, 0x34e7e: 0x6d7eb220, 0x34e7f: 0x6d7eb420,\n\t// Block 0xd3a, offset 0x34e80\n\t0x34e80: 0x6d7eb620, 0x34e81: 0x6d7eb820, 0x34e82: 0x6d7eba20, 0x34e83: 0x6d7ebc20,\n\t0x34e84: 0x6d7ebe20, 0x34e85: 0x6d7ec020, 0x34e86: 0x6d7ec220, 0x34e87: 0x6d536020,\n\t0x34e88: 0x6d7ec420, 0x34e89: 0x6da57a20, 0x34e8a: 0x6da57c20, 0x34e8b: 0x6da57e20,\n\t0x34e8c: 0x6da58020, 0x34e8d: 0x6da58220, 0x34e8e: 0x6da58420, 0x34e8f: 0x6da58620,\n\t0x34e90: 0x6da58820, 0x34e91: 0x6da58a20, 0x34e92: 0x6da58c20, 0x34e93: 0x6da58e20,\n\t0x34e94: 0x6da59020, 0x34e95: 0x6da59220, 0x34e96: 0x6da59420, 0x34e97: 0x6da59620,\n\t0x34e98: 0x6da59820, 0x34e99: 0x6da59a20, 0x34e9a: 0x6da59c20, 0x34e9b: 0x6da59e20,\n\t0x34e9c: 0x6da5a020, 0x34e9d: 0x6da5a220, 0x34e9e: 0x6dc70e20, 0x34e9f: 0x6dc71020,\n\t0x34ea0: 0x6dc71220, 0x34ea1: 0x6dc71420, 0x34ea2: 0x6dc71620, 0x34ea3: 0x6dc71820,\n\t0x34ea4: 0x6dc71a20, 0x34ea5: 0x6dc71c20, 0x34ea6: 0x6dc71e20, 0x34ea7: 0x6dc72020,\n\t0x34ea8: 0x6dc72220, 0x34ea9: 0x6dc72420, 0x34eaa: 0x6dc72620, 0x34eab: 0x6dc72820,\n\t0x34eac: 0x6dc72a20, 0x34ead: 0x6dc72c20, 0x34eae: 0x6dc72e20, 0x34eaf: 0x6dc73020,\n\t0x34eb0: 0x6dc73220, 0x34eb1: 0x6dc73420, 0x34eb2: 0x6de39420, 0x34eb3: 0x6de39620,\n\t0x34eb4: 0x6de39820, 0x34eb5: 0x6de39a20, 0x34eb6: 0x6de39c20, 0x34eb7: 0x6de39e20,\n\t0x34eb8: 0x6de3a020, 0x34eb9: 0x6de3a220, 0x34eba: 0x6de3a420, 0x34ebb: 0x6de3a620,\n\t0x34ebc: 0x6de3a820, 0x34ebd: 0x6de3aa20, 0x34ebe: 0x6de3ac20, 0x34ebf: 0x6dfaec20,\n\t// Block 0xd3b, offset 0x34ec0\n\t0x34ec0: 0x6dfaee20, 0x34ec1: 0x6dfaf020, 0x34ec2: 0x6dfaf220, 0x34ec3: 0x6dfaf420,\n\t0x34ec4: 0x6dfaf620, 0x34ec5: 0x6dfaf820, 0x34ec6: 0x6dfafa20, 0x34ec7: 0x6dfafc20,\n\t0x34ec8: 0x6e0e4820, 0x34ec9: 0x6e0e4a20, 0x34eca: 0x6e0e4c20, 0x34ecb: 0x6e0e4e20,\n\t0x34ecc: 0x6e0e5020, 0x34ecd: 0x6e1d9e20, 0x34ece: 0x6e1da020, 0x34ecf: 0x6e1da220,\n\t0x34ed0: 0x6e1da420, 0x34ed1: 0x6e1da620, 0x34ed2: 0x6e1da820, 0x34ed3: 0x6e1daa20,\n\t0x34ed4: 0x6e1dac20, 0x34ed5: 0x6e1dae20, 0x34ed6: 0x6e293620, 0x34ed7: 0x6e324e20,\n\t0x34ed8: 0x6e325020, 0x34ed9: 0x6e325220, 0x34eda: 0x6e348820, 0x34edb: 0x6e325420,\n\t0x34edc: 0x6e38aa20, 0x34edd: 0x6e38ac20, 0x34ede: 0x6e40ba20, 0x34edf: 0x6e42a220,\n\t0x34ee0: 0x6e46e620, 0x34ee1: 0x6c21a020, 0x34ee2: 0x6c21a220, 0x34ee3: 0x6c364220,\n\t0x34ee4: 0x6c364420, 0x34ee5: 0x6c364620, 0x34ee6: 0x6c364820, 0x34ee7: 0x6c516020,\n\t0x34ee8: 0x6c516220, 0x34ee9: 0x6c516420, 0x34eea: 0x6c516620, 0x34eeb: 0x6c516820,\n\t0x34eec: 0x6c516a20, 0x34eed: 0x6c739420, 0x34eee: 0x6c739620, 0x34eef: 0x6c739820,\n\t0x34ef0: 0x6c739a20, 0x34ef1: 0x6c739c20, 0x34ef2: 0x6c739e20, 0x34ef3: 0x6c73a020,\n\t0x34ef4: 0x6c73a220, 0x34ef5: 0x6c73a420, 0x34ef6: 0x6c73a620, 0x34ef7: 0x6c9c0e20,\n\t0x34ef8: 0x6c9c1020, 0x34ef9: 0x6c9c1220, 0x34efa: 0x6c9c1420, 0x34efb: 0x6cc85220,\n\t0x34efc: 0x6cc85420, 0x34efd: 0x6cc85620, 0x34efe: 0x6cf68a20, 0x34eff: 0x6cf68c20,\n\t// Block 0xd3c, offset 0x34f00\n\t0x34f00: 0x6cf68e20, 0x34f01: 0x6cf69020, 0x34f02: 0x6cf69220, 0x34f03: 0x6d25fc20,\n\t0x34f04: 0x6d25fe20, 0x34f05: 0x6d260020, 0x34f06: 0x6d537420, 0x34f07: 0x6d537620,\n\t0x34f08: 0x6d537820, 0x34f09: 0x6d537a20, 0x34f0a: 0x6d537c20, 0x34f0b: 0x6d7ed820,\n\t0x34f0c: 0x6d7eda20, 0x34f0d: 0x6d7edc20, 0x34f0e: 0x6d7ede20, 0x34f0f: 0x6da5ac20,\n\t0x34f10: 0x6da5ae20, 0x34f11: 0x6dc73e20, 0x34f12: 0x6dc74020, 0x34f13: 0x6dc74220,\n\t0x34f14: 0x6dc74420, 0x34f15: 0x6dc74620, 0x34f16: 0x6de3ae20, 0x34f17: 0x6de3b020,\n\t0x34f18: 0x6dfafe20, 0x34f19: 0x6dfb0020, 0x34f1a: 0x6e325820, 0x34f1b: 0x6e42a420,\n\t0x34f1c: 0x6e46c620, 0x34f1d: 0x6c096020, 0x34f1e: 0x6c127620, 0x34f1f: 0x6c21a420,\n\t0x34f20: 0x6c21a620, 0x34f21: 0x6c21a820, 0x34f22: 0x6c21aa20, 0x34f23: 0x6c21ac20,\n\t0x34f24: 0x6c365420, 0x34f25: 0x6c517420, 0x34f26: 0x6c517620, 0x34f27: 0x6c517820,\n\t0x34f28: 0x6c5dc820, 0x34f29: 0x6c517a20, 0x34f2a: 0x6c517c20, 0x34f2b: 0x6c517e20,\n\t0x34f2c: 0x6c518020, 0x34f2d: 0x6c73b620, 0x34f2e: 0x6c73b820, 0x34f2f: 0x6c825c20,\n\t0x34f30: 0x6c825e20, 0x34f31: 0x6c9c2420, 0x34f32: 0x6c9c2620, 0x34f33: 0x6c9c2820,\n\t0x34f34: 0x6c9c2a20, 0x34f35: 0x6c9c2c20, 0x34f36: 0x6c9c2e20, 0x34f37: 0x6cc86220,\n\t0x34f38: 0x6cc86420, 0x34f39: 0x6cc86620, 0x34f3a: 0x6cc86820, 0x34f3b: 0x6cc86a20,\n\t0x34f3c: 0x6cc86c20, 0x34f3d: 0x6cc86e20, 0x34f3e: 0x6cc87020, 0x34f3f: 0x6cc87220,\n\t// Block 0xd3d, offset 0x34f40\n\t0x34f40: 0x6cc87420, 0x34f41: 0x6cc87620, 0x34f42: 0x6cc87820, 0x34f43: 0x6cc87a20,\n\t0x34f44: 0x6cf69820, 0x34f45: 0x6cf69a20, 0x34f46: 0x6cf69c20, 0x34f47: 0x6cf69e20,\n\t0x34f48: 0x6cf6a020, 0x34f49: 0x6cf6a220, 0x34f4a: 0x6cf6a420, 0x34f4b: 0x6cf6a620,\n\t0x34f4c: 0x6cf6a820, 0x34f4d: 0x6d260820, 0x34f4e: 0x6d260a20, 0x34f4f: 0x6d260c20,\n\t0x34f50: 0x6d260e20, 0x34f51: 0x6d261020, 0x34f52: 0x6d538820, 0x34f53: 0x6d538a20,\n\t0x34f54: 0x6d538c20, 0x34f55: 0x6d538e20, 0x34f56: 0x6d539020, 0x34f57: 0x6d539220,\n\t0x34f58: 0x6d539420, 0x34f59: 0x6d539620, 0x34f5a: 0x6d7eec20, 0x34f5b: 0x6d7eee20,\n\t0x34f5c: 0x6da5b220, 0x34f5d: 0x6d7ef020, 0x34f5e: 0x6d7ef220, 0x34f5f: 0x6d7ef420,\n\t0x34f60: 0x6d7ef620, 0x34f61: 0x6d7ef820, 0x34f62: 0x6d7efa20, 0x34f63: 0x6da5b420,\n\t0x34f64: 0x6da5b620, 0x34f65: 0x6da5b820, 0x34f66: 0x6da5ba20, 0x34f67: 0x6da5bc20,\n\t0x34f68: 0x6da5be20, 0x34f69: 0x6dc74a20, 0x34f6a: 0x6dc74c20, 0x34f6b: 0x6dc74e20,\n\t0x34f6c: 0x6dc75020, 0x34f6d: 0x6dc75220, 0x34f6e: 0x6dfb0420, 0x34f6f: 0x6dfb0620,\n\t0x34f70: 0x6e1db020, 0x34f71: 0x6e293820, 0x34f72: 0x6e325a20, 0x34f73: 0x6c04a220,\n\t0x34f74: 0x6c04a420, 0x34f75: 0x6c097020, 0x34f76: 0x6c097220, 0x34f77: 0x6c097420,\n\t0x34f78: 0x6c12a220, 0x34f79: 0x6c12a420, 0x34f7a: 0x6c12a620, 0x34f7b: 0x6c12a820,\n\t0x34f7c: 0x6c12aa20, 0x34f7d: 0x6c12ac20, 0x34f7e: 0x6c12ae20, 0x34f7f: 0x6c12b020,\n\t// Block 0xd3e, offset 0x34f80\n\t0x34f80: 0x6c12b220, 0x34f81: 0x6c220820, 0x34f82: 0x6c220a20, 0x34f83: 0x6c220c20,\n\t0x34f84: 0x6c220e20, 0x34f85: 0x6c221020, 0x34f86: 0x6c221220, 0x34f87: 0x6c221420,\n\t0x34f88: 0x6c221620, 0x34f89: 0x6c221820, 0x34f8a: 0x6c221a20, 0x34f8b: 0x6c221c20,\n\t0x34f8c: 0x6c221e20, 0x34f8d: 0x6c222020, 0x34f8e: 0x6c222220, 0x34f8f: 0x6c222420,\n\t0x34f90: 0x6c222620, 0x34f91: 0x6c222820, 0x34f92: 0x6c222a20, 0x34f93: 0x6c222c20,\n\t0x34f94: 0x6c36f220, 0x34f95: 0x6c36f420, 0x34f96: 0x6c36f620, 0x34f97: 0x6c36f820,\n\t0x34f98: 0x6c36fa20, 0x34f99: 0x6c36fc20, 0x34f9a: 0x6c36fe20, 0x34f9b: 0x6c370020,\n\t0x34f9c: 0x6c370220, 0x34f9d: 0x6c370420, 0x34f9e: 0x6c370620, 0x34f9f: 0x6c370820,\n\t0x34fa0: 0x6c370a20, 0x34fa1: 0x6c370c20, 0x34fa2: 0x6c370e20, 0x34fa3: 0x6c371020,\n\t0x34fa4: 0x6c371220, 0x34fa5: 0x6c371420, 0x34fa6: 0x6c371620, 0x34fa7: 0x6c371820,\n\t0x34fa8: 0x6c371a20, 0x34fa9: 0x6c371c20, 0x34faa: 0x6c371e20, 0x34fab: 0x6c372020,\n\t0x34fac: 0x6c372220, 0x34fad: 0x6c372420, 0x34fae: 0x6c372620, 0x34faf: 0x6c372820,\n\t0x34fb0: 0x6c372a20, 0x34fb1: 0x6c372c20, 0x34fb2: 0x6c372e20, 0x34fb3: 0x6c373020,\n\t0x34fb4: 0x6c373220, 0x34fb5: 0x6c373420, 0x34fb6: 0x6c373620, 0x34fb7: 0x6c373820,\n\t0x34fb8: 0x6c373a20, 0x34fb9: 0x6c373c20, 0x34fba: 0x6c373e20, 0x34fbb: 0x6c374020,\n\t0x34fbc: 0x6c374220, 0x34fbd: 0x6c374420, 0x34fbe: 0x6c374620, 0x34fbf: 0x6c374820,\n\t// Block 0xd3f, offset 0x34fc0\n\t0x34fc0: 0x6c374a20, 0x34fc1: 0x6c374c20, 0x34fc2: 0x6c374e20, 0x34fc3: 0x6c375020,\n\t0x34fc4: 0x6c375220, 0x34fc5: 0x6c375420, 0x34fc6: 0x6c375620, 0x34fc7: 0x6c375820,\n\t0x34fc8: 0x6c525420, 0x34fc9: 0x6c525620, 0x34fca: 0x6c525820, 0x34fcb: 0x6c525a20,\n\t0x34fcc: 0x6c525c20, 0x34fcd: 0x6c525e20, 0x34fce: 0x6c526020, 0x34fcf: 0x6c526220,\n\t0x34fd0: 0x6c526420, 0x34fd1: 0x6c526620, 0x34fd2: 0x6c526820, 0x34fd3: 0x6c526a20,\n\t0x34fd4: 0x6c526c20, 0x34fd5: 0x6c526e20, 0x34fd6: 0x6c527020, 0x34fd7: 0x6c527220,\n\t0x34fd8: 0x6c527420, 0x34fd9: 0x6c527620, 0x34fda: 0x6c527820, 0x34fdb: 0x6c527a20,\n\t0x34fdc: 0x6c527c20, 0x34fdd: 0x6c527e20, 0x34fde: 0x6c528020, 0x34fdf: 0x6c528220,\n\t0x34fe0: 0x6c528420, 0x34fe1: 0x6c528620, 0x34fe2: 0x6c528820, 0x34fe3: 0x6c528a20,\n\t0x34fe4: 0x6c528c20, 0x34fe5: 0x6c528e20, 0x34fe6: 0x6c529020, 0x34fe7: 0x6c529220,\n\t0x34fe8: 0x6c529420, 0x34fe9: 0x6c529620, 0x34fea: 0x6c529820, 0x34feb: 0x6c529a20,\n\t0x34fec: 0x6c529c20, 0x34fed: 0x6c529e20, 0x34fee: 0x6c52a020, 0x34fef: 0x6c52a220,\n\t0x34ff0: 0x6c52a420, 0x34ff1: 0x6c52a620, 0x34ff2: 0x6c52a820, 0x34ff3: 0x6c52aa20,\n\t0x34ff4: 0x6c52ac20, 0x34ff5: 0x6c749820, 0x34ff6: 0x6c749a20, 0x34ff7: 0x6c749c20,\n\t0x34ff8: 0x6c749e20, 0x34ff9: 0x6c74a020, 0x34ffa: 0x6c74a220, 0x34ffb: 0x6c74a420,\n\t0x34ffc: 0x6c74a620, 0x34ffd: 0x6c74a820, 0x34ffe: 0x6c74aa20, 0x34fff: 0x6c74ac20,\n\t// Block 0xd40, offset 0x35000\n\t0x35000: 0x6c74ae20, 0x35001: 0x6c74b020, 0x35002: 0x6c74b220, 0x35003: 0x6c74b420,\n\t0x35004: 0x6c74b620, 0x35005: 0x6c74b820, 0x35006: 0x6c74ba20, 0x35007: 0x6c74bc20,\n\t0x35008: 0x6c74be20, 0x35009: 0x6c74c020, 0x3500a: 0x6c74c220, 0x3500b: 0x6c74c420,\n\t0x3500c: 0x6c74c620, 0x3500d: 0x6c74c820, 0x3500e: 0x6c74ca20, 0x3500f: 0x6c74cc20,\n\t0x35010: 0x6c74ce20, 0x35011: 0x6c74d020, 0x35012: 0x6c74d220, 0x35013: 0x6c74d420,\n\t0x35014: 0x6c74d620, 0x35015: 0x6c74d820, 0x35016: 0x6c74da20, 0x35017: 0x6c74dc20,\n\t0x35018: 0x6c74de20, 0x35019: 0x6c74e020, 0x3501a: 0x6c74e220, 0x3501b: 0x6c74e420,\n\t0x3501c: 0x6c74e620, 0x3501d: 0x6c74e820, 0x3501e: 0x6c74ea20, 0x3501f: 0x6c74ec20,\n\t0x35020: 0x6c74ee20, 0x35021: 0x6c74f020, 0x35022: 0x6c74f220, 0x35023: 0x6c74f420,\n\t0x35024: 0x6c74f620, 0x35025: 0x6c74f820, 0x35026: 0x6c74fa20, 0x35027: 0x6c6a4c20,\n\t0x35028: 0x6c74fc20, 0x35029: 0x6c74fe20, 0x3502a: 0x6c750020, 0x3502b: 0x6c750220,\n\t0x3502c: 0x6c750420, 0x3502d: 0x6c750620, 0x3502e: 0x6c750820, 0x3502f: 0x6c750a20,\n\t0x35030: 0x6c750c20, 0x35031: 0x6c750e20, 0x35032: 0x6c751020, 0x35033: 0x6c751220,\n\t0x35034: 0x6c751420, 0x35035: 0x6c751620, 0x35036: 0x6c751820, 0x35037: 0x6c751a20,\n\t0x35038: 0x6c751c20, 0x35039: 0x6c751e20, 0x3503a: 0x6c752020, 0x3503b: 0x6c752220,\n\t0x3503c: 0x6c752420, 0x3503d: 0x6c752620, 0x3503e: 0x6c752820, 0x3503f: 0x6c9d0220,\n\t// Block 0xd41, offset 0x35040\n\t0x35040: 0x6c9d0420, 0x35041: 0x6c9d0620, 0x35042: 0x6c9d0820, 0x35043: 0x6c9d0a20,\n\t0x35044: 0x6c9d0c20, 0x35045: 0x6c9d0e20, 0x35046: 0x6c9d1020, 0x35047: 0x6c9d1220,\n\t0x35048: 0x6c9d1420, 0x35049: 0x6c9d1620, 0x3504a: 0x6c9d1820, 0x3504b: 0x6c9d1a20,\n\t0x3504c: 0x6c9d1c20, 0x3504d: 0x6c9d1e20, 0x3504e: 0x6c9d2020, 0x3504f: 0x6c9d2220,\n\t0x35050: 0x6c9d2420, 0x35051: 0x6c9d2620, 0x35052: 0x6c9d2820, 0x35053: 0x6c9d2a20,\n\t0x35054: 0x6c9d2c20, 0x35055: 0x6c9d2e20, 0x35056: 0x6c9d3020, 0x35057: 0x6c9d3220,\n\t0x35058: 0x6c9d3420, 0x35059: 0x6c9d3620, 0x3505a: 0x6c9d3820, 0x3505b: 0x6c9d3a20,\n\t0x3505c: 0x6c9d3c20, 0x3505d: 0x6c9d3e20, 0x3505e: 0x6c9d4020, 0x3505f: 0x6c9d4220,\n\t0x35060: 0x6c9d4420, 0x35061: 0x6c9d4620, 0x35062: 0x6c9d4820, 0x35063: 0x6c9d4a20,\n\t0x35064: 0x6c9d4c20, 0x35065: 0x6c9d4e20, 0x35066: 0x6c9d5020, 0x35067: 0x6c9d5220,\n\t0x35068: 0x6c9d5420, 0x35069: 0x6c9d5620, 0x3506a: 0x6c9d5820, 0x3506b: 0x6c9d5a20,\n\t0x3506c: 0x6c9d5c20, 0x3506d: 0x6c9d5e20, 0x3506e: 0x6c9d6020, 0x3506f: 0x6c9d6220,\n\t0x35070: 0x6c9d6420, 0x35071: 0x6c9d6620, 0x35072: 0x6c9d6820, 0x35073: 0x6c9d6a20,\n\t0x35074: 0x6c9d6c20, 0x35075: 0x6c9d6e20, 0x35076: 0x6c9d7020, 0x35077: 0x6c9d7220,\n\t0x35078: 0x6c9d7420, 0x35079: 0x6c9d7620, 0x3507a: 0x6c9d7820, 0x3507b: 0x6c9d7a20,\n\t0x3507c: 0x6c9d7c20, 0x3507d: 0x6c9d7e20, 0x3507e: 0x6c9d8020, 0x3507f: 0x6c9d8220,\n\t// Block 0xd42, offset 0x35080\n\t0x35080: 0x6c9d8420, 0x35081: 0x6cc98620, 0x35082: 0x6cc98820, 0x35083: 0x6cc98a20,\n\t0x35084: 0x6cc98c20, 0x35085: 0x6cc98e20, 0x35086: 0x6cc99020, 0x35087: 0x6cc99220,\n\t0x35088: 0x6cc99420, 0x35089: 0x6cc99620, 0x3508a: 0x6cc99820, 0x3508b: 0x6cc99a20,\n\t0x3508c: 0x6cc99c20, 0x3508d: 0x6cc99e20, 0x3508e: 0x6cc9a020, 0x3508f: 0x6cc9a220,\n\t0x35090: 0x6cc9a420, 0x35091: 0x6cc9a620, 0x35092: 0x6cc9a820, 0x35093: 0x6cc9aa20,\n\t0x35094: 0x6cc9ac20, 0x35095: 0x6cc9ae20, 0x35096: 0x6cc9b020, 0x35097: 0x6cc9b220,\n\t0x35098: 0x6cc9b420, 0x35099: 0x6cc9b620, 0x3509a: 0x6cc9b820, 0x3509b: 0x6cc9ba20,\n\t0x3509c: 0x6cc9bc20, 0x3509d: 0x6cc9be20, 0x3509e: 0x6cc9c020, 0x3509f: 0x6cc9c220,\n\t0x350a0: 0x6cc9c420, 0x350a1: 0x6cc9c620, 0x350a2: 0x6cc9c820, 0x350a3: 0x6cc9ca20,\n\t0x350a4: 0x6cc9cc20, 0x350a5: 0x6cc9ce20, 0x350a6: 0x6cc9d020, 0x350a7: 0x6cc9d220,\n\t0x350a8: 0x6cc9d420, 0x350a9: 0x6cc9d620, 0x350aa: 0x6cc9d820, 0x350ab: 0x6cc9da20,\n\t0x350ac: 0x6cc9dc20, 0x350ad: 0x6cc9de20, 0x350ae: 0x6cc9e020, 0x350af: 0x6cc9e220,\n\t0x350b0: 0x6cc9e420, 0x350b1: 0x6cc9e620, 0x350b2: 0x6cc9e820, 0x350b3: 0x6cc9ea20,\n\t0x350b4: 0x6cc9ec20, 0x350b5: 0x6cc9ee20, 0x350b6: 0x6cc9f020, 0x350b7: 0x6cc9f220,\n\t0x350b8: 0x6cc9f420, 0x350b9: 0x6cc9f620, 0x350ba: 0x6cc9f820, 0x350bb: 0x6cc9fa20,\n\t0x350bc: 0x6cc9fc20, 0x350bd: 0x6cc9fe20, 0x350be: 0x6cca0020, 0x350bf: 0x6cca0220,\n\t// Block 0xd43, offset 0x350c0\n\t0x350c0: 0x6cca0420, 0x350c1: 0x6cca0620, 0x350c2: 0x6cca0820, 0x350c3: 0x6cca0a20,\n\t0x350c4: 0x6cca0c20, 0x350c5: 0x6cca0e20, 0x350c6: 0x6cca1020, 0x350c7: 0x6cca1220,\n\t0x350c8: 0x6cca1420, 0x350c9: 0x6cca1620, 0x350ca: 0x6cca1820, 0x350cb: 0x6cca1a20,\n\t0x350cc: 0x6cca1c20, 0x350cd: 0x6cca1e20, 0x350ce: 0x6cca2020, 0x350cf: 0x6cca2220,\n\t0x350d0: 0x6cca2420, 0x350d1: 0x6cca2620, 0x350d2: 0x6cca2820, 0x350d3: 0x6cca2a20,\n\t0x350d4: 0x6cca2c20, 0x350d5: 0x6cca2e20, 0x350d6: 0x6cca3020, 0x350d7: 0x6cca3220,\n\t0x350d8: 0x6cca3420, 0x350d9: 0x6cca3620, 0x350da: 0x6cca3820, 0x350db: 0x6cca3a20,\n\t0x350dc: 0x6cca3c20, 0x350dd: 0x6cca3e20, 0x350de: 0x6cca4020, 0x350df: 0x6cca4220,\n\t0x350e0: 0x6cca4420, 0x350e1: 0x6cca4620, 0x350e2: 0x6cca4820, 0x350e3: 0x6cca4a20,\n\t0x350e4: 0x6cca4c20, 0x350e5: 0x6cca4e20, 0x350e6: 0x6cca5020, 0x350e7: 0x6cca5220,\n\t0x350e8: 0x6cca5420, 0x350e9: 0x6cca5620, 0x350ea: 0x6cca5820, 0x350eb: 0x6cca5a20,\n\t0x350ec: 0x6cca5c20, 0x350ed: 0x6cca5e20, 0x350ee: 0x6cca6020, 0x350ef: 0x6cca6220,\n\t0x350f0: 0x6cca6420, 0x350f1: 0x6cf79c20, 0x350f2: 0x6cf79e20, 0x350f3: 0x6cf7a020,\n\t0x350f4: 0x6cf7a220, 0x350f5: 0x6cf7a420, 0x350f6: 0x6cf7a620, 0x350f7: 0x6cf7a820,\n\t0x350f8: 0x6cf7aa20, 0x350f9: 0x6cf7ac20, 0x350fa: 0x6cf7ae20, 0x350fb: 0x6cf7b020,\n\t0x350fc: 0x6cf7b220, 0x350fd: 0x6cf7b420, 0x350fe: 0x6cf7b620, 0x350ff: 0x6cf7b820,\n\t// Block 0xd44, offset 0x35100\n\t0x35100: 0x6cf7ba20, 0x35101: 0x6cf7bc20, 0x35102: 0x6cf7be20, 0x35103: 0x6cf7c020,\n\t0x35104: 0x6cf7c220, 0x35105: 0x6cf7c420, 0x35106: 0x6cf7c620, 0x35107: 0x6cf7c820,\n\t0x35108: 0x6cf7ca20, 0x35109: 0x6cf7cc20, 0x3510a: 0x6cf7ce20, 0x3510b: 0x6cf7d020,\n\t0x3510c: 0x6cf7d220, 0x3510d: 0x6cf7d420, 0x3510e: 0x6cf7d620, 0x3510f: 0x6cf7d820,\n\t0x35110: 0x6cf7da20, 0x35111: 0x6cf7dc20, 0x35112: 0x6cf7de20, 0x35113: 0x6cf7e020,\n\t0x35114: 0x6cf7e220, 0x35115: 0x6cf7e420, 0x35116: 0x6cf7e620, 0x35117: 0x6cf7e820,\n\t0x35118: 0x6cf7ea20, 0x35119: 0x6cf7ec20, 0x3511a: 0x6cf7ee20, 0x3511b: 0x6cf7f020,\n\t0x3511c: 0x6cf7f220, 0x3511d: 0x6cf7f420, 0x3511e: 0x6cf7f620, 0x3511f: 0x6cf7f820,\n\t0x35120: 0x6cf7fa20, 0x35121: 0x6cf7fc20, 0x35122: 0x6cf7fe20, 0x35123: 0x6cf80020,\n\t0x35124: 0x6d26fa20, 0x35125: 0x6cf80220, 0x35126: 0x6cf80420, 0x35127: 0x6cf80620,\n\t0x35128: 0x6cf80820, 0x35129: 0x6cf80a20, 0x3512a: 0x6cf80c20, 0x3512b: 0x6cf80e20,\n\t0x3512c: 0x6cf81020, 0x3512d: 0x6cf81220, 0x3512e: 0x6cf81420, 0x3512f: 0x6cf81620,\n\t0x35130: 0x6cf81820, 0x35131: 0x6cf81a20, 0x35132: 0x6cf81c20, 0x35133: 0x6cf81e20,\n\t0x35134: 0x6cf82020, 0x35135: 0x6cf82220, 0x35136: 0x6cf82420, 0x35137: 0x6cf82620,\n\t0x35138: 0x6cf82820, 0x35139: 0x6cf82a20, 0x3513a: 0x6cf82c20, 0x3513b: 0x6cf82e20,\n\t0x3513c: 0x6cf83020, 0x3513d: 0x6cf83220, 0x3513e: 0x6cf83420, 0x3513f: 0x6cf83620,\n\t// Block 0xd45, offset 0x35140\n\t0x35140: 0x6cf83820, 0x35141: 0x6cf83a20, 0x35142: 0x6cf83c20, 0x35143: 0x6cf83e20,\n\t0x35144: 0x6cf84020, 0x35145: 0x6cf84220, 0x35146: 0x6cf84420, 0x35147: 0x6cf84620,\n\t0x35148: 0x6cf84820, 0x35149: 0x6cf84a20, 0x3514a: 0x6cf84c20, 0x3514b: 0x6cf84e20,\n\t0x3514c: 0x6cf85020, 0x3514d: 0x6cf85220, 0x3514e: 0x6cf85420, 0x3514f: 0x6cf85620,\n\t0x35150: 0x6cf85820, 0x35151: 0x6cf85a20, 0x35152: 0x6cf85c20, 0x35153: 0x6cf85e20,\n\t0x35154: 0x6cf86020, 0x35155: 0x6cf86220, 0x35156: 0x6cf86420, 0x35157: 0x6cf86620,\n\t0x35158: 0x6cf86820, 0x35159: 0x6cf86a20, 0x3515a: 0x6cf86c20, 0x3515b: 0x6cf86e20,\n\t0x3515c: 0x6cf87020, 0x3515d: 0x6cf87220, 0x3515e: 0x6cf87420, 0x3515f: 0x6cf87620,\n\t0x35160: 0x6cf87820, 0x35161: 0x6cf87a20, 0x35162: 0x6cf87c20, 0x35163: 0x6cf87e20,\n\t0x35164: 0x6cf88020, 0x35165: 0x6cf88220, 0x35166: 0x6cf88420, 0x35167: 0x6cf88620,\n\t0x35168: 0x6cf88820, 0x35169: 0x6cf88a20, 0x3516a: 0x6d26fc20, 0x3516b: 0x6d26fe20,\n\t0x3516c: 0x6d270020, 0x3516d: 0x6d270220, 0x3516e: 0x6d270420, 0x3516f: 0x6d270620,\n\t0x35170: 0x6d270820, 0x35171: 0x6d270a20, 0x35172: 0x6d270c20, 0x35173: 0x6d270e20,\n\t0x35174: 0x6d271020, 0x35175: 0x6d271220, 0x35176: 0x6d271420, 0x35177: 0x6d271620,\n\t0x35178: 0x6d271820, 0x35179: 0x6d271a20, 0x3517a: 0x6d271c20, 0x3517b: 0x6d271e20,\n\t0x3517c: 0x6d272020, 0x3517d: 0x6d272220, 0x3517e: 0x6d272420, 0x3517f: 0x6d272620,\n\t// Block 0xd46, offset 0x35180\n\t0x35180: 0x6d272820, 0x35181: 0x6d272a20, 0x35182: 0x6d272c20, 0x35183: 0x6d272e20,\n\t0x35184: 0x6d273020, 0x35185: 0x6d273220, 0x35186: 0x6d273420, 0x35187: 0x6d273620,\n\t0x35188: 0x6d273820, 0x35189: 0x6d273a20, 0x3518a: 0x6d273c20, 0x3518b: 0x6d273e20,\n\t0x3518c: 0x6d274020, 0x3518d: 0x6d274220, 0x3518e: 0x6d274420, 0x3518f: 0x6d274620,\n\t0x35190: 0x6d274820, 0x35191: 0x6d274a20, 0x35192: 0x6d274c20, 0x35193: 0x6d274e20,\n\t0x35194: 0x6d275020, 0x35195: 0x6d275220, 0x35196: 0x6d275420, 0x35197: 0x6d275620,\n\t0x35198: 0x6d275820, 0x35199: 0x6d275a20, 0x3519a: 0x6d275c20, 0x3519b: 0x6d275e20,\n\t0x3519c: 0x6d276020, 0x3519d: 0x6d276220, 0x3519e: 0x6d276420, 0x3519f: 0x6d276620,\n\t0x351a0: 0x6d276820, 0x351a1: 0x6d276a20, 0x351a2: 0x6d276c20, 0x351a3: 0x6d276e20,\n\t0x351a4: 0x6d277020, 0x351a5: 0x6d277220, 0x351a6: 0x6d277420, 0x351a7: 0x6d277620,\n\t0x351a8: 0x6d277820, 0x351a9: 0x6d277a20, 0x351aa: 0x6d277c20, 0x351ab: 0x6d277e20,\n\t0x351ac: 0x6d278020, 0x351ad: 0x6d278220, 0x351ae: 0x6d278420, 0x351af: 0x6d278620,\n\t0x351b0: 0x6d278820, 0x351b1: 0x6d278a20, 0x351b2: 0x6d278c20, 0x351b3: 0x6d278e20,\n\t0x351b4: 0x6d279020, 0x351b5: 0x6d279220, 0x351b6: 0x6d279420, 0x351b7: 0x6d279620,\n\t0x351b8: 0x6d279820, 0x351b9: 0x6d279a20, 0x351ba: 0x6d279c20, 0x351bb: 0x6d279e20,\n\t0x351bc: 0x6d27a020, 0x351bd: 0x6d27a220, 0x351be: 0x6d27a420, 0x351bf: 0x6d27a620,\n\t// Block 0xd47, offset 0x351c0\n\t0x351c0: 0x6d27a820, 0x351c1: 0x6d27aa20, 0x351c2: 0x6d27ac20, 0x351c3: 0x6d27ae20,\n\t0x351c4: 0x6d27b020, 0x351c5: 0x6d27b220, 0x351c6: 0x6d27b420, 0x351c7: 0x6d27b620,\n\t0x351c8: 0x6d27b820, 0x351c9: 0x6d27ba20, 0x351ca: 0x6d27bc20, 0x351cb: 0x6d27be20,\n\t0x351cc: 0x6d27c020, 0x351cd: 0x6d27c220, 0x351ce: 0x6d27c420, 0x351cf: 0x6d27c620,\n\t0x351d0: 0x6d27c820, 0x351d1: 0x6d27ca20, 0x351d2: 0x6d27cc20, 0x351d3: 0x6d27ce20,\n\t0x351d4: 0x6d27d020, 0x351d5: 0x6d546220, 0x351d6: 0x6d546420, 0x351d7: 0x6d546620,\n\t0x351d8: 0x6d546820, 0x351d9: 0x6d546a20, 0x351da: 0x6d546c20, 0x351db: 0x6d546e20,\n\t0x351dc: 0x6d547020, 0x351dd: 0x6d547220, 0x351de: 0x6d547420, 0x351df: 0x6d547620,\n\t0x351e0: 0x6d547820, 0x351e1: 0x6d547a20, 0x351e2: 0x6d547c20, 0x351e3: 0x6d547e20,\n\t0x351e4: 0x6d548020, 0x351e5: 0x6d548220, 0x351e6: 0x6d548420, 0x351e7: 0x6d548620,\n\t0x351e8: 0x6d548820, 0x351e9: 0x6d548a20, 0x351ea: 0x6d548c20, 0x351eb: 0x6d548e20,\n\t0x351ec: 0x6d549020, 0x351ed: 0x6d549220, 0x351ee: 0x6d549420, 0x351ef: 0x6d549620,\n\t0x351f0: 0x6d549820, 0x351f1: 0x6d549a20, 0x351f2: 0x6d549c20, 0x351f3: 0x6d549e20,\n\t0x351f4: 0x6d54a020, 0x351f5: 0x6d54a220, 0x351f6: 0x6d54a420, 0x351f7: 0x6d54a620,\n\t0x351f8: 0x6d54a820, 0x351f9: 0x6d54aa20, 0x351fa: 0x6d54ac20, 0x351fb: 0x6d54ae20,\n\t0x351fc: 0x6d54b020, 0x351fd: 0x6d54b220, 0x351fe: 0x6d54b420, 0x351ff: 0x6d54b620,\n\t// Block 0xd48, offset 0x35200\n\t0x35200: 0x6d54b820, 0x35201: 0x6d54ba20, 0x35202: 0x6d54bc20, 0x35203: 0x6d54be20,\n\t0x35204: 0x6d54c020, 0x35205: 0x6d54c220, 0x35206: 0x6d54c420, 0x35207: 0x6d54c620,\n\t0x35208: 0x6d54c820, 0x35209: 0x6d54ca20, 0x3520a: 0x6d54cc20, 0x3520b: 0x6d54ce20,\n\t0x3520c: 0x6d54d020, 0x3520d: 0x6d54d220, 0x3520e: 0x6d54d420, 0x3520f: 0x6d54d620,\n\t0x35210: 0x6d54d820, 0x35211: 0x6d54da20, 0x35212: 0x6d7fc220, 0x35213: 0x6d54dc20,\n\t0x35214: 0x6d54de20, 0x35215: 0x6d54e020, 0x35216: 0x6d54e220, 0x35217: 0x6d54e420,\n\t0x35218: 0x6d54e620, 0x35219: 0x6d54e820, 0x3521a: 0x6d54ea20, 0x3521b: 0x6d54ec20,\n\t0x3521c: 0x6d54ee20, 0x3521d: 0x6d54f020, 0x3521e: 0x6d54f220, 0x3521f: 0x6d54f420,\n\t0x35220: 0x6d54f620, 0x35221: 0x6d54f820, 0x35222: 0x6d54fa20, 0x35223: 0x6d54fc20,\n\t0x35224: 0x6d54fe20, 0x35225: 0x6d550020, 0x35226: 0x6d550220, 0x35227: 0x6d550420,\n\t0x35228: 0x6d550620, 0x35229: 0x6d550820, 0x3522a: 0x6d550a20, 0x3522b: 0x6d550c20,\n\t0x3522c: 0x6d550e20, 0x3522d: 0x6d551020, 0x3522e: 0x6d551220, 0x3522f: 0x6d551420,\n\t0x35230: 0x6d551620, 0x35231: 0x6d551820, 0x35232: 0x6d551a20, 0x35233: 0x6d551c20,\n\t0x35234: 0x6d551e20, 0x35235: 0x6d552020, 0x35236: 0x6d552220, 0x35237: 0x6d552420,\n\t0x35238: 0x6d552620, 0x35239: 0x6d552820, 0x3523a: 0x6d552a20, 0x3523b: 0x6d7fc420,\n\t0x3523c: 0x6d7fc620, 0x3523d: 0x6d7fc820, 0x3523e: 0x6d7fca20, 0x3523f: 0x6d7fcc20,\n\t// Block 0xd49, offset 0x35240\n\t0x35240: 0x6d7fce20, 0x35241: 0x6d7fd020, 0x35242: 0x6d7fd220, 0x35243: 0x6d7fd420,\n\t0x35244: 0x6d7fd620, 0x35245: 0x6d7fd820, 0x35246: 0x6d7fda20, 0x35247: 0x6d7fdc20,\n\t0x35248: 0x6d7fde20, 0x35249: 0x6d7fe020, 0x3524a: 0x6d7fe220, 0x3524b: 0x6d7fe420,\n\t0x3524c: 0x6d7fe620, 0x3524d: 0x6d7fe820, 0x3524e: 0x6d7fea20, 0x3524f: 0x6d7fec20,\n\t0x35250: 0x6d7fee20, 0x35251: 0x6d7ff020, 0x35252: 0x6d7ff220, 0x35253: 0x6d7ff420,\n\t0x35254: 0x6d7ff620, 0x35255: 0x6d7ff820, 0x35256: 0x6d7ffa20, 0x35257: 0x6d7ffc20,\n\t0x35258: 0x6d7ffe20, 0x35259: 0x6d800020, 0x3525a: 0x6d800220, 0x3525b: 0x6d800420,\n\t0x3525c: 0x6d800620, 0x3525d: 0x6d800820, 0x3525e: 0x6d800a20, 0x3525f: 0x6d800c20,\n\t0x35260: 0x6d800e20, 0x35261: 0x6d801020, 0x35262: 0x6d801220, 0x35263: 0x6d801420,\n\t0x35264: 0x6d801620, 0x35265: 0x6d801820, 0x35266: 0x6d801a20, 0x35267: 0x6d801c20,\n\t0x35268: 0x6d801e20, 0x35269: 0x6d802020, 0x3526a: 0x6d802220, 0x3526b: 0x6d802420,\n\t0x3526c: 0x6d802620, 0x3526d: 0x6d802820, 0x3526e: 0x6d802a20, 0x3526f: 0x6d802c20,\n\t0x35270: 0x6d802e20, 0x35271: 0x6d803020, 0x35272: 0x6d803220, 0x35273: 0x6d803420,\n\t0x35274: 0x6d803620, 0x35275: 0x6d803820, 0x35276: 0x6d803a20, 0x35277: 0x6d803c20,\n\t0x35278: 0x6d803e20, 0x35279: 0x6d804020, 0x3527a: 0x6d804220, 0x3527b: 0x6d804420,\n\t0x3527c: 0x6d804620, 0x3527d: 0x6d804820, 0x3527e: 0x6d804a20, 0x3527f: 0x6d804c20,\n\t// Block 0xd4a, offset 0x35280\n\t0x35280: 0x6d804e20, 0x35281: 0x6d805020, 0x35282: 0x6d805220, 0x35283: 0x6d805420,\n\t0x35284: 0x6d805620, 0x35285: 0x6d805820, 0x35286: 0x6d805a20, 0x35287: 0x6d805c20,\n\t0x35288: 0x6d805e20, 0x35289: 0x6d806020, 0x3528a: 0x6d806220, 0x3528b: 0x6d806420,\n\t0x3528c: 0x6d806620, 0x3528d: 0x6d806820, 0x3528e: 0x6d806a20, 0x3528f: 0x6d806c20,\n\t0x35290: 0x6d806e20, 0x35291: 0x6d807020, 0x35292: 0x6d807220, 0x35293: 0x6d807420,\n\t0x35294: 0x6d807620, 0x35295: 0x6d807820, 0x35296: 0x6d807a20, 0x35297: 0x6d807c20,\n\t0x35298: 0x6d807e20, 0x35299: 0x6d808020, 0x3529a: 0x6d808220, 0x3529b: 0x6d808420,\n\t0x3529c: 0x6d808620, 0x3529d: 0x6d808820, 0x3529e: 0x6d808a20, 0x3529f: 0x6d808c20,\n\t0x352a0: 0x6d808e20, 0x352a1: 0x6d809020, 0x352a2: 0x6d809220, 0x352a3: 0x6d809420,\n\t0x352a4: 0x6d809620, 0x352a5: 0x6d809820, 0x352a6: 0x6d809a20, 0x352a7: 0x6d809c20,\n\t0x352a8: 0x6d809e20, 0x352a9: 0x6d80a020, 0x352aa: 0x6d80a220, 0x352ab: 0x6d80a420,\n\t0x352ac: 0x6d80a620, 0x352ad: 0x6d80a820, 0x352ae: 0x6d80aa20, 0x352af: 0x6d80ac20,\n\t0x352b0: 0x6da63820, 0x352b1: 0x6da63a20, 0x352b2: 0x6da63c20, 0x352b3: 0x6da63e20,\n\t0x352b4: 0x6da64020, 0x352b5: 0x6da64220, 0x352b6: 0x6da64420, 0x352b7: 0x6da64620,\n\t0x352b8: 0x6da64820, 0x352b9: 0x6da64a20, 0x352ba: 0x6da64c20, 0x352bb: 0x6da64e20,\n\t0x352bc: 0x6da65020, 0x352bd: 0x6da65220, 0x352be: 0x6da65420, 0x352bf: 0x6da65620,\n\t// Block 0xd4b, offset 0x352c0\n\t0x352c0: 0x6da65820, 0x352c1: 0x6da65a20, 0x352c2: 0x6da65c20, 0x352c3: 0x6da65e20,\n\t0x352c4: 0x6da66020, 0x352c5: 0x6da66220, 0x352c6: 0x6da66420, 0x352c7: 0x6da66620,\n\t0x352c8: 0x6da66820, 0x352c9: 0x6da66a20, 0x352ca: 0x6da66c20, 0x352cb: 0x6da66e20,\n\t0x352cc: 0x6da67020, 0x352cd: 0x6da67220, 0x352ce: 0x6da67420, 0x352cf: 0x6da67620,\n\t0x352d0: 0x6da67820, 0x352d1: 0x6da67a20, 0x352d2: 0x6da67c20, 0x352d3: 0x6da67e20,\n\t0x352d4: 0x6da68020, 0x352d5: 0x6da68220, 0x352d6: 0x6da68420, 0x352d7: 0x6da68620,\n\t0x352d8: 0x6da68820, 0x352d9: 0x6da68a20, 0x352da: 0x6da68c20, 0x352db: 0x6da68e20,\n\t0x352dc: 0x6da69020, 0x352dd: 0x6da69220, 0x352de: 0x6da69420, 0x352df: 0x6da69620,\n\t0x352e0: 0x6da69820, 0x352e1: 0x6da69a20, 0x352e2: 0x6d883220, 0x352e3: 0x6da69c20,\n\t0x352e4: 0x6da69e20, 0x352e5: 0x6da6a020, 0x352e6: 0x6da6a220, 0x352e7: 0x6da6a420,\n\t0x352e8: 0x6da6a620, 0x352e9: 0x6da6a820, 0x352ea: 0x6da6aa20, 0x352eb: 0x6da6ac20,\n\t0x352ec: 0x6da6ae20, 0x352ed: 0x6da6b020, 0x352ee: 0x6da6b220, 0x352ef: 0x6da6b420,\n\t0x352f0: 0x6da6b620, 0x352f1: 0x6da6b820, 0x352f2: 0x6da6ba20, 0x352f3: 0x6da6bc20,\n\t0x352f4: 0x6da6be20, 0x352f5: 0x6da6c020, 0x352f6: 0x6da6c220, 0x352f7: 0x6da6c420,\n\t0x352f8: 0x6da6c620, 0x352f9: 0x6da6c820, 0x352fa: 0x6da6ca20, 0x352fb: 0x6da6cc20,\n\t0x352fc: 0x6da6ce20, 0x352fd: 0x6da6d020, 0x352fe: 0x6da6d220, 0x352ff: 0x6da6d420,\n\t// Block 0xd4c, offset 0x35300\n\t0x35300: 0x6da6d620, 0x35301: 0x6dc7a220, 0x35302: 0x6dc7a420, 0x35303: 0x6dc7a620,\n\t0x35304: 0x6dc7a820, 0x35305: 0x6dc7aa20, 0x35306: 0x6dc7ac20, 0x35307: 0x6dc7ae20,\n\t0x35308: 0x6dc7b020, 0x35309: 0x6dc7b220, 0x3530a: 0x6dc7b420, 0x3530b: 0x6dc7b620,\n\t0x3530c: 0x6dc7b820, 0x3530d: 0x6dc7ba20, 0x3530e: 0x6dc7bc20, 0x3530f: 0x6dc7be20,\n\t0x35310: 0x6dc7c020, 0x35311: 0x6dc7c220, 0x35312: 0x6dc7c420, 0x35313: 0x6dc7c620,\n\t0x35314: 0x6dc7c820, 0x35315: 0x6dc7ca20, 0x35316: 0x6dc7cc20, 0x35317: 0x6dc7ce20,\n\t0x35318: 0x6dc7d020, 0x35319: 0x6de40020, 0x3531a: 0x6dc7d220, 0x3531b: 0x6dc7d420,\n\t0x3531c: 0x6dc7d620, 0x3531d: 0x6dc7d820, 0x3531e: 0x6dc7da20, 0x3531f: 0x6dc7dc20,\n\t0x35320: 0x6dc7de20, 0x35321: 0x6dc7e020, 0x35322: 0x6dc7e220, 0x35323: 0x6dc7e420,\n\t0x35324: 0x6dc7e620, 0x35325: 0x6dc7e820, 0x35326: 0x6dc7ea20, 0x35327: 0x6dc7ec20,\n\t0x35328: 0x6dc7ee20, 0x35329: 0x6dc7f020, 0x3532a: 0x6dc7f220, 0x3532b: 0x6dc7f420,\n\t0x3532c: 0x6dc7f620, 0x3532d: 0x6dc7f820, 0x3532e: 0x6dc7fa20, 0x3532f: 0x6dc7fc20,\n\t0x35330: 0x6dc7fe20, 0x35331: 0x6dc80020, 0x35332: 0x6dc80220, 0x35333: 0x6dc80420,\n\t0x35334: 0x6dc80620, 0x35335: 0x6dc80820, 0x35336: 0x6dc80a20, 0x35337: 0x6dc80c20,\n\t0x35338: 0x6dc80e20, 0x35339: 0x6dc81020, 0x3533a: 0x6dc81220, 0x3533b: 0x6dc81420,\n\t0x3533c: 0x6dc81620, 0x3533d: 0x6dc81820, 0x3533e: 0x6dc81a20, 0x3533f: 0x6dc81c20,\n\t// Block 0xd4d, offset 0x35340\n\t0x35340: 0x6dc81e20, 0x35341: 0x6dc82020, 0x35342: 0x6dc82220, 0x35343: 0x6dc82420,\n\t0x35344: 0x6dc82620, 0x35345: 0x6dc82820, 0x35346: 0x6dc82a20, 0x35347: 0x6dc82c20,\n\t0x35348: 0x6dc82e20, 0x35349: 0x6dc83020, 0x3534a: 0x6dc83220, 0x3534b: 0x6dc83420,\n\t0x3534c: 0x6dc83620, 0x3534d: 0x6dc83820, 0x3534e: 0x6dc83a20, 0x3534f: 0x6dcc7220,\n\t0x35350: 0x6de40220, 0x35351: 0x6de40420, 0x35352: 0x6de40620, 0x35353: 0x6de40820,\n\t0x35354: 0x6de40a20, 0x35355: 0x6de40c20, 0x35356: 0x6de40e20, 0x35357: 0x6de41020,\n\t0x35358: 0x6de41220, 0x35359: 0x6de41420, 0x3535a: 0x6de41620, 0x3535b: 0x6de41820,\n\t0x3535c: 0x6de41a20, 0x3535d: 0x6de41c20, 0x3535e: 0x6de41e20, 0x3535f: 0x6de42020,\n\t0x35360: 0x6de42220, 0x35361: 0x6de42420, 0x35362: 0x6de42620, 0x35363: 0x6de42820,\n\t0x35364: 0x6de42a20, 0x35365: 0x6de42c20, 0x35366: 0x6de42e20, 0x35367: 0x6de43020,\n\t0x35368: 0x6de43220, 0x35369: 0x6de43420, 0x3536a: 0x6de43620, 0x3536b: 0x6de43820,\n\t0x3536c: 0x6de43a20, 0x3536d: 0x6de43c20, 0x3536e: 0x6de43e20, 0x3536f: 0x6de44020,\n\t0x35370: 0x6de44220, 0x35371: 0x6de44420, 0x35372: 0x6de44620, 0x35373: 0x6de44820,\n\t0x35374: 0x6de44a20, 0x35375: 0x6de44c20, 0x35376: 0x6de44e20, 0x35377: 0x6de45020,\n\t0x35378: 0x6de45220, 0x35379: 0x6de45420, 0x3537a: 0x6de45620, 0x3537b: 0x6de45820,\n\t0x3537c: 0x6de45a20, 0x3537d: 0x6de45c20, 0x3537e: 0x6de45e20, 0x3537f: 0x6de46020,\n\t// Block 0xd4e, offset 0x35380\n\t0x35380: 0x6de46220, 0x35381: 0x6de46420, 0x35382: 0x6de46620, 0x35383: 0x6de46820,\n\t0x35384: 0x6dfb3a20, 0x35385: 0x6dfb3c20, 0x35386: 0x6dfb3e20, 0x35387: 0x6dfb4020,\n\t0x35388: 0x6dfb4220, 0x35389: 0x6dfb4420, 0x3538a: 0x6dfb4620, 0x3538b: 0x6dfb4820,\n\t0x3538c: 0x6dfb4a20, 0x3538d: 0x6dfb4c20, 0x3538e: 0x6dfb4e20, 0x3538f: 0x6dfb5020,\n\t0x35390: 0x6dfb5220, 0x35391: 0x6de46a20, 0x35392: 0x6dfb5420, 0x35393: 0x6dfb5620,\n\t0x35394: 0x6dfb5820, 0x35395: 0x6dfb5a20, 0x35396: 0x6dfb5c20, 0x35397: 0x6dfb5e20,\n\t0x35398: 0x6dfb6020, 0x35399: 0x6dfb6220, 0x3539a: 0x6dfb6420, 0x3539b: 0x6dfb6620,\n\t0x3539c: 0x6dfb6820, 0x3539d: 0x6dfb6a20, 0x3539e: 0x6dfb6c20, 0x3539f: 0x6dfb6e20,\n\t0x353a0: 0x6dfb7020, 0x353a1: 0x6dfb7220, 0x353a2: 0x6dfb7420, 0x353a3: 0x6dfb7620,\n\t0x353a4: 0x6dfb7820, 0x353a5: 0x6dfb7a20, 0x353a6: 0x6dfb7c20, 0x353a7: 0x6dfb7e20,\n\t0x353a8: 0x6dfb8020, 0x353a9: 0x6dfb8220, 0x353aa: 0x6dfb8420, 0x353ab: 0x6dfb8620,\n\t0x353ac: 0x6dfb8820, 0x353ad: 0x6dfb8a20, 0x353ae: 0x6dfb8c20, 0x353af: 0x6e0e7e20,\n\t0x353b0: 0x6e0e8020, 0x353b1: 0x6e0e8220, 0x353b2: 0x6e0e8420, 0x353b3: 0x6e0e8620,\n\t0x353b4: 0x6e0e8820, 0x353b5: 0x6e0e8a20, 0x353b6: 0x6e0e8c20, 0x353b7: 0x6e0e8e20,\n\t0x353b8: 0x6e0e9020, 0x353b9: 0x6e0e9220, 0x353ba: 0x6e0e9420, 0x353bb: 0x6e0e9620,\n\t0x353bc: 0x6e0e9820, 0x353bd: 0x6e0e9a20, 0x353be: 0x6e0e9c20, 0x353bf: 0x6e0e9e20,\n\t// Block 0xd4f, offset 0x353c0\n\t0x353c0: 0x6e0ea020, 0x353c1: 0x6e0ea220, 0x353c2: 0x6e1dc820, 0x353c3: 0x6e0ea420,\n\t0x353c4: 0x6e0ea620, 0x353c5: 0x6e0ea820, 0x353c6: 0x6e0eaa20, 0x353c7: 0x6e0eac20,\n\t0x353c8: 0x6e0eae20, 0x353c9: 0x6e0eb020, 0x353ca: 0x6e0eb220, 0x353cb: 0x6e0eb420,\n\t0x353cc: 0x6e0eb620, 0x353cd: 0x6e0eb820, 0x353ce: 0x6e0eba20, 0x353cf: 0x6e0ebc20,\n\t0x353d0: 0x6e0ebe20, 0x353d1: 0x6e0ec020, 0x353d2: 0x6e0ec220, 0x353d3: 0x6e0ec420,\n\t0x353d4: 0x6e0ec620, 0x353d5: 0x6e0ec820, 0x353d6: 0x6e0eca20, 0x353d7: 0x6e0ecc20,\n\t0x353d8: 0x6e0ece20, 0x353d9: 0x6e1dca20, 0x353da: 0x6e1dcc20, 0x353db: 0x6e1dce20,\n\t0x353dc: 0x6e1dd020, 0x353dd: 0x6e1dd220, 0x353de: 0x6e1dd420, 0x353df: 0x6e1dd620,\n\t0x353e0: 0x6e1dd820, 0x353e1: 0x6e1dda20, 0x353e2: 0x6e1ddc20, 0x353e3: 0x6e1dde20,\n\t0x353e4: 0x6e1de020, 0x353e5: 0x6e1de220, 0x353e6: 0x6e1de420, 0x353e7: 0x6e1de620,\n\t0x353e8: 0x6e1de820, 0x353e9: 0x6e1dea20, 0x353ea: 0x6e1dec20, 0x353eb: 0x6e1dee20,\n\t0x353ec: 0x6e1df020, 0x353ed: 0x6e1df220, 0x353ee: 0x6e1df420, 0x353ef: 0x6e1df620,\n\t0x353f0: 0x6e1df820, 0x353f1: 0x6e1dfa20, 0x353f2: 0x6e1dfc20, 0x353f3: 0x6e1dfe20,\n\t0x353f4: 0x6e1e0020, 0x353f5: 0x6e1e0220, 0x353f6: 0x6e1e0420, 0x353f7: 0x6e294a20,\n\t0x353f8: 0x6e294c20, 0x353f9: 0x6e294e20, 0x353fa: 0x6e295020, 0x353fb: 0x6e295220,\n\t0x353fc: 0x6e295420, 0x353fd: 0x6e295620, 0x353fe: 0x6e295820, 0x353ff: 0x6e295a20,\n\t// Block 0xd50, offset 0x35400\n\t0x35400: 0x6e295c20, 0x35401: 0x6e295e20, 0x35402: 0x6e296020, 0x35403: 0x6e296220,\n\t0x35404: 0x6e296420, 0x35405: 0x6e296620, 0x35406: 0x6e296820, 0x35407: 0x6e296a20,\n\t0x35408: 0x6e296c20, 0x35409: 0x6e296e20, 0x3540a: 0x6e297020, 0x3540b: 0x6e326420,\n\t0x3540c: 0x6e326620, 0x3540d: 0x6e326820, 0x3540e: 0x6e326a20, 0x3540f: 0x6e326c20,\n\t0x35410: 0x6e326e20, 0x35411: 0x6e327020, 0x35412: 0x6e327220, 0x35413: 0x6e327420,\n\t0x35414: 0x6e327620, 0x35415: 0x6e327820, 0x35416: 0x6e327a20, 0x35417: 0x6e327c20,\n\t0x35418: 0x6e327e20, 0x35419: 0x6e328020, 0x3541a: 0x6e328220, 0x3541b: 0x6e328420,\n\t0x3541c: 0x6e328620, 0x3541d: 0x6e328820, 0x3541e: 0x6e38bc20, 0x3541f: 0x6e38be20,\n\t0x35420: 0x6e38c020, 0x35421: 0x6e38c220, 0x35422: 0x6e38c420, 0x35423: 0x6e38c620,\n\t0x35424: 0x6e38c820, 0x35425: 0x6e38ca20, 0x35426: 0x6e38cc20, 0x35427: 0x6e38ce20,\n\t0x35428: 0x6e38d020, 0x35429: 0x6e3d3220, 0x3542a: 0x6e3d3420, 0x3542b: 0x6e3d3620,\n\t0x3542c: 0x6e3d3820, 0x3542d: 0x6e3d3a20, 0x3542e: 0x6e3d3c20, 0x3542f: 0x6e3d3e20,\n\t0x35430: 0x6e3d4020, 0x35431: 0x6e3d4220, 0x35432: 0x6e404e20, 0x35433: 0x6e401020,\n\t0x35434: 0x6e405020, 0x35435: 0x6e405220, 0x35436: 0x6e42aa20, 0x35437: 0x6e42ac20,\n\t0x35438: 0x6e42ae20, 0x35439: 0x6e443020, 0x3543a: 0x6e451e20, 0x3543b: 0x6e452020,\n\t0x3543c: 0x6e45c220, 0x3543d: 0x6e462c20, 0x3543e: 0x6e462e20, 0x3543f: 0x6e46b020,\n\t// Block 0xd51, offset 0x35440\n\t0x35440: 0x6c12b820, 0x35441: 0x6c223e20, 0x35442: 0x6c224020, 0x35443: 0x6c224220,\n\t0x35444: 0x6c224420, 0x35445: 0x6c224620, 0x35446: 0x6c224820, 0x35447: 0x6c224a20,\n\t0x35448: 0x6c224c20, 0x35449: 0x6c377620, 0x3544a: 0x6c377820, 0x3544b: 0x6c377a20,\n\t0x3544c: 0x6c377c20, 0x3544d: 0x6c377e20, 0x3544e: 0x6c378020, 0x3544f: 0x6c378220,\n\t0x35450: 0x6c378420, 0x35451: 0x6c378620, 0x35452: 0x6c378820, 0x35453: 0x6c378a20,\n\t0x35454: 0x6c378c20, 0x35455: 0x6c378e20, 0x35456: 0x6c379020, 0x35457: 0x6c52d420,\n\t0x35458: 0x6c52d620, 0x35459: 0x6c52d820, 0x3545a: 0x6c52da20, 0x3545b: 0x6c52dc20,\n\t0x3545c: 0x6c52de20, 0x3545d: 0x6c52e020, 0x3545e: 0x6c52e220, 0x3545f: 0x6c52e420,\n\t0x35460: 0x6c52e620, 0x35461: 0x6c52e820, 0x35462: 0x6c52ea20, 0x35463: 0x6c52ec20,\n\t0x35464: 0x6c52ee20, 0x35465: 0x6c52f020, 0x35466: 0x6c52f220, 0x35467: 0x6c756020,\n\t0x35468: 0x6c756220, 0x35469: 0x6c756420, 0x3546a: 0x6c756620, 0x3546b: 0x6c756820,\n\t0x3546c: 0x6c756a20, 0x3546d: 0x6c756c20, 0x3546e: 0x6c756e20, 0x3546f: 0x6c757020,\n\t0x35470: 0x6c757220, 0x35471: 0x6c757420, 0x35472: 0x6c757620, 0x35473: 0x6c757820,\n\t0x35474: 0x6c757a20, 0x35475: 0x6c757c20, 0x35476: 0x6c757e20, 0x35477: 0x6c758020,\n\t0x35478: 0x6c758220, 0x35479: 0x6c758420, 0x3547a: 0x6c9dba20, 0x3547b: 0x6c9dbc20,\n\t0x3547c: 0x6c9dbe20, 0x3547d: 0x6c9dc020, 0x3547e: 0x6c9dc220, 0x3547f: 0x6c9dc420,\n\t// Block 0xd52, offset 0x35480\n\t0x35480: 0x6c9dc620, 0x35481: 0x6c9dc820, 0x35482: 0x6c9dca20, 0x35483: 0x6c9dcc20,\n\t0x35484: 0x6c9dce20, 0x35485: 0x6c9dd020, 0x35486: 0x6c9dd220, 0x35487: 0x6c9dd420,\n\t0x35488: 0x6ccaa620, 0x35489: 0x6ccaa820, 0x3548a: 0x6ccaaa20, 0x3548b: 0x6ccaac20,\n\t0x3548c: 0x6ccaae20, 0x3548d: 0x6ccab020, 0x3548e: 0x6ccab220, 0x3548f: 0x6ccab420,\n\t0x35490: 0x6ccab620, 0x35491: 0x6ccab820, 0x35492: 0x6ccaba20, 0x35493: 0x6ccabc20,\n\t0x35494: 0x6ccabe20, 0x35495: 0x6ccac020, 0x35496: 0x6ccac220, 0x35497: 0x6ccac420,\n\t0x35498: 0x6ccac620, 0x35499: 0x6ccac820, 0x3549a: 0x6ccaca20, 0x3549b: 0x6ccacc20,\n\t0x3549c: 0x6ccace20, 0x3549d: 0x6cf8da20, 0x3549e: 0x6cf8dc20, 0x3549f: 0x6cf8de20,\n\t0x354a0: 0x6cf8e020, 0x354a1: 0x6cf8e220, 0x354a2: 0x6cf8e420, 0x354a3: 0x6cf8e620,\n\t0x354a4: 0x6cf8e820, 0x354a5: 0x6cf8ea20, 0x354a6: 0x6cf8ec20, 0x354a7: 0x6cf8ee20,\n\t0x354a8: 0x6cf8f020, 0x354a9: 0x6cf8f220, 0x354aa: 0x6cf8f420, 0x354ab: 0x6cf8f620,\n\t0x354ac: 0x6d0f4820, 0x354ad: 0x6cf8f820, 0x354ae: 0x6cf8fa20, 0x354af: 0x6cf8fc20,\n\t0x354b0: 0x6cf8fe20, 0x354b1: 0x6cf90020, 0x354b2: 0x6d281220, 0x354b3: 0x6d281420,\n\t0x354b4: 0x6d281620, 0x354b5: 0x6d281820, 0x354b6: 0x6d281a20, 0x354b7: 0x6d281c20,\n\t0x354b8: 0x6d281e20, 0x354b9: 0x6d282020, 0x354ba: 0x6d282220, 0x354bb: 0x6d282420,\n\t0x354bc: 0x6d282620, 0x354bd: 0x6d282820, 0x354be: 0x6d282a20, 0x354bf: 0x6d282c20,\n\t// Block 0xd53, offset 0x354c0\n\t0x354c0: 0x6d282e20, 0x354c1: 0x6d283020, 0x354c2: 0x6d283220, 0x354c3: 0x6d283420,\n\t0x354c4: 0x6d283620, 0x354c5: 0x6d283820, 0x354c6: 0x6d283a20, 0x354c7: 0x6d283c20,\n\t0x354c8: 0x6d556220, 0x354c9: 0x6d556420, 0x354ca: 0x6d556620, 0x354cb: 0x6d556820,\n\t0x354cc: 0x6d556a20, 0x354cd: 0x6d556c20, 0x354ce: 0x6d556e20, 0x354cf: 0x6d557020,\n\t0x354d0: 0x6d557220, 0x354d1: 0x6d557420, 0x354d2: 0x6d557620, 0x354d3: 0x6d557820,\n\t0x354d4: 0x6d557a20, 0x354d5: 0x6d557c20, 0x354d6: 0x6d557e20, 0x354d7: 0x6d558020,\n\t0x354d8: 0x6d80e220, 0x354d9: 0x6d80e420, 0x354da: 0x6d80e620, 0x354db: 0x6d80e820,\n\t0x354dc: 0x6d80ea20, 0x354dd: 0x6d80ec20, 0x354de: 0x6d80ee20, 0x354df: 0x6d80f020,\n\t0x354e0: 0x6da70220, 0x354e1: 0x6da70420, 0x354e2: 0x6da70620, 0x354e3: 0x6da70820,\n\t0x354e4: 0x6da70a20, 0x354e5: 0x6da70c20, 0x354e6: 0x6da70e20, 0x354e7: 0x6da71020,\n\t0x354e8: 0x6dc85420, 0x354e9: 0x6dc85620, 0x354ea: 0x6dc85820, 0x354eb: 0x6dc85a20,\n\t0x354ec: 0x6de47e20, 0x354ed: 0x6de48020, 0x354ee: 0x6de48220, 0x354ef: 0x6de48420,\n\t0x354f0: 0x6de48620, 0x354f1: 0x6dfb9c20, 0x354f2: 0x6dfb9e20, 0x354f3: 0x6dfba020,\n\t0x354f4: 0x6e0ed820, 0x354f5: 0x6e0eda20, 0x354f6: 0x6e1e1020, 0x354f7: 0x6e0edc20,\n\t0x354f8: 0x6e0ede20, 0x354f9: 0x6e1e1220, 0x354fa: 0x6e1e1420, 0x354fb: 0x6e1e1620,\n\t0x354fc: 0x6e1e1820, 0x354fd: 0x6e297820, 0x354fe: 0x6e329020, 0x354ff: 0x6e38d820,\n\t// Block 0xd54, offset 0x35500\n\t0x35500: 0x6e38da20, 0x35501: 0x6e3d4620, 0x35502: 0x6c04ac20, 0x35503: 0x6c097820,\n\t0x35504: 0x6c097a20, 0x35505: 0x6c12be20, 0x35506: 0x6c12c020, 0x35507: 0x6c225420,\n\t0x35508: 0x6c225620, 0x35509: 0x6c379c20, 0x3550a: 0x6c225820, 0x3550b: 0x6c225a20,\n\t0x3550c: 0x6c225c20, 0x3550d: 0x6c379e20, 0x3550e: 0x6c37a020, 0x3550f: 0x6c37a220,\n\t0x35510: 0x6c37a420, 0x35511: 0x6c37a620, 0x35512: 0x6c37a820, 0x35513: 0x6c37aa20,\n\t0x35514: 0x6c37ac20, 0x35515: 0x6c37ae20, 0x35516: 0x6c37b020, 0x35517: 0x6c37b220,\n\t0x35518: 0x6c37b420, 0x35519: 0x6c37b620, 0x3551a: 0x6c37b820, 0x3551b: 0x6c37ba20,\n\t0x3551c: 0x6c37bc20, 0x3551d: 0x6c37be20, 0x3551e: 0x6c37c020, 0x3551f: 0x6c37c220,\n\t0x35520: 0x6c37c420, 0x35521: 0x6c37c620, 0x35522: 0x6c530220, 0x35523: 0x6c530420,\n\t0x35524: 0x6c530620, 0x35525: 0x6c2bd020, 0x35526: 0x6c758c20, 0x35527: 0x6c758e20,\n\t0x35528: 0x6c759020, 0x35529: 0x6c759220, 0x3552a: 0x6c759420, 0x3552b: 0x6c759620,\n\t0x3552c: 0x6c759820, 0x3552d: 0x6c759a20, 0x3552e: 0x6c759c20, 0x3552f: 0x6c759e20,\n\t0x35530: 0x6c75a020, 0x35531: 0x6c75a220, 0x35532: 0x6c6f0e20, 0x35533: 0x6c9dda20,\n\t0x35534: 0x6c9ddc20, 0x35535: 0x6c9dde20, 0x35536: 0x6c9de020, 0x35537: 0x6c9de220,\n\t0x35538: 0x6c9de420, 0x35539: 0x6ccada20, 0x3553a: 0x6ccadc20, 0x3553b: 0x6ccade20,\n\t0x3553c: 0x6ccae020, 0x3553d: 0x6ccae220, 0x3553e: 0x6ccae420, 0x3553f: 0x6ccae620,\n\t// Block 0xd55, offset 0x35540\n\t0x35540: 0x6ccae820, 0x35541: 0x6ccaea20, 0x35542: 0x6ccaec20, 0x35543: 0x6ccaee20,\n\t0x35544: 0x6ccaf020, 0x35545: 0x6ccaf220, 0x35546: 0x6ccaf420, 0x35547: 0x6cf90c20,\n\t0x35548: 0x6cf90e20, 0x35549: 0x6cf91020, 0x3554a: 0x6cf91220, 0x3554b: 0x6d75b820,\n\t0x3554c: 0x6cf91420, 0x3554d: 0x6cf91620, 0x3554e: 0x6cf91820, 0x3554f: 0x6cf1c020,\n\t0x35550: 0x6d284620, 0x35551: 0x6d284820, 0x35552: 0x6d284a20, 0x35553: 0x6d284c20,\n\t0x35554: 0x6d558820, 0x35555: 0x6d558a20, 0x35556: 0x6d558c20, 0x35557: 0x6d558e20,\n\t0x35558: 0x6d559020, 0x35559: 0x6d559220, 0x3555a: 0x6d559420, 0x3555b: 0x6d559620,\n\t0x3555c: 0x6d80f420, 0x3555d: 0x6d80f620, 0x3555e: 0x6d80f820, 0x3555f: 0x6d80fa20,\n\t0x35560: 0x6d80fc20, 0x35561: 0x6da71220, 0x35562: 0x6da71420, 0x35563: 0x6da71620,\n\t0x35564: 0x6da71820, 0x35565: 0x6da71a20, 0x35566: 0x6dc86020, 0x35567: 0x6dc86220,\n\t0x35568: 0x6dc86420, 0x35569: 0x6dc86620, 0x3556a: 0x6dc86820, 0x3556b: 0x6dc86a20,\n\t0x3556c: 0x6de48820, 0x3556d: 0x6de20820, 0x3556e: 0x6e0ee020, 0x3556f: 0x6e1e1a20,\n\t0x35570: 0x6e1e1c20, 0x35571: 0x6e297a20, 0x35572: 0x6e297c20, 0x35573: 0x6e329420,\n\t0x35574: 0x6e329620, 0x35575: 0x6c04b020, 0x35576: 0x6c04b220, 0x35577: 0x6c097e20,\n\t0x35578: 0x6c12c620, 0x35579: 0x6c12c820, 0x3557a: 0x6c12ca20, 0x3557b: 0x6c12cc20,\n\t0x3557c: 0x6c12ce20, 0x3557d: 0x6c12d020, 0x3557e: 0x6c12d220, 0x3557f: 0x6c226020,\n\t// Block 0xd56, offset 0x35580\n\t0x35580: 0x6c226220, 0x35581: 0x6c226420, 0x35582: 0x6c226620, 0x35583: 0x6c226820,\n\t0x35584: 0x6c226a20, 0x35585: 0x6c226c20, 0x35586: 0x6c226e20, 0x35587: 0x6c227020,\n\t0x35588: 0x6c227220, 0x35589: 0x6c37dc20, 0x3558a: 0x6c37de20, 0x3558b: 0x6c37e020,\n\t0x3558c: 0x6c37e220, 0x3558d: 0x6c37e420, 0x3558e: 0x6c37e620, 0x3558f: 0x6c37e820,\n\t0x35590: 0x6c37ea20, 0x35591: 0x6c37ec20, 0x35592: 0x6c37ee20, 0x35593: 0x6c37f020,\n\t0x35594: 0x6c37f220, 0x35595: 0x6c37f420, 0x35596: 0x6c37f620, 0x35597: 0x6c37f820,\n\t0x35598: 0x6c37fa20, 0x35599: 0x6c37fc20, 0x3559a: 0x6c37fe20, 0x3559b: 0x6c380020,\n\t0x3559c: 0x6c380220, 0x3559d: 0x6c531a20, 0x3559e: 0x6c531c20, 0x3559f: 0x6c531e20,\n\t0x355a0: 0x6c532020, 0x355a1: 0x6c532220, 0x355a2: 0x6c532420, 0x355a3: 0x6c532620,\n\t0x355a4: 0x6c532820, 0x355a5: 0x6c532a20, 0x355a6: 0x6c532c20, 0x355a7: 0x6c532e20,\n\t0x355a8: 0x6c533020, 0x355a9: 0x6c533220, 0x355aa: 0x6c533420, 0x355ab: 0x6c533620,\n\t0x355ac: 0x6c533820, 0x355ad: 0x6c533a20, 0x355ae: 0x6c533c20, 0x355af: 0x6c533e20,\n\t0x355b0: 0x6c534020, 0x355b1: 0x6c534220, 0x355b2: 0x6c75b220, 0x355b3: 0x6c75b420,\n\t0x355b4: 0x6c75b620, 0x355b5: 0x6c75b820, 0x355b6: 0x6c75ba20, 0x355b7: 0x6c75bc20,\n\t0x355b8: 0x6c75be20, 0x355b9: 0x6c75c020, 0x355ba: 0x6c75c220, 0x355bb: 0x6c75c420,\n\t0x355bc: 0x6c75c620, 0x355bd: 0x6c75c820, 0x355be: 0x6c75ca20, 0x355bf: 0x6c75cc20,\n\t// Block 0xd57, offset 0x355c0\n\t0x355c0: 0x6c75ce20, 0x355c1: 0x6c75d020, 0x355c2: 0x6c75d220, 0x355c3: 0x6c75d420,\n\t0x355c4: 0x6c75d620, 0x355c5: 0x6c9dfc20, 0x355c6: 0x6c9dfe20, 0x355c7: 0x6c9e0020,\n\t0x355c8: 0x6c9e0220, 0x355c9: 0x6c9e0420, 0x355ca: 0x6c9e0620, 0x355cb: 0x6c9e0820,\n\t0x355cc: 0x6c9e0a20, 0x355cd: 0x6c9e0c20, 0x355ce: 0x6c9e0e20, 0x355cf: 0x6c9e1020,\n\t0x355d0: 0x6c9e1220, 0x355d1: 0x6c9e1420, 0x355d2: 0x6c9e1620, 0x355d3: 0x6c9e1820,\n\t0x355d4: 0x6c9e1a20, 0x355d5: 0x6c9e1c20, 0x355d6: 0x6ccb1220, 0x355d7: 0x6ccb1420,\n\t0x355d8: 0x6ccb1620, 0x355d9: 0x6ccb1820, 0x355da: 0x6ccb1a20, 0x355db: 0x6ccb1c20,\n\t0x355dc: 0x6ccb1e20, 0x355dd: 0x6ccb2020, 0x355de: 0x6ccb2220, 0x355df: 0x6ccb2420,\n\t0x355e0: 0x6ccb2620, 0x355e1: 0x6ccb2820, 0x355e2: 0x6ccb2a20, 0x355e3: 0x6ccb2c20,\n\t0x355e4: 0x6ccb2e20, 0x355e5: 0x6ccb3020, 0x355e6: 0x6ccb3220, 0x355e7: 0x6ccb3420,\n\t0x355e8: 0x6ccb3620, 0x355e9: 0x6ccb3820, 0x355ea: 0x6ccb3a20, 0x355eb: 0x6ccb3c20,\n\t0x355ec: 0x6ccb3e20, 0x355ed: 0x6ccb4020, 0x355ee: 0x6ccb4220, 0x355ef: 0x6ccb4420,\n\t0x355f0: 0x6ccb4620, 0x355f1: 0x6cf93020, 0x355f2: 0x6cf93220, 0x355f3: 0x6cf93420,\n\t0x355f4: 0x6cf93620, 0x355f5: 0x6cf93820, 0x355f6: 0x6cf93a20, 0x355f7: 0x6cf93c20,\n\t0x355f8: 0x6cf93e20, 0x355f9: 0x6cf94020, 0x355fa: 0x6cf94220, 0x355fb: 0x6cf94420,\n\t0x355fc: 0x6cf94620, 0x355fd: 0x6cf94820, 0x355fe: 0x6cf94a20, 0x355ff: 0x6cf94c20,\n\t// Block 0xd58, offset 0x35600\n\t0x35600: 0x6cf94e20, 0x35601: 0x6cf95020, 0x35602: 0x6cf95220, 0x35603: 0x6cf95420,\n\t0x35604: 0x6d286220, 0x35605: 0x6d286420, 0x35606: 0x6d286620, 0x35607: 0x6d286820,\n\t0x35608: 0x6d286a20, 0x35609: 0x6d286c20, 0x3560a: 0x6d286e20, 0x3560b: 0x6d287020,\n\t0x3560c: 0x6d287220, 0x3560d: 0x6d55a820, 0x3560e: 0x6d55aa20, 0x3560f: 0x6d55ac20,\n\t0x35610: 0x6d55ae20, 0x35611: 0x6d55b020, 0x35612: 0x6d55b220, 0x35613: 0x6d55b420,\n\t0x35614: 0x6d55b620, 0x35615: 0x6d55b820, 0x35616: 0x6d55ba20, 0x35617: 0x6d55bc20,\n\t0x35618: 0x6d55be20, 0x35619: 0x6d55c020, 0x3561a: 0x6d55c220, 0x3561b: 0x6d55c420,\n\t0x3561c: 0x6d55c620, 0x3561d: 0x6d811220, 0x3561e: 0x6d811420, 0x3561f: 0x6d811620,\n\t0x35620: 0x6d811820, 0x35621: 0x6d811a20, 0x35622: 0x6d811c20, 0x35623: 0x6d811e20,\n\t0x35624: 0x6d812020, 0x35625: 0x6d812220, 0x35626: 0x6d812420, 0x35627: 0x6d812620,\n\t0x35628: 0x6da72620, 0x35629: 0x6da72820, 0x3562a: 0x6da72a20, 0x3562b: 0x6da72c20,\n\t0x3562c: 0x6da72e20, 0x3562d: 0x6da73020, 0x3562e: 0x6da73220, 0x3562f: 0x6dc86e20,\n\t0x35630: 0x6dc87020, 0x35631: 0x6dc87220, 0x35632: 0x6dc87420, 0x35633: 0x6dc87620,\n\t0x35634: 0x6dc87820, 0x35635: 0x6dc87a20, 0x35636: 0x6dc87c20, 0x35637: 0x6de48e20,\n\t0x35638: 0x6de49020, 0x35639: 0x6dfba820, 0x3563a: 0x6dfbaa20, 0x3563b: 0x6dfbac20,\n\t0x3563c: 0x6e0ee420, 0x3563d: 0x6e0ee620, 0x3563e: 0x6e1e1e20, 0x3563f: 0x6e298020,\n\t// Block 0xd59, offset 0x35640\n\t0x35640: 0x6e298220, 0x35641: 0x6e298420, 0x35642: 0x6c380820, 0x35643: 0x6c380a20,\n\t0x35644: 0x6c380c20, 0x35645: 0x6c534c20, 0x35646: 0x6c534e20, 0x35647: 0x6c535020,\n\t0x35648: 0x6c75e220, 0x35649: 0x6c75e420, 0x3564a: 0x6c75e620, 0x3564b: 0x6c9e2a20,\n\t0x3564c: 0x6c9e2c20, 0x3564d: 0x6c9e2e20, 0x3564e: 0x6c9e3020, 0x3564f: 0x6c9e3220,\n\t0x35650: 0x6c9e3420, 0x35651: 0x6c9e3620, 0x35652: 0x6c9e3820, 0x35653: 0x6c9e3a20,\n\t0x35654: 0x6c9e3c20, 0x35655: 0x6c9e3e20, 0x35656: 0x6c9e4020, 0x35657: 0x6c9e4220,\n\t0x35658: 0x6c9e4420, 0x35659: 0x6ccb5420, 0x3565a: 0x6ccb5620, 0x3565b: 0x6ccb5820,\n\t0x3565c: 0x6ccb5a20, 0x3565d: 0x6ccb5c20, 0x3565e: 0x6ccb5e20, 0x3565f: 0x6ccb6020,\n\t0x35660: 0x6cf96020, 0x35661: 0x6cf96220, 0x35662: 0x6cf96420, 0x35663: 0x6cf96620,\n\t0x35664: 0x6cf96820, 0x35665: 0x6cf96a20, 0x35666: 0x6cf96c20, 0x35667: 0x6cf96e20,\n\t0x35668: 0x6cf97020, 0x35669: 0x6cf97220, 0x3566a: 0x6cf97420, 0x3566b: 0x6cf97620,\n\t0x3566c: 0x6cf97820, 0x3566d: 0x6d017c20, 0x3566e: 0x6d287c20, 0x3566f: 0x6d287e20,\n\t0x35670: 0x6d288020, 0x35671: 0x6d288220, 0x35672: 0x6d288420, 0x35673: 0x6d288620,\n\t0x35674: 0x6d288820, 0x35675: 0x6d288a20, 0x35676: 0x6d55ce20, 0x35677: 0x6d55d020,\n\t0x35678: 0x6d55d220, 0x35679: 0x6d55d420, 0x3567a: 0x6d55d620, 0x3567b: 0x6d813220,\n\t0x3567c: 0x6d813420, 0x3567d: 0x6d813620, 0x3567e: 0x6d813820, 0x3567f: 0x6d813a20,\n\t// Block 0xd5a, offset 0x35680\n\t0x35680: 0x6d813c20, 0x35681: 0x6d813e20, 0x35682: 0x6d814020, 0x35683: 0x6d814220,\n\t0x35684: 0x6d814420, 0x35685: 0x6d814620, 0x35686: 0x6d814820, 0x35687: 0x6d814a20,\n\t0x35688: 0x6d814c20, 0x35689: 0x6d814e20, 0x3568a: 0x6d815020, 0x3568b: 0x6d815220,\n\t0x3568c: 0x6da73820, 0x3568d: 0x6da73a20, 0x3568e: 0x6da73c20, 0x3568f: 0x6da73e20,\n\t0x35690: 0x6dc88020, 0x35691: 0x6dc88220, 0x35692: 0x6dc88420, 0x35693: 0x6dc88620,\n\t0x35694: 0x6dc88820, 0x35695: 0x6dc88a20, 0x35696: 0x6dc88c20, 0x35697: 0x6dc88e20,\n\t0x35698: 0x6de49220, 0x35699: 0x6de49420, 0x3569a: 0x6de49620, 0x3569b: 0x6de49820,\n\t0x3569c: 0x6de49a20, 0x3569d: 0x6de49c20, 0x3569e: 0x6dfbae20, 0x3569f: 0x6dfbb020,\n\t0x356a0: 0x6e0ee820, 0x356a1: 0x6e0eea20, 0x356a2: 0x6e298820, 0x356a3: 0x6e298a20,\n\t0x356a4: 0x6e298c20, 0x356a5: 0x6e298e20, 0x356a6: 0x6e329820, 0x356a7: 0x6e329a20,\n\t0x356a8: 0x6e329c20, 0x356a9: 0x6e38dc20, 0x356aa: 0x6e405620, 0x356ab: 0x6e405820,\n\t0x356ac: 0x6c04ba20, 0x356ad: 0x6c12d620, 0x356ae: 0x6c227a20, 0x356af: 0x6c381020,\n\t0x356b0: 0x6c381220, 0x356b1: 0x6c381420, 0x356b2: 0x6c381620, 0x356b3: 0x6c535420,\n\t0x356b4: 0x6c75ec20, 0x356b5: 0x6c9e4820, 0x356b6: 0x6c9e4a20, 0x356b7: 0x6c9e4c20,\n\t0x356b8: 0x6c9e4e20, 0x356b9: 0x6cf97e20, 0x356ba: 0x6d288c20, 0x356bb: 0x6d288e20,\n\t0x356bc: 0x6d289020, 0x356bd: 0x6d815420, 0x356be: 0x6d815620, 0x356bf: 0x6da74420,\n\t// Block 0xd5b, offset 0x356c0\n\t0x356c0: 0x6de49e20, 0x356c1: 0x6e1e2020, 0x356c2: 0x6c227e20, 0x356c3: 0x6c228020,\n\t0x356c4: 0x6c381820, 0x356c5: 0x6c381a20, 0x356c6: 0x6c381c20, 0x356c7: 0x6c381e20,\n\t0x356c8: 0x6c75f020, 0x356c9: 0x6c75f220, 0x356ca: 0x6c75f420, 0x356cb: 0x6c9e5020,\n\t0x356cc: 0x6c9e5220, 0x356cd: 0x6cf98020, 0x356ce: 0x6d289420, 0x356cf: 0x6d289620,\n\t0x356d0: 0x6d289820, 0x356d1: 0x6d289a20, 0x356d2: 0x6d55dc20, 0x356d3: 0x6d815820,\n\t0x356d4: 0x6d815a20, 0x356d5: 0x6da74820, 0x356d6: 0x6de4a020, 0x356d7: 0x6dfbb220,\n\t0x356d8: 0x6dfbb420, 0x356d9: 0x6e1e2220, 0x356da: 0x6e405a20, 0x356db: 0x6c04c020,\n\t0x356dc: 0x6c12dc20, 0x356dd: 0x6c12de20, 0x356de: 0x6c12e020, 0x356df: 0x6c12e220,\n\t0x356e0: 0x6c12e420, 0x356e1: 0x6c228620, 0x356e2: 0x6c228820, 0x356e3: 0x6c228a20,\n\t0x356e4: 0x6c228c20, 0x356e5: 0x6c228e20, 0x356e6: 0x6c229020, 0x356e7: 0x6c229220,\n\t0x356e8: 0x6c229420, 0x356e9: 0x6c382e20, 0x356ea: 0x6c383020, 0x356eb: 0x6c383220,\n\t0x356ec: 0x6c383420, 0x356ed: 0x6c383620, 0x356ee: 0x6c383820, 0x356ef: 0x6c383a20,\n\t0x356f0: 0x6c383c20, 0x356f1: 0x6c383e20, 0x356f2: 0x6c384020, 0x356f3: 0x6c384220,\n\t0x356f4: 0x6c384420, 0x356f5: 0x6c384620, 0x356f6: 0x6c384820, 0x356f7: 0x6c384a20,\n\t0x356f8: 0x6c536420, 0x356f9: 0x6c536620, 0x356fa: 0x6c536820, 0x356fb: 0x6c536a20,\n\t0x356fc: 0x6c536c20, 0x356fd: 0x6c536e20, 0x356fe: 0x6c537020, 0x356ff: 0x6c537220,\n\t// Block 0xd5c, offset 0x35700\n\t0x35700: 0x6c537420, 0x35701: 0x6c537620, 0x35702: 0x6c537820, 0x35703: 0x6c537a20,\n\t0x35704: 0x6c537c20, 0x35705: 0x6c537e20, 0x35706: 0x6c538020, 0x35707: 0x6c538220,\n\t0x35708: 0x6c538420, 0x35709: 0x6c538620, 0x3570a: 0x6c538820, 0x3570b: 0x6c538a20,\n\t0x3570c: 0x6c538c20, 0x3570d: 0x6c538e20, 0x3570e: 0x6c539020, 0x3570f: 0x6c539220,\n\t0x35710: 0x6c539420, 0x35711: 0x6c539620, 0x35712: 0x6c539820, 0x35713: 0x6c539a20,\n\t0x35714: 0x6c539c20, 0x35715: 0x6c539e20, 0x35716: 0x6c53a020, 0x35717: 0x6c53a220,\n\t0x35718: 0x6c53a420, 0x35719: 0x6c53a620, 0x3571a: 0x6c53a820, 0x3571b: 0x6c53aa20,\n\t0x3571c: 0x6c760a20, 0x3571d: 0x6c760c20, 0x3571e: 0x6c760e20, 0x3571f: 0x6c761020,\n\t0x35720: 0x6c761220, 0x35721: 0x6c761420, 0x35722: 0x6c761620, 0x35723: 0x6c761820,\n\t0x35724: 0x6c761a20, 0x35725: 0x6c761c20, 0x35726: 0x6c761e20, 0x35727: 0x6c762020,\n\t0x35728: 0x6c762220, 0x35729: 0x6c762420, 0x3572a: 0x6c762620, 0x3572b: 0x6c762820,\n\t0x3572c: 0x6c762a20, 0x3572d: 0x6c762c20, 0x3572e: 0x6c762e20, 0x3572f: 0x6c763020,\n\t0x35730: 0x6c763220, 0x35731: 0x6c9e6a20, 0x35732: 0x6c9e6c20, 0x35733: 0x6c9e6e20,\n\t0x35734: 0x6c9e7020, 0x35735: 0x6c9e7220, 0x35736: 0x6c9e7420, 0x35737: 0x6c9e7620,\n\t0x35738: 0x6c9e7820, 0x35739: 0x6c9e7a20, 0x3573a: 0x6c9e7c20, 0x3573b: 0x6c9e7e20,\n\t0x3573c: 0x6c9e8020, 0x3573d: 0x6c9e8220, 0x3573e: 0x6c9e8420, 0x3573f: 0x6c9e8620,\n\t// Block 0xd5d, offset 0x35740\n\t0x35740: 0x6c9e8820, 0x35741: 0x6c9e8a20, 0x35742: 0x6c9e8c20, 0x35743: 0x6c9e8e20,\n\t0x35744: 0x6c9e9020, 0x35745: 0x6c9e9220, 0x35746: 0x6c9e9420, 0x35747: 0x6c9e9620,\n\t0x35748: 0x6ccb8220, 0x35749: 0x6ccb8420, 0x3574a: 0x6ccb8620, 0x3574b: 0x6ccb8820,\n\t0x3574c: 0x6ccb8a20, 0x3574d: 0x6ccb8c20, 0x3574e: 0x6ccb8e20, 0x3574f: 0x6ccb9020,\n\t0x35750: 0x6ccb9220, 0x35751: 0x6ccb9420, 0x35752: 0x6ccb9620, 0x35753: 0x6ccb9820,\n\t0x35754: 0x6ccb9a20, 0x35755: 0x6ccb9c20, 0x35756: 0x6ccb9e20, 0x35757: 0x6ccba020,\n\t0x35758: 0x6ccba220, 0x35759: 0x6ccba420, 0x3575a: 0x6ccba620, 0x3575b: 0x6ccba820,\n\t0x3575c: 0x6ccbaa20, 0x3575d: 0x6ccbac20, 0x3575e: 0x6ccbae20, 0x3575f: 0x6ccbb020,\n\t0x35760: 0x6ccbb220, 0x35761: 0x6ccbb420, 0x35762: 0x6ccbb620, 0x35763: 0x6ccbb820,\n\t0x35764: 0x6ccbba20, 0x35765: 0x6ccbbc20, 0x35766: 0x6ccbbe20, 0x35767: 0x6ccbc020,\n\t0x35768: 0x6cf99a20, 0x35769: 0x6cf99c20, 0x3576a: 0x6cf99e20, 0x3576b: 0x6cf9a020,\n\t0x3576c: 0x6cf9a220, 0x3576d: 0x6cf9a420, 0x3576e: 0x6cf9a620, 0x3576f: 0x6cf9a820,\n\t0x35770: 0x6cf9aa20, 0x35771: 0x6cf9ac20, 0x35772: 0x6cf9ae20, 0x35773: 0x6cf9b020,\n\t0x35774: 0x6cf9b220, 0x35775: 0x6cf9b420, 0x35776: 0x6cf9b620, 0x35777: 0x6cf9b820,\n\t0x35778: 0x6cf9ba20, 0x35779: 0x6cf9bc20, 0x3577a: 0x6cf9be20, 0x3577b: 0x6cf9c020,\n\t0x3577c: 0x6cf9c220, 0x3577d: 0x6cf9c420, 0x3577e: 0x6cf9c620, 0x3577f: 0x6cf9c820,\n\t// Block 0xd5e, offset 0x35780\n\t0x35780: 0x6cf9ca20, 0x35781: 0x6cf9cc20, 0x35782: 0x6cf9ce20, 0x35783: 0x6cf9d020,\n\t0x35784: 0x6cf9d220, 0x35785: 0x6d28ac20, 0x35786: 0x6d28ae20, 0x35787: 0x6d28b020,\n\t0x35788: 0x6d28b220, 0x35789: 0x6d28b420, 0x3578a: 0x6d28b620, 0x3578b: 0x6d28b820,\n\t0x3578c: 0x6d28ba20, 0x3578d: 0x6d28bc20, 0x3578e: 0x6d28be20, 0x3578f: 0x6d28c020,\n\t0x35790: 0x6d28c220, 0x35791: 0x6d28c420, 0x35792: 0x6d28c620, 0x35793: 0x6d28c820,\n\t0x35794: 0x6d28ca20, 0x35795: 0x6d28cc20, 0x35796: 0x6d28ce20, 0x35797: 0x6d28d020,\n\t0x35798: 0x6d28d220, 0x35799: 0x6d28d420, 0x3579a: 0x6d28d620, 0x3579b: 0x6d28d820,\n\t0x3579c: 0x6d28da20, 0x3579d: 0x6d28dc20, 0x3579e: 0x6d28de20, 0x3579f: 0x6d28e020,\n\t0x357a0: 0x6d28e220, 0x357a1: 0x6d28e420, 0x357a2: 0x6d28e620, 0x357a3: 0x6d55e620,\n\t0x357a4: 0x6d55e820, 0x357a5: 0x6d55ea20, 0x357a6: 0x6d55ec20, 0x357a7: 0x6d55ee20,\n\t0x357a8: 0x6d55f020, 0x357a9: 0x6d55f220, 0x357aa: 0x6d55f420, 0x357ab: 0x6d55f620,\n\t0x357ac: 0x6d55f820, 0x357ad: 0x6d55fa20, 0x357ae: 0x6d55fc20, 0x357af: 0x6d55fe20,\n\t0x357b0: 0x6d560020, 0x357b1: 0x6d560220, 0x357b2: 0x6d560420, 0x357b3: 0x6d560620,\n\t0x357b4: 0x6d560820, 0x357b5: 0x6d560a20, 0x357b6: 0x6d560c20, 0x357b7: 0x6d560e20,\n\t0x357b8: 0x6d817020, 0x357b9: 0x6d817220, 0x357ba: 0x6d817420, 0x357bb: 0x6d817620,\n\t0x357bc: 0x6d817820, 0x357bd: 0x6d817a20, 0x357be: 0x6d817c20, 0x357bf: 0x6d817e20,\n\t// Block 0xd5f, offset 0x357c0\n\t0x357c0: 0x6d818020, 0x357c1: 0x6d818220, 0x357c2: 0x6d818420, 0x357c3: 0x6d818620,\n\t0x357c4: 0x6d818820, 0x357c5: 0x6d818a20, 0x357c6: 0x6d818c20, 0x357c7: 0x6d818e20,\n\t0x357c8: 0x6d819020, 0x357c9: 0x6d819220, 0x357ca: 0x6da75020, 0x357cb: 0x6da75220,\n\t0x357cc: 0x6da75420, 0x357cd: 0x6da75620, 0x357ce: 0x6da75820, 0x357cf: 0x6da75a20,\n\t0x357d0: 0x6da75c20, 0x357d1: 0x6da75e20, 0x357d2: 0x6da76020, 0x357d3: 0x6da76220,\n\t0x357d4: 0x6da76420, 0x357d5: 0x6da76620, 0x357d6: 0x6da76820, 0x357d7: 0x6da76a20,\n\t0x357d8: 0x6da76c20, 0x357d9: 0x6da76e20, 0x357da: 0x6dc89820, 0x357db: 0x6dc89a20,\n\t0x357dc: 0x6dc89c20, 0x357dd: 0x6dc89e20, 0x357de: 0x6dc8a020, 0x357df: 0x6dc8a220,\n\t0x357e0: 0x6dc8a420, 0x357e1: 0x6dc8a620, 0x357e2: 0x6dc8a820, 0x357e3: 0x6dc8aa20,\n\t0x357e4: 0x6dc8ac20, 0x357e5: 0x6dc8ae20, 0x357e6: 0x6dc8b020, 0x357e7: 0x6dc8b220,\n\t0x357e8: 0x6dc8b420, 0x357e9: 0x6dc8b620, 0x357ea: 0x6dc8b820, 0x357eb: 0x6de4a620,\n\t0x357ec: 0x6de4a820, 0x357ed: 0x6de4aa20, 0x357ee: 0x6de4ac20, 0x357ef: 0x6de4ae20,\n\t0x357f0: 0x6de4b020, 0x357f1: 0x6dfbb820, 0x357f2: 0x6dfbba20, 0x357f3: 0x6dfbbc20,\n\t0x357f4: 0x6dfbbe20, 0x357f5: 0x6dfbc020, 0x357f6: 0x6e0eec20, 0x357f7: 0x6e0eee20,\n\t0x357f8: 0x6e0ef020, 0x357f9: 0x6e0ef220, 0x357fa: 0x6e0ef420, 0x357fb: 0x6e1e2620,\n\t0x357fc: 0x6e1e2820, 0x357fd: 0x6e1e2a20, 0x357fe: 0x6e1e2c20, 0x357ff: 0x6e299020,\n\t// Block 0xd60, offset 0x35800\n\t0x35800: 0x6e299220, 0x35801: 0x6e299420, 0x35802: 0x6e3d4c20, 0x35803: 0x6e3d4e20,\n\t0x35804: 0x6e42b020, 0x35805: 0x6c385220, 0x35806: 0x6c385420, 0x35807: 0x6c53b020,\n\t0x35808: 0x6c53b220, 0x35809: 0x6c53b420, 0x3580a: 0x6c53b620, 0x3580b: 0x6c9e9820,\n\t0x3580c: 0x6c9e9a20, 0x3580d: 0x6c9e9c20, 0x3580e: 0x6c9e9e20, 0x3580f: 0x6cf9d620,\n\t0x35810: 0x6d28ea20, 0x35811: 0x6d819420, 0x35812: 0x6da77020, 0x35813: 0x6dc8bc20,\n\t0x35814: 0x6dc8be20, 0x35815: 0x6c12f020, 0x35816: 0x6c12f220, 0x35817: 0x6c229a20,\n\t0x35818: 0x6c229c20, 0x35819: 0x6c385e20, 0x3581a: 0x6c386020, 0x3581b: 0x6c386220,\n\t0x3581c: 0x6c53c220, 0x3581d: 0x6c53c420, 0x3581e: 0x6c53c620, 0x3581f: 0x6c53c820,\n\t0x35820: 0x6c53ca20, 0x35821: 0x6c764820, 0x35822: 0x6ccbd020, 0x35823: 0x6c9ea620,\n\t0x35824: 0x6ccbd220, 0x35825: 0x6ccbd420, 0x35826: 0x6cf9da20, 0x35827: 0x6cf9dc20,\n\t0x35828: 0x6cf9de20, 0x35829: 0x6d28f020, 0x3582a: 0x6d561420, 0x3582b: 0x6d561620,\n\t0x3582c: 0x6da77220, 0x3582d: 0x6da77420, 0x3582e: 0x6dc8c020, 0x3582f: 0x6e0ef620,\n\t0x35830: 0x6e0ef820, 0x35831: 0x6c01fc20, 0x35832: 0x6c04ca20, 0x35833: 0x6c04cc20,\n\t0x35834: 0x6c04ce20, 0x35835: 0x6c09b220, 0x35836: 0x6c09b420, 0x35837: 0x6c09b620,\n\t0x35838: 0x6c09b820, 0x35839: 0x6c09ba20, 0x3583a: 0x6c09bc20, 0x3583b: 0x6c09be20,\n\t0x3583c: 0x6c09c020, 0x3583d: 0x6c09c220, 0x3583e: 0x6c09c420, 0x3583f: 0x6c09c620,\n\t// Block 0xd61, offset 0x35840\n\t0x35840: 0x6c133020, 0x35841: 0x6c133220, 0x35842: 0x6c133420, 0x35843: 0x6c133620,\n\t0x35844: 0x6c133820, 0x35845: 0x6c133a20, 0x35846: 0x6c133c20, 0x35847: 0x6c133e20,\n\t0x35848: 0x6c134020, 0x35849: 0x6c134220, 0x3584a: 0x6c134420, 0x3584b: 0x6c134620,\n\t0x3584c: 0x6c134820, 0x3584d: 0x6c134a20, 0x3584e: 0x6c233a20, 0x3584f: 0x6c233c20,\n\t0x35850: 0x6c233e20, 0x35851: 0x6c234020, 0x35852: 0x6c234220, 0x35853: 0x6c234420,\n\t0x35854: 0x6c234620, 0x35855: 0x6c234820, 0x35856: 0x6c234a20, 0x35857: 0x6c234c20,\n\t0x35858: 0x6c234e20, 0x35859: 0x6c235020, 0x3585a: 0x6c235220, 0x3585b: 0x6c235420,\n\t0x3585c: 0x6c235620, 0x3585d: 0x6c235820, 0x3585e: 0x6c235a20, 0x3585f: 0x6c235c20,\n\t0x35860: 0x6c235e20, 0x35861: 0x6c236020, 0x35862: 0x6c236220, 0x35863: 0x6c236420,\n\t0x35864: 0x6c236620, 0x35865: 0x6c236820, 0x35866: 0x6c236a20, 0x35867: 0x6c236c20,\n\t0x35868: 0x6c236e20, 0x35869: 0x6c237020, 0x3586a: 0x6c237220, 0x3586b: 0x6c237420,\n\t0x3586c: 0x6c237620, 0x3586d: 0x6c237820, 0x3586e: 0x6c237a20, 0x3586f: 0x6c237c20,\n\t0x35870: 0x6c237e20, 0x35871: 0x6c238020, 0x35872: 0x6c392020, 0x35873: 0x6c392220,\n\t0x35874: 0x6c392420, 0x35875: 0x6c392620, 0x35876: 0x6c392820, 0x35877: 0x6c392a20,\n\t0x35878: 0x6c392c20, 0x35879: 0x6c392e20, 0x3587a: 0x6c393020, 0x3587b: 0x6c393220,\n\t0x3587c: 0x6c393420, 0x3587d: 0x6c393620, 0x3587e: 0x6c393820, 0x3587f: 0x6c393a20,\n\t// Block 0xd62, offset 0x35880\n\t0x35880: 0x6c393c20, 0x35881: 0x6c393e20, 0x35882: 0x6c394020, 0x35883: 0x6c394220,\n\t0x35884: 0x6c394420, 0x35885: 0x6c394620, 0x35886: 0x6c394820, 0x35887: 0x6c394a20,\n\t0x35888: 0x6c394c20, 0x35889: 0x6c394e20, 0x3588a: 0x6c395020, 0x3588b: 0x6c395220,\n\t0x3588c: 0x6c395420, 0x3588d: 0x6c395620, 0x3588e: 0x6c395820, 0x3588f: 0x6c395a20,\n\t0x35890: 0x6c395c20, 0x35891: 0x6c395e20, 0x35892: 0x6c396020, 0x35893: 0x6c396220,\n\t0x35894: 0x6c396420, 0x35895: 0x6c396620, 0x35896: 0x6c396820, 0x35897: 0x6c396a20,\n\t0x35898: 0x6c396c20, 0x35899: 0x6c396e20, 0x3589a: 0x6c397020, 0x3589b: 0x6c397220,\n\t0x3589c: 0x6c397420, 0x3589d: 0x6c397620, 0x3589e: 0x6c397820, 0x3589f: 0x6c397a20,\n\t0x358a0: 0x6c397c20, 0x358a1: 0x6c397e20, 0x358a2: 0x6c398020, 0x358a3: 0x6c398220,\n\t0x358a4: 0x6c549620, 0x358a5: 0x6c549820, 0x358a6: 0x6c549a20, 0x358a7: 0x6c549c20,\n\t0x358a8: 0x6c549e20, 0x358a9: 0x6c54a020, 0x358aa: 0x6c54a220, 0x358ab: 0x6c54a420,\n\t0x358ac: 0x6c54a620, 0x358ad: 0x6c54a820, 0x358ae: 0x6c54aa20, 0x358af: 0x6c54ac20,\n\t0x358b0: 0x6c54ae20, 0x358b1: 0x6c54b020, 0x358b2: 0x6c54b220, 0x358b3: 0x6c54b420,\n\t0x358b4: 0x6c54b620, 0x358b5: 0x6c54b820, 0x358b6: 0x6c54ba20, 0x358b7: 0x6c54bc20,\n\t0x358b8: 0x6c54be20, 0x358b9: 0x6c54c020, 0x358ba: 0x6c54c220, 0x358bb: 0x6c54c420,\n\t0x358bc: 0x6c54c620, 0x358bd: 0x6c54c820, 0x358be: 0x6c54ca20, 0x358bf: 0x6c54cc20,\n\t// Block 0xd63, offset 0x358c0\n\t0x358c0: 0x6c54ce20, 0x358c1: 0x6c54d020, 0x358c2: 0x6c54d220, 0x358c3: 0x6c54d420,\n\t0x358c4: 0x6c54d620, 0x358c5: 0x6c54d820, 0x358c6: 0x6c54da20, 0x358c7: 0x6c54dc20,\n\t0x358c8: 0x6c54de20, 0x358c9: 0x6c54e020, 0x358ca: 0x6c54e220, 0x358cb: 0x6c54e420,\n\t0x358cc: 0x6c54e620, 0x358cd: 0x6c54e820, 0x358ce: 0x6c54ea20, 0x358cf: 0x6c54ec20,\n\t0x358d0: 0x6c54ee20, 0x358d1: 0x6c54f020, 0x358d2: 0x6c54f220, 0x358d3: 0x6c54f420,\n\t0x358d4: 0x6c54f620, 0x358d5: 0x6c54f820, 0x358d6: 0x6c54fa20, 0x358d7: 0x6c54fc20,\n\t0x358d8: 0x6c54fe20, 0x358d9: 0x6c550020, 0x358da: 0x6c550220, 0x358db: 0x6c550420,\n\t0x358dc: 0x6c550620, 0x358dd: 0x6c550820, 0x358de: 0x6c771820, 0x358df: 0x6c771a20,\n\t0x358e0: 0x6c771c20, 0x358e1: 0x6c771e20, 0x358e2: 0x6c772020, 0x358e3: 0x6c772220,\n\t0x358e4: 0x6c772420, 0x358e5: 0x6c772620, 0x358e6: 0x6c772820, 0x358e7: 0x6c772a20,\n\t0x358e8: 0x6c772c20, 0x358e9: 0x6c772e20, 0x358ea: 0x6c773020, 0x358eb: 0x6c773220,\n\t0x358ec: 0x6c773420, 0x358ed: 0x6c773620, 0x358ee: 0x6c773820, 0x358ef: 0x6c773a20,\n\t0x358f0: 0x6c773c20, 0x358f1: 0x6c773e20, 0x358f2: 0x6c774020, 0x358f3: 0x6c774220,\n\t0x358f4: 0x6c774420, 0x358f5: 0x6c774620, 0x358f6: 0x6c774820, 0x358f7: 0x6c774a20,\n\t0x358f8: 0x6c774c20, 0x358f9: 0x6c774e20, 0x358fa: 0x6c775020, 0x358fb: 0x6c775220,\n\t0x358fc: 0x6c775420, 0x358fd: 0x6c775620, 0x358fe: 0x6c775820, 0x358ff: 0x6c775a20,\n\t// Block 0xd64, offset 0x35900\n\t0x35900: 0x6c775c20, 0x35901: 0x6c775e20, 0x35902: 0x6c776020, 0x35903: 0x6c776220,\n\t0x35904: 0x6c776420, 0x35905: 0x6c776620, 0x35906: 0x6c776820, 0x35907: 0x6c776a20,\n\t0x35908: 0x6c776c20, 0x35909: 0x6c776e20, 0x3590a: 0x6c777020, 0x3590b: 0x6c777220,\n\t0x3590c: 0x6c777420, 0x3590d: 0x6c777620, 0x3590e: 0x6c777820, 0x3590f: 0x6c777a20,\n\t0x35910: 0x6c777c20, 0x35911: 0x6c777e20, 0x35912: 0x6c778020, 0x35913: 0x6c778220,\n\t0x35914: 0x6c778420, 0x35915: 0x6c778620, 0x35916: 0x6c778820, 0x35917: 0x6c778a20,\n\t0x35918: 0x6c778c20, 0x35919: 0x6c778e20, 0x3591a: 0x6c779020, 0x3591b: 0x6c779220,\n\t0x3591c: 0x6c779420, 0x3591d: 0x6c779620, 0x3591e: 0x6c779820, 0x3591f: 0x6c779a20,\n\t0x35920: 0x6c779c20, 0x35921: 0x6c779e20, 0x35922: 0x6c77a020, 0x35923: 0x6c77a220,\n\t0x35924: 0x6c77a420, 0x35925: 0x6c77a620, 0x35926: 0x6c77a820, 0x35927: 0x6c77aa20,\n\t0x35928: 0x6c77ac20, 0x35929: 0x6c77ae20, 0x3592a: 0x6c77b020, 0x3592b: 0x6c77b220,\n\t0x3592c: 0x6c77b420, 0x3592d: 0x6c77b620, 0x3592e: 0x6c77b820, 0x3592f: 0x6c77ba20,\n\t0x35930: 0x6c77bc20, 0x35931: 0x6c77be20, 0x35932: 0x6c77c020, 0x35933: 0x6c77c220,\n\t0x35934: 0x6c77c420, 0x35935: 0x6c77c620, 0x35936: 0x6c77c820, 0x35937: 0x6c9fbc20,\n\t0x35938: 0x6c9fbe20, 0x35939: 0x6c9fc020, 0x3593a: 0x6c9fc220, 0x3593b: 0x6c9fc420,\n\t0x3593c: 0x6c9fc620, 0x3593d: 0x6c9fc820, 0x3593e: 0x6c9fca20, 0x3593f: 0x6c9fcc20,\n\t// Block 0xd65, offset 0x35940\n\t0x35940: 0x6c9fce20, 0x35941: 0x6c9fd020, 0x35942: 0x6c9fd220, 0x35943: 0x6c9fd420,\n\t0x35944: 0x6c9fd620, 0x35945: 0x6c9fd820, 0x35946: 0x6c9fda20, 0x35947: 0x6c9fdc20,\n\t0x35948: 0x6c9fde20, 0x35949: 0x6c9fe020, 0x3594a: 0x6c9fe220, 0x3594b: 0x6c9fe420,\n\t0x3594c: 0x6c9fe620, 0x3594d: 0x6c9fe820, 0x3594e: 0x6c9fea20, 0x3594f: 0x6c9fec20,\n\t0x35950: 0x6c9fee20, 0x35951: 0x6c9ff020, 0x35952: 0x6c9ff220, 0x35953: 0x6c9ff420,\n\t0x35954: 0x6c9ff620, 0x35955: 0x6c9ff820, 0x35956: 0x6c9ffa20, 0x35957: 0x6c9ffc20,\n\t0x35958: 0x6c9ffe20, 0x35959: 0x6ca00020, 0x3595a: 0x6ca00220, 0x3595b: 0x6ca00420,\n\t0x3595c: 0x6ca00620, 0x3595d: 0x6ca00820, 0x3595e: 0x6ca00a20, 0x3595f: 0x6ca00c20,\n\t0x35960: 0x6ca00e20, 0x35961: 0x6ca01020, 0x35962: 0x6ca01220, 0x35963: 0x6ca01420,\n\t0x35964: 0x6ca01620, 0x35965: 0x6ca01820, 0x35966: 0x6ca01a20, 0x35967: 0x6ca01c20,\n\t0x35968: 0x6ca01e20, 0x35969: 0x6ca02020, 0x3596a: 0x6ca02220, 0x3596b: 0x6ca02420,\n\t0x3596c: 0x6ca02620, 0x3596d: 0x6ca02820, 0x3596e: 0x6ca02a20, 0x3596f: 0x6ca02c20,\n\t0x35970: 0x6ca02e20, 0x35971: 0x6ca03020, 0x35972: 0x6ca03220, 0x35973: 0x6ca03420,\n\t0x35974: 0x6ca03620, 0x35975: 0x6ca03820, 0x35976: 0x6ca03a20, 0x35977: 0x6ca03c20,\n\t0x35978: 0x6ca03e20, 0x35979: 0x6ca04020, 0x3597a: 0x6ca04220, 0x3597b: 0x6ca04420,\n\t0x3597c: 0x6ca04620, 0x3597d: 0x6ca04820, 0x3597e: 0x6ca04a20, 0x3597f: 0x6ca04c20,\n\t// Block 0xd66, offset 0x35980\n\t0x35980: 0x6ca04e20, 0x35981: 0x6ca05020, 0x35982: 0x6ca05220, 0x35983: 0x6ca05420,\n\t0x35984: 0x6ca05620, 0x35985: 0x6ca05820, 0x35986: 0x6ca05a20, 0x35987: 0x6ca05c20,\n\t0x35988: 0x6ca05e20, 0x35989: 0x6ca06020, 0x3598a: 0x6ca06220, 0x3598b: 0x6ca06420,\n\t0x3598c: 0x6ca06620, 0x3598d: 0x6ca06820, 0x3598e: 0x6ca06a20, 0x3598f: 0x6ca06c20,\n\t0x35990: 0x6ca06e20, 0x35991: 0x6ca07020, 0x35992: 0x6ca07220, 0x35993: 0x6ca07420,\n\t0x35994: 0x6ca07620, 0x35995: 0x6ca07820, 0x35996: 0x6ca07a20, 0x35997: 0x6ca07c20,\n\t0x35998: 0x6ca07e20, 0x35999: 0x6ca08020, 0x3599a: 0x6c77ca20, 0x3599b: 0x6ca08220,\n\t0x3599c: 0x6ca08420, 0x3599d: 0x6ca08620, 0x3599e: 0x6ca08820, 0x3599f: 0x6ca08a20,\n\t0x359a0: 0x6ca08c20, 0x359a1: 0x6ca08e20, 0x359a2: 0x6ca09020, 0x359a3: 0x6ca09220,\n\t0x359a4: 0x6ca09420, 0x359a5: 0x6ca09620, 0x359a6: 0x6ca09820, 0x359a7: 0x6ca09a20,\n\t0x359a8: 0x6ca09c20, 0x359a9: 0x6ca09e20, 0x359aa: 0x6ca0a020, 0x359ab: 0x6ca0a220,\n\t0x359ac: 0x6ca0a420, 0x359ad: 0x6ca0a620, 0x359ae: 0x6ca0a820, 0x359af: 0x6ca0aa20,\n\t0x359b0: 0x6ca0ac20, 0x359b1: 0x6ca0ae20, 0x359b2: 0x6ca0b020, 0x359b3: 0x6ca0b220,\n\t0x359b4: 0x6ca0b420, 0x359b5: 0x6ca0b620, 0x359b6: 0x6ca0b820, 0x359b7: 0x6ca0ba20,\n\t0x359b8: 0x6ca0bc20, 0x359b9: 0x6ca0be20, 0x359ba: 0x6ca0c020, 0x359bb: 0x6ca0c220,\n\t0x359bc: 0x6cccf620, 0x359bd: 0x6cccf820, 0x359be: 0x6cccfa20, 0x359bf: 0x6cccfc20,\n\t// Block 0xd67, offset 0x359c0\n\t0x359c0: 0x6cccfe20, 0x359c1: 0x6ccd0020, 0x359c2: 0x6ccd0220, 0x359c3: 0x6ccd0420,\n\t0x359c4: 0x6ccd0620, 0x359c5: 0x6ccd0820, 0x359c6: 0x6ccd0a20, 0x359c7: 0x6ccd0c20,\n\t0x359c8: 0x6ccd0e20, 0x359c9: 0x6ccd1020, 0x359ca: 0x6ca0c420, 0x359cb: 0x6ccd1220,\n\t0x359cc: 0x6ccd1420, 0x359cd: 0x6ccd1620, 0x359ce: 0x6ccd1820, 0x359cf: 0x6ccd1a20,\n\t0x359d0: 0x6ccd1c20, 0x359d1: 0x6ccd1e20, 0x359d2: 0x6ccd2020, 0x359d3: 0x6ccd2220,\n\t0x359d4: 0x6ccd2420, 0x359d5: 0x6ccd2620, 0x359d6: 0x6ccd2820, 0x359d7: 0x6ccd2a20,\n\t0x359d8: 0x6ccd2c20, 0x359d9: 0x6ccd2e20, 0x359da: 0x6ccd3020, 0x359db: 0x6ccd3220,\n\t0x359dc: 0x6ccd3420, 0x359dd: 0x6ccd3620, 0x359de: 0x6ccd3820, 0x359df: 0x6ccd3a20,\n\t0x359e0: 0x6ccd3c20, 0x359e1: 0x6ccd3e20, 0x359e2: 0x6ccd4020, 0x359e3: 0x6ccd4220,\n\t0x359e4: 0x6ccd4420, 0x359e5: 0x6ccd4620, 0x359e6: 0x6ccd4820, 0x359e7: 0x6ccd4a20,\n\t0x359e8: 0x6ccd4c20, 0x359e9: 0x6ccd4e20, 0x359ea: 0x6ccd5020, 0x359eb: 0x6ccd5220,\n\t0x359ec: 0x6ccd5420, 0x359ed: 0x6ccd5620, 0x359ee: 0x6ccd5820, 0x359ef: 0x6ccd5a20,\n\t0x359f0: 0x6ccd5c20, 0x359f1: 0x6ccd5e20, 0x359f2: 0x6ccd6020, 0x359f3: 0x6ccd6220,\n\t0x359f4: 0x6ccd6420, 0x359f5: 0x6ccd6620, 0x359f6: 0x6ccd6820, 0x359f7: 0x6ccd6a20,\n\t0x359f8: 0x6ccd6c20, 0x359f9: 0x6ccd6e20, 0x359fa: 0x6ccd7020, 0x359fb: 0x6ccd7220,\n\t0x359fc: 0x6ccd7420, 0x359fd: 0x6ccd7620, 0x359fe: 0x6ccd7820, 0x359ff: 0x6ccd7a20,\n\t// Block 0xd68, offset 0x35a00\n\t0x35a00: 0x6ccd7c20, 0x35a01: 0x6ccd7e20, 0x35a02: 0x6ccd8020, 0x35a03: 0x6ccd8220,\n\t0x35a04: 0x6ccd8420, 0x35a05: 0x6ccd8620, 0x35a06: 0x6ccd8820, 0x35a07: 0x6ccd8a20,\n\t0x35a08: 0x6ccd8c20, 0x35a09: 0x6ccd8e20, 0x35a0a: 0x6ccd9020, 0x35a0b: 0x6ccd9220,\n\t0x35a0c: 0x6ccd9420, 0x35a0d: 0x6ccd9620, 0x35a0e: 0x6ccd9820, 0x35a0f: 0x6ccd9a20,\n\t0x35a10: 0x6ccd9c20, 0x35a11: 0x6ccd9e20, 0x35a12: 0x6ccda020, 0x35a13: 0x6ccda220,\n\t0x35a14: 0x6ccda420, 0x35a15: 0x6ccda620, 0x35a16: 0x6ccda820, 0x35a17: 0x6ccdaa20,\n\t0x35a18: 0x6ccdac20, 0x35a19: 0x6ccdae20, 0x35a1a: 0x6ccdb020, 0x35a1b: 0x6ccdb220,\n\t0x35a1c: 0x6ccdb420, 0x35a1d: 0x6cfac420, 0x35a1e: 0x6cfac620, 0x35a1f: 0x6cfac820,\n\t0x35a20: 0x6cfaca20, 0x35a21: 0x6cfacc20, 0x35a22: 0x6cface20, 0x35a23: 0x6cfad020,\n\t0x35a24: 0x6cfad220, 0x35a25: 0x6cfad420, 0x35a26: 0x6cfad620, 0x35a27: 0x6cfad820,\n\t0x35a28: 0x6cfada20, 0x35a29: 0x6cfadc20, 0x35a2a: 0x6cfade20, 0x35a2b: 0x6cfae020,\n\t0x35a2c: 0x6cfae220, 0x35a2d: 0x6cfae420, 0x35a2e: 0x6cfae620, 0x35a2f: 0x6cfae820,\n\t0x35a30: 0x6cfaea20, 0x35a31: 0x6cfaec20, 0x35a32: 0x6cfaee20, 0x35a33: 0x6cfaf020,\n\t0x35a34: 0x6cfaf220, 0x35a35: 0x6cfaf420, 0x35a36: 0x6cfaf620, 0x35a37: 0x6cfaf820,\n\t0x35a38: 0x6cfafa20, 0x35a39: 0x6cfafc20, 0x35a3a: 0x6cfafe20, 0x35a3b: 0x6cfb0020,\n\t0x35a3c: 0x6cfb0220, 0x35a3d: 0x6cfb0420, 0x35a3e: 0x6cfb0620, 0x35a3f: 0x6cfb0820,\n\t// Block 0xd69, offset 0x35a40\n\t0x35a40: 0x6cfb0a20, 0x35a41: 0x6cfb0c20, 0x35a42: 0x6cfb0e20, 0x35a43: 0x6cfb1020,\n\t0x35a44: 0x6cfb1220, 0x35a45: 0x6cfb1420, 0x35a46: 0x6cfb1620, 0x35a47: 0x6cfb1820,\n\t0x35a48: 0x6cfb1a20, 0x35a49: 0x6cfb1c20, 0x35a4a: 0x6cfb1e20, 0x35a4b: 0x6cfb2020,\n\t0x35a4c: 0x6cfb2220, 0x35a4d: 0x6cfb2420, 0x35a4e: 0x6cfb2620, 0x35a4f: 0x6cfb2820,\n\t0x35a50: 0x6cfb2a20, 0x35a51: 0x6cfb2c20, 0x35a52: 0x6cfb2e20, 0x35a53: 0x6cfb3020,\n\t0x35a54: 0x6cfb3220, 0x35a55: 0x6cfb3420, 0x35a56: 0x6cfb3620, 0x35a57: 0x6cfb3820,\n\t0x35a58: 0x6cfb3a20, 0x35a59: 0x6cfb3c20, 0x35a5a: 0x6cfb3e20, 0x35a5b: 0x6cfb4020,\n\t0x35a5c: 0x6cfb4220, 0x35a5d: 0x6cfb4420, 0x35a5e: 0x6cfb4620, 0x35a5f: 0x6cfb4820,\n\t0x35a60: 0x6cfb4a20, 0x35a61: 0x6cfb4c20, 0x35a62: 0x6cfb4e20, 0x35a63: 0x6cfb5020,\n\t0x35a64: 0x6cfb5220, 0x35a65: 0x6cfb5420, 0x35a66: 0x6cfb5620, 0x35a67: 0x6cfb5820,\n\t0x35a68: 0x6cfb5a20, 0x35a69: 0x6cfb5c20, 0x35a6a: 0x6cfb5e20, 0x35a6b: 0x6cfb6020,\n\t0x35a6c: 0x6cfb6220, 0x35a6d: 0x6cfb6420, 0x35a6e: 0x6cfb6620, 0x35a6f: 0x6cfb6820,\n\t0x35a70: 0x6cfb6a20, 0x35a71: 0x6cfb6c20, 0x35a72: 0x6cfb6e20, 0x35a73: 0x6cfb7020,\n\t0x35a74: 0x6cfb7220, 0x35a75: 0x6cfb7420, 0x35a76: 0x6cfb7620, 0x35a77: 0x6cfb7820,\n\t0x35a78: 0x6cfb7a20, 0x35a79: 0x6cfb7c20, 0x35a7a: 0x6cfb7e20, 0x35a7b: 0x6cfb8020,\n\t0x35a7c: 0x6cfb8220, 0x35a7d: 0x6cfb8420, 0x35a7e: 0x6cfb8620, 0x35a7f: 0x6cfb8820,\n\t// Block 0xd6a, offset 0x35a80\n\t0x35a80: 0x6cfb8a20, 0x35a81: 0x6cfb8c20, 0x35a82: 0x6cfb8e20, 0x35a83: 0x6cfb9020,\n\t0x35a84: 0x6cfb9220, 0x35a85: 0x6cfb9420, 0x35a86: 0x6cfb9620, 0x35a87: 0x6cfb9820,\n\t0x35a88: 0x6cfb9a20, 0x35a89: 0x6cfb9c20, 0x35a8a: 0x6cfb9e20, 0x35a8b: 0x6cfba020,\n\t0x35a8c: 0x6cfba220, 0x35a8d: 0x6d29ca20, 0x35a8e: 0x6d29cc20, 0x35a8f: 0x6d29ce20,\n\t0x35a90: 0x6d29d020, 0x35a91: 0x6d29d220, 0x35a92: 0x6d29d420, 0x35a93: 0x6d29d620,\n\t0x35a94: 0x6d29d820, 0x35a95: 0x6d29da20, 0x35a96: 0x6d29dc20, 0x35a97: 0x6d29de20,\n\t0x35a98: 0x6d29e020, 0x35a99: 0x6d29e220, 0x35a9a: 0x6d29e420, 0x35a9b: 0x6d29e620,\n\t0x35a9c: 0x6d29e820, 0x35a9d: 0x6d29ea20, 0x35a9e: 0x6d29ec20, 0x35a9f: 0x6d29ee20,\n\t0x35aa0: 0x6d29f020, 0x35aa1: 0x6d29f220, 0x35aa2: 0x6d29f420, 0x35aa3: 0x6d29f620,\n\t0x35aa4: 0x6d29f820, 0x35aa5: 0x6d29fa20, 0x35aa6: 0x6d29fc20, 0x35aa7: 0x6d29fe20,\n\t0x35aa8: 0x6d2a0020, 0x35aa9: 0x6d2a0220, 0x35aaa: 0x6d2a0420, 0x35aab: 0x6d2a0620,\n\t0x35aac: 0x6d2a0820, 0x35aad: 0x6d2a0a20, 0x35aae: 0x6d2a0c20, 0x35aaf: 0x6d2a0e20,\n\t0x35ab0: 0x6d2a1020, 0x35ab1: 0x6d2a1220, 0x35ab2: 0x6d2a1420, 0x35ab3: 0x6d2a1620,\n\t0x35ab4: 0x6d56e220, 0x35ab5: 0x6d2a1820, 0x35ab6: 0x6d2a1a20, 0x35ab7: 0x6d2a1c20,\n\t0x35ab8: 0x6d2a1e20, 0x35ab9: 0x6d2a2020, 0x35aba: 0x6d2a2220, 0x35abb: 0x6d2a2420,\n\t0x35abc: 0x6d2a2620, 0x35abd: 0x6d2a2820, 0x35abe: 0x6d2a2a20, 0x35abf: 0x6d2a2c20,\n\t// Block 0xd6b, offset 0x35ac0\n\t0x35ac0: 0x6d2a2e20, 0x35ac1: 0x6d2a3020, 0x35ac2: 0x6d2a3220, 0x35ac3: 0x6d2a3420,\n\t0x35ac4: 0x6d2a3620, 0x35ac5: 0x6d2a3820, 0x35ac6: 0x6d2a3a20, 0x35ac7: 0x6d2a3c20,\n\t0x35ac8: 0x6d2a3e20, 0x35ac9: 0x6d2a4020, 0x35aca: 0x6d2a4220, 0x35acb: 0x6d2a4420,\n\t0x35acc: 0x6d2a4620, 0x35acd: 0x6d2a4820, 0x35ace: 0x6d2a4a20, 0x35acf: 0x6d2a4c20,\n\t0x35ad0: 0x6d2a4e20, 0x35ad1: 0x6d2a5020, 0x35ad2: 0x6d2a5220, 0x35ad3: 0x6d2a5420,\n\t0x35ad4: 0x6d2a5620, 0x35ad5: 0x6d2a5820, 0x35ad6: 0x6d2a5a20, 0x35ad7: 0x6d2a5c20,\n\t0x35ad8: 0x6d2a5e20, 0x35ad9: 0x6d4f2420, 0x35ada: 0x6d2a6020, 0x35adb: 0x6d2a6220,\n\t0x35adc: 0x6d2a6420, 0x35add: 0x6d2a6620, 0x35ade: 0x6d2a6820, 0x35adf: 0x6d2a6a20,\n\t0x35ae0: 0x6d2a6c20, 0x35ae1: 0x6d2a6e20, 0x35ae2: 0x6d2a7020, 0x35ae3: 0x6d2a7220,\n\t0x35ae4: 0x6d2a7420, 0x35ae5: 0x6d2a7620, 0x35ae6: 0x6d2a7820, 0x35ae7: 0x6d2a7a20,\n\t0x35ae8: 0x6d2a7c20, 0x35ae9: 0x6d2a7e20, 0x35aea: 0x6d2a8020, 0x35aeb: 0x6d2a8220,\n\t0x35aec: 0x6d2a8420, 0x35aed: 0x6d2a8620, 0x35aee: 0x6d2a8820, 0x35aef: 0x6d2a8a20,\n\t0x35af0: 0x6d2a8c20, 0x35af1: 0x6d2a8e20, 0x35af2: 0x6d2a9020, 0x35af3: 0x6d2a9220,\n\t0x35af4: 0x6d2a9420, 0x35af5: 0x6d2a9620, 0x35af6: 0x6d2a9820, 0x35af7: 0x6d2a9a20,\n\t0x35af8: 0x6d2a9c20, 0x35af9: 0x6d2a9e20, 0x35afa: 0x6d2aa020, 0x35afb: 0x6d2aa220,\n\t0x35afc: 0x6d2aa420, 0x35afd: 0x6d2aa620, 0x35afe: 0x6d2aa820, 0x35aff: 0x6d2aaa20,\n\t// Block 0xd6c, offset 0x35b00\n\t0x35b00: 0x6d2aac20, 0x35b01: 0x6d2aae20, 0x35b02: 0x6d2ab020, 0x35b03: 0x6d56e420,\n\t0x35b04: 0x6d56e620, 0x35b05: 0x6d56e820, 0x35b06: 0x6d56ea20, 0x35b07: 0x6d56ec20,\n\t0x35b08: 0x6d56ee20, 0x35b09: 0x6d56f020, 0x35b0a: 0x6d56f220, 0x35b0b: 0x6d56f420,\n\t0x35b0c: 0x6d56f620, 0x35b0d: 0x6d56f820, 0x35b0e: 0x6d56fa20, 0x35b0f: 0x6d56fc20,\n\t0x35b10: 0x6d56fe20, 0x35b11: 0x6d570020, 0x35b12: 0x6d570220, 0x35b13: 0x6d570420,\n\t0x35b14: 0x6d570620, 0x35b15: 0x6d570820, 0x35b16: 0x6d570a20, 0x35b17: 0x6d570c20,\n\t0x35b18: 0x6d570e20, 0x35b19: 0x6d571020, 0x35b1a: 0x6d571220, 0x35b1b: 0x6d571420,\n\t0x35b1c: 0x6d571620, 0x35b1d: 0x6d571820, 0x35b1e: 0x6d571a20, 0x35b1f: 0x6d571c20,\n\t0x35b20: 0x6d571e20, 0x35b21: 0x6d572020, 0x35b22: 0x6d572220, 0x35b23: 0x6d572420,\n\t0x35b24: 0x6d572620, 0x35b25: 0x6d572820, 0x35b26: 0x6d572a20, 0x35b27: 0x6d572c20,\n\t0x35b28: 0x6d572e20, 0x35b29: 0x6d573020, 0x35b2a: 0x6d573220, 0x35b2b: 0x6d573420,\n\t0x35b2c: 0x6d573620, 0x35b2d: 0x6d573820, 0x35b2e: 0x6d573a20, 0x35b2f: 0x6d573c20,\n\t0x35b30: 0x6d573e20, 0x35b31: 0x6d574020, 0x35b32: 0x6d574220, 0x35b33: 0x6d574420,\n\t0x35b34: 0x6d574620, 0x35b35: 0x6d574820, 0x35b36: 0x6d574a20, 0x35b37: 0x6d574c20,\n\t0x35b38: 0x6d574e20, 0x35b39: 0x6d575020, 0x35b3a: 0x6d575220, 0x35b3b: 0x6d575420,\n\t0x35b3c: 0x6d575620, 0x35b3d: 0x6d575820, 0x35b3e: 0x6d575a20, 0x35b3f: 0x6d575c20,\n\t// Block 0xd6d, offset 0x35b40\n\t0x35b40: 0x6d575e20, 0x35b41: 0x6d576020, 0x35b42: 0x6d576220, 0x35b43: 0x6d576420,\n\t0x35b44: 0x6d576620, 0x35b45: 0x6d576820, 0x35b46: 0x6d576a20, 0x35b47: 0x6d576c20,\n\t0x35b48: 0x6d576e20, 0x35b49: 0x6d577020, 0x35b4a: 0x6d577220, 0x35b4b: 0x6d577420,\n\t0x35b4c: 0x6d577620, 0x35b4d: 0x6d577820, 0x35b4e: 0x6d577a20, 0x35b4f: 0x6d577c20,\n\t0x35b50: 0x6d577e20, 0x35b51: 0x6d578020, 0x35b52: 0x6d578220, 0x35b53: 0x6d578420,\n\t0x35b54: 0x6d578620, 0x35b55: 0x6d578820, 0x35b56: 0x6d578a20, 0x35b57: 0x6d578c20,\n\t0x35b58: 0x6d578e20, 0x35b59: 0x6d579020, 0x35b5a: 0x6d579220, 0x35b5b: 0x6d579420,\n\t0x35b5c: 0x6d579620, 0x35b5d: 0x6d579820, 0x35b5e: 0x6d579a20, 0x35b5f: 0x6d579c20,\n\t0x35b60: 0x6d579e20, 0x35b61: 0x6d57a020, 0x35b62: 0x6d57a220, 0x35b63: 0x6d57a420,\n\t0x35b64: 0x6d57a620, 0x35b65: 0x6d57a820, 0x35b66: 0x6d57aa20, 0x35b67: 0x6d57ac20,\n\t0x35b68: 0x6d57ae20, 0x35b69: 0x6d822820, 0x35b6a: 0x6d57b020, 0x35b6b: 0x6d57b220,\n\t0x35b6c: 0x6d57b420, 0x35b6d: 0x6d57b620, 0x35b6e: 0x6d57b820, 0x35b6f: 0x6d57ba20,\n\t0x35b70: 0x6d57bc20, 0x35b71: 0x6d57be20, 0x35b72: 0x6d57c020, 0x35b73: 0x6d57c220,\n\t0x35b74: 0x6d57c420, 0x35b75: 0x6d57c620, 0x35b76: 0x6d57c820, 0x35b77: 0x6d57ca20,\n\t0x35b78: 0x6d57cc20, 0x35b79: 0x6d57ce20, 0x35b7a: 0x6d57d020, 0x35b7b: 0x6d57d220,\n\t0x35b7c: 0x6d57d420, 0x35b7d: 0x6d57d620, 0x35b7e: 0x6d57d820, 0x35b7f: 0x6d57da20,\n\t// Block 0xd6e, offset 0x35b80\n\t0x35b80: 0x6da7de20, 0x35b81: 0x6d57dc20, 0x35b82: 0x6d57de20, 0x35b83: 0x6d57e020,\n\t0x35b84: 0x6d57e220, 0x35b85: 0x6d822a20, 0x35b86: 0x6d822c20, 0x35b87: 0x6d822e20,\n\t0x35b88: 0x6d823020, 0x35b89: 0x6d823220, 0x35b8a: 0x6d823420, 0x35b8b: 0x6d823620,\n\t0x35b8c: 0x6d823820, 0x35b8d: 0x6d823a20, 0x35b8e: 0x6d823c20, 0x35b8f: 0x6d823e20,\n\t0x35b90: 0x6d824020, 0x35b91: 0x6d824220, 0x35b92: 0x6d824420, 0x35b93: 0x6d824620,\n\t0x35b94: 0x6d824820, 0x35b95: 0x6d824a20, 0x35b96: 0x6d824c20, 0x35b97: 0x6d824e20,\n\t0x35b98: 0x6d825020, 0x35b99: 0x6d825220, 0x35b9a: 0x6d825420, 0x35b9b: 0x6d825620,\n\t0x35b9c: 0x6d825820, 0x35b9d: 0x6d825a20, 0x35b9e: 0x6d825c20, 0x35b9f: 0x6d825e20,\n\t0x35ba0: 0x6d826020, 0x35ba1: 0x6d826220, 0x35ba2: 0x6d826420, 0x35ba3: 0x6d826620,\n\t0x35ba4: 0x6d826820, 0x35ba5: 0x6d826a20, 0x35ba6: 0x6d826c20, 0x35ba7: 0x6d826e20,\n\t0x35ba8: 0x6d827020, 0x35ba9: 0x6d827220, 0x35baa: 0x6d827420, 0x35bab: 0x6d827620,\n\t0x35bac: 0x6d827820, 0x35bad: 0x6d827a20, 0x35bae: 0x6d827c20, 0x35baf: 0x6d827e20,\n\t0x35bb0: 0x6d828020, 0x35bb1: 0x6d828220, 0x35bb2: 0x6d828420, 0x35bb3: 0x6d828620,\n\t0x35bb4: 0x6d828820, 0x35bb5: 0x6d828a20, 0x35bb6: 0x6d828c20, 0x35bb7: 0x6d828e20,\n\t0x35bb8: 0x6d829020, 0x35bb9: 0x6d829220, 0x35bba: 0x6d829420, 0x35bbb: 0x6d829620,\n\t0x35bbc: 0x6d829820, 0x35bbd: 0x6d829a20, 0x35bbe: 0x6d829c20, 0x35bbf: 0x6d829e20,\n\t// Block 0xd6f, offset 0x35bc0\n\t0x35bc0: 0x6d82a020, 0x35bc1: 0x6d82a220, 0x35bc2: 0x6d82a420, 0x35bc3: 0x6d82a620,\n\t0x35bc4: 0x6d82a820, 0x35bc5: 0x6d82aa20, 0x35bc6: 0x6d82ac20, 0x35bc7: 0x6d82ae20,\n\t0x35bc8: 0x6d82b020, 0x35bc9: 0x6d82b220, 0x35bca: 0x6d82b420, 0x35bcb: 0x6d82b620,\n\t0x35bcc: 0x6d82b820, 0x35bcd: 0x6d82ba20, 0x35bce: 0x6d82bc20, 0x35bcf: 0x6d82be20,\n\t0x35bd0: 0x6d82c020, 0x35bd1: 0x6d82c220, 0x35bd2: 0x6d82c420, 0x35bd3: 0x6d82c620,\n\t0x35bd4: 0x6d82c820, 0x35bd5: 0x6d82ca20, 0x35bd6: 0x6d82cc20, 0x35bd7: 0x6d82ce20,\n\t0x35bd8: 0x6d82d020, 0x35bd9: 0x6d82d220, 0x35bda: 0x6d82d420, 0x35bdb: 0x6d82d620,\n\t0x35bdc: 0x6d82d820, 0x35bdd: 0x6d82da20, 0x35bde: 0x6d82dc20, 0x35bdf: 0x6d82de20,\n\t0x35be0: 0x6d82e020, 0x35be1: 0x6d82e220, 0x35be2: 0x6d7ade20, 0x35be3: 0x6da7e020,\n\t0x35be4: 0x6da7e220, 0x35be5: 0x6da7e420, 0x35be6: 0x6da7e620, 0x35be7: 0x6da7e820,\n\t0x35be8: 0x6da7ea20, 0x35be9: 0x6da7ec20, 0x35bea: 0x6da7ee20, 0x35beb: 0x6da7f020,\n\t0x35bec: 0x6da7f220, 0x35bed: 0x6da7f420, 0x35bee: 0x6da7f620, 0x35bef: 0x6da7f820,\n\t0x35bf0: 0x6da7fa20, 0x35bf1: 0x6da7fc20, 0x35bf2: 0x6da7fe20, 0x35bf3: 0x6da80020,\n\t0x35bf4: 0x6da80220, 0x35bf5: 0x6da80420, 0x35bf6: 0x6da80620, 0x35bf7: 0x6da80820,\n\t0x35bf8: 0x6da80a20, 0x35bf9: 0x6da80c20, 0x35bfa: 0x6da80e20, 0x35bfb: 0x6da81020,\n\t0x35bfc: 0x6da81220, 0x35bfd: 0x6da81420, 0x35bfe: 0x6da81620, 0x35bff: 0x6da81820,\n\t// Block 0xd70, offset 0x35c00\n\t0x35c00: 0x6da81a20, 0x35c01: 0x6da81c20, 0x35c02: 0x6da81e20, 0x35c03: 0x6da82020,\n\t0x35c04: 0x6da82220, 0x35c05: 0x6da82420, 0x35c06: 0x6da82620, 0x35c07: 0x6da82820,\n\t0x35c08: 0x6da82a20, 0x35c09: 0x6da82c20, 0x35c0a: 0x6da82e20, 0x35c0b: 0x6da83020,\n\t0x35c0c: 0x6da83220, 0x35c0d: 0x6da83420, 0x35c0e: 0x6da83620, 0x35c0f: 0x6da83820,\n\t0x35c10: 0x6da83a20, 0x35c11: 0x6da83c20, 0x35c12: 0x6da83e20, 0x35c13: 0x6da84020,\n\t0x35c14: 0x6da84220, 0x35c15: 0x6da84420, 0x35c16: 0x6da84620, 0x35c17: 0x6da84820,\n\t0x35c18: 0x6da84a20, 0x35c19: 0x6da84c20, 0x35c1a: 0x6da84e20, 0x35c1b: 0x6da85020,\n\t0x35c1c: 0x6da85220, 0x35c1d: 0x6da85420, 0x35c1e: 0x6dc90820, 0x35c1f: 0x6da85620,\n\t0x35c20: 0x6da85820, 0x35c21: 0x6dc90a20, 0x35c22: 0x6dc90c20, 0x35c23: 0x6dc90e20,\n\t0x35c24: 0x6dc91020, 0x35c25: 0x6dc91220, 0x35c26: 0x6dc91420, 0x35c27: 0x6dc91620,\n\t0x35c28: 0x6dc91820, 0x35c29: 0x6dc91a20, 0x35c2a: 0x6dc91c20, 0x35c2b: 0x6dc91e20,\n\t0x35c2c: 0x6dc92020, 0x35c2d: 0x6dc92220, 0x35c2e: 0x6dc92420, 0x35c2f: 0x6dc92620,\n\t0x35c30: 0x6dc92820, 0x35c31: 0x6dc92a20, 0x35c32: 0x6dc92c20, 0x35c33: 0x6dc92e20,\n\t0x35c34: 0x6dc93020, 0x35c35: 0x6dc93220, 0x35c36: 0x6dc93420, 0x35c37: 0x6dc93620,\n\t0x35c38: 0x6dc93820, 0x35c39: 0x6dc93a20, 0x35c3a: 0x6dc93c20, 0x35c3b: 0x6dc93e20,\n\t0x35c3c: 0x6dc94020, 0x35c3d: 0x6dc94220, 0x35c3e: 0x6dc94420, 0x35c3f: 0x6dc94620,\n\t// Block 0xd71, offset 0x35c40\n\t0x35c40: 0x6dc94820, 0x35c41: 0x6dc94a20, 0x35c42: 0x6dc94c20, 0x35c43: 0x6dc94e20,\n\t0x35c44: 0x6dc95020, 0x35c45: 0x6dc95220, 0x35c46: 0x6dc95420, 0x35c47: 0x6dc95620,\n\t0x35c48: 0x6dc95820, 0x35c49: 0x6dc95a20, 0x35c4a: 0x6dc95c20, 0x35c4b: 0x6dc95e20,\n\t0x35c4c: 0x6dc96020, 0x35c4d: 0x6dc96220, 0x35c4e: 0x6dc96420, 0x35c4f: 0x6dc96620,\n\t0x35c50: 0x6dc96820, 0x35c51: 0x6dc96a20, 0x35c52: 0x6dc96c20, 0x35c53: 0x6dc96e20,\n\t0x35c54: 0x6dc97020, 0x35c55: 0x6dc97220, 0x35c56: 0x6dc97420, 0x35c57: 0x6dc97620,\n\t0x35c58: 0x6dc97820, 0x35c59: 0x6dc97a20, 0x35c5a: 0x6dc97c20, 0x35c5b: 0x6dc97e20,\n\t0x35c5c: 0x6dc98020, 0x35c5d: 0x6de4f420, 0x35c5e: 0x6dc98220, 0x35c5f: 0x6dc98420,\n\t0x35c60: 0x6dc98620, 0x35c61: 0x6de4f620, 0x35c62: 0x6dc98820, 0x35c63: 0x6dc98a20,\n\t0x35c64: 0x6dc98c20, 0x35c65: 0x6dc98e20, 0x35c66: 0x6dc99020, 0x35c67: 0x6dc99220,\n\t0x35c68: 0x6dc99420, 0x35c69: 0x6dc99620, 0x35c6a: 0x6dc99820, 0x35c6b: 0x6dc99a20,\n\t0x35c6c: 0x6dc99c20, 0x35c6d: 0x6dc99e20, 0x35c6e: 0x6dc9a020, 0x35c6f: 0x6dc9a220,\n\t0x35c70: 0x6dc9a420, 0x35c71: 0x6dc9a620, 0x35c72: 0x6dc9a820, 0x35c73: 0x6de4f820,\n\t0x35c74: 0x6de4fa20, 0x35c75: 0x6de4fc20, 0x35c76: 0x6de4fe20, 0x35c77: 0x6de50020,\n\t0x35c78: 0x6de50220, 0x35c79: 0x6de50420, 0x35c7a: 0x6de50620, 0x35c7b: 0x6de50820,\n\t0x35c7c: 0x6de50a20, 0x35c7d: 0x6de50c20, 0x35c7e: 0x6de50e20, 0x35c7f: 0x6de51020,\n\t// Block 0xd72, offset 0x35c80\n\t0x35c80: 0x6de51220, 0x35c81: 0x6de51420, 0x35c82: 0x6de51620, 0x35c83: 0x6de51820,\n\t0x35c84: 0x6de51a20, 0x35c85: 0x6de51c20, 0x35c86: 0x6de51e20, 0x35c87: 0x6de52020,\n\t0x35c88: 0x6de52220, 0x35c89: 0x6de52420, 0x35c8a: 0x6de52620, 0x35c8b: 0x6de52820,\n\t0x35c8c: 0x6de52a20, 0x35c8d: 0x6de52c20, 0x35c8e: 0x6de52e20, 0x35c8f: 0x6de53020,\n\t0x35c90: 0x6de53220, 0x35c91: 0x6de53420, 0x35c92: 0x6de53620, 0x35c93: 0x6de53820,\n\t0x35c94: 0x6de53a20, 0x35c95: 0x6de53c20, 0x35c96: 0x6de53e20, 0x35c97: 0x6de54020,\n\t0x35c98: 0x6de54220, 0x35c99: 0x6de54420, 0x35c9a: 0x6de54620, 0x35c9b: 0x6de54820,\n\t0x35c9c: 0x6de54a20, 0x35c9d: 0x6de54c20, 0x35c9e: 0x6de54e20, 0x35c9f: 0x6de55020,\n\t0x35ca0: 0x6de55220, 0x35ca1: 0x6de55420, 0x35ca2: 0x6de55620, 0x35ca3: 0x6de55820,\n\t0x35ca4: 0x6de55a20, 0x35ca5: 0x6de55c20, 0x35ca6: 0x6de55e20, 0x35ca7: 0x6de56020,\n\t0x35ca8: 0x6dfbf620, 0x35ca9: 0x6dfbf820, 0x35caa: 0x6dfbfa20, 0x35cab: 0x6dfbfc20,\n\t0x35cac: 0x6dfbfe20, 0x35cad: 0x6dfc0020, 0x35cae: 0x6dfc0220, 0x35caf: 0x6dfc0420,\n\t0x35cb0: 0x6dfc0620, 0x35cb1: 0x6dfc0820, 0x35cb2: 0x6dfc0a20, 0x35cb3: 0x6dfc0c20,\n\t0x35cb4: 0x6dfc0e20, 0x35cb5: 0x6dfc1020, 0x35cb6: 0x6dfc1220, 0x35cb7: 0x6dfc1420,\n\t0x35cb8: 0x6dfc1620, 0x35cb9: 0x6dfc1820, 0x35cba: 0x6dfc1a20, 0x35cbb: 0x6dfc1c20,\n\t0x35cbc: 0x6dfc1e20, 0x35cbd: 0x6dfc2020, 0x35cbe: 0x6dfc2220, 0x35cbf: 0x6dfc2420,\n\t// Block 0xd73, offset 0x35cc0\n\t0x35cc0: 0x6dfc2620, 0x35cc1: 0x6dfc2820, 0x35cc2: 0x6dfc2a20, 0x35cc3: 0x6dfc2c20,\n\t0x35cc4: 0x6dfc2e20, 0x35cc5: 0x6dfc3020, 0x35cc6: 0x6dfc3220, 0x35cc7: 0x6dfc3420,\n\t0x35cc8: 0x6dfc3620, 0x35cc9: 0x6dfc3820, 0x35cca: 0x6dfc3a20, 0x35ccb: 0x6dfc3c20,\n\t0x35ccc: 0x6dfc3e20, 0x35ccd: 0x6dfc4020, 0x35cce: 0x6e0f2220, 0x35ccf: 0x6e0f2420,\n\t0x35cd0: 0x6e0f2620, 0x35cd1: 0x6e0f2820, 0x35cd2: 0x6e0f2a20, 0x35cd3: 0x6e0f2c20,\n\t0x35cd4: 0x6e0f2e20, 0x35cd5: 0x6e0f3020, 0x35cd6: 0x6e0f3220, 0x35cd7: 0x6e0f3420,\n\t0x35cd8: 0x6e0f3620, 0x35cd9: 0x6e0f3820, 0x35cda: 0x6e0f3a20, 0x35cdb: 0x6e0f3c20,\n\t0x35cdc: 0x6e0f3e20, 0x35cdd: 0x6e0f4020, 0x35cde: 0x6e0f4220, 0x35cdf: 0x6e0f4420,\n\t0x35ce0: 0x6e0f4620, 0x35ce1: 0x6e0f4820, 0x35ce2: 0x6e0f4a20, 0x35ce3: 0x6e0f4c20,\n\t0x35ce4: 0x6e0f4e20, 0x35ce5: 0x6e0f5020, 0x35ce6: 0x6e0f5220, 0x35ce7: 0x6e0f5420,\n\t0x35ce8: 0x6e0f5620, 0x35ce9: 0x6e0f5820, 0x35cea: 0x6e0f5a20, 0x35ceb: 0x6e0f5c20,\n\t0x35cec: 0x6e0f5e20, 0x35ced: 0x6e0f6020, 0x35cee: 0x6e0f6220, 0x35cef: 0x6e0f6420,\n\t0x35cf0: 0x6e0f6620, 0x35cf1: 0x6e0f6820, 0x35cf2: 0x6e0f6a20, 0x35cf3: 0x6e0f6c20,\n\t0x35cf4: 0x6e0f6e20, 0x35cf5: 0x6e0f7020, 0x35cf6: 0x6e1e4220, 0x35cf7: 0x6e1e4420,\n\t0x35cf8: 0x6e1e4620, 0x35cf9: 0x6e1e4820, 0x35cfa: 0x6e1e4a20, 0x35cfb: 0x6e1e4c20,\n\t0x35cfc: 0x6e1e4e20, 0x35cfd: 0x6e1e5020, 0x35cfe: 0x6e1e5220, 0x35cff: 0x6e1e5420,\n\t// Block 0xd74, offset 0x35d00\n\t0x35d00: 0x6e1e5620, 0x35d01: 0x6e1e5820, 0x35d02: 0x6e1e5a20, 0x35d03: 0x6e1e5c20,\n\t0x35d04: 0x6e1e5e20, 0x35d05: 0x6e1e6020, 0x35d06: 0x6e1e6220, 0x35d07: 0x6e1e6420,\n\t0x35d08: 0x6e1e6620, 0x35d09: 0x6e1e6820, 0x35d0a: 0x6e29a620, 0x35d0b: 0x6e29a820,\n\t0x35d0c: 0x6e29aa20, 0x35d0d: 0x6e29ac20, 0x35d0e: 0x6e29ae20, 0x35d0f: 0x6e29b020,\n\t0x35d10: 0x6e29b220, 0x35d11: 0x6e29b420, 0x35d12: 0x6e29b620, 0x35d13: 0x6e29b820,\n\t0x35d14: 0x6e29ba20, 0x35d15: 0x6e29bc20, 0x35d16: 0x6e29be20, 0x35d17: 0x6e29c020,\n\t0x35d18: 0x6e29c220, 0x35d19: 0x6e29c420, 0x35d1a: 0x6e29c620, 0x35d1b: 0x6e29c820,\n\t0x35d1c: 0x6e29ca20, 0x35d1d: 0x6e29cc20, 0x35d1e: 0x6e29ce20, 0x35d1f: 0x6e29d020,\n\t0x35d20: 0x6e32ac20, 0x35d21: 0x6e32ae20, 0x35d22: 0x6e32b020, 0x35d23: 0x6e32b220,\n\t0x35d24: 0x6e32b420, 0x35d25: 0x6e32b620, 0x35d26: 0x6e32b820, 0x35d27: 0x6e32ba20,\n\t0x35d28: 0x6e32bc20, 0x35d29: 0x6e38e420, 0x35d2a: 0x6e38e620, 0x35d2b: 0x6e38e820,\n\t0x35d2c: 0x6e38ea20, 0x35d2d: 0x6e38ec20, 0x35d2e: 0x6e38ee20, 0x35d2f: 0x6e38f020,\n\t0x35d30: 0x6e3d5820, 0x35d31: 0x6e3d5a20, 0x35d32: 0x6e3d5c20, 0x35d33: 0x6e3d5e20,\n\t0x35d34: 0x6e3d6020, 0x35d35: 0x6e3d6220, 0x35d36: 0x6e3d6420, 0x35d37: 0x6e406220,\n\t0x35d38: 0x6e406420, 0x35d39: 0x6e406620, 0x35d3a: 0x6e406820, 0x35d3b: 0x6e406a20,\n\t0x35d3c: 0x6e42b220, 0x35d3d: 0x6e42b420, 0x35d3e: 0x6e443220, 0x35d3f: 0x6e452220,\n\t// Block 0xd75, offset 0x35d40\n\t0x35d40: 0x6e468020, 0x35d41: 0x6e46c820, 0x35d42: 0x6c09cc20, 0x35d43: 0x6c136620,\n\t0x35d44: 0x6c136820, 0x35d45: 0x6c136a20, 0x35d46: 0x6c136c20, 0x35d47: 0x6c136e20,\n\t0x35d48: 0x6c137020, 0x35d49: 0x6c137220, 0x35d4a: 0x6c137420, 0x35d4b: 0x6c137620,\n\t0x35d4c: 0x6c137820, 0x35d4d: 0x6c23aa20, 0x35d4e: 0x6c23ac20, 0x35d4f: 0x6c23ae20,\n\t0x35d50: 0x6c23b020, 0x35d51: 0x6c23b220, 0x35d52: 0x6c23b420, 0x35d53: 0x6c23b620,\n\t0x35d54: 0x6c23b820, 0x35d55: 0x6c23ba20, 0x35d56: 0x6c23bc20, 0x35d57: 0x6c23be20,\n\t0x35d58: 0x6c23c020, 0x35d59: 0x6c23c220, 0x35d5a: 0x6c23c420, 0x35d5b: 0x6c23c620,\n\t0x35d5c: 0x6c23c820, 0x35d5d: 0x6c39d820, 0x35d5e: 0x6c39da20, 0x35d5f: 0x6c39dc20,\n\t0x35d60: 0x6c39de20, 0x35d61: 0x6c39e020, 0x35d62: 0x6c39e220, 0x35d63: 0x6c39e420,\n\t0x35d64: 0x6c39e620, 0x35d65: 0x6c39e820, 0x35d66: 0x6c39ea20, 0x35d67: 0x6c39ec20,\n\t0x35d68: 0x6c39ee20, 0x35d69: 0x6c39f020, 0x35d6a: 0x6c39f220, 0x35d6b: 0x6c39f420,\n\t0x35d6c: 0x6c39f620, 0x35d6d: 0x6c39f820, 0x35d6e: 0x6c39fa20, 0x35d6f: 0x6c39fc20,\n\t0x35d70: 0x6c39fe20, 0x35d71: 0x6c3a0020, 0x35d72: 0x6c3a0220, 0x35d73: 0x6c3a0420,\n\t0x35d74: 0x6c3a0620, 0x35d75: 0x6c3a0820, 0x35d76: 0x6c3a0a20, 0x35d77: 0x6c3a0c20,\n\t0x35d78: 0x6c3a0e20, 0x35d79: 0x6c3a1020, 0x35d7a: 0x6c3a1220, 0x35d7b: 0x6c3a1420,\n\t0x35d7c: 0x6c557220, 0x35d7d: 0x6c557420, 0x35d7e: 0x6c557620, 0x35d7f: 0x6c557820,\n\t// Block 0xd76, offset 0x35d80\n\t0x35d80: 0x6c557a20, 0x35d81: 0x6c557c20, 0x35d82: 0x6c557e20, 0x35d83: 0x6c558020,\n\t0x35d84: 0x6c558220, 0x35d85: 0x6c558420, 0x35d86: 0x6c558620, 0x35d87: 0x6c558820,\n\t0x35d88: 0x6c558a20, 0x35d89: 0x6c558c20, 0x35d8a: 0x6c558e20, 0x35d8b: 0x6c559020,\n\t0x35d8c: 0x6c559220, 0x35d8d: 0x6c559420, 0x35d8e: 0x6c559620, 0x35d8f: 0x6c559820,\n\t0x35d90: 0x6c559a20, 0x35d91: 0x6c559c20, 0x35d92: 0x6c559e20, 0x35d93: 0x6c55a020,\n\t0x35d94: 0x6c55a220, 0x35d95: 0x6c55a420, 0x35d96: 0x6c55a620, 0x35d97: 0x6c55a820,\n\t0x35d98: 0x6c55aa20, 0x35d99: 0x6c55ac20, 0x35d9a: 0x6c55ae20, 0x35d9b: 0x6c55b020,\n\t0x35d9c: 0x6c55b220, 0x35d9d: 0x6c55b420, 0x35d9e: 0x6c55b620, 0x35d9f: 0x6c55b820,\n\t0x35da0: 0x6c55ba20, 0x35da1: 0x6c55bc20, 0x35da2: 0x6c55be20, 0x35da3: 0x6c55c020,\n\t0x35da4: 0x6c55c220, 0x35da5: 0x6c55c420, 0x35da6: 0x6c55c620, 0x35da7: 0x6c55c820,\n\t0x35da8: 0x6c55ca20, 0x35da9: 0x6c55cc20, 0x35daa: 0x6c55ce20, 0x35dab: 0x6c55d020,\n\t0x35dac: 0x6c55d220, 0x35dad: 0x6c55d420, 0x35dae: 0x6c55d620, 0x35daf: 0x6c784c20,\n\t0x35db0: 0x6c784e20, 0x35db1: 0x6c785020, 0x35db2: 0x6c785220, 0x35db3: 0x6c785420,\n\t0x35db4: 0x6c785620, 0x35db5: 0x6c785820, 0x35db6: 0x6c785a20, 0x35db7: 0x6c785c20,\n\t0x35db8: 0x6c785e20, 0x35db9: 0x6c786020, 0x35dba: 0x6c786220, 0x35dbb: 0x6c786420,\n\t0x35dbc: 0x6c786620, 0x35dbd: 0x6c786820, 0x35dbe: 0x6c786a20, 0x35dbf: 0x6c786c20,\n\t// Block 0xd77, offset 0x35dc0\n\t0x35dc0: 0x6c786e20, 0x35dc1: 0x6c787020, 0x35dc2: 0x6c787220, 0x35dc3: 0x6c787420,\n\t0x35dc4: 0x6c787620, 0x35dc5: 0x6c787820, 0x35dc6: 0x6c787a20, 0x35dc7: 0x6c787c20,\n\t0x35dc8: 0x6c787e20, 0x35dc9: 0x6c788020, 0x35dca: 0x6c788220, 0x35dcb: 0x6c788420,\n\t0x35dcc: 0x6c788620, 0x35dcd: 0x6c788820, 0x35dce: 0x6c788a20, 0x35dcf: 0x6c788c20,\n\t0x35dd0: 0x6c788e20, 0x35dd1: 0x6c789020, 0x35dd2: 0x6c789220, 0x35dd3: 0x6c789420,\n\t0x35dd4: 0x6c789620, 0x35dd5: 0x6c789820, 0x35dd6: 0x6c789a20, 0x35dd7: 0x6c789c20,\n\t0x35dd8: 0x6c789e20, 0x35dd9: 0x6c78a020, 0x35dda: 0x6c78a220, 0x35ddb: 0x6c78a420,\n\t0x35ddc: 0x6c78a620, 0x35ddd: 0x6c78a820, 0x35dde: 0x6c78aa20, 0x35ddf: 0x6c78ac20,\n\t0x35de0: 0x6c78ae20, 0x35de1: 0x6c78b020, 0x35de2: 0x6c78b220, 0x35de3: 0x6c78b420,\n\t0x35de4: 0x6c78b620, 0x35de5: 0x6ca14020, 0x35de6: 0x6ca14220, 0x35de7: 0x6ca14420,\n\t0x35de8: 0x6ca14620, 0x35de9: 0x6ca14820, 0x35dea: 0x6ca14a20, 0x35deb: 0x6ca14c20,\n\t0x35dec: 0x6ca14e20, 0x35ded: 0x6ca15020, 0x35dee: 0x6ca15220, 0x35def: 0x6ca15420,\n\t0x35df0: 0x6ca15620, 0x35df1: 0x6ca15820, 0x35df2: 0x6ca15a20, 0x35df3: 0x6ca15c20,\n\t0x35df4: 0x6ca15e20, 0x35df5: 0x6ca16020, 0x35df6: 0x6ca16220, 0x35df7: 0x6ca16420,\n\t0x35df8: 0x6ca16620, 0x35df9: 0x6ca16820, 0x35dfa: 0x6ca16a20, 0x35dfb: 0x6ca16c20,\n\t0x35dfc: 0x6ca16e20, 0x35dfd: 0x6ca17020, 0x35dfe: 0x6ca17220, 0x35dff: 0x6ca17420,\n\t// Block 0xd78, offset 0x35e00\n\t0x35e00: 0x6ca17620, 0x35e01: 0x6ca17820, 0x35e02: 0x6ca17a20, 0x35e03: 0x6ca17c20,\n\t0x35e04: 0x6ca17e20, 0x35e05: 0x6ca18020, 0x35e06: 0x6ca18220, 0x35e07: 0x6ca18420,\n\t0x35e08: 0x6ca18620, 0x35e09: 0x6ca18820, 0x35e0a: 0x6ca18a20, 0x35e0b: 0x6ca18c20,\n\t0x35e0c: 0x6ca18e20, 0x35e0d: 0x6ca19020, 0x35e0e: 0x6ca19220, 0x35e0f: 0x6ca19420,\n\t0x35e10: 0x6ca19620, 0x35e11: 0x6ca19820, 0x35e12: 0x6ca19a20, 0x35e13: 0x6ca19c20,\n\t0x35e14: 0x6ca19e20, 0x35e15: 0x6ca1a020, 0x35e16: 0x6ca1a220, 0x35e17: 0x6ca1a420,\n\t0x35e18: 0x6ca1a620, 0x35e19: 0x6ca1a820, 0x35e1a: 0x6ca1aa20, 0x35e1b: 0x6ca1ac20,\n\t0x35e1c: 0x6ca1ae20, 0x35e1d: 0x6ca1b020, 0x35e1e: 0x6ca1b220, 0x35e1f: 0x6ca1b420,\n\t0x35e20: 0x6ca1b620, 0x35e21: 0x6ca1b820, 0x35e22: 0x6cce4820, 0x35e23: 0x6cce4a20,\n\t0x35e24: 0x6cce4c20, 0x35e25: 0x6cce4e20, 0x35e26: 0x6cce5020, 0x35e27: 0x6cce5220,\n\t0x35e28: 0x6cce5420, 0x35e29: 0x6cce5620, 0x35e2a: 0x6cce5820, 0x35e2b: 0x6cce5a20,\n\t0x35e2c: 0x6cce5c20, 0x35e2d: 0x6cce5e20, 0x35e2e: 0x6cce6020, 0x35e2f: 0x6cce6220,\n\t0x35e30: 0x6cce6420, 0x35e31: 0x6cce6620, 0x35e32: 0x6cce6820, 0x35e33: 0x6cce6a20,\n\t0x35e34: 0x6cce6c20, 0x35e35: 0x6cce6e20, 0x35e36: 0x6cce7020, 0x35e37: 0x6cce7220,\n\t0x35e38: 0x6cce7420, 0x35e39: 0x6cce7620, 0x35e3a: 0x6cce7820, 0x35e3b: 0x6cce7a20,\n\t0x35e3c: 0x6cce7c20, 0x35e3d: 0x6cce7e20, 0x35e3e: 0x6cce8020, 0x35e3f: 0x6cce8220,\n\t// Block 0xd79, offset 0x35e40\n\t0x35e40: 0x6cce8420, 0x35e41: 0x6cce8620, 0x35e42: 0x6cce8820, 0x35e43: 0x6cce8a20,\n\t0x35e44: 0x6cce8c20, 0x35e45: 0x6cce8e20, 0x35e46: 0x6cce9020, 0x35e47: 0x6cce9220,\n\t0x35e48: 0x6cce9420, 0x35e49: 0x6cce9620, 0x35e4a: 0x6cce9820, 0x35e4b: 0x6cce9a20,\n\t0x35e4c: 0x6cce9c20, 0x35e4d: 0x6cce9e20, 0x35e4e: 0x6ccea020, 0x35e4f: 0x6ccea220,\n\t0x35e50: 0x6ccea420, 0x35e51: 0x6ccea620, 0x35e52: 0x6ccea820, 0x35e53: 0x6cceaa20,\n\t0x35e54: 0x6cceac20, 0x35e55: 0x6cceae20, 0x35e56: 0x6cceb020, 0x35e57: 0x6cceb220,\n\t0x35e58: 0x6cceb420, 0x35e59: 0x6cceb620, 0x35e5a: 0x6cceb820, 0x35e5b: 0x6cceba20,\n\t0x35e5c: 0x6ccebc20, 0x35e5d: 0x6ccebe20, 0x35e5e: 0x6ccec020, 0x35e5f: 0x6ccec220,\n\t0x35e60: 0x6ccec420, 0x35e61: 0x6ccec620, 0x35e62: 0x6ccec820, 0x35e63: 0x6cceca20,\n\t0x35e64: 0x6ccecc20, 0x35e65: 0x6ccece20, 0x35e66: 0x6cced020, 0x35e67: 0x6cced220,\n\t0x35e68: 0x6cced420, 0x35e69: 0x6cced620, 0x35e6a: 0x6cced820, 0x35e6b: 0x6cceda20,\n\t0x35e6c: 0x6ccedc20, 0x35e6d: 0x6ccede20, 0x35e6e: 0x6ccee020, 0x35e6f: 0x6ccee220,\n\t0x35e70: 0x6ccee420, 0x35e71: 0x6ccee620, 0x35e72: 0x6cfc6820, 0x35e73: 0x6cfc6a20,\n\t0x35e74: 0x6cfc6c20, 0x35e75: 0x6cfc6e20, 0x35e76: 0x6cfc7020, 0x35e77: 0x6cfc7220,\n\t0x35e78: 0x6cfc7420, 0x35e79: 0x6cfc7620, 0x35e7a: 0x6cfc7820, 0x35e7b: 0x6cfc7a20,\n\t0x35e7c: 0x6cfc7c20, 0x35e7d: 0x6cfc7e20, 0x35e7e: 0x6cfc8020, 0x35e7f: 0x6cfc8220,\n\t// Block 0xd7a, offset 0x35e80\n\t0x35e80: 0x6cfc8420, 0x35e81: 0x6cfc8620, 0x35e82: 0x6cfc8820, 0x35e83: 0x6cfc8a20,\n\t0x35e84: 0x6cfc8c20, 0x35e85: 0x6cfc8e20, 0x35e86: 0x6cfc9020, 0x35e87: 0x6cfc9220,\n\t0x35e88: 0x6cfc9420, 0x35e89: 0x6cfc9620, 0x35e8a: 0x6cfc9820, 0x35e8b: 0x6cfc9a20,\n\t0x35e8c: 0x6cfc9c20, 0x35e8d: 0x6cfc9e20, 0x35e8e: 0x6cfca020, 0x35e8f: 0x6cfca220,\n\t0x35e90: 0x6cfca420, 0x35e91: 0x6cfca620, 0x35e92: 0x6cfca820, 0x35e93: 0x6cfcaa20,\n\t0x35e94: 0x6cfcac20, 0x35e95: 0x6cfcae20, 0x35e96: 0x6cfcb020, 0x35e97: 0x6cfcb220,\n\t0x35e98: 0x6cfcb420, 0x35e99: 0x6cfcb620, 0x35e9a: 0x6cfcb820, 0x35e9b: 0x6cfcba20,\n\t0x35e9c: 0x6cfcbc20, 0x35e9d: 0x6cfcbe20, 0x35e9e: 0x6cfcc020, 0x35e9f: 0x6cfcc220,\n\t0x35ea0: 0x6cfcc420, 0x35ea1: 0x6cfcc620, 0x35ea2: 0x6cfcc820, 0x35ea3: 0x6cfcca20,\n\t0x35ea4: 0x6cfccc20, 0x35ea5: 0x6cfcce20, 0x35ea6: 0x6cfcd020, 0x35ea7: 0x6cfcd220,\n\t0x35ea8: 0x6cfcd420, 0x35ea9: 0x6cfcd620, 0x35eaa: 0x6cfcd820, 0x35eab: 0x6cfcda20,\n\t0x35eac: 0x6cfcdc20, 0x35ead: 0x6cfcde20, 0x35eae: 0x6cfce020, 0x35eaf: 0x6cfce220,\n\t0x35eb0: 0x6cfce420, 0x35eb1: 0x6cfce620, 0x35eb2: 0x6cfce820, 0x35eb3: 0x6cb74620,\n\t0x35eb4: 0x6cfcea20, 0x35eb5: 0x6cfcec20, 0x35eb6: 0x6cfcee20, 0x35eb7: 0x6cfcf020,\n\t0x35eb8: 0x6cfcf220, 0x35eb9: 0x6cfcf420, 0x35eba: 0x6cfcf620, 0x35ebb: 0x6cfcf820,\n\t0x35ebc: 0x6cfcfa20, 0x35ebd: 0x6cfcfc20, 0x35ebe: 0x6cfcfe20, 0x35ebf: 0x6cfd0020,\n\t// Block 0xd7b, offset 0x35ec0\n\t0x35ec0: 0x6cfd0220, 0x35ec1: 0x6cfd0420, 0x35ec2: 0x6cfd0620, 0x35ec3: 0x6cfd0820,\n\t0x35ec4: 0x6cfd0a20, 0x35ec5: 0x6cfd0c20, 0x35ec6: 0x6cfd0e20, 0x35ec7: 0x6d2b2c20,\n\t0x35ec8: 0x6d2b2e20, 0x35ec9: 0x6d2b3020, 0x35eca: 0x6d2b3220, 0x35ecb: 0x6d2b3420,\n\t0x35ecc: 0x6d2b3620, 0x35ecd: 0x6d2b3820, 0x35ece: 0x6d2b3a20, 0x35ecf: 0x6d2b3c20,\n\t0x35ed0: 0x6d2b3e20, 0x35ed1: 0x6d2b4020, 0x35ed2: 0x6d2b4220, 0x35ed3: 0x6d2b4420,\n\t0x35ed4: 0x6d2b4620, 0x35ed5: 0x6d2b4820, 0x35ed6: 0x6d2b4a20, 0x35ed7: 0x6d2b4c20,\n\t0x35ed8: 0x6d2b4e20, 0x35ed9: 0x6d2b5020, 0x35eda: 0x6d2b5220, 0x35edb: 0x6d2b5420,\n\t0x35edc: 0x6d2b5620, 0x35edd: 0x6d2b5820, 0x35ede: 0x6d2b5a20, 0x35edf: 0x6d2b5c20,\n\t0x35ee0: 0x6d2b5e20, 0x35ee1: 0x6d2b6020, 0x35ee2: 0x6d2b6220, 0x35ee3: 0x6d2b6420,\n\t0x35ee4: 0x6d2b6620, 0x35ee5: 0x6d2b6820, 0x35ee6: 0x6d2b6a20, 0x35ee7: 0x6d2b6c20,\n\t0x35ee8: 0x6d2b6e20, 0x35ee9: 0x6d2b7020, 0x35eea: 0x6d2b7220, 0x35eeb: 0x6d2b7420,\n\t0x35eec: 0x6d2b7620, 0x35eed: 0x6d2b7820, 0x35eee: 0x6d2b7a20, 0x35eef: 0x6d2b7c20,\n\t0x35ef0: 0x6d2b7e20, 0x35ef1: 0x6d2b8020, 0x35ef2: 0x6d585a20, 0x35ef3: 0x6d2b8220,\n\t0x35ef4: 0x6d2b8420, 0x35ef5: 0x6d2b8620, 0x35ef6: 0x6d2b8820, 0x35ef7: 0x6d2b8a20,\n\t0x35ef8: 0x6d2b8c20, 0x35ef9: 0x6d2b8e20, 0x35efa: 0x6d2b9020, 0x35efb: 0x6d2b9220,\n\t0x35efc: 0x6d2b9420, 0x35efd: 0x6d2b9620, 0x35efe: 0x6d2b9820, 0x35eff: 0x6d2b9a20,\n\t// Block 0xd7c, offset 0x35f00\n\t0x35f00: 0x6d2b9c20, 0x35f01: 0x6d2b9e20, 0x35f02: 0x6d2ba020, 0x35f03: 0x6d2ba220,\n\t0x35f04: 0x6d2ba420, 0x35f05: 0x6d2ba620, 0x35f06: 0x6d2ba820, 0x35f07: 0x6d2baa20,\n\t0x35f08: 0x6d2bac20, 0x35f09: 0x6d2bae20, 0x35f0a: 0x6d2bb020, 0x35f0b: 0x6d2bb220,\n\t0x35f0c: 0x6d2bb420, 0x35f0d: 0x6d2bb620, 0x35f0e: 0x6d2bb820, 0x35f0f: 0x6cfd1020,\n\t0x35f10: 0x6d585c20, 0x35f11: 0x6d585e20, 0x35f12: 0x6d586020, 0x35f13: 0x6d586220,\n\t0x35f14: 0x6d586420, 0x35f15: 0x6d586620, 0x35f16: 0x6d586820, 0x35f17: 0x6d586a20,\n\t0x35f18: 0x6d586c20, 0x35f19: 0x6d586e20, 0x35f1a: 0x6d587020, 0x35f1b: 0x6d587220,\n\t0x35f1c: 0x6d587420, 0x35f1d: 0x6d587620, 0x35f1e: 0x6d587820, 0x35f1f: 0x6d587a20,\n\t0x35f20: 0x6d587c20, 0x35f21: 0x6d587e20, 0x35f22: 0x6d588020, 0x35f23: 0x6d588220,\n\t0x35f24: 0x6d588420, 0x35f25: 0x6d588620, 0x35f26: 0x6d588820, 0x35f27: 0x6d588a20,\n\t0x35f28: 0x6d588c20, 0x35f29: 0x6d836620, 0x35f2a: 0x6d588e20, 0x35f2b: 0x6d589020,\n\t0x35f2c: 0x6d589220, 0x35f2d: 0x6d589420, 0x35f2e: 0x6d589620, 0x35f2f: 0x6d589820,\n\t0x35f30: 0x6d589a20, 0x35f31: 0x6d589c20, 0x35f32: 0x6d589e20, 0x35f33: 0x6d58a020,\n\t0x35f34: 0x6d58a220, 0x35f35: 0x6d58a420, 0x35f36: 0x6d58a620, 0x35f37: 0x6d58a820,\n\t0x35f38: 0x6d58aa20, 0x35f39: 0x6d58ac20, 0x35f3a: 0x6d58ae20, 0x35f3b: 0x6d58b020,\n\t0x35f3c: 0x6d58b220, 0x35f3d: 0x6d58b420, 0x35f3e: 0x6d58b620, 0x35f3f: 0x6d58b820,\n\t// Block 0xd7d, offset 0x35f40\n\t0x35f40: 0x6d385220, 0x35f41: 0x6d58ba20, 0x35f42: 0x6d705e20, 0x35f43: 0x6d58bc20,\n\t0x35f44: 0x6d58be20, 0x35f45: 0x6d58c020, 0x35f46: 0x6d58c220, 0x35f47: 0x6d58c420,\n\t0x35f48: 0x6d58c620, 0x35f49: 0x6d58c820, 0x35f4a: 0x6d58ca20, 0x35f4b: 0x6d58cc20,\n\t0x35f4c: 0x6d58ce20, 0x35f4d: 0x6d58d020, 0x35f4e: 0x6d58d220, 0x35f4f: 0x6d58d420,\n\t0x35f50: 0x6d58d620, 0x35f51: 0x6d58d820, 0x35f52: 0x6d58da20, 0x35f53: 0x6d58dc20,\n\t0x35f54: 0x6d58de20, 0x35f55: 0x6d58e020, 0x35f56: 0x6d58e220, 0x35f57: 0x6d58e420,\n\t0x35f58: 0x6d58e620, 0x35f59: 0x6d58e820, 0x35f5a: 0x6d58ea20, 0x35f5b: 0x6d58ec20,\n\t0x35f5c: 0x6d58ee20, 0x35f5d: 0x6d836820, 0x35f5e: 0x6d836a20, 0x35f5f: 0x6d836c20,\n\t0x35f60: 0x6d836e20, 0x35f61: 0x6d837020, 0x35f62: 0x6d837220, 0x35f63: 0x6d837420,\n\t0x35f64: 0x6d837620, 0x35f65: 0x6d837820, 0x35f66: 0x6d837a20, 0x35f67: 0x6d837c20,\n\t0x35f68: 0x6d837e20, 0x35f69: 0x6d838020, 0x35f6a: 0x6d838220, 0x35f6b: 0x6d838420,\n\t0x35f6c: 0x6d838620, 0x35f6d: 0x6d838820, 0x35f6e: 0x6d838a20, 0x35f6f: 0x6d838c20,\n\t0x35f70: 0x6d838e20, 0x35f71: 0x6d839020, 0x35f72: 0x6d839220, 0x35f73: 0x6d839420,\n\t0x35f74: 0x6d839620, 0x35f75: 0x6d839820, 0x35f76: 0x6d839a20, 0x35f77: 0x6d839c20,\n\t0x35f78: 0x6d839e20, 0x35f79: 0x6d83a020, 0x35f7a: 0x6d83a220, 0x35f7b: 0x6d83a420,\n\t0x35f7c: 0x6d83a620, 0x35f7d: 0x6d83a820, 0x35f7e: 0x6d83aa20, 0x35f7f: 0x6d83ac20,\n\t// Block 0xd7e, offset 0x35f80\n\t0x35f80: 0x6d83ae20, 0x35f81: 0x6d83b020, 0x35f82: 0x6d83b220, 0x35f83: 0x6d83b420,\n\t0x35f84: 0x6d83b620, 0x35f85: 0x6d83b820, 0x35f86: 0x6d83ba20, 0x35f87: 0x6d83bc20,\n\t0x35f88: 0x6d83be20, 0x35f89: 0x6d83c020, 0x35f8a: 0x6d83c220, 0x35f8b: 0x6d83c420,\n\t0x35f8c: 0x6d83c620, 0x35f8d: 0x6d83c820, 0x35f8e: 0x6d83ca20, 0x35f8f: 0x6d83cc20,\n\t0x35f90: 0x6d83ce20, 0x35f91: 0x6d83d020, 0x35f92: 0x6d83d220, 0x35f93: 0x6d83d420,\n\t0x35f94: 0x6d83d620, 0x35f95: 0x6d83d820, 0x35f96: 0x6d83da20, 0x35f97: 0x6d83dc20,\n\t0x35f98: 0x6d83de20, 0x35f99: 0x6d83e020, 0x35f9a: 0x6d83e220, 0x35f9b: 0x6d83e420,\n\t0x35f9c: 0x6d83e620, 0x35f9d: 0x6d83e820, 0x35f9e: 0x6d83ea20, 0x35f9f: 0x6d83ec20,\n\t0x35fa0: 0x6d793420, 0x35fa1: 0x6d83ee20, 0x35fa2: 0x6d83f020, 0x35fa3: 0x6d83f220,\n\t0x35fa4: 0x6d83f420, 0x35fa5: 0x6d83f620, 0x35fa6: 0x6d83f820, 0x35fa7: 0x6d83fa20,\n\t0x35fa8: 0x6d83fc20, 0x35fa9: 0x6d83fe20, 0x35faa: 0x6d840020, 0x35fab: 0x6d840220,\n\t0x35fac: 0x6d840420, 0x35fad: 0x6d840620, 0x35fae: 0x6d840820, 0x35faf: 0x6d840a20,\n\t0x35fb0: 0x6d840c20, 0x35fb1: 0x6d840e20, 0x35fb2: 0x6d841020, 0x35fb3: 0x6d841220,\n\t0x35fb4: 0x6d841420, 0x35fb5: 0x6da8ae20, 0x35fb6: 0x6da8b020, 0x35fb7: 0x6da8b220,\n\t0x35fb8: 0x6da8b420, 0x35fb9: 0x6da8b620, 0x35fba: 0x6da8b820, 0x35fbb: 0x6da8ba20,\n\t0x35fbc: 0x6da8bc20, 0x35fbd: 0x6da8be20, 0x35fbe: 0x6da8c020, 0x35fbf: 0x6da8c220,\n\t// Block 0xd7f, offset 0x35fc0\n\t0x35fc0: 0x6da8c420, 0x35fc1: 0x6da8c620, 0x35fc2: 0x6da8c820, 0x35fc3: 0x6da8ca20,\n\t0x35fc4: 0x6da8cc20, 0x35fc5: 0x6da8ce20, 0x35fc6: 0x6da8d020, 0x35fc7: 0x6da8d220,\n\t0x35fc8: 0x6da8d420, 0x35fc9: 0x6da8d620, 0x35fca: 0x6da8d820, 0x35fcb: 0x6da8da20,\n\t0x35fcc: 0x6da8dc20, 0x35fcd: 0x6da8de20, 0x35fce: 0x6da8e020, 0x35fcf: 0x6da8e220,\n\t0x35fd0: 0x6da8e420, 0x35fd1: 0x6da8e620, 0x35fd2: 0x6da8e820, 0x35fd3: 0x6da8ea20,\n\t0x35fd4: 0x6da8ec20, 0x35fd5: 0x6da8ee20, 0x35fd6: 0x6da8f020, 0x35fd7: 0x6da8f220,\n\t0x35fd8: 0x6da8f420, 0x35fd9: 0x6da8f620, 0x35fda: 0x6da8f820, 0x35fdb: 0x6da8fa20,\n\t0x35fdc: 0x6da8fc20, 0x35fdd: 0x6da8fe20, 0x35fde: 0x6da90020, 0x35fdf: 0x6da90220,\n\t0x35fe0: 0x6da90420, 0x35fe1: 0x6da90620, 0x35fe2: 0x6da90820, 0x35fe3: 0x6da90a20,\n\t0x35fe4: 0x6dc9d420, 0x35fe5: 0x6dc9d620, 0x35fe6: 0x6dc9d820, 0x35fe7: 0x6dc9da20,\n\t0x35fe8: 0x6dc9dc20, 0x35fe9: 0x6dc9de20, 0x35fea: 0x6dc9e020, 0x35feb: 0x6dc9e220,\n\t0x35fec: 0x6dc9e420, 0x35fed: 0x6dc9e620, 0x35fee: 0x6dc9e820, 0x35fef: 0x6dc9ea20,\n\t0x35ff0: 0x6dc9ec20, 0x35ff1: 0x6dc9ee20, 0x35ff2: 0x6dc9f020, 0x35ff3: 0x6dc9f220,\n\t0x35ff4: 0x6dc9f420, 0x35ff5: 0x6dc9f620, 0x35ff6: 0x6dc9f820, 0x35ff7: 0x6dc9fa20,\n\t0x35ff8: 0x6dc9fc20, 0x35ff9: 0x6dc9fe20, 0x35ffa: 0x6dca0020, 0x35ffb: 0x6dca0220,\n\t0x35ffc: 0x6dca0420, 0x35ffd: 0x6dca0620, 0x35ffe: 0x6dca0820, 0x35fff: 0x6dca0a20,\n\t// Block 0xd80, offset 0x36000\n\t0x36000: 0x6dca0c20, 0x36001: 0x6dca0e20, 0x36002: 0x6dca1020, 0x36003: 0x6dd07420,\n\t0x36004: 0x6dca1220, 0x36005: 0x6dca1420, 0x36006: 0x6dca1620, 0x36007: 0x6dca1820,\n\t0x36008: 0x6dca1a20, 0x36009: 0x6dca1c20, 0x3600a: 0x6dca1e20, 0x3600b: 0x6dca2020,\n\t0x3600c: 0x6dca2220, 0x3600d: 0x6dca2420, 0x3600e: 0x6dca2620, 0x3600f: 0x6dca2820,\n\t0x36010: 0x6dca2a20, 0x36011: 0x6dca2c20, 0x36012: 0x6de58e20, 0x36013: 0x6de59020,\n\t0x36014: 0x6de59220, 0x36015: 0x6de59420, 0x36016: 0x6de59620, 0x36017: 0x6de59820,\n\t0x36018: 0x6de59a20, 0x36019: 0x6de59c20, 0x3601a: 0x6de59e20, 0x3601b: 0x6de5a020,\n\t0x3601c: 0x6de5a220, 0x3601d: 0x6de5a420, 0x3601e: 0x6de5a620, 0x3601f: 0x6de5a820,\n\t0x36020: 0x6de5aa20, 0x36021: 0x6de5ac20, 0x36022: 0x6de5ae20, 0x36023: 0x6de5b020,\n\t0x36024: 0x6de5b220, 0x36025: 0x6de5b420, 0x36026: 0x6de5b620, 0x36027: 0x6de5b820,\n\t0x36028: 0x6de5ba20, 0x36029: 0x6de5bc20, 0x3602a: 0x6de5be20, 0x3602b: 0x6de5c020,\n\t0x3602c: 0x6de5c220, 0x3602d: 0x6de5c420, 0x3602e: 0x6de5c620, 0x3602f: 0x6de5c820,\n\t0x36030: 0x6de5ca20, 0x36031: 0x6de5cc20, 0x36032: 0x6de5ce20, 0x36033: 0x6dfc6620,\n\t0x36034: 0x6dfc6820, 0x36035: 0x6dfc6a20, 0x36036: 0x6dfc6c20, 0x36037: 0x6dfc6e20,\n\t0x36038: 0x6dfc7020, 0x36039: 0x6dfc7220, 0x3603a: 0x6dfc7420, 0x3603b: 0x6dfc7620,\n\t0x3603c: 0x6dfc7820, 0x3603d: 0x6dfc7a20, 0x3603e: 0x6dfc7c20, 0x3603f: 0x6dfc7e20,\n\t// Block 0xd81, offset 0x36040\n\t0x36040: 0x6dfc8020, 0x36041: 0x6dfc8220, 0x36042: 0x6dfc8420, 0x36043: 0x6dfc8620,\n\t0x36044: 0x6dfc8820, 0x36045: 0x6dfc8a20, 0x36046: 0x6dfc8c20, 0x36047: 0x6dfc8e20,\n\t0x36048: 0x6dfc9020, 0x36049: 0x6dfc9220, 0x3604a: 0x6dfc9420, 0x3604b: 0x6dfc9620,\n\t0x3604c: 0x6dfc9820, 0x3604d: 0x6dfc9a20, 0x3604e: 0x6dfc9c20, 0x3604f: 0x6dfc9e20,\n\t0x36050: 0x6dfca020, 0x36051: 0x6dfca220, 0x36052: 0x6dfca420, 0x36053: 0x6dfca620,\n\t0x36054: 0x6dfca820, 0x36055: 0x6dfcaa20, 0x36056: 0x6dfcac20, 0x36057: 0x6dfcae20,\n\t0x36058: 0x6dfcb020, 0x36059: 0x6dfcb220, 0x3605a: 0x6dfcb420, 0x3605b: 0x6dfcb620,\n\t0x3605c: 0x6dfcb820, 0x3605d: 0x6dfcba20, 0x3605e: 0x6dfcbc20, 0x3605f: 0x6dfcbe20,\n\t0x36060: 0x6dfcc020, 0x36061: 0x6e0f8420, 0x36062: 0x6e0f8620, 0x36063: 0x6e0f8820,\n\t0x36064: 0x6e0f8a20, 0x36065: 0x6e0f8c20, 0x36066: 0x6e0f8e20, 0x36067: 0x6e0f9020,\n\t0x36068: 0x6dfcc220, 0x36069: 0x6e1e7820, 0x3606a: 0x6e0f9220, 0x3606b: 0x6e0f9420,\n\t0x3606c: 0x6e0f9620, 0x3606d: 0x6e0f9820, 0x3606e: 0x6e0f9a20, 0x3606f: 0x6e0f9c20,\n\t0x36070: 0x6e0f9e20, 0x36071: 0x6e0fa020, 0x36072: 0x6e0fa220, 0x36073: 0x6e0fa420,\n\t0x36074: 0x6e0fa620, 0x36075: 0x6e0fa820, 0x36076: 0x6e0faa20, 0x36077: 0x6e0fac20,\n\t0x36078: 0x6e0fae20, 0x36079: 0x6e0fb020, 0x3607a: 0x6e1e7a20, 0x3607b: 0x6e1e7c20,\n\t0x3607c: 0x6e29de20, 0x3607d: 0x6e1e7e20, 0x3607e: 0x6e1e8020, 0x3607f: 0x6e1e8220,\n\t// Block 0xd82, offset 0x36080\n\t0x36080: 0x6e1e8420, 0x36081: 0x6e1e8620, 0x36082: 0x6e1e8820, 0x36083: 0x6e1e8a20,\n\t0x36084: 0x6e1e8c20, 0x36085: 0x6e1e8e20, 0x36086: 0x6e1e9020, 0x36087: 0x6e1e9220,\n\t0x36088: 0x6e29e020, 0x36089: 0x6e29e220, 0x3608a: 0x6e29e420, 0x3608b: 0x6e29e620,\n\t0x3608c: 0x6e29e820, 0x3608d: 0x6e29ea20, 0x3608e: 0x6e29ec20, 0x3608f: 0x6e2b4a20,\n\t0x36090: 0x6e29ee20, 0x36091: 0x6e29f020, 0x36092: 0x6e29f220, 0x36093: 0x6e29f420,\n\t0x36094: 0x6e29f620, 0x36095: 0x6e29f820, 0x36096: 0x6e29fa20, 0x36097: 0x6e32c220,\n\t0x36098: 0x6e32c420, 0x36099: 0x6e32c620, 0x3609a: 0x6e32c820, 0x3609b: 0x6e32ca20,\n\t0x3609c: 0x6e38f820, 0x3609d: 0x6e38fa20, 0x3609e: 0x6e38fc20, 0x3609f: 0x6e33dc20,\n\t0x360a0: 0x6e38fe20, 0x360a1: 0x6e390020, 0x360a2: 0x6e390220, 0x360a3: 0x6e390420,\n\t0x360a4: 0x6e3d6820, 0x360a5: 0x6e3d6a20, 0x360a6: 0x6e406c20, 0x360a7: 0x6e406e20,\n\t0x360a8: 0x6e407020, 0x360a9: 0x6e407220, 0x360aa: 0x6e42b820, 0x360ab: 0x6e443620,\n\t0x360ac: 0x6e42ba20, 0x360ad: 0x6e452420, 0x360ae: 0x6e468420, 0x360af: 0x6c04da20,\n\t0x360b0: 0x6c04dc20, 0x360b1: 0x6c09d020, 0x360b2: 0x6c23d020, 0x360b3: 0x6c23d220,\n\t0x360b4: 0x6c23d420, 0x360b5: 0x6c23d620, 0x360b6: 0x6c3a2c20, 0x360b7: 0x6c3a2e20,\n\t0x360b8: 0x6c3a3020, 0x360b9: 0x6c3a3220, 0x360ba: 0x6c3a3420, 0x360bb: 0x6c3a3620,\n\t0x360bc: 0x6c3a3820, 0x360bd: 0x6c55f420, 0x360be: 0x6c55f620, 0x360bf: 0x6c55f820,\n\t// Block 0xd83, offset 0x360c0\n\t0x360c0: 0x6c55fa20, 0x360c1: 0x6c55fc20, 0x360c2: 0x6c55fe20, 0x360c3: 0x6c560020,\n\t0x360c4: 0x6c560220, 0x360c5: 0x6c560420, 0x360c6: 0x6c560620, 0x360c7: 0x6c560820,\n\t0x360c8: 0x6c560a20, 0x360c9: 0x6c560c20, 0x360ca: 0x6c560e20, 0x360cb: 0x6c561020,\n\t0x360cc: 0x6c78cc20, 0x360cd: 0x6c78ce20, 0x360ce: 0x6c78d020, 0x360cf: 0x6c78d220,\n\t0x360d0: 0x6ca1d020, 0x360d1: 0x6ca1d220, 0x360d2: 0x6ca1d420, 0x360d3: 0x6ca1d620,\n\t0x360d4: 0x6ccf0c20, 0x360d5: 0x6ccf0e20, 0x360d6: 0x6ccf1020, 0x360d7: 0x6cbc6220,\n\t0x360d8: 0x6ccf1220, 0x360d9: 0x6ccf1420, 0x360da: 0x6ccf1620, 0x360db: 0x6ccf1820,\n\t0x360dc: 0x6cfd2e20, 0x360dd: 0x6cfd3020, 0x360de: 0x6cfd3220, 0x360df: 0x6cfd3420,\n\t0x360e0: 0x6cfd3620, 0x360e1: 0x6cfd3820, 0x360e2: 0x6d2bde20, 0x360e3: 0x6d2be020,\n\t0x360e4: 0x6d2be220, 0x360e5: 0x6d2be420, 0x360e6: 0x6d2be620, 0x360e7: 0x6d590620,\n\t0x360e8: 0x6d590820, 0x360e9: 0x6d590a20, 0x360ea: 0x6d590c20, 0x360eb: 0x6d590e20,\n\t0x360ec: 0x6d591020, 0x360ed: 0x6d591220, 0x360ee: 0x6d842a20, 0x360ef: 0x6d842c20,\n\t0x360f0: 0x6d842e20, 0x360f1: 0x6d843020, 0x360f2: 0x6da91c20, 0x360f3: 0x6da91e20,\n\t0x360f4: 0x6da92020, 0x360f5: 0x6da92220, 0x360f6: 0x6da92420, 0x360f7: 0x6da92620,\n\t0x360f8: 0x6da92820, 0x360f9: 0x6dca3a20, 0x360fa: 0x6de5d420, 0x360fb: 0x6dca3c20,\n\t0x360fc: 0x6da92a20, 0x360fd: 0x6dca3e20, 0x360fe: 0x6dca4020, 0x360ff: 0x6de5d620,\n\t// Block 0xd84, offset 0x36100\n\t0x36100: 0x6de5d820, 0x36101: 0x6de9a820, 0x36102: 0x6dfcca20, 0x36103: 0x6dfccc20,\n\t0x36104: 0x6dfcce20, 0x36105: 0x6dfcd020, 0x36106: 0x6dfcd220, 0x36107: 0x6e0fb420,\n\t0x36108: 0x6e29fe20, 0x36109: 0x6e2a0020, 0x3610a: 0x6e2a0220, 0x3610b: 0x6e32ce20,\n\t0x3610c: 0x6e390a20, 0x3610d: 0x6e390c20, 0x3610e: 0x6c23da20, 0x3610f: 0x6c23dc20,\n\t0x36110: 0x6c3a3c20, 0x36111: 0x6c3a3e20, 0x36112: 0x6c561620, 0x36113: 0x6c78d820,\n\t0x36114: 0x6c78da20, 0x36115: 0x6ca1dc20, 0x36116: 0x6ccf2220, 0x36117: 0x6ccf2420,\n\t0x36118: 0x6cfd4220, 0x36119: 0x6d2be820, 0x3611a: 0x6d2bea20, 0x3611b: 0x6d843220,\n\t0x3611c: 0x6c09d220, 0x3611d: 0x6c3a4220, 0x3611e: 0x6c561a20, 0x3611f: 0x6c561c20,\n\t0x36120: 0x6c78de20, 0x36121: 0x6c78e020, 0x36122: 0x6ca1e220, 0x36123: 0x6ccf2620,\n\t0x36124: 0x6cfd4420, 0x36125: 0x6cfd4620, 0x36126: 0x6d591820, 0x36127: 0x6d591a20,\n\t0x36128: 0x6d591c20, 0x36129: 0x6d843420, 0x3612a: 0x6c04e620, 0x3612b: 0x6c09d420,\n\t0x3612c: 0x6c09d620, 0x3612d: 0x6c137c20, 0x3612e: 0x6c23de20, 0x3612f: 0x6c3a4820,\n\t0x36130: 0x6c3a4a20, 0x36131: 0x6c3a4c20, 0x36132: 0x6c562220, 0x36133: 0x6c562420,\n\t0x36134: 0x6c562620, 0x36135: 0x6c562820, 0x36136: 0x6c78e420, 0x36137: 0x6c78e620,\n\t0x36138: 0x6c78e820, 0x36139: 0x6c78ea20, 0x3613a: 0x6c78ec20, 0x3613b: 0x6ca1e420,\n\t0x3613c: 0x6ca1e620, 0x3613d: 0x6ca1e820, 0x3613e: 0x6ca1ea20, 0x3613f: 0x6ca1ec20,\n\t// Block 0xd85, offset 0x36140\n\t0x36140: 0x6ca1ee20, 0x36141: 0x6ca1f020, 0x36142: 0x6ca1f220, 0x36143: 0x6ca1f420,\n\t0x36144: 0x6ccf2a20, 0x36145: 0x6ccf2c20, 0x36146: 0x6ccf2e20, 0x36147: 0x6ccf3020,\n\t0x36148: 0x6ccf3220, 0x36149: 0x6ccf3420, 0x3614a: 0x6ccf3620, 0x3614b: 0x6ccf3820,\n\t0x3614c: 0x6cfd4a20, 0x3614d: 0x6cfd4c20, 0x3614e: 0x6cfd4e20, 0x3614f: 0x6d2bf220,\n\t0x36150: 0x6d2bf420, 0x36151: 0x6d2bf620, 0x36152: 0x6d2bf820, 0x36153: 0x6d592020,\n\t0x36154: 0x6d592220, 0x36155: 0x6d592420, 0x36156: 0x6d843620, 0x36157: 0x6d843820,\n\t0x36158: 0x6d843a20, 0x36159: 0x6d843c20, 0x3615a: 0x6d843e20, 0x3615b: 0x6d844020,\n\t0x3615c: 0x6da93420, 0x3615d: 0x6da93620, 0x3615e: 0x6da93820, 0x3615f: 0x6da93a20,\n\t0x36160: 0x6de5de20, 0x36161: 0x6de5e020, 0x36162: 0x6dfcd420, 0x36163: 0x6e1e9820,\n\t0x36164: 0x6e2a0420, 0x36165: 0x6e407620, 0x36166: 0x6e42bc20, 0x36167: 0x6e42be20,\n\t0x36168: 0x6c09d820, 0x36169: 0x6c23e020, 0x3616a: 0x6c23e220, 0x3616b: 0x6c23e420,\n\t0x3616c: 0x6c3a5420, 0x3616d: 0x6c3a5620, 0x3616e: 0x6c3a5820, 0x3616f: 0x6c3a5a20,\n\t0x36170: 0x6c3a5c20, 0x36171: 0x6c562e20, 0x36172: 0x6c563020, 0x36173: 0x6c563220,\n\t0x36174: 0x6c563420, 0x36175: 0x6c563620, 0x36176: 0x6c563820, 0x36177: 0x6c563a20,\n\t0x36178: 0x6c563c20, 0x36179: 0x6c563e20, 0x3617a: 0x6c78f420, 0x3617b: 0x6c78f620,\n\t0x3617c: 0x6c78f820, 0x3617d: 0x6c78fa20, 0x3617e: 0x6c78fc20, 0x3617f: 0x6c78fe20,\n\t// Block 0xd86, offset 0x36180\n\t0x36180: 0x6ca1f820, 0x36181: 0x6ca1fa20, 0x36182: 0x6ca1fc20, 0x36183: 0x6ca1fe20,\n\t0x36184: 0x6ca20020, 0x36185: 0x6ca20220, 0x36186: 0x6ca20420, 0x36187: 0x6ccf4220,\n\t0x36188: 0x6ccf4420, 0x36189: 0x6ccf4620, 0x3618a: 0x6ccf4820, 0x3618b: 0x6ccf4a20,\n\t0x3618c: 0x6ccf4c20, 0x3618d: 0x6ccf4e20, 0x3618e: 0x6ccf5020, 0x3618f: 0x6ccf5220,\n\t0x36190: 0x6ccf5420, 0x36191: 0x6ccf5620, 0x36192: 0x6ccf5820, 0x36193: 0x6ccf5a20,\n\t0x36194: 0x6ccf5c20, 0x36195: 0x6ccf5e20, 0x36196: 0x6ccf6020, 0x36197: 0x6ccf6220,\n\t0x36198: 0x6cfd5a20, 0x36199: 0x6cfd5c20, 0x3619a: 0x6cfd5e20, 0x3619b: 0x6cfd6020,\n\t0x3619c: 0x6cfd6220, 0x3619d: 0x6cfd6420, 0x3619e: 0x6cfd6620, 0x3619f: 0x6cfd6820,\n\t0x361a0: 0x6cfd6a20, 0x361a1: 0x6cfd6c20, 0x361a2: 0x6d2c0020, 0x361a3: 0x6d2c0220,\n\t0x361a4: 0x6d2c0420, 0x361a5: 0x6d2c0620, 0x361a6: 0x6d2c0820, 0x361a7: 0x6d2c0a20,\n\t0x361a8: 0x6d592e20, 0x361a9: 0x6d593020, 0x361aa: 0x6d593220, 0x361ab: 0x6d593420,\n\t0x361ac: 0x6d593620, 0x361ad: 0x6d593820, 0x361ae: 0x6d593a20, 0x361af: 0x6d593c20,\n\t0x361b0: 0x6d593e20, 0x361b1: 0x6d594020, 0x361b2: 0x6d594220, 0x361b3: 0x6d844220,\n\t0x361b4: 0x6d844420, 0x361b5: 0x6d844620, 0x361b6: 0x6d844820, 0x361b7: 0x6d844a20,\n\t0x361b8: 0x6d844c20, 0x361b9: 0x6d844e20, 0x361ba: 0x6da93e20, 0x361bb: 0x6da94020,\n\t0x361bc: 0x6da94220, 0x361bd: 0x6da94420, 0x361be: 0x6da94620, 0x361bf: 0x6dca4620,\n\t// Block 0xd87, offset 0x361c0\n\t0x361c0: 0x6dca4820, 0x361c1: 0x6dca4a20, 0x361c2: 0x6dca4c20, 0x361c3: 0x6dfcd620,\n\t0x361c4: 0x6e0fb820, 0x361c5: 0x6c23e620, 0x361c6: 0x6c3a5e20, 0x361c7: 0x6c564020,\n\t0x361c8: 0x6c790420, 0x361c9: 0x6c790620, 0x361ca: 0x6ca20a20, 0x361cb: 0x6ca20c20,\n\t0x361cc: 0x6ccf6820, 0x361cd: 0x6ccf6a20, 0x361ce: 0x6ccf6c20, 0x361cf: 0x6ccf6e20,\n\t0x361d0: 0x6cfd6e20, 0x361d1: 0x6d2c0c20, 0x361d2: 0x6d594420, 0x361d3: 0x6dca4e20,\n\t0x361d4: 0x6c09da20, 0x361d5: 0x6c138620, 0x361d6: 0x6c138820, 0x361d7: 0x6c138a20,\n\t0x361d8: 0x6c23f620, 0x361d9: 0x6c23f820, 0x361da: 0x6c23fa20, 0x361db: 0x6c23fc20,\n\t0x361dc: 0x6c3a7c20, 0x361dd: 0x6c3a7e20, 0x361de: 0x6c3a8020, 0x361df: 0x6c3a8220,\n\t0x361e0: 0x6c3a8420, 0x361e1: 0x6c3a8620, 0x361e2: 0x6c3a8820, 0x361e3: 0x6c3a8a20,\n\t0x361e4: 0x6c3a8c20, 0x361e5: 0x6c3a8e20, 0x361e6: 0x6c3a9020, 0x361e7: 0x6c3a9220,\n\t0x361e8: 0x6c3a9420, 0x361e9: 0x6c3a9620, 0x361ea: 0x6c3a9820, 0x361eb: 0x6c3a9a20,\n\t0x361ec: 0x6c3a9c20, 0x361ed: 0x6c3a9e20, 0x361ee: 0x6c3aa020, 0x361ef: 0x6c3aa220,\n\t0x361f0: 0x6c3aa420, 0x361f1: 0x6c3aa620, 0x361f2: 0x6c3aa820, 0x361f3: 0x6c3aaa20,\n\t0x361f4: 0x6c3aac20, 0x361f5: 0x6c3aae20, 0x361f6: 0x6c3ab020, 0x361f7: 0x6c3ab220,\n\t0x361f8: 0x6c565e20, 0x361f9: 0x6c566020, 0x361fa: 0x6c566220, 0x361fb: 0x6c566420,\n\t0x361fc: 0x6c566620, 0x361fd: 0x6c566820, 0x361fe: 0x6c566a20, 0x361ff: 0x6c566c20,\n\t// Block 0xd88, offset 0x36200\n\t0x36200: 0x6c566e20, 0x36201: 0x6c567020, 0x36202: 0x6c567220, 0x36203: 0x6c567420,\n\t0x36204: 0x6c567620, 0x36205: 0x6c567820, 0x36206: 0x6c567a20, 0x36207: 0x6c567c20,\n\t0x36208: 0x6c567e20, 0x36209: 0x6c568020, 0x3620a: 0x6c568220, 0x3620b: 0x6c568420,\n\t0x3620c: 0x6c568620, 0x3620d: 0x6c568820, 0x3620e: 0x6c568a20, 0x3620f: 0x6c568c20,\n\t0x36210: 0x6c568e20, 0x36211: 0x6c791a20, 0x36212: 0x6c791c20, 0x36213: 0x6c791e20,\n\t0x36214: 0x6c792020, 0x36215: 0x6c792220, 0x36216: 0x6c792420, 0x36217: 0x6c792620,\n\t0x36218: 0x6c792820, 0x36219: 0x6c792a20, 0x3621a: 0x6c792c20, 0x3621b: 0x6ca22a20,\n\t0x3621c: 0x6ca22c20, 0x3621d: 0x6ca22e20, 0x3621e: 0x6ca23020, 0x3621f: 0x6ca23220,\n\t0x36220: 0x6ca23420, 0x36221: 0x6ca23620, 0x36222: 0x6ca23820, 0x36223: 0x6ca23a20,\n\t0x36224: 0x6ca23c20, 0x36225: 0x6ca23e20, 0x36226: 0x6ca24020, 0x36227: 0x6ca24220,\n\t0x36228: 0x6ca24420, 0x36229: 0x6ca24620, 0x3622a: 0x6ca24820, 0x3622b: 0x6ca24a20,\n\t0x3622c: 0x6ca24c20, 0x3622d: 0x6ca24e20, 0x3622e: 0x6ca25020, 0x3622f: 0x6ccf8e20,\n\t0x36230: 0x6ccf9020, 0x36231: 0x6ccf9220, 0x36232: 0x6ccf9420, 0x36233: 0x6ccf9620,\n\t0x36234: 0x6ccf9820, 0x36235: 0x6ccf9a20, 0x36236: 0x6ccf9c20, 0x36237: 0x6ccf9e20,\n\t0x36238: 0x6ccfa020, 0x36239: 0x6ccfa220, 0x3623a: 0x6ccfa420, 0x3623b: 0x6ccfa620,\n\t0x3623c: 0x6ccfa820, 0x3623d: 0x6ccfaa20, 0x3623e: 0x6ccfac20, 0x3623f: 0x6ccfae20,\n\t// Block 0xd89, offset 0x36240\n\t0x36240: 0x6ccfb020, 0x36241: 0x6ccfb220, 0x36242: 0x6ccfb420, 0x36243: 0x6ccfb620,\n\t0x36244: 0x6ccfb820, 0x36245: 0x6ccfba20, 0x36246: 0x6ccfbc20, 0x36247: 0x6ccfbe20,\n\t0x36248: 0x6ccfc020, 0x36249: 0x6ccfc220, 0x3624a: 0x6ccfc420, 0x3624b: 0x6ccfc620,\n\t0x3624c: 0x6ccfc820, 0x3624d: 0x6cfd8420, 0x3624e: 0x6cfd8620, 0x3624f: 0x6cfd8820,\n\t0x36250: 0x6cfd8a20, 0x36251: 0x6cfd8c20, 0x36252: 0x6cfd8e20, 0x36253: 0x6cfd9020,\n\t0x36254: 0x6cfd9220, 0x36255: 0x6cfd9420, 0x36256: 0x6cfd9620, 0x36257: 0x6cfd9820,\n\t0x36258: 0x6cfd9a20, 0x36259: 0x6cfd9c20, 0x3625a: 0x6cfd9e20, 0x3625b: 0x6cfda020,\n\t0x3625c: 0x6cf91a20, 0x3625d: 0x6cfda220, 0x3625e: 0x6cfda420, 0x3625f: 0x6cfda620,\n\t0x36260: 0x6cfda820, 0x36261: 0x6cfdaa20, 0x36262: 0x6cfdac20, 0x36263: 0x6cfdae20,\n\t0x36264: 0x6cfdb020, 0x36265: 0x6cfdb220, 0x36266: 0x6cfdb420, 0x36267: 0x6cfdb620,\n\t0x36268: 0x6cfdb820, 0x36269: 0x6d2c2220, 0x3626a: 0x6d2c2420, 0x3626b: 0x6d2c2620,\n\t0x3626c: 0x6d2c2820, 0x3626d: 0x6d2c2a20, 0x3626e: 0x6d2c2c20, 0x3626f: 0x6d2c2e20,\n\t0x36270: 0x6d2c3020, 0x36271: 0x6d2c3220, 0x36272: 0x6d2c3420, 0x36273: 0x6d2c3620,\n\t0x36274: 0x6d2c3820, 0x36275: 0x6d2c3a20, 0x36276: 0x6d2c3c20, 0x36277: 0x6d2c3e20,\n\t0x36278: 0x6d2c4020, 0x36279: 0x6d2c4220, 0x3627a: 0x6d2c4420, 0x3627b: 0x6d2c4620,\n\t0x3627c: 0x6d2c4820, 0x3627d: 0x6d2c4a20, 0x3627e: 0x6d2c4c20, 0x3627f: 0x6cfdba20,\n\t// Block 0xd8a, offset 0x36280\n\t0x36280: 0x6d2c4e20, 0x36281: 0x6d2c5020, 0x36282: 0x6d2c5220, 0x36283: 0x6d2c5420,\n\t0x36284: 0x6d2c5620, 0x36285: 0x6d2c5820, 0x36286: 0x6d2c5a20, 0x36287: 0x6d2c5c20,\n\t0x36288: 0x6d2c5e20, 0x36289: 0x6d2c6020, 0x3628a: 0x6d595820, 0x3628b: 0x6d595a20,\n\t0x3628c: 0x6d595c20, 0x3628d: 0x6d595e20, 0x3628e: 0x6d596020, 0x3628f: 0x6d596220,\n\t0x36290: 0x6d596420, 0x36291: 0x6d596620, 0x36292: 0x6d596820, 0x36293: 0x6d596a20,\n\t0x36294: 0x6d596c20, 0x36295: 0x6d596e20, 0x36296: 0x6d597020, 0x36297: 0x6d55d820,\n\t0x36298: 0x6d597220, 0x36299: 0x6d597420, 0x3629a: 0x6d597620, 0x3629b: 0x6d597820,\n\t0x3629c: 0x6d597a20, 0x3629d: 0x6d597c20, 0x3629e: 0x6d597e20, 0x3629f: 0x6d598020,\n\t0x362a0: 0x6d598220, 0x362a1: 0x6d846020, 0x362a2: 0x6d846220, 0x362a3: 0x6d846420,\n\t0x362a4: 0x6d846620, 0x362a5: 0x6d846820, 0x362a6: 0x6d846a20, 0x362a7: 0x6d846c20,\n\t0x362a8: 0x6d846e20, 0x362a9: 0x6d847020, 0x362aa: 0x6d847220, 0x362ab: 0x6d847420,\n\t0x362ac: 0x6d847620, 0x362ad: 0x6d847820, 0x362ae: 0x6d847a20, 0x362af: 0x6da95020,\n\t0x362b0: 0x6da95220, 0x362b1: 0x6da95420, 0x362b2: 0x6da95620, 0x362b3: 0x6da95820,\n\t0x362b4: 0x6da95a20, 0x362b5: 0x6da95c20, 0x362b6: 0x6da95e20, 0x362b7: 0x6da96020,\n\t0x362b8: 0x6da96220, 0x362b9: 0x6dca5420, 0x362ba: 0x6dca5620, 0x362bb: 0x6de5f220,\n\t0x362bc: 0x6de5f420, 0x362bd: 0x6de5f620, 0x362be: 0x6de5f820, 0x362bf: 0x6de5fa20,\n\t// Block 0xd8b, offset 0x362c0\n\t0x362c0: 0x6de5fc20, 0x362c1: 0x6de5fe20, 0x362c2: 0x6dfcdc20, 0x362c3: 0x6dfcde20,\n\t0x362c4: 0x6dfce020, 0x362c5: 0x6dfce220, 0x362c6: 0x6dfce420, 0x362c7: 0x6e0fbc20,\n\t0x362c8: 0x6e0fbe20, 0x362c9: 0x6e0fc020, 0x362ca: 0x6e0fc220, 0x362cb: 0x6e0fc420,\n\t0x362cc: 0x6e1e9e20, 0x362cd: 0x6e1ea020, 0x362ce: 0x6e1ea220, 0x362cf: 0x6e1ea420,\n\t0x362d0: 0x6e1ea620, 0x362d1: 0x6e2a0620, 0x362d2: 0x6e2a0820, 0x362d3: 0x6e2a0a20,\n\t0x362d4: 0x6e32d020, 0x362d5: 0x6e32d220, 0x362d6: 0x6e391020, 0x362d7: 0x6e391220,\n\t0x362d8: 0x6e391420, 0x362d9: 0x6e42c020, 0x362da: 0x6c04f820, 0x362db: 0x6c09e220,\n\t0x362dc: 0x6c09e420, 0x362dd: 0x6c09e620, 0x362de: 0x6c09e820, 0x362df: 0x6c09ea20,\n\t0x362e0: 0x6c09ec20, 0x362e1: 0x6c139a20, 0x362e2: 0x6c139c20, 0x362e3: 0x6c139e20,\n\t0x362e4: 0x6c13a020, 0x362e5: 0x6c13a220, 0x362e6: 0x6c13a420, 0x362e7: 0x6c13a620,\n\t0x362e8: 0x6c13a820, 0x362e9: 0x6c13aa20, 0x362ea: 0x6c13ac20, 0x362eb: 0x6c13ae20,\n\t0x362ec: 0x6c13b020, 0x362ed: 0x6c13b220, 0x362ee: 0x6c13b420, 0x362ef: 0x6c242820,\n\t0x362f0: 0x6c242a20, 0x362f1: 0x6c242c20, 0x362f2: 0x6c242e20, 0x362f3: 0x6c243020,\n\t0x362f4: 0x6c243220, 0x362f5: 0x6c243420, 0x362f6: 0x6c243620, 0x362f7: 0x6c243820,\n\t0x362f8: 0x6c243a20, 0x362f9: 0x6c243c20, 0x362fa: 0x6c243e20, 0x362fb: 0x6c244020,\n\t0x362fc: 0x6c244220, 0x362fd: 0x6c244420, 0x362fe: 0x6c244620, 0x362ff: 0x6c244820,\n\t// Block 0xd8c, offset 0x36300\n\t0x36300: 0x6c244a20, 0x36301: 0x6c244c20, 0x36302: 0x6c244e20, 0x36303: 0x6c245020,\n\t0x36304: 0x6c245220, 0x36305: 0x6c245420, 0x36306: 0x6c245620, 0x36307: 0x6c245820,\n\t0x36308: 0x6c245a20, 0x36309: 0x6c245c20, 0x3630a: 0x6c245e20, 0x3630b: 0x6c246020,\n\t0x3630c: 0x6c246220, 0x3630d: 0x6c246420, 0x3630e: 0x6c246620, 0x3630f: 0x6c3af620,\n\t0x36310: 0x6c3af820, 0x36311: 0x6c3afa20, 0x36312: 0x6c3afc20, 0x36313: 0x6c3afe20,\n\t0x36314: 0x6c3b0020, 0x36315: 0x6c3b0220, 0x36316: 0x6c3b0420, 0x36317: 0x6c3b0620,\n\t0x36318: 0x6c3b0820, 0x36319: 0x6c3b0a20, 0x3631a: 0x6c3b0c20, 0x3631b: 0x6c3b0e20,\n\t0x3631c: 0x6c3b1020, 0x3631d: 0x6c3b1220, 0x3631e: 0x6c3b1420, 0x3631f: 0x6c3b1620,\n\t0x36320: 0x6c3b1820, 0x36321: 0x6c3b1a20, 0x36322: 0x6c3b1c20, 0x36323: 0x6c3b1e20,\n\t0x36324: 0x6c3b2020, 0x36325: 0x6c3b2220, 0x36326: 0x6c3b2420, 0x36327: 0x6c3b2620,\n\t0x36328: 0x6c3b2820, 0x36329: 0x6c3b2a20, 0x3632a: 0x6c3b2c20, 0x3632b: 0x6c3b2e20,\n\t0x3632c: 0x6c3b3020, 0x3632d: 0x6c3b3220, 0x3632e: 0x6c246820, 0x3632f: 0x6c56cc20,\n\t0x36330: 0x6c56ce20, 0x36331: 0x6c56d020, 0x36332: 0x6c56d220, 0x36333: 0x6c56d420,\n\t0x36334: 0x6c56d620, 0x36335: 0x6c56d820, 0x36336: 0x6c56da20, 0x36337: 0x6c56dc20,\n\t0x36338: 0x6c56de20, 0x36339: 0x6c56e020, 0x3633a: 0x6c56e220, 0x3633b: 0x6c56e420,\n\t0x3633c: 0x6c56e620, 0x3633d: 0x6c56e820, 0x3633e: 0x6c56ea20, 0x3633f: 0x6c56ec20,\n\t// Block 0xd8d, offset 0x36340\n\t0x36340: 0x6c56ee20, 0x36341: 0x6c56f020, 0x36342: 0x6c56f220, 0x36343: 0x6c56f420,\n\t0x36344: 0x6c56f620, 0x36345: 0x6c56f820, 0x36346: 0x6c56fa20, 0x36347: 0x6c56fc20,\n\t0x36348: 0x6c56fe20, 0x36349: 0x6c570020, 0x3634a: 0x6c570220, 0x3634b: 0x6c570420,\n\t0x3634c: 0x6c570620, 0x3634d: 0x6c570820, 0x3634e: 0x6c570a20, 0x3634f: 0x6c570c20,\n\t0x36350: 0x6c570e20, 0x36351: 0x6c571020, 0x36352: 0x6c571220, 0x36353: 0x6c571420,\n\t0x36354: 0x6c571620, 0x36355: 0x6c571820, 0x36356: 0x6c571a20, 0x36357: 0x6c571c20,\n\t0x36358: 0x6c571e20, 0x36359: 0x6c796420, 0x3635a: 0x6c796620, 0x3635b: 0x6c796820,\n\t0x3635c: 0x6c796a20, 0x3635d: 0x6c796c20, 0x3635e: 0x6c796e20, 0x3635f: 0x6c797020,\n\t0x36360: 0x6c797220, 0x36361: 0x6c797420, 0x36362: 0x6c797620, 0x36363: 0x6c572020,\n\t0x36364: 0x6c797820, 0x36365: 0x6c797a20, 0x36366: 0x6c797c20, 0x36367: 0x6c797e20,\n\t0x36368: 0x6c798020, 0x36369: 0x6c798220, 0x3636a: 0x6c798420, 0x3636b: 0x6c798620,\n\t0x3636c: 0x6c798820, 0x3636d: 0x6c798a20, 0x3636e: 0x6c798c20, 0x3636f: 0x6c798e20,\n\t0x36370: 0x6c799020, 0x36371: 0x6c799220, 0x36372: 0x6c799420, 0x36373: 0x6c799620,\n\t0x36374: 0x6c799820, 0x36375: 0x6c799a20, 0x36376: 0x6c799c20, 0x36377: 0x6c799e20,\n\t0x36378: 0x6c79a020, 0x36379: 0x6c79a220, 0x3637a: 0x6c79a420, 0x3637b: 0x6c79a620,\n\t0x3637c: 0x6c79a820, 0x3637d: 0x6c79aa20, 0x3637e: 0x6c79ac20, 0x3637f: 0x6c79ae20,\n\t// Block 0xd8e, offset 0x36380\n\t0x36380: 0x6c79b020, 0x36381: 0x6c79b220, 0x36382: 0x6c79b420, 0x36383: 0x6ca29a20,\n\t0x36384: 0x6ca29c20, 0x36385: 0x6ca29e20, 0x36386: 0x6ca2a020, 0x36387: 0x6ca2a220,\n\t0x36388: 0x6ca2a420, 0x36389: 0x6ca2a620, 0x3638a: 0x6ca2a820, 0x3638b: 0x6ca2aa20,\n\t0x3638c: 0x6ca2ac20, 0x3638d: 0x6ca2ae20, 0x3638e: 0x6ca2b020, 0x3638f: 0x6ca2b220,\n\t0x36390: 0x6ca2b420, 0x36391: 0x6ca2b620, 0x36392: 0x6ca2b820, 0x36393: 0x6ca2ba20,\n\t0x36394: 0x6ca2bc20, 0x36395: 0x6ca2be20, 0x36396: 0x6ca2c020, 0x36397: 0x6ca2c220,\n\t0x36398: 0x6ca2c420, 0x36399: 0x6ca2c620, 0x3639a: 0x6ca2c820, 0x3639b: 0x6ca2ca20,\n\t0x3639c: 0x6cd00c20, 0x3639d: 0x6cd00e20, 0x3639e: 0x6cd01020, 0x3639f: 0x6cd01220,\n\t0x363a0: 0x6cd01420, 0x363a1: 0x6cd01620, 0x363a2: 0x6cd01820, 0x363a3: 0x6cd01a20,\n\t0x363a4: 0x6cd01c20, 0x363a5: 0x6cd01e20, 0x363a6: 0x6cd02020, 0x363a7: 0x6cd02220,\n\t0x363a8: 0x6cd02420, 0x363a9: 0x6cd02620, 0x363aa: 0x6cd02820, 0x363ab: 0x6cd02a20,\n\t0x363ac: 0x6cd02c20, 0x363ad: 0x6cd02e20, 0x363ae: 0x6cd03020, 0x363af: 0x6cd03220,\n\t0x363b0: 0x6cd03420, 0x363b1: 0x6cd03620, 0x363b2: 0x6cd03820, 0x363b3: 0x6cd03a20,\n\t0x363b4: 0x6cd03c20, 0x363b5: 0x6cf3a620, 0x363b6: 0x6cd03e20, 0x363b7: 0x6cd04020,\n\t0x363b8: 0x6cd04220, 0x363b9: 0x6cd04420, 0x363ba: 0x6cd04620, 0x363bb: 0x6cd04820,\n\t0x363bc: 0x6cd04a20, 0x363bd: 0x6cd04c20, 0x363be: 0x6cd04e20, 0x363bf: 0x6cd05020,\n\t// Block 0xd8f, offset 0x363c0\n\t0x363c0: 0x6cd05220, 0x363c1: 0x6cd05420, 0x363c2: 0x6cd05620, 0x363c3: 0x6cd05820,\n\t0x363c4: 0x6cd05a20, 0x363c5: 0x6cd05c20, 0x363c6: 0x6cd05e20, 0x363c7: 0x6cd06020,\n\t0x363c8: 0x6cd06220, 0x363c9: 0x6cd06420, 0x363ca: 0x6cd06620, 0x363cb: 0x6cd06820,\n\t0x363cc: 0x6cd06a20, 0x363cd: 0x6cfdee20, 0x363ce: 0x6cfdf020, 0x363cf: 0x6cfdf220,\n\t0x363d0: 0x6cfdf420, 0x363d1: 0x6cfdf620, 0x363d2: 0x6cfdf820, 0x363d3: 0x6cfdfa20,\n\t0x363d4: 0x6cfdfc20, 0x363d5: 0x6cfdfe20, 0x363d6: 0x6cfe0020, 0x363d7: 0x6cfe0220,\n\t0x363d8: 0x6cfe0420, 0x363d9: 0x6cfe0620, 0x363da: 0x6cfe0820, 0x363db: 0x6cfe0a20,\n\t0x363dc: 0x6cfe0c20, 0x363dd: 0x6cfe0e20, 0x363de: 0x6cfe1020, 0x363df: 0x6cfe1220,\n\t0x363e0: 0x6cfe1420, 0x363e1: 0x6cfe1620, 0x363e2: 0x6cfe1820, 0x363e3: 0x6cfe1a20,\n\t0x363e4: 0x6cfe1c20, 0x363e5: 0x6cfe1e20, 0x363e6: 0x6cfe2020, 0x363e7: 0x6cfe2220,\n\t0x363e8: 0x6cfe2420, 0x363e9: 0x6cfe2620, 0x363ea: 0x6cfe2820, 0x363eb: 0x6cfe2a20,\n\t0x363ec: 0x6cfe2c20, 0x363ed: 0x6cfe2e20, 0x363ee: 0x6cfe3020, 0x363ef: 0x6cfe3220,\n\t0x363f0: 0x6cfe3420, 0x363f1: 0x6cfe3620, 0x363f2: 0x6cfe3820, 0x363f3: 0x6cfe3a20,\n\t0x363f4: 0x6cfe3c20, 0x363f5: 0x6cfe3e20, 0x363f6: 0x6cfe4020, 0x363f7: 0x6cfe4220,\n\t0x363f8: 0x6cfe4420, 0x363f9: 0x6d2c8a20, 0x363fa: 0x6d2c8c20, 0x363fb: 0x6d2c8e20,\n\t0x363fc: 0x6d2c9020, 0x363fd: 0x6d2c9220, 0x363fe: 0x6d2c9420, 0x363ff: 0x6d2c9620,\n\t// Block 0xd90, offset 0x36400\n\t0x36400: 0x6d2c9820, 0x36401: 0x6d2c9a20, 0x36402: 0x6d2c9c20, 0x36403: 0x6d2c9e20,\n\t0x36404: 0x6d2ca020, 0x36405: 0x6d2ca220, 0x36406: 0x6d2ca420, 0x36407: 0x6d2ca620,\n\t0x36408: 0x6d2ca820, 0x36409: 0x6d2caa20, 0x3640a: 0x6d2cac20, 0x3640b: 0x6d2cae20,\n\t0x3640c: 0x6d2cb020, 0x3640d: 0x6d2cb220, 0x3640e: 0x6d2cb420, 0x3640f: 0x6d2cb620,\n\t0x36410: 0x6d2cb820, 0x36411: 0x6d2cba20, 0x36412: 0x6d2cbc20, 0x36413: 0x6d2cbe20,\n\t0x36414: 0x6d2cc020, 0x36415: 0x6d2cc220, 0x36416: 0x6d2cc420, 0x36417: 0x6d2cc620,\n\t0x36418: 0x6d2cc820, 0x36419: 0x6d2cca20, 0x3641a: 0x6d2ccc20, 0x3641b: 0x6d2cce20,\n\t0x3641c: 0x6d2cd020, 0x3641d: 0x6d2cd220, 0x3641e: 0x6d2cd420, 0x3641f: 0x6d2cd620,\n\t0x36420: 0x6d2cd820, 0x36421: 0x6d2cda20, 0x36422: 0x6d2cdc20, 0x36423: 0x6d59b220,\n\t0x36424: 0x6d59b420, 0x36425: 0x6d59b620, 0x36426: 0x6d59b820, 0x36427: 0x6d59ba20,\n\t0x36428: 0x6d59bc20, 0x36429: 0x6d59be20, 0x3642a: 0x6d59c020, 0x3642b: 0x6d59c220,\n\t0x3642c: 0x6d59c420, 0x3642d: 0x6d59c620, 0x3642e: 0x6d59c820, 0x3642f: 0x6d59ca20,\n\t0x36430: 0x6d59cc20, 0x36431: 0x6d59ce20, 0x36432: 0x6d59d020, 0x36433: 0x6d59d220,\n\t0x36434: 0x6d59d420, 0x36435: 0x6d59d620, 0x36436: 0x6d59d820, 0x36437: 0x6d59da20,\n\t0x36438: 0x6d59dc20, 0x36439: 0x6d59de20, 0x3643a: 0x6d59e020, 0x3643b: 0x6d59e220,\n\t0x3643c: 0x6d59e420, 0x3643d: 0x6d59e620, 0x3643e: 0x6d59e820, 0x3643f: 0x6d59ea20,\n\t// Block 0xd91, offset 0x36440\n\t0x36440: 0x6d59ec20, 0x36441: 0x6d59ee20, 0x36442: 0x6d59f020, 0x36443: 0x6d59f220,\n\t0x36444: 0x6d59f420, 0x36445: 0x6d59f620, 0x36446: 0x6d59f820, 0x36447: 0x6d59fa20,\n\t0x36448: 0x6d59fc20, 0x36449: 0x6d59fe20, 0x3644a: 0x6d5a0020, 0x3644b: 0x6d5a0220,\n\t0x3644c: 0x6d849820, 0x3644d: 0x6d849a20, 0x3644e: 0x6d849c20, 0x3644f: 0x6d849e20,\n\t0x36450: 0x6d84a020, 0x36451: 0x6d84a220, 0x36452: 0x6d84a420, 0x36453: 0x6d84a620,\n\t0x36454: 0x6d84a820, 0x36455: 0x6d84aa20, 0x36456: 0x6d84ac20, 0x36457: 0x6d84ae20,\n\t0x36458: 0x6d84b020, 0x36459: 0x6d84b220, 0x3645a: 0x6d84b420, 0x3645b: 0x6d84b620,\n\t0x3645c: 0x6d84b820, 0x3645d: 0x6d84ba20, 0x3645e: 0x6d84bc20, 0x3645f: 0x6d84be20,\n\t0x36460: 0x6d84c020, 0x36461: 0x6d84c220, 0x36462: 0x6d84c420, 0x36463: 0x6d84c620,\n\t0x36464: 0x6d84c820, 0x36465: 0x6d84ca20, 0x36466: 0x6da97820, 0x36467: 0x6da97a20,\n\t0x36468: 0x6da97c20, 0x36469: 0x6da97e20, 0x3646a: 0x6da98020, 0x3646b: 0x6da98220,\n\t0x3646c: 0x6da98420, 0x3646d: 0x6da98620, 0x3646e: 0x6da98820, 0x3646f: 0x6da98a20,\n\t0x36470: 0x6da98c20, 0x36471: 0x6da98e20, 0x36472: 0x6da99020, 0x36473: 0x6da99220,\n\t0x36474: 0x6dca6020, 0x36475: 0x6dca6220, 0x36476: 0x6dca6420, 0x36477: 0x6dca6620,\n\t0x36478: 0x6dca6820, 0x36479: 0x6dca6a20, 0x3647a: 0x6dca6c20, 0x3647b: 0x6dca6e20,\n\t0x3647c: 0x6dca7020, 0x3647d: 0x6dca7220, 0x3647e: 0x6dca7420, 0x3647f: 0x6dca7620,\n\t// Block 0xd92, offset 0x36480\n\t0x36480: 0x6dca7820, 0x36481: 0x6dca7a20, 0x36482: 0x6dca7c20, 0x36483: 0x6dca7e20,\n\t0x36484: 0x6dca8020, 0x36485: 0x6de60a20, 0x36486: 0x6de60c20, 0x36487: 0x6de60e20,\n\t0x36488: 0x6de61020, 0x36489: 0x6de61220, 0x3648a: 0x6de61420, 0x3648b: 0x6de61620,\n\t0x3648c: 0x6de61820, 0x3648d: 0x6dfcf420, 0x3648e: 0x6dfcf620, 0x3648f: 0x6dfcf820,\n\t0x36490: 0x6dfcfa20, 0x36491: 0x6e0fca20, 0x36492: 0x6e0fcc20, 0x36493: 0x6e0fce20,\n\t0x36494: 0x6e0fd020, 0x36495: 0x6e0fd220, 0x36496: 0x6e0fd420, 0x36497: 0x6e1eac20,\n\t0x36498: 0x6e1eae20, 0x36499: 0x6e1eb020, 0x3649a: 0x6e1eb220, 0x3649b: 0x6e2a1220,\n\t0x3649c: 0x6e2a1420, 0x3649d: 0x6e2a1620, 0x3649e: 0x6e2a1820, 0x3649f: 0x6e32d620,\n\t0x364a0: 0x6e32d820, 0x364a1: 0x6e32da20, 0x364a2: 0x6e32dc20, 0x364a3: 0x6e391620,\n\t0x364a4: 0x6e407a20, 0x364a5: 0x6c09f020, 0x364a6: 0x6c572820, 0x364a7: 0x6cd07420,\n\t0x364a8: 0x6d2ce020, 0x364a9: 0x6c04fc20, 0x364aa: 0x6c13c620, 0x364ab: 0x6c13c820,\n\t0x364ac: 0x6c13ca20, 0x364ad: 0x6c248820, 0x364ae: 0x6c248a20, 0x364af: 0x6c248c20,\n\t0x364b0: 0x6c248e20, 0x364b1: 0x6c249020, 0x364b2: 0x6c249220, 0x364b3: 0x6c249420,\n\t0x364b4: 0x6c249620, 0x364b5: 0x6c249820, 0x364b6: 0x6c249a20, 0x364b7: 0x6c249c20,\n\t0x364b8: 0x6c249e20, 0x364b9: 0x6c3b7020, 0x364ba: 0x6c3b7220, 0x364bb: 0x6c3b7420,\n\t0x364bc: 0x6c3b7620, 0x364bd: 0x6c3b7820, 0x364be: 0x6c3b7a20, 0x364bf: 0x6c3b7c20,\n\t// Block 0xd93, offset 0x364c0\n\t0x364c0: 0x6c3b7e20, 0x364c1: 0x6c3b8020, 0x364c2: 0x6c3b8220, 0x364c3: 0x6c3b8420,\n\t0x364c4: 0x6c3b8620, 0x364c5: 0x6c3b8820, 0x364c6: 0x6c3b8a20, 0x364c7: 0x6c3b8c20,\n\t0x364c8: 0x6c3b8e20, 0x364c9: 0x6c3b9020, 0x364ca: 0x6c3b9220, 0x364cb: 0x6c3b9420,\n\t0x364cc: 0x6c3b9620, 0x364cd: 0x6c3b9820, 0x364ce: 0x6c3b9a20, 0x364cf: 0x6c577620,\n\t0x364d0: 0x6c577820, 0x364d1: 0x6c577a20, 0x364d2: 0x6c577c20, 0x364d3: 0x6c577e20,\n\t0x364d4: 0x6c578020, 0x364d5: 0x6c578220, 0x364d6: 0x6c578420, 0x364d7: 0x6c578620,\n\t0x364d8: 0x6c578820, 0x364d9: 0x6c578a20, 0x364da: 0x6c578c20, 0x364db: 0x6c578e20,\n\t0x364dc: 0x6c579020, 0x364dd: 0x6c579220, 0x364de: 0x6c579420, 0x364df: 0x6c579620,\n\t0x364e0: 0x6c579820, 0x364e1: 0x6c579a20, 0x364e2: 0x6c579c20, 0x364e3: 0x6c579e20,\n\t0x364e4: 0x6c57a020, 0x364e5: 0x6c57a220, 0x364e6: 0x6c57a420, 0x364e7: 0x6c57a620,\n\t0x364e8: 0x6c57a820, 0x364e9: 0x6c57aa20, 0x364ea: 0x6c57ac20, 0x364eb: 0x6c57ae20,\n\t0x364ec: 0x6c57b020, 0x364ed: 0x6c57b220, 0x364ee: 0x6c57b420, 0x364ef: 0x6c57b620,\n\t0x364f0: 0x6c57b820, 0x364f1: 0x6c57ba20, 0x364f2: 0x6c57bc20, 0x364f3: 0x6c57be20,\n\t0x364f4: 0x6c57c020, 0x364f5: 0x6c7a1c20, 0x364f6: 0x6c7a1e20, 0x364f7: 0x6c7a2020,\n\t0x364f8: 0x6c7a2220, 0x364f9: 0x6c7a2420, 0x364fa: 0x6c7a2620, 0x364fb: 0x6c7a2820,\n\t0x364fc: 0x6c7a2a20, 0x364fd: 0x6c7a2c20, 0x364fe: 0x6c7a2e20, 0x364ff: 0x6c7a3020,\n\t// Block 0xd94, offset 0x36500\n\t0x36500: 0x6c7a3220, 0x36501: 0x6c7a3420, 0x36502: 0x6c7a3620, 0x36503: 0x6c7a3820,\n\t0x36504: 0x6c7a3a20, 0x36505: 0x6c7a3c20, 0x36506: 0x6c7a3e20, 0x36507: 0x6c7a4020,\n\t0x36508: 0x6c7a4220, 0x36509: 0x6c7a4420, 0x3650a: 0x6c7a4620, 0x3650b: 0x6c7a4820,\n\t0x3650c: 0x6c7a4a20, 0x3650d: 0x6c7a4c20, 0x3650e: 0x6c7a4e20, 0x3650f: 0x6c7a5020,\n\t0x36510: 0x6c7a5220, 0x36511: 0x6c7a5420, 0x36512: 0x6c7a5620, 0x36513: 0x6c7a5820,\n\t0x36514: 0x6c7a5a20, 0x36515: 0x6c7a5c20, 0x36516: 0x6ca32620, 0x36517: 0x6ca32820,\n\t0x36518: 0x6ca32a20, 0x36519: 0x6ca32c20, 0x3651a: 0x6ca32e20, 0x3651b: 0x6ca33020,\n\t0x3651c: 0x6ca33220, 0x3651d: 0x6ca33420, 0x3651e: 0x6ca33620, 0x3651f: 0x6ca33820,\n\t0x36520: 0x6ca33a20, 0x36521: 0x6ca33c20, 0x36522: 0x6ca33e20, 0x36523: 0x6ca34020,\n\t0x36524: 0x6ca34220, 0x36525: 0x6ca34420, 0x36526: 0x6ca34620, 0x36527: 0x6ca34820,\n\t0x36528: 0x6ca34a20, 0x36529: 0x6ca34c20, 0x3652a: 0x6ca34e20, 0x3652b: 0x6ca35020,\n\t0x3652c: 0x6ca35220, 0x3652d: 0x6ca35420, 0x3652e: 0x6ca35620, 0x3652f: 0x6ca35820,\n\t0x36530: 0x6ca35a20, 0x36531: 0x6ca35c20, 0x36532: 0x6ca35e20, 0x36533: 0x6ca36020,\n\t0x36534: 0x6ca36220, 0x36535: 0x6ca36420, 0x36536: 0x6ca36620, 0x36537: 0x6ca36820,\n\t0x36538: 0x6ca36a20, 0x36539: 0x6ca36c20, 0x3653a: 0x6ca36e20, 0x3653b: 0x6cd0dc20,\n\t0x3653c: 0x6cd0de20, 0x3653d: 0x6cd0e020, 0x3653e: 0x6cd0e220, 0x3653f: 0x6cd0e420,\n\t// Block 0xd95, offset 0x36540\n\t0x36540: 0x6cd0e620, 0x36541: 0x6cd0e820, 0x36542: 0x6cd0ea20, 0x36543: 0x6cd0ec20,\n\t0x36544: 0x6cd0ee20, 0x36545: 0x6cd0f020, 0x36546: 0x6cd0f220, 0x36547: 0x6cd0f420,\n\t0x36548: 0x6cd0f620, 0x36549: 0x6cd0f820, 0x3654a: 0x6cd0fa20, 0x3654b: 0x6cd0fc20,\n\t0x3654c: 0x6cd0fe20, 0x3654d: 0x6cd10020, 0x3654e: 0x6cd10220, 0x3654f: 0x6cd10420,\n\t0x36550: 0x6cd10620, 0x36551: 0x6cd10820, 0x36552: 0x6cd10a20, 0x36553: 0x6cd10c20,\n\t0x36554: 0x6cd10e20, 0x36555: 0x6cd11020, 0x36556: 0x6cd11220, 0x36557: 0x6cd11420,\n\t0x36558: 0x6cd11620, 0x36559: 0x6cd11820, 0x3655a: 0x6cd11a20, 0x3655b: 0x6cd11c20,\n\t0x3655c: 0x6cd11e20, 0x3655d: 0x6cd12020, 0x3655e: 0x6cd12220, 0x3655f: 0x6cd12420,\n\t0x36560: 0x6cd12620, 0x36561: 0x6cd12820, 0x36562: 0x6cd12a20, 0x36563: 0x6cd12c20,\n\t0x36564: 0x6cd12e20, 0x36565: 0x6cd13020, 0x36566: 0x6cd13220, 0x36567: 0x6cd13420,\n\t0x36568: 0x6cd13620, 0x36569: 0x6cd13820, 0x3656a: 0x6cd13a20, 0x3656b: 0x6cd13c20,\n\t0x3656c: 0x6cd13e20, 0x3656d: 0x6cd14020, 0x3656e: 0x6cd14220, 0x3656f: 0x6cfeaa20,\n\t0x36570: 0x6cfeac20, 0x36571: 0x6cfeae20, 0x36572: 0x6cfeb020, 0x36573: 0x6cfeb220,\n\t0x36574: 0x6cfeb420, 0x36575: 0x6cfeb620, 0x36576: 0x6cfeb820, 0x36577: 0x6cfeba20,\n\t0x36578: 0x6cfebc20, 0x36579: 0x6cfebe20, 0x3657a: 0x6cfec020, 0x3657b: 0x6cfec220,\n\t0x3657c: 0x6cfec420, 0x3657d: 0x6cfec620, 0x3657e: 0x6cfec820, 0x3657f: 0x6cfeca20,\n\t// Block 0xd96, offset 0x36580\n\t0x36580: 0x6cfecc20, 0x36581: 0x6cfece20, 0x36582: 0x6cfed020, 0x36583: 0x6cfed220,\n\t0x36584: 0x6cfed420, 0x36585: 0x6cfed620, 0x36586: 0x6cfed820, 0x36587: 0x6cfeda20,\n\t0x36588: 0x6cfedc20, 0x36589: 0x6cfede20, 0x3658a: 0x6cfee020, 0x3658b: 0x6cfee220,\n\t0x3658c: 0x6cfee420, 0x3658d: 0x6cfee620, 0x3658e: 0x6cfee820, 0x3658f: 0x6cfeea20,\n\t0x36590: 0x6cfeec20, 0x36591: 0x6cfeee20, 0x36592: 0x6cfef020, 0x36593: 0x6cfef220,\n\t0x36594: 0x6cfef420, 0x36595: 0x6cfef620, 0x36596: 0x6cfef820, 0x36597: 0x6cfefa20,\n\t0x36598: 0x6cfefc20, 0x36599: 0x6cfefe20, 0x3659a: 0x6cff0020, 0x3659b: 0x6cff0220,\n\t0x3659c: 0x6cff0420, 0x3659d: 0x6cff0620, 0x3659e: 0x6cff0820, 0x3659f: 0x6cff0a20,\n\t0x365a0: 0x6cff0c20, 0x365a1: 0x6cff0e20, 0x365a2: 0x6cff1020, 0x365a3: 0x6cff1220,\n\t0x365a4: 0x6cff1420, 0x365a5: 0x6cff1620, 0x365a6: 0x6cff1820, 0x365a7: 0x6cff1a20,\n\t0x365a8: 0x6cff1c20, 0x365a9: 0x6cff1e20, 0x365aa: 0x6d2d1620, 0x365ab: 0x6d2d1820,\n\t0x365ac: 0x6d2d1a20, 0x365ad: 0x6d2d1c20, 0x365ae: 0x6d2d1e20, 0x365af: 0x6d2d2020,\n\t0x365b0: 0x6d2d2220, 0x365b1: 0x6d2d2420, 0x365b2: 0x6d2d2620, 0x365b3: 0x6d2d2820,\n\t0x365b4: 0x6d2d2a20, 0x365b5: 0x6d2d2c20, 0x365b6: 0x6d2d2e20, 0x365b7: 0x6d2d3020,\n\t0x365b8: 0x6d2d3220, 0x365b9: 0x6d2d3420, 0x365ba: 0x6d2d3620, 0x365bb: 0x6d2d3820,\n\t0x365bc: 0x6d2d3a20, 0x365bd: 0x6d2d3c20, 0x365be: 0x6d2d3e20, 0x365bf: 0x6d2d4020,\n\t// Block 0xd97, offset 0x365c0\n\t0x365c0: 0x6d2d4220, 0x365c1: 0x6d2d4420, 0x365c2: 0x6d2d4620, 0x365c3: 0x6d2d4820,\n\t0x365c4: 0x6d2d4a20, 0x365c5: 0x6d2d4c20, 0x365c6: 0x6d2d4e20, 0x365c7: 0x6d2d5020,\n\t0x365c8: 0x6d2d5220, 0x365c9: 0x6d2d5420, 0x365ca: 0x6d2d5620, 0x365cb: 0x6d2d5820,\n\t0x365cc: 0x6d2d5a20, 0x365cd: 0x6d2d5c20, 0x365ce: 0x6d2d5e20, 0x365cf: 0x6d2d6020,\n\t0x365d0: 0x6d2d6220, 0x365d1: 0x6d2d6420, 0x365d2: 0x6d2d6620, 0x365d3: 0x6d2d6820,\n\t0x365d4: 0x6d5a4820, 0x365d5: 0x6d5a4a20, 0x365d6: 0x6d5a4c20, 0x365d7: 0x6d5a4e20,\n\t0x365d8: 0x6d5a5020, 0x365d9: 0x6d5a5220, 0x365da: 0x6d5a5420, 0x365db: 0x6d5a5620,\n\t0x365dc: 0x6d5a5820, 0x365dd: 0x6d5a5a20, 0x365de: 0x6d5a5c20, 0x365df: 0x6d5a5e20,\n\t0x365e0: 0x6d5a6020, 0x365e1: 0x6d5a6220, 0x365e2: 0x6d5a6420, 0x365e3: 0x6d5a6620,\n\t0x365e4: 0x6d5a6820, 0x365e5: 0x6d5a6a20, 0x365e6: 0x6d5a6c20, 0x365e7: 0x6d5a6e20,\n\t0x365e8: 0x6d5a7020, 0x365e9: 0x6d5a7220, 0x365ea: 0x6d5a7420, 0x365eb: 0x6d5a7620,\n\t0x365ec: 0x6d5a7820, 0x365ed: 0x6d5a7a20, 0x365ee: 0x6d5a7c20, 0x365ef: 0x6d5a7e20,\n\t0x365f0: 0x6d5a8020, 0x365f1: 0x6d5a8220, 0x365f2: 0x6d5a8420, 0x365f3: 0x6d5a8620,\n\t0x365f4: 0x6d5a8820, 0x365f5: 0x6d5a8a20, 0x365f6: 0x6d5a8c20, 0x365f7: 0x6d5a8e20,\n\t0x365f8: 0x6d5a9020, 0x365f9: 0x6d5a9220, 0x365fa: 0x6d5a9420, 0x365fb: 0x6d5a9620,\n\t0x365fc: 0x6d5a9820, 0x365fd: 0x6d5a9a20, 0x365fe: 0x6d5a9c20, 0x365ff: 0x6d5a9e20,\n\t// Block 0xd98, offset 0x36600\n\t0x36600: 0x6d850020, 0x36601: 0x6d5aa020, 0x36602: 0x6d850220, 0x36603: 0x6d850420,\n\t0x36604: 0x6d850620, 0x36605: 0x6d850820, 0x36606: 0x6d850a20, 0x36607: 0x6d850c20,\n\t0x36608: 0x6d850e20, 0x36609: 0x6d851020, 0x3660a: 0x6d851220, 0x3660b: 0x6d851420,\n\t0x3660c: 0x6d851620, 0x3660d: 0x6d851820, 0x3660e: 0x6d851a20, 0x3660f: 0x6d851c20,\n\t0x36610: 0x6d851e20, 0x36611: 0x6d852020, 0x36612: 0x6d852220, 0x36613: 0x6d852420,\n\t0x36614: 0x6d852620, 0x36615: 0x6d852820, 0x36616: 0x6d852a20, 0x36617: 0x6d852c20,\n\t0x36618: 0x6d852e20, 0x36619: 0x6d853020, 0x3661a: 0x6d853220, 0x3661b: 0x6d853420,\n\t0x3661c: 0x6d853620, 0x3661d: 0x6d853820, 0x3661e: 0x6d853a20, 0x3661f: 0x6d853c20,\n\t0x36620: 0x6d853e20, 0x36621: 0x6d854020, 0x36622: 0x6d854220, 0x36623: 0x6d854420,\n\t0x36624: 0x6d854620, 0x36625: 0x6d854820, 0x36626: 0x6d854a20, 0x36627: 0x6d854c20,\n\t0x36628: 0x6d854e20, 0x36629: 0x6d855020, 0x3662a: 0x6d855220, 0x3662b: 0x6da9c420,\n\t0x3662c: 0x6da9c620, 0x3662d: 0x6da9c820, 0x3662e: 0x6da9ca20, 0x3662f: 0x6da9cc20,\n\t0x36630: 0x6da9ce20, 0x36631: 0x6da9d020, 0x36632: 0x6da9d220, 0x36633: 0x6da9d420,\n\t0x36634: 0x6da9d620, 0x36635: 0x6da9d820, 0x36636: 0x6da9da20, 0x36637: 0x6da9dc20,\n\t0x36638: 0x6da9de20, 0x36639: 0x6da9e020, 0x3663a: 0x6da9e220, 0x3663b: 0x6da9e420,\n\t0x3663c: 0x6da9e620, 0x3663d: 0x6da9e820, 0x3663e: 0x6da9ea20, 0x3663f: 0x6da9ec20,\n\t// Block 0xd99, offset 0x36640\n\t0x36640: 0x6da9ee20, 0x36641: 0x6da9f020, 0x36642: 0x6da9f220, 0x36643: 0x6da9f420,\n\t0x36644: 0x6da9f620, 0x36645: 0x6da9f820, 0x36646: 0x6da9fa20, 0x36647: 0x6da9fc20,\n\t0x36648: 0x6da9fe20, 0x36649: 0x6daa0020, 0x3664a: 0x6daa0220, 0x3664b: 0x6dcaa020,\n\t0x3664c: 0x6dcaa220, 0x3664d: 0x6dcaa420, 0x3664e: 0x6dcaa620, 0x3664f: 0x6dcaa820,\n\t0x36650: 0x6dcaaa20, 0x36651: 0x6dcaac20, 0x36652: 0x6dcaae20, 0x36653: 0x6dcab020,\n\t0x36654: 0x6dcab220, 0x36655: 0x6dcab420, 0x36656: 0x6dcab620, 0x36657: 0x6dcab820,\n\t0x36658: 0x6dcaba20, 0x36659: 0x6dcabc20, 0x3665a: 0x6dcabe20, 0x3665b: 0x6dcac020,\n\t0x3665c: 0x6dcac220, 0x3665d: 0x6dcac420, 0x3665e: 0x6dcac620, 0x3665f: 0x6dcac820,\n\t0x36660: 0x6dcaca20, 0x36661: 0x6dcacc20, 0x36662: 0x6dcace20, 0x36663: 0x6dcad020,\n\t0x36664: 0x6dcad220, 0x36665: 0x6dcad420, 0x36666: 0x6dcad620, 0x36667: 0x6dcad820,\n\t0x36668: 0x6dcada20, 0x36669: 0x6de63a20, 0x3666a: 0x6de63c20, 0x3666b: 0x6de63e20,\n\t0x3666c: 0x6de64020, 0x3666d: 0x6de64220, 0x3666e: 0x6de64420, 0x3666f: 0x6de64620,\n\t0x36670: 0x6de64820, 0x36671: 0x6de64a20, 0x36672: 0x6de64c20, 0x36673: 0x6de64e20,\n\t0x36674: 0x6dcadc20, 0x36675: 0x6de65020, 0x36676: 0x6de65220, 0x36677: 0x6de65420,\n\t0x36678: 0x6de65620, 0x36679: 0x6de65820, 0x3667a: 0x6de65a20, 0x3667b: 0x6de65c20,\n\t0x3667c: 0x6de65e20, 0x3667d: 0x6de66020, 0x3667e: 0x6dfd0e20, 0x3667f: 0x6dfd1020,\n\t// Block 0xd9a, offset 0x36680\n\t0x36680: 0x6dfd1220, 0x36681: 0x6dfd1420, 0x36682: 0x6dfd1620, 0x36683: 0x6dfd1820,\n\t0x36684: 0x6dfd1a20, 0x36685: 0x6dfd1c20, 0x36686: 0x6dfd1e20, 0x36687: 0x6dfd2020,\n\t0x36688: 0x6dfd2220, 0x36689: 0x6e0fdc20, 0x3668a: 0x6e0fde20, 0x3668b: 0x6e0fe020,\n\t0x3668c: 0x6e0fe220, 0x3668d: 0x6e0fe420, 0x3668e: 0x6e0fe620, 0x3668f: 0x6e0fe820,\n\t0x36690: 0x6e0fea20, 0x36691: 0x6e0fec20, 0x36692: 0x6e0fee20, 0x36693: 0x6e0ff020,\n\t0x36694: 0x6e1ebc20, 0x36695: 0x6e1ebe20, 0x36696: 0x6e1ec020, 0x36697: 0x6e1ec220,\n\t0x36698: 0x6e1ec420, 0x36699: 0x6e2a1e20, 0x3669a: 0x6e2a2020, 0x3669b: 0x6e2a2220,\n\t0x3669c: 0x6e2a2420, 0x3669d: 0x6e2a2620, 0x3669e: 0x6e2a2820, 0x3669f: 0x6e2a2a20,\n\t0x366a0: 0x6e32e020, 0x366a1: 0x6e33a820, 0x366a2: 0x6e3d6c20, 0x366a3: 0x6e391820,\n\t0x366a4: 0x6e391a20, 0x366a5: 0x6e391c20, 0x366a6: 0x6e391e20, 0x366a7: 0x6e392020,\n\t0x366a8: 0x6e3d6e20, 0x366a9: 0x6e42c220, 0x366aa: 0x6c3bae20, 0x366ab: 0x6c57ca20,\n\t0x366ac: 0x6c57cc20, 0x366ad: 0x6c57ce20, 0x366ae: 0x6c57d020, 0x366af: 0x6c57d220,\n\t0x366b0: 0x6c7a7c20, 0x366b1: 0x6c7a7e20, 0x366b2: 0x6c7a8020, 0x366b3: 0x6c7a8220,\n\t0x366b4: 0x6c7a8420, 0x366b5: 0x6ca38220, 0x366b6: 0x6ca38420, 0x366b7: 0x6ca38620,\n\t0x366b8: 0x6ca38820, 0x366b9: 0x6ca38a20, 0x366ba: 0x6cd16220, 0x366bb: 0x6cd16420,\n\t0x366bc: 0x6cd16620, 0x366bd: 0x6cd16820, 0x366be: 0x6cd16a20, 0x366bf: 0x6cd16c20,\n\t// Block 0xd9b, offset 0x366c0\n\t0x366c0: 0x6cd16e20, 0x366c1: 0x6cff4420, 0x366c2: 0x6cff4620, 0x366c3: 0x6cff4820,\n\t0x366c4: 0x6cff4a20, 0x366c5: 0x6cff4c20, 0x366c6: 0x6cff4e20, 0x366c7: 0x6d5ab620,\n\t0x366c8: 0x6d2d8c20, 0x366c9: 0x6d2d8e20, 0x366ca: 0x6d2d9020, 0x366cb: 0x6d2d9220,\n\t0x366cc: 0x6d2d9420, 0x366cd: 0x6d5ab820, 0x366ce: 0x6d856c20, 0x366cf: 0x6d856e20,\n\t0x366d0: 0x6d5aba20, 0x366d1: 0x6d5abc20, 0x366d2: 0x6d5abe20, 0x366d3: 0x6d5ac020,\n\t0x366d4: 0x6d5ac220, 0x366d5: 0x6d5ac420, 0x366d6: 0x6d857020, 0x366d7: 0x6daa1020,\n\t0x366d8: 0x6dcae420, 0x366d9: 0x6dcae620, 0x366da: 0x6dcae820, 0x366db: 0x6e0ff420,\n\t0x366dc: 0x6e0ff620, 0x366dd: 0x6e0ff820, 0x366de: 0x6e1ec820, 0x366df: 0x6e1eca20,\n\t0x366e0: 0x6e2a2e20, 0x366e1: 0x6e2a3020, 0x366e2: 0x6e32e620, 0x366e3: 0x6e3d7220,\n\t0x366e4: 0x6e3d7420, 0x366e5: 0x6e452620, 0x366e6: 0x6c24a420, 0x366e7: 0x6c24a620,\n\t0x366e8: 0x6c3bba20, 0x366e9: 0x6c3bbc20, 0x366ea: 0x6c3bbe20, 0x366eb: 0x6c3bc020,\n\t0x366ec: 0x6c57ec20, 0x366ed: 0x6c57ee20, 0x366ee: 0x6c57f020, 0x366ef: 0x6c57f220,\n\t0x366f0: 0x6c57f420, 0x366f1: 0x6c57f620, 0x366f2: 0x6c57f820, 0x366f3: 0x6c7a9620,\n\t0x366f4: 0x6c7a9820, 0x366f5: 0x6c7a9a20, 0x366f6: 0x6c7a9c20, 0x366f7: 0x6c7a9e20,\n\t0x366f8: 0x6c7aa020, 0x366f9: 0x6c7aa220, 0x366fa: 0x6c7aa420, 0x366fb: 0x6c7aa620,\n\t0x366fc: 0x6c7aa820, 0x366fd: 0x6c7aaa20, 0x366fe: 0x6ca39e20, 0x366ff: 0x6ca3a020,\n\t// Block 0xd9c, offset 0x36700\n\t0x36700: 0x6ca3a220, 0x36701: 0x6ca3a420, 0x36702: 0x6ca3a620, 0x36703: 0x6ca3a820,\n\t0x36704: 0x6ca3aa20, 0x36705: 0x6ca3ac20, 0x36706: 0x6ca3ae20, 0x36707: 0x6ca3b020,\n\t0x36708: 0x6ca3b220, 0x36709: 0x6ca3b420, 0x3670a: 0x6ca3b620, 0x3670b: 0x6ca3b820,\n\t0x3670c: 0x6cd18020, 0x3670d: 0x6cd18220, 0x3670e: 0x6cd18420, 0x3670f: 0x6cd18620,\n\t0x36710: 0x6cd18820, 0x36711: 0x6cd18a20, 0x36712: 0x6cd18c20, 0x36713: 0x6cd18e20,\n\t0x36714: 0x6cd19020, 0x36715: 0x6cd19220, 0x36716: 0x6cd19420, 0x36717: 0x6cd19620,\n\t0x36718: 0x6cd19820, 0x36719: 0x6cd19a20, 0x3671a: 0x6cd19c20, 0x3671b: 0x6cff6820,\n\t0x3671c: 0x6cff6a20, 0x3671d: 0x6cff6c20, 0x3671e: 0x6cff6e20, 0x3671f: 0x6cff7020,\n\t0x36720: 0x6cff7220, 0x36721: 0x6cff7420, 0x36722: 0x6cff7620, 0x36723: 0x6cff7820,\n\t0x36724: 0x6cff7a20, 0x36725: 0x6cff7c20, 0x36726: 0x6cff7e20, 0x36727: 0x6d2dae20,\n\t0x36728: 0x6d2db020, 0x36729: 0x6d2db220, 0x3672a: 0x6d2db420, 0x3672b: 0x6d2db620,\n\t0x3672c: 0x6d2db820, 0x3672d: 0x6d2dba20, 0x3672e: 0x6d2dbc20, 0x3672f: 0x6d2dbe20,\n\t0x36730: 0x6d2dc020, 0x36731: 0x6d2dc220, 0x36732: 0x6cff8020, 0x36733: 0x6d2dc420,\n\t0x36734: 0x6d2dc620, 0x36735: 0x6d2dc820, 0x36736: 0x6d2dca20, 0x36737: 0x6d2dcc20,\n\t0x36738: 0x6d2dce20, 0x36739: 0x6d5ad420, 0x3673a: 0x6d5ad620, 0x3673b: 0x6d5ad820,\n\t0x3673c: 0x6d5ada20, 0x3673d: 0x6d5adc20, 0x3673e: 0x6d5ade20, 0x3673f: 0x6d5ae020,\n\t// Block 0xd9d, offset 0x36740\n\t0x36740: 0x6d5ae220, 0x36741: 0x6d5ae420, 0x36742: 0x6d5ae620, 0x36743: 0x6d5ae820,\n\t0x36744: 0x6d5aea20, 0x36745: 0x6d858420, 0x36746: 0x6d858620, 0x36747: 0x6d858820,\n\t0x36748: 0x6d858a20, 0x36749: 0x6d858c20, 0x3674a: 0x6d858e20, 0x3674b: 0x6d859020,\n\t0x3674c: 0x6d859220, 0x3674d: 0x6d859420, 0x3674e: 0x6daa2820, 0x3674f: 0x6daa2a20,\n\t0x36750: 0x6daa2c20, 0x36751: 0x6daa2e20, 0x36752: 0x6daa3020, 0x36753: 0x6daa3220,\n\t0x36754: 0x6daa3420, 0x36755: 0x6daa3620, 0x36756: 0x6cff8220, 0x36757: 0x6daa3820,\n\t0x36758: 0x6dcaf420, 0x36759: 0x6dcaf620, 0x3675a: 0x6dcaf820, 0x3675b: 0x6dcafa20,\n\t0x3675c: 0x6dcafc20, 0x3675d: 0x6dcafe20, 0x3675e: 0x6dcb0020, 0x3675f: 0x6dcb0220,\n\t0x36760: 0x6de67020, 0x36761: 0x6de67220, 0x36762: 0x6dfd2c20, 0x36763: 0x6dfd2e20,\n\t0x36764: 0x6dfd3020, 0x36765: 0x6dfd3220, 0x36766: 0x6e0ffc20, 0x36767: 0x6e0ffe20,\n\t0x36768: 0x6e100020, 0x36769: 0x6e100220, 0x3676a: 0x6e100420, 0x3676b: 0x6e100620,\n\t0x3676c: 0x6e100820, 0x3676d: 0x6e1ece20, 0x3676e: 0x6e1ed020, 0x3676f: 0x6e1ed220,\n\t0x36770: 0x6e2a3220, 0x36771: 0x6e2a3420, 0x36772: 0x6e2a3620, 0x36773: 0x6e2a3820,\n\t0x36774: 0x6e2a3a20, 0x36775: 0x6e2a3c20, 0x36776: 0x6e32ea20, 0x36777: 0x6e392420,\n\t0x36778: 0x6e407c20, 0x36779: 0x6e443820, 0x3677a: 0x6c0a0020, 0x3677b: 0x6c3bc620,\n\t0x3677c: 0x6c3bc820, 0x3677d: 0x6c3bca20, 0x3677e: 0x6c3bcc20, 0x3677f: 0x6c3bce20,\n\t// Block 0xd9e, offset 0x36780\n\t0x36780: 0x6c3bd020, 0x36781: 0x6c580020, 0x36782: 0x6c580220, 0x36783: 0x6c580420,\n\t0x36784: 0x6c580620, 0x36785: 0x6c7ab020, 0x36786: 0x6cd19e20, 0x36787: 0x6cff8e20,\n\t0x36788: 0x6d2dd420, 0x36789: 0x6d5af220, 0x3678a: 0x6d5af420, 0x3678b: 0x6d859620,\n\t0x3678c: 0x6d859820, 0x3678d: 0x6daa3c20, 0x3678e: 0x6dcb0420, 0x3678f: 0x6dc4c420,\n\t0x36790: 0x6e100a20, 0x36791: 0x6e1ed620, 0x36792: 0x6e42c420, 0x36793: 0x6c0a0420,\n\t0x36794: 0x6c13ce20, 0x36795: 0x6c3bd220, 0x36796: 0x6c3bd420, 0x36797: 0x6c3bd620,\n\t0x36798: 0x6c580c20, 0x36799: 0x6c580e20, 0x3679a: 0x6c581020, 0x3679b: 0x6c581220,\n\t0x3679c: 0x6c581420, 0x3679d: 0x6c581620, 0x3679e: 0x6c581820, 0x3679f: 0x6c7ab420,\n\t0x367a0: 0x6ca3c220, 0x367a1: 0x6ca3c420, 0x367a2: 0x6ca3c620, 0x367a3: 0x6ca3c820,\n\t0x367a4: 0x6ca3ca20, 0x367a5: 0x6ca3cc20, 0x367a6: 0x6cd1aa20, 0x367a7: 0x6cd1ac20,\n\t0x367a8: 0x6cd1ae20, 0x367a9: 0x6cd1b020, 0x367aa: 0x6cd1b220, 0x367ab: 0x6cd1b420,\n\t0x367ac: 0x6cff9020, 0x367ad: 0x6cff9220, 0x367ae: 0x6cff9420, 0x367af: 0x6cff9620,\n\t0x367b0: 0x6cff9820, 0x367b1: 0x6cff9a20, 0x367b2: 0x6d2dd820, 0x367b3: 0x6d2dda20,\n\t0x367b4: 0x6d2ddc20, 0x367b5: 0x6d5af820, 0x367b6: 0x6d859c20, 0x367b7: 0x6daa3e20,\n\t0x367b8: 0x6daa4020, 0x367b9: 0x6daa4220, 0x367ba: 0x6dcb0620, 0x367bb: 0x6de67420,\n\t0x367bc: 0x6de67620, 0x367bd: 0x6de26620, 0x367be: 0x6de67820, 0x367bf: 0x6de67a20,\n\t// Block 0xd9f, offset 0x367c0\n\t0x367c0: 0x6e100c20, 0x367c1: 0x6e1ed820, 0x367c2: 0x6e1eda20, 0x367c3: 0x6c13d220,\n\t0x367c4: 0x6c24ae20, 0x367c5: 0x6c3bde20, 0x367c6: 0x6c3be020, 0x367c7: 0x6c7ab820,\n\t0x367c8: 0x6ca3d020, 0x367c9: 0x6cd1b820, 0x367ca: 0x6d2dde20, 0x367cb: 0x6d5afa20,\n\t0x367cc: 0x6d5afc20, 0x367cd: 0x6dcb0820, 0x367ce: 0x6de67c20, 0x367cf: 0x6e1edc20,\n\t0x367d0: 0x6e392620, 0x367d1: 0x6e2a3e20, 0x367d2: 0x6c0a1620, 0x367d3: 0x6c13d820,\n\t0x367d4: 0x6c13da20, 0x367d5: 0x6c24c220, 0x367d6: 0x6c24c420, 0x367d7: 0x6c24c620,\n\t0x367d8: 0x6c24c820, 0x367d9: 0x6c24ca20, 0x367da: 0x6c24cc20, 0x367db: 0x6c24ce20,\n\t0x367dc: 0x6c24d020, 0x367dd: 0x6c3bfa20, 0x367de: 0x6c3bfc20, 0x367df: 0x6c3bfe20,\n\t0x367e0: 0x6c3c0020, 0x367e1: 0x6c3c0220, 0x367e2: 0x6c3c0420, 0x367e3: 0x6c3c0620,\n\t0x367e4: 0x6c3c0820, 0x367e5: 0x6c3c0a20, 0x367e6: 0x6c3c0c20, 0x367e7: 0x6c3c0e20,\n\t0x367e8: 0x6c3c1020, 0x367e9: 0x6c584020, 0x367ea: 0x6c584220, 0x367eb: 0x6c584420,\n\t0x367ec: 0x6c584620, 0x367ed: 0x6c584820, 0x367ee: 0x6c584a20, 0x367ef: 0x6c584c20,\n\t0x367f0: 0x6c584e20, 0x367f1: 0x6c585020, 0x367f2: 0x6c585220, 0x367f3: 0x6c585420,\n\t0x367f4: 0x6c585620, 0x367f5: 0x6c585820, 0x367f6: 0x6c585a20, 0x367f7: 0x6c585c20,\n\t0x367f8: 0x6c585e20, 0x367f9: 0x6c586020, 0x367fa: 0x6c586220, 0x367fb: 0x6c586420,\n\t0x367fc: 0x6c586620, 0x367fd: 0x6c586820, 0x367fe: 0x6c586a20, 0x367ff: 0x6c586c20,\n\t// Block 0xda0, offset 0x36800\n\t0x36800: 0x6c586e20, 0x36801: 0x6c587020, 0x36802: 0x6c587220, 0x36803: 0x6c587420,\n\t0x36804: 0x6c587620, 0x36805: 0x6c587820, 0x36806: 0x6c587a20, 0x36807: 0x6c587c20,\n\t0x36808: 0x6c587e20, 0x36809: 0x6c588020, 0x3680a: 0x6c588220, 0x3680b: 0x6c588420,\n\t0x3680c: 0x6c7ad620, 0x3680d: 0x6c7ad820, 0x3680e: 0x6c7ada20, 0x3680f: 0x6c7adc20,\n\t0x36810: 0x6c7ade20, 0x36811: 0x6c7ae020, 0x36812: 0x6c7ae220, 0x36813: 0x6c7ae420,\n\t0x36814: 0x6c7ae620, 0x36815: 0x6c7ae820, 0x36816: 0x6c7aea20, 0x36817: 0x6c7aec20,\n\t0x36818: 0x6c7aee20, 0x36819: 0x6c7af020, 0x3681a: 0x6c7af220, 0x3681b: 0x6c7af420,\n\t0x3681c: 0x6c7af620, 0x3681d: 0x6c7af820, 0x3681e: 0x6c7afa20, 0x3681f: 0x6c7afc20,\n\t0x36820: 0x6c7afe20, 0x36821: 0x6c63fc20, 0x36822: 0x6c7b0020, 0x36823: 0x6c7b0220,\n\t0x36824: 0x6c7b0420, 0x36825: 0x6ca3e820, 0x36826: 0x6ca3ea20, 0x36827: 0x6ca3ec20,\n\t0x36828: 0x6ca3ee20, 0x36829: 0x6ca3f020, 0x3682a: 0x6ca3f220, 0x3682b: 0x6ca3f420,\n\t0x3682c: 0x6ca3f620, 0x3682d: 0x6ca3f820, 0x3682e: 0x6ca3fa20, 0x3682f: 0x6ca3fc20,\n\t0x36830: 0x6ca3fe20, 0x36831: 0x6ca40020, 0x36832: 0x6ca40220, 0x36833: 0x6ca40420,\n\t0x36834: 0x6ca40620, 0x36835: 0x6ca40820, 0x36836: 0x6ca40a20, 0x36837: 0x6ca40c20,\n\t0x36838: 0x6ca40e20, 0x36839: 0x6ca41020, 0x3683a: 0x6ca41220, 0x3683b: 0x6cd1d020,\n\t0x3683c: 0x6cd1d220, 0x3683d: 0x6cd1d420, 0x3683e: 0x6cd1d620, 0x3683f: 0x6cd1d820,\n\t// Block 0xda1, offset 0x36840\n\t0x36840: 0x6cd1da20, 0x36841: 0x6cd1dc20, 0x36842: 0x6cd1de20, 0x36843: 0x6cd1e020,\n\t0x36844: 0x6cd1e220, 0x36845: 0x6cd1e420, 0x36846: 0x6cd1e620, 0x36847: 0x6cd1e820,\n\t0x36848: 0x6cd1ea20, 0x36849: 0x6cd1ec20, 0x3684a: 0x6cd1ee20, 0x3684b: 0x6cd1f020,\n\t0x3684c: 0x6cd1f220, 0x3684d: 0x6cd1f420, 0x3684e: 0x6cd1f620, 0x3684f: 0x6cd1f820,\n\t0x36850: 0x6cd1fa20, 0x36851: 0x6cffb620, 0x36852: 0x6cffb820, 0x36853: 0x6cffba20,\n\t0x36854: 0x6cffbc20, 0x36855: 0x6cffbe20, 0x36856: 0x6cffc020, 0x36857: 0x6cffc220,\n\t0x36858: 0x6cffc420, 0x36859: 0x6cffc620, 0x3685a: 0x6cffc820, 0x3685b: 0x6cffca20,\n\t0x3685c: 0x6cffcc20, 0x3685d: 0x6cffce20, 0x3685e: 0x6cffd020, 0x3685f: 0x6cffd220,\n\t0x36860: 0x6cffd420, 0x36861: 0x6cffd620, 0x36862: 0x6cffd820, 0x36863: 0x6cffda20,\n\t0x36864: 0x6cffdc20, 0x36865: 0x6cffde20, 0x36866: 0x6cffe020, 0x36867: 0x6cffe220,\n\t0x36868: 0x6cffe420, 0x36869: 0x6cffe620, 0x3686a: 0x6cffe820, 0x3686b: 0x6d2de820,\n\t0x3686c: 0x6d2dea20, 0x3686d: 0x6d2dec20, 0x3686e: 0x6d2dee20, 0x3686f: 0x6d2df020,\n\t0x36870: 0x6d2df220, 0x36871: 0x6d2df420, 0x36872: 0x6d2df620, 0x36873: 0x6d2df820,\n\t0x36874: 0x6d2dfa20, 0x36875: 0x6d2dfc20, 0x36876: 0x6d2dfe20, 0x36877: 0x6d5b0820,\n\t0x36878: 0x6d5b0a20, 0x36879: 0x6d5b0c20, 0x3687a: 0x6d5b0e20, 0x3687b: 0x6d5b1020,\n\t0x3687c: 0x6d5b1220, 0x3687d: 0x6d5b1420, 0x3687e: 0x6d5b1620, 0x3687f: 0x6d5b1820,\n\t// Block 0xda2, offset 0x36880\n\t0x36880: 0x6d5b1a20, 0x36881: 0x6d5b1c20, 0x36882: 0x6d5b1e20, 0x36883: 0x6d5b2020,\n\t0x36884: 0x6d5b2220, 0x36885: 0x6d5b2420, 0x36886: 0x6d5b2620, 0x36887: 0x6d5b2820,\n\t0x36888: 0x6d85a620, 0x36889: 0x6d85a820, 0x3688a: 0x6d85aa20, 0x3688b: 0x6d85ac20,\n\t0x3688c: 0x6d85ae20, 0x3688d: 0x6d85b020, 0x3688e: 0x6d85b220, 0x3688f: 0x6d75d020,\n\t0x36890: 0x6d85b420, 0x36891: 0x6d85b620, 0x36892: 0x6daa4a20, 0x36893: 0x6daa4c20,\n\t0x36894: 0x6daa4e20, 0x36895: 0x6daa5020, 0x36896: 0x6daa5220, 0x36897: 0x6daa5420,\n\t0x36898: 0x6daa5620, 0x36899: 0x6daa5820, 0x3689a: 0x6daa5a20, 0x3689b: 0x6db99020,\n\t0x3689c: 0x6daa5c20, 0x3689d: 0x6daa5e20, 0x3689e: 0x6daa6020, 0x3689f: 0x6daa6220,\n\t0x368a0: 0x6daa6420, 0x368a1: 0x6daa6620, 0x368a2: 0x6daa6820, 0x368a3: 0x6daa6a20,\n\t0x368a4: 0x6dcb1020, 0x368a5: 0x6dcb1220, 0x368a6: 0x6dcb1420, 0x368a7: 0x6dcb1620,\n\t0x368a8: 0x6dcb1820, 0x368a9: 0x6de68420, 0x368aa: 0x6de68620, 0x368ab: 0x6de68820,\n\t0x368ac: 0x6de68a20, 0x368ad: 0x6de68c20, 0x368ae: 0x6de68e20, 0x368af: 0x6de69020,\n\t0x368b0: 0x6de69220, 0x368b1: 0x6dfd3820, 0x368b2: 0x6de69420, 0x368b3: 0x6dfd3a20,\n\t0x368b4: 0x6dfd3c20, 0x368b5: 0x6dfd3e20, 0x368b6: 0x6dfd4020, 0x368b7: 0x6dfd4220,\n\t0x368b8: 0x6dfd4420, 0x368b9: 0x6e100e20, 0x368ba: 0x6e101020, 0x368bb: 0x6e101220,\n\t0x368bc: 0x6e101420, 0x368bd: 0x6e101620, 0x368be: 0x6e101820, 0x368bf: 0x6e1ee020,\n\t// Block 0xda3, offset 0x368c0\n\t0x368c0: 0x6e1ee220, 0x368c1: 0x6e1ee420, 0x368c2: 0x6e2a4220, 0x368c3: 0x6e2a4420,\n\t0x368c4: 0x6e2a4620, 0x368c5: 0x6e32ec20, 0x368c6: 0x6e392820, 0x368c7: 0x6e3d7620,\n\t0x368c8: 0x6e3d7820, 0x368c9: 0x6e3d7a20, 0x368ca: 0x6e3d7c20, 0x368cb: 0x6e3d7e20,\n\t0x368cc: 0x6e407e20, 0x368cd: 0x6e408020, 0x368ce: 0x6e42c620, 0x368cf: 0x6e452820,\n\t0x368d0: 0x6e463220, 0x368d1: 0x6e468620, 0x368d2: 0x6e46e820, 0x368d3: 0x6c0a1c20,\n\t0x368d4: 0x6c0a1e20, 0x368d5: 0x6c13dc20, 0x368d6: 0x6c3c1620, 0x368d7: 0x6c7b1020,\n\t0x368d8: 0x6c588e20, 0x368d9: 0x6cd20c20, 0x368da: 0x6cd20e20, 0x368db: 0x6cd21020,\n\t0x368dc: 0x6cfff220, 0x368dd: 0x6cfff420, 0x368de: 0x6d5b2e20, 0x368df: 0x6d85be20,\n\t0x368e0: 0x6d85c020, 0x368e1: 0x6d85c220, 0x368e2: 0x6d85c420, 0x368e3: 0x6dcb1e20,\n\t0x368e4: 0x6e1ee620, 0x368e5: 0x6c13de20, 0x368e6: 0x6c24e220, 0x368e7: 0x6c24e420,\n\t0x368e8: 0x6c24e620, 0x368e9: 0x6c24e820, 0x368ea: 0x6c24ea20, 0x368eb: 0x6c24ec20,\n\t0x368ec: 0x6c24ee20, 0x368ed: 0x6c24f020, 0x368ee: 0x6c24f220, 0x368ef: 0x6c3c3220,\n\t0x368f0: 0x6c3c3420, 0x368f1: 0x6c3c3620, 0x368f2: 0x6c3c3820, 0x368f3: 0x6c3c3a20,\n\t0x368f4: 0x6c3c3c20, 0x368f5: 0x6c3c3e20, 0x368f6: 0x6c3c4020, 0x368f7: 0x6c58ba20,\n\t0x368f8: 0x6c58bc20, 0x368f9: 0x6c58be20, 0x368fa: 0x6c58c020, 0x368fb: 0x6c58c220,\n\t0x368fc: 0x6c58c420, 0x368fd: 0x6c58c620, 0x368fe: 0x6c58c820, 0x368ff: 0x6c58ca20,\n\t// Block 0xda4, offset 0x36900\n\t0x36900: 0x6c58cc20, 0x36901: 0x6c58ce20, 0x36902: 0x6c58d020, 0x36903: 0x6c58d220,\n\t0x36904: 0x6c58d420, 0x36905: 0x6c58d620, 0x36906: 0x6c58d820, 0x36907: 0x6c58da20,\n\t0x36908: 0x6c58dc20, 0x36909: 0x6c58de20, 0x3690a: 0x6c58e020, 0x3690b: 0x6c58e220,\n\t0x3690c: 0x6c58e420, 0x3690d: 0x6c58e620, 0x3690e: 0x6c58e820, 0x3690f: 0x6c58ea20,\n\t0x36910: 0x6c58ec20, 0x36911: 0x6c58ee20, 0x36912: 0x6c58f020, 0x36913: 0x6c58f220,\n\t0x36914: 0x6c58f420, 0x36915: 0x6c58f620, 0x36916: 0x6c58f820, 0x36917: 0x6c7b5c20,\n\t0x36918: 0x6c7b5e20, 0x36919: 0x6c7b6020, 0x3691a: 0x6c7b6220, 0x3691b: 0x6c7b6420,\n\t0x3691c: 0x6c7b6620, 0x3691d: 0x6c7b6820, 0x3691e: 0x6c7b6a20, 0x3691f: 0x6c7b6c20,\n\t0x36920: 0x6c7b6e20, 0x36921: 0x6c7b7020, 0x36922: 0x6c7b7220, 0x36923: 0x6c7b7420,\n\t0x36924: 0x6c7b7620, 0x36925: 0x6c7b7820, 0x36926: 0x6c7b7a20, 0x36927: 0x6c7b7c20,\n\t0x36928: 0x6c7b7e20, 0x36929: 0x6c7b8020, 0x3692a: 0x6c7b8220, 0x3692b: 0x6c7b8420,\n\t0x3692c: 0x6c7b8620, 0x3692d: 0x6c7b8820, 0x3692e: 0x6c7b8a20, 0x3692f: 0x6c7b8c20,\n\t0x36930: 0x6c7b8e20, 0x36931: 0x6c7b9020, 0x36932: 0x6c7b9220, 0x36933: 0x6c7b9420,\n\t0x36934: 0x6c7b9620, 0x36935: 0x6c7b9820, 0x36936: 0x6c7b9a20, 0x36937: 0x6ca44820,\n\t0x36938: 0x6ca44a20, 0x36939: 0x6ca44c20, 0x3693a: 0x6ca44e20, 0x3693b: 0x6ca45020,\n\t0x3693c: 0x6ca45220, 0x3693d: 0x6ca45420, 0x3693e: 0x6ca45620, 0x3693f: 0x6ca45820,\n\t// Block 0xda5, offset 0x36940\n\t0x36940: 0x6ca45a20, 0x36941: 0x6ca45c20, 0x36942: 0x6ca45e20, 0x36943: 0x6ca46020,\n\t0x36944: 0x6ca46220, 0x36945: 0x6ca46420, 0x36946: 0x6ca46620, 0x36947: 0x6ca46820,\n\t0x36948: 0x6ca46a20, 0x36949: 0x6ca46c20, 0x3694a: 0x6ca46e20, 0x3694b: 0x6ca47020,\n\t0x3694c: 0x6ca47220, 0x3694d: 0x6ca47420, 0x3694e: 0x6ca47620, 0x3694f: 0x6ca47820,\n\t0x36950: 0x6ca47a20, 0x36951: 0x6ca47c20, 0x36952: 0x6ca47e20, 0x36953: 0x6ca48020,\n\t0x36954: 0x6ca48220, 0x36955: 0x6cd25a20, 0x36956: 0x6cd25c20, 0x36957: 0x6cd25e20,\n\t0x36958: 0x6cd26020, 0x36959: 0x6cd26220, 0x3695a: 0x6cd26420, 0x3695b: 0x6cd26620,\n\t0x3695c: 0x6cd26820, 0x3695d: 0x6cd26a20, 0x3695e: 0x6cd26c20, 0x3695f: 0x6cd26e20,\n\t0x36960: 0x6cd27020, 0x36961: 0x6cd27220, 0x36962: 0x6cd27420, 0x36963: 0x6cd27620,\n\t0x36964: 0x6cd27820, 0x36965: 0x6cd27a20, 0x36966: 0x6cd27c20, 0x36967: 0x6cd27e20,\n\t0x36968: 0x6cd28020, 0x36969: 0x6cd28220, 0x3696a: 0x6cd28420, 0x3696b: 0x6cd28620,\n\t0x3696c: 0x6cd28820, 0x3696d: 0x6cd28a20, 0x3696e: 0x6cd28c20, 0x3696f: 0x6cd28e20,\n\t0x36970: 0x6cd29020, 0x36971: 0x6cd29220, 0x36972: 0x6cd29420, 0x36973: 0x6cd29620,\n\t0x36974: 0x6cd29820, 0x36975: 0x6cd29a20, 0x36976: 0x6cd29c20, 0x36977: 0x6cd29e20,\n\t0x36978: 0x6cd2a020, 0x36979: 0x6cd2a220, 0x3697a: 0x6cd2a420, 0x3697b: 0x6cd2a620,\n\t0x3697c: 0x6cd2a820, 0x3697d: 0x6cd2aa20, 0x3697e: 0x6cd2ac20, 0x3697f: 0x6cd2ae20,\n\t// Block 0xda6, offset 0x36980\n\t0x36980: 0x6cd2b020, 0x36981: 0x6cd2b220, 0x36982: 0x6d003c20, 0x36983: 0x6d003e20,\n\t0x36984: 0x6d004020, 0x36985: 0x6d004220, 0x36986: 0x6d004420, 0x36987: 0x6d004620,\n\t0x36988: 0x6d004820, 0x36989: 0x6d004a20, 0x3698a: 0x6d004c20, 0x3698b: 0x6d004e20,\n\t0x3698c: 0x6d005020, 0x3698d: 0x6d005220, 0x3698e: 0x6d005420, 0x3698f: 0x6d005620,\n\t0x36990: 0x6d005820, 0x36991: 0x6d005a20, 0x36992: 0x6d005c20, 0x36993: 0x6d005e20,\n\t0x36994: 0x6d006020, 0x36995: 0x6d006220, 0x36996: 0x6d006420, 0x36997: 0x6d006620,\n\t0x36998: 0x6d006820, 0x36999: 0x6d006a20, 0x3699a: 0x6d006c20, 0x3699b: 0x6d006e20,\n\t0x3699c: 0x6d007020, 0x3699d: 0x6d007220, 0x3699e: 0x6d007420, 0x3699f: 0x6d007620,\n\t0x369a0: 0x6d007820, 0x369a1: 0x6d007a20, 0x369a2: 0x6d007c20, 0x369a3: 0x6d007e20,\n\t0x369a4: 0x6d008020, 0x369a5: 0x6d008220, 0x369a6: 0x6d008420, 0x369a7: 0x6d008620,\n\t0x369a8: 0x6d008820, 0x369a9: 0x6d008a20, 0x369aa: 0x6d008c20, 0x369ab: 0x6d008e20,\n\t0x369ac: 0x6d009020, 0x369ad: 0x6d009220, 0x369ae: 0x6d009420, 0x369af: 0x6d009620,\n\t0x369b0: 0x6d009820, 0x369b1: 0x6d009a20, 0x369b2: 0x6d009c20, 0x369b3: 0x6d009e20,\n\t0x369b4: 0x6d00a020, 0x369b5: 0x6d00a220, 0x369b6: 0x6d00a420, 0x369b7: 0x6d00a620,\n\t0x369b8: 0x6d00a820, 0x369b9: 0x6d00aa20, 0x369ba: 0x6d00ac20, 0x369bb: 0x6d2e4220,\n\t0x369bc: 0x6d2e4420, 0x369bd: 0x6d2e4620, 0x369be: 0x6d2e4820, 0x369bf: 0x6d2e4a20,\n\t// Block 0xda7, offset 0x369c0\n\t0x369c0: 0x6d2e4c20, 0x369c1: 0x6d2e4e20, 0x369c2: 0x6d2e5020, 0x369c3: 0x6d2e5220,\n\t0x369c4: 0x6d2e5420, 0x369c5: 0x6d2e5620, 0x369c6: 0x6d2e5820, 0x369c7: 0x6d2e5a20,\n\t0x369c8: 0x6d2e5c20, 0x369c9: 0x6d2e5e20, 0x369ca: 0x6d2e6020, 0x369cb: 0x6d2e6220,\n\t0x369cc: 0x6d2e6420, 0x369cd: 0x6d2e6620, 0x369ce: 0x6d2e6820, 0x369cf: 0x6d2e6a20,\n\t0x369d0: 0x6d2e6c20, 0x369d1: 0x6d2e6e20, 0x369d2: 0x6d2e7020, 0x369d3: 0x6d2e7220,\n\t0x369d4: 0x6d2e7420, 0x369d5: 0x6d2e7620, 0x369d6: 0x6d2e7820, 0x369d7: 0x6d2e7a20,\n\t0x369d8: 0x6d2e7c20, 0x369d9: 0x6d2e7e20, 0x369da: 0x6d2e8020, 0x369db: 0x6d2e8220,\n\t0x369dc: 0x6d2e8420, 0x369dd: 0x6d2e8620, 0x369de: 0x6d2e8820, 0x369df: 0x6d2e8a20,\n\t0x369e0: 0x6d2e8c20, 0x369e1: 0x6d2e8e20, 0x369e2: 0x6d2e9020, 0x369e3: 0x6d2e9220,\n\t0x369e4: 0x6d2e9420, 0x369e5: 0x6d2e9620, 0x369e6: 0x6d2e9820, 0x369e7: 0x6d2e9a20,\n\t0x369e8: 0x6d2e9c20, 0x369e9: 0x6d2e9e20, 0x369ea: 0x6d5b6c20, 0x369eb: 0x6d5b6e20,\n\t0x369ec: 0x6d5b7020, 0x369ed: 0x6d5b7220, 0x369ee: 0x6d5b7420, 0x369ef: 0x6d5b7620,\n\t0x369f0: 0x6d5b7820, 0x369f1: 0x6d5b7a20, 0x369f2: 0x6d5b7c20, 0x369f3: 0x6d5b7e20,\n\t0x369f4: 0x6d5b8020, 0x369f5: 0x6d5b8220, 0x369f6: 0x6d5b8420, 0x369f7: 0x6d5b8620,\n\t0x369f8: 0x6d5b8820, 0x369f9: 0x6d5b8a20, 0x369fa: 0x6d5b8c20, 0x369fb: 0x6d5b8e20,\n\t0x369fc: 0x6d5b9020, 0x369fd: 0x6d5b9220, 0x369fe: 0x6d5b9420, 0x369ff: 0x6d5b9620,\n\t// Block 0xda8, offset 0x36a00\n\t0x36a00: 0x6d5b9820, 0x36a01: 0x6d5b9a20, 0x36a02: 0x6d5b9c20, 0x36a03: 0x6d5b9e20,\n\t0x36a04: 0x6d5ba020, 0x36a05: 0x6d5ba220, 0x36a06: 0x6d5ba420, 0x36a07: 0x6d5ba620,\n\t0x36a08: 0x6d5ba820, 0x36a09: 0x6d5baa20, 0x36a0a: 0x6d5bac20, 0x36a0b: 0x6d5bae20,\n\t0x36a0c: 0x6d5bb020, 0x36a0d: 0x6d5bb220, 0x36a0e: 0x6d5bb420, 0x36a0f: 0x6d5bb620,\n\t0x36a10: 0x6d5bb820, 0x36a11: 0x6d5bba20, 0x36a12: 0x6d5bbc20, 0x36a13: 0x6d5bbe20,\n\t0x36a14: 0x6d5bc020, 0x36a15: 0x6d5bc220, 0x36a16: 0x6d5bc420, 0x36a17: 0x6d5bc620,\n\t0x36a18: 0x6d5bc820, 0x36a19: 0x6d5bca20, 0x36a1a: 0x6d5bcc20, 0x36a1b: 0x6d5bce20,\n\t0x36a1c: 0x6d5bd020, 0x36a1d: 0x6d85fe20, 0x36a1e: 0x6d860020, 0x36a1f: 0x6d860220,\n\t0x36a20: 0x6d860420, 0x36a21: 0x6d860620, 0x36a22: 0x6d860820, 0x36a23: 0x6d860a20,\n\t0x36a24: 0x6d860c20, 0x36a25: 0x6d860e20, 0x36a26: 0x6d861020, 0x36a27: 0x6d861220,\n\t0x36a28: 0x6d861420, 0x36a29: 0x6d861620, 0x36a2a: 0x6d861820, 0x36a2b: 0x6d861a20,\n\t0x36a2c: 0x6d861c20, 0x36a2d: 0x6d861e20, 0x36a2e: 0x6d862020, 0x36a2f: 0x6d862220,\n\t0x36a30: 0x6d862420, 0x36a31: 0x6d862620, 0x36a32: 0x6d862820, 0x36a33: 0x6d862a20,\n\t0x36a34: 0x6d862c20, 0x36a35: 0x6d862e20, 0x36a36: 0x6d863020, 0x36a37: 0x6d863220,\n\t0x36a38: 0x6d863420, 0x36a39: 0x6d863620, 0x36a3a: 0x6d863820, 0x36a3b: 0x6d863a20,\n\t0x36a3c: 0x6d863c20, 0x36a3d: 0x6d863e20, 0x36a3e: 0x6d864020, 0x36a3f: 0x6d864220,\n\t// Block 0xda9, offset 0x36a40\n\t0x36a40: 0x6d864420, 0x36a41: 0x6d864620, 0x36a42: 0x6d864820, 0x36a43: 0x6daa9020,\n\t0x36a44: 0x6daa9220, 0x36a45: 0x6daa9420, 0x36a46: 0x6daa9620, 0x36a47: 0x6daa9820,\n\t0x36a48: 0x6daa9a20, 0x36a49: 0x6daa9c20, 0x36a4a: 0x6daa9e20, 0x36a4b: 0x6daaa020,\n\t0x36a4c: 0x6daaa220, 0x36a4d: 0x6daaa420, 0x36a4e: 0x6daaa620, 0x36a4f: 0x6daaa820,\n\t0x36a50: 0x6daaaa20, 0x36a51: 0x6daaac20, 0x36a52: 0x6daaae20, 0x36a53: 0x6daab020,\n\t0x36a54: 0x6daab220, 0x36a55: 0x6daab420, 0x36a56: 0x6daab620, 0x36a57: 0x6daab820,\n\t0x36a58: 0x6daaba20, 0x36a59: 0x6daabc20, 0x36a5a: 0x6daabe20, 0x36a5b: 0x6daac020,\n\t0x36a5c: 0x6daac220, 0x36a5d: 0x6daac420, 0x36a5e: 0x6d864a20, 0x36a5f: 0x6daac620,\n\t0x36a60: 0x6daac820, 0x36a61: 0x6daaca20, 0x36a62: 0x6daacc20, 0x36a63: 0x6daace20,\n\t0x36a64: 0x6daad020, 0x36a65: 0x6daad220, 0x36a66: 0x6daad420, 0x36a67: 0x6daad620,\n\t0x36a68: 0x6daad820, 0x36a69: 0x6daada20, 0x36a6a: 0x6daadc20, 0x36a6b: 0x6daade20,\n\t0x36a6c: 0x6daae020, 0x36a6d: 0x6daae220, 0x36a6e: 0x6daae420, 0x36a6f: 0x6daae620,\n\t0x36a70: 0x6daae820, 0x36a71: 0x6daaea20, 0x36a72: 0x6daaec20, 0x36a73: 0x6daaee20,\n\t0x36a74: 0x6daaf020, 0x36a75: 0x6daaf220, 0x36a76: 0x6daaf420, 0x36a77: 0x6daaf620,\n\t0x36a78: 0x6daaf820, 0x36a79: 0x6daafa20, 0x36a7a: 0x6dcb4c20, 0x36a7b: 0x6dcb4e20,\n\t0x36a7c: 0x6dcb5020, 0x36a7d: 0x6dcb5220, 0x36a7e: 0x6dcb5420, 0x36a7f: 0x6dcb5620,\n\t// Block 0xdaa, offset 0x36a80\n\t0x36a80: 0x6dcb5820, 0x36a81: 0x6dcb5a20, 0x36a82: 0x6dcb5c20, 0x36a83: 0x6dcb5e20,\n\t0x36a84: 0x6dcb6020, 0x36a85: 0x6dcb6220, 0x36a86: 0x6dcb6420, 0x36a87: 0x6dcb6620,\n\t0x36a88: 0x6dcb6820, 0x36a89: 0x6dcb6a20, 0x36a8a: 0x6dcb6c20, 0x36a8b: 0x6dcb6e20,\n\t0x36a8c: 0x6dcb7020, 0x36a8d: 0x6dcb7220, 0x36a8e: 0x6dcb7420, 0x36a8f: 0x6dcb7620,\n\t0x36a90: 0x6dcb7820, 0x36a91: 0x6dcb7a20, 0x36a92: 0x6dcb7c20, 0x36a93: 0x6dcb7e20,\n\t0x36a94: 0x6dcb8020, 0x36a95: 0x6de6a420, 0x36a96: 0x6de6a620, 0x36a97: 0x6de6a820,\n\t0x36a98: 0x6de6aa20, 0x36a99: 0x6de6ac20, 0x36a9a: 0x6de6ae20, 0x36a9b: 0x6de6b020,\n\t0x36a9c: 0x6de6b220, 0x36a9d: 0x6de6b420, 0x36a9e: 0x6de6b620, 0x36a9f: 0x6de6b820,\n\t0x36aa0: 0x6de6ba20, 0x36aa1: 0x6de6bc20, 0x36aa2: 0x6de6be20, 0x36aa3: 0x6de6c020,\n\t0x36aa4: 0x6de6c220, 0x36aa5: 0x6de6c420, 0x36aa6: 0x6de6c620, 0x36aa7: 0x6de6c820,\n\t0x36aa8: 0x6de6ca20, 0x36aa9: 0x6de6cc20, 0x36aaa: 0x6de6ce20, 0x36aab: 0x6de6d020,\n\t0x36aac: 0x6de6d220, 0x36aad: 0x6de6d420, 0x36aae: 0x6de6d620, 0x36aaf: 0x6de6d820,\n\t0x36ab0: 0x6dfd5220, 0x36ab1: 0x6dfd5420, 0x36ab2: 0x6dfd5620, 0x36ab3: 0x6dfd5820,\n\t0x36ab4: 0x6dfd5a20, 0x36ab5: 0x6dfd5c20, 0x36ab6: 0x6dfd5e20, 0x36ab7: 0x6dfd6020,\n\t0x36ab8: 0x6dfd6220, 0x36ab9: 0x6dfd6420, 0x36aba: 0x6dfd6620, 0x36abb: 0x6dfd6820,\n\t0x36abc: 0x6dfd6a20, 0x36abd: 0x6dfd6c20, 0x36abe: 0x6dfd6e20, 0x36abf: 0x6dfd7020,\n\t// Block 0xdab, offset 0x36ac0\n\t0x36ac0: 0x6e102e20, 0x36ac1: 0x6e103020, 0x36ac2: 0x6e103220, 0x36ac3: 0x6e103420,\n\t0x36ac4: 0x6e103620, 0x36ac5: 0x6e103820, 0x36ac6: 0x6e103a20, 0x36ac7: 0x6e103c20,\n\t0x36ac8: 0x6e103e20, 0x36ac9: 0x6e104020, 0x36aca: 0x6e104220, 0x36acb: 0x6e1ef020,\n\t0x36acc: 0x6e1ef220, 0x36acd: 0x6e1ef420, 0x36ace: 0x6e1ef620, 0x36acf: 0x6e1ef820,\n\t0x36ad0: 0x6e2a4e20, 0x36ad1: 0x6e2a5020, 0x36ad2: 0x6e2a5220, 0x36ad3: 0x6e2a5420,\n\t0x36ad4: 0x6e2a5620, 0x36ad5: 0x6e2a5820, 0x36ad6: 0x6e2a5a20, 0x36ad7: 0x6e2a5c20,\n\t0x36ad8: 0x6e32f620, 0x36ad9: 0x6e32f820, 0x36ada: 0x6e32fa20, 0x36adb: 0x6e32fc20,\n\t0x36adc: 0x6e392a20, 0x36add: 0x6e392c20, 0x36ade: 0x6e392e20, 0x36adf: 0x6e3d8220,\n\t0x36ae0: 0x6e3d8420, 0x36ae1: 0x6e3d8620, 0x36ae2: 0x6e408220, 0x36ae3: 0x6e42cc20,\n\t0x36ae4: 0x6e443a20, 0x36ae5: 0x6c24f420, 0x36ae6: 0x6c24f620, 0x36ae7: 0x6c590820,\n\t0x36ae8: 0x6c590a20, 0x36ae9: 0x6c7ba420, 0x36aea: 0x6c7ba620, 0x36aeb: 0x6c7ba820,\n\t0x36aec: 0x6ca48620, 0x36aed: 0x6ca48820, 0x36aee: 0x6ca48a20, 0x36aef: 0x6cd2bc20,\n\t0x36af0: 0x6cd2be20, 0x36af1: 0x6cd2c020, 0x36af2: 0x6cd2c220, 0x36af3: 0x6d00b420,\n\t0x36af4: 0x6d00b620, 0x36af5: 0x6d00b820, 0x36af6: 0x6d2ea620, 0x36af7: 0x6d5bd820,\n\t0x36af8: 0x6d5bda20, 0x36af9: 0x6d864c20, 0x36afa: 0x6d864e20, 0x36afb: 0x6dfd7220,\n\t0x36afc: 0x6d865020, 0x36afd: 0x6c13e420, 0x36afe: 0x6c13e620, 0x36aff: 0x6c250220,\n\t// Block 0xdac, offset 0x36b00\n\t0x36b00: 0x6c250420, 0x36b01: 0x6c250620, 0x36b02: 0x6c3c4820, 0x36b03: 0x6c3c4a20,\n\t0x36b04: 0x6c3c4c20, 0x36b05: 0x6c3c4e20, 0x36b06: 0x6c3c5020, 0x36b07: 0x6c3c5220,\n\t0x36b08: 0x6c591620, 0x36b09: 0x6c591820, 0x36b0a: 0x6c591a20, 0x36b0b: 0x6c591c20,\n\t0x36b0c: 0x6c591e20, 0x36b0d: 0x6c592020, 0x36b0e: 0x6c592220, 0x36b0f: 0x6c592420,\n\t0x36b10: 0x6c592620, 0x36b11: 0x6c592820, 0x36b12: 0x6c592a20, 0x36b13: 0x6c592c20,\n\t0x36b14: 0x6c592e20, 0x36b15: 0x6c593020, 0x36b16: 0x6c593220, 0x36b17: 0x6c593420,\n\t0x36b18: 0x6c7bb620, 0x36b19: 0x6c7bb820, 0x36b1a: 0x6c7bba20, 0x36b1b: 0x6c7bbc20,\n\t0x36b1c: 0x6c7bbe20, 0x36b1d: 0x6c7bc020, 0x36b1e: 0x6c7bc220, 0x36b1f: 0x6c7bc420,\n\t0x36b20: 0x6c7bc620, 0x36b21: 0x6c7bc820, 0x36b22: 0x6c7bca20, 0x36b23: 0x6c7bcc20,\n\t0x36b24: 0x6c7bce20, 0x36b25: 0x6ca49a20, 0x36b26: 0x6ca49c20, 0x36b27: 0x6ca49e20,\n\t0x36b28: 0x6ca4a020, 0x36b29: 0x6ca4a220, 0x36b2a: 0x6ca4a420, 0x36b2b: 0x6ca4a620,\n\t0x36b2c: 0x6cd2d020, 0x36b2d: 0x6cd2d220, 0x36b2e: 0x6cd2d420, 0x36b2f: 0x6cd2d620,\n\t0x36b30: 0x6cd2d820, 0x36b31: 0x6cd2da20, 0x36b32: 0x6cd2dc20, 0x36b33: 0x6cd2de20,\n\t0x36b34: 0x6cd2e020, 0x36b35: 0x6cd2e220, 0x36b36: 0x6cd2e420, 0x36b37: 0x6cd2e620,\n\t0x36b38: 0x6cd2e820, 0x36b39: 0x6d00c220, 0x36b3a: 0x6d00c420, 0x36b3b: 0x6d00c620,\n\t0x36b3c: 0x6d00c820, 0x36b3d: 0x6d00ca20, 0x36b3e: 0x6d00cc20, 0x36b3f: 0x6d00ce20,\n\t// Block 0xdad, offset 0x36b40\n\t0x36b40: 0x6d00d020, 0x36b41: 0x6d00d220, 0x36b42: 0x6d00d420, 0x36b43: 0x6d00d620,\n\t0x36b44: 0x6d00d820, 0x36b45: 0x6d00da20, 0x36b46: 0x6d00dc20, 0x36b47: 0x6d00de20,\n\t0x36b48: 0x6d2eac20, 0x36b49: 0x6d2eae20, 0x36b4a: 0x6d2eb020, 0x36b4b: 0x6d2eb220,\n\t0x36b4c: 0x6d2eb420, 0x36b4d: 0x6d2eb620, 0x36b4e: 0x6d2eb820, 0x36b4f: 0x6d2eba20,\n\t0x36b50: 0x6d2ebc20, 0x36b51: 0x6d2ebe20, 0x36b52: 0x6d2ec020, 0x36b53: 0x6d2ec220,\n\t0x36b54: 0x6d5be820, 0x36b55: 0x6d5bea20, 0x36b56: 0x6d5bec20, 0x36b57: 0x6d5bee20,\n\t0x36b58: 0x6d5bf020, 0x36b59: 0x6d5bf220, 0x36b5a: 0x6d5bf420, 0x36b5b: 0x6d865a20,\n\t0x36b5c: 0x6d865c20, 0x36b5d: 0x6d865e20, 0x36b5e: 0x6d866020, 0x36b5f: 0x6d866220,\n\t0x36b60: 0x6dab0820, 0x36b61: 0x6dab0a20, 0x36b62: 0x6dab0c20, 0x36b63: 0x6dab0e20,\n\t0x36b64: 0x6dab1020, 0x36b65: 0x6dab1220, 0x36b66: 0x6dab1420, 0x36b67: 0x6dcb8a20,\n\t0x36b68: 0x6dcb8c20, 0x36b69: 0x6dcb8e20, 0x36b6a: 0x6dcb9020, 0x36b6b: 0x6de6e020,\n\t0x36b6c: 0x6de6e220, 0x36b6d: 0x6de6e420, 0x36b6e: 0x6de6e620, 0x36b6f: 0x6de6e820,\n\t0x36b70: 0x6de6ea20, 0x36b71: 0x6de6ec20, 0x36b72: 0x6de6ee20, 0x36b73: 0x6de6f020,\n\t0x36b74: 0x6dfd7820, 0x36b75: 0x6dfd7a20, 0x36b76: 0x6dfd7c20, 0x36b77: 0x6dfd7e20,\n\t0x36b78: 0x6e104820, 0x36b79: 0x6e104a20, 0x36b7a: 0x6e104c20, 0x36b7b: 0x6e1efa20,\n\t0x36b7c: 0x6e1efc20, 0x36b7d: 0x6e1efe20, 0x36b7e: 0x6e2a5e20, 0x36b7f: 0x6e2a6020,\n\t// Block 0xdae, offset 0x36b80\n\t0x36b80: 0x6e32fe20, 0x36b81: 0x6e330020, 0x36b82: 0x6e330220, 0x36b83: 0x6e330420,\n\t0x36b84: 0x6e393220, 0x36b85: 0x6e443c20, 0x36b86: 0x6c250820, 0x36b87: 0x6c250a20,\n\t0x36b88: 0x6c3c5820, 0x36b89: 0x6c3c5a20, 0x36b8a: 0x6c3c5c20, 0x36b8b: 0x6c3c5e20,\n\t0x36b8c: 0x6c3c6020, 0x36b8d: 0x6c3c6220, 0x36b8e: 0x6c593e20, 0x36b8f: 0x6c594020,\n\t0x36b90: 0x6c594220, 0x36b91: 0x6c594420, 0x36b92: 0x6c594620, 0x36b93: 0x6c594820,\n\t0x36b94: 0x6c594a20, 0x36b95: 0x6c7bdc20, 0x36b96: 0x6c7bde20, 0x36b97: 0x6c7be020,\n\t0x36b98: 0x6c7be220, 0x36b99: 0x6c7be420, 0x36b9a: 0x6c7be620, 0x36b9b: 0x6c7be820,\n\t0x36b9c: 0x6c7bea20, 0x36b9d: 0x6c7bec20, 0x36b9e: 0x6c7bee20, 0x36b9f: 0x6ca4ae20,\n\t0x36ba0: 0x6ca4b020, 0x36ba1: 0x6ca4b220, 0x36ba2: 0x6ca4b420, 0x36ba3: 0x6ca4b620,\n\t0x36ba4: 0x6ca4b820, 0x36ba5: 0x6ca4ba20, 0x36ba6: 0x6ca4bc20, 0x36ba7: 0x6cd2f420,\n\t0x36ba8: 0x6cd2f620, 0x36ba9: 0x6cd2f820, 0x36baa: 0x6cd2fa20, 0x36bab: 0x6cd2fc20,\n\t0x36bac: 0x6cd2fe20, 0x36bad: 0x6cd30020, 0x36bae: 0x6cd30220, 0x36baf: 0x6d00ec20,\n\t0x36bb0: 0x6cd30420, 0x36bb1: 0x6cd30620, 0x36bb2: 0x6cd30820, 0x36bb3: 0x6d00ee20,\n\t0x36bb4: 0x6d00f020, 0x36bb5: 0x6d00f220, 0x36bb6: 0x6d00f420, 0x36bb7: 0x6d00f620,\n\t0x36bb8: 0x6d00f820, 0x36bb9: 0x6d00fa20, 0x36bba: 0x6d00fc20, 0x36bbb: 0x6d00fe20,\n\t0x36bbc: 0x6d010020, 0x36bbd: 0x6d010220, 0x36bbe: 0x6d010420, 0x36bbf: 0x6d010620,\n\t// Block 0xdaf, offset 0x36bc0\n\t0x36bc0: 0x6d2ed420, 0x36bc1: 0x6d2ed620, 0x36bc2: 0x6d2ed820, 0x36bc3: 0x6d2eda20,\n\t0x36bc4: 0x6d2edc20, 0x36bc5: 0x6d2ede20, 0x36bc6: 0x6d2ee020, 0x36bc7: 0x6d2ee220,\n\t0x36bc8: 0x6d2ee420, 0x36bc9: 0x6d2ee620, 0x36bca: 0x6d2ee820, 0x36bcb: 0x6d2eea20,\n\t0x36bcc: 0x6d2eec20, 0x36bcd: 0x6d5bfe20, 0x36bce: 0x6d5c0020, 0x36bcf: 0x6d5c0220,\n\t0x36bd0: 0x6d5c0420, 0x36bd1: 0x6d5c0620, 0x36bd2: 0x6d5c0820, 0x36bd3: 0x6d5c0a20,\n\t0x36bd4: 0x6d866820, 0x36bd5: 0x6d866a20, 0x36bd6: 0x6d866c20, 0x36bd7: 0x6d866e20,\n\t0x36bd8: 0x6d867020, 0x36bd9: 0x6d867220, 0x36bda: 0x6d867420, 0x36bdb: 0x6d867620,\n\t0x36bdc: 0x6d867820, 0x36bdd: 0x6d867a20, 0x36bde: 0x6d867c20, 0x36bdf: 0x6dab1820,\n\t0x36be0: 0x6dab1a20, 0x36be1: 0x6dab1c20, 0x36be2: 0x6dcb9620, 0x36be3: 0x6dcb9820,\n\t0x36be4: 0x6dcb9a20, 0x36be5: 0x6dcb9c20, 0x36be6: 0x6dcb9e20, 0x36be7: 0x6dcba020,\n\t0x36be8: 0x6dcba220, 0x36be9: 0x6dcba420, 0x36bea: 0x6dcba620, 0x36beb: 0x6de6f220,\n\t0x36bec: 0x6de6f420, 0x36bed: 0x6de6f620, 0x36bee: 0x6de6f820, 0x36bef: 0x6dfd8420,\n\t0x36bf0: 0x6dfd8620, 0x36bf1: 0x6dfd8820, 0x36bf2: 0x6dfd8a20, 0x36bf3: 0x6dfd8c20,\n\t0x36bf4: 0x6e105020, 0x36bf5: 0x6e105220, 0x36bf6: 0x6e1f0220, 0x36bf7: 0x6e1f0420,\n\t0x36bf8: 0x6e1f0620, 0x36bf9: 0x6e330620, 0x36bfa: 0x6e330820, 0x36bfb: 0x6e3c7e20,\n\t0x36bfc: 0x6e3fda20, 0x36bfd: 0x6e450420, 0x36bfe: 0x6e46a420, 0x36bff: 0x6c251020,\n\t// Block 0xdb0, offset 0x36c00\n\t0x36c00: 0x6c251220, 0x36c01: 0x6c3c6a20, 0x36c02: 0x6c3c6c20, 0x36c03: 0x6c3c6e20,\n\t0x36c04: 0x6c3c7020, 0x36c05: 0x6c3c7220, 0x36c06: 0x6c595e20, 0x36c07: 0x6c596020,\n\t0x36c08: 0x6c596220, 0x36c09: 0x6c596420, 0x36c0a: 0x6c596620, 0x36c0b: 0x6c596820,\n\t0x36c0c: 0x6c596a20, 0x36c0d: 0x6c596c20, 0x36c0e: 0x6c7c0820, 0x36c0f: 0x6c7c0a20,\n\t0x36c10: 0x6c7c0c20, 0x36c11: 0x6c7c0e20, 0x36c12: 0x6c7c1020, 0x36c13: 0x6c7c1220,\n\t0x36c14: 0x6c7c1420, 0x36c15: 0x6c7c1620, 0x36c16: 0x6c7c1820, 0x36c17: 0x6c7c1a20,\n\t0x36c18: 0x6c7c1c20, 0x36c19: 0x6c7c1e20, 0x36c1a: 0x6c7c2020, 0x36c1b: 0x6c7c2220,\n\t0x36c1c: 0x6c7c2420, 0x36c1d: 0x6c7c2620, 0x36c1e: 0x6ca4d220, 0x36c1f: 0x6ca4d420,\n\t0x36c20: 0x6ca4d620, 0x36c21: 0x6ca4d820, 0x36c22: 0x6ca4da20, 0x36c23: 0x6ca4dc20,\n\t0x36c24: 0x6ca4de20, 0x36c25: 0x6ca4e020, 0x36c26: 0x6ca4e220, 0x36c27: 0x6ca4e420,\n\t0x36c28: 0x6ca4e620, 0x36c29: 0x6ca4e820, 0x36c2a: 0x6ca4ea20, 0x36c2b: 0x6c7c2820,\n\t0x36c2c: 0x6cd31220, 0x36c2d: 0x6cd31420, 0x36c2e: 0x6cd31620, 0x36c2f: 0x6cd31820,\n\t0x36c30: 0x6cd31a20, 0x36c31: 0x6cd31c20, 0x36c32: 0x6cd31e20, 0x36c33: 0x6cd32020,\n\t0x36c34: 0x6cd32220, 0x36c35: 0x6cd32420, 0x36c36: 0x6cd32620, 0x36c37: 0x6d011220,\n\t0x36c38: 0x6d011420, 0x36c39: 0x6d011620, 0x36c3a: 0x6d011820, 0x36c3b: 0x6d011a20,\n\t0x36c3c: 0x6d011c20, 0x36c3d: 0x6d011e20, 0x36c3e: 0x6d012020, 0x36c3f: 0x6d012220,\n\t// Block 0xdb1, offset 0x36c40\n\t0x36c40: 0x6d012420, 0x36c41: 0x6d012620, 0x36c42: 0x6d012820, 0x36c43: 0x6d2efc20,\n\t0x36c44: 0x6d2efe20, 0x36c45: 0x6d2f0020, 0x36c46: 0x6d2f0220, 0x36c47: 0x6d5c0e20,\n\t0x36c48: 0x6d5c1020, 0x36c49: 0x6d5c1220, 0x36c4a: 0x6d5c1420, 0x36c4b: 0x6d5c1620,\n\t0x36c4c: 0x6d5c1820, 0x36c4d: 0x6d5c1a20, 0x36c4e: 0x6d5c1c20, 0x36c4f: 0x6d5c1e20,\n\t0x36c50: 0x6d5c2020, 0x36c51: 0x6d5c2220, 0x36c52: 0x6d5c2420, 0x36c53: 0x6d868820,\n\t0x36c54: 0x6d868a20, 0x36c55: 0x6d868c20, 0x36c56: 0x6d868e20, 0x36c57: 0x6d869020,\n\t0x36c58: 0x6d869220, 0x36c59: 0x6d869420, 0x36c5a: 0x6d869620, 0x36c5b: 0x6d869820,\n\t0x36c5c: 0x6d869a20, 0x36c5d: 0x6d869c20, 0x36c5e: 0x6d869e20, 0x36c5f: 0x6d86a020,\n\t0x36c60: 0x6d86a220, 0x36c61: 0x6d86a420, 0x36c62: 0x6d86a620, 0x36c63: 0x6d86a820,\n\t0x36c64: 0x6d86aa20, 0x36c65: 0x6dab2620, 0x36c66: 0x6dab2820, 0x36c67: 0x6dab2a20,\n\t0x36c68: 0x6dab2c20, 0x36c69: 0x6dab2e20, 0x36c6a: 0x6dab3020, 0x36c6b: 0x6dab3220,\n\t0x36c6c: 0x6dab3420, 0x36c6d: 0x6dab3620, 0x36c6e: 0x6dab3820, 0x36c6f: 0x6dab3a20,\n\t0x36c70: 0x6dab3c20, 0x36c71: 0x6dab3e20, 0x36c72: 0x6dab4020, 0x36c73: 0x6da02a20,\n\t0x36c74: 0x6dab4220, 0x36c75: 0x6dab4420, 0x36c76: 0x6dab4620, 0x36c77: 0x6dab4820,\n\t0x36c78: 0x6dcbac20, 0x36c79: 0x6dcbae20, 0x36c7a: 0x6dcbb020, 0x36c7b: 0x6de6fc20,\n\t0x36c7c: 0x6dcbb220, 0x36c7d: 0x6dcbb420, 0x36c7e: 0x6dcbb620, 0x36c7f: 0x6dcbb820,\n\t// Block 0xdb2, offset 0x36c80\n\t0x36c80: 0x6dcbba20, 0x36c81: 0x6de6fe20, 0x36c82: 0x6de70020, 0x36c83: 0x6de70220,\n\t0x36c84: 0x6de70420, 0x36c85: 0x6de70620, 0x36c86: 0x6de70820, 0x36c87: 0x6dfd9020,\n\t0x36c88: 0x6dfd9220, 0x36c89: 0x6dfd9420, 0x36c8a: 0x6dfd9620, 0x36c8b: 0x6dfd9820,\n\t0x36c8c: 0x6dfd9a20, 0x36c8d: 0x6dfd9c20, 0x36c8e: 0x6dfd9e20, 0x36c8f: 0x6dfda020,\n\t0x36c90: 0x6dfda220, 0x36c91: 0x6dfda420, 0x36c92: 0x6e105620, 0x36c93: 0x6e1f0a20,\n\t0x36c94: 0x6e1f0c20, 0x36c95: 0x6e1f0e20, 0x36c96: 0x6e1f1020, 0x36c97: 0x6e1f1220,\n\t0x36c98: 0x6e2a6220, 0x36c99: 0x6e2a6420, 0x36c9a: 0x6e330a20, 0x36c9b: 0x6e330c20,\n\t0x36c9c: 0x6e330e20, 0x36c9d: 0x6e331020, 0x36c9e: 0x6e2a6620, 0x36c9f: 0x6e393420,\n\t0x36ca0: 0x6e393620, 0x36ca1: 0x6e3d8820, 0x36ca2: 0x6e452c20, 0x36ca3: 0x6e468820,\n\t0x36ca4: 0x6c13e820, 0x36ca5: 0x6c13ea20, 0x36ca6: 0x6c251a20, 0x36ca7: 0x6c251c20,\n\t0x36ca8: 0x6c251e20, 0x36ca9: 0x6c252020, 0x36caa: 0x6c252220, 0x36cab: 0x6c252420,\n\t0x36cac: 0x6c252620, 0x36cad: 0x6c252820, 0x36cae: 0x6c252a20, 0x36caf: 0x6c252c20,\n\t0x36cb0: 0x6c252e20, 0x36cb1: 0x6c253020, 0x36cb2: 0x6c3c8c20, 0x36cb3: 0x6c3c8e20,\n\t0x36cb4: 0x6c3c9020, 0x36cb5: 0x6c3c9220, 0x36cb6: 0x6c3c9420, 0x36cb7: 0x6c3c9620,\n\t0x36cb8: 0x6c3c9820, 0x36cb9: 0x6c3c9a20, 0x36cba: 0x6c3c9c20, 0x36cbb: 0x6c3c9e20,\n\t0x36cbc: 0x6c3ca020, 0x36cbd: 0x6c3ca220, 0x36cbe: 0x6c3ca420, 0x36cbf: 0x6c3ca620,\n\t// Block 0xdb3, offset 0x36cc0\n\t0x36cc0: 0x6c3ca820, 0x36cc1: 0x6c3caa20, 0x36cc2: 0x6c3cac20, 0x36cc3: 0x6c59b820,\n\t0x36cc4: 0x6c59ba20, 0x36cc5: 0x6c59bc20, 0x36cc6: 0x6c59be20, 0x36cc7: 0x6c59c020,\n\t0x36cc8: 0x6c59c220, 0x36cc9: 0x6c59c420, 0x36cca: 0x6c59c620, 0x36ccb: 0x6c59c820,\n\t0x36ccc: 0x6c59ca20, 0x36ccd: 0x6c59cc20, 0x36cce: 0x6c59ce20, 0x36ccf: 0x6c59d020,\n\t0x36cd0: 0x6c59d220, 0x36cd1: 0x6c59d420, 0x36cd2: 0x6c59d620, 0x36cd3: 0x6c59d820,\n\t0x36cd4: 0x6c59da20, 0x36cd5: 0x6c59dc20, 0x36cd6: 0x6c59de20, 0x36cd7: 0x6c59e020,\n\t0x36cd8: 0x6c59e220, 0x36cd9: 0x6c59e420, 0x36cda: 0x6c59e620, 0x36cdb: 0x6c59e820,\n\t0x36cdc: 0x6c59ea20, 0x36cdd: 0x6c59ec20, 0x36cde: 0x6c59ee20, 0x36cdf: 0x6c59f020,\n\t0x36ce0: 0x6c59f220, 0x36ce1: 0x6c59f420, 0x36ce2: 0x6c59f620, 0x36ce3: 0x6c59f820,\n\t0x36ce4: 0x6c59fa20, 0x36ce5: 0x6c59fc20, 0x36ce6: 0x6c59fe20, 0x36ce7: 0x6c5a0020,\n\t0x36ce8: 0x6c5a0220, 0x36ce9: 0x6c5a0420, 0x36cea: 0x6c5a0620, 0x36ceb: 0x6c5a0820,\n\t0x36cec: 0x6c5a0a20, 0x36ced: 0x6c5a0c20, 0x36cee: 0x6c5a0e20, 0x36cef: 0x6c5a1020,\n\t0x36cf0: 0x6c5a1220, 0x36cf1: 0x6c7c7a20, 0x36cf2: 0x6c7c7c20, 0x36cf3: 0x6c7c7e20,\n\t0x36cf4: 0x6c7c8020, 0x36cf5: 0x6c7c8220, 0x36cf6: 0x6c7c8420, 0x36cf7: 0x6c7c8620,\n\t0x36cf8: 0x6c7c8820, 0x36cf9: 0x6c7c8a20, 0x36cfa: 0x6c7c8c20, 0x36cfb: 0x6c7c8e20,\n\t0x36cfc: 0x6c7c9020, 0x36cfd: 0x6c7c9220, 0x36cfe: 0x6c7c9420, 0x36cff: 0x6c7c9620,\n\t// Block 0xdb4, offset 0x36d00\n\t0x36d00: 0x6c7c9820, 0x36d01: 0x6c7c9a20, 0x36d02: 0x6c7c9c20, 0x36d03: 0x6c7c9e20,\n\t0x36d04: 0x6c7ca020, 0x36d05: 0x6c7ca220, 0x36d06: 0x6c7ca420, 0x36d07: 0x6c7ca620,\n\t0x36d08: 0x6c7ca820, 0x36d09: 0x6c7caa20, 0x36d0a: 0x6c7cac20, 0x36d0b: 0x6c7cae20,\n\t0x36d0c: 0x6c7cb020, 0x36d0d: 0x6c7cb220, 0x36d0e: 0x6c7cb420, 0x36d0f: 0x6c7cb620,\n\t0x36d10: 0x6c7cb820, 0x36d11: 0x6c7cba20, 0x36d12: 0x6c7cbc20, 0x36d13: 0x6c7cbe20,\n\t0x36d14: 0x6c7cc020, 0x36d15: 0x6c7cc220, 0x36d16: 0x6c7cc420, 0x36d17: 0x6c7cc620,\n\t0x36d18: 0x6c7cc820, 0x36d19: 0x6c7cca20, 0x36d1a: 0x6ca52a20, 0x36d1b: 0x6ca52c20,\n\t0x36d1c: 0x6ca52e20, 0x36d1d: 0x6ca53020, 0x36d1e: 0x6ca53220, 0x36d1f: 0x6ca53420,\n\t0x36d20: 0x6ca53620, 0x36d21: 0x6ca53820, 0x36d22: 0x6ca53a20, 0x36d23: 0x6ca53c20,\n\t0x36d24: 0x6ca53e20, 0x36d25: 0x6ca54020, 0x36d26: 0x6ca54220, 0x36d27: 0x6ca54420,\n\t0x36d28: 0x6ca54620, 0x36d29: 0x6ca54820, 0x36d2a: 0x6ca54a20, 0x36d2b: 0x6ca54c20,\n\t0x36d2c: 0x6ca54e20, 0x36d2d: 0x6ca55020, 0x36d2e: 0x6ca55220, 0x36d2f: 0x6ca55420,\n\t0x36d30: 0x6ca55620, 0x36d31: 0x6ca55820, 0x36d32: 0x6ca55a20, 0x36d33: 0x6ca55c20,\n\t0x36d34: 0x6ca55e20, 0x36d35: 0x6ca56020, 0x36d36: 0x6ca56220, 0x36d37: 0x6ca56420,\n\t0x36d38: 0x6ca56620, 0x36d39: 0x6ca56820, 0x36d3a: 0x6ca56a20, 0x36d3b: 0x6ca56c20,\n\t0x36d3c: 0x6ca56e20, 0x36d3d: 0x6ca57020, 0x36d3e: 0x6ca57220, 0x36d3f: 0x6ca57420,\n\t// Block 0xdb5, offset 0x36d40\n\t0x36d40: 0x6ca57620, 0x36d41: 0x6ca57820, 0x36d42: 0x6ca57a20, 0x36d43: 0x6ca57c20,\n\t0x36d44: 0x6ca57e20, 0x36d45: 0x6ca58020, 0x36d46: 0x6ca58220, 0x36d47: 0x6ca58420,\n\t0x36d48: 0x6ca58620, 0x36d49: 0x6ca58820, 0x36d4a: 0x6cd37220, 0x36d4b: 0x6cd37420,\n\t0x36d4c: 0x6cd37620, 0x36d4d: 0x6cd37820, 0x36d4e: 0x6cd37a20, 0x36d4f: 0x6cd37c20,\n\t0x36d50: 0x6cd37e20, 0x36d51: 0x6cd38020, 0x36d52: 0x6cd38220, 0x36d53: 0x6cd38420,\n\t0x36d54: 0x6cd38620, 0x36d55: 0x6cd38820, 0x36d56: 0x6cd38a20, 0x36d57: 0x6cd38c20,\n\t0x36d58: 0x6cd38e20, 0x36d59: 0x6cd39020, 0x36d5a: 0x6cd39220, 0x36d5b: 0x6cd39420,\n\t0x36d5c: 0x6cd39620, 0x36d5d: 0x6cd39820, 0x36d5e: 0x6cd39a20, 0x36d5f: 0x6cd39c20,\n\t0x36d60: 0x6cd39e20, 0x36d61: 0x6cd3a020, 0x36d62: 0x6cd3a220, 0x36d63: 0x6cd3a420,\n\t0x36d64: 0x6cd3a620, 0x36d65: 0x6cd3a820, 0x36d66: 0x6cd3aa20, 0x36d67: 0x6cd3ac20,\n\t0x36d68: 0x6cd3ae20, 0x36d69: 0x6cd3b020, 0x36d6a: 0x6cd3b220, 0x36d6b: 0x6cd3b420,\n\t0x36d6c: 0x6cd3b620, 0x36d6d: 0x6cd3b820, 0x36d6e: 0x6cd3ba20, 0x36d6f: 0x6cd3bc20,\n\t0x36d70: 0x6cd3be20, 0x36d71: 0x6cd3c020, 0x36d72: 0x6cd3c220, 0x36d73: 0x6cd3c420,\n\t0x36d74: 0x6cd3c620, 0x36d75: 0x6cd3c820, 0x36d76: 0x6cd3ca20, 0x36d77: 0x6cd3cc20,\n\t0x36d78: 0x6cd3ce20, 0x36d79: 0x6cd3d020, 0x36d7a: 0x6cd3d220, 0x36d7b: 0x6cd3d420,\n\t0x36d7c: 0x6cd3d620, 0x36d7d: 0x6cd3d820, 0x36d7e: 0x6cd3da20, 0x36d7f: 0x6cd3dc20,\n\t// Block 0xdb6, offset 0x36d80\n\t0x36d80: 0x6cd3de20, 0x36d81: 0x6cd3e020, 0x36d82: 0x6cd3e220, 0x36d83: 0x6cd3e420,\n\t0x36d84: 0x6cd3e620, 0x36d85: 0x6d017e20, 0x36d86: 0x6cd3e820, 0x36d87: 0x6cd3ea20,\n\t0x36d88: 0x6cd3ec20, 0x36d89: 0x6d018020, 0x36d8a: 0x6d018220, 0x36d8b: 0x6d018420,\n\t0x36d8c: 0x6d018620, 0x36d8d: 0x6d018820, 0x36d8e: 0x6d018a20, 0x36d8f: 0x6d018c20,\n\t0x36d90: 0x6d018e20, 0x36d91: 0x6d019020, 0x36d92: 0x6d019220, 0x36d93: 0x6d019420,\n\t0x36d94: 0x6d019620, 0x36d95: 0x6d019820, 0x36d96: 0x6d019a20, 0x36d97: 0x6d019c20,\n\t0x36d98: 0x6d019e20, 0x36d99: 0x6d01a020, 0x36d9a: 0x6d01a220, 0x36d9b: 0x6d01a420,\n\t0x36d9c: 0x6d01a620, 0x36d9d: 0x6d01a820, 0x36d9e: 0x6d01aa20, 0x36d9f: 0x6d01ac20,\n\t0x36da0: 0x6d01ae20, 0x36da1: 0x6d01b020, 0x36da2: 0x6d01b220, 0x36da3: 0x6d01b420,\n\t0x36da4: 0x6d01b620, 0x36da5: 0x6d01b820, 0x36da6: 0x6d01ba20, 0x36da7: 0x6d01bc20,\n\t0x36da8: 0x6d01be20, 0x36da9: 0x6d01c020, 0x36daa: 0x6d01c220, 0x36dab: 0x6cd3ee20,\n\t0x36dac: 0x6d01c420, 0x36dad: 0x6d01c620, 0x36dae: 0x6d01c820, 0x36daf: 0x6d01ca20,\n\t0x36db0: 0x6d01cc20, 0x36db1: 0x6d01ce20, 0x36db2: 0x6d01d020, 0x36db3: 0x6d01d220,\n\t0x36db4: 0x6cf5b420, 0x36db5: 0x6d01d420, 0x36db6: 0x6d01d620, 0x36db7: 0x6d01d820,\n\t0x36db8: 0x6d01da20, 0x36db9: 0x6d01dc20, 0x36dba: 0x6d01de20, 0x36dbb: 0x6d01e020,\n\t0x36dbc: 0x6d01e220, 0x36dbd: 0x6d01e420, 0x36dbe: 0x6d01e620, 0x36dbf: 0x6d01e820,\n\t// Block 0xdb7, offset 0x36dc0\n\t0x36dc0: 0x6d01ea20, 0x36dc1: 0x6d01ec20, 0x36dc2: 0x6d2f5220, 0x36dc3: 0x6d2f5420,\n\t0x36dc4: 0x6d2f5620, 0x36dc5: 0x6d2f5820, 0x36dc6: 0x6d2f5a20, 0x36dc7: 0x6d2f5c20,\n\t0x36dc8: 0x6d2f5e20, 0x36dc9: 0x6d2f6020, 0x36dca: 0x6d2f6220, 0x36dcb: 0x6d2f6420,\n\t0x36dcc: 0x6d2f6620, 0x36dcd: 0x6d2f6820, 0x36dce: 0x6d2f6a20, 0x36dcf: 0x6d2f6c20,\n\t0x36dd0: 0x6d2f6e20, 0x36dd1: 0x6d2f7020, 0x36dd2: 0x6d2f7220, 0x36dd3: 0x6d2f7420,\n\t0x36dd4: 0x6d2f7620, 0x36dd5: 0x6d2f7820, 0x36dd6: 0x6d2f7a20, 0x36dd7: 0x6d2f7c20,\n\t0x36dd8: 0x6d2f7e20, 0x36dd9: 0x6d2f8020, 0x36dda: 0x6d2f8220, 0x36ddb: 0x6d2f8420,\n\t0x36ddc: 0x6d2f8620, 0x36ddd: 0x6d2f8820, 0x36dde: 0x6d2f8a20, 0x36ddf: 0x6d2f8c20,\n\t0x36de0: 0x6d2f8e20, 0x36de1: 0x6d2f9020, 0x36de2: 0x6d2f9220, 0x36de3: 0x6d2f9420,\n\t0x36de4: 0x6d2f9620, 0x36de5: 0x6d2f9820, 0x36de6: 0x6d2f9a20, 0x36de7: 0x6d2f9c20,\n\t0x36de8: 0x6d2f9e20, 0x36de9: 0x6d2fa020, 0x36dea: 0x6d2fa220, 0x36deb: 0x6d2fa420,\n\t0x36dec: 0x6d2fa620, 0x36ded: 0x6d2fa820, 0x36dee: 0x6d2faa20, 0x36def: 0x6d2fac20,\n\t0x36df0: 0x6d2fae20, 0x36df1: 0x6d2fb020, 0x36df2: 0x6d2fb220, 0x36df3: 0x6d2fb420,\n\t0x36df4: 0x6d2fb620, 0x36df5: 0x6d2fb820, 0x36df6: 0x6d2fba20, 0x36df7: 0x6d2fbc20,\n\t0x36df8: 0x6d2fbe20, 0x36df9: 0x6d2fc020, 0x36dfa: 0x6d2fc220, 0x36dfb: 0x6d2fc420,\n\t0x36dfc: 0x6d5c5820, 0x36dfd: 0x6d5c5a20, 0x36dfe: 0x6d5c5c20, 0x36dff: 0x6d5c5e20,\n\t// Block 0xdb8, offset 0x36e00\n\t0x36e00: 0x6d5c6020, 0x36e01: 0x6d5c6220, 0x36e02: 0x6d5c6420, 0x36e03: 0x6d5c6620,\n\t0x36e04: 0x6d5c6820, 0x36e05: 0x6d5c6a20, 0x36e06: 0x6d5c6c20, 0x36e07: 0x6d5c6e20,\n\t0x36e08: 0x6d5c7020, 0x36e09: 0x6d5c7220, 0x36e0a: 0x6d5c7420, 0x36e0b: 0x6d5c7620,\n\t0x36e0c: 0x6d5c7820, 0x36e0d: 0x6d5c7a20, 0x36e0e: 0x6d5c7c20, 0x36e0f: 0x6d5c7e20,\n\t0x36e10: 0x6d5c8020, 0x36e11: 0x6d5c8220, 0x36e12: 0x6d5c8420, 0x36e13: 0x6d5c8620,\n\t0x36e14: 0x6d5c8820, 0x36e15: 0x6d5c8a20, 0x36e16: 0x6d5c8c20, 0x36e17: 0x6d5c8e20,\n\t0x36e18: 0x6d5c9020, 0x36e19: 0x6d5c9220, 0x36e1a: 0x6d5c9420, 0x36e1b: 0x6d5c9620,\n\t0x36e1c: 0x6d5c9820, 0x36e1d: 0x6d5c9a20, 0x36e1e: 0x6d5c9c20, 0x36e1f: 0x6d5c9e20,\n\t0x36e20: 0x6d5ca020, 0x36e21: 0x6d5ca220, 0x36e22: 0x6d5ca420, 0x36e23: 0x6d5ca620,\n\t0x36e24: 0x6d5ca820, 0x36e25: 0x6d5caa20, 0x36e26: 0x6d5cac20, 0x36e27: 0x6d5cae20,\n\t0x36e28: 0x6d5cb020, 0x36e29: 0x6d5cb220, 0x36e2a: 0x6d5cb420, 0x36e2b: 0x6d5cb620,\n\t0x36e2c: 0x6d5cb820, 0x36e2d: 0x6d5cba20, 0x36e2e: 0x6d5cbc20, 0x36e2f: 0x6d5cbe20,\n\t0x36e30: 0x6d5cc020, 0x36e31: 0x6d5cc220, 0x36e32: 0x6d5cc420, 0x36e33: 0x6d5cc620,\n\t0x36e34: 0x6d86e020, 0x36e35: 0x6d86e220, 0x36e36: 0x6d86e420, 0x36e37: 0x6d86e620,\n\t0x36e38: 0x6d86e820, 0x36e39: 0x6d86ea20, 0x36e3a: 0x6d86ec20, 0x36e3b: 0x6d86ee20,\n\t0x36e3c: 0x6d86f020, 0x36e3d: 0x6d86f220, 0x36e3e: 0x6d86f420, 0x36e3f: 0x6d86f620,\n\t// Block 0xdb9, offset 0x36e40\n\t0x36e40: 0x6d86f820, 0x36e41: 0x6d86fa20, 0x36e42: 0x6d86fc20, 0x36e43: 0x6d86fe20,\n\t0x36e44: 0x6d870020, 0x36e45: 0x6d870220, 0x36e46: 0x6d870420, 0x36e47: 0x6d5cc820,\n\t0x36e48: 0x6d870620, 0x36e49: 0x6d870820, 0x36e4a: 0x6d870a20, 0x36e4b: 0x6d870c20,\n\t0x36e4c: 0x6d870e20, 0x36e4d: 0x6d871020, 0x36e4e: 0x6d871220, 0x36e4f: 0x6d871420,\n\t0x36e50: 0x6d871620, 0x36e51: 0x6d871820, 0x36e52: 0x6d871a20, 0x36e53: 0x6d871c20,\n\t0x36e54: 0x6d871e20, 0x36e55: 0x6d872020, 0x36e56: 0x6d872220, 0x36e57: 0x6d872420,\n\t0x36e58: 0x6d872620, 0x36e59: 0x6d872820, 0x36e5a: 0x6d872a20, 0x36e5b: 0x6d872c20,\n\t0x36e5c: 0x6d872e20, 0x36e5d: 0x6d873020, 0x36e5e: 0x6d873220, 0x36e5f: 0x6d873420,\n\t0x36e60: 0x6d873620, 0x36e61: 0x6d873820, 0x36e62: 0x6d873a20, 0x36e63: 0x6d873c20,\n\t0x36e64: 0x6d873e20, 0x36e65: 0x6d874020, 0x36e66: 0x6d874220, 0x36e67: 0x6d874420,\n\t0x36e68: 0x6d874620, 0x36e69: 0x6d874820, 0x36e6a: 0x6dab8620, 0x36e6b: 0x6dab8820,\n\t0x36e6c: 0x6dab8a20, 0x36e6d: 0x6dab8c20, 0x36e6e: 0x6dab8e20, 0x36e6f: 0x6dab9020,\n\t0x36e70: 0x6dab9220, 0x36e71: 0x6dab9420, 0x36e72: 0x6dab9620, 0x36e73: 0x6dab9820,\n\t0x36e74: 0x6dab9a20, 0x36e75: 0x6dab9c20, 0x36e76: 0x6dab9e20, 0x36e77: 0x6daba020,\n\t0x36e78: 0x6daba220, 0x36e79: 0x6daba420, 0x36e7a: 0x6daba620, 0x36e7b: 0x6daba820,\n\t0x36e7c: 0x6dabaa20, 0x36e7d: 0x6dabac20, 0x36e7e: 0x6dabae20, 0x36e7f: 0x6dabb020,\n\t// Block 0xdba, offset 0x36e80\n\t0x36e80: 0x6dabb220, 0x36e81: 0x6dabb420, 0x36e82: 0x6dabb620, 0x36e83: 0x6dabb820,\n\t0x36e84: 0x6dabba20, 0x36e85: 0x6dabbc20, 0x36e86: 0x6dabbe20, 0x36e87: 0x6dabc020,\n\t0x36e88: 0x6dabc220, 0x36e89: 0x6dabc420, 0x36e8a: 0x6dabc620, 0x36e8b: 0x6dabc820,\n\t0x36e8c: 0x6dabca20, 0x36e8d: 0x6dabcc20, 0x36e8e: 0x6dabce20, 0x36e8f: 0x6dabd020,\n\t0x36e90: 0x6dabd220, 0x36e91: 0x6dabd420, 0x36e92: 0x6dabd620, 0x36e93: 0x6dabd820,\n\t0x36e94: 0x6dabda20, 0x36e95: 0x6dabdc20, 0x36e96: 0x6d874a20, 0x36e97: 0x6dabde20,\n\t0x36e98: 0x6dcbe220, 0x36e99: 0x6dcbe420, 0x36e9a: 0x6dcbe620, 0x36e9b: 0x6dcbe820,\n\t0x36e9c: 0x6dcbea20, 0x36e9d: 0x6dcbec20, 0x36e9e: 0x6dcbee20, 0x36e9f: 0x6dcbf020,\n\t0x36ea0: 0x6dcbf220, 0x36ea1: 0x6dcbf420, 0x36ea2: 0x6dcbf620, 0x36ea3: 0x6dcbf820,\n\t0x36ea4: 0x6dcbfa20, 0x36ea5: 0x6dcbfc20, 0x36ea6: 0x6dcbfe20, 0x36ea7: 0x6dcc0020,\n\t0x36ea8: 0x6dcc0220, 0x36ea9: 0x6dcc0420, 0x36eaa: 0x6dcc0620, 0x36eab: 0x6dcc0820,\n\t0x36eac: 0x6dcc0a20, 0x36ead: 0x6dcc0c20, 0x36eae: 0x6dcc0e20, 0x36eaf: 0x6dcc1020,\n\t0x36eb0: 0x6dcc1220, 0x36eb1: 0x6dcc1420, 0x36eb2: 0x6dcc1620, 0x36eb3: 0x6dcc1820,\n\t0x36eb4: 0x6dcc1a20, 0x36eb5: 0x6dcc1c20, 0x36eb6: 0x6dcc1e20, 0x36eb7: 0x6dcc2020,\n\t0x36eb8: 0x6dcc2220, 0x36eb9: 0x6dcc2420, 0x36eba: 0x6dcc2620, 0x36ebb: 0x6dcc2820,\n\t0x36ebc: 0x6dcc2a20, 0x36ebd: 0x6dcc2c20, 0x36ebe: 0x6dcc2e20, 0x36ebf: 0x6de71c20,\n\t// Block 0xdbb, offset 0x36ec0\n\t0x36ec0: 0x6de71e20, 0x36ec1: 0x6de72020, 0x36ec2: 0x6de72220, 0x36ec3: 0x6de72420,\n\t0x36ec4: 0x6de72620, 0x36ec5: 0x6de72820, 0x36ec6: 0x6de72a20, 0x36ec7: 0x6de72c20,\n\t0x36ec8: 0x6de72e20, 0x36ec9: 0x6de73020, 0x36eca: 0x6de73220, 0x36ecb: 0x6de73420,\n\t0x36ecc: 0x6de73620, 0x36ecd: 0x6de73820, 0x36ece: 0x6de73a20, 0x36ecf: 0x6de73c20,\n\t0x36ed0: 0x6de73e20, 0x36ed1: 0x6de74020, 0x36ed2: 0x6de74220, 0x36ed3: 0x6de74420,\n\t0x36ed4: 0x6de74620, 0x36ed5: 0x6df25c20, 0x36ed6: 0x6de74820, 0x36ed7: 0x6de74a20,\n\t0x36ed8: 0x6de74c20, 0x36ed9: 0x6de74e20, 0x36eda: 0x6dfdb820, 0x36edb: 0x6dfdba20,\n\t0x36edc: 0x6dfdbc20, 0x36edd: 0x6dfdbe20, 0x36ede: 0x6dfdc020, 0x36edf: 0x6dfdc220,\n\t0x36ee0: 0x6dfdc420, 0x36ee1: 0x6dfdc620, 0x36ee2: 0x6dfdc820, 0x36ee3: 0x6dfdca20,\n\t0x36ee4: 0x6dfdcc20, 0x36ee5: 0x6dfdce20, 0x36ee6: 0x6dfdd020, 0x36ee7: 0x6dfdd220,\n\t0x36ee8: 0x6dfdd420, 0x36ee9: 0x6dfdd620, 0x36eea: 0x6dfdd820, 0x36eeb: 0x6dfdda20,\n\t0x36eec: 0x6dfddc20, 0x36eed: 0x6e106820, 0x36eee: 0x6e106a20, 0x36eef: 0x6e106c20,\n\t0x36ef0: 0x6e106e20, 0x36ef1: 0x6e107020, 0x36ef2: 0x6e107220, 0x36ef3: 0x6e107420,\n\t0x36ef4: 0x6e107620, 0x36ef5: 0x6e107820, 0x36ef6: 0x6e107a20, 0x36ef7: 0x6e107c20,\n\t0x36ef8: 0x6e107e20, 0x36ef9: 0x6e108020, 0x36efa: 0x6e1f1820, 0x36efb: 0x6e1f1a20,\n\t0x36efc: 0x6e1f1c20, 0x36efd: 0x6e1f1e20, 0x36efe: 0x6e1f2020, 0x36eff: 0x6e1f2220,\n\t// Block 0xdbc, offset 0x36f00\n\t0x36f00: 0x6e1f2420, 0x36f01: 0x6e1f2620, 0x36f02: 0x6e108220, 0x36f03: 0x6e1f2820,\n\t0x36f04: 0x6e21a620, 0x36f05: 0x6e1f2a20, 0x36f06: 0x6e1f2c20, 0x36f07: 0x6e1f2e20,\n\t0x36f08: 0x6e2a6e20, 0x36f09: 0x6e2a7020, 0x36f0a: 0x6e2a7220, 0x36f0b: 0x6e2a7420,\n\t0x36f0c: 0x6e2a7620, 0x36f0d: 0x6e2a7820, 0x36f0e: 0x6e2a7a20, 0x36f0f: 0x6e331820,\n\t0x36f10: 0x6e331a20, 0x36f11: 0x6e331c20, 0x36f12: 0x6e331e20, 0x36f13: 0x6e393e20,\n\t0x36f14: 0x6e3d8c20, 0x36f15: 0x6e3d8e20, 0x36f16: 0x6e3d9020, 0x36f17: 0x6e3d9220,\n\t0x36f18: 0x6e3d9420, 0x36f19: 0x6e408420, 0x36f1a: 0x6e408620, 0x36f1b: 0x6e42ce20,\n\t0x36f1c: 0x6e444220, 0x36f1d: 0x6c13ec20, 0x36f1e: 0x6c3cb420, 0x36f1f: 0x6c5a1e20,\n\t0x36f20: 0x6c5a2020, 0x36f21: 0x6c7cd820, 0x36f22: 0x6c7cda20, 0x36f23: 0x6c7cdc20,\n\t0x36f24: 0x6c7cde20, 0x36f25: 0x6c7ce020, 0x36f26: 0x6c7ce220, 0x36f27: 0x6ca59620,\n\t0x36f28: 0x6ca59820, 0x36f29: 0x6ca59a20, 0x36f2a: 0x6cd3f820, 0x36f2b: 0x6cd3fa20,\n\t0x36f2c: 0x6cd3fc20, 0x36f2d: 0x6cd3fe20, 0x36f2e: 0x6cd40020, 0x36f2f: 0x6cd40220,\n\t0x36f30: 0x6cd40420, 0x36f31: 0x6cd40620, 0x36f32: 0x6d01fe20, 0x36f33: 0x6d020020,\n\t0x36f34: 0x6d020220, 0x36f35: 0x6d020420, 0x36f36: 0x6d2fd020, 0x36f37: 0x6d2fd220,\n\t0x36f38: 0x6d2fd420, 0x36f39: 0x6d2fd620, 0x36f3a: 0x6d2fd820, 0x36f3b: 0x6d2fda20,\n\t0x36f3c: 0x6d2fdc20, 0x36f3d: 0x6d2fde20, 0x36f3e: 0x6d2fe020, 0x36f3f: 0x6d2fe220,\n\t// Block 0xdbd, offset 0x36f40\n\t0x36f40: 0x6d2fe420, 0x36f41: 0x6d2fe620, 0x36f42: 0x6d5cd220, 0x36f43: 0x6d5cd420,\n\t0x36f44: 0x6d5cd620, 0x36f45: 0x6d5cd820, 0x36f46: 0x6d5cda20, 0x36f47: 0x6d5cdc20,\n\t0x36f48: 0x6d5cde20, 0x36f49: 0x6d5ce020, 0x36f4a: 0x6d875420, 0x36f4b: 0x6d875620,\n\t0x36f4c: 0x6d875820, 0x36f4d: 0x6d875a20, 0x36f4e: 0x6dcc3020, 0x36f4f: 0x6dabf020,\n\t0x36f50: 0x6dabf220, 0x36f51: 0x6dabf420, 0x36f52: 0x6dabf620, 0x36f53: 0x6dcc3220,\n\t0x36f54: 0x6dcc3420, 0x36f55: 0x6dcc3620, 0x36f56: 0x6de75220, 0x36f57: 0x6de75420,\n\t0x36f58: 0x6de75620, 0x36f59: 0x6de75820, 0x36f5a: 0x6de75a20, 0x36f5b: 0x6de75c20,\n\t0x36f5c: 0x6de75e20, 0x36f5d: 0x6e108820, 0x36f5e: 0x6dfde220, 0x36f5f: 0x6dfde420,\n\t0x36f60: 0x6dfde620, 0x36f61: 0x6e2a7c20, 0x36f62: 0x6e2a7e20, 0x36f63: 0x6e2a8020,\n\t0x36f64: 0x6e46ca20, 0x36f65: 0x6e46ea20, 0x36f66: 0x6c253420, 0x36f67: 0x6c253620,\n\t0x36f68: 0x6c3cba20, 0x36f69: 0x6c5a2a20, 0x36f6a: 0x6c5a2c20, 0x36f6b: 0x6c5a2e20,\n\t0x36f6c: 0x6c5a3020, 0x36f6d: 0x6c5a3220, 0x36f6e: 0x6c5a3420, 0x36f6f: 0x6c5a3620,\n\t0x36f70: 0x6c7cea20, 0x36f71: 0x6c7cec20, 0x36f72: 0x6c7cee20, 0x36f73: 0x6c7cf020,\n\t0x36f74: 0x6c7cf220, 0x36f75: 0x6c7cf420, 0x36f76: 0x6c7cf620, 0x36f77: 0x6c7cf820,\n\t0x36f78: 0x6c7cfa20, 0x36f79: 0x6ca5a220, 0x36f7a: 0x6ca5a420, 0x36f7b: 0x6ca5a620,\n\t0x36f7c: 0x6ca5a820, 0x36f7d: 0x6ca5aa20, 0x36f7e: 0x6ca5ac20, 0x36f7f: 0x6ca5ae20,\n\t// Block 0xdbe, offset 0x36f80\n\t0x36f80: 0x6ca5b020, 0x36f81: 0x6ca5b220, 0x36f82: 0x6ca5b420, 0x36f83: 0x6ca5b620,\n\t0x36f84: 0x6ca5b820, 0x36f85: 0x6ca5ba20, 0x36f86: 0x6ca5bc20, 0x36f87: 0x6ca5be20,\n\t0x36f88: 0x6ca5c020, 0x36f89: 0x6ca5c220, 0x36f8a: 0x6ca5c420, 0x36f8b: 0x6ca5c620,\n\t0x36f8c: 0x6ca5c820, 0x36f8d: 0x6ca5ca20, 0x36f8e: 0x6cd41220, 0x36f8f: 0x6cd41420,\n\t0x36f90: 0x6cd41620, 0x36f91: 0x6cd41820, 0x36f92: 0x6cd41a20, 0x36f93: 0x6cd41c20,\n\t0x36f94: 0x6cd41e20, 0x36f95: 0x6cd42020, 0x36f96: 0x6cd42220, 0x36f97: 0x6cd42420,\n\t0x36f98: 0x6d020a20, 0x36f99: 0x6d020c20, 0x36f9a: 0x6d020e20, 0x36f9b: 0x6d021020,\n\t0x36f9c: 0x6d021220, 0x36f9d: 0x6d021420, 0x36f9e: 0x6d021620, 0x36f9f: 0x6d021820,\n\t0x36fa0: 0x6d021a20, 0x36fa1: 0x6d021c20, 0x36fa2: 0x6d021e20, 0x36fa3: 0x6d022020,\n\t0x36fa4: 0x6d022220, 0x36fa5: 0x6d022420, 0x36fa6: 0x6d022620, 0x36fa7: 0x6d022820,\n\t0x36fa8: 0x6d022a20, 0x36fa9: 0x6d022c20, 0x36faa: 0x6d2fea20, 0x36fab: 0x6d2fec20,\n\t0x36fac: 0x6d2fee20, 0x36fad: 0x6d2ff020, 0x36fae: 0x6d2ff220, 0x36faf: 0x6d2ff420,\n\t0x36fb0: 0x6d2ff620, 0x36fb1: 0x6d2ff820, 0x36fb2: 0x6d5ce220, 0x36fb3: 0x6d5ce420,\n\t0x36fb4: 0x6d5ce620, 0x36fb5: 0x6d5ce820, 0x36fb6: 0x6d5cea20, 0x36fb7: 0x6d5cec20,\n\t0x36fb8: 0x6d5cee20, 0x36fb9: 0x6d5cf020, 0x36fba: 0x6d5cf220, 0x36fbb: 0x6d875c20,\n\t0x36fbc: 0x6d875e20, 0x36fbd: 0x6d876020, 0x36fbe: 0x6d876220, 0x36fbf: 0x6d876420,\n\t// Block 0xdbf, offset 0x36fc0\n\t0x36fc0: 0x6dabfc20, 0x36fc1: 0x6dabfe20, 0x36fc2: 0x6dac0020, 0x36fc3: 0x6dac0220,\n\t0x36fc4: 0x6dac0420, 0x36fc5: 0x6dac0620, 0x36fc6: 0x6dac0820, 0x36fc7: 0x6dcc3820,\n\t0x36fc8: 0x6dcc3a20, 0x36fc9: 0x6dcc3c20, 0x36fca: 0x6dcc3e20, 0x36fcb: 0x6dcc4020,\n\t0x36fcc: 0x6de76220, 0x36fcd: 0x6de76420, 0x36fce: 0x6de76620, 0x36fcf: 0x6de76820,\n\t0x36fd0: 0x6e2a8220, 0x36fd1: 0x6e1f3020, 0x36fd2: 0x6e1f3220, 0x36fd3: 0x6e2a8420,\n\t0x36fd4: 0x6e2a8620, 0x36fd5: 0x6c13f020, 0x36fd6: 0x6c13f220, 0x36fd7: 0x6c254020,\n\t0x36fd8: 0x6c254220, 0x36fd9: 0x6c254420, 0x36fda: 0x6c254620, 0x36fdb: 0x6c254820,\n\t0x36fdc: 0x6c254a20, 0x36fdd: 0x6c3cd620, 0x36fde: 0x6c3cd820, 0x36fdf: 0x6c3cda20,\n\t0x36fe0: 0x6c3cdc20, 0x36fe1: 0x6c3cde20, 0x36fe2: 0x6c3ce020, 0x36fe3: 0x6c3ce220,\n\t0x36fe4: 0x6c3ce420, 0x36fe5: 0x6c3ce620, 0x36fe6: 0x6c3ce820, 0x36fe7: 0x6c3cea20,\n\t0x36fe8: 0x6c3cec20, 0x36fe9: 0x6c5a7e20, 0x36fea: 0x6c5a8020, 0x36feb: 0x6c5a8220,\n\t0x36fec: 0x6c5a8420, 0x36fed: 0x6c5a8620, 0x36fee: 0x6c5a8820, 0x36fef: 0x6c5a8a20,\n\t0x36ff0: 0x6c5a8c20, 0x36ff1: 0x6c5a8e20, 0x36ff2: 0x6c5a9020, 0x36ff3: 0x6c5a9220,\n\t0x36ff4: 0x6c5a9420, 0x36ff5: 0x6c5a9620, 0x36ff6: 0x6c5a9820, 0x36ff7: 0x6c5a9a20,\n\t0x36ff8: 0x6c5a9c20, 0x36ff9: 0x6c5a9e20, 0x36ffa: 0x6c5aa020, 0x36ffb: 0x6c5aa220,\n\t0x36ffc: 0x6c5aa420, 0x36ffd: 0x6c5aa620, 0x36ffe: 0x6c5aa820, 0x36fff: 0x6c5aaa20,\n\t// Block 0xdc0, offset 0x37000\n\t0x37000: 0x6c5aac20, 0x37001: 0x6c5aae20, 0x37002: 0x6c5ab020, 0x37003: 0x6c5ab220,\n\t0x37004: 0x6c5ab420, 0x37005: 0x6c5ab620, 0x37006: 0x6c7d5a20, 0x37007: 0x6c7d5c20,\n\t0x37008: 0x6c7d5e20, 0x37009: 0x6c7d6020, 0x3700a: 0x6c7d6220, 0x3700b: 0x6c7d6420,\n\t0x3700c: 0x6c7d6620, 0x3700d: 0x6c7d6820, 0x3700e: 0x6c7d6a20, 0x3700f: 0x6c7d6c20,\n\t0x37010: 0x6c7d6e20, 0x37011: 0x6c7d7020, 0x37012: 0x6c7d7220, 0x37013: 0x6c7d7420,\n\t0x37014: 0x6c7d7620, 0x37015: 0x6c7d7820, 0x37016: 0x6c7d7a20, 0x37017: 0x6c7d7c20,\n\t0x37018: 0x6c7d7e20, 0x37019: 0x6c7d8020, 0x3701a: 0x6c7d8220, 0x3701b: 0x6c7d8420,\n\t0x3701c: 0x6c7d8620, 0x3701d: 0x6c7d8820, 0x3701e: 0x6c7d8a20, 0x3701f: 0x6c7d8c20,\n\t0x37020: 0x6c7d8e20, 0x37021: 0x6c7d9020, 0x37022: 0x6c7d9220, 0x37023: 0x6c7d9420,\n\t0x37024: 0x6c7d9620, 0x37025: 0x6c7d9820, 0x37026: 0x6c7d9a20, 0x37027: 0x6c7d9c20,\n\t0x37028: 0x6c7d9e20, 0x37029: 0x6c7da020, 0x3702a: 0x6c7da220, 0x3702b: 0x6c7da420,\n\t0x3702c: 0x6c7da620, 0x3702d: 0x6c7da820, 0x3702e: 0x6c7daa20, 0x3702f: 0x6c7dac20,\n\t0x37030: 0x6c7dae20, 0x37031: 0x6c7db020, 0x37032: 0x6c7db220, 0x37033: 0x6ca61220,\n\t0x37034: 0x6ca61420, 0x37035: 0x6ca61620, 0x37036: 0x6ca61820, 0x37037: 0x6ca61a20,\n\t0x37038: 0x6ca61c20, 0x37039: 0x6ca61e20, 0x3703a: 0x6ca62020, 0x3703b: 0x6ca62220,\n\t0x3703c: 0x6ca62420, 0x3703d: 0x6ca62620, 0x3703e: 0x6ca62820, 0x3703f: 0x6ca62a20,\n\t// Block 0xdc1, offset 0x37040\n\t0x37040: 0x6ca62c20, 0x37041: 0x6ca62e20, 0x37042: 0x6ca63020, 0x37043: 0x6ca63220,\n\t0x37044: 0x6ca63420, 0x37045: 0x6ca63620, 0x37046: 0x6ca63820, 0x37047: 0x6ca63a20,\n\t0x37048: 0x6ca63c20, 0x37049: 0x6ca63e20, 0x3704a: 0x6ca64020, 0x3704b: 0x6ca64220,\n\t0x3704c: 0x6ca64420, 0x3704d: 0x6ca64620, 0x3704e: 0x6ca64820, 0x3704f: 0x6ca64a20,\n\t0x37050: 0x6ca64c20, 0x37051: 0x6ca64e20, 0x37052: 0x6ca65020, 0x37053: 0x6ca65220,\n\t0x37054: 0x6ca65420, 0x37055: 0x6ca65620, 0x37056: 0x6ca65820, 0x37057: 0x6ca65a20,\n\t0x37058: 0x6ca65c20, 0x37059: 0x6ca65e20, 0x3705a: 0x6ca66020, 0x3705b: 0x6ca66220,\n\t0x3705c: 0x6ca66420, 0x3705d: 0x6ca66620, 0x3705e: 0x6ca66820, 0x3705f: 0x6ca66a20,\n\t0x37060: 0x6ca66c20, 0x37061: 0x6ca66e20, 0x37062: 0x6ca67020, 0x37063: 0x6ca67220,\n\t0x37064: 0x6ca67420, 0x37065: 0x6ca67620, 0x37066: 0x6ca67820, 0x37067: 0x6ca67a20,\n\t0x37068: 0x6ca67c20, 0x37069: 0x6ca67e20, 0x3706a: 0x6cd46c20, 0x3706b: 0x6cd46e20,\n\t0x3706c: 0x6cd47020, 0x3706d: 0x6cd47220, 0x3706e: 0x6cd47420, 0x3706f: 0x6cd47620,\n\t0x37070: 0x6cd47820, 0x37071: 0x6cd47a20, 0x37072: 0x6cd47c20, 0x37073: 0x6cd47e20,\n\t0x37074: 0x6cd48020, 0x37075: 0x6cd48220, 0x37076: 0x6cd48420, 0x37077: 0x6cd48620,\n\t0x37078: 0x6cd48820, 0x37079: 0x6cd48a20, 0x3707a: 0x6cd48c20, 0x3707b: 0x6cd48e20,\n\t0x3707c: 0x6cd49020, 0x3707d: 0x6cd49220, 0x3707e: 0x6cd49420, 0x3707f: 0x6cd49620,\n\t// Block 0xdc2, offset 0x37080\n\t0x37080: 0x6cd49820, 0x37081: 0x6cd49a20, 0x37082: 0x6cd49c20, 0x37083: 0x6cd49e20,\n\t0x37084: 0x6cd4a020, 0x37085: 0x6cd4a220, 0x37086: 0x6cd4a420, 0x37087: 0x6cd4a620,\n\t0x37088: 0x6cd4a820, 0x37089: 0x6cd4aa20, 0x3708a: 0x6d029c20, 0x3708b: 0x6d029e20,\n\t0x3708c: 0x6d02a020, 0x3708d: 0x6d02a220, 0x3708e: 0x6d02a420, 0x3708f: 0x6d02a620,\n\t0x37090: 0x6d02a820, 0x37091: 0x6d02aa20, 0x37092: 0x6d02ac20, 0x37093: 0x6d02ae20,\n\t0x37094: 0x6d02b020, 0x37095: 0x6d02b220, 0x37096: 0x6d02b420, 0x37097: 0x6d02b620,\n\t0x37098: 0x6d02b820, 0x37099: 0x6d02ba20, 0x3709a: 0x6d02bc20, 0x3709b: 0x6d02be20,\n\t0x3709c: 0x6d02c020, 0x3709d: 0x6d02c220, 0x3709e: 0x6d02c420, 0x3709f: 0x6d02c620,\n\t0x370a0: 0x6d02c820, 0x370a1: 0x6d02ca20, 0x370a2: 0x6d02cc20, 0x370a3: 0x6d02ce20,\n\t0x370a4: 0x6d02d020, 0x370a5: 0x6d02d220, 0x370a6: 0x6d02d420, 0x370a7: 0x6d02d620,\n\t0x370a8: 0x6d02d820, 0x370a9: 0x6d02da20, 0x370aa: 0x6d02dc20, 0x370ab: 0x6d02de20,\n\t0x370ac: 0x6d02e020, 0x370ad: 0x6d02e220, 0x370ae: 0x6d02e420, 0x370af: 0x6d02e620,\n\t0x370b0: 0x6d02e820, 0x370b1: 0x6d02ea20, 0x370b2: 0x6d02ec20, 0x370b3: 0x6d02ee20,\n\t0x370b4: 0x6d02f020, 0x370b5: 0x6d02f220, 0x370b6: 0x6d02f420, 0x370b7: 0x6d02f620,\n\t0x370b8: 0x6d02f820, 0x370b9: 0x6d02fa20, 0x370ba: 0x6d304a20, 0x370bb: 0x6d304c20,\n\t0x370bc: 0x6d304e20, 0x370bd: 0x6d305020, 0x370be: 0x6d305220, 0x370bf: 0x6d305420,\n\t// Block 0xdc3, offset 0x370c0\n\t0x370c0: 0x6d305620, 0x370c1: 0x6d305820, 0x370c2: 0x6d305a20, 0x370c3: 0x6d305c20,\n\t0x370c4: 0x6d305e20, 0x370c5: 0x6d306020, 0x370c6: 0x6d306220, 0x370c7: 0x6d306420,\n\t0x370c8: 0x6d306620, 0x370c9: 0x6d306820, 0x370ca: 0x6d306a20, 0x370cb: 0x6d306c20,\n\t0x370cc: 0x6d306e20, 0x370cd: 0x6d307020, 0x370ce: 0x6d307220, 0x370cf: 0x6d307420,\n\t0x370d0: 0x6d307620, 0x370d1: 0x6d307820, 0x370d2: 0x6d307a20, 0x370d3: 0x6d307c20,\n\t0x370d4: 0x6d307e20, 0x370d5: 0x6d308020, 0x370d6: 0x6d308220, 0x370d7: 0x6d308420,\n\t0x370d8: 0x6d308620, 0x370d9: 0x6d308820, 0x370da: 0x6d308a20, 0x370db: 0x6d308c20,\n\t0x370dc: 0x6d308e20, 0x370dd: 0x6d309020, 0x370de: 0x6d309220, 0x370df: 0x6d309420,\n\t0x370e0: 0x6d309620, 0x370e1: 0x6d309820, 0x370e2: 0x6d309a20, 0x370e3: 0x6d309c20,\n\t0x370e4: 0x6d309e20, 0x370e5: 0x6d30a020, 0x370e6: 0x6d30a220, 0x370e7: 0x6d30a420,\n\t0x370e8: 0x6d30a620, 0x370e9: 0x6d30a820, 0x370ea: 0x6d30aa20, 0x370eb: 0x6d30ac20,\n\t0x370ec: 0x6d30ae20, 0x370ed: 0x6d5d4420, 0x370ee: 0x6d5d4620, 0x370ef: 0x6d5d4820,\n\t0x370f0: 0x6d5d4a20, 0x370f1: 0x6d5d4c20, 0x370f2: 0x6d5d4e20, 0x370f3: 0x6d5d5020,\n\t0x370f4: 0x6d5d5220, 0x370f5: 0x6d5d5420, 0x370f6: 0x6d5d5620, 0x370f7: 0x6d5d5820,\n\t0x370f8: 0x6d5d5a20, 0x370f9: 0x6d5d5c20, 0x370fa: 0x6d5d5e20, 0x370fb: 0x6d5d6020,\n\t0x370fc: 0x6d5d6220, 0x370fd: 0x6d5d6420, 0x370fe: 0x6d5d6620, 0x370ff: 0x6d5d6820,\n\t// Block 0xdc4, offset 0x37100\n\t0x37100: 0x6d5d6a20, 0x37101: 0x6d5d6c20, 0x37102: 0x6d5d6e20, 0x37103: 0x6d5d7020,\n\t0x37104: 0x6d5d7220, 0x37105: 0x6d5d7420, 0x37106: 0x6d5d7620, 0x37107: 0x6d5d7820,\n\t0x37108: 0x6d5d7a20, 0x37109: 0x6d5d7c20, 0x3710a: 0x6d5d7e20, 0x3710b: 0x6d5d8020,\n\t0x3710c: 0x6d87a020, 0x3710d: 0x6d87a220, 0x3710e: 0x6d87a420, 0x3710f: 0x6d87a620,\n\t0x37110: 0x6d87a820, 0x37111: 0x6d87aa20, 0x37112: 0x6d87ac20, 0x37113: 0x6d87ae20,\n\t0x37114: 0x6d87b020, 0x37115: 0x6d87b220, 0x37116: 0x6d87b420, 0x37117: 0x6d87b620,\n\t0x37118: 0x6d87b820, 0x37119: 0x6d87ba20, 0x3711a: 0x6d87bc20, 0x3711b: 0x6d87be20,\n\t0x3711c: 0x6d87c020, 0x3711d: 0x6d87c220, 0x3711e: 0x6d87c420, 0x3711f: 0x6d87c620,\n\t0x37120: 0x6d87c820, 0x37121: 0x6d87ca20, 0x37122: 0x6d87cc20, 0x37123: 0x6d87ce20,\n\t0x37124: 0x6d87d020, 0x37125: 0x6d87d220, 0x37126: 0x6d87d420, 0x37127: 0x6d87d620,\n\t0x37128: 0x6d87d820, 0x37129: 0x6d87da20, 0x3712a: 0x6d87dc20, 0x3712b: 0x6d87de20,\n\t0x3712c: 0x6d87e020, 0x3712d: 0x6d87e220, 0x3712e: 0x6d87e420, 0x3712f: 0x6d87e620,\n\t0x37130: 0x6dac4a20, 0x37131: 0x6dac4c20, 0x37132: 0x6dac4e20, 0x37133: 0x6dac5020,\n\t0x37134: 0x6dac5220, 0x37135: 0x6dac5420, 0x37136: 0x6dac5620, 0x37137: 0x6dac5820,\n\t0x37138: 0x6dac5a20, 0x37139: 0x6dac5c20, 0x3713a: 0x6dac5e20, 0x3713b: 0x6dac6020,\n\t0x3713c: 0x6dac6220, 0x3713d: 0x6dac6420, 0x3713e: 0x6dac6620, 0x3713f: 0x6dac6820,\n\t// Block 0xdc5, offset 0x37140\n\t0x37140: 0x6dac6a20, 0x37141: 0x6dac6c20, 0x37142: 0x6dac6e20, 0x37143: 0x6dac7020,\n\t0x37144: 0x6dac7220, 0x37145: 0x6dac7420, 0x37146: 0x6dac7620, 0x37147: 0x6dac7820,\n\t0x37148: 0x6dac7a20, 0x37149: 0x6dac7c20, 0x3714a: 0x6dac7e20, 0x3714b: 0x6dac8020,\n\t0x3714c: 0x6dac8220, 0x3714d: 0x6dac8420, 0x3714e: 0x6dac8620, 0x3714f: 0x6dac8820,\n\t0x37150: 0x6dac8a20, 0x37151: 0x6dac8c20, 0x37152: 0x6dac8e20, 0x37153: 0x6dac9020,\n\t0x37154: 0x6dac9220, 0x37155: 0x6dac9420, 0x37156: 0x6dac9620, 0x37157: 0x6dcc7420,\n\t0x37158: 0x6dcc7620, 0x37159: 0x6dcc7820, 0x3715a: 0x6dcc7a20, 0x3715b: 0x6dcc7c20,\n\t0x3715c: 0x6dcc7e20, 0x3715d: 0x6dcc8020, 0x3715e: 0x6dcc8220, 0x3715f: 0x6dcc8420,\n\t0x37160: 0x6dcc8620, 0x37161: 0x6dcc8820, 0x37162: 0x6dcc8a20, 0x37163: 0x6dcc8c20,\n\t0x37164: 0x6dcc8e20, 0x37165: 0x6dcc9020, 0x37166: 0x6dcc9220, 0x37167: 0x6dcc9420,\n\t0x37168: 0x6dcc9620, 0x37169: 0x6dcc9820, 0x3716a: 0x6de78220, 0x3716b: 0x6de78420,\n\t0x3716c: 0x6de78620, 0x3716d: 0x6de78820, 0x3716e: 0x6de78a20, 0x3716f: 0x6de78c20,\n\t0x37170: 0x6de78e20, 0x37171: 0x6de79020, 0x37172: 0x6de79220, 0x37173: 0x6de79420,\n\t0x37174: 0x6de79620, 0x37175: 0x6de79820, 0x37176: 0x6de79a20, 0x37177: 0x6de79c20,\n\t0x37178: 0x6de79e20, 0x37179: 0x6de7a020, 0x3717a: 0x6de7a220, 0x3717b: 0x6dfe0a20,\n\t0x3717c: 0x6dfe0c20, 0x3717d: 0x6dfe0e20, 0x3717e: 0x6dfe1020, 0x3717f: 0x6dfe1220,\n\t// Block 0xdc6, offset 0x37180\n\t0x37180: 0x6dfe1420, 0x37181: 0x6dfe1620, 0x37182: 0x6dfe1820, 0x37183: 0x6dfe1a20,\n\t0x37184: 0x6dfe1c20, 0x37185: 0x6dfe1e20, 0x37186: 0x6dfe2020, 0x37187: 0x6dfe2220,\n\t0x37188: 0x6dfe2420, 0x37189: 0x6dfe2620, 0x3718a: 0x6dfe2820, 0x3718b: 0x6dfe2a20,\n\t0x3718c: 0x6dfe2c20, 0x3718d: 0x6dfe2e20, 0x3718e: 0x6dfe3020, 0x3718f: 0x6dfe3220,\n\t0x37190: 0x6dfe3420, 0x37191: 0x6dfe3620, 0x37192: 0x6e10a420, 0x37193: 0x6e10a620,\n\t0x37194: 0x6e10a820, 0x37195: 0x6e10aa20, 0x37196: 0x6e10ac20, 0x37197: 0x6e10ae20,\n\t0x37198: 0x6e10b020, 0x37199: 0x6e10b220, 0x3719a: 0x6e10b420, 0x3719b: 0x6e10b620,\n\t0x3719c: 0x6e10b820, 0x3719d: 0x6e1f3a20, 0x3719e: 0x6e1f3c20, 0x3719f: 0x6e1f3e20,\n\t0x371a0: 0x6e1f4020, 0x371a1: 0x6e1f4220, 0x371a2: 0x6e1f4420, 0x371a3: 0x6e1f4620,\n\t0x371a4: 0x6e1f4820, 0x371a5: 0x6e1f4a20, 0x371a6: 0x6e1f4c20, 0x371a7: 0x6e1f4e20,\n\t0x371a8: 0x6e1f5020, 0x371a9: 0x6e1f5220, 0x371aa: 0x6e1f5420, 0x371ab: 0x6e2a8c20,\n\t0x371ac: 0x6e2a8e20, 0x371ad: 0x6e2a9020, 0x371ae: 0x6e2a9220, 0x371af: 0x6e2a9420,\n\t0x371b0: 0x6e2a9620, 0x371b1: 0x6e2a9820, 0x371b2: 0x6e2a9a20, 0x371b3: 0x6e2a9c20,\n\t0x371b4: 0x6e332820, 0x371b5: 0x6e332a20, 0x371b6: 0x6e361a20, 0x371b7: 0x6e332c20,\n\t0x371b8: 0x6e332e20, 0x371b9: 0x6e394420, 0x371ba: 0x6e3d9820, 0x371bb: 0x6e3d9a20,\n\t0x371bc: 0x6e3d9c20, 0x371bd: 0x6e3d9e20, 0x371be: 0x6e408820, 0x371bf: 0x6e408a20,\n\t// Block 0xdc7, offset 0x371c0\n\t0x371c0: 0x6e408c20, 0x371c1: 0x6e42d020, 0x371c2: 0x6e42d220, 0x371c3: 0x6e444620,\n\t0x371c4: 0x6e46b220, 0x371c5: 0x6c050020, 0x371c6: 0x6c0a3620, 0x371c7: 0x6c13f820,\n\t0x371c8: 0x6c13fa20, 0x371c9: 0x6c13fc20, 0x371ca: 0x6c13fe20, 0x371cb: 0x6c140020,\n\t0x371cc: 0x6c140220, 0x371cd: 0x6c255020, 0x371ce: 0x6c255220, 0x371cf: 0x6c255420,\n\t0x371d0: 0x6c255620, 0x371d1: 0x6c255820, 0x371d2: 0x6c255a20, 0x371d3: 0x6c255c20,\n\t0x371d4: 0x6c255e20, 0x371d5: 0x6c3cfc20, 0x371d6: 0x6c3cfe20, 0x371d7: 0x6c3d0020,\n\t0x371d8: 0x6c3d0220, 0x371d9: 0x6c3d0420, 0x371da: 0x6c3d0620, 0x371db: 0x6c3d0820,\n\t0x371dc: 0x6c3d0a20, 0x371dd: 0x6c3d0c20, 0x371de: 0x6c3d0e20, 0x371df: 0x6c3d1020,\n\t0x371e0: 0x6c3d1220, 0x371e1: 0x6c3d1420, 0x371e2: 0x6c3d1620, 0x371e3: 0x6c3d1820,\n\t0x371e4: 0x6c3d1a20, 0x371e5: 0x6c3d1c20, 0x371e6: 0x6c3d1e20, 0x371e7: 0x6c3d2020,\n\t0x371e8: 0x6c3d2220, 0x371e9: 0x6c3d2420, 0x371ea: 0x6c3d2620, 0x371eb: 0x6c5ade20,\n\t0x371ec: 0x6c5ae020, 0x371ed: 0x6c5ae220, 0x371ee: 0x6c5ae420, 0x371ef: 0x6c5ae620,\n\t0x371f0: 0x6c5ae820, 0x371f1: 0x6c5aea20, 0x371f2: 0x6c5aec20, 0x371f3: 0x6c5aee20,\n\t0x371f4: 0x6c5af020, 0x371f5: 0x6c5af220, 0x371f6: 0x6c5af420, 0x371f7: 0x6c5af620,\n\t0x371f8: 0x6c5af820, 0x371f9: 0x6c5afa20, 0x371fa: 0x6c5afc20, 0x371fb: 0x6c5afe20,\n\t0x371fc: 0x6c5b0020, 0x371fd: 0x6c5b0220, 0x371fe: 0x6c5b0420, 0x371ff: 0x6c5b0620,\n\t// Block 0xdc8, offset 0x37200\n\t0x37200: 0x6c5b0820, 0x37201: 0x6c5b0a20, 0x37202: 0x6c5b0c20, 0x37203: 0x6c5b0e20,\n\t0x37204: 0x6c5b1020, 0x37205: 0x6c5b1220, 0x37206: 0x6c5b1420, 0x37207: 0x6c5b1620,\n\t0x37208: 0x6c5b1820, 0x37209: 0x6c5b1a20, 0x3720a: 0x6c5b1c20, 0x3720b: 0x6c5b1e20,\n\t0x3720c: 0x6c5b2020, 0x3720d: 0x6c5b2220, 0x3720e: 0x6c7dea20, 0x3720f: 0x6c7dec20,\n\t0x37210: 0x6c7dee20, 0x37211: 0x6c7df020, 0x37212: 0x6c7df220, 0x37213: 0x6c7df420,\n\t0x37214: 0x6c7df620, 0x37215: 0x6c7df820, 0x37216: 0x6c7dfa20, 0x37217: 0x6c7dfc20,\n\t0x37218: 0x6c7dfe20, 0x37219: 0x6c7e0020, 0x3721a: 0x6c7e0220, 0x3721b: 0x6c7e0420,\n\t0x3721c: 0x6c7e0620, 0x3721d: 0x6c7e0820, 0x3721e: 0x6c7e0a20, 0x3721f: 0x6c7e0c20,\n\t0x37220: 0x6c7e0e20, 0x37221: 0x6c7e1020, 0x37222: 0x6c7e1220, 0x37223: 0x6c7e1420,\n\t0x37224: 0x6c7e1620, 0x37225: 0x6c7e1820, 0x37226: 0x6c7e1a20, 0x37227: 0x6c7e1c20,\n\t0x37228: 0x6c7e1e20, 0x37229: 0x6c7e2020, 0x3722a: 0x6c7e2220, 0x3722b: 0x6ca6ae20,\n\t0x3722c: 0x6ca6b020, 0x3722d: 0x6ca6b220, 0x3722e: 0x6ca6b420, 0x3722f: 0x6ca6b620,\n\t0x37230: 0x6ca6b820, 0x37231: 0x6ca6ba20, 0x37232: 0x6ca6bc20, 0x37233: 0x6ca6be20,\n\t0x37234: 0x6ca6c020, 0x37235: 0x6ca6c220, 0x37236: 0x6ca6c420, 0x37237: 0x6ca6c620,\n\t0x37238: 0x6ca6c820, 0x37239: 0x6ca6ca20, 0x3723a: 0x6ca6cc20, 0x3723b: 0x6ca6ce20,\n\t0x3723c: 0x6ca6d020, 0x3723d: 0x6ca6d220, 0x3723e: 0x6ca6d420, 0x3723f: 0x6ca6d620,\n\t// Block 0xdc9, offset 0x37240\n\t0x37240: 0x6ca6d820, 0x37241: 0x6ca6da20, 0x37242: 0x6ca6dc20, 0x37243: 0x6ca6de20,\n\t0x37244: 0x6ca6e020, 0x37245: 0x6ca6e220, 0x37246: 0x6ca6e420, 0x37247: 0x6ca6e620,\n\t0x37248: 0x6cd4d620, 0x37249: 0x6cd4d820, 0x3724a: 0x6cd4da20, 0x3724b: 0x6cd4dc20,\n\t0x3724c: 0x6cd4de20, 0x3724d: 0x6cd4e020, 0x3724e: 0x6cd4e220, 0x3724f: 0x6cd4e420,\n\t0x37250: 0x6cd4e620, 0x37251: 0x6cd4e820, 0x37252: 0x6cd4ea20, 0x37253: 0x6cd4ec20,\n\t0x37254: 0x6cd4ee20, 0x37255: 0x6cd4f020, 0x37256: 0x6cd4f220, 0x37257: 0x6cd4f420,\n\t0x37258: 0x6cd4f620, 0x37259: 0x6cd4f820, 0x3725a: 0x6cd4fa20, 0x3725b: 0x6cd4fc20,\n\t0x3725c: 0x6cd4fe20, 0x3725d: 0x6cd50020, 0x3725e: 0x6cd50220, 0x3725f: 0x6cd50420,\n\t0x37260: 0x6cd50620, 0x37261: 0x6cd50820, 0x37262: 0x6cd50a20, 0x37263: 0x6cd50c20,\n\t0x37264: 0x6cd50e20, 0x37265: 0x6cd51020, 0x37266: 0x6d033420, 0x37267: 0x6d033620,\n\t0x37268: 0x6d033820, 0x37269: 0x6d033a20, 0x3726a: 0x6d033c20, 0x3726b: 0x6d033e20,\n\t0x3726c: 0x6d034020, 0x3726d: 0x6d034220, 0x3726e: 0x6d034420, 0x3726f: 0x6d034620,\n\t0x37270: 0x6d034820, 0x37271: 0x6d034a20, 0x37272: 0x6d034c20, 0x37273: 0x6d034e20,\n\t0x37274: 0x6d035020, 0x37275: 0x6d035220, 0x37276: 0x6d035420, 0x37277: 0x6d035620,\n\t0x37278: 0x6d035820, 0x37279: 0x6d035a20, 0x3727a: 0x6d035c20, 0x3727b: 0x6d035e20,\n\t0x3727c: 0x6d036020, 0x3727d: 0x6d036220, 0x3727e: 0x6d036420, 0x3727f: 0x6d036620,\n\t// Block 0xdca, offset 0x37280\n\t0x37280: 0x6d036820, 0x37281: 0x6d036a20, 0x37282: 0x6d036c20, 0x37283: 0x6d036e20,\n\t0x37284: 0x6d037020, 0x37285: 0x6d30e620, 0x37286: 0x6d30e820, 0x37287: 0x6d30ea20,\n\t0x37288: 0x6d30ec20, 0x37289: 0x6d30ee20, 0x3728a: 0x6d30f020, 0x3728b: 0x6d30f220,\n\t0x3728c: 0x6d30f420, 0x3728d: 0x6d30f620, 0x3728e: 0x6d30f820, 0x3728f: 0x6d30fa20,\n\t0x37290: 0x6d30fc20, 0x37291: 0x6d30fe20, 0x37292: 0x6d310020, 0x37293: 0x6d310220,\n\t0x37294: 0x6d310420, 0x37295: 0x6d310620, 0x37296: 0x6d310820, 0x37297: 0x6d310a20,\n\t0x37298: 0x6d5da020, 0x37299: 0x6d5da220, 0x3729a: 0x6d5da420, 0x3729b: 0x6d5da620,\n\t0x3729c: 0x6d5da820, 0x3729d: 0x6d5daa20, 0x3729e: 0x6d5dac20, 0x3729f: 0x6d5dae20,\n\t0x372a0: 0x6d5db020, 0x372a1: 0x6d5db220, 0x372a2: 0x6d5db420, 0x372a3: 0x6d5db620,\n\t0x372a4: 0x6d5db820, 0x372a5: 0x6d5dba20, 0x372a6: 0x6d5dbc20, 0x372a7: 0x6d5dbe20,\n\t0x372a8: 0x6d5dc020, 0x372a9: 0x6d5dc220, 0x372aa: 0x6d5dc420, 0x372ab: 0x6d5dc620,\n\t0x372ac: 0x6d5dc820, 0x372ad: 0x6d5dca20, 0x372ae: 0x6d880620, 0x372af: 0x6d880820,\n\t0x372b0: 0x6d880a20, 0x372b1: 0x6d880c20, 0x372b2: 0x6d880e20, 0x372b3: 0x6d881020,\n\t0x372b4: 0x6d881220, 0x372b5: 0x6d881420, 0x372b6: 0x6d881620, 0x372b7: 0x6d881820,\n\t0x372b8: 0x6d881a20, 0x372b9: 0x6d881c20, 0x372ba: 0x6d881e20, 0x372bb: 0x6d882020,\n\t0x372bc: 0x6d882220, 0x372bd: 0x6d882420, 0x372be: 0x6d882620, 0x372bf: 0x6d882820,\n\t// Block 0xdcb, offset 0x372c0\n\t0x372c0: 0x6d882a20, 0x372c1: 0x6d882c20, 0x372c2: 0x6d882e20, 0x372c3: 0x6dacaa20,\n\t0x372c4: 0x6dacac20, 0x372c5: 0x6dacae20, 0x372c6: 0x6dacb020, 0x372c7: 0x6dacb220,\n\t0x372c8: 0x6dacb420, 0x372c9: 0x6dacb620, 0x372ca: 0x6dacb820, 0x372cb: 0x6dacba20,\n\t0x372cc: 0x6dacbc20, 0x372cd: 0x6dacbe20, 0x372ce: 0x6dacc020, 0x372cf: 0x6dacc220,\n\t0x372d0: 0x6dacc420, 0x372d1: 0x6dacc620, 0x372d2: 0x6dccac20, 0x372d3: 0x6dccae20,\n\t0x372d4: 0x6dccb020, 0x372d5: 0x6dccb220, 0x372d6: 0x6dccb420, 0x372d7: 0x6dccb620,\n\t0x372d8: 0x6dccb820, 0x372d9: 0x6dccba20, 0x372da: 0x6de7b020, 0x372db: 0x6de7b220,\n\t0x372dc: 0x6de7b420, 0x372dd: 0x6de7b620, 0x372de: 0x6de7b820, 0x372df: 0x6de7ba20,\n\t0x372e0: 0x6dfe3c20, 0x372e1: 0x6dfe3e20, 0x372e2: 0x6dfe4020, 0x372e3: 0x6dfe4220,\n\t0x372e4: 0x6dfe4420, 0x372e5: 0x6e10be20, 0x372e6: 0x6e10c020, 0x372e7: 0x6e10c220,\n\t0x372e8: 0x6e10c420, 0x372e9: 0x6e10c620, 0x372ea: 0x6e1f5a20, 0x372eb: 0x6e1f5c20,\n\t0x372ec: 0x6e1f5e20, 0x372ed: 0x6e1f6020, 0x372ee: 0x6e1f6220, 0x372ef: 0x6e1f6420,\n\t0x372f0: 0x6e2aa220, 0x372f1: 0x6e2aa420, 0x372f2: 0x6e2aa620, 0x372f3: 0x6e2aa820,\n\t0x372f4: 0x6e333420, 0x372f5: 0x6e333620, 0x372f6: 0x6e394620, 0x372f7: 0x6e394820,\n\t0x372f8: 0x6e394a20, 0x372f9: 0x6e3da020, 0x372fa: 0x6e3da220, 0x372fb: 0x6c0a3a20,\n\t0x372fc: 0x6c3d2c20, 0x372fd: 0x6c7e2e20, 0x372fe: 0x6ca6f620, 0x372ff: 0x6cd52820,\n\t// Block 0xdcc, offset 0x37300\n\t0x37300: 0x6cb7b420, 0x37301: 0x6cd52a20, 0x37302: 0x6cd52c20, 0x37303: 0x6d037a20,\n\t0x37304: 0x6d311820, 0x37305: 0x6d5dd020, 0x37306: 0x6d5dd220, 0x37307: 0x6d5dd420,\n\t0x37308: 0x6dacca20, 0x37309: 0x6daccc20, 0x3730a: 0x6e10c820, 0x3730b: 0x6e333a20,\n\t0x3730c: 0x6c0a3e20, 0x3730d: 0x6c140420, 0x3730e: 0x6c140620, 0x3730f: 0x6c140820,\n\t0x37310: 0x6c257220, 0x37311: 0x6c257420, 0x37312: 0x6c257620, 0x37313: 0x6c257820,\n\t0x37314: 0x6c3d4820, 0x37315: 0x6c3d4a20, 0x37316: 0x6c3d4c20, 0x37317: 0x6c3d4e20,\n\t0x37318: 0x6c3d5020, 0x37319: 0x6c3d5220, 0x3731a: 0x6c3d5420, 0x3731b: 0x6c3d5620,\n\t0x3731c: 0x6c3d5820, 0x3731d: 0x6c3d5a20, 0x3731e: 0x6c3d5c20, 0x3731f: 0x6c3d5e20,\n\t0x37320: 0x6c3d6020, 0x37321: 0x6c3d6220, 0x37322: 0x6c3d6420, 0x37323: 0x6c5b5820,\n\t0x37324: 0x6c5b5a20, 0x37325: 0x6c5b5c20, 0x37326: 0x6c5b5e20, 0x37327: 0x6c5b6020,\n\t0x37328: 0x6c5b6220, 0x37329: 0x6c5b6420, 0x3732a: 0x6c5b6620, 0x3732b: 0x6c5b6820,\n\t0x3732c: 0x6c5b6a20, 0x3732d: 0x6c5b6c20, 0x3732e: 0x6c5b6e20, 0x3732f: 0x6c5b7020,\n\t0x37330: 0x6c5b7220, 0x37331: 0x6c5b7420, 0x37332: 0x6c5b7620, 0x37333: 0x6c5b7820,\n\t0x37334: 0x6c5b7a20, 0x37335: 0x6c5b7c20, 0x37336: 0x6c5b7e20, 0x37337: 0x6c5b8020,\n\t0x37338: 0x6c5b8220, 0x37339: 0x6c5b8420, 0x3733a: 0x6c5b8620, 0x3733b: 0x6c5b8820,\n\t0x3733c: 0x6c5b8a20, 0x3733d: 0x6c5b8c20, 0x3733e: 0x6c7e6a20, 0x3733f: 0x6c7e6c20,\n\t// Block 0xdcd, offset 0x37340\n\t0x37340: 0x6c7e6e20, 0x37341: 0x6c7e7020, 0x37342: 0x6c7e7220, 0x37343: 0x6c7e7420,\n\t0x37344: 0x6c7e7620, 0x37345: 0x6c7e7820, 0x37346: 0x6c7e7a20, 0x37347: 0x6c7e7c20,\n\t0x37348: 0x6c7e7e20, 0x37349: 0x6c7e8020, 0x3734a: 0x6c7e8220, 0x3734b: 0x6c7e8420,\n\t0x3734c: 0x6c7e8620, 0x3734d: 0x6c7e8820, 0x3734e: 0x6c7e8a20, 0x3734f: 0x6c7e8c20,\n\t0x37350: 0x6c7e8e20, 0x37351: 0x6c7e9020, 0x37352: 0x6c7e9220, 0x37353: 0x6c7e9420,\n\t0x37354: 0x6c7e9620, 0x37355: 0x6c7e9820, 0x37356: 0x6c7e9a20, 0x37357: 0x6c7e9c20,\n\t0x37358: 0x6ca73820, 0x37359: 0x6ca73a20, 0x3735a: 0x6ca73c20, 0x3735b: 0x6ca73e20,\n\t0x3735c: 0x6ca74020, 0x3735d: 0x6ca74220, 0x3735e: 0x6ca74420, 0x3735f: 0x6ca74620,\n\t0x37360: 0x6ca74820, 0x37361: 0x6ca74a20, 0x37362: 0x6ca74c20, 0x37363: 0x6ca74e20,\n\t0x37364: 0x6ca75020, 0x37365: 0x6ca75220, 0x37366: 0x6ca75420, 0x37367: 0x6ca75620,\n\t0x37368: 0x6ca75820, 0x37369: 0x6ca75a20, 0x3736a: 0x6ca75c20, 0x3736b: 0x6ca75e20,\n\t0x3736c: 0x6ca76020, 0x3736d: 0x6ca76220, 0x3736e: 0x6ca76420, 0x3736f: 0x6ca76620,\n\t0x37370: 0x6ca76820, 0x37371: 0x6ca76a20, 0x37372: 0x6cd56020, 0x37373: 0x6cd56220,\n\t0x37374: 0x6cd56420, 0x37375: 0x6cd56620, 0x37376: 0x6cd56820, 0x37377: 0x6cd56a20,\n\t0x37378: 0x6cd56c20, 0x37379: 0x6cd56e20, 0x3737a: 0x6cd57020, 0x3737b: 0x6cd57220,\n\t0x3737c: 0x6cd57420, 0x3737d: 0x6cd57620, 0x3737e: 0x6cd57820, 0x3737f: 0x6cd57a20,\n\t// Block 0xdce, offset 0x37380\n\t0x37380: 0x6cd57c20, 0x37381: 0x6cd57e20, 0x37382: 0x6cd58020, 0x37383: 0x6cd58220,\n\t0x37384: 0x6cd58420, 0x37385: 0x6ca76c20, 0x37386: 0x6cd58620, 0x37387: 0x6cd58820,\n\t0x37388: 0x6cd58a20, 0x37389: 0x6cd58c20, 0x3738a: 0x6cd58e20, 0x3738b: 0x6cd59020,\n\t0x3738c: 0x6cd59220, 0x3738d: 0x6d03c220, 0x3738e: 0x6d03c420, 0x3738f: 0x6d03c620,\n\t0x37390: 0x6d03c820, 0x37391: 0x6d03ca20, 0x37392: 0x6d03cc20, 0x37393: 0x6d03ce20,\n\t0x37394: 0x6d03d020, 0x37395: 0x6d03d220, 0x37396: 0x6d03d420, 0x37397: 0x6d03d620,\n\t0x37398: 0x6d03d820, 0x37399: 0x6d03da20, 0x3739a: 0x6d03dc20, 0x3739b: 0x6d03de20,\n\t0x3739c: 0x6d03e020, 0x3739d: 0x6d03e220, 0x3739e: 0x6d03e420, 0x3739f: 0x6d03e620,\n\t0x373a0: 0x6d03e820, 0x373a1: 0x6d03ea20, 0x373a2: 0x6d03ec20, 0x373a3: 0x6d03ee20,\n\t0x373a4: 0x6d03f020, 0x373a5: 0x6d03f220, 0x373a6: 0x6d03f420, 0x373a7: 0x6d03f620,\n\t0x373a8: 0x6d03f820, 0x373a9: 0x6d03fa20, 0x373aa: 0x6d03fc20, 0x373ab: 0x6d03fe20,\n\t0x373ac: 0x6d040020, 0x373ad: 0x6d040220, 0x373ae: 0x6d040420, 0x373af: 0x6d040620,\n\t0x373b0: 0x6d040820, 0x373b1: 0x6d040a20, 0x373b2: 0x6d040c20, 0x373b3: 0x6d040e20,\n\t0x373b4: 0x6d041020, 0x373b5: 0x6d041220, 0x373b6: 0x6d041420, 0x373b7: 0x6d041620,\n\t0x373b8: 0x6d041820, 0x373b9: 0x6d041a20, 0x373ba: 0x6d041c20, 0x373bb: 0x6d041e20,\n\t0x373bc: 0x6d042020, 0x373bd: 0x6d315020, 0x373be: 0x6d315220, 0x373bf: 0x6d315420,\n\t// Block 0xdcf, offset 0x373c0\n\t0x373c0: 0x6d315620, 0x373c1: 0x6d315820, 0x373c2: 0x6d315a20, 0x373c3: 0x6d315c20,\n\t0x373c4: 0x6d315e20, 0x373c5: 0x6d316020, 0x373c6: 0x6d316220, 0x373c7: 0x6d316420,\n\t0x373c8: 0x6d316620, 0x373c9: 0x6d316820, 0x373ca: 0x6d316a20, 0x373cb: 0x6d316c20,\n\t0x373cc: 0x6d316e20, 0x373cd: 0x6d317020, 0x373ce: 0x6d317220, 0x373cf: 0x6d317420,\n\t0x373d0: 0x6d317620, 0x373d1: 0x6d317820, 0x373d2: 0x6d317a20, 0x373d3: 0x6d317c20,\n\t0x373d4: 0x6d317e20, 0x373d5: 0x6d318020, 0x373d6: 0x6d318220, 0x373d7: 0x6d318420,\n\t0x373d8: 0x6d318620, 0x373d9: 0x6d318820, 0x373da: 0x6d318a20, 0x373db: 0x6d318c20,\n\t0x373dc: 0x6d318e20, 0x373dd: 0x6d319020, 0x373de: 0x6d319220, 0x373df: 0x6d319420,\n\t0x373e0: 0x6d319620, 0x373e1: 0x6d319820, 0x373e2: 0x6d319a20, 0x373e3: 0x6d319c20,\n\t0x373e4: 0x6d319e20, 0x373e5: 0x6d31a020, 0x373e6: 0x6d31a220, 0x373e7: 0x6d31a420,\n\t0x373e8: 0x6d31a620, 0x373e9: 0x6d31a820, 0x373ea: 0x6d31aa20, 0x373eb: 0x6d31ac20,\n\t0x373ec: 0x6d31ae20, 0x373ed: 0x6d31b020, 0x373ee: 0x6d31b220, 0x373ef: 0x6d31b420,\n\t0x373f0: 0x6d31b620, 0x373f1: 0x6d5e0c20, 0x373f2: 0x6d5e0e20, 0x373f3: 0x6d5e1020,\n\t0x373f4: 0x6d5e1220, 0x373f5: 0x6d5e1420, 0x373f6: 0x6d5e1620, 0x373f7: 0x6d5e1820,\n\t0x373f8: 0x6d5e1a20, 0x373f9: 0x6d5e1c20, 0x373fa: 0x6d5e1e20, 0x373fb: 0x6d5e2020,\n\t0x373fc: 0x6d5e2220, 0x373fd: 0x6d5e2420, 0x373fe: 0x6d5e2620, 0x373ff: 0x6d5e2820,\n\t// Block 0xdd0, offset 0x37400\n\t0x37400: 0x6d5e2a20, 0x37401: 0x6d5e2c20, 0x37402: 0x6d5e2e20, 0x37403: 0x6d5e3020,\n\t0x37404: 0x6d5e3220, 0x37405: 0x6d5e3420, 0x37406: 0x6d5e3620, 0x37407: 0x6d5e3820,\n\t0x37408: 0x6d5e3a20, 0x37409: 0x6d5e3c20, 0x3740a: 0x6d5e3e20, 0x3740b: 0x6d5e4020,\n\t0x3740c: 0x6d5e4220, 0x3740d: 0x6d5e4420, 0x3740e: 0x6d5e4620, 0x3740f: 0x6d5e4820,\n\t0x37410: 0x6d5e4a20, 0x37411: 0x6d5e4c20, 0x37412: 0x6d5e4e20, 0x37413: 0x6d5e5020,\n\t0x37414: 0x6d5e5220, 0x37415: 0x6d5e5420, 0x37416: 0x6d5e5620, 0x37417: 0x6d5e5820,\n\t0x37418: 0x6d5e5a20, 0x37419: 0x6d5e5c20, 0x3741a: 0x6d5e5e20, 0x3741b: 0x6d5e6020,\n\t0x3741c: 0x6d885c20, 0x3741d: 0x6d885e20, 0x3741e: 0x6d886020, 0x3741f: 0x6d886220,\n\t0x37420: 0x6d886420, 0x37421: 0x6d886620, 0x37422: 0x6d886820, 0x37423: 0x6d886a20,\n\t0x37424: 0x6d886c20, 0x37425: 0x6d886e20, 0x37426: 0x6d887020, 0x37427: 0x6d887220,\n\t0x37428: 0x6d887420, 0x37429: 0x6d887620, 0x3742a: 0x6d887820, 0x3742b: 0x6d887a20,\n\t0x3742c: 0x6d887c20, 0x3742d: 0x6d887e20, 0x3742e: 0x6d888020, 0x3742f: 0x6d888220,\n\t0x37430: 0x6d888420, 0x37431: 0x6d888620, 0x37432: 0x6d888820, 0x37433: 0x6d888a20,\n\t0x37434: 0x6d888c20, 0x37435: 0x6d888e20, 0x37436: 0x6d889020, 0x37437: 0x6d889220,\n\t0x37438: 0x6d889420, 0x37439: 0x6d889620, 0x3743a: 0x6d889820, 0x3743b: 0x6d889a20,\n\t0x3743c: 0x6d889c20, 0x3743d: 0x6d889e20, 0x3743e: 0x6d88a020, 0x3743f: 0x6d88a220,\n\t// Block 0xdd1, offset 0x37440\n\t0x37440: 0x6d88a420, 0x37441: 0x6d88a620, 0x37442: 0x6d88a820, 0x37443: 0x6d88aa20,\n\t0x37444: 0x6d88ac20, 0x37445: 0x6d88ae20, 0x37446: 0x6d88b020, 0x37447: 0x6d88b220,\n\t0x37448: 0x6d88b420, 0x37449: 0x6d88b620, 0x3744a: 0x6dacec20, 0x3744b: 0x6dacee20,\n\t0x3744c: 0x6dacf020, 0x3744d: 0x6dacf220, 0x3744e: 0x6dacf420, 0x3744f: 0x6dacf620,\n\t0x37450: 0x6dacf820, 0x37451: 0x6dacfa20, 0x37452: 0x6dacfc20, 0x37453: 0x6dacfe20,\n\t0x37454: 0x6dad0020, 0x37455: 0x6dad0220, 0x37456: 0x6dad0420, 0x37457: 0x6dad0620,\n\t0x37458: 0x6dad0820, 0x37459: 0x6dad0a20, 0x3745a: 0x6dad0c20, 0x3745b: 0x6dad0e20,\n\t0x3745c: 0x6dad1020, 0x3745d: 0x6dad1220, 0x3745e: 0x6dad1420, 0x3745f: 0x6dad1620,\n\t0x37460: 0x6dad1820, 0x37461: 0x6dad1a20, 0x37462: 0x6dad1c20, 0x37463: 0x6dad1e20,\n\t0x37464: 0x6dad2020, 0x37465: 0x6dad2220, 0x37466: 0x6dad2420, 0x37467: 0x6dad2620,\n\t0x37468: 0x6dad2820, 0x37469: 0x6dad2a20, 0x3746a: 0x6dad2c20, 0x3746b: 0x6dad2e20,\n\t0x3746c: 0x6dad3020, 0x3746d: 0x6dad3220, 0x3746e: 0x6dad3420, 0x3746f: 0x6dad3620,\n\t0x37470: 0x6dad3820, 0x37471: 0x6dad3a20, 0x37472: 0x6dad3c20, 0x37473: 0x6dad3e20,\n\t0x37474: 0x6dccd820, 0x37475: 0x6dccda20, 0x37476: 0x6dccdc20, 0x37477: 0x6dccde20,\n\t0x37478: 0x6dcce020, 0x37479: 0x6dcce220, 0x3747a: 0x6dcce420, 0x3747b: 0x6dcce620,\n\t0x3747c: 0x6dcce820, 0x3747d: 0x6dccea20, 0x3747e: 0x6dccec20, 0x3747f: 0x6dccee20,\n\t// Block 0xdd2, offset 0x37480\n\t0x37480: 0x6dccf020, 0x37481: 0x6dccf220, 0x37482: 0x6dccf420, 0x37483: 0x6dccf620,\n\t0x37484: 0x6dccf820, 0x37485: 0x6dccfa20, 0x37486: 0x6dccfc20, 0x37487: 0x6dccfe20,\n\t0x37488: 0x6dcd0020, 0x37489: 0x6dcd0220, 0x3748a: 0x6de7cc20, 0x3748b: 0x6dcd0420,\n\t0x3748c: 0x6dcd0620, 0x3748d: 0x6dcd0820, 0x3748e: 0x6dcd0a20, 0x3748f: 0x6dcd0c20,\n\t0x37490: 0x6dcd0e20, 0x37491: 0x6dcd1020, 0x37492: 0x6dcd1220, 0x37493: 0x6dcd1420,\n\t0x37494: 0x6dcd1620, 0x37495: 0x6de7ce20, 0x37496: 0x6de7d020, 0x37497: 0x6de7d220,\n\t0x37498: 0x6de7d420, 0x37499: 0x6de7d620, 0x3749a: 0x6de7d820, 0x3749b: 0x6de7da20,\n\t0x3749c: 0x6de7dc20, 0x3749d: 0x6de7de20, 0x3749e: 0x6de7e020, 0x3749f: 0x6de7e220,\n\t0x374a0: 0x6de7e420, 0x374a1: 0x6de7e620, 0x374a2: 0x6dfe5220, 0x374a3: 0x6de7e820,\n\t0x374a4: 0x6de7ea20, 0x374a5: 0x6de7ec20, 0x374a6: 0x6de7ee20, 0x374a7: 0x6de7f020,\n\t0x374a8: 0x6dfe5420, 0x374a9: 0x6dfe5620, 0x374aa: 0x6dfe5820, 0x374ab: 0x6dfe5a20,\n\t0x374ac: 0x6dfe5c20, 0x374ad: 0x6dfe5e20, 0x374ae: 0x6dfe6020, 0x374af: 0x6dfe6220,\n\t0x374b0: 0x6dfe6420, 0x374b1: 0x6dfe6620, 0x374b2: 0x6dfe6820, 0x374b3: 0x6dfe6a20,\n\t0x374b4: 0x6dfe6c20, 0x374b5: 0x6dfe6e20, 0x374b6: 0x6dfe7020, 0x374b7: 0x6e046620,\n\t0x374b8: 0x6dfe7220, 0x374b9: 0x6dfe7420, 0x374ba: 0x6dfe7620, 0x374bb: 0x6dfe7820,\n\t0x374bc: 0x6dfe7a20, 0x374bd: 0x6dfe7c20, 0x374be: 0x6dfe7e20, 0x374bf: 0x6dfe8020,\n\t// Block 0xdd3, offset 0x374c0\n\t0x374c0: 0x6e10d220, 0x374c1: 0x6e10d420, 0x374c2: 0x6e10d620, 0x374c3: 0x6e10d820,\n\t0x374c4: 0x6e10da20, 0x374c5: 0x6e10dc20, 0x374c6: 0x6e1f6c20, 0x374c7: 0x6e1f6e20,\n\t0x374c8: 0x6e1f7020, 0x374c9: 0x6e1f7220, 0x374ca: 0x6e2aaa20, 0x374cb: 0x6e2aac20,\n\t0x374cc: 0x6e2aae20, 0x374cd: 0x6e2ab020, 0x374ce: 0x6e2ab220, 0x374cf: 0x6e2ab420,\n\t0x374d0: 0x6e2ab620, 0x374d1: 0x6e2ab820, 0x374d2: 0x6e2aba20, 0x374d3: 0x6e334020,\n\t0x374d4: 0x6e328a20, 0x374d5: 0x6e334220, 0x374d6: 0x6e334420, 0x374d7: 0x6e394e20,\n\t0x374d8: 0x6e395020, 0x374d9: 0x6e395220, 0x374da: 0x6e395420, 0x374db: 0x6e3da420,\n\t0x374dc: 0x6e3da620, 0x374dd: 0x6e3da820, 0x374de: 0x6e444a20, 0x374df: 0x6e444c20,\n\t0x374e0: 0x6e463420, 0x374e1: 0x6e46cc20, 0x374e2: 0x6c0a4220, 0x374e3: 0x6c258020,\n\t0x374e4: 0x6c258220, 0x374e5: 0x6c258420, 0x374e6: 0x6c258620, 0x374e7: 0x6c3d7220,\n\t0x374e8: 0x6c3d7420, 0x374e9: 0x6c3d7620, 0x374ea: 0x6c3d7820, 0x374eb: 0x6c3d7a20,\n\t0x374ec: 0x6c3d7c20, 0x374ed: 0x6c3d7e20, 0x374ee: 0x6c3d8020, 0x374ef: 0x6c3d8220,\n\t0x374f0: 0x6c3d8420, 0x374f1: 0x6c3d8620, 0x374f2: 0x6c3d8820, 0x374f3: 0x6c3d8a20,\n\t0x374f4: 0x6c5baa20, 0x374f5: 0x6c5bac20, 0x374f6: 0x6c5bae20, 0x374f7: 0x6c5bb020,\n\t0x374f8: 0x6c5bb220, 0x374f9: 0x6c5bb420, 0x374fa: 0x6c5bb620, 0x374fb: 0x6c5bb820,\n\t0x374fc: 0x6c5bba20, 0x374fd: 0x6c5bbc20, 0x374fe: 0x6c5bbe20, 0x374ff: 0x6c5bc020,\n\t// Block 0xdd4, offset 0x37500\n\t0x37500: 0x6c5bc220, 0x37501: 0x6c5bc420, 0x37502: 0x6c5bc620, 0x37503: 0x6c5bc820,\n\t0x37504: 0x6c5bca20, 0x37505: 0x6c5bcc20, 0x37506: 0x6c5bce20, 0x37507: 0x6c7ec220,\n\t0x37508: 0x6c7ec420, 0x37509: 0x6c7ec620, 0x3750a: 0x6c7ec820, 0x3750b: 0x6c7eca20,\n\t0x3750c: 0x6c7ecc20, 0x3750d: 0x6c7ece20, 0x3750e: 0x6c7ed020, 0x3750f: 0x6c7ed220,\n\t0x37510: 0x6c7ed420, 0x37511: 0x6c7ed620, 0x37512: 0x6c7ed820, 0x37513: 0x6c7eda20,\n\t0x37514: 0x6c7edc20, 0x37515: 0x6c7ede20, 0x37516: 0x6c7ee020, 0x37517: 0x6c7ee220,\n\t0x37518: 0x6c7ee420, 0x37519: 0x6c7ee620, 0x3751a: 0x6c7ee820, 0x3751b: 0x6c7eea20,\n\t0x3751c: 0x6c7eec20, 0x3751d: 0x6c7eee20, 0x3751e: 0x6c7ef020, 0x3751f: 0x6c7ef220,\n\t0x37520: 0x6ca79420, 0x37521: 0x6ca79620, 0x37522: 0x6ca79820, 0x37523: 0x6ca79a20,\n\t0x37524: 0x6ca79c20, 0x37525: 0x6ca79e20, 0x37526: 0x6ca7a020, 0x37527: 0x6ca7a220,\n\t0x37528: 0x6ca7a420, 0x37529: 0x6ca7a620, 0x3752a: 0x6ca7a820, 0x3752b: 0x6ca7aa20,\n\t0x3752c: 0x6ca7ac20, 0x3752d: 0x6ca7ae20, 0x3752e: 0x6ca7b020, 0x3752f: 0x6ca7b220,\n\t0x37530: 0x6ca7b420, 0x37531: 0x6ca7b620, 0x37532: 0x6ca7b820, 0x37533: 0x6ca7ba20,\n\t0x37534: 0x6ca7bc20, 0x37535: 0x6ca7be20, 0x37536: 0x6cd5ba20, 0x37537: 0x6cd5bc20,\n\t0x37538: 0x6cd5be20, 0x37539: 0x6cd5c020, 0x3753a: 0x6cd5c220, 0x3753b: 0x6cd5c420,\n\t0x3753c: 0x6cd5c620, 0x3753d: 0x6cd5c820, 0x3753e: 0x6cd5ca20, 0x3753f: 0x6cd5cc20,\n\t// Block 0xdd5, offset 0x37540\n\t0x37540: 0x6cd5ce20, 0x37541: 0x6cd5d020, 0x37542: 0x6cd5d220, 0x37543: 0x6cd5d420,\n\t0x37544: 0x6cd5d620, 0x37545: 0x6cd5d820, 0x37546: 0x6cd5da20, 0x37547: 0x6cd5dc20,\n\t0x37548: 0x6cd5de20, 0x37549: 0x6cd5e020, 0x3754a: 0x6cd5e220, 0x3754b: 0x6cd5e420,\n\t0x3754c: 0x6cd5e620, 0x3754d: 0x6cd5e820, 0x3754e: 0x6cd5ea20, 0x3754f: 0x6cd5ec20,\n\t0x37550: 0x6cd5ee20, 0x37551: 0x6cd5f020, 0x37552: 0x6cd5f220, 0x37553: 0x6cd5f420,\n\t0x37554: 0x6cd5f620, 0x37555: 0x6cd5f820, 0x37556: 0x6cd5fa20, 0x37557: 0x6cd5fc20,\n\t0x37558: 0x6cd5fe20, 0x37559: 0x6cd60020, 0x3755a: 0x6cd60220, 0x3755b: 0x6d044620,\n\t0x3755c: 0x6d044820, 0x3755d: 0x6d044a20, 0x3755e: 0x6d044c20, 0x3755f: 0x6d044e20,\n\t0x37560: 0x6d045020, 0x37561: 0x6d045220, 0x37562: 0x6d045420, 0x37563: 0x6d045620,\n\t0x37564: 0x6d045820, 0x37565: 0x6d045a20, 0x37566: 0x6d045c20, 0x37567: 0x6d045e20,\n\t0x37568: 0x6d046020, 0x37569: 0x6d046220, 0x3756a: 0x6d046420, 0x3756b: 0x6d046620,\n\t0x3756c: 0x6d046820, 0x3756d: 0x6d046a20, 0x3756e: 0x6d046c20, 0x3756f: 0x6d046e20,\n\t0x37570: 0x6d047020, 0x37571: 0x6d047220, 0x37572: 0x6d047420, 0x37573: 0x6d047620,\n\t0x37574: 0x6d047820, 0x37575: 0x6d047a20, 0x37576: 0x6d047c20, 0x37577: 0x6d047e20,\n\t0x37578: 0x6d31d420, 0x37579: 0x6d31d620, 0x3757a: 0x6d31d820, 0x3757b: 0x6d31da20,\n\t0x3757c: 0x6d31dc20, 0x3757d: 0x6d31de20, 0x3757e: 0x6d31e020, 0x3757f: 0x6d31e220,\n\t// Block 0xdd6, offset 0x37580\n\t0x37580: 0x6d31e420, 0x37581: 0x6d31e620, 0x37582: 0x6d31e820, 0x37583: 0x6d31ea20,\n\t0x37584: 0x6d31ec20, 0x37585: 0x6d31ee20, 0x37586: 0x6d31f020, 0x37587: 0x6d31f220,\n\t0x37588: 0x6d31f420, 0x37589: 0x6d31f620, 0x3758a: 0x6d31f820, 0x3758b: 0x6d31fa20,\n\t0x3758c: 0x6d31fc20, 0x3758d: 0x6d31fe20, 0x3758e: 0x6d320020, 0x3758f: 0x6d320220,\n\t0x37590: 0x6d5e7e20, 0x37591: 0x6d5e8020, 0x37592: 0x6d5e8220, 0x37593: 0x6d5e8420,\n\t0x37594: 0x6d5e8620, 0x37595: 0x6d5e8820, 0x37596: 0x6d5e8a20, 0x37597: 0x6d5e8c20,\n\t0x37598: 0x6d5e8e20, 0x37599: 0x6d5e9020, 0x3759a: 0x6d5e9220, 0x3759b: 0x6d5e9420,\n\t0x3759c: 0x6d5e9620, 0x3759d: 0x6d5e9820, 0x3759e: 0x6d5e9a20, 0x3759f: 0x6d5e9c20,\n\t0x375a0: 0x6d5e9e20, 0x375a1: 0x6d5ea020, 0x375a2: 0x6d627c20, 0x375a3: 0x6d5ea220,\n\t0x375a4: 0x6d5ea420, 0x375a5: 0x6d5ea620, 0x375a6: 0x6d5ea820, 0x375a7: 0x6d5eaa20,\n\t0x375a8: 0x6d5eac20, 0x375a9: 0x6d5eae20, 0x375aa: 0x6d5eb020, 0x375ab: 0x6d5eb220,\n\t0x375ac: 0x6d88da20, 0x375ad: 0x6d88dc20, 0x375ae: 0x6d88de20, 0x375af: 0x6d88e020,\n\t0x375b0: 0x6d88e220, 0x375b1: 0x6d88e420, 0x375b2: 0x6d88e620, 0x375b3: 0x6d88e820,\n\t0x375b4: 0x6d88ea20, 0x375b5: 0x6d88ec20, 0x375b6: 0x6d88ee20, 0x375b7: 0x6d88f020,\n\t0x375b8: 0x6d88f220, 0x375b9: 0x6d88f420, 0x375ba: 0x6d88f620, 0x375bb: 0x6d88f820,\n\t0x375bc: 0x6dad5a20, 0x375bd: 0x6d88fa20, 0x375be: 0x6d88fc20, 0x375bf: 0x6d88fe20,\n\t// Block 0xdd7, offset 0x375c0\n\t0x375c0: 0x6d890020, 0x375c1: 0x6d890220, 0x375c2: 0x6d890420, 0x375c3: 0x6d890620,\n\t0x375c4: 0x6d890820, 0x375c5: 0x6d890a20, 0x375c6: 0x6d890c20, 0x375c7: 0x6d890e20,\n\t0x375c8: 0x6d891020, 0x375c9: 0x6d891220, 0x375ca: 0x6d891420, 0x375cb: 0x6d891620,\n\t0x375cc: 0x6dad5c20, 0x375cd: 0x6dad5e20, 0x375ce: 0x6dad6020, 0x375cf: 0x6dad6220,\n\t0x375d0: 0x6dad6420, 0x375d1: 0x6dad6620, 0x375d2: 0x6dad6820, 0x375d3: 0x6dad6a20,\n\t0x375d4: 0x6dad6c20, 0x375d5: 0x6dad6e20, 0x375d6: 0x6dad7020, 0x375d7: 0x6dad7220,\n\t0x375d8: 0x6dad7420, 0x375d9: 0x6dad7620, 0x375da: 0x6dad7820, 0x375db: 0x6dad7a20,\n\t0x375dc: 0x6dad7c20, 0x375dd: 0x6dad7e20, 0x375de: 0x6dad8020, 0x375df: 0x6dad8220,\n\t0x375e0: 0x6dcd2420, 0x375e1: 0x6dcd2620, 0x375e2: 0x6dcd2820, 0x375e3: 0x6dcd2a20,\n\t0x375e4: 0x6dcd2c20, 0x375e5: 0x6dcd2e20, 0x375e6: 0x6dcd3020, 0x375e7: 0x6dcd3220,\n\t0x375e8: 0x6dcd3420, 0x375e9: 0x6dad8420, 0x375ea: 0x6de7f820, 0x375eb: 0x6de7fa20,\n\t0x375ec: 0x6de7fc20, 0x375ed: 0x6de7fe20, 0x375ee: 0x6de80020, 0x375ef: 0x6de80220,\n\t0x375f0: 0x6dfe8820, 0x375f1: 0x6dfe8a20, 0x375f2: 0x6de80420, 0x375f3: 0x6dfe8c20,\n\t0x375f4: 0x6dfe8e20, 0x375f5: 0x6e10e420, 0x375f6: 0x6dfe9020, 0x375f7: 0x6dfe9220,\n\t0x375f8: 0x6dfe9420, 0x375f9: 0x6dfe9620, 0x375fa: 0x6dfe9820, 0x375fb: 0x6e10e620,\n\t0x375fc: 0x6e10e820, 0x375fd: 0x6e10ea20, 0x375fe: 0x6e10ec20, 0x375ff: 0x6e10ee20,\n\t// Block 0xdd8, offset 0x37600\n\t0x37600: 0x6e10f020, 0x37601: 0x6e10f220, 0x37602: 0x6e10f420, 0x37603: 0x6e10f620,\n\t0x37604: 0x6e10f820, 0x37605: 0x6e10fa20, 0x37606: 0x6e10fc20, 0x37607: 0x6e10fe20,\n\t0x37608: 0x6e110020, 0x37609: 0x6e1f7a20, 0x3760a: 0x6e2abc20, 0x3760b: 0x6e2abe20,\n\t0x3760c: 0x6e334620, 0x3760d: 0x6e334820, 0x3760e: 0x6e395620, 0x3760f: 0x6e334a20,\n\t0x37610: 0x6e334c20, 0x37611: 0x6e334e20, 0x37612: 0x6e395820, 0x37613: 0x6e3daa20,\n\t0x37614: 0x6e444e20, 0x37615: 0x6c258e20, 0x37616: 0x6c259020, 0x37617: 0x6c3d9420,\n\t0x37618: 0x6c3d9620, 0x37619: 0x6c5be620, 0x3761a: 0x6c5be820, 0x3761b: 0x6c5bea20,\n\t0x3761c: 0x6c5bec20, 0x3761d: 0x6c5bee20, 0x3761e: 0x6c5bf020, 0x3761f: 0x6c5bf220,\n\t0x37620: 0x6c7f0c20, 0x37621: 0x6c7f0e20, 0x37622: 0x6c7f1020, 0x37623: 0x6c7f1220,\n\t0x37624: 0x6c7f1420, 0x37625: 0x6c7f1620, 0x37626: 0x6c7f1820, 0x37627: 0x6c7f1a20,\n\t0x37628: 0x6c7f1c20, 0x37629: 0x6c7f1e20, 0x3762a: 0x6c7f2020, 0x3762b: 0x6c7f2220,\n\t0x3762c: 0x6c7f2420, 0x3762d: 0x6c7f2620, 0x3762e: 0x6c7f2820, 0x3762f: 0x6c7f2a20,\n\t0x37630: 0x6c7f2c20, 0x37631: 0x6ca7ca20, 0x37632: 0x6ca7cc20, 0x37633: 0x6ca7ce20,\n\t0x37634: 0x6ca7d020, 0x37635: 0x6ca7d220, 0x37636: 0x6ca7d420, 0x37637: 0x6ca7d620,\n\t0x37638: 0x6ca7d820, 0x37639: 0x6ca7da20, 0x3763a: 0x6ca7dc20, 0x3763b: 0x6ca7de20,\n\t0x3763c: 0x6ca7e020, 0x3763d: 0x6ca7e220, 0x3763e: 0x6cd61a20, 0x3763f: 0x6cd61c20,\n\t// Block 0xdd9, offset 0x37640\n\t0x37640: 0x6cd61e20, 0x37641: 0x6cd62020, 0x37642: 0x6cd62220, 0x37643: 0x6cd62420,\n\t0x37644: 0x6cd62620, 0x37645: 0x6cd62820, 0x37646: 0x6cd62a20, 0x37647: 0x6cd62c20,\n\t0x37648: 0x6cd62e20, 0x37649: 0x6cd63020, 0x3764a: 0x6d049620, 0x3764b: 0x6d049820,\n\t0x3764c: 0x6d049a20, 0x3764d: 0x6d049c20, 0x3764e: 0x6d049e20, 0x3764f: 0x6d04a020,\n\t0x37650: 0x6d04a220, 0x37651: 0x6d04a420, 0x37652: 0x6d04a620, 0x37653: 0x6d04a820,\n\t0x37654: 0x6d04aa20, 0x37655: 0x6d04ac20, 0x37656: 0x6d04ae20, 0x37657: 0x6d04b020,\n\t0x37658: 0x6d321020, 0x37659: 0x6d321220, 0x3765a: 0x6d321420, 0x3765b: 0x6d321620,\n\t0x3765c: 0x6d321820, 0x3765d: 0x6d321a20, 0x3765e: 0x6d321c20, 0x3765f: 0x6d321e20,\n\t0x37660: 0x6d322020, 0x37661: 0x6d322220, 0x37662: 0x6d322420, 0x37663: 0x6d322620,\n\t0x37664: 0x6d322820, 0x37665: 0x6d5eb620, 0x37666: 0x6d5eb820, 0x37667: 0x6d5eba20,\n\t0x37668: 0x6d5ebc20, 0x37669: 0x6d5ebe20, 0x3766a: 0x6d5ec020, 0x3766b: 0x6d5ec220,\n\t0x3766c: 0x6d5ec420, 0x3766d: 0x6d892420, 0x3766e: 0x6d892620, 0x3766f: 0x6dad9020,\n\t0x37670: 0x6d892820, 0x37671: 0x6d892a20, 0x37672: 0x6dad9220, 0x37673: 0x6dad9420,\n\t0x37674: 0x6dad9620, 0x37675: 0x6dad9820, 0x37676: 0x6dad9a20, 0x37677: 0x6dad9c20,\n\t0x37678: 0x6dad9e20, 0x37679: 0x6dada020, 0x3767a: 0x6de80820, 0x3767b: 0x6dada220,\n\t0x3767c: 0x6dcd3c20, 0x3767d: 0x6dcd3e20, 0x3767e: 0x6dcd4020, 0x3767f: 0x6dcd4220,\n\t// Block 0xdda, offset 0x37680\n\t0x37680: 0x6dcd4420, 0x37681: 0x6dcd4620, 0x37682: 0x6dc73620, 0x37683: 0x6dcd4820,\n\t0x37684: 0x6dcd4a20, 0x37685: 0x6de80a20, 0x37686: 0x6de80c20, 0x37687: 0x6de80e20,\n\t0x37688: 0x6dfe9e20, 0x37689: 0x6dfea020, 0x3768a: 0x6dfea220, 0x3768b: 0x6dfea420,\n\t0x3768c: 0x6dfea620, 0x3768d: 0x6dfea820, 0x3768e: 0x6e110220, 0x3768f: 0x6e110420,\n\t0x37690: 0x6e1f8020, 0x37691: 0x6e1f8220, 0x37692: 0x6e395a20, 0x37693: 0x6e2ac220,\n\t0x37694: 0x6e335020, 0x37695: 0x6e395c20, 0x37696: 0x6e395e20, 0x37697: 0x6c141220,\n\t0x37698: 0x6c259420, 0x37699: 0x6c3d9e20, 0x3769a: 0x6c3da020, 0x3769b: 0x6c3da220,\n\t0x3769c: 0x6c3da420, 0x3769d: 0x6c5c0820, 0x3769e: 0x6c5c0a20, 0x3769f: 0x6c5c0c20,\n\t0x376a0: 0x6c5c0e20, 0x376a1: 0x6c5c1020, 0x376a2: 0x6c5c1220, 0x376a3: 0x6c5c1420,\n\t0x376a4: 0x6c5c1620, 0x376a5: 0x6c5c1820, 0x376a6: 0x6c5c1a20, 0x376a7: 0x6c5c1c20,\n\t0x376a8: 0x6c5c1e20, 0x376a9: 0x6c5c2020, 0x376aa: 0x6c5c2220, 0x376ab: 0x6c5c2420,\n\t0x376ac: 0x6c5c2620, 0x376ad: 0x6c5c2820, 0x376ae: 0x6c5c2a20, 0x376af: 0x6c7f6220,\n\t0x376b0: 0x6c7f6420, 0x376b1: 0x6c7f6620, 0x376b2: 0x6c7f6820, 0x376b3: 0x6c7f6a20,\n\t0x376b4: 0x6c7f6c20, 0x376b5: 0x6c7f6e20, 0x376b6: 0x6c7f7020, 0x376b7: 0x6c7f7220,\n\t0x376b8: 0x6c7f7420, 0x376b9: 0x6c7f7620, 0x376ba: 0x6c7f7820, 0x376bb: 0x6c7f7a20,\n\t0x376bc: 0x6c7f7c20, 0x376bd: 0x6c7f7e20, 0x376be: 0x6c7f8020, 0x376bf: 0x6c7f8220,\n\t// Block 0xddb, offset 0x376c0\n\t0x376c0: 0x6c7f8420, 0x376c1: 0x6c7f8620, 0x376c2: 0x6c7f8820, 0x376c3: 0x6c7f8a20,\n\t0x376c4: 0x6c7f8c20, 0x376c5: 0x6c7f8e20, 0x376c6: 0x6c7f9020, 0x376c7: 0x6c7f9220,\n\t0x376c8: 0x6c7f9420, 0x376c9: 0x6c7f9620, 0x376ca: 0x6c7f9820, 0x376cb: 0x6c7f9a20,\n\t0x376cc: 0x6ca84c20, 0x376cd: 0x6ca84e20, 0x376ce: 0x6ca85020, 0x376cf: 0x6ca85220,\n\t0x376d0: 0x6ca85420, 0x376d1: 0x6ca85620, 0x376d2: 0x6ca85820, 0x376d3: 0x6ca85a20,\n\t0x376d4: 0x6ca85c20, 0x376d5: 0x6ca85e20, 0x376d6: 0x6ca86020, 0x376d7: 0x6ca86220,\n\t0x376d8: 0x6ca86420, 0x376d9: 0x6ca86620, 0x376da: 0x6ca86820, 0x376db: 0x6ca86a20,\n\t0x376dc: 0x6ca86c20, 0x376dd: 0x6ca86e20, 0x376de: 0x6ca87020, 0x376df: 0x6ca87220,\n\t0x376e0: 0x6ca87420, 0x376e1: 0x6ca87620, 0x376e2: 0x6ca87820, 0x376e3: 0x6ca87a20,\n\t0x376e4: 0x6ca87c20, 0x376e5: 0x6ca87e20, 0x376e6: 0x6ca88020, 0x376e7: 0x6ca88220,\n\t0x376e8: 0x6ca88420, 0x376e9: 0x6ca88620, 0x376ea: 0x6cd69020, 0x376eb: 0x6cd69220,\n\t0x376ec: 0x6cd69420, 0x376ed: 0x6cd69620, 0x376ee: 0x6cd69820, 0x376ef: 0x6cd69a20,\n\t0x376f0: 0x6cd69c20, 0x376f1: 0x6cd69e20, 0x376f2: 0x6cd6a020, 0x376f3: 0x6cd6a220,\n\t0x376f4: 0x6cd6a420, 0x376f5: 0x6cd6a620, 0x376f6: 0x6cd6a820, 0x376f7: 0x6cd6aa20,\n\t0x376f8: 0x6cd6ac20, 0x376f9: 0x6cd6ae20, 0x376fa: 0x6cd6b020, 0x376fb: 0x6cd6b220,\n\t0x376fc: 0x6cd6b420, 0x376fd: 0x6cd6b620, 0x376fe: 0x6cd6b820, 0x376ff: 0x6ca88820,\n\t// Block 0xddc, offset 0x37700\n\t0x37700: 0x6cd6ba20, 0x37701: 0x6cd6bc20, 0x37702: 0x6cd6be20, 0x37703: 0x6cd6c020,\n\t0x37704: 0x6cd6c220, 0x37705: 0x6cd6c420, 0x37706: 0x6cd6c620, 0x37707: 0x6cd6c820,\n\t0x37708: 0x6cd6ca20, 0x37709: 0x6cd6cc20, 0x3770a: 0x6cd6ce20, 0x3770b: 0x6cd6d020,\n\t0x3770c: 0x6cd6d220, 0x3770d: 0x6cd6d420, 0x3770e: 0x6cd6d620, 0x3770f: 0x6cd6d820,\n\t0x37710: 0x6d051220, 0x37711: 0x6d051420, 0x37712: 0x6d051620, 0x37713: 0x6d051820,\n\t0x37714: 0x6d051a20, 0x37715: 0x6d051c20, 0x37716: 0x6d051e20, 0x37717: 0x6d052020,\n\t0x37718: 0x6d052220, 0x37719: 0x6d052420, 0x3771a: 0x6d052620, 0x3771b: 0x6d052820,\n\t0x3771c: 0x6d052a20, 0x3771d: 0x6d052c20, 0x3771e: 0x6d052e20, 0x3771f: 0x6d053020,\n\t0x37720: 0x6d053220, 0x37721: 0x6d053420, 0x37722: 0x6d053620, 0x37723: 0x6d053820,\n\t0x37724: 0x6d053a20, 0x37725: 0x6d053c20, 0x37726: 0x6d053e20, 0x37727: 0x6d054020,\n\t0x37728: 0x6d054220, 0x37729: 0x6d054420, 0x3772a: 0x6d054620, 0x3772b: 0x6d054820,\n\t0x3772c: 0x6d054a20, 0x3772d: 0x6d054c20, 0x3772e: 0x6d054e20, 0x3772f: 0x6d055020,\n\t0x37730: 0x6d055220, 0x37731: 0x6d055420, 0x37732: 0x6d055620, 0x37733: 0x6d055820,\n\t0x37734: 0x6d055a20, 0x37735: 0x6d055c20, 0x37736: 0x6d055e20, 0x37737: 0x6d056020,\n\t0x37738: 0x6d056220, 0x37739: 0x6d056420, 0x3773a: 0x6d056620, 0x3773b: 0x6d056820,\n\t0x3773c: 0x6d056a20, 0x3773d: 0x6d056c20, 0x3773e: 0x6d056e20, 0x3773f: 0x6d057020,\n\t// Block 0xddd, offset 0x37740\n\t0x37740: 0x6d057220, 0x37741: 0x6d057420, 0x37742: 0x6d057620, 0x37743: 0x6d057820,\n\t0x37744: 0x6d057a20, 0x37745: 0x6d057c20, 0x37746: 0x6d057e20, 0x37747: 0x6d058020,\n\t0x37748: 0x6d058220, 0x37749: 0x6d058420, 0x3774a: 0x6d058620, 0x3774b: 0x6d058820,\n\t0x3774c: 0x6d058a20, 0x3774d: 0x6d32a220, 0x3774e: 0x6d32a420, 0x3774f: 0x6d32a620,\n\t0x37750: 0x6d32a820, 0x37751: 0x6d32aa20, 0x37752: 0x6d32ac20, 0x37753: 0x6d32ae20,\n\t0x37754: 0x6d32b020, 0x37755: 0x6d32b220, 0x37756: 0x6d32b420, 0x37757: 0x6d32b620,\n\t0x37758: 0x6d32b820, 0x37759: 0x6d32ba20, 0x3775a: 0x6d32bc20, 0x3775b: 0x6d32be20,\n\t0x3775c: 0x6d32c020, 0x3775d: 0x6d32c220, 0x3775e: 0x6d32c420, 0x3775f: 0x6d32c620,\n\t0x37760: 0x6d32c820, 0x37761: 0x6d32ca20, 0x37762: 0x6d32cc20, 0x37763: 0x6d32ce20,\n\t0x37764: 0x6d32d020, 0x37765: 0x6d32d220, 0x37766: 0x6d32d420, 0x37767: 0x6d32d620,\n\t0x37768: 0x6d32d820, 0x37769: 0x6d32da20, 0x3776a: 0x6d32dc20, 0x3776b: 0x6d32de20,\n\t0x3776c: 0x6d32e020, 0x3776d: 0x6d32e220, 0x3776e: 0x6d32e420, 0x3776f: 0x6d32e620,\n\t0x37770: 0x6d32e820, 0x37771: 0x6d32ea20, 0x37772: 0x6d32ec20, 0x37773: 0x6d32ee20,\n\t0x37774: 0x6d32f020, 0x37775: 0x6d32f220, 0x37776: 0x6d32f420, 0x37777: 0x6d32f620,\n\t0x37778: 0x6d32f820, 0x37779: 0x6d32fa20, 0x3777a: 0x6d32fc20, 0x3777b: 0x6d32fe20,\n\t0x3777c: 0x6d330020, 0x3777d: 0x6d330220, 0x3777e: 0x6d330420, 0x3777f: 0x6d330620,\n\t// Block 0xdde, offset 0x37780\n\t0x37780: 0x6d330820, 0x37781: 0x6d330a20, 0x37782: 0x6d330c20, 0x37783: 0x6d330e20,\n\t0x37784: 0x6d331020, 0x37785: 0x6d331220, 0x37786: 0x6d331420, 0x37787: 0x6d331620,\n\t0x37788: 0x6d331820, 0x37789: 0x6d331a20, 0x3778a: 0x6d331c20, 0x3778b: 0x6d331e20,\n\t0x3778c: 0x6d332020, 0x3778d: 0x6d332220, 0x3778e: 0x6d332420, 0x3778f: 0x6d332620,\n\t0x37790: 0x6d332820, 0x37791: 0x6d5f4e20, 0x37792: 0x6d5f5020, 0x37793: 0x6d5f5220,\n\t0x37794: 0x6d5f5420, 0x37795: 0x6d5f5620, 0x37796: 0x6d5f5820, 0x37797: 0x6d5f5a20,\n\t0x37798: 0x6d5f5c20, 0x37799: 0x6d5f5e20, 0x3779a: 0x6d5f6020, 0x3779b: 0x6d5f6220,\n\t0x3779c: 0x6d5f6420, 0x3779d: 0x6d5f6620, 0x3779e: 0x6d5f6820, 0x3779f: 0x6d5f6a20,\n\t0x377a0: 0x6d5f6c20, 0x377a1: 0x6d5f6e20, 0x377a2: 0x6d5f7020, 0x377a3: 0x6d5f7220,\n\t0x377a4: 0x6d5f7420, 0x377a5: 0x6d5f7620, 0x377a6: 0x6d5f7820, 0x377a7: 0x6d5f7a20,\n\t0x377a8: 0x6d5f7c20, 0x377a9: 0x6d5f7e20, 0x377aa: 0x6d5f8020, 0x377ab: 0x6d5f8220,\n\t0x377ac: 0x6d5f8420, 0x377ad: 0x6d5f8620, 0x377ae: 0x6d5f8820, 0x377af: 0x6d5f8a20,\n\t0x377b0: 0x6d5f8c20, 0x377b1: 0x6d5f8e20, 0x377b2: 0x6d5f9020, 0x377b3: 0x6d5f9220,\n\t0x377b4: 0x6d5f9420, 0x377b5: 0x6d5f9620, 0x377b6: 0x6d5f9820, 0x377b7: 0x6d5f9a20,\n\t0x377b8: 0x6d5f9c20, 0x377b9: 0x6d5f9e20, 0x377ba: 0x6d5fa020, 0x377bb: 0x6d5fa220,\n\t0x377bc: 0x6d5fa420, 0x377bd: 0x6d5fa620, 0x377be: 0x6d5fa820, 0x377bf: 0x6d5faa20,\n\t// Block 0xddf, offset 0x377c0\n\t0x377c0: 0x6d5fac20, 0x377c1: 0x6d5fae20, 0x377c2: 0x6d5fb020, 0x377c3: 0x6d5fb220,\n\t0x377c4: 0x6d5fb420, 0x377c5: 0x6d5fb620, 0x377c6: 0x6d5fb820, 0x377c7: 0x6d5fba20,\n\t0x377c8: 0x6d5fbc20, 0x377c9: 0x6d5fbe20, 0x377ca: 0x6d5fc020, 0x377cb: 0x6d5fc220,\n\t0x377cc: 0x6d5fc420, 0x377cd: 0x6d5fc620, 0x377ce: 0x6d5fc820, 0x377cf: 0x6d5fca20,\n\t0x377d0: 0x6d5fcc20, 0x377d1: 0x6d5fce20, 0x377d2: 0x6d5fd020, 0x377d3: 0x6d5fd220,\n\t0x377d4: 0x6d5fd420, 0x377d5: 0x6d5fd620, 0x377d6: 0x6d5fd820, 0x377d7: 0x6d5fda20,\n\t0x377d8: 0x6d898620, 0x377d9: 0x6d898820, 0x377da: 0x6d898a20, 0x377db: 0x6d898c20,\n\t0x377dc: 0x6d898e20, 0x377dd: 0x6d899020, 0x377de: 0x6d899220, 0x377df: 0x6d899420,\n\t0x377e0: 0x6d899620, 0x377e1: 0x6d899820, 0x377e2: 0x6d899a20, 0x377e3: 0x6d899c20,\n\t0x377e4: 0x6d899e20, 0x377e5: 0x6d89a020, 0x377e6: 0x6d89a220, 0x377e7: 0x6d89a420,\n\t0x377e8: 0x6d89a620, 0x377e9: 0x6d89a820, 0x377ea: 0x6d89aa20, 0x377eb: 0x6d89ac20,\n\t0x377ec: 0x6d89ae20, 0x377ed: 0x6d89b020, 0x377ee: 0x6d89b220, 0x377ef: 0x6d89b420,\n\t0x377f0: 0x6d89b620, 0x377f1: 0x6d89b820, 0x377f2: 0x6d89ba20, 0x377f3: 0x6d89bc20,\n\t0x377f4: 0x6d89be20, 0x377f5: 0x6d89c020, 0x377f6: 0x6d89c220, 0x377f7: 0x6d89c420,\n\t0x377f8: 0x6d89c620, 0x377f9: 0x6d89c820, 0x377fa: 0x6d89ca20, 0x377fb: 0x6d89cc20,\n\t0x377fc: 0x6d89ce20, 0x377fd: 0x6d89d020, 0x377fe: 0x6d89d220, 0x377ff: 0x6d89d420,\n\t// Block 0xde0, offset 0x37800\n\t0x37800: 0x6d89d620, 0x37801: 0x6d89d820, 0x37802: 0x6d89da20, 0x37803: 0x6d89dc20,\n\t0x37804: 0x6d89de20, 0x37805: 0x6d89e020, 0x37806: 0x6d89e220, 0x37807: 0x6d89e420,\n\t0x37808: 0x6d89e620, 0x37809: 0x6d89e820, 0x3780a: 0x6d89ea20, 0x3780b: 0x6d89ec20,\n\t0x3780c: 0x6d89ee20, 0x3780d: 0x6d89f020, 0x3780e: 0x6d89f220, 0x3780f: 0x6d89f420,\n\t0x37810: 0x6d89f620, 0x37811: 0x6d89f820, 0x37812: 0x6d89fa20, 0x37813: 0x6d89fc20,\n\t0x37814: 0x6d89fe20, 0x37815: 0x6d8a0020, 0x37816: 0x6d8a0220, 0x37817: 0x6d8a0420,\n\t0x37818: 0x6d8a0620, 0x37819: 0x6d8a0820, 0x3781a: 0x6d8a0a20, 0x3781b: 0x6d8a0c20,\n\t0x3781c: 0x6d8a0e20, 0x3781d: 0x6d8a1020, 0x3781e: 0x6d8a1220, 0x3781f: 0x6d8a1420,\n\t0x37820: 0x6d8a1620, 0x37821: 0x6d8a1820, 0x37822: 0x6d8a1a20, 0x37823: 0x6d8a1c20,\n\t0x37824: 0x6d8a1e20, 0x37825: 0x6d8a2020, 0x37826: 0x6d8a2220, 0x37827: 0x6d8a2420,\n\t0x37828: 0x6d8a2620, 0x37829: 0x6d8a2820, 0x3782a: 0x6d8a2a20, 0x3782b: 0x6d8a2c20,\n\t0x3782c: 0x6d8a2e20, 0x3782d: 0x6d8a3020, 0x3782e: 0x6d8a3220, 0x3782f: 0x6d8a3420,\n\t0x37830: 0x6d8a3620, 0x37831: 0x6d8a3820, 0x37832: 0x6d8a3a20, 0x37833: 0x6d8a3c20,\n\t0x37834: 0x6d8a3e20, 0x37835: 0x6dae1220, 0x37836: 0x6dae1420, 0x37837: 0x6dae1620,\n\t0x37838: 0x6dae1820, 0x37839: 0x6dae1a20, 0x3783a: 0x6dae1c20, 0x3783b: 0x6dae1e20,\n\t0x3783c: 0x6dae2020, 0x3783d: 0x6dae2220, 0x3783e: 0x6dae2420, 0x3783f: 0x6dae2620,\n\t// Block 0xde1, offset 0x37840\n\t0x37840: 0x6dae2820, 0x37841: 0x6dae2a20, 0x37842: 0x6dae2c20, 0x37843: 0x6dae2e20,\n\t0x37844: 0x6dae3020, 0x37845: 0x6dae3220, 0x37846: 0x6dae3420, 0x37847: 0x6dae3620,\n\t0x37848: 0x6dae3820, 0x37849: 0x6dae3a20, 0x3784a: 0x6dae3c20, 0x3784b: 0x6dae3e20,\n\t0x3784c: 0x6dae4020, 0x3784d: 0x6dae4220, 0x3784e: 0x6dae4420, 0x3784f: 0x6dae4620,\n\t0x37850: 0x6dae4820, 0x37851: 0x6dae4a20, 0x37852: 0x6dae4c20, 0x37853: 0x6dae4e20,\n\t0x37854: 0x6dae5020, 0x37855: 0x6dae5220, 0x37856: 0x6dae5420, 0x37857: 0x6dae5620,\n\t0x37858: 0x6dae5820, 0x37859: 0x6dae5a20, 0x3785a: 0x6dae5c20, 0x3785b: 0x6dae5e20,\n\t0x3785c: 0x6dae6020, 0x3785d: 0x6dae6220, 0x3785e: 0x6dae6420, 0x3785f: 0x6dae6620,\n\t0x37860: 0x6dae6820, 0x37861: 0x6dae6a20, 0x37862: 0x6dae6c20, 0x37863: 0x6dae6e20,\n\t0x37864: 0x6dae7020, 0x37865: 0x6dae7220, 0x37866: 0x6dae7420, 0x37867: 0x6dae7620,\n\t0x37868: 0x6dae7820, 0x37869: 0x6dae7a20, 0x3786a: 0x6dae7c20, 0x3786b: 0x6dae7e20,\n\t0x3786c: 0x6dae8020, 0x3786d: 0x6dae8220, 0x3786e: 0x6dae8420, 0x3786f: 0x6dae8620,\n\t0x37870: 0x6dae8820, 0x37871: 0x6dae8a20, 0x37872: 0x6dae8c20, 0x37873: 0x6dae8e20,\n\t0x37874: 0x6dae9020, 0x37875: 0x6dae9220, 0x37876: 0x6dae9420, 0x37877: 0x6dae9620,\n\t0x37878: 0x6dae9820, 0x37879: 0x6dae9a20, 0x3787a: 0x6dae9c20, 0x3787b: 0x6dae9e20,\n\t0x3787c: 0x6daea020, 0x3787d: 0x6daea220, 0x3787e: 0x6daea420, 0x3787f: 0x6daea620,\n\t// Block 0xde2, offset 0x37880\n\t0x37880: 0x6daea820, 0x37881: 0x6dcda420, 0x37882: 0x6daeaa20, 0x37883: 0x6daeac20,\n\t0x37884: 0x6daeae20, 0x37885: 0x6daeb020, 0x37886: 0x6dcda620, 0x37887: 0x6dcda820,\n\t0x37888: 0x6dcdaa20, 0x37889: 0x6dcdac20, 0x3788a: 0x6dcdae20, 0x3788b: 0x6dcdb020,\n\t0x3788c: 0x6dcdb220, 0x3788d: 0x6dcdb420, 0x3788e: 0x6dcdb620, 0x3788f: 0x6dcdb820,\n\t0x37890: 0x6dcdba20, 0x37891: 0x6dcdbc20, 0x37892: 0x6dcdbe20, 0x37893: 0x6dcdc020,\n\t0x37894: 0x6dcdc220, 0x37895: 0x6dcdc420, 0x37896: 0x6dcdc620, 0x37897: 0x6dcdc820,\n\t0x37898: 0x6dcdca20, 0x37899: 0x6dcdcc20, 0x3789a: 0x6dcdce20, 0x3789b: 0x6dcdd020,\n\t0x3789c: 0x6dcdd220, 0x3789d: 0x6dcdd420, 0x3789e: 0x6dcdd620, 0x3789f: 0x6dcdd820,\n\t0x378a0: 0x6dcdda20, 0x378a1: 0x6dcddc20, 0x378a2: 0x6dcdde20, 0x378a3: 0x6dcde020,\n\t0x378a4: 0x6dcde220, 0x378a5: 0x6dcde420, 0x378a6: 0x6dcde620, 0x378a7: 0x6dcde820,\n\t0x378a8: 0x6dcdea20, 0x378a9: 0x6dcdec20, 0x378aa: 0x6dcdee20, 0x378ab: 0x6dcdf020,\n\t0x378ac: 0x6dcdf220, 0x378ad: 0x6dcdf420, 0x378ae: 0x6dcdf620, 0x378af: 0x6dcdf820,\n\t0x378b0: 0x6dcdfa20, 0x378b1: 0x6dcdfc20, 0x378b2: 0x6dcdfe20, 0x378b3: 0x6dce0020,\n\t0x378b4: 0x6dce0220, 0x378b5: 0x6dce0420, 0x378b6: 0x6dce0620, 0x378b7: 0x6dce0820,\n\t0x378b8: 0x6dce0a20, 0x378b9: 0x6dce0c20, 0x378ba: 0x6dce0e20, 0x378bb: 0x6dce1020,\n\t0x378bc: 0x6dce1220, 0x378bd: 0x6dce1420, 0x378be: 0x6dce1620, 0x378bf: 0x6dce1820,\n\t// Block 0xde3, offset 0x378c0\n\t0x378c0: 0x6dce1a20, 0x378c1: 0x6dce1c20, 0x378c2: 0x6dce1e20, 0x378c3: 0x6dce2020,\n\t0x378c4: 0x6dce2220, 0x378c5: 0x6dce2420, 0x378c6: 0x6dce2620, 0x378c7: 0x6dce2820,\n\t0x378c8: 0x6dce2a20, 0x378c9: 0x6dce2c20, 0x378ca: 0x6dce2e20, 0x378cb: 0x6dce3020,\n\t0x378cc: 0x6dce3220, 0x378cd: 0x6dce3420, 0x378ce: 0x6daeb220, 0x378cf: 0x6dce3620,\n\t0x378d0: 0x6dce3820, 0x378d1: 0x6dce3a20, 0x378d2: 0x6dce3c20, 0x378d3: 0x6dce3e20,\n\t0x378d4: 0x6dce4020, 0x378d5: 0x6dce4220, 0x378d6: 0x6dce4420, 0x378d7: 0x6dce4620,\n\t0x378d8: 0x6dce4820, 0x378d9: 0x6dce4a20, 0x378da: 0x6dce4c20, 0x378db: 0x6dce4e20,\n\t0x378dc: 0x6dce5020, 0x378dd: 0x6dce5220, 0x378de: 0x6dce5420, 0x378df: 0x6dce5620,\n\t0x378e0: 0x6dce5820, 0x378e1: 0x6de84820, 0x378e2: 0x6de84a20, 0x378e3: 0x6de84c20,\n\t0x378e4: 0x6de84e20, 0x378e5: 0x6de85020, 0x378e6: 0x6de85220, 0x378e7: 0x6de85420,\n\t0x378e8: 0x6de85620, 0x378e9: 0x6de85820, 0x378ea: 0x6de85a20, 0x378eb: 0x6de85c20,\n\t0x378ec: 0x6de85e20, 0x378ed: 0x6de86020, 0x378ee: 0x6de86220, 0x378ef: 0x6de86420,\n\t0x378f0: 0x6de86620, 0x378f1: 0x6de86820, 0x378f2: 0x6de86a20, 0x378f3: 0x6de86c20,\n\t0x378f4: 0x6de86e20, 0x378f5: 0x6de87020, 0x378f6: 0x6de87220, 0x378f7: 0x6de87420,\n\t0x378f8: 0x6de87620, 0x378f9: 0x6de87820, 0x378fa: 0x6de87a20, 0x378fb: 0x6de87c20,\n\t0x378fc: 0x6de87e20, 0x378fd: 0x6de88020, 0x378fe: 0x6de88220, 0x378ff: 0x6de88420,\n\t// Block 0xde4, offset 0x37900\n\t0x37900: 0x6de88620, 0x37901: 0x6de88820, 0x37902: 0x6de88a20, 0x37903: 0x6de88c20,\n\t0x37904: 0x6de88e20, 0x37905: 0x6de89020, 0x37906: 0x6de89220, 0x37907: 0x6de89420,\n\t0x37908: 0x6de89620, 0x37909: 0x6de89820, 0x3790a: 0x6de89a20, 0x3790b: 0x6de89c20,\n\t0x3790c: 0x6de89e20, 0x3790d: 0x6de8a020, 0x3790e: 0x6de8a220, 0x3790f: 0x6de8a420,\n\t0x37910: 0x6de8a620, 0x37911: 0x6de8a820, 0x37912: 0x6de8aa20, 0x37913: 0x6de8ac20,\n\t0x37914: 0x6de8ae20, 0x37915: 0x6de8b020, 0x37916: 0x6de8b220, 0x37917: 0x6de8b420,\n\t0x37918: 0x6de8b620, 0x37919: 0x6de8b820, 0x3791a: 0x6de8ba20, 0x3791b: 0x6de8bc20,\n\t0x3791c: 0x6dfec820, 0x3791d: 0x6dfeca20, 0x3791e: 0x6dfecc20, 0x3791f: 0x6dfece20,\n\t0x37920: 0x6dfed020, 0x37921: 0x6dfed220, 0x37922: 0x6dfed420, 0x37923: 0x6dfed620,\n\t0x37924: 0x6dfed820, 0x37925: 0x6dfeda20, 0x37926: 0x6dfedc20, 0x37927: 0x6dfede20,\n\t0x37928: 0x6dfee020, 0x37929: 0x6dfee220, 0x3792a: 0x6dfee420, 0x3792b: 0x6dfee620,\n\t0x3792c: 0x6dfee820, 0x3792d: 0x6dfeea20, 0x3792e: 0x6dfeec20, 0x3792f: 0x6dfeee20,\n\t0x37930: 0x6dfef020, 0x37931: 0x6dfef220, 0x37932: 0x6dfef420, 0x37933: 0x6dfef620,\n\t0x37934: 0x6dfef820, 0x37935: 0x6dfefa20, 0x37936: 0x6dfefc20, 0x37937: 0x6dfefe20,\n\t0x37938: 0x6dff0020, 0x37939: 0x6dff0220, 0x3793a: 0x6dff0420, 0x3793b: 0x6dff0620,\n\t0x3793c: 0x6dff0820, 0x3793d: 0x6dff0a20, 0x3793e: 0x6dff0c20, 0x3793f: 0x6dff0e20,\n\t// Block 0xde5, offset 0x37940\n\t0x37940: 0x6dff1020, 0x37941: 0x6dff1220, 0x37942: 0x6dff1420, 0x37943: 0x6dff1620,\n\t0x37944: 0x6dff1820, 0x37945: 0x6e112220, 0x37946: 0x6e112420, 0x37947: 0x6e112620,\n\t0x37948: 0x6e112820, 0x37949: 0x6e112a20, 0x3794a: 0x6e112c20, 0x3794b: 0x6e112e20,\n\t0x3794c: 0x6e113020, 0x3794d: 0x6e113220, 0x3794e: 0x6e113420, 0x3794f: 0x6e113620,\n\t0x37950: 0x6e113820, 0x37951: 0x6e113a20, 0x37952: 0x6e113c20, 0x37953: 0x6e113e20,\n\t0x37954: 0x6e114020, 0x37955: 0x6e114220, 0x37956: 0x6e114420, 0x37957: 0x6e114620,\n\t0x37958: 0x6e114820, 0x37959: 0x6e114a20, 0x3795a: 0x6e114c20, 0x3795b: 0x6e114e20,\n\t0x3795c: 0x6e115020, 0x3795d: 0x6e115220, 0x3795e: 0x6e115420, 0x3795f: 0x6e115620,\n\t0x37960: 0x6e115820, 0x37961: 0x6e115a20, 0x37962: 0x6e115c20, 0x37963: 0x6e115e20,\n\t0x37964: 0x6e116020, 0x37965: 0x6e116220, 0x37966: 0x6e116420, 0x37967: 0x6e116620,\n\t0x37968: 0x6e116820, 0x37969: 0x6e116a20, 0x3796a: 0x6e116c20, 0x3796b: 0x6e116e20,\n\t0x3796c: 0x6e117020, 0x3796d: 0x6e117220, 0x3796e: 0x6e117420, 0x3796f: 0x6e117620,\n\t0x37970: 0x6e117820, 0x37971: 0x6e117a20, 0x37972: 0x6e117c20, 0x37973: 0x6e117e20,\n\t0x37974: 0x6e118020, 0x37975: 0x6e1fa220, 0x37976: 0x6e1fa420, 0x37977: 0x6e1fa620,\n\t0x37978: 0x6e1fa820, 0x37979: 0x6e1faa20, 0x3797a: 0x6e1fac20, 0x3797b: 0x6e1fae20,\n\t0x3797c: 0x6e1fb020, 0x3797d: 0x6e1fb220, 0x3797e: 0x6e1fb420, 0x3797f: 0x6e1fb620,\n\t// Block 0xde6, offset 0x37980\n\t0x37980: 0x6e1fb820, 0x37981: 0x6e1fba20, 0x37982: 0x6e1fbc20, 0x37983: 0x6e1fbe20,\n\t0x37984: 0x6e1fc020, 0x37985: 0x6e1fc220, 0x37986: 0x6e1fc420, 0x37987: 0x6e1fc620,\n\t0x37988: 0x6e1fc820, 0x37989: 0x6e1fca20, 0x3798a: 0x6e1fcc20, 0x3798b: 0x6e1fce20,\n\t0x3798c: 0x6e1fd020, 0x3798d: 0x6e1fd220, 0x3798e: 0x6e1fd420, 0x3798f: 0x6e1fd620,\n\t0x37990: 0x6e1fd820, 0x37991: 0x6e1fda20, 0x37992: 0x6e1fdc20, 0x37993: 0x6e1fde20,\n\t0x37994: 0x6e2ada20, 0x37995: 0x6e2adc20, 0x37996: 0x6e2ade20, 0x37997: 0x6e2ae020,\n\t0x37998: 0x6e2ae220, 0x37999: 0x6e2ae420, 0x3799a: 0x6e2ae620, 0x3799b: 0x6e2ae820,\n\t0x3799c: 0x6e2aea20, 0x3799d: 0x6e2aec20, 0x3799e: 0x6e2aee20, 0x3799f: 0x6e2af020,\n\t0x379a0: 0x6e2af220, 0x379a1: 0x6e2af420, 0x379a2: 0x6e2af620, 0x379a3: 0x6e2af820,\n\t0x379a4: 0x6e2afa20, 0x379a5: 0x6e2afc20, 0x379a6: 0x6e2afe20, 0x379a7: 0x6e2b0020,\n\t0x379a8: 0x6e335620, 0x379a9: 0x6e335820, 0x379aa: 0x6e335a20, 0x379ab: 0x6e335c20,\n\t0x379ac: 0x6e335e20, 0x379ad: 0x6e336020, 0x379ae: 0x6e336220, 0x379af: 0x6e336420,\n\t0x379b0: 0x6e336620, 0x379b1: 0x6e336820, 0x379b2: 0x6e336a20, 0x379b3: 0x6e336c20,\n\t0x379b4: 0x6e336e20, 0x379b5: 0x6e337020, 0x379b6: 0x6e337220, 0x379b7: 0x6e337420,\n\t0x379b8: 0x6e337620, 0x379b9: 0x6e337820, 0x379ba: 0x6e337a20, 0x379bb: 0x6e337c20,\n\t0x379bc: 0x6e396a20, 0x379bd: 0x6e396c20, 0x379be: 0x6e396e20, 0x379bf: 0x6e397020,\n\t// Block 0xde7, offset 0x379c0\n\t0x379c0: 0x6e397220, 0x379c1: 0x6e397420, 0x379c2: 0x6e397620, 0x379c3: 0x6e397820,\n\t0x379c4: 0x6e397a20, 0x379c5: 0x6e397c20, 0x379c6: 0x6e397e20, 0x379c7: 0x6e398020,\n\t0x379c8: 0x6e3db220, 0x379c9: 0x6e3db420, 0x379ca: 0x6e3db620, 0x379cb: 0x6e3db820,\n\t0x379cc: 0x6e3dba20, 0x379cd: 0x6e3dbc20, 0x379ce: 0x6e3dbe20, 0x379cf: 0x6e3dc020,\n\t0x379d0: 0x6e409020, 0x379d1: 0x6e409220, 0x379d2: 0x6e409420, 0x379d3: 0x6e409620,\n\t0x379d4: 0x6e409820, 0x379d5: 0x6e409a20, 0x379d6: 0x6e409c20, 0x379d7: 0x6e42d420,\n\t0x379d8: 0x6e445020, 0x379d9: 0x6e445220, 0x379da: 0x6e42d620, 0x379db: 0x6e42d820,\n\t0x379dc: 0x6e42da20, 0x379dd: 0x6e42dc20, 0x379de: 0x6e445420, 0x379df: 0x6e445620,\n\t0x379e0: 0x6e445820, 0x379e1: 0x6e453620, 0x379e2: 0x6e453820, 0x379e3: 0x6e45c620,\n\t0x379e4: 0x6e463820, 0x379e5: 0x6c259620, 0x379e6: 0x6c259820, 0x379e7: 0x6c3dae20,\n\t0x379e8: 0x6c3db020, 0x379e9: 0x6c3db220, 0x379ea: 0x6c3db420, 0x379eb: 0x6c5c4a20,\n\t0x379ec: 0x6c5c4c20, 0x379ed: 0x6c5c4e20, 0x379ee: 0x6c5c5020, 0x379ef: 0x6c5c5220,\n\t0x379f0: 0x6c5c5420, 0x379f1: 0x6c5c5620, 0x379f2: 0x6c5c5820, 0x379f3: 0x6c7fcc20,\n\t0x379f4: 0x6c7fce20, 0x379f5: 0x6c7fd020, 0x379f6: 0x6c7fd220, 0x379f7: 0x6c7fd420,\n\t0x379f8: 0x6c7fd620, 0x379f9: 0x6c7fd820, 0x379fa: 0x6c7fda20, 0x379fb: 0x6c7fdc20,\n\t0x379fc: 0x6c7fde20, 0x379fd: 0x6c7fe020, 0x379fe: 0x6c7fe220, 0x379ff: 0x6c7fe420,\n\t// Block 0xde8, offset 0x37a00\n\t0x37a00: 0x6c7fe620, 0x37a01: 0x6ca8b620, 0x37a02: 0x6ca8b820, 0x37a03: 0x6ca8ba20,\n\t0x37a04: 0x6ca8bc20, 0x37a05: 0x6ca8be20, 0x37a06: 0x6ca8c020, 0x37a07: 0x6ca8c220,\n\t0x37a08: 0x6ca8c420, 0x37a09: 0x6ca8c620, 0x37a0a: 0x6ca8c820, 0x37a0b: 0x6ca8ca20,\n\t0x37a0c: 0x6ca8cc20, 0x37a0d: 0x6ca8ce20, 0x37a0e: 0x6ca8d020, 0x37a0f: 0x6ca8d220,\n\t0x37a10: 0x6ca8d420, 0x37a11: 0x6ca8d620, 0x37a12: 0x6ca8d820, 0x37a13: 0x6ca8da20,\n\t0x37a14: 0x6ca8dc20, 0x37a15: 0x6ca8de20, 0x37a16: 0x6ca8e020, 0x37a17: 0x6cd70a20,\n\t0x37a18: 0x6ca8e220, 0x37a19: 0x6ca8e420, 0x37a1a: 0x6cd70c20, 0x37a1b: 0x6cd70e20,\n\t0x37a1c: 0x6cd71020, 0x37a1d: 0x6cd71220, 0x37a1e: 0x6cd71420, 0x37a1f: 0x6cd71620,\n\t0x37a20: 0x6cd71820, 0x37a21: 0x6cd71a20, 0x37a22: 0x6cd71c20, 0x37a23: 0x6cd71e20,\n\t0x37a24: 0x6cd72020, 0x37a25: 0x6cd72220, 0x37a26: 0x6cd72420, 0x37a27: 0x6cd72620,\n\t0x37a28: 0x6cd72820, 0x37a29: 0x6cd72a20, 0x37a2a: 0x6cd72c20, 0x37a2b: 0x6cd72e20,\n\t0x37a2c: 0x6cd73020, 0x37a2d: 0x6cd73220, 0x37a2e: 0x6cd73420, 0x37a2f: 0x6cd73620,\n\t0x37a30: 0x6cd73820, 0x37a31: 0x6ca8e620, 0x37a32: 0x6d05b620, 0x37a33: 0x6d05b820,\n\t0x37a34: 0x6d05ba20, 0x37a35: 0x6d05bc20, 0x37a36: 0x6d05be20, 0x37a37: 0x6d05c020,\n\t0x37a38: 0x6d05c220, 0x37a39: 0x6d05c420, 0x37a3a: 0x6d05c620, 0x37a3b: 0x6d05c820,\n\t0x37a3c: 0x6d05ca20, 0x37a3d: 0x6d05cc20, 0x37a3e: 0x6d05ce20, 0x37a3f: 0x6d05d020,\n\t// Block 0xde9, offset 0x37a40\n\t0x37a40: 0x6d05d220, 0x37a41: 0x6d05d420, 0x37a42: 0x6d05d620, 0x37a43: 0x6d05d820,\n\t0x37a44: 0x6d05da20, 0x37a45: 0x6d05dc20, 0x37a46: 0x6d05de20, 0x37a47: 0x6d05e020,\n\t0x37a48: 0x6d05e220, 0x37a49: 0x6d05e420, 0x37a4a: 0x6d05e620, 0x37a4b: 0x6d05e820,\n\t0x37a4c: 0x6d05ea20, 0x37a4d: 0x6d05ec20, 0x37a4e: 0x6d05ee20, 0x37a4f: 0x6d05f020,\n\t0x37a50: 0x6d05f220, 0x37a51: 0x6d05f420, 0x37a52: 0x6d05f620, 0x37a53: 0x6d05f820,\n\t0x37a54: 0x6d05fa20, 0x37a55: 0x6d05fc20, 0x37a56: 0x6d05fe20, 0x37a57: 0x6d060020,\n\t0x37a58: 0x6d335a20, 0x37a59: 0x6d335c20, 0x37a5a: 0x6d335e20, 0x37a5b: 0x6d336020,\n\t0x37a5c: 0x6d336220, 0x37a5d: 0x6d336420, 0x37a5e: 0x6d336620, 0x37a5f: 0x6d336820,\n\t0x37a60: 0x6d336a20, 0x37a61: 0x6d336c20, 0x37a62: 0x6d336e20, 0x37a63: 0x6d337020,\n\t0x37a64: 0x6d337220, 0x37a65: 0x6d337420, 0x37a66: 0x6d337620, 0x37a67: 0x6d337820,\n\t0x37a68: 0x6d337a20, 0x37a69: 0x6d337c20, 0x37a6a: 0x6d337e20, 0x37a6b: 0x6d338020,\n\t0x37a6c: 0x6d338220, 0x37a6d: 0x6d338420, 0x37a6e: 0x6d338620, 0x37a6f: 0x6d338820,\n\t0x37a70: 0x6d338a20, 0x37a71: 0x6d338c20, 0x37a72: 0x6d338e20, 0x37a73: 0x6d339020,\n\t0x37a74: 0x6d339220, 0x37a75: 0x6d339420, 0x37a76: 0x6d339620, 0x37a77: 0x6d339820,\n\t0x37a78: 0x6d339a20, 0x37a79: 0x6d339c20, 0x37a7a: 0x6d339e20, 0x37a7b: 0x6d33a020,\n\t0x37a7c: 0x6d33a220, 0x37a7d: 0x6d33a420, 0x37a7e: 0x6d33a620, 0x37a7f: 0x6d33a820,\n\t// Block 0xdea, offset 0x37a80\n\t0x37a80: 0x6d33aa20, 0x37a81: 0x6d601820, 0x37a82: 0x6d601a20, 0x37a83: 0x6d601c20,\n\t0x37a84: 0x6d601e20, 0x37a85: 0x6d602020, 0x37a86: 0x6d602220, 0x37a87: 0x6d602420,\n\t0x37a88: 0x6d602620, 0x37a89: 0x6d602820, 0x37a8a: 0x6d602a20, 0x37a8b: 0x6d602c20,\n\t0x37a8c: 0x6d602e20, 0x37a8d: 0x6d603020, 0x37a8e: 0x6d603220, 0x37a8f: 0x6d603420,\n\t0x37a90: 0x6d603620, 0x37a91: 0x6d603820, 0x37a92: 0x6d603a20, 0x37a93: 0x6d603c20,\n\t0x37a94: 0x6d603e20, 0x37a95: 0x6d604020, 0x37a96: 0x6d604220, 0x37a97: 0x6d604420,\n\t0x37a98: 0x6d604620, 0x37a99: 0x6d604820, 0x37a9a: 0x6d604a20, 0x37a9b: 0x6d604c20,\n\t0x37a9c: 0x6d604e20, 0x37a9d: 0x6d605020, 0x37a9e: 0x6d605220, 0x37a9f: 0x6d605420,\n\t0x37aa0: 0x6d605620, 0x37aa1: 0x6d605820, 0x37aa2: 0x6d605a20, 0x37aa3: 0x6d605c20,\n\t0x37aa4: 0x6d8a6e20, 0x37aa5: 0x6d8a7020, 0x37aa6: 0x6d8a7220, 0x37aa7: 0x6d8a7420,\n\t0x37aa8: 0x6d8a7620, 0x37aa9: 0x6d8a7820, 0x37aaa: 0x6d8a7a20, 0x37aab: 0x6d8a7c20,\n\t0x37aac: 0x6d8a7e20, 0x37aad: 0x6d8a8020, 0x37aae: 0x6d8a8220, 0x37aaf: 0x6d8a8420,\n\t0x37ab0: 0x6d8a8620, 0x37ab1: 0x6d8a8820, 0x37ab2: 0x6d8a8a20, 0x37ab3: 0x6d8a8c20,\n\t0x37ab4: 0x6d8a8e20, 0x37ab5: 0x6d8a9020, 0x37ab6: 0x6d8a9220, 0x37ab7: 0x6d8a9420,\n\t0x37ab8: 0x6d8a9620, 0x37ab9: 0x6d8a9820, 0x37aba: 0x6d8a9a20, 0x37abb: 0x6d8a9c20,\n\t0x37abc: 0x6d8a9e20, 0x37abd: 0x6d8aa020, 0x37abe: 0x6d8aa220, 0x37abf: 0x6daeea20,\n\t// Block 0xdeb, offset 0x37ac0\n\t0x37ac0: 0x6daeec20, 0x37ac1: 0x6daeee20, 0x37ac2: 0x6daef020, 0x37ac3: 0x6daef220,\n\t0x37ac4: 0x6daef420, 0x37ac5: 0x6daef620, 0x37ac6: 0x6daef820, 0x37ac7: 0x6daefa20,\n\t0x37ac8: 0x6daefc20, 0x37ac9: 0x6daefe20, 0x37aca: 0x6daf0020, 0x37acb: 0x6daf0220,\n\t0x37acc: 0x6daf0420, 0x37acd: 0x6daf0620, 0x37ace: 0x6daf0820, 0x37acf: 0x6daf0a20,\n\t0x37ad0: 0x6daf0c20, 0x37ad1: 0x6daf0e20, 0x37ad2: 0x6daf1020, 0x37ad3: 0x6daf1220,\n\t0x37ad4: 0x6daf1420, 0x37ad5: 0x6daf1620, 0x37ad6: 0x6daf1820, 0x37ad7: 0x6dce7c20,\n\t0x37ad8: 0x6dce7e20, 0x37ad9: 0x6dce8020, 0x37ada: 0x6dce8220, 0x37adb: 0x6dce8420,\n\t0x37adc: 0x6dce8620, 0x37add: 0x6dce8820, 0x37ade: 0x6dce8a20, 0x37adf: 0x6dce8c20,\n\t0x37ae0: 0x6dce8e20, 0x37ae1: 0x6dce9020, 0x37ae2: 0x6dce9220, 0x37ae3: 0x6dce9420,\n\t0x37ae4: 0x6dce9620, 0x37ae5: 0x6dce9820, 0x37ae6: 0x6dce9a20, 0x37ae7: 0x6dce9c20,\n\t0x37ae8: 0x6dce9e20, 0x37ae9: 0x6dcea020, 0x37aea: 0x6dcea220, 0x37aeb: 0x6dcea420,\n\t0x37aec: 0x6dcea620, 0x37aed: 0x6dcea820, 0x37aee: 0x6dceaa20, 0x37aef: 0x6dceac20,\n\t0x37af0: 0x6dceae20, 0x37af1: 0x6dceb020, 0x37af2: 0x6dceb220, 0x37af3: 0x6dceb420,\n\t0x37af4: 0x6dceb620, 0x37af5: 0x6dceb820, 0x37af6: 0x6de8d220, 0x37af7: 0x6de8d420,\n\t0x37af8: 0x6de8d620, 0x37af9: 0x6de8d820, 0x37afa: 0x6de8da20, 0x37afb: 0x6de8dc20,\n\t0x37afc: 0x6de8de20, 0x37afd: 0x6de8e020, 0x37afe: 0x6de8e220, 0x37aff: 0x6de8e420,\n\t// Block 0xdec, offset 0x37b00\n\t0x37b00: 0x6de8e620, 0x37b01: 0x6de8e820, 0x37b02: 0x6de8ea20, 0x37b03: 0x6de8ec20,\n\t0x37b04: 0x6de8ee20, 0x37b05: 0x6de8f020, 0x37b06: 0x6de8f220, 0x37b07: 0x6de8f420,\n\t0x37b08: 0x6de8f620, 0x37b09: 0x6de8f820, 0x37b0a: 0x6de8fa20, 0x37b0b: 0x6de8fc20,\n\t0x37b0c: 0x6de8fe20, 0x37b0d: 0x6de90020, 0x37b0e: 0x6de90220, 0x37b0f: 0x6dff2620,\n\t0x37b10: 0x6dff2820, 0x37b11: 0x6dff2a20, 0x37b12: 0x6dff2c20, 0x37b13: 0x6dff2e20,\n\t0x37b14: 0x6dff3020, 0x37b15: 0x6dff3220, 0x37b16: 0x6dff3420, 0x37b17: 0x6e118e20,\n\t0x37b18: 0x6e119020, 0x37b19: 0x6e119220, 0x37b1a: 0x6e119420, 0x37b1b: 0x6e119620,\n\t0x37b1c: 0x6e119820, 0x37b1d: 0x6e119a20, 0x37b1e: 0x6e119c20, 0x37b1f: 0x6e119e20,\n\t0x37b20: 0x6e11a020, 0x37b21: 0x6e1fe820, 0x37b22: 0x6e11a220, 0x37b23: 0x6e11a420,\n\t0x37b24: 0x6e1fea20, 0x37b25: 0x6e1fec20, 0x37b26: 0x6e1fee20, 0x37b27: 0x6e1ff020,\n\t0x37b28: 0x6e1ff220, 0x37b29: 0x6e1ff420, 0x37b2a: 0x6e1ff620, 0x37b2b: 0x6e1ff820,\n\t0x37b2c: 0x6e2b0a20, 0x37b2d: 0x6e2b0c20, 0x37b2e: 0x6e2b0e20, 0x37b2f: 0x6e2b1020,\n\t0x37b30: 0x6e2b1220, 0x37b31: 0x6e338020, 0x37b32: 0x6e338220, 0x37b33: 0x6e338420,\n\t0x37b34: 0x6e338620, 0x37b35: 0x6e338820, 0x37b36: 0x6e398a20, 0x37b37: 0x6e398c20,\n\t0x37b38: 0x6e398e20, 0x37b39: 0x6e399020, 0x37b3a: 0x6e399220, 0x37b3b: 0x6e3dc420,\n\t0x37b3c: 0x6e3dc620, 0x37b3d: 0x6e3dc820, 0x37b3e: 0x6e3dca20, 0x37b3f: 0x6e3dcc20,\n\t// Block 0xded, offset 0x37b40\n\t0x37b40: 0x6e40a020, 0x37b41: 0x6e40a220, 0x37b42: 0x6e453a20, 0x37b43: 0x6e45c820,\n\t0x37b44: 0x6e468a20, 0x37b45: 0x6c3dc420, 0x37b46: 0x6c3dc620, 0x37b47: 0x6c3dc820,\n\t0x37b48: 0x6c3dca20, 0x37b49: 0x6c3dcc20, 0x37b4a: 0x6c3dce20, 0x37b4b: 0x6c3dd020,\n\t0x37b4c: 0x6c5c7a20, 0x37b4d: 0x6c5c7c20, 0x37b4e: 0x6c5c7e20, 0x37b4f: 0x6c5c8020,\n\t0x37b50: 0x6c5c8220, 0x37b51: 0x6c5c8420, 0x37b52: 0x6c5c8620, 0x37b53: 0x6c5c8820,\n\t0x37b54: 0x6c5c8a20, 0x37b55: 0x6c5c8c20, 0x37b56: 0x6c5c8e20, 0x37b57: 0x6c5c9020,\n\t0x37b58: 0x6c5c9220, 0x37b59: 0x6c804620, 0x37b5a: 0x6c804820, 0x37b5b: 0x6c804a20,\n\t0x37b5c: 0x6c804c20, 0x37b5d: 0x6c804e20, 0x37b5e: 0x6c805020, 0x37b5f: 0x6c805220,\n\t0x37b60: 0x6c805420, 0x37b61: 0x6c805620, 0x37b62: 0x6c805820, 0x37b63: 0x6c805a20,\n\t0x37b64: 0x6c805c20, 0x37b65: 0x6c805e20, 0x37b66: 0x6c806020, 0x37b67: 0x6c806220,\n\t0x37b68: 0x6c806420, 0x37b69: 0x6c806620, 0x37b6a: 0x6c806820, 0x37b6b: 0x6c806a20,\n\t0x37b6c: 0x6c806c20, 0x37b6d: 0x6c806e20, 0x37b6e: 0x6c807020, 0x37b6f: 0x6c807220,\n\t0x37b70: 0x6c807420, 0x37b71: 0x6c807620, 0x37b72: 0x6c807820, 0x37b73: 0x6c807a20,\n\t0x37b74: 0x6c807c20, 0x37b75: 0x6c807e20, 0x37b76: 0x6c808020, 0x37b77: 0x6c808220,\n\t0x37b78: 0x6c808420, 0x37b79: 0x6c808620, 0x37b7a: 0x6c808820, 0x37b7b: 0x6c808a20,\n\t0x37b7c: 0x6c808c20, 0x37b7d: 0x6c808e20, 0x37b7e: 0x6c809020, 0x37b7f: 0x6c809220,\n\t// Block 0xdee, offset 0x37b80\n\t0x37b80: 0x6c809420, 0x37b81: 0x6c809620, 0x37b82: 0x6c809820, 0x37b83: 0x6ca95220,\n\t0x37b84: 0x6ca95420, 0x37b85: 0x6ca95620, 0x37b86: 0x6ca95820, 0x37b87: 0x6ca95a20,\n\t0x37b88: 0x6ca95c20, 0x37b89: 0x6ca95e20, 0x37b8a: 0x6ca96020, 0x37b8b: 0x6ca96220,\n\t0x37b8c: 0x6ca96420, 0x37b8d: 0x6ca96620, 0x37b8e: 0x6ca96820, 0x37b8f: 0x6ca96a20,\n\t0x37b90: 0x6ca96c20, 0x37b91: 0x6ca96e20, 0x37b92: 0x6ca97020, 0x37b93: 0x6ca97220,\n\t0x37b94: 0x6ca97420, 0x37b95: 0x6ca97620, 0x37b96: 0x6ca97820, 0x37b97: 0x6ca97a20,\n\t0x37b98: 0x6ca97c20, 0x37b99: 0x6ca97e20, 0x37b9a: 0x6ca98020, 0x37b9b: 0x6ca98220,\n\t0x37b9c: 0x6ca98420, 0x37b9d: 0x6ca98620, 0x37b9e: 0x6ca98820, 0x37b9f: 0x6ca98a20,\n\t0x37ba0: 0x6ca98c20, 0x37ba1: 0x6ca98e20, 0x37ba2: 0x6ca99020, 0x37ba3: 0x6ca99220,\n\t0x37ba4: 0x6ca99420, 0x37ba5: 0x6ca99620, 0x37ba6: 0x6cd7ae20, 0x37ba7: 0x6cd7b020,\n\t0x37ba8: 0x6cd7b220, 0x37ba9: 0x6cd7b420, 0x37baa: 0x6cd7b620, 0x37bab: 0x6cd7b820,\n\t0x37bac: 0x6cd7ba20, 0x37bad: 0x6cd7bc20, 0x37bae: 0x6cd7be20, 0x37baf: 0x6cd7c020,\n\t0x37bb0: 0x6cd7c220, 0x37bb1: 0x6cd7c420, 0x37bb2: 0x6cd7c620, 0x37bb3: 0x6cd7c820,\n\t0x37bb4: 0x6cd7ca20, 0x37bb5: 0x6cd7cc20, 0x37bb6: 0x6cd7ce20, 0x37bb7: 0x6cd7d020,\n\t0x37bb8: 0x6cd7d220, 0x37bb9: 0x6cd7d420, 0x37bba: 0x6cd7d620, 0x37bbb: 0x6cd7d820,\n\t0x37bbc: 0x6cd7da20, 0x37bbd: 0x6cd7dc20, 0x37bbe: 0x6cd7de20, 0x37bbf: 0x6cd7e020,\n\t// Block 0xdef, offset 0x37bc0\n\t0x37bc0: 0x6cd7e220, 0x37bc1: 0x6cd7e420, 0x37bc2: 0x6cd7e620, 0x37bc3: 0x6cd7e820,\n\t0x37bc4: 0x6cd7ea20, 0x37bc5: 0x6cd7ec20, 0x37bc6: 0x6cd7ee20, 0x37bc7: 0x6cd7f020,\n\t0x37bc8: 0x6cd7f220, 0x37bc9: 0x6cd7f420, 0x37bca: 0x6cd7f620, 0x37bcb: 0x6cd7f820,\n\t0x37bcc: 0x6cd7fa20, 0x37bcd: 0x6cd7fc20, 0x37bce: 0x6cd7fe20, 0x37bcf: 0x6cd80020,\n\t0x37bd0: 0x6cd80220, 0x37bd1: 0x6cd80420, 0x37bd2: 0x6d065a20, 0x37bd3: 0x6d065c20,\n\t0x37bd4: 0x6d065e20, 0x37bd5: 0x6d066020, 0x37bd6: 0x6d066220, 0x37bd7: 0x6d066420,\n\t0x37bd8: 0x6d066620, 0x37bd9: 0x6d066820, 0x37bda: 0x6d066a20, 0x37bdb: 0x6d066c20,\n\t0x37bdc: 0x6d066e20, 0x37bdd: 0x6d067020, 0x37bde: 0x6d067220, 0x37bdf: 0x6d067420,\n\t0x37be0: 0x6d067620, 0x37be1: 0x6d067820, 0x37be2: 0x6d067a20, 0x37be3: 0x6d067c20,\n\t0x37be4: 0x6d067e20, 0x37be5: 0x6d068020, 0x37be6: 0x6d068220, 0x37be7: 0x6d068420,\n\t0x37be8: 0x6d068620, 0x37be9: 0x6d068820, 0x37bea: 0x6d068a20, 0x37beb: 0x6d068c20,\n\t0x37bec: 0x6d068e20, 0x37bed: 0x6d069020, 0x37bee: 0x6d069220, 0x37bef: 0x6d069420,\n\t0x37bf0: 0x6d069620, 0x37bf1: 0x6d069820, 0x37bf2: 0x6d069a20, 0x37bf3: 0x6d069c20,\n\t0x37bf4: 0x6d069e20, 0x37bf5: 0x6d06a020, 0x37bf6: 0x6d06a220, 0x37bf7: 0x6d06a420,\n\t0x37bf8: 0x6d06a620, 0x37bf9: 0x6d06a820, 0x37bfa: 0x6d06aa20, 0x37bfb: 0x6d06ac20,\n\t0x37bfc: 0x6d06ae20, 0x37bfd: 0x6d06b020, 0x37bfe: 0x6d06b220, 0x37bff: 0x6d06b420,\n\t// Block 0xdf0, offset 0x37c00\n\t0x37c00: 0x6d06b620, 0x37c01: 0x6d06b820, 0x37c02: 0x6d06ba20, 0x37c03: 0x6d06bc20,\n\t0x37c04: 0x6d06be20, 0x37c05: 0x6d06c020, 0x37c06: 0x6d344020, 0x37c07: 0x6d344220,\n\t0x37c08: 0x6d344420, 0x37c09: 0x6d344620, 0x37c0a: 0x6d344820, 0x37c0b: 0x6d344a20,\n\t0x37c0c: 0x6d344c20, 0x37c0d: 0x6d344e20, 0x37c0e: 0x6d345020, 0x37c0f: 0x6d345220,\n\t0x37c10: 0x6d345420, 0x37c11: 0x6d345620, 0x37c12: 0x6d345820, 0x37c13: 0x6d345a20,\n\t0x37c14: 0x6d345c20, 0x37c15: 0x6d345e20, 0x37c16: 0x6d346020, 0x37c17: 0x6d346220,\n\t0x37c18: 0x6d346420, 0x37c19: 0x6d346620, 0x37c1a: 0x6d346820, 0x37c1b: 0x6d346a20,\n\t0x37c1c: 0x6d346c20, 0x37c1d: 0x6d346e20, 0x37c1e: 0x6d347020, 0x37c1f: 0x6d347220,\n\t0x37c20: 0x6d347420, 0x37c21: 0x6d347620, 0x37c22: 0x6d347820, 0x37c23: 0x6d347a20,\n\t0x37c24: 0x6d347c20, 0x37c25: 0x6d347e20, 0x37c26: 0x6d348020, 0x37c27: 0x6d348220,\n\t0x37c28: 0x6d348420, 0x37c29: 0x6d348620, 0x37c2a: 0x6d348820, 0x37c2b: 0x6d348a20,\n\t0x37c2c: 0x6d348c20, 0x37c2d: 0x6d348e20, 0x37c2e: 0x6d349020, 0x37c2f: 0x6d349220,\n\t0x37c30: 0x6d349420, 0x37c31: 0x6d349620, 0x37c32: 0x6d349820, 0x37c33: 0x6d349a20,\n\t0x37c34: 0x6d349c20, 0x37c35: 0x6d349e20, 0x37c36: 0x6d34a020, 0x37c37: 0x6d34a220,\n\t0x37c38: 0x6d34a420, 0x37c39: 0x6d34a620, 0x37c3a: 0x6d34a820, 0x37c3b: 0x6d34aa20,\n\t0x37c3c: 0x6d34ac20, 0x37c3d: 0x6d34ae20, 0x37c3e: 0x6d34b020, 0x37c3f: 0x6d34b220,\n\t// Block 0xdf1, offset 0x37c40\n\t0x37c40: 0x6d60ee20, 0x37c41: 0x6d60f020, 0x37c42: 0x6d60f220, 0x37c43: 0x6d60f420,\n\t0x37c44: 0x6d60f620, 0x37c45: 0x6d60f820, 0x37c46: 0x6d60fa20, 0x37c47: 0x6d60fc20,\n\t0x37c48: 0x6d60fe20, 0x37c49: 0x6d610020, 0x37c4a: 0x6d610220, 0x37c4b: 0x6d610420,\n\t0x37c4c: 0x6d610620, 0x37c4d: 0x6d610820, 0x37c4e: 0x6d610a20, 0x37c4f: 0x6d610c20,\n\t0x37c50: 0x6d610e20, 0x37c51: 0x6d611020, 0x37c52: 0x6d611220, 0x37c53: 0x6d611420,\n\t0x37c54: 0x6d611620, 0x37c55: 0x6d611820, 0x37c56: 0x6d611a20, 0x37c57: 0x6d611c20,\n\t0x37c58: 0x6d611e20, 0x37c59: 0x6d612020, 0x37c5a: 0x6d612220, 0x37c5b: 0x6d612420,\n\t0x37c5c: 0x6d612620, 0x37c5d: 0x6d612820, 0x37c5e: 0x6d612a20, 0x37c5f: 0x6d612c20,\n\t0x37c60: 0x6d612e20, 0x37c61: 0x6d613020, 0x37c62: 0x6d613220, 0x37c63: 0x6d613420,\n\t0x37c64: 0x6d613620, 0x37c65: 0x6d613820, 0x37c66: 0x6d613a20, 0x37c67: 0x6d8afc20,\n\t0x37c68: 0x6d613c20, 0x37c69: 0x6d613e20, 0x37c6a: 0x6d614020, 0x37c6b: 0x6d614220,\n\t0x37c6c: 0x6d614420, 0x37c6d: 0x6d614620, 0x37c6e: 0x6d614820, 0x37c6f: 0x6d614a20,\n\t0x37c70: 0x6d614c20, 0x37c71: 0x6d614e20, 0x37c72: 0x6d615020, 0x37c73: 0x6d615220,\n\t0x37c74: 0x6d615420, 0x37c75: 0x6d615620, 0x37c76: 0x6d615820, 0x37c77: 0x6d615a20,\n\t0x37c78: 0x6d615c20, 0x37c79: 0x6d615e20, 0x37c7a: 0x6d616020, 0x37c7b: 0x6d616220,\n\t0x37c7c: 0x6d616420, 0x37c7d: 0x6d616620, 0x37c7e: 0x6d616820, 0x37c7f: 0x6d616a20,\n\t// Block 0xdf2, offset 0x37c80\n\t0x37c80: 0x6d616c20, 0x37c81: 0x6d616e20, 0x37c82: 0x6d8afe20, 0x37c83: 0x6d8b0020,\n\t0x37c84: 0x6d8b0220, 0x37c85: 0x6d8b0420, 0x37c86: 0x6d8b0620, 0x37c87: 0x6d8b0820,\n\t0x37c88: 0x6d8b0a20, 0x37c89: 0x6d8b0c20, 0x37c8a: 0x6d8b0e20, 0x37c8b: 0x6d8b1020,\n\t0x37c8c: 0x6d8b1220, 0x37c8d: 0x6d8b1420, 0x37c8e: 0x6d8b1620, 0x37c8f: 0x6d8b1820,\n\t0x37c90: 0x6d8b1a20, 0x37c91: 0x6d8b1c20, 0x37c92: 0x6d8b1e20, 0x37c93: 0x6d8b2020,\n\t0x37c94: 0x6d8b2220, 0x37c95: 0x6d8b2420, 0x37c96: 0x6d8b2620, 0x37c97: 0x6d8b2820,\n\t0x37c98: 0x6d8b2a20, 0x37c99: 0x6d8b2c20, 0x37c9a: 0x6d8b2e20, 0x37c9b: 0x6d8b3020,\n\t0x37c9c: 0x6d8b3220, 0x37c9d: 0x6d8b3420, 0x37c9e: 0x6d8b3620, 0x37c9f: 0x6d8b3820,\n\t0x37ca0: 0x6d8b3a20, 0x37ca1: 0x6d8b3c20, 0x37ca2: 0x6d8b3e20, 0x37ca3: 0x6d8b4020,\n\t0x37ca4: 0x6d8b4220, 0x37ca5: 0x6d8b4420, 0x37ca6: 0x6d8b4620, 0x37ca7: 0x6d8b4820,\n\t0x37ca8: 0x6d8b4a20, 0x37ca9: 0x6d8b4c20, 0x37caa: 0x6d8b4e20, 0x37cab: 0x6d8b5020,\n\t0x37cac: 0x6d8b5220, 0x37cad: 0x6d8b5420, 0x37cae: 0x6d8b5620, 0x37caf: 0x6d8b5820,\n\t0x37cb0: 0x6d8b5a20, 0x37cb1: 0x6d8b5c20, 0x37cb2: 0x6d8b5e20, 0x37cb3: 0x6d8b6020,\n\t0x37cb4: 0x6d8b6220, 0x37cb5: 0x6d8b6420, 0x37cb6: 0x6d8b6620, 0x37cb7: 0x6d8b6820,\n\t0x37cb8: 0x6d8b6a20, 0x37cb9: 0x6d8b6c20, 0x37cba: 0x6d8b6e20, 0x37cbb: 0x6d8b7020,\n\t0x37cbc: 0x6d8b7220, 0x37cbd: 0x6d8b7420, 0x37cbe: 0x6d8b7620, 0x37cbf: 0x6d8b7820,\n\t// Block 0xdf3, offset 0x37cc0\n\t0x37cc0: 0x6d8b7a20, 0x37cc1: 0x6d8b7c20, 0x37cc2: 0x6daf7a20, 0x37cc3: 0x6d8b7e20,\n\t0x37cc4: 0x6d8b8020, 0x37cc5: 0x6d8b8220, 0x37cc6: 0x6d8b8420, 0x37cc7: 0x6d8b8620,\n\t0x37cc8: 0x6d8b8820, 0x37cc9: 0x6daf7c20, 0x37cca: 0x6daf7e20, 0x37ccb: 0x6daf8020,\n\t0x37ccc: 0x6daf8220, 0x37ccd: 0x6daf8420, 0x37cce: 0x6daf8620, 0x37ccf: 0x6daf8820,\n\t0x37cd0: 0x6daf8a20, 0x37cd1: 0x6daf8c20, 0x37cd2: 0x6daf8e20, 0x37cd3: 0x6daf9020,\n\t0x37cd4: 0x6daf9220, 0x37cd5: 0x6daf9420, 0x37cd6: 0x6daf9620, 0x37cd7: 0x6daf9820,\n\t0x37cd8: 0x6daf9a20, 0x37cd9: 0x6daf9c20, 0x37cda: 0x6daf9e20, 0x37cdb: 0x6dafa020,\n\t0x37cdc: 0x6dafa220, 0x37cdd: 0x6dafa420, 0x37cde: 0x6dafa620, 0x37cdf: 0x6dafa820,\n\t0x37ce0: 0x6dafaa20, 0x37ce1: 0x6dafac20, 0x37ce2: 0x6dafae20, 0x37ce3: 0x6dafb020,\n\t0x37ce4: 0x6dafb220, 0x37ce5: 0x6dafb420, 0x37ce6: 0x6dafb620, 0x37ce7: 0x6dafb820,\n\t0x37ce8: 0x6dafba20, 0x37ce9: 0x6dafbc20, 0x37cea: 0x6dafbe20, 0x37ceb: 0x6dafc020,\n\t0x37cec: 0x6dafc220, 0x37ced: 0x6dafc420, 0x37cee: 0x6dafc620, 0x37cef: 0x6dafc820,\n\t0x37cf0: 0x6dafca20, 0x37cf1: 0x6dafcc20, 0x37cf2: 0x6dafce20, 0x37cf3: 0x6dafd020,\n\t0x37cf4: 0x6dafd220, 0x37cf5: 0x6dafd420, 0x37cf6: 0x6dafd620, 0x37cf7: 0x6dafd820,\n\t0x37cf8: 0x6dafda20, 0x37cf9: 0x6dafdc20, 0x37cfa: 0x6dafde20, 0x37cfb: 0x6dafe020,\n\t0x37cfc: 0x6dcf0020, 0x37cfd: 0x6dcf0220, 0x37cfe: 0x6dcf0420, 0x37cff: 0x6dcf0620,\n\t// Block 0xdf4, offset 0x37d00\n\t0x37d00: 0x6dcf0820, 0x37d01: 0x6dcf0a20, 0x37d02: 0x6dcf0c20, 0x37d03: 0x6dcf0e20,\n\t0x37d04: 0x6dcf1020, 0x37d05: 0x6dcf1220, 0x37d06: 0x6dcf1420, 0x37d07: 0x6dcf1620,\n\t0x37d08: 0x6dcf1820, 0x37d09: 0x6dcf1a20, 0x37d0a: 0x6dcf1c20, 0x37d0b: 0x6dcf1e20,\n\t0x37d0c: 0x6dcf2020, 0x37d0d: 0x6dcf2220, 0x37d0e: 0x6dcf2420, 0x37d0f: 0x6dcf2620,\n\t0x37d10: 0x6dcf2820, 0x37d11: 0x6dcf2a20, 0x37d12: 0x6dcf2c20, 0x37d13: 0x6dcf2e20,\n\t0x37d14: 0x6dcf3020, 0x37d15: 0x6dcf3220, 0x37d16: 0x6dcf3420, 0x37d17: 0x6dcf3620,\n\t0x37d18: 0x6dcf3820, 0x37d19: 0x6dcf3a20, 0x37d1a: 0x6dcf3c20, 0x37d1b: 0x6dcf3e20,\n\t0x37d1c: 0x6dcf4020, 0x37d1d: 0x6dcf4220, 0x37d1e: 0x6dcf4420, 0x37d1f: 0x6dcf4620,\n\t0x37d20: 0x6dcf4820, 0x37d21: 0x6dcf4a20, 0x37d22: 0x6dcf4c20, 0x37d23: 0x6dcf4e20,\n\t0x37d24: 0x6dcf5020, 0x37d25: 0x6dcf5220, 0x37d26: 0x6dcf5420, 0x37d27: 0x6dcf5620,\n\t0x37d28: 0x6dcf5820, 0x37d29: 0x6dcf5a20, 0x37d2a: 0x6dcf5c20, 0x37d2b: 0x6dcf5e20,\n\t0x37d2c: 0x6dcf6020, 0x37d2d: 0x6dcf6220, 0x37d2e: 0x6dcf6420, 0x37d2f: 0x6dcf6620,\n\t0x37d30: 0x6dcf6820, 0x37d31: 0x6dcf6a20, 0x37d32: 0x6dcf6c20, 0x37d33: 0x6dcf6e20,\n\t0x37d34: 0x6dcf7020, 0x37d35: 0x6de94220, 0x37d36: 0x6de94420, 0x37d37: 0x6de94620,\n\t0x37d38: 0x6de94820, 0x37d39: 0x6de94a20, 0x37d3a: 0x6de94c20, 0x37d3b: 0x6de94e20,\n\t0x37d3c: 0x6de95020, 0x37d3d: 0x6de95220, 0x37d3e: 0x6de95420, 0x37d3f: 0x6de95620,\n\t// Block 0xdf5, offset 0x37d40\n\t0x37d40: 0x6de95820, 0x37d41: 0x6de95a20, 0x37d42: 0x6de95c20, 0x37d43: 0x6de95e20,\n\t0x37d44: 0x6de96020, 0x37d45: 0x6de96220, 0x37d46: 0x6de96420, 0x37d47: 0x6de96620,\n\t0x37d48: 0x6de96820, 0x37d49: 0x6de96a20, 0x37d4a: 0x6de96c20, 0x37d4b: 0x6de96e20,\n\t0x37d4c: 0x6de97020, 0x37d4d: 0x6de97220, 0x37d4e: 0x6de97420, 0x37d4f: 0x6de97620,\n\t0x37d50: 0x6de97820, 0x37d51: 0x6de97a20, 0x37d52: 0x6de97c20, 0x37d53: 0x6de97e20,\n\t0x37d54: 0x6de98020, 0x37d55: 0x6de98220, 0x37d56: 0x6de98420, 0x37d57: 0x6de98620,\n\t0x37d58: 0x6de98820, 0x37d59: 0x6de98a20, 0x37d5a: 0x6de98c20, 0x37d5b: 0x6de98e20,\n\t0x37d5c: 0x6dff5420, 0x37d5d: 0x6dff5620, 0x37d5e: 0x6dff5820, 0x37d5f: 0x6dff5a20,\n\t0x37d60: 0x6dff5c20, 0x37d61: 0x6dff5e20, 0x37d62: 0x6dff6020, 0x37d63: 0x6dff6220,\n\t0x37d64: 0x6e11c420, 0x37d65: 0x6de99020, 0x37d66: 0x6dff6420, 0x37d67: 0x6dff6620,\n\t0x37d68: 0x6e11c620, 0x37d69: 0x6dff6820, 0x37d6a: 0x6dff6a20, 0x37d6b: 0x6e11c820,\n\t0x37d6c: 0x6dff6c20, 0x37d6d: 0x6dff6e20, 0x37d6e: 0x6dff7020, 0x37d6f: 0x6dff7220,\n\t0x37d70: 0x6dff7420, 0x37d71: 0x6dff7620, 0x37d72: 0x6dff7820, 0x37d73: 0x6dff7a20,\n\t0x37d74: 0x6dff7c20, 0x37d75: 0x6dff7e20, 0x37d76: 0x6dff8020, 0x37d77: 0x6dff8220,\n\t0x37d78: 0x6dff8420, 0x37d79: 0x6dff8620, 0x37d7a: 0x6dff8820, 0x37d7b: 0x6e11ca20,\n\t0x37d7c: 0x6e11cc20, 0x37d7d: 0x6e11ce20, 0x37d7e: 0x6e11d020, 0x37d7f: 0x6e11d220,\n\t// Block 0xdf6, offset 0x37d80\n\t0x37d80: 0x6e11d420, 0x37d81: 0x6e11d620, 0x37d82: 0x6e200c20, 0x37d83: 0x6e11d820,\n\t0x37d84: 0x6e11da20, 0x37d85: 0x6e11dc20, 0x37d86: 0x6e11de20, 0x37d87: 0x6e11e020,\n\t0x37d88: 0x6e11e220, 0x37d89: 0x6e11e420, 0x37d8a: 0x6e11e620, 0x37d8b: 0x6e11e820,\n\t0x37d8c: 0x6e11ea20, 0x37d8d: 0x6e11ec20, 0x37d8e: 0x6e11ee20, 0x37d8f: 0x6e11f020,\n\t0x37d90: 0x6e11f220, 0x37d91: 0x6e11f420, 0x37d92: 0x6e11f620, 0x37d93: 0x6e11f820,\n\t0x37d94: 0x6e200e20, 0x37d95: 0x6e201020, 0x37d96: 0x6e201220, 0x37d97: 0x6e201420,\n\t0x37d98: 0x6e201620, 0x37d99: 0x6e201820, 0x37d9a: 0x6e201a20, 0x37d9b: 0x6e201c20,\n\t0x37d9c: 0x6e201e20, 0x37d9d: 0x6e202020, 0x37d9e: 0x6e202220, 0x37d9f: 0x6e202420,\n\t0x37da0: 0x6e202620, 0x37da1: 0x6e202820, 0x37da2: 0x6e202a20, 0x37da3: 0x6e202c20,\n\t0x37da4: 0x6e202e20, 0x37da5: 0x6e203020, 0x37da6: 0x6e203220, 0x37da7: 0x6e2b1e20,\n\t0x37da8: 0x6e2b2020, 0x37da9: 0x6e2b2220, 0x37daa: 0x6e2b2420, 0x37dab: 0x6e2b2620,\n\t0x37dac: 0x6e2b2820, 0x37dad: 0x6e2b2a20, 0x37dae: 0x6e2b2c20, 0x37daf: 0x6e2b2e20,\n\t0x37db0: 0x6e339420, 0x37db1: 0x6e339620, 0x37db2: 0x6e339820, 0x37db3: 0x6e339a20,\n\t0x37db4: 0x6e339c20, 0x37db5: 0x6e339e20, 0x37db6: 0x6e33a020, 0x37db7: 0x6e33a220,\n\t0x37db8: 0x6e39a020, 0x37db9: 0x6e33a420, 0x37dba: 0x6e39a220, 0x37dbb: 0x6e39a420,\n\t0x37dbc: 0x6e3dce20, 0x37dbd: 0x6e3dd020, 0x37dbe: 0x6e40aa20, 0x37dbf: 0x6e40ac20,\n\t// Block 0xdf7, offset 0x37dc0\n\t0x37dc0: 0x6e40ae20, 0x37dc1: 0x6e40b020, 0x37dc2: 0x6e40b220, 0x37dc3: 0x6e42e020,\n\t0x37dc4: 0x6e42e220, 0x37dc5: 0x6e445c20, 0x37dc6: 0x6e453c20, 0x37dc7: 0x6e45ca20,\n\t0x37dc8: 0x6c3dfa20, 0x37dc9: 0x6c5cb820, 0x37dca: 0x6c80b020, 0x37dcb: 0x6c80b220,\n\t0x37dcc: 0x6c80b420, 0x37dcd: 0x6ca9d420, 0x37dce: 0x6ca9d620, 0x37dcf: 0x6ca9d820,\n\t0x37dd0: 0x6ca9da20, 0x37dd1: 0x6cd84020, 0x37dd2: 0x6cd84220, 0x37dd3: 0x6cd84420,\n\t0x37dd4: 0x6cd84620, 0x37dd5: 0x6cd84820, 0x37dd6: 0x6d06e620, 0x37dd7: 0x6d06e820,\n\t0x37dd8: 0x6d06ea20, 0x37dd9: 0x6d06ec20, 0x37dda: 0x6d34d620, 0x37ddb: 0x6d618820,\n\t0x37ddc: 0x6d618a20, 0x37ddd: 0x6d618c20, 0x37dde: 0x6d8ba020, 0x37ddf: 0x6d8ba220,\n\t0x37de0: 0x6dafec20, 0x37de1: 0x6dafee20, 0x37de2: 0x6c143220, 0x37de3: 0x6c5cc820,\n\t0x37de4: 0x6c5cca20, 0x37de5: 0x6c5ccc20, 0x37de6: 0x6c80cc20, 0x37de7: 0x6c80ce20,\n\t0x37de8: 0x6c80d020, 0x37de9: 0x6ca9f220, 0x37dea: 0x6ca9f420, 0x37deb: 0x6ca9f620,\n\t0x37dec: 0x6ca9f820, 0x37ded: 0x6ca9fa20, 0x37dee: 0x6ca9fc20, 0x37def: 0x6cd85a20,\n\t0x37df0: 0x6cd85c20, 0x37df1: 0x6cd85e20, 0x37df2: 0x6cd86020, 0x37df3: 0x6cd86220,\n\t0x37df4: 0x6d06f220, 0x37df5: 0x6d06f420, 0x37df6: 0x6d06f620, 0x37df7: 0x6d06f820,\n\t0x37df8: 0x6d34e820, 0x37df9: 0x6d34ea20, 0x37dfa: 0x6d34ec20, 0x37dfb: 0x6d34ee20,\n\t0x37dfc: 0x6d34f020, 0x37dfd: 0x6d34f220, 0x37dfe: 0x6d34f420, 0x37dff: 0x6d34f620,\n\t// Block 0xdf8, offset 0x37e00\n\t0x37e00: 0x6d34f820, 0x37e01: 0x6d619220, 0x37e02: 0x6d619420, 0x37e03: 0x6d619620,\n\t0x37e04: 0x6d619820, 0x37e05: 0x6d619a20, 0x37e06: 0x6d619c20, 0x37e07: 0x6d619e20,\n\t0x37e08: 0x6d8baa20, 0x37e09: 0x6d8bac20, 0x37e0a: 0x6d8bae20, 0x37e0b: 0x6d8bb020,\n\t0x37e0c: 0x6d8bb220, 0x37e0d: 0x6d8bb420, 0x37e0e: 0x6d8bb620, 0x37e0f: 0x6daffa20,\n\t0x37e10: 0x6daffc20, 0x37e11: 0x6daffe20, 0x37e12: 0x6db00020, 0x37e13: 0x6db00220,\n\t0x37e14: 0x6db00420, 0x37e15: 0x6dcf8220, 0x37e16: 0x6dcf8420, 0x37e17: 0x6dcf8620,\n\t0x37e18: 0x6dcf8820, 0x37e19: 0x6de9aa20, 0x37e1a: 0x6de9ac20, 0x37e1b: 0x6de9ae20,\n\t0x37e1c: 0x6de9b020, 0x37e1d: 0x6dff9220, 0x37e1e: 0x6dff9420, 0x37e1f: 0x6e120420,\n\t0x37e20: 0x6e120620, 0x37e21: 0x6e203e20, 0x37e22: 0x6e2b3420, 0x37e23: 0x6e2b3620,\n\t0x37e24: 0x6e2b3820, 0x37e25: 0x6e33aa20, 0x37e26: 0x6e33ac20, 0x37e27: 0x6e3dd420,\n\t0x37e28: 0x6e40b620, 0x37e29: 0x6e45cc20, 0x37e2a: 0x6c0a4c20, 0x37e2b: 0x6c0a4e20,\n\t0x37e2c: 0x6c25cc20, 0x37e2d: 0x6c0a5020, 0x37e2e: 0x6c25ce20, 0x37e2f: 0x6c143620,\n\t0x37e30: 0x6c0a5220, 0x37e31: 0x6c25d020, 0x37e32: 0x6c25d220, 0x37e33: 0x6c25d420,\n\t0x37e34: 0x6c25d620, 0x37e35: 0x6c25d820, 0x37e36: 0x6c25da20, 0x37e37: 0x6c3e0a20,\n\t0x37e38: 0x6c3e0c20, 0x37e39: 0x6c3e0e20, 0x37e3a: 0x6c3e1020, 0x37e3b: 0x6c3e1220,\n\t0x37e3c: 0x6c3e1420, 0x37e3d: 0x6c3e1620, 0x37e3e: 0x6c3e1820, 0x37e3f: 0x6c3e1a20,\n\t// Block 0xdf9, offset 0x37e40\n\t0x37e40: 0x6c3e1c20, 0x37e41: 0x6c5cda20, 0x37e42: 0x6c5cdc20, 0x37e43: 0x6c5cde20,\n\t0x37e44: 0x6c5ce020, 0x37e45: 0x6c5ce220, 0x37e46: 0x6c5ce420, 0x37e47: 0x6c5ce620,\n\t0x37e48: 0x6c5ce820, 0x37e49: 0x6c5cea20, 0x37e4a: 0x6c5cec20, 0x37e4b: 0x6c5cee20,\n\t0x37e4c: 0x6c5cf020, 0x37e4d: 0x6c5cf220, 0x37e4e: 0x6c80e820, 0x37e4f: 0x6c80ea20,\n\t0x37e50: 0x6c80ec20, 0x37e51: 0x6c80ee20, 0x37e52: 0x6c80f020, 0x37e53: 0x6c80f220,\n\t0x37e54: 0x6c80f420, 0x37e55: 0x6c80f620, 0x37e56: 0x6c80f820, 0x37e57: 0x6c80fa20,\n\t0x37e58: 0x6c80fc20, 0x37e59: 0x6c80fe20, 0x37e5a: 0x6c810020, 0x37e5b: 0x6c810220,\n\t0x37e5c: 0x6c810420, 0x37e5d: 0x6c810620, 0x37e5e: 0x6c810820, 0x37e5f: 0x6c810a20,\n\t0x37e60: 0x6c810c20, 0x37e61: 0x6c810e20, 0x37e62: 0x6c811020, 0x37e63: 0x6c811220,\n\t0x37e64: 0x6c6dd220, 0x37e65: 0x6c811420, 0x37e66: 0x6c811620, 0x37e67: 0x6c811820,\n\t0x37e68: 0x6c811a20, 0x37e69: 0x6c811c20, 0x37e6a: 0x6caa0220, 0x37e6b: 0x6caa0420,\n\t0x37e6c: 0x6caa0620, 0x37e6d: 0x6caa0820, 0x37e6e: 0x6caa0a20, 0x37e6f: 0x6caa0c20,\n\t0x37e70: 0x6caa0e20, 0x37e71: 0x6caa1020, 0x37e72: 0x6caa1220, 0x37e73: 0x6c811e20,\n\t0x37e74: 0x6caa1420, 0x37e75: 0x6caa1620, 0x37e76: 0x6caa1820, 0x37e77: 0x6caa1a20,\n\t0x37e78: 0x6caa1c20, 0x37e79: 0x6caa1e20, 0x37e7a: 0x6caa2020, 0x37e7b: 0x6caa2220,\n\t0x37e7c: 0x6cd86e20, 0x37e7d: 0x6cd87020, 0x37e7e: 0x6cd87220, 0x37e7f: 0x6cd87420,\n\t// Block 0xdfa, offset 0x37e80\n\t0x37e80: 0x6cd87620, 0x37e81: 0x6cd87820, 0x37e82: 0x6cd87a20, 0x37e83: 0x6cd87c20,\n\t0x37e84: 0x6cd87e20, 0x37e85: 0x6d071420, 0x37e86: 0x6d071620, 0x37e87: 0x6d071820,\n\t0x37e88: 0x6d071a20, 0x37e89: 0x6d071c20, 0x37e8a: 0x6d071e20, 0x37e8b: 0x6d072020,\n\t0x37e8c: 0x6d072220, 0x37e8d: 0x6d072420, 0x37e8e: 0x6d072620, 0x37e8f: 0x6d072820,\n\t0x37e90: 0x6d072a20, 0x37e91: 0x6cd88020, 0x37e92: 0x6d072c20, 0x37e93: 0x6d072e20,\n\t0x37e94: 0x6d073020, 0x37e95: 0x6d073220, 0x37e96: 0x6d073420, 0x37e97: 0x6d073620,\n\t0x37e98: 0x6d073820, 0x37e99: 0x6d073a20, 0x37e9a: 0x6d073c20, 0x37e9b: 0x6d073e20,\n\t0x37e9c: 0x6d074020, 0x37e9d: 0x6d350a20, 0x37e9e: 0x6d350c20, 0x37e9f: 0x6d350e20,\n\t0x37ea0: 0x6d351020, 0x37ea1: 0x6d351220, 0x37ea2: 0x6d351420, 0x37ea3: 0x6d351620,\n\t0x37ea4: 0x6d351820, 0x37ea5: 0x6d351a20, 0x37ea6: 0x6d351c20, 0x37ea7: 0x6d351e20,\n\t0x37ea8: 0x6d352020, 0x37ea9: 0x6d352220, 0x37eaa: 0x6d217020, 0x37eab: 0x6d352420,\n\t0x37eac: 0x6d352620, 0x37ead: 0x6d352820, 0x37eae: 0x6d352a20, 0x37eaf: 0x6d61ac20,\n\t0x37eb0: 0x6d61ae20, 0x37eb1: 0x6d61b020, 0x37eb2: 0x6d61b220, 0x37eb3: 0x6d61b420,\n\t0x37eb4: 0x6d61b620, 0x37eb5: 0x6d61b820, 0x37eb6: 0x6d61ba20, 0x37eb7: 0x6d61bc20,\n\t0x37eb8: 0x6d61be20, 0x37eb9: 0x6d61c020, 0x37eba: 0x6d61c220, 0x37ebb: 0x6d61c420,\n\t0x37ebc: 0x6d61c620, 0x37ebd: 0x6d8bc620, 0x37ebe: 0x6d8bc820, 0x37ebf: 0x6d8bca20,\n\t// Block 0xdfb, offset 0x37ec0\n\t0x37ec0: 0x6d8bcc20, 0x37ec1: 0x6d8bce20, 0x37ec2: 0x6d8bd020, 0x37ec3: 0x6d8bd220,\n\t0x37ec4: 0x6d8bd420, 0x37ec5: 0x6d8bd620, 0x37ec6: 0x6d8bd820, 0x37ec7: 0x6d8bda20,\n\t0x37ec8: 0x6d8bdc20, 0x37ec9: 0x6d8bde20, 0x37eca: 0x6d8be020, 0x37ecb: 0x6d8be220,\n\t0x37ecc: 0x6d8be420, 0x37ecd: 0x6d8be620, 0x37ece: 0x6d8be820, 0x37ecf: 0x6d8bea20,\n\t0x37ed0: 0x6d8bec20, 0x37ed1: 0x6d8bee20, 0x37ed2: 0x6db01020, 0x37ed3: 0x6db01220,\n\t0x37ed4: 0x6db01420, 0x37ed5: 0x6db01620, 0x37ed6: 0x6db01820, 0x37ed7: 0x6db01a20,\n\t0x37ed8: 0x6db01c20, 0x37ed9: 0x6db01e20, 0x37eda: 0x6db02020, 0x37edb: 0x6db02220,\n\t0x37edc: 0x6db02420, 0x37edd: 0x6db02620, 0x37ede: 0x6db02820, 0x37edf: 0x6dcf9020,\n\t0x37ee0: 0x6dcf9220, 0x37ee1: 0x6dcf9420, 0x37ee2: 0x6dcf9620, 0x37ee3: 0x6dcf9820,\n\t0x37ee4: 0x6dcf9a20, 0x37ee5: 0x6dcf9c20, 0x37ee6: 0x6dcf9e20, 0x37ee7: 0x6dcfa020,\n\t0x37ee8: 0x6dcfa220, 0x37ee9: 0x6dcfb220, 0x37eea: 0x6de9be20, 0x37eeb: 0x6de9c020,\n\t0x37eec: 0x6de9c220, 0x37eed: 0x6de9c420, 0x37eee: 0x6de9c620, 0x37eef: 0x6de9c820,\n\t0x37ef0: 0x6de9ca20, 0x37ef1: 0x6de9cc20, 0x37ef2: 0x6de9ce20, 0x37ef3: 0x6de9d020,\n\t0x37ef4: 0x6de9d220, 0x37ef5: 0x6dff9620, 0x37ef6: 0x6dff9820, 0x37ef7: 0x6dff9a20,\n\t0x37ef8: 0x6dff9c20, 0x37ef9: 0x6dff9e20, 0x37efa: 0x6dffa020, 0x37efb: 0x6e120a20,\n\t0x37efc: 0x6e120c20, 0x37efd: 0x6e2b3a20, 0x37efe: 0x6e33b420, 0x37eff: 0x6e33b620,\n\t// Block 0xdfc, offset 0x37f00\n\t0x37f00: 0x6e33b820, 0x37f01: 0x6e33ba20, 0x37f02: 0x6e33bc20, 0x37f03: 0x6e33be20,\n\t0x37f04: 0x6e33c020, 0x37f05: 0x6e33c220, 0x37f06: 0x6e3dd620, 0x37f07: 0x6e40b820,\n\t0x37f08: 0x6e42e420, 0x37f09: 0x6e42e620, 0x37f0a: 0x6e42e820, 0x37f0b: 0x6c143c20,\n\t0x37f0c: 0x6c143e20, 0x37f0d: 0x6c144020, 0x37f0e: 0x6c3e2620, 0x37f0f: 0x6c3e2820,\n\t0x37f10: 0x6c3e2a20, 0x37f11: 0x6c5cfe20, 0x37f12: 0x6c5d0020, 0x37f13: 0x6c5d0220,\n\t0x37f14: 0x6c5d0420, 0x37f15: 0x6c5d0620, 0x37f16: 0x6c5d0820, 0x37f17: 0x6c813820,\n\t0x37f18: 0x6c813a20, 0x37f19: 0x6c813c20, 0x37f1a: 0x6c813e20, 0x37f1b: 0x6c814020,\n\t0x37f1c: 0x6c814220, 0x37f1d: 0x6c814420, 0x37f1e: 0x6c814620, 0x37f1f: 0x6c814820,\n\t0x37f20: 0x6c814a20, 0x37f21: 0x6c814c20, 0x37f22: 0x6c814e20, 0x37f23: 0x6c815020,\n\t0x37f24: 0x6c815220, 0x37f25: 0x6caa4020, 0x37f26: 0x6caa4220, 0x37f27: 0x6caa4420,\n\t0x37f28: 0x6caa4620, 0x37f29: 0x6caa4820, 0x37f2a: 0x6caa4a20, 0x37f2b: 0x6caa4c20,\n\t0x37f2c: 0x6caa4e20, 0x37f2d: 0x6caa5020, 0x37f2e: 0x6c815420, 0x37f2f: 0x6caa5220,\n\t0x37f30: 0x6caa5420, 0x37f31: 0x6caa5620, 0x37f32: 0x6caa5820, 0x37f33: 0x6caa5a20,\n\t0x37f34: 0x6caa5c20, 0x37f35: 0x6caa5e20, 0x37f36: 0x6caa6020, 0x37f37: 0x6caa6220,\n\t0x37f38: 0x6caa6420, 0x37f39: 0x6cd88e20, 0x37f3a: 0x6cd89020, 0x37f3b: 0x6cd89220,\n\t0x37f3c: 0x6cd89420, 0x37f3d: 0x6cd89620, 0x37f3e: 0x6cd89820, 0x37f3f: 0x6cd89a20,\n\t// Block 0xdfd, offset 0x37f40\n\t0x37f40: 0x6cd89c20, 0x37f41: 0x6cd89e20, 0x37f42: 0x6cd8a020, 0x37f43: 0x6cd8a220,\n\t0x37f44: 0x6cd8a420, 0x37f45: 0x6cba3e20, 0x37f46: 0x6d075820, 0x37f47: 0x6d075a20,\n\t0x37f48: 0x6d075c20, 0x37f49: 0x6d075e20, 0x37f4a: 0x6d076020, 0x37f4b: 0x6d076220,\n\t0x37f4c: 0x6d076420, 0x37f4d: 0x6d076620, 0x37f4e: 0x6d076820, 0x37f4f: 0x6d076a20,\n\t0x37f50: 0x6d076c20, 0x37f51: 0x6d076e20, 0x37f52: 0x6d077020, 0x37f53: 0x6d077220,\n\t0x37f54: 0x6d077420, 0x37f55: 0x6d077620, 0x37f56: 0x6d077820, 0x37f57: 0x6d353a20,\n\t0x37f58: 0x6d353c20, 0x37f59: 0x6d353e20, 0x37f5a: 0x6d354020, 0x37f5b: 0x6d354220,\n\t0x37f5c: 0x6d354420, 0x37f5d: 0x6d354620, 0x37f5e: 0x6d354820, 0x37f5f: 0x6d354a20,\n\t0x37f60: 0x6d354c20, 0x37f61: 0x6d354e20, 0x37f62: 0x6d61d620, 0x37f63: 0x6d61d820,\n\t0x37f64: 0x6d61da20, 0x37f65: 0x6d61dc20, 0x37f66: 0x6d61de20, 0x37f67: 0x6d61e020,\n\t0x37f68: 0x6d61e220, 0x37f69: 0x6d61e420, 0x37f6a: 0x6d61e620, 0x37f6b: 0x6d61e820,\n\t0x37f6c: 0x6d61ea20, 0x37f6d: 0x6d61ec20, 0x37f6e: 0x6d61ee20, 0x37f6f: 0x6d8bfa20,\n\t0x37f70: 0x6d8bfc20, 0x37f71: 0x6d8bfe20, 0x37f72: 0x6d8c0020, 0x37f73: 0x6d8c0220,\n\t0x37f74: 0x6d8c0420, 0x37f75: 0x6d8c0620, 0x37f76: 0x6d8c0820, 0x37f77: 0x6db02e20,\n\t0x37f78: 0x6db03020, 0x37f79: 0x6db03220, 0x37f7a: 0x6db03420, 0x37f7b: 0x6db03620,\n\t0x37f7c: 0x6db03820, 0x37f7d: 0x6db03a20, 0x37f7e: 0x6db03c20, 0x37f7f: 0x6db03e20,\n\t// Block 0xdfe, offset 0x37f80\n\t0x37f80: 0x6db04020, 0x37f81: 0x6db04220, 0x37f82: 0x6db04420, 0x37f83: 0x6db04620,\n\t0x37f84: 0x6db04820, 0x37f85: 0x6dcfb420, 0x37f86: 0x6dcfb620, 0x37f87: 0x6dcfb820,\n\t0x37f88: 0x6dcfba20, 0x37f89: 0x6dcfbc20, 0x37f8a: 0x6dcfbe20, 0x37f8b: 0x6dcfc020,\n\t0x37f8c: 0x6dcfc220, 0x37f8d: 0x6dcfc420, 0x37f8e: 0x6dcfc620, 0x37f8f: 0x6dcfc820,\n\t0x37f90: 0x6dcfca20, 0x37f91: 0x6dcfcc20, 0x37f92: 0x6dcfce20, 0x37f93: 0x6dcfd020,\n\t0x37f94: 0x6dcfd220, 0x37f95: 0x6de9de20, 0x37f96: 0x6de9e020, 0x37f97: 0x6de9e220,\n\t0x37f98: 0x6de9e420, 0x37f99: 0x6de9e620, 0x37f9a: 0x6de9e820, 0x37f9b: 0x6de9ea20,\n\t0x37f9c: 0x6dffa420, 0x37f9d: 0x6dffa620, 0x37f9e: 0x6dffa820, 0x37f9f: 0x6dffaa20,\n\t0x37fa0: 0x6dffac20, 0x37fa1: 0x6dffae20, 0x37fa2: 0x6e121620, 0x37fa3: 0x6e121820,\n\t0x37fa4: 0x6e121a20, 0x37fa5: 0x6e121c20, 0x37fa6: 0x6e121e20, 0x37fa7: 0x6e122020,\n\t0x37fa8: 0x6e204420, 0x37fa9: 0x6e204620, 0x37faa: 0x6e2b3c20, 0x37fab: 0x6e2b3e20,\n\t0x37fac: 0x6e33c420, 0x37fad: 0x6e39a820, 0x37fae: 0x6e3dd820, 0x37faf: 0x6e40bc20,\n\t0x37fb0: 0x6e453e20, 0x37fb1: 0x6e454020, 0x37fb2: 0x6c3e2e20, 0x37fb3: 0x6c25de20,\n\t0x37fb4: 0x6c5d1020, 0x37fb5: 0x6c5d1220, 0x37fb6: 0x6c5d1420, 0x37fb7: 0x6c5d1620,\n\t0x37fb8: 0x6c5d1820, 0x37fb9: 0x6c5d1a20, 0x37fba: 0x6c5d1c20, 0x37fbb: 0x6c5d1e20,\n\t0x37fbc: 0x6c5d2020, 0x37fbd: 0x6c5d2220, 0x37fbe: 0x6c5d2420, 0x37fbf: 0x6c5d2620,\n\t// Block 0xdff, offset 0x37fc0\n\t0x37fc0: 0x6c5d2820, 0x37fc1: 0x6c5d2a20, 0x37fc2: 0x6c816820, 0x37fc3: 0x6c816a20,\n\t0x37fc4: 0x6c816c20, 0x37fc5: 0x6c816e20, 0x37fc6: 0x6c817020, 0x37fc7: 0x6c817220,\n\t0x37fc8: 0x6c817420, 0x37fc9: 0x6c817620, 0x37fca: 0x6c817820, 0x37fcb: 0x6c817a20,\n\t0x37fcc: 0x6c817c20, 0x37fcd: 0x6c817e20, 0x37fce: 0x6c818020, 0x37fcf: 0x6c818220,\n\t0x37fd0: 0x6c818420, 0x37fd1: 0x6c818620, 0x37fd2: 0x6c818820, 0x37fd3: 0x6c818a20,\n\t0x37fd4: 0x6c818c20, 0x37fd5: 0x6caa9420, 0x37fd6: 0x6caa9620, 0x37fd7: 0x6caa9820,\n\t0x37fd8: 0x6caa9a20, 0x37fd9: 0x6caa9c20, 0x37fda: 0x6caa9e20, 0x37fdb: 0x6caaa020,\n\t0x37fdc: 0x6caaa220, 0x37fdd: 0x6caaa420, 0x37fde: 0x6caaa620, 0x37fdf: 0x6caaa820,\n\t0x37fe0: 0x6caaaa20, 0x37fe1: 0x6caaac20, 0x37fe2: 0x6caaae20, 0x37fe3: 0x6cd8c220,\n\t0x37fe4: 0x6cd8c420, 0x37fe5: 0x6cd8c620, 0x37fe6: 0x6cd8c820, 0x37fe7: 0x6cd8ca20,\n\t0x37fe8: 0x6cd8cc20, 0x37fe9: 0x6cd8ce20, 0x37fea: 0x6cd8d020, 0x37feb: 0x6cd8d220,\n\t0x37fec: 0x6cd8d420, 0x37fed: 0x6cd8d620, 0x37fee: 0x6cd8d820, 0x37fef: 0x6cd8da20,\n\t0x37ff0: 0x6cd8dc20, 0x37ff1: 0x6cd8de20, 0x37ff2: 0x6cd8e020, 0x37ff3: 0x6cd8e220,\n\t0x37ff4: 0x6cd8e420, 0x37ff5: 0x6cd8e620, 0x37ff6: 0x6cd8e820, 0x37ff7: 0x6cd8ea20,\n\t0x37ff8: 0x6d078a20, 0x37ff9: 0x6d078c20, 0x37ffa: 0x6d078e20, 0x37ffb: 0x6d079020,\n\t0x37ffc: 0x6d079220, 0x37ffd: 0x6d079420, 0x37ffe: 0x6d079620, 0x37fff: 0x6d079820,\n\t// Block 0xe00, offset 0x38000\n\t0x38000: 0x6d079a20, 0x38001: 0x6d079c20, 0x38002: 0x6d079e20, 0x38003: 0x6d07a020,\n\t0x38004: 0x6d07a220, 0x38005: 0x6d356820, 0x38006: 0x6d07a420, 0x38007: 0x6d356a20,\n\t0x38008: 0x6d356c20, 0x38009: 0x6d356e20, 0x3800a: 0x6d357020, 0x3800b: 0x6d357220,\n\t0x3800c: 0x6d357420, 0x3800d: 0x6d357620, 0x3800e: 0x6d357820, 0x3800f: 0x6d357a20,\n\t0x38010: 0x6d357c20, 0x38011: 0x6d231e20, 0x38012: 0x6d357e20, 0x38013: 0x6d358020,\n\t0x38014: 0x6d358220, 0x38015: 0x6d358420, 0x38016: 0x6d358620, 0x38017: 0x6d358820,\n\t0x38018: 0x6d620620, 0x38019: 0x6d620820, 0x3801a: 0x6d620a20, 0x3801b: 0x6d620c20,\n\t0x3801c: 0x6d620e20, 0x3801d: 0x6d621020, 0x3801e: 0x6d621220, 0x3801f: 0x6d621420,\n\t0x38020: 0x6d621620, 0x38021: 0x6d621820, 0x38022: 0x6d621a20, 0x38023: 0x6d621c20,\n\t0x38024: 0x6d621e20, 0x38025: 0x6d622020, 0x38026: 0x6d622220, 0x38027: 0x6d622420,\n\t0x38028: 0x6d622620, 0x38029: 0x6d622820, 0x3802a: 0x6d622a20, 0x3802b: 0x6d622c20,\n\t0x3802c: 0x6d622e20, 0x3802d: 0x6d623020, 0x3802e: 0x6d623220, 0x3802f: 0x6d623420,\n\t0x38030: 0x6d8c1820, 0x38031: 0x6d8c1a20, 0x38032: 0x6d8c1c20, 0x38033: 0x6d8c1e20,\n\t0x38034: 0x6d8c2020, 0x38035: 0x6d8c2220, 0x38036: 0x6d8c2420, 0x38037: 0x6d8c2620,\n\t0x38038: 0x6d8c2820, 0x38039: 0x6d8c2a20, 0x3803a: 0x6d8c2c20, 0x3803b: 0x6d623620,\n\t0x3803c: 0x6d8c2e20, 0x3803d: 0x6d8c3020, 0x3803e: 0x6d8c3220, 0x3803f: 0x6d8c3420,\n\t// Block 0xe01, offset 0x38040\n\t0x38040: 0x6d8c3620, 0x38041: 0x6d8c3820, 0x38042: 0x6d8c3a20, 0x38043: 0x6db05c20,\n\t0x38044: 0x6db05e20, 0x38045: 0x6db06020, 0x38046: 0x6db06220, 0x38047: 0x6db06420,\n\t0x38048: 0x6db06620, 0x38049: 0x6db06820, 0x3804a: 0x6db06a20, 0x3804b: 0x6db06c20,\n\t0x3804c: 0x6db06e20, 0x3804d: 0x6dcfe820, 0x3804e: 0x6dcfea20, 0x3804f: 0x6dcfec20,\n\t0x38050: 0x6dcfee20, 0x38051: 0x6dcff020, 0x38052: 0x6dcff220, 0x38053: 0x6dcff420,\n\t0x38054: 0x6dcff620, 0x38055: 0x6dcff820, 0x38056: 0x6dcffa20, 0x38057: 0x6dcffc20,\n\t0x38058: 0x6dcffe20, 0x38059: 0x6dd00020, 0x3805a: 0x6dd00220, 0x3805b: 0x6dd00420,\n\t0x3805c: 0x6de9f020, 0x3805d: 0x6de9f220, 0x3805e: 0x6d8c3c20, 0x3805f: 0x6dd00620,\n\t0x38060: 0x6de9f420, 0x38061: 0x6de9f620, 0x38062: 0x6dffb820, 0x38063: 0x6dffba20,\n\t0x38064: 0x6dffbc20, 0x38065: 0x6dffbe20, 0x38066: 0x6e122420, 0x38067: 0x6e204c20,\n\t0x38068: 0x6e122620, 0x38069: 0x6e122820, 0x3806a: 0x6dffc020, 0x3806b: 0x6dffc220,\n\t0x3806c: 0x6e122a20, 0x3806d: 0x6e204e20, 0x3806e: 0x6e205020, 0x3806f: 0x6e205220,\n\t0x38070: 0x6e33c620, 0x38071: 0x6c25e020, 0x38072: 0x6c25e220, 0x38073: 0x6c3e3020,\n\t0x38074: 0x6c3e3220, 0x38075: 0x6c3e3420, 0x38076: 0x6c5d3020, 0x38077: 0x6c5d3220,\n\t0x38078: 0x6c5d3420, 0x38079: 0x6c5d3620, 0x3807a: 0x6c819420, 0x3807b: 0x6c819620,\n\t0x3807c: 0x6c819820, 0x3807d: 0x6c819a20, 0x3807e: 0x6c819c20, 0x3807f: 0x6c819e20,\n\t// Block 0xe02, offset 0x38080\n\t0x38080: 0x6caab620, 0x38081: 0x6d07aa20, 0x38082: 0x6d358e20, 0x38083: 0x6db07220,\n\t0x38084: 0x6d623c20, 0x38085: 0x6d623e20, 0x38086: 0x6d8c4220, 0x38087: 0x6d8c4420,\n\t0x38088: 0x6db07420, 0x38089: 0x6db07620, 0x3808a: 0x6dd00c20, 0x3808b: 0x6e2b4020,\n\t0x3808c: 0x6e2b4220, 0x3808d: 0x6e3dda20, 0x3808e: 0x6c3e3820, 0x3808f: 0x6c3e3a20,\n\t0x38090: 0x6c144a20, 0x38091: 0x6c3e3c20, 0x38092: 0x6c81a820, 0x38093: 0x6caab820,\n\t0x38094: 0x6cd8fa20, 0x38095: 0x6cd8fc20, 0x38096: 0x6d07ae20, 0x38097: 0x6d359220,\n\t0x38098: 0x6d624220, 0x38099: 0x6d624420, 0x3809a: 0x6d624620, 0x3809b: 0x6d624820,\n\t0x3809c: 0x6d624a20, 0x3809d: 0x6d8c4620, 0x3809e: 0x6d8c4820, 0x3809f: 0x6db07820,\n\t0x380a0: 0x6db07a20, 0x380a1: 0x6db07c20, 0x380a2: 0x6e205620, 0x380a3: 0x6e33c820,\n\t0x380a4: 0x6c144e20, 0x380a5: 0x6c3e4020, 0x380a6: 0x6c3e4220, 0x380a7: 0x6c3e4420,\n\t0x380a8: 0x6c5d4c20, 0x380a9: 0x6c5d4e20, 0x380aa: 0x6c5d5020, 0x380ab: 0x6c81b420,\n\t0x380ac: 0x6caac820, 0x380ad: 0x6caaca20, 0x380ae: 0x6caacc20, 0x380af: 0x6cd90020,\n\t0x380b0: 0x6cd90220, 0x380b1: 0x6cd90420, 0x380b2: 0x6cd90620, 0x380b3: 0x6cd90820,\n\t0x380b4: 0x6d07b820, 0x380b5: 0x6d07ba20, 0x380b6: 0x6d07bc20, 0x380b7: 0x6d35a420,\n\t0x380b8: 0x6d35a620, 0x380b9: 0x6d35a820, 0x380ba: 0x6d35aa20, 0x380bb: 0x6d35ac20,\n\t0x380bc: 0x6d35ae20, 0x380bd: 0x6d35b020, 0x380be: 0x6d35b220, 0x380bf: 0x6d35b420,\n\t// Block 0xe03, offset 0x380c0\n\t0x380c0: 0x6d35b620, 0x380c1: 0x6d35b820, 0x380c2: 0x6d625420, 0x380c3: 0x6d625620,\n\t0x380c4: 0x6d625820, 0x380c5: 0x6d625a20, 0x380c6: 0x6d625c20, 0x380c7: 0x6d625e20,\n\t0x380c8: 0x6d626020, 0x380c9: 0x6d626220, 0x380ca: 0x6d626420, 0x380cb: 0x6d8c5020,\n\t0x380cc: 0x6d8c5220, 0x380cd: 0x6d8c5420, 0x380ce: 0x6d8c5620, 0x380cf: 0x6d8c5820,\n\t0x380d0: 0x6d8c5a20, 0x380d1: 0x6d8c5c20, 0x380d2: 0x6d8c5e20, 0x380d3: 0x6db08820,\n\t0x380d4: 0x6db08a20, 0x380d5: 0x6db08c20, 0x380d6: 0x6db08e20, 0x380d7: 0x6db09020,\n\t0x380d8: 0x6db09220, 0x380d9: 0x6db09420, 0x380da: 0x6db09620, 0x380db: 0x6dd01620,\n\t0x380dc: 0x6dd01820, 0x380dd: 0x6dd01a20, 0x380de: 0x6dd01c20, 0x380df: 0x6de9f820,\n\t0x380e0: 0x6dd01e20, 0x380e1: 0x6dd02020, 0x380e2: 0x6dd02220, 0x380e3: 0x6dd02420,\n\t0x380e4: 0x6dd02620, 0x380e5: 0x6de9fa20, 0x380e6: 0x6de9fc20, 0x380e7: 0x6de9fe20,\n\t0x380e8: 0x6dea0020, 0x380e9: 0x6e123020, 0x380ea: 0x6e123220, 0x380eb: 0x6e33ca20,\n\t0x380ec: 0x6e33cc20, 0x380ed: 0x6e39aa20, 0x380ee: 0x6c25e820, 0x380ef: 0x6c3e4820,\n\t0x380f0: 0x6c3e4a20, 0x380f1: 0x6c3e4c20, 0x380f2: 0x6c3e4e20, 0x380f3: 0x6c3e5020,\n\t0x380f4: 0x6c3e5220, 0x380f5: 0x6c3e5420, 0x380f6: 0x6c3e5620, 0x380f7: 0x6c5d5620,\n\t0x380f8: 0x6c5d5820, 0x380f9: 0x6c5d5a20, 0x380fa: 0x6c5d5c20, 0x380fb: 0x6c5d5e20,\n\t0x380fc: 0x6c81d020, 0x380fd: 0x6c81d220, 0x380fe: 0x6c81d420, 0x380ff: 0x6c81d620,\n\t// Block 0xe04, offset 0x38100\n\t0x38100: 0x6c81d820, 0x38101: 0x6c81da20, 0x38102: 0x6c81dc20, 0x38103: 0x6c81de20,\n\t0x38104: 0x6c81e020, 0x38105: 0x6c81e220, 0x38106: 0x6c81e420, 0x38107: 0x6c81e620,\n\t0x38108: 0x6c81e820, 0x38109: 0x6c81ea20, 0x3810a: 0x6c81ec20, 0x3810b: 0x6c81ee20,\n\t0x3810c: 0x6c81f020, 0x3810d: 0x6c81f220, 0x3810e: 0x6c81f420, 0x3810f: 0x6c81f620,\n\t0x38110: 0x6caaea20, 0x38111: 0x6caaec20, 0x38112: 0x6caaee20, 0x38113: 0x6caaf020,\n\t0x38114: 0x6caaf220, 0x38115: 0x6caaf420, 0x38116: 0x6caaf620, 0x38117: 0x6caaf820,\n\t0x38118: 0x6caafa20, 0x38119: 0x6caafc20, 0x3811a: 0x6caafe20, 0x3811b: 0x6cab0020,\n\t0x3811c: 0x6cab0220, 0x3811d: 0x6cab0420, 0x3811e: 0x6cab0620, 0x3811f: 0x6cab0820,\n\t0x38120: 0x6cd92020, 0x38121: 0x6cd92220, 0x38122: 0x6cd92420, 0x38123: 0x6d07cc20,\n\t0x38124: 0x6cd92620, 0x38125: 0x6cd92820, 0x38126: 0x6cd92a20, 0x38127: 0x6cd92c20,\n\t0x38128: 0x6cd92e20, 0x38129: 0x6cd93020, 0x3812a: 0x6cd93220, 0x3812b: 0x6cd93420,\n\t0x3812c: 0x6cd93620, 0x3812d: 0x6cd93820, 0x3812e: 0x6cd93a20, 0x3812f: 0x6cd93c20,\n\t0x38130: 0x6cd93e20, 0x38131: 0x6cd94020, 0x38132: 0x6cd94220, 0x38133: 0x6cd94420,\n\t0x38134: 0x6cd94620, 0x38135: 0x6d07ce20, 0x38136: 0x6d07d020, 0x38137: 0x6d07d220,\n\t0x38138: 0x6d07d420, 0x38139: 0x6d07d620, 0x3813a: 0x6d07d820, 0x3813b: 0x6d07da20,\n\t0x3813c: 0x6d07dc20, 0x3813d: 0x6d07de20, 0x3813e: 0x6d07e020, 0x3813f: 0x6d07e220,\n\t// Block 0xe05, offset 0x38140\n\t0x38140: 0x6d07e420, 0x38141: 0x6d07e620, 0x38142: 0x6d07e820, 0x38143: 0x6d07ea20,\n\t0x38144: 0x6d07ec20, 0x38145: 0x6d07ee20, 0x38146: 0x6d07f020, 0x38147: 0x6d07f220,\n\t0x38148: 0x6d35d820, 0x38149: 0x6d35da20, 0x3814a: 0x6d35dc20, 0x3814b: 0x6d35de20,\n\t0x3814c: 0x6d35e020, 0x3814d: 0x6d35e220, 0x3814e: 0x6d35e420, 0x3814f: 0x6d35e620,\n\t0x38150: 0x6d35e820, 0x38151: 0x6d35ea20, 0x38152: 0x6d35ec20, 0x38153: 0x6d35ee20,\n\t0x38154: 0x6d35f020, 0x38155: 0x6d35f220, 0x38156: 0x6d35f420, 0x38157: 0x6d07f420,\n\t0x38158: 0x6d35f620, 0x38159: 0x6d35f820, 0x3815a: 0x6d35fa20, 0x3815b: 0x6d35fc20,\n\t0x3815c: 0x6d35fe20, 0x3815d: 0x6d360020, 0x3815e: 0x6d360220, 0x3815f: 0x6d360420,\n\t0x38160: 0x6d360620, 0x38161: 0x6d360820, 0x38162: 0x6d627e20, 0x38163: 0x6d628020,\n\t0x38164: 0x6d628220, 0x38165: 0x6d628420, 0x38166: 0x6d628620, 0x38167: 0x6d628820,\n\t0x38168: 0x6d628a20, 0x38169: 0x6d628c20, 0x3816a: 0x6d628e20, 0x3816b: 0x6d629020,\n\t0x3816c: 0x6d629220, 0x3816d: 0x6d629420, 0x3816e: 0x6d629620, 0x3816f: 0x6d629820,\n\t0x38170: 0x6d629a20, 0x38171: 0x6d629c20, 0x38172: 0x6d629e20, 0x38173: 0x6d62a020,\n\t0x38174: 0x6d62a220, 0x38175: 0x6d62a420, 0x38176: 0x6d62a620, 0x38177: 0x6d62a820,\n\t0x38178: 0x6d62aa20, 0x38179: 0x6d62ac20, 0x3817a: 0x6d62ae20, 0x3817b: 0x6d62b020,\n\t0x3817c: 0x6d8c6c20, 0x3817d: 0x6d8c6e20, 0x3817e: 0x6d8c7020, 0x3817f: 0x6d8c7220,\n\t// Block 0xe06, offset 0x38180\n\t0x38180: 0x6d8c7420, 0x38181: 0x6d8c7620, 0x38182: 0x6d8c7820, 0x38183: 0x6d8c7a20,\n\t0x38184: 0x6d8c7c20, 0x38185: 0x6d8c7e20, 0x38186: 0x6d8c8020, 0x38187: 0x6d62b220,\n\t0x38188: 0x6d8c8220, 0x38189: 0x6d8c8420, 0x3818a: 0x6d8c8620, 0x3818b: 0x6d8c8820,\n\t0x3818c: 0x6d8c8a20, 0x3818d: 0x6d8c8c20, 0x3818e: 0x6d8c8e20, 0x3818f: 0x6d8c9020,\n\t0x38190: 0x6db0aa20, 0x38191: 0x6db0ac20, 0x38192: 0x6db0ae20, 0x38193: 0x6db0b020,\n\t0x38194: 0x6db0b220, 0x38195: 0x6db0b420, 0x38196: 0x6db0b620, 0x38197: 0x6db0b820,\n\t0x38198: 0x6db0ba20, 0x38199: 0x6db0bc20, 0x3819a: 0x6db0be20, 0x3819b: 0x6db0c020,\n\t0x3819c: 0x6db0c220, 0x3819d: 0x6db0c420, 0x3819e: 0x6db0c620, 0x3819f: 0x6dd03220,\n\t0x381a0: 0x6dd03420, 0x381a1: 0x6dd03620, 0x381a2: 0x6dd03820, 0x381a3: 0x6dd03a20,\n\t0x381a4: 0x6dd03c20, 0x381a5: 0x6dd03e20, 0x381a6: 0x6dd04020, 0x381a7: 0x6dd04220,\n\t0x381a8: 0x6dd04420, 0x381a9: 0x6dd04620, 0x381aa: 0x6dd04820, 0x381ab: 0x6dd04a20,\n\t0x381ac: 0x6dd04c20, 0x381ad: 0x6dd04e20, 0x381ae: 0x6dd05020, 0x381af: 0x6dd05220,\n\t0x381b0: 0x6dd05420, 0x381b1: 0x6dd05620, 0x381b2: 0x6dd05820, 0x381b3: 0x6dea0420,\n\t0x381b4: 0x6dea0620, 0x381b5: 0x6dea0820, 0x381b6: 0x6dea0a20, 0x381b7: 0x6dea0c20,\n\t0x381b8: 0x6dea0e20, 0x381b9: 0x6dea1020, 0x381ba: 0x6dea1220, 0x381bb: 0x6dea1420,\n\t0x381bc: 0x6dea1620, 0x381bd: 0x6dea1820, 0x381be: 0x6dffd020, 0x381bf: 0x6dffd220,\n\t// Block 0xe07, offset 0x381c0\n\t0x381c0: 0x6dffd420, 0x381c1: 0x6dffd620, 0x381c2: 0x6dffd820, 0x381c3: 0x6dffda20,\n\t0x381c4: 0x6dffdc20, 0x381c5: 0x6e123420, 0x381c6: 0x6e123620, 0x381c7: 0x6e123820,\n\t0x381c8: 0x6e123a20, 0x381c9: 0x6e123c20, 0x381ca: 0x6e206220, 0x381cb: 0x6e206420,\n\t0x381cc: 0x6e206620, 0x381cd: 0x6e2b4420, 0x381ce: 0x6e2b4620, 0x381cf: 0x6e33ce20,\n\t0x381d0: 0x6e39ac20, 0x381d1: 0x6e3ddc20, 0x381d2: 0x6c145420, 0x381d3: 0x6c3e5c20,\n\t0x381d4: 0x6c5d6020, 0x381d5: 0x6cab0a20, 0x381d6: 0x6cab0c20, 0x381d7: 0x6cab0e20,\n\t0x381d8: 0x6cd94c20, 0x381d9: 0x6cd94e20, 0x381da: 0x6cd95020, 0x381db: 0x6d080420,\n\t0x381dc: 0x6d080620, 0x381dd: 0x6d361220, 0x381de: 0x6d361420, 0x381df: 0x6d361620,\n\t0x381e0: 0x6d62b620, 0x381e1: 0x6d62b820, 0x381e2: 0x6d62ba20, 0x381e3: 0x6d8c9c20,\n\t0x381e4: 0x6db0ce20, 0x381e5: 0x6db0d020, 0x381e6: 0x6db0d220, 0x381e7: 0x6dea1c20,\n\t0x381e8: 0x6dffde20, 0x381e9: 0x6c146420, 0x381ea: 0x6c146620, 0x381eb: 0x6c146820,\n\t0x381ec: 0x6c146a20, 0x381ed: 0x6c146c20, 0x381ee: 0x6c146e20, 0x381ef: 0x6c147020,\n\t0x381f0: 0x6c147220, 0x381f1: 0x6c147420, 0x381f2: 0x6c147620, 0x381f3: 0x6c147820,\n\t0x381f4: 0x6c261020, 0x381f5: 0x6c261220, 0x381f6: 0x6c261420, 0x381f7: 0x6c261620,\n\t0x381f8: 0x6c261820, 0x381f9: 0x6c261a20, 0x381fa: 0x6c261c20, 0x381fb: 0x6c261e20,\n\t0x381fc: 0x6c262020, 0x381fd: 0x6c262220, 0x381fe: 0x6c262420, 0x381ff: 0x6c3ebe20,\n\t// Block 0xe08, offset 0x38200\n\t0x38200: 0x6c3ec020, 0x38201: 0x6c3ec220, 0x38202: 0x6c3ec420, 0x38203: 0x6c3ec620,\n\t0x38204: 0x6c3ec820, 0x38205: 0x6c3eca20, 0x38206: 0x6c3ecc20, 0x38207: 0x6c3ece20,\n\t0x38208: 0x6c3ed020, 0x38209: 0x6c3ed220, 0x3820a: 0x6c3ed420, 0x3820b: 0x6c3ed620,\n\t0x3820c: 0x6c3ed820, 0x3820d: 0x6c3eda20, 0x3820e: 0x6c3edc20, 0x3820f: 0x6c3ede20,\n\t0x38210: 0x6c3ee020, 0x38211: 0x6c3ee220, 0x38212: 0x6c3ee420, 0x38213: 0x6c3ee620,\n\t0x38214: 0x6c3ee820, 0x38215: 0x6c3eea20, 0x38216: 0x6c3eec20, 0x38217: 0x6c3eee20,\n\t0x38218: 0x6c3ef020, 0x38219: 0x6c3ef220, 0x3821a: 0x6c3ef420, 0x3821b: 0x6c3ef620,\n\t0x3821c: 0x6c3ef820, 0x3821d: 0x6c3efa20, 0x3821e: 0x6c3efc20, 0x3821f: 0x6c3efe20,\n\t0x38220: 0x6c3f0020, 0x38221: 0x6c3f0220, 0x38222: 0x6c3f0420, 0x38223: 0x6c3f0620,\n\t0x38224: 0x6c3f0820, 0x38225: 0x6c3f0a20, 0x38226: 0x6c3f0c20, 0x38227: 0x6c3f0e20,\n\t0x38228: 0x6c3f1020, 0x38229: 0x6c3f1220, 0x3822a: 0x6c5dca20, 0x3822b: 0x6c5dcc20,\n\t0x3822c: 0x6c5dce20, 0x3822d: 0x6c5dd020, 0x3822e: 0x6c5dd220, 0x3822f: 0x6c5dd420,\n\t0x38230: 0x6c5dd620, 0x38231: 0x6c5dd820, 0x38232: 0x6c5dda20, 0x38233: 0x6c5ddc20,\n\t0x38234: 0x6c5dde20, 0x38235: 0x6c5de020, 0x38236: 0x6c5de220, 0x38237: 0x6c5de420,\n\t0x38238: 0x6c5de620, 0x38239: 0x6c5de820, 0x3823a: 0x6c5dea20, 0x3823b: 0x6c5dec20,\n\t0x3823c: 0x6c5dee20, 0x3823d: 0x6c5df020, 0x3823e: 0x6c5df220, 0x3823f: 0x6c5df420,\n\t// Block 0xe09, offset 0x38240\n\t0x38240: 0x6c5df620, 0x38241: 0x6c5df820, 0x38242: 0x6c5dfa20, 0x38243: 0x6c5dfc20,\n\t0x38244: 0x6c5dfe20, 0x38245: 0x6c5e0020, 0x38246: 0x6c5e0220, 0x38247: 0x6c5e0420,\n\t0x38248: 0x6c5e0620, 0x38249: 0x6c5e0820, 0x3824a: 0x6c5e0a20, 0x3824b: 0x6c5e0c20,\n\t0x3824c: 0x6c5e0e20, 0x3824d: 0x6c5e1020, 0x3824e: 0x6c5e1220, 0x3824f: 0x6c5e1420,\n\t0x38250: 0x6c5e1620, 0x38251: 0x6c5e1820, 0x38252: 0x6c5e1a20, 0x38253: 0x6c5e1c20,\n\t0x38254: 0x6c5e1e20, 0x38255: 0x6c5e2020, 0x38256: 0x6c5e2220, 0x38257: 0x6c5e2420,\n\t0x38258: 0x6c5e2620, 0x38259: 0x6c5e2820, 0x3825a: 0x6c5e2a20, 0x3825b: 0x6c5e2c20,\n\t0x3825c: 0x6c5e2e20, 0x3825d: 0x6c826020, 0x3825e: 0x6c826220, 0x3825f: 0x6c826420,\n\t0x38260: 0x6c826620, 0x38261: 0x6c826820, 0x38262: 0x6c826a20, 0x38263: 0x6c826c20,\n\t0x38264: 0x6c826e20, 0x38265: 0x6c827020, 0x38266: 0x6c827220, 0x38267: 0x6c827420,\n\t0x38268: 0x6c827620, 0x38269: 0x6c827820, 0x3826a: 0x6c827a20, 0x3826b: 0x6c827c20,\n\t0x3826c: 0x6c827e20, 0x3826d: 0x6c828020, 0x3826e: 0x6c828220, 0x3826f: 0x6c828420,\n\t0x38270: 0x6c828620, 0x38271: 0x6c828820, 0x38272: 0x6c828a20, 0x38273: 0x6c828c20,\n\t0x38274: 0x6c828e20, 0x38275: 0x6c829020, 0x38276: 0x6c829220, 0x38277: 0x6c829420,\n\t0x38278: 0x6c829620, 0x38279: 0x6c829820, 0x3827a: 0x6c829a20, 0x3827b: 0x6c829c20,\n\t0x3827c: 0x6c829e20, 0x3827d: 0x6c82a020, 0x3827e: 0x6c82a220, 0x3827f: 0x6c82a420,\n\t// Block 0xe0a, offset 0x38280\n\t0x38280: 0x6c82a620, 0x38281: 0x6c82a820, 0x38282: 0x6c82aa20, 0x38283: 0x6c82ac20,\n\t0x38284: 0x6c82ae20, 0x38285: 0x6c82b020, 0x38286: 0x6c82b220, 0x38287: 0x6c82b420,\n\t0x38288: 0x6c82b620, 0x38289: 0x6c82b820, 0x3828a: 0x6c82ba20, 0x3828b: 0x6c82bc20,\n\t0x3828c: 0x6c82be20, 0x3828d: 0x6c82c020, 0x3828e: 0x6c82c220, 0x3828f: 0x6c82c420,\n\t0x38290: 0x6c82c620, 0x38291: 0x6c82c820, 0x38292: 0x6c82ca20, 0x38293: 0x6c82cc20,\n\t0x38294: 0x6cab7220, 0x38295: 0x6cab7420, 0x38296: 0x6cab7620, 0x38297: 0x6cab7820,\n\t0x38298: 0x6cab7a20, 0x38299: 0x6cab7c20, 0x3829a: 0x6cab7e20, 0x3829b: 0x6cab8020,\n\t0x3829c: 0x6cab8220, 0x3829d: 0x6cab8420, 0x3829e: 0x6cab8620, 0x3829f: 0x6cab8820,\n\t0x382a0: 0x6cab8a20, 0x382a1: 0x6cab8c20, 0x382a2: 0x6cab8e20, 0x382a3: 0x6cab9020,\n\t0x382a4: 0x6cab9220, 0x382a5: 0x6cab9420, 0x382a6: 0x6cab9620, 0x382a7: 0x6cab9820,\n\t0x382a8: 0x6cab9a20, 0x382a9: 0x6cab9c20, 0x382aa: 0x6cab9e20, 0x382ab: 0x6caba020,\n\t0x382ac: 0x6caba220, 0x382ad: 0x6caba420, 0x382ae: 0x6caba620, 0x382af: 0x6caba820,\n\t0x382b0: 0x6cabaa20, 0x382b1: 0x6cabac20, 0x382b2: 0x6cabae20, 0x382b3: 0x6cabb020,\n\t0x382b4: 0x6cabb220, 0x382b5: 0x6cabb420, 0x382b6: 0x6cabb620, 0x382b7: 0x6cabb820,\n\t0x382b8: 0x6cabba20, 0x382b9: 0x6cabbc20, 0x382ba: 0x6cabbe20, 0x382bb: 0x6cabc020,\n\t0x382bc: 0x6cabc220, 0x382bd: 0x6cabc420, 0x382be: 0x6cabc620, 0x382bf: 0x6cabc820,\n\t// Block 0xe0b, offset 0x382c0\n\t0x382c0: 0x6cabca20, 0x382c1: 0x6cabcc20, 0x382c2: 0x6cabce20, 0x382c3: 0x6cabd020,\n\t0x382c4: 0x6cabd220, 0x382c5: 0x6cabd420, 0x382c6: 0x6cd9c020, 0x382c7: 0x6cd9c220,\n\t0x382c8: 0x6cd9c420, 0x382c9: 0x6cd9c620, 0x382ca: 0x6cd9c820, 0x382cb: 0x6cd9ca20,\n\t0x382cc: 0x6cd9cc20, 0x382cd: 0x6cd9ce20, 0x382ce: 0x6cd9d020, 0x382cf: 0x6cd9d220,\n\t0x382d0: 0x6cd9d420, 0x382d1: 0x6cd9d620, 0x382d2: 0x6cd9d820, 0x382d3: 0x6cd9da20,\n\t0x382d4: 0x6cd9dc20, 0x382d5: 0x6cd9de20, 0x382d6: 0x6cd9e020, 0x382d7: 0x6cd9e220,\n\t0x382d8: 0x6cd9e420, 0x382d9: 0x6cd9e620, 0x382da: 0x6cd9e820, 0x382db: 0x6cd9ea20,\n\t0x382dc: 0x6cd9ec20, 0x382dd: 0x6cd9ee20, 0x382de: 0x6cd9f020, 0x382df: 0x6cd9f220,\n\t0x382e0: 0x6cd9f420, 0x382e1: 0x6cd9f620, 0x382e2: 0x6cd9f820, 0x382e3: 0x6cd9fa20,\n\t0x382e4: 0x6cd9fc20, 0x382e5: 0x6cd9fe20, 0x382e6: 0x6cda0020, 0x382e7: 0x6cda0220,\n\t0x382e8: 0x6cda0420, 0x382e9: 0x6cda0620, 0x382ea: 0x6cda0820, 0x382eb: 0x6cda0a20,\n\t0x382ec: 0x6cda0c20, 0x382ed: 0x6cda0e20, 0x382ee: 0x6cda1020, 0x382ef: 0x6cda1220,\n\t0x382f0: 0x6cda1420, 0x382f1: 0x6cda1620, 0x382f2: 0x6cda1820, 0x382f3: 0x6cc87c20,\n\t0x382f4: 0x6cda1a20, 0x382f5: 0x6cda1c20, 0x382f6: 0x6cda1e20, 0x382f7: 0x6cda2020,\n\t0x382f8: 0x6cda2220, 0x382f9: 0x6cda2420, 0x382fa: 0x6cda2620, 0x382fb: 0x6cda2820,\n\t0x382fc: 0x6cda2a20, 0x382fd: 0x6cda2c20, 0x382fe: 0x6cda2e20, 0x382ff: 0x6cda3020,\n\t// Block 0xe0c, offset 0x38300\n\t0x38300: 0x6cda3220, 0x38301: 0x6cda3420, 0x38302: 0x6cda3620, 0x38303: 0x6cda3820,\n\t0x38304: 0x6cda3a20, 0x38305: 0x6cda3c20, 0x38306: 0x6cda3e20, 0x38307: 0x6cda4020,\n\t0x38308: 0x6cda4220, 0x38309: 0x6cda4420, 0x3830a: 0x6cda4620, 0x3830b: 0x6cda4820,\n\t0x3830c: 0x6cda4a20, 0x3830d: 0x6cda4c20, 0x3830e: 0x6cda4e20, 0x3830f: 0x6cda5020,\n\t0x38310: 0x6cda5220, 0x38311: 0x6cda5420, 0x38312: 0x6cda5620, 0x38313: 0x6cda5820,\n\t0x38314: 0x6cda5a20, 0x38315: 0x6cda5c20, 0x38316: 0x6cda5e20, 0x38317: 0x6cda6020,\n\t0x38318: 0x6cda6220, 0x38319: 0x6cda6420, 0x3831a: 0x6d087020, 0x3831b: 0x6d087220,\n\t0x3831c: 0x6d087420, 0x3831d: 0x6d087620, 0x3831e: 0x6d087820, 0x3831f: 0x6d087a20,\n\t0x38320: 0x6d087c20, 0x38321: 0x6d087e20, 0x38322: 0x6d088020, 0x38323: 0x6d088220,\n\t0x38324: 0x6d088420, 0x38325: 0x6d088620, 0x38326: 0x6d088820, 0x38327: 0x6d088a20,\n\t0x38328: 0x6d088c20, 0x38329: 0x6d088e20, 0x3832a: 0x6d089020, 0x3832b: 0x6d089220,\n\t0x3832c: 0x6d089420, 0x3832d: 0x6d089620, 0x3832e: 0x6d089820, 0x3832f: 0x6d089a20,\n\t0x38330: 0x6d089c20, 0x38331: 0x6d089e20, 0x38332: 0x6d08a020, 0x38333: 0x6d08a220,\n\t0x38334: 0x6d08a420, 0x38335: 0x6d08a620, 0x38336: 0x6d08a820, 0x38337: 0x6d08aa20,\n\t0x38338: 0x6d08ac20, 0x38339: 0x6d08ae20, 0x3833a: 0x6d08b020, 0x3833b: 0x6d08b220,\n\t0x3833c: 0x6d08b420, 0x3833d: 0x6d08b620, 0x3833e: 0x6d08b820, 0x3833f: 0x6d08ba20,\n\t// Block 0xe0d, offset 0x38340\n\t0x38340: 0x6d08bc20, 0x38341: 0x6d08be20, 0x38342: 0x6d08c020, 0x38343: 0x6d08c220,\n\t0x38344: 0x6d08c420, 0x38345: 0x6d08c620, 0x38346: 0x6d08c820, 0x38347: 0x6d08ca20,\n\t0x38348: 0x6d08cc20, 0x38349: 0x6d08ce20, 0x3834a: 0x6d08d020, 0x3834b: 0x6d08d220,\n\t0x3834c: 0x6d08d420, 0x3834d: 0x6d08d620, 0x3834e: 0x6d08d820, 0x3834f: 0x6d08da20,\n\t0x38350: 0x6d08dc20, 0x38351: 0x6d08de20, 0x38352: 0x6d08e020, 0x38353: 0x6d08e220,\n\t0x38354: 0x6d08e420, 0x38355: 0x6d08e620, 0x38356: 0x6d08e820, 0x38357: 0x6d08ea20,\n\t0x38358: 0x6d08ec20, 0x38359: 0x6d365c20, 0x3835a: 0x6d365e20, 0x3835b: 0x6d366020,\n\t0x3835c: 0x6d366220, 0x3835d: 0x6d366420, 0x3835e: 0x6d366620, 0x3835f: 0x6d366820,\n\t0x38360: 0x6d366a20, 0x38361: 0x6d366c20, 0x38362: 0x6d366e20, 0x38363: 0x6d367020,\n\t0x38364: 0x6d367220, 0x38365: 0x6d367420, 0x38366: 0x6d367620, 0x38367: 0x6d367820,\n\t0x38368: 0x6d367a20, 0x38369: 0x6d367c20, 0x3836a: 0x6d367e20, 0x3836b: 0x6d368020,\n\t0x3836c: 0x6d368220, 0x3836d: 0x6d368420, 0x3836e: 0x6d368620, 0x3836f: 0x6d368820,\n\t0x38370: 0x6d368a20, 0x38371: 0x6d368c20, 0x38372: 0x6d368e20, 0x38373: 0x6d369020,\n\t0x38374: 0x6d369220, 0x38375: 0x6d369420, 0x38376: 0x6d369620, 0x38377: 0x6d369820,\n\t0x38378: 0x6d369a20, 0x38379: 0x6d369c20, 0x3837a: 0x6d369e20, 0x3837b: 0x6d36a020,\n\t0x3837c: 0x6d36a220, 0x3837d: 0x6d36a420, 0x3837e: 0x6d36a620, 0x3837f: 0x6d36a820,\n\t// Block 0xe0e, offset 0x38380\n\t0x38380: 0x6d36aa20, 0x38381: 0x6d36ac20, 0x38382: 0x6d36ae20, 0x38383: 0x6d36b020,\n\t0x38384: 0x6d36b220, 0x38385: 0x6d36b420, 0x38386: 0x6d36b620, 0x38387: 0x6d36b820,\n\t0x38388: 0x6d36ba20, 0x38389: 0x6d36bc20, 0x3838a: 0x6d36be20, 0x3838b: 0x6d36c020,\n\t0x3838c: 0x6d36c220, 0x3838d: 0x6d36c420, 0x3838e: 0x6d36c620, 0x3838f: 0x6d36c820,\n\t0x38390: 0x6d36ca20, 0x38391: 0x6d36cc20, 0x38392: 0x6d36ce20, 0x38393: 0x6d08ee20,\n\t0x38394: 0x6d08f020, 0x38395: 0x6d36d020, 0x38396: 0x6d36d220, 0x38397: 0x6d36d420,\n\t0x38398: 0x6d62f420, 0x38399: 0x6d62f620, 0x3839a: 0x6d62f820, 0x3839b: 0x6d62fa20,\n\t0x3839c: 0x6d62fc20, 0x3839d: 0x6d62fe20, 0x3839e: 0x6d630020, 0x3839f: 0x6d630220,\n\t0x383a0: 0x6d630420, 0x383a1: 0x6d630620, 0x383a2: 0x6d630820, 0x383a3: 0x6d630a20,\n\t0x383a4: 0x6d630c20, 0x383a5: 0x6d630e20, 0x383a6: 0x6d631020, 0x383a7: 0x6d631220,\n\t0x383a8: 0x6d631420, 0x383a9: 0x6d631620, 0x383aa: 0x6d631820, 0x383ab: 0x6d631a20,\n\t0x383ac: 0x6d631c20, 0x383ad: 0x6d631e20, 0x383ae: 0x6d632020, 0x383af: 0x6d632220,\n\t0x383b0: 0x6d632420, 0x383b1: 0x6d632620, 0x383b2: 0x6d632820, 0x383b3: 0x6d632a20,\n\t0x383b4: 0x6d632c20, 0x383b5: 0x6d632e20, 0x383b6: 0x6d633020, 0x383b7: 0x6d633220,\n\t0x383b8: 0x6d633420, 0x383b9: 0x6d633620, 0x383ba: 0x6d633820, 0x383bb: 0x6d633a20,\n\t0x383bc: 0x6d633c20, 0x383bd: 0x6d633e20, 0x383be: 0x6d634020, 0x383bf: 0x6d634220,\n\t// Block 0xe0f, offset 0x383c0\n\t0x383c0: 0x6d634420, 0x383c1: 0x6d634620, 0x383c2: 0x6d634820, 0x383c3: 0x6d8cd620,\n\t0x383c4: 0x6d8cd820, 0x383c5: 0x6d8cda20, 0x383c6: 0x6d8cdc20, 0x383c7: 0x6d8cde20,\n\t0x383c8: 0x6d8ce020, 0x383c9: 0x6d8ce220, 0x383ca: 0x6d8ce420, 0x383cb: 0x6d8ce620,\n\t0x383cc: 0x6d8ce820, 0x383cd: 0x6d8cea20, 0x383ce: 0x6d8cec20, 0x383cf: 0x6d8cee20,\n\t0x383d0: 0x6d8cf020, 0x383d1: 0x6d8cf220, 0x383d2: 0x6d8cf420, 0x383d3: 0x6d8cf620,\n\t0x383d4: 0x6d8cf820, 0x383d5: 0x6d8cfa20, 0x383d6: 0x6d8cfc20, 0x383d7: 0x6d8cfe20,\n\t0x383d8: 0x6d8d0020, 0x383d9: 0x6d8d0220, 0x383da: 0x6d8d0420, 0x383db: 0x6d8d0620,\n\t0x383dc: 0x6d8d0820, 0x383dd: 0x6d8d0a20, 0x383de: 0x6d8d0c20, 0x383df: 0x6d8d0e20,\n\t0x383e0: 0x6d8d1020, 0x383e1: 0x6d8d1220, 0x383e2: 0x6d8d1420, 0x383e3: 0x6d8d1620,\n\t0x383e4: 0x6d8d1820, 0x383e5: 0x6d8d1a20, 0x383e6: 0x6d8d1c20, 0x383e7: 0x6d8d1e20,\n\t0x383e8: 0x6d8d2020, 0x383e9: 0x6d8d2220, 0x383ea: 0x6d8d2420, 0x383eb: 0x6d8d2620,\n\t0x383ec: 0x6d8d2820, 0x383ed: 0x6d8d2a20, 0x383ee: 0x6d8d2c20, 0x383ef: 0x6d8d2e20,\n\t0x383f0: 0x6d8d3020, 0x383f1: 0x6d8d3220, 0x383f2: 0x6d8d3420, 0x383f3: 0x6d8d3620,\n\t0x383f4: 0x6d8d3820, 0x383f5: 0x6d8d3a20, 0x383f6: 0x6d8d3c20, 0x383f7: 0x6d8d3e20,\n\t0x383f8: 0x6d8d4020, 0x383f9: 0x6d8d4220, 0x383fa: 0x6d8d4420, 0x383fb: 0x6d8d4620,\n\t0x383fc: 0x6d8d4820, 0x383fd: 0x6d8d4a20, 0x383fe: 0x6db10420, 0x383ff: 0x6db10620,\n\t// Block 0xe10, offset 0x38400\n\t0x38400: 0x6db10820, 0x38401: 0x6db10a20, 0x38402: 0x6db10c20, 0x38403: 0x6db10e20,\n\t0x38404: 0x6d8d4c20, 0x38405: 0x6db11020, 0x38406: 0x6db11220, 0x38407: 0x6db11420,\n\t0x38408: 0x6db11620, 0x38409: 0x6db11820, 0x3840a: 0x6db11a20, 0x3840b: 0x6db11c20,\n\t0x3840c: 0x6db11e20, 0x3840d: 0x6db12020, 0x3840e: 0x6dd07620, 0x3840f: 0x6db12220,\n\t0x38410: 0x6db12420, 0x38411: 0x6db12620, 0x38412: 0x6db12820, 0x38413: 0x6db12a20,\n\t0x38414: 0x6db12c20, 0x38415: 0x6db12e20, 0x38416: 0x6da5c020, 0x38417: 0x6d7c7a20,\n\t0x38418: 0x6db13020, 0x38419: 0x6db13220, 0x3841a: 0x6db13420, 0x3841b: 0x6db13620,\n\t0x3841c: 0x6db13820, 0x3841d: 0x6db13a20, 0x3841e: 0x6db13c20, 0x3841f: 0x6db13e20,\n\t0x38420: 0x6db14020, 0x38421: 0x6db14220, 0x38422: 0x6db14420, 0x38423: 0x6db14620,\n\t0x38424: 0x6db14820, 0x38425: 0x6db14a20, 0x38426: 0x6db14c20, 0x38427: 0x6db14e20,\n\t0x38428: 0x6db15020, 0x38429: 0x6db15220, 0x3842a: 0x6db15420, 0x3842b: 0x6db15620,\n\t0x3842c: 0x6db15820, 0x3842d: 0x6db15a20, 0x3842e: 0x6d8d4e20, 0x3842f: 0x6db15c20,\n\t0x38430: 0x6dd07820, 0x38431: 0x6dd07a20, 0x38432: 0x6dd07c20, 0x38433: 0x6dd07e20,\n\t0x38434: 0x6dd08020, 0x38435: 0x6dd08220, 0x38436: 0x6dd08420, 0x38437: 0x6dd08620,\n\t0x38438: 0x6dd08820, 0x38439: 0x6dd08a20, 0x3843a: 0x6dd08c20, 0x3843b: 0x6dd08e20,\n\t0x3843c: 0x6dd09020, 0x3843d: 0x6dd09220, 0x3843e: 0x6dd09420, 0x3843f: 0x6dd09620,\n\t// Block 0xe11, offset 0x38440\n\t0x38440: 0x6dd09820, 0x38441: 0x6dd09a20, 0x38442: 0x6dd09c20, 0x38443: 0x6dd09e20,\n\t0x38444: 0x6dd0a020, 0x38445: 0x6dd0a220, 0x38446: 0x6dd0a420, 0x38447: 0x6dd0a620,\n\t0x38448: 0x6dd0a820, 0x38449: 0x6dd0aa20, 0x3844a: 0x6dea2e20, 0x3844b: 0x6dea3020,\n\t0x3844c: 0x6dea3220, 0x3844d: 0x6dea3420, 0x3844e: 0x6dea3620, 0x3844f: 0x6dea3820,\n\t0x38450: 0x6dea3a20, 0x38451: 0x6dea3c20, 0x38452: 0x6dea3e20, 0x38453: 0x6dea4020,\n\t0x38454: 0x6dea4220, 0x38455: 0x6dea4420, 0x38456: 0x6dea4620, 0x38457: 0x6dea4820,\n\t0x38458: 0x6dea4a20, 0x38459: 0x6dea4c20, 0x3845a: 0x6dea4e20, 0x3845b: 0x6dea5020,\n\t0x3845c: 0x6dea5220, 0x3845d: 0x6dea5420, 0x3845e: 0x6dea5620, 0x3845f: 0x6dea5820,\n\t0x38460: 0x6dea5a20, 0x38461: 0x6dea5c20, 0x38462: 0x6dea5e20, 0x38463: 0x6dea6020,\n\t0x38464: 0x6dea6220, 0x38465: 0x6dffee20, 0x38466: 0x6dfff020, 0x38467: 0x6dfff220,\n\t0x38468: 0x6dfff420, 0x38469: 0x6dfff620, 0x3846a: 0x6dfff820, 0x3846b: 0x6dfffa20,\n\t0x3846c: 0x6dfffc20, 0x3846d: 0x6dfffe20, 0x3846e: 0x6e000020, 0x3846f: 0x6e000220,\n\t0x38470: 0x6e000420, 0x38471: 0x6e000620, 0x38472: 0x6e000820, 0x38473: 0x6e000a20,\n\t0x38474: 0x6e000c20, 0x38475: 0x6e000e20, 0x38476: 0x6e001020, 0x38477: 0x6e001220,\n\t0x38478: 0x6e124a20, 0x38479: 0x6e124c20, 0x3847a: 0x6e124e20, 0x3847b: 0x6e125020,\n\t0x3847c: 0x6e125220, 0x3847d: 0x6e125420, 0x3847e: 0x6e125620, 0x3847f: 0x6e206e20,\n\t// Block 0xe12, offset 0x38480\n\t0x38480: 0x6e207020, 0x38481: 0x6e207220, 0x38482: 0x6e207420, 0x38483: 0x6e207620,\n\t0x38484: 0x6e207820, 0x38485: 0x6e207a20, 0x38486: 0x6e2b4c20, 0x38487: 0x6e2b4e20,\n\t0x38488: 0x6e2b5020, 0x38489: 0x6e2b5220, 0x3848a: 0x6e2b5420, 0x3848b: 0x6e2b5620,\n\t0x3848c: 0x6e2b5820, 0x3848d: 0x6e2b5a20, 0x3848e: 0x6e2b5c20, 0x3848f: 0x6e2b5e20,\n\t0x38490: 0x6e2b6020, 0x38491: 0x6e33d020, 0x38492: 0x6e33d220, 0x38493: 0x6e33d420,\n\t0x38494: 0x6e33d620, 0x38495: 0x6e33d820, 0x38496: 0x6e39b220, 0x38497: 0x6e39b420,\n\t0x38498: 0x6e3dde20, 0x38499: 0x6e3de020, 0x3849a: 0x6e3de220, 0x3849b: 0x6e40be20,\n\t0x3849c: 0x6e42ec20, 0x3849d: 0x6c262620, 0x3849e: 0x6c147c20, 0x3849f: 0x6c5e3820,\n\t0x384a0: 0x6c82d220, 0x384a1: 0x6c82d420, 0x384a2: 0x6c82d620, 0x384a3: 0x6c82d820,\n\t0x384a4: 0x6cabde20, 0x384a5: 0x6cabe020, 0x384a6: 0x6cda7220, 0x384a7: 0x6cda7420,\n\t0x384a8: 0x6cda7620, 0x384a9: 0x6cda7820, 0x384aa: 0x6d8d5c20, 0x384ab: 0x6d36e620,\n\t0x384ac: 0x6d36e820, 0x384ad: 0x6d635620, 0x384ae: 0x6d36ea20, 0x384af: 0x6d635820,\n\t0x384b0: 0x6db16820, 0x384b1: 0x6db16a20, 0x384b2: 0x6dd0b220, 0x384b3: 0x6dd0b420,\n\t0x384b4: 0x6e125a20, 0x384b5: 0x6e125c20, 0x384b6: 0x6e207e20, 0x384b7: 0x6e445e20,\n\t0x384b8: 0x6e45ce20, 0x384b9: 0x6c148020, 0x384ba: 0x6c262a20, 0x384bb: 0x6c262c20,\n\t0x384bc: 0x6c262e20, 0x384bd: 0x6c3f1e20, 0x384be: 0x6c5e3a20, 0x384bf: 0x6c5e3c20,\n\t// Block 0xe13, offset 0x384c0\n\t0x384c0: 0x6c5e3e20, 0x384c1: 0x6c82e020, 0x384c2: 0x6c82e220, 0x384c3: 0x6c82e420,\n\t0x384c4: 0x6c82e620, 0x384c5: 0x6c82e820, 0x384c6: 0x6c82ea20, 0x384c7: 0x6c82ec20,\n\t0x384c8: 0x6c82ee20, 0x384c9: 0x6c82f020, 0x384ca: 0x6c82f220, 0x384cb: 0x6c82f420,\n\t0x384cc: 0x6cabe220, 0x384cd: 0x6cabe420, 0x384ce: 0x6cabe620, 0x384cf: 0x6cabe820,\n\t0x384d0: 0x6cda8220, 0x384d1: 0x6cda8420, 0x384d2: 0x6cda8620, 0x384d3: 0x6cda8820,\n\t0x384d4: 0x6d08fa20, 0x384d5: 0x6d36ee20, 0x384d6: 0x6d36f020, 0x384d7: 0x6d36f220,\n\t0x384d8: 0x6d635c20, 0x384d9: 0x6d635e20, 0x384da: 0x6d636020, 0x384db: 0x6d636220,\n\t0x384dc: 0x6d636420, 0x384dd: 0x6d636620, 0x384de: 0x6d8d6020, 0x384df: 0x6d8d6220,\n\t0x384e0: 0x6d8d6420, 0x384e1: 0x6db16c20, 0x384e2: 0x6db16e20, 0x384e3: 0x6db17020,\n\t0x384e4: 0x6db17220, 0x384e5: 0x6dd0b820, 0x384e6: 0x6dea6820, 0x384e7: 0x6dea6a20,\n\t0x384e8: 0x6dea6c20, 0x384e9: 0x6dea6e20, 0x384ea: 0x6dea7020, 0x384eb: 0x6e001620,\n\t0x384ec: 0x6e001820, 0x384ed: 0x6e001a20, 0x384ee: 0x6e001c20, 0x384ef: 0x6e125e20,\n\t0x384f0: 0x6e126020, 0x384f1: 0x6e33da20, 0x384f2: 0x6e3de420, 0x384f3: 0x6c148420,\n\t0x384f4: 0x6c148620, 0x384f5: 0x6c3f2020, 0x384f6: 0x6c5e4420, 0x384f7: 0x6c5e4620,\n\t0x384f8: 0x6c5e4820, 0x384f9: 0x6c82f620, 0x384fa: 0x6c82f820, 0x384fb: 0x6cabea20,\n\t0x384fc: 0x6cabec20, 0x384fd: 0x6cabee20, 0x384fe: 0x6cabf020, 0x384ff: 0x6cda9420,\n\t// Block 0xe14, offset 0x38500\n\t0x38500: 0x6cda9620, 0x38501: 0x6d08fe20, 0x38502: 0x6d36f620, 0x38503: 0x6d36f820,\n\t0x38504: 0x6d36fa20, 0x38505: 0x6d636a20, 0x38506: 0x6d636c20, 0x38507: 0x6d636e20,\n\t0x38508: 0x6d1dd820, 0x38509: 0x6d8d6820, 0x3850a: 0x6d8d6a20, 0x3850b: 0x6d8d6c20,\n\t0x3850c: 0x6d8d6e20, 0x3850d: 0x6d8d7020, 0x3850e: 0x6db17420, 0x3850f: 0x6dd0bc20,\n\t0x38510: 0x6dd0be20, 0x38511: 0x6c148a20, 0x38512: 0x6c148c20, 0x38513: 0x6c148e20,\n\t0x38514: 0x6c263020, 0x38515: 0x6c3f2620, 0x38516: 0x6c3f2820, 0x38517: 0x6c5e4c20,\n\t0x38518: 0x6c5e4e20, 0x38519: 0x6c3f2a20, 0x3851a: 0x6c5e5020, 0x3851b: 0x6c5e5220,\n\t0x3851c: 0x6c5e5420, 0x3851d: 0x6c830020, 0x3851e: 0x6c830220, 0x3851f: 0x6c830420,\n\t0x38520: 0x6c830620, 0x38521: 0x6c830820, 0x38522: 0x6c830a20, 0x38523: 0x6c830c20,\n\t0x38524: 0x6c830e20, 0x38525: 0x6cabf620, 0x38526: 0x6cabf820, 0x38527: 0x6c5e5620,\n\t0x38528: 0x6cabfa20, 0x38529: 0x6cabfc20, 0x3852a: 0x6cabfe20, 0x3852b: 0x6cac0020,\n\t0x3852c: 0x6cac0220, 0x3852d: 0x6cda9e20, 0x3852e: 0x6cdaa020, 0x3852f: 0x6cdaa220,\n\t0x38530: 0x6cdaa420, 0x38531: 0x6cdaa620, 0x38532: 0x6cdaa820, 0x38533: 0x6d090420,\n\t0x38534: 0x6d090620, 0x38535: 0x6d090820, 0x38536: 0x6d090a20, 0x38537: 0x6d090c20,\n\t0x38538: 0x6d090e20, 0x38539: 0x6d091020, 0x3853a: 0x6d091220, 0x3853b: 0x6d370420,\n\t0x3853c: 0x6d370620, 0x3853d: 0x6d370820, 0x3853e: 0x6d370a20, 0x3853f: 0x6d370c20,\n\t// Block 0xe15, offset 0x38540\n\t0x38540: 0x6d370e20, 0x38541: 0x6d371020, 0x38542: 0x6d371220, 0x38543: 0x6d371420,\n\t0x38544: 0x6d371620, 0x38545: 0x6d637220, 0x38546: 0x6d637420, 0x38547: 0x6d637620,\n\t0x38548: 0x6d637820, 0x38549: 0x6d637a20, 0x3854a: 0x6d637c20, 0x3854b: 0x6d637e20,\n\t0x3854c: 0x6d638020, 0x3854d: 0x6d638220, 0x3854e: 0x6d638420, 0x3854f: 0x6d8d7a20,\n\t0x38550: 0x6d8d7c20, 0x38551: 0x6d8d7e20, 0x38552: 0x6d8d8020, 0x38553: 0x6d8d8220,\n\t0x38554: 0x6d5dd620, 0x38555: 0x6d8d8420, 0x38556: 0x6d8d8620, 0x38557: 0x6d8d8820,\n\t0x38558: 0x6db17620, 0x38559: 0x6db17820, 0x3855a: 0x6db17a20, 0x3855b: 0x6db17c20,\n\t0x3855c: 0x6db17e20, 0x3855d: 0x6db18020, 0x3855e: 0x6db18220, 0x3855f: 0x6db18420,\n\t0x38560: 0x6db18620, 0x38561: 0x6dd0c220, 0x38562: 0x6dd0c420, 0x38563: 0x6dd0c620,\n\t0x38564: 0x6dd0c820, 0x38565: 0x6dd0ca20, 0x38566: 0x6dd0cc20, 0x38567: 0x6dd0ce20,\n\t0x38568: 0x6dca2e20, 0x38569: 0x6dea7620, 0x3856a: 0x6dea7820, 0x3856b: 0x6dea7a20,\n\t0x3856c: 0x6dea7c20, 0x3856d: 0x6e002020, 0x3856e: 0x6e002220, 0x3856f: 0x6dea7e20,\n\t0x38570: 0x6e002420, 0x38571: 0x6e002620, 0x38572: 0x6e002820, 0x38573: 0x6e002a20,\n\t0x38574: 0x6e002c20, 0x38575: 0x6e002e20, 0x38576: 0x6e126220, 0x38577: 0x6e126420,\n\t0x38578: 0x6e126620, 0x38579: 0x6e208020, 0x3857a: 0x6e2b6420, 0x3857b: 0x6e2b6620,\n\t0x3857c: 0x6e33de20, 0x3857d: 0x6e39b620, 0x3857e: 0x6e39b820, 0x3857f: 0x6e39ba20,\n\t// Block 0xe16, offset 0x38580\n\t0x38580: 0x6e3de820, 0x38581: 0x6e40c020, 0x38582: 0x6e40c220, 0x38583: 0x6e454420,\n\t0x38584: 0x6e472c20, 0x38585: 0x6e473620, 0x38586: 0x6c263220, 0x38587: 0x6c5e5820,\n\t0x38588: 0x6c831620, 0x38589: 0x6c831820, 0x3858a: 0x6c831a20, 0x3858b: 0x6c831c20,\n\t0x3858c: 0x6c831e20, 0x3858d: 0x6c832020, 0x3858e: 0x6c832220, 0x3858f: 0x6c832420,\n\t0x38590: 0x6c832620, 0x38591: 0x6cac0820, 0x38592: 0x6cac0a20, 0x38593: 0x6cac0c20,\n\t0x38594: 0x6cac0e20, 0x38595: 0x6cdaae20, 0x38596: 0x6cdab020, 0x38597: 0x6cdab220,\n\t0x38598: 0x6cdab420, 0x38599: 0x6cdab620, 0x3859a: 0x6cdab820, 0x3859b: 0x6cdaba20,\n\t0x3859c: 0x6cdabc20, 0x3859d: 0x6d091420, 0x3859e: 0x6d091620, 0x3859f: 0x6d371e20,\n\t0x385a0: 0x6d372020, 0x385a1: 0x6d372220, 0x385a2: 0x6d372420, 0x385a3: 0x6d372620,\n\t0x385a4: 0x6d372820, 0x385a5: 0x6d372a20, 0x385a6: 0x6d372c20, 0x385a7: 0x6d638c20,\n\t0x385a8: 0x6d638e20, 0x385a9: 0x6d639020, 0x385aa: 0x6d639220, 0x385ab: 0x6d639420,\n\t0x385ac: 0x6d639620, 0x385ad: 0x6d8d8c20, 0x385ae: 0x6d8d8e20, 0x385af: 0x6d8d9020,\n\t0x385b0: 0x6d8d9220, 0x385b1: 0x6db18820, 0x385b2: 0x6db18a20, 0x385b3: 0x6db18c20,\n\t0x385b4: 0x6dd0d420, 0x385b5: 0x6dd0d620, 0x385b6: 0x6dd0d820, 0x385b7: 0x6dea8220,\n\t0x385b8: 0x6e003020, 0x385b9: 0x6e126820, 0x385ba: 0x6e208220, 0x385bb: 0x6e2b6820,\n\t0x385bc: 0x6e2b6a20, 0x385bd: 0x6e3dec20, 0x385be: 0x6d639820, 0x385bf: 0x6d639a20,\n\t// Block 0xe17, offset 0x385c0\n\t0x385c0: 0x6dd0da20, 0x385c1: 0x6e003220, 0x385c2: 0x6e2b6c20, 0x385c3: 0x6e208620,\n\t0x385c4: 0x6e33e020, 0x385c5: 0x6e39bc20, 0x385c6: 0x6e40c420, 0x385c7: 0x6c263420,\n\t0x385c8: 0x6c3f3820, 0x385c9: 0x6c3f3a20, 0x385ca: 0x6c3f3c20, 0x385cb: 0x6c3f3e20,\n\t0x385cc: 0x6c3f4020, 0x385cd: 0x6c3f4220, 0x385ce: 0x6c5e6820, 0x385cf: 0x6c5e6a20,\n\t0x385d0: 0x6c5e6c20, 0x385d1: 0x6c5e6e20, 0x385d2: 0x6c5e7020, 0x385d3: 0x6c5e7220,\n\t0x385d4: 0x6c5e7420, 0x385d5: 0x6c834620, 0x385d6: 0x6c834820, 0x385d7: 0x6c834a20,\n\t0x385d8: 0x6c834c20, 0x385d9: 0x6c834e20, 0x385da: 0x6c835020, 0x385db: 0x6c835220,\n\t0x385dc: 0x6c835420, 0x385dd: 0x6c835620, 0x385de: 0x6c835820, 0x385df: 0x6c835a20,\n\t0x385e0: 0x6c835c20, 0x385e1: 0x6cac2c20, 0x385e2: 0x6cac2e20, 0x385e3: 0x6cac3020,\n\t0x385e4: 0x6cac3220, 0x385e5: 0x6cac3420, 0x385e6: 0x6cac3620, 0x385e7: 0x6cac3820,\n\t0x385e8: 0x6cac3a20, 0x385e9: 0x6cac3c20, 0x385ea: 0x6cac3e20, 0x385eb: 0x6cac4020,\n\t0x385ec: 0x6cac4220, 0x385ed: 0x6cac4420, 0x385ee: 0x6cac4620, 0x385ef: 0x6cdad220,\n\t0x385f0: 0x6cdad420, 0x385f1: 0x6cdad620, 0x385f2: 0x6cdad820, 0x385f3: 0x6d093620,\n\t0x385f4: 0x6cdada20, 0x385f5: 0x6cdadc20, 0x385f6: 0x6cdade20, 0x385f7: 0x6cdae020,\n\t0x385f8: 0x6cdae220, 0x385f9: 0x6cdae420, 0x385fa: 0x6cdae620, 0x385fb: 0x6cdae820,\n\t0x385fc: 0x6cdaea20, 0x385fd: 0x6d093820, 0x385fe: 0x6d093a20, 0x385ff: 0x6d093c20,\n\t// Block 0xe18, offset 0x38600\n\t0x38600: 0x6d093e20, 0x38601: 0x6d094020, 0x38602: 0x6d094220, 0x38603: 0x6d094420,\n\t0x38604: 0x6d094620, 0x38605: 0x6d094820, 0x38606: 0x6d094a20, 0x38607: 0x6d094c20,\n\t0x38608: 0x6d094e20, 0x38609: 0x6d095020, 0x3860a: 0x6d374a20, 0x3860b: 0x6d374c20,\n\t0x3860c: 0x6d374e20, 0x3860d: 0x6d375020, 0x3860e: 0x6d375220, 0x3860f: 0x6d375420,\n\t0x38610: 0x6d375620, 0x38611: 0x6d375820, 0x38612: 0x6d375a20, 0x38613: 0x6d375c20,\n\t0x38614: 0x6d375e20, 0x38615: 0x6d376020, 0x38616: 0x6d376220, 0x38617: 0x6d376420,\n\t0x38618: 0x6d376620, 0x38619: 0x6d376820, 0x3861a: 0x6d376a20, 0x3861b: 0x6d376c20,\n\t0x3861c: 0x6d376e20, 0x3861d: 0x6d63b020, 0x3861e: 0x6d63b220, 0x3861f: 0x6d63b420,\n\t0x38620: 0x6d63b620, 0x38621: 0x6d63b820, 0x38622: 0x6d63ba20, 0x38623: 0x6d63bc20,\n\t0x38624: 0x6d63be20, 0x38625: 0x6d63c020, 0x38626: 0x6d63c220, 0x38627: 0x6d63c420,\n\t0x38628: 0x6d63c620, 0x38629: 0x6d63c820, 0x3862a: 0x6d63ca20, 0x3862b: 0x6d63cc20,\n\t0x3862c: 0x6d63ce20, 0x3862d: 0x6d63d020, 0x3862e: 0x6d63d220, 0x3862f: 0x6d63d420,\n\t0x38630: 0x6d63d620, 0x38631: 0x6d63d820, 0x38632: 0x6d63da20, 0x38633: 0x6d63dc20,\n\t0x38634: 0x6d8da820, 0x38635: 0x6d8daa20, 0x38636: 0x6d8dac20, 0x38637: 0x6d8dae20,\n\t0x38638: 0x6d8db020, 0x38639: 0x6d8db220, 0x3863a: 0x6d8db420, 0x3863b: 0x6d8db620,\n\t0x3863c: 0x6d8db820, 0x3863d: 0x6d8dba20, 0x3863e: 0x6d8dbc20, 0x3863f: 0x6d63de20,\n\t// Block 0xe19, offset 0x38640\n\t0x38640: 0x6d8dbe20, 0x38641: 0x6d8dc020, 0x38642: 0x6d8dc220, 0x38643: 0x6d8dc420,\n\t0x38644: 0x6d8dc620, 0x38645: 0x6d8dc820, 0x38646: 0x6db1a420, 0x38647: 0x6db1a620,\n\t0x38648: 0x6db1a820, 0x38649: 0x6db1aa20, 0x3864a: 0x6db1ac20, 0x3864b: 0x6db1ae20,\n\t0x3864c: 0x6db1b020, 0x3864d: 0x6db1b220, 0x3864e: 0x6db1b420, 0x3864f: 0x6db1b620,\n\t0x38650: 0x6db1b820, 0x38651: 0x6dd0e820, 0x38652: 0x6dd0ea20, 0x38653: 0x6dd0ec20,\n\t0x38654: 0x6dd0ee20, 0x38655: 0x6dd0f020, 0x38656: 0x6dd0f220, 0x38657: 0x6dd0f420,\n\t0x38658: 0x6dd0f620, 0x38659: 0x6dd0f820, 0x3865a: 0x6dd0fa20, 0x3865b: 0x6dd0fc20,\n\t0x3865c: 0x6dd0fe20, 0x3865d: 0x6dd10020, 0x3865e: 0x6dd10220, 0x3865f: 0x6dd10420,\n\t0x38660: 0x6dd10620, 0x38661: 0x6dd10820, 0x38662: 0x6dd10a20, 0x38663: 0x6dd10c20,\n\t0x38664: 0x6dd10e20, 0x38665: 0x6dd11020, 0x38666: 0x6dd11220, 0x38667: 0x6dd11420,\n\t0x38668: 0x6dea9020, 0x38669: 0x6dea9220, 0x3866a: 0x6dea9420, 0x3866b: 0x6dea9620,\n\t0x3866c: 0x6dea9820, 0x3866d: 0x6dea9a20, 0x3866e: 0x6dea9c20, 0x3866f: 0x6dea9e20,\n\t0x38670: 0x6deaa020, 0x38671: 0x6e003e20, 0x38672: 0x6e004020, 0x38673: 0x6e004220,\n\t0x38674: 0x6e004420, 0x38675: 0x6e004620, 0x38676: 0x6e126e20, 0x38677: 0x6e127020,\n\t0x38678: 0x6e127220, 0x38679: 0x6e105820, 0x3867a: 0x6e127420, 0x3867b: 0x6e127620,\n\t0x3867c: 0x6e127820, 0x3867d: 0x6e208a20, 0x3867e: 0x6e208c20, 0x3867f: 0x6e208e20,\n\t// Block 0xe1a, offset 0x38680\n\t0x38680: 0x6e209020, 0x38681: 0x6e209220, 0x38682: 0x6e209420, 0x38683: 0x6e2b7020,\n\t0x38684: 0x6e2b7220, 0x38685: 0x6e39be20, 0x38686: 0x6e39c020, 0x38687: 0x6e3dee20,\n\t0x38688: 0x6e40c620, 0x38689: 0x6e3df020, 0x3868a: 0x6e454620, 0x3868b: 0x6c5e7820,\n\t0x3868c: 0x6cac4820, 0x3868d: 0x6cac4a20, 0x3868e: 0x6cdaec20, 0x3868f: 0x6d095220,\n\t0x38690: 0x6d63e420, 0x38691: 0x6db1be20, 0x38692: 0x6e004a20, 0x38693: 0x6c5e7c20,\n\t0x38694: 0x6cac5020, 0x38695: 0x6cac5220, 0x38696: 0x6cac5420, 0x38697: 0x6cac5620,\n\t0x38698: 0x6cac5820, 0x38699: 0x6cac5a20, 0x3869a: 0x6cdaee20, 0x3869b: 0x6d095420,\n\t0x3869c: 0x6d095620, 0x3869d: 0x6d095820, 0x3869e: 0x6d377420, 0x3869f: 0x6d377620,\n\t0x386a0: 0x6d377820, 0x386a1: 0x6d377a20, 0x386a2: 0x6d377c20, 0x386a3: 0x6d377e20,\n\t0x386a4: 0x6d63e620, 0x386a5: 0x6d63e820, 0x386a6: 0x6d63ea20, 0x386a7: 0x6d63ec20,\n\t0x386a8: 0x6d63ee20, 0x386a9: 0x6d63f020, 0x386aa: 0x6d8dce20, 0x386ab: 0x6d8dd020,\n\t0x386ac: 0x6d8dd220, 0x386ad: 0x6d8dd420, 0x386ae: 0x6d8dd620, 0x386af: 0x6e004c20,\n\t0x386b0: 0x6e004e20, 0x386b1: 0x6e005020, 0x386b2: 0x6e39c220, 0x386b3: 0x6c0a5a20,\n\t0x386b4: 0x6c0a5c20, 0x386b5: 0x6c0a5e20, 0x386b6: 0x6c14b020, 0x386b7: 0x6c14b220,\n\t0x386b8: 0x6c14b420, 0x386b9: 0x6c14b620, 0x386ba: 0x6c14b820, 0x386bb: 0x6c14ba20,\n\t0x386bc: 0x6c14bc20, 0x386bd: 0x6c14be20, 0x386be: 0x6c14c020, 0x386bf: 0x6c14c220,\n\t// Block 0xe1b, offset 0x386c0\n\t0x386c0: 0x6c14c420, 0x386c1: 0x6c266020, 0x386c2: 0x6c266220, 0x386c3: 0x6c266420,\n\t0x386c4: 0x6c266620, 0x386c5: 0x6c266820, 0x386c6: 0x6c266a20, 0x386c7: 0x6c266c20,\n\t0x386c8: 0x6c266e20, 0x386c9: 0x6c267020, 0x386ca: 0x6c267220, 0x386cb: 0x6c267420,\n\t0x386cc: 0x6c267620, 0x386cd: 0x6c267820, 0x386ce: 0x6c267a20, 0x386cf: 0x6c267c20,\n\t0x386d0: 0x6c267e20, 0x386d1: 0x6c268020, 0x386d2: 0x6c268220, 0x386d3: 0x6c3fba20,\n\t0x386d4: 0x6c3fbc20, 0x386d5: 0x6c3fbe20, 0x386d6: 0x6c3fc020, 0x386d7: 0x6c3fc220,\n\t0x386d8: 0x6c3fc420, 0x386d9: 0x6c3fc620, 0x386da: 0x6c3fc820, 0x386db: 0x6c3fca20,\n\t0x386dc: 0x6c3fcc20, 0x386dd: 0x6c3fce20, 0x386de: 0x6c3fd020, 0x386df: 0x6c3fd220,\n\t0x386e0: 0x6c3fd420, 0x386e1: 0x6c3fd620, 0x386e2: 0x6c3fd820, 0x386e3: 0x6c3fda20,\n\t0x386e4: 0x6c3fdc20, 0x386e5: 0x6c3fde20, 0x386e6: 0x6c3fe020, 0x386e7: 0x6c3fe220,\n\t0x386e8: 0x6c3fe420, 0x386e9: 0x6c3fe620, 0x386ea: 0x6c3fe820, 0x386eb: 0x6c3fea20,\n\t0x386ec: 0x6c3fec20, 0x386ed: 0x6c3fee20, 0x386ee: 0x6c3ff020, 0x386ef: 0x6c3ff220,\n\t0x386f0: 0x6c3ff420, 0x386f1: 0x6c3ff620, 0x386f2: 0x6c3ff820, 0x386f3: 0x6c3ffa20,\n\t0x386f4: 0x6c3ffc20, 0x386f5: 0x6c3ffe20, 0x386f6: 0x6c400020, 0x386f7: 0x6c5f1220,\n\t0x386f8: 0x6c5f1420, 0x386f9: 0x6c5f1620, 0x386fa: 0x6c5f1820, 0x386fb: 0x6c5f1a20,\n\t0x386fc: 0x6c5f1c20, 0x386fd: 0x6c5f1e20, 0x386fe: 0x6c5f2020, 0x386ff: 0x6c5f2220,\n\t// Block 0xe1c, offset 0x38700\n\t0x38700: 0x6c5f2420, 0x38701: 0x6c5f2620, 0x38702: 0x6c5f2820, 0x38703: 0x6c5f2a20,\n\t0x38704: 0x6c5f2c20, 0x38705: 0x6c5f2e20, 0x38706: 0x6c5f3020, 0x38707: 0x6c5f3220,\n\t0x38708: 0x6c5f3420, 0x38709: 0x6c5f3620, 0x3870a: 0x6c5f3820, 0x3870b: 0x6c5f3a20,\n\t0x3870c: 0x6c5f3c20, 0x3870d: 0x6c5f3e20, 0x3870e: 0x6c5f4020, 0x3870f: 0x6c5f4220,\n\t0x38710: 0x6c5f4420, 0x38711: 0x6c5f4620, 0x38712: 0x6c5f4820, 0x38713: 0x6c5f4a20,\n\t0x38714: 0x6c5f4c20, 0x38715: 0x6c5f4e20, 0x38716: 0x6c5f5020, 0x38717: 0x6c5f5220,\n\t0x38718: 0x6c5f5420, 0x38719: 0x6c5f5620, 0x3871a: 0x6c5f5820, 0x3871b: 0x6c5f5a20,\n\t0x3871c: 0x6c5f5c20, 0x3871d: 0x6c5f5e20, 0x3871e: 0x6c5f6020, 0x3871f: 0x6c5f6220,\n\t0x38720: 0x6c5f6420, 0x38721: 0x6c5f6620, 0x38722: 0x6c5f6820, 0x38723: 0x6c5f6a20,\n\t0x38724: 0x6c5f6c20, 0x38725: 0x6c5f6e20, 0x38726: 0x6c5f7020, 0x38727: 0x6c5f7220,\n\t0x38728: 0x6c5f7420, 0x38729: 0x6c5f7620, 0x3872a: 0x6c5f7820, 0x3872b: 0x6c5f7a20,\n\t0x3872c: 0x6c5f7c20, 0x3872d: 0x6c841e20, 0x3872e: 0x6c842020, 0x3872f: 0x6c842220,\n\t0x38730: 0x6c842420, 0x38731: 0x6c842620, 0x38732: 0x6c842820, 0x38733: 0x6c842a20,\n\t0x38734: 0x6c842c20, 0x38735: 0x6c842e20, 0x38736: 0x6c843020, 0x38737: 0x6c843220,\n\t0x38738: 0x6c843420, 0x38739: 0x6c843620, 0x3873a: 0x6c843820, 0x3873b: 0x6c843a20,\n\t0x3873c: 0x6c843c20, 0x3873d: 0x6c843e20, 0x3873e: 0x6c844020, 0x3873f: 0x6c844220,\n\t// Block 0xe1d, offset 0x38740\n\t0x38740: 0x6c844420, 0x38741: 0x6c844620, 0x38742: 0x6c844820, 0x38743: 0x6c844a20,\n\t0x38744: 0x6c844c20, 0x38745: 0x6c844e20, 0x38746: 0x6c845020, 0x38747: 0x6c845220,\n\t0x38748: 0x6c845420, 0x38749: 0x6c845620, 0x3874a: 0x6c845820, 0x3874b: 0x6c845a20,\n\t0x3874c: 0x6c845c20, 0x3874d: 0x6c845e20, 0x3874e: 0x6c846020, 0x3874f: 0x6c846220,\n\t0x38750: 0x6c846420, 0x38751: 0x6c846620, 0x38752: 0x6c846820, 0x38753: 0x6c846a20,\n\t0x38754: 0x6c846c20, 0x38755: 0x6c846e20, 0x38756: 0x6c847020, 0x38757: 0x6c847220,\n\t0x38758: 0x6c847420, 0x38759: 0x6c847620, 0x3875a: 0x6c847820, 0x3875b: 0x6c847a20,\n\t0x3875c: 0x6c847c20, 0x3875d: 0x6c847e20, 0x3875e: 0x6c848020, 0x3875f: 0x6c848220,\n\t0x38760: 0x6c848420, 0x38761: 0x6c848620, 0x38762: 0x6c848820, 0x38763: 0x6c848a20,\n\t0x38764: 0x6c848c20, 0x38765: 0x6c848e20, 0x38766: 0x6c849020, 0x38767: 0x6c849220,\n\t0x38768: 0x6c849420, 0x38769: 0x6c849620, 0x3876a: 0x6c849820, 0x3876b: 0x6c849a20,\n\t0x3876c: 0x6c849c20, 0x3876d: 0x6c849e20, 0x3876e: 0x6c84a020, 0x3876f: 0x6c84a220,\n\t0x38770: 0x6c84a420, 0x38771: 0x6c84a620, 0x38772: 0x6c84a820, 0x38773: 0x6c84aa20,\n\t0x38774: 0x6c84ac20, 0x38775: 0x6c84ae20, 0x38776: 0x6cad1020, 0x38777: 0x6cad1220,\n\t0x38778: 0x6cad1420, 0x38779: 0x6cad1620, 0x3877a: 0x6cad1820, 0x3877b: 0x6cad1a20,\n\t0x3877c: 0x6cad1c20, 0x3877d: 0x6cad1e20, 0x3877e: 0x6cad2020, 0x3877f: 0x6cad2220,\n\t// Block 0xe1e, offset 0x38780\n\t0x38780: 0x6cad2420, 0x38781: 0x6cad2620, 0x38782: 0x6cad2820, 0x38783: 0x6cad2a20,\n\t0x38784: 0x6cad2c20, 0x38785: 0x6cad2e20, 0x38786: 0x6cad3020, 0x38787: 0x6cad3220,\n\t0x38788: 0x6cad3420, 0x38789: 0x6cad3620, 0x3878a: 0x6cad3820, 0x3878b: 0x6cad3a20,\n\t0x3878c: 0x6cad3c20, 0x3878d: 0x6cad3e20, 0x3878e: 0x6cad4020, 0x3878f: 0x6cad4220,\n\t0x38790: 0x6cad4420, 0x38791: 0x6cad4620, 0x38792: 0x6cad4820, 0x38793: 0x6cad4a20,\n\t0x38794: 0x6cad4c20, 0x38795: 0x6cad4e20, 0x38796: 0x6cad5020, 0x38797: 0x6cad5220,\n\t0x38798: 0x6cad5420, 0x38799: 0x6cad5620, 0x3879a: 0x6cad5820, 0x3879b: 0x6cad5a20,\n\t0x3879c: 0x6cad5c20, 0x3879d: 0x6cad5e20, 0x3879e: 0x6cad6020, 0x3879f: 0x6cad6220,\n\t0x387a0: 0x6cad6420, 0x387a1: 0x6cad6620, 0x387a2: 0x6cad6820, 0x387a3: 0x6cad6a20,\n\t0x387a4: 0x6cad6c20, 0x387a5: 0x6cad6e20, 0x387a6: 0x6cad7020, 0x387a7: 0x6cad7220,\n\t0x387a8: 0x6cad7420, 0x387a9: 0x6cad7620, 0x387aa: 0x6cad7820, 0x387ab: 0x6cad7a20,\n\t0x387ac: 0x6cad7c20, 0x387ad: 0x6cad7e20, 0x387ae: 0x6cad8020, 0x387af: 0x6cad8220,\n\t0x387b0: 0x6cad8420, 0x387b1: 0x6cdbf020, 0x387b2: 0x6cad8620, 0x387b3: 0x6cad8820,\n\t0x387b4: 0x6cad8a20, 0x387b5: 0x6cad8c20, 0x387b6: 0x6cad8e20, 0x387b7: 0x6cad9020,\n\t0x387b8: 0x6cad9220, 0x387b9: 0x6cad9420, 0x387ba: 0x6cad9620, 0x387bb: 0x6cad9820,\n\t0x387bc: 0x6cad9a20, 0x387bd: 0x6cad9c20, 0x387be: 0x6cad9e20, 0x387bf: 0x6cada020,\n\t// Block 0xe1f, offset 0x387c0\n\t0x387c0: 0x6cada220, 0x387c1: 0x6cada420, 0x387c2: 0x6cada620, 0x387c3: 0x6cada820,\n\t0x387c4: 0x6cadaa20, 0x387c5: 0x6cadac20, 0x387c6: 0x6cadae20, 0x387c7: 0x6cadb020,\n\t0x387c8: 0x6cadb220, 0x387c9: 0x6cadb420, 0x387ca: 0x6cadb620, 0x387cb: 0x6cadb820,\n\t0x387cc: 0x6cadba20, 0x387cd: 0x6cadbc20, 0x387ce: 0x6cadbe20, 0x387cf: 0x6cadc020,\n\t0x387d0: 0x6cadc220, 0x387d1: 0x6cadc420, 0x387d2: 0x6cadc620, 0x387d3: 0x6cadc820,\n\t0x387d4: 0x6cadca20, 0x387d5: 0x6cadcc20, 0x387d6: 0x6cdbf220, 0x387d7: 0x6cadce20,\n\t0x387d8: 0x6cadd020, 0x387d9: 0x6cadd220, 0x387da: 0x6cadd420, 0x387db: 0x6cadd620,\n\t0x387dc: 0x6cadd820, 0x387dd: 0x6cadda20, 0x387de: 0x6caddc20, 0x387df: 0x6cadde20,\n\t0x387e0: 0x6cade020, 0x387e1: 0x6cade220, 0x387e2: 0x6cade420, 0x387e3: 0x6cade620,\n\t0x387e4: 0x6cade820, 0x387e5: 0x6cadea20, 0x387e6: 0x6cadec20, 0x387e7: 0x6cadee20,\n\t0x387e8: 0x6cadf020, 0x387e9: 0x6cadf220, 0x387ea: 0x6cdbf420, 0x387eb: 0x6cdbf620,\n\t0x387ec: 0x6cdbf820, 0x387ed: 0x6cdbfa20, 0x387ee: 0x6cdbfc20, 0x387ef: 0x6cdbfe20,\n\t0x387f0: 0x6cdc0020, 0x387f1: 0x6cdc0220, 0x387f2: 0x6cdc0420, 0x387f3: 0x6cdc0620,\n\t0x387f4: 0x6cdc0820, 0x387f5: 0x6cdc0a20, 0x387f6: 0x6cdc0c20, 0x387f7: 0x6cdc0e20,\n\t0x387f8: 0x6cdc1020, 0x387f9: 0x6cdc1220, 0x387fa: 0x6cdc1420, 0x387fb: 0x6cdc1620,\n\t0x387fc: 0x6cdc1820, 0x387fd: 0x6cdc1a20, 0x387fe: 0x6cdc1c20, 0x387ff: 0x6cdc1e20,\n\t// Block 0xe20, offset 0x38800\n\t0x38800: 0x6cdc2020, 0x38801: 0x6cdc2220, 0x38802: 0x6cdc2420, 0x38803: 0x6cdc2620,\n\t0x38804: 0x6cdc2820, 0x38805: 0x6cdc2a20, 0x38806: 0x6cdc2c20, 0x38807: 0x6cdc2e20,\n\t0x38808: 0x6cdc3020, 0x38809: 0x6cdc3220, 0x3880a: 0x6cdc3420, 0x3880b: 0x6cdc3620,\n\t0x3880c: 0x6cdc3820, 0x3880d: 0x6cdc3a20, 0x3880e: 0x6cdc3c20, 0x3880f: 0x6cdc3e20,\n\t0x38810: 0x6cdc4020, 0x38811: 0x6cdc4220, 0x38812: 0x6cdc4420, 0x38813: 0x6cdc4620,\n\t0x38814: 0x6cdc4820, 0x38815: 0x6cdc4a20, 0x38816: 0x6cdc4c20, 0x38817: 0x6cdc4e20,\n\t0x38818: 0x6cdc5020, 0x38819: 0x6cdc5220, 0x3881a: 0x6cdc5420, 0x3881b: 0x6cdc5620,\n\t0x3881c: 0x6cdc5820, 0x3881d: 0x6cdc5a20, 0x3881e: 0x6cdc5c20, 0x3881f: 0x6cdc5e20,\n\t0x38820: 0x6cdc6020, 0x38821: 0x6cdc6220, 0x38822: 0x6cdc6420, 0x38823: 0x6cdc6620,\n\t0x38824: 0x6cdc6820, 0x38825: 0x6cdc6a20, 0x38826: 0x6cdc6c20, 0x38827: 0x6cdc6e20,\n\t0x38828: 0x6cdc7020, 0x38829: 0x6cdc7220, 0x3882a: 0x6cdc7420, 0x3882b: 0x6cdc7620,\n\t0x3882c: 0x6cdc7820, 0x3882d: 0x6cdc7a20, 0x3882e: 0x6cdc7c20, 0x3882f: 0x6cdc7e20,\n\t0x38830: 0x6cdc8020, 0x38831: 0x6cdc8220, 0x38832: 0x6cdc8420, 0x38833: 0x6cdc8620,\n\t0x38834: 0x6cdc8820, 0x38835: 0x6cdc8a20, 0x38836: 0x6cdc8c20, 0x38837: 0x6cdc8e20,\n\t0x38838: 0x6cdc9020, 0x38839: 0x6cdc9220, 0x3883a: 0x6cdc9420, 0x3883b: 0x6cdc9620,\n\t0x3883c: 0x6cdc9820, 0x3883d: 0x6cdc9a20, 0x3883e: 0x6cdc9c20, 0x3883f: 0x6cdc9e20,\n\t// Block 0xe21, offset 0x38840\n\t0x38840: 0x6cdca020, 0x38841: 0x6cdca220, 0x38842: 0x6cdca420, 0x38843: 0x6cdca620,\n\t0x38844: 0x6cdca820, 0x38845: 0x6cdcaa20, 0x38846: 0x6cdcac20, 0x38847: 0x6cdcae20,\n\t0x38848: 0x6cdcb020, 0x38849: 0x6cdcb220, 0x3884a: 0x6cdcb420, 0x3884b: 0x6cdcb620,\n\t0x3884c: 0x6cdcb820, 0x3884d: 0x6cdcba20, 0x3884e: 0x6cdcbc20, 0x3884f: 0x6cdcbe20,\n\t0x38850: 0x6cdcc020, 0x38851: 0x6cdcc220, 0x38852: 0x6cdcc420, 0x38853: 0x6cdcc620,\n\t0x38854: 0x6cdcc820, 0x38855: 0x6cdcca20, 0x38856: 0x6cdccc20, 0x38857: 0x6cdcce20,\n\t0x38858: 0x6cdcd020, 0x38859: 0x6cdcd220, 0x3885a: 0x6cdcd420, 0x3885b: 0x6cdcd620,\n\t0x3885c: 0x6cdcd820, 0x3885d: 0x6cdcda20, 0x3885e: 0x6cdcdc20, 0x3885f: 0x6cdcde20,\n\t0x38860: 0x6cdce020, 0x38861: 0x6cdce220, 0x38862: 0x6cdce420, 0x38863: 0x6cdce620,\n\t0x38864: 0x6cdce820, 0x38865: 0x6cdcea20, 0x38866: 0x6cdcec20, 0x38867: 0x6cdcee20,\n\t0x38868: 0x6cdcf020, 0x38869: 0x6cdcf220, 0x3886a: 0x6cdcf420, 0x3886b: 0x6cdcf620,\n\t0x3886c: 0x6cdcf820, 0x3886d: 0x6cdcfa20, 0x3886e: 0x6cdcfc20, 0x3886f: 0x6cdcfe20,\n\t0x38870: 0x6cdd0020, 0x38871: 0x6cdd0220, 0x38872: 0x6cdd0420, 0x38873: 0x6cdd0620,\n\t0x38874: 0x6cdd0820, 0x38875: 0x6cdd0a20, 0x38876: 0x6cdd0c20, 0x38877: 0x6cdd0e20,\n\t0x38878: 0x6cdd1020, 0x38879: 0x6cdd1220, 0x3887a: 0x6cdd1420, 0x3887b: 0x6cdd1620,\n\t0x3887c: 0x6cdd1820, 0x3887d: 0x6cdd1a20, 0x3887e: 0x6cdd1c20, 0x3887f: 0x6cdd1e20,\n\t// Block 0xe22, offset 0x38880\n\t0x38880: 0x6cdd2020, 0x38881: 0x6d0a5020, 0x38882: 0x6d0a5220, 0x38883: 0x6d0a5420,\n\t0x38884: 0x6d0a5620, 0x38885: 0x6d0a5820, 0x38886: 0x6d0a5a20, 0x38887: 0x6d0a5c20,\n\t0x38888: 0x6d0a5e20, 0x38889: 0x6d0a6020, 0x3888a: 0x6d0a6220, 0x3888b: 0x6d0a6420,\n\t0x3888c: 0x6d0a6620, 0x3888d: 0x6d0a6820, 0x3888e: 0x6d0a6a20, 0x3888f: 0x6d0a6c20,\n\t0x38890: 0x6d0a6e20, 0x38891: 0x6d0a7020, 0x38892: 0x6d0a7220, 0x38893: 0x6d0a7420,\n\t0x38894: 0x6d0a7620, 0x38895: 0x6d0a7820, 0x38896: 0x6d0a7a20, 0x38897: 0x6d0a7c20,\n\t0x38898: 0x6d0a7e20, 0x38899: 0x6d0a8020, 0x3889a: 0x6d0a8220, 0x3889b: 0x6d0a8420,\n\t0x3889c: 0x6d0a8620, 0x3889d: 0x6d0a8820, 0x3889e: 0x6d0a8a20, 0x3889f: 0x6d0a8c20,\n\t0x388a0: 0x6d0a8e20, 0x388a1: 0x6d0a9020, 0x388a2: 0x6d0a9220, 0x388a3: 0x6d0a9420,\n\t0x388a4: 0x6d0a9620, 0x388a5: 0x6d0a9820, 0x388a6: 0x6d0a9a20, 0x388a7: 0x6d0a9c20,\n\t0x388a8: 0x6d0a9e20, 0x388a9: 0x6d0aa020, 0x388aa: 0x6d0aa220, 0x388ab: 0x6d0aa420,\n\t0x388ac: 0x6d0aa620, 0x388ad: 0x6d0aa820, 0x388ae: 0x6d0aaa20, 0x388af: 0x6d0aac20,\n\t0x388b0: 0x6d0aae20, 0x388b1: 0x6d0ab020, 0x388b2: 0x6d0ab220, 0x388b3: 0x6d0ab420,\n\t0x388b4: 0x6d0ab620, 0x388b5: 0x6d0ab820, 0x388b6: 0x6d0aba20, 0x388b7: 0x6d0abc20,\n\t0x388b8: 0x6d0abe20, 0x388b9: 0x6d0ac020, 0x388ba: 0x6d0ac220, 0x388bb: 0x6d0ac420,\n\t0x388bc: 0x6d0ac620, 0x388bd: 0x6d0ac820, 0x388be: 0x6d0aca20, 0x388bf: 0x6d0acc20,\n\t// Block 0xe23, offset 0x388c0\n\t0x388c0: 0x6d0ace20, 0x388c1: 0x6d0ad020, 0x388c2: 0x6d0ad220, 0x388c3: 0x6d0ad420,\n\t0x388c4: 0x6d0ad620, 0x388c5: 0x6d0ad820, 0x388c6: 0x6d0ada20, 0x388c7: 0x6d0adc20,\n\t0x388c8: 0x6d0ade20, 0x388c9: 0x6d0ae020, 0x388ca: 0x6d0ae220, 0x388cb: 0x6d0ae420,\n\t0x388cc: 0x6d0ae620, 0x388cd: 0x6d0ae820, 0x388ce: 0x6d0aea20, 0x388cf: 0x6d0aec20,\n\t0x388d0: 0x6d0aee20, 0x388d1: 0x6d0af020, 0x388d2: 0x6d0af220, 0x388d3: 0x6d0af420,\n\t0x388d4: 0x6d0af620, 0x388d5: 0x6d0af820, 0x388d6: 0x6d0afa20, 0x388d7: 0x6d0afc20,\n\t0x388d8: 0x6d0afe20, 0x388d9: 0x6d0b0020, 0x388da: 0x6d0b0220, 0x388db: 0x6d0b0420,\n\t0x388dc: 0x6d0b0620, 0x388dd: 0x6d0b0820, 0x388de: 0x6d0b0a20, 0x388df: 0x6d0b0c20,\n\t0x388e0: 0x6d0b0e20, 0x388e1: 0x6d0b1020, 0x388e2: 0x6d0b1220, 0x388e3: 0x6d0b1420,\n\t0x388e4: 0x6d0b1620, 0x388e5: 0x6d0b1820, 0x388e6: 0x6d0b1a20, 0x388e7: 0x6d0b1c20,\n\t0x388e8: 0x6d0b1e20, 0x388e9: 0x6d0b2020, 0x388ea: 0x6d0b2220, 0x388eb: 0x6d0b2420,\n\t0x388ec: 0x6d0b2620, 0x388ed: 0x6d0b2820, 0x388ee: 0x6d0b2a20, 0x388ef: 0x6d0b2c20,\n\t0x388f0: 0x6d0b2e20, 0x388f1: 0x6d0b3020, 0x388f2: 0x6d0b3220, 0x388f3: 0x6d0b3420,\n\t0x388f4: 0x6d0b3620, 0x388f5: 0x6d0b3820, 0x388f6: 0x6cfba420, 0x388f7: 0x6d0b3a20,\n\t0x388f8: 0x6d0b3c20, 0x388f9: 0x6d0b3e20, 0x388fa: 0x6d0b4020, 0x388fb: 0x6d0b4220,\n\t0x388fc: 0x6d0b4420, 0x388fd: 0x6d0b4620, 0x388fe: 0x6d0b4820, 0x388ff: 0x6d0b4a20,\n\t// Block 0xe24, offset 0x38900\n\t0x38900: 0x6d0b4c20, 0x38901: 0x6d0b4e20, 0x38902: 0x6d0b5020, 0x38903: 0x6d0b5220,\n\t0x38904: 0x6d0b5420, 0x38905: 0x6d0b5620, 0x38906: 0x6d0b5820, 0x38907: 0x6d385420,\n\t0x38908: 0x6d0b5a20, 0x38909: 0x6d0b5c20, 0x3890a: 0x6d0b5e20, 0x3890b: 0x6d0b6020,\n\t0x3890c: 0x6d0b6220, 0x3890d: 0x6d0b6420, 0x3890e: 0x6d0b6620, 0x3890f: 0x6d0b6820,\n\t0x38910: 0x6d0b6a20, 0x38911: 0x6d0b6c20, 0x38912: 0x6d0b6e20, 0x38913: 0x6d0b7020,\n\t0x38914: 0x6d0b7220, 0x38915: 0x6d0b7420, 0x38916: 0x6d0b7620, 0x38917: 0x6d0b7820,\n\t0x38918: 0x6d0b7a20, 0x38919: 0x6d0b7c20, 0x3891a: 0x6d0b7e20, 0x3891b: 0x6d0b8020,\n\t0x3891c: 0x6d0b8220, 0x3891d: 0x6d0b8420, 0x3891e: 0x6d0b8620, 0x3891f: 0x6d0b8820,\n\t0x38920: 0x6d0b8a20, 0x38921: 0x6d385620, 0x38922: 0x6d385820, 0x38923: 0x6d385a20,\n\t0x38924: 0x6d385c20, 0x38925: 0x6d385e20, 0x38926: 0x6d386020, 0x38927: 0x6d386220,\n\t0x38928: 0x6d386420, 0x38929: 0x6d386620, 0x3892a: 0x6d386820, 0x3892b: 0x6d386a20,\n\t0x3892c: 0x6d386c20, 0x3892d: 0x6d386e20, 0x3892e: 0x6d387020, 0x3892f: 0x6d387220,\n\t0x38930: 0x6d387420, 0x38931: 0x6d387620, 0x38932: 0x6d387820, 0x38933: 0x6d387a20,\n\t0x38934: 0x6d387c20, 0x38935: 0x6d387e20, 0x38936: 0x6d388020, 0x38937: 0x6d388220,\n\t0x38938: 0x6d388420, 0x38939: 0x6d388620, 0x3893a: 0x6d388820, 0x3893b: 0x6d388a20,\n\t0x3893c: 0x6d388c20, 0x3893d: 0x6d388e20, 0x3893e: 0x6d389020, 0x3893f: 0x6d389220,\n\t// Block 0xe25, offset 0x38940\n\t0x38940: 0x6d389420, 0x38941: 0x6d389620, 0x38942: 0x6d389820, 0x38943: 0x6d389a20,\n\t0x38944: 0x6d389c20, 0x38945: 0x6d389e20, 0x38946: 0x6d38a020, 0x38947: 0x6d38a220,\n\t0x38948: 0x6d38a420, 0x38949: 0x6d38a620, 0x3894a: 0x6d38a820, 0x3894b: 0x6d38aa20,\n\t0x3894c: 0x6d38ac20, 0x3894d: 0x6d38ae20, 0x3894e: 0x6d38b020, 0x3894f: 0x6d38b220,\n\t0x38950: 0x6d38b420, 0x38951: 0x6d38b620, 0x38952: 0x6d38b820, 0x38953: 0x6d38ba20,\n\t0x38954: 0x6d38bc20, 0x38955: 0x6d38be20, 0x38956: 0x6d38c020, 0x38957: 0x6d38c220,\n\t0x38958: 0x6d38c420, 0x38959: 0x6d38c620, 0x3895a: 0x6d38c820, 0x3895b: 0x6d38ca20,\n\t0x3895c: 0x6d38cc20, 0x3895d: 0x6d38ce20, 0x3895e: 0x6d38d020, 0x3895f: 0x6d38d220,\n\t0x38960: 0x6d38d420, 0x38961: 0x6d38d620, 0x38962: 0x6d38d820, 0x38963: 0x6d38da20,\n\t0x38964: 0x6d38dc20, 0x38965: 0x6d38de20, 0x38966: 0x6d38e020, 0x38967: 0x6d38e220,\n\t0x38968: 0x6d38e420, 0x38969: 0x6d38e620, 0x3896a: 0x6d38e820, 0x3896b: 0x6d38ea20,\n\t0x3896c: 0x6d38ec20, 0x3896d: 0x6d38ee20, 0x3896e: 0x6d38f020, 0x3896f: 0x6d38f220,\n\t0x38970: 0x6d38f420, 0x38971: 0x6d38f620, 0x38972: 0x6d38f820, 0x38973: 0x6d38fa20,\n\t0x38974: 0x6d38fc20, 0x38975: 0x6d38fe20, 0x38976: 0x6d390020, 0x38977: 0x6d390220,\n\t0x38978: 0x6d390420, 0x38979: 0x6d390620, 0x3897a: 0x6d390820, 0x3897b: 0x6d390a20,\n\t0x3897c: 0x6d390c20, 0x3897d: 0x6d390e20, 0x3897e: 0x6d391020, 0x3897f: 0x6d391220,\n\t// Block 0xe26, offset 0x38980\n\t0x38980: 0x6d391420, 0x38981: 0x6d391620, 0x38982: 0x6d391820, 0x38983: 0x6d391a20,\n\t0x38984: 0x6d391c20, 0x38985: 0x6d391e20, 0x38986: 0x6d392020, 0x38987: 0x6d392220,\n\t0x38988: 0x6d392420, 0x38989: 0x6d392620, 0x3898a: 0x6d392820, 0x3898b: 0x6d392a20,\n\t0x3898c: 0x6d392c20, 0x3898d: 0x6d392e20, 0x3898e: 0x6d393020, 0x3898f: 0x6d393220,\n\t0x38990: 0x6d393420, 0x38991: 0x6d393620, 0x38992: 0x6d393820, 0x38993: 0x6d393a20,\n\t0x38994: 0x6d393c20, 0x38995: 0x6d393e20, 0x38996: 0x6d394020, 0x38997: 0x6d394220,\n\t0x38998: 0x6d394420, 0x38999: 0x6d394620, 0x3899a: 0x6d394820, 0x3899b: 0x6d394a20,\n\t0x3899c: 0x6d394c20, 0x3899d: 0x6d394e20, 0x3899e: 0x6d395020, 0x3899f: 0x6d395220,\n\t0x389a0: 0x6d395420, 0x389a1: 0x6d395620, 0x389a2: 0x6d395820, 0x389a3: 0x6d395a20,\n\t0x389a4: 0x6d395c20, 0x389a5: 0x6d395e20, 0x389a6: 0x6d396020, 0x389a7: 0x6d396220,\n\t0x389a8: 0x6d396420, 0x389a9: 0x6d396620, 0x389aa: 0x6d396820, 0x389ab: 0x6d396a20,\n\t0x389ac: 0x6d396c20, 0x389ad: 0x6d396e20, 0x389ae: 0x6d397020, 0x389af: 0x6d397220,\n\t0x389b0: 0x6d397420, 0x389b1: 0x6d397620, 0x389b2: 0x6d397820, 0x389b3: 0x6d397a20,\n\t0x389b4: 0x6d397c20, 0x389b5: 0x6d397e20, 0x389b6: 0x6d398020, 0x389b7: 0x6d398220,\n\t0x389b8: 0x6d398420, 0x389b9: 0x6d398620, 0x389ba: 0x6d398820, 0x389bb: 0x6d398a20,\n\t0x389bc: 0x6d398c20, 0x389bd: 0x6d398e20, 0x389be: 0x6d399020, 0x389bf: 0x6d64ba20,\n\t// Block 0xe27, offset 0x389c0\n\t0x389c0: 0x6d64bc20, 0x389c1: 0x6d64be20, 0x389c2: 0x6d64c020, 0x389c3: 0x6d64c220,\n\t0x389c4: 0x6d64c420, 0x389c5: 0x6d64c620, 0x389c6: 0x6d64c820, 0x389c7: 0x6d64ca20,\n\t0x389c8: 0x6d64cc20, 0x389c9: 0x6d64ce20, 0x389ca: 0x6d64d020, 0x389cb: 0x6d64d220,\n\t0x389cc: 0x6d64d420, 0x389cd: 0x6d64d620, 0x389ce: 0x6d64d820, 0x389cf: 0x6d64da20,\n\t0x389d0: 0x6d64dc20, 0x389d1: 0x6d64de20, 0x389d2: 0x6d64e020, 0x389d3: 0x6d64e220,\n\t0x389d4: 0x6d64e420, 0x389d5: 0x6d64e620, 0x389d6: 0x6d64e820, 0x389d7: 0x6d64ea20,\n\t0x389d8: 0x6d64ec20, 0x389d9: 0x6d64ee20, 0x389da: 0x6d64f020, 0x389db: 0x6d64f220,\n\t0x389dc: 0x6d64f420, 0x389dd: 0x6d64f620, 0x389de: 0x6d64f820, 0x389df: 0x6d64fa20,\n\t0x389e0: 0x6d64fc20, 0x389e1: 0x6d64fe20, 0x389e2: 0x6d650020, 0x389e3: 0x6d650220,\n\t0x389e4: 0x6d650420, 0x389e5: 0x6d650620, 0x389e6: 0x6d650820, 0x389e7: 0x6d650a20,\n\t0x389e8: 0x6d650c20, 0x389e9: 0x6d650e20, 0x389ea: 0x6d651020, 0x389eb: 0x6d651220,\n\t0x389ec: 0x6d651420, 0x389ed: 0x6d651620, 0x389ee: 0x6d651820, 0x389ef: 0x6d651a20,\n\t0x389f0: 0x6d651c20, 0x389f1: 0x6d651e20, 0x389f2: 0x6d652020, 0x389f3: 0x6d652220,\n\t0x389f4: 0x6d652420, 0x389f5: 0x6d652620, 0x389f6: 0x6d652820, 0x389f7: 0x6d652a20,\n\t0x389f8: 0x6d652c20, 0x389f9: 0x6d652e20, 0x389fa: 0x6d653020, 0x389fb: 0x6d653220,\n\t0x389fc: 0x6d653420, 0x389fd: 0x6d8e6c20, 0x389fe: 0x6d653620, 0x389ff: 0x6d653820,\n\t// Block 0xe28, offset 0x38a00\n\t0x38a00: 0x6d653a20, 0x38a01: 0x6d653c20, 0x38a02: 0x6d653e20, 0x38a03: 0x6d654020,\n\t0x38a04: 0x6d654220, 0x38a05: 0x6d654420, 0x38a06: 0x6d654620, 0x38a07: 0x6d654820,\n\t0x38a08: 0x6d654a20, 0x38a09: 0x6d654c20, 0x38a0a: 0x6d654e20, 0x38a0b: 0x6d655020,\n\t0x38a0c: 0x6d655220, 0x38a0d: 0x6d655420, 0x38a0e: 0x6d655620, 0x38a0f: 0x6d655820,\n\t0x38a10: 0x6d655a20, 0x38a11: 0x6d655c20, 0x38a12: 0x6d655e20, 0x38a13: 0x6d656020,\n\t0x38a14: 0x6d656220, 0x38a15: 0x6d656420, 0x38a16: 0x6d656620, 0x38a17: 0x6d656820,\n\t0x38a18: 0x6d656a20, 0x38a19: 0x6d656c20, 0x38a1a: 0x6d656e20, 0x38a1b: 0x6d657020,\n\t0x38a1c: 0x6d657220, 0x38a1d: 0x6d657420, 0x38a1e: 0x6d657620, 0x38a1f: 0x6d657820,\n\t0x38a20: 0x6d657a20, 0x38a21: 0x6d657c20, 0x38a22: 0x6d657e20, 0x38a23: 0x6d658020,\n\t0x38a24: 0x6d658220, 0x38a25: 0x6d658420, 0x38a26: 0x6d658620, 0x38a27: 0x6d658820,\n\t0x38a28: 0x6d658a20, 0x38a29: 0x6d658c20, 0x38a2a: 0x6d658e20, 0x38a2b: 0x6d659020,\n\t0x38a2c: 0x6d659220, 0x38a2d: 0x6d659420, 0x38a2e: 0x6d659620, 0x38a2f: 0x6d659820,\n\t0x38a30: 0x6d659a20, 0x38a31: 0x6d659c20, 0x38a32: 0x6d659e20, 0x38a33: 0x6d65a020,\n\t0x38a34: 0x6d65a220, 0x38a35: 0x6d65a420, 0x38a36: 0x6d65a620, 0x38a37: 0x6d65a820,\n\t0x38a38: 0x6d65aa20, 0x38a39: 0x6d65ac20, 0x38a3a: 0x6d65ae20, 0x38a3b: 0x6d65b020,\n\t0x38a3c: 0x6d65b220, 0x38a3d: 0x6d65b420, 0x38a3e: 0x6d65b620, 0x38a3f: 0x6d65b820,\n\t// Block 0xe29, offset 0x38a40\n\t0x38a40: 0x6d65ba20, 0x38a41: 0x6d65bc20, 0x38a42: 0x6d65be20, 0x38a43: 0x6d65c020,\n\t0x38a44: 0x6d65c220, 0x38a45: 0x6e454c20, 0x38a46: 0x6d8e6e20, 0x38a47: 0x6d8e7020,\n\t0x38a48: 0x6d8e7220, 0x38a49: 0x6d8e7420, 0x38a4a: 0x6d8e7620, 0x38a4b: 0x6d8e7820,\n\t0x38a4c: 0x6d8e7a20, 0x38a4d: 0x6d8e7c20, 0x38a4e: 0x6d8e7e20, 0x38a4f: 0x6d8e8020,\n\t0x38a50: 0x6d8e8220, 0x38a51: 0x6d8e8420, 0x38a52: 0x6d8e8620, 0x38a53: 0x6d8e8820,\n\t0x38a54: 0x6d8e8a20, 0x38a55: 0x6d8e8c20, 0x38a56: 0x6d8e8e20, 0x38a57: 0x6d8e9020,\n\t0x38a58: 0x6d8e9220, 0x38a59: 0x6d8e9420, 0x38a5a: 0x6d8e9620, 0x38a5b: 0x6d8e9820,\n\t0x38a5c: 0x6d8e9a20, 0x38a5d: 0x6d8e9c20, 0x38a5e: 0x6d8e9e20, 0x38a5f: 0x6d8ea020,\n\t0x38a60: 0x6d8ea220, 0x38a61: 0x6d8ea420, 0x38a62: 0x6d8ea620, 0x38a63: 0x6d8ea820,\n\t0x38a64: 0x6d8eaa20, 0x38a65: 0x6d8eac20, 0x38a66: 0x6d8eae20, 0x38a67: 0x6d8eb020,\n\t0x38a68: 0x6d8eb220, 0x38a69: 0x6d8eb420, 0x38a6a: 0x6d8eb620, 0x38a6b: 0x6d8eb820,\n\t0x38a6c: 0x6d8eba20, 0x38a6d: 0x6d8ebc20, 0x38a6e: 0x6d8ebe20, 0x38a6f: 0x6d8ec020,\n\t0x38a70: 0x6d8ec220, 0x38a71: 0x6d8ec420, 0x38a72: 0x6d8ec620, 0x38a73: 0x6d8ec820,\n\t0x38a74: 0x6d8eca20, 0x38a75: 0x6d8ecc20, 0x38a76: 0x6d8ece20, 0x38a77: 0x6d8ed020,\n\t0x38a78: 0x6d8ed220, 0x38a79: 0x6d8ed420, 0x38a7a: 0x6d8ed620, 0x38a7b: 0x6d8ed820,\n\t0x38a7c: 0x6d8eda20, 0x38a7d: 0x6d8edc20, 0x38a7e: 0x6d8ede20, 0x38a7f: 0x6d8ee020,\n\t// Block 0xe2a, offset 0x38a80\n\t0x38a80: 0x6d8ee220, 0x38a81: 0x6d8ee420, 0x38a82: 0x6d8ee620, 0x38a83: 0x6d8ee820,\n\t0x38a84: 0x6d8eea20, 0x38a85: 0x6d8eec20, 0x38a86: 0x6d8eee20, 0x38a87: 0x6dc5f420,\n\t0x38a88: 0x6d8ef020, 0x38a89: 0x6d8ef220, 0x38a8a: 0x6d8ef420, 0x38a8b: 0x6d8ef620,\n\t0x38a8c: 0x6d8ef820, 0x38a8d: 0x6d8efa20, 0x38a8e: 0x6d8efc20, 0x38a8f: 0x6d8efe20,\n\t0x38a90: 0x6d8f0020, 0x38a91: 0x6d8f0220, 0x38a92: 0x6d8f0420, 0x38a93: 0x6d8f0620,\n\t0x38a94: 0x6d8f0820, 0x38a95: 0x6d8f0a20, 0x38a96: 0x6d8f0c20, 0x38a97: 0x6d8f0e20,\n\t0x38a98: 0x6d8f1020, 0x38a99: 0x6d8f1220, 0x38a9a: 0x6d8f1420, 0x38a9b: 0x6d8f1620,\n\t0x38a9c: 0x6d8f1820, 0x38a9d: 0x6d8f1a20, 0x38a9e: 0x6d8f1c20, 0x38a9f: 0x6d8f1e20,\n\t0x38aa0: 0x6d8f2020, 0x38aa1: 0x6d8f2220, 0x38aa2: 0x6d8f2420, 0x38aa3: 0x6d8f2620,\n\t0x38aa4: 0x6d8f2820, 0x38aa5: 0x6d8f2a20, 0x38aa6: 0x6d8f2c20, 0x38aa7: 0x6d8f2e20,\n\t0x38aa8: 0x6d8f3020, 0x38aa9: 0x6d8f3220, 0x38aaa: 0x6d8f3420, 0x38aab: 0x6d8f3620,\n\t0x38aac: 0x6d8f3820, 0x38aad: 0x6d8f3a20, 0x38aae: 0x6d8f3c20, 0x38aaf: 0x6d8f3e20,\n\t0x38ab0: 0x6d8f4020, 0x38ab1: 0x6d8f4220, 0x38ab2: 0x6d8f4420, 0x38ab3: 0x6d8f4620,\n\t0x38ab4: 0x6d8f4820, 0x38ab5: 0x6d8f4a20, 0x38ab6: 0x6d8f4c20, 0x38ab7: 0x6d8f4e20,\n\t0x38ab8: 0x6d8f5020, 0x38ab9: 0x6d8f5220, 0x38aba: 0x6d8f5420, 0x38abb: 0x6d8f5620,\n\t0x38abc: 0x6d8f5820, 0x38abd: 0x6d8f5a20, 0x38abe: 0x6db26e20, 0x38abf: 0x6d8f5c20,\n\t// Block 0xe2b, offset 0x38ac0\n\t0x38ac0: 0x6d8f5e20, 0x38ac1: 0x6d8f6020, 0x38ac2: 0x6d8f6220, 0x38ac3: 0x6d8f6420,\n\t0x38ac4: 0x6d8f6620, 0x38ac5: 0x6d8f6820, 0x38ac6: 0x6d8f6a20, 0x38ac7: 0x6d8f6c20,\n\t0x38ac8: 0x6d8f6e20, 0x38ac9: 0x6d8f7020, 0x38aca: 0x6d8f7220, 0x38acb: 0x6d8f7420,\n\t0x38acc: 0x6d8f7620, 0x38acd: 0x6d8f7820, 0x38ace: 0x6d8f7a20, 0x38acf: 0x6d8f7c20,\n\t0x38ad0: 0x6d8f7e20, 0x38ad1: 0x6d8f8020, 0x38ad2: 0x6d8f8220, 0x38ad3: 0x6d8f8420,\n\t0x38ad4: 0x6d8f8620, 0x38ad5: 0x6d8f8820, 0x38ad6: 0x6d8f8a20, 0x38ad7: 0x6d8f8c20,\n\t0x38ad8: 0x6d8f8e20, 0x38ad9: 0x6d8f9020, 0x38ada: 0x6d8f9220, 0x38adb: 0x6d8f9420,\n\t0x38adc: 0x6d8f9620, 0x38add: 0x6d8f9820, 0x38ade: 0x6d8f9a20, 0x38adf: 0x6d8f9c20,\n\t0x38ae0: 0x6d8f9e20, 0x38ae1: 0x6d8fa020, 0x38ae2: 0x6d8fa220, 0x38ae3: 0x6d8fa420,\n\t0x38ae4: 0x6d8fa620, 0x38ae5: 0x6d8fa820, 0x38ae6: 0x6d8faa20, 0x38ae7: 0x6d8fac20,\n\t0x38ae8: 0x6d8fae20, 0x38ae9: 0x6db27020, 0x38aea: 0x6db27220, 0x38aeb: 0x6db27420,\n\t0x38aec: 0x6db27620, 0x38aed: 0x6db27820, 0x38aee: 0x6db27a20, 0x38aef: 0x6db27c20,\n\t0x38af0: 0x6db27e20, 0x38af1: 0x6db28020, 0x38af2: 0x6db28220, 0x38af3: 0x6db28420,\n\t0x38af4: 0x6db28620, 0x38af5: 0x6db28820, 0x38af6: 0x6db28a20, 0x38af7: 0x6db28c20,\n\t0x38af8: 0x6db28e20, 0x38af9: 0x6db29020, 0x38afa: 0x6db29220, 0x38afb: 0x6db29420,\n\t0x38afc: 0x6db29620, 0x38afd: 0x6db29820, 0x38afe: 0x6db29a20, 0x38aff: 0x6db29c20,\n\t// Block 0xe2c, offset 0x38b00\n\t0x38b00: 0x6db29e20, 0x38b01: 0x6db2a020, 0x38b02: 0x6db2a220, 0x38b03: 0x6db2a420,\n\t0x38b04: 0x6db2a620, 0x38b05: 0x6db2a820, 0x38b06: 0x6db2aa20, 0x38b07: 0x6db2ac20,\n\t0x38b08: 0x6db2ae20, 0x38b09: 0x6db2b020, 0x38b0a: 0x6db2b220, 0x38b0b: 0x6db2b420,\n\t0x38b0c: 0x6db2b620, 0x38b0d: 0x6db2b820, 0x38b0e: 0x6db2ba20, 0x38b0f: 0x6db2bc20,\n\t0x38b10: 0x6db2be20, 0x38b11: 0x6db2c020, 0x38b12: 0x6db2c220, 0x38b13: 0x6db2c420,\n\t0x38b14: 0x6db2c620, 0x38b15: 0x6db2c820, 0x38b16: 0x6db2ca20, 0x38b17: 0x6db2cc20,\n\t0x38b18: 0x6db2ce20, 0x38b19: 0x6db2d020, 0x38b1a: 0x6db2d220, 0x38b1b: 0x6db2d420,\n\t0x38b1c: 0x6db2d620, 0x38b1d: 0x6db2d820, 0x38b1e: 0x6db2da20, 0x38b1f: 0x6db2dc20,\n\t0x38b20: 0x6db2de20, 0x38b21: 0x6db2e020, 0x38b22: 0x6db2e220, 0x38b23: 0x6db2e420,\n\t0x38b24: 0x6db2e620, 0x38b25: 0x6db2e820, 0x38b26: 0x6db2ea20, 0x38b27: 0x6db2ec20,\n\t0x38b28: 0x6db2ee20, 0x38b29: 0x6db2f020, 0x38b2a: 0x6db2f220, 0x38b2b: 0x6db2f420,\n\t0x38b2c: 0x6db2f620, 0x38b2d: 0x6d8fb020, 0x38b2e: 0x6db2f820, 0x38b2f: 0x6db2fa20,\n\t0x38b30: 0x6db2fc20, 0x38b31: 0x6db2fe20, 0x38b32: 0x6db30020, 0x38b33: 0x6db30220,\n\t0x38b34: 0x6db30420, 0x38b35: 0x6db30620, 0x38b36: 0x6db30820, 0x38b37: 0x6db30a20,\n\t0x38b38: 0x6db30c20, 0x38b39: 0x6db30e20, 0x38b3a: 0x6db31020, 0x38b3b: 0x6db31220,\n\t0x38b3c: 0x6db31420, 0x38b3d: 0x6db31620, 0x38b3e: 0x6db31820, 0x38b3f: 0x6db31a20,\n\t// Block 0xe2d, offset 0x38b40\n\t0x38b40: 0x6db31c20, 0x38b41: 0x6db31e20, 0x38b42: 0x6db32020, 0x38b43: 0x6db32220,\n\t0x38b44: 0x6db32420, 0x38b45: 0x6db32620, 0x38b46: 0x6db32820, 0x38b47: 0x6db32a20,\n\t0x38b48: 0x6db32c20, 0x38b49: 0x6db32e20, 0x38b4a: 0x6db33020, 0x38b4b: 0x6db33220,\n\t0x38b4c: 0x6db33420, 0x38b4d: 0x6db33620, 0x38b4e: 0x6db33820, 0x38b4f: 0x6db33a20,\n\t0x38b50: 0x6db33c20, 0x38b51: 0x6db33e20, 0x38b52: 0x6db34020, 0x38b53: 0x6db34220,\n\t0x38b54: 0x6db34420, 0x38b55: 0x6db34620, 0x38b56: 0x6db34820, 0x38b57: 0x6db34a20,\n\t0x38b58: 0x6db34c20, 0x38b59: 0x6db34e20, 0x38b5a: 0x6db35020, 0x38b5b: 0x6db35220,\n\t0x38b5c: 0x6db35420, 0x38b5d: 0x6db35620, 0x38b5e: 0x6db35820, 0x38b5f: 0x6db35a20,\n\t0x38b60: 0x6db35c20, 0x38b61: 0x6db35e20, 0x38b62: 0x6db36020, 0x38b63: 0x6db36220,\n\t0x38b64: 0x6db36420, 0x38b65: 0x6db36620, 0x38b66: 0x6db36820, 0x38b67: 0x6db36a20,\n\t0x38b68: 0x6db36c20, 0x38b69: 0x6db36e20, 0x38b6a: 0x6dd19420, 0x38b6b: 0x6dd19620,\n\t0x38b6c: 0x6dd19820, 0x38b6d: 0x6dd19a20, 0x38b6e: 0x6dd19c20, 0x38b6f: 0x6dd19e20,\n\t0x38b70: 0x6dd1a020, 0x38b71: 0x6dd1a220, 0x38b72: 0x6dd1a420, 0x38b73: 0x6dd1a620,\n\t0x38b74: 0x6dd1a820, 0x38b75: 0x6dd1aa20, 0x38b76: 0x6dd1ac20, 0x38b77: 0x6dd1ae20,\n\t0x38b78: 0x6dd1b020, 0x38b79: 0x6dd1b220, 0x38b7a: 0x6dd1b420, 0x38b7b: 0x6dd1b620,\n\t0x38b7c: 0x6dd1b820, 0x38b7d: 0x6dd1ba20, 0x38b7e: 0x6dd1bc20, 0x38b7f: 0x6dd1be20,\n\t// Block 0xe2e, offset 0x38b80\n\t0x38b80: 0x6dd1c020, 0x38b81: 0x6dd1c220, 0x38b82: 0x6dd1c420, 0x38b83: 0x6dd1c620,\n\t0x38b84: 0x6dd1c820, 0x38b85: 0x6dd1ca20, 0x38b86: 0x6dd1cc20, 0x38b87: 0x6dd1ce20,\n\t0x38b88: 0x6dd1d020, 0x38b89: 0x6dd1d220, 0x38b8a: 0x6dd1d420, 0x38b8b: 0x6dd1d620,\n\t0x38b8c: 0x6dd1d820, 0x38b8d: 0x6dd1da20, 0x38b8e: 0x6dd1dc20, 0x38b8f: 0x6dd1de20,\n\t0x38b90: 0x6dd1e020, 0x38b91: 0x6dd1e220, 0x38b92: 0x6dd1e420, 0x38b93: 0x6dd1e620,\n\t0x38b94: 0x6deb0220, 0x38b95: 0x6deb0420, 0x38b96: 0x6dd1e820, 0x38b97: 0x6dd1ea20,\n\t0x38b98: 0x6dd1ec20, 0x38b99: 0x6dd1ee20, 0x38b9a: 0x6dd1f020, 0x38b9b: 0x6dd1f220,\n\t0x38b9c: 0x6dd1f420, 0x38b9d: 0x6deb0620, 0x38b9e: 0x6dd1f620, 0x38b9f: 0x6dd1f820,\n\t0x38ba0: 0x6dd1fa20, 0x38ba1: 0x6db37020, 0x38ba2: 0x6dd1fc20, 0x38ba3: 0x6dd1fe20,\n\t0x38ba4: 0x6dd20020, 0x38ba5: 0x6dd20220, 0x38ba6: 0x6dd20420, 0x38ba7: 0x6dd20620,\n\t0x38ba8: 0x6dd20820, 0x38ba9: 0x6dd20a20, 0x38baa: 0x6dd20c20, 0x38bab: 0x6dd20e20,\n\t0x38bac: 0x6dd21020, 0x38bad: 0x6dd21220, 0x38bae: 0x6dd21420, 0x38baf: 0x6dd21620,\n\t0x38bb0: 0x6dd21820, 0x38bb1: 0x6dd21a20, 0x38bb2: 0x6dd21c20, 0x38bb3: 0x6dd21e20,\n\t0x38bb4: 0x6dd22020, 0x38bb5: 0x6dd22220, 0x38bb6: 0x6dd22420, 0x38bb7: 0x6dd22620,\n\t0x38bb8: 0x6db37220, 0x38bb9: 0x6dd22820, 0x38bba: 0x6dd22a20, 0x38bbb: 0x6dd22c20,\n\t0x38bbc: 0x6dd22e20, 0x38bbd: 0x6dd23020, 0x38bbe: 0x6dd23220, 0x38bbf: 0x6dd23420,\n\t// Block 0xe2f, offset 0x38bc0\n\t0x38bc0: 0x6dd23620, 0x38bc1: 0x6dd23820, 0x38bc2: 0x6dd23a20, 0x38bc3: 0x6dd23c20,\n\t0x38bc4: 0x6dd23e20, 0x38bc5: 0x6dd24020, 0x38bc6: 0x6dd24220, 0x38bc7: 0x6dd24420,\n\t0x38bc8: 0x6dd24620, 0x38bc9: 0x6dd24820, 0x38bca: 0x6dd24a20, 0x38bcb: 0x6dd24c20,\n\t0x38bcc: 0x6dd24e20, 0x38bcd: 0x6dd25020, 0x38bce: 0x6dd25220, 0x38bcf: 0x6dd25420,\n\t0x38bd0: 0x6dd25620, 0x38bd1: 0x6dd25820, 0x38bd2: 0x6dd25a20, 0x38bd3: 0x6dd25c20,\n\t0x38bd4: 0x6dd25e20, 0x38bd5: 0x6dd26020, 0x38bd6: 0x6dd26220, 0x38bd7: 0x6dd26420,\n\t0x38bd8: 0x6dd26620, 0x38bd9: 0x6dd26820, 0x38bda: 0x6dd26a20, 0x38bdb: 0x6dd26c20,\n\t0x38bdc: 0x6dd26e20, 0x38bdd: 0x6dd27020, 0x38bde: 0x6dd27220, 0x38bdf: 0x6dd27420,\n\t0x38be0: 0x6deb0820, 0x38be1: 0x6deb0a20, 0x38be2: 0x6deb0c20, 0x38be3: 0x6deb0e20,\n\t0x38be4: 0x6deb1020, 0x38be5: 0x6deb1220, 0x38be6: 0x6deb1420, 0x38be7: 0x6deb1620,\n\t0x38be8: 0x6deb1820, 0x38be9: 0x6deb1a20, 0x38bea: 0x6deb1c20, 0x38beb: 0x6deb1e20,\n\t0x38bec: 0x6deb2020, 0x38bed: 0x6deb2220, 0x38bee: 0x6deb2420, 0x38bef: 0x6deb2620,\n\t0x38bf0: 0x6deb2820, 0x38bf1: 0x6deb2a20, 0x38bf2: 0x6deb2c20, 0x38bf3: 0x6deb2e20,\n\t0x38bf4: 0x6deb3020, 0x38bf5: 0x6deb3220, 0x38bf6: 0x6deb3420, 0x38bf7: 0x6deb3620,\n\t0x38bf8: 0x6deb3820, 0x38bf9: 0x6deb3a20, 0x38bfa: 0x6deb3c20, 0x38bfb: 0x6deb3e20,\n\t0x38bfc: 0x6deb4020, 0x38bfd: 0x6deb4220, 0x38bfe: 0x6deb4420, 0x38bff: 0x6deb4620,\n\t// Block 0xe30, offset 0x38c00\n\t0x38c00: 0x6deb4820, 0x38c01: 0x6deb4a20, 0x38c02: 0x6deb4c20, 0x38c03: 0x6deb4e20,\n\t0x38c04: 0x6deb5020, 0x38c05: 0x6deb5220, 0x38c06: 0x6deb5420, 0x38c07: 0x6deb5620,\n\t0x38c08: 0x6deb5820, 0x38c09: 0x6deb5a20, 0x38c0a: 0x6deb5c20, 0x38c0b: 0x6deb5e20,\n\t0x38c0c: 0x6deb6020, 0x38c0d: 0x6deb6220, 0x38c0e: 0x6deb6420, 0x38c0f: 0x6deb6620,\n\t0x38c10: 0x6deb6820, 0x38c11: 0x6deb6a20, 0x38c12: 0x6deb6c20, 0x38c13: 0x6deb6e20,\n\t0x38c14: 0x6deb7020, 0x38c15: 0x6deb7220, 0x38c16: 0x6deb7420, 0x38c17: 0x6deb7620,\n\t0x38c18: 0x6deb7820, 0x38c19: 0x6deb7a20, 0x38c1a: 0x6deb7c20, 0x38c1b: 0x6deb7e20,\n\t0x38c1c: 0x6deb8020, 0x38c1d: 0x6deb8220, 0x38c1e: 0x6deb8420, 0x38c1f: 0x6deb8620,\n\t0x38c20: 0x6deb8820, 0x38c21: 0x6deb8a20, 0x38c22: 0x6deb8c20, 0x38c23: 0x6deb8e20,\n\t0x38c24: 0x6deb9020, 0x38c25: 0x6deb9220, 0x38c26: 0x6deb9420, 0x38c27: 0x6deb9620,\n\t0x38c28: 0x6deb9820, 0x38c29: 0x6deb9a20, 0x38c2a: 0x6deb9c20, 0x38c2b: 0x6deb9e20,\n\t0x38c2c: 0x6deba020, 0x38c2d: 0x6deba220, 0x38c2e: 0x6deba420, 0x38c2f: 0x6deba620,\n\t0x38c30: 0x6deba820, 0x38c31: 0x6debaa20, 0x38c32: 0x6debac20, 0x38c33: 0x6debae20,\n\t0x38c34: 0x6debb020, 0x38c35: 0x6debb220, 0x38c36: 0x6debb420, 0x38c37: 0x6debb620,\n\t0x38c38: 0x6debb820, 0x38c39: 0x6debba20, 0x38c3a: 0x6debbc20, 0x38c3b: 0x6e00a820,\n\t0x38c3c: 0x6e00aa20, 0x38c3d: 0x6e00ac20, 0x38c3e: 0x6e00ae20, 0x38c3f: 0x6e00b020,\n\t// Block 0xe31, offset 0x38c40\n\t0x38c40: 0x6e00b220, 0x38c41: 0x6e00b420, 0x38c42: 0x6e00b620, 0x38c43: 0x6e00b820,\n\t0x38c44: 0x6e00ba20, 0x38c45: 0x6e00bc20, 0x38c46: 0x6e00be20, 0x38c47: 0x6e00c020,\n\t0x38c48: 0x6e00c220, 0x38c49: 0x6e00c420, 0x38c4a: 0x6e00c620, 0x38c4b: 0x6e00c820,\n\t0x38c4c: 0x6e00ca20, 0x38c4d: 0x6e00cc20, 0x38c4e: 0x6e00ce20, 0x38c4f: 0x6e00d020,\n\t0x38c50: 0x6e00d220, 0x38c51: 0x6e00d420, 0x38c52: 0x6e00d620, 0x38c53: 0x6e00d820,\n\t0x38c54: 0x6e00da20, 0x38c55: 0x6e00dc20, 0x38c56: 0x6e00de20, 0x38c57: 0x6e00e020,\n\t0x38c58: 0x6e00e220, 0x38c59: 0x6e00e420, 0x38c5a: 0x6e00e620, 0x38c5b: 0x6e00e820,\n\t0x38c5c: 0x6e00ea20, 0x38c5d: 0x6e00ec20, 0x38c5e: 0x6e00ee20, 0x38c5f: 0x6e00f020,\n\t0x38c60: 0x6e00f220, 0x38c61: 0x6e00f420, 0x38c62: 0x6e00f620, 0x38c63: 0x6e00f820,\n\t0x38c64: 0x6e00fa20, 0x38c65: 0x6e00fc20, 0x38c66: 0x6e00fe20, 0x38c67: 0x6e010020,\n\t0x38c68: 0x6e010220, 0x38c69: 0x6e010420, 0x38c6a: 0x6e010620, 0x38c6b: 0x6e010820,\n\t0x38c6c: 0x6e010a20, 0x38c6d: 0x6e010c20, 0x38c6e: 0x6e010e20, 0x38c6f: 0x6e011020,\n\t0x38c70: 0x6e011220, 0x38c71: 0x6e011420, 0x38c72: 0x6e011620, 0x38c73: 0x6e011820,\n\t0x38c74: 0x6e011a20, 0x38c75: 0x6e011c20, 0x38c76: 0x6e011e20, 0x38c77: 0x6e012020,\n\t0x38c78: 0x6e012220, 0x38c79: 0x6e012420, 0x38c7a: 0x6e012620, 0x38c7b: 0x6e012820,\n\t0x38c7c: 0x6e012a20, 0x38c7d: 0x6e012c20, 0x38c7e: 0x6e012e20, 0x38c7f: 0x6e013020,\n\t// Block 0xe32, offset 0x38c80\n\t0x38c80: 0x6e013220, 0x38c81: 0x6e013420, 0x38c82: 0x6e013620, 0x38c83: 0x6e013820,\n\t0x38c84: 0x6e013a20, 0x38c85: 0x6e013c20, 0x38c86: 0x6e013e20, 0x38c87: 0x6e014020,\n\t0x38c88: 0x6e014220, 0x38c89: 0x6e014420, 0x38c8a: 0x6e014620, 0x38c8b: 0x6e014820,\n\t0x38c8c: 0x6debbe20, 0x38c8d: 0x6e12ba20, 0x38c8e: 0x6e014a20, 0x38c8f: 0x6e12bc20,\n\t0x38c90: 0x6e12be20, 0x38c91: 0x6e12c020, 0x38c92: 0x6e12c220, 0x38c93: 0x6e12c420,\n\t0x38c94: 0x6e12c620, 0x38c95: 0x6e12c820, 0x38c96: 0x6e12ca20, 0x38c97: 0x6e12cc20,\n\t0x38c98: 0x6e12ce20, 0x38c99: 0x6e12d020, 0x38c9a: 0x6e12d220, 0x38c9b: 0x6e12d420,\n\t0x38c9c: 0x6e12d620, 0x38c9d: 0x6e12d820, 0x38c9e: 0x6e12da20, 0x38c9f: 0x6e12dc20,\n\t0x38ca0: 0x6e12de20, 0x38ca1: 0x6e12e020, 0x38ca2: 0x6e12e220, 0x38ca3: 0x6e12e420,\n\t0x38ca4: 0x6e12e620, 0x38ca5: 0x6e12e820, 0x38ca6: 0x6e12ea20, 0x38ca7: 0x6e12ec20,\n\t0x38ca8: 0x6e12ee20, 0x38ca9: 0x6e12f020, 0x38caa: 0x6e12f220, 0x38cab: 0x6e12f420,\n\t0x38cac: 0x6e12f620, 0x38cad: 0x6e12f820, 0x38cae: 0x6e12fa20, 0x38caf: 0x6e12fc20,\n\t0x38cb0: 0x6e12fe20, 0x38cb1: 0x6e130020, 0x38cb2: 0x6e130220, 0x38cb3: 0x6e130420,\n\t0x38cb4: 0x6e130620, 0x38cb5: 0x6e130820, 0x38cb6: 0x6e130a20, 0x38cb7: 0x6e130c20,\n\t0x38cb8: 0x6e130e20, 0x38cb9: 0x6e131020, 0x38cba: 0x6e131220, 0x38cbb: 0x6e131420,\n\t0x38cbc: 0x6e131620, 0x38cbd: 0x6e131820, 0x38cbe: 0x6e131a20, 0x38cbf: 0x6e131c20,\n\t// Block 0xe33, offset 0x38cc0\n\t0x38cc0: 0x6e131e20, 0x38cc1: 0x6e132020, 0x38cc2: 0x6e132220, 0x38cc3: 0x6e132420,\n\t0x38cc4: 0x6e132620, 0x38cc5: 0x6e132820, 0x38cc6: 0x6e132a20, 0x38cc7: 0x6e132c20,\n\t0x38cc8: 0x6e132e20, 0x38cc9: 0x6e133020, 0x38cca: 0x6e133220, 0x38ccb: 0x6e133420,\n\t0x38ccc: 0x6e133620, 0x38ccd: 0x6e20c620, 0x38cce: 0x6e20c820, 0x38ccf: 0x6e20ca20,\n\t0x38cd0: 0x6e20cc20, 0x38cd1: 0x6e20ce20, 0x38cd2: 0x6e20d020, 0x38cd3: 0x6e20d220,\n\t0x38cd4: 0x6e20d420, 0x38cd5: 0x6e20d620, 0x38cd6: 0x6e20d820, 0x38cd7: 0x6e20da20,\n\t0x38cd8: 0x6e20dc20, 0x38cd9: 0x6e20de20, 0x38cda: 0x6e20e020, 0x38cdb: 0x6e20e220,\n\t0x38cdc: 0x6e20e420, 0x38cdd: 0x6e20e620, 0x38cde: 0x6e20e820, 0x38cdf: 0x6e20ea20,\n\t0x38ce0: 0x6e20ec20, 0x38ce1: 0x6e20ee20, 0x38ce2: 0x6e20f020, 0x38ce3: 0x6e20f220,\n\t0x38ce4: 0x6e20f420, 0x38ce5: 0x6e20f620, 0x38ce6: 0x6e20f820, 0x38ce7: 0x6e20fa20,\n\t0x38ce8: 0x6e20fc20, 0x38ce9: 0x6e20fe20, 0x38cea: 0x6e210020, 0x38ceb: 0x6e210220,\n\t0x38cec: 0x6e210420, 0x38ced: 0x6e210620, 0x38cee: 0x6e210820, 0x38cef: 0x6e210a20,\n\t0x38cf0: 0x6e210c20, 0x38cf1: 0x6e210e20, 0x38cf2: 0x6e211020, 0x38cf3: 0x6e211220,\n\t0x38cf4: 0x6e211420, 0x38cf5: 0x6e211620, 0x38cf6: 0x6e2b9420, 0x38cf7: 0x6e2b9620,\n\t0x38cf8: 0x6e2b9820, 0x38cf9: 0x6e2b9a20, 0x38cfa: 0x6e2b9c20, 0x38cfb: 0x6e2b9e20,\n\t0x38cfc: 0x6e2ba020, 0x38cfd: 0x6e2ba220, 0x38cfe: 0x6e2ba420, 0x38cff: 0x6e2ba620,\n\t// Block 0xe34, offset 0x38d00\n\t0x38d00: 0x6e2ba820, 0x38d01: 0x6e2baa20, 0x38d02: 0x6e2bac20, 0x38d03: 0x6e2bae20,\n\t0x38d04: 0x6e2bb020, 0x38d05: 0x6e2bb220, 0x38d06: 0x6e2bb420, 0x38d07: 0x6e2bb620,\n\t0x38d08: 0x6e2bb820, 0x38d09: 0x6e2bba20, 0x38d0a: 0x6e2bbc20, 0x38d0b: 0x6e2bbe20,\n\t0x38d0c: 0x6e2bc020, 0x38d0d: 0x6e2bc220, 0x38d0e: 0x6e2bc420, 0x38d0f: 0x6e2bc620,\n\t0x38d10: 0x6e2bc820, 0x38d11: 0x6e2bca20, 0x38d12: 0x6e2bcc20, 0x38d13: 0x6e2bce20,\n\t0x38d14: 0x6e2bd020, 0x38d15: 0x6e2bd220, 0x38d16: 0x6e33f020, 0x38d17: 0x6e33f220,\n\t0x38d18: 0x6e33f420, 0x38d19: 0x6e33f620, 0x38d1a: 0x6e33f820, 0x38d1b: 0x6e33fa20,\n\t0x38d1c: 0x6e33fc20, 0x38d1d: 0x6e33fe20, 0x38d1e: 0x6e340020, 0x38d1f: 0x6e340220,\n\t0x38d20: 0x6e340420, 0x38d21: 0x6e340620, 0x38d22: 0x6e340820, 0x38d23: 0x6e340a20,\n\t0x38d24: 0x6e340c20, 0x38d25: 0x6e340e20, 0x38d26: 0x6e341020, 0x38d27: 0x6e341220,\n\t0x38d28: 0x6e341420, 0x38d29: 0x6e341620, 0x38d2a: 0x6e341820, 0x38d2b: 0x6e341a20,\n\t0x38d2c: 0x6e341c20, 0x38d2d: 0x6e341e20, 0x38d2e: 0x6e39d420, 0x38d2f: 0x6e39d620,\n\t0x38d30: 0x6e39d820, 0x38d31: 0x6e39da20, 0x38d32: 0x6e39dc20, 0x38d33: 0x6e39de20,\n\t0x38d34: 0x6e39e020, 0x38d35: 0x6e42f020, 0x38d36: 0x6e39e220, 0x38d37: 0x6e39e420,\n\t0x38d38: 0x6e39e620, 0x38d39: 0x6e39e820, 0x38d3a: 0x6e3df620, 0x38d3b: 0x6e3df820,\n\t0x38d3c: 0x6e3dfa20, 0x38d3d: 0x6e3dfc20, 0x38d3e: 0x6e3dfe20, 0x38d3f: 0x6e3e0020,\n\t// Block 0xe35, offset 0x38d40\n\t0x38d40: 0x6e3e0220, 0x38d41: 0x6e3e0420, 0x38d42: 0x6e3e0620, 0x38d43: 0x6e3e0820,\n\t0x38d44: 0x6e3e0a20, 0x38d45: 0x6e3e0c20, 0x38d46: 0x6e394c20, 0x38d47: 0x6e40ce20,\n\t0x38d48: 0x6e40d020, 0x38d49: 0x6e40d220, 0x38d4a: 0x6e40d420, 0x38d4b: 0x6e40d620,\n\t0x38d4c: 0x6e40d820, 0x38d4d: 0x6e40da20, 0x38d4e: 0x6e40dc20, 0x38d4f: 0x6e42f220,\n\t0x38d50: 0x6e42f420, 0x38d51: 0x6e42f620, 0x38d52: 0x6e42f820, 0x38d53: 0x6e470220,\n\t0x38d54: 0x6e446820, 0x38d55: 0x6e446a20, 0x38d56: 0x6e454e20, 0x38d57: 0x6e45d020,\n\t0x38d58: 0x6e472e20, 0x38d59: 0x6e468c20, 0x38d5a: 0x6e455020, 0x38d5b: 0x6c401420,\n\t0x38d5c: 0x6c5f9820, 0x38d5d: 0x6c5f9a20, 0x38d5e: 0x6c5f9c20, 0x38d5f: 0x6c84d420,\n\t0x38d60: 0x6c84d620, 0x38d61: 0x6c84d820, 0x38d62: 0x6c84da20, 0x38d63: 0x6cae3220,\n\t0x38d64: 0x6cae3420, 0x38d65: 0x6cae3620, 0x38d66: 0x6cae3820, 0x38d67: 0x6cae3a20,\n\t0x38d68: 0x6cae3c20, 0x38d69: 0x6cae3e20, 0x38d6a: 0x6cae4020, 0x38d6b: 0x6cae4220,\n\t0x38d6c: 0x6cae4420, 0x38d6d: 0x6cae4620, 0x38d6e: 0x6cae4820, 0x38d6f: 0x6cae4a20,\n\t0x38d70: 0x6cae4c20, 0x38d71: 0x6cdd5020, 0x38d72: 0x6cdd5220, 0x38d73: 0x6cdd5420,\n\t0x38d74: 0x6cdd5620, 0x38d75: 0x6cdd5820, 0x38d76: 0x6cdd5a20, 0x38d77: 0x6cdd5c20,\n\t0x38d78: 0x6cdd5e20, 0x38d79: 0x6cdd6020, 0x38d7a: 0x6d0bd020, 0x38d7b: 0x6d0bd220,\n\t0x38d7c: 0x6d0bd420, 0x38d7d: 0x6d0bd620, 0x38d7e: 0x6d0bd820, 0x38d7f: 0x6d0bda20,\n\t// Block 0xe36, offset 0x38d80\n\t0x38d80: 0x6d0bdc20, 0x38d81: 0x6d39be20, 0x38d82: 0x6d39c020, 0x38d83: 0x6d39c220,\n\t0x38d84: 0x6d39c420, 0x38d85: 0x6d39c620, 0x38d86: 0x6d39c820, 0x38d87: 0x6d39ca20,\n\t0x38d88: 0x6d39cc20, 0x38d89: 0x6d39ce20, 0x38d8a: 0x6d39d020, 0x38d8b: 0x6d39d220,\n\t0x38d8c: 0x6d39d420, 0x38d8d: 0x6d39d620, 0x38d8e: 0x6d39d820, 0x38d8f: 0x6d65f820,\n\t0x38d90: 0x6d65fa20, 0x38d91: 0x6d65fc20, 0x38d92: 0x6d65fe20, 0x38d93: 0x6d660020,\n\t0x38d94: 0x6d660220, 0x38d95: 0x6d660420, 0x38d96: 0x6d660620, 0x38d97: 0x6d660820,\n\t0x38d98: 0x6d660a20, 0x38d99: 0x6d660c20, 0x38d9a: 0x6d660e20, 0x38d9b: 0x6d661020,\n\t0x38d9c: 0x6d8fd020, 0x38d9d: 0x6d8fd220, 0x38d9e: 0x6d8fd420, 0x38d9f: 0x6d8fd620,\n\t0x38da0: 0x6d8fd820, 0x38da1: 0x6d8fda20, 0x38da2: 0x6d8fdc20, 0x38da3: 0x6d8fde20,\n\t0x38da4: 0x6d8fe020, 0x38da5: 0x6d8fe220, 0x38da6: 0x6d8fe420, 0x38da7: 0x6d8fe620,\n\t0x38da8: 0x6d8fe820, 0x38da9: 0x6d8fea20, 0x38daa: 0x6d8fec20, 0x38dab: 0x6d8fee20,\n\t0x38dac: 0x6d8ff020, 0x38dad: 0x6d8ff220, 0x38dae: 0x6d8ff420, 0x38daf: 0x6d8ff620,\n\t0x38db0: 0x6d8ff820, 0x38db1: 0x6db39e20, 0x38db2: 0x6db3a020, 0x38db3: 0x6db3a220,\n\t0x38db4: 0x6db3a420, 0x38db5: 0x6db3a620, 0x38db6: 0x6db3a820, 0x38db7: 0x6db3aa20,\n\t0x38db8: 0x6db3ac20, 0x38db9: 0x6db3ae20, 0x38dba: 0x6db3b020, 0x38dbb: 0x6dd29c20,\n\t0x38dbc: 0x6dd29e20, 0x38dbd: 0x6dd2a020, 0x38dbe: 0x6dd2a220, 0x38dbf: 0x6dd2a420,\n\t// Block 0xe37, offset 0x38dc0\n\t0x38dc0: 0x6dd2a620, 0x38dc1: 0x6dd2a820, 0x38dc2: 0x6debd420, 0x38dc3: 0x6dd2aa20,\n\t0x38dc4: 0x6dd2ac20, 0x38dc5: 0x6debd620, 0x38dc6: 0x6debd820, 0x38dc7: 0x6debda20,\n\t0x38dc8: 0x6debdc20, 0x38dc9: 0x6debde20, 0x38dca: 0x6debe020, 0x38dcb: 0x6e015a20,\n\t0x38dcc: 0x6e015c20, 0x38dcd: 0x6e015e20, 0x38dce: 0x6e016020, 0x38dcf: 0x6e016220,\n\t0x38dd0: 0x6df39420, 0x38dd1: 0x6e134220, 0x38dd2: 0x6e134420, 0x38dd3: 0x6e134620,\n\t0x38dd4: 0x6e134820, 0x38dd5: 0x6e134a20, 0x38dd6: 0x6e134c20, 0x38dd7: 0x6e134e20,\n\t0x38dd8: 0x6e211e20, 0x38dd9: 0x6e212020, 0x38dda: 0x6e2bd620, 0x38ddb: 0x6e2bd820,\n\t0x38ddc: 0x6e3e1420, 0x38ddd: 0x6c268c20, 0x38dde: 0x6c268e20, 0x38ddf: 0x6c402220,\n\t0x38de0: 0x6c402420, 0x38de1: 0x6c402620, 0x38de2: 0x6c402820, 0x38de3: 0x6c402a20,\n\t0x38de4: 0x6c402c20, 0x38de5: 0x6c402e20, 0x38de6: 0x6c403020, 0x38de7: 0x6c403220,\n\t0x38de8: 0x6c5fcc20, 0x38de9: 0x6c5fce20, 0x38dea: 0x6c5fd020, 0x38deb: 0x6c5fd220,\n\t0x38dec: 0x6c5fd420, 0x38ded: 0x6c5fd620, 0x38dee: 0x6c5fd820, 0x38def: 0x6c5fda20,\n\t0x38df0: 0x6c5fdc20, 0x38df1: 0x6c5fde20, 0x38df2: 0x6c5fe020, 0x38df3: 0x6c5fe220,\n\t0x38df4: 0x6c5fe420, 0x38df5: 0x6c5fe620, 0x38df6: 0x6c5fe820, 0x38df7: 0x6c5fea20,\n\t0x38df8: 0x6c5fec20, 0x38df9: 0x6c5fee20, 0x38dfa: 0x6c5ff020, 0x38dfb: 0x6c853220,\n\t0x38dfc: 0x6c853420, 0x38dfd: 0x6c853620, 0x38dfe: 0x6c853820, 0x38dff: 0x6c853a20,\n\t// Block 0xe38, offset 0x38e00\n\t0x38e00: 0x6c853c20, 0x38e01: 0x6c853e20, 0x38e02: 0x6c854020, 0x38e03: 0x6c854220,\n\t0x38e04: 0x6c854420, 0x38e05: 0x6c854620, 0x38e06: 0x6c854820, 0x38e07: 0x6c854a20,\n\t0x38e08: 0x6c854c20, 0x38e09: 0x6c854e20, 0x38e0a: 0x6c855020, 0x38e0b: 0x6c855220,\n\t0x38e0c: 0x6c855420, 0x38e0d: 0x6c855620, 0x38e0e: 0x6c855820, 0x38e0f: 0x6c855a20,\n\t0x38e10: 0x6c855c20, 0x38e11: 0x6c855e20, 0x38e12: 0x6c856020, 0x38e13: 0x6c856220,\n\t0x38e14: 0x6c856420, 0x38e15: 0x6c856620, 0x38e16: 0x6c856820, 0x38e17: 0x6c856a20,\n\t0x38e18: 0x6c856c20, 0x38e19: 0x6c856e20, 0x38e1a: 0x6c857020, 0x38e1b: 0x6c857220,\n\t0x38e1c: 0x6c857420, 0x38e1d: 0x6c857620, 0x38e1e: 0x6caeaa20, 0x38e1f: 0x6caeac20,\n\t0x38e20: 0x6caeae20, 0x38e21: 0x6caeb020, 0x38e22: 0x6caeb220, 0x38e23: 0x6caeb420,\n\t0x38e24: 0x6caeb620, 0x38e25: 0x6caeb820, 0x38e26: 0x6caeba20, 0x38e27: 0x6caebc20,\n\t0x38e28: 0x6caebe20, 0x38e29: 0x6caec020, 0x38e2a: 0x6caec220, 0x38e2b: 0x6caec420,\n\t0x38e2c: 0x6caec620, 0x38e2d: 0x6caec820, 0x38e2e: 0x6caeca20, 0x38e2f: 0x6caecc20,\n\t0x38e30: 0x6caece20, 0x38e31: 0x6caed020, 0x38e32: 0x6caed220, 0x38e33: 0x6caed420,\n\t0x38e34: 0x6caed620, 0x38e35: 0x6caed820, 0x38e36: 0x6caeda20, 0x38e37: 0x6caedc20,\n\t0x38e38: 0x6caede20, 0x38e39: 0x6caee020, 0x38e3a: 0x6caee220, 0x38e3b: 0x6caee420,\n\t0x38e3c: 0x6caee620, 0x38e3d: 0x6caee820, 0x38e3e: 0x6caeea20, 0x38e3f: 0x6caeec20,\n\t// Block 0xe39, offset 0x38e40\n\t0x38e40: 0x6caeee20, 0x38e41: 0x6caef020, 0x38e42: 0x6caef220, 0x38e43: 0x6caef420,\n\t0x38e44: 0x6caef620, 0x38e45: 0x6caef820, 0x38e46: 0x6caefa20, 0x38e47: 0x6caefc20,\n\t0x38e48: 0x6caefe20, 0x38e49: 0x6caf0020, 0x38e4a: 0x6caf0220, 0x38e4b: 0x6caf0420,\n\t0x38e4c: 0x6caf0620, 0x38e4d: 0x6caf0820, 0x38e4e: 0x6caf0a20, 0x38e4f: 0x6cddc220,\n\t0x38e50: 0x6cddc420, 0x38e51: 0x6cddc620, 0x38e52: 0x6cddc820, 0x38e53: 0x6cddca20,\n\t0x38e54: 0x6cddcc20, 0x38e55: 0x6cddce20, 0x38e56: 0x6cddd020, 0x38e57: 0x6cddd220,\n\t0x38e58: 0x6cddd420, 0x38e59: 0x6cddd620, 0x38e5a: 0x6cddd820, 0x38e5b: 0x6cddda20,\n\t0x38e5c: 0x6cdddc20, 0x38e5d: 0x6cddde20, 0x38e5e: 0x6cdde020, 0x38e5f: 0x6cdde220,\n\t0x38e60: 0x6cdde420, 0x38e61: 0x6cdde620, 0x38e62: 0x6cdde820, 0x38e63: 0x6cddea20,\n\t0x38e64: 0x6cddec20, 0x38e65: 0x6cddee20, 0x38e66: 0x6cddf020, 0x38e67: 0x6cddf220,\n\t0x38e68: 0x6cddf420, 0x38e69: 0x6cddf620, 0x38e6a: 0x6cddf820, 0x38e6b: 0x6d0c3620,\n\t0x38e6c: 0x6cddfa20, 0x38e6d: 0x6cddfc20, 0x38e6e: 0x6d0c3820, 0x38e6f: 0x6cddfe20,\n\t0x38e70: 0x6cde0020, 0x38e71: 0x6cde0220, 0x38e72: 0x6cde0420, 0x38e73: 0x6cde0620,\n\t0x38e74: 0x6cde0820, 0x38e75: 0x6cde0a20, 0x38e76: 0x6cde0c20, 0x38e77: 0x6cde0e20,\n\t0x38e78: 0x6cde1020, 0x38e79: 0x6cde1220, 0x38e7a: 0x6cde1420, 0x38e7b: 0x6cde1620,\n\t0x38e7c: 0x6cde1820, 0x38e7d: 0x6cde1a20, 0x38e7e: 0x6cde1c20, 0x38e7f: 0x6cde1e20,\n\t// Block 0xe3a, offset 0x38e80\n\t0x38e80: 0x6cde2020, 0x38e81: 0x6cde2220, 0x38e82: 0x6cde2420, 0x38e83: 0x6cde2620,\n\t0x38e84: 0x6cde2820, 0x38e85: 0x6cde2a20, 0x38e86: 0x6cde2c20, 0x38e87: 0x6cde2e20,\n\t0x38e88: 0x6d0c3a20, 0x38e89: 0x6d0c3c20, 0x38e8a: 0x6d0c3e20, 0x38e8b: 0x6d0c4020,\n\t0x38e8c: 0x6d0c4220, 0x38e8d: 0x6d0c4420, 0x38e8e: 0x6d0c4620, 0x38e8f: 0x6d0c4820,\n\t0x38e90: 0x6d0c4a20, 0x38e91: 0x6d0c4c20, 0x38e92: 0x6d0c4e20, 0x38e93: 0x6d0c5020,\n\t0x38e94: 0x6d0c5220, 0x38e95: 0x6d0c5420, 0x38e96: 0x6d0c5620, 0x38e97: 0x6d0c5820,\n\t0x38e98: 0x6d0c5a20, 0x38e99: 0x6d0c5c20, 0x38e9a: 0x6d0c5e20, 0x38e9b: 0x6d0c6020,\n\t0x38e9c: 0x6d0c6220, 0x38e9d: 0x6d0c6420, 0x38e9e: 0x6d3a6020, 0x38e9f: 0x6d0c6620,\n\t0x38ea0: 0x6d0c6820, 0x38ea1: 0x6d0c6a20, 0x38ea2: 0x6d0c6c20, 0x38ea3: 0x6d0c6e20,\n\t0x38ea4: 0x6d0c7020, 0x38ea5: 0x6d0c7220, 0x38ea6: 0x6d0c7420, 0x38ea7: 0x6d0c7620,\n\t0x38ea8: 0x6d0c7820, 0x38ea9: 0x6d0c7a20, 0x38eaa: 0x6d0c7c20, 0x38eab: 0x6d0c7e20,\n\t0x38eac: 0x6d0c8020, 0x38ead: 0x6d0c8220, 0x38eae: 0x6d0c8420, 0x38eaf: 0x6d0c8620,\n\t0x38eb0: 0x6d0c8820, 0x38eb1: 0x6d0c8a20, 0x38eb2: 0x6d0c8c20, 0x38eb3: 0x6d0c8e20,\n\t0x38eb4: 0x6d0c9020, 0x38eb5: 0x6d0c9220, 0x38eb6: 0x6d0c9420, 0x38eb7: 0x6d0c9620,\n\t0x38eb8: 0x6d0c9820, 0x38eb9: 0x6d0c9a20, 0x38eba: 0x6d0c9c20, 0x38ebb: 0x6d0c9e20,\n\t0x38ebc: 0x6d0ca020, 0x38ebd: 0x6d0ca220, 0x38ebe: 0x6d0ca420, 0x38ebf: 0x6d0ca620,\n\t// Block 0xe3b, offset 0x38ec0\n\t0x38ec0: 0x6d0ca820, 0x38ec1: 0x6d0caa20, 0x38ec2: 0x6d0cac20, 0x38ec3: 0x6d3a6220,\n\t0x38ec4: 0x6d3a6420, 0x38ec5: 0x6d3a6620, 0x38ec6: 0x6d3a6820, 0x38ec7: 0x6d3a6a20,\n\t0x38ec8: 0x6d3a6c20, 0x38ec9: 0x6d3a6e20, 0x38eca: 0x6d3a7020, 0x38ecb: 0x6d3a7220,\n\t0x38ecc: 0x6d3a7420, 0x38ecd: 0x6d3a7620, 0x38ece: 0x6d3a7820, 0x38ecf: 0x6d3a7a20,\n\t0x38ed0: 0x6d3a7c20, 0x38ed1: 0x6d3a7e20, 0x38ed2: 0x6d3a8020, 0x38ed3: 0x6d3a8220,\n\t0x38ed4: 0x6d3a8420, 0x38ed5: 0x6d3a8620, 0x38ed6: 0x6d3a8820, 0x38ed7: 0x6d3a8a20,\n\t0x38ed8: 0x6d3a8c20, 0x38ed9: 0x6d3a8e20, 0x38eda: 0x6d3a9020, 0x38edb: 0x6d3a9220,\n\t0x38edc: 0x6d3a9420, 0x38edd: 0x6d3a9620, 0x38ede: 0x6d0cae20, 0x38edf: 0x6d3a9820,\n\t0x38ee0: 0x6d3a9a20, 0x38ee1: 0x6d3a9c20, 0x38ee2: 0x6d3a9e20, 0x38ee3: 0x6d3aa020,\n\t0x38ee4: 0x6d3aa220, 0x38ee5: 0x6d3aa420, 0x38ee6: 0x6d3aa620, 0x38ee7: 0x6d3aa820,\n\t0x38ee8: 0x6d3aaa20, 0x38ee9: 0x6d3aac20, 0x38eea: 0x6d3aae20, 0x38eeb: 0x6d3ab020,\n\t0x38eec: 0x6d3ab220, 0x38eed: 0x6d3ab420, 0x38eee: 0x6d3ab620, 0x38eef: 0x6d3ab820,\n\t0x38ef0: 0x6d668c20, 0x38ef1: 0x6d3aba20, 0x38ef2: 0x6d3abc20, 0x38ef3: 0x6d3abe20,\n\t0x38ef4: 0x6d3ac020, 0x38ef5: 0x6d3ac220, 0x38ef6: 0x6d3ac420, 0x38ef7: 0x6d3ac620,\n\t0x38ef8: 0x6d3ac820, 0x38ef9: 0x6d3aca20, 0x38efa: 0x6d3acc20, 0x38efb: 0x6d3ace20,\n\t0x38efc: 0x6d3ad020, 0x38efd: 0x6d3ad220, 0x38efe: 0x6d3ad420, 0x38eff: 0x6d3ad620,\n\t// Block 0xe3c, offset 0x38f00\n\t0x38f00: 0x6d3ad820, 0x38f01: 0x6d3ada20, 0x38f02: 0x6d3adc20, 0x38f03: 0x6d3ade20,\n\t0x38f04: 0x6d3ae020, 0x38f05: 0x6d3ae220, 0x38f06: 0x6d3ae420, 0x38f07: 0x6d3ae620,\n\t0x38f08: 0x6d3ae820, 0x38f09: 0x6d3aea20, 0x38f0a: 0x6d3aec20, 0x38f0b: 0x6d3aee20,\n\t0x38f0c: 0x6d3af020, 0x38f0d: 0x6d3af220, 0x38f0e: 0x6d3af420, 0x38f0f: 0x6d3af620,\n\t0x38f10: 0x6d3af820, 0x38f11: 0x6d3afa20, 0x38f12: 0x6d668e20, 0x38f13: 0x6d669020,\n\t0x38f14: 0x6d669220, 0x38f15: 0x6d669420, 0x38f16: 0x6d669620, 0x38f17: 0x6d669820,\n\t0x38f18: 0x6d669a20, 0x38f19: 0x6d669c20, 0x38f1a: 0x6d669e20, 0x38f1b: 0x6d66a020,\n\t0x38f1c: 0x6d66a220, 0x38f1d: 0x6d66a420, 0x38f1e: 0x6d66a620, 0x38f1f: 0x6d66a820,\n\t0x38f20: 0x6d66aa20, 0x38f21: 0x6d66ac20, 0x38f22: 0x6d66ae20, 0x38f23: 0x6d66b020,\n\t0x38f24: 0x6d66b220, 0x38f25: 0x6d66b420, 0x38f26: 0x6d66b620, 0x38f27: 0x6d66b820,\n\t0x38f28: 0x6d66ba20, 0x38f29: 0x6d66bc20, 0x38f2a: 0x6d66be20, 0x38f2b: 0x6d66c020,\n\t0x38f2c: 0x6d66c220, 0x38f2d: 0x6d66c420, 0x38f2e: 0x6d66c620, 0x38f2f: 0x6d66c820,\n\t0x38f30: 0x6d66ca20, 0x38f31: 0x6d66cc20, 0x38f32: 0x6d66ce20, 0x38f33: 0x6d66d020,\n\t0x38f34: 0x6d66d220, 0x38f35: 0x6d66d420, 0x38f36: 0x6d66d620, 0x38f37: 0x6d66d820,\n\t0x38f38: 0x6d66da20, 0x38f39: 0x6d66dc20, 0x38f3a: 0x6d66de20, 0x38f3b: 0x6d66e020,\n\t0x38f3c: 0x6d66e220, 0x38f3d: 0x6d66e420, 0x38f3e: 0x6d66e620, 0x38f3f: 0x6d66e820,\n\t// Block 0xe3d, offset 0x38f40\n\t0x38f40: 0x6d66ea20, 0x38f41: 0x6d66ec20, 0x38f42: 0x6d66ee20, 0x38f43: 0x6d66f020,\n\t0x38f44: 0x6d66f220, 0x38f45: 0x6d66f420, 0x38f46: 0x6d66f620, 0x38f47: 0x6d66f820,\n\t0x38f48: 0x6d66fa20, 0x38f49: 0x6d66fc20, 0x38f4a: 0x6d66fe20, 0x38f4b: 0x6d670020,\n\t0x38f4c: 0x6d670220, 0x38f4d: 0x6d670420, 0x38f4e: 0x6d670620, 0x38f4f: 0x6d670820,\n\t0x38f50: 0x6d670a20, 0x38f51: 0x6d670c20, 0x38f52: 0x6d670e20, 0x38f53: 0x6d671020,\n\t0x38f54: 0x6d671220, 0x38f55: 0x6d671420, 0x38f56: 0x6d671620, 0x38f57: 0x6d671820,\n\t0x38f58: 0x6d671a20, 0x38f59: 0x6d671c20, 0x38f5a: 0x6d671e20, 0x38f5b: 0x6d672020,\n\t0x38f5c: 0x6d672220, 0x38f5d: 0x6d672420, 0x38f5e: 0x6d672620, 0x38f5f: 0x6d672820,\n\t0x38f60: 0x6d672a20, 0x38f61: 0x6d905c20, 0x38f62: 0x6d905e20, 0x38f63: 0x6d906020,\n\t0x38f64: 0x6d906220, 0x38f65: 0x6d906420, 0x38f66: 0x6d906620, 0x38f67: 0x6d906820,\n\t0x38f68: 0x6d906a20, 0x38f69: 0x6d906c20, 0x38f6a: 0x6d906e20, 0x38f6b: 0x6d907020,\n\t0x38f6c: 0x6d907220, 0x38f6d: 0x6d907420, 0x38f6e: 0x6d907620, 0x38f6f: 0x6d907820,\n\t0x38f70: 0x6d907a20, 0x38f71: 0x6d907c20, 0x38f72: 0x6d907e20, 0x38f73: 0x6d908020,\n\t0x38f74: 0x6d908220, 0x38f75: 0x6d908420, 0x38f76: 0x6d908620, 0x38f77: 0x6d908820,\n\t0x38f78: 0x6d908a20, 0x38f79: 0x6d908c20, 0x38f7a: 0x6d908e20, 0x38f7b: 0x6d909020,\n\t0x38f7c: 0x6d909220, 0x38f7d: 0x6d909420, 0x38f7e: 0x6d909620, 0x38f7f: 0x6d909820,\n\t// Block 0xe3e, offset 0x38f80\n\t0x38f80: 0x6d909a20, 0x38f81: 0x6d909c20, 0x38f82: 0x6d909e20, 0x38f83: 0x6d90a020,\n\t0x38f84: 0x6d90a220, 0x38f85: 0x6d90a420, 0x38f86: 0x6d90a620, 0x38f87: 0x6d672c20,\n\t0x38f88: 0x6d90a820, 0x38f89: 0x6d90aa20, 0x38f8a: 0x6d90ac20, 0x38f8b: 0x6d90ae20,\n\t0x38f8c: 0x6d90b020, 0x38f8d: 0x6d90b220, 0x38f8e: 0x6d90b420, 0x38f8f: 0x6d90b620,\n\t0x38f90: 0x6d90b820, 0x38f91: 0x6d90ba20, 0x38f92: 0x6d90bc20, 0x38f93: 0x6d90be20,\n\t0x38f94: 0x6d90c020, 0x38f95: 0x6d90c220, 0x38f96: 0x6d90c420, 0x38f97: 0x6d90c620,\n\t0x38f98: 0x6d90c820, 0x38f99: 0x6d90ca20, 0x38f9a: 0x6d90cc20, 0x38f9b: 0x6d90ce20,\n\t0x38f9c: 0x6d90d020, 0x38f9d: 0x6d90d220, 0x38f9e: 0x6d90d420, 0x38f9f: 0x6d90d620,\n\t0x38fa0: 0x6d90d820, 0x38fa1: 0x6d90da20, 0x38fa2: 0x6d90dc20, 0x38fa3: 0x6d90de20,\n\t0x38fa4: 0x6d90e020, 0x38fa5: 0x6d90e220, 0x38fa6: 0x6d90e420, 0x38fa7: 0x6d90e620,\n\t0x38fa8: 0x6d90e820, 0x38fa9: 0x6d90ea20, 0x38faa: 0x6d90ec20, 0x38fab: 0x6d90ee20,\n\t0x38fac: 0x6d90f020, 0x38fad: 0x6d90f220, 0x38fae: 0x6d90f420, 0x38faf: 0x6d90f620,\n\t0x38fb0: 0x6d90f820, 0x38fb1: 0x6d90fa20, 0x38fb2: 0x6d90fc20, 0x38fb3: 0x6d90fe20,\n\t0x38fb4: 0x6d910020, 0x38fb5: 0x6d910220, 0x38fb6: 0x6d910420, 0x38fb7: 0x6d910620,\n\t0x38fb8: 0x6db42820, 0x38fb9: 0x6db42a20, 0x38fba: 0x6db42c20, 0x38fbb: 0x6db42e20,\n\t0x38fbc: 0x6db43020, 0x38fbd: 0x6db43220, 0x38fbe: 0x6db43420, 0x38fbf: 0x6db43620,\n\t// Block 0xe3f, offset 0x38fc0\n\t0x38fc0: 0x6db43820, 0x38fc1: 0x6db43a20, 0x38fc2: 0x6db43c20, 0x38fc3: 0x6db43e20,\n\t0x38fc4: 0x6db44020, 0x38fc5: 0x6db44220, 0x38fc6: 0x6db44420, 0x38fc7: 0x6db44620,\n\t0x38fc8: 0x6db44820, 0x38fc9: 0x6db44a20, 0x38fca: 0x6db44c20, 0x38fcb: 0x6db44e20,\n\t0x38fcc: 0x6db45020, 0x38fcd: 0x6db45220, 0x38fce: 0x6db45420, 0x38fcf: 0x6db45620,\n\t0x38fd0: 0x6db45820, 0x38fd1: 0x6db45a20, 0x38fd2: 0x6db45c20, 0x38fd3: 0x6db45e20,\n\t0x38fd4: 0x6db46020, 0x38fd5: 0x6db46220, 0x38fd6: 0x6db46420, 0x38fd7: 0x6db46620,\n\t0x38fd8: 0x6db46820, 0x38fd9: 0x6db46a20, 0x38fda: 0x6db46c20, 0x38fdb: 0x6db46e20,\n\t0x38fdc: 0x6db47020, 0x38fdd: 0x6db47220, 0x38fde: 0x6db47420, 0x38fdf: 0x6db47620,\n\t0x38fe0: 0x6db47820, 0x38fe1: 0x6db47a20, 0x38fe2: 0x6db47c20, 0x38fe3: 0x6db47e20,\n\t0x38fe4: 0x6db48020, 0x38fe5: 0x6db48220, 0x38fe6: 0x6db48420, 0x38fe7: 0x6db48620,\n\t0x38fe8: 0x6db48820, 0x38fe9: 0x6db48a20, 0x38fea: 0x6db48c20, 0x38feb: 0x6db48e20,\n\t0x38fec: 0x6db49020, 0x38fed: 0x6db49220, 0x38fee: 0x6db49420, 0x38fef: 0x6db49620,\n\t0x38ff0: 0x6dcfa420, 0x38ff1: 0x6db49820, 0x38ff2: 0x6db49a20, 0x38ff3: 0x6db49c20,\n\t0x38ff4: 0x6db49e20, 0x38ff5: 0x6db4a020, 0x38ff6: 0x6db4a220, 0x38ff7: 0x6db4a420,\n\t0x38ff8: 0x6db4a620, 0x38ff9: 0x6db4a820, 0x38ffa: 0x6db4aa20, 0x38ffb: 0x6db4ac20,\n\t0x38ffc: 0x6db4ae20, 0x38ffd: 0x6db4b020, 0x38ffe: 0x6db4b220, 0x38fff: 0x6db4b420,\n\t// Block 0xe40, offset 0x39000\n\t0x39000: 0x6db4b620, 0x39001: 0x6db4b820, 0x39002: 0x6db4ba20, 0x39003: 0x6db4bc20,\n\t0x39004: 0x6dd2fa20, 0x39005: 0x6dd2fc20, 0x39006: 0x6dd2fe20, 0x39007: 0x6dd30020,\n\t0x39008: 0x6dd30220, 0x39009: 0x6dd30420, 0x3900a: 0x6dd30620, 0x3900b: 0x6dd30820,\n\t0x3900c: 0x6dd30a20, 0x3900d: 0x6dd30c20, 0x3900e: 0x6dd30e20, 0x3900f: 0x6dd31020,\n\t0x39010: 0x6dd31220, 0x39011: 0x6dd31420, 0x39012: 0x6dd31620, 0x39013: 0x6dd31820,\n\t0x39014: 0x6dd31a20, 0x39015: 0x6dd31c20, 0x39016: 0x6dd31e20, 0x39017: 0x6dd32020,\n\t0x39018: 0x6dd32220, 0x39019: 0x6dd32420, 0x3901a: 0x6dd32620, 0x3901b: 0x6dd32820,\n\t0x3901c: 0x6dd32a20, 0x3901d: 0x6dd32c20, 0x3901e: 0x6dd32e20, 0x3901f: 0x6dd33020,\n\t0x39020: 0x6dd33220, 0x39021: 0x6dd33420, 0x39022: 0x6dd33620, 0x39023: 0x6dd33820,\n\t0x39024: 0x6dd33a20, 0x39025: 0x6dd33c20, 0x39026: 0x6dd33e20, 0x39027: 0x6dd34020,\n\t0x39028: 0x6dd34220, 0x39029: 0x6dd34420, 0x3902a: 0x6dd34620, 0x3902b: 0x6dd34820,\n\t0x3902c: 0x6dd34a20, 0x3902d: 0x6dd34c20, 0x3902e: 0x6dd34e20, 0x3902f: 0x6dd35020,\n\t0x39030: 0x6dd35220, 0x39031: 0x6dd35420, 0x39032: 0x6dd35620, 0x39033: 0x6dd35820,\n\t0x39034: 0x6dd35a20, 0x39035: 0x6dd35c20, 0x39036: 0x6dd35e20, 0x39037: 0x6dd36020,\n\t0x39038: 0x6dd36220, 0x39039: 0x6dd36420, 0x3903a: 0x6dd36620, 0x3903b: 0x6dd36820,\n\t0x3903c: 0x6dd36a20, 0x3903d: 0x6dd36c20, 0x3903e: 0x6dd36e20, 0x3903f: 0x6dd37020,\n\t// Block 0xe41, offset 0x39040\n\t0x39040: 0x6dd37220, 0x39041: 0x6dd37420, 0x39042: 0x6dd37620, 0x39043: 0x6dd37820,\n\t0x39044: 0x6dd37a20, 0x39045: 0x6dd37c20, 0x39046: 0x6dd37e20, 0x39047: 0x6dd38020,\n\t0x39048: 0x6dd38220, 0x39049: 0x6dd38420, 0x3904a: 0x6dd38620, 0x3904b: 0x6dd38820,\n\t0x3904c: 0x6dd38a20, 0x3904d: 0x6dd38c20, 0x3904e: 0x6dec2620, 0x3904f: 0x6dec2820,\n\t0x39050: 0x6dec2a20, 0x39051: 0x6dec2c20, 0x39052: 0x6dec2e20, 0x39053: 0x6dec3020,\n\t0x39054: 0x6dec3220, 0x39055: 0x6dec3420, 0x39056: 0x6dec3620, 0x39057: 0x6dec3820,\n\t0x39058: 0x6dec3a20, 0x39059: 0x6dec3c20, 0x3905a: 0x6dec3e20, 0x3905b: 0x6dec4020,\n\t0x3905c: 0x6dec4220, 0x3905d: 0x6dec4420, 0x3905e: 0x6dec4620, 0x3905f: 0x6dec4820,\n\t0x39060: 0x6dec4a20, 0x39061: 0x6dec4c20, 0x39062: 0x6dec4e20, 0x39063: 0x6dec5020,\n\t0x39064: 0x6dec5220, 0x39065: 0x6dec5420, 0x39066: 0x6dec5620, 0x39067: 0x6dec5820,\n\t0x39068: 0x6dec5a20, 0x39069: 0x6dec5c20, 0x3906a: 0x6dec5e20, 0x3906b: 0x6dec6020,\n\t0x3906c: 0x6dec6220, 0x3906d: 0x6dec6420, 0x3906e: 0x6dec6620, 0x3906f: 0x6dec6820,\n\t0x39070: 0x6dec6a20, 0x39071: 0x6dec6c20, 0x39072: 0x6dec6e20, 0x39073: 0x6dec7020,\n\t0x39074: 0x6dec7220, 0x39075: 0x6dec7420, 0x39076: 0x6dec7620, 0x39077: 0x6dec7820,\n\t0x39078: 0x6dec7a20, 0x39079: 0x6dec7c20, 0x3907a: 0x6dec7e20, 0x3907b: 0x6dec8020,\n\t0x3907c: 0x6dec8220, 0x3907d: 0x6dec8420, 0x3907e: 0x6dec8620, 0x3907f: 0x6dec8820,\n\t// Block 0xe42, offset 0x39080\n\t0x39080: 0x6dec8a20, 0x39081: 0x6dec8c20, 0x39082: 0x6dec8e20, 0x39083: 0x6dec9020,\n\t0x39084: 0x6dec9220, 0x39085: 0x6dec9420, 0x39086: 0x6dec9620, 0x39087: 0x6dec9820,\n\t0x39088: 0x6dec9a20, 0x39089: 0x6e018420, 0x3908a: 0x6e018620, 0x3908b: 0x6e018820,\n\t0x3908c: 0x6e018a20, 0x3908d: 0x6e018c20, 0x3908e: 0x6e018e20, 0x3908f: 0x6e019020,\n\t0x39090: 0x6e019220, 0x39091: 0x6e019420, 0x39092: 0x6e019620, 0x39093: 0x6e019820,\n\t0x39094: 0x6e019a20, 0x39095: 0x6e019c20, 0x39096: 0x6e019e20, 0x39097: 0x6e01a020,\n\t0x39098: 0x6e01a220, 0x39099: 0x6e01a420, 0x3909a: 0x6e01a620, 0x3909b: 0x6e01a820,\n\t0x3909c: 0x6e01aa20, 0x3909d: 0x6e01ac20, 0x3909e: 0x6e01ae20, 0x3909f: 0x6e01b020,\n\t0x390a0: 0x6e01b220, 0x390a1: 0x6e01b420, 0x390a2: 0x6e01b620, 0x390a3: 0x6e01b820,\n\t0x390a4: 0x6e01ba20, 0x390a5: 0x6e01bc20, 0x390a6: 0x6e01be20, 0x390a7: 0x6e01c020,\n\t0x390a8: 0x6e01c220, 0x390a9: 0x6e01c420, 0x390aa: 0x6e01c620, 0x390ab: 0x6e01c820,\n\t0x390ac: 0x6e01ca20, 0x390ad: 0x6e01cc20, 0x390ae: 0x6e01ce20, 0x390af: 0x6e01d020,\n\t0x390b0: 0x6e01d220, 0x390b1: 0x6e136a20, 0x390b2: 0x6e136c20, 0x390b3: 0x6e136e20,\n\t0x390b4: 0x6e137020, 0x390b5: 0x6e137220, 0x390b6: 0x6e137420, 0x390b7: 0x6e137620,\n\t0x390b8: 0x6e137820, 0x390b9: 0x6e137a20, 0x390ba: 0x6e137c20, 0x390bb: 0x6e137e20,\n\t0x390bc: 0x6e138020, 0x390bd: 0x6e138220, 0x390be: 0x6e138420, 0x390bf: 0x6e138620,\n\t// Block 0xe43, offset 0x390c0\n\t0x390c0: 0x6e138820, 0x390c1: 0x6e138a20, 0x390c2: 0x6e138c20, 0x390c3: 0x6e138e20,\n\t0x390c4: 0x6e139020, 0x390c5: 0x6e139220, 0x390c6: 0x6e139420, 0x390c7: 0x6e139620,\n\t0x390c8: 0x6e139820, 0x390c9: 0x6e139a20, 0x390ca: 0x6e139c20, 0x390cb: 0x6e139e20,\n\t0x390cc: 0x6e13a020, 0x390cd: 0x6e13a220, 0x390ce: 0x6e13a420, 0x390cf: 0x6e13a620,\n\t0x390d0: 0x6e13a820, 0x390d1: 0x6e13aa20, 0x390d2: 0x6e13ac20, 0x390d3: 0x6e13ae20,\n\t0x390d4: 0x6e13b020, 0x390d5: 0x6e13b220, 0x390d6: 0x6e13b420, 0x390d7: 0x6e13b620,\n\t0x390d8: 0x6e13b820, 0x390d9: 0x6e13ba20, 0x390da: 0x6e13bc20, 0x390db: 0x6e13be20,\n\t0x390dc: 0x6e13c020, 0x390dd: 0x6e213820, 0x390de: 0x6e213a20, 0x390df: 0x6e213c20,\n\t0x390e0: 0x6e213e20, 0x390e1: 0x6e214020, 0x390e2: 0x6e214220, 0x390e3: 0x6e214420,\n\t0x390e4: 0x6e214620, 0x390e5: 0x6e214820, 0x390e6: 0x6e214a20, 0x390e7: 0x6e214c20,\n\t0x390e8: 0x6e214e20, 0x390e9: 0x6e215020, 0x390ea: 0x6e215220, 0x390eb: 0x6e215420,\n\t0x390ec: 0x6e215620, 0x390ed: 0x6e215820, 0x390ee: 0x6e215a20, 0x390ef: 0x6e215c20,\n\t0x390f0: 0x6e215e20, 0x390f1: 0x6e216020, 0x390f2: 0x6e216220, 0x390f3: 0x6e216420,\n\t0x390f4: 0x6e216620, 0x390f5: 0x6e216820, 0x390f6: 0x6e216a20, 0x390f7: 0x6e216c20,\n\t0x390f8: 0x6e216e20, 0x390f9: 0x6e217020, 0x390fa: 0x6e217220, 0x390fb: 0x6e217420,\n\t0x390fc: 0x6e217620, 0x390fd: 0x6e217820, 0x390fe: 0x6e217a20, 0x390ff: 0x6e217c20,\n\t// Block 0xe44, offset 0x39100\n\t0x39100: 0x6e217e20, 0x39101: 0x6e218020, 0x39102: 0x6e218220, 0x39103: 0x6e2bf020,\n\t0x39104: 0x6e2bf220, 0x39105: 0x6e2bf420, 0x39106: 0x6e2bf620, 0x39107: 0x6e2bf820,\n\t0x39108: 0x6e2bfa20, 0x39109: 0x6e2bfc20, 0x3910a: 0x6e2bfe20, 0x3910b: 0x6e2c0020,\n\t0x3910c: 0x6e2c0220, 0x3910d: 0x6e2c0420, 0x3910e: 0x6e2c0620, 0x3910f: 0x6e2c0820,\n\t0x39110: 0x6e2c0a20, 0x39111: 0x6e2c0c20, 0x39112: 0x6e2c0e20, 0x39113: 0x6e343220,\n\t0x39114: 0x6e2c1020, 0x39115: 0x6e2c1220, 0x39116: 0x6e2c1420, 0x39117: 0x6e2c1620,\n\t0x39118: 0x6e2c1820, 0x39119: 0x6e2c1a20, 0x3911a: 0x6e2c1c20, 0x3911b: 0x6e343420,\n\t0x3911c: 0x6e343620, 0x3911d: 0x6e343820, 0x3911e: 0x6e343a20, 0x3911f: 0x6e343c20,\n\t0x39120: 0x6e343e20, 0x39121: 0x6e344020, 0x39122: 0x6e344220, 0x39123: 0x6e344420,\n\t0x39124: 0x6e344620, 0x39125: 0x6e344820, 0x39126: 0x6e344a20, 0x39127: 0x6e344c20,\n\t0x39128: 0x6e344e20, 0x39129: 0x6e345020, 0x3912a: 0x6e345220, 0x3912b: 0x6e345420,\n\t0x3912c: 0x6e345620, 0x3912d: 0x6e345820, 0x3912e: 0x6e345a20, 0x3912f: 0x6e39ee20,\n\t0x39130: 0x6e39f020, 0x39131: 0x6e39f220, 0x39132: 0x6e39f420, 0x39133: 0x6e39f620,\n\t0x39134: 0x6e39f820, 0x39135: 0x6e39fa20, 0x39136: 0x6e39fc20, 0x39137: 0x6e39fe20,\n\t0x39138: 0x6e3a0020, 0x39139: 0x6e3a0220, 0x3913a: 0x6e3a0420, 0x3913b: 0x6e3a0620,\n\t0x3913c: 0x6e3a0820, 0x3913d: 0x6e3e1820, 0x3913e: 0x6e3e1a20, 0x3913f: 0x6e3e1c20,\n\t// Block 0xe45, offset 0x39140\n\t0x39140: 0x6e3e1e20, 0x39141: 0x6e3e2020, 0x39142: 0x6e3e2220, 0x39143: 0x6e3e2420,\n\t0x39144: 0x6e40e220, 0x39145: 0x6e40e420, 0x39146: 0x6e40e620, 0x39147: 0x6e40e820,\n\t0x39148: 0x6e40ea20, 0x39149: 0x6e40ec20, 0x3914a: 0x6e3e2620, 0x3914b: 0x6e40ee20,\n\t0x3914c: 0x6e40f020, 0x3914d: 0x6e40f220, 0x3914e: 0x6e40f420, 0x3914f: 0x6e40f620,\n\t0x39150: 0x6e40f820, 0x39151: 0x6e42fe20, 0x39152: 0x6e430020, 0x39153: 0x6e430220,\n\t0x39154: 0x6e430420, 0x39155: 0x6e430620, 0x39156: 0x6e430820, 0x39157: 0x6e430a20,\n\t0x39158: 0x6e446e20, 0x39159: 0x6e447020, 0x3915a: 0x6e447220, 0x3915b: 0x6e447420,\n\t0x3915c: 0x6e455220, 0x3915d: 0x6e455420, 0x3915e: 0x6e455620, 0x3915f: 0x6e455820,\n\t0x39160: 0x6e459020, 0x39161: 0x6e455a20, 0x39162: 0x6e45d220, 0x39163: 0x6e45d420,\n\t0x39164: 0x6e463a20, 0x39165: 0x6e463c20, 0x39166: 0x6e463e20, 0x39167: 0x6c403620,\n\t0x39168: 0x6c403820, 0x39169: 0x6c403a20, 0x3916a: 0x6c5ffc20, 0x3916b: 0x6c858820,\n\t0x3916c: 0x6c858a20, 0x3916d: 0x6c858c20, 0x3916e: 0x6c858e20, 0x3916f: 0x6c859020,\n\t0x39170: 0x6caf1e20, 0x39171: 0x6caf2020, 0x39172: 0x6caf2220, 0x39173: 0x6cde4c20,\n\t0x39174: 0x6cde4e20, 0x39175: 0x6d0cbe20, 0x39176: 0x6d0cc020, 0x39177: 0x6d0cc220,\n\t0x39178: 0x6d0cc420, 0x39179: 0x6d0cc620, 0x3917a: 0x6d3b1220, 0x3917b: 0x6d3b1420,\n\t0x3917c: 0x6d3b1620, 0x3917d: 0x6d3b1820, 0x3917e: 0x6d3b1a20, 0x3917f: 0x6d3b1c20,\n\t// Block 0xe46, offset 0x39180\n\t0x39180: 0x6d673c20, 0x39181: 0x6d673e20, 0x39182: 0x6d674020, 0x39183: 0x6d674220,\n\t0x39184: 0x6d3b1e20, 0x39185: 0x6d674420, 0x39186: 0x6d911620, 0x39187: 0x6d911820,\n\t0x39188: 0x6d911a20, 0x39189: 0x6d911c20, 0x3918a: 0x6d911e20, 0x3918b: 0x6db4c820,\n\t0x3918c: 0x6db4ca20, 0x3918d: 0x6db4cc20, 0x3918e: 0x6dd39820, 0x3918f: 0x6dd39a20,\n\t0x39190: 0x6dd39c20, 0x39191: 0x6dd39e20, 0x39192: 0x6dd3a020, 0x39193: 0x6dd3a220,\n\t0x39194: 0x6deca620, 0x39195: 0x6deca820, 0x39196: 0x6e01dc20, 0x39197: 0x6e01de20,\n\t0x39198: 0x6e13cc20, 0x39199: 0x6e218620, 0x3919a: 0x6e218820, 0x3919b: 0x6e2c1e20,\n\t0x3919c: 0x6e455c20, 0x3919d: 0x6c403c20, 0x3919e: 0x6c403e20, 0x3919f: 0x6c404020,\n\t0x391a0: 0x6c404220, 0x391a1: 0x6c600220, 0x391a2: 0x6c600420, 0x391a3: 0x6c600620,\n\t0x391a4: 0x6c600820, 0x391a5: 0x6c600a20, 0x391a6: 0x6c859820, 0x391a7: 0x6c859a20,\n\t0x391a8: 0x6c859c20, 0x391a9: 0x6c859e20, 0x391aa: 0x6caf3020, 0x391ab: 0x6cde5a20,\n\t0x391ac: 0x6cde5c20, 0x391ad: 0x6cde5e20, 0x391ae: 0x6cde6020, 0x391af: 0x6cde6220,\n\t0x391b0: 0x6cde6420, 0x391b1: 0x6cde6620, 0x391b2: 0x6d0ccc20, 0x391b3: 0x6d0cce20,\n\t0x391b4: 0x6d0cd020, 0x391b5: 0x6d0cd220, 0x391b6: 0x6d0cd420, 0x391b7: 0x6d0cd620,\n\t0x391b8: 0x6d3b2020, 0x391b9: 0x6d674e20, 0x391ba: 0x6d3b2220, 0x391bb: 0x6d3b2420,\n\t0x391bc: 0x6d675020, 0x391bd: 0x6d675220, 0x391be: 0x6d912e20, 0x391bf: 0x6db4d220,\n\t// Block 0xe47, offset 0x391c0\n\t0x391c0: 0x6db4d420, 0x391c1: 0x6db4d620, 0x391c2: 0x6dd3a420, 0x391c3: 0x6dd3a620,\n\t0x391c4: 0x6decaa20, 0x391c5: 0x6e13ce20, 0x391c6: 0x6e218a20, 0x391c7: 0x6c0a6220,\n\t0x391c8: 0x6c269020, 0x391c9: 0x6c269220, 0x391ca: 0x6c269420, 0x391cb: 0x6c269620,\n\t0x391cc: 0x6c269820, 0x391cd: 0x6c404c20, 0x391ce: 0x6c404e20, 0x391cf: 0x6c405020,\n\t0x391d0: 0x6c405220, 0x391d1: 0x6c405420, 0x391d2: 0x6c405620, 0x391d3: 0x6c405820,\n\t0x391d4: 0x6c405a20, 0x391d5: 0x6c405c20, 0x391d6: 0x6c405e20, 0x391d7: 0x6c406020,\n\t0x391d8: 0x6c406220, 0x391d9: 0x6c406420, 0x391da: 0x6c406620, 0x391db: 0x6c406820,\n\t0x391dc: 0x6c406a20, 0x391dd: 0x6c601e20, 0x391de: 0x6c602020, 0x391df: 0x6c602220,\n\t0x391e0: 0x6c602420, 0x391e1: 0x6c602620, 0x391e2: 0x6c602820, 0x391e3: 0x6c602a20,\n\t0x391e4: 0x6c602c20, 0x391e5: 0x6c602e20, 0x391e6: 0x6c603020, 0x391e7: 0x6c603220,\n\t0x391e8: 0x6c603420, 0x391e9: 0x6c603620, 0x391ea: 0x6c603820, 0x391eb: 0x6c603a20,\n\t0x391ec: 0x6c603c20, 0x391ed: 0x6c603e20, 0x391ee: 0x6c604020, 0x391ef: 0x6c604220,\n\t0x391f0: 0x6c604420, 0x391f1: 0x6c604620, 0x391f2: 0x6c604820, 0x391f3: 0x6c604a20,\n\t0x391f4: 0x6c604c20, 0x391f5: 0x6c604e20, 0x391f6: 0x6c605020, 0x391f7: 0x6c605220,\n\t0x391f8: 0x6c605420, 0x391f9: 0x6c605620, 0x391fa: 0x6c605820, 0x391fb: 0x6c605a20,\n\t0x391fc: 0x6c605c20, 0x391fd: 0x6c85dc20, 0x391fe: 0x6caf9220, 0x391ff: 0x6c85de20,\n\t// Block 0xe48, offset 0x39200\n\t0x39200: 0x6c85e020, 0x39201: 0x6c85e220, 0x39202: 0x6c85e420, 0x39203: 0x6c85e620,\n\t0x39204: 0x6c85e820, 0x39205: 0x6c85ea20, 0x39206: 0x6c85ec20, 0x39207: 0x6c85ee20,\n\t0x39208: 0x6c85f020, 0x39209: 0x6c85f220, 0x3920a: 0x6c85f420, 0x3920b: 0x6c85f620,\n\t0x3920c: 0x6c85f820, 0x3920d: 0x6c85fa20, 0x3920e: 0x6c85fc20, 0x3920f: 0x6c85fe20,\n\t0x39210: 0x6c860020, 0x39211: 0x6c860220, 0x39212: 0x6c860420, 0x39213: 0x6c860620,\n\t0x39214: 0x6c860820, 0x39215: 0x6c860a20, 0x39216: 0x6c860c20, 0x39217: 0x6c860e20,\n\t0x39218: 0x6c861020, 0x39219: 0x6c861220, 0x3921a: 0x6c861420, 0x3921b: 0x6c861620,\n\t0x3921c: 0x6c861820, 0x3921d: 0x6c861a20, 0x3921e: 0x6caf9420, 0x3921f: 0x6caf9620,\n\t0x39220: 0x6caf9820, 0x39221: 0x6caf9a20, 0x39222: 0x6caf9c20, 0x39223: 0x6caf9e20,\n\t0x39224: 0x6cafa020, 0x39225: 0x6cafa220, 0x39226: 0x6cafa420, 0x39227: 0x6cafa620,\n\t0x39228: 0x6cafa820, 0x39229: 0x6cafaa20, 0x3922a: 0x6cafac20, 0x3922b: 0x6cafae20,\n\t0x3922c: 0x6cafb020, 0x3922d: 0x6cafb220, 0x3922e: 0x6cafb420, 0x3922f: 0x6cafb620,\n\t0x39230: 0x6cafb820, 0x39231: 0x6cafba20, 0x39232: 0x6cafbc20, 0x39233: 0x6cafbe20,\n\t0x39234: 0x6cafc020, 0x39235: 0x6cafc220, 0x39236: 0x6cafc420, 0x39237: 0x6cafc620,\n\t0x39238: 0x6cafc820, 0x39239: 0x6cafca20, 0x3923a: 0x6cafcc20, 0x3923b: 0x6cafce20,\n\t0x3923c: 0x6cafd020, 0x3923d: 0x6cafd220, 0x3923e: 0x6cafd420, 0x3923f: 0x6cafd620,\n\t// Block 0xe49, offset 0x39240\n\t0x39240: 0x6cdeac20, 0x39241: 0x6cdeae20, 0x39242: 0x6cdeb020, 0x39243: 0x6cdeb220,\n\t0x39244: 0x6cdeb420, 0x39245: 0x6cdeb620, 0x39246: 0x6cdeb820, 0x39247: 0x6cdeba20,\n\t0x39248: 0x6cdebc20, 0x39249: 0x6cdebe20, 0x3924a: 0x6cdec020, 0x3924b: 0x6cdec220,\n\t0x3924c: 0x6cdec420, 0x3924d: 0x6cdec620, 0x3924e: 0x6cdec820, 0x3924f: 0x6cdeca20,\n\t0x39250: 0x6cdecc20, 0x39251: 0x6cdece20, 0x39252: 0x6cded020, 0x39253: 0x6cded220,\n\t0x39254: 0x6cded420, 0x39255: 0x6cded620, 0x39256: 0x6cded820, 0x39257: 0x6cdeda20,\n\t0x39258: 0x6cdedc20, 0x39259: 0x6cdede20, 0x3925a: 0x6cdee020, 0x3925b: 0x6cdee220,\n\t0x3925c: 0x6cdee420, 0x3925d: 0x6cdee620, 0x3925e: 0x6cdee820, 0x3925f: 0x6cdeea20,\n\t0x39260: 0x6cdeec20, 0x39261: 0x6cdeee20, 0x39262: 0x6cdef020, 0x39263: 0x6cdef220,\n\t0x39264: 0x6d0d1420, 0x39265: 0x6d0d1620, 0x39266: 0x6d0d1820, 0x39267: 0x6d0d1a20,\n\t0x39268: 0x6d0d1c20, 0x39269: 0x6d0d1e20, 0x3926a: 0x6d0d2020, 0x3926b: 0x6d0d2220,\n\t0x3926c: 0x6d0d2420, 0x3926d: 0x6d0d2620, 0x3926e: 0x6d0d2820, 0x3926f: 0x6d0d2a20,\n\t0x39270: 0x6d0d2c20, 0x39271: 0x6d0d2e20, 0x39272: 0x6d0d3020, 0x39273: 0x6d0d3220,\n\t0x39274: 0x6d0d3420, 0x39275: 0x6d0d3620, 0x39276: 0x6d0d3820, 0x39277: 0x6d0d3a20,\n\t0x39278: 0x6d0d3c20, 0x39279: 0x6d0d3e20, 0x3927a: 0x6d0d4020, 0x3927b: 0x6d3b8420,\n\t0x3927c: 0x6d0d4220, 0x3927d: 0x6d0d4420, 0x3927e: 0x6d0d4620, 0x3927f: 0x6d0d4820,\n\t// Block 0xe4a, offset 0x39280\n\t0x39280: 0x6d0d4a20, 0x39281: 0x6d0d4c20, 0x39282: 0x6d0d4e20, 0x39283: 0x6d0d5020,\n\t0x39284: 0x6d0d5220, 0x39285: 0x6d0d5420, 0x39286: 0x6d0d5620, 0x39287: 0x6d0d5820,\n\t0x39288: 0x6d0d5a20, 0x39289: 0x6d0d5c20, 0x3928a: 0x6d0d5e20, 0x3928b: 0x6d0d6020,\n\t0x3928c: 0x6d0d6220, 0x3928d: 0x6d0d6420, 0x3928e: 0x6d0d6620, 0x3928f: 0x6d3b8620,\n\t0x39290: 0x6d3b8820, 0x39291: 0x6d3b8a20, 0x39292: 0x6d3b8c20, 0x39293: 0x6d3b8e20,\n\t0x39294: 0x6d3b9020, 0x39295: 0x6d3b9220, 0x39296: 0x6d3b9420, 0x39297: 0x6d3b9620,\n\t0x39298: 0x6d3b9820, 0x39299: 0x6d3b9a20, 0x3929a: 0x6d3b9c20, 0x3929b: 0x6d3b9e20,\n\t0x3929c: 0x6d3ba020, 0x3929d: 0x6d3ba220, 0x3929e: 0x6d3ba420, 0x3929f: 0x6d3ba620,\n\t0x392a0: 0x6d3ba820, 0x392a1: 0x6d3baa20, 0x392a2: 0x6d3bac20, 0x392a3: 0x6d3bae20,\n\t0x392a4: 0x6d3bb020, 0x392a5: 0x6d3bb220, 0x392a6: 0x6d3bb420, 0x392a7: 0x6d3bb620,\n\t0x392a8: 0x6d3bb820, 0x392a9: 0x6d3bba20, 0x392aa: 0x6d3bbc20, 0x392ab: 0x6d3bbe20,\n\t0x392ac: 0x6d3bc020, 0x392ad: 0x6d3bc220, 0x392ae: 0x6d3bc420, 0x392af: 0x6d3bc620,\n\t0x392b0: 0x6d3bc820, 0x392b1: 0x6d3bca20, 0x392b2: 0x6d3bcc20, 0x392b3: 0x6d3bce20,\n\t0x392b4: 0x6d3bd020, 0x392b5: 0x6d3bd220, 0x392b6: 0x6d3bd420, 0x392b7: 0x6d3bd620,\n\t0x392b8: 0x6d67a020, 0x392b9: 0x6d67a220, 0x392ba: 0x6d67a420, 0x392bb: 0x6d67a620,\n\t0x392bc: 0x6d67a820, 0x392bd: 0x6d67aa20, 0x392be: 0x6d67ac20, 0x392bf: 0x6d67ae20,\n\t// Block 0xe4b, offset 0x392c0\n\t0x392c0: 0x6d67b020, 0x392c1: 0x6d67b220, 0x392c2: 0x6d67b420, 0x392c3: 0x6d67b620,\n\t0x392c4: 0x6d67b820, 0x392c5: 0x6d67ba20, 0x392c6: 0x6d67bc20, 0x392c7: 0x6d67be20,\n\t0x392c8: 0x6d67c020, 0x392c9: 0x6d67c220, 0x392ca: 0x6d67c420, 0x392cb: 0x6d67c620,\n\t0x392cc: 0x6d67c820, 0x392cd: 0x6d67ca20, 0x392ce: 0x6d67cc20, 0x392cf: 0x6d67ce20,\n\t0x392d0: 0x6d67d020, 0x392d1: 0x6d67d220, 0x392d2: 0x6d67d420, 0x392d3: 0x6d67d620,\n\t0x392d4: 0x6d67d820, 0x392d5: 0x6d67da20, 0x392d6: 0x6d67dc20, 0x392d7: 0x6d67de20,\n\t0x392d8: 0x6d67e020, 0x392d9: 0x6d67e220, 0x392da: 0x6d67e420, 0x392db: 0x6d67e620,\n\t0x392dc: 0x6d67e820, 0x392dd: 0x6d916820, 0x392de: 0x6d916a20, 0x392df: 0x6d916c20,\n\t0x392e0: 0x6d916e20, 0x392e1: 0x6d917020, 0x392e2: 0x6d917220, 0x392e3: 0x6d917420,\n\t0x392e4: 0x6d917620, 0x392e5: 0x6d917820, 0x392e6: 0x6d917a20, 0x392e7: 0x6d917c20,\n\t0x392e8: 0x6d67ea20, 0x392e9: 0x6d917e20, 0x392ea: 0x6d918020, 0x392eb: 0x6d918220,\n\t0x392ec: 0x6d918420, 0x392ed: 0x6db51820, 0x392ee: 0x6d918620, 0x392ef: 0x6d918820,\n\t0x392f0: 0x6d918a20, 0x392f1: 0x6d918c20, 0x392f2: 0x6d918e20, 0x392f3: 0x6d919020,\n\t0x392f4: 0x6d919220, 0x392f5: 0x6d919420, 0x392f6: 0x6d919620, 0x392f7: 0x6d919820,\n\t0x392f8: 0x6d919a20, 0x392f9: 0x6d919c20, 0x392fa: 0x6d919e20, 0x392fb: 0x6d91a020,\n\t0x392fc: 0x6d91a220, 0x392fd: 0x6d91a420, 0x392fe: 0x6d91a620, 0x392ff: 0x6d91a820,\n\t// Block 0xe4c, offset 0x39300\n\t0x39300: 0x6d91aa20, 0x39301: 0x6d91ac20, 0x39302: 0x6db51a20, 0x39303: 0x6db51c20,\n\t0x39304: 0x6db51e20, 0x39305: 0x6db52020, 0x39306: 0x6db52220, 0x39307: 0x6db52420,\n\t0x39308: 0x6db52620, 0x39309: 0x6db52820, 0x3930a: 0x6db52a20, 0x3930b: 0x6db52c20,\n\t0x3930c: 0x6db52e20, 0x3930d: 0x6db53020, 0x3930e: 0x6db53220, 0x3930f: 0x6db53420,\n\t0x39310: 0x6db53620, 0x39311: 0x6db53820, 0x39312: 0x6db53a20, 0x39313: 0x6db53c20,\n\t0x39314: 0x6db53e20, 0x39315: 0x6db54020, 0x39316: 0x6db54220, 0x39317: 0x6db54420,\n\t0x39318: 0x6db54620, 0x39319: 0x6db54820, 0x3931a: 0x6db54a20, 0x3931b: 0x6db54c20,\n\t0x3931c: 0x6db54e20, 0x3931d: 0x6db55020, 0x3931e: 0x6db55220, 0x3931f: 0x6db55420,\n\t0x39320: 0x6db55620, 0x39321: 0x6db55820, 0x39322: 0x6db55a20, 0x39323: 0x6db55c20,\n\t0x39324: 0x6db55e20, 0x39325: 0x6db56020, 0x39326: 0x6db56220, 0x39327: 0x6db56420,\n\t0x39328: 0x6db56620, 0x39329: 0x6db56820, 0x3932a: 0x6db56a20, 0x3932b: 0x6db56c20,\n\t0x3932c: 0x6db56e20, 0x3932d: 0x6db57020, 0x3932e: 0x6db57220, 0x3932f: 0x6db57420,\n\t0x39330: 0x6db57620, 0x39331: 0x6dd3d220, 0x39332: 0x6dd3d420, 0x39333: 0x6dd3d620,\n\t0x39334: 0x6dd3d820, 0x39335: 0x6dd3da20, 0x39336: 0x6dd3dc20, 0x39337: 0x6dd3de20,\n\t0x39338: 0x6dd3e020, 0x39339: 0x6dd3e220, 0x3933a: 0x6dd3e420, 0x3933b: 0x6dd3e620,\n\t0x3933c: 0x6dd3e820, 0x3933d: 0x6dd3ea20, 0x3933e: 0x6dd3ec20, 0x3933f: 0x6dd3ee20,\n\t// Block 0xe4d, offset 0x39340\n\t0x39340: 0x6dd3f020, 0x39341: 0x6dd3f220, 0x39342: 0x6dd3f420, 0x39343: 0x6dd3f620,\n\t0x39344: 0x6dd3f820, 0x39345: 0x6dd3fa20, 0x39346: 0x6dd3fc20, 0x39347: 0x6dd3fe20,\n\t0x39348: 0x6dd40020, 0x39349: 0x6dd40220, 0x3934a: 0x6dd40420, 0x3934b: 0x6dd40620,\n\t0x3934c: 0x6dd40820, 0x3934d: 0x6decca20, 0x3934e: 0x6deccc20, 0x3934f: 0x6decce20,\n\t0x39350: 0x6decd020, 0x39351: 0x6decd220, 0x39352: 0x6decd420, 0x39353: 0x6decd620,\n\t0x39354: 0x6decd820, 0x39355: 0x6decda20, 0x39356: 0x6decdc20, 0x39357: 0x6e01f820,\n\t0x39358: 0x6decde20, 0x39359: 0x6dece020, 0x3935a: 0x6dece220, 0x3935b: 0x6dece420,\n\t0x3935c: 0x6dece620, 0x3935d: 0x6dece820, 0x3935e: 0x6decea20, 0x3935f: 0x6decec20,\n\t0x39360: 0x6decee20, 0x39361: 0x6decf020, 0x39362: 0x6decf220, 0x39363: 0x6decf420,\n\t0x39364: 0x6decf620, 0x39365: 0x6decf820, 0x39366: 0x6decfa20, 0x39367: 0x6e01fa20,\n\t0x39368: 0x6e01fc20, 0x39369: 0x6e01fe20, 0x3936a: 0x6e020020, 0x3936b: 0x6e020220,\n\t0x3936c: 0x6e020420, 0x3936d: 0x6e020620, 0x3936e: 0x6e020820, 0x3936f: 0x6e020a20,\n\t0x39370: 0x6e020c20, 0x39371: 0x6e020e20, 0x39372: 0x6e13de20, 0x39373: 0x6e021020,\n\t0x39374: 0x6e021220, 0x39375: 0x6e021420, 0x39376: 0x6e13e020, 0x39377: 0x6e13e220,\n\t0x39378: 0x6e13e420, 0x39379: 0x6e13e620, 0x3937a: 0x6e13e820, 0x3937b: 0x6e13ea20,\n\t0x3937c: 0x6e13ec20, 0x3937d: 0x6e13ee20, 0x3937e: 0x6e13f020, 0x3937f: 0x6e13f220,\n\t// Block 0xe4e, offset 0x39380\n\t0x39380: 0x6e13f420, 0x39381: 0x6e13f620, 0x39382: 0x6e13f820, 0x39383: 0x6e219620,\n\t0x39384: 0x6e219820, 0x39385: 0x6e219a20, 0x39386: 0x6e219c20, 0x39387: 0x6e219e20,\n\t0x39388: 0x6e2c2c20, 0x39389: 0x6e2c2e20, 0x3938a: 0x6e2c3020, 0x3938b: 0x6e2c3220,\n\t0x3938c: 0x6e346820, 0x3938d: 0x6e346a20, 0x3938e: 0x6e346c20, 0x3938f: 0x6e346e20,\n\t0x39390: 0x6e3a1620, 0x39391: 0x6e3a1820, 0x39392: 0x6e3a1a20, 0x39393: 0x6e3a1c20,\n\t0x39394: 0x6e3a1e20, 0x39395: 0x6e3e2820, 0x39396: 0x6e3e2a20, 0x39397: 0x6e3e2c20,\n\t0x39398: 0x6e410020, 0x39399: 0x6e447820, 0x3939a: 0x6e447a20, 0x3939b: 0x6e45d620,\n\t0x3939c: 0x6e468e20, 0x3939d: 0x6e469020, 0x3939e: 0x6e470420, 0x3939f: 0x6e470620,\n\t0x393a0: 0x6c269a20, 0x393a1: 0x6c269c20, 0x393a2: 0x6c269e20, 0x393a3: 0x6c406c20,\n\t0x393a4: 0x6c606820, 0x393a5: 0x6c606a20, 0x393a6: 0x6c606c20, 0x393a7: 0x6c862420,\n\t0x393a8: 0x6c862620, 0x393a9: 0x6c862820, 0x393aa: 0x6cafe620, 0x393ab: 0x6cafe820,\n\t0x393ac: 0x6cafea20, 0x393ad: 0x6cdf0220, 0x393ae: 0x6cdf0420, 0x393af: 0x6d0d7820,\n\t0x393b0: 0x6d0d7a20, 0x393b1: 0x6d3bdc20, 0x393b2: 0x6d3bde20, 0x393b3: 0x6d3be020,\n\t0x393b4: 0x6d3be220, 0x393b5: 0x6d3be420, 0x393b6: 0x6d3be620, 0x393b7: 0x6d3be820,\n\t0x393b8: 0x6d3bea20, 0x393b9: 0x6d67f220, 0x393ba: 0x6d67f420, 0x393bb: 0x6d67f620,\n\t0x393bc: 0x6d91ba20, 0x393bd: 0x6d91bc20, 0x393be: 0x6d91be20, 0x393bf: 0x6db57e20,\n\t// Block 0xe4f, offset 0x393c0\n\t0x393c0: 0x6dd41020, 0x393c1: 0x6dd41220, 0x393c2: 0x6ded0220, 0x393c3: 0x6e021820,\n\t0x393c4: 0x6e13fa20, 0x393c5: 0x6e3a2220, 0x393c6: 0x6c406e20, 0x393c7: 0x6c407020,\n\t0x393c8: 0x6c607020, 0x393c9: 0x6c863220, 0x393ca: 0x6c863420, 0x393cb: 0x6c863620,\n\t0x393cc: 0x6c863820, 0x393cd: 0x6c863a20, 0x393ce: 0x6cb00020, 0x393cf: 0x6cb00220,\n\t0x393d0: 0x6cb00420, 0x393d1: 0x6cb00620, 0x393d2: 0x6cb00820, 0x393d3: 0x6cb00a20,\n\t0x393d4: 0x6cb00c20, 0x393d5: 0x6cb00e20, 0x393d6: 0x6cb01020, 0x393d7: 0x6cb01220,\n\t0x393d8: 0x6cb01420, 0x393d9: 0x6cb01620, 0x393da: 0x6cb01820, 0x393db: 0x6cb01a20,\n\t0x393dc: 0x6cdf1a20, 0x393dd: 0x6cdf1c20, 0x393de: 0x6cdf1e20, 0x393df: 0x6cdf2020,\n\t0x393e0: 0x6cdf2220, 0x393e1: 0x6cdf2420, 0x393e2: 0x6cdf2620, 0x393e3: 0x6cdf2820,\n\t0x393e4: 0x6cdf2a20, 0x393e5: 0x6cdf2c20, 0x393e6: 0x6cdf2e20, 0x393e7: 0x6cdf3020,\n\t0x393e8: 0x6d0d8420, 0x393e9: 0x6d0d8620, 0x393ea: 0x6d0d8820, 0x393eb: 0x6d0d8a20,\n\t0x393ec: 0x6d0d8c20, 0x393ed: 0x6d0d8e20, 0x393ee: 0x6d0d9020, 0x393ef: 0x6d0d9220,\n\t0x393f0: 0x6d0d9420, 0x393f1: 0x6d0d9620, 0x393f2: 0x6d0d9820, 0x393f3: 0x6d0d9a20,\n\t0x393f4: 0x6d0d9c20, 0x393f5: 0x6d0d9e20, 0x393f6: 0x6d0da020, 0x393f7: 0x6d0da220,\n\t0x393f8: 0x6d0da420, 0x393f9: 0x6d0da620, 0x393fa: 0x6d0da820, 0x393fb: 0x6d3bfa20,\n\t0x393fc: 0x6d3bfc20, 0x393fd: 0x6d3bfe20, 0x393fe: 0x6d3c0020, 0x393ff: 0x6d3c0220,\n\t// Block 0xe50, offset 0x39400\n\t0x39400: 0x6d3c0420, 0x39401: 0x6d3c0620, 0x39402: 0x6d3c0820, 0x39403: 0x6d3c0a20,\n\t0x39404: 0x6d3c0c20, 0x39405: 0x6d3c0e20, 0x39406: 0x6d3c1020, 0x39407: 0x6d3c1220,\n\t0x39408: 0x6d3c1420, 0x39409: 0x6d3c1620, 0x3940a: 0x6d3c1820, 0x3940b: 0x6d680420,\n\t0x3940c: 0x6d680620, 0x3940d: 0x6d680820, 0x3940e: 0x6d680a20, 0x3940f: 0x6d680c20,\n\t0x39410: 0x6d680e20, 0x39411: 0x6d681020, 0x39412: 0x6d681220, 0x39413: 0x6d681420,\n\t0x39414: 0x6d681620, 0x39415: 0x6d681820, 0x39416: 0x6d681a20, 0x39417: 0x6d681c20,\n\t0x39418: 0x6d681e20, 0x39419: 0x6d682020, 0x3941a: 0x6d682220, 0x3941b: 0x6d682420,\n\t0x3941c: 0x6d682620, 0x3941d: 0x6d682820, 0x3941e: 0x6d682a20, 0x3941f: 0x6d682c20,\n\t0x39420: 0x6d682e20, 0x39421: 0x6d91d220, 0x39422: 0x6d91d420, 0x39423: 0x6d91d620,\n\t0x39424: 0x6d91d820, 0x39425: 0x6d91da20, 0x39426: 0x6d91dc20, 0x39427: 0x6d91de20,\n\t0x39428: 0x6d91e020, 0x39429: 0x6d91e220, 0x3942a: 0x6d91e420, 0x3942b: 0x6d91e620,\n\t0x3942c: 0x6d91e820, 0x3942d: 0x6d91ea20, 0x3942e: 0x6d91ec20, 0x3942f: 0x6d91ee20,\n\t0x39430: 0x6d91f020, 0x39431: 0x6d91f220, 0x39432: 0x6d91f420, 0x39433: 0x6d91f620,\n\t0x39434: 0x6d91f820, 0x39435: 0x6d91fa20, 0x39436: 0x6d91fc20, 0x39437: 0x6db59020,\n\t0x39438: 0x6db59220, 0x39439: 0x6db59420, 0x3943a: 0x6db59620, 0x3943b: 0x6db59820,\n\t0x3943c: 0x6db59a20, 0x3943d: 0x6db59c20, 0x3943e: 0x6db59e20, 0x3943f: 0x6db5a020,\n\t// Block 0xe51, offset 0x39440\n\t0x39440: 0x6db5a220, 0x39441: 0x6db5a420, 0x39442: 0x6dd42020, 0x39443: 0x6dd42220,\n\t0x39444: 0x6dd42420, 0x39445: 0x6dd42620, 0x39446: 0x6dd42820, 0x39447: 0x6dd42a20,\n\t0x39448: 0x6dd42c20, 0x39449: 0x6dd42e20, 0x3944a: 0x6dd43020, 0x3944b: 0x6dd43220,\n\t0x3944c: 0x6ded1820, 0x3944d: 0x6ded1a20, 0x3944e: 0x6ded1c20, 0x3944f: 0x6ded1e20,\n\t0x39450: 0x6ded2020, 0x39451: 0x6ded2220, 0x39452: 0x6e022020, 0x39453: 0x6e022220,\n\t0x39454: 0x6e022420, 0x39455: 0x6e022620, 0x39456: 0x6e022820, 0x39457: 0x6e022a20,\n\t0x39458: 0x6e140220, 0x39459: 0x6e140420, 0x3945a: 0x6e140620, 0x3945b: 0x6e140820,\n\t0x3945c: 0x6e21a820, 0x3945d: 0x6e21aa20, 0x3945e: 0x6e21ac20, 0x3945f: 0x6e21ae20,\n\t0x39460: 0x6e21b020, 0x39461: 0x6e21b220, 0x39462: 0x6e347020, 0x39463: 0x6e347220,\n\t0x39464: 0x6e347420, 0x39465: 0x6e347620, 0x39466: 0x6e3a2620, 0x39467: 0x6e3a2820,\n\t0x39468: 0x6e3a2a20, 0x39469: 0x6e3a2c20, 0x3946a: 0x6e3a2e20, 0x3946b: 0x6e3a3020,\n\t0x3946c: 0x6e3e3020, 0x3946d: 0x6e410220, 0x3946e: 0x6e430c20, 0x3946f: 0x6e46b420,\n\t0x39470: 0x6e470820, 0x39471: 0x6e473020, 0x39472: 0x6c26a820, 0x39473: 0x6c407620,\n\t0x39474: 0x6c608020, 0x39475: 0x6c608220, 0x39476: 0x6c608420, 0x39477: 0x6c864220,\n\t0x39478: 0x6c864420, 0x39479: 0x6c864620, 0x3947a: 0x6c864820, 0x3947b: 0x6cb02a20,\n\t0x3947c: 0x6cb02c20, 0x3947d: 0x6cb02e20, 0x3947e: 0x6cb03020, 0x3947f: 0x6cb03220,\n\t// Block 0xe52, offset 0x39480\n\t0x39480: 0x6cb03420, 0x39481: 0x6cb03620, 0x39482: 0x6cb03820, 0x39483: 0x6cb03a20,\n\t0x39484: 0x6cb03c20, 0x39485: 0x6cb03e20, 0x39486: 0x6cb04020, 0x39487: 0x6cb04220,\n\t0x39488: 0x6cb04420, 0x39489: 0x6cb04620, 0x3948a: 0x6cb04820, 0x3948b: 0x6cb04a20,\n\t0x3948c: 0x6cb04c20, 0x3948d: 0x6cb04e20, 0x3948e: 0x6cb05020, 0x3948f: 0x6cb05220,\n\t0x39490: 0x6cb05420, 0x39491: 0x6cdf4020, 0x39492: 0x6cdf4220, 0x39493: 0x6cdf4420,\n\t0x39494: 0x6cdf4620, 0x39495: 0x6cdf4820, 0x39496: 0x6cdf4a20, 0x39497: 0x6cdf4c20,\n\t0x39498: 0x6cdf4e20, 0x39499: 0x6cdf5020, 0x3949a: 0x6cdf5220, 0x3949b: 0x6cdf5420,\n\t0x3949c: 0x6cdf5620, 0x3949d: 0x6cdf5820, 0x3949e: 0x6cdf5a20, 0x3949f: 0x6cdf5c20,\n\t0x394a0: 0x6cdf5e20, 0x394a1: 0x6d0dca20, 0x394a2: 0x6d0dcc20, 0x394a3: 0x6d0dce20,\n\t0x394a4: 0x6d0dd020, 0x394a5: 0x6d0dd220, 0x394a6: 0x6d0dd420, 0x394a7: 0x6d0dd620,\n\t0x394a8: 0x6d3c2a20, 0x394a9: 0x6d3c2c20, 0x394aa: 0x6d3c2e20, 0x394ab: 0x6d3c3020,\n\t0x394ac: 0x6d3c3220, 0x394ad: 0x6d3c3420, 0x394ae: 0x6d3c3620, 0x394af: 0x6d3c3820,\n\t0x394b0: 0x6d3c3a20, 0x394b1: 0x6d3c3c20, 0x394b2: 0x6d3c3e20, 0x394b3: 0x6d3c4020,\n\t0x394b4: 0x6d684c20, 0x394b5: 0x6d684e20, 0x394b6: 0x6d685020, 0x394b7: 0x6d685220,\n\t0x394b8: 0x6d685420, 0x394b9: 0x6d685620, 0x394ba: 0x6d685820, 0x394bb: 0x6d685a20,\n\t0x394bc: 0x6d685c20, 0x394bd: 0x6d685e20, 0x394be: 0x6d686020, 0x394bf: 0x6d686220,\n\t// Block 0xe53, offset 0x394c0\n\t0x394c0: 0x6d686420, 0x394c1: 0x6d686620, 0x394c2: 0x6d686820, 0x394c3: 0x6d686a20,\n\t0x394c4: 0x6d686c20, 0x394c5: 0x6d686e20, 0x394c6: 0x6d687020, 0x394c7: 0x6d687220,\n\t0x394c8: 0x6d687420, 0x394c9: 0x6d687620, 0x394ca: 0x6d687820, 0x394cb: 0x6d920c20,\n\t0x394cc: 0x6d920e20, 0x394cd: 0x6d921020, 0x394ce: 0x6d921220, 0x394cf: 0x6d921420,\n\t0x394d0: 0x6d921620, 0x394d1: 0x6d921820, 0x394d2: 0x6d921a20, 0x394d3: 0x6d921c20,\n\t0x394d4: 0x6d921e20, 0x394d5: 0x6d922020, 0x394d6: 0x6d922220, 0x394d7: 0x6d922420,\n\t0x394d8: 0x6d922620, 0x394d9: 0x6d922820, 0x394da: 0x6d922a20, 0x394db: 0x6db5b020,\n\t0x394dc: 0x6db5b220, 0x394dd: 0x6db5b420, 0x394de: 0x6db5b620, 0x394df: 0x6db5b820,\n\t0x394e0: 0x6db5ba20, 0x394e1: 0x6db5bc20, 0x394e2: 0x6d922c20, 0x394e3: 0x6db5be20,\n\t0x394e4: 0x6db5c020, 0x394e5: 0x6db5c220, 0x394e6: 0x6db5c420, 0x394e7: 0x6db5c620,\n\t0x394e8: 0x6db5c820, 0x394e9: 0x6db5ca20, 0x394ea: 0x6db5cc20, 0x394eb: 0x6db5ce20,\n\t0x394ec: 0x6db5d020, 0x394ed: 0x6db5d220, 0x394ee: 0x6db5d420, 0x394ef: 0x6dd43c20,\n\t0x394f0: 0x6dd43e20, 0x394f1: 0x6dd44020, 0x394f2: 0x6dd44220, 0x394f3: 0x6dd44420,\n\t0x394f4: 0x6dd44620, 0x394f5: 0x6dd44820, 0x394f6: 0x6dd44a20, 0x394f7: 0x6dd44c20,\n\t0x394f8: 0x6dd44e20, 0x394f9: 0x6dd45020, 0x394fa: 0x6ded2e20, 0x394fb: 0x6ded3020,\n\t0x394fc: 0x6ded3220, 0x394fd: 0x6ded3420, 0x394fe: 0x6ded3620, 0x394ff: 0x6ded3820,\n\t// Block 0xe54, offset 0x39500\n\t0x39500: 0x6ded3a20, 0x39501: 0x6ded3c20, 0x39502: 0x6ded3e20, 0x39503: 0x6ded4020,\n\t0x39504: 0x6e023820, 0x39505: 0x6e023a20, 0x39506: 0x6e023c20, 0x39507: 0x6e023e20,\n\t0x39508: 0x6e140c20, 0x39509: 0x6e140e20, 0x3950a: 0x6e141020, 0x3950b: 0x6e141220,\n\t0x3950c: 0x6e21b820, 0x3950d: 0x6e21ba20, 0x3950e: 0x6e21bc20, 0x3950f: 0x6e21be20,\n\t0x39510: 0x6e21c020, 0x39511: 0x6e2c4020, 0x39512: 0x6e2c4220, 0x39513: 0x6e347820,\n\t0x39514: 0x6e347a20, 0x39515: 0x6e3a3a20, 0x39516: 0x6e3e3220, 0x39517: 0x6e430e20,\n\t0x39518: 0x6e431020, 0x39519: 0x6e447c20, 0x3951a: 0x6e447e20, 0x3951b: 0x6c26ae20,\n\t0x3951c: 0x6c26b020, 0x3951d: 0x6c407820, 0x3951e: 0x6c407a20, 0x3951f: 0x6c407c20,\n\t0x39520: 0x6c609a20, 0x39521: 0x6c867220, 0x39522: 0x6c867420, 0x39523: 0x6c867620,\n\t0x39524: 0x6c867820, 0x39525: 0x6c867a20, 0x39526: 0x6c867c20, 0x39527: 0x6c867e20,\n\t0x39528: 0x6c868020, 0x39529: 0x6c868220, 0x3952a: 0x6c868420, 0x3952b: 0x6c868620,\n\t0x3952c: 0x6c868820, 0x3952d: 0x6c868a20, 0x3952e: 0x6cb0aa20, 0x3952f: 0x6cb0ac20,\n\t0x39530: 0x6cb0ae20, 0x39531: 0x6cb0b020, 0x39532: 0x6cb0b220, 0x39533: 0x6cb0b420,\n\t0x39534: 0x6cb0b620, 0x39535: 0x6cb0b820, 0x39536: 0x6cb0ba20, 0x39537: 0x6cb0bc20,\n\t0x39538: 0x6cb0be20, 0x39539: 0x6cb0c020, 0x3953a: 0x6cb0c220, 0x3953b: 0x6cb0c420,\n\t0x3953c: 0x6cb0c620, 0x3953d: 0x6cb0c820, 0x3953e: 0x6cb0ca20, 0x3953f: 0x6cb0cc20,\n\t// Block 0xe55, offset 0x39540\n\t0x39540: 0x6cb0ce20, 0x39541: 0x6cb0d020, 0x39542: 0x6cb0d220, 0x39543: 0x6cb0d420,\n\t0x39544: 0x6cb0d620, 0x39545: 0x6cb0d820, 0x39546: 0x6cb0da20, 0x39547: 0x6cb0dc20,\n\t0x39548: 0x6cb0de20, 0x39549: 0x6cb0e020, 0x3954a: 0x6cb0e220, 0x3954b: 0x6cb0e420,\n\t0x3954c: 0x6cb0e620, 0x3954d: 0x6cb0e820, 0x3954e: 0x6cb0ea20, 0x3954f: 0x6cb0ec20,\n\t0x39550: 0x6cb0ee20, 0x39551: 0x6cb0f020, 0x39552: 0x6cb0f220, 0x39553: 0x6cb0f420,\n\t0x39554: 0x6cb0f620, 0x39555: 0x6cb0f820, 0x39556: 0x6cb0fa20, 0x39557: 0x6cb0fc20,\n\t0x39558: 0x6cb0fe20, 0x39559: 0x6cb10020, 0x3955a: 0x6cb10220, 0x3955b: 0x6cb10420,\n\t0x3955c: 0x6cdfd620, 0x3955d: 0x6cdfd820, 0x3955e: 0x6cdfda20, 0x3955f: 0x6cdfdc20,\n\t0x39560: 0x6cdfde20, 0x39561: 0x6cdfe020, 0x39562: 0x6cdfe220, 0x39563: 0x6cdfe420,\n\t0x39564: 0x6cdfe620, 0x39565: 0x6cdfe820, 0x39566: 0x6cdfea20, 0x39567: 0x6cdfec20,\n\t0x39568: 0x6cdfee20, 0x39569: 0x6cdff020, 0x3956a: 0x6cdff220, 0x3956b: 0x6cdff420,\n\t0x3956c: 0x6cdff620, 0x3956d: 0x6cdff820, 0x3956e: 0x6cdffa20, 0x3956f: 0x6cdffc20,\n\t0x39570: 0x6cdffe20, 0x39571: 0x6ce00020, 0x39572: 0x6ce00220, 0x39573: 0x6ce00420,\n\t0x39574: 0x6ce00620, 0x39575: 0x6ce00820, 0x39576: 0x6ce00a20, 0x39577: 0x6ce00c20,\n\t0x39578: 0x6ce00e20, 0x39579: 0x6ce01020, 0x3957a: 0x6ce01220, 0x3957b: 0x6ce01420,\n\t0x3957c: 0x6ce01620, 0x3957d: 0x6ce01820, 0x3957e: 0x6ce01a20, 0x3957f: 0x6ce01c20,\n\t// Block 0xe56, offset 0x39580\n\t0x39580: 0x6ce01e20, 0x39581: 0x6ce02020, 0x39582: 0x6ce02220, 0x39583: 0x6d0e4a20,\n\t0x39584: 0x6d0e4c20, 0x39585: 0x6d0e4e20, 0x39586: 0x6d0e5020, 0x39587: 0x6d0e5220,\n\t0x39588: 0x6d0e5420, 0x39589: 0x6d0e5620, 0x3958a: 0x6d0e5820, 0x3958b: 0x6d0e5a20,\n\t0x3958c: 0x6d0e5c20, 0x3958d: 0x6d0e5e20, 0x3958e: 0x6d0e6020, 0x3958f: 0x6d0e6220,\n\t0x39590: 0x6d0e6420, 0x39591: 0x6d0e6620, 0x39592: 0x6d0e6820, 0x39593: 0x6d0e6a20,\n\t0x39594: 0x6d0e6c20, 0x39595: 0x6d0e6e20, 0x39596: 0x6d0e7020, 0x39597: 0x6d0e7220,\n\t0x39598: 0x6d0e7420, 0x39599: 0x6d0e7620, 0x3959a: 0x6d0e7820, 0x3959b: 0x6d0e7a20,\n\t0x3959c: 0x6d0e7c20, 0x3959d: 0x6d0e7e20, 0x3959e: 0x6d0e8020, 0x3959f: 0x6d0e8220,\n\t0x395a0: 0x6d0e8420, 0x395a1: 0x6d0e8620, 0x395a2: 0x6d0e8820, 0x395a3: 0x6d0e8a20,\n\t0x395a4: 0x6d0e8c20, 0x395a5: 0x6d0e8e20, 0x395a6: 0x6d0e9020, 0x395a7: 0x6d0e9220,\n\t0x395a8: 0x6d0e9420, 0x395a9: 0x6d0e9620, 0x395aa: 0x6d0e9820, 0x395ab: 0x6d0e9a20,\n\t0x395ac: 0x6d0e9c20, 0x395ad: 0x6d0e9e20, 0x395ae: 0x6d0ea020, 0x395af: 0x6d0ea220,\n\t0x395b0: 0x6d0ea420, 0x395b1: 0x6d0ea620, 0x395b2: 0x6d0ea820, 0x395b3: 0x6d0eaa20,\n\t0x395b4: 0x6d3c9e20, 0x395b5: 0x6d3ca020, 0x395b6: 0x6d3ca220, 0x395b7: 0x6d3ca420,\n\t0x395b8: 0x6d3ca620, 0x395b9: 0x6d3ca820, 0x395ba: 0x6d3caa20, 0x395bb: 0x6d3cac20,\n\t0x395bc: 0x6d3cae20, 0x395bd: 0x6d3cb020, 0x395be: 0x6d3cb220, 0x395bf: 0x6d3cb420,\n\t// Block 0xe57, offset 0x395c0\n\t0x395c0: 0x6d3cb620, 0x395c1: 0x6d3cb820, 0x395c2: 0x6d3cba20, 0x395c3: 0x6d3cbc20,\n\t0x395c4: 0x6d3cbe20, 0x395c5: 0x6d3cc020, 0x395c6: 0x6d3cc220, 0x395c7: 0x6d3cc420,\n\t0x395c8: 0x6d3cc620, 0x395c9: 0x6d3cc820, 0x395ca: 0x6d3cca20, 0x395cb: 0x6d3ccc20,\n\t0x395cc: 0x6d3cce20, 0x395cd: 0x6d3cd020, 0x395ce: 0x6d3cd220, 0x395cf: 0x6d3cd420,\n\t0x395d0: 0x6d3cd620, 0x395d1: 0x6d3cd820, 0x395d2: 0x6d3cda20, 0x395d3: 0x6d3cdc20,\n\t0x395d4: 0x6d3cde20, 0x395d5: 0x6d3ce020, 0x395d6: 0x6d3ce220, 0x395d7: 0x6d3ce420,\n\t0x395d8: 0x6d3ce620, 0x395d9: 0x6d3ce820, 0x395da: 0x6d3cea20, 0x395db: 0x6d3cec20,\n\t0x395dc: 0x6d0eac20, 0x395dd: 0x6d3cee20, 0x395de: 0x6d3cf020, 0x395df: 0x6d3cf220,\n\t0x395e0: 0x6d3cf420, 0x395e1: 0x6d3cf620, 0x395e2: 0x6d3cf820, 0x395e3: 0x6d3cfa20,\n\t0x395e4: 0x6d3cfc20, 0x395e5: 0x6d3cfe20, 0x395e6: 0x6d68f820, 0x395e7: 0x6d68fa20,\n\t0x395e8: 0x6d68fc20, 0x395e9: 0x6d68fe20, 0x395ea: 0x6d690020, 0x395eb: 0x6d690220,\n\t0x395ec: 0x6d690420, 0x395ed: 0x6d690620, 0x395ee: 0x6d690820, 0x395ef: 0x6d690a20,\n\t0x395f0: 0x6d690c20, 0x395f1: 0x6d690e20, 0x395f2: 0x6d691020, 0x395f3: 0x6d691220,\n\t0x395f4: 0x6d691420, 0x395f5: 0x6d691620, 0x395f6: 0x6d691820, 0x395f7: 0x6d691a20,\n\t0x395f8: 0x6d691c20, 0x395f9: 0x6d691e20, 0x395fa: 0x6d692020, 0x395fb: 0x6d692220,\n\t0x395fc: 0x6d692420, 0x395fd: 0x6d692620, 0x395fe: 0x6d692820, 0x395ff: 0x6d692a20,\n\t// Block 0xe58, offset 0x39600\n\t0x39600: 0x6d692c20, 0x39601: 0x6d692e20, 0x39602: 0x6d693020, 0x39603: 0x6d693220,\n\t0x39604: 0x6d693420, 0x39605: 0x6d693620, 0x39606: 0x6d693820, 0x39607: 0x6d693a20,\n\t0x39608: 0x6d693c20, 0x39609: 0x6d693e20, 0x3960a: 0x6d694020, 0x3960b: 0x6d694220,\n\t0x3960c: 0x6d694420, 0x3960d: 0x6d694620, 0x3960e: 0x6d694820, 0x3960f: 0x6d694a20,\n\t0x39610: 0x6d694c20, 0x39611: 0x6d694e20, 0x39612: 0x6d695020, 0x39613: 0x6d695220,\n\t0x39614: 0x6d695420, 0x39615: 0x6d695620, 0x39616: 0x6d695820, 0x39617: 0x6d695a20,\n\t0x39618: 0x6d695c20, 0x39619: 0x6d695e20, 0x3961a: 0x6d696020, 0x3961b: 0x6d696220,\n\t0x3961c: 0x6d696420, 0x3961d: 0x6d696620, 0x3961e: 0x6d696820, 0x3961f: 0x6d696a20,\n\t0x39620: 0x6d696c20, 0x39621: 0x6d696e20, 0x39622: 0x6d697020, 0x39623: 0x6d928820,\n\t0x39624: 0x6d928a20, 0x39625: 0x6d928c20, 0x39626: 0x6d928e20, 0x39627: 0x6d929020,\n\t0x39628: 0x6d929220, 0x39629: 0x6d929420, 0x3962a: 0x6d929620, 0x3962b: 0x6d929820,\n\t0x3962c: 0x6d929a20, 0x3962d: 0x6d929c20, 0x3962e: 0x6d929e20, 0x3962f: 0x6d92a020,\n\t0x39630: 0x6d92a220, 0x39631: 0x6d92a420, 0x39632: 0x6d92a620, 0x39633: 0x6d92a820,\n\t0x39634: 0x6d92aa20, 0x39635: 0x6d92ac20, 0x39636: 0x6d92ae20, 0x39637: 0x6d92b020,\n\t0x39638: 0x6d92b220, 0x39639: 0x6d92b420, 0x3963a: 0x6d92b620, 0x3963b: 0x6d92b820,\n\t0x3963c: 0x6d92ba20, 0x3963d: 0x6d92bc20, 0x3963e: 0x6d92be20, 0x3963f: 0x6d92c020,\n\t// Block 0xe59, offset 0x39640\n\t0x39640: 0x6d92c220, 0x39641: 0x6d92c420, 0x39642: 0x6d92c620, 0x39643: 0x6d92c820,\n\t0x39644: 0x6d92ca20, 0x39645: 0x6d92cc20, 0x39646: 0x6d92ce20, 0x39647: 0x6d92d020,\n\t0x39648: 0x6d92d220, 0x39649: 0x6d92d420, 0x3964a: 0x6d92d620, 0x3964b: 0x6d92d820,\n\t0x3964c: 0x6d92da20, 0x3964d: 0x6d92dc20, 0x3964e: 0x6d92de20, 0x3964f: 0x6d92e020,\n\t0x39650: 0x6d92e220, 0x39651: 0x6d92e420, 0x39652: 0x6d92e620, 0x39653: 0x6d92e820,\n\t0x39654: 0x6d92ea20, 0x39655: 0x6d92ec20, 0x39656: 0x6d92ee20, 0x39657: 0x6d92f020,\n\t0x39658: 0x6db61e20, 0x39659: 0x6db62020, 0x3965a: 0x6db62220, 0x3965b: 0x6db62420,\n\t0x3965c: 0x6db62620, 0x3965d: 0x6db62820, 0x3965e: 0x6db62a20, 0x3965f: 0x6db62c20,\n\t0x39660: 0x6db62e20, 0x39661: 0x6db63020, 0x39662: 0x6db63220, 0x39663: 0x6db63420,\n\t0x39664: 0x6db63620, 0x39665: 0x6db63820, 0x39666: 0x6db63a20, 0x39667: 0x6db63c20,\n\t0x39668: 0x6db63e20, 0x39669: 0x6db64020, 0x3966a: 0x6db64220, 0x3966b: 0x6db64420,\n\t0x3966c: 0x6db64620, 0x3966d: 0x6db64820, 0x3966e: 0x6db64a20, 0x3966f: 0x6db64c20,\n\t0x39670: 0x6db64e20, 0x39671: 0x6db65020, 0x39672: 0x6db65220, 0x39673: 0x6db65420,\n\t0x39674: 0x6db65620, 0x39675: 0x6db65820, 0x39676: 0x6db65a20, 0x39677: 0x6db65c20,\n\t0x39678: 0x6db65e20, 0x39679: 0x6db66020, 0x3967a: 0x6db66220, 0x3967b: 0x6db66420,\n\t0x3967c: 0x6db66620, 0x3967d: 0x6db66820, 0x3967e: 0x6db66a20, 0x3967f: 0x6db66c20,\n\t// Block 0xe5a, offset 0x39680\n\t0x39680: 0x6db66e20, 0x39681: 0x6db67020, 0x39682: 0x6db67220, 0x39683: 0x6db67420,\n\t0x39684: 0x6db67620, 0x39685: 0x6db67820, 0x39686: 0x6db67a20, 0x39687: 0x6db67c20,\n\t0x39688: 0x6db67e20, 0x39689: 0x6db68020, 0x3968a: 0x6db68220, 0x3968b: 0x6db68420,\n\t0x3968c: 0x6db68620, 0x3968d: 0x6db68820, 0x3968e: 0x6db68a20, 0x3968f: 0x6db68c20,\n\t0x39690: 0x6db68e20, 0x39691: 0x6db69020, 0x39692: 0x6dd49a20, 0x39693: 0x6dd49c20,\n\t0x39694: 0x6dd49e20, 0x39695: 0x6dd4a020, 0x39696: 0x6dd4a220, 0x39697: 0x6dd4a420,\n\t0x39698: 0x6dd4a620, 0x39699: 0x6dd4a820, 0x3969a: 0x6dd4aa20, 0x3969b: 0x6dd4ac20,\n\t0x3969c: 0x6dd4ae20, 0x3969d: 0x6dd4b020, 0x3969e: 0x6dd4b220, 0x3969f: 0x6dd4b420,\n\t0x396a0: 0x6dd4b620, 0x396a1: 0x6dd4b820, 0x396a2: 0x6dd4ba20, 0x396a3: 0x6dd4bc20,\n\t0x396a4: 0x6dd4be20, 0x396a5: 0x6dd4c020, 0x396a6: 0x6dd4c220, 0x396a7: 0x6dd4c420,\n\t0x396a8: 0x6dd4c620, 0x396a9: 0x6dd4c820, 0x396aa: 0x6dd4ca20, 0x396ab: 0x6dd4cc20,\n\t0x396ac: 0x6dd4ce20, 0x396ad: 0x6dd4d020, 0x396ae: 0x6dd4d220, 0x396af: 0x6dd4d420,\n\t0x396b0: 0x6dd4d620, 0x396b1: 0x6dd4d820, 0x396b2: 0x6dd4da20, 0x396b3: 0x6dd4dc20,\n\t0x396b4: 0x6dd4de20, 0x396b5: 0x6dd4e020, 0x396b6: 0x6dd4e220, 0x396b7: 0x6dd4e420,\n\t0x396b8: 0x6dd4e620, 0x396b9: 0x6dd4e820, 0x396ba: 0x6dd4ea20, 0x396bb: 0x6dd4ec20,\n\t0x396bc: 0x6dd4ee20, 0x396bd: 0x6dd4f020, 0x396be: 0x6ded8820, 0x396bf: 0x6ded8a20,\n\t// Block 0xe5b, offset 0x396c0\n\t0x396c0: 0x6ded8c20, 0x396c1: 0x6ded8e20, 0x396c2: 0x6ded9020, 0x396c3: 0x6ded9220,\n\t0x396c4: 0x6ded9420, 0x396c5: 0x6ded9620, 0x396c6: 0x6ded9820, 0x396c7: 0x6ded9a20,\n\t0x396c8: 0x6ded9c20, 0x396c9: 0x6ded9e20, 0x396ca: 0x6deda020, 0x396cb: 0x6deda220,\n\t0x396cc: 0x6deda420, 0x396cd: 0x6deda620, 0x396ce: 0x6deda820, 0x396cf: 0x6dedaa20,\n\t0x396d0: 0x6dedac20, 0x396d1: 0x6dedae20, 0x396d2: 0x6dedb020, 0x396d3: 0x6dedb220,\n\t0x396d4: 0x6dedb420, 0x396d5: 0x6dedb620, 0x396d6: 0x6dedb820, 0x396d7: 0x6dedba20,\n\t0x396d8: 0x6dedbc20, 0x396d9: 0x6dedbe20, 0x396da: 0x6dedc020, 0x396db: 0x6dedc220,\n\t0x396dc: 0x6dedc420, 0x396dd: 0x6dedc620, 0x396de: 0x6dedc820, 0x396df: 0x6dedca20,\n\t0x396e0: 0x6dedcc20, 0x396e1: 0x6dedce20, 0x396e2: 0x6dedd020, 0x396e3: 0x6dedd220,\n\t0x396e4: 0x6dedd420, 0x396e5: 0x6dedd620, 0x396e6: 0x6dedd820, 0x396e7: 0x6e027c20,\n\t0x396e8: 0x6e027e20, 0x396e9: 0x6e028020, 0x396ea: 0x6e028220, 0x396eb: 0x6e028420,\n\t0x396ec: 0x6e028620, 0x396ed: 0x6e028820, 0x396ee: 0x6e028a20, 0x396ef: 0x6e028c20,\n\t0x396f0: 0x6e028e20, 0x396f1: 0x6e029020, 0x396f2: 0x6e029220, 0x396f3: 0x6e029420,\n\t0x396f4: 0x6e029620, 0x396f5: 0x6e029820, 0x396f6: 0x6e029a20, 0x396f7: 0x6e029c20,\n\t0x396f8: 0x6e029e20, 0x396f9: 0x6e02a020, 0x396fa: 0x6e02a220, 0x396fb: 0x6e02a420,\n\t0x396fc: 0x6e02a620, 0x396fd: 0x6e02a820, 0x396fe: 0x6e02aa20, 0x396ff: 0x6e02ac20,\n\t// Block 0xe5c, offset 0x39700\n\t0x39700: 0x6e02ae20, 0x39701: 0x6e02b020, 0x39702: 0x6e143820, 0x39703: 0x6e143a20,\n\t0x39704: 0x6e143c20, 0x39705: 0x6e143e20, 0x39706: 0x6e144020, 0x39707: 0x6e144220,\n\t0x39708: 0x6e144420, 0x39709: 0x6e144620, 0x3970a: 0x6e144820, 0x3970b: 0x6e144a20,\n\t0x3970c: 0x6e144c20, 0x3970d: 0x6e144e20, 0x3970e: 0x6e145020, 0x3970f: 0x6e145220,\n\t0x39710: 0x6e145420, 0x39711: 0x6e21d820, 0x39712: 0x6e145620, 0x39713: 0x6e145820,\n\t0x39714: 0x6e145a20, 0x39715: 0x6e145c20, 0x39716: 0x6e145e20, 0x39717: 0x6e146020,\n\t0x39718: 0x6e146220, 0x39719: 0x6e146420, 0x3971a: 0x6e146620, 0x3971b: 0x6e146820,\n\t0x3971c: 0x6e21da20, 0x3971d: 0x6e21dc20, 0x3971e: 0x6e21de20, 0x3971f: 0x6e21e020,\n\t0x39720: 0x6e21e220, 0x39721: 0x6e21e420, 0x39722: 0x6e21e620, 0x39723: 0x6e21e820,\n\t0x39724: 0x6e21ea20, 0x39725: 0x6e21ec20, 0x39726: 0x6e21ee20, 0x39727: 0x6e21f020,\n\t0x39728: 0x6e21f220, 0x39729: 0x6e21f420, 0x3972a: 0x6e21f620, 0x3972b: 0x6e21f820,\n\t0x3972c: 0x6e21fa20, 0x3972d: 0x6e21fc20, 0x3972e: 0x6e21fe20, 0x3972f: 0x6e220020,\n\t0x39730: 0x6e220220, 0x39731: 0x6e220420, 0x39732: 0x6e220620, 0x39733: 0x6e220820,\n\t0x39734: 0x6e220a20, 0x39735: 0x6e220c20, 0x39736: 0x6e220e20, 0x39737: 0x6e221020,\n\t0x39738: 0x6e2c5a20, 0x39739: 0x6e2c5c20, 0x3973a: 0x6e2c5e20, 0x3973b: 0x6e2c6020,\n\t0x3973c: 0x6e2c6220, 0x3973d: 0x6e2c6420, 0x3973e: 0x6e2c6620, 0x3973f: 0x6e2c6820,\n\t// Block 0xe5d, offset 0x39740\n\t0x39740: 0x6e2c6a20, 0x39741: 0x6e2c6c20, 0x39742: 0x6e2c6e20, 0x39743: 0x6e2c7020,\n\t0x39744: 0x6e2c7220, 0x39745: 0x6e348a20, 0x39746: 0x6e348c20, 0x39747: 0x6e348e20,\n\t0x39748: 0x6e349020, 0x39749: 0x6e349220, 0x3974a: 0x6e349420, 0x3974b: 0x6e349620,\n\t0x3974c: 0x6e349820, 0x3974d: 0x6e349a20, 0x3974e: 0x6e349c20, 0x3974f: 0x6e349e20,\n\t0x39750: 0x6e34a020, 0x39751: 0x6e3a4220, 0x39752: 0x6e3a4420, 0x39753: 0x6e3a4620,\n\t0x39754: 0x6e3a4820, 0x39755: 0x6e3a4a20, 0x39756: 0x6e3a4c20, 0x39757: 0x6e3a4e20,\n\t0x39758: 0x6e3a5020, 0x39759: 0x6e3e3820, 0x3975a: 0x6e3e3a20, 0x3975b: 0x6e3e3c20,\n\t0x3975c: 0x6e3e3e20, 0x3975d: 0x6e3e4020, 0x3975e: 0x6e410a20, 0x3975f: 0x6e410c20,\n\t0x39760: 0x6e410e20, 0x39761: 0x6e411020, 0x39762: 0x6e431220, 0x39763: 0x6e431420,\n\t0x39764: 0x6e431620, 0x39765: 0x6e428c20, 0x39766: 0x6e431820, 0x39767: 0x6e431a20,\n\t0x39768: 0x6e448220, 0x39769: 0x6e472020, 0x3976a: 0x6c26d620, 0x3976b: 0x6c26e820,\n\t0x3976c: 0x6c86c820, 0x3976d: 0x6c86ca20, 0x3976e: 0x6c86cc20, 0x3976f: 0x6cb14620,\n\t0x39770: 0x6cb14820, 0x39771: 0x6cb14a20, 0x39772: 0x6cb14c20, 0x39773: 0x6ce04c20,\n\t0x39774: 0x6ce04e20, 0x39775: 0x6d0ec420, 0x39776: 0x6d0ec620, 0x39777: 0x6d0ec820,\n\t0x39778: 0x6d3d1a20, 0x39779: 0x6d3d1c20, 0x3977a: 0x6d698820, 0x3977b: 0x6d698a20,\n\t0x3977c: 0x6d698c20, 0x3977d: 0x6d698e20, 0x3977e: 0x6d699020, 0x3977f: 0x6d699220,\n\t// Block 0xe5e, offset 0x39780\n\t0x39780: 0x6d930020, 0x39781: 0x6d930220, 0x39782: 0x6d930420, 0x39783: 0x6d930620,\n\t0x39784: 0x6d930820, 0x39785: 0x6d930a20, 0x39786: 0x6db6a620, 0x39787: 0x6db6a820,\n\t0x39788: 0x6db6aa20, 0x39789: 0x6db6ac20, 0x3978a: 0x6dd50220, 0x3978b: 0x6dede620,\n\t0x3978c: 0x6dede820, 0x3978d: 0x6dedea20, 0x3978e: 0x6dedec20, 0x3978f: 0x6dedee20,\n\t0x39790: 0x6dedf020, 0x39791: 0x6dedf220, 0x39792: 0x6dedf420, 0x39793: 0x6e02b620,\n\t0x39794: 0x6e02b820, 0x39795: 0x6e146c20, 0x39796: 0x6e146e20, 0x39797: 0x6e3a5220,\n\t0x39798: 0x6e411220, 0x39799: 0x6e45da20, 0x3979a: 0x6c60c220, 0x3979b: 0x6c86d220,\n\t0x3979c: 0x6c86d420, 0x3979d: 0x6c86d620, 0x3979e: 0x6cb15420, 0x3979f: 0x6cb15620,\n\t0x397a0: 0x6ce05220, 0x397a1: 0x6ce05420, 0x397a2: 0x6ce05620, 0x397a3: 0x6ce05820,\n\t0x397a4: 0x6ce05a20, 0x397a5: 0x6d0ed020, 0x397a6: 0x6d0ed220, 0x397a7: 0x6cee2c20,\n\t0x397a8: 0x6d0ed420, 0x397a9: 0x6d3d2420, 0x397aa: 0x6d3d2620, 0x397ab: 0x6d3d2820,\n\t0x397ac: 0x6d3d2a20, 0x397ad: 0x6d699e20, 0x397ae: 0x6d69a020, 0x397af: 0x6d69a220,\n\t0x397b0: 0x6d69a420, 0x397b1: 0x6d69a620, 0x397b2: 0x6d69a820, 0x397b3: 0x6d69aa20,\n\t0x397b4: 0x6d69ac20, 0x397b5: 0x6d69ae20, 0x397b6: 0x6d69b020, 0x397b7: 0x6d931620,\n\t0x397b8: 0x6d931820, 0x397b9: 0x6d931a20, 0x397ba: 0x6d931c20, 0x397bb: 0x6d931e20,\n\t0x397bc: 0x6db6b620, 0x397bd: 0x6db6b820, 0x397be: 0x6db6ba20, 0x397bf: 0x6db6bc20,\n\t// Block 0xe5f, offset 0x397c0\n\t0x397c0: 0x6db6be20, 0x397c1: 0x6db6c020, 0x397c2: 0x6db6c220, 0x397c3: 0x6dd50820,\n\t0x397c4: 0x6dd50a20, 0x397c5: 0x6dd50c20, 0x397c6: 0x6dd50e20, 0x397c7: 0x6dd51020,\n\t0x397c8: 0x6db6c420, 0x397c9: 0x6dedf620, 0x397ca: 0x6dedf820, 0x397cb: 0x6dedfa20,\n\t0x397cc: 0x6dedfc20, 0x397cd: 0x6dedfe20, 0x397ce: 0x6dee0020, 0x397cf: 0x6dee0220,\n\t0x397d0: 0x6dee0420, 0x397d1: 0x6e02bc20, 0x397d2: 0x6e02be20, 0x397d3: 0x6e02c020,\n\t0x397d4: 0x6e02c220, 0x397d5: 0x6e02c420, 0x397d6: 0x6e02c620, 0x397d7: 0x6e147220,\n\t0x397d8: 0x6e147420, 0x397d9: 0x6e221a20, 0x397da: 0x6e221c20, 0x397db: 0x6e221e20,\n\t0x397dc: 0x6e222020, 0x397dd: 0x6e2c7a20, 0x397de: 0x6e2c7c20, 0x397df: 0x6e2c7e20,\n\t0x397e0: 0x6e34a820, 0x397e1: 0x6e3a5820, 0x397e2: 0x6e3a5a20, 0x397e3: 0x6e411620,\n\t0x397e4: 0x6e411820, 0x397e5: 0x6e448420, 0x397e6: 0x6c40ba20, 0x397e7: 0x6c26ee20,\n\t0x397e8: 0x6c26f020, 0x397e9: 0x6c60c420, 0x397ea: 0x6c86dc20, 0x397eb: 0x6c86de20,\n\t0x397ec: 0x6c86e020, 0x397ed: 0x6c86e220, 0x397ee: 0x6cb16820, 0x397ef: 0x6cb16a20,\n\t0x397f0: 0x6cb16c20, 0x397f1: 0x6cb16e20, 0x397f2: 0x6cb17020, 0x397f3: 0x6cb17220,\n\t0x397f4: 0x6cb17420, 0x397f5: 0x6ce06620, 0x397f6: 0x6ce06820, 0x397f7: 0x6ce06a20,\n\t0x397f8: 0x6ce06c20, 0x397f9: 0x6ce06e20, 0x397fa: 0x6ce07020, 0x397fb: 0x6ce07220,\n\t0x397fc: 0x6ce07420, 0x397fd: 0x6ce07620, 0x397fe: 0x6ce07820, 0x397ff: 0x6d0ee220,\n\t// Block 0xe60, offset 0x39800\n\t0x39800: 0x6d0ee420, 0x39801: 0x6d0ee620, 0x39802: 0x6d0ee820, 0x39803: 0x6d0eea20,\n\t0x39804: 0x6d0eec20, 0x39805: 0x6d0eee20, 0x39806: 0x6d0ef020, 0x39807: 0x6d0ef220,\n\t0x39808: 0x6d0ef420, 0x39809: 0x6d0ef620, 0x3980a: 0x6d0ef820, 0x3980b: 0x6d0efa20,\n\t0x3980c: 0x6d0efc20, 0x3980d: 0x6d3d3420, 0x3980e: 0x6d3d3620, 0x3980f: 0x6d3d3820,\n\t0x39810: 0x6d3d3a20, 0x39811: 0x6d3d3c20, 0x39812: 0x6d3d3e20, 0x39813: 0x6d3d4020,\n\t0x39814: 0x6d3d4220, 0x39815: 0x6d3d4420, 0x39816: 0x6d3d4620, 0x39817: 0x6d3d4820,\n\t0x39818: 0x6d69ba20, 0x39819: 0x6d69bc20, 0x3981a: 0x6d69be20, 0x3981b: 0x6d69c020,\n\t0x3981c: 0x6d69c220, 0x3981d: 0x6d69c420, 0x3981e: 0x6d69c620, 0x3981f: 0x6d69c820,\n\t0x39820: 0x6d69ca20, 0x39821: 0x6d69cc20, 0x39822: 0x6d69ce20, 0x39823: 0x6d69d020,\n\t0x39824: 0x6d69d220, 0x39825: 0x6d69d420, 0x39826: 0x6d69d620, 0x39827: 0x6d69d820,\n\t0x39828: 0x6d932a20, 0x39829: 0x6d932c20, 0x3982a: 0x6d932e20, 0x3982b: 0x6d933020,\n\t0x3982c: 0x6d933220, 0x3982d: 0x6d933420, 0x3982e: 0x6d933620, 0x3982f: 0x6d933820,\n\t0x39830: 0x6d933a20, 0x39831: 0x6d933c20, 0x39832: 0x6db6d020, 0x39833: 0x6db6d220,\n\t0x39834: 0x6db6d420, 0x39835: 0x6db6d620, 0x39836: 0x6db6d820, 0x39837: 0x6db6da20,\n\t0x39838: 0x6db6dc20, 0x39839: 0x6db6de20, 0x3983a: 0x6db6e020, 0x3983b: 0x6dd51a20,\n\t0x3983c: 0x6dd51c20, 0x3983d: 0x6dd51e20, 0x3983e: 0x6dd52020, 0x3983f: 0x6dd52220,\n\t// Block 0xe61, offset 0x39840\n\t0x39840: 0x6dd52420, 0x39841: 0x6dd52620, 0x39842: 0x6dee0c20, 0x39843: 0x6dee0e20,\n\t0x39844: 0x6dee1020, 0x39845: 0x6dee1220, 0x39846: 0x6dee1420, 0x39847: 0x6e02c820,\n\t0x39848: 0x6e02ca20, 0x39849: 0x6e02cc20, 0x3984a: 0x6e02ce20, 0x3984b: 0x6e02d020,\n\t0x3984c: 0x6e147820, 0x3984d: 0x6e147a20, 0x3984e: 0x6e147c20, 0x3984f: 0x6e147e20,\n\t0x39850: 0x6e222420, 0x39851: 0x6e222620, 0x39852: 0x6e222820, 0x39853: 0x6e222a20,\n\t0x39854: 0x6e2c8020, 0x39855: 0x6e2c8220, 0x39856: 0x6e2c8420, 0x39857: 0x6e222c20,\n\t0x39858: 0x6e34aa20, 0x39859: 0x6e34ac20, 0x3985a: 0x6e3a6020, 0x3985b: 0x6e3a6220,\n\t0x3985c: 0x6e3a6420, 0x3985d: 0x6e411a20, 0x3985e: 0x6e448620, 0x3985f: 0x6e46ec20,\n\t0x39860: 0x6c40be20, 0x39861: 0x6c60c620, 0x39862: 0x6c86ea20, 0x39863: 0x6c86ec20,\n\t0x39864: 0x6cb18420, 0x39865: 0x6cb18620, 0x39866: 0x6cb18820, 0x39867: 0x6cb18a20,\n\t0x39868: 0x6cb18c20, 0x39869: 0x6cb18e20, 0x3986a: 0x6cb19020, 0x3986b: 0x6cb19220,\n\t0x3986c: 0x6ce08a20, 0x3986d: 0x6ce08c20, 0x3986e: 0x6ce08e20, 0x3986f: 0x6ce09020,\n\t0x39870: 0x6ce09220, 0x39871: 0x6ce09420, 0x39872: 0x6ce09620, 0x39873: 0x6ce09820,\n\t0x39874: 0x6ce09a20, 0x39875: 0x6ce09c20, 0x39876: 0x6ce09e20, 0x39877: 0x6ce0a020,\n\t0x39878: 0x6ce0a220, 0x39879: 0x6ce0a420, 0x3987a: 0x6ce0a620, 0x3987b: 0x6ce0a820,\n\t0x3987c: 0x6ce0aa20, 0x3987d: 0x6ce0ac20, 0x3987e: 0x6d0f0c20, 0x3987f: 0x6d0f0e20,\n\t// Block 0xe62, offset 0x39880\n\t0x39880: 0x6d0f1020, 0x39881: 0x6d0f1220, 0x39882: 0x6d0f1420, 0x39883: 0x6d0f1620,\n\t0x39884: 0x6d0f1820, 0x39885: 0x6d0f1a20, 0x39886: 0x6d0f1c20, 0x39887: 0x6d0f1e20,\n\t0x39888: 0x6d0f2020, 0x39889: 0x6d0f2220, 0x3988a: 0x6d3d5620, 0x3988b: 0x6d3d5820,\n\t0x3988c: 0x6d3d5a20, 0x3988d: 0x6d3d5c20, 0x3988e: 0x6d3d5e20, 0x3988f: 0x6d3d6020,\n\t0x39890: 0x6d3d6220, 0x39891: 0x6d3d6420, 0x39892: 0x6d3d6620, 0x39893: 0x6d3d6820,\n\t0x39894: 0x6d3d6a20, 0x39895: 0x6d3d6c20, 0x39896: 0x6d3d6e20, 0x39897: 0x6d3d7020,\n\t0x39898: 0x6d3d7220, 0x39899: 0x6d69e420, 0x3989a: 0x6d69e620, 0x3989b: 0x6d69e820,\n\t0x3989c: 0x6d69ea20, 0x3989d: 0x6d69ec20, 0x3989e: 0x6d69ee20, 0x3989f: 0x6d69f020,\n\t0x398a0: 0x6d69f220, 0x398a1: 0x6d69f420, 0x398a2: 0x6d69f620, 0x398a3: 0x6d69f820,\n\t0x398a4: 0x6d69fa20, 0x398a5: 0x6d69fc20, 0x398a6: 0x6d934a20, 0x398a7: 0x6d934c20,\n\t0x398a8: 0x6d934e20, 0x398a9: 0x6d935020, 0x398aa: 0x6d935220, 0x398ab: 0x6d935420,\n\t0x398ac: 0x6d935620, 0x398ad: 0x6d935820, 0x398ae: 0x6d935a20, 0x398af: 0x6d935c20,\n\t0x398b0: 0x6d935e20, 0x398b1: 0x6d69fe20, 0x398b2: 0x6d936020, 0x398b3: 0x6d936220,\n\t0x398b4: 0x6d936420, 0x398b5: 0x6db6ea20, 0x398b6: 0x6db6ec20, 0x398b7: 0x6db6ee20,\n\t0x398b8: 0x6db6f020, 0x398b9: 0x6db6f220, 0x398ba: 0x6db6f420, 0x398bb: 0x6db6f620,\n\t0x398bc: 0x6db6f820, 0x398bd: 0x6db6fa20, 0x398be: 0x6db6fc20, 0x398bf: 0x6db6fe20,\n\t// Block 0xe63, offset 0x398c0\n\t0x398c0: 0x6db70020, 0x398c1: 0x6dd53220, 0x398c2: 0x6dd53420, 0x398c3: 0x6dd53620,\n\t0x398c4: 0x6dd53820, 0x398c5: 0x6dd53a20, 0x398c6: 0x6dee2220, 0x398c7: 0x6dd53c20,\n\t0x398c8: 0x6dd53e20, 0x398c9: 0x6dd54020, 0x398ca: 0x6dd54220, 0x398cb: 0x6dd54420,\n\t0x398cc: 0x6dee2420, 0x398cd: 0x6dee2620, 0x398ce: 0x6dee2820, 0x398cf: 0x6dee2a20,\n\t0x398d0: 0x6e02d220, 0x398d1: 0x6dee2c20, 0x398d2: 0x6dee2e20, 0x398d3: 0x6dee3020,\n\t0x398d4: 0x6dee3220, 0x398d5: 0x6dee3420, 0x398d6: 0x6e02d420, 0x398d7: 0x6e02d620,\n\t0x398d8: 0x6e02d820, 0x398d9: 0x6e02da20, 0x398da: 0x6e02dc20, 0x398db: 0x6e02de20,\n\t0x398dc: 0x6e02e020, 0x398dd: 0x6e148020, 0x398de: 0x6e148220, 0x398df: 0x6e222e20,\n\t0x398e0: 0x6e2c8620, 0x398e1: 0x6e2c8820, 0x398e2: 0x6e34ae20, 0x398e3: 0x6e411e20,\n\t0x398e4: 0x6c60ce20, 0x398e5: 0x6c60d020, 0x398e6: 0x6c60d220, 0x398e7: 0x6c60d420,\n\t0x398e8: 0x6c60d620, 0x398e9: 0x6c60d820, 0x398ea: 0x6c86f820, 0x398eb: 0x6c86fa20,\n\t0x398ec: 0x6c86fc20, 0x398ed: 0x6c86fe20, 0x398ee: 0x6c870020, 0x398ef: 0x6c870220,\n\t0x398f0: 0x6c870420, 0x398f1: 0x6c870620, 0x398f2: 0x6c870820, 0x398f3: 0x6cb1ac20,\n\t0x398f4: 0x6cb1ae20, 0x398f5: 0x6cb1b020, 0x398f6: 0x6cb1b220, 0x398f7: 0x6cb1b420,\n\t0x398f8: 0x6cb1b620, 0x398f9: 0x6cb1b820, 0x398fa: 0x6cb1ba20, 0x398fb: 0x6cb1bc20,\n\t0x398fc: 0x6cb1be20, 0x398fd: 0x6cb1c020, 0x398fe: 0x6cb1c220, 0x398ff: 0x6cb1c420,\n\t// Block 0xe64, offset 0x39900\n\t0x39900: 0x6cb1c620, 0x39901: 0x6cb1c820, 0x39902: 0x6cb1ca20, 0x39903: 0x6cb1cc20,\n\t0x39904: 0x6cb1ce20, 0x39905: 0x6cb1d020, 0x39906: 0x6cb1d220, 0x39907: 0x6cb1d420,\n\t0x39908: 0x6cb1d620, 0x39909: 0x6ce0e020, 0x3990a: 0x6ce0e220, 0x3990b: 0x6ce0e420,\n\t0x3990c: 0x6ce0e620, 0x3990d: 0x6ce0e820, 0x3990e: 0x6ce0ea20, 0x3990f: 0x6ce0ec20,\n\t0x39910: 0x6ce0ee20, 0x39911: 0x6ce0f020, 0x39912: 0x6ce0f220, 0x39913: 0x6ce0f420,\n\t0x39914: 0x6ce0f620, 0x39915: 0x6ce0f820, 0x39916: 0x6ce0fa20, 0x39917: 0x6ce0fc20,\n\t0x39918: 0x6ce0fe20, 0x39919: 0x6ce10020, 0x3991a: 0x6ce10220, 0x3991b: 0x6ce10420,\n\t0x3991c: 0x6ce10620, 0x3991d: 0x6ce10820, 0x3991e: 0x6ce10a20, 0x3991f: 0x6ce10c20,\n\t0x39920: 0x6ce10e20, 0x39921: 0x6ce11020, 0x39922: 0x6ce11220, 0x39923: 0x6d0f4a20,\n\t0x39924: 0x6d0f4c20, 0x39925: 0x6d0f4e20, 0x39926: 0x6d0f5020, 0x39927: 0x6d0f5220,\n\t0x39928: 0x6d0f5420, 0x39929: 0x6d0f5620, 0x3992a: 0x6d0f5820, 0x3992b: 0x6d0f5a20,\n\t0x3992c: 0x6d0f5c20, 0x3992d: 0x6d0f5e20, 0x3992e: 0x6d0f6020, 0x3992f: 0x6d0f6220,\n\t0x39930: 0x6d0f6420, 0x39931: 0x6d0f6620, 0x39932: 0x6d0f6820, 0x39933: 0x6d0f6a20,\n\t0x39934: 0x6d0f6c20, 0x39935: 0x6d0f6e20, 0x39936: 0x6d0f7020, 0x39937: 0x6d0f7220,\n\t0x39938: 0x6d0f7420, 0x39939: 0x6d0f7620, 0x3993a: 0x6d0f7820, 0x3993b: 0x6d0f7a20,\n\t0x3993c: 0x6d0f7c20, 0x3993d: 0x6d0f7e20, 0x3993e: 0x6d0f8020, 0x3993f: 0x6d0f8220,\n\t// Block 0xe65, offset 0x39940\n\t0x39940: 0x6d0f8420, 0x39941: 0x6d0f8620, 0x39942: 0x6d0f8820, 0x39943: 0x6d0f8a20,\n\t0x39944: 0x6d0f8c20, 0x39945: 0x6d3d9020, 0x39946: 0x6d3d9220, 0x39947: 0x6d3d9420,\n\t0x39948: 0x6d3d9620, 0x39949: 0x6d3d9820, 0x3994a: 0x6d3d9a20, 0x3994b: 0x6d3d9c20,\n\t0x3994c: 0x6d3d9e20, 0x3994d: 0x6d3da020, 0x3994e: 0x6d3da220, 0x3994f: 0x6d3da420,\n\t0x39950: 0x6d3da620, 0x39951: 0x6d3da820, 0x39952: 0x6d3daa20, 0x39953: 0x6d3dac20,\n\t0x39954: 0x6d3dae20, 0x39955: 0x6d3db020, 0x39956: 0x6d3db220, 0x39957: 0x6d3db420,\n\t0x39958: 0x6d3db620, 0x39959: 0x6d3db820, 0x3995a: 0x6d3dba20, 0x3995b: 0x6d6a3c20,\n\t0x3995c: 0x6d6a3e20, 0x3995d: 0x6d6a4020, 0x3995e: 0x6d6a4220, 0x3995f: 0x6d6a4420,\n\t0x39960: 0x6d6a4620, 0x39961: 0x6d6a4820, 0x39962: 0x6d6a4a20, 0x39963: 0x6d6a4c20,\n\t0x39964: 0x6d6a4e20, 0x39965: 0x6d6a5020, 0x39966: 0x6d6a5220, 0x39967: 0x6d6a5420,\n\t0x39968: 0x6d6a5620, 0x39969: 0x6d6a5820, 0x3996a: 0x6d6a5a20, 0x3996b: 0x6d6a5c20,\n\t0x3996c: 0x6d6a5e20, 0x3996d: 0x6d6a6020, 0x3996e: 0x6d6a6220, 0x3996f: 0x6d6a6420,\n\t0x39970: 0x6d6a6620, 0x39971: 0x6d938420, 0x39972: 0x6d938620, 0x39973: 0x6d938820,\n\t0x39974: 0x6d938a20, 0x39975: 0x6d938c20, 0x39976: 0x6d938e20, 0x39977: 0x6d939020,\n\t0x39978: 0x6d939220, 0x39979: 0x6d939420, 0x3997a: 0x6d939620, 0x3997b: 0x6d939820,\n\t0x3997c: 0x6d939a20, 0x3997d: 0x6d939c20, 0x3997e: 0x6d939e20, 0x3997f: 0x6d93a020,\n\t// Block 0xe66, offset 0x39980\n\t0x39980: 0x6d93a220, 0x39981: 0x6d93a420, 0x39982: 0x6d93a620, 0x39983: 0x6d93a820,\n\t0x39984: 0x6d93aa20, 0x39985: 0x6db02a20, 0x39986: 0x6d93ac20, 0x39987: 0x6d93ae20,\n\t0x39988: 0x6d93b020, 0x39989: 0x6d93b220, 0x3998a: 0x6d93b420, 0x3998b: 0x6d93b620,\n\t0x3998c: 0x6db71820, 0x3998d: 0x6db71a20, 0x3998e: 0x6db71c20, 0x3998f: 0x6db71e20,\n\t0x39990: 0x6db72020, 0x39991: 0x6db72220, 0x39992: 0x6db72420, 0x39993: 0x6db72620,\n\t0x39994: 0x6db72820, 0x39995: 0x6db72a20, 0x39996: 0x6db72c20, 0x39997: 0x6db72e20,\n\t0x39998: 0x6db73020, 0x39999: 0x6db73220, 0x3999a: 0x6db73420, 0x3999b: 0x6db73620,\n\t0x3999c: 0x6db73820, 0x3999d: 0x6db73a20, 0x3999e: 0x6dd55620, 0x3999f: 0x6dd55820,\n\t0x399a0: 0x6dd55a20, 0x399a1: 0x6dd55c20, 0x399a2: 0x6dd55e20, 0x399a3: 0x6dd56020,\n\t0x399a4: 0x6dd56220, 0x399a5: 0x6dd56420, 0x399a6: 0x6dd56620, 0x399a7: 0x6dd56820,\n\t0x399a8: 0x6dd56a20, 0x399a9: 0x6dd56c20, 0x399aa: 0x6dd56e20, 0x399ab: 0x6dd57020,\n\t0x399ac: 0x6dd57220, 0x399ad: 0x6dd57420, 0x399ae: 0x6dd57620, 0x399af: 0x6dd57820,\n\t0x399b0: 0x6dd57a20, 0x399b1: 0x6dd57c20, 0x399b2: 0x6dd57e20, 0x399b3: 0x6dd58020,\n\t0x399b4: 0x6dd58220, 0x399b5: 0x6dd58420, 0x399b6: 0x6dd58620, 0x399b7: 0x6dd58820,\n\t0x399b8: 0x6dd58a20, 0x399b9: 0x6dd58c20, 0x399ba: 0x6dd58e20, 0x399bb: 0x6dd59020,\n\t0x399bc: 0x6dee4620, 0x399bd: 0x6dee4820, 0x399be: 0x6dee4a20, 0x399bf: 0x6dee4c20,\n\t// Block 0xe67, offset 0x399c0\n\t0x399c0: 0x6dee4e20, 0x399c1: 0x6dee5020, 0x399c2: 0x6dee5220, 0x399c3: 0x6dee5420,\n\t0x399c4: 0x6dee5620, 0x399c5: 0x6dee5820, 0x399c6: 0x6dee5a20, 0x399c7: 0x6dee5c20,\n\t0x399c8: 0x6dee5e20, 0x399c9: 0x6dee6020, 0x399ca: 0x6dee6220, 0x399cb: 0x6dee6420,\n\t0x399cc: 0x6dee6620, 0x399cd: 0x6dee6820, 0x399ce: 0x6dee6a20, 0x399cf: 0x6dee6c20,\n\t0x399d0: 0x6dee6e20, 0x399d1: 0x6dee7020, 0x399d2: 0x6dee7220, 0x399d3: 0x6dee7420,\n\t0x399d4: 0x6dee7620, 0x399d5: 0x6dee7820, 0x399d6: 0x6e02ea20, 0x399d7: 0x6e02ec20,\n\t0x399d8: 0x6e02ee20, 0x399d9: 0x6e02f020, 0x399da: 0x6e02f220, 0x399db: 0x6e02f420,\n\t0x399dc: 0x6e02f620, 0x399dd: 0x6e02f820, 0x399de: 0x6e02fa20, 0x399df: 0x6e02fc20,\n\t0x399e0: 0x6e02fe20, 0x399e1: 0x6e030020, 0x399e2: 0x6e030220, 0x399e3: 0x6e030420,\n\t0x399e4: 0x6e030620, 0x399e5: 0x6e030820, 0x399e6: 0x6e148e20, 0x399e7: 0x6e149020,\n\t0x399e8: 0x6e149220, 0x399e9: 0x6e149420, 0x399ea: 0x6e149620, 0x399eb: 0x6e149820,\n\t0x399ec: 0x6e149a20, 0x399ed: 0x6e149c20, 0x399ee: 0x6e149e20, 0x399ef: 0x6e14a020,\n\t0x399f0: 0x6e14a220, 0x399f1: 0x6e223a20, 0x399f2: 0x6e223c20, 0x399f3: 0x6e223e20,\n\t0x399f4: 0x6e224020, 0x399f5: 0x6e224220, 0x399f6: 0x6e224420, 0x399f7: 0x6e224620,\n\t0x399f8: 0x6e224820, 0x399f9: 0x6e224a20, 0x399fa: 0x6e224c20, 0x399fb: 0x6e224e20,\n\t0x399fc: 0x6e225020, 0x399fd: 0x6e2c9020, 0x399fe: 0x6e2c9220, 0x399ff: 0x6e225220,\n\t// Block 0xe68, offset 0x39a00\n\t0x39a00: 0x6e2c9420, 0x39a01: 0x6e2c9620, 0x39a02: 0x6e2c9820, 0x39a03: 0x6e2c9a20,\n\t0x39a04: 0x6e2c9c20, 0x39a05: 0x6e2c9e20, 0x39a06: 0x6e2ca020, 0x39a07: 0x6e2ca220,\n\t0x39a08: 0x6e34b220, 0x39a09: 0x6e34b420, 0x39a0a: 0x6e34b620, 0x39a0b: 0x6e34b820,\n\t0x39a0c: 0x6e3a6a20, 0x39a0d: 0x6e3a6c20, 0x39a0e: 0x6e3e4420, 0x39a0f: 0x6e3e4620,\n\t0x39a10: 0x6e3e4820, 0x39a11: 0x6c40da20, 0x39a12: 0x6c60f420, 0x39a13: 0x6cb1e420,\n\t0x39a14: 0x6ce12e20, 0x39a15: 0x6ce13020, 0x39a16: 0x6ce13220, 0x39a17: 0x6d6a7420,\n\t0x39a18: 0x6c40dc20, 0x39a19: 0x6c60fa20, 0x39a1a: 0x6c60fc20, 0x39a1b: 0x6cb1ee20,\n\t0x39a1c: 0x6cb1f020, 0x39a1d: 0x6ce13620, 0x39a1e: 0x6ce13820, 0x39a1f: 0x6ce13a20,\n\t0x39a20: 0x6d0fa020, 0x39a21: 0x6d0fa220, 0x39a22: 0x6d0fa420, 0x39a23: 0x6d3dd020,\n\t0x39a24: 0x6d3dd220, 0x39a25: 0x6d3dd420, 0x39a26: 0x6d3dd620, 0x39a27: 0x6d6a7620,\n\t0x39a28: 0x6d6a7820, 0x39a29: 0x6d6a7a20, 0x39a2a: 0x6d6a7c20, 0x39a2b: 0x6d6a7e20,\n\t0x39a2c: 0x6d93d020, 0x39a2d: 0x6d93d220, 0x39a2e: 0x6d93d420, 0x39a2f: 0x6d93d620,\n\t0x39a30: 0x6d93d820, 0x39a31: 0x6d93da20, 0x39a32: 0x6db74620, 0x39a33: 0x6db74820,\n\t0x39a34: 0x6db74a20, 0x39a35: 0x6db74c20, 0x39a36: 0x6dd59620, 0x39a37: 0x6dd59820,\n\t0x39a38: 0x6dee7c20, 0x39a39: 0x6dee7e20, 0x39a3a: 0x6dee8020, 0x39a3b: 0x6dee8220,\n\t0x39a3c: 0x6dee8420, 0x39a3d: 0x6e14a820, 0x39a3e: 0x6e14aa20, 0x39a3f: 0x6e14ac20,\n\t// Block 0xe69, offset 0x39a40\n\t0x39a40: 0x6e225820, 0x39a41: 0x6e225a20, 0x39a42: 0x6e2ca620, 0x39a43: 0x6e2ca820,\n\t0x39a44: 0x6e2caa20, 0x39a45: 0x6e2cac20, 0x39a46: 0x6c26fe20, 0x39a47: 0x6c40de20,\n\t0x39a48: 0x6c610820, 0x39a49: 0x6c610a20, 0x39a4a: 0x6c610c20, 0x39a4b: 0x6c610e20,\n\t0x39a4c: 0x6c611020, 0x39a4d: 0x6c611220, 0x39a4e: 0x6c611420, 0x39a4f: 0x6c873420,\n\t0x39a50: 0x6c873620, 0x39a51: 0x6c873820, 0x39a52: 0x6c873a20, 0x39a53: 0x6c873c20,\n\t0x39a54: 0x6c873e20, 0x39a55: 0x6c874020, 0x39a56: 0x6c874220, 0x39a57: 0x6c874420,\n\t0x39a58: 0x6c874620, 0x39a59: 0x6c874820, 0x39a5a: 0x6c874a20, 0x39a5b: 0x6c874c20,\n\t0x39a5c: 0x6c874e20, 0x39a5d: 0x6cb20a20, 0x39a5e: 0x6cb20c20, 0x39a5f: 0x6cb20e20,\n\t0x39a60: 0x6cb21020, 0x39a61: 0x6cb21220, 0x39a62: 0x6cb21420, 0x39a63: 0x6cb21620,\n\t0x39a64: 0x6cb21820, 0x39a65: 0x6cb21a20, 0x39a66: 0x6cb21c20, 0x39a67: 0x6cb21e20,\n\t0x39a68: 0x6cb22020, 0x39a69: 0x6cb22220, 0x39a6a: 0x6cb22420, 0x39a6b: 0x6cb22620,\n\t0x39a6c: 0x6cb22820, 0x39a6d: 0x6cb22a20, 0x39a6e: 0x6cb22c20, 0x39a6f: 0x6cb22e20,\n\t0x39a70: 0x6cb23020, 0x39a71: 0x6cb23220, 0x39a72: 0x6cb23420, 0x39a73: 0x6cb23620,\n\t0x39a74: 0x6cb23820, 0x39a75: 0x6cb23a20, 0x39a76: 0x6ce16620, 0x39a77: 0x6ce16820,\n\t0x39a78: 0x6ce16a20, 0x39a79: 0x6ce16c20, 0x39a7a: 0x6ce16e20, 0x39a7b: 0x6ce17020,\n\t0x39a7c: 0x6ce17220, 0x39a7d: 0x6ce17420, 0x39a7e: 0x6ce17620, 0x39a7f: 0x6ce17820,\n\t// Block 0xe6a, offset 0x39a80\n\t0x39a80: 0x6ce17a20, 0x39a81: 0x6ce17c20, 0x39a82: 0x6ce17e20, 0x39a83: 0x6ce18020,\n\t0x39a84: 0x6ce18220, 0x39a85: 0x6ce18420, 0x39a86: 0x6ce18620, 0x39a87: 0x6ce18820,\n\t0x39a88: 0x6ce18a20, 0x39a89: 0x6ce18c20, 0x39a8a: 0x6ce18e20, 0x39a8b: 0x6ce19020,\n\t0x39a8c: 0x6ce19220, 0x39a8d: 0x6ce19420, 0x39a8e: 0x6ce19620, 0x39a8f: 0x6ce19820,\n\t0x39a90: 0x6d0fc620, 0x39a91: 0x6d0fc820, 0x39a92: 0x6d0fca20, 0x39a93: 0x6d0fcc20,\n\t0x39a94: 0x6d0fce20, 0x39a95: 0x6d0fd020, 0x39a96: 0x6d0fd220, 0x39a97: 0x6d0fd420,\n\t0x39a98: 0x6d0fd620, 0x39a99: 0x6d0fd820, 0x39a9a: 0x6d0fda20, 0x39a9b: 0x6d0fdc20,\n\t0x39a9c: 0x6d0fde20, 0x39a9d: 0x6d0fe020, 0x39a9e: 0x6d0fe220, 0x39a9f: 0x6d0fe420,\n\t0x39aa0: 0x6d0fe620, 0x39aa1: 0x6d0fe820, 0x39aa2: 0x6d0fea20, 0x39aa3: 0x6d0fec20,\n\t0x39aa4: 0x6d0fee20, 0x39aa5: 0x6d0ff020, 0x39aa6: 0x6d0ff220, 0x39aa7: 0x6d0ff420,\n\t0x39aa8: 0x6d0ff620, 0x39aa9: 0x6d0ff820, 0x39aaa: 0x6d0ffa20, 0x39aab: 0x6d0ffc20,\n\t0x39aac: 0x6d0ffe20, 0x39aad: 0x6d100020, 0x39aae: 0x6d100220, 0x39aaf: 0x6d3df420,\n\t0x39ab0: 0x6d3df620, 0x39ab1: 0x6d3df820, 0x39ab2: 0x6d3dfa20, 0x39ab3: 0x6d3dfc20,\n\t0x39ab4: 0x6d3dfe20, 0x39ab5: 0x6d3e0020, 0x39ab6: 0x6d3e0220, 0x39ab7: 0x6d3e0420,\n\t0x39ab8: 0x6d3e0620, 0x39ab9: 0x6d3e0820, 0x39aba: 0x6d3e0a20, 0x39abb: 0x6d3e0c20,\n\t0x39abc: 0x6d3e0e20, 0x39abd: 0x6d3e1020, 0x39abe: 0x6d3e1220, 0x39abf: 0x6d3e1420,\n\t// Block 0xe6b, offset 0x39ac0\n\t0x39ac0: 0x6d3e1620, 0x39ac1: 0x6d3e1820, 0x39ac2: 0x6d3e1a20, 0x39ac3: 0x6d3e1c20,\n\t0x39ac4: 0x6d3e1e20, 0x39ac5: 0x6d3e2020, 0x39ac6: 0x6d3e2220, 0x39ac7: 0x6d3e2420,\n\t0x39ac8: 0x6d3e2620, 0x39ac9: 0x6d3e2820, 0x39aca: 0x6d3e2a20, 0x39acb: 0x6d3e2c20,\n\t0x39acc: 0x6d3e2e20, 0x39acd: 0x6d3e3020, 0x39ace: 0x6d6aa420, 0x39acf: 0x6d6aa620,\n\t0x39ad0: 0x6d6aa820, 0x39ad1: 0x6d6aaa20, 0x39ad2: 0x6d6aac20, 0x39ad3: 0x6d6aae20,\n\t0x39ad4: 0x6d6ab020, 0x39ad5: 0x6d6ab220, 0x39ad6: 0x6d6ab420, 0x39ad7: 0x6d6ab620,\n\t0x39ad8: 0x6d6ab820, 0x39ad9: 0x6d6aba20, 0x39ada: 0x6d6abc20, 0x39adb: 0x6d6abe20,\n\t0x39adc: 0x6d6ac020, 0x39add: 0x6d3e3220, 0x39ade: 0x6d6ac220, 0x39adf: 0x6d93ea20,\n\t0x39ae0: 0x6d6ac420, 0x39ae1: 0x6d6ac620, 0x39ae2: 0x6d6ac820, 0x39ae3: 0x6d6aca20,\n\t0x39ae4: 0x6d6acc20, 0x39ae5: 0x6d6ace20, 0x39ae6: 0x6d6ad020, 0x39ae7: 0x6d6ad220,\n\t0x39ae8: 0x6d93ec20, 0x39ae9: 0x6d93ee20, 0x39aea: 0x6d93f020, 0x39aeb: 0x6d93f220,\n\t0x39aec: 0x6d93f420, 0x39aed: 0x6d93f620, 0x39aee: 0x6d93f820, 0x39aef: 0x6d93fa20,\n\t0x39af0: 0x6d93fc20, 0x39af1: 0x6d93fe20, 0x39af2: 0x6d940020, 0x39af3: 0x6d940220,\n\t0x39af4: 0x6d940420, 0x39af5: 0x6d940620, 0x39af6: 0x6d940820, 0x39af7: 0x6d940a20,\n\t0x39af8: 0x6d940c20, 0x39af9: 0x6d940e20, 0x39afa: 0x6d941020, 0x39afb: 0x6d941220,\n\t0x39afc: 0x6d941420, 0x39afd: 0x6d941620, 0x39afe: 0x6d941820, 0x39aff: 0x6d941a20,\n\t// Block 0xe6c, offset 0x39b00\n\t0x39b00: 0x6d941c20, 0x39b01: 0x6d941e20, 0x39b02: 0x6d942020, 0x39b03: 0x6d942220,\n\t0x39b04: 0x6d942420, 0x39b05: 0x6d942620, 0x39b06: 0x6d942820, 0x39b07: 0x6d942a20,\n\t0x39b08: 0x6d942c20, 0x39b09: 0x6db75820, 0x39b0a: 0x6db75a20, 0x39b0b: 0x6db75c20,\n\t0x39b0c: 0x6db75e20, 0x39b0d: 0x6db76020, 0x39b0e: 0x6db76220, 0x39b0f: 0x6db76420,\n\t0x39b10: 0x6db76620, 0x39b11: 0x6db76820, 0x39b12: 0x6db76a20, 0x39b13: 0x6db76c20,\n\t0x39b14: 0x6db76e20, 0x39b15: 0x6db77020, 0x39b16: 0x6db77220, 0x39b17: 0x6db77420,\n\t0x39b18: 0x6db77620, 0x39b19: 0x6db77820, 0x39b1a: 0x6db77a20, 0x39b1b: 0x6db77c20,\n\t0x39b1c: 0x6db77e20, 0x39b1d: 0x6db78020, 0x39b1e: 0x6dd5a820, 0x39b1f: 0x6dd5aa20,\n\t0x39b20: 0x6dd5ac20, 0x39b21: 0x6dd5ae20, 0x39b22: 0x6dd5b020, 0x39b23: 0x6dd5b220,\n\t0x39b24: 0x6dd5b420, 0x39b25: 0x6dd5b620, 0x39b26: 0x6dd5b820, 0x39b27: 0x6dd5ba20,\n\t0x39b28: 0x6dd5bc20, 0x39b29: 0x6dd5be20, 0x39b2a: 0x6dd5c020, 0x39b2b: 0x6dd5c220,\n\t0x39b2c: 0x6dd5c420, 0x39b2d: 0x6dd5c620, 0x39b2e: 0x6dd5c820, 0x39b2f: 0x6dd5ca20,\n\t0x39b30: 0x6dd5cc20, 0x39b31: 0x6dd5ce20, 0x39b32: 0x6dd5d020, 0x39b33: 0x6dd5d220,\n\t0x39b34: 0x6dd5d420, 0x39b35: 0x6dd5d620, 0x39b36: 0x6dee9020, 0x39b37: 0x6dee9220,\n\t0x39b38: 0x6dee9420, 0x39b39: 0x6dee9620, 0x39b3a: 0x6dee9820, 0x39b3b: 0x6dee9a20,\n\t0x39b3c: 0x6dee9c20, 0x39b3d: 0x6dee9e20, 0x39b3e: 0x6deea020, 0x39b3f: 0x6deea220,\n\t// Block 0xe6d, offset 0x39b40\n\t0x39b40: 0x6deea420, 0x39b41: 0x6deea620, 0x39b42: 0x6deea820, 0x39b43: 0x6deeaa20,\n\t0x39b44: 0x6deeac20, 0x39b45: 0x6deeae20, 0x39b46: 0x6deeb020, 0x39b47: 0x6deeb220,\n\t0x39b48: 0x6deeb420, 0x39b49: 0x6deeb620, 0x39b4a: 0x6deeb820, 0x39b4b: 0x6deeba20,\n\t0x39b4c: 0x6deebc20, 0x39b4d: 0x6e031420, 0x39b4e: 0x6e031620, 0x39b4f: 0x6e031820,\n\t0x39b50: 0x6e031a20, 0x39b51: 0x6e031c20, 0x39b52: 0x6e031e20, 0x39b53: 0x6e032020,\n\t0x39b54: 0x6e032220, 0x39b55: 0x6e032420, 0x39b56: 0x6e032620, 0x39b57: 0x6e032820,\n\t0x39b58: 0x6e032a20, 0x39b59: 0x6e14b420, 0x39b5a: 0x6e14b620, 0x39b5b: 0x6e14b820,\n\t0x39b5c: 0x6e14ba20, 0x39b5d: 0x6e14bc20, 0x39b5e: 0x6e14be20, 0x39b5f: 0x6e14c020,\n\t0x39b60: 0x6e14c220, 0x39b61: 0x6e226220, 0x39b62: 0x6e226420, 0x39b63: 0x6e226620,\n\t0x39b64: 0x6e226820, 0x39b65: 0x6e226a20, 0x39b66: 0x6e226c20, 0x39b67: 0x6e226e20,\n\t0x39b68: 0x6e2cb220, 0x39b69: 0x6e2cb420, 0x39b6a: 0x6e2cb620, 0x39b6b: 0x6e2cb820,\n\t0x39b6c: 0x6e2cba20, 0x39b6d: 0x6e2cbc20, 0x39b6e: 0x6e34bc20, 0x39b6f: 0x6e34be20,\n\t0x39b70: 0x6e3a7020, 0x39b71: 0x6e3a7220, 0x39b72: 0x6e3a7420, 0x39b73: 0x6e3a7620,\n\t0x39b74: 0x6e3a7820, 0x39b75: 0x6e412020, 0x39b76: 0x6e432020, 0x39b77: 0x6c270420,\n\t0x39b78: 0x6c40e020, 0x39b79: 0x6c40e220, 0x39b7a: 0x6c611c20, 0x39b7b: 0x6c611e20,\n\t0x39b7c: 0x6c612020, 0x39b7d: 0x6c612220, 0x39b7e: 0x6c612420, 0x39b7f: 0x6c612620,\n\t// Block 0xe6e, offset 0x39b80\n\t0x39b80: 0x6c612820, 0x39b81: 0x6c875c20, 0x39b82: 0x6c875e20, 0x39b83: 0x6c876020,\n\t0x39b84: 0x6c876220, 0x39b85: 0x6c876420, 0x39b86: 0x6c876620, 0x39b87: 0x6c876820,\n\t0x39b88: 0x6c876a20, 0x39b89: 0x6c876c20, 0x39b8a: 0x6c876e20, 0x39b8b: 0x6c877020,\n\t0x39b8c: 0x6c877220, 0x39b8d: 0x6c877420, 0x39b8e: 0x6c877620, 0x39b8f: 0x6c877820,\n\t0x39b90: 0x6c877a20, 0x39b91: 0x6c877c20, 0x39b92: 0x6cb26420, 0x39b93: 0x6cb26620,\n\t0x39b94: 0x6cb26820, 0x39b95: 0x6cb26a20, 0x39b96: 0x6cb26c20, 0x39b97: 0x6cb26e20,\n\t0x39b98: 0x6cb27020, 0x39b99: 0x6cb27220, 0x39b9a: 0x6cb27420, 0x39b9b: 0x6cb27620,\n\t0x39b9c: 0x6cb27820, 0x39b9d: 0x6cb27a20, 0x39b9e: 0x6cb27c20, 0x39b9f: 0x6cb27e20,\n\t0x39ba0: 0x6cb28020, 0x39ba1: 0x6cb28220, 0x39ba2: 0x6cb28420, 0x39ba3: 0x6cb28620,\n\t0x39ba4: 0x6cb28820, 0x39ba5: 0x6cb28a20, 0x39ba6: 0x6cb28c20, 0x39ba7: 0x6cb28e20,\n\t0x39ba8: 0x6cb29020, 0x39ba9: 0x6cb29220, 0x39baa: 0x6cb29420, 0x39bab: 0x6cb29620,\n\t0x39bac: 0x6cb29820, 0x39bad: 0x6cb29a20, 0x39bae: 0x6cb29c20, 0x39baf: 0x6cb29e20,\n\t0x39bb0: 0x6cb2a020, 0x39bb1: 0x6cb2a220, 0x39bb2: 0x6ce1ee20, 0x39bb3: 0x6ce1f020,\n\t0x39bb4: 0x6ce1f220, 0x39bb5: 0x6ce1f420, 0x39bb6: 0x6ce1f620, 0x39bb7: 0x6ce1f820,\n\t0x39bb8: 0x6ce1fa20, 0x39bb9: 0x6ce1fc20, 0x39bba: 0x6ce1fe20, 0x39bbb: 0x6ce20020,\n\t0x39bbc: 0x6ce20220, 0x39bbd: 0x6ce20420, 0x39bbe: 0x6ce20620, 0x39bbf: 0x6ce20820,\n\t// Block 0xe6f, offset 0x39bc0\n\t0x39bc0: 0x6ce20a20, 0x39bc1: 0x6ce20c20, 0x39bc2: 0x6ce20e20, 0x39bc3: 0x6ce21020,\n\t0x39bc4: 0x6ce21220, 0x39bc5: 0x6ce21420, 0x39bc6: 0x6ce21620, 0x39bc7: 0x6ce21820,\n\t0x39bc8: 0x6ce21a20, 0x39bc9: 0x6ce21c20, 0x39bca: 0x6ce21e20, 0x39bcb: 0x6ce22020,\n\t0x39bcc: 0x6ce22220, 0x39bcd: 0x6ce22420, 0x39bce: 0x6ce22620, 0x39bcf: 0x6ce22820,\n\t0x39bd0: 0x6ce22a20, 0x39bd1: 0x6ce22c20, 0x39bd2: 0x6ce22e20, 0x39bd3: 0x6ce23020,\n\t0x39bd4: 0x6ce23220, 0x39bd5: 0x6d105020, 0x39bd6: 0x6d105220, 0x39bd7: 0x6d105420,\n\t0x39bd8: 0x6d105620, 0x39bd9: 0x6d105820, 0x39bda: 0x6d105a20, 0x39bdb: 0x6d105c20,\n\t0x39bdc: 0x6d105e20, 0x39bdd: 0x6d106020, 0x39bde: 0x6d106220, 0x39bdf: 0x6d106420,\n\t0x39be0: 0x6d106620, 0x39be1: 0x6d106820, 0x39be2: 0x6d106a20, 0x39be3: 0x6d106c20,\n\t0x39be4: 0x6d106e20, 0x39be5: 0x6d107020, 0x39be6: 0x6d107220, 0x39be7: 0x6d107420,\n\t0x39be8: 0x6d107620, 0x39be9: 0x6d107820, 0x39bea: 0x6d107a20, 0x39beb: 0x6d107c20,\n\t0x39bec: 0x6d107e20, 0x39bed: 0x6d108020, 0x39bee: 0x6d108220, 0x39bef: 0x6d108420,\n\t0x39bf0: 0x6d108620, 0x39bf1: 0x6d108820, 0x39bf2: 0x6d108a20, 0x39bf3: 0x6d108c20,\n\t0x39bf4: 0x6d108e20, 0x39bf5: 0x6d109020, 0x39bf6: 0x6d109220, 0x39bf7: 0x6d109420,\n\t0x39bf8: 0x6d109620, 0x39bf9: 0x6d109820, 0x39bfa: 0x6d109a20, 0x39bfb: 0x6d109c20,\n\t0x39bfc: 0x6d109e20, 0x39bfd: 0x6d10a020, 0x39bfe: 0x6d10a220, 0x39bff: 0x6d10a420,\n\t// Block 0xe70, offset 0x39c00\n\t0x39c00: 0x6d3e7220, 0x39c01: 0x6d3e7420, 0x39c02: 0x6d3e7620, 0x39c03: 0x6d3e7820,\n\t0x39c04: 0x6d3e7a20, 0x39c05: 0x6d3e7c20, 0x39c06: 0x6d3e7e20, 0x39c07: 0x6d3e8020,\n\t0x39c08: 0x6d3e8220, 0x39c09: 0x6d3e8420, 0x39c0a: 0x6d3e8620, 0x39c0b: 0x6d3e8820,\n\t0x39c0c: 0x6d3e8a20, 0x39c0d: 0x6d3e8c20, 0x39c0e: 0x6d3e8e20, 0x39c0f: 0x6d3e9020,\n\t0x39c10: 0x6d3e9220, 0x39c11: 0x6d3e9420, 0x39c12: 0x6d3e9620, 0x39c13: 0x6d3e9820,\n\t0x39c14: 0x6d3e9a20, 0x39c15: 0x6d3e9c20, 0x39c16: 0x6d3e9e20, 0x39c17: 0x6d3ea020,\n\t0x39c18: 0x6d3ea220, 0x39c19: 0x6d3ea420, 0x39c1a: 0x6d3ea620, 0x39c1b: 0x6d3ea820,\n\t0x39c1c: 0x6d3eaa20, 0x39c1d: 0x6d3eac20, 0x39c1e: 0x6d3eae20, 0x39c1f: 0x6d3eb020,\n\t0x39c20: 0x6d3eb220, 0x39c21: 0x6d3eb420, 0x39c22: 0x6d3eb620, 0x39c23: 0x6d3eb820,\n\t0x39c24: 0x6d3eba20, 0x39c25: 0x6d3ebc20, 0x39c26: 0x6d3ebe20, 0x39c27: 0x6d3ec020,\n\t0x39c28: 0x6d3ec220, 0x39c29: 0x6d3ec420, 0x39c2a: 0x6d3ec620, 0x39c2b: 0x6d3ec820,\n\t0x39c2c: 0x6d3eca20, 0x39c2d: 0x6d3ecc20, 0x39c2e: 0x6d3ece20, 0x39c2f: 0x6d3ed020,\n\t0x39c30: 0x6d3ed220, 0x39c31: 0x6d3ed420, 0x39c32: 0x6d3ed620, 0x39c33: 0x6d3ed820,\n\t0x39c34: 0x6d3eda20, 0x39c35: 0x6d6b3c20, 0x39c36: 0x6d6b3e20, 0x39c37: 0x6d6b4020,\n\t0x39c38: 0x6d6b4220, 0x39c39: 0x6d6b4420, 0x39c3a: 0x6d6b4620, 0x39c3b: 0x6d6b4820,\n\t0x39c3c: 0x6d6b4a20, 0x39c3d: 0x6d6b4c20, 0x39c3e: 0x6d6b4e20, 0x39c3f: 0x6d6b5020,\n\t// Block 0xe71, offset 0x39c40\n\t0x39c40: 0x6d6b5220, 0x39c41: 0x6d6b5420, 0x39c42: 0x6d6b5620, 0x39c43: 0x6d6b5820,\n\t0x39c44: 0x6d6b5a20, 0x39c45: 0x6d6b5c20, 0x39c46: 0x6d6b5e20, 0x39c47: 0x6d6b6020,\n\t0x39c48: 0x6d6b6220, 0x39c49: 0x6d6b6420, 0x39c4a: 0x6d6b6620, 0x39c4b: 0x6d6b6820,\n\t0x39c4c: 0x6d6b6a20, 0x39c4d: 0x6d6b6c20, 0x39c4e: 0x6d6b6e20, 0x39c4f: 0x6d6b7020,\n\t0x39c50: 0x6d6b7220, 0x39c51: 0x6d6b7420, 0x39c52: 0x6d6b7620, 0x39c53: 0x6d6b7820,\n\t0x39c54: 0x6d6b7a20, 0x39c55: 0x6d6b7c20, 0x39c56: 0x6d6b7e20, 0x39c57: 0x6d6b8020,\n\t0x39c58: 0x6d6b8220, 0x39c59: 0x6d6b8420, 0x39c5a: 0x6d6b8620, 0x39c5b: 0x6d6b8820,\n\t0x39c5c: 0x6d6b8a20, 0x39c5d: 0x6d946e20, 0x39c5e: 0x6d947020, 0x39c5f: 0x6d6b8c20,\n\t0x39c60: 0x6d947220, 0x39c61: 0x6d947420, 0x39c62: 0x6d947620, 0x39c63: 0x6d947820,\n\t0x39c64: 0x6d947a20, 0x39c65: 0x6d947c20, 0x39c66: 0x6d947e20, 0x39c67: 0x6d948020,\n\t0x39c68: 0x6d948220, 0x39c69: 0x6d948420, 0x39c6a: 0x6d948620, 0x39c6b: 0x6d948820,\n\t0x39c6c: 0x6d948a20, 0x39c6d: 0x6d948c20, 0x39c6e: 0x6d948e20, 0x39c6f: 0x6d949020,\n\t0x39c70: 0x6d949220, 0x39c71: 0x6d949420, 0x39c72: 0x6d949620, 0x39c73: 0x6d949820,\n\t0x39c74: 0x6d949a20, 0x39c75: 0x6d949c20, 0x39c76: 0x6d949e20, 0x39c77: 0x6d94a020,\n\t0x39c78: 0x6d94a220, 0x39c79: 0x6d94a420, 0x39c7a: 0x6d94a620, 0x39c7b: 0x6d94a820,\n\t0x39c7c: 0x6d94aa20, 0x39c7d: 0x6d94ac20, 0x39c7e: 0x6d94ae20, 0x39c7f: 0x6d94b020,\n\t// Block 0xe72, offset 0x39c80\n\t0x39c80: 0x6d94b220, 0x39c81: 0x6d94b420, 0x39c82: 0x6d94b620, 0x39c83: 0x6d94b820,\n\t0x39c84: 0x6d94ba20, 0x39c85: 0x6d94bc20, 0x39c86: 0x6d94be20, 0x39c87: 0x6d94c020,\n\t0x39c88: 0x6d94c220, 0x39c89: 0x6d94c420, 0x39c8a: 0x6d94c620, 0x39c8b: 0x6d94c820,\n\t0x39c8c: 0x6d94ca20, 0x39c8d: 0x6d94cc20, 0x39c8e: 0x6d94ce20, 0x39c8f: 0x6d94d020,\n\t0x39c90: 0x6d94d220, 0x39c91: 0x6d94d420, 0x39c92: 0x6d94d620, 0x39c93: 0x6db7ae20,\n\t0x39c94: 0x6db7b020, 0x39c95: 0x6db7b220, 0x39c96: 0x6db7b420, 0x39c97: 0x6db7b620,\n\t0x39c98: 0x6db7b820, 0x39c99: 0x6db7ba20, 0x39c9a: 0x6db7bc20, 0x39c9b: 0x6db7be20,\n\t0x39c9c: 0x6db7c020, 0x39c9d: 0x6db7c220, 0x39c9e: 0x6db7c420, 0x39c9f: 0x6db7c620,\n\t0x39ca0: 0x6db7c820, 0x39ca1: 0x6db7ca20, 0x39ca2: 0x6db7cc20, 0x39ca3: 0x6db7ce20,\n\t0x39ca4: 0x6db7d020, 0x39ca5: 0x6db7d220, 0x39ca6: 0x6db7d420, 0x39ca7: 0x6db7d620,\n\t0x39ca8: 0x6db7d820, 0x39ca9: 0x6db7da20, 0x39caa: 0x6db7dc20, 0x39cab: 0x6db7de20,\n\t0x39cac: 0x6db7e020, 0x39cad: 0x6db7e220, 0x39cae: 0x6db7e420, 0x39caf: 0x6db7e620,\n\t0x39cb0: 0x6db7e820, 0x39cb1: 0x6db7ea20, 0x39cb2: 0x6db7ec20, 0x39cb3: 0x6db7ee20,\n\t0x39cb4: 0x6db7f020, 0x39cb5: 0x6db7f220, 0x39cb6: 0x6db7f420, 0x39cb7: 0x6db7f620,\n\t0x39cb8: 0x6db7f820, 0x39cb9: 0x6db7fa20, 0x39cba: 0x6db7fc20, 0x39cbb: 0x6db7fe20,\n\t0x39cbc: 0x6db80020, 0x39cbd: 0x6db80220, 0x39cbe: 0x6db80420, 0x39cbf: 0x6db80620,\n\t// Block 0xe73, offset 0x39cc0\n\t0x39cc0: 0x6db80820, 0x39cc1: 0x6db80a20, 0x39cc2: 0x6db80c20, 0x39cc3: 0x6dd61420,\n\t0x39cc4: 0x6db80e20, 0x39cc5: 0x6dd61620, 0x39cc6: 0x6dd61820, 0x39cc7: 0x6dd61a20,\n\t0x39cc8: 0x6dd61c20, 0x39cc9: 0x6dd61e20, 0x39cca: 0x6dd62020, 0x39ccb: 0x6dd62220,\n\t0x39ccc: 0x6dd62420, 0x39ccd: 0x6dd62620, 0x39cce: 0x6dd62820, 0x39ccf: 0x6dd62a20,\n\t0x39cd0: 0x6dd62c20, 0x39cd1: 0x6dd62e20, 0x39cd2: 0x6dd63020, 0x39cd3: 0x6dd63220,\n\t0x39cd4: 0x6dd63420, 0x39cd5: 0x6dd63620, 0x39cd6: 0x6dd63820, 0x39cd7: 0x6dd63a20,\n\t0x39cd8: 0x6dd63c20, 0x39cd9: 0x6dd63e20, 0x39cda: 0x6dd64020, 0x39cdb: 0x6dd64220,\n\t0x39cdc: 0x6dd64420, 0x39cdd: 0x6dd64620, 0x39cde: 0x6dd64820, 0x39cdf: 0x6dd64a20,\n\t0x39ce0: 0x6dd64c20, 0x39ce1: 0x6dd64e20, 0x39ce2: 0x6dd65020, 0x39ce3: 0x6dd65220,\n\t0x39ce4: 0x6dd65420, 0x39ce5: 0x6dd65620, 0x39ce6: 0x6dd65820, 0x39ce7: 0x6dd65a20,\n\t0x39ce8: 0x6dd65c20, 0x39ce9: 0x6dd65e20, 0x39cea: 0x6dd66020, 0x39ceb: 0x6dd66220,\n\t0x39cec: 0x6dd66420, 0x39ced: 0x6dd66620, 0x39cee: 0x6dd66820, 0x39cef: 0x6dd66a20,\n\t0x39cf0: 0x6dd66c20, 0x39cf1: 0x6dd66e20, 0x39cf2: 0x6dd67020, 0x39cf3: 0x6dd67220,\n\t0x39cf4: 0x6dd67420, 0x39cf5: 0x6dd67620, 0x39cf6: 0x6dd67820, 0x39cf7: 0x6dd67a20,\n\t0x39cf8: 0x6dd67c20, 0x39cf9: 0x6dd67e20, 0x39cfa: 0x6dd68020, 0x39cfb: 0x6dd68220,\n\t0x39cfc: 0x6dd68420, 0x39cfd: 0x6dd68620, 0x39cfe: 0x6dd68820, 0x39cff: 0x6dd68a20,\n\t// Block 0xe74, offset 0x39d00\n\t0x39d00: 0x6dd68c20, 0x39d01: 0x6dd68e20, 0x39d02: 0x6dd69020, 0x39d03: 0x6dd69220,\n\t0x39d04: 0x6dd69420, 0x39d05: 0x6dd69620, 0x39d06: 0x6dd69820, 0x39d07: 0x6dd69a20,\n\t0x39d08: 0x6dd69c20, 0x39d09: 0x6dd69e20, 0x39d0a: 0x6deef420, 0x39d0b: 0x6deef620,\n\t0x39d0c: 0x6deef820, 0x39d0d: 0x6deefa20, 0x39d0e: 0x6deefc20, 0x39d0f: 0x6deefe20,\n\t0x39d10: 0x6def0020, 0x39d11: 0x6def0220, 0x39d12: 0x6def0420, 0x39d13: 0x6def0620,\n\t0x39d14: 0x6def0820, 0x39d15: 0x6def0a20, 0x39d16: 0x6def0c20, 0x39d17: 0x6def0e20,\n\t0x39d18: 0x6def1020, 0x39d19: 0x6def1220, 0x39d1a: 0x6dd6a020, 0x39d1b: 0x6def1420,\n\t0x39d1c: 0x6def1620, 0x39d1d: 0x6def1820, 0x39d1e: 0x6def1a20, 0x39d1f: 0x6def1c20,\n\t0x39d20: 0x6def1e20, 0x39d21: 0x6def2020, 0x39d22: 0x6def2220, 0x39d23: 0x6def2420,\n\t0x39d24: 0x6def2620, 0x39d25: 0x6def2820, 0x39d26: 0x6def2a20, 0x39d27: 0x6def2c20,\n\t0x39d28: 0x6def2e20, 0x39d29: 0x6def3020, 0x39d2a: 0x6def3220, 0x39d2b: 0x6def3420,\n\t0x39d2c: 0x6def3620, 0x39d2d: 0x6def3820, 0x39d2e: 0x6def3a20, 0x39d2f: 0x6def3c20,\n\t0x39d30: 0x6def3e20, 0x39d31: 0x6def4020, 0x39d32: 0x6def4220, 0x39d33: 0x6def4420,\n\t0x39d34: 0x6def4620, 0x39d35: 0x6def4820, 0x39d36: 0x6def4a20, 0x39d37: 0x6def4c20,\n\t0x39d38: 0x6def4e20, 0x39d39: 0x6def5020, 0x39d3a: 0x6def5220, 0x39d3b: 0x6def5420,\n\t0x39d3c: 0x6def5620, 0x39d3d: 0x6def5820, 0x39d3e: 0x6def5a20, 0x39d3f: 0x6def5c20,\n\t// Block 0xe75, offset 0x39d40\n\t0x39d40: 0x6def5e20, 0x39d41: 0x6e034020, 0x39d42: 0x6e034220, 0x39d43: 0x6e034420,\n\t0x39d44: 0x6e034620, 0x39d45: 0x6e034820, 0x39d46: 0x6e034a20, 0x39d47: 0x6e034c20,\n\t0x39d48: 0x6e034e20, 0x39d49: 0x6e035020, 0x39d4a: 0x6e035220, 0x39d4b: 0x6e035420,\n\t0x39d4c: 0x6e035620, 0x39d4d: 0x6e035820, 0x39d4e: 0x6e035a20, 0x39d4f: 0x6e035c20,\n\t0x39d50: 0x6e035e20, 0x39d51: 0x6e036020, 0x39d52: 0x6e036220, 0x39d53: 0x6e036420,\n\t0x39d54: 0x6e036620, 0x39d55: 0x6e036820, 0x39d56: 0x6e036a20, 0x39d57: 0x6e036c20,\n\t0x39d58: 0x6e036e20, 0x39d59: 0x6e037020, 0x39d5a: 0x6e037220, 0x39d5b: 0x6e037420,\n\t0x39d5c: 0x6e037620, 0x39d5d: 0x6e037820, 0x39d5e: 0x6e037a20, 0x39d5f: 0x6e037c20,\n\t0x39d60: 0x6e037e20, 0x39d61: 0x6e038020, 0x39d62: 0x6e038220, 0x39d63: 0x6e038420,\n\t0x39d64: 0x6e038620, 0x39d65: 0x6e038820, 0x39d66: 0x6e038a20, 0x39d67: 0x6e038c20,\n\t0x39d68: 0x6e038e20, 0x39d69: 0x6e039020, 0x39d6a: 0x6e14d420, 0x39d6b: 0x6e14d620,\n\t0x39d6c: 0x6e14d820, 0x39d6d: 0x6e14da20, 0x39d6e: 0x6e14dc20, 0x39d6f: 0x6e14de20,\n\t0x39d70: 0x6e14e020, 0x39d71: 0x6e14e220, 0x39d72: 0x6e14e420, 0x39d73: 0x6e14e620,\n\t0x39d74: 0x6e14e820, 0x39d75: 0x6e14ea20, 0x39d76: 0x6e14ec20, 0x39d77: 0x6e14ee20,\n\t0x39d78: 0x6e14f020, 0x39d79: 0x6e14f220, 0x39d7a: 0x6e14f420, 0x39d7b: 0x6e14f620,\n\t0x39d7c: 0x6e14f820, 0x39d7d: 0x6e14fa20, 0x39d7e: 0x6e14fc20, 0x39d7f: 0x6e14fe20,\n\t// Block 0xe76, offset 0x39d80\n\t0x39d80: 0x6e150020, 0x39d81: 0x6e228020, 0x39d82: 0x6e228220, 0x39d83: 0x6e228420,\n\t0x39d84: 0x6e228620, 0x39d85: 0x6e228820, 0x39d86: 0x6e228a20, 0x39d87: 0x6e228c20,\n\t0x39d88: 0x6e228e20, 0x39d89: 0x6e229020, 0x39d8a: 0x6e229220, 0x39d8b: 0x6e229420,\n\t0x39d8c: 0x6e229620, 0x39d8d: 0x6e229820, 0x39d8e: 0x6e229a20, 0x39d8f: 0x6e229c20,\n\t0x39d90: 0x6e229e20, 0x39d91: 0x6e22a020, 0x39d92: 0x6e22a220, 0x39d93: 0x6e22a420,\n\t0x39d94: 0x6e22a620, 0x39d95: 0x6e22a820, 0x39d96: 0x6e2cca20, 0x39d97: 0x6e2ccc20,\n\t0x39d98: 0x6e2cce20, 0x39d99: 0x6e2cd020, 0x39d9a: 0x6e2cd220, 0x39d9b: 0x6e2cd420,\n\t0x39d9c: 0x6e2cd620, 0x39d9d: 0x6e2cd820, 0x39d9e: 0x6e2cda20, 0x39d9f: 0x6e2cdc20,\n\t0x39da0: 0x6e2cde20, 0x39da1: 0x6e2ce020, 0x39da2: 0x6e2ce220, 0x39da3: 0x6e2ce420,\n\t0x39da4: 0x6e34ca20, 0x39da5: 0x6e34cc20, 0x39da6: 0x6e34ce20, 0x39da7: 0x6e34d020,\n\t0x39da8: 0x6e34d220, 0x39da9: 0x6e34d420, 0x39daa: 0x6e34d620, 0x39dab: 0x6e34d820,\n\t0x39dac: 0x6e34da20, 0x39dad: 0x6e34dc20, 0x39dae: 0x6e3a8620, 0x39daf: 0x6e3a8820,\n\t0x39db0: 0x6e3a8a20, 0x39db1: 0x6e3a8c20, 0x39db2: 0x6e3a8e20, 0x39db3: 0x6e3a9020,\n\t0x39db4: 0x6e3a9220, 0x39db5: 0x6e3a9420, 0x39db6: 0x6e3a9620, 0x39db7: 0x6e3a9820,\n\t0x39db8: 0x6e3a9a20, 0x39db9: 0x6e3a9c20, 0x39dba: 0x6e3a9e20, 0x39dbb: 0x6e3e5020,\n\t0x39dbc: 0x6e3e5220, 0x39dbd: 0x6e3e5420, 0x39dbe: 0x6e3e5620, 0x39dbf: 0x6e3e5820,\n\t// Block 0xe77, offset 0x39dc0\n\t0x39dc0: 0x6e3e5a20, 0x39dc1: 0x6e412620, 0x39dc2: 0x6e412820, 0x39dc3: 0x6e412a20,\n\t0x39dc4: 0x6e432620, 0x39dc5: 0x6e432820, 0x39dc6: 0x6e432a20, 0x39dc7: 0x6e432c20,\n\t0x39dc8: 0x6e448820, 0x39dc9: 0x6e448a20, 0x39dca: 0x6e448c20, 0x39dcb: 0x6e455e20,\n\t0x39dcc: 0x6e456020, 0x39dcd: 0x6e45dc20, 0x39dce: 0x6e470a20, 0x39dcf: 0x6c270820,\n\t0x39dd0: 0x6c270a20, 0x39dd1: 0x6c270c20, 0x39dd2: 0x6c612a20, 0x39dd3: 0x6c878220,\n\t0x39dd4: 0x6c878420, 0x39dd5: 0x6c878620, 0x39dd6: 0x6c878820, 0x39dd7: 0x6c878a20,\n\t0x39dd8: 0x6cb2b020, 0x39dd9: 0x6cb2b220, 0x39dda: 0x6cb2b420, 0x39ddb: 0x6cb2b620,\n\t0x39ddc: 0x6cb2b820, 0x39ddd: 0x6cb2ba20, 0x39dde: 0x6cb2bc20, 0x39ddf: 0x6cb2be20,\n\t0x39de0: 0x6cb2c020, 0x39de1: 0x6cb2c220, 0x39de2: 0x6cb2c420, 0x39de3: 0x6cb2c620,\n\t0x39de4: 0x6cb2c820, 0x39de5: 0x6cb2ca20, 0x39de6: 0x6cb2cc20, 0x39de7: 0x6cb2ce20,\n\t0x39de8: 0x6cb2d020, 0x39de9: 0x6ce24620, 0x39dea: 0x6ce24820, 0x39deb: 0x6ce24a20,\n\t0x39dec: 0x6ce24c20, 0x39ded: 0x6ce24e20, 0x39dee: 0x6ce25020, 0x39def: 0x6ce25220,\n\t0x39df0: 0x6ce25420, 0x39df1: 0x6ce25620, 0x39df2: 0x6ce25820, 0x39df3: 0x6ce25a20,\n\t0x39df4: 0x6ce25c20, 0x39df5: 0x6ce25e20, 0x39df6: 0x6ce26020, 0x39df7: 0x6ce26220,\n\t0x39df8: 0x6d10bc20, 0x39df9: 0x6d10be20, 0x39dfa: 0x6d10c020, 0x39dfb: 0x6d10c220,\n\t0x39dfc: 0x6d10c420, 0x39dfd: 0x6d10c620, 0x39dfe: 0x6d10c820, 0x39dff: 0x6d10ca20,\n\t// Block 0xe78, offset 0x39e00\n\t0x39e00: 0x6d10cc20, 0x39e01: 0x6d10ce20, 0x39e02: 0x6d10d020, 0x39e03: 0x6d10d220,\n\t0x39e04: 0x6d10d420, 0x39e05: 0x6d10d620, 0x39e06: 0x6d10d820, 0x39e07: 0x6d10da20,\n\t0x39e08: 0x6d3ee820, 0x39e09: 0x6d3eea20, 0x39e0a: 0x6d3eec20, 0x39e0b: 0x6d3eee20,\n\t0x39e0c: 0x6d3ef020, 0x39e0d: 0x6d3ef220, 0x39e0e: 0x6d3ef420, 0x39e0f: 0x6d3ef620,\n\t0x39e10: 0x6d3ef820, 0x39e11: 0x6d3efa20, 0x39e12: 0x6d3efc20, 0x39e13: 0x6d3efe20,\n\t0x39e14: 0x6d6bac20, 0x39e15: 0x6d6bae20, 0x39e16: 0x6d6bb020, 0x39e17: 0x6d6bb220,\n\t0x39e18: 0x6d6bb420, 0x39e19: 0x6d6bb620, 0x39e1a: 0x6d6bb820, 0x39e1b: 0x6d6bba20,\n\t0x39e1c: 0x6d6bbc20, 0x39e1d: 0x6d6bbe20, 0x39e1e: 0x6d6bc020, 0x39e1f: 0x6d6bc220,\n\t0x39e20: 0x6d6bc420, 0x39e21: 0x6d6bc620, 0x39e22: 0x6d94e820, 0x39e23: 0x6d94ea20,\n\t0x39e24: 0x6d94ec20, 0x39e25: 0x6d94ee20, 0x39e26: 0x6db81a20, 0x39e27: 0x6d94f020,\n\t0x39e28: 0x6d94f220, 0x39e29: 0x6d94f420, 0x39e2a: 0x6d94f620, 0x39e2b: 0x6d94f820,\n\t0x39e2c: 0x6d94fa20, 0x39e2d: 0x6d94fc20, 0x39e2e: 0x6db81c20, 0x39e2f: 0x6db81e20,\n\t0x39e30: 0x6db82020, 0x39e31: 0x6db82220, 0x39e32: 0x6db82420, 0x39e33: 0x6db82620,\n\t0x39e34: 0x6db82820, 0x39e35: 0x6db82a20, 0x39e36: 0x6db82c20, 0x39e37: 0x6db82e20,\n\t0x39e38: 0x6db83020, 0x39e39: 0x6dd6b220, 0x39e3a: 0x6dd6b420, 0x39e3b: 0x6dd6b620,\n\t0x39e3c: 0x6dd6b820, 0x39e3d: 0x6dd6ba20, 0x39e3e: 0x6dd6bc20, 0x39e3f: 0x6def7420,\n\t// Block 0xe79, offset 0x39e40\n\t0x39e40: 0x6def7620, 0x39e41: 0x6def7820, 0x39e42: 0x6def7a20, 0x39e43: 0x6def7c20,\n\t0x39e44: 0x6def7e20, 0x39e45: 0x6def8020, 0x39e46: 0x6def8220, 0x39e47: 0x6def8420,\n\t0x39e48: 0x6def8620, 0x39e49: 0x6def8820, 0x39e4a: 0x6def8a20, 0x39e4b: 0x6def8c20,\n\t0x39e4c: 0x6def8e20, 0x39e4d: 0x6e039e20, 0x39e4e: 0x6e03a020, 0x39e4f: 0x6e03a220,\n\t0x39e50: 0x6e03a420, 0x39e51: 0x6e03a620, 0x39e52: 0x6e03a820, 0x39e53: 0x6e150820,\n\t0x39e54: 0x6e150a20, 0x39e55: 0x6e150c20, 0x39e56: 0x6e150e20, 0x39e57: 0x6e151020,\n\t0x39e58: 0x6e22ae20, 0x39e59: 0x6e22b020, 0x39e5a: 0x6e22b220, 0x39e5b: 0x6e2cea20,\n\t0x39e5c: 0x6e2cec20, 0x39e5d: 0x6e3aa020, 0x39e5e: 0x6e3aa220, 0x39e5f: 0x6e3e5c20,\n\t0x39e60: 0x6c613620, 0x39e61: 0x6c613820, 0x39e62: 0x6c613a20, 0x39e63: 0x6c613c20,\n\t0x39e64: 0x6c613e20, 0x39e65: 0x6c614020, 0x39e66: 0x6c614220, 0x39e67: 0x6c879e20,\n\t0x39e68: 0x6c87a020, 0x39e69: 0x6c87a220, 0x39e6a: 0x6c87a420, 0x39e6b: 0x6c87a620,\n\t0x39e6c: 0x6c87a820, 0x39e6d: 0x6c87aa20, 0x39e6e: 0x6c87ac20, 0x39e6f: 0x6c87ae20,\n\t0x39e70: 0x6c87b020, 0x39e71: 0x6c87b220, 0x39e72: 0x6c87b420, 0x39e73: 0x6cb30020,\n\t0x39e74: 0x6cb30220, 0x39e75: 0x6cb30420, 0x39e76: 0x6cb30620, 0x39e77: 0x6cb30820,\n\t0x39e78: 0x6cb30a20, 0x39e79: 0x6cb30c20, 0x39e7a: 0x6cb30e20, 0x39e7b: 0x6cb31020,\n\t0x39e7c: 0x6cb31220, 0x39e7d: 0x6cb31420, 0x39e7e: 0x6cb31620, 0x39e7f: 0x6cb31820,\n\t// Block 0xe7a, offset 0x39e80\n\t0x39e80: 0x6cb31a20, 0x39e81: 0x6cb31c20, 0x39e82: 0x6cb31e20, 0x39e83: 0x6cb32020,\n\t0x39e84: 0x6cb32220, 0x39e85: 0x6cb32420, 0x39e86: 0x6cb32620, 0x39e87: 0x6cb32820,\n\t0x39e88: 0x6cb32a20, 0x39e89: 0x6cb32c20, 0x39e8a: 0x6cb32e20, 0x39e8b: 0x6cb33020,\n\t0x39e8c: 0x6cb33220, 0x39e8d: 0x6cb33420, 0x39e8e: 0x6ce2a020, 0x39e8f: 0x6ce2a220,\n\t0x39e90: 0x6ce2a420, 0x39e91: 0x6ce2a620, 0x39e92: 0x6ce2a820, 0x39e93: 0x6ce2aa20,\n\t0x39e94: 0x6ce2ac20, 0x39e95: 0x6ce2ae20, 0x39e96: 0x6ce2b020, 0x39e97: 0x6ce2b220,\n\t0x39e98: 0x6ce2b420, 0x39e99: 0x6ce2b620, 0x39e9a: 0x6ce2b820, 0x39e9b: 0x6ce2ba20,\n\t0x39e9c: 0x6ce2bc20, 0x39e9d: 0x6ce2be20, 0x39e9e: 0x6ce2c020, 0x39e9f: 0x6ce2c220,\n\t0x39ea0: 0x6ce2c420, 0x39ea1: 0x6ce2c620, 0x39ea2: 0x6ce2c820, 0x39ea3: 0x6ce2ca20,\n\t0x39ea4: 0x6ce2cc20, 0x39ea5: 0x6ce2ce20, 0x39ea6: 0x6ce2d020, 0x39ea7: 0x6ce2d220,\n\t0x39ea8: 0x6d110a20, 0x39ea9: 0x6d110c20, 0x39eaa: 0x6d110e20, 0x39eab: 0x6d111020,\n\t0x39eac: 0x6d111220, 0x39ead: 0x6d111420, 0x39eae: 0x6d111620, 0x39eaf: 0x6d111820,\n\t0x39eb0: 0x6d111a20, 0x39eb1: 0x6d111c20, 0x39eb2: 0x6d111e20, 0x39eb3: 0x6d112020,\n\t0x39eb4: 0x6d112220, 0x39eb5: 0x6d112420, 0x39eb6: 0x6d112620, 0x39eb7: 0x6d112820,\n\t0x39eb8: 0x6d112a20, 0x39eb9: 0x6d112c20, 0x39eba: 0x6d112e20, 0x39ebb: 0x6d113020,\n\t0x39ebc: 0x6d113220, 0x39ebd: 0x6d113420, 0x39ebe: 0x6d113620, 0x39ebf: 0x6d113820,\n\t// Block 0xe7b, offset 0x39ec0\n\t0x39ec0: 0x6d113a20, 0x39ec1: 0x6d113c20, 0x39ec2: 0x6d3f1c20, 0x39ec3: 0x6d3f1e20,\n\t0x39ec4: 0x6d3f2020, 0x39ec5: 0x6d3f2220, 0x39ec6: 0x6d3f2420, 0x39ec7: 0x6d3f2620,\n\t0x39ec8: 0x6d3f2820, 0x39ec9: 0x6d3f2a20, 0x39eca: 0x6d3f2c20, 0x39ecb: 0x6d3f2e20,\n\t0x39ecc: 0x6d3f3020, 0x39ecd: 0x6d3f3220, 0x39ece: 0x6d3f3420, 0x39ecf: 0x6d3f3620,\n\t0x39ed0: 0x6d3f3820, 0x39ed1: 0x6d3f3a20, 0x39ed2: 0x6d3f3c20, 0x39ed3: 0x6d3f3e20,\n\t0x39ed4: 0x6d3f4020, 0x39ed5: 0x6d3f4220, 0x39ed6: 0x6d3f4420, 0x39ed7: 0x6d3f4620,\n\t0x39ed8: 0x6d3f4820, 0x39ed9: 0x6d3f4a20, 0x39eda: 0x6d3f4c20, 0x39edb: 0x6d3f4e20,\n\t0x39edc: 0x6d3f5020, 0x39edd: 0x6d3f5220, 0x39ede: 0x6d3f5420, 0x39edf: 0x6d3f5620,\n\t0x39ee0: 0x6d6bfe20, 0x39ee1: 0x6d6c0020, 0x39ee2: 0x6d6c0220, 0x39ee3: 0x6d6c0420,\n\t0x39ee4: 0x6d6c0620, 0x39ee5: 0x6d6c0820, 0x39ee6: 0x6d6c0a20, 0x39ee7: 0x6d6c0c20,\n\t0x39ee8: 0x6d6c0e20, 0x39ee9: 0x6d6c1020, 0x39eea: 0x6d6c1220, 0x39eeb: 0x6d6c1420,\n\t0x39eec: 0x6d6c1620, 0x39eed: 0x6d6c1820, 0x39eee: 0x6d6c1a20, 0x39eef: 0x6d6c1c20,\n\t0x39ef0: 0x6d6c1e20, 0x39ef1: 0x6d6c2020, 0x39ef2: 0x6d6c2220, 0x39ef3: 0x6d6c2420,\n\t0x39ef4: 0x6d6c2620, 0x39ef5: 0x6d6c2820, 0x39ef6: 0x6d6c2a20, 0x39ef7: 0x6d6c2c20,\n\t0x39ef8: 0x6d6c2e20, 0x39ef9: 0x6d6c3020, 0x39efa: 0x6d6c3220, 0x39efb: 0x6d6c3420,\n\t0x39efc: 0x6d6c3620, 0x39efd: 0x6d6c3820, 0x39efe: 0x6d6c3a20, 0x39eff: 0x6d6c3c20,\n\t// Block 0xe7c, offset 0x39f00\n\t0x39f00: 0x6d6c3e20, 0x39f01: 0x6d6c4020, 0x39f02: 0x6d6c4220, 0x39f03: 0x6d6c4420,\n\t0x39f04: 0x6d6c4620, 0x39f05: 0x6d6c4820, 0x39f06: 0x6d6c4a20, 0x39f07: 0x6d952820,\n\t0x39f08: 0x6d952a20, 0x39f09: 0x6d952c20, 0x39f0a: 0x6d952e20, 0x39f0b: 0x6d953020,\n\t0x39f0c: 0x6d953220, 0x39f0d: 0x6d953420, 0x39f0e: 0x6d953620, 0x39f0f: 0x6d953820,\n\t0x39f10: 0x6d953a20, 0x39f11: 0x6d953c20, 0x39f12: 0x6d953e20, 0x39f13: 0x6d954020,\n\t0x39f14: 0x6d954220, 0x39f15: 0x6d954420, 0x39f16: 0x6d954620, 0x39f17: 0x6d954820,\n\t0x39f18: 0x6d954a20, 0x39f19: 0x6d954c20, 0x39f1a: 0x6d954e20, 0x39f1b: 0x6d955020,\n\t0x39f1c: 0x6d955220, 0x39f1d: 0x6d955420, 0x39f1e: 0x6d955620, 0x39f1f: 0x6d955820,\n\t0x39f20: 0x6d955a20, 0x39f21: 0x6d955c20, 0x39f22: 0x6d955e20, 0x39f23: 0x6d956020,\n\t0x39f24: 0x6d956220, 0x39f25: 0x6d956420, 0x39f26: 0x6d956620, 0x39f27: 0x6d956820,\n\t0x39f28: 0x6d956a20, 0x39f29: 0x6db85420, 0x39f2a: 0x6db85620, 0x39f2b: 0x6db85820,\n\t0x39f2c: 0x6db85a20, 0x39f2d: 0x6db85c20, 0x39f2e: 0x6db85e20, 0x39f2f: 0x6db86020,\n\t0x39f30: 0x6db86220, 0x39f31: 0x6db86420, 0x39f32: 0x6db86620, 0x39f33: 0x6db86820,\n\t0x39f34: 0x6db86a20, 0x39f35: 0x6db86c20, 0x39f36: 0x6db86e20, 0x39f37: 0x6db87020,\n\t0x39f38: 0x6db87220, 0x39f39: 0x6db87420, 0x39f3a: 0x6db87620, 0x39f3b: 0x6db87820,\n\t0x39f3c: 0x6db87a20, 0x39f3d: 0x6db87c20, 0x39f3e: 0x6db87e20, 0x39f3f: 0x6db88020,\n\t// Block 0xe7d, offset 0x39f40\n\t0x39f40: 0x6db88220, 0x39f41: 0x6db88420, 0x39f42: 0x6db88620, 0x39f43: 0x6db88820,\n\t0x39f44: 0x6db88a20, 0x39f45: 0x6db88c20, 0x39f46: 0x6db88e20, 0x39f47: 0x6db89020,\n\t0x39f48: 0x6db89220, 0x39f49: 0x6db89420, 0x39f4a: 0x6dd6de20, 0x39f4b: 0x6dd6e020,\n\t0x39f4c: 0x6dd6e220, 0x39f4d: 0x6dd6e420, 0x39f4e: 0x6dd6e620, 0x39f4f: 0x6dd6e820,\n\t0x39f50: 0x6dd6ea20, 0x39f51: 0x6dd6ec20, 0x39f52: 0x6dd6ee20, 0x39f53: 0x6dd6f020,\n\t0x39f54: 0x6dd6f220, 0x39f55: 0x6dd6f420, 0x39f56: 0x6dd6f620, 0x39f57: 0x6dd6f820,\n\t0x39f58: 0x6dd6fa20, 0x39f59: 0x6dd6fc20, 0x39f5a: 0x6dd6fe20, 0x39f5b: 0x6dd70020,\n\t0x39f5c: 0x6dd70220, 0x39f5d: 0x6dd70420, 0x39f5e: 0x6dd70620, 0x39f5f: 0x6dd70820,\n\t0x39f60: 0x6dd70a20, 0x39f61: 0x6dd70c20, 0x39f62: 0x6dd70e20, 0x39f63: 0x6dd71020,\n\t0x39f64: 0x6defaa20, 0x39f65: 0x6defac20, 0x39f66: 0x6defae20, 0x39f67: 0x6defb020,\n\t0x39f68: 0x6defb220, 0x39f69: 0x6defb420, 0x39f6a: 0x6defb620, 0x39f6b: 0x6defb820,\n\t0x39f6c: 0x6defba20, 0x39f6d: 0x6defbc20, 0x39f6e: 0x6defbe20, 0x39f6f: 0x6defc020,\n\t0x39f70: 0x6defc220, 0x39f71: 0x6defc420, 0x39f72: 0x6e03ba20, 0x39f73: 0x6e03bc20,\n\t0x39f74: 0x6e03be20, 0x39f75: 0x6e03c020, 0x39f76: 0x6e03c220, 0x39f77: 0x6e03c420,\n\t0x39f78: 0x6e03c620, 0x39f79: 0x6e03c820, 0x39f7a: 0x6e03ca20, 0x39f7b: 0x6e03cc20,\n\t0x39f7c: 0x6e03ce20, 0x39f7d: 0x6e03d020, 0x39f7e: 0x6e03d220, 0x39f7f: 0x6e03d420,\n\t// Block 0xe7e, offset 0x39f80\n\t0x39f80: 0x6e03d620, 0x39f81: 0x6e03d820, 0x39f82: 0x6e03da20, 0x39f83: 0x6e03dc20,\n\t0x39f84: 0x6e03de20, 0x39f85: 0x6e03e020, 0x39f86: 0x6e03e220, 0x39f87: 0x6e03e420,\n\t0x39f88: 0x6e152220, 0x39f89: 0x6e152420, 0x39f8a: 0x6e152620, 0x39f8b: 0x6e152820,\n\t0x39f8c: 0x6e152a20, 0x39f8d: 0x6e152c20, 0x39f8e: 0x6e152e20, 0x39f8f: 0x6e153020,\n\t0x39f90: 0x6e153220, 0x39f91: 0x6e22be20, 0x39f92: 0x6e22c020, 0x39f93: 0x6e22c220,\n\t0x39f94: 0x6e22c420, 0x39f95: 0x6e22c620, 0x39f96: 0x6e22c820, 0x39f97: 0x6e22ca20,\n\t0x39f98: 0x6e22cc20, 0x39f99: 0x6e22ce20, 0x39f9a: 0x6e22d020, 0x39f9b: 0x6e22d220,\n\t0x39f9c: 0x6e22d420, 0x39f9d: 0x6e22d620, 0x39f9e: 0x6e2cf220, 0x39f9f: 0x6e2cf420,\n\t0x39fa0: 0x6e2cf620, 0x39fa1: 0x6e2cf820, 0x39fa2: 0x6e2cfa20, 0x39fa3: 0x6e2cfc20,\n\t0x39fa4: 0x6e2cfe20, 0x39fa5: 0x6e2d0020, 0x39fa6: 0x6e2d0220, 0x39fa7: 0x6e2d0420,\n\t0x39fa8: 0x6e2d0620, 0x39fa9: 0x6e34e220, 0x39faa: 0x6e34e420, 0x39fab: 0x6e34e620,\n\t0x39fac: 0x6e34e820, 0x39fad: 0x6e34ea20, 0x39fae: 0x6e34ec20, 0x39faf: 0x6e34ee20,\n\t0x39fb0: 0x6e34f020, 0x39fb1: 0x6e34f220, 0x39fb2: 0x6e34f420, 0x39fb3: 0x6e3aa420,\n\t0x39fb4: 0x6e3aa620, 0x39fb5: 0x6e3e6020, 0x39fb6: 0x6e3e6220, 0x39fb7: 0x6e3e6420,\n\t0x39fb8: 0x6e3e6620, 0x39fb9: 0x6e413220, 0x39fba: 0x6e432e20, 0x39fbb: 0x6e413420,\n\t0x39fbc: 0x6e433020, 0x39fbd: 0x6e3e6820, 0x39fbe: 0x6e413620, 0x39fbf: 0x6e433220,\n\t// Block 0xe7f, offset 0x39fc0\n\t0x39fc0: 0x6e433420, 0x39fc1: 0x6e448e20, 0x39fc2: 0x6e456220, 0x39fc3: 0x6e45e020,\n\t0x39fc4: 0x6e471420, 0x39fc5: 0x6c40f020, 0x39fc6: 0x6c40f220, 0x39fc7: 0x6c615c20,\n\t0x39fc8: 0x6c87ca20, 0x39fc9: 0x6d957420, 0x39fca: 0x6e03ea20, 0x39fcb: 0x6c271e20,\n\t0x39fcc: 0x6c40f620, 0x39fcd: 0x6c87d220, 0x39fce: 0x6c87d420, 0x39fcf: 0x6cb34220,\n\t0x39fd0: 0x6cb34420, 0x39fd1: 0x6cb34620, 0x39fd2: 0x6ce2f420, 0x39fd3: 0x6ce2f620,\n\t0x39fd4: 0x6d115220, 0x39fd5: 0x6d115420, 0x39fd6: 0x6d115620, 0x39fd7: 0x6d115820,\n\t0x39fd8: 0x6d3f6e20, 0x39fd9: 0x6d3f7020, 0x39fda: 0x6d3f7220, 0x39fdb: 0x6d3f7420,\n\t0x39fdc: 0x6d6c5820, 0x39fdd: 0x6d6c5a20, 0x39fde: 0x6d6c5c20, 0x39fdf: 0x6d6c5e20,\n\t0x39fe0: 0x6d958420, 0x39fe1: 0x6d958620, 0x39fe2: 0x6d958820, 0x39fe3: 0x6d958a20,\n\t0x39fe4: 0x6d958c20, 0x39fe5: 0x6d958e20, 0x39fe6: 0x6d959020, 0x39fe7: 0x6d959220,\n\t0x39fe8: 0x6db8a020, 0x39fe9: 0x6db8a220, 0x39fea: 0x6db8a420, 0x39feb: 0x6db8a620,\n\t0x39fec: 0x6db8a820, 0x39fed: 0x6db8aa20, 0x39fee: 0x6db8ac20, 0x39fef: 0x6db8ae20,\n\t0x39ff0: 0x6dd71820, 0x39ff1: 0x6dd71a20, 0x39ff2: 0x6dd71c20, 0x39ff3: 0x6dc60820,\n\t0x39ff4: 0x6dcb1a20, 0x39ff5: 0x6defcc20, 0x39ff6: 0x6defce20, 0x39ff7: 0x6defd020,\n\t0x39ff8: 0x6defd220, 0x39ff9: 0x6defd420, 0x39ffa: 0x6e03f020, 0x39ffb: 0x6e03f220,\n\t0x39ffc: 0x6e03f420, 0x39ffd: 0x6e153820, 0x39ffe: 0x6e22d820, 0x39fff: 0x6e22da20,\n\t// Block 0xe80, offset 0x3a000\n\t0x3a000: 0x6e34f620, 0x3a001: 0x6e449020, 0x3a002: 0x6e456420, 0x3a003: 0x6c272220,\n\t0x3a004: 0x6c272420, 0x3a005: 0x6d116220, 0x3a006: 0x6d116420, 0x3a007: 0x6d116620,\n\t0x3a008: 0x6d6c6420, 0x3a009: 0x6d959420, 0x3a00a: 0x6defd820, 0x3a00b: 0x6e153a20,\n\t0x3a00c: 0x6e22dc20, 0x3a00d: 0x6c0a8220, 0x3a00e: 0x6c0a8420, 0x3a00f: 0x6c0a8620,\n\t0x3a010: 0x6c0a8820, 0x3a011: 0x6c151620, 0x3a012: 0x6c151820, 0x3a013: 0x6c151a20,\n\t0x3a014: 0x6c151c20, 0x3a015: 0x6c151e20, 0x3a016: 0x6c152020, 0x3a017: 0x6c152220,\n\t0x3a018: 0x6c152420, 0x3a019: 0x6c152620, 0x3a01a: 0x6c152820, 0x3a01b: 0x6c152a20,\n\t0x3a01c: 0x6c152c20, 0x3a01d: 0x6c152e20, 0x3a01e: 0x6c153020, 0x3a01f: 0x6c153220,\n\t0x3a020: 0x6c153420, 0x3a021: 0x6c153620, 0x3a022: 0x6c274620, 0x3a023: 0x6c274820,\n\t0x3a024: 0x6c274a20, 0x3a025: 0x6c274c20, 0x3a026: 0x6c274e20, 0x3a027: 0x6c275020,\n\t0x3a028: 0x6c275220, 0x3a029: 0x6c275420, 0x3a02a: 0x6c275620, 0x3a02b: 0x6c275820,\n\t0x3a02c: 0x6c275a20, 0x3a02d: 0x6c275c20, 0x3a02e: 0x6c275e20, 0x3a02f: 0x6c276020,\n\t0x3a030: 0x6c276220, 0x3a031: 0x6c276420, 0x3a032: 0x6c276620, 0x3a033: 0x6c276820,\n\t0x3a034: 0x6c276a20, 0x3a035: 0x6c276c20, 0x3a036: 0x6c276e20, 0x3a037: 0x6c277020,\n\t0x3a038: 0x6c277220, 0x3a039: 0x6c277420, 0x3a03a: 0x6c277620, 0x3a03b: 0x6c277820,\n\t0x3a03c: 0x6c277a20, 0x3a03d: 0x6c277c20, 0x3a03e: 0x6c277e20, 0x3a03f: 0x6c278020,\n\t// Block 0xe81, offset 0x3a040\n\t0x3a040: 0x6c278220, 0x3a041: 0x6c278420, 0x3a042: 0x6c413020, 0x3a043: 0x6c413220,\n\t0x3a044: 0x6c413420, 0x3a045: 0x6c413620, 0x3a046: 0x6c413820, 0x3a047: 0x6c413a20,\n\t0x3a048: 0x6c413c20, 0x3a049: 0x6c413e20, 0x3a04a: 0x6c414020, 0x3a04b: 0x6c414220,\n\t0x3a04c: 0x6c414420, 0x3a04d: 0x6c414620, 0x3a04e: 0x6c414820, 0x3a04f: 0x6c414a20,\n\t0x3a050: 0x6c414c20, 0x3a051: 0x6c414e20, 0x3a052: 0x6c415020, 0x3a053: 0x6c415220,\n\t0x3a054: 0x6c415420, 0x3a055: 0x6c415620, 0x3a056: 0x6c415820, 0x3a057: 0x6c415a20,\n\t0x3a058: 0x6c415c20, 0x3a059: 0x6c415e20, 0x3a05a: 0x6c416020, 0x3a05b: 0x6c416220,\n\t0x3a05c: 0x6c416420, 0x3a05d: 0x6c416620, 0x3a05e: 0x6c416820, 0x3a05f: 0x6c416a20,\n\t0x3a060: 0x6c416c20, 0x3a061: 0x6c416e20, 0x3a062: 0x6c417020, 0x3a063: 0x6c417220,\n\t0x3a064: 0x6c417420, 0x3a065: 0x6c619020, 0x3a066: 0x6c619220, 0x3a067: 0x6c619420,\n\t0x3a068: 0x6c619620, 0x3a069: 0x6c619820, 0x3a06a: 0x6c619a20, 0x3a06b: 0x6c619c20,\n\t0x3a06c: 0x6c619e20, 0x3a06d: 0x6c61a020, 0x3a06e: 0x6c61a220, 0x3a06f: 0x6c61a420,\n\t0x3a070: 0x6c61a620, 0x3a071: 0x6c61a820, 0x3a072: 0x6c61aa20, 0x3a073: 0x6c61ac20,\n\t0x3a074: 0x6c61ae20, 0x3a075: 0x6c61b020, 0x3a076: 0x6c61b220, 0x3a077: 0x6c61b420,\n\t0x3a078: 0x6c61b620, 0x3a079: 0x6c61b820, 0x3a07a: 0x6c61ba20, 0x3a07b: 0x6c61bc20,\n\t0x3a07c: 0x6c61be20, 0x3a07d: 0x6c61c020, 0x3a07e: 0x6c61c220, 0x3a07f: 0x6c61c420,\n\t// Block 0xe82, offset 0x3a080\n\t0x3a080: 0x6c61c620, 0x3a081: 0x6c61c820, 0x3a082: 0x6c61ca20, 0x3a083: 0x6c61cc20,\n\t0x3a084: 0x6c61ce20, 0x3a085: 0x6c881420, 0x3a086: 0x6c881620, 0x3a087: 0x6c881820,\n\t0x3a088: 0x6c881a20, 0x3a089: 0x6c881c20, 0x3a08a: 0x6c881e20, 0x3a08b: 0x6c882020,\n\t0x3a08c: 0x6c882220, 0x3a08d: 0x6c882420, 0x3a08e: 0x6c882620, 0x3a08f: 0x6c882820,\n\t0x3a090: 0x6c882a20, 0x3a091: 0x6c882c20, 0x3a092: 0x6c882e20, 0x3a093: 0x6c883020,\n\t0x3a094: 0x6c883220, 0x3a095: 0x6c883420, 0x3a096: 0x6c883620, 0x3a097: 0x6c883820,\n\t0x3a098: 0x6c883a20, 0x3a099: 0x6c883c20, 0x3a09a: 0x6c883e20, 0x3a09b: 0x6c884020,\n\t0x3a09c: 0x6c884220, 0x3a09d: 0x6c884420, 0x3a09e: 0x6c884620, 0x3a09f: 0x6c884820,\n\t0x3a0a0: 0x6c884a20, 0x3a0a1: 0x6c884c20, 0x3a0a2: 0x6c884e20, 0x3a0a3: 0x6c885020,\n\t0x3a0a4: 0x6c885220, 0x3a0a5: 0x6c885420, 0x3a0a6: 0x6c885620, 0x3a0a7: 0x6c885820,\n\t0x3a0a8: 0x6c885a20, 0x3a0a9: 0x6c885c20, 0x3a0aa: 0x6c885e20, 0x3a0ab: 0x6cb38820,\n\t0x3a0ac: 0x6cb38a20, 0x3a0ad: 0x6cb38c20, 0x3a0ae: 0x6cb38e20, 0x3a0af: 0x6cb39020,\n\t0x3a0b0: 0x6cb39220, 0x3a0b1: 0x6cb39420, 0x3a0b2: 0x6cb39620, 0x3a0b3: 0x6cb39820,\n\t0x3a0b4: 0x6cb39a20, 0x3a0b5: 0x6cb39c20, 0x3a0b6: 0x6cb39e20, 0x3a0b7: 0x6cb3a020,\n\t0x3a0b8: 0x6cb3a220, 0x3a0b9: 0x6cb3a420, 0x3a0ba: 0x6cb3a620, 0x3a0bb: 0x6cb3a820,\n\t0x3a0bc: 0x6cb3aa20, 0x3a0bd: 0x6cb3ac20, 0x3a0be: 0x6cb3ae20, 0x3a0bf: 0x6cb3b020,\n\t// Block 0xe83, offset 0x3a0c0\n\t0x3a0c0: 0x6cb3b220, 0x3a0c1: 0x6cb3b420, 0x3a0c2: 0x6cb3b620, 0x3a0c3: 0x6cb3b820,\n\t0x3a0c4: 0x6cb3ba20, 0x3a0c5: 0x6cb3bc20, 0x3a0c6: 0x6cb3be20, 0x3a0c7: 0x6cb3c020,\n\t0x3a0c8: 0x6cb3c220, 0x3a0c9: 0x6cb3c420, 0x3a0ca: 0x6cb3c620, 0x3a0cb: 0x6cb3c820,\n\t0x3a0cc: 0x6cb3ca20, 0x3a0cd: 0x6cb3cc20, 0x3a0ce: 0x6ce32c20, 0x3a0cf: 0x6cb3ce20,\n\t0x3a0d0: 0x6cb3d020, 0x3a0d1: 0x6cb3d220, 0x3a0d2: 0x6cb3d420, 0x3a0d3: 0x6cb3d620,\n\t0x3a0d4: 0x6cb3d820, 0x3a0d5: 0x6cb3da20, 0x3a0d6: 0x6cb3dc20, 0x3a0d7: 0x6cb3de20,\n\t0x3a0d8: 0x6cb3e020, 0x3a0d9: 0x6cb3e220, 0x3a0da: 0x6cb3e420, 0x3a0db: 0x6cb3e620,\n\t0x3a0dc: 0x6cb3e820, 0x3a0dd: 0x6ce32e20, 0x3a0de: 0x6ce33020, 0x3a0df: 0x6ce33220,\n\t0x3a0e0: 0x6cb3ea20, 0x3a0e1: 0x6ce33420, 0x3a0e2: 0x6ce33620, 0x3a0e3: 0x6ce33820,\n\t0x3a0e4: 0x6ce33a20, 0x3a0e5: 0x6ce33c20, 0x3a0e6: 0x6ce33e20, 0x3a0e7: 0x6ce34020,\n\t0x3a0e8: 0x6ce34220, 0x3a0e9: 0x6ce34420, 0x3a0ea: 0x6ce34620, 0x3a0eb: 0x6ce34820,\n\t0x3a0ec: 0x6ce34a20, 0x3a0ed: 0x6ce34c20, 0x3a0ee: 0x6ce34e20, 0x3a0ef: 0x6ce35020,\n\t0x3a0f0: 0x6ce35220, 0x3a0f1: 0x6ce35420, 0x3a0f2: 0x6ce35620, 0x3a0f3: 0x6ce35820,\n\t0x3a0f4: 0x6ce35a20, 0x3a0f5: 0x6ce35c20, 0x3a0f6: 0x6ce35e20, 0x3a0f7: 0x6ce36020,\n\t0x3a0f8: 0x6ce36220, 0x3a0f9: 0x6ce36420, 0x3a0fa: 0x6ce36620, 0x3a0fb: 0x6ce36820,\n\t0x3a0fc: 0x6ce36a20, 0x3a0fd: 0x6ce36c20, 0x3a0fe: 0x6ce36e20, 0x3a0ff: 0x6ce37020,\n\t// Block 0xe84, offset 0x3a100\n\t0x3a100: 0x6ce37220, 0x3a101: 0x6ce37420, 0x3a102: 0x6ce37620, 0x3a103: 0x6ce37820,\n\t0x3a104: 0x6ce37a20, 0x3a105: 0x6ce37c20, 0x3a106: 0x6ce37e20, 0x3a107: 0x6ce38020,\n\t0x3a108: 0x6ce38220, 0x3a109: 0x6ce38420, 0x3a10a: 0x6ce38620, 0x3a10b: 0x6ce38820,\n\t0x3a10c: 0x6ce38a20, 0x3a10d: 0x6ce38c20, 0x3a10e: 0x6ce38e20, 0x3a10f: 0x6ce39020,\n\t0x3a110: 0x6ce39220, 0x3a111: 0x6ce39420, 0x3a112: 0x6ce39620, 0x3a113: 0x6ce39820,\n\t0x3a114: 0x6ce39a20, 0x3a115: 0x6ce39c20, 0x3a116: 0x6ce39e20, 0x3a117: 0x6ce3a020,\n\t0x3a118: 0x6ce3a220, 0x3a119: 0x6ce3a420, 0x3a11a: 0x6ce3a620, 0x3a11b: 0x6ce3a820,\n\t0x3a11c: 0x6ce3aa20, 0x3a11d: 0x6d11a220, 0x3a11e: 0x6d11a420, 0x3a11f: 0x6d11a620,\n\t0x3a120: 0x6d11a820, 0x3a121: 0x6d11aa20, 0x3a122: 0x6d11ac20, 0x3a123: 0x6d11ae20,\n\t0x3a124: 0x6d11b020, 0x3a125: 0x6d11b220, 0x3a126: 0x6d11b420, 0x3a127: 0x6d11b620,\n\t0x3a128: 0x6d11b820, 0x3a129: 0x6d11ba20, 0x3a12a: 0x6d11bc20, 0x3a12b: 0x6d11be20,\n\t0x3a12c: 0x6d11c020, 0x3a12d: 0x6d11c220, 0x3a12e: 0x6d11c420, 0x3a12f: 0x6d11c620,\n\t0x3a130: 0x6d11c820, 0x3a131: 0x6d11ca20, 0x3a132: 0x6d11cc20, 0x3a133: 0x6d11ce20,\n\t0x3a134: 0x6d11d020, 0x3a135: 0x6d11d220, 0x3a136: 0x6d11d420, 0x3a137: 0x6d11d620,\n\t0x3a138: 0x6d11d820, 0x3a139: 0x6d11da20, 0x3a13a: 0x6d11dc20, 0x3a13b: 0x6d11de20,\n\t0x3a13c: 0x6d11e020, 0x3a13d: 0x6d11e220, 0x3a13e: 0x6d11e420, 0x3a13f: 0x6d11e620,\n\t// Block 0xe85, offset 0x3a140\n\t0x3a140: 0x6d11e820, 0x3a141: 0x6d11ea20, 0x3a142: 0x6d11ec20, 0x3a143: 0x6d11ee20,\n\t0x3a144: 0x6d11f020, 0x3a145: 0x6d11f220, 0x3a146: 0x6d3f9c20, 0x3a147: 0x6d3f9e20,\n\t0x3a148: 0x6d3fa020, 0x3a149: 0x6d3fa220, 0x3a14a: 0x6d3fa420, 0x3a14b: 0x6d3fa620,\n\t0x3a14c: 0x6d3fa820, 0x3a14d: 0x6d3faa20, 0x3a14e: 0x6d3fac20, 0x3a14f: 0x6d3fae20,\n\t0x3a150: 0x6d3fb020, 0x3a151: 0x6d3fb220, 0x3a152: 0x6d3fb420, 0x3a153: 0x6d3fb620,\n\t0x3a154: 0x6d3fb820, 0x3a155: 0x6d3fba20, 0x3a156: 0x6d3fbc20, 0x3a157: 0x6d3fbe20,\n\t0x3a158: 0x6d3fc020, 0x3a159: 0x6d3fc220, 0x3a15a: 0x6d3fc420, 0x3a15b: 0x6d3fc620,\n\t0x3a15c: 0x6d3fc820, 0x3a15d: 0x6d3fca20, 0x3a15e: 0x6d3fcc20, 0x3a15f: 0x6d3fce20,\n\t0x3a160: 0x6d3fd020, 0x3a161: 0x6d3fd220, 0x3a162: 0x6d3fd420, 0x3a163: 0x6d3fd620,\n\t0x3a164: 0x6d3fd820, 0x3a165: 0x6d3fda20, 0x3a166: 0x6d3fdc20, 0x3a167: 0x6d3fde20,\n\t0x3a168: 0x6d3fe020, 0x3a169: 0x6d3fe220, 0x3a16a: 0x6d3fe420, 0x3a16b: 0x6d3fe620,\n\t0x3a16c: 0x6d3fe820, 0x3a16d: 0x6d3fea20, 0x3a16e: 0x6d3fec20, 0x3a16f: 0x6d3fee20,\n\t0x3a170: 0x6d3ff020, 0x3a171: 0x6d3ff220, 0x3a172: 0x6d3ff420, 0x3a173: 0x6d3ff620,\n\t0x3a174: 0x6d6c8a20, 0x3a175: 0x6d6c8c20, 0x3a176: 0x6d6c8e20, 0x3a177: 0x6d6c9020,\n\t0x3a178: 0x6d6c9220, 0x3a179: 0x6d6c9420, 0x3a17a: 0x6d6c9620, 0x3a17b: 0x6d6c9820,\n\t0x3a17c: 0x6d6c9a20, 0x3a17d: 0x6d6c9c20, 0x3a17e: 0x6d6c9e20, 0x3a17f: 0x6d6ca020,\n\t// Block 0xe86, offset 0x3a180\n\t0x3a180: 0x6d6ca220, 0x3a181: 0x6d6ca420, 0x3a182: 0x6d6ca620, 0x3a183: 0x6d6ca820,\n\t0x3a184: 0x6d6caa20, 0x3a185: 0x6d6cac20, 0x3a186: 0x6d6cae20, 0x3a187: 0x6d6cb020,\n\t0x3a188: 0x6d6cb220, 0x3a189: 0x6d6cb420, 0x3a18a: 0x6d6cb620, 0x3a18b: 0x6d6cb820,\n\t0x3a18c: 0x6d6cba20, 0x3a18d: 0x6d6cbc20, 0x3a18e: 0x6d6cbe20, 0x3a18f: 0x6d6cc020,\n\t0x3a190: 0x6d6cc220, 0x3a191: 0x6d6cc420, 0x3a192: 0x6d6cc620, 0x3a193: 0x6d784820,\n\t0x3a194: 0x6d6cc820, 0x3a195: 0x6d6cca20, 0x3a196: 0x6d6ccc20, 0x3a197: 0x6d6cce20,\n\t0x3a198: 0x6d6cd020, 0x3a199: 0x6d6cd220, 0x3a19a: 0x6d6cd420, 0x3a19b: 0x6d6cd620,\n\t0x3a19c: 0x6d6cd820, 0x3a19d: 0x6d6cda20, 0x3a19e: 0x6d6cdc20, 0x3a19f: 0x6d6cde20,\n\t0x3a1a0: 0x6d6ce020, 0x3a1a1: 0x6d6ce220, 0x3a1a2: 0x6d6ce420, 0x3a1a3: 0x6d6ce620,\n\t0x3a1a4: 0x6d6ce820, 0x3a1a5: 0x6d95b220, 0x3a1a6: 0x6d95b420, 0x3a1a7: 0x6d95b620,\n\t0x3a1a8: 0x6d95b820, 0x3a1a9: 0x6d95ba20, 0x3a1aa: 0x6d95bc20, 0x3a1ab: 0x6d95be20,\n\t0x3a1ac: 0x6d95c020, 0x3a1ad: 0x6d95c220, 0x3a1ae: 0x6d95c420, 0x3a1af: 0x6d95c620,\n\t0x3a1b0: 0x6d95c820, 0x3a1b1: 0x6d95ca20, 0x3a1b2: 0x6d95cc20, 0x3a1b3: 0x6d95ce20,\n\t0x3a1b4: 0x6d95d020, 0x3a1b5: 0x6d95d220, 0x3a1b6: 0x6d95d420, 0x3a1b7: 0x6d95d620,\n\t0x3a1b8: 0x6d95d820, 0x3a1b9: 0x6d95da20, 0x3a1ba: 0x6d95dc20, 0x3a1bb: 0x6d95de20,\n\t0x3a1bc: 0x6d95e020, 0x3a1bd: 0x6d95e220, 0x3a1be: 0x6d95e420, 0x3a1bf: 0x6d95e620,\n\t// Block 0xe87, offset 0x3a1c0\n\t0x3a1c0: 0x6d95e820, 0x3a1c1: 0x6d95ea20, 0x3a1c2: 0x6d95ec20, 0x3a1c3: 0x6d95ee20,\n\t0x3a1c4: 0x6d95f020, 0x3a1c5: 0x6d95f220, 0x3a1c6: 0x6d95f420, 0x3a1c7: 0x6db8c620,\n\t0x3a1c8: 0x6db8c820, 0x3a1c9: 0x6db8ca20, 0x3a1ca: 0x6db8cc20, 0x3a1cb: 0x6db8ce20,\n\t0x3a1cc: 0x6db8d020, 0x3a1cd: 0x6db8d220, 0x3a1ce: 0x6db8d420, 0x3a1cf: 0x6db8d620,\n\t0x3a1d0: 0x6db8d820, 0x3a1d1: 0x6db8da20, 0x3a1d2: 0x6db8dc20, 0x3a1d3: 0x6db8de20,\n\t0x3a1d4: 0x6db8e020, 0x3a1d5: 0x6db8e220, 0x3a1d6: 0x6db8e420, 0x3a1d7: 0x6db8e620,\n\t0x3a1d8: 0x6db8e820, 0x3a1d9: 0x6db8ea20, 0x3a1da: 0x6db8ec20, 0x3a1db: 0x6db8ee20,\n\t0x3a1dc: 0x6db8f020, 0x3a1dd: 0x6db8f220, 0x3a1de: 0x6db8f420, 0x3a1df: 0x6db8f620,\n\t0x3a1e0: 0x6db8f820, 0x3a1e1: 0x6dd72620, 0x3a1e2: 0x6dd72820, 0x3a1e3: 0x6dd72a20,\n\t0x3a1e4: 0x6dd72c20, 0x3a1e5: 0x6dd72e20, 0x3a1e6: 0x6dd73020, 0x3a1e7: 0x6dd73220,\n\t0x3a1e8: 0x6dd73420, 0x3a1e9: 0x6dd73620, 0x3a1ea: 0x6dd73820, 0x3a1eb: 0x6dd73a20,\n\t0x3a1ec: 0x6dd73c20, 0x3a1ed: 0x6dd73e20, 0x3a1ee: 0x6dd74020, 0x3a1ef: 0x6dd74220,\n\t0x3a1f0: 0x6dd74420, 0x3a1f1: 0x6dd74620, 0x3a1f2: 0x6dd74820, 0x3a1f3: 0x6dd74a20,\n\t0x3a1f4: 0x6dd74c20, 0x3a1f5: 0x6dd74e20, 0x3a1f6: 0x6dd75020, 0x3a1f7: 0x6defe220,\n\t0x3a1f8: 0x6defe420, 0x3a1f9: 0x6defe620, 0x3a1fa: 0x6defe820, 0x3a1fb: 0x6defea20,\n\t0x3a1fc: 0x6e03e620, 0x3a1fd: 0x6defec20, 0x3a1fe: 0x6defee20, 0x3a1ff: 0x6deff020,\n\t// Block 0xe88, offset 0x3a200\n\t0x3a200: 0x6deff220, 0x3a201: 0x6deff420, 0x3a202: 0x6e03fe20, 0x3a203: 0x6e040020,\n\t0x3a204: 0x6e040220, 0x3a205: 0x6e040420, 0x3a206: 0x6e040620, 0x3a207: 0x6e040820,\n\t0x3a208: 0x6e040a20, 0x3a209: 0x6e040c20, 0x3a20a: 0x6e040e20, 0x3a20b: 0x6e041020,\n\t0x3a20c: 0x6e041220, 0x3a20d: 0x6e041420, 0x3a20e: 0x6e041620, 0x3a20f: 0x6e041820,\n\t0x3a210: 0x6e041a20, 0x3a211: 0x6e041c20, 0x3a212: 0x6e153e20, 0x3a213: 0x6e154020,\n\t0x3a214: 0x6e154220, 0x3a215: 0x6e154420, 0x3a216: 0x6e154620, 0x3a217: 0x6e154820,\n\t0x3a218: 0x6e154a20, 0x3a219: 0x6e22de20, 0x3a21a: 0x6e22e020, 0x3a21b: 0x6e22e220,\n\t0x3a21c: 0x6e22e420, 0x3a21d: 0x6e22e620, 0x3a21e: 0x6e22e820, 0x3a21f: 0x6e2d0c20,\n\t0x3a220: 0x6e2d0e20, 0x3a221: 0x6e2d1020, 0x3a222: 0x6e2d1220, 0x3a223: 0x6e2d1420,\n\t0x3a224: 0x6e34fa20, 0x3a225: 0x6e34fc20, 0x3a226: 0x6e3aa820, 0x3a227: 0x6e3e6a20,\n\t0x3a228: 0x6c00ca20, 0x3a229: 0x6c052220, 0x3a22a: 0x6c052420, 0x3a22b: 0x6c0a9220,\n\t0x3a22c: 0x6c0a9420, 0x3a22d: 0x6c0a9620, 0x3a22e: 0x6c0a9820, 0x3a22f: 0x6c0a9a20,\n\t0x3a230: 0x6c0a9c20, 0x3a231: 0x6c0a9e20, 0x3a232: 0x6c0aa020, 0x3a233: 0x6c0aa220,\n\t0x3a234: 0x6c0aa420, 0x3a235: 0x6c0aa620, 0x3a236: 0x6c154e20, 0x3a237: 0x6c155020,\n\t0x3a238: 0x6c155220, 0x3a239: 0x6c155420, 0x3a23a: 0x6c155620, 0x3a23b: 0x6c155820,\n\t0x3a23c: 0x6c155a20, 0x3a23d: 0x6c155c20, 0x3a23e: 0x6c155e20, 0x3a23f: 0x6c156020,\n\t// Block 0xe89, offset 0x3a240\n\t0x3a240: 0x6c156220, 0x3a241: 0x6c156420, 0x3a242: 0x6c156620, 0x3a243: 0x6c156820,\n\t0x3a244: 0x6c156a20, 0x3a245: 0x6c156c20, 0x3a246: 0x6c156e20, 0x3a247: 0x6c157020,\n\t0x3a248: 0x6c157220, 0x3a249: 0x6c157420, 0x3a24a: 0x6c157620, 0x3a24b: 0x6c157820,\n\t0x3a24c: 0x6c157a20, 0x3a24d: 0x6c157c20, 0x3a24e: 0x6c157e20, 0x3a24f: 0x6c158020,\n\t0x3a250: 0x6c158220, 0x3a251: 0x6c158420, 0x3a252: 0x6c158620, 0x3a253: 0x6c27ae20,\n\t0x3a254: 0x6c27b020, 0x3a255: 0x6c27b220, 0x3a256: 0x6c27b420, 0x3a257: 0x6c27b620,\n\t0x3a258: 0x6c27b820, 0x3a259: 0x6c27ba20, 0x3a25a: 0x6c27bc20, 0x3a25b: 0x6c27be20,\n\t0x3a25c: 0x6c27c020, 0x3a25d: 0x6c27c220, 0x3a25e: 0x6c27c420, 0x3a25f: 0x6c27c620,\n\t0x3a260: 0x6c27c820, 0x3a261: 0x6c27ca20, 0x3a262: 0x6c27cc20, 0x3a263: 0x6c27ce20,\n\t0x3a264: 0x6c27d020, 0x3a265: 0x6c27d220, 0x3a266: 0x6c27d420, 0x3a267: 0x6c27d620,\n\t0x3a268: 0x6c27d820, 0x3a269: 0x6c27da20, 0x3a26a: 0x6c27dc20, 0x3a26b: 0x6c27de20,\n\t0x3a26c: 0x6c27e020, 0x3a26d: 0x6c27e220, 0x3a26e: 0x6c27e420, 0x3a26f: 0x6c41a020,\n\t0x3a270: 0x6c41a220, 0x3a271: 0x6c41a420, 0x3a272: 0x6c41a620, 0x3a273: 0x6c41a820,\n\t0x3a274: 0x6c41aa20, 0x3a275: 0x6c41ac20, 0x3a276: 0x6c41ae20, 0x3a277: 0x6c41b020,\n\t0x3a278: 0x6c41b220, 0x3a279: 0x6c41b420, 0x3a27a: 0x6c41b620, 0x3a27b: 0x6c41b820,\n\t0x3a27c: 0x6c41ba20, 0x3a27d: 0x6c41bc20, 0x3a27e: 0x6c41be20, 0x3a27f: 0x6c41c020,\n\t// Block 0xe8a, offset 0x3a280\n\t0x3a280: 0x6c41c220, 0x3a281: 0x6c41c420, 0x3a282: 0x6c41c620, 0x3a283: 0x6c41c820,\n\t0x3a284: 0x6c41ca20, 0x3a285: 0x6c41cc20, 0x3a286: 0x6c41ce20, 0x3a287: 0x6c41d020,\n\t0x3a288: 0x6c41d220, 0x3a289: 0x6c41d420, 0x3a28a: 0x6c41d620, 0x3a28b: 0x6c620e20,\n\t0x3a28c: 0x6c621020, 0x3a28d: 0x6c621220, 0x3a28e: 0x6c621420, 0x3a28f: 0x6c621620,\n\t0x3a290: 0x6c621820, 0x3a291: 0x6c621a20, 0x3a292: 0x6c621c20, 0x3a293: 0x6c621e20,\n\t0x3a294: 0x6c622020, 0x3a295: 0x6c622220, 0x3a296: 0x6c622420, 0x3a297: 0x6c622620,\n\t0x3a298: 0x6c622820, 0x3a299: 0x6c622a20, 0x3a29a: 0x6c622c20, 0x3a29b: 0x6c622e20,\n\t0x3a29c: 0x6c623020, 0x3a29d: 0x6c623220, 0x3a29e: 0x6c623420, 0x3a29f: 0x6c623620,\n\t0x3a2a0: 0x6c623820, 0x3a2a1: 0x6c623a20, 0x3a2a2: 0x6c623c20, 0x3a2a3: 0x6c623e20,\n\t0x3a2a4: 0x6c624020, 0x3a2a5: 0x6c624220, 0x3a2a6: 0x6c624420, 0x3a2a7: 0x6c624620,\n\t0x3a2a8: 0x6c624820, 0x3a2a9: 0x6c624a20, 0x3a2aa: 0x6c624c20, 0x3a2ab: 0x6c889a20,\n\t0x3a2ac: 0x6c889c20, 0x3a2ad: 0x6c889e20, 0x3a2ae: 0x6c88a020, 0x3a2af: 0x6c88a220,\n\t0x3a2b0: 0x6c88a420, 0x3a2b1: 0x6c88a620, 0x3a2b2: 0x6c88a820, 0x3a2b3: 0x6c88aa20,\n\t0x3a2b4: 0x6c88ac20, 0x3a2b5: 0x6c88ae20, 0x3a2b6: 0x6c88b020, 0x3a2b7: 0x6c88b220,\n\t0x3a2b8: 0x6c88b420, 0x3a2b9: 0x6c88b620, 0x3a2ba: 0x6c88b820, 0x3a2bb: 0x6c88ba20,\n\t0x3a2bc: 0x6c88bc20, 0x3a2bd: 0x6c88be20, 0x3a2be: 0x6c88c020, 0x3a2bf: 0x6c88c220,\n\t// Block 0xe8b, offset 0x3a2c0\n\t0x3a2c0: 0x6c88c420, 0x3a2c1: 0x6c88c620, 0x3a2c2: 0x6c88c820, 0x3a2c3: 0x6c88ca20,\n\t0x3a2c4: 0x6c88cc20, 0x3a2c5: 0x6c88ce20, 0x3a2c6: 0x6c88d020, 0x3a2c7: 0x6c88d220,\n\t0x3a2c8: 0x6c88d420, 0x3a2c9: 0x6c88d620, 0x3a2ca: 0x6c88d820, 0x3a2cb: 0x6c88da20,\n\t0x3a2cc: 0x6c88dc20, 0x3a2cd: 0x6c88de20, 0x3a2ce: 0x6c88e020, 0x3a2cf: 0x6cb42a20,\n\t0x3a2d0: 0x6cb42c20, 0x3a2d1: 0x6cb42e20, 0x3a2d2: 0x6cb43020, 0x3a2d3: 0x6cb43220,\n\t0x3a2d4: 0x6cb43420, 0x3a2d5: 0x6cb43620, 0x3a2d6: 0x6cb43820, 0x3a2d7: 0x6ce3e620,\n\t0x3a2d8: 0x6cb43a20, 0x3a2d9: 0x6cb43c20, 0x3a2da: 0x6cb43e20, 0x3a2db: 0x6cb44020,\n\t0x3a2dc: 0x6cb44220, 0x3a2dd: 0x6cb44420, 0x3a2de: 0x6cb44620, 0x3a2df: 0x6cb44820,\n\t0x3a2e0: 0x6cb44a20, 0x3a2e1: 0x6cb44c20, 0x3a2e2: 0x6cb44e20, 0x3a2e3: 0x6cb45020,\n\t0x3a2e4: 0x6cb45220, 0x3a2e5: 0x6cb45420, 0x3a2e6: 0x6cb45620, 0x3a2e7: 0x6cb45820,\n\t0x3a2e8: 0x6cb45a20, 0x3a2e9: 0x6cb45c20, 0x3a2ea: 0x6cb45e20, 0x3a2eb: 0x6cb46020,\n\t0x3a2ec: 0x6cb46220, 0x3a2ed: 0x6cb46420, 0x3a2ee: 0x6cb46620, 0x3a2ef: 0x6cb46820,\n\t0x3a2f0: 0x6cb46a20, 0x3a2f1: 0x6cb46c20, 0x3a2f2: 0x6ce3e820, 0x3a2f3: 0x6ce3ea20,\n\t0x3a2f4: 0x6ce3ec20, 0x3a2f5: 0x6ce3ee20, 0x3a2f6: 0x6ce3f020, 0x3a2f7: 0x6ce3f220,\n\t0x3a2f8: 0x6ce3f420, 0x3a2f9: 0x6ce3f620, 0x3a2fa: 0x6ce3f820, 0x3a2fb: 0x6ce3fa20,\n\t0x3a2fc: 0x6ce3fc20, 0x3a2fd: 0x6ce3fe20, 0x3a2fe: 0x6ce40020, 0x3a2ff: 0x6ce40220,\n\t// Block 0xe8c, offset 0x3a300\n\t0x3a300: 0x6ce40420, 0x3a301: 0x6ce40620, 0x3a302: 0x6ce40820, 0x3a303: 0x6ce40a20,\n\t0x3a304: 0x6ce40c20, 0x3a305: 0x6ce40e20, 0x3a306: 0x6ce41020, 0x3a307: 0x6ce41220,\n\t0x3a308: 0x6ce41420, 0x3a309: 0x6ce41620, 0x3a30a: 0x6ce41820, 0x3a30b: 0x6d122220,\n\t0x3a30c: 0x6d122420, 0x3a30d: 0x6d122620, 0x3a30e: 0x6d122820, 0x3a30f: 0x6d122a20,\n\t0x3a310: 0x6d122c20, 0x3a311: 0x6d122e20, 0x3a312: 0x6d123020, 0x3a313: 0x6d123220,\n\t0x3a314: 0x6d123420, 0x3a315: 0x6d123620, 0x3a316: 0x6d123820, 0x3a317: 0x6d123a20,\n\t0x3a318: 0x6d123c20, 0x3a319: 0x6d123e20, 0x3a31a: 0x6d124020, 0x3a31b: 0x6d124220,\n\t0x3a31c: 0x6d124420, 0x3a31d: 0x6d124620, 0x3a31e: 0x6d124820, 0x3a31f: 0x6d124a20,\n\t0x3a320: 0x6d124c20, 0x3a321: 0x6d124e20, 0x3a322: 0x6d125020, 0x3a323: 0x6d125220,\n\t0x3a324: 0x6d125420, 0x3a325: 0x6d125620, 0x3a326: 0x6d125820, 0x3a327: 0x6d125a20,\n\t0x3a328: 0x6d125c20, 0x3a329: 0x6d125e20, 0x3a32a: 0x6d126020, 0x3a32b: 0x6d403020,\n\t0x3a32c: 0x6d403220, 0x3a32d: 0x6d403420, 0x3a32e: 0x6d403620, 0x3a32f: 0x6d403820,\n\t0x3a330: 0x6d403a20, 0x3a331: 0x6d403c20, 0x3a332: 0x6d403e20, 0x3a333: 0x6d404020,\n\t0x3a334: 0x6d404220, 0x3a335: 0x6d404420, 0x3a336: 0x6d404620, 0x3a337: 0x6d404820,\n\t0x3a338: 0x6d404a20, 0x3a339: 0x6d126220, 0x3a33a: 0x6d404c20, 0x3a33b: 0x6d404e20,\n\t0x3a33c: 0x6d405020, 0x3a33d: 0x6d405220, 0x3a33e: 0x6d405420, 0x3a33f: 0x6d405620,\n\t// Block 0xe8d, offset 0x3a340\n\t0x3a340: 0x6d405820, 0x3a341: 0x6d405a20, 0x3a342: 0x6d405c20, 0x3a343: 0x6d405e20,\n\t0x3a344: 0x6d406020, 0x3a345: 0x6d406220, 0x3a346: 0x6d406420, 0x3a347: 0x6d406620,\n\t0x3a348: 0x6d406820, 0x3a349: 0x6d406a20, 0x3a34a: 0x6d406c20, 0x3a34b: 0x6d406e20,\n\t0x3a34c: 0x6d407020, 0x3a34d: 0x6d407220, 0x3a34e: 0x6d407420, 0x3a34f: 0x6d407620,\n\t0x3a350: 0x6d407820, 0x3a351: 0x6d6d1820, 0x3a352: 0x6d6d1a20, 0x3a353: 0x6d6d1c20,\n\t0x3a354: 0x6d6d1e20, 0x3a355: 0x6d6d2020, 0x3a356: 0x6d6d2220, 0x3a357: 0x6d6d2420,\n\t0x3a358: 0x6d6d2620, 0x3a359: 0x6d6d2820, 0x3a35a: 0x6d6d2a20, 0x3a35b: 0x6d6d2c20,\n\t0x3a35c: 0x6d6d2e20, 0x3a35d: 0x6d6d3020, 0x3a35e: 0x6d6d3220, 0x3a35f: 0x6d6d3420,\n\t0x3a360: 0x6d6d3620, 0x3a361: 0x6d6d3820, 0x3a362: 0x6d6d3a20, 0x3a363: 0x6d6d3c20,\n\t0x3a364: 0x6d6d3e20, 0x3a365: 0x6d6d4020, 0x3a366: 0x6d6d4220, 0x3a367: 0x6d960820,\n\t0x3a368: 0x6d960a20, 0x3a369: 0x6d960c20, 0x3a36a: 0x6d960e20, 0x3a36b: 0x6d961020,\n\t0x3a36c: 0x6d961220, 0x3a36d: 0x6d961420, 0x3a36e: 0x6d961620, 0x3a36f: 0x6d961820,\n\t0x3a370: 0x6d961a20, 0x3a371: 0x6d961c20, 0x3a372: 0x6d961e20, 0x3a373: 0x6d962020,\n\t0x3a374: 0x6d962220, 0x3a375: 0x6d962420, 0x3a376: 0x6d962620, 0x3a377: 0x6d962820,\n\t0x3a378: 0x6d962a20, 0x3a379: 0x6d962c20, 0x3a37a: 0x6db90c20, 0x3a37b: 0x6db90e20,\n\t0x3a37c: 0x6db91020, 0x3a37d: 0x6db91220, 0x3a37e: 0x6db91420, 0x3a37f: 0x6db91620,\n\t// Block 0xe8e, offset 0x3a380\n\t0x3a380: 0x6db91820, 0x3a381: 0x6db91a20, 0x3a382: 0x6db91c20, 0x3a383: 0x6db91e20,\n\t0x3a384: 0x6db92020, 0x3a385: 0x6db92220, 0x3a386: 0x6db92420, 0x3a387: 0x6db92620,\n\t0x3a388: 0x6db92820, 0x3a389: 0x6db92a20, 0x3a38a: 0x6db92c20, 0x3a38b: 0x6db92e20,\n\t0x3a38c: 0x6db93020, 0x3a38d: 0x6dd76220, 0x3a38e: 0x6dd76420, 0x3a38f: 0x6dd76620,\n\t0x3a390: 0x6dd76820, 0x3a391: 0x6dd76a20, 0x3a392: 0x6dd76c20, 0x3a393: 0x6dd76e20,\n\t0x3a394: 0x6dd77020, 0x3a395: 0x6dd77220, 0x3a396: 0x6dd77420, 0x3a397: 0x6dd77620,\n\t0x3a398: 0x6dd77820, 0x3a399: 0x6deffc20, 0x3a39a: 0x6deffe20, 0x3a39b: 0x6df00020,\n\t0x3a39c: 0x6df00220, 0x3a39d: 0x6df00420, 0x3a39e: 0x6df00620, 0x3a39f: 0x6df00820,\n\t0x3a3a0: 0x6e042a20, 0x3a3a1: 0x6e042c20, 0x3a3a2: 0x6e042e20, 0x3a3a3: 0x6e043020,\n\t0x3a3a4: 0x6e155420, 0x3a3a5: 0x6e155620, 0x3a3a6: 0x6e155820, 0x3a3a7: 0x6e155a20,\n\t0x3a3a8: 0x6e22ee20, 0x3a3a9: 0x6e2d1a20, 0x3a3aa: 0x6e2d1c20, 0x3a3ab: 0x6e2d1e20,\n\t0x3a3ac: 0x6e2d2020, 0x3a3ad: 0x6e2d2220, 0x3a3ae: 0x6e2d2420, 0x3a3af: 0x6e3e6c20,\n\t0x3a3b0: 0x6c88fc20, 0x3a3b1: 0x6c88fe20, 0x3a3b2: 0x6c890020, 0x3a3b3: 0x6c890220,\n\t0x3a3b4: 0x6cb49620, 0x3a3b5: 0x6cb49820, 0x3a3b6: 0x6cb49a20, 0x3a3b7: 0x6cb49c20,\n\t0x3a3b8: 0x6cb49e20, 0x3a3b9: 0x6cb4a020, 0x3a3ba: 0x6cb4a220, 0x3a3bb: 0x6cb4a420,\n\t0x3a3bc: 0x6cb4a620, 0x3a3bd: 0x6cb4a820, 0x3a3be: 0x6cb4aa20, 0x3a3bf: 0x6cb4ac20,\n\t// Block 0xe8f, offset 0x3a3c0\n\t0x3a3c0: 0x6cb4ae20, 0x3a3c1: 0x6cb4b020, 0x3a3c2: 0x6cb4b220, 0x3a3c3: 0x6cb4b420,\n\t0x3a3c4: 0x6cb4b620, 0x3a3c5: 0x6cb4b820, 0x3a3c6: 0x6cb4ba20, 0x3a3c7: 0x6cb4bc20,\n\t0x3a3c8: 0x6cb4be20, 0x3a3c9: 0x6cb4c020, 0x3a3ca: 0x6cb4c220, 0x3a3cb: 0x6ce43820,\n\t0x3a3cc: 0x6ce43a20, 0x3a3cd: 0x6ce43c20, 0x3a3ce: 0x6ce43e20, 0x3a3cf: 0x6ce44020,\n\t0x3a3d0: 0x6ce44220, 0x3a3d1: 0x6ce44420, 0x3a3d2: 0x6ce44620, 0x3a3d3: 0x6ce44820,\n\t0x3a3d4: 0x6ce44a20, 0x3a3d5: 0x6ce44c20, 0x3a3d6: 0x6ce44e20, 0x3a3d7: 0x6ce45020,\n\t0x3a3d8: 0x6ce45220, 0x3a3d9: 0x6ce45420, 0x3a3da: 0x6ce45620, 0x3a3db: 0x6ce45820,\n\t0x3a3dc: 0x6ce45a20, 0x3a3dd: 0x6ce45c20, 0x3a3de: 0x6ce45e20, 0x3a3df: 0x6ce46020,\n\t0x3a3e0: 0x6ce46220, 0x3a3e1: 0x6ce46420, 0x3a3e2: 0x6ce46620, 0x3a3e3: 0x6ce46820,\n\t0x3a3e4: 0x6d129020, 0x3a3e5: 0x6d129220, 0x3a3e6: 0x6d129420, 0x3a3e7: 0x6d129620,\n\t0x3a3e8: 0x6d129820, 0x3a3e9: 0x6d129a20, 0x3a3ea: 0x6d129c20, 0x3a3eb: 0x6d129e20,\n\t0x3a3ec: 0x6d12a020, 0x3a3ed: 0x6d12a220, 0x3a3ee: 0x6d12a420, 0x3a3ef: 0x6d12a620,\n\t0x3a3f0: 0x6d12a820, 0x3a3f1: 0x6d12aa20, 0x3a3f2: 0x6d12ac20, 0x3a3f3: 0x6d12ae20,\n\t0x3a3f4: 0x6d12b020, 0x3a3f5: 0x6d12b220, 0x3a3f6: 0x6d12b420, 0x3a3f7: 0x6d409a20,\n\t0x3a3f8: 0x6d409c20, 0x3a3f9: 0x6d409e20, 0x3a3fa: 0x6d40a020, 0x3a3fb: 0x6d40a220,\n\t0x3a3fc: 0x6d40a420, 0x3a3fd: 0x6d40a620, 0x3a3fe: 0x6d40a820, 0x3a3ff: 0x6d40aa20,\n\t// Block 0xe90, offset 0x3a400\n\t0x3a400: 0x6d40ac20, 0x3a401: 0x6d40ae20, 0x3a402: 0x6d40b020, 0x3a403: 0x6d40b220,\n\t0x3a404: 0x6d40b420, 0x3a405: 0x6d40b620, 0x3a406: 0x6d40b820, 0x3a407: 0x6d40ba20,\n\t0x3a408: 0x6d40bc20, 0x3a409: 0x6d40be20, 0x3a40a: 0x6d40c020, 0x3a40b: 0x6d40c220,\n\t0x3a40c: 0x6d6d6a20, 0x3a40d: 0x6d6d6c20, 0x3a40e: 0x6d6d6e20, 0x3a40f: 0x6d6d7020,\n\t0x3a410: 0x6d6d7220, 0x3a411: 0x6d6d7420, 0x3a412: 0x6d6d7620, 0x3a413: 0x6d6d7820,\n\t0x3a414: 0x6d6d7a20, 0x3a415: 0x6d6d7c20, 0x3a416: 0x6d6d7e20, 0x3a417: 0x6d6d8020,\n\t0x3a418: 0x6d6d8220, 0x3a419: 0x6d6d8420, 0x3a41a: 0x6d6d8620, 0x3a41b: 0x6d6d8820,\n\t0x3a41c: 0x6d6d8a20, 0x3a41d: 0x6d6d8c20, 0x3a41e: 0x6d6d8e20, 0x3a41f: 0x6d6d9020,\n\t0x3a420: 0x6d6d9220, 0x3a421: 0x6d6d9420, 0x3a422: 0x6d6d9620, 0x3a423: 0x6d6d9820,\n\t0x3a424: 0x6d6d9a20, 0x3a425: 0x6d6d9c20, 0x3a426: 0x6d6d9e20, 0x3a427: 0x6d6da020,\n\t0x3a428: 0x6d6da220, 0x3a429: 0x6d965820, 0x3a42a: 0x6d965a20, 0x3a42b: 0x6d965c20,\n\t0x3a42c: 0x6d965e20, 0x3a42d: 0x6d966020, 0x3a42e: 0x6d966220, 0x3a42f: 0x6d966420,\n\t0x3a430: 0x6d966620, 0x3a431: 0x6d966820, 0x3a432: 0x6d966a20, 0x3a433: 0x6d966c20,\n\t0x3a434: 0x6d966e20, 0x3a435: 0x6d967020, 0x3a436: 0x6d967220, 0x3a437: 0x6d967420,\n\t0x3a438: 0x6d967620, 0x3a439: 0x6d967820, 0x3a43a: 0x6d967a20, 0x3a43b: 0x6d967c20,\n\t0x3a43c: 0x6d967e20, 0x3a43d: 0x6d968020, 0x3a43e: 0x6d968220, 0x3a43f: 0x6d968420,\n\t// Block 0xe91, offset 0x3a440\n\t0x3a440: 0x6d968620, 0x3a441: 0x6d968820, 0x3a442: 0x6d968a20, 0x3a443: 0x6d968c20,\n\t0x3a444: 0x6d968e20, 0x3a445: 0x6db95620, 0x3a446: 0x6db95820, 0x3a447: 0x6db95a20,\n\t0x3a448: 0x6db95c20, 0x3a449: 0x6db95e20, 0x3a44a: 0x6db96020, 0x3a44b: 0x6db96220,\n\t0x3a44c: 0x6db96420, 0x3a44d: 0x6db96620, 0x3a44e: 0x6db96820, 0x3a44f: 0x6db96a20,\n\t0x3a450: 0x6db96c20, 0x3a451: 0x6db96e20, 0x3a452: 0x6db97020, 0x3a453: 0x6db97220,\n\t0x3a454: 0x6db97420, 0x3a455: 0x6db97620, 0x3a456: 0x6db97820, 0x3a457: 0x6db97a20,\n\t0x3a458: 0x6db97c20, 0x3a459: 0x6db97e20, 0x3a45a: 0x6db98020, 0x3a45b: 0x6db98220,\n\t0x3a45c: 0x6db98420, 0x3a45d: 0x6db98620, 0x3a45e: 0x6db98820, 0x3a45f: 0x6db98a20,\n\t0x3a460: 0x6db98c20, 0x3a461: 0x6dd79220, 0x3a462: 0x6dd79420, 0x3a463: 0x6dd79620,\n\t0x3a464: 0x6dd79820, 0x3a465: 0x6dd79a20, 0x3a466: 0x6dd79c20, 0x3a467: 0x6dd79e20,\n\t0x3a468: 0x6dd7a020, 0x3a469: 0x6dd7a220, 0x3a46a: 0x6dd7a420, 0x3a46b: 0x6dd7a620,\n\t0x3a46c: 0x6dd7a820, 0x3a46d: 0x6dd7aa20, 0x3a46e: 0x6dd7ac20, 0x3a46f: 0x6dd7ae20,\n\t0x3a470: 0x6dd7b020, 0x3a471: 0x6dd7b220, 0x3a472: 0x6dd7b420, 0x3a473: 0x6dd7b620,\n\t0x3a474: 0x6dd7b820, 0x3a475: 0x6dd7ba20, 0x3a476: 0x6dd7bc20, 0x3a477: 0x6dd7be20,\n\t0x3a478: 0x6dd7c020, 0x3a479: 0x6dd7c220, 0x3a47a: 0x6dd7c420, 0x3a47b: 0x6dd7c620,\n\t0x3a47c: 0x6dd7c820, 0x3a47d: 0x6df01e20, 0x3a47e: 0x6df02020, 0x3a47f: 0x6df02220,\n\t// Block 0xe92, offset 0x3a480\n\t0x3a480: 0x6df02420, 0x3a481: 0x6df02620, 0x3a482: 0x6df02820, 0x3a483: 0x6df02a20,\n\t0x3a484: 0x6df02c20, 0x3a485: 0x6df02e20, 0x3a486: 0x6df03020, 0x3a487: 0x6df03220,\n\t0x3a488: 0x6df03420, 0x3a489: 0x6df03620, 0x3a48a: 0x6df03820, 0x3a48b: 0x6df03a20,\n\t0x3a48c: 0x6df03c20, 0x3a48d: 0x6df03e20, 0x3a48e: 0x6df04020, 0x3a48f: 0x6df04220,\n\t0x3a490: 0x6df04420, 0x3a491: 0x6df04620, 0x3a492: 0x6df04820, 0x3a493: 0x6df04a20,\n\t0x3a494: 0x6df04c20, 0x3a495: 0x6df04e20, 0x3a496: 0x6e044220, 0x3a497: 0x6e044420,\n\t0x3a498: 0x6e044620, 0x3a499: 0x6e044820, 0x3a49a: 0x6e044a20, 0x3a49b: 0x6e044c20,\n\t0x3a49c: 0x6e044e20, 0x3a49d: 0x6e045020, 0x3a49e: 0x6e045220, 0x3a49f: 0x6e045420,\n\t0x3a4a0: 0x6e045620, 0x3a4a1: 0x6e045820, 0x3a4a2: 0x6e045a20, 0x3a4a3: 0x6e045c20,\n\t0x3a4a4: 0x6e045e20, 0x3a4a5: 0x6e046020, 0x3a4a6: 0x6e156620, 0x3a4a7: 0x6e156820,\n\t0x3a4a8: 0x6e156a20, 0x3a4a9: 0x6e156c20, 0x3a4aa: 0x6e156e20, 0x3a4ab: 0x6e157020,\n\t0x3a4ac: 0x6e157220, 0x3a4ad: 0x6e157420, 0x3a4ae: 0x6e22f420, 0x3a4af: 0x6e22f620,\n\t0x3a4b0: 0x6e22f820, 0x3a4b1: 0x6e22fa20, 0x3a4b2: 0x6e22fc20, 0x3a4b3: 0x6e22fe20,\n\t0x3a4b4: 0x6e230020, 0x3a4b5: 0x6e230220, 0x3a4b6: 0x6e2d2820, 0x3a4b7: 0x6e2d2a20,\n\t0x3a4b8: 0x6e2d2c20, 0x3a4b9: 0x6e2d2e20, 0x3a4ba: 0x6e2d3020, 0x3a4bb: 0x6e2d3220,\n\t0x3a4bc: 0x6e2d3420, 0x3a4bd: 0x6e2d3620, 0x3a4be: 0x6e350a20, 0x3a4bf: 0x6e350c20,\n\t// Block 0xe93, offset 0x3a4c0\n\t0x3a4c0: 0x6e350e20, 0x3a4c1: 0x6e351020, 0x3a4c2: 0x6e351220, 0x3a4c3: 0x6e3aac20,\n\t0x3a4c4: 0x6e3aae20, 0x3a4c5: 0x6e3e7220, 0x3a4c6: 0x6e3e7420, 0x3a4c7: 0x6e413a20,\n\t0x3a4c8: 0x6e413c20, 0x3a4c9: 0x6e413e20, 0x3a4ca: 0x6e433a20, 0x3a4cb: 0x6e433c20,\n\t0x3a4cc: 0x6e433e20, 0x3a4cd: 0x6e45e220, 0x3a4ce: 0x6e45e420, 0x3a4cf: 0x6c890620,\n\t0x3a4d0: 0x6cb4c620, 0x3a4d1: 0x6cb4c820, 0x3a4d2: 0x6d40ca20, 0x3a4d3: 0x6d40cc20,\n\t0x3a4d4: 0x6d40ce20, 0x3a4d5: 0x6d6da620, 0x3a4d6: 0x6d6da820, 0x3a4d7: 0x6d6daa20,\n\t0x3a4d8: 0x6d969020, 0x3a4d9: 0x6d969220, 0x3a4da: 0x6db99220, 0x3a4db: 0x6db99420,\n\t0x3a4dc: 0x6db99620, 0x3a4dd: 0x6dd7cc20, 0x3a4de: 0x6e046420, 0x3a4df: 0x6e157820,\n\t0x3a4e0: 0x6e157a20, 0x3a4e1: 0x6e230420, 0x3a4e2: 0x6cb4ce20, 0x3a4e3: 0x6c890820,\n\t0x3a4e4: 0x6c890a20, 0x3a4e5: 0x6cb4d020, 0x3a4e6: 0x6ce47220, 0x3a4e7: 0x6ce47420,\n\t0x3a4e8: 0x6ce47620, 0x3a4e9: 0x6ce47820, 0x3a4ea: 0x6d12bc20, 0x3a4eb: 0x6d12be20,\n\t0x3a4ec: 0x6d40d020, 0x3a4ed: 0x6d6dac20, 0x3a4ee: 0x6d6dae20, 0x3a4ef: 0x6d6db020,\n\t0x3a4f0: 0x6d969420, 0x3a4f1: 0x6d969620, 0x3a4f2: 0x6db99a20, 0x3a4f3: 0x6db99c20,\n\t0x3a4f4: 0x6dd7d020, 0x3a4f5: 0x6dd7d220, 0x3a4f6: 0x6dd7d420, 0x3a4f7: 0x6dd7d620,\n\t0x3a4f8: 0x6e046820, 0x3a4f9: 0x6e157c20, 0x3a4fa: 0x6e157e20, 0x3a4fb: 0x6e3ab020,\n\t0x3a4fc: 0x6e456620, 0x3a4fd: 0x6c892a20, 0x3a4fe: 0x6c892c20, 0x3a4ff: 0x6c892e20,\n\t// Block 0xe94, offset 0x3a500\n\t0x3a500: 0x6c893020, 0x3a501: 0x6c893220, 0x3a502: 0x6cb50a20, 0x3a503: 0x6cb50c20,\n\t0x3a504: 0x6cb50e20, 0x3a505: 0x6cb51020, 0x3a506: 0x6cb51220, 0x3a507: 0x6cb51420,\n\t0x3a508: 0x6cb51620, 0x3a509: 0x6cb51820, 0x3a50a: 0x6ce4e420, 0x3a50b: 0x6ce4e620,\n\t0x3a50c: 0x6ce4e820, 0x3a50d: 0x6ce4ea20, 0x3a50e: 0x6ce4ec20, 0x3a50f: 0x6ce4ee20,\n\t0x3a510: 0x6ce4f020, 0x3a511: 0x6ce4f220, 0x3a512: 0x6ce4f420, 0x3a513: 0x6ce4f620,\n\t0x3a514: 0x6ce4f820, 0x3a515: 0x6ce4fa20, 0x3a516: 0x6ce4fc20, 0x3a517: 0x6ce4fe20,\n\t0x3a518: 0x6ce50020, 0x3a519: 0x6ce50220, 0x3a51a: 0x6ce50420, 0x3a51b: 0x6ce50620,\n\t0x3a51c: 0x6ce50820, 0x3a51d: 0x6ce50a20, 0x3a51e: 0x6ce50c20, 0x3a51f: 0x6ce50e20,\n\t0x3a520: 0x6ce51020, 0x3a521: 0x6ce51220, 0x3a522: 0x6ce51420, 0x3a523: 0x6ce51620,\n\t0x3a524: 0x6ce51820, 0x3a525: 0x6d135820, 0x3a526: 0x6d135a20, 0x3a527: 0x6d135c20,\n\t0x3a528: 0x6d135e20, 0x3a529: 0x6d136020, 0x3a52a: 0x6d136220, 0x3a52b: 0x6d136420,\n\t0x3a52c: 0x6d136620, 0x3a52d: 0x6d136820, 0x3a52e: 0x6d136a20, 0x3a52f: 0x6d136c20,\n\t0x3a530: 0x6d136e20, 0x3a531: 0x6d137020, 0x3a532: 0x6d137220, 0x3a533: 0x6d137420,\n\t0x3a534: 0x6d137620, 0x3a535: 0x6d137820, 0x3a536: 0x6d137a20, 0x3a537: 0x6d137c20,\n\t0x3a538: 0x6d137e20, 0x3a539: 0x6d138020, 0x3a53a: 0x6d138220, 0x3a53b: 0x6d138420,\n\t0x3a53c: 0x6d138620, 0x3a53d: 0x6d138820, 0x3a53e: 0x6d138a20, 0x3a53f: 0x6d138c20,\n\t// Block 0xe95, offset 0x3a540\n\t0x3a540: 0x6d138e20, 0x3a541: 0x6d139020, 0x3a542: 0x6d415a20, 0x3a543: 0x6d415c20,\n\t0x3a544: 0x6d415e20, 0x3a545: 0x6d416020, 0x3a546: 0x6d416220, 0x3a547: 0x6d416420,\n\t0x3a548: 0x6d416620, 0x3a549: 0x6d416820, 0x3a54a: 0x6d416a20, 0x3a54b: 0x6d416c20,\n\t0x3a54c: 0x6d416e20, 0x3a54d: 0x6d417020, 0x3a54e: 0x6d417220, 0x3a54f: 0x6d417420,\n\t0x3a550: 0x6d417620, 0x3a551: 0x6d417820, 0x3a552: 0x6d417a20, 0x3a553: 0x6d417c20,\n\t0x3a554: 0x6d417e20, 0x3a555: 0x6d418020, 0x3a556: 0x6d418220, 0x3a557: 0x6d418420,\n\t0x3a558: 0x6d418620, 0x3a559: 0x6d418820, 0x3a55a: 0x6d418a20, 0x3a55b: 0x6d418c20,\n\t0x3a55c: 0x6d418e20, 0x3a55d: 0x6d419020, 0x3a55e: 0x6d377020, 0x3a55f: 0x6d419220,\n\t0x3a560: 0x6d419420, 0x3a561: 0x6d419620, 0x3a562: 0x6d419820, 0x3a563: 0x6d419a20,\n\t0x3a564: 0x6d419c20, 0x3a565: 0x6d419e20, 0x3a566: 0x6d41a020, 0x3a567: 0x6d41a220,\n\t0x3a568: 0x6d41a420, 0x3a569: 0x6d41a620, 0x3a56a: 0x6d41a820, 0x3a56b: 0x6d41aa20,\n\t0x3a56c: 0x6d6e4a20, 0x3a56d: 0x6d6e4c20, 0x3a56e: 0x6d6e4e20, 0x3a56f: 0x6d6e5020,\n\t0x3a570: 0x6d6e5220, 0x3a571: 0x6d6e5420, 0x3a572: 0x6d6e5620, 0x3a573: 0x6d6e5820,\n\t0x3a574: 0x6d6e5a20, 0x3a575: 0x6d6e5c20, 0x3a576: 0x6d6e5e20, 0x3a577: 0x6d6e6020,\n\t0x3a578: 0x6d6e6220, 0x3a579: 0x6d6e6420, 0x3a57a: 0x6d6e6620, 0x3a57b: 0x6d6e6820,\n\t0x3a57c: 0x6d6e6a20, 0x3a57d: 0x6d6e6c20, 0x3a57e: 0x6d6e6e20, 0x3a57f: 0x6d6e7020,\n\t// Block 0xe96, offset 0x3a580\n\t0x3a580: 0x6d6e7220, 0x3a581: 0x6d6e7420, 0x3a582: 0x6d6e7620, 0x3a583: 0x6d6e7820,\n\t0x3a584: 0x6d6e7a20, 0x3a585: 0x6d6e7c20, 0x3a586: 0x6d6e7e20, 0x3a587: 0x6d6e8020,\n\t0x3a588: 0x6d6e8220, 0x3a589: 0x6d6e8420, 0x3a58a: 0x6d6e8620, 0x3a58b: 0x6d6e8820,\n\t0x3a58c: 0x6d6e8a20, 0x3a58d: 0x6d6e8c20, 0x3a58e: 0x6d6e8e20, 0x3a58f: 0x6d6e9020,\n\t0x3a590: 0x6d6e9220, 0x3a591: 0x6d6e9420, 0x3a592: 0x6d6e9620, 0x3a593: 0x6d6e9820,\n\t0x3a594: 0x6d6e9a20, 0x3a595: 0x6d6e9c20, 0x3a596: 0x6d6e9e20, 0x3a597: 0x6d6ea020,\n\t0x3a598: 0x6d6ea220, 0x3a599: 0x6d6ea420, 0x3a59a: 0x6d6ea620, 0x3a59b: 0x6d6ea820,\n\t0x3a59c: 0x6d6eaa20, 0x3a59d: 0x6d6eac20, 0x3a59e: 0x6d6eae20, 0x3a59f: 0x6d6eb020,\n\t0x3a5a0: 0x6d6eb220, 0x3a5a1: 0x6d6eb420, 0x3a5a2: 0x6d6eb620, 0x3a5a3: 0x6d6eb820,\n\t0x3a5a4: 0x6d6eba20, 0x3a5a5: 0x6d6ebc20, 0x3a5a6: 0x6d974620, 0x3a5a7: 0x6d974820,\n\t0x3a5a8: 0x6d974a20, 0x3a5a9: 0x6d974c20, 0x3a5aa: 0x6d974e20, 0x3a5ab: 0x6d975020,\n\t0x3a5ac: 0x6d975220, 0x3a5ad: 0x6d975420, 0x3a5ae: 0x6d975620, 0x3a5af: 0x6d975820,\n\t0x3a5b0: 0x6d975a20, 0x3a5b1: 0x6d975c20, 0x3a5b2: 0x6d975e20, 0x3a5b3: 0x6d976020,\n\t0x3a5b4: 0x6d976220, 0x3a5b5: 0x6d976420, 0x3a5b6: 0x6d976620, 0x3a5b7: 0x6d976820,\n\t0x3a5b8: 0x6d976a20, 0x3a5b9: 0x6d976c20, 0x3a5ba: 0x6d976e20, 0x3a5bb: 0x6d977020,\n\t0x3a5bc: 0x6d977220, 0x3a5bd: 0x6d977420, 0x3a5be: 0x6d977620, 0x3a5bf: 0x6d977820,\n\t// Block 0xe97, offset 0x3a5c0\n\t0x3a5c0: 0x6d977a20, 0x3a5c1: 0x6d977c20, 0x3a5c2: 0x6d977e20, 0x3a5c3: 0x6d978020,\n\t0x3a5c4: 0x6d978220, 0x3a5c5: 0x6d978420, 0x3a5c6: 0x6d978620, 0x3a5c7: 0x6d978820,\n\t0x3a5c8: 0x6d978a20, 0x3a5c9: 0x6d978c20, 0x3a5ca: 0x6d978e20, 0x3a5cb: 0x6d979020,\n\t0x3a5cc: 0x6d979220, 0x3a5cd: 0x6d979420, 0x3a5ce: 0x6d979620, 0x3a5cf: 0x6d979820,\n\t0x3a5d0: 0x6d979a20, 0x3a5d1: 0x6d979c20, 0x3a5d2: 0x6d979e20, 0x3a5d3: 0x6d97a020,\n\t0x3a5d4: 0x6d97a220, 0x3a5d5: 0x6d97a420, 0x3a5d6: 0x6d97a620, 0x3a5d7: 0x6d97a820,\n\t0x3a5d8: 0x6d97aa20, 0x3a5d9: 0x6d97ac20, 0x3a5da: 0x6d97ae20, 0x3a5db: 0x6d97b020,\n\t0x3a5dc: 0x6d97b220, 0x3a5dd: 0x6d97b420, 0x3a5de: 0x6d97b620, 0x3a5df: 0x6d97b820,\n\t0x3a5e0: 0x6d97ba20, 0x3a5e1: 0x6d97bc20, 0x3a5e2: 0x6d97be20, 0x3a5e3: 0x6d97c020,\n\t0x3a5e4: 0x6d97c220, 0x3a5e5: 0x6d97c420, 0x3a5e6: 0x6d97c620, 0x3a5e7: 0x6d97c820,\n\t0x3a5e8: 0x6d97ca20, 0x3a5e9: 0x6d97cc20, 0x3a5ea: 0x6d97ce20, 0x3a5eb: 0x6d97d020,\n\t0x3a5ec: 0x6d97d220, 0x3a5ed: 0x6d97d420, 0x3a5ee: 0x6d97d620, 0x3a5ef: 0x6dba2c20,\n\t0x3a5f0: 0x6dba2e20, 0x3a5f1: 0x6dba3020, 0x3a5f2: 0x6dba3220, 0x3a5f3: 0x6dba3420,\n\t0x3a5f4: 0x6dba3620, 0x3a5f5: 0x6dba3820, 0x3a5f6: 0x6dba3a20, 0x3a5f7: 0x6dba3c20,\n\t0x3a5f8: 0x6dba3e20, 0x3a5f9: 0x6dba4020, 0x3a5fa: 0x6dba4220, 0x3a5fb: 0x6dba4420,\n\t0x3a5fc: 0x6dba4620, 0x3a5fd: 0x6dba4820, 0x3a5fe: 0x6dba4a20, 0x3a5ff: 0x6dba4c20,\n\t// Block 0xe98, offset 0x3a600\n\t0x3a600: 0x6dba4e20, 0x3a601: 0x6dba5020, 0x3a602: 0x6dba5220, 0x3a603: 0x6dba5420,\n\t0x3a604: 0x6dba5620, 0x3a605: 0x6dba5820, 0x3a606: 0x6dba5a20, 0x3a607: 0x6dba5c20,\n\t0x3a608: 0x6dba5e20, 0x3a609: 0x6dba6020, 0x3a60a: 0x6dba6220, 0x3a60b: 0x6dba6420,\n\t0x3a60c: 0x6dba6620, 0x3a60d: 0x6dba6820, 0x3a60e: 0x6dba6a20, 0x3a60f: 0x6dba6c20,\n\t0x3a610: 0x6dba6e20, 0x3a611: 0x6dba7020, 0x3a612: 0x6dba7220, 0x3a613: 0x6dba7420,\n\t0x3a614: 0x6dba7620, 0x3a615: 0x6dba7820, 0x3a616: 0x6dba7a20, 0x3a617: 0x6dba7c20,\n\t0x3a618: 0x6dba7e20, 0x3a619: 0x6dba8020, 0x3a61a: 0x6dba8220, 0x3a61b: 0x6dba8420,\n\t0x3a61c: 0x6dba8620, 0x3a61d: 0x6dba8820, 0x3a61e: 0x6dba8a20, 0x3a61f: 0x6dba8c20,\n\t0x3a620: 0x6dba8e20, 0x3a621: 0x6dba9020, 0x3a622: 0x6dba9220, 0x3a623: 0x6dba9420,\n\t0x3a624: 0x6dba9620, 0x3a625: 0x6dba9820, 0x3a626: 0x6dba9a20, 0x3a627: 0x6dba9c20,\n\t0x3a628: 0x6dba9e20, 0x3a629: 0x6dbaa020, 0x3a62a: 0x6dbaa220, 0x3a62b: 0x6dbaa420,\n\t0x3a62c: 0x6dbaa620, 0x3a62d: 0x6dbaa820, 0x3a62e: 0x6dbaaa20, 0x3a62f: 0x6dbaac20,\n\t0x3a630: 0x6dbaae20, 0x3a631: 0x6dbab020, 0x3a632: 0x6dbab220, 0x3a633: 0x6dbab420,\n\t0x3a634: 0x6dbab620, 0x3a635: 0x6dbab820, 0x3a636: 0x6dbaba20, 0x3a637: 0x6dbabc20,\n\t0x3a638: 0x6dbabe20, 0x3a639: 0x6dbac020, 0x3a63a: 0x6dbac220, 0x3a63b: 0x6dbac420,\n\t0x3a63c: 0x6dbac620, 0x3a63d: 0x6dbac820, 0x3a63e: 0x6dbaca20, 0x3a63f: 0x6dbacc20,\n\t// Block 0xe99, offset 0x3a640\n\t0x3a640: 0x6dbace20, 0x3a641: 0x6dbad020, 0x3a642: 0x6dbad220, 0x3a643: 0x6dbad420,\n\t0x3a644: 0x6dbad620, 0x3a645: 0x6dbad820, 0x3a646: 0x6dbada20, 0x3a647: 0x6dd85a20,\n\t0x3a648: 0x6dd85c20, 0x3a649: 0x6dd85e20, 0x3a64a: 0x6dd86020, 0x3a64b: 0x6dd86220,\n\t0x3a64c: 0x6dd86420, 0x3a64d: 0x6dd86620, 0x3a64e: 0x6dd86820, 0x3a64f: 0x6dd86a20,\n\t0x3a650: 0x6dd86c20, 0x3a651: 0x6dd86e20, 0x3a652: 0x6dd87020, 0x3a653: 0x6dd87220,\n\t0x3a654: 0x6dd87420, 0x3a655: 0x6dd87620, 0x3a656: 0x6dd87820, 0x3a657: 0x6dd87a20,\n\t0x3a658: 0x6dd87c20, 0x3a659: 0x6dd87e20, 0x3a65a: 0x6dd88020, 0x3a65b: 0x6dd88220,\n\t0x3a65c: 0x6dd88420, 0x3a65d: 0x6dd88620, 0x3a65e: 0x6dd88820, 0x3a65f: 0x6dd88a20,\n\t0x3a660: 0x6dd88c20, 0x3a661: 0x6dd88e20, 0x3a662: 0x6dd89020, 0x3a663: 0x6dd89220,\n\t0x3a664: 0x6dd89420, 0x3a665: 0x6dd89620, 0x3a666: 0x6dd89820, 0x3a667: 0x6dd89a20,\n\t0x3a668: 0x6dd89c20, 0x3a669: 0x6dd89e20, 0x3a66a: 0x6dd8a020, 0x3a66b: 0x6dd8a220,\n\t0x3a66c: 0x6dd8a420, 0x3a66d: 0x6dd8a620, 0x3a66e: 0x6dd8a820, 0x3a66f: 0x6dd8aa20,\n\t0x3a670: 0x6dd8ac20, 0x3a671: 0x6dd8ae20, 0x3a672: 0x6dd8b020, 0x3a673: 0x6dd8b220,\n\t0x3a674: 0x6dd8b420, 0x3a675: 0x6dd8b620, 0x3a676: 0x6dd8b820, 0x3a677: 0x6dd8ba20,\n\t0x3a678: 0x6dd8bc20, 0x3a679: 0x6dd8be20, 0x3a67a: 0x6dd8c020, 0x3a67b: 0x6dd8c220,\n\t0x3a67c: 0x6dd8c420, 0x3a67d: 0x6dd8c620, 0x3a67e: 0x6dd8c820, 0x3a67f: 0x6dd8ca20,\n\t// Block 0xe9a, offset 0x3a680\n\t0x3a680: 0x6dd8cc20, 0x3a681: 0x6dd8ce20, 0x3a682: 0x6dd8d020, 0x3a683: 0x6dd8d220,\n\t0x3a684: 0x6dd8d420, 0x3a685: 0x6dd8d620, 0x3a686: 0x6dd8d820, 0x3a687: 0x6dd8da20,\n\t0x3a688: 0x6dd8dc20, 0x3a689: 0x6dd8de20, 0x3a68a: 0x6dd8e020, 0x3a68b: 0x6dd8e220,\n\t0x3a68c: 0x6dd8e420, 0x3a68d: 0x6dd8e620, 0x3a68e: 0x6dd8e820, 0x3a68f: 0x6df0d820,\n\t0x3a690: 0x6df0da20, 0x3a691: 0x6df0dc20, 0x3a692: 0x6df0de20, 0x3a693: 0x6df0e020,\n\t0x3a694: 0x6df0e220, 0x3a695: 0x6df0e420, 0x3a696: 0x6df0e620, 0x3a697: 0x6df0e820,\n\t0x3a698: 0x6df0ea20, 0x3a699: 0x6df0ec20, 0x3a69a: 0x6df0ee20, 0x3a69b: 0x6df0f020,\n\t0x3a69c: 0x6df0f220, 0x3a69d: 0x6df0f420, 0x3a69e: 0x6df0f620, 0x3a69f: 0x6df0f820,\n\t0x3a6a0: 0x6df0fa20, 0x3a6a1: 0x6df0fc20, 0x3a6a2: 0x6df0fe20, 0x3a6a3: 0x6df10020,\n\t0x3a6a4: 0x6df10220, 0x3a6a5: 0x6df10420, 0x3a6a6: 0x6df10620, 0x3a6a7: 0x6df10820,\n\t0x3a6a8: 0x6df10a20, 0x3a6a9: 0x6df10c20, 0x3a6aa: 0x6df10e20, 0x3a6ab: 0x6df11020,\n\t0x3a6ac: 0x6df11220, 0x3a6ad: 0x6df11420, 0x3a6ae: 0x6df11620, 0x3a6af: 0x6df11820,\n\t0x3a6b0: 0x6df11a20, 0x3a6b1: 0x6df11c20, 0x3a6b2: 0x6df11e20, 0x3a6b3: 0x6df12020,\n\t0x3a6b4: 0x6df12220, 0x3a6b5: 0x6df12420, 0x3a6b6: 0x6df12620, 0x3a6b7: 0x6df12820,\n\t0x3a6b8: 0x6df12a20, 0x3a6b9: 0x6df12c20, 0x3a6ba: 0x6df12e20, 0x3a6bb: 0x6df13020,\n\t0x3a6bc: 0x6df13220, 0x3a6bd: 0x6df13420, 0x3a6be: 0x6df13620, 0x3a6bf: 0x6df13820,\n\t// Block 0xe9b, offset 0x3a6c0\n\t0x3a6c0: 0x6df13a20, 0x3a6c1: 0x6df13c20, 0x3a6c2: 0x6df13e20, 0x3a6c3: 0x6df14020,\n\t0x3a6c4: 0x6df14220, 0x3a6c5: 0x6df14420, 0x3a6c6: 0x6df14620, 0x3a6c7: 0x6df14820,\n\t0x3a6c8: 0x6df14a20, 0x3a6c9: 0x6df14c20, 0x3a6ca: 0x6df14e20, 0x3a6cb: 0x6df15020,\n\t0x3a6cc: 0x6df15220, 0x3a6cd: 0x6e04e420, 0x3a6ce: 0x6e04e620, 0x3a6cf: 0x6e04e820,\n\t0x3a6d0: 0x6e04ea20, 0x3a6d1: 0x6e04ec20, 0x3a6d2: 0x6e04ee20, 0x3a6d3: 0x6e04f020,\n\t0x3a6d4: 0x6e04f220, 0x3a6d5: 0x6e15c420, 0x3a6d6: 0x6e04f420, 0x3a6d7: 0x6e04f620,\n\t0x3a6d8: 0x6e04f820, 0x3a6d9: 0x6e04fa20, 0x3a6da: 0x6e04fc20, 0x3a6db: 0x6e04fe20,\n\t0x3a6dc: 0x6e050020, 0x3a6dd: 0x6e050220, 0x3a6de: 0x6e050420, 0x3a6df: 0x6e050620,\n\t0x3a6e0: 0x6e050820, 0x3a6e1: 0x6e050a20, 0x3a6e2: 0x6e050c20, 0x3a6e3: 0x6e050e20,\n\t0x3a6e4: 0x6e051020, 0x3a6e5: 0x6e051220, 0x3a6e6: 0x6e051420, 0x3a6e7: 0x6e051620,\n\t0x3a6e8: 0x6e051820, 0x3a6e9: 0x6e051a20, 0x3a6ea: 0x6e051c20, 0x3a6eb: 0x6e051e20,\n\t0x3a6ec: 0x6e052020, 0x3a6ed: 0x6e052220, 0x3a6ee: 0x6e052420, 0x3a6ef: 0x6e052620,\n\t0x3a6f0: 0x6e052820, 0x3a6f1: 0x6e052a20, 0x3a6f2: 0x6e052c20, 0x3a6f3: 0x6e052e20,\n\t0x3a6f4: 0x6e053020, 0x3a6f5: 0x6e053220, 0x3a6f6: 0x6e053420, 0x3a6f7: 0x6e053620,\n\t0x3a6f8: 0x6e053820, 0x3a6f9: 0x6e053a20, 0x3a6fa: 0x6e053c20, 0x3a6fb: 0x6e053e20,\n\t0x3a6fc: 0x6e054020, 0x3a6fd: 0x6e054220, 0x3a6fe: 0x6e054420, 0x3a6ff: 0x6e054620,\n\t// Block 0xe9c, offset 0x3a700\n\t0x3a700: 0x6e054820, 0x3a701: 0x6e054a20, 0x3a702: 0x6e054c20, 0x3a703: 0x6e054e20,\n\t0x3a704: 0x6e055020, 0x3a705: 0x6e055220, 0x3a706: 0x6e055420, 0x3a707: 0x6e055620,\n\t0x3a708: 0x6e055820, 0x3a709: 0x6e055a20, 0x3a70a: 0x6e055c20, 0x3a70b: 0x6e055e20,\n\t0x3a70c: 0x6e056020, 0x3a70d: 0x6e056220, 0x3a70e: 0x6e056420, 0x3a70f: 0x6e056620,\n\t0x3a710: 0x6e056820, 0x3a711: 0x6e056a20, 0x3a712: 0x6e056c20, 0x3a713: 0x6e056e20,\n\t0x3a714: 0x6e057020, 0x3a715: 0x6e15c620, 0x3a716: 0x6e15c820, 0x3a717: 0x6e15ca20,\n\t0x3a718: 0x6e15cc20, 0x3a719: 0x6e15ce20, 0x3a71a: 0x6e15d020, 0x3a71b: 0x6e15d220,\n\t0x3a71c: 0x6e15d420, 0x3a71d: 0x6e15d620, 0x3a71e: 0x6e15d820, 0x3a71f: 0x6e15da20,\n\t0x3a720: 0x6e15dc20, 0x3a721: 0x6e15de20, 0x3a722: 0x6e15e020, 0x3a723: 0x6e15e220,\n\t0x3a724: 0x6e15e420, 0x3a725: 0x6e15e620, 0x3a726: 0x6e15e820, 0x3a727: 0x6e15ea20,\n\t0x3a728: 0x6e15ec20, 0x3a729: 0x6e15ee20, 0x3a72a: 0x6e15f020, 0x3a72b: 0x6e15f220,\n\t0x3a72c: 0x6e15f420, 0x3a72d: 0x6e15f620, 0x3a72e: 0x6e15f820, 0x3a72f: 0x6e15fa20,\n\t0x3a730: 0x6e15fc20, 0x3a731: 0x6e15fe20, 0x3a732: 0x6e160020, 0x3a733: 0x6e160220,\n\t0x3a734: 0x6e160420, 0x3a735: 0x6e160620, 0x3a736: 0x6e160820, 0x3a737: 0x6e160a20,\n\t0x3a738: 0x6e160c20, 0x3a739: 0x6e160e20, 0x3a73a: 0x6e161020, 0x3a73b: 0x6e161220,\n\t0x3a73c: 0x6e161420, 0x3a73d: 0x6e161620, 0x3a73e: 0x6e161820, 0x3a73f: 0x6e161a20,\n\t// Block 0xe9d, offset 0x3a740\n\t0x3a740: 0x6e161c20, 0x3a741: 0x6e161e20, 0x3a742: 0x6e162020, 0x3a743: 0x6e162220,\n\t0x3a744: 0x6e162420, 0x3a745: 0x6e162620, 0x3a746: 0x6e162820, 0x3a747: 0x6e162a20,\n\t0x3a748: 0x6e162c20, 0x3a749: 0x6e162e20, 0x3a74a: 0x6e163020, 0x3a74b: 0x6e163220,\n\t0x3a74c: 0x6e163420, 0x3a74d: 0x6e163620, 0x3a74e: 0x6e163820, 0x3a74f: 0x6e163a20,\n\t0x3a750: 0x6e163c20, 0x3a751: 0x6e163e20, 0x3a752: 0x6e233e20, 0x3a753: 0x6e234020,\n\t0x3a754: 0x6e234220, 0x3a755: 0x6e234420, 0x3a756: 0x6e234620, 0x3a757: 0x6e234820,\n\t0x3a758: 0x6e234a20, 0x3a759: 0x6e234c20, 0x3a75a: 0x6e234e20, 0x3a75b: 0x6e235020,\n\t0x3a75c: 0x6e235220, 0x3a75d: 0x6e235420, 0x3a75e: 0x6e235620, 0x3a75f: 0x6e235820,\n\t0x3a760: 0x6e235a20, 0x3a761: 0x6e235c20, 0x3a762: 0x6e235e20, 0x3a763: 0x6e236020,\n\t0x3a764: 0x6e236220, 0x3a765: 0x6e236420, 0x3a766: 0x6e236620, 0x3a767: 0x6e236820,\n\t0x3a768: 0x6e236a20, 0x3a769: 0x6e236c20, 0x3a76a: 0x6e236e20, 0x3a76b: 0x6e237020,\n\t0x3a76c: 0x6e237220, 0x3a76d: 0x6e237420, 0x3a76e: 0x6e237620, 0x3a76f: 0x6e237820,\n\t0x3a770: 0x6e237a20, 0x3a771: 0x6e237c20, 0x3a772: 0x6e237e20, 0x3a773: 0x6e238020,\n\t0x3a774: 0x6e238220, 0x3a775: 0x6e238420, 0x3a776: 0x6e238620, 0x3a777: 0x6e238820,\n\t0x3a778: 0x6e2d6a20, 0x3a779: 0x6e2d6c20, 0x3a77a: 0x6e2d6e20, 0x3a77b: 0x6e2d7020,\n\t0x3a77c: 0x6e2d7220, 0x3a77d: 0x6e2d7420, 0x3a77e: 0x6e2d7620, 0x3a77f: 0x6e2d7820,\n\t// Block 0xe9e, offset 0x3a780\n\t0x3a780: 0x6e2d7a20, 0x3a781: 0x6e2d7c20, 0x3a782: 0x6e2d7e20, 0x3a783: 0x6e2d8020,\n\t0x3a784: 0x6e2d8220, 0x3a785: 0x6e2d8420, 0x3a786: 0x6e2d8620, 0x3a787: 0x6e2d8820,\n\t0x3a788: 0x6e2d8a20, 0x3a789: 0x6e2d8c20, 0x3a78a: 0x6e2d8e20, 0x3a78b: 0x6e2d9020,\n\t0x3a78c: 0x6e2d9220, 0x3a78d: 0x6e2d9420, 0x3a78e: 0x6e2d9620, 0x3a78f: 0x6e2d9820,\n\t0x3a790: 0x6e2d9a20, 0x3a791: 0x6e2d9c20, 0x3a792: 0x6e2d9e20, 0x3a793: 0x6e2da020,\n\t0x3a794: 0x6e2da220, 0x3a795: 0x6e2da420, 0x3a796: 0x6e2da620, 0x3a797: 0x6e2da820,\n\t0x3a798: 0x6e2daa20, 0x3a799: 0x6e2dac20, 0x3a79a: 0x6e2dae20, 0x3a79b: 0x6e2db020,\n\t0x3a79c: 0x6e2db220, 0x3a79d: 0x6e352620, 0x3a79e: 0x6e352820, 0x3a79f: 0x6e352a20,\n\t0x3a7a0: 0x6e352c20, 0x3a7a1: 0x6e352e20, 0x3a7a2: 0x6e353020, 0x3a7a3: 0x6e353220,\n\t0x3a7a4: 0x6e353420, 0x3a7a5: 0x6e353620, 0x3a7a6: 0x6e353820, 0x3a7a7: 0x6e353a20,\n\t0x3a7a8: 0x6e353c20, 0x3a7a9: 0x6e353e20, 0x3a7aa: 0x6e354020, 0x3a7ab: 0x6e354220,\n\t0x3a7ac: 0x6e354420, 0x3a7ad: 0x6e354620, 0x3a7ae: 0x6e354820, 0x3a7af: 0x6e354a20,\n\t0x3a7b0: 0x6e354c20, 0x3a7b1: 0x6e354e20, 0x3a7b2: 0x6e355020, 0x3a7b3: 0x6e355220,\n\t0x3a7b4: 0x6e355420, 0x3a7b5: 0x6e355620, 0x3a7b6: 0x6e355820, 0x3a7b7: 0x6e355a20,\n\t0x3a7b8: 0x6e355c20, 0x3a7b9: 0x6e355e20, 0x3a7ba: 0x6e3ac220, 0x3a7bb: 0x6e3ac420,\n\t0x3a7bc: 0x6e3ac620, 0x3a7bd: 0x6e3ac820, 0x3a7be: 0x6e3aca20, 0x3a7bf: 0x6e3acc20,\n\t// Block 0xe9f, offset 0x3a7c0\n\t0x3a7c0: 0x6e3ace20, 0x3a7c1: 0x6e3ad020, 0x3a7c2: 0x6e3ad220, 0x3a7c3: 0x6e3ad420,\n\t0x3a7c4: 0x6e3ad620, 0x3a7c5: 0x6e3ad820, 0x3a7c6: 0x6e3ada20, 0x3a7c7: 0x6e3adc20,\n\t0x3a7c8: 0x6e3ade20, 0x3a7c9: 0x6e3e8420, 0x3a7ca: 0x6e3e8620, 0x3a7cb: 0x6e3e8820,\n\t0x3a7cc: 0x6e3e8a20, 0x3a7cd: 0x6e3e8c20, 0x3a7ce: 0x6e3e8e20, 0x3a7cf: 0x6e3e9020,\n\t0x3a7d0: 0x6e3e9220, 0x3a7d1: 0x6e3e9420, 0x3a7d2: 0x6e3e9620, 0x3a7d3: 0x6e3e9820,\n\t0x3a7d4: 0x6e3e9a20, 0x3a7d5: 0x6e3e9c20, 0x3a7d6: 0x6e3e9e20, 0x3a7d7: 0x6e3ea020,\n\t0x3a7d8: 0x6e3ea220, 0x3a7d9: 0x6e3ea420, 0x3a7da: 0x6e3ea620, 0x3a7db: 0x6e3ea820,\n\t0x3a7dc: 0x6e3eaa20, 0x3a7dd: 0x6e3eac20, 0x3a7de: 0x6e414820, 0x3a7df: 0x6e414a20,\n\t0x3a7e0: 0x6e414c20, 0x3a7e1: 0x6e414e20, 0x3a7e2: 0x6e415020, 0x3a7e3: 0x6e415220,\n\t0x3a7e4: 0x6e415420, 0x3a7e5: 0x6e415620, 0x3a7e6: 0x6e415820, 0x3a7e7: 0x6e415a20,\n\t0x3a7e8: 0x6e415c20, 0x3a7e9: 0x6e434820, 0x3a7ea: 0x6e434a20, 0x3a7eb: 0x6e434c20,\n\t0x3a7ec: 0x6e434e20, 0x3a7ed: 0x6e435020, 0x3a7ee: 0x6e435220, 0x3a7ef: 0x6e435420,\n\t0x3a7f0: 0x6e435620, 0x3a7f1: 0x6e3ae020, 0x3a7f2: 0x6e449820, 0x3a7f3: 0x6e449a20,\n\t0x3a7f4: 0x6e449c20, 0x3a7f5: 0x6e449e20, 0x3a7f6: 0x6e44a020, 0x3a7f7: 0x6e456820,\n\t0x3a7f8: 0x6e456a20, 0x3a7f9: 0x6e456c20, 0x3a7fa: 0x6e45e620, 0x3a7fb: 0x6e464020,\n\t0x3a7fc: 0x6e46d020, 0x3a7fd: 0x6e471620, 0x3a7fe: 0x6c41f620, 0x3a7ff: 0x6c41f820,\n\t// Block 0xea0, offset 0x3a800\n\t0x3a800: 0x6c629620, 0x3a801: 0x6c629820, 0x3a802: 0x6c629a20, 0x3a803: 0x6c897220,\n\t0x3a804: 0x6c897420, 0x3a805: 0x6c897620, 0x3a806: 0x6c897820, 0x3a807: 0x6ce56620,\n\t0x3a808: 0x6ce56820, 0x3a809: 0x6d13dc20, 0x3a80a: 0x6d13de20, 0x3a80b: 0x6d13e020,\n\t0x3a80c: 0x6d13e220, 0x3a80d: 0x6d6ef220, 0x3a80e: 0x6d41ec20, 0x3a80f: 0x6d6ef420,\n\t0x3a810: 0x6d980420, 0x3a811: 0x6dbb0620, 0x3a812: 0x6d980620, 0x3a813: 0x6dbb0820,\n\t0x3a814: 0x6dbb0a20, 0x3a815: 0x6dd90820, 0x3a816: 0x6dd90a20, 0x3a817: 0x6c280020,\n\t0x3a818: 0x6c280220, 0x3a819: 0x6c62aa20, 0x3a81a: 0x6cb58e20, 0x3a81b: 0x6cb59020,\n\t0x3a81c: 0x6cb59220, 0x3a81d: 0x6cb59420, 0x3a81e: 0x6cb59620, 0x3a81f: 0x6cb59820,\n\t0x3a820: 0x6cb59a20, 0x3a821: 0x6cb59c20, 0x3a822: 0x6cb59e20, 0x3a823: 0x6cb5a020,\n\t0x3a824: 0x6cb5a220, 0x3a825: 0x6cb5a420, 0x3a826: 0x6ce57420, 0x3a827: 0x6ce57620,\n\t0x3a828: 0x6ce57820, 0x3a829: 0x6ce57a20, 0x3a82a: 0x6ce57c20, 0x3a82b: 0x6ce57e20,\n\t0x3a82c: 0x6ce58020, 0x3a82d: 0x6ce58220, 0x3a82e: 0x6ce58420, 0x3a82f: 0x6ce58620,\n\t0x3a830: 0x6ce58820, 0x3a831: 0x6ce58a20, 0x3a832: 0x6d13fa20, 0x3a833: 0x6d13fc20,\n\t0x3a834: 0x6d13fe20, 0x3a835: 0x6d140020, 0x3a836: 0x6d140220, 0x3a837: 0x6d140420,\n\t0x3a838: 0x6d140620, 0x3a839: 0x6d140820, 0x3a83a: 0x6d140a20, 0x3a83b: 0x6d140c20,\n\t0x3a83c: 0x6d140e20, 0x3a83d: 0x6d141020, 0x3a83e: 0x6d141220, 0x3a83f: 0x6d141420,\n\t// Block 0xea1, offset 0x3a840\n\t0x3a840: 0x6d41fe20, 0x3a841: 0x6d420020, 0x3a842: 0x6d420220, 0x3a843: 0x6d420420,\n\t0x3a844: 0x6d420620, 0x3a845: 0x6d420820, 0x3a846: 0x6d420a20, 0x3a847: 0x6d6f0220,\n\t0x3a848: 0x6d6f0420, 0x3a849: 0x6d6f0620, 0x3a84a: 0x6d6f0820, 0x3a84b: 0x6d6f0a20,\n\t0x3a84c: 0x6d6f0c20, 0x3a84d: 0x6d6f0e20, 0x3a84e: 0x6d6f1020, 0x3a84f: 0x6d6f1220,\n\t0x3a850: 0x6d6f1420, 0x3a851: 0x6d6f1620, 0x3a852: 0x6d6f1820, 0x3a853: 0x6d980e20,\n\t0x3a854: 0x6d981020, 0x3a855: 0x6d981220, 0x3a856: 0x6d981420, 0x3a857: 0x6d981620,\n\t0x3a858: 0x6d981820, 0x3a859: 0x6d981a20, 0x3a85a: 0x6d981c20, 0x3a85b: 0x6d981e20,\n\t0x3a85c: 0x6d982020, 0x3a85d: 0x6d982220, 0x3a85e: 0x6dbb1620, 0x3a85f: 0x6dbb1820,\n\t0x3a860: 0x6dbb1a20, 0x3a861: 0x6dbb1c20, 0x3a862: 0x6dbb1e20, 0x3a863: 0x6dbb2020,\n\t0x3a864: 0x6dbb2220, 0x3a865: 0x6dd91020, 0x3a866: 0x6dd91220, 0x3a867: 0x6dd91420,\n\t0x3a868: 0x6dd91620, 0x3a869: 0x6dd91820, 0x3a86a: 0x6dd91a20, 0x3a86b: 0x6dd91c20,\n\t0x3a86c: 0x6dd91e20, 0x3a86d: 0x6df16820, 0x3a86e: 0x6df16a20, 0x3a86f: 0x6df16c20,\n\t0x3a870: 0x6df16e20, 0x3a871: 0x6df17020, 0x3a872: 0x6df17220, 0x3a873: 0x6e059620,\n\t0x3a874: 0x6e059820, 0x3a875: 0x6e059a20, 0x3a876: 0x6e059c20, 0x3a877: 0x6e059e20,\n\t0x3a878: 0x6e165020, 0x3a879: 0x6e165220, 0x3a87a: 0x6e165420, 0x3a87b: 0x6e239a20,\n\t0x3a87c: 0x6e239c20, 0x3a87d: 0x6e239e20, 0x3a87e: 0x6e23a020, 0x3a87f: 0x6e23a220,\n\t// Block 0xea2, offset 0x3a880\n\t0x3a880: 0x6e2dba20, 0x3a881: 0x6e2dbc20, 0x3a882: 0x6e356820, 0x3a883: 0x6e356a20,\n\t0x3a884: 0x6e3eb020, 0x3a885: 0x6e435a20, 0x3a886: 0x6e44a220, 0x3a887: 0x6c420420,\n\t0x3a888: 0x6c420620, 0x3a889: 0x6c62b020, 0x3a88a: 0x6c898a20, 0x3a88b: 0x6c898c20,\n\t0x3a88c: 0x6c898e20, 0x3a88d: 0x6c899020, 0x3a88e: 0x6c899220, 0x3a88f: 0x6c899420,\n\t0x3a890: 0x6cb5b420, 0x3a891: 0x6cb5b620, 0x3a892: 0x6cb5b820, 0x3a893: 0x6cb5ba20,\n\t0x3a894: 0x6cb5bc20, 0x3a895: 0x6cb5be20, 0x3a896: 0x6cb5c020, 0x3a897: 0x6ce5ae20,\n\t0x3a898: 0x6ce5b020, 0x3a899: 0x6ce5b220, 0x3a89a: 0x6ce5b420, 0x3a89b: 0x6ce5b620,\n\t0x3a89c: 0x6ce5b820, 0x3a89d: 0x6ce5ba20, 0x3a89e: 0x6ce5bc20, 0x3a89f: 0x6ce5be20,\n\t0x3a8a0: 0x6ce5c020, 0x3a8a1: 0x6ce5c220, 0x3a8a2: 0x6ce5c420, 0x3a8a3: 0x6ce5c620,\n\t0x3a8a4: 0x6ce5c820, 0x3a8a5: 0x6ce5ca20, 0x3a8a6: 0x6ce5cc20, 0x3a8a7: 0x6ce5ce20,\n\t0x3a8a8: 0x6ce5d020, 0x3a8a9: 0x6ce5d220, 0x3a8aa: 0x6ce5d420, 0x3a8ab: 0x6ce5d620,\n\t0x3a8ac: 0x6ce5d820, 0x3a8ad: 0x6ce5da20, 0x3a8ae: 0x6ce5dc20, 0x3a8af: 0x6ce5de20,\n\t0x3a8b0: 0x6ce5e020, 0x3a8b1: 0x6ce5e220, 0x3a8b2: 0x6ce5e420, 0x3a8b3: 0x6d143020,\n\t0x3a8b4: 0x6d143220, 0x3a8b5: 0x6d143420, 0x3a8b6: 0x6d143620, 0x3a8b7: 0x6d143820,\n\t0x3a8b8: 0x6d143a20, 0x3a8b9: 0x6d143c20, 0x3a8ba: 0x6d143e20, 0x3a8bb: 0x6d144020,\n\t0x3a8bc: 0x6d144220, 0x3a8bd: 0x6d144420, 0x3a8be: 0x6d144620, 0x3a8bf: 0x6d144820,\n\t// Block 0xea3, offset 0x3a8c0\n\t0x3a8c0: 0x6d144a20, 0x3a8c1: 0x6d144c20, 0x3a8c2: 0x6d144e20, 0x3a8c3: 0x6d145020,\n\t0x3a8c4: 0x6d145220, 0x3a8c5: 0x6d145420, 0x3a8c6: 0x6d145620, 0x3a8c7: 0x6d145820,\n\t0x3a8c8: 0x6d145a20, 0x3a8c9: 0x6d145c20, 0x3a8ca: 0x6d145e20, 0x3a8cb: 0x6d146020,\n\t0x3a8cc: 0x6d146220, 0x3a8cd: 0x6d422e20, 0x3a8ce: 0x6d423020, 0x3a8cf: 0x6d423220,\n\t0x3a8d0: 0x6d423420, 0x3a8d1: 0x6d423620, 0x3a8d2: 0x6d423820, 0x3a8d3: 0x6d423a20,\n\t0x3a8d4: 0x6d423c20, 0x3a8d5: 0x6d423e20, 0x3a8d6: 0x6d424020, 0x3a8d7: 0x6d424220,\n\t0x3a8d8: 0x6d424420, 0x3a8d9: 0x6d424620, 0x3a8da: 0x6d424820, 0x3a8db: 0x6d424a20,\n\t0x3a8dc: 0x6d424c20, 0x3a8dd: 0x6d424e20, 0x3a8de: 0x6d425020, 0x3a8df: 0x6d425220,\n\t0x3a8e0: 0x6d425420, 0x3a8e1: 0x6d425620, 0x3a8e2: 0x6d425820, 0x3a8e3: 0x6d425a20,\n\t0x3a8e4: 0x6d425c20, 0x3a8e5: 0x6d425e20, 0x3a8e6: 0x6d426020, 0x3a8e7: 0x6d6f3820,\n\t0x3a8e8: 0x6d6f3a20, 0x3a8e9: 0x6d6f3c20, 0x3a8ea: 0x6d6f3e20, 0x3a8eb: 0x6d6f4020,\n\t0x3a8ec: 0x6d6f4220, 0x3a8ed: 0x6d6f4420, 0x3a8ee: 0x6d6f4620, 0x3a8ef: 0x6d6f4820,\n\t0x3a8f0: 0x6d6f4a20, 0x3a8f1: 0x6d6f4c20, 0x3a8f2: 0x6d6f4e20, 0x3a8f3: 0x6d6f5020,\n\t0x3a8f4: 0x6d6f5220, 0x3a8f5: 0x6d6f5420, 0x3a8f6: 0x6d6f5620, 0x3a8f7: 0x6d6f5820,\n\t0x3a8f8: 0x6d6f5a20, 0x3a8f9: 0x6d6f5c20, 0x3a8fa: 0x6d6f5e20, 0x3a8fb: 0x6d6f6020,\n\t0x3a8fc: 0x6d6f6220, 0x3a8fd: 0x6d6f6420, 0x3a8fe: 0x6d6f6620, 0x3a8ff: 0x6d6f6820,\n\t// Block 0xea4, offset 0x3a900\n\t0x3a900: 0x6d6f6a20, 0x3a901: 0x6d6f6c20, 0x3a902: 0x6d6f6e20, 0x3a903: 0x6d6f7020,\n\t0x3a904: 0x6d6f7220, 0x3a905: 0x6d6f7420, 0x3a906: 0x6d6f7620, 0x3a907: 0x6d6f7820,\n\t0x3a908: 0x6d984e20, 0x3a909: 0x6d985020, 0x3a90a: 0x6d985220, 0x3a90b: 0x6d985420,\n\t0x3a90c: 0x6d985620, 0x3a90d: 0x6d985820, 0x3a90e: 0x6d985a20, 0x3a90f: 0x6d985c20,\n\t0x3a910: 0x6d985e20, 0x3a911: 0x6d986020, 0x3a912: 0x6d986220, 0x3a913: 0x6d986420,\n\t0x3a914: 0x6d986620, 0x3a915: 0x6d986820, 0x3a916: 0x6d986a20, 0x3a917: 0x6d986c20,\n\t0x3a918: 0x6d986e20, 0x3a919: 0x6d987020, 0x3a91a: 0x6d987220, 0x3a91b: 0x6d987420,\n\t0x3a91c: 0x6d987620, 0x3a91d: 0x6d987820, 0x3a91e: 0x6d987a20, 0x3a91f: 0x6d987c20,\n\t0x3a920: 0x6d987e20, 0x3a921: 0x6d988020, 0x3a922: 0x6d988220, 0x3a923: 0x6d988420,\n\t0x3a924: 0x6d988620, 0x3a925: 0x6dbb4e20, 0x3a926: 0x6dbb5020, 0x3a927: 0x6dbb5220,\n\t0x3a928: 0x6dbb5420, 0x3a929: 0x6dbb5620, 0x3a92a: 0x6dbb5820, 0x3a92b: 0x6dbb5a20,\n\t0x3a92c: 0x6dbb5c20, 0x3a92d: 0x6dbb5e20, 0x3a92e: 0x6dbb6020, 0x3a92f: 0x6dbb6220,\n\t0x3a930: 0x6dbb6420, 0x3a931: 0x6dbb6620, 0x3a932: 0x6dbb6820, 0x3a933: 0x6dbb6a20,\n\t0x3a934: 0x6dbb6c20, 0x3a935: 0x6dbb6e20, 0x3a936: 0x6dbb7020, 0x3a937: 0x6dbb7220,\n\t0x3a938: 0x6dbb7420, 0x3a939: 0x6dbb7620, 0x3a93a: 0x6dbb7820, 0x3a93b: 0x6dbb7a20,\n\t0x3a93c: 0x6dbb7c20, 0x3a93d: 0x6dbb7e20, 0x3a93e: 0x6dbb8020, 0x3a93f: 0x6dbb8220,\n\t// Block 0xea5, offset 0x3a940\n\t0x3a940: 0x6dd93220, 0x3a941: 0x6dd93420, 0x3a942: 0x6dd93620, 0x3a943: 0x6dd93820,\n\t0x3a944: 0x6dd93a20, 0x3a945: 0x6dd93c20, 0x3a946: 0x6dd93e20, 0x3a947: 0x6dd94020,\n\t0x3a948: 0x6dd94220, 0x3a949: 0x6dd94420, 0x3a94a: 0x6dd94620, 0x3a94b: 0x6dd94820,\n\t0x3a94c: 0x6dd94a20, 0x3a94d: 0x6dd94c20, 0x3a94e: 0x6dd94e20, 0x3a94f: 0x6dd95020,\n\t0x3a950: 0x6dd95220, 0x3a951: 0x6dd95420, 0x3a952: 0x6dd95620, 0x3a953: 0x6dd95820,\n\t0x3a954: 0x6dd95a20, 0x3a955: 0x6dd95c20, 0x3a956: 0x6dd95e20, 0x3a957: 0x6dd96020,\n\t0x3a958: 0x6dd96220, 0x3a959: 0x6dd96420, 0x3a95a: 0x6dd96620, 0x3a95b: 0x6dd96820,\n\t0x3a95c: 0x6df18020, 0x3a95d: 0x6df18220, 0x3a95e: 0x6df18420, 0x3a95f: 0x6df18620,\n\t0x3a960: 0x6df18820, 0x3a961: 0x6df18a20, 0x3a962: 0x6df18c20, 0x3a963: 0x6df18e20,\n\t0x3a964: 0x6df19020, 0x3a965: 0x6df19220, 0x3a966: 0x6df19420, 0x3a967: 0x6df19620,\n\t0x3a968: 0x6df19820, 0x3a969: 0x6df19a20, 0x3a96a: 0x6df19c20, 0x3a96b: 0x6df19e20,\n\t0x3a96c: 0x6e05aa20, 0x3a96d: 0x6e05ac20, 0x3a96e: 0x6e05ae20, 0x3a96f: 0x6e05b020,\n\t0x3a970: 0x6e05b220, 0x3a971: 0x6e05b420, 0x3a972: 0x6e05b620, 0x3a973: 0x6e05b820,\n\t0x3a974: 0x6e05ba20, 0x3a975: 0x6e05bc20, 0x3a976: 0x6e05be20, 0x3a977: 0x6e05c020,\n\t0x3a978: 0x6e05c220, 0x3a979: 0x6e05c420, 0x3a97a: 0x6e05c620, 0x3a97b: 0x6e05c820,\n\t0x3a97c: 0x6e05ca20, 0x3a97d: 0x6e05cc20, 0x3a97e: 0x6e05ce20, 0x3a97f: 0x6e05d020,\n\t// Block 0xea6, offset 0x3a980\n\t0x3a980: 0x6e05d220, 0x3a981: 0x6e05d420, 0x3a982: 0x6e05d620, 0x3a983: 0x6e166620,\n\t0x3a984: 0x6e166820, 0x3a985: 0x6e166a20, 0x3a986: 0x6e166c20, 0x3a987: 0x6e166e20,\n\t0x3a988: 0x6e167020, 0x3a989: 0x6e167220, 0x3a98a: 0x6e167420, 0x3a98b: 0x6e167620,\n\t0x3a98c: 0x6e167820, 0x3a98d: 0x6e167a20, 0x3a98e: 0x6e167c20, 0x3a98f: 0x6e167e20,\n\t0x3a990: 0x6e168020, 0x3a991: 0x6e168220, 0x3a992: 0x6e168420, 0x3a993: 0x6e168620,\n\t0x3a994: 0x6e23a820, 0x3a995: 0x6e168820, 0x3a996: 0x6e168a20, 0x3a997: 0x6e168c20,\n\t0x3a998: 0x6e23aa20, 0x3a999: 0x6e23ac20, 0x3a99a: 0x6e23ae20, 0x3a99b: 0x6e23b020,\n\t0x3a99c: 0x6e23b220, 0x3a99d: 0x6e23b420, 0x3a99e: 0x6e23b620, 0x3a99f: 0x6e2dbe20,\n\t0x3a9a0: 0x6e2dc020, 0x3a9a1: 0x6e2dc220, 0x3a9a2: 0x6e2dc420, 0x3a9a3: 0x6e2dc620,\n\t0x3a9a4: 0x6e2dc820, 0x3a9a5: 0x6e2dca20, 0x3a9a6: 0x6e356c20, 0x3a9a7: 0x6e356e20,\n\t0x3a9a8: 0x6e357020, 0x3a9a9: 0x6e357220, 0x3a9aa: 0x6e357420, 0x3a9ab: 0x6e357620,\n\t0x3a9ac: 0x6e357820, 0x3a9ad: 0x6e357a20, 0x3a9ae: 0x6e357c20, 0x3a9af: 0x6e3ae820,\n\t0x3a9b0: 0x6e3aea20, 0x3a9b1: 0x6e3aec20, 0x3a9b2: 0x6e3aee20, 0x3a9b3: 0x6e3af020,\n\t0x3a9b4: 0x6e3af220, 0x3a9b5: 0x6e3af420, 0x3a9b6: 0x6e357e20, 0x3a9b7: 0x6e3eb220,\n\t0x3a9b8: 0x6e3af620, 0x3a9b9: 0x6e3eb420, 0x3a9ba: 0x6e3eb620, 0x3a9bb: 0x6e416020,\n\t0x3a9bc: 0x6e44a420, 0x3a9bd: 0x6e464220, 0x3a9be: 0x6e464420, 0x3a9bf: 0x6c159a20,\n\t// Block 0xea7, offset 0x3a9c0\n\t0x3a9c0: 0x6c159c20, 0x3a9c1: 0x6c159e20, 0x3a9c2: 0x6c281420, 0x3a9c3: 0x6c281620,\n\t0x3a9c4: 0x6c62c620, 0x3a9c5: 0x6c62c820, 0x3a9c6: 0x6ce5f420, 0x3a9c7: 0x6ce5f620,\n\t0x3a9c8: 0x6ce5f820, 0x3a9c9: 0x6d147620, 0x3a9ca: 0x6d147820, 0x3a9cb: 0x6d6f8420,\n\t0x3a9cc: 0x6d6f8620, 0x3a9cd: 0x6dbb8820, 0x3a9ce: 0x6e05d820, 0x3a9cf: 0x6c00d020,\n\t0x3a9d0: 0x6c052820, 0x3a9d1: 0x6c052a20, 0x3a9d2: 0x6c052c20, 0x3a9d3: 0x6c052e20,\n\t0x3a9d4: 0x6c053020, 0x3a9d5: 0x6c053220, 0x3a9d6: 0x6c0ab820, 0x3a9d7: 0x6c0aba20,\n\t0x3a9d8: 0x6c0abc20, 0x3a9d9: 0x6c0abe20, 0x3a9da: 0x6c15b020, 0x3a9db: 0x6c15b220,\n\t0x3a9dc: 0x6c15b420, 0x3a9dd: 0x6c15b620, 0x3a9de: 0x6c15b820, 0x3a9df: 0x6c15ba20,\n\t0x3a9e0: 0x6c15bc20, 0x3a9e1: 0x6c15be20, 0x3a9e2: 0x6c15c020, 0x3a9e3: 0x6c15c220,\n\t0x3a9e4: 0x6c15c420, 0x3a9e5: 0x6c15c620, 0x3a9e6: 0x6c15c820, 0x3a9e7: 0x6c15ca20,\n\t0x3a9e8: 0x6c15cc20, 0x3a9e9: 0x6c15ce20, 0x3a9ea: 0x6c284a20, 0x3a9eb: 0x6c284c20,\n\t0x3a9ec: 0x6c284e20, 0x3a9ed: 0x6c285020, 0x3a9ee: 0x6c285220, 0x3a9ef: 0x6c285420,\n\t0x3a9f0: 0x6c285620, 0x3a9f1: 0x6c285820, 0x3a9f2: 0x6c285a20, 0x3a9f3: 0x6c285c20,\n\t0x3a9f4: 0x6c285e20, 0x3a9f5: 0x6c286020, 0x3a9f6: 0x6c286220, 0x3a9f7: 0x6c286420,\n\t0x3a9f8: 0x6c286620, 0x3a9f9: 0x6c286820, 0x3a9fa: 0x6c286a20, 0x3a9fb: 0x6c286c20,\n\t0x3a9fc: 0x6c286e20, 0x3a9fd: 0x6c287020, 0x3a9fe: 0x6c287220, 0x3a9ff: 0x6c287420,\n\t// Block 0xea8, offset 0x3aa00\n\t0x3aa00: 0x6c287620, 0x3aa01: 0x6c423e20, 0x3aa02: 0x6c424020, 0x3aa03: 0x6c424220,\n\t0x3aa04: 0x6c424420, 0x3aa05: 0x6c424620, 0x3aa06: 0x6c424820, 0x3aa07: 0x6c424a20,\n\t0x3aa08: 0x6c424c20, 0x3aa09: 0x6c424e20, 0x3aa0a: 0x6c425020, 0x3aa0b: 0x6c425220,\n\t0x3aa0c: 0x6c425420, 0x3aa0d: 0x6c425620, 0x3aa0e: 0x6c425820, 0x3aa0f: 0x6c425a20,\n\t0x3aa10: 0x6c425c20, 0x3aa11: 0x6c425e20, 0x3aa12: 0x6c426020, 0x3aa13: 0x6c426220,\n\t0x3aa14: 0x6c426420, 0x3aa15: 0x6c426620, 0x3aa16: 0x6c426820, 0x3aa17: 0x6c426a20,\n\t0x3aa18: 0x6c62ee20, 0x3aa19: 0x6c62f020, 0x3aa1a: 0x6c62f220, 0x3aa1b: 0x6c62f420,\n\t0x3aa1c: 0x6c62f620, 0x3aa1d: 0x6c62f820, 0x3aa1e: 0x6c62fa20, 0x3aa1f: 0x6c62fc20,\n\t0x3aa20: 0x6c62fe20, 0x3aa21: 0x6c630020, 0x3aa22: 0x6c630220, 0x3aa23: 0x6c630420,\n\t0x3aa24: 0x6c630620, 0x3aa25: 0x6c630820, 0x3aa26: 0x6c630a20, 0x3aa27: 0x6c630c20,\n\t0x3aa28: 0x6c630e20, 0x3aa29: 0x6c631020, 0x3aa2a: 0x6c631220, 0x3aa2b: 0x6c631420,\n\t0x3aa2c: 0x6c631620, 0x3aa2d: 0x6c631820, 0x3aa2e: 0x6c631a20, 0x3aa2f: 0x6c631c20,\n\t0x3aa30: 0x6c631e20, 0x3aa31: 0x6c632020, 0x3aa32: 0x6c632220, 0x3aa33: 0x6c632420,\n\t0x3aa34: 0x6c6bf420, 0x3aa35: 0x6c89da20, 0x3aa36: 0x6c89dc20, 0x3aa37: 0x6c89de20,\n\t0x3aa38: 0x6c89e020, 0x3aa39: 0x6c89e220, 0x3aa3a: 0x6c89e420, 0x3aa3b: 0x6c89e620,\n\t0x3aa3c: 0x6c89e820, 0x3aa3d: 0x6c89ea20, 0x3aa3e: 0x6c89ec20, 0x3aa3f: 0x6c89ee20,\n\t// Block 0xea9, offset 0x3aa40\n\t0x3aa40: 0x6c89f020, 0x3aa41: 0x6c89f220, 0x3aa42: 0x6c89f420, 0x3aa43: 0x6c89f620,\n\t0x3aa44: 0x6c89f820, 0x3aa45: 0x6c89fa20, 0x3aa46: 0x6c89fc20, 0x3aa47: 0x6c89fe20,\n\t0x3aa48: 0x6c8a0020, 0x3aa49: 0x6c8a0220, 0x3aa4a: 0x6c8a0420, 0x3aa4b: 0x6c8a0620,\n\t0x3aa4c: 0x6c8a0820, 0x3aa4d: 0x6c8a0a20, 0x3aa4e: 0x6c8a0c20, 0x3aa4f: 0x6c8a0e20,\n\t0x3aa50: 0x6c8a1020, 0x3aa51: 0x6c8a1220, 0x3aa52: 0x6c8a1420, 0x3aa53: 0x6c8a1620,\n\t0x3aa54: 0x6c8a1820, 0x3aa55: 0x6c8a1a20, 0x3aa56: 0x6c8a1c20, 0x3aa57: 0x6c8a1e20,\n\t0x3aa58: 0x6c8a2020, 0x3aa59: 0x6c8a2220, 0x3aa5a: 0x6c8a2420, 0x3aa5b: 0x6c8a2620,\n\t0x3aa5c: 0x6c8a2820, 0x3aa5d: 0x6c8a2a20, 0x3aa5e: 0x6cb60a20, 0x3aa5f: 0x6cb60c20,\n\t0x3aa60: 0x6cb60e20, 0x3aa61: 0x6cb61020, 0x3aa62: 0x6cb61220, 0x3aa63: 0x6cb61420,\n\t0x3aa64: 0x6cb61620, 0x3aa65: 0x6cb61820, 0x3aa66: 0x6cb61a20, 0x3aa67: 0x6cb61c20,\n\t0x3aa68: 0x6cb61e20, 0x3aa69: 0x6cb62020, 0x3aa6a: 0x6cb62220, 0x3aa6b: 0x6cb62420,\n\t0x3aa6c: 0x6cb62620, 0x3aa6d: 0x6cb62820, 0x3aa6e: 0x6cb62a20, 0x3aa6f: 0x6cb62c20,\n\t0x3aa70: 0x6cb62e20, 0x3aa71: 0x6cb63020, 0x3aa72: 0x6cb63220, 0x3aa73: 0x6cb63420,\n\t0x3aa74: 0x6cb63620, 0x3aa75: 0x6cb63820, 0x3aa76: 0x6cb63a20, 0x3aa77: 0x6cb63c20,\n\t0x3aa78: 0x6cb63e20, 0x3aa79: 0x6cb64020, 0x3aa7a: 0x6cb64220, 0x3aa7b: 0x6cb64420,\n\t0x3aa7c: 0x6cb64620, 0x3aa7d: 0x6cb64820, 0x3aa7e: 0x6cb64a20, 0x3aa7f: 0x6cb64c20,\n\t// Block 0xeaa, offset 0x3aa80\n\t0x3aa80: 0x6ce62a20, 0x3aa81: 0x6ce62c20, 0x3aa82: 0x6ce62e20, 0x3aa83: 0x6ce63020,\n\t0x3aa84: 0x6ce63220, 0x3aa85: 0x6ce63420, 0x3aa86: 0x6ce63620, 0x3aa87: 0x6ce63820,\n\t0x3aa88: 0x6ce63a20, 0x3aa89: 0x6ce63c20, 0x3aa8a: 0x6ce63e20, 0x3aa8b: 0x6ce64020,\n\t0x3aa8c: 0x6ce64220, 0x3aa8d: 0x6ce64420, 0x3aa8e: 0x6ce64620, 0x3aa8f: 0x6ce64820,\n\t0x3aa90: 0x6ce64a20, 0x3aa91: 0x6ce64c20, 0x3aa92: 0x6ce64e20, 0x3aa93: 0x6ce65020,\n\t0x3aa94: 0x6ce65220, 0x3aa95: 0x6ce65420, 0x3aa96: 0x6ce65620, 0x3aa97: 0x6ce65820,\n\t0x3aa98: 0x6ce65a20, 0x3aa99: 0x6ce65c20, 0x3aa9a: 0x6ce65e20, 0x3aa9b: 0x6ce66020,\n\t0x3aa9c: 0x6ce66220, 0x3aa9d: 0x6ce66420, 0x3aa9e: 0x6ce66620, 0x3aa9f: 0x6ce66820,\n\t0x3aaa0: 0x6ce66a20, 0x3aaa1: 0x6ce66c20, 0x3aaa2: 0x6ce66e20, 0x3aaa3: 0x6ce67020,\n\t0x3aaa4: 0x6ce67220, 0x3aaa5: 0x6ce67420, 0x3aaa6: 0x6ce67620, 0x3aaa7: 0x6ce67820,\n\t0x3aaa8: 0x6ce67a20, 0x3aaa9: 0x6ce67c20, 0x3aaaa: 0x6ce67e20, 0x3aaab: 0x6ce68020,\n\t0x3aaac: 0x6ce68220, 0x3aaad: 0x6ce68420, 0x3aaae: 0x6d149e20, 0x3aaaf: 0x6d14a020,\n\t0x3aab0: 0x6d14a220, 0x3aab1: 0x6d14a420, 0x3aab2: 0x6d14a620, 0x3aab3: 0x6d14a820,\n\t0x3aab4: 0x6d14aa20, 0x3aab5: 0x6d14ac20, 0x3aab6: 0x6d14ae20, 0x3aab7: 0x6d14b020,\n\t0x3aab8: 0x6d14b220, 0x3aab9: 0x6d14b420, 0x3aaba: 0x6d14b620, 0x3aabb: 0x6d14b820,\n\t0x3aabc: 0x6d14ba20, 0x3aabd: 0x6d14bc20, 0x3aabe: 0x6d14be20, 0x3aabf: 0x6d14c020,\n\t// Block 0xeab, offset 0x3aac0\n\t0x3aac0: 0x6d14c220, 0x3aac1: 0x6d14c420, 0x3aac2: 0x6d14c620, 0x3aac3: 0x6d14c820,\n\t0x3aac4: 0x6d14ca20, 0x3aac5: 0x6d14cc20, 0x3aac6: 0x6d14ce20, 0x3aac7: 0x6d14d020,\n\t0x3aac8: 0x6d14d220, 0x3aac9: 0x6d14d420, 0x3aaca: 0x6d428420, 0x3aacb: 0x6d428620,\n\t0x3aacc: 0x6d428820, 0x3aacd: 0x6d428a20, 0x3aace: 0x6d428c20, 0x3aacf: 0x6d428e20,\n\t0x3aad0: 0x6d429020, 0x3aad1: 0x6d429220, 0x3aad2: 0x6d429420, 0x3aad3: 0x6d429620,\n\t0x3aad4: 0x6d429820, 0x3aad5: 0x6d429a20, 0x3aad6: 0x6d429c20, 0x3aad7: 0x6d429e20,\n\t0x3aad8: 0x6d42a020, 0x3aad9: 0x6d42a220, 0x3aada: 0x6d42a420, 0x3aadb: 0x6d42a620,\n\t0x3aadc: 0x6d42a820, 0x3aadd: 0x6d42aa20, 0x3aade: 0x6d42ac20, 0x3aadf: 0x6d42ae20,\n\t0x3aae0: 0x6d42b020, 0x3aae1: 0x6d42b220, 0x3aae2: 0x6d42b420, 0x3aae3: 0x6d42b620,\n\t0x3aae4: 0x6d42b820, 0x3aae5: 0x6d42ba20, 0x3aae6: 0x6d42bc20, 0x3aae7: 0x6d42be20,\n\t0x3aae8: 0x6d42c020, 0x3aae9: 0x6d42c220, 0x3aaea: 0x6d6f9820, 0x3aaeb: 0x6d6f9a20,\n\t0x3aaec: 0x6d6f9c20, 0x3aaed: 0x6d6f9e20, 0x3aaee: 0x6d6fa020, 0x3aaef: 0x6d6fa220,\n\t0x3aaf0: 0x6d6fa420, 0x3aaf1: 0x6d6fa620, 0x3aaf2: 0x6d6fa820, 0x3aaf3: 0x6d6faa20,\n\t0x3aaf4: 0x6d6fac20, 0x3aaf5: 0x6d6fae20, 0x3aaf6: 0x6d6fb020, 0x3aaf7: 0x6d6fb220,\n\t0x3aaf8: 0x6d6fb420, 0x3aaf9: 0x6d6fb620, 0x3aafa: 0x6d6fb820, 0x3aafb: 0x6d6fba20,\n\t0x3aafc: 0x6d6fbc20, 0x3aafd: 0x6d6fbe20, 0x3aafe: 0x6d6fc020, 0x3aaff: 0x6d98a420,\n\t// Block 0xeac, offset 0x3ab00\n\t0x3ab00: 0x6d98a620, 0x3ab01: 0x6d98a820, 0x3ab02: 0x6d98aa20, 0x3ab03: 0x6d98ac20,\n\t0x3ab04: 0x6d98ae20, 0x3ab05: 0x6d98b020, 0x3ab06: 0x6d98b220, 0x3ab07: 0x6d98b420,\n\t0x3ab08: 0x6d98b620, 0x3ab09: 0x6d98b820, 0x3ab0a: 0x6d98ba20, 0x3ab0b: 0x6d98bc20,\n\t0x3ab0c: 0x6d98be20, 0x3ab0d: 0x6dbba020, 0x3ab0e: 0x6dbba220, 0x3ab0f: 0x6dbba420,\n\t0x3ab10: 0x6dbba620, 0x3ab11: 0x6dbba820, 0x3ab12: 0x6dbbaa20, 0x3ab13: 0x6dbbac20,\n\t0x3ab14: 0x6dbbae20, 0x3ab15: 0x6dbbb020, 0x3ab16: 0x6dd96c20, 0x3ab17: 0x6dd96e20,\n\t0x3ab18: 0x6dd97020, 0x3ab19: 0x6dd97220, 0x3ab1a: 0x6dd97420, 0x3ab1b: 0x6dd97620,\n\t0x3ab1c: 0x6dd97820, 0x3ab1d: 0x6dd97a20, 0x3ab1e: 0x6dd97c20, 0x3ab1f: 0x6dd97e20,\n\t0x3ab20: 0x6dd98020, 0x3ab21: 0x6dd98220, 0x3ab22: 0x6df1a620, 0x3ab23: 0x6df1a820,\n\t0x3ab24: 0x6df1aa20, 0x3ab25: 0x6df1ac20, 0x3ab26: 0x6e05de20, 0x3ab27: 0x6e05e020,\n\t0x3ab28: 0x6e05e220, 0x3ab29: 0x6e05e420, 0x3ab2a: 0x6e05e620, 0x3ab2b: 0x6e05e820,\n\t0x3ab2c: 0x6e169220, 0x3ab2d: 0x6e169420, 0x3ab2e: 0x6e23b820, 0x3ab2f: 0x6e23ba20,\n\t0x3ab30: 0x6e2dcc20, 0x3ab31: 0x6e2dce20, 0x3ab32: 0x6e3eb820, 0x3ab33: 0x6e3eba20,\n\t0x3ab34: 0x6e416220, 0x3ab35: 0x6e416420, 0x3ab36: 0x6d14de20, 0x3ab37: 0x6d42cc20,\n\t0x3ab38: 0x6d6fc220, 0x3ab39: 0x6d6fc420, 0x3ab3a: 0x6d6fc620, 0x3ab3b: 0x6d6fc820,\n\t0x3ab3c: 0x6d98c220, 0x3ab3d: 0x6d98c420, 0x3ab3e: 0x6d98c620, 0x3ab3f: 0x6dbbb420,\n\t// Block 0xead, offset 0x3ab40\n\t0x3ab40: 0x6dd98620, 0x3ab41: 0x6dd98820, 0x3ab42: 0x6e05ea20, 0x3ab43: 0x6e05ec20,\n\t0x3ab44: 0x6e23bc20, 0x3ab45: 0x6c8a3c20, 0x3ab46: 0x6c8a3e20, 0x3ab47: 0x6c8a4020,\n\t0x3ab48: 0x6cb66820, 0x3ab49: 0x6cb66a20, 0x3ab4a: 0x6cb66c20, 0x3ab4b: 0x6cb66e20,\n\t0x3ab4c: 0x6cb67020, 0x3ab4d: 0x6cb67220, 0x3ab4e: 0x6cb67420, 0x3ab4f: 0x6cb67620,\n\t0x3ab50: 0x6cb67820, 0x3ab51: 0x6cb67a20, 0x3ab52: 0x6ce6a020, 0x3ab53: 0x6ce6a220,\n\t0x3ab54: 0x6ce6a420, 0x3ab55: 0x6ce6a620, 0x3ab56: 0x6ce6a820, 0x3ab57: 0x6ce6aa20,\n\t0x3ab58: 0x6ce6ac20, 0x3ab59: 0x6ce6ae20, 0x3ab5a: 0x6ce6b020, 0x3ab5b: 0x6ce6b220,\n\t0x3ab5c: 0x6ce6b420, 0x3ab5d: 0x6ce6b620, 0x3ab5e: 0x6ce6b820, 0x3ab5f: 0x6ce6ba20,\n\t0x3ab60: 0x6d14f420, 0x3ab61: 0x6d14f620, 0x3ab62: 0x6d14f820, 0x3ab63: 0x6d14fa20,\n\t0x3ab64: 0x6d14fc20, 0x3ab65: 0x6d14fe20, 0x3ab66: 0x6d150020, 0x3ab67: 0x6d150220,\n\t0x3ab68: 0x6d150420, 0x3ab69: 0x6d150620, 0x3ab6a: 0x6d150820, 0x3ab6b: 0x6d150a20,\n\t0x3ab6c: 0x6d150c20, 0x3ab6d: 0x6d150e20, 0x3ab6e: 0x6d151020, 0x3ab6f: 0x6d151220,\n\t0x3ab70: 0x6d151420, 0x3ab71: 0x6d151620, 0x3ab72: 0x6d42d820, 0x3ab73: 0x6d42da20,\n\t0x3ab74: 0x6d42dc20, 0x3ab75: 0x6d42de20, 0x3ab76: 0x6d42e020, 0x3ab77: 0x6d42e220,\n\t0x3ab78: 0x6d42e420, 0x3ab79: 0x6d42e620, 0x3ab7a: 0x6d42e820, 0x3ab7b: 0x6d42ea20,\n\t0x3ab7c: 0x6d42ec20, 0x3ab7d: 0x6d42ee20, 0x3ab7e: 0x6d42f020, 0x3ab7f: 0x6d42f220,\n\t// Block 0xeae, offset 0x3ab80\n\t0x3ab80: 0x6d42f420, 0x3ab81: 0x6d42f620, 0x3ab82: 0x6d42f820, 0x3ab83: 0x6d42fa20,\n\t0x3ab84: 0x6d42fc20, 0x3ab85: 0x6d42fe20, 0x3ab86: 0x6d430020, 0x3ab87: 0x6d430220,\n\t0x3ab88: 0x6d430420, 0x3ab89: 0x6d430620, 0x3ab8a: 0x6d430820, 0x3ab8b: 0x6d6fd220,\n\t0x3ab8c: 0x6d6fd420, 0x3ab8d: 0x6d6fd620, 0x3ab8e: 0x6d6fd820, 0x3ab8f: 0x6d6fda20,\n\t0x3ab90: 0x6d6fdc20, 0x3ab91: 0x6d6fde20, 0x3ab92: 0x6d6fe020, 0x3ab93: 0x6d6fe220,\n\t0x3ab94: 0x6d6fe420, 0x3ab95: 0x6d6fe620, 0x3ab96: 0x6d6fe820, 0x3ab97: 0x6d6fea20,\n\t0x3ab98: 0x6d6fec20, 0x3ab99: 0x6d6fee20, 0x3ab9a: 0x6d6ff020, 0x3ab9b: 0x6d6ff220,\n\t0x3ab9c: 0x6d6ff420, 0x3ab9d: 0x6d6ff620, 0x3ab9e: 0x6d6ff820, 0x3ab9f: 0x6d6ffa20,\n\t0x3aba0: 0x6d98d020, 0x3aba1: 0x6d98d220, 0x3aba2: 0x6d98d420, 0x3aba3: 0x6d98d620,\n\t0x3aba4: 0x6d98d820, 0x3aba5: 0x6d98da20, 0x3aba6: 0x6d98dc20, 0x3aba7: 0x6d98de20,\n\t0x3aba8: 0x6d98e020, 0x3aba9: 0x6d98e220, 0x3abaa: 0x6d98e420, 0x3abab: 0x6d98e620,\n\t0x3abac: 0x6d98e820, 0x3abad: 0x6d98ea20, 0x3abae: 0x6d98ec20, 0x3abaf: 0x6d98ee20,\n\t0x3abb0: 0x6d98f020, 0x3abb1: 0x6d98f220, 0x3abb2: 0x6d98f420, 0x3abb3: 0x6d98f620,\n\t0x3abb4: 0x6d98f820, 0x3abb5: 0x6d98fa20, 0x3abb6: 0x6d98fc20, 0x3abb7: 0x6d98fe20,\n\t0x3abb8: 0x6d990020, 0x3abb9: 0x6d990220, 0x3abba: 0x6d990420, 0x3abbb: 0x6d990620,\n\t0x3abbc: 0x6d990820, 0x3abbd: 0x6d990a20, 0x3abbe: 0x6d990c20, 0x3abbf: 0x6dbbbc20,\n\t// Block 0xeaf, offset 0x3abc0\n\t0x3abc0: 0x6dbbbe20, 0x3abc1: 0x6dbbc020, 0x3abc2: 0x6dbbc220, 0x3abc3: 0x6dbbc420,\n\t0x3abc4: 0x6dbbc620, 0x3abc5: 0x6dbbc820, 0x3abc6: 0x6dbbca20, 0x3abc7: 0x6dbbcc20,\n\t0x3abc8: 0x6dbbce20, 0x3abc9: 0x6dbbd020, 0x3abca: 0x6dbbd220, 0x3abcb: 0x6dbbd420,\n\t0x3abcc: 0x6dbbd620, 0x3abcd: 0x6dbbd820, 0x3abce: 0x6dbbda20, 0x3abcf: 0x6dbbdc20,\n\t0x3abd0: 0x6dbbde20, 0x3abd1: 0x6dbbe020, 0x3abd2: 0x6dbbe220, 0x3abd3: 0x6dbbe420,\n\t0x3abd4: 0x6dbbe620, 0x3abd5: 0x6dbbe820, 0x3abd6: 0x6dbbea20, 0x3abd7: 0x6dd9a020,\n\t0x3abd8: 0x6dd9a220, 0x3abd9: 0x6dd9a420, 0x3abda: 0x6dd9a620, 0x3abdb: 0x6dd9a820,\n\t0x3abdc: 0x6dd9aa20, 0x3abdd: 0x6dd9ac20, 0x3abde: 0x6dd9ae20, 0x3abdf: 0x6dd9b020,\n\t0x3abe0: 0x6dd9b220, 0x3abe1: 0x6dd9b420, 0x3abe2: 0x6dd9b620, 0x3abe3: 0x6dd9b820,\n\t0x3abe4: 0x6df1b420, 0x3abe5: 0x6df1b620, 0x3abe6: 0x6df1b820, 0x3abe7: 0x6df1ba20,\n\t0x3abe8: 0x6df1bc20, 0x3abe9: 0x6df1be20, 0x3abea: 0x6df1c020, 0x3abeb: 0x6df1c220,\n\t0x3abec: 0x6df1c420, 0x3abed: 0x6df1c620, 0x3abee: 0x6df1c820, 0x3abef: 0x6df1ca20,\n\t0x3abf0: 0x6df1cc20, 0x3abf1: 0x6df1ce20, 0x3abf2: 0x6df1d020, 0x3abf3: 0x6df1d220,\n\t0x3abf4: 0x6e05f420, 0x3abf5: 0x6e05f620, 0x3abf6: 0x6e05f820, 0x3abf7: 0x6e05fa20,\n\t0x3abf8: 0x6e05fc20, 0x3abf9: 0x6e05fe20, 0x3abfa: 0x6e060020, 0x3abfb: 0x6e060220,\n\t0x3abfc: 0x6e060420, 0x3abfd: 0x6e060620, 0x3abfe: 0x6e060820, 0x3abff: 0x6e060a20,\n\t// Block 0xeb0, offset 0x3ac00\n\t0x3ac00: 0x6e060c20, 0x3ac01: 0x6e060e20, 0x3ac02: 0x6e061020, 0x3ac03: 0x6e061220,\n\t0x3ac04: 0x6e061420, 0x3ac05: 0x6e061620, 0x3ac06: 0x6e061820, 0x3ac07: 0x6e169820,\n\t0x3ac08: 0x6e169a20, 0x3ac09: 0x6e169c20, 0x3ac0a: 0x6e169e20, 0x3ac0b: 0x6e16a020,\n\t0x3ac0c: 0x6e16a220, 0x3ac0d: 0x6e16a420, 0x3ac0e: 0x6e16a620, 0x3ac0f: 0x6e16a820,\n\t0x3ac10: 0x6e16aa20, 0x3ac11: 0x6e16ac20, 0x3ac12: 0x6e16ae20, 0x3ac13: 0x6e23c020,\n\t0x3ac14: 0x6e23c220, 0x3ac15: 0x6e23c420, 0x3ac16: 0x6e23c620, 0x3ac17: 0x6e23c820,\n\t0x3ac18: 0x6e23ca20, 0x3ac19: 0x6e23cc20, 0x3ac1a: 0x6e23ce20, 0x3ac1b: 0x6e23d020,\n\t0x3ac1c: 0x6e2dd020, 0x3ac1d: 0x6e2dd220, 0x3ac1e: 0x6e2dd420, 0x3ac1f: 0x6e2dd620,\n\t0x3ac20: 0x6e2dd820, 0x3ac21: 0x6e2dda20, 0x3ac22: 0x6e2ddc20, 0x3ac23: 0x6e2dde20,\n\t0x3ac24: 0x6e2de020, 0x3ac25: 0x6e2de220, 0x3ac26: 0x6e2de420, 0x3ac27: 0x6e358420,\n\t0x3ac28: 0x6e358620, 0x3ac29: 0x6e358820, 0x3ac2a: 0x6e358a20, 0x3ac2b: 0x6e358c20,\n\t0x3ac2c: 0x6e3afc20, 0x3ac2d: 0x6e3afe20, 0x3ac2e: 0x6e3b0020, 0x3ac2f: 0x6e3ebc20,\n\t0x3ac30: 0x6e3ebe20, 0x3ac31: 0x6e3ec020, 0x3ac32: 0x6e435e20, 0x3ac33: 0x6e436020,\n\t0x3ac34: 0x6e464820, 0x3ac35: 0x6e46ee20, 0x3ac36: 0x6c632c20, 0x3ac37: 0x6c8a4220,\n\t0x3ac38: 0x6c8a4420, 0x3ac39: 0x6cb68420, 0x3ac3a: 0x6cb68620, 0x3ac3b: 0x6cb68820,\n\t0x3ac3c: 0x6cb68a20, 0x3ac3d: 0x6cb68c20, 0x3ac3e: 0x6cb68e20, 0x3ac3f: 0x6cb69020,\n\t// Block 0xeb1, offset 0x3ac40\n\t0x3ac40: 0x6cb69220, 0x3ac41: 0x6cb69420, 0x3ac42: 0x6ce6d220, 0x3ac43: 0x6ce6d420,\n\t0x3ac44: 0x6ce6d620, 0x3ac45: 0x6ce6d820, 0x3ac46: 0x6ce6da20, 0x3ac47: 0x6ce6dc20,\n\t0x3ac48: 0x6ce6de20, 0x3ac49: 0x6ce6e020, 0x3ac4a: 0x6ce6e220, 0x3ac4b: 0x6ce6e420,\n\t0x3ac4c: 0x6ce6e620, 0x3ac4d: 0x6ce6e820, 0x3ac4e: 0x6ce6ea20, 0x3ac4f: 0x6ce6ec20,\n\t0x3ac50: 0x6ce6ee20, 0x3ac51: 0x6ce6f020, 0x3ac52: 0x6d153020, 0x3ac53: 0x6d153220,\n\t0x3ac54: 0x6d153420, 0x3ac55: 0x6d153620, 0x3ac56: 0x6d153820, 0x3ac57: 0x6d153a20,\n\t0x3ac58: 0x6d153c20, 0x3ac59: 0x6d153e20, 0x3ac5a: 0x6d154020, 0x3ac5b: 0x6d154220,\n\t0x3ac5c: 0x6d154420, 0x3ac5d: 0x6d154620, 0x3ac5e: 0x6d154820, 0x3ac5f: 0x6d154a20,\n\t0x3ac60: 0x6d154c20, 0x3ac61: 0x6d154e20, 0x3ac62: 0x6d432220, 0x3ac63: 0x6d432420,\n\t0x3ac64: 0x6d432620, 0x3ac65: 0x6d432820, 0x3ac66: 0x6d432a20, 0x3ac67: 0x6d432c20,\n\t0x3ac68: 0x6d432e20, 0x3ac69: 0x6d433020, 0x3ac6a: 0x6d433220, 0x3ac6b: 0x6d433420,\n\t0x3ac6c: 0x6d433620, 0x3ac6d: 0x6d433820, 0x3ac6e: 0x6d433a20, 0x3ac6f: 0x6d433c20,\n\t0x3ac70: 0x6d433e20, 0x3ac71: 0x6d434020, 0x3ac72: 0x6d434220, 0x3ac73: 0x6d434420,\n\t0x3ac74: 0x6d434620, 0x3ac75: 0x6d434820, 0x3ac76: 0x6d434a20, 0x3ac77: 0x6d701420,\n\t0x3ac78: 0x6d701620, 0x3ac79: 0x6d701820, 0x3ac7a: 0x6d701a20, 0x3ac7b: 0x6d701c20,\n\t0x3ac7c: 0x6d701e20, 0x3ac7d: 0x6d702020, 0x3ac7e: 0x6d702220, 0x3ac7f: 0x6d702420,\n\t// Block 0xeb2, offset 0x3ac80\n\t0x3ac80: 0x6d702620, 0x3ac81: 0x6d702820, 0x3ac82: 0x6d702a20, 0x3ac83: 0x6d702c20,\n\t0x3ac84: 0x6d702e20, 0x3ac85: 0x6d703020, 0x3ac86: 0x6d703220, 0x3ac87: 0x6d703420,\n\t0x3ac88: 0x6d703620, 0x3ac89: 0x6d703820, 0x3ac8a: 0x6d703a20, 0x3ac8b: 0x6d703c20,\n\t0x3ac8c: 0x6d703e20, 0x3ac8d: 0x6d704020, 0x3ac8e: 0x6d704220, 0x3ac8f: 0x6d704420,\n\t0x3ac90: 0x6d704620, 0x3ac91: 0x6d704820, 0x3ac92: 0x6d993020, 0x3ac93: 0x6d993220,\n\t0x3ac94: 0x6d993420, 0x3ac95: 0x6d993620, 0x3ac96: 0x6d993820, 0x3ac97: 0x6d993a20,\n\t0x3ac98: 0x6d993c20, 0x3ac99: 0x6d993e20, 0x3ac9a: 0x6d994020, 0x3ac9b: 0x6d994220,\n\t0x3ac9c: 0x6d994420, 0x3ac9d: 0x6d994620, 0x3ac9e: 0x6d994820, 0x3ac9f: 0x6d994a20,\n\t0x3aca0: 0x6d994c20, 0x3aca1: 0x6d994e20, 0x3aca2: 0x6d995020, 0x3aca3: 0x6d995220,\n\t0x3aca4: 0x6d995420, 0x3aca5: 0x6d995620, 0x3aca6: 0x6d995820, 0x3aca7: 0x6d995a20,\n\t0x3aca8: 0x6d995c20, 0x3aca9: 0x6d995e20, 0x3acaa: 0x6d996020, 0x3acab: 0x6d996220,\n\t0x3acac: 0x6d996420, 0x3acad: 0x6d996620, 0x3acae: 0x6d996820, 0x3acaf: 0x6d996a20,\n\t0x3acb0: 0x6d996c20, 0x3acb1: 0x6d996e20, 0x3acb2: 0x6d997020, 0x3acb3: 0x6d997220,\n\t0x3acb4: 0x6d997420, 0x3acb5: 0x6dbc0c20, 0x3acb6: 0x6dbc0e20, 0x3acb7: 0x6dbc1020,\n\t0x3acb8: 0x6dbc1220, 0x3acb9: 0x6dbc1420, 0x3acba: 0x6dbc1620, 0x3acbb: 0x6dbc1820,\n\t0x3acbc: 0x6dbc1a20, 0x3acbd: 0x6dbc1c20, 0x3acbe: 0x6dd9d220, 0x3acbf: 0x6dbc1e20,\n\t// Block 0xeb3, offset 0x3acc0\n\t0x3acc0: 0x6dbc2020, 0x3acc1: 0x6dbc2220, 0x3acc2: 0x6dbc2420, 0x3acc3: 0x6dbc2620,\n\t0x3acc4: 0x6dbc2820, 0x3acc5: 0x6dbc2a20, 0x3acc6: 0x6dbc2c20, 0x3acc7: 0x6dbc2e20,\n\t0x3acc8: 0x6dbc3020, 0x3acc9: 0x6dbc3220, 0x3acca: 0x6dbc3420, 0x3accb: 0x6dbc3620,\n\t0x3accc: 0x6dbc3820, 0x3accd: 0x6dbc3a20, 0x3acce: 0x6dbc3c20, 0x3accf: 0x6dbc3e20,\n\t0x3acd0: 0x6dbc4020, 0x3acd1: 0x6dbc4220, 0x3acd2: 0x6dbc4420, 0x3acd3: 0x6dbc4620,\n\t0x3acd4: 0x6dbc4820, 0x3acd5: 0x6dbc4a20, 0x3acd6: 0x6dbc4c20, 0x3acd7: 0x6dd9d420,\n\t0x3acd8: 0x6dd9d620, 0x3acd9: 0x6dd9d820, 0x3acda: 0x6dd9da20, 0x3acdb: 0x6dd9dc20,\n\t0x3acdc: 0x6dd9de20, 0x3acdd: 0x6dd9e020, 0x3acde: 0x6dd9e220, 0x3acdf: 0x6dd9e420,\n\t0x3ace0: 0x6dd9e620, 0x3ace1: 0x6dd9e820, 0x3ace2: 0x6dd9ea20, 0x3ace3: 0x6dd9ec20,\n\t0x3ace4: 0x6dd9ee20, 0x3ace5: 0x6dd9f020, 0x3ace6: 0x6dd9f220, 0x3ace7: 0x6dd9f420,\n\t0x3ace8: 0x6dd9f620, 0x3ace9: 0x6dd9f820, 0x3acea: 0x6dd9fa20, 0x3aceb: 0x6dd9fc20,\n\t0x3acec: 0x6dd9fe20, 0x3aced: 0x6dda0020, 0x3acee: 0x6db8fa20, 0x3acef: 0x6dda0220,\n\t0x3acf0: 0x6dda0420, 0x3acf1: 0x6dda0620, 0x3acf2: 0x6dda0820, 0x3acf3: 0x6dda0a20,\n\t0x3acf4: 0x6dda0c20, 0x3acf5: 0x6dda0e20, 0x3acf6: 0x6dda1020, 0x3acf7: 0x6dda1220,\n\t0x3acf8: 0x6dda1420, 0x3acf9: 0x6dda1620, 0x3acfa: 0x6dda1820, 0x3acfb: 0x6df1ee20,\n\t0x3acfc: 0x6df1f020, 0x3acfd: 0x6df1f220, 0x3acfe: 0x6df1f420, 0x3acff: 0x6df1f620,\n\t// Block 0xeb4, offset 0x3ad00\n\t0x3ad00: 0x6df1f820, 0x3ad01: 0x6df1fa20, 0x3ad02: 0x6df1fc20, 0x3ad03: 0x6df1fe20,\n\t0x3ad04: 0x6df20020, 0x3ad05: 0x6df20220, 0x3ad06: 0x6df20420, 0x3ad07: 0x6df20620,\n\t0x3ad08: 0x6df20820, 0x3ad09: 0x6df20a20, 0x3ad0a: 0x6df20c20, 0x3ad0b: 0x6df20e20,\n\t0x3ad0c: 0x6df21020, 0x3ad0d: 0x6df21220, 0x3ad0e: 0x6df21420, 0x3ad0f: 0x6df21620,\n\t0x3ad10: 0x6df21820, 0x3ad11: 0x6df21a20, 0x3ad12: 0x6df21c20, 0x3ad13: 0x6df21e20,\n\t0x3ad14: 0x6df22020, 0x3ad15: 0x6df22220, 0x3ad16: 0x6df22420, 0x3ad17: 0x6df22620,\n\t0x3ad18: 0x6df22820, 0x3ad19: 0x6df22a20, 0x3ad1a: 0x6df22c20, 0x3ad1b: 0x6df22e20,\n\t0x3ad1c: 0x6df23020, 0x3ad1d: 0x6e062a20, 0x3ad1e: 0x6e062c20, 0x3ad1f: 0x6e062e20,\n\t0x3ad20: 0x6e063020, 0x3ad21: 0x6e063220, 0x3ad22: 0x6e063420, 0x3ad23: 0x6e063620,\n\t0x3ad24: 0x6e063820, 0x3ad25: 0x6e063a20, 0x3ad26: 0x6e063c20, 0x3ad27: 0x6e063e20,\n\t0x3ad28: 0x6e064020, 0x3ad29: 0x6e064220, 0x3ad2a: 0x6e064420, 0x3ad2b: 0x6e064620,\n\t0x3ad2c: 0x6e064820, 0x3ad2d: 0x6e064a20, 0x3ad2e: 0x6e064c20, 0x3ad2f: 0x6e064e20,\n\t0x3ad30: 0x6e065020, 0x3ad31: 0x6e065220, 0x3ad32: 0x6e065420, 0x3ad33: 0x6e065620,\n\t0x3ad34: 0x6e065820, 0x3ad35: 0x6e065a20, 0x3ad36: 0x6e065c20, 0x3ad37: 0x6e065e20,\n\t0x3ad38: 0x6e066020, 0x3ad39: 0x6e066220, 0x3ad3a: 0x6e066420, 0x3ad3b: 0x6e066620,\n\t0x3ad3c: 0x6e16c020, 0x3ad3d: 0x6e16c220, 0x3ad3e: 0x6e16c420, 0x3ad3f: 0x6e16c620,\n\t// Block 0xeb5, offset 0x3ad40\n\t0x3ad40: 0x6e16c820, 0x3ad41: 0x6e16ca20, 0x3ad42: 0x6e16cc20, 0x3ad43: 0x6e16ce20,\n\t0x3ad44: 0x6e16d020, 0x3ad45: 0x6e16d220, 0x3ad46: 0x6e16d420, 0x3ad47: 0x6e16d620,\n\t0x3ad48: 0x6e16d820, 0x3ad49: 0x6e16da20, 0x3ad4a: 0x6e16dc20, 0x3ad4b: 0x6e16de20,\n\t0x3ad4c: 0x6e16e020, 0x3ad4d: 0x6e16e220, 0x3ad4e: 0x6e16e420, 0x3ad4f: 0x6e16e620,\n\t0x3ad50: 0x6e16e820, 0x3ad51: 0x6e23e220, 0x3ad52: 0x6e23e420, 0x3ad53: 0x6e23e620,\n\t0x3ad54: 0x6e23e820, 0x3ad55: 0x6e23ea20, 0x3ad56: 0x6e23ec20, 0x3ad57: 0x6e23ee20,\n\t0x3ad58: 0x6e23f020, 0x3ad59: 0x6e23f220, 0x3ad5a: 0x6e23f420, 0x3ad5b: 0x6e23f620,\n\t0x3ad5c: 0x6e23f820, 0x3ad5d: 0x6e23fa20, 0x3ad5e: 0x6e23fc20, 0x3ad5f: 0x6e23fe20,\n\t0x3ad60: 0x6e240020, 0x3ad61: 0x6e240220, 0x3ad62: 0x6e240420, 0x3ad63: 0x6e240620,\n\t0x3ad64: 0x6e2dec20, 0x3ad65: 0x6e2dee20, 0x3ad66: 0x6e2df020, 0x3ad67: 0x6e2df220,\n\t0x3ad68: 0x6e2df420, 0x3ad69: 0x6e2df620, 0x3ad6a: 0x6e2df820, 0x3ad6b: 0x6e2dfa20,\n\t0x3ad6c: 0x6e2dfc20, 0x3ad6d: 0x6e359e20, 0x3ad6e: 0x6e35a020, 0x3ad6f: 0x6e35a220,\n\t0x3ad70: 0x6e35a420, 0x3ad71: 0x6e35a620, 0x3ad72: 0x6e35a820, 0x3ad73: 0x6e35aa20,\n\t0x3ad74: 0x6e35ac20, 0x3ad75: 0x6e3b0620, 0x3ad76: 0x6e3b0820, 0x3ad77: 0x6e3b0a20,\n\t0x3ad78: 0x6e3b0c20, 0x3ad79: 0x6e3b0e20, 0x3ad7a: 0x6e3b1020, 0x3ad7b: 0x6e3b1220,\n\t0x3ad7c: 0x6e3b1420, 0x3ad7d: 0x6e3b1620, 0x3ad7e: 0x6e3b1820, 0x3ad7f: 0x6e3ec420,\n\t// Block 0xeb6, offset 0x3ad80\n\t0x3ad80: 0x6e3ec620, 0x3ad81: 0x6e3ec820, 0x3ad82: 0x6e3eca20, 0x3ad83: 0x6e3ecc20,\n\t0x3ad84: 0x6e3ece20, 0x3ad85: 0x6e3ed020, 0x3ad86: 0x6e3ed220, 0x3ad87: 0x6e3ed420,\n\t0x3ad88: 0x6e436220, 0x3ad89: 0x6e436420, 0x3ad8a: 0x6e44a820, 0x3ad8b: 0x6e44aa20,\n\t0x3ad8c: 0x6e44ac20, 0x3ad8d: 0x6e44ae20, 0x3ad8e: 0x6e44b020, 0x3ad8f: 0x6e45e820,\n\t0x3ad90: 0x6e464a20, 0x3ad91: 0x6e464c20, 0x3ad92: 0x6e471820, 0x3ad93: 0x6e472420,\n\t0x3ad94: 0x6e473820, 0x3ad95: 0x6cb69820, 0x3ad96: 0x6ce6fa20, 0x3ad97: 0x6ce6fc20,\n\t0x3ad98: 0x6d155820, 0x3ad99: 0x6d155a20, 0x3ad9a: 0x6d155c20, 0x3ad9b: 0x6d155e20,\n\t0x3ad9c: 0x6d435620, 0x3ad9d: 0x6d997e20, 0x3ad9e: 0x6d998020, 0x3ad9f: 0x6dbc5420,\n\t0x3ada0: 0x6dda1e20, 0x3ada1: 0x6df23620, 0x3ada2: 0x6e067020, 0x3ada3: 0x6e16ec20,\n\t0x3ada4: 0x6e35b220, 0x3ada5: 0x6e3b1a20, 0x3ada6: 0x6c8a4820, 0x3ada7: 0x6c8a4a20,\n\t0x3ada8: 0x6c8a4c20, 0x3ada9: 0x6cb6a020, 0x3adaa: 0x6cb6a220, 0x3adab: 0x6cb6a420,\n\t0x3adac: 0x6cb6a620, 0x3adad: 0x6ce70220, 0x3adae: 0x6ce70420, 0x3adaf: 0x6ce70620,\n\t0x3adb0: 0x6ce70820, 0x3adb1: 0x6ce70a20, 0x3adb2: 0x6ce70c20, 0x3adb3: 0x6ce70e20,\n\t0x3adb4: 0x6ce71020, 0x3adb5: 0x6d156420, 0x3adb6: 0x6d156620, 0x3adb7: 0x6d435820,\n\t0x3adb8: 0x6d705420, 0x3adb9: 0x6d705620, 0x3adba: 0x6d705820, 0x3adbb: 0x6d705a20,\n\t0x3adbc: 0x6d998420, 0x3adbd: 0x6dda2020, 0x3adbe: 0x6e067420, 0x3adbf: 0x6e067620,\n\t// Block 0xeb7, offset 0x3adc0\n\t0x3adc0: 0x6e067820, 0x3adc1: 0x6e067a20, 0x3adc2: 0x6e3ed620, 0x3adc3: 0x6ce71220,\n\t0x3adc4: 0x6ce71420, 0x3adc5: 0x6ce71620, 0x3adc6: 0x6d156e20, 0x3adc7: 0x6d157020,\n\t0x3adc8: 0x6d157220, 0x3adc9: 0x6d157420, 0x3adca: 0x6d157620, 0x3adcb: 0x6d157820,\n\t0x3adcc: 0x6d157a20, 0x3adcd: 0x6d436420, 0x3adce: 0x6d436620, 0x3adcf: 0x6d436820,\n\t0x3add0: 0x6d436a20, 0x3add1: 0x6d436c20, 0x3add2: 0x6d436e20, 0x3add3: 0x6d437020,\n\t0x3add4: 0x6d437220, 0x3add5: 0x6d437420, 0x3add6: 0x6d437620, 0x3add7: 0x6d437820,\n\t0x3add8: 0x6d437a20, 0x3add9: 0x6d706020, 0x3adda: 0x6d706220, 0x3addb: 0x6d706420,\n\t0x3addc: 0x6d706620, 0x3addd: 0x6d706820, 0x3adde: 0x6d706a20, 0x3addf: 0x6d706c20,\n\t0x3ade0: 0x6d706e20, 0x3ade1: 0x6d998c20, 0x3ade2: 0x6d998e20, 0x3ade3: 0x6d999020,\n\t0x3ade4: 0x6d999220, 0x3ade5: 0x6d999420, 0x3ade6: 0x6d999620, 0x3ade7: 0x6d999820,\n\t0x3ade8: 0x6d999a20, 0x3ade9: 0x6d999c20, 0x3adea: 0x6d999e20, 0x3adeb: 0x6dbc5820,\n\t0x3adec: 0x6dbc5a20, 0x3aded: 0x6dbc5c20, 0x3adee: 0x6dbc5e20, 0x3adef: 0x6dbc6020,\n\t0x3adf0: 0x6dbc6220, 0x3adf1: 0x6dbc6420, 0x3adf2: 0x6dda2220, 0x3adf3: 0x6dda2420,\n\t0x3adf4: 0x6dda2620, 0x3adf5: 0x6dda2820, 0x3adf6: 0x6dda2a20, 0x3adf7: 0x6dda2c20,\n\t0x3adf8: 0x6df23c20, 0x3adf9: 0x6df23e20, 0x3adfa: 0x6df24020, 0x3adfb: 0x6e067e20,\n\t0x3adfc: 0x6e068020, 0x3adfd: 0x6e068220, 0x3adfe: 0x6e068420, 0x3adff: 0x6e068620,\n\t// Block 0xeb8, offset 0x3ae00\n\t0x3ae00: 0x6e068820, 0x3ae01: 0x6e16f620, 0x3ae02: 0x6e16f820, 0x3ae03: 0x6e16fa20,\n\t0x3ae04: 0x6e16fc20, 0x3ae05: 0x6e16fe20, 0x3ae06: 0x6e170020, 0x3ae07: 0x6e170220,\n\t0x3ae08: 0x6e170420, 0x3ae09: 0x6e170620, 0x3ae0a: 0x6e241020, 0x3ae0b: 0x6e241220,\n\t0x3ae0c: 0x6e2e0020, 0x3ae0d: 0x6e2e0220, 0x3ae0e: 0x6e2e0420, 0x3ae0f: 0x6e2e0620,\n\t0x3ae10: 0x6e2e0820, 0x3ae11: 0x6e35b620, 0x3ae12: 0x6e35b820, 0x3ae13: 0x6e3b1e20,\n\t0x3ae14: 0x6e3ed820, 0x3ae15: 0x6e3eda20, 0x3ae16: 0x6e417020, 0x3ae17: 0x6e417220,\n\t0x3ae18: 0x6e417420, 0x3ae19: 0x6e436620, 0x3ae1a: 0x6e436820, 0x3ae1b: 0x6cb6aa20,\n\t0x3ae1c: 0x6cb6ac20, 0x3ae1d: 0x6ce72c20, 0x3ae1e: 0x6ce72e20, 0x3ae1f: 0x6ce73020,\n\t0x3ae20: 0x6ce73220, 0x3ae21: 0x6d159820, 0x3ae22: 0x6d159a20, 0x3ae23: 0x6d159c20,\n\t0x3ae24: 0x6d159e20, 0x3ae25: 0x6d15a020, 0x3ae26: 0x6d15a220, 0x3ae27: 0x6d15a420,\n\t0x3ae28: 0x6d15a620, 0x3ae29: 0x6d15a820, 0x3ae2a: 0x6d15aa20, 0x3ae2b: 0x6d15ac20,\n\t0x3ae2c: 0x6d15ae20, 0x3ae2d: 0x6d15b020, 0x3ae2e: 0x6d15b220, 0x3ae2f: 0x6d15b420,\n\t0x3ae30: 0x6d15b620, 0x3ae31: 0x6d15b820, 0x3ae32: 0x6d15ba20, 0x3ae33: 0x6d15bc20,\n\t0x3ae34: 0x6d15be20, 0x3ae35: 0x6d15c020, 0x3ae36: 0x6d15c220, 0x3ae37: 0x6d15c420,\n\t0x3ae38: 0x6d43a420, 0x3ae39: 0x6d43a620, 0x3ae3a: 0x6d43a820, 0x3ae3b: 0x6d43aa20,\n\t0x3ae3c: 0x6d43ac20, 0x3ae3d: 0x6d43ae20, 0x3ae3e: 0x6d43b020, 0x3ae3f: 0x6d43b220,\n\t// Block 0xeb9, offset 0x3ae40\n\t0x3ae40: 0x6d43b420, 0x3ae41: 0x6d43b620, 0x3ae42: 0x6d43b820, 0x3ae43: 0x6d43ba20,\n\t0x3ae44: 0x6d43bc20, 0x3ae45: 0x6d43be20, 0x3ae46: 0x6d43c020, 0x3ae47: 0x6d43c220,\n\t0x3ae48: 0x6d43c420, 0x3ae49: 0x6d43c620, 0x3ae4a: 0x6d43c820, 0x3ae4b: 0x6d43ca20,\n\t0x3ae4c: 0x6d43cc20, 0x3ae4d: 0x6d43ce20, 0x3ae4e: 0x6d43d020, 0x3ae4f: 0x6d43d220,\n\t0x3ae50: 0x6d708c20, 0x3ae51: 0x6d708e20, 0x3ae52: 0x6d709020, 0x3ae53: 0x6d709220,\n\t0x3ae54: 0x6d709420, 0x3ae55: 0x6d709620, 0x3ae56: 0x6d709820, 0x3ae57: 0x6d709a20,\n\t0x3ae58: 0x6d709c20, 0x3ae59: 0x6d709e20, 0x3ae5a: 0x6d70a020, 0x3ae5b: 0x6d70a220,\n\t0x3ae5c: 0x6d70a420, 0x3ae5d: 0x6d70a620, 0x3ae5e: 0x6d70a820, 0x3ae5f: 0x6d70aa20,\n\t0x3ae60: 0x6d70ac20, 0x3ae61: 0x6d70ae20, 0x3ae62: 0x6d70b020, 0x3ae63: 0x6d70b220,\n\t0x3ae64: 0x6d70b420, 0x3ae65: 0x6d70b620, 0x3ae66: 0x6d70b820, 0x3ae67: 0x6d70ba20,\n\t0x3ae68: 0x6d70bc20, 0x3ae69: 0x6d99c020, 0x3ae6a: 0x6d99c220, 0x3ae6b: 0x6d99c420,\n\t0x3ae6c: 0x6d99c620, 0x3ae6d: 0x6d99c820, 0x3ae6e: 0x6d99ca20, 0x3ae6f: 0x6d99cc20,\n\t0x3ae70: 0x6d99ce20, 0x3ae71: 0x6d99d020, 0x3ae72: 0x6d99d220, 0x3ae73: 0x6d99d420,\n\t0x3ae74: 0x6d99d620, 0x3ae75: 0x6d99d820, 0x3ae76: 0x6d99da20, 0x3ae77: 0x6d99dc20,\n\t0x3ae78: 0x6d99de20, 0x3ae79: 0x6d99e020, 0x3ae7a: 0x6d99e220, 0x3ae7b: 0x6d99e420,\n\t0x3ae7c: 0x6d99e620, 0x3ae7d: 0x6d99e820, 0x3ae7e: 0x6d99ea20, 0x3ae7f: 0x6dbc8420,\n\t// Block 0xeba, offset 0x3ae80\n\t0x3ae80: 0x6dbc8620, 0x3ae81: 0x6dbc8820, 0x3ae82: 0x6dbc8a20, 0x3ae83: 0x6dbc8c20,\n\t0x3ae84: 0x6dbc8e20, 0x3ae85: 0x6dbc9020, 0x3ae86: 0x6dbc9220, 0x3ae87: 0x6dbc9420,\n\t0x3ae88: 0x6dbc9620, 0x3ae89: 0x6dbc9820, 0x3ae8a: 0x6dbc9a20, 0x3ae8b: 0x6dbc9c20,\n\t0x3ae8c: 0x6dbc9e20, 0x3ae8d: 0x6dbca020, 0x3ae8e: 0x6dbca220, 0x3ae8f: 0x6dbca420,\n\t0x3ae90: 0x6dbca620, 0x3ae91: 0x6dbca820, 0x3ae92: 0x6dbcaa20, 0x3ae93: 0x6dbcac20,\n\t0x3ae94: 0x6dbcae20, 0x3ae95: 0x6dbcb020, 0x3ae96: 0x6dbcb220, 0x3ae97: 0x6dbcb420,\n\t0x3ae98: 0x6dbcb620, 0x3ae99: 0x6dbcb820, 0x3ae9a: 0x6dbcba20, 0x3ae9b: 0x6dbcbc20,\n\t0x3ae9c: 0x6dbcbe20, 0x3ae9d: 0x6dbcc020, 0x3ae9e: 0x6dbcc220, 0x3ae9f: 0x6dda5c20,\n\t0x3aea0: 0x6dda5e20, 0x3aea1: 0x6dda6020, 0x3aea2: 0x6dda6220, 0x3aea3: 0x6dda6420,\n\t0x3aea4: 0x6dda6620, 0x3aea5: 0x6dda6820, 0x3aea6: 0x6dda6a20, 0x3aea7: 0x6dda6c20,\n\t0x3aea8: 0x6dda6e20, 0x3aea9: 0x6dda7020, 0x3aeaa: 0x6dda7220, 0x3aeab: 0x6dda7420,\n\t0x3aeac: 0x6dda7620, 0x3aead: 0x6dda7820, 0x3aeae: 0x6dda7a20, 0x3aeaf: 0x6dda7c20,\n\t0x3aeb0: 0x6dda7e20, 0x3aeb1: 0x6dda8020, 0x3aeb2: 0x6dda8220, 0x3aeb3: 0x6dda8420,\n\t0x3aeb4: 0x6dda8620, 0x3aeb5: 0x6dda8820, 0x3aeb6: 0x6dda8a20, 0x3aeb7: 0x6dda8c20,\n\t0x3aeb8: 0x6dda8e20, 0x3aeb9: 0x6dda9020, 0x3aeba: 0x6dda9220, 0x3aebb: 0x6dda9420,\n\t0x3aebc: 0x6dda9620, 0x3aebd: 0x6dda9820, 0x3aebe: 0x6dda9a20, 0x3aebf: 0x6dda9c20,\n\t// Block 0xebb, offset 0x3aec0\n\t0x3aec0: 0x6dda9e20, 0x3aec1: 0x6ddaa020, 0x3aec2: 0x6ddaa220, 0x3aec3: 0x6df25e20,\n\t0x3aec4: 0x6df26020, 0x3aec5: 0x6df26220, 0x3aec6: 0x6df26420, 0x3aec7: 0x6df26620,\n\t0x3aec8: 0x6df26820, 0x3aec9: 0x6df26a20, 0x3aeca: 0x6df26c20, 0x3aecb: 0x6df26e20,\n\t0x3aecc: 0x6df27020, 0x3aecd: 0x6df27220, 0x3aece: 0x6df27420, 0x3aecf: 0x6df27620,\n\t0x3aed0: 0x6df27820, 0x3aed1: 0x6df27a20, 0x3aed2: 0x6df27c20, 0x3aed3: 0x6df27e20,\n\t0x3aed4: 0x6df28020, 0x3aed5: 0x6df28220, 0x3aed6: 0x6df28420, 0x3aed7: 0x6df28620,\n\t0x3aed8: 0x6df28820, 0x3aed9: 0x6df28a20, 0x3aeda: 0x6df28c20, 0x3aedb: 0x6df28e20,\n\t0x3aedc: 0x6df29020, 0x3aedd: 0x6df29220, 0x3aede: 0x6df29420, 0x3aedf: 0x6df29620,\n\t0x3aee0: 0x6df29820, 0x3aee1: 0x6df29a20, 0x3aee2: 0x6df29c20, 0x3aee3: 0x6df29e20,\n\t0x3aee4: 0x6df2a020, 0x3aee5: 0x6df2a220, 0x3aee6: 0x6e069820, 0x3aee7: 0x6e069a20,\n\t0x3aee8: 0x6e069c20, 0x3aee9: 0x6e069e20, 0x3aeea: 0x6e06a020, 0x3aeeb: 0x6e06a220,\n\t0x3aeec: 0x6e06a420, 0x3aeed: 0x6e06a620, 0x3aeee: 0x6e06a820, 0x3aeef: 0x6e06aa20,\n\t0x3aef0: 0x6e06ac20, 0x3aef1: 0x6e06ae20, 0x3aef2: 0x6e06b020, 0x3aef3: 0x6e06b220,\n\t0x3aef4: 0x6e06b420, 0x3aef5: 0x6e06b620, 0x3aef6: 0x6e06b820, 0x3aef7: 0x6e06ba20,\n\t0x3aef8: 0x6e06bc20, 0x3aef9: 0x6e06be20, 0x3aefa: 0x6e06c020, 0x3aefb: 0x6e06c220,\n\t0x3aefc: 0x6e06c420, 0x3aefd: 0x6e06c620, 0x3aefe: 0x6e06c820, 0x3aeff: 0x6e06ca20,\n\t// Block 0xebc, offset 0x3af00\n\t0x3af00: 0x6e06cc20, 0x3af01: 0x6e06ce20, 0x3af02: 0x6e06d020, 0x3af03: 0x6e171e20,\n\t0x3af04: 0x6e172020, 0x3af05: 0x6e172220, 0x3af06: 0x6e172420, 0x3af07: 0x6e172620,\n\t0x3af08: 0x6e172820, 0x3af09: 0x6e172a20, 0x3af0a: 0x6e172c20, 0x3af0b: 0x6e172e20,\n\t0x3af0c: 0x6e173020, 0x3af0d: 0x6e173220, 0x3af0e: 0x6e173420, 0x3af0f: 0x6e173620,\n\t0x3af10: 0x6e173820, 0x3af11: 0x6e173a20, 0x3af12: 0x6e173c20, 0x3af13: 0x6e242020,\n\t0x3af14: 0x6e242220, 0x3af15: 0x6e242420, 0x3af16: 0x6e242620, 0x3af17: 0x6e242820,\n\t0x3af18: 0x6e242a20, 0x3af19: 0x6e242c20, 0x3af1a: 0x6e242e20, 0x3af1b: 0x6e243020,\n\t0x3af1c: 0x6e243220, 0x3af1d: 0x6e243420, 0x3af1e: 0x6e243620, 0x3af1f: 0x6e243820,\n\t0x3af20: 0x6e243a20, 0x3af21: 0x6e243c20, 0x3af22: 0x6e243e20, 0x3af23: 0x6e244020,\n\t0x3af24: 0x6e244220, 0x3af25: 0x6e2e1220, 0x3af26: 0x6e2e1420, 0x3af27: 0x6e2e1620,\n\t0x3af28: 0x6e2e1820, 0x3af29: 0x6e2e1a20, 0x3af2a: 0x6e2e1c20, 0x3af2b: 0x6e2e1e20,\n\t0x3af2c: 0x6e2e2020, 0x3af2d: 0x6e2e2220, 0x3af2e: 0x6e2e2420, 0x3af2f: 0x6e2e2620,\n\t0x3af30: 0x6e2e2820, 0x3af31: 0x6e2e2a20, 0x3af32: 0x6e35c220, 0x3af33: 0x6e35c420,\n\t0x3af34: 0x6e35c620, 0x3af35: 0x6e35c820, 0x3af36: 0x6e35ca20, 0x3af37: 0x6e35cc20,\n\t0x3af38: 0x6e3b2420, 0x3af39: 0x6e3b2620, 0x3af3a: 0x6e3b2820, 0x3af3b: 0x6e3b9e20,\n\t0x3af3c: 0x6e3b2a20, 0x3af3d: 0x6e3b2c20, 0x3af3e: 0x6e3b2e20, 0x3af3f: 0x6e3ee220,\n\t// Block 0xebd, offset 0x3af40\n\t0x3af40: 0x6e3ee420, 0x3af41: 0x6e3ee620, 0x3af42: 0x6e3ee820, 0x3af43: 0x6e3eea20,\n\t0x3af44: 0x6e3eec20, 0x3af45: 0x6e3eee20, 0x3af46: 0x6e3ef020, 0x3af47: 0x6e417820,\n\t0x3af48: 0x6e436a20, 0x3af49: 0x6e436c20, 0x3af4a: 0x6e436e20, 0x3af4b: 0x6e457020,\n\t0x3af4c: 0x6e464e20, 0x3af4d: 0x6e465020, 0x3af4e: 0x6e469420, 0x3af4f: 0x6e469620,\n\t0x3af50: 0x6e46b620, 0x3af51: 0x6e471a20, 0x3af52: 0x6ce73620, 0x3af53: 0x6d15c820,\n\t0x3af54: 0x6d15ca20, 0x3af55: 0x6d15cc20, 0x3af56: 0x6d15ce20, 0x3af57: 0x6d15d020,\n\t0x3af58: 0x6d43e420, 0x3af59: 0x6d43e620, 0x3af5a: 0x6d43e820, 0x3af5b: 0x6d43ea20,\n\t0x3af5c: 0x6d43ec20, 0x3af5d: 0x6d43ee20, 0x3af5e: 0x6d43f020, 0x3af5f: 0x6d43f220,\n\t0x3af60: 0x6d43f420, 0x3af61: 0x6d43f620, 0x3af62: 0x6d43f820, 0x3af63: 0x6d43fa20,\n\t0x3af64: 0x6d70c820, 0x3af65: 0x6d70ca20, 0x3af66: 0x6d70cc20, 0x3af67: 0x6d70ce20,\n\t0x3af68: 0x6d70d020, 0x3af69: 0x6d70d220, 0x3af6a: 0x6d70d420, 0x3af6b: 0x6d70d620,\n\t0x3af6c: 0x6d70d820, 0x3af6d: 0x6d70da20, 0x3af6e: 0x6d70dc20, 0x3af6f: 0x6d99f020,\n\t0x3af70: 0x6d99f220, 0x3af71: 0x6d99f420, 0x3af72: 0x6d99f620, 0x3af73: 0x6d99f820,\n\t0x3af74: 0x6d99fa20, 0x3af75: 0x6d99fc20, 0x3af76: 0x6d99fe20, 0x3af77: 0x6d9a0020,\n\t0x3af78: 0x6dbccc20, 0x3af79: 0x6dbcce20, 0x3af7a: 0x6dbcd020, 0x3af7b: 0x6dbcd220,\n\t0x3af7c: 0x6dbcd420, 0x3af7d: 0x6dbcd620, 0x3af7e: 0x6dbcd820, 0x3af7f: 0x6dbcda20,\n\t// Block 0xebe, offset 0x3af80\n\t0x3af80: 0x6dbcdc20, 0x3af81: 0x6dbcde20, 0x3af82: 0x6dbce020, 0x3af83: 0x6dbce220,\n\t0x3af84: 0x6dbce420, 0x3af85: 0x6ddab420, 0x3af86: 0x6ddab620, 0x3af87: 0x6ddab820,\n\t0x3af88: 0x6ddaba20, 0x3af89: 0x6ddabc20, 0x3af8a: 0x6ddabe20, 0x3af8b: 0x6ddac020,\n\t0x3af8c: 0x6ddac220, 0x3af8d: 0x6ddac420, 0x3af8e: 0x6ddac620, 0x3af8f: 0x6df2b020,\n\t0x3af90: 0x6df2b220, 0x3af91: 0x6df2b420, 0x3af92: 0x6df2b620, 0x3af93: 0x6df2b820,\n\t0x3af94: 0x6df2ba20, 0x3af95: 0x6df2bc20, 0x3af96: 0x6df2be20, 0x3af97: 0x6df2c020,\n\t0x3af98: 0x6e06d820, 0x3af99: 0x6e06da20, 0x3af9a: 0x6e06dc20, 0x3af9b: 0x6e06de20,\n\t0x3af9c: 0x6e06e020, 0x3af9d: 0x6e06e220, 0x3af9e: 0x6e06e420, 0x3af9f: 0x6e06e620,\n\t0x3afa0: 0x6e174620, 0x3afa1: 0x6e174820, 0x3afa2: 0x6e174a20, 0x3afa3: 0x6e174c20,\n\t0x3afa4: 0x6e174e20, 0x3afa5: 0x6e175020, 0x3afa6: 0x6e175220, 0x3afa7: 0x6e175420,\n\t0x3afa8: 0x6e244a20, 0x3afa9: 0x6e244c20, 0x3afaa: 0x6e244e20, 0x3afab: 0x6e245020,\n\t0x3afac: 0x6e245220, 0x3afad: 0x6e245420, 0x3afae: 0x6e2e2e20, 0x3afaf: 0x6e2e3020,\n\t0x3afb0: 0x6e2e3220, 0x3afb1: 0x6e2e3420, 0x3afb2: 0x6e35d220, 0x3afb3: 0x6e35d420,\n\t0x3afb4: 0x6e3b3020, 0x3afb5: 0x6e3ef220, 0x3afb6: 0x6e417a20, 0x3afb7: 0x6e417c20,\n\t0x3afb8: 0x6e417e20, 0x3afb9: 0x6e437020, 0x3afba: 0x6e44b420, 0x3afbb: 0x6e44b620,\n\t0x3afbc: 0x6c428220, 0x3afbd: 0x6c633820, 0x3afbe: 0x6c633a20, 0x3afbf: 0x6d15d820,\n\t// Block 0xebf, offset 0x3afc0\n\t0x3afc0: 0x6d15da20, 0x3afc1: 0x6d15e220, 0x3afc2: 0x6d15e420, 0x3afc3: 0x6d70e420,\n\t0x3afc4: 0x6d9a0620, 0x3afc5: 0x6dbcec20, 0x3afc6: 0x6dbcee20, 0x3afc7: 0x6dbcf020,\n\t0x3afc8: 0x6ddac820, 0x3afc9: 0x6df2c820, 0x3afca: 0x6df2ca20, 0x3afcb: 0x6e06ec20,\n\t0x3afcc: 0x6e175820, 0x3afcd: 0x6e06ee20, 0x3afce: 0x6e06f020, 0x3afcf: 0x6e175a20,\n\t0x3afd0: 0x6e175c20, 0x3afd1: 0x6e245620, 0x3afd2: 0x6e245820, 0x3afd3: 0x6e245a20,\n\t0x3afd4: 0x6e2e3820, 0x3afd5: 0x6e2e3a20, 0x3afd6: 0x6e3b3220, 0x3afd7: 0x6ce74220,\n\t0x3afd8: 0x6d15ec20, 0x3afd9: 0x6d15ee20, 0x3afda: 0x6d440820, 0x3afdb: 0x6d440a20,\n\t0x3afdc: 0x6d440c20, 0x3afdd: 0x6d440e20, 0x3afde: 0x6d70e620, 0x3afdf: 0x6d70e820,\n\t0x3afe0: 0x6d70ea20, 0x3afe1: 0x6d70ec20, 0x3afe2: 0x6d70ee20, 0x3afe3: 0x6d70f020,\n\t0x3afe4: 0x6d70f220, 0x3afe5: 0x6d70f420, 0x3afe6: 0x6d70f620, 0x3afe7: 0x6d9a0e20,\n\t0x3afe8: 0x6d9a1020, 0x3afe9: 0x6d9a1220, 0x3afea: 0x6d9a1420, 0x3afeb: 0x6d9a1620,\n\t0x3afec: 0x6d9a1820, 0x3afed: 0x6dbcf220, 0x3afee: 0x6dbcf420, 0x3afef: 0x6dbcf620,\n\t0x3aff0: 0x6dbcf820, 0x3aff1: 0x6ddad020, 0x3aff2: 0x6ddad220, 0x3aff3: 0x6ddad420,\n\t0x3aff4: 0x6ddad620, 0x3aff5: 0x6df2d420, 0x3aff6: 0x6df2d620, 0x3aff7: 0x6df2d820,\n\t0x3aff8: 0x6df2da20, 0x3aff9: 0x6e06f820, 0x3affa: 0x6e06fa20, 0x3affb: 0x6e06fc20,\n\t0x3affc: 0x6e06fe20, 0x3affd: 0x6e070020, 0x3affe: 0x6e070220, 0x3afff: 0x6e175e20,\n\t// Block 0xec0, offset 0x3b000\n\t0x3b000: 0x6e176020, 0x3b001: 0x6e176220, 0x3b002: 0x6e245e20, 0x3b003: 0x6e246020,\n\t0x3b004: 0x6e246220, 0x3b005: 0x6e246420, 0x3b006: 0x6e246620, 0x3b007: 0x6e2e3e20,\n\t0x3b008: 0x6e35d820, 0x3b009: 0x6e418020, 0x3b00a: 0x6e469820, 0x3b00b: 0x6c634220,\n\t0x3b00c: 0x6cb6b820, 0x3b00d: 0x6cb6ba20, 0x3b00e: 0x6cb6bc20, 0x3b00f: 0x6cb6be20,\n\t0x3b010: 0x6ce75020, 0x3b011: 0x6ce75220, 0x3b012: 0x6ce75420, 0x3b013: 0x6ce75620,\n\t0x3b014: 0x6ce75820, 0x3b015: 0x6ce75a20, 0x3b016: 0x6ce75c20, 0x3b017: 0x6ce75e20,\n\t0x3b018: 0x6ce76020, 0x3b019: 0x6d160e20, 0x3b01a: 0x6d161020, 0x3b01b: 0x6d161220,\n\t0x3b01c: 0x6d161420, 0x3b01d: 0x6d161620, 0x3b01e: 0x6d161820, 0x3b01f: 0x6d161a20,\n\t0x3b020: 0x6d161c20, 0x3b021: 0x6d161e20, 0x3b022: 0x6d162020, 0x3b023: 0x6d162220,\n\t0x3b024: 0x6d162420, 0x3b025: 0x6d162620, 0x3b026: 0x6d162820, 0x3b027: 0x6d162a20,\n\t0x3b028: 0x6d162c20, 0x3b029: 0x6d162e20, 0x3b02a: 0x6d163020, 0x3b02b: 0x6d163220,\n\t0x3b02c: 0x6d163420, 0x3b02d: 0x6d163620, 0x3b02e: 0x6d163820, 0x3b02f: 0x6d163a20,\n\t0x3b030: 0x6d443220, 0x3b031: 0x6d443420, 0x3b032: 0x6d443620, 0x3b033: 0x6d443820,\n\t0x3b034: 0x6d443a20, 0x3b035: 0x6d443c20, 0x3b036: 0x6d443e20, 0x3b037: 0x6d444020,\n\t0x3b038: 0x6d444220, 0x3b039: 0x6d444420, 0x3b03a: 0x6d444620, 0x3b03b: 0x6d444820,\n\t0x3b03c: 0x6d444a20, 0x3b03d: 0x6d444c20, 0x3b03e: 0x6d444e20, 0x3b03f: 0x6d445020,\n\t// Block 0xec1, offset 0x3b040\n\t0x3b040: 0x6d445220, 0x3b041: 0x6d445420, 0x3b042: 0x6d445620, 0x3b043: 0x6d445820,\n\t0x3b044: 0x6d445a20, 0x3b045: 0x6d445c20, 0x3b046: 0x6d445e20, 0x3b047: 0x6d446020,\n\t0x3b048: 0x6d446220, 0x3b049: 0x6d446420, 0x3b04a: 0x6d446620, 0x3b04b: 0x6d446820,\n\t0x3b04c: 0x6d446a20, 0x3b04d: 0x6d446c20, 0x3b04e: 0x6d446e20, 0x3b04f: 0x6d712020,\n\t0x3b050: 0x6d712220, 0x3b051: 0x6d712420, 0x3b052: 0x6d712620, 0x3b053: 0x6d712820,\n\t0x3b054: 0x6d712a20, 0x3b055: 0x6d712c20, 0x3b056: 0x6d712e20, 0x3b057: 0x6d713020,\n\t0x3b058: 0x6d713220, 0x3b059: 0x6d713420, 0x3b05a: 0x6d713620, 0x3b05b: 0x6d713820,\n\t0x3b05c: 0x6d713a20, 0x3b05d: 0x6d713c20, 0x3b05e: 0x6d713e20, 0x3b05f: 0x6d714020,\n\t0x3b060: 0x6d714220, 0x3b061: 0x6d714420, 0x3b062: 0x6d714620, 0x3b063: 0x6d714820,\n\t0x3b064: 0x6d714a20, 0x3b065: 0x6d714c20, 0x3b066: 0x6d714e20, 0x3b067: 0x6d715020,\n\t0x3b068: 0x6d715220, 0x3b069: 0x6d715420, 0x3b06a: 0x6d715620, 0x3b06b: 0x6d715820,\n\t0x3b06c: 0x6d715a20, 0x3b06d: 0x6d715c20, 0x3b06e: 0x6d9a5020, 0x3b06f: 0x6d9a5220,\n\t0x3b070: 0x6d9a5420, 0x3b071: 0x6d9a5620, 0x3b072: 0x6d9a5820, 0x3b073: 0x6d9a5a20,\n\t0x3b074: 0x6d9a5c20, 0x3b075: 0x6d9a5e20, 0x3b076: 0x6d9a6020, 0x3b077: 0x6d9a6220,\n\t0x3b078: 0x6d9a6420, 0x3b079: 0x6d9a6620, 0x3b07a: 0x6d9a6820, 0x3b07b: 0x6d9a6a20,\n\t0x3b07c: 0x6d9a6c20, 0x3b07d: 0x6d9a6e20, 0x3b07e: 0x6d9a7020, 0x3b07f: 0x6d9a7220,\n\t// Block 0xec2, offset 0x3b080\n\t0x3b080: 0x6d9a7420, 0x3b081: 0x6d9a7620, 0x3b082: 0x6d9a7820, 0x3b083: 0x6d9a7a20,\n\t0x3b084: 0x6d9a7c20, 0x3b085: 0x6d9a7e20, 0x3b086: 0x6d9a8020, 0x3b087: 0x6d9a8220,\n\t0x3b088: 0x6d9a8420, 0x3b089: 0x6d9a8620, 0x3b08a: 0x6d9a8820, 0x3b08b: 0x6d9a8a20,\n\t0x3b08c: 0x6d9a8c20, 0x3b08d: 0x6d9a8e20, 0x3b08e: 0x6d9a9020, 0x3b08f: 0x6d9a9220,\n\t0x3b090: 0x6d9a9420, 0x3b091: 0x6d9a9620, 0x3b092: 0x6d9a9820, 0x3b093: 0x6d9a9a20,\n\t0x3b094: 0x6d9a9c20, 0x3b095: 0x6d9a9e20, 0x3b096: 0x6d9aa020, 0x3b097: 0x6d9aa220,\n\t0x3b098: 0x6d9aa420, 0x3b099: 0x6d9aa620, 0x3b09a: 0x6d9aa820, 0x3b09b: 0x6d9aaa20,\n\t0x3b09c: 0x6d9aac20, 0x3b09d: 0x6dbd2220, 0x3b09e: 0x6dbd2420, 0x3b09f: 0x6dbd2620,\n\t0x3b0a0: 0x6dbd2820, 0x3b0a1: 0x6dbd2a20, 0x3b0a2: 0x6dbd2c20, 0x3b0a3: 0x6dbd2e20,\n\t0x3b0a4: 0x6dbd3020, 0x3b0a5: 0x6dbd3220, 0x3b0a6: 0x6dbd3420, 0x3b0a7: 0x6dbd3620,\n\t0x3b0a8: 0x6dbd3820, 0x3b0a9: 0x6dbd3a20, 0x3b0aa: 0x6dbd3c20, 0x3b0ab: 0x6dbd3e20,\n\t0x3b0ac: 0x6dbd4020, 0x3b0ad: 0x6dbd4220, 0x3b0ae: 0x6dbd4420, 0x3b0af: 0x6dbd4620,\n\t0x3b0b0: 0x6dbd4820, 0x3b0b1: 0x6dbd4a20, 0x3b0b2: 0x6dbd4c20, 0x3b0b3: 0x6dbd4e20,\n\t0x3b0b4: 0x6dbd5020, 0x3b0b5: 0x6dbd5220, 0x3b0b6: 0x6dbd5420, 0x3b0b7: 0x6dbd5620,\n\t0x3b0b8: 0x6dbd5820, 0x3b0b9: 0x6dbd5a20, 0x3b0ba: 0x6dbd5c20, 0x3b0bb: 0x6dbd5e20,\n\t0x3b0bc: 0x6dbd6020, 0x3b0bd: 0x6dbd6220, 0x3b0be: 0x6dbd6420, 0x3b0bf: 0x6dbd6620,\n\t// Block 0xec3, offset 0x3b0c0\n\t0x3b0c0: 0x6ddb0820, 0x3b0c1: 0x6ddb0a20, 0x3b0c2: 0x6ddb0c20, 0x3b0c3: 0x6ddb0e20,\n\t0x3b0c4: 0x6ddb1020, 0x3b0c5: 0x6ddb1220, 0x3b0c6: 0x6ddb1420, 0x3b0c7: 0x6ddb1620,\n\t0x3b0c8: 0x6ddb1820, 0x3b0c9: 0x6ddb1a20, 0x3b0ca: 0x6ddb1c20, 0x3b0cb: 0x6ddb1e20,\n\t0x3b0cc: 0x6ddb2020, 0x3b0cd: 0x6ddb2220, 0x3b0ce: 0x6ddb2420, 0x3b0cf: 0x6ddb2620,\n\t0x3b0d0: 0x6ddb2820, 0x3b0d1: 0x6ddb2a20, 0x3b0d2: 0x6ddb2c20, 0x3b0d3: 0x6ddb2e20,\n\t0x3b0d4: 0x6ddb3020, 0x3b0d5: 0x6ddb3220, 0x3b0d6: 0x6ddb3420, 0x3b0d7: 0x6ddb3620,\n\t0x3b0d8: 0x6ddb3820, 0x3b0d9: 0x6df30220, 0x3b0da: 0x6df30420, 0x3b0db: 0x6df30620,\n\t0x3b0dc: 0x6df30820, 0x3b0dd: 0x6df30a20, 0x3b0de: 0x6df30c20, 0x3b0df: 0x6df30e20,\n\t0x3b0e0: 0x6df31020, 0x3b0e1: 0x6df31220, 0x3b0e2: 0x6df31420, 0x3b0e3: 0x6df31620,\n\t0x3b0e4: 0x6df31820, 0x3b0e5: 0x6df31a20, 0x3b0e6: 0x6df31c20, 0x3b0e7: 0x6df31e20,\n\t0x3b0e8: 0x6df32020, 0x3b0e9: 0x6df32220, 0x3b0ea: 0x6df32420, 0x3b0eb: 0x6df32620,\n\t0x3b0ec: 0x6df32820, 0x3b0ed: 0x6df32a20, 0x3b0ee: 0x6df32c20, 0x3b0ef: 0x6df32e20,\n\t0x3b0f0: 0x6df33020, 0x3b0f1: 0x6df33220, 0x3b0f2: 0x6df33420, 0x3b0f3: 0x6e071820,\n\t0x3b0f4: 0x6e071a20, 0x3b0f5: 0x6e071c20, 0x3b0f6: 0x6e071e20, 0x3b0f7: 0x6e072020,\n\t0x3b0f8: 0x6e072220, 0x3b0f9: 0x6e072420, 0x3b0fa: 0x6e072620, 0x3b0fb: 0x6e072820,\n\t0x3b0fc: 0x6e072a20, 0x3b0fd: 0x6e072c20, 0x3b0fe: 0x6e072e20, 0x3b0ff: 0x6e073020,\n\t// Block 0xec4, offset 0x3b100\n\t0x3b100: 0x6e073220, 0x3b101: 0x6e073420, 0x3b102: 0x6e073620, 0x3b103: 0x6e073820,\n\t0x3b104: 0x6e073a20, 0x3b105: 0x6e073c20, 0x3b106: 0x6e073e20, 0x3b107: 0x6e074020,\n\t0x3b108: 0x6e074220, 0x3b109: 0x6e177c20, 0x3b10a: 0x6e177e20, 0x3b10b: 0x6e178020,\n\t0x3b10c: 0x6e178220, 0x3b10d: 0x6e178420, 0x3b10e: 0x6e178620, 0x3b10f: 0x6e178820,\n\t0x3b110: 0x6e178a20, 0x3b111: 0x6e178c20, 0x3b112: 0x6e178e20, 0x3b113: 0x6e179020,\n\t0x3b114: 0x6e179220, 0x3b115: 0x6e179420, 0x3b116: 0x6e179620, 0x3b117: 0x6e179820,\n\t0x3b118: 0x6e179a20, 0x3b119: 0x6e179c20, 0x3b11a: 0x6e179e20, 0x3b11b: 0x6e17a020,\n\t0x3b11c: 0x6e17a220, 0x3b11d: 0x6e17a420, 0x3b11e: 0x6e17a620, 0x3b11f: 0x6e247420,\n\t0x3b120: 0x6e247620, 0x3b121: 0x6e247820, 0x3b122: 0x6e247a20, 0x3b123: 0x6e247c20,\n\t0x3b124: 0x6e247e20, 0x3b125: 0x6e248020, 0x3b126: 0x6e248220, 0x3b127: 0x6e248420,\n\t0x3b128: 0x6e248620, 0x3b129: 0x6e248820, 0x3b12a: 0x6e248a20, 0x3b12b: 0x6e248c20,\n\t0x3b12c: 0x6e2e4820, 0x3b12d: 0x6e2e4a20, 0x3b12e: 0x6e2e4c20, 0x3b12f: 0x6e2e4e20,\n\t0x3b130: 0x6e2e5020, 0x3b131: 0x6e2e5220, 0x3b132: 0x6e2e5420, 0x3b133: 0x6e2e5620,\n\t0x3b134: 0x6e2e5820, 0x3b135: 0x6e2e5a20, 0x3b136: 0x6e2e5c20, 0x3b137: 0x6e2e5e20,\n\t0x3b138: 0x6e2e6020, 0x3b139: 0x6e2e6220, 0x3b13a: 0x6e2e6420, 0x3b13b: 0x6e2e6620,\n\t0x3b13c: 0x6e2e6820, 0x3b13d: 0x6e2e6a20, 0x3b13e: 0x6e35e020, 0x3b13f: 0x6e35e220,\n\t// Block 0xec5, offset 0x3b140\n\t0x3b140: 0x6e35e420, 0x3b141: 0x6e35e620, 0x3b142: 0x6e35e820, 0x3b143: 0x6e35ea20,\n\t0x3b144: 0x6e35ec20, 0x3b145: 0x6e35ee20, 0x3b146: 0x6e3b3c20, 0x3b147: 0x6e3b3e20,\n\t0x3b148: 0x6e3b4020, 0x3b149: 0x6e3ef420, 0x3b14a: 0x6e3ef620, 0x3b14b: 0x6e3ef820,\n\t0x3b14c: 0x6e3efa20, 0x3b14d: 0x6e3efc20, 0x3b14e: 0x6e3efe20, 0x3b14f: 0x6e418620,\n\t0x3b150: 0x6e418820, 0x3b151: 0x6e418a20, 0x3b152: 0x6e44b820, 0x3b153: 0x6e44ba20,\n\t0x3b154: 0x6e460020, 0x3b155: 0x6d447420, 0x3b156: 0x6d447620, 0x3b157: 0x6df33a20,\n\t0x3b158: 0x6cb6ce20, 0x3b159: 0x6cb6d020, 0x3b15a: 0x6ce77e20, 0x3b15b: 0x6ce78020,\n\t0x3b15c: 0x6ce78220, 0x3b15d: 0x6ce78420, 0x3b15e: 0x6ce78620, 0x3b15f: 0x6ce78820,\n\t0x3b160: 0x6ce78a20, 0x3b161: 0x6ce78c20, 0x3b162: 0x6d165c20, 0x3b163: 0x6d165e20,\n\t0x3b164: 0x6d166020, 0x3b165: 0x6d166220, 0x3b166: 0x6d166420, 0x3b167: 0x6d166620,\n\t0x3b168: 0x6d166820, 0x3b169: 0x6d166a20, 0x3b16a: 0x6d166c20, 0x3b16b: 0x6d166e20,\n\t0x3b16c: 0x6d167020, 0x3b16d: 0x6d167220, 0x3b16e: 0x6d167420, 0x3b16f: 0x6d167620,\n\t0x3b170: 0x6cf59620, 0x3b171: 0x6d167820, 0x3b172: 0x6d167a20, 0x3b173: 0x6d167c20,\n\t0x3b174: 0x6d449420, 0x3b175: 0x6d449620, 0x3b176: 0x6d449820, 0x3b177: 0x6d449a20,\n\t0x3b178: 0x6d449c20, 0x3b179: 0x6d449e20, 0x3b17a: 0x6d44a020, 0x3b17b: 0x6d44a220,\n\t0x3b17c: 0x6d44a420, 0x3b17d: 0x6d44a620, 0x3b17e: 0x6d44a820, 0x3b17f: 0x6d44aa20,\n\t// Block 0xec6, offset 0x3b180\n\t0x3b180: 0x6d44ac20, 0x3b181: 0x6d44ae20, 0x3b182: 0x6d44b020, 0x3b183: 0x6d44b220,\n\t0x3b184: 0x6d717620, 0x3b185: 0x6d717820, 0x3b186: 0x6d717a20, 0x3b187: 0x6d717c20,\n\t0x3b188: 0x6d717e20, 0x3b189: 0x6d718020, 0x3b18a: 0x6d718220, 0x3b18b: 0x6d718420,\n\t0x3b18c: 0x6d718620, 0x3b18d: 0x6d718820, 0x3b18e: 0x6d718a20, 0x3b18f: 0x6d718c20,\n\t0x3b190: 0x6d718e20, 0x3b191: 0x6d719020, 0x3b192: 0x6d719220, 0x3b193: 0x6d9aca20,\n\t0x3b194: 0x6d9acc20, 0x3b195: 0x6d9ace20, 0x3b196: 0x6d9ad020, 0x3b197: 0x6d9ad220,\n\t0x3b198: 0x6d9ad420, 0x3b199: 0x6d9ad620, 0x3b19a: 0x6d9ad820, 0x3b19b: 0x6d9ada20,\n\t0x3b19c: 0x6d9adc20, 0x3b19d: 0x6d9ade20, 0x3b19e: 0x6d9ae020, 0x3b19f: 0x6d9ae220,\n\t0x3b1a0: 0x6d9ae420, 0x3b1a1: 0x6d9ae620, 0x3b1a2: 0x6d9ae820, 0x3b1a3: 0x6d9aea20,\n\t0x3b1a4: 0x6d9aec20, 0x3b1a5: 0x6d9aee20, 0x3b1a6: 0x6d9af020, 0x3b1a7: 0x6d9af220,\n\t0x3b1a8: 0x6dbd7c20, 0x3b1a9: 0x6dbd7e20, 0x3b1aa: 0x6dbd8020, 0x3b1ab: 0x6dbd8220,\n\t0x3b1ac: 0x6dbd8420, 0x3b1ad: 0x6dbd8620, 0x3b1ae: 0x6dbd8820, 0x3b1af: 0x6dbd8a20,\n\t0x3b1b0: 0x6dbd8c20, 0x3b1b1: 0x6dbd8e20, 0x3b1b2: 0x6dbd9020, 0x3b1b3: 0x6dbd9220,\n\t0x3b1b4: 0x6dbd9420, 0x3b1b5: 0x6dbd9620, 0x3b1b6: 0x6dbd9820, 0x3b1b7: 0x6dbd9a20,\n\t0x3b1b8: 0x6dbd9c20, 0x3b1b9: 0x6dbd9e20, 0x3b1ba: 0x6dbda020, 0x3b1bb: 0x6dbda220,\n\t0x3b1bc: 0x6dbda420, 0x3b1bd: 0x6dbda620, 0x3b1be: 0x6dbda820, 0x3b1bf: 0x6dbdaa20,\n\t// Block 0xec7, offset 0x3b1c0\n\t0x3b1c0: 0x6dbdac20, 0x3b1c1: 0x6dbdae20, 0x3b1c2: 0x6dbdb020, 0x3b1c3: 0x6dbdb220,\n\t0x3b1c4: 0x6dbdb420, 0x3b1c5: 0x6ddb5620, 0x3b1c6: 0x6ddb5820, 0x3b1c7: 0x6ddb5a20,\n\t0x3b1c8: 0x6ddb5c20, 0x3b1c9: 0x6ddb5e20, 0x3b1ca: 0x6ddb6020, 0x3b1cb: 0x6ddb6220,\n\t0x3b1cc: 0x6ddb6420, 0x3b1cd: 0x6ddb6620, 0x3b1ce: 0x6df34e20, 0x3b1cf: 0x6ddb6820,\n\t0x3b1d0: 0x6ddb6a20, 0x3b1d1: 0x6ddb6c20, 0x3b1d2: 0x6ddb6e20, 0x3b1d3: 0x6ddb7020,\n\t0x3b1d4: 0x6ddb7220, 0x3b1d5: 0x6ddb7420, 0x3b1d6: 0x6ddb7620, 0x3b1d7: 0x6ddb7820,\n\t0x3b1d8: 0x6ddb7a20, 0x3b1d9: 0x6ddb7c20, 0x3b1da: 0x6ddb7e20, 0x3b1db: 0x6ddb8020,\n\t0x3b1dc: 0x6df35020, 0x3b1dd: 0x6df35220, 0x3b1de: 0x6df35420, 0x3b1df: 0x6df35620,\n\t0x3b1e0: 0x6df35820, 0x3b1e1: 0x6df35a20, 0x3b1e2: 0x6df35c20, 0x3b1e3: 0x6df35e20,\n\t0x3b1e4: 0x6df36020, 0x3b1e5: 0x6df36220, 0x3b1e6: 0x6df36420, 0x3b1e7: 0x6df36620,\n\t0x3b1e8: 0x6df36820, 0x3b1e9: 0x6df36a20, 0x3b1ea: 0x6df36c20, 0x3b1eb: 0x6df36e20,\n\t0x3b1ec: 0x6df37020, 0x3b1ed: 0x6e075620, 0x3b1ee: 0x6e075820, 0x3b1ef: 0x6e075a20,\n\t0x3b1f0: 0x6e075c20, 0x3b1f1: 0x6e075e20, 0x3b1f2: 0x6e076020, 0x3b1f3: 0x6e076220,\n\t0x3b1f4: 0x6e076420, 0x3b1f5: 0x6e076620, 0x3b1f6: 0x6e076820, 0x3b1f7: 0x6e076a20,\n\t0x3b1f8: 0x6e17bc20, 0x3b1f9: 0x6e17be20, 0x3b1fa: 0x6e17c020, 0x3b1fb: 0x6e17c220,\n\t0x3b1fc: 0x6e17c420, 0x3b1fd: 0x6e17c620, 0x3b1fe: 0x6e17c820, 0x3b1ff: 0x6e17ca20,\n\t// Block 0xec8, offset 0x3b200\n\t0x3b200: 0x6e17cc20, 0x3b201: 0x6e17ce20, 0x3b202: 0x6e17d020, 0x3b203: 0x6e17d220,\n\t0x3b204: 0x6e17d420, 0x3b205: 0x6e17d620, 0x3b206: 0x6e17d820, 0x3b207: 0x6e17da20,\n\t0x3b208: 0x6e249220, 0x3b209: 0x6e249420, 0x3b20a: 0x6e249620, 0x3b20b: 0x6e249820,\n\t0x3b20c: 0x6e249a20, 0x3b20d: 0x6e249c20, 0x3b20e: 0x6e2e7020, 0x3b20f: 0x6e2e7220,\n\t0x3b210: 0x6e2e7420, 0x3b211: 0x6e35f420, 0x3b212: 0x6e35f620, 0x3b213: 0x6e35f820,\n\t0x3b214: 0x6e35fa20, 0x3b215: 0x6e35fc20, 0x3b216: 0x6e3b4220, 0x3b217: 0x6e3b4420,\n\t0x3b218: 0x6e3b4620, 0x3b219: 0x6e3b4820, 0x3b21a: 0x6e3b4a20, 0x3b21b: 0x6e3f0020,\n\t0x3b21c: 0x6e3f0220, 0x3b21d: 0x6e419020, 0x3b21e: 0x6e419220, 0x3b21f: 0x6e437220,\n\t0x3b220: 0x6e46d220, 0x3b221: 0x6e46f220, 0x3b222: 0x6e470c20, 0x3b223: 0x6e473420,\n\t0x3b224: 0x6e473a20, 0x3b225: 0x6c635620, 0x3b226: 0x6c635820, 0x3b227: 0x6cb6d220,\n\t0x3b228: 0x6ce79020, 0x3b229: 0x6ce79220, 0x3b22a: 0x6ce79420, 0x3b22b: 0x6d168220,\n\t0x3b22c: 0x6d168420, 0x3b22d: 0x6d44bc20, 0x3b22e: 0x6d44be20, 0x3b22f: 0x6d9af820,\n\t0x3b230: 0x6dbdb820, 0x3b231: 0x6c635e20, 0x3b232: 0x6d168820, 0x3b233: 0x6d44c020,\n\t0x3b234: 0x6d719620, 0x3b235: 0x6ddb8820, 0x3b236: 0x6df37820, 0x3b237: 0x6df37a20,\n\t0x3b238: 0x6df37c20, 0x3b239: 0x6e076c20, 0x3b23a: 0x6e17de20, 0x3b23b: 0x6e17e020,\n\t0x3b23c: 0x6e24a220, 0x3b23d: 0x6e24a420, 0x3b23e: 0x6e45ea20, 0x3b23f: 0x6c429020,\n\t// Block 0xec9, offset 0x3b240\n\t0x3b240: 0x6c429220, 0x3b241: 0x6c429420, 0x3b242: 0x6c636620, 0x3b243: 0x6c429620,\n\t0x3b244: 0x6c8a6e20, 0x3b245: 0x6c8a7020, 0x3b246: 0x6c8a7220, 0x3b247: 0x6cb6de20,\n\t0x3b248: 0x6cb6e020, 0x3b249: 0x6cb6e220, 0x3b24a: 0x6cb6e420, 0x3b24b: 0x6cb6e620,\n\t0x3b24c: 0x6cb6e820, 0x3b24d: 0x6cb6ea20, 0x3b24e: 0x6cb6ec20, 0x3b24f: 0x6cb6ee20,\n\t0x3b250: 0x6cb6f020, 0x3b251: 0x6cb6f220, 0x3b252: 0x6cb6f420, 0x3b253: 0x6cb6f620,\n\t0x3b254: 0x6cb6f820, 0x3b255: 0x6ce7b020, 0x3b256: 0x6ce7b220, 0x3b257: 0x6ce7b420,\n\t0x3b258: 0x6ce7b620, 0x3b259: 0x6ce7b820, 0x3b25a: 0x6ce7ba20, 0x3b25b: 0x6ce7bc20,\n\t0x3b25c: 0x6ce7be20, 0x3b25d: 0x6ce7c020, 0x3b25e: 0x6ce7c220, 0x3b25f: 0x6ce7c420,\n\t0x3b260: 0x6ce7c620, 0x3b261: 0x6ce7c820, 0x3b262: 0x6ce7ca20, 0x3b263: 0x6ce7cc20,\n\t0x3b264: 0x6ce7ce20, 0x3b265: 0x6ce7d020, 0x3b266: 0x6ce7d220, 0x3b267: 0x6ce7d420,\n\t0x3b268: 0x6d16b020, 0x3b269: 0x6d16b220, 0x3b26a: 0x6d16b420, 0x3b26b: 0x6d16b620,\n\t0x3b26c: 0x6d16b820, 0x3b26d: 0x6d16ba20, 0x3b26e: 0x6d16bc20, 0x3b26f: 0x6d16be20,\n\t0x3b270: 0x6d16c020, 0x3b271: 0x6d16c220, 0x3b272: 0x6d16c420, 0x3b273: 0x6d16c620,\n\t0x3b274: 0x6d16c820, 0x3b275: 0x6d16ca20, 0x3b276: 0x6d16cc20, 0x3b277: 0x6d16ce20,\n\t0x3b278: 0x6d16d020, 0x3b279: 0x6d16d220, 0x3b27a: 0x6d16d420, 0x3b27b: 0x6d16d620,\n\t0x3b27c: 0x6d16d820, 0x3b27d: 0x6d16da20, 0x3b27e: 0x6d16dc20, 0x3b27f: 0x6d16de20,\n\t// Block 0xeca, offset 0x3b280\n\t0x3b280: 0x6d16e020, 0x3b281: 0x6d16e220, 0x3b282: 0x6d16e420, 0x3b283: 0x6d16e620,\n\t0x3b284: 0x6d16e820, 0x3b285: 0x6d16ea20, 0x3b286: 0x6d16ec20, 0x3b287: 0x6d16ee20,\n\t0x3b288: 0x6d16f020, 0x3b289: 0x6d44f020, 0x3b28a: 0x6d44f220, 0x3b28b: 0x6d44f420,\n\t0x3b28c: 0x6d44f620, 0x3b28d: 0x6d44f820, 0x3b28e: 0x6d44fa20, 0x3b28f: 0x6d44fc20,\n\t0x3b290: 0x6d44fe20, 0x3b291: 0x6d450020, 0x3b292: 0x6d450220, 0x3b293: 0x6d450420,\n\t0x3b294: 0x6d450620, 0x3b295: 0x6d450820, 0x3b296: 0x6d450a20, 0x3b297: 0x6d450c20,\n\t0x3b298: 0x6d450e20, 0x3b299: 0x6d451020, 0x3b29a: 0x6d451220, 0x3b29b: 0x6d451420,\n\t0x3b29c: 0x6d451620, 0x3b29d: 0x6d71c220, 0x3b29e: 0x6d71c420, 0x3b29f: 0x6d71c620,\n\t0x3b2a0: 0x6d71c820, 0x3b2a1: 0x6d71ca20, 0x3b2a2: 0x6d71cc20, 0x3b2a3: 0x6d71ce20,\n\t0x3b2a4: 0x6d71d020, 0x3b2a5: 0x6d71d220, 0x3b2a6: 0x6d71d420, 0x3b2a7: 0x6d71d620,\n\t0x3b2a8: 0x6d71d820, 0x3b2a9: 0x6d71da20, 0x3b2aa: 0x6d71dc20, 0x3b2ab: 0x6d71de20,\n\t0x3b2ac: 0x6d71e020, 0x3b2ad: 0x6d71e220, 0x3b2ae: 0x6d71e420, 0x3b2af: 0x6d71e620,\n\t0x3b2b0: 0x6d71e820, 0x3b2b1: 0x6d71ea20, 0x3b2b2: 0x6d71ec20, 0x3b2b3: 0x6d71ee20,\n\t0x3b2b4: 0x6d71f020, 0x3b2b5: 0x6d71f220, 0x3b2b6: 0x6d71f420, 0x3b2b7: 0x6d71f620,\n\t0x3b2b8: 0x6d71f820, 0x3b2b9: 0x6d71fa20, 0x3b2ba: 0x6d9b2820, 0x3b2bb: 0x6d9b2a20,\n\t0x3b2bc: 0x6d9b2c20, 0x3b2bd: 0x6d9b2e20, 0x3b2be: 0x6d9b3020, 0x3b2bf: 0x6d9b3220,\n\t// Block 0xecb, offset 0x3b2c0\n\t0x3b2c0: 0x6d9b3420, 0x3b2c1: 0x6d9b3620, 0x3b2c2: 0x6d9b3820, 0x3b2c3: 0x6d9b3a20,\n\t0x3b2c4: 0x6d9b3c20, 0x3b2c5: 0x6d9b3e20, 0x3b2c6: 0x6d9b4020, 0x3b2c7: 0x6d9b4220,\n\t0x3b2c8: 0x6d9b4420, 0x3b2c9: 0x6d9b4620, 0x3b2ca: 0x6d9b4820, 0x3b2cb: 0x6d9b4a20,\n\t0x3b2cc: 0x6d9b4c20, 0x3b2cd: 0x6d9b4e20, 0x3b2ce: 0x6d9b5020, 0x3b2cf: 0x6d9b5220,\n\t0x3b2d0: 0x6d9b5420, 0x3b2d1: 0x6d9b5620, 0x3b2d2: 0x6d9b5820, 0x3b2d3: 0x6d9b5a20,\n\t0x3b2d4: 0x6d9b5c20, 0x3b2d5: 0x6d9b5e20, 0x3b2d6: 0x6d9b6020, 0x3b2d7: 0x6d9b6220,\n\t0x3b2d8: 0x6d9b6420, 0x3b2d9: 0x6d9b6620, 0x3b2da: 0x6d9b6820, 0x3b2db: 0x6d9b6a20,\n\t0x3b2dc: 0x6d9b6c20, 0x3b2dd: 0x6d9b6e20, 0x3b2de: 0x6d9b7020, 0x3b2df: 0x6d9b7220,\n\t0x3b2e0: 0x6d9b7420, 0x3b2e1: 0x6d9b7620, 0x3b2e2: 0x6d9b7820, 0x3b2e3: 0x6dbde220,\n\t0x3b2e4: 0x6d9b7a20, 0x3b2e5: 0x6d9b7c20, 0x3b2e6: 0x6d9b7e20, 0x3b2e7: 0x6d9b8020,\n\t0x3b2e8: 0x6d9b8220, 0x3b2e9: 0x6d9b8420, 0x3b2ea: 0x6d9b8620, 0x3b2eb: 0x6d9b8820,\n\t0x3b2ec: 0x6d9b8a20, 0x3b2ed: 0x6dbde420, 0x3b2ee: 0x6dbde620, 0x3b2ef: 0x6dbde820,\n\t0x3b2f0: 0x6dbdea20, 0x3b2f1: 0x6dbdec20, 0x3b2f2: 0x6dbdee20, 0x3b2f3: 0x6dbdf020,\n\t0x3b2f4: 0x6dbdf220, 0x3b2f5: 0x6dbdf420, 0x3b2f6: 0x6dbdf620, 0x3b2f7: 0x6dbdf820,\n\t0x3b2f8: 0x6dbdfa20, 0x3b2f9: 0x6dbdfc20, 0x3b2fa: 0x6dbdfe20, 0x3b2fb: 0x6dbe0020,\n\t0x3b2fc: 0x6dbe0220, 0x3b2fd: 0x6dbe0420, 0x3b2fe: 0x6dbe0620, 0x3b2ff: 0x6dbe0820,\n\t// Block 0xecc, offset 0x3b300\n\t0x3b300: 0x6dbe0a20, 0x3b301: 0x6dbe0c20, 0x3b302: 0x6dbe0e20, 0x3b303: 0x6dbe1020,\n\t0x3b304: 0x6dbe1220, 0x3b305: 0x6dbe1420, 0x3b306: 0x6dbe1620, 0x3b307: 0x6dbe1820,\n\t0x3b308: 0x6dbe1a20, 0x3b309: 0x6dbe1c20, 0x3b30a: 0x6dbe1e20, 0x3b30b: 0x6dbe2020,\n\t0x3b30c: 0x6dbe2220, 0x3b30d: 0x6dbe2420, 0x3b30e: 0x6dbe2620, 0x3b30f: 0x6dbe2820,\n\t0x3b310: 0x6dbe2a20, 0x3b311: 0x6dbe2c20, 0x3b312: 0x6dbe2e20, 0x3b313: 0x6dbe3020,\n\t0x3b314: 0x6dbe3220, 0x3b315: 0x6dbe3420, 0x3b316: 0x6dbe3620, 0x3b317: 0x6dbe3820,\n\t0x3b318: 0x6dbe3a20, 0x3b319: 0x6ddbb220, 0x3b31a: 0x6ddbb420, 0x3b31b: 0x6ddbb620,\n\t0x3b31c: 0x6ddbb820, 0x3b31d: 0x6ddbba20, 0x3b31e: 0x6ddbbc20, 0x3b31f: 0x6ddbbe20,\n\t0x3b320: 0x6ddbc020, 0x3b321: 0x6ddbc220, 0x3b322: 0x6ddbc420, 0x3b323: 0x6ddbc620,\n\t0x3b324: 0x6ddbc820, 0x3b325: 0x6ddbca20, 0x3b326: 0x6ddbcc20, 0x3b327: 0x6ddbce20,\n\t0x3b328: 0x6ddbd020, 0x3b329: 0x6ddbd220, 0x3b32a: 0x6ddbd420, 0x3b32b: 0x6ddbd620,\n\t0x3b32c: 0x6ddbd820, 0x3b32d: 0x6ddbda20, 0x3b32e: 0x6ddbdc20, 0x3b32f: 0x6ddbde20,\n\t0x3b330: 0x6ddbe020, 0x3b331: 0x6ddbe220, 0x3b332: 0x6ddbe420, 0x3b333: 0x6ddbe620,\n\t0x3b334: 0x6df39620, 0x3b335: 0x6ddbe820, 0x3b336: 0x6ddbea20, 0x3b337: 0x6ddbec20,\n\t0x3b338: 0x6ddbee20, 0x3b339: 0x6ddbf020, 0x3b33a: 0x6ddbf220, 0x3b33b: 0x6ddbf420,\n\t0x3b33c: 0x6ddbf620, 0x3b33d: 0x6df39820, 0x3b33e: 0x6df39a20, 0x3b33f: 0x6df39c20,\n\t// Block 0xecd, offset 0x3b340\n\t0x3b340: 0x6df39e20, 0x3b341: 0x6df3a020, 0x3b342: 0x6df3a220, 0x3b343: 0x6df3a420,\n\t0x3b344: 0x6df3a620, 0x3b345: 0x6df3a820, 0x3b346: 0x6df3aa20, 0x3b347: 0x6df3ac20,\n\t0x3b348: 0x6df3ae20, 0x3b349: 0x6df3b020, 0x3b34a: 0x6df3b220, 0x3b34b: 0x6df3b420,\n\t0x3b34c: 0x6df3b620, 0x3b34d: 0x6df3b820, 0x3b34e: 0x6df3ba20, 0x3b34f: 0x6df3bc20,\n\t0x3b350: 0x6df3be20, 0x3b351: 0x6df3c020, 0x3b352: 0x6df3c220, 0x3b353: 0x6df3c420,\n\t0x3b354: 0x6df3c620, 0x3b355: 0x6df3c820, 0x3b356: 0x6df3ca20, 0x3b357: 0x6df3cc20,\n\t0x3b358: 0x6df3ce20, 0x3b359: 0x6df3d020, 0x3b35a: 0x6df3d220, 0x3b35b: 0x6df3d420,\n\t0x3b35c: 0x6df3d620, 0x3b35d: 0x6df3d820, 0x3b35e: 0x6df3da20, 0x3b35f: 0x6df3dc20,\n\t0x3b360: 0x6df3de20, 0x3b361: 0x6e078820, 0x3b362: 0x6e078a20, 0x3b363: 0x6e078c20,\n\t0x3b364: 0x6e078e20, 0x3b365: 0x6e079020, 0x3b366: 0x6e079220, 0x3b367: 0x6e079420,\n\t0x3b368: 0x6e079620, 0x3b369: 0x6e079820, 0x3b36a: 0x6e079a20, 0x3b36b: 0x6e079c20,\n\t0x3b36c: 0x6e079e20, 0x3b36d: 0x6e07a020, 0x3b36e: 0x6e07a220, 0x3b36f: 0x6e07a420,\n\t0x3b370: 0x6e07a620, 0x3b371: 0x6e07a820, 0x3b372: 0x6e07aa20, 0x3b373: 0x6e07ac20,\n\t0x3b374: 0x6e07ae20, 0x3b375: 0x6e07b020, 0x3b376: 0x6e17f420, 0x3b377: 0x6e07b220,\n\t0x3b378: 0x6e07b420, 0x3b379: 0x6e07b620, 0x3b37a: 0x6e07b820, 0x3b37b: 0x6e07ba20,\n\t0x3b37c: 0x6e07bc20, 0x3b37d: 0x6e07be20, 0x3b37e: 0x6e17f620, 0x3b37f: 0x6e17f820,\n\t// Block 0xece, offset 0x3b380\n\t0x3b380: 0x6e17fa20, 0x3b381: 0x6e17fc20, 0x3b382: 0x6e17fe20, 0x3b383: 0x6e180020,\n\t0x3b384: 0x6e180220, 0x3b385: 0x6e180420, 0x3b386: 0x6e180620, 0x3b387: 0x6e180820,\n\t0x3b388: 0x6e180a20, 0x3b389: 0x6e180c20, 0x3b38a: 0x6e180e20, 0x3b38b: 0x6e181020,\n\t0x3b38c: 0x6e181220, 0x3b38d: 0x6e181420, 0x3b38e: 0x6e181620, 0x3b38f: 0x6e181820,\n\t0x3b390: 0x6e181a20, 0x3b391: 0x6e181c20, 0x3b392: 0x6e181e20, 0x3b393: 0x6e24b620,\n\t0x3b394: 0x6e24b820, 0x3b395: 0x6e24ba20, 0x3b396: 0x6e24bc20, 0x3b397: 0x6e24be20,\n\t0x3b398: 0x6e24c020, 0x3b399: 0x6e24c220, 0x3b39a: 0x6e24c420, 0x3b39b: 0x6e24c620,\n\t0x3b39c: 0x6e24c820, 0x3b39d: 0x6e24ca20, 0x3b39e: 0x6e24cc20, 0x3b39f: 0x6e24ce20,\n\t0x3b3a0: 0x6e24d020, 0x3b3a1: 0x6e24d220, 0x3b3a2: 0x6e24d420, 0x3b3a3: 0x6e24d620,\n\t0x3b3a4: 0x6e2e8420, 0x3b3a5: 0x6e2e8620, 0x3b3a6: 0x6e2e8820, 0x3b3a7: 0x6e2e8a20,\n\t0x3b3a8: 0x6e2e8c20, 0x3b3a9: 0x6e2e8e20, 0x3b3aa: 0x6e2e9020, 0x3b3ab: 0x6e2e9220,\n\t0x3b3ac: 0x6e2e9420, 0x3b3ad: 0x6e360420, 0x3b3ae: 0x6e360620, 0x3b3af: 0x6e360820,\n\t0x3b3b0: 0x6e360a20, 0x3b3b1: 0x6e360c20, 0x3b3b2: 0x6e360e20, 0x3b3b3: 0x6e361020,\n\t0x3b3b4: 0x6e361220, 0x3b3b5: 0x6e361420, 0x3b3b6: 0x6e3b5020, 0x3b3b7: 0x6e3f0820,\n\t0x3b3b8: 0x6e3f0a20, 0x3b3b9: 0x6e3f0c20, 0x3b3ba: 0x6e3f0e20, 0x3b3bb: 0x6e44bc20,\n\t0x3b3bc: 0x6e457420, 0x3b3bd: 0x6e465220, 0x3b3be: 0x6c288e20, 0x3b3bf: 0x6c289020,\n\t// Block 0xecf, offset 0x3b3c0\n\t0x3b3c0: 0x6c289220, 0x3b3c1: 0x6c42a420, 0x3b3c2: 0x6c42a620, 0x3b3c3: 0x6c637820,\n\t0x3b3c4: 0x6c8a8020, 0x3b3c5: 0x6c8a8220, 0x3b3c6: 0x6cb70220, 0x3b3c7: 0x6c8a8420,\n\t0x3b3c8: 0x6cb70420, 0x3b3c9: 0x6cb70620, 0x3b3ca: 0x6ce7e020, 0x3b3cb: 0x6ce7e220,\n\t0x3b3cc: 0x6d170020, 0x3b3cd: 0x6d452420, 0x3b3ce: 0x6d452620, 0x3b3cf: 0x6d720220,\n\t0x3b3d0: 0x6c638020, 0x3b3d1: 0x6cb70e20, 0x3b3d2: 0x6cb71020, 0x3b3d3: 0x6ce7ee20,\n\t0x3b3d4: 0x6d170620, 0x3b3d5: 0x6d452820, 0x3b3d6: 0x6d452a20, 0x3b3d7: 0x6d452c20,\n\t0x3b3d8: 0x6d452e20, 0x3b3d9: 0x6d453020, 0x3b3da: 0x6d720c20, 0x3b3db: 0x6d720e20,\n\t0x3b3dc: 0x6d721020, 0x3b3dd: 0x6d721220, 0x3b3de: 0x6d721420, 0x3b3df: 0x6d721620,\n\t0x3b3e0: 0x6d721820, 0x3b3e1: 0x6d9b9020, 0x3b3e2: 0x6d9b9220, 0x3b3e3: 0x6d9b9420,\n\t0x3b3e4: 0x6d9b9620, 0x3b3e5: 0x6d9b9820, 0x3b3e6: 0x6d9b9a20, 0x3b3e7: 0x6d9b9c20,\n\t0x3b3e8: 0x6dbe4a20, 0x3b3e9: 0x6dbe4c20, 0x3b3ea: 0x6ddbfc20, 0x3b3eb: 0x6ddbfe20,\n\t0x3b3ec: 0x6ddc0020, 0x3b3ed: 0x6ddc0220, 0x3b3ee: 0x6de36c20, 0x3b3ef: 0x6df3e620,\n\t0x3b3f0: 0x6dface20, 0x3b3f1: 0x6df3e820, 0x3b3f2: 0x6e07c620, 0x3b3f3: 0x6e182220,\n\t0x3b3f4: 0x6e24dc20, 0x3b3f5: 0x6e2e9620, 0x3b3f6: 0x6e2e9820, 0x3b3f7: 0x6e361620,\n\t0x3b3f8: 0x6e3b5420, 0x3b3f9: 0x6e419c20, 0x3b3fa: 0x6c8a8c20, 0x3b3fb: 0x6d170a20,\n\t0x3b3fc: 0x6d170c20, 0x3b3fd: 0x6d170e20, 0x3b3fe: 0x6d453c20, 0x3b3ff: 0x6d453e20,\n\t// Block 0xed0, offset 0x3b400\n\t0x3b400: 0x6d454020, 0x3b401: 0x6d454220, 0x3b402: 0x6d721a20, 0x3b403: 0x6d454420,\n\t0x3b404: 0x6d454620, 0x3b405: 0x6d721c20, 0x3b406: 0x6d721e20, 0x3b407: 0x6d9ba620,\n\t0x3b408: 0x6d9ba820, 0x3b409: 0x6dbe5c20, 0x3b40a: 0x6dbe5e20, 0x3b40b: 0x6dbe6020,\n\t0x3b40c: 0x6ddc0820, 0x3b40d: 0x6ddc0a20, 0x3b40e: 0x6ddc0c20, 0x3b40f: 0x6dbe6220,\n\t0x3b410: 0x6ddc0e20, 0x3b411: 0x6ddc1020, 0x3b412: 0x6ddc1220, 0x3b413: 0x6df3f020,\n\t0x3b414: 0x6df3f220, 0x3b415: 0x6df3f420, 0x3b416: 0x6df3f620, 0x3b417: 0x6df3f820,\n\t0x3b418: 0x6df3fa20, 0x3b419: 0x6e07cc20, 0x3b41a: 0x6e07ce20, 0x3b41b: 0x6e07d020,\n\t0x3b41c: 0x6e07d220, 0x3b41d: 0x6e182620, 0x3b41e: 0x6e182820, 0x3b41f: 0x6e182a20,\n\t0x3b420: 0x6e182c20, 0x3b421: 0x6e182e20, 0x3b422: 0x6e24de20, 0x3b423: 0x6e24e020,\n\t0x3b424: 0x6e2e9c20, 0x3b425: 0x6e3f1020, 0x3b426: 0x6e437620, 0x3b427: 0x6c8a9020,\n\t0x3b428: 0x6cb71220, 0x3b429: 0x6ce7f620, 0x3b42a: 0x6ce7f820, 0x3b42b: 0x6ce7fa20,\n\t0x3b42c: 0x6ce7fc20, 0x3b42d: 0x6ce7fe20, 0x3b42e: 0x6ce80020, 0x3b42f: 0x6ce80220,\n\t0x3b430: 0x6d172220, 0x3b431: 0x6d172420, 0x3b432: 0x6d172620, 0x3b433: 0x6d172820,\n\t0x3b434: 0x6d172a20, 0x3b435: 0x6d172c20, 0x3b436: 0x6d172e20, 0x3b437: 0x6d457c20,\n\t0x3b438: 0x6d457e20, 0x3b439: 0x6d458020, 0x3b43a: 0x6d458220, 0x3b43b: 0x6d458420,\n\t0x3b43c: 0x6d458620, 0x3b43d: 0x6d458820, 0x3b43e: 0x6d458a20, 0x3b43f: 0x6d726420,\n\t// Block 0xed1, offset 0x3b440\n\t0x3b440: 0x6d458c20, 0x3b441: 0x6d458e20, 0x3b442: 0x6d459020, 0x3b443: 0x6d459220,\n\t0x3b444: 0x6d459420, 0x3b445: 0x6d459620, 0x3b446: 0x6d726620, 0x3b447: 0x6d459820,\n\t0x3b448: 0x6d459a20, 0x3b449: 0x6d459c20, 0x3b44a: 0x6d459e20, 0x3b44b: 0x6d45a020,\n\t0x3b44c: 0x6d45a220, 0x3b44d: 0x6d726820, 0x3b44e: 0x6d726a20, 0x3b44f: 0x6d726c20,\n\t0x3b450: 0x6d726e20, 0x3b451: 0x6d727020, 0x3b452: 0x6d727220, 0x3b453: 0x6d727420,\n\t0x3b454: 0x6d727620, 0x3b455: 0x6d727820, 0x3b456: 0x6d727a20, 0x3b457: 0x6d727c20,\n\t0x3b458: 0x6d727e20, 0x3b459: 0x6d728020, 0x3b45a: 0x6d728220, 0x3b45b: 0x6d728420,\n\t0x3b45c: 0x6d728620, 0x3b45d: 0x6d728820, 0x3b45e: 0x6d728a20, 0x3b45f: 0x6d728c20,\n\t0x3b460: 0x6d728e20, 0x3b461: 0x6d729020, 0x3b462: 0x6d729220, 0x3b463: 0x6d729420,\n\t0x3b464: 0x6d729620, 0x3b465: 0x6d729820, 0x3b466: 0x6d729a20, 0x3b467: 0x6d729c20,\n\t0x3b468: 0x6d729e20, 0x3b469: 0x6d72a020, 0x3b46a: 0x6d72a220, 0x3b46b: 0x6d72a420,\n\t0x3b46c: 0x6d72a620, 0x3b46d: 0x6d72a820, 0x3b46e: 0x6d9bde20, 0x3b46f: 0x6d9be020,\n\t0x3b470: 0x6d9be220, 0x3b471: 0x6d9be420, 0x3b472: 0x6d9be620, 0x3b473: 0x6d9be820,\n\t0x3b474: 0x6d9bea20, 0x3b475: 0x6d9bec20, 0x3b476: 0x6d9bee20, 0x3b477: 0x6d9bf020,\n\t0x3b478: 0x6d9bf220, 0x3b479: 0x6d9bf420, 0x3b47a: 0x6d9bf620, 0x3b47b: 0x6d9bf820,\n\t0x3b47c: 0x6d9bfa20, 0x3b47d: 0x6d9bfc20, 0x3b47e: 0x6d9bfe20, 0x3b47f: 0x6d9c0020,\n\t// Block 0xed2, offset 0x3b480\n\t0x3b480: 0x6d9c0220, 0x3b481: 0x6d9c0420, 0x3b482: 0x6d9c0620, 0x3b483: 0x6d9c0820,\n\t0x3b484: 0x6d9c0a20, 0x3b485: 0x6d9c0c20, 0x3b486: 0x6d9c0e20, 0x3b487: 0x6d9c1020,\n\t0x3b488: 0x6d9c1220, 0x3b489: 0x6d9c1420, 0x3b48a: 0x6d9c1620, 0x3b48b: 0x6d9c1820,\n\t0x3b48c: 0x6d9c1a20, 0x3b48d: 0x6d9c1c20, 0x3b48e: 0x6d9c1e20, 0x3b48f: 0x6d9c2020,\n\t0x3b490: 0x6d9c2220, 0x3b491: 0x6d9c2420, 0x3b492: 0x6d9c2620, 0x3b493: 0x6d9c2820,\n\t0x3b494: 0x6d9c2a20, 0x3b495: 0x6d9c2c20, 0x3b496: 0x6dbe9020, 0x3b497: 0x6dbe9220,\n\t0x3b498: 0x6dbe9420, 0x3b499: 0x6dbe9620, 0x3b49a: 0x6dbe9820, 0x3b49b: 0x6dbe9a20,\n\t0x3b49c: 0x6dbe9c20, 0x3b49d: 0x6dbe9e20, 0x3b49e: 0x6dbea020, 0x3b49f: 0x6dbea220,\n\t0x3b4a0: 0x6dbea420, 0x3b4a1: 0x6dbea620, 0x3b4a2: 0x6dbea820, 0x3b4a3: 0x6dbeaa20,\n\t0x3b4a4: 0x6dbeac20, 0x3b4a5: 0x6dbeae20, 0x3b4a6: 0x6dbeb020, 0x3b4a7: 0x6dbeb220,\n\t0x3b4a8: 0x6dbeb420, 0x3b4a9: 0x6dbeb620, 0x3b4aa: 0x6dbeb820, 0x3b4ab: 0x6dbeba20,\n\t0x3b4ac: 0x6dbebc20, 0x3b4ad: 0x6ddc4820, 0x3b4ae: 0x6ddc4a20, 0x3b4af: 0x6ddc4c20,\n\t0x3b4b0: 0x6ddc4e20, 0x3b4b1: 0x6ddc5020, 0x3b4b2: 0x6ddc5220, 0x3b4b3: 0x6ddc5420,\n\t0x3b4b4: 0x6ddc5620, 0x3b4b5: 0x6ddc5820, 0x3b4b6: 0x6ddc5a20, 0x3b4b7: 0x6ddc5c20,\n\t0x3b4b8: 0x6ddc5e20, 0x3b4b9: 0x6ddc6020, 0x3b4ba: 0x6ddc6220, 0x3b4bb: 0x6ddc6420,\n\t0x3b4bc: 0x6ddc6620, 0x3b4bd: 0x6ddc6820, 0x3b4be: 0x6ddc6a20, 0x3b4bf: 0x6ddc6c20,\n\t// Block 0xed3, offset 0x3b4c0\n\t0x3b4c0: 0x6ddc6e20, 0x3b4c1: 0x6ddc7020, 0x3b4c2: 0x6ddc7220, 0x3b4c3: 0x6ddc7420,\n\t0x3b4c4: 0x6ddc7620, 0x3b4c5: 0x6ddc7820, 0x3b4c6: 0x6ddc7a20, 0x3b4c7: 0x6ddc7c20,\n\t0x3b4c8: 0x6ddc7e20, 0x3b4c9: 0x6ddc8020, 0x3b4ca: 0x6ddc8220, 0x3b4cb: 0x6ddc8420,\n\t0x3b4cc: 0x6ddc8620, 0x3b4cd: 0x6ddc8820, 0x3b4ce: 0x6ddc8a20, 0x3b4cf: 0x6ddc8c20,\n\t0x3b4d0: 0x6ddc8e20, 0x3b4d1: 0x6ddc9020, 0x3b4d2: 0x6ddc9220, 0x3b4d3: 0x6ddc9420,\n\t0x3b4d4: 0x6ddc9620, 0x3b4d5: 0x6ddc9820, 0x3b4d6: 0x6ddc9a20, 0x3b4d7: 0x6df43420,\n\t0x3b4d8: 0x6df43620, 0x3b4d9: 0x6df43820, 0x3b4da: 0x6df43a20, 0x3b4db: 0x6df43c20,\n\t0x3b4dc: 0x6df43e20, 0x3b4dd: 0x6df44020, 0x3b4de: 0x6ddc9c20, 0x3b4df: 0x6df44220,\n\t0x3b4e0: 0x6df44420, 0x3b4e1: 0x6df44620, 0x3b4e2: 0x6df44820, 0x3b4e3: 0x6df44a20,\n\t0x3b4e4: 0x6df44c20, 0x3b4e5: 0x6df44e20, 0x3b4e6: 0x6df45020, 0x3b4e7: 0x6df45220,\n\t0x3b4e8: 0x6df45420, 0x3b4e9: 0x6df45620, 0x3b4ea: 0x6df45820, 0x3b4eb: 0x6df45a20,\n\t0x3b4ec: 0x6df45c20, 0x3b4ed: 0x6df45e20, 0x3b4ee: 0x6df46020, 0x3b4ef: 0x6df46220,\n\t0x3b4f0: 0x6df46420, 0x3b4f1: 0x6df46620, 0x3b4f2: 0x6df46820, 0x3b4f3: 0x6df46a20,\n\t0x3b4f4: 0x6df46c20, 0x3b4f5: 0x6df46e20, 0x3b4f6: 0x6df47020, 0x3b4f7: 0x6dbebe20,\n\t0x3b4f8: 0x6df47220, 0x3b4f9: 0x6df47420, 0x3b4fa: 0x6df47620, 0x3b4fb: 0x6df47820,\n\t0x3b4fc: 0x6df47a20, 0x3b4fd: 0x6e080620, 0x3b4fe: 0x6e080820, 0x3b4ff: 0x6e080a20,\n\t// Block 0xed4, offset 0x3b500\n\t0x3b500: 0x6e080c20, 0x3b501: 0x6e080e20, 0x3b502: 0x6e081020, 0x3b503: 0x6e081220,\n\t0x3b504: 0x6e081420, 0x3b505: 0x6e081620, 0x3b506: 0x6e081820, 0x3b507: 0x6e081a20,\n\t0x3b508: 0x6e081c20, 0x3b509: 0x6e081e20, 0x3b50a: 0x6e082020, 0x3b50b: 0x6e082220,\n\t0x3b50c: 0x6e082420, 0x3b50d: 0x6e082620, 0x3b50e: 0x6e082820, 0x3b50f: 0x6e082a20,\n\t0x3b510: 0x6e082c20, 0x3b511: 0x6e082e20, 0x3b512: 0x6e083020, 0x3b513: 0x6e083220,\n\t0x3b514: 0x6e083420, 0x3b515: 0x6e083620, 0x3b516: 0x6e083820, 0x3b517: 0x6e083a20,\n\t0x3b518: 0x6e083c20, 0x3b519: 0x6e083e20, 0x3b51a: 0x6e084020, 0x3b51b: 0x6e084220,\n\t0x3b51c: 0x6e084420, 0x3b51d: 0x6e084620, 0x3b51e: 0x6e084820, 0x3b51f: 0x6e084a20,\n\t0x3b520: 0x6e084c20, 0x3b521: 0x6e084e20, 0x3b522: 0x6e085020, 0x3b523: 0x6e085220,\n\t0x3b524: 0x6e085420, 0x3b525: 0x6e085620, 0x3b526: 0x6e085820, 0x3b527: 0x6e085a20,\n\t0x3b528: 0x6e085c20, 0x3b529: 0x6e085e20, 0x3b52a: 0x6e086020, 0x3b52b: 0x6e186220,\n\t0x3b52c: 0x6e186420, 0x3b52d: 0x6e186620, 0x3b52e: 0x6e186820, 0x3b52f: 0x6e186a20,\n\t0x3b530: 0x6e186c20, 0x3b531: 0x6e186e20, 0x3b532: 0x6e187020, 0x3b533: 0x6e187220,\n\t0x3b534: 0x6e187420, 0x3b535: 0x6e187620, 0x3b536: 0x6e187820, 0x3b537: 0x6e187a20,\n\t0x3b538: 0x6e187c20, 0x3b539: 0x6e187e20, 0x3b53a: 0x6e188020, 0x3b53b: 0x6e188220,\n\t0x3b53c: 0x6e188420, 0x3b53d: 0x6e188620, 0x3b53e: 0x6e188820, 0x3b53f: 0x6e188a20,\n\t// Block 0xed5, offset 0x3b540\n\t0x3b540: 0x6e188c20, 0x3b541: 0x6e188e20, 0x3b542: 0x6e250a20, 0x3b543: 0x6e250c20,\n\t0x3b544: 0x6e250e20, 0x3b545: 0x6e251020, 0x3b546: 0x6e251220, 0x3b547: 0x6e251420,\n\t0x3b548: 0x6e251620, 0x3b549: 0x6e251820, 0x3b54a: 0x6e251a20, 0x3b54b: 0x6e251c20,\n\t0x3b54c: 0x6e251e20, 0x3b54d: 0x6e252020, 0x3b54e: 0x6e252220, 0x3b54f: 0x6e252420,\n\t0x3b550: 0x6e252620, 0x3b551: 0x6e252820, 0x3b552: 0x6e252a20, 0x3b553: 0x6e252c20,\n\t0x3b554: 0x6e252e20, 0x3b555: 0x6e253020, 0x3b556: 0x6e253220, 0x3b557: 0x6e253420,\n\t0x3b558: 0x6e253620, 0x3b559: 0x6e253820, 0x3b55a: 0x6e253a20, 0x3b55b: 0x6e253c20,\n\t0x3b55c: 0x6e253e20, 0x3b55d: 0x6e254020, 0x3b55e: 0x6e2eb220, 0x3b55f: 0x6e2eb420,\n\t0x3b560: 0x6e2eb620, 0x3b561: 0x6e2eb820, 0x3b562: 0x6e2eba20, 0x3b563: 0x6e2ebc20,\n\t0x3b564: 0x6e2ebe20, 0x3b565: 0x6e2ec020, 0x3b566: 0x6e2ec220, 0x3b567: 0x6e2ec420,\n\t0x3b568: 0x6e2ec620, 0x3b569: 0x6e2ec820, 0x3b56a: 0x6e2eca20, 0x3b56b: 0x6e2ecc20,\n\t0x3b56c: 0x6e2ece20, 0x3b56d: 0x6e2ed020, 0x3b56e: 0x6e2ed220, 0x3b56f: 0x6e2ed420,\n\t0x3b570: 0x6e2ed620, 0x3b571: 0x6e2ed820, 0x3b572: 0x6e2eda20, 0x3b573: 0x6e2edc20,\n\t0x3b574: 0x6e2ede20, 0x3b575: 0x6e2ee020, 0x3b576: 0x6e362820, 0x3b577: 0x6e362a20,\n\t0x3b578: 0x6e362c20, 0x3b579: 0x6e362e20, 0x3b57a: 0x6e363020, 0x3b57b: 0x6e363220,\n\t0x3b57c: 0x6e363420, 0x3b57d: 0x6e363620, 0x3b57e: 0x6e363820, 0x3b57f: 0x6e363a20,\n\t// Block 0xed6, offset 0x3b580\n\t0x3b580: 0x6e363c20, 0x3b581: 0x6e363e20, 0x3b582: 0x6e3b5820, 0x3b583: 0x6e3b5a20,\n\t0x3b584: 0x6e3b5c20, 0x3b585: 0x6e3b5e20, 0x3b586: 0x6e3b6020, 0x3b587: 0x6e3b6220,\n\t0x3b588: 0x6e3b6420, 0x3b589: 0x6e3b6620, 0x3b58a: 0x6e3b6820, 0x3b58b: 0x6e3b6a20,\n\t0x3b58c: 0x6e3b6c20, 0x3b58d: 0x6e3b6e20, 0x3b58e: 0x6e3b7020, 0x3b58f: 0x6e3f1c20,\n\t0x3b590: 0x6e3f1e20, 0x3b591: 0x6e3f2020, 0x3b592: 0x6e3f2220, 0x3b593: 0x6e3f2420,\n\t0x3b594: 0x6e41ac20, 0x3b595: 0x6e41ae20, 0x3b596: 0x6e41b020, 0x3b597: 0x6e41b220,\n\t0x3b598: 0x6e437e20, 0x3b599: 0x6e438020, 0x3b59a: 0x6e438220, 0x3b59b: 0x6e438420,\n\t0x3b59c: 0x6e438620, 0x3b59d: 0x6e438820, 0x3b59e: 0x6e438a20, 0x3b59f: 0x6e44c420,\n\t0x3b5a0: 0x6e44c620, 0x3b5a1: 0x6e457820, 0x3b5a2: 0x6e457a20, 0x3b5a3: 0x6e45ec20,\n\t0x3b5a4: 0x6e45ee20, 0x3b5a5: 0x6e46f420, 0x3b5a6: 0x6c28a020, 0x3b5a7: 0x6c42c620,\n\t0x3b5a8: 0x6c42c820, 0x3b5a9: 0x6c42ca20, 0x3b5aa: 0x6c42cc20, 0x3b5ab: 0x6c42ce20,\n\t0x3b5ac: 0x6c42d020, 0x3b5ad: 0x6c42d220, 0x3b5ae: 0x6c639620, 0x3b5af: 0x6c42d420,\n\t0x3b5b0: 0x6c639820, 0x3b5b1: 0x6c639a20, 0x3b5b2: 0x6c639c20, 0x3b5b3: 0x6c639e20,\n\t0x3b5b4: 0x6c63a020, 0x3b5b5: 0x6c63a220, 0x3b5b6: 0x6c63a420, 0x3b5b7: 0x6c8aa020,\n\t0x3b5b8: 0x6c8aa220, 0x3b5b9: 0x6c8aa420, 0x3b5ba: 0x6c8aa620, 0x3b5bb: 0x6cb72220,\n\t0x3b5bc: 0x6cb72420, 0x3b5bd: 0x6cb72620, 0x3b5be: 0x6ce80e20, 0x3b5bf: 0x6ce81020,\n\t// Block 0xed7, offset 0x3b5c0\n\t0x3b5c0: 0x6ce81220, 0x3b5c1: 0x6ce81420, 0x3b5c2: 0x6ce81620, 0x3b5c3: 0x6ce81820,\n\t0x3b5c4: 0x6d173a20, 0x3b5c5: 0x6ce81a20, 0x3b5c6: 0x6ce81c20, 0x3b5c7: 0x6ce81e20,\n\t0x3b5c8: 0x6ce82020, 0x3b5c9: 0x6ce82220, 0x3b5ca: 0x6ce82420, 0x3b5cb: 0x6d173c20,\n\t0x3b5cc: 0x6d173e20, 0x3b5cd: 0x6d174020, 0x3b5ce: 0x6d72ac20, 0x3b5cf: 0x6d72ae20,\n\t0x3b5d0: 0x6ddca620, 0x3b5d1: 0x6cb73020, 0x3b5d2: 0x6cb73220, 0x3b5d3: 0x6cb73420,\n\t0x3b5d4: 0x6ce82e20, 0x3b5d5: 0x6ce83020, 0x3b5d6: 0x6ce83220, 0x3b5d7: 0x6ce83420,\n\t0x3b5d8: 0x6ce83620, 0x3b5d9: 0x6ce83820, 0x3b5da: 0x6ce83a20, 0x3b5db: 0x6ce83c20,\n\t0x3b5dc: 0x6d175220, 0x3b5dd: 0x6d175420, 0x3b5de: 0x6d175620, 0x3b5df: 0x6d175820,\n\t0x3b5e0: 0x6d175a20, 0x3b5e1: 0x6d175c20, 0x3b5e2: 0x6d175e20, 0x3b5e3: 0x6d176020,\n\t0x3b5e4: 0x6d176220, 0x3b5e5: 0x6d176420, 0x3b5e6: 0x6d176620, 0x3b5e7: 0x6d176820,\n\t0x3b5e8: 0x6d176a20, 0x3b5e9: 0x6d176c20, 0x3b5ea: 0x6d176e20, 0x3b5eb: 0x6d177020,\n\t0x3b5ec: 0x6d45c220, 0x3b5ed: 0x6d45c420, 0x3b5ee: 0x6d45c620, 0x3b5ef: 0x6d45c820,\n\t0x3b5f0: 0x6d45ca20, 0x3b5f1: 0x6d45cc20, 0x3b5f2: 0x6d45ce20, 0x3b5f3: 0x6d45d020,\n\t0x3b5f4: 0x6d45d220, 0x3b5f5: 0x6d45d420, 0x3b5f6: 0x6d45d620, 0x3b5f7: 0x6d45d820,\n\t0x3b5f8: 0x6d45da20, 0x3b5f9: 0x6d45dc20, 0x3b5fa: 0x6d45de20, 0x3b5fb: 0x6d45e020,\n\t0x3b5fc: 0x6d45e220, 0x3b5fd: 0x6d72c820, 0x3b5fe: 0x6d72ca20, 0x3b5ff: 0x6d72cc20,\n\t// Block 0xed8, offset 0x3b600\n\t0x3b600: 0x6d72ce20, 0x3b601: 0x6d72d020, 0x3b602: 0x6d72d220, 0x3b603: 0x6d72d420,\n\t0x3b604: 0x6d72d620, 0x3b605: 0x6d72d820, 0x3b606: 0x6d72da20, 0x3b607: 0x6d72dc20,\n\t0x3b608: 0x6d72de20, 0x3b609: 0x6d9c4c20, 0x3b60a: 0x6d9c4e20, 0x3b60b: 0x6d9c5020,\n\t0x3b60c: 0x6d9c5220, 0x3b60d: 0x6d9c5420, 0x3b60e: 0x6d9c5620, 0x3b60f: 0x6d9c5820,\n\t0x3b610: 0x6d9c5a20, 0x3b611: 0x6d9c5c20, 0x3b612: 0x6d9c5e20, 0x3b613: 0x6d9c6020,\n\t0x3b614: 0x6d9c6220, 0x3b615: 0x6d9c6420, 0x3b616: 0x6d9c6620, 0x3b617: 0x6dbed620,\n\t0x3b618: 0x6dbed820, 0x3b619: 0x6dbeda20, 0x3b61a: 0x6dbedc20, 0x3b61b: 0x6dbede20,\n\t0x3b61c: 0x6dbee020, 0x3b61d: 0x6dbee220, 0x3b61e: 0x6dbee420, 0x3b61f: 0x6dbee620,\n\t0x3b620: 0x6dbee820, 0x3b621: 0x6dbeea20, 0x3b622: 0x6dbeec20, 0x3b623: 0x6dbeee20,\n\t0x3b624: 0x6dbef020, 0x3b625: 0x6dbef220, 0x3b626: 0x6dbef420, 0x3b627: 0x6dbef620,\n\t0x3b628: 0x6dbef820, 0x3b629: 0x6dbefa20, 0x3b62a: 0x6dbefc20, 0x3b62b: 0x6dbefe20,\n\t0x3b62c: 0x6dbf0020, 0x3b62d: 0x6ddcb020, 0x3b62e: 0x6ddcb220, 0x3b62f: 0x6ddcb420,\n\t0x3b630: 0x6ddcb620, 0x3b631: 0x6ddcb820, 0x3b632: 0x6ddcba20, 0x3b633: 0x6ddcbc20,\n\t0x3b634: 0x6ddcbe20, 0x3b635: 0x6ddcc020, 0x3b636: 0x6ddcc220, 0x3b637: 0x6ddcc420,\n\t0x3b638: 0x6ddcc620, 0x3b639: 0x6ddcc820, 0x3b63a: 0x6ddcca20, 0x3b63b: 0x6ddccc20,\n\t0x3b63c: 0x6ddcce20, 0x3b63d: 0x6ddcd020, 0x3b63e: 0x6ddcd220, 0x3b63f: 0x6ddcd420,\n\t// Block 0xed9, offset 0x3b640\n\t0x3b640: 0x6df49220, 0x3b641: 0x6df49420, 0x3b642: 0x6df49620, 0x3b643: 0x6df49820,\n\t0x3b644: 0x6df49a20, 0x3b645: 0x6df49c20, 0x3b646: 0x6df49e20, 0x3b647: 0x6df4a020,\n\t0x3b648: 0x6df4a220, 0x3b649: 0x6e088420, 0x3b64a: 0x6e088620, 0x3b64b: 0x6e088820,\n\t0x3b64c: 0x6e088a20, 0x3b64d: 0x6e088c20, 0x3b64e: 0x6e088e20, 0x3b64f: 0x6e089020,\n\t0x3b650: 0x6e089220, 0x3b651: 0x6e089420, 0x3b652: 0x6e089620, 0x3b653: 0x6e089820,\n\t0x3b654: 0x6e089a20, 0x3b655: 0x6e089c20, 0x3b656: 0x6e089e20, 0x3b657: 0x6e189a20,\n\t0x3b658: 0x6e189c20, 0x3b659: 0x6e189e20, 0x3b65a: 0x6e18a020, 0x3b65b: 0x6e18a220,\n\t0x3b65c: 0x6e18a420, 0x3b65d: 0x6e18a620, 0x3b65e: 0x6e18a820, 0x3b65f: 0x6e18aa20,\n\t0x3b660: 0x6e254a20, 0x3b661: 0x6e254c20, 0x3b662: 0x6e254e20, 0x3b663: 0x6e255020,\n\t0x3b664: 0x6e255220, 0x3b665: 0x6e255420, 0x3b666: 0x6e255620, 0x3b667: 0x6e255820,\n\t0x3b668: 0x6e255a20, 0x3b669: 0x6e255c20, 0x3b66a: 0x6e255e20, 0x3b66b: 0x6e256020,\n\t0x3b66c: 0x6e2eec20, 0x3b66d: 0x6e2eee20, 0x3b66e: 0x6e2ef020, 0x3b66f: 0x6e2ef220,\n\t0x3b670: 0x6e2ef420, 0x3b671: 0x6e2ef620, 0x3b672: 0x6e364620, 0x3b673: 0x6e364820,\n\t0x3b674: 0x6e364a20, 0x3b675: 0x6e364c20, 0x3b676: 0x6e364e20, 0x3b677: 0x6e3b7620,\n\t0x3b678: 0x6e3b7820, 0x3b679: 0x6e3b7a20, 0x3b67a: 0x6e3b7c20, 0x3b67b: 0x6e3f2a20,\n\t0x3b67c: 0x6e41b620, 0x3b67d: 0x6e41b820, 0x3b67e: 0x6e438c20, 0x3b67f: 0x6d177420,\n\t// Block 0xeda, offset 0x3b680\n\t0x3b680: 0x6d177620, 0x3b681: 0x6d45e820, 0x3b682: 0x6d45ea20, 0x3b683: 0x6d45ec20,\n\t0x3b684: 0x6d45ee20, 0x3b685: 0x6d45f020, 0x3b686: 0x6d45f220, 0x3b687: 0x6d45f420,\n\t0x3b688: 0x6d45f620, 0x3b689: 0x6d45f820, 0x3b68a: 0x6d72e420, 0x3b68b: 0x6d72e620,\n\t0x3b68c: 0x6d72e820, 0x3b68d: 0x6d72ea20, 0x3b68e: 0x6d9c6a20, 0x3b68f: 0x6d9c6c20,\n\t0x3b690: 0x6d9c6e20, 0x3b691: 0x6d9c7020, 0x3b692: 0x6d9c7220, 0x3b693: 0x6d9c7420,\n\t0x3b694: 0x6d9c7620, 0x3b695: 0x6dbf0220, 0x3b696: 0x6dbf0420, 0x3b697: 0x6dbf0620,\n\t0x3b698: 0x6dbf0820, 0x3b699: 0x6dbf0a20, 0x3b69a: 0x6ddcdc20, 0x3b69b: 0x6ddcde20,\n\t0x3b69c: 0x6ddce020, 0x3b69d: 0x6ddce220, 0x3b69e: 0x6df4a620, 0x3b69f: 0x6df4a820,\n\t0x3b6a0: 0x6e08a020, 0x3b6a1: 0x6e08a220, 0x3b6a2: 0x6e08a420, 0x3b6a3: 0x6e08a620,\n\t0x3b6a4: 0x6e08a820, 0x3b6a5: 0x6e18ac20, 0x3b6a6: 0x6e18ae20, 0x3b6a7: 0x6e256620,\n\t0x3b6a8: 0x6e2efa20, 0x3b6a9: 0x6e2efc20, 0x3b6aa: 0x6e2efe20, 0x3b6ab: 0x6e365020,\n\t0x3b6ac: 0x6e365220, 0x3b6ad: 0x6e3b8020, 0x3b6ae: 0x6e3f2c20, 0x3b6af: 0x6e3f2e20,\n\t0x3b6b0: 0x6e41ba20, 0x3b6b1: 0x6e41bc20, 0x3b6b2: 0x6e438e20, 0x3b6b3: 0x6e45f020,\n\t0x3b6b4: 0x6ce84820, 0x3b6b5: 0x6ce84a20, 0x3b6b6: 0x6ce84c20, 0x3b6b7: 0x6ce84e20,\n\t0x3b6b8: 0x6ce85020, 0x3b6b9: 0x6d177c20, 0x3b6ba: 0x6d177e20, 0x3b6bb: 0x6d178020,\n\t0x3b6bc: 0x6d178220, 0x3b6bd: 0x6d178420, 0x3b6be: 0x6d178620, 0x3b6bf: 0x6d461620,\n\t// Block 0xedb, offset 0x3b6c0\n\t0x3b6c0: 0x6d461820, 0x3b6c1: 0x6d461a20, 0x3b6c2: 0x6d461c20, 0x3b6c3: 0x6d461e20,\n\t0x3b6c4: 0x6d462020, 0x3b6c5: 0x6d462220, 0x3b6c6: 0x6d462420, 0x3b6c7: 0x6d462620,\n\t0x3b6c8: 0x6d462820, 0x3b6c9: 0x6d462a20, 0x3b6ca: 0x6d462c20, 0x3b6cb: 0x6d462e20,\n\t0x3b6cc: 0x6d463020, 0x3b6cd: 0x6d463220, 0x3b6ce: 0x6d463420, 0x3b6cf: 0x6d463620,\n\t0x3b6d0: 0x6d463820, 0x3b6d1: 0x6d730420, 0x3b6d2: 0x6d730620, 0x3b6d3: 0x6d730820,\n\t0x3b6d4: 0x6d730a20, 0x3b6d5: 0x6d730c20, 0x3b6d6: 0x6d730e20, 0x3b6d7: 0x6d731020,\n\t0x3b6d8: 0x6d731220, 0x3b6d9: 0x6d731420, 0x3b6da: 0x6d731620, 0x3b6db: 0x6d731820,\n\t0x3b6dc: 0x6d731a20, 0x3b6dd: 0x6d731c20, 0x3b6de: 0x6d731e20, 0x3b6df: 0x6d732020,\n\t0x3b6e0: 0x6d732220, 0x3b6e1: 0x6d732420, 0x3b6e2: 0x6d732620, 0x3b6e3: 0x6d732820,\n\t0x3b6e4: 0x6d732a20, 0x3b6e5: 0x6d732c20, 0x3b6e6: 0x6d732e20, 0x3b6e7: 0x6d733020,\n\t0x3b6e8: 0x6d733220, 0x3b6e9: 0x6d733420, 0x3b6ea: 0x6d733620, 0x3b6eb: 0x6d733820,\n\t0x3b6ec: 0x6d733a20, 0x3b6ed: 0x6d733c20, 0x3b6ee: 0x6d733e20, 0x3b6ef: 0x6d734020,\n\t0x3b6f0: 0x6d9c9020, 0x3b6f1: 0x6d9c9220, 0x3b6f2: 0x6d9c9420, 0x3b6f3: 0x6d9c9620,\n\t0x3b6f4: 0x6d9c9820, 0x3b6f5: 0x6d9c9a20, 0x3b6f6: 0x6d9c9c20, 0x3b6f7: 0x6d9c9e20,\n\t0x3b6f8: 0x6d9ca020, 0x3b6f9: 0x6d9ca220, 0x3b6fa: 0x6d9ca420, 0x3b6fb: 0x6d9ca620,\n\t0x3b6fc: 0x6d9ca820, 0x3b6fd: 0x6d9caa20, 0x3b6fe: 0x6d9cac20, 0x3b6ff: 0x6d9cae20,\n\t// Block 0xedc, offset 0x3b700\n\t0x3b700: 0x6d9cb020, 0x3b701: 0x6d9cb220, 0x3b702: 0x6d9cb420, 0x3b703: 0x6d9cb620,\n\t0x3b704: 0x6d9cb820, 0x3b705: 0x6d9cba20, 0x3b706: 0x6d9cbc20, 0x3b707: 0x6dbf2220,\n\t0x3b708: 0x6dbf2420, 0x3b709: 0x6dbf2620, 0x3b70a: 0x6dbf2820, 0x3b70b: 0x6dbf2a20,\n\t0x3b70c: 0x6dbf2c20, 0x3b70d: 0x6dbf2e20, 0x3b70e: 0x6dbf3020, 0x3b70f: 0x6dbf3220,\n\t0x3b710: 0x6dbf3420, 0x3b711: 0x6dbf3620, 0x3b712: 0x6dbf3820, 0x3b713: 0x6dbf3a20,\n\t0x3b714: 0x6dbf3c20, 0x3b715: 0x6dbf3e20, 0x3b716: 0x6dbf4020, 0x3b717: 0x6dbf4220,\n\t0x3b718: 0x6dbf4420, 0x3b719: 0x6dbf4620, 0x3b71a: 0x6dbf4820, 0x3b71b: 0x6dbf4a20,\n\t0x3b71c: 0x6dbf4c20, 0x3b71d: 0x6dbf4e20, 0x3b71e: 0x6ddcfc20, 0x3b71f: 0x6ddcfe20,\n\t0x3b720: 0x6ddd0020, 0x3b721: 0x6ddd0220, 0x3b722: 0x6ddd0420, 0x3b723: 0x6ddd0620,\n\t0x3b724: 0x6ddd0820, 0x3b725: 0x6ddd0a20, 0x3b726: 0x6ddd0c20, 0x3b727: 0x6ddd0e20,\n\t0x3b728: 0x6ddd1020, 0x3b729: 0x6ddd1220, 0x3b72a: 0x6ddd1420, 0x3b72b: 0x6ddd1620,\n\t0x3b72c: 0x6ddd1820, 0x3b72d: 0x6ddd1a20, 0x3b72e: 0x6ddd1c20, 0x3b72f: 0x6ddd1e20,\n\t0x3b730: 0x6ddd2020, 0x3b731: 0x6ddd2220, 0x3b732: 0x6ddd2420, 0x3b733: 0x6ddd2620,\n\t0x3b734: 0x6ddd2820, 0x3b735: 0x6ddd2a20, 0x3b736: 0x6ddd2c20, 0x3b737: 0x6ddd2e20,\n\t0x3b738: 0x6ddd3020, 0x3b739: 0x6ddd3220, 0x3b73a: 0x6df4c020, 0x3b73b: 0x6df4c220,\n\t0x3b73c: 0x6df4c420, 0x3b73d: 0x6df4c620, 0x3b73e: 0x6df4c820, 0x3b73f: 0x6df4ca20,\n\t// Block 0xedd, offset 0x3b740\n\t0x3b740: 0x6df4cc20, 0x3b741: 0x6df4ce20, 0x3b742: 0x6df4d020, 0x3b743: 0x6df4d220,\n\t0x3b744: 0x6df4d420, 0x3b745: 0x6df4d620, 0x3b746: 0x6df4d820, 0x3b747: 0x6df4da20,\n\t0x3b748: 0x6df4dc20, 0x3b749: 0x6df4de20, 0x3b74a: 0x6df4e020, 0x3b74b: 0x6df4e220,\n\t0x3b74c: 0x6df4e420, 0x3b74d: 0x6df4e620, 0x3b74e: 0x6df4e820, 0x3b74f: 0x6df4ea20,\n\t0x3b750: 0x6df4ec20, 0x3b751: 0x6df4ee20, 0x3b752: 0x6df4f020, 0x3b753: 0x6df4f220,\n\t0x3b754: 0x6df4f420, 0x3b755: 0x6df4f620, 0x3b756: 0x6e08ba20, 0x3b757: 0x6e08bc20,\n\t0x3b758: 0x6e08be20, 0x3b759: 0x6e08c020, 0x3b75a: 0x6e08c220, 0x3b75b: 0x6e08c420,\n\t0x3b75c: 0x6e08c620, 0x3b75d: 0x6e08c820, 0x3b75e: 0x6e08ca20, 0x3b75f: 0x6e08cc20,\n\t0x3b760: 0x6e08ce20, 0x3b761: 0x6e08d020, 0x3b762: 0x6e08d220, 0x3b763: 0x6e08d420,\n\t0x3b764: 0x6e08d620, 0x3b765: 0x6e08d820, 0x3b766: 0x6e08da20, 0x3b767: 0x6e08dc20,\n\t0x3b768: 0x6e08de20, 0x3b769: 0x6e08e020, 0x3b76a: 0x6e08e220, 0x3b76b: 0x6e08e420,\n\t0x3b76c: 0x6e08e620, 0x3b76d: 0x6e08e820, 0x3b76e: 0x6e08ea20, 0x3b76f: 0x6e18be20,\n\t0x3b770: 0x6e18c020, 0x3b771: 0x6e18c220, 0x3b772: 0x6e18c420, 0x3b773: 0x6e18c620,\n\t0x3b774: 0x6e18c820, 0x3b775: 0x6e18ca20, 0x3b776: 0x6e18cc20, 0x3b777: 0x6e18ce20,\n\t0x3b778: 0x6e18d020, 0x3b779: 0x6e18d220, 0x3b77a: 0x6e18d420, 0x3b77b: 0x6e18d620,\n\t0x3b77c: 0x6e18d820, 0x3b77d: 0x6e18da20, 0x3b77e: 0x6e18dc20, 0x3b77f: 0x6e18de20,\n\t// Block 0xede, offset 0x3b780\n\t0x3b780: 0x6e18e020, 0x3b781: 0x6e18e220, 0x3b782: 0x6e18e420, 0x3b783: 0x6e257420,\n\t0x3b784: 0x6e257620, 0x3b785: 0x6e257820, 0x3b786: 0x6e257a20, 0x3b787: 0x6e257c20,\n\t0x3b788: 0x6e257e20, 0x3b789: 0x6e258020, 0x3b78a: 0x6e258220, 0x3b78b: 0x6e258420,\n\t0x3b78c: 0x6e258620, 0x3b78d: 0x6e258820, 0x3b78e: 0x6e258a20, 0x3b78f: 0x6e258c20,\n\t0x3b790: 0x6e258e20, 0x3b791: 0x6e259020, 0x3b792: 0x6e259220, 0x3b793: 0x6e259420,\n\t0x3b794: 0x6e259620, 0x3b795: 0x6e259820, 0x3b796: 0x6e259a20, 0x3b797: 0x6e259c20,\n\t0x3b798: 0x6e259e20, 0x3b799: 0x6e25a020, 0x3b79a: 0x6e25a220, 0x3b79b: 0x6e2f0620,\n\t0x3b79c: 0x6e2f0820, 0x3b79d: 0x6e2f0a20, 0x3b79e: 0x6e2f0c20, 0x3b79f: 0x6e2f0e20,\n\t0x3b7a0: 0x6e2f1020, 0x3b7a1: 0x6e2f1220, 0x3b7a2: 0x6e2f1420, 0x3b7a3: 0x6e2f1620,\n\t0x3b7a4: 0x6e2f1820, 0x3b7a5: 0x6e2f1a20, 0x3b7a6: 0x6e366020, 0x3b7a7: 0x6e366220,\n\t0x3b7a8: 0x6e366420, 0x3b7a9: 0x6e366620, 0x3b7aa: 0x6e366820, 0x3b7ab: 0x6e366a20,\n\t0x3b7ac: 0x6e366c20, 0x3b7ad: 0x6e366e20, 0x3b7ae: 0x6e367020, 0x3b7af: 0x6e367220,\n\t0x3b7b0: 0x6e3b8820, 0x3b7b1: 0x6e3b8a20, 0x3b7b2: 0x6e3b8c20, 0x3b7b3: 0x6e3b8e20,\n\t0x3b7b4: 0x6e3b9020, 0x3b7b5: 0x6e3b9220, 0x3b7b6: 0x6e3b9420, 0x3b7b7: 0x6e3b9620,\n\t0x3b7b8: 0x6e3b9820, 0x3b7b9: 0x6e3b9a20, 0x3b7ba: 0x6e3f3220, 0x3b7bb: 0x6e3f3420,\n\t0x3b7bc: 0x6e3f3620, 0x3b7bd: 0x6e3f3820, 0x3b7be: 0x6e3f3a20, 0x3b7bf: 0x6e3f3c20,\n\t// Block 0xedf, offset 0x3b7c0\n\t0x3b7c0: 0x6e3f3e20, 0x3b7c1: 0x6e41c020, 0x3b7c2: 0x6e41c220, 0x3b7c3: 0x6e41c420,\n\t0x3b7c4: 0x6e41c620, 0x3b7c5: 0x6e439020, 0x3b7c6: 0x6e439220, 0x3b7c7: 0x6e439420,\n\t0x3b7c8: 0x6e45f220, 0x3b7c9: 0x6e465420, 0x3b7ca: 0x6c8ab620, 0x3b7cb: 0x6c8ab820,\n\t0x3b7cc: 0x6d178c20, 0x3b7cd: 0x6d463e20, 0x3b7ce: 0x6d464020, 0x3b7cf: 0x6d464220,\n\t0x3b7d0: 0x6d734620, 0x3b7d1: 0x6d9cc220, 0x3b7d2: 0x6dbf5420, 0x3b7d3: 0x6ddd3a20,\n\t0x3b7d4: 0x6ddd3c20, 0x3b7d5: 0x6e08f020, 0x3b7d6: 0x6e18ea20, 0x3b7d7: 0x6e18ec20,\n\t0x3b7d8: 0x6e18ee20, 0x3b7d9: 0x6e25a620, 0x3b7da: 0x6e25a820, 0x3b7db: 0x6e2f1c20,\n\t0x3b7dc: 0x6e367820, 0x3b7dd: 0x6e367a20, 0x3b7de: 0x6e367c20, 0x3b7df: 0x6e439620,\n\t0x3b7e0: 0x6d734820, 0x3b7e1: 0x6d734a20, 0x3b7e2: 0x6d9cc420, 0x3b7e3: 0x6ddd3e20,\n\t0x3b7e4: 0x6e08f220, 0x3b7e5: 0x6e18f020, 0x3b7e6: 0x6e18f220, 0x3b7e7: 0x6e25aa20,\n\t0x3b7e8: 0x6e2f1e20, 0x3b7e9: 0x6e41cc20, 0x3b7ea: 0x6e439820, 0x3b7eb: 0x6d178e20,\n\t0x3b7ec: 0x6d179020, 0x3b7ed: 0x6d464820, 0x3b7ee: 0x6d464a20, 0x3b7ef: 0x6d734e20,\n\t0x3b7f0: 0x6d735020, 0x3b7f1: 0x6d9cca20, 0x3b7f2: 0x6d9ccc20, 0x3b7f3: 0x6d9cce20,\n\t0x3b7f4: 0x6d9cd020, 0x3b7f5: 0x6d9cd220, 0x3b7f6: 0x6d9cd420, 0x3b7f7: 0x6d9cd620,\n\t0x3b7f8: 0x6d9cd820, 0x3b7f9: 0x6dbf5820, 0x3b7fa: 0x6dbf5a20, 0x3b7fb: 0x6dbf5c20,\n\t0x3b7fc: 0x6dbf5e20, 0x3b7fd: 0x6dbf6020, 0x3b7fe: 0x6ddd4420, 0x3b7ff: 0x6ddd4620,\n\t// Block 0xee0, offset 0x3b800\n\t0x3b800: 0x6ddd4820, 0x3b801: 0x6ddd4a20, 0x3b802: 0x6ddd4c20, 0x3b803: 0x6df4fc20,\n\t0x3b804: 0x6df4fe20, 0x3b805: 0x6df50020, 0x3b806: 0x6df50220, 0x3b807: 0x6e08f620,\n\t0x3b808: 0x6e08f820, 0x3b809: 0x6e08fa20, 0x3b80a: 0x6e08fc20, 0x3b80b: 0x6e08fe20,\n\t0x3b80c: 0x6e18f820, 0x3b80d: 0x6e18fa20, 0x3b80e: 0x6e18fc20, 0x3b80f: 0x6e18fe20,\n\t0x3b810: 0x6e190020, 0x3b811: 0x6e190220, 0x3b812: 0x6e25b020, 0x3b813: 0x6e25b220,\n\t0x3b814: 0x6e25b420, 0x3b815: 0x6e25b620, 0x3b816: 0x6e2f2020, 0x3b817: 0x6e2f2220,\n\t0x3b818: 0x6e2f2420, 0x3b819: 0x6e2f2620, 0x3b81a: 0x6e2f2820, 0x3b81b: 0x6e2f2a20,\n\t0x3b81c: 0x6e2f2c20, 0x3b81d: 0x6e2f2e20, 0x3b81e: 0x6e2f3020, 0x3b81f: 0x6e2f3220,\n\t0x3b820: 0x6e367e20, 0x3b821: 0x6e368020, 0x3b822: 0x6e368220, 0x3b823: 0x6e368420,\n\t0x3b824: 0x6e3ba020, 0x3b825: 0x6e3ba220, 0x3b826: 0x6e3f4020, 0x3b827: 0x6e3f4220,\n\t0x3b828: 0x6e3f4420, 0x3b829: 0x6e3f4620, 0x3b82a: 0x6e3f4820, 0x3b82b: 0x6e41ce20,\n\t0x3b82c: 0x6e41d020, 0x3b82d: 0x6e439a20, 0x3b82e: 0x6e439c20, 0x3b82f: 0x6e44cc20,\n\t0x3b830: 0x6e44ce20, 0x3b831: 0x6e457c20, 0x3b832: 0x6e457e20, 0x3b833: 0x6e458020,\n\t0x3b834: 0x6e45f420, 0x3b835: 0x6e45f620, 0x3b836: 0x6e465620, 0x3b837: 0x6e470e20,\n\t0x3b838: 0x6e471020, 0x3b839: 0x6cb73a20, 0x3b83a: 0x6cb73c20, 0x3b83b: 0x6cb73e20,\n\t0x3b83c: 0x6cb74020, 0x3b83d: 0x6ce85220, 0x3b83e: 0x6ce85420, 0x3b83f: 0x6ce85620,\n\t// Block 0xee1, offset 0x3b840\n\t0x3b840: 0x6ce85820, 0x3b841: 0x6ce85a20, 0x3b842: 0x6ce85c20, 0x3b843: 0x6ce85e20,\n\t0x3b844: 0x6ce86020, 0x3b845: 0x6ce86220, 0x3b846: 0x6ce86420, 0x3b847: 0x6ce86620,\n\t0x3b848: 0x6ce86820, 0x3b849: 0x6ce86a20, 0x3b84a: 0x6d179420, 0x3b84b: 0x6d179620,\n\t0x3b84c: 0x6d179820, 0x3b84d: 0x6d179a20, 0x3b84e: 0x6d179c20, 0x3b84f: 0x6d179e20,\n\t0x3b850: 0x6d17a020, 0x3b851: 0x6d17a220, 0x3b852: 0x6d17a420, 0x3b853: 0x6d17a620,\n\t0x3b854: 0x6d17a820, 0x3b855: 0x6d17aa20, 0x3b856: 0x6d17ac20, 0x3b857: 0x6d17ae20,\n\t0x3b858: 0x6d17b020, 0x3b859: 0x6d17b220, 0x3b85a: 0x6d17b420, 0x3b85b: 0x6d17b620,\n\t0x3b85c: 0x6d17b820, 0x3b85d: 0x6d17ba20, 0x3b85e: 0x6d17bc20, 0x3b85f: 0x6d17be20,\n\t0x3b860: 0x6d17c020, 0x3b861: 0x6d465a20, 0x3b862: 0x6d465c20, 0x3b863: 0x6d465e20,\n\t0x3b864: 0x6d466020, 0x3b865: 0x6d466220, 0x3b866: 0x6d466420, 0x3b867: 0x6d466620,\n\t0x3b868: 0x6d466820, 0x3b869: 0x6d466a20, 0x3b86a: 0x6d466c20, 0x3b86b: 0x6d466e20,\n\t0x3b86c: 0x6d467020, 0x3b86d: 0x6d467220, 0x3b86e: 0x6d467420, 0x3b86f: 0x6d467620,\n\t0x3b870: 0x6d467820, 0x3b871: 0x6d467a20, 0x3b872: 0x6d467c20, 0x3b873: 0x6d467e20,\n\t0x3b874: 0x6d468020, 0x3b875: 0x6d468220, 0x3b876: 0x6d468420, 0x3b877: 0x6d468620,\n\t0x3b878: 0x6d468820, 0x3b879: 0x6d468a20, 0x3b87a: 0x6d736020, 0x3b87b: 0x6d736220,\n\t0x3b87c: 0x6d736420, 0x3b87d: 0x6d736620, 0x3b87e: 0x6d736820, 0x3b87f: 0x6d736a20,\n\t// Block 0xee2, offset 0x3b880\n\t0x3b880: 0x6d736c20, 0x3b881: 0x6d736e20, 0x3b882: 0x6d737020, 0x3b883: 0x6d737220,\n\t0x3b884: 0x6d737420, 0x3b885: 0x6d737620, 0x3b886: 0x6d737820, 0x3b887: 0x6d737a20,\n\t0x3b888: 0x6d737c20, 0x3b889: 0x6d737e20, 0x3b88a: 0x6d738020, 0x3b88b: 0x6d738220,\n\t0x3b88c: 0x6d9ce020, 0x3b88d: 0x6d9ce220, 0x3b88e: 0x6d9ce420, 0x3b88f: 0x6d9ce620,\n\t0x3b890: 0x6d9ce820, 0x3b891: 0x6d9cea20, 0x3b892: 0x6d9cec20, 0x3b893: 0x6d9cee20,\n\t0x3b894: 0x6d9cf020, 0x3b895: 0x6d9cf220, 0x3b896: 0x6d9cf420, 0x3b897: 0x6d9cf620,\n\t0x3b898: 0x6d9cf820, 0x3b899: 0x6d9cfa20, 0x3b89a: 0x6d9cfc20, 0x3b89b: 0x6d9cfe20,\n\t0x3b89c: 0x6d9d0020, 0x3b89d: 0x6d9d0220, 0x3b89e: 0x6d9d0420, 0x3b89f: 0x6d9d0620,\n\t0x3b8a0: 0x6d9d0820, 0x3b8a1: 0x6d9d0a20, 0x3b8a2: 0x6dbf6620, 0x3b8a3: 0x6dbf6820,\n\t0x3b8a4: 0x6dbf6a20, 0x3b8a5: 0x6dbf6c20, 0x3b8a6: 0x6dbf6e20, 0x3b8a7: 0x6dbf7020,\n\t0x3b8a8: 0x6dbf7220, 0x3b8a9: 0x6dbf7420, 0x3b8aa: 0x6dbf7620, 0x3b8ab: 0x6dbf7820,\n\t0x3b8ac: 0x6dbf7a20, 0x3b8ad: 0x6dbf7c20, 0x3b8ae: 0x6dbf7e20, 0x3b8af: 0x6dbf8020,\n\t0x3b8b0: 0x6dbf8220, 0x3b8b1: 0x6dbf8420, 0x3b8b2: 0x6dbf8620, 0x3b8b3: 0x6dbf8820,\n\t0x3b8b4: 0x6dbf8a20, 0x3b8b5: 0x6ddd6220, 0x3b8b6: 0x6ddd6420, 0x3b8b7: 0x6ddd6620,\n\t0x3b8b8: 0x6ddd6820, 0x3b8b9: 0x6ddd6a20, 0x3b8ba: 0x6ddd6c20, 0x3b8bb: 0x6ddd6e20,\n\t0x3b8bc: 0x6ddd7020, 0x3b8bd: 0x6ddd7220, 0x3b8be: 0x6ddd7420, 0x3b8bf: 0x6ddd7620,\n\t// Block 0xee3, offset 0x3b8c0\n\t0x3b8c0: 0x6ddd7820, 0x3b8c1: 0x6ddd7a20, 0x3b8c2: 0x6ddd7c20, 0x3b8c3: 0x6ddd7e20,\n\t0x3b8c4: 0x6ddd8020, 0x3b8c5: 0x6ddd8220, 0x3b8c6: 0x6df50820, 0x3b8c7: 0x6df50a20,\n\t0x3b8c8: 0x6df50c20, 0x3b8c9: 0x6df50e20, 0x3b8ca: 0x6df51020, 0x3b8cb: 0x6df51220,\n\t0x3b8cc: 0x6df51420, 0x3b8cd: 0x6df51620, 0x3b8ce: 0x6df51820, 0x3b8cf: 0x6df51a20,\n\t0x3b8d0: 0x6e090420, 0x3b8d1: 0x6e090620, 0x3b8d2: 0x6e090820, 0x3b8d3: 0x6e090a20,\n\t0x3b8d4: 0x6e090c20, 0x3b8d5: 0x6e090e20, 0x3b8d6: 0x6e091020, 0x3b8d7: 0x6e091220,\n\t0x3b8d8: 0x6e091420, 0x3b8d9: 0x6e091620, 0x3b8da: 0x6e091820, 0x3b8db: 0x6e091a20,\n\t0x3b8dc: 0x6e190e20, 0x3b8dd: 0x6e191020, 0x3b8de: 0x6e191220, 0x3b8df: 0x6e191420,\n\t0x3b8e0: 0x6e191620, 0x3b8e1: 0x6e191820, 0x3b8e2: 0x6e191a20, 0x3b8e3: 0x6e191c20,\n\t0x3b8e4: 0x6e191e20, 0x3b8e5: 0x6e192020, 0x3b8e6: 0x6e192220, 0x3b8e7: 0x6e192420,\n\t0x3b8e8: 0x6e192620, 0x3b8e9: 0x6e192820, 0x3b8ea: 0x6e192a20, 0x3b8eb: 0x6e192c20,\n\t0x3b8ec: 0x6e192e20, 0x3b8ed: 0x6e193020, 0x3b8ee: 0x6e25c220, 0x3b8ef: 0x6e25c420,\n\t0x3b8f0: 0x6e25c620, 0x3b8f1: 0x6e2f3620, 0x3b8f2: 0x6e2f3820, 0x3b8f3: 0x6e2f3a20,\n\t0x3b8f4: 0x6e2f3c20, 0x3b8f5: 0x6e2f3e20, 0x3b8f6: 0x6e2f4020, 0x3b8f7: 0x6e2f4220,\n\t0x3b8f8: 0x6e2f4420, 0x3b8f9: 0x6e2f4620, 0x3b8fa: 0x6e369020, 0x3b8fb: 0x6e369220,\n\t0x3b8fc: 0x6e369420, 0x3b8fd: 0x6e369620, 0x3b8fe: 0x6e369820, 0x3b8ff: 0x6e3ba420,\n\t// Block 0xee4, offset 0x3b900\n\t0x3b900: 0x6e3f4a20, 0x3b901: 0x6e3f4c20, 0x3b902: 0x6e3f4e20, 0x3b903: 0x6e3f5020,\n\t0x3b904: 0x6e41d220, 0x3b905: 0x6e41d420, 0x3b906: 0x6e43a020, 0x3b907: 0x6e43a220,\n\t0x3b908: 0x6e44d020, 0x3b909: 0x6e45f820, 0x3b90a: 0x6e465820, 0x3b90b: 0x6cb74820,\n\t0x3b90c: 0x6d17ce20, 0x3b90d: 0x6d17d020, 0x3b90e: 0x6d17d220, 0x3b90f: 0x6d17d420,\n\t0x3b910: 0x6d17d620, 0x3b911: 0x6d17d820, 0x3b912: 0x6d17da20, 0x3b913: 0x6d17dc20,\n\t0x3b914: 0x6d469a20, 0x3b915: 0x6d469c20, 0x3b916: 0x6d469e20, 0x3b917: 0x6d46a020,\n\t0x3b918: 0x6d46a220, 0x3b919: 0x6d46a420, 0x3b91a: 0x6d46a620, 0x3b91b: 0x6d46a820,\n\t0x3b91c: 0x6d46aa20, 0x3b91d: 0x6d46ac20, 0x3b91e: 0x6d46ae20, 0x3b91f: 0x6d46b020,\n\t0x3b920: 0x6d73c420, 0x3b921: 0x6d73c620, 0x3b922: 0x6d73c820, 0x3b923: 0x6d73ca20,\n\t0x3b924: 0x6d73cc20, 0x3b925: 0x6d73ce20, 0x3b926: 0x6d73d020, 0x3b927: 0x6d73d220,\n\t0x3b928: 0x6d73d420, 0x3b929: 0x6d73d620, 0x3b92a: 0x6d73d820, 0x3b92b: 0x6d73da20,\n\t0x3b92c: 0x6d73dc20, 0x3b92d: 0x6d73de20, 0x3b92e: 0x6d73e020, 0x3b92f: 0x6d73e220,\n\t0x3b930: 0x6d73e420, 0x3b931: 0x6d73e620, 0x3b932: 0x6d73e820, 0x3b933: 0x6d73ea20,\n\t0x3b934: 0x6d73ec20, 0x3b935: 0x6d73ee20, 0x3b936: 0x6d73f020, 0x3b937: 0x6d73f220,\n\t0x3b938: 0x6d73f420, 0x3b939: 0x6d73f620, 0x3b93a: 0x6d73f820, 0x3b93b: 0x6d73fa20,\n\t0x3b93c: 0x6d73fc20, 0x3b93d: 0x6d73fe20, 0x3b93e: 0x6d740020, 0x3b93f: 0x6d740220,\n\t// Block 0xee5, offset 0x3b940\n\t0x3b940: 0x6d740420, 0x3b941: 0x6d9d6220, 0x3b942: 0x6d9d6420, 0x3b943: 0x6d9d6620,\n\t0x3b944: 0x6d9d6820, 0x3b945: 0x6d9d6a20, 0x3b946: 0x6d9d6c20, 0x3b947: 0x6d9d6e20,\n\t0x3b948: 0x6d9d7020, 0x3b949: 0x6d9d7220, 0x3b94a: 0x6d9d7420, 0x3b94b: 0x6d9d7620,\n\t0x3b94c: 0x6d9d7820, 0x3b94d: 0x6d9d7a20, 0x3b94e: 0x6d9d7c20, 0x3b94f: 0x6d9d7e20,\n\t0x3b950: 0x6d9d8020, 0x3b951: 0x6d9d8220, 0x3b952: 0x6d9d8420, 0x3b953: 0x6d9d8620,\n\t0x3b954: 0x6d9d8820, 0x3b955: 0x6d9d8a20, 0x3b956: 0x6d9d8c20, 0x3b957: 0x6d9d8e20,\n\t0x3b958: 0x6d9d9020, 0x3b959: 0x6d9d9220, 0x3b95a: 0x6d9d9420, 0x3b95b: 0x6d9d9620,\n\t0x3b95c: 0x6d9d9820, 0x3b95d: 0x6d9d9a20, 0x3b95e: 0x6d9d9c20, 0x3b95f: 0x6d9d9e20,\n\t0x3b960: 0x6d9da020, 0x3b961: 0x6dbfd420, 0x3b962: 0x6dbfd620, 0x3b963: 0x6dbfd820,\n\t0x3b964: 0x6dbfda20, 0x3b965: 0x6dbfdc20, 0x3b966: 0x6dbfde20, 0x3b967: 0x6dbfe020,\n\t0x3b968: 0x6dbfe220, 0x3b969: 0x6dbfe420, 0x3b96a: 0x6dbfe620, 0x3b96b: 0x6dbfe820,\n\t0x3b96c: 0x6dbfea20, 0x3b96d: 0x6dbfec20, 0x3b96e: 0x6dbfee20, 0x3b96f: 0x6dbff020,\n\t0x3b970: 0x6dbff220, 0x3b971: 0x6dbff420, 0x3b972: 0x6dbff620, 0x3b973: 0x6dbff820,\n\t0x3b974: 0x6dbffa20, 0x3b975: 0x6dbffc20, 0x3b976: 0x6dbffe20, 0x3b977: 0x6d46b220,\n\t0x3b978: 0x6dc00020, 0x3b979: 0x6dc00220, 0x3b97a: 0x6dc00420, 0x3b97b: 0x6dc00620,\n\t0x3b97c: 0x6dc00820, 0x3b97d: 0x6dc00a20, 0x3b97e: 0x6dc00c20, 0x3b97f: 0x6dc00e20,\n\t// Block 0xee6, offset 0x3b980\n\t0x3b980: 0x6dc01020, 0x3b981: 0x6dc01220, 0x3b982: 0x6dc01420, 0x3b983: 0x6dc01620,\n\t0x3b984: 0x6dc01820, 0x3b985: 0x6dc01a20, 0x3b986: 0x6dc01c20, 0x3b987: 0x6dc01e20,\n\t0x3b988: 0x6dc02020, 0x3b989: 0x6dc02220, 0x3b98a: 0x6dc02420, 0x3b98b: 0x6dc02620,\n\t0x3b98c: 0x6dc02820, 0x3b98d: 0x6dddd220, 0x3b98e: 0x6dddd420, 0x3b98f: 0x6dddd620,\n\t0x3b990: 0x6dddd820, 0x3b991: 0x6dddda20, 0x3b992: 0x6ddddc20, 0x3b993: 0x6dddde20,\n\t0x3b994: 0x6ddde020, 0x3b995: 0x6ddde220, 0x3b996: 0x6ddde420, 0x3b997: 0x6ddde620,\n\t0x3b998: 0x6ddde820, 0x3b999: 0x6dddea20, 0x3b99a: 0x6dddec20, 0x3b99b: 0x6dddee20,\n\t0x3b99c: 0x6dddf020, 0x3b99d: 0x6dddf220, 0x3b99e: 0x6dddf420, 0x3b99f: 0x6dddf620,\n\t0x3b9a0: 0x6dddf820, 0x3b9a1: 0x6dddfa20, 0x3b9a2: 0x6dddfc20, 0x3b9a3: 0x6dddfe20,\n\t0x3b9a4: 0x6dde0020, 0x3b9a5: 0x6dde0220, 0x3b9a6: 0x6dde0420, 0x3b9a7: 0x6dde0620,\n\t0x3b9a8: 0x6dde0820, 0x3b9a9: 0x6dde0a20, 0x3b9aa: 0x6dde0c20, 0x3b9ab: 0x6dde0e20,\n\t0x3b9ac: 0x6dde1020, 0x3b9ad: 0x6dde1220, 0x3b9ae: 0x6dde1420, 0x3b9af: 0x6dde1620,\n\t0x3b9b0: 0x6dde1820, 0x3b9b1: 0x6dde1a20, 0x3b9b2: 0x6dde1c20, 0x3b9b3: 0x6dde1e20,\n\t0x3b9b4: 0x6dde2020, 0x3b9b5: 0x6dde2220, 0x3b9b6: 0x6dde2420, 0x3b9b7: 0x6df58620,\n\t0x3b9b8: 0x6df58820, 0x3b9b9: 0x6df58a20, 0x3b9ba: 0x6df58c20, 0x3b9bb: 0x6df58e20,\n\t0x3b9bc: 0x6df59020, 0x3b9bd: 0x6df59220, 0x3b9be: 0x6df59420, 0x3b9bf: 0x6df59620,\n\t// Block 0xee7, offset 0x3b9c0\n\t0x3b9c0: 0x6df59820, 0x3b9c1: 0x6df59a20, 0x3b9c2: 0x6df59c20, 0x3b9c3: 0x6df59e20,\n\t0x3b9c4: 0x6df5a020, 0x3b9c5: 0x6df5a220, 0x3b9c6: 0x6df5a420, 0x3b9c7: 0x6df5a620,\n\t0x3b9c8: 0x6df5a820, 0x3b9c9: 0x6df5aa20, 0x3b9ca: 0x6df5ac20, 0x3b9cb: 0x6df5ae20,\n\t0x3b9cc: 0x6df5b020, 0x3b9cd: 0x6df5b220, 0x3b9ce: 0x6df5b420, 0x3b9cf: 0x6df5b620,\n\t0x3b9d0: 0x6df5b820, 0x3b9d1: 0x6df5ba20, 0x3b9d2: 0x6df5bc20, 0x3b9d3: 0x6df5be20,\n\t0x3b9d4: 0x6df5c020, 0x3b9d5: 0x6df5c220, 0x3b9d6: 0x6df5c420, 0x3b9d7: 0x6df5c620,\n\t0x3b9d8: 0x6df5c820, 0x3b9d9: 0x6df5ca20, 0x3b9da: 0x6df5cc20, 0x3b9db: 0x6df5ce20,\n\t0x3b9dc: 0x6df5d020, 0x3b9dd: 0x6df5d220, 0x3b9de: 0x6df5d420, 0x3b9df: 0x6df5d620,\n\t0x3b9e0: 0x6df5d820, 0x3b9e1: 0x6df5da20, 0x3b9e2: 0x6df5dc20, 0x3b9e3: 0x6df5de20,\n\t0x3b9e4: 0x6df5e020, 0x3b9e5: 0x6df5e220, 0x3b9e6: 0x6df5e420, 0x3b9e7: 0x6df5e620,\n\t0x3b9e8: 0x6df5e820, 0x3b9e9: 0x6df5ea20, 0x3b9ea: 0x6df5ec20, 0x3b9eb: 0x6df5ee20,\n\t0x3b9ec: 0x6df5f020, 0x3b9ed: 0x6df5f220, 0x3b9ee: 0x6df5f420, 0x3b9ef: 0x6df5f620,\n\t0x3b9f0: 0x6df5f820, 0x3b9f1: 0x6df5fa20, 0x3b9f2: 0x6df5fc20, 0x3b9f3: 0x6df5fe20,\n\t0x3b9f4: 0x6df60020, 0x3b9f5: 0x6df60220, 0x3b9f6: 0x6df60420, 0x3b9f7: 0x6df60620,\n\t0x3b9f8: 0x6df60820, 0x3b9f9: 0x6df60a20, 0x3b9fa: 0x6df60c20, 0x3b9fb: 0x6df60e20,\n\t0x3b9fc: 0x6df61020, 0x3b9fd: 0x6df61220, 0x3b9fe: 0x6e097a20, 0x3b9ff: 0x6e097c20,\n\t// Block 0xee8, offset 0x3ba00\n\t0x3ba00: 0x6e097e20, 0x3ba01: 0x6e098020, 0x3ba02: 0x6e098220, 0x3ba03: 0x6e098420,\n\t0x3ba04: 0x6e098620, 0x3ba05: 0x6e098820, 0x3ba06: 0x6e098a20, 0x3ba07: 0x6e098c20,\n\t0x3ba08: 0x6e098e20, 0x3ba09: 0x6e099020, 0x3ba0a: 0x6e099220, 0x3ba0b: 0x6e099420,\n\t0x3ba0c: 0x6e099620, 0x3ba0d: 0x6e099820, 0x3ba0e: 0x6e099a20, 0x3ba0f: 0x6e099c20,\n\t0x3ba10: 0x6e099e20, 0x3ba11: 0x6e09a020, 0x3ba12: 0x6e09a220, 0x3ba13: 0x6e09a420,\n\t0x3ba14: 0x6e09a620, 0x3ba15: 0x6e09a820, 0x3ba16: 0x6e09aa20, 0x3ba17: 0x6e09ac20,\n\t0x3ba18: 0x6e09ae20, 0x3ba19: 0x6e09b020, 0x3ba1a: 0x6e09b220, 0x3ba1b: 0x6e09b420,\n\t0x3ba1c: 0x6e09b620, 0x3ba1d: 0x6e09b820, 0x3ba1e: 0x6e09ba20, 0x3ba1f: 0x6e09bc20,\n\t0x3ba20: 0x6e09be20, 0x3ba21: 0x6e09c020, 0x3ba22: 0x6e09c220, 0x3ba23: 0x6e09c420,\n\t0x3ba24: 0x6e09c620, 0x3ba25: 0x6e09c820, 0x3ba26: 0x6e09ca20, 0x3ba27: 0x6e09cc20,\n\t0x3ba28: 0x6e09ce20, 0x3ba29: 0x6e09d020, 0x3ba2a: 0x6e09d220, 0x3ba2b: 0x6e09d420,\n\t0x3ba2c: 0x6e09d620, 0x3ba2d: 0x6e09d820, 0x3ba2e: 0x6e09da20, 0x3ba2f: 0x6e09dc20,\n\t0x3ba30: 0x6e09de20, 0x3ba31: 0x6e196e20, 0x3ba32: 0x6e197020, 0x3ba33: 0x6e197220,\n\t0x3ba34: 0x6e197420, 0x3ba35: 0x6e197620, 0x3ba36: 0x6e197820, 0x3ba37: 0x6e197a20,\n\t0x3ba38: 0x6e197c20, 0x3ba39: 0x6e197e20, 0x3ba3a: 0x6e198020, 0x3ba3b: 0x6e198220,\n\t0x3ba3c: 0x6e198420, 0x3ba3d: 0x6e198620, 0x3ba3e: 0x6e198820, 0x3ba3f: 0x6e198a20,\n\t// Block 0xee9, offset 0x3ba40\n\t0x3ba40: 0x6e198c20, 0x3ba41: 0x6e198e20, 0x3ba42: 0x6e199020, 0x3ba43: 0x6e199220,\n\t0x3ba44: 0x6e199420, 0x3ba45: 0x6e199620, 0x3ba46: 0x6e199820, 0x3ba47: 0x6e199a20,\n\t0x3ba48: 0x6e199c20, 0x3ba49: 0x6e199e20, 0x3ba4a: 0x6e19a020, 0x3ba4b: 0x6e19a220,\n\t0x3ba4c: 0x6e19a420, 0x3ba4d: 0x6e19a620, 0x3ba4e: 0x6e19a820, 0x3ba4f: 0x6e19aa20,\n\t0x3ba50: 0x6e19ac20, 0x3ba51: 0x6e19ae20, 0x3ba52: 0x6e19b020, 0x3ba53: 0x6e19b220,\n\t0x3ba54: 0x6e19b420, 0x3ba55: 0x6e19b620, 0x3ba56: 0x6e19b820, 0x3ba57: 0x6e19ba20,\n\t0x3ba58: 0x6e19bc20, 0x3ba59: 0x6e19be20, 0x3ba5a: 0x6e19c020, 0x3ba5b: 0x6e19c220,\n\t0x3ba5c: 0x6e19c420, 0x3ba5d: 0x6e19c620, 0x3ba5e: 0x6e19c820, 0x3ba5f: 0x6e19ca20,\n\t0x3ba60: 0x6e19cc20, 0x3ba61: 0x6e19ce20, 0x3ba62: 0x6e19d020, 0x3ba63: 0x6e19d220,\n\t0x3ba64: 0x6e19d420, 0x3ba65: 0x6e19d620, 0x3ba66: 0x6e19d820, 0x3ba67: 0x6e19da20,\n\t0x3ba68: 0x6e19dc20, 0x3ba69: 0x6e19de20, 0x3ba6a: 0x6e19e020, 0x3ba6b: 0x6e19e220,\n\t0x3ba6c: 0x6e19e420, 0x3ba6d: 0x6e260e20, 0x3ba6e: 0x6e261020, 0x3ba6f: 0x6e261220,\n\t0x3ba70: 0x6e261420, 0x3ba71: 0x6e261620, 0x3ba72: 0x6e261820, 0x3ba73: 0x6e261a20,\n\t0x3ba74: 0x6e261c20, 0x3ba75: 0x6e261e20, 0x3ba76: 0x6e262020, 0x3ba77: 0x6e262220,\n\t0x3ba78: 0x6e262420, 0x3ba79: 0x6e262620, 0x3ba7a: 0x6e262820, 0x3ba7b: 0x6e262a20,\n\t0x3ba7c: 0x6e262c20, 0x3ba7d: 0x6e262e20, 0x3ba7e: 0x6e263020, 0x3ba7f: 0x6e263220,\n\t// Block 0xeea, offset 0x3ba80\n\t0x3ba80: 0x6e263420, 0x3ba81: 0x6e263620, 0x3ba82: 0x6e263820, 0x3ba83: 0x6e263a20,\n\t0x3ba84: 0x6e263c20, 0x3ba85: 0x6e263e20, 0x3ba86: 0x6e264020, 0x3ba87: 0x6e264220,\n\t0x3ba88: 0x6e264420, 0x3ba89: 0x6e264620, 0x3ba8a: 0x6e264820, 0x3ba8b: 0x6e264a20,\n\t0x3ba8c: 0x6e264c20, 0x3ba8d: 0x6e264e20, 0x3ba8e: 0x6e265020, 0x3ba8f: 0x6e265220,\n\t0x3ba90: 0x6e265420, 0x3ba91: 0x6e265620, 0x3ba92: 0x6e265820, 0x3ba93: 0x6e265a20,\n\t0x3ba94: 0x6e265c20, 0x3ba95: 0x6e265e20, 0x3ba96: 0x6e266020, 0x3ba97: 0x6e266220,\n\t0x3ba98: 0x6e2f7a20, 0x3ba99: 0x6e2f7c20, 0x3ba9a: 0x6e2f7e20, 0x3ba9b: 0x6e2f8020,\n\t0x3ba9c: 0x6e2f8220, 0x3ba9d: 0x6e2f8420, 0x3ba9e: 0x6e2f8620, 0x3ba9f: 0x6e2f8820,\n\t0x3baa0: 0x6e2f8a20, 0x3baa1: 0x6e2f8c20, 0x3baa2: 0x6e2f8e20, 0x3baa3: 0x6e2f9020,\n\t0x3baa4: 0x6e2f9220, 0x3baa5: 0x6e2f9420, 0x3baa6: 0x6e2f9620, 0x3baa7: 0x6e2f9820,\n\t0x3baa8: 0x6e2f9a20, 0x3baa9: 0x6e2f9c20, 0x3baaa: 0x6e2f9e20, 0x3baab: 0x6e2fa020,\n\t0x3baac: 0x6e2fa220, 0x3baad: 0x6e2fa420, 0x3baae: 0x6e2fa620, 0x3baaf: 0x6e2fa820,\n\t0x3bab0: 0x6e2faa20, 0x3bab1: 0x6e2fac20, 0x3bab2: 0x6e2fae20, 0x3bab3: 0x6e2fb020,\n\t0x3bab4: 0x6e2fb220, 0x3bab5: 0x6e2fb420, 0x3bab6: 0x6e2fb620, 0x3bab7: 0x6e2fb820,\n\t0x3bab8: 0x6e2fba20, 0x3bab9: 0x6e2fbc20, 0x3baba: 0x6e2fbe20, 0x3babb: 0x6e2fc020,\n\t0x3babc: 0x6e2fc220, 0x3babd: 0x6e2fc420, 0x3babe: 0x6e2fc620, 0x3babf: 0x6e2fc820,\n\t// Block 0xeeb, offset 0x3bac0\n\t0x3bac0: 0x6e2fca20, 0x3bac1: 0x6e2fcc20, 0x3bac2: 0x6e36c220, 0x3bac3: 0x6e36c420,\n\t0x3bac4: 0x6e36c620, 0x3bac5: 0x6e36c820, 0x3bac6: 0x6e36ca20, 0x3bac7: 0x6e36cc20,\n\t0x3bac8: 0x6e36ce20, 0x3bac9: 0x6e36d020, 0x3baca: 0x6e36d220, 0x3bacb: 0x6e36d420,\n\t0x3bacc: 0x6e36d620, 0x3bacd: 0x6e36d820, 0x3bace: 0x6e36da20, 0x3bacf: 0x6e36dc20,\n\t0x3bad0: 0x6e36de20, 0x3bad1: 0x6e36e020, 0x3bad2: 0x6e36e220, 0x3bad3: 0x6e36e420,\n\t0x3bad4: 0x6e36e620, 0x3bad5: 0x6e36e820, 0x3bad6: 0x6e36ea20, 0x3bad7: 0x6e36ec20,\n\t0x3bad8: 0x6e36ee20, 0x3bad9: 0x6e36f020, 0x3bada: 0x6e36f220, 0x3badb: 0x6e36f420,\n\t0x3badc: 0x6e36f620, 0x3badd: 0x6e36f820, 0x3bade: 0x6e36fa20, 0x3badf: 0x6e36fc20,\n\t0x3bae0: 0x6e36fe20, 0x3bae1: 0x6e370020, 0x3bae2: 0x6e370220, 0x3bae3: 0x6e370420,\n\t0x3bae4: 0x6e370620, 0x3bae5: 0x6e3bb620, 0x3bae6: 0x6e3bb820, 0x3bae7: 0x6e3bba20,\n\t0x3bae8: 0x6e3bbc20, 0x3bae9: 0x6e3bbe20, 0x3baea: 0x6e3bc020, 0x3baeb: 0x6e3bc220,\n\t0x3baec: 0x6e3bc420, 0x3baed: 0x6e3bc620, 0x3baee: 0x6e3bc820, 0x3baef: 0x6e3bca20,\n\t0x3baf0: 0x6e3bcc20, 0x3baf1: 0x6e3bce20, 0x3baf2: 0x6e3bd020, 0x3baf3: 0x6e3bd220,\n\t0x3baf4: 0x6e3bd420, 0x3baf5: 0x6e3bd620, 0x3baf6: 0x6e3bd820, 0x3baf7: 0x6e3bda20,\n\t0x3baf8: 0x6e3bdc20, 0x3baf9: 0x6e3bde20, 0x3bafa: 0x6e3be020, 0x3bafb: 0x6e3f6020,\n\t0x3bafc: 0x6e3f6220, 0x3bafd: 0x6e3f6420, 0x3bafe: 0x6e3f6620, 0x3baff: 0x6e3f6820,\n\t// Block 0xeec, offset 0x3bb00\n\t0x3bb00: 0x6e3f6a20, 0x3bb01: 0x6e3f6c20, 0x3bb02: 0x6e3f6e20, 0x3bb03: 0x6e3f7020,\n\t0x3bb04: 0x6e3f7220, 0x3bb05: 0x6e3f7420, 0x3bb06: 0x6e3f7620, 0x3bb07: 0x6e3f7820,\n\t0x3bb08: 0x6e3f7a20, 0x3bb09: 0x6e3f7c20, 0x3bb0a: 0x6e3f7e20, 0x3bb0b: 0x6e3f8020,\n\t0x3bb0c: 0x6e3f8220, 0x3bb0d: 0x6e41de20, 0x3bb0e: 0x6e41e020, 0x3bb0f: 0x6e41e220,\n\t0x3bb10: 0x6e41e420, 0x3bb11: 0x6e41e620, 0x3bb12: 0x6e41e820, 0x3bb13: 0x6e41ea20,\n\t0x3bb14: 0x6e41ec20, 0x3bb15: 0x6e41ee20, 0x3bb16: 0x6e41f020, 0x3bb17: 0x6e41f220,\n\t0x3bb18: 0x6e41f420, 0x3bb19: 0x6e41f620, 0x3bb1a: 0x6e43a420, 0x3bb1b: 0x6e43a620,\n\t0x3bb1c: 0x6e43a820, 0x3bb1d: 0x6e43aa20, 0x3bb1e: 0x6e43ac20, 0x3bb1f: 0x6e43ae20,\n\t0x3bb20: 0x6e43b020, 0x3bb21: 0x6e43b220, 0x3bb22: 0x6e43b420, 0x3bb23: 0x6e43b620,\n\t0x3bb24: 0x6e43b820, 0x3bb25: 0x6e43ba20, 0x3bb26: 0x6e43bc20, 0x3bb27: 0x6e44d420,\n\t0x3bb28: 0x6e44d620, 0x3bb29: 0x6e44d820, 0x3bb2a: 0x6e44da20, 0x3bb2b: 0x6e44dc20,\n\t0x3bb2c: 0x6e44de20, 0x3bb2d: 0x6e44e020, 0x3bb2e: 0x6e44e220, 0x3bb2f: 0x6e44e420,\n\t0x3bb30: 0x6e458420, 0x3bb31: 0x6e458620, 0x3bb32: 0x6e458820, 0x3bb33: 0x6e45fa20,\n\t0x3bb34: 0x6e45fc20, 0x3bb35: 0x6e465a20, 0x3bb36: 0x6e465c20, 0x3bb37: 0x6e465e20,\n\t0x3bb38: 0x6e466020, 0x3bb39: 0x6ce87820, 0x3bb3a: 0x6ce87a20, 0x3bb3b: 0x6ce87c20,\n\t0x3bb3c: 0x6d46d420, 0x3bb3d: 0x6d46d620, 0x3bb3e: 0x6d46d820, 0x3bb3f: 0x6d46da20,\n\t// Block 0xeed, offset 0x3bb40\n\t0x3bb40: 0x6d17fa20, 0x3bb41: 0x6d742620, 0x3bb42: 0x6d742820, 0x3bb43: 0x6d742a20,\n\t0x3bb44: 0x6d742c20, 0x3bb45: 0x6d9dce20, 0x3bb46: 0x6d9dd020, 0x3bb47: 0x6d9dd220,\n\t0x3bb48: 0x6d9dd420, 0x3bb49: 0x6d742e20, 0x3bb4a: 0x6dc05a20, 0x3bb4b: 0x6dc05c20,\n\t0x3bb4c: 0x6df63020, 0x3bb4d: 0x6e1a0020, 0x3bb4e: 0x6e2fdc20, 0x3bb4f: 0x6ce88820,\n\t0x3bb50: 0x6ce88a20, 0x3bb51: 0x6ce88c20, 0x3bb52: 0x6d181a20, 0x3bb53: 0x6d181c20,\n\t0x3bb54: 0x6d181e20, 0x3bb55: 0x6d182020, 0x3bb56: 0x6d182220, 0x3bb57: 0x6d182420,\n\t0x3bb58: 0x6d182620, 0x3bb59: 0x6d182820, 0x3bb5a: 0x6d182a20, 0x3bb5b: 0x6d182c20,\n\t0x3bb5c: 0x6d182e20, 0x3bb5d: 0x6d470020, 0x3bb5e: 0x6d470220, 0x3bb5f: 0x6d470420,\n\t0x3bb60: 0x6d470620, 0x3bb61: 0x6d470820, 0x3bb62: 0x6d470a20, 0x3bb63: 0x6d470c20,\n\t0x3bb64: 0x6d470e20, 0x3bb65: 0x6d471020, 0x3bb66: 0x6d471220, 0x3bb67: 0x6d471420,\n\t0x3bb68: 0x6d471620, 0x3bb69: 0x6d471820, 0x3bb6a: 0x6d471a20, 0x3bb6b: 0x6d471c20,\n\t0x3bb6c: 0x6d471e20, 0x3bb6d: 0x6d472020, 0x3bb6e: 0x6d472220, 0x3bb6f: 0x6d472420,\n\t0x3bb70: 0x6d747e20, 0x3bb71: 0x6d748020, 0x3bb72: 0x6d748220, 0x3bb73: 0x6d748420,\n\t0x3bb74: 0x6d748620, 0x3bb75: 0x6d748820, 0x3bb76: 0x6d748a20, 0x3bb77: 0x6d748c20,\n\t0x3bb78: 0x6d748e20, 0x3bb79: 0x6d749020, 0x3bb7a: 0x6d749220, 0x3bb7b: 0x6d749420,\n\t0x3bb7c: 0x6d749620, 0x3bb7d: 0x6d749820, 0x3bb7e: 0x6d749a20, 0x3bb7f: 0x6d749c20,\n\t// Block 0xeee, offset 0x3bb80\n\t0x3bb80: 0x6d749e20, 0x3bb81: 0x6d74a020, 0x3bb82: 0x6d74a220, 0x3bb83: 0x6d74a420,\n\t0x3bb84: 0x6d74a620, 0x3bb85: 0x6d74a820, 0x3bb86: 0x6d74aa20, 0x3bb87: 0x6d74ac20,\n\t0x3bb88: 0x6d74ae20, 0x3bb89: 0x6d74b020, 0x3bb8a: 0x6d74b220, 0x3bb8b: 0x6d74b420,\n\t0x3bb8c: 0x6d74b620, 0x3bb8d: 0x6d74b820, 0x3bb8e: 0x6d74ba20, 0x3bb8f: 0x6d74bc20,\n\t0x3bb90: 0x6d74be20, 0x3bb91: 0x6d74c020, 0x3bb92: 0x6d74c220, 0x3bb93: 0x6d74c420,\n\t0x3bb94: 0x6d74c620, 0x3bb95: 0x6d74c820, 0x3bb96: 0x6d74ca20, 0x3bb97: 0x6d74cc20,\n\t0x3bb98: 0x6d74ce20, 0x3bb99: 0x6d74d020, 0x3bb9a: 0x6d74d220, 0x3bb9b: 0x6d74d420,\n\t0x3bb9c: 0x6d9e4220, 0x3bb9d: 0x6d9e4420, 0x3bb9e: 0x6d9e4620, 0x3bb9f: 0x6d9e4820,\n\t0x3bba0: 0x6d9e4a20, 0x3bba1: 0x6d9e4c20, 0x3bba2: 0x6d9e4e20, 0x3bba3: 0x6d9e5020,\n\t0x3bba4: 0x6d9e5220, 0x3bba5: 0x6d9e5420, 0x3bba6: 0x6d9e5620, 0x3bba7: 0x6d9e5820,\n\t0x3bba8: 0x6d9e5a20, 0x3bba9: 0x6d9e5c20, 0x3bbaa: 0x6d9e5e20, 0x3bbab: 0x6d9e6020,\n\t0x3bbac: 0x6d9e6220, 0x3bbad: 0x6d9e6420, 0x3bbae: 0x6d9e6620, 0x3bbaf: 0x6d9e6820,\n\t0x3bbb0: 0x6d9e6a20, 0x3bbb1: 0x6d9e6c20, 0x3bbb2: 0x6d9e6e20, 0x3bbb3: 0x6d9e7020,\n\t0x3bbb4: 0x6d9e7220, 0x3bbb5: 0x6d9e7420, 0x3bbb6: 0x6d9e7620, 0x3bbb7: 0x6d9e7820,\n\t0x3bbb8: 0x6d9e7a20, 0x3bbb9: 0x6d9e7c20, 0x3bbba: 0x6d9e7e20, 0x3bbbb: 0x6d9e8020,\n\t0x3bbbc: 0x6d9e8220, 0x3bbbd: 0x6d9e8420, 0x3bbbe: 0x6d9e8620, 0x3bbbf: 0x6d9e8820,\n\t// Block 0xeef, offset 0x3bbc0\n\t0x3bbc0: 0x6d9e8a20, 0x3bbc1: 0x6d9e8c20, 0x3bbc2: 0x6d9e8e20, 0x3bbc3: 0x6d9e9020,\n\t0x3bbc4: 0x6d9e9220, 0x3bbc5: 0x6d9e9420, 0x3bbc6: 0x6d9e9620, 0x3bbc7: 0x6d9e9820,\n\t0x3bbc8: 0x6d9e9a20, 0x3bbc9: 0x6d9e9c20, 0x3bbca: 0x6d9e9e20, 0x3bbcb: 0x6d9ea020,\n\t0x3bbcc: 0x6d9ea220, 0x3bbcd: 0x6d9ea420, 0x3bbce: 0x6d9ea620, 0x3bbcf: 0x6d9ea820,\n\t0x3bbd0: 0x6d9eaa20, 0x3bbd1: 0x6d9eac20, 0x3bbd2: 0x6dc0ba20, 0x3bbd3: 0x6dc0bc20,\n\t0x3bbd4: 0x6dc0be20, 0x3bbd5: 0x6dc0c020, 0x3bbd6: 0x6dc0c220, 0x3bbd7: 0x6dc0c420,\n\t0x3bbd8: 0x6dc0c620, 0x3bbd9: 0x6dc0c820, 0x3bbda: 0x6dc0ca20, 0x3bbdb: 0x6dc0cc20,\n\t0x3bbdc: 0x6dc0ce20, 0x3bbdd: 0x6dc0d020, 0x3bbde: 0x6dc0d220, 0x3bbdf: 0x6dc0d420,\n\t0x3bbe0: 0x6dc0d620, 0x3bbe1: 0x6dc0d820, 0x3bbe2: 0x6dc0da20, 0x3bbe3: 0x6dc0dc20,\n\t0x3bbe4: 0x6dc0de20, 0x3bbe5: 0x6dc0e020, 0x3bbe6: 0x6dc0e220, 0x3bbe7: 0x6dc0e420,\n\t0x3bbe8: 0x6dc0e620, 0x3bbe9: 0x6dc0e820, 0x3bbea: 0x6dc0ea20, 0x3bbeb: 0x6dc0ec20,\n\t0x3bbec: 0x6dc0ee20, 0x3bbed: 0x6dc0f020, 0x3bbee: 0x6dc0f220, 0x3bbef: 0x6dc0f420,\n\t0x3bbf0: 0x6dc0f620, 0x3bbf1: 0x6dc0f820, 0x3bbf2: 0x6dc0fa20, 0x3bbf3: 0x6dc0fc20,\n\t0x3bbf4: 0x6dc0fe20, 0x3bbf5: 0x6dc10020, 0x3bbf6: 0x6dc10220, 0x3bbf7: 0x6dc10420,\n\t0x3bbf8: 0x6dc10620, 0x3bbf9: 0x6dc10820, 0x3bbfa: 0x6dc10a20, 0x3bbfb: 0x6dc10c20,\n\t0x3bbfc: 0x6dc10e20, 0x3bbfd: 0x6dc11020, 0x3bbfe: 0x6dc11220, 0x3bbff: 0x6dc11420,\n\t// Block 0xef0, offset 0x3bc00\n\t0x3bc00: 0x6dc11620, 0x3bc01: 0x6dc11820, 0x3bc02: 0x6dc11a20, 0x3bc03: 0x6dc11c20,\n\t0x3bc04: 0x6dc11e20, 0x3bc05: 0x6dc12020, 0x3bc06: 0x6dc12220, 0x3bc07: 0x6dc12420,\n\t0x3bc08: 0x6dc12620, 0x3bc09: 0x6dc12820, 0x3bc0a: 0x6dde8220, 0x3bc0b: 0x6dde8420,\n\t0x3bc0c: 0x6dde8620, 0x3bc0d: 0x6dde8820, 0x3bc0e: 0x6dde8a20, 0x3bc0f: 0x6dde8c20,\n\t0x3bc10: 0x6dde8e20, 0x3bc11: 0x6dde9020, 0x3bc12: 0x6dde9220, 0x3bc13: 0x6dde9420,\n\t0x3bc14: 0x6dde9620, 0x3bc15: 0x6dde9820, 0x3bc16: 0x6dde9a20, 0x3bc17: 0x6dde9c20,\n\t0x3bc18: 0x6dde9e20, 0x3bc19: 0x6ddea020, 0x3bc1a: 0x6ddea220, 0x3bc1b: 0x6ddea420,\n\t0x3bc1c: 0x6ddea620, 0x3bc1d: 0x6ddea820, 0x3bc1e: 0x6ddeaa20, 0x3bc1f: 0x6ddeac20,\n\t0x3bc20: 0x6ddeae20, 0x3bc21: 0x6ddeb020, 0x3bc22: 0x6ddeb220, 0x3bc23: 0x6ddeb420,\n\t0x3bc24: 0x6ddeb620, 0x3bc25: 0x6ddeb820, 0x3bc26: 0x6ddeba20, 0x3bc27: 0x6ddebc20,\n\t0x3bc28: 0x6ddebe20, 0x3bc29: 0x6ddec020, 0x3bc2a: 0x6ddec220, 0x3bc2b: 0x6ddec420,\n\t0x3bc2c: 0x6ddec620, 0x3bc2d: 0x6ddec820, 0x3bc2e: 0x6ddeca20, 0x3bc2f: 0x6ddecc20,\n\t0x3bc30: 0x6ddece20, 0x3bc31: 0x6dded020, 0x3bc32: 0x6dded220, 0x3bc33: 0x6dded420,\n\t0x3bc34: 0x6dded620, 0x3bc35: 0x6dded820, 0x3bc36: 0x6ddeda20, 0x3bc37: 0x6df6a020,\n\t0x3bc38: 0x6df6a220, 0x3bc39: 0x6df6a420, 0x3bc3a: 0x6df6a620, 0x3bc3b: 0x6df6a820,\n\t0x3bc3c: 0x6df6aa20, 0x3bc3d: 0x6df6ac20, 0x3bc3e: 0x6df6ae20, 0x3bc3f: 0x6df6b020,\n\t// Block 0xef1, offset 0x3bc40\n\t0x3bc40: 0x6df6b220, 0x3bc41: 0x6df6b420, 0x3bc42: 0x6df6b620, 0x3bc43: 0x6df6b820,\n\t0x3bc44: 0x6df6ba20, 0x3bc45: 0x6df6bc20, 0x3bc46: 0x6df6be20, 0x3bc47: 0x6df6c020,\n\t0x3bc48: 0x6df6c220, 0x3bc49: 0x6df6c420, 0x3bc4a: 0x6df6c620, 0x3bc4b: 0x6df6c820,\n\t0x3bc4c: 0x6df6ca20, 0x3bc4d: 0x6df6cc20, 0x3bc4e: 0x6df6ce20, 0x3bc4f: 0x6df6d020,\n\t0x3bc50: 0x6df6d220, 0x3bc51: 0x6df6d420, 0x3bc52: 0x6df6d620, 0x3bc53: 0x6df6d820,\n\t0x3bc54: 0x6df6da20, 0x3bc55: 0x6df6dc20, 0x3bc56: 0x6df6de20, 0x3bc57: 0x6df6e020,\n\t0x3bc58: 0x6df6e220, 0x3bc59: 0x6df6e420, 0x3bc5a: 0x6df6e620, 0x3bc5b: 0x6df6e820,\n\t0x3bc5c: 0x6df6ea20, 0x3bc5d: 0x6df6ec20, 0x3bc5e: 0x6df6ee20, 0x3bc5f: 0x6df6f020,\n\t0x3bc60: 0x6df6f220, 0x3bc61: 0x6df6f420, 0x3bc62: 0x6df6f620, 0x3bc63: 0x6df6f820,\n\t0x3bc64: 0x6df6fa20, 0x3bc65: 0x6df6fc20, 0x3bc66: 0x6df6fe20, 0x3bc67: 0x6df70020,\n\t0x3bc68: 0x6df70220, 0x3bc69: 0x6df70420, 0x3bc6a: 0x6df70620, 0x3bc6b: 0x6df70820,\n\t0x3bc6c: 0x6df70a20, 0x3bc6d: 0x6df70c20, 0x3bc6e: 0x6df70e20, 0x3bc6f: 0x6df71020,\n\t0x3bc70: 0x6df71220, 0x3bc71: 0x6df71420, 0x3bc72: 0x6df71620, 0x3bc73: 0x6df71820,\n\t0x3bc74: 0x6df71a20, 0x3bc75: 0x6df71c20, 0x3bc76: 0x6e0a4420, 0x3bc77: 0x6e0a4620,\n\t0x3bc78: 0x6e0a4820, 0x3bc79: 0x6e0a4a20, 0x3bc7a: 0x6e0a4c20, 0x3bc7b: 0x6e0a4e20,\n\t0x3bc7c: 0x6e0a5020, 0x3bc7d: 0x6e0a5220, 0x3bc7e: 0x6e0a5420, 0x3bc7f: 0x6e0a5620,\n\t// Block 0xef2, offset 0x3bc80\n\t0x3bc80: 0x6e0a5820, 0x3bc81: 0x6e0a5a20, 0x3bc82: 0x6e0a5c20, 0x3bc83: 0x6e0a5e20,\n\t0x3bc84: 0x6e0a6020, 0x3bc85: 0x6e0a6220, 0x3bc86: 0x6e0a6420, 0x3bc87: 0x6e0a6620,\n\t0x3bc88: 0x6e0a6820, 0x3bc89: 0x6e0a6a20, 0x3bc8a: 0x6e0a6c20, 0x3bc8b: 0x6e0a6e20,\n\t0x3bc8c: 0x6e0a7020, 0x3bc8d: 0x6e0a7220, 0x3bc8e: 0x6e0a7420, 0x3bc8f: 0x6e0a7620,\n\t0x3bc90: 0x6e0a7820, 0x3bc91: 0x6e0a7a20, 0x3bc92: 0x6e0a7c20, 0x3bc93: 0x6e0a7e20,\n\t0x3bc94: 0x6e0a8020, 0x3bc95: 0x6e0a8220, 0x3bc96: 0x6e0a8420, 0x3bc97: 0x6e0a8620,\n\t0x3bc98: 0x6e0a8820, 0x3bc99: 0x6e0a8a20, 0x3bc9a: 0x6e0a8c20, 0x3bc9b: 0x6e0a8e20,\n\t0x3bc9c: 0x6e0a9020, 0x3bc9d: 0x6e0a9220, 0x3bc9e: 0x6e0a9420, 0x3bc9f: 0x6e0a9620,\n\t0x3bca0: 0x6e0a9820, 0x3bca1: 0x6e0a9a20, 0x3bca2: 0x6e0a9c20, 0x3bca3: 0x6e0a9e20,\n\t0x3bca4: 0x6e0aa020, 0x3bca5: 0x6e0aa220, 0x3bca6: 0x6e0aa420, 0x3bca7: 0x6e0aa620,\n\t0x3bca8: 0x6e0aa820, 0x3bca9: 0x6e0aaa20, 0x3bcaa: 0x6e0aac20, 0x3bcab: 0x6e0aae20,\n\t0x3bcac: 0x6e0ab020, 0x3bcad: 0x6e0ab220, 0x3bcae: 0x6e0ab420, 0x3bcaf: 0x6e0ab620,\n\t0x3bcb0: 0x6e0ab820, 0x3bcb1: 0x6e0aba20, 0x3bcb2: 0x6e0abc20, 0x3bcb3: 0x6e0abe20,\n\t0x3bcb4: 0x6e0ac020, 0x3bcb5: 0x6e0ac220, 0x3bcb6: 0x6e0ac420, 0x3bcb7: 0x6e0ac620,\n\t0x3bcb8: 0x6e0ac820, 0x3bcb9: 0x6e0aca20, 0x3bcba: 0x6e1a5420, 0x3bcbb: 0x6e1a5620,\n\t0x3bcbc: 0x6e1a5820, 0x3bcbd: 0x6e1a5a20, 0x3bcbe: 0x6e1a5c20, 0x3bcbf: 0x6e1a5e20,\n\t// Block 0xef3, offset 0x3bcc0\n\t0x3bcc0: 0x6e1a6020, 0x3bcc1: 0x6e1a6220, 0x3bcc2: 0x6e1a6420, 0x3bcc3: 0x6e1a6620,\n\t0x3bcc4: 0x6e1a6820, 0x3bcc5: 0x6e1a6a20, 0x3bcc6: 0x6e1a6c20, 0x3bcc7: 0x6e1a6e20,\n\t0x3bcc8: 0x6e1a7020, 0x3bcc9: 0x6e1a7220, 0x3bcca: 0x6e1a7420, 0x3bccb: 0x6e1a7620,\n\t0x3bccc: 0x6e1a7820, 0x3bccd: 0x6e1a7a20, 0x3bcce: 0x6e1a7c20, 0x3bccf: 0x6e1a7e20,\n\t0x3bcd0: 0x6e1a8020, 0x3bcd1: 0x6e1a8220, 0x3bcd2: 0x6e1a8420, 0x3bcd3: 0x6e1a8620,\n\t0x3bcd4: 0x6e1a8820, 0x3bcd5: 0x6e1a8a20, 0x3bcd6: 0x6e1a8c20, 0x3bcd7: 0x6e1a8e20,\n\t0x3bcd8: 0x6e1a9020, 0x3bcd9: 0x6e1a9220, 0x3bcda: 0x6e1a9420, 0x3bcdb: 0x6e1a9620,\n\t0x3bcdc: 0x6e1a9820, 0x3bcdd: 0x6e1a9a20, 0x3bcde: 0x6e1a9c20, 0x3bcdf: 0x6e1a9e20,\n\t0x3bce0: 0x6e1aa020, 0x3bce1: 0x6e1aa220, 0x3bce2: 0x6e1aa420, 0x3bce3: 0x6e1aa620,\n\t0x3bce4: 0x6e1aa820, 0x3bce5: 0x6e1aaa20, 0x3bce6: 0x6e1aac20, 0x3bce7: 0x6e1aae20,\n\t0x3bce8: 0x6e1ab020, 0x3bce9: 0x6e1ab220, 0x3bcea: 0x6e1ab420, 0x3bceb: 0x6e1ab620,\n\t0x3bcec: 0x6e1ab820, 0x3bced: 0x6e26a820, 0x3bcee: 0x6e26aa20, 0x3bcef: 0x6e26ac20,\n\t0x3bcf0: 0x6e26ae20, 0x3bcf1: 0x6e26b020, 0x3bcf2: 0x6e26b220, 0x3bcf3: 0x6e26b420,\n\t0x3bcf4: 0x6e26b620, 0x3bcf5: 0x6e26b820, 0x3bcf6: 0x6e26ba20, 0x3bcf7: 0x6e26bc20,\n\t0x3bcf8: 0x6e26be20, 0x3bcf9: 0x6e26c020, 0x3bcfa: 0x6e26c220, 0x3bcfb: 0x6e26c420,\n\t0x3bcfc: 0x6e26c620, 0x3bcfd: 0x6e26c820, 0x3bcfe: 0x6e26ca20, 0x3bcff: 0x6e26cc20,\n\t// Block 0xef4, offset 0x3bd00\n\t0x3bd00: 0x6e26ce20, 0x3bd01: 0x6e26d020, 0x3bd02: 0x6e26d220, 0x3bd03: 0x6e26d420,\n\t0x3bd04: 0x6e26d620, 0x3bd05: 0x6e26d820, 0x3bd06: 0x6e26da20, 0x3bd07: 0x6e26dc20,\n\t0x3bd08: 0x6e26de20, 0x3bd09: 0x6e26e020, 0x3bd0a: 0x6e26e220, 0x3bd0b: 0x6e26e420,\n\t0x3bd0c: 0x6e26e620, 0x3bd0d: 0x6e26e820, 0x3bd0e: 0x6e26ea20, 0x3bd0f: 0x6e26ec20,\n\t0x3bd10: 0x6e26ee20, 0x3bd11: 0x6e26f020, 0x3bd12: 0x6e26f220, 0x3bd13: 0x6e26f420,\n\t0x3bd14: 0x6e26f620, 0x3bd15: 0x6e26f820, 0x3bd16: 0x6e26fa20, 0x3bd17: 0x6e26fc20,\n\t0x3bd18: 0x6e26fe20, 0x3bd19: 0x6e270020, 0x3bd1a: 0x6e270220, 0x3bd1b: 0x6e270420,\n\t0x3bd1c: 0x6e270620, 0x3bd1d: 0x6e270820, 0x3bd1e: 0x6e270a20, 0x3bd1f: 0x6e270c20,\n\t0x3bd20: 0x6e270e20, 0x3bd21: 0x6e271020, 0x3bd22: 0x6e271220, 0x3bd23: 0x6e271420,\n\t0x3bd24: 0x6e271620, 0x3bd25: 0x6e271820, 0x3bd26: 0x6e271a20, 0x3bd27: 0x6e271c20,\n\t0x3bd28: 0x6e271e20, 0x3bd29: 0x6e272020, 0x3bd2a: 0x6e272220, 0x3bd2b: 0x6e272420,\n\t0x3bd2c: 0x6e272620, 0x3bd2d: 0x6e272820, 0x3bd2e: 0x6e272a20, 0x3bd2f: 0x6e302220,\n\t0x3bd30: 0x6e302420, 0x3bd31: 0x6e302620, 0x3bd32: 0x6e302820, 0x3bd33: 0x6e302a20,\n\t0x3bd34: 0x6e302c20, 0x3bd35: 0x6e302e20, 0x3bd36: 0x6e303020, 0x3bd37: 0x6e303220,\n\t0x3bd38: 0x6e303420, 0x3bd39: 0x6e303620, 0x3bd3a: 0x6e303820, 0x3bd3b: 0x6e303a20,\n\t0x3bd3c: 0x6e303c20, 0x3bd3d: 0x6e303e20, 0x3bd3e: 0x6e304020, 0x3bd3f: 0x6e304220,\n\t// Block 0xef5, offset 0x3bd40\n\t0x3bd40: 0x6e304420, 0x3bd41: 0x6e304620, 0x3bd42: 0x6e304820, 0x3bd43: 0x6e304a20,\n\t0x3bd44: 0x6e304c20, 0x3bd45: 0x6e304e20, 0x3bd46: 0x6e305020, 0x3bd47: 0x6e305220,\n\t0x3bd48: 0x6e305420, 0x3bd49: 0x6e305620, 0x3bd4a: 0x6e305820, 0x3bd4b: 0x6e305a20,\n\t0x3bd4c: 0x6e305c20, 0x3bd4d: 0x6e305e20, 0x3bd4e: 0x6e306020, 0x3bd4f: 0x6e306220,\n\t0x3bd50: 0x6e306420, 0x3bd51: 0x6e306620, 0x3bd52: 0x6e306820, 0x3bd53: 0x6e306a20,\n\t0x3bd54: 0x6e306c20, 0x3bd55: 0x6e306e20, 0x3bd56: 0x6e307020, 0x3bd57: 0x6e307220,\n\t0x3bd58: 0x6e307420, 0x3bd59: 0x6e307620, 0x3bd5a: 0x6e307820, 0x3bd5b: 0x6e307a20,\n\t0x3bd5c: 0x6e307c20, 0x3bd5d: 0x6e307e20, 0x3bd5e: 0x6e308020, 0x3bd5f: 0x6e308220,\n\t0x3bd60: 0x6e308420, 0x3bd61: 0x6e308620, 0x3bd62: 0x6e308820, 0x3bd63: 0x6e308a20,\n\t0x3bd64: 0x6e308c20, 0x3bd65: 0x6e308e20, 0x3bd66: 0x6e309020, 0x3bd67: 0x6e309220,\n\t0x3bd68: 0x6e309420, 0x3bd69: 0x6e309620, 0x3bd6a: 0x6e309820, 0x3bd6b: 0x6e309a20,\n\t0x3bd6c: 0x6e374020, 0x3bd6d: 0x6e309c20, 0x3bd6e: 0x6e374220, 0x3bd6f: 0x6e374420,\n\t0x3bd70: 0x6e374620, 0x3bd71: 0x6e374820, 0x3bd72: 0x6e374a20, 0x3bd73: 0x6e374c20,\n\t0x3bd74: 0x6e374e20, 0x3bd75: 0x6e375020, 0x3bd76: 0x6e375220, 0x3bd77: 0x6e375420,\n\t0x3bd78: 0x6e375620, 0x3bd79: 0x6e375820, 0x3bd7a: 0x6e375a20, 0x3bd7b: 0x6e375c20,\n\t0x3bd7c: 0x6e375e20, 0x3bd7d: 0x6e376020, 0x3bd7e: 0x6e376220, 0x3bd7f: 0x6e376420,\n\t// Block 0xef6, offset 0x3bd80\n\t0x3bd80: 0x6e376620, 0x3bd81: 0x6e376820, 0x3bd82: 0x6e376a20, 0x3bd83: 0x6e376c20,\n\t0x3bd84: 0x6e376e20, 0x3bd85: 0x6e377020, 0x3bd86: 0x6e377220, 0x3bd87: 0x6e377420,\n\t0x3bd88: 0x6e377620, 0x3bd89: 0x6e377820, 0x3bd8a: 0x6e377a20, 0x3bd8b: 0x6e377c20,\n\t0x3bd8c: 0x6e377e20, 0x3bd8d: 0x6e378020, 0x3bd8e: 0x6e378220, 0x3bd8f: 0x6e378420,\n\t0x3bd90: 0x6e378620, 0x3bd91: 0x6e3bfa20, 0x3bd92: 0x6e3bfc20, 0x3bd93: 0x6e3bfe20,\n\t0x3bd94: 0x6e3c0020, 0x3bd95: 0x6e3c0220, 0x3bd96: 0x6e3c0420, 0x3bd97: 0x6e3c0620,\n\t0x3bd98: 0x6e3c0820, 0x3bd99: 0x6e3c0a20, 0x3bd9a: 0x6e3c0c20, 0x3bd9b: 0x6e3c0e20,\n\t0x3bd9c: 0x6e3c1020, 0x3bd9d: 0x6e3c1220, 0x3bd9e: 0x6e3c8020, 0x3bd9f: 0x6e3c1420,\n\t0x3bda0: 0x6e3c1620, 0x3bda1: 0x6e3c1820, 0x3bda2: 0x6e3c1a20, 0x3bda3: 0x6e3c1c20,\n\t0x3bda4: 0x6e3c1e20, 0x3bda5: 0x6e3c2020, 0x3bda6: 0x6e3c2220, 0x3bda7: 0x6e3c2420,\n\t0x3bda8: 0x6e3c2620, 0x3bda9: 0x6e3c2820, 0x3bdaa: 0x6e3c2a20, 0x3bdab: 0x6e3c2c20,\n\t0x3bdac: 0x6e3c2e20, 0x3bdad: 0x6e3f8c20, 0x3bdae: 0x6e3f8e20, 0x3bdaf: 0x6e3f9020,\n\t0x3bdb0: 0x6e3f9220, 0x3bdb1: 0x6e3f9420, 0x3bdb2: 0x6e3f9620, 0x3bdb3: 0x6e3f9820,\n\t0x3bdb4: 0x6e3f9a20, 0x3bdb5: 0x6e3f9c20, 0x3bdb6: 0x6e3f9e20, 0x3bdb7: 0x6e3fa020,\n\t0x3bdb8: 0x6e3fa220, 0x3bdb9: 0x6e3fa420, 0x3bdba: 0x6e3fa620, 0x3bdbb: 0x6e3fa820,\n\t0x3bdbc: 0x6e3faa20, 0x3bdbd: 0x6e3fac20, 0x3bdbe: 0x6e3fae20, 0x3bdbf: 0x6e3fb020,\n\t// Block 0xef7, offset 0x3bdc0\n\t0x3bdc0: 0x6e3fb220, 0x3bdc1: 0x6e3fb420, 0x3bdc2: 0x6e3fb620, 0x3bdc3: 0x6e420020,\n\t0x3bdc4: 0x6e420220, 0x3bdc5: 0x6e420420, 0x3bdc6: 0x6e420620, 0x3bdc7: 0x6e420820,\n\t0x3bdc8: 0x6e420a20, 0x3bdc9: 0x6e420c20, 0x3bdca: 0x6e420e20, 0x3bdcb: 0x6e421020,\n\t0x3bdcc: 0x6e421220, 0x3bdcd: 0x6e421420, 0x3bdce: 0x6e421620, 0x3bdcf: 0x6e421820,\n\t0x3bdd0: 0x6e421a20, 0x3bdd1: 0x6e421c20, 0x3bdd2: 0x6e421e20, 0x3bdd3: 0x6e422020,\n\t0x3bdd4: 0x6e422220, 0x3bdd5: 0x6e422420, 0x3bdd6: 0x6e422620, 0x3bdd7: 0x6e422820,\n\t0x3bdd8: 0x6e43c620, 0x3bdd9: 0x6e43c820, 0x3bdda: 0x6e43ca20, 0x3bddb: 0x6e43cc20,\n\t0x3bddc: 0x6e43ce20, 0x3bddd: 0x6e43d020, 0x3bdde: 0x6e43d220, 0x3bddf: 0x6e43d420,\n\t0x3bde0: 0x6e43d620, 0x3bde1: 0x6e43d820, 0x3bde2: 0x6e43da20, 0x3bde3: 0x6e43dc20,\n\t0x3bde4: 0x6e43de20, 0x3bde5: 0x6e44ea20, 0x3bde6: 0x6e44ec20, 0x3bde7: 0x6e44ee20,\n\t0x3bde8: 0x6e44f020, 0x3bde9: 0x6e44f220, 0x3bdea: 0x6e44f420, 0x3bdeb: 0x6e44f620,\n\t0x3bdec: 0x6e44f820, 0x3bded: 0x6e44fa20, 0x3bdee: 0x6e459220, 0x3bdef: 0x6e459420,\n\t0x3bdf0: 0x6e459620, 0x3bdf1: 0x6e459820, 0x3bdf2: 0x6e459a20, 0x3bdf3: 0x6e459c20,\n\t0x3bdf4: 0x6e460220, 0x3bdf5: 0x6e460420, 0x3bdf6: 0x6e460620, 0x3bdf7: 0x6e460820,\n\t0x3bdf8: 0x6e466420, 0x3bdf9: 0x6e466620, 0x3bdfa: 0x6e466820, 0x3bdfb: 0x6e469c20,\n\t0x3bdfc: 0x6e469e20, 0x3bdfd: 0x6e46a020, 0x3bdfe: 0x6e46d620, 0x3bdff: 0x6e46f620,\n\t// Block 0xef8, offset 0x3be00\n\t0x3be00: 0x6e46f820, 0x3be01: 0x6c63b820, 0x3be02: 0x6c63ba20, 0x3be03: 0x6c63bc20,\n\t0x3be04: 0x6c8ade20, 0x3be05: 0x6cb76820, 0x3be06: 0x6cb76a20, 0x3be07: 0x6cb76c20,\n\t0x3be08: 0x6cb76e20, 0x3be09: 0x6cb77020, 0x3be0a: 0x6cb77220, 0x3be0b: 0x6cb77420,\n\t0x3be0c: 0x6ce8a220, 0x3be0d: 0x6ce8a420, 0x3be0e: 0x6d184820, 0x3be0f: 0x6d473420,\n\t0x3be10: 0x6d473620, 0x3be11: 0x6d74f220, 0x3be12: 0x6d74f420, 0x3be13: 0x6d74f620,\n\t0x3be14: 0x6d74f820, 0x3be15: 0x6e0ad620, 0x3be16: 0x6d474620, 0x3be17: 0x6d474820,\n\t0x3be18: 0x6d750220, 0x3be19: 0x6d750420, 0x3be1a: 0x6d750620, 0x3be1b: 0x6d750820,\n\t0x3be1c: 0x6d9ecc20, 0x3be1d: 0x6d9ece20, 0x3be1e: 0x6d9ed020, 0x3be1f: 0x6d9ed220,\n\t0x3be20: 0x6d9ed420, 0x3be21: 0x6d9ed620, 0x3be22: 0x6dc14420, 0x3be23: 0x6ddef220,\n\t0x3be24: 0x6ddef420, 0x3be25: 0x6ddef620, 0x3be26: 0x6df73820, 0x3be27: 0x6df73a20,\n\t0x3be28: 0x6df73c20, 0x3be29: 0x6df73e20, 0x3be2a: 0x6df74020, 0x3be2b: 0x6df74220,\n\t0x3be2c: 0x6df74420, 0x3be2d: 0x6e0ada20, 0x3be2e: 0x6e0adc20, 0x3be2f: 0x6e0ade20,\n\t0x3be30: 0x6e0ae020, 0x3be31: 0x6e0ae220, 0x3be32: 0x6e0ae420, 0x3be33: 0x6e0ae620,\n\t0x3be34: 0x6e0ae820, 0x3be35: 0x6e1aca20, 0x3be36: 0x6e1acc20, 0x3be37: 0x6e1ace20,\n\t0x3be38: 0x6e1ad020, 0x3be39: 0x6e1ad220, 0x3be3a: 0x6e273820, 0x3be3b: 0x6e273a20,\n\t0x3be3c: 0x6e273c20, 0x3be3d: 0x6e273e20, 0x3be3e: 0x6e274020, 0x3be3f: 0x6e30aa20,\n\t// Block 0xef9, offset 0x3be40\n\t0x3be40: 0x6e30ac20, 0x3be41: 0x6e30ae20, 0x3be42: 0x6e30b020, 0x3be43: 0x6e379020,\n\t0x3be44: 0x6e379220, 0x3be45: 0x6e379420, 0x3be46: 0x6e3c3420, 0x3be47: 0x6e3c3620,\n\t0x3be48: 0x6e3fba20, 0x3be49: 0x6e422a20, 0x3be4a: 0x6e43e020, 0x3be4b: 0x6d185c20,\n\t0x3be4c: 0x6d185e20, 0x3be4d: 0x6d474c20, 0x3be4e: 0x6d474e20, 0x3be4f: 0x6d751620,\n\t0x3be50: 0x6d751820, 0x3be51: 0x6d751a20, 0x3be52: 0x6d751c20, 0x3be53: 0x6d751e20,\n\t0x3be54: 0x6d752020, 0x3be55: 0x6d752220, 0x3be56: 0x6d752420, 0x3be57: 0x6d752620,\n\t0x3be58: 0x6d752820, 0x3be59: 0x6d752a20, 0x3be5a: 0x6d752c20, 0x3be5b: 0x6d9eea20,\n\t0x3be5c: 0x6d9eec20, 0x3be5d: 0x6d9eee20, 0x3be5e: 0x6d9ef020, 0x3be5f: 0x6d9ef220,\n\t0x3be60: 0x6d9ef420, 0x3be61: 0x6d9ef620, 0x3be62: 0x6d9ef820, 0x3be63: 0x6d9efa20,\n\t0x3be64: 0x6d9efc20, 0x3be65: 0x6dc14e20, 0x3be66: 0x6dc15020, 0x3be67: 0x6dc15220,\n\t0x3be68: 0x6dc15420, 0x3be69: 0x6dc15620, 0x3be6a: 0x6dc15820, 0x3be6b: 0x6dc15a20,\n\t0x3be6c: 0x6dc15c20, 0x3be6d: 0x6dc15e20, 0x3be6e: 0x6dc16020, 0x3be6f: 0x6dc16220,\n\t0x3be70: 0x6dc16420, 0x3be71: 0x6dc16620, 0x3be72: 0x6dc16820, 0x3be73: 0x6dc16a20,\n\t0x3be74: 0x6ddf0620, 0x3be75: 0x6ddf0820, 0x3be76: 0x6ddf0a20, 0x3be77: 0x6ddf0c20,\n\t0x3be78: 0x6ddf0e20, 0x3be79: 0x6ddf1020, 0x3be7a: 0x6ddf1220, 0x3be7b: 0x6ddf1420,\n\t0x3be7c: 0x6ddf1620, 0x3be7d: 0x6ddf1820, 0x3be7e: 0x6ddf1a20, 0x3be7f: 0x6ddf1c20,\n\t// Block 0xefa, offset 0x3be80\n\t0x3be80: 0x6ddf1e20, 0x3be81: 0x6ddf2020, 0x3be82: 0x6ddf2220, 0x3be83: 0x6ddf2420,\n\t0x3be84: 0x6df75620, 0x3be85: 0x6df75820, 0x3be86: 0x6df75a20, 0x3be87: 0x6df75c20,\n\t0x3be88: 0x6df75e20, 0x3be89: 0x6df76020, 0x3be8a: 0x6df76220, 0x3be8b: 0x6df76420,\n\t0x3be8c: 0x6df76620, 0x3be8d: 0x6df76820, 0x3be8e: 0x6e0af420, 0x3be8f: 0x6e0af620,\n\t0x3be90: 0x6e0af820, 0x3be91: 0x6e0afa20, 0x3be92: 0x6e0afc20, 0x3be93: 0x6e0afe20,\n\t0x3be94: 0x6e0b0020, 0x3be95: 0x6e0b0220, 0x3be96: 0x6e0b0420, 0x3be97: 0x6e1ada20,\n\t0x3be98: 0x6e1adc20, 0x3be99: 0x6e1ade20, 0x3be9a: 0x6e1ae020, 0x3be9b: 0x6e1ae220,\n\t0x3be9c: 0x6e274620, 0x3be9d: 0x6e274820, 0x3be9e: 0x6e274a20, 0x3be9f: 0x6e274c20,\n\t0x3bea0: 0x6e274e20, 0x3bea1: 0x6e30b420, 0x3bea2: 0x6e30b620, 0x3bea3: 0x6e30b820,\n\t0x3bea4: 0x6e30ba20, 0x3bea5: 0x6e30bc20, 0x3bea6: 0x6e30be20, 0x3bea7: 0x6e30c020,\n\t0x3bea8: 0x6e30c220, 0x3bea9: 0x6e30c420, 0x3beaa: 0x6e379c20, 0x3beab: 0x6e379e20,\n\t0x3beac: 0x6e37a020, 0x3bead: 0x6e37a220, 0x3beae: 0x6e3c3a20, 0x3beaf: 0x6e3c3c20,\n\t0x3beb0: 0x6e3c3e20, 0x3beb1: 0x6e3c4020, 0x3beb2: 0x6e3c4220, 0x3beb3: 0x6e3c4420,\n\t0x3beb4: 0x6e3c4620, 0x3beb5: 0x6e422c20, 0x3beb6: 0x6e43e420, 0x3beb7: 0x6e43e620,\n\t0x3beb8: 0x6e44fc20, 0x3beb9: 0x6e460c20, 0x3beba: 0x6e46d820, 0x3bebb: 0x6e46fa20,\n\t0x3bebc: 0x6d186220, 0x3bebd: 0x6d186420, 0x3bebe: 0x6d186620, 0x3bebf: 0x6d186820,\n\t// Block 0xefb, offset 0x3bec0\n\t0x3bec0: 0x6d186a20, 0x3bec1: 0x6d475820, 0x3bec2: 0x6d475a20, 0x3bec3: 0x6d475c20,\n\t0x3bec4: 0x6d475e20, 0x3bec5: 0x6d753c20, 0x3bec6: 0x6d753e20, 0x3bec7: 0x6d754020,\n\t0x3bec8: 0x6d754220, 0x3bec9: 0x6d754420, 0x3beca: 0x6d754620, 0x3becb: 0x6d754820,\n\t0x3becc: 0x6d754a20, 0x3becd: 0x6d754c20, 0x3bece: 0x6d754e20, 0x3becf: 0x6d755020,\n\t0x3bed0: 0x6d755220, 0x3bed1: 0x6d755420, 0x3bed2: 0x6d755620, 0x3bed3: 0x6d755820,\n\t0x3bed4: 0x6d9f0c20, 0x3bed5: 0x6d9f0e20, 0x3bed6: 0x6d9f1020, 0x3bed7: 0x6d9f1220,\n\t0x3bed8: 0x6d9f1420, 0x3bed9: 0x6d9f1620, 0x3beda: 0x6d9f1820, 0x3bedb: 0x6cbd9220,\n\t0x3bedc: 0x6d9f1a20, 0x3bedd: 0x6d9f1c20, 0x3bede: 0x6d9f1e20, 0x3bedf: 0x6d9f2020,\n\t0x3bee0: 0x6d9f2220, 0x3bee1: 0x6d9f2420, 0x3bee2: 0x6dc17420, 0x3bee3: 0x6dc17620,\n\t0x3bee4: 0x6dc17820, 0x3bee5: 0x6dc17a20, 0x3bee6: 0x6dc17c20, 0x3bee7: 0x6dc17e20,\n\t0x3bee8: 0x6dc18020, 0x3bee9: 0x6dc18220, 0x3beea: 0x6dc18420, 0x3beeb: 0x6dc18620,\n\t0x3beec: 0x6dc18820, 0x3beed: 0x6ddf3220, 0x3beee: 0x6ddf3420, 0x3beef: 0x6ddf3620,\n\t0x3bef0: 0x6ddf3820, 0x3bef1: 0x6ddf3a20, 0x3bef2: 0x6ddf3c20, 0x3bef3: 0x6ddf3e20,\n\t0x3bef4: 0x6ddf4020, 0x3bef5: 0x6ddf4220, 0x3bef6: 0x6ddf4420, 0x3bef7: 0x6ddf4620,\n\t0x3bef8: 0x6ddf4820, 0x3bef9: 0x6ddf4a20, 0x3befa: 0x6ddf4c20, 0x3befb: 0x6ddf4e20,\n\t0x3befc: 0x6df77820, 0x3befd: 0x6df77a20, 0x3befe: 0x6df77c20, 0x3beff: 0x6df77e20,\n\t// Block 0xefc, offset 0x3bf00\n\t0x3bf00: 0x6df78020, 0x3bf01: 0x6df78220, 0x3bf02: 0x6df78420, 0x3bf03: 0x6df78620,\n\t0x3bf04: 0x6df78820, 0x3bf05: 0x6df78a20, 0x3bf06: 0x6df78c20, 0x3bf07: 0x6df78e20,\n\t0x3bf08: 0x6df79020, 0x3bf09: 0x6df79220, 0x3bf0a: 0x6df79420, 0x3bf0b: 0x6df79620,\n\t0x3bf0c: 0x6e0b0820, 0x3bf0d: 0x6e0b0a20, 0x3bf0e: 0x6e0b0c20, 0x3bf0f: 0x6e0b0e20,\n\t0x3bf10: 0x6e0b1020, 0x3bf11: 0x6e0b1220, 0x3bf12: 0x6e0b1420, 0x3bf13: 0x6e0b1620,\n\t0x3bf14: 0x6e0b1820, 0x3bf15: 0x6e0b1a20, 0x3bf16: 0x6e0b1c20, 0x3bf17: 0x6e0b1e20,\n\t0x3bf18: 0x6e0b2020, 0x3bf19: 0x6e0b2220, 0x3bf1a: 0x6e0b2420, 0x3bf1b: 0x6e1aea20,\n\t0x3bf1c: 0x6e1aec20, 0x3bf1d: 0x6e1aee20, 0x3bf1e: 0x6e1af020, 0x3bf1f: 0x6e1af220,\n\t0x3bf20: 0x6e1af420, 0x3bf21: 0x6e1af620, 0x3bf22: 0x6e1af820, 0x3bf23: 0x6e275820,\n\t0x3bf24: 0x6e275a20, 0x3bf25: 0x6e275c20, 0x3bf26: 0x6e275e20, 0x3bf27: 0x6e276020,\n\t0x3bf28: 0x6e276220, 0x3bf29: 0x6e276420, 0x3bf2a: 0x6e276620, 0x3bf2b: 0x6e276820,\n\t0x3bf2c: 0x6e276a20, 0x3bf2d: 0x6e276c20, 0x3bf2e: 0x6e276e20, 0x3bf2f: 0x6e277020,\n\t0x3bf30: 0x6e277220, 0x3bf31: 0x6e277420, 0x3bf32: 0x6e30ca20, 0x3bf33: 0x6e30cc20,\n\t0x3bf34: 0x6e30ce20, 0x3bf35: 0x6e30d020, 0x3bf36: 0x6e30d220, 0x3bf37: 0x6e30d420,\n\t0x3bf38: 0x6e37a620, 0x3bf39: 0x6e37a820, 0x3bf3a: 0x6e37aa20, 0x3bf3b: 0x6e37ac20,\n\t0x3bf3c: 0x6e37ae20, 0x3bf3d: 0x6e37b020, 0x3bf3e: 0x6e37b220, 0x3bf3f: 0x6e3fbc20,\n\t// Block 0xefd, offset 0x3bf40\n\t0x3bf40: 0x6e3fbe20, 0x3bf41: 0x6e422e20, 0x3bf42: 0x6e423020, 0x3bf43: 0x6e43e820,\n\t0x3bf44: 0x6e43ea20, 0x3bf45: 0x6e43ec20, 0x3bf46: 0x6e45a020, 0x3bf47: 0x6e460e20,\n\t0x3bf48: 0x6c8aec20, 0x3bf49: 0x6cb78e20, 0x3bf4a: 0x6cb79020, 0x3bf4b: 0x6ce8b020,\n\t0x3bf4c: 0x6d476020, 0x3bf4d: 0x6c63ca20, 0x3bf4e: 0x6d755c20, 0x3bf4f: 0x6d755e20,\n\t0x3bf50: 0x6ddf5020, 0x3bf51: 0x6d186c20, 0x3bf52: 0x6d476820, 0x3bf53: 0x6d476a20,\n\t0x3bf54: 0x6d476c20, 0x3bf55: 0x6d756620, 0x3bf56: 0x6d756820, 0x3bf57: 0x6d756a20,\n\t0x3bf58: 0x6d756c20, 0x3bf59: 0x6d756e20, 0x3bf5a: 0x6d757020, 0x3bf5b: 0x6d9f2820,\n\t0x3bf5c: 0x6d9f2a20, 0x3bf5d: 0x6d9f2c20, 0x3bf5e: 0x6d9f2e20, 0x3bf5f: 0x6d9f3020,\n\t0x3bf60: 0x6dc18c20, 0x3bf61: 0x6dc18e20, 0x3bf62: 0x6dc19020, 0x3bf63: 0x6ddf5420,\n\t0x3bf64: 0x6ddf5620, 0x3bf65: 0x6df79c20, 0x3bf66: 0x6df79e20, 0x3bf67: 0x6df7a020,\n\t0x3bf68: 0x6e0b2c20, 0x3bf69: 0x6e0b2e20, 0x3bf6a: 0x6e1afa20, 0x3bf6b: 0x6e1afc20,\n\t0x3bf6c: 0x6e277620, 0x3bf6d: 0x6e30d620, 0x3bf6e: 0x6e30d820, 0x3bf6f: 0x6e30da20,\n\t0x3bf70: 0x6e37b420, 0x3bf71: 0x6e3c4a20, 0x3bf72: 0x6e461020, 0x3bf73: 0x6d186e20,\n\t0x3bf74: 0x6d476e20, 0x3bf75: 0x6d757220, 0x3bf76: 0x6d757420, 0x3bf77: 0x6d757620,\n\t0x3bf78: 0x6d757820, 0x3bf79: 0x6d757a20, 0x3bf7a: 0x6d9f3820, 0x3bf7b: 0x6dc19a20,\n\t0x3bf7c: 0x6dc19c20, 0x3bf7d: 0x6dc19e20, 0x3bf7e: 0x6dc1a020, 0x3bf7f: 0x6dc1a220,\n\t// Block 0xefe, offset 0x3bf80\n\t0x3bf80: 0x6dc1a420, 0x3bf81: 0x6dc1a620, 0x3bf82: 0x6ddf5e20, 0x3bf83: 0x6ddf6020,\n\t0x3bf84: 0x6ddf6220, 0x3bf85: 0x6ddf6420, 0x3bf86: 0x6df7a620, 0x3bf87: 0x6df7a820,\n\t0x3bf88: 0x6df7aa20, 0x3bf89: 0x6df7ac20, 0x3bf8a: 0x6df7ae20, 0x3bf8b: 0x6df7b020,\n\t0x3bf8c: 0x6df7b220, 0x3bf8d: 0x6df7b420, 0x3bf8e: 0x6df7b620, 0x3bf8f: 0x6df7b820,\n\t0x3bf90: 0x6df7ba20, 0x3bf91: 0x6df7bc20, 0x3bf92: 0x6df7be20, 0x3bf93: 0x6e0b3220,\n\t0x3bf94: 0x6e0b3420, 0x3bf95: 0x6e0b3620, 0x3bf96: 0x6e0b3820, 0x3bf97: 0x6e0b3a20,\n\t0x3bf98: 0x6e0b3c20, 0x3bf99: 0x6e1b0020, 0x3bf9a: 0x6e1b0220, 0x3bf9b: 0x6e1b0420,\n\t0x3bf9c: 0x6e1b0620, 0x3bf9d: 0x6e1b0820, 0x3bf9e: 0x6e1b0a20, 0x3bf9f: 0x6e277820,\n\t0x3bfa0: 0x6e277a20, 0x3bfa1: 0x6e277c20, 0x3bfa2: 0x6e277e20, 0x3bfa3: 0x6e278020,\n\t0x3bfa4: 0x6e30e020, 0x3bfa5: 0x6e30e220, 0x3bfa6: 0x6e30e420, 0x3bfa7: 0x6e37b820,\n\t0x3bfa8: 0x6e37ba20, 0x3bfa9: 0x6e37bc20, 0x3bfaa: 0x6e3fc020, 0x3bfab: 0x6e423220,\n\t0x3bfac: 0x6e461220, 0x3bfad: 0x6d477020, 0x3bfae: 0x6d758220, 0x3bfaf: 0x6d758420,\n\t0x3bfb0: 0x6d9f3e20, 0x3bfb1: 0x6d9f4020, 0x3bfb2: 0x6d9f4220, 0x3bfb3: 0x6d9f4420,\n\t0x3bfb4: 0x6d9f4620, 0x3bfb5: 0x6d9f4820, 0x3bfb6: 0x6dc1aa20, 0x3bfb7: 0x6dc1ac20,\n\t0x3bfb8: 0x6dc1ae20, 0x3bfb9: 0x6dc1b020, 0x3bfba: 0x6dc1b220, 0x3bfbb: 0x6dc1b420,\n\t0x3bfbc: 0x6dc1b620, 0x3bfbd: 0x6dc1b820, 0x3bfbe: 0x6dc1ba20, 0x3bfbf: 0x6ddf6620,\n\t// Block 0xeff, offset 0x3bfc0\n\t0x3bfc0: 0x6ddf6820, 0x3bfc1: 0x6df7c020, 0x3bfc2: 0x6e0b4420, 0x3bfc3: 0x6e0b4620,\n\t0x3bfc4: 0x6e0b4820, 0x3bfc5: 0x6e0b4a20, 0x3bfc6: 0x6e0b4c20, 0x3bfc7: 0x6e1b1220,\n\t0x3bfc8: 0x6e1b1420, 0x3bfc9: 0x6e1b1620, 0x3bfca: 0x6e1b1820, 0x3bfcb: 0x6e278620,\n\t0x3bfcc: 0x6e30e820, 0x3bfcd: 0x6e30ea20, 0x3bfce: 0x6e30ec20, 0x3bfcf: 0x6e30ee20,\n\t0x3bfd0: 0x6e37be20, 0x3bfd1: 0x6e3fc220, 0x3bfd2: 0x6e3c5020, 0x3bfd3: 0x6e3fc420,\n\t0x3bfd4: 0x6e43ee20, 0x3bfd5: 0x6e43f020, 0x3bfd6: 0x6e43f220, 0x3bfd7: 0x6ce8bc20,\n\t0x3bfd8: 0x6d187220, 0x3bfd9: 0x6d477420, 0x3bfda: 0x6d477620, 0x3bfdb: 0x6d477820,\n\t0x3bfdc: 0x6d758c20, 0x3bfdd: 0x6d758e20, 0x3bfde: 0x6d759020, 0x3bfdf: 0x6d759220,\n\t0x3bfe0: 0x6d759420, 0x3bfe1: 0x6d759620, 0x3bfe2: 0x6d759820, 0x3bfe3: 0x6d759a20,\n\t0x3bfe4: 0x6d9f5620, 0x3bfe5: 0x6d9f5820, 0x3bfe6: 0x6d9f5a20, 0x3bfe7: 0x6d9f5c20,\n\t0x3bfe8: 0x6d9f5e20, 0x3bfe9: 0x6d9f6020, 0x3bfea: 0x6d9f6220, 0x3bfeb: 0x6d9f6420,\n\t0x3bfec: 0x6d9f6620, 0x3bfed: 0x6d9f6820, 0x3bfee: 0x6d9f6a20, 0x3bfef: 0x6d9f6c20,\n\t0x3bff0: 0x6d9f6e20, 0x3bff1: 0x6d9f7020, 0x3bff2: 0x6dc1cc20, 0x3bff3: 0x6dc1ce20,\n\t0x3bff4: 0x6dc1d020, 0x3bff5: 0x6dc1d220, 0x3bff6: 0x6dc1d420, 0x3bff7: 0x6dc1d620,\n\t0x3bff8: 0x6dc1d820, 0x3bff9: 0x6dc1da20, 0x3bffa: 0x6dc1dc20, 0x3bffb: 0x6dc1de20,\n\t0x3bffc: 0x6dc1e020, 0x3bffd: 0x6dc1e220, 0x3bffe: 0x6dc1e420, 0x3bfff: 0x6ddf7820,\n\t// Block 0xf00, offset 0x3c000\n\t0x3c000: 0x6ddf7a20, 0x3c001: 0x6ddf7c20, 0x3c002: 0x6ddf7e20, 0x3c003: 0x6ddf8020,\n\t0x3c004: 0x6ddf8220, 0x3c005: 0x6ddf8420, 0x3c006: 0x6ddf8620, 0x3c007: 0x6ddf8820,\n\t0x3c008: 0x6df7cc20, 0x3c009: 0x6df7ce20, 0x3c00a: 0x6df7d020, 0x3c00b: 0x6df7d220,\n\t0x3c00c: 0x6df7d420, 0x3c00d: 0x6df7d620, 0x3c00e: 0x6df7d820, 0x3c00f: 0x6df7da20,\n\t0x3c010: 0x6df7dc20, 0x3c011: 0x6df7de20, 0x3c012: 0x6e0b6220, 0x3c013: 0x6e0b6420,\n\t0x3c014: 0x6e0b6620, 0x3c015: 0x6e0b6820, 0x3c016: 0x6e0b6a20, 0x3c017: 0x6e0b6c20,\n\t0x3c018: 0x6e0b6e20, 0x3c019: 0x6e0b7020, 0x3c01a: 0x6e0b7220, 0x3c01b: 0x6e0b7420,\n\t0x3c01c: 0x6e0b7620, 0x3c01d: 0x6e0b7820, 0x3c01e: 0x6e0b7a20, 0x3c01f: 0x6e0b7c20,\n\t0x3c020: 0x6e0b7e20, 0x3c021: 0x6e0b8020, 0x3c022: 0x6e0b8220, 0x3c023: 0x6e1b2a20,\n\t0x3c024: 0x6e0b8420, 0x3c025: 0x6e1b2c20, 0x3c026: 0x6e1b2e20, 0x3c027: 0x6e1b3020,\n\t0x3c028: 0x6e1b3220, 0x3c029: 0x6e1b3420, 0x3c02a: 0x6e1b3620, 0x3c02b: 0x6e1b3820,\n\t0x3c02c: 0x6e1b3a20, 0x3c02d: 0x6e1b3c20, 0x3c02e: 0x6e1b3e20, 0x3c02f: 0x6e1b4020,\n\t0x3c030: 0x6e1b4220, 0x3c031: 0x6e1b4420, 0x3c032: 0x6e1b4620, 0x3c033: 0x6e1b4820,\n\t0x3c034: 0x6e1b4a20, 0x3c035: 0x6e1b4c20, 0x3c036: 0x6e1b4e20, 0x3c037: 0x6e1b5020,\n\t0x3c038: 0x6e1b5220, 0x3c039: 0x6e1b5420, 0x3c03a: 0x6e1b5620, 0x3c03b: 0x6e1b5820,\n\t0x3c03c: 0x6e1b5a20, 0x3c03d: 0x6e1b5c20, 0x3c03e: 0x6e278c20, 0x3c03f: 0x6e278e20,\n\t// Block 0xf01, offset 0x3c040\n\t0x3c040: 0x6e279020, 0x3c041: 0x6e279220, 0x3c042: 0x6e279420, 0x3c043: 0x6e279620,\n\t0x3c044: 0x6e279820, 0x3c045: 0x6e279a20, 0x3c046: 0x6e279c20, 0x3c047: 0x6e279e20,\n\t0x3c048: 0x6e27a020, 0x3c049: 0x6e27a220, 0x3c04a: 0x6e27a420, 0x3c04b: 0x6e27a620,\n\t0x3c04c: 0x6e27a820, 0x3c04d: 0x6e27aa20, 0x3c04e: 0x6e27ac20, 0x3c04f: 0x6e30f820,\n\t0x3c050: 0x6e30fa20, 0x3c051: 0x6e30fc20, 0x3c052: 0x6e30fe20, 0x3c053: 0x6e310020,\n\t0x3c054: 0x6e310220, 0x3c055: 0x6e310420, 0x3c056: 0x6e310620, 0x3c057: 0x6e310820,\n\t0x3c058: 0x6e37c220, 0x3c059: 0x6e37c420, 0x3c05a: 0x6e37c620, 0x3c05b: 0x6e37c820,\n\t0x3c05c: 0x6e37ca20, 0x3c05d: 0x6e37cc20, 0x3c05e: 0x6e37ce20, 0x3c05f: 0x6e37d020,\n\t0x3c060: 0x6e37d220, 0x3c061: 0x6e37d420, 0x3c062: 0x6e37d620, 0x3c063: 0x6e37d820,\n\t0x3c064: 0x6e37da20, 0x3c065: 0x6e37dc20, 0x3c066: 0x6e37de20, 0x3c067: 0x6e37e020,\n\t0x3c068: 0x6e37e220, 0x3c069: 0x6e3c5a20, 0x3c06a: 0x6e3c5c20, 0x3c06b: 0x6e3c5e20,\n\t0x3c06c: 0x6e3c6020, 0x3c06d: 0x6e3c6220, 0x3c06e: 0x6e3c6420, 0x3c06f: 0x6e3c6620,\n\t0x3c070: 0x6e3c6820, 0x3c071: 0x6e3c6a20, 0x3c072: 0x6e3c6c20, 0x3c073: 0x6e3c6e20,\n\t0x3c074: 0x6e3fca20, 0x3c075: 0x6e3fcc20, 0x3c076: 0x6e3fce20, 0x3c077: 0x6e3fd020,\n\t0x3c078: 0x6e3fd220, 0x3c079: 0x6e423620, 0x3c07a: 0x6e423820, 0x3c07b: 0x6e423a20,\n\t0x3c07c: 0x6e423c20, 0x3c07d: 0x6e423e20, 0x3c07e: 0x6e424020, 0x3c07f: 0x6e43f620,\n\t// Block 0xf02, offset 0x3c080\n\t0x3c080: 0x6e43f820, 0x3c081: 0x6e43fa20, 0x3c082: 0x6e43fc20, 0x3c083: 0x6e450020,\n\t0x3c084: 0x6e450220, 0x3c085: 0x6e45a220, 0x3c086: 0x6e45a420, 0x3c087: 0x6e466a20,\n\t0x3c088: 0x6e466c20, 0x3c089: 0x6e471c20, 0x3c08a: 0x6e472a20, 0x3c08b: 0x6ddf8a20,\n\t0x3c08c: 0x6e0b8a20, 0x3c08d: 0x6e1b6020, 0x3c08e: 0x6e1b6220, 0x3c08f: 0x6e1b6420,\n\t0x3c090: 0x6e310a20, 0x3c091: 0x6d477a20, 0x3c092: 0x6d759c20, 0x3c093: 0x6d759e20,\n\t0x3c094: 0x6dc1ea20, 0x3c095: 0x6dc1ec20, 0x3c096: 0x6dc1ee20, 0x3c097: 0x6dc1f020,\n\t0x3c098: 0x6dc1f220, 0x3c099: 0x6dc1f420, 0x3c09a: 0x6ddf9420, 0x3c09b: 0x6ddf9620,\n\t0x3c09c: 0x6ddf9820, 0x3c09d: 0x6ddf9a20, 0x3c09e: 0x6ddf9c20, 0x3c09f: 0x6ddf9e20,\n\t0x3c0a0: 0x6ddfa020, 0x3c0a1: 0x6df7e820, 0x3c0a2: 0x6df7ea20, 0x3c0a3: 0x6df7ec20,\n\t0x3c0a4: 0x6df7ee20, 0x3c0a5: 0x6df7f020, 0x3c0a6: 0x6df7f220, 0x3c0a7: 0x6e0b8c20,\n\t0x3c0a8: 0x6e0b8e20, 0x3c0a9: 0x6e0b9020, 0x3c0aa: 0x6e0b9220, 0x3c0ab: 0x6e0b9420,\n\t0x3c0ac: 0x6e1b6820, 0x3c0ad: 0x6e1b6a20, 0x3c0ae: 0x6e27b020, 0x3c0af: 0x6e27b220,\n\t0x3c0b0: 0x6e27b420, 0x3c0b1: 0x6e27b620, 0x3c0b2: 0x6e27b820, 0x3c0b3: 0x6e27ba20,\n\t0x3c0b4: 0x6e27bc20, 0x3c0b5: 0x6e27be20, 0x3c0b6: 0x6e27c020, 0x3c0b7: 0x6e311020,\n\t0x3c0b8: 0x6e311220, 0x3c0b9: 0x6e37e620, 0x3c0ba: 0x6e3c7420, 0x3c0bb: 0x6e3cd420,\n\t0x3c0bc: 0x6e3fd620, 0x3c0bd: 0x6e3c7620, 0x3c0be: 0x6e3fd820, 0x3c0bf: 0x6e424220,\n\t// Block 0xf03, offset 0x3c0c0\n\t0x3c0c0: 0x6e424420, 0x3c0c1: 0x6e43fe20, 0x3c0c2: 0x6ce8c220, 0x3c0c3: 0x6d477c20,\n\t0x3c0c4: 0x6d75a620, 0x3c0c5: 0x6d75a820, 0x3c0c6: 0x6d75aa20, 0x3c0c7: 0x6d9f7a20,\n\t0x3c0c8: 0x6ddfa220, 0x3c0c9: 0x6e27c220, 0x3c0ca: 0x6e424620, 0x3c0cb: 0x6d9f7c20,\n\t0x3c0cc: 0x6d9f7e20, 0x3c0cd: 0x6dc1fa20, 0x3c0ce: 0x6dc1fc20, 0x3c0cf: 0x6dc1fe20,\n\t0x3c0d0: 0x6ddfae20, 0x3c0d1: 0x6ddfb020, 0x3c0d2: 0x6ddfb220, 0x3c0d3: 0x6ddfb420,\n\t0x3c0d4: 0x6df7fa20, 0x3c0d5: 0x6df7fc20, 0x3c0d6: 0x6df7fe20, 0x3c0d7: 0x6df80020,\n\t0x3c0d8: 0x6df80220, 0x3c0d9: 0x6df80420, 0x3c0da: 0x6df80620, 0x3c0db: 0x6df80820,\n\t0x3c0dc: 0x6e0b9820, 0x3c0dd: 0x6e0b9a20, 0x3c0de: 0x6e0b9c20, 0x3c0df: 0x6e0b9e20,\n\t0x3c0e0: 0x6e0ba020, 0x3c0e1: 0x6e0ba220, 0x3c0e2: 0x6e1b7620, 0x3c0e3: 0x6e1b7820,\n\t0x3c0e4: 0x6e1b7a20, 0x3c0e5: 0x6e1b7c20, 0x3c0e6: 0x6e27c620, 0x3c0e7: 0x6e27c820,\n\t0x3c0e8: 0x6e27ca20, 0x3c0e9: 0x6e27cc20, 0x3c0ea: 0x6e27ce20, 0x3c0eb: 0x6e27d020,\n\t0x3c0ec: 0x6e27d220, 0x3c0ed: 0x6e27d420, 0x3c0ee: 0x6e311620, 0x3c0ef: 0x6e37ee20,\n\t0x3c0f0: 0x6e37f020, 0x3c0f1: 0x6e37f220, 0x3c0f2: 0x6e37f420, 0x3c0f3: 0x6e3c8220,\n\t0x3c0f4: 0x6e3c8420, 0x3c0f5: 0x6e3fdc20, 0x3c0f6: 0x6e424820, 0x3c0f7: 0x6e450620,\n\t0x3c0f8: 0x6d75ae20, 0x3c0f9: 0x6d75b020, 0x3c0fa: 0x6d9f8220, 0x3c0fb: 0x6d9f8420,\n\t0x3c0fc: 0x6d9f8620, 0x3c0fd: 0x6dc20820, 0x3c0fe: 0x6dc20a20, 0x3c0ff: 0x6dc20c20,\n\t// Block 0xf04, offset 0x3c100\n\t0x3c100: 0x6dc20e20, 0x3c101: 0x6dc21020, 0x3c102: 0x6dc21220, 0x3c103: 0x6dc21420,\n\t0x3c104: 0x6dc21620, 0x3c105: 0x6dc21820, 0x3c106: 0x6dc21a20, 0x3c107: 0x6dc21c20,\n\t0x3c108: 0x6dc21e20, 0x3c109: 0x6ddfc820, 0x3c10a: 0x6ddfca20, 0x3c10b: 0x6ddfcc20,\n\t0x3c10c: 0x6ddfce20, 0x3c10d: 0x6ddfd020, 0x3c10e: 0x6ddfd220, 0x3c10f: 0x6ddfd420,\n\t0x3c110: 0x6ddfd620, 0x3c111: 0x6ddfd820, 0x3c112: 0x6df80e20, 0x3c113: 0x6df81020,\n\t0x3c114: 0x6df81220, 0x3c115: 0x6df81420, 0x3c116: 0x6df81620, 0x3c117: 0x6df81820,\n\t0x3c118: 0x6df81a20, 0x3c119: 0x6df81c20, 0x3c11a: 0x6e0baa20, 0x3c11b: 0x6e0bac20,\n\t0x3c11c: 0x6e0bae20, 0x3c11d: 0x6e0bb020, 0x3c11e: 0x6e0bb220, 0x3c11f: 0x6df81e20,\n\t0x3c120: 0x6e0bb420, 0x3c121: 0x6e0bb620, 0x3c122: 0x6e0bb820, 0x3c123: 0x6e0bba20,\n\t0x3c124: 0x6e0bbc20, 0x3c125: 0x6e0bbe20, 0x3c126: 0x6e0bc020, 0x3c127: 0x6e0bc220,\n\t0x3c128: 0x6e1b8220, 0x3c129: 0x6e1b8420, 0x3c12a: 0x6e1b8620, 0x3c12b: 0x6e27e020,\n\t0x3c12c: 0x6e27e220, 0x3c12d: 0x6e27e420, 0x3c12e: 0x6e27e620, 0x3c12f: 0x6e27e820,\n\t0x3c130: 0x6e27ea20, 0x3c131: 0x6e27ec20, 0x3c132: 0x6e27ee20, 0x3c133: 0x6e27f020,\n\t0x3c134: 0x6e27f220, 0x3c135: 0x6e312420, 0x3c136: 0x6e312620, 0x3c137: 0x6e312820,\n\t0x3c138: 0x6e312a20, 0x3c139: 0x6e312c20, 0x3c13a: 0x6e312e20, 0x3c13b: 0x6e313020,\n\t0x3c13c: 0x6e313220, 0x3c13d: 0x6e313420, 0x3c13e: 0x6e313620, 0x3c13f: 0x6e380420,\n\t// Block 0xf05, offset 0x3c140\n\t0x3c140: 0x6e37f620, 0x3c141: 0x6e37f820, 0x3c142: 0x6e37fa20, 0x3c143: 0x6e37fc20,\n\t0x3c144: 0x6e37fe20, 0x3c145: 0x6e3c8620, 0x3c146: 0x6e3c8820, 0x3c147: 0x6e3c8a20,\n\t0x3c148: 0x6e3c8c20, 0x3c149: 0x6e3c8e20, 0x3c14a: 0x6e3fde20, 0x3c14b: 0x6e424a20,\n\t0x3c14c: 0x6e450820, 0x3c14d: 0x6e450a20, 0x3c14e: 0x6e45a620, 0x3c14f: 0x6e461420,\n\t0x3c150: 0x6d75b220, 0x3c151: 0x6d9f8c20, 0x3c152: 0x6d9f8e20, 0x3c153: 0x6dc22420,\n\t0x3c154: 0x6dc22620, 0x3c155: 0x6ddfe020, 0x3c156: 0x6ddfe220, 0x3c157: 0x6ddfe420,\n\t0x3c158: 0x6ddfe620, 0x3c159: 0x6ddfe820, 0x3c15a: 0x6df82620, 0x3c15b: 0x6df82820,\n\t0x3c15c: 0x6df82a20, 0x3c15d: 0x6df82c20, 0x3c15e: 0x6df82e20, 0x3c15f: 0x6df83020,\n\t0x3c160: 0x6df83220, 0x3c161: 0x6e0bc820, 0x3c162: 0x6e0bca20, 0x3c163: 0x6e0bcc20,\n\t0x3c164: 0x6e0bce20, 0x3c165: 0x6e1b8a20, 0x3c166: 0x6e1b8c20, 0x3c167: 0x6e1b8e20,\n\t0x3c168: 0x6e1b9020, 0x3c169: 0x6e1b9220, 0x3c16a: 0x6e1b9420, 0x3c16b: 0x6e1b9620,\n\t0x3c16c: 0x6e1b9820, 0x3c16d: 0x6e27f620, 0x3c16e: 0x6e27f820, 0x3c16f: 0x6e313c20,\n\t0x3c170: 0x6e313e20, 0x3c171: 0x6e314020, 0x3c172: 0x6e314220, 0x3c173: 0x6e380620,\n\t0x3c174: 0x6e380820, 0x3c175: 0x6e380a20, 0x3c176: 0x6e3c9420, 0x3c177: 0x6e3c9620,\n\t0x3c178: 0x6e3c9820, 0x3c179: 0x6e3c9a20, 0x3c17a: 0x6e3c9c20, 0x3c17b: 0x6e3fe020,\n\t0x3c17c: 0x6e3fe220, 0x3c17d: 0x6e3fe420, 0x3c17e: 0x6e425020, 0x3c17f: 0x6e425220,\n\t// Block 0xf06, offset 0x3c180\n\t0x3c180: 0x6e425420, 0x3c181: 0x6e45aa20, 0x3c182: 0x6e461620, 0x3c183: 0x6e466e20,\n\t0x3c184: 0x6d478420, 0x3c185: 0x6d9f9020, 0x3c186: 0x6dc22e20, 0x3c187: 0x6ddff020,\n\t0x3c188: 0x6ddff220, 0x3c189: 0x6df83620, 0x3c18a: 0x6df83820, 0x3c18b: 0x6e0bd020,\n\t0x3c18c: 0x6e0bd220, 0x3c18d: 0x6e27fa20, 0x3c18e: 0x6e1b9c20, 0x3c18f: 0x6e3c9e20,\n\t0x3c190: 0x6e3ca020, 0x3c191: 0x6e3ca220, 0x3c192: 0x6e440220, 0x3c193: 0x6e45ac20,\n\t0x3c194: 0x6dc23220, 0x3c195: 0x6dc23420, 0x3c196: 0x6dc23620, 0x3c197: 0x6dc23820,\n\t0x3c198: 0x6ddff820, 0x3c199: 0x6ddffa20, 0x3c19a: 0x6ddffc20, 0x3c19b: 0x6df84420,\n\t0x3c19c: 0x6df84620, 0x3c19d: 0x6df84820, 0x3c19e: 0x6df84a20, 0x3c19f: 0x6df84c20,\n\t0x3c1a0: 0x6df84e20, 0x3c1a1: 0x6df85020, 0x3c1a2: 0x6df85220, 0x3c1a3: 0x6df85420,\n\t0x3c1a4: 0x6df85620, 0x3c1a5: 0x6e0bee20, 0x3c1a6: 0x6e0bf020, 0x3c1a7: 0x6e0bf220,\n\t0x3c1a8: 0x6e0bf420, 0x3c1a9: 0x6e0bf620, 0x3c1aa: 0x6e0bf820, 0x3c1ab: 0x6e0bfa20,\n\t0x3c1ac: 0x6e0bfc20, 0x3c1ad: 0x6e0bfe20, 0x3c1ae: 0x6e0c0020, 0x3c1af: 0x6e0c0220,\n\t0x3c1b0: 0x6e0c0420, 0x3c1b1: 0x6e0c0620, 0x3c1b2: 0x6e0c0820, 0x3c1b3: 0x6e0c0a20,\n\t0x3c1b4: 0x6e0c0c20, 0x3c1b5: 0x6e0c0e20, 0x3c1b6: 0x6e0c1020, 0x3c1b7: 0x6e1bb020,\n\t0x3c1b8: 0x6e1bb220, 0x3c1b9: 0x6e1bb420, 0x3c1ba: 0x6e1bb620, 0x3c1bb: 0x6e1bb820,\n\t0x3c1bc: 0x6e1bba20, 0x3c1bd: 0x6e1bbc20, 0x3c1be: 0x6e1bbe20, 0x3c1bf: 0x6e1bc020,\n\t// Block 0xf07, offset 0x3c1c0\n\t0x3c1c0: 0x6e1bc220, 0x3c1c1: 0x6e1bc420, 0x3c1c2: 0x6e1bc620, 0x3c1c3: 0x6e1bc820,\n\t0x3c1c4: 0x6e1bca20, 0x3c1c5: 0x6e1bcc20, 0x3c1c6: 0x6e1bce20, 0x3c1c7: 0x6e1bd020,\n\t0x3c1c8: 0x6e1bd220, 0x3c1c9: 0x6e1bd420, 0x3c1ca: 0x6e1bd620, 0x3c1cb: 0x6e1bd820,\n\t0x3c1cc: 0x6e1bda20, 0x3c1cd: 0x6e1bdc20, 0x3c1ce: 0x6e280620, 0x3c1cf: 0x6e280820,\n\t0x3c1d0: 0x6e280a20, 0x3c1d1: 0x6e280c20, 0x3c1d2: 0x6e280e20, 0x3c1d3: 0x6e281020,\n\t0x3c1d4: 0x6e281220, 0x3c1d5: 0x6e281420, 0x3c1d6: 0x6e281620, 0x3c1d7: 0x6e281820,\n\t0x3c1d8: 0x6e281a20, 0x3c1d9: 0x6e281c20, 0x3c1da: 0x6e281e20, 0x3c1db: 0x6e282020,\n\t0x3c1dc: 0x6e282220, 0x3c1dd: 0x6e282420, 0x3c1de: 0x6e282620, 0x3c1df: 0x6e282820,\n\t0x3c1e0: 0x6e282a20, 0x3c1e1: 0x6e282c20, 0x3c1e2: 0x6e282e20, 0x3c1e3: 0x6e283020,\n\t0x3c1e4: 0x6e283220, 0x3c1e5: 0x6e315420, 0x3c1e6: 0x6e315620, 0x3c1e7: 0x6e315820,\n\t0x3c1e8: 0x6e315a20, 0x3c1e9: 0x6e315c20, 0x3c1ea: 0x6e315e20, 0x3c1eb: 0x6e316020,\n\t0x3c1ec: 0x6e316220, 0x3c1ed: 0x6e316420, 0x3c1ee: 0x6e316620, 0x3c1ef: 0x6e316820,\n\t0x3c1f0: 0x6e316a20, 0x3c1f1: 0x6e316c20, 0x3c1f2: 0x6e316e20, 0x3c1f3: 0x6e317020,\n\t0x3c1f4: 0x6e317220, 0x3c1f5: 0x6e317420, 0x3c1f6: 0x6e317620, 0x3c1f7: 0x6e317820,\n\t0x3c1f8: 0x6e317a20, 0x3c1f9: 0x6e381e20, 0x3c1fa: 0x6e382020, 0x3c1fb: 0x6e382220,\n\t0x3c1fc: 0x6e382420, 0x3c1fd: 0x6e382620, 0x3c1fe: 0x6e382820, 0x3c1ff: 0x6e382a20,\n\t// Block 0xf08, offset 0x3c200\n\t0x3c200: 0x6e382c20, 0x3c201: 0x6e382e20, 0x3c202: 0x6e383020, 0x3c203: 0x6e383220,\n\t0x3c204: 0x6e383420, 0x3c205: 0x6e383620, 0x3c206: 0x6e383820, 0x3c207: 0x6e383a20,\n\t0x3c208: 0x6e383c20, 0x3c209: 0x6e3cb020, 0x3c20a: 0x6e3cb220, 0x3c20b: 0x6e3cb420,\n\t0x3c20c: 0x6e3cb620, 0x3c20d: 0x6e3cb820, 0x3c20e: 0x6e3cba20, 0x3c20f: 0x6e3cbc20,\n\t0x3c210: 0x6e3cbe20, 0x3c211: 0x6e3cc020, 0x3c212: 0x6e3cc220, 0x3c213: 0x6e3cc420,\n\t0x3c214: 0x6e3cc620, 0x3c215: 0x6e3cc820, 0x3c216: 0x6e3cca20, 0x3c217: 0x6e3ccc20,\n\t0x3c218: 0x6e3cce20, 0x3c219: 0x6e3cd020, 0x3c21a: 0x6e3fea20, 0x3c21b: 0x6e3fec20,\n\t0x3c21c: 0x6e3fee20, 0x3c21d: 0x6e3ff020, 0x3c21e: 0x6e3ff220, 0x3c21f: 0x6e3ff420,\n\t0x3c220: 0x6e3ff620, 0x3c221: 0x6e3ff820, 0x3c222: 0x6e3ffa20, 0x3c223: 0x6e425820,\n\t0x3c224: 0x6e425a20, 0x3c225: 0x6e425c20, 0x3c226: 0x6e425e20, 0x3c227: 0x6e426020,\n\t0x3c228: 0x6e426220, 0x3c229: 0x6e426420, 0x3c22a: 0x6e426620, 0x3c22b: 0x6e426820,\n\t0x3c22c: 0x6e426a20, 0x3c22d: 0x6e426c20, 0x3c22e: 0x6e426e20, 0x3c22f: 0x6e427020,\n\t0x3c230: 0x6e440a20, 0x3c231: 0x6e440c20, 0x3c232: 0x6e440e20, 0x3c233: 0x6e441020,\n\t0x3c234: 0x6e441220, 0x3c235: 0x6e441420, 0x3c236: 0x6e451020, 0x3c237: 0x6e45ae20,\n\t0x3c238: 0x6e45b020, 0x3c239: 0x6e45b220, 0x3c23a: 0x6e45b420, 0x3c23b: 0x6e45b620,\n\t0x3c23c: 0x6e45b820, 0x3c23d: 0x6e461820, 0x3c23e: 0x6e461a20, 0x3c23f: 0x6e461c20,\n\t// Block 0xf09, offset 0x3c240\n\t0x3c240: 0x6e461e20, 0x3c241: 0x6e467020, 0x3c242: 0x6e467220, 0x3c243: 0x6e467420,\n\t0x3c244: 0x6e467620, 0x3c245: 0x6e46a620, 0x3c246: 0x6e46be20, 0x3c247: 0x6e46c020,\n\t0x3c248: 0x6e46c220, 0x3c249: 0x6e46c420, 0x3c24a: 0x6e46de20, 0x3c24b: 0x6e46e020,\n\t0x3c24c: 0x6e46fe20, 0x3c24d: 0x6e472620, 0x3c24e: 0x6e472820, 0x3c24f: 0x6d478a20,\n\t0x3c250: 0x6d9f9420, 0x3c251: 0x6df85c20, 0x3c252: 0x6df85e20, 0x3c253: 0x6df86020,\n\t0x3c254: 0x6df86220, 0x3c255: 0x6e0c1420, 0x3c256: 0x6e0c1620, 0x3c257: 0x6e0c1820,\n\t0x3c258: 0x6e0c1a20, 0x3c259: 0x6e1be420, 0x3c25a: 0x6e0c1c20, 0x3c25b: 0x6e0c1e20,\n\t0x3c25c: 0x6e283e20, 0x3c25d: 0x6e284020, 0x3c25e: 0x6e284220, 0x3c25f: 0x6e284420,\n\t0x3c260: 0x6e317c20, 0x3c261: 0x6e317e20, 0x3c262: 0x6e3cd220, 0x3c263: 0x6e427420,\n\t0x3c264: 0x6e427620, 0x3c265: 0x6e474220, 0x3c266: 0x6d9fa020, 0x3c267: 0x6e1bec20,\n\t0x3c268: 0x6de00220, 0x3c269: 0x6df86620, 0x3c26a: 0x6df86820, 0x3c26b: 0x6e0c2620,\n\t0x3c26c: 0x6e0c2820, 0x3c26d: 0x6e0c2a20, 0x3c26e: 0x6e0c2c20, 0x3c26f: 0x6e0c2e20,\n\t0x3c270: 0x6e0c3020, 0x3c271: 0x6e0c3220, 0x3c272: 0x6e0c3420, 0x3c273: 0x6e0c3620,\n\t0x3c274: 0x6e0c3820, 0x3c275: 0x6e0c3a20, 0x3c276: 0x6e1bee20, 0x3c277: 0x6e1bf020,\n\t0x3c278: 0x6e1bf220, 0x3c279: 0x6e1bf420, 0x3c27a: 0x6e1bf620, 0x3c27b: 0x6e1bf820,\n\t0x3c27c: 0x6e1bfa20, 0x3c27d: 0x6e1bfc20, 0x3c27e: 0x6e318220, 0x3c27f: 0x6e318420,\n\t// Block 0xf0a, offset 0x3c280\n\t0x3c280: 0x6e384020, 0x3c281: 0x6e3cd620, 0x3c282: 0x6e427820, 0x3c283: 0x6e427a20,\n\t0x3c284: 0x6e427c20, 0x3c285: 0x6e441820, 0x3c286: 0x6e441a20, 0x3c287: 0x6e45ba20,\n\t0x3c288: 0x6e46aa20, 0x3c289: 0x6d9fa220, 0x3c28a: 0x6e1c0220, 0x3c28b: 0x6e3cdc20,\n\t0x3c28c: 0x6e3cde20, 0x3c28d: 0x6e3ce020, 0x3c28e: 0x6e400020, 0x3c28f: 0x6e400220,\n\t0x3c290: 0x6e400420, 0x3c291: 0x6e400620, 0x3c292: 0x6e428020, 0x3c293: 0x6e441e20,\n\t0x3c294: 0x6e462020, 0x3c295: 0x6e46ac20, 0x3c296: 0x6e471220,\n\t// Block 0xf0b, offset 0x3c2c0\n\t0x3c2c0: 0x6c00f020, 0x3c2c1: 0x6c00f220, 0x3c2c2: 0x6c023420, 0x3c2c3: 0x6c28c220,\n\t0x3c2c4: 0x6c42f420, 0x3c2c5: 0x6c63d620, 0x3c2c6: 0x6c8afa20, 0x3c2c7: 0x6d75d220,\n\t0x3c2c8: 0x6c024020, 0x3c2c9: 0x6c42fe20, 0x3c2ca: 0x6c004c20, 0x3c2cb: 0x6c28ce20,\n\t0x3c2cc: 0x6c0b0c20, 0x3c2cd: 0x6c430820, 0x3c2ce: 0x6c63ee20, 0x3c2cf: 0x6c63f020,\n\t0x3c2d0: 0x6c05ae20, 0x3c2d1: 0x6c0b3620, 0x3c2d2: 0x6c161c20, 0x3c2d3: 0x6c161e20,\n\t0x3c2d4: 0x6c28f020, 0x3c2d5: 0x6c432a20, 0x3c2d6: 0x6c63fe20, 0x3c2d7: 0x6c640020,\n\t0x3c2d8: 0x6c8b2020, 0x3c2d9: 0x6cb7b620, 0x3c2da: 0x6cb7b820, 0x3c2db: 0x6ce8dc20,\n\t0x3c2dc: 0x6c162820, 0x3c2dd: 0x6cb7bc20, 0x3c2de: 0x6d18a820, 0x3c2df: 0x6d479c20,\n\t0x3c2e0: 0x6c05b420, 0x3c2e1: 0x6c05b620, 0x3c2e2: 0x6c164420, 0x3c2e3: 0x6c8b3c20,\n\t0x3c2e4: 0x6cb7d620, 0x3c2e5: 0x6d47b020, 0x3c2e6: 0x6de00c20, 0x3c2e7: 0x6c02c420,\n\t0x3c2e8: 0x6c0c3c20, 0x3c2e9: 0x6c0c3e20, 0x3c2ea: 0x6c0c4020, 0x3c2eb: 0x6c0c4220,\n\t0x3c2ec: 0x6c172220, 0x3c2ed: 0x6c172420, 0x3c2ee: 0x6c172620, 0x3c2ef: 0x6c172820,\n\t0x3c2f0: 0x6c172a20, 0x3c2f1: 0x6c172c20, 0x3c2f2: 0x6c172e20, 0x3c2f3: 0x6c173020,\n\t0x3c2f4: 0x6c173220, 0x3c2f5: 0x6c2a1c20, 0x3c2f6: 0x6c2a1e20, 0x3c2f7: 0x6c2a2020,\n\t0x3c2f8: 0x6c2a2220, 0x3c2f9: 0x6c2a2420, 0x3c2fa: 0x6c2a2620, 0x3c2fb: 0x6c444a20,\n\t0x3c2fc: 0x6c444c20, 0x3c2fd: 0x6c444e20, 0x3c2fe: 0x6c445020, 0x3c2ff: 0x6c445220,\n\t// Block 0xf0c, offset 0x3c300\n\t0x3c300: 0x6c445420, 0x3c301: 0x6c445620, 0x3c302: 0x6c445820, 0x3c303: 0x6c655c20,\n\t0x3c304: 0x6c655e20, 0x3c305: 0x6c656020, 0x3c306: 0x6c656220, 0x3c307: 0x6c656420,\n\t0x3c308: 0x6c656620, 0x3c309: 0x6c656820, 0x3c30a: 0x6c656a20, 0x3c30b: 0x6c8c4e20,\n\t0x3c30c: 0x6c8c5020, 0x3c30d: 0x6c8c5220, 0x3c30e: 0x6c8c5420, 0x3c30f: 0x6c8c5620,\n\t0x3c310: 0x6c8c5820, 0x3c311: 0x6c8c5a20, 0x3c312: 0x6c8c5c20, 0x3c313: 0x6c8c5e20,\n\t0x3c314: 0x6c8c6020, 0x3c315: 0x6c8c6220, 0x3c316: 0x6cb8b220, 0x3c317: 0x6cb8b420,\n\t0x3c318: 0x6cb8b620, 0x3c319: 0x6cb8b820, 0x3c31a: 0x6cb8ba20, 0x3c31b: 0x6cb8bc20,\n\t0x3c31c: 0x6cb8be20, 0x3c31d: 0x6cb8c020, 0x3c31e: 0x6cb8c220, 0x3c31f: 0x6cb8c420,\n\t0x3c320: 0x6ce9d620, 0x3c321: 0x6ce9d820, 0x3c322: 0x6ce9da20, 0x3c323: 0x6ce9dc20,\n\t0x3c324: 0x6ce9de20, 0x3c325: 0x6d19a820, 0x3c326: 0x6d19aa20, 0x3c327: 0x6d19ac20,\n\t0x3c328: 0x6d19ae20, 0x3c329: 0x6d19b020, 0x3c32a: 0x6d19b220, 0x3c32b: 0x6d485020,\n\t0x3c32c: 0x6d485220, 0x3c32d: 0x6d485420, 0x3c32e: 0x6d485620, 0x3c32f: 0x6d485820,\n\t0x3c330: 0x6d765e20, 0x3c331: 0x6d766020, 0x3c332: 0x6d766220, 0x3c333: 0x6d766420,\n\t0x3c334: 0x6d9ffc20, 0x3c335: 0x6d9ffe20, 0x3c336: 0x6da00020, 0x3c337: 0x6dc28620,\n\t0x3c338: 0x6dc28820, 0x3c339: 0x6dc28a20, 0x3c33a: 0x6de03c20, 0x3c33b: 0x6de03e20,\n\t0x3c33c: 0x6de04020, 0x3c33d: 0x6df88c20, 0x3c33e: 0x6e0c6220, 0x3c33f: 0x6c2a4a20,\n\t// Block 0xf0d, offset 0x3c340\n\t0x3c340: 0x6c446820, 0x3c341: 0x6c658420, 0x3c342: 0x6ce9ea20, 0x3c343: 0x6d486a20,\n\t0x3c344: 0x6d486c20, 0x3c345: 0x6d486e20, 0x3c346: 0x6de04620, 0x3c347: 0x6c658e20,\n\t0x3c348: 0x6c0c7620, 0x3c349: 0x6cb8f020, 0x3c34a: 0x6cea0620, 0x3c34b: 0x6d19da20,\n\t0x3c34c: 0x6d487020, 0x3c34d: 0x6d768220, 0x3c34e: 0x6c177e20, 0x3c34f: 0x6c178a20,\n\t0x3c350: 0x6c178c20, 0x3c351: 0x6c2a7220, 0x3c352: 0x6c65c020, 0x3c353: 0x6c8c9420,\n\t0x3c354: 0x6cb90a20, 0x3c355: 0x6d19e820, 0x3c356: 0x6c065820, 0x3c357: 0x6c0cb220,\n\t0x3c358: 0x6c0cb420, 0x3c359: 0x6c0cb620, 0x3c35a: 0x6c0cb820, 0x3c35b: 0x6c17b220,\n\t0x3c35c: 0x6c17b420, 0x3c35d: 0x6c17b620, 0x3c35e: 0x6c2a9620, 0x3c35f: 0x6c44ca20,\n\t0x3c360: 0x6c44cc20, 0x3c361: 0x6c44ce20, 0x3c362: 0x6c65f820, 0x3c363: 0x6c65fa20,\n\t0x3c364: 0x6c65fc20, 0x3c365: 0x6c65fe20, 0x3c366: 0x6c8cb620, 0x3c367: 0x6c8cb820,\n\t0x3c368: 0x6c8cba20, 0x3c369: 0x6cb92c20, 0x3c36a: 0x6cb92e20, 0x3c36b: 0x6cea2a20,\n\t0x3c36c: 0x6cea2c20, 0x3c36d: 0x6d19fc20, 0x3c36e: 0x6d489020, 0x3c36f: 0x6d769820,\n\t0x3c370: 0x6df8a020, 0x3c371: 0x6c0cd020, 0x3c372: 0x6c17ce20, 0x3c373: 0x6c660a20,\n\t0x3c374: 0x6c8cce20, 0x3c375: 0x6cea3620, 0x3c376: 0x6c067a20, 0x3c377: 0x6c2aba20,\n\t0x3c378: 0x6c661020, 0x3c379: 0x6cb94420, 0x3c37a: 0x6cea3820, 0x3c37b: 0x6cea3a20,\n\t0x3c37c: 0x6dc2b420, 0x3c37d: 0x6de05420, 0x3c37e: 0x6c0d3420, 0x3c37f: 0x6c0d3620,\n\t// Block 0xf0e, offset 0x3c380\n\t0x3c380: 0x6c0d3820, 0x3c381: 0x6c183420, 0x3c382: 0x6c183620, 0x3c383: 0x6c2b4420,\n\t0x3c384: 0x6c2b4620, 0x3c385: 0x6c2b4820, 0x3c386: 0x6c454820, 0x3c387: 0x6c454a20,\n\t0x3c388: 0x6c66a220, 0x3c389: 0x6c66a420, 0x3c38a: 0x6c8d3a20, 0x3c38b: 0x6c8d3c20,\n\t0x3c38c: 0x6c8d3e20, 0x3c38d: 0x6c8d4020, 0x3c38e: 0x6cb9a420, 0x3c38f: 0x6cb9a620,\n\t0x3c390: 0x6cb9a820, 0x3c391: 0x6cea8c20, 0x3c392: 0x6cea8e20, 0x3c393: 0x6cea9020,\n\t0x3c394: 0x6d48d820, 0x3c395: 0x6d76d620, 0x3c396: 0x6d76d820, 0x3c397: 0x6c187220,\n\t0x3c398: 0x6c187420, 0x3c399: 0x6c187620, 0x3c39a: 0x6c2b8220, 0x3c39b: 0x6c2b8420,\n\t0x3c39c: 0x6c458020, 0x3c39d: 0x6c66d820, 0x3c39e: 0x6c66da20, 0x3c39f: 0x6c66dc20,\n\t0x3c3a0: 0x6c8d6820, 0x3c3a1: 0x6cb9d020, 0x3c3a2: 0x6cb9d220, 0x3c3a3: 0x6ceabe20,\n\t0x3c3a4: 0x6d1aa420, 0x3c3a5: 0x6d1aa620, 0x3c3a6: 0x6d48f020, 0x3c3a7: 0x6e0c8220,\n\t0x3c3a8: 0x6c016620, 0x3c3a9: 0x6c0d6620, 0x3c3aa: 0x6c459e20, 0x3c3ab: 0x6cead020,\n\t0x3c3ac: 0x6c0d7820, 0x3c3ad: 0x6c18a020, 0x3c3ae: 0x6c18a220, 0x3c3af: 0x6c45be20,\n\t0x3c3b0: 0x6c670c20, 0x3c3b1: 0x6d1ac820, 0x3c3b2: 0x6df8c020, 0x3c3b3: 0x6c18bc20,\n\t0x3c3b4: 0x6c671e20, 0x3c3b5: 0x6c8da620, 0x3c3b6: 0x6ceaf420, 0x3c3b7: 0x6d1ad220,\n\t0x3c3b8: 0x6d490e20, 0x3c3b9: 0x6d491020, 0x3c3ba: 0x6da08220, 0x3c3bb: 0x6dc2de20,\n\t0x3c3bc: 0x6df8c420, 0x3c3bd: 0x6c037a20, 0x3c3be: 0x6c18ce20, 0x3c3bf: 0x6c672c20,\n\t// Block 0xf0f, offset 0x3c3c0\n\t0x3c3c0: 0x6d1ad820, 0x3c3c1: 0x6c2bfe20, 0x3c3c2: 0x6c45f420, 0x3c3c3: 0x6c070820,\n\t0x3c3c4: 0x6c190020, 0x3c3c5: 0x6c2c2420, 0x3c3c6: 0x6c2c2620, 0x3c3c7: 0x6c462420,\n\t0x3c3c8: 0x6c462620, 0x3c3c9: 0x6c462820, 0x3c3ca: 0x6c462a20, 0x3c3cb: 0x6c676420,\n\t0x3c3cc: 0x6c676620, 0x3c3cd: 0x6c676820, 0x3c3ce: 0x6c676a20, 0x3c3cf: 0x6c8dde20,\n\t0x3c3d0: 0x6c8de020, 0x3c3d1: 0x6cba2a20, 0x3c3d2: 0x6cba2c20, 0x3c3d3: 0x6ceb1a20,\n\t0x3c3d4: 0x6ceb1c20, 0x3c3d5: 0x6ceb1e20, 0x3c3d6: 0x6d1b1020, 0x3c3d7: 0x6d1b1220,\n\t0x3c3d8: 0x6d493620, 0x3c3d9: 0x6d493820, 0x3c3da: 0x6da08c20, 0x3c3db: 0x6df8c820,\n\t0x3c3dc: 0x6c463c20, 0x3c3dd: 0x6c677a20, 0x3c3de: 0x6c8dee20, 0x3c3df: 0x6cba4020,\n\t0x3c3e0: 0x6ceb3020, 0x3c3e1: 0x6d494220, 0x3c3e2: 0x6df8ca20, 0x3c3e3: 0x6c03b820,\n\t0x3c3e4: 0x6c03ba20, 0x3c3e5: 0x6c0e1a20, 0x3c3e6: 0x6c192020, 0x3c3e7: 0x6c2c5220,\n\t0x3c3e8: 0x6c2c5420, 0x3c3e9: 0x6c466020, 0x3c3ea: 0x6c466220, 0x3c3eb: 0x6c679620,\n\t0x3c3ec: 0x6c679820, 0x3c3ed: 0x6cba5820, 0x3c3ee: 0x6cba5a20, 0x3c3ef: 0x6ceb4c20,\n\t0x3c3f0: 0x6d1b3220, 0x3c3f1: 0x6d770a20, 0x3c3f2: 0x6c078620, 0x3c3f3: 0x6c1a4420,\n\t0x3c3f4: 0x6c1a4620, 0x3c3f5: 0x6c1a4820, 0x3c3f6: 0x6c2d7620, 0x3c3f7: 0x6c2d7820,\n\t0x3c3f8: 0x6c2d7a20, 0x3c3f9: 0x6c2d7c20, 0x3c3fa: 0x6c47c620, 0x3c3fb: 0x6c47c820,\n\t0x3c3fc: 0x6c47ca20, 0x3c3fd: 0x6c47cc20, 0x3c3fe: 0x6c47ce20, 0x3c3ff: 0x6c47d020,\n\t// Block 0xf10, offset 0x3c400\n\t0x3c400: 0x6c47d220, 0x3c401: 0x6c47d420, 0x3c402: 0x6c47d620, 0x3c403: 0x6c47d820,\n\t0x3c404: 0x6c693820, 0x3c405: 0x6c693a20, 0x3c406: 0x6c693c20, 0x3c407: 0x6c693e20,\n\t0x3c408: 0x6c694020, 0x3c409: 0x6c694220, 0x3c40a: 0x6c694420, 0x3c40b: 0x6c694620,\n\t0x3c40c: 0x6c694820, 0x3c40d: 0x6c694a20, 0x3c40e: 0x6c694c20, 0x3c40f: 0x6d770c20,\n\t0x3c410: 0x6c900020, 0x3c411: 0x6c900220, 0x3c412: 0x6c900420, 0x3c413: 0x6c900620,\n\t0x3c414: 0x6c900820, 0x3c415: 0x6c900a20, 0x3c416: 0x6c900c20, 0x3c417: 0x6c900e20,\n\t0x3c418: 0x6c901020, 0x3c419: 0x6c901220, 0x3c41a: 0x6c901420, 0x3c41b: 0x6c901620,\n\t0x3c41c: 0x6cbc2220, 0x3c41d: 0x6cbc2420, 0x3c41e: 0x6cbc2620, 0x3c41f: 0x6cbc2820,\n\t0x3c420: 0x6cbc2a20, 0x3c421: 0x6cbc2c20, 0x3c422: 0x6cbc2e20, 0x3c423: 0x6cbc3020,\n\t0x3c424: 0x6cbc3220, 0x3c425: 0x6cbc3420, 0x3c426: 0x6cbc3620, 0x3c427: 0x6cbc3820,\n\t0x3c428: 0x6cbc3a20, 0x3c429: 0x6cbc3c20, 0x3c42a: 0x6ced0c20, 0x3c42b: 0x6ced0e20,\n\t0x3c42c: 0x6ced1020, 0x3c42d: 0x6ced1220, 0x3c42e: 0x6ced1420, 0x3c42f: 0x6ced1620,\n\t0x3c430: 0x6ced1820, 0x3c431: 0x6ced1a20, 0x3c432: 0x6ced1c20, 0x3c433: 0x6ced1e20,\n\t0x3c434: 0x6ced2020, 0x3c435: 0x6ced2220, 0x3c436: 0x6ced2420, 0x3c437: 0x6ced2620,\n\t0x3c438: 0x6d1cd020, 0x3c439: 0x6d1cd220, 0x3c43a: 0x6d1cd420, 0x3c43b: 0x6d1cd620,\n\t0x3c43c: 0x6d1cd820, 0x3c43d: 0x6d1cda20, 0x3c43e: 0x6d1cdc20, 0x3c43f: 0x6d1cde20,\n\t// Block 0xf11, offset 0x3c440\n\t0x3c440: 0x6d1ce020, 0x3c441: 0x6d1ce220, 0x3c442: 0x6d1ce420, 0x3c443: 0x6d1ce620,\n\t0x3c444: 0x6d1ce820, 0x3c445: 0x6d4aa220, 0x3c446: 0x6d4aa420, 0x3c447: 0x6d4aa620,\n\t0x3c448: 0x6d4aa820, 0x3c449: 0x6d4aaa20, 0x3c44a: 0x6d4aac20, 0x3c44b: 0x6d4aae20,\n\t0x3c44c: 0x6d4ab020, 0x3c44d: 0x6d4ab220, 0x3c44e: 0x6d784a20, 0x3c44f: 0x6d784c20,\n\t0x3c450: 0x6d784e20, 0x3c451: 0x6d785020, 0x3c452: 0x6d785220, 0x3c453: 0x6d785420,\n\t0x3c454: 0x6d785620, 0x3c455: 0x6da17420, 0x3c456: 0x6da17620, 0x3c457: 0x6da17820,\n\t0x3c458: 0x6da17a20, 0x3c459: 0x6dc3ce20, 0x3c45a: 0x6dc3d020, 0x3c45b: 0x6dc3d220,\n\t0x3c45c: 0x6dc3d420, 0x3c45d: 0x6dc3d620, 0x3c45e: 0x6dc3d820, 0x3c45f: 0x6de0f820,\n\t0x3c460: 0x6de0fa20, 0x3c461: 0x6de0fc20, 0x3c462: 0x6df92220, 0x3c463: 0x6df92420,\n\t0x3c464: 0x6df92620, 0x3c465: 0x6e1c7020, 0x3c466: 0x6e31be20, 0x3c467: 0x6e31c020,\n\t0x3c468: 0x6c1a9620, 0x3c469: 0x6c2da820, 0x3c46a: 0x6c47fe20, 0x3c46b: 0x6c697c20,\n\t0x3c46c: 0x6c904220, 0x3c46d: 0x6c904420, 0x3c46e: 0x6ced4820, 0x3c46f: 0x6d1d1420,\n\t0x3c470: 0x6d786420, 0x3c471: 0x6c07c020, 0x3c472: 0x6c07c220, 0x3c473: 0x6c0f0420,\n\t0x3c474: 0x6c0f0620, 0x3c475: 0x6c0f0820, 0x3c476: 0x6c0f0a20, 0x3c477: 0x6c0f0c20,\n\t0x3c478: 0x6c1b5020, 0x3c479: 0x6c1b5220, 0x3c47a: 0x6c1b5420, 0x3c47b: 0x6c1b5620,\n\t0x3c47c: 0x6c1b5820, 0x3c47d: 0x6c1b5a20, 0x3c47e: 0x6c1b5c20, 0x3c47f: 0x6c1b5e20,\n\t// Block 0xf12, offset 0x3c480\n\t0x3c480: 0x6c1b6020, 0x3c481: 0x6c1b6220, 0x3c482: 0x6c1b6420, 0x3c483: 0x6c2e6e20,\n\t0x3c484: 0x6c2e7020, 0x3c485: 0x6c2e7220, 0x3c486: 0x6c2e7420, 0x3c487: 0x6c2e7620,\n\t0x3c488: 0x6c2e7820, 0x3c489: 0x6c2e7a20, 0x3c48a: 0x6c2e7c20, 0x3c48b: 0x6c48d420,\n\t0x3c48c: 0x6c48d620, 0x3c48d: 0x6c48d820, 0x3c48e: 0x6c48da20, 0x3c48f: 0x6c48dc20,\n\t0x3c490: 0x6c48de20, 0x3c491: 0x6c48e020, 0x3c492: 0x6c48e220, 0x3c493: 0x6c48e420,\n\t0x3c494: 0x6c6a4e20, 0x3c495: 0x6c6a5020, 0x3c496: 0x6c6a5220, 0x3c497: 0x6c6a5420,\n\t0x3c498: 0x6c6a5620, 0x3c499: 0x6c6a5820, 0x3c49a: 0x6c6a5a20, 0x3c49b: 0x6c6a5c20,\n\t0x3c49c: 0x6c6a5e20, 0x3c49d: 0x6c6a6020, 0x3c49e: 0x6c6a6220, 0x3c49f: 0x6c6a6420,\n\t0x3c4a0: 0x6c6a6620, 0x3c4a1: 0x6c6a6820, 0x3c4a2: 0x6c6a6a20, 0x3c4a3: 0x6c6a6c20,\n\t0x3c4a4: 0x6c914220, 0x3c4a5: 0x6c914420, 0x3c4a6: 0x6c914620, 0x3c4a7: 0x6c914820,\n\t0x3c4a8: 0x6c914a20, 0x3c4a9: 0x6c914c20, 0x3c4aa: 0x6c914e20, 0x3c4ab: 0x6c915020,\n\t0x3c4ac: 0x6c915220, 0x3c4ad: 0x6c915420, 0x3c4ae: 0x6c915620, 0x3c4af: 0x6c915820,\n\t0x3c4b0: 0x6c915a20, 0x3c4b1: 0x6c915c20, 0x3c4b2: 0x6cbd6c20, 0x3c4b3: 0x6cbd6e20,\n\t0x3c4b4: 0x6cbd7020, 0x3c4b5: 0x6cbd7220, 0x3c4b6: 0x6cbd7420, 0x3c4b7: 0x6cbd7620,\n\t0x3c4b8: 0x6cbd7820, 0x3c4b9: 0x6cbd7a20, 0x3c4ba: 0x6cbd7c20, 0x3c4bb: 0x6cbd7e20,\n\t0x3c4bc: 0x6cbd8020, 0x3c4bd: 0x6cbd8220, 0x3c4be: 0x6cee2e20, 0x3c4bf: 0x6cee3020,\n\t// Block 0xf13, offset 0x3c4c0\n\t0x3c4c0: 0x6cee3220, 0x3c4c1: 0x6cee3420, 0x3c4c2: 0x6cee3620, 0x3c4c3: 0x6cee3820,\n\t0x3c4c4: 0x6cee3a20, 0x3c4c5: 0x6cee3c20, 0x3c4c6: 0x6cee3e20, 0x3c4c7: 0x6cee4020,\n\t0x3c4c8: 0x6cee4220, 0x3c4c9: 0x6cee4420, 0x3c4ca: 0x6cee4620, 0x3c4cb: 0x6cee4820,\n\t0x3c4cc: 0x6cee4a20, 0x3c4cd: 0x6cee4c20, 0x3c4ce: 0x6d1dda20, 0x3c4cf: 0x6d1ddc20,\n\t0x3c4d0: 0x6d1dde20, 0x3c4d1: 0x6d1de020, 0x3c4d2: 0x6d1de220, 0x3c4d3: 0x6d1de420,\n\t0x3c4d4: 0x6d1de620, 0x3c4d5: 0x6d1de820, 0x3c4d6: 0x6d1dea20, 0x3c4d7: 0x6d1dec20,\n\t0x3c4d8: 0x6d1dee20, 0x3c4d9: 0x6d4b9420, 0x3c4da: 0x6d4b9620, 0x3c4db: 0x6d4b9820,\n\t0x3c4dc: 0x6d4b9a20, 0x3c4dd: 0x6d4b9c20, 0x3c4de: 0x6d4b9e20, 0x3c4df: 0x6d78f020,\n\t0x3c4e0: 0x6d78f220, 0x3c4e1: 0x6d78f420, 0x3c4e2: 0x6d78f620, 0x3c4e3: 0x6d78f820,\n\t0x3c4e4: 0x6d78fa20, 0x3c4e5: 0x6d78fc20, 0x3c4e6: 0x6da1f420, 0x3c4e7: 0x6da1f620,\n\t0x3c4e8: 0x6da1f820, 0x3c4e9: 0x6da1fa20, 0x3c4ea: 0x6da1fc20, 0x3c4eb: 0x6da1fe20,\n\t0x3c4ec: 0x6dc42820, 0x3c4ed: 0x6dc42a20, 0x3c4ee: 0x6dc42c20, 0x3c4ef: 0x6dc42e20,\n\t0x3c4f0: 0x6de14220, 0x3c4f1: 0x6df95020, 0x3c4f2: 0x6c6a8020, 0x3c4f3: 0x6cee5a20,\n\t0x3c4f4: 0x6e1c8e20, 0x3c4f5: 0x6df95420, 0x3c4f6: 0x6cee6820, 0x3c4f7: 0x6c0f2820,\n\t0x3c4f8: 0x6c2e9820, 0x3c4f9: 0x6c490020, 0x3c4fa: 0x6c6aa820, 0x3c4fb: 0x6c919620,\n\t0x3c4fc: 0x6cbdb420, 0x3c4fd: 0x6d1e2c20, 0x3c4fe: 0x6d4bb620, 0x3c4ff: 0x6d791a20,\n\t// Block 0xf14, offset 0x3c500\n\t0x3c500: 0x6e1c9020, 0x3c501: 0x6c03ee20, 0x3c502: 0x6c07fa20, 0x3c503: 0x6c0f5420,\n\t0x3c504: 0x6c1bbe20, 0x3c505: 0x6c1bc020, 0x3c506: 0x6c1bc220, 0x3c507: 0x6c2ee620,\n\t0x3c508: 0x6c2ee820, 0x3c509: 0x6c2eea20, 0x3c50a: 0x6c2eec20, 0x3c50b: 0x6c2eee20,\n\t0x3c50c: 0x6c2ef020, 0x3c50d: 0x6c493620, 0x3c50e: 0x6c493820, 0x3c50f: 0x6c493a20,\n\t0x3c510: 0x6c6ae220, 0x3c511: 0x6c6ae420, 0x3c512: 0x6c6ae620, 0x3c513: 0x6c91cc20,\n\t0x3c514: 0x6c91ce20, 0x3c515: 0x6c91d020, 0x3c516: 0x6cbdec20, 0x3c517: 0x6cbdee20,\n\t0x3c518: 0x6cbdf020, 0x3c519: 0x6ceea020, 0x3c51a: 0x6ceea220, 0x3c51b: 0x6ceea420,\n\t0x3c51c: 0x6d1e4c20, 0x3c51d: 0x6d1e4e20, 0x3c51e: 0x6d1e5020, 0x3c51f: 0x6d4bd820,\n\t0x3c520: 0x6d4bda20, 0x3c521: 0x6d4bdc20, 0x3c522: 0x6dc45220, 0x3c523: 0x6df95a20,\n\t0x3c524: 0x6c0fa220, 0x3c525: 0x6c0fa420, 0x3c526: 0x6c1c5220, 0x3c527: 0x6c1c5420,\n\t0x3c528: 0x6c1c5620, 0x3c529: 0x6c1c5820, 0x3c52a: 0x6c1c5a20, 0x3c52b: 0x6c1c5c20,\n\t0x3c52c: 0x6c1c5e20, 0x3c52d: 0x6c2fc020, 0x3c52e: 0x6c2fc220, 0x3c52f: 0x6c2fc420,\n\t0x3c530: 0x6c2fc620, 0x3c531: 0x6c4a0c20, 0x3c532: 0x6c4a0e20, 0x3c533: 0x6c4a1020,\n\t0x3c534: 0x6c4a1220, 0x3c535: 0x6c4a1420, 0x3c536: 0x6c6bcc20, 0x3c537: 0x6c6bce20,\n\t0x3c538: 0x6c6bd020, 0x3c539: 0x6c6bd220, 0x3c53a: 0x6c6bd420, 0x3c53b: 0x6c92ec20,\n\t0x3c53c: 0x6c92ee20, 0x3c53d: 0x6c92f020, 0x3c53e: 0x6c92f220, 0x3c53f: 0x6c92f420,\n\t// Block 0xf15, offset 0x3c540\n\t0x3c540: 0x6c92f620, 0x3c541: 0x6c92f820, 0x3c542: 0x6c92fa20, 0x3c543: 0x6c92fc20,\n\t0x3c544: 0x6c92fe20, 0x3c545: 0x6c930020, 0x3c546: 0x6cbf2a20, 0x3c547: 0x6cbf2c20,\n\t0x3c548: 0x6cbf2e20, 0x3c549: 0x6cbf3020, 0x3c54a: 0x6cbf3220, 0x3c54b: 0x6cbf3420,\n\t0x3c54c: 0x6cbf3620, 0x3c54d: 0x6cbf3820, 0x3c54e: 0x6cbf3a20, 0x3c54f: 0x6cbf3c20,\n\t0x3c550: 0x6cbf3e20, 0x3c551: 0x6cef6c20, 0x3c552: 0x6cef6e20, 0x3c553: 0x6cef7020,\n\t0x3c554: 0x6cef7220, 0x3c555: 0x6cef7420, 0x3c556: 0x6cef7620, 0x3c557: 0x6d1f1420,\n\t0x3c558: 0x6d1f1620, 0x3c559: 0x6d1f1820, 0x3c55a: 0x6d1f1a20, 0x3c55b: 0x6d1f1c20,\n\t0x3c55c: 0x6d1f1e20, 0x3c55d: 0x6d1f2020, 0x3c55e: 0x6d1f2220, 0x3c55f: 0x6d1f2420,\n\t0x3c560: 0x6d4ca820, 0x3c561: 0x6d4caa20, 0x3c562: 0x6d4cac20, 0x3c563: 0x6d4cae20,\n\t0x3c564: 0x6d4cb020, 0x3c565: 0x6d4cb220, 0x3c566: 0x6d79d420, 0x3c567: 0x6d79d620,\n\t0x3c568: 0x6d79d820, 0x3c569: 0x6d79da20, 0x3c56a: 0x6d79dc20, 0x3c56b: 0x6da29420,\n\t0x3c56c: 0x6dc48620, 0x3c56d: 0x6dc48820, 0x3c56e: 0x6dc48a20, 0x3c56f: 0x6dc48c20,\n\t0x3c570: 0x6de18c20, 0x3c571: 0x6de18e20, 0x3c572: 0x6df98420, 0x3c573: 0x6e0d4020,\n\t0x3c574: 0x6e0d4220, 0x3c575: 0x6e28ae20, 0x3c576: 0x6c1c7e20, 0x3c577: 0x6c1c8020,\n\t0x3c578: 0x6c1c8220, 0x3c579: 0x6c1c8420, 0x3c57a: 0x6c2ff820, 0x3c57b: 0x6c4a3e20,\n\t0x3c57c: 0x6c931c20, 0x3c57d: 0x6c931e20, 0x3c57e: 0x6c932020, 0x3c57f: 0x6cbf6020,\n\t// Block 0xf16, offset 0x3c580\n\t0x3c580: 0x6d1f3a20, 0x3c581: 0x6d79fc20, 0x3c582: 0x6da29c20, 0x3c583: 0x6da29e20,\n\t0x3c584: 0x6e0d4420, 0x3c585: 0x6c1cb620, 0x3c586: 0x6c1cb820, 0x3c587: 0x6c1cba20,\n\t0x3c588: 0x6c304020, 0x3c589: 0x6c304220, 0x3c58a: 0x6c4a8820, 0x3c58b: 0x6c4a8a20,\n\t0x3c58c: 0x6c4a8c20, 0x3c58d: 0x6c6c6a20, 0x3c58e: 0x6c6c6c20, 0x3c58f: 0x6c6c6e20,\n\t0x3c590: 0x6c6c7020, 0x3c591: 0x6c937c20, 0x3c592: 0x6c937e20, 0x3c593: 0x6c938020,\n\t0x3c594: 0x6cbfc620, 0x3c595: 0x6cbfc820, 0x3c596: 0x6cbfca20, 0x3c597: 0x6cbfcc20,\n\t0x3c598: 0x6cbfce20, 0x3c599: 0x6cbfd020, 0x3c59a: 0x6cbfd220, 0x3c59b: 0x6cefec20,\n\t0x3c59c: 0x6cefee20, 0x3c59d: 0x6ceff020, 0x3c59e: 0x6ceff220, 0x3c59f: 0x6ceff420,\n\t0x3c5a0: 0x6ceff620, 0x3c5a1: 0x6d1fa020, 0x3c5a2: 0x6d1fa220, 0x3c5a3: 0x6d1fa420,\n\t0x3c5a4: 0x6d1fa620, 0x3c5a5: 0x6d1fa820, 0x3c5a6: 0x6d4d1620, 0x3c5a7: 0x6d4d1820,\n\t0x3c5a8: 0x6d4d1a20, 0x3c5a9: 0x6d4d1c20, 0x3c5aa: 0x6d4d1e20, 0x3c5ab: 0x6d7a2820,\n\t0x3c5ac: 0x6d7a2a20, 0x3c5ad: 0x6d7a2c20, 0x3c5ae: 0x6d7a2e20, 0x3c5af: 0x6da2be20,\n\t0x3c5b0: 0x6dc4b220, 0x3c5b1: 0x6dc4b420, 0x3c5b2: 0x6dc4b620, 0x3c5b3: 0x6df9a220,\n\t0x3c5b4: 0x6df9a420, 0x3c5b5: 0x6e0d5a20, 0x3c5b6: 0x6e31ee20, 0x3c5b7: 0x6c0fea20,\n\t0x3c5b8: 0x6c939220, 0x3c5b9: 0x6c939420, 0x3c5ba: 0x6cbfe820, 0x3c5bb: 0x6d4d3420,\n\t0x3c5bc: 0x6d4d3620, 0x3c5bd: 0x6d7a3620, 0x3c5be: 0x6da2c620, 0x3c5bf: 0x6c1cd420,\n\t// Block 0xf17, offset 0x3c5c0\n\t0x3c5c0: 0x6c306820, 0x3c5c1: 0x6c6c9020, 0x3c5c2: 0x6c6c9220, 0x3c5c3: 0x6d1fce20,\n\t0x3c5c4: 0x6d4d4e20, 0x3c5c5: 0x6d7a4020, 0x3c5c6: 0x6da2d020, 0x3c5c7: 0x6cc01e20,\n\t0x3c5c8: 0x6cf02c20, 0x3c5c9: 0x6c1d1820, 0x3c5ca: 0x6c1d1a20, 0x3c5cb: 0x6c1d1c20,\n\t0x3c5cc: 0x6c30b020, 0x3c5cd: 0x6c4b0e20, 0x3c5ce: 0x6c4b1020, 0x3c5cf: 0x6c6cf020,\n\t0x3c5d0: 0x6c6cf220, 0x3c5d1: 0x6c940e20, 0x3c5d2: 0x6cf05e20, 0x3c5d3: 0x6cf06020,\n\t0x3c5d4: 0x6cf06220, 0x3c5d5: 0x6cc05a20, 0x3c5d6: 0x6cc05c20, 0x3c5d7: 0x6cc05e20,\n\t0x3c5d8: 0x6cc06020, 0x3c5d9: 0x6d1ffc20, 0x3c5da: 0x6d1ffe20, 0x3c5db: 0x6d4d8820,\n\t0x3c5dc: 0x6d4d8a20, 0x3c5dd: 0x6d7a5e20, 0x3c5de: 0x6da2e020, 0x3c5df: 0x6de1cc20,\n\t0x3c5e0: 0x6de1ce20, 0x3c5e1: 0x6e1cd220, 0x3c5e2: 0x6c108820, 0x3c5e3: 0x6c108a20,\n\t0x3c5e4: 0x6c108c20, 0x3c5e5: 0x6c108e20, 0x3c5e6: 0x6c1dcc20, 0x3c5e7: 0x6c1dce20,\n\t0x3c5e8: 0x6c1dd020, 0x3c5e9: 0x6c316e20, 0x3c5ea: 0x6c317020, 0x3c5eb: 0x6c317220,\n\t0x3c5ec: 0x6c317420, 0x3c5ed: 0x6c317620, 0x3c5ee: 0x6c317820, 0x3c5ef: 0x6c4bbe20,\n\t0x3c5f0: 0x6c4bc020, 0x3c5f1: 0x6c4bc220, 0x3c5f2: 0x6c4bc420, 0x3c5f3: 0x6c4bc620,\n\t0x3c5f4: 0x6c4bc820, 0x3c5f5: 0x6c6dd420, 0x3c5f6: 0x6c6dd620, 0x3c5f7: 0x6c6dd820,\n\t0x3c5f8: 0x6c6dda20, 0x3c5f9: 0x6c6ddc20, 0x3c5fa: 0x6c6dde20, 0x3c5fb: 0x6c953c20,\n\t0x3c5fc: 0x6c953e20, 0x3c5fd: 0x6c954020, 0x3c5fe: 0x6c954220, 0x3c5ff: 0x6c954420,\n\t// Block 0xf18, offset 0x3c600\n\t0x3c600: 0x6c954620, 0x3c601: 0x6c954820, 0x3c602: 0x6cc15e20, 0x3c603: 0x6cc16020,\n\t0x3c604: 0x6cc16220, 0x3c605: 0x6cc16420, 0x3c606: 0x6cc16620, 0x3c607: 0x6cc16820,\n\t0x3c608: 0x6cf10820, 0x3c609: 0x6cf10a20, 0x3c60a: 0x6cf10c20, 0x3c60b: 0x6cf10e20,\n\t0x3c60c: 0x6d20ac20, 0x3c60d: 0x6d20ae20, 0x3c60e: 0x6d20b020, 0x3c60f: 0x6d20b220,\n\t0x3c610: 0x6d20b420, 0x3c611: 0x6d20b620, 0x3c612: 0x6d20b820, 0x3c613: 0x6d4e4020,\n\t0x3c614: 0x6d4e4220, 0x3c615: 0x6d4e4420, 0x3c616: 0x6d4e4620, 0x3c617: 0x6d7acc20,\n\t0x3c618: 0x6d7ace20, 0x3c619: 0x6d7ad020, 0x3c61a: 0x6d7ad220, 0x3c61b: 0x6da34c20,\n\t0x3c61c: 0x6da34e20, 0x3c61d: 0x6da35020, 0x3c61e: 0x6de20a20, 0x3c61f: 0x6e0d9020,\n\t0x3c620: 0x6e1cfc20, 0x3c621: 0x6c1ddc20, 0x3c622: 0x6c4bd820, 0x3c623: 0x6c10aa20,\n\t0x3c624: 0x6c955620, 0x3c625: 0x6cc17620, 0x3c626: 0x6cf11620, 0x3c627: 0x6d20bc20,\n\t0x3c628: 0x6da35820, 0x3c629: 0x6dc50c20, 0x3c62a: 0x6e1d0220, 0x3c62b: 0x6c319020,\n\t0x3c62c: 0x6c1de820, 0x3c62d: 0x6cc18420, 0x3c62e: 0x6cc18620, 0x3c62f: 0x6d20be20,\n\t0x3c630: 0x6d7ae420, 0x3c631: 0x6d7ae620, 0x3c632: 0x6c08b820, 0x3c633: 0x6c6e4c20,\n\t0x3c634: 0x6c95c220, 0x3c635: 0x6c95c420, 0x3c636: 0x6c95c620, 0x3c637: 0x6c95c820,\n\t0x3c638: 0x6cc1ec20, 0x3c639: 0x6cc1ee20, 0x3c63a: 0x6cc1f020, 0x3c63b: 0x6d210420,\n\t0x3c63c: 0x6d4ea620, 0x3c63d: 0x6d7b1820, 0x3c63e: 0x6da37a20, 0x3c63f: 0x6de22a20,\n\t// Block 0xf19, offset 0x3c640\n\t0x3c640: 0x6df9e820, 0x3c641: 0x6c1e3820, 0x3c642: 0x6c95ce20, 0x3c643: 0x6c95d020,\n\t0x3c644: 0x6cc1fa20, 0x3c645: 0x6cf16220, 0x3c646: 0x6cf16420, 0x3c647: 0x6d4eac20,\n\t0x3c648: 0x6dc51e20, 0x3c649: 0x6de22e20, 0x3c64a: 0x6c10e220, 0x3c64b: 0x6c4c6420,\n\t0x3c64c: 0x6c1e8020, 0x3c64d: 0x6c1e8220, 0x3c64e: 0x6c323e20, 0x3c64f: 0x6c324020,\n\t0x3c650: 0x6c4ca820, 0x3c651: 0x6c4caa20, 0x3c652: 0x6c6eae20, 0x3c653: 0x6c6eb020,\n\t0x3c654: 0x6c6eb220, 0x3c655: 0x6c6eb420, 0x3c656: 0x6c6eb620, 0x3c657: 0x6c6eb820,\n\t0x3c658: 0x6c964820, 0x3c659: 0x6c964a20, 0x3c65a: 0x6cc26020, 0x3c65b: 0x6cc26220,\n\t0x3c65c: 0x6cf1a820, 0x3c65d: 0x6cf1aa20, 0x3c65e: 0x6d216620, 0x3c65f: 0x6d216820,\n\t0x3c660: 0x6d216a20, 0x3c661: 0x6d4efa20, 0x3c662: 0x6d4efc20, 0x3c663: 0x6d4efe20,\n\t0x3c664: 0x6d7b5820, 0x3c665: 0x6d7b5a20, 0x3c666: 0x6da39a20, 0x3c667: 0x6da39c20,\n\t0x3c668: 0x6da39e20, 0x3c669: 0x6dc53c20, 0x3c66a: 0x6de25420, 0x3c66b: 0x6e0da820,\n\t0x3c66c: 0x6c08d820, 0x3c66d: 0x6c1e8c20, 0x3c66e: 0x6c1e8e20, 0x3c66f: 0x6c4cc020,\n\t0x3c670: 0x6c6ec020, 0x3c671: 0x6c965820, 0x3c672: 0x6d217220, 0x3c673: 0x6c1ea420,\n\t0x3c674: 0x6c325a20, 0x3c675: 0x6c6ed220, 0x3c676: 0x6cc27820, 0x3c677: 0x6cf1b620,\n\t0x3c678: 0x6da3a620, 0x3c679: 0x6e1d2020, 0x3c67a: 0x6c114820, 0x3c67b: 0x6c329820,\n\t0x3c67c: 0x6c4d2620, 0x3c67d: 0x6c4d2820, 0x3c67e: 0x6c6ef820, 0x3c67f: 0x6c969e20,\n\t// Block 0xf1a, offset 0x3c680\n\t0x3c680: 0x6cc2a220, 0x3c681: 0x6cc2a420, 0x3c682: 0x6d21a420, 0x3c683: 0x6da3b820,\n\t0x3c684: 0x6e0db620, 0x3c685: 0x6e388420, 0x3c686: 0x6c115420, 0x3c687: 0x6dc55a20,\n\t0x3c688: 0x6c6f1020, 0x3c689: 0x6d4f3420, 0x3c68a: 0x6da3be20, 0x3c68b: 0x6c1f1a20,\n\t0x3c68c: 0x6c32de20, 0x3c68d: 0x6c6f5220, 0x3c68e: 0x6c6f5420, 0x3c68f: 0x6c972a20,\n\t0x3c690: 0x6c972c20, 0x3c691: 0x6cc2fe20, 0x3c692: 0x6cc30020, 0x3c693: 0x6cc30220,\n\t0x3c694: 0x6cf23e20, 0x3c695: 0x6cf24020, 0x3c696: 0x6d21fc20, 0x3c697: 0x6d21fe20,\n\t0x3c698: 0x6d220020, 0x3c699: 0x6d7bb020, 0x3c69a: 0x6da3d220, 0x3c69b: 0x6dc57020,\n\t0x3c69c: 0x6dc57220, 0x3c69d: 0x6c091e20, 0x3c69e: 0x6c11b820, 0x3c69f: 0x6c1fec20,\n\t0x3c6a0: 0x6c1fee20, 0x3c6a1: 0x6c1ff020, 0x3c6a2: 0x6c1ff220, 0x3c6a3: 0x6c1ff420,\n\t0x3c6a4: 0x6c1ff620, 0x3c6a5: 0x6c1ff820, 0x3c6a6: 0x6c33ce20, 0x3c6a7: 0x6c33d020,\n\t0x3c6a8: 0x6c33d220, 0x3c6a9: 0x6c33d420, 0x3c6aa: 0x6c33d620, 0x3c6ab: 0x6c33d820,\n\t0x3c6ac: 0x6c33da20, 0x3c6ad: 0x6c4e8e20, 0x3c6ae: 0x6c4e9020, 0x3c6af: 0x6c4e9220,\n\t0x3c6b0: 0x6c4e9420, 0x3c6b1: 0x6c4e9620, 0x3c6b2: 0x6c4e9820, 0x3c6b3: 0x6c4e9a20,\n\t0x3c6b4: 0x6c4e9c20, 0x3c6b5: 0x6c708220, 0x3c6b6: 0x6c708420, 0x3c6b7: 0x6c708620,\n\t0x3c6b8: 0x6c708820, 0x3c6b9: 0x6c708a20, 0x3c6ba: 0x6c708c20, 0x3c6bb: 0x6c708e20,\n\t0x3c6bc: 0x6c709020, 0x3c6bd: 0x6c709220, 0x3c6be: 0x6c709420, 0x3c6bf: 0x6c98a620,\n\t// Block 0xf1b, offset 0x3c6c0\n\t0x3c6c0: 0x6c98a820, 0x3c6c1: 0x6c98aa20, 0x3c6c2: 0x6c98ac20, 0x3c6c3: 0x6c98ae20,\n\t0x3c6c4: 0x6c98b020, 0x3c6c5: 0x6c98b220, 0x3c6c6: 0x6c98b420, 0x3c6c7: 0x6cc47620,\n\t0x3c6c8: 0x6cc47820, 0x3c6c9: 0x6cc47a20, 0x3c6ca: 0x6cc47c20, 0x3c6cb: 0x6cc47e20,\n\t0x3c6cc: 0x6cc48020, 0x3c6cd: 0x6cc48220, 0x3c6ce: 0x6cc48420, 0x3c6cf: 0x6cc48620,\n\t0x3c6d0: 0x6cc48820, 0x3c6d1: 0x6cc48a20, 0x3c6d2: 0x6cc48c20, 0x3c6d3: 0x6cf35c20,\n\t0x3c6d4: 0x6cf35e20, 0x3c6d5: 0x6cf36020, 0x3c6d6: 0x6cf36220, 0x3c6d7: 0x6cf36420,\n\t0x3c6d8: 0x6cf36620, 0x3c6d9: 0x6cf36820, 0x3c6da: 0x6cf36a20, 0x3c6db: 0x6cf36c20,\n\t0x3c6dc: 0x6cf36e20, 0x3c6dd: 0x6cf37020, 0x3c6de: 0x6cf37220, 0x3c6df: 0x6d232020,\n\t0x3c6e0: 0x6d232220, 0x3c6e1: 0x6d232420, 0x3c6e2: 0x6d232620, 0x3c6e3: 0x6d232820,\n\t0x3c6e4: 0x6d232a20, 0x3c6e5: 0x6d232c20, 0x3c6e6: 0x6d232e20, 0x3c6e7: 0x6d233020,\n\t0x3c6e8: 0x6d50b220, 0x3c6e9: 0x6d50b420, 0x3c6ea: 0x6d50b620, 0x3c6eb: 0x6d50b820,\n\t0x3c6ec: 0x6d50ba20, 0x3c6ed: 0x6d50bc20, 0x3c6ee: 0x6d7c7c20, 0x3c6ef: 0x6d7c7e20,\n\t0x3c6f0: 0x6d7c8020, 0x3c6f1: 0x6d7c8220, 0x3c6f2: 0x6d7c8420, 0x3c6f3: 0x6d7c8620,\n\t0x3c6f4: 0x6d7c8820, 0x3c6f5: 0x6d7c8a20, 0x3c6f6: 0x6d7c8c20, 0x3c6f7: 0x6da46220,\n\t0x3c6f8: 0x6da46420, 0x3c6f9: 0x6da46620, 0x3c6fa: 0x6dc5f620, 0x3c6fb: 0x6dc5f820,\n\t0x3c6fc: 0x6dc5fa20, 0x3c6fd: 0x6dc5fc20, 0x3c6fe: 0x6dc5fe20, 0x3c6ff: 0x6de2da20,\n\t// Block 0xf1c, offset 0x3c700\n\t0x3c700: 0x6de2dc20, 0x3c701: 0x6dfa5220, 0x3c702: 0x6dfa5420, 0x3c703: 0x6e0de220,\n\t0x3c704: 0x6e0de420, 0x3c705: 0x6e1d4e20, 0x3c706: 0x6e1d5020, 0x3c707: 0x6e28f020,\n\t0x3c708: 0x6e388e20, 0x3c709: 0x6c092a20, 0x3c70a: 0x6c11cc20, 0x3c70b: 0x6c4ec420,\n\t0x3c70c: 0x6c4ec620, 0x3c70d: 0x6c70ae20, 0x3c70e: 0x6c70b020, 0x3c70f: 0x6c98d220,\n\t0x3c710: 0x6c98d420, 0x3c711: 0x6cc4ac20, 0x3c712: 0x6cf3a020, 0x3c713: 0x6d236020,\n\t0x3c714: 0x6d7caa20, 0x3c715: 0x6d7cac20, 0x3c716: 0x6d7cae20, 0x3c717: 0x6e3d2c20,\n\t0x3c718: 0x6c4ef020, 0x3c719: 0x6c98e020, 0x3c71a: 0x6d50fa20, 0x3c71b: 0x6e1d5420,\n\t0x3c71c: 0x6c123220, 0x3c71d: 0x6c210a20, 0x3c71e: 0x6c210c20, 0x3c71f: 0x6c210e20,\n\t0x3c720: 0x6c211020, 0x3c721: 0x6c211220, 0x3c722: 0x6c211420, 0x3c723: 0x6c211620,\n\t0x3c724: 0x6c351e20, 0x3c725: 0x6c352020, 0x3c726: 0x6c352220, 0x3c727: 0x6c352420,\n\t0x3c728: 0x6c352620, 0x3c729: 0x6c352820, 0x3c72a: 0x6c352a20, 0x3c72b: 0x6c501620,\n\t0x3c72c: 0x6c501820, 0x3c72d: 0x6c501a20, 0x3c72e: 0x6c501c20, 0x3c72f: 0x6c501e20,\n\t0x3c730: 0x6c502020, 0x3c731: 0x6c502220, 0x3c732: 0x6c502420, 0x3c733: 0x6c502620,\n\t0x3c734: 0x6c720620, 0x3c735: 0x6c720820, 0x3c736: 0x6c720a20, 0x3c737: 0x6c720c20,\n\t0x3c738: 0x6c720e20, 0x3c739: 0x6c721020, 0x3c73a: 0x6c721220, 0x3c73b: 0x6c721420,\n\t0x3c73c: 0x6c721620, 0x3c73d: 0x6c721820, 0x3c73e: 0x6c721a20, 0x3c73f: 0x6c721c20,\n\t// Block 0xf1d, offset 0x3c740\n\t0x3c740: 0x6c721e20, 0x3c741: 0x6c9a7c20, 0x3c742: 0x6c9a7e20, 0x3c743: 0x6c9a8020,\n\t0x3c744: 0x6c9a8220, 0x3c745: 0x6c9a8420, 0x3c746: 0x6c9a8620, 0x3c747: 0x6c9a8820,\n\t0x3c748: 0x6c9a8a20, 0x3c749: 0x6c9a8c20, 0x3c74a: 0x6c9a8e20, 0x3c74b: 0x6c9a9020,\n\t0x3c74c: 0x6cc65420, 0x3c74d: 0x6cc65620, 0x3c74e: 0x6cc65820, 0x3c74f: 0x6cc65a20,\n\t0x3c750: 0x6cc65c20, 0x3c751: 0x6cc65e20, 0x3c752: 0x6cc66020, 0x3c753: 0x6cc66220,\n\t0x3c754: 0x6cc66420, 0x3c755: 0x6cc66620, 0x3c756: 0x6cc66820, 0x3c757: 0x6cf50220,\n\t0x3c758: 0x6cf50420, 0x3c759: 0x6cf50620, 0x3c75a: 0x6cf50820, 0x3c75b: 0x6cf50a20,\n\t0x3c75c: 0x6cf50c20, 0x3c75d: 0x6cf50e20, 0x3c75e: 0x6cf51020, 0x3c75f: 0x6cf51220,\n\t0x3c760: 0x6cf51420, 0x3c761: 0x6cf51620, 0x3c762: 0x6cf51820, 0x3c763: 0x6d24d420,\n\t0x3c764: 0x6d24d620, 0x3c765: 0x6d24d820, 0x3c766: 0x6d24da20, 0x3c767: 0x6d24dc20,\n\t0x3c768: 0x6d24de20, 0x3c769: 0x6d24e020, 0x3c76a: 0x6d24e220, 0x3c76b: 0x6d525620,\n\t0x3c76c: 0x6d525820, 0x3c76d: 0x6d525a20, 0x3c76e: 0x6d525c20, 0x3c76f: 0x6d525e20,\n\t0x3c770: 0x6d526020, 0x3c771: 0x6d526220, 0x3c772: 0x6d526420, 0x3c773: 0x6d526620,\n\t0x3c774: 0x6d526820, 0x3c775: 0x6d7d9820, 0x3c776: 0x6d7d9a20, 0x3c777: 0x6d7d9c20,\n\t0x3c778: 0x6da50420, 0x3c779: 0x6da50620, 0x3c77a: 0x6da50820, 0x3c77b: 0x6dc6a820,\n\t0x3c77c: 0x6dc6aa20, 0x3c77d: 0x6dc6ac20, 0x3c77e: 0x6dc6ae20, 0x3c77f: 0x6dc6b020,\n\t// Block 0xf1e, offset 0x3c780\n\t0x3c780: 0x6dc6b220, 0x3c781: 0x6de35820, 0x3c782: 0x6dfaae20, 0x3c783: 0x6e1d8e20,\n\t0x3c784: 0x6e291820, 0x3c785: 0x6c9a9e20, 0x3c786: 0x6c353e20, 0x3c787: 0x6d527020,\n\t0x3c788: 0x6c357420, 0x3c789: 0x6c506c20, 0x3c78a: 0x6c506e20, 0x3c78b: 0x6c728820,\n\t0x3c78c: 0x6c728a20, 0x3c78d: 0x6c9b1020, 0x3c78e: 0x6cc6fe20, 0x3c78f: 0x6cc70020,\n\t0x3c790: 0x6cf58a20, 0x3c791: 0x6d253e20, 0x3c792: 0x6d254020, 0x3c793: 0x6d52b620,\n\t0x3c794: 0x6d52b820, 0x3c795: 0x6d52ba20, 0x3c796: 0x6d52bc20, 0x3c797: 0x6d7dfe20,\n\t0x3c798: 0x6d7e0020, 0x3c799: 0x6d7e0220, 0x3c79a: 0x6da53c20, 0x3c79b: 0x6dc6d420,\n\t0x3c79c: 0x6dc6d620, 0x3c79d: 0x6e0e3820, 0x3c79e: 0x6e0e3a20, 0x3c79f: 0x6e324620,\n\t0x3c7a0: 0x6c214020, 0x3c7a1: 0x6c357e20, 0x3c7a2: 0x6c358020, 0x3c7a3: 0x6c507820,\n\t0x3c7a4: 0x6c729820, 0x3c7a5: 0x6cc70e20, 0x3c7a6: 0x6cc71020, 0x3c7a7: 0x6cc71220,\n\t0x3c7a8: 0x6d254220, 0x3c7a9: 0x6d254420, 0x3c7aa: 0x6d254620, 0x3c7ab: 0x6c508020,\n\t0x3c7ac: 0x6c72a820, 0x3c7ad: 0x6d255420, 0x3c7ae: 0x6d52d420, 0x3c7af: 0x6da54a20,\n\t0x3c7b0: 0x6e0e4220, 0x3c7b1: 0x6c359c20, 0x3c7b2: 0x6c35ac20, 0x3c7b3: 0x6c35ae20,\n\t0x3c7b4: 0x6c50aa20, 0x3c7b5: 0x6c72e420, 0x3c7b6: 0x6c72e620, 0x3c7b7: 0x6c72e820,\n\t0x3c7b8: 0x6c9b6a20, 0x3c7b9: 0x6cc76220, 0x3c7ba: 0x6cc76420, 0x3c7bb: 0x6cc76620,\n\t0x3c7bc: 0x6cc76820, 0x3c7bd: 0x6cf5ca20, 0x3c7be: 0x6d257420, 0x3c7bf: 0x6d52ee20,\n\t// Block 0xf1f, offset 0x3c7c0\n\t0x3c7c0: 0x6d52f020, 0x3c7c1: 0x6d7e2c20, 0x3c7c2: 0x6d7e2e20, 0x3c7c3: 0x6de38020,\n\t0x3c7c4: 0x6de38220, 0x3c7c5: 0x6dfadc20, 0x3c7c6: 0x6c219820, 0x3c7c7: 0x6c219a20,\n\t0x3c7c8: 0x6c363220, 0x3c7c9: 0x6c363420, 0x3c7ca: 0x6c363620, 0x3c7cb: 0x6c363820,\n\t0x3c7cc: 0x6c363a20, 0x3c7cd: 0x6c363c20, 0x3c7ce: 0x6c363e20, 0x3c7cf: 0x6c514420,\n\t0x3c7d0: 0x6c514620, 0x3c7d1: 0x6c514820, 0x3c7d2: 0x6c514a20, 0x3c7d3: 0x6c514c20,\n\t0x3c7d4: 0x6c514e20, 0x3c7d5: 0x6c515020, 0x3c7d6: 0x6c515220, 0x3c7d7: 0x6c515420,\n\t0x3c7d8: 0x6c515620, 0x3c7d9: 0x6c737220, 0x3c7da: 0x6c737420, 0x3c7db: 0x6c737620,\n\t0x3c7dc: 0x6c737820, 0x3c7dd: 0x6c737a20, 0x3c7de: 0x6c737c20, 0x3c7df: 0x6c737e20,\n\t0x3c7e0: 0x6c738020, 0x3c7e1: 0x6c738220, 0x3c7e2: 0x6c738420, 0x3c7e3: 0x6c738620,\n\t0x3c7e4: 0x6c738820, 0x3c7e5: 0x6c9c0220, 0x3c7e6: 0x6c9c0420, 0x3c7e7: 0x6c9c0620,\n\t0x3c7e8: 0x6c9c0820, 0x3c7e9: 0x6cc83e20, 0x3c7ea: 0x6cc84020, 0x3c7eb: 0x6cc84220,\n\t0x3c7ec: 0x6cc84420, 0x3c7ed: 0x6cc84620, 0x3c7ee: 0x6cc84820, 0x3c7ef: 0x6cf67620,\n\t0x3c7f0: 0x6cf67820, 0x3c7f1: 0x6cf67a20, 0x3c7f2: 0x6cf67c20, 0x3c7f3: 0x6cf67e20,\n\t0x3c7f4: 0x6cf68020, 0x3c7f5: 0x6cf68220, 0x3c7f6: 0x6cf68420, 0x3c7f7: 0x6cf68620,\n\t0x3c7f8: 0x6d25ec20, 0x3c7f9: 0x6d25ee20, 0x3c7fa: 0x6d25f020, 0x3c7fb: 0x6d25f220,\n\t0x3c7fc: 0x6d25f420, 0x3c7fd: 0x6d25f620, 0x3c7fe: 0x6d536220, 0x3c7ff: 0x6d536420,\n\t// Block 0xf20, offset 0x3c800\n\t0x3c800: 0x6d536620, 0x3c801: 0x6d536820, 0x3c802: 0x6d536a20, 0x3c803: 0x6d536c20,\n\t0x3c804: 0x6d536e20, 0x3c805: 0x6d537020, 0x3c806: 0x6da5a420, 0x3c807: 0x6d7ec620,\n\t0x3c808: 0x6d7ec820, 0x3c809: 0x6d7eca20, 0x3c80a: 0x6d7ecc20, 0x3c80b: 0x6d7ece20,\n\t0x3c80c: 0x6d7ed020, 0x3c80d: 0x6da5a620, 0x3c80e: 0x6dc73820, 0x3c80f: 0x6dc73a20,\n\t0x3c810: 0x6dc73c20, 0x3c811: 0x6e0e5220, 0x3c812: 0x6e0e5420, 0x3c813: 0x6e0e5620,\n\t0x3c814: 0x6e325620, 0x3c815: 0x6d537e20, 0x3c816: 0x6d7ee020, 0x3c817: 0x6d7ee220,\n\t0x3c818: 0x6de3b220, 0x3c819: 0x6c127820, 0x3c81a: 0x6c21ae20, 0x3c81b: 0x6c365620,\n\t0x3c81c: 0x6c518220, 0x3c81d: 0x6c518420, 0x3c81e: 0x6c73ba20, 0x3c81f: 0x6d261220,\n\t0x3c820: 0x6c9c3020, 0x3c821: 0x6c9c3220, 0x3c822: 0x6c9c3420, 0x3c823: 0x6cc87e20,\n\t0x3c824: 0x6cf6aa20, 0x3c825: 0x6cf6ac20, 0x3c826: 0x6cf6ae20, 0x3c827: 0x6cf6b020,\n\t0x3c828: 0x6d261420, 0x3c829: 0x6d261620, 0x3c82a: 0x6d261820, 0x3c82b: 0x6d539820,\n\t0x3c82c: 0x6d539a20, 0x3c82d: 0x6d7efc20, 0x3c82e: 0x6e0e5a20, 0x3c82f: 0x6e0e5c20,\n\t0x3c830: 0x6e325c20, 0x3c831: 0x6c222e20, 0x3c832: 0x6c223020, 0x3c833: 0x6c223220,\n\t0x3c834: 0x6c223420, 0x3c835: 0x6c223620, 0x3c836: 0x6c375a20, 0x3c837: 0x6c375c20,\n\t0x3c838: 0x6c375e20, 0x3c839: 0x6c376020, 0x3c83a: 0x6c52ae20, 0x3c83b: 0x6c52b020,\n\t0x3c83c: 0x6c52b220, 0x3c83d: 0x6c52b420, 0x3c83e: 0x6c52b620, 0x3c83f: 0x6c52b820,\n\t// Block 0xf21, offset 0x3c840\n\t0x3c840: 0x6c52ba20, 0x3c841: 0x6c52bc20, 0x3c842: 0x6c52be20, 0x3c843: 0x6c752a20,\n\t0x3c844: 0x6c752c20, 0x3c845: 0x6c752e20, 0x3c846: 0x6c753020, 0x3c847: 0x6c753220,\n\t0x3c848: 0x6c753420, 0x3c849: 0x6c753620, 0x3c84a: 0x6c753820, 0x3c84b: 0x6c753a20,\n\t0x3c84c: 0x6c753c20, 0x3c84d: 0x6c753e20, 0x3c84e: 0x6c754020, 0x3c84f: 0x6c754220,\n\t0x3c850: 0x6c9d8620, 0x3c851: 0x6c9d8820, 0x3c852: 0x6c9d8a20, 0x3c853: 0x6c9d8c20,\n\t0x3c854: 0x6c9d8e20, 0x3c855: 0x6c9d9020, 0x3c856: 0x6c9d9220, 0x3c857: 0x6c9d9420,\n\t0x3c858: 0x6c9d9620, 0x3c859: 0x6c9d9820, 0x3c85a: 0x6c9d9a20, 0x3c85b: 0x6c9d9c20,\n\t0x3c85c: 0x6c9d9e20, 0x3c85d: 0x6c9da020, 0x3c85e: 0x6c9da220, 0x3c85f: 0x6cca6620,\n\t0x3c860: 0x6cca6820, 0x3c861: 0x6cca6a20, 0x3c862: 0x6cca6c20, 0x3c863: 0x6cca6e20,\n\t0x3c864: 0x6cca7020, 0x3c865: 0x6cca7220, 0x3c866: 0x6cca7420, 0x3c867: 0x6cca7620,\n\t0x3c868: 0x6cca7820, 0x3c869: 0x6cca7a20, 0x3c86a: 0x6cca7c20, 0x3c86b: 0x6cca7e20,\n\t0x3c86c: 0x6cca8020, 0x3c86d: 0x6cca8220, 0x3c86e: 0x6cca8420, 0x3c86f: 0x6cca8620,\n\t0x3c870: 0x6cf88c20, 0x3c871: 0x6cf88e20, 0x3c872: 0x6cf89020, 0x3c873: 0x6cf89220,\n\t0x3c874: 0x6cf89420, 0x3c875: 0x6cf89620, 0x3c876: 0x6cf89820, 0x3c877: 0x6cf89a20,\n\t0x3c878: 0x6cf89c20, 0x3c879: 0x6cf89e20, 0x3c87a: 0x6cf8a020, 0x3c87b: 0x6cf8a220,\n\t0x3c87c: 0x6cf8a420, 0x3c87d: 0x6cf8a620, 0x3c87e: 0x6cf8a820, 0x3c87f: 0x6cf8aa20,\n\t// Block 0xf22, offset 0x3c880\n\t0x3c880: 0x6cf8ac20, 0x3c881: 0x6cf8ae20, 0x3c882: 0x6cf8b020, 0x3c883: 0x6cf8b220,\n\t0x3c884: 0x6cf8b420, 0x3c885: 0x6cf8b620, 0x3c886: 0x6cf8b820, 0x3c887: 0x6cf8ba20,\n\t0x3c888: 0x6d27d220, 0x3c889: 0x6d27d420, 0x3c88a: 0x6d27d620, 0x3c88b: 0x6d27d820,\n\t0x3c88c: 0x6d27da20, 0x3c88d: 0x6d27dc20, 0x3c88e: 0x6d27de20, 0x3c88f: 0x6d27e020,\n\t0x3c890: 0x6d27e220, 0x3c891: 0x6d27e420, 0x3c892: 0x6d27e620, 0x3c893: 0x6d27e820,\n\t0x3c894: 0x6d27ea20, 0x3c895: 0x6d27ec20, 0x3c896: 0x6d27ee20, 0x3c897: 0x6d27f020,\n\t0x3c898: 0x6d27f220, 0x3c899: 0x6d27f420, 0x3c89a: 0x6d27f620, 0x3c89b: 0x6d27f820,\n\t0x3c89c: 0x6d27fa20, 0x3c89d: 0x6d552c20, 0x3c89e: 0x6d552e20, 0x3c89f: 0x6d553020,\n\t0x3c8a0: 0x6d553220, 0x3c8a1: 0x6d553420, 0x3c8a2: 0x6d553620, 0x3c8a3: 0x6d553820,\n\t0x3c8a4: 0x6d553a20, 0x3c8a5: 0x6d553c20, 0x3c8a6: 0x6d553e20, 0x3c8a7: 0x6d554020,\n\t0x3c8a8: 0x6d554220, 0x3c8a9: 0x6d554420, 0x3c8aa: 0x6d554620, 0x3c8ab: 0x6d554820,\n\t0x3c8ac: 0x6d554a20, 0x3c8ad: 0x6d80ae20, 0x3c8ae: 0x6d80b020, 0x3c8af: 0x6d80b220,\n\t0x3c8b0: 0x6d80b420, 0x3c8b1: 0x6d80b620, 0x3c8b2: 0x6d80b820, 0x3c8b3: 0x6d80ba20,\n\t0x3c8b4: 0x6d80bc20, 0x3c8b5: 0x6d80be20, 0x3c8b6: 0x6d80c020, 0x3c8b7: 0x6d80c220,\n\t0x3c8b8: 0x6d80c420, 0x3c8b9: 0x6d80c620, 0x3c8ba: 0x6d80c820, 0x3c8bb: 0x6d80ca20,\n\t0x3c8bc: 0x6d80cc20, 0x3c8bd: 0x6da6d820, 0x3c8be: 0x6da6da20, 0x3c8bf: 0x6da6dc20,\n\t// Block 0xf23, offset 0x3c8c0\n\t0x3c8c0: 0x6da6de20, 0x3c8c1: 0x6da6e020, 0x3c8c2: 0x6da6e220, 0x3c8c3: 0x6da6e420,\n\t0x3c8c4: 0x6da6e620, 0x3c8c5: 0x6da6e820, 0x3c8c6: 0x6da6ea20, 0x3c8c7: 0x6da6ec20,\n\t0x3c8c8: 0x6da6ee20, 0x3c8c9: 0x6dc83c20, 0x3c8ca: 0x6dc83e20, 0x3c8cb: 0x6dc84020,\n\t0x3c8cc: 0x6dc84220, 0x3c8cd: 0x6dc84420, 0x3c8ce: 0x6dc84620, 0x3c8cf: 0x6dc84820,\n\t0x3c8d0: 0x6de46c20, 0x3c8d1: 0x6de46e20, 0x3c8d2: 0x6de47020, 0x3c8d3: 0x6de47220,\n\t0x3c8d4: 0x6de47420, 0x3c8d5: 0x6de47620, 0x3c8d6: 0x6dfb8e20, 0x3c8d7: 0x6dfb9020,\n\t0x3c8d8: 0x6dfb9220, 0x3c8d9: 0x6dfb9420, 0x3c8da: 0x6dfb9620, 0x3c8db: 0x6e0ed020,\n\t0x3c8dc: 0x6e0ed220, 0x3c8dd: 0x6e0ed420, 0x3c8de: 0x6e0ed620, 0x3c8df: 0x6e1e0620,\n\t0x3c8e0: 0x6e1e0820, 0x3c8e1: 0x6e1e0a20, 0x3c8e2: 0x6e297220, 0x3c8e3: 0x6e297420,\n\t0x3c8e4: 0x6e328c20, 0x3c8e5: 0x6e328e20, 0x3c8e6: 0x6e38d220, 0x3c8e7: 0x6e405420,\n\t0x3c8e8: 0x6e3d4420, 0x3c8e9: 0x6c379220, 0x3c8ea: 0x6c52f420, 0x3c8eb: 0x6c52f620,\n\t0x3c8ec: 0x6c9dd620, 0x3c8ed: 0x6c9dd820, 0x3c8ee: 0x6ccad020, 0x3c8ef: 0x6cf90220,\n\t0x3c8f0: 0x6cf90420, 0x3c8f1: 0x6d283e20, 0x3c8f2: 0x6d558220, 0x3c8f3: 0x6dfba220,\n\t0x3c8f4: 0x6e329220, 0x3c8f5: 0x6c37c820, 0x3c8f6: 0x6c75a420, 0x3c8f7: 0x6c9de620,\n\t0x3c8f8: 0x6ccaf620, 0x3c8f9: 0x6cf91c20, 0x3c8fa: 0x6cf91e20, 0x3c8fb: 0x6d284e20,\n\t0x3c8fc: 0x6d559820, 0x3c8fd: 0x6d80fe20, 0x3c8fe: 0x6d810020, 0x3c8ff: 0x6da71c20,\n\t// Block 0xf24, offset 0x3c900\n\t0x3c900: 0x6c534420, 0x3c901: 0x6c534620, 0x3c902: 0x6c75d820, 0x3c903: 0x6c75da20,\n\t0x3c904: 0x6c9e1e20, 0x3c905: 0x6ccb4820, 0x3c906: 0x6d287420, 0x3c907: 0x6da73420,\n\t0x3c908: 0x6c75e820, 0x3c909: 0x6c75ea20, 0x3c90a: 0x6c9b1220, 0x3c90b: 0x6c9e4620,\n\t0x3c90c: 0x6ccb6220, 0x3c90d: 0x6ccb6420, 0x3c90e: 0x6ccb6620, 0x3c90f: 0x6cf97a20,\n\t0x3c910: 0x6d55da20, 0x3c911: 0x6da74020, 0x3c912: 0x6da74220, 0x3c913: 0x6e38de20,\n\t0x3c914: 0x6d289220, 0x3c915: 0x6d289c20, 0x3c916: 0x6c098220, 0x3c917: 0x6c384c20,\n\t0x3c918: 0x6c384e20, 0x3c919: 0x6c53ac20, 0x3c91a: 0x6c53ae20, 0x3c91b: 0x6c763420,\n\t0x3c91c: 0x6c763620, 0x3c91d: 0x6ccbc220, 0x3c91e: 0x6ccbc420, 0x3c91f: 0x6cf9d420,\n\t0x3c920: 0x6d28e820, 0x3c921: 0x6d561020, 0x3c922: 0x6dc8ba20, 0x3c923: 0x6c386420,\n\t0x3c924: 0x6c53cc20, 0x3c925: 0x6c9ea820, 0x3c926: 0x6cf9e020, 0x3c927: 0x6d28f220,\n\t0x3c928: 0x6c09c820, 0x3c929: 0x6c134c20, 0x3c92a: 0x6c134e20, 0x3c92b: 0x6c135020,\n\t0x3c92c: 0x6c135220, 0x3c92d: 0x6c238220, 0x3c92e: 0x6c238420, 0x3c92f: 0x6c238620,\n\t0x3c930: 0x6c238820, 0x3c931: 0x6c398420, 0x3c932: 0x6c398620, 0x3c933: 0x6c398820,\n\t0x3c934: 0x6c398a20, 0x3c935: 0x6c398c20, 0x3c936: 0x6c398e20, 0x3c937: 0x6c550a20,\n\t0x3c938: 0x6c550c20, 0x3c939: 0x6c550e20, 0x3c93a: 0x6c551020, 0x3c93b: 0x6c551220,\n\t0x3c93c: 0x6c551420, 0x3c93d: 0x6c551620, 0x3c93e: 0x6c77cc20, 0x3c93f: 0x6c77ce20,\n\t// Block 0xf25, offset 0x3c940\n\t0x3c940: 0x6c77d020, 0x3c941: 0x6c77d220, 0x3c942: 0x6c77d420, 0x3c943: 0x6c77d620,\n\t0x3c944: 0x6c77d820, 0x3c945: 0x6c77da20, 0x3c946: 0x6c77dc20, 0x3c947: 0x6c77de20,\n\t0x3c948: 0x6c77e020, 0x3c949: 0x6c77e220, 0x3c94a: 0x6c77e420, 0x3c94b: 0x6c77e620,\n\t0x3c94c: 0x6ca0c620, 0x3c94d: 0x6ca0c820, 0x3c94e: 0x6ca0ca20, 0x3c94f: 0x6ca0cc20,\n\t0x3c950: 0x6ca0ce20, 0x3c951: 0x6ca0d020, 0x3c952: 0x6ca0d220, 0x3c953: 0x6ca0d420,\n\t0x3c954: 0x6ca0d620, 0x3c955: 0x6ca0d820, 0x3c956: 0x6ca0da20, 0x3c957: 0x6ccdb620,\n\t0x3c958: 0x6ccdb820, 0x3c959: 0x6ccdba20, 0x3c95a: 0x6ccdbc20, 0x3c95b: 0x6ccdbe20,\n\t0x3c95c: 0x6ccdc020, 0x3c95d: 0x6ccdc220, 0x3c95e: 0x6ccdc420, 0x3c95f: 0x6ccdc620,\n\t0x3c960: 0x6ccdc820, 0x3c961: 0x6ccdca20, 0x3c962: 0x6ccdcc20, 0x3c963: 0x6ccdce20,\n\t0x3c964: 0x6ccdd020, 0x3c965: 0x6ccdd220, 0x3c966: 0x6ccdd420, 0x3c967: 0x6ccdd620,\n\t0x3c968: 0x6ccdd820, 0x3c969: 0x6ccdda20, 0x3c96a: 0x6cfba620, 0x3c96b: 0x6cfba820,\n\t0x3c96c: 0x6cfbaa20, 0x3c96d: 0x6cfbac20, 0x3c96e: 0x6cfbae20, 0x3c96f: 0x6cfbb020,\n\t0x3c970: 0x6cfbb220, 0x3c971: 0x6cfbb420, 0x3c972: 0x6cfbb620, 0x3c973: 0x6cfbb820,\n\t0x3c974: 0x6cfbba20, 0x3c975: 0x6cfbbc20, 0x3c976: 0x6cfbbe20, 0x3c977: 0x6cfbc020,\n\t0x3c978: 0x6cfbc220, 0x3c979: 0x6cfbc420, 0x3c97a: 0x6cfbc620, 0x3c97b: 0x6cfbc820,\n\t0x3c97c: 0x6cfbca20, 0x3c97d: 0x6cfbcc20, 0x3c97e: 0x6cfbce20, 0x3c97f: 0x6d2ab220,\n\t// Block 0xf26, offset 0x3c980\n\t0x3c980: 0x6d2ab420, 0x3c981: 0x6d2ab620, 0x3c982: 0x6d2ab820, 0x3c983: 0x6d2aba20,\n\t0x3c984: 0x6d2abc20, 0x3c985: 0x6d2abe20, 0x3c986: 0x6d2ac020, 0x3c987: 0x6d2ac220,\n\t0x3c988: 0x6d2ac420, 0x3c989: 0x6d2ac620, 0x3c98a: 0x6d2ac820, 0x3c98b: 0x6d57e420,\n\t0x3c98c: 0x6d57e620, 0x3c98d: 0x6d57e820, 0x3c98e: 0x6d57ea20, 0x3c98f: 0x6d57ec20,\n\t0x3c990: 0x6d57ee20, 0x3c991: 0x6d57f020, 0x3c992: 0x6d57f220, 0x3c993: 0x6d57f420,\n\t0x3c994: 0x6d57f620, 0x3c995: 0x6d57f820, 0x3c996: 0x6d57fa20, 0x3c997: 0x6d57fc20,\n\t0x3c998: 0x6d57fe20, 0x3c999: 0x6d580020, 0x3c99a: 0x6d580220, 0x3c99b: 0x6d580420,\n\t0x3c99c: 0x6d580620, 0x3c99d: 0x6d82e420, 0x3c99e: 0x6d82e620, 0x3c99f: 0x6d82e820,\n\t0x3c9a0: 0x6d82ea20, 0x3c9a1: 0x6d82ec20, 0x3c9a2: 0x6d82ee20, 0x3c9a3: 0x6d82f020,\n\t0x3c9a4: 0x6d82f220, 0x3c9a5: 0x6d82f420, 0x3c9a6: 0x6d82f620, 0x3c9a7: 0x6d82f820,\n\t0x3c9a8: 0x6da85a20, 0x3c9a9: 0x6da85c20, 0x3c9aa: 0x6da85e20, 0x3c9ab: 0x6da86020,\n\t0x3c9ac: 0x6da86220, 0x3c9ad: 0x6da86420, 0x3c9ae: 0x6da86620, 0x3c9af: 0x6da86820,\n\t0x3c9b0: 0x6da86a20, 0x3c9b1: 0x6da86c20, 0x3c9b2: 0x6da86e20, 0x3c9b3: 0x6dc9aa20,\n\t0x3c9b4: 0x6dc9ac20, 0x3c9b5: 0x6dc9ae20, 0x3c9b6: 0x6dc9b020, 0x3c9b7: 0x6dc9b220,\n\t0x3c9b8: 0x6dc9b420, 0x3c9b9: 0x6dc9b620, 0x3c9ba: 0x6de56220, 0x3c9bb: 0x6de56420,\n\t0x3c9bc: 0x6de56620, 0x3c9bd: 0x6de56820, 0x3c9be: 0x6de56a20, 0x3c9bf: 0x6de56c20,\n\t// Block 0xf27, offset 0x3c9c0\n\t0x3c9c0: 0x6dfc4220, 0x3c9c1: 0x6dfc4420, 0x3c9c2: 0x6dfc4620, 0x3c9c3: 0x6e0f7220,\n\t0x3c9c4: 0x6e0f7420, 0x3c9c5: 0x6e0f7620, 0x3c9c6: 0x6e0f7820, 0x3c9c7: 0x6e0f7a20,\n\t0x3c9c8: 0x6e1e6a20, 0x3c9c9: 0x6e1e6c20, 0x3c9ca: 0x6e29d220, 0x3c9cb: 0x6e29d420,\n\t0x3c9cc: 0x6e32be20, 0x3c9cd: 0x6c09ce20, 0x3c9ce: 0x6c23ca20, 0x3c9cf: 0x6c23cc20,\n\t0x3c9d0: 0x6c23ce20, 0x3c9d1: 0x6c3a1620, 0x3c9d2: 0x6c3a1820, 0x3c9d3: 0x6c3a1a20,\n\t0x3c9d4: 0x6c3a1c20, 0x3c9d5: 0x6c3a1e20, 0x3c9d6: 0x6c3a2020, 0x3c9d7: 0x6c3a2220,\n\t0x3c9d8: 0x6c55d820, 0x3c9d9: 0x6c55da20, 0x3c9da: 0x6c55dc20, 0x3c9db: 0x6c55de20,\n\t0x3c9dc: 0x6c55e020, 0x3c9dd: 0x6c55e220, 0x3c9de: 0x6c55e420, 0x3c9df: 0x6c55e620,\n\t0x3c9e0: 0x6c55e820, 0x3c9e1: 0x6c55ea20, 0x3c9e2: 0x6c55ec20, 0x3c9e3: 0x6c78b820,\n\t0x3c9e4: 0x6c78ba20, 0x3c9e5: 0x6c78bc20, 0x3c9e6: 0x6c78be20, 0x3c9e7: 0x6c78c020,\n\t0x3c9e8: 0x6c78c220, 0x3c9e9: 0x6c78c420, 0x3c9ea: 0x6c78c620, 0x3c9eb: 0x6ca1ba20,\n\t0x3c9ec: 0x6ca1bc20, 0x3c9ed: 0x6ca1be20, 0x3c9ee: 0x6ca1c020, 0x3c9ef: 0x6ca1c220,\n\t0x3c9f0: 0x6ca1c420, 0x3c9f1: 0x6ca1c620, 0x3c9f2: 0x6ca1c820, 0x3c9f3: 0x6ccee820,\n\t0x3c9f4: 0x6cceea20, 0x3c9f5: 0x6cceec20, 0x3c9f6: 0x6cceee20, 0x3c9f7: 0x6ccef020,\n\t0x3c9f8: 0x6ccef220, 0x3c9f9: 0x6ccef420, 0x3c9fa: 0x6ccef620, 0x3c9fb: 0x6ccef820,\n\t0x3c9fc: 0x6ccefa20, 0x3c9fd: 0x6ccefc20, 0x3c9fe: 0x6ccefe20, 0x3c9ff: 0x6ccf0020,\n\t// Block 0xf28, offset 0x3ca00\n\t0x3ca00: 0x6ccf0220, 0x3ca01: 0x6ccf0420, 0x3ca02: 0x6ccf0620, 0x3ca03: 0x6ccf0820,\n\t0x3ca04: 0x6cfd1220, 0x3ca05: 0x6cfd1420, 0x3ca06: 0x6cfd1620, 0x3ca07: 0x6cfd1820,\n\t0x3ca08: 0x6cfd1a20, 0x3ca09: 0x6cfd1c20, 0x3ca0a: 0x6cfd1e20, 0x3ca0b: 0x6cfd2020,\n\t0x3ca0c: 0x6cfd2220, 0x3ca0d: 0x6cfd2420, 0x3ca0e: 0x6cfd2620, 0x3ca0f: 0x6cfd2820,\n\t0x3ca10: 0x6cfd2a20, 0x3ca11: 0x6cfd2c20, 0x3ca12: 0x6d2bba20, 0x3ca13: 0x6d2bbc20,\n\t0x3ca14: 0x6d2bbe20, 0x3ca15: 0x6d2bc020, 0x3ca16: 0x6d2bc220, 0x3ca17: 0x6d2bc420,\n\t0x3ca18: 0x6d2bc620, 0x3ca19: 0x6d2bc820, 0x3ca1a: 0x6d2bca20, 0x3ca1b: 0x6d2bcc20,\n\t0x3ca1c: 0x6d2bce20, 0x3ca1d: 0x6d2bd020, 0x3ca1e: 0x6d2bd220, 0x3ca1f: 0x6d2bd420,\n\t0x3ca20: 0x6d2bd620, 0x3ca21: 0x6d58f020, 0x3ca22: 0x6d58f220, 0x3ca23: 0x6d58f420,\n\t0x3ca24: 0x6d58f620, 0x3ca25: 0x6d58f820, 0x3ca26: 0x6d58fa20, 0x3ca27: 0x6d58fc20,\n\t0x3ca28: 0x6d58fe20, 0x3ca29: 0x6d590020, 0x3ca2a: 0x6d841620, 0x3ca2b: 0x6d841820,\n\t0x3ca2c: 0x6d841a20, 0x3ca2d: 0x6d841c20, 0x3ca2e: 0x6d841e20, 0x3ca2f: 0x6d842020,\n\t0x3ca30: 0x6d842220, 0x3ca31: 0x6d842420, 0x3ca32: 0x6d842620, 0x3ca33: 0x6d842820,\n\t0x3ca34: 0x6da90c20, 0x3ca35: 0x6da90e20, 0x3ca36: 0x6da91020, 0x3ca37: 0x6da91220,\n\t0x3ca38: 0x6da91420, 0x3ca39: 0x6da91620, 0x3ca3a: 0x6da91820, 0x3ca3b: 0x6da91a20,\n\t0x3ca3c: 0x6dca3020, 0x3ca3d: 0x6dca3220, 0x3ca3e: 0x6dca3420, 0x3ca3f: 0x6dca3620,\n\t// Block 0xf29, offset 0x3ca40\n\t0x3ca40: 0x6dca3820, 0x3ca41: 0x6de5d020, 0x3ca42: 0x6de5d220, 0x3ca43: 0x6dfcc420,\n\t0x3ca44: 0x6dfcc620, 0x3ca45: 0x6dfcc820, 0x3ca46: 0x6e1e9420, 0x3ca47: 0x6e1e9620,\n\t0x3ca48: 0x6e29fc20, 0x3ca49: 0x6e32cc20, 0x3ca4a: 0x6e390620, 0x3ca4b: 0x6e390820,\n\t0x3ca4c: 0x6e407420, 0x3ca4d: 0x6c23d820, 0x3ca4e: 0x6c561220, 0x3ca4f: 0x6ca1d820,\n\t0x3ca50: 0x6ccf1a20, 0x3ca51: 0x6ccf1c20, 0x3ca52: 0x6ccf1e20, 0x3ca53: 0x6ccf2020,\n\t0x3ca54: 0x6cfd3a20, 0x3ca55: 0x6cfd3c20, 0x3ca56: 0x6d591420, 0x3ca57: 0x6d591620,\n\t0x3ca58: 0x6da92c20, 0x3ca59: 0x6da92e20, 0x3ca5a: 0x6e470020, 0x3ca5b: 0x6c78dc20,\n\t0x3ca5c: 0x6ca1de20, 0x3ca5d: 0x6c3a4420, 0x3ca5e: 0x6ca1f620, 0x3ca5f: 0x6ccf3a20,\n\t0x3ca60: 0x6d592620, 0x3ca61: 0x6dca4220, 0x3ca62: 0x6c790020, 0x3ca63: 0x6ca20620,\n\t0x3ca64: 0x6ca20820, 0x3ca65: 0x6ccf6420, 0x3ca66: 0x6d845020, 0x3ca67: 0x6c3a6020,\n\t0x3ca68: 0x6ccf7020, 0x3ca69: 0x6c23fe20, 0x3ca6a: 0x6c569020, 0x3ca6b: 0x6c569220,\n\t0x3ca6c: 0x6c792e20, 0x3ca6d: 0x6c793020, 0x3ca6e: 0x6c793220, 0x3ca6f: 0x6ccfca20,\n\t0x3ca70: 0x6cfdbc20, 0x3ca71: 0x6d2c6220, 0x3ca72: 0x6d2c6420, 0x3ca73: 0x6d2c6620,\n\t0x3ca74: 0x6d598420, 0x3ca75: 0x6d847c20, 0x3ca76: 0x6e0fc620, 0x3ca77: 0x6c246a20,\n\t0x3ca78: 0x6c3b3420, 0x3ca79: 0x6ccfcc20, 0x3ca7a: 0x6c572220, 0x3ca7b: 0x6c572420,\n\t0x3ca7c: 0x6c79b620, 0x3ca7d: 0x6c79b820, 0x3ca7e: 0x6ca2cc20, 0x3ca7f: 0x6ca2ce20,\n\t// Block 0xf2a, offset 0x3ca80\n\t0x3ca80: 0x6ca2d020, 0x3ca81: 0x6ca2d220, 0x3ca82: 0x6cd06c20, 0x3ca83: 0x6cd06e20,\n\t0x3ca84: 0x6cd07020, 0x3ca85: 0x6cd07220, 0x3ca86: 0x6cfe4620, 0x3ca87: 0x6cfe4820,\n\t0x3ca88: 0x6d2cde20, 0x3ca89: 0x6d5a0420, 0x3ca8a: 0x6da99420, 0x3ca8b: 0x6dca8220,\n\t0x3ca8c: 0x6de61a20, 0x3ca8d: 0x6c13cc20, 0x3ca8e: 0x6c3b9c20, 0x3ca8f: 0x6c3b9e20,\n\t0x3ca90: 0x6c3ba020, 0x3ca91: 0x6c3ba220, 0x3ca92: 0x6c3ba420, 0x3ca93: 0x6c3ba620,\n\t0x3ca94: 0x6c3ba820, 0x3ca95: 0x6c57c220, 0x3ca96: 0x6c57c420, 0x3ca97: 0x6c7a5e20,\n\t0x3ca98: 0x6c7a6020, 0x3ca99: 0x6c7a6220, 0x3ca9a: 0x6c7a6420, 0x3ca9b: 0x6c7a6620,\n\t0x3ca9c: 0x6c7a6820, 0x3ca9d: 0x6c7a6a20, 0x3ca9e: 0x6c7a6c20, 0x3ca9f: 0x6c7a6e20,\n\t0x3caa0: 0x6ca37020, 0x3caa1: 0x6ca37220, 0x3caa2: 0x6ca37420, 0x3caa3: 0x6ca37620,\n\t0x3caa4: 0x6ca37820, 0x3caa5: 0x6ca37a20, 0x3caa6: 0x6cd14420, 0x3caa7: 0x6cd14620,\n\t0x3caa8: 0x6cd14820, 0x3caa9: 0x6cd14a20, 0x3caaa: 0x6cd14c20, 0x3caab: 0x6cd14e20,\n\t0x3caac: 0x6cd15020, 0x3caad: 0x6cd15220, 0x3caae: 0x6cd15420, 0x3caaf: 0x6cd15620,\n\t0x3cab0: 0x6cd15820, 0x3cab1: 0x6cd15a20, 0x3cab2: 0x6cd15c20, 0x3cab3: 0x6cff2020,\n\t0x3cab4: 0x6cff2220, 0x3cab5: 0x6cff2420, 0x3cab6: 0x6cff2620, 0x3cab7: 0x6cff2820,\n\t0x3cab8: 0x6cff2a20, 0x3cab9: 0x6cff2c20, 0x3caba: 0x6cff2e20, 0x3cabb: 0x6cff3020,\n\t0x3cabc: 0x6cff3220, 0x3cabd: 0x6cff3420, 0x3cabe: 0x6cff3620, 0x3cabf: 0x6cff3820,\n\t// Block 0xf2b, offset 0x3cac0\n\t0x3cac0: 0x6cff3a20, 0x3cac1: 0x6cff3c20, 0x3cac2: 0x6cff3e20, 0x3cac3: 0x6d2d6a20,\n\t0x3cac4: 0x6d2d6c20, 0x3cac5: 0x6d2d6e20, 0x3cac6: 0x6d2d7020, 0x3cac7: 0x6d2d7220,\n\t0x3cac8: 0x6d2d7420, 0x3cac9: 0x6d2d7620, 0x3caca: 0x6d2d7820, 0x3cacb: 0x6d2d7a20,\n\t0x3cacc: 0x6d2d7c20, 0x3cacd: 0x6d2d7e20, 0x3cace: 0x6d2d8020, 0x3cacf: 0x6d2d8220,\n\t0x3cad0: 0x6d5aa220, 0x3cad1: 0x6d5aa420, 0x3cad2: 0x6d5aa620, 0x3cad3: 0x6d5aa820,\n\t0x3cad4: 0x6d5aaa20, 0x3cad5: 0x6d5aac20, 0x3cad6: 0x6d5aae20, 0x3cad7: 0x6d855420,\n\t0x3cad8: 0x6d855620, 0x3cad9: 0x6d855820, 0x3cada: 0x6d855a20, 0x3cadb: 0x6d855c20,\n\t0x3cadc: 0x6d855e20, 0x3cadd: 0x6d856020, 0x3cade: 0x6d856220, 0x3cadf: 0x6d856420,\n\t0x3cae0: 0x6d856620, 0x3cae1: 0x6daa0420, 0x3cae2: 0x6daa0620, 0x3cae3: 0x6daa0820,\n\t0x3cae4: 0x6daa0a20, 0x3cae5: 0x6daa0c20, 0x3cae6: 0x6daa0e20, 0x3cae7: 0x6dcade20,\n\t0x3cae8: 0x6dcae020, 0x3cae9: 0x6de66220, 0x3caea: 0x6de66420, 0x3caeb: 0x6de66620,\n\t0x3caec: 0x6dfd2420, 0x3caed: 0x6dfd2620, 0x3caee: 0x6dfd2820, 0x3caef: 0x6dfd2a20,\n\t0x3caf0: 0x6e0ff220, 0x3caf1: 0x6e2a2c20, 0x3caf2: 0x6e32e220, 0x3caf3: 0x6c3bb020,\n\t0x3caf4: 0x6c57d420, 0x3caf5: 0x6cff5020, 0x3caf6: 0x6c3bc220, 0x3caf7: 0x6c57fa20,\n\t0x3caf8: 0x6c57fc20, 0x3caf9: 0x6c7aac20, 0x3cafa: 0x6cff8420, 0x3cafb: 0x6cff8620,\n\t0x3cafc: 0x6d2dd020, 0x3cafd: 0x6d5aec20, 0x3cafe: 0x6d5aee20, 0x3caff: 0x6e1ed420,\n\t// Block 0xf2c, offset 0x3cb00\n\t0x3cb00: 0x6cd1a020, 0x3cb01: 0x6c24a820, 0x3cb02: 0x6ca3ce20, 0x3cb03: 0x6cff9c20,\n\t0x3cb04: 0x6cff9e20, 0x3cb05: 0x6cffa020, 0x3cb06: 0x6c13d420, 0x3cb07: 0x6c24d220,\n\t0x3cb08: 0x6c3c1220, 0x3cb09: 0x6c588620, 0x3cb0a: 0x6c588820, 0x3cb0b: 0x6c588a20,\n\t0x3cb0c: 0x6c588c20, 0x3cb0d: 0x6c7b0620, 0x3cb0e: 0x6c7b0820, 0x3cb0f: 0x6c7b0a20,\n\t0x3cb10: 0x6c7b0c20, 0x3cb11: 0x6ca41420, 0x3cb12: 0x6ca41620, 0x3cb13: 0x6cd1fc20,\n\t0x3cb14: 0x6cd1fe20, 0x3cb15: 0x6cd20020, 0x3cb16: 0x6cd20220, 0x3cb17: 0x6cd20420,\n\t0x3cb18: 0x6cffea20, 0x3cb19: 0x6cffec20, 0x3cb1a: 0x6cffee20, 0x3cb1b: 0x6d2e0020,\n\t0x3cb1c: 0x6d2e0220, 0x3cb1d: 0x6d5b2a20, 0x3cb1e: 0x6d5b2c20, 0x3cb1f: 0x6d85b820,\n\t0x3cb20: 0x6d85ba20, 0x3cb21: 0x6d85bc20, 0x3cb22: 0x6daa6c20, 0x3cb23: 0x6dcb1c20,\n\t0x3cb24: 0x6dfd4620, 0x3cb25: 0x6e101a20, 0x3cb26: 0x6e101c20, 0x3cb27: 0x6daa6e20,\n\t0x3cb28: 0x6c58fa20, 0x3cb29: 0x6c58fc20, 0x3cb2a: 0x6c58fe20, 0x3cb2b: 0x6c590020,\n\t0x3cb2c: 0x6c7b9c20, 0x3cb2d: 0x6c7b9e20, 0x3cb2e: 0x6c7ba020, 0x3cb2f: 0x6ca48420,\n\t0x3cb30: 0x6cd2b420, 0x3cb31: 0x6cd2b620, 0x3cb32: 0x6d00ae20, 0x3cb33: 0x6d2ea020,\n\t0x3cb34: 0x6d2ea220, 0x3cb35: 0x6d2ea420, 0x3cb36: 0x6d5bd220, 0x3cb37: 0x6d5bd420,\n\t0x3cb38: 0x6daafc20, 0x3cb39: 0x6daafe20, 0x3cb3a: 0x6de6da20, 0x3cb3b: 0x6c593620,\n\t0x3cb3c: 0x6c593820, 0x3cb3d: 0x6c7bd020, 0x3cb3e: 0x6cd2ea20, 0x3cb3f: 0x6cd2ec20,\n\t// Block 0xf2d, offset 0x3cb40\n\t0x3cb40: 0x6d00e020, 0x3cb41: 0x6d00e220, 0x3cb42: 0x6d2ec420, 0x3cb43: 0x6d2ec620,\n\t0x3cb44: 0x6d5bf620, 0x3cb45: 0x6e104e20, 0x3cb46: 0x6c3c6420, 0x3cb47: 0x6c594c20,\n\t0x3cb48: 0x6d2eee20, 0x3cb49: 0x6d2ef020, 0x3cb4a: 0x6c596e20, 0x3cb4b: 0x6c597020,\n\t0x3cb4c: 0x6c7c2a20, 0x3cb4d: 0x6c7c2c20, 0x3cb4e: 0x6ca4ec20, 0x3cb4f: 0x6cd32820,\n\t0x3cb50: 0x6cd32a20, 0x3cb51: 0x6d012a20, 0x3cb52: 0x6d012c20, 0x3cb53: 0x6d2f0420,\n\t0x3cb54: 0x6d2f0620, 0x3cb55: 0x6d5c2620, 0x3cb56: 0x6d86ac20, 0x3cb57: 0x6dab4a20,\n\t0x3cb58: 0x6dab4c20, 0x3cb59: 0x6dcbbc20, 0x3cb5a: 0x6de70a20, 0x3cb5b: 0x6e105a20,\n\t0x3cb5c: 0x6e1f1420, 0x3cb5d: 0x6e331220, 0x3cb5e: 0x6e444020, 0x3cb5f: 0x6c3cae20,\n\t0x3cb60: 0x6c3cb020, 0x3cb61: 0x6c5a1420, 0x3cb62: 0x6c5a1620, 0x3cb63: 0x6c5a1820,\n\t0x3cb64: 0x6c7ccc20, 0x3cb65: 0x6c7cce20, 0x3cb66: 0x6c7cd020, 0x3cb67: 0x6c7cd220,\n\t0x3cb68: 0x6ca58a20, 0x3cb69: 0x6ca58c20, 0x3cb6a: 0x6ca58e20, 0x3cb6b: 0x6cd3f020,\n\t0x3cb6c: 0x6cd3f220, 0x3cb6d: 0x6d01ee20, 0x3cb6e: 0x6d01f020, 0x3cb6f: 0x6d01f220,\n\t0x3cb70: 0x6d01f420, 0x3cb71: 0x6d2fc620, 0x3cb72: 0x6d2fc820, 0x3cb73: 0x6d2fca20,\n\t0x3cb74: 0x6d2fcc20, 0x3cb75: 0x6d5cca20, 0x3cb76: 0x6d5ccc20, 0x3cb77: 0x6d5cce20,\n\t0x3cb78: 0x6d5cd020, 0x3cb79: 0x6d874c20, 0x3cb7a: 0x6d874e20, 0x3cb7b: 0x6d875020,\n\t0x3cb7c: 0x6dabe020, 0x3cb7d: 0x6dabe220, 0x3cb7e: 0x6dabe420, 0x3cb7f: 0x6dabe620,\n\t// Block 0xf2e, offset 0x3cb80\n\t0x3cb80: 0x6dabe820, 0x3cb81: 0x6de75020, 0x3cb82: 0x6dfdde20, 0x3cb83: 0x6e108420,\n\t0x3cb84: 0x6e108620, 0x3cb85: 0x6e444420, 0x3cb86: 0x6c5a2220, 0x3cb87: 0x6cd40820,\n\t0x3cb88: 0x6c5a3820, 0x3cb89: 0x6c5a3a20, 0x3cb8a: 0x6ca5cc20, 0x3cb8b: 0x6d022e20,\n\t0x3cb8c: 0x6d2ffa20, 0x3cb8d: 0x6d5cf420, 0x3cb8e: 0x6d5cf620, 0x3cb8f: 0x6dfdea20,\n\t0x3cb90: 0x6e108a20, 0x3cb91: 0x6c5ab820, 0x3cb92: 0x6c5aba20, 0x3cb93: 0x6c5abc20,\n\t0x3cb94: 0x6c7db420, 0x3cb95: 0x6c7db620, 0x3cb96: 0x6c7db820, 0x3cb97: 0x6c7dba20,\n\t0x3cb98: 0x6c7dbc20, 0x3cb99: 0x6ca68020, 0x3cb9a: 0x6ca68220, 0x3cb9b: 0x6ca68420,\n\t0x3cb9c: 0x6ca68620, 0x3cb9d: 0x6ca68820, 0x3cb9e: 0x6cd4ac20, 0x3cb9f: 0x6cd4ae20,\n\t0x3cba0: 0x6cd4b020, 0x3cba1: 0x6cd4b220, 0x3cba2: 0x6cd4b420, 0x3cba3: 0x6cd4b620,\n\t0x3cba4: 0x6d02fc20, 0x3cba5: 0x6d02fe20, 0x3cba6: 0x6d030020, 0x3cba7: 0x6d030220,\n\t0x3cba8: 0x6d030420, 0x3cba9: 0x6d030620, 0x3cbaa: 0x6d30b020, 0x3cbab: 0x6d30b220,\n\t0x3cbac: 0x6d5d8220, 0x3cbad: 0x6d5d8420, 0x3cbae: 0x6d5d8620, 0x3cbaf: 0x6d87e820,\n\t0x3cbb0: 0x6d87ea20, 0x3cbb1: 0x6d87ec20, 0x3cbb2: 0x6d87ee20, 0x3cbb3: 0x6d87f020,\n\t0x3cbb4: 0x6d87f220, 0x3cbb5: 0x6dac9820, 0x3cbb6: 0x6dac9a20, 0x3cbb7: 0x6dac9c20,\n\t0x3cbb8: 0x6dcc9a20, 0x3cbb9: 0x6dcc9c20, 0x3cbba: 0x6dcc9e20, 0x3cbbb: 0x6de7a420,\n\t0x3cbbc: 0x6de7a620, 0x3cbbd: 0x6de7a820, 0x3cbbe: 0x6e10ba20, 0x3cbbf: 0x6e2a9e20,\n\t// Block 0xf2f, offset 0x3cbc0\n\t0x3cbc0: 0x6c256020, 0x3cbc1: 0x6c256220, 0x3cbc2: 0x6c3d2820, 0x3cbc3: 0x6c3d2a20,\n\t0x3cbc4: 0x6c5b2420, 0x3cbc5: 0x6c5b2620, 0x3cbc6: 0x6c5b2820, 0x3cbc7: 0x6c7e2420,\n\t0x3cbc8: 0x6c7e2620, 0x3cbc9: 0x6c7e2820, 0x3cbca: 0x6c7e2a20, 0x3cbcb: 0x6ca6e820,\n\t0x3cbcc: 0x6ca6ea20, 0x3cbcd: 0x6ca6ec20, 0x3cbce: 0x6ca6ee20, 0x3cbcf: 0x6ca6f020,\n\t0x3cbd0: 0x6cd51220, 0x3cbd1: 0x6cd51420, 0x3cbd2: 0x6cd51620, 0x3cbd3: 0x6cd51820,\n\t0x3cbd4: 0x6cd51a20, 0x3cbd5: 0x6cd51c20, 0x3cbd6: 0x6cd51e20, 0x3cbd7: 0x6cd52020,\n\t0x3cbd8: 0x6cd52220, 0x3cbd9: 0x6cd52420, 0x3cbda: 0x6d037220, 0x3cbdb: 0x6d037420,\n\t0x3cbdc: 0x6d310c20, 0x3cbdd: 0x6d310e20, 0x3cbde: 0x6d311020, 0x3cbdf: 0x6d311220,\n\t0x3cbe0: 0x6d5dcc20, 0x3cbe1: 0x6d5dce20, 0x3cbe2: 0x6dacc820, 0x3cbe3: 0x6dccbc20,\n\t0x3cbe4: 0x6e333820, 0x3cbe5: 0x6dccbe20, 0x3cbe6: 0x6c140a20, 0x3cbe7: 0x6c3d6620,\n\t0x3cbe8: 0x6c5b8e20, 0x3cbe9: 0x6c5b9020, 0x3cbea: 0x6c7e9e20, 0x3cbeb: 0x6c7ea020,\n\t0x3cbec: 0x6c7ea220, 0x3cbed: 0x6c7ea420, 0x3cbee: 0x6ca76e20, 0x3cbef: 0x6ca77020,\n\t0x3cbf0: 0x6ca77220, 0x3cbf1: 0x6ca77420, 0x3cbf2: 0x6cd59420, 0x3cbf3: 0x6cd59620,\n\t0x3cbf4: 0x6cd59820, 0x3cbf5: 0x6cd59a20, 0x3cbf6: 0x6cd59c20, 0x3cbf7: 0x6cd59e20,\n\t0x3cbf8: 0x6cd5a020, 0x3cbf9: 0x6d042220, 0x3cbfa: 0x6d042420, 0x3cbfb: 0x6d042620,\n\t0x3cbfc: 0x6d31b820, 0x3cbfd: 0x6d31ba20, 0x3cbfe: 0x6d31bc20, 0x3cbff: 0x6d31be20,\n\t// Block 0xf30, offset 0x3cc00\n\t0x3cc00: 0x6d31c020, 0x3cc01: 0x6d5e6220, 0x3cc02: 0x6d5e6420, 0x3cc03: 0x6d5e6620,\n\t0x3cc04: 0x6d5e6820, 0x3cc05: 0x6d88b820, 0x3cc06: 0x6dad4020, 0x3cc07: 0x6dcd1820,\n\t0x3cc08: 0x6dcd1a20, 0x3cc09: 0x6dfe8220, 0x3cc0a: 0x6c5bd020, 0x3cc0b: 0x6c7ef420,\n\t0x3cc0c: 0x6ca7c020, 0x3cc0d: 0x6ca7c220, 0x3cc0e: 0x6cd60420, 0x3cc0f: 0x6cd60620,\n\t0x3cc10: 0x6cd60820, 0x3cc11: 0x6d048020, 0x3cc12: 0x6d048220, 0x3cc13: 0x6d048420,\n\t0x3cc14: 0x6d320420, 0x3cc15: 0x6d320620, 0x3cc16: 0x6d5eb420, 0x3cc17: 0x6d891820,\n\t0x3cc18: 0x6d891a20, 0x3cc19: 0x6d891c20, 0x3cc1a: 0x6d891e20, 0x3cc1b: 0x6dad8620,\n\t0x3cc1c: 0x6dcd3620, 0x3cc1d: 0x6e2ac020, 0x3cc1e: 0x6c3d9820, 0x3cc1f: 0x6c5bf420,\n\t0x3cc20: 0x6c7f2e20, 0x3cc21: 0x6c7f3020, 0x3cc22: 0x6ca7e420, 0x3cc23: 0x6cd63220,\n\t0x3cc24: 0x6cd63420, 0x3cc25: 0x6d04b220, 0x3cc26: 0x6d04b420, 0x3cc27: 0x6d322a20,\n\t0x3cc28: 0x6d322c20, 0x3cc29: 0x6d5ec620, 0x3cc2a: 0x6d5ec820, 0x3cc2b: 0x6d5eca20,\n\t0x3cc2c: 0x6d892c20, 0x3cc2d: 0x6dada420, 0x3cc2e: 0x6de81020, 0x3cc2f: 0x6e1f8420,\n\t0x3cc30: 0x6c3da620, 0x3cc31: 0x6c5c2c20, 0x3cc32: 0x6c7f9c20, 0x3cc33: 0x6c7f9e20,\n\t0x3cc34: 0x6c7fa020, 0x3cc35: 0x6c7fa220, 0x3cc36: 0x6c7fa420, 0x3cc37: 0x6c7fa620,\n\t0x3cc38: 0x6ca88a20, 0x3cc39: 0x6ca88c20, 0x3cc3a: 0x6ca88e20, 0x3cc3b: 0x6ca89020,\n\t0x3cc3c: 0x6cd6da20, 0x3cc3d: 0x6cd6dc20, 0x3cc3e: 0x6d058c20, 0x3cc3f: 0x6d058e20,\n\t// Block 0xf31, offset 0x3cc40\n\t0x3cc40: 0x6d059020, 0x3cc41: 0x6d059220, 0x3cc42: 0x6d059420, 0x3cc43: 0x6d059620,\n\t0x3cc44: 0x6d332a20, 0x3cc45: 0x6d332c20, 0x3cc46: 0x6d332e20, 0x3cc47: 0x6d333020,\n\t0x3cc48: 0x6d333220, 0x3cc49: 0x6d333420, 0x3cc4a: 0x6d5fdc20, 0x3cc4b: 0x6d5fde20,\n\t0x3cc4c: 0x6d5fe020, 0x3cc4d: 0x6d5fe220, 0x3cc4e: 0x6d5fe420, 0x3cc4f: 0x6d5fe620,\n\t0x3cc50: 0x6d8a4020, 0x3cc51: 0x6d8a4220, 0x3cc52: 0x6d8a4420, 0x3cc53: 0x6d8a4620,\n\t0x3cc54: 0x6d8a4820, 0x3cc55: 0x6d8a4a20, 0x3cc56: 0x6d8a4c20, 0x3cc57: 0x6d8a4e20,\n\t0x3cc58: 0x6daeb420, 0x3cc59: 0x6daeb620, 0x3cc5a: 0x6daeb820, 0x3cc5b: 0x6daeba20,\n\t0x3cc5c: 0x6daebc20, 0x3cc5d: 0x6daebe20, 0x3cc5e: 0x6daec020, 0x3cc5f: 0x6daec220,\n\t0x3cc60: 0x6dce5a20, 0x3cc61: 0x6dce5c20, 0x3cc62: 0x6dce5e20, 0x3cc63: 0x6dce6020,\n\t0x3cc64: 0x6dce6220, 0x3cc65: 0x6de8be20, 0x3cc66: 0x6de8c020, 0x3cc67: 0x6dff1a20,\n\t0x3cc68: 0x6e118220, 0x3cc69: 0x6e118420, 0x3cc6a: 0x6e118620, 0x3cc6b: 0x6e118820,\n\t0x3cc6c: 0x6e1fe020, 0x3cc6d: 0x6e2b0220, 0x3cc6e: 0x6e337e20, 0x3cc6f: 0x6e398220,\n\t0x3cc70: 0x6e42de20, 0x3cc71: 0x6c3db620, 0x3cc72: 0x6c3db820, 0x3cc73: 0x6c5c5a20,\n\t0x3cc74: 0x6c5c5c20, 0x3cc75: 0x6c7fe820, 0x3cc76: 0x6c7fea20, 0x3cc77: 0x6c7fec20,\n\t0x3cc78: 0x6ca8e820, 0x3cc79: 0x6ca8ea20, 0x3cc7a: 0x6ca8ec20, 0x3cc7b: 0x6ca8ee20,\n\t0x3cc7c: 0x6ca8f020, 0x3cc7d: 0x6cd73a20, 0x3cc7e: 0x6cd73c20, 0x3cc7f: 0x6cd73e20,\n\t// Block 0xf32, offset 0x3cc80\n\t0x3cc80: 0x6cd74020, 0x3cc81: 0x6d060220, 0x3cc82: 0x6d33ac20, 0x3cc83: 0x6d33ae20,\n\t0x3cc84: 0x6d33b020, 0x3cc85: 0x6d33b220, 0x3cc86: 0x6d605e20, 0x3cc87: 0x6d606020,\n\t0x3cc88: 0x6d606220, 0x3cc89: 0x6d8aa420, 0x3cc8a: 0x6d8aa620, 0x3cc8b: 0x6d8aa820,\n\t0x3cc8c: 0x6d8aaa20, 0x3cc8d: 0x6daf1a20, 0x3cc8e: 0x6daf1c20, 0x3cc8f: 0x6dceba20,\n\t0x3cc90: 0x6dcebc20, 0x3cc91: 0x6dcebe20, 0x3cc92: 0x6de90420, 0x3cc93: 0x6de90620,\n\t0x3cc94: 0x6de90820, 0x3cc95: 0x6de90a20, 0x3cc96: 0x6dff3620, 0x3cc97: 0x6e1ffa20,\n\t0x3cc98: 0x6e1ffc20, 0x3cc99: 0x6e1ffe20, 0x3cc9a: 0x6c3dd220, 0x3cc9b: 0x6c3dd420,\n\t0x3cc9c: 0x6c5c9420, 0x3cc9d: 0x6c5c9620, 0x3cc9e: 0x6c809a20, 0x3cc9f: 0x6ca99820,\n\t0x3cca0: 0x6ca99a20, 0x3cca1: 0x6ca99c20, 0x3cca2: 0x6cd80620, 0x3cca3: 0x6cd80820,\n\t0x3cca4: 0x6cd80a20, 0x3cca5: 0x6d06c220, 0x3cca6: 0x6d06c420, 0x3cca7: 0x6d06c620,\n\t0x3cca8: 0x6d06c820, 0x3cca9: 0x6d06ca20, 0x3ccaa: 0x6d34b420, 0x3ccab: 0x6d34b620,\n\t0x3ccac: 0x6d34b820, 0x3ccad: 0x6d34ba20, 0x3ccae: 0x6d34bc20, 0x3ccaf: 0x6d34be20,\n\t0x3ccb0: 0x6d34c020, 0x3ccb1: 0x6d34c220, 0x3ccb2: 0x6d34c420, 0x3ccb3: 0x6d617020,\n\t0x3ccb4: 0x6d617220, 0x3ccb5: 0x6d617420, 0x3ccb6: 0x6d617620, 0x3ccb7: 0x6d617820,\n\t0x3ccb8: 0x6d8b8a20, 0x3ccb9: 0x6d8b8c20, 0x3ccba: 0x6d8b8e20, 0x3ccbb: 0x6d8b9020,\n\t0x3ccbc: 0x6d8b9220, 0x3ccbd: 0x6dafe220, 0x3ccbe: 0x6dafe420, 0x3ccbf: 0x6dafe620,\n\t// Block 0xf33, offset 0x3ccc0\n\t0x3ccc0: 0x6dafe820, 0x3ccc1: 0x6dcf7220, 0x3ccc2: 0x6dcf7420, 0x3ccc3: 0x6dcf7620,\n\t0x3ccc4: 0x6dcf7820, 0x3ccc5: 0x6de99220, 0x3ccc6: 0x6de99420, 0x3ccc7: 0x6de99620,\n\t0x3ccc8: 0x6de99820, 0x3ccc9: 0x6de99a20, 0x3ccca: 0x6de99c20, 0x3cccb: 0x6de99e20,\n\t0x3cccc: 0x6dff8a20, 0x3cccd: 0x6dff8c20, 0x3ccce: 0x6dff8e20, 0x3cccf: 0x6e11fa20,\n\t0x3ccd0: 0x6e11fc20, 0x3ccd1: 0x6e11fe20, 0x3ccd2: 0x6e203420, 0x3ccd3: 0x6e203620,\n\t0x3ccd4: 0x6e203820, 0x3ccd5: 0x6e2b3020, 0x3ccd6: 0x6e39a620, 0x3ccd7: 0x6e3dd220,\n\t0x3ccd8: 0x6e40b420, 0x3ccd9: 0x6c050220, 0x3ccda: 0x6c25c420, 0x3ccdb: 0x6c25c620,\n\t0x3ccdc: 0x6c25c820, 0x3ccdd: 0x6c25ca20, 0x3ccde: 0x6c3dfc20, 0x3ccdf: 0x6c3dfe20,\n\t0x3cce0: 0x6c5cba20, 0x3cce1: 0x6c5cbc20, 0x3cce2: 0x6c5cbe20, 0x3cce3: 0x6c5cc020,\n\t0x3cce4: 0x6c80b620, 0x3cce5: 0x6c80b820, 0x3cce6: 0x6c80ba20, 0x3cce7: 0x6c80bc20,\n\t0x3cce8: 0x6c80be20, 0x3cce9: 0x6c80c020, 0x3ccea: 0x6ca9dc20, 0x3cceb: 0x6ca9de20,\n\t0x3ccec: 0x6cd84a20, 0x3cced: 0x6cd84c20, 0x3ccee: 0x6cd84e20, 0x3ccef: 0x6d06ee20,\n\t0x3ccf0: 0x6d06f020, 0x3ccf1: 0x6d34d820, 0x3ccf2: 0x6d34da20, 0x3ccf3: 0x6d34dc20,\n\t0x3ccf4: 0x6d34de20, 0x3ccf5: 0x6d618e20, 0x3ccf6: 0x6d619020, 0x3ccf7: 0x6d8ba420,\n\t0x3ccf8: 0x6daff020, 0x3ccf9: 0x6e120020, 0x3ccfa: 0x6d06fa20, 0x3ccfb: 0x6d34fa20,\n\t0x3ccfc: 0x6d61a020, 0x3ccfd: 0x6d61a220, 0x3ccfe: 0x6d8bb820, 0x3ccff: 0x6de9b220,\n\t// Block 0xf34, offset 0x3cd00\n\t0x3cd00: 0x6c3e1e20, 0x3cd01: 0x6c5cf420, 0x3cd02: 0x6c812020, 0x3cd03: 0x6caa2420,\n\t0x3cd04: 0x6caa2620, 0x3cd05: 0x6caa2820, 0x3cd06: 0x6d074220, 0x3cd07: 0x6d074420,\n\t0x3cd08: 0x6d352c20, 0x3cd09: 0x6d61c820, 0x3cd0a: 0x6d8bf020, 0x3cd0b: 0x6dcfa620,\n\t0x3cd0c: 0x6de9d420, 0x3cd0d: 0x6e120e20, 0x3cd0e: 0x6c3e2c20, 0x3cd0f: 0x6caa6620,\n\t0x3cd10: 0x6caa6820, 0x3cd11: 0x6caa6a20, 0x3cd12: 0x6caa6c20, 0x3cd13: 0x6cd8a620,\n\t0x3cd14: 0x6cd8a820, 0x3cd15: 0x6d077a20, 0x3cd16: 0x6d61f020, 0x3cd17: 0x6d61f220,\n\t0x3cd18: 0x6d61f420, 0x3cd19: 0x6d8c0a20, 0x3cd1a: 0x6db04a20, 0x3cd1b: 0x6db04c20,\n\t0x3cd1c: 0x6db04e20, 0x3cd1d: 0x6dcfd420, 0x3cd1e: 0x6dcfd620, 0x3cd1f: 0x6dffb020,\n\t0x3cd20: 0x6e204820, 0x3cd21: 0x6e204a20, 0x3cd22: 0x6c5d2c20, 0x3cd23: 0x6c818e20,\n\t0x3cd24: 0x6caab020, 0x3cd25: 0x6cd8ec20, 0x3cd26: 0x6cd8ee20, 0x3cd27: 0x6cd8f020,\n\t0x3cd28: 0x6d07a620, 0x3cd29: 0x6d07a820, 0x3cd2a: 0x6d358a20, 0x3cd2b: 0x6d623820,\n\t0x3cd2c: 0x6d623a20, 0x3cd2d: 0x6d8c3e20, 0x3cd2e: 0x6d8c4020, 0x3cd2f: 0x6db07020,\n\t0x3cd30: 0x6dd00820, 0x3cd31: 0x6dd00a20, 0x3cd32: 0x6e205420, 0x3cd33: 0x6c81a020,\n\t0x3cd34: 0x6c81a220, 0x3cd35: 0x6d07ac20, 0x3cd36: 0x6d359020, 0x3cd37: 0x6d624020,\n\t0x3cd38: 0x6dd00e20, 0x3cd39: 0x6caace20, 0x3cd3a: 0x6cd90a20, 0x3cd3b: 0x6cd90c20,\n\t0x3cd3c: 0x6d07be20, 0x3cd3d: 0x6d626620, 0x3cd3e: 0x6d8c6020, 0x3cd3f: 0x6dd02820,\n\t// Block 0xf35, offset 0x3cd40\n\t0x3cd40: 0x6c3e5820, 0x3cd41: 0x6c81f820, 0x3cd42: 0x6cd94820, 0x3cd43: 0x6cd94a20,\n\t0x3cd44: 0x6d07f620, 0x3cd45: 0x6d07f820, 0x3cd46: 0x6d07fa20, 0x3cd47: 0x6d360a20,\n\t0x3cd48: 0x6d360c20, 0x3cd49: 0x6d62b420, 0x3cd4a: 0x6d8c9220, 0x3cd4b: 0x6d8c9420,\n\t0x3cd4c: 0x6d8c9620, 0x3cd4d: 0x6d8c9820, 0x3cd4e: 0x6db0c820, 0x3cd4f: 0x6db0ca20,\n\t0x3cd50: 0x6dd05a20, 0x3cd51: 0x6dd05c20, 0x3cd52: 0x6dea1a20, 0x3cd53: 0x6e42ea20,\n\t0x3cd54: 0x6d080820, 0x3cd55: 0x6d361820, 0x3cd56: 0x6c3f1420, 0x3cd57: 0x6c3f1620,\n\t0x3cd58: 0x6c3f1820, 0x3cd59: 0x6c5e3020, 0x3cd5a: 0x6c5e3220, 0x3cd5b: 0x6c5e3420,\n\t0x3cd5c: 0x6c5e3620, 0x3cd5d: 0x6c82ce20, 0x3cd5e: 0x6c82d020, 0x3cd5f: 0x6cabd620,\n\t0x3cd60: 0x6cabd820, 0x3cd61: 0x6cabda20, 0x3cd62: 0x6cda6620, 0x3cd63: 0x6cda6820,\n\t0x3cd64: 0x6cda6a20, 0x3cd65: 0x6cda6c20, 0x3cd66: 0x6d08f220, 0x3cd67: 0x6d08f420,\n\t0x3cd68: 0x6d08f620, 0x3cd69: 0x6d36d620, 0x3cd6a: 0x6d36d820, 0x3cd6b: 0x6d36da20,\n\t0x3cd6c: 0x6d36dc20, 0x3cd6d: 0x6d36de20, 0x3cd6e: 0x6d36e020, 0x3cd6f: 0x6d634a20,\n\t0x3cd70: 0x6d634c20, 0x3cd71: 0x6d634e20, 0x3cd72: 0x6d635020, 0x3cd73: 0x6d635220,\n\t0x3cd74: 0x6d635420, 0x3cd75: 0x6d8d5020, 0x3cd76: 0x6d8d5220, 0x3cd77: 0x6d8d5420,\n\t0x3cd78: 0x6d8d5620, 0x3cd79: 0x6db15e20, 0x3cd7a: 0x6db16020, 0x3cd7b: 0x6db16220,\n\t0x3cd7c: 0x6dd0ac20, 0x3cd7d: 0x6dd0ae20, 0x3cd7e: 0x6dea6420, 0x3cd7f: 0x6dea6620,\n\t// Block 0xf36, offset 0x3cd80\n\t0x3cd80: 0x6e001420, 0x3cd81: 0x6e125820, 0x3cd82: 0x6e207c20, 0x3cd83: 0x6e2b6220,\n\t0x3cd84: 0x6e454220, 0x3cd85: 0x6c82da20, 0x3cd86: 0x6cda7a20, 0x3cd87: 0x6d08f820,\n\t0x3cd88: 0x6d36ec20, 0x3cd89: 0x6dd0b620, 0x3cd8a: 0x6cda8a20, 0x3cd8b: 0x6d636820,\n\t0x3cd8c: 0x6dd0ba20, 0x3cd8d: 0x6e3de620, 0x3cd8e: 0x6d090020, 0x3cd8f: 0x6d36fc20,\n\t0x3cd90: 0x6d36fe20, 0x3cd91: 0x6e001e20, 0x3cd92: 0x6dd0d020, 0x3cd93: 0x6e3dea20,\n\t0x3cd94: 0x6c3f3220, 0x3cd95: 0x6d091820, 0x3cd96: 0x6d091a20, 0x3cd97: 0x6d8d9420,\n\t0x3cd98: 0x6dea8420, 0x3cd99: 0x6e208420, 0x3cd9a: 0x6c5e7620, 0x3cd9b: 0x6d377220,\n\t0x3cd9c: 0x6d63e020, 0x3cd9d: 0x6d63e220, 0x3cd9e: 0x6db1ba20, 0x3cd9f: 0x6dd11620,\n\t0x3cda0: 0x6e004820, 0x3cda1: 0x6e209620, 0x3cda2: 0x6e209820, 0x3cda3: 0x6e209a20,\n\t0x3cda4: 0x6d8dd820, 0x3cda5: 0x6c14c620, 0x3cda6: 0x6c14c820, 0x3cda7: 0x6c268420,\n\t0x3cda8: 0x6c268620, 0x3cda9: 0x6c400220, 0x3cdaa: 0x6c400420, 0x3cdab: 0x6c400620,\n\t0x3cdac: 0x6c400820, 0x3cdad: 0x6c400a20, 0x3cdae: 0x6c5f7e20, 0x3cdaf: 0x6c5f8020,\n\t0x3cdb0: 0x6c5f8220, 0x3cdb1: 0x6c5f8420, 0x3cdb2: 0x6c5f8620, 0x3cdb3: 0x6c5f8820,\n\t0x3cdb4: 0x6c5f8a20, 0x3cdb5: 0x6c5f8c20, 0x3cdb6: 0x6c84b020, 0x3cdb7: 0x6c84b220,\n\t0x3cdb8: 0x6c84b420, 0x3cdb9: 0x6c84b620, 0x3cdba: 0x6c84b820, 0x3cdbb: 0x6c84ba20,\n\t0x3cdbc: 0x6c84bc20, 0x3cdbd: 0x6c84be20, 0x3cdbe: 0x6c84c020, 0x3cdbf: 0x6cadf420,\n\t// Block 0xf37, offset 0x3cdc0\n\t0x3cdc0: 0x6cadf620, 0x3cdc1: 0x6cadf820, 0x3cdc2: 0x6cadfa20, 0x3cdc3: 0x6cadfc20,\n\t0x3cdc4: 0x6cadfe20, 0x3cdc5: 0x6cae0020, 0x3cdc6: 0x6cae0220, 0x3cdc7: 0x6cae0420,\n\t0x3cdc8: 0x6cae0620, 0x3cdc9: 0x6cae0820, 0x3cdca: 0x6cae0a20, 0x3cdcb: 0x6cae0c20,\n\t0x3cdcc: 0x6cae0e20, 0x3cdcd: 0x6cae1020, 0x3cdce: 0x6cae1220, 0x3cdcf: 0x6cae1420,\n\t0x3cdd0: 0x6cdd2220, 0x3cdd1: 0x6cdd2420, 0x3cdd2: 0x6cdd2620, 0x3cdd3: 0x6cdd2820,\n\t0x3cdd4: 0x6cdd2a20, 0x3cdd5: 0x6cdd2c20, 0x3cdd6: 0x6cdd2e20, 0x3cdd7: 0x6cdd3020,\n\t0x3cdd8: 0x6cdd3220, 0x3cdd9: 0x6cdd3420, 0x3cdda: 0x6cdd3620, 0x3cddb: 0x6cdd3820,\n\t0x3cddc: 0x6cdd3a20, 0x3cddd: 0x6cdd3c20, 0x3cdde: 0x6cdd3e20, 0x3cddf: 0x6cdd4020,\n\t0x3cde0: 0x6cdd4220, 0x3cde1: 0x6d0b8c20, 0x3cde2: 0x6d0b8e20, 0x3cde3: 0x6d0b9020,\n\t0x3cde4: 0x6d0b9220, 0x3cde5: 0x6d0b9420, 0x3cde6: 0x6d0b9620, 0x3cde7: 0x6d0b9820,\n\t0x3cde8: 0x6d0b9a20, 0x3cde9: 0x6d0b9c20, 0x3cdea: 0x6d0b9e20, 0x3cdeb: 0x6d0ba020,\n\t0x3cdec: 0x6d0ba220, 0x3cded: 0x6d0ba420, 0x3cdee: 0x6d0ba620, 0x3cdef: 0x6d0ba820,\n\t0x3cdf0: 0x6cdd4620, 0x3cdf1: 0x6d0baa20, 0x3cdf2: 0x6d0bac20, 0x3cdf3: 0x6d0bae20,\n\t0x3cdf4: 0x6d0bb020, 0x3cdf5: 0x6d0bb220, 0x3cdf6: 0x6d399220, 0x3cdf7: 0x6d399420,\n\t0x3cdf8: 0x6d399620, 0x3cdf9: 0x6d399820, 0x3cdfa: 0x6d399a20, 0x3cdfb: 0x6d399c20,\n\t0x3cdfc: 0x6d399e20, 0x3cdfd: 0x6d39a020, 0x3cdfe: 0x6d39a220, 0x3cdff: 0x6d39a420,\n\t// Block 0xf38, offset 0x3ce00\n\t0x3ce00: 0x6d39a620, 0x3ce01: 0x6d39a820, 0x3ce02: 0x6d39aa20, 0x3ce03: 0x6d39ac20,\n\t0x3ce04: 0x6d39ae20, 0x3ce05: 0x6d39b020, 0x3ce06: 0x6d39b220, 0x3ce07: 0x6d39b420,\n\t0x3ce08: 0x6d65c420, 0x3ce09: 0x6d65c620, 0x3ce0a: 0x6d65c820, 0x3ce0b: 0x6d65ca20,\n\t0x3ce0c: 0x6d65cc20, 0x3ce0d: 0x6d65ce20, 0x3ce0e: 0x6d65d020, 0x3ce0f: 0x6d65d220,\n\t0x3ce10: 0x6d65d420, 0x3ce11: 0x6d65d620, 0x3ce12: 0x6d65d820, 0x3ce13: 0x6d65da20,\n\t0x3ce14: 0x6d65dc20, 0x3ce15: 0x6d65de20, 0x3ce16: 0x6d65e020, 0x3ce17: 0x6d65e220,\n\t0x3ce18: 0x6d65e420, 0x3ce19: 0x6d65e620, 0x3ce1a: 0x6d65e820, 0x3ce1b: 0x6d65ea20,\n\t0x3ce1c: 0x6d65ec20, 0x3ce1d: 0x6d8fb220, 0x3ce1e: 0x6d8fb420, 0x3ce1f: 0x6d8fb620,\n\t0x3ce20: 0x6d8fb820, 0x3ce21: 0x6d8fba20, 0x3ce22: 0x6d8fbc20, 0x3ce23: 0x6d8fbe20,\n\t0x3ce24: 0x6d8fc020, 0x3ce25: 0x6db37420, 0x3ce26: 0x6db37620, 0x3ce27: 0x6db37820,\n\t0x3ce28: 0x6db37a20, 0x3ce29: 0x6db37c20, 0x3ce2a: 0x6db37e20, 0x3ce2b: 0x6db38020,\n\t0x3ce2c: 0x6db38220, 0x3ce2d: 0x6db38420, 0x3ce2e: 0x6db38620, 0x3ce2f: 0x6db38820,\n\t0x3ce30: 0x6db38a20, 0x3ce31: 0x6db38c20, 0x3ce32: 0x6db38e20, 0x3ce33: 0x6db39020,\n\t0x3ce34: 0x6db39220, 0x3ce35: 0x6dd27620, 0x3ce36: 0x6dd27820, 0x3ce37: 0x6dd27a20,\n\t0x3ce38: 0x6dd27c20, 0x3ce39: 0x6dd27e20, 0x3ce3a: 0x6dd28020, 0x3ce3b: 0x6dd28220,\n\t0x3ce3c: 0x6dd28420, 0x3ce3d: 0x6dd28620, 0x3ce3e: 0x6dd28820, 0x3ce3f: 0x6dd28a20,\n\t// Block 0xf39, offset 0x3ce40\n\t0x3ce40: 0x6dd28c20, 0x3ce41: 0x6dd28e20, 0x3ce42: 0x6dd29020, 0x3ce43: 0x6dd29220,\n\t0x3ce44: 0x6dd29420, 0x3ce45: 0x6debc020, 0x3ce46: 0x6debc220, 0x3ce47: 0x6debc420,\n\t0x3ce48: 0x6debc620, 0x3ce49: 0x6debc820, 0x3ce4a: 0x6debca20, 0x3ce4b: 0x6debcc20,\n\t0x3ce4c: 0x6e014c20, 0x3ce4d: 0x6e014e20, 0x3ce4e: 0x6e015020, 0x3ce4f: 0x6e015220,\n\t0x3ce50: 0x6e133820, 0x3ce51: 0x6e133a20, 0x3ce52: 0x6e133c20, 0x3ce53: 0x6e133e20,\n\t0x3ce54: 0x6e211820, 0x3ce55: 0x6e211a20, 0x3ce56: 0x6e211c20, 0x3ce57: 0x6e2bd420,\n\t0x3ce58: 0x6e342020, 0x3ce59: 0x6e342220, 0x3ce5a: 0x6e342420, 0x3ce5b: 0x6e3e0e20,\n\t0x3ce5c: 0x6e3e1020, 0x3ce5d: 0x6c5f9e20, 0x3ce5e: 0x6c5fa020, 0x3ce5f: 0x6c84dc20,\n\t0x3ce60: 0x6cdd6220, 0x3ce61: 0x6cdd6420, 0x3ce62: 0x6d39da20, 0x3ce63: 0x6db3b220,\n\t0x3ce64: 0x6c403420, 0x3ce65: 0x6c5ff220, 0x3ce66: 0x6c5ff420, 0x3ce67: 0x6c857820,\n\t0x3ce68: 0x6c857a20, 0x3ce69: 0x6c857c20, 0x3ce6a: 0x6c857e20, 0x3ce6b: 0x6c858020,\n\t0x3ce6c: 0x6caf0c20, 0x3ce6d: 0x6caf0e20, 0x3ce6e: 0x6caf1020, 0x3ce6f: 0x6caf1220,\n\t0x3ce70: 0x6caf1420, 0x3ce71: 0x6caf1620, 0x3ce72: 0x6caf1820, 0x3ce73: 0x6cde3020,\n\t0x3ce74: 0x6cde3220, 0x3ce75: 0x6cde3420, 0x3ce76: 0x6cde3620, 0x3ce77: 0x6cde3820,\n\t0x3ce78: 0x6cde3a20, 0x3ce79: 0x6cde3c20, 0x3ce7a: 0x6cde3e20, 0x3ce7b: 0x6cde4020,\n\t0x3ce7c: 0x6cde4220, 0x3ce7d: 0x6d0cb020, 0x3ce7e: 0x6d0cb220, 0x3ce7f: 0x6d0cb420,\n\t// Block 0xf3a, offset 0x3ce80\n\t0x3ce80: 0x6d0cb620, 0x3ce81: 0x6d0cb820, 0x3ce82: 0x6d3afc20, 0x3ce83: 0x6d3afe20,\n\t0x3ce84: 0x6d3b0020, 0x3ce85: 0x6d3b0220, 0x3ce86: 0x6d3b0420, 0x3ce87: 0x6d3b0620,\n\t0x3ce88: 0x6d3b0820, 0x3ce89: 0x6d3b0a20, 0x3ce8a: 0x6d672e20, 0x3ce8b: 0x6d673020,\n\t0x3ce8c: 0x6d673220, 0x3ce8d: 0x6d673420, 0x3ce8e: 0x6d673620, 0x3ce8f: 0x6d910820,\n\t0x3ce90: 0x6d910a20, 0x3ce91: 0x6d910c20, 0x3ce92: 0x6d910e20, 0x3ce93: 0x6d911020,\n\t0x3ce94: 0x6d911220, 0x3ce95: 0x6d911420, 0x3ce96: 0x6db4be20, 0x3ce97: 0x6db4c020,\n\t0x3ce98: 0x6db4c220, 0x3ce99: 0x6db4c420, 0x3ce9a: 0x6dd38e20, 0x3ce9b: 0x6dd39020,\n\t0x3ce9c: 0x6dd39220, 0x3ce9d: 0x6dd39420, 0x3ce9e: 0x6dd39620, 0x3ce9f: 0x6dec9c20,\n\t0x3cea0: 0x6dec9e20, 0x3cea1: 0x6deca020, 0x3cea2: 0x6deca220, 0x3cea3: 0x6e01d420,\n\t0x3cea4: 0x6e01d620, 0x3cea5: 0x6e01d820, 0x3cea6: 0x6e13c220, 0x3cea7: 0x6e13c420,\n\t0x3cea8: 0x6e218420, 0x3cea9: 0x6e447620, 0x3ceaa: 0x6c859220, 0x3ceab: 0x6caf2420,\n\t0x3ceac: 0x6db4ce20, 0x3cead: 0x6caf3220, 0x3ceae: 0x6cde6820, 0x3ceaf: 0x6d675420,\n\t0x3ceb0: 0x6dd3a820, 0x3ceb1: 0x6e2c2020, 0x3ceb2: 0x6c605e20, 0x3ceb3: 0x6c606020,\n\t0x3ceb4: 0x6c606220, 0x3ceb5: 0x6c861c20, 0x3ceb6: 0x6c861e20, 0x3ceb7: 0x6c862020,\n\t0x3ceb8: 0x6cafd820, 0x3ceb9: 0x6cafda20, 0x3ceba: 0x6cafdc20, 0x3cebb: 0x6cafde20,\n\t0x3cebc: 0x6cafe020, 0x3cebd: 0x6cdef420, 0x3cebe: 0x6d0d6820, 0x3cebf: 0x6d0d6a20,\n\t// Block 0xf3b, offset 0x3cec0\n\t0x3cec0: 0x6d0d6c20, 0x3cec1: 0x6d0d6e20, 0x3cec2: 0x6d0d7020, 0x3cec3: 0x6d0d7220,\n\t0x3cec4: 0x6d0d7420, 0x3cec5: 0x6d3bd820, 0x3cec6: 0x6d3bda20, 0x3cec7: 0x6d67ec20,\n\t0x3cec8: 0x6d67ee20, 0x3cec9: 0x6d67f020, 0x3ceca: 0x6d91ae20, 0x3cecb: 0x6d91b020,\n\t0x3cecc: 0x6d91b220, 0x3cecd: 0x6d91b420, 0x3cece: 0x6d91b620, 0x3cecf: 0x6d91b820,\n\t0x3ced0: 0x6db57820, 0x3ced1: 0x6db57a20, 0x3ced2: 0x6db57c20, 0x3ced3: 0x6dd40a20,\n\t0x3ced4: 0x6dd40c20, 0x3ced5: 0x6decfc20, 0x3ced6: 0x6e021620, 0x3ced7: 0x6e21a020,\n\t0x3ced8: 0x6e2c3420, 0x3ced9: 0x6e2c3620, 0x3ceda: 0x6cafec20, 0x3cedb: 0x6d91c020,\n\t0x3cedc: 0x6c863c20, 0x3cedd: 0x6cdf3220, 0x3cede: 0x6d0daa20, 0x3cedf: 0x6d3c1a20,\n\t0x3cee0: 0x6d3c1c20, 0x3cee1: 0x6d683020, 0x3cee2: 0x6d91fe20, 0x3cee3: 0x6d920020,\n\t0x3cee4: 0x6dd43420, 0x3cee5: 0x6e022c20, 0x3cee6: 0x6e3a3220, 0x3cee7: 0x6e3a3420,\n\t0x3cee8: 0x6c607820, 0x3cee9: 0x6c607a20, 0x3ceea: 0x6c864020, 0x3ceeb: 0x6d0dae20,\n\t0x3ceec: 0x6d683820, 0x3ceed: 0x6db5a620, 0x3ceee: 0x6d0dd820, 0x3ceef: 0x6d0dda20,\n\t0x3cef0: 0x6d922e20, 0x3cef1: 0x6d923020, 0x3cef2: 0x6c868c20, 0x3cef3: 0x6c868e20,\n\t0x3cef4: 0x6cb10620, 0x3cef5: 0x6cb10820, 0x3cef6: 0x6ce02420, 0x3cef7: 0x6ce02620,\n\t0x3cef8: 0x6ce02820, 0x3cef9: 0x6ce02a20, 0x3cefa: 0x6d0eae20, 0x3cefb: 0x6d0eb020,\n\t0x3cefc: 0x6d3d0020, 0x3cefd: 0x6d3d0220, 0x3cefe: 0x6d3d0420, 0x3ceff: 0x6d697220,\n\t// Block 0xf3c, offset 0x3cf00\n\t0x3cf00: 0x6d697420, 0x3cf01: 0x6d92f220, 0x3cf02: 0x6d92f420, 0x3cf03: 0x6d92f620,\n\t0x3cf04: 0x6d92f820, 0x3cf05: 0x6d92fa20, 0x3cf06: 0x6db69220, 0x3cf07: 0x6db69420,\n\t0x3cf08: 0x6db69620, 0x3cf09: 0x6dd4f220, 0x3cf0a: 0x6dd4f420, 0x3cf0b: 0x6dd4f620,\n\t0x3cf0c: 0x6dd4f820, 0x3cf0d: 0x6dedda20, 0x3cf0e: 0x6deddc20, 0x3cf0f: 0x6dedde20,\n\t0x3cf10: 0x6e02b220, 0x3cf11: 0x6e02b420, 0x3cf12: 0x6e146a20, 0x3cf13: 0x6e2c7420,\n\t0x3cf14: 0x6e34a220, 0x3cf15: 0x6e34a420, 0x3cf16: 0x6e34a620, 0x3cf17: 0x6e3e4220,\n\t0x3cf18: 0x6e431c20, 0x3cf19: 0x6c0a7c20, 0x3cf1a: 0x6c14fa20, 0x3cf1b: 0x6c14fc20,\n\t0x3cf1c: 0x6c26d820, 0x3cf1d: 0x6c26da20, 0x3cf1e: 0x6c26dc20, 0x3cf1f: 0x6c26de20,\n\t0x3cf20: 0x6c26e020, 0x3cf21: 0x6c26e220, 0x3cf22: 0x6c40ac20, 0x3cf23: 0x6c40ae20,\n\t0x3cf24: 0x6c40b020, 0x3cf25: 0x6c40b220, 0x3cf26: 0x6c40b420, 0x3cf27: 0x6c60b620,\n\t0x3cf28: 0x6c60b820, 0x3cf29: 0x6c60ba20, 0x3cf2a: 0x6c60bc20, 0x3cf2b: 0x6c86b820,\n\t0x3cf2c: 0x6c86ba20, 0x3cf2d: 0x6c86bc20, 0x3cf2e: 0x6c86be20, 0x3cf2f: 0x6cb13420,\n\t0x3cf30: 0x6cb13620, 0x3cf31: 0x6cb13820, 0x3cf32: 0x6cb13a20, 0x3cf33: 0x6cb13c20,\n\t0x3cf34: 0x6cb13e20, 0x3cf35: 0x6ce03e20, 0x3cf36: 0x6ce04020, 0x3cf37: 0x6ce04220,\n\t0x3cf38: 0x6ce04420, 0x3cf39: 0x6d0ebe20, 0x3cf3a: 0x6d0ec020, 0x3cf3b: 0x6d3d1220,\n\t0x3cf3c: 0x6d3d1420, 0x3cf3d: 0x6d698220, 0x3cf3e: 0x6d92fe20, 0x3cf3f: 0x6db69c20,\n\t// Block 0xf3d, offset 0x3cf40\n\t0x3cf40: 0x6c60c020, 0x3cf41: 0x6cb14e20, 0x3cf42: 0x6d699420, 0x3cf43: 0x6d69b220,\n\t0x3cf44: 0x6dd51220, 0x3cf45: 0x6c40bc20, 0x3cf46: 0x6cb17620, 0x3cf47: 0x6d3d4a20,\n\t0x3cf48: 0x6d3d4c20, 0x3cf49: 0x6d933e20, 0x3cf4a: 0x6c86ee20, 0x3cf4b: 0x6d0f2420,\n\t0x3cf4c: 0x6d936620, 0x3cf4d: 0x6db70220, 0x3cf4e: 0x6c60da20, 0x3cf4f: 0x6c870a20,\n\t0x3cf50: 0x6c870c20, 0x3cf51: 0x6c870e20, 0x3cf52: 0x6cb1d820, 0x3cf53: 0x6cb1da20,\n\t0x3cf54: 0x6ce11420, 0x3cf55: 0x6ce11620, 0x3cf56: 0x6d0f8e20, 0x3cf57: 0x6d3dbc20,\n\t0x3cf58: 0x6d3dbe20, 0x3cf59: 0x6d3dc020, 0x3cf5a: 0x6d6a6820, 0x3cf5b: 0x6d6a6a20,\n\t0x3cf5c: 0x6d93b820, 0x3cf5d: 0x6d93ba20, 0x3cf5e: 0x6d93bc20, 0x3cf5f: 0x6db73c20,\n\t0x3cf60: 0x6db73e20, 0x3cf61: 0x6dd59220, 0x3cf62: 0x6dee7a20, 0x3cf63: 0x6e225420,\n\t0x3cf64: 0x6e225620, 0x3cf65: 0x6e2ca420, 0x3cf66: 0x6c60f620, 0x3cf67: 0x6c60f820,\n\t0x3cf68: 0x6cb1e620, 0x3cf69: 0x6ce13420, 0x3cf6a: 0x6d0f9620, 0x3cf6b: 0x6d93ca20,\n\t0x3cf6c: 0x6dd59420, 0x3cf6d: 0x6ce13c20, 0x3cf6e: 0x6d0fa620, 0x3cf6f: 0x6d6a8020,\n\t0x3cf70: 0x6dd59a20, 0x3cf71: 0x6cb23c20, 0x3cf72: 0x6ce19a20, 0x3cf73: 0x6d100420,\n\t0x3cf74: 0x6d100620, 0x3cf75: 0x6d3e3420, 0x3cf76: 0x6d3e3620, 0x3cf77: 0x6d3e3820,\n\t0x3cf78: 0x6d6ad420, 0x3cf79: 0x6d6ad620, 0x3cf7a: 0x6d6ad820, 0x3cf7b: 0x6d942e20,\n\t0x3cf7c: 0x6d943020, 0x3cf7d: 0x6db78220, 0x3cf7e: 0x6dd5d820, 0x3cf7f: 0x6dd5da20,\n\t// Block 0xf3e, offset 0x3cf80\n\t0x3cf80: 0x6c877e20, 0x3cf81: 0x6cb2a420, 0x3cf82: 0x6cb2a620, 0x3cf83: 0x6cb2a820,\n\t0x3cf84: 0x6ce23420, 0x3cf85: 0x6ce23620, 0x3cf86: 0x6ce23820, 0x3cf87: 0x6d10a620,\n\t0x3cf88: 0x6d10a820, 0x3cf89: 0x6d10aa20, 0x3cf8a: 0x6d10ac20, 0x3cf8b: 0x6d10ae20,\n\t0x3cf8c: 0x6d3edc20, 0x3cf8d: 0x6d3ede20, 0x3cf8e: 0x6d3ee020, 0x3cf8f: 0x6d6b8e20,\n\t0x3cf90: 0x6d6b9020, 0x3cf91: 0x6d6b9220, 0x3cf92: 0x6d6b9420, 0x3cf93: 0x6d6b9620,\n\t0x3cf94: 0x6d94d820, 0x3cf95: 0x6d94da20, 0x3cf96: 0x6d94dc20, 0x3cf97: 0x6d94de20,\n\t0x3cf98: 0x6d94e020, 0x3cf99: 0x6db81020, 0x3cf9a: 0x6db81220, 0x3cf9b: 0x6db81420,\n\t0x3cf9c: 0x6dd6a220, 0x3cf9d: 0x6dd6a420, 0x3cf9e: 0x6dd6a620, 0x3cf9f: 0x6dd6a820,\n\t0x3cfa0: 0x6def6020, 0x3cfa1: 0x6def6220, 0x3cfa2: 0x6def6420, 0x3cfa3: 0x6e039220,\n\t0x3cfa4: 0x6e039420, 0x3cfa5: 0x6e039620, 0x3cfa6: 0x6e039820, 0x3cfa7: 0x6e150220,\n\t0x3cfa8: 0x6e150420, 0x3cfa9: 0x6e2ce620, 0x3cfaa: 0x6d10dc20, 0x3cfab: 0x6d10de20,\n\t0x3cfac: 0x6d3f0020, 0x3cfad: 0x6db83220, 0x3cfae: 0x6db83420, 0x3cfaf: 0x6dd6be20,\n\t0x3cfb0: 0x6def9020, 0x3cfb1: 0x6e03aa20, 0x3cfb2: 0x6c87b620, 0x3cfb3: 0x6cb33620,\n\t0x3cfb4: 0x6ce2d420, 0x3cfb5: 0x6ce2d620, 0x3cfb6: 0x6d3f5820, 0x3cfb7: 0x6d3f5a20,\n\t0x3cfb8: 0x6d3f5c20, 0x3cfb9: 0x6d6c4c20, 0x3cfba: 0x6d956c20, 0x3cfbb: 0x6d956e20,\n\t0x3cfbc: 0x6db89620, 0x3cfbd: 0x6db89820, 0x3cfbe: 0x6dd71220, 0x3cfbf: 0x6dd71420,\n\t// Block 0xf3f, offset 0x3cfc0\n\t0x3cfc0: 0x6defc620, 0x3cfc1: 0x6e03e820, 0x3cfc2: 0x6e153420, 0x3cfc3: 0x6e469220,\n\t0x3cfc4: 0x6c271620, 0x3cfc5: 0x6c271820, 0x3cfc6: 0x6c271a20, 0x3cfc7: 0x6c40f420,\n\t0x3cfc8: 0x6c615e20, 0x3cfc9: 0x6c616020, 0x3cfca: 0x6c616220, 0x3cfcb: 0x6c87cc20,\n\t0x3cfcc: 0x6c87ce20, 0x3cfcd: 0x6cb34020, 0x3cfce: 0x6ce2e820, 0x3cfcf: 0x6ce2ea20,\n\t0x3cfd0: 0x6ce2ec20, 0x3cfd1: 0x6ce2ee20, 0x3cfd2: 0x6d114a20, 0x3cfd3: 0x6c87d020,\n\t0x3cfd4: 0x6d3f6420, 0x3cfd5: 0x6d6c5020, 0x3cfd6: 0x6d6c5220, 0x3cfd7: 0x6d957620,\n\t0x3cfd8: 0x6db89a20, 0x3cfd9: 0x6defc820, 0x3cfda: 0x6ce2f820, 0x3cfdb: 0x6d115a20,\n\t0x3cfdc: 0x6d115c20, 0x3cfdd: 0x6e03f620, 0x3cfde: 0x6c052020, 0x3cfdf: 0x6c153820,\n\t0x3cfe0: 0x6c278620, 0x3cfe1: 0x6c278820, 0x3cfe2: 0x6c417620, 0x3cfe3: 0x6c417820,\n\t0x3cfe4: 0x6c417a20, 0x3cfe5: 0x6c61d020, 0x3cfe6: 0x6c886020, 0x3cfe7: 0x6c886220,\n\t0x3cfe8: 0x6c886420, 0x3cfe9: 0x6c886620, 0x3cfea: 0x6c886820, 0x3cfeb: 0x6cb3ec20,\n\t0x3cfec: 0x6cb3ee20, 0x3cfed: 0x6cb3f020, 0x3cfee: 0x6cb3f220, 0x3cfef: 0x6cb3f420,\n\t0x3cff0: 0x6cb3f620, 0x3cff1: 0x6cb3f820, 0x3cff2: 0x6cb3fa20, 0x3cff3: 0x6ce3ac20,\n\t0x3cff4: 0x6ce3ae20, 0x3cff5: 0x6ce3b020, 0x3cff6: 0x6ce3b220, 0x3cff7: 0x6ce3b420,\n\t0x3cff8: 0x6ce3b620, 0x3cff9: 0x6ce3b820, 0x3cffa: 0x6d11f420, 0x3cffb: 0x6d11f620,\n\t0x3cffc: 0x6d11f820, 0x3cffd: 0x6d11fa20, 0x3cffe: 0x6d3ff820, 0x3cfff: 0x6d3ffa20,\n\t// Block 0xf40, offset 0x3d000\n\t0x3d000: 0x6d3ffc20, 0x3d001: 0x6d3ffe20, 0x3d002: 0x6d400020, 0x3d003: 0x6d400220,\n\t0x3d004: 0x6d6cea20, 0x3d005: 0x6d6cec20, 0x3d006: 0x6d6cee20, 0x3d007: 0x6d6cf020,\n\t0x3d008: 0x6d6cf220, 0x3d009: 0x6d6cf420, 0x3d00a: 0x6d6cf620, 0x3d00b: 0x6d95f620,\n\t0x3d00c: 0x6db8fc20, 0x3d00d: 0x6db8fe20, 0x3d00e: 0x6db90020, 0x3d00f: 0x6db90220,\n\t0x3d010: 0x6dd75220, 0x3d011: 0x6dd75420, 0x3d012: 0x6e041e20, 0x3d013: 0x6e042020,\n\t0x3d014: 0x6e042220, 0x3d015: 0x6e042420, 0x3d016: 0x6e154c20, 0x3d017: 0x6c0aa820,\n\t0x3d018: 0x6c158820, 0x3d019: 0x6c158a20, 0x3d01a: 0x6c27e620, 0x3d01b: 0x6c27e820,\n\t0x3d01c: 0x6c41d820, 0x3d01d: 0x6c624e20, 0x3d01e: 0x6c625020, 0x3d01f: 0x6c625220,\n\t0x3d020: 0x6c88e220, 0x3d021: 0x6c88e420, 0x3d022: 0x6c88e620, 0x3d023: 0x6cb46e20,\n\t0x3d024: 0x6cb47020, 0x3d025: 0x6ce41a20, 0x3d026: 0x6ce41c20, 0x3d027: 0x6d126420,\n\t0x3d028: 0x6d126620, 0x3d029: 0x6d126820, 0x3d02a: 0x6d6d4420, 0x3d02b: 0x6d6d4620,\n\t0x3d02c: 0x6d962e20, 0x3d02d: 0x6db93220, 0x3d02e: 0x6dd77a20, 0x3d02f: 0x6dd77c20,\n\t0x3d030: 0x6dd77e20, 0x3d031: 0x6e043220, 0x3d032: 0x6e433620, 0x3d033: 0x6c890420,\n\t0x3d034: 0x6d12b620, 0x3d035: 0x6d12b820, 0x3d036: 0x6d40c420, 0x3d037: 0x6d40c620,\n\t0x3d038: 0x6d40c820, 0x3d039: 0x6d6da420, 0x3d03a: 0x6db98e20, 0x3d03b: 0x6dd7ca20,\n\t0x3d03c: 0x6df05020, 0x3d03d: 0x6df05220, 0x3d03e: 0x6e157620, 0x3d03f: 0x6e2d3820,\n\t// Block 0xf41, offset 0x3d040\n\t0x3d040: 0x6ce46e20, 0x3d041: 0x6cb4d220, 0x3d042: 0x6ce47a20, 0x3d043: 0x6d40d220,\n\t0x3d044: 0x6db99e20, 0x3d045: 0x6df05420, 0x3d046: 0x6cb51a20, 0x3d047: 0x6cb51c20,\n\t0x3d048: 0x6cb51e20, 0x3d049: 0x6cb52020, 0x3d04a: 0x6ce51a20, 0x3d04b: 0x6ce51c20,\n\t0x3d04c: 0x6ce51e20, 0x3d04d: 0x6ce52020, 0x3d04e: 0x6ce52220, 0x3d04f: 0x6d139220,\n\t0x3d050: 0x6d139420, 0x3d051: 0x6d139620, 0x3d052: 0x6d139820, 0x3d053: 0x6d139a20,\n\t0x3d054: 0x6d139c20, 0x3d055: 0x6d41ac20, 0x3d056: 0x6d41ae20, 0x3d057: 0x6d41b020,\n\t0x3d058: 0x6d41b220, 0x3d059: 0x6d41b420, 0x3d05a: 0x6d41b620, 0x3d05b: 0x6d41b820,\n\t0x3d05c: 0x6d41ba20, 0x3d05d: 0x6d6ebe20, 0x3d05e: 0x6d6ec020, 0x3d05f: 0x6d6ec220,\n\t0x3d060: 0x6d6ec420, 0x3d061: 0x6d6ec620, 0x3d062: 0x6d6ec820, 0x3d063: 0x6d6eca20,\n\t0x3d064: 0x6d6ecc20, 0x3d065: 0x6d6ece20, 0x3d066: 0x6d97d820, 0x3d067: 0x6d97da20,\n\t0x3d068: 0x6d97dc20, 0x3d069: 0x6d97de20, 0x3d06a: 0x6d97e020, 0x3d06b: 0x6d97e220,\n\t0x3d06c: 0x6d97e420, 0x3d06d: 0x6d97e620, 0x3d06e: 0x6d97e820, 0x3d06f: 0x6d97ea20,\n\t0x3d070: 0x6dbadc20, 0x3d071: 0x6dbade20, 0x3d072: 0x6dbae020, 0x3d073: 0x6dbae220,\n\t0x3d074: 0x6dbae420, 0x3d075: 0x6dbae620, 0x3d076: 0x6dbae820, 0x3d077: 0x6dbaea20,\n\t0x3d078: 0x6dd8ea20, 0x3d079: 0x6dd8ec20, 0x3d07a: 0x6dd8ee20, 0x3d07b: 0x6dd8f020,\n\t0x3d07c: 0x6dd8f220, 0x3d07d: 0x6dd8f420, 0x3d07e: 0x6dd8f620, 0x3d07f: 0x6df15420,\n\t// Block 0xf42, offset 0x3d080\n\t0x3d080: 0x6df15620, 0x3d081: 0x6df15820, 0x3d082: 0x6df15a20, 0x3d083: 0x6df15c20,\n\t0x3d084: 0x6e057220, 0x3d085: 0x6e057420, 0x3d086: 0x6e057620, 0x3d087: 0x6e057820,\n\t0x3d088: 0x6e057a20, 0x3d089: 0x6e057c20, 0x3d08a: 0x6e057e20, 0x3d08b: 0x6e058020,\n\t0x3d08c: 0x6e058220, 0x3d08d: 0x6e058420, 0x3d08e: 0x6e058620, 0x3d08f: 0x6e164020,\n\t0x3d090: 0x6e164220, 0x3d091: 0x6e164420, 0x3d092: 0x6e164620, 0x3d093: 0x6e164820,\n\t0x3d094: 0x6e164a20, 0x3d095: 0x6e164c20, 0x3d096: 0x6e238a20, 0x3d097: 0x6e238c20,\n\t0x3d098: 0x6e238e20, 0x3d099: 0x6e239020, 0x3d09a: 0x6e239220, 0x3d09b: 0x6e2db420,\n\t0x3d09c: 0x6e2db620, 0x3d09d: 0x6e356020, 0x3d09e: 0x6e356220, 0x3d09f: 0x6e356420,\n\t0x3d0a0: 0x6e3ae220, 0x3d0a1: 0x6e3ae420, 0x3d0a2: 0x6e3ae620, 0x3d0a3: 0x6e3eae20,\n\t0x3d0a4: 0x6e415e20, 0x3d0a5: 0x6c27fc20, 0x3d0a6: 0x6c41fa20, 0x3d0a7: 0x6c629c20,\n\t0x3d0a8: 0x6c629e20, 0x3d0a9: 0x6c62a020, 0x3d0aa: 0x6c62a220, 0x3d0ab: 0x6c62a420,\n\t0x3d0ac: 0x6c897a20, 0x3d0ad: 0x6c897c20, 0x3d0ae: 0x6c897e20, 0x3d0af: 0x6cb57420,\n\t0x3d0b0: 0x6cb57620, 0x3d0b1: 0x6cb57820, 0x3d0b2: 0x6cb57a20, 0x3d0b3: 0x6cb57c20,\n\t0x3d0b4: 0x6cb57e20, 0x3d0b5: 0x6ce56a20, 0x3d0b6: 0x6ce56c20, 0x3d0b7: 0x6ce56e20,\n\t0x3d0b8: 0x6d13e420, 0x3d0b9: 0x6d13e620, 0x3d0ba: 0x6d13e820, 0x3d0bb: 0x6d13ea20,\n\t0x3d0bc: 0x6d13ec20, 0x3d0bd: 0x6d13ee20, 0x3d0be: 0x6d13f020, 0x3d0bf: 0x6d13f220,\n\t// Block 0xf43, offset 0x3d0c0\n\t0x3d0c0: 0x6d41ee20, 0x3d0c1: 0x6d41f020, 0x3d0c2: 0x6d41f220, 0x3d0c3: 0x6d41f420,\n\t0x3d0c4: 0x6d41f620, 0x3d0c5: 0x6d6ef620, 0x3d0c6: 0x6d6ef820, 0x3d0c7: 0x6d6efa20,\n\t0x3d0c8: 0x6d6efc20, 0x3d0c9: 0x6d980820, 0x3d0ca: 0x6d980a20, 0x3d0cb: 0x6dbb0c20,\n\t0x3d0cc: 0x6dbb0e20, 0x3d0cd: 0x6dbb1020, 0x3d0ce: 0x6dbb1220, 0x3d0cf: 0x6dbb1420,\n\t0x3d0d0: 0x6dd90c20, 0x3d0d1: 0x6dd90e20, 0x3d0d2: 0x6df16020, 0x3d0d3: 0x6e164e20,\n\t0x3d0d4: 0x6e2db820, 0x3d0d5: 0x6e356620, 0x3d0d6: 0x6d141620, 0x3d0d7: 0x6d6f1a20,\n\t0x3d0d8: 0x6c62b220, 0x3d0d9: 0x6cb5c220, 0x3d0da: 0x6ce5e620, 0x3d0db: 0x6ce5e820,\n\t0x3d0dc: 0x6d146420, 0x3d0dd: 0x6d146620, 0x3d0de: 0x6d146820, 0x3d0df: 0x6d146a20,\n\t0x3d0e0: 0x6d146c20, 0x3d0e1: 0x6d6f7a20, 0x3d0e2: 0x6d6f7c20, 0x3d0e3: 0x6d6f7e20,\n\t0x3d0e4: 0x6d6f8020, 0x3d0e5: 0x6d988820, 0x3d0e6: 0x6d988a20, 0x3d0e7: 0x6d988c20,\n\t0x3d0e8: 0x6dbb8420, 0x3d0e9: 0x6df1a020, 0x3d0ea: 0x6e168e20, 0x3d0eb: 0x6e3af820,\n\t0x3d0ec: 0x6c15a020, 0x3d0ed: 0x6c281820, 0x3d0ee: 0x6c281a20, 0x3d0ef: 0x6c281c20,\n\t0x3d0f0: 0x6c420c20, 0x3d0f1: 0x6c62ca20, 0x3d0f2: 0x6c899e20, 0x3d0f3: 0x6c89a020,\n\t0x3d0f4: 0x6cb5d820, 0x3d0f5: 0x6d147a20, 0x3d0f6: 0x6d147c20, 0x3d0f7: 0x6d426620,\n\t0x3d0f8: 0x6d426820, 0x3d0f9: 0x6dbb8a20, 0x3d0fa: 0x6c0ac020, 0x3d0fb: 0x6c15d020,\n\t0x3d0fc: 0x6c287820, 0x3d0fd: 0x6c287a20, 0x3d0fe: 0x6c426c20, 0x3d0ff: 0x6c426e20,\n\t// Block 0xf44, offset 0x3d100\n\t0x3d100: 0x6c427020, 0x3d101: 0x6c632620, 0x3d102: 0x6c632820, 0x3d103: 0x6c632a20,\n\t0x3d104: 0x6c8a2c20, 0x3d105: 0x6c8a2e20, 0x3d106: 0x6cb64e20, 0x3d107: 0x6cb65020,\n\t0x3d108: 0x6cb65220, 0x3d109: 0x6cb65420, 0x3d10a: 0x6cb65620, 0x3d10b: 0x6cb65820,\n\t0x3d10c: 0x6cb65a20, 0x3d10d: 0x6cb65c20, 0x3d10e: 0x6ce68620, 0x3d10f: 0x6ce68820,\n\t0x3d110: 0x6d14d620, 0x3d111: 0x6d14d820, 0x3d112: 0x6d14da20, 0x3d113: 0x6d14dc20,\n\t0x3d114: 0x6d42c420, 0x3d115: 0x6d42c620, 0x3d116: 0x6d42c820, 0x3d117: 0x6d42ca20,\n\t0x3d118: 0x6dd98420, 0x3d119: 0x6d6fca20, 0x3d11a: 0x6ce6bc20, 0x3d11b: 0x6d430a20,\n\t0x3d11c: 0x6dd9ba20, 0x3d11d: 0x6c8a4620, 0x3d11e: 0x6cb69620, 0x3d11f: 0x6ce6f220,\n\t0x3d120: 0x6ce6f420, 0x3d121: 0x6d155020, 0x3d122: 0x6d155220, 0x3d123: 0x6d434c20,\n\t0x3d124: 0x6d434e20, 0x3d125: 0x6d704a20, 0x3d126: 0x6d704c20, 0x3d127: 0x6d997620,\n\t0x3d128: 0x6d997820, 0x3d129: 0x6dbc4e20, 0x3d12a: 0x6dbc5020, 0x3d12b: 0x6dda1a20,\n\t0x3d12c: 0x6df23220, 0x3d12d: 0x6df23420, 0x3d12e: 0x6e066820, 0x3d12f: 0x6e066a20,\n\t0x3d130: 0x6e066c20, 0x3d131: 0x6e066e20, 0x3d132: 0x6e16ea20, 0x3d133: 0x6e240820,\n\t0x3d134: 0x6e240a20, 0x3d135: 0x6e35ae20, 0x3d136: 0x6e35b020, 0x3d137: 0x6e44b220,\n\t0x3d138: 0x6cb69a20, 0x3d139: 0x6d156020, 0x3d13a: 0x6d156220, 0x3d13b: 0x6d998220,\n\t0x3d13c: 0x6df23820, 0x3d13d: 0x6d435a20, 0x3d13e: 0x6e16ee20, 0x3d13f: 0x6e3b1c20,\n\t// Block 0xf45, offset 0x3d140\n\t0x3d140: 0x6d437c20, 0x3d141: 0x6d707020, 0x3d142: 0x6d99a020, 0x3d143: 0x6dda2e20,\n\t0x3d144: 0x6e170820, 0x3d145: 0x6d43d420, 0x3d146: 0x6d43d620, 0x3d147: 0x6d70be20,\n\t0x3d148: 0x6d70c020, 0x3d149: 0x6e06d220, 0x3d14a: 0x6e173e20, 0x3d14b: 0x6e244420,\n\t0x3d14c: 0x6c8a4e20, 0x3d14d: 0x6d15d220, 0x3d14e: 0x6dbce620, 0x3d14f: 0x6e06e820,\n\t0x3d150: 0x6e35d620, 0x3d151: 0x6c428420, 0x3d152: 0x6c8a5020, 0x3d153: 0x6ce73a20,\n\t0x3d154: 0x6d43fe20, 0x3d155: 0x6d440020, 0x3d156: 0x6d9a0220, 0x3d157: 0x6d15f020,\n\t0x3d158: 0x6d441020, 0x3d159: 0x6ddad820, 0x3d15a: 0x6e070420, 0x3d15b: 0x6e176420,\n\t0x3d15c: 0x6e3b3420, 0x3d15d: 0x6d163c20, 0x3d15e: 0x6d447020, 0x3d15f: 0x6d9aae20,\n\t0x3d160: 0x6d9ab020, 0x3d161: 0x6dbd6820, 0x3d162: 0x6ddb3a20, 0x3d163: 0x6ddb3c20,\n\t0x3d164: 0x6df33620, 0x3d165: 0x6e074420, 0x3d166: 0x6e074620, 0x3d167: 0x6e17a820,\n\t0x3d168: 0x6e248e20, 0x3d169: 0x6e35f020, 0x3d16a: 0x6c634c20, 0x3d16b: 0x6c8a6420,\n\t0x3d16c: 0x6cb6c820, 0x3d16d: 0x6cb6ca20, 0x3d16e: 0x6ce77020, 0x3d16f: 0x6ce77220,\n\t0x3d170: 0x6ce77420, 0x3d171: 0x6ce77620, 0x3d172: 0x6d164c20, 0x3d173: 0x6d164e20,\n\t0x3d174: 0x6d447820, 0x3d175: 0x6d447a20, 0x3d176: 0x6d447c20, 0x3d177: 0x6d716a20,\n\t0x3d178: 0x6d9aba20, 0x3d179: 0x6dbd6a20, 0x3d17a: 0x6e17ac20, 0x3d17b: 0x6d167e20,\n\t0x3d17c: 0x6d44b420, 0x3d17d: 0x6dbdb620, 0x3d17e: 0x6ddb8220, 0x3d17f: 0x6ddb8420,\n\t// Block 0xf46, offset 0x3d180\n\t0x3d180: 0x6df37220, 0x3d181: 0x6df37420, 0x3d182: 0x6df37620, 0x3d183: 0x6e249e20,\n\t0x3d184: 0x6e24a020, 0x3d185: 0x6e2e7620, 0x3d186: 0x6e35fe20, 0x3d187: 0x6c428a20,\n\t0x3d188: 0x6cb6d420, 0x3d189: 0x6ce79620, 0x3d18a: 0x6d168620, 0x3d18b: 0x6dbdba20,\n\t0x3d18c: 0x6dbdbe20, 0x3d18d: 0x6ce7d620, 0x3d18e: 0x6d16f220, 0x3d18f: 0x6d451820,\n\t0x3d190: 0x6d451a20, 0x3d191: 0x6d451c20, 0x3d192: 0x6d451e20, 0x3d193: 0x6d71fc20,\n\t0x3d194: 0x6dbe3c20, 0x3d195: 0x6dbe3e20, 0x3d196: 0x6dbe4020, 0x3d197: 0x6dbe4220,\n\t0x3d198: 0x6ddbf820, 0x3d199: 0x6df3e020, 0x3d19a: 0x6df3e220, 0x3d19b: 0x6e07c020,\n\t0x3d19c: 0x6e24d820, 0x3d19d: 0x6e24da20, 0x3d19e: 0x6c15d820, 0x3d19f: 0x6c289420,\n\t0x3d1a0: 0x6c289620, 0x3d1a1: 0x6c42a820, 0x3d1a2: 0x6c42aa20, 0x3d1a3: 0x6c42ac20,\n\t0x3d1a4: 0x6c637a20, 0x3d1a5: 0x6c637c20, 0x3d1a6: 0x6c8a8620, 0x3d1a7: 0x6c8a8820,\n\t0x3d1a8: 0x6c8a8a20, 0x3d1a9: 0x6cb70820, 0x3d1aa: 0x6cb70a20, 0x3d1ab: 0x6ce7e420,\n\t0x3d1ac: 0x6ce7e620, 0x3d1ad: 0x6ce7e820, 0x3d1ae: 0x6ce7ea20, 0x3d1af: 0x6ce7ec20,\n\t0x3d1b0: 0x6d170220, 0x3d1b1: 0x6d170420, 0x3d1b2: 0x6d720420, 0x3d1b3: 0x6d720620,\n\t0x3d1b4: 0x6d9b8e20, 0x3d1b5: 0x6e07c420, 0x3d1b6: 0x6d453220, 0x3d1b7: 0x6d9b9e20,\n\t0x3d1b8: 0x6dbe4e20, 0x3d1b9: 0x6df3ea20, 0x3d1ba: 0x6e07c820, 0x3d1bb: 0x6e361820,\n\t0x3d1bc: 0x6d722020, 0x3d1bd: 0x6d722220, 0x3d1be: 0x6dbe6420, 0x3d1bf: 0x6ddc1420,\n\t// Block 0xf47, offset 0x3d1c0\n\t0x3d1c0: 0x6e07d420, 0x3d1c1: 0x6e07d620, 0x3d1c2: 0x6e183020, 0x3d1c3: 0x6e24e220,\n\t0x3d1c4: 0x6e44be20, 0x3d1c5: 0x6d173020, 0x3d1c6: 0x6d45a420, 0x3d1c7: 0x6d45a620,\n\t0x3d1c8: 0x6d45a820, 0x3d1c9: 0x6d45aa20, 0x3d1ca: 0x6d9c2e20, 0x3d1cb: 0x6ddc9e20,\n\t0x3d1cc: 0x6ddca020, 0x3d1cd: 0x6ddca220, 0x3d1ce: 0x6ddca420, 0x3d1cf: 0x6df47c20,\n\t0x3d1d0: 0x6df47e20, 0x3d1d1: 0x6df48020, 0x3d1d2: 0x6e086220, 0x3d1d3: 0x6e086420,\n\t0x3d1d4: 0x6e086620, 0x3d1d5: 0x6e086820, 0x3d1d6: 0x6e086a20, 0x3d1d7: 0x6e254220,\n\t0x3d1d8: 0x6e2ee220, 0x3d1d9: 0x6e364020, 0x3d1da: 0x6e41b420, 0x3d1db: 0x6c15e020,\n\t0x3d1dc: 0x6c28a220, 0x3d1dd: 0x6c28a420, 0x3d1de: 0x6c42d620, 0x3d1df: 0x6c42d820,\n\t0x3d1e0: 0x6c63a620, 0x3d1e1: 0x6c63a820, 0x3d1e2: 0x6c8aa820, 0x3d1e3: 0x6c8aaa20,\n\t0x3d1e4: 0x6c8aac20, 0x3d1e5: 0x6cb72820, 0x3d1e6: 0x6cb72a20, 0x3d1e7: 0x6cb72c20,\n\t0x3d1e8: 0x6ce82620, 0x3d1e9: 0x6ce82820, 0x3d1ea: 0x6d174220, 0x3d1eb: 0x6d174420,\n\t0x3d1ec: 0x6d174620, 0x3d1ed: 0x6d45b220, 0x3d1ee: 0x6d45b420, 0x3d1ef: 0x6d72b020,\n\t0x3d1f0: 0x6d9c3220, 0x3d1f1: 0x6e189020, 0x3d1f2: 0x6d72e020, 0x3d1f3: 0x6ddcd620,\n\t0x3d1f4: 0x6ddcd820, 0x3d1f5: 0x6ce84020, 0x3d1f6: 0x6d72ec20, 0x3d1f7: 0x6d9c7820,\n\t0x3d1f8: 0x6cb73820, 0x3d1f9: 0x6d178820, 0x3d1fa: 0x6d178a20, 0x3d1fb: 0x6d463a20,\n\t0x3d1fc: 0x6d734220, 0x3d1fd: 0x6d9cbe20, 0x3d1fe: 0x6dbf5020, 0x3d1ff: 0x6dbf5220,\n\t// Block 0xf48, offset 0x3d200\n\t0x3d200: 0x6ddd3420, 0x3d201: 0x6ddd3620, 0x3d202: 0x6df4f820, 0x3d203: 0x6e18e620,\n\t0x3d204: 0x6d464c20, 0x3d205: 0x6d735220, 0x3d206: 0x6e190420, 0x3d207: 0x6e439e20,\n\t0x3d208: 0x6cb74220, 0x3d209: 0x6d17c220, 0x3d20a: 0x6d738420, 0x3d20b: 0x6d9d0c20,\n\t0x3d20c: 0x6dbf8c20, 0x3d20d: 0x6dbf8e20, 0x3d20e: 0x6e193220, 0x3d20f: 0x6d17de20,\n\t0x3d210: 0x6d46b420, 0x3d211: 0x6d740620, 0x3d212: 0x6d740820, 0x3d213: 0x6d9da220,\n\t0x3d214: 0x6d9da420, 0x3d215: 0x6d9da620, 0x3d216: 0x6d9da820, 0x3d217: 0x6d9daa20,\n\t0x3d218: 0x6dc02a20, 0x3d219: 0x6dc02c20, 0x3d21a: 0x6dc02e20, 0x3d21b: 0x6dc03020,\n\t0x3d21c: 0x6dc03220, 0x3d21d: 0x6dc03420, 0x3d21e: 0x6dc03620, 0x3d21f: 0x6dc03820,\n\t0x3d220: 0x6dde2620, 0x3d221: 0x6dde2820, 0x3d222: 0x6dde2a20, 0x3d223: 0x6dde2c20,\n\t0x3d224: 0x6df61420, 0x3d225: 0x6df61620, 0x3d226: 0x6df61820, 0x3d227: 0x6df61a20,\n\t0x3d228: 0x6e09e020, 0x3d229: 0x6e09e220, 0x3d22a: 0x6e09e420, 0x3d22b: 0x6e19e620,\n\t0x3d22c: 0x6e19e820, 0x3d22d: 0x6e19ea20, 0x3d22e: 0x6e19ec20, 0x3d22f: 0x6e19ee20,\n\t0x3d230: 0x6e266420, 0x3d231: 0x6e266620, 0x3d232: 0x6e266820, 0x3d233: 0x6e266a20,\n\t0x3d234: 0x6e266c20, 0x3d235: 0x6e266e20, 0x3d236: 0x6e267020, 0x3d237: 0x6e2fce20,\n\t0x3d238: 0x6e2fd020, 0x3d239: 0x6e2fd220, 0x3d23a: 0x6e2fd420, 0x3d23b: 0x6e2fd620,\n\t0x3d23c: 0x6e2fd820, 0x3d23d: 0x6e370820, 0x3d23e: 0x6e370a20, 0x3d23f: 0x6e370c20,\n\t// Block 0xf49, offset 0x3d240\n\t0x3d240: 0x6e370e20, 0x3d241: 0x6e371020, 0x3d242: 0x6e3be220, 0x3d243: 0x6e3be420,\n\t0x3d244: 0x6e3f8420, 0x3d245: 0x6e43be20, 0x3d246: 0x6e458a20, 0x3d247: 0x6e466220,\n\t0x3d248: 0x6cb74c20, 0x3d249: 0x6cb74e20, 0x3d24a: 0x6cb75020, 0x3d24b: 0x6ce87e20,\n\t0x3d24c: 0x6ce88020, 0x3d24d: 0x6ce88220, 0x3d24e: 0x6d17fc20, 0x3d24f: 0x6d17fe20,\n\t0x3d250: 0x6d180020, 0x3d251: 0x6d180220, 0x3d252: 0x6c8ac220, 0x3d253: 0x6d46dc20,\n\t0x3d254: 0x6d46de20, 0x3d255: 0x6d46e020, 0x3d256: 0x6d46e220, 0x3d257: 0x6d46e420,\n\t0x3d258: 0x6d46e620, 0x3d259: 0x6d743020, 0x3d25a: 0x6d743220, 0x3d25b: 0x6d743420,\n\t0x3d25c: 0x6d9dd620, 0x3d25d: 0x6d9dd820, 0x3d25e: 0x6d9dda20, 0x3d25f: 0x6d9ddc20,\n\t0x3d260: 0x6d9dde20, 0x3d261: 0x6d9de020, 0x3d262: 0x6dc05e20, 0x3d263: 0x6dc06020,\n\t0x3d264: 0x6dc06220, 0x3d265: 0x6dc06420, 0x3d266: 0x6dde3c20, 0x3d267: 0x6df63220,\n\t0x3d268: 0x6df63420, 0x3d269: 0x6e09f420, 0x3d26a: 0x6e09f620, 0x3d26b: 0x6e1a0220,\n\t0x3d26c: 0x6e267620, 0x3d26d: 0x6e2fde20, 0x3d26e: 0x6ce88e20, 0x3d26f: 0x6d74d620,\n\t0x3d270: 0x6d74d820, 0x3d271: 0x6d74da20, 0x3d272: 0x6d74dc20, 0x3d273: 0x6d9eae20,\n\t0x3d274: 0x6d9eb020, 0x3d275: 0x6d9eb220, 0x3d276: 0x6d9eb420, 0x3d277: 0x6d9eb620,\n\t0x3d278: 0x6dc12a20, 0x3d279: 0x6dc12c20, 0x3d27a: 0x6dc12e20, 0x3d27b: 0x6dc13020,\n\t0x3d27c: 0x6ddedc20, 0x3d27d: 0x6ddede20, 0x3d27e: 0x6ddee020, 0x3d27f: 0x6ddee220,\n\t// Block 0xf4a, offset 0x3d280\n\t0x3d280: 0x6ddee420, 0x3d281: 0x6df71e20, 0x3d282: 0x6df72020, 0x3d283: 0x6df72220,\n\t0x3d284: 0x6df72420, 0x3d285: 0x6df72620, 0x3d286: 0x6df72820, 0x3d287: 0x6df72a20,\n\t0x3d288: 0x6df72c20, 0x3d289: 0x6e0acc20, 0x3d28a: 0x6e0ace20, 0x3d28b: 0x6e0ad020,\n\t0x3d28c: 0x6e1aba20, 0x3d28d: 0x6e1abc20, 0x3d28e: 0x6e1abe20, 0x3d28f: 0x6e1ac020,\n\t0x3d290: 0x6e272c20, 0x3d291: 0x6e309e20, 0x3d292: 0x6e30a020, 0x3d293: 0x6e30a220,\n\t0x3d294: 0x6e30a420, 0x3d295: 0x6e30a620, 0x3d296: 0x6e378820, 0x3d297: 0x6e3c3020,\n\t0x3d298: 0x6e3fb820, 0x3d299: 0x6e459e20, 0x3d29a: 0x6c63be20, 0x3d29b: 0x6c63c020,\n\t0x3d29c: 0x6c63c220, 0x3d29d: 0x6c63c420, 0x3d29e: 0x6c63c620, 0x3d29f: 0x6c8ae020,\n\t0x3d2a0: 0x6c8ae220, 0x3d2a1: 0x6c8ae420, 0x3d2a2: 0x6c8ae620, 0x3d2a3: 0x6c8ae820,\n\t0x3d2a4: 0x6c8aea20, 0x3d2a5: 0x6cb77620, 0x3d2a6: 0x6cb77820, 0x3d2a7: 0x6cb77a20,\n\t0x3d2a8: 0x6cb77c20, 0x3d2a9: 0x6cb77e20, 0x3d2aa: 0x6cb78020, 0x3d2ab: 0x6ce8a620,\n\t0x3d2ac: 0x6ce8a820, 0x3d2ad: 0x6ce8aa20, 0x3d2ae: 0x6ce8ac20, 0x3d2af: 0x6ce8ae20,\n\t0x3d2b0: 0x6d184a20, 0x3d2b1: 0x6d184c20, 0x3d2b2: 0x6d184e20, 0x3d2b3: 0x6d185020,\n\t0x3d2b4: 0x6d185220, 0x3d2b5: 0x6d185420, 0x3d2b6: 0x6d473820, 0x3d2b7: 0x6d473a20,\n\t0x3d2b8: 0x6d473c20, 0x3d2b9: 0x6d473e20, 0x3d2ba: 0x6d474020, 0x3d2bb: 0x6d474220,\n\t0x3d2bc: 0x6d474420, 0x3d2bd: 0x6d74fa20, 0x3d2be: 0x6d74fc20, 0x3d2bf: 0x6d9ec220,\n\t// Block 0xf4b, offset 0x3d2c0\n\t0x3d2c0: 0x6d9ec420, 0x3d2c1: 0x6d9ec620, 0x3d2c2: 0x6d9ec820, 0x3d2c3: 0x6dc14020,\n\t0x3d2c4: 0x6dc14220, 0x3d2c5: 0x6ddeee20, 0x3d2c6: 0x6df73420, 0x3d2c7: 0x6dc14620,\n\t0x3d2c8: 0x6ddef820, 0x3d2c9: 0x6e0aea20, 0x3d2ca: 0x6d9eda20, 0x3d2cb: 0x6d186020,\n\t0x3d2cc: 0x6d752e20, 0x3d2cd: 0x6dc16c20, 0x3d2ce: 0x6ddf2620, 0x3d2cf: 0x6e30c620,\n\t0x3d2d0: 0x6df79820, 0x3d2d1: 0x6cb79220, 0x3d2d2: 0x6ce8b220, 0x3d2d3: 0x6d476220,\n\t0x3d2d4: 0x6d756020, 0x3d2d5: 0x6dc18a20, 0x3d2d6: 0x6dc19220, 0x3d2d7: 0x6df7a220,\n\t0x3d2d8: 0x6d757c20, 0x3d2d9: 0x6e0b8620, 0x3d2da: 0x6e0b8820, 0x3d2db: 0x6e1b5e20,\n\t0x3d2dc: 0x6d9f7420, 0x3d2dd: 0x6df7f420, 0x3d2de: 0x6e3c7820, 0x3d2df: 0x6dc1f620,\n\t0x3d2e0: 0x6d75ac20, 0x3d2e1: 0x6e27c420, 0x3d2e2: 0x6d477e20, 0x3d2e3: 0x6e3c9020,\n\t0x3d2e4: 0x6ddfea20, 0x3d2e5: 0x6e1bde20, 0x3d2e6: 0x6e283420, 0x3d2e7: 0x6e427220,\n\t0x3d2e8: 0x6ce8c620, 0x3d2e9: 0x6d478c20, 0x3d2ea: 0x6d478e20, 0x3d2eb: 0x6d75be20,\n\t0x3d2ec: 0x6d9f9620, 0x3d2ed: 0x6d9f9820, 0x3d2ee: 0x6dc24020, 0x3d2ef: 0x6ddffe20,\n\t0x3d2f0: 0x6e1be020, 0x3d2f1: 0x6e318020, 0x3d2f2: 0x6d75c020, 0x3d2f3: 0x6ce8c820,\n\t0x3d2f4: 0x6e451220,\n\t// Block 0xf4c, offset 0x3d300\n\t0x3d300: 0x6c00f420, 0x3d301: 0x6c0ae820, 0x3d302: 0x6c15fe20, 0x3d303: 0x6d189620,\n\t0x3d304: 0x6c011820, 0x3d305: 0x6c0b6620, 0x3d306: 0x6c060c20, 0x3d307: 0x6c2a2820,\n\t0x3d308: 0x6c2a2a20, 0x3d309: 0x6c656c20, 0x3d30a: 0x6c8c6420, 0x3d30b: 0x6ce9e020,\n\t0x3d30c: 0x6c446a20, 0x3d30d: 0x6c448e20, 0x3d30e: 0x6c44d020, 0x3d30f: 0x6c8cbc20,\n\t0x3d310: 0x6c454c20, 0x3d311: 0x6ceac020, 0x3d312: 0x6c18be20, 0x3d313: 0x6c2bd220,\n\t0x3d314: 0x6c45cc20, 0x3d315: 0x6c190220, 0x3d316: 0x6c676c20, 0x3d317: 0x6c676e20,\n\t0x3d318: 0x6c0e9420, 0x3d319: 0x6c47da20, 0x3d31a: 0x6d1cea20, 0x3d31b: 0x6d4ab420,\n\t0x3d31c: 0x6da17c20, 0x3d31d: 0x6dc3da20, 0x3d31e: 0x6e1c7220, 0x3d31f: 0x6cbd8420,\n\t0x3d320: 0x6d1df020, 0x3d321: 0x6d78fe20, 0x3d322: 0x6c0f2a20, 0x3d323: 0x6c1b8820,\n\t0x3d324: 0x6c6ae820, 0x3d325: 0x6d793620, 0x3d326: 0x6c1c6020, 0x3d327: 0x6c4a1620,\n\t0x3d328: 0x6c4a1820, 0x3d329: 0x6c6bd620, 0x3d32a: 0x6c6bd820, 0x3d32b: 0x6c6bda20,\n\t0x3d32c: 0x6cbf4020, 0x3d32d: 0x6d1f2620, 0x3d32e: 0x6d4cb420, 0x3d32f: 0x6d4cc620,\n\t0x3d330: 0x6d1faa20, 0x3d331: 0x6d4d2020, 0x3d332: 0x6c102620, 0x3d333: 0x6c109020,\n\t0x3d334: 0x6c4bca20, 0x3d335: 0x6c6de020, 0x3d336: 0x6c964c20, 0x3d337: 0x6c964e20,\n\t0x3d338: 0x6c4d3a20, 0x3d339: 0x6c1ffa20, 0x3d33a: 0x6c352c20, 0x3d33b: 0x6c502820,\n\t0x3d33c: 0x6cc66a20, 0x3d33d: 0x6cf51a20, 0x3d33e: 0x6d24e420, 0x3d33f: 0x6dc6b420,\n\t// Block 0xf4d, offset 0x3d340\n\t0x3d340: 0x6c9b6c20, 0x3d341: 0x6cf5cc20, 0x3d342: 0x6c515820, 0x3d343: 0x6c515a20,\n\t0x3d344: 0x6c738a20, 0x3d345: 0x6c73bc20, 0x3d346: 0x6cc88020, 0x3d347: 0x6cc88220,\n\t0x3d348: 0x6c376220, 0x3d349: 0x6c754420, 0x3d34a: 0x6c754620, 0x3d34b: 0x6d27fc20,\n\t0x3d34c: 0x6d27fe20, 0x3d34d: 0x6d554c20, 0x3d34e: 0x6d554e20, 0x3d34f: 0x6d555020,\n\t0x3d350: 0x6d80ce20, 0x3d351: 0x6da6f020, 0x3d352: 0x6dc84a20, 0x3d353: 0x6cf92020,\n\t0x3d354: 0x6d55c820, 0x3d355: 0x6c098820, 0x3d356: 0x6c12e820, 0x3d357: 0x6c77e820,\n\t0x3d358: 0x6ca0dc20, 0x3d359: 0x6cfbd020, 0x3d35a: 0x6cfbd220, 0x3d35b: 0x6cfbd420,\n\t0x3d35c: 0x6d580820, 0x3d35d: 0x6d82fa20, 0x3d35e: 0x6de56e20, 0x3d35f: 0x6c78c820,\n\t0x3d360: 0x6ca1ca20, 0x3d361: 0x6d2bd820, 0x3d362: 0x6c569420, 0x3d363: 0x6c3b3620,\n\t0x3d364: 0x6ca2d420, 0x3d365: 0x6c3baa20, 0x3d366: 0x6c7a7020, 0x3d367: 0x6cd15e20,\n\t0x3d368: 0x6d2d8420, 0x3d369: 0x6d5ab020, 0x3d36a: 0x6c580820, 0x3d36b: 0x6ca41820,\n\t0x3d36c: 0x6c7ba220, 0x3d36d: 0x6d5bd620, 0x3d36e: 0x6c7bd220, 0x3d36f: 0x6c3c7420,\n\t0x3d370: 0x6c597220, 0x3d371: 0x6d012e20, 0x3d372: 0x6c7cd420, 0x3d373: 0x6ca59020,\n\t0x3d374: 0x6c7e2c20, 0x3d375: 0x6ca6f220, 0x3d376: 0x6d883020, 0x3d377: 0x6ca77620,\n\t0x3d378: 0x6d042820, 0x3d379: 0x6c258820, 0x3d37a: 0x6e1f7c20, 0x3d37b: 0x6c259220,\n\t0x3d37c: 0x6ca7e620, 0x3d37d: 0x6d5fe820, 0x3d37e: 0x6d5fea20, 0x3d37f: 0x6d5fec20,\n\t// Block 0xf4e, offset 0x3d380\n\t0x3d380: 0x6daf1e20, 0x3d381: 0x6d617a20, 0x3d382: 0x6dcf7a20, 0x3d383: 0x6c5cc220,\n\t0x3d384: 0x6c80c220, 0x3d385: 0x6ca9e020, 0x3d386: 0x6cd85020, 0x3d387: 0x6daff220,\n\t0x3d388: 0x6c5d0a20, 0x3d389: 0x6c3e5a20, 0x3d38a: 0x6d36e220, 0x3d38b: 0x6cdaaa20,\n\t0x3d38c: 0x6c5f8e20, 0x3d38d: 0x6c5f9020, 0x3d38e: 0x6c84c220, 0x3d38f: 0x6cae1620,\n\t0x3d390: 0x6cae1820, 0x3d391: 0x6cae1a20, 0x3d392: 0x6d0bb420, 0x3d393: 0x6d0bb620,\n\t0x3d394: 0x6d39b620, 0x3d395: 0x6d65ee20, 0x3d396: 0x6d8fc220, 0x3d397: 0x6e01da20,\n\t0x3d398: 0x6d675620, 0x3d399: 0x6db4d820, 0x3d39a: 0x6cdef620, 0x3d39b: 0x6cdf0620,\n\t0x3d39c: 0x6e2c3a20, 0x3d39d: 0x6e221220, 0x3d39e: 0x6c14fe20, 0x3d39f: 0x6c26e420,\n\t0x3d3a0: 0x6c86c020, 0x3d3a1: 0x6c86c220, 0x3d3a2: 0x6ce04620, 0x3d3a3: 0x6def6620,\n\t0x3d3a4: 0x6c616420, 0x3d3a5: 0x6d3f6620, 0x3d3a6: 0x6db89c20, 0x3d3a7: 0x6c0a8a20,\n\t0x3d3a8: 0x6ce3ba20, 0x3d3a9: 0x6ce3bc20, 0x3d3aa: 0x6d95f820, 0x3d3ab: 0x6c27ea20,\n\t0x3d3ac: 0x6c88e820, 0x3d3ad: 0x6cb47220, 0x3d3ae: 0x6d12ba20, 0x3d3af: 0x6c626020,\n\t0x3d3b0: 0x6d41bc20, 0x3d3b1: 0x6dd8f820, 0x3d3b2: 0x6c27fe20, 0x3d3b3: 0x6c41fc20,\n\t0x3d3b4: 0x6c62a620, 0x3d3b5: 0x6c62a820, 0x3d3b6: 0x6c898020, 0x3d3b7: 0x6c898220,\n\t0x3d3b8: 0x6cb58020, 0x3d3b9: 0x6cb58220, 0x3d3ba: 0x6cb58420, 0x3d3bb: 0x6cb58620,\n\t0x3d3bc: 0x6ce57020, 0x3d3bd: 0x6d13f420, 0x3d3be: 0x6d41f820, 0x3d3bf: 0x6d41fa20,\n\t// Block 0xf4f, offset 0x3d3c0\n\t0x3d3c0: 0x6d6efe20, 0x3d3c1: 0x6df16220, 0x3d3c2: 0x6c420e20, 0x3d3c3: 0x6cb65e20,\n\t0x3d3c4: 0x6d70de20, 0x3d3c5: 0x6d15dc20, 0x3d3c6: 0x6c8a6620, 0x3d3c7: 0x6c428c20,\n\t0x3d3c8: 0x6c635a20, 0x3d3c9: 0x6c8a9220, 0x3d3ca: 0x6c42da20, 0x3d3cb: 0x6d45b620,\n\t0x3d3cc: 0x6d9c3420, 0x3d3cd: 0x6e19f020, 0x3d3ce: 0x6e371220, 0x3d3cf: 0x6ce88420,\n\t0x3d3d0: 0x6d180420, 0x3d3d1: 0x6dc06620, 0x3d3d2: 0x6df63620, 0x3d3d3: 0x6cb75420,\n\t0x3d3d4: 0x6d9eb820, 0x3d3d5: 0x6e272e20, 0x3d3d6: 0x6c63c820, 0x3d3d7: 0x6d750a20,\n\t0x3d3d8: 0x6ddfda20, 0x3d3d9: 0x6df85820, 0x3d3da: 0x6d188a20, 0x3d3db: 0x6e383e20,\n\t0x3d3dc: 0x6d9f9a20, 0x3d3dd: 0x6e441c20,\n\t// Block 0xf50, offset 0x3d400\n\t0x3d400: 0x6c15ea20, 0x3d401: 0x6c00fe20, 0x3d402: 0x6c000c20, 0x3d403: 0x6c0b4420,\n\t0x3d404: 0x6c16ba20, 0x3d405: 0x6c435e20, 0x3d406: 0x6c437820, 0x3d407: 0x6c645620,\n\t0x3d408: 0x6c8bba20, 0x3d409: 0x6cb81c20, 0x3d40a: 0x6d18fe20, 0x3d40b: 0x6d18ce20,\n\t0x3d40c: 0x6d9fac20, 0x3d40d: 0x6c0ccc20, 0x3d40e: 0x6c173820, 0x3d40f: 0x6c2a3220,\n\t0x3d410: 0x6e0c6420, 0x3d411: 0x6c2a5220, 0x3d412: 0x6c8c8020, 0x3d413: 0x6df89620,\n\t0x3d414: 0x6c02ce20, 0x3d415: 0x6c0c7820, 0x3d416: 0x6c0c7c20, 0x3d417: 0x6c02fe20,\n\t0x3d418: 0x6c65aa20, 0x3d419: 0x6c02ae20, 0x3d41a: 0x6c064a20, 0x3d41b: 0x6c179020,\n\t0x3d41c: 0x6dbc5420, 0x3d41d: 0x6c009a20, 0x3d41e: 0x6c015a20, 0x3d41f: 0x6c17da20,\n\t0x3d420: 0x6c2ae220, 0x3d421: 0x6c2b4a20, 0x3d422: 0x6cb95220, 0x3d423: 0x6cea4020,\n\t0x3d424: 0x6c0d3c20, 0x3d425: 0x6c455c20, 0x3d426: 0x6c456020, 0x3d427: 0x6cea9c20,\n\t0x3d428: 0x6c016420, 0x3d429: 0x6c06b820, 0x3d42a: 0x6c06ba20, 0x3d42b: 0x6c06c620,\n\t0x3d42c: 0x6c06d220, 0x3d42d: 0x6c2bac20, 0x3d42e: 0x6cb9f220, 0x3d42f: 0x6c18d420,\n\t0x3d430: 0x6c45e820, 0x3d431: 0x6c673020, 0x3d432: 0x6c673020, 0x3d433: 0x6c673020,\n\t0x3d434: 0x6c038e20, 0x3d435: 0x6c135e20, 0x3d436: 0x6c03a020, 0x3d437: 0x6c677e20,\n\t0x3d438: 0x6c8e0c20, 0x3d439: 0x6c074420, 0x3d43a: 0x6c075020, 0x3d43b: 0x6c0e3020,\n\t0x3d43c: 0x6c468620, 0x3d43d: 0x6c197e20, 0x3d43e: 0x6c199e20, 0x3d43f: 0x6c2c7e20,\n\t// Block 0xf51, offset 0x3d440\n\t0x3d440: 0x6c468e20, 0x3d441: 0x6c67e620, 0x3d442: 0x6c681820, 0x3d443: 0x6c8e9620,\n\t0x3d444: 0x6c8eb220, 0x3d445: 0x6cbaaa20, 0x3d446: 0x6cbaaa20, 0x3d447: 0x6cbad220,\n\t0x3d448: 0x6cbaf620, 0x3d449: 0x6cbb0620, 0x3d44a: 0x6ceb7620, 0x3d44b: 0x6d1cf220,\n\t0x3d44c: 0x6d1b7220, 0x3d44d: 0x6d1cf420, 0x3d44e: 0x6d1bb220, 0x3d44f: 0x6d49c620,\n\t0x3d450: 0x6c032820, 0x3d451: 0x6c0f0e20, 0x3d452: 0x6c486820, 0x3d453: 0x6c908220,\n\t0x3d454: 0x6c90b420, 0x3d455: 0x6c481220, 0x3d456: 0x6c6a6e20, 0x3d457: 0x6cbcb020,\n\t0x3d458: 0x6d4af820, 0x3d459: 0x6de13e20, 0x3d45a: 0x6c1b6c20, 0x3d45b: 0x6c916220,\n\t0x3d45c: 0x6c1b7420, 0x3d45d: 0x6c0f1e20, 0x3d45e: 0x6d1e1020, 0x3d45f: 0x6c91d420,\n\t0x3d460: 0x6c080620, 0x3d461: 0x6c2f9020, 0x3d462: 0x6c6b1820, 0x3d463: 0x6c6b3c20,\n\t0x3d464: 0x6c6b5420, 0x3d465: 0x6c495620, 0x3d466: 0x6c924e20, 0x3d467: 0x6cbdf220,\n\t0x3d468: 0x6cbe0e20, 0x3d469: 0x6d4c1220, 0x3d46a: 0x6de16420, 0x3d46b: 0x6de16420,\n\t0x3d46c: 0x6c0fdc20, 0x3d46d: 0x6c933820, 0x3d46e: 0x6cefa820, 0x3d46f: 0x6d1f5620,\n\t0x3d470: 0x6de19a20, 0x3d471: 0x6e3d2020, 0x3d472: 0x6c1cc220, 0x3d473: 0x6c4a9220,\n\t0x3d474: 0x6c114a20, 0x3d475: 0x6c01ac20, 0x3d476: 0x6c4abc20, 0x3d477: 0x6c941020,\n\t0x3d478: 0x6c01b620, 0x3d479: 0x6c311420, 0x3d47a: 0x6c1dd220, 0x3d47b: 0x6c6d7820,\n\t0x3d47c: 0x6cc0a820, 0x3d47d: 0x6c6d7c20, 0x3d47e: 0x6cf09a20, 0x3d47f: 0x6cc16a20,\n\t// Block 0xf52, offset 0x3d480\n\t0x3d480: 0x6d202220, 0x3d481: 0x6c272c20, 0x3d482: 0x6c954a20, 0x3d483: 0x6c08a020,\n\t0x3d484: 0x6cc17820, 0x3d485: 0x6c6e0020, 0x3d486: 0x6cc19820, 0x3d487: 0x6d4ea820,\n\t0x3d488: 0x6d7ae820, 0x3d489: 0x6e320a20, 0x3d48a: 0x6c4c6820, 0x3d48b: 0x6c4cac20,\n\t0x3d48c: 0x6c95e620, 0x3d48d: 0x6c95ec20, 0x3d48e: 0x6cc21820, 0x3d48f: 0x6d476820,\n\t0x3d490: 0x6c01d820, 0x3d491: 0x6c111220, 0x3d492: 0x6c111220, 0x3d493: 0x6c82fe20,\n\t0x3d494: 0x6c326a20, 0x3d495: 0x6c326a20, 0x3d496: 0x6c329a20, 0x3d497: 0x6d7ea620,\n\t0x3d498: 0x6e201a20, 0x3d499: 0x6c1ee020, 0x3d49a: 0x6c96ae20, 0x3d49b: 0x6c6f1420,\n\t0x3d49c: 0x6cc2ca20, 0x3d49d: 0x6c1f2220, 0x3d49e: 0x6c1f2c20, 0x3d49f: 0x6c1f6c20,\n\t0x3d4a0: 0x6c6fa220, 0x3d4a1: 0x6c4dbe20, 0x3d4a2: 0x6c4da620, 0x3d4a3: 0x6c6fc020,\n\t0x3d4a4: 0x6c97fe20, 0x3d4a5: 0x6c97a020, 0x3d4a6: 0x6d222420, 0x3d4a7: 0x6cf2ac20,\n\t0x3d4a8: 0x6cf2b020, 0x3d4a9: 0x6cf2ac20, 0x3d4aa: 0x6d226c20, 0x3d4ab: 0x6d4fb820,\n\t0x3d4ac: 0x6d7bcc20, 0x3d4ad: 0x6d4fd820, 0x3d4ae: 0x6d4fe820, 0x3d4af: 0x6da3f620,\n\t0x3d4b0: 0x6de28220, 0x3d4b1: 0x6de28c20, 0x3d4b2: 0x6c11c220, 0x3d4b3: 0x6c98ba20,\n\t0x3d4b4: 0x6c11e820, 0x3d4b5: 0x6c345020, 0x3d4b6: 0x6c349420, 0x3d4b7: 0x6c713820,\n\t0x3d4b8: 0x6c4fd020, 0x3d4b9: 0x6c711220, 0x3d4ba: 0x6c4f3420, 0x3d4bb: 0x6c990c20,\n\t0x3d4bc: 0x6c994220, 0x3d4bd: 0x6c722020, 0x3d4be: 0x6cc57a20, 0x3d4bf: 0x6cf41220,\n\t// Block 0xf53, offset 0x3d4c0\n\t0x3d4c0: 0x6cf51c20, 0x3d4c1: 0x6c998820, 0x3d4c2: 0x6d237420, 0x3d4c3: 0x6d510220,\n\t0x3d4c4: 0x6d23ee20, 0x3d4c5: 0x6d515a20, 0x3d4c6: 0x6d23e220, 0x3d4c7: 0x6de2ea20,\n\t0x3d4c8: 0x6c9ab020, 0x3d4c9: 0x6cf53820, 0x3d4ca: 0x6da53020, 0x3d4cb: 0x6c9b6e20,\n\t0x3d4cc: 0x6c739020, 0x3d4cd: 0x6c731620, 0x3d4ce: 0x6d7e3620, 0x3d4cf: 0x6cc7b820,\n\t0x3d4d0: 0x6cf5e620, 0x3d4d1: 0x6c50c220, 0x3d4d2: 0x6c448820, 0x3d4d3: 0x6c8c8820,\n\t0x3d4d4: 0x6cb8f420, 0x3d4d5: 0x6d258220, 0x3d4d6: 0x6c3e9420, 0x3d4d7: 0x6c3e7220,\n\t0x3d4d8: 0x6c73be20, 0x3d4d9: 0x6c9c2220, 0x3d4da: 0x6cf69620, 0x3d4db: 0x6c21ee20,\n\t0x3d4dc: 0x6c21d820, 0x3d4dd: 0x6c220c20, 0x3d4de: 0x6c365c20, 0x3d4df: 0x6c522420,\n\t0x3d4e0: 0x6c36a020, 0x3d4e1: 0x6c52c020, 0x3d4e2: 0x6c9c8820, 0x3d4e3: 0x6c750620,\n\t0x3d4e4: 0x6c9c9a20, 0x3d4e5: 0x6c740020, 0x3d4e6: 0x6cc95020, 0x3d4e7: 0x6cf6d620,\n\t0x3d4e8: 0x6cf70820, 0x3d4e9: 0x6d267820, 0x3d4ea: 0x6d53d620, 0x3d4eb: 0x6da63220,\n\t0x3d4ec: 0x6d801420, 0x3d4ed: 0x6da6f220, 0x3d4ee: 0x6e1db420, 0x3d4ef: 0x6c12b420,\n\t0x3d4f0: 0x6c756020, 0x3d4f1: 0x6d80d420, 0x3d4f2: 0x6e38d620, 0x3d4f3: 0x6cf90820,\n\t0x3d4f4: 0x6d285c20, 0x3d4f5: 0x6c9e2620, 0x3d4f6: 0x6c9e2820, 0x3d4f7: 0x6c9e2e20,\n\t0x3d4f8: 0x6c30b220, 0x3d4f9: 0x6d288c20, 0x3d4fa: 0x6c130620, 0x3d4fb: 0x6c393420,\n\t0x3d4fc: 0x6c38ac20, 0x3d4fd: 0x6c38c620, 0x3d4fe: 0x6c22c020, 0x3d4ff: 0x6c767220,\n\t// Block 0xf54, offset 0x3d500\n\t0x3d500: 0x6c546820, 0x3d501: 0x6c76b620, 0x3d502: 0x6c546e20, 0x3d503: 0x6c769a20,\n\t0x3d504: 0x6c76b820, 0x3d505: 0x6c76d220, 0x3d506: 0x6c771820, 0x3d507: 0x6c545420,\n\t0x3d508: 0x6ccc3a20, 0x3d509: 0x6cccb620, 0x3d50a: 0x6cfa0020, 0x3d50b: 0x6cccf220,\n\t0x3d50c: 0x6cfa8620, 0x3d50d: 0x6d29d220, 0x3d50e: 0x6c9f8020, 0x3d50f: 0x6d568820,\n\t0x3d510: 0x6d571a20, 0x3d511: 0x6d577a20, 0x3d512: 0x6d580a20, 0x3d513: 0x6dfbe420,\n\t0x3d514: 0x6de4d620, 0x3d515: 0x6de4d020, 0x3d516: 0x6e0f0220, 0x3d517: 0x6e0f1420,\n\t0x3d518: 0x6c23a220, 0x3d519: 0x6c239620, 0x3d51a: 0x6c554420, 0x3d51b: 0x6cb8ea20,\n\t0x3d51c: 0x6cfc0420, 0x3d51d: 0x6cce4a20, 0x3d51e: 0x6d582220, 0x3d51f: 0x6d838420,\n\t0x3d520: 0x6e443420, 0x3d521: 0x6da93020, 0x3d522: 0x6cfd5420, 0x3d523: 0x6c790420,\n\t0x3d524: 0x6ccf7820, 0x3d525: 0x6d2c1c20, 0x3d526: 0x6c243420, 0x3d527: 0x6cfdfc20,\n\t0x3d528: 0x6de60820, 0x3d529: 0x6c04fa20, 0x3d52a: 0x6c246c20, 0x3d52b: 0x6c3b5620,\n\t0x3d52c: 0x6c79bc20, 0x3d52d: 0x6c79bc20, 0x3d52e: 0x6cfe7820, 0x3d52f: 0x6cfea220,\n\t0x3d530: 0x6d2d0620, 0x3d531: 0x6d5a3420, 0x3d532: 0x6de63620, 0x3d533: 0x6c57d820,\n\t0x3d534: 0x6cd1a420, 0x3d535: 0x6c585a20, 0x3d536: 0x6c3be620, 0x3d537: 0x6cffb820,\n\t0x3d538: 0x6ca3e620, 0x3d539: 0x6cf15e20, 0x3d53a: 0x6d00b220, 0x3d53b: 0x6dab0a20,\n\t0x3d53c: 0x6e104820, 0x3d53d: 0x6c3c7020, 0x3d53e: 0x6c594e20, 0x3d53f: 0x6d868020,\n\t// Block 0xf55, offset 0x3d540\n\t0x3d540: 0x6c3c8820, 0x3d541: 0x6c3c8e20, 0x3d542: 0x6c3c8c20, 0x3d543: 0x6c59e420,\n\t0x3d544: 0x6c7c7e20, 0x3d545: 0x6c7c5e20, 0x3d546: 0x6c7c6020, 0x3d547: 0x6c7c6020,\n\t0x3d548: 0x6cd36020, 0x3d549: 0x6cd34020, 0x3d54a: 0x6d5c4620, 0x3d54b: 0x6d013a20,\n\t0x3d54c: 0x6c13ee20, 0x3d54d: 0x6c3cd620, 0x3d54e: 0x6ca5f620, 0x3d54f: 0x6d027820,\n\t0x3d550: 0x6d5d2820, 0x3d551: 0x6dac1020, 0x3d552: 0x6c3d1e20, 0x3d553: 0x6c7dd220,\n\t0x3d554: 0x6cd4fa20, 0x3d555: 0x6d30e620, 0x3d556: 0x6d30ce20, 0x3d557: 0x6c7e5e20,\n\t0x3d558: 0x6c5b3020, 0x3d559: 0x6d5e0420, 0x3d55a: 0x6d314e20, 0x3d55b: 0x6d885420,\n\t0x3d55c: 0x6cd5c620, 0x3d55d: 0x6d5eba20, 0x3d55e: 0x6d5eba20, 0x3d55f: 0x6d322e20,\n\t0x3d560: 0x6d323420, 0x3d561: 0x6d32de20, 0x3d562: 0x6d5f3420, 0x3d563: 0x6d894a20,\n\t0x3d564: 0x6d5efe20, 0x3d565: 0x6dae2820, 0x3d566: 0x6d8a5e20, 0x3d567: 0x6daece20,\n\t0x3d568: 0x6daee820, 0x3d569: 0x6dce7220, 0x3d56a: 0x6c5c6620, 0x3d56b: 0x6c3dc620,\n\t0x3d56c: 0x6cd78420, 0x3d56d: 0x6d608020, 0x3d56e: 0x6d342620, 0x3d56f: 0x6d60e220,\n\t0x3d570: 0x6daf6c20, 0x3d571: 0x6e399620, 0x3d572: 0x6c80d020, 0x3d573: 0x6d619e20,\n\t0x3d574: 0x6cd86420, 0x3d575: 0x6d073a20, 0x3d576: 0x6d8bc020, 0x3d577: 0x6e33b420,\n\t0x3d578: 0x6caa3220, 0x3d579: 0x6dcfe420, 0x3d57a: 0x6c3e3620, 0x3d57b: 0x6d624620,\n\t0x3d57c: 0x6dd02420, 0x3d57d: 0x6cd91e20, 0x3d57e: 0x6d628a20, 0x3d57f: 0x6db0a220,\n\t// Block 0xf56, offset 0x3d580\n\t0x3d580: 0x6c21a420, 0x3d581: 0x6c3e6a20, 0x3d582: 0x6c3e9e20, 0x3d583: 0x6c823c20,\n\t0x3d584: 0x6cd97a20, 0x3d585: 0x6cd98820, 0x3d586: 0x6ceed220, 0x3d587: 0x6d367820,\n\t0x3d588: 0x6d369420, 0x3d589: 0x6d538a20, 0x3d58a: 0x6da5b220, 0x3d58b: 0x6c82fe20,\n\t0x3d58c: 0x6cda9c20, 0x3d58d: 0x6d114c20, 0x3d58e: 0x6cdac220, 0x3d58f: 0x6c265420,\n\t0x3d590: 0x6c264820, 0x3d591: 0x6c3f5620, 0x3d592: 0x6c185020, 0x3d593: 0x6c3f7e20,\n\t0x3d594: 0x6c3f8220, 0x3d595: 0x6c3f9420, 0x3d596: 0x6c5eb620, 0x3d597: 0x6c5f1c20,\n\t0x3d598: 0x6c5eb420, 0x3d599: 0x6cac7420, 0x3d59a: 0x6c840620, 0x3d59b: 0x6cae1e20,\n\t0x3d59c: 0x6cac7620, 0x3d59d: 0x6cad0c20, 0x3d59e: 0x6cdb6e20, 0x3d59f: 0x6cdbee20,\n\t0x3d5a0: 0x6c84c420, 0x3d5a1: 0x6cdb3620, 0x3d5a2: 0x6cdb3a20, 0x3d5a3: 0x6cdb5820,\n\t0x3d5a4: 0x6cdc0c20, 0x3d5a5: 0x6d386a20, 0x3d5a6: 0x6d0a7820, 0x3d5a7: 0x6db1fa20,\n\t0x3d5a8: 0x6d0bbc20, 0x3d5a9: 0x6d642820, 0x3d5aa: 0x6d646c20, 0x3d5ab: 0x6d90ac20,\n\t0x3d5ac: 0x6d8e4820, 0x3d5ad: 0x6db27620, 0x3d5ae: 0x6e006820, 0x3d5af: 0x6e128020,\n\t0x3d5b0: 0x6dd1a220, 0x3d5b1: 0x6e12c220, 0x3d5b2: 0x6e20a820, 0x3d5b3: 0x6c5f9620,\n\t0x3d5b4: 0x6d0bc020, 0x3d5b5: 0x6db39a20, 0x3d5b6: 0x6dd29a20, 0x3d5b7: 0x6c852c20,\n\t0x3d5b8: 0x6cdd7820, 0x3d5b9: 0x6d0c2420, 0x3d5ba: 0x6cdd9c20, 0x3d5bb: 0x6d900a20,\n\t0x3d5bc: 0x6d3a1c20, 0x3d5bd: 0x6d3b0e20, 0x3d5be: 0x6d901420, 0x3d5bf: 0x6d8ffa20,\n\t// Block 0xf57, offset 0x3d5c0\n\t0x3d5c0: 0x6d668a20, 0x3d5c1: 0x6debe220, 0x3d5c2: 0x6debf020, 0x3d5c3: 0x6d912820,\n\t0x3d5c4: 0x6c14d220, 0x3d5c5: 0x6cafa620, 0x3d5c6: 0x6cdeaa20, 0x3d5c7: 0x6d0d0620,\n\t0x3d5c8: 0x6d3b2c20, 0x3d5c9: 0x6d3b6e20, 0x3d5ca: 0x6c8c8420, 0x3d5cb: 0x6e430c20,\n\t0x3d5cc: 0x6c867c20, 0x3d5cd: 0x6cb06c20, 0x3d5ce: 0x6cdf6620, 0x3d5cf: 0x6d0e4620,\n\t0x3d5d0: 0x6d925c20, 0x3d5d1: 0x6e2c4c20, 0x3d5d2: 0x6c26ec20, 0x3d5d3: 0x6cb18c20,\n\t0x3d5d4: 0x6cb1a420, 0x3d5d5: 0x6ce0de20, 0x3d5d6: 0x6e34b020, 0x3d5d7: 0x6c873020,\n\t0x3d5d8: 0x6d93fa20, 0x3d5d9: 0x6d76c820, 0x3d5da: 0x6ce1c620, 0x3d5db: 0x6d101620,\n\t0x3d5dc: 0x6d103a20, 0x3d5dd: 0x6c458420, 0x3d5de: 0x6c879a20, 0x3d5df: 0x6d951e20,\n\t0x3d5e0: 0x6d6cc620, 0x3d5e1: 0x6d95c220, 0x3d5e2: 0x6c153c20, 0x3d5e3: 0x6c625420,\n\t0x3d5e4: 0x6d121420, 0x3d5e5: 0x6cb46620, 0x3d5e6: 0x6d401a20, 0x3d5e7: 0x6d12da20,\n\t0x3d5e8: 0x6d6e0a20, 0x3d5e9: 0x6d6e0c20, 0x3d5ea: 0x6d41c020, 0x3d5eb: 0x6df0d620,\n\t0x3d5ec: 0x6e04bc20, 0x3d5ed: 0x6e3ac220, 0x3d5ee: 0x6ce59420, 0x3d5ef: 0x6d420c20,\n\t0x3d5f0: 0x6dbb3420, 0x3d5f1: 0x6dbb7220, 0x3d5f2: 0x6d6f8c20, 0x3d5f3: 0x6ce69420,\n\t0x3d5f4: 0x6d7a8620, 0x3d5f5: 0x6dd9cc20, 0x3d5f6: 0x6df20220, 0x3d5f7: 0x6d706220,\n\t0x3d5f8: 0x6dbc7220, 0x3d5f9: 0x6df24220, 0x3d5fa: 0x6e06d620, 0x3d5fb: 0x6df2ca20,\n\t0x3d5fc: 0x6ce74620, 0x3d5fd: 0x6d712e20, 0x3d5fe: 0x6d15fc20, 0x3d5ff: 0x6d15fc20,\n\t// Block 0xf58, offset 0x3d600\n\t0x3d600: 0x6d711820, 0x3d601: 0x6d449820, 0x3d602: 0x6c8a6820, 0x3d603: 0x6d44d220,\n\t0x3d604: 0x6d9b2620, 0x3d605: 0x6df3ee20, 0x3d606: 0x6d457020, 0x3d607: 0x6dbe8420,\n\t0x3d608: 0x6d72ba20, 0x3d609: 0x6d9c9020, 0x3d60a: 0x6e08b620, 0x3d60b: 0x6e09e620,\n\t0x3d60c: 0x6d745c20, 0x3d60d: 0x6dc07220, 0x3d60e: 0x6e0a0620, 0x3d60f: 0x6dc13220,\n\t0x3d610: 0x6e0a7420, 0x3d611: 0x6e267a20, 0x3d612: 0x6e1a6a20, 0x3d613: 0x6e421620,\n\t0x3d614: 0x6d751a20, 0x3d615: 0x6cb79420, 0x3d616: 0x6e0b4220, 0x3d617: 0x6ce8be20,\n\t0x3d618: 0x6c42e420, 0x3d619: 0x6e1b6620, 0x3d61a: 0x6d75a020, 0x3d61b: 0x6ddfac20,\n\t0x3d61c: 0x6d478020, 0x3d61d: 0x6e1bc220,\n}\n\n// mainLookup: 16576 entries, 33152 bytes\n// Block 0 is the null block.\nvar mainLookup = [16576]uint16{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0x0e0: 0x1f, 0x0e1: 0x20, 0x0e2: 0x21, 0x0e3: 0x22, 0x0e4: 0x23, 0x0e5: 0x24, 0x0e6: 0x25, 0x0e7: 0x26,\n\t0x0e8: 0x27, 0x0e9: 0x28, 0x0ea: 0x29, 0x0eb: 0x2a, 0x0ec: 0x2b, 0x0ed: 0x2c, 0x0ee: 0x2d, 0x0ef: 0x2e,\n\t0x0f0: 0x2f, 0x0f1: 0x30, 0x0f2: 0x31, 0x0f3: 0x32, 0x0f4: 0x33, 0x0f5: 0x34, 0x0f6: 0x35, 0x0f7: 0x36,\n\t0x0f8: 0x37, 0x0f9: 0x38, 0x0fa: 0x39, 0x0fb: 0x3a, 0x0fc: 0x3b, 0x0fd: 0x3c, 0x0fe: 0x3d, 0x0ff: 0x3e,\n\t// Block 0x4, offset 0x100\n\t0x100: 0x3f, 0x101: 0x40, 0x102: 0x41, 0x103: 0x42, 0x104: 0x43, 0x105: 0x44, 0x106: 0x45, 0x107: 0x46,\n\t0x108: 0x47, 0x109: 0x48, 0x10a: 0x49, 0x10b: 0x4a, 0x10c: 0x4b, 0x10d: 0x4c, 0x10e: 0x4d, 0x10f: 0x4e,\n\t0x110: 0x4f, 0x111: 0x50, 0x112: 0x51, 0x113: 0x52, 0x114: 0x53, 0x115: 0x54, 0x116: 0x55, 0x117: 0x56,\n\t0x118: 0x57, 0x119: 0x58, 0x11a: 0x59, 0x11b: 0x5a, 0x11c: 0x5b, 0x11d: 0x5c, 0x11e: 0x5d, 0x11f: 0x5e,\n\t0x120: 0x5f, 0x121: 0x60, 0x122: 0x61, 0x123: 0x62, 0x124: 0x63, 0x125: 0x64, 0x126: 0x65, 0x127: 0x66,\n\t0x128: 0x67, 0x129: 0x68, 0x12a: 0x69, 0x12c: 0x6a, 0x12d: 0x6b, 0x12e: 0x6c, 0x12f: 0x6d,\n\t0x130: 0x6e, 0x131: 0x6f, 0x133: 0x70, 0x134: 0x71, 0x135: 0x72, 0x136: 0x73, 0x137: 0x74,\n\t0x138: 0x75, 0x139: 0x76, 0x13a: 0x77, 0x13b: 0x78, 0x13c: 0x79, 0x13d: 0x7a, 0x13e: 0x7b, 0x13f: 0x7c,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x7d, 0x141: 0x7e, 0x142: 0x7f, 0x143: 0x80, 0x144: 0x81, 0x145: 0x82, 0x146: 0x83, 0x147: 0x84,\n\t0x148: 0x85, 0x149: 0x86, 0x14a: 0x87, 0x14b: 0x88, 0x14c: 0x89, 0x14d: 0x8a, 0x14e: 0x8b, 0x14f: 0x8c,\n\t0x150: 0x8d, 0x151: 0x8e, 0x152: 0x8f, 0x153: 0x90, 0x154: 0x91, 0x155: 0x92, 0x156: 0x93, 0x157: 0x94,\n\t0x158: 0x95, 0x159: 0x96, 0x15a: 0x97, 0x15b: 0x98, 0x15c: 0x99, 0x15d: 0x9a, 0x15e: 0x9b, 0x15f: 0x9c,\n\t0x160: 0x9d, 0x161: 0x9e, 0x162: 0x9f, 0x163: 0xa0, 0x164: 0xa1, 0x165: 0xa2, 0x166: 0xa3, 0x167: 0xa4,\n\t0x168: 0xa5, 0x169: 0xa6, 0x16a: 0xa7, 0x16b: 0xa8, 0x16c: 0xa9, 0x16d: 0xaa,\n\t0x170: 0xab, 0x171: 0xac, 0x172: 0xad, 0x173: 0xae, 0x174: 0xaf, 0x175: 0xb0, 0x176: 0xb1, 0x177: 0xb2,\n\t0x178: 0xb3, 0x17a: 0xb4, 0x17b: 0xb5, 0x17c: 0xb6, 0x17d: 0xb7, 0x17e: 0xb8, 0x17f: 0xb9,\n\t// Block 0x6, offset 0x180\n\t0x180: 0xba, 0x181: 0xbb, 0x182: 0xbc, 0x183: 0xbd, 0x184: 0xbe, 0x185: 0xbf, 0x186: 0xc0, 0x187: 0xc1,\n\t0x188: 0xc2, 0x189: 0xc3, 0x18a: 0xc4, 0x18b: 0xc5, 0x18c: 0xc6, 0x18d: 0xc7, 0x18e: 0xc8, 0x18f: 0xc9,\n\t// Block 0x7, offset 0x1c0\n\t0x1f7: 0xca,\n\t// Block 0x8, offset 0x200\n\t0x200: 0xcb, 0x201: 0xcc, 0x202: 0xcd, 0x203: 0xce, 0x204: 0xcf, 0x205: 0xd0, 0x206: 0xd1, 0x207: 0xd2,\n\t0x208: 0xd3, 0x209: 0xd4, 0x20a: 0xd5, 0x20b: 0xd6, 0x20c: 0xd7, 0x20d: 0xd8, 0x20e: 0xd9, 0x20f: 0xda,\n\t0x210: 0xdb, 0x211: 0xdc, 0x212: 0xdd, 0x213: 0xde, 0x214: 0xdf, 0x215: 0xe0, 0x216: 0xe1, 0x217: 0xe2,\n\t0x218: 0xe3, 0x219: 0xe4, 0x21a: 0xe5, 0x21b: 0xe6, 0x21c: 0xe7, 0x21d: 0xe8, 0x21e: 0xe9, 0x21f: 0xea,\n\t0x220: 0xeb, 0x221: 0xec, 0x222: 0xed, 0x223: 0xee, 0x224: 0xef, 0x225: 0xf0, 0x226: 0xf1, 0x227: 0xf2,\n\t0x228: 0xf3, 0x229: 0xf4, 0x22a: 0xf5, 0x22b: 0xf6, 0x22c: 0xf7, 0x22f: 0xf8,\n\t// Block 0x9, offset 0x240\n\t0x25e: 0xf9, 0x25f: 0xfa,\n\t// Block 0xa, offset 0x280\n\t0x2a4: 0xfb, 0x2a5: 0xfc, 0x2a6: 0xfd, 0x2a7: 0xfe,\n\t0x2a8: 0xff, 0x2a9: 0x100, 0x2aa: 0x101, 0x2ab: 0x102, 0x2ac: 0x103, 0x2ad: 0x104, 0x2ae: 0x105, 0x2af: 0x106,\n\t0x2b0: 0x107, 0x2b1: 0x108, 0x2b2: 0x109, 0x2b3: 0x10a, 0x2b4: 0x10b, 0x2b5: 0x10c, 0x2b6: 0x10d, 0x2b7: 0x10e,\n\t0x2b8: 0x10f, 0x2b9: 0x110, 0x2ba: 0x111, 0x2bb: 0x112, 0x2bc: 0x113, 0x2bd: 0x114, 0x2be: 0x115, 0x2bf: 0x116,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x117, 0x2c1: 0x118, 0x2c2: 0x119, 0x2c3: 0x11a, 0x2c4: 0x11b, 0x2c5: 0x11c, 0x2c6: 0x11d, 0x2c7: 0x11e,\n\t0x2ca: 0x11f, 0x2cb: 0x120, 0x2cc: 0x121, 0x2cd: 0x122, 0x2ce: 0x123, 0x2cf: 0x124,\n\t0x2d0: 0x125, 0x2d1: 0x126, 0x2d2: 0x127,\n\t0x2e0: 0x128, 0x2e1: 0x129, 0x2e4: 0x12a, 0x2e6: 0x12b,\n\t0x2e8: 0x12c, 0x2e9: 0x12d, 0x2ec: 0x12e, 0x2ed: 0x12f,\n\t0x2f0: 0x130, 0x2f1: 0x131,\n\t0x2f9: 0x132,\n\t// Block 0xc, offset 0x300\n\t0x300: 0x133, 0x301: 0x134, 0x302: 0x135, 0x303: 0x136, 0x304: 0x137, 0x305: 0x138, 0x306: 0x139, 0x307: 0x13a,\n\t0x31a: 0x13b, 0x31b: 0x13c,\n\t// Block 0xd, offset 0x340\n\t0x340: 0x13d, 0x341: 0x13e, 0x342: 0x13f, 0x343: 0x140, 0x344: 0x141, 0x345: 0x142, 0x346: 0x143, 0x347: 0x144,\n\t0x348: 0x145, 0x349: 0x146, 0x34a: 0x147, 0x34b: 0x148, 0x34c: 0x149, 0x34d: 0x14a,\n\t0x350: 0x14b, 0x351: 0x14c,\n\t// Block 0xe, offset 0x380\n\t0x380: 0x14d, 0x381: 0x14e, 0x382: 0x14f, 0x383: 0x150, 0x384: 0x151, 0x385: 0x152, 0x386: 0x153, 0x387: 0x154,\n\t0x388: 0x155, 0x389: 0x156, 0x38a: 0x157, 0x38b: 0x158, 0x38c: 0x159, 0x38d: 0x15a, 0x38e: 0x15b, 0x38f: 0x15c,\n\t0x390: 0x15d,\n\t// Block 0xf, offset 0x3c0\n\t0x3e0: 0x15e, 0x3e1: 0x15f, 0x3e2: 0x160, 0x3e3: 0x161, 0x3e4: 0x162, 0x3e5: 0x163, 0x3e6: 0x164, 0x3e7: 0x165,\n\t0x3e8: 0x166,\n\t0x3fc: 0x167, 0x3fd: 0x168, 0x3fe: 0x169,\n\t// Block 0x10, offset 0x400\n\t0x400: 0x16a,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x16b, 0x441: 0x16c, 0x442: 0x16d, 0x443: 0x16e, 0x444: 0x16f, 0x445: 0x170, 0x446: 0x171, 0x447: 0x172,\n\t0x448: 0x173, 0x449: 0x174, 0x44c: 0x175, 0x44d: 0x176,\n\t0x450: 0x177, 0x451: 0x178, 0x452: 0x179, 0x453: 0x17a, 0x454: 0x17b, 0x455: 0x17c, 0x456: 0x17d, 0x457: 0x17e,\n\t0x458: 0x17f, 0x459: 0x180, 0x45a: 0x181, 0x45b: 0x182, 0x45c: 0x183, 0x45d: 0x184, 0x45e: 0x185, 0x45f: 0x186,\n\t// Block 0x12, offset 0x480\n\t0x4b8: 0x187, 0x4b9: 0x188, 0x4ba: 0x189, 0x4bb: 0x18a,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x18b, 0x4c1: 0x18c, 0x4c2: 0x18d, 0x4c3: 0x18e, 0x4c4: 0x18f, 0x4c5: 0x190, 0x4c6: 0x191, 0x4c7: 0x192,\n\t0x4c8: 0x193, 0x4c9: 0x194, 0x4cc: 0x195, 0x4cd: 0x196, 0x4ce: 0x197, 0x4cf: 0x198,\n\t0x4d0: 0x199, 0x4d1: 0x19a, 0x4d2: 0x19b, 0x4d3: 0x19c, 0x4d4: 0x19d, 0x4d5: 0x19e, 0x4d7: 0x19f,\n\t0x4d8: 0x1a0, 0x4d9: 0x1a1, 0x4da: 0x1a2, 0x4db: 0x1a3, 0x4dc: 0x1a4, 0x4dd: 0x1a5,\n\t// Block 0x14, offset 0x500\n\t0x520: 0x1a6, 0x521: 0x1a7, 0x522: 0x1a8, 0x523: 0x1a9, 0x524: 0x1aa, 0x525: 0x1ab, 0x526: 0x1ac, 0x527: 0x1ad,\n\t0x528: 0x1ae,\n\t// Block 0x15, offset 0x540\n\t0x550: 0x09, 0x551: 0x0a, 0x552: 0x0b, 0x553: 0x0c, 0x556: 0x0d,\n\t0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11,\n\t0x56f: 0x12,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x1af, 0x581: 0x1b0, 0x584: 0x1b0, 0x585: 0x1b0, 0x586: 0x1b0, 0x587: 0x1b1,\n\t// Block 0x17, offset 0x5c0\n\t0x5e0: 0x14,\n\t// Block 0x18, offset 0x600\n\t0x602: 0x01, 0x603: 0x02, 0x604: 0x03, 0x605: 0x04, 0x606: 0x05, 0x607: 0x06,\n\t0x608: 0x07, 0x609: 0x08, 0x60a: 0x09, 0x60b: 0x0a, 0x60c: 0x0b, 0x60d: 0x0c, 0x60e: 0x0d, 0x60f: 0x0e,\n\t0x610: 0x0f, 0x611: 0x10, 0x612: 0x11, 0x613: 0x12, 0x614: 0x13, 0x615: 0x14, 0x616: 0x15, 0x617: 0x16,\n\t0x618: 0x17, 0x619: 0x18, 0x61a: 0x19, 0x61b: 0x1a, 0x61c: 0x1b, 0x61d: 0x1c, 0x61e: 0x1d, 0x61f: 0x1e,\n\t0x620: 0x01, 0x621: 0x02, 0x622: 0x03, 0x623: 0x04, 0x624: 0x05,\n\t0x62a: 0x06, 0x62d: 0x07, 0x62f: 0x08,\n\t0x630: 0x13, 0x633: 0x15,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x3f, 0x641: 0x40, 0x642: 0x41, 0x643: 0x42, 0x644: 0x43, 0x645: 0x44, 0x646: 0x45, 0x647: 0x46,\n\t0x648: 0x47, 0x649: 0x48, 0x64a: 0x49, 0x64b: 0x4a, 0x64c: 0x4b, 0x64d: 0x4c, 0x64e: 0x4d, 0x64f: 0x4e,\n\t0x650: 0x4f, 0x651: 0x50, 0x652: 0x51, 0x653: 0x52, 0x654: 0x53, 0x655: 0x54, 0x656: 0x55, 0x657: 0x56,\n\t0x658: 0x57, 0x659: 0x58, 0x65a: 0x59, 0x65b: 0x5a, 0x65c: 0x5b, 0x65d: 0x5c, 0x65e: 0x5d, 0x65f: 0x5e,\n\t0x660: 0x5f, 0x661: 0x60, 0x662: 0x61, 0x663: 0x62, 0x664: 0x63, 0x665: 0x64, 0x666: 0x65, 0x667: 0x66,\n\t0x668: 0x67, 0x669: 0x68, 0x66a: 0x69, 0x66c: 0x6a, 0x66d: 0x6b, 0x66e: 0x6c, 0x66f: 0x6d,\n\t0x670: 0x6e, 0x671: 0x6f, 0x673: 0x70, 0x674: 0x71, 0x675: 0x72, 0x676: 0x73, 0x677: 0x74,\n\t0x678: 0x1ba, 0x679: 0x1bb, 0x67a: 0x1bc, 0x67b: 0x1bd, 0x67c: 0x79, 0x67d: 0x7a, 0x67e: 0x7b, 0x67f: 0x7c,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x7d, 0x681: 0x7e, 0x682: 0x7f, 0x683: 0x80, 0x684: 0x1be, 0x685: 0x1bf, 0x686: 0x83, 0x687: 0x84,\n\t0x688: 0x85, 0x689: 0x86, 0x68a: 0x87, 0x68b: 0x88, 0x68c: 0x89, 0x68d: 0x8a, 0x68e: 0x8b, 0x68f: 0x8c,\n\t0x690: 0x8d, 0x691: 0x8e, 0x692: 0x1c0, 0x693: 0x90, 0x694: 0x91, 0x695: 0x92, 0x696: 0x93, 0x697: 0x94,\n\t0x698: 0x95, 0x699: 0x96, 0x69a: 0x97, 0x69b: 0x98, 0x69c: 0x99, 0x69d: 0x9a, 0x69e: 0x9b, 0x69f: 0x9c,\n\t0x6a0: 0x9d, 0x6a1: 0x9e, 0x6a2: 0x9f, 0x6a3: 0xa0, 0x6a4: 0xa1, 0x6a5: 0xa2, 0x6a6: 0xa3, 0x6a7: 0xa4,\n\t0x6a8: 0xa5, 0x6a9: 0xa6, 0x6aa: 0xa7, 0x6ab: 0xa8, 0x6ac: 0xa9, 0x6ad: 0xaa,\n\t0x6b0: 0xab, 0x6b1: 0xac, 0x6b2: 0xad, 0x6b3: 0xae, 0x6b4: 0xaf, 0x6b5: 0xb0, 0x6b6: 0xb1, 0x6b7: 0xb2,\n\t0x6b8: 0xb3, 0x6ba: 0xb4, 0x6bb: 0xb5, 0x6bc: 0xb6, 0x6bd: 0xb7, 0x6be: 0xb8, 0x6bf: 0xb9,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c0: 0xba, 0x6c1: 0xbb, 0x6c2: 0xbc, 0x6c3: 0xbd, 0x6c4: 0xbe, 0x6c5: 0xbf, 0x6c6: 0xc0, 0x6c7: 0xc1,\n\t0x6c8: 0xc2, 0x6c9: 0xc3, 0x6ca: 0xc4, 0x6cb: 0x1c1, 0x6cc: 0xc6, 0x6cd: 0x1c2, 0x6ce: 0x1c3, 0x6cf: 0x1c4,\n\t// Block 0x1c, offset 0x700\n\t0x724: 0xfb, 0x725: 0xfc, 0x726: 0xfd, 0x727: 0xfe,\n\t0x728: 0xff, 0x729: 0x100, 0x72a: 0x101, 0x72b: 0x102, 0x72c: 0x1c5, 0x72d: 0x104, 0x72e: 0x105, 0x72f: 0x106,\n\t0x730: 0x107, 0x731: 0x108, 0x732: 0x109, 0x733: 0x10a, 0x734: 0x10b, 0x735: 0x10c, 0x736: 0x10d, 0x737: 0x10e,\n\t0x738: 0x10f, 0x739: 0x110, 0x73a: 0x111, 0x73b: 0x112, 0x73c: 0x113, 0x73d: 0x114, 0x73e: 0x115, 0x73f: 0x116,\n\t// Block 0x1d, offset 0x740\n\t0x740: 0x18b, 0x741: 0x18c, 0x742: 0x18d, 0x743: 0x18e, 0x744: 0x1c6, 0x745: 0x1c7, 0x746: 0x191, 0x747: 0x192,\n\t0x748: 0x193, 0x749: 0x194, 0x74c: 0x195, 0x74d: 0x196, 0x74e: 0x197, 0x74f: 0x198,\n\t0x750: 0x199, 0x751: 0x19a, 0x752: 0x19b, 0x753: 0x19c, 0x754: 0x19d, 0x755: 0x19e, 0x757: 0x19f,\n\t0x758: 0x1a0, 0x759: 0x1a1, 0x75a: 0x1a2, 0x75b: 0x1a3, 0x75c: 0x1a4, 0x75d: 0x1a5,\n\t// Block 0x1e, offset 0x780\n\t0x790: 0x09, 0x791: 0x0a, 0x792: 0x0b, 0x793: 0x0c, 0x796: 0x0d,\n\t0x79b: 0x0e, 0x79d: 0x0f, 0x79e: 0x10, 0x79f: 0x1b,\n\t0x7af: 0x12,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c2: 0x01, 0x7c3: 0x1b4, 0x7c4: 0x1b5, 0x7c5: 0x1b6, 0x7c6: 0x1b7, 0x7c7: 0x1b8,\n\t0x7c8: 0x1b9, 0x7c9: 0x08, 0x7ca: 0x09, 0x7cb: 0x0a, 0x7cc: 0x0b, 0x7cd: 0x0c, 0x7ce: 0x0d, 0x7cf: 0x0e,\n\t0x7d0: 0x0f, 0x7d1: 0x10, 0x7d2: 0x11, 0x7d3: 0x12, 0x7d4: 0x13, 0x7d5: 0x14, 0x7d6: 0x15, 0x7d7: 0x16,\n\t0x7d8: 0x17, 0x7d9: 0x18, 0x7da: 0x19, 0x7db: 0x1a, 0x7dc: 0x1b, 0x7dd: 0x1c, 0x7de: 0x1d, 0x7df: 0x1e,\n\t0x7e0: 0x01, 0x7e1: 0x17, 0x7e2: 0x18, 0x7e3: 0x19, 0x7e4: 0x05,\n\t0x7ea: 0x06, 0x7ed: 0x07, 0x7ef: 0x1a,\n\t0x7f0: 0x1c, 0x7f3: 0x15,\n\t// Block 0x20, offset 0x800\n\t0x802: 0x01, 0x803: 0x02, 0x804: 0x03, 0x805: 0x1c8, 0x806: 0x05, 0x807: 0x06,\n\t0x808: 0x07, 0x809: 0x08, 0x80a: 0x09, 0x80b: 0x0a, 0x80c: 0x0b, 0x80d: 0x0c, 0x80e: 0x0d, 0x80f: 0x0e,\n\t0x810: 0x0f, 0x811: 0x10, 0x812: 0x11, 0x813: 0x12, 0x814: 0x13, 0x815: 0x14, 0x816: 0x15, 0x817: 0x16,\n\t0x818: 0x17, 0x819: 0x18, 0x81a: 0x19, 0x81b: 0x1a, 0x81c: 0x1b, 0x81d: 0x1c, 0x81e: 0x1d, 0x81f: 0x1e,\n\t0x820: 0x01, 0x821: 0x02, 0x822: 0x03, 0x823: 0x04, 0x824: 0x05,\n\t0x82a: 0x06, 0x82d: 0x07, 0x82f: 0x08,\n\t0x830: 0x13, 0x833: 0x15,\n\t// Block 0x21, offset 0x840\n\t0x864: 0xfb, 0x865: 0xfc, 0x866: 0xfd, 0x867: 0xfe,\n\t0x868: 0xff, 0x869: 0x100, 0x86a: 0x101, 0x86b: 0x102, 0x86c: 0x103, 0x86d: 0x104, 0x86e: 0x105, 0x86f: 0x1cb,\n\t0x870: 0x1cc, 0x871: 0x1cd, 0x872: 0x1ce, 0x873: 0x1cf, 0x874: 0x1d0, 0x875: 0x10c, 0x876: 0x10d, 0x877: 0x10e,\n\t0x878: 0x10f, 0x879: 0x110, 0x87a: 0x1d1, 0x87b: 0x1d2, 0x87c: 0x113, 0x87d: 0x114, 0x87e: 0x115, 0x87f: 0x116,\n\t// Block 0x22, offset 0x880\n\t0x882: 0x01, 0x883: 0x02, 0x884: 0x03, 0x885: 0x04, 0x886: 0x05, 0x887: 0x06,\n\t0x888: 0x07, 0x889: 0x08, 0x88a: 0x09, 0x88b: 0x0a, 0x88c: 0x0b, 0x88d: 0x0c, 0x88e: 0x0d, 0x88f: 0x0e,\n\t0x890: 0x0f, 0x891: 0x10, 0x892: 0x11, 0x893: 0x12, 0x894: 0x13, 0x895: 0x14, 0x896: 0x15, 0x897: 0x16,\n\t0x898: 0x1c9, 0x899: 0x1ca, 0x89a: 0x19, 0x89b: 0x1a, 0x89c: 0x1b, 0x89d: 0x1c, 0x89e: 0x1d, 0x89f: 0x1e,\n\t0x8a0: 0x01, 0x8a1: 0x02, 0x8a2: 0x03, 0x8a3: 0x04, 0x8a4: 0x05,\n\t0x8aa: 0x06, 0x8ad: 0x07, 0x8af: 0x1f,\n\t0x8b0: 0x13, 0x8b3: 0x15,\n\t// Block 0x23, offset 0x8c0\n\t0x8e0: 0x1f, 0x8e1: 0x20, 0x8e2: 0x21, 0x8e3: 0x22, 0x8e4: 0x23, 0x8e5: 0x24, 0x8e6: 0x1d3, 0x8e7: 0x1d4,\n\t0x8e8: 0x27, 0x8e9: 0x28, 0x8ea: 0x29, 0x8eb: 0x2a, 0x8ec: 0x2b, 0x8ed: 0x2c, 0x8ee: 0x2d, 0x8ef: 0x2e,\n\t0x8f0: 0x2f, 0x8f1: 0x30, 0x8f2: 0x31, 0x8f3: 0x32, 0x8f4: 0x33, 0x8f5: 0x34, 0x8f6: 0x35, 0x8f7: 0x36,\n\t0x8f8: 0x37, 0x8f9: 0x38, 0x8fa: 0x39, 0x8fb: 0x3a, 0x8fc: 0x3b, 0x8fd: 0x3c, 0x8fe: 0x3d, 0x8ff: 0x3e,\n\t// Block 0x24, offset 0x900\n\t0x902: 0x01, 0x903: 0x02, 0x904: 0x03, 0x905: 0x04, 0x906: 0x05, 0x907: 0x06,\n\t0x908: 0x07, 0x909: 0x08, 0x90a: 0x09, 0x90b: 0x0a, 0x90c: 0x0b, 0x90d: 0x0c, 0x90e: 0x0d, 0x90f: 0x0e,\n\t0x910: 0x0f, 0x911: 0x10, 0x912: 0x11, 0x913: 0x12, 0x914: 0x13, 0x915: 0x14, 0x916: 0x15, 0x917: 0x16,\n\t0x918: 0x17, 0x919: 0x18, 0x91a: 0x19, 0x91b: 0x1a, 0x91c: 0x1b, 0x91d: 0x1c, 0x91e: 0x1d, 0x91f: 0x1e,\n\t0x920: 0x21, 0x921: 0x02, 0x922: 0x03, 0x923: 0x04, 0x924: 0x05,\n\t0x92a: 0x06, 0x92d: 0x07, 0x92f: 0x08,\n\t0x930: 0x13, 0x933: 0x15,\n\t// Block 0x25, offset 0x940\n\t0x940: 0x3f, 0x941: 0x40, 0x942: 0x41, 0x943: 0x42, 0x944: 0x43, 0x945: 0x44, 0x946: 0x45, 0x947: 0x46,\n\t0x948: 0x47, 0x949: 0x48, 0x94a: 0x49, 0x94b: 0x4a, 0x94c: 0x4b, 0x94d: 0x4c, 0x94e: 0x4d, 0x94f: 0x4e,\n\t0x950: 0x4f, 0x951: 0x50, 0x952: 0x51, 0x953: 0x52, 0x954: 0x53, 0x955: 0x54, 0x956: 0x55, 0x957: 0x56,\n\t0x958: 0x57, 0x959: 0x58, 0x95a: 0x59, 0x95b: 0x5a, 0x95c: 0x5b, 0x95d: 0x5c, 0x95e: 0x5d, 0x95f: 0x5e,\n\t0x960: 0x5f, 0x961: 0x60, 0x962: 0x61, 0x963: 0x62, 0x964: 0x63, 0x965: 0x64, 0x966: 0x65, 0x967: 0x66,\n\t0x968: 0x67, 0x969: 0x68, 0x96a: 0x69, 0x96c: 0x6a, 0x96d: 0x6b, 0x96e: 0x6c, 0x96f: 0x6d,\n\t0x970: 0x6e, 0x971: 0x6f, 0x973: 0x70, 0x974: 0x71, 0x975: 0x72, 0x976: 0x73, 0x977: 0x74,\n\t0x978: 0x1de, 0x979: 0x1df, 0x97a: 0x1e0, 0x97b: 0x1e1, 0x97c: 0x79, 0x97d: 0x7a, 0x97e: 0x7b, 0x97f: 0x7c,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x7d, 0x981: 0x7e, 0x982: 0x7f, 0x983: 0x80, 0x984: 0x81, 0x985: 0x1e2, 0x986: 0x83, 0x987: 0x84,\n\t0x988: 0x85, 0x989: 0x86, 0x98a: 0x87, 0x98b: 0x88, 0x98c: 0x89, 0x98d: 0x8a, 0x98e: 0x8b, 0x98f: 0x8c,\n\t0x990: 0x8d, 0x991: 0x8e, 0x992: 0x1e3, 0x993: 0x90, 0x994: 0x91, 0x995: 0x92, 0x996: 0x93, 0x997: 0x94,\n\t0x998: 0x95, 0x999: 0x96, 0x99a: 0x97, 0x99b: 0x98, 0x99c: 0x99, 0x99d: 0x9a, 0x99e: 0x9b, 0x99f: 0x9c,\n\t0x9a0: 0x9d, 0x9a1: 0x9e, 0x9a2: 0x9f, 0x9a3: 0xa0, 0x9a4: 0xa1, 0x9a5: 0xa2, 0x9a6: 0xa3, 0x9a7: 0xa4,\n\t0x9a8: 0xa5, 0x9a9: 0xa6, 0x9aa: 0xa7, 0x9ab: 0xa8, 0x9ac: 0xa9, 0x9ad: 0xaa,\n\t0x9b0: 0xab, 0x9b1: 0xac, 0x9b2: 0xad, 0x9b3: 0xae, 0x9b4: 0xaf, 0x9b5: 0xb0, 0x9b6: 0xb1, 0x9b7: 0xb2,\n\t0x9b8: 0xb3, 0x9ba: 0xb4, 0x9bb: 0xb5, 0x9bc: 0xb6, 0x9bd: 0xb7, 0x9be: 0xb8, 0x9bf: 0xb9,\n\t// Block 0x27, offset 0x9c0\n\t0x9c0: 0xba, 0x9c1: 0xbb, 0x9c2: 0xbc, 0x9c3: 0xbd, 0x9c4: 0xbe, 0x9c5: 0xbf, 0x9c6: 0xc0, 0x9c7: 0xc1,\n\t0x9c8: 0xc2, 0x9c9: 0xc3, 0x9ca: 0xc4, 0x9cb: 0xc5, 0x9cc: 0xc6, 0x9cd: 0x1e4, 0x9ce: 0xc8, 0x9cf: 0x1e5,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x18b, 0xa01: 0x18c, 0xa02: 0x18d, 0xa03: 0x18e, 0xa04: 0x1e6, 0xa05: 0x190, 0xa06: 0x191, 0xa07: 0x192,\n\t0xa08: 0x193, 0xa09: 0x194, 0xa0c: 0x195, 0xa0d: 0x196, 0xa0e: 0x197, 0xa0f: 0x198,\n\t0xa10: 0x199, 0xa11: 0x19a, 0xa12: 0x19b, 0xa13: 0x19c, 0xa14: 0x19d, 0xa15: 0x19e, 0xa17: 0x19f,\n\t0xa18: 0x1a0, 0xa19: 0x1a1, 0xa1a: 0x1a2, 0xa1b: 0x1a3, 0xa1c: 0x1a4, 0xa1d: 0x1a5,\n\t// Block 0x29, offset 0xa40\n\t0xa50: 0x09, 0xa51: 0x0a, 0xa52: 0x0b, 0xa53: 0x0c, 0xa56: 0x0d,\n\t0xa5b: 0x0e, 0xa5d: 0x0f, 0xa5e: 0x10, 0xa5f: 0x26,\n\t0xa6f: 0x12,\n\t// Block 0x2a, offset 0xa80\n\t0xa82: 0x01, 0xa83: 0x1d7, 0xa84: 0x1d8, 0xa85: 0x1d9, 0xa86: 0x1da, 0xa87: 0x1db,\n\t0xa88: 0x1dc, 0xa89: 0x1dd, 0xa8a: 0x09, 0xa8b: 0x0a, 0xa8c: 0x0b, 0xa8d: 0x0c, 0xa8e: 0x0d, 0xa8f: 0x0e,\n\t0xa90: 0x0f, 0xa91: 0x10, 0xa92: 0x11, 0xa93: 0x12, 0xa94: 0x13, 0xa95: 0x14, 0xa96: 0x15, 0xa97: 0x16,\n\t0xa98: 0x17, 0xa99: 0x18, 0xa9a: 0x19, 0xa9b: 0x1a, 0xa9c: 0x1b, 0xa9d: 0x1c, 0xa9e: 0x1d, 0xa9f: 0x1e,\n\t0xaa0: 0x01, 0xaa1: 0x23, 0xaa2: 0x24, 0xaa3: 0x25, 0xaa4: 0x05,\n\t0xaaa: 0x06, 0xaad: 0x07, 0xaaf: 0x08,\n\t0xab0: 0x27, 0xab3: 0x15,\n\t// Block 0x2b, offset 0xac0\n\t0xac2: 0x01, 0xac3: 0x02, 0xac4: 0x03, 0xac5: 0x04, 0xac6: 0x05, 0xac7: 0x06,\n\t0xac8: 0x07, 0xac9: 0x08, 0xaca: 0x09, 0xacb: 0x0a, 0xacc: 0x0b, 0xacd: 0x0c, 0xace: 0x0d, 0xacf: 0x0e,\n\t0xad0: 0x1e7, 0xad1: 0x1e8, 0xad2: 0x11, 0xad3: 0x12, 0xad4: 0x13, 0xad5: 0x14, 0xad6: 0x15, 0xad7: 0x16,\n\t0xad8: 0x17, 0xad9: 0x18, 0xada: 0x19, 0xadb: 0x1a, 0xadc: 0x1b, 0xadd: 0x1c, 0xade: 0x1d, 0xadf: 0x1e,\n\t0xae0: 0x01, 0xae1: 0x02, 0xae2: 0x03, 0xae3: 0x04, 0xae4: 0x05,\n\t0xaea: 0x06, 0xaed: 0x07, 0xaef: 0x08,\n\t0xaf0: 0x13, 0xaf3: 0x15,\n\t// Block 0x2c, offset 0xb00\n\t0xb20: 0x1f, 0xb21: 0x20, 0xb22: 0x21, 0xb23: 0x22, 0xb24: 0x23, 0xb25: 0x24, 0xb26: 0x1e9, 0xb27: 0x26,\n\t0xb28: 0x27, 0xb29: 0x28, 0xb2a: 0x29, 0xb2b: 0x2a, 0xb2c: 0x2b, 0xb2d: 0x2c, 0xb2e: 0x2d, 0xb2f: 0x2e,\n\t0xb30: 0x2f, 0xb31: 0x30, 0xb32: 0x31, 0xb33: 0x32, 0xb34: 0x33, 0xb35: 0x34, 0xb36: 0x35, 0xb37: 0x36,\n\t0xb38: 0x37, 0xb39: 0x38, 0xb3a: 0x39, 0xb3b: 0x3a, 0xb3c: 0x3b, 0xb3d: 0x3c, 0xb3e: 0x3d, 0xb3f: 0x3e,\n\t// Block 0x2d, offset 0xb40\n\t0xb42: 0x01, 0xb43: 0x02, 0xb44: 0x03, 0xb45: 0x04, 0xb46: 0x05, 0xb47: 0x06,\n\t0xb48: 0x07, 0xb49: 0x08, 0xb4a: 0x09, 0xb4b: 0x0a, 0xb4c: 0x0b, 0xb4d: 0x0c, 0xb4e: 0x0d, 0xb4f: 0x0e,\n\t0xb50: 0x0f, 0xb51: 0x10, 0xb52: 0x11, 0xb53: 0x12, 0xb54: 0x13, 0xb55: 0x14, 0xb56: 0x15, 0xb57: 0x16,\n\t0xb58: 0x17, 0xb59: 0x18, 0xb5a: 0x19, 0xb5b: 0x1a, 0xb5c: 0x1b, 0xb5d: 0x1c, 0xb5e: 0x1d, 0xb5f: 0x1e,\n\t0xb60: 0x2a, 0xb61: 0x02, 0xb62: 0x03, 0xb63: 0x04, 0xb64: 0x05,\n\t0xb6a: 0x06, 0xb6d: 0x07, 0xb6f: 0x08,\n\t0xb70: 0x13, 0xb73: 0x15,\n\t// Block 0x2e, offset 0xb80\n\t0xb82: 0x01, 0xb83: 0x02, 0xb84: 0x1ec, 0xb85: 0x1ed, 0xb86: 0x05, 0xb87: 0x06,\n\t0xb88: 0x07, 0xb89: 0x08, 0xb8a: 0x09, 0xb8b: 0x0a, 0xb8c: 0x0b, 0xb8d: 0x0c, 0xb8e: 0x0d, 0xb8f: 0x0e,\n\t0xb90: 0x0f, 0xb91: 0x10, 0xb92: 0x11, 0xb93: 0x12, 0xb94: 0x13, 0xb95: 0x14, 0xb96: 0x15, 0xb97: 0x16,\n\t0xb98: 0x17, 0xb99: 0x18, 0xb9a: 0x19, 0xb9b: 0x1a, 0xb9c: 0x1b, 0xb9d: 0x1c, 0xb9e: 0x1d, 0xb9f: 0x1e,\n\t0xba0: 0x01, 0xba1: 0x02, 0xba2: 0x03, 0xba3: 0x04, 0xba4: 0x05,\n\t0xbaa: 0x06, 0xbad: 0x07, 0xbaf: 0x08,\n\t0xbb0: 0x13, 0xbb3: 0x15,\n\t// Block 0x2f, offset 0xbc0\n\t0xbc0: 0x3f, 0xbc1: 0x40, 0xbc2: 0x41, 0xbc3: 0x42, 0xbc4: 0x43, 0xbc5: 0x44, 0xbc6: 0x45, 0xbc7: 0x46,\n\t0xbc8: 0x47, 0xbc9: 0x48, 0xbca: 0x49, 0xbcb: 0x4a, 0xbcc: 0x4b, 0xbcd: 0x4c, 0xbce: 0x4d, 0xbcf: 0x4e,\n\t0xbd0: 0x4f, 0xbd1: 0x50, 0xbd2: 0x51, 0xbd3: 0x52, 0xbd4: 0x53, 0xbd5: 0x54, 0xbd6: 0x55, 0xbd7: 0x56,\n\t0xbd8: 0x57, 0xbd9: 0x58, 0xbda: 0x59, 0xbdb: 0x5a, 0xbdc: 0x5b, 0xbdd: 0x5c, 0xbde: 0x5d, 0xbdf: 0x5e,\n\t0xbe0: 0x5f, 0xbe1: 0x60, 0xbe2: 0x61, 0xbe3: 0x62, 0xbe4: 0x63, 0xbe5: 0x64, 0xbe6: 0x65, 0xbe7: 0x66,\n\t0xbe8: 0x67, 0xbe9: 0x68, 0xbea: 0x69, 0xbec: 0x6a, 0xbed: 0x6b, 0xbee: 0x6c, 0xbef: 0x6d,\n\t0xbf0: 0x6e, 0xbf1: 0x6f, 0xbf3: 0x70, 0xbf4: 0x71, 0xbf5: 0x72, 0xbf6: 0x73, 0xbf7: 0x74,\n\t0xbf8: 0x75, 0xbf9: 0x1f2, 0xbfa: 0x77, 0xbfb: 0x78, 0xbfc: 0x79, 0xbfd: 0x7a, 0xbfe: 0x7b, 0xbff: 0x7c,\n\t// Block 0x30, offset 0xc00\n\t0xc02: 0x01, 0xc03: 0x02, 0xc04: 0x1f0, 0xc05: 0x1f1, 0xc06: 0x05, 0xc07: 0x06,\n\t0xc08: 0x07, 0xc09: 0x08, 0xc0a: 0x09, 0xc0b: 0x0a, 0xc0c: 0x0b, 0xc0d: 0x0c, 0xc0e: 0x0d, 0xc0f: 0x0e,\n\t0xc10: 0x0f, 0xc11: 0x10, 0xc12: 0x11, 0xc13: 0x12, 0xc14: 0x13, 0xc15: 0x14, 0xc16: 0x15, 0xc17: 0x16,\n\t0xc18: 0x17, 0xc19: 0x18, 0xc1a: 0x19, 0xc1b: 0x1a, 0xc1c: 0x1b, 0xc1d: 0x1c, 0xc1e: 0x1d, 0xc1f: 0x1e,\n\t0xc20: 0x01, 0xc21: 0x2d, 0xc22: 0x03, 0xc23: 0x04, 0xc24: 0x05,\n\t0xc2a: 0x06, 0xc2d: 0x07, 0xc2f: 0x08,\n\t0xc30: 0x13, 0xc33: 0x15,\n\t// Block 0x31, offset 0xc40\n\t0xc40: 0x3f, 0xc41: 0x40, 0xc42: 0x41, 0xc43: 0x42, 0xc44: 0x43, 0xc45: 0x44, 0xc46: 0x45, 0xc47: 0x46,\n\t0xc48: 0x47, 0xc49: 0x48, 0xc4a: 0x49, 0xc4b: 0x4a, 0xc4c: 0x4b, 0xc4d: 0x4c, 0xc4e: 0x4d, 0xc4f: 0x4e,\n\t0xc50: 0x4f, 0xc51: 0x50, 0xc52: 0x51, 0xc53: 0x52, 0xc54: 0x53, 0xc55: 0x54, 0xc56: 0x55, 0xc57: 0x56,\n\t0xc58: 0x57, 0xc59: 0x58, 0xc5a: 0x59, 0xc5b: 0x5a, 0xc5c: 0x5b, 0xc5d: 0x5c, 0xc5e: 0x5d, 0xc5f: 0x5e,\n\t0xc60: 0x5f, 0xc61: 0x60, 0xc62: 0x61, 0xc63: 0x62, 0xc64: 0x63, 0xc65: 0x64, 0xc66: 0x65, 0xc67: 0x66,\n\t0xc68: 0x67, 0xc69: 0x68, 0xc6a: 0x69, 0xc6c: 0x6a, 0xc6d: 0x6b, 0xc6e: 0x6c, 0xc6f: 0x6d,\n\t0xc70: 0x6e, 0xc71: 0x6f, 0xc73: 0x70, 0xc74: 0x71, 0xc75: 0x72, 0xc76: 0x1fc, 0xc77: 0x74,\n\t0xc78: 0x75, 0xc79: 0x1fd, 0xc7a: 0x77, 0xc7b: 0x78, 0xc7c: 0x79, 0xc7d: 0x7a, 0xc7e: 0x7b, 0xc7f: 0x7c,\n\t// Block 0x32, offset 0xc80\n\t0xc80: 0x7d, 0xc81: 0x7e, 0xc82: 0x7f, 0xc83: 0x80, 0xc84: 0x1fe, 0xc85: 0x82, 0xc86: 0x83, 0xc87: 0x84,\n\t0xc88: 0x85, 0xc89: 0x86, 0xc8a: 0x87, 0xc8b: 0x88, 0xc8c: 0x89, 0xc8d: 0x8a, 0xc8e: 0x8b, 0xc8f: 0x8c,\n\t0xc90: 0x8d, 0xc91: 0x8e, 0xc92: 0x8f, 0xc93: 0x90, 0xc94: 0x91, 0xc95: 0x92, 0xc96: 0x93, 0xc97: 0x94,\n\t0xc98: 0x95, 0xc99: 0x96, 0xc9a: 0x97, 0xc9b: 0x98, 0xc9c: 0x99, 0xc9d: 0x9a, 0xc9e: 0x9b, 0xc9f: 0x9c,\n\t0xca0: 0x9d, 0xca1: 0x9e, 0xca2: 0x9f, 0xca3: 0xa0, 0xca4: 0xa1, 0xca5: 0xa2, 0xca6: 0xa3, 0xca7: 0xa4,\n\t0xca8: 0xa5, 0xca9: 0xa6, 0xcaa: 0xa7, 0xcab: 0xa8, 0xcac: 0xa9, 0xcad: 0xaa,\n\t0xcb0: 0xab, 0xcb1: 0xac, 0xcb2: 0xad, 0xcb3: 0xae, 0xcb4: 0xaf, 0xcb5: 0xb0, 0xcb6: 0xb1, 0xcb7: 0xb2,\n\t0xcb8: 0xb3, 0xcba: 0xb4, 0xcbb: 0xb5, 0xcbc: 0xb6, 0xcbd: 0xb7, 0xcbe: 0xb8, 0xcbf: 0xb9,\n\t// Block 0x33, offset 0xcc0\n\t0xcc2: 0x01, 0xcc3: 0x1f7, 0xcc4: 0x1f8, 0xcc5: 0x1f9, 0xcc6: 0x05, 0xcc7: 0x1fa,\n\t0xcc8: 0x1fb, 0xcc9: 0x08, 0xcca: 0x09, 0xccb: 0x0a, 0xccc: 0x0b, 0xccd: 0x0c, 0xcce: 0x0d, 0xccf: 0x0e,\n\t0xcd0: 0x0f, 0xcd1: 0x10, 0xcd2: 0x11, 0xcd3: 0x12, 0xcd4: 0x13, 0xcd5: 0x14, 0xcd6: 0x15, 0xcd7: 0x16,\n\t0xcd8: 0x17, 0xcd9: 0x18, 0xcda: 0x19, 0xcdb: 0x1a, 0xcdc: 0x1b, 0xcdd: 0x1c, 0xcde: 0x1d, 0xcdf: 0x1e,\n\t0xce0: 0x01, 0xce1: 0x2f, 0xce2: 0x30, 0xce3: 0x04, 0xce4: 0x05,\n\t0xcea: 0x06, 0xced: 0x07, 0xcef: 0x08,\n\t0xcf0: 0x13, 0xcf3: 0x15,\n\t// Block 0x34, offset 0xd00\n\t0xd00: 0x3f, 0xd01: 0x40, 0xd02: 0x41, 0xd03: 0x42, 0xd04: 0x43, 0xd05: 0x44, 0xd06: 0x45, 0xd07: 0x46,\n\t0xd08: 0x47, 0xd09: 0x48, 0xd0a: 0x49, 0xd0b: 0x4a, 0xd0c: 0x4b, 0xd0d: 0x4c, 0xd0e: 0x4d, 0xd0f: 0x4e,\n\t0xd10: 0x4f, 0xd11: 0x50, 0xd12: 0x51, 0xd13: 0x52, 0xd14: 0x53, 0xd15: 0x54, 0xd16: 0x55, 0xd17: 0x56,\n\t0xd18: 0x57, 0xd19: 0x58, 0xd1a: 0x59, 0xd1b: 0x5a, 0xd1c: 0x5b, 0xd1d: 0x5c, 0xd1e: 0x5d, 0xd1f: 0x5e,\n\t0xd20: 0x5f, 0xd21: 0x60, 0xd22: 0x61, 0xd23: 0x62, 0xd24: 0x63, 0xd25: 0x64, 0xd26: 0x65, 0xd27: 0x66,\n\t0xd28: 0x67, 0xd29: 0x68, 0xd2a: 0x69, 0xd2c: 0x6a, 0xd2d: 0x6b, 0xd2e: 0x6c, 0xd2f: 0x6d,\n\t0xd30: 0x6e, 0xd31: 0x6f, 0xd33: 0x70, 0xd34: 0x71, 0xd35: 0x72, 0xd36: 0x73, 0xd37: 0x74,\n\t0xd38: 0x75, 0xd39: 0x204, 0xd3a: 0x77, 0xd3b: 0x78, 0xd3c: 0x79, 0xd3d: 0x7a, 0xd3e: 0x7b, 0xd3f: 0x7c,\n\t// Block 0x35, offset 0xd40\n\t0xd42: 0x01, 0xd43: 0x201, 0xd44: 0x03, 0xd45: 0x04, 0xd46: 0x05, 0xd47: 0x202,\n\t0xd48: 0x203, 0xd49: 0x08, 0xd4a: 0x09, 0xd4b: 0x0a, 0xd4c: 0x0b, 0xd4d: 0x0c, 0xd4e: 0x0d, 0xd4f: 0x0e,\n\t0xd50: 0x0f, 0xd51: 0x10, 0xd52: 0x11, 0xd53: 0x12, 0xd54: 0x13, 0xd55: 0x14, 0xd56: 0x15, 0xd57: 0x16,\n\t0xd58: 0x17, 0xd59: 0x18, 0xd5a: 0x19, 0xd5b: 0x1a, 0xd5c: 0x1b, 0xd5d: 0x1c, 0xd5e: 0x1d, 0xd5f: 0x1e,\n\t0xd60: 0x01, 0xd61: 0x32, 0xd62: 0x03, 0xd63: 0x04, 0xd64: 0x05,\n\t0xd6a: 0x06, 0xd6d: 0x07, 0xd6f: 0x08,\n\t0xd70: 0x13, 0xd73: 0x15,\n\t// Block 0x36, offset 0xd80\n\t0xda0: 0x1f, 0xda1: 0x20, 0xda2: 0x21, 0xda3: 0x22, 0xda4: 0x23, 0xda5: 0x24, 0xda6: 0x25, 0xda7: 0x26,\n\t0xda8: 0x27, 0xda9: 0x28, 0xdaa: 0x29, 0xdab: 0x2a, 0xdac: 0x2b, 0xdad: 0x2c, 0xdae: 0x2d, 0xdaf: 0x2e,\n\t0xdb0: 0x2f, 0xdb1: 0x30, 0xdb2: 0x31, 0xdb3: 0x32, 0xdb4: 0x33, 0xdb5: 0x34, 0xdb6: 0x35, 0xdb7: 0x36,\n\t0xdb8: 0x37, 0xdb9: 0x38, 0xdba: 0x39, 0xdbb: 0x3a, 0xdbc: 0x205, 0xdbd: 0x206, 0xdbe: 0x207, 0xdbf: 0x3e,\n\t// Block 0x37, offset 0xdc0\n\t0xdc2: 0x01, 0xdc3: 0x02, 0xdc4: 0x03, 0xdc5: 0x04, 0xdc6: 0x05, 0xdc7: 0x06,\n\t0xdc8: 0x07, 0xdc9: 0x08, 0xdca: 0x09, 0xdcb: 0x0a, 0xdcc: 0x0b, 0xdcd: 0x0c, 0xdce: 0x0d, 0xdcf: 0x0e,\n\t0xdd0: 0x0f, 0xdd1: 0x10, 0xdd2: 0x11, 0xdd3: 0x12, 0xdd4: 0x13, 0xdd5: 0x14, 0xdd6: 0x15, 0xdd7: 0x16,\n\t0xdd8: 0x17, 0xdd9: 0x18, 0xdda: 0x19, 0xddb: 0x1a, 0xddc: 0x1b, 0xddd: 0x1c, 0xdde: 0x1d, 0xddf: 0x1e,\n\t0xde0: 0x34, 0xde1: 0x02, 0xde2: 0x03, 0xde3: 0x04, 0xde4: 0x05,\n\t0xdea: 0x06, 0xded: 0x07, 0xdef: 0x08,\n\t0xdf0: 0x13, 0xdf3: 0x15,\n\t// Block 0x38, offset 0xe00\n\t0xe00: 0x3f, 0xe01: 0x40, 0xe02: 0x41, 0xe03: 0x42, 0xe04: 0x43, 0xe05: 0x44, 0xe06: 0x45, 0xe07: 0x46,\n\t0xe08: 0x47, 0xe09: 0x48, 0xe0a: 0x49, 0xe0b: 0x4a, 0xe0c: 0x4b, 0xe0d: 0x4c, 0xe0e: 0x4d, 0xe0f: 0x4e,\n\t0xe10: 0x4f, 0xe11: 0x50, 0xe12: 0x51, 0xe13: 0x52, 0xe14: 0x53, 0xe15: 0x54, 0xe16: 0x55, 0xe17: 0x56,\n\t0xe18: 0x57, 0xe19: 0x58, 0xe1a: 0x59, 0xe1b: 0x5a, 0xe1c: 0x5b, 0xe1d: 0x5c, 0xe1e: 0x5d, 0xe1f: 0x5e,\n\t0xe20: 0x5f, 0xe21: 0x60, 0xe22: 0x61, 0xe23: 0x62, 0xe24: 0x63, 0xe25: 0x64, 0xe26: 0x65, 0xe27: 0x66,\n\t0xe28: 0x67, 0xe29: 0x68, 0xe2a: 0x69, 0xe2c: 0x6a, 0xe2d: 0x6b, 0xe2e: 0x6c, 0xe2f: 0x6d,\n\t0xe30: 0x6e, 0xe31: 0x6f, 0xe33: 0x70, 0xe34: 0x71, 0xe35: 0x72, 0xe36: 0x73, 0xe37: 0x74,\n\t0xe38: 0x75, 0xe39: 0x76, 0xe3a: 0x211, 0xe3b: 0x212, 0xe3c: 0x79, 0xe3d: 0x7a, 0xe3e: 0x7b, 0xe3f: 0x7c,\n\t// Block 0x39, offset 0xe40\n\t0xe40: 0x7d, 0xe41: 0x7e, 0xe42: 0x7f, 0xe43: 0x80, 0xe44: 0x81, 0xe45: 0x213, 0xe46: 0x83, 0xe47: 0x84,\n\t0xe48: 0x85, 0xe49: 0x86, 0xe4a: 0x87, 0xe4b: 0x88, 0xe4c: 0x89, 0xe4d: 0x8a, 0xe4e: 0x8b, 0xe4f: 0x8c,\n\t0xe50: 0x8d, 0xe51: 0x8e, 0xe52: 0x214, 0xe53: 0x90, 0xe54: 0x91, 0xe55: 0x92, 0xe56: 0x93, 0xe57: 0x94,\n\t0xe58: 0x95, 0xe59: 0x96, 0xe5a: 0x97, 0xe5b: 0x98, 0xe5c: 0x99, 0xe5d: 0x9a, 0xe5e: 0x9b, 0xe5f: 0x9c,\n\t0xe60: 0x9d, 0xe61: 0x9e, 0xe62: 0x9f, 0xe63: 0xa0, 0xe64: 0xa1, 0xe65: 0xa2, 0xe66: 0xa3, 0xe67: 0xa4,\n\t0xe68: 0xa5, 0xe69: 0xa6, 0xe6a: 0xa7, 0xe6b: 0xa8, 0xe6c: 0xa9, 0xe6d: 0xaa,\n\t0xe70: 0xab, 0xe71: 0xac, 0xe72: 0xad, 0xe73: 0xae, 0xe74: 0xaf, 0xe75: 0xb0, 0xe76: 0xb1, 0xe77: 0xb2,\n\t0xe78: 0xb3, 0xe7a: 0xb4, 0xe7b: 0xb5, 0xe7c: 0xb6, 0xe7d: 0xb7, 0xe7e: 0xb8, 0xe7f: 0xb9,\n\t// Block 0x3a, offset 0xe80\n\t0xe80: 0xba, 0xe81: 0xbb, 0xe82: 0xbc, 0xe83: 0xbd, 0xe84: 0xbe, 0xe85: 0xbf, 0xe86: 0xc0, 0xe87: 0xc1,\n\t0xe88: 0xc2, 0xe89: 0xc3, 0xe8a: 0xc4, 0xe8b: 0xc5, 0xe8c: 0xc6, 0xe8d: 0xc7, 0xe8e: 0xc8, 0xe8f: 0x215,\n\t// Block 0x3b, offset 0xec0\n\t0xec0: 0x18b, 0xec1: 0x18c, 0xec2: 0x18d, 0xec3: 0x18e, 0xec4: 0x216, 0xec5: 0x190, 0xec6: 0x191, 0xec7: 0x192,\n\t0xec8: 0x193, 0xec9: 0x194, 0xecc: 0x195, 0xecd: 0x196, 0xece: 0x197, 0xecf: 0x198,\n\t0xed0: 0x199, 0xed1: 0x19a, 0xed2: 0x19b, 0xed3: 0x19c, 0xed4: 0x19d, 0xed5: 0x19e, 0xed7: 0x19f,\n\t0xed8: 0x1a0, 0xed9: 0x1a1, 0xeda: 0x1a2, 0xedb: 0x1a3, 0xedc: 0x1a4, 0xedd: 0x1a5,\n\t// Block 0x3c, offset 0xf00\n\t0xf10: 0x09, 0xf11: 0x0a, 0xf12: 0x0b, 0xf13: 0x0c, 0xf16: 0x0d,\n\t0xf1b: 0x0e, 0xf1d: 0x0f, 0xf1e: 0x10, 0xf1f: 0x39,\n\t0xf2f: 0x12,\n\t// Block 0x3d, offset 0xf40\n\t0xf42: 0x01, 0xf43: 0x20a, 0xf44: 0x20b, 0xf45: 0x20c, 0xf46: 0x20d, 0xf47: 0x06,\n\t0xf48: 0x07, 0xf49: 0x20e, 0xf4a: 0x20f, 0xf4b: 0x0a, 0xf4c: 0x210, 0xf4d: 0x0c, 0xf4e: 0x0d, 0xf4f: 0x0e,\n\t0xf50: 0x0f, 0xf51: 0x10, 0xf52: 0x11, 0xf53: 0x12, 0xf54: 0x13, 0xf55: 0x14, 0xf56: 0x15, 0xf57: 0x16,\n\t0xf58: 0x17, 0xf59: 0x18, 0xf5a: 0x19, 0xf5b: 0x1a, 0xf5c: 0x1b, 0xf5d: 0x1c, 0xf5e: 0x1d, 0xf5f: 0x1e,\n\t0xf60: 0x01, 0xf61: 0x36, 0xf62: 0x37, 0xf63: 0x38, 0xf64: 0x05,\n\t0xf6a: 0x06, 0xf6d: 0x07, 0xf6f: 0x08,\n\t0xf70: 0x3a, 0xf73: 0x15,\n\t// Block 0x3e, offset 0xf80\n\t0xf80: 0x3f, 0xf81: 0x40, 0xf82: 0x41, 0xf83: 0x42, 0xf84: 0x43, 0xf85: 0x44, 0xf86: 0x45, 0xf87: 0x46,\n\t0xf88: 0x47, 0xf89: 0x48, 0xf8a: 0x49, 0xf8b: 0x4a, 0xf8c: 0x4b, 0xf8d: 0x4c, 0xf8e: 0x4d, 0xf8f: 0x4e,\n\t0xf90: 0x4f, 0xf91: 0x50, 0xf92: 0x51, 0xf93: 0x52, 0xf94: 0x53, 0xf95: 0x54, 0xf96: 0x55, 0xf97: 0x56,\n\t0xf98: 0x57, 0xf99: 0x58, 0xf9a: 0x59, 0xf9b: 0x5a, 0xf9c: 0x5b, 0xf9d: 0x5c, 0xf9e: 0x5d, 0xf9f: 0x5e,\n\t0xfa0: 0x5f, 0xfa1: 0x60, 0xfa2: 0x61, 0xfa3: 0x62, 0xfa4: 0x63, 0xfa5: 0x64, 0xfa6: 0x65, 0xfa7: 0x66,\n\t0xfa8: 0x67, 0xfa9: 0x68, 0xfaa: 0x69, 0xfac: 0x6a, 0xfad: 0x6b, 0xfae: 0x6c, 0xfaf: 0x6d,\n\t0xfb0: 0x6e, 0xfb1: 0x6f, 0xfb3: 0x70, 0xfb4: 0x71, 0xfb5: 0x72, 0xfb6: 0x73, 0xfb7: 0x74,\n\t0xfb8: 0x220, 0xfb9: 0x221, 0xfba: 0x222, 0xfbb: 0x223, 0xfbc: 0x79, 0xfbd: 0x7a, 0xfbe: 0x7b, 0xfbf: 0x224,\n\t// Block 0x3f, offset 0xfc0\n\t0xfc0: 0x225, 0xfc1: 0x226, 0xfc2: 0x7f, 0xfc3: 0x80, 0xfc4: 0x227, 0xfc5: 0x228, 0xfc6: 0x83, 0xfc7: 0x84,\n\t0xfc8: 0x85, 0xfc9: 0x229, 0xfca: 0x87, 0xfcb: 0x88, 0xfcc: 0x89, 0xfcd: 0x8a, 0xfce: 0x8b, 0xfcf: 0x8c,\n\t0xfd0: 0x8d, 0xfd1: 0x22a, 0xfd2: 0x22b, 0xfd3: 0x90, 0xfd4: 0x91, 0xfd5: 0x92, 0xfd6: 0x93, 0xfd7: 0x94,\n\t0xfd8: 0x95, 0xfd9: 0x96, 0xfda: 0x97, 0xfdb: 0x98, 0xfdc: 0x99, 0xfdd: 0x9a, 0xfde: 0x9b, 0xfdf: 0x9c,\n\t0xfe0: 0x9d, 0xfe1: 0x9e, 0xfe2: 0x9f, 0xfe3: 0xa0, 0xfe4: 0xa1, 0xfe5: 0xa2, 0xfe6: 0xa3, 0xfe7: 0xa4,\n\t0xfe8: 0xa5, 0xfe9: 0x22c, 0xfea: 0xa7, 0xfeb: 0xa8, 0xfec: 0xa9, 0xfed: 0xaa,\n\t0xff0: 0xab, 0xff1: 0xac, 0xff2: 0xad, 0xff3: 0xae, 0xff4: 0xaf, 0xff5: 0xb0, 0xff6: 0xb1, 0xff7: 0xb2,\n\t0xff8: 0xb3, 0xffa: 0xb4, 0xffb: 0xb5, 0xffc: 0xb6, 0xffd: 0xb7, 0xffe: 0xb8, 0xfff: 0xb9,\n\t// Block 0x40, offset 0x1000\n\t0x1000: 0xba, 0x1001: 0xbb, 0x1002: 0xbc, 0x1003: 0xbd, 0x1004: 0xbe, 0x1005: 0xbf, 0x1006: 0xc0, 0x1007: 0xc1,\n\t0x1008: 0x22d, 0x1009: 0x22e, 0x100a: 0x22f, 0x100b: 0x230, 0x100c: 0xc6, 0x100d: 0x231, 0x100e: 0x232, 0x100f: 0x233,\n\t// Block 0x41, offset 0x1040\n\t0x1064: 0xfb, 0x1065: 0xfc, 0x1066: 0xfd, 0x1067: 0xfe,\n\t0x1068: 0xff, 0x1069: 0x100, 0x106a: 0x101, 0x106b: 0x102, 0x106c: 0x234, 0x106d: 0x104, 0x106e: 0x105, 0x106f: 0x106,\n\t0x1070: 0x107, 0x1071: 0x108, 0x1072: 0x109, 0x1073: 0x10a, 0x1074: 0x10b, 0x1075: 0x10c, 0x1076: 0x10d, 0x1077: 0x10e,\n\t0x1078: 0x235, 0x1079: 0x110, 0x107a: 0x111, 0x107b: 0x112, 0x107c: 0x113, 0x107d: 0x114, 0x107e: 0x115, 0x107f: 0x116,\n\t// Block 0x42, offset 0x1080\n\t0x1080: 0x18b, 0x1081: 0x18c, 0x1082: 0x18d, 0x1083: 0x18e, 0x1084: 0x236, 0x1085: 0x237, 0x1086: 0x238, 0x1087: 0x192,\n\t0x1088: 0x193, 0x1089: 0x194, 0x108c: 0x195, 0x108d: 0x196, 0x108e: 0x197, 0x108f: 0x198,\n\t0x1090: 0x199, 0x1091: 0x19a, 0x1092: 0x19b, 0x1093: 0x19c, 0x1094: 0x19d, 0x1095: 0x19e, 0x1097: 0x19f,\n\t0x1098: 0x1a0, 0x1099: 0x1a1, 0x109a: 0x1a2, 0x109b: 0x1a3, 0x109c: 0x1a4, 0x109d: 0x1a5,\n\t// Block 0x43, offset 0x10c0\n\t0x10d0: 0x09, 0x10d1: 0x0a, 0x10d2: 0x0b, 0x10d3: 0x0c, 0x10d6: 0x0d,\n\t0x10db: 0x0e, 0x10dd: 0x0f, 0x10de: 0x10, 0x10df: 0x40,\n\t0x10ef: 0x12,\n\t// Block 0x44, offset 0x1100\n\t0x1102: 0x01, 0x1103: 0x219, 0x1104: 0x21a, 0x1105: 0x21b, 0x1106: 0x21c, 0x1107: 0x21d,\n\t0x1108: 0x21e, 0x1109: 0x08, 0x110a: 0x09, 0x110b: 0x0a, 0x110c: 0x0b, 0x110d: 0x21f, 0x110e: 0x0d, 0x110f: 0x0e,\n\t0x1110: 0x0f, 0x1111: 0x10, 0x1112: 0x11, 0x1113: 0x12, 0x1114: 0x13, 0x1115: 0x14, 0x1116: 0x15, 0x1117: 0x16,\n\t0x1118: 0x17, 0x1119: 0x18, 0x111a: 0x19, 0x111b: 0x1a, 0x111c: 0x1b, 0x111d: 0x1c, 0x111e: 0x1d, 0x111f: 0x1e,\n\t0x1120: 0x01, 0x1121: 0x3c, 0x1122: 0x3d, 0x1123: 0x3e, 0x1124: 0x05,\n\t0x112a: 0x06, 0x112d: 0x07, 0x112f: 0x3f,\n\t0x1130: 0x41, 0x1133: 0x15,\n\t// Block 0x45, offset 0x1140\n\t0x1142: 0x01, 0x1143: 0x02, 0x1144: 0x23b, 0x1145: 0x23c, 0x1146: 0x05, 0x1147: 0x06,\n\t0x1148: 0x07, 0x1149: 0x08, 0x114a: 0x09, 0x114b: 0x0a, 0x114c: 0x0b, 0x114d: 0x0c, 0x114e: 0x0d, 0x114f: 0x0e,\n\t0x1150: 0x0f, 0x1151: 0x10, 0x1152: 0x11, 0x1153: 0x12, 0x1154: 0x13, 0x1155: 0x14, 0x1156: 0x15, 0x1157: 0x16,\n\t0x1158: 0x17, 0x1159: 0x18, 0x115a: 0x19, 0x115b: 0x1a, 0x115c: 0x1b, 0x115d: 0x1c, 0x115e: 0x1d, 0x115f: 0x1e,\n\t0x1160: 0x01, 0x1161: 0x02, 0x1162: 0x03, 0x1163: 0x04, 0x1164: 0x05,\n\t0x116a: 0x06, 0x116d: 0x07, 0x116f: 0x08,\n\t0x1170: 0x13, 0x1173: 0x15,\n\t// Block 0x46, offset 0x1180\n\t0x1182: 0x01, 0x1183: 0x23f, 0x1184: 0x03, 0x1185: 0x04, 0x1186: 0x05, 0x1187: 0x06,\n\t0x1188: 0x07, 0x1189: 0x08, 0x118a: 0x09, 0x118b: 0x0a, 0x118c: 0x0b, 0x118d: 0x0c, 0x118e: 0x0d, 0x118f: 0x0e,\n\t0x1190: 0x0f, 0x1191: 0x10, 0x1192: 0x11, 0x1193: 0x12, 0x1194: 0x13, 0x1195: 0x14, 0x1196: 0x15, 0x1197: 0x16,\n\t0x1198: 0x17, 0x1199: 0x18, 0x119a: 0x19, 0x119b: 0x1a, 0x119c: 0x1b, 0x119d: 0x1c, 0x119e: 0x1d, 0x119f: 0x1e,\n\t0x11a0: 0x01, 0x11a1: 0x02, 0x11a2: 0x03, 0x11a3: 0x04, 0x11a4: 0x05,\n\t0x11aa: 0x06, 0x11ad: 0x07, 0x11af: 0x08,\n\t0x11b0: 0x13, 0x11b3: 0x15,\n\t// Block 0x47, offset 0x11c0\n\t0x11c0: 0x3f, 0x11c1: 0x40, 0x11c2: 0x41, 0x11c3: 0x42, 0x11c4: 0x43, 0x11c5: 0x44, 0x11c6: 0x45, 0x11c7: 0x46,\n\t0x11c8: 0x47, 0x11c9: 0x48, 0x11ca: 0x49, 0x11cb: 0x4a, 0x11cc: 0x4b, 0x11cd: 0x4c, 0x11ce: 0x4d, 0x11cf: 0x4e,\n\t0x11d0: 0x4f, 0x11d1: 0x50, 0x11d2: 0x51, 0x11d3: 0x52, 0x11d4: 0x53, 0x11d5: 0x54, 0x11d6: 0x55, 0x11d7: 0x56,\n\t0x11d8: 0x57, 0x11d9: 0x58, 0x11da: 0x59, 0x11db: 0x5a, 0x11dc: 0x5b, 0x11dd: 0x5c, 0x11de: 0x5d, 0x11df: 0x5e,\n\t0x11e0: 0x5f, 0x11e1: 0x60, 0x11e2: 0x61, 0x11e3: 0x62, 0x11e4: 0x63, 0x11e5: 0x64, 0x11e6: 0x65, 0x11e7: 0x66,\n\t0x11e8: 0x67, 0x11e9: 0x68, 0x11ea: 0x69, 0x11ec: 0x6a, 0x11ed: 0x6b, 0x11ee: 0x6c, 0x11ef: 0x6d,\n\t0x11f0: 0x6e, 0x11f1: 0x6f, 0x11f3: 0x70, 0x11f4: 0x71, 0x11f5: 0x72, 0x11f6: 0x73, 0x11f7: 0x74,\n\t0x11f8: 0x75, 0x11f9: 0x246, 0x11fa: 0x247, 0x11fb: 0x248, 0x11fc: 0x79, 0x11fd: 0x7a, 0x11fe: 0x7b, 0x11ff: 0x7c,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0x7d, 0x1201: 0x7e, 0x1202: 0x7f, 0x1203: 0x80, 0x1204: 0x81, 0x1205: 0x82, 0x1206: 0x83, 0x1207: 0x84,\n\t0x1208: 0x85, 0x1209: 0x86, 0x120a: 0x87, 0x120b: 0x88, 0x120c: 0x89, 0x120d: 0x8a, 0x120e: 0x8b, 0x120f: 0x8c,\n\t0x1210: 0x8d, 0x1211: 0x8e, 0x1212: 0x249, 0x1213: 0x90, 0x1214: 0x91, 0x1215: 0x92, 0x1216: 0x93, 0x1217: 0x94,\n\t0x1218: 0x95, 0x1219: 0x96, 0x121a: 0x97, 0x121b: 0x98, 0x121c: 0x99, 0x121d: 0x9a, 0x121e: 0x9b, 0x121f: 0x9c,\n\t0x1220: 0x9d, 0x1221: 0x9e, 0x1222: 0x9f, 0x1223: 0xa0, 0x1224: 0xa1, 0x1225: 0xa2, 0x1226: 0xa3, 0x1227: 0xa4,\n\t0x1228: 0xa5, 0x1229: 0xa6, 0x122a: 0xa7, 0x122b: 0xa8, 0x122c: 0xa9, 0x122d: 0xaa,\n\t0x1230: 0xab, 0x1231: 0xac, 0x1232: 0xad, 0x1233: 0xae, 0x1234: 0xaf, 0x1235: 0xb0, 0x1236: 0xb1, 0x1237: 0xb2,\n\t0x1238: 0xb3, 0x123a: 0xb4, 0x123b: 0xb5, 0x123c: 0xb6, 0x123d: 0xb7, 0x123e: 0xb8, 0x123f: 0xb9,\n\t// Block 0x49, offset 0x1240\n\t0x1240: 0xba, 0x1241: 0xbb, 0x1242: 0xbc, 0x1243: 0xbd, 0x1244: 0xbe, 0x1245: 0xbf, 0x1246: 0xc0, 0x1247: 0xc1,\n\t0x1248: 0xc2, 0x1249: 0xc3, 0x124a: 0xc4, 0x124b: 0xc5, 0x124c: 0xc6, 0x124d: 0xc7, 0x124e: 0x24a, 0x124f: 0x24b,\n\t// Block 0x4a, offset 0x1280\n\t0x1280: 0x18b, 0x1281: 0x18c, 0x1282: 0x18d, 0x1283: 0x18e, 0x1284: 0x24c, 0x1285: 0x24d, 0x1286: 0x191, 0x1287: 0x192,\n\t0x1288: 0x193, 0x1289: 0x194, 0x128c: 0x195, 0x128d: 0x196, 0x128e: 0x197, 0x128f: 0x198,\n\t0x1290: 0x199, 0x1291: 0x19a, 0x1292: 0x19b, 0x1293: 0x19c, 0x1294: 0x19d, 0x1295: 0x19e, 0x1297: 0x19f,\n\t0x1298: 0x1a0, 0x1299: 0x1a1, 0x129a: 0x1a2, 0x129b: 0x1a3, 0x129c: 0x1a4, 0x129d: 0x1a5,\n\t// Block 0x4b, offset 0x12c0\n\t0x12d0: 0x09, 0x12d1: 0x0a, 0x12d2: 0x0b, 0x12d3: 0x0c, 0x12d6: 0x0d,\n\t0x12db: 0x0e, 0x12dd: 0x0f, 0x12de: 0x10, 0x12df: 0x48,\n\t0x12ef: 0x12,\n\t// Block 0x4c, offset 0x1300\n\t0x1302: 0x01, 0x1303: 0x242, 0x1304: 0x03, 0x1305: 0x243, 0x1306: 0x05, 0x1307: 0x244,\n\t0x1308: 0x245, 0x1309: 0x08, 0x130a: 0x09, 0x130b: 0x0a, 0x130c: 0x0b, 0x130d: 0x0c, 0x130e: 0x0d, 0x130f: 0x0e,\n\t0x1310: 0x0f, 0x1311: 0x10, 0x1312: 0x11, 0x1313: 0x12, 0x1314: 0x13, 0x1315: 0x14, 0x1316: 0x15, 0x1317: 0x16,\n\t0x1318: 0x17, 0x1319: 0x18, 0x131a: 0x19, 0x131b: 0x1a, 0x131c: 0x1b, 0x131d: 0x1c, 0x131e: 0x1d, 0x131f: 0x1e,\n\t0x1320: 0x01, 0x1321: 0x45, 0x1322: 0x46, 0x1323: 0x47, 0x1324: 0x05,\n\t0x132a: 0x06, 0x132d: 0x07, 0x132f: 0x08,\n\t0x1330: 0x49, 0x1333: 0x15,\n\t// Block 0x4d, offset 0x1340\n\t0x1364: 0xfb, 0x1365: 0xfc, 0x1366: 0xfd, 0x1367: 0xfe,\n\t0x1368: 0xff, 0x1369: 0x100, 0x136a: 0x101, 0x136b: 0x102, 0x136c: 0x103, 0x136d: 0x104, 0x136e: 0x252, 0x136f: 0x106,\n\t0x1370: 0x253, 0x1371: 0x254, 0x1372: 0x255, 0x1373: 0x256, 0x1374: 0x257, 0x1375: 0x10c, 0x1376: 0x10d, 0x1377: 0x10e,\n\t0x1378: 0x10f, 0x1379: 0x110, 0x137a: 0x111, 0x137b: 0x112, 0x137c: 0x113, 0x137d: 0x114, 0x137e: 0x115, 0x137f: 0x116,\n\t// Block 0x4e, offset 0x1380\n\t0x1382: 0x01, 0x1383: 0x02, 0x1384: 0x03, 0x1385: 0x04, 0x1386: 0x05, 0x1387: 0x06,\n\t0x1388: 0x07, 0x1389: 0x08, 0x138a: 0x09, 0x138b: 0x0a, 0x138c: 0x0b, 0x138d: 0x0c, 0x138e: 0x0d, 0x138f: 0x0e,\n\t0x1390: 0x0f, 0x1391: 0x10, 0x1392: 0x11, 0x1393: 0x12, 0x1394: 0x13, 0x1395: 0x14, 0x1396: 0x15, 0x1397: 0x16,\n\t0x1398: 0x24e, 0x1399: 0x24f, 0x139a: 0x250, 0x139b: 0x251, 0x139c: 0x1b, 0x139d: 0x1c, 0x139e: 0x1d, 0x139f: 0x1e,\n\t0x13a0: 0x01, 0x13a1: 0x02, 0x13a2: 0x03, 0x13a3: 0x04, 0x13a4: 0x05,\n\t0x13aa: 0x06, 0x13ad: 0x07, 0x13af: 0x4b,\n\t0x13b0: 0x13, 0x13b3: 0x15,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c0: 0x3f, 0x13c1: 0x40, 0x13c2: 0x41, 0x13c3: 0x42, 0x13c4: 0x43, 0x13c5: 0x44, 0x13c6: 0x45, 0x13c7: 0x46,\n\t0x13c8: 0x47, 0x13c9: 0x48, 0x13ca: 0x49, 0x13cb: 0x4a, 0x13cc: 0x4b, 0x13cd: 0x4c, 0x13ce: 0x4d, 0x13cf: 0x4e,\n\t0x13d0: 0x4f, 0x13d1: 0x50, 0x13d2: 0x51, 0x13d3: 0x52, 0x13d4: 0x53, 0x13d5: 0x54, 0x13d6: 0x55, 0x13d7: 0x56,\n\t0x13d8: 0x57, 0x13d9: 0x58, 0x13da: 0x59, 0x13db: 0x5a, 0x13dc: 0x5b, 0x13dd: 0x5c, 0x13de: 0x5d, 0x13df: 0x5e,\n\t0x13e0: 0x5f, 0x13e1: 0x60, 0x13e2: 0x61, 0x13e3: 0x62, 0x13e4: 0x63, 0x13e5: 0x64, 0x13e6: 0x65, 0x13e7: 0x66,\n\t0x13e8: 0x67, 0x13e9: 0x68, 0x13ea: 0x69, 0x13ec: 0x6a, 0x13ed: 0x6b, 0x13ee: 0x6c, 0x13ef: 0x6d,\n\t0x13f0: 0x6e, 0x13f1: 0x6f, 0x13f3: 0x70, 0x13f4: 0x71, 0x13f5: 0x72, 0x13f6: 0x73, 0x13f7: 0x74,\n\t0x13f8: 0x75, 0x13f9: 0x261, 0x13fa: 0x77, 0x13fb: 0x78, 0x13fc: 0x79, 0x13fd: 0x7a, 0x13fe: 0x7b, 0x13ff: 0x7c,\n\t// Block 0x50, offset 0x1400\n\t0x1400: 0x7d, 0x1401: 0x7e, 0x1402: 0x7f, 0x1403: 0x80, 0x1404: 0x262, 0x1405: 0x82, 0x1406: 0x83, 0x1407: 0x84,\n\t0x1408: 0x85, 0x1409: 0x86, 0x140a: 0x87, 0x140b: 0x88, 0x140c: 0x89, 0x140d: 0x8a, 0x140e: 0x8b, 0x140f: 0x8c,\n\t0x1410: 0x8d, 0x1411: 0x8e, 0x1412: 0x8f, 0x1413: 0x90, 0x1414: 0x91, 0x1415: 0x92, 0x1416: 0x93, 0x1417: 0x94,\n\t0x1418: 0x95, 0x1419: 0x96, 0x141a: 0x97, 0x141b: 0x98, 0x141c: 0x99, 0x141d: 0x9a, 0x141e: 0x9b, 0x141f: 0x9c,\n\t0x1420: 0x9d, 0x1421: 0x9e, 0x1422: 0x9f, 0x1423: 0xa0, 0x1424: 0xa1, 0x1425: 0xa2, 0x1426: 0xa3, 0x1427: 0xa4,\n\t0x1428: 0xa5, 0x1429: 0xa6, 0x142a: 0xa7, 0x142b: 0xa8, 0x142c: 0xa9, 0x142d: 0xaa,\n\t0x1430: 0xab, 0x1431: 0xac, 0x1432: 0xad, 0x1433: 0xae, 0x1434: 0xaf, 0x1435: 0xb0, 0x1436: 0xb1, 0x1437: 0xb2,\n\t0x1438: 0xb3, 0x143a: 0xb4, 0x143b: 0xb5, 0x143c: 0xb6, 0x143d: 0xb7, 0x143e: 0xb8, 0x143f: 0xb9,\n\t// Block 0x51, offset 0x1440\n\t0x1442: 0x01, 0x1443: 0x25a, 0x1444: 0x25b, 0x1445: 0x25c, 0x1446: 0x25d, 0x1447: 0x25e,\n\t0x1448: 0x25f, 0x1449: 0x08, 0x144a: 0x260, 0x144b: 0x0a, 0x144c: 0x0b, 0x144d: 0x0c, 0x144e: 0x0d, 0x144f: 0x0e,\n\t0x1450: 0x0f, 0x1451: 0x10, 0x1452: 0x11, 0x1453: 0x12, 0x1454: 0x13, 0x1455: 0x14, 0x1456: 0x15, 0x1457: 0x16,\n\t0x1458: 0x17, 0x1459: 0x18, 0x145a: 0x19, 0x145b: 0x1a, 0x145c: 0x1b, 0x145d: 0x1c, 0x145e: 0x1d, 0x145f: 0x1e,\n\t0x1460: 0x01, 0x1461: 0x4d, 0x1462: 0x4e, 0x1463: 0x04, 0x1464: 0x05,\n\t0x146a: 0x06, 0x146d: 0x07, 0x146f: 0x08,\n\t0x1470: 0x13, 0x1473: 0x15,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x3f, 0x1481: 0x40, 0x1482: 0x41, 0x1483: 0x42, 0x1484: 0x43, 0x1485: 0x44, 0x1486: 0x45, 0x1487: 0x46,\n\t0x1488: 0x47, 0x1489: 0x48, 0x148a: 0x49, 0x148b: 0x4a, 0x148c: 0x4b, 0x148d: 0x4c, 0x148e: 0x4d, 0x148f: 0x4e,\n\t0x1490: 0x4f, 0x1491: 0x50, 0x1492: 0x51, 0x1493: 0x52, 0x1494: 0x53, 0x1495: 0x54, 0x1496: 0x55, 0x1497: 0x56,\n\t0x1498: 0x57, 0x1499: 0x58, 0x149a: 0x59, 0x149b: 0x5a, 0x149c: 0x5b, 0x149d: 0x5c, 0x149e: 0x5d, 0x149f: 0x5e,\n\t0x14a0: 0x5f, 0x14a1: 0x60, 0x14a2: 0x61, 0x14a3: 0x62, 0x14a4: 0x63, 0x14a5: 0x64, 0x14a6: 0x65, 0x14a7: 0x66,\n\t0x14a8: 0x67, 0x14a9: 0x68, 0x14aa: 0x69, 0x14ac: 0x6a, 0x14ad: 0x6b, 0x14ae: 0x6c, 0x14af: 0x6d,\n\t0x14b0: 0x6e, 0x14b1: 0x6f, 0x14b3: 0x70, 0x14b4: 0x71, 0x14b5: 0x72, 0x14b6: 0x1fc, 0x14b7: 0x74,\n\t0x14b8: 0x75, 0x14b9: 0x26a, 0x14ba: 0x26b, 0x14bb: 0x26c, 0x14bc: 0x79, 0x14bd: 0x7a, 0x14be: 0x7b, 0x14bf: 0x7c,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x7d, 0x14c1: 0x7e, 0x14c2: 0x7f, 0x14c3: 0x80, 0x14c4: 0x262, 0x14c5: 0x82, 0x14c6: 0x83, 0x14c7: 0x84,\n\t0x14c8: 0x85, 0x14c9: 0x86, 0x14ca: 0x87, 0x14cb: 0x88, 0x14cc: 0x89, 0x14cd: 0x8a, 0x14ce: 0x8b, 0x14cf: 0x8c,\n\t0x14d0: 0x8d, 0x14d1: 0x8e, 0x14d2: 0x26d, 0x14d3: 0x90, 0x14d4: 0x91, 0x14d5: 0x92, 0x14d6: 0x93, 0x14d7: 0x94,\n\t0x14d8: 0x95, 0x14d9: 0x96, 0x14da: 0x97, 0x14db: 0x98, 0x14dc: 0x99, 0x14dd: 0x9a, 0x14de: 0x9b, 0x14df: 0x9c,\n\t0x14e0: 0x9d, 0x14e1: 0x9e, 0x14e2: 0x9f, 0x14e3: 0xa0, 0x14e4: 0xa1, 0x14e5: 0xa2, 0x14e6: 0xa3, 0x14e7: 0xa4,\n\t0x14e8: 0xa5, 0x14e9: 0xa6, 0x14ea: 0xa7, 0x14eb: 0xa8, 0x14ec: 0xa9, 0x14ed: 0xaa,\n\t0x14f0: 0xab, 0x14f1: 0xac, 0x14f2: 0xad, 0x14f3: 0xae, 0x14f4: 0xaf, 0x14f5: 0xb0, 0x14f6: 0xb1, 0x14f7: 0xb2,\n\t0x14f8: 0xb3, 0x14fa: 0xb4, 0x14fb: 0xb5, 0x14fc: 0xb6, 0x14fd: 0xb7, 0x14fe: 0xb8, 0x14ff: 0xb9,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0xba, 0x1501: 0xbb, 0x1502: 0xbc, 0x1503: 0xbd, 0x1504: 0xbe, 0x1505: 0xbf, 0x1506: 0xc0, 0x1507: 0xc1,\n\t0x1508: 0xc2, 0x1509: 0xc3, 0x150a: 0xc4, 0x150b: 0xc5, 0x150c: 0xc6, 0x150d: 0xc7, 0x150e: 0x26e, 0x150f: 0x24b,\n\t// Block 0x55, offset 0x1540\n\t0x1540: 0x18b, 0x1541: 0x18c, 0x1542: 0x18d, 0x1543: 0x18e, 0x1544: 0x26f, 0x1545: 0x24d, 0x1546: 0x191, 0x1547: 0x192,\n\t0x1548: 0x193, 0x1549: 0x194, 0x154c: 0x195, 0x154d: 0x196, 0x154e: 0x197, 0x154f: 0x198,\n\t0x1550: 0x199, 0x1551: 0x19a, 0x1552: 0x19b, 0x1553: 0x19c, 0x1554: 0x19d, 0x1555: 0x19e, 0x1557: 0x19f,\n\t0x1558: 0x1a0, 0x1559: 0x1a1, 0x155a: 0x1a2, 0x155b: 0x1a3, 0x155c: 0x1a4, 0x155d: 0x1a5,\n\t// Block 0x56, offset 0x1580\n\t0x1590: 0x09, 0x1591: 0x0a, 0x1592: 0x0b, 0x1593: 0x0c, 0x1596: 0x0d,\n\t0x159b: 0x0e, 0x159d: 0x0f, 0x159e: 0x10, 0x159f: 0x53,\n\t0x15af: 0x12,\n\t// Block 0x57, offset 0x15c0\n\t0x15c2: 0x01, 0x15c3: 0x265, 0x15c4: 0x266, 0x15c5: 0x267, 0x15c6: 0x05, 0x15c7: 0x268,\n\t0x15c8: 0x269, 0x15c9: 0x08, 0x15ca: 0x09, 0x15cb: 0x0a, 0x15cc: 0x0b, 0x15cd: 0x0c, 0x15ce: 0x0d, 0x15cf: 0x0e,\n\t0x15d0: 0x0f, 0x15d1: 0x10, 0x15d2: 0x11, 0x15d3: 0x12, 0x15d4: 0x13, 0x15d5: 0x14, 0x15d6: 0x15, 0x15d7: 0x16,\n\t0x15d8: 0x17, 0x15d9: 0x18, 0x15da: 0x19, 0x15db: 0x1a, 0x15dc: 0x1b, 0x15dd: 0x1c, 0x15de: 0x1d, 0x15df: 0x1e,\n\t0x15e0: 0x01, 0x15e1: 0x50, 0x15e2: 0x51, 0x15e3: 0x52, 0x15e4: 0x05,\n\t0x15ea: 0x06, 0x15ed: 0x07, 0x15ef: 0x08,\n\t0x15f0: 0x54, 0x15f3: 0x15,\n\t// Block 0x58, offset 0x1600\n\t0x1620: 0x1f, 0x1621: 0x20, 0x1622: 0x21, 0x1623: 0x22, 0x1624: 0x23, 0x1625: 0x24, 0x1626: 0x25, 0x1627: 0x26,\n\t0x1628: 0x27, 0x1629: 0x28, 0x162a: 0x272, 0x162b: 0x2a, 0x162c: 0x2b, 0x162d: 0x2c, 0x162e: 0x2d, 0x162f: 0x2e,\n\t0x1630: 0x2f, 0x1631: 0x30, 0x1632: 0x31, 0x1633: 0x32, 0x1634: 0x33, 0x1635: 0x34, 0x1636: 0x35, 0x1637: 0x36,\n\t0x1638: 0x37, 0x1639: 0x38, 0x163a: 0x39, 0x163b: 0x3a, 0x163c: 0x3b, 0x163d: 0x3c, 0x163e: 0x3d, 0x163f: 0x3e,\n\t// Block 0x59, offset 0x1640\n\t0x1642: 0x01, 0x1643: 0x02, 0x1644: 0x03, 0x1645: 0x04, 0x1646: 0x05, 0x1647: 0x06,\n\t0x1648: 0x07, 0x1649: 0x08, 0x164a: 0x09, 0x164b: 0x0a, 0x164c: 0x0b, 0x164d: 0x0c, 0x164e: 0x0d, 0x164f: 0x0e,\n\t0x1650: 0x0f, 0x1651: 0x10, 0x1652: 0x11, 0x1653: 0x12, 0x1654: 0x13, 0x1655: 0x14, 0x1656: 0x15, 0x1657: 0x16,\n\t0x1658: 0x17, 0x1659: 0x18, 0x165a: 0x19, 0x165b: 0x1a, 0x165c: 0x1b, 0x165d: 0x1c, 0x165e: 0x1d, 0x165f: 0x1e,\n\t0x1660: 0x56, 0x1661: 0x02, 0x1662: 0x03, 0x1663: 0x04, 0x1664: 0x05,\n\t0x166a: 0x06, 0x166d: 0x07, 0x166f: 0x08,\n\t0x1670: 0x13, 0x1673: 0x15,\n\t// Block 0x5a, offset 0x1680\n\t0x1682: 0x01, 0x1683: 0x02, 0x1684: 0x03, 0x1685: 0x04, 0x1686: 0x275, 0x1687: 0x06,\n\t0x1688: 0x07, 0x1689: 0x276, 0x168a: 0x277, 0x168b: 0x0a, 0x168c: 0x0b, 0x168d: 0x0c, 0x168e: 0x0d, 0x168f: 0x0e,\n\t0x1690: 0x0f, 0x1691: 0x10, 0x1692: 0x11, 0x1693: 0x12, 0x1694: 0x13, 0x1695: 0x14, 0x1696: 0x15, 0x1697: 0x16,\n\t0x1698: 0x17, 0x1699: 0x18, 0x169a: 0x19, 0x169b: 0x1a, 0x169c: 0x1b, 0x169d: 0x1c, 0x169e: 0x1d, 0x169f: 0x1e,\n\t0x16a0: 0x01, 0x16a1: 0x02, 0x16a2: 0x03, 0x16a3: 0x04, 0x16a4: 0x05,\n\t0x16aa: 0x06, 0x16ad: 0x07, 0x16af: 0x08,\n\t0x16b0: 0x13, 0x16b3: 0x15,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x3f, 0x16c1: 0x40, 0x16c2: 0x41, 0x16c3: 0x42, 0x16c4: 0x43, 0x16c5: 0x44, 0x16c6: 0x45, 0x16c7: 0x46,\n\t0x16c8: 0x47, 0x16c9: 0x48, 0x16ca: 0x49, 0x16cb: 0x4a, 0x16cc: 0x4b, 0x16cd: 0x4c, 0x16ce: 0x4d, 0x16cf: 0x4e,\n\t0x16d0: 0x4f, 0x16d1: 0x50, 0x16d2: 0x51, 0x16d3: 0x52, 0x16d4: 0x53, 0x16d5: 0x54, 0x16d6: 0x55, 0x16d7: 0x56,\n\t0x16d8: 0x57, 0x16d9: 0x58, 0x16da: 0x59, 0x16db: 0x5a, 0x16dc: 0x5b, 0x16dd: 0x5c, 0x16de: 0x5d, 0x16df: 0x5e,\n\t0x16e0: 0x5f, 0x16e1: 0x60, 0x16e2: 0x61, 0x16e3: 0x62, 0x16e4: 0x63, 0x16e5: 0x64, 0x16e6: 0x65, 0x16e7: 0x66,\n\t0x16e8: 0x67, 0x16e9: 0x68, 0x16ea: 0x69, 0x16ec: 0x6a, 0x16ed: 0x6b, 0x16ee: 0x6c, 0x16ef: 0x6d,\n\t0x16f0: 0x6e, 0x16f1: 0x6f, 0x16f3: 0x70, 0x16f4: 0x71, 0x16f5: 0x72, 0x16f6: 0x73, 0x16f7: 0x74,\n\t0x16f8: 0x281, 0x16f9: 0x282, 0x16fa: 0x283, 0x16fb: 0x284, 0x16fc: 0x79, 0x16fd: 0x7a, 0x16fe: 0x7b, 0x16ff: 0x7c,\n\t// Block 0x5c, offset 0x1700\n\t0x1700: 0x7d, 0x1701: 0x7e, 0x1702: 0x7f, 0x1703: 0x80, 0x1704: 0x285, 0x1705: 0x1bf, 0x1706: 0x83, 0x1707: 0x84,\n\t0x1708: 0x85, 0x1709: 0x86, 0x170a: 0x87, 0x170b: 0x88, 0x170c: 0x89, 0x170d: 0x8a, 0x170e: 0x8b, 0x170f: 0x8c,\n\t0x1710: 0x8d, 0x1711: 0x8e, 0x1712: 0x286, 0x1713: 0x90, 0x1714: 0x91, 0x1715: 0x92, 0x1716: 0x93, 0x1717: 0x94,\n\t0x1718: 0x95, 0x1719: 0x96, 0x171a: 0x97, 0x171b: 0x98, 0x171c: 0x99, 0x171d: 0x9a, 0x171e: 0x9b, 0x171f: 0x9c,\n\t0x1720: 0x9d, 0x1721: 0x9e, 0x1722: 0x9f, 0x1723: 0xa0, 0x1724: 0xa1, 0x1725: 0xa2, 0x1726: 0xa3, 0x1727: 0xa4,\n\t0x1728: 0xa5, 0x1729: 0xa6, 0x172a: 0xa7, 0x172b: 0xa8, 0x172c: 0xa9, 0x172d: 0xaa,\n\t0x1730: 0xab, 0x1731: 0xac, 0x1732: 0xad, 0x1733: 0xae, 0x1734: 0xaf, 0x1735: 0xb0, 0x1736: 0xb1, 0x1737: 0xb2,\n\t0x1738: 0xb3, 0x173a: 0xb4, 0x173b: 0xb5, 0x173c: 0xb6, 0x173d: 0xb7, 0x173e: 0xb8, 0x173f: 0xb9,\n\t// Block 0x5d, offset 0x1740\n\t0x1740: 0xba, 0x1741: 0xbb, 0x1742: 0xbc, 0x1743: 0xbd, 0x1744: 0xbe, 0x1745: 0xbf, 0x1746: 0xc0, 0x1747: 0xc1,\n\t0x1748: 0xc2, 0x1749: 0xc3, 0x174a: 0xc4, 0x174b: 0x1c1, 0x174c: 0xc6, 0x174d: 0x287, 0x174e: 0x288, 0x174f: 0x289,\n\t// Block 0x5e, offset 0x1780\n\t0x17a4: 0xfb, 0x17a5: 0xfc, 0x17a6: 0xfd, 0x17a7: 0xfe,\n\t0x17a8: 0xff, 0x17a9: 0x100, 0x17aa: 0x101, 0x17ab: 0x102, 0x17ac: 0x28a, 0x17ad: 0x104, 0x17ae: 0x105, 0x17af: 0x106,\n\t0x17b0: 0x107, 0x17b1: 0x108, 0x17b2: 0x109, 0x17b3: 0x10a, 0x17b4: 0x10b, 0x17b5: 0x10c, 0x17b6: 0x10d, 0x17b7: 0x10e,\n\t0x17b8: 0x10f, 0x17b9: 0x110, 0x17ba: 0x111, 0x17bb: 0x112, 0x17bc: 0x113, 0x17bd: 0x114, 0x17be: 0x115, 0x17bf: 0x116,\n\t// Block 0x5f, offset 0x17c0\n\t0x17c0: 0x18b, 0x17c1: 0x18c, 0x17c2: 0x18d, 0x17c3: 0x18e, 0x17c4: 0x28b, 0x17c5: 0x28c, 0x17c6: 0x191, 0x17c7: 0x192,\n\t0x17c8: 0x193, 0x17c9: 0x194, 0x17cc: 0x195, 0x17cd: 0x196, 0x17ce: 0x197, 0x17cf: 0x198,\n\t0x17d0: 0x199, 0x17d1: 0x19a, 0x17d2: 0x19b, 0x17d3: 0x19c, 0x17d4: 0x19d, 0x17d5: 0x19e, 0x17d7: 0x19f,\n\t0x17d8: 0x1a0, 0x17d9: 0x1a1, 0x17da: 0x1a2, 0x17db: 0x1a3, 0x17dc: 0x1a4, 0x17dd: 0x1a5,\n\t// Block 0x60, offset 0x1800\n\t0x1810: 0x09, 0x1811: 0x0a, 0x1812: 0x0b, 0x1813: 0x0c, 0x1816: 0x0d,\n\t0x181b: 0x0e, 0x181d: 0x0f, 0x181e: 0x10, 0x181f: 0x5d,\n\t0x182f: 0x12,\n\t// Block 0x61, offset 0x1840\n\t0x1842: 0x01, 0x1843: 0x27a, 0x1844: 0x27b, 0x1845: 0x27c, 0x1846: 0x27d, 0x1847: 0x27e,\n\t0x1848: 0x27f, 0x1849: 0x08, 0x184a: 0x280, 0x184b: 0x0a, 0x184c: 0x0b, 0x184d: 0x0c, 0x184e: 0x0d, 0x184f: 0x0e,\n\t0x1850: 0x0f, 0x1851: 0x10, 0x1852: 0x11, 0x1853: 0x12, 0x1854: 0x13, 0x1855: 0x14, 0x1856: 0x15, 0x1857: 0x16,\n\t0x1858: 0x17, 0x1859: 0x18, 0x185a: 0x19, 0x185b: 0x1a, 0x185c: 0x1b, 0x185d: 0x1c, 0x185e: 0x1d, 0x185f: 0x1e,\n\t0x1860: 0x01, 0x1861: 0x59, 0x1862: 0x5a, 0x1863: 0x5b, 0x1864: 0x05,\n\t0x186a: 0x06, 0x186d: 0x07, 0x186f: 0x5c,\n\t0x1870: 0x5e, 0x1873: 0x15,\n\t// Block 0x62, offset 0x1880\n\t0x1882: 0x01, 0x1883: 0x02, 0x1884: 0x03, 0x1885: 0x04, 0x1886: 0x05, 0x1887: 0x06,\n\t0x1888: 0x07, 0x1889: 0x08, 0x188a: 0x09, 0x188b: 0x0a, 0x188c: 0x0b, 0x188d: 0x0c, 0x188e: 0x0d, 0x188f: 0x0e,\n\t0x1890: 0x0f, 0x1891: 0x10, 0x1892: 0x11, 0x1893: 0x12, 0x1894: 0x13, 0x1895: 0x14, 0x1896: 0x15, 0x1897: 0x28d,\n\t0x1898: 0x17, 0x1899: 0x18, 0x189a: 0x19, 0x189b: 0x1a, 0x189c: 0x1b, 0x189d: 0x1c, 0x189e: 0x1d, 0x189f: 0x1e,\n\t0x18a0: 0x01, 0x18a1: 0x02, 0x18a2: 0x03, 0x18a3: 0x04, 0x18a4: 0x05,\n\t0x18aa: 0x06, 0x18ad: 0x07, 0x18af: 0x08,\n\t0x18b0: 0x13, 0x18b3: 0x15,\n\t// Block 0x63, offset 0x18c0\n\t0x18e0: 0x1f, 0x18e1: 0x20, 0x18e2: 0x21, 0x18e3: 0x22, 0x18e4: 0x28e, 0x18e5: 0x24, 0x18e6: 0x25, 0x18e7: 0x26,\n\t0x18e8: 0x27, 0x18e9: 0x28, 0x18ea: 0x29, 0x18eb: 0x2a, 0x18ec: 0x2b, 0x18ed: 0x2c, 0x18ee: 0x2d, 0x18ef: 0x2e,\n\t0x18f0: 0x2f, 0x18f1: 0x30, 0x18f2: 0x31, 0x18f3: 0x32, 0x18f4: 0x33, 0x18f5: 0x34, 0x18f6: 0x35, 0x18f7: 0x36,\n\t0x18f8: 0x37, 0x18f9: 0x38, 0x18fa: 0x39, 0x18fb: 0x3a, 0x18fc: 0x3b, 0x18fd: 0x3c, 0x18fe: 0x3d, 0x18ff: 0x3e,\n\t// Block 0x64, offset 0x1900\n\t0x1902: 0x01, 0x1903: 0x02, 0x1904: 0x03, 0x1905: 0x04, 0x1906: 0x05, 0x1907: 0x06,\n\t0x1908: 0x07, 0x1909: 0x08, 0x190a: 0x09, 0x190b: 0x0a, 0x190c: 0x0b, 0x190d: 0x0c, 0x190e: 0x0d, 0x190f: 0x0e,\n\t0x1910: 0x0f, 0x1911: 0x10, 0x1912: 0x11, 0x1913: 0x12, 0x1914: 0x13, 0x1915: 0x14, 0x1916: 0x15, 0x1917: 0x16,\n\t0x1918: 0x17, 0x1919: 0x18, 0x191a: 0x19, 0x191b: 0x1a, 0x191c: 0x1b, 0x191d: 0x1c, 0x191e: 0x1d, 0x191f: 0x1e,\n\t0x1920: 0x61, 0x1921: 0x02, 0x1922: 0x03, 0x1923: 0x04, 0x1924: 0x05,\n\t0x192a: 0x06, 0x192d: 0x07, 0x192f: 0x08,\n\t0x1930: 0x13, 0x1933: 0x15,\n\t// Block 0x65, offset 0x1940\n\t0x1940: 0x3f, 0x1941: 0x40, 0x1942: 0x41, 0x1943: 0x42, 0x1944: 0x43, 0x1945: 0x44, 0x1946: 0x45, 0x1947: 0x46,\n\t0x1948: 0x47, 0x1949: 0x48, 0x194a: 0x49, 0x194b: 0x4a, 0x194c: 0x4b, 0x194d: 0x4c, 0x194e: 0x4d, 0x194f: 0x4e,\n\t0x1950: 0x4f, 0x1951: 0x50, 0x1952: 0x51, 0x1953: 0x52, 0x1954: 0x53, 0x1955: 0x54, 0x1956: 0x55, 0x1957: 0x56,\n\t0x1958: 0x57, 0x1959: 0x58, 0x195a: 0x59, 0x195b: 0x5a, 0x195c: 0x5b, 0x195d: 0x5c, 0x195e: 0x5d, 0x195f: 0x5e,\n\t0x1960: 0x5f, 0x1961: 0x60, 0x1962: 0x61, 0x1963: 0x62, 0x1964: 0x63, 0x1965: 0x64, 0x1966: 0x65, 0x1967: 0x66,\n\t0x1968: 0x67, 0x1969: 0x68, 0x196a: 0x69, 0x196c: 0x6a, 0x196d: 0x6b, 0x196e: 0x6c, 0x196f: 0x6d,\n\t0x1970: 0x6e, 0x1971: 0x6f, 0x1973: 0x70, 0x1974: 0x71, 0x1975: 0x72, 0x1976: 0x73, 0x1977: 0x74,\n\t0x1978: 0x294, 0x1979: 0x1f2, 0x197a: 0x77, 0x197b: 0x78, 0x197c: 0x79, 0x197d: 0x7a, 0x197e: 0x7b, 0x197f: 0x7c,\n\t// Block 0x66, offset 0x1980\n\t0x1982: 0x01, 0x1983: 0x02, 0x1984: 0x291, 0x1985: 0x292, 0x1986: 0x05, 0x1987: 0x293,\n\t0x1988: 0x07, 0x1989: 0x08, 0x198a: 0x09, 0x198b: 0x0a, 0x198c: 0x0b, 0x198d: 0x0c, 0x198e: 0x0d, 0x198f: 0x0e,\n\t0x1990: 0x0f, 0x1991: 0x10, 0x1992: 0x11, 0x1993: 0x12, 0x1994: 0x13, 0x1995: 0x14, 0x1996: 0x15, 0x1997: 0x16,\n\t0x1998: 0x17, 0x1999: 0x18, 0x199a: 0x19, 0x199b: 0x1a, 0x199c: 0x1b, 0x199d: 0x1c, 0x199e: 0x1d, 0x199f: 0x1e,\n\t0x19a0: 0x01, 0x19a1: 0x63, 0x19a2: 0x03, 0x19a3: 0x04, 0x19a4: 0x05,\n\t0x19aa: 0x06, 0x19ad: 0x07, 0x19af: 0x08,\n\t0x19b0: 0x13, 0x19b3: 0x15,\n\t// Block 0x67, offset 0x19c0\n\t0x19c0: 0x3f, 0x19c1: 0x40, 0x19c2: 0x41, 0x19c3: 0x42, 0x19c4: 0x43, 0x19c5: 0x44, 0x19c6: 0x45, 0x19c7: 0x46,\n\t0x19c8: 0x47, 0x19c9: 0x48, 0x19ca: 0x49, 0x19cb: 0x4a, 0x19cc: 0x4b, 0x19cd: 0x4c, 0x19ce: 0x4d, 0x19cf: 0x4e,\n\t0x19d0: 0x4f, 0x19d1: 0x50, 0x19d2: 0x51, 0x19d3: 0x52, 0x19d4: 0x53, 0x19d5: 0x54, 0x19d6: 0x55, 0x19d7: 0x56,\n\t0x19d8: 0x57, 0x19d9: 0x58, 0x19da: 0x59, 0x19db: 0x5a, 0x19dc: 0x5b, 0x19dd: 0x5c, 0x19de: 0x5d, 0x19df: 0x5e,\n\t0x19e0: 0x5f, 0x19e1: 0x60, 0x19e2: 0x61, 0x19e3: 0x62, 0x19e4: 0x63, 0x19e5: 0x64, 0x19e6: 0x65, 0x19e7: 0x66,\n\t0x19e8: 0x67, 0x19e9: 0x68, 0x19ea: 0x69, 0x19ec: 0x6a, 0x19ed: 0x6b, 0x19ee: 0x6c, 0x19ef: 0x6d,\n\t0x19f0: 0x6e, 0x19f1: 0x6f, 0x19f3: 0x70, 0x19f4: 0x71, 0x19f5: 0x72, 0x19f6: 0x73, 0x19f7: 0x74,\n\t0x19f8: 0x75, 0x19f9: 0x1df, 0x19fa: 0x77, 0x19fb: 0x78, 0x19fc: 0x79, 0x19fd: 0x7a, 0x19fe: 0x7b, 0x19ff: 0x7c,\n\t// Block 0x68, offset 0x1a00\n\t0x1a02: 0x01, 0x1a03: 0x297, 0x1a04: 0x03, 0x1a05: 0x298, 0x1a06: 0x05, 0x1a07: 0x299,\n\t0x1a08: 0x29a, 0x1a09: 0x08, 0x1a0a: 0x09, 0x1a0b: 0x0a, 0x1a0c: 0x0b, 0x1a0d: 0x0c, 0x1a0e: 0x0d, 0x1a0f: 0x0e,\n\t0x1a10: 0x0f, 0x1a11: 0x10, 0x1a12: 0x11, 0x1a13: 0x12, 0x1a14: 0x13, 0x1a15: 0x14, 0x1a16: 0x15, 0x1a17: 0x16,\n\t0x1a18: 0x17, 0x1a19: 0x18, 0x1a1a: 0x19, 0x1a1b: 0x1a, 0x1a1c: 0x1b, 0x1a1d: 0x1c, 0x1a1e: 0x1d, 0x1a1f: 0x1e,\n\t0x1a20: 0x01, 0x1a21: 0x65, 0x1a22: 0x03, 0x1a23: 0x04, 0x1a24: 0x05,\n\t0x1a2a: 0x06, 0x1a2d: 0x07, 0x1a2f: 0x08,\n\t0x1a30: 0x13, 0x1a33: 0x15,\n\t// Block 0x69, offset 0x1a40\n\t0x1a42: 0x01, 0x1a43: 0x02, 0x1a44: 0x03, 0x1a45: 0x04, 0x1a46: 0x05, 0x1a47: 0x06,\n\t0x1a48: 0x07, 0x1a49: 0x08, 0x1a4a: 0x09, 0x1a4b: 0x0a, 0x1a4c: 0x0b, 0x1a4d: 0x0c, 0x1a4e: 0x0d, 0x1a4f: 0x0e,\n\t0x1a50: 0x0f, 0x1a51: 0x10, 0x1a52: 0x11, 0x1a53: 0x12, 0x1a54: 0x29b, 0x1a55: 0x14, 0x1a56: 0x29c, 0x1a57: 0x16,\n\t0x1a58: 0x17, 0x1a59: 0x18, 0x1a5a: 0x19, 0x1a5b: 0x1a, 0x1a5c: 0x1b, 0x1a5d: 0x1c, 0x1a5e: 0x1d, 0x1a5f: 0x1e,\n\t0x1a60: 0x01, 0x1a61: 0x02, 0x1a62: 0x03, 0x1a63: 0x04, 0x1a64: 0x05,\n\t0x1a6a: 0x06, 0x1a6d: 0x07, 0x1a6f: 0x08,\n\t0x1a70: 0x13, 0x1a73: 0x15,\n\t// Block 0x6a, offset 0x1a80\n\t0x1a80: 0x3f, 0x1a81: 0x40, 0x1a82: 0x41, 0x1a83: 0x42, 0x1a84: 0x43, 0x1a85: 0x44, 0x1a86: 0x45, 0x1a87: 0x46,\n\t0x1a88: 0x47, 0x1a89: 0x48, 0x1a8a: 0x49, 0x1a8b: 0x4a, 0x1a8c: 0x4b, 0x1a8d: 0x4c, 0x1a8e: 0x4d, 0x1a8f: 0x4e,\n\t0x1a90: 0x4f, 0x1a91: 0x50, 0x1a92: 0x51, 0x1a93: 0x52, 0x1a94: 0x53, 0x1a95: 0x54, 0x1a96: 0x55, 0x1a97: 0x56,\n\t0x1a98: 0x57, 0x1a99: 0x58, 0x1a9a: 0x59, 0x1a9b: 0x5a, 0x1a9c: 0x5b, 0x1a9d: 0x5c, 0x1a9e: 0x5d, 0x1a9f: 0x5e,\n\t0x1aa0: 0x5f, 0x1aa1: 0x60, 0x1aa2: 0x61, 0x1aa3: 0x62, 0x1aa4: 0x63, 0x1aa5: 0x64, 0x1aa6: 0x65, 0x1aa7: 0x66,\n\t0x1aa8: 0x67, 0x1aa9: 0x68, 0x1aaa: 0x69, 0x1aac: 0x6a, 0x1aad: 0x6b, 0x1aae: 0x6c, 0x1aaf: 0x6d,\n\t0x1ab0: 0x6e, 0x1ab1: 0x6f, 0x1ab3: 0x70, 0x1ab4: 0x71, 0x1ab5: 0x72, 0x1ab6: 0x73, 0x1ab7: 0x74,\n\t0x1ab8: 0x75, 0x1ab9: 0x29f, 0x1aba: 0x77, 0x1abb: 0x2a0, 0x1abc: 0x79, 0x1abd: 0x7a, 0x1abe: 0x7b, 0x1abf: 0x7c,\n\t// Block 0x6b, offset 0x1ac0\n\t0x1ac2: 0x01, 0x1ac3: 0x02, 0x1ac4: 0x03, 0x1ac5: 0x04, 0x1ac6: 0x05, 0x1ac7: 0x06,\n\t0x1ac8: 0x07, 0x1ac9: 0x08, 0x1aca: 0x09, 0x1acb: 0x0a, 0x1acc: 0x0b, 0x1acd: 0x0c, 0x1ace: 0x0d, 0x1acf: 0x0e,\n\t0x1ad0: 0x0f, 0x1ad1: 0x10, 0x1ad2: 0x11, 0x1ad3: 0x12, 0x1ad4: 0x13, 0x1ad5: 0x14, 0x1ad6: 0x15, 0x1ad7: 0x16,\n\t0x1ad8: 0x17, 0x1ad9: 0x18, 0x1ada: 0x19, 0x1adb: 0x1a, 0x1adc: 0x1b, 0x1add: 0x1c, 0x1ade: 0x1d, 0x1adf: 0x1e,\n\t0x1ae0: 0x01, 0x1ae1: 0x68, 0x1ae2: 0x03, 0x1ae3: 0x04, 0x1ae4: 0x05,\n\t0x1aea: 0x06, 0x1aed: 0x07, 0x1aef: 0x08,\n\t0x1af0: 0x13, 0x1af3: 0x15,\n\t// Block 0x6c, offset 0x1b00\n\t0x1b00: 0x3f, 0x1b01: 0x40, 0x1b02: 0x41, 0x1b03: 0x42, 0x1b04: 0x43, 0x1b05: 0x44, 0x1b06: 0x45, 0x1b07: 0x46,\n\t0x1b08: 0x47, 0x1b09: 0x48, 0x1b0a: 0x49, 0x1b0b: 0x4a, 0x1b0c: 0x4b, 0x1b0d: 0x4c, 0x1b0e: 0x4d, 0x1b0f: 0x4e,\n\t0x1b10: 0x4f, 0x1b11: 0x50, 0x1b12: 0x51, 0x1b13: 0x52, 0x1b14: 0x53, 0x1b15: 0x54, 0x1b16: 0x55, 0x1b17: 0x56,\n\t0x1b18: 0x57, 0x1b19: 0x58, 0x1b1a: 0x59, 0x1b1b: 0x5a, 0x1b1c: 0x5b, 0x1b1d: 0x5c, 0x1b1e: 0x5d, 0x1b1f: 0x5e,\n\t0x1b20: 0x5f, 0x1b21: 0x60, 0x1b22: 0x61, 0x1b23: 0x62, 0x1b24: 0x63, 0x1b25: 0x64, 0x1b26: 0x65, 0x1b27: 0x66,\n\t0x1b28: 0x67, 0x1b29: 0x68, 0x1b2a: 0x69, 0x1b2c: 0x6a, 0x1b2d: 0x6b, 0x1b2e: 0x6c, 0x1b2f: 0x6d,\n\t0x1b30: 0x6e, 0x1b31: 0x6f, 0x1b33: 0x70, 0x1b34: 0x71, 0x1b35: 0x72, 0x1b36: 0x1fc, 0x1b37: 0x74,\n\t0x1b38: 0x2a7, 0x1b39: 0x2a8, 0x1b3a: 0x2a9, 0x1b3b: 0x2aa, 0x1b3c: 0x79, 0x1b3d: 0x7a, 0x1b3e: 0x7b, 0x1b3f: 0x7c,\n\t// Block 0x6d, offset 0x1b40\n\t0x1b42: 0x01, 0x1b43: 0x2a3, 0x1b44: 0x2a4, 0x1b45: 0x04, 0x1b46: 0x05, 0x1b47: 0x2a5,\n\t0x1b48: 0x2a6, 0x1b49: 0x08, 0x1b4a: 0x09, 0x1b4b: 0x0a, 0x1b4c: 0x0b, 0x1b4d: 0x0c, 0x1b4e: 0x0d, 0x1b4f: 0x0e,\n\t0x1b50: 0x0f, 0x1b51: 0x10, 0x1b52: 0x11, 0x1b53: 0x12, 0x1b54: 0x13, 0x1b55: 0x14, 0x1b56: 0x15, 0x1b57: 0x16,\n\t0x1b58: 0x17, 0x1b59: 0x18, 0x1b5a: 0x19, 0x1b5b: 0x1a, 0x1b5c: 0x1b, 0x1b5d: 0x1c, 0x1b5e: 0x1d, 0x1b5f: 0x1e,\n\t0x1b60: 0x01, 0x1b61: 0x6a, 0x1b62: 0x30, 0x1b63: 0x04, 0x1b64: 0x05,\n\t0x1b6a: 0x06, 0x1b6d: 0x07, 0x1b6f: 0x08,\n\t0x1b70: 0x13, 0x1b73: 0x15,\n\t// Block 0x6e, offset 0x1b80\n\t0x1b80: 0x2ab, 0x1b81: 0x2ac, 0x1b82: 0x2ad, 0x1b83: 0x2ae, 0x1b84: 0x2af, 0x1b85: 0x2b0, 0x1b86: 0xc0, 0x1b87: 0x2b1,\n\t0x1b88: 0x2b2, 0x1b89: 0x2b3, 0x1b8a: 0xc4, 0x1b8b: 0x2b4, 0x1b8c: 0xc6, 0x1b8d: 0x2b5, 0x1b8e: 0xc8, 0x1b8f: 0x2b6,\n\t// Block 0x6f, offset 0x1bc0\n\t0x1bf7: 0xca,\n\t0x1bf8: 0x2b7, 0x1bf9: 0x2b8, 0x1bfa: 0x2b9, 0x1bfb: 0x2ba, 0x1bfc: 0x2bb, 0x1bfd: 0x2bc, 0x1bfe: 0x2bd, 0x1bff: 0x2be,\n\t// Block 0x70, offset 0x1c00\n\t0x1c00: 0x2bf, 0x1c01: 0x2c0, 0x1c02: 0x2c1, 0x1c03: 0x2c2, 0x1c04: 0x2c3, 0x1c05: 0x2c4, 0x1c06: 0x2c5, 0x1c07: 0x2c6,\n\t0x1c08: 0x2c7, 0x1c09: 0x2c8, 0x1c0a: 0x2c9, 0x1c0b: 0x2ca, 0x1c0c: 0x2cb, 0x1c0d: 0x2cc, 0x1c0e: 0x2cd, 0x1c0f: 0x2ce,\n\t0x1c10: 0x2cf, 0x1c11: 0x2d0, 0x1c12: 0x2d1, 0x1c13: 0x2d2, 0x1c14: 0x2d3, 0x1c15: 0x2d4, 0x1c16: 0x2d5, 0x1c17: 0x2d6,\n\t0x1c18: 0x2d7, 0x1c19: 0x2d8, 0x1c1a: 0x2d9, 0x1c1b: 0x2da, 0x1c1c: 0x2db, 0x1c1d: 0x2dc, 0x1c1e: 0x2dd, 0x1c1f: 0x2de,\n\t0x1c20: 0x2df, 0x1c21: 0x2e0, 0x1c22: 0x2e1, 0x1c23: 0x2e2, 0x1c24: 0x2e3, 0x1c25: 0x2e4, 0x1c26: 0x2e5, 0x1c27: 0x2e6,\n\t0x1c28: 0x2e7, 0x1c29: 0x2e8, 0x1c2a: 0x2e9, 0x1c2b: 0x2ea, 0x1c2c: 0x2eb, 0x1c2d: 0x2ec, 0x1c2e: 0x2ed, 0x1c2f: 0x2ee,\n\t0x1c30: 0x2ef, 0x1c31: 0x2f0, 0x1c32: 0x2f1, 0x1c33: 0x2f2, 0x1c34: 0x2f3, 0x1c35: 0x2f4, 0x1c36: 0x2f5, 0x1c37: 0x2f6,\n\t0x1c38: 0x2f7, 0x1c39: 0x2f8, 0x1c3a: 0x2f9, 0x1c3b: 0x2fa, 0x1c3c: 0x2fb, 0x1c3d: 0x2fc, 0x1c3e: 0x2fd, 0x1c3f: 0x2fe,\n\t// Block 0x71, offset 0x1c40\n\t0x1c40: 0x2ff, 0x1c41: 0x300, 0x1c42: 0x301, 0x1c43: 0x302, 0x1c44: 0x303, 0x1c45: 0x304, 0x1c46: 0x305, 0x1c47: 0x306,\n\t0x1c48: 0x307, 0x1c49: 0x308, 0x1c4a: 0x309, 0x1c4b: 0x30a, 0x1c4c: 0x30b, 0x1c4d: 0x30c, 0x1c4e: 0x30d, 0x1c4f: 0x30e,\n\t0x1c50: 0x30f, 0x1c51: 0x310, 0x1c52: 0x311, 0x1c53: 0x312, 0x1c54: 0x313, 0x1c55: 0x314, 0x1c56: 0x315, 0x1c57: 0x316,\n\t0x1c58: 0x317, 0x1c59: 0x318, 0x1c5a: 0x319, 0x1c5b: 0x31a, 0x1c5c: 0x31b, 0x1c5d: 0x31c, 0x1c5e: 0x31d, 0x1c5f: 0x31e,\n\t0x1c60: 0x31f, 0x1c61: 0x320, 0x1c62: 0x321, 0x1c63: 0x322, 0x1c64: 0x323, 0x1c65: 0x324, 0x1c66: 0x325, 0x1c67: 0x326,\n\t0x1c68: 0x327, 0x1c69: 0x328, 0x1c6a: 0x329, 0x1c6b: 0x32a, 0x1c6c: 0x32b, 0x1c6d: 0x32c, 0x1c6e: 0x32d, 0x1c6f: 0x32e,\n\t0x1c70: 0x32f, 0x1c71: 0x330, 0x1c72: 0x331, 0x1c73: 0x332, 0x1c74: 0x333, 0x1c75: 0x334, 0x1c76: 0x335, 0x1c77: 0x336,\n\t0x1c78: 0x337, 0x1c79: 0x338, 0x1c7a: 0x339, 0x1c7b: 0x33a, 0x1c7c: 0x33b, 0x1c7d: 0x33c, 0x1c7e: 0x33d, 0x1c7f: 0x33e,\n\t// Block 0x72, offset 0x1c80\n\t0x1c80: 0x33f, 0x1c81: 0x340, 0x1c82: 0x341, 0x1c83: 0x342, 0x1c84: 0x343, 0x1c85: 0x344, 0x1c86: 0x345, 0x1c87: 0x346,\n\t0x1c88: 0x347, 0x1c89: 0x348, 0x1c8a: 0x349, 0x1c8b: 0x34a, 0x1c8c: 0x34b, 0x1c8d: 0x34c, 0x1c8e: 0x34d, 0x1c8f: 0x34e,\n\t0x1c90: 0x34f, 0x1c91: 0x350, 0x1c92: 0x351, 0x1c93: 0x352, 0x1c94: 0x353, 0x1c95: 0x354, 0x1c96: 0x355, 0x1c97: 0x356,\n\t0x1c98: 0x357, 0x1c99: 0x358, 0x1c9a: 0x359, 0x1c9b: 0x35a, 0x1c9c: 0x35b, 0x1c9d: 0x35c, 0x1c9e: 0x35d, 0x1c9f: 0x35e,\n\t0x1ca0: 0x35f, 0x1ca1: 0x360, 0x1ca2: 0x361, 0x1ca3: 0x362, 0x1ca4: 0x363, 0x1ca5: 0x364, 0x1ca6: 0x365, 0x1ca7: 0x366,\n\t0x1ca8: 0x367, 0x1ca9: 0x368, 0x1caa: 0x369, 0x1cab: 0x36a, 0x1cac: 0x36b, 0x1cad: 0x36c, 0x1cae: 0x36d, 0x1caf: 0x36e,\n\t0x1cb0: 0x36f, 0x1cb1: 0x370, 0x1cb2: 0x371, 0x1cb3: 0x372, 0x1cb4: 0x373, 0x1cb5: 0x374, 0x1cb6: 0x375, 0x1cb7: 0x376,\n\t0x1cb8: 0x377, 0x1cb9: 0x378, 0x1cba: 0x379, 0x1cbc: 0x37a, 0x1cbd: 0x37b, 0x1cbe: 0x37c, 0x1cbf: 0x37d,\n\t// Block 0x73, offset 0x1cc0\n\t0x1cc0: 0x37e, 0x1cc1: 0x37f, 0x1cc2: 0x380, 0x1cc3: 0x381, 0x1cc4: 0x382, 0x1cc5: 0x383, 0x1cc6: 0x384, 0x1cc7: 0x385,\n\t0x1cc8: 0x386, 0x1cc9: 0x387, 0x1cca: 0x388, 0x1ccb: 0x389, 0x1ccc: 0x38a, 0x1ccd: 0x38b, 0x1cce: 0x38c, 0x1ccf: 0x38d,\n\t0x1cd0: 0x38e, 0x1cd1: 0x38f, 0x1cd2: 0x390, 0x1cd3: 0x391, 0x1cd4: 0x392, 0x1cd5: 0x393, 0x1cd6: 0x394, 0x1cd7: 0x395,\n\t0x1cd8: 0x396, 0x1cd9: 0x397, 0x1cda: 0x398, 0x1cdb: 0x399, 0x1cdc: 0x39a, 0x1cdd: 0x39b, 0x1cde: 0x39c, 0x1cdf: 0x39d,\n\t0x1ce0: 0x39e, 0x1ce1: 0x39f, 0x1ce2: 0x3a0, 0x1ce3: 0x3a1, 0x1ce4: 0x3a2, 0x1ce5: 0x3a3, 0x1ce6: 0x3a4, 0x1ce7: 0x3a5,\n\t0x1ce8: 0x3a6, 0x1ce9: 0x3a7, 0x1cea: 0x3a8, 0x1ceb: 0x3a9, 0x1cec: 0x3aa, 0x1ced: 0x3ab, 0x1cee: 0x3ac,\n\t0x1cf0: 0x3ad, 0x1cf1: 0x3ae, 0x1cf2: 0x3af, 0x1cf3: 0x3b0, 0x1cf4: 0x3b1, 0x1cf5: 0x3b2, 0x1cf6: 0x3b3, 0x1cf7: 0x3b4,\n\t0x1cf8: 0x3b5, 0x1cf9: 0x3b6, 0x1cfa: 0x3b7, 0x1cfb: 0x3b8, 0x1cfc: 0x3b9, 0x1cfd: 0x3ba, 0x1cfe: 0x3bb, 0x1cff: 0x3bc,\n\t// Block 0x74, offset 0x1d00\n\t0x1d00: 0x3bd, 0x1d01: 0x3be, 0x1d02: 0x3bf, 0x1d03: 0x3c0, 0x1d04: 0x3c1, 0x1d05: 0x3c2, 0x1d06: 0x3c3, 0x1d07: 0x3c4,\n\t0x1d08: 0x3c5, 0x1d09: 0x3c6, 0x1d0a: 0x3c7, 0x1d0b: 0x3c8, 0x1d0c: 0x3c9, 0x1d0d: 0x3ca, 0x1d0e: 0x3cb, 0x1d0f: 0x3cc,\n\t0x1d10: 0x3cd, 0x1d11: 0x3ce, 0x1d12: 0x3cf, 0x1d15: 0x3d0, 0x1d16: 0x3d1, 0x1d17: 0x3d2,\n\t0x1d18: 0x3d3, 0x1d19: 0x3d4, 0x1d1a: 0x3d5, 0x1d1b: 0x3d6, 0x1d1c: 0x3d7, 0x1d1d: 0x3d8, 0x1d1e: 0x3d9, 0x1d1f: 0x3da,\n\t0x1d20: 0x3db, 0x1d21: 0x3dc, 0x1d22: 0x3dd, 0x1d23: 0x3de, 0x1d24: 0x3df, 0x1d25: 0x3e0, 0x1d26: 0x3e1, 0x1d27: 0x3e2,\n\t0x1d28: 0x3e3, 0x1d29: 0x3e4, 0x1d2a: 0x3e5, 0x1d2b: 0x3e6, 0x1d2c: 0x3e7, 0x1d2d: 0x3e8, 0x1d2e: 0x3e9, 0x1d2f: 0x3ea,\n\t0x1d30: 0x3eb, 0x1d31: 0x3ec, 0x1d33: 0x3ed, 0x1d34: 0x3ee, 0x1d35: 0x3ef, 0x1d36: 0x3f0, 0x1d37: 0x3f1,\n\t0x1d38: 0x3f2, 0x1d39: 0x3f3, 0x1d3a: 0x3f4, 0x1d3b: 0x3f5, 0x1d3c: 0x3f6, 0x1d3d: 0x3f7, 0x1d3e: 0x3f8,\n\t// Block 0x75, offset 0x1d40\n\t0x1d64: 0x3f9, 0x1d65: 0x3fa, 0x1d66: 0x3fb, 0x1d67: 0x3fc,\n\t0x1d68: 0x3fd, 0x1d69: 0x3fe, 0x1d6a: 0x3ff, 0x1d6b: 0x400, 0x1d6c: 0x103, 0x1d6d: 0x104, 0x1d6e: 0x105, 0x1d6f: 0x106,\n\t0x1d70: 0x107, 0x1d71: 0x108, 0x1d72: 0x109, 0x1d73: 0x10a, 0x1d74: 0x10b, 0x1d75: 0x10c, 0x1d76: 0x10d, 0x1d77: 0x10e,\n\t0x1d78: 0x10f, 0x1d79: 0x110, 0x1d7a: 0x111, 0x1d7b: 0x112, 0x1d7c: 0x401, 0x1d7d: 0x402, 0x1d7e: 0x403, 0x1d7f: 0x404,\n\t// Block 0x76, offset 0x1d80\n\t0x1d80: 0x18b, 0x1d81: 0x18c, 0x1d82: 0x18d, 0x1d83: 0x18e, 0x1d84: 0x18f, 0x1d85: 0x190, 0x1d86: 0x191, 0x1d87: 0x192,\n\t0x1d88: 0x193, 0x1d89: 0x405, 0x1d8c: 0x195, 0x1d8d: 0x196, 0x1d8e: 0x197, 0x1d8f: 0x198,\n\t0x1d90: 0x199, 0x1d91: 0x19a, 0x1d92: 0x19b, 0x1d93: 0x19c, 0x1d94: 0x19d, 0x1d95: 0x19e, 0x1d97: 0x19f,\n\t0x1d98: 0x1a0, 0x1d99: 0x1a1, 0x1d9a: 0x1a2, 0x1d9b: 0x1a3, 0x1d9c: 0x1a4, 0x1d9d: 0x1a5,\n\t// Block 0x77, offset 0x1dc0\n\t0x1de0: 0x406, 0x1de1: 0x407, 0x1de2: 0x408, 0x1de3: 0x409, 0x1de4: 0x40a, 0x1de5: 0x40b, 0x1de6: 0x40c, 0x1de7: 0x40d,\n\t0x1de8: 0x40e,\n\t// Block 0x78, offset 0x1e00\n\t0x1e10: 0x09, 0x1e11: 0x0a, 0x1e12: 0x0b, 0x1e13: 0x0c, 0x1e16: 0x0d,\n\t0x1e1b: 0x0e, 0x1e1d: 0x0f, 0x1e1e: 0x10, 0x1e1f: 0x74,\n\t0x1e2f: 0x75,\n\t// Block 0x79, offset 0x1e40\n\t0x1e42: 0x01, 0x1e43: 0x02, 0x1e44: 0x03, 0x1e45: 0x04, 0x1e46: 0x05, 0x1e47: 0x06,\n\t0x1e48: 0x07, 0x1e49: 0x08, 0x1e4a: 0x09, 0x1e4b: 0x0a, 0x1e4c: 0x0b, 0x1e4d: 0x0c, 0x1e4e: 0x0d, 0x1e4f: 0x0e,\n\t0x1e50: 0x0f, 0x1e51: 0x10, 0x1e52: 0x11, 0x1e53: 0x12, 0x1e54: 0x13, 0x1e55: 0x14, 0x1e56: 0x15, 0x1e57: 0x16,\n\t0x1e58: 0x17, 0x1e59: 0x18, 0x1e5a: 0x19, 0x1e5b: 0x1a, 0x1e5c: 0x1b, 0x1e5d: 0x1c, 0x1e5e: 0x1d, 0x1e5f: 0x1e,\n\t0x1e60: 0x01, 0x1e61: 0x02, 0x1e62: 0x03, 0x1e63: 0x6c, 0x1e64: 0x6d, 0x1e65: 0x6e, 0x1e66: 0x6f, 0x1e67: 0x70,\n\t0x1e68: 0x71, 0x1e69: 0x72, 0x1e6a: 0x06, 0x1e6d: 0x07, 0x1e6f: 0x73,\n\t0x1e70: 0x76, 0x1e73: 0x15,\n\t// Block 0x7a, offset 0x1e80\n\t0x1e82: 0x01, 0x1e83: 0x02, 0x1e84: 0x03, 0x1e85: 0x04, 0x1e86: 0x05, 0x1e87: 0x06,\n\t0x1e88: 0x07, 0x1e89: 0x08, 0x1e8a: 0x09, 0x1e8b: 0x0a, 0x1e8c: 0x0b, 0x1e8d: 0x0c, 0x1e8e: 0x0d, 0x1e8f: 0x0e,\n\t0x1e90: 0x40f, 0x1e91: 0x410, 0x1e92: 0x411, 0x1e93: 0x12, 0x1e94: 0x13, 0x1e95: 0x14, 0x1e96: 0x15, 0x1e97: 0x16,\n\t0x1e98: 0x17, 0x1e99: 0x18, 0x1e9a: 0x19, 0x1e9b: 0x1a, 0x1e9c: 0x1b, 0x1e9d: 0x1c, 0x1e9e: 0x1d, 0x1e9f: 0x1e,\n\t0x1ea0: 0x01, 0x1ea1: 0x02, 0x1ea2: 0x03, 0x1ea3: 0x04, 0x1ea4: 0x05,\n\t0x1eaa: 0x06, 0x1ead: 0x07, 0x1eaf: 0x08,\n\t0x1eb0: 0x13, 0x1eb3: 0x15,\n\t// Block 0x7b, offset 0x1ec0\n\t0x1ec2: 0x01, 0x1ec3: 0x1f7, 0x1ec4: 0x414, 0x1ec5: 0x1f9, 0x1ec6: 0x05, 0x1ec7: 0x1fa,\n\t0x1ec8: 0x1fb, 0x1ec9: 0x08, 0x1eca: 0x09, 0x1ecb: 0x0a, 0x1ecc: 0x0b, 0x1ecd: 0x0c, 0x1ece: 0x0d, 0x1ecf: 0x0e,\n\t0x1ed0: 0x0f, 0x1ed1: 0x10, 0x1ed2: 0x11, 0x1ed3: 0x12, 0x1ed4: 0x13, 0x1ed5: 0x14, 0x1ed6: 0x15, 0x1ed7: 0x16,\n\t0x1ed8: 0x17, 0x1ed9: 0x18, 0x1eda: 0x19, 0x1edb: 0x1a, 0x1edc: 0x1b, 0x1edd: 0x1c, 0x1ede: 0x1d, 0x1edf: 0x1e,\n\t0x1ee0: 0x01, 0x1ee1: 0x2f, 0x1ee2: 0x30, 0x1ee3: 0x04, 0x1ee4: 0x05,\n\t0x1eea: 0x06, 0x1eed: 0x07, 0x1eef: 0x08,\n\t0x1ef0: 0x13, 0x1ef3: 0x15,\n\t// Block 0x7c, offset 0x1f00\n\t0x1f00: 0x3f, 0x1f01: 0x40, 0x1f02: 0x41, 0x1f03: 0x42, 0x1f04: 0x43, 0x1f05: 0x44, 0x1f06: 0x45, 0x1f07: 0x46,\n\t0x1f08: 0x47, 0x1f09: 0x48, 0x1f0a: 0x49, 0x1f0b: 0x4a, 0x1f0c: 0x4b, 0x1f0d: 0x4c, 0x1f0e: 0x4d, 0x1f0f: 0x4e,\n\t0x1f10: 0x4f, 0x1f11: 0x50, 0x1f12: 0x51, 0x1f13: 0x52, 0x1f14: 0x53, 0x1f15: 0x54, 0x1f16: 0x55, 0x1f17: 0x56,\n\t0x1f18: 0x57, 0x1f19: 0x58, 0x1f1a: 0x59, 0x1f1b: 0x5a, 0x1f1c: 0x5b, 0x1f1d: 0x5c, 0x1f1e: 0x415, 0x1f1f: 0x416,\n\t0x1f20: 0x5f, 0x1f21: 0x60, 0x1f22: 0x61, 0x1f23: 0x62, 0x1f24: 0x63, 0x1f25: 0x64, 0x1f26: 0x65, 0x1f27: 0x66,\n\t0x1f28: 0x67, 0x1f29: 0x68, 0x1f2a: 0x69, 0x1f2c: 0x6a, 0x1f2d: 0x6b, 0x1f2e: 0x6c, 0x1f2f: 0x6d,\n\t0x1f30: 0x6e, 0x1f31: 0x6f, 0x1f33: 0x70, 0x1f34: 0x71, 0x1f35: 0x72, 0x1f36: 0x73, 0x1f37: 0x74,\n\t0x1f38: 0x75, 0x1f39: 0x76, 0x1f3a: 0x77, 0x1f3b: 0x78, 0x1f3c: 0x79, 0x1f3d: 0x7a, 0x1f3e: 0x7b, 0x1f3f: 0x7c,\n\t// Block 0x7d, offset 0x1f40\n\t0x1f42: 0x01, 0x1f43: 0x02, 0x1f44: 0x03, 0x1f45: 0x04, 0x1f46: 0x05, 0x1f47: 0x06,\n\t0x1f48: 0x07, 0x1f49: 0x08, 0x1f4a: 0x09, 0x1f4b: 0x0a, 0x1f4c: 0x0b, 0x1f4d: 0x0c, 0x1f4e: 0x0d, 0x1f4f: 0x0e,\n\t0x1f50: 0x0f, 0x1f51: 0x10, 0x1f52: 0x11, 0x1f53: 0x12, 0x1f54: 0x13, 0x1f55: 0x14, 0x1f56: 0x15, 0x1f57: 0x16,\n\t0x1f58: 0x17, 0x1f59: 0x18, 0x1f5a: 0x19, 0x1f5b: 0x1a, 0x1f5c: 0x1b, 0x1f5d: 0x1c, 0x1f5e: 0x1d, 0x1f5f: 0x1e,\n\t0x1f60: 0x01, 0x1f61: 0x7a, 0x1f62: 0x03, 0x1f63: 0x04, 0x1f64: 0x05,\n\t0x1f6a: 0x06, 0x1f6d: 0x07, 0x1f6f: 0x08,\n\t0x1f70: 0x13, 0x1f73: 0x15,\n\t// Block 0x7e, offset 0x1f80\n\t0x1fa0: 0x1f, 0x1fa1: 0x20, 0x1fa2: 0x21, 0x1fa3: 0x22, 0x1fa4: 0x23, 0x1fa5: 0x24, 0x1fa6: 0x25, 0x1fa7: 0x26,\n\t0x1fa8: 0x27, 0x1fa9: 0x28, 0x1faa: 0x29, 0x1fab: 0x2a, 0x1fac: 0x2b, 0x1fad: 0x2c, 0x1fae: 0x2d, 0x1faf: 0x2e,\n\t0x1fb0: 0x2f, 0x1fb1: 0x30, 0x1fb2: 0x417, 0x1fb3: 0x418, 0x1fb4: 0x33, 0x1fb5: 0x34, 0x1fb6: 0x35, 0x1fb7: 0x36,\n\t0x1fb8: 0x37, 0x1fb9: 0x38, 0x1fba: 0x39, 0x1fbb: 0x3a, 0x1fbc: 0x3b, 0x1fbd: 0x3c, 0x1fbe: 0x3d, 0x1fbf: 0x3e,\n\t// Block 0x7f, offset 0x1fc0\n\t0x1fc2: 0x01, 0x1fc3: 0x02, 0x1fc4: 0x03, 0x1fc5: 0x04, 0x1fc6: 0x05, 0x1fc7: 0x06,\n\t0x1fc8: 0x07, 0x1fc9: 0x08, 0x1fca: 0x09, 0x1fcb: 0x0a, 0x1fcc: 0x0b, 0x1fcd: 0x0c, 0x1fce: 0x0d, 0x1fcf: 0x0e,\n\t0x1fd0: 0x0f, 0x1fd1: 0x10, 0x1fd2: 0x11, 0x1fd3: 0x12, 0x1fd4: 0x13, 0x1fd5: 0x14, 0x1fd6: 0x15, 0x1fd7: 0x16,\n\t0x1fd8: 0x17, 0x1fd9: 0x18, 0x1fda: 0x19, 0x1fdb: 0x1a, 0x1fdc: 0x1b, 0x1fdd: 0x1c, 0x1fde: 0x1d, 0x1fdf: 0x1e,\n\t0x1fe0: 0x7c, 0x1fe1: 0x02, 0x1fe2: 0x03, 0x1fe3: 0x04, 0x1fe4: 0x05,\n\t0x1fea: 0x06, 0x1fed: 0x07, 0x1fef: 0x08,\n\t0x1ff0: 0x13, 0x1ff3: 0x15,\n\t// Block 0x80, offset 0x2000\n\t0x2000: 0xba, 0x2001: 0xbb, 0x2002: 0xbc, 0x2003: 0xbd, 0x2004: 0xbe, 0x2005: 0xbf, 0x2006: 0xc0, 0x2007: 0xc1,\n\t0x2008: 0x419, 0x2009: 0x2b3, 0x200a: 0xc4, 0x200b: 0x2b4, 0x200c: 0xc6, 0x200d: 0x2b5, 0x200e: 0xc8, 0x200f: 0x2b6,\n\t// Block 0x81, offset 0x2040\n\t0x2077: 0xca,\n\t0x2078: 0x41a, 0x2079: 0x41b, 0x207a: 0x41c, 0x207b: 0x41d, 0x207c: 0x41e, 0x207d: 0x41f, 0x207e: 0x420, 0x207f: 0x421,\n\t// Block 0x82, offset 0x2080\n\t0x2080: 0x422, 0x2081: 0x423, 0x2082: 0x424, 0x2083: 0x425, 0x2084: 0x426, 0x2085: 0x427, 0x2086: 0x428, 0x2087: 0x429,\n\t0x2088: 0x42a, 0x2089: 0x42b, 0x208a: 0x42c, 0x208b: 0x42d, 0x208c: 0x42e, 0x208d: 0x42f, 0x208e: 0x430, 0x208f: 0x431,\n\t0x2090: 0x432, 0x2091: 0x433, 0x2092: 0x434, 0x2093: 0x435, 0x2094: 0x436, 0x2095: 0x437, 0x2096: 0x438, 0x2097: 0x439,\n\t0x2098: 0x43a, 0x2099: 0x43b, 0x209a: 0x43c, 0x209b: 0x43d, 0x209c: 0x43e, 0x209d: 0x43f, 0x209e: 0x440, 0x209f: 0x441,\n\t0x20a0: 0x442, 0x20a1: 0x443, 0x20a2: 0x444, 0x20a3: 0x445, 0x20a4: 0x446, 0x20a5: 0x447, 0x20a6: 0x448, 0x20a7: 0x449,\n\t0x20a8: 0x44a, 0x20a9: 0x44b, 0x20aa: 0x44c, 0x20ab: 0x44d, 0x20ac: 0x44e, 0x20ad: 0x44f, 0x20ae: 0x450, 0x20af: 0x451,\n\t0x20b0: 0x452, 0x20b1: 0x453, 0x20b2: 0x454, 0x20b3: 0x455, 0x20b4: 0x456, 0x20b5: 0x457, 0x20b6: 0x458, 0x20b7: 0x459,\n\t0x20b8: 0x45a, 0x20b9: 0x45b, 0x20ba: 0x45c, 0x20bb: 0x45d, 0x20bc: 0x45e, 0x20bd: 0x45f, 0x20be: 0x460, 0x20bf: 0x461,\n\t// Block 0x83, offset 0x20c0\n\t0x20c0: 0x462, 0x20c1: 0x463, 0x20c2: 0x464, 0x20c3: 0x465, 0x20c4: 0x466, 0x20c5: 0x467, 0x20c6: 0x468, 0x20c7: 0x469,\n\t0x20c8: 0x46a, 0x20c9: 0x46b, 0x20ca: 0x46c, 0x20cb: 0x46d, 0x20cc: 0x46e, 0x20cd: 0x46f, 0x20ce: 0x470, 0x20cf: 0x471,\n\t0x20d0: 0x472, 0x20d1: 0x473, 0x20d2: 0x474, 0x20d3: 0x475, 0x20d4: 0x476, 0x20d5: 0x477, 0x20d6: 0x478, 0x20d7: 0x479,\n\t0x20d8: 0x47a, 0x20d9: 0x47b, 0x20da: 0x47c, 0x20db: 0x47d, 0x20dc: 0x47e, 0x20dd: 0x47f, 0x20de: 0x480, 0x20df: 0x481,\n\t0x20e0: 0x482, 0x20e1: 0x483, 0x20e2: 0x484, 0x20e3: 0x485, 0x20e4: 0x486, 0x20e5: 0x487, 0x20e6: 0x488, 0x20e7: 0x489,\n\t0x20e8: 0x48a, 0x20e9: 0x48b, 0x20ea: 0x48c, 0x20eb: 0x48d, 0x20ec: 0x48e, 0x20ed: 0x48f, 0x20ee: 0x490, 0x20ef: 0x491,\n\t0x20f0: 0x492, 0x20f1: 0x493, 0x20f2: 0x494, 0x20f3: 0x495, 0x20f4: 0x496, 0x20f5: 0x497, 0x20f6: 0x498, 0x20f7: 0x499,\n\t0x20f8: 0x49a, 0x20f9: 0x49b, 0x20fa: 0x49c, 0x20fb: 0x49d, 0x20fc: 0x49e, 0x20fd: 0x49f, 0x20fe: 0x4a0, 0x20ff: 0x4a1,\n\t// Block 0x84, offset 0x2100\n\t0x2100: 0x4a2, 0x2101: 0x4a3, 0x2102: 0x4a4, 0x2103: 0x4a5, 0x2104: 0x4a6, 0x2105: 0x4a7, 0x2106: 0x4a8, 0x2107: 0x4a9,\n\t0x2108: 0x4aa, 0x2109: 0x4ab, 0x210a: 0x4ac, 0x210b: 0x4ad, 0x210c: 0x4ae, 0x210d: 0x4af, 0x210e: 0x4b0, 0x210f: 0x4b1,\n\t0x2110: 0x4b2, 0x2111: 0x4b3, 0x2112: 0x4b4, 0x2113: 0x4b5, 0x2114: 0x4b6, 0x2115: 0x4b7, 0x2116: 0x4b8, 0x2117: 0x4b9,\n\t0x2118: 0x4ba, 0x2119: 0x4bb, 0x211a: 0x4bc, 0x211b: 0x4bd, 0x211c: 0x4be, 0x211d: 0x4bf, 0x211e: 0x4c0, 0x211f: 0x4c1,\n\t0x2120: 0x4c2, 0x2121: 0x4c3, 0x2122: 0x4c4, 0x2123: 0x4c5, 0x2124: 0x4c6, 0x2125: 0x4c7, 0x2126: 0x4c8, 0x2127: 0x4c9,\n\t0x2128: 0x4ca, 0x2129: 0x4cb, 0x212a: 0x4cc, 0x212b: 0x4cd, 0x212c: 0x4ce, 0x212d: 0x4cf, 0x212e: 0x4d0, 0x212f: 0x4d1,\n\t0x2130: 0x4d2, 0x2131: 0x4d3, 0x2132: 0x4d4, 0x2133: 0x4d5, 0x2134: 0x4d6, 0x2135: 0x4d7, 0x2136: 0x4d8, 0x2137: 0x4d9,\n\t0x2138: 0x4da, 0x2139: 0x4db, 0x213a: 0x4dc, 0x213c: 0x4dd, 0x213d: 0x4de, 0x213e: 0x4df, 0x213f: 0x4e0,\n\t// Block 0x85, offset 0x2140\n\t0x2140: 0x4e1, 0x2141: 0x4e2, 0x2142: 0x4e3, 0x2143: 0x4e4, 0x2144: 0x4e5, 0x2145: 0x4e6, 0x2146: 0x4e7, 0x2147: 0x4e8,\n\t0x2148: 0x4e9, 0x2149: 0x4ea, 0x214a: 0x4eb, 0x214b: 0x4ec, 0x214c: 0x4ed, 0x214d: 0x4ee, 0x214e: 0x4ef, 0x214f: 0x4f0,\n\t0x2150: 0x4f1, 0x2151: 0x4f2, 0x2152: 0x4f3, 0x2153: 0x4f4, 0x2154: 0x4f5, 0x2155: 0x4f6, 0x2156: 0x4f7, 0x2157: 0x4f8,\n\t0x2158: 0x4f9, 0x2159: 0x4fa, 0x215a: 0x4fb, 0x215b: 0x4fc, 0x215c: 0x4fd, 0x215d: 0x4fe, 0x215e: 0x4ff, 0x215f: 0x500,\n\t0x2160: 0x501, 0x2161: 0x502, 0x2162: 0x503, 0x2163: 0x504, 0x2164: 0x505, 0x2165: 0x506, 0x2166: 0x507, 0x2167: 0x508,\n\t0x2168: 0x509, 0x2169: 0x50a, 0x216a: 0x50b, 0x216b: 0x50c, 0x216c: 0x50d, 0x216d: 0x50e, 0x216e: 0x50f,\n\t0x2170: 0x510, 0x2171: 0x511, 0x2172: 0x512, 0x2173: 0x513, 0x2174: 0x514, 0x2175: 0x515, 0x2176: 0x516, 0x2177: 0x517,\n\t0x2178: 0x518, 0x2179: 0x519, 0x217a: 0x51a, 0x217b: 0x51b, 0x217c: 0x51c, 0x217d: 0x51d, 0x217e: 0x51e, 0x217f: 0x51f,\n\t// Block 0x86, offset 0x2180\n\t0x2180: 0x520, 0x2181: 0x521, 0x2182: 0x522, 0x2183: 0x523, 0x2184: 0x524, 0x2185: 0x525, 0x2186: 0x526, 0x2187: 0x527,\n\t0x2188: 0x528, 0x2189: 0x529, 0x218a: 0x52a, 0x218b: 0x52b, 0x218c: 0x52c, 0x218d: 0x52d, 0x218e: 0x52e, 0x218f: 0x52f,\n\t0x2190: 0x530, 0x2191: 0x531, 0x2195: 0x532, 0x2196: 0x533, 0x2197: 0x534,\n\t0x2198: 0x535, 0x2199: 0x536, 0x219a: 0x537, 0x219b: 0x538, 0x219c: 0x539, 0x219d: 0x53a, 0x219e: 0x53b, 0x219f: 0x53c,\n\t0x21a0: 0x53d, 0x21a1: 0x53e, 0x21a2: 0x53f, 0x21a3: 0x540, 0x21a4: 0x541, 0x21a5: 0x542, 0x21a6: 0x543, 0x21a7: 0x544,\n\t0x21a8: 0x545, 0x21a9: 0x546, 0x21aa: 0x547, 0x21ab: 0x548, 0x21ac: 0x549, 0x21ad: 0x54a, 0x21ae: 0x54b, 0x21af: 0x54c,\n\t0x21b0: 0x54d, 0x21b1: 0x54e, 0x21b3: 0x54f, 0x21b4: 0x550, 0x21b5: 0x551, 0x21b6: 0x552, 0x21b7: 0x553,\n\t0x21b8: 0x554, 0x21b9: 0x555, 0x21ba: 0x556, 0x21bb: 0x557, 0x21bc: 0x558, 0x21bd: 0x559, 0x21be: 0x55a,\n\t// Block 0x87, offset 0x21c0\n\t0x21e4: 0x55b, 0x21e5: 0x55c, 0x21e6: 0x55d, 0x21e7: 0x55e,\n\t0x21e8: 0x55f, 0x21e9: 0x560, 0x21ea: 0x561, 0x21eb: 0x562, 0x21ec: 0x103, 0x21ed: 0x104, 0x21ee: 0x105, 0x21ef: 0x106,\n\t0x21f0: 0x107, 0x21f1: 0x108, 0x21f2: 0x109, 0x21f3: 0x10a, 0x21f4: 0x10b, 0x21f5: 0x10c, 0x21f6: 0x10d, 0x21f7: 0x10e,\n\t0x21f8: 0x10f, 0x21f9: 0x110, 0x21fa: 0x111, 0x21fb: 0x112, 0x21fc: 0x113, 0x21fd: 0x114, 0x21fe: 0x115, 0x21ff: 0x116,\n\t// Block 0x88, offset 0x2200\n\t0x2200: 0x18b, 0x2201: 0x18c, 0x2202: 0x18d, 0x2203: 0x18e, 0x2204: 0x18f, 0x2205: 0x190, 0x2206: 0x191, 0x2207: 0x192,\n\t0x2208: 0x193, 0x2209: 0x563, 0x220c: 0x195, 0x220d: 0x196, 0x220e: 0x197, 0x220f: 0x198,\n\t0x2210: 0x199, 0x2211: 0x19a, 0x2212: 0x19b, 0x2213: 0x19c, 0x2214: 0x19d, 0x2215: 0x19e, 0x2217: 0x19f,\n\t0x2218: 0x1a0, 0x2219: 0x1a1, 0x221a: 0x1a2, 0x221b: 0x1a3, 0x221c: 0x1a4, 0x221d: 0x1a5,\n\t// Block 0x89, offset 0x2240\n\t0x2260: 0x564, 0x2261: 0x565, 0x2262: 0x566, 0x2263: 0x567, 0x2264: 0x568, 0x2265: 0x569, 0x2266: 0x56a, 0x2267: 0x56b,\n\t0x2268: 0x56c,\n\t// Block 0x8a, offset 0x2280\n\t0x2290: 0x09, 0x2291: 0x0a, 0x2292: 0x0b, 0x2293: 0x0c, 0x2296: 0x0d,\n\t0x229b: 0x0e, 0x229d: 0x0f, 0x229e: 0x10, 0x229f: 0x86,\n\t0x22af: 0x87,\n\t// Block 0x8b, offset 0x22c0\n\t0x22c2: 0x01, 0x22c3: 0x02, 0x22c4: 0x03, 0x22c5: 0x04, 0x22c6: 0x05, 0x22c7: 0x06,\n\t0x22c8: 0x07, 0x22c9: 0x08, 0x22ca: 0x09, 0x22cb: 0x0a, 0x22cc: 0x0b, 0x22cd: 0x0c, 0x22ce: 0x0d, 0x22cf: 0x0e,\n\t0x22d0: 0x0f, 0x22d1: 0x10, 0x22d2: 0x11, 0x22d3: 0x12, 0x22d4: 0x13, 0x22d5: 0x14, 0x22d6: 0x15, 0x22d7: 0x16,\n\t0x22d8: 0x17, 0x22d9: 0x18, 0x22da: 0x19, 0x22db: 0x1a, 0x22dc: 0x1b, 0x22dd: 0x1c, 0x22de: 0x1d, 0x22df: 0x1e,\n\t0x22e0: 0x01, 0x22e1: 0x02, 0x22e2: 0x03, 0x22e3: 0x7e, 0x22e4: 0x7f, 0x22e5: 0x80, 0x22e6: 0x81, 0x22e7: 0x82,\n\t0x22e8: 0x83, 0x22e9: 0x84, 0x22ea: 0x06, 0x22ed: 0x07, 0x22ef: 0x85,\n\t0x22f0: 0x88, 0x22f3: 0x15,\n\t// Block 0x8c, offset 0x2300\n\t0x2320: 0x1f, 0x2321: 0x20, 0x2322: 0x21, 0x2323: 0x22, 0x2324: 0x56d, 0x2325: 0x24, 0x2326: 0x25, 0x2327: 0x26,\n\t0x2328: 0x27, 0x2329: 0x28, 0x232a: 0x29, 0x232b: 0x2a, 0x232c: 0x2b, 0x232d: 0x2c, 0x232e: 0x2d, 0x232f: 0x2e,\n\t0x2330: 0x2f, 0x2331: 0x30, 0x2332: 0x31, 0x2333: 0x32, 0x2334: 0x33, 0x2335: 0x34, 0x2336: 0x35, 0x2337: 0x36,\n\t0x2338: 0x37, 0x2339: 0x38, 0x233a: 0x39, 0x233b: 0x3a, 0x233c: 0x3b, 0x233d: 0x3c, 0x233e: 0x3d, 0x233f: 0x3e,\n\t// Block 0x8d, offset 0x2340\n\t0x2342: 0x01, 0x2343: 0x02, 0x2344: 0x03, 0x2345: 0x04, 0x2346: 0x05, 0x2347: 0x06,\n\t0x2348: 0x07, 0x2349: 0x08, 0x234a: 0x09, 0x234b: 0x0a, 0x234c: 0x0b, 0x234d: 0x0c, 0x234e: 0x0d, 0x234f: 0x0e,\n\t0x2350: 0x0f, 0x2351: 0x10, 0x2352: 0x11, 0x2353: 0x12, 0x2354: 0x13, 0x2355: 0x14, 0x2356: 0x15, 0x2357: 0x16,\n\t0x2358: 0x17, 0x2359: 0x18, 0x235a: 0x19, 0x235b: 0x1a, 0x235c: 0x1b, 0x235d: 0x1c, 0x235e: 0x1d, 0x235f: 0x1e,\n\t0x2360: 0x8a, 0x2361: 0x02, 0x2362: 0x03, 0x2363: 0x04, 0x2364: 0x05,\n\t0x236a: 0x06, 0x236d: 0x07, 0x236f: 0x08,\n\t0x2370: 0x13, 0x2373: 0x15,\n\t// Block 0x8e, offset 0x2380\n\t0x2382: 0x01, 0x2383: 0x02, 0x2384: 0x03, 0x2385: 0x04, 0x2386: 0x570, 0x2387: 0x06,\n\t0x2388: 0x07, 0x2389: 0x571, 0x238a: 0x09, 0x238b: 0x0a, 0x238c: 0x0b, 0x238d: 0x0c, 0x238e: 0x0d, 0x238f: 0x0e,\n\t0x2390: 0x0f, 0x2391: 0x10, 0x2392: 0x11, 0x2393: 0x12, 0x2394: 0x13, 0x2395: 0x14, 0x2396: 0x15, 0x2397: 0x16,\n\t0x2398: 0x17, 0x2399: 0x18, 0x239a: 0x19, 0x239b: 0x1a, 0x239c: 0x1b, 0x239d: 0x1c, 0x239e: 0x1d, 0x239f: 0x1e,\n\t0x23a0: 0x01, 0x23a1: 0x02, 0x23a2: 0x03, 0x23a3: 0x04, 0x23a4: 0x05,\n\t0x23aa: 0x06, 0x23ad: 0x07, 0x23af: 0x08,\n\t0x23b0: 0x13, 0x23b3: 0x15,\n\t// Block 0x8f, offset 0x23c0\n\t0x23c0: 0x3f, 0x23c1: 0x40, 0x23c2: 0x41, 0x23c3: 0x42, 0x23c4: 0x43, 0x23c5: 0x44, 0x23c6: 0x45, 0x23c7: 0x46,\n\t0x23c8: 0x47, 0x23c9: 0x48, 0x23ca: 0x49, 0x23cb: 0x4a, 0x23cc: 0x4b, 0x23cd: 0x4c, 0x23ce: 0x4d, 0x23cf: 0x4e,\n\t0x23d0: 0x4f, 0x23d1: 0x50, 0x23d2: 0x51, 0x23d3: 0x52, 0x23d4: 0x53, 0x23d5: 0x54, 0x23d6: 0x55, 0x23d7: 0x56,\n\t0x23d8: 0x57, 0x23d9: 0x58, 0x23da: 0x59, 0x23db: 0x5a, 0x23dc: 0x5b, 0x23dd: 0x5c, 0x23de: 0x5d, 0x23df: 0x5e,\n\t0x23e0: 0x5f, 0x23e1: 0x60, 0x23e2: 0x61, 0x23e3: 0x62, 0x23e4: 0x63, 0x23e5: 0x64, 0x23e6: 0x65, 0x23e7: 0x66,\n\t0x23e8: 0x67, 0x23e9: 0x68, 0x23ea: 0x69, 0x23ec: 0x6a, 0x23ed: 0x6b, 0x23ee: 0x6c, 0x23ef: 0x6d,\n\t0x23f0: 0x6e, 0x23f1: 0x6f, 0x23f3: 0x70, 0x23f4: 0x71, 0x23f5: 0x72, 0x23f6: 0x73, 0x23f7: 0x74,\n\t0x23f8: 0x75, 0x23f9: 0x57a, 0x23fa: 0x57b, 0x23fb: 0x57c, 0x23fc: 0x79, 0x23fd: 0x7a, 0x23fe: 0x7b, 0x23ff: 0x7c,\n\t// Block 0x90, offset 0x2400\n\t0x2400: 0x7d, 0x2401: 0x7e, 0x2402: 0x7f, 0x2403: 0x80, 0x2404: 0x81, 0x2405: 0x82, 0x2406: 0x83, 0x2407: 0x84,\n\t0x2408: 0x85, 0x2409: 0x86, 0x240a: 0x87, 0x240b: 0x88, 0x240c: 0x89, 0x240d: 0x8a, 0x240e: 0x8b, 0x240f: 0x8c,\n\t0x2410: 0x8d, 0x2411: 0x8e, 0x2412: 0x57d, 0x2413: 0x90, 0x2414: 0x91, 0x2415: 0x92, 0x2416: 0x93, 0x2417: 0x94,\n\t0x2418: 0x95, 0x2419: 0x96, 0x241a: 0x97, 0x241b: 0x98, 0x241c: 0x99, 0x241d: 0x9a, 0x241e: 0x9b, 0x241f: 0x9c,\n\t0x2420: 0x9d, 0x2421: 0x9e, 0x2422: 0x9f, 0x2423: 0xa0, 0x2424: 0xa1, 0x2425: 0xa2, 0x2426: 0xa3, 0x2427: 0xa4,\n\t0x2428: 0xa5, 0x2429: 0xa6, 0x242a: 0xa7, 0x242b: 0xa8, 0x242c: 0xa9, 0x242d: 0xaa,\n\t0x2430: 0xab, 0x2431: 0xac, 0x2432: 0xad, 0x2433: 0xae, 0x2434: 0xaf, 0x2435: 0xb0, 0x2436: 0xb1, 0x2437: 0xb2,\n\t0x2438: 0xb3, 0x243a: 0xb4, 0x243b: 0xb5, 0x243c: 0xb6, 0x243d: 0xb7, 0x243e: 0xb8, 0x243f: 0xb9,\n\t// Block 0x91, offset 0x2440\n\t0x2440: 0xba, 0x2441: 0xbb, 0x2442: 0xbc, 0x2443: 0xbd, 0x2444: 0xbe, 0x2445: 0xbf, 0x2446: 0xc0, 0x2447: 0xc1,\n\t0x2448: 0xc2, 0x2449: 0xc3, 0x244a: 0xc4, 0x244b: 0xc5, 0x244c: 0xc6, 0x244d: 0xc7, 0x244e: 0xc8, 0x244f: 0x57e,\n\t// Block 0x92, offset 0x2480\n\t0x2480: 0x18b, 0x2481: 0x18c, 0x2482: 0x18d, 0x2483: 0x18e, 0x2484: 0x57f, 0x2485: 0x190, 0x2486: 0x191, 0x2487: 0x192,\n\t0x2488: 0x193, 0x2489: 0x194, 0x248c: 0x195, 0x248d: 0x196, 0x248e: 0x197, 0x248f: 0x198,\n\t0x2490: 0x199, 0x2491: 0x19a, 0x2492: 0x19b, 0x2493: 0x19c, 0x2494: 0x19d, 0x2495: 0x19e, 0x2497: 0x19f,\n\t0x2498: 0x1a0, 0x2499: 0x1a1, 0x249a: 0x1a2, 0x249b: 0x1a3, 0x249c: 0x1a4, 0x249d: 0x1a5,\n\t// Block 0x93, offset 0x24c0\n\t0x24d0: 0x09, 0x24d1: 0x0a, 0x24d2: 0x0b, 0x24d3: 0x0c, 0x24d6: 0x0d,\n\t0x24db: 0x0e, 0x24dd: 0x0f, 0x24de: 0x10, 0x24df: 0x90,\n\t0x24ef: 0x12,\n\t// Block 0x94, offset 0x2500\n\t0x2502: 0x01, 0x2503: 0x574, 0x2504: 0x575, 0x2505: 0x576, 0x2506: 0x05, 0x2507: 0x577,\n\t0x2508: 0x578, 0x2509: 0x08, 0x250a: 0x09, 0x250b: 0x0a, 0x250c: 0x579, 0x250d: 0x0c, 0x250e: 0x0d, 0x250f: 0x0e,\n\t0x2510: 0x0f, 0x2511: 0x10, 0x2512: 0x11, 0x2513: 0x12, 0x2514: 0x13, 0x2515: 0x14, 0x2516: 0x15, 0x2517: 0x16,\n\t0x2518: 0x17, 0x2519: 0x18, 0x251a: 0x19, 0x251b: 0x1a, 0x251c: 0x1b, 0x251d: 0x1c, 0x251e: 0x1d, 0x251f: 0x1e,\n\t0x2520: 0x01, 0x2521: 0x8d, 0x2522: 0x8e, 0x2523: 0x8f, 0x2524: 0x05,\n\t0x252a: 0x06, 0x252d: 0x07, 0x252f: 0x08,\n\t0x2530: 0x91, 0x2533: 0x15,\n\t// Block 0x95, offset 0x2540\n\t0x2540: 0x3f, 0x2541: 0x40, 0x2542: 0x41, 0x2543: 0x42, 0x2544: 0x43, 0x2545: 0x44, 0x2546: 0x45, 0x2547: 0x46,\n\t0x2548: 0x47, 0x2549: 0x48, 0x254a: 0x49, 0x254b: 0x4a, 0x254c: 0x4b, 0x254d: 0x4c, 0x254e: 0x4d, 0x254f: 0x4e,\n\t0x2550: 0x4f, 0x2551: 0x50, 0x2552: 0x51, 0x2553: 0x52, 0x2554: 0x53, 0x2555: 0x54, 0x2556: 0x55, 0x2557: 0x56,\n\t0x2558: 0x57, 0x2559: 0x58, 0x255a: 0x59, 0x255b: 0x5a, 0x255c: 0x5b, 0x255d: 0x5c, 0x255e: 0x5d, 0x255f: 0x5e,\n\t0x2560: 0x5f, 0x2561: 0x60, 0x2562: 0x61, 0x2563: 0x62, 0x2564: 0x63, 0x2565: 0x64, 0x2566: 0x65, 0x2567: 0x66,\n\t0x2568: 0x67, 0x2569: 0x68, 0x256a: 0x69, 0x256c: 0x6a, 0x256d: 0x6b, 0x256e: 0x6c, 0x256f: 0x6d,\n\t0x2570: 0x6e, 0x2571: 0x6f, 0x2573: 0x70, 0x2574: 0x71, 0x2575: 0x72, 0x2576: 0x73, 0x2577: 0x74,\n\t0x2578: 0x75, 0x2579: 0x584, 0x257a: 0x77, 0x257b: 0x78, 0x257c: 0x79, 0x257d: 0x7a, 0x257e: 0x7b, 0x257f: 0x7c,\n\t// Block 0x96, offset 0x2580\n\t0x2582: 0x01, 0x2583: 0x02, 0x2584: 0x582, 0x2585: 0x583, 0x2586: 0x05, 0x2587: 0x06,\n\t0x2588: 0x07, 0x2589: 0x08, 0x258a: 0x09, 0x258b: 0x0a, 0x258c: 0x0b, 0x258d: 0x0c, 0x258e: 0x0d, 0x258f: 0x0e,\n\t0x2590: 0x0f, 0x2591: 0x10, 0x2592: 0x11, 0x2593: 0x12, 0x2594: 0x13, 0x2595: 0x14, 0x2596: 0x15, 0x2597: 0x16,\n\t0x2598: 0x17, 0x2599: 0x18, 0x259a: 0x19, 0x259b: 0x1a, 0x259c: 0x1b, 0x259d: 0x1c, 0x259e: 0x1d, 0x259f: 0x1e,\n\t0x25a0: 0x01, 0x25a1: 0x93, 0x25a2: 0x03, 0x25a3: 0x04, 0x25a4: 0x05,\n\t0x25aa: 0x06, 0x25ad: 0x07, 0x25af: 0x08,\n\t0x25b0: 0x13, 0x25b3: 0x15,\n\t// Block 0x97, offset 0x25c0\n\t0x25e0: 0x1f, 0x25e1: 0x20, 0x25e2: 0x21, 0x25e3: 0x22, 0x25e4: 0x23, 0x25e5: 0x24, 0x25e6: 0x25, 0x25e7: 0x26,\n\t0x25e8: 0x27, 0x25e9: 0x28, 0x25ea: 0x29, 0x25eb: 0x2a, 0x25ec: 0x2b, 0x25ed: 0x2c, 0x25ee: 0x2d, 0x25ef: 0x2e,\n\t0x25f0: 0x2f, 0x25f1: 0x30, 0x25f2: 0x31, 0x25f3: 0x32, 0x25f4: 0x585, 0x25f5: 0x586, 0x25f6: 0x35, 0x25f7: 0x36,\n\t0x25f8: 0x37, 0x25f9: 0x38, 0x25fa: 0x39, 0x25fb: 0x3a, 0x25fc: 0x3b, 0x25fd: 0x3c, 0x25fe: 0x3d, 0x25ff: 0x3e,\n\t// Block 0x98, offset 0x2600\n\t0x2602: 0x01, 0x2603: 0x02, 0x2604: 0x03, 0x2605: 0x04, 0x2606: 0x05, 0x2607: 0x06,\n\t0x2608: 0x07, 0x2609: 0x08, 0x260a: 0x09, 0x260b: 0x0a, 0x260c: 0x0b, 0x260d: 0x0c, 0x260e: 0x0d, 0x260f: 0x0e,\n\t0x2610: 0x0f, 0x2611: 0x10, 0x2612: 0x11, 0x2613: 0x12, 0x2614: 0x13, 0x2615: 0x14, 0x2616: 0x15, 0x2617: 0x16,\n\t0x2618: 0x17, 0x2619: 0x18, 0x261a: 0x19, 0x261b: 0x1a, 0x261c: 0x1b, 0x261d: 0x1c, 0x261e: 0x1d, 0x261f: 0x1e,\n\t0x2620: 0x95, 0x2621: 0x02, 0x2622: 0x03, 0x2623: 0x04, 0x2624: 0x05,\n\t0x262a: 0x06, 0x262d: 0x07, 0x262f: 0x08,\n\t0x2630: 0x13, 0x2633: 0x15,\n\t// Block 0x99, offset 0x2640\n\t0x2660: 0x1f, 0x2661: 0x20, 0x2662: 0x21, 0x2663: 0x22, 0x2664: 0x587, 0x2665: 0x24, 0x2666: 0x25, 0x2667: 0x26,\n\t0x2668: 0x27, 0x2669: 0x28, 0x266a: 0x29, 0x266b: 0x2a, 0x266c: 0x2b, 0x266d: 0x2c, 0x266e: 0x2d, 0x266f: 0x2e,\n\t0x2670: 0x2f, 0x2671: 0x30, 0x2672: 0x31, 0x2673: 0x32, 0x2674: 0x33, 0x2675: 0x34, 0x2676: 0x35, 0x2677: 0x36,\n\t0x2678: 0x37, 0x2679: 0x38, 0x267a: 0x39, 0x267b: 0x3a, 0x267c: 0x3b, 0x267d: 0x3c, 0x267e: 0x3d, 0x267f: 0x3e,\n\t// Block 0x9a, offset 0x2680\n\t0x2682: 0x01, 0x2683: 0x02, 0x2684: 0x03, 0x2685: 0x04, 0x2686: 0x05, 0x2687: 0x06,\n\t0x2688: 0x07, 0x2689: 0x08, 0x268a: 0x09, 0x268b: 0x0a, 0x268c: 0x0b, 0x268d: 0x0c, 0x268e: 0x0d, 0x268f: 0x0e,\n\t0x2690: 0x0f, 0x2691: 0x10, 0x2692: 0x11, 0x2693: 0x12, 0x2694: 0x13, 0x2695: 0x14, 0x2696: 0x15, 0x2697: 0x16,\n\t0x2698: 0x17, 0x2699: 0x18, 0x269a: 0x19, 0x269b: 0x1a, 0x269c: 0x1b, 0x269d: 0x1c, 0x269e: 0x1d, 0x269f: 0x1e,\n\t0x26a0: 0x97, 0x26a1: 0x02, 0x26a2: 0x03, 0x26a3: 0x04, 0x26a4: 0x05,\n\t0x26aa: 0x06, 0x26ad: 0x07, 0x26af: 0x08,\n\t0x26b0: 0x13, 0x26b3: 0x15,\n\t// Block 0x9b, offset 0x26c0\n\t0x26c0: 0x7d, 0x26c1: 0x7e, 0x26c2: 0x7f, 0x26c3: 0x80, 0x26c4: 0x58c, 0x26c5: 0x82, 0x26c6: 0x83, 0x26c7: 0x84,\n\t0x26c8: 0x85, 0x26c9: 0x86, 0x26ca: 0x87, 0x26cb: 0x88, 0x26cc: 0x89, 0x26cd: 0x8a, 0x26ce: 0x8b, 0x26cf: 0x8c,\n\t0x26d0: 0x8d, 0x26d1: 0x8e, 0x26d2: 0x8f, 0x26d3: 0x90, 0x26d4: 0x91, 0x26d5: 0x92, 0x26d6: 0x93, 0x26d7: 0x94,\n\t0x26d8: 0x95, 0x26d9: 0x96, 0x26da: 0x97, 0x26db: 0x98, 0x26dc: 0x99, 0x26dd: 0x9a, 0x26de: 0x9b, 0x26df: 0x9c,\n\t0x26e0: 0x9d, 0x26e1: 0x9e, 0x26e2: 0x9f, 0x26e3: 0xa0, 0x26e4: 0xa1, 0x26e5: 0xa2, 0x26e6: 0xa3, 0x26e7: 0xa4,\n\t0x26e8: 0xa5, 0x26e9: 0xa6, 0x26ea: 0xa7, 0x26eb: 0xa8, 0x26ec: 0xa9, 0x26ed: 0xaa,\n\t0x26f0: 0xab, 0x26f1: 0xac, 0x26f2: 0xad, 0x26f3: 0xae, 0x26f4: 0xaf, 0x26f5: 0xb0, 0x26f6: 0xb1, 0x26f7: 0xb2,\n\t0x26f8: 0xb3, 0x26fa: 0xb4, 0x26fb: 0xb5, 0x26fc: 0xb6, 0x26fd: 0xb7, 0x26fe: 0xb8, 0x26ff: 0xb9,\n\t// Block 0x9c, offset 0x2700\n\t0x2700: 0xcb, 0x2701: 0xcc, 0x2702: 0xcd, 0x2703: 0xce, 0x2704: 0xcf, 0x2705: 0xd0, 0x2706: 0xd1, 0x2707: 0xd2,\n\t0x2708: 0xd3, 0x2709: 0xd4, 0x270a: 0xd5, 0x270b: 0xd6, 0x270c: 0xd7, 0x270d: 0xd8, 0x270e: 0xd9, 0x270f: 0xda,\n\t0x2710: 0xdb, 0x2711: 0xdc, 0x2712: 0xdd, 0x2713: 0xde, 0x2714: 0xdf, 0x2715: 0xe0, 0x2716: 0xe1, 0x2717: 0xe2,\n\t0x2718: 0xe3, 0x2719: 0xe4, 0x271a: 0xe5, 0x271b: 0xe6, 0x271c: 0xe7, 0x271d: 0xe8, 0x271e: 0xe9, 0x271f: 0x58d,\n\t0x2720: 0xeb, 0x2721: 0xec, 0x2722: 0xed, 0x2723: 0xee, 0x2724: 0xef, 0x2725: 0xf0, 0x2726: 0xf1, 0x2727: 0xf2,\n\t0x2728: 0xf3, 0x2729: 0xf4, 0x272a: 0xf5, 0x272b: 0xf6, 0x272c: 0xf7, 0x272f: 0xf8,\n\t// Block 0x9d, offset 0x2740\n\t0x2742: 0x01, 0x2743: 0x02, 0x2744: 0x58a, 0x2745: 0x58b, 0x2746: 0x05, 0x2747: 0x06,\n\t0x2748: 0x07, 0x2749: 0x08, 0x274a: 0x09, 0x274b: 0x0a, 0x274c: 0x0b, 0x274d: 0x0c, 0x274e: 0x0d, 0x274f: 0x0e,\n\t0x2750: 0x0f, 0x2751: 0x10, 0x2752: 0x11, 0x2753: 0x12, 0x2754: 0x13, 0x2755: 0x14, 0x2756: 0x15, 0x2757: 0x16,\n\t0x2758: 0x17, 0x2759: 0x18, 0x275a: 0x19, 0x275b: 0x1a, 0x275c: 0x1b, 0x275d: 0x1c, 0x275e: 0x1d, 0x275f: 0x1e,\n\t0x2760: 0x01, 0x2761: 0x02, 0x2762: 0x99, 0x2763: 0x04, 0x2764: 0x05,\n\t0x276a: 0x9a, 0x276d: 0x07, 0x276f: 0x08,\n\t0x2770: 0x13, 0x2773: 0x15,\n\t// Block 0x9e, offset 0x2780\n\t0x2780: 0x58e, 0x2781: 0x58f, 0x2782: 0x590, 0x2783: 0x42, 0x2784: 0x43, 0x2785: 0x44, 0x2786: 0x45, 0x2787: 0x46,\n\t0x2788: 0x47, 0x2789: 0x48, 0x278a: 0x49, 0x278b: 0x4a, 0x278c: 0x4b, 0x278d: 0x4c, 0x278e: 0x4d, 0x278f: 0x4e,\n\t0x2790: 0x4f, 0x2791: 0x50, 0x2792: 0x51, 0x2793: 0x52, 0x2794: 0x53, 0x2795: 0x54, 0x2796: 0x55, 0x2797: 0x56,\n\t0x2798: 0x57, 0x2799: 0x58, 0x279a: 0x59, 0x279b: 0x5a, 0x279c: 0x5b, 0x279d: 0x5c, 0x279e: 0x5d, 0x279f: 0x5e,\n\t0x27a0: 0x5f, 0x27a1: 0x60, 0x27a2: 0x61, 0x27a3: 0x62, 0x27a4: 0x63, 0x27a5: 0x64, 0x27a6: 0x65, 0x27a7: 0x66,\n\t0x27a8: 0x67, 0x27a9: 0x68, 0x27aa: 0x69, 0x27ac: 0x6a, 0x27ad: 0x6b, 0x27ae: 0x6c, 0x27af: 0x6d,\n\t0x27b0: 0x6e, 0x27b1: 0x6f, 0x27b3: 0x70, 0x27b4: 0x71, 0x27b5: 0x72, 0x27b6: 0x73, 0x27b7: 0x74,\n\t0x27b8: 0x75, 0x27b9: 0x76, 0x27ba: 0x77, 0x27bb: 0x78, 0x27bc: 0x79, 0x27bd: 0x7a, 0x27be: 0x7b, 0x27bf: 0x7c,\n\t// Block 0x9f, offset 0x27c0\n\t0x27c2: 0x01, 0x27c3: 0x02, 0x27c4: 0x03, 0x27c5: 0x04, 0x27c6: 0x05, 0x27c7: 0x06,\n\t0x27c8: 0x07, 0x27c9: 0x08, 0x27ca: 0x09, 0x27cb: 0x0a, 0x27cc: 0x0b, 0x27cd: 0x0c, 0x27ce: 0x0d, 0x27cf: 0x0e,\n\t0x27d0: 0x0f, 0x27d1: 0x10, 0x27d2: 0x11, 0x27d3: 0x12, 0x27d4: 0x13, 0x27d5: 0x14, 0x27d6: 0x15, 0x27d7: 0x16,\n\t0x27d8: 0x17, 0x27d9: 0x18, 0x27da: 0x19, 0x27db: 0x1a, 0x27dc: 0x1b, 0x27dd: 0x1c, 0x27de: 0x1d, 0x27df: 0x1e,\n\t0x27e0: 0x01, 0x27e1: 0x9c, 0x27e2: 0x03, 0x27e3: 0x04, 0x27e4: 0x05,\n\t0x27ea: 0x06, 0x27ed: 0x07, 0x27ef: 0x08,\n\t0x27f0: 0x13, 0x27f3: 0x15,\n\t// Block 0xa0, offset 0x2800\n\t0x2800: 0x3f, 0x2801: 0x40, 0x2802: 0x41, 0x2803: 0x42, 0x2804: 0x43, 0x2805: 0x44, 0x2806: 0x45, 0x2807: 0x46,\n\t0x2808: 0x47, 0x2809: 0x48, 0x280a: 0x49, 0x280b: 0x4a, 0x280c: 0x4b, 0x280d: 0x4c, 0x280e: 0x4d, 0x280f: 0x4e,\n\t0x2810: 0x4f, 0x2811: 0x50, 0x2812: 0x51, 0x2813: 0x52, 0x2814: 0x53, 0x2815: 0x54, 0x2816: 0x55, 0x2817: 0x56,\n\t0x2818: 0x57, 0x2819: 0x58, 0x281a: 0x59, 0x281b: 0x5a, 0x281c: 0x5b, 0x281d: 0x5c, 0x281e: 0x5d, 0x281f: 0x5e,\n\t0x2820: 0x5f, 0x2821: 0x60, 0x2822: 0x61, 0x2823: 0x62, 0x2824: 0x63, 0x2825: 0x64, 0x2826: 0x65, 0x2827: 0x66,\n\t0x2828: 0x67, 0x2829: 0x68, 0x282a: 0x69, 0x282c: 0x6a, 0x282d: 0x6b, 0x282e: 0x6c, 0x282f: 0x6d,\n\t0x2830: 0x6e, 0x2831: 0x6f, 0x2833: 0x70, 0x2834: 0x71, 0x2835: 0x72, 0x2836: 0x73, 0x2837: 0x74,\n\t0x2838: 0x75, 0x2839: 0x1f2, 0x283a: 0x597, 0x283b: 0x598, 0x283c: 0x79, 0x283d: 0x7a, 0x283e: 0x7b, 0x283f: 0x7c,\n\t// Block 0xa1, offset 0x2840\n\t0x2842: 0x01, 0x2843: 0x595, 0x2844: 0x03, 0x2845: 0x596, 0x2846: 0x05, 0x2847: 0x06,\n\t0x2848: 0x07, 0x2849: 0x08, 0x284a: 0x09, 0x284b: 0x0a, 0x284c: 0x0b, 0x284d: 0x0c, 0x284e: 0x0d, 0x284f: 0x0e,\n\t0x2850: 0x0f, 0x2851: 0x10, 0x2852: 0x11, 0x2853: 0x12, 0x2854: 0x13, 0x2855: 0x14, 0x2856: 0x15, 0x2857: 0x16,\n\t0x2858: 0x17, 0x2859: 0x18, 0x285a: 0x19, 0x285b: 0x1a, 0x285c: 0x1b, 0x285d: 0x1c, 0x285e: 0x1d, 0x285f: 0x1e,\n\t0x2860: 0x01, 0x2861: 0x9e, 0x2862: 0x03, 0x2863: 0x04, 0x2864: 0x05,\n\t0x286a: 0x06, 0x286d: 0x07, 0x286f: 0x08,\n\t0x2870: 0x13, 0x2873: 0x15,\n\t// Block 0xa2, offset 0x2880\n\t0x28a0: 0x1f, 0x28a1: 0x20, 0x28a2: 0x21, 0x28a3: 0x22, 0x28a4: 0x23, 0x28a5: 0x24, 0x28a6: 0x25, 0x28a7: 0x26,\n\t0x28a8: 0x27, 0x28a9: 0x28, 0x28aa: 0x29, 0x28ab: 0x2a, 0x28ac: 0x59b, 0x28ad: 0x59c, 0x28ae: 0x2d, 0x28af: 0x2e,\n\t0x28b0: 0x2f, 0x28b1: 0x30, 0x28b2: 0x31, 0x28b3: 0x32, 0x28b4: 0x33, 0x28b5: 0x34, 0x28b6: 0x35, 0x28b7: 0x36,\n\t0x28b8: 0x37, 0x28b9: 0x38, 0x28ba: 0x39, 0x28bb: 0x3a, 0x28bc: 0x3b, 0x28bd: 0x3c, 0x28be: 0x3d, 0x28bf: 0x3e,\n\t// Block 0xa3, offset 0x28c0\n\t0x28c2: 0x01, 0x28c3: 0x02, 0x28c4: 0x03, 0x28c5: 0x04, 0x28c6: 0x05, 0x28c7: 0x06,\n\t0x28c8: 0x07, 0x28c9: 0x08, 0x28ca: 0x09, 0x28cb: 0x0a, 0x28cc: 0x0b, 0x28cd: 0x0c, 0x28ce: 0x0d, 0x28cf: 0x0e,\n\t0x28d0: 0x0f, 0x28d1: 0x10, 0x28d2: 0x11, 0x28d3: 0x12, 0x28d4: 0x13, 0x28d5: 0x14, 0x28d6: 0x15, 0x28d7: 0x16,\n\t0x28d8: 0x17, 0x28d9: 0x18, 0x28da: 0x19, 0x28db: 0x1a, 0x28dc: 0x1b, 0x28dd: 0x1c, 0x28de: 0x1d, 0x28df: 0x1e,\n\t0x28e0: 0xa0, 0x28e1: 0x02, 0x28e2: 0x03, 0x28e3: 0x04, 0x28e4: 0x05,\n\t0x28ea: 0x06, 0x28ed: 0x07, 0x28ef: 0x08,\n\t0x28f0: 0x13, 0x28f3: 0x15,\n\t// Block 0xa4, offset 0x2900\n\t0x2920: 0x1f, 0x2921: 0x20, 0x2922: 0x21, 0x2923: 0x22, 0x2924: 0x23, 0x2925: 0x24, 0x2926: 0x25, 0x2927: 0x26,\n\t0x2928: 0x59d, 0x2929: 0x59e, 0x292a: 0x29, 0x292b: 0x2a, 0x292c: 0x2b, 0x292d: 0x2c, 0x292e: 0x2d, 0x292f: 0x2e,\n\t0x2930: 0x2f, 0x2931: 0x30, 0x2932: 0x31, 0x2933: 0x32, 0x2934: 0x33, 0x2935: 0x34, 0x2936: 0x35, 0x2937: 0x36,\n\t0x2938: 0x37, 0x2939: 0x38, 0x293a: 0x39, 0x293b: 0x3a, 0x293c: 0x3b, 0x293d: 0x3c, 0x293e: 0x3d, 0x293f: 0x3e,\n\t// Block 0xa5, offset 0x2940\n\t0x2942: 0x01, 0x2943: 0x02, 0x2944: 0x03, 0x2945: 0x04, 0x2946: 0x05, 0x2947: 0x06,\n\t0x2948: 0x07, 0x2949: 0x08, 0x294a: 0x09, 0x294b: 0x0a, 0x294c: 0x0b, 0x294d: 0x0c, 0x294e: 0x0d, 0x294f: 0x0e,\n\t0x2950: 0x0f, 0x2951: 0x10, 0x2952: 0x11, 0x2953: 0x12, 0x2954: 0x13, 0x2955: 0x14, 0x2956: 0x15, 0x2957: 0x16,\n\t0x2958: 0x17, 0x2959: 0x18, 0x295a: 0x19, 0x295b: 0x1a, 0x295c: 0x1b, 0x295d: 0x1c, 0x295e: 0x1d, 0x295f: 0x1e,\n\t0x2960: 0xa2, 0x2961: 0x02, 0x2962: 0x03, 0x2963: 0x04, 0x2964: 0x05,\n\t0x296a: 0x06, 0x296d: 0x07, 0x296f: 0x08,\n\t0x2970: 0x13, 0x2973: 0x15,\n\t// Block 0xa6, offset 0x2980\n\t0x2980: 0x3f, 0x2981: 0x40, 0x2982: 0x41, 0x2983: 0x42, 0x2984: 0x43, 0x2985: 0x44, 0x2986: 0x45, 0x2987: 0x46,\n\t0x2988: 0x47, 0x2989: 0x48, 0x298a: 0x49, 0x298b: 0x4a, 0x298c: 0x4b, 0x298d: 0x4c, 0x298e: 0x4d, 0x298f: 0x4e,\n\t0x2990: 0x4f, 0x2991: 0x50, 0x2992: 0x51, 0x2993: 0x52, 0x2994: 0x53, 0x2995: 0x54, 0x2996: 0x55, 0x2997: 0x56,\n\t0x2998: 0x57, 0x2999: 0x58, 0x299a: 0x59, 0x299b: 0x5a, 0x299c: 0x5b, 0x299d: 0x5c, 0x299e: 0x5d, 0x299f: 0x5e,\n\t0x29a0: 0x5f, 0x29a1: 0x60, 0x29a2: 0x61, 0x29a3: 0x62, 0x29a4: 0x63, 0x29a5: 0x64, 0x29a6: 0x65, 0x29a7: 0x66,\n\t0x29a8: 0x67, 0x29a9: 0x68, 0x29aa: 0x69, 0x29ac: 0x6a, 0x29ad: 0x6b, 0x29ae: 0x6c, 0x29af: 0x6d,\n\t0x29b0: 0x6e, 0x29b1: 0x6f, 0x29b3: 0x70, 0x29b4: 0x71, 0x29b5: 0x72, 0x29b6: 0x73, 0x29b7: 0x74,\n\t0x29b8: 0x5a4, 0x29b9: 0x5a5, 0x29ba: 0x77, 0x29bb: 0x5a6, 0x29bc: 0x79, 0x29bd: 0x7a, 0x29be: 0x7b, 0x29bf: 0x7c,\n\t// Block 0xa7, offset 0x29c0\n\t0x29c2: 0x01, 0x29c3: 0x5a1, 0x29c4: 0x5a2, 0x29c5: 0x5a3, 0x29c6: 0x05, 0x29c7: 0x06,\n\t0x29c8: 0x07, 0x29c9: 0x08, 0x29ca: 0x09, 0x29cb: 0x0a, 0x29cc: 0x0b, 0x29cd: 0x0c, 0x29ce: 0x0d, 0x29cf: 0x0e,\n\t0x29d0: 0x0f, 0x29d1: 0x10, 0x29d2: 0x11, 0x29d3: 0x12, 0x29d4: 0x13, 0x29d5: 0x14, 0x29d6: 0x15, 0x29d7: 0x16,\n\t0x29d8: 0x17, 0x29d9: 0x18, 0x29da: 0x19, 0x29db: 0x1a, 0x29dc: 0x1b, 0x29dd: 0x1c, 0x29de: 0x1d, 0x29df: 0x1e,\n\t0x29e0: 0x01, 0x29e1: 0xa4, 0x29e2: 0x03, 0x29e3: 0x04, 0x29e4: 0x05,\n\t0x29ea: 0x06, 0x29ed: 0x07, 0x29ef: 0x08,\n\t0x29f0: 0x13, 0x29f3: 0x15,\n\t// Block 0xa8, offset 0x2a00\n\t0x2a00: 0x5ab, 0x2a01: 0x7e, 0x2a02: 0x7f, 0x2a03: 0x80, 0x2a04: 0x81, 0x2a05: 0x82, 0x2a06: 0x83, 0x2a07: 0x84,\n\t0x2a08: 0x85, 0x2a09: 0x86, 0x2a0a: 0x87, 0x2a0b: 0x88, 0x2a0c: 0x89, 0x2a0d: 0x8a, 0x2a0e: 0x8b, 0x2a0f: 0x8c,\n\t0x2a10: 0x8d, 0x2a11: 0x8e, 0x2a12: 0x8f, 0x2a13: 0x90, 0x2a14: 0x91, 0x2a15: 0x92, 0x2a16: 0x93, 0x2a17: 0x94,\n\t0x2a18: 0x95, 0x2a19: 0x96, 0x2a1a: 0x97, 0x2a1b: 0x98, 0x2a1c: 0x99, 0x2a1d: 0x9a, 0x2a1e: 0x9b, 0x2a1f: 0x9c,\n\t0x2a20: 0x9d, 0x2a21: 0x9e, 0x2a22: 0x9f, 0x2a23: 0xa0, 0x2a24: 0xa1, 0x2a25: 0xa2, 0x2a26: 0xa3, 0x2a27: 0xa4,\n\t0x2a28: 0xa5, 0x2a29: 0xa6, 0x2a2a: 0xa7, 0x2a2b: 0xa8, 0x2a2c: 0xa9, 0x2a2d: 0xaa,\n\t0x2a30: 0xab, 0x2a31: 0xac, 0x2a32: 0xad, 0x2a33: 0xae, 0x2a34: 0xaf, 0x2a35: 0xb0, 0x2a36: 0xb1, 0x2a37: 0xb2,\n\t0x2a38: 0xb3, 0x2a3a: 0xb4, 0x2a3b: 0xb5, 0x2a3c: 0xb6, 0x2a3d: 0xb7, 0x2a3e: 0xb8, 0x2a3f: 0xb9,\n\t// Block 0xa9, offset 0x2a40\n\t0x2a64: 0xfb, 0x2a65: 0xfc, 0x2a66: 0xfd, 0x2a67: 0xfe,\n\t0x2a68: 0xff, 0x2a69: 0x100, 0x2a6a: 0x101, 0x2a6b: 0x102, 0x2a6c: 0x103, 0x2a6d: 0x104, 0x2a6e: 0x252, 0x2a6f: 0x5ac,\n\t0x2a70: 0x253, 0x2a71: 0x5ad, 0x2a72: 0x5ae, 0x2a73: 0x5af, 0x2a74: 0x5b0, 0x2a75: 0x10c, 0x2a76: 0x10d, 0x2a77: 0x10e,\n\t0x2a78: 0x10f, 0x2a79: 0x110, 0x2a7a: 0x111, 0x2a7b: 0x112, 0x2a7c: 0x113, 0x2a7d: 0x114, 0x2a7e: 0x115, 0x2a7f: 0x116,\n\t// Block 0xaa, offset 0x2a80\n\t0x2a82: 0x01, 0x2a83: 0x02, 0x2a84: 0x03, 0x2a85: 0x04, 0x2a86: 0x05, 0x2a87: 0x06,\n\t0x2a88: 0x07, 0x2a89: 0x08, 0x2a8a: 0x09, 0x2a8b: 0x0a, 0x2a8c: 0x0b, 0x2a8d: 0x0c, 0x2a8e: 0x0d, 0x2a8f: 0x0e,\n\t0x2a90: 0x0f, 0x2a91: 0x10, 0x2a92: 0x11, 0x2a93: 0x12, 0x2a94: 0x13, 0x2a95: 0x14, 0x2a96: 0x15, 0x2a97: 0x16,\n\t0x2a98: 0x5a7, 0x2a99: 0x5a8, 0x2a9a: 0x5a9, 0x2a9b: 0x5aa, 0x2a9c: 0x1b, 0x2a9d: 0x1c, 0x2a9e: 0x1d, 0x2a9f: 0x1e,\n\t0x2aa0: 0x01, 0x2aa1: 0x02, 0x2aa2: 0xa6, 0x2aa3: 0x04, 0x2aa4: 0x05,\n\t0x2aaa: 0x06, 0x2aad: 0x07, 0x2aaf: 0xa7,\n\t0x2ab0: 0x13, 0x2ab3: 0x15,\n\t// Block 0xab, offset 0x2ac0\n\t0x2ac0: 0x3f, 0x2ac1: 0x40, 0x2ac2: 0x41, 0x2ac3: 0x42, 0x2ac4: 0x43, 0x2ac5: 0x44, 0x2ac6: 0x45, 0x2ac7: 0x46,\n\t0x2ac8: 0x47, 0x2ac9: 0x48, 0x2aca: 0x49, 0x2acb: 0x4a, 0x2acc: 0x4b, 0x2acd: 0x4c, 0x2ace: 0x4d, 0x2acf: 0x4e,\n\t0x2ad0: 0x4f, 0x2ad1: 0x50, 0x2ad2: 0x51, 0x2ad3: 0x52, 0x2ad4: 0x53, 0x2ad5: 0x54, 0x2ad6: 0x55, 0x2ad7: 0x56,\n\t0x2ad8: 0x57, 0x2ad9: 0x58, 0x2ada: 0x59, 0x2adb: 0x5a, 0x2adc: 0x5b, 0x2add: 0x5c, 0x2ade: 0x5d, 0x2adf: 0x5e,\n\t0x2ae0: 0x5f, 0x2ae1: 0x60, 0x2ae2: 0x61, 0x2ae3: 0x62, 0x2ae4: 0x63, 0x2ae5: 0x64, 0x2ae6: 0x65, 0x2ae7: 0x66,\n\t0x2ae8: 0x67, 0x2ae9: 0x68, 0x2aea: 0x69, 0x2aec: 0x6a, 0x2aed: 0x6b, 0x2aee: 0x6c, 0x2aef: 0x6d,\n\t0x2af0: 0x6e, 0x2af1: 0x6f, 0x2af3: 0x70, 0x2af4: 0x71, 0x2af5: 0x72, 0x2af6: 0x73, 0x2af7: 0x74,\n\t0x2af8: 0x75, 0x2af9: 0x76, 0x2afa: 0x5b7, 0x2afb: 0x78, 0x2afc: 0x79, 0x2afd: 0x7a, 0x2afe: 0x7b, 0x2aff: 0x7c,\n\t// Block 0xac, offset 0x2b00\n\t0x2b02: 0x01, 0x2b03: 0x5b3, 0x2b04: 0x5b4, 0x2b05: 0x5b5, 0x2b06: 0x05, 0x2b07: 0x06,\n\t0x2b08: 0x5b6, 0x2b09: 0x08, 0x2b0a: 0x09, 0x2b0b: 0x0a, 0x2b0c: 0x0b, 0x2b0d: 0x0c, 0x2b0e: 0x0d, 0x2b0f: 0x0e,\n\t0x2b10: 0x0f, 0x2b11: 0x10, 0x2b12: 0x11, 0x2b13: 0x12, 0x2b14: 0x13, 0x2b15: 0x14, 0x2b16: 0x15, 0x2b17: 0x16,\n\t0x2b18: 0x17, 0x2b19: 0x18, 0x2b1a: 0x19, 0x2b1b: 0x1a, 0x2b1c: 0x1b, 0x2b1d: 0x1c, 0x2b1e: 0x1d, 0x2b1f: 0x1e,\n\t0x2b20: 0x01, 0x2b21: 0xa9, 0x2b22: 0x03, 0x2b23: 0x04, 0x2b24: 0x05,\n\t0x2b2a: 0x06, 0x2b2d: 0x07, 0x2b2f: 0x08,\n\t0x2b30: 0x13, 0x2b33: 0x15,\n\t// Block 0xad, offset 0x2b40\n\t0x2b40: 0x3f, 0x2b41: 0x40, 0x2b42: 0x41, 0x2b43: 0x42, 0x2b44: 0x43, 0x2b45: 0x44, 0x2b46: 0x45, 0x2b47: 0x46,\n\t0x2b48: 0x47, 0x2b49: 0x48, 0x2b4a: 0x49, 0x2b4b: 0x4a, 0x2b4c: 0x4b, 0x2b4d: 0x4c, 0x2b4e: 0x4d, 0x2b4f: 0x4e,\n\t0x2b50: 0x4f, 0x2b51: 0x50, 0x2b52: 0x51, 0x2b53: 0x52, 0x2b54: 0x53, 0x2b55: 0x54, 0x2b56: 0x55, 0x2b57: 0x56,\n\t0x2b58: 0x57, 0x2b59: 0x58, 0x2b5a: 0x59, 0x2b5b: 0x5a, 0x2b5c: 0x5b, 0x2b5d: 0x5c, 0x2b5e: 0x5d, 0x2b5f: 0x5e,\n\t0x2b60: 0x5f, 0x2b61: 0x60, 0x2b62: 0x61, 0x2b63: 0x62, 0x2b64: 0x63, 0x2b65: 0x64, 0x2b66: 0x65, 0x2b67: 0x66,\n\t0x2b68: 0x67, 0x2b69: 0x68, 0x2b6a: 0x69, 0x2b6c: 0x6a, 0x2b6d: 0x6b, 0x2b6e: 0x6c, 0x2b6f: 0x6d,\n\t0x2b70: 0x6e, 0x2b71: 0x6f, 0x2b73: 0x70, 0x2b74: 0x71, 0x2b75: 0x72, 0x2b76: 0x1fc, 0x2b77: 0x74,\n\t0x2b78: 0x75, 0x2b79: 0x5c1, 0x2b7a: 0x5c2, 0x2b7b: 0x5c3, 0x2b7c: 0x79, 0x2b7d: 0x7a, 0x2b7e: 0x7b, 0x2b7f: 0x7c,\n\t// Block 0xae, offset 0x2b80\n\t0x2b82: 0x01, 0x2b83: 0x5ba, 0x2b84: 0x5bb, 0x2b85: 0x5bc, 0x2b86: 0x5bd, 0x2b87: 0x5be,\n\t0x2b88: 0x5bf, 0x2b89: 0x08, 0x2b8a: 0x5c0, 0x2b8b: 0x0a, 0x2b8c: 0x0b, 0x2b8d: 0x0c, 0x2b8e: 0x0d, 0x2b8f: 0x0e,\n\t0x2b90: 0x0f, 0x2b91: 0x10, 0x2b92: 0x11, 0x2b93: 0x12, 0x2b94: 0x13, 0x2b95: 0x14, 0x2b96: 0x15, 0x2b97: 0x16,\n\t0x2b98: 0x17, 0x2b99: 0x18, 0x2b9a: 0x19, 0x2b9b: 0x1a, 0x2b9c: 0x1b, 0x2b9d: 0x1c, 0x2b9e: 0x1d, 0x2b9f: 0x1e,\n\t0x2ba0: 0x01, 0x2ba1: 0xab, 0x2ba2: 0x4e, 0x2ba3: 0x04, 0x2ba4: 0x05,\n\t0x2baa: 0x06, 0x2bad: 0x07, 0x2baf: 0x08,\n\t0x2bb0: 0x13, 0x2bb3: 0x15,\n\t// Block 0xaf, offset 0x2bc0\n\t0x2be0: 0x1f, 0x2be1: 0x20, 0x2be2: 0x21, 0x2be3: 0x22, 0x2be4: 0x23, 0x2be5: 0x24, 0x2be6: 0x25, 0x2be7: 0x26,\n\t0x2be8: 0x27, 0x2be9: 0x28, 0x2bea: 0x29, 0x2beb: 0x2a, 0x2bec: 0x2b, 0x2bed: 0x2c, 0x2bee: 0x2d, 0x2bef: 0x2e,\n\t0x2bf0: 0x2f, 0x2bf1: 0x30, 0x2bf2: 0x31, 0x2bf3: 0x32, 0x2bf4: 0x33, 0x2bf5: 0x34, 0x2bf6: 0x5c4, 0x2bf7: 0x36,\n\t0x2bf8: 0x37, 0x2bf9: 0x38, 0x2bfa: 0x39, 0x2bfb: 0x3a, 0x2bfc: 0x3b, 0x2bfd: 0x3c, 0x2bfe: 0x3d, 0x2bff: 0x3e,\n\t// Block 0xb0, offset 0x2c00\n\t0x2c02: 0x01, 0x2c03: 0x02, 0x2c04: 0x03, 0x2c05: 0x04, 0x2c06: 0x05, 0x2c07: 0x06,\n\t0x2c08: 0x07, 0x2c09: 0x08, 0x2c0a: 0x09, 0x2c0b: 0x0a, 0x2c0c: 0x0b, 0x2c0d: 0x0c, 0x2c0e: 0x0d, 0x2c0f: 0x0e,\n\t0x2c10: 0x0f, 0x2c11: 0x10, 0x2c12: 0x11, 0x2c13: 0x12, 0x2c14: 0x13, 0x2c15: 0x14, 0x2c16: 0x15, 0x2c17: 0x16,\n\t0x2c18: 0x17, 0x2c19: 0x18, 0x2c1a: 0x19, 0x2c1b: 0x1a, 0x2c1c: 0x1b, 0x2c1d: 0x1c, 0x2c1e: 0x1d, 0x2c1f: 0x1e,\n\t0x2c20: 0xad, 0x2c21: 0x02, 0x2c22: 0x03, 0x2c23: 0x04, 0x2c24: 0x05,\n\t0x2c2a: 0x06, 0x2c2d: 0x07, 0x2c2f: 0x08,\n\t0x2c30: 0x13, 0x2c33: 0x15,\n\t// Block 0xb1, offset 0x2c40\n\t0x2c40: 0x3f, 0x2c41: 0x40, 0x2c42: 0x41, 0x2c43: 0x42, 0x2c44: 0x43, 0x2c45: 0x44, 0x2c46: 0x45, 0x2c47: 0x46,\n\t0x2c48: 0x47, 0x2c49: 0x48, 0x2c4a: 0x49, 0x2c4b: 0x4a, 0x2c4c: 0x4b, 0x2c4d: 0x4c, 0x2c4e: 0x4d, 0x2c4f: 0x4e,\n\t0x2c50: 0x4f, 0x2c51: 0x50, 0x2c52: 0x51, 0x2c53: 0x52, 0x2c54: 0x53, 0x2c55: 0x54, 0x2c56: 0x55, 0x2c57: 0x56,\n\t0x2c58: 0x57, 0x2c59: 0x58, 0x2c5a: 0x59, 0x2c5b: 0x5a, 0x2c5c: 0x5b, 0x2c5d: 0x5c, 0x2c5e: 0x5d, 0x2c5f: 0x5e,\n\t0x2c60: 0x5f, 0x2c61: 0x60, 0x2c62: 0x61, 0x2c63: 0x62, 0x2c64: 0x63, 0x2c65: 0x64, 0x2c66: 0x65, 0x2c67: 0x66,\n\t0x2c68: 0x67, 0x2c69: 0x68, 0x2c6a: 0x69, 0x2c6c: 0x6a, 0x2c6d: 0x6b, 0x2c6e: 0x6c, 0x2c6f: 0x6d,\n\t0x2c70: 0x6e, 0x2c71: 0x6f, 0x2c73: 0x70, 0x2c74: 0x71, 0x2c75: 0x72, 0x2c76: 0x73, 0x2c77: 0x74,\n\t0x2c78: 0x75, 0x2c79: 0x1f2, 0x2c7a: 0x77, 0x2c7b: 0x5c9, 0x2c7c: 0x79, 0x2c7d: 0x7a, 0x2c7e: 0x7b, 0x2c7f: 0x7c,\n\t// Block 0xb2, offset 0x2c80\n\t0x2c82: 0x01, 0x2c83: 0x5c7, 0x2c84: 0x1f0, 0x2c85: 0x1f1, 0x2c86: 0x05, 0x2c87: 0x5c8,\n\t0x2c88: 0x07, 0x2c89: 0x08, 0x2c8a: 0x09, 0x2c8b: 0x0a, 0x2c8c: 0x0b, 0x2c8d: 0x0c, 0x2c8e: 0x0d, 0x2c8f: 0x0e,\n\t0x2c90: 0x0f, 0x2c91: 0x10, 0x2c92: 0x11, 0x2c93: 0x12, 0x2c94: 0x13, 0x2c95: 0x14, 0x2c96: 0x15, 0x2c97: 0x16,\n\t0x2c98: 0x17, 0x2c99: 0x18, 0x2c9a: 0x19, 0x2c9b: 0x1a, 0x2c9c: 0x1b, 0x2c9d: 0x1c, 0x2c9e: 0x1d, 0x2c9f: 0x1e,\n\t0x2ca0: 0x01, 0x2ca1: 0xaf, 0x2ca2: 0x03, 0x2ca3: 0x04, 0x2ca4: 0x05,\n\t0x2caa: 0x06, 0x2cad: 0x07, 0x2caf: 0x08,\n\t0x2cb0: 0x13, 0x2cb3: 0x15,\n\t// Block 0xb3, offset 0x2cc0\n\t0x2cc2: 0x01, 0x2cc3: 0x02, 0x2cc4: 0x5cc, 0x2cc5: 0x292, 0x2cc6: 0x05, 0x2cc7: 0x06,\n\t0x2cc8: 0x07, 0x2cc9: 0x08, 0x2cca: 0x09, 0x2ccb: 0x0a, 0x2ccc: 0x0b, 0x2ccd: 0x0c, 0x2cce: 0x0d, 0x2ccf: 0x0e,\n\t0x2cd0: 0x0f, 0x2cd1: 0x10, 0x2cd2: 0x11, 0x2cd3: 0x12, 0x2cd4: 0x13, 0x2cd5: 0x14, 0x2cd6: 0x15, 0x2cd7: 0x16,\n\t0x2cd8: 0x17, 0x2cd9: 0x18, 0x2cda: 0x19, 0x2cdb: 0x1a, 0x2cdc: 0x1b, 0x2cdd: 0x1c, 0x2cde: 0x1d, 0x2cdf: 0x1e,\n\t0x2ce0: 0x01, 0x2ce1: 0x63, 0x2ce2: 0x03, 0x2ce3: 0x04, 0x2ce4: 0x05,\n\t0x2cea: 0x06, 0x2ced: 0x07, 0x2cef: 0x08,\n\t0x2cf0: 0x13, 0x2cf3: 0x15,\n\t// Block 0xb4, offset 0x2d00\n\t0x2d00: 0x3f, 0x2d01: 0x40, 0x2d02: 0x41, 0x2d03: 0x42, 0x2d04: 0x43, 0x2d05: 0x44, 0x2d06: 0x45, 0x2d07: 0x46,\n\t0x2d08: 0x47, 0x2d09: 0x48, 0x2d0a: 0x49, 0x2d0b: 0x4a, 0x2d0c: 0x4b, 0x2d0d: 0x4c, 0x2d0e: 0x4d, 0x2d0f: 0x4e,\n\t0x2d10: 0x4f, 0x2d11: 0x50, 0x2d12: 0x51, 0x2d13: 0x52, 0x2d14: 0x53, 0x2d15: 0x54, 0x2d16: 0x55, 0x2d17: 0x56,\n\t0x2d18: 0x57, 0x2d19: 0x58, 0x2d1a: 0x59, 0x2d1b: 0x5a, 0x2d1c: 0x5b, 0x2d1d: 0x5c, 0x2d1e: 0x5d, 0x2d1f: 0x5e,\n\t0x2d20: 0x5f, 0x2d21: 0x60, 0x2d22: 0x61, 0x2d23: 0x62, 0x2d24: 0x63, 0x2d25: 0x64, 0x2d26: 0x65, 0x2d27: 0x66,\n\t0x2d28: 0x67, 0x2d29: 0x68, 0x2d2a: 0x69, 0x2d2c: 0x6a, 0x2d2d: 0x6b, 0x2d2e: 0x6c, 0x2d2f: 0x6d,\n\t0x2d30: 0x6e, 0x2d31: 0x6f, 0x2d33: 0x70, 0x2d34: 0x71, 0x2d35: 0x72, 0x2d36: 0x73, 0x2d37: 0x74,\n\t0x2d38: 0x5d0, 0x2d39: 0x76, 0x2d3a: 0x77, 0x2d3b: 0x78, 0x2d3c: 0x79, 0x2d3d: 0x7a, 0x2d3e: 0x7b, 0x2d3f: 0x7c,\n\t// Block 0xb5, offset 0x2d40\n\t0x2d42: 0x01, 0x2d43: 0x5cf, 0x2d44: 0x03, 0x2d45: 0x04, 0x2d46: 0x05, 0x2d47: 0x06,\n\t0x2d48: 0x07, 0x2d49: 0x08, 0x2d4a: 0x09, 0x2d4b: 0x0a, 0x2d4c: 0x0b, 0x2d4d: 0x0c, 0x2d4e: 0x0d, 0x2d4f: 0x0e,\n\t0x2d50: 0x0f, 0x2d51: 0x10, 0x2d52: 0x11, 0x2d53: 0x12, 0x2d54: 0x13, 0x2d55: 0x14, 0x2d56: 0x15, 0x2d57: 0x16,\n\t0x2d58: 0x17, 0x2d59: 0x18, 0x2d5a: 0x19, 0x2d5b: 0x1a, 0x2d5c: 0x1b, 0x2d5d: 0x1c, 0x2d5e: 0x1d, 0x2d5f: 0x1e,\n\t0x2d60: 0x01, 0x2d61: 0xb2, 0x2d62: 0x03, 0x2d63: 0x04, 0x2d64: 0x05,\n\t0x2d6a: 0x06, 0x2d6d: 0x07, 0x2d6f: 0x08,\n\t0x2d70: 0x13, 0x2d73: 0x15,\n\t// Block 0xb6, offset 0x2d80\n\t0x2d80: 0x3f, 0x2d81: 0x40, 0x2d82: 0x41, 0x2d83: 0x42, 0x2d84: 0x43, 0x2d85: 0x44, 0x2d86: 0x45, 0x2d87: 0x46,\n\t0x2d88: 0x47, 0x2d89: 0x48, 0x2d8a: 0x49, 0x2d8b: 0x4a, 0x2d8c: 0x4b, 0x2d8d: 0x4c, 0x2d8e: 0x4d, 0x2d8f: 0x4e,\n\t0x2d90: 0x4f, 0x2d91: 0x50, 0x2d92: 0x51, 0x2d93: 0x52, 0x2d94: 0x53, 0x2d95: 0x54, 0x2d96: 0x55, 0x2d97: 0x56,\n\t0x2d98: 0x57, 0x2d99: 0x58, 0x2d9a: 0x59, 0x2d9b: 0x5a, 0x2d9c: 0x5b, 0x2d9d: 0x5c, 0x2d9e: 0x5d, 0x2d9f: 0x5e,\n\t0x2da0: 0x5f, 0x2da1: 0x60, 0x2da2: 0x61, 0x2da3: 0x62, 0x2da4: 0x63, 0x2da5: 0x64, 0x2da6: 0x65, 0x2da7: 0x66,\n\t0x2da8: 0x67, 0x2da9: 0x68, 0x2daa: 0x69, 0x2dac: 0x6a, 0x2dad: 0x6b, 0x2dae: 0x6c, 0x2daf: 0x6d,\n\t0x2db0: 0x6e, 0x2db1: 0x6f, 0x2db3: 0x70, 0x2db4: 0x71, 0x2db5: 0x72, 0x2db6: 0x1fc, 0x2db7: 0x74,\n\t0x2db8: 0x75, 0x2db9: 0x261, 0x2dba: 0x77, 0x2dbb: 0x5d6, 0x2dbc: 0x79, 0x2dbd: 0x7a, 0x2dbe: 0x7b, 0x2dbf: 0x7c,\n\t// Block 0xb7, offset 0x2dc0\n\t0x2dc2: 0x01, 0x2dc3: 0x5d3, 0x2dc4: 0x5d4, 0x2dc5: 0x5d5, 0x2dc6: 0x05, 0x2dc7: 0x268,\n\t0x2dc8: 0x25f, 0x2dc9: 0x08, 0x2dca: 0x09, 0x2dcb: 0x0a, 0x2dcc: 0x0b, 0x2dcd: 0x0c, 0x2dce: 0x0d, 0x2dcf: 0x0e,\n\t0x2dd0: 0x0f, 0x2dd1: 0x10, 0x2dd2: 0x11, 0x2dd3: 0x12, 0x2dd4: 0x13, 0x2dd5: 0x14, 0x2dd6: 0x15, 0x2dd7: 0x16,\n\t0x2dd8: 0x17, 0x2dd9: 0x18, 0x2dda: 0x19, 0x2ddb: 0x1a, 0x2ddc: 0x1b, 0x2ddd: 0x1c, 0x2dde: 0x1d, 0x2ddf: 0x1e,\n\t0x2de0: 0x01, 0x2de1: 0xb4, 0x2de2: 0x4e, 0x2de3: 0x04, 0x2de4: 0x05,\n\t0x2dea: 0x06, 0x2ded: 0x07, 0x2def: 0x08,\n\t0x2df0: 0x13, 0x2df3: 0x15,\n\t// Block 0xb8, offset 0x2e00\n\t0x2e00: 0x3f, 0x2e01: 0x40, 0x2e02: 0x41, 0x2e03: 0x42, 0x2e04: 0x43, 0x2e05: 0x44, 0x2e06: 0x45, 0x2e07: 0x46,\n\t0x2e08: 0x47, 0x2e09: 0x48, 0x2e0a: 0x49, 0x2e0b: 0x4a, 0x2e0c: 0x4b, 0x2e0d: 0x4c, 0x2e0e: 0x4d, 0x2e0f: 0x4e,\n\t0x2e10: 0x4f, 0x2e11: 0x50, 0x2e12: 0x51, 0x2e13: 0x52, 0x2e14: 0x53, 0x2e15: 0x54, 0x2e16: 0x55, 0x2e17: 0x56,\n\t0x2e18: 0x57, 0x2e19: 0x58, 0x2e1a: 0x59, 0x2e1b: 0x5a, 0x2e1c: 0x5b, 0x2e1d: 0x5c, 0x2e1e: 0x5d, 0x2e1f: 0x5e,\n\t0x2e20: 0x5f, 0x2e21: 0x60, 0x2e22: 0x61, 0x2e23: 0x62, 0x2e24: 0x63, 0x2e25: 0x64, 0x2e26: 0x65, 0x2e27: 0x66,\n\t0x2e28: 0x67, 0x2e29: 0x68, 0x2e2a: 0x69, 0x2e2c: 0x6a, 0x2e2d: 0x6b, 0x2e2e: 0x6c, 0x2e2f: 0x6d,\n\t0x2e30: 0x6e, 0x2e31: 0x6f, 0x2e33: 0x70, 0x2e34: 0x71, 0x2e35: 0x72, 0x2e36: 0x1fc, 0x2e37: 0x74,\n\t0x2e38: 0x75, 0x2e39: 0x5da, 0x2e3a: 0x26b, 0x2e3b: 0x5d6, 0x2e3c: 0x79, 0x2e3d: 0x7a, 0x2e3e: 0x7b, 0x2e3f: 0x7c,\n\t// Block 0xb9, offset 0x2e40\n\t0x2e42: 0x01, 0x2e43: 0x5d3, 0x2e44: 0x5d4, 0x2e45: 0x5d9, 0x2e46: 0x05, 0x2e47: 0x268,\n\t0x2e48: 0x25f, 0x2e49: 0x08, 0x2e4a: 0x09, 0x2e4b: 0x0a, 0x2e4c: 0x0b, 0x2e4d: 0x0c, 0x2e4e: 0x0d, 0x2e4f: 0x0e,\n\t0x2e50: 0x0f, 0x2e51: 0x10, 0x2e52: 0x11, 0x2e53: 0x12, 0x2e54: 0x13, 0x2e55: 0x14, 0x2e56: 0x15, 0x2e57: 0x16,\n\t0x2e58: 0x17, 0x2e59: 0x18, 0x2e5a: 0x19, 0x2e5b: 0x1a, 0x2e5c: 0x1b, 0x2e5d: 0x1c, 0x2e5e: 0x1d, 0x2e5f: 0x1e,\n\t0x2e60: 0x01, 0x2e61: 0xb6, 0x2e62: 0x51, 0x2e63: 0x52, 0x2e64: 0x05,\n\t0x2e6a: 0x06, 0x2e6d: 0x07, 0x2e6f: 0x08,\n\t0x2e70: 0x54, 0x2e73: 0x15,\n\t// Block 0xba, offset 0x2e80\n\t0x2ea0: 0x1f, 0x2ea1: 0x20, 0x2ea2: 0x21, 0x2ea3: 0x22, 0x2ea4: 0x23, 0x2ea5: 0x24, 0x2ea6: 0x25, 0x2ea7: 0x26,\n\t0x2ea8: 0x27, 0x2ea9: 0x28, 0x2eaa: 0x29, 0x2eab: 0x2a, 0x2eac: 0x2b, 0x2ead: 0x2c, 0x2eae: 0x5db, 0x2eaf: 0x2e,\n\t0x2eb0: 0x2f, 0x2eb1: 0x30, 0x2eb2: 0x31, 0x2eb3: 0x32, 0x2eb4: 0x33, 0x2eb5: 0x34, 0x2eb6: 0x35, 0x2eb7: 0x36,\n\t0x2eb8: 0x37, 0x2eb9: 0x38, 0x2eba: 0x39, 0x2ebb: 0x3a, 0x2ebc: 0x3b, 0x2ebd: 0x3c, 0x2ebe: 0x3d, 0x2ebf: 0x3e,\n\t// Block 0xbb, offset 0x2ec0\n\t0x2ec2: 0x01, 0x2ec3: 0x02, 0x2ec4: 0x03, 0x2ec5: 0x04, 0x2ec6: 0x05, 0x2ec7: 0x06,\n\t0x2ec8: 0x07, 0x2ec9: 0x08, 0x2eca: 0x09, 0x2ecb: 0x0a, 0x2ecc: 0x0b, 0x2ecd: 0x0c, 0x2ece: 0x0d, 0x2ecf: 0x0e,\n\t0x2ed0: 0x0f, 0x2ed1: 0x10, 0x2ed2: 0x11, 0x2ed3: 0x12, 0x2ed4: 0x13, 0x2ed5: 0x14, 0x2ed6: 0x15, 0x2ed7: 0x16,\n\t0x2ed8: 0x17, 0x2ed9: 0x18, 0x2eda: 0x19, 0x2edb: 0x1a, 0x2edc: 0x1b, 0x2edd: 0x1c, 0x2ede: 0x1d, 0x2edf: 0x1e,\n\t0x2ee0: 0xb8, 0x2ee1: 0x02, 0x2ee2: 0x03, 0x2ee3: 0x04, 0x2ee4: 0x05,\n\t0x2eea: 0x06, 0x2eed: 0x07, 0x2eef: 0x08,\n\t0x2ef0: 0x13, 0x2ef3: 0x15,\n\t// Block 0xbc, offset 0x2f00\n\t0x2f20: 0x1f, 0x2f21: 0x20, 0x2f22: 0x21, 0x2f23: 0x22, 0x2f24: 0x23, 0x2f25: 0x24, 0x2f26: 0x25, 0x2f27: 0x26,\n\t0x2f28: 0x27, 0x2f29: 0x28, 0x2f2a: 0x29, 0x2f2b: 0x2a, 0x2f2c: 0x2b, 0x2f2d: 0x2c, 0x2f2e: 0x2d, 0x2f2f: 0x2e,\n\t0x2f30: 0x5dc, 0x2f31: 0x30, 0x2f32: 0x31, 0x2f33: 0x32, 0x2f34: 0x33, 0x2f35: 0x34, 0x2f36: 0x35, 0x2f37: 0x36,\n\t0x2f38: 0x37, 0x2f39: 0x38, 0x2f3a: 0x39, 0x2f3b: 0x3a, 0x2f3c: 0x3b, 0x2f3d: 0x3c, 0x2f3e: 0x3d, 0x2f3f: 0x3e,\n\t// Block 0xbd, offset 0x2f40\n\t0x2f42: 0x01, 0x2f43: 0x02, 0x2f44: 0x03, 0x2f45: 0x04, 0x2f46: 0x05, 0x2f47: 0x06,\n\t0x2f48: 0x07, 0x2f49: 0x08, 0x2f4a: 0x09, 0x2f4b: 0x0a, 0x2f4c: 0x0b, 0x2f4d: 0x0c, 0x2f4e: 0x0d, 0x2f4f: 0x0e,\n\t0x2f50: 0x0f, 0x2f51: 0x10, 0x2f52: 0x11, 0x2f53: 0x12, 0x2f54: 0x13, 0x2f55: 0x14, 0x2f56: 0x15, 0x2f57: 0x16,\n\t0x2f58: 0x17, 0x2f59: 0x18, 0x2f5a: 0x19, 0x2f5b: 0x1a, 0x2f5c: 0x1b, 0x2f5d: 0x1c, 0x2f5e: 0x1d, 0x2f5f: 0x1e,\n\t0x2f60: 0xba, 0x2f61: 0x02, 0x2f62: 0x03, 0x2f63: 0x04, 0x2f64: 0x05,\n\t0x2f6a: 0x06, 0x2f6d: 0x07, 0x2f6f: 0x08,\n\t0x2f70: 0x13, 0x2f73: 0x15,\n\t// Block 0xbe, offset 0x2f80\n\t0x2fa0: 0x1f, 0x2fa1: 0x20, 0x2fa2: 0x21, 0x2fa3: 0x22, 0x2fa4: 0x23, 0x2fa5: 0x24, 0x2fa6: 0x25, 0x2fa7: 0x26,\n\t0x2fa8: 0x27, 0x2fa9: 0x28, 0x2faa: 0x29, 0x2fab: 0x2a, 0x2fac: 0x2b, 0x2fad: 0x2c, 0x2fae: 0x2d, 0x2faf: 0x2e,\n\t0x2fb0: 0x2f, 0x2fb1: 0x30, 0x2fb2: 0x31, 0x2fb3: 0x32, 0x2fb4: 0x33, 0x2fb5: 0x34, 0x2fb6: 0x35, 0x2fb7: 0x36,\n\t0x2fb8: 0x5dd, 0x2fb9: 0x5de, 0x2fba: 0x39, 0x2fbb: 0x3a, 0x2fbc: 0x3b, 0x2fbd: 0x3c, 0x2fbe: 0x3d, 0x2fbf: 0x3e,\n\t// Block 0xbf, offset 0x2fc0\n\t0x2fc2: 0x01, 0x2fc3: 0x02, 0x2fc4: 0x03, 0x2fc5: 0x04, 0x2fc6: 0x05, 0x2fc7: 0x06,\n\t0x2fc8: 0x07, 0x2fc9: 0x08, 0x2fca: 0x09, 0x2fcb: 0x0a, 0x2fcc: 0x0b, 0x2fcd: 0x0c, 0x2fce: 0x0d, 0x2fcf: 0x0e,\n\t0x2fd0: 0x0f, 0x2fd1: 0x10, 0x2fd2: 0x11, 0x2fd3: 0x12, 0x2fd4: 0x13, 0x2fd5: 0x14, 0x2fd6: 0x15, 0x2fd7: 0x16,\n\t0x2fd8: 0x17, 0x2fd9: 0x18, 0x2fda: 0x19, 0x2fdb: 0x1a, 0x2fdc: 0x1b, 0x2fdd: 0x1c, 0x2fde: 0x1d, 0x2fdf: 0x1e,\n\t0x2fe0: 0xbc, 0x2fe1: 0x02, 0x2fe2: 0x03, 0x2fe3: 0x04, 0x2fe4: 0x05,\n\t0x2fea: 0x06, 0x2fed: 0x07, 0x2fef: 0x08,\n\t0x2ff0: 0x13, 0x2ff3: 0x15,\n\t// Block 0xc0, offset 0x3000\n\t0x3000: 0x3f, 0x3001: 0x40, 0x3002: 0x41, 0x3003: 0x42, 0x3004: 0x43, 0x3005: 0x44, 0x3006: 0x45, 0x3007: 0x46,\n\t0x3008: 0x47, 0x3009: 0x48, 0x300a: 0x49, 0x300b: 0x4a, 0x300c: 0x4b, 0x300d: 0x4c, 0x300e: 0x4d, 0x300f: 0x4e,\n\t0x3010: 0x4f, 0x3011: 0x50, 0x3012: 0x51, 0x3013: 0x52, 0x3014: 0x53, 0x3015: 0x54, 0x3016: 0x55, 0x3017: 0x56,\n\t0x3018: 0x57, 0x3019: 0x58, 0x301a: 0x59, 0x301b: 0x5a, 0x301c: 0x5b, 0x301d: 0x5c, 0x301e: 0x5d, 0x301f: 0x5e,\n\t0x3020: 0x5f, 0x3021: 0x60, 0x3022: 0x61, 0x3023: 0x62, 0x3024: 0x63, 0x3025: 0x64, 0x3026: 0x65, 0x3027: 0x66,\n\t0x3028: 0x67, 0x3029: 0x68, 0x302a: 0x69, 0x302c: 0x6a, 0x302d: 0x6b, 0x302e: 0x6c, 0x302f: 0x6d,\n\t0x3030: 0x6e, 0x3031: 0x6f, 0x3033: 0x70, 0x3034: 0x71, 0x3035: 0x72, 0x3036: 0x73, 0x3037: 0x74,\n\t0x3038: 0x5e7, 0x3039: 0x5e8, 0x303a: 0x5e9, 0x303b: 0x5ea, 0x303c: 0x79, 0x303d: 0x7a, 0x303e: 0x7b, 0x303f: 0x7c,\n\t// Block 0xc1, offset 0x3040\n\t0x3042: 0x01, 0x3043: 0x5e1, 0x3044: 0x5e2, 0x3045: 0x5e3, 0x3046: 0x05, 0x3047: 0x5e4,\n\t0x3048: 0x5e5, 0x3049: 0x08, 0x304a: 0x5e6, 0x304b: 0x0a, 0x304c: 0x0b, 0x304d: 0x0c, 0x304e: 0x0d, 0x304f: 0x0e,\n\t0x3050: 0x0f, 0x3051: 0x10, 0x3052: 0x11, 0x3053: 0x12, 0x3054: 0x13, 0x3055: 0x14, 0x3056: 0x15, 0x3057: 0x16,\n\t0x3058: 0x17, 0x3059: 0x18, 0x305a: 0x19, 0x305b: 0x1a, 0x305c: 0x1b, 0x305d: 0x1c, 0x305e: 0x1d, 0x305f: 0x1e,\n\t0x3060: 0x01, 0x3061: 0xbe, 0x3062: 0x03, 0x3063: 0x04, 0x3064: 0x05,\n\t0x306a: 0x06, 0x306d: 0x07, 0x306f: 0x08,\n\t0x3070: 0x13, 0x3073: 0x15,\n\t// Block 0xc2, offset 0x3080\n\t0x3080: 0x3f, 0x3081: 0x40, 0x3082: 0x41, 0x3083: 0x42, 0x3084: 0x43, 0x3085: 0x44, 0x3086: 0x45, 0x3087: 0x46,\n\t0x3088: 0x47, 0x3089: 0x48, 0x308a: 0x49, 0x308b: 0x4a, 0x308c: 0x4b, 0x308d: 0x4c, 0x308e: 0x4d, 0x308f: 0x4e,\n\t0x3090: 0x4f, 0x3091: 0x50, 0x3092: 0x51, 0x3093: 0x52, 0x3094: 0x53, 0x3095: 0x54, 0x3096: 0x55, 0x3097: 0x56,\n\t0x3098: 0x57, 0x3099: 0x58, 0x309a: 0x59, 0x309b: 0x5a, 0x309c: 0x5b, 0x309d: 0x5c, 0x309e: 0x5d, 0x309f: 0x5e,\n\t0x30a0: 0x5f, 0x30a1: 0x60, 0x30a2: 0x61, 0x30a3: 0x62, 0x30a4: 0x63, 0x30a5: 0x64, 0x30a6: 0x65, 0x30a7: 0x66,\n\t0x30a8: 0x67, 0x30a9: 0x68, 0x30aa: 0x69, 0x30ac: 0x6a, 0x30ad: 0x6b, 0x30ae: 0x6c, 0x30af: 0x6d,\n\t0x30b0: 0x6e, 0x30b1: 0x6f, 0x30b3: 0x70, 0x30b4: 0x71, 0x30b5: 0x72, 0x30b6: 0x73, 0x30b7: 0x74,\n\t0x30b8: 0x1de, 0x30b9: 0x1df, 0x30ba: 0x77, 0x30bb: 0x1e1, 0x30bc: 0x79, 0x30bd: 0x7a, 0x30be: 0x7b, 0x30bf: 0x7c,\n\t// Block 0xc3, offset 0x30c0\n\t0x30c0: 0x7d, 0x30c1: 0x7e, 0x30c2: 0x7f, 0x30c3: 0x80, 0x30c4: 0x81, 0x30c5: 0x5ed, 0x30c6: 0x83, 0x30c7: 0x84,\n\t0x30c8: 0x85, 0x30c9: 0x86, 0x30ca: 0x87, 0x30cb: 0x88, 0x30cc: 0x89, 0x30cd: 0x8a, 0x30ce: 0x8b, 0x30cf: 0x8c,\n\t0x30d0: 0x8d, 0x30d1: 0x8e, 0x30d2: 0x8f, 0x30d3: 0x90, 0x30d4: 0x91, 0x30d5: 0x92, 0x30d6: 0x93, 0x30d7: 0x94,\n\t0x30d8: 0x95, 0x30d9: 0x96, 0x30da: 0x97, 0x30db: 0x98, 0x30dc: 0x99, 0x30dd: 0x9a, 0x30de: 0x9b, 0x30df: 0x9c,\n\t0x30e0: 0x9d, 0x30e1: 0x9e, 0x30e2: 0x9f, 0x30e3: 0xa0, 0x30e4: 0xa1, 0x30e5: 0xa2, 0x30e6: 0xa3, 0x30e7: 0xa4,\n\t0x30e8: 0xa5, 0x30e9: 0xa6, 0x30ea: 0xa7, 0x30eb: 0xa8, 0x30ec: 0xa9, 0x30ed: 0xaa,\n\t0x30f0: 0xab, 0x30f1: 0xac, 0x30f2: 0xad, 0x30f3: 0xae, 0x30f4: 0xaf, 0x30f5: 0xb0, 0x30f6: 0xb1, 0x30f7: 0xb2,\n\t0x30f8: 0xb3, 0x30fa: 0xb4, 0x30fb: 0xb5, 0x30fc: 0xb6, 0x30fd: 0xb7, 0x30fe: 0xb8, 0x30ff: 0xb9,\n\t// Block 0xc4, offset 0x3100\n\t0x3100: 0xba, 0x3101: 0xbb, 0x3102: 0xbc, 0x3103: 0xbd, 0x3104: 0xbe, 0x3105: 0xbf, 0x3106: 0xc0, 0x3107: 0xc1,\n\t0x3108: 0xc2, 0x3109: 0xc3, 0x310a: 0xc4, 0x310b: 0xc5, 0x310c: 0xc6, 0x310d: 0x1e4, 0x310e: 0xc8, 0x310f: 0xc9,\n\t// Block 0xc5, offset 0x3140\n\t0x3140: 0x18b, 0x3141: 0x18c, 0x3142: 0x18d, 0x3143: 0x18e, 0x3144: 0x5ee, 0x3145: 0x190, 0x3146: 0x191, 0x3147: 0x192,\n\t0x3148: 0x193, 0x3149: 0x194, 0x314c: 0x195, 0x314d: 0x196, 0x314e: 0x197, 0x314f: 0x198,\n\t0x3150: 0x199, 0x3151: 0x19a, 0x3152: 0x19b, 0x3153: 0x19c, 0x3154: 0x19d, 0x3155: 0x19e, 0x3157: 0x19f,\n\t0x3158: 0x1a0, 0x3159: 0x1a1, 0x315a: 0x1a2, 0x315b: 0x1a3, 0x315c: 0x1a4, 0x315d: 0x1a5,\n\t// Block 0xc6, offset 0x3180\n\t0x3190: 0x09, 0x3191: 0x0a, 0x3192: 0x0b, 0x3193: 0x0c, 0x3196: 0x0d,\n\t0x319b: 0x0e, 0x319d: 0x0f, 0x319e: 0x10, 0x319f: 0xc3,\n\t0x31af: 0x12,\n\t// Block 0xc7, offset 0x31c0\n\t0x31c2: 0x01, 0x31c3: 0x1d7, 0x31c4: 0x1d8, 0x31c5: 0x1d9, 0x31c6: 0x05, 0x31c7: 0x1db,\n\t0x31c8: 0x1dc, 0x31c9: 0x08, 0x31ca: 0x09, 0x31cb: 0x0a, 0x31cc: 0x0b, 0x31cd: 0x0c, 0x31ce: 0x0d, 0x31cf: 0x0e,\n\t0x31d0: 0x0f, 0x31d1: 0x10, 0x31d2: 0x11, 0x31d3: 0x12, 0x31d4: 0x13, 0x31d5: 0x14, 0x31d6: 0x15, 0x31d7: 0x16,\n\t0x31d8: 0x17, 0x31d9: 0x18, 0x31da: 0x19, 0x31db: 0x1a, 0x31dc: 0x1b, 0x31dd: 0x1c, 0x31de: 0x1d, 0x31df: 0x1e,\n\t0x31e0: 0x01, 0x31e1: 0xc0, 0x31e2: 0xc1, 0x31e3: 0xc2, 0x31e4: 0x05,\n\t0x31ea: 0x06, 0x31ed: 0x07, 0x31ef: 0x08,\n\t0x31f0: 0xc4, 0x31f3: 0x15,\n\t// Block 0xc8, offset 0x3200\n\t0x3202: 0x01, 0x3203: 0x02, 0x3204: 0x03, 0x3205: 0x04, 0x3206: 0x05, 0x3207: 0x06,\n\t0x3208: 0x07, 0x3209: 0x08, 0x320a: 0x09, 0x320b: 0x0a, 0x320c: 0x0b, 0x320d: 0x0c, 0x320e: 0x0d, 0x320f: 0x0e,\n\t0x3210: 0x0f, 0x3211: 0x10, 0x3212: 0x5ef, 0x3213: 0x12, 0x3214: 0x13, 0x3215: 0x14, 0x3216: 0x15, 0x3217: 0x16,\n\t0x3218: 0x17, 0x3219: 0x18, 0x321a: 0x19, 0x321b: 0x1a, 0x321c: 0x1b, 0x321d: 0x1c, 0x321e: 0x1d, 0x321f: 0x1e,\n\t0x3220: 0x01, 0x3221: 0x02, 0x3222: 0x03, 0x3223: 0x04, 0x3224: 0x05,\n\t0x322a: 0x06, 0x322d: 0x07, 0x322f: 0x08,\n\t0x3230: 0x13, 0x3233: 0x15,\n\t// Block 0xc9, offset 0x3240\n\t0x3264: 0xfb, 0x3265: 0xfc, 0x3266: 0xfd, 0x3267: 0xfe,\n\t0x3268: 0xff, 0x3269: 0x100, 0x326a: 0x101, 0x326b: 0x102, 0x326c: 0x103, 0x326d: 0x104, 0x326e: 0x252, 0x326f: 0x106,\n\t0x3270: 0x5f4, 0x3271: 0x5f5, 0x3272: 0x5f6, 0x3273: 0x5f7, 0x3274: 0x5f8, 0x3275: 0x10c, 0x3276: 0x10d, 0x3277: 0x10e,\n\t0x3278: 0x10f, 0x3279: 0x110, 0x327a: 0x111, 0x327b: 0x5f9, 0x327c: 0x113, 0x327d: 0x114, 0x327e: 0x115, 0x327f: 0x116,\n\t// Block 0xca, offset 0x3280\n\t0x3282: 0x01, 0x3283: 0x02, 0x3284: 0x03, 0x3285: 0x04, 0x3286: 0x05, 0x3287: 0x06,\n\t0x3288: 0x07, 0x3289: 0x08, 0x328a: 0x09, 0x328b: 0x0a, 0x328c: 0x0b, 0x328d: 0x0c, 0x328e: 0x0d, 0x328f: 0x0e,\n\t0x3290: 0x0f, 0x3291: 0x10, 0x3292: 0x11, 0x3293: 0x12, 0x3294: 0x13, 0x3295: 0x14, 0x3296: 0x15, 0x3297: 0x16,\n\t0x3298: 0x5f0, 0x3299: 0x5f1, 0x329a: 0x5f2, 0x329b: 0x5f3, 0x329c: 0x1b, 0x329d: 0x1c, 0x329e: 0x1d, 0x329f: 0x1e,\n\t0x32a0: 0x01, 0x32a1: 0x02, 0x32a2: 0x03, 0x32a3: 0x04, 0x32a4: 0x05,\n\t0x32aa: 0x06, 0x32ad: 0x07, 0x32af: 0xc7,\n\t0x32b0: 0x13, 0x32b3: 0x15,\n\t// Block 0xcb, offset 0x32c0\n\t0x32c0: 0x3f, 0x32c1: 0x40, 0x32c2: 0x41, 0x32c3: 0x42, 0x32c4: 0x43, 0x32c5: 0x44, 0x32c6: 0x45, 0x32c7: 0x46,\n\t0x32c8: 0x47, 0x32c9: 0x48, 0x32ca: 0x49, 0x32cb: 0x4a, 0x32cc: 0x4b, 0x32cd: 0x4c, 0x32ce: 0x4d, 0x32cf: 0x4e,\n\t0x32d0: 0x4f, 0x32d1: 0x50, 0x32d2: 0x51, 0x32d3: 0x52, 0x32d4: 0x53, 0x32d5: 0x54, 0x32d6: 0x55, 0x32d7: 0x56,\n\t0x32d8: 0x57, 0x32d9: 0x58, 0x32da: 0x59, 0x32db: 0x5a, 0x32dc: 0x5b, 0x32dd: 0x5c, 0x32de: 0x5d, 0x32df: 0x5e,\n\t0x32e0: 0x5f, 0x32e1: 0x60, 0x32e2: 0x61, 0x32e3: 0x62, 0x32e4: 0x63, 0x32e5: 0x64, 0x32e6: 0x65, 0x32e7: 0x66,\n\t0x32e8: 0x67, 0x32e9: 0x68, 0x32ea: 0x69, 0x32ec: 0x6a, 0x32ed: 0x6b, 0x32ee: 0x6c, 0x32ef: 0x6d,\n\t0x32f0: 0x6e, 0x32f1: 0x6f, 0x32f3: 0x70, 0x32f4: 0x71, 0x32f5: 0x72, 0x32f6: 0x73, 0x32f7: 0x74,\n\t0x32f8: 0x606, 0x32f9: 0x607, 0x32fa: 0x608, 0x32fb: 0x609, 0x32fc: 0x60a, 0x32fd: 0x60b, 0x32fe: 0x60c, 0x32ff: 0x60d,\n\t// Block 0xcc, offset 0x3300\n\t0x3302: 0x01, 0x3303: 0x5fc, 0x3304: 0x5fd, 0x3305: 0x5fe, 0x3306: 0x5ff, 0x3307: 0x600,\n\t0x3308: 0x601, 0x3309: 0x08, 0x330a: 0x09, 0x330b: 0x0a, 0x330c: 0x602, 0x330d: 0x603, 0x330e: 0x604, 0x330f: 0x605,\n\t0x3310: 0x0f, 0x3311: 0x10, 0x3312: 0x11, 0x3313: 0x12, 0x3314: 0x13, 0x3315: 0x14, 0x3316: 0x15, 0x3317: 0x16,\n\t0x3318: 0x17, 0x3319: 0x18, 0x331a: 0x19, 0x331b: 0x1a, 0x331c: 0x1b, 0x331d: 0x1c, 0x331e: 0x1d, 0x331f: 0x1e,\n\t0x3320: 0x01, 0x3321: 0xc9, 0x3322: 0x03, 0x3323: 0x04, 0x3324: 0x05,\n\t0x332a: 0x06, 0x332d: 0x07, 0x332f: 0x08,\n\t0x3330: 0x13, 0x3333: 0x15,\n\t// Block 0xcd, offset 0x3340\n\t0x3342: 0x01, 0x3343: 0x610, 0x3344: 0x03, 0x3345: 0x04, 0x3346: 0x05, 0x3347: 0x06,\n\t0x3348: 0x07, 0x3349: 0x08, 0x334a: 0x09, 0x334b: 0x0a, 0x334c: 0x0b, 0x334d: 0x0c, 0x334e: 0x0d, 0x334f: 0x0e,\n\t0x3350: 0x0f, 0x3351: 0x10, 0x3352: 0x11, 0x3353: 0x12, 0x3354: 0x13, 0x3355: 0x14, 0x3356: 0x15, 0x3357: 0x16,\n\t0x3358: 0x17, 0x3359: 0x18, 0x335a: 0x19, 0x335b: 0x1a, 0x335c: 0x1b, 0x335d: 0x1c, 0x335e: 0x1d, 0x335f: 0x1e,\n\t0x3360: 0x01, 0x3361: 0x02, 0x3362: 0x03, 0x3363: 0x04, 0x3364: 0x05,\n\t0x336a: 0x06, 0x336d: 0x07, 0x336f: 0x08,\n\t0x3370: 0x13, 0x3373: 0x15,\n\t// Block 0xce, offset 0x3380\n\t0x3380: 0x3f, 0x3381: 0x40, 0x3382: 0x41, 0x3383: 0x42, 0x3384: 0x43, 0x3385: 0x44, 0x3386: 0x45, 0x3387: 0x46,\n\t0x3388: 0x47, 0x3389: 0x48, 0x338a: 0x49, 0x338b: 0x4a, 0x338c: 0x4b, 0x338d: 0x4c, 0x338e: 0x4d, 0x338f: 0x4e,\n\t0x3390: 0x4f, 0x3391: 0x50, 0x3392: 0x51, 0x3393: 0x52, 0x3394: 0x53, 0x3395: 0x54, 0x3396: 0x55, 0x3397: 0x56,\n\t0x3398: 0x57, 0x3399: 0x58, 0x339a: 0x59, 0x339b: 0x5a, 0x339c: 0x5b, 0x339d: 0x5c, 0x339e: 0x5d, 0x339f: 0x5e,\n\t0x33a0: 0x5f, 0x33a1: 0x60, 0x33a2: 0x61, 0x33a3: 0x62, 0x33a4: 0x63, 0x33a5: 0x64, 0x33a6: 0x65, 0x33a7: 0x66,\n\t0x33a8: 0x67, 0x33a9: 0x68, 0x33aa: 0x69, 0x33ac: 0x6a, 0x33ad: 0x6b, 0x33ae: 0x6c, 0x33af: 0x6d,\n\t0x33b0: 0x6e, 0x33b1: 0x6f, 0x33b3: 0x70, 0x33b4: 0x71, 0x33b5: 0x72, 0x33b6: 0x73, 0x33b7: 0x74,\n\t0x33b8: 0x75, 0x33b9: 0x613, 0x33ba: 0x614, 0x33bb: 0x615, 0x33bc: 0x79, 0x33bd: 0x7a, 0x33be: 0x7b, 0x33bf: 0x7c,\n\t// Block 0xcf, offset 0x33c0\n\t0x33c2: 0x01, 0x33c3: 0x02, 0x33c4: 0x03, 0x33c5: 0x04, 0x33c6: 0x05, 0x33c7: 0x06,\n\t0x33c8: 0x07, 0x33c9: 0x08, 0x33ca: 0x09, 0x33cb: 0x0a, 0x33cc: 0x0b, 0x33cd: 0x0c, 0x33ce: 0x0d, 0x33cf: 0x0e,\n\t0x33d0: 0x0f, 0x33d1: 0x10, 0x33d2: 0x11, 0x33d3: 0x12, 0x33d4: 0x13, 0x33d5: 0x14, 0x33d6: 0x15, 0x33d7: 0x16,\n\t0x33d8: 0x17, 0x33d9: 0x18, 0x33da: 0x19, 0x33db: 0x1a, 0x33dc: 0x1b, 0x33dd: 0x1c, 0x33de: 0x1d, 0x33df: 0x1e,\n\t0x33e0: 0x01, 0x33e1: 0xcc, 0x33e2: 0x03, 0x33e3: 0x04, 0x33e4: 0x05,\n\t0x33ea: 0x06, 0x33ed: 0x07, 0x33ef: 0x08,\n\t0x33f0: 0x13, 0x33f3: 0x15,\n\t// Block 0xd0, offset 0x3400\n\t0x3400: 0x3f, 0x3401: 0x40, 0x3402: 0x41, 0x3403: 0x42, 0x3404: 0x43, 0x3405: 0x44, 0x3406: 0x45, 0x3407: 0x46,\n\t0x3408: 0x47, 0x3409: 0x48, 0x340a: 0x49, 0x340b: 0x4a, 0x340c: 0x4b, 0x340d: 0x4c, 0x340e: 0x4d, 0x340f: 0x4e,\n\t0x3410: 0x4f, 0x3411: 0x50, 0x3412: 0x51, 0x3413: 0x52, 0x3414: 0x53, 0x3415: 0x54, 0x3416: 0x55, 0x3417: 0x56,\n\t0x3418: 0x57, 0x3419: 0x58, 0x341a: 0x59, 0x341b: 0x5a, 0x341c: 0x5b, 0x341d: 0x5c, 0x341e: 0x5d, 0x341f: 0x5e,\n\t0x3420: 0x5f, 0x3421: 0x60, 0x3422: 0x61, 0x3423: 0x62, 0x3424: 0x63, 0x3425: 0x64, 0x3426: 0x65, 0x3427: 0x66,\n\t0x3428: 0x67, 0x3429: 0x68, 0x342a: 0x69, 0x342c: 0x6a, 0x342d: 0x6b, 0x342e: 0x6c, 0x342f: 0x6d,\n\t0x3430: 0x6e, 0x3431: 0x6f, 0x3433: 0x70, 0x3434: 0x71, 0x3435: 0x72, 0x3436: 0x73, 0x3437: 0x74,\n\t0x3438: 0x61d, 0x3439: 0x61e, 0x343a: 0x61f, 0x343b: 0x620, 0x343c: 0x79, 0x343d: 0x7a, 0x343e: 0x7b, 0x343f: 0x7c,\n\t// Block 0xd1, offset 0x3440\n\t0x3440: 0x7d, 0x3441: 0x7e, 0x3442: 0x7f, 0x3443: 0x80, 0x3444: 0x81, 0x3445: 0x82, 0x3446: 0x83, 0x3447: 0x84,\n\t0x3448: 0x85, 0x3449: 0x86, 0x344a: 0x87, 0x344b: 0x88, 0x344c: 0x89, 0x344d: 0x8a, 0x344e: 0x8b, 0x344f: 0x8c,\n\t0x3450: 0x8d, 0x3451: 0x8e, 0x3452: 0x8f, 0x3453: 0x90, 0x3454: 0x91, 0x3455: 0x92, 0x3456: 0x93, 0x3457: 0x94,\n\t0x3458: 0x95, 0x3459: 0x96, 0x345a: 0x97, 0x345b: 0x98, 0x345c: 0x99, 0x345d: 0x9a, 0x345e: 0x9b, 0x345f: 0x9c,\n\t0x3460: 0x9d, 0x3461: 0x9e, 0x3462: 0x9f, 0x3463: 0xa0, 0x3464: 0xa1, 0x3465: 0xa2, 0x3466: 0xa3, 0x3467: 0xa4,\n\t0x3468: 0xa5, 0x3469: 0xa6, 0x346a: 0xa7, 0x346b: 0xa8, 0x346c: 0xa9, 0x346d: 0xaa,\n\t0x3470: 0xab, 0x3471: 0xac, 0x3472: 0xad, 0x3473: 0xae, 0x3474: 0xaf, 0x3475: 0xb0, 0x3476: 0xb1, 0x3477: 0xb2,\n\t0x3478: 0xb3, 0x347a: 0x621, 0x347b: 0x622, 0x347c: 0x623, 0x347d: 0x624, 0x347e: 0x625, 0x347f: 0x626,\n\t// Block 0xd2, offset 0x3480\n\t0x3480: 0x627, 0x3481: 0xbb, 0x3482: 0xbc, 0x3483: 0xbd, 0x3484: 0xbe, 0x3485: 0xbf, 0x3486: 0x628, 0x3487: 0xc1,\n\t0x3488: 0x629, 0x3489: 0x62a, 0x348a: 0x62b, 0x348b: 0x62c, 0x348c: 0xc6, 0x348d: 0x62d, 0x348e: 0xc8, 0x348f: 0x62e,\n\t0x3490: 0x62f, 0x3491: 0x630, 0x3492: 0x631, 0x3493: 0x632, 0x3494: 0x633, 0x3495: 0x634, 0x3496: 0x635, 0x3497: 0x636,\n\t0x3498: 0x637, 0x3499: 0x638, 0x349a: 0x639, 0x349b: 0x63a, 0x349c: 0x63b, 0x349d: 0x63c, 0x349e: 0x63d, 0x349f: 0x63e,\n\t0x34a0: 0x63f, 0x34a1: 0x640, 0x34a2: 0x641, 0x34a3: 0x642, 0x34a4: 0x643, 0x34a5: 0x644, 0x34a6: 0x645, 0x34a7: 0x646,\n\t0x34a8: 0x647, 0x34a9: 0x648, 0x34aa: 0x649, 0x34ab: 0x64a, 0x34ac: 0x64b, 0x34ad: 0x64c, 0x34ae: 0x64d, 0x34af: 0x64e,\n\t0x34b0: 0x64f, 0x34b1: 0x650, 0x34b2: 0x651, 0x34b3: 0x652, 0x34b4: 0x653, 0x34b5: 0x654, 0x34b6: 0x655, 0x34b7: 0x656,\n\t0x34b8: 0x657, 0x34b9: 0x658, 0x34ba: 0x659, 0x34bb: 0x65a, 0x34bc: 0x65b, 0x34bd: 0x65c, 0x34be: 0x65d, 0x34bf: 0x65e,\n\t// Block 0xd3, offset 0x34c0\n\t0x34c0: 0x65f, 0x34c1: 0x660, 0x34c2: 0x661, 0x34c3: 0x662, 0x34c4: 0x663, 0x34c5: 0x664, 0x34c6: 0x665, 0x34c7: 0x666,\n\t0x34c8: 0x667, 0x34c9: 0x668, 0x34ca: 0x669, 0x34cb: 0x66a, 0x34cc: 0x66b, 0x34cd: 0x66c, 0x34ce: 0x66d, 0x34cf: 0x66e,\n\t0x34d0: 0x66f, 0x34d1: 0x670, 0x34d2: 0x671, 0x34d3: 0x672, 0x34d4: 0x673, 0x34d5: 0x674, 0x34d6: 0x675, 0x34d7: 0x676,\n\t0x34d8: 0x677, 0x34d9: 0x678, 0x34da: 0x679, 0x34db: 0x67a, 0x34dc: 0x67b, 0x34dd: 0x67c, 0x34de: 0x67d, 0x34df: 0x67e,\n\t0x34e0: 0x67f, 0x34e1: 0x680, 0x34e2: 0x681, 0x34e3: 0x682, 0x34e4: 0x683, 0x34e5: 0x684, 0x34e6: 0x685, 0x34e7: 0x686,\n\t0x34e8: 0x687, 0x34e9: 0x688, 0x34ea: 0x689, 0x34eb: 0x68a, 0x34ec: 0x68b, 0x34ed: 0x68c, 0x34ee: 0x68d, 0x34ef: 0x68e,\n\t0x34f0: 0x68f, 0x34f1: 0x690, 0x34f2: 0x691, 0x34f3: 0x692, 0x34f4: 0x693, 0x34f5: 0x694, 0x34f6: 0x695, 0x34f7: 0xca,\n\t0x34f8: 0x696, 0x34f9: 0x697, 0x34fa: 0x698, 0x34fb: 0x699, 0x34fc: 0x69a, 0x34fd: 0x69b, 0x34fe: 0x69c, 0x34ff: 0x69d,\n\t// Block 0xd4, offset 0x3500\n\t0x3500: 0x69e, 0x3501: 0x69f, 0x3502: 0x6a0, 0x3503: 0x6a1, 0x3504: 0x6a2, 0x3505: 0x6a3, 0x3506: 0x6a4, 0x3507: 0x6a5,\n\t0x3508: 0x6a6, 0x3509: 0x6a7, 0x350a: 0x6a8, 0x350b: 0x6a9, 0x350c: 0x6aa, 0x350d: 0x6ab, 0x350e: 0x6ac, 0x350f: 0x6ad,\n\t0x3510: 0x6ae, 0x3511: 0x6af, 0x3512: 0x6b0, 0x3513: 0x6b1, 0x3514: 0x6b2, 0x3515: 0x6b3, 0x3516: 0x6b4, 0x3517: 0x6b5,\n\t0x3518: 0x6b6, 0x3519: 0x6b7, 0x351a: 0x6b8, 0x351b: 0x6b9, 0x351c: 0x6ba, 0x351d: 0x6bb, 0x351e: 0x6bc, 0x351f: 0x6bd,\n\t0x3520: 0x6be, 0x3521: 0x6bf, 0x3522: 0x6c0, 0x3523: 0x6c1, 0x3524: 0x6c2, 0x3525: 0x6c3, 0x3526: 0x6c4, 0x3527: 0x6c5,\n\t0x3528: 0x6c6, 0x3529: 0x6c7, 0x352a: 0x6c8, 0x352b: 0x6c9, 0x352c: 0x6ca, 0x352d: 0x6cb, 0x352e: 0x6cc, 0x352f: 0x6cd,\n\t0x3530: 0x6ce, 0x3531: 0x6cf, 0x3532: 0x6d0, 0x3533: 0x6d1, 0x3534: 0x6d2, 0x3535: 0x6d3, 0x3536: 0x6d4, 0x3537: 0x6d5,\n\t0x3538: 0x6d6, 0x3539: 0x6d7, 0x353a: 0x6d8, 0x353b: 0x6d9, 0x353c: 0x6da, 0x353d: 0x6db, 0x353e: 0x6dc, 0x353f: 0x6dd,\n\t// Block 0xd5, offset 0x3540\n\t0x3540: 0x6de, 0x3541: 0x6df, 0x3542: 0x6e0, 0x3543: 0x6e1, 0x3544: 0x6e2, 0x3545: 0x6e3, 0x3546: 0x6e4, 0x3547: 0x6e5,\n\t0x3548: 0x6e6, 0x3549: 0x6e7, 0x354a: 0x6e8, 0x354b: 0x6e9, 0x354c: 0x6ea, 0x354d: 0x6eb, 0x354e: 0x6ec, 0x354f: 0x6ed,\n\t0x3550: 0x6ee, 0x3551: 0x6ef, 0x3552: 0x6f0, 0x3553: 0x6f1, 0x3554: 0x6f2, 0x3555: 0x6f3, 0x3556: 0x6f4, 0x3557: 0x6f5,\n\t0x3558: 0x6f6, 0x3559: 0x6f7, 0x355a: 0x6f8, 0x355b: 0x6f9, 0x355c: 0x6fa, 0x355d: 0x6fb, 0x355e: 0x6fc, 0x355f: 0x6fd,\n\t0x3560: 0x6fe, 0x3561: 0x6ff, 0x3562: 0x700, 0x3563: 0x701, 0x3564: 0x702, 0x3565: 0x703, 0x3566: 0x704, 0x3567: 0x705,\n\t0x3568: 0x706, 0x3569: 0x707, 0x356a: 0x708, 0x356b: 0x709, 0x356c: 0x70a, 0x356d: 0x70b, 0x356e: 0x70c, 0x356f: 0x70d,\n\t0x3570: 0x70e, 0x3571: 0x70f, 0x3572: 0x710, 0x3573: 0x711, 0x3574: 0x712, 0x3575: 0x713, 0x3576: 0x714, 0x3577: 0x715,\n\t0x3578: 0x716, 0x3579: 0x717, 0x357a: 0x718, 0x357b: 0x719, 0x357c: 0x71a, 0x357d: 0x71b, 0x357e: 0x71c, 0x357f: 0x71d,\n\t// Block 0xd6, offset 0x3580\n\t0x3580: 0x71e, 0x3581: 0x71f, 0x3582: 0x720, 0x3583: 0x721, 0x3584: 0x722, 0x3585: 0x723, 0x3586: 0x724, 0x3587: 0x725,\n\t0x3588: 0x726, 0x3589: 0x727, 0x358a: 0x728, 0x358b: 0x729, 0x358c: 0x72a, 0x358d: 0x72b, 0x358e: 0x72c, 0x358f: 0x72d,\n\t0x3590: 0x72e, 0x3591: 0x72f, 0x3592: 0x730, 0x3593: 0x731, 0x3594: 0x732, 0x3595: 0x733, 0x3596: 0x734, 0x3597: 0x735,\n\t0x3598: 0x736, 0x3599: 0x737, 0x359a: 0x738, 0x359b: 0x739, 0x359c: 0x73a, 0x359d: 0x73b, 0x359e: 0x73c, 0x359f: 0x73d,\n\t0x35a0: 0x73e, 0x35a1: 0x73f, 0x35a2: 0x740, 0x35a3: 0x741, 0x35a4: 0x742, 0x35a5: 0x743, 0x35a6: 0x744, 0x35a7: 0x745,\n\t0x35a8: 0x746, 0x35a9: 0x747, 0x35aa: 0x748, 0x35ab: 0x749, 0x35ac: 0x74a, 0x35ad: 0x74b, 0x35ae: 0x74c, 0x35af: 0x74d,\n\t0x35b0: 0x74e, 0x35b1: 0x74f, 0x35b2: 0x750, 0x35b3: 0x751, 0x35b4: 0x752, 0x35b5: 0x753, 0x35b6: 0x754, 0x35b7: 0x755,\n\t0x35b8: 0x756, 0x35b9: 0x757, 0x35ba: 0x758, 0x35bb: 0x759, 0x35bc: 0x75a, 0x35bd: 0x75b, 0x35be: 0x75c, 0x35bf: 0x75d,\n\t// Block 0xd7, offset 0x35c0\n\t0x35c0: 0x75e, 0x35c1: 0x75f, 0x35c2: 0x760, 0x35c3: 0x761, 0x35c4: 0x762, 0x35c5: 0x763, 0x35c6: 0x764, 0x35c7: 0x765,\n\t0x35c8: 0x766, 0x35c9: 0x767, 0x35ca: 0x768, 0x35cb: 0x769, 0x35cc: 0x76a, 0x35cd: 0x76b, 0x35ce: 0x76c, 0x35cf: 0x76d,\n\t0x35d0: 0x76e, 0x35d1: 0x76f, 0x35d2: 0x770, 0x35d3: 0x771, 0x35d4: 0x772, 0x35d5: 0x773, 0x35d6: 0x774, 0x35d7: 0x775,\n\t0x35d8: 0x776, 0x35d9: 0x777, 0x35da: 0x778, 0x35db: 0x779, 0x35dc: 0x77a, 0x35dd: 0x77b, 0x35de: 0x77c, 0x35df: 0x77d,\n\t0x35e0: 0x77e, 0x35e1: 0x77f, 0x35e2: 0x780, 0x35e3: 0x781, 0x35e4: 0x782, 0x35e5: 0x783, 0x35e6: 0x784, 0x35e7: 0x785,\n\t0x35e8: 0x786, 0x35e9: 0x787, 0x35ea: 0x788, 0x35eb: 0x789, 0x35ec: 0x78a, 0x35ed: 0x78b, 0x35ee: 0x78c, 0x35ef: 0x78d,\n\t0x35f0: 0x78e, 0x35f1: 0x78f, 0x35f2: 0x790, 0x35f3: 0x791, 0x35f4: 0x792, 0x35f5: 0x793, 0x35f6: 0x794, 0x35f7: 0x795,\n\t0x35f8: 0x796, 0x35f9: 0x797, 0x35fa: 0x798, 0x35fb: 0x799, 0x35fc: 0x79a, 0x35fd: 0x79b, 0x35fe: 0x79c, 0x35ff: 0x79d,\n\t// Block 0xd8, offset 0x3600\n\t0x3600: 0x79e, 0x3601: 0x79f, 0x3602: 0x7a0, 0x3603: 0x7a1, 0x3604: 0x7a2, 0x3605: 0x7a3, 0x3606: 0x7a4, 0x3607: 0x7a5,\n\t0x3608: 0x7a6, 0x3609: 0x7a7, 0x360a: 0x7a8, 0x360b: 0x7a9, 0x360c: 0x7aa, 0x360d: 0x7ab, 0x360e: 0x7ac, 0x360f: 0x7ad,\n\t0x3610: 0x7ae, 0x3611: 0x7af, 0x3612: 0x7b0, 0x3613: 0x7b1, 0x3614: 0x7b2, 0x3615: 0x7b3, 0x3616: 0x7b4, 0x3617: 0x7b5,\n\t0x3618: 0x7b6, 0x3619: 0x7b7, 0x361a: 0x7b8, 0x361b: 0x7b9, 0x361c: 0x7ba, 0x361d: 0x7bb, 0x361e: 0x7bc, 0x361f: 0x7bd,\n\t0x3620: 0x7be, 0x3621: 0x7bf, 0x3622: 0x7c0, 0x3623: 0x7c1, 0x3624: 0x7c2, 0x3625: 0x7c3, 0x3626: 0x7c4, 0x3627: 0x7c5,\n\t0x3628: 0x7c6, 0x3629: 0x7c7, 0x362a: 0x7c8, 0x362b: 0x7c9, 0x362c: 0x7ca, 0x362d: 0x7cb, 0x362e: 0x7cc, 0x362f: 0x7cd,\n\t0x3630: 0x7ce, 0x3631: 0x7cf, 0x3632: 0x7d0, 0x3633: 0x7d1, 0x3634: 0x7d2, 0x3635: 0x7d3, 0x3636: 0x7d4, 0x3637: 0x7d5,\n\t0x3638: 0x7d6, 0x3639: 0x7d7, 0x363a: 0x7d8, 0x363b: 0x7d9, 0x363c: 0x7da, 0x363d: 0x7db, 0x363e: 0x7dc, 0x363f: 0x7dd,\n\t// Block 0xd9, offset 0x3640\n\t0x3664: 0x7de, 0x3665: 0x7df, 0x3666: 0x7e0, 0x3667: 0x7e1,\n\t0x3668: 0x7e2, 0x3669: 0x7e3, 0x366a: 0x7e4, 0x366b: 0x7e5, 0x366c: 0x103, 0x366d: 0x104, 0x366e: 0x105, 0x366f: 0x106,\n\t0x3670: 0x107, 0x3671: 0x108, 0x3672: 0x109, 0x3673: 0x10a, 0x3674: 0x10b, 0x3675: 0x10c, 0x3676: 0x10d, 0x3677: 0x10e,\n\t0x3678: 0x10f, 0x3679: 0x110, 0x367a: 0x111, 0x367b: 0x112, 0x367c: 0x113, 0x367d: 0x114, 0x367e: 0x115, 0x367f: 0x116,\n\t// Block 0xda, offset 0x3680\n\t0x3680: 0x18b, 0x3681: 0x18c, 0x3682: 0x18d, 0x3683: 0x18e, 0x3684: 0x18f, 0x3685: 0x190, 0x3686: 0x191, 0x3687: 0x192,\n\t0x3688: 0x7e6, 0x3689: 0x7e7, 0x368c: 0x195, 0x368d: 0x196, 0x368e: 0x197, 0x368f: 0x198,\n\t0x3690: 0x199, 0x3691: 0x19a, 0x3692: 0x19b, 0x3693: 0x19c, 0x3694: 0x19d, 0x3695: 0x19e, 0x3697: 0x19f,\n\t0x3698: 0x1a0, 0x3699: 0x1a1, 0x369a: 0x1a2, 0x369b: 0x1a3, 0x369c: 0x1a4, 0x369d: 0x1a5,\n\t// Block 0xdb, offset 0x36c0\n\t0x36c0: 0x7e8, 0x36c1: 0x7e9, 0x36c2: 0x7ea, 0x36c3: 0x7eb, 0x36c4: 0x7ec, 0x36c5: 0x7ed, 0x36c6: 0x7ee, 0x36c7: 0x7ef,\n\t0x36c8: 0x7f0, 0x36c9: 0x7f1, 0x36ca: 0x7f2, 0x36cb: 0x7f3, 0x36cc: 0x7f4, 0x36cd: 0x7f5, 0x36ce: 0x7f6, 0x36cf: 0x7f7,\n\t0x36d0: 0x7f8, 0x36d1: 0x7f9, 0x36d2: 0x7fa, 0x36d3: 0x7fb, 0x36d4: 0x7fc, 0x36d5: 0x7fd, 0x36d6: 0x7fe, 0x36d7: 0x7ff,\n\t0x36d8: 0x800, 0x36d9: 0x801, 0x36da: 0x802, 0x36db: 0x803, 0x36dc: 0x804, 0x36dd: 0x805, 0x36de: 0x806, 0x36df: 0x807,\n\t0x36e0: 0x808, 0x36e1: 0x809, 0x36e2: 0x80a, 0x36e3: 0x80b, 0x36e4: 0x80c, 0x36e5: 0x80d, 0x36e6: 0x80e, 0x36e7: 0x80f,\n\t0x36e8: 0x810, 0x36e9: 0x811, 0x36ea: 0x812, 0x36eb: 0x813, 0x36ec: 0x814, 0x36ed: 0x815, 0x36ee: 0x816, 0x36ef: 0x817,\n\t0x36f0: 0x818, 0x36f1: 0x819, 0x36f2: 0x81a, 0x36f3: 0x81b, 0x36f4: 0x81c, 0x36f5: 0x81d, 0x36f6: 0x81e, 0x36f7: 0x81f,\n\t0x36f8: 0x820, 0x36f9: 0x821, 0x36fa: 0x822, 0x36fb: 0x823, 0x36fc: 0x824, 0x36fd: 0x825, 0x36fe: 0x826, 0x36ff: 0x827,\n\t// Block 0xdc, offset 0x3700\n\t0x3700: 0x828, 0x3701: 0x829, 0x3702: 0x82a, 0x3703: 0x82b, 0x3704: 0x82c, 0x3705: 0x82d, 0x3706: 0x82e, 0x3707: 0x82f,\n\t0x3708: 0x830, 0x3709: 0x831, 0x370a: 0x832, 0x370b: 0x833, 0x370c: 0x834, 0x370d: 0x835, 0x370e: 0x836, 0x370f: 0x837,\n\t0x3710: 0x838, 0x3711: 0x839, 0x3712: 0x83a, 0x3713: 0x83b, 0x3714: 0x83c, 0x3715: 0x83d, 0x3716: 0x83e, 0x3717: 0x83f,\n\t0x3718: 0x840, 0x3719: 0x841, 0x371a: 0x842, 0x371b: 0x843, 0x371c: 0x844, 0x371d: 0x845, 0x371e: 0x846, 0x371f: 0x847,\n\t0x3720: 0x848, 0x3721: 0x849, 0x3722: 0x84a, 0x3723: 0x84b, 0x3724: 0x84c, 0x3725: 0x84d, 0x3726: 0x84e, 0x3727: 0x84f,\n\t0x3728: 0x850, 0x3729: 0x851, 0x372a: 0x852, 0x372b: 0x853, 0x372c: 0x854, 0x372d: 0x855, 0x372e: 0x856, 0x372f: 0x857,\n\t0x3730: 0x858, 0x3731: 0x859, 0x3732: 0x85a, 0x3733: 0x85b, 0x3734: 0x85c, 0x3735: 0x85d, 0x3736: 0x85e, 0x3737: 0x85f,\n\t0x3738: 0x860, 0x3739: 0x861, 0x373a: 0x862, 0x373b: 0x863, 0x373c: 0x864, 0x373d: 0x865, 0x373e: 0x866, 0x373f: 0x867,\n\t// Block 0xdd, offset 0x3740\n\t0x3740: 0x868, 0x3741: 0x869, 0x3742: 0x86a, 0x3743: 0x86b, 0x3744: 0x86c, 0x3745: 0x86d, 0x3746: 0x86e, 0x3747: 0x86f,\n\t0x3748: 0x870, 0x3749: 0x871, 0x374a: 0x872, 0x374b: 0x873, 0x374c: 0x874, 0x374d: 0x875, 0x374e: 0x876, 0x374f: 0x877,\n\t0x3750: 0x878, 0x3751: 0x879, 0x3752: 0x87a, 0x3753: 0x87b, 0x3754: 0x87c, 0x3755: 0x87d, 0x3756: 0x87e, 0x3757: 0x87f,\n\t0x3758: 0x880, 0x3759: 0x881, 0x375a: 0x882, 0x375b: 0x883, 0x375c: 0x884, 0x375d: 0x885, 0x375e: 0x886, 0x375f: 0x887,\n\t0x3760: 0x888, 0x3761: 0x889, 0x3762: 0x88a, 0x3763: 0x88b, 0x3764: 0x88c, 0x3765: 0x88d, 0x3766: 0x88e, 0x3767: 0x88f,\n\t0x3768: 0x890, 0x3769: 0x891, 0x376a: 0x892, 0x376b: 0x893, 0x376c: 0x894, 0x376d: 0x895, 0x376e: 0x896, 0x376f: 0x897,\n\t0x3770: 0x898, 0x3771: 0x899, 0x3772: 0x89a, 0x3773: 0x89b, 0x3774: 0x89c, 0x3775: 0x89d, 0x3776: 0x89e, 0x3777: 0x89f,\n\t0x3778: 0x8a0, 0x3779: 0x8a1, 0x377a: 0x8a2, 0x377b: 0x8a3, 0x377c: 0x8a4, 0x377d: 0x8a5, 0x377e: 0x8a6, 0x377f: 0x8a7,\n\t// Block 0xde, offset 0x3780\n\t0x3780: 0x8a8, 0x3781: 0x8a9, 0x3782: 0x8aa, 0x3783: 0x8ab, 0x3784: 0x8ac, 0x3785: 0x8ad, 0x3786: 0x8ae, 0x3787: 0x8af,\n\t0x3788: 0x8b0, 0x3789: 0x8b1, 0x378a: 0x8b2, 0x378b: 0x8b3, 0x378c: 0x8b4, 0x378d: 0x8b5, 0x378e: 0x8b6, 0x378f: 0x8b7,\n\t0x3790: 0x8b8, 0x3791: 0x8b9, 0x3792: 0x8ba, 0x3793: 0x8bb, 0x3794: 0x8bc, 0x3795: 0x8bd, 0x3796: 0x8be, 0x3797: 0x8bf,\n\t0x3798: 0x8c0, 0x3799: 0x8c1, 0x379a: 0x8c2, 0x379b: 0x8c3, 0x379c: 0x8c4, 0x379d: 0x8c5, 0x379e: 0x8c6, 0x379f: 0x8c7,\n\t0x37a0: 0x8c8, 0x37a1: 0x8c9, 0x37a2: 0x8ca, 0x37a3: 0x8cb, 0x37a4: 0x8cc, 0x37a5: 0x8cd, 0x37a6: 0x8ce, 0x37a7: 0x8cf,\n\t0x37a8: 0x8d0, 0x37a9: 0x8d1, 0x37aa: 0x8d2, 0x37ab: 0x8d3, 0x37ac: 0x8d4, 0x37ad: 0x8d5, 0x37ae: 0x8d6, 0x37af: 0x8d7,\n\t0x37b0: 0x8d8, 0x37b1: 0x8d9, 0x37b2: 0x8da, 0x37b3: 0x8db, 0x37b4: 0x8dc, 0x37b5: 0x8dd, 0x37b6: 0x8de, 0x37b7: 0x8df,\n\t0x37b8: 0x8e0, 0x37b9: 0x8e1, 0x37ba: 0x8e2, 0x37bb: 0x8e3, 0x37bc: 0x8e4, 0x37bd: 0x8e5, 0x37be: 0x8e6, 0x37bf: 0x8e7,\n\t// Block 0xdf, offset 0x37c0\n\t0x37c0: 0x8e8, 0x37c1: 0x8e9, 0x37c2: 0x8ea, 0x37c3: 0x8eb, 0x37c4: 0x8ec, 0x37c5: 0x8ed, 0x37c6: 0x8ee, 0x37c7: 0x8ef,\n\t0x37c8: 0x8f0, 0x37c9: 0x8f1, 0x37ca: 0x8f2, 0x37cb: 0x8f3, 0x37cc: 0x8f4, 0x37cd: 0x8f5, 0x37ce: 0x8f6, 0x37cf: 0x8f7,\n\t0x37d0: 0x8f8, 0x37d1: 0x8f9, 0x37d2: 0x8fa, 0x37d3: 0x8fb, 0x37d4: 0x8fc, 0x37d5: 0x8fd, 0x37d6: 0x8fe, 0x37d7: 0x8ff,\n\t0x37d8: 0x900, 0x37d9: 0x901, 0x37da: 0x902, 0x37db: 0x903, 0x37dc: 0x904, 0x37dd: 0x905, 0x37de: 0x906, 0x37df: 0x907,\n\t0x37e0: 0x908, 0x37e1: 0x909, 0x37e2: 0x90a, 0x37e3: 0x90b, 0x37e4: 0x90c, 0x37e5: 0x90d, 0x37e6: 0x90e, 0x37e7: 0x90f,\n\t0x37e8: 0x910, 0x37e9: 0x911, 0x37ea: 0x912, 0x37eb: 0x913, 0x37ec: 0x914, 0x37ed: 0x915, 0x37ee: 0x916, 0x37ef: 0x917,\n\t0x37f0: 0x918, 0x37f1: 0x919, 0x37f2: 0x91a, 0x37f3: 0x91b, 0x37f4: 0x91c, 0x37f5: 0x91d, 0x37f6: 0x91e, 0x37f7: 0x91f,\n\t0x37f8: 0x920, 0x37f9: 0x921, 0x37fa: 0x922, 0x37fb: 0x923, 0x37fc: 0x924, 0x37fd: 0x925, 0x37fe: 0x926, 0x37ff: 0x927,\n\t// Block 0xe0, offset 0x3800\n\t0x3800: 0x928, 0x3801: 0x929, 0x3802: 0x92a, 0x3803: 0x92b, 0x3804: 0x92c, 0x3805: 0x92d, 0x3806: 0x92e, 0x3807: 0x92f,\n\t0x3808: 0x930, 0x3809: 0x931, 0x380a: 0x932, 0x380b: 0x933, 0x380c: 0x934, 0x380d: 0x935, 0x380e: 0x936, 0x380f: 0x937,\n\t0x3810: 0x938, 0x3811: 0x939, 0x3812: 0x93a, 0x3813: 0x93b, 0x3814: 0x93c, 0x3815: 0x93d, 0x3816: 0x93e, 0x3817: 0x93f,\n\t0x3818: 0x940, 0x3819: 0x941, 0x381a: 0x942, 0x381b: 0x943, 0x381c: 0x944, 0x381d: 0x945, 0x381e: 0x946, 0x381f: 0x947,\n\t0x3820: 0x948, 0x3821: 0x949, 0x3822: 0x94a, 0x3823: 0x94b, 0x3824: 0x94c, 0x3825: 0x94d, 0x3826: 0x94e, 0x3827: 0x94f,\n\t0x3828: 0x950, 0x3829: 0x951, 0x382a: 0x952, 0x382b: 0x953, 0x382c: 0x954, 0x382d: 0x955, 0x382e: 0x956, 0x382f: 0x957,\n\t0x3830: 0x958, 0x3831: 0x959, 0x3832: 0x95a, 0x3833: 0x95b, 0x3834: 0x95c, 0x3835: 0x95d, 0x3836: 0x95e, 0x3837: 0x95f,\n\t0x3838: 0x960, 0x3839: 0x961, 0x383a: 0x962, 0x383b: 0x963, 0x383c: 0x964, 0x383d: 0x965, 0x383e: 0x966, 0x383f: 0x967,\n\t// Block 0xe1, offset 0x3840\n\t0x3840: 0x968, 0x3841: 0x969, 0x3842: 0x96a, 0x3843: 0x96b, 0x3844: 0x96c, 0x3845: 0x96d, 0x3846: 0x96e, 0x3847: 0x96f,\n\t0x3848: 0x970, 0x3849: 0x971, 0x384a: 0x972, 0x384b: 0x973, 0x384c: 0x974, 0x384d: 0x975, 0x384e: 0x976, 0x384f: 0x977,\n\t0x3850: 0x978, 0x3851: 0x979, 0x3852: 0x97a, 0x3853: 0x97b, 0x3854: 0x97c, 0x3855: 0x97d, 0x3856: 0x97e, 0x3857: 0x97f,\n\t0x3858: 0x980, 0x3859: 0x981, 0x385a: 0x982, 0x385b: 0x983, 0x385c: 0x984, 0x385d: 0x985, 0x385e: 0x986, 0x385f: 0x987,\n\t0x3860: 0x988, 0x3861: 0x989, 0x3862: 0x98a, 0x3863: 0x98b, 0x3864: 0x98c, 0x3865: 0x98d, 0x3866: 0x98e, 0x3867: 0x98f,\n\t0x3868: 0x990, 0x3869: 0x991, 0x386a: 0x992, 0x386b: 0x993, 0x386c: 0x994, 0x386d: 0x995, 0x386e: 0x996, 0x386f: 0x997,\n\t0x3870: 0x998, 0x3871: 0x999, 0x3872: 0x99a, 0x3873: 0x99b, 0x3874: 0x99c, 0x3875: 0x99d, 0x3876: 0x99e, 0x3877: 0x99f,\n\t0x3878: 0x9a0, 0x3879: 0x9a1, 0x387a: 0x9a2, 0x387b: 0x9a3, 0x387c: 0x9a4, 0x387d: 0x9a5, 0x387e: 0x9a6, 0x387f: 0x9a7,\n\t// Block 0xe2, offset 0x3880\n\t0x3880: 0x9a8, 0x3881: 0x9a9, 0x3882: 0x9aa, 0x3883: 0x9ab, 0x3884: 0x9ac, 0x3885: 0x9ad, 0x3886: 0x9ae, 0x3887: 0x9af,\n\t0x3888: 0x9b0, 0x3889: 0x9b1, 0x388a: 0x9b2, 0x388b: 0x9b3, 0x388c: 0x9b4, 0x388d: 0x9b5, 0x388e: 0x9b6, 0x388f: 0x9b7,\n\t0x3890: 0x9b8, 0x3891: 0x9b9, 0x3892: 0x9ba, 0x3893: 0x9bb, 0x3894: 0x9bc, 0x3895: 0x9bd, 0x3896: 0x9be, 0x3897: 0x9bf,\n\t0x3898: 0x9c0, 0x3899: 0x9c1, 0x389a: 0x9c2, 0x389b: 0x9c3, 0x389c: 0x9c4, 0x389d: 0x9c5, 0x389e: 0x9c6, 0x389f: 0x9c7,\n\t0x38a0: 0x9c8, 0x38a1: 0x9c9, 0x38a2: 0x9ca, 0x38a3: 0x9cb, 0x38a4: 0x9cc, 0x38a5: 0x9cd, 0x38a6: 0x9ce, 0x38a7: 0x9cf,\n\t0x38a8: 0x9d0, 0x38a9: 0x9d1, 0x38aa: 0x9d2, 0x38ab: 0x9d3, 0x38ac: 0x9d4, 0x38ad: 0x9d5, 0x38ae: 0x9d6, 0x38af: 0x9d7,\n\t0x38b0: 0x9d8, 0x38b1: 0x9d9, 0x38b2: 0x9da, 0x38b3: 0x9db, 0x38b4: 0x9dc, 0x38b5: 0x9dd, 0x38b6: 0x9de, 0x38b7: 0x9df,\n\t0x38b8: 0x9e0, 0x38b9: 0x9e1, 0x38ba: 0x9e2, 0x38bb: 0x9e3, 0x38bc: 0x9e4, 0x38bd: 0x9e5, 0x38be: 0x9e6, 0x38bf: 0x9e7,\n\t// Block 0xe3, offset 0x38c0\n\t0x38c0: 0x9e8, 0x38c1: 0x9e9, 0x38c2: 0x9ea, 0x38c3: 0x9eb, 0x38c4: 0x9ec, 0x38c5: 0x9ed, 0x38c6: 0x9ee, 0x38c7: 0x9ef,\n\t0x38c8: 0x9f0, 0x38c9: 0x9f1, 0x38ca: 0x9f2, 0x38cb: 0x9f3, 0x38cc: 0x9f4, 0x38cd: 0x9f5, 0x38ce: 0x9f6, 0x38cf: 0x9f7,\n\t0x38d0: 0x9f8, 0x38d1: 0x9f9, 0x38d2: 0x9fa, 0x38d3: 0x9fb, 0x38d4: 0x9fc, 0x38d5: 0x9fd, 0x38d6: 0x9fe, 0x38d7: 0x9ff,\n\t0x38d8: 0xa00, 0x38d9: 0xa01, 0x38da: 0xa02, 0x38db: 0xa03, 0x38dc: 0xa04, 0x38dd: 0xa05, 0x38de: 0xa06, 0x38df: 0xa07,\n\t0x38e0: 0xa08, 0x38e1: 0xa09, 0x38e2: 0xa0a, 0x38e3: 0xa0b, 0x38e4: 0xa0c, 0x38e5: 0xa0d, 0x38e6: 0xa0e, 0x38e7: 0xa0f,\n\t0x38e8: 0xa10, 0x38e9: 0xa11, 0x38ea: 0xa12, 0x38eb: 0xa13, 0x38ec: 0xa14, 0x38ed: 0xa15, 0x38ee: 0xa16, 0x38ef: 0xa17,\n\t0x38f0: 0xa18, 0x38f1: 0xa19, 0x38f2: 0xa1a, 0x38f3: 0xa1b, 0x38f4: 0xa1c, 0x38f5: 0xa1d, 0x38f6: 0xa1e, 0x38f7: 0xa1f,\n\t0x38f8: 0xa20, 0x38f9: 0xa21, 0x38fa: 0xa22, 0x38fb: 0xa23, 0x38fc: 0xa24, 0x38fd: 0xa25, 0x38fe: 0xa26, 0x38ff: 0xa27,\n\t// Block 0xe4, offset 0x3900\n\t0x3900: 0xa28, 0x3901: 0xa29, 0x3902: 0xa2a, 0x3903: 0xa2b, 0x3904: 0xa2c, 0x3905: 0xa2d, 0x3906: 0xa2e, 0x3907: 0xa2f,\n\t0x3908: 0xa30, 0x3909: 0xa31, 0x390a: 0xa32, 0x390b: 0xa33, 0x390c: 0xa34, 0x390d: 0xa35, 0x390e: 0xa36, 0x390f: 0xa37,\n\t0x3910: 0xa38, 0x3911: 0xa39, 0x3912: 0xa3a, 0x3913: 0xa3b, 0x3914: 0xa3c, 0x3915: 0xa3d, 0x3916: 0xa3e, 0x3917: 0xa3f,\n\t0x3918: 0xa40, 0x3919: 0xa41, 0x391a: 0xa42, 0x391b: 0xa43, 0x391c: 0xa44, 0x391d: 0xa45, 0x391e: 0xa46, 0x391f: 0xa47,\n\t0x3920: 0xa48, 0x3921: 0xa49, 0x3922: 0xa4a, 0x3923: 0xa4b, 0x3924: 0xa4c, 0x3925: 0xa4d, 0x3926: 0xa4e, 0x3927: 0xa4f,\n\t0x3928: 0xa50, 0x3929: 0xa51, 0x392a: 0xa52, 0x392b: 0xa53, 0x392c: 0xa54, 0x392d: 0xa55, 0x392e: 0xa56, 0x392f: 0xa57,\n\t0x3930: 0xa58, 0x3931: 0xa59, 0x3932: 0xa5a, 0x3933: 0xa5b, 0x3934: 0xa5c, 0x3935: 0xa5d, 0x3936: 0xa5e, 0x3937: 0xa5f,\n\t0x3938: 0xa60, 0x3939: 0xa61, 0x393a: 0xa62, 0x393b: 0xa63, 0x393c: 0xa64, 0x393d: 0xa65, 0x393e: 0xa66, 0x393f: 0xa67,\n\t// Block 0xe5, offset 0x3940\n\t0x3940: 0xa68, 0x3941: 0xa69, 0x3942: 0xa6a, 0x3943: 0xa6b, 0x3944: 0xa6c, 0x3945: 0xa6d, 0x3946: 0xa6e, 0x3947: 0xa6f,\n\t0x3948: 0xa70, 0x3949: 0xa71, 0x394a: 0xa72, 0x394b: 0xa73, 0x394c: 0xa74, 0x394d: 0xa75, 0x394e: 0xa76, 0x394f: 0xa77,\n\t0x3950: 0xa78, 0x3951: 0xa79, 0x3952: 0xa7a, 0x3953: 0xa7b, 0x3954: 0xa7c, 0x3955: 0xa7d, 0x3956: 0xa7e, 0x3957: 0xa7f,\n\t0x3958: 0xa80, 0x3959: 0xa81, 0x395a: 0xa82, 0x395b: 0xa83, 0x395e: 0xa84,\n\t0x3961: 0xa85, 0x3962: 0xa86,\n\t0x3968: 0xa87, 0x396a: 0xa88,\n\t0x397a: 0xa89, 0x397b: 0xa8a, 0x397e: 0xa8b,\n\t// Block 0xe6, offset 0x3980\n\t0x3981: 0xa8c, 0x3982: 0xa8d, 0x3983: 0xa8e, 0x3984: 0xa8f,\n\t0x3988: 0xa90, 0x398b: 0xa91, 0x398c: 0xa92, 0x398d: 0xa93, 0x398f: 0xa94,\n\t0x3990: 0xa95, 0x3992: 0xa96, 0x3993: 0xa97, 0x3994: 0xa98, 0x3997: 0xa99,\n\t0x3998: 0xa9a, 0x399a: 0xa9b, 0x399b: 0xa9c,\n\t// Block 0xe7, offset 0x39c0\n\t0x39e0: 0xa9d, 0x39e1: 0xa9e, 0x39e2: 0xa9f, 0x39e3: 0xaa0, 0x39e4: 0xaa1, 0x39e5: 0xaa2, 0x39e6: 0xaa3, 0x39e7: 0xaa4,\n\t0x39e8: 0xaa5,\n\t// Block 0xe8, offset 0x3a00\n\t0x3a10: 0x09, 0x3a11: 0x0a, 0x3a12: 0x0b, 0x3a13: 0x0c, 0x3a16: 0x0d,\n\t0x3a1b: 0x0e, 0x3a1d: 0x0f, 0x3a1e: 0x10, 0x3a1f: 0xd8,\n\t0x3a20: 0xd9, 0x3a21: 0xda, 0x3a22: 0xdb, 0x3a23: 0xdc, 0x3a24: 0xdd, 0x3a25: 0xde, 0x3a26: 0xdf, 0x3a27: 0xe0,\n\t0x3a28: 0xe1, 0x3a29: 0xe2, 0x3a2a: 0xe3, 0x3a2b: 0xe4, 0x3a2f: 0xe5,\n\t// Block 0xe9, offset 0x3a40\n\t0x3a42: 0x01, 0x3a43: 0x618, 0x3a44: 0x619, 0x3a45: 0x61a, 0x3a46: 0x05, 0x3a47: 0x61b,\n\t0x3a48: 0x61c, 0x3a49: 0x08, 0x3a4a: 0x09, 0x3a4b: 0x0a, 0x3a4c: 0x0b, 0x3a4d: 0x0c, 0x3a4e: 0x0d, 0x3a4f: 0x0e,\n\t0x3a50: 0x0f, 0x3a51: 0x10, 0x3a52: 0x11, 0x3a53: 0x12, 0x3a54: 0x13, 0x3a55: 0x14, 0x3a56: 0x15, 0x3a57: 0x16,\n\t0x3a58: 0x17, 0x3a59: 0x18, 0x3a5a: 0x19, 0x3a5b: 0x1a, 0x3a5c: 0x1b, 0x3a5d: 0x1c, 0x3a5e: 0x1d, 0x3a5f: 0x1e,\n\t0x3a60: 0x01, 0x3a61: 0xce, 0x3a62: 0xcf, 0x3a63: 0xd0, 0x3a64: 0xd1, 0x3a65: 0xd2, 0x3a66: 0xd3, 0x3a67: 0xd4,\n\t0x3a68: 0xd5, 0x3a69: 0xd6, 0x3a6a: 0x06, 0x3a6d: 0x07, 0x3a6f: 0xd7,\n\t0x3a70: 0xe6, 0x3a73: 0x15,\n\t// Block 0xea, offset 0x3a80\n\t0x3a80: 0x7d, 0x3a81: 0x7e, 0x3a82: 0x7f, 0x3a83: 0x80, 0x3a84: 0x81, 0x3a85: 0x82, 0x3a86: 0x83, 0x3a87: 0x84,\n\t0x3a88: 0x85, 0x3a89: 0x86, 0x3a8a: 0x87, 0x3a8b: 0x88, 0x3a8c: 0x89, 0x3a8d: 0x8a, 0x3a8e: 0x8b, 0x3a8f: 0x8c,\n\t0x3a90: 0x8d, 0x3a91: 0x8e, 0x3a92: 0x8f, 0x3a93: 0x90, 0x3a94: 0x91, 0x3a95: 0x92, 0x3a96: 0x93, 0x3a97: 0x94,\n\t0x3a98: 0x95, 0x3a99: 0x96, 0x3a9a: 0x97, 0x3a9b: 0x98, 0x3a9c: 0x99, 0x3a9d: 0x9a, 0x3a9e: 0x9b, 0x3a9f: 0x9c,\n\t0x3aa0: 0x9d, 0x3aa1: 0x9e, 0x3aa2: 0x9f, 0x3aa3: 0xa0, 0x3aa4: 0xa1, 0x3aa5: 0xa2, 0x3aa6: 0xa3, 0x3aa7: 0xa4,\n\t0x3aa8: 0xa5, 0x3aa9: 0xa6, 0x3aaa: 0xa7, 0x3aab: 0xa8, 0x3aac: 0xa9, 0x3aad: 0xaa,\n\t0x3ab0: 0xab, 0x3ab1: 0xac, 0x3ab2: 0xad, 0x3ab3: 0xae, 0x3ab4: 0xaf, 0x3ab5: 0xb0, 0x3ab6: 0xb1, 0x3ab7: 0xb2,\n\t0x3ab8: 0xb3, 0x3aba: 0xaa6, 0x3abb: 0xaa7, 0x3abc: 0xaa8, 0x3abd: 0xaa9, 0x3abe: 0xaaa, 0x3abf: 0xaab,\n\t// Block 0xeb, offset 0x3ac0\n\t0x3ac0: 0xaac, 0x3ac1: 0xbb, 0x3ac2: 0xbc, 0x3ac3: 0xbd, 0x3ac4: 0xbe, 0x3ac5: 0xbf, 0x3ac6: 0xaad, 0x3ac7: 0xc1,\n\t0x3ac8: 0xaae, 0x3ac9: 0xaaf, 0x3aca: 0xab0, 0x3acb: 0xab1, 0x3acc: 0xc6, 0x3acd: 0xab2, 0x3ace: 0xc8, 0x3acf: 0xab3,\n\t0x3ad0: 0xab4, 0x3ad1: 0xab5, 0x3ad2: 0xab6, 0x3ad3: 0xab7, 0x3ad4: 0xab8, 0x3ad5: 0xab9, 0x3ad6: 0xaba, 0x3ad7: 0xabb,\n\t0x3ad8: 0xabc, 0x3ad9: 0xabd, 0x3ada: 0xabe, 0x3adb: 0xabf, 0x3adc: 0xac0, 0x3add: 0xac1, 0x3ade: 0xac2, 0x3adf: 0xac3,\n\t0x3ae0: 0xac4, 0x3ae1: 0xac5, 0x3ae2: 0xac6, 0x3ae3: 0xac7, 0x3ae4: 0xac8, 0x3ae5: 0xac9, 0x3ae6: 0xaca, 0x3ae7: 0xacb,\n\t0x3ae8: 0xacc, 0x3ae9: 0xacd, 0x3aea: 0xace, 0x3aeb: 0xacf, 0x3aec: 0xad0, 0x3aed: 0xad1, 0x3aee: 0xad2, 0x3aef: 0xad3,\n\t0x3af0: 0xad4, 0x3af1: 0xad5, 0x3af2: 0xad6, 0x3af3: 0xad7, 0x3af4: 0xad8, 0x3af5: 0xad9, 0x3af6: 0xada, 0x3af7: 0xadb,\n\t0x3af8: 0xadc, 0x3af9: 0xadd, 0x3afa: 0xade, 0x3afb: 0xadf, 0x3afc: 0xae0, 0x3afd: 0xae1, 0x3afe: 0xae2, 0x3aff: 0xae3,\n\t// Block 0xec, offset 0x3b00\n\t0x3b00: 0xae4, 0x3b01: 0xae5, 0x3b02: 0xae6, 0x3b03: 0xae7, 0x3b04: 0xae8, 0x3b05: 0xae9, 0x3b06: 0xaea, 0x3b07: 0xaeb,\n\t0x3b08: 0xaec, 0x3b09: 0xaed, 0x3b0a: 0xaee, 0x3b0b: 0xaef, 0x3b0c: 0xaf0, 0x3b0d: 0xaf1, 0x3b0e: 0xaf2, 0x3b0f: 0xaf3,\n\t0x3b10: 0xaf4, 0x3b11: 0xaf5, 0x3b12: 0xaf6, 0x3b13: 0xaf7, 0x3b14: 0xaf8, 0x3b15: 0xaf9, 0x3b16: 0xafa, 0x3b17: 0xafb,\n\t0x3b18: 0xafc, 0x3b19: 0xafd, 0x3b1a: 0xafe, 0x3b1b: 0xaff, 0x3b1c: 0xb00, 0x3b1d: 0xb01, 0x3b1e: 0xb02, 0x3b1f: 0xb03,\n\t0x3b20: 0xb04, 0x3b21: 0xb05, 0x3b22: 0xb06, 0x3b23: 0xb07, 0x3b24: 0xb08, 0x3b25: 0xb09, 0x3b26: 0xb0a, 0x3b27: 0xb0b,\n\t0x3b28: 0xb0c, 0x3b29: 0xb0d, 0x3b2a: 0xb0e, 0x3b2b: 0xb0f, 0x3b2c: 0xb10, 0x3b2d: 0xb11, 0x3b2e: 0xb12, 0x3b2f: 0xb13,\n\t0x3b30: 0xb14, 0x3b31: 0xb15, 0x3b32: 0xb16, 0x3b33: 0xb17, 0x3b34: 0xb18, 0x3b35: 0xb19, 0x3b36: 0xb1a, 0x3b37: 0xca,\n\t0x3b38: 0xb1b, 0x3b39: 0xb1c, 0x3b3a: 0xb1d, 0x3b3b: 0xb1e, 0x3b3c: 0xb1f, 0x3b3d: 0xb20, 0x3b3e: 0xb21, 0x3b3f: 0xb22,\n\t// Block 0xed, offset 0x3b40\n\t0x3b40: 0xb23, 0x3b41: 0xb24, 0x3b42: 0xb25, 0x3b43: 0xb26, 0x3b44: 0xb27, 0x3b45: 0xb28, 0x3b46: 0xb29, 0x3b47: 0xb2a,\n\t0x3b48: 0xb2b, 0x3b49: 0xb2c, 0x3b4a: 0xb2d, 0x3b4b: 0xb2e, 0x3b4c: 0xb2f, 0x3b4d: 0xb30, 0x3b4e: 0xb31, 0x3b4f: 0xb32,\n\t0x3b50: 0xb33, 0x3b51: 0xb34, 0x3b52: 0xb35, 0x3b53: 0xb36, 0x3b54: 0xb37, 0x3b55: 0xb38, 0x3b56: 0xb39, 0x3b57: 0xb3a,\n\t0x3b58: 0xb3b, 0x3b59: 0xb3c, 0x3b5a: 0xb3d, 0x3b5b: 0xb3e, 0x3b5c: 0xb3f, 0x3b5d: 0xb40, 0x3b5e: 0xb41, 0x3b5f: 0xb42,\n\t0x3b60: 0xb43, 0x3b61: 0xb44, 0x3b62: 0xb45, 0x3b63: 0xb46, 0x3b64: 0xb47, 0x3b65: 0xb48, 0x3b66: 0xb49, 0x3b67: 0xb4a,\n\t0x3b68: 0xb4b, 0x3b69: 0xb4c, 0x3b6a: 0xb4d, 0x3b6b: 0xb4e, 0x3b6c: 0xb4f, 0x3b6d: 0xb50, 0x3b6e: 0xb51, 0x3b6f: 0xb52,\n\t0x3b70: 0xb53, 0x3b71: 0xb54, 0x3b72: 0xb55, 0x3b73: 0xb56, 0x3b74: 0xb57, 0x3b75: 0xb58, 0x3b76: 0xb59, 0x3b77: 0xb5a,\n\t0x3b78: 0xb5b, 0x3b79: 0xb5c, 0x3b7a: 0xb5d, 0x3b7b: 0xb5e, 0x3b7c: 0xb5f, 0x3b7d: 0xb60, 0x3b7e: 0xb61, 0x3b7f: 0xb62,\n\t// Block 0xee, offset 0x3b80\n\t0x3b80: 0xb63, 0x3b81: 0xb64, 0x3b82: 0xb65, 0x3b83: 0xb66, 0x3b84: 0xb67, 0x3b85: 0xb68, 0x3b86: 0xb69, 0x3b87: 0xb6a,\n\t0x3b88: 0xb6b, 0x3b89: 0xb6c, 0x3b8a: 0xb6d, 0x3b8b: 0xb6e, 0x3b8c: 0xb6f, 0x3b8d: 0xb70, 0x3b8e: 0xb71, 0x3b8f: 0xb72,\n\t0x3b90: 0xb73, 0x3b91: 0xb74, 0x3b92: 0xb75, 0x3b93: 0xb76, 0x3b94: 0xb77, 0x3b95: 0xb78, 0x3b96: 0xb79, 0x3b97: 0xb7a,\n\t0x3b98: 0xb7b, 0x3b99: 0xb7c, 0x3b9a: 0xb7d, 0x3b9b: 0xb7e, 0x3b9c: 0xb7f, 0x3b9d: 0xb80, 0x3b9e: 0xb81, 0x3b9f: 0xb82,\n\t0x3ba0: 0xb83, 0x3ba1: 0xb84, 0x3ba2: 0xb85, 0x3ba3: 0xb86, 0x3ba4: 0xb87, 0x3ba5: 0xb88, 0x3ba6: 0xb89, 0x3ba7: 0xb8a,\n\t0x3ba8: 0xb8b, 0x3ba9: 0xb8c, 0x3baa: 0xb8d, 0x3bab: 0xb8e, 0x3bac: 0xb8f, 0x3bad: 0xb90, 0x3bae: 0xb91, 0x3baf: 0xb92,\n\t0x3bb0: 0xb93, 0x3bb1: 0xb94, 0x3bb2: 0xb95, 0x3bb3: 0xb96, 0x3bb4: 0xb97, 0x3bb5: 0xb98, 0x3bb6: 0xb99, 0x3bb7: 0xb9a,\n\t0x3bb8: 0xb9b, 0x3bb9: 0xb9c, 0x3bba: 0xb9d, 0x3bbb: 0xb9e, 0x3bbc: 0xb9f, 0x3bbd: 0xba0, 0x3bbe: 0xba1, 0x3bbf: 0xba2,\n\t// Block 0xef, offset 0x3bc0\n\t0x3bc0: 0xba3, 0x3bc1: 0xba4, 0x3bc2: 0xba5, 0x3bc3: 0xba6, 0x3bc4: 0xba7, 0x3bc5: 0xba8, 0x3bc6: 0xba9, 0x3bc7: 0xbaa,\n\t0x3bc8: 0xbab, 0x3bc9: 0xbac, 0x3bca: 0xbad, 0x3bcb: 0xbae, 0x3bcc: 0xbaf, 0x3bcd: 0xbb0, 0x3bce: 0xbb1, 0x3bcf: 0xbb2,\n\t0x3bd0: 0xbb3, 0x3bd1: 0xbb4, 0x3bd2: 0xbb5, 0x3bd3: 0xbb6, 0x3bd4: 0xbb7, 0x3bd5: 0xbb8, 0x3bd6: 0xbb9, 0x3bd7: 0xbba,\n\t0x3bd8: 0xbbb, 0x3bd9: 0xbbc, 0x3bda: 0xbbd, 0x3bdb: 0xbbe, 0x3bdc: 0xbbf, 0x3bdd: 0xbc0, 0x3bde: 0xbc1, 0x3bdf: 0xbc2,\n\t0x3be0: 0xbc3, 0x3be1: 0xbc4, 0x3be2: 0xbc5, 0x3be3: 0xbc6, 0x3be4: 0xbc7, 0x3be5: 0xbc8, 0x3be6: 0xbc9, 0x3be7: 0xbca,\n\t0x3be8: 0xbcb, 0x3be9: 0xbcc, 0x3bea: 0xbcd, 0x3beb: 0xbce, 0x3bec: 0xbcf, 0x3bed: 0xbd0, 0x3bee: 0xbd1, 0x3bef: 0xbd2,\n\t0x3bf0: 0xbd3, 0x3bf1: 0xbd4, 0x3bf2: 0xbd5, 0x3bf3: 0xbd6, 0x3bf4: 0xbd7, 0x3bf5: 0xbd8, 0x3bf6: 0xbd9, 0x3bf7: 0xbda,\n\t0x3bf8: 0xbdb, 0x3bf9: 0xbdc, 0x3bfa: 0xbdd, 0x3bfb: 0xbde, 0x3bfc: 0xbdf, 0x3bfd: 0xbe0, 0x3bfe: 0xbe1, 0x3bff: 0xbe2,\n\t// Block 0xf0, offset 0x3c00\n\t0x3c00: 0xbe3, 0x3c01: 0xbe4, 0x3c02: 0xbe5, 0x3c03: 0xbe6, 0x3c04: 0xbe7, 0x3c05: 0xbe8, 0x3c06: 0xbe9, 0x3c07: 0xbea,\n\t0x3c08: 0xbeb, 0x3c09: 0xbec, 0x3c0a: 0xbed, 0x3c0b: 0xbee, 0x3c0c: 0xbef, 0x3c0d: 0xbf0, 0x3c0e: 0xbf1, 0x3c0f: 0xbf2,\n\t0x3c10: 0xbf3, 0x3c11: 0xbf4, 0x3c12: 0xbf5, 0x3c13: 0xbf6, 0x3c14: 0xbf7, 0x3c15: 0xbf8, 0x3c16: 0xbf9, 0x3c17: 0xbfa,\n\t0x3c18: 0xbfb, 0x3c19: 0xbfc, 0x3c1a: 0xbfd, 0x3c1b: 0xbfe, 0x3c1c: 0xbff, 0x3c1d: 0xc00, 0x3c1e: 0xc01, 0x3c1f: 0xc02,\n\t0x3c20: 0xc03, 0x3c21: 0xc04, 0x3c22: 0xc05, 0x3c23: 0xc06, 0x3c24: 0xc07, 0x3c25: 0xc08, 0x3c26: 0xc09, 0x3c27: 0xc0a,\n\t0x3c28: 0xc0b, 0x3c29: 0xc0c, 0x3c2a: 0xc0d, 0x3c2b: 0xc0e, 0x3c2c: 0xc0f, 0x3c2d: 0xc10, 0x3c2e: 0xc11, 0x3c2f: 0xc12,\n\t0x3c30: 0xc13, 0x3c31: 0xc14, 0x3c32: 0xc15, 0x3c33: 0xc16, 0x3c34: 0xc17, 0x3c35: 0xc18, 0x3c36: 0xc19, 0x3c37: 0xc1a,\n\t0x3c38: 0xc1b, 0x3c39: 0xc1c, 0x3c3a: 0xc1d, 0x3c3b: 0xc1e, 0x3c3c: 0xc1f, 0x3c3d: 0xc20, 0x3c3e: 0xc21, 0x3c3f: 0xc22,\n\t// Block 0xf1, offset 0x3c40\n\t0x3c40: 0xc23, 0x3c41: 0xc24, 0x3c42: 0xc25, 0x3c43: 0xc26, 0x3c44: 0xc27, 0x3c45: 0xc28, 0x3c46: 0xc29, 0x3c47: 0xc2a,\n\t0x3c48: 0xc2b, 0x3c49: 0xc2c, 0x3c4a: 0xc2d, 0x3c4b: 0xc2e, 0x3c4c: 0xc2f, 0x3c4d: 0xc30, 0x3c4e: 0xc31, 0x3c4f: 0xc32,\n\t0x3c50: 0xc33, 0x3c51: 0xc34, 0x3c52: 0xc35, 0x3c53: 0xc36, 0x3c54: 0xc37, 0x3c55: 0xc38, 0x3c56: 0xc39, 0x3c57: 0xc3a,\n\t0x3c58: 0xc3b, 0x3c59: 0xc3c, 0x3c5a: 0xc3d, 0x3c5b: 0xc3e, 0x3c5c: 0xc3f, 0x3c5d: 0xc40, 0x3c5e: 0xc41, 0x3c5f: 0xc42,\n\t0x3c60: 0xc43, 0x3c61: 0xc44, 0x3c62: 0xc45, 0x3c63: 0xc46, 0x3c64: 0xc47, 0x3c65: 0xc48, 0x3c66: 0xc49, 0x3c67: 0xc4a,\n\t0x3c68: 0xc4b, 0x3c69: 0xc4c, 0x3c6a: 0xc4d, 0x3c6b: 0xc4e, 0x3c6c: 0xc4f, 0x3c6d: 0xc50, 0x3c6e: 0xc51, 0x3c6f: 0xc52,\n\t0x3c70: 0xc53, 0x3c71: 0xc54, 0x3c72: 0xc55, 0x3c73: 0xc56, 0x3c74: 0xc57, 0x3c75: 0xc58, 0x3c76: 0xc59, 0x3c77: 0xc5a,\n\t0x3c78: 0xc5b, 0x3c79: 0xc5c, 0x3c7a: 0xc5d, 0x3c7b: 0xc5e, 0x3c7c: 0xc5f, 0x3c7d: 0xc60, 0x3c7e: 0xc61, 0x3c7f: 0xc62,\n\t// Block 0xf2, offset 0x3c80\n\t0x3ca4: 0xc63, 0x3ca5: 0xc64, 0x3ca6: 0xc65, 0x3ca7: 0xc66,\n\t0x3ca8: 0xc67, 0x3ca9: 0xc68, 0x3caa: 0xc69, 0x3cab: 0xc6a, 0x3cac: 0x103, 0x3cad: 0x104, 0x3cae: 0x105, 0x3caf: 0x106,\n\t0x3cb0: 0x107, 0x3cb1: 0x108, 0x3cb2: 0x109, 0x3cb3: 0x10a, 0x3cb4: 0x10b, 0x3cb5: 0x10c, 0x3cb6: 0x10d, 0x3cb7: 0x10e,\n\t0x3cb8: 0x10f, 0x3cb9: 0x110, 0x3cba: 0x111, 0x3cbb: 0x112, 0x3cbc: 0x113, 0x3cbd: 0x114, 0x3cbe: 0x115, 0x3cbf: 0x116,\n\t// Block 0xf3, offset 0x3cc0\n\t0x3cc0: 0x18b, 0x3cc1: 0x18c, 0x3cc2: 0x18d, 0x3cc3: 0x18e, 0x3cc4: 0x18f, 0x3cc5: 0x190, 0x3cc6: 0x191, 0x3cc7: 0x192,\n\t0x3cc8: 0xc6b, 0x3cc9: 0xc6c, 0x3ccc: 0x195, 0x3ccd: 0x196, 0x3cce: 0x197, 0x3ccf: 0x198,\n\t0x3cd0: 0x199, 0x3cd1: 0x19a, 0x3cd2: 0x19b, 0x3cd3: 0x19c, 0x3cd4: 0x19d, 0x3cd5: 0x19e, 0x3cd7: 0x19f,\n\t0x3cd8: 0x1a0, 0x3cd9: 0x1a1, 0x3cda: 0x1a2, 0x3cdb: 0x1a3, 0x3cdc: 0x1a4, 0x3cdd: 0x1a5,\n\t// Block 0xf4, offset 0x3d00\n\t0x3d00: 0xc6d, 0x3d01: 0xc6e, 0x3d02: 0xc6f, 0x3d03: 0xc70, 0x3d04: 0xc71, 0x3d05: 0xc72, 0x3d06: 0xc73, 0x3d07: 0xc74,\n\t0x3d08: 0xc75, 0x3d09: 0xc76, 0x3d0a: 0xc77, 0x3d0b: 0xc78, 0x3d0c: 0xc79, 0x3d0d: 0xc7a, 0x3d0e: 0xc7b, 0x3d0f: 0xc7c,\n\t0x3d10: 0xc7d, 0x3d11: 0xc7e, 0x3d12: 0xc7f, 0x3d13: 0xc80, 0x3d14: 0xc81, 0x3d15: 0xc82, 0x3d16: 0xc83, 0x3d17: 0xc84,\n\t0x3d18: 0xc85, 0x3d19: 0xc86, 0x3d1a: 0xc87, 0x3d1b: 0xc88, 0x3d1c: 0xc89, 0x3d1d: 0xc8a, 0x3d1e: 0xc8b, 0x3d1f: 0xc8c,\n\t0x3d20: 0xc8d, 0x3d21: 0xc8e, 0x3d22: 0xc8f, 0x3d23: 0xc90, 0x3d24: 0xc91, 0x3d25: 0xc92, 0x3d26: 0xc93, 0x3d27: 0xc94,\n\t0x3d28: 0xc95, 0x3d29: 0xc96, 0x3d2a: 0xc97, 0x3d2b: 0xc98, 0x3d2c: 0xc99, 0x3d2d: 0xc9a, 0x3d2e: 0xc9b, 0x3d2f: 0xc9c,\n\t0x3d30: 0xc9d, 0x3d31: 0xc9e, 0x3d32: 0xc9f, 0x3d33: 0xca0, 0x3d34: 0xca1, 0x3d35: 0xca2, 0x3d36: 0xca3, 0x3d37: 0xca4,\n\t0x3d38: 0xca5, 0x3d39: 0xca6, 0x3d3a: 0xca7, 0x3d3b: 0xca8, 0x3d3c: 0xca9, 0x3d3d: 0xcaa, 0x3d3e: 0xcab, 0x3d3f: 0xcac,\n\t// Block 0xf5, offset 0x3d40\n\t0x3d40: 0xcad, 0x3d41: 0xcae, 0x3d42: 0xcaf, 0x3d43: 0xcb0, 0x3d44: 0xcb1, 0x3d45: 0xcb2, 0x3d46: 0xcb3, 0x3d47: 0xcb4,\n\t0x3d48: 0xcb5, 0x3d49: 0xcb6, 0x3d4a: 0xcb7, 0x3d4b: 0xcb8, 0x3d4c: 0xcb9, 0x3d4d: 0xcba, 0x3d4e: 0xcbb, 0x3d4f: 0xcbc,\n\t0x3d50: 0xcbd, 0x3d51: 0xcbe, 0x3d52: 0xcbf, 0x3d53: 0xcc0, 0x3d54: 0xcc1, 0x3d55: 0xcc2, 0x3d56: 0xcc3, 0x3d57: 0xcc4,\n\t0x3d58: 0xcc5, 0x3d59: 0xcc6, 0x3d5a: 0xcc7, 0x3d5b: 0xcc8, 0x3d5c: 0xcc9, 0x3d5d: 0xcca, 0x3d5e: 0xccb, 0x3d5f: 0xccc,\n\t0x3d60: 0xccd, 0x3d61: 0xcce, 0x3d62: 0xccf, 0x3d63: 0xcd0, 0x3d64: 0xcd1, 0x3d65: 0xcd2, 0x3d66: 0xcd3, 0x3d67: 0xcd4,\n\t0x3d68: 0xcd5, 0x3d69: 0xcd6, 0x3d6a: 0xcd7, 0x3d6b: 0xcd8, 0x3d6c: 0xcd9, 0x3d6d: 0xcda, 0x3d6e: 0xcdb, 0x3d6f: 0xcdc,\n\t0x3d70: 0xcdd, 0x3d71: 0xcde, 0x3d72: 0xcdf, 0x3d73: 0xce0, 0x3d74: 0xce1, 0x3d75: 0xce2, 0x3d76: 0xce3, 0x3d77: 0xce4,\n\t0x3d78: 0xce5, 0x3d79: 0xce6, 0x3d7a: 0xce7, 0x3d7b: 0xce8, 0x3d7c: 0xce9, 0x3d7d: 0xcea, 0x3d7e: 0xceb, 0x3d7f: 0xcec,\n\t// Block 0xf6, offset 0x3d80\n\t0x3d80: 0xced, 0x3d81: 0xcee, 0x3d82: 0xcef, 0x3d83: 0xcf0, 0x3d84: 0xcf1, 0x3d85: 0xcf2, 0x3d86: 0xcf3, 0x3d87: 0xcf4,\n\t0x3d88: 0xcf5, 0x3d89: 0xcf6, 0x3d8a: 0xcf7, 0x3d8b: 0xcf8, 0x3d8c: 0xcf9, 0x3d8d: 0xcfa, 0x3d8e: 0xcfb, 0x3d8f: 0xcfc,\n\t0x3d90: 0xcfd, 0x3d91: 0xcfe, 0x3d92: 0xcff, 0x3d93: 0xd00, 0x3d94: 0xd01, 0x3d95: 0xd02, 0x3d96: 0xd03, 0x3d97: 0xd04,\n\t0x3d98: 0xd05, 0x3d99: 0xd06, 0x3d9a: 0xd07, 0x3d9b: 0xd08, 0x3d9c: 0xd09, 0x3d9d: 0xd0a, 0x3d9e: 0xd0b, 0x3d9f: 0xd0c,\n\t0x3da0: 0xd0d, 0x3da1: 0xd0e, 0x3da2: 0xd0f, 0x3da3: 0xd10, 0x3da4: 0xd11, 0x3da5: 0xd12, 0x3da6: 0xd13, 0x3da7: 0xd14,\n\t0x3da8: 0xd15, 0x3da9: 0xd16, 0x3daa: 0xd17, 0x3dab: 0xd18, 0x3dac: 0xd19, 0x3dad: 0xd1a, 0x3dae: 0xd1b, 0x3daf: 0xd1c,\n\t0x3db0: 0xd1d, 0x3db1: 0xd1e, 0x3db2: 0xd1f, 0x3db3: 0xd20, 0x3db4: 0xd21, 0x3db5: 0xd22, 0x3db6: 0xd23, 0x3db7: 0xd24,\n\t0x3db8: 0xd25, 0x3db9: 0xd26, 0x3dba: 0xd27, 0x3dbb: 0xd28, 0x3dbc: 0xd29, 0x3dbd: 0xd2a, 0x3dbe: 0xd2b, 0x3dbf: 0xd2c,\n\t// Block 0xf7, offset 0x3dc0\n\t0x3dc0: 0xd2d, 0x3dc1: 0xd2e, 0x3dc2: 0xd2f, 0x3dc3: 0xd30, 0x3dc4: 0xd31, 0x3dc5: 0xd32, 0x3dc6: 0xd33, 0x3dc7: 0xd34,\n\t0x3dc8: 0xd35, 0x3dc9: 0xd36, 0x3dca: 0xd37, 0x3dcb: 0xd38, 0x3dcc: 0xd39, 0x3dcd: 0xd3a, 0x3dce: 0xd3b, 0x3dcf: 0xd3c,\n\t0x3dd0: 0xd3d, 0x3dd1: 0xd3e, 0x3dd2: 0xd3f, 0x3dd3: 0xd40, 0x3dd4: 0xd41, 0x3dd5: 0xd42, 0x3dd6: 0xd43, 0x3dd7: 0xd44,\n\t0x3dd8: 0xd45, 0x3dd9: 0xd46, 0x3dda: 0xd47, 0x3ddb: 0xd48, 0x3ddc: 0xd49, 0x3ddd: 0xd4a, 0x3dde: 0xd4b, 0x3ddf: 0xd4c,\n\t0x3de0: 0xd4d, 0x3de1: 0xd4e, 0x3de2: 0xd4f, 0x3de3: 0xd50, 0x3de4: 0xd51, 0x3de5: 0xd52, 0x3de6: 0xd53, 0x3de7: 0xd54,\n\t0x3de8: 0xd55, 0x3de9: 0xd56, 0x3dea: 0xd57, 0x3deb: 0xd58, 0x3dec: 0xd59, 0x3ded: 0xd5a, 0x3dee: 0xd5b, 0x3def: 0xd5c,\n\t0x3df0: 0xd5d, 0x3df1: 0xd5e, 0x3df2: 0xd5f, 0x3df3: 0xd60, 0x3df4: 0xd61, 0x3df5: 0xd62, 0x3df6: 0xd63, 0x3df7: 0xd64,\n\t0x3df8: 0xd65, 0x3df9: 0xd66, 0x3dfa: 0xd67, 0x3dfb: 0xd68, 0x3dfc: 0xd69, 0x3dfd: 0xd6a, 0x3dfe: 0xd6b, 0x3dff: 0xd6c,\n\t// Block 0xf8, offset 0x3e00\n\t0x3e00: 0xd6d, 0x3e01: 0xd6e, 0x3e02: 0xd6f, 0x3e03: 0xd70, 0x3e04: 0xd71, 0x3e05: 0xd72, 0x3e06: 0xd73, 0x3e07: 0xd74,\n\t0x3e08: 0xd75, 0x3e09: 0xd76, 0x3e0a: 0xd77, 0x3e0b: 0xd78, 0x3e0c: 0xd79, 0x3e0d: 0xd7a, 0x3e0e: 0xd7b, 0x3e0f: 0xd7c,\n\t0x3e10: 0xd7d, 0x3e11: 0xd7e, 0x3e12: 0xd7f, 0x3e13: 0xd80, 0x3e14: 0xd81, 0x3e15: 0xd82, 0x3e16: 0xd83, 0x3e17: 0xd84,\n\t0x3e18: 0xd85, 0x3e19: 0xd86, 0x3e1a: 0xd87, 0x3e1b: 0xd88, 0x3e1c: 0xd89, 0x3e1d: 0xd8a, 0x3e1e: 0xd8b, 0x3e1f: 0xd8c,\n\t0x3e20: 0xd8d, 0x3e21: 0xd8e, 0x3e22: 0xd8f, 0x3e23: 0xd90, 0x3e24: 0xd91, 0x3e25: 0xd92, 0x3e26: 0xd93, 0x3e27: 0xd94,\n\t0x3e28: 0xd95, 0x3e29: 0xd96, 0x3e2a: 0xd97, 0x3e2b: 0xd98, 0x3e2c: 0xd99, 0x3e2d: 0xd9a, 0x3e2e: 0xd9b, 0x3e2f: 0xd9c,\n\t0x3e30: 0xd9d, 0x3e31: 0xd9e, 0x3e32: 0xd9f, 0x3e33: 0xda0, 0x3e34: 0xda1, 0x3e35: 0xda2, 0x3e36: 0xda3, 0x3e37: 0xda4,\n\t0x3e38: 0xda5, 0x3e39: 0xda6, 0x3e3a: 0xda7, 0x3e3b: 0xda8, 0x3e3c: 0xda9, 0x3e3d: 0xdaa, 0x3e3e: 0xdab, 0x3e3f: 0xdac,\n\t// Block 0xf9, offset 0x3e40\n\t0x3e40: 0xdad, 0x3e41: 0xdae, 0x3e42: 0xdaf, 0x3e43: 0xdb0, 0x3e44: 0xdb1, 0x3e45: 0xdb2, 0x3e46: 0xdb3, 0x3e47: 0xdb4,\n\t0x3e48: 0xdb5, 0x3e49: 0xdb6, 0x3e4a: 0xdb7, 0x3e4b: 0xdb8, 0x3e4c: 0xdb9, 0x3e4d: 0xdba, 0x3e4e: 0xdbb, 0x3e4f: 0xdbc,\n\t0x3e50: 0xdbd, 0x3e51: 0xdbe, 0x3e52: 0xdbf, 0x3e53: 0xdc0, 0x3e54: 0xdc1, 0x3e55: 0xdc2, 0x3e56: 0xdc3, 0x3e57: 0xdc4,\n\t0x3e58: 0xdc5, 0x3e59: 0xdc6, 0x3e5a: 0xdc7, 0x3e5b: 0xdc8, 0x3e5c: 0xdc9, 0x3e5d: 0xdca, 0x3e5e: 0xdcb, 0x3e5f: 0xdcc,\n\t0x3e60: 0xdcd, 0x3e61: 0xdce, 0x3e62: 0xdcf, 0x3e63: 0xdd0, 0x3e64: 0xdd1, 0x3e65: 0xdd2, 0x3e66: 0xdd3, 0x3e67: 0xdd4,\n\t0x3e68: 0xdd5, 0x3e69: 0xdd6, 0x3e6a: 0xdd7, 0x3e6b: 0xdd8, 0x3e6c: 0xdd9, 0x3e6d: 0xdda, 0x3e6e: 0xddb, 0x3e6f: 0xddc,\n\t0x3e70: 0xddd, 0x3e71: 0xdde, 0x3e72: 0xddf, 0x3e73: 0xde0, 0x3e74: 0xde1, 0x3e75: 0xde2, 0x3e76: 0xde3, 0x3e77: 0xde4,\n\t0x3e78: 0xde5, 0x3e79: 0xde6, 0x3e7a: 0xde7, 0x3e7b: 0xde8, 0x3e7c: 0xde9, 0x3e7d: 0xdea, 0x3e7e: 0xdeb, 0x3e7f: 0xdec,\n\t// Block 0xfa, offset 0x3e80\n\t0x3e80: 0xded, 0x3e81: 0xdee, 0x3e82: 0xdef, 0x3e83: 0xdf0, 0x3e84: 0xdf1, 0x3e85: 0xdf2, 0x3e86: 0xdf3, 0x3e87: 0xdf4,\n\t0x3e88: 0xdf5, 0x3e89: 0xdf6, 0x3e8a: 0xdf7, 0x3e8b: 0xdf8, 0x3e8c: 0xdf9, 0x3e8d: 0xdfa, 0x3e8e: 0xdfb, 0x3e8f: 0xdfc,\n\t0x3e90: 0xdfd, 0x3e91: 0xdfe, 0x3e92: 0xdff, 0x3e93: 0xe00, 0x3e94: 0xe01, 0x3e95: 0xe02, 0x3e96: 0xe03, 0x3e97: 0xe04,\n\t0x3e98: 0xe05, 0x3e99: 0xe06, 0x3e9a: 0xe07, 0x3e9b: 0xe08, 0x3e9c: 0xe09, 0x3e9d: 0xe0a, 0x3e9e: 0xe0b, 0x3e9f: 0xe0c,\n\t0x3ea0: 0xe0d, 0x3ea1: 0xe0e, 0x3ea2: 0xe0f, 0x3ea3: 0xe10, 0x3ea4: 0xe11, 0x3ea5: 0xe12, 0x3ea6: 0xe13, 0x3ea7: 0xe14,\n\t0x3ea8: 0xe15, 0x3ea9: 0xe16, 0x3eaa: 0xe17, 0x3eab: 0xe18, 0x3eac: 0xe19, 0x3ead: 0xe1a, 0x3eae: 0xe1b, 0x3eaf: 0xe1c,\n\t0x3eb0: 0xe1d, 0x3eb1: 0xe1e, 0x3eb2: 0xe1f, 0x3eb3: 0xe20, 0x3eb4: 0xe21, 0x3eb5: 0xe22, 0x3eb6: 0xe23, 0x3eb7: 0xe24,\n\t0x3eb8: 0xe25, 0x3eb9: 0xe26, 0x3eba: 0xe27, 0x3ebb: 0xe28, 0x3ebc: 0xe29, 0x3ebd: 0xe2a, 0x3ebe: 0xe2b, 0x3ebf: 0xe2c,\n\t// Block 0xfb, offset 0x3ec0\n\t0x3ec0: 0xe2d, 0x3ec1: 0xe2e, 0x3ec2: 0xe2f, 0x3ec3: 0xe30, 0x3ec4: 0xe31, 0x3ec5: 0xe32, 0x3ec6: 0xe33, 0x3ec7: 0xe34,\n\t0x3ec8: 0xe35, 0x3ec9: 0xe36, 0x3eca: 0xe37, 0x3ecb: 0xe38, 0x3ecc: 0xe39, 0x3ecd: 0xe3a, 0x3ece: 0xe3b, 0x3ecf: 0xe3c,\n\t0x3ed0: 0xe3d, 0x3ed1: 0xe3e, 0x3ed2: 0xe3f, 0x3ed3: 0xe40, 0x3ed4: 0xe41, 0x3ed5: 0xe42, 0x3ed6: 0xe43, 0x3ed7: 0xe44,\n\t0x3ed8: 0xe45, 0x3ed9: 0xe46, 0x3eda: 0xe47, 0x3edb: 0xe48, 0x3edc: 0xe49, 0x3edd: 0xe4a, 0x3ede: 0xe4b, 0x3edf: 0xe4c,\n\t0x3ee0: 0xe4d, 0x3ee1: 0xe4e, 0x3ee2: 0xe4f, 0x3ee3: 0xe50, 0x3ee4: 0xe51, 0x3ee5: 0xe52, 0x3ee6: 0xe53, 0x3ee7: 0xe54,\n\t0x3ee8: 0xe55, 0x3ee9: 0xe56, 0x3eea: 0xe57, 0x3eeb: 0xe58, 0x3eec: 0xe59, 0x3eed: 0xe5a, 0x3eee: 0xe5b, 0x3eef: 0xe5c,\n\t0x3ef0: 0xe5d, 0x3ef1: 0xe5e, 0x3ef2: 0xe5f, 0x3ef3: 0xe60, 0x3ef4: 0xe61, 0x3ef5: 0xe62, 0x3ef6: 0xe63, 0x3ef7: 0xe64,\n\t0x3ef8: 0xe65, 0x3ef9: 0xe66, 0x3efa: 0xe67, 0x3efb: 0xe68, 0x3efc: 0xe69, 0x3efd: 0xe6a, 0x3efe: 0xe6b, 0x3eff: 0xe6c,\n\t// Block 0xfc, offset 0x3f00\n\t0x3f00: 0xe6d, 0x3f01: 0xe6e, 0x3f02: 0xe6f, 0x3f03: 0xe70, 0x3f04: 0xe71, 0x3f05: 0xe72, 0x3f06: 0xe73, 0x3f07: 0xe74,\n\t0x3f08: 0xe75, 0x3f09: 0xe76, 0x3f0a: 0xe77, 0x3f0b: 0xe78, 0x3f0c: 0xe79, 0x3f0d: 0xe7a, 0x3f0e: 0xe7b, 0x3f0f: 0xe7c,\n\t0x3f10: 0xe7d, 0x3f11: 0xe7e, 0x3f12: 0xe7f, 0x3f13: 0xe80, 0x3f14: 0xe81, 0x3f15: 0xe82, 0x3f16: 0xe83, 0x3f17: 0xe84,\n\t0x3f18: 0xe85, 0x3f19: 0xe86, 0x3f1a: 0xe87, 0x3f1b: 0xe88, 0x3f1c: 0xe89, 0x3f1d: 0xe8a, 0x3f1e: 0xe8b, 0x3f1f: 0xe8c,\n\t0x3f20: 0xe8d, 0x3f21: 0xe8e, 0x3f22: 0xe8f, 0x3f23: 0xe90, 0x3f24: 0xe91, 0x3f25: 0xe92, 0x3f26: 0xe93, 0x3f27: 0xe94,\n\t0x3f28: 0xe95, 0x3f29: 0xe96, 0x3f2a: 0xe97, 0x3f2b: 0xe98, 0x3f2c: 0xe99, 0x3f2d: 0xe9a, 0x3f2e: 0xe9b, 0x3f2f: 0xe9c,\n\t0x3f30: 0xe9d, 0x3f31: 0xe9e, 0x3f32: 0xe9f, 0x3f33: 0xea0, 0x3f34: 0xea1, 0x3f35: 0xea2, 0x3f36: 0xea3, 0x3f37: 0xea4,\n\t0x3f38: 0xea5, 0x3f39: 0xea6, 0x3f3a: 0xea7, 0x3f3b: 0xea8, 0x3f3c: 0xea9, 0x3f3d: 0xeaa, 0x3f3e: 0xeab, 0x3f3f: 0xeac,\n\t// Block 0xfd, offset 0x3f40\n\t0x3f40: 0xead, 0x3f41: 0xeae, 0x3f42: 0xeaf, 0x3f43: 0xeb0, 0x3f44: 0xeb1, 0x3f45: 0xeb2, 0x3f46: 0xeb3, 0x3f47: 0xeb4,\n\t0x3f48: 0xeb5, 0x3f49: 0xeb6, 0x3f4a: 0xeb7, 0x3f4b: 0xeb8, 0x3f4c: 0xeb9, 0x3f4d: 0xeba, 0x3f4e: 0xebb, 0x3f4f: 0xebc,\n\t0x3f50: 0xebd, 0x3f51: 0xebe, 0x3f52: 0xebf, 0x3f53: 0xec0, 0x3f54: 0xec1, 0x3f55: 0xec2, 0x3f56: 0xec3, 0x3f57: 0xec4,\n\t0x3f58: 0xec5, 0x3f59: 0xec6, 0x3f5a: 0xec7, 0x3f5b: 0xec8, 0x3f5c: 0xec9, 0x3f5d: 0xeca, 0x3f5e: 0xecb, 0x3f5f: 0xecc,\n\t0x3f60: 0xecd, 0x3f61: 0xece, 0x3f62: 0xecf, 0x3f63: 0xed0, 0x3f64: 0xed1, 0x3f65: 0xed2, 0x3f66: 0xed3, 0x3f67: 0xed4,\n\t0x3f68: 0xed5, 0x3f69: 0xed6, 0x3f6a: 0xed7, 0x3f6b: 0xed8, 0x3f6c: 0xed9, 0x3f6d: 0xeda, 0x3f6e: 0xedb, 0x3f6f: 0xedc,\n\t0x3f70: 0xedd, 0x3f71: 0xede, 0x3f72: 0xedf, 0x3f73: 0xee0, 0x3f74: 0xee1, 0x3f75: 0xee2, 0x3f76: 0xee3, 0x3f77: 0xee4,\n\t0x3f78: 0xee5, 0x3f79: 0xee6, 0x3f7a: 0xee7, 0x3f7b: 0xee8, 0x3f7c: 0xee9, 0x3f7d: 0xeea, 0x3f7e: 0xeeb, 0x3f7f: 0xeec,\n\t// Block 0xfe, offset 0x3f80\n\t0x3f80: 0xeed, 0x3f81: 0xeee, 0x3f82: 0xeef, 0x3f83: 0xef0, 0x3f84: 0xef1, 0x3f85: 0xef2, 0x3f86: 0xef3, 0x3f87: 0xef4,\n\t0x3f88: 0xef5, 0x3f89: 0xef6, 0x3f8a: 0xef7, 0x3f8b: 0xef8, 0x3f8c: 0xef9, 0x3f8d: 0xefa, 0x3f8e: 0xefb, 0x3f8f: 0xefc,\n\t0x3f90: 0xefd, 0x3f91: 0xefe, 0x3f92: 0xeff, 0x3f93: 0xf00, 0x3f94: 0xf01, 0x3f95: 0xf02, 0x3f96: 0xf03, 0x3f97: 0xf04,\n\t0x3f98: 0xf05, 0x3f99: 0xf06, 0x3f9a: 0xf07, 0x3f9b: 0xf08, 0x3f9c: 0xf09, 0x3f9d: 0xf0a, 0x3f9e: 0xf0b, 0x3f9f: 0xf0c,\n\t0x3fa0: 0xf0d, 0x3fa1: 0xf0e, 0x3fa2: 0xf0f, 0x3fa3: 0xf10, 0x3fa4: 0xf11, 0x3fa5: 0xf12, 0x3fa6: 0xf13, 0x3fa7: 0xf14,\n\t0x3fa8: 0xf15, 0x3fa9: 0xf16, 0x3faa: 0xf17, 0x3fab: 0xf18, 0x3fac: 0xf19, 0x3fad: 0xf1a, 0x3fae: 0xf1b, 0x3faf: 0xf1c,\n\t0x3fb0: 0xf1d, 0x3fb1: 0xf1e, 0x3fb2: 0xf1f, 0x3fb3: 0xf20, 0x3fb4: 0xf21, 0x3fb5: 0xf22, 0x3fb6: 0xf23, 0x3fb7: 0xf24,\n\t0x3fb8: 0xf25, 0x3fb9: 0xf26, 0x3fba: 0xf27, 0x3fbb: 0xf28, 0x3fbc: 0xf29, 0x3fbd: 0xf2a, 0x3fbe: 0xf2b, 0x3fbf: 0xf2c,\n\t// Block 0xff, offset 0x3fc0\n\t0x3fc0: 0xf2d, 0x3fc1: 0xf2e, 0x3fc2: 0xf2f, 0x3fc3: 0xf30, 0x3fc4: 0xf31, 0x3fc5: 0xf32, 0x3fc6: 0xf33, 0x3fc7: 0xf34,\n\t0x3fc8: 0xf35, 0x3fc9: 0xf36, 0x3fca: 0xf37, 0x3fcb: 0xf38, 0x3fcc: 0xf39, 0x3fcd: 0xf3a, 0x3fce: 0xf3b, 0x3fcf: 0xf3c,\n\t0x3fd0: 0xf3d, 0x3fd1: 0xf3e, 0x3fd2: 0xf3f, 0x3fd3: 0xf40, 0x3fd4: 0xf41, 0x3fd5: 0xf42, 0x3fd6: 0xf43, 0x3fd7: 0xf44,\n\t0x3fd8: 0xf45, 0x3fd9: 0xf46, 0x3fda: 0xf47, 0x3fdb: 0xf48, 0x3fdc: 0xf49, 0x3fdd: 0xf4a, 0x3fde: 0xf4b, 0x3fdf: 0xf4c,\n\t0x3fe0: 0xf4d,\n\t// Block 0x100, offset 0x4000\n\t0x4020: 0xf4e, 0x4021: 0xf4f, 0x4022: 0xf50, 0x4023: 0xf51, 0x4024: 0xf52, 0x4025: 0xf53, 0x4026: 0xf54, 0x4027: 0xf55,\n\t0x4028: 0xf56,\n\t// Block 0x101, offset 0x4040\n\t0x4050: 0x09, 0x4051: 0x0a, 0x4052: 0x0b, 0x4053: 0x0c, 0x4056: 0x0d,\n\t0x405b: 0x0e, 0x405d: 0x0f, 0x405e: 0x10, 0x405f: 0xf1,\n\t0x4060: 0xf2, 0x4061: 0xf3, 0x4062: 0xf4, 0x4063: 0xf5, 0x4064: 0xf6, 0x4065: 0xf7, 0x4066: 0xf8, 0x4067: 0xf9,\n\t0x4068: 0xfa, 0x4069: 0xfb, 0x406a: 0xfc, 0x406b: 0xfd, 0x406f: 0xfe,\n\t// Block 0x102, offset 0x4080\n\t0x4082: 0x01, 0x4083: 0x618, 0x4084: 0x619, 0x4085: 0x61a, 0x4086: 0x05, 0x4087: 0x61b,\n\t0x4088: 0x61c, 0x4089: 0x08, 0x408a: 0x09, 0x408b: 0x0a, 0x408c: 0x0b, 0x408d: 0x0c, 0x408e: 0x0d, 0x408f: 0x0e,\n\t0x4090: 0x0f, 0x4091: 0x10, 0x4092: 0x11, 0x4093: 0x12, 0x4094: 0x13, 0x4095: 0x14, 0x4096: 0x15, 0x4097: 0x16,\n\t0x4098: 0x17, 0x4099: 0x18, 0x409a: 0x19, 0x409b: 0x1a, 0x409c: 0x1b, 0x409d: 0x1c, 0x409e: 0x1d, 0x409f: 0x1e,\n\t0x40a0: 0x01, 0x40a1: 0xce, 0x40a2: 0xe8, 0x40a3: 0xe9, 0x40a4: 0xea, 0x40a5: 0xeb, 0x40a6: 0xec, 0x40a7: 0xed,\n\t0x40a8: 0xee, 0x40a9: 0xef, 0x40aa: 0x06, 0x40ad: 0x07, 0x40af: 0xf0,\n\t0x40b0: 0xff, 0x40b3: 0x15,\n}\n\n// mainCTEntries: 2529 entries, 10116 bytes\nvar mainCTEntries = [2529]struct{ L, H, N, I uint8 }{\n\t{0xCE, 0x1, 1, 255},\n\t{0xC2, 0x0, 1, 255},\n\t{0xB7, 0xB7, 0, 1},\n\t{0x87, 0x87, 0, 2},\n\t{0xCC, 0x0, 2, 255},\n\t{0x88, 0x88, 0, 2},\n\t{0x86, 0x86, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x88, 0x88, 0, 1},\n\t{0xCD, 0x1, 1, 255},\n\t{0xCC, 0x0, 1, 255},\n\t{0x81, 0x81, 0, 1},\n\t{0x81, 0x81, 0, 2},\n\t{0xCC, 0x0, 1, 255},\n\t{0x86, 0x86, 0, 1},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8B, 0x8B, 0, 3},\n\t{0x88, 0x88, 0, 2},\n\t{0x86, 0x86, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x8F, 0x8F, 0, 1},\n\t{0xD9, 0x0, 1, 255},\n\t{0x93, 0x95, 0, 1},\n\t{0xD9, 0x0, 1, 255},\n\t{0x94, 0x94, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xA7, 0x1, 1, 255},\n\t{0xA6, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0x97, 0x97, 0, 2},\n\t{0xE0, 0x0, 2, 255},\n\t{0xAD, 0x1, 1, 255},\n\t{0xAC, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0x96, 0x97, 0, 2},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAF, 0x0, 1, 255},\n\t{0x97, 0x97, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xAF, 0x1, 1, 255},\n\t{0xAE, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0x97, 0x97, 0, 2},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAE, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB1, 0x0, 1, 255},\n\t{0x96, 0x96, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB3, 0x0, 1, 255},\n\t{0x95, 0x95, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB3, 0x0, 2, 255},\n\t{0x95, 0x96, 0, 3},\n\t{0x82, 0x0, 1, 2},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB3, 0x0, 1, 255},\n\t{0x95, 0x95, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xB5, 0x1, 1, 255},\n\t{0xB4, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0x97, 0x97, 0, 2},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB4, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB7, 0x0, 3, 255},\n\t{0x9F, 0x9F, 0, 4},\n\t{0x8F, 0x0, 1, 3},\n\t{0x8A, 0x8A, 0, 2},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB7, 0x0, 1, 255},\n\t{0x8A, 0x8A, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB7, 0x0, 1, 255},\n\t{0x8A, 0x8A, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB8, 0x0, 1, 255},\n\t{0x81, 0xAE, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB8, 0x0, 1, 255},\n\t{0xB2, 0xB2, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBB, 0xC, 1, 255},\n\t{0xBA, 0x0, 12, 255},\n\t{0xAD, 0xAE, 0, 26},\n\t{0xAA, 0xAB, 0, 24},\n\t{0xA7, 0xA7, 0, 23},\n\t{0xA5, 0xA5, 0, 22},\n\t{0xA1, 0xA3, 0, 19},\n\t{0x99, 0x9F, 0, 12},\n\t{0x94, 0x97, 0, 8},\n\t{0x8D, 0x8D, 0, 7},\n\t{0x8A, 0x8A, 0, 6},\n\t{0x87, 0x88, 0, 4},\n\t{0x84, 0x84, 0, 3},\n\t{0x81, 0x82, 0, 1},\n\t{0x9C, 0x9F, 0, 28},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 255},\n\t{0xB2, 0xB2, 0, 1},\n\t{0xEA, 0x0, 1, 255},\n\t{0xAA, 0x0, 1, 255},\n\t{0x80, 0xAF, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x7, 1, 255},\n\t{0xBD, 0x0, 1, 255},\n\t{0xB1, 0x0, 1, 255},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x2, 1, 255},\n\t{0xBD, 0x0, 2, 255},\n\t{0xB4, 0xB4, 0, 2},\n\t{0xB2, 0xB2, 0, 1},\n\t{0x80, 0x80, 0, 3},\n\t{0x80, 0x81, 0, 4},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x2, 1, 255},\n\t{0xBD, 0x0, 2, 255},\n\t{0xB4, 0xB4, 0, 2},\n\t{0xB2, 0xB2, 0, 1},\n\t{0x80, 0x80, 0, 3},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xAE, 0xAE, 0, 1},\n\t{0xF0, 0x0, 1, 255},\n\t{0x91, 0x0, 1, 255},\n\t{0x84, 0x0, 1, 255},\n\t{0xA7, 0xA7, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0xAC, 0x0, 1, 255},\n\t{0xB5, 0xB5, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA7, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE2, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x8D, 0x8D, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA7, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA6, 0x0, 1, 255},\n\t{0xB7, 0xB7, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0xA7, 0xA7, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x87, 0x87, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x68, 0x68, 0, 3},\n\t{0x48, 0x48, 0, 2},\n\t{0x8C, 0x8C, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x8C, 0x8C, 0, 1},\n\t{0x68, 0x68, 0, 1},\n\t{0x68, 0x68, 0, 2},\n\t{0x48, 0x48, 0, 1},\n\t{0x64, 0x64, 0, 1},\n\t{0x64, 0x64, 0, 2},\n\t{0x44, 0x44, 0, 1},\n\t{0x66, 0x66, 0, 1},\n\t{0x66, 0x66, 0, 2},\n\t{0x46, 0x46, 0, 1},\n\t{0x67, 0x67, 0, 1},\n\t{0x67, 0x67, 0, 2},\n\t{0x47, 0x47, 0, 1},\n\t{0xCE, 0x1, 1, 255},\n\t{0xC2, 0x0, 1, 255},\n\t{0x6C, 0x6C, 0, 3},\n\t{0xB7, 0xB7, 0, 1},\n\t{0x87, 0x87, 0, 2},\n\t{0xCE, 0x1, 1, 255},\n\t{0xC2, 0x0, 1, 255},\n\t{0x6C, 0x6C, 0, 4},\n\t{0x4C, 0x4C, 0, 3},\n\t{0xB7, 0xB7, 0, 1},\n\t{0x87, 0x87, 0, 2},\n\t{0xCC, 0x0, 2, 255},\n\t{0x8B, 0x8B, 0, 2},\n\t{0x88, 0x88, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x61, 0x61, 0, 3},\n\t{0x8A, 0x8A, 0, 2},\n\t{0x88, 0x88, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x61, 0x61, 0, 4},\n\t{0x41, 0x41, 0, 3},\n\t{0x8A, 0x8A, 0, 2},\n\t{0x88, 0x88, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0xA8, 0xA8, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 1, 255},\n\t{0x90, 0x91, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 6, 255},\n\t{0x98, 0x42, 1, 255},\n\t{0x96, 0x31, 1, 255},\n\t{0x94, 0x1B, 1, 255},\n\t{0x84, 0x11, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x80, 0x80, 0, 73},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0xD, 1, 255},\n\t{0xBD, 0x0, 13, 255},\n\t{0xBC, 0xBC, 0, 20},\n\t{0xBA, 0xBA, 0, 19},\n\t{0xB4, 0xB4, 0, 18},\n\t{0xA6, 0xA6, 0, 17},\n\t{0xA2, 0xA3, 0, 15},\n\t{0xA0, 0xA0, 0, 14},\n\t{0x9D, 0x9D, 0, 13},\n\t{0x96, 0x96, 0, 12},\n\t{0x91, 0x91, 0, 11},\n\t{0x8C, 0x8C, 0, 10},\n\t{0x8A, 0x8A, 0, 9},\n\t{0x84, 0x84, 0, 8},\n\t{0x82, 0x82, 0, 7},\n\t{0xB1, 0xB2, 0, 21},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 8, 255},\n\t{0xBC, 0xBC, 0, 30},\n\t{0xB4, 0xB4, 0, 29},\n\t{0xA2, 0xA2, 0, 28},\n\t{0x93, 0x93, 0, 27},\n\t{0x8C, 0x8C, 0, 26},\n\t{0x8A, 0x8A, 0, 25},\n\t{0x84, 0x84, 0, 24},\n\t{0x82, 0x82, 0, 23},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x12, 1, 255},\n\t{0xBD, 0x0, 11, 255},\n\t{0xBC, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 41},\n\t{0xB4, 0xB4, 0, 40},\n\t{0xA6, 0xA6, 0, 39},\n\t{0xA2, 0xA3, 0, 37},\n\t{0xA0, 0xA0, 0, 36},\n\t{0x91, 0x91, 0, 35},\n\t{0x8C, 0x8C, 0, 34},\n\t{0x8A, 0x8A, 0, 33},\n\t{0x84, 0x84, 0, 32},\n\t{0x82, 0x82, 0, 31},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 5, 255},\n\t{0xA2, 0xA2, 0, 5},\n\t{0x93, 0x93, 0, 4},\n\t{0x91, 0x91, 0, 3},\n\t{0x84, 0x84, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xB1, 0xB2, 0, 42},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0xD, 1, 255},\n\t{0xBD, 0x0, 13, 255},\n\t{0xBC, 0xBC, 0, 57},\n\t{0xBA, 0xBA, 0, 56},\n\t{0xB4, 0xB4, 0, 55},\n\t{0xA6, 0xA6, 0, 54},\n\t{0xA2, 0xA3, 0, 52},\n\t{0xA0, 0xA0, 0, 51},\n\t{0x96, 0x96, 0, 50},\n\t{0x93, 0x93, 0, 49},\n\t{0x91, 0x91, 0, 48},\n\t{0x8C, 0x8C, 0, 47},\n\t{0x8A, 0x8A, 0, 46},\n\t{0x84, 0x84, 0, 45},\n\t{0x82, 0x82, 0, 44},\n\t{0xB1, 0xB2, 0, 58},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x10, 1, 255},\n\t{0xBD, 0x0, 13, 255},\n\t{0xBC, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 71},\n\t{0xB4, 0xB4, 0, 70},\n\t{0xB2, 0xB2, 0, 69},\n\t{0xA6, 0xA6, 0, 68},\n\t{0xA2, 0xA2, 0, 67},\n\t{0xA0, 0xA0, 0, 66},\n\t{0x9D, 0x9D, 0, 65},\n\t{0x93, 0x93, 0, 64},\n\t{0x8C, 0x8C, 0, 63},\n\t{0x8A, 0x8A, 0, 62},\n\t{0x84, 0x84, 0, 61},\n\t{0x82, 0x82, 0, 60},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 1, 255},\n\t{0x91, 0x91, 0, 6},\n\t{0xB1, 0xB1, 0, 72},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 11, 255},\n\t{0xA6, 0x2E, 1, 255},\n\t{0xA4, 0xA4, 0, 72},\n\t{0xA3, 0x29, 1, 255},\n\t{0xA2, 0x1C, 1, 255},\n\t{0x9E, 0x9F, 0, 70},\n\t{0x99, 0x99, 0, 69},\n\t{0x91, 0xF, 1, 255},\n\t{0x8F, 0x8F, 0, 68},\n\t{0x85, 0x85, 0, 67},\n\t{0x82, 0x0, 1, 255},\n\t{0x80, 0x80, 0, 66},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0xB, 1, 255},\n\t{0xBD, 0x0, 11, 255},\n\t{0xBE, 0xBE, 0, 11},\n\t{0xBC, 0xBC, 0, 10},\n\t{0xBA, 0xBA, 0, 9},\n\t{0xA2, 0xA2, 0, 8},\n\t{0xA0, 0xA0, 0, 7},\n\t{0x9D, 0x9D, 0, 6},\n\t{0x98, 0x98, 0, 5},\n\t{0x91, 0x91, 0, 4},\n\t{0x8C, 0x8C, 0, 3},\n\t{0x8A, 0x8A, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xB1, 0xB3, 0, 12},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 11, 255},\n\t{0xBE, 0xBE, 0, 26},\n\t{0xBC, 0xBC, 0, 25},\n\t{0xBA, 0xBA, 0, 24},\n\t{0xB4, 0xB4, 0, 23},\n\t{0xA6, 0xA6, 0, 22},\n\t{0xA2, 0xA3, 0, 20},\n\t{0xA0, 0xA0, 0, 19},\n\t{0x98, 0x98, 0, 18},\n\t{0x8C, 0x8C, 0, 17},\n\t{0x8A, 0x8A, 0, 16},\n\t{0x82, 0x82, 0, 15},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 11, 255},\n\t{0xB3, 0xB3, 0, 37},\n\t{0xAB, 0xAB, 0, 36},\n\t{0xA9, 0xA9, 0, 35},\n\t{0xA3, 0xA3, 0, 34},\n\t{0xA1, 0xA1, 0, 33},\n\t{0x9F, 0x9F, 0, 32},\n\t{0x99, 0x99, 0, 31},\n\t{0x97, 0x97, 0, 30},\n\t{0x94, 0x94, 0, 29},\n\t{0x92, 0x92, 0, 28},\n\t{0x90, 0x90, 0, 27},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 3, 255},\n\t{0xA1, 0xA1, 0, 40},\n\t{0x9F, 0x9F, 0, 39},\n\t{0x95, 0x95, 0, 38},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0xD, 10, 255},\n\t{0xBD, 0x0, 13, 255},\n\t{0xBE, 0xBE, 0, 54},\n\t{0xBC, 0xBC, 0, 53},\n\t{0xBA, 0xBA, 0, 52},\n\t{0xB4, 0xB4, 0, 51},\n\t{0xB2, 0xB2, 0, 50},\n\t{0xA2, 0xA3, 0, 48},\n\t{0x98, 0x98, 0, 47},\n\t{0x96, 0x96, 0, 46},\n\t{0x91, 0x91, 0, 45},\n\t{0x8C, 0x8C, 0, 44},\n\t{0x8A, 0x8A, 0, 43},\n\t{0x84, 0x84, 0, 42},\n\t{0x82, 0x82, 0, 41},\n\t{0xB2, 0xB3, 0, 64},\n\t{0xAD, 0xAD, 0, 63},\n\t{0xA9, 0xA9, 0, 62},\n\t{0xA3, 0xA3, 0, 61},\n\t{0xA1, 0xA1, 0, 60},\n\t{0x9F, 0x9F, 0, 59},\n\t{0x99, 0x99, 0, 58},\n\t{0x94, 0x94, 0, 57},\n\t{0x92, 0x92, 0, 56},\n\t{0x90, 0x90, 0, 55},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 11, 255},\n\t{0xAB, 0xAB, 0, 12},\n\t{0xA8, 0xA9, 0, 10},\n\t{0xA6, 0xA6, 0, 9},\n\t{0xA3, 0xA3, 0, 8},\n\t{0xA1, 0xA1, 0, 7},\n\t{0x9F, 0x9F, 0, 6},\n\t{0x99, 0x99, 0, 5},\n\t{0x97, 0x97, 0, 4},\n\t{0x94, 0x94, 0, 3},\n\t{0x92, 0x92, 0, 2},\n\t{0x90, 0x90, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 9, 255},\n\t{0xB7, 0xB7, 0, 10},\n\t{0xA6, 0xA6, 0, 9},\n\t{0xA4, 0xA4, 0, 8},\n\t{0xA1, 0xA1, 0, 7},\n\t{0x9F, 0x9F, 0, 6},\n\t{0x97, 0x97, 0, 5},\n\t{0x94, 0x95, 0, 3},\n\t{0x92, 0x92, 0, 2},\n\t{0x90, 0x90, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 9, 255},\n\t{0x9A, 0x9B, 0, 45},\n\t{0x93, 0x1D, 1, 255},\n\t{0x91, 0x11, 1, 255},\n\t{0x90, 0x90, 0, 44},\n\t{0x89, 0x89, 0, 43},\n\t{0x86, 0x87, 0, 41},\n\t{0x84, 0x8, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x81, 0x81, 0, 40},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x4, 1, 255},\n\t{0xBD, 0x0, 4, 255},\n\t{0xBC, 0xBC, 0, 5},\n\t{0xBA, 0xBA, 0, 4},\n\t{0xB4, 0xB4, 0, 3},\n\t{0xA2, 0xA3, 0, 1},\n\t{0xB1, 0xB2, 0, 6},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 7, 255},\n\t{0xBC, 0xBC, 0, 15},\n\t{0xA2, 0xA3, 0, 13},\n\t{0xA0, 0xA0, 0, 12},\n\t{0x93, 0x93, 0, 11},\n\t{0x8C, 0x8C, 0, 10},\n\t{0x8A, 0x8A, 0, 9},\n\t{0x82, 0x82, 0, 8},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 10, 255},\n\t{0xBC, 0xBC, 0, 25},\n\t{0xBA, 0xBA, 0, 24},\n\t{0xB4, 0xB4, 0, 23},\n\t{0xA2, 0xA2, 0, 22},\n\t{0xA0, 0xA0, 0, 21},\n\t{0x93, 0x93, 0, 20},\n\t{0x8C, 0x8C, 0, 19},\n\t{0x8A, 0x8A, 0, 18},\n\t{0x84, 0x84, 0, 17},\n\t{0x82, 0x82, 0, 16},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 13, 255},\n\t{0xBE, 0xBE, 0, 39},\n\t{0xBC, 0xBC, 0, 38},\n\t{0xBA, 0xBA, 0, 37},\n\t{0xB4, 0xB4, 0, 36},\n\t{0xA2, 0xA3, 0, 34},\n\t{0xA0, 0xA0, 0, 33},\n\t{0x98, 0x98, 0, 32},\n\t{0x96, 0x96, 0, 31},\n\t{0x93, 0x93, 0, 30},\n\t{0x8C, 0x8C, 0, 29},\n\t{0x8A, 0x8A, 0, 28},\n\t{0x84, 0x84, 0, 27},\n\t{0x82, 0x82, 0, 26},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 9, 255},\n\t{0xA8, 0xA9, 0, 10},\n\t{0xA6, 0xA6, 0, 9},\n\t{0xA3, 0xA4, 0, 7},\n\t{0xA1, 0xA1, 0, 6},\n\t{0x9F, 0x9F, 0, 5},\n\t{0x99, 0x99, 0, 4},\n\t{0x94, 0x94, 0, 3},\n\t{0x92, 0x92, 0, 2},\n\t{0x90, 0x90, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 8, 255},\n\t{0x9A, 0x9B, 0, 62},\n\t{0x96, 0x29, 1, 255},\n\t{0x95, 0x95, 0, 61},\n\t{0x91, 0x14, 1, 255},\n\t{0x90, 0x90, 0, 60},\n\t{0x86, 0x87, 0, 58},\n\t{0x82, 0x0, 1, 255},\n\t{0x81, 0x81, 0, 57},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x10, 1, 255},\n\t{0xBD, 0x0, 16, 255},\n\t{0xBE, 0xBE, 0, 17},\n\t{0xBC, 0xBC, 0, 16},\n\t{0xBA, 0xBA, 0, 15},\n\t{0xB4, 0xB4, 0, 14},\n\t{0xB2, 0xB2, 0, 13},\n\t{0xA6, 0xA6, 0, 12},\n\t{0xA2, 0xA3, 0, 10},\n\t{0xA0, 0xA0, 0, 9},\n\t{0x98, 0x98, 0, 8},\n\t{0x96, 0x96, 0, 7},\n\t{0x93, 0x93, 0, 6},\n\t{0x91, 0x91, 0, 5},\n\t{0x8C, 0x8C, 0, 4},\n\t{0x8A, 0x8A, 0, 3},\n\t{0x84, 0x84, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xB1, 0xB2, 0, 18},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x11, 1, 255},\n\t{0xBD, 0x0, 17, 255},\n\t{0xBE, 0xBE, 0, 37},\n\t{0xBC, 0xBC, 0, 36},\n\t{0xBA, 0xBA, 0, 35},\n\t{0xB4, 0xB4, 0, 34},\n\t{0xB2, 0xB2, 0, 33},\n\t{0xA6, 0xA6, 0, 32},\n\t{0xA2, 0xA3, 0, 30},\n\t{0xA0, 0xA0, 0, 29},\n\t{0x9D, 0x9D, 0, 28},\n\t{0x98, 0x98, 0, 27},\n\t{0x96, 0x96, 0, 26},\n\t{0x93, 0x93, 0, 25},\n\t{0x91, 0x91, 0, 24},\n\t{0x8C, 0x8C, 0, 23},\n\t{0x8A, 0x8A, 0, 22},\n\t{0x84, 0x84, 0, 21},\n\t{0x82, 0x82, 0, 20},\n\t{0xB2, 0xB2, 0, 38},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0xF, 1, 255},\n\t{0xBD, 0x0, 15, 255},\n\t{0xBE, 0xBE, 0, 54},\n\t{0xBC, 0xBC, 0, 53},\n\t{0xBA, 0xBA, 0, 52},\n\t{0xB4, 0xB4, 0, 51},\n\t{0xB2, 0xB2, 0, 50},\n\t{0xA2, 0xA3, 0, 48},\n\t{0xA0, 0xA0, 0, 47},\n\t{0x98, 0x98, 0, 46},\n\t{0x96, 0x96, 0, 45},\n\t{0x93, 0x93, 0, 44},\n\t{0x91, 0x91, 0, 43},\n\t{0x8C, 0x8C, 0, 42},\n\t{0x8A, 0x8A, 0, 41},\n\t{0x84, 0x84, 0, 40},\n\t{0x82, 0x82, 0, 39},\n\t{0xB1, 0xB2, 0, 55},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 10, 255},\n\t{0xA6, 0x20, 1, 255},\n\t{0xA4, 0xA4, 0, 52},\n\t{0xA1, 0xA1, 0, 51},\n\t{0x9E, 0x9F, 0, 49},\n\t{0x99, 0x99, 0, 48},\n\t{0x93, 0x11, 1, 255},\n\t{0x91, 0x0, 1, 255},\n\t{0x8F, 0x8F, 0, 47},\n\t{0x89, 0x89, 0, 46},\n\t{0x85, 0x85, 0, 45},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 15, 255},\n\t{0xBE, 0xBE, 0, 16},\n\t{0xBC, 0xBC, 0, 15},\n\t{0xBA, 0xBA, 0, 14},\n\t{0xB4, 0xB4, 0, 13},\n\t{0xB2, 0xB2, 0, 12},\n\t{0xA6, 0xA6, 0, 11},\n\t{0xA2, 0xA3, 0, 9},\n\t{0xA0, 0xA0, 0, 8},\n\t{0x98, 0x98, 0, 7},\n\t{0x96, 0x96, 0, 6},\n\t{0x93, 0x93, 0, 5},\n\t{0x8C, 0x8C, 0, 4},\n\t{0x8A, 0x8A, 0, 3},\n\t{0x84, 0x84, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 13, 255},\n\t{0xBE, 0xBE, 0, 29},\n\t{0xBC, 0xBC, 0, 28},\n\t{0xB4, 0xB4, 0, 27},\n\t{0xA6, 0xA6, 0, 26},\n\t{0xA0, 0xA0, 0, 25},\n\t{0x9D, 0x9D, 0, 24},\n\t{0x98, 0x98, 0, 23},\n\t{0x93, 0x93, 0, 22},\n\t{0x91, 0x91, 0, 21},\n\t{0x8C, 0x8C, 0, 20},\n\t{0x8A, 0x8A, 0, 19},\n\t{0x84, 0x84, 0, 18},\n\t{0x82, 0x82, 0, 17},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 14, 255},\n\t{0xBC, 0xBC, 0, 44},\n\t{0xBA, 0xBA, 0, 43},\n\t{0xB4, 0xB4, 0, 42},\n\t{0xB2, 0xB2, 0, 41},\n\t{0xA6, 0xA6, 0, 40},\n\t{0xA2, 0xA3, 0, 38},\n\t{0xA0, 0xA0, 0, 37},\n\t{0x96, 0x96, 0, 36},\n\t{0x93, 0x93, 0, 35},\n\t{0x91, 0x91, 0, 34},\n\t{0x8C, 0x8C, 0, 33},\n\t{0x8A, 0x8A, 0, 32},\n\t{0x84, 0x84, 0, 31},\n\t{0x82, 0x82, 0, 30},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 1, 255},\n\t{0xA4, 0xA5, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x9, 1, 255},\n\t{0xBD, 0x0, 3, 255},\n\t{0xB5, 0xB5, 0, 6},\n\t{0xB3, 0xB3, 0, 5},\n\t{0xB1, 0x0, 1, 4},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x2, 1, 255},\n\t{0xBD, 0x0, 2, 255},\n\t{0xB4, 0xB4, 0, 2},\n\t{0xB2, 0xB2, 0, 1},\n\t{0x80, 0x80, 0, 3},\n\t{0x80, 0x81, 0, 7},\n\t{0x7A, 0x7A, 0, 1},\n\t{0x7A, 0x7A, 0, 2},\n\t{0x5A, 0x5A, 0, 1},\n\t{0x62, 0x62, 0, 1},\n\t{0x62, 0x62, 0, 2},\n\t{0x42, 0x42, 0, 1},\n\t{0x70, 0x70, 0, 1},\n\t{0x70, 0x70, 0, 2},\n\t{0x50, 0x50, 0, 1},\n\t{0x79, 0x79, 0, 1},\n\t{0x79, 0x79, 0, 2},\n\t{0x59, 0x59, 0, 1},\n\t{0x73, 0x73, 0, 1},\n\t{0x73, 0x73, 0, 2},\n\t{0x53, 0x53, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x82, 0x82, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x83, 0x83, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x88, 0x88, 0, 2},\n\t{0x83, 0x83, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x8A, 0x8A, 0, 2},\n\t{0x88, 0x88, 0, 1},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8B, 0x8B, 0, 3},\n\t{0x88, 0x88, 0, 2},\n\t{0x83, 0x83, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x67, 0x67, 0, 2},\n\t{0x83, 0x83, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x67, 0x67, 0, 3},\n\t{0x47, 0x47, 0, 2},\n\t{0x83, 0x83, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x8C, 0x8C, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xC5, 0x2, 1, 255},\n\t{0x7A, 0x0, 1, 255},\n\t{0xCC, 0x0, 1, 255},\n\t{0x8C, 0x8C, 0, 1},\n\t{0xBE, 0xBE, 0, 2},\n\t{0xC5, 0x4, 1, 255},\n\t{0x7A, 0x2, 1, 255},\n\t{0x5A, 0x0, 1, 255},\n\t{0xCC, 0x0, 1, 255},\n\t{0x8C, 0x8C, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x8C, 0x8C, 0, 2},\n\t{0xBD, 0xBE, 0, 3},\n\t{0xCE, 0x1, 1, 255},\n\t{0xC2, 0x0, 1, 255},\n\t{0x6A, 0x6A, 0, 3},\n\t{0xB7, 0xB7, 0, 1},\n\t{0x87, 0x87, 0, 2},\n\t{0xCE, 0x1, 1, 255},\n\t{0xC2, 0x0, 1, 255},\n\t{0x6A, 0x6A, 0, 4},\n\t{0x4A, 0x4A, 0, 3},\n\t{0xB7, 0xB7, 0, 1},\n\t{0x87, 0x87, 0, 2},\n\t{0x6A, 0x6A, 0, 1},\n\t{0x6A, 0x6A, 0, 2},\n\t{0x4A, 0x4A, 0, 1},\n\t{0x73, 0x73, 0, 2},\n\t{0x63, 0x0, 1, 255},\n\t{0x73, 0x73, 0, 1},\n\t{0x73, 0x73, 0, 4},\n\t{0x63, 0x1, 1, 255},\n\t{0x53, 0x53, 0, 3},\n\t{0x43, 0x0, 1, 255},\n\t{0x53, 0x53, 0, 1},\n\t{0x73, 0x73, 0, 2},\n\t{0x7A, 0x2, 1, 4},\n\t{0x64, 0x0, 1, 255},\n\t{0x7A, 0x0, 1, 2},\n\t{0x73, 0x73, 0, 1},\n\t{0x73, 0x73, 0, 3},\n\t{0x7A, 0x5, 1, 8},\n\t{0x64, 0x3, 1, 255},\n\t{0x5A, 0x2, 1, 7},\n\t{0x44, 0x0, 1, 255},\n\t{0x5A, 0x0, 1, 3},\n\t{0x53, 0x53, 0, 1},\n\t{0x53, 0x53, 0, 4},\n\t{0x7A, 0x0, 1, 5},\n\t{0x73, 0x73, 0, 2},\n\t{0x73, 0x73, 0, 6},\n\t{0x79, 0x79, 0, 2},\n\t{0x67, 0x0, 1, 255},\n\t{0x79, 0x79, 0, 1},\n\t{0x79, 0x79, 0, 4},\n\t{0x67, 0x1, 1, 255},\n\t{0x59, 0x59, 0, 3},\n\t{0x47, 0x0, 1, 255},\n\t{0x59, 0x59, 0, 1},\n\t{0x79, 0x79, 0, 2},\n\t{0xCE, 0x2, 1, 255},\n\t{0xC2, 0x1, 1, 255},\n\t{0x79, 0x79, 0, 4},\n\t{0x6C, 0x0, 1, 255},\n\t{0x79, 0x79, 0, 1},\n\t{0xB7, 0xB7, 0, 2},\n\t{0x87, 0x87, 0, 3},\n\t{0xCE, 0x3, 1, 255},\n\t{0xC2, 0x2, 1, 255},\n\t{0x79, 0x79, 0, 6},\n\t{0x6C, 0x1, 1, 255},\n\t{0x59, 0x59, 0, 5},\n\t{0x4C, 0x0, 1, 255},\n\t{0x59, 0x59, 0, 1},\n\t{0x79, 0x79, 0, 2},\n\t{0xB7, 0xB7, 0, 3},\n\t{0x87, 0x87, 0, 4},\n\t{0x79, 0x79, 0, 2},\n\t{0x6E, 0x0, 1, 255},\n\t{0x79, 0x79, 0, 1},\n\t{0x79, 0x79, 0, 4},\n\t{0x6E, 0x1, 1, 255},\n\t{0x59, 0x59, 0, 3},\n\t{0x4E, 0x0, 1, 255},\n\t{0x59, 0x59, 0, 1},\n\t{0x79, 0x79, 0, 2},\n\t{0x7A, 0x7A, 0, 2},\n\t{0x73, 0x0, 1, 255},\n\t{0x7A, 0x7A, 0, 1},\n\t{0x7A, 0x7A, 0, 4},\n\t{0x73, 0x1, 1, 255},\n\t{0x5A, 0x5A, 0, 3},\n\t{0x53, 0x0, 1, 255},\n\t{0x5A, 0x5A, 0, 1},\n\t{0x7A, 0x7A, 0, 2},\n\t{0x79, 0x79, 0, 2},\n\t{0x74, 0x0, 1, 255},\n\t{0x79, 0x79, 0, 1},\n\t{0x79, 0x79, 0, 4},\n\t{0x74, 0x1, 1, 255},\n\t{0x59, 0x59, 0, 3},\n\t{0x54, 0x0, 1, 255},\n\t{0x59, 0x59, 0, 1},\n\t{0x79, 0x79, 0, 2},\n\t{0x7A, 0x0, 1, 255},\n\t{0x73, 0x73, 0, 2},\n\t{0x73, 0x73, 0, 1},\n\t{0x7A, 0x1, 1, 255},\n\t{0x73, 0x73, 0, 4},\n\t{0x5A, 0x0, 1, 255},\n\t{0x53, 0x53, 0, 3},\n\t{0x53, 0x53, 0, 1},\n\t{0x73, 0x73, 0, 2},\n\t{0xD6, 0x0, 1, 255},\n\t{0x82, 0x82, 0, 1},\n\t{0x77, 0x77, 0, 3},\n\t{0x68, 0x68, 0, 2},\n\t{0x62, 0x62, 0, 1},\n\t{0x77, 0x77, 0, 6},\n\t{0x68, 0x68, 0, 5},\n\t{0x62, 0x62, 0, 4},\n\t{0x57, 0x57, 0, 3},\n\t{0x48, 0x48, 0, 2},\n\t{0x42, 0x42, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0xA3, 0xA3, 0, 1},\n\t{0x77, 0x77, 0, 2},\n\t{0x70, 0x70, 0, 1},\n\t{0x77, 0x77, 0, 4},\n\t{0x70, 0x70, 0, 3},\n\t{0x57, 0x57, 0, 2},\n\t{0x50, 0x50, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x79, 0x79, 0, 3},\n\t{0x77, 0x77, 0, 2},\n\t{0x87, 0x87, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x79, 0x79, 0, 5},\n\t{0x77, 0x77, 0, 4},\n\t{0x59, 0x59, 0, 3},\n\t{0x57, 0x57, 0, 2},\n\t{0x87, 0x87, 0, 1},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8A, 0x8A, 0, 3},\n\t{0x88, 0x88, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x81, 0x81, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x88, 0x88, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x1, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x9D, 0, 1},\n\t{0xBC, 0xBC, 0, 2},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 1, 255},\n\t{0xBC, 0xBD, 0, 1},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x7, 1, 255},\n\t{0x82, 0x0, 2, 255},\n\t{0x9D, 0x9D, 0, 3},\n\t{0x99, 0x0, 1, 255},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x1, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x9D, 0, 1},\n\t{0xBC, 0xBC, 0, 2},\n\t{0xBC, 0xBC, 0, 4},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x4, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x0, 1, 255},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 1, 255},\n\t{0xBC, 0xBD, 0, 1},\n\t{0xBC, 0xBD, 0, 3},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0xE, 1, 255},\n\t{0x82, 0x0, 3, 255},\n\t{0x9E, 0x9E, 0, 6},\n\t{0x9D, 0x8, 1, 5},\n\t{0x99, 0x0, 1, 255},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x4, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x0, 1, 2},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xBC, 0xBC, 0, 3},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 4},\n\t{0xBC, 0xBC, 0, 7},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x8, 2, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x0, 1, 255},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 2, 255},\n\t{0xBD, 0x0, 1, 3},\n\t{0xBC, 0xBD, 0, 2},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xBD, 0x0, 1, 6},\n\t{0xBC, 0xBE, 0, 5},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 4},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 2, 255},\n\t{0xBD, 0x0, 1, 3},\n\t{0xBC, 0xBE, 0, 2},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x1, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x9E, 0, 1},\n\t{0xBC, 0xBC, 0, 3},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 1, 255},\n\t{0xBC, 0xBE, 0, 1},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x17, 1, 255},\n\t{0x82, 0x0, 4, 255},\n\t{0x9E, 0x9E, 0, 9},\n\t{0x9D, 0x10, 1, 8},\n\t{0x9A, 0x8, 1, 255},\n\t{0x99, 0x0, 1, 255},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x4, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x0, 1, 3},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xBC, 0xBC, 0, 4},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x4, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x0, 1, 5},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 2},\n\t{0xBC, 0xBC, 0, 6},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 7},\n\t{0xBC, 0xBC, 0, 10},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x10, 2, 255},\n\t{0x82, 0x0, 2, 255},\n\t{0x9A, 0x7, 1, 255},\n\t{0x99, 0x0, 1, 255},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 2, 255},\n\t{0xBD, 0x0, 1, 4},\n\t{0xBC, 0xBD, 0, 3},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 2, 255},\n\t{0xBD, 0x0, 1, 6},\n\t{0xBC, 0xBD, 0, 5},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 2},\n\t{0xBD, 0x0, 1, 9},\n\t{0xBC, 0xBE, 0, 8},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 7},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x5, 1, 255},\n\t{0x82, 0x0, 2, 255},\n\t{0x9E, 0x9E, 0, 3},\n\t{0x9D, 0x0, 1, 2},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xBC, 0xBC, 0, 4},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x9D, 0, 1},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 1, 255},\n\t{0xBD, 0xBD, 0, 1},\n\t{0x27, 0x27, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x9F, 0x0, 1, 255},\n\t{0x8C, 0x8C, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x9F, 0x0, 1, 255},\n\t{0x86, 0x87, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x9F, 0x0, 1, 255},\n\t{0x86, 0x86, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x9F, 0x0, 1, 255},\n\t{0x87, 0x87, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA5, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA4, 0x0, 1, 255},\n\t{0xB7, 0xB7, 0, 1},\n\t{0x76, 0x76, 0, 8},\n\t{0x70, 0x70, 0, 7},\n\t{0x66, 0x66, 0, 6},\n\t{0x62, 0x62, 0, 5},\n\t{0x56, 0x56, 0, 4},\n\t{0x50, 0x50, 0, 3},\n\t{0x46, 0x46, 0, 2},\n\t{0x42, 0x42, 0, 1},\n\t{0x79, 0x7A, 0, 17},\n\t{0x73, 0x74, 0, 15},\n\t{0x6B, 0x6B, 0, 14},\n\t{0x67, 0x2, 2, 13},\n\t{0x64, 0x64, 0, 12},\n\t{0x59, 0x5A, 0, 10},\n\t{0x53, 0x54, 0, 8},\n\t{0x4B, 0x4B, 0, 7},\n\t{0x47, 0x0, 2, 6},\n\t{0x44, 0x44, 0, 5},\n\t{0x62, 0x62, 0, 2},\n\t{0x42, 0x42, 0, 1},\n\t{0x62, 0x62, 0, 4},\n\t{0x42, 0x42, 0, 3},\n\t{0x79, 0x7A, 0, 16},\n\t{0x73, 0x74, 0, 14},\n\t{0x6B, 0x6B, 0, 13},\n\t{0x67, 0x1, 2, 12},\n\t{0x64, 0x64, 0, 11},\n\t{0x59, 0x5A, 0, 9},\n\t{0x53, 0x54, 0, 7},\n\t{0x4B, 0x4B, 0, 6},\n\t{0x47, 0x0, 1, 5},\n\t{0x44, 0x44, 0, 4},\n\t{0x42, 0x42, 0, 1},\n\t{0x62, 0x62, 0, 3},\n\t{0x42, 0x42, 0, 2},\n\t{0xCC, 0x0, 2, 255},\n\t{0x83, 0x83, 0, 3},\n\t{0x80, 0x81, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0xA8, 0xA8, 0, 2},\n\t{0x87, 0x87, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0xA8, 0xA8, 0, 2},\n\t{0x84, 0x84, 0, 1},\n\t{0xCE, 0x2, 1, 255},\n\t{0xCC, 0x1, 1, 255},\n\t{0xC2, 0x0, 1, 255},\n\t{0xB7, 0xB7, 0, 1},\n\t{0xA7, 0xA7, 0, 2},\n\t{0x87, 0x87, 0, 3},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB5, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE2, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x8D, 0x8D, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB5, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE2, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0x20, 0x20, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB5, 0x0, 1, 255},\n\t{0x8D, 0x8D, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA5, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA4, 0x0, 1, 255},\n\t{0x9E, 0x9E, 0, 1},\n\t{0xCC, 0x1, 1, 255},\n\t{0xC4, 0x0, 1, 255},\n\t{0xA6, 0xA7, 0, 1},\n\t{0x87, 0x87, 0, 3},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 2, 255},\n\t{0xBA, 0xBA, 0, 3},\n\t{0xB9, 0x0, 1, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x99, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x84, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB8, 0xB8, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 2, 255},\n\t{0xBA, 0x0, 1, 3},\n\t{0xB9, 0xBA, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xAF, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x95, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 3, 255},\n\t{0xBA, 0xBA, 0, 4},\n\t{0xB9, 0x9, 1, 3},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBB, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xAC, 0xAC, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x98, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x84, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB8, 0xB8, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 2, 255},\n\t{0xBA, 0xBA, 0, 3},\n\t{0xB9, 0x0, 1, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x99, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xAE, 0xAE, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 2, 255},\n\t{0xAF, 0x0, 1, 255},\n\t{0xAE, 0xAE, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB6, 0xB6, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 31, 255},\n\t{0xB1, 0x5A, 1, 255},\n\t{0x9F, 0x57, 1, 255},\n\t{0x9E, 0x54, 1, 255},\n\t{0x9C, 0x51, 1, 255},\n\t{0x9B, 0x4E, 1, 255},\n\t{0x9A, 0x4B, 1, 255},\n\t{0x99, 0x48, 1, 255},\n\t{0x98, 0x45, 1, 255},\n\t{0x97, 0x42, 1, 255},\n\t{0x96, 0x3F, 1, 255},\n\t{0x95, 0x3C, 1, 255},\n\t{0x94, 0x39, 1, 255},\n\t{0x93, 0x36, 1, 255},\n\t{0x92, 0x33, 1, 255},\n\t{0x91, 0x30, 1, 255},\n\t{0x90, 0x2D, 1, 255},\n\t{0x8F, 0x2A, 1, 255},\n\t{0x8E, 0x27, 1, 255},\n\t{0x8D, 0x24, 1, 255},\n\t{0x8C, 0x21, 1, 255},\n\t{0x8B, 0x1E, 1, 255},\n\t{0x8A, 0x1B, 1, 255},\n\t{0x89, 0x18, 1, 255},\n\t{0x87, 0x15, 1, 255},\n\t{0x86, 0x12, 1, 255},\n\t{0x85, 0xF, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 61},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 63},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 65},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 67},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 69},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 71},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 73},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 75},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 77},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 79},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 81},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 83},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 85},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 87},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 89},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 91},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 93},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 95},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 97},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 99},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 101},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 103},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 105},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 107},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 109},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 111},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 113},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 115},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 117},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 119},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xAC, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 30, 255},\n\t{0x9F, 0x57, 1, 255},\n\t{0x9E, 0x54, 1, 255},\n\t{0x9C, 0x51, 1, 255},\n\t{0x9B, 0x4E, 1, 255},\n\t{0x9A, 0x4B, 1, 255},\n\t{0x99, 0x48, 1, 255},\n\t{0x98, 0x45, 1, 255},\n\t{0x97, 0x42, 1, 255},\n\t{0x96, 0x3F, 1, 255},\n\t{0x95, 0x3C, 1, 255},\n\t{0x94, 0x39, 1, 255},\n\t{0x93, 0x36, 1, 255},\n\t{0x92, 0x33, 1, 255},\n\t{0x91, 0x30, 1, 255},\n\t{0x90, 0x2D, 1, 255},\n\t{0x8F, 0x2A, 1, 255},\n\t{0x8E, 0x27, 1, 255},\n\t{0x8D, 0x24, 1, 255},\n\t{0x8C, 0x21, 1, 255},\n\t{0x8B, 0x1E, 1, 255},\n\t{0x8A, 0x1B, 1, 255},\n\t{0x89, 0x18, 1, 255},\n\t{0x87, 0x15, 1, 255},\n\t{0x86, 0x12, 1, 255},\n\t{0x85, 0xF, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 3},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 5},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 7},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 9},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 11},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 13},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 15},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 17},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 19},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 21},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 23},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 25},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 27},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 29},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 31},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 33},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 35},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 37},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 39},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 41},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 43},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 45},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 47},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 49},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 51},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 53},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 55},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 57},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 59},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 36, 255},\n\t{0xAC, 0xF7, 1, 197},\n\t{0xAB, 0x69, 1, 196},\n\t{0xA1, 0x66, 1, 255},\n\t{0xA0, 0x63, 1, 255},\n\t{0x9F, 0x60, 1, 255},\n\t{0x9E, 0x5D, 1, 255},\n\t{0x9D, 0x5A, 1, 255},\n\t{0x9C, 0x57, 1, 255},\n\t{0x9B, 0x54, 1, 255},\n\t{0x9A, 0x51, 1, 255},\n\t{0x99, 0x4E, 1, 255},\n\t{0x98, 0x4B, 1, 255},\n\t{0x97, 0x48, 1, 255},\n\t{0x96, 0x45, 1, 255},\n\t{0x95, 0x42, 1, 255},\n\t{0x94, 0x3F, 1, 255},\n\t{0x93, 0x3C, 1, 255},\n\t{0x92, 0x39, 1, 255},\n\t{0x91, 0x36, 1, 255},\n\t{0x90, 0x33, 1, 255},\n\t{0x8F, 0x30, 1, 255},\n\t{0x8E, 0x2D, 1, 255},\n\t{0x8D, 0x2A, 1, 255},\n\t{0x8C, 0x27, 1, 255},\n\t{0x8B, 0x24, 1, 255},\n\t{0x8A, 0x21, 1, 255},\n\t{0x89, 0x1E, 1, 255},\n\t{0x88, 0x1B, 1, 255},\n\t{0x87, 0x18, 1, 255},\n\t{0x86, 0x15, 1, 255},\n\t{0x85, 0x12, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 131},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 133},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 135},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 137},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 139},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 4},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 140},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 142},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 144},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 146},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 147},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 149},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 151},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 153},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 155},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 157},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 159},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 161},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 163},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 165},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 167},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 169},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 171},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 173},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 175},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 177},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 179},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 181},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 183},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 185},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 187},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 188},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 190},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 192},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 193},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 35, 255},\n\t{0xBA, 0xBA, 0, 194},\n\t{0xA1, 0x66, 1, 255},\n\t{0xA0, 0x63, 1, 255},\n\t{0x9F, 0x60, 1, 255},\n\t{0x9E, 0x5D, 1, 255},\n\t{0x9D, 0x5A, 1, 255},\n\t{0x9C, 0x57, 1, 255},\n\t{0x9B, 0x54, 1, 255},\n\t{0x9A, 0x51, 1, 255},\n\t{0x99, 0x4E, 1, 255},\n\t{0x98, 0x4B, 1, 255},\n\t{0x97, 0x48, 1, 255},\n\t{0x96, 0x45, 1, 255},\n\t{0x95, 0x42, 1, 255},\n\t{0x94, 0x3F, 1, 255},\n\t{0x93, 0x3C, 1, 255},\n\t{0x92, 0x39, 1, 255},\n\t{0x91, 0x36, 1, 255},\n\t{0x90, 0x33, 1, 255},\n\t{0x8F, 0x30, 1, 255},\n\t{0x8E, 0x2D, 1, 255},\n\t{0x8D, 0x2A, 1, 255},\n\t{0x8C, 0x27, 1, 255},\n\t{0x8B, 0x24, 1, 255},\n\t{0x8A, 0x21, 1, 255},\n\t{0x89, 0x1E, 1, 255},\n\t{0x88, 0x1B, 1, 255},\n\t{0x87, 0x18, 1, 255},\n\t{0x86, 0x15, 1, 255},\n\t{0x85, 0x12, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 5},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 7},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 9},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 11},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 13},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 14},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 16},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 18},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 20},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 21},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 23},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 25},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 27},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 29},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 31},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 33},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 35},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 37},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 39},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 41},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 43},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 45},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 47},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 49},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 51},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 53},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 55},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 57},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 59},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 61},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 62},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 64},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 66},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 67},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 35, 255},\n\t{0xBA, 0xBA, 0, 195},\n\t{0xA1, 0x6A, 1, 255},\n\t{0xA0, 0x67, 1, 255},\n\t{0x9F, 0x64, 1, 255},\n\t{0x9E, 0x61, 1, 255},\n\t{0x9D, 0x5E, 1, 255},\n\t{0x9C, 0x5B, 1, 255},\n\t{0x9B, 0x58, 1, 255},\n\t{0x9A, 0x55, 1, 255},\n\t{0x99, 0x52, 1, 255},\n\t{0x98, 0x4F, 1, 255},\n\t{0x97, 0x4C, 1, 255},\n\t{0x96, 0x49, 1, 255},\n\t{0x95, 0x46, 1, 255},\n\t{0x94, 0x43, 1, 255},\n\t{0x93, 0x40, 1, 255},\n\t{0x92, 0x3D, 1, 255},\n\t{0x91, 0x3A, 1, 255},\n\t{0x90, 0x37, 1, 255},\n\t{0x8F, 0x34, 1, 255},\n\t{0x8E, 0x31, 1, 255},\n\t{0x8D, 0x2E, 1, 255},\n\t{0x8C, 0x2B, 1, 255},\n\t{0x8B, 0x28, 1, 255},\n\t{0x8A, 0x25, 1, 255},\n\t{0x89, 0x22, 1, 255},\n\t{0x88, 0x1F, 1, 255},\n\t{0x87, 0x1C, 1, 255},\n\t{0x86, 0x19, 1, 255},\n\t{0x85, 0x16, 1, 255},\n\t{0x84, 0x10, 1, 255},\n\t{0x83, 0xD, 1, 255},\n\t{0x82, 0xA, 1, 255},\n\t{0x81, 0x7, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 2, 255},\n\t{0xBA, 0x0, 1, 69},\n\t{0xB9, 0xBA, 0, 68},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBB, 0xBB, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 70},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 72},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 74},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 76},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 3},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 77},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 79},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 81},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 83},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 84},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 86},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 88},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 90},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 92},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 94},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 96},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 98},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 100},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 102},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 104},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 106},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 108},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 110},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 112},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 114},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 116},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 118},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 120},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 122},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 124},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 125},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 127},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 129},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 130},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 36, 255},\n\t{0xB6, 0xFE, 1, 134},\n\t{0xAF, 0x71, 1, 133},\n\t{0xA1, 0x6E, 1, 255},\n\t{0xA0, 0x6B, 1, 255},\n\t{0x9F, 0x68, 1, 255},\n\t{0x9E, 0x65, 1, 255},\n\t{0x9D, 0x62, 1, 255},\n\t{0x9C, 0x5F, 1, 255},\n\t{0x9B, 0x5C, 1, 255},\n\t{0x9A, 0x59, 1, 255},\n\t{0x99, 0x4E, 1, 255},\n\t{0x98, 0x4B, 1, 255},\n\t{0x97, 0x48, 1, 255},\n\t{0x96, 0x45, 1, 255},\n\t{0x95, 0x42, 1, 255},\n\t{0x94, 0x3F, 1, 255},\n\t{0x93, 0x3C, 1, 255},\n\t{0x92, 0x39, 1, 255},\n\t{0x91, 0x36, 1, 255},\n\t{0x90, 0x33, 1, 255},\n\t{0x8F, 0x30, 1, 255},\n\t{0x8E, 0x2D, 1, 255},\n\t{0x8D, 0x2A, 1, 255},\n\t{0x8C, 0x27, 1, 255},\n\t{0x8B, 0x24, 1, 255},\n\t{0x8A, 0x21, 1, 255},\n\t{0x89, 0x1E, 1, 255},\n\t{0x88, 0x1B, 1, 255},\n\t{0x87, 0x18, 1, 255},\n\t{0x86, 0x15, 1, 255},\n\t{0x85, 0x12, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 68},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 70},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 72},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 74},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 76},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 77},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 79},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 81},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 83},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 84},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 86},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 88},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 90},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 92},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 94},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 96},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 98},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 100},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 102},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 104},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 106},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 108},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 110},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 112},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 114},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 3, 255},\n\t{0xBA, 0x3, 1, 117},\n\t{0xB9, 0xBA, 0, 116},\n\t{0xB7, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 3},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB8, 0xB8, 0, 4},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 118},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 120},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 122},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 124},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 125},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 127},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 129},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 130},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 34, 255},\n\t{0xA1, 0x66, 1, 255},\n\t{0xA0, 0x63, 1, 255},\n\t{0x9F, 0x60, 1, 255},\n\t{0x9E, 0x5D, 1, 255},\n\t{0x9D, 0x5A, 1, 255},\n\t{0x9C, 0x57, 1, 255},\n\t{0x9B, 0x54, 1, 255},\n\t{0x9A, 0x51, 1, 255},\n\t{0x99, 0x4E, 1, 255},\n\t{0x98, 0x4B, 1, 255},\n\t{0x97, 0x48, 1, 255},\n\t{0x96, 0x45, 1, 255},\n\t{0x95, 0x42, 1, 255},\n\t{0x94, 0x3F, 1, 255},\n\t{0x93, 0x3C, 1, 255},\n\t{0x92, 0x39, 1, 255},\n\t{0x91, 0x36, 1, 255},\n\t{0x90, 0x33, 1, 255},\n\t{0x8F, 0x30, 1, 255},\n\t{0x8E, 0x2D, 1, 255},\n\t{0x8D, 0x2A, 1, 255},\n\t{0x8C, 0x27, 1, 255},\n\t{0x8B, 0x24, 1, 255},\n\t{0x8A, 0x21, 1, 255},\n\t{0x89, 0x1E, 1, 255},\n\t{0x88, 0x1B, 1, 255},\n\t{0x87, 0x18, 1, 255},\n\t{0x86, 0x15, 1, 255},\n\t{0x85, 0x12, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 5},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 7},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 9},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 11},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 13},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 14},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 16},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 18},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 20},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 21},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 23},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 25},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 27},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 29},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 31},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 33},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 35},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 37},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 39},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 41},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 43},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 45},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 47},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 49},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 51},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 53},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 55},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 57},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 59},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 61},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 62},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 64},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 66},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 67},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB7, 0xB8, 0, 131},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 34, 255},\n\t{0xA1, 0x66, 1, 255},\n\t{0xA0, 0x63, 1, 255},\n\t{0x9F, 0x60, 1, 255},\n\t{0x9E, 0x5D, 1, 255},\n\t{0x9D, 0x5A, 1, 255},\n\t{0x9C, 0x57, 1, 255},\n\t{0x9B, 0x54, 1, 255},\n\t{0x9A, 0x51, 1, 255},\n\t{0x99, 0x4E, 1, 255},\n\t{0x98, 0x4B, 1, 255},\n\t{0x97, 0x48, 1, 255},\n\t{0x96, 0x45, 1, 255},\n\t{0x95, 0x42, 1, 255},\n\t{0x94, 0x3F, 1, 255},\n\t{0x93, 0x3C, 1, 255},\n\t{0x92, 0x39, 1, 255},\n\t{0x91, 0x36, 1, 255},\n\t{0x90, 0x33, 1, 255},\n\t{0x8F, 0x30, 1, 255},\n\t{0x8E, 0x2D, 1, 255},\n\t{0x8D, 0x2A, 1, 255},\n\t{0x8C, 0x27, 1, 255},\n\t{0x8B, 0x24, 1, 255},\n\t{0x8A, 0x21, 1, 255},\n\t{0x89, 0x1E, 1, 255},\n\t{0x88, 0x1B, 1, 255},\n\t{0x87, 0x18, 1, 255},\n\t{0x86, 0x15, 1, 255},\n\t{0x85, 0x12, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 4},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 6},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 8},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 10},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 11},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 13},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 15},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 17},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 18},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 20},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 22},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 24},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 26},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 28},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 30},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 32},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 34},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 36},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 38},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 40},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 42},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 44},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 46},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 48},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 50},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 52},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 54},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 56},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 58},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 59},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 61},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 63},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 64},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 35, 255},\n\t{0xB6, 0x71, 1, 69},\n\t{0xA1, 0x6E, 1, 255},\n\t{0xA0, 0x6B, 1, 255},\n\t{0x9F, 0x68, 1, 255},\n\t{0x9E, 0x65, 1, 255},\n\t{0x9D, 0x62, 1, 255},\n\t{0x9C, 0x5F, 1, 255},\n\t{0x9B, 0x5C, 1, 255},\n\t{0x9A, 0x59, 1, 255},\n\t{0x99, 0x4E, 1, 255},\n\t{0x98, 0x4B, 1, 255},\n\t{0x97, 0x48, 1, 255},\n\t{0x96, 0x45, 1, 255},\n\t{0x95, 0x42, 1, 255},\n\t{0x94, 0x3F, 1, 255},\n\t{0x93, 0x3C, 1, 255},\n\t{0x92, 0x39, 1, 255},\n\t{0x91, 0x36, 1, 255},\n\t{0x90, 0x33, 1, 255},\n\t{0x8F, 0x30, 1, 255},\n\t{0x8E, 0x2D, 1, 255},\n\t{0x8D, 0x2A, 1, 255},\n\t{0x8C, 0x27, 1, 255},\n\t{0x8B, 0x24, 1, 255},\n\t{0x8A, 0x21, 1, 255},\n\t{0x89, 0x1E, 1, 255},\n\t{0x88, 0x1B, 1, 255},\n\t{0x87, 0x18, 1, 255},\n\t{0x86, 0x15, 1, 255},\n\t{0x85, 0x12, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 4},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 6},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 8},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 10},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 12},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 13},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 15},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 17},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 19},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 20},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 22},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 24},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 26},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 28},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 30},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 32},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 34},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 36},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 38},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 40},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 42},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 44},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 46},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 48},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 50},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 3, 255},\n\t{0xBA, 0x3, 1, 53},\n\t{0xB9, 0xBA, 0, 52},\n\t{0xB7, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB8, 0xB8, 0, 3},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 54},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 56},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 58},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 60},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 61},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 63},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 65},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 66},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB7, 0xB8, 0, 67},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB8, 0xB8, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 2, 255},\n\t{0xBE, 0xBE, 0, 3},\n\t{0xBD, 0x0, 1, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAD, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAC, 0x0, 1, 255},\n\t{0xB7, 0xB7, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x87, 0x87, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x86, 0x86, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0xA6, 0xA7, 0, 1},\n\t{0xCC, 0x0, 4, 255},\n\t{0x8A, 0x8A, 0, 5},\n\t{0x87, 0x88, 0, 3},\n\t{0x83, 0x83, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x83, 0x83, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xCC, 0x0, 4, 255},\n\t{0xA8, 0xA8, 0, 5},\n\t{0x8B, 0x8B, 0, 4},\n\t{0x88, 0x88, 0, 3},\n\t{0x82, 0x83, 0, 1},\n\t{0x72, 0x72, 0, 1},\n\t{0x72, 0x72, 0, 2},\n\t{0x52, 0x52, 0, 1},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8B, 0x8B, 0, 3},\n\t{0x88, 0x88, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAF, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 3},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAE, 0x0, 1, 255},\n\t{0xB7, 0x0, 1, 2},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAF, 0x0, 1, 255},\n\t{0x8D, 0x8D, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAF, 0x0, 1, 255},\n\t{0x8D, 0x8D, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xB9, 0x1, 1, 255},\n\t{0xB8, 0x0, 1, 255},\n\t{0xB2, 0xB2, 0, 1},\n\t{0x85, 0x85, 0, 2},\n\t{0xCC, 0x0, 2, 255},\n\t{0x84, 0x84, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xDA, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0xDA, 0x1, 1, 255},\n\t{0xD9, 0x0, 1, 255},\n\t{0x94, 0x94, 0, 1},\n\t{0xBE, 0xBE, 0, 2},\n\t{0xCC, 0x0, 2, 255},\n\t{0x9B, 0x9B, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x9B, 0x9B, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x61, 0x61, 0, 2},\n\t{0x88, 0x0, 1, 255},\n\t{0x61, 0x0, 1, 255},\n\t{0xCC, 0x0, 1, 255},\n\t{0x88, 0x88, 0, 1},\n\t{0xC3, 0x0, 1, 255},\n\t{0xA4, 0xA4, 0, 1},\n\t{0x65, 0x65, 0, 1},\n\t{0x69, 0x69, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x6F, 0x6F, 0, 2},\n\t{0x88, 0x0, 1, 255},\n\t{0x6F, 0x0, 1, 255},\n\t{0xCC, 0x0, 1, 255},\n\t{0x88, 0x88, 0, 1},\n\t{0xC3, 0x0, 1, 255},\n\t{0xB6, 0xB6, 0, 1},\n\t{0x63, 0x0, 1, 255},\n\t{0x68, 0x68, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x75, 0x75, 0, 2},\n\t{0x88, 0x0, 1, 255},\n\t{0x75, 0x0, 1, 255},\n\t{0xCC, 0x0, 1, 255},\n\t{0x88, 0x88, 0, 1},\n\t{0xC3, 0x0, 1, 255},\n\t{0xBC, 0xBC, 0, 1},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8C, 0x8C, 0, 4},\n\t{0x84, 0x84, 0, 3},\n\t{0x80, 0x81, 0, 1},\n\t{0xCC, 0x0, 4, 255},\n\t{0x8C, 0x8C, 0, 8},\n\t{0x84, 0x84, 0, 7},\n\t{0x82, 0x0, 1, 255},\n\t{0x80, 0x81, 0, 5},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8C, 0x8C, 0, 4},\n\t{0x84, 0x84, 0, 3},\n\t{0x80, 0x81, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x8C, 0x8C, 0, 2},\n\t{0x84, 0x84, 0, 1},\n\t{0xCC, 0x0, 4, 255},\n\t{0x8C, 0x8C, 0, 9},\n\t{0x88, 0x0, 1, 8},\n\t{0x84, 0x84, 0, 7},\n\t{0x80, 0x81, 0, 5},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8C, 0x8C, 0, 4},\n\t{0x84, 0x84, 0, 3},\n\t{0x80, 0x81, 0, 1},\n}\n\n// Total size of mainTable is 1253028 bytes\n"
  },
  {
    "path": "vendor/golang.org/x/text/doc.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//go:generate go run gen.go\n\n// text is a repository of text-related packages related to internationalization\n// (i18n) and localization (l10n), such as character encodings, text\n// transformations, and locale-specific text handling.\npackage text\n\n// TODO: more documentation on general concepts, such as Transformers, use\n// of normalization, etc.\n"
  },
  {
    "path": "vendor/golang.org/x/text/gen.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// gen runs go generate on Unicode- and CLDR-related package in the text\n// repositories, taking into account dependencies and versions.\npackage main\n\nimport (\n\t\"bytes\"\n\t\"flag\"\n\t\"fmt\"\n\t\"go/build\"\n\t\"go/format\"\n\t\"io/ioutil\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path\"\n\t\"path/filepath\"\n\t\"regexp\"\n\t\"runtime\"\n\t\"strings\"\n\t\"sync\"\n\t\"unicode\"\n\n\t\"golang.org/x/text/collate\"\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/language\"\n)\n\nvar (\n\tverbose     = flag.Bool(\"v\", false, \"verbose output\")\n\tforce       = flag.Bool(\"force\", false, \"ignore failing dependencies\")\n\tdoCore      = flag.Bool(\"core\", false, \"force an update to core\")\n\texcludeList = flag.String(\"exclude\", \"\",\n\t\t\"comma-separated list of packages to exclude\")\n\n\t// The user can specify a selection of packages to build on the command line.\n\targs []string\n)\n\nfunc exclude(pkg string) bool {\n\tif len(args) > 0 {\n\t\treturn !contains(args, pkg)\n\t}\n\treturn contains(strings.Split(*excludeList, \",\"), pkg)\n}\n\n// TODO:\n// - Better version handling.\n// - Generate tables for the core unicode package?\n// - Add generation for encodings. This requires some retooling here and there.\n// - Running repo-wide \"long\" tests.\n\nvar vprintf = fmt.Printf\n\nfunc main() {\n\tgen.Init()\n\targs = flag.Args()\n\tif !*verbose {\n\t\t// Set vprintf to a no-op.\n\t\tvprintf = func(string, ...interface{}) (int, error) { return 0, nil }\n\t}\n\n\t// TODO: create temporary cache directory to load files and create and set\n\t// a \"cache\" option if the user did not specify the UNICODE_DIR environment\n\t// variable. This will prevent duplicate downloads and also will enable long\n\t// tests, which really need to be run after each generated package.\n\n\tupdateCore := *doCore\n\tif gen.UnicodeVersion() != unicode.Version {\n\t\tfmt.Printf(\"Requested Unicode version %s; core unicode version is %s.\\n\",\n\t\t\tgen.UnicodeVersion(),\n\t\t\tunicode.Version)\n\t\tc := collate.New(language.Und, collate.Numeric)\n\t\tif c.CompareString(gen.UnicodeVersion(), unicode.Version) < 0 && !*force {\n\t\t\tos.Exit(2)\n\t\t}\n\t\tupdateCore = true\n\t\tgoroot := os.Getenv(\"GOROOT\")\n\t\tappendToFile(\n\t\t\tfilepath.Join(goroot, \"api\", \"except.txt\"),\n\t\t\tfmt.Sprintf(\"pkg unicode, const Version = %q\\n\", unicode.Version),\n\t\t)\n\t\tconst lines = `pkg unicode, const Version = %q\n// TODO: add a new line of the following form for each new script and property.\npkg unicode, var <new script or property> *RangeTable\n`\n\t\tappendToFile(\n\t\t\tfilepath.Join(goroot, \"api\", \"next.txt\"),\n\t\t\tfmt.Sprintf(lines, gen.UnicodeVersion()),\n\t\t)\n\t}\n\n\tvar unicode = &dependency{}\n\tif updateCore {\n\t\tfmt.Printf(\"Updating core to version %s...\\n\", gen.UnicodeVersion())\n\t\tunicode = generate(\"unicode\")\n\n\t\t// Test some users of the unicode packages, especially the ones that\n\t\t// keep a mirrored table. These may need to be corrected by hand.\n\t\tgenerate(\"regexp\", unicode)\n\t\tgenerate(\"strconv\", unicode) // mimics Unicode table\n\t\tgenerate(\"strings\", unicode)\n\t\tgenerate(\"testing\", unicode) // mimics Unicode table\n\t}\n\n\tvar (\n\t\tcldr       = generate(\"./unicode/cldr\", unicode)\n\t\tlanguage   = generate(\"./language\", cldr)\n\t\tinternal   = generate(\"./internal\", unicode, language)\n\t\tnorm       = generate(\"./unicode/norm\", unicode)\n\t\trangetable = generate(\"./unicode/rangetable\", unicode)\n\t\tcases      = generate(\"./cases\", unicode, norm, language, rangetable)\n\t\twidth      = generate(\"./width\", unicode)\n\t\tbidi       = generate(\"./unicode/bidi\", unicode, norm, rangetable)\n\t\tmib        = generate(\"./encoding/internal/identifier\", unicode)\n\t\tnumber     = generate(\"./internal/number\", unicode, cldr, language, internal)\n\t\t_          = generate(\"./encoding/htmlindex\", unicode, language, mib)\n\t\t_          = generate(\"./encoding/ianaindex\", unicode, language, mib)\n\t\t_          = generate(\"./secure/precis\", unicode, norm, rangetable, cases, width, bidi)\n\t\t_          = generate(\"./internal/cldrtree\", language)\n\t\t_          = generate(\"./currency\", unicode, cldr, language, internal, number)\n\t\t_          = generate(\"./feature/plural\", unicode, cldr, language, internal, number)\n\t\t_          = generate(\"./internal/export/idna\", unicode, bidi, norm)\n\t\t_          = generate(\"./language/display\", unicode, cldr, language, internal, number)\n\t\t_          = generate(\"./collate\", unicode, norm, cldr, language, rangetable)\n\t\t_          = generate(\"./search\", unicode, norm, cldr, language, rangetable)\n\t)\n\tall.Wait()\n\n\t// Copy exported packages to the destination golang.org repo.\n\tcopyExported(\"golang.org/x/net/idna\")\n\n\tif updateCore {\n\t\tcopyVendored()\n\t}\n\n\tif hasErrors {\n\t\tfmt.Println(\"FAIL\")\n\t\tos.Exit(1)\n\t}\n\tvprintf(\"SUCCESS\\n\")\n}\n\nfunc appendToFile(file, text string) {\n\tfmt.Println(\"Augmenting\", file)\n\tw, err := os.OpenFile(file, os.O_APPEND|os.O_WRONLY, 0600)\n\tif err != nil {\n\t\tfmt.Println(\"Failed to open file:\", err)\n\t\tos.Exit(1)\n\t}\n\tdefer w.Close()\n\tif _, err := w.WriteString(text); err != nil {\n\t\tfmt.Println(\"Failed to write to file:\", err)\n\t\tos.Exit(1)\n\t}\n}\n\nvar (\n\tall       sync.WaitGroup\n\thasErrors bool\n)\n\ntype dependency struct {\n\tsync.WaitGroup\n\thasErrors bool\n}\n\nfunc generate(pkg string, deps ...*dependency) *dependency {\n\tvar wg dependency\n\tif exclude(pkg) {\n\t\treturn &wg\n\t}\n\twg.Add(1)\n\tall.Add(1)\n\tgo func() {\n\t\tdefer wg.Done()\n\t\tdefer all.Done()\n\t\t// Wait for dependencies to finish.\n\t\tfor _, d := range deps {\n\t\t\td.Wait()\n\t\t\tif d.hasErrors && !*force {\n\t\t\t\tfmt.Printf(\"--- ABORT: %s\\n\", pkg)\n\t\t\t\twg.hasErrors = true\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tvprintf(\"=== GENERATE %s\\n\", pkg)\n\t\targs := []string{\"generate\"}\n\t\tif *verbose {\n\t\t\targs = append(args, \"-v\")\n\t\t}\n\t\targs = append(args, pkg)\n\t\tcmd := exec.Command(filepath.Join(runtime.GOROOT(), \"bin\", \"go\"), args...)\n\t\tw := &bytes.Buffer{}\n\t\tcmd.Stderr = w\n\t\tcmd.Stdout = w\n\t\tif err := cmd.Run(); err != nil {\n\t\t\tfmt.Printf(\"--- FAIL: %s:\\n\\t%v\\n\\tError: %v\\n\", pkg, indent(w), err)\n\t\t\thasErrors = true\n\t\t\twg.hasErrors = true\n\t\t\treturn\n\t\t}\n\n\t\tvprintf(\"=== TEST %s\\n\", pkg)\n\t\targs[0] = \"test\"\n\t\tcmd = exec.Command(filepath.Join(runtime.GOROOT(), \"bin\", \"go\"), args...)\n\t\twt := &bytes.Buffer{}\n\t\tcmd.Stderr = wt\n\t\tcmd.Stdout = wt\n\t\tif err := cmd.Run(); err != nil {\n\t\t\tfmt.Printf(\"--- FAIL: %s:\\n\\t%v\\n\\tError: %v\\n\", pkg, indent(wt), err)\n\t\t\thasErrors = true\n\t\t\twg.hasErrors = true\n\t\t\treturn\n\t\t}\n\t\tvprintf(\"--- SUCCESS: %s\\n\\t%v\\n\", pkg, indent(w))\n\t\tfmt.Print(wt.String())\n\t}()\n\treturn &wg\n}\n\n// copyExported copies a package in x/text/internal/export to the\n// destination repository.\nfunc copyExported(p string) {\n\tcopyPackage(\n\t\tfilepath.Join(\"internal\", \"export\", path.Base(p)),\n\t\tfilepath.Join(\"..\", filepath.FromSlash(p[len(\"golang.org/x\"):])),\n\t\t\"golang.org/x/text/internal/export/\"+path.Base(p),\n\t\tp)\n}\n\n// copyVendored copies packages used by Go core into the vendored directory.\nfunc copyVendored() {\n\troot := filepath.Join(build.Default.GOROOT, filepath.FromSlash(\"src/vendor/golang_org/x\"))\n\n\terr := filepath.Walk(root, func(dir string, info os.FileInfo, err error) error {\n\t\tif err != nil || !info.IsDir() || root == dir {\n\t\t\treturn err\n\t\t}\n\t\tsrc := dir[len(root)+1:]\n\t\tconst slash = string(filepath.Separator)\n\t\tif c := strings.Split(src, slash); c[0] == \"text\" {\n\t\t\t// Copy a text repo package from its normal location.\n\t\t\tsrc = strings.Join(c[1:], slash)\n\t\t} else {\n\t\t\t// Copy the vendored package if it exists in the export directory.\n\t\t\tsrc = filepath.Join(\"internal\", \"export\", filepath.Base(src))\n\t\t}\n\t\tcopyPackage(src, dir, \"golang.org\", \"golang_org\")\n\t\treturn nil\n\t})\n\tif err != nil {\n\t\tfmt.Printf(\"Seeding directory %s has failed %v:\", root, err)\n\t\tos.Exit(1)\n\t}\n}\n\n// goGenRE is used to remove go:generate lines.\nvar goGenRE = regexp.MustCompile(\"//go:generate[^\\n]*\\n\")\n\n// copyPackage copies relevant files from a directory in x/text to the\n// destination package directory. The destination package is assumed to have\n// the same name. For each copied file go:generate lines are removed and\n// and package comments are rewritten to the new path.\nfunc copyPackage(dirSrc, dirDst, search, replace string) {\n\terr := filepath.Walk(dirSrc, func(file string, info os.FileInfo, err error) error {\n\t\tbase := filepath.Base(file)\n\t\tif err != nil || info.IsDir() ||\n\t\t\t!strings.HasSuffix(base, \".go\") ||\n\t\t\tstrings.HasSuffix(base, \"_test.go\") ||\n\t\t\t// Don't process subdirectories.\n\t\t\tfilepath.Dir(file) != dirSrc {\n\t\t\treturn nil\n\t\t}\n\t\tb, err := ioutil.ReadFile(file)\n\t\tif err != nil || bytes.Contains(b, []byte(\"\\n// +build ignore\")) {\n\t\t\treturn err\n\t\t}\n\t\t// Fix paths.\n\t\tb = bytes.Replace(b, []byte(search), []byte(replace), -1)\n\t\t// Remove go:generate lines.\n\t\tb = goGenRE.ReplaceAllLiteral(b, nil)\n\t\tcomment := \"// Code generated by running \\\"go generate\\\" in golang.org/x/text. DO NOT EDIT.\\n\\n\"\n\t\tif *doCore {\n\t\t\tcomment = \"// Code generated by running \\\"go run gen.go -core\\\" in golang.org/x/text. DO NOT EDIT.\\n\\n\"\n\t\t}\n\t\tif !bytes.HasPrefix(b, []byte(comment)) {\n\t\t\tb = append([]byte(comment), b...)\n\t\t}\n\t\tif b, err = format.Source(b); err != nil {\n\t\t\tfmt.Println(\"Failed to format file:\", err)\n\t\t\tos.Exit(1)\n\t\t}\n\t\tfile = filepath.Join(dirDst, base)\n\t\tvprintf(\"=== COPY %s\\n\", file)\n\t\treturn ioutil.WriteFile(file, b, 0666)\n\t})\n\tif err != nil {\n\t\tfmt.Println(\"Copying exported files failed:\", err)\n\t\tos.Exit(1)\n\t}\n}\n\nfunc contains(a []string, s string) bool {\n\tfor _, e := range a {\n\t\tif s == e {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunc indent(b *bytes.Buffer) string {\n\treturn strings.Replace(strings.TrimSpace(b.String()), \"\\n\", \"\\n\\t\", -1)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/collelem.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage colltab\n\nimport (\n\t\"fmt\"\n\t\"unicode\"\n)\n\n// Level identifies the collation comparison level.\n// The primary level corresponds to the basic sorting of text.\n// The secondary level corresponds to accents and related linguistic elements.\n// The tertiary level corresponds to casing and related concepts.\n// The quaternary level is derived from the other levels by the\n// various algorithms for handling variable elements.\ntype Level int\n\nconst (\n\tPrimary Level = iota\n\tSecondary\n\tTertiary\n\tQuaternary\n\tIdentity\n\n\tNumLevels\n)\n\nconst (\n\tdefaultSecondary = 0x20\n\tdefaultTertiary  = 0x2\n\tmaxTertiary      = 0x1F\n\tMaxQuaternary    = 0x1FFFFF // 21 bits.\n)\n\n// Elem is a representation of a collation element. This API provides ways to encode\n// and decode Elems. Implementations of collation tables may use values greater\n// or equal to PrivateUse for their own purposes.  However, these should never be\n// returned by AppendNext.\ntype Elem uint32\n\nconst (\n\tmaxCE       Elem = 0xAFFFFFFF\n\tPrivateUse       = minContract\n\tminContract      = 0xC0000000\n\tmaxContract      = 0xDFFFFFFF\n\tminExpand        = 0xE0000000\n\tmaxExpand        = 0xEFFFFFFF\n\tminDecomp        = 0xF0000000\n)\n\ntype ceType int\n\nconst (\n\tceNormal           ceType = iota // ceNormal includes implicits (ce == 0)\n\tceContractionIndex               // rune can be a start of a contraction\n\tceExpansionIndex                 // rune expands into a sequence of collation elements\n\tceDecompose                      // rune expands using NFKC decomposition\n)\n\nfunc (ce Elem) ctype() ceType {\n\tif ce <= maxCE {\n\t\treturn ceNormal\n\t}\n\tif ce <= maxContract {\n\t\treturn ceContractionIndex\n\t} else {\n\t\tif ce <= maxExpand {\n\t\t\treturn ceExpansionIndex\n\t\t}\n\t\treturn ceDecompose\n\t}\n\tpanic(\"should not reach here\")\n\treturn ceType(-1)\n}\n\n// For normal collation elements, we assume that a collation element either has\n// a primary or non-default secondary value, not both.\n// Collation elements with a primary value are of the form\n// 01pppppp pppppppp ppppppp0 ssssssss\n//   - p* is primary collation value\n//   - s* is the secondary collation value\n// 00pppppp pppppppp ppppppps sssttttt, where\n//   - p* is primary collation value\n//   - s* offset of secondary from default value.\n//   - t* is the tertiary collation value\n// 100ttttt cccccccc pppppppp pppppppp\n//   - t* is the tertiar collation value\n//   - c* is the canonical combining class\n//   - p* is the primary collation value\n// Collation elements with a secondary value are of the form\n// 1010cccc ccccssss ssssssss tttttttt, where\n//   - c* is the canonical combining class\n//   - s* is the secondary collation value\n//   - t* is the tertiary collation value\n// 11qqqqqq qqqqqqqq qqqqqqq0 00000000\n//   - q* quaternary value\nconst (\n\tceTypeMask              = 0xC0000000\n\tceTypeMaskExt           = 0xE0000000\n\tceIgnoreMask            = 0xF00FFFFF\n\tceType1                 = 0x40000000\n\tceType2                 = 0x00000000\n\tceType3or4              = 0x80000000\n\tceType4                 = 0xA0000000\n\tceTypeQ                 = 0xC0000000\n\tIgnore                  = ceType4\n\tfirstNonPrimary         = 0x80000000\n\tlastSpecialPrimary      = 0xA0000000\n\tsecondaryMask           = 0x80000000\n\thasTertiaryMask         = 0x40000000\n\tprimaryValueMask        = 0x3FFFFE00\n\tmaxPrimaryBits          = 21\n\tcompactPrimaryBits      = 16\n\tmaxSecondaryBits        = 12\n\tmaxTertiaryBits         = 8\n\tmaxCCCBits              = 8\n\tmaxSecondaryCompactBits = 8\n\tmaxSecondaryDiffBits    = 4\n\tmaxTertiaryCompactBits  = 5\n\tprimaryShift            = 9\n\tcompactSecondaryShift   = 5\n\tminCompactSecondary     = defaultSecondary - 4\n)\n\nfunc makeImplicitCE(primary int) Elem {\n\treturn ceType1 | Elem(primary<<primaryShift) | defaultSecondary\n}\n\n// MakeElem returns an Elem for the given values.  It will return an error\n// if the given combination of values is invalid.\nfunc MakeElem(primary, secondary, tertiary int, ccc uint8) (Elem, error) {\n\tif w := primary; w >= 1<<maxPrimaryBits || w < 0 {\n\t\treturn 0, fmt.Errorf(\"makeCE: primary weight out of bounds: %x >= %x\", w, 1<<maxPrimaryBits)\n\t}\n\tif w := secondary; w >= 1<<maxSecondaryBits || w < 0 {\n\t\treturn 0, fmt.Errorf(\"makeCE: secondary weight out of bounds: %x >= %x\", w, 1<<maxSecondaryBits)\n\t}\n\tif w := tertiary; w >= 1<<maxTertiaryBits || w < 0 {\n\t\treturn 0, fmt.Errorf(\"makeCE: tertiary weight out of bounds: %x >= %x\", w, 1<<maxTertiaryBits)\n\t}\n\tce := Elem(0)\n\tif primary != 0 {\n\t\tif ccc != 0 {\n\t\t\tif primary >= 1<<compactPrimaryBits {\n\t\t\t\treturn 0, fmt.Errorf(\"makeCE: primary weight with non-zero CCC out of bounds: %x >= %x\", primary, 1<<compactPrimaryBits)\n\t\t\t}\n\t\t\tif secondary != defaultSecondary {\n\t\t\t\treturn 0, fmt.Errorf(\"makeCE: cannot combine non-default secondary value (%x) with non-zero CCC (%x)\", secondary, ccc)\n\t\t\t}\n\t\t\tce = Elem(tertiary << (compactPrimaryBits + maxCCCBits))\n\t\t\tce |= Elem(ccc) << compactPrimaryBits\n\t\t\tce |= Elem(primary)\n\t\t\tce |= ceType3or4\n\t\t} else if tertiary == defaultTertiary {\n\t\t\tif secondary >= 1<<maxSecondaryCompactBits {\n\t\t\t\treturn 0, fmt.Errorf(\"makeCE: secondary weight with non-zero primary out of bounds: %x >= %x\", secondary, 1<<maxSecondaryCompactBits)\n\t\t\t}\n\t\t\tce = Elem(primary<<(maxSecondaryCompactBits+1) + secondary)\n\t\t\tce |= ceType1\n\t\t} else {\n\t\t\td := secondary - defaultSecondary + maxSecondaryDiffBits\n\t\t\tif d >= 1<<maxSecondaryDiffBits || d < 0 {\n\t\t\t\treturn 0, fmt.Errorf(\"makeCE: secondary weight diff out of bounds: %x < 0 || %x > %x\", d, d, 1<<maxSecondaryDiffBits)\n\t\t\t}\n\t\t\tif tertiary >= 1<<maxTertiaryCompactBits {\n\t\t\t\treturn 0, fmt.Errorf(\"makeCE: tertiary weight with non-zero primary out of bounds: %x > %x\", tertiary, 1<<maxTertiaryCompactBits)\n\t\t\t}\n\t\t\tce = Elem(primary<<maxSecondaryDiffBits + d)\n\t\t\tce = ce<<maxTertiaryCompactBits + Elem(tertiary)\n\t\t}\n\t} else {\n\t\tce = Elem(secondary<<maxTertiaryBits + tertiary)\n\t\tce += Elem(ccc) << (maxSecondaryBits + maxTertiaryBits)\n\t\tce |= ceType4\n\t}\n\treturn ce, nil\n}\n\n// MakeQuaternary returns an Elem with the given quaternary value.\nfunc MakeQuaternary(v int) Elem {\n\treturn ceTypeQ | Elem(v<<primaryShift)\n}\n\n// Mask sets weights for any level smaller than l to 0.\n// The resulting Elem can be used to test for equality with\n// other Elems to which the same mask has been applied.\nfunc (ce Elem) Mask(l Level) uint32 {\n\treturn 0\n}\n\n// CCC returns the canonical combining class associated with the underlying character,\n// if applicable, or 0 otherwise.\nfunc (ce Elem) CCC() uint8 {\n\tif ce&ceType3or4 != 0 {\n\t\tif ce&ceType4 == ceType3or4 {\n\t\t\treturn uint8(ce >> 16)\n\t\t}\n\t\treturn uint8(ce >> 20)\n\t}\n\treturn 0\n}\n\n// Primary returns the primary collation weight for ce.\nfunc (ce Elem) Primary() int {\n\tif ce >= firstNonPrimary {\n\t\tif ce > lastSpecialPrimary {\n\t\t\treturn 0\n\t\t}\n\t\treturn int(uint16(ce))\n\t}\n\treturn int(ce&primaryValueMask) >> primaryShift\n}\n\n// Secondary returns the secondary collation weight for ce.\nfunc (ce Elem) Secondary() int {\n\tswitch ce & ceTypeMask {\n\tcase ceType1:\n\t\treturn int(uint8(ce))\n\tcase ceType2:\n\t\treturn minCompactSecondary + int((ce>>compactSecondaryShift)&0xF)\n\tcase ceType3or4:\n\t\tif ce < ceType4 {\n\t\t\treturn defaultSecondary\n\t\t}\n\t\treturn int(ce>>8) & 0xFFF\n\tcase ceTypeQ:\n\t\treturn 0\n\t}\n\tpanic(\"should not reach here\")\n}\n\n// Tertiary returns the tertiary collation weight for ce.\nfunc (ce Elem) Tertiary() uint8 {\n\tif ce&hasTertiaryMask == 0 {\n\t\tif ce&ceType3or4 == 0 {\n\t\t\treturn uint8(ce & 0x1F)\n\t\t}\n\t\tif ce&ceType4 == ceType4 {\n\t\t\treturn uint8(ce)\n\t\t}\n\t\treturn uint8(ce>>24) & 0x1F // type 2\n\t} else if ce&ceTypeMask == ceType1 {\n\t\treturn defaultTertiary\n\t}\n\t// ce is a quaternary value.\n\treturn 0\n}\n\nfunc (ce Elem) updateTertiary(t uint8) Elem {\n\tif ce&ceTypeMask == ceType1 {\n\t\t// convert to type 4\n\t\tnce := ce & primaryValueMask\n\t\tnce |= Elem(uint8(ce)-minCompactSecondary) << compactSecondaryShift\n\t\tce = nce\n\t} else if ce&ceTypeMaskExt == ceType3or4 {\n\t\tce &= ^Elem(maxTertiary << 24)\n\t\treturn ce | (Elem(t) << 24)\n\t} else {\n\t\t// type 2 or 4\n\t\tce &= ^Elem(maxTertiary)\n\t}\n\treturn ce | Elem(t)\n}\n\n// Quaternary returns the quaternary value if explicitly specified,\n// 0 if ce == Ignore, or MaxQuaternary otherwise.\n// Quaternary values are used only for shifted variants.\nfunc (ce Elem) Quaternary() int {\n\tif ce&ceTypeMask == ceTypeQ {\n\t\treturn int(ce&primaryValueMask) >> primaryShift\n\t} else if ce&ceIgnoreMask == Ignore {\n\t\treturn 0\n\t}\n\treturn MaxQuaternary\n}\n\n// Weight returns the collation weight for the given level.\nfunc (ce Elem) Weight(l Level) int {\n\tswitch l {\n\tcase Primary:\n\t\treturn ce.Primary()\n\tcase Secondary:\n\t\treturn ce.Secondary()\n\tcase Tertiary:\n\t\treturn int(ce.Tertiary())\n\tcase Quaternary:\n\t\treturn ce.Quaternary()\n\t}\n\treturn 0 // return 0 (ignore) for undefined levels.\n}\n\n// For contractions, collation elements are of the form\n// 110bbbbb bbbbbbbb iiiiiiii iiiinnnn, where\n//   - n* is the size of the first node in the contraction trie.\n//   - i* is the index of the first node in the contraction trie.\n//   - b* is the offset into the contraction collation element table.\n// See contract.go for details on the contraction trie.\nconst (\n\tmaxNBits              = 4\n\tmaxTrieIndexBits      = 12\n\tmaxContractOffsetBits = 13\n)\n\nfunc splitContractIndex(ce Elem) (index, n, offset int) {\n\tn = int(ce & (1<<maxNBits - 1))\n\tce >>= maxNBits\n\tindex = int(ce & (1<<maxTrieIndexBits - 1))\n\tce >>= maxTrieIndexBits\n\toffset = int(ce & (1<<maxContractOffsetBits - 1))\n\treturn\n}\n\n// For expansions, Elems are of the form 11100000 00000000 bbbbbbbb bbbbbbbb,\n// where b* is the index into the expansion sequence table.\nconst maxExpandIndexBits = 16\n\nfunc splitExpandIndex(ce Elem) (index int) {\n\treturn int(uint16(ce))\n}\n\n// Some runes can be expanded using NFKD decomposition. Instead of storing the full\n// sequence of collation elements, we decompose the rune and lookup the collation\n// elements for each rune in the decomposition and modify the tertiary weights.\n// The Elem, in this case, is of the form 11110000 00000000 wwwwwwww vvvvvvvv, where\n//   - v* is the replacement tertiary weight for the first rune,\n//   - w* is the replacement tertiary weight for the second rune,\n// Tertiary weights of subsequent runes should be replaced with maxTertiary.\n// See http://www.unicode.org/reports/tr10/#Compatibility_Decompositions for more details.\nfunc splitDecompose(ce Elem) (t1, t2 uint8) {\n\treturn uint8(ce), uint8(ce >> 8)\n}\n\nconst (\n\t// These constants were taken from http://www.unicode.org/versions/Unicode6.0.0/ch12.pdf.\n\tminUnified       rune = 0x4E00\n\tmaxUnified            = 0x9FFF\n\tminCompatibility      = 0xF900\n\tmaxCompatibility      = 0xFAFF\n\tminRare               = 0x3400\n\tmaxRare               = 0x4DBF\n)\nconst (\n\tcommonUnifiedOffset = 0x10000\n\trareUnifiedOffset   = 0x20000 // largest rune in common is U+FAFF\n\totherOffset         = 0x50000 // largest rune in rare is U+2FA1D\n\tillegalOffset       = otherOffset + int(unicode.MaxRune)\n\tmaxPrimary          = illegalOffset + 1\n)\n\n// implicitPrimary returns the primary weight for the a rune\n// for which there is no entry for the rune in the collation table.\n// We take a different approach from the one specified in\n// http://unicode.org/reports/tr10/#Implicit_Weights,\n// but preserve the resulting relative ordering of the runes.\nfunc implicitPrimary(r rune) int {\n\tif unicode.Is(unicode.Ideographic, r) {\n\t\tif r >= minUnified && r <= maxUnified {\n\t\t\t// The most common case for CJK.\n\t\t\treturn int(r) + commonUnifiedOffset\n\t\t}\n\t\tif r >= minCompatibility && r <= maxCompatibility {\n\t\t\t// This will typically not hit. The DUCET explicitly specifies mappings\n\t\t\t// for all characters that do not decompose.\n\t\t\treturn int(r) + commonUnifiedOffset\n\t\t}\n\t\treturn int(r) + rareUnifiedOffset\n\t}\n\treturn int(r) + otherOffset\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/colltab.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package colltab contains functionality related to collation tables.\n// It is only to be used by the collate and search packages.\npackage colltab // import \"golang.org/x/text/internal/colltab\"\n\nimport (\n\t\"sort\"\n\n\t\"golang.org/x/text/language\"\n)\n\n// MatchLang finds the index of t in tags, using a matching algorithm used for\n// collation and search. tags[0] must be language.Und, the remaining tags should\n// be sorted alphabetically.\n//\n// Language matching for collation and search is different from the matching\n// defined by language.Matcher: the (inferred) base language must be an exact\n// match for the relevant fields. For example, \"gsw\" should not match \"de\".\n// Also the parent relation is different, as a parent may have a different\n// script. So usually the parent of zh-Hant is und, whereas for MatchLang it is\n// zh.\nfunc MatchLang(t language.Tag, tags []language.Tag) int {\n\t// Canonicalize the values, including collapsing macro languages.\n\tt, _ = language.All.Canonicalize(t)\n\n\tbase, conf := t.Base()\n\t// Estimate the base language, but only use high-confidence values.\n\tif conf < language.High {\n\t\t// The root locale supports \"search\" and \"standard\". We assume that any\n\t\t// implementation will only use one of both.\n\t\treturn 0\n\t}\n\n\t// Maximize base and script and normalize the tag.\n\tif _, s, r := t.Raw(); (r != language.Region{}) {\n\t\tp, _ := language.Raw.Compose(base, s, r)\n\t\t// Taking the parent forces the script to be maximized.\n\t\tp = p.Parent()\n\t\t// Add back region and extensions.\n\t\tt, _ = language.Raw.Compose(p, r, t.Extensions())\n\t} else {\n\t\t// Set the maximized base language.\n\t\tt, _ = language.Raw.Compose(base, s, t.Extensions())\n\t}\n\n\t// Find start index of the language tag.\n\tstart := 1 + sort.Search(len(tags)-1, func(i int) bool {\n\t\tb, _, _ := tags[i+1].Raw()\n\t\treturn base.String() <= b.String()\n\t})\n\tif start < len(tags) {\n\t\tif b, _, _ := tags[start].Raw(); b != base {\n\t\t\treturn 0\n\t\t}\n\t}\n\n\t// Besides the base language, script and region, only the collation type and\n\t// the custom variant defined in the 'u' extension are used to distinguish a\n\t// locale.\n\t// Strip all variants and extensions and add back the custom variant.\n\ttdef, _ := language.Raw.Compose(t.Raw())\n\ttdef, _ = tdef.SetTypeForKey(\"va\", t.TypeForKey(\"va\"))\n\n\t// First search for a specialized collation type, if present.\n\ttry := []language.Tag{tdef}\n\tif co := t.TypeForKey(\"co\"); co != \"\" {\n\t\ttco, _ := tdef.SetTypeForKey(\"co\", co)\n\t\ttry = []language.Tag{tco, tdef}\n\t}\n\n\tfor _, tx := range try {\n\t\tfor ; tx != language.Und; tx = parent(tx) {\n\t\t\tfor i, t := range tags[start:] {\n\t\t\t\tif b, _, _ := t.Raw(); b != base {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif tx == t {\n\t\t\t\t\treturn start + i\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn 0\n}\n\n// parent computes the structural parent. This means inheritance may change\n// script. So, unlike the CLDR parent, parent(zh-Hant) == zh.\nfunc parent(t language.Tag) language.Tag {\n\tif t.TypeForKey(\"va\") != \"\" {\n\t\tt, _ = t.SetTypeForKey(\"va\", \"\")\n\t\treturn t\n\t}\n\tresult := language.Und\n\tif b, s, r := t.Raw(); (r != language.Region{}) {\n\t\tresult, _ = language.Raw.Compose(b, s, t.Extensions())\n\t} else if (s != language.Script{}) {\n\t\tresult, _ = language.Raw.Compose(b, t.Extensions())\n\t} else if (b != language.Base{}) {\n\t\tresult, _ = language.Raw.Compose(t.Extensions())\n\t}\n\treturn result\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/contract.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage colltab\n\nimport \"unicode/utf8\"\n\n// For a description of ContractTrieSet, see text/collate/build/contract.go.\n\ntype ContractTrieSet []struct{ L, H, N, I uint8 }\n\n// ctScanner is used to match a trie to an input sequence.\n// A contraction may match a non-contiguous sequence of bytes in an input string.\n// For example, if there is a contraction for <a, combining_ring>, it should match\n// the sequence <a, combining_cedilla, combining_ring>, as combining_cedilla does\n// not block combining_ring.\n// ctScanner does not automatically skip over non-blocking non-starters, but rather\n// retains the state of the last match and leaves it up to the user to continue\n// the match at the appropriate points.\ntype ctScanner struct {\n\tstates ContractTrieSet\n\ts      []byte\n\tn      int\n\tindex  int\n\tpindex int\n\tdone   bool\n}\n\ntype ctScannerString struct {\n\tstates ContractTrieSet\n\ts      string\n\tn      int\n\tindex  int\n\tpindex int\n\tdone   bool\n}\n\nfunc (t ContractTrieSet) scanner(index, n int, b []byte) ctScanner {\n\treturn ctScanner{s: b, states: t[index:], n: n}\n}\n\nfunc (t ContractTrieSet) scannerString(index, n int, str string) ctScannerString {\n\treturn ctScannerString{s: str, states: t[index:], n: n}\n}\n\n// result returns the offset i and bytes consumed p so far.  If no suffix\n// matched, i and p will be 0.\nfunc (s *ctScanner) result() (i, p int) {\n\treturn s.index, s.pindex\n}\n\nfunc (s *ctScannerString) result() (i, p int) {\n\treturn s.index, s.pindex\n}\n\nconst (\n\tfinal   = 0\n\tnoIndex = 0xFF\n)\n\n// scan matches the longest suffix at the current location in the input\n// and returns the number of bytes consumed.\nfunc (s *ctScanner) scan(p int) int {\n\tpr := p // the p at the rune start\n\tstr := s.s\n\tstates, n := s.states, s.n\n\tfor i := 0; i < n && p < len(str); {\n\t\te := states[i]\n\t\tc := str[p]\n\t\t// TODO: a significant number of contractions are of a form that\n\t\t// cannot match discontiguous UTF-8 in a normalized string. We could let\n\t\t// a negative value of e.n mean that we can set s.done = true and avoid\n\t\t// the need for additional matches.\n\t\tif c >= e.L {\n\t\t\tif e.L == c {\n\t\t\t\tp++\n\t\t\t\tif e.I != noIndex {\n\t\t\t\t\ts.index = int(e.I)\n\t\t\t\t\ts.pindex = p\n\t\t\t\t}\n\t\t\t\tif e.N != final {\n\t\t\t\t\ti, states, n = 0, states[int(e.H)+n:], int(e.N)\n\t\t\t\t\tif p >= len(str) || utf8.RuneStart(str[p]) {\n\t\t\t\t\t\ts.states, s.n, pr = states, n, p\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ts.done = true\n\t\t\t\t\treturn p\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t} else if e.N == final && c <= e.H {\n\t\t\t\tp++\n\t\t\t\ts.done = true\n\t\t\t\ts.index = int(c-e.L) + int(e.I)\n\t\t\t\ts.pindex = p\n\t\t\t\treturn p\n\t\t\t}\n\t\t}\n\t\ti++\n\t}\n\treturn pr\n}\n\n// scan is a verbatim copy of ctScanner.scan.\nfunc (s *ctScannerString) scan(p int) int {\n\tpr := p // the p at the rune start\n\tstr := s.s\n\tstates, n := s.states, s.n\n\tfor i := 0; i < n && p < len(str); {\n\t\te := states[i]\n\t\tc := str[p]\n\t\t// TODO: a significant number of contractions are of a form that\n\t\t// cannot match discontiguous UTF-8 in a normalized string. We could let\n\t\t// a negative value of e.n mean that we can set s.done = true and avoid\n\t\t// the need for additional matches.\n\t\tif c >= e.L {\n\t\t\tif e.L == c {\n\t\t\t\tp++\n\t\t\t\tif e.I != noIndex {\n\t\t\t\t\ts.index = int(e.I)\n\t\t\t\t\ts.pindex = p\n\t\t\t\t}\n\t\t\t\tif e.N != final {\n\t\t\t\t\ti, states, n = 0, states[int(e.H)+n:], int(e.N)\n\t\t\t\t\tif p >= len(str) || utf8.RuneStart(str[p]) {\n\t\t\t\t\t\ts.states, s.n, pr = states, n, p\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ts.done = true\n\t\t\t\t\treturn p\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t} else if e.N == final && c <= e.H {\n\t\t\t\tp++\n\t\t\t\ts.done = true\n\t\t\t\ts.index = int(c-e.L) + int(e.I)\n\t\t\t\ts.pindex = p\n\t\t\t\treturn p\n\t\t\t}\n\t\t}\n\t\ti++\n\t}\n\treturn pr\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/iter.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage colltab\n\n// An Iter incrementally converts chunks of the input text to collation\n// elements, while ensuring that the collation elements are in normalized order\n// (that is, they are in the order as if the input text were normalized first).\ntype Iter struct {\n\tWeighter Weighter\n\tElems    []Elem\n\t// N is the number of elements in Elems that will not be reordered on\n\t// subsequent iterations, N <= len(Elems).\n\tN int\n\n\tbytes []byte\n\tstr   string\n\t// Because the Elems buffer may contain collation elements that are needed\n\t// for look-ahead, we need two positions in the text (bytes or str): one for\n\t// the end position in the text for the current iteration and one for the\n\t// start of the next call to appendNext.\n\tpEnd  int // end position in text corresponding to N.\n\tpNext int // pEnd <= pNext.\n}\n\n// Reset sets the position in the current input text to p and discards any\n// results obtained so far.\nfunc (i *Iter) Reset(p int) {\n\ti.Elems = i.Elems[:0]\n\ti.N = 0\n\ti.pEnd = p\n\ti.pNext = p\n}\n\n// Len returns the length of the input text.\nfunc (i *Iter) Len() int {\n\tif i.bytes != nil {\n\t\treturn len(i.bytes)\n\t}\n\treturn len(i.str)\n}\n\n// Discard removes the collation elements up to N.\nfunc (i *Iter) Discard() {\n\t// TODO: change this such that only modifiers following starters will have\n\t// to be copied.\n\ti.Elems = i.Elems[:copy(i.Elems, i.Elems[i.N:])]\n\ti.N = 0\n}\n\n// End returns the end position of the input text for which Next has returned\n// results.\nfunc (i *Iter) End() int {\n\treturn i.pEnd\n}\n\n// SetInput resets i to input s.\nfunc (i *Iter) SetInput(s []byte) {\n\ti.bytes = s\n\ti.str = \"\"\n\ti.Reset(0)\n}\n\n// SetInputString resets i to input s.\nfunc (i *Iter) SetInputString(s string) {\n\ti.str = s\n\ti.bytes = nil\n\ti.Reset(0)\n}\n\nfunc (i *Iter) done() bool {\n\treturn i.pNext >= len(i.str) && i.pNext >= len(i.bytes)\n}\n\nfunc (i *Iter) appendNext() bool {\n\tif i.done() {\n\t\treturn false\n\t}\n\tvar sz int\n\tif i.bytes == nil {\n\t\ti.Elems, sz = i.Weighter.AppendNextString(i.Elems, i.str[i.pNext:])\n\t} else {\n\t\ti.Elems, sz = i.Weighter.AppendNext(i.Elems, i.bytes[i.pNext:])\n\t}\n\tif sz == 0 {\n\t\tsz = 1\n\t}\n\ti.pNext += sz\n\treturn true\n}\n\n// Next appends Elems to the internal array. On each iteration, it will either\n// add starters or modifiers. In the majority of cases, an Elem with a primary\n// value > 0 will have a CCC of 0. The CCC values of collation elements are also\n// used to detect if the input string was not normalized and to adjust the\n// result accordingly.\nfunc (i *Iter) Next() bool {\n\tif i.N == len(i.Elems) && !i.appendNext() {\n\t\treturn false\n\t}\n\n\t// Check if the current segment starts with a starter.\n\tprevCCC := i.Elems[len(i.Elems)-1].CCC()\n\tif prevCCC == 0 {\n\t\ti.N = len(i.Elems)\n\t\ti.pEnd = i.pNext\n\t\treturn true\n\t} else if i.Elems[i.N].CCC() == 0 {\n\t\t// set i.N to only cover part of i.Elems for which prevCCC == 0 and\n\t\t// use rest for the next call to next.\n\t\tfor i.N++; i.N < len(i.Elems) && i.Elems[i.N].CCC() == 0; i.N++ {\n\t\t}\n\t\ti.pEnd = i.pNext\n\t\treturn true\n\t}\n\n\t// The current (partial) segment starts with modifiers. We need to collect\n\t// all successive modifiers to ensure that they are normalized.\n\tfor {\n\t\tp := len(i.Elems)\n\t\ti.pEnd = i.pNext\n\t\tif !i.appendNext() {\n\t\t\tbreak\n\t\t}\n\n\t\tif ccc := i.Elems[p].CCC(); ccc == 0 || len(i.Elems)-i.N > maxCombiningCharacters {\n\t\t\t// Leave the starter for the next iteration. This ensures that we\n\t\t\t// do not return sequences of collation elements that cross two\n\t\t\t// segments.\n\t\t\t//\n\t\t\t// TODO: handle large number of combining characters by fully\n\t\t\t// normalizing the input segment before iteration. This ensures\n\t\t\t// results are consistent across the text repo.\n\t\t\ti.N = p\n\t\t\treturn true\n\t\t} else if ccc < prevCCC {\n\t\t\ti.doNorm(p, ccc) // should be rare, never occurs for NFD and FCC.\n\t\t} else {\n\t\t\tprevCCC = ccc\n\t\t}\n\t}\n\n\tdone := len(i.Elems) != i.N\n\ti.N = len(i.Elems)\n\treturn done\n}\n\n// nextNoNorm is the same as next, but does not \"normalize\" the collation\n// elements.\nfunc (i *Iter) nextNoNorm() bool {\n\t// TODO: remove this function. Using this instead of next does not seem\n\t// to improve performance in any significant way. We retain this until\n\t// later for evaluation purposes.\n\tif i.done() {\n\t\treturn false\n\t}\n\ti.appendNext()\n\ti.N = len(i.Elems)\n\treturn true\n}\n\nconst maxCombiningCharacters = 30\n\n// doNorm reorders the collation elements in i.Elems.\n// It assumes that blocks of collation elements added with appendNext\n// either start and end with the same CCC or start with CCC == 0.\n// This allows for a single insertion point for the entire block.\n// The correctness of this assumption is verified in builder.go.\nfunc (i *Iter) doNorm(p int, ccc uint8) {\n\tn := len(i.Elems)\n\tk := p\n\tfor p--; p > i.N && ccc < i.Elems[p-1].CCC(); p-- {\n\t}\n\ti.Elems = append(i.Elems, i.Elems[p:k]...)\n\tcopy(i.Elems[p:], i.Elems[k:])\n\ti.Elems = i.Elems[:n]\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/numeric.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage colltab\n\nimport (\n\t\"unicode\"\n\t\"unicode/utf8\"\n)\n\n// NewNumericWeighter wraps w to replace individual digits to sort based on their\n// numeric value.\n//\n// Weighter w must have a free primary weight after the primary weight for 9.\n// If this is not the case, numeric value will sort at the same primary level\n// as the first primary sorting after 9.\nfunc NewNumericWeighter(w Weighter) Weighter {\n\tgetElem := func(s string) Elem {\n\t\telems, _ := w.AppendNextString(nil, s)\n\t\treturn elems[0]\n\t}\n\tnine := getElem(\"9\")\n\n\t// Numbers should order before zero, but the DUCET has no room for this.\n\t// TODO: move before zero once we use fractional collation elements.\n\tns, _ := MakeElem(nine.Primary()+1, nine.Secondary(), int(nine.Tertiary()), 0)\n\n\treturn &numericWeighter{\n\t\tWeighter: w,\n\n\t\t// We assume that w sorts digits of different kinds in order of numeric\n\t\t// value and that the tertiary weight order is preserved.\n\t\t//\n\t\t// TODO: evaluate whether it is worth basing the ranges on the Elem\n\t\t// encoding itself once the move to fractional weights is complete.\n\t\tzero:          getElem(\"0\"),\n\t\tzeroSpecialLo: getElem(\"０\"), // U+FF10 FULLWIDTH DIGIT ZERO\n\t\tzeroSpecialHi: getElem(\"₀\"), // U+2080 SUBSCRIPT ZERO\n\t\tnine:          nine,\n\t\tnineSpecialHi: getElem(\"₉\"), // U+2089 SUBSCRIPT NINE\n\t\tnumberStart:   ns,\n\t}\n}\n\n// A numericWeighter translates a stream of digits into a stream of weights\n// representing the numeric value.\ntype numericWeighter struct {\n\tWeighter\n\n\t// The Elems below all demarcate boundaries of specific ranges. With the\n\t// current element encoding digits are in two ranges: normal (default\n\t// tertiary value) and special. For most languages, digits have collation\n\t// elements in the normal range.\n\t//\n\t// Note: the range tests are very specific for the element encoding used by\n\t// this implementation. The tests in collate_test.go are designed to fail\n\t// if this code is not updated when an encoding has changed.\n\n\tzero          Elem // normal digit zero\n\tzeroSpecialLo Elem // special digit zero, low tertiary value\n\tzeroSpecialHi Elem // special digit zero, high tertiary value\n\tnine          Elem // normal digit nine\n\tnineSpecialHi Elem // special digit nine\n\tnumberStart   Elem\n}\n\n// AppendNext calls the namesake of the underlying weigher, but replaces single\n// digits with weights representing their value.\nfunc (nw *numericWeighter) AppendNext(buf []Elem, s []byte) (ce []Elem, n int) {\n\tce, n = nw.Weighter.AppendNext(buf, s)\n\tnc := numberConverter{\n\t\telems: buf,\n\t\tw:     nw,\n\t\tb:     s,\n\t}\n\tisZero, ok := nc.checkNextDigit(ce)\n\tif !ok {\n\t\treturn ce, n\n\t}\n\t// ce might have been grown already, so take it instead of buf.\n\tnc.init(ce, len(buf), isZero)\n\tfor n < len(s) {\n\t\tce, sz := nw.Weighter.AppendNext(nc.elems, s[n:])\n\t\tnc.b = s\n\t\tn += sz\n\t\tif !nc.update(ce) {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn nc.result(), n\n}\n\n// AppendNextString calls the namesake of the underlying weigher, but replaces\n// single digits with weights representing their value.\nfunc (nw *numericWeighter) AppendNextString(buf []Elem, s string) (ce []Elem, n int) {\n\tce, n = nw.Weighter.AppendNextString(buf, s)\n\tnc := numberConverter{\n\t\telems: buf,\n\t\tw:     nw,\n\t\ts:     s,\n\t}\n\tisZero, ok := nc.checkNextDigit(ce)\n\tif !ok {\n\t\treturn ce, n\n\t}\n\tnc.init(ce, len(buf), isZero)\n\tfor n < len(s) {\n\t\tce, sz := nw.Weighter.AppendNextString(nc.elems, s[n:])\n\t\tnc.s = s\n\t\tn += sz\n\t\tif !nc.update(ce) {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn nc.result(), n\n}\n\ntype numberConverter struct {\n\tw *numericWeighter\n\n\telems    []Elem\n\tnDigits  int\n\tlenIndex int\n\n\ts string // set if the input was of type string\n\tb []byte // set if the input was of type []byte\n}\n\n// init completes initialization of a numberConverter and prepares it for adding\n// more digits. elems is assumed to have a digit starting at oldLen.\nfunc (nc *numberConverter) init(elems []Elem, oldLen int, isZero bool) {\n\t// Insert a marker indicating the start of a number and and a placeholder\n\t// for the number of digits.\n\tif isZero {\n\t\telems = append(elems[:oldLen], nc.w.numberStart, 0)\n\t} else {\n\t\telems = append(elems, 0, 0)\n\t\tcopy(elems[oldLen+2:], elems[oldLen:])\n\t\telems[oldLen] = nc.w.numberStart\n\t\telems[oldLen+1] = 0\n\n\t\tnc.nDigits = 1\n\t}\n\tnc.elems = elems\n\tnc.lenIndex = oldLen + 1\n}\n\n// checkNextDigit reports whether bufNew adds a single digit relative to the old\n// buffer. If it does, it also reports whether this digit is zero.\nfunc (nc *numberConverter) checkNextDigit(bufNew []Elem) (isZero, ok bool) {\n\tif len(nc.elems) >= len(bufNew) {\n\t\treturn false, false\n\t}\n\te := bufNew[len(nc.elems)]\n\tif e < nc.w.zeroSpecialLo || nc.w.nine < e {\n\t\t// Not a number.\n\t\treturn false, false\n\t}\n\tif e < nc.w.zero {\n\t\tif e > nc.w.nineSpecialHi {\n\t\t\t// Not a number.\n\t\t\treturn false, false\n\t\t}\n\t\tif !nc.isDigit() {\n\t\t\treturn false, false\n\t\t}\n\t\tisZero = e <= nc.w.zeroSpecialHi\n\t} else {\n\t\t// This is the common case if we encounter a digit.\n\t\tisZero = e == nc.w.zero\n\t}\n\t// Test the remaining added collation elements have a zero primary value.\n\tif n := len(bufNew) - len(nc.elems); n > 1 {\n\t\tfor i := len(nc.elems) + 1; i < len(bufNew); i++ {\n\t\t\tif bufNew[i].Primary() != 0 {\n\t\t\t\treturn false, false\n\t\t\t}\n\t\t}\n\t\t// In some rare cases, collation elements will encode runes in\n\t\t// unicode.No as a digit. For example Ethiopic digits (U+1369 - U+1371)\n\t\t// are not in Nd. Also some digits that clearly belong in unicode.No,\n\t\t// like U+0C78 TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR, have\n\t\t// collation elements indistinguishable from normal digits.\n\t\t// Unfortunately, this means we need to make this check for nearly all\n\t\t// non-Latin digits.\n\t\t//\n\t\t// TODO: check the performance impact and find something better if it is\n\t\t// an issue.\n\t\tif !nc.isDigit() {\n\t\t\treturn false, false\n\t\t}\n\t}\n\treturn isZero, true\n}\n\nfunc (nc *numberConverter) isDigit() bool {\n\tif nc.b != nil {\n\t\tr, _ := utf8.DecodeRune(nc.b)\n\t\treturn unicode.In(r, unicode.Nd)\n\t}\n\tr, _ := utf8.DecodeRuneInString(nc.s)\n\treturn unicode.In(r, unicode.Nd)\n}\n\n// We currently support a maximum of about 2M digits (the number of primary\n// values). Such numbers will compare correctly against small numbers, but their\n// comparison against other large numbers is undefined.\n//\n// TODO: define a proper fallback, such as comparing large numbers textually or\n// actually allowing numbers of unlimited length.\n//\n// TODO: cap this to a lower number (like 100) and maybe allow a larger number\n// in an option?\nconst maxDigits = 1<<maxPrimaryBits - 1\n\nfunc (nc *numberConverter) update(elems []Elem) bool {\n\tisZero, ok := nc.checkNextDigit(elems)\n\tif nc.nDigits == 0 && isZero {\n\t\treturn true\n\t}\n\tnc.elems = elems\n\tif !ok {\n\t\treturn false\n\t}\n\tnc.nDigits++\n\treturn nc.nDigits < maxDigits\n}\n\n// result fills in the length element for the digit sequence and returns the\n// completed collation elements.\nfunc (nc *numberConverter) result() []Elem {\n\te, _ := MakeElem(nc.nDigits, defaultSecondary, defaultTertiary, 0)\n\tnc.elems[nc.lenIndex] = e\n\treturn nc.elems\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/table.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage colltab\n\nimport (\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/unicode/norm\"\n)\n\n// Table holds all collation data for a given collation ordering.\ntype Table struct {\n\tIndex Trie // main trie\n\n\t// expansion info\n\tExpandElem []uint32\n\n\t// contraction info\n\tContractTries  ContractTrieSet\n\tContractElem   []uint32\n\tMaxContractLen int\n\tVariableTop    uint32\n}\n\nfunc (t *Table) AppendNext(w []Elem, b []byte) (res []Elem, n int) {\n\treturn t.appendNext(w, source{bytes: b})\n}\n\nfunc (t *Table) AppendNextString(w []Elem, s string) (res []Elem, n int) {\n\treturn t.appendNext(w, source{str: s})\n}\n\nfunc (t *Table) Start(p int, b []byte) int {\n\t// TODO: implement\n\tpanic(\"not implemented\")\n}\n\nfunc (t *Table) StartString(p int, s string) int {\n\t// TODO: implement\n\tpanic(\"not implemented\")\n}\n\nfunc (t *Table) Domain() []string {\n\t// TODO: implement\n\tpanic(\"not implemented\")\n}\n\nfunc (t *Table) Top() uint32 {\n\treturn t.VariableTop\n}\n\ntype source struct {\n\tstr   string\n\tbytes []byte\n}\n\nfunc (src *source) lookup(t *Table) (ce Elem, sz int) {\n\tif src.bytes == nil {\n\t\treturn t.Index.lookupString(src.str)\n\t}\n\treturn t.Index.lookup(src.bytes)\n}\n\nfunc (src *source) tail(sz int) {\n\tif src.bytes == nil {\n\t\tsrc.str = src.str[sz:]\n\t} else {\n\t\tsrc.bytes = src.bytes[sz:]\n\t}\n}\n\nfunc (src *source) nfd(buf []byte, end int) []byte {\n\tif src.bytes == nil {\n\t\treturn norm.NFD.AppendString(buf[:0], src.str[:end])\n\t}\n\treturn norm.NFD.Append(buf[:0], src.bytes[:end]...)\n}\n\nfunc (src *source) rune() (r rune, sz int) {\n\tif src.bytes == nil {\n\t\treturn utf8.DecodeRuneInString(src.str)\n\t}\n\treturn utf8.DecodeRune(src.bytes)\n}\n\nfunc (src *source) properties(f norm.Form) norm.Properties {\n\tif src.bytes == nil {\n\t\treturn f.PropertiesString(src.str)\n\t}\n\treturn f.Properties(src.bytes)\n}\n\n// appendNext appends the weights corresponding to the next rune or\n// contraction in s.  If a contraction is matched to a discontinuous\n// sequence of runes, the weights for the interstitial runes are\n// appended as well.  It returns a new slice that includes the appended\n// weights and the number of bytes consumed from s.\nfunc (t *Table) appendNext(w []Elem, src source) (res []Elem, n int) {\n\tce, sz := src.lookup(t)\n\ttp := ce.ctype()\n\tif tp == ceNormal {\n\t\tif ce == 0 {\n\t\t\tr, _ := src.rune()\n\t\t\tconst (\n\t\t\t\thangulSize  = 3\n\t\t\t\tfirstHangul = 0xAC00\n\t\t\t\tlastHangul  = 0xD7A3\n\t\t\t)\n\t\t\tif r >= firstHangul && r <= lastHangul {\n\t\t\t\t// TODO: performance can be considerably improved here.\n\t\t\t\tn = sz\n\t\t\t\tvar buf [16]byte // Used for decomposing Hangul.\n\t\t\t\tfor b := src.nfd(buf[:0], hangulSize); len(b) > 0; b = b[sz:] {\n\t\t\t\t\tce, sz = t.Index.lookup(b)\n\t\t\t\t\tw = append(w, ce)\n\t\t\t\t}\n\t\t\t\treturn w, n\n\t\t\t}\n\t\t\tce = makeImplicitCE(implicitPrimary(r))\n\t\t}\n\t\tw = append(w, ce)\n\t} else if tp == ceExpansionIndex {\n\t\tw = t.appendExpansion(w, ce)\n\t} else if tp == ceContractionIndex {\n\t\tn := 0\n\t\tsrc.tail(sz)\n\t\tif src.bytes == nil {\n\t\t\tw, n = t.matchContractionString(w, ce, src.str)\n\t\t} else {\n\t\t\tw, n = t.matchContraction(w, ce, src.bytes)\n\t\t}\n\t\tsz += n\n\t} else if tp == ceDecompose {\n\t\t// Decompose using NFKD and replace tertiary weights.\n\t\tt1, t2 := splitDecompose(ce)\n\t\ti := len(w)\n\t\tnfkd := src.properties(norm.NFKD).Decomposition()\n\t\tfor p := 0; len(nfkd) > 0; nfkd = nfkd[p:] {\n\t\t\tw, p = t.appendNext(w, source{bytes: nfkd})\n\t\t}\n\t\tw[i] = w[i].updateTertiary(t1)\n\t\tif i++; i < len(w) {\n\t\t\tw[i] = w[i].updateTertiary(t2)\n\t\t\tfor i++; i < len(w); i++ {\n\t\t\t\tw[i] = w[i].updateTertiary(maxTertiary)\n\t\t\t}\n\t\t}\n\t}\n\treturn w, sz\n}\n\nfunc (t *Table) appendExpansion(w []Elem, ce Elem) []Elem {\n\ti := splitExpandIndex(ce)\n\tn := int(t.ExpandElem[i])\n\ti++\n\tfor _, ce := range t.ExpandElem[i : i+n] {\n\t\tw = append(w, Elem(ce))\n\t}\n\treturn w\n}\n\nfunc (t *Table) matchContraction(w []Elem, ce Elem, suffix []byte) ([]Elem, int) {\n\tindex, n, offset := splitContractIndex(ce)\n\n\tscan := t.ContractTries.scanner(index, n, suffix)\n\tbuf := [norm.MaxSegmentSize]byte{}\n\tbufp := 0\n\tp := scan.scan(0)\n\n\tif !scan.done && p < len(suffix) && suffix[p] >= utf8.RuneSelf {\n\t\t// By now we should have filtered most cases.\n\t\tp0 := p\n\t\tbufn := 0\n\t\trune := norm.NFD.Properties(suffix[p:])\n\t\tp += rune.Size()\n\t\tif rune.LeadCCC() != 0 {\n\t\t\tprevCC := rune.TrailCCC()\n\t\t\t// A gap may only occur in the last normalization segment.\n\t\t\t// This also ensures that len(scan.s) < norm.MaxSegmentSize.\n\t\t\tif end := norm.NFD.FirstBoundary(suffix[p:]); end != -1 {\n\t\t\t\tscan.s = suffix[:p+end]\n\t\t\t}\n\t\t\tfor p < len(suffix) && !scan.done && suffix[p] >= utf8.RuneSelf {\n\t\t\t\trune = norm.NFD.Properties(suffix[p:])\n\t\t\t\tif ccc := rune.LeadCCC(); ccc == 0 || prevCC >= ccc {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tprevCC = rune.TrailCCC()\n\t\t\t\tif pp := scan.scan(p); pp != p {\n\t\t\t\t\t// Copy the interstitial runes for later processing.\n\t\t\t\t\tbufn += copy(buf[bufn:], suffix[p0:p])\n\t\t\t\t\tif scan.pindex == pp {\n\t\t\t\t\t\tbufp = bufn\n\t\t\t\t\t}\n\t\t\t\t\tp, p0 = pp, pp\n\t\t\t\t} else {\n\t\t\t\t\tp += rune.Size()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Append weights for the matched contraction, which may be an expansion.\n\ti, n := scan.result()\n\tce = Elem(t.ContractElem[i+offset])\n\tif ce.ctype() == ceNormal {\n\t\tw = append(w, ce)\n\t} else {\n\t\tw = t.appendExpansion(w, ce)\n\t}\n\t// Append weights for the runes in the segment not part of the contraction.\n\tfor b, p := buf[:bufp], 0; len(b) > 0; b = b[p:] {\n\t\tw, p = t.appendNext(w, source{bytes: b})\n\t}\n\treturn w, n\n}\n\n// TODO: unify the two implementations. This is best done after first simplifying\n// the algorithm taking into account the inclusion of both NFC and NFD forms\n// in the table.\nfunc (t *Table) matchContractionString(w []Elem, ce Elem, suffix string) ([]Elem, int) {\n\tindex, n, offset := splitContractIndex(ce)\n\n\tscan := t.ContractTries.scannerString(index, n, suffix)\n\tbuf := [norm.MaxSegmentSize]byte{}\n\tbufp := 0\n\tp := scan.scan(0)\n\n\tif !scan.done && p < len(suffix) && suffix[p] >= utf8.RuneSelf {\n\t\t// By now we should have filtered most cases.\n\t\tp0 := p\n\t\tbufn := 0\n\t\trune := norm.NFD.PropertiesString(suffix[p:])\n\t\tp += rune.Size()\n\t\tif rune.LeadCCC() != 0 {\n\t\t\tprevCC := rune.TrailCCC()\n\t\t\t// A gap may only occur in the last normalization segment.\n\t\t\t// This also ensures that len(scan.s) < norm.MaxSegmentSize.\n\t\t\tif end := norm.NFD.FirstBoundaryInString(suffix[p:]); end != -1 {\n\t\t\t\tscan.s = suffix[:p+end]\n\t\t\t}\n\t\t\tfor p < len(suffix) && !scan.done && suffix[p] >= utf8.RuneSelf {\n\t\t\t\trune = norm.NFD.PropertiesString(suffix[p:])\n\t\t\t\tif ccc := rune.LeadCCC(); ccc == 0 || prevCC >= ccc {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tprevCC = rune.TrailCCC()\n\t\t\t\tif pp := scan.scan(p); pp != p {\n\t\t\t\t\t// Copy the interstitial runes for later processing.\n\t\t\t\t\tbufn += copy(buf[bufn:], suffix[p0:p])\n\t\t\t\t\tif scan.pindex == pp {\n\t\t\t\t\t\tbufp = bufn\n\t\t\t\t\t}\n\t\t\t\t\tp, p0 = pp, pp\n\t\t\t\t} else {\n\t\t\t\t\tp += rune.Size()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Append weights for the matched contraction, which may be an expansion.\n\ti, n := scan.result()\n\tce = Elem(t.ContractElem[i+offset])\n\tif ce.ctype() == ceNormal {\n\t\tw = append(w, ce)\n\t} else {\n\t\tw = t.appendExpansion(w, ce)\n\t}\n\t// Append weights for the runes in the segment not part of the contraction.\n\tfor b, p := buf[:bufp], 0; len(b) > 0; b = b[p:] {\n\t\tw, p = t.appendNext(w, source{bytes: b})\n\t}\n\treturn w, n\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/trie.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// The trie in this file is used to associate the first full character in an\n// UTF-8 string to a collation element. All but the last byte in a UTF-8 byte\n// sequence are used to lookup offsets in the index table to be used for the\n// next byte. The last byte is used to index into a table of collation elements.\n// For a full description, see go.text/collate/build/trie.go.\n\npackage colltab\n\nconst blockSize = 64\n\ntype Trie struct {\n\tIndex0  []uint16 // index for first byte (0xC0-0xFF)\n\tValues0 []uint32 // index for first byte (0x00-0x7F)\n\tIndex   []uint16\n\tValues  []uint32\n}\n\nconst (\n\tt1 = 0x00 // 0000 0000\n\ttx = 0x80 // 1000 0000\n\tt2 = 0xC0 // 1100 0000\n\tt3 = 0xE0 // 1110 0000\n\tt4 = 0xF0 // 1111 0000\n\tt5 = 0xF8 // 1111 1000\n\tt6 = 0xFC // 1111 1100\n\tte = 0xFE // 1111 1110\n)\n\nfunc (t *Trie) lookupValue(n uint16, b byte) Elem {\n\treturn Elem(t.Values[int(n)<<6+int(b)])\n}\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *Trie) lookup(s []byte) (v Elem, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < tx:\n\t\treturn Elem(t.Values0[c0]), 1\n\tcase c0 < t2:\n\t\treturn 0, 1\n\tcase c0 < t3:\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := t.Index0[c0]\n\t\tc1 := s[1]\n\t\tif c1 < tx || t2 <= c1 {\n\t\t\treturn 0, 1\n\t\t}\n\t\treturn t.lookupValue(i, c1), 2\n\tcase c0 < t4:\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := t.Index0[c0]\n\t\tc1 := s[1]\n\t\tif c1 < tx || t2 <= c1 {\n\t\t\treturn 0, 1\n\t\t}\n\t\to := int(i)<<6 + int(c1)\n\t\ti = t.Index[o]\n\t\tc2 := s[2]\n\t\tif c2 < tx || t2 <= c2 {\n\t\t\treturn 0, 2\n\t\t}\n\t\treturn t.lookupValue(i, c2), 3\n\tcase c0 < t5:\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := t.Index0[c0]\n\t\tc1 := s[1]\n\t\tif c1 < tx || t2 <= c1 {\n\t\t\treturn 0, 1\n\t\t}\n\t\to := int(i)<<6 + int(c1)\n\t\ti = t.Index[o]\n\t\tc2 := s[2]\n\t\tif c2 < tx || t2 <= c2 {\n\t\t\treturn 0, 2\n\t\t}\n\t\to = int(i)<<6 + int(c2)\n\t\ti = t.Index[o]\n\t\tc3 := s[3]\n\t\tif c3 < tx || t2 <= c3 {\n\t\t\treturn 0, 3\n\t\t}\n\t\treturn t.lookupValue(i, c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// The body of lookupString is a verbatim copy of that of lookup.\nfunc (t *Trie) lookupString(s string) (v Elem, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < tx:\n\t\treturn Elem(t.Values0[c0]), 1\n\tcase c0 < t2:\n\t\treturn 0, 1\n\tcase c0 < t3:\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := t.Index0[c0]\n\t\tc1 := s[1]\n\t\tif c1 < tx || t2 <= c1 {\n\t\t\treturn 0, 1\n\t\t}\n\t\treturn t.lookupValue(i, c1), 2\n\tcase c0 < t4:\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := t.Index0[c0]\n\t\tc1 := s[1]\n\t\tif c1 < tx || t2 <= c1 {\n\t\t\treturn 0, 1\n\t\t}\n\t\to := int(i)<<6 + int(c1)\n\t\ti = t.Index[o]\n\t\tc2 := s[2]\n\t\tif c2 < tx || t2 <= c2 {\n\t\t\treturn 0, 2\n\t\t}\n\t\treturn t.lookupValue(i, c2), 3\n\tcase c0 < t5:\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := t.Index0[c0]\n\t\tc1 := s[1]\n\t\tif c1 < tx || t2 <= c1 {\n\t\t\treturn 0, 1\n\t\t}\n\t\to := int(i)<<6 + int(c1)\n\t\ti = t.Index[o]\n\t\tc2 := s[2]\n\t\tif c2 < tx || t2 <= c2 {\n\t\t\treturn 0, 2\n\t\t}\n\t\to = int(i)<<6 + int(c2)\n\t\ti = t.Index[o]\n\t\tc3 := s[3]\n\t\tif c3 < tx || t2 <= c3 {\n\t\t\treturn 0, 3\n\t\t}\n\t\treturn t.lookupValue(i, c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/weighter.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage colltab // import \"golang.org/x/text/internal/colltab\"\n\n// A Weighter can be used as a source for Collator and Searcher.\ntype Weighter interface {\n\t// Start finds the start of the segment that includes position p.\n\tStart(p int, b []byte) int\n\n\t// StartString finds the start of the segment that includes position p.\n\tStartString(p int, s string) int\n\n\t// AppendNext appends Elems to buf corresponding to the longest match\n\t// of a single character or contraction from the start of s.\n\t// It returns the new buf and the number of bytes consumed.\n\tAppendNext(buf []Elem, s []byte) (ce []Elem, n int)\n\n\t// AppendNextString appends Elems to buf corresponding to the longest match\n\t// of a single character or contraction from the start of s.\n\t// It returns the new buf and the number of bytes consumed.\n\tAppendNextString(buf []Elem, s string) (ce []Elem, n int)\n\n\t// Domain returns a slice of all single characters and contractions for which\n\t// collation elements are defined in this table.\n\tDomain() []string\n\n\t// Top returns the highest variable primary value.\n\tTop() uint32\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/gen/code.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gen\n\nimport (\n\t\"bytes\"\n\t\"encoding/gob\"\n\t\"fmt\"\n\t\"hash\"\n\t\"hash/fnv\"\n\t\"io\"\n\t\"log\"\n\t\"os\"\n\t\"reflect\"\n\t\"strings\"\n\t\"unicode\"\n\t\"unicode/utf8\"\n)\n\n// This file contains utilities for generating code.\n\n// TODO: other write methods like:\n// - slices, maps, types, etc.\n\n// CodeWriter is a utility for writing structured code. It computes the content\n// hash and size of written content. It ensures there are newlines between\n// written code blocks.\ntype CodeWriter struct {\n\tbuf  bytes.Buffer\n\tSize int\n\tHash hash.Hash32 // content hash\n\tgob  *gob.Encoder\n\t// For comments we skip the usual one-line separator if they are followed by\n\t// a code block.\n\tskipSep bool\n}\n\nfunc (w *CodeWriter) Write(p []byte) (n int, err error) {\n\treturn w.buf.Write(p)\n}\n\n// NewCodeWriter returns a new CodeWriter.\nfunc NewCodeWriter() *CodeWriter {\n\th := fnv.New32()\n\treturn &CodeWriter{Hash: h, gob: gob.NewEncoder(h)}\n}\n\n// WriteGoFile appends the buffer with the total size of all created structures\n// and writes it as a Go file to the the given file with the given package name.\nfunc (w *CodeWriter) WriteGoFile(filename, pkg string) {\n\tf, err := os.Create(filename)\n\tif err != nil {\n\t\tlog.Fatalf(\"Could not create file %s: %v\", filename, err)\n\t}\n\tdefer f.Close()\n\tif _, err = w.WriteGo(f, pkg, \"\"); err != nil {\n\t\tlog.Fatalf(\"Error writing file %s: %v\", filename, err)\n\t}\n}\n\n// WriteVersionedGoFile appends the buffer with the total size of all created\n// structures and writes it as a Go file to the the given file with the given\n// package name and build tags for the current Unicode version,\nfunc (w *CodeWriter) WriteVersionedGoFile(filename, pkg string) {\n\ttags := buildTags()\n\tif tags != \"\" {\n\t\tfilename = insertVersion(filename, UnicodeVersion())\n\t}\n\tf, err := os.Create(filename)\n\tif err != nil {\n\t\tlog.Fatalf(\"Could not create file %s: %v\", filename, err)\n\t}\n\tdefer f.Close()\n\tif _, err = w.WriteGo(f, pkg, tags); err != nil {\n\t\tlog.Fatalf(\"Error writing file %s: %v\", filename, err)\n\t}\n}\n\n// WriteGo appends the buffer with the total size of all created structures and\n// writes it as a Go file to the the given writer with the given package name.\nfunc (w *CodeWriter) WriteGo(out io.Writer, pkg, tags string) (n int, err error) {\n\tsz := w.Size\n\tw.WriteComment(\"Total table size %d bytes (%dKiB); checksum: %X\\n\", sz, sz/1024, w.Hash.Sum32())\n\tdefer w.buf.Reset()\n\treturn WriteGo(out, pkg, tags, w.buf.Bytes())\n}\n\nfunc (w *CodeWriter) printf(f string, x ...interface{}) {\n\tfmt.Fprintf(w, f, x...)\n}\n\nfunc (w *CodeWriter) insertSep() {\n\tif w.skipSep {\n\t\tw.skipSep = false\n\t\treturn\n\t}\n\t// Use at least two newlines to ensure a blank space between the previous\n\t// block. WriteGoFile will remove extraneous newlines.\n\tw.printf(\"\\n\\n\")\n}\n\n// WriteComment writes a comment block. All line starts are prefixed with \"//\".\n// Initial empty lines are gobbled. The indentation for the first line is\n// stripped from consecutive lines.\nfunc (w *CodeWriter) WriteComment(comment string, args ...interface{}) {\n\ts := fmt.Sprintf(comment, args...)\n\ts = strings.Trim(s, \"\\n\")\n\n\t// Use at least two newlines to ensure a blank space between the previous\n\t// block. WriteGoFile will remove extraneous newlines.\n\tw.printf(\"\\n\\n// \")\n\tw.skipSep = true\n\n\t// strip first indent level.\n\tsep := \"\\n\"\n\tfor ; len(s) > 0 && (s[0] == '\\t' || s[0] == ' '); s = s[1:] {\n\t\tsep += s[:1]\n\t}\n\n\tstrings.NewReplacer(sep, \"\\n// \", \"\\n\", \"\\n// \").WriteString(w, s)\n\n\tw.printf(\"\\n\")\n}\n\nfunc (w *CodeWriter) writeSizeInfo(size int) {\n\tw.printf(\"// Size: %d bytes\\n\", size)\n}\n\n// WriteConst writes a constant of the given name and value.\nfunc (w *CodeWriter) WriteConst(name string, x interface{}) {\n\tw.insertSep()\n\tv := reflect.ValueOf(x)\n\n\tswitch v.Type().Kind() {\n\tcase reflect.String:\n\t\tw.printf(\"const %s %s = \", name, typeName(x))\n\t\tw.WriteString(v.String())\n\t\tw.printf(\"\\n\")\n\tdefault:\n\t\tw.printf(\"const %s = %#v\\n\", name, x)\n\t}\n}\n\n// WriteVar writes a variable of the given name and value.\nfunc (w *CodeWriter) WriteVar(name string, x interface{}) {\n\tw.insertSep()\n\tv := reflect.ValueOf(x)\n\toldSize := w.Size\n\tsz := int(v.Type().Size())\n\tw.Size += sz\n\n\tswitch v.Type().Kind() {\n\tcase reflect.String:\n\t\tw.printf(\"var %s %s = \", name, typeName(x))\n\t\tw.WriteString(v.String())\n\tcase reflect.Struct:\n\t\tw.gob.Encode(x)\n\t\tfallthrough\n\tcase reflect.Slice, reflect.Array:\n\t\tw.printf(\"var %s = \", name)\n\t\tw.writeValue(v)\n\t\tw.writeSizeInfo(w.Size - oldSize)\n\tdefault:\n\t\tw.printf(\"var %s %s = \", name, typeName(x))\n\t\tw.gob.Encode(x)\n\t\tw.writeValue(v)\n\t\tw.writeSizeInfo(w.Size - oldSize)\n\t}\n\tw.printf(\"\\n\")\n}\n\nfunc (w *CodeWriter) writeValue(v reflect.Value) {\n\tx := v.Interface()\n\tswitch v.Kind() {\n\tcase reflect.String:\n\t\tw.WriteString(v.String())\n\tcase reflect.Array:\n\t\t// Don't double count: callers of WriteArray count on the size being\n\t\t// added, so we need to discount it here.\n\t\tw.Size -= int(v.Type().Size())\n\t\tw.writeSlice(x, true)\n\tcase reflect.Slice:\n\t\tw.writeSlice(x, false)\n\tcase reflect.Struct:\n\t\tw.printf(\"%s{\\n\", typeName(v.Interface()))\n\t\tt := v.Type()\n\t\tfor i := 0; i < v.NumField(); i++ {\n\t\t\tw.printf(\"%s: \", t.Field(i).Name)\n\t\t\tw.writeValue(v.Field(i))\n\t\t\tw.printf(\",\\n\")\n\t\t}\n\t\tw.printf(\"}\")\n\tdefault:\n\t\tw.printf(\"%#v\", x)\n\t}\n}\n\n// WriteString writes a string literal.\nfunc (w *CodeWriter) WriteString(s string) {\n\ts = strings.Replace(s, `\\`, `\\\\`, -1)\n\tio.WriteString(w.Hash, s) // content hash\n\tw.Size += len(s)\n\n\tconst maxInline = 40\n\tif len(s) <= maxInline {\n\t\tw.printf(\"%q\", s)\n\t\treturn\n\t}\n\n\t// We will render the string as a multi-line string.\n\tconst maxWidth = 80 - 4 - len(`\"`) - len(`\" +`)\n\n\t// When starting on its own line, go fmt indents line 2+ an extra level.\n\tn, max := maxWidth, maxWidth-4\n\n\t// As per https://golang.org/issue/18078, the compiler has trouble\n\t// compiling the concatenation of many strings, s0 + s1 + s2 + ... + sN,\n\t// for large N. We insert redundant, explicit parentheses to work around\n\t// that, lowering the N at any given step: (s0 + s1 + ... + s63) + (s64 +\n\t// ... + s127) + etc + (etc + ... + sN).\n\texplicitParens, extraComment := len(s) > 128*1024, \"\"\n\tif explicitParens {\n\t\tw.printf(`(`)\n\t\textraComment = \"; the redundant, explicit parens are for https://golang.org/issue/18078\"\n\t}\n\n\t// Print \"\" +\\n, if a string does not start on its own line.\n\tb := w.buf.Bytes()\n\tif p := len(bytes.TrimRight(b, \" \\t\")); p > 0 && b[p-1] != '\\n' {\n\t\tw.printf(\"\\\"\\\" + // Size: %d bytes%s\\n\", len(s), extraComment)\n\t\tn, max = maxWidth, maxWidth\n\t}\n\n\tw.printf(`\"`)\n\n\tfor sz, p, nLines := 0, 0, 0; p < len(s); {\n\t\tvar r rune\n\t\tr, sz = utf8.DecodeRuneInString(s[p:])\n\t\tout := s[p : p+sz]\n\t\tchars := 1\n\t\tif !unicode.IsPrint(r) || r == utf8.RuneError || r == '\"' {\n\t\t\tswitch sz {\n\t\t\tcase 1:\n\t\t\t\tout = fmt.Sprintf(\"\\\\x%02x\", s[p])\n\t\t\tcase 2, 3:\n\t\t\t\tout = fmt.Sprintf(\"\\\\u%04x\", r)\n\t\t\tcase 4:\n\t\t\t\tout = fmt.Sprintf(\"\\\\U%08x\", r)\n\t\t\t}\n\t\t\tchars = len(out)\n\t\t}\n\t\tif n -= chars; n < 0 {\n\t\t\tnLines++\n\t\t\tif explicitParens && nLines&63 == 63 {\n\t\t\t\tw.printf(\"\\\") + (\\\"\")\n\t\t\t}\n\t\t\tw.printf(\"\\\" +\\n\\\"\")\n\t\t\tn = max - len(out)\n\t\t}\n\t\tw.printf(\"%s\", out)\n\t\tp += sz\n\t}\n\tw.printf(`\"`)\n\tif explicitParens {\n\t\tw.printf(`)`)\n\t}\n}\n\n// WriteSlice writes a slice value.\nfunc (w *CodeWriter) WriteSlice(x interface{}) {\n\tw.writeSlice(x, false)\n}\n\n// WriteArray writes an array value.\nfunc (w *CodeWriter) WriteArray(x interface{}) {\n\tw.writeSlice(x, true)\n}\n\nfunc (w *CodeWriter) writeSlice(x interface{}, isArray bool) {\n\tv := reflect.ValueOf(x)\n\tw.gob.Encode(v.Len())\n\tw.Size += v.Len() * int(v.Type().Elem().Size())\n\tname := typeName(x)\n\tif isArray {\n\t\tname = fmt.Sprintf(\"[%d]%s\", v.Len(), name[strings.Index(name, \"]\")+1:])\n\t}\n\tif isArray {\n\t\tw.printf(\"%s{\\n\", name)\n\t} else {\n\t\tw.printf(\"%s{ // %d elements\\n\", name, v.Len())\n\t}\n\n\tswitch kind := v.Type().Elem().Kind(); kind {\n\tcase reflect.String:\n\t\tfor _, s := range x.([]string) {\n\t\t\tw.WriteString(s)\n\t\t\tw.printf(\",\\n\")\n\t\t}\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,\n\t\treflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:\n\t\t// nLine and nBlock are the number of elements per line and block.\n\t\tnLine, nBlock, format := 8, 64, \"%d,\"\n\t\tswitch kind {\n\t\tcase reflect.Uint8:\n\t\t\tformat = \"%#02x,\"\n\t\tcase reflect.Uint16:\n\t\t\tformat = \"%#04x,\"\n\t\tcase reflect.Uint32:\n\t\t\tnLine, nBlock, format = 4, 32, \"%#08x,\"\n\t\tcase reflect.Uint, reflect.Uint64:\n\t\t\tnLine, nBlock, format = 4, 32, \"%#016x,\"\n\t\tcase reflect.Int8:\n\t\t\tnLine = 16\n\t\t}\n\t\tn := nLine\n\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\tif i%nBlock == 0 && v.Len() > nBlock {\n\t\t\t\tw.printf(\"// Entry %X - %X\\n\", i, i+nBlock-1)\n\t\t\t}\n\t\t\tx := v.Index(i).Interface()\n\t\t\tw.gob.Encode(x)\n\t\t\tw.printf(format, x)\n\t\t\tif n--; n == 0 {\n\t\t\t\tn = nLine\n\t\t\t\tw.printf(\"\\n\")\n\t\t\t}\n\t\t}\n\t\tw.printf(\"\\n\")\n\tcase reflect.Struct:\n\t\tzero := reflect.Zero(v.Type().Elem()).Interface()\n\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\tx := v.Index(i).Interface()\n\t\t\tw.gob.EncodeValue(v)\n\t\t\tif !reflect.DeepEqual(zero, x) {\n\t\t\t\tline := fmt.Sprintf(\"%#v,\\n\", x)\n\t\t\t\tline = line[strings.IndexByte(line, '{'):]\n\t\t\t\tw.printf(\"%d: \", i)\n\t\t\t\tw.printf(line)\n\t\t\t}\n\t\t}\n\tcase reflect.Array:\n\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\tw.printf(\"%d: %#v,\\n\", i, v.Index(i).Interface())\n\t\t}\n\tdefault:\n\t\tpanic(\"gen: slice elem type not supported\")\n\t}\n\tw.printf(\"}\")\n}\n\n// WriteType writes a definition of the type of the given value and returns the\n// type name.\nfunc (w *CodeWriter) WriteType(x interface{}) string {\n\tt := reflect.TypeOf(x)\n\tw.printf(\"type %s struct {\\n\", t.Name())\n\tfor i := 0; i < t.NumField(); i++ {\n\t\tw.printf(\"\\t%s %s\\n\", t.Field(i).Name, t.Field(i).Type)\n\t}\n\tw.printf(\"}\\n\")\n\treturn t.Name()\n}\n\n// typeName returns the name of the go type of x.\nfunc typeName(x interface{}) string {\n\tt := reflect.ValueOf(x).Type()\n\treturn strings.Replace(fmt.Sprint(t), \"main.\", \"\", 1)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/gen/gen.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package gen contains common code for the various code generation tools in the\n// text repository. Its usage ensures consistency between tools.\n//\n// This package defines command line flags that are common to most generation\n// tools. The flags allow for specifying specific Unicode and CLDR versions\n// in the public Unicode data repository (http://www.unicode.org/Public).\n//\n// A local Unicode data mirror can be set through the flag -local or the\n// environment variable UNICODE_DIR. The former takes precedence. The local\n// directory should follow the same structure as the public repository.\n//\n// IANA data can also optionally be mirrored by putting it in the iana directory\n// rooted at the top of the local mirror. Beware, though, that IANA data is not\n// versioned. So it is up to the developer to use the right version.\npackage gen // import \"golang.org/x/text/internal/gen\"\n\nimport (\n\t\"bytes\"\n\t\"flag\"\n\t\"fmt\"\n\t\"go/build\"\n\t\"go/format\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n\t\"os\"\n\t\"path\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"sync\"\n\t\"unicode\"\n\n\t\"golang.org/x/text/unicode/cldr\"\n)\n\nvar (\n\turl = flag.String(\"url\",\n\t\t\"http://www.unicode.org/Public\",\n\t\t\"URL of Unicode database directory\")\n\tiana = flag.String(\"iana\",\n\t\t\"http://www.iana.org\",\n\t\t\"URL of the IANA repository\")\n\tunicodeVersion = flag.String(\"unicode\",\n\t\tgetEnv(\"UNICODE_VERSION\", unicode.Version),\n\t\t\"unicode version to use\")\n\tcldrVersion = flag.String(\"cldr\",\n\t\tgetEnv(\"CLDR_VERSION\", cldr.Version),\n\t\t\"cldr version to use\")\n)\n\nfunc getEnv(name, def string) string {\n\tif v := os.Getenv(name); v != \"\" {\n\t\treturn v\n\t}\n\treturn def\n}\n\n// Init performs common initialization for a gen command. It parses the flags\n// and sets up the standard logging parameters.\nfunc Init() {\n\tlog.SetPrefix(\"\")\n\tlog.SetFlags(log.Lshortfile)\n\tflag.Parse()\n}\n\nconst header = `// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n`\n\n// UnicodeVersion reports the requested Unicode version.\nfunc UnicodeVersion() string {\n\treturn *unicodeVersion\n}\n\n// CLDRVersion reports the requested CLDR version.\nfunc CLDRVersion() string {\n\treturn *cldrVersion\n}\n\nvar tags = []struct{ version, buildTags string }{\n\t{\"10.0.0\", \"go1.10\"},\n\t{\"\", \"!go1.10\"},\n}\n\n// buildTags reports the build tags used for the current Unicode version.\nfunc buildTags() string {\n\tv := UnicodeVersion()\n\tfor _, x := range tags {\n\t\t// We should do a numeric comparison, but including the collate package\n\t\t// would create an import cycle. We approximate it by assuming that\n\t\t// longer version strings are later.\n\t\tif len(x.version) <= len(v) {\n\t\t\treturn x.buildTags\n\t\t}\n\t\tif len(x.version) == len(v) && x.version <= v {\n\t\t\treturn x.buildTags\n\t\t}\n\t}\n\treturn tags[0].buildTags\n}\n\n// IsLocal reports whether data files are available locally.\nfunc IsLocal() bool {\n\tdir, err := localReadmeFile()\n\tif err != nil {\n\t\treturn false\n\t}\n\tif _, err = os.Stat(dir); err != nil {\n\t\treturn false\n\t}\n\treturn true\n}\n\n// OpenUCDFile opens the requested UCD file. The file is specified relative to\n// the public Unicode root directory. It will call log.Fatal if there are any\n// errors.\nfunc OpenUCDFile(file string) io.ReadCloser {\n\treturn openUnicode(path.Join(*unicodeVersion, \"ucd\", file))\n}\n\n// OpenCLDRCoreZip opens the CLDR core zip file. It will call log.Fatal if there\n// are any errors.\nfunc OpenCLDRCoreZip() io.ReadCloser {\n\treturn OpenUnicodeFile(\"cldr\", *cldrVersion, \"core.zip\")\n}\n\n// OpenUnicodeFile opens the requested file of the requested category from the\n// root of the Unicode data archive. The file is specified relative to the\n// public Unicode root directory. If version is \"\", it will use the default\n// Unicode version. It will call log.Fatal if there are any errors.\nfunc OpenUnicodeFile(category, version, file string) io.ReadCloser {\n\tif version == \"\" {\n\t\tversion = UnicodeVersion()\n\t}\n\treturn openUnicode(path.Join(category, version, file))\n}\n\n// OpenIANAFile opens the requested IANA file. The file is specified relative\n// to the IANA root, which is typically either http://www.iana.org or the\n// iana directory in the local mirror. It will call log.Fatal if there are any\n// errors.\nfunc OpenIANAFile(path string) io.ReadCloser {\n\treturn Open(*iana, \"iana\", path)\n}\n\nvar (\n\tdirMutex sync.Mutex\n\tlocalDir string\n)\n\nconst permissions = 0755\n\nfunc localReadmeFile() (string, error) {\n\tp, err := build.Import(\"golang.org/x/text\", \"\", build.FindOnly)\n\tif err != nil {\n\t\treturn \"\", fmt.Errorf(\"Could not locate package: %v\", err)\n\t}\n\treturn filepath.Join(p.Dir, \"DATA\", \"README\"), nil\n}\n\nfunc getLocalDir() string {\n\tdirMutex.Lock()\n\tdefer dirMutex.Unlock()\n\n\treadme, err := localReadmeFile()\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tdir := filepath.Dir(readme)\n\tif _, err := os.Stat(readme); err != nil {\n\t\tif err := os.MkdirAll(dir, permissions); err != nil {\n\t\t\tlog.Fatalf(\"Could not create directory: %v\", err)\n\t\t}\n\t\tioutil.WriteFile(readme, []byte(readmeTxt), permissions)\n\t}\n\treturn dir\n}\n\nconst readmeTxt = `Generated by golang.org/x/text/internal/gen. DO NOT EDIT.\n\nThis directory contains downloaded files used to generate the various tables\nin the golang.org/x/text subrepo.\n\nNote that the language subtag repo (iana/assignments/language-subtag-registry)\nand all other times in the iana subdirectory are not versioned and will need\nto be periodically manually updated. The easiest way to do this is to remove\nthe entire iana directory. This is mostly of concern when updating the language\npackage.\n`\n\n// Open opens subdir/path if a local directory is specified and the file exists,\n// where subdir is a directory relative to the local root, or fetches it from\n// urlRoot/path otherwise. It will call log.Fatal if there are any errors.\nfunc Open(urlRoot, subdir, path string) io.ReadCloser {\n\tfile := filepath.Join(getLocalDir(), subdir, filepath.FromSlash(path))\n\treturn open(file, urlRoot, path)\n}\n\nfunc openUnicode(path string) io.ReadCloser {\n\tfile := filepath.Join(getLocalDir(), filepath.FromSlash(path))\n\treturn open(file, *url, path)\n}\n\n// TODO: automatically periodically update non-versioned files.\n\nfunc open(file, urlRoot, path string) io.ReadCloser {\n\tif f, err := os.Open(file); err == nil {\n\t\treturn f\n\t}\n\tr := get(urlRoot, path)\n\tdefer r.Close()\n\tb, err := ioutil.ReadAll(r)\n\tif err != nil {\n\t\tlog.Fatalf(\"Could not download file: %v\", err)\n\t}\n\tos.MkdirAll(filepath.Dir(file), permissions)\n\tif err := ioutil.WriteFile(file, b, permissions); err != nil {\n\t\tlog.Fatalf(\"Could not create file: %v\", err)\n\t}\n\treturn ioutil.NopCloser(bytes.NewReader(b))\n}\n\nfunc get(root, path string) io.ReadCloser {\n\turl := root + \"/\" + path\n\tfmt.Printf(\"Fetching %s...\", url)\n\tdefer fmt.Println(\" done.\")\n\tresp, err := http.Get(url)\n\tif err != nil {\n\t\tlog.Fatalf(\"HTTP GET: %v\", err)\n\t}\n\tif resp.StatusCode != 200 {\n\t\tlog.Fatalf(\"Bad GET status for %q: %q\", url, resp.Status)\n\t}\n\treturn resp.Body\n}\n\n// TODO: use Write*Version in all applicable packages.\n\n// WriteUnicodeVersion writes a constant for the Unicode version from which the\n// tables are generated.\nfunc WriteUnicodeVersion(w io.Writer) {\n\tfmt.Fprintf(w, \"// UnicodeVersion is the Unicode version from which the tables in this package are derived.\\n\")\n\tfmt.Fprintf(w, \"const UnicodeVersion = %q\\n\\n\", UnicodeVersion())\n}\n\n// WriteCLDRVersion writes a constant for the CLDR version from which the\n// tables are generated.\nfunc WriteCLDRVersion(w io.Writer) {\n\tfmt.Fprintf(w, \"// CLDRVersion is the CLDR version from which the tables in this package are derived.\\n\")\n\tfmt.Fprintf(w, \"const CLDRVersion = %q\\n\\n\", CLDRVersion())\n}\n\n// WriteGoFile prepends a standard file comment and package statement to the\n// given bytes, applies gofmt, and writes them to a file with the given name.\n// It will call log.Fatal if there are any errors.\nfunc WriteGoFile(filename, pkg string, b []byte) {\n\tw, err := os.Create(filename)\n\tif err != nil {\n\t\tlog.Fatalf(\"Could not create file %s: %v\", filename, err)\n\t}\n\tdefer w.Close()\n\tif _, err = WriteGo(w, pkg, \"\", b); err != nil {\n\t\tlog.Fatalf(\"Error writing file %s: %v\", filename, err)\n\t}\n}\n\nfunc insertVersion(filename, version string) string {\n\tsuffix := \".go\"\n\tif strings.HasSuffix(filename, \"_test.go\") {\n\t\tsuffix = \"_test.go\"\n\t}\n\treturn fmt.Sprint(filename[:len(filename)-len(suffix)], version, suffix)\n}\n\n// WriteVersionedGoFile prepends a standard file comment, adds build tags to\n// version the file for the current Unicode version, and package statement to\n// the given bytes, applies gofmt, and writes them to a file with the given\n// name. It will call log.Fatal if there are any errors.\nfunc WriteVersionedGoFile(filename, pkg string, b []byte) {\n\ttags := buildTags()\n\tif tags != \"\" {\n\t\tfilename = insertVersion(filename, UnicodeVersion())\n\t}\n\tw, err := os.Create(filename)\n\tif err != nil {\n\t\tlog.Fatalf(\"Could not create file %s: %v\", filename, err)\n\t}\n\tdefer w.Close()\n\tif _, err = WriteGo(w, pkg, tags, b); err != nil {\n\t\tlog.Fatalf(\"Error writing file %s: %v\", filename, err)\n\t}\n}\n\n// WriteGo prepends a standard file comment and package statement to the given\n// bytes, applies gofmt, and writes them to w.\nfunc WriteGo(w io.Writer, pkg, tags string, b []byte) (n int, err error) {\n\tsrc := []byte(header)\n\tif tags != \"\" {\n\t\tsrc = append(src, fmt.Sprintf(\"// +build %s\\n\\n\", tags)...)\n\t}\n\tsrc = append(src, fmt.Sprintf(\"package %s\\n\\n\", pkg)...)\n\tsrc = append(src, b...)\n\tformatted, err := format.Source(src)\n\tif err != nil {\n\t\t// Print the generated code even in case of an error so that the\n\t\t// returned error can be meaningfully interpreted.\n\t\tn, _ = w.Write(src)\n\t\treturn n, err\n\t}\n\treturn w.Write(formatted)\n}\n\n// Repackage rewrites a Go file from belonging to package main to belonging to\n// the given package.\nfunc Repackage(inFile, outFile, pkg string) {\n\tsrc, err := ioutil.ReadFile(inFile)\n\tif err != nil {\n\t\tlog.Fatalf(\"reading %s: %v\", inFile, err)\n\t}\n\tconst toDelete = \"package main\\n\\n\"\n\ti := bytes.Index(src, []byte(toDelete))\n\tif i < 0 {\n\t\tlog.Fatalf(\"Could not find %q in %s.\", toDelete, inFile)\n\t}\n\tw := &bytes.Buffer{}\n\tw.Write(src[i+len(toDelete):])\n\tWriteGoFile(outFile, pkg, w.Bytes())\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/gen.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\nimport (\n\t\"log\"\n\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/language\"\n\t\"golang.org/x/text/unicode/cldr\"\n)\n\nfunc main() {\n\tr := gen.OpenCLDRCoreZip()\n\tdefer r.Close()\n\n\td := &cldr.Decoder{}\n\tdata, err := d.DecodeZip(r)\n\tif err != nil {\n\t\tlog.Fatalf(\"DecodeZip: %v\", err)\n\t}\n\n\tw := gen.NewCodeWriter()\n\tdefer w.WriteGoFile(\"tables.go\", \"internal\")\n\n\t// Create parents table.\n\tparents := make([]uint16, language.NumCompactTags)\n\tfor _, loc := range data.Locales() {\n\t\ttag := language.MustParse(loc)\n\t\tindex, ok := language.CompactIndex(tag)\n\t\tif !ok {\n\t\t\tcontinue\n\t\t}\n\t\tparentIndex := 0 // und\n\t\tfor p := tag.Parent(); p != language.Und; p = p.Parent() {\n\t\t\tif x, ok := language.CompactIndex(p); ok {\n\t\t\t\tparentIndex = x\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tparents[index] = uint16(parentIndex)\n\t}\n\n\tw.WriteComment(`\n\tParent maps a compact index of a tag to the compact index of the parent of\n\tthis tag.`)\n\tw.WriteVar(\"Parent\", parents)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/internal.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//go:generate go run gen.go\n\n// Package internal contains non-exported functionality that are used by\n// packages in the text repository.\npackage internal // import \"golang.org/x/text/internal\"\n\nimport (\n\t\"sort\"\n\n\t\"golang.org/x/text/language\"\n)\n\n// SortTags sorts tags in place.\nfunc SortTags(tags []language.Tag) {\n\tsort.Sort(sorter(tags))\n}\n\ntype sorter []language.Tag\n\nfunc (s sorter) Len() int {\n\treturn len(s)\n}\n\nfunc (s sorter) Swap(i, j int) {\n\ts[i], s[j] = s[j], s[i]\n}\n\nfunc (s sorter) Less(i, j int) bool {\n\treturn s[i].String() < s[j].String()\n}\n\n// UniqueTags sorts and filters duplicate tags in place and returns a slice with\n// only unique tags.\nfunc UniqueTags(tags []language.Tag) []language.Tag {\n\tif len(tags) <= 1 {\n\t\treturn tags\n\t}\n\tSortTags(tags)\n\tk := 0\n\tfor i := 1; i < len(tags); i++ {\n\t\tif tags[k].String() < tags[i].String() {\n\t\t\tk++\n\t\t\ttags[k] = tags[i]\n\t\t}\n\t}\n\treturn tags[:k+1]\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/match.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage internal\n\n// This file contains matchers that implement CLDR inheritance.\n//\n//     See http://unicode.org/reports/tr35/#Locale_Inheritance.\n//\n// Some of the inheritance described in this document is already handled by\n// the cldr package.\n\nimport (\n\t\"golang.org/x/text/language\"\n)\n\n// TODO: consider if (some of the) matching algorithm needs to be public after\n// getting some feel about what is generic and what is specific.\n\n// NewInheritanceMatcher returns a matcher that matches based on the inheritance\n// chain.\n//\n// The matcher uses canonicalization and the parent relationship to find a\n// match. The resulting match will always be either Und or a language with the\n// same language and script as the requested language. It will not match\n// languages for which there is understood to be mutual or one-directional\n// intelligibility.\n//\n// A Match will indicate an Exact match if the language matches after\n// canonicalization and High if the matched tag is a parent.\nfunc NewInheritanceMatcher(t []language.Tag) *InheritanceMatcher {\n\ttags := &InheritanceMatcher{make(map[language.Tag]int)}\n\tfor i, tag := range t {\n\t\tct, err := language.All.Canonicalize(tag)\n\t\tif err != nil {\n\t\t\tct = tag\n\t\t}\n\t\ttags.index[ct] = i\n\t}\n\treturn tags\n}\n\ntype InheritanceMatcher struct {\n\tindex map[language.Tag]int\n}\n\nfunc (m InheritanceMatcher) Match(want ...language.Tag) (language.Tag, int, language.Confidence) {\n\tfor _, t := range want {\n\t\tct, err := language.All.Canonicalize(t)\n\t\tif err != nil {\n\t\t\tct = t\n\t\t}\n\t\tconf := language.Exact\n\t\tfor {\n\t\t\tif index, ok := m.index[ct]; ok {\n\t\t\t\treturn ct, index, conf\n\t\t\t}\n\t\t\tif ct == language.Und {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tct = ct.Parent()\n\t\t\tconf = language.High\n\t\t}\n\t}\n\treturn language.Und, 0, language.No\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/tables.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage internal\n\n// Parent maps a compact index of a tag to the compact index of the parent of\n// this tag.\nvar Parent = []uint16{ // 768 elements\n\t// Entry 0 - 3F\n\t0x0000, 0x0053, 0x00e8, 0x0000, 0x0003, 0x0003, 0x0000, 0x0006,\n\t0x0000, 0x0008, 0x0000, 0x000a, 0x0000, 0x000c, 0x000c, 0x000c,\n\t0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c,\n\t0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c,\n\t0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c,\n\t0x000c, 0x0000, 0x0000, 0x002a, 0x0000, 0x002c, 0x0000, 0x002e,\n\t0x0000, 0x0000, 0x0031, 0x0030, 0x0030, 0x0000, 0x0035, 0x0000,\n\t0x0037, 0x0000, 0x0039, 0x0000, 0x003b, 0x0000, 0x003d, 0x0000,\n\t// Entry 40 - 7F\n\t0x0000, 0x0040, 0x0000, 0x0042, 0x0042, 0x0000, 0x0045, 0x0045,\n\t0x0000, 0x0048, 0x0000, 0x004a, 0x0000, 0x0000, 0x004d, 0x004c,\n\t0x004c, 0x0000, 0x0051, 0x0051, 0x0051, 0x0051, 0x0000, 0x0056,\n\t0x0056, 0x0000, 0x0059, 0x0000, 0x005b, 0x0000, 0x005d, 0x0000,\n\t0x005f, 0x005f, 0x0000, 0x0062, 0x0000, 0x0064, 0x0000, 0x0066,\n\t0x0000, 0x0068, 0x0068, 0x0000, 0x006b, 0x0000, 0x006d, 0x006d,\n\t0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x0000, 0x0075, 0x0000,\n\t0x0077, 0x0000, 0x0079, 0x0000, 0x0000, 0x007c, 0x0000, 0x007e,\n\t// Entry 80 - BF\n\t0x0000, 0x0080, 0x0000, 0x0082, 0x0082, 0x0000, 0x0085, 0x0085,\n\t0x0000, 0x0088, 0x0089, 0x0089, 0x0089, 0x0088, 0x008a, 0x0089,\n\t0x0089, 0x0089, 0x0088, 0x0089, 0x0089, 0x0089, 0x0089, 0x0089,\n\t0x0089, 0x008a, 0x0089, 0x0089, 0x0089, 0x0089, 0x008a, 0x0089,\n\t0x008a, 0x0089, 0x0089, 0x008a, 0x0089, 0x0089, 0x0089, 0x0089,\n\t0x0089, 0x0089, 0x0089, 0x0089, 0x0089, 0x0088, 0x0089, 0x0089,\n\t0x0089, 0x0089, 0x0089, 0x0089, 0x0089, 0x0089, 0x0089, 0x0089,\n\t0x0089, 0x0089, 0x0089, 0x0089, 0x0089, 0x0089, 0x0089, 0x0088,\n\t// Entry C0 - FF\n\t0x0089, 0x0088, 0x0089, 0x0089, 0x0089, 0x0089, 0x0089, 0x0089,\n\t0x0089, 0x0089, 0x008a, 0x0089, 0x0089, 0x0089, 0x0089, 0x0089,\n\t0x0089, 0x0089, 0x0088, 0x0089, 0x0089, 0x0089, 0x0089, 0x0089,\n\t0x008a, 0x0089, 0x0089, 0x008a, 0x0089, 0x0089, 0x0089, 0x0089,\n\t0x0089, 0x0089, 0x0089, 0x0089, 0x0089, 0x0089, 0x0089, 0x0088,\n\t0x0088, 0x0089, 0x0089, 0x0088, 0x0089, 0x0089, 0x0089, 0x0089,\n\t0x0089, 0x0000, 0x00f1, 0x0000, 0x00f3, 0x00f4, 0x00f4, 0x00f4,\n\t0x00f4, 0x00f4, 0x00f4, 0x00f4, 0x00f4, 0x00f4, 0x00f3, 0x00f4,\n\t// Entry 100 - 13F\n\t0x00f3, 0x00f3, 0x00f4, 0x00f4, 0x00f3, 0x00f4, 0x00f4, 0x00f4,\n\t0x00f4, 0x00f3, 0x00f4, 0x00f4, 0x00f4, 0x00f4, 0x00f4, 0x00f4,\n\t0x0000, 0x0110, 0x0000, 0x0112, 0x0000, 0x0114, 0x0000, 0x0116,\n\t0x0116, 0x0000, 0x0119, 0x0119, 0x0119, 0x0119, 0x0000, 0x011e,\n\t0x0000, 0x0120, 0x0000, 0x0122, 0x0122, 0x0000, 0x0125, 0x0125,\n\t0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125,\n\t0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125,\n\t0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125,\n\t// Entry 140 - 17F\n\t0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125,\n\t0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125, 0x0125,\n\t0x0125, 0x0125, 0x0125, 0x0125, 0x0000, 0x0154, 0x0000, 0x0156,\n\t0x0000, 0x0158, 0x0000, 0x015a, 0x0000, 0x015c, 0x0000, 0x015e,\n\t0x015e, 0x015e, 0x0000, 0x0162, 0x0000, 0x0000, 0x0165, 0x0000,\n\t0x0167, 0x0000, 0x0169, 0x0169, 0x0169, 0x0000, 0x016d, 0x0000,\n\t0x016f, 0x0000, 0x0171, 0x0000, 0x0173, 0x0173, 0x0000, 0x0176,\n\t0x0000, 0x0178, 0x0000, 0x017a, 0x0000, 0x017c, 0x0000, 0x017e,\n\t// Entry 180 - 1BF\n\t0x0000, 0x0180, 0x0000, 0x0000, 0x0183, 0x0000, 0x0185, 0x0185,\n\t0x0185, 0x0185, 0x0000, 0x0000, 0x018b, 0x0000, 0x0000, 0x018e,\n\t0x0000, 0x0190, 0x0000, 0x0000, 0x0193, 0x0000, 0x0195, 0x0000,\n\t0x0000, 0x0198, 0x0000, 0x0000, 0x019b, 0x0000, 0x019d, 0x0000,\n\t0x019f, 0x0000, 0x01a1, 0x0000, 0x01a3, 0x0000, 0x01a5, 0x0000,\n\t0x01a7, 0x0000, 0x01a9, 0x0000, 0x01ab, 0x0000, 0x01ad, 0x0000,\n\t0x01af, 0x01af, 0x0000, 0x01b2, 0x0000, 0x01b4, 0x0000, 0x01b6,\n\t0x0000, 0x01b8, 0x0000, 0x01ba, 0x0000, 0x0000, 0x01bd, 0x0000,\n\t// Entry 1C0 - 1FF\n\t0x01bf, 0x0000, 0x01c1, 0x0000, 0x01c3, 0x0000, 0x01c5, 0x0000,\n\t0x01c7, 0x0000, 0x01c9, 0x01c9, 0x01c9, 0x01c9, 0x0000, 0x01ce,\n\t0x0000, 0x01d0, 0x01d0, 0x0000, 0x01d3, 0x0000, 0x01d5, 0x0000,\n\t0x01d7, 0x0000, 0x01d9, 0x0000, 0x01db, 0x0000, 0x01dd, 0x01dd,\n\t0x0000, 0x01e0, 0x0000, 0x01e2, 0x0000, 0x01e4, 0x0000, 0x01e6,\n\t0x0000, 0x01e8, 0x0000, 0x01ea, 0x0000, 0x01ec, 0x0000, 0x01ee,\n\t0x0000, 0x01f0, 0x0000, 0x01f2, 0x01f2, 0x01f2, 0x0000, 0x01f6,\n\t0x0000, 0x01f8, 0x0000, 0x01fa, 0x0000, 0x01fc, 0x0000, 0x0000,\n\t// Entry 200 - 23F\n\t0x01ff, 0x0000, 0x0201, 0x0201, 0x0000, 0x0204, 0x0000, 0x0206,\n\t0x0206, 0x0000, 0x0209, 0x0209, 0x0000, 0x020c, 0x020c, 0x020c,\n\t0x020c, 0x020c, 0x020c, 0x020c, 0x0000, 0x0214, 0x0000, 0x0216,\n\t0x0000, 0x0218, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x021e,\n\t0x0000, 0x0000, 0x0221, 0x0000, 0x0223, 0x0223, 0x0000, 0x0226,\n\t0x0000, 0x0228, 0x0228, 0x0000, 0x0000, 0x022c, 0x022b, 0x022b,\n\t0x0000, 0x0000, 0x0231, 0x0000, 0x0233, 0x0000, 0x0235, 0x0000,\n\t0x0241, 0x0237, 0x0241, 0x0241, 0x0241, 0x0241, 0x0241, 0x0241,\n\t// Entry 240 - 27F\n\t0x0241, 0x0237, 0x0241, 0x0241, 0x0000, 0x0244, 0x0244, 0x0244,\n\t0x0000, 0x0248, 0x0000, 0x024a, 0x0000, 0x024c, 0x024c, 0x0000,\n\t0x024f, 0x0000, 0x0251, 0x0251, 0x0251, 0x0251, 0x0251, 0x0251,\n\t0x0000, 0x0258, 0x0000, 0x025a, 0x0000, 0x025c, 0x0000, 0x025e,\n\t0x0000, 0x0260, 0x0000, 0x0262, 0x0000, 0x0000, 0x0265, 0x0265,\n\t0x0265, 0x0000, 0x0269, 0x0000, 0x026b, 0x0000, 0x026d, 0x0000,\n\t0x0000, 0x0270, 0x026f, 0x026f, 0x0000, 0x0274, 0x0000, 0x0276,\n\t0x0000, 0x0278, 0x0000, 0x0000, 0x0000, 0x0000, 0x027d, 0x0000,\n\t// Entry 280 - 2BF\n\t0x0000, 0x0280, 0x0000, 0x0282, 0x0282, 0x0282, 0x0282, 0x0000,\n\t0x0287, 0x0287, 0x0287, 0x0000, 0x028b, 0x028b, 0x028b, 0x028b,\n\t0x028b, 0x0000, 0x0291, 0x0291, 0x0291, 0x0291, 0x0000, 0x0000,\n\t0x0000, 0x0000, 0x0299, 0x0299, 0x0299, 0x0000, 0x029d, 0x029d,\n\t0x029d, 0x029d, 0x0000, 0x0000, 0x02a3, 0x02a3, 0x02a3, 0x02a3,\n\t0x0000, 0x02a8, 0x0000, 0x02aa, 0x02aa, 0x0000, 0x02ad, 0x0000,\n\t0x02af, 0x0000, 0x02b1, 0x02b1, 0x0000, 0x0000, 0x02b5, 0x0000,\n\t0x0000, 0x02b8, 0x0000, 0x02ba, 0x02ba, 0x0000, 0x0000, 0x02be,\n\t// Entry 2C0 - 2FF\n\t0x0000, 0x02c0, 0x0000, 0x02c2, 0x0000, 0x02c4, 0x0000, 0x02c6,\n\t0x0000, 0x02c8, 0x02c8, 0x0000, 0x0000, 0x02cc, 0x0000, 0x02ce,\n\t0x02cb, 0x02cb, 0x0000, 0x0000, 0x02d3, 0x02d2, 0x02d2, 0x0000,\n\t0x0000, 0x02d8, 0x0000, 0x02da, 0x0000, 0x02dc, 0x0000, 0x0000,\n\t0x02df, 0x0000, 0x02e1, 0x0000, 0x0000, 0x02e4, 0x0000, 0x02e6,\n\t0x0000, 0x02e8, 0x0000, 0x02ea, 0x02ea, 0x0000, 0x0000, 0x02ee,\n\t0x02ed, 0x02ed, 0x0000, 0x02f2, 0x0000, 0x02f4, 0x02f4, 0x02f4,\n\t0x02f4, 0x02f4, 0x0000, 0x02fa, 0x02fb, 0x02fa, 0x0000, 0x02fe,\n} // Size: 1560 bytes\n\n// Total table size 1560 bytes (1KiB); checksum: 4897681C\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/tag/tag.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package tag contains functionality handling tags and related data.\npackage tag // import \"golang.org/x/text/internal/tag\"\n\nimport \"sort\"\n\n// An Index converts tags to a compact numeric value.\n//\n// All elements are of size 4. Tags may be up to 4 bytes long. Excess bytes can\n// be used to store additional information about the tag.\ntype Index string\n\n// Elem returns the element data at the given index.\nfunc (s Index) Elem(x int) string {\n\treturn string(s[x*4 : x*4+4])\n}\n\n// Index reports the index of the given key or -1 if it could not be found.\n// Only the first len(key) bytes from the start of the 4-byte entries will be\n// considered for the search and the first match in Index will be returned.\nfunc (s Index) Index(key []byte) int {\n\tn := len(key)\n\t// search the index of the first entry with an equal or higher value than\n\t// key in s.\n\tindex := sort.Search(len(s)/4, func(i int) bool {\n\t\treturn cmp(s[i*4:i*4+n], key) != -1\n\t})\n\ti := index * 4\n\tif cmp(s[i:i+len(key)], key) != 0 {\n\t\treturn -1\n\t}\n\treturn index\n}\n\n// Next finds the next occurrence of key after index x, which must have been\n// obtained from a call to Index using the same key. It returns x+1 or -1.\nfunc (s Index) Next(key []byte, x int) int {\n\tif x++; x*4 < len(s) && cmp(s[x*4:x*4+len(key)], key) == 0 {\n\t\treturn x\n\t}\n\treturn -1\n}\n\n// cmp returns an integer comparing a and b lexicographically.\nfunc cmp(a Index, b []byte) int {\n\tn := len(a)\n\tif len(b) < n {\n\t\tn = len(b)\n\t}\n\tfor i, c := range b[:n] {\n\t\tswitch {\n\t\tcase a[i] > c:\n\t\t\treturn 1\n\t\tcase a[i] < c:\n\t\t\treturn -1\n\t\t}\n\t}\n\tswitch {\n\tcase len(a) < len(b):\n\t\treturn -1\n\tcase len(a) > len(b):\n\t\treturn 1\n\t}\n\treturn 0\n}\n\n// Compare returns an integer comparing a and b lexicographically.\nfunc Compare(a string, b []byte) int {\n\treturn cmp(Index(a), b)\n}\n\n// FixCase reformats b to the same pattern of cases as form.\n// If returns false if string b is malformed.\nfunc FixCase(form string, b []byte) bool {\n\tif len(form) != len(b) {\n\t\treturn false\n\t}\n\tfor i, c := range b {\n\t\tif form[i] <= 'Z' {\n\t\t\tif c >= 'a' {\n\t\t\t\tc -= 'z' - 'Z'\n\t\t\t}\n\t\t\tif c < 'A' || 'Z' < c {\n\t\t\t\treturn false\n\t\t\t}\n\t\t} else {\n\t\t\tif c <= 'Z' {\n\t\t\t\tc += 'z' - 'Z'\n\t\t\t}\n\t\t\tif c < 'a' || 'z' < c {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\tb[i] = c\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/triegen/compact.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage triegen\n\n// This file defines Compacter and its implementations.\n\nimport \"io\"\n\n// A Compacter generates an alternative, more space-efficient way to store a\n// trie value block. A trie value block holds all possible values for the last\n// byte of a UTF-8 encoded rune. Excluding ASCII characters, a trie value block\n// always has 64 values, as a UTF-8 encoding ends with a byte in [0x80, 0xC0).\ntype Compacter interface {\n\t// Size returns whether the Compacter could encode the given block as well\n\t// as its size in case it can. len(v) is always 64.\n\tSize(v []uint64) (sz int, ok bool)\n\n\t// Store stores the block using the Compacter's compression method.\n\t// It returns a handle with which the block can be retrieved.\n\t// len(v) is always 64.\n\tStore(v []uint64) uint32\n\n\t// Print writes the data structures associated to the given store to w.\n\tPrint(w io.Writer) error\n\n\t// Handler returns the name of a function that gets called during trie\n\t// lookup for blocks generated by the Compacter. The function should be of\n\t// the form func (n uint32, b byte) uint64, where n is the index returned by\n\t// the Compacter's Store method and b is the last byte of the UTF-8\n\t// encoding, where 0x80 <= b < 0xC0, for which to do the lookup in the\n\t// block.\n\tHandler() string\n}\n\n// simpleCompacter is the default Compacter used by builder. It implements a\n// normal trie block.\ntype simpleCompacter builder\n\nfunc (b *simpleCompacter) Size([]uint64) (sz int, ok bool) {\n\treturn blockSize * b.ValueSize, true\n}\n\nfunc (b *simpleCompacter) Store(v []uint64) uint32 {\n\th := uint32(len(b.ValueBlocks) - blockOffset)\n\tb.ValueBlocks = append(b.ValueBlocks, v)\n\treturn h\n}\n\nfunc (b *simpleCompacter) Print(io.Writer) error {\n\t// Structures are printed in print.go.\n\treturn nil\n}\n\nfunc (b *simpleCompacter) Handler() string {\n\tpanic(\"Handler should be special-cased for this Compacter\")\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/triegen/print.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage triegen\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"strings\"\n\t\"text/template\"\n)\n\n// print writes all the data structures as well as the code necessary to use the\n// trie to w.\nfunc (b *builder) print(w io.Writer) error {\n\tb.Stats.NValueEntries = len(b.ValueBlocks) * blockSize\n\tb.Stats.NValueBytes = len(b.ValueBlocks) * blockSize * b.ValueSize\n\tb.Stats.NIndexEntries = len(b.IndexBlocks) * blockSize\n\tb.Stats.NIndexBytes = len(b.IndexBlocks) * blockSize * b.IndexSize\n\tb.Stats.NHandleBytes = len(b.Trie) * 2 * b.IndexSize\n\n\t// If we only have one root trie, all starter blocks are at position 0 and\n\t// we can access the arrays directly.\n\tif len(b.Trie) == 1 {\n\t\t// At this point we cannot refer to the generated tables directly.\n\t\tb.ASCIIBlock = b.Name + \"Values\"\n\t\tb.StarterBlock = b.Name + \"Index\"\n\t} else {\n\t\t// Otherwise we need to have explicit starter indexes in the trie\n\t\t// structure.\n\t\tb.ASCIIBlock = \"t.ascii\"\n\t\tb.StarterBlock = \"t.utf8Start\"\n\t}\n\n\tb.SourceType = \"[]byte\"\n\tif err := lookupGen.Execute(w, b); err != nil {\n\t\treturn err\n\t}\n\n\tb.SourceType = \"string\"\n\tif err := lookupGen.Execute(w, b); err != nil {\n\t\treturn err\n\t}\n\n\tif err := trieGen.Execute(w, b); err != nil {\n\t\treturn err\n\t}\n\n\tfor _, c := range b.Compactions {\n\t\tif err := c.c.Print(w); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc printValues(n int, values []uint64) string {\n\tw := &bytes.Buffer{}\n\tboff := n * blockSize\n\tfmt.Fprintf(w, \"\\t// Block %#x, offset %#x\", n, boff)\n\tvar newline bool\n\tfor i, v := range values {\n\t\tif i%6 == 0 {\n\t\t\tnewline = true\n\t\t}\n\t\tif v != 0 {\n\t\t\tif newline {\n\t\t\t\tfmt.Fprintf(w, \"\\n\")\n\t\t\t\tnewline = false\n\t\t\t}\n\t\t\tfmt.Fprintf(w, \"\\t%#02x:%#04x, \", boff+i, v)\n\t\t}\n\t}\n\treturn w.String()\n}\n\nfunc printIndex(b *builder, nr int, n *node) string {\n\tw := &bytes.Buffer{}\n\tboff := nr * blockSize\n\tfmt.Fprintf(w, \"\\t// Block %#x, offset %#x\", nr, boff)\n\tvar newline bool\n\tfor i, c := range n.children {\n\t\tif i%8 == 0 {\n\t\t\tnewline = true\n\t\t}\n\t\tif c != nil {\n\t\t\tv := b.Compactions[c.index.compaction].Offset + uint32(c.index.index)\n\t\t\tif v != 0 {\n\t\t\t\tif newline {\n\t\t\t\t\tfmt.Fprintf(w, \"\\n\")\n\t\t\t\t\tnewline = false\n\t\t\t\t}\n\t\t\t\tfmt.Fprintf(w, \"\\t%#02x:%#02x, \", boff+i, v)\n\t\t\t}\n\t\t}\n\t}\n\treturn w.String()\n}\n\nvar (\n\ttrieGen = template.Must(template.New(\"trie\").Funcs(template.FuncMap{\n\t\t\"printValues\": printValues,\n\t\t\"printIndex\":  printIndex,\n\t\t\"title\":       strings.Title,\n\t\t\"dec\":         func(x int) int { return x - 1 },\n\t\t\"psize\": func(n int) string {\n\t\t\treturn fmt.Sprintf(\"%d bytes (%.2f KiB)\", n, float64(n)/1024)\n\t\t},\n\t}).Parse(trieTemplate))\n\tlookupGen = template.Must(template.New(\"lookup\").Parse(lookupTemplate))\n)\n\n// TODO: consider the return type of lookup. It could be uint64, even if the\n// internal value type is smaller. We will have to verify this with the\n// performance of unicode/norm, which is very sensitive to such changes.\nconst trieTemplate = `{{$b := .}}{{$multi := gt (len .Trie) 1}}\n// {{.Name}}Trie. Total size: {{psize .Size}}. Checksum: {{printf \"%08x\" .Checksum}}.\ntype {{.Name}}Trie struct { {{if $multi}}\n\tascii []{{.ValueType}} // index for ASCII bytes\n\tutf8Start  []{{.IndexType}} // index for UTF-8 bytes >= 0xC0\n{{end}}}\n\nfunc new{{title .Name}}Trie(i int) *{{.Name}}Trie { {{if $multi}}\n\th := {{.Name}}TrieHandles[i]\n\treturn &{{.Name}}Trie{ {{.Name}}Values[uint32(h.ascii)<<6:], {{.Name}}Index[uint32(h.multi)<<6:] }\n}\n\ntype {{.Name}}TrieHandle struct {\n\tascii, multi {{.IndexType}}\n}\n\n// {{.Name}}TrieHandles: {{len .Trie}} handles, {{.Stats.NHandleBytes}} bytes\nvar {{.Name}}TrieHandles = [{{len .Trie}}]{{.Name}}TrieHandle{\n{{range .Trie}}\t{ {{.ASCIIIndex}}, {{.StarterIndex}} }, // {{printf \"%08x\" .Checksum}}: {{.Name}}\n{{end}}}{{else}}\n\treturn &{{.Name}}Trie{}\n}\n{{end}}\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *{{.Name}}Trie) lookupValue(n uint32, b byte) {{.ValueType}}{{$last := dec (len .Compactions)}} {\n\tswitch { {{range $i, $c := .Compactions}}\n\t\t{{if eq $i $last}}default{{else}}case n < {{$c.Cutoff}}{{end}}:{{if ne $i 0}}\n\t\t\tn -= {{$c.Offset}}{{end}}\n\t\t\treturn {{print $b.ValueType}}({{$c.Handler}}){{end}}\n\t}\n}\n\n// {{.Name}}Values: {{len .ValueBlocks}} blocks, {{.Stats.NValueEntries}} entries, {{.Stats.NValueBytes}} bytes\n// The third block is the zero block.\nvar {{.Name}}Values = [{{.Stats.NValueEntries}}]{{.ValueType}} {\n{{range $i, $v := .ValueBlocks}}{{printValues $i $v}}\n{{end}}}\n\n// {{.Name}}Index: {{len .IndexBlocks}} blocks, {{.Stats.NIndexEntries}} entries, {{.Stats.NIndexBytes}} bytes\n// Block 0 is the zero block.\nvar {{.Name}}Index = [{{.Stats.NIndexEntries}}]{{.IndexType}} {\n{{range $i, $v := .IndexBlocks}}{{printIndex $b $i $v}}\n{{end}}}\n`\n\n// TODO: consider allowing zero-length strings after evaluating performance with\n// unicode/norm.\nconst lookupTemplate = `\n// lookup{{if eq .SourceType \"string\"}}String{{end}} returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *{{.Name}}Trie) lookup{{if eq .SourceType \"string\"}}String{{end}}(s {{.SourceType}}) (v {{.ValueType}}, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn {{.ASCIIBlock}}[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1  // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := {{.StarterBlock}}[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := {{.StarterBlock}}[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = {{.Name}}Index[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := {{.StarterBlock}}[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = {{.Name}}Index[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = {{.Name}}Index[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookup{{if eq .SourceType \"string\"}}String{{end}}Unsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *{{.Name}}Trie) lookup{{if eq .SourceType \"string\"}}String{{end}}Unsafe(s {{.SourceType}}) {{.ValueType}} {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn {{.ASCIIBlock}}[c0]\n\t}\n\ti := {{.StarterBlock}}[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = {{.Name}}Index[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = {{.Name}}Index[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n`\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/triegen/triegen.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package triegen implements a code generator for a trie for associating\n// unsigned integer values with UTF-8 encoded runes.\n//\n// Many of the go.text packages use tries for storing per-rune information.  A\n// trie is especially useful if many of the runes have the same value. If this\n// is the case, many blocks can be expected to be shared allowing for\n// information on many runes to be stored in little space.\n//\n// As most of the lookups are done directly on []byte slices, the tries use the\n// UTF-8 bytes directly for the lookup. This saves a conversion from UTF-8 to\n// runes and contributes a little bit to better performance. It also naturally\n// provides a fast path for ASCII.\n//\n// Space is also an issue. There are many code points defined in Unicode and as\n// a result tables can get quite large. So every byte counts. The triegen\n// package automatically chooses the smallest integer values to represent the\n// tables. Compacters allow further compression of the trie by allowing for\n// alternative representations of individual trie blocks.\n//\n// triegen allows generating multiple tries as a single structure. This is\n// useful when, for example, one wants to generate tries for several languages\n// that have a lot of values in common. Some existing libraries for\n// internationalization store all per-language data as a dynamically loadable\n// chunk. The go.text packages are designed with the assumption that the user\n// typically wants to compile in support for all supported languages, in line\n// with the approach common to Go to create a single standalone binary. The\n// multi-root trie approach can give significant storage savings in this\n// scenario.\n//\n// triegen generates both tables and code. The code is optimized to use the\n// automatically chosen data types. The following code is generated for a Trie\n// or multiple Tries named \"foo\":\n//\t- type fooTrie\n//\t\tThe trie type.\n//\n//\t- func newFooTrie(x int) *fooTrie\n//\t\tTrie constructor, where x is the index of the trie passed to Gen.\n//\n//\t- func (t *fooTrie) lookup(s []byte) (v uintX, sz int)\n//\t\tThe lookup method, where uintX is automatically chosen.\n//\n//\t- func lookupString, lookupUnsafe and lookupStringUnsafe\n//\t\tVariants of the above.\n//\n//\t- var fooValues and fooIndex and any tables generated by Compacters.\n//\t\tThe core trie data.\n//\n//\t- var fooTrieHandles\n//\t\tIndexes of starter blocks in case of multiple trie roots.\n//\n// It is recommended that users test the generated trie by checking the returned\n// value for every rune. Such exhaustive tests are possible as the the number of\n// runes in Unicode is limited.\npackage triegen // import \"golang.org/x/text/internal/triegen\"\n\n// TODO: Arguably, the internally optimized data types would not have to be\n// exposed in the generated API. We could also investigate not generating the\n// code, but using it through a package. We would have to investigate the impact\n// on performance of making such change, though. For packages like unicode/norm,\n// small changes like this could tank performance.\n\nimport (\n\t\"encoding/binary\"\n\t\"fmt\"\n\t\"hash/crc64\"\n\t\"io\"\n\t\"log\"\n\t\"unicode/utf8\"\n)\n\n// builder builds a set of tries for associating values with runes. The set of\n// tries can share common index and value blocks.\ntype builder struct {\n\tName string\n\n\t// ValueType is the type of the trie values looked up.\n\tValueType string\n\n\t// ValueSize is the byte size of the ValueType.\n\tValueSize int\n\n\t// IndexType is the type of trie index values used for all UTF-8 bytes of\n\t// a rune except the last one.\n\tIndexType string\n\n\t// IndexSize is the byte size of the IndexType.\n\tIndexSize int\n\n\t// SourceType is used when generating the lookup functions. If the user\n\t// requests StringSupport, all lookup functions will be generated for\n\t// string input as well.\n\tSourceType string\n\n\tTrie []*Trie\n\n\tIndexBlocks []*node\n\tValueBlocks [][]uint64\n\tCompactions []compaction\n\tChecksum    uint64\n\n\tASCIIBlock   string\n\tStarterBlock string\n\n\tindexBlockIdx map[uint64]int\n\tvalueBlockIdx map[uint64]nodeIndex\n\tasciiBlockIdx map[uint64]int\n\n\t// Stats are used to fill out the template.\n\tStats struct {\n\t\tNValueEntries int\n\t\tNValueBytes   int\n\t\tNIndexEntries int\n\t\tNIndexBytes   int\n\t\tNHandleBytes  int\n\t}\n\n\terr error\n}\n\n// A nodeIndex encodes the index of a node, which is defined by the compaction\n// which stores it and an index within the compaction. For internal nodes, the\n// compaction is always 0.\ntype nodeIndex struct {\n\tcompaction int\n\tindex      int\n}\n\n// compaction keeps track of stats used for the compaction.\ntype compaction struct {\n\tc         Compacter\n\tblocks    []*node\n\tmaxHandle uint32\n\ttotalSize int\n\n\t// Used by template-based generator and thus exported.\n\tCutoff  uint32\n\tOffset  uint32\n\tHandler string\n}\n\nfunc (b *builder) setError(err error) {\n\tif b.err == nil {\n\t\tb.err = err\n\t}\n}\n\n// An Option can be passed to Gen.\ntype Option func(b *builder) error\n\n// Compact configures the trie generator to use the given Compacter.\nfunc Compact(c Compacter) Option {\n\treturn func(b *builder) error {\n\t\tb.Compactions = append(b.Compactions, compaction{\n\t\t\tc:       c,\n\t\t\tHandler: c.Handler() + \"(n, b)\"})\n\t\treturn nil\n\t}\n}\n\n// Gen writes Go code for a shared trie lookup structure to w for the given\n// Tries. The generated trie type will be called nameTrie. newNameTrie(x) will\n// return the *nameTrie for tries[x]. A value can be looked up by using one of\n// the various lookup methods defined on nameTrie. It returns the table size of\n// the generated trie.\nfunc Gen(w io.Writer, name string, tries []*Trie, opts ...Option) (sz int, err error) {\n\t// The index contains two dummy blocks, followed by the zero block. The zero\n\t// block is at offset 0x80, so that the offset for the zero block for\n\t// continuation bytes is 0.\n\tb := &builder{\n\t\tName:        name,\n\t\tTrie:        tries,\n\t\tIndexBlocks: []*node{{}, {}, {}},\n\t\tCompactions: []compaction{{\n\t\t\tHandler: name + \"Values[n<<6+uint32(b)]\",\n\t\t}},\n\t\t// The 0 key in indexBlockIdx and valueBlockIdx is the hash of the zero\n\t\t// block.\n\t\tindexBlockIdx: map[uint64]int{0: 0},\n\t\tvalueBlockIdx: map[uint64]nodeIndex{0: {}},\n\t\tasciiBlockIdx: map[uint64]int{},\n\t}\n\tb.Compactions[0].c = (*simpleCompacter)(b)\n\n\tfor _, f := range opts {\n\t\tif err := f(b); err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t}\n\tb.build()\n\tif b.err != nil {\n\t\treturn 0, b.err\n\t}\n\tif err = b.print(w); err != nil {\n\t\treturn 0, err\n\t}\n\treturn b.Size(), nil\n}\n\n// A Trie represents a single root node of a trie. A builder may build several\n// overlapping tries at once.\ntype Trie struct {\n\troot *node\n\n\thiddenTrie\n}\n\n// hiddenTrie contains values we want to be visible to the template generator,\n// but hidden from the API documentation.\ntype hiddenTrie struct {\n\tName         string\n\tChecksum     uint64\n\tASCIIIndex   int\n\tStarterIndex int\n}\n\n// NewTrie returns a new trie root.\nfunc NewTrie(name string) *Trie {\n\treturn &Trie{\n\t\t&node{\n\t\t\tchildren: make([]*node, blockSize),\n\t\t\tvalues:   make([]uint64, utf8.RuneSelf),\n\t\t},\n\t\thiddenTrie{Name: name},\n\t}\n}\n\n// Gen is a convenience wrapper around the Gen func passing t as the only trie\n// and uses the name passed to NewTrie. It returns the size of the generated\n// tables.\nfunc (t *Trie) Gen(w io.Writer, opts ...Option) (sz int, err error) {\n\treturn Gen(w, t.Name, []*Trie{t}, opts...)\n}\n\n// node is a node of the intermediate trie structure.\ntype node struct {\n\t// children holds this node's children. It is always of length 64.\n\t// A child node may be nil.\n\tchildren []*node\n\n\t// values contains the values of this node. If it is non-nil, this node is\n\t// either a root or leaf node:\n\t// For root nodes, len(values) == 128 and it maps the bytes in [0x00, 0x7F].\n\t// For leaf nodes, len(values) ==  64 and it maps the bytes in [0x80, 0xBF].\n\tvalues []uint64\n\n\tindex nodeIndex\n}\n\n// Insert associates value with the given rune. Insert will panic if a non-zero\n// value is passed for an invalid rune.\nfunc (t *Trie) Insert(r rune, value uint64) {\n\tif value == 0 {\n\t\treturn\n\t}\n\ts := string(r)\n\tif []rune(s)[0] != r && value != 0 {\n\t\t// Note: The UCD tables will always assign what amounts to a zero value\n\t\t// to a surrogate. Allowing a zero value for an illegal rune allows\n\t\t// users to iterate over [0..MaxRune] without having to explicitly\n\t\t// exclude surrogates, which would be tedious.\n\t\tpanic(fmt.Sprintf(\"triegen: non-zero value for invalid rune %U\", r))\n\t}\n\tif len(s) == 1 {\n\t\t// It is a root node value (ASCII).\n\t\tt.root.values[s[0]] = value\n\t\treturn\n\t}\n\n\tn := t.root\n\tfor ; len(s) > 1; s = s[1:] {\n\t\tif n.children == nil {\n\t\t\tn.children = make([]*node, blockSize)\n\t\t}\n\t\tp := s[0] % blockSize\n\t\tc := n.children[p]\n\t\tif c == nil {\n\t\t\tc = &node{}\n\t\t\tn.children[p] = c\n\t\t}\n\t\tif len(s) > 2 && c.values != nil {\n\t\t\tlog.Fatalf(\"triegen: insert(%U): found internal node with values\", r)\n\t\t}\n\t\tn = c\n\t}\n\tif n.values == nil {\n\t\tn.values = make([]uint64, blockSize)\n\t}\n\tif n.children != nil {\n\t\tlog.Fatalf(\"triegen: insert(%U): found leaf node that also has child nodes\", r)\n\t}\n\tn.values[s[0]-0x80] = value\n}\n\n// Size returns the number of bytes the generated trie will take to store. It\n// needs to be exported as it is used in the templates.\nfunc (b *builder) Size() int {\n\t// Index blocks.\n\tsz := len(b.IndexBlocks) * blockSize * b.IndexSize\n\n\t// Skip the first compaction, which represents the normal value blocks, as\n\t// its totalSize does not account for the ASCII blocks, which are managed\n\t// separately.\n\tsz += len(b.ValueBlocks) * blockSize * b.ValueSize\n\tfor _, c := range b.Compactions[1:] {\n\t\tsz += c.totalSize\n\t}\n\n\t// TODO: this computation does not account for the fixed overhead of a using\n\t// a compaction, either code or data. As for data, though, the typical\n\t// overhead of data is in the order of bytes (2 bytes for cases). Further,\n\t// the savings of using a compaction should anyway be substantial for it to\n\t// be worth it.\n\n\t// For multi-root tries, we also need to account for the handles.\n\tif len(b.Trie) > 1 {\n\t\tsz += 2 * b.IndexSize * len(b.Trie)\n\t}\n\treturn sz\n}\n\nfunc (b *builder) build() {\n\t// Compute the sizes of the values.\n\tvar vmax uint64\n\tfor _, t := range b.Trie {\n\t\tvmax = maxValue(t.root, vmax)\n\t}\n\tb.ValueType, b.ValueSize = getIntType(vmax)\n\n\t// Compute all block allocations.\n\t// TODO: first compute the ASCII blocks for all tries and then the other\n\t// nodes. ASCII blocks are more restricted in placement, as they require two\n\t// blocks to be placed consecutively. Processing them first may improve\n\t// sharing (at least one zero block can be expected to be saved.)\n\tfor _, t := range b.Trie {\n\t\tb.Checksum += b.buildTrie(t)\n\t}\n\n\t// Compute the offsets for all the Compacters.\n\toffset := uint32(0)\n\tfor i := range b.Compactions {\n\t\tc := &b.Compactions[i]\n\t\tc.Offset = offset\n\t\toffset += c.maxHandle + 1\n\t\tc.Cutoff = offset\n\t}\n\n\t// Compute the sizes of indexes.\n\t// TODO: different byte positions could have different sizes. So far we have\n\t// not found a case where this is beneficial.\n\timax := uint64(b.Compactions[len(b.Compactions)-1].Cutoff)\n\tfor _, ib := range b.IndexBlocks {\n\t\tif x := uint64(ib.index.index); x > imax {\n\t\t\timax = x\n\t\t}\n\t}\n\tb.IndexType, b.IndexSize = getIntType(imax)\n}\n\nfunc maxValue(n *node, max uint64) uint64 {\n\tif n == nil {\n\t\treturn max\n\t}\n\tfor _, c := range n.children {\n\t\tmax = maxValue(c, max)\n\t}\n\tfor _, v := range n.values {\n\t\tif max < v {\n\t\t\tmax = v\n\t\t}\n\t}\n\treturn max\n}\n\nfunc getIntType(v uint64) (string, int) {\n\tswitch {\n\tcase v < 1<<8:\n\t\treturn \"uint8\", 1\n\tcase v < 1<<16:\n\t\treturn \"uint16\", 2\n\tcase v < 1<<32:\n\t\treturn \"uint32\", 4\n\t}\n\treturn \"uint64\", 8\n}\n\nconst (\n\tblockSize = 64\n\n\t// Subtract two blocks to offset 0x80, the first continuation byte.\n\tblockOffset = 2\n\n\t// Subtract three blocks to offset 0xC0, the first non-ASCII starter.\n\trootBlockOffset = 3\n)\n\nvar crcTable = crc64.MakeTable(crc64.ISO)\n\nfunc (b *builder) buildTrie(t *Trie) uint64 {\n\tn := t.root\n\n\t// Get the ASCII offset. For the first trie, the ASCII block will be at\n\t// position 0.\n\thasher := crc64.New(crcTable)\n\tbinary.Write(hasher, binary.BigEndian, n.values)\n\thash := hasher.Sum64()\n\n\tv, ok := b.asciiBlockIdx[hash]\n\tif !ok {\n\t\tv = len(b.ValueBlocks)\n\t\tb.asciiBlockIdx[hash] = v\n\n\t\tb.ValueBlocks = append(b.ValueBlocks, n.values[:blockSize], n.values[blockSize:])\n\t\tif v == 0 {\n\t\t\t// Add the zero block at position 2 so that it will be assigned a\n\t\t\t// zero reference in the lookup blocks.\n\t\t\t// TODO: always do this? This would allow us to remove a check from\n\t\t\t// the trie lookup, but at the expense of extra space. Analyze\n\t\t\t// performance for unicode/norm.\n\t\t\tb.ValueBlocks = append(b.ValueBlocks, make([]uint64, blockSize))\n\t\t}\n\t}\n\tt.ASCIIIndex = v\n\n\t// Compute remaining offsets.\n\tt.Checksum = b.computeOffsets(n, true)\n\t// We already subtracted the normal blockOffset from the index. Subtract the\n\t// difference for starter bytes.\n\tt.StarterIndex = n.index.index - (rootBlockOffset - blockOffset)\n\treturn t.Checksum\n}\n\nfunc (b *builder) computeOffsets(n *node, root bool) uint64 {\n\t// For the first trie, the root lookup block will be at position 3, which is\n\t// the offset for UTF-8 non-ASCII starter bytes.\n\tfirst := len(b.IndexBlocks) == rootBlockOffset\n\tif first {\n\t\tb.IndexBlocks = append(b.IndexBlocks, n)\n\t}\n\n\t// We special-case the cases where all values recursively are 0. This allows\n\t// for the use of a zero block to which all such values can be directed.\n\thash := uint64(0)\n\tif n.children != nil || n.values != nil {\n\t\thasher := crc64.New(crcTable)\n\t\tfor _, c := range n.children {\n\t\t\tvar v uint64\n\t\t\tif c != nil {\n\t\t\t\tv = b.computeOffsets(c, false)\n\t\t\t}\n\t\t\tbinary.Write(hasher, binary.BigEndian, v)\n\t\t}\n\t\tbinary.Write(hasher, binary.BigEndian, n.values)\n\t\thash = hasher.Sum64()\n\t}\n\n\tif first {\n\t\tb.indexBlockIdx[hash] = rootBlockOffset - blockOffset\n\t}\n\n\t// Compacters don't apply to internal nodes.\n\tif n.children != nil {\n\t\tv, ok := b.indexBlockIdx[hash]\n\t\tif !ok {\n\t\t\tv = len(b.IndexBlocks) - blockOffset\n\t\t\tb.IndexBlocks = append(b.IndexBlocks, n)\n\t\t\tb.indexBlockIdx[hash] = v\n\t\t}\n\t\tn.index = nodeIndex{0, v}\n\t} else {\n\t\th, ok := b.valueBlockIdx[hash]\n\t\tif !ok {\n\t\t\tbestI, bestSize := 0, blockSize*b.ValueSize\n\t\t\tfor i, c := range b.Compactions[1:] {\n\t\t\t\tif sz, ok := c.c.Size(n.values); ok && bestSize > sz {\n\t\t\t\t\tbestI, bestSize = i+1, sz\n\t\t\t\t}\n\t\t\t}\n\t\t\tc := &b.Compactions[bestI]\n\t\t\tc.totalSize += bestSize\n\t\t\tv := c.c.Store(n.values)\n\t\t\tif c.maxHandle < v {\n\t\t\t\tc.maxHandle = v\n\t\t\t}\n\t\t\th = nodeIndex{bestI, int(v)}\n\t\t\tb.valueBlockIdx[hash] = h\n\t\t}\n\t\tn.index = h\n\t}\n\treturn hash\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/ucd/ucd.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package ucd provides a parser for Unicode Character Database files, the\n// format of which is defined in http://www.unicode.org/reports/tr44/. See\n// http://www.unicode.org/Public/UCD/latest/ucd/ for example files.\n//\n// It currently does not support substitutions of missing fields.\npackage ucd // import \"golang.org/x/text/internal/ucd\"\n\nimport (\n\t\"bufio\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"regexp\"\n\t\"strconv\"\n\t\"strings\"\n)\n\n// UnicodeData.txt fields.\nconst (\n\tCodePoint = iota\n\tName\n\tGeneralCategory\n\tCanonicalCombiningClass\n\tBidiClass\n\tDecompMapping\n\tDecimalValue\n\tDigitValue\n\tNumericValue\n\tBidiMirrored\n\tUnicode1Name\n\tISOComment\n\tSimpleUppercaseMapping\n\tSimpleLowercaseMapping\n\tSimpleTitlecaseMapping\n)\n\n// Parse calls f for each entry in the given reader of a UCD file. It will close\n// the reader upon return. It will call log.Fatal if any error occurred.\n//\n// This implements the most common usage pattern of using Parser.\nfunc Parse(r io.ReadCloser, f func(p *Parser)) {\n\tdefer r.Close()\n\n\tp := New(r)\n\tfor p.Next() {\n\t\tf(p)\n\t}\n\tif err := p.Err(); err != nil {\n\t\tr.Close() // os.Exit will cause defers not to be called.\n\t\tlog.Fatal(err)\n\t}\n}\n\n// An Option is used to configure a Parser.\ntype Option func(p *Parser)\n\nfunc keepRanges(p *Parser) {\n\tp.keepRanges = true\n}\n\nvar (\n\t// KeepRanges prevents the expansion of ranges. The raw ranges can be\n\t// obtained by calling Range(0) on the parser.\n\tKeepRanges Option = keepRanges\n)\n\n// The Part option register a handler for lines starting with a '@'. The text\n// after a '@' is available as the first field. Comments are handled as usual.\nfunc Part(f func(p *Parser)) Option {\n\treturn func(p *Parser) {\n\t\tp.partHandler = f\n\t}\n}\n\n// The CommentHandler option passes comments that are on a line by itself to\n// a given handler.\nfunc CommentHandler(f func(s string)) Option {\n\treturn func(p *Parser) {\n\t\tp.commentHandler = f\n\t}\n}\n\n// A Parser parses Unicode Character Database (UCD) files.\ntype Parser struct {\n\tscanner *bufio.Scanner\n\n\tkeepRanges bool // Don't expand rune ranges in field 0.\n\n\terr     error\n\tcomment string\n\tfield   []string\n\t// parsedRange is needed in case Range(0) is called more than once for one\n\t// field. In some cases this requires scanning ahead.\n\tline                 int\n\tparsedRange          bool\n\trangeStart, rangeEnd rune\n\n\tpartHandler    func(p *Parser)\n\tcommentHandler func(s string)\n}\n\nfunc (p *Parser) setError(err error, msg string) {\n\tif p.err == nil && err != nil {\n\t\tif msg == \"\" {\n\t\t\tp.err = fmt.Errorf(\"ucd:line:%d: %v\", p.line, err)\n\t\t} else {\n\t\t\tp.err = fmt.Errorf(\"ucd:line:%d:%s: %v\", p.line, msg, err)\n\t\t}\n\t}\n}\n\nfunc (p *Parser) getField(i int) string {\n\tif i >= len(p.field) {\n\t\treturn \"\"\n\t}\n\treturn p.field[i]\n}\n\n// Err returns a non-nil error if any error occurred during parsing.\nfunc (p *Parser) Err() error {\n\treturn p.err\n}\n\n// New returns a Parser for the given Reader.\nfunc New(r io.Reader, o ...Option) *Parser {\n\tp := &Parser{\n\t\tscanner: bufio.NewScanner(r),\n\t}\n\tfor _, f := range o {\n\t\tf(p)\n\t}\n\treturn p\n}\n\n// Next parses the next line in the file. It returns true if a line was parsed\n// and false if it reached the end of the file.\nfunc (p *Parser) Next() bool {\n\tif !p.keepRanges && p.rangeStart < p.rangeEnd {\n\t\tp.rangeStart++\n\t\treturn true\n\t}\n\tp.comment = \"\"\n\tp.field = p.field[:0]\n\tp.parsedRange = false\n\n\tfor p.scanner.Scan() && p.err == nil {\n\t\tp.line++\n\t\ts := p.scanner.Text()\n\t\tif s == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tif s[0] == '#' {\n\t\t\tif p.commentHandler != nil {\n\t\t\t\tp.commentHandler(strings.TrimSpace(s[1:]))\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// Parse line\n\t\tif i := strings.IndexByte(s, '#'); i != -1 {\n\t\t\tp.comment = strings.TrimSpace(s[i+1:])\n\t\t\ts = s[:i]\n\t\t}\n\t\tif s[0] == '@' {\n\t\t\tif p.partHandler != nil {\n\t\t\t\tp.field = append(p.field, strings.TrimSpace(s[1:]))\n\t\t\t\tp.partHandler(p)\n\t\t\t\tp.field = p.field[:0]\n\t\t\t}\n\t\t\tp.comment = \"\"\n\t\t\tcontinue\n\t\t}\n\t\tfor {\n\t\t\ti := strings.IndexByte(s, ';')\n\t\t\tif i == -1 {\n\t\t\t\tp.field = append(p.field, strings.TrimSpace(s))\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tp.field = append(p.field, strings.TrimSpace(s[:i]))\n\t\t\ts = s[i+1:]\n\t\t}\n\t\tif !p.keepRanges {\n\t\t\tp.rangeStart, p.rangeEnd = p.getRange(0)\n\t\t}\n\t\treturn true\n\t}\n\tp.setError(p.scanner.Err(), \"scanner failed\")\n\treturn false\n}\n\nfunc parseRune(b string) (rune, error) {\n\tif len(b) > 2 && b[0] == 'U' && b[1] == '+' {\n\t\tb = b[2:]\n\t}\n\tx, err := strconv.ParseUint(b, 16, 32)\n\treturn rune(x), err\n}\n\nfunc (p *Parser) parseRune(s string) rune {\n\tx, err := parseRune(s)\n\tp.setError(err, \"failed to parse rune\")\n\treturn x\n}\n\n// Rune parses and returns field i as a rune.\nfunc (p *Parser) Rune(i int) rune {\n\tif i > 0 || p.keepRanges {\n\t\treturn p.parseRune(p.getField(i))\n\t}\n\treturn p.rangeStart\n}\n\n// Runes interprets and returns field i as a sequence of runes.\nfunc (p *Parser) Runes(i int) (runes []rune) {\n\tadd := func(s string) {\n\t\tif s = strings.TrimSpace(s); len(s) > 0 {\n\t\t\trunes = append(runes, p.parseRune(s))\n\t\t}\n\t}\n\tfor b := p.getField(i); ; {\n\t\ti := strings.IndexByte(b, ' ')\n\t\tif i == -1 {\n\t\t\tadd(b)\n\t\t\tbreak\n\t\t}\n\t\tadd(b[:i])\n\t\tb = b[i+1:]\n\t}\n\treturn\n}\n\nvar (\n\terrIncorrectLegacyRange = errors.New(\"ucd: unmatched <* First>\")\n\n\t// reRange matches one line of a legacy rune range.\n\treRange = regexp.MustCompile(\"^([0-9A-F]*);<([^,]*), ([^>]*)>(.*)$\")\n)\n\n// Range parses and returns field i as a rune range. A range is inclusive at\n// both ends. If the field only has one rune, first and last will be identical.\n// It supports the legacy format for ranges used in UnicodeData.txt.\nfunc (p *Parser) Range(i int) (first, last rune) {\n\tif !p.keepRanges {\n\t\treturn p.rangeStart, p.rangeStart\n\t}\n\treturn p.getRange(i)\n}\n\nfunc (p *Parser) getRange(i int) (first, last rune) {\n\tb := p.getField(i)\n\tif k := strings.Index(b, \"..\"); k != -1 {\n\t\treturn p.parseRune(b[:k]), p.parseRune(b[k+2:])\n\t}\n\t// The first field may not be a rune, in which case we may ignore any error\n\t// and set the range as 0..0.\n\tx, err := parseRune(b)\n\tif err != nil {\n\t\t// Disable range parsing henceforth. This ensures that an error will be\n\t\t// returned if the user subsequently will try to parse this field as\n\t\t// a Rune.\n\t\tp.keepRanges = true\n\t}\n\t// Special case for UnicodeData that was retained for backwards compatibility.\n\tif i == 0 && len(p.field) > 1 && strings.HasSuffix(p.field[1], \"First>\") {\n\t\tif p.parsedRange {\n\t\t\treturn p.rangeStart, p.rangeEnd\n\t\t}\n\t\tmf := reRange.FindStringSubmatch(p.scanner.Text())\n\t\tp.line++\n\t\tif mf == nil || !p.scanner.Scan() {\n\t\t\tp.setError(errIncorrectLegacyRange, \"\")\n\t\t\treturn x, x\n\t\t}\n\t\t// Using Bytes would be more efficient here, but Text is a lot easier\n\t\t// and this is not a frequent case.\n\t\tml := reRange.FindStringSubmatch(p.scanner.Text())\n\t\tif ml == nil || mf[2] != ml[2] || ml[3] != \"Last\" || mf[4] != ml[4] {\n\t\t\tp.setError(errIncorrectLegacyRange, \"\")\n\t\t\treturn x, x\n\t\t}\n\t\tp.rangeStart, p.rangeEnd = x, p.parseRune(p.scanner.Text()[:len(ml[1])])\n\t\tp.parsedRange = true\n\t\treturn p.rangeStart, p.rangeEnd\n\t}\n\treturn x, x\n}\n\n// bools recognizes all valid UCD boolean values.\nvar bools = map[string]bool{\n\t\"\":      false,\n\t\"N\":     false,\n\t\"No\":    false,\n\t\"F\":     false,\n\t\"False\": false,\n\t\"Y\":     true,\n\t\"Yes\":   true,\n\t\"T\":     true,\n\t\"True\":  true,\n}\n\n// Bool parses and returns field i as a boolean value.\nfunc (p *Parser) Bool(i int) bool {\n\tf := p.getField(i)\n\tfor s, v := range bools {\n\t\tif f == s {\n\t\t\treturn v\n\t\t}\n\t}\n\tp.setError(strconv.ErrSyntax, \"error parsing bool\")\n\treturn false\n}\n\n// Int parses and returns field i as an integer value.\nfunc (p *Parser) Int(i int) int {\n\tx, err := strconv.ParseInt(string(p.getField(i)), 10, 64)\n\tp.setError(err, \"error parsing int\")\n\treturn int(x)\n}\n\n// Uint parses and returns field i as an unsigned integer value.\nfunc (p *Parser) Uint(i int) uint {\n\tx, err := strconv.ParseUint(string(p.getField(i)), 10, 64)\n\tp.setError(err, \"error parsing uint\")\n\treturn uint(x)\n}\n\n// Float parses and returns field i as a decimal value.\nfunc (p *Parser) Float(i int) float64 {\n\tx, err := strconv.ParseFloat(string(p.getField(i)), 64)\n\tp.setError(err, \"error parsing float\")\n\treturn x\n}\n\n// String parses and returns field i as a string value.\nfunc (p *Parser) String(i int) string {\n\treturn string(p.getField(i))\n}\n\n// Strings parses and returns field i as a space-separated list of strings.\nfunc (p *Parser) Strings(i int) []string {\n\tss := strings.Split(string(p.getField(i)), \" \")\n\tfor i, s := range ss {\n\t\tss[i] = strings.TrimSpace(s)\n\t}\n\treturn ss\n}\n\n// Comment returns the comments for the current line.\nfunc (p *Parser) Comment() string {\n\treturn string(p.comment)\n}\n\nvar errUndefinedEnum = errors.New(\"ucd: undefined enum value\")\n\n// Enum interprets and returns field i as a value that must be one of the values\n// in enum.\nfunc (p *Parser) Enum(i int, enum ...string) string {\n\tf := p.getField(i)\n\tfor _, s := range enum {\n\t\tif f == s {\n\t\t\treturn s\n\t\t}\n\t}\n\tp.setError(errUndefinedEnum, \"error parsing enum\")\n\treturn \"\"\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/common.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage language\n\n// This file contains code common to the maketables.go and the package code.\n\n// langAliasType is the type of an alias in langAliasMap.\ntype langAliasType int8\n\nconst (\n\tlangDeprecated langAliasType = iota\n\tlangMacro\n\tlangLegacy\n\n\tlangAliasTypeUnknown langAliasType = -1\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/coverage.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage language\n\nimport (\n\t\"fmt\"\n\t\"sort\"\n)\n\n// The Coverage interface is used to define the level of coverage of an\n// internationalization service. Note that not all types are supported by all\n// services. As lists may be generated on the fly, it is recommended that users\n// of a Coverage cache the results.\ntype Coverage interface {\n\t// Tags returns the list of supported tags.\n\tTags() []Tag\n\n\t// BaseLanguages returns the list of supported base languages.\n\tBaseLanguages() []Base\n\n\t// Scripts returns the list of supported scripts.\n\tScripts() []Script\n\n\t// Regions returns the list of supported regions.\n\tRegions() []Region\n}\n\nvar (\n\t// Supported defines a Coverage that lists all supported subtags. Tags\n\t// always returns nil.\n\tSupported Coverage = allSubtags{}\n)\n\n// TODO:\n// - Support Variants, numbering systems.\n// - CLDR coverage levels.\n// - Set of common tags defined in this package.\n\ntype allSubtags struct{}\n\n// Regions returns the list of supported regions. As all regions are in a\n// consecutive range, it simply returns a slice of numbers in increasing order.\n// The \"undefined\" region is not returned.\nfunc (s allSubtags) Regions() []Region {\n\treg := make([]Region, numRegions)\n\tfor i := range reg {\n\t\treg[i] = Region{regionID(i + 1)}\n\t}\n\treturn reg\n}\n\n// Scripts returns the list of supported scripts. As all scripts are in a\n// consecutive range, it simply returns a slice of numbers in increasing order.\n// The \"undefined\" script is not returned.\nfunc (s allSubtags) Scripts() []Script {\n\tscr := make([]Script, numScripts)\n\tfor i := range scr {\n\t\tscr[i] = Script{scriptID(i + 1)}\n\t}\n\treturn scr\n}\n\n// BaseLanguages returns the list of all supported base languages. It generates\n// the list by traversing the internal structures.\nfunc (s allSubtags) BaseLanguages() []Base {\n\tbase := make([]Base, 0, numLanguages)\n\tfor i := 0; i < langNoIndexOffset; i++ {\n\t\t// We included \"und\" already for the value 0.\n\t\tif i != nonCanonicalUnd {\n\t\t\tbase = append(base, Base{langID(i)})\n\t\t}\n\t}\n\ti := langNoIndexOffset\n\tfor _, v := range langNoIndex {\n\t\tfor k := 0; k < 8; k++ {\n\t\t\tif v&1 == 1 {\n\t\t\t\tbase = append(base, Base{langID(i)})\n\t\t\t}\n\t\t\tv >>= 1\n\t\t\ti++\n\t\t}\n\t}\n\treturn base\n}\n\n// Tags always returns nil.\nfunc (s allSubtags) Tags() []Tag {\n\treturn nil\n}\n\n// coverage is used used by NewCoverage which is used as a convenient way for\n// creating Coverage implementations for partially defined data. Very often a\n// package will only need to define a subset of slices. coverage provides a\n// convenient way to do this. Moreover, packages using NewCoverage, instead of\n// their own implementation, will not break if later new slice types are added.\ntype coverage struct {\n\ttags    func() []Tag\n\tbases   func() []Base\n\tscripts func() []Script\n\tregions func() []Region\n}\n\nfunc (s *coverage) Tags() []Tag {\n\tif s.tags == nil {\n\t\treturn nil\n\t}\n\treturn s.tags()\n}\n\n// bases implements sort.Interface and is used to sort base languages.\ntype bases []Base\n\nfunc (b bases) Len() int {\n\treturn len(b)\n}\n\nfunc (b bases) Swap(i, j int) {\n\tb[i], b[j] = b[j], b[i]\n}\n\nfunc (b bases) Less(i, j int) bool {\n\treturn b[i].langID < b[j].langID\n}\n\n// BaseLanguages returns the result from calling s.bases if it is specified or\n// otherwise derives the set of supported base languages from tags.\nfunc (s *coverage) BaseLanguages() []Base {\n\tif s.bases == nil {\n\t\ttags := s.Tags()\n\t\tif len(tags) == 0 {\n\t\t\treturn nil\n\t\t}\n\t\ta := make([]Base, len(tags))\n\t\tfor i, t := range tags {\n\t\t\ta[i] = Base{langID(t.lang)}\n\t\t}\n\t\tsort.Sort(bases(a))\n\t\tk := 0\n\t\tfor i := 1; i < len(a); i++ {\n\t\t\tif a[k] != a[i] {\n\t\t\t\tk++\n\t\t\t\ta[k] = a[i]\n\t\t\t}\n\t\t}\n\t\treturn a[:k+1]\n\t}\n\treturn s.bases()\n}\n\nfunc (s *coverage) Scripts() []Script {\n\tif s.scripts == nil {\n\t\treturn nil\n\t}\n\treturn s.scripts()\n}\n\nfunc (s *coverage) Regions() []Region {\n\tif s.regions == nil {\n\t\treturn nil\n\t}\n\treturn s.regions()\n}\n\n// NewCoverage returns a Coverage for the given lists. It is typically used by\n// packages providing internationalization services to define their level of\n// coverage. A list may be of type []T or func() []T, where T is either Tag,\n// Base, Script or Region. The returned Coverage derives the value for Bases\n// from Tags if no func or slice for []Base is specified. For other unspecified\n// types the returned Coverage will return nil for the respective methods.\nfunc NewCoverage(list ...interface{}) Coverage {\n\ts := &coverage{}\n\tfor _, x := range list {\n\t\tswitch v := x.(type) {\n\t\tcase func() []Base:\n\t\t\ts.bases = v\n\t\tcase func() []Script:\n\t\t\ts.scripts = v\n\t\tcase func() []Region:\n\t\t\ts.regions = v\n\t\tcase func() []Tag:\n\t\t\ts.tags = v\n\t\tcase []Base:\n\t\t\ts.bases = func() []Base { return v }\n\t\tcase []Script:\n\t\t\ts.scripts = func() []Script { return v }\n\t\tcase []Region:\n\t\t\ts.regions = func() []Region { return v }\n\t\tcase []Tag:\n\t\t\ts.tags = func() []Tag { return v }\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"language: unsupported set type %T\", v))\n\t\t}\n\t}\n\treturn s\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/doc.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package language implements BCP 47 language tags and related functionality.\n//\n// The most important function of package language is to match a list of\n// user-preferred languages to a list of supported languages.\n// It alleviates the developer of dealing with the complexity of this process\n// and provides the user with the best experience\n// (see https://blog.golang.org/matchlang).\n//\n//\n// Matching preferred against supported languages\n//\n// A Matcher for an application that supports English, Australian English,\n// Danish, and standard Mandarin can be created as follows:\n//\n//    var matcher = language.NewMatcher([]language.Tag{\n//        language.English,   // The first language is used as fallback.\n//        language.MustParse(\"en-AU\"),\n//        language.Danish,\n//        language.Chinese,\n//    })\n//\n// This list of supported languages is typically implied by the languages for\n// which there exists translations of the user interface.\n//\n// User-preferred languages usually come as a comma-separated list of BCP 47\n// language tags.\n// The MatchString finds best matches for such strings:\n//\n//    handler(w http.ResponseWriter, r *http.Request) {\n//        lang, _ := r.Cookie(\"lang\")\n//        accept := r.Header.Get(\"Accept-Language\")\n//        tag, _ := language.MatchStrings(matcher, lang.String(), accept)\n//\n//        // tag should now be used for the initialization of any\n//        // locale-specific service.\n//    }\n//\n// The Matcher's Match method can be used to match Tags directly.\n//\n// Matchers are aware of the intricacies of equivalence between languages, such\n// as deprecated subtags, legacy tags, macro languages, mutual\n// intelligibility between scripts and languages, and transparently passing\n// BCP 47 user configuration.\n// For instance, it will know that a reader of Bokmål Danish can read Norwegian\n// and will know that Cantonese (\"yue\") is a good match for \"zh-HK\".\n//\n//\n// Using match results\n//\n// To guarantee a consistent user experience to the user it is important to\n// use the same language tag for the selection of any locale-specific services.\n// For example, it is utterly confusing to substitute spelled-out numbers\n// or dates in one language in text of another language.\n// More subtly confusing is using the wrong sorting order or casing\n// algorithm for a certain language.\n//\n//    All the packages in x/text that provide locale-specific services\n//    (e.g. collate, cases) should be initialized with the tag that was\n//    obtained at the start of an interaction with the user.\n//\n// Note that Tag that is returned by Match and MatchString may differ from any\n// of the supported languages, as it may contain carried over settings from\n// the user tags.\n// This may be inconvenient when your application has some additional\n// locale-specific data for your supported languages.\n// Match and MatchString both return the index of the matched supported tag\n// to simplify associating such data with the matched tag.\n//\n//\n// Canonicalization\n//\n// If one uses the Matcher to compare languages one does not need to\n// worry about canonicalization.\n//\n// The meaning of a Tag varies per application. The language package\n// therefore delays canonicalization and preserves information as much\n// as possible. The Matcher, however, will always take into account that\n// two different tags may represent the same language.\n//\n// By default, only legacy and deprecated tags are converted into their\n// canonical equivalent. All other information is preserved. This approach makes\n// the confidence scores more accurate and allows matchers to distinguish\n// between variants that are otherwise lost.\n//\n// As a consequence, two tags that should be treated as identical according to\n// BCP 47 or CLDR, like \"en-Latn\" and \"en\", will be represented differently. The\n// Matcher handles such distinctions, though, and is aware of the\n// equivalence relations. The CanonType type can be used to alter the\n// canonicalization form.\n//\n// References\n//\n// BCP 47 - Tags for Identifying Languages http://tools.ietf.org/html/bcp47\n//\npackage language // import \"golang.org/x/text/language\"\n\n// TODO: explanation on how to match languages for your own locale-specific\n// service.\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/gen.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// Language tag table generator.\n// Data read from the web.\n\npackage main\n\nimport (\n\t\"bufio\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"math\"\n\t\"reflect\"\n\t\"regexp\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/internal/tag\"\n\t\"golang.org/x/text/unicode/cldr\"\n)\n\nvar (\n\ttest = flag.Bool(\"test\",\n\t\tfalse,\n\t\t\"test existing tables; can be used to compare web data with package data.\")\n\toutputFile = flag.String(\"output\",\n\t\t\"tables.go\",\n\t\t\"output file for generated tables\")\n)\n\nvar comment = []string{\n\t`\nlang holds an alphabetically sorted list of ISO-639 language identifiers.\nAll entries are 4 bytes. The index of the identifier (divided by 4) is the language tag.\nFor 2-byte language identifiers, the two successive bytes have the following meaning:\n    - if the first letter of the 2- and 3-letter ISO codes are the same:\n      the second and third letter of the 3-letter ISO code.\n    - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3.\nFor 3-byte language identifiers the 4th byte is 0.`,\n\t`\nlangNoIndex is a bit vector of all 3-letter language codes that are not used as an index\nin lookup tables. The language ids for these language codes are derived directly\nfrom the letters and are not consecutive.`,\n\t`\naltLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives\nto 2-letter language codes that cannot be derived using the method described above.\nEach 3-letter code is followed by its 1-byte langID.`,\n\t`\naltLangIndex is used to convert indexes in altLangISO3 to langIDs.`,\n\t`\nlangAliasMap maps langIDs to their suggested replacements.`,\n\t`\nscript is an alphabetically sorted list of ISO 15924 codes. The index\nof the script in the string, divided by 4, is the internal scriptID.`,\n\t`\nisoRegionOffset needs to be added to the index of regionISO to obtain the regionID\nfor 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for\nthe UN.M49 codes used for groups.)`,\n\t`\nregionISO holds a list of alphabetically sorted 2-letter ISO region codes.\nEach 2-letter codes is followed by two bytes with the following meaning:\n    - [A-Z}{2}: the first letter of the 2-letter code plus these two \n                letters form the 3-letter ISO code.\n    - 0, n:     index into altRegionISO3.`,\n\t`\nregionTypes defines the status of a region for various standards.`,\n\t`\nm49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are\ncodes indicating collections of regions.`,\n\t`\nm49Index gives indexes into fromM49 based on the three most significant bits\nof a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in\n   fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]]\nfor an entry where the first 7 bits match the 7 lsb of the UN.M49 code.\nThe region code is stored in the 9 lsb of the indexed value.`,\n\t`\nfromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.`,\n\t`\naltRegionISO3 holds a list of 3-letter region codes that cannot be\nmapped to 2-letter codes using the default algorithm. This is a short list.`,\n\t`\naltRegionIDs holds a list of regionIDs the positions of which match those\nof the 3-letter ISO codes in altRegionISO3.`,\n\t`\nvariantNumSpecialized is the number of specialized variants in variants.`,\n\t`\nsuppressScript is an index from langID to the dominant script for that language,\nif it exists.  If a script is given, it should be suppressed from the language tag.`,\n\t`\nlikelyLang is a lookup table, indexed by langID, for the most likely\nscripts and regions given incomplete information. If more entries exist for a\ngiven language, region and script are the index and size respectively\nof the list in likelyLangList.`,\n\t`\nlikelyLangList holds lists info associated with likelyLang.`,\n\t`\nlikelyRegion is a lookup table, indexed by regionID, for the most likely\nlanguages and scripts given incomplete information. If more entries exist\nfor a given regionID, lang and script are the index and size respectively\nof the list in likelyRegionList.\nTODO: exclude containers and user-definable regions from the list.`,\n\t`\nlikelyRegionList holds lists info associated with likelyRegion.`,\n\t`\nlikelyScript is a lookup table, indexed by scriptID, for the most likely\nlanguages and regions given a script.`,\n\t`\nmatchLang holds pairs of langIDs of base languages that are typically\nmutually intelligible. Each pair is associated with a confidence and\nwhether the intelligibility goes one or both ways.`,\n\t`\nmatchScript holds pairs of scriptIDs where readers of one script\ncan typically also read the other. Each is associated with a confidence.`,\n\t`\nnRegionGroups is the number of region groups.`,\n\t`\nregionInclusion maps region identifiers to sets of regions in regionInclusionBits,\nwhere each set holds all groupings that are directly connected in a region\ncontainment graph.`,\n\t`\nregionInclusionBits is an array of bit vectors where every vector represents\na set of region groupings.  These sets are used to compute the distance\nbetween two regions for the purpose of language matching.`,\n\t`\nregionInclusionNext marks, for each entry in regionInclusionBits, the set of\nall groups that are reachable from the groups set in the respective entry.`,\n}\n\n// TODO: consider changing some of these structures to tries. This can reduce\n// memory, but may increase the need for memory allocations. This could be\n// mitigated if we can piggyback on language tags for common cases.\n\nfunc failOnError(e error) {\n\tif e != nil {\n\t\tlog.Panic(e)\n\t}\n}\n\ntype setType int\n\nconst (\n\tIndexed setType = 1 + iota // all elements must be of same size\n\tLinear\n)\n\ntype stringSet struct {\n\ts              []string\n\tsorted, frozen bool\n\n\t// We often need to update values after the creation of an index is completed.\n\t// We include a convenience map for keeping track of this.\n\tupdate map[string]string\n\ttyp    setType // used for checking.\n}\n\nfunc (ss *stringSet) clone() stringSet {\n\tc := *ss\n\tc.s = append([]string(nil), c.s...)\n\treturn c\n}\n\nfunc (ss *stringSet) setType(t setType) {\n\tif ss.typ != t && ss.typ != 0 {\n\t\tlog.Panicf(\"type %d cannot be assigned as it was already %d\", t, ss.typ)\n\t}\n}\n\n// parse parses a whitespace-separated string and initializes ss with its\n// components.\nfunc (ss *stringSet) parse(s string) {\n\tscan := bufio.NewScanner(strings.NewReader(s))\n\tscan.Split(bufio.ScanWords)\n\tfor scan.Scan() {\n\t\tss.add(scan.Text())\n\t}\n}\n\nfunc (ss *stringSet) assertChangeable() {\n\tif ss.frozen {\n\t\tlog.Panic(\"attempt to modify a frozen stringSet\")\n\t}\n}\n\nfunc (ss *stringSet) add(s string) {\n\tss.assertChangeable()\n\tss.s = append(ss.s, s)\n\tss.sorted = ss.frozen\n}\n\nfunc (ss *stringSet) freeze() {\n\tss.compact()\n\tss.frozen = true\n}\n\nfunc (ss *stringSet) compact() {\n\tif ss.sorted {\n\t\treturn\n\t}\n\ta := ss.s\n\tsort.Strings(a)\n\tk := 0\n\tfor i := 1; i < len(a); i++ {\n\t\tif a[k] != a[i] {\n\t\t\ta[k+1] = a[i]\n\t\t\tk++\n\t\t}\n\t}\n\tss.s = a[:k+1]\n\tss.sorted = ss.frozen\n}\n\ntype funcSorter struct {\n\tfn func(a, b string) bool\n\tsort.StringSlice\n}\n\nfunc (s funcSorter) Less(i, j int) bool {\n\treturn s.fn(s.StringSlice[i], s.StringSlice[j])\n}\n\nfunc (ss *stringSet) sortFunc(f func(a, b string) bool) {\n\tss.compact()\n\tsort.Sort(funcSorter{f, sort.StringSlice(ss.s)})\n}\n\nfunc (ss *stringSet) remove(s string) {\n\tss.assertChangeable()\n\tif i, ok := ss.find(s); ok {\n\t\tcopy(ss.s[i:], ss.s[i+1:])\n\t\tss.s = ss.s[:len(ss.s)-1]\n\t}\n}\n\nfunc (ss *stringSet) replace(ol, nu string) {\n\tss.s[ss.index(ol)] = nu\n\tss.sorted = ss.frozen\n}\n\nfunc (ss *stringSet) index(s string) int {\n\tss.setType(Indexed)\n\ti, ok := ss.find(s)\n\tif !ok {\n\t\tif i < len(ss.s) {\n\t\t\tlog.Panicf(\"find: item %q is not in list. Closest match is %q.\", s, ss.s[i])\n\t\t}\n\t\tlog.Panicf(\"find: item %q is not in list\", s)\n\n\t}\n\treturn i\n}\n\nfunc (ss *stringSet) find(s string) (int, bool) {\n\tss.compact()\n\ti := sort.SearchStrings(ss.s, s)\n\treturn i, i != len(ss.s) && ss.s[i] == s\n}\n\nfunc (ss *stringSet) slice() []string {\n\tss.compact()\n\treturn ss.s\n}\n\nfunc (ss *stringSet) updateLater(v, key string) {\n\tif ss.update == nil {\n\t\tss.update = map[string]string{}\n\t}\n\tss.update[v] = key\n}\n\n// join joins the string and ensures that all entries are of the same length.\nfunc (ss *stringSet) join() string {\n\tss.setType(Indexed)\n\tn := len(ss.s[0])\n\tfor _, s := range ss.s {\n\t\tif len(s) != n {\n\t\t\tlog.Panicf(\"join: not all entries are of the same length: %q\", s)\n\t\t}\n\t}\n\tss.s = append(ss.s, strings.Repeat(\"\\xff\", n))\n\treturn strings.Join(ss.s, \"\")\n}\n\n// ianaEntry holds information for an entry in the IANA Language Subtag Repository.\n// All types use the same entry.\n// See http://tools.ietf.org/html/bcp47#section-5.1 for a description of the various\n// fields.\ntype ianaEntry struct {\n\ttyp            string\n\tdescription    []string\n\tscope          string\n\tadded          string\n\tpreferred      string\n\tdeprecated     string\n\tsuppressScript string\n\tmacro          string\n\tprefix         []string\n}\n\ntype builder struct {\n\tw    *gen.CodeWriter\n\thw   io.Writer // MultiWriter for w and w.Hash\n\tdata *cldr.CLDR\n\tsupp *cldr.SupplementalData\n\n\t// indices\n\tlocale      stringSet // common locales\n\tlang        stringSet // canonical language ids (2 or 3 letter ISO codes) with data\n\tlangNoIndex stringSet // 3-letter ISO codes with no associated data\n\tscript      stringSet // 4-letter ISO codes\n\tregion      stringSet // 2-letter ISO or 3-digit UN M49 codes\n\tvariant     stringSet // 4-8-alphanumeric variant code.\n\n\t// Region codes that are groups with their corresponding group IDs.\n\tgroups map[int]index\n\n\t// langInfo\n\tregistry map[string]*ianaEntry\n}\n\ntype index uint\n\nfunc newBuilder(w *gen.CodeWriter) *builder {\n\tr := gen.OpenCLDRCoreZip()\n\tdefer r.Close()\n\td := &cldr.Decoder{}\n\tdata, err := d.DecodeZip(r)\n\tfailOnError(err)\n\tb := builder{\n\t\tw:    w,\n\t\thw:   io.MultiWriter(w, w.Hash),\n\t\tdata: data,\n\t\tsupp: data.Supplemental(),\n\t}\n\tb.parseRegistry()\n\treturn &b\n}\n\nfunc (b *builder) parseRegistry() {\n\tr := gen.OpenIANAFile(\"assignments/language-subtag-registry\")\n\tdefer r.Close()\n\tb.registry = make(map[string]*ianaEntry)\n\n\tscan := bufio.NewScanner(r)\n\tscan.Split(bufio.ScanWords)\n\tvar record *ianaEntry\n\tfor more := scan.Scan(); more; {\n\t\tkey := scan.Text()\n\t\tmore = scan.Scan()\n\t\tvalue := scan.Text()\n\t\tswitch key {\n\t\tcase \"Type:\":\n\t\t\trecord = &ianaEntry{typ: value}\n\t\tcase \"Subtag:\", \"Tag:\":\n\t\t\tif s := strings.SplitN(value, \"..\", 2); len(s) > 1 {\n\t\t\t\tfor a := s[0]; a <= s[1]; a = inc(a) {\n\t\t\t\t\tb.addToRegistry(a, record)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tb.addToRegistry(value, record)\n\t\t\t}\n\t\tcase \"Suppress-Script:\":\n\t\t\trecord.suppressScript = value\n\t\tcase \"Added:\":\n\t\t\trecord.added = value\n\t\tcase \"Deprecated:\":\n\t\t\trecord.deprecated = value\n\t\tcase \"Macrolanguage:\":\n\t\t\trecord.macro = value\n\t\tcase \"Preferred-Value:\":\n\t\t\trecord.preferred = value\n\t\tcase \"Prefix:\":\n\t\t\trecord.prefix = append(record.prefix, value)\n\t\tcase \"Scope:\":\n\t\t\trecord.scope = value\n\t\tcase \"Description:\":\n\t\t\tbuf := []byte(value)\n\t\t\tfor more = scan.Scan(); more; more = scan.Scan() {\n\t\t\t\tb := scan.Bytes()\n\t\t\t\tif b[0] == '%' || b[len(b)-1] == ':' {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tbuf = append(buf, ' ')\n\t\t\t\tbuf = append(buf, b...)\n\t\t\t}\n\t\t\trecord.description = append(record.description, string(buf))\n\t\t\tcontinue\n\t\tdefault:\n\t\t\tcontinue\n\t\t}\n\t\tmore = scan.Scan()\n\t}\n\tif scan.Err() != nil {\n\t\tlog.Panic(scan.Err())\n\t}\n}\n\nfunc (b *builder) addToRegistry(key string, entry *ianaEntry) {\n\tif info, ok := b.registry[key]; ok {\n\t\tif info.typ != \"language\" || entry.typ != \"extlang\" {\n\t\t\tlog.Fatalf(\"parseRegistry: tag %q already exists\", key)\n\t\t}\n\t} else {\n\t\tb.registry[key] = entry\n\t}\n}\n\nvar commentIndex = make(map[string]string)\n\nfunc init() {\n\tfor _, s := range comment {\n\t\tkey := strings.TrimSpace(strings.SplitN(s, \" \", 2)[0])\n\t\tcommentIndex[key] = s\n\t}\n}\n\nfunc (b *builder) comment(name string) {\n\tif s := commentIndex[name]; len(s) > 0 {\n\t\tb.w.WriteComment(s)\n\t} else {\n\t\tfmt.Fprintln(b.w)\n\t}\n}\n\nfunc (b *builder) pf(f string, x ...interface{}) {\n\tfmt.Fprintf(b.hw, f, x...)\n\tfmt.Fprint(b.hw, \"\\n\")\n}\n\nfunc (b *builder) p(x ...interface{}) {\n\tfmt.Fprintln(b.hw, x...)\n}\n\nfunc (b *builder) addSize(s int) {\n\tb.w.Size += s\n\tb.pf(\"// Size: %d bytes\", s)\n}\n\nfunc (b *builder) writeConst(name string, x interface{}) {\n\tb.comment(name)\n\tb.w.WriteConst(name, x)\n}\n\n// writeConsts computes f(v) for all v in values and writes the results\n// as constants named _v to a single constant block.\nfunc (b *builder) writeConsts(f func(string) int, values ...string) {\n\tb.pf(\"const (\")\n\tfor _, v := range values {\n\t\tb.pf(\"\\t_%s = %v\", v, f(v))\n\t}\n\tb.pf(\")\")\n}\n\n// writeType writes the type of the given value, which must be a struct.\nfunc (b *builder) writeType(value interface{}) {\n\tb.comment(reflect.TypeOf(value).Name())\n\tb.w.WriteType(value)\n}\n\nfunc (b *builder) writeSlice(name string, ss interface{}) {\n\tb.writeSliceAddSize(name, 0, ss)\n}\n\nfunc (b *builder) writeSliceAddSize(name string, extraSize int, ss interface{}) {\n\tb.comment(name)\n\tb.w.Size += extraSize\n\tv := reflect.ValueOf(ss)\n\tt := v.Type().Elem()\n\tb.pf(\"// Size: %d bytes, %d elements\", v.Len()*int(t.Size())+extraSize, v.Len())\n\n\tfmt.Fprintf(b.w, \"var %s = \", name)\n\tb.w.WriteArray(ss)\n\tb.p()\n}\n\ntype fromTo struct {\n\tfrom, to uint16\n}\n\nfunc (b *builder) writeSortedMap(name string, ss *stringSet, index func(s string) uint16) {\n\tss.sortFunc(func(a, b string) bool {\n\t\treturn index(a) < index(b)\n\t})\n\tm := []fromTo{}\n\tfor _, s := range ss.s {\n\t\tm = append(m, fromTo{index(s), index(ss.update[s])})\n\t}\n\tb.writeSlice(name, m)\n}\n\nconst base = 'z' - 'a' + 1\n\nfunc strToInt(s string) uint {\n\tv := uint(0)\n\tfor i := 0; i < len(s); i++ {\n\t\tv *= base\n\t\tv += uint(s[i] - 'a')\n\t}\n\treturn v\n}\n\n// converts the given integer to the original ASCII string passed to strToInt.\n// len(s) must match the number of characters obtained.\nfunc intToStr(v uint, s []byte) {\n\tfor i := len(s) - 1; i >= 0; i-- {\n\t\ts[i] = byte(v%base) + 'a'\n\t\tv /= base\n\t}\n}\n\nfunc (b *builder) writeBitVector(name string, ss []string) {\n\tvec := make([]uint8, int(math.Ceil(math.Pow(base, float64(len(ss[0])))/8)))\n\tfor _, s := range ss {\n\t\tv := strToInt(s)\n\t\tvec[v/8] |= 1 << (v % 8)\n\t}\n\tb.writeSlice(name, vec)\n}\n\n// TODO: convert this type into a list or two-stage trie.\nfunc (b *builder) writeMapFunc(name string, m map[string]string, f func(string) uint16) {\n\tb.comment(name)\n\tv := reflect.ValueOf(m)\n\tsz := v.Len() * (2 + int(v.Type().Key().Size()))\n\tfor _, k := range m {\n\t\tsz += len(k)\n\t}\n\tb.addSize(sz)\n\tkeys := []string{}\n\tb.pf(`var %s = map[string]uint16{`, name)\n\tfor k := range m {\n\t\tkeys = append(keys, k)\n\t}\n\tsort.Strings(keys)\n\tfor _, k := range keys {\n\t\tb.pf(\"\\t%q: %v,\", k, f(m[k]))\n\t}\n\tb.p(\"}\")\n}\n\nfunc (b *builder) writeMap(name string, m interface{}) {\n\tb.comment(name)\n\tv := reflect.ValueOf(m)\n\tsz := v.Len() * (2 + int(v.Type().Key().Size()) + int(v.Type().Elem().Size()))\n\tb.addSize(sz)\n\tf := strings.FieldsFunc(fmt.Sprintf(\"%#v\", m), func(r rune) bool {\n\t\treturn strings.IndexRune(\"{}, \", r) != -1\n\t})\n\tsort.Strings(f[1:])\n\tb.pf(`var %s = %s{`, name, f[0])\n\tfor _, kv := range f[1:] {\n\t\tb.pf(\"\\t%s,\", kv)\n\t}\n\tb.p(\"}\")\n}\n\nfunc (b *builder) langIndex(s string) uint16 {\n\tif s == \"und\" {\n\t\treturn 0\n\t}\n\tif i, ok := b.lang.find(s); ok {\n\t\treturn uint16(i)\n\t}\n\treturn uint16(strToInt(s)) + uint16(len(b.lang.s))\n}\n\n// inc advances the string to its lexicographical successor.\nfunc inc(s string) string {\n\tconst maxTagLength = 4\n\tvar buf [maxTagLength]byte\n\tintToStr(strToInt(strings.ToLower(s))+1, buf[:len(s)])\n\tfor i := 0; i < len(s); i++ {\n\t\tif s[i] <= 'Z' {\n\t\t\tbuf[i] -= 'a' - 'A'\n\t\t}\n\t}\n\treturn string(buf[:len(s)])\n}\n\nfunc (b *builder) parseIndices() {\n\tmeta := b.supp.Metadata\n\n\tfor k, v := range b.registry {\n\t\tvar ss *stringSet\n\t\tswitch v.typ {\n\t\tcase \"language\":\n\t\t\tif len(k) == 2 || v.suppressScript != \"\" || v.scope == \"special\" {\n\t\t\t\tb.lang.add(k)\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\tss = &b.langNoIndex\n\t\t\t}\n\t\tcase \"region\":\n\t\t\tss = &b.region\n\t\tcase \"script\":\n\t\t\tss = &b.script\n\t\tcase \"variant\":\n\t\t\tss = &b.variant\n\t\tdefault:\n\t\t\tcontinue\n\t\t}\n\t\tss.add(k)\n\t}\n\t// Include any language for which there is data.\n\tfor _, lang := range b.data.Locales() {\n\t\tif x := b.data.RawLDML(lang); false ||\n\t\t\tx.LocaleDisplayNames != nil ||\n\t\t\tx.Characters != nil ||\n\t\t\tx.Delimiters != nil ||\n\t\t\tx.Measurement != nil ||\n\t\t\tx.Dates != nil ||\n\t\t\tx.Numbers != nil ||\n\t\t\tx.Units != nil ||\n\t\t\tx.ListPatterns != nil ||\n\t\t\tx.Collations != nil ||\n\t\t\tx.Segmentations != nil ||\n\t\t\tx.Rbnf != nil ||\n\t\t\tx.Annotations != nil ||\n\t\t\tx.Metadata != nil {\n\n\t\t\tfrom := strings.Split(lang, \"_\")\n\t\t\tif lang := from[0]; lang != \"root\" {\n\t\t\t\tb.lang.add(lang)\n\t\t\t}\n\t\t}\n\t}\n\t// Include locales for plural rules, which uses a different structure.\n\tfor _, plurals := range b.data.Supplemental().Plurals {\n\t\tfor _, rules := range plurals.PluralRules {\n\t\t\tfor _, lang := range strings.Split(rules.Locales, \" \") {\n\t\t\t\tif lang = strings.Split(lang, \"_\")[0]; lang != \"root\" {\n\t\t\t\t\tb.lang.add(lang)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Include languages in likely subtags.\n\tfor _, m := range b.supp.LikelySubtags.LikelySubtag {\n\t\tfrom := strings.Split(m.From, \"_\")\n\t\tb.lang.add(from[0])\n\t}\n\t// Include ISO-639 alpha-3 bibliographic entries.\n\tfor _, a := range meta.Alias.LanguageAlias {\n\t\tif a.Reason == \"bibliographic\" {\n\t\t\tb.langNoIndex.add(a.Type)\n\t\t}\n\t}\n\t// Include regions in territoryAlias (not all are in the IANA registry!)\n\tfor _, reg := range b.supp.Metadata.Alias.TerritoryAlias {\n\t\tif len(reg.Type) == 2 {\n\t\t\tb.region.add(reg.Type)\n\t\t}\n\t}\n\n\tfor _, s := range b.lang.s {\n\t\tif len(s) == 3 {\n\t\t\tb.langNoIndex.remove(s)\n\t\t}\n\t}\n\tb.writeConst(\"numLanguages\", len(b.lang.slice())+len(b.langNoIndex.slice()))\n\tb.writeConst(\"numScripts\", len(b.script.slice()))\n\tb.writeConst(\"numRegions\", len(b.region.slice()))\n\n\t// Add dummy codes at the start of each list to represent \"unspecified\".\n\tb.lang.add(\"---\")\n\tb.script.add(\"----\")\n\tb.region.add(\"---\")\n\n\t// common locales\n\tb.locale.parse(meta.DefaultContent.Locales)\n}\n\n// TODO: region inclusion data will probably not be use used in future matchers.\n\nfunc (b *builder) computeRegionGroups() {\n\tb.groups = make(map[int]index)\n\n\t// Create group indices.\n\tfor i := 1; b.region.s[i][0] < 'A'; i++ { // Base M49 indices on regionID.\n\t\tb.groups[i] = index(len(b.groups))\n\t}\n\tfor _, g := range b.supp.TerritoryContainment.Group {\n\t\t// Skip UN and EURO zone as they are flattening the containment\n\t\t// relationship.\n\t\tif g.Type == \"EZ\" || g.Type == \"UN\" {\n\t\t\tcontinue\n\t\t}\n\t\tgroup := b.region.index(g.Type)\n\t\tif _, ok := b.groups[group]; !ok {\n\t\t\tb.groups[group] = index(len(b.groups))\n\t\t}\n\t}\n\tif len(b.groups) > 64 {\n\t\tlog.Fatalf(\"only 64 groups supported, found %d\", len(b.groups))\n\t}\n\tb.writeConst(\"nRegionGroups\", len(b.groups))\n}\n\nvar langConsts = []string{\n\t\"af\", \"am\", \"ar\", \"az\", \"bg\", \"bn\", \"ca\", \"cs\", \"da\", \"de\", \"el\", \"en\", \"es\",\n\t\"et\", \"fa\", \"fi\", \"fil\", \"fr\", \"gu\", \"he\", \"hi\", \"hr\", \"hu\", \"hy\", \"id\", \"is\",\n\t\"it\", \"ja\", \"ka\", \"kk\", \"km\", \"kn\", \"ko\", \"ky\", \"lo\", \"lt\", \"lv\", \"mk\", \"ml\",\n\t\"mn\", \"mo\", \"mr\", \"ms\", \"mul\", \"my\", \"nb\", \"ne\", \"nl\", \"no\", \"pa\", \"pl\", \"pt\",\n\t\"ro\", \"ru\", \"sh\", \"si\", \"sk\", \"sl\", \"sq\", \"sr\", \"sv\", \"sw\", \"ta\", \"te\", \"th\",\n\t\"tl\", \"tn\", \"tr\", \"uk\", \"ur\", \"uz\", \"vi\", \"zh\", \"zu\",\n\n\t// constants for grandfathered tags (if not already defined)\n\t\"jbo\", \"ami\", \"bnn\", \"hak\", \"tlh\", \"lb\", \"nv\", \"pwn\", \"tao\", \"tay\", \"tsu\",\n\t\"nn\", \"sfb\", \"vgt\", \"sgg\", \"cmn\", \"nan\", \"hsn\",\n}\n\n// writeLanguage generates all tables needed for language canonicalization.\nfunc (b *builder) writeLanguage() {\n\tmeta := b.supp.Metadata\n\n\tb.writeConst(\"nonCanonicalUnd\", b.lang.index(\"und\"))\n\tb.writeConsts(func(s string) int { return int(b.langIndex(s)) }, langConsts...)\n\tb.writeConst(\"langPrivateStart\", b.langIndex(\"qaa\"))\n\tb.writeConst(\"langPrivateEnd\", b.langIndex(\"qtz\"))\n\n\t// Get language codes that need to be mapped (overlong 3-letter codes,\n\t// deprecated 2-letter codes, legacy and grandfathered tags.)\n\tlangAliasMap := stringSet{}\n\taliasTypeMap := map[string]langAliasType{}\n\n\t// altLangISO3 get the alternative ISO3 names that need to be mapped.\n\taltLangISO3 := stringSet{}\n\t// Add dummy start to avoid the use of index 0.\n\taltLangISO3.add(\"---\")\n\taltLangISO3.updateLater(\"---\", \"aa\")\n\n\tlang := b.lang.clone()\n\tfor _, a := range meta.Alias.LanguageAlias {\n\t\tif a.Replacement == \"\" {\n\t\t\ta.Replacement = \"und\"\n\t\t}\n\t\t// TODO: support mapping to tags\n\t\trepl := strings.SplitN(a.Replacement, \"_\", 2)[0]\n\t\tif a.Reason == \"overlong\" {\n\t\t\tif len(a.Replacement) == 2 && len(a.Type) == 3 {\n\t\t\t\tlang.updateLater(a.Replacement, a.Type)\n\t\t\t}\n\t\t} else if len(a.Type) <= 3 {\n\t\t\tswitch a.Reason {\n\t\t\tcase \"macrolanguage\":\n\t\t\t\taliasTypeMap[a.Type] = langMacro\n\t\t\tcase \"deprecated\":\n\t\t\t\t// handled elsewhere\n\t\t\t\tcontinue\n\t\t\tcase \"bibliographic\", \"legacy\":\n\t\t\t\tif a.Type == \"no\" {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\taliasTypeMap[a.Type] = langLegacy\n\t\t\tdefault:\n\t\t\t\tlog.Fatalf(\"new %s alias: %s\", a.Reason, a.Type)\n\t\t\t}\n\t\t\tlangAliasMap.add(a.Type)\n\t\t\tlangAliasMap.updateLater(a.Type, repl)\n\t\t}\n\t}\n\t// Manually add the mapping of \"nb\" (Norwegian) to its macro language.\n\t// This can be removed if CLDR adopts this change.\n\tlangAliasMap.add(\"nb\")\n\tlangAliasMap.updateLater(\"nb\", \"no\")\n\taliasTypeMap[\"nb\"] = langMacro\n\n\tfor k, v := range b.registry {\n\t\t// Also add deprecated values for 3-letter ISO codes, which CLDR omits.\n\t\tif v.typ == \"language\" && v.deprecated != \"\" && v.preferred != \"\" {\n\t\t\tlangAliasMap.add(k)\n\t\t\tlangAliasMap.updateLater(k, v.preferred)\n\t\t\taliasTypeMap[k] = langDeprecated\n\t\t}\n\t}\n\t// Fix CLDR mappings.\n\tlang.updateLater(\"tl\", \"tgl\")\n\tlang.updateLater(\"sh\", \"hbs\")\n\tlang.updateLater(\"mo\", \"mol\")\n\tlang.updateLater(\"no\", \"nor\")\n\tlang.updateLater(\"tw\", \"twi\")\n\tlang.updateLater(\"nb\", \"nob\")\n\tlang.updateLater(\"ak\", \"aka\")\n\tlang.updateLater(\"bh\", \"bih\")\n\n\t// Ensure that each 2-letter code is matched with a 3-letter code.\n\tfor _, v := range lang.s[1:] {\n\t\ts, ok := lang.update[v]\n\t\tif !ok {\n\t\t\tif s, ok = lang.update[langAliasMap.update[v]]; !ok {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tlang.update[v] = s\n\t\t}\n\t\tif v[0] != s[0] {\n\t\t\taltLangISO3.add(s)\n\t\t\taltLangISO3.updateLater(s, v)\n\t\t}\n\t}\n\n\t// Complete canonicalized language tags.\n\tlang.freeze()\n\tfor i, v := range lang.s {\n\t\t// We can avoid these manual entries by using the IANA registry directly.\n\t\t// Seems easier to update the list manually, as changes are rare.\n\t\t// The panic in this loop will trigger if we miss an entry.\n\t\tadd := \"\"\n\t\tif s, ok := lang.update[v]; ok {\n\t\t\tif s[0] == v[0] {\n\t\t\t\tadd = s[1:]\n\t\t\t} else {\n\t\t\t\tadd = string([]byte{0, byte(altLangISO3.index(s))})\n\t\t\t}\n\t\t} else if len(v) == 3 {\n\t\t\tadd = \"\\x00\"\n\t\t} else {\n\t\t\tlog.Panicf(\"no data for long form of %q\", v)\n\t\t}\n\t\tlang.s[i] += add\n\t}\n\tb.writeConst(\"lang\", tag.Index(lang.join()))\n\n\tb.writeConst(\"langNoIndexOffset\", len(b.lang.s))\n\n\t// space of all valid 3-letter language identifiers.\n\tb.writeBitVector(\"langNoIndex\", b.langNoIndex.slice())\n\n\taltLangIndex := []uint16{}\n\tfor i, s := range altLangISO3.slice() {\n\t\taltLangISO3.s[i] += string([]byte{byte(len(altLangIndex))})\n\t\tif i > 0 {\n\t\t\tidx := b.lang.index(altLangISO3.update[s])\n\t\t\taltLangIndex = append(altLangIndex, uint16(idx))\n\t\t}\n\t}\n\tb.writeConst(\"altLangISO3\", tag.Index(altLangISO3.join()))\n\tb.writeSlice(\"altLangIndex\", altLangIndex)\n\n\tb.writeSortedMap(\"langAliasMap\", &langAliasMap, b.langIndex)\n\ttypes := make([]langAliasType, len(langAliasMap.s))\n\tfor i, s := range langAliasMap.s {\n\t\ttypes[i] = aliasTypeMap[s]\n\t}\n\tb.writeSlice(\"langAliasTypes\", types)\n}\n\nvar scriptConsts = []string{\n\t\"Latn\", \"Hani\", \"Hans\", \"Hant\", \"Qaaa\", \"Qaai\", \"Qabx\", \"Zinh\", \"Zyyy\",\n\t\"Zzzz\",\n}\n\nfunc (b *builder) writeScript() {\n\tb.writeConsts(b.script.index, scriptConsts...)\n\tb.writeConst(\"script\", tag.Index(b.script.join()))\n\n\tsupp := make([]uint8, len(b.lang.slice()))\n\tfor i, v := range b.lang.slice()[1:] {\n\t\tif sc := b.registry[v].suppressScript; sc != \"\" {\n\t\t\tsupp[i+1] = uint8(b.script.index(sc))\n\t\t}\n\t}\n\tb.writeSlice(\"suppressScript\", supp)\n\n\t// There is only one deprecated script in CLDR. This value is hard-coded.\n\t// We check here if the code must be updated.\n\tfor _, a := range b.supp.Metadata.Alias.ScriptAlias {\n\t\tif a.Type != \"Qaai\" {\n\t\t\tlog.Panicf(\"unexpected deprecated stript %q\", a.Type)\n\t\t}\n\t}\n}\n\nfunc parseM49(s string) int16 {\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tv, err := strconv.ParseUint(s, 10, 10)\n\tfailOnError(err)\n\treturn int16(v)\n}\n\nvar regionConsts = []string{\n\t\"001\", \"419\", \"BR\", \"CA\", \"ES\", \"GB\", \"MD\", \"PT\", \"UK\", \"US\",\n\t\"ZZ\", \"XA\", \"XC\", \"XK\", // Unofficial tag for Kosovo.\n}\n\nfunc (b *builder) writeRegion() {\n\tb.writeConsts(b.region.index, regionConsts...)\n\n\tisoOffset := b.region.index(\"AA\")\n\tm49map := make([]int16, len(b.region.slice()))\n\tfromM49map := make(map[int16]int)\n\taltRegionISO3 := \"\"\n\taltRegionIDs := []uint16{}\n\n\tb.writeConst(\"isoRegionOffset\", isoOffset)\n\n\t// 2-letter region lookup and mapping to numeric codes.\n\tregionISO := b.region.clone()\n\tregionISO.s = regionISO.s[isoOffset:]\n\tregionISO.sorted = false\n\n\tregionTypes := make([]byte, len(b.region.s))\n\n\t// Is the region valid BCP 47?\n\tfor s, e := range b.registry {\n\t\tif len(s) == 2 && s == strings.ToUpper(s) {\n\t\t\ti := b.region.index(s)\n\t\t\tfor _, d := range e.description {\n\t\t\t\tif strings.Contains(d, \"Private use\") {\n\t\t\t\t\tregionTypes[i] = iso3166UserAssigned\n\t\t\t\t}\n\t\t\t}\n\t\t\tregionTypes[i] |= bcp47Region\n\t\t}\n\t}\n\n\t// Is the region a valid ccTLD?\n\tr := gen.OpenIANAFile(\"domains/root/db\")\n\tdefer r.Close()\n\n\tbuf, err := ioutil.ReadAll(r)\n\tfailOnError(err)\n\tre := regexp.MustCompile(`\"/domains/root/db/([a-z]{2}).html\"`)\n\tfor _, m := range re.FindAllSubmatch(buf, -1) {\n\t\ti := b.region.index(strings.ToUpper(string(m[1])))\n\t\tregionTypes[i] |= ccTLD\n\t}\n\n\tb.writeSlice(\"regionTypes\", regionTypes)\n\n\tiso3Set := make(map[string]int)\n\tupdate := func(iso2, iso3 string) {\n\t\ti := regionISO.index(iso2)\n\t\tif j, ok := iso3Set[iso3]; !ok && iso3[0] == iso2[0] {\n\t\t\tregionISO.s[i] += iso3[1:]\n\t\t\tiso3Set[iso3] = -1\n\t\t} else {\n\t\t\tif ok && j >= 0 {\n\t\t\t\tregionISO.s[i] += string([]byte{0, byte(j)})\n\t\t\t} else {\n\t\t\t\tiso3Set[iso3] = len(altRegionISO3)\n\t\t\t\tregionISO.s[i] += string([]byte{0, byte(len(altRegionISO3))})\n\t\t\t\taltRegionISO3 += iso3\n\t\t\t\taltRegionIDs = append(altRegionIDs, uint16(isoOffset+i))\n\t\t\t}\n\t\t}\n\t}\n\tfor _, tc := range b.supp.CodeMappings.TerritoryCodes {\n\t\ti := regionISO.index(tc.Type) + isoOffset\n\t\tif d := m49map[i]; d != 0 {\n\t\t\tlog.Panicf(\"%s found as a duplicate UN.M49 code of %03d\", tc.Numeric, d)\n\t\t}\n\t\tm49 := parseM49(tc.Numeric)\n\t\tm49map[i] = m49\n\t\tif r := fromM49map[m49]; r == 0 {\n\t\t\tfromM49map[m49] = i\n\t\t} else if r != i {\n\t\t\tdep := b.registry[regionISO.s[r-isoOffset]].deprecated\n\t\t\tif t := b.registry[tc.Type]; t != nil && dep != \"\" && (t.deprecated == \"\" || t.deprecated > dep) {\n\t\t\t\tfromM49map[m49] = i\n\t\t\t}\n\t\t}\n\t}\n\tfor _, ta := range b.supp.Metadata.Alias.TerritoryAlias {\n\t\tif len(ta.Type) == 3 && ta.Type[0] <= '9' && len(ta.Replacement) == 2 {\n\t\t\tfrom := parseM49(ta.Type)\n\t\t\tif r := fromM49map[from]; r == 0 {\n\t\t\t\tfromM49map[from] = regionISO.index(ta.Replacement) + isoOffset\n\t\t\t}\n\t\t}\n\t}\n\tfor _, tc := range b.supp.CodeMappings.TerritoryCodes {\n\t\tif len(tc.Alpha3) == 3 {\n\t\t\tupdate(tc.Type, tc.Alpha3)\n\t\t}\n\t}\n\t// This entries are not included in territoryCodes. Mostly 3-letter variants\n\t// of deleted codes and an entry for QU.\n\tfor _, m := range []struct{ iso2, iso3 string }{\n\t\t{\"CT\", \"CTE\"},\n\t\t{\"DY\", \"DHY\"},\n\t\t{\"HV\", \"HVO\"},\n\t\t{\"JT\", \"JTN\"},\n\t\t{\"MI\", \"MID\"},\n\t\t{\"NH\", \"NHB\"},\n\t\t{\"NQ\", \"ATN\"},\n\t\t{\"PC\", \"PCI\"},\n\t\t{\"PU\", \"PUS\"},\n\t\t{\"PZ\", \"PCZ\"},\n\t\t{\"RH\", \"RHO\"},\n\t\t{\"VD\", \"VDR\"},\n\t\t{\"WK\", \"WAK\"},\n\t\t// These three-letter codes are used for others as well.\n\t\t{\"FQ\", \"ATF\"},\n\t} {\n\t\tupdate(m.iso2, m.iso3)\n\t}\n\tfor i, s := range regionISO.s {\n\t\tif len(s) != 4 {\n\t\t\tregionISO.s[i] = s + \"  \"\n\t\t}\n\t}\n\tb.writeConst(\"regionISO\", tag.Index(regionISO.join()))\n\tb.writeConst(\"altRegionISO3\", altRegionISO3)\n\tb.writeSlice(\"altRegionIDs\", altRegionIDs)\n\n\t// Create list of deprecated regions.\n\t// TODO: consider inserting SF -> FI. Not included by CLDR, but is the only\n\t// Transitionally-reserved mapping not included.\n\tregionOldMap := stringSet{}\n\t// Include regions in territoryAlias (not all are in the IANA registry!)\n\tfor _, reg := range b.supp.Metadata.Alias.TerritoryAlias {\n\t\tif len(reg.Type) == 2 && reg.Reason == \"deprecated\" && len(reg.Replacement) == 2 {\n\t\t\tregionOldMap.add(reg.Type)\n\t\t\tregionOldMap.updateLater(reg.Type, reg.Replacement)\n\t\t\ti, _ := regionISO.find(reg.Type)\n\t\t\tj, _ := regionISO.find(reg.Replacement)\n\t\t\tif k := m49map[i+isoOffset]; k == 0 {\n\t\t\t\tm49map[i+isoOffset] = m49map[j+isoOffset]\n\t\t\t}\n\t\t}\n\t}\n\tb.writeSortedMap(\"regionOldMap\", &regionOldMap, func(s string) uint16 {\n\t\treturn uint16(b.region.index(s))\n\t})\n\t// 3-digit region lookup, groupings.\n\tfor i := 1; i < isoOffset; i++ {\n\t\tm := parseM49(b.region.s[i])\n\t\tm49map[i] = m\n\t\tfromM49map[m] = i\n\t}\n\tb.writeSlice(\"m49\", m49map)\n\n\tconst (\n\t\tsearchBits = 7\n\t\tregionBits = 9\n\t)\n\tif len(m49map) >= 1<<regionBits {\n\t\tlog.Fatalf(\"Maximum number of regions exceeded: %d > %d\", len(m49map), 1<<regionBits)\n\t}\n\tm49Index := [9]int16{}\n\tfromM49 := []uint16{}\n\tm49 := []int{}\n\tfor k, _ := range fromM49map {\n\t\tm49 = append(m49, int(k))\n\t}\n\tsort.Ints(m49)\n\tfor _, k := range m49[1:] {\n\t\tval := (k & (1<<searchBits - 1)) << regionBits\n\t\tfromM49 = append(fromM49, uint16(val|fromM49map[int16(k)]))\n\t\tm49Index[1:][k>>searchBits] = int16(len(fromM49))\n\t}\n\tb.writeSlice(\"m49Index\", m49Index)\n\tb.writeSlice(\"fromM49\", fromM49)\n}\n\nconst (\n\t// TODO: put these lists in regionTypes as user data? Could be used for\n\t// various optimizations and refinements and could be exposed in the API.\n\tiso3166Except = \"AC CP DG EA EU FX IC SU TA UK\"\n\tiso3166Trans  = \"AN BU CS NT TP YU ZR\" // SF is not in our set of Regions.\n\t// DY and RH are actually not deleted, but indeterminately reserved.\n\tiso3166DelCLDR = \"CT DD DY FQ HV JT MI NH NQ PC PU PZ RH VD WK YD\"\n)\n\nconst (\n\tiso3166UserAssigned = 1 << iota\n\tccTLD\n\tbcp47Region\n)\n\nfunc find(list []string, s string) int {\n\tfor i, t := range list {\n\t\tif t == s {\n\t\t\treturn i\n\t\t}\n\t}\n\treturn -1\n}\n\n// writeVariants generates per-variant information and creates a map from variant\n// name to index value. We assign index values such that sorting multiple\n// variants by index value will result in the correct order.\n// There are two types of variants: specialized and general. Specialized variants\n// are only applicable to certain language or language-script pairs. Generalized\n// variants apply to any language. Generalized variants always sort after\n// specialized variants.  We will therefore always assign a higher index value\n// to a generalized variant than any other variant. Generalized variants are\n// sorted alphabetically among themselves.\n// Specialized variants may also sort after other specialized variants. Such\n// variants will be ordered after any of the variants they may follow.\n// We assume that if a variant x is followed by a variant y, then for any prefix\n// p of x, p-x is a prefix of y. This allows us to order tags based on the\n// maximum of the length of any of its prefixes.\n// TODO: it is possible to define a set of Prefix values on variants such that\n// a total order cannot be defined to the point that this algorithm breaks.\n// In other words, we cannot guarantee the same order of variants for the\n// future using the same algorithm or for non-compliant combinations of\n// variants. For this reason, consider using simple alphabetic sorting\n// of variants and ignore Prefix restrictions altogether.\nfunc (b *builder) writeVariant() {\n\tgeneralized := stringSet{}\n\tspecialized := stringSet{}\n\tspecializedExtend := stringSet{}\n\t// Collate the variants by type and check assumptions.\n\tfor _, v := range b.variant.slice() {\n\t\te := b.registry[v]\n\t\tif len(e.prefix) == 0 {\n\t\t\tgeneralized.add(v)\n\t\t\tcontinue\n\t\t}\n\t\tc := strings.Split(e.prefix[0], \"-\")\n\t\thasScriptOrRegion := false\n\t\tif len(c) > 1 {\n\t\t\t_, hasScriptOrRegion = b.script.find(c[1])\n\t\t\tif !hasScriptOrRegion {\n\t\t\t\t_, hasScriptOrRegion = b.region.find(c[1])\n\n\t\t\t}\n\t\t}\n\t\tif len(c) == 1 || len(c) == 2 && hasScriptOrRegion {\n\t\t\t// Variant is preceded by a language.\n\t\t\tspecialized.add(v)\n\t\t\tcontinue\n\t\t}\n\t\t// Variant is preceded by another variant.\n\t\tspecializedExtend.add(v)\n\t\tprefix := c[0] + \"-\"\n\t\tif hasScriptOrRegion {\n\t\t\tprefix += c[1]\n\t\t}\n\t\tfor _, p := range e.prefix {\n\t\t\t// Verify that the prefix minus the last element is a prefix of the\n\t\t\t// predecessor element.\n\t\t\ti := strings.LastIndex(p, \"-\")\n\t\t\tpred := b.registry[p[i+1:]]\n\t\t\tif find(pred.prefix, p[:i]) < 0 {\n\t\t\t\tlog.Fatalf(\"prefix %q for variant %q not consistent with predecessor spec\", p, v)\n\t\t\t}\n\t\t\t// The sorting used below does not work in the general case. It works\n\t\t\t// if we assume that variants that may be followed by others only have\n\t\t\t// prefixes of the same length. Verify this.\n\t\t\tcount := strings.Count(p[:i], \"-\")\n\t\t\tfor _, q := range pred.prefix {\n\t\t\t\tif c := strings.Count(q, \"-\"); c != count {\n\t\t\t\t\tlog.Fatalf(\"variant %q preceding %q has a prefix %q of size %d; want %d\", p[i+1:], v, q, c, count)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !strings.HasPrefix(p, prefix) {\n\t\t\t\tlog.Fatalf(\"prefix %q of variant %q should start with %q\", p, v, prefix)\n\t\t\t}\n\t\t}\n\t}\n\n\t// Sort extended variants.\n\ta := specializedExtend.s\n\tless := func(v, w string) bool {\n\t\t// Sort by the maximum number of elements.\n\t\tmaxCount := func(s string) (max int) {\n\t\t\tfor _, p := range b.registry[s].prefix {\n\t\t\t\tif c := strings.Count(p, \"-\"); c > max {\n\t\t\t\t\tmax = c\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif cv, cw := maxCount(v), maxCount(w); cv != cw {\n\t\t\treturn cv < cw\n\t\t}\n\t\t// Sort by name as tie breaker.\n\t\treturn v < w\n\t}\n\tsort.Sort(funcSorter{less, sort.StringSlice(a)})\n\tspecializedExtend.frozen = true\n\n\t// Create index from variant name to index.\n\tvariantIndex := make(map[string]uint8)\n\tadd := func(s []string) {\n\t\tfor _, v := range s {\n\t\t\tvariantIndex[v] = uint8(len(variantIndex))\n\t\t}\n\t}\n\tadd(specialized.slice())\n\tadd(specializedExtend.s)\n\tnumSpecialized := len(variantIndex)\n\tadd(generalized.slice())\n\tif n := len(variantIndex); n > 255 {\n\t\tlog.Fatalf(\"maximum number of variants exceeded: was %d; want <= 255\", n)\n\t}\n\tb.writeMap(\"variantIndex\", variantIndex)\n\tb.writeConst(\"variantNumSpecialized\", numSpecialized)\n}\n\nfunc (b *builder) writeLanguageInfo() {\n}\n\n// writeLikelyData writes tables that are used both for finding parent relations and for\n// language matching.  Each entry contains additional bits to indicate the status of the\n// data to know when it cannot be used for parent relations.\nfunc (b *builder) writeLikelyData() {\n\tconst (\n\t\tisList = 1 << iota\n\t\tscriptInFrom\n\t\tregionInFrom\n\t)\n\ttype ( // generated types\n\t\tlikelyScriptRegion struct {\n\t\t\tregion uint16\n\t\t\tscript uint8\n\t\t\tflags  uint8\n\t\t}\n\t\tlikelyLangScript struct {\n\t\t\tlang   uint16\n\t\t\tscript uint8\n\t\t\tflags  uint8\n\t\t}\n\t\tlikelyLangRegion struct {\n\t\t\tlang   uint16\n\t\t\tregion uint16\n\t\t}\n\t\t// likelyTag is used for getting likely tags for group regions, where\n\t\t// the likely region might be a region contained in the group.\n\t\tlikelyTag struct {\n\t\t\tlang   uint16\n\t\t\tregion uint16\n\t\t\tscript uint8\n\t\t}\n\t)\n\tvar ( // generated variables\n\t\tlikelyRegionGroup = make([]likelyTag, len(b.groups))\n\t\tlikelyLang        = make([]likelyScriptRegion, len(b.lang.s))\n\t\tlikelyRegion      = make([]likelyLangScript, len(b.region.s))\n\t\tlikelyScript      = make([]likelyLangRegion, len(b.script.s))\n\t\tlikelyLangList    = []likelyScriptRegion{}\n\t\tlikelyRegionList  = []likelyLangScript{}\n\t)\n\ttype fromTo struct {\n\t\tfrom, to []string\n\t}\n\tlangToOther := map[int][]fromTo{}\n\tregionToOther := map[int][]fromTo{}\n\tfor _, m := range b.supp.LikelySubtags.LikelySubtag {\n\t\tfrom := strings.Split(m.From, \"_\")\n\t\tto := strings.Split(m.To, \"_\")\n\t\tif len(to) != 3 {\n\t\t\tlog.Fatalf(\"invalid number of subtags in %q: found %d, want 3\", m.To, len(to))\n\t\t}\n\t\tif len(from) > 3 {\n\t\t\tlog.Fatalf(\"invalid number of subtags: found %d, want 1-3\", len(from))\n\t\t}\n\t\tif from[0] != to[0] && from[0] != \"und\" {\n\t\t\tlog.Fatalf(\"unexpected language change in expansion: %s -> %s\", from, to)\n\t\t}\n\t\tif len(from) == 3 {\n\t\t\tif from[2] != to[2] {\n\t\t\t\tlog.Fatalf(\"unexpected region change in expansion: %s -> %s\", from, to)\n\t\t\t}\n\t\t\tif from[0] != \"und\" {\n\t\t\t\tlog.Fatalf(\"unexpected fully specified from tag: %s -> %s\", from, to)\n\t\t\t}\n\t\t}\n\t\tif len(from) == 1 || from[0] != \"und\" {\n\t\t\tid := 0\n\t\t\tif from[0] != \"und\" {\n\t\t\t\tid = b.lang.index(from[0])\n\t\t\t}\n\t\t\tlangToOther[id] = append(langToOther[id], fromTo{from, to})\n\t\t} else if len(from) == 2 && len(from[1]) == 4 {\n\t\t\tsid := b.script.index(from[1])\n\t\t\tlikelyScript[sid].lang = uint16(b.langIndex(to[0]))\n\t\t\tlikelyScript[sid].region = uint16(b.region.index(to[2]))\n\t\t} else {\n\t\t\tr := b.region.index(from[len(from)-1])\n\t\t\tif id, ok := b.groups[r]; ok {\n\t\t\t\tif from[0] != \"und\" {\n\t\t\t\t\tlog.Fatalf(\"region changed unexpectedly: %s -> %s\", from, to)\n\t\t\t\t}\n\t\t\t\tlikelyRegionGroup[id].lang = uint16(b.langIndex(to[0]))\n\t\t\t\tlikelyRegionGroup[id].script = uint8(b.script.index(to[1]))\n\t\t\t\tlikelyRegionGroup[id].region = uint16(b.region.index(to[2]))\n\t\t\t} else {\n\t\t\t\tregionToOther[r] = append(regionToOther[r], fromTo{from, to})\n\t\t\t}\n\t\t}\n\t}\n\tb.writeType(likelyLangRegion{})\n\tb.writeSlice(\"likelyScript\", likelyScript)\n\n\tfor id := range b.lang.s {\n\t\tlist := langToOther[id]\n\t\tif len(list) == 1 {\n\t\t\tlikelyLang[id].region = uint16(b.region.index(list[0].to[2]))\n\t\t\tlikelyLang[id].script = uint8(b.script.index(list[0].to[1]))\n\t\t} else if len(list) > 1 {\n\t\t\tlikelyLang[id].flags = isList\n\t\t\tlikelyLang[id].region = uint16(len(likelyLangList))\n\t\t\tlikelyLang[id].script = uint8(len(list))\n\t\t\tfor _, x := range list {\n\t\t\t\tflags := uint8(0)\n\t\t\t\tif len(x.from) > 1 {\n\t\t\t\t\tif x.from[1] == x.to[2] {\n\t\t\t\t\t\tflags = regionInFrom\n\t\t\t\t\t} else {\n\t\t\t\t\t\tflags = scriptInFrom\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlikelyLangList = append(likelyLangList, likelyScriptRegion{\n\t\t\t\t\tregion: uint16(b.region.index(x.to[2])),\n\t\t\t\t\tscript: uint8(b.script.index(x.to[1])),\n\t\t\t\t\tflags:  flags,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\t// TODO: merge suppressScript data with this table.\n\tb.writeType(likelyScriptRegion{})\n\tb.writeSlice(\"likelyLang\", likelyLang)\n\tb.writeSlice(\"likelyLangList\", likelyLangList)\n\n\tfor id := range b.region.s {\n\t\tlist := regionToOther[id]\n\t\tif len(list) == 1 {\n\t\t\tlikelyRegion[id].lang = uint16(b.langIndex(list[0].to[0]))\n\t\t\tlikelyRegion[id].script = uint8(b.script.index(list[0].to[1]))\n\t\t\tif len(list[0].from) > 2 {\n\t\t\t\tlikelyRegion[id].flags = scriptInFrom\n\t\t\t}\n\t\t} else if len(list) > 1 {\n\t\t\tlikelyRegion[id].flags = isList\n\t\t\tlikelyRegion[id].lang = uint16(len(likelyRegionList))\n\t\t\tlikelyRegion[id].script = uint8(len(list))\n\t\t\tfor i, x := range list {\n\t\t\t\tif len(x.from) == 2 && i != 0 || i > 0 && len(x.from) != 3 {\n\t\t\t\t\tlog.Fatalf(\"unspecified script must be first in list: %v at %d\", x.from, i)\n\t\t\t\t}\n\t\t\t\tx := likelyLangScript{\n\t\t\t\t\tlang:   uint16(b.langIndex(x.to[0])),\n\t\t\t\t\tscript: uint8(b.script.index(x.to[1])),\n\t\t\t\t}\n\t\t\t\tif len(list[0].from) > 2 {\n\t\t\t\t\tx.flags = scriptInFrom\n\t\t\t\t}\n\t\t\t\tlikelyRegionList = append(likelyRegionList, x)\n\t\t\t}\n\t\t}\n\t}\n\tb.writeType(likelyLangScript{})\n\tb.writeSlice(\"likelyRegion\", likelyRegion)\n\tb.writeSlice(\"likelyRegionList\", likelyRegionList)\n\n\tb.writeType(likelyTag{})\n\tb.writeSlice(\"likelyRegionGroup\", likelyRegionGroup)\n}\n\ntype mutualIntelligibility struct {\n\twant, have uint16\n\tdistance   uint8\n\toneway     bool\n}\n\ntype scriptIntelligibility struct {\n\twantLang, haveLang     uint16\n\twantScript, haveScript uint8\n\tdistance               uint8\n\t// Always oneway\n}\n\ntype regionIntelligibility struct {\n\tlang     uint16 // compact language id\n\tscript   uint8  // 0 means any\n\tgroup    uint8  // 0 means any; if bit 7 is set it means inverse\n\tdistance uint8\n\t// Always twoway.\n}\n\n// writeMatchData writes tables with languages and scripts for which there is\n// mutual intelligibility. The data is based on CLDR's languageMatching data.\n// Note that we use a different algorithm than the one defined by CLDR and that\n// we slightly modify the data. For example, we convert scores to confidence levels.\n// We also drop all region-related data as we use a different algorithm to\n// determine region equivalence.\nfunc (b *builder) writeMatchData() {\n\tlm := b.supp.LanguageMatching.LanguageMatches\n\tcldr.MakeSlice(&lm).SelectAnyOf(\"type\", \"written_new\")\n\n\tregionHierarchy := map[string][]string{}\n\tfor _, g := range b.supp.TerritoryContainment.Group {\n\t\tregions := strings.Split(g.Contains, \" \")\n\t\tregionHierarchy[g.Type] = append(regionHierarchy[g.Type], regions...)\n\t}\n\tregionToGroups := make([]uint8, len(b.region.s))\n\n\tidToIndex := map[string]uint8{}\n\tfor i, mv := range lm[0].MatchVariable {\n\t\tif i > 6 {\n\t\t\tlog.Fatalf(\"Too many groups: %d\", i)\n\t\t}\n\t\tidToIndex[mv.Id] = uint8(i + 1)\n\t\t// TODO: also handle '-'\n\t\tfor _, r := range strings.Split(mv.Value, \"+\") {\n\t\t\ttodo := []string{r}\n\t\t\tfor k := 0; k < len(todo); k++ {\n\t\t\t\tr := todo[k]\n\t\t\t\tregionToGroups[b.region.index(r)] |= 1 << uint8(i)\n\t\t\t\ttodo = append(todo, regionHierarchy[r]...)\n\t\t\t}\n\t\t}\n\t}\n\tb.writeSlice(\"regionToGroups\", regionToGroups)\n\n\t// maps language id to in- and out-of-group region.\n\tparadigmLocales := [][3]uint16{}\n\tlocales := strings.Split(lm[0].ParadigmLocales[0].Locales, \" \")\n\tfor i := 0; i < len(locales); i += 2 {\n\t\tx := [3]uint16{}\n\t\tfor j := 0; j < 2; j++ {\n\t\t\tpc := strings.SplitN(locales[i+j], \"-\", 2)\n\t\t\tx[0] = b.langIndex(pc[0])\n\t\t\tif len(pc) == 2 {\n\t\t\t\tx[1+j] = uint16(b.region.index(pc[1]))\n\t\t\t}\n\t\t}\n\t\tparadigmLocales = append(paradigmLocales, x)\n\t}\n\tb.writeSlice(\"paradigmLocales\", paradigmLocales)\n\n\tb.writeType(mutualIntelligibility{})\n\tb.writeType(scriptIntelligibility{})\n\tb.writeType(regionIntelligibility{})\n\n\tmatchLang := []mutualIntelligibility{}\n\tmatchScript := []scriptIntelligibility{}\n\tmatchRegion := []regionIntelligibility{}\n\t// Convert the languageMatch entries in lists keyed by desired language.\n\tfor _, m := range lm[0].LanguageMatch {\n\t\t// Different versions of CLDR use different separators.\n\t\tdesired := strings.Replace(m.Desired, \"-\", \"_\", -1)\n\t\tsupported := strings.Replace(m.Supported, \"-\", \"_\", -1)\n\t\td := strings.Split(desired, \"_\")\n\t\ts := strings.Split(supported, \"_\")\n\t\tif len(d) != len(s) {\n\t\t\tlog.Fatalf(\"not supported: desired=%q; supported=%q\", desired, supported)\n\t\t\tcontinue\n\t\t}\n\t\tdistance, _ := strconv.ParseInt(m.Distance, 10, 8)\n\t\tswitch len(d) {\n\t\tcase 2:\n\t\t\tif desired == supported && desired == \"*_*\" {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// language-script pair.\n\t\t\tmatchScript = append(matchScript, scriptIntelligibility{\n\t\t\t\twantLang:   uint16(b.langIndex(d[0])),\n\t\t\t\thaveLang:   uint16(b.langIndex(s[0])),\n\t\t\t\twantScript: uint8(b.script.index(d[1])),\n\t\t\t\thaveScript: uint8(b.script.index(s[1])),\n\t\t\t\tdistance:   uint8(distance),\n\t\t\t})\n\t\t\tif m.Oneway != \"true\" {\n\t\t\t\tmatchScript = append(matchScript, scriptIntelligibility{\n\t\t\t\t\twantLang:   uint16(b.langIndex(s[0])),\n\t\t\t\t\thaveLang:   uint16(b.langIndex(d[0])),\n\t\t\t\t\twantScript: uint8(b.script.index(s[1])),\n\t\t\t\t\thaveScript: uint8(b.script.index(d[1])),\n\t\t\t\t\tdistance:   uint8(distance),\n\t\t\t\t})\n\t\t\t}\n\t\tcase 1:\n\t\t\tif desired == supported && desired == \"*\" {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif distance == 1 {\n\t\t\t\t// nb == no is already handled by macro mapping. Check there\n\t\t\t\t// really is only this case.\n\t\t\t\tif d[0] != \"no\" || s[0] != \"nb\" {\n\t\t\t\t\tlog.Fatalf(\"unhandled equivalence %s == %s\", s[0], d[0])\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// TODO: consider dropping oneway field and just doubling the entry.\n\t\t\tmatchLang = append(matchLang, mutualIntelligibility{\n\t\t\t\twant:     uint16(b.langIndex(d[0])),\n\t\t\t\thave:     uint16(b.langIndex(s[0])),\n\t\t\t\tdistance: uint8(distance),\n\t\t\t\toneway:   m.Oneway == \"true\",\n\t\t\t})\n\t\tcase 3:\n\t\t\tif desired == supported && desired == \"*_*_*\" {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif desired != supported {\n\t\t\t\t// This is now supported by CLDR, but only one case, which\n\t\t\t\t// should already be covered by paradigm locales. For instance,\n\t\t\t\t// test case \"und, en, en-GU, en-IN, en-GB ; en-ZA ; en-GB\" in\n\t\t\t\t// testdata/CLDRLocaleMatcherTest.txt tests this.\n\t\t\t\tif supported != \"en_*_GB\" {\n\t\t\t\t\tlog.Fatalf(\"not supported: desired=%q; supported=%q\", desired, supported)\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tri := regionIntelligibility{\n\t\t\t\tlang:     b.langIndex(d[0]),\n\t\t\t\tdistance: uint8(distance),\n\t\t\t}\n\t\t\tif d[1] != \"*\" {\n\t\t\t\tri.script = uint8(b.script.index(d[1]))\n\t\t\t}\n\t\t\tswitch {\n\t\t\tcase d[2] == \"*\":\n\t\t\t\tri.group = 0x80 // not contained in anything\n\t\t\tcase strings.HasPrefix(d[2], \"$!\"):\n\t\t\t\tri.group = 0x80\n\t\t\t\td[2] = \"$\" + d[2][len(\"$!\"):]\n\t\t\t\tfallthrough\n\t\t\tcase strings.HasPrefix(d[2], \"$\"):\n\t\t\t\tri.group |= idToIndex[d[2]]\n\t\t\t}\n\t\t\tmatchRegion = append(matchRegion, ri)\n\t\tdefault:\n\t\t\tlog.Fatalf(\"not supported: desired=%q; supported=%q\", desired, supported)\n\t\t}\n\t}\n\tsort.SliceStable(matchLang, func(i, j int) bool {\n\t\treturn matchLang[i].distance < matchLang[j].distance\n\t})\n\tb.writeSlice(\"matchLang\", matchLang)\n\n\tsort.SliceStable(matchScript, func(i, j int) bool {\n\t\treturn matchScript[i].distance < matchScript[j].distance\n\t})\n\tb.writeSlice(\"matchScript\", matchScript)\n\n\tsort.SliceStable(matchRegion, func(i, j int) bool {\n\t\treturn matchRegion[i].distance < matchRegion[j].distance\n\t})\n\tb.writeSlice(\"matchRegion\", matchRegion)\n}\n\nfunc (b *builder) writeRegionInclusionData() {\n\tvar (\n\t\t// mm holds for each group the set of groups with a distance of 1.\n\t\tmm = make(map[int][]index)\n\n\t\t// containment holds for each group the transitive closure of\n\t\t// containment of other groups.\n\t\tcontainment = make(map[index][]index)\n\t)\n\tfor _, g := range b.supp.TerritoryContainment.Group {\n\t\t// Skip UN and EURO zone as they are flattening the containment\n\t\t// relationship.\n\t\tif g.Type == \"EZ\" || g.Type == \"UN\" {\n\t\t\tcontinue\n\t\t}\n\t\tgroup := b.region.index(g.Type)\n\t\tgroupIdx := b.groups[group]\n\t\tfor _, mem := range strings.Split(g.Contains, \" \") {\n\t\t\tr := b.region.index(mem)\n\t\t\tmm[r] = append(mm[r], groupIdx)\n\t\t\tif g, ok := b.groups[r]; ok {\n\t\t\t\tmm[group] = append(mm[group], g)\n\t\t\t\tcontainment[groupIdx] = append(containment[groupIdx], g)\n\t\t\t}\n\t\t}\n\t}\n\n\tregionContainment := make([]uint64, len(b.groups))\n\tfor _, g := range b.groups {\n\t\tl := containment[g]\n\n\t\t// Compute the transitive closure of containment.\n\t\tfor i := 0; i < len(l); i++ {\n\t\t\tl = append(l, containment[l[i]]...)\n\t\t}\n\n\t\t// Compute the bitmask.\n\t\tregionContainment[g] = 1 << g\n\t\tfor _, v := range l {\n\t\t\tregionContainment[g] |= 1 << v\n\t\t}\n\t}\n\tb.writeSlice(\"regionContainment\", regionContainment)\n\n\tregionInclusion := make([]uint8, len(b.region.s))\n\tbvs := make(map[uint64]index)\n\t// Make the first bitvector positions correspond with the groups.\n\tfor r, i := range b.groups {\n\t\tbv := uint64(1 << i)\n\t\tfor _, g := range mm[r] {\n\t\t\tbv |= 1 << g\n\t\t}\n\t\tbvs[bv] = i\n\t\tregionInclusion[r] = uint8(bvs[bv])\n\t}\n\tfor r := 1; r < len(b.region.s); r++ {\n\t\tif _, ok := b.groups[r]; !ok {\n\t\t\tbv := uint64(0)\n\t\t\tfor _, g := range mm[r] {\n\t\t\t\tbv |= 1 << g\n\t\t\t}\n\t\t\tif bv == 0 {\n\t\t\t\t// Pick the world for unspecified regions.\n\t\t\t\tbv = 1 << b.groups[b.region.index(\"001\")]\n\t\t\t}\n\t\t\tif _, ok := bvs[bv]; !ok {\n\t\t\t\tbvs[bv] = index(len(bvs))\n\t\t\t}\n\t\t\tregionInclusion[r] = uint8(bvs[bv])\n\t\t}\n\t}\n\tb.writeSlice(\"regionInclusion\", regionInclusion)\n\tregionInclusionBits := make([]uint64, len(bvs))\n\tfor k, v := range bvs {\n\t\tregionInclusionBits[v] = uint64(k)\n\t}\n\t// Add bit vectors for increasingly large distances until a fixed point is reached.\n\tregionInclusionNext := []uint8{}\n\tfor i := 0; i < len(regionInclusionBits); i++ {\n\t\tbits := regionInclusionBits[i]\n\t\tnext := bits\n\t\tfor i := uint(0); i < uint(len(b.groups)); i++ {\n\t\t\tif bits&(1<<i) != 0 {\n\t\t\t\tnext |= regionInclusionBits[i]\n\t\t\t}\n\t\t}\n\t\tif _, ok := bvs[next]; !ok {\n\t\t\tbvs[next] = index(len(bvs))\n\t\t\tregionInclusionBits = append(regionInclusionBits, next)\n\t\t}\n\t\tregionInclusionNext = append(regionInclusionNext, uint8(bvs[next]))\n\t}\n\tb.writeSlice(\"regionInclusionBits\", regionInclusionBits)\n\tb.writeSlice(\"regionInclusionNext\", regionInclusionNext)\n}\n\ntype parentRel struct {\n\tlang       uint16\n\tscript     uint8\n\tmaxScript  uint8\n\ttoRegion   uint16\n\tfromRegion []uint16\n}\n\nfunc (b *builder) writeParents() {\n\tb.writeType(parentRel{})\n\n\tparents := []parentRel{}\n\n\t// Construct parent overrides.\n\tn := 0\n\tfor _, p := range b.data.Supplemental().ParentLocales.ParentLocale {\n\t\t// Skipping non-standard scripts to root is implemented using addTags.\n\t\tif p.Parent == \"root\" {\n\t\t\tcontinue\n\t\t}\n\n\t\tsub := strings.Split(p.Parent, \"_\")\n\t\tparent := parentRel{lang: b.langIndex(sub[0])}\n\t\tif len(sub) == 2 {\n\t\t\t// TODO: check that all undefined scripts are indeed Latn in these\n\t\t\t// cases.\n\t\t\tparent.maxScript = uint8(b.script.index(\"Latn\"))\n\t\t\tparent.toRegion = uint16(b.region.index(sub[1]))\n\t\t} else {\n\t\t\tparent.script = uint8(b.script.index(sub[1]))\n\t\t\tparent.maxScript = parent.script\n\t\t\tparent.toRegion = uint16(b.region.index(sub[2]))\n\t\t}\n\t\tfor _, c := range strings.Split(p.Locales, \" \") {\n\t\t\tregion := b.region.index(c[strings.LastIndex(c, \"_\")+1:])\n\t\t\tparent.fromRegion = append(parent.fromRegion, uint16(region))\n\t\t}\n\t\tparents = append(parents, parent)\n\t\tn += len(parent.fromRegion)\n\t}\n\tb.writeSliceAddSize(\"parents\", n*2, parents)\n}\n\nfunc main() {\n\tgen.Init()\n\n\tgen.Repackage(\"gen_common.go\", \"common.go\", \"language\")\n\n\tw := gen.NewCodeWriter()\n\tdefer w.WriteGoFile(\"tables.go\", \"language\")\n\n\tfmt.Fprintln(w, `import \"golang.org/x/text/internal/tag\"`)\n\n\tb := newBuilder(w)\n\tgen.WriteCLDRVersion(w)\n\n\tb.parseIndices()\n\tb.writeType(fromTo{})\n\tb.writeLanguage()\n\tb.writeScript()\n\tb.writeRegion()\n\tb.writeVariant()\n\t// TODO: b.writeLocale()\n\tb.computeRegionGroups()\n\tb.writeLikelyData()\n\tb.writeMatchData()\n\tb.writeRegionInclusionData()\n\tb.writeParents()\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/gen_common.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\n// This file contains code common to the maketables.go and the package code.\n\n// langAliasType is the type of an alias in langAliasMap.\ntype langAliasType int8\n\nconst (\n\tlangDeprecated langAliasType = iota\n\tlangMacro\n\tlangLegacy\n\n\tlangAliasTypeUnknown langAliasType = -1\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/gen_index.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\n// This file generates derivative tables based on the language package itself.\n\nimport (\n\t\"bytes\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/language\"\n\t\"golang.org/x/text/unicode/cldr\"\n)\n\nvar (\n\ttest = flag.Bool(\"test\", false,\n\t\t\"test existing tables; can be used to compare web data with package data.\")\n\n\tdraft = flag.String(\"draft\",\n\t\t\"contributed\",\n\t\t`Minimal draft requirements (approved, contributed, provisional, unconfirmed).`)\n)\n\nfunc main() {\n\tgen.Init()\n\n\t// Read the CLDR zip file.\n\tr := gen.OpenCLDRCoreZip()\n\tdefer r.Close()\n\n\td := &cldr.Decoder{}\n\tdata, err := d.DecodeZip(r)\n\tif err != nil {\n\t\tlog.Fatalf(\"DecodeZip: %v\", err)\n\t}\n\n\tw := gen.NewCodeWriter()\n\tdefer func() {\n\t\tbuf := &bytes.Buffer{}\n\n\t\tif _, err = w.WriteGo(buf, \"language\", \"\"); err != nil {\n\t\t\tlog.Fatalf(\"Error formatting file index.go: %v\", err)\n\t\t}\n\n\t\t// Since we're generating a table for our own package we need to rewrite\n\t\t// doing the equivalent of go fmt -r 'language.b -> b'. Using\n\t\t// bytes.Replace will do.\n\t\tout := bytes.Replace(buf.Bytes(), []byte(\"language.\"), nil, -1)\n\t\tif err := ioutil.WriteFile(\"index.go\", out, 0600); err != nil {\n\t\t\tlog.Fatalf(\"Could not create file index.go: %v\", err)\n\t\t}\n\t}()\n\n\tm := map[language.Tag]bool{}\n\tfor _, lang := range data.Locales() {\n\t\t// We include all locales unconditionally to be consistent with en_US.\n\t\t// We want en_US, even though it has no data associated with it.\n\n\t\t// TODO: put any of the languages for which no data exists at the end\n\t\t// of the index. This allows all components based on ICU to use that\n\t\t// as the cutoff point.\n\t\t// if x := data.RawLDML(lang); false ||\n\t\t// \tx.LocaleDisplayNames != nil ||\n\t\t// \tx.Characters != nil ||\n\t\t// \tx.Delimiters != nil ||\n\t\t// \tx.Measurement != nil ||\n\t\t// \tx.Dates != nil ||\n\t\t// \tx.Numbers != nil ||\n\t\t// \tx.Units != nil ||\n\t\t// \tx.ListPatterns != nil ||\n\t\t// \tx.Collations != nil ||\n\t\t// \tx.Segmentations != nil ||\n\t\t// \tx.Rbnf != nil ||\n\t\t// \tx.Annotations != nil ||\n\t\t// \tx.Metadata != nil {\n\n\t\t// TODO: support POSIX natively, albeit non-standard.\n\t\ttag := language.Make(strings.Replace(lang, \"_POSIX\", \"-u-va-posix\", 1))\n\t\tm[tag] = true\n\t\t// }\n\t}\n\t// Include locales for plural rules, which uses a different structure.\n\tfor _, plurals := range data.Supplemental().Plurals {\n\t\tfor _, rules := range plurals.PluralRules {\n\t\t\tfor _, lang := range strings.Split(rules.Locales, \" \") {\n\t\t\t\tm[language.Make(lang)] = true\n\t\t\t}\n\t\t}\n\t}\n\n\tvar core, special []language.Tag\n\n\tfor t := range m {\n\t\tif x := t.Extensions(); len(x) != 0 && fmt.Sprint(x) != \"[u-va-posix]\" {\n\t\t\tlog.Fatalf(\"Unexpected extension %v in %v\", x, t)\n\t\t}\n\t\tif len(t.Variants()) == 0 && len(t.Extensions()) == 0 {\n\t\t\tcore = append(core, t)\n\t\t} else {\n\t\t\tspecial = append(special, t)\n\t\t}\n\t}\n\n\tw.WriteComment(`\n\tNumCompactTags is the number of common tags. The maximum tag is\n\tNumCompactTags-1.`)\n\tw.WriteConst(\"NumCompactTags\", len(core)+len(special))\n\n\tsort.Sort(byAlpha(special))\n\tw.WriteVar(\"specialTags\", special)\n\n\t// TODO: order by frequency?\n\tsort.Sort(byAlpha(core))\n\n\t// Size computations are just an estimate.\n\tw.Size += int(reflect.TypeOf(map[uint32]uint16{}).Size())\n\tw.Size += len(core) * 6 // size of uint32 and uint16\n\n\tfmt.Fprintln(w)\n\tfmt.Fprintln(w, \"var coreTags = map[uint32]uint16{\")\n\tfmt.Fprintln(w, \"0x0: 0, // und\")\n\ti := len(special) + 1 // Und and special tags already written.\n\tfor _, t := range core {\n\t\tif t == language.Und {\n\t\t\tcontinue\n\t\t}\n\t\tfmt.Fprint(w.Hash, t, i)\n\t\tb, s, r := t.Raw()\n\t\tfmt.Fprintf(w, \"0x%s%s%s: %d, // %s\\n\",\n\t\t\tgetIndex(b, 3), // 3 is enough as it is guaranteed to be a compact number\n\t\t\tgetIndex(s, 2),\n\t\t\tgetIndex(r, 3),\n\t\t\ti, t)\n\t\ti++\n\t}\n\tfmt.Fprintln(w, \"}\")\n}\n\n// getIndex prints the subtag type and extracts its index of size nibble.\n// If the index is less than n nibbles, the result is prefixed with 0s.\nfunc getIndex(x interface{}, n int) string {\n\ts := fmt.Sprintf(\"%#v\", x) // s is of form Type{typeID: 0x00}\n\ts = s[strings.Index(s, \"0x\")+2 : len(s)-1]\n\treturn strings.Repeat(\"0\", n-len(s)) + s\n}\n\ntype byAlpha []language.Tag\n\nfunc (a byAlpha) Len() int           { return len(a) }\nfunc (a byAlpha) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }\nfunc (a byAlpha) Less(i, j int) bool { return a[i].String() < a[j].String() }\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/go1_1.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.2\n\npackage language\n\nimport \"sort\"\n\nfunc sortStable(s sort.Interface) {\n\tss := stableSort{\n\t\ts:   s,\n\t\tpos: make([]int, s.Len()),\n\t}\n\tfor i := range ss.pos {\n\t\tss.pos[i] = i\n\t}\n\tsort.Sort(&ss)\n}\n\ntype stableSort struct {\n\ts   sort.Interface\n\tpos []int\n}\n\nfunc (s *stableSort) Len() int {\n\treturn len(s.pos)\n}\n\nfunc (s *stableSort) Less(i, j int) bool {\n\treturn s.s.Less(i, j) || !s.s.Less(j, i) && s.pos[i] < s.pos[j]\n}\n\nfunc (s *stableSort) Swap(i, j int) {\n\ts.s.Swap(i, j)\n\ts.pos[i], s.pos[j] = s.pos[j], s.pos[i]\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/go1_2.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.2\n\npackage language\n\nimport \"sort\"\n\nvar sortStable = sort.Stable\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/index.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage language\n\n// NumCompactTags is the number of common tags. The maximum tag is\n// NumCompactTags-1.\nconst NumCompactTags = 768\n\nvar specialTags = []Tag{ // 2 elements\n\t0: {lang: 0xd7, region: 0x6e, script: 0x0, pVariant: 0x5, pExt: 0xe, str: \"ca-ES-valencia\"},\n\t1: {lang: 0x139, region: 0x135, script: 0x0, pVariant: 0x5, pExt: 0x5, str: \"en-US-u-va-posix\"},\n} // Size: 72 bytes\n\nvar coreTags = map[uint32]uint16{\n\t0x0:        0,   // und\n\t0x01600000: 3,   // af\n\t0x016000d2: 4,   // af-NA\n\t0x01600161: 5,   // af-ZA\n\t0x01c00000: 6,   // agq\n\t0x01c00052: 7,   // agq-CM\n\t0x02100000: 8,   // ak\n\t0x02100080: 9,   // ak-GH\n\t0x02700000: 10,  // am\n\t0x0270006f: 11,  // am-ET\n\t0x03a00000: 12,  // ar\n\t0x03a00001: 13,  // ar-001\n\t0x03a00023: 14,  // ar-AE\n\t0x03a00039: 15,  // ar-BH\n\t0x03a00062: 16,  // ar-DJ\n\t0x03a00067: 17,  // ar-DZ\n\t0x03a0006b: 18,  // ar-EG\n\t0x03a0006c: 19,  // ar-EH\n\t0x03a0006d: 20,  // ar-ER\n\t0x03a00097: 21,  // ar-IL\n\t0x03a0009b: 22,  // ar-IQ\n\t0x03a000a1: 23,  // ar-JO\n\t0x03a000a8: 24,  // ar-KM\n\t0x03a000ac: 25,  // ar-KW\n\t0x03a000b0: 26,  // ar-LB\n\t0x03a000b9: 27,  // ar-LY\n\t0x03a000ba: 28,  // ar-MA\n\t0x03a000c9: 29,  // ar-MR\n\t0x03a000e1: 30,  // ar-OM\n\t0x03a000ed: 31,  // ar-PS\n\t0x03a000f3: 32,  // ar-QA\n\t0x03a00108: 33,  // ar-SA\n\t0x03a0010b: 34,  // ar-SD\n\t0x03a00115: 35,  // ar-SO\n\t0x03a00117: 36,  // ar-SS\n\t0x03a0011c: 37,  // ar-SY\n\t0x03a00120: 38,  // ar-TD\n\t0x03a00128: 39,  // ar-TN\n\t0x03a0015e: 40,  // ar-YE\n\t0x04000000: 41,  // ars\n\t0x04300000: 42,  // as\n\t0x04300099: 43,  // as-IN\n\t0x04400000: 44,  // asa\n\t0x0440012f: 45,  // asa-TZ\n\t0x04800000: 46,  // ast\n\t0x0480006e: 47,  // ast-ES\n\t0x05800000: 48,  // az\n\t0x0581f000: 49,  // az-Cyrl\n\t0x0581f032: 50,  // az-Cyrl-AZ\n\t0x05857000: 51,  // az-Latn\n\t0x05857032: 52,  // az-Latn-AZ\n\t0x05e00000: 53,  // bas\n\t0x05e00052: 54,  // bas-CM\n\t0x07100000: 55,  // be\n\t0x07100047: 56,  // be-BY\n\t0x07500000: 57,  // bem\n\t0x07500162: 58,  // bem-ZM\n\t0x07900000: 59,  // bez\n\t0x0790012f: 60,  // bez-TZ\n\t0x07e00000: 61,  // bg\n\t0x07e00038: 62,  // bg-BG\n\t0x08200000: 63,  // bh\n\t0x0a000000: 64,  // bm\n\t0x0a0000c3: 65,  // bm-ML\n\t0x0a500000: 66,  // bn\n\t0x0a500035: 67,  // bn-BD\n\t0x0a500099: 68,  // bn-IN\n\t0x0a900000: 69,  // bo\n\t0x0a900053: 70,  // bo-CN\n\t0x0a900099: 71,  // bo-IN\n\t0x0b200000: 72,  // br\n\t0x0b200078: 73,  // br-FR\n\t0x0b500000: 74,  // brx\n\t0x0b500099: 75,  // brx-IN\n\t0x0b700000: 76,  // bs\n\t0x0b71f000: 77,  // bs-Cyrl\n\t0x0b71f033: 78,  // bs-Cyrl-BA\n\t0x0b757000: 79,  // bs-Latn\n\t0x0b757033: 80,  // bs-Latn-BA\n\t0x0d700000: 81,  // ca\n\t0x0d700022: 82,  // ca-AD\n\t0x0d70006e: 83,  // ca-ES\n\t0x0d700078: 84,  // ca-FR\n\t0x0d70009e: 85,  // ca-IT\n\t0x0db00000: 86,  // ccp\n\t0x0db00035: 87,  // ccp-BD\n\t0x0db00099: 88,  // ccp-IN\n\t0x0dc00000: 89,  // ce\n\t0x0dc00106: 90,  // ce-RU\n\t0x0df00000: 91,  // cgg\n\t0x0df00131: 92,  // cgg-UG\n\t0x0e500000: 93,  // chr\n\t0x0e500135: 94,  // chr-US\n\t0x0e900000: 95,  // ckb\n\t0x0e90009b: 96,  // ckb-IQ\n\t0x0e90009c: 97,  // ckb-IR\n\t0x0fa00000: 98,  // cs\n\t0x0fa0005e: 99,  // cs-CZ\n\t0x0fe00000: 100, // cu\n\t0x0fe00106: 101, // cu-RU\n\t0x10000000: 102, // cy\n\t0x1000007b: 103, // cy-GB\n\t0x10100000: 104, // da\n\t0x10100063: 105, // da-DK\n\t0x10100082: 106, // da-GL\n\t0x10800000: 107, // dav\n\t0x108000a4: 108, // dav-KE\n\t0x10d00000: 109, // de\n\t0x10d0002e: 110, // de-AT\n\t0x10d00036: 111, // de-BE\n\t0x10d0004e: 112, // de-CH\n\t0x10d00060: 113, // de-DE\n\t0x10d0009e: 114, // de-IT\n\t0x10d000b2: 115, // de-LI\n\t0x10d000b7: 116, // de-LU\n\t0x11700000: 117, // dje\n\t0x117000d4: 118, // dje-NE\n\t0x11f00000: 119, // dsb\n\t0x11f00060: 120, // dsb-DE\n\t0x12400000: 121, // dua\n\t0x12400052: 122, // dua-CM\n\t0x12800000: 123, // dv\n\t0x12b00000: 124, // dyo\n\t0x12b00114: 125, // dyo-SN\n\t0x12d00000: 126, // dz\n\t0x12d00043: 127, // dz-BT\n\t0x12f00000: 128, // ebu\n\t0x12f000a4: 129, // ebu-KE\n\t0x13000000: 130, // ee\n\t0x13000080: 131, // ee-GH\n\t0x13000122: 132, // ee-TG\n\t0x13600000: 133, // el\n\t0x1360005d: 134, // el-CY\n\t0x13600087: 135, // el-GR\n\t0x13900000: 136, // en\n\t0x13900001: 137, // en-001\n\t0x1390001a: 138, // en-150\n\t0x13900025: 139, // en-AG\n\t0x13900026: 140, // en-AI\n\t0x1390002d: 141, // en-AS\n\t0x1390002e: 142, // en-AT\n\t0x1390002f: 143, // en-AU\n\t0x13900034: 144, // en-BB\n\t0x13900036: 145, // en-BE\n\t0x1390003a: 146, // en-BI\n\t0x1390003d: 147, // en-BM\n\t0x13900042: 148, // en-BS\n\t0x13900046: 149, // en-BW\n\t0x13900048: 150, // en-BZ\n\t0x13900049: 151, // en-CA\n\t0x1390004a: 152, // en-CC\n\t0x1390004e: 153, // en-CH\n\t0x13900050: 154, // en-CK\n\t0x13900052: 155, // en-CM\n\t0x1390005c: 156, // en-CX\n\t0x1390005d: 157, // en-CY\n\t0x13900060: 158, // en-DE\n\t0x13900061: 159, // en-DG\n\t0x13900063: 160, // en-DK\n\t0x13900064: 161, // en-DM\n\t0x1390006d: 162, // en-ER\n\t0x13900072: 163, // en-FI\n\t0x13900073: 164, // en-FJ\n\t0x13900074: 165, // en-FK\n\t0x13900075: 166, // en-FM\n\t0x1390007b: 167, // en-GB\n\t0x1390007c: 168, // en-GD\n\t0x1390007f: 169, // en-GG\n\t0x13900080: 170, // en-GH\n\t0x13900081: 171, // en-GI\n\t0x13900083: 172, // en-GM\n\t0x1390008a: 173, // en-GU\n\t0x1390008c: 174, // en-GY\n\t0x1390008d: 175, // en-HK\n\t0x13900096: 176, // en-IE\n\t0x13900097: 177, // en-IL\n\t0x13900098: 178, // en-IM\n\t0x13900099: 179, // en-IN\n\t0x1390009a: 180, // en-IO\n\t0x1390009f: 181, // en-JE\n\t0x139000a0: 182, // en-JM\n\t0x139000a4: 183, // en-KE\n\t0x139000a7: 184, // en-KI\n\t0x139000a9: 185, // en-KN\n\t0x139000ad: 186, // en-KY\n\t0x139000b1: 187, // en-LC\n\t0x139000b4: 188, // en-LR\n\t0x139000b5: 189, // en-LS\n\t0x139000bf: 190, // en-MG\n\t0x139000c0: 191, // en-MH\n\t0x139000c6: 192, // en-MO\n\t0x139000c7: 193, // en-MP\n\t0x139000ca: 194, // en-MS\n\t0x139000cb: 195, // en-MT\n\t0x139000cc: 196, // en-MU\n\t0x139000ce: 197, // en-MW\n\t0x139000d0: 198, // en-MY\n\t0x139000d2: 199, // en-NA\n\t0x139000d5: 200, // en-NF\n\t0x139000d6: 201, // en-NG\n\t0x139000d9: 202, // en-NL\n\t0x139000dd: 203, // en-NR\n\t0x139000df: 204, // en-NU\n\t0x139000e0: 205, // en-NZ\n\t0x139000e6: 206, // en-PG\n\t0x139000e7: 207, // en-PH\n\t0x139000e8: 208, // en-PK\n\t0x139000eb: 209, // en-PN\n\t0x139000ec: 210, // en-PR\n\t0x139000f0: 211, // en-PW\n\t0x13900107: 212, // en-RW\n\t0x13900109: 213, // en-SB\n\t0x1390010a: 214, // en-SC\n\t0x1390010b: 215, // en-SD\n\t0x1390010c: 216, // en-SE\n\t0x1390010d: 217, // en-SG\n\t0x1390010e: 218, // en-SH\n\t0x1390010f: 219, // en-SI\n\t0x13900112: 220, // en-SL\n\t0x13900117: 221, // en-SS\n\t0x1390011b: 222, // en-SX\n\t0x1390011d: 223, // en-SZ\n\t0x1390011f: 224, // en-TC\n\t0x13900125: 225, // en-TK\n\t0x13900129: 226, // en-TO\n\t0x1390012c: 227, // en-TT\n\t0x1390012d: 228, // en-TV\n\t0x1390012f: 229, // en-TZ\n\t0x13900131: 230, // en-UG\n\t0x13900133: 231, // en-UM\n\t0x13900135: 232, // en-US\n\t0x13900139: 233, // en-VC\n\t0x1390013c: 234, // en-VG\n\t0x1390013d: 235, // en-VI\n\t0x1390013f: 236, // en-VU\n\t0x13900142: 237, // en-WS\n\t0x13900161: 238, // en-ZA\n\t0x13900162: 239, // en-ZM\n\t0x13900164: 240, // en-ZW\n\t0x13c00000: 241, // eo\n\t0x13c00001: 242, // eo-001\n\t0x13e00000: 243, // es\n\t0x13e0001f: 244, // es-419\n\t0x13e0002c: 245, // es-AR\n\t0x13e0003f: 246, // es-BO\n\t0x13e00041: 247, // es-BR\n\t0x13e00048: 248, // es-BZ\n\t0x13e00051: 249, // es-CL\n\t0x13e00054: 250, // es-CO\n\t0x13e00056: 251, // es-CR\n\t0x13e00059: 252, // es-CU\n\t0x13e00065: 253, // es-DO\n\t0x13e00068: 254, // es-EA\n\t0x13e00069: 255, // es-EC\n\t0x13e0006e: 256, // es-ES\n\t0x13e00086: 257, // es-GQ\n\t0x13e00089: 258, // es-GT\n\t0x13e0008f: 259, // es-HN\n\t0x13e00094: 260, // es-IC\n\t0x13e000cf: 261, // es-MX\n\t0x13e000d8: 262, // es-NI\n\t0x13e000e2: 263, // es-PA\n\t0x13e000e4: 264, // es-PE\n\t0x13e000e7: 265, // es-PH\n\t0x13e000ec: 266, // es-PR\n\t0x13e000f1: 267, // es-PY\n\t0x13e0011a: 268, // es-SV\n\t0x13e00135: 269, // es-US\n\t0x13e00136: 270, // es-UY\n\t0x13e0013b: 271, // es-VE\n\t0x14000000: 272, // et\n\t0x1400006a: 273, // et-EE\n\t0x14500000: 274, // eu\n\t0x1450006e: 275, // eu-ES\n\t0x14600000: 276, // ewo\n\t0x14600052: 277, // ewo-CM\n\t0x14800000: 278, // fa\n\t0x14800024: 279, // fa-AF\n\t0x1480009c: 280, // fa-IR\n\t0x14e00000: 281, // ff\n\t0x14e00052: 282, // ff-CM\n\t0x14e00084: 283, // ff-GN\n\t0x14e000c9: 284, // ff-MR\n\t0x14e00114: 285, // ff-SN\n\t0x15100000: 286, // fi\n\t0x15100072: 287, // fi-FI\n\t0x15300000: 288, // fil\n\t0x153000e7: 289, // fil-PH\n\t0x15800000: 290, // fo\n\t0x15800063: 291, // fo-DK\n\t0x15800076: 292, // fo-FO\n\t0x15e00000: 293, // fr\n\t0x15e00036: 294, // fr-BE\n\t0x15e00037: 295, // fr-BF\n\t0x15e0003a: 296, // fr-BI\n\t0x15e0003b: 297, // fr-BJ\n\t0x15e0003c: 298, // fr-BL\n\t0x15e00049: 299, // fr-CA\n\t0x15e0004b: 300, // fr-CD\n\t0x15e0004c: 301, // fr-CF\n\t0x15e0004d: 302, // fr-CG\n\t0x15e0004e: 303, // fr-CH\n\t0x15e0004f: 304, // fr-CI\n\t0x15e00052: 305, // fr-CM\n\t0x15e00062: 306, // fr-DJ\n\t0x15e00067: 307, // fr-DZ\n\t0x15e00078: 308, // fr-FR\n\t0x15e0007a: 309, // fr-GA\n\t0x15e0007e: 310, // fr-GF\n\t0x15e00084: 311, // fr-GN\n\t0x15e00085: 312, // fr-GP\n\t0x15e00086: 313, // fr-GQ\n\t0x15e00091: 314, // fr-HT\n\t0x15e000a8: 315, // fr-KM\n\t0x15e000b7: 316, // fr-LU\n\t0x15e000ba: 317, // fr-MA\n\t0x15e000bb: 318, // fr-MC\n\t0x15e000be: 319, // fr-MF\n\t0x15e000bf: 320, // fr-MG\n\t0x15e000c3: 321, // fr-ML\n\t0x15e000c8: 322, // fr-MQ\n\t0x15e000c9: 323, // fr-MR\n\t0x15e000cc: 324, // fr-MU\n\t0x15e000d3: 325, // fr-NC\n\t0x15e000d4: 326, // fr-NE\n\t0x15e000e5: 327, // fr-PF\n\t0x15e000ea: 328, // fr-PM\n\t0x15e00102: 329, // fr-RE\n\t0x15e00107: 330, // fr-RW\n\t0x15e0010a: 331, // fr-SC\n\t0x15e00114: 332, // fr-SN\n\t0x15e0011c: 333, // fr-SY\n\t0x15e00120: 334, // fr-TD\n\t0x15e00122: 335, // fr-TG\n\t0x15e00128: 336, // fr-TN\n\t0x15e0013f: 337, // fr-VU\n\t0x15e00140: 338, // fr-WF\n\t0x15e0015f: 339, // fr-YT\n\t0x16900000: 340, // fur\n\t0x1690009e: 341, // fur-IT\n\t0x16d00000: 342, // fy\n\t0x16d000d9: 343, // fy-NL\n\t0x16e00000: 344, // ga\n\t0x16e00096: 345, // ga-IE\n\t0x17e00000: 346, // gd\n\t0x17e0007b: 347, // gd-GB\n\t0x19000000: 348, // gl\n\t0x1900006e: 349, // gl-ES\n\t0x1a300000: 350, // gsw\n\t0x1a30004e: 351, // gsw-CH\n\t0x1a300078: 352, // gsw-FR\n\t0x1a3000b2: 353, // gsw-LI\n\t0x1a400000: 354, // gu\n\t0x1a400099: 355, // gu-IN\n\t0x1a900000: 356, // guw\n\t0x1ab00000: 357, // guz\n\t0x1ab000a4: 358, // guz-KE\n\t0x1ac00000: 359, // gv\n\t0x1ac00098: 360, // gv-IM\n\t0x1b400000: 361, // ha\n\t0x1b400080: 362, // ha-GH\n\t0x1b4000d4: 363, // ha-NE\n\t0x1b4000d6: 364, // ha-NG\n\t0x1b800000: 365, // haw\n\t0x1b800135: 366, // haw-US\n\t0x1bc00000: 367, // he\n\t0x1bc00097: 368, // he-IL\n\t0x1be00000: 369, // hi\n\t0x1be00099: 370, // hi-IN\n\t0x1d100000: 371, // hr\n\t0x1d100033: 372, // hr-BA\n\t0x1d100090: 373, // hr-HR\n\t0x1d200000: 374, // hsb\n\t0x1d200060: 375, // hsb-DE\n\t0x1d500000: 376, // hu\n\t0x1d500092: 377, // hu-HU\n\t0x1d700000: 378, // hy\n\t0x1d700028: 379, // hy-AM\n\t0x1e100000: 380, // id\n\t0x1e100095: 381, // id-ID\n\t0x1e700000: 382, // ig\n\t0x1e7000d6: 383, // ig-NG\n\t0x1ea00000: 384, // ii\n\t0x1ea00053: 385, // ii-CN\n\t0x1f500000: 386, // io\n\t0x1f800000: 387, // is\n\t0x1f80009d: 388, // is-IS\n\t0x1f900000: 389, // it\n\t0x1f90004e: 390, // it-CH\n\t0x1f90009e: 391, // it-IT\n\t0x1f900113: 392, // it-SM\n\t0x1f900138: 393, // it-VA\n\t0x1fa00000: 394, // iu\n\t0x20000000: 395, // ja\n\t0x200000a2: 396, // ja-JP\n\t0x20300000: 397, // jbo\n\t0x20700000: 398, // jgo\n\t0x20700052: 399, // jgo-CM\n\t0x20a00000: 400, // jmc\n\t0x20a0012f: 401, // jmc-TZ\n\t0x20e00000: 402, // jv\n\t0x21000000: 403, // ka\n\t0x2100007d: 404, // ka-GE\n\t0x21200000: 405, // kab\n\t0x21200067: 406, // kab-DZ\n\t0x21600000: 407, // kaj\n\t0x21700000: 408, // kam\n\t0x217000a4: 409, // kam-KE\n\t0x21f00000: 410, // kcg\n\t0x22300000: 411, // kde\n\t0x2230012f: 412, // kde-TZ\n\t0x22700000: 413, // kea\n\t0x2270005a: 414, // kea-CV\n\t0x23400000: 415, // khq\n\t0x234000c3: 416, // khq-ML\n\t0x23900000: 417, // ki\n\t0x239000a4: 418, // ki-KE\n\t0x24200000: 419, // kk\n\t0x242000ae: 420, // kk-KZ\n\t0x24400000: 421, // kkj\n\t0x24400052: 422, // kkj-CM\n\t0x24500000: 423, // kl\n\t0x24500082: 424, // kl-GL\n\t0x24600000: 425, // kln\n\t0x246000a4: 426, // kln-KE\n\t0x24a00000: 427, // km\n\t0x24a000a6: 428, // km-KH\n\t0x25100000: 429, // kn\n\t0x25100099: 430, // kn-IN\n\t0x25400000: 431, // ko\n\t0x254000aa: 432, // ko-KP\n\t0x254000ab: 433, // ko-KR\n\t0x25600000: 434, // kok\n\t0x25600099: 435, // kok-IN\n\t0x26a00000: 436, // ks\n\t0x26a00099: 437, // ks-IN\n\t0x26b00000: 438, // ksb\n\t0x26b0012f: 439, // ksb-TZ\n\t0x26d00000: 440, // ksf\n\t0x26d00052: 441, // ksf-CM\n\t0x26e00000: 442, // ksh\n\t0x26e00060: 443, // ksh-DE\n\t0x27400000: 444, // ku\n\t0x28100000: 445, // kw\n\t0x2810007b: 446, // kw-GB\n\t0x28a00000: 447, // ky\n\t0x28a000a5: 448, // ky-KG\n\t0x29100000: 449, // lag\n\t0x2910012f: 450, // lag-TZ\n\t0x29500000: 451, // lb\n\t0x295000b7: 452, // lb-LU\n\t0x2a300000: 453, // lg\n\t0x2a300131: 454, // lg-UG\n\t0x2af00000: 455, // lkt\n\t0x2af00135: 456, // lkt-US\n\t0x2b500000: 457, // ln\n\t0x2b50002a: 458, // ln-AO\n\t0x2b50004b: 459, // ln-CD\n\t0x2b50004c: 460, // ln-CF\n\t0x2b50004d: 461, // ln-CG\n\t0x2b800000: 462, // lo\n\t0x2b8000af: 463, // lo-LA\n\t0x2bf00000: 464, // lrc\n\t0x2bf0009b: 465, // lrc-IQ\n\t0x2bf0009c: 466, // lrc-IR\n\t0x2c000000: 467, // lt\n\t0x2c0000b6: 468, // lt-LT\n\t0x2c200000: 469, // lu\n\t0x2c20004b: 470, // lu-CD\n\t0x2c400000: 471, // luo\n\t0x2c4000a4: 472, // luo-KE\n\t0x2c500000: 473, // luy\n\t0x2c5000a4: 474, // luy-KE\n\t0x2c700000: 475, // lv\n\t0x2c7000b8: 476, // lv-LV\n\t0x2d100000: 477, // mas\n\t0x2d1000a4: 478, // mas-KE\n\t0x2d10012f: 479, // mas-TZ\n\t0x2e900000: 480, // mer\n\t0x2e9000a4: 481, // mer-KE\n\t0x2ed00000: 482, // mfe\n\t0x2ed000cc: 483, // mfe-MU\n\t0x2f100000: 484, // mg\n\t0x2f1000bf: 485, // mg-MG\n\t0x2f200000: 486, // mgh\n\t0x2f2000d1: 487, // mgh-MZ\n\t0x2f400000: 488, // mgo\n\t0x2f400052: 489, // mgo-CM\n\t0x2ff00000: 490, // mk\n\t0x2ff000c2: 491, // mk-MK\n\t0x30400000: 492, // ml\n\t0x30400099: 493, // ml-IN\n\t0x30b00000: 494, // mn\n\t0x30b000c5: 495, // mn-MN\n\t0x31b00000: 496, // mr\n\t0x31b00099: 497, // mr-IN\n\t0x31f00000: 498, // ms\n\t0x31f0003e: 499, // ms-BN\n\t0x31f000d0: 500, // ms-MY\n\t0x31f0010d: 501, // ms-SG\n\t0x32000000: 502, // mt\n\t0x320000cb: 503, // mt-MT\n\t0x32500000: 504, // mua\n\t0x32500052: 505, // mua-CM\n\t0x33100000: 506, // my\n\t0x331000c4: 507, // my-MM\n\t0x33a00000: 508, // mzn\n\t0x33a0009c: 509, // mzn-IR\n\t0x34100000: 510, // nah\n\t0x34500000: 511, // naq\n\t0x345000d2: 512, // naq-NA\n\t0x34700000: 513, // nb\n\t0x347000da: 514, // nb-NO\n\t0x34700110: 515, // nb-SJ\n\t0x34e00000: 516, // nd\n\t0x34e00164: 517, // nd-ZW\n\t0x35000000: 518, // nds\n\t0x35000060: 519, // nds-DE\n\t0x350000d9: 520, // nds-NL\n\t0x35100000: 521, // ne\n\t0x35100099: 522, // ne-IN\n\t0x351000db: 523, // ne-NP\n\t0x36700000: 524, // nl\n\t0x36700030: 525, // nl-AW\n\t0x36700036: 526, // nl-BE\n\t0x36700040: 527, // nl-BQ\n\t0x3670005b: 528, // nl-CW\n\t0x367000d9: 529, // nl-NL\n\t0x36700116: 530, // nl-SR\n\t0x3670011b: 531, // nl-SX\n\t0x36800000: 532, // nmg\n\t0x36800052: 533, // nmg-CM\n\t0x36a00000: 534, // nn\n\t0x36a000da: 535, // nn-NO\n\t0x36c00000: 536, // nnh\n\t0x36c00052: 537, // nnh-CM\n\t0x36f00000: 538, // no\n\t0x37500000: 539, // nqo\n\t0x37600000: 540, // nr\n\t0x37a00000: 541, // nso\n\t0x38000000: 542, // nus\n\t0x38000117: 543, // nus-SS\n\t0x38700000: 544, // ny\n\t0x38900000: 545, // nyn\n\t0x38900131: 546, // nyn-UG\n\t0x39000000: 547, // om\n\t0x3900006f: 548, // om-ET\n\t0x390000a4: 549, // om-KE\n\t0x39500000: 550, // or\n\t0x39500099: 551, // or-IN\n\t0x39800000: 552, // os\n\t0x3980007d: 553, // os-GE\n\t0x39800106: 554, // os-RU\n\t0x39d00000: 555, // pa\n\t0x39d05000: 556, // pa-Arab\n\t0x39d050e8: 557, // pa-Arab-PK\n\t0x39d33000: 558, // pa-Guru\n\t0x39d33099: 559, // pa-Guru-IN\n\t0x3a100000: 560, // pap\n\t0x3b300000: 561, // pl\n\t0x3b3000e9: 562, // pl-PL\n\t0x3bd00000: 563, // prg\n\t0x3bd00001: 564, // prg-001\n\t0x3be00000: 565, // ps\n\t0x3be00024: 566, // ps-AF\n\t0x3c000000: 567, // pt\n\t0x3c00002a: 568, // pt-AO\n\t0x3c000041: 569, // pt-BR\n\t0x3c00004e: 570, // pt-CH\n\t0x3c00005a: 571, // pt-CV\n\t0x3c000086: 572, // pt-GQ\n\t0x3c00008b: 573, // pt-GW\n\t0x3c0000b7: 574, // pt-LU\n\t0x3c0000c6: 575, // pt-MO\n\t0x3c0000d1: 576, // pt-MZ\n\t0x3c0000ee: 577, // pt-PT\n\t0x3c000118: 578, // pt-ST\n\t0x3c000126: 579, // pt-TL\n\t0x3c400000: 580, // qu\n\t0x3c40003f: 581, // qu-BO\n\t0x3c400069: 582, // qu-EC\n\t0x3c4000e4: 583, // qu-PE\n\t0x3d400000: 584, // rm\n\t0x3d40004e: 585, // rm-CH\n\t0x3d900000: 586, // rn\n\t0x3d90003a: 587, // rn-BI\n\t0x3dc00000: 588, // ro\n\t0x3dc000bc: 589, // ro-MD\n\t0x3dc00104: 590, // ro-RO\n\t0x3de00000: 591, // rof\n\t0x3de0012f: 592, // rof-TZ\n\t0x3e200000: 593, // ru\n\t0x3e200047: 594, // ru-BY\n\t0x3e2000a5: 595, // ru-KG\n\t0x3e2000ae: 596, // ru-KZ\n\t0x3e2000bc: 597, // ru-MD\n\t0x3e200106: 598, // ru-RU\n\t0x3e200130: 599, // ru-UA\n\t0x3e500000: 600, // rw\n\t0x3e500107: 601, // rw-RW\n\t0x3e600000: 602, // rwk\n\t0x3e60012f: 603, // rwk-TZ\n\t0x3eb00000: 604, // sah\n\t0x3eb00106: 605, // sah-RU\n\t0x3ec00000: 606, // saq\n\t0x3ec000a4: 607, // saq-KE\n\t0x3f300000: 608, // sbp\n\t0x3f30012f: 609, // sbp-TZ\n\t0x3fa00000: 610, // sd\n\t0x3fa000e8: 611, // sd-PK\n\t0x3fc00000: 612, // sdh\n\t0x3fd00000: 613, // se\n\t0x3fd00072: 614, // se-FI\n\t0x3fd000da: 615, // se-NO\n\t0x3fd0010c: 616, // se-SE\n\t0x3ff00000: 617, // seh\n\t0x3ff000d1: 618, // seh-MZ\n\t0x40100000: 619, // ses\n\t0x401000c3: 620, // ses-ML\n\t0x40200000: 621, // sg\n\t0x4020004c: 622, // sg-CF\n\t0x40800000: 623, // shi\n\t0x40857000: 624, // shi-Latn\n\t0x408570ba: 625, // shi-Latn-MA\n\t0x408dc000: 626, // shi-Tfng\n\t0x408dc0ba: 627, // shi-Tfng-MA\n\t0x40c00000: 628, // si\n\t0x40c000b3: 629, // si-LK\n\t0x41200000: 630, // sk\n\t0x41200111: 631, // sk-SK\n\t0x41600000: 632, // sl\n\t0x4160010f: 633, // sl-SI\n\t0x41c00000: 634, // sma\n\t0x41d00000: 635, // smi\n\t0x41e00000: 636, // smj\n\t0x41f00000: 637, // smn\n\t0x41f00072: 638, // smn-FI\n\t0x42200000: 639, // sms\n\t0x42300000: 640, // sn\n\t0x42300164: 641, // sn-ZW\n\t0x42900000: 642, // so\n\t0x42900062: 643, // so-DJ\n\t0x4290006f: 644, // so-ET\n\t0x429000a4: 645, // so-KE\n\t0x42900115: 646, // so-SO\n\t0x43100000: 647, // sq\n\t0x43100027: 648, // sq-AL\n\t0x431000c2: 649, // sq-MK\n\t0x4310014d: 650, // sq-XK\n\t0x43200000: 651, // sr\n\t0x4321f000: 652, // sr-Cyrl\n\t0x4321f033: 653, // sr-Cyrl-BA\n\t0x4321f0bd: 654, // sr-Cyrl-ME\n\t0x4321f105: 655, // sr-Cyrl-RS\n\t0x4321f14d: 656, // sr-Cyrl-XK\n\t0x43257000: 657, // sr-Latn\n\t0x43257033: 658, // sr-Latn-BA\n\t0x432570bd: 659, // sr-Latn-ME\n\t0x43257105: 660, // sr-Latn-RS\n\t0x4325714d: 661, // sr-Latn-XK\n\t0x43700000: 662, // ss\n\t0x43a00000: 663, // ssy\n\t0x43b00000: 664, // st\n\t0x44400000: 665, // sv\n\t0x44400031: 666, // sv-AX\n\t0x44400072: 667, // sv-FI\n\t0x4440010c: 668, // sv-SE\n\t0x44500000: 669, // sw\n\t0x4450004b: 670, // sw-CD\n\t0x445000a4: 671, // sw-KE\n\t0x4450012f: 672, // sw-TZ\n\t0x44500131: 673, // sw-UG\n\t0x44e00000: 674, // syr\n\t0x45000000: 675, // ta\n\t0x45000099: 676, // ta-IN\n\t0x450000b3: 677, // ta-LK\n\t0x450000d0: 678, // ta-MY\n\t0x4500010d: 679, // ta-SG\n\t0x46100000: 680, // te\n\t0x46100099: 681, // te-IN\n\t0x46400000: 682, // teo\n\t0x464000a4: 683, // teo-KE\n\t0x46400131: 684, // teo-UG\n\t0x46700000: 685, // tg\n\t0x46700124: 686, // tg-TJ\n\t0x46b00000: 687, // th\n\t0x46b00123: 688, // th-TH\n\t0x46f00000: 689, // ti\n\t0x46f0006d: 690, // ti-ER\n\t0x46f0006f: 691, // ti-ET\n\t0x47100000: 692, // tig\n\t0x47600000: 693, // tk\n\t0x47600127: 694, // tk-TM\n\t0x48000000: 695, // tn\n\t0x48200000: 696, // to\n\t0x48200129: 697, // to-TO\n\t0x48a00000: 698, // tr\n\t0x48a0005d: 699, // tr-CY\n\t0x48a0012b: 700, // tr-TR\n\t0x48e00000: 701, // ts\n\t0x49400000: 702, // tt\n\t0x49400106: 703, // tt-RU\n\t0x4a400000: 704, // twq\n\t0x4a4000d4: 705, // twq-NE\n\t0x4a900000: 706, // tzm\n\t0x4a9000ba: 707, // tzm-MA\n\t0x4ac00000: 708, // ug\n\t0x4ac00053: 709, // ug-CN\n\t0x4ae00000: 710, // uk\n\t0x4ae00130: 711, // uk-UA\n\t0x4b400000: 712, // ur\n\t0x4b400099: 713, // ur-IN\n\t0x4b4000e8: 714, // ur-PK\n\t0x4bc00000: 715, // uz\n\t0x4bc05000: 716, // uz-Arab\n\t0x4bc05024: 717, // uz-Arab-AF\n\t0x4bc1f000: 718, // uz-Cyrl\n\t0x4bc1f137: 719, // uz-Cyrl-UZ\n\t0x4bc57000: 720, // uz-Latn\n\t0x4bc57137: 721, // uz-Latn-UZ\n\t0x4be00000: 722, // vai\n\t0x4be57000: 723, // vai-Latn\n\t0x4be570b4: 724, // vai-Latn-LR\n\t0x4bee3000: 725, // vai-Vaii\n\t0x4bee30b4: 726, // vai-Vaii-LR\n\t0x4c000000: 727, // ve\n\t0x4c300000: 728, // vi\n\t0x4c30013e: 729, // vi-VN\n\t0x4c900000: 730, // vo\n\t0x4c900001: 731, // vo-001\n\t0x4cc00000: 732, // vun\n\t0x4cc0012f: 733, // vun-TZ\n\t0x4ce00000: 734, // wa\n\t0x4cf00000: 735, // wae\n\t0x4cf0004e: 736, // wae-CH\n\t0x4e500000: 737, // wo\n\t0x4e500114: 738, // wo-SN\n\t0x4f200000: 739, // xh\n\t0x4fb00000: 740, // xog\n\t0x4fb00131: 741, // xog-UG\n\t0x50900000: 742, // yav\n\t0x50900052: 743, // yav-CM\n\t0x51200000: 744, // yi\n\t0x51200001: 745, // yi-001\n\t0x51800000: 746, // yo\n\t0x5180003b: 747, // yo-BJ\n\t0x518000d6: 748, // yo-NG\n\t0x51f00000: 749, // yue\n\t0x51f38000: 750, // yue-Hans\n\t0x51f38053: 751, // yue-Hans-CN\n\t0x51f39000: 752, // yue-Hant\n\t0x51f3908d: 753, // yue-Hant-HK\n\t0x52800000: 754, // zgh\n\t0x528000ba: 755, // zgh-MA\n\t0x52900000: 756, // zh\n\t0x52938000: 757, // zh-Hans\n\t0x52938053: 758, // zh-Hans-CN\n\t0x5293808d: 759, // zh-Hans-HK\n\t0x529380c6: 760, // zh-Hans-MO\n\t0x5293810d: 761, // zh-Hans-SG\n\t0x52939000: 762, // zh-Hant\n\t0x5293908d: 763, // zh-Hant-HK\n\t0x529390c6: 764, // zh-Hant-MO\n\t0x5293912e: 765, // zh-Hant-TW\n\t0x52f00000: 766, // zu\n\t0x52f00161: 767, // zu-ZA\n}\n\n// Total table size 4676 bytes (4KiB); checksum: 17BE3673\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/language.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//go:generate go run gen.go gen_common.go -output tables.go\n//go:generate go run gen_index.go\n\npackage language\n\n// TODO: Remove above NOTE after:\n// - verifying that tables are dropped correctly (most notably matcher tables).\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"strings\"\n)\n\nconst (\n\t// maxCoreSize is the maximum size of a BCP 47 tag without variants and\n\t// extensions. Equals max lang (3) + script (4) + max reg (3) + 2 dashes.\n\tmaxCoreSize = 12\n\n\t// max99thPercentileSize is a somewhat arbitrary buffer size that presumably\n\t// is large enough to hold at least 99% of the BCP 47 tags.\n\tmax99thPercentileSize = 32\n\n\t// maxSimpleUExtensionSize is the maximum size of a -u extension with one\n\t// key-type pair. Equals len(\"-u-\") + key (2) + dash + max value (8).\n\tmaxSimpleUExtensionSize = 14\n)\n\n// Tag represents a BCP 47 language tag. It is used to specify an instance of a\n// specific language or locale. All language tag values are guaranteed to be\n// well-formed.\ntype Tag struct {\n\tlang   langID\n\tregion regionID\n\t// TODO: we will soon run out of positions for script. Idea: instead of\n\t// storing lang, region, and script codes, store only the compact index and\n\t// have a lookup table from this code to its expansion. This greatly speeds\n\t// up table lookup, speed up common variant cases.\n\t// This will also immediately free up 3 extra bytes. Also, the pVariant\n\t// field can now be moved to the lookup table, as the compact index uniquely\n\t// determines the offset of a possible variant.\n\tscript   scriptID\n\tpVariant byte   // offset in str, includes preceding '-'\n\tpExt     uint16 // offset of first extension, includes preceding '-'\n\n\t// str is the string representation of the Tag. It will only be used if the\n\t// tag has variants or extensions.\n\tstr string\n}\n\n// Make is a convenience wrapper for Parse that omits the error.\n// In case of an error, a sensible default is returned.\nfunc Make(s string) Tag {\n\treturn Default.Make(s)\n}\n\n// Make is a convenience wrapper for c.Parse that omits the error.\n// In case of an error, a sensible default is returned.\nfunc (c CanonType) Make(s string) Tag {\n\tt, _ := c.Parse(s)\n\treturn t\n}\n\n// Raw returns the raw base language, script and region, without making an\n// attempt to infer their values.\nfunc (t Tag) Raw() (b Base, s Script, r Region) {\n\treturn Base{t.lang}, Script{t.script}, Region{t.region}\n}\n\n// equalTags compares language, script and region subtags only.\nfunc (t Tag) equalTags(a Tag) bool {\n\treturn t.lang == a.lang && t.script == a.script && t.region == a.region\n}\n\n// IsRoot returns true if t is equal to language \"und\".\nfunc (t Tag) IsRoot() bool {\n\tif int(t.pVariant) < len(t.str) {\n\t\treturn false\n\t}\n\treturn t.equalTags(und)\n}\n\n// private reports whether the Tag consists solely of a private use tag.\nfunc (t Tag) private() bool {\n\treturn t.str != \"\" && t.pVariant == 0\n}\n\n// CanonType can be used to enable or disable various types of canonicalization.\ntype CanonType int\n\nconst (\n\t// Replace deprecated base languages with their preferred replacements.\n\tDeprecatedBase CanonType = 1 << iota\n\t// Replace deprecated scripts with their preferred replacements.\n\tDeprecatedScript\n\t// Replace deprecated regions with their preferred replacements.\n\tDeprecatedRegion\n\t// Remove redundant scripts.\n\tSuppressScript\n\t// Normalize legacy encodings. This includes legacy languages defined in\n\t// CLDR as well as bibliographic codes defined in ISO-639.\n\tLegacy\n\t// Map the dominant language of a macro language group to the macro language\n\t// subtag. For example cmn -> zh.\n\tMacro\n\t// The CLDR flag should be used if full compatibility with CLDR is required.\n\t// There are a few cases where language.Tag may differ from CLDR. To follow all\n\t// of CLDR's suggestions, use All|CLDR.\n\tCLDR\n\n\t// Raw can be used to Compose or Parse without Canonicalization.\n\tRaw CanonType = 0\n\n\t// Replace all deprecated tags with their preferred replacements.\n\tDeprecated = DeprecatedBase | DeprecatedScript | DeprecatedRegion\n\n\t// All canonicalizations recommended by BCP 47.\n\tBCP47 = Deprecated | SuppressScript\n\n\t// All canonicalizations.\n\tAll = BCP47 | Legacy | Macro\n\n\t// Default is the canonicalization used by Parse, Make and Compose. To\n\t// preserve as much information as possible, canonicalizations that remove\n\t// potentially valuable information are not included. The Matcher is\n\t// designed to recognize similar tags that would be the same if\n\t// they were canonicalized using All.\n\tDefault = Deprecated | Legacy\n\n\tcanonLang = DeprecatedBase | Legacy | Macro\n\n\t// TODO: LikelyScript, LikelyRegion: suppress similar to ICU.\n)\n\n// canonicalize returns the canonicalized equivalent of the tag and\n// whether there was any change.\nfunc (t Tag) canonicalize(c CanonType) (Tag, bool) {\n\tif c == Raw {\n\t\treturn t, false\n\t}\n\tchanged := false\n\tif c&SuppressScript != 0 {\n\t\tif t.lang < langNoIndexOffset && uint8(t.script) == suppressScript[t.lang] {\n\t\t\tt.script = 0\n\t\t\tchanged = true\n\t\t}\n\t}\n\tif c&canonLang != 0 {\n\t\tfor {\n\t\t\tif l, aliasType := normLang(t.lang); l != t.lang {\n\t\t\t\tswitch aliasType {\n\t\t\t\tcase langLegacy:\n\t\t\t\t\tif c&Legacy != 0 {\n\t\t\t\t\t\tif t.lang == _sh && t.script == 0 {\n\t\t\t\t\t\t\tt.script = _Latn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tt.lang = l\n\t\t\t\t\t\tchanged = true\n\t\t\t\t\t}\n\t\t\t\tcase langMacro:\n\t\t\t\t\tif c&Macro != 0 {\n\t\t\t\t\t\t// We deviate here from CLDR. The mapping \"nb\" -> \"no\"\n\t\t\t\t\t\t// qualifies as a typical Macro language mapping.  However,\n\t\t\t\t\t\t// for legacy reasons, CLDR maps \"no\", the macro language\n\t\t\t\t\t\t// code for Norwegian, to the dominant variant \"nb\". This\n\t\t\t\t\t\t// change is currently under consideration for CLDR as well.\n\t\t\t\t\t\t// See http://unicode.org/cldr/trac/ticket/2698 and also\n\t\t\t\t\t\t// http://unicode.org/cldr/trac/ticket/1790 for some of the\n\t\t\t\t\t\t// practical implications. TODO: this check could be removed\n\t\t\t\t\t\t// if CLDR adopts this change.\n\t\t\t\t\t\tif c&CLDR == 0 || t.lang != _nb {\n\t\t\t\t\t\t\tchanged = true\n\t\t\t\t\t\t\tt.lang = l\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tcase langDeprecated:\n\t\t\t\t\tif c&DeprecatedBase != 0 {\n\t\t\t\t\t\tif t.lang == _mo && t.region == 0 {\n\t\t\t\t\t\t\tt.region = _MD\n\t\t\t\t\t\t}\n\t\t\t\t\t\tt.lang = l\n\t\t\t\t\t\tchanged = true\n\t\t\t\t\t\t// Other canonicalization types may still apply.\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if c&Legacy != 0 && t.lang == _no && c&CLDR != 0 {\n\t\t\t\tt.lang = _nb\n\t\t\t\tchanged = true\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\tif c&DeprecatedScript != 0 {\n\t\tif t.script == _Qaai {\n\t\t\tchanged = true\n\t\t\tt.script = _Zinh\n\t\t}\n\t}\n\tif c&DeprecatedRegion != 0 {\n\t\tif r := normRegion(t.region); r != 0 {\n\t\t\tchanged = true\n\t\t\tt.region = r\n\t\t}\n\t}\n\treturn t, changed\n}\n\n// Canonicalize returns the canonicalized equivalent of the tag.\nfunc (c CanonType) Canonicalize(t Tag) (Tag, error) {\n\tt, changed := t.canonicalize(c)\n\tif changed {\n\t\tt.remakeString()\n\t}\n\treturn t, nil\n}\n\n// Confidence indicates the level of certainty for a given return value.\n// For example, Serbian may be written in Cyrillic or Latin script.\n// The confidence level indicates whether a value was explicitly specified,\n// whether it is typically the only possible value, or whether there is\n// an ambiguity.\ntype Confidence int\n\nconst (\n\tNo    Confidence = iota // full confidence that there was no match\n\tLow                     // most likely value picked out of a set of alternatives\n\tHigh                    // value is generally assumed to be the correct match\n\tExact                   // exact match or explicitly specified value\n)\n\nvar confName = []string{\"No\", \"Low\", \"High\", \"Exact\"}\n\nfunc (c Confidence) String() string {\n\treturn confName[c]\n}\n\n// remakeString is used to update t.str in case lang, script or region changed.\n// It is assumed that pExt and pVariant still point to the start of the\n// respective parts.\nfunc (t *Tag) remakeString() {\n\tif t.str == \"\" {\n\t\treturn\n\t}\n\textra := t.str[t.pVariant:]\n\tif t.pVariant > 0 {\n\t\textra = extra[1:]\n\t}\n\tif t.equalTags(und) && strings.HasPrefix(extra, \"x-\") {\n\t\tt.str = extra\n\t\tt.pVariant = 0\n\t\tt.pExt = 0\n\t\treturn\n\t}\n\tvar buf [max99thPercentileSize]byte // avoid extra memory allocation in most cases.\n\tb := buf[:t.genCoreBytes(buf[:])]\n\tif extra != \"\" {\n\t\tdiff := len(b) - int(t.pVariant)\n\t\tb = append(b, '-')\n\t\tb = append(b, extra...)\n\t\tt.pVariant = uint8(int(t.pVariant) + diff)\n\t\tt.pExt = uint16(int(t.pExt) + diff)\n\t} else {\n\t\tt.pVariant = uint8(len(b))\n\t\tt.pExt = uint16(len(b))\n\t}\n\tt.str = string(b)\n}\n\n// genCoreBytes writes a string for the base languages, script and region tags\n// to the given buffer and returns the number of bytes written. It will never\n// write more than maxCoreSize bytes.\nfunc (t *Tag) genCoreBytes(buf []byte) int {\n\tn := t.lang.stringToBuf(buf[:])\n\tif t.script != 0 {\n\t\tn += copy(buf[n:], \"-\")\n\t\tn += copy(buf[n:], t.script.String())\n\t}\n\tif t.region != 0 {\n\t\tn += copy(buf[n:], \"-\")\n\t\tn += copy(buf[n:], t.region.String())\n\t}\n\treturn n\n}\n\n// String returns the canonical string representation of the language tag.\nfunc (t Tag) String() string {\n\tif t.str != \"\" {\n\t\treturn t.str\n\t}\n\tif t.script == 0 && t.region == 0 {\n\t\treturn t.lang.String()\n\t}\n\tbuf := [maxCoreSize]byte{}\n\treturn string(buf[:t.genCoreBytes(buf[:])])\n}\n\n// MarshalText implements encoding.TextMarshaler.\nfunc (t Tag) MarshalText() (text []byte, err error) {\n\tif t.str != \"\" {\n\t\ttext = append(text, t.str...)\n\t} else if t.script == 0 && t.region == 0 {\n\t\ttext = append(text, t.lang.String()...)\n\t} else {\n\t\tbuf := [maxCoreSize]byte{}\n\t\ttext = buf[:t.genCoreBytes(buf[:])]\n\t}\n\treturn text, nil\n}\n\n// UnmarshalText implements encoding.TextUnmarshaler.\nfunc (t *Tag) UnmarshalText(text []byte) error {\n\ttag, err := Raw.Parse(string(text))\n\t*t = tag\n\treturn err\n}\n\n// Base returns the base language of the language tag. If the base language is\n// unspecified, an attempt will be made to infer it from the context.\n// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change.\nfunc (t Tag) Base() (Base, Confidence) {\n\tif t.lang != 0 {\n\t\treturn Base{t.lang}, Exact\n\t}\n\tc := High\n\tif t.script == 0 && !(Region{t.region}).IsCountry() {\n\t\tc = Low\n\t}\n\tif tag, err := addTags(t); err == nil && tag.lang != 0 {\n\t\treturn Base{tag.lang}, c\n\t}\n\treturn Base{0}, No\n}\n\n// Script infers the script for the language tag. If it was not explicitly given, it will infer\n// a most likely candidate.\n// If more than one script is commonly used for a language, the most likely one\n// is returned with a low confidence indication. For example, it returns (Cyrl, Low)\n// for Serbian.\n// If a script cannot be inferred (Zzzz, No) is returned. We do not use Zyyy (undetermined)\n// as one would suspect from the IANA registry for BCP 47. In a Unicode context Zyyy marks\n// common characters (like 1, 2, 3, '.', etc.) and is therefore more like multiple scripts.\n// See http://www.unicode.org/reports/tr24/#Values for more details. Zzzz is also used for\n// unknown value in CLDR.  (Zzzz, Exact) is returned if Zzzz was explicitly specified.\n// Note that an inferred script is never guaranteed to be the correct one. Latin is\n// almost exclusively used for Afrikaans, but Arabic has been used for some texts\n// in the past.  Also, the script that is commonly used may change over time.\n// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change.\nfunc (t Tag) Script() (Script, Confidence) {\n\tif t.script != 0 {\n\t\treturn Script{t.script}, Exact\n\t}\n\tsc, c := scriptID(_Zzzz), No\n\tif t.lang < langNoIndexOffset {\n\t\tif scr := scriptID(suppressScript[t.lang]); scr != 0 {\n\t\t\t// Note: it is not always the case that a language with a suppress\n\t\t\t// script value is only written in one script (e.g. kk, ms, pa).\n\t\t\tif t.region == 0 {\n\t\t\t\treturn Script{scriptID(scr)}, High\n\t\t\t}\n\t\t\tsc, c = scr, High\n\t\t}\n\t}\n\tif tag, err := addTags(t); err == nil {\n\t\tif tag.script != sc {\n\t\t\tsc, c = tag.script, Low\n\t\t}\n\t} else {\n\t\tt, _ = (Deprecated | Macro).Canonicalize(t)\n\t\tif tag, err := addTags(t); err == nil && tag.script != sc {\n\t\t\tsc, c = tag.script, Low\n\t\t}\n\t}\n\treturn Script{sc}, c\n}\n\n// Region returns the region for the language tag. If it was not explicitly given, it will\n// infer a most likely candidate from the context.\n// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change.\nfunc (t Tag) Region() (Region, Confidence) {\n\tif t.region != 0 {\n\t\treturn Region{t.region}, Exact\n\t}\n\tif t, err := addTags(t); err == nil {\n\t\treturn Region{t.region}, Low // TODO: differentiate between high and low.\n\t}\n\tt, _ = (Deprecated | Macro).Canonicalize(t)\n\tif tag, err := addTags(t); err == nil {\n\t\treturn Region{tag.region}, Low\n\t}\n\treturn Region{_ZZ}, No // TODO: return world instead of undetermined?\n}\n\n// Variant returns the variants specified explicitly for this language tag.\n// or nil if no variant was specified.\nfunc (t Tag) Variants() []Variant {\n\tv := []Variant{}\n\tif int(t.pVariant) < int(t.pExt) {\n\t\tfor x, str := \"\", t.str[t.pVariant:t.pExt]; str != \"\"; {\n\t\t\tx, str = nextToken(str)\n\t\t\tv = append(v, Variant{x})\n\t\t}\n\t}\n\treturn v\n}\n\n// Parent returns the CLDR parent of t. In CLDR, missing fields in data for a\n// specific language are substituted with fields from the parent language.\n// The parent for a language may change for newer versions of CLDR.\nfunc (t Tag) Parent() Tag {\n\tif t.str != \"\" {\n\t\t// Strip the variants and extensions.\n\t\tt, _ = Raw.Compose(t.Raw())\n\t\tif t.region == 0 && t.script != 0 && t.lang != 0 {\n\t\t\tbase, _ := addTags(Tag{lang: t.lang})\n\t\t\tif base.script == t.script {\n\t\t\t\treturn Tag{lang: t.lang}\n\t\t\t}\n\t\t}\n\t\treturn t\n\t}\n\tif t.lang != 0 {\n\t\tif t.region != 0 {\n\t\t\tmaxScript := t.script\n\t\t\tif maxScript == 0 {\n\t\t\t\tmax, _ := addTags(t)\n\t\t\t\tmaxScript = max.script\n\t\t\t}\n\n\t\t\tfor i := range parents {\n\t\t\t\tif langID(parents[i].lang) == t.lang && scriptID(parents[i].maxScript) == maxScript {\n\t\t\t\t\tfor _, r := range parents[i].fromRegion {\n\t\t\t\t\t\tif regionID(r) == t.region {\n\t\t\t\t\t\t\treturn Tag{\n\t\t\t\t\t\t\t\tlang:   t.lang,\n\t\t\t\t\t\t\t\tscript: scriptID(parents[i].script),\n\t\t\t\t\t\t\t\tregion: regionID(parents[i].toRegion),\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\n\t\t\t// Strip the script if it is the default one.\n\t\t\tbase, _ := addTags(Tag{lang: t.lang})\n\t\t\tif base.script != maxScript {\n\t\t\t\treturn Tag{lang: t.lang, script: maxScript}\n\t\t\t}\n\t\t\treturn Tag{lang: t.lang}\n\t\t} else if t.script != 0 {\n\t\t\t// The parent for an base-script pair with a non-default script is\n\t\t\t// \"und\" instead of the base language.\n\t\t\tbase, _ := addTags(Tag{lang: t.lang})\n\t\t\tif base.script != t.script {\n\t\t\t\treturn und\n\t\t\t}\n\t\t\treturn Tag{lang: t.lang}\n\t\t}\n\t}\n\treturn und\n}\n\n// returns token t and the rest of the string.\nfunc nextToken(s string) (t, tail string) {\n\tp := strings.Index(s[1:], \"-\")\n\tif p == -1 {\n\t\treturn s[1:], \"\"\n\t}\n\tp++\n\treturn s[1:p], s[p:]\n}\n\n// Extension is a single BCP 47 extension.\ntype Extension struct {\n\ts string\n}\n\n// String returns the string representation of the extension, including the\n// type tag.\nfunc (e Extension) String() string {\n\treturn e.s\n}\n\n// ParseExtension parses s as an extension and returns it on success.\nfunc ParseExtension(s string) (e Extension, err error) {\n\tscan := makeScannerString(s)\n\tvar end int\n\tif n := len(scan.token); n != 1 {\n\t\treturn Extension{}, errSyntax\n\t}\n\tscan.toLower(0, len(scan.b))\n\tend = parseExtension(&scan)\n\tif end != len(s) {\n\t\treturn Extension{}, errSyntax\n\t}\n\treturn Extension{string(scan.b)}, nil\n}\n\n// Type returns the one-byte extension type of e. It returns 0 for the zero\n// exception.\nfunc (e Extension) Type() byte {\n\tif e.s == \"\" {\n\t\treturn 0\n\t}\n\treturn e.s[0]\n}\n\n// Tokens returns the list of tokens of e.\nfunc (e Extension) Tokens() []string {\n\treturn strings.Split(e.s, \"-\")\n}\n\n// Extension returns the extension of type x for tag t. It will return\n// false for ok if t does not have the requested extension. The returned\n// extension will be invalid in this case.\nfunc (t Tag) Extension(x byte) (ext Extension, ok bool) {\n\tfor i := int(t.pExt); i < len(t.str)-1; {\n\t\tvar ext string\n\t\ti, ext = getExtension(t.str, i)\n\t\tif ext[0] == x {\n\t\t\treturn Extension{ext}, true\n\t\t}\n\t}\n\treturn Extension{}, false\n}\n\n// Extensions returns all extensions of t.\nfunc (t Tag) Extensions() []Extension {\n\te := []Extension{}\n\tfor i := int(t.pExt); i < len(t.str)-1; {\n\t\tvar ext string\n\t\ti, ext = getExtension(t.str, i)\n\t\te = append(e, Extension{ext})\n\t}\n\treturn e\n}\n\n// TypeForKey returns the type associated with the given key, where key and type\n// are of the allowed values defined for the Unicode locale extension ('u') in\n// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.\n// TypeForKey will traverse the inheritance chain to get the correct value.\nfunc (t Tag) TypeForKey(key string) string {\n\tif start, end, _ := t.findTypeForKey(key); end != start {\n\t\treturn t.str[start:end]\n\t}\n\treturn \"\"\n}\n\nvar (\n\terrPrivateUse       = errors.New(\"cannot set a key on a private use tag\")\n\terrInvalidArguments = errors.New(\"invalid key or type\")\n)\n\n// SetTypeForKey returns a new Tag with the key set to type, where key and type\n// are of the allowed values defined for the Unicode locale extension ('u') in\n// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.\n// An empty value removes an existing pair with the same key.\nfunc (t Tag) SetTypeForKey(key, value string) (Tag, error) {\n\tif t.private() {\n\t\treturn t, errPrivateUse\n\t}\n\tif len(key) != 2 {\n\t\treturn t, errInvalidArguments\n\t}\n\n\t// Remove the setting if value is \"\".\n\tif value == \"\" {\n\t\tstart, end, _ := t.findTypeForKey(key)\n\t\tif start != end {\n\t\t\t// Remove key tag and leading '-'.\n\t\t\tstart -= 4\n\n\t\t\t// Remove a possible empty extension.\n\t\t\tif (end == len(t.str) || t.str[end+2] == '-') && t.str[start-2] == '-' {\n\t\t\t\tstart -= 2\n\t\t\t}\n\t\t\tif start == int(t.pVariant) && end == len(t.str) {\n\t\t\t\tt.str = \"\"\n\t\t\t\tt.pVariant, t.pExt = 0, 0\n\t\t\t} else {\n\t\t\t\tt.str = fmt.Sprintf(\"%s%s\", t.str[:start], t.str[end:])\n\t\t\t}\n\t\t}\n\t\treturn t, nil\n\t}\n\n\tif len(value) < 3 || len(value) > 8 {\n\t\treturn t, errInvalidArguments\n\t}\n\n\tvar (\n\t\tbuf    [maxCoreSize + maxSimpleUExtensionSize]byte\n\t\tuStart int // start of the -u extension.\n\t)\n\n\t// Generate the tag string if needed.\n\tif t.str == \"\" {\n\t\tuStart = t.genCoreBytes(buf[:])\n\t\tbuf[uStart] = '-'\n\t\tuStart++\n\t}\n\n\t// Create new key-type pair and parse it to verify.\n\tb := buf[uStart:]\n\tcopy(b, \"u-\")\n\tcopy(b[2:], key)\n\tb[4] = '-'\n\tb = b[:5+copy(b[5:], value)]\n\tscan := makeScanner(b)\n\tif parseExtensions(&scan); scan.err != nil {\n\t\treturn t, scan.err\n\t}\n\n\t// Assemble the replacement string.\n\tif t.str == \"\" {\n\t\tt.pVariant, t.pExt = byte(uStart-1), uint16(uStart-1)\n\t\tt.str = string(buf[:uStart+len(b)])\n\t} else {\n\t\ts := t.str\n\t\tstart, end, hasExt := t.findTypeForKey(key)\n\t\tif start == end {\n\t\t\tif hasExt {\n\t\t\t\tb = b[2:]\n\t\t\t}\n\t\t\tt.str = fmt.Sprintf(\"%s-%s%s\", s[:start], b, s[end:])\n\t\t} else {\n\t\t\tt.str = fmt.Sprintf(\"%s%s%s\", s[:start], value, s[end:])\n\t\t}\n\t}\n\treturn t, nil\n}\n\n// findKeyAndType returns the start and end position for the type corresponding\n// to key or the point at which to insert the key-value pair if the type\n// wasn't found. The hasExt return value reports whether an -u extension was present.\n// Note: the extensions are typically very small and are likely to contain\n// only one key-type pair.\nfunc (t Tag) findTypeForKey(key string) (start, end int, hasExt bool) {\n\tp := int(t.pExt)\n\tif len(key) != 2 || p == len(t.str) || p == 0 {\n\t\treturn p, p, false\n\t}\n\ts := t.str\n\n\t// Find the correct extension.\n\tfor p++; s[p] != 'u'; p++ {\n\t\tif s[p] > 'u' {\n\t\t\tp--\n\t\t\treturn p, p, false\n\t\t}\n\t\tif p = nextExtension(s, p); p == len(s) {\n\t\t\treturn len(s), len(s), false\n\t\t}\n\t}\n\t// Proceed to the hyphen following the extension name.\n\tp++\n\n\t// curKey is the key currently being processed.\n\tcurKey := \"\"\n\n\t// Iterate over keys until we get the end of a section.\n\tfor {\n\t\t// p points to the hyphen preceding the current token.\n\t\tif p3 := p + 3; s[p3] == '-' {\n\t\t\t// Found a key.\n\t\t\t// Check whether we just processed the key that was requested.\n\t\t\tif curKey == key {\n\t\t\t\treturn start, p, true\n\t\t\t}\n\t\t\t// Set to the next key and continue scanning type tokens.\n\t\t\tcurKey = s[p+1 : p3]\n\t\t\tif curKey > key {\n\t\t\t\treturn p, p, true\n\t\t\t}\n\t\t\t// Start of the type token sequence.\n\t\t\tstart = p + 4\n\t\t\t// A type is at least 3 characters long.\n\t\t\tp += 7 // 4 + 3\n\t\t} else {\n\t\t\t// Attribute or type, which is at least 3 characters long.\n\t\t\tp += 4\n\t\t}\n\t\t// p points past the third character of a type or attribute.\n\t\tmax := p + 5 // maximum length of token plus hyphen.\n\t\tif len(s) < max {\n\t\t\tmax = len(s)\n\t\t}\n\t\tfor ; p < max && s[p] != '-'; p++ {\n\t\t}\n\t\t// Bail if we have exhausted all tokens or if the next token starts\n\t\t// a new extension.\n\t\tif p == len(s) || s[p+2] == '-' {\n\t\t\tif curKey == key {\n\t\t\t\treturn start, p, true\n\t\t\t}\n\t\t\treturn p, p, true\n\t\t}\n\t}\n}\n\n// CompactIndex returns an index, where 0 <= index < NumCompactTags, for tags\n// for which data exists in the text repository. The index will change over time\n// and should not be stored in persistent storage. Extensions, except for the\n// 'va' type of the 'u' extension, are ignored. It will return 0, false if no\n// compact tag exists, where 0 is the index for the root language (Und).\nfunc CompactIndex(t Tag) (index int, ok bool) {\n\t// TODO: perhaps give more frequent tags a lower index.\n\t// TODO: we could make the indexes stable. This will excluded some\n\t//       possibilities for optimization, so don't do this quite yet.\n\tb, s, r := t.Raw()\n\tif len(t.str) > 0 {\n\t\tif strings.HasPrefix(t.str, \"x-\") {\n\t\t\t// We have no entries for user-defined tags.\n\t\t\treturn 0, false\n\t\t}\n\t\tif uint16(t.pVariant) != t.pExt {\n\t\t\t// There are no tags with variants and an u-va type.\n\t\t\tif t.TypeForKey(\"va\") != \"\" {\n\t\t\t\treturn 0, false\n\t\t\t}\n\t\t\tt, _ = Raw.Compose(b, s, r, t.Variants())\n\t\t} else if _, ok := t.Extension('u'); ok {\n\t\t\t// Strip all but the 'va' entry.\n\t\t\tvariant := t.TypeForKey(\"va\")\n\t\t\tt, _ = Raw.Compose(b, s, r)\n\t\t\tt, _ = t.SetTypeForKey(\"va\", variant)\n\t\t}\n\t\tif len(t.str) > 0 {\n\t\t\t// We have some variants.\n\t\t\tfor i, s := range specialTags {\n\t\t\t\tif s == t {\n\t\t\t\t\treturn i + 1, true\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn 0, false\n\t\t}\n\t}\n\t// No variants specified: just compare core components.\n\t// The key has the form lllssrrr, where l, s, and r are nibbles for\n\t// respectively the langID, scriptID, and regionID.\n\tkey := uint32(b.langID) << (8 + 12)\n\tkey |= uint32(s.scriptID) << 12\n\tkey |= uint32(r.regionID)\n\tx, ok := coreTags[key]\n\treturn int(x), ok\n}\n\n// Base is an ISO 639 language code, used for encoding the base language\n// of a language tag.\ntype Base struct {\n\tlangID\n}\n\n// ParseBase parses a 2- or 3-letter ISO 639 code.\n// It returns a ValueError if s is a well-formed but unknown language identifier\n// or another error if another error occurred.\nfunc ParseBase(s string) (Base, error) {\n\tif n := len(s); n < 2 || 3 < n {\n\t\treturn Base{}, errSyntax\n\t}\n\tvar buf [3]byte\n\tl, err := getLangID(buf[:copy(buf[:], s)])\n\treturn Base{l}, err\n}\n\n// Script is a 4-letter ISO 15924 code for representing scripts.\n// It is idiomatically represented in title case.\ntype Script struct {\n\tscriptID\n}\n\n// ParseScript parses a 4-letter ISO 15924 code.\n// It returns a ValueError if s is a well-formed but unknown script identifier\n// or another error if another error occurred.\nfunc ParseScript(s string) (Script, error) {\n\tif len(s) != 4 {\n\t\treturn Script{}, errSyntax\n\t}\n\tvar buf [4]byte\n\tsc, err := getScriptID(script, buf[:copy(buf[:], s)])\n\treturn Script{sc}, err\n}\n\n// Region is an ISO 3166-1 or UN M.49 code for representing countries and regions.\ntype Region struct {\n\tregionID\n}\n\n// EncodeM49 returns the Region for the given UN M.49 code.\n// It returns an error if r is not a valid code.\nfunc EncodeM49(r int) (Region, error) {\n\trid, err := getRegionM49(r)\n\treturn Region{rid}, err\n}\n\n// ParseRegion parses a 2- or 3-letter ISO 3166-1 or a UN M.49 code.\n// It returns a ValueError if s is a well-formed but unknown region identifier\n// or another error if another error occurred.\nfunc ParseRegion(s string) (Region, error) {\n\tif n := len(s); n < 2 || 3 < n {\n\t\treturn Region{}, errSyntax\n\t}\n\tvar buf [3]byte\n\tr, err := getRegionID(buf[:copy(buf[:], s)])\n\treturn Region{r}, err\n}\n\n// IsCountry returns whether this region is a country or autonomous area. This\n// includes non-standard definitions from CLDR.\nfunc (r Region) IsCountry() bool {\n\tif r.regionID == 0 || r.IsGroup() || r.IsPrivateUse() && r.regionID != _XK {\n\t\treturn false\n\t}\n\treturn true\n}\n\n// IsGroup returns whether this region defines a collection of regions. This\n// includes non-standard definitions from CLDR.\nfunc (r Region) IsGroup() bool {\n\tif r.regionID == 0 {\n\t\treturn false\n\t}\n\treturn int(regionInclusion[r.regionID]) < len(regionContainment)\n}\n\n// Contains returns whether Region c is contained by Region r. It returns true\n// if c == r.\nfunc (r Region) Contains(c Region) bool {\n\treturn r.regionID.contains(c.regionID)\n}\n\nfunc (r regionID) contains(c regionID) bool {\n\tif r == c {\n\t\treturn true\n\t}\n\tg := regionInclusion[r]\n\tif g >= nRegionGroups {\n\t\treturn false\n\t}\n\tm := regionContainment[g]\n\n\td := regionInclusion[c]\n\tb := regionInclusionBits[d]\n\n\t// A contained country may belong to multiple disjoint groups. Matching any\n\t// of these indicates containment. If the contained region is a group, it\n\t// must strictly be a subset.\n\tif d >= nRegionGroups {\n\t\treturn b&m != 0\n\t}\n\treturn b&^m == 0\n}\n\nvar errNoTLD = errors.New(\"language: region is not a valid ccTLD\")\n\n// TLD returns the country code top-level domain (ccTLD). UK is returned for GB.\n// In all other cases it returns either the region itself or an error.\n//\n// This method may return an error for a region for which there exists a\n// canonical form with a ccTLD. To get that ccTLD canonicalize r first. The\n// region will already be canonicalized it was obtained from a Tag that was\n// obtained using any of the default methods.\nfunc (r Region) TLD() (Region, error) {\n\t// See http://en.wikipedia.org/wiki/Country_code_top-level_domain for the\n\t// difference between ISO 3166-1 and IANA ccTLD.\n\tif r.regionID == _GB {\n\t\tr = Region{_UK}\n\t}\n\tif (r.typ() & ccTLD) == 0 {\n\t\treturn Region{}, errNoTLD\n\t}\n\treturn r, nil\n}\n\n// Canonicalize returns the region or a possible replacement if the region is\n// deprecated. It will not return a replacement for deprecated regions that\n// are split into multiple regions.\nfunc (r Region) Canonicalize() Region {\n\tif cr := normRegion(r.regionID); cr != 0 {\n\t\treturn Region{cr}\n\t}\n\treturn r\n}\n\n// Variant represents a registered variant of a language as defined by BCP 47.\ntype Variant struct {\n\tvariant string\n}\n\n// ParseVariant parses and returns a Variant. An error is returned if s is not\n// a valid variant.\nfunc ParseVariant(s string) (Variant, error) {\n\ts = strings.ToLower(s)\n\tif _, ok := variantIndex[s]; ok {\n\t\treturn Variant{s}, nil\n\t}\n\treturn Variant{}, mkErrInvalid([]byte(s))\n}\n\n// String returns the string representation of the variant.\nfunc (v Variant) String() string {\n\treturn v.variant\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/lookup.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage language\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"sort\"\n\t\"strconv\"\n\n\t\"golang.org/x/text/internal/tag\"\n)\n\n// findIndex tries to find the given tag in idx and returns a standardized error\n// if it could not be found.\nfunc findIndex(idx tag.Index, key []byte, form string) (index int, err error) {\n\tif !tag.FixCase(form, key) {\n\t\treturn 0, errSyntax\n\t}\n\ti := idx.Index(key)\n\tif i == -1 {\n\t\treturn 0, mkErrInvalid(key)\n\t}\n\treturn i, nil\n}\n\nfunc searchUint(imap []uint16, key uint16) int {\n\treturn sort.Search(len(imap), func(i int) bool {\n\t\treturn imap[i] >= key\n\t})\n}\n\ntype langID uint16\n\n// getLangID returns the langID of s if s is a canonical subtag\n// or langUnknown if s is not a canonical subtag.\nfunc getLangID(s []byte) (langID, error) {\n\tif len(s) == 2 {\n\t\treturn getLangISO2(s)\n\t}\n\treturn getLangISO3(s)\n}\n\n// mapLang returns the mapped langID of id according to mapping m.\nfunc normLang(id langID) (langID, langAliasType) {\n\tk := sort.Search(len(langAliasMap), func(i int) bool {\n\t\treturn langAliasMap[i].from >= uint16(id)\n\t})\n\tif k < len(langAliasMap) && langAliasMap[k].from == uint16(id) {\n\t\treturn langID(langAliasMap[k].to), langAliasTypes[k]\n\t}\n\treturn id, langAliasTypeUnknown\n}\n\n// getLangISO2 returns the langID for the given 2-letter ISO language code\n// or unknownLang if this does not exist.\nfunc getLangISO2(s []byte) (langID, error) {\n\tif !tag.FixCase(\"zz\", s) {\n\t\treturn 0, errSyntax\n\t}\n\tif i := lang.Index(s); i != -1 && lang.Elem(i)[3] != 0 {\n\t\treturn langID(i), nil\n\t}\n\treturn 0, mkErrInvalid(s)\n}\n\nconst base = 'z' - 'a' + 1\n\nfunc strToInt(s []byte) uint {\n\tv := uint(0)\n\tfor i := 0; i < len(s); i++ {\n\t\tv *= base\n\t\tv += uint(s[i] - 'a')\n\t}\n\treturn v\n}\n\n// converts the given integer to the original ASCII string passed to strToInt.\n// len(s) must match the number of characters obtained.\nfunc intToStr(v uint, s []byte) {\n\tfor i := len(s) - 1; i >= 0; i-- {\n\t\ts[i] = byte(v%base) + 'a'\n\t\tv /= base\n\t}\n}\n\n// getLangISO3 returns the langID for the given 3-letter ISO language code\n// or unknownLang if this does not exist.\nfunc getLangISO3(s []byte) (langID, error) {\n\tif tag.FixCase(\"und\", s) {\n\t\t// first try to match canonical 3-letter entries\n\t\tfor i := lang.Index(s[:2]); i != -1; i = lang.Next(s[:2], i) {\n\t\t\tif e := lang.Elem(i); e[3] == 0 && e[2] == s[2] {\n\t\t\t\t// We treat \"und\" as special and always translate it to \"unspecified\".\n\t\t\t\t// Note that ZZ and Zzzz are private use and are not treated as\n\t\t\t\t// unspecified by default.\n\t\t\t\tid := langID(i)\n\t\t\t\tif id == nonCanonicalUnd {\n\t\t\t\t\treturn 0, nil\n\t\t\t\t}\n\t\t\t\treturn id, nil\n\t\t\t}\n\t\t}\n\t\tif i := altLangISO3.Index(s); i != -1 {\n\t\t\treturn langID(altLangIndex[altLangISO3.Elem(i)[3]]), nil\n\t\t}\n\t\tn := strToInt(s)\n\t\tif langNoIndex[n/8]&(1<<(n%8)) != 0 {\n\t\t\treturn langID(n) + langNoIndexOffset, nil\n\t\t}\n\t\t// Check for non-canonical uses of ISO3.\n\t\tfor i := lang.Index(s[:1]); i != -1; i = lang.Next(s[:1], i) {\n\t\t\tif e := lang.Elem(i); e[2] == s[1] && e[3] == s[2] {\n\t\t\t\treturn langID(i), nil\n\t\t\t}\n\t\t}\n\t\treturn 0, mkErrInvalid(s)\n\t}\n\treturn 0, errSyntax\n}\n\n// stringToBuf writes the string to b and returns the number of bytes\n// written.  cap(b) must be >= 3.\nfunc (id langID) stringToBuf(b []byte) int {\n\tif id >= langNoIndexOffset {\n\t\tintToStr(uint(id)-langNoIndexOffset, b[:3])\n\t\treturn 3\n\t} else if id == 0 {\n\t\treturn copy(b, \"und\")\n\t}\n\tl := lang[id<<2:]\n\tif l[3] == 0 {\n\t\treturn copy(b, l[:3])\n\t}\n\treturn copy(b, l[:2])\n}\n\n// String returns the BCP 47 representation of the langID.\n// Use b as variable name, instead of id, to ensure the variable\n// used is consistent with that of Base in which this type is embedded.\nfunc (b langID) String() string {\n\tif b == 0 {\n\t\treturn \"und\"\n\t} else if b >= langNoIndexOffset {\n\t\tb -= langNoIndexOffset\n\t\tbuf := [3]byte{}\n\t\tintToStr(uint(b), buf[:])\n\t\treturn string(buf[:])\n\t}\n\tl := lang.Elem(int(b))\n\tif l[3] == 0 {\n\t\treturn l[:3]\n\t}\n\treturn l[:2]\n}\n\n// ISO3 returns the ISO 639-3 language code.\nfunc (b langID) ISO3() string {\n\tif b == 0 || b >= langNoIndexOffset {\n\t\treturn b.String()\n\t}\n\tl := lang.Elem(int(b))\n\tif l[3] == 0 {\n\t\treturn l[:3]\n\t} else if l[2] == 0 {\n\t\treturn altLangISO3.Elem(int(l[3]))[:3]\n\t}\n\t// This allocation will only happen for 3-letter ISO codes\n\t// that are non-canonical BCP 47 language identifiers.\n\treturn l[0:1] + l[2:4]\n}\n\n// IsPrivateUse reports whether this language code is reserved for private use.\nfunc (b langID) IsPrivateUse() bool {\n\treturn langPrivateStart <= b && b <= langPrivateEnd\n}\n\ntype regionID uint16\n\n// getRegionID returns the region id for s if s is a valid 2-letter region code\n// or unknownRegion.\nfunc getRegionID(s []byte) (regionID, error) {\n\tif len(s) == 3 {\n\t\tif isAlpha(s[0]) {\n\t\t\treturn getRegionISO3(s)\n\t\t}\n\t\tif i, err := strconv.ParseUint(string(s), 10, 10); err == nil {\n\t\t\treturn getRegionM49(int(i))\n\t\t}\n\t}\n\treturn getRegionISO2(s)\n}\n\n// getRegionISO2 returns the regionID for the given 2-letter ISO country code\n// or unknownRegion if this does not exist.\nfunc getRegionISO2(s []byte) (regionID, error) {\n\ti, err := findIndex(regionISO, s, \"ZZ\")\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn regionID(i) + isoRegionOffset, nil\n}\n\n// getRegionISO3 returns the regionID for the given 3-letter ISO country code\n// or unknownRegion if this does not exist.\nfunc getRegionISO3(s []byte) (regionID, error) {\n\tif tag.FixCase(\"ZZZ\", s) {\n\t\tfor i := regionISO.Index(s[:1]); i != -1; i = regionISO.Next(s[:1], i) {\n\t\t\tif e := regionISO.Elem(i); e[2] == s[1] && e[3] == s[2] {\n\t\t\t\treturn regionID(i) + isoRegionOffset, nil\n\t\t\t}\n\t\t}\n\t\tfor i := 0; i < len(altRegionISO3); i += 3 {\n\t\t\tif tag.Compare(altRegionISO3[i:i+3], s) == 0 {\n\t\t\t\treturn regionID(altRegionIDs[i/3]), nil\n\t\t\t}\n\t\t}\n\t\treturn 0, mkErrInvalid(s)\n\t}\n\treturn 0, errSyntax\n}\n\nfunc getRegionM49(n int) (regionID, error) {\n\tif 0 < n && n <= 999 {\n\t\tconst (\n\t\t\tsearchBits = 7\n\t\t\tregionBits = 9\n\t\t\tregionMask = 1<<regionBits - 1\n\t\t)\n\t\tidx := n >> searchBits\n\t\tbuf := fromM49[m49Index[idx]:m49Index[idx+1]]\n\t\tval := uint16(n) << regionBits // we rely on bits shifting out\n\t\ti := sort.Search(len(buf), func(i int) bool {\n\t\t\treturn buf[i] >= val\n\t\t})\n\t\tif r := fromM49[int(m49Index[idx])+i]; r&^regionMask == val {\n\t\t\treturn regionID(r & regionMask), nil\n\t\t}\n\t}\n\tvar e ValueError\n\tfmt.Fprint(bytes.NewBuffer([]byte(e.v[:])), n)\n\treturn 0, e\n}\n\n// normRegion returns a region if r is deprecated or 0 otherwise.\n// TODO: consider supporting BYS (-> BLR), CSK (-> 200 or CZ), PHI (-> PHL) and AFI (-> DJ).\n// TODO: consider mapping split up regions to new most populous one (like CLDR).\nfunc normRegion(r regionID) regionID {\n\tm := regionOldMap\n\tk := sort.Search(len(m), func(i int) bool {\n\t\treturn m[i].from >= uint16(r)\n\t})\n\tif k < len(m) && m[k].from == uint16(r) {\n\t\treturn regionID(m[k].to)\n\t}\n\treturn 0\n}\n\nconst (\n\tiso3166UserAssigned = 1 << iota\n\tccTLD\n\tbcp47Region\n)\n\nfunc (r regionID) typ() byte {\n\treturn regionTypes[r]\n}\n\n// String returns the BCP 47 representation for the region.\n// It returns \"ZZ\" for an unspecified region.\nfunc (r regionID) String() string {\n\tif r < isoRegionOffset {\n\t\tif r == 0 {\n\t\t\treturn \"ZZ\"\n\t\t}\n\t\treturn fmt.Sprintf(\"%03d\", r.M49())\n\t}\n\tr -= isoRegionOffset\n\treturn regionISO.Elem(int(r))[:2]\n}\n\n// ISO3 returns the 3-letter ISO code of r.\n// Note that not all regions have a 3-letter ISO code.\n// In such cases this method returns \"ZZZ\".\nfunc (r regionID) ISO3() string {\n\tif r < isoRegionOffset {\n\t\treturn \"ZZZ\"\n\t}\n\tr -= isoRegionOffset\n\treg := regionISO.Elem(int(r))\n\tswitch reg[2] {\n\tcase 0:\n\t\treturn altRegionISO3[reg[3]:][:3]\n\tcase ' ':\n\t\treturn \"ZZZ\"\n\t}\n\treturn reg[0:1] + reg[2:4]\n}\n\n// M49 returns the UN M.49 encoding of r, or 0 if this encoding\n// is not defined for r.\nfunc (r regionID) M49() int {\n\treturn int(m49[r])\n}\n\n// IsPrivateUse reports whether r has the ISO 3166 User-assigned status. This\n// may include private-use tags that are assigned by CLDR and used in this\n// implementation. So IsPrivateUse and IsCountry can be simultaneously true.\nfunc (r regionID) IsPrivateUse() bool {\n\treturn r.typ()&iso3166UserAssigned != 0\n}\n\ntype scriptID uint8\n\n// getScriptID returns the script id for string s. It assumes that s\n// is of the format [A-Z][a-z]{3}.\nfunc getScriptID(idx tag.Index, s []byte) (scriptID, error) {\n\ti, err := findIndex(idx, s, \"Zzzz\")\n\treturn scriptID(i), err\n}\n\n// String returns the script code in title case.\n// It returns \"Zzzz\" for an unspecified script.\nfunc (s scriptID) String() string {\n\tif s == 0 {\n\t\treturn \"Zzzz\"\n\t}\n\treturn script.Elem(int(s))\n}\n\n// IsPrivateUse reports whether this script code is reserved for private use.\nfunc (s scriptID) IsPrivateUse() bool {\n\treturn _Qaaa <= s && s <= _Qabx\n}\n\nconst (\n\tmaxAltTaglen = len(\"en-US-POSIX\")\n\tmaxLen       = maxAltTaglen\n)\n\nvar (\n\t// grandfatheredMap holds a mapping from legacy and grandfathered tags to\n\t// their base language or index to more elaborate tag.\n\tgrandfatheredMap = map[[maxLen]byte]int16{\n\t\t[maxLen]byte{'a', 'r', 't', '-', 'l', 'o', 'j', 'b', 'a', 'n'}: _jbo, // art-lojban\n\t\t[maxLen]byte{'i', '-', 'a', 'm', 'i'}:                          _ami, // i-ami\n\t\t[maxLen]byte{'i', '-', 'b', 'n', 'n'}:                          _bnn, // i-bnn\n\t\t[maxLen]byte{'i', '-', 'h', 'a', 'k'}:                          _hak, // i-hak\n\t\t[maxLen]byte{'i', '-', 'k', 'l', 'i', 'n', 'g', 'o', 'n'}:      _tlh, // i-klingon\n\t\t[maxLen]byte{'i', '-', 'l', 'u', 'x'}:                          _lb,  // i-lux\n\t\t[maxLen]byte{'i', '-', 'n', 'a', 'v', 'a', 'j', 'o'}:           _nv,  // i-navajo\n\t\t[maxLen]byte{'i', '-', 'p', 'w', 'n'}:                          _pwn, // i-pwn\n\t\t[maxLen]byte{'i', '-', 't', 'a', 'o'}:                          _tao, // i-tao\n\t\t[maxLen]byte{'i', '-', 't', 'a', 'y'}:                          _tay, // i-tay\n\t\t[maxLen]byte{'i', '-', 't', 's', 'u'}:                          _tsu, // i-tsu\n\t\t[maxLen]byte{'n', 'o', '-', 'b', 'o', 'k'}:                     _nb,  // no-bok\n\t\t[maxLen]byte{'n', 'o', '-', 'n', 'y', 'n'}:                     _nn,  // no-nyn\n\t\t[maxLen]byte{'s', 'g', 'n', '-', 'b', 'e', '-', 'f', 'r'}:      _sfb, // sgn-BE-FR\n\t\t[maxLen]byte{'s', 'g', 'n', '-', 'b', 'e', '-', 'n', 'l'}:      _vgt, // sgn-BE-NL\n\t\t[maxLen]byte{'s', 'g', 'n', '-', 'c', 'h', '-', 'd', 'e'}:      _sgg, // sgn-CH-DE\n\t\t[maxLen]byte{'z', 'h', '-', 'g', 'u', 'o', 'y', 'u'}:           _cmn, // zh-guoyu\n\t\t[maxLen]byte{'z', 'h', '-', 'h', 'a', 'k', 'k', 'a'}:           _hak, // zh-hakka\n\t\t[maxLen]byte{'z', 'h', '-', 'm', 'i', 'n', '-', 'n', 'a', 'n'}: _nan, // zh-min-nan\n\t\t[maxLen]byte{'z', 'h', '-', 'x', 'i', 'a', 'n', 'g'}:           _hsn, // zh-xiang\n\n\t\t// Grandfathered tags with no modern replacement will be converted as\n\t\t// follows:\n\t\t[maxLen]byte{'c', 'e', 'l', '-', 'g', 'a', 'u', 'l', 'i', 's', 'h'}: -1, // cel-gaulish\n\t\t[maxLen]byte{'e', 'n', '-', 'g', 'b', '-', 'o', 'e', 'd'}:           -2, // en-GB-oed\n\t\t[maxLen]byte{'i', '-', 'd', 'e', 'f', 'a', 'u', 'l', 't'}:           -3, // i-default\n\t\t[maxLen]byte{'i', '-', 'e', 'n', 'o', 'c', 'h', 'i', 'a', 'n'}:      -4, // i-enochian\n\t\t[maxLen]byte{'i', '-', 'm', 'i', 'n', 'g', 'o'}:                     -5, // i-mingo\n\t\t[maxLen]byte{'z', 'h', '-', 'm', 'i', 'n'}:                          -6, // zh-min\n\n\t\t// CLDR-specific tag.\n\t\t[maxLen]byte{'r', 'o', 'o', 't'}:                                    0,  // root\n\t\t[maxLen]byte{'e', 'n', '-', 'u', 's', '-', 'p', 'o', 's', 'i', 'x'}: -7, // en_US_POSIX\"\n\t}\n\n\taltTagIndex = [...]uint8{0, 17, 31, 45, 61, 74, 86, 102}\n\n\taltTags = \"xtg-x-cel-gaulishen-GB-oxendicten-x-i-defaultund-x-i-enochiansee-x-i-mingonan-x-zh-minen-US-u-va-posix\"\n)\n\nfunc grandfathered(s [maxAltTaglen]byte) (t Tag, ok bool) {\n\tif v, ok := grandfatheredMap[s]; ok {\n\t\tif v < 0 {\n\t\t\treturn Make(altTags[altTagIndex[-v-1]:altTagIndex[-v]]), true\n\t\t}\n\t\tt.lang = langID(v)\n\t\treturn t, true\n\t}\n\treturn t, false\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/match.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage language\n\nimport \"errors\"\n\n// A MatchOption configures a Matcher.\ntype MatchOption func(*matcher)\n\n// PreferSameScript will, in the absence of a match, result in the first\n// preferred tag with the same script as a supported tag to match this supported\n// tag. The default is currently true, but this may change in the future.\nfunc PreferSameScript(preferSame bool) MatchOption {\n\treturn func(m *matcher) { m.preferSameScript = preferSame }\n}\n\n// TODO(v1.0.0): consider making Matcher a concrete type, instead of interface.\n// There doesn't seem to be too much need for multiple types.\n// Making it a concrete type allows MatchStrings to be a method, which will\n// improve its discoverability.\n\n// MatchStrings parses and matches the given strings until one of them matches\n// the language in the Matcher. A string may be an Accept-Language header as\n// handled by ParseAcceptLanguage. The default language is returned if no\n// other language matched.\nfunc MatchStrings(m Matcher, lang ...string) (tag Tag, index int) {\n\tfor _, accept := range lang {\n\t\tdesired, _, err := ParseAcceptLanguage(accept)\n\t\tif err != nil {\n\t\t\tcontinue\n\t\t}\n\t\tif tag, index, conf := m.Match(desired...); conf != No {\n\t\t\treturn tag, index\n\t\t}\n\t}\n\ttag, index, _ = m.Match()\n\treturn\n}\n\n// Matcher is the interface that wraps the Match method.\n//\n// Match returns the best match for any of the given tags, along with\n// a unique index associated with the returned tag and a confidence\n// score.\ntype Matcher interface {\n\tMatch(t ...Tag) (tag Tag, index int, c Confidence)\n}\n\n// Comprehends reports the confidence score for a speaker of a given language\n// to being able to comprehend the written form of an alternative language.\nfunc Comprehends(speaker, alternative Tag) Confidence {\n\t_, _, c := NewMatcher([]Tag{alternative}).Match(speaker)\n\treturn c\n}\n\n// NewMatcher returns a Matcher that matches an ordered list of preferred tags\n// against a list of supported tags based on written intelligibility, closeness\n// of dialect, equivalence of subtags and various other rules. It is initialized\n// with the list of supported tags. The first element is used as the default\n// value in case no match is found.\n//\n// Its Match method matches the first of the given Tags to reach a certain\n// confidence threshold. The tags passed to Match should therefore be specified\n// in order of preference. Extensions are ignored for matching.\n//\n// The index returned by the Match method corresponds to the index of the\n// matched tag in t, but is augmented with the Unicode extension ('u')of the\n// corresponding preferred tag. This allows user locale options to be passed\n// transparently.\nfunc NewMatcher(t []Tag, options ...MatchOption) Matcher {\n\treturn newMatcher(t, options)\n}\n\nfunc (m *matcher) Match(want ...Tag) (t Tag, index int, c Confidence) {\n\tmatch, w, c := m.getBest(want...)\n\tif match != nil {\n\t\tt, index = match.tag, match.index\n\t} else {\n\t\t// TODO: this should be an option\n\t\tt = m.default_.tag\n\t\tif m.preferSameScript {\n\t\touter:\n\t\t\tfor _, w := range want {\n\t\t\t\tscript, _ := w.Script()\n\t\t\t\tif script.scriptID == 0 {\n\t\t\t\t\t// Don't do anything if there is no script, such as with\n\t\t\t\t\t// private subtags.\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfor i, h := range m.supported {\n\t\t\t\t\tif script.scriptID == h.maxScript {\n\t\t\t\t\t\tt, index = h.tag, i\n\t\t\t\t\t\tbreak outer\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// TODO: select first language tag based on script.\n\t}\n\tif w.region != 0 && t.region != 0 && t.region.contains(w.region) {\n\t\tt, _ = Raw.Compose(t, Region{w.region})\n\t}\n\t// Copy options from the user-provided tag into the result tag. This is hard\n\t// to do after the fact, so we do it here.\n\t// TODO: add in alternative variants to -u-va-.\n\t// TODO: add preferred region to -u-rg-.\n\tif e := w.Extensions(); len(e) > 0 {\n\t\tt, _ = Raw.Compose(t, e)\n\t}\n\treturn t, index, c\n}\n\ntype scriptRegionFlags uint8\n\nconst (\n\tisList = 1 << iota\n\tscriptInFrom\n\tregionInFrom\n)\n\nfunc (t *Tag) setUndefinedLang(id langID) {\n\tif t.lang == 0 {\n\t\tt.lang = id\n\t}\n}\n\nfunc (t *Tag) setUndefinedScript(id scriptID) {\n\tif t.script == 0 {\n\t\tt.script = id\n\t}\n}\n\nfunc (t *Tag) setUndefinedRegion(id regionID) {\n\tif t.region == 0 || t.region.contains(id) {\n\t\tt.region = id\n\t}\n}\n\n// ErrMissingLikelyTagsData indicates no information was available\n// to compute likely values of missing tags.\nvar ErrMissingLikelyTagsData = errors.New(\"missing likely tags data\")\n\n// addLikelySubtags sets subtags to their most likely value, given the locale.\n// In most cases this means setting fields for unknown values, but in some\n// cases it may alter a value.  It returns an ErrMissingLikelyTagsData error\n// if the given locale cannot be expanded.\nfunc (t Tag) addLikelySubtags() (Tag, error) {\n\tid, err := addTags(t)\n\tif err != nil {\n\t\treturn t, err\n\t} else if id.equalTags(t) {\n\t\treturn t, nil\n\t}\n\tid.remakeString()\n\treturn id, nil\n}\n\n// specializeRegion attempts to specialize a group region.\nfunc specializeRegion(t *Tag) bool {\n\tif i := regionInclusion[t.region]; i < nRegionGroups {\n\t\tx := likelyRegionGroup[i]\n\t\tif langID(x.lang) == t.lang && scriptID(x.script) == t.script {\n\t\t\tt.region = regionID(x.region)\n\t\t}\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc addTags(t Tag) (Tag, error) {\n\t// We leave private use identifiers alone.\n\tif t.private() {\n\t\treturn t, nil\n\t}\n\tif t.script != 0 && t.region != 0 {\n\t\tif t.lang != 0 {\n\t\t\t// already fully specified\n\t\t\tspecializeRegion(&t)\n\t\t\treturn t, nil\n\t\t}\n\t\t// Search matches for und-script-region. Note that for these cases\n\t\t// region will never be a group so there is no need to check for this.\n\t\tlist := likelyRegion[t.region : t.region+1]\n\t\tif x := list[0]; x.flags&isList != 0 {\n\t\t\tlist = likelyRegionList[x.lang : x.lang+uint16(x.script)]\n\t\t}\n\t\tfor _, x := range list {\n\t\t\t// Deviating from the spec. See match_test.go for details.\n\t\t\tif scriptID(x.script) == t.script {\n\t\t\t\tt.setUndefinedLang(langID(x.lang))\n\t\t\t\treturn t, nil\n\t\t\t}\n\t\t}\n\t}\n\tif t.lang != 0 {\n\t\t// Search matches for lang-script and lang-region, where lang != und.\n\t\tif t.lang < langNoIndexOffset {\n\t\t\tx := likelyLang[t.lang]\n\t\t\tif x.flags&isList != 0 {\n\t\t\t\tlist := likelyLangList[x.region : x.region+uint16(x.script)]\n\t\t\t\tif t.script != 0 {\n\t\t\t\t\tfor _, x := range list {\n\t\t\t\t\t\tif scriptID(x.script) == t.script && x.flags&scriptInFrom != 0 {\n\t\t\t\t\t\t\tt.setUndefinedRegion(regionID(x.region))\n\t\t\t\t\t\t\treturn t, nil\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if t.region != 0 {\n\t\t\t\t\tcount := 0\n\t\t\t\t\tgoodScript := true\n\t\t\t\t\ttt := t\n\t\t\t\t\tfor _, x := range list {\n\t\t\t\t\t\t// We visit all entries for which the script was not\n\t\t\t\t\t\t// defined, including the ones where the region was not\n\t\t\t\t\t\t// defined. This allows for proper disambiguation within\n\t\t\t\t\t\t// regions.\n\t\t\t\t\t\tif x.flags&scriptInFrom == 0 && t.region.contains(regionID(x.region)) {\n\t\t\t\t\t\t\ttt.region = regionID(x.region)\n\t\t\t\t\t\t\ttt.setUndefinedScript(scriptID(x.script))\n\t\t\t\t\t\t\tgoodScript = goodScript && tt.script == scriptID(x.script)\n\t\t\t\t\t\t\tcount++\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif count == 1 {\n\t\t\t\t\t\treturn tt, nil\n\t\t\t\t\t}\n\t\t\t\t\t// Even if we fail to find a unique Region, we might have\n\t\t\t\t\t// an unambiguous script.\n\t\t\t\t\tif goodScript {\n\t\t\t\t\t\tt.script = tt.script\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// Search matches for und-script.\n\t\tif t.script != 0 {\n\t\t\tx := likelyScript[t.script]\n\t\t\tif x.region != 0 {\n\t\t\t\tt.setUndefinedRegion(regionID(x.region))\n\t\t\t\tt.setUndefinedLang(langID(x.lang))\n\t\t\t\treturn t, nil\n\t\t\t}\n\t\t}\n\t\t// Search matches for und-region. If und-script-region exists, it would\n\t\t// have been found earlier.\n\t\tif t.region != 0 {\n\t\t\tif i := regionInclusion[t.region]; i < nRegionGroups {\n\t\t\t\tx := likelyRegionGroup[i]\n\t\t\t\tif x.region != 0 {\n\t\t\t\t\tt.setUndefinedLang(langID(x.lang))\n\t\t\t\t\tt.setUndefinedScript(scriptID(x.script))\n\t\t\t\t\tt.region = regionID(x.region)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tx := likelyRegion[t.region]\n\t\t\t\tif x.flags&isList != 0 {\n\t\t\t\t\tx = likelyRegionList[x.lang]\n\t\t\t\t}\n\t\t\t\tif x.script != 0 && x.flags != scriptInFrom {\n\t\t\t\t\tt.setUndefinedLang(langID(x.lang))\n\t\t\t\t\tt.setUndefinedScript(scriptID(x.script))\n\t\t\t\t\treturn t, nil\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Search matches for lang.\n\tif t.lang < langNoIndexOffset {\n\t\tx := likelyLang[t.lang]\n\t\tif x.flags&isList != 0 {\n\t\t\tx = likelyLangList[x.region]\n\t\t}\n\t\tif x.region != 0 {\n\t\t\tt.setUndefinedScript(scriptID(x.script))\n\t\t\tt.setUndefinedRegion(regionID(x.region))\n\t\t}\n\t\tspecializeRegion(&t)\n\t\tif t.lang == 0 {\n\t\t\tt.lang = _en // default language\n\t\t}\n\t\treturn t, nil\n\t}\n\treturn t, ErrMissingLikelyTagsData\n}\n\nfunc (t *Tag) setTagsFrom(id Tag) {\n\tt.lang = id.lang\n\tt.script = id.script\n\tt.region = id.region\n}\n\n// minimize removes the region or script subtags from t such that\n// t.addLikelySubtags() == t.minimize().addLikelySubtags().\nfunc (t Tag) minimize() (Tag, error) {\n\tt, err := minimizeTags(t)\n\tif err != nil {\n\t\treturn t, err\n\t}\n\tt.remakeString()\n\treturn t, nil\n}\n\n// minimizeTags mimics the behavior of the ICU 51 C implementation.\nfunc minimizeTags(t Tag) (Tag, error) {\n\tif t.equalTags(und) {\n\t\treturn t, nil\n\t}\n\tmax, err := addTags(t)\n\tif err != nil {\n\t\treturn t, err\n\t}\n\tfor _, id := range [...]Tag{\n\t\t{lang: t.lang},\n\t\t{lang: t.lang, region: t.region},\n\t\t{lang: t.lang, script: t.script},\n\t} {\n\t\tif x, err := addTags(id); err == nil && max.equalTags(x) {\n\t\t\tt.setTagsFrom(id)\n\t\t\tbreak\n\t\t}\n\t}\n\treturn t, nil\n}\n\n// Tag Matching\n// CLDR defines an algorithm for finding the best match between two sets of language\n// tags. The basic algorithm defines how to score a possible match and then find\n// the match with the best score\n// (see http://www.unicode.org/reports/tr35/#LanguageMatching).\n// Using scoring has several disadvantages. The scoring obfuscates the importance of\n// the various factors considered, making the algorithm harder to understand. Using\n// scoring also requires the full score to be computed for each pair of tags.\n//\n// We will use a different algorithm which aims to have the following properties:\n// - clarity on the precedence of the various selection factors, and\n// - improved performance by allowing early termination of a comparison.\n//\n// Matching algorithm (overview)\n// Input:\n//   - supported: a set of supported tags\n//   - default:   the default tag to return in case there is no match\n//   - desired:   list of desired tags, ordered by preference, starting with\n//                the most-preferred.\n//\n// Algorithm:\n//   1) Set the best match to the lowest confidence level\n//   2) For each tag in \"desired\":\n//     a) For each tag in \"supported\":\n//        1) compute the match between the two tags.\n//        2) if the match is better than the previous best match, replace it\n//           with the new match. (see next section)\n//     b) if the current best match is Exact and pin is true the result will be\n//        frozen to the language found thusfar, although better matches may\n//        still be found for the same language.\n//   3) If the best match so far is below a certain threshold, return \"default\".\n//\n// Ranking:\n// We use two phases to determine whether one pair of tags are a better match\n// than another pair of tags. First, we determine a rough confidence level. If the\n// levels are different, the one with the highest confidence wins.\n// Second, if the rough confidence levels are identical, we use a set of tie-breaker\n// rules.\n//\n// The confidence level of matching a pair of tags is determined by finding the\n// lowest confidence level of any matches of the corresponding subtags (the\n// result is deemed as good as its weakest link).\n// We define the following levels:\n//   Exact    - An exact match of a subtag, before adding likely subtags.\n//   MaxExact - An exact match of a subtag, after adding likely subtags.\n//              [See Note 2].\n//   High     - High level of mutual intelligibility between different subtag\n//              variants.\n//   Low      - Low level of mutual intelligibility between different subtag\n//              variants.\n//   No       - No mutual intelligibility.\n//\n// The following levels can occur for each type of subtag:\n//   Base:    Exact, MaxExact, High, Low, No\n//   Script:  Exact, MaxExact [see Note 3], Low, No\n//   Region:  Exact, MaxExact, High\n//   Variant: Exact, High\n//   Private: Exact, No\n//\n// Any result with a confidence level of Low or higher is deemed a possible match.\n// Once a desired tag matches any of the supported tags with a level of MaxExact\n// or higher, the next desired tag is not considered (see Step 2.b).\n// Note that CLDR provides languageMatching data that defines close equivalence\n// classes for base languages, scripts and regions.\n//\n// Tie-breaking\n// If we get the same confidence level for two matches, we apply a sequence of\n// tie-breaking rules. The first that succeeds defines the result. The rules are\n// applied in the following order.\n//   1) Original language was defined and was identical.\n//   2) Original region was defined and was identical.\n//   3) Distance between two maximized regions was the smallest.\n//   4) Original script was defined and was identical.\n//   5) Distance from want tag to have tag using the parent relation [see Note 5.]\n// If there is still no winner after these rules are applied, the first match\n// found wins.\n//\n// Notes:\n// [2] In practice, as matching of Exact is done in a separate phase from\n//     matching the other levels, we reuse the Exact level to mean MaxExact in\n//     the second phase. As a consequence, we only need the levels defined by\n//     the Confidence type. The MaxExact confidence level is mapped to High in\n//     the public API.\n// [3] We do not differentiate between maximized script values that were derived\n//     from suppressScript versus most likely tag data. We determined that in\n//     ranking the two, one ranks just after the other. Moreover, the two cannot\n//     occur concurrently. As a consequence, they are identical for practical\n//     purposes.\n// [4] In case of deprecated, macro-equivalents and legacy mappings, we assign\n//     the MaxExact level to allow iw vs he to still be a closer match than\n//     en-AU vs en-US, for example.\n// [5] In CLDR a locale inherits fields that are unspecified for this locale\n//     from its parent. Therefore, if a locale is a parent of another locale,\n//     it is a strong measure for closeness, especially when no other tie\n//     breaker rule applies. One could also argue it is inconsistent, for\n//     example, when pt-AO matches pt (which CLDR equates with pt-BR), even\n//     though its parent is pt-PT according to the inheritance rules.\n//\n// Implementation Details:\n// There are several performance considerations worth pointing out. Most notably,\n// we preprocess as much as possible (within reason) at the time of creation of a\n// matcher. This includes:\n//   - creating a per-language map, which includes data for the raw base language\n//     and its canonicalized variant (if applicable),\n//   - expanding entries for the equivalence classes defined in CLDR's\n//     languageMatch data.\n// The per-language map ensures that typically only a very small number of tags\n// need to be considered. The pre-expansion of canonicalized subtags and\n// equivalence classes reduces the amount of map lookups that need to be done at\n// runtime.\n\n// matcher keeps a set of supported language tags, indexed by language.\ntype matcher struct {\n\tdefault_         *haveTag\n\tsupported        []*haveTag\n\tindex            map[langID]*matchHeader\n\tpassSettings     bool\n\tpreferSameScript bool\n}\n\n// matchHeader has the lists of tags for exact matches and matches based on\n// maximized and canonicalized tags for a given language.\ntype matchHeader struct {\n\thaveTags []*haveTag\n\toriginal bool\n}\n\n// haveTag holds a supported Tag and its maximized script and region. The maximized\n// or canonicalized language is not stored as it is not needed during matching.\ntype haveTag struct {\n\ttag Tag\n\n\t// index of this tag in the original list of supported tags.\n\tindex int\n\n\t// conf is the maximum confidence that can result from matching this haveTag.\n\t// When conf < Exact this means it was inserted after applying a CLDR equivalence rule.\n\tconf Confidence\n\n\t// Maximized region and script.\n\tmaxRegion regionID\n\tmaxScript scriptID\n\n\t// altScript may be checked as an alternative match to maxScript. If altScript\n\t// matches, the confidence level for this match is Low. Theoretically there\n\t// could be multiple alternative scripts. This does not occur in practice.\n\taltScript scriptID\n\n\t// nextMax is the index of the next haveTag with the same maximized tags.\n\tnextMax uint16\n}\n\nfunc makeHaveTag(tag Tag, index int) (haveTag, langID) {\n\tmax := tag\n\tif tag.lang != 0 || tag.region != 0 || tag.script != 0 {\n\t\tmax, _ = max.canonicalize(All)\n\t\tmax, _ = addTags(max)\n\t\tmax.remakeString()\n\t}\n\treturn haveTag{tag, index, Exact, max.region, max.script, altScript(max.lang, max.script), 0}, max.lang\n}\n\n// altScript returns an alternative script that may match the given script with\n// a low confidence.  At the moment, the langMatch data allows for at most one\n// script to map to another and we rely on this to keep the code simple.\nfunc altScript(l langID, s scriptID) scriptID {\n\tfor _, alt := range matchScript {\n\t\t// TODO: also match cases where language is not the same.\n\t\tif (langID(alt.wantLang) == l || langID(alt.haveLang) == l) &&\n\t\t\tscriptID(alt.haveScript) == s {\n\t\t\treturn scriptID(alt.wantScript)\n\t\t}\n\t}\n\treturn 0\n}\n\n// addIfNew adds a haveTag to the list of tags only if it is a unique tag.\n// Tags that have the same maximized values are linked by index.\nfunc (h *matchHeader) addIfNew(n haveTag, exact bool) {\n\th.original = h.original || exact\n\t// Don't add new exact matches.\n\tfor _, v := range h.haveTags {\n\t\tif v.tag.equalsRest(n.tag) {\n\t\t\treturn\n\t\t}\n\t}\n\t// Allow duplicate maximized tags, but create a linked list to allow quickly\n\t// comparing the equivalents and bail out.\n\tfor i, v := range h.haveTags {\n\t\tif v.maxScript == n.maxScript &&\n\t\t\tv.maxRegion == n.maxRegion &&\n\t\t\tv.tag.variantOrPrivateTagStr() == n.tag.variantOrPrivateTagStr() {\n\t\t\tfor h.haveTags[i].nextMax != 0 {\n\t\t\t\ti = int(h.haveTags[i].nextMax)\n\t\t\t}\n\t\t\th.haveTags[i].nextMax = uint16(len(h.haveTags))\n\t\t\tbreak\n\t\t}\n\t}\n\th.haveTags = append(h.haveTags, &n)\n}\n\n// header returns the matchHeader for the given language. It creates one if\n// it doesn't already exist.\nfunc (m *matcher) header(l langID) *matchHeader {\n\tif h := m.index[l]; h != nil {\n\t\treturn h\n\t}\n\th := &matchHeader{}\n\tm.index[l] = h\n\treturn h\n}\n\nfunc toConf(d uint8) Confidence {\n\tif d <= 10 {\n\t\treturn High\n\t}\n\tif d < 30 {\n\t\treturn Low\n\t}\n\treturn No\n}\n\n// newMatcher builds an index for the given supported tags and returns it as\n// a matcher. It also expands the index by considering various equivalence classes\n// for a given tag.\nfunc newMatcher(supported []Tag, options []MatchOption) *matcher {\n\tm := &matcher{\n\t\tindex:            make(map[langID]*matchHeader),\n\t\tpreferSameScript: true,\n\t}\n\tfor _, o := range options {\n\t\to(m)\n\t}\n\tif len(supported) == 0 {\n\t\tm.default_ = &haveTag{}\n\t\treturn m\n\t}\n\t// Add supported languages to the index. Add exact matches first to give\n\t// them precedence.\n\tfor i, tag := range supported {\n\t\tpair, _ := makeHaveTag(tag, i)\n\t\tm.header(tag.lang).addIfNew(pair, true)\n\t\tm.supported = append(m.supported, &pair)\n\t}\n\tm.default_ = m.header(supported[0].lang).haveTags[0]\n\t// Keep these in two different loops to support the case that two equivalent\n\t// languages are distinguished, such as iw and he.\n\tfor i, tag := range supported {\n\t\tpair, max := makeHaveTag(tag, i)\n\t\tif max != tag.lang {\n\t\t\tm.header(max).addIfNew(pair, true)\n\t\t}\n\t}\n\n\t// update is used to add indexes in the map for equivalent languages.\n\t// update will only add entries to original indexes, thus not computing any\n\t// transitive relations.\n\tupdate := func(want, have uint16, conf Confidence) {\n\t\tif hh := m.index[langID(have)]; hh != nil {\n\t\t\tif !hh.original {\n\t\t\t\treturn\n\t\t\t}\n\t\t\thw := m.header(langID(want))\n\t\t\tfor _, ht := range hh.haveTags {\n\t\t\t\tv := *ht\n\t\t\t\tif conf < v.conf {\n\t\t\t\t\tv.conf = conf\n\t\t\t\t}\n\t\t\t\tv.nextMax = 0 // this value needs to be recomputed\n\t\t\t\tif v.altScript != 0 {\n\t\t\t\t\tv.altScript = altScript(langID(want), v.maxScript)\n\t\t\t\t}\n\t\t\t\thw.addIfNew(v, conf == Exact && hh.original)\n\t\t\t}\n\t\t}\n\t}\n\n\t// Add entries for languages with mutual intelligibility as defined by CLDR's\n\t// languageMatch data.\n\tfor _, ml := range matchLang {\n\t\tupdate(ml.want, ml.have, toConf(ml.distance))\n\t\tif !ml.oneway {\n\t\t\tupdate(ml.have, ml.want, toConf(ml.distance))\n\t\t}\n\t}\n\n\t// Add entries for possible canonicalizations. This is an optimization to\n\t// ensure that only one map lookup needs to be done at runtime per desired tag.\n\t// First we match deprecated equivalents. If they are perfect equivalents\n\t// (their canonicalization simply substitutes a different language code, but\n\t// nothing else), the match confidence is Exact, otherwise it is High.\n\tfor i, lm := range langAliasMap {\n\t\t// If deprecated codes match and there is no fiddling with the script or\n\t\t// or region, we consider it an exact match.\n\t\tconf := Exact\n\t\tif langAliasTypes[i] != langMacro {\n\t\t\tif !isExactEquivalent(langID(lm.from)) {\n\t\t\t\tconf = High\n\t\t\t}\n\t\t\tupdate(lm.to, lm.from, conf)\n\t\t}\n\t\tupdate(lm.from, lm.to, conf)\n\t}\n\treturn m\n}\n\n// getBest gets the best matching tag in m for any of the given tags, taking into\n// account the order of preference of the given tags.\nfunc (m *matcher) getBest(want ...Tag) (got *haveTag, orig Tag, c Confidence) {\n\tbest := bestMatch{}\n\tfor i, w := range want {\n\t\tvar max Tag\n\t\t// Check for exact match first.\n\t\th := m.index[w.lang]\n\t\tif w.lang != 0 {\n\t\t\tif h == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// Base language is defined.\n\t\t\tmax, _ = w.canonicalize(Legacy | Deprecated | Macro)\n\t\t\t// A region that is added through canonicalization is stronger than\n\t\t\t// a maximized region: set it in the original (e.g. mo -> ro-MD).\n\t\t\tif w.region != max.region {\n\t\t\t\tw.region = max.region\n\t\t\t}\n\t\t\t// TODO: should we do the same for scripts?\n\t\t\t// See test case: en, sr, nl ; sh ; sr\n\t\t\tmax, _ = addTags(max)\n\t\t} else {\n\t\t\t// Base language is not defined.\n\t\t\tif h != nil {\n\t\t\t\tfor i := range h.haveTags {\n\t\t\t\t\thave := h.haveTags[i]\n\t\t\t\t\tif have.tag.equalsRest(w) {\n\t\t\t\t\t\treturn have, w, Exact\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif w.script == 0 && w.region == 0 {\n\t\t\t\t// We skip all tags matching und for approximate matching, including\n\t\t\t\t// private tags.\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tmax, _ = addTags(w)\n\t\t\tif h = m.index[max.lang]; h == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tpin := true\n\t\tfor _, t := range want[i+1:] {\n\t\t\tif w.lang == t.lang {\n\t\t\t\tpin = false\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// Check for match based on maximized tag.\n\t\tfor i := range h.haveTags {\n\t\t\thave := h.haveTags[i]\n\t\t\tbest.update(have, w, max.script, max.region, pin)\n\t\t\tif best.conf == Exact {\n\t\t\t\tfor have.nextMax != 0 {\n\t\t\t\t\thave = h.haveTags[have.nextMax]\n\t\t\t\t\tbest.update(have, w, max.script, max.region, pin)\n\t\t\t\t}\n\t\t\t\treturn best.have, best.want, best.conf\n\t\t\t}\n\t\t}\n\t}\n\tif best.conf <= No {\n\t\tif len(want) != 0 {\n\t\t\treturn nil, want[0], No\n\t\t}\n\t\treturn nil, Tag{}, No\n\t}\n\treturn best.have, best.want, best.conf\n}\n\n// bestMatch accumulates the best match so far.\ntype bestMatch struct {\n\thave            *haveTag\n\twant            Tag\n\tconf            Confidence\n\tpinnedRegion    regionID\n\tpinLanguage     bool\n\tsameRegionGroup bool\n\t// Cached results from applying tie-breaking rules.\n\torigLang     bool\n\torigReg      bool\n\tparadigmReg  bool\n\tregGroupDist uint8\n\torigScript   bool\n}\n\n// update updates the existing best match if the new pair is considered to be a\n// better match. To determine if the given pair is a better match, it first\n// computes the rough confidence level. If this surpasses the current match, it\n// will replace it and update the tie-breaker rule cache. If there is a tie, it\n// proceeds with applying a series of tie-breaker rules. If there is no\n// conclusive winner after applying the tie-breaker rules, it leaves the current\n// match as the preferred match.\n//\n// If pin is true and have and tag are a strong match, it will henceforth only\n// consider matches for this language. This corresponds to the nothing that most\n// users have a strong preference for the first defined language. A user can\n// still prefer a second language over a dialect of the preferred language by\n// explicitly specifying dialects, e.g. \"en, nl, en-GB\". In this case pin should\n// be false.\nfunc (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion regionID, pin bool) {\n\t// Bail if the maximum attainable confidence is below that of the current best match.\n\tc := have.conf\n\tif c < m.conf {\n\t\treturn\n\t}\n\t// Don't change the language once we already have found an exact match.\n\tif m.pinLanguage && tag.lang != m.want.lang {\n\t\treturn\n\t}\n\t// Pin the region group if we are comparing tags for the same language.\n\tif tag.lang == m.want.lang && m.sameRegionGroup {\n\t\t_, sameGroup := regionGroupDist(m.pinnedRegion, have.maxRegion, have.maxScript, m.want.lang)\n\t\tif !sameGroup {\n\t\t\treturn\n\t\t}\n\t}\n\tif c == Exact && have.maxScript == maxScript {\n\t\t// If there is another language and then another entry of this language,\n\t\t// don't pin anything, otherwise pin the language.\n\t\tm.pinLanguage = pin\n\t}\n\tif have.tag.equalsRest(tag) {\n\t} else if have.maxScript != maxScript {\n\t\t// There is usually very little comprehension between different scripts.\n\t\t// In a few cases there may still be Low comprehension. This possibility\n\t\t// is pre-computed and stored in have.altScript.\n\t\tif Low < m.conf || have.altScript != maxScript {\n\t\t\treturn\n\t\t}\n\t\tc = Low\n\t} else if have.maxRegion != maxRegion {\n\t\tif High < c {\n\t\t\t// There is usually a small difference between languages across regions.\n\t\t\tc = High\n\t\t}\n\t}\n\n\t// We store the results of the computations of the tie-breaker rules along\n\t// with the best match. There is no need to do the checks once we determine\n\t// we have a winner, but we do still need to do the tie-breaker computations.\n\t// We use \"beaten\" to keep track if we still need to do the checks.\n\tbeaten := false // true if the new pair defeats the current one.\n\tif c != m.conf {\n\t\tif c < m.conf {\n\t\t\treturn\n\t\t}\n\t\tbeaten = true\n\t}\n\n\t// Tie-breaker rules:\n\t// We prefer if the pre-maximized language was specified and identical.\n\torigLang := have.tag.lang == tag.lang && tag.lang != 0\n\tif !beaten && m.origLang != origLang {\n\t\tif m.origLang {\n\t\t\treturn\n\t\t}\n\t\tbeaten = true\n\t}\n\n\t// We prefer if the pre-maximized region was specified and identical.\n\torigReg := have.tag.region == tag.region && tag.region != 0\n\tif !beaten && m.origReg != origReg {\n\t\tif m.origReg {\n\t\t\treturn\n\t\t}\n\t\tbeaten = true\n\t}\n\n\tregGroupDist, sameGroup := regionGroupDist(have.maxRegion, maxRegion, maxScript, tag.lang)\n\tif !beaten && m.regGroupDist != regGroupDist {\n\t\tif regGroupDist > m.regGroupDist {\n\t\t\treturn\n\t\t}\n\t\tbeaten = true\n\t}\n\n\tparadigmReg := isParadigmLocale(tag.lang, have.maxRegion)\n\tif !beaten && m.paradigmReg != paradigmReg {\n\t\tif !paradigmReg {\n\t\t\treturn\n\t\t}\n\t\tbeaten = true\n\t}\n\n\t// Next we prefer if the pre-maximized script was specified and identical.\n\torigScript := have.tag.script == tag.script && tag.script != 0\n\tif !beaten && m.origScript != origScript {\n\t\tif m.origScript {\n\t\t\treturn\n\t\t}\n\t\tbeaten = true\n\t}\n\n\t// Update m to the newly found best match.\n\tif beaten {\n\t\tm.have = have\n\t\tm.want = tag\n\t\tm.conf = c\n\t\tm.pinnedRegion = maxRegion\n\t\tm.sameRegionGroup = sameGroup\n\t\tm.origLang = origLang\n\t\tm.origReg = origReg\n\t\tm.paradigmReg = paradigmReg\n\t\tm.origScript = origScript\n\t\tm.regGroupDist = regGroupDist\n\t}\n}\n\nfunc isParadigmLocale(lang langID, r regionID) bool {\n\tfor _, e := range paradigmLocales {\n\t\tif langID(e[0]) == lang && (r == regionID(e[1]) || r == regionID(e[2])) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// regionGroupDist computes the distance between two regions based on their\n// CLDR grouping.\nfunc regionGroupDist(a, b regionID, script scriptID, lang langID) (dist uint8, same bool) {\n\tconst defaultDistance = 4\n\n\taGroup := uint(regionToGroups[a]) << 1\n\tbGroup := uint(regionToGroups[b]) << 1\n\tfor _, ri := range matchRegion {\n\t\tif langID(ri.lang) == lang && (ri.script == 0 || scriptID(ri.script) == script) {\n\t\t\tgroup := uint(1 << (ri.group &^ 0x80))\n\t\t\tif 0x80&ri.group == 0 {\n\t\t\t\tif aGroup&bGroup&group != 0 { // Both regions are in the group.\n\t\t\t\t\treturn ri.distance, ri.distance == defaultDistance\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (aGroup|bGroup)&group == 0 { // Both regions are not in the group.\n\t\t\t\t\treturn ri.distance, ri.distance == defaultDistance\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn defaultDistance, true\n}\n\nfunc (t Tag) variants() string {\n\tif t.pVariant == 0 {\n\t\treturn \"\"\n\t}\n\treturn t.str[t.pVariant:t.pExt]\n}\n\n// variantOrPrivateTagStr returns variants or private use tags.\nfunc (t Tag) variantOrPrivateTagStr() string {\n\tif t.pExt > 0 {\n\t\treturn t.str[t.pVariant:t.pExt]\n\t}\n\treturn t.str[t.pVariant:]\n}\n\n// equalsRest compares everything except the language.\nfunc (a Tag) equalsRest(b Tag) bool {\n\t// TODO: don't include extensions in this comparison. To do this efficiently,\n\t// though, we should handle private tags separately.\n\treturn a.script == b.script && a.region == b.region && a.variantOrPrivateTagStr() == b.variantOrPrivateTagStr()\n}\n\n// isExactEquivalent returns true if canonicalizing the language will not alter\n// the script or region of a tag.\nfunc isExactEquivalent(l langID) bool {\n\tfor _, o := range notEquivalent {\n\t\tif o == l {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nvar notEquivalent []langID\n\nfunc init() {\n\t// Create a list of all languages for which canonicalization may alter the\n\t// script or region.\n\tfor _, lm := range langAliasMap {\n\t\ttag := Tag{lang: langID(lm.from)}\n\t\tif tag, _ = tag.canonicalize(All); tag.script != 0 || tag.region != 0 {\n\t\t\tnotEquivalent = append(notEquivalent, langID(lm.from))\n\t\t}\n\t}\n\t// Maximize undefined regions of paradigm locales.\n\tfor i, v := range paradigmLocales {\n\t\tmax, _ := addTags(Tag{lang: langID(v[0])})\n\t\tif v[1] == 0 {\n\t\t\tparadigmLocales[i][1] = uint16(max.region)\n\t\t}\n\t\tif v[2] == 0 {\n\t\t\tparadigmLocales[i][2] = uint16(max.region)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/parse.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage language\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/tag\"\n)\n\n// isAlpha returns true if the byte is not a digit.\n// b must be an ASCII letter or digit.\nfunc isAlpha(b byte) bool {\n\treturn b > '9'\n}\n\n// isAlphaNum returns true if the string contains only ASCII letters or digits.\nfunc isAlphaNum(s []byte) bool {\n\tfor _, c := range s {\n\t\tif !('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9') {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// errSyntax is returned by any of the parsing functions when the\n// input is not well-formed, according to BCP 47.\n// TODO: return the position at which the syntax error occurred?\nvar errSyntax = errors.New(\"language: tag is not well-formed\")\n\n// ValueError is returned by any of the parsing functions when the\n// input is well-formed but the respective subtag is not recognized\n// as a valid value.\ntype ValueError struct {\n\tv [8]byte\n}\n\nfunc mkErrInvalid(s []byte) error {\n\tvar e ValueError\n\tcopy(e.v[:], s)\n\treturn e\n}\n\nfunc (e ValueError) tag() []byte {\n\tn := bytes.IndexByte(e.v[:], 0)\n\tif n == -1 {\n\t\tn = 8\n\t}\n\treturn e.v[:n]\n}\n\n// Error implements the error interface.\nfunc (e ValueError) Error() string {\n\treturn fmt.Sprintf(\"language: subtag %q is well-formed but unknown\", e.tag())\n}\n\n// Subtag returns the subtag for which the error occurred.\nfunc (e ValueError) Subtag() string {\n\treturn string(e.tag())\n}\n\n// scanner is used to scan BCP 47 tokens, which are separated by _ or -.\ntype scanner struct {\n\tb     []byte\n\tbytes [max99thPercentileSize]byte\n\ttoken []byte\n\tstart int // start position of the current token\n\tend   int // end position of the current token\n\tnext  int // next point for scan\n\terr   error\n\tdone  bool\n}\n\nfunc makeScannerString(s string) scanner {\n\tscan := scanner{}\n\tif len(s) <= len(scan.bytes) {\n\t\tscan.b = scan.bytes[:copy(scan.bytes[:], s)]\n\t} else {\n\t\tscan.b = []byte(s)\n\t}\n\tscan.init()\n\treturn scan\n}\n\n// makeScanner returns a scanner using b as the input buffer.\n// b is not copied and may be modified by the scanner routines.\nfunc makeScanner(b []byte) scanner {\n\tscan := scanner{b: b}\n\tscan.init()\n\treturn scan\n}\n\nfunc (s *scanner) init() {\n\tfor i, c := range s.b {\n\t\tif c == '_' {\n\t\t\ts.b[i] = '-'\n\t\t}\n\t}\n\ts.scan()\n}\n\n// restToLower converts the string between start and end to lower case.\nfunc (s *scanner) toLower(start, end int) {\n\tfor i := start; i < end; i++ {\n\t\tc := s.b[i]\n\t\tif 'A' <= c && c <= 'Z' {\n\t\t\ts.b[i] += 'a' - 'A'\n\t\t}\n\t}\n}\n\nfunc (s *scanner) setError(e error) {\n\tif s.err == nil || (e == errSyntax && s.err != errSyntax) {\n\t\ts.err = e\n\t}\n}\n\n// resizeRange shrinks or grows the array at position oldStart such that\n// a new string of size newSize can fit between oldStart and oldEnd.\n// Sets the scan point to after the resized range.\nfunc (s *scanner) resizeRange(oldStart, oldEnd, newSize int) {\n\ts.start = oldStart\n\tif end := oldStart + newSize; end != oldEnd {\n\t\tdiff := end - oldEnd\n\t\tif end < cap(s.b) {\n\t\t\tb := make([]byte, len(s.b)+diff)\n\t\t\tcopy(b, s.b[:oldStart])\n\t\t\tcopy(b[end:], s.b[oldEnd:])\n\t\t\ts.b = b\n\t\t} else {\n\t\t\ts.b = append(s.b[end:], s.b[oldEnd:]...)\n\t\t}\n\t\ts.next = end + (s.next - s.end)\n\t\ts.end = end\n\t}\n}\n\n// replace replaces the current token with repl.\nfunc (s *scanner) replace(repl string) {\n\ts.resizeRange(s.start, s.end, len(repl))\n\tcopy(s.b[s.start:], repl)\n}\n\n// gobble removes the current token from the input.\n// Caller must call scan after calling gobble.\nfunc (s *scanner) gobble(e error) {\n\ts.setError(e)\n\tif s.start == 0 {\n\t\ts.b = s.b[:+copy(s.b, s.b[s.next:])]\n\t\ts.end = 0\n\t} else {\n\t\ts.b = s.b[:s.start-1+copy(s.b[s.start-1:], s.b[s.end:])]\n\t\ts.end = s.start - 1\n\t}\n\ts.next = s.start\n}\n\n// deleteRange removes the given range from s.b before the current token.\nfunc (s *scanner) deleteRange(start, end int) {\n\ts.setError(errSyntax)\n\ts.b = s.b[:start+copy(s.b[start:], s.b[end:])]\n\tdiff := end - start\n\ts.next -= diff\n\ts.start -= diff\n\ts.end -= diff\n}\n\n// scan parses the next token of a BCP 47 string.  Tokens that are larger\n// than 8 characters or include non-alphanumeric characters result in an error\n// and are gobbled and removed from the output.\n// It returns the end position of the last token consumed.\nfunc (s *scanner) scan() (end int) {\n\tend = s.end\n\ts.token = nil\n\tfor s.start = s.next; s.next < len(s.b); {\n\t\ti := bytes.IndexByte(s.b[s.next:], '-')\n\t\tif i == -1 {\n\t\t\ts.end = len(s.b)\n\t\t\ts.next = len(s.b)\n\t\t\ti = s.end - s.start\n\t\t} else {\n\t\t\ts.end = s.next + i\n\t\t\ts.next = s.end + 1\n\t\t}\n\t\ttoken := s.b[s.start:s.end]\n\t\tif i < 1 || i > 8 || !isAlphaNum(token) {\n\t\t\ts.gobble(errSyntax)\n\t\t\tcontinue\n\t\t}\n\t\ts.token = token\n\t\treturn end\n\t}\n\tif n := len(s.b); n > 0 && s.b[n-1] == '-' {\n\t\ts.setError(errSyntax)\n\t\ts.b = s.b[:len(s.b)-1]\n\t}\n\ts.done = true\n\treturn end\n}\n\n// acceptMinSize parses multiple tokens of the given size or greater.\n// It returns the end position of the last token consumed.\nfunc (s *scanner) acceptMinSize(min int) (end int) {\n\tend = s.end\n\ts.scan()\n\tfor ; len(s.token) >= min; s.scan() {\n\t\tend = s.end\n\t}\n\treturn end\n}\n\n// Parse parses the given BCP 47 string and returns a valid Tag. If parsing\n// failed it returns an error and any part of the tag that could be parsed.\n// If parsing succeeded but an unknown value was found, it returns\n// ValueError. The Tag returned in this case is just stripped of the unknown\n// value. All other values are preserved. It accepts tags in the BCP 47 format\n// and extensions to this standard defined in\n// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.\n// The resulting tag is canonicalized using the default canonicalization type.\nfunc Parse(s string) (t Tag, err error) {\n\treturn Default.Parse(s)\n}\n\n// Parse parses the given BCP 47 string and returns a valid Tag. If parsing\n// failed it returns an error and any part of the tag that could be parsed.\n// If parsing succeeded but an unknown value was found, it returns\n// ValueError. The Tag returned in this case is just stripped of the unknown\n// value. All other values are preserved. It accepts tags in the BCP 47 format\n// and extensions to this standard defined in\n// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.\n// The resulting tag is canonicalized using the the canonicalization type c.\nfunc (c CanonType) Parse(s string) (t Tag, err error) {\n\t// TODO: consider supporting old-style locale key-value pairs.\n\tif s == \"\" {\n\t\treturn und, errSyntax\n\t}\n\tif len(s) <= maxAltTaglen {\n\t\tb := [maxAltTaglen]byte{}\n\t\tfor i, c := range s {\n\t\t\t// Generating invalid UTF-8 is okay as it won't match.\n\t\t\tif 'A' <= c && c <= 'Z' {\n\t\t\t\tc += 'a' - 'A'\n\t\t\t} else if c == '_' {\n\t\t\t\tc = '-'\n\t\t\t}\n\t\t\tb[i] = byte(c)\n\t\t}\n\t\tif t, ok := grandfathered(b); ok {\n\t\t\treturn t, nil\n\t\t}\n\t}\n\tscan := makeScannerString(s)\n\tt, err = parse(&scan, s)\n\tt, changed := t.canonicalize(c)\n\tif changed {\n\t\tt.remakeString()\n\t}\n\treturn t, err\n}\n\nfunc parse(scan *scanner, s string) (t Tag, err error) {\n\tt = und\n\tvar end int\n\tif n := len(scan.token); n <= 1 {\n\t\tscan.toLower(0, len(scan.b))\n\t\tif n == 0 || scan.token[0] != 'x' {\n\t\t\treturn t, errSyntax\n\t\t}\n\t\tend = parseExtensions(scan)\n\t} else if n >= 4 {\n\t\treturn und, errSyntax\n\t} else { // the usual case\n\t\tt, end = parseTag(scan)\n\t\tif n := len(scan.token); n == 1 {\n\t\t\tt.pExt = uint16(end)\n\t\t\tend = parseExtensions(scan)\n\t\t} else if end < len(scan.b) {\n\t\t\tscan.setError(errSyntax)\n\t\t\tscan.b = scan.b[:end]\n\t\t}\n\t}\n\tif int(t.pVariant) < len(scan.b) {\n\t\tif end < len(s) {\n\t\t\ts = s[:end]\n\t\t}\n\t\tif len(s) > 0 && tag.Compare(s, scan.b) == 0 {\n\t\t\tt.str = s\n\t\t} else {\n\t\t\tt.str = string(scan.b)\n\t\t}\n\t} else {\n\t\tt.pVariant, t.pExt = 0, 0\n\t}\n\treturn t, scan.err\n}\n\n// parseTag parses language, script, region and variants.\n// It returns a Tag and the end position in the input that was parsed.\nfunc parseTag(scan *scanner) (t Tag, end int) {\n\tvar e error\n\t// TODO: set an error if an unknown lang, script or region is encountered.\n\tt.lang, e = getLangID(scan.token)\n\tscan.setError(e)\n\tscan.replace(t.lang.String())\n\tlangStart := scan.start\n\tend = scan.scan()\n\tfor len(scan.token) == 3 && isAlpha(scan.token[0]) {\n\t\t// From http://tools.ietf.org/html/bcp47, <lang>-<extlang> tags are equivalent\n\t\t// to a tag of the form <extlang>.\n\t\tlang, e := getLangID(scan.token)\n\t\tif lang != 0 {\n\t\t\tt.lang = lang\n\t\t\tcopy(scan.b[langStart:], lang.String())\n\t\t\tscan.b[langStart+3] = '-'\n\t\t\tscan.start = langStart + 4\n\t\t}\n\t\tscan.gobble(e)\n\t\tend = scan.scan()\n\t}\n\tif len(scan.token) == 4 && isAlpha(scan.token[0]) {\n\t\tt.script, e = getScriptID(script, scan.token)\n\t\tif t.script == 0 {\n\t\t\tscan.gobble(e)\n\t\t}\n\t\tend = scan.scan()\n\t}\n\tif n := len(scan.token); n >= 2 && n <= 3 {\n\t\tt.region, e = getRegionID(scan.token)\n\t\tif t.region == 0 {\n\t\t\tscan.gobble(e)\n\t\t} else {\n\t\t\tscan.replace(t.region.String())\n\t\t}\n\t\tend = scan.scan()\n\t}\n\tscan.toLower(scan.start, len(scan.b))\n\tt.pVariant = byte(end)\n\tend = parseVariants(scan, end, t)\n\tt.pExt = uint16(end)\n\treturn t, end\n}\n\nvar separator = []byte{'-'}\n\n// parseVariants scans tokens as long as each token is a valid variant string.\n// Duplicate variants are removed.\nfunc parseVariants(scan *scanner, end int, t Tag) int {\n\tstart := scan.start\n\tvarIDBuf := [4]uint8{}\n\tvariantBuf := [4][]byte{}\n\tvarID := varIDBuf[:0]\n\tvariant := variantBuf[:0]\n\tlast := -1\n\tneedSort := false\n\tfor ; len(scan.token) >= 4; scan.scan() {\n\t\t// TODO: measure the impact of needing this conversion and redesign\n\t\t// the data structure if there is an issue.\n\t\tv, ok := variantIndex[string(scan.token)]\n\t\tif !ok {\n\t\t\t// unknown variant\n\t\t\t// TODO: allow user-defined variants?\n\t\t\tscan.gobble(mkErrInvalid(scan.token))\n\t\t\tcontinue\n\t\t}\n\t\tvarID = append(varID, v)\n\t\tvariant = append(variant, scan.token)\n\t\tif !needSort {\n\t\t\tif last < int(v) {\n\t\t\t\tlast = int(v)\n\t\t\t} else {\n\t\t\t\tneedSort = true\n\t\t\t\t// There is no legal combinations of more than 7 variants\n\t\t\t\t// (and this is by no means a useful sequence).\n\t\t\t\tconst maxVariants = 8\n\t\t\t\tif len(varID) > maxVariants {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tend = scan.end\n\t}\n\tif needSort {\n\t\tsort.Sort(variantsSort{varID, variant})\n\t\tk, l := 0, -1\n\t\tfor i, v := range varID {\n\t\t\tw := int(v)\n\t\t\tif l == w {\n\t\t\t\t// Remove duplicates.\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tvarID[k] = varID[i]\n\t\t\tvariant[k] = variant[i]\n\t\t\tk++\n\t\t\tl = w\n\t\t}\n\t\tif str := bytes.Join(variant[:k], separator); len(str) == 0 {\n\t\t\tend = start - 1\n\t\t} else {\n\t\t\tscan.resizeRange(start, end, len(str))\n\t\t\tcopy(scan.b[scan.start:], str)\n\t\t\tend = scan.end\n\t\t}\n\t}\n\treturn end\n}\n\ntype variantsSort struct {\n\ti []uint8\n\tv [][]byte\n}\n\nfunc (s variantsSort) Len() int {\n\treturn len(s.i)\n}\n\nfunc (s variantsSort) Swap(i, j int) {\n\ts.i[i], s.i[j] = s.i[j], s.i[i]\n\ts.v[i], s.v[j] = s.v[j], s.v[i]\n}\n\nfunc (s variantsSort) Less(i, j int) bool {\n\treturn s.i[i] < s.i[j]\n}\n\ntype bytesSort [][]byte\n\nfunc (b bytesSort) Len() int {\n\treturn len(b)\n}\n\nfunc (b bytesSort) Swap(i, j int) {\n\tb[i], b[j] = b[j], b[i]\n}\n\nfunc (b bytesSort) Less(i, j int) bool {\n\treturn bytes.Compare(b[i], b[j]) == -1\n}\n\n// parseExtensions parses and normalizes the extensions in the buffer.\n// It returns the last position of scan.b that is part of any extension.\n// It also trims scan.b to remove excess parts accordingly.\nfunc parseExtensions(scan *scanner) int {\n\tstart := scan.start\n\texts := [][]byte{}\n\tprivate := []byte{}\n\tend := scan.end\n\tfor len(scan.token) == 1 {\n\t\textStart := scan.start\n\t\text := scan.token[0]\n\t\tend = parseExtension(scan)\n\t\textension := scan.b[extStart:end]\n\t\tif len(extension) < 3 || (ext != 'x' && len(extension) < 4) {\n\t\t\tscan.setError(errSyntax)\n\t\t\tend = extStart\n\t\t\tcontinue\n\t\t} else if start == extStart && (ext == 'x' || scan.start == len(scan.b)) {\n\t\t\tscan.b = scan.b[:end]\n\t\t\treturn end\n\t\t} else if ext == 'x' {\n\t\t\tprivate = extension\n\t\t\tbreak\n\t\t}\n\t\texts = append(exts, extension)\n\t}\n\tsort.Sort(bytesSort(exts))\n\tif len(private) > 0 {\n\t\texts = append(exts, private)\n\t}\n\tscan.b = scan.b[:start]\n\tif len(exts) > 0 {\n\t\tscan.b = append(scan.b, bytes.Join(exts, separator)...)\n\t} else if start > 0 {\n\t\t// Strip trailing '-'.\n\t\tscan.b = scan.b[:start-1]\n\t}\n\treturn end\n}\n\n// parseExtension parses a single extension and returns the position of\n// the extension end.\nfunc parseExtension(scan *scanner) int {\n\tstart, end := scan.start, scan.end\n\tswitch scan.token[0] {\n\tcase 'u':\n\t\tattrStart := end\n\t\tscan.scan()\n\t\tfor last := []byte{}; len(scan.token) > 2; scan.scan() {\n\t\t\tif bytes.Compare(scan.token, last) != -1 {\n\t\t\t\t// Attributes are unsorted. Start over from scratch.\n\t\t\t\tp := attrStart + 1\n\t\t\t\tscan.next = p\n\t\t\t\tattrs := [][]byte{}\n\t\t\t\tfor scan.scan(); len(scan.token) > 2; scan.scan() {\n\t\t\t\t\tattrs = append(attrs, scan.token)\n\t\t\t\t\tend = scan.end\n\t\t\t\t}\n\t\t\t\tsort.Sort(bytesSort(attrs))\n\t\t\t\tcopy(scan.b[p:], bytes.Join(attrs, separator))\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tlast = scan.token\n\t\t\tend = scan.end\n\t\t}\n\t\tvar last, key []byte\n\t\tfor attrEnd := end; len(scan.token) == 2; last = key {\n\t\t\tkey = scan.token\n\t\t\tkeyEnd := scan.end\n\t\t\tend = scan.acceptMinSize(3)\n\t\t\t// TODO: check key value validity\n\t\t\tif keyEnd == end || bytes.Compare(key, last) != 1 {\n\t\t\t\t// We have an invalid key or the keys are not sorted.\n\t\t\t\t// Start scanning keys from scratch and reorder.\n\t\t\t\tp := attrEnd + 1\n\t\t\t\tscan.next = p\n\t\t\t\tkeys := [][]byte{}\n\t\t\t\tfor scan.scan(); len(scan.token) == 2; {\n\t\t\t\t\tkeyStart, keyEnd := scan.start, scan.end\n\t\t\t\t\tend = scan.acceptMinSize(3)\n\t\t\t\t\tif keyEnd != end {\n\t\t\t\t\t\tkeys = append(keys, scan.b[keyStart:end])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscan.setError(errSyntax)\n\t\t\t\t\t\tend = keyStart\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tsort.Sort(bytesSort(keys))\n\t\t\t\treordered := bytes.Join(keys, separator)\n\t\t\t\tif e := p + len(reordered); e < end {\n\t\t\t\t\tscan.deleteRange(e, end)\n\t\t\t\t\tend = e\n\t\t\t\t}\n\t\t\t\tcopy(scan.b[p:], bytes.Join(keys, separator))\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\tcase 't':\n\t\tscan.scan()\n\t\tif n := len(scan.token); n >= 2 && n <= 3 && isAlpha(scan.token[1]) {\n\t\t\t_, end = parseTag(scan)\n\t\t\tscan.toLower(start, end)\n\t\t}\n\t\tfor len(scan.token) == 2 && !isAlpha(scan.token[1]) {\n\t\t\tend = scan.acceptMinSize(3)\n\t\t}\n\tcase 'x':\n\t\tend = scan.acceptMinSize(1)\n\tdefault:\n\t\tend = scan.acceptMinSize(2)\n\t}\n\treturn end\n}\n\n// Compose creates a Tag from individual parts, which may be of type Tag, Base,\n// Script, Region, Variant, []Variant, Extension, []Extension or error. If a\n// Base, Script or Region or slice of type Variant or Extension is passed more\n// than once, the latter will overwrite the former. Variants and Extensions are\n// accumulated, but if two extensions of the same type are passed, the latter\n// will replace the former. A Tag overwrites all former values and typically\n// only makes sense as the first argument. The resulting tag is returned after\n// canonicalizing using the Default CanonType. If one or more errors are\n// encountered, one of the errors is returned.\nfunc Compose(part ...interface{}) (t Tag, err error) {\n\treturn Default.Compose(part...)\n}\n\n// Compose creates a Tag from individual parts, which may be of type Tag, Base,\n// Script, Region, Variant, []Variant, Extension, []Extension or error. If a\n// Base, Script or Region or slice of type Variant or Extension is passed more\n// than once, the latter will overwrite the former. Variants and Extensions are\n// accumulated, but if two extensions of the same type are passed, the latter\n// will replace the former. A Tag overwrites all former values and typically\n// only makes sense as the first argument. The resulting tag is returned after\n// canonicalizing using CanonType c. If one or more errors are encountered,\n// one of the errors is returned.\nfunc (c CanonType) Compose(part ...interface{}) (t Tag, err error) {\n\tvar b builder\n\tif err = b.update(part...); err != nil {\n\t\treturn und, err\n\t}\n\tt, _ = b.tag.canonicalize(c)\n\n\tif len(b.ext) > 0 || len(b.variant) > 0 {\n\t\tsort.Sort(sortVariant(b.variant))\n\t\tsort.Strings(b.ext)\n\t\tif b.private != \"\" {\n\t\t\tb.ext = append(b.ext, b.private)\n\t\t}\n\t\tn := maxCoreSize + tokenLen(b.variant...) + tokenLen(b.ext...)\n\t\tbuf := make([]byte, n)\n\t\tp := t.genCoreBytes(buf)\n\t\tt.pVariant = byte(p)\n\t\tp += appendTokens(buf[p:], b.variant...)\n\t\tt.pExt = uint16(p)\n\t\tp += appendTokens(buf[p:], b.ext...)\n\t\tt.str = string(buf[:p])\n\t} else if b.private != \"\" {\n\t\tt.str = b.private\n\t\tt.remakeString()\n\t}\n\treturn\n}\n\ntype builder struct {\n\ttag Tag\n\n\tprivate string // the x extension\n\text     []string\n\tvariant []string\n\n\terr error\n}\n\nfunc (b *builder) addExt(e string) {\n\tif e == \"\" {\n\t} else if e[0] == 'x' {\n\t\tb.private = e\n\t} else {\n\t\tb.ext = append(b.ext, e)\n\t}\n}\n\nvar errInvalidArgument = errors.New(\"invalid Extension or Variant\")\n\nfunc (b *builder) update(part ...interface{}) (err error) {\n\treplace := func(l *[]string, s string, eq func(a, b string) bool) bool {\n\t\tif s == \"\" {\n\t\t\tb.err = errInvalidArgument\n\t\t\treturn true\n\t\t}\n\t\tfor i, v := range *l {\n\t\t\tif eq(v, s) {\n\t\t\t\t(*l)[i] = s\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}\n\tfor _, x := range part {\n\t\tswitch v := x.(type) {\n\t\tcase Tag:\n\t\t\tb.tag.lang = v.lang\n\t\t\tb.tag.region = v.region\n\t\t\tb.tag.script = v.script\n\t\t\tif v.str != \"\" {\n\t\t\t\tb.variant = nil\n\t\t\t\tfor x, s := \"\", v.str[v.pVariant:v.pExt]; s != \"\"; {\n\t\t\t\t\tx, s = nextToken(s)\n\t\t\t\t\tb.variant = append(b.variant, x)\n\t\t\t\t}\n\t\t\t\tb.ext, b.private = nil, \"\"\n\t\t\t\tfor i, e := int(v.pExt), \"\"; i < len(v.str); {\n\t\t\t\t\ti, e = getExtension(v.str, i)\n\t\t\t\t\tb.addExt(e)\n\t\t\t\t}\n\t\t\t}\n\t\tcase Base:\n\t\t\tb.tag.lang = v.langID\n\t\tcase Script:\n\t\t\tb.tag.script = v.scriptID\n\t\tcase Region:\n\t\t\tb.tag.region = v.regionID\n\t\tcase Variant:\n\t\t\tif !replace(&b.variant, v.variant, func(a, b string) bool { return a == b }) {\n\t\t\t\tb.variant = append(b.variant, v.variant)\n\t\t\t}\n\t\tcase Extension:\n\t\t\tif !replace(&b.ext, v.s, func(a, b string) bool { return a[0] == b[0] }) {\n\t\t\t\tb.addExt(v.s)\n\t\t\t}\n\t\tcase []Variant:\n\t\t\tb.variant = nil\n\t\t\tfor _, x := range v {\n\t\t\t\tb.update(x)\n\t\t\t}\n\t\tcase []Extension:\n\t\t\tb.ext, b.private = nil, \"\"\n\t\t\tfor _, e := range v {\n\t\t\t\tb.update(e)\n\t\t\t}\n\t\t// TODO: support parsing of raw strings based on morphology or just extensions?\n\t\tcase error:\n\t\t\terr = v\n\t\t}\n\t}\n\treturn\n}\n\nfunc tokenLen(token ...string) (n int) {\n\tfor _, t := range token {\n\t\tn += len(t) + 1\n\t}\n\treturn\n}\n\nfunc appendTokens(b []byte, token ...string) int {\n\tp := 0\n\tfor _, t := range token {\n\t\tb[p] = '-'\n\t\tcopy(b[p+1:], t)\n\t\tp += 1 + len(t)\n\t}\n\treturn p\n}\n\ntype sortVariant []string\n\nfunc (s sortVariant) Len() int {\n\treturn len(s)\n}\n\nfunc (s sortVariant) Swap(i, j int) {\n\ts[j], s[i] = s[i], s[j]\n}\n\nfunc (s sortVariant) Less(i, j int) bool {\n\treturn variantIndex[s[i]] < variantIndex[s[j]]\n}\n\nfunc findExt(list []string, x byte) int {\n\tfor i, e := range list {\n\t\tif e[0] == x {\n\t\t\treturn i\n\t\t}\n\t}\n\treturn -1\n}\n\n// getExtension returns the name, body and end position of the extension.\nfunc getExtension(s string, p int) (end int, ext string) {\n\tif s[p] == '-' {\n\t\tp++\n\t}\n\tif s[p] == 'x' {\n\t\treturn len(s), s[p:]\n\t}\n\tend = nextExtension(s, p)\n\treturn end, s[p:end]\n}\n\n// nextExtension finds the next extension within the string, searching\n// for the -<char>- pattern from position p.\n// In the fast majority of cases, language tags will have at most\n// one extension and extensions tend to be small.\nfunc nextExtension(s string, p int) int {\n\tfor n := len(s) - 3; p < n; {\n\t\tif s[p] == '-' {\n\t\t\tif s[p+2] == '-' {\n\t\t\t\treturn p\n\t\t\t}\n\t\t\tp += 3\n\t\t} else {\n\t\t\tp++\n\t\t}\n\t}\n\treturn len(s)\n}\n\nvar errInvalidWeight = errors.New(\"ParseAcceptLanguage: invalid weight\")\n\n// ParseAcceptLanguage parses the contents of an Accept-Language header as\n// defined in http://www.ietf.org/rfc/rfc2616.txt and returns a list of Tags and\n// a list of corresponding quality weights. It is more permissive than RFC 2616\n// and may return non-nil slices even if the input is not valid.\n// The Tags will be sorted by highest weight first and then by first occurrence.\n// Tags with a weight of zero will be dropped. An error will be returned if the\n// input could not be parsed.\nfunc ParseAcceptLanguage(s string) (tag []Tag, q []float32, err error) {\n\tvar entry string\n\tfor s != \"\" {\n\t\tif entry, s = split(s, ','); entry == \"\" {\n\t\t\tcontinue\n\t\t}\n\n\t\tentry, weight := split(entry, ';')\n\n\t\t// Scan the language.\n\t\tt, err := Parse(entry)\n\t\tif err != nil {\n\t\t\tid, ok := acceptFallback[entry]\n\t\t\tif !ok {\n\t\t\t\treturn nil, nil, err\n\t\t\t}\n\t\t\tt = Tag{lang: id}\n\t\t}\n\n\t\t// Scan the optional weight.\n\t\tw := 1.0\n\t\tif weight != \"\" {\n\t\t\tweight = consume(weight, 'q')\n\t\t\tweight = consume(weight, '=')\n\t\t\t// consume returns the empty string when a token could not be\n\t\t\t// consumed, resulting in an error for ParseFloat.\n\t\t\tif w, err = strconv.ParseFloat(weight, 32); err != nil {\n\t\t\t\treturn nil, nil, errInvalidWeight\n\t\t\t}\n\t\t\t// Drop tags with a quality weight of 0.\n\t\t\tif w <= 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\ttag = append(tag, t)\n\t\tq = append(q, float32(w))\n\t}\n\tsortStable(&tagSort{tag, q})\n\treturn tag, q, nil\n}\n\n// consume removes a leading token c from s and returns the result or the empty\n// string if there is no such token.\nfunc consume(s string, c byte) string {\n\tif s == \"\" || s[0] != c {\n\t\treturn \"\"\n\t}\n\treturn strings.TrimSpace(s[1:])\n}\n\nfunc split(s string, c byte) (head, tail string) {\n\tif i := strings.IndexByte(s, c); i >= 0 {\n\t\treturn strings.TrimSpace(s[:i]), strings.TrimSpace(s[i+1:])\n\t}\n\treturn strings.TrimSpace(s), \"\"\n}\n\n// Add hack mapping to deal with a small number of cases that that occur\n// in Accept-Language (with reasonable frequency).\nvar acceptFallback = map[string]langID{\n\t\"english\": _en,\n\t\"deutsch\": _de,\n\t\"italian\": _it,\n\t\"french\":  _fr,\n\t\"*\":       _mul, // defined in the spec to match all languages.\n}\n\ntype tagSort struct {\n\ttag []Tag\n\tq   []float32\n}\n\nfunc (s *tagSort) Len() int {\n\treturn len(s.q)\n}\n\nfunc (s *tagSort) Less(i, j int) bool {\n\treturn s.q[i] > s.q[j]\n}\n\nfunc (s *tagSort) Swap(i, j int) {\n\ts.tag[i], s.tag[j] = s.tag[j], s.tag[i]\n\ts.q[i], s.q[j] = s.q[j], s.q[i]\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/tables.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage language\n\nimport \"golang.org/x/text/internal/tag\"\n\n// CLDRVersion is the CLDR version from which the tables in this package are derived.\nconst CLDRVersion = \"32\"\n\nconst numLanguages = 8665\n\nconst numScripts = 242\n\nconst numRegions = 357\n\ntype fromTo struct {\n\tfrom uint16\n\tto   uint16\n}\n\nconst nonCanonicalUnd = 1201\nconst (\n\t_af  = 22\n\t_am  = 39\n\t_ar  = 58\n\t_az  = 88\n\t_bg  = 126\n\t_bn  = 165\n\t_ca  = 215\n\t_cs  = 250\n\t_da  = 257\n\t_de  = 269\n\t_el  = 310\n\t_en  = 313\n\t_es  = 318\n\t_et  = 320\n\t_fa  = 328\n\t_fi  = 337\n\t_fil = 339\n\t_fr  = 350\n\t_gu  = 420\n\t_he  = 444\n\t_hi  = 446\n\t_hr  = 465\n\t_hu  = 469\n\t_hy  = 471\n\t_id  = 481\n\t_is  = 504\n\t_it  = 505\n\t_ja  = 512\n\t_ka  = 528\n\t_kk  = 578\n\t_km  = 586\n\t_kn  = 593\n\t_ko  = 596\n\t_ky  = 650\n\t_lo  = 696\n\t_lt  = 704\n\t_lv  = 711\n\t_mk  = 767\n\t_ml  = 772\n\t_mn  = 779\n\t_mo  = 784\n\t_mr  = 795\n\t_ms  = 799\n\t_mul = 806\n\t_my  = 817\n\t_nb  = 839\n\t_ne  = 849\n\t_nl  = 871\n\t_no  = 879\n\t_pa  = 925\n\t_pl  = 947\n\t_pt  = 960\n\t_ro  = 988\n\t_ru  = 994\n\t_sh  = 1031\n\t_si  = 1036\n\t_sk  = 1042\n\t_sl  = 1046\n\t_sq  = 1073\n\t_sr  = 1074\n\t_sv  = 1092\n\t_sw  = 1093\n\t_ta  = 1104\n\t_te  = 1121\n\t_th  = 1131\n\t_tl  = 1146\n\t_tn  = 1152\n\t_tr  = 1162\n\t_uk  = 1198\n\t_ur  = 1204\n\t_uz  = 1212\n\t_vi  = 1219\n\t_zh  = 1321\n\t_zu  = 1327\n\t_jbo = 515\n\t_ami = 1650\n\t_bnn = 2357\n\t_hak = 438\n\t_tlh = 14467\n\t_lb  = 661\n\t_nv  = 899\n\t_pwn = 12055\n\t_tao = 14188\n\t_tay = 14198\n\t_tsu = 14662\n\t_nn  = 874\n\t_sfb = 13629\n\t_vgt = 15701\n\t_sgg = 13660\n\t_cmn = 3007\n\t_nan = 835\n\t_hsn = 467\n)\n\nconst langPrivateStart = 0x2f72\n\nconst langPrivateEnd = 0x3179\n\n// lang holds an alphabetically sorted list of ISO-639 language identifiers.\n// All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag.\n// For 2-byte language identifiers, the two successive bytes have the following meaning:\n//     - if the first letter of the 2- and 3-letter ISO codes are the same:\n//       the second and third letter of the 3-letter ISO code.\n//     - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3.\n// For 3-byte language identifiers the 4th byte is 0.\nconst lang tag.Index = \"\" + // Size: 5324 bytes\n\t\"---\\x00aaaraai\\x00aak\\x00aau\\x00abbkabi\\x00abq\\x00abr\\x00abt\\x00aby\\x00a\" +\n\t\"cd\\x00ace\\x00ach\\x00ada\\x00ade\\x00adj\\x00ady\\x00adz\\x00aeveaeb\\x00aey\" +\n\t\"\\x00affragc\\x00agd\\x00agg\\x00agm\\x00ago\\x00agq\\x00aha\\x00ahl\\x00aho\\x00a\" +\n\t\"jg\\x00akkaakk\\x00ala\\x00ali\\x00aln\\x00alt\\x00ammhamm\\x00amn\\x00amo\\x00am\" +\n\t\"p\\x00anrganc\\x00ank\\x00ann\\x00any\\x00aoj\\x00aom\\x00aoz\\x00apc\\x00apd\\x00\" +\n\t\"ape\\x00apr\\x00aps\\x00apz\\x00arraarc\\x00arh\\x00arn\\x00aro\\x00arq\\x00ars\" +\n\t\"\\x00ary\\x00arz\\x00assmasa\\x00ase\\x00asg\\x00aso\\x00ast\\x00ata\\x00atg\\x00a\" +\n\t\"tj\\x00auy\\x00avvaavl\\x00avn\\x00avt\\x00avu\\x00awa\\x00awb\\x00awo\\x00awx\" +\n\t\"\\x00ayymayb\\x00azzebaakbal\\x00ban\\x00bap\\x00bar\\x00bas\\x00bav\\x00bax\\x00\" +\n\t\"bba\\x00bbb\\x00bbc\\x00bbd\\x00bbj\\x00bbp\\x00bbr\\x00bcf\\x00bch\\x00bci\\x00bc\" +\n\t\"m\\x00bcn\\x00bco\\x00bcq\\x00bcu\\x00bdd\\x00beelbef\\x00beh\\x00bej\\x00bem\\x00\" +\n\t\"bet\\x00bew\\x00bex\\x00bez\\x00bfd\\x00bfq\\x00bft\\x00bfy\\x00bgulbgc\\x00bgn\" +\n\t\"\\x00bgx\\x00bhihbhb\\x00bhg\\x00bhi\\x00bhk\\x00bhl\\x00bho\\x00bhy\\x00biisbib\" +\n\t\"\\x00big\\x00bik\\x00bim\\x00bin\\x00bio\\x00biq\\x00bjh\\x00bji\\x00bjj\\x00bjn\" +\n\t\"\\x00bjo\\x00bjr\\x00bjt\\x00bjz\\x00bkc\\x00bkm\\x00bkq\\x00bku\\x00bkv\\x00blt\" +\n\t\"\\x00bmambmh\\x00bmk\\x00bmq\\x00bmu\\x00bnenbng\\x00bnm\\x00bnp\\x00boodboj\\x00\" +\n\t\"bom\\x00bon\\x00bpy\\x00bqc\\x00bqi\\x00bqp\\x00bqv\\x00brrebra\\x00brh\\x00brx\" +\n\t\"\\x00brz\\x00bsosbsj\\x00bsq\\x00bss\\x00bst\\x00bto\\x00btt\\x00btv\\x00bua\\x00b\" +\n\t\"uc\\x00bud\\x00bug\\x00buk\\x00bum\\x00buo\\x00bus\\x00buu\\x00bvb\\x00bwd\\x00bwr\" +\n\t\"\\x00bxh\\x00bye\\x00byn\\x00byr\\x00bys\\x00byv\\x00byx\\x00bza\\x00bze\\x00bzf\" +\n\t\"\\x00bzh\\x00bzw\\x00caatcan\\x00cbj\\x00cch\\x00ccp\\x00ceheceb\\x00cfa\\x00cgg\" +\n\t\"\\x00chhachk\\x00chm\\x00cho\\x00chp\\x00chr\\x00cja\\x00cjm\\x00cjv\\x00ckb\\x00c\" +\n\t\"kl\\x00cko\\x00cky\\x00cla\\x00cme\\x00cmg\\x00cooscop\\x00cps\\x00crrecrh\\x00cr\" +\n\t\"j\\x00crk\\x00crl\\x00crm\\x00crs\\x00csescsb\\x00csw\\x00ctd\\x00cuhucvhvcyymda\" +\n\t\"andad\\x00daf\\x00dag\\x00dah\\x00dak\\x00dar\\x00dav\\x00dbd\\x00dbq\\x00dcc\\x00\" +\n\t\"ddn\\x00deeuded\\x00den\\x00dga\\x00dgh\\x00dgi\\x00dgl\\x00dgr\\x00dgz\\x00dia\" +\n\t\"\\x00dje\\x00dnj\\x00dob\\x00doi\\x00dop\\x00dow\\x00dri\\x00drs\\x00dsb\\x00dtm\" +\n\t\"\\x00dtp\\x00dts\\x00dty\\x00dua\\x00duc\\x00dud\\x00dug\\x00dvivdva\\x00dww\\x00d\" +\n\t\"yo\\x00dyu\\x00dzzodzg\\x00ebu\\x00eeweefi\\x00egl\\x00egy\\x00eka\\x00eky\\x00el\" +\n\t\"llema\\x00emi\\x00enngenn\\x00enq\\x00eopoeri\\x00es\\x00\\x05esu\\x00etstetr\" +\n\t\"\\x00ett\\x00etu\\x00etx\\x00euusewo\\x00ext\\x00faasfaa\\x00fab\\x00fag\\x00fai\" +\n\t\"\\x00fan\\x00ffulffi\\x00ffm\\x00fiinfia\\x00fil\\x00fit\\x00fjijflr\\x00fmp\\x00\" +\n\t\"foaofod\\x00fon\\x00for\\x00fpe\\x00fqs\\x00frrafrc\\x00frp\\x00frr\\x00frs\\x00f\" +\n\t\"ub\\x00fud\\x00fue\\x00fuf\\x00fuh\\x00fuq\\x00fur\\x00fuv\\x00fuy\\x00fvr\\x00fyr\" +\n\t\"ygalegaa\\x00gaf\\x00gag\\x00gah\\x00gaj\\x00gam\\x00gan\\x00gaw\\x00gay\\x00gba\" +\n\t\"\\x00gbf\\x00gbm\\x00gby\\x00gbz\\x00gcr\\x00gdlagde\\x00gdn\\x00gdr\\x00geb\\x00g\" +\n\t\"ej\\x00gel\\x00gez\\x00gfk\\x00ggn\\x00ghs\\x00gil\\x00gim\\x00gjk\\x00gjn\\x00gju\" +\n\t\"\\x00gkn\\x00gkp\\x00gllgglk\\x00gmm\\x00gmv\\x00gnrngnd\\x00gng\\x00god\\x00gof\" +\n\t\"\\x00goi\\x00gom\\x00gon\\x00gor\\x00gos\\x00got\\x00grb\\x00grc\\x00grt\\x00grw\" +\n\t\"\\x00gsw\\x00guujgub\\x00guc\\x00gud\\x00gur\\x00guw\\x00gux\\x00guz\\x00gvlvgvf\" +\n\t\"\\x00gvr\\x00gvs\\x00gwc\\x00gwi\\x00gwt\\x00gyi\\x00haauhag\\x00hak\\x00ham\\x00h\" +\n\t\"aw\\x00haz\\x00hbb\\x00hdy\\x00heebhhy\\x00hiinhia\\x00hif\\x00hig\\x00hih\\x00hi\" +\n\t\"l\\x00hla\\x00hlu\\x00hmd\\x00hmt\\x00hnd\\x00hne\\x00hnj\\x00hnn\\x00hno\\x00homo\" +\n\t\"hoc\\x00hoj\\x00hot\\x00hrrvhsb\\x00hsn\\x00htathuunhui\\x00hyyehzerianaian\" +\n\t\"\\x00iar\\x00iba\\x00ibb\\x00iby\\x00ica\\x00ich\\x00idndidd\\x00idi\\x00idu\\x00i\" +\n\t\"eleife\\x00igboigb\\x00ige\\x00iiiiijj\\x00ikpkikk\\x00ikt\\x00ikw\\x00ikx\\x00i\" +\n\t\"lo\\x00imo\\x00inndinh\\x00iodoiou\\x00iri\\x00isslittaiukuiw\\x00\\x03iwm\\x00i\" +\n\t\"ws\\x00izh\\x00izi\\x00japnjab\\x00jam\\x00jbo\\x00jbu\\x00jen\\x00jgk\\x00jgo\" +\n\t\"\\x00ji\\x00\\x06jib\\x00jmc\\x00jml\\x00jra\\x00jut\\x00jvavjwavkaatkaa\\x00kab\" +\n\t\"\\x00kac\\x00kad\\x00kai\\x00kaj\\x00kam\\x00kao\\x00kbd\\x00kbm\\x00kbp\\x00kbq\" +\n\t\"\\x00kbx\\x00kby\\x00kcg\\x00kck\\x00kcl\\x00kct\\x00kde\\x00kdh\\x00kdl\\x00kdt\" +\n\t\"\\x00kea\\x00ken\\x00kez\\x00kfo\\x00kfr\\x00kfy\\x00kgonkge\\x00kgf\\x00kgp\\x00k\" +\n\t\"ha\\x00khb\\x00khn\\x00khq\\x00khs\\x00kht\\x00khw\\x00khz\\x00kiikkij\\x00kiu\" +\n\t\"\\x00kiw\\x00kjuakjd\\x00kjg\\x00kjs\\x00kjy\\x00kkazkkc\\x00kkj\\x00klalkln\\x00\" +\n\t\"klq\\x00klt\\x00klx\\x00kmhmkmb\\x00kmh\\x00kmo\\x00kms\\x00kmu\\x00kmw\\x00knank\" +\n\t\"nf\\x00knp\\x00koorkoi\\x00kok\\x00kol\\x00kos\\x00koz\\x00kpe\\x00kpf\\x00kpo\" +\n\t\"\\x00kpr\\x00kpx\\x00kqb\\x00kqf\\x00kqs\\x00kqy\\x00kraukrc\\x00kri\\x00krj\\x00k\" +\n\t\"rl\\x00krs\\x00kru\\x00ksasksb\\x00ksd\\x00ksf\\x00ksh\\x00ksj\\x00ksr\\x00ktb\" +\n\t\"\\x00ktm\\x00kto\\x00kuurkub\\x00kud\\x00kue\\x00kuj\\x00kum\\x00kun\\x00kup\\x00k\" +\n\t\"us\\x00kvomkvg\\x00kvr\\x00kvx\\x00kw\\x00\\x01kwj\\x00kwo\\x00kxa\\x00kxc\\x00kxm\" +\n\t\"\\x00kxp\\x00kxw\\x00kxz\\x00kyirkye\\x00kyx\\x00kzr\\x00laatlab\\x00lad\\x00lag\" +\n\t\"\\x00lah\\x00laj\\x00las\\x00lbtzlbe\\x00lbu\\x00lbw\\x00lcm\\x00lcp\\x00ldb\\x00l\" +\n\t\"ed\\x00lee\\x00lem\\x00lep\\x00leq\\x00leu\\x00lez\\x00lguglgg\\x00liimlia\\x00li\" +\n\t\"d\\x00lif\\x00lig\\x00lih\\x00lij\\x00lis\\x00ljp\\x00lki\\x00lkt\\x00lle\\x00lln\" +\n\t\"\\x00lmn\\x00lmo\\x00lmp\\x00lninlns\\x00lnu\\x00loaoloj\\x00lok\\x00lol\\x00lor\" +\n\t\"\\x00los\\x00loz\\x00lrc\\x00ltitltg\\x00luublua\\x00luo\\x00luy\\x00luz\\x00lvav\" +\n\t\"lwl\\x00lzh\\x00lzz\\x00mad\\x00maf\\x00mag\\x00mai\\x00mak\\x00man\\x00mas\\x00ma\" +\n\t\"w\\x00maz\\x00mbh\\x00mbo\\x00mbq\\x00mbu\\x00mbw\\x00mci\\x00mcp\\x00mcq\\x00mcr\" +\n\t\"\\x00mcu\\x00mda\\x00mde\\x00mdf\\x00mdh\\x00mdj\\x00mdr\\x00mdx\\x00med\\x00mee\" +\n\t\"\\x00mek\\x00men\\x00mer\\x00met\\x00meu\\x00mfa\\x00mfe\\x00mfn\\x00mfo\\x00mfq\" +\n\t\"\\x00mglgmgh\\x00mgl\\x00mgo\\x00mgp\\x00mgy\\x00mhahmhi\\x00mhl\\x00mirimif\\x00\" +\n\t\"min\\x00mis\\x00miw\\x00mkkdmki\\x00mkl\\x00mkp\\x00mkw\\x00mlalmle\\x00mlp\\x00m\" +\n\t\"ls\\x00mmo\\x00mmu\\x00mmx\\x00mnonmna\\x00mnf\\x00mni\\x00mnw\\x00moolmoa\\x00mo\" +\n\t\"e\\x00moh\\x00mos\\x00mox\\x00mpp\\x00mps\\x00mpt\\x00mpx\\x00mql\\x00mrarmrd\\x00\" +\n\t\"mrj\\x00mro\\x00mssamtltmtc\\x00mtf\\x00mti\\x00mtr\\x00mua\\x00mul\\x00mur\\x00m\" +\n\t\"us\\x00mva\\x00mvn\\x00mvy\\x00mwk\\x00mwr\\x00mwv\\x00mxc\\x00mxm\\x00myyamyk\" +\n\t\"\\x00mym\\x00myv\\x00myw\\x00myx\\x00myz\\x00mzk\\x00mzm\\x00mzn\\x00mzp\\x00mzw\" +\n\t\"\\x00mzz\\x00naaunac\\x00naf\\x00nah\\x00nak\\x00nan\\x00nap\\x00naq\\x00nas\\x00n\" +\n\t\"bobnca\\x00nce\\x00ncf\\x00nch\\x00nco\\x00ncu\\x00nddendc\\x00nds\\x00neepneb\" +\n\t\"\\x00new\\x00nex\\x00nfr\\x00ngdonga\\x00ngb\\x00ngl\\x00nhb\\x00nhe\\x00nhw\\x00n\" +\n\t\"if\\x00nii\\x00nij\\x00nin\\x00niu\\x00niy\\x00niz\\x00njo\\x00nkg\\x00nko\\x00nll\" +\n\t\"dnmg\\x00nmz\\x00nnnonnf\\x00nnh\\x00nnk\\x00nnm\\x00noornod\\x00noe\\x00non\\x00\" +\n\t\"nop\\x00nou\\x00nqo\\x00nrblnrb\\x00nsk\\x00nsn\\x00nso\\x00nss\\x00ntm\\x00ntr\" +\n\t\"\\x00nui\\x00nup\\x00nus\\x00nuv\\x00nux\\x00nvavnwb\\x00nxq\\x00nxr\\x00nyyanym\" +\n\t\"\\x00nyn\\x00nzi\\x00occiogc\\x00ojjiokr\\x00okv\\x00omrmong\\x00onn\\x00ons\\x00\" +\n\t\"opm\\x00orrioro\\x00oru\\x00osssosa\\x00ota\\x00otk\\x00ozm\\x00paanpag\\x00pal\" +\n\t\"\\x00pam\\x00pap\\x00pau\\x00pbi\\x00pcd\\x00pcm\\x00pdc\\x00pdt\\x00ped\\x00peo\" +\n\t\"\\x00pex\\x00pfl\\x00phl\\x00phn\\x00pilipil\\x00pip\\x00pka\\x00pko\\x00plolpla\" +\n\t\"\\x00pms\\x00png\\x00pnn\\x00pnt\\x00pon\\x00ppo\\x00pra\\x00prd\\x00prg\\x00psusp\" +\n\t\"ss\\x00ptorptp\\x00puu\\x00pwa\\x00quuequc\\x00qug\\x00rai\\x00raj\\x00rao\\x00rc\" +\n\t\"f\\x00rej\\x00rel\\x00res\\x00rgn\\x00rhg\\x00ria\\x00rif\\x00rjs\\x00rkt\\x00rmoh\" +\n\t\"rmf\\x00rmo\\x00rmt\\x00rmu\\x00rnunrna\\x00rng\\x00roonrob\\x00rof\\x00roo\\x00r\" +\n\t\"ro\\x00rtm\\x00ruusrue\\x00rug\\x00rw\\x00\\x04rwk\\x00rwo\\x00ryu\\x00saansaf\" +\n\t\"\\x00sah\\x00saq\\x00sas\\x00sat\\x00sav\\x00saz\\x00sba\\x00sbe\\x00sbp\\x00scrds\" +\n\t\"ck\\x00scl\\x00scn\\x00sco\\x00scs\\x00sdndsdc\\x00sdh\\x00semesef\\x00seh\\x00se\" +\n\t\"i\\x00ses\\x00sgagsga\\x00sgs\\x00sgw\\x00sgz\\x00sh\\x00\\x02shi\\x00shk\\x00shn\" +\n\t\"\\x00shu\\x00siinsid\\x00sig\\x00sil\\x00sim\\x00sjr\\x00sklkskc\\x00skr\\x00sks\" +\n\t\"\\x00sllvsld\\x00sli\\x00sll\\x00sly\\x00smmosma\\x00smi\\x00smj\\x00smn\\x00smp\" +\n\t\"\\x00smq\\x00sms\\x00snnasnc\\x00snk\\x00snp\\x00snx\\x00sny\\x00soomsok\\x00soq\" +\n\t\"\\x00sou\\x00soy\\x00spd\\x00spl\\x00sps\\x00sqqisrrpsrb\\x00srn\\x00srr\\x00srx\" +\n\t\"\\x00ssswssd\\x00ssg\\x00ssy\\x00stotstk\\x00stq\\x00suunsua\\x00sue\\x00suk\\x00\" +\n\t\"sur\\x00sus\\x00svweswwaswb\\x00swc\\x00swg\\x00swp\\x00swv\\x00sxn\\x00sxw\\x00s\" +\n\t\"yl\\x00syr\\x00szl\\x00taamtaj\\x00tal\\x00tan\\x00taq\\x00tbc\\x00tbd\\x00tbf\" +\n\t\"\\x00tbg\\x00tbo\\x00tbw\\x00tbz\\x00tci\\x00tcy\\x00tdd\\x00tdg\\x00tdh\\x00teelt\" +\n\t\"ed\\x00tem\\x00teo\\x00tet\\x00tfi\\x00tggktgc\\x00tgo\\x00tgu\\x00thhathl\\x00th\" +\n\t\"q\\x00thr\\x00tiirtif\\x00tig\\x00tik\\x00tim\\x00tio\\x00tiv\\x00tkuktkl\\x00tkr\" +\n\t\"\\x00tkt\\x00tlgltlf\\x00tlx\\x00tly\\x00tmh\\x00tmy\\x00tnsntnh\\x00toontof\\x00\" +\n\t\"tog\\x00toq\\x00tpi\\x00tpm\\x00tpz\\x00tqo\\x00trurtru\\x00trv\\x00trw\\x00tssot\" +\n\t\"sd\\x00tsf\\x00tsg\\x00tsj\\x00tsw\\x00ttatttd\\x00tte\\x00ttj\\x00ttr\\x00tts\" +\n\t\"\\x00ttt\\x00tuh\\x00tul\\x00tum\\x00tuq\\x00tvd\\x00tvl\\x00tvu\\x00twwitwh\\x00t\" +\n\t\"wq\\x00txg\\x00tyahtya\\x00tyv\\x00tzm\\x00ubu\\x00udm\\x00ugiguga\\x00ukkruli\" +\n\t\"\\x00umb\\x00und\\x00unr\\x00unx\\x00urrduri\\x00urt\\x00urw\\x00usa\\x00utr\\x00u\" +\n\t\"vh\\x00uvl\\x00uzzbvag\\x00vai\\x00van\\x00veenvec\\x00vep\\x00viievic\\x00viv\" +\n\t\"\\x00vls\\x00vmf\\x00vmw\\x00voolvot\\x00vro\\x00vun\\x00vut\\x00walnwae\\x00waj\" +\n\t\"\\x00wal\\x00wan\\x00war\\x00wbp\\x00wbq\\x00wbr\\x00wci\\x00wer\\x00wgi\\x00whg\" +\n\t\"\\x00wib\\x00wiu\\x00wiv\\x00wja\\x00wji\\x00wls\\x00wmo\\x00wnc\\x00wni\\x00wnu\" +\n\t\"\\x00woolwob\\x00wos\\x00wrs\\x00wsk\\x00wtm\\x00wuu\\x00wuv\\x00wwa\\x00xav\\x00x\" +\n\t\"bi\\x00xcr\\x00xes\\x00xhhoxla\\x00xlc\\x00xld\\x00xmf\\x00xmn\\x00xmr\\x00xna\" +\n\t\"\\x00xnr\\x00xog\\x00xon\\x00xpr\\x00xrb\\x00xsa\\x00xsi\\x00xsm\\x00xsr\\x00xwe\" +\n\t\"\\x00yam\\x00yao\\x00yap\\x00yas\\x00yat\\x00yav\\x00yay\\x00yaz\\x00yba\\x00ybb\" +\n\t\"\\x00yby\\x00yer\\x00ygr\\x00ygw\\x00yiidyko\\x00yle\\x00ylg\\x00yll\\x00yml\\x00y\" +\n\t\"ooryon\\x00yrb\\x00yre\\x00yrl\\x00yss\\x00yua\\x00yue\\x00yuj\\x00yut\\x00yuw\" +\n\t\"\\x00zahazag\\x00zbl\\x00zdj\\x00zea\\x00zgh\\x00zhhozhx\\x00zia\\x00zlm\\x00zmi\" +\n\t\"\\x00zne\\x00zuulzxx\\x00zza\\x00\\xff\\xff\\xff\\xff\"\n\nconst langNoIndexOffset = 1330\n\n// langNoIndex is a bit vector of all 3-letter language codes that are not used as an index\n// in lookup tables. The language ids for these language codes are derived directly\n// from the letters and are not consecutive.\n// Size: 2197 bytes, 2197 elements\nvar langNoIndex = [2197]uint8{\n\t// Entry 0 - 3F\n\t0xff, 0xf8, 0xed, 0xfe, 0xeb, 0xd3, 0x3b, 0xd2,\n\t0xfb, 0xbf, 0x7a, 0xfa, 0x37, 0x1d, 0x3c, 0x57,\n\t0x6e, 0x97, 0x73, 0x38, 0xfb, 0xea, 0xbf, 0x70,\n\t0xad, 0x03, 0xff, 0xff, 0xcf, 0x05, 0x84, 0x62,\n\t0xe9, 0xbf, 0xfd, 0xbf, 0xbf, 0xf7, 0xfd, 0x77,\n\t0x0f, 0xff, 0xef, 0x6f, 0xff, 0xfb, 0xdf, 0xe2,\n\t0xc9, 0xf8, 0x7f, 0x7e, 0x4d, 0xb8, 0x0a, 0x6a,\n\t0x7c, 0xea, 0xe3, 0xfa, 0x7a, 0xbf, 0x67, 0xff,\n\t// Entry 40 - 7F\n\t0xff, 0xff, 0xff, 0xdf, 0x2a, 0x54, 0x91, 0xc0,\n\t0x5d, 0xe3, 0x97, 0x14, 0x07, 0x20, 0xdd, 0xed,\n\t0x9f, 0x3f, 0xc9, 0x21, 0xf8, 0x3f, 0x94, 0x35,\n\t0x7c, 0x5f, 0xff, 0x5f, 0x8e, 0x6e, 0xdf, 0xff,\n\t0xff, 0xff, 0x55, 0x7c, 0xd3, 0xfd, 0xbf, 0xb5,\n\t0x7b, 0xdf, 0x7f, 0xf7, 0xca, 0xfe, 0xdb, 0xa3,\n\t0xa8, 0xff, 0x1f, 0x67, 0x7d, 0xeb, 0xef, 0xce,\n\t0xff, 0xff, 0x9f, 0xff, 0xb7, 0xef, 0xfe, 0xcf,\n\t// Entry 80 - BF\n\t0xdb, 0xff, 0xf3, 0xcd, 0xfb, 0x2f, 0xff, 0xff,\n\t0xbb, 0xee, 0xf7, 0xbd, 0xdb, 0xff, 0x5f, 0xf7,\n\t0xfd, 0xf2, 0xfd, 0xff, 0x5e, 0x2f, 0x3b, 0xba,\n\t0x7e, 0xff, 0xff, 0xfe, 0xf7, 0xff, 0xdd, 0xff,\n\t0xfd, 0xdf, 0xfb, 0xfe, 0x9d, 0xb4, 0xd3, 0xff,\n\t0xef, 0xff, 0xdf, 0xf7, 0x7f, 0xb7, 0xfd, 0xd5,\n\t0xa5, 0x77, 0x40, 0xff, 0x9c, 0xc1, 0x41, 0x2c,\n\t0x08, 0x20, 0x41, 0x00, 0x50, 0x40, 0x00, 0x80,\n\t// Entry C0 - FF\n\t0xfb, 0x4a, 0xf2, 0x9f, 0xb4, 0x42, 0x41, 0x96,\n\t0x1b, 0x14, 0x08, 0xf2, 0x2b, 0xe7, 0x17, 0x56,\n\t0x05, 0x7d, 0x0e, 0x1c, 0x37, 0x71, 0xf3, 0xef,\n\t0x97, 0xff, 0x5d, 0x38, 0x64, 0x08, 0x00, 0x10,\n\t0xbc, 0x85, 0xaf, 0xdf, 0xff, 0xf7, 0x73, 0x35,\n\t0x3e, 0x87, 0xc7, 0xdf, 0xff, 0x00, 0x81, 0x00,\n\t0xb0, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03,\n\t0x40, 0x00, 0x40, 0x92, 0x21, 0x50, 0xb1, 0x5d,\n\t// Entry 100 - 13F\n\t0xfd, 0xdc, 0xbe, 0x5e, 0x00, 0x00, 0x02, 0x64,\n\t0x0d, 0x19, 0x41, 0xdf, 0x79, 0x22, 0x00, 0x00,\n\t0x00, 0x5e, 0x64, 0xdc, 0x24, 0xe5, 0xd9, 0xe3,\n\t0xfe, 0xff, 0xfd, 0xcb, 0x9f, 0x14, 0x01, 0x0c,\n\t0x86, 0x00, 0xd1, 0x00, 0xf0, 0xc5, 0x67, 0x5f,\n\t0x56, 0x89, 0x5e, 0xb5, 0x6c, 0xaf, 0x03, 0x00,\n\t0x02, 0x00, 0x00, 0x00, 0xc0, 0x37, 0xda, 0x56,\n\t0x90, 0x69, 0x01, 0x2c, 0x96, 0x69, 0x20, 0xfb,\n\t// Entry 140 - 17F\n\t0xff, 0x3f, 0x00, 0x00, 0x00, 0x01, 0x08, 0x16,\n\t0x01, 0x00, 0x00, 0xb0, 0x14, 0x03, 0x50, 0x06,\n\t0x0a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x09,\n\t0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x10,\n\t0x00, 0x00, 0x44, 0x00, 0x00, 0x10, 0x00, 0x04,\n\t0x08, 0x00, 0x00, 0x04, 0x00, 0x80, 0x28, 0x04,\n\t0x00, 0x00, 0x40, 0xd5, 0x2d, 0x00, 0x64, 0x35,\n\t0x24, 0x52, 0xf4, 0xd4, 0xbd, 0x62, 0xc9, 0x03,\n\t// Entry 180 - 1BF\n\t0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x04, 0x13, 0x39, 0x01, 0xdd, 0x57, 0x98,\n\t0x21, 0x18, 0x81, 0x00, 0x00, 0x01, 0x40, 0x82,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x01, 0x40, 0x00, 0x44, 0x00, 0x00, 0x80, 0xea,\n\t0xa9, 0x39, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,\n\t// Entry 1C0 - 1FF\n\t0x00, 0x01, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00,\n\t0x04, 0x20, 0x04, 0xa6, 0x00, 0x04, 0x00, 0x00,\n\t0x81, 0x50, 0x00, 0x00, 0x00, 0x11, 0x84, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x55,\n\t0x02, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x40,\n\t0x30, 0x83, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x1e, 0xcd, 0xbf, 0x7a, 0xbf,\n\t// Entry 200 - 23F\n\t0xdf, 0xc3, 0x83, 0x82, 0xc0, 0xfb, 0x57, 0x27,\n\t0xcd, 0x55, 0xe7, 0x01, 0x00, 0x20, 0xb2, 0xc5,\n\t0xa4, 0x45, 0x25, 0x9b, 0x02, 0xdf, 0xe0, 0xdf,\n\t0x03, 0x44, 0x08, 0x10, 0x01, 0x04, 0x01, 0xe3,\n\t0x92, 0x54, 0xdb, 0x28, 0xd1, 0x5f, 0xf6, 0x6d,\n\t0x79, 0xed, 0x1c, 0x7d, 0x04, 0x08, 0x00, 0x01,\n\t0x21, 0x12, 0x64, 0x5f, 0xdd, 0x0e, 0x85, 0x4f,\n\t0x40, 0x40, 0x00, 0x04, 0xf1, 0xfd, 0x3d, 0x54,\n\t// Entry 240 - 27F\n\t0xe8, 0x03, 0xb4, 0x27, 0x23, 0x0d, 0x00, 0x00,\n\t0x20, 0x7b, 0x38, 0x02, 0x05, 0x84, 0x00, 0xf0,\n\t0xbb, 0x7e, 0x5a, 0x00, 0x18, 0x04, 0x81, 0x00,\n\t0x00, 0x00, 0x80, 0x10, 0x90, 0x1c, 0x01, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x04,\n\t0x08, 0xa0, 0x70, 0xa5, 0x0c, 0x40, 0x00, 0x00,\n\t0x11, 0x04, 0x04, 0x68, 0x00, 0x20, 0x70, 0xff,\n\t0x7b, 0x7f, 0x60, 0x00, 0x05, 0x9b, 0xdd, 0x66,\n\t// Entry 280 - 2BF\n\t0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x40, 0x05,\n\t0xb5, 0xb6, 0x80, 0x08, 0x04, 0x00, 0x04, 0x51,\n\t0xe2, 0xef, 0xfd, 0x3f, 0x05, 0x09, 0x08, 0x05,\n\t0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,\n\t0x08, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x60,\n\t0xe7, 0x48, 0x00, 0x81, 0x20, 0xc0, 0x05, 0x80,\n\t0x03, 0x00, 0x00, 0x00, 0x8c, 0x50, 0x40, 0x04,\n\t0x84, 0x47, 0x84, 0x40, 0x20, 0x10, 0x00, 0x20,\n\t// Entry 2C0 - 2FF\n\t0x02, 0x50, 0x80, 0x11, 0x00, 0x91, 0x6c, 0xe2,\n\t0x50, 0x27, 0x1d, 0x11, 0x29, 0x06, 0x59, 0xe9,\n\t0x33, 0x08, 0x00, 0x20, 0x04, 0x40, 0x10, 0x00,\n\t0x00, 0x00, 0x50, 0x44, 0x92, 0x49, 0xd6, 0x5d,\n\t0xa7, 0x81, 0x47, 0x97, 0xfb, 0x00, 0x10, 0x00,\n\t0x08, 0x00, 0x80, 0x00, 0x40, 0x04, 0x00, 0x01,\n\t0x02, 0x00, 0x01, 0x40, 0x80, 0x00, 0x00, 0x08,\n\t0xd8, 0xeb, 0xf6, 0x39, 0xc4, 0x89, 0x12, 0x00,\n\t// Entry 300 - 33F\n\t0x00, 0x0c, 0x04, 0x01, 0x20, 0x20, 0xdd, 0xa0,\n\t0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,\n\t0x04, 0x10, 0xd0, 0x9d, 0x95, 0x13, 0x04, 0x80,\n\t0x00, 0x01, 0xd0, 0x12, 0x40, 0x00, 0x10, 0xb0,\n\t0x10, 0x62, 0x4c, 0xd2, 0x02, 0x01, 0x4a, 0x00,\n\t0x46, 0x04, 0x00, 0x08, 0x02, 0x00, 0x20, 0x80,\n\t0x00, 0x80, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00,\n\t0x00, 0xf0, 0xd8, 0x6f, 0x15, 0x02, 0x08, 0x00,\n\t// Entry 340 - 37F\n\t0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01,\n\t0x00, 0x10, 0x00, 0x00, 0x00, 0xf0, 0x84, 0xe3,\n\t0xdd, 0xbf, 0xf9, 0xf9, 0x3b, 0x7f, 0x7f, 0xdb,\n\t0xfd, 0xfc, 0xfe, 0xdf, 0xff, 0xfd, 0xff, 0xf6,\n\t0xfb, 0xfc, 0xf7, 0x1f, 0xff, 0xb3, 0x6c, 0xff,\n\t0xd9, 0xad, 0xdf, 0xfe, 0xef, 0xba, 0xdf, 0xff,\n\t0xff, 0xff, 0xb7, 0xdd, 0x7d, 0xbf, 0xab, 0x7f,\n\t0xfd, 0xfd, 0xdf, 0x2f, 0x9c, 0xdf, 0xf3, 0x6f,\n\t// Entry 380 - 3BF\n\t0xdf, 0xdd, 0xff, 0xfb, 0xee, 0xd2, 0xab, 0x5f,\n\t0xd5, 0xdf, 0x7f, 0xff, 0xeb, 0xff, 0xe4, 0x4d,\n\t0xf9, 0xff, 0xfe, 0xf7, 0xfd, 0xdf, 0xfb, 0xbf,\n\t0xee, 0xdb, 0x6f, 0xef, 0xff, 0x7f, 0xff, 0xff,\n\t0xf7, 0x5f, 0xd3, 0x3b, 0xfd, 0xd9, 0xdf, 0xeb,\n\t0xbc, 0x08, 0x05, 0x24, 0xff, 0x07, 0x70, 0xfe,\n\t0xe6, 0x5e, 0x00, 0x08, 0x00, 0x83, 0x3d, 0x1b,\n\t0x06, 0xe6, 0x72, 0x60, 0xd1, 0x3c, 0x7f, 0x44,\n\t// Entry 3C0 - 3FF\n\t0x02, 0x30, 0x9f, 0x7a, 0x16, 0xbd, 0x7f, 0x57,\n\t0xf2, 0xff, 0x31, 0xff, 0xf2, 0x1e, 0x90, 0xf7,\n\t0xf1, 0xf9, 0x45, 0x80, 0x01, 0x02, 0x00, 0x00,\n\t0x40, 0x54, 0x9f, 0x8a, 0xd9, 0xd9, 0x0e, 0x11,\n\t0x86, 0x51, 0xc0, 0xf3, 0xfb, 0x47, 0x00, 0x01,\n\t0x05, 0xd1, 0x50, 0x58, 0x00, 0x00, 0x00, 0x10,\n\t0x04, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x17, 0xd2,\n\t0xb9, 0xfd, 0xfc, 0xba, 0xfe, 0xef, 0xc7, 0xbe,\n\t// Entry 400 - 43F\n\t0x53, 0x6f, 0xdf, 0xe7, 0xdb, 0x65, 0xbb, 0x7f,\n\t0xfa, 0xff, 0x77, 0xf3, 0xef, 0xbf, 0xfd, 0xf7,\n\t0xdf, 0xdf, 0x9b, 0x7f, 0xff, 0xff, 0x7f, 0x6f,\n\t0xf7, 0xfb, 0xeb, 0xdf, 0xbc, 0xff, 0xbf, 0x6b,\n\t0x7b, 0xfb, 0xff, 0xce, 0x76, 0xbd, 0xf7, 0xf7,\n\t0xdf, 0xdc, 0xf7, 0xf7, 0xff, 0xdf, 0xf3, 0xfe,\n\t0xef, 0xff, 0xff, 0xff, 0xb6, 0x7f, 0x7f, 0xde,\n\t0xf7, 0xb9, 0xeb, 0x77, 0xff, 0xfb, 0xbf, 0xdf,\n\t// Entry 440 - 47F\n\t0xfd, 0xfe, 0xfb, 0xff, 0xfe, 0xeb, 0x1f, 0x7d,\n\t0x2f, 0xfd, 0xb6, 0xb5, 0xa5, 0xfc, 0xff, 0xfd,\n\t0x7f, 0x4e, 0xbf, 0x8f, 0xae, 0xff, 0xee, 0xdf,\n\t0x7f, 0xf7, 0x73, 0x02, 0x02, 0x04, 0xfc, 0xf7,\n\t0xff, 0xb7, 0xd7, 0xef, 0xfe, 0xcd, 0xf5, 0xce,\n\t0xe2, 0x8e, 0xe7, 0xbf, 0xb7, 0xff, 0x56, 0xbd,\n\t0xcd, 0xff, 0xfb, 0xff, 0xdf, 0xd7, 0xea, 0xff,\n\t0xe5, 0x5f, 0x6d, 0x0f, 0xa7, 0x51, 0x06, 0xc4,\n\t// Entry 480 - 4BF\n\t0x13, 0x50, 0x5d, 0xaf, 0xa6, 0xfd, 0x99, 0xfb,\n\t0x63, 0x1d, 0x53, 0xff, 0xef, 0xb7, 0x35, 0x20,\n\t0x14, 0x00, 0x55, 0x51, 0x82, 0x65, 0xf5, 0x41,\n\t0xe2, 0xff, 0xfc, 0xdf, 0x00, 0x05, 0xc5, 0x05,\n\t0x00, 0x22, 0x00, 0x74, 0x69, 0x10, 0x08, 0x04,\n\t0x41, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x51, 0x20, 0x05, 0x04, 0x01, 0x00, 0x00,\n\t0x06, 0x01, 0x20, 0x00, 0x18, 0x01, 0x92, 0xb1,\n\t// Entry 4C0 - 4FF\n\t0xfd, 0x47, 0x49, 0x06, 0x95, 0x06, 0x57, 0xed,\n\t0xfb, 0x4c, 0x1c, 0x6b, 0x83, 0x04, 0x62, 0x40,\n\t0x00, 0x11, 0x42, 0x00, 0x00, 0x00, 0x54, 0x83,\n\t0xb8, 0x4f, 0x10, 0x8c, 0x89, 0x46, 0xde, 0xf7,\n\t0x13, 0x31, 0x00, 0x20, 0x00, 0x00, 0x00, 0x90,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x10, 0x00,\n\t0x01, 0x00, 0x00, 0xf0, 0x5b, 0xf4, 0xbe, 0x3d,\n\t0xba, 0xcf, 0xf7, 0xaf, 0x42, 0x04, 0x84, 0x41,\n\t// Entry 500 - 53F\n\t0x30, 0xff, 0x79, 0x72, 0x04, 0x00, 0x00, 0x49,\n\t0x2d, 0x14, 0x27, 0x57, 0xed, 0xf1, 0x3f, 0xe7,\n\t0x3f, 0x00, 0x00, 0x02, 0xc6, 0xa0, 0x1e, 0xf8,\n\t0xbb, 0xff, 0xfd, 0xfb, 0xb7, 0xfd, 0xe5, 0xf7,\n\t0xfd, 0xfc, 0xd5, 0xed, 0x47, 0xf4, 0x7e, 0x10,\n\t0x01, 0x01, 0x84, 0x6d, 0xff, 0xf7, 0xdd, 0xf9,\n\t0x5b, 0x05, 0x86, 0xed, 0xf5, 0x77, 0xbd, 0x3c,\n\t0x00, 0x00, 0x00, 0x42, 0x71, 0x42, 0x00, 0x40,\n\t// Entry 540 - 57F\n\t0x00, 0x00, 0x01, 0x43, 0x19, 0x00, 0x08, 0x00,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t// Entry 580 - 5BF\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xab, 0xbd, 0xe7, 0x57, 0xee, 0x13, 0x5d,\n\t0x09, 0xc1, 0x40, 0x21, 0xfa, 0x17, 0x01, 0x80,\n\t0x00, 0x00, 0x00, 0x00, 0xf0, 0xce, 0xfb, 0xbf,\n\t0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,\n\t0x00, 0x30, 0x15, 0xa3, 0x10, 0x00, 0x00, 0x00,\n\t0x11, 0x04, 0x16, 0x00, 0x00, 0x02, 0x00, 0x81,\n\t0xa3, 0x01, 0x50, 0x00, 0x00, 0x83, 0x11, 0x40,\n\t// Entry 5C0 - 5FF\n\t0x00, 0x00, 0x00, 0xf0, 0xdd, 0x7b, 0x3e, 0x02,\n\t0xaa, 0x10, 0x5d, 0x98, 0x52, 0x00, 0x80, 0x20,\n\t0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x02, 0x02,\n\t0x19, 0x00, 0x10, 0x02, 0x10, 0x61, 0x5a, 0x9d,\n\t0x31, 0x00, 0x00, 0x00, 0x01, 0x10, 0x02, 0x20,\n\t0x00, 0x00, 0x01, 0x00, 0x42, 0x00, 0x20, 0x00,\n\t0x00, 0x1f, 0xdf, 0xd2, 0xb9, 0xff, 0xfd, 0x3f,\n\t0x1f, 0x98, 0xcf, 0x9c, 0xbf, 0xaf, 0x5f, 0xfe,\n\t// Entry 600 - 63F\n\t0x7b, 0x4b, 0x40, 0x10, 0xe1, 0xfd, 0xaf, 0xd9,\n\t0xb7, 0xf6, 0xfb, 0xb3, 0xc7, 0xff, 0x6f, 0xf1,\n\t0x73, 0xb1, 0x7f, 0x9f, 0x7f, 0xbd, 0xfc, 0xb7,\n\t0xee, 0x1c, 0xfa, 0xcb, 0xef, 0xdd, 0xf9, 0xbd,\n\t0x6e, 0xae, 0x55, 0xfd, 0x6e, 0x81, 0x76, 0x1f,\n\t0xd4, 0x77, 0xf5, 0x7d, 0xfb, 0xff, 0xeb, 0xfe,\n\t0xbe, 0x5f, 0x46, 0x1b, 0xe9, 0x5f, 0x50, 0x18,\n\t0x02, 0xfa, 0xf7, 0x9d, 0x15, 0x97, 0x05, 0x0f,\n\t// Entry 640 - 67F\n\t0x75, 0xc4, 0x7d, 0x81, 0x92, 0xf1, 0x57, 0x6c,\n\t0xff, 0xe4, 0xef, 0x6f, 0xff, 0xfc, 0xdd, 0xde,\n\t0xfc, 0xfd, 0x76, 0x5f, 0x7a, 0x1f, 0x00, 0x98,\n\t0x02, 0xfb, 0xa3, 0xef, 0xf3, 0xd6, 0xf2, 0xff,\n\t0xb9, 0xda, 0x7d, 0x50, 0x1e, 0x15, 0x7b, 0xb4,\n\t0xf5, 0x3e, 0xff, 0xff, 0xf1, 0xf7, 0xff, 0xe7,\n\t0x5f, 0xff, 0xff, 0x9e, 0xdb, 0xf6, 0xd7, 0xb9,\n\t0xef, 0x27, 0x80, 0xbb, 0xc5, 0xff, 0xff, 0xe3,\n\t// Entry 680 - 6BF\n\t0x97, 0x9d, 0xbf, 0x9f, 0xf7, 0xc7, 0xfd, 0x37,\n\t0xce, 0x7f, 0x04, 0x1d, 0x53, 0x7f, 0xf8, 0xda,\n\t0x5d, 0xce, 0x7d, 0x06, 0xb9, 0xea, 0x69, 0xa0,\n\t0x1a, 0x20, 0x00, 0x30, 0x02, 0x04, 0x24, 0x08,\n\t0x04, 0x00, 0x00, 0x40, 0xd4, 0x02, 0x04, 0x00,\n\t0x00, 0x04, 0x00, 0x04, 0x00, 0x20, 0x01, 0x06,\n\t0x50, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x00,\n\t0x04, 0x00, 0x10, 0xcc, 0x58, 0xd5, 0x0d, 0x0f,\n\t// Entry 6C0 - 6FF\n\t0x14, 0x4d, 0xf1, 0x16, 0x44, 0xd1, 0x42, 0x08,\n\t0x40, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00,\n\t0x00, 0xdc, 0xfb, 0xcb, 0x0e, 0x58, 0x08, 0x41,\n\t0x04, 0x20, 0x04, 0x00, 0x30, 0x12, 0x40, 0x00,\n\t0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x01, 0x00, 0x00, 0x00, 0x80, 0x10, 0x10, 0xab,\n\t0x6d, 0x93, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x80, 0x80, 0x25, 0x00, 0x00,\n\t// Entry 700 - 73F\n\t0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,\n\t0x80, 0x86, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x01,\n\t0xdf, 0x18, 0x00, 0x00, 0x02, 0xf0, 0xfd, 0x79,\n\t0x3b, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,\n\t0x03, 0x00, 0x09, 0x20, 0x00, 0x00, 0x01, 0x00,\n\t0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 740 - 77F\n\t0x00, 0x00, 0x00, 0xef, 0xd5, 0xfd, 0xcf, 0x7e,\n\t0xb0, 0x11, 0x00, 0x00, 0x00, 0x92, 0x01, 0x44,\n\t0xcd, 0xf9, 0x5c, 0x00, 0x01, 0x00, 0x30, 0x04,\n\t0x04, 0x55, 0x00, 0x01, 0x04, 0xf4, 0x3f, 0x4a,\n\t0x01, 0x00, 0x00, 0xb0, 0x80, 0x00, 0x55, 0x55,\n\t0x97, 0x7c, 0x9f, 0x31, 0xcc, 0x68, 0xd1, 0x03,\n\t0xd5, 0x57, 0x27, 0x14, 0x01, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x2c, 0xf7, 0xcb, 0x1f, 0x14, 0x60,\n\t// Entry 780 - 7BF\n\t0x03, 0x68, 0x01, 0x10, 0x8b, 0x38, 0x8a, 0x01,\n\t0x00, 0x00, 0x20, 0x00, 0x24, 0x44, 0x00, 0x00,\n\t0x10, 0x03, 0x11, 0x02, 0x01, 0x00, 0x00, 0xf0,\n\t0xf5, 0xff, 0xd5, 0x97, 0xbc, 0x70, 0xd6, 0x78,\n\t0x78, 0x15, 0x50, 0x01, 0xa4, 0x84, 0xa9, 0x41,\n\t0x00, 0x00, 0x00, 0x6b, 0x39, 0x52, 0x74, 0x00,\n\t0xe8, 0x30, 0x90, 0x6a, 0x92, 0x00, 0x00, 0x02,\n\t0xff, 0xef, 0xff, 0x4b, 0x85, 0x53, 0xf4, 0xed,\n\t// Entry 7C0 - 7FF\n\t0xdd, 0xbf, 0x72, 0x19, 0xc7, 0x0c, 0xd5, 0x42,\n\t0x54, 0xdd, 0x77, 0x14, 0x00, 0x80, 0x40, 0x56,\n\t0xcc, 0x16, 0x9e, 0xea, 0x35, 0x7d, 0xef, 0xff,\n\t0xbd, 0xa4, 0xaf, 0x01, 0x44, 0x18, 0x01, 0x4d,\n\t0x4e, 0x4a, 0x08, 0x50, 0x28, 0x30, 0xe0, 0x80,\n\t0x10, 0x20, 0x24, 0x00, 0xff, 0x2f, 0xd3, 0x60,\n\t0xfe, 0x01, 0x02, 0x88, 0x0a, 0x40, 0x16, 0x01,\n\t0x01, 0x15, 0x2b, 0x3c, 0x01, 0x00, 0x00, 0x10,\n\t// Entry 800 - 83F\n\t0x90, 0x49, 0x41, 0x02, 0x02, 0x01, 0xe1, 0xbf,\n\t0xbf, 0x03, 0x00, 0x00, 0x10, 0xd4, 0xa3, 0xd1,\n\t0x40, 0x9c, 0x44, 0xdf, 0xf5, 0x8f, 0x66, 0xb3,\n\t0x55, 0x20, 0xd4, 0xc1, 0xd8, 0x30, 0x3d, 0x80,\n\t0x00, 0x00, 0x00, 0x04, 0xd4, 0x11, 0xc5, 0x84,\n\t0x2e, 0x50, 0x00, 0x22, 0x50, 0x6e, 0xbd, 0x93,\n\t0x07, 0x00, 0x20, 0x10, 0x84, 0xb2, 0x45, 0x10,\n\t0x06, 0x44, 0x00, 0x00, 0x12, 0x02, 0x11, 0x00,\n\t// Entry 840 - 87F\n\t0xf0, 0xfb, 0xfd, 0x3f, 0x05, 0x00, 0x12, 0x81,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02,\n\t0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x02, 0x28,\n\t0x84, 0x00, 0x21, 0xc0, 0x23, 0x24, 0x00, 0x00,\n\t0x00, 0xcb, 0xe4, 0x3a, 0x42, 0x88, 0x14, 0xf1,\n\t0xef, 0xff, 0x7f, 0x12, 0x01, 0x01, 0x84, 0x50,\n\t0x07, 0xfc, 0xff, 0xff, 0x0f, 0x01, 0x00, 0x40,\n\t0x10, 0x38, 0x01, 0x01, 0x1c, 0x12, 0x40, 0xe1,\n\t// Entry 880 - 8BF\n\t0x76, 0x16, 0x08, 0x03, 0x10, 0x00, 0x00, 0x00,\n\t0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x24,\n\t0x0a, 0x00, 0x80, 0x00, 0x00,\n}\n\n// altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives\n// to 2-letter language codes that cannot be derived using the method described above.\n// Each 3-letter code is followed by its 1-byte langID.\nconst altLangISO3 tag.Index = \"---\\x00cor\\x00hbs\\x01heb\\x02kin\\x03spa\\x04yid\\x05\\xff\\xff\\xff\\xff\"\n\n// altLangIndex is used to convert indexes in altLangISO3 to langIDs.\n// Size: 12 bytes, 6 elements\nvar altLangIndex = [6]uint16{\n\t0x0281, 0x0407, 0x01fb, 0x03e5, 0x013e, 0x0208,\n}\n\n// langAliasMap maps langIDs to their suggested replacements.\n// Size: 656 bytes, 164 elements\nvar langAliasMap = [164]fromTo{\n\t0:   {from: 0x82, to: 0x88},\n\t1:   {from: 0x187, to: 0x1ae},\n\t2:   {from: 0x1f3, to: 0x1e1},\n\t3:   {from: 0x1fb, to: 0x1bc},\n\t4:   {from: 0x208, to: 0x512},\n\t5:   {from: 0x20f, to: 0x20e},\n\t6:   {from: 0x310, to: 0x3dc},\n\t7:   {from: 0x347, to: 0x36f},\n\t8:   {from: 0x407, to: 0x432},\n\t9:   {from: 0x47a, to: 0x153},\n\t10:  {from: 0x490, to: 0x451},\n\t11:  {from: 0x4a2, to: 0x21},\n\t12:  {from: 0x53e, to: 0x544},\n\t13:  {from: 0x58f, to: 0x12d},\n\t14:  {from: 0x630, to: 0x1eb1},\n\t15:  {from: 0x651, to: 0x431},\n\t16:  {from: 0x662, to: 0x431},\n\t17:  {from: 0x6ed, to: 0x3a},\n\t18:  {from: 0x6f8, to: 0x1d7},\n\t19:  {from: 0x73e, to: 0x21a1},\n\t20:  {from: 0x7b3, to: 0x56},\n\t21:  {from: 0x7b9, to: 0x299b},\n\t22:  {from: 0x7c5, to: 0x58},\n\t23:  {from: 0x7e6, to: 0x145},\n\t24:  {from: 0x80c, to: 0x5a},\n\t25:  {from: 0x815, to: 0x8d},\n\t26:  {from: 0x87e, to: 0x810},\n\t27:  {from: 0x8c3, to: 0xee3},\n\t28:  {from: 0x9ef, to: 0x331},\n\t29:  {from: 0xa36, to: 0x2c5},\n\t30:  {from: 0xa3d, to: 0xbf},\n\t31:  {from: 0xabe, to: 0x3322},\n\t32:  {from: 0xb38, to: 0x529},\n\t33:  {from: 0xb75, to: 0x265a},\n\t34:  {from: 0xb7e, to: 0xbc3},\n\t35:  {from: 0xb9b, to: 0x44e},\n\t36:  {from: 0xbbc, to: 0x4229},\n\t37:  {from: 0xbbf, to: 0x529},\n\t38:  {from: 0xbfe, to: 0x2da7},\n\t39:  {from: 0xc2e, to: 0x3181},\n\t40:  {from: 0xcb9, to: 0xf3},\n\t41:  {from: 0xd08, to: 0xfa},\n\t42:  {from: 0xdc8, to: 0x11a},\n\t43:  {from: 0xdd7, to: 0x32d},\n\t44:  {from: 0xdf8, to: 0xdfb},\n\t45:  {from: 0xdfe, to: 0x531},\n\t46:  {from: 0xedf, to: 0x205a},\n\t47:  {from: 0xeee, to: 0x2e9a},\n\t48:  {from: 0xf39, to: 0x367},\n\t49:  {from: 0x10d0, to: 0x140},\n\t50:  {from: 0x1104, to: 0x2d0},\n\t51:  {from: 0x11a0, to: 0x1ec},\n\t52:  {from: 0x1279, to: 0x21},\n\t53:  {from: 0x1424, to: 0x15e},\n\t54:  {from: 0x1470, to: 0x14e},\n\t55:  {from: 0x151f, to: 0xd9b},\n\t56:  {from: 0x1523, to: 0x390},\n\t57:  {from: 0x1532, to: 0x19f},\n\t58:  {from: 0x1580, to: 0x210},\n\t59:  {from: 0x1583, to: 0x10d},\n\t60:  {from: 0x15a3, to: 0x3caf},\n\t61:  {from: 0x166a, to: 0x19b},\n\t62:  {from: 0x16c8, to: 0x136},\n\t63:  {from: 0x1700, to: 0x29f8},\n\t64:  {from: 0x1718, to: 0x194},\n\t65:  {from: 0x1727, to: 0xf3f},\n\t66:  {from: 0x177a, to: 0x178},\n\t67:  {from: 0x1809, to: 0x17b6},\n\t68:  {from: 0x1816, to: 0x18f3},\n\t69:  {from: 0x188a, to: 0x436},\n\t70:  {from: 0x1979, to: 0x1d01},\n\t71:  {from: 0x1a74, to: 0x2bb0},\n\t72:  {from: 0x1a8a, to: 0x1f8},\n\t73:  {from: 0x1b5a, to: 0x1fa},\n\t74:  {from: 0x1b86, to: 0x1515},\n\t75:  {from: 0x1d64, to: 0x2c9b},\n\t76:  {from: 0x2038, to: 0x37b1},\n\t77:  {from: 0x203d, to: 0x20dd},\n\t78:  {from: 0x205a, to: 0x30b},\n\t79:  {from: 0x20e3, to: 0x274},\n\t80:  {from: 0x20ee, to: 0x263},\n\t81:  {from: 0x20f2, to: 0x22d},\n\t82:  {from: 0x20f9, to: 0x256},\n\t83:  {from: 0x210f, to: 0x21eb},\n\t84:  {from: 0x2135, to: 0x27d},\n\t85:  {from: 0x2160, to: 0x913},\n\t86:  {from: 0x2199, to: 0x121},\n\t87:  {from: 0x21ce, to: 0x1561},\n\t88:  {from: 0x21e6, to: 0x504},\n\t89:  {from: 0x21f4, to: 0x49f},\n\t90:  {from: 0x222d, to: 0x121},\n\t91:  {from: 0x2237, to: 0x121},\n\t92:  {from: 0x2262, to: 0x92a},\n\t93:  {from: 0x2316, to: 0x3226},\n\t94:  {from: 0x2382, to: 0x3365},\n\t95:  {from: 0x2472, to: 0x2c7},\n\t96:  {from: 0x24e4, to: 0x2ff},\n\t97:  {from: 0x24f0, to: 0x2fa},\n\t98:  {from: 0x24fa, to: 0x31f},\n\t99:  {from: 0x2550, to: 0xb5b},\n\t100: {from: 0x25a9, to: 0xe2},\n\t101: {from: 0x263e, to: 0x2d0},\n\t102: {from: 0x26c9, to: 0x26b4},\n\t103: {from: 0x26f9, to: 0x3c8},\n\t104: {from: 0x2727, to: 0x3caf},\n\t105: {from: 0x2765, to: 0x26b4},\n\t106: {from: 0x2789, to: 0x4358},\n\t107: {from: 0x28ef, to: 0x2837},\n\t108: {from: 0x2914, to: 0x351},\n\t109: {from: 0x2986, to: 0x2da7},\n\t110: {from: 0x2b1a, to: 0x38d},\n\t111: {from: 0x2bfc, to: 0x395},\n\t112: {from: 0x2c3f, to: 0x3caf},\n\t113: {from: 0x2cfc, to: 0x3be},\n\t114: {from: 0x2d13, to: 0x597},\n\t115: {from: 0x2d47, to: 0x148},\n\t116: {from: 0x2d48, to: 0x148},\n\t117: {from: 0x2dff, to: 0x2f1},\n\t118: {from: 0x2e08, to: 0x19cc},\n\t119: {from: 0x2e1a, to: 0x2d95},\n\t120: {from: 0x2e21, to: 0x292},\n\t121: {from: 0x2e54, to: 0x7d},\n\t122: {from: 0x2e65, to: 0x2282},\n\t123: {from: 0x2ea0, to: 0x2e9b},\n\t124: {from: 0x2eef, to: 0x2ed7},\n\t125: {from: 0x3193, to: 0x3c4},\n\t126: {from: 0x3366, to: 0x338e},\n\t127: {from: 0x342a, to: 0x3dc},\n\t128: {from: 0x34ee, to: 0x18d0},\n\t129: {from: 0x35c8, to: 0x2c9b},\n\t130: {from: 0x35e6, to: 0x412},\n\t131: {from: 0x3658, to: 0x246},\n\t132: {from: 0x3676, to: 0x3f4},\n\t133: {from: 0x36fd, to: 0x445},\n\t134: {from: 0x37c0, to: 0x121},\n\t135: {from: 0x3816, to: 0x38f2},\n\t136: {from: 0x382b, to: 0x2c9b},\n\t137: {from: 0x382f, to: 0xa9},\n\t138: {from: 0x3832, to: 0x3228},\n\t139: {from: 0x386c, to: 0x39a6},\n\t140: {from: 0x3892, to: 0x3fc0},\n\t141: {from: 0x38a5, to: 0x39d7},\n\t142: {from: 0x38b4, to: 0x1fa4},\n\t143: {from: 0x38b5, to: 0x2e9a},\n\t144: {from: 0x395c, to: 0x47e},\n\t145: {from: 0x3b4e, to: 0xd91},\n\t146: {from: 0x3b78, to: 0x137},\n\t147: {from: 0x3c99, to: 0x4bc},\n\t148: {from: 0x3fbd, to: 0x100},\n\t149: {from: 0x4208, to: 0xa91},\n\t150: {from: 0x42be, to: 0x573},\n\t151: {from: 0x42f9, to: 0x3f60},\n\t152: {from: 0x4378, to: 0x25a},\n\t153: {from: 0x43cb, to: 0x36cb},\n\t154: {from: 0x43cd, to: 0x10f},\n\t155: {from: 0x44af, to: 0x3322},\n\t156: {from: 0x44e3, to: 0x512},\n\t157: {from: 0x45ca, to: 0x2409},\n\t158: {from: 0x45dd, to: 0x26dc},\n\t159: {from: 0x4610, to: 0x48ae},\n\t160: {from: 0x46ae, to: 0x46a0},\n\t161: {from: 0x473e, to: 0x4745},\n\t162: {from: 0x4916, to: 0x31f},\n\t163: {from: 0x49a7, to: 0x523},\n}\n\n// Size: 164 bytes, 164 elements\nvar langAliasTypes = [164]langAliasType{\n\t// Entry 0 - 3F\n\t1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 1, 0, 0, 1, 2,\n\t1, 1, 2, 0, 1, 0, 1, 2, 1, 1, 0, 0, 2, 1, 1, 0,\n\t2, 0, 0, 1, 0, 1, 0, 0, 1, 2, 1, 1, 1, 1, 0, 0,\n\t2, 1, 1, 1, 1, 2, 1, 0, 1, 1, 2, 2, 0, 1, 2, 0,\n\t// Entry 40 - 7F\n\t1, 0, 1, 1, 1, 1, 0, 0, 2, 1, 0, 0, 0, 0, 1, 1,\n\t1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,\n\t2, 2, 2, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1,\n\t0, 1, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2,\n\t// Entry 80 - BF\n\t0, 0, 2, 1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,\n\t1, 1, 0, 1, 2, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0,\n\t0, 1, 1, 1,\n}\n\nconst (\n\t_Latn = 87\n\t_Hani = 54\n\t_Hans = 56\n\t_Hant = 57\n\t_Qaaa = 139\n\t_Qaai = 147\n\t_Qabx = 188\n\t_Zinh = 236\n\t_Zyyy = 241\n\t_Zzzz = 242\n)\n\n// script is an alphabetically sorted list of ISO 15924 codes. The index\n// of the script in the string, divided by 4, is the internal scriptID.\nconst script tag.Index = \"\" + // Size: 976 bytes\n\t\"----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBhksBlisBopo\" +\n\t\"BrahBraiBugiBuhdCakmCansCariChamCherCirtCoptCpmnCprtCyrlCyrsDevaDogrDsrt\" +\n\t\"DuplEgydEgyhEgypElbaEthiGeokGeorGlagGongGonmGothGranGrekGujrGuruHanbHang\" +\n\t\"HaniHanoHansHantHatrHebrHiraHluwHmngHmnpHrktHungIndsItalJamoJavaJpanJurc\" +\n\t\"KaliKanaKharKhmrKhojKitlKitsKndaKoreKpelKthiLanaLaooLatfLatgLatnLekeLepc\" +\n\t\"LimbLinaLinbLisuLomaLyciLydiMahjMakaMandManiMarcMayaMedfMendMercMeroMlym\" +\n\t\"ModiMongMoonMrooMteiMultMymrNarbNbatNewaNkdbNkgbNkooNshuOgamOlckOrkhOrya\" +\n\t\"OsgeOsmaPalmPaucPermPhagPhliPhlpPhlvPhnxPiqdPlrdPrtiQaaaQaabQaacQaadQaae\" +\n\t\"QaafQaagQaahQaaiQaajQaakQaalQaamQaanQaaoQaapQaaqQaarQaasQaatQaauQaavQaaw\" +\n\t\"QaaxQaayQaazQabaQabbQabcQabdQabeQabfQabgQabhQabiQabjQabkQablQabmQabnQabo\" +\n\t\"QabpQabqQabrQabsQabtQabuQabvQabwQabxRjngRoroRunrSamrSaraSarbSaurSgnwShaw\" +\n\t\"ShrdShuiSiddSindSinhSoraSoyoSundSyloSyrcSyreSyrjSyrnTagbTakrTaleTaluTaml\" +\n\t\"TangTavtTeluTengTfngTglgThaaThaiTibtTirhUgarVaiiVispWaraWchoWoleXpeoXsux\" +\n\t\"YiiiZanbZinhZmthZsyeZsymZxxxZyyyZzzz\\xff\\xff\\xff\\xff\"\n\n// suppressScript is an index from langID to the dominant script for that language,\n// if it exists.  If a script is given, it should be suppressed from the language tag.\n// Size: 1330 bytes, 1330 elements\nvar suppressScript = [1330]uint8{\n\t// Entry 0 - 3F\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 40 - 7F\n\t0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00,\n\t// Entry 80 - BF\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry C0 - FF\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 100 - 13F\n\t0x57, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0xde, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x57, 0x00, 0x57, 0x00,\n\t// Entry 140 - 17F\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x57, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x57, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 180 - 1BF\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x57, 0x32, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x21, 0x00,\n\t// Entry 1C0 - 1FF\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x57, 0x00, 0x57, 0x57, 0x00, 0x08,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x57, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 200 - 23F\n\t0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 240 - 27F\n\t0x00, 0x00, 0x1f, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x4f, 0x00, 0x00, 0x50, 0x00, 0x21, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 280 - 2BF\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 2C0 - 2FF\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,\n\t// Entry 300 - 33F\n\t0x00, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x57,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t// Entry 340 - 37F\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x57, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x57, 0x00,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 380 - 3BF\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00,\n\t// Entry 3C0 - 3FF\n\t0x57, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x1f, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 400 - 43F\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 440 - 47F\n\t0x00, 0x00, 0x00, 0x00, 0x57, 0x57, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0xd7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0xda, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x29,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t// Entry 480 - 4BF\n\t0x57, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 4C0 - 4FF\n\t0x57, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 500 - 53F\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00,\n}\n\nconst (\n\t_001 = 1\n\t_419 = 31\n\t_BR  = 65\n\t_CA  = 73\n\t_ES  = 110\n\t_GB  = 123\n\t_MD  = 188\n\t_PT  = 238\n\t_UK  = 306\n\t_US  = 309\n\t_ZZ  = 357\n\t_XA  = 323\n\t_XC  = 325\n\t_XK  = 333\n)\n\n// isoRegionOffset needs to be added to the index of regionISO to obtain the regionID\n// for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for\n// the UN.M49 codes used for groups.)\nconst isoRegionOffset = 32\n\n// regionTypes defines the status of a region for various standards.\n// Size: 358 bytes, 358 elements\nvar regionTypes = [358]uint8{\n\t// Entry 0 - 3F\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t// Entry 40 - 7F\n\t0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x04,\n\t0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04,\n\t0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06,\n\t0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,\n\t0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t// Entry 80 - BF\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x00, 0x04, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t// Entry C0 - FF\n\t0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,\n\t0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04, 0x06,\n\t0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,\n\t0x06, 0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05,\n\t0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,\n\t// Entry 100 - 13F\n\t0x05, 0x05, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x02, 0x06, 0x04, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t// Entry 140 - 17F\n\t0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05,\n\t0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,\n\t0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,\n\t0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x06, 0x06,\n\t0x04, 0x06, 0x06, 0x04, 0x06, 0x05,\n}\n\n// regionISO holds a list of alphabetically sorted 2-letter ISO region codes.\n// Each 2-letter codes is followed by two bytes with the following meaning:\n//     - [A-Z}{2}: the first letter of the 2-letter code plus these two\n//                 letters form the 3-letter ISO code.\n//     - 0, n:     index into altRegionISO3.\nconst regionISO tag.Index = \"\" + // Size: 1308 bytes\n\t\"AAAAACSCADNDAEREAFFGAGTGAIIAALLBAMRMANNTAOGOAQTAARRGASSMATUTAUUSAWBWAXLA\" +\n\t\"AZZEBAIHBBRBBDGDBEELBFFABGGRBHHRBIDIBJENBLLMBMMUBNRNBOOLBQESBRRABSHSBTTN\" +\n\t\"BUURBVVTBWWABYLRBZLZCAANCCCKCDODCFAFCGOGCHHECIIVCKOKCLHLCMMRCNHNCOOLCPPT\" +\n\t\"CRRICS\\x00\\x00CTTECUUBCVPVCWUWCXXRCYYPCZZEDDDRDEEUDGGADJJIDKNKDMMADOOMDY\" +\n\t\"HYDZZAEA  ECCUEESTEGGYEHSHERRIESSPETTHEU\\x00\\x03EZ  FIINFJJIFKLKFMSMFORO\" +\n\t\"FQ\\x00\\x18FRRAFXXXGAABGBBRGDRDGEEOGFUFGGGYGHHAGIIBGLRLGMMBGNINGPLPGQNQGR\" +\n\t\"RCGS\\x00\\x06GTTMGUUMGWNBGYUYHKKGHMMDHNNDHRRVHTTIHUUNHVVOIC  IDDNIERLILSR\" +\n\t\"IMMNINNDIOOTIQRQIRRNISSLITTAJEEYJMAMJOORJPPNJTTNKEENKGGZKHHMKIIRKM\\x00\" +\n\t\"\\x09KNNAKP\\x00\\x0cKRORKWWTKY\\x00\\x0fKZAZLAAOLBBNLCCALIIELKKALRBRLSSOLTTU\" +\n\t\"LUUXLVVALYBYMAARMCCOMDDAMENEMFAFMGDGMHHLMIIDMKKDMLLIMMMRMNNGMOACMPNPMQTQ\" +\n\t\"MRRTMSSRMTLTMUUSMVDVMWWIMXEXMYYSMZOZNAAMNCCLNEERNFFKNGGANHHBNIICNLLDNOOR\" +\n\t\"NPPLNQ\\x00\\x1eNRRUNTTZNUIUNZZLOMMNPAANPCCIPEERPFYFPGNGPHHLPKAKPLOLPM\\x00\" +\n\t\"\\x12PNCNPRRIPSSEPTRTPUUSPWLWPYRYPZCZQAATQMMMQNNNQOOOQPPPQQQQQRRRQSSSQTTT\" +\n\t\"QU\\x00\\x03QVVVQWWWQXXXQYYYQZZZREEURHHOROOURS\\x00\\x15RUUSRWWASAAUSBLBSCYC\" +\n\t\"SDDNSEWESGGPSHHNSIVNSJJMSKVKSLLESMMRSNENSOOMSRURSSSDSTTPSUUNSVLVSXXMSYYR\" +\n\t\"SZWZTAAATCCATDCDTF\\x00\\x18TGGOTHHATJJKTKKLTLLSTMKMTNUNTOONTPMPTRURTTTOTV\" +\n\t\"UVTWWNTZZAUAKRUGGAUK  UMMIUN  USSAUYRYUZZBVAATVCCTVDDRVEENVGGBVIIRVNNMVU\" +\n\t\"UTWFLFWKAKWSSMXAAAXBBBXCCCXDDDXEEEXFFFXGGGXHHHXIIIXJJJXKKKXLLLXMMMXNNNXO\" +\n\t\"OOXPPPXQQQXRRRXSSSXTTTXUUUXVVVXWWWXXXXXYYYXZZZYDMDYEEMYT\\x00\\x1bYUUGZAAF\" +\n\t\"ZMMBZRARZWWEZZZZ\\xff\\xff\\xff\\xff\"\n\n// altRegionISO3 holds a list of 3-letter region codes that cannot be\n// mapped to 2-letter codes using the default algorithm. This is a short list.\nconst altRegionISO3 string = \"SCGQUUSGSCOMPRKCYMSPMSRBATFMYTATN\"\n\n// altRegionIDs holds a list of regionIDs the positions of which match those\n// of the 3-letter ISO codes in altRegionISO3.\n// Size: 22 bytes, 11 elements\nvar altRegionIDs = [11]uint16{\n\t0x0057, 0x0070, 0x0088, 0x00a8, 0x00aa, 0x00ad, 0x00ea, 0x0105,\n\t0x0121, 0x015f, 0x00dc,\n}\n\n// Size: 80 bytes, 20 elements\nvar regionOldMap = [20]fromTo{\n\t0:  {from: 0x44, to: 0xc4},\n\t1:  {from: 0x58, to: 0xa7},\n\t2:  {from: 0x5f, to: 0x60},\n\t3:  {from: 0x66, to: 0x3b},\n\t4:  {from: 0x79, to: 0x78},\n\t5:  {from: 0x93, to: 0x37},\n\t6:  {from: 0xa3, to: 0x133},\n\t7:  {from: 0xc1, to: 0x133},\n\t8:  {from: 0xd7, to: 0x13f},\n\t9:  {from: 0xdc, to: 0x2b},\n\t10: {from: 0xef, to: 0x133},\n\t11: {from: 0xf2, to: 0xe2},\n\t12: {from: 0xfc, to: 0x70},\n\t13: {from: 0x103, to: 0x164},\n\t14: {from: 0x12a, to: 0x126},\n\t15: {from: 0x132, to: 0x7b},\n\t16: {from: 0x13a, to: 0x13e},\n\t17: {from: 0x141, to: 0x133},\n\t18: {from: 0x15d, to: 0x15e},\n\t19: {from: 0x163, to: 0x4b},\n}\n\n// m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are\n// codes indicating collections of regions.\n// Size: 716 bytes, 358 elements\nvar m49 = [358]int16{\n\t// Entry 0 - 3F\n\t0, 1, 2, 3, 5, 9, 11, 13,\n\t14, 15, 17, 18, 19, 21, 29, 30,\n\t34, 35, 39, 53, 54, 57, 61, 142,\n\t143, 145, 150, 151, 154, 155, 202, 419,\n\t958, 0, 20, 784, 4, 28, 660, 8,\n\t51, 530, 24, 10, 32, 16, 40, 36,\n\t533, 248, 31, 70, 52, 50, 56, 854,\n\t100, 48, 108, 204, 652, 60, 96, 68,\n\t// Entry 40 - 7F\n\t535, 76, 44, 64, 104, 74, 72, 112,\n\t84, 124, 166, 180, 140, 178, 756, 384,\n\t184, 152, 120, 156, 170, 0, 188, 891,\n\t296, 192, 132, 531, 162, 196, 203, 278,\n\t276, 0, 262, 208, 212, 214, 204, 12,\n\t0, 218, 233, 818, 732, 232, 724, 231,\n\t967, 0, 246, 242, 238, 583, 234, 0,\n\t250, 249, 266, 826, 308, 268, 254, 831,\n\t// Entry 80 - BF\n\t288, 292, 304, 270, 324, 312, 226, 300,\n\t239, 320, 316, 624, 328, 344, 334, 340,\n\t191, 332, 348, 854, 0, 360, 372, 376,\n\t833, 356, 86, 368, 364, 352, 380, 832,\n\t388, 400, 392, 581, 404, 417, 116, 296,\n\t174, 659, 408, 410, 414, 136, 398, 418,\n\t422, 662, 438, 144, 430, 426, 440, 442,\n\t428, 434, 504, 492, 498, 499, 663, 450,\n\t// Entry C0 - FF\n\t584, 581, 807, 466, 104, 496, 446, 580,\n\t474, 478, 500, 470, 480, 462, 454, 484,\n\t458, 508, 516, 540, 562, 574, 566, 548,\n\t558, 528, 578, 524, 10, 520, 536, 570,\n\t554, 512, 591, 0, 604, 258, 598, 608,\n\t586, 616, 666, 612, 630, 275, 620, 581,\n\t585, 600, 591, 634, 959, 960, 961, 962,\n\t963, 964, 965, 966, 967, 968, 969, 970,\n\t// Entry 100 - 13F\n\t971, 972, 638, 716, 642, 688, 643, 646,\n\t682, 90, 690, 729, 752, 702, 654, 705,\n\t744, 703, 694, 674, 686, 706, 740, 728,\n\t678, 810, 222, 534, 760, 748, 0, 796,\n\t148, 260, 768, 764, 762, 772, 626, 795,\n\t788, 776, 626, 792, 780, 798, 158, 834,\n\t804, 800, 826, 581, 0, 840, 858, 860,\n\t336, 670, 704, 862, 92, 850, 704, 548,\n\t// Entry 140 - 17F\n\t876, 581, 882, 973, 974, 975, 976, 977,\n\t978, 979, 980, 981, 982, 983, 984, 985,\n\t986, 987, 988, 989, 990, 991, 992, 993,\n\t994, 995, 996, 997, 998, 720, 887, 175,\n\t891, 710, 894, 180, 716, 999,\n}\n\n// m49Index gives indexes into fromM49 based on the three most significant bits\n// of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in\n//    fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]]\n// for an entry where the first 7 bits match the 7 lsb of the UN.M49 code.\n// The region code is stored in the 9 lsb of the indexed value.\n// Size: 18 bytes, 9 elements\nvar m49Index = [9]int16{\n\t0, 59, 108, 143, 181, 220, 259, 291,\n\t333,\n}\n\n// fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.\n// Size: 666 bytes, 333 elements\nvar fromM49 = [333]uint16{\n\t// Entry 0 - 3F\n\t0x0201, 0x0402, 0x0603, 0x0824, 0x0a04, 0x1027, 0x1205, 0x142b,\n\t0x1606, 0x1867, 0x1a07, 0x1c08, 0x1e09, 0x202d, 0x220a, 0x240b,\n\t0x260c, 0x2822, 0x2a0d, 0x302a, 0x3825, 0x3a0e, 0x3c0f, 0x3e32,\n\t0x402c, 0x4410, 0x4611, 0x482f, 0x4e12, 0x502e, 0x5842, 0x6039,\n\t0x6435, 0x6628, 0x6834, 0x6a13, 0x6c14, 0x7036, 0x7215, 0x783d,\n\t0x7a16, 0x8043, 0x883f, 0x8c33, 0x9046, 0x9445, 0x9841, 0xa848,\n\t0xac9a, 0xb509, 0xb93c, 0xc03e, 0xc838, 0xd0c4, 0xd83a, 0xe047,\n\t0xe8a6, 0xf052, 0xf849, 0x085a, 0x10ad, 0x184c, 0x1c17, 0x1e18,\n\t// Entry 40 - 7F\n\t0x20b3, 0x2219, 0x2920, 0x2c1a, 0x2e1b, 0x3051, 0x341c, 0x361d,\n\t0x3853, 0x3d2e, 0x445c, 0x4c4a, 0x5454, 0x5ca8, 0x5f5f, 0x644d,\n\t0x684b, 0x7050, 0x7856, 0x7e90, 0x8059, 0x885d, 0x941e, 0x965e,\n\t0x983b, 0xa063, 0xa864, 0xac65, 0xb469, 0xbd1a, 0xc486, 0xcc6f,\n\t0xce6f, 0xd06d, 0xd26a, 0xd476, 0xdc74, 0xde88, 0xe473, 0xec72,\n\t0xf031, 0xf279, 0xf478, 0xfc7e, 0x04e5, 0x0921, 0x0c62, 0x147a,\n\t0x187d, 0x1c83, 0x26ed, 0x2860, 0x2c5f, 0x3060, 0x4080, 0x4881,\n\t0x50a7, 0x5887, 0x6082, 0x687c, 0x7085, 0x788a, 0x8089, 0x8884,\n\t// Entry 80 - BF\n\t0x908c, 0x9891, 0x9c8e, 0xa138, 0xa88f, 0xb08d, 0xb892, 0xc09d,\n\t0xc899, 0xd095, 0xd89c, 0xe09b, 0xe896, 0xf097, 0xf89e, 0x004f,\n\t0x08a0, 0x10a2, 0x1cae, 0x20a1, 0x28a4, 0x30aa, 0x34ab, 0x3cac,\n\t0x42a5, 0x44af, 0x461f, 0x4cb0, 0x54b5, 0x58b8, 0x5cb4, 0x64b9,\n\t0x6cb2, 0x70b6, 0x74b7, 0x7cc6, 0x84bf, 0x8cce, 0x94d0, 0x9ccd,\n\t0xa4c3, 0xaccb, 0xb4c8, 0xbcc9, 0xc0cc, 0xc8cf, 0xd8bb, 0xe0c5,\n\t0xe4bc, 0xe6bd, 0xe8ca, 0xf0ba, 0xf8d1, 0x00e1, 0x08d2, 0x10dd,\n\t0x18db, 0x20d9, 0x2429, 0x265b, 0x2a30, 0x2d1b, 0x2e40, 0x30de,\n\t// Entry C0 - FF\n\t0x38d3, 0x493f, 0x54e0, 0x5cd8, 0x64d4, 0x6cd6, 0x74df, 0x7cd5,\n\t0x84da, 0x88c7, 0x8b33, 0x8e75, 0x90c0, 0x92f0, 0x94e8, 0x9ee2,\n\t0xace6, 0xb0f1, 0xb8e4, 0xc0e7, 0xc8eb, 0xd0e9, 0xd8ee, 0xe08b,\n\t0xe526, 0xecec, 0xf4f3, 0xfd02, 0x0504, 0x0706, 0x0d07, 0x183c,\n\t0x1d0e, 0x26a9, 0x2826, 0x2cb1, 0x2ebe, 0x34ea, 0x3d39, 0x4513,\n\t0x4d18, 0x5508, 0x5d14, 0x6105, 0x650a, 0x6d12, 0x7d0d, 0x7f11,\n\t0x813e, 0x830f, 0x8515, 0x8d61, 0x9964, 0xa15d, 0xa86e, 0xb117,\n\t0xb30b, 0xb86c, 0xc10b, 0xc916, 0xd110, 0xd91d, 0xe10c, 0xe84e,\n\t// Entry 100 - 13F\n\t0xf11c, 0xf524, 0xf923, 0x0122, 0x0925, 0x1129, 0x192c, 0x2023,\n\t0x2928, 0x312b, 0x3727, 0x391f, 0x3d2d, 0x4131, 0x4930, 0x4ec2,\n\t0x5519, 0x646b, 0x747b, 0x7e7f, 0x809f, 0x8298, 0x852f, 0x9135,\n\t0xa53d, 0xac37, 0xb536, 0xb937, 0xbd3b, 0xd940, 0xe542, 0xed5e,\n\t0xef5e, 0xf657, 0xfd62, 0x7c20, 0x7ef4, 0x80f5, 0x82f6, 0x84f7,\n\t0x86f8, 0x88f9, 0x8afa, 0x8cfb, 0x8e70, 0x90fd, 0x92fe, 0x94ff,\n\t0x9700, 0x9901, 0x9b43, 0x9d44, 0x9f45, 0xa146, 0xa347, 0xa548,\n\t0xa749, 0xa94a, 0xab4b, 0xad4c, 0xaf4d, 0xb14e, 0xb34f, 0xb550,\n\t// Entry 140 - 17F\n\t0xb751, 0xb952, 0xbb53, 0xbd54, 0xbf55, 0xc156, 0xc357, 0xc558,\n\t0xc759, 0xc95a, 0xcb5b, 0xcd5c, 0xcf65,\n}\n\n// Size: 1615 bytes\nvar variantIndex = map[string]uint8{\n\t\"1606nict\": 0x0,\n\t\"1694acad\": 0x1,\n\t\"1901\":     0x2,\n\t\"1959acad\": 0x3,\n\t\"1994\":     0x4d,\n\t\"1996\":     0x4,\n\t\"abl1943\":  0x5,\n\t\"akuapem\":  0x6,\n\t\"alalc97\":  0x4f,\n\t\"aluku\":    0x7,\n\t\"ao1990\":   0x8,\n\t\"arevela\":  0x9,\n\t\"arevmda\":  0xa,\n\t\"asante\":   0xb,\n\t\"baku1926\": 0xc,\n\t\"balanka\":  0xd,\n\t\"barla\":    0xe,\n\t\"basiceng\": 0xf,\n\t\"bauddha\":  0x10,\n\t\"biscayan\": 0x11,\n\t\"biske\":    0x48,\n\t\"bohoric\":  0x12,\n\t\"boont\":    0x13,\n\t\"colb1945\": 0x14,\n\t\"cornu\":    0x15,\n\t\"dajnko\":   0x16,\n\t\"ekavsk\":   0x17,\n\t\"emodeng\":  0x18,\n\t\"fonipa\":   0x50,\n\t\"fonnapa\":  0x51,\n\t\"fonupa\":   0x52,\n\t\"fonxsamp\": 0x53,\n\t\"hepburn\":  0x19,\n\t\"heploc\":   0x4e,\n\t\"hognorsk\": 0x1a,\n\t\"hsistemo\": 0x1b,\n\t\"ijekavsk\": 0x1c,\n\t\"itihasa\":  0x1d,\n\t\"jauer\":    0x1e,\n\t\"jyutping\": 0x1f,\n\t\"kkcor\":    0x20,\n\t\"kociewie\": 0x21,\n\t\"kscor\":    0x22,\n\t\"laukika\":  0x23,\n\t\"lipaw\":    0x49,\n\t\"luna1918\": 0x24,\n\t\"metelko\":  0x25,\n\t\"monoton\":  0x26,\n\t\"ndyuka\":   0x27,\n\t\"nedis\":    0x28,\n\t\"newfound\": 0x29,\n\t\"njiva\":    0x4a,\n\t\"nulik\":    0x2a,\n\t\"osojs\":    0x4b,\n\t\"oxendict\": 0x2b,\n\t\"pahawh2\":  0x2c,\n\t\"pahawh3\":  0x2d,\n\t\"pahawh4\":  0x2e,\n\t\"pamaka\":   0x2f,\n\t\"petr1708\": 0x30,\n\t\"pinyin\":   0x31,\n\t\"polyton\":  0x32,\n\t\"puter\":    0x33,\n\t\"rigik\":    0x34,\n\t\"rozaj\":    0x35,\n\t\"rumgr\":    0x36,\n\t\"scotland\": 0x37,\n\t\"scouse\":   0x38,\n\t\"simple\":   0x54,\n\t\"solba\":    0x4c,\n\t\"sotav\":    0x39,\n\t\"spanglis\": 0x3a,\n\t\"surmiran\": 0x3b,\n\t\"sursilv\":  0x3c,\n\t\"sutsilv\":  0x3d,\n\t\"tarask\":   0x3e,\n\t\"uccor\":    0x3f,\n\t\"ucrcor\":   0x40,\n\t\"ulster\":   0x41,\n\t\"unifon\":   0x42,\n\t\"vaidika\":  0x43,\n\t\"valencia\": 0x44,\n\t\"vallader\": 0x45,\n\t\"wadegile\": 0x46,\n\t\"xsistemo\": 0x47,\n}\n\n// variantNumSpecialized is the number of specialized variants in variants.\nconst variantNumSpecialized = 79\n\n// nRegionGroups is the number of region groups.\nconst nRegionGroups = 33\n\ntype likelyLangRegion struct {\n\tlang   uint16\n\tregion uint16\n}\n\n// likelyScript is a lookup table, indexed by scriptID, for the most likely\n// languages and regions given a script.\n// Size: 976 bytes, 244 elements\nvar likelyScript = [244]likelyLangRegion{\n\t1:   {lang: 0x14e, region: 0x84},\n\t3:   {lang: 0x2a2, region: 0x106},\n\t4:   {lang: 0x1f, region: 0x99},\n\t5:   {lang: 0x3a, region: 0x6b},\n\t7:   {lang: 0x3b, region: 0x9c},\n\t8:   {lang: 0x1d7, region: 0x28},\n\t9:   {lang: 0x13, region: 0x9c},\n\t10:  {lang: 0x5b, region: 0x95},\n\t11:  {lang: 0x60, region: 0x52},\n\t12:  {lang: 0xb9, region: 0xb4},\n\t13:  {lang: 0x63, region: 0x95},\n\t14:  {lang: 0xa5, region: 0x35},\n\t15:  {lang: 0x3e9, region: 0x99},\n\t17:  {lang: 0x529, region: 0x12e},\n\t18:  {lang: 0x3b1, region: 0x99},\n\t19:  {lang: 0x15e, region: 0x78},\n\t20:  {lang: 0xc2, region: 0x95},\n\t21:  {lang: 0x9d, region: 0xe7},\n\t22:  {lang: 0xdb, region: 0x35},\n\t23:  {lang: 0xf3, region: 0x49},\n\t24:  {lang: 0x4f0, region: 0x12b},\n\t25:  {lang: 0xe7, region: 0x13e},\n\t26:  {lang: 0xe5, region: 0x135},\n\t28:  {lang: 0xf1, region: 0x6b},\n\t30:  {lang: 0x1a0, region: 0x5d},\n\t31:  {lang: 0x3e2, region: 0x106},\n\t33:  {lang: 0x1be, region: 0x99},\n\t36:  {lang: 0x15e, region: 0x78},\n\t39:  {lang: 0x133, region: 0x6b},\n\t40:  {lang: 0x431, region: 0x27},\n\t41:  {lang: 0x27, region: 0x6f},\n\t43:  {lang: 0x210, region: 0x7d},\n\t44:  {lang: 0xfe, region: 0x38},\n\t46:  {lang: 0x19b, region: 0x99},\n\t47:  {lang: 0x19e, region: 0x130},\n\t48:  {lang: 0x3e9, region: 0x99},\n\t49:  {lang: 0x136, region: 0x87},\n\t50:  {lang: 0x1a4, region: 0x99},\n\t51:  {lang: 0x39d, region: 0x99},\n\t52:  {lang: 0x529, region: 0x12e},\n\t53:  {lang: 0x254, region: 0xab},\n\t54:  {lang: 0x529, region: 0x53},\n\t55:  {lang: 0x1cb, region: 0xe7},\n\t56:  {lang: 0x529, region: 0x53},\n\t57:  {lang: 0x529, region: 0x12e},\n\t58:  {lang: 0x2fd, region: 0x9b},\n\t59:  {lang: 0x1bc, region: 0x97},\n\t60:  {lang: 0x200, region: 0xa2},\n\t61:  {lang: 0x1c5, region: 0x12b},\n\t62:  {lang: 0x1ca, region: 0xaf},\n\t65:  {lang: 0x1d5, region: 0x92},\n\t67:  {lang: 0x142, region: 0x9e},\n\t68:  {lang: 0x254, region: 0xab},\n\t69:  {lang: 0x20e, region: 0x95},\n\t70:  {lang: 0x200, region: 0xa2},\n\t72:  {lang: 0x135, region: 0xc4},\n\t73:  {lang: 0x200, region: 0xa2},\n\t74:  {lang: 0x3bb, region: 0xe8},\n\t75:  {lang: 0x24a, region: 0xa6},\n\t76:  {lang: 0x3fa, region: 0x99},\n\t79:  {lang: 0x251, region: 0x99},\n\t80:  {lang: 0x254, region: 0xab},\n\t82:  {lang: 0x88, region: 0x99},\n\t83:  {lang: 0x370, region: 0x123},\n\t84:  {lang: 0x2b8, region: 0xaf},\n\t89:  {lang: 0x29f, region: 0x99},\n\t90:  {lang: 0x2a8, region: 0x99},\n\t91:  {lang: 0x28f, region: 0x87},\n\t92:  {lang: 0x1a0, region: 0x87},\n\t93:  {lang: 0x2ac, region: 0x53},\n\t95:  {lang: 0x4f4, region: 0x12b},\n\t96:  {lang: 0x4f5, region: 0x12b},\n\t97:  {lang: 0x1be, region: 0x99},\n\t99:  {lang: 0x337, region: 0x9c},\n\t100: {lang: 0x4f7, region: 0x53},\n\t101: {lang: 0xa9, region: 0x53},\n\t104: {lang: 0x2e8, region: 0x112},\n\t105: {lang: 0x4f8, region: 0x10b},\n\t106: {lang: 0x4f8, region: 0x10b},\n\t107: {lang: 0x304, region: 0x99},\n\t108: {lang: 0x31b, region: 0x99},\n\t109: {lang: 0x30b, region: 0x53},\n\t111: {lang: 0x31e, region: 0x35},\n\t112: {lang: 0x30e, region: 0x99},\n\t113: {lang: 0x414, region: 0xe8},\n\t114: {lang: 0x331, region: 0xc4},\n\t115: {lang: 0x4f9, region: 0x108},\n\t116: {lang: 0x3b, region: 0xa1},\n\t117: {lang: 0x353, region: 0xdb},\n\t120: {lang: 0x2d0, region: 0x84},\n\t121: {lang: 0x52a, region: 0x53},\n\t122: {lang: 0x403, region: 0x96},\n\t123: {lang: 0x3ee, region: 0x99},\n\t124: {lang: 0x39b, region: 0xc5},\n\t125: {lang: 0x395, region: 0x99},\n\t126: {lang: 0x399, region: 0x135},\n\t127: {lang: 0x429, region: 0x115},\n\t128: {lang: 0x3b, region: 0x11c},\n\t129: {lang: 0xfd, region: 0xc4},\n\t130: {lang: 0x27d, region: 0x106},\n\t131: {lang: 0x2c9, region: 0x53},\n\t132: {lang: 0x39f, region: 0x9c},\n\t133: {lang: 0x39f, region: 0x53},\n\t135: {lang: 0x3ad, region: 0xb0},\n\t137: {lang: 0x1c6, region: 0x53},\n\t138: {lang: 0x4fd, region: 0x9c},\n\t189: {lang: 0x3cb, region: 0x95},\n\t191: {lang: 0x372, region: 0x10c},\n\t192: {lang: 0x420, region: 0x97},\n\t194: {lang: 0x4ff, region: 0x15e},\n\t195: {lang: 0x3f0, region: 0x99},\n\t196: {lang: 0x45, region: 0x135},\n\t197: {lang: 0x139, region: 0x7b},\n\t198: {lang: 0x3e9, region: 0x99},\n\t200: {lang: 0x3e9, region: 0x99},\n\t201: {lang: 0x3fa, region: 0x99},\n\t202: {lang: 0x40c, region: 0xb3},\n\t203: {lang: 0x433, region: 0x99},\n\t204: {lang: 0xef, region: 0xc5},\n\t205: {lang: 0x43e, region: 0x95},\n\t206: {lang: 0x44d, region: 0x35},\n\t207: {lang: 0x44e, region: 0x9b},\n\t211: {lang: 0x45a, region: 0xe7},\n\t212: {lang: 0x11a, region: 0x99},\n\t213: {lang: 0x45e, region: 0x53},\n\t214: {lang: 0x232, region: 0x53},\n\t215: {lang: 0x450, region: 0x99},\n\t216: {lang: 0x4a5, region: 0x53},\n\t217: {lang: 0x9f, region: 0x13e},\n\t218: {lang: 0x461, region: 0x99},\n\t220: {lang: 0x528, region: 0xba},\n\t221: {lang: 0x153, region: 0xe7},\n\t222: {lang: 0x128, region: 0xcd},\n\t223: {lang: 0x46b, region: 0x123},\n\t224: {lang: 0xa9, region: 0x53},\n\t225: {lang: 0x2ce, region: 0x99},\n\t226: {lang: 0x4ad, region: 0x11c},\n\t227: {lang: 0x4be, region: 0xb4},\n\t229: {lang: 0x1ce, region: 0x99},\n\t232: {lang: 0x3a9, region: 0x9c},\n\t233: {lang: 0x22, region: 0x9b},\n\t234: {lang: 0x1ea, region: 0x53},\n\t235: {lang: 0xef, region: 0xc5},\n}\n\ntype likelyScriptRegion struct {\n\tregion uint16\n\tscript uint8\n\tflags  uint8\n}\n\n// likelyLang is a lookup table, indexed by langID, for the most likely\n// scripts and regions given incomplete information. If more entries exist for a\n// given language, region and script are the index and size respectively\n// of the list in likelyLangList.\n// Size: 5320 bytes, 1330 elements\nvar likelyLang = [1330]likelyScriptRegion{\n\t0:    {region: 0x135, script: 0x57, flags: 0x0},\n\t1:    {region: 0x6f, script: 0x57, flags: 0x0},\n\t2:    {region: 0x165, script: 0x57, flags: 0x0},\n\t3:    {region: 0x165, script: 0x57, flags: 0x0},\n\t4:    {region: 0x165, script: 0x57, flags: 0x0},\n\t5:    {region: 0x7d, script: 0x1f, flags: 0x0},\n\t6:    {region: 0x165, script: 0x57, flags: 0x0},\n\t7:    {region: 0x165, script: 0x1f, flags: 0x0},\n\t8:    {region: 0x80, script: 0x57, flags: 0x0},\n\t9:    {region: 0x165, script: 0x57, flags: 0x0},\n\t10:   {region: 0x165, script: 0x57, flags: 0x0},\n\t11:   {region: 0x165, script: 0x57, flags: 0x0},\n\t12:   {region: 0x95, script: 0x57, flags: 0x0},\n\t13:   {region: 0x131, script: 0x57, flags: 0x0},\n\t14:   {region: 0x80, script: 0x57, flags: 0x0},\n\t15:   {region: 0x165, script: 0x57, flags: 0x0},\n\t16:   {region: 0x165, script: 0x57, flags: 0x0},\n\t17:   {region: 0x106, script: 0x1f, flags: 0x0},\n\t18:   {region: 0x165, script: 0x57, flags: 0x0},\n\t19:   {region: 0x9c, script: 0x9, flags: 0x0},\n\t20:   {region: 0x128, script: 0x5, flags: 0x0},\n\t21:   {region: 0x165, script: 0x57, flags: 0x0},\n\t22:   {region: 0x161, script: 0x57, flags: 0x0},\n\t23:   {region: 0x165, script: 0x57, flags: 0x0},\n\t24:   {region: 0x165, script: 0x57, flags: 0x0},\n\t25:   {region: 0x165, script: 0x57, flags: 0x0},\n\t26:   {region: 0x165, script: 0x57, flags: 0x0},\n\t27:   {region: 0x165, script: 0x57, flags: 0x0},\n\t28:   {region: 0x52, script: 0x57, flags: 0x0},\n\t29:   {region: 0x165, script: 0x57, flags: 0x0},\n\t30:   {region: 0x165, script: 0x57, flags: 0x0},\n\t31:   {region: 0x99, script: 0x4, flags: 0x0},\n\t32:   {region: 0x165, script: 0x57, flags: 0x0},\n\t33:   {region: 0x80, script: 0x57, flags: 0x0},\n\t34:   {region: 0x9b, script: 0xe9, flags: 0x0},\n\t35:   {region: 0x165, script: 0x57, flags: 0x0},\n\t36:   {region: 0x165, script: 0x57, flags: 0x0},\n\t37:   {region: 0x14d, script: 0x57, flags: 0x0},\n\t38:   {region: 0x106, script: 0x1f, flags: 0x0},\n\t39:   {region: 0x6f, script: 0x29, flags: 0x0},\n\t40:   {region: 0x165, script: 0x57, flags: 0x0},\n\t41:   {region: 0x165, script: 0x57, flags: 0x0},\n\t42:   {region: 0xd6, script: 0x57, flags: 0x0},\n\t43:   {region: 0x165, script: 0x57, flags: 0x0},\n\t45:   {region: 0x165, script: 0x57, flags: 0x0},\n\t46:   {region: 0x165, script: 0x57, flags: 0x0},\n\t47:   {region: 0x165, script: 0x57, flags: 0x0},\n\t48:   {region: 0x165, script: 0x57, flags: 0x0},\n\t49:   {region: 0x165, script: 0x57, flags: 0x0},\n\t50:   {region: 0x165, script: 0x57, flags: 0x0},\n\t51:   {region: 0x95, script: 0x57, flags: 0x0},\n\t52:   {region: 0x165, script: 0x5, flags: 0x0},\n\t53:   {region: 0x122, script: 0x5, flags: 0x0},\n\t54:   {region: 0x165, script: 0x57, flags: 0x0},\n\t55:   {region: 0x165, script: 0x57, flags: 0x0},\n\t56:   {region: 0x165, script: 0x57, flags: 0x0},\n\t57:   {region: 0x165, script: 0x57, flags: 0x0},\n\t58:   {region: 0x6b, script: 0x5, flags: 0x0},\n\t59:   {region: 0x0, script: 0x3, flags: 0x1},\n\t60:   {region: 0x165, script: 0x57, flags: 0x0},\n\t61:   {region: 0x51, script: 0x57, flags: 0x0},\n\t62:   {region: 0x3f, script: 0x57, flags: 0x0},\n\t63:   {region: 0x67, script: 0x5, flags: 0x0},\n\t65:   {region: 0xba, script: 0x5, flags: 0x0},\n\t66:   {region: 0x6b, script: 0x5, flags: 0x0},\n\t67:   {region: 0x99, script: 0xe, flags: 0x0},\n\t68:   {region: 0x12f, script: 0x57, flags: 0x0},\n\t69:   {region: 0x135, script: 0xc4, flags: 0x0},\n\t70:   {region: 0x165, script: 0x57, flags: 0x0},\n\t71:   {region: 0x165, script: 0x57, flags: 0x0},\n\t72:   {region: 0x6e, script: 0x57, flags: 0x0},\n\t73:   {region: 0x165, script: 0x57, flags: 0x0},\n\t74:   {region: 0x165, script: 0x57, flags: 0x0},\n\t75:   {region: 0x49, script: 0x57, flags: 0x0},\n\t76:   {region: 0x165, script: 0x57, flags: 0x0},\n\t77:   {region: 0x106, script: 0x1f, flags: 0x0},\n\t78:   {region: 0x165, script: 0x5, flags: 0x0},\n\t79:   {region: 0x165, script: 0x57, flags: 0x0},\n\t80:   {region: 0x165, script: 0x57, flags: 0x0},\n\t81:   {region: 0x165, script: 0x57, flags: 0x0},\n\t82:   {region: 0x99, script: 0x21, flags: 0x0},\n\t83:   {region: 0x165, script: 0x57, flags: 0x0},\n\t84:   {region: 0x165, script: 0x57, flags: 0x0},\n\t85:   {region: 0x165, script: 0x57, flags: 0x0},\n\t86:   {region: 0x3f, script: 0x57, flags: 0x0},\n\t87:   {region: 0x165, script: 0x57, flags: 0x0},\n\t88:   {region: 0x3, script: 0x5, flags: 0x1},\n\t89:   {region: 0x106, script: 0x1f, flags: 0x0},\n\t90:   {region: 0xe8, script: 0x5, flags: 0x0},\n\t91:   {region: 0x95, script: 0x57, flags: 0x0},\n\t92:   {region: 0xdb, script: 0x21, flags: 0x0},\n\t93:   {region: 0x2e, script: 0x57, flags: 0x0},\n\t94:   {region: 0x52, script: 0x57, flags: 0x0},\n\t95:   {region: 0x165, script: 0x57, flags: 0x0},\n\t96:   {region: 0x52, script: 0xb, flags: 0x0},\n\t97:   {region: 0x165, script: 0x57, flags: 0x0},\n\t98:   {region: 0x165, script: 0x57, flags: 0x0},\n\t99:   {region: 0x95, script: 0x57, flags: 0x0},\n\t100:  {region: 0x165, script: 0x57, flags: 0x0},\n\t101:  {region: 0x52, script: 0x57, flags: 0x0},\n\t102:  {region: 0x165, script: 0x57, flags: 0x0},\n\t103:  {region: 0x165, script: 0x57, flags: 0x0},\n\t104:  {region: 0x165, script: 0x57, flags: 0x0},\n\t105:  {region: 0x165, script: 0x57, flags: 0x0},\n\t106:  {region: 0x4f, script: 0x57, flags: 0x0},\n\t107:  {region: 0x165, script: 0x57, flags: 0x0},\n\t108:  {region: 0x165, script: 0x57, flags: 0x0},\n\t109:  {region: 0x165, script: 0x57, flags: 0x0},\n\t110:  {region: 0x165, script: 0x29, flags: 0x0},\n\t111:  {region: 0x165, script: 0x57, flags: 0x0},\n\t112:  {region: 0x165, script: 0x57, flags: 0x0},\n\t113:  {region: 0x47, script: 0x1f, flags: 0x0},\n\t114:  {region: 0x165, script: 0x57, flags: 0x0},\n\t115:  {region: 0x165, script: 0x57, flags: 0x0},\n\t116:  {region: 0x10b, script: 0x5, flags: 0x0},\n\t117:  {region: 0x162, script: 0x57, flags: 0x0},\n\t118:  {region: 0x165, script: 0x57, flags: 0x0},\n\t119:  {region: 0x95, script: 0x57, flags: 0x0},\n\t120:  {region: 0x165, script: 0x57, flags: 0x0},\n\t121:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t122:  {region: 0x52, script: 0x57, flags: 0x0},\n\t123:  {region: 0x99, script: 0xd7, flags: 0x0},\n\t124:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t125:  {region: 0x99, script: 0x21, flags: 0x0},\n\t126:  {region: 0x38, script: 0x1f, flags: 0x0},\n\t127:  {region: 0x99, script: 0x21, flags: 0x0},\n\t128:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t129:  {region: 0x12b, script: 0x31, flags: 0x0},\n\t131:  {region: 0x99, script: 0x21, flags: 0x0},\n\t132:  {region: 0x165, script: 0x57, flags: 0x0},\n\t133:  {region: 0x99, script: 0x21, flags: 0x0},\n\t134:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t135:  {region: 0x165, script: 0x57, flags: 0x0},\n\t136:  {region: 0x99, script: 0x21, flags: 0x0},\n\t137:  {region: 0x165, script: 0x57, flags: 0x0},\n\t138:  {region: 0x13f, script: 0x57, flags: 0x0},\n\t139:  {region: 0x165, script: 0x57, flags: 0x0},\n\t140:  {region: 0x165, script: 0x57, flags: 0x0},\n\t141:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t142:  {region: 0x165, script: 0x57, flags: 0x0},\n\t143:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t144:  {region: 0x165, script: 0x57, flags: 0x0},\n\t145:  {region: 0x165, script: 0x57, flags: 0x0},\n\t146:  {region: 0x165, script: 0x57, flags: 0x0},\n\t147:  {region: 0x165, script: 0x29, flags: 0x0},\n\t148:  {region: 0x99, script: 0x21, flags: 0x0},\n\t149:  {region: 0x95, script: 0x57, flags: 0x0},\n\t150:  {region: 0x165, script: 0x57, flags: 0x0},\n\t151:  {region: 0x165, script: 0x57, flags: 0x0},\n\t152:  {region: 0x114, script: 0x57, flags: 0x0},\n\t153:  {region: 0x165, script: 0x57, flags: 0x0},\n\t154:  {region: 0x165, script: 0x57, flags: 0x0},\n\t155:  {region: 0x52, script: 0x57, flags: 0x0},\n\t156:  {region: 0x165, script: 0x57, flags: 0x0},\n\t157:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t158:  {region: 0x165, script: 0x57, flags: 0x0},\n\t159:  {region: 0x13e, script: 0xd9, flags: 0x0},\n\t160:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t161:  {region: 0x165, script: 0x57, flags: 0x0},\n\t162:  {region: 0x165, script: 0x57, flags: 0x0},\n\t163:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t164:  {region: 0x165, script: 0x57, flags: 0x0},\n\t165:  {region: 0x35, script: 0xe, flags: 0x0},\n\t166:  {region: 0x165, script: 0x57, flags: 0x0},\n\t167:  {region: 0x165, script: 0x57, flags: 0x0},\n\t168:  {region: 0x165, script: 0x57, flags: 0x0},\n\t169:  {region: 0x53, script: 0xe0, flags: 0x0},\n\t170:  {region: 0x165, script: 0x57, flags: 0x0},\n\t171:  {region: 0x165, script: 0x57, flags: 0x0},\n\t172:  {region: 0x165, script: 0x57, flags: 0x0},\n\t173:  {region: 0x99, script: 0xe, flags: 0x0},\n\t174:  {region: 0x165, script: 0x57, flags: 0x0},\n\t175:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t176:  {region: 0x165, script: 0x57, flags: 0x0},\n\t177:  {region: 0x4f, script: 0x57, flags: 0x0},\n\t178:  {region: 0x78, script: 0x57, flags: 0x0},\n\t179:  {region: 0x99, script: 0x21, flags: 0x0},\n\t180:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t181:  {region: 0x99, script: 0x21, flags: 0x0},\n\t182:  {region: 0x165, script: 0x57, flags: 0x0},\n\t183:  {region: 0x33, script: 0x57, flags: 0x0},\n\t184:  {region: 0x165, script: 0x57, flags: 0x0},\n\t185:  {region: 0xb4, script: 0xc, flags: 0x0},\n\t186:  {region: 0x52, script: 0x57, flags: 0x0},\n\t187:  {region: 0x165, script: 0x29, flags: 0x0},\n\t188:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t189:  {region: 0x165, script: 0x57, flags: 0x0},\n\t190:  {region: 0xe8, script: 0x21, flags: 0x0},\n\t191:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t192:  {region: 0x15f, script: 0x57, flags: 0x0},\n\t193:  {region: 0x165, script: 0x57, flags: 0x0},\n\t194:  {region: 0x95, script: 0x57, flags: 0x0},\n\t195:  {region: 0x165, script: 0x57, flags: 0x0},\n\t196:  {region: 0x52, script: 0x57, flags: 0x0},\n\t197:  {region: 0x165, script: 0x57, flags: 0x0},\n\t198:  {region: 0x165, script: 0x57, flags: 0x0},\n\t199:  {region: 0x165, script: 0x57, flags: 0x0},\n\t200:  {region: 0x86, script: 0x57, flags: 0x0},\n\t201:  {region: 0x165, script: 0x57, flags: 0x0},\n\t202:  {region: 0x165, script: 0x57, flags: 0x0},\n\t203:  {region: 0x165, script: 0x57, flags: 0x0},\n\t204:  {region: 0x165, script: 0x57, flags: 0x0},\n\t205:  {region: 0x6d, script: 0x29, flags: 0x0},\n\t206:  {region: 0x165, script: 0x57, flags: 0x0},\n\t207:  {region: 0x165, script: 0x57, flags: 0x0},\n\t208:  {region: 0x52, script: 0x57, flags: 0x0},\n\t209:  {region: 0x165, script: 0x57, flags: 0x0},\n\t210:  {region: 0x165, script: 0x57, flags: 0x0},\n\t211:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t212:  {region: 0x165, script: 0x57, flags: 0x0},\n\t213:  {region: 0x165, script: 0x57, flags: 0x0},\n\t214:  {region: 0x165, script: 0x57, flags: 0x0},\n\t215:  {region: 0x6e, script: 0x57, flags: 0x0},\n\t216:  {region: 0x165, script: 0x57, flags: 0x0},\n\t217:  {region: 0x165, script: 0x57, flags: 0x0},\n\t218:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t219:  {region: 0x35, script: 0x16, flags: 0x0},\n\t220:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t221:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t222:  {region: 0x165, script: 0x57, flags: 0x0},\n\t223:  {region: 0x131, script: 0x57, flags: 0x0},\n\t224:  {region: 0x8a, script: 0x57, flags: 0x0},\n\t225:  {region: 0x75, script: 0x57, flags: 0x0},\n\t226:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t227:  {region: 0x135, script: 0x57, flags: 0x0},\n\t228:  {region: 0x49, script: 0x57, flags: 0x0},\n\t229:  {region: 0x135, script: 0x1a, flags: 0x0},\n\t230:  {region: 0xa6, script: 0x5, flags: 0x0},\n\t231:  {region: 0x13e, script: 0x19, flags: 0x0},\n\t232:  {region: 0x165, script: 0x57, flags: 0x0},\n\t233:  {region: 0x9b, script: 0x5, flags: 0x0},\n\t234:  {region: 0x165, script: 0x57, flags: 0x0},\n\t235:  {region: 0x165, script: 0x57, flags: 0x0},\n\t236:  {region: 0x165, script: 0x57, flags: 0x0},\n\t237:  {region: 0x165, script: 0x57, flags: 0x0},\n\t238:  {region: 0x165, script: 0x57, flags: 0x0},\n\t239:  {region: 0xc5, script: 0xcc, flags: 0x0},\n\t240:  {region: 0x78, script: 0x57, flags: 0x0},\n\t241:  {region: 0x6b, script: 0x1c, flags: 0x0},\n\t242:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t243:  {region: 0x49, script: 0x17, flags: 0x0},\n\t244:  {region: 0x130, script: 0x1f, flags: 0x0},\n\t245:  {region: 0x49, script: 0x17, flags: 0x0},\n\t246:  {region: 0x49, script: 0x17, flags: 0x0},\n\t247:  {region: 0x49, script: 0x17, flags: 0x0},\n\t248:  {region: 0x49, script: 0x17, flags: 0x0},\n\t249:  {region: 0x10a, script: 0x57, flags: 0x0},\n\t250:  {region: 0x5e, script: 0x57, flags: 0x0},\n\t251:  {region: 0xe9, script: 0x57, flags: 0x0},\n\t252:  {region: 0x49, script: 0x17, flags: 0x0},\n\t253:  {region: 0xc4, script: 0x81, flags: 0x0},\n\t254:  {region: 0x8, script: 0x2, flags: 0x1},\n\t255:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t256:  {region: 0x7b, script: 0x57, flags: 0x0},\n\t257:  {region: 0x63, script: 0x57, flags: 0x0},\n\t258:  {region: 0x165, script: 0x57, flags: 0x0},\n\t259:  {region: 0x165, script: 0x57, flags: 0x0},\n\t260:  {region: 0x165, script: 0x57, flags: 0x0},\n\t261:  {region: 0x165, script: 0x57, flags: 0x0},\n\t262:  {region: 0x135, script: 0x57, flags: 0x0},\n\t263:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t264:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t265:  {region: 0x165, script: 0x57, flags: 0x0},\n\t266:  {region: 0x165, script: 0x57, flags: 0x0},\n\t267:  {region: 0x99, script: 0x5, flags: 0x0},\n\t268:  {region: 0x165, script: 0x57, flags: 0x0},\n\t269:  {region: 0x60, script: 0x57, flags: 0x0},\n\t270:  {region: 0x165, script: 0x57, flags: 0x0},\n\t271:  {region: 0x49, script: 0x57, flags: 0x0},\n\t272:  {region: 0x165, script: 0x57, flags: 0x0},\n\t273:  {region: 0x165, script: 0x57, flags: 0x0},\n\t274:  {region: 0x165, script: 0x57, flags: 0x0},\n\t275:  {region: 0x165, script: 0x5, flags: 0x0},\n\t276:  {region: 0x49, script: 0x57, flags: 0x0},\n\t277:  {region: 0x165, script: 0x57, flags: 0x0},\n\t278:  {region: 0x165, script: 0x57, flags: 0x0},\n\t279:  {region: 0xd4, script: 0x57, flags: 0x0},\n\t280:  {region: 0x4f, script: 0x57, flags: 0x0},\n\t281:  {region: 0x165, script: 0x57, flags: 0x0},\n\t282:  {region: 0x99, script: 0x5, flags: 0x0},\n\t283:  {region: 0x165, script: 0x57, flags: 0x0},\n\t284:  {region: 0x165, script: 0x57, flags: 0x0},\n\t285:  {region: 0x165, script: 0x57, flags: 0x0},\n\t286:  {region: 0x165, script: 0x29, flags: 0x0},\n\t287:  {region: 0x60, script: 0x57, flags: 0x0},\n\t288:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t289:  {region: 0xd0, script: 0x57, flags: 0x0},\n\t290:  {region: 0x165, script: 0x57, flags: 0x0},\n\t291:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t292:  {region: 0x52, script: 0x57, flags: 0x0},\n\t293:  {region: 0x165, script: 0x57, flags: 0x0},\n\t294:  {region: 0x165, script: 0x57, flags: 0x0},\n\t295:  {region: 0x165, script: 0x57, flags: 0x0},\n\t296:  {region: 0xcd, script: 0xde, flags: 0x0},\n\t297:  {region: 0x165, script: 0x57, flags: 0x0},\n\t298:  {region: 0x165, script: 0x57, flags: 0x0},\n\t299:  {region: 0x114, script: 0x57, flags: 0x0},\n\t300:  {region: 0x37, script: 0x57, flags: 0x0},\n\t301:  {region: 0x43, script: 0xe0, flags: 0x0},\n\t302:  {region: 0x165, script: 0x57, flags: 0x0},\n\t303:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t304:  {region: 0x80, script: 0x57, flags: 0x0},\n\t305:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t306:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t307:  {region: 0x6b, script: 0x27, flags: 0x0},\n\t308:  {region: 0x165, script: 0x57, flags: 0x0},\n\t309:  {region: 0xc4, script: 0x48, flags: 0x0},\n\t310:  {region: 0x87, script: 0x31, flags: 0x0},\n\t311:  {region: 0x165, script: 0x57, flags: 0x0},\n\t312:  {region: 0x165, script: 0x57, flags: 0x0},\n\t313:  {region: 0xa, script: 0x2, flags: 0x1},\n\t314:  {region: 0x165, script: 0x57, flags: 0x0},\n\t315:  {region: 0x165, script: 0x57, flags: 0x0},\n\t316:  {region: 0x1, script: 0x57, flags: 0x0},\n\t317:  {region: 0x165, script: 0x57, flags: 0x0},\n\t318:  {region: 0x6e, script: 0x57, flags: 0x0},\n\t319:  {region: 0x135, script: 0x57, flags: 0x0},\n\t320:  {region: 0x6a, script: 0x57, flags: 0x0},\n\t321:  {region: 0x165, script: 0x57, flags: 0x0},\n\t322:  {region: 0x9e, script: 0x43, flags: 0x0},\n\t323:  {region: 0x165, script: 0x57, flags: 0x0},\n\t324:  {region: 0x165, script: 0x57, flags: 0x0},\n\t325:  {region: 0x6e, script: 0x57, flags: 0x0},\n\t326:  {region: 0x52, script: 0x57, flags: 0x0},\n\t327:  {region: 0x6e, script: 0x57, flags: 0x0},\n\t328:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t329:  {region: 0x165, script: 0x57, flags: 0x0},\n\t330:  {region: 0x165, script: 0x57, flags: 0x0},\n\t331:  {region: 0x165, script: 0x57, flags: 0x0},\n\t332:  {region: 0x165, script: 0x57, flags: 0x0},\n\t333:  {region: 0x86, script: 0x57, flags: 0x0},\n\t334:  {region: 0xc, script: 0x2, flags: 0x1},\n\t335:  {region: 0x165, script: 0x57, flags: 0x0},\n\t336:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t337:  {region: 0x72, script: 0x57, flags: 0x0},\n\t338:  {region: 0x10b, script: 0x5, flags: 0x0},\n\t339:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t340:  {region: 0x10c, script: 0x57, flags: 0x0},\n\t341:  {region: 0x73, script: 0x57, flags: 0x0},\n\t342:  {region: 0x165, script: 0x57, flags: 0x0},\n\t343:  {region: 0x165, script: 0x57, flags: 0x0},\n\t344:  {region: 0x76, script: 0x57, flags: 0x0},\n\t345:  {region: 0x165, script: 0x57, flags: 0x0},\n\t346:  {region: 0x3b, script: 0x57, flags: 0x0},\n\t347:  {region: 0x165, script: 0x57, flags: 0x0},\n\t348:  {region: 0x165, script: 0x57, flags: 0x0},\n\t349:  {region: 0x165, script: 0x57, flags: 0x0},\n\t350:  {region: 0x78, script: 0x57, flags: 0x0},\n\t351:  {region: 0x135, script: 0x57, flags: 0x0},\n\t352:  {region: 0x78, script: 0x57, flags: 0x0},\n\t353:  {region: 0x60, script: 0x57, flags: 0x0},\n\t354:  {region: 0x60, script: 0x57, flags: 0x0},\n\t355:  {region: 0x52, script: 0x5, flags: 0x0},\n\t356:  {region: 0x140, script: 0x57, flags: 0x0},\n\t357:  {region: 0x165, script: 0x57, flags: 0x0},\n\t358:  {region: 0x84, script: 0x57, flags: 0x0},\n\t359:  {region: 0x165, script: 0x57, flags: 0x0},\n\t360:  {region: 0xd4, script: 0x57, flags: 0x0},\n\t361:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t362:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t363:  {region: 0x165, script: 0x57, flags: 0x0},\n\t364:  {region: 0x10b, script: 0x57, flags: 0x0},\n\t365:  {region: 0xd9, script: 0x57, flags: 0x0},\n\t366:  {region: 0x96, script: 0x57, flags: 0x0},\n\t367:  {region: 0x80, script: 0x57, flags: 0x0},\n\t368:  {region: 0x165, script: 0x57, flags: 0x0},\n\t369:  {region: 0xbc, script: 0x57, flags: 0x0},\n\t370:  {region: 0x165, script: 0x57, flags: 0x0},\n\t371:  {region: 0x165, script: 0x57, flags: 0x0},\n\t372:  {region: 0x165, script: 0x57, flags: 0x0},\n\t373:  {region: 0x53, script: 0x38, flags: 0x0},\n\t374:  {region: 0x165, script: 0x57, flags: 0x0},\n\t375:  {region: 0x95, script: 0x57, flags: 0x0},\n\t376:  {region: 0x165, script: 0x57, flags: 0x0},\n\t377:  {region: 0x165, script: 0x57, flags: 0x0},\n\t378:  {region: 0x99, script: 0x21, flags: 0x0},\n\t379:  {region: 0x165, script: 0x57, flags: 0x0},\n\t380:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t381:  {region: 0x7e, script: 0x57, flags: 0x0},\n\t382:  {region: 0x7b, script: 0x57, flags: 0x0},\n\t383:  {region: 0x165, script: 0x57, flags: 0x0},\n\t384:  {region: 0x165, script: 0x57, flags: 0x0},\n\t385:  {region: 0x165, script: 0x57, flags: 0x0},\n\t386:  {region: 0x165, script: 0x57, flags: 0x0},\n\t387:  {region: 0x165, script: 0x57, flags: 0x0},\n\t388:  {region: 0x165, script: 0x57, flags: 0x0},\n\t389:  {region: 0x6f, script: 0x29, flags: 0x0},\n\t390:  {region: 0x165, script: 0x57, flags: 0x0},\n\t391:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t392:  {region: 0x165, script: 0x57, flags: 0x0},\n\t393:  {region: 0xa7, script: 0x57, flags: 0x0},\n\t394:  {region: 0x165, script: 0x57, flags: 0x0},\n\t395:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t396:  {region: 0x165, script: 0x57, flags: 0x0},\n\t397:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t398:  {region: 0x165, script: 0x57, flags: 0x0},\n\t399:  {region: 0x165, script: 0x57, flags: 0x0},\n\t400:  {region: 0x6e, script: 0x57, flags: 0x0},\n\t401:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t402:  {region: 0x165, script: 0x57, flags: 0x0},\n\t403:  {region: 0x165, script: 0x29, flags: 0x0},\n\t404:  {region: 0xf1, script: 0x57, flags: 0x0},\n\t405:  {region: 0x165, script: 0x57, flags: 0x0},\n\t406:  {region: 0x165, script: 0x57, flags: 0x0},\n\t407:  {region: 0x165, script: 0x57, flags: 0x0},\n\t408:  {region: 0x165, script: 0x29, flags: 0x0},\n\t409:  {region: 0x165, script: 0x57, flags: 0x0},\n\t410:  {region: 0x99, script: 0x21, flags: 0x0},\n\t411:  {region: 0x99, script: 0xda, flags: 0x0},\n\t412:  {region: 0x95, script: 0x57, flags: 0x0},\n\t413:  {region: 0xd9, script: 0x57, flags: 0x0},\n\t414:  {region: 0x130, script: 0x2f, flags: 0x0},\n\t415:  {region: 0x165, script: 0x57, flags: 0x0},\n\t416:  {region: 0xe, script: 0x2, flags: 0x1},\n\t417:  {region: 0x99, script: 0xe, flags: 0x0},\n\t418:  {region: 0x165, script: 0x57, flags: 0x0},\n\t419:  {region: 0x4e, script: 0x57, flags: 0x0},\n\t420:  {region: 0x99, script: 0x32, flags: 0x0},\n\t421:  {region: 0x41, script: 0x57, flags: 0x0},\n\t422:  {region: 0x54, script: 0x57, flags: 0x0},\n\t423:  {region: 0x165, script: 0x57, flags: 0x0},\n\t424:  {region: 0x80, script: 0x57, flags: 0x0},\n\t425:  {region: 0x165, script: 0x57, flags: 0x0},\n\t426:  {region: 0x165, script: 0x57, flags: 0x0},\n\t427:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t428:  {region: 0x98, script: 0x57, flags: 0x0},\n\t429:  {region: 0x165, script: 0x57, flags: 0x0},\n\t430:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t431:  {region: 0x165, script: 0x57, flags: 0x0},\n\t432:  {region: 0x165, script: 0x5, flags: 0x0},\n\t433:  {region: 0x49, script: 0x57, flags: 0x0},\n\t434:  {region: 0x165, script: 0x5, flags: 0x0},\n\t435:  {region: 0x165, script: 0x57, flags: 0x0},\n\t436:  {region: 0x10, script: 0x3, flags: 0x1},\n\t437:  {region: 0x165, script: 0x57, flags: 0x0},\n\t438:  {region: 0x53, script: 0x38, flags: 0x0},\n\t439:  {region: 0x165, script: 0x57, flags: 0x0},\n\t440:  {region: 0x135, script: 0x57, flags: 0x0},\n\t441:  {region: 0x24, script: 0x5, flags: 0x0},\n\t442:  {region: 0x165, script: 0x57, flags: 0x0},\n\t443:  {region: 0x165, script: 0x29, flags: 0x0},\n\t444:  {region: 0x97, script: 0x3b, flags: 0x0},\n\t445:  {region: 0x165, script: 0x57, flags: 0x0},\n\t446:  {region: 0x99, script: 0x21, flags: 0x0},\n\t447:  {region: 0x165, script: 0x57, flags: 0x0},\n\t448:  {region: 0x73, script: 0x57, flags: 0x0},\n\t449:  {region: 0x165, script: 0x57, flags: 0x0},\n\t450:  {region: 0x165, script: 0x57, flags: 0x0},\n\t451:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t452:  {region: 0x165, script: 0x57, flags: 0x0},\n\t453:  {region: 0x12b, script: 0x3d, flags: 0x0},\n\t454:  {region: 0x53, script: 0x89, flags: 0x0},\n\t455:  {region: 0x165, script: 0x57, flags: 0x0},\n\t456:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t457:  {region: 0x99, script: 0x21, flags: 0x0},\n\t458:  {region: 0xaf, script: 0x3e, flags: 0x0},\n\t459:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t460:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t461:  {region: 0xe6, script: 0x57, flags: 0x0},\n\t462:  {region: 0x99, script: 0x21, flags: 0x0},\n\t463:  {region: 0x99, script: 0x21, flags: 0x0},\n\t464:  {region: 0x165, script: 0x57, flags: 0x0},\n\t465:  {region: 0x90, script: 0x57, flags: 0x0},\n\t466:  {region: 0x60, script: 0x57, flags: 0x0},\n\t467:  {region: 0x53, script: 0x38, flags: 0x0},\n\t468:  {region: 0x91, script: 0x57, flags: 0x0},\n\t469:  {region: 0x92, script: 0x57, flags: 0x0},\n\t470:  {region: 0x165, script: 0x57, flags: 0x0},\n\t471:  {region: 0x28, script: 0x8, flags: 0x0},\n\t472:  {region: 0xd2, script: 0x57, flags: 0x0},\n\t473:  {region: 0x78, script: 0x57, flags: 0x0},\n\t474:  {region: 0x165, script: 0x57, flags: 0x0},\n\t475:  {region: 0x165, script: 0x57, flags: 0x0},\n\t476:  {region: 0xd0, script: 0x57, flags: 0x0},\n\t477:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t478:  {region: 0x165, script: 0x57, flags: 0x0},\n\t479:  {region: 0x165, script: 0x57, flags: 0x0},\n\t480:  {region: 0x165, script: 0x57, flags: 0x0},\n\t481:  {region: 0x95, script: 0x57, flags: 0x0},\n\t482:  {region: 0x165, script: 0x57, flags: 0x0},\n\t483:  {region: 0x165, script: 0x57, flags: 0x0},\n\t484:  {region: 0x165, script: 0x57, flags: 0x0},\n\t486:  {region: 0x122, script: 0x57, flags: 0x0},\n\t487:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t488:  {region: 0x165, script: 0x57, flags: 0x0},\n\t489:  {region: 0x165, script: 0x57, flags: 0x0},\n\t490:  {region: 0x53, script: 0xea, flags: 0x0},\n\t491:  {region: 0x165, script: 0x57, flags: 0x0},\n\t492:  {region: 0x135, script: 0x57, flags: 0x0},\n\t493:  {region: 0x165, script: 0x57, flags: 0x0},\n\t494:  {region: 0x49, script: 0x57, flags: 0x0},\n\t495:  {region: 0x165, script: 0x57, flags: 0x0},\n\t496:  {region: 0x165, script: 0x57, flags: 0x0},\n\t497:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t498:  {region: 0x165, script: 0x57, flags: 0x0},\n\t499:  {region: 0x95, script: 0x57, flags: 0x0},\n\t500:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t501:  {region: 0x1, script: 0x57, flags: 0x0},\n\t502:  {region: 0x165, script: 0x57, flags: 0x0},\n\t503:  {region: 0x165, script: 0x57, flags: 0x0},\n\t504:  {region: 0x9d, script: 0x57, flags: 0x0},\n\t505:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t506:  {region: 0x49, script: 0x17, flags: 0x0},\n\t507:  {region: 0x97, script: 0x3b, flags: 0x0},\n\t508:  {region: 0x165, script: 0x57, flags: 0x0},\n\t509:  {region: 0x165, script: 0x57, flags: 0x0},\n\t510:  {region: 0x106, script: 0x57, flags: 0x0},\n\t511:  {region: 0x165, script: 0x57, flags: 0x0},\n\t512:  {region: 0xa2, script: 0x46, flags: 0x0},\n\t513:  {region: 0x165, script: 0x57, flags: 0x0},\n\t514:  {region: 0xa0, script: 0x57, flags: 0x0},\n\t515:  {region: 0x1, script: 0x57, flags: 0x0},\n\t516:  {region: 0x165, script: 0x57, flags: 0x0},\n\t517:  {region: 0x165, script: 0x57, flags: 0x0},\n\t518:  {region: 0x165, script: 0x57, flags: 0x0},\n\t519:  {region: 0x52, script: 0x57, flags: 0x0},\n\t520:  {region: 0x130, script: 0x3b, flags: 0x0},\n\t521:  {region: 0x165, script: 0x57, flags: 0x0},\n\t522:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t523:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t524:  {region: 0x165, script: 0x57, flags: 0x0},\n\t525:  {region: 0x63, script: 0x57, flags: 0x0},\n\t526:  {region: 0x95, script: 0x57, flags: 0x0},\n\t527:  {region: 0x95, script: 0x57, flags: 0x0},\n\t528:  {region: 0x7d, script: 0x2b, flags: 0x0},\n\t529:  {region: 0x137, script: 0x1f, flags: 0x0},\n\t530:  {region: 0x67, script: 0x57, flags: 0x0},\n\t531:  {region: 0xc4, script: 0x57, flags: 0x0},\n\t532:  {region: 0x165, script: 0x57, flags: 0x0},\n\t533:  {region: 0x165, script: 0x57, flags: 0x0},\n\t534:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t535:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t536:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t537:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t538:  {region: 0x165, script: 0x57, flags: 0x0},\n\t539:  {region: 0x165, script: 0x57, flags: 0x0},\n\t540:  {region: 0x165, script: 0x57, flags: 0x0},\n\t541:  {region: 0x165, script: 0x57, flags: 0x0},\n\t542:  {region: 0xd4, script: 0x5, flags: 0x0},\n\t543:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t544:  {region: 0x164, script: 0x57, flags: 0x0},\n\t545:  {region: 0x165, script: 0x57, flags: 0x0},\n\t546:  {region: 0x165, script: 0x57, flags: 0x0},\n\t547:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t548:  {region: 0x122, script: 0x5, flags: 0x0},\n\t549:  {region: 0x165, script: 0x57, flags: 0x0},\n\t550:  {region: 0x123, script: 0xdf, flags: 0x0},\n\t551:  {region: 0x5a, script: 0x57, flags: 0x0},\n\t552:  {region: 0x52, script: 0x57, flags: 0x0},\n\t553:  {region: 0x165, script: 0x57, flags: 0x0},\n\t554:  {region: 0x4f, script: 0x57, flags: 0x0},\n\t555:  {region: 0x99, script: 0x21, flags: 0x0},\n\t556:  {region: 0x99, script: 0x21, flags: 0x0},\n\t557:  {region: 0x4b, script: 0x57, flags: 0x0},\n\t558:  {region: 0x95, script: 0x57, flags: 0x0},\n\t559:  {region: 0x165, script: 0x57, flags: 0x0},\n\t560:  {region: 0x41, script: 0x57, flags: 0x0},\n\t561:  {region: 0x99, script: 0x57, flags: 0x0},\n\t562:  {region: 0x53, script: 0xd6, flags: 0x0},\n\t563:  {region: 0x99, script: 0x21, flags: 0x0},\n\t564:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t565:  {region: 0x165, script: 0x57, flags: 0x0},\n\t566:  {region: 0x99, script: 0x72, flags: 0x0},\n\t567:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t568:  {region: 0x165, script: 0x57, flags: 0x0},\n\t569:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t570:  {region: 0x165, script: 0x57, flags: 0x0},\n\t571:  {region: 0x12b, script: 0x57, flags: 0x0},\n\t572:  {region: 0x165, script: 0x57, flags: 0x0},\n\t573:  {region: 0xd2, script: 0x57, flags: 0x0},\n\t574:  {region: 0x165, script: 0x57, flags: 0x0},\n\t575:  {region: 0xaf, script: 0x54, flags: 0x0},\n\t576:  {region: 0x165, script: 0x57, flags: 0x0},\n\t577:  {region: 0x165, script: 0x57, flags: 0x0},\n\t578:  {region: 0x13, script: 0x6, flags: 0x1},\n\t579:  {region: 0x165, script: 0x57, flags: 0x0},\n\t580:  {region: 0x52, script: 0x57, flags: 0x0},\n\t581:  {region: 0x82, script: 0x57, flags: 0x0},\n\t582:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t583:  {region: 0x165, script: 0x57, flags: 0x0},\n\t584:  {region: 0x165, script: 0x57, flags: 0x0},\n\t585:  {region: 0x165, script: 0x57, flags: 0x0},\n\t586:  {region: 0xa6, script: 0x4b, flags: 0x0},\n\t587:  {region: 0x2a, script: 0x57, flags: 0x0},\n\t588:  {region: 0x165, script: 0x57, flags: 0x0},\n\t589:  {region: 0x165, script: 0x57, flags: 0x0},\n\t590:  {region: 0x165, script: 0x57, flags: 0x0},\n\t591:  {region: 0x165, script: 0x57, flags: 0x0},\n\t592:  {region: 0x165, script: 0x57, flags: 0x0},\n\t593:  {region: 0x99, script: 0x4f, flags: 0x0},\n\t594:  {region: 0x8b, script: 0x57, flags: 0x0},\n\t595:  {region: 0x165, script: 0x57, flags: 0x0},\n\t596:  {region: 0xab, script: 0x50, flags: 0x0},\n\t597:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t598:  {region: 0x99, script: 0x21, flags: 0x0},\n\t599:  {region: 0x165, script: 0x57, flags: 0x0},\n\t600:  {region: 0x75, script: 0x57, flags: 0x0},\n\t601:  {region: 0x165, script: 0x57, flags: 0x0},\n\t602:  {region: 0xb4, script: 0x57, flags: 0x0},\n\t603:  {region: 0x165, script: 0x57, flags: 0x0},\n\t604:  {region: 0x165, script: 0x57, flags: 0x0},\n\t605:  {region: 0x165, script: 0x57, flags: 0x0},\n\t606:  {region: 0x165, script: 0x57, flags: 0x0},\n\t607:  {region: 0x165, script: 0x57, flags: 0x0},\n\t608:  {region: 0x165, script: 0x57, flags: 0x0},\n\t609:  {region: 0x165, script: 0x57, flags: 0x0},\n\t610:  {region: 0x165, script: 0x29, flags: 0x0},\n\t611:  {region: 0x165, script: 0x57, flags: 0x0},\n\t612:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t613:  {region: 0x112, script: 0x57, flags: 0x0},\n\t614:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t615:  {region: 0x106, script: 0x57, flags: 0x0},\n\t616:  {region: 0x165, script: 0x57, flags: 0x0},\n\t617:  {region: 0x99, script: 0x21, flags: 0x0},\n\t618:  {region: 0x99, script: 0x5, flags: 0x0},\n\t619:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t620:  {region: 0x165, script: 0x57, flags: 0x0},\n\t621:  {region: 0x52, script: 0x57, flags: 0x0},\n\t622:  {region: 0x60, script: 0x57, flags: 0x0},\n\t623:  {region: 0x165, script: 0x57, flags: 0x0},\n\t624:  {region: 0x165, script: 0x57, flags: 0x0},\n\t625:  {region: 0x165, script: 0x29, flags: 0x0},\n\t626:  {region: 0x165, script: 0x57, flags: 0x0},\n\t627:  {region: 0x165, script: 0x57, flags: 0x0},\n\t628:  {region: 0x19, script: 0x3, flags: 0x1},\n\t629:  {region: 0x165, script: 0x57, flags: 0x0},\n\t630:  {region: 0x165, script: 0x57, flags: 0x0},\n\t631:  {region: 0x165, script: 0x57, flags: 0x0},\n\t632:  {region: 0x165, script: 0x57, flags: 0x0},\n\t633:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t634:  {region: 0x165, script: 0x57, flags: 0x0},\n\t635:  {region: 0x165, script: 0x57, flags: 0x0},\n\t636:  {region: 0x165, script: 0x57, flags: 0x0},\n\t637:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t638:  {region: 0x165, script: 0x57, flags: 0x0},\n\t639:  {region: 0x95, script: 0x57, flags: 0x0},\n\t640:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t641:  {region: 0x7b, script: 0x57, flags: 0x0},\n\t642:  {region: 0x165, script: 0x57, flags: 0x0},\n\t643:  {region: 0x165, script: 0x57, flags: 0x0},\n\t644:  {region: 0x165, script: 0x57, flags: 0x0},\n\t645:  {region: 0x165, script: 0x29, flags: 0x0},\n\t646:  {region: 0x123, script: 0xdf, flags: 0x0},\n\t647:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t648:  {region: 0x165, script: 0x57, flags: 0x0},\n\t649:  {region: 0x165, script: 0x57, flags: 0x0},\n\t650:  {region: 0x1c, script: 0x5, flags: 0x1},\n\t651:  {region: 0x165, script: 0x57, flags: 0x0},\n\t652:  {region: 0x165, script: 0x57, flags: 0x0},\n\t653:  {region: 0x165, script: 0x57, flags: 0x0},\n\t654:  {region: 0x138, script: 0x57, flags: 0x0},\n\t655:  {region: 0x87, script: 0x5b, flags: 0x0},\n\t656:  {region: 0x97, script: 0x3b, flags: 0x0},\n\t657:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t658:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t659:  {region: 0x131, script: 0x57, flags: 0x0},\n\t660:  {region: 0x165, script: 0x57, flags: 0x0},\n\t661:  {region: 0xb7, script: 0x57, flags: 0x0},\n\t662:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t663:  {region: 0x165, script: 0x57, flags: 0x0},\n\t664:  {region: 0x95, script: 0x57, flags: 0x0},\n\t665:  {region: 0x165, script: 0x57, flags: 0x0},\n\t666:  {region: 0x53, script: 0xdf, flags: 0x0},\n\t667:  {region: 0x165, script: 0x57, flags: 0x0},\n\t668:  {region: 0x165, script: 0x57, flags: 0x0},\n\t669:  {region: 0x165, script: 0x57, flags: 0x0},\n\t670:  {region: 0x165, script: 0x57, flags: 0x0},\n\t671:  {region: 0x99, script: 0x59, flags: 0x0},\n\t672:  {region: 0x165, script: 0x57, flags: 0x0},\n\t673:  {region: 0x165, script: 0x57, flags: 0x0},\n\t674:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t675:  {region: 0x131, script: 0x57, flags: 0x0},\n\t676:  {region: 0x165, script: 0x57, flags: 0x0},\n\t677:  {region: 0xd9, script: 0x57, flags: 0x0},\n\t678:  {region: 0x165, script: 0x57, flags: 0x0},\n\t679:  {region: 0x165, script: 0x57, flags: 0x0},\n\t680:  {region: 0x21, script: 0x2, flags: 0x1},\n\t681:  {region: 0x165, script: 0x57, flags: 0x0},\n\t682:  {region: 0x165, script: 0x57, flags: 0x0},\n\t683:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t684:  {region: 0x53, script: 0x5d, flags: 0x0},\n\t685:  {region: 0x95, script: 0x57, flags: 0x0},\n\t686:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t687:  {region: 0x135, script: 0x57, flags: 0x0},\n\t688:  {region: 0x165, script: 0x57, flags: 0x0},\n\t689:  {region: 0x165, script: 0x57, flags: 0x0},\n\t690:  {region: 0x99, script: 0xda, flags: 0x0},\n\t691:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t692:  {region: 0x165, script: 0x57, flags: 0x0},\n\t693:  {region: 0x4b, script: 0x57, flags: 0x0},\n\t694:  {region: 0x165, script: 0x57, flags: 0x0},\n\t695:  {region: 0x165, script: 0x57, flags: 0x0},\n\t696:  {region: 0xaf, script: 0x54, flags: 0x0},\n\t697:  {region: 0x165, script: 0x57, flags: 0x0},\n\t698:  {region: 0x165, script: 0x57, flags: 0x0},\n\t699:  {region: 0x4b, script: 0x57, flags: 0x0},\n\t700:  {region: 0x165, script: 0x57, flags: 0x0},\n\t701:  {region: 0x165, script: 0x57, flags: 0x0},\n\t702:  {region: 0x162, script: 0x57, flags: 0x0},\n\t703:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t704:  {region: 0xb6, script: 0x57, flags: 0x0},\n\t705:  {region: 0xb8, script: 0x57, flags: 0x0},\n\t706:  {region: 0x4b, script: 0x57, flags: 0x0},\n\t707:  {region: 0x4b, script: 0x57, flags: 0x0},\n\t708:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t709:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t710:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t711:  {region: 0xb8, script: 0x57, flags: 0x0},\n\t712:  {region: 0x123, script: 0xdf, flags: 0x0},\n\t713:  {region: 0x53, script: 0x38, flags: 0x0},\n\t714:  {region: 0x12b, script: 0x57, flags: 0x0},\n\t715:  {region: 0x95, script: 0x57, flags: 0x0},\n\t716:  {region: 0x52, script: 0x57, flags: 0x0},\n\t717:  {region: 0x99, script: 0x21, flags: 0x0},\n\t718:  {region: 0x99, script: 0x21, flags: 0x0},\n\t719:  {region: 0x95, script: 0x57, flags: 0x0},\n\t720:  {region: 0x23, script: 0x3, flags: 0x1},\n\t721:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t722:  {region: 0x165, script: 0x57, flags: 0x0},\n\t723:  {region: 0xcf, script: 0x57, flags: 0x0},\n\t724:  {region: 0x165, script: 0x57, flags: 0x0},\n\t725:  {region: 0x165, script: 0x57, flags: 0x0},\n\t726:  {region: 0x165, script: 0x57, flags: 0x0},\n\t727:  {region: 0x165, script: 0x57, flags: 0x0},\n\t728:  {region: 0x165, script: 0x57, flags: 0x0},\n\t729:  {region: 0x165, script: 0x57, flags: 0x0},\n\t730:  {region: 0x165, script: 0x57, flags: 0x0},\n\t731:  {region: 0x165, script: 0x57, flags: 0x0},\n\t732:  {region: 0x165, script: 0x57, flags: 0x0},\n\t733:  {region: 0x165, script: 0x57, flags: 0x0},\n\t734:  {region: 0x165, script: 0x57, flags: 0x0},\n\t735:  {region: 0x165, script: 0x5, flags: 0x0},\n\t736:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t737:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t738:  {region: 0x165, script: 0x57, flags: 0x0},\n\t739:  {region: 0x95, script: 0x57, flags: 0x0},\n\t740:  {region: 0x165, script: 0x29, flags: 0x0},\n\t741:  {region: 0x165, script: 0x57, flags: 0x0},\n\t742:  {region: 0x165, script: 0x57, flags: 0x0},\n\t743:  {region: 0x165, script: 0x57, flags: 0x0},\n\t744:  {region: 0x112, script: 0x57, flags: 0x0},\n\t745:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t746:  {region: 0x165, script: 0x57, flags: 0x0},\n\t747:  {region: 0x165, script: 0x57, flags: 0x0},\n\t748:  {region: 0x123, script: 0x5, flags: 0x0},\n\t749:  {region: 0xcc, script: 0x57, flags: 0x0},\n\t750:  {region: 0x165, script: 0x57, flags: 0x0},\n\t751:  {region: 0x165, script: 0x57, flags: 0x0},\n\t752:  {region: 0x165, script: 0x57, flags: 0x0},\n\t753:  {region: 0xbf, script: 0x57, flags: 0x0},\n\t754:  {region: 0xd1, script: 0x57, flags: 0x0},\n\t755:  {region: 0x165, script: 0x57, flags: 0x0},\n\t756:  {region: 0x52, script: 0x57, flags: 0x0},\n\t757:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t758:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t759:  {region: 0xc0, script: 0x57, flags: 0x0},\n\t760:  {region: 0x165, script: 0x57, flags: 0x0},\n\t761:  {region: 0x165, script: 0x57, flags: 0x0},\n\t762:  {region: 0xe0, script: 0x57, flags: 0x0},\n\t763:  {region: 0x165, script: 0x57, flags: 0x0},\n\t764:  {region: 0x95, script: 0x57, flags: 0x0},\n\t765:  {region: 0x9b, script: 0x3a, flags: 0x0},\n\t766:  {region: 0x165, script: 0x57, flags: 0x0},\n\t767:  {region: 0xc2, script: 0x1f, flags: 0x0},\n\t768:  {region: 0x165, script: 0x5, flags: 0x0},\n\t769:  {region: 0x165, script: 0x57, flags: 0x0},\n\t770:  {region: 0x165, script: 0x57, flags: 0x0},\n\t771:  {region: 0x165, script: 0x57, flags: 0x0},\n\t772:  {region: 0x99, script: 0x6b, flags: 0x0},\n\t773:  {region: 0x165, script: 0x57, flags: 0x0},\n\t774:  {region: 0x165, script: 0x57, flags: 0x0},\n\t775:  {region: 0x10b, script: 0x57, flags: 0x0},\n\t776:  {region: 0x165, script: 0x57, flags: 0x0},\n\t777:  {region: 0x165, script: 0x57, flags: 0x0},\n\t778:  {region: 0x165, script: 0x57, flags: 0x0},\n\t779:  {region: 0x26, script: 0x3, flags: 0x1},\n\t780:  {region: 0x165, script: 0x57, flags: 0x0},\n\t781:  {region: 0x165, script: 0x57, flags: 0x0},\n\t782:  {region: 0x99, script: 0xe, flags: 0x0},\n\t783:  {region: 0xc4, script: 0x72, flags: 0x0},\n\t785:  {region: 0x165, script: 0x57, flags: 0x0},\n\t786:  {region: 0x49, script: 0x57, flags: 0x0},\n\t787:  {region: 0x49, script: 0x57, flags: 0x0},\n\t788:  {region: 0x37, script: 0x57, flags: 0x0},\n\t789:  {region: 0x165, script: 0x57, flags: 0x0},\n\t790:  {region: 0x165, script: 0x57, flags: 0x0},\n\t791:  {region: 0x165, script: 0x57, flags: 0x0},\n\t792:  {region: 0x165, script: 0x57, flags: 0x0},\n\t793:  {region: 0x165, script: 0x57, flags: 0x0},\n\t794:  {region: 0x165, script: 0x57, flags: 0x0},\n\t795:  {region: 0x99, script: 0x21, flags: 0x0},\n\t796:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t797:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t798:  {region: 0x35, script: 0x6f, flags: 0x0},\n\t799:  {region: 0x29, script: 0x3, flags: 0x1},\n\t800:  {region: 0xcb, script: 0x57, flags: 0x0},\n\t801:  {region: 0x165, script: 0x57, flags: 0x0},\n\t802:  {region: 0x165, script: 0x57, flags: 0x0},\n\t803:  {region: 0x165, script: 0x57, flags: 0x0},\n\t804:  {region: 0x99, script: 0x21, flags: 0x0},\n\t805:  {region: 0x52, script: 0x57, flags: 0x0},\n\t807:  {region: 0x165, script: 0x57, flags: 0x0},\n\t808:  {region: 0x135, script: 0x57, flags: 0x0},\n\t809:  {region: 0x165, script: 0x57, flags: 0x0},\n\t810:  {region: 0x165, script: 0x57, flags: 0x0},\n\t811:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t812:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t813:  {region: 0x99, script: 0x21, flags: 0x0},\n\t814:  {region: 0x95, script: 0x57, flags: 0x0},\n\t815:  {region: 0x164, script: 0x57, flags: 0x0},\n\t816:  {region: 0x165, script: 0x57, flags: 0x0},\n\t817:  {region: 0xc4, script: 0x72, flags: 0x0},\n\t818:  {region: 0x165, script: 0x57, flags: 0x0},\n\t819:  {region: 0x165, script: 0x29, flags: 0x0},\n\t820:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t821:  {region: 0x165, script: 0x57, flags: 0x0},\n\t822:  {region: 0x131, script: 0x57, flags: 0x0},\n\t823:  {region: 0x9c, script: 0x63, flags: 0x0},\n\t824:  {region: 0x165, script: 0x57, flags: 0x0},\n\t825:  {region: 0x165, script: 0x57, flags: 0x0},\n\t826:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t827:  {region: 0x165, script: 0x57, flags: 0x0},\n\t828:  {region: 0x165, script: 0x57, flags: 0x0},\n\t829:  {region: 0x165, script: 0x57, flags: 0x0},\n\t830:  {region: 0xdd, script: 0x57, flags: 0x0},\n\t831:  {region: 0x165, script: 0x57, flags: 0x0},\n\t832:  {region: 0x165, script: 0x57, flags: 0x0},\n\t834:  {region: 0x165, script: 0x57, flags: 0x0},\n\t835:  {region: 0x53, script: 0x38, flags: 0x0},\n\t836:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t837:  {region: 0xd2, script: 0x57, flags: 0x0},\n\t838:  {region: 0x165, script: 0x57, flags: 0x0},\n\t839:  {region: 0xda, script: 0x57, flags: 0x0},\n\t840:  {region: 0x165, script: 0x57, flags: 0x0},\n\t841:  {region: 0x165, script: 0x57, flags: 0x0},\n\t842:  {region: 0x165, script: 0x57, flags: 0x0},\n\t843:  {region: 0xcf, script: 0x57, flags: 0x0},\n\t844:  {region: 0x165, script: 0x57, flags: 0x0},\n\t845:  {region: 0x165, script: 0x57, flags: 0x0},\n\t846:  {region: 0x164, script: 0x57, flags: 0x0},\n\t847:  {region: 0xd1, script: 0x57, flags: 0x0},\n\t848:  {region: 0x60, script: 0x57, flags: 0x0},\n\t849:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t850:  {region: 0x165, script: 0x57, flags: 0x0},\n\t851:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t852:  {region: 0x165, script: 0x57, flags: 0x0},\n\t853:  {region: 0x165, script: 0x57, flags: 0x0},\n\t854:  {region: 0xd2, script: 0x57, flags: 0x0},\n\t855:  {region: 0x165, script: 0x57, flags: 0x0},\n\t856:  {region: 0x165, script: 0x57, flags: 0x0},\n\t857:  {region: 0xd1, script: 0x57, flags: 0x0},\n\t858:  {region: 0x165, script: 0x57, flags: 0x0},\n\t859:  {region: 0xcf, script: 0x57, flags: 0x0},\n\t860:  {region: 0xcf, script: 0x57, flags: 0x0},\n\t861:  {region: 0x165, script: 0x57, flags: 0x0},\n\t862:  {region: 0x165, script: 0x57, flags: 0x0},\n\t863:  {region: 0x95, script: 0x57, flags: 0x0},\n\t864:  {region: 0x165, script: 0x57, flags: 0x0},\n\t865:  {region: 0xdf, script: 0x57, flags: 0x0},\n\t866:  {region: 0x165, script: 0x57, flags: 0x0},\n\t867:  {region: 0x165, script: 0x57, flags: 0x0},\n\t868:  {region: 0x99, script: 0x57, flags: 0x0},\n\t869:  {region: 0x165, script: 0x57, flags: 0x0},\n\t870:  {region: 0x165, script: 0x57, flags: 0x0},\n\t871:  {region: 0xd9, script: 0x57, flags: 0x0},\n\t872:  {region: 0x52, script: 0x57, flags: 0x0},\n\t873:  {region: 0x165, script: 0x57, flags: 0x0},\n\t874:  {region: 0xda, script: 0x57, flags: 0x0},\n\t875:  {region: 0x165, script: 0x57, flags: 0x0},\n\t876:  {region: 0x52, script: 0x57, flags: 0x0},\n\t877:  {region: 0x165, script: 0x57, flags: 0x0},\n\t878:  {region: 0x165, script: 0x57, flags: 0x0},\n\t879:  {region: 0xda, script: 0x57, flags: 0x0},\n\t880:  {region: 0x123, script: 0x53, flags: 0x0},\n\t881:  {region: 0x99, script: 0x21, flags: 0x0},\n\t882:  {region: 0x10c, script: 0xbf, flags: 0x0},\n\t883:  {region: 0x165, script: 0x57, flags: 0x0},\n\t884:  {region: 0x165, script: 0x57, flags: 0x0},\n\t885:  {region: 0x84, script: 0x78, flags: 0x0},\n\t886:  {region: 0x161, script: 0x57, flags: 0x0},\n\t887:  {region: 0x165, script: 0x57, flags: 0x0},\n\t888:  {region: 0x49, script: 0x17, flags: 0x0},\n\t889:  {region: 0x165, script: 0x57, flags: 0x0},\n\t890:  {region: 0x161, script: 0x57, flags: 0x0},\n\t891:  {region: 0x165, script: 0x57, flags: 0x0},\n\t892:  {region: 0x165, script: 0x57, flags: 0x0},\n\t893:  {region: 0x165, script: 0x57, flags: 0x0},\n\t894:  {region: 0x165, script: 0x57, flags: 0x0},\n\t895:  {region: 0x165, script: 0x57, flags: 0x0},\n\t896:  {region: 0x117, script: 0x57, flags: 0x0},\n\t897:  {region: 0x165, script: 0x57, flags: 0x0},\n\t898:  {region: 0x165, script: 0x57, flags: 0x0},\n\t899:  {region: 0x135, script: 0x57, flags: 0x0},\n\t900:  {region: 0x165, script: 0x57, flags: 0x0},\n\t901:  {region: 0x53, script: 0x57, flags: 0x0},\n\t902:  {region: 0x165, script: 0x57, flags: 0x0},\n\t903:  {region: 0xce, script: 0x57, flags: 0x0},\n\t904:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t905:  {region: 0x131, script: 0x57, flags: 0x0},\n\t906:  {region: 0x80, script: 0x57, flags: 0x0},\n\t907:  {region: 0x78, script: 0x57, flags: 0x0},\n\t908:  {region: 0x165, script: 0x57, flags: 0x0},\n\t910:  {region: 0x165, script: 0x57, flags: 0x0},\n\t911:  {region: 0x165, script: 0x57, flags: 0x0},\n\t912:  {region: 0x6f, script: 0x57, flags: 0x0},\n\t913:  {region: 0x165, script: 0x57, flags: 0x0},\n\t914:  {region: 0x165, script: 0x57, flags: 0x0},\n\t915:  {region: 0x165, script: 0x57, flags: 0x0},\n\t916:  {region: 0x165, script: 0x57, flags: 0x0},\n\t917:  {region: 0x99, script: 0x7d, flags: 0x0},\n\t918:  {region: 0x165, script: 0x57, flags: 0x0},\n\t919:  {region: 0x165, script: 0x5, flags: 0x0},\n\t920:  {region: 0x7d, script: 0x1f, flags: 0x0},\n\t921:  {region: 0x135, script: 0x7e, flags: 0x0},\n\t922:  {region: 0x165, script: 0x5, flags: 0x0},\n\t923:  {region: 0xc5, script: 0x7c, flags: 0x0},\n\t924:  {region: 0x165, script: 0x57, flags: 0x0},\n\t925:  {region: 0x2c, script: 0x3, flags: 0x1},\n\t926:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t927:  {region: 0x2f, script: 0x2, flags: 0x1},\n\t928:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t929:  {region: 0x30, script: 0x57, flags: 0x0},\n\t930:  {region: 0xf0, script: 0x57, flags: 0x0},\n\t931:  {region: 0x165, script: 0x57, flags: 0x0},\n\t932:  {region: 0x78, script: 0x57, flags: 0x0},\n\t933:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t934:  {region: 0x135, script: 0x57, flags: 0x0},\n\t935:  {region: 0x49, script: 0x57, flags: 0x0},\n\t936:  {region: 0x165, script: 0x57, flags: 0x0},\n\t937:  {region: 0x9c, script: 0xe8, flags: 0x0},\n\t938:  {region: 0x165, script: 0x57, flags: 0x0},\n\t939:  {region: 0x60, script: 0x57, flags: 0x0},\n\t940:  {region: 0x165, script: 0x5, flags: 0x0},\n\t941:  {region: 0xb0, script: 0x87, flags: 0x0},\n\t943:  {region: 0x165, script: 0x57, flags: 0x0},\n\t944:  {region: 0x165, script: 0x57, flags: 0x0},\n\t945:  {region: 0x99, script: 0x12, flags: 0x0},\n\t946:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t947:  {region: 0xe9, script: 0x57, flags: 0x0},\n\t948:  {region: 0x165, script: 0x57, flags: 0x0},\n\t949:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t950:  {region: 0x165, script: 0x57, flags: 0x0},\n\t951:  {region: 0x165, script: 0x57, flags: 0x0},\n\t952:  {region: 0x87, script: 0x31, flags: 0x0},\n\t953:  {region: 0x75, script: 0x57, flags: 0x0},\n\t954:  {region: 0x165, script: 0x57, flags: 0x0},\n\t955:  {region: 0xe8, script: 0x4a, flags: 0x0},\n\t956:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t957:  {region: 0x1, script: 0x57, flags: 0x0},\n\t958:  {region: 0x24, script: 0x5, flags: 0x0},\n\t959:  {region: 0x165, script: 0x57, flags: 0x0},\n\t960:  {region: 0x41, script: 0x57, flags: 0x0},\n\t961:  {region: 0x165, script: 0x57, flags: 0x0},\n\t962:  {region: 0x7a, script: 0x57, flags: 0x0},\n\t963:  {region: 0x165, script: 0x57, flags: 0x0},\n\t964:  {region: 0xe4, script: 0x57, flags: 0x0},\n\t965:  {region: 0x89, script: 0x57, flags: 0x0},\n\t966:  {region: 0x69, script: 0x57, flags: 0x0},\n\t967:  {region: 0x165, script: 0x57, flags: 0x0},\n\t968:  {region: 0x99, script: 0x21, flags: 0x0},\n\t969:  {region: 0x165, script: 0x57, flags: 0x0},\n\t970:  {region: 0x102, script: 0x57, flags: 0x0},\n\t971:  {region: 0x95, script: 0x57, flags: 0x0},\n\t972:  {region: 0x165, script: 0x57, flags: 0x0},\n\t973:  {region: 0x165, script: 0x57, flags: 0x0},\n\t974:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t975:  {region: 0x165, script: 0x5, flags: 0x0},\n\t976:  {region: 0x99, script: 0x57, flags: 0x0},\n\t977:  {region: 0x31, script: 0x2, flags: 0x1},\n\t978:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t979:  {region: 0x35, script: 0xe, flags: 0x0},\n\t980:  {region: 0x4e, script: 0x57, flags: 0x0},\n\t981:  {region: 0x72, script: 0x57, flags: 0x0},\n\t982:  {region: 0x4e, script: 0x57, flags: 0x0},\n\t983:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t984:  {region: 0x10c, script: 0x57, flags: 0x0},\n\t985:  {region: 0x3a, script: 0x57, flags: 0x0},\n\t986:  {region: 0x165, script: 0x57, flags: 0x0},\n\t987:  {region: 0xd1, script: 0x57, flags: 0x0},\n\t988:  {region: 0x104, script: 0x57, flags: 0x0},\n\t989:  {region: 0x95, script: 0x57, flags: 0x0},\n\t990:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t991:  {region: 0x165, script: 0x57, flags: 0x0},\n\t992:  {region: 0x165, script: 0x57, flags: 0x0},\n\t993:  {region: 0x73, script: 0x57, flags: 0x0},\n\t994:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t995:  {region: 0x130, script: 0x1f, flags: 0x0},\n\t996:  {region: 0x109, script: 0x57, flags: 0x0},\n\t997:  {region: 0x107, script: 0x57, flags: 0x0},\n\t998:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t999:  {region: 0x165, script: 0x57, flags: 0x0},\n\t1000: {region: 0xa2, script: 0x49, flags: 0x0},\n\t1001: {region: 0x99, script: 0x21, flags: 0x0},\n\t1002: {region: 0x80, script: 0x57, flags: 0x0},\n\t1003: {region: 0x106, script: 0x1f, flags: 0x0},\n\t1004: {region: 0xa4, script: 0x57, flags: 0x0},\n\t1005: {region: 0x95, script: 0x57, flags: 0x0},\n\t1006: {region: 0x99, script: 0x57, flags: 0x0},\n\t1007: {region: 0x114, script: 0x57, flags: 0x0},\n\t1008: {region: 0x99, script: 0xc3, flags: 0x0},\n\t1009: {region: 0x165, script: 0x57, flags: 0x0},\n\t1010: {region: 0x165, script: 0x57, flags: 0x0},\n\t1011: {region: 0x12f, script: 0x57, flags: 0x0},\n\t1012: {region: 0x9e, script: 0x57, flags: 0x0},\n\t1013: {region: 0x99, script: 0x21, flags: 0x0},\n\t1014: {region: 0x165, script: 0x5, flags: 0x0},\n\t1015: {region: 0x9e, script: 0x57, flags: 0x0},\n\t1016: {region: 0x7b, script: 0x57, flags: 0x0},\n\t1017: {region: 0x49, script: 0x57, flags: 0x0},\n\t1018: {region: 0x33, script: 0x4, flags: 0x1},\n\t1019: {region: 0x9e, script: 0x57, flags: 0x0},\n\t1020: {region: 0x9c, script: 0x5, flags: 0x0},\n\t1021: {region: 0xda, script: 0x57, flags: 0x0},\n\t1022: {region: 0x4f, script: 0x57, flags: 0x0},\n\t1023: {region: 0xd1, script: 0x57, flags: 0x0},\n\t1024: {region: 0xcf, script: 0x57, flags: 0x0},\n\t1025: {region: 0xc3, script: 0x57, flags: 0x0},\n\t1026: {region: 0x4c, script: 0x57, flags: 0x0},\n\t1027: {region: 0x96, script: 0x7a, flags: 0x0},\n\t1028: {region: 0xb6, script: 0x57, flags: 0x0},\n\t1029: {region: 0x165, script: 0x29, flags: 0x0},\n\t1030: {region: 0x165, script: 0x57, flags: 0x0},\n\t1032: {region: 0xba, script: 0xdc, flags: 0x0},\n\t1033: {region: 0x165, script: 0x57, flags: 0x0},\n\t1034: {region: 0xc4, script: 0x72, flags: 0x0},\n\t1035: {region: 0x165, script: 0x5, flags: 0x0},\n\t1036: {region: 0xb3, script: 0xca, flags: 0x0},\n\t1037: {region: 0x6f, script: 0x57, flags: 0x0},\n\t1038: {region: 0x165, script: 0x57, flags: 0x0},\n\t1039: {region: 0x165, script: 0x57, flags: 0x0},\n\t1040: {region: 0x165, script: 0x57, flags: 0x0},\n\t1041: {region: 0x165, script: 0x57, flags: 0x0},\n\t1042: {region: 0x111, script: 0x57, flags: 0x0},\n\t1043: {region: 0x165, script: 0x57, flags: 0x0},\n\t1044: {region: 0xe8, script: 0x5, flags: 0x0},\n\t1045: {region: 0x165, script: 0x57, flags: 0x0},\n\t1046: {region: 0x10f, script: 0x57, flags: 0x0},\n\t1047: {region: 0x165, script: 0x57, flags: 0x0},\n\t1048: {region: 0xe9, script: 0x57, flags: 0x0},\n\t1049: {region: 0x165, script: 0x57, flags: 0x0},\n\t1050: {region: 0x95, script: 0x57, flags: 0x0},\n\t1051: {region: 0x142, script: 0x57, flags: 0x0},\n\t1052: {region: 0x10c, script: 0x57, flags: 0x0},\n\t1054: {region: 0x10c, script: 0x57, flags: 0x0},\n\t1055: {region: 0x72, script: 0x57, flags: 0x0},\n\t1056: {region: 0x97, script: 0xc0, flags: 0x0},\n\t1057: {region: 0x165, script: 0x57, flags: 0x0},\n\t1058: {region: 0x72, script: 0x57, flags: 0x0},\n\t1059: {region: 0x164, script: 0x57, flags: 0x0},\n\t1060: {region: 0x165, script: 0x57, flags: 0x0},\n\t1061: {region: 0xc3, script: 0x57, flags: 0x0},\n\t1062: {region: 0x165, script: 0x57, flags: 0x0},\n\t1063: {region: 0x165, script: 0x57, flags: 0x0},\n\t1064: {region: 0x165, script: 0x57, flags: 0x0},\n\t1065: {region: 0x115, script: 0x57, flags: 0x0},\n\t1066: {region: 0x165, script: 0x57, flags: 0x0},\n\t1067: {region: 0x165, script: 0x57, flags: 0x0},\n\t1068: {region: 0x123, script: 0xdf, flags: 0x0},\n\t1069: {region: 0x165, script: 0x57, flags: 0x0},\n\t1070: {region: 0x165, script: 0x57, flags: 0x0},\n\t1071: {region: 0x165, script: 0x57, flags: 0x0},\n\t1072: {region: 0x165, script: 0x57, flags: 0x0},\n\t1073: {region: 0x27, script: 0x57, flags: 0x0},\n\t1074: {region: 0x37, script: 0x5, flags: 0x1},\n\t1075: {region: 0x99, script: 0xcb, flags: 0x0},\n\t1076: {region: 0x116, script: 0x57, flags: 0x0},\n\t1077: {region: 0x114, script: 0x57, flags: 0x0},\n\t1078: {region: 0x99, script: 0x21, flags: 0x0},\n\t1079: {region: 0x161, script: 0x57, flags: 0x0},\n\t1080: {region: 0x165, script: 0x57, flags: 0x0},\n\t1081: {region: 0x165, script: 0x57, flags: 0x0},\n\t1082: {region: 0x6d, script: 0x57, flags: 0x0},\n\t1083: {region: 0x161, script: 0x57, flags: 0x0},\n\t1084: {region: 0x165, script: 0x57, flags: 0x0},\n\t1085: {region: 0x60, script: 0x57, flags: 0x0},\n\t1086: {region: 0x95, script: 0x57, flags: 0x0},\n\t1087: {region: 0x165, script: 0x57, flags: 0x0},\n\t1088: {region: 0x165, script: 0x57, flags: 0x0},\n\t1089: {region: 0x12f, script: 0x57, flags: 0x0},\n\t1090: {region: 0x165, script: 0x57, flags: 0x0},\n\t1091: {region: 0x84, script: 0x57, flags: 0x0},\n\t1092: {region: 0x10c, script: 0x57, flags: 0x0},\n\t1093: {region: 0x12f, script: 0x57, flags: 0x0},\n\t1094: {region: 0x15f, script: 0x5, flags: 0x0},\n\t1095: {region: 0x4b, script: 0x57, flags: 0x0},\n\t1096: {region: 0x60, script: 0x57, flags: 0x0},\n\t1097: {region: 0x165, script: 0x57, flags: 0x0},\n\t1098: {region: 0x99, script: 0x21, flags: 0x0},\n\t1099: {region: 0x95, script: 0x57, flags: 0x0},\n\t1100: {region: 0x165, script: 0x57, flags: 0x0},\n\t1101: {region: 0x35, script: 0xe, flags: 0x0},\n\t1102: {region: 0x9b, script: 0xcf, flags: 0x0},\n\t1103: {region: 0xe9, script: 0x57, flags: 0x0},\n\t1104: {region: 0x99, script: 0xd7, flags: 0x0},\n\t1105: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1106: {region: 0x165, script: 0x57, flags: 0x0},\n\t1107: {region: 0x165, script: 0x57, flags: 0x0},\n\t1108: {region: 0x165, script: 0x57, flags: 0x0},\n\t1109: {region: 0x165, script: 0x57, flags: 0x0},\n\t1110: {region: 0x165, script: 0x57, flags: 0x0},\n\t1111: {region: 0x165, script: 0x57, flags: 0x0},\n\t1112: {region: 0x165, script: 0x57, flags: 0x0},\n\t1113: {region: 0x165, script: 0x57, flags: 0x0},\n\t1114: {region: 0xe7, script: 0x57, flags: 0x0},\n\t1115: {region: 0x165, script: 0x57, flags: 0x0},\n\t1116: {region: 0x165, script: 0x57, flags: 0x0},\n\t1117: {region: 0x99, script: 0x4f, flags: 0x0},\n\t1118: {region: 0x53, script: 0xd5, flags: 0x0},\n\t1119: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1120: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1121: {region: 0x99, script: 0xda, flags: 0x0},\n\t1122: {region: 0x165, script: 0x57, flags: 0x0},\n\t1123: {region: 0x112, script: 0x57, flags: 0x0},\n\t1124: {region: 0x131, script: 0x57, flags: 0x0},\n\t1125: {region: 0x126, script: 0x57, flags: 0x0},\n\t1126: {region: 0x165, script: 0x57, flags: 0x0},\n\t1127: {region: 0x3c, script: 0x3, flags: 0x1},\n\t1128: {region: 0x165, script: 0x57, flags: 0x0},\n\t1129: {region: 0x165, script: 0x57, flags: 0x0},\n\t1130: {region: 0x165, script: 0x57, flags: 0x0},\n\t1131: {region: 0x123, script: 0xdf, flags: 0x0},\n\t1132: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1133: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1134: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1135: {region: 0x6f, script: 0x29, flags: 0x0},\n\t1136: {region: 0x165, script: 0x57, flags: 0x0},\n\t1137: {region: 0x6d, script: 0x29, flags: 0x0},\n\t1138: {region: 0x165, script: 0x57, flags: 0x0},\n\t1139: {region: 0x165, script: 0x57, flags: 0x0},\n\t1140: {region: 0x165, script: 0x57, flags: 0x0},\n\t1141: {region: 0xd6, script: 0x57, flags: 0x0},\n\t1142: {region: 0x127, script: 0x57, flags: 0x0},\n\t1143: {region: 0x125, script: 0x57, flags: 0x0},\n\t1144: {region: 0x32, script: 0x57, flags: 0x0},\n\t1145: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1146: {region: 0xe7, script: 0x57, flags: 0x0},\n\t1147: {region: 0x165, script: 0x57, flags: 0x0},\n\t1148: {region: 0x165, script: 0x57, flags: 0x0},\n\t1149: {region: 0x32, script: 0x57, flags: 0x0},\n\t1150: {region: 0xd4, script: 0x57, flags: 0x0},\n\t1151: {region: 0x165, script: 0x57, flags: 0x0},\n\t1152: {region: 0x161, script: 0x57, flags: 0x0},\n\t1153: {region: 0x165, script: 0x57, flags: 0x0},\n\t1154: {region: 0x129, script: 0x57, flags: 0x0},\n\t1155: {region: 0x165, script: 0x57, flags: 0x0},\n\t1156: {region: 0xce, script: 0x57, flags: 0x0},\n\t1157: {region: 0x165, script: 0x57, flags: 0x0},\n\t1158: {region: 0xe6, script: 0x57, flags: 0x0},\n\t1159: {region: 0x165, script: 0x57, flags: 0x0},\n\t1160: {region: 0x165, script: 0x57, flags: 0x0},\n\t1161: {region: 0x165, script: 0x57, flags: 0x0},\n\t1162: {region: 0x12b, script: 0x57, flags: 0x0},\n\t1163: {region: 0x12b, script: 0x57, flags: 0x0},\n\t1164: {region: 0x12e, script: 0x57, flags: 0x0},\n\t1165: {region: 0x165, script: 0x5, flags: 0x0},\n\t1166: {region: 0x161, script: 0x57, flags: 0x0},\n\t1167: {region: 0x87, script: 0x31, flags: 0x0},\n\t1168: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1169: {region: 0xe7, script: 0x57, flags: 0x0},\n\t1170: {region: 0x43, script: 0xe0, flags: 0x0},\n\t1171: {region: 0x165, script: 0x57, flags: 0x0},\n\t1172: {region: 0x106, script: 0x1f, flags: 0x0},\n\t1173: {region: 0x165, script: 0x57, flags: 0x0},\n\t1174: {region: 0x165, script: 0x57, flags: 0x0},\n\t1175: {region: 0x131, script: 0x57, flags: 0x0},\n\t1176: {region: 0x165, script: 0x57, flags: 0x0},\n\t1177: {region: 0x123, script: 0xdf, flags: 0x0},\n\t1178: {region: 0x32, script: 0x57, flags: 0x0},\n\t1179: {region: 0x165, script: 0x57, flags: 0x0},\n\t1180: {region: 0x165, script: 0x57, flags: 0x0},\n\t1181: {region: 0xce, script: 0x57, flags: 0x0},\n\t1182: {region: 0x165, script: 0x57, flags: 0x0},\n\t1183: {region: 0x165, script: 0x57, flags: 0x0},\n\t1184: {region: 0x12d, script: 0x57, flags: 0x0},\n\t1185: {region: 0x165, script: 0x57, flags: 0x0},\n\t1187: {region: 0x165, script: 0x57, flags: 0x0},\n\t1188: {region: 0xd4, script: 0x57, flags: 0x0},\n\t1189: {region: 0x53, script: 0xd8, flags: 0x0},\n\t1190: {region: 0xe5, script: 0x57, flags: 0x0},\n\t1191: {region: 0x165, script: 0x57, flags: 0x0},\n\t1192: {region: 0x106, script: 0x1f, flags: 0x0},\n\t1193: {region: 0xba, script: 0x57, flags: 0x0},\n\t1194: {region: 0x165, script: 0x57, flags: 0x0},\n\t1195: {region: 0x106, script: 0x1f, flags: 0x0},\n\t1196: {region: 0x3f, script: 0x4, flags: 0x1},\n\t1197: {region: 0x11c, script: 0xe2, flags: 0x0},\n\t1198: {region: 0x130, script: 0x1f, flags: 0x0},\n\t1199: {region: 0x75, script: 0x57, flags: 0x0},\n\t1200: {region: 0x2a, script: 0x57, flags: 0x0},\n\t1202: {region: 0x43, script: 0x3, flags: 0x1},\n\t1203: {region: 0x99, script: 0xe, flags: 0x0},\n\t1204: {region: 0xe8, script: 0x5, flags: 0x0},\n\t1205: {region: 0x165, script: 0x57, flags: 0x0},\n\t1206: {region: 0x165, script: 0x57, flags: 0x0},\n\t1207: {region: 0x165, script: 0x57, flags: 0x0},\n\t1208: {region: 0x165, script: 0x57, flags: 0x0},\n\t1209: {region: 0x165, script: 0x57, flags: 0x0},\n\t1210: {region: 0x165, script: 0x57, flags: 0x0},\n\t1211: {region: 0x165, script: 0x57, flags: 0x0},\n\t1212: {region: 0x46, script: 0x4, flags: 0x1},\n\t1213: {region: 0x165, script: 0x57, flags: 0x0},\n\t1214: {region: 0xb4, script: 0xe3, flags: 0x0},\n\t1215: {region: 0x165, script: 0x57, flags: 0x0},\n\t1216: {region: 0x161, script: 0x57, flags: 0x0},\n\t1217: {region: 0x9e, script: 0x57, flags: 0x0},\n\t1218: {region: 0x106, script: 0x57, flags: 0x0},\n\t1219: {region: 0x13e, script: 0x57, flags: 0x0},\n\t1220: {region: 0x11b, script: 0x57, flags: 0x0},\n\t1221: {region: 0x165, script: 0x57, flags: 0x0},\n\t1222: {region: 0x36, script: 0x57, flags: 0x0},\n\t1223: {region: 0x60, script: 0x57, flags: 0x0},\n\t1224: {region: 0xd1, script: 0x57, flags: 0x0},\n\t1225: {region: 0x1, script: 0x57, flags: 0x0},\n\t1226: {region: 0x106, script: 0x57, flags: 0x0},\n\t1227: {region: 0x6a, script: 0x57, flags: 0x0},\n\t1228: {region: 0x12f, script: 0x57, flags: 0x0},\n\t1229: {region: 0x165, script: 0x57, flags: 0x0},\n\t1230: {region: 0x36, script: 0x57, flags: 0x0},\n\t1231: {region: 0x4e, script: 0x57, flags: 0x0},\n\t1232: {region: 0x165, script: 0x57, flags: 0x0},\n\t1233: {region: 0x6f, script: 0x29, flags: 0x0},\n\t1234: {region: 0x165, script: 0x57, flags: 0x0},\n\t1235: {region: 0xe7, script: 0x57, flags: 0x0},\n\t1236: {region: 0x2f, script: 0x57, flags: 0x0},\n\t1237: {region: 0x99, script: 0xda, flags: 0x0},\n\t1238: {region: 0x99, script: 0x21, flags: 0x0},\n\t1239: {region: 0x165, script: 0x57, flags: 0x0},\n\t1240: {region: 0x165, script: 0x57, flags: 0x0},\n\t1241: {region: 0x165, script: 0x57, flags: 0x0},\n\t1242: {region: 0x165, script: 0x57, flags: 0x0},\n\t1243: {region: 0x165, script: 0x57, flags: 0x0},\n\t1244: {region: 0x165, script: 0x57, flags: 0x0},\n\t1245: {region: 0x165, script: 0x57, flags: 0x0},\n\t1246: {region: 0x165, script: 0x57, flags: 0x0},\n\t1247: {region: 0x165, script: 0x57, flags: 0x0},\n\t1248: {region: 0x140, script: 0x57, flags: 0x0},\n\t1249: {region: 0x165, script: 0x57, flags: 0x0},\n\t1250: {region: 0x165, script: 0x57, flags: 0x0},\n\t1251: {region: 0xa8, script: 0x5, flags: 0x0},\n\t1252: {region: 0x165, script: 0x57, flags: 0x0},\n\t1253: {region: 0x114, script: 0x57, flags: 0x0},\n\t1254: {region: 0x165, script: 0x57, flags: 0x0},\n\t1255: {region: 0x165, script: 0x57, flags: 0x0},\n\t1256: {region: 0x165, script: 0x57, flags: 0x0},\n\t1257: {region: 0x165, script: 0x57, flags: 0x0},\n\t1258: {region: 0x99, script: 0x21, flags: 0x0},\n\t1259: {region: 0x53, script: 0x38, flags: 0x0},\n\t1260: {region: 0x165, script: 0x57, flags: 0x0},\n\t1261: {region: 0x165, script: 0x57, flags: 0x0},\n\t1262: {region: 0x41, script: 0x57, flags: 0x0},\n\t1263: {region: 0x165, script: 0x57, flags: 0x0},\n\t1264: {region: 0x12b, script: 0x18, flags: 0x0},\n\t1265: {region: 0x165, script: 0x57, flags: 0x0},\n\t1266: {region: 0x161, script: 0x57, flags: 0x0},\n\t1267: {region: 0x165, script: 0x57, flags: 0x0},\n\t1268: {region: 0x12b, script: 0x5f, flags: 0x0},\n\t1269: {region: 0x12b, script: 0x60, flags: 0x0},\n\t1270: {region: 0x7d, script: 0x2b, flags: 0x0},\n\t1271: {region: 0x53, script: 0x64, flags: 0x0},\n\t1272: {region: 0x10b, script: 0x69, flags: 0x0},\n\t1273: {region: 0x108, script: 0x73, flags: 0x0},\n\t1274: {region: 0x99, script: 0x21, flags: 0x0},\n\t1275: {region: 0x131, script: 0x57, flags: 0x0},\n\t1276: {region: 0x165, script: 0x57, flags: 0x0},\n\t1277: {region: 0x9c, script: 0x8a, flags: 0x0},\n\t1278: {region: 0x165, script: 0x57, flags: 0x0},\n\t1279: {region: 0x15e, script: 0xc2, flags: 0x0},\n\t1280: {region: 0x165, script: 0x57, flags: 0x0},\n\t1281: {region: 0x165, script: 0x57, flags: 0x0},\n\t1282: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1283: {region: 0x165, script: 0x57, flags: 0x0},\n\t1284: {region: 0x165, script: 0x57, flags: 0x0},\n\t1285: {region: 0xd1, script: 0x57, flags: 0x0},\n\t1286: {region: 0x75, script: 0x57, flags: 0x0},\n\t1287: {region: 0x165, script: 0x57, flags: 0x0},\n\t1288: {region: 0x165, script: 0x57, flags: 0x0},\n\t1289: {region: 0x52, script: 0x57, flags: 0x0},\n\t1290: {region: 0x165, script: 0x57, flags: 0x0},\n\t1291: {region: 0x165, script: 0x57, flags: 0x0},\n\t1292: {region: 0x165, script: 0x57, flags: 0x0},\n\t1293: {region: 0x52, script: 0x57, flags: 0x0},\n\t1294: {region: 0x165, script: 0x57, flags: 0x0},\n\t1295: {region: 0x165, script: 0x57, flags: 0x0},\n\t1296: {region: 0x165, script: 0x57, flags: 0x0},\n\t1297: {region: 0x165, script: 0x57, flags: 0x0},\n\t1298: {region: 0x1, script: 0x3b, flags: 0x0},\n\t1299: {region: 0x165, script: 0x57, flags: 0x0},\n\t1300: {region: 0x165, script: 0x57, flags: 0x0},\n\t1301: {region: 0x165, script: 0x57, flags: 0x0},\n\t1302: {region: 0x165, script: 0x57, flags: 0x0},\n\t1303: {region: 0x165, script: 0x57, flags: 0x0},\n\t1304: {region: 0xd6, script: 0x57, flags: 0x0},\n\t1305: {region: 0x165, script: 0x57, flags: 0x0},\n\t1306: {region: 0x165, script: 0x57, flags: 0x0},\n\t1307: {region: 0x165, script: 0x57, flags: 0x0},\n\t1308: {region: 0x41, script: 0x57, flags: 0x0},\n\t1309: {region: 0x165, script: 0x57, flags: 0x0},\n\t1310: {region: 0xcf, script: 0x57, flags: 0x0},\n\t1311: {region: 0x4a, script: 0x3, flags: 0x1},\n\t1312: {region: 0x165, script: 0x57, flags: 0x0},\n\t1313: {region: 0x165, script: 0x57, flags: 0x0},\n\t1314: {region: 0x165, script: 0x57, flags: 0x0},\n\t1315: {region: 0x53, script: 0x57, flags: 0x0},\n\t1316: {region: 0x10b, script: 0x57, flags: 0x0},\n\t1318: {region: 0xa8, script: 0x5, flags: 0x0},\n\t1319: {region: 0xd9, script: 0x57, flags: 0x0},\n\t1320: {region: 0xba, script: 0xdc, flags: 0x0},\n\t1321: {region: 0x4d, script: 0x14, flags: 0x1},\n\t1322: {region: 0x53, script: 0x79, flags: 0x0},\n\t1323: {region: 0x165, script: 0x57, flags: 0x0},\n\t1324: {region: 0x122, script: 0x57, flags: 0x0},\n\t1325: {region: 0xd0, script: 0x57, flags: 0x0},\n\t1326: {region: 0x165, script: 0x57, flags: 0x0},\n\t1327: {region: 0x161, script: 0x57, flags: 0x0},\n\t1329: {region: 0x12b, script: 0x57, flags: 0x0},\n}\n\n// likelyLangList holds lists info associated with likelyLang.\n// Size: 388 bytes, 97 elements\nvar likelyLangList = [97]likelyScriptRegion{\n\t0:  {region: 0x9c, script: 0x7, flags: 0x0},\n\t1:  {region: 0xa1, script: 0x74, flags: 0x2},\n\t2:  {region: 0x11c, script: 0x80, flags: 0x2},\n\t3:  {region: 0x32, script: 0x57, flags: 0x0},\n\t4:  {region: 0x9b, script: 0x5, flags: 0x4},\n\t5:  {region: 0x9c, script: 0x5, flags: 0x4},\n\t6:  {region: 0x106, script: 0x1f, flags: 0x4},\n\t7:  {region: 0x9c, script: 0x5, flags: 0x2},\n\t8:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t9:  {region: 0x38, script: 0x2c, flags: 0x2},\n\t10: {region: 0x135, script: 0x57, flags: 0x0},\n\t11: {region: 0x7b, script: 0xc5, flags: 0x2},\n\t12: {region: 0x114, script: 0x57, flags: 0x0},\n\t13: {region: 0x84, script: 0x1, flags: 0x2},\n\t14: {region: 0x5d, script: 0x1e, flags: 0x0},\n\t15: {region: 0x87, script: 0x5c, flags: 0x2},\n\t16: {region: 0xd6, script: 0x57, flags: 0x0},\n\t17: {region: 0x52, script: 0x5, flags: 0x4},\n\t18: {region: 0x10b, script: 0x5, flags: 0x4},\n\t19: {region: 0xae, script: 0x1f, flags: 0x0},\n\t20: {region: 0x24, script: 0x5, flags: 0x4},\n\t21: {region: 0x53, script: 0x5, flags: 0x4},\n\t22: {region: 0x9c, script: 0x5, flags: 0x4},\n\t23: {region: 0xc5, script: 0x5, flags: 0x4},\n\t24: {region: 0x53, script: 0x5, flags: 0x2},\n\t25: {region: 0x12b, script: 0x57, flags: 0x0},\n\t26: {region: 0xb0, script: 0x5, flags: 0x4},\n\t27: {region: 0x9b, script: 0x5, flags: 0x2},\n\t28: {region: 0xa5, script: 0x1f, flags: 0x0},\n\t29: {region: 0x53, script: 0x5, flags: 0x4},\n\t30: {region: 0x12b, script: 0x57, flags: 0x4},\n\t31: {region: 0x53, script: 0x5, flags: 0x2},\n\t32: {region: 0x12b, script: 0x57, flags: 0x2},\n\t33: {region: 0xdb, script: 0x21, flags: 0x0},\n\t34: {region: 0x99, script: 0x5a, flags: 0x2},\n\t35: {region: 0x83, script: 0x57, flags: 0x0},\n\t36: {region: 0x84, script: 0x78, flags: 0x4},\n\t37: {region: 0x84, script: 0x78, flags: 0x2},\n\t38: {region: 0xc5, script: 0x1f, flags: 0x0},\n\t39: {region: 0x53, script: 0x6d, flags: 0x4},\n\t40: {region: 0x53, script: 0x6d, flags: 0x2},\n\t41: {region: 0xd0, script: 0x57, flags: 0x0},\n\t42: {region: 0x4a, script: 0x5, flags: 0x4},\n\t43: {region: 0x95, script: 0x5, flags: 0x4},\n\t44: {region: 0x99, script: 0x33, flags: 0x0},\n\t45: {region: 0xe8, script: 0x5, flags: 0x4},\n\t46: {region: 0xe8, script: 0x5, flags: 0x2},\n\t47: {region: 0x9c, script: 0x84, flags: 0x0},\n\t48: {region: 0x53, script: 0x85, flags: 0x2},\n\t49: {region: 0xba, script: 0xdc, flags: 0x0},\n\t50: {region: 0xd9, script: 0x57, flags: 0x4},\n\t51: {region: 0xe8, script: 0x5, flags: 0x0},\n\t52: {region: 0x99, script: 0x21, flags: 0x2},\n\t53: {region: 0x99, script: 0x4c, flags: 0x2},\n\t54: {region: 0x99, script: 0xc9, flags: 0x2},\n\t55: {region: 0x105, script: 0x1f, flags: 0x0},\n\t56: {region: 0xbd, script: 0x57, flags: 0x4},\n\t57: {region: 0x104, script: 0x57, flags: 0x4},\n\t58: {region: 0x106, script: 0x57, flags: 0x4},\n\t59: {region: 0x12b, script: 0x57, flags: 0x4},\n\t60: {region: 0x124, script: 0x1f, flags: 0x0},\n\t61: {region: 0xe8, script: 0x5, flags: 0x4},\n\t62: {region: 0xe8, script: 0x5, flags: 0x2},\n\t63: {region: 0x53, script: 0x5, flags: 0x0},\n\t64: {region: 0xae, script: 0x1f, flags: 0x4},\n\t65: {region: 0xc5, script: 0x1f, flags: 0x4},\n\t66: {region: 0xae, script: 0x1f, flags: 0x2},\n\t67: {region: 0x99, script: 0xe, flags: 0x0},\n\t68: {region: 0xdb, script: 0x21, flags: 0x4},\n\t69: {region: 0xdb, script: 0x21, flags: 0x2},\n\t70: {region: 0x137, script: 0x57, flags: 0x0},\n\t71: {region: 0x24, script: 0x5, flags: 0x4},\n\t72: {region: 0x53, script: 0x1f, flags: 0x4},\n\t73: {region: 0x24, script: 0x5, flags: 0x2},\n\t74: {region: 0x8d, script: 0x39, flags: 0x0},\n\t75: {region: 0x53, script: 0x38, flags: 0x4},\n\t76: {region: 0x53, script: 0x38, flags: 0x2},\n\t77: {region: 0x53, script: 0x38, flags: 0x0},\n\t78: {region: 0x2f, script: 0x39, flags: 0x4},\n\t79: {region: 0x3e, script: 0x39, flags: 0x4},\n\t80: {region: 0x7b, script: 0x39, flags: 0x4},\n\t81: {region: 0x7e, script: 0x39, flags: 0x4},\n\t82: {region: 0x8d, script: 0x39, flags: 0x4},\n\t83: {region: 0x95, script: 0x39, flags: 0x4},\n\t84: {region: 0xc6, script: 0x39, flags: 0x4},\n\t85: {region: 0xd0, script: 0x39, flags: 0x4},\n\t86: {region: 0xe2, script: 0x39, flags: 0x4},\n\t87: {region: 0xe5, script: 0x39, flags: 0x4},\n\t88: {region: 0xe7, script: 0x39, flags: 0x4},\n\t89: {region: 0x116, script: 0x39, flags: 0x4},\n\t90: {region: 0x123, script: 0x39, flags: 0x4},\n\t91: {region: 0x12e, script: 0x39, flags: 0x4},\n\t92: {region: 0x135, script: 0x39, flags: 0x4},\n\t93: {region: 0x13e, script: 0x39, flags: 0x4},\n\t94: {region: 0x12e, script: 0x11, flags: 0x2},\n\t95: {region: 0x12e, script: 0x34, flags: 0x2},\n\t96: {region: 0x12e, script: 0x39, flags: 0x2},\n}\n\ntype likelyLangScript struct {\n\tlang   uint16\n\tscript uint8\n\tflags  uint8\n}\n\n// likelyRegion is a lookup table, indexed by regionID, for the most likely\n// languages and scripts given incomplete information. If more entries exist\n// for a given regionID, lang and script are the index and size respectively\n// of the list in likelyRegionList.\n// TODO: exclude containers and user-definable regions from the list.\n// Size: 1432 bytes, 358 elements\nvar likelyRegion = [358]likelyLangScript{\n\t34:  {lang: 0xd7, script: 0x57, flags: 0x0},\n\t35:  {lang: 0x3a, script: 0x5, flags: 0x0},\n\t36:  {lang: 0x0, script: 0x2, flags: 0x1},\n\t39:  {lang: 0x2, script: 0x2, flags: 0x1},\n\t40:  {lang: 0x4, script: 0x2, flags: 0x1},\n\t42:  {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t43:  {lang: 0x0, script: 0x57, flags: 0x0},\n\t44:  {lang: 0x13e, script: 0x57, flags: 0x0},\n\t45:  {lang: 0x41b, script: 0x57, flags: 0x0},\n\t46:  {lang: 0x10d, script: 0x57, flags: 0x0},\n\t48:  {lang: 0x367, script: 0x57, flags: 0x0},\n\t49:  {lang: 0x444, script: 0x57, flags: 0x0},\n\t50:  {lang: 0x58, script: 0x57, flags: 0x0},\n\t51:  {lang: 0x6, script: 0x2, flags: 0x1},\n\t53:  {lang: 0xa5, script: 0xe, flags: 0x0},\n\t54:  {lang: 0x367, script: 0x57, flags: 0x0},\n\t55:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t56:  {lang: 0x7e, script: 0x1f, flags: 0x0},\n\t57:  {lang: 0x3a, script: 0x5, flags: 0x0},\n\t58:  {lang: 0x3d9, script: 0x57, flags: 0x0},\n\t59:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t60:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t62:  {lang: 0x31f, script: 0x57, flags: 0x0},\n\t63:  {lang: 0x13e, script: 0x57, flags: 0x0},\n\t64:  {lang: 0x3a1, script: 0x57, flags: 0x0},\n\t65:  {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t67:  {lang: 0x8, script: 0x2, flags: 0x1},\n\t69:  {lang: 0x0, script: 0x57, flags: 0x0},\n\t71:  {lang: 0x71, script: 0x1f, flags: 0x0},\n\t73:  {lang: 0x512, script: 0x3b, flags: 0x2},\n\t74:  {lang: 0x31f, script: 0x5, flags: 0x2},\n\t75:  {lang: 0x445, script: 0x57, flags: 0x0},\n\t76:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t77:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t78:  {lang: 0x10d, script: 0x57, flags: 0x0},\n\t79:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t81:  {lang: 0x13e, script: 0x57, flags: 0x0},\n\t82:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t83:  {lang: 0xa, script: 0x4, flags: 0x1},\n\t84:  {lang: 0x13e, script: 0x57, flags: 0x0},\n\t85:  {lang: 0x0, script: 0x57, flags: 0x0},\n\t86:  {lang: 0x13e, script: 0x57, flags: 0x0},\n\t89:  {lang: 0x13e, script: 0x57, flags: 0x0},\n\t90:  {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t91:  {lang: 0x3a1, script: 0x57, flags: 0x0},\n\t93:  {lang: 0xe, script: 0x2, flags: 0x1},\n\t94:  {lang: 0xfa, script: 0x57, flags: 0x0},\n\t96:  {lang: 0x10d, script: 0x57, flags: 0x0},\n\t98:  {lang: 0x1, script: 0x57, flags: 0x0},\n\t99:  {lang: 0x101, script: 0x57, flags: 0x0},\n\t101: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t103: {lang: 0x10, script: 0x2, flags: 0x1},\n\t104: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t105: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t106: {lang: 0x140, script: 0x57, flags: 0x0},\n\t107: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t108: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t109: {lang: 0x46f, script: 0x29, flags: 0x0},\n\t110: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t111: {lang: 0x12, script: 0x2, flags: 0x1},\n\t113: {lang: 0x10d, script: 0x57, flags: 0x0},\n\t114: {lang: 0x151, script: 0x57, flags: 0x0},\n\t115: {lang: 0x1c0, script: 0x21, flags: 0x2},\n\t118: {lang: 0x158, script: 0x57, flags: 0x0},\n\t120: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t122: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t123: {lang: 0x14, script: 0x2, flags: 0x1},\n\t125: {lang: 0x16, script: 0x3, flags: 0x1},\n\t126: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t128: {lang: 0x21, script: 0x57, flags: 0x0},\n\t130: {lang: 0x245, script: 0x57, flags: 0x0},\n\t132: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t133: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t134: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t135: {lang: 0x19, script: 0x2, flags: 0x1},\n\t136: {lang: 0x0, script: 0x57, flags: 0x0},\n\t137: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t139: {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t141: {lang: 0x529, script: 0x39, flags: 0x0},\n\t142: {lang: 0x0, script: 0x57, flags: 0x0},\n\t143: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t144: {lang: 0x1d1, script: 0x57, flags: 0x0},\n\t145: {lang: 0x1d4, script: 0x57, flags: 0x0},\n\t146: {lang: 0x1d5, script: 0x57, flags: 0x0},\n\t148: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t149: {lang: 0x1b, script: 0x2, flags: 0x1},\n\t151: {lang: 0x1bc, script: 0x3b, flags: 0x0},\n\t153: {lang: 0x1d, script: 0x3, flags: 0x1},\n\t155: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t156: {lang: 0x20, script: 0x2, flags: 0x1},\n\t157: {lang: 0x1f8, script: 0x57, flags: 0x0},\n\t158: {lang: 0x1f9, script: 0x57, flags: 0x0},\n\t161: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t162: {lang: 0x200, script: 0x46, flags: 0x0},\n\t164: {lang: 0x445, script: 0x57, flags: 0x0},\n\t165: {lang: 0x28a, script: 0x1f, flags: 0x0},\n\t166: {lang: 0x22, script: 0x3, flags: 0x1},\n\t168: {lang: 0x25, script: 0x2, flags: 0x1},\n\t170: {lang: 0x254, script: 0x50, flags: 0x0},\n\t171: {lang: 0x254, script: 0x50, flags: 0x0},\n\t172: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t174: {lang: 0x3e2, script: 0x1f, flags: 0x0},\n\t175: {lang: 0x27, script: 0x2, flags: 0x1},\n\t176: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t178: {lang: 0x10d, script: 0x57, flags: 0x0},\n\t179: {lang: 0x40c, script: 0xca, flags: 0x0},\n\t181: {lang: 0x43b, script: 0x57, flags: 0x0},\n\t182: {lang: 0x2c0, script: 0x57, flags: 0x0},\n\t183: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t184: {lang: 0x2c7, script: 0x57, flags: 0x0},\n\t185: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t186: {lang: 0x29, script: 0x2, flags: 0x1},\n\t187: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t188: {lang: 0x2b, script: 0x2, flags: 0x1},\n\t189: {lang: 0x432, script: 0x57, flags: 0x0},\n\t190: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t191: {lang: 0x2f1, script: 0x57, flags: 0x0},\n\t194: {lang: 0x2d, script: 0x2, flags: 0x1},\n\t195: {lang: 0xa0, script: 0x57, flags: 0x0},\n\t196: {lang: 0x2f, script: 0x2, flags: 0x1},\n\t197: {lang: 0x31, script: 0x2, flags: 0x1},\n\t198: {lang: 0x33, script: 0x2, flags: 0x1},\n\t200: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t201: {lang: 0x35, script: 0x2, flags: 0x1},\n\t203: {lang: 0x320, script: 0x57, flags: 0x0},\n\t204: {lang: 0x37, script: 0x3, flags: 0x1},\n\t205: {lang: 0x128, script: 0xde, flags: 0x0},\n\t207: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t208: {lang: 0x31f, script: 0x57, flags: 0x0},\n\t209: {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t210: {lang: 0x16, script: 0x57, flags: 0x0},\n\t211: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t212: {lang: 0x1b4, script: 0x57, flags: 0x0},\n\t214: {lang: 0x1b4, script: 0x5, flags: 0x2},\n\t216: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t217: {lang: 0x367, script: 0x57, flags: 0x0},\n\t218: {lang: 0x347, script: 0x57, flags: 0x0},\n\t219: {lang: 0x351, script: 0x21, flags: 0x0},\n\t225: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t226: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t228: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t229: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t230: {lang: 0x486, script: 0x57, flags: 0x0},\n\t231: {lang: 0x153, script: 0x57, flags: 0x0},\n\t232: {lang: 0x3a, script: 0x3, flags: 0x1},\n\t233: {lang: 0x3b3, script: 0x57, flags: 0x0},\n\t234: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t236: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t237: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t238: {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t240: {lang: 0x3a2, script: 0x57, flags: 0x0},\n\t241: {lang: 0x194, script: 0x57, flags: 0x0},\n\t243: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t258: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t260: {lang: 0x3d, script: 0x2, flags: 0x1},\n\t261: {lang: 0x432, script: 0x1f, flags: 0x0},\n\t262: {lang: 0x3f, script: 0x2, flags: 0x1},\n\t263: {lang: 0x3e5, script: 0x57, flags: 0x0},\n\t264: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t266: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t267: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t268: {lang: 0x41, script: 0x2, flags: 0x1},\n\t271: {lang: 0x416, script: 0x57, flags: 0x0},\n\t272: {lang: 0x347, script: 0x57, flags: 0x0},\n\t273: {lang: 0x43, script: 0x2, flags: 0x1},\n\t275: {lang: 0x1f9, script: 0x57, flags: 0x0},\n\t276: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t277: {lang: 0x429, script: 0x57, flags: 0x0},\n\t278: {lang: 0x367, script: 0x57, flags: 0x0},\n\t280: {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t282: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t284: {lang: 0x45, script: 0x2, flags: 0x1},\n\t288: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t289: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t290: {lang: 0x47, script: 0x2, flags: 0x1},\n\t291: {lang: 0x49, script: 0x3, flags: 0x1},\n\t292: {lang: 0x4c, script: 0x2, flags: 0x1},\n\t293: {lang: 0x477, script: 0x57, flags: 0x0},\n\t294: {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t295: {lang: 0x476, script: 0x57, flags: 0x0},\n\t296: {lang: 0x4e, script: 0x2, flags: 0x1},\n\t297: {lang: 0x482, script: 0x57, flags: 0x0},\n\t299: {lang: 0x50, script: 0x4, flags: 0x1},\n\t301: {lang: 0x4a0, script: 0x57, flags: 0x0},\n\t302: {lang: 0x54, script: 0x2, flags: 0x1},\n\t303: {lang: 0x445, script: 0x57, flags: 0x0},\n\t304: {lang: 0x56, script: 0x3, flags: 0x1},\n\t305: {lang: 0x445, script: 0x57, flags: 0x0},\n\t309: {lang: 0x512, script: 0x3b, flags: 0x2},\n\t310: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t311: {lang: 0x4bc, script: 0x57, flags: 0x0},\n\t312: {lang: 0x1f9, script: 0x57, flags: 0x0},\n\t315: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t318: {lang: 0x4c3, script: 0x57, flags: 0x0},\n\t319: {lang: 0x8a, script: 0x57, flags: 0x0},\n\t320: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t322: {lang: 0x41b, script: 0x57, flags: 0x0},\n\t333: {lang: 0x59, script: 0x2, flags: 0x1},\n\t350: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t351: {lang: 0x5b, script: 0x2, flags: 0x1},\n\t356: {lang: 0x423, script: 0x57, flags: 0x0},\n}\n\n// likelyRegionList holds lists info associated with likelyRegion.\n// Size: 372 bytes, 93 elements\nvar likelyRegionList = [93]likelyLangScript{\n\t0:  {lang: 0x148, script: 0x5, flags: 0x0},\n\t1:  {lang: 0x476, script: 0x57, flags: 0x0},\n\t2:  {lang: 0x431, script: 0x57, flags: 0x0},\n\t3:  {lang: 0x2ff, script: 0x1f, flags: 0x0},\n\t4:  {lang: 0x1d7, script: 0x8, flags: 0x0},\n\t5:  {lang: 0x274, script: 0x57, flags: 0x0},\n\t6:  {lang: 0xb7, script: 0x57, flags: 0x0},\n\t7:  {lang: 0x432, script: 0x1f, flags: 0x0},\n\t8:  {lang: 0x12d, script: 0xe0, flags: 0x0},\n\t9:  {lang: 0x351, script: 0x21, flags: 0x0},\n\t10: {lang: 0x529, script: 0x38, flags: 0x0},\n\t11: {lang: 0x4ac, script: 0x5, flags: 0x0},\n\t12: {lang: 0x523, script: 0x57, flags: 0x0},\n\t13: {lang: 0x29a, script: 0xdf, flags: 0x0},\n\t14: {lang: 0x136, script: 0x31, flags: 0x0},\n\t15: {lang: 0x48a, script: 0x57, flags: 0x0},\n\t16: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t17: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t18: {lang: 0x27, script: 0x29, flags: 0x0},\n\t19: {lang: 0x139, script: 0x57, flags: 0x0},\n\t20: {lang: 0x26a, script: 0x5, flags: 0x2},\n\t21: {lang: 0x512, script: 0x3b, flags: 0x2},\n\t22: {lang: 0x210, script: 0x2b, flags: 0x0},\n\t23: {lang: 0x5, script: 0x1f, flags: 0x0},\n\t24: {lang: 0x274, script: 0x57, flags: 0x0},\n\t25: {lang: 0x136, script: 0x31, flags: 0x0},\n\t26: {lang: 0x2ff, script: 0x1f, flags: 0x0},\n\t27: {lang: 0x1e1, script: 0x57, flags: 0x0},\n\t28: {lang: 0x31f, script: 0x5, flags: 0x0},\n\t29: {lang: 0x1be, script: 0x21, flags: 0x0},\n\t30: {lang: 0x4b4, script: 0x5, flags: 0x0},\n\t31: {lang: 0x236, script: 0x72, flags: 0x0},\n\t32: {lang: 0x148, script: 0x5, flags: 0x0},\n\t33: {lang: 0x476, script: 0x57, flags: 0x0},\n\t34: {lang: 0x24a, script: 0x4b, flags: 0x0},\n\t35: {lang: 0xe6, script: 0x5, flags: 0x0},\n\t36: {lang: 0x226, script: 0xdf, flags: 0x0},\n\t37: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t38: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t39: {lang: 0x2b8, script: 0x54, flags: 0x0},\n\t40: {lang: 0x226, script: 0xdf, flags: 0x0},\n\t41: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t42: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t43: {lang: 0x3dc, script: 0x57, flags: 0x0},\n\t44: {lang: 0x4ae, script: 0x1f, flags: 0x0},\n\t45: {lang: 0x2ff, script: 0x1f, flags: 0x0},\n\t46: {lang: 0x431, script: 0x57, flags: 0x0},\n\t47: {lang: 0x331, script: 0x72, flags: 0x0},\n\t48: {lang: 0x213, script: 0x57, flags: 0x0},\n\t49: {lang: 0x30b, script: 0x1f, flags: 0x0},\n\t50: {lang: 0x242, script: 0x5, flags: 0x0},\n\t51: {lang: 0x529, script: 0x39, flags: 0x0},\n\t52: {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t53: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t54: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t55: {lang: 0x2ed, script: 0x57, flags: 0x0},\n\t56: {lang: 0x4b4, script: 0x5, flags: 0x0},\n\t57: {lang: 0x88, script: 0x21, flags: 0x0},\n\t58: {lang: 0x4b4, script: 0x5, flags: 0x0},\n\t59: {lang: 0x4b4, script: 0x5, flags: 0x0},\n\t60: {lang: 0xbe, script: 0x21, flags: 0x0},\n\t61: {lang: 0x3dc, script: 0x57, flags: 0x0},\n\t62: {lang: 0x7e, script: 0x1f, flags: 0x0},\n\t63: {lang: 0x3e2, script: 0x1f, flags: 0x0},\n\t64: {lang: 0x267, script: 0x57, flags: 0x0},\n\t65: {lang: 0x444, script: 0x57, flags: 0x0},\n\t66: {lang: 0x512, script: 0x3b, flags: 0x0},\n\t67: {lang: 0x412, script: 0x57, flags: 0x0},\n\t68: {lang: 0x4ae, script: 0x1f, flags: 0x0},\n\t69: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t70: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t71: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t72: {lang: 0x35, script: 0x5, flags: 0x0},\n\t73: {lang: 0x46b, script: 0xdf, flags: 0x0},\n\t74: {lang: 0x2ec, script: 0x5, flags: 0x0},\n\t75: {lang: 0x30f, script: 0x72, flags: 0x0},\n\t76: {lang: 0x467, script: 0x1f, flags: 0x0},\n\t77: {lang: 0x148, script: 0x5, flags: 0x0},\n\t78: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t79: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t80: {lang: 0x48a, script: 0x57, flags: 0x0},\n\t81: {lang: 0x58, script: 0x5, flags: 0x0},\n\t82: {lang: 0x219, script: 0x1f, flags: 0x0},\n\t83: {lang: 0x81, script: 0x31, flags: 0x0},\n\t84: {lang: 0x529, script: 0x39, flags: 0x0},\n\t85: {lang: 0x48c, script: 0x57, flags: 0x0},\n\t86: {lang: 0x4ae, script: 0x1f, flags: 0x0},\n\t87: {lang: 0x512, script: 0x3b, flags: 0x0},\n\t88: {lang: 0x3b3, script: 0x57, flags: 0x0},\n\t89: {lang: 0x431, script: 0x57, flags: 0x0},\n\t90: {lang: 0x432, script: 0x1f, flags: 0x0},\n\t91: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t92: {lang: 0x446, script: 0x5, flags: 0x0},\n}\n\ntype likelyTag struct {\n\tlang   uint16\n\tregion uint16\n\tscript uint8\n}\n\n// Size: 198 bytes, 33 elements\nvar likelyRegionGroup = [33]likelyTag{\n\t1:  {lang: 0x139, region: 0xd6, script: 0x57},\n\t2:  {lang: 0x139, region: 0x135, script: 0x57},\n\t3:  {lang: 0x3c0, region: 0x41, script: 0x57},\n\t4:  {lang: 0x139, region: 0x2f, script: 0x57},\n\t5:  {lang: 0x139, region: 0xd6, script: 0x57},\n\t6:  {lang: 0x13e, region: 0xcf, script: 0x57},\n\t7:  {lang: 0x445, region: 0x12f, script: 0x57},\n\t8:  {lang: 0x3a, region: 0x6b, script: 0x5},\n\t9:  {lang: 0x445, region: 0x4b, script: 0x57},\n\t10: {lang: 0x139, region: 0x161, script: 0x57},\n\t11: {lang: 0x139, region: 0x135, script: 0x57},\n\t12: {lang: 0x139, region: 0x135, script: 0x57},\n\t13: {lang: 0x13e, region: 0x59, script: 0x57},\n\t14: {lang: 0x529, region: 0x53, script: 0x38},\n\t15: {lang: 0x1be, region: 0x99, script: 0x21},\n\t16: {lang: 0x1e1, region: 0x95, script: 0x57},\n\t17: {lang: 0x1f9, region: 0x9e, script: 0x57},\n\t18: {lang: 0x139, region: 0x2f, script: 0x57},\n\t19: {lang: 0x139, region: 0xe6, script: 0x57},\n\t20: {lang: 0x139, region: 0x8a, script: 0x57},\n\t21: {lang: 0x41b, region: 0x142, script: 0x57},\n\t22: {lang: 0x529, region: 0x53, script: 0x38},\n\t23: {lang: 0x4bc, region: 0x137, script: 0x57},\n\t24: {lang: 0x3a, region: 0x108, script: 0x5},\n\t25: {lang: 0x3e2, region: 0x106, script: 0x1f},\n\t26: {lang: 0x3e2, region: 0x106, script: 0x1f},\n\t27: {lang: 0x139, region: 0x7b, script: 0x57},\n\t28: {lang: 0x10d, region: 0x60, script: 0x57},\n\t29: {lang: 0x139, region: 0xd6, script: 0x57},\n\t30: {lang: 0x13e, region: 0x1f, script: 0x57},\n\t31: {lang: 0x139, region: 0x9a, script: 0x57},\n\t32: {lang: 0x139, region: 0x7b, script: 0x57},\n}\n\n// Size: 358 bytes, 358 elements\nvar regionToGroups = [358]uint8{\n\t// Entry 0 - 3F\n\t0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04,\n\t0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00,\n\t0x00, 0x04, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00,\n\t0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x04,\n\t// Entry 40 - 7F\n\t0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,\n\t0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x08,\n\t0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,\n\t// Entry 80 - BF\n\t0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00,\n\t0x00, 0x04, 0x01, 0x00, 0x04, 0x02, 0x00, 0x04,\n\t0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,\n\t0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00,\n\t// Entry C0 - FF\n\t0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01,\n\t0x04, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00,\n\t0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 100 - 13F\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,\n\t0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x04, 0x00,\n\t0x00, 0x04, 0x00, 0x04, 0x04, 0x05, 0x00, 0x00,\n\t// Entry 140 - 17F\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n}\n\n// Size: 18 bytes, 3 elements\nvar paradigmLocales = [3][3]uint16{\n\t0: [3]uint16{0x139, 0x0, 0x7b},\n\t1: [3]uint16{0x13e, 0x0, 0x1f},\n\t2: [3]uint16{0x3c0, 0x41, 0xee},\n}\n\ntype mutualIntelligibility struct {\n\twant     uint16\n\thave     uint16\n\tdistance uint8\n\toneway   bool\n}\n\ntype scriptIntelligibility struct {\n\twantLang   uint16\n\thaveLang   uint16\n\twantScript uint8\n\thaveScript uint8\n\tdistance   uint8\n}\n\ntype regionIntelligibility struct {\n\tlang     uint16\n\tscript   uint8\n\tgroup    uint8\n\tdistance uint8\n}\n\n// matchLang holds pairs of langIDs of base languages that are typically\n// mutually intelligible. Each pair is associated with a confidence and\n// whether the intelligibility goes one or both ways.\n// Size: 678 bytes, 113 elements\nvar matchLang = [113]mutualIntelligibility{\n\t0:   {want: 0x1d1, have: 0xb7, distance: 0x4, oneway: false},\n\t1:   {want: 0x407, have: 0xb7, distance: 0x4, oneway: false},\n\t2:   {want: 0x407, have: 0x1d1, distance: 0x4, oneway: false},\n\t3:   {want: 0x407, have: 0x432, distance: 0x4, oneway: false},\n\t4:   {want: 0x43a, have: 0x1, distance: 0x4, oneway: false},\n\t5:   {want: 0x1a3, have: 0x10d, distance: 0x4, oneway: true},\n\t6:   {want: 0x295, have: 0x10d, distance: 0x4, oneway: true},\n\t7:   {want: 0x101, have: 0x36f, distance: 0x8, oneway: false},\n\t8:   {want: 0x101, have: 0x347, distance: 0x8, oneway: false},\n\t9:   {want: 0x5, have: 0x3e2, distance: 0xa, oneway: true},\n\t10:  {want: 0xd, have: 0x139, distance: 0xa, oneway: true},\n\t11:  {want: 0x16, have: 0x367, distance: 0xa, oneway: true},\n\t12:  {want: 0x21, have: 0x139, distance: 0xa, oneway: true},\n\t13:  {want: 0x56, have: 0x13e, distance: 0xa, oneway: true},\n\t14:  {want: 0x58, have: 0x3e2, distance: 0xa, oneway: true},\n\t15:  {want: 0x71, have: 0x3e2, distance: 0xa, oneway: true},\n\t16:  {want: 0x75, have: 0x139, distance: 0xa, oneway: true},\n\t17:  {want: 0x82, have: 0x1be, distance: 0xa, oneway: true},\n\t18:  {want: 0xa5, have: 0x139, distance: 0xa, oneway: true},\n\t19:  {want: 0xb2, have: 0x15e, distance: 0xa, oneway: true},\n\t20:  {want: 0xdd, have: 0x153, distance: 0xa, oneway: true},\n\t21:  {want: 0xe5, have: 0x139, distance: 0xa, oneway: true},\n\t22:  {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true},\n\t23:  {want: 0xf0, have: 0x15e, distance: 0xa, oneway: true},\n\t24:  {want: 0xf9, have: 0x15e, distance: 0xa, oneway: true},\n\t25:  {want: 0x100, have: 0x139, distance: 0xa, oneway: true},\n\t26:  {want: 0x130, have: 0x139, distance: 0xa, oneway: true},\n\t27:  {want: 0x13c, have: 0x139, distance: 0xa, oneway: true},\n\t28:  {want: 0x140, have: 0x151, distance: 0xa, oneway: true},\n\t29:  {want: 0x145, have: 0x13e, distance: 0xa, oneway: true},\n\t30:  {want: 0x158, have: 0x101, distance: 0xa, oneway: true},\n\t31:  {want: 0x16d, have: 0x367, distance: 0xa, oneway: true},\n\t32:  {want: 0x16e, have: 0x139, distance: 0xa, oneway: true},\n\t33:  {want: 0x16f, have: 0x139, distance: 0xa, oneway: true},\n\t34:  {want: 0x17e, have: 0x139, distance: 0xa, oneway: true},\n\t35:  {want: 0x190, have: 0x13e, distance: 0xa, oneway: true},\n\t36:  {want: 0x194, have: 0x13e, distance: 0xa, oneway: true},\n\t37:  {want: 0x1a4, have: 0x1be, distance: 0xa, oneway: true},\n\t38:  {want: 0x1b4, have: 0x139, distance: 0xa, oneway: true},\n\t39:  {want: 0x1b8, have: 0x139, distance: 0xa, oneway: true},\n\t40:  {want: 0x1d4, have: 0x15e, distance: 0xa, oneway: true},\n\t41:  {want: 0x1d7, have: 0x3e2, distance: 0xa, oneway: true},\n\t42:  {want: 0x1d9, have: 0x139, distance: 0xa, oneway: true},\n\t43:  {want: 0x1e7, have: 0x139, distance: 0xa, oneway: true},\n\t44:  {want: 0x1f8, have: 0x139, distance: 0xa, oneway: true},\n\t45:  {want: 0x20e, have: 0x1e1, distance: 0xa, oneway: true},\n\t46:  {want: 0x210, have: 0x139, distance: 0xa, oneway: true},\n\t47:  {want: 0x22d, have: 0x15e, distance: 0xa, oneway: true},\n\t48:  {want: 0x242, have: 0x3e2, distance: 0xa, oneway: true},\n\t49:  {want: 0x24a, have: 0x139, distance: 0xa, oneway: true},\n\t50:  {want: 0x251, have: 0x139, distance: 0xa, oneway: true},\n\t51:  {want: 0x265, have: 0x139, distance: 0xa, oneway: true},\n\t52:  {want: 0x274, have: 0x48a, distance: 0xa, oneway: true},\n\t53:  {want: 0x28a, have: 0x3e2, distance: 0xa, oneway: true},\n\t54:  {want: 0x28e, have: 0x1f9, distance: 0xa, oneway: true},\n\t55:  {want: 0x2a3, have: 0x139, distance: 0xa, oneway: true},\n\t56:  {want: 0x2b5, have: 0x15e, distance: 0xa, oneway: true},\n\t57:  {want: 0x2b8, have: 0x139, distance: 0xa, oneway: true},\n\t58:  {want: 0x2be, have: 0x139, distance: 0xa, oneway: true},\n\t59:  {want: 0x2c3, have: 0x15e, distance: 0xa, oneway: true},\n\t60:  {want: 0x2ed, have: 0x139, distance: 0xa, oneway: true},\n\t61:  {want: 0x2f1, have: 0x15e, distance: 0xa, oneway: true},\n\t62:  {want: 0x2fa, have: 0x139, distance: 0xa, oneway: true},\n\t63:  {want: 0x2ff, have: 0x7e, distance: 0xa, oneway: true},\n\t64:  {want: 0x304, have: 0x139, distance: 0xa, oneway: true},\n\t65:  {want: 0x30b, have: 0x3e2, distance: 0xa, oneway: true},\n\t66:  {want: 0x31b, have: 0x1be, distance: 0xa, oneway: true},\n\t67:  {want: 0x31f, have: 0x1e1, distance: 0xa, oneway: true},\n\t68:  {want: 0x320, have: 0x139, distance: 0xa, oneway: true},\n\t69:  {want: 0x331, have: 0x139, distance: 0xa, oneway: true},\n\t70:  {want: 0x351, have: 0x139, distance: 0xa, oneway: true},\n\t71:  {want: 0x36a, have: 0x347, distance: 0xa, oneway: false},\n\t72:  {want: 0x36a, have: 0x36f, distance: 0xa, oneway: true},\n\t73:  {want: 0x37a, have: 0x139, distance: 0xa, oneway: true},\n\t74:  {want: 0x387, have: 0x139, distance: 0xa, oneway: true},\n\t75:  {want: 0x389, have: 0x139, distance: 0xa, oneway: true},\n\t76:  {want: 0x38b, have: 0x15e, distance: 0xa, oneway: true},\n\t77:  {want: 0x390, have: 0x139, distance: 0xa, oneway: true},\n\t78:  {want: 0x395, have: 0x139, distance: 0xa, oneway: true},\n\t79:  {want: 0x39d, have: 0x139, distance: 0xa, oneway: true},\n\t80:  {want: 0x3a5, have: 0x139, distance: 0xa, oneway: true},\n\t81:  {want: 0x3be, have: 0x139, distance: 0xa, oneway: true},\n\t82:  {want: 0x3c4, have: 0x13e, distance: 0xa, oneway: true},\n\t83:  {want: 0x3d4, have: 0x10d, distance: 0xa, oneway: true},\n\t84:  {want: 0x3d9, have: 0x139, distance: 0xa, oneway: true},\n\t85:  {want: 0x3e5, have: 0x15e, distance: 0xa, oneway: true},\n\t86:  {want: 0x3e9, have: 0x1be, distance: 0xa, oneway: true},\n\t87:  {want: 0x3fa, have: 0x139, distance: 0xa, oneway: true},\n\t88:  {want: 0x40c, have: 0x139, distance: 0xa, oneway: true},\n\t89:  {want: 0x423, have: 0x139, distance: 0xa, oneway: true},\n\t90:  {want: 0x429, have: 0x139, distance: 0xa, oneway: true},\n\t91:  {want: 0x431, have: 0x139, distance: 0xa, oneway: true},\n\t92:  {want: 0x43b, have: 0x139, distance: 0xa, oneway: true},\n\t93:  {want: 0x43e, have: 0x1e1, distance: 0xa, oneway: true},\n\t94:  {want: 0x445, have: 0x139, distance: 0xa, oneway: true},\n\t95:  {want: 0x450, have: 0x139, distance: 0xa, oneway: true},\n\t96:  {want: 0x461, have: 0x139, distance: 0xa, oneway: true},\n\t97:  {want: 0x467, have: 0x3e2, distance: 0xa, oneway: true},\n\t98:  {want: 0x46f, have: 0x139, distance: 0xa, oneway: true},\n\t99:  {want: 0x476, have: 0x3e2, distance: 0xa, oneway: true},\n\t100: {want: 0x3883, have: 0x139, distance: 0xa, oneway: true},\n\t101: {want: 0x480, have: 0x139, distance: 0xa, oneway: true},\n\t102: {want: 0x482, have: 0x139, distance: 0xa, oneway: true},\n\t103: {want: 0x494, have: 0x3e2, distance: 0xa, oneway: true},\n\t104: {want: 0x49d, have: 0x139, distance: 0xa, oneway: true},\n\t105: {want: 0x4ac, have: 0x529, distance: 0xa, oneway: true},\n\t106: {want: 0x4b4, have: 0x139, distance: 0xa, oneway: true},\n\t107: {want: 0x4bc, have: 0x3e2, distance: 0xa, oneway: true},\n\t108: {want: 0x4e5, have: 0x15e, distance: 0xa, oneway: true},\n\t109: {want: 0x4f2, have: 0x139, distance: 0xa, oneway: true},\n\t110: {want: 0x512, have: 0x139, distance: 0xa, oneway: true},\n\t111: {want: 0x518, have: 0x139, distance: 0xa, oneway: true},\n\t112: {want: 0x52f, have: 0x139, distance: 0xa, oneway: true},\n}\n\n// matchScript holds pairs of scriptIDs where readers of one script\n// can typically also read the other. Each is associated with a confidence.\n// Size: 208 bytes, 26 elements\nvar matchScript = [26]scriptIntelligibility{\n\t0:  {wantLang: 0x432, haveLang: 0x432, wantScript: 0x57, haveScript: 0x1f, distance: 0x5},\n\t1:  {wantLang: 0x432, haveLang: 0x432, wantScript: 0x1f, haveScript: 0x57, distance: 0x5},\n\t2:  {wantLang: 0x58, haveLang: 0x3e2, wantScript: 0x57, haveScript: 0x1f, distance: 0xa},\n\t3:  {wantLang: 0xa5, haveLang: 0x139, wantScript: 0xe, haveScript: 0x57, distance: 0xa},\n\t4:  {wantLang: 0x1d7, haveLang: 0x3e2, wantScript: 0x8, haveScript: 0x1f, distance: 0xa},\n\t5:  {wantLang: 0x210, haveLang: 0x139, wantScript: 0x2b, haveScript: 0x57, distance: 0xa},\n\t6:  {wantLang: 0x24a, haveLang: 0x139, wantScript: 0x4b, haveScript: 0x57, distance: 0xa},\n\t7:  {wantLang: 0x251, haveLang: 0x139, wantScript: 0x4f, haveScript: 0x57, distance: 0xa},\n\t8:  {wantLang: 0x2b8, haveLang: 0x139, wantScript: 0x54, haveScript: 0x57, distance: 0xa},\n\t9:  {wantLang: 0x304, haveLang: 0x139, wantScript: 0x6b, haveScript: 0x57, distance: 0xa},\n\t10: {wantLang: 0x331, haveLang: 0x139, wantScript: 0x72, haveScript: 0x57, distance: 0xa},\n\t11: {wantLang: 0x351, haveLang: 0x139, wantScript: 0x21, haveScript: 0x57, distance: 0xa},\n\t12: {wantLang: 0x395, haveLang: 0x139, wantScript: 0x7d, haveScript: 0x57, distance: 0xa},\n\t13: {wantLang: 0x39d, haveLang: 0x139, wantScript: 0x33, haveScript: 0x57, distance: 0xa},\n\t14: {wantLang: 0x3be, haveLang: 0x139, wantScript: 0x5, haveScript: 0x57, distance: 0xa},\n\t15: {wantLang: 0x3fa, haveLang: 0x139, wantScript: 0x5, haveScript: 0x57, distance: 0xa},\n\t16: {wantLang: 0x40c, haveLang: 0x139, wantScript: 0xca, haveScript: 0x57, distance: 0xa},\n\t17: {wantLang: 0x450, haveLang: 0x139, wantScript: 0xd7, haveScript: 0x57, distance: 0xa},\n\t18: {wantLang: 0x461, haveLang: 0x139, wantScript: 0xda, haveScript: 0x57, distance: 0xa},\n\t19: {wantLang: 0x46f, haveLang: 0x139, wantScript: 0x29, haveScript: 0x57, distance: 0xa},\n\t20: {wantLang: 0x476, haveLang: 0x3e2, wantScript: 0x57, haveScript: 0x1f, distance: 0xa},\n\t21: {wantLang: 0x4b4, haveLang: 0x139, wantScript: 0x5, haveScript: 0x57, distance: 0xa},\n\t22: {wantLang: 0x4bc, haveLang: 0x3e2, wantScript: 0x57, haveScript: 0x1f, distance: 0xa},\n\t23: {wantLang: 0x512, haveLang: 0x139, wantScript: 0x3b, haveScript: 0x57, distance: 0xa},\n\t24: {wantLang: 0x529, haveLang: 0x529, wantScript: 0x38, haveScript: 0x39, distance: 0xf},\n\t25: {wantLang: 0x529, haveLang: 0x529, wantScript: 0x39, haveScript: 0x38, distance: 0x13},\n}\n\n// Size: 90 bytes, 15 elements\nvar matchRegion = [15]regionIntelligibility{\n\t0:  {lang: 0x3a, script: 0x0, group: 0x4, distance: 0x4},\n\t1:  {lang: 0x3a, script: 0x0, group: 0x84, distance: 0x4},\n\t2:  {lang: 0x139, script: 0x0, group: 0x1, distance: 0x4},\n\t3:  {lang: 0x139, script: 0x0, group: 0x81, distance: 0x4},\n\t4:  {lang: 0x13e, script: 0x0, group: 0x3, distance: 0x4},\n\t5:  {lang: 0x13e, script: 0x0, group: 0x83, distance: 0x4},\n\t6:  {lang: 0x3c0, script: 0x0, group: 0x3, distance: 0x4},\n\t7:  {lang: 0x3c0, script: 0x0, group: 0x83, distance: 0x4},\n\t8:  {lang: 0x529, script: 0x39, group: 0x2, distance: 0x4},\n\t9:  {lang: 0x529, script: 0x39, group: 0x82, distance: 0x4},\n\t10: {lang: 0x3a, script: 0x0, group: 0x80, distance: 0x5},\n\t11: {lang: 0x139, script: 0x0, group: 0x80, distance: 0x5},\n\t12: {lang: 0x13e, script: 0x0, group: 0x80, distance: 0x5},\n\t13: {lang: 0x3c0, script: 0x0, group: 0x80, distance: 0x5},\n\t14: {lang: 0x529, script: 0x39, group: 0x80, distance: 0x5},\n}\n\n// Size: 264 bytes, 33 elements\nvar regionContainment = [33]uint64{\n\t// Entry 0 - 1F\n\t0x00000001ffffffff, 0x00000000200007a2, 0x0000000000003044, 0x0000000000000008,\n\t0x00000000803c0010, 0x0000000000000020, 0x0000000000000040, 0x0000000000000080,\n\t0x0000000000000100, 0x0000000000000200, 0x0000000000000400, 0x000000004000384c,\n\t0x0000000000001000, 0x0000000000002000, 0x0000000000004000, 0x0000000000008000,\n\t0x0000000000010000, 0x0000000000020000, 0x0000000000040000, 0x0000000000080000,\n\t0x0000000000100000, 0x0000000000200000, 0x0000000001c1c000, 0x0000000000800000,\n\t0x0000000001000000, 0x000000001e020000, 0x0000000004000000, 0x0000000008000000,\n\t0x0000000010000000, 0x00000000200006a0, 0x0000000040002048, 0x0000000080000000,\n\t// Entry 20 - 3F\n\t0x0000000100000000,\n}\n\n// regionInclusion maps region identifiers to sets of regions in regionInclusionBits,\n// where each set holds all groupings that are directly connected in a region\n// containment graph.\n// Size: 358 bytes, 358 elements\nvar regionInclusion = [358]uint8{\n\t// Entry 0 - 3F\n\t0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,\n\t0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n\t0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n\t0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,\n\t0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x26, 0x23,\n\t0x24, 0x26, 0x27, 0x22, 0x28, 0x29, 0x2a, 0x2b,\n\t0x26, 0x2c, 0x24, 0x23, 0x26, 0x25, 0x2a, 0x2d,\n\t0x2e, 0x24, 0x2f, 0x2d, 0x26, 0x30, 0x31, 0x28,\n\t// Entry 40 - 7F\n\t0x26, 0x28, 0x26, 0x25, 0x31, 0x22, 0x32, 0x33,\n\t0x34, 0x30, 0x22, 0x27, 0x27, 0x27, 0x35, 0x2d,\n\t0x29, 0x28, 0x27, 0x36, 0x28, 0x22, 0x34, 0x23,\n\t0x21, 0x26, 0x2d, 0x26, 0x22, 0x37, 0x2e, 0x35,\n\t0x2a, 0x22, 0x2f, 0x38, 0x26, 0x26, 0x21, 0x39,\n\t0x39, 0x28, 0x38, 0x39, 0x39, 0x2f, 0x3a, 0x2f,\n\t0x20, 0x21, 0x38, 0x3b, 0x28, 0x3c, 0x2c, 0x21,\n\t0x2a, 0x35, 0x27, 0x38, 0x26, 0x24, 0x28, 0x2c,\n\t// Entry 80 - BF\n\t0x2d, 0x23, 0x30, 0x2d, 0x2d, 0x26, 0x27, 0x3a,\n\t0x22, 0x34, 0x3c, 0x2d, 0x28, 0x36, 0x22, 0x34,\n\t0x3a, 0x26, 0x2e, 0x21, 0x39, 0x31, 0x38, 0x24,\n\t0x2c, 0x25, 0x22, 0x24, 0x25, 0x2c, 0x3a, 0x2c,\n\t0x26, 0x24, 0x36, 0x21, 0x2f, 0x3d, 0x31, 0x3c,\n\t0x2f, 0x26, 0x36, 0x36, 0x24, 0x26, 0x3d, 0x31,\n\t0x24, 0x26, 0x35, 0x25, 0x2d, 0x32, 0x38, 0x2a,\n\t0x38, 0x39, 0x39, 0x35, 0x33, 0x23, 0x26, 0x2f,\n\t// Entry C0 - FF\n\t0x3c, 0x21, 0x23, 0x2d, 0x31, 0x36, 0x36, 0x3c,\n\t0x26, 0x2d, 0x26, 0x3a, 0x2f, 0x25, 0x2f, 0x34,\n\t0x31, 0x2f, 0x32, 0x3b, 0x2d, 0x2b, 0x2d, 0x21,\n\t0x34, 0x2a, 0x2c, 0x25, 0x21, 0x3c, 0x24, 0x29,\n\t0x2b, 0x24, 0x34, 0x21, 0x28, 0x29, 0x3b, 0x31,\n\t0x25, 0x2e, 0x30, 0x29, 0x26, 0x24, 0x3a, 0x21,\n\t0x3c, 0x28, 0x21, 0x24, 0x21, 0x21, 0x1f, 0x21,\n\t0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,\n\t// Entry 100 - 13F\n\t0x21, 0x21, 0x2f, 0x21, 0x2e, 0x23, 0x33, 0x2f,\n\t0x24, 0x3b, 0x2f, 0x39, 0x38, 0x31, 0x2d, 0x3a,\n\t0x2c, 0x2e, 0x2d, 0x23, 0x2d, 0x2f, 0x28, 0x2f,\n\t0x27, 0x33, 0x34, 0x26, 0x24, 0x32, 0x22, 0x26,\n\t0x27, 0x22, 0x2d, 0x31, 0x3d, 0x29, 0x31, 0x3d,\n\t0x39, 0x29, 0x31, 0x24, 0x26, 0x29, 0x36, 0x2f,\n\t0x33, 0x2f, 0x21, 0x22, 0x21, 0x30, 0x28, 0x3d,\n\t0x23, 0x26, 0x21, 0x28, 0x26, 0x26, 0x31, 0x3b,\n\t// Entry 140 - 17F\n\t0x29, 0x21, 0x29, 0x21, 0x21, 0x21, 0x21, 0x21,\n\t0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x21, 0x21,\n\t0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,\n\t0x21, 0x21, 0x21, 0x21, 0x21, 0x24, 0x24, 0x2f,\n\t0x23, 0x32, 0x2f, 0x27, 0x2f, 0x21,\n}\n\n// regionInclusionBits is an array of bit vectors where every vector represents\n// a set of region groupings.  These sets are used to compute the distance\n// between two regions for the purpose of language matching.\n// Size: 584 bytes, 73 elements\nvar regionInclusionBits = [73]uint64{\n\t// Entry 0 - 1F\n\t0x0000000102400813, 0x00000000200007a3, 0x0000000000003844, 0x0000000040000808,\n\t0x00000000803c0011, 0x0000000020000022, 0x0000000040000844, 0x0000000020000082,\n\t0x0000000000000102, 0x0000000020000202, 0x0000000020000402, 0x000000004000384d,\n\t0x0000000000001804, 0x0000000040002804, 0x0000000000404000, 0x0000000000408000,\n\t0x0000000000410000, 0x0000000002020000, 0x0000000000040010, 0x0000000000080010,\n\t0x0000000000100010, 0x0000000000200010, 0x0000000001c1c001, 0x0000000000c00000,\n\t0x0000000001400000, 0x000000001e020001, 0x0000000006000000, 0x000000000a000000,\n\t0x0000000012000000, 0x00000000200006a2, 0x0000000040002848, 0x0000000080000010,\n\t// Entry 20 - 3F\n\t0x0000000100000001, 0x0000000000000001, 0x0000000080000000, 0x0000000000020000,\n\t0x0000000001000000, 0x0000000000008000, 0x0000000000002000, 0x0000000000000200,\n\t0x0000000000000008, 0x0000000000200000, 0x0000000110000000, 0x0000000000040000,\n\t0x0000000008000000, 0x0000000000000020, 0x0000000104000000, 0x0000000000000080,\n\t0x0000000000001000, 0x0000000000010000, 0x0000000000000400, 0x0000000004000000,\n\t0x0000000000000040, 0x0000000010000000, 0x0000000000004000, 0x0000000101000000,\n\t0x0000000108000000, 0x0000000000000100, 0x0000000100020000, 0x0000000000080000,\n\t0x0000000000100000, 0x0000000000800000, 0x00000001ffffffff, 0x0000000122400fb3,\n\t// Entry 40 - 5F\n\t0x00000001827c0813, 0x000000014240385f, 0x0000000103c1c813, 0x000000011e420813,\n\t0x0000000112000001, 0x0000000106000001, 0x0000000101400001, 0x000000010a000001,\n\t0x0000000102020001,\n}\n\n// regionInclusionNext marks, for each entry in regionInclusionBits, the set of\n// all groups that are reachable from the groups set in the respective entry.\n// Size: 73 bytes, 73 elements\nvar regionInclusionNext = [73]uint8{\n\t// Entry 0 - 3F\n\t0x3e, 0x3f, 0x0b, 0x0b, 0x40, 0x01, 0x0b, 0x01,\n\t0x01, 0x01, 0x01, 0x41, 0x0b, 0x0b, 0x16, 0x16,\n\t0x16, 0x19, 0x04, 0x04, 0x04, 0x04, 0x42, 0x16,\n\t0x16, 0x43, 0x19, 0x19, 0x19, 0x01, 0x0b, 0x04,\n\t0x00, 0x00, 0x1f, 0x11, 0x18, 0x0f, 0x0d, 0x09,\n\t0x03, 0x15, 0x44, 0x12, 0x1b, 0x05, 0x45, 0x07,\n\t0x0c, 0x10, 0x0a, 0x1a, 0x06, 0x1c, 0x0e, 0x46,\n\t0x47, 0x08, 0x48, 0x13, 0x14, 0x17, 0x3e, 0x3e,\n\t// Entry 40 - 7F\n\t0x3e, 0x3e, 0x3e, 0x3e, 0x43, 0x43, 0x42, 0x43,\n\t0x43,\n}\n\ntype parentRel struct {\n\tlang       uint16\n\tscript     uint8\n\tmaxScript  uint8\n\ttoRegion   uint16\n\tfromRegion []uint16\n}\n\n// Size: 414 bytes, 5 elements\nvar parents = [5]parentRel{\n\t0: {lang: 0x139, script: 0x0, maxScript: 0x57, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x25, 0x26, 0x2f, 0x34, 0x36, 0x3d, 0x42, 0x46, 0x48, 0x49, 0x4a, 0x50, 0x52, 0x5c, 0x5d, 0x61, 0x64, 0x6d, 0x73, 0x74, 0x75, 0x7b, 0x7c, 0x7f, 0x80, 0x81, 0x83, 0x8c, 0x8d, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9f, 0xa0, 0xa4, 0xa7, 0xa9, 0xad, 0xb1, 0xb4, 0xb5, 0xbf, 0xc6, 0xca, 0xcb, 0xcc, 0xce, 0xd0, 0xd2, 0xd5, 0xd6, 0xdd, 0xdf, 0xe0, 0xe6, 0xe7, 0xe8, 0xeb, 0xf0, 0x107, 0x109, 0x10a, 0x10b, 0x10d, 0x10e, 0x112, 0x117, 0x11b, 0x11d, 0x11f, 0x125, 0x129, 0x12c, 0x12d, 0x12f, 0x131, 0x139, 0x13c, 0x13f, 0x142, 0x161, 0x162, 0x164}},\n\t1: {lang: 0x139, script: 0x0, maxScript: 0x57, toRegion: 0x1a, fromRegion: []uint16{0x2e, 0x4e, 0x60, 0x63, 0x72, 0xd9, 0x10c, 0x10f}},\n\t2: {lang: 0x13e, script: 0x0, maxScript: 0x57, toRegion: 0x1f, fromRegion: []uint16{0x2c, 0x3f, 0x41, 0x48, 0x51, 0x54, 0x56, 0x59, 0x65, 0x69, 0x89, 0x8f, 0xcf, 0xd8, 0xe2, 0xe4, 0xec, 0xf1, 0x11a, 0x135, 0x136, 0x13b}},\n\t3: {lang: 0x3c0, script: 0x0, maxScript: 0x57, toRegion: 0xee, fromRegion: []uint16{0x2a, 0x4e, 0x5a, 0x86, 0x8b, 0xb7, 0xc6, 0xd1, 0x118, 0x126}},\n\t4: {lang: 0x529, script: 0x39, maxScript: 0x39, toRegion: 0x8d, fromRegion: []uint16{0xc6}},\n}\n\n// Total table size 27238 bytes (26KiB); checksum: C9BBE4D5\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/tags.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage language\n\n// TODO: Various sets of commonly use tags and regions.\n\n// MustParse is like Parse, but panics if the given BCP 47 tag cannot be parsed.\n// It simplifies safe initialization of Tag values.\nfunc MustParse(s string) Tag {\n\tt, err := Parse(s)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn t\n}\n\n// MustParse is like Parse, but panics if the given BCP 47 tag cannot be parsed.\n// It simplifies safe initialization of Tag values.\nfunc (c CanonType) MustParse(s string) Tag {\n\tt, err := c.Parse(s)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn t\n}\n\n// MustParseBase is like ParseBase, but panics if the given base cannot be parsed.\n// It simplifies safe initialization of Base values.\nfunc MustParseBase(s string) Base {\n\tb, err := ParseBase(s)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn b\n}\n\n// MustParseScript is like ParseScript, but panics if the given script cannot be\n// parsed. It simplifies safe initialization of Script values.\nfunc MustParseScript(s string) Script {\n\tscr, err := ParseScript(s)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn scr\n}\n\n// MustParseRegion is like ParseRegion, but panics if the given region cannot be\n// parsed. It simplifies safe initialization of Region values.\nfunc MustParseRegion(s string) Region {\n\tr, err := ParseRegion(s)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn r\n}\n\nvar (\n\tund = Tag{}\n\n\tUnd Tag = Tag{}\n\n\tAfrikaans            Tag = Tag{lang: _af}                //  af\n\tAmharic              Tag = Tag{lang: _am}                //  am\n\tArabic               Tag = Tag{lang: _ar}                //  ar\n\tModernStandardArabic Tag = Tag{lang: _ar, region: _001}  //  ar-001\n\tAzerbaijani          Tag = Tag{lang: _az}                //  az\n\tBulgarian            Tag = Tag{lang: _bg}                //  bg\n\tBengali              Tag = Tag{lang: _bn}                //  bn\n\tCatalan              Tag = Tag{lang: _ca}                //  ca\n\tCzech                Tag = Tag{lang: _cs}                //  cs\n\tDanish               Tag = Tag{lang: _da}                //  da\n\tGerman               Tag = Tag{lang: _de}                //  de\n\tGreek                Tag = Tag{lang: _el}                //  el\n\tEnglish              Tag = Tag{lang: _en}                //  en\n\tAmericanEnglish      Tag = Tag{lang: _en, region: _US}   //  en-US\n\tBritishEnglish       Tag = Tag{lang: _en, region: _GB}   //  en-GB\n\tSpanish              Tag = Tag{lang: _es}                //  es\n\tEuropeanSpanish      Tag = Tag{lang: _es, region: _ES}   //  es-ES\n\tLatinAmericanSpanish Tag = Tag{lang: _es, region: _419}  //  es-419\n\tEstonian             Tag = Tag{lang: _et}                //  et\n\tPersian              Tag = Tag{lang: _fa}                //  fa\n\tFinnish              Tag = Tag{lang: _fi}                //  fi\n\tFilipino             Tag = Tag{lang: _fil}               //  fil\n\tFrench               Tag = Tag{lang: _fr}                //  fr\n\tCanadianFrench       Tag = Tag{lang: _fr, region: _CA}   //  fr-CA\n\tGujarati             Tag = Tag{lang: _gu}                //  gu\n\tHebrew               Tag = Tag{lang: _he}                //  he\n\tHindi                Tag = Tag{lang: _hi}                //  hi\n\tCroatian             Tag = Tag{lang: _hr}                //  hr\n\tHungarian            Tag = Tag{lang: _hu}                //  hu\n\tArmenian             Tag = Tag{lang: _hy}                //  hy\n\tIndonesian           Tag = Tag{lang: _id}                //  id\n\tIcelandic            Tag = Tag{lang: _is}                //  is\n\tItalian              Tag = Tag{lang: _it}                //  it\n\tJapanese             Tag = Tag{lang: _ja}                //  ja\n\tGeorgian             Tag = Tag{lang: _ka}                //  ka\n\tKazakh               Tag = Tag{lang: _kk}                //  kk\n\tKhmer                Tag = Tag{lang: _km}                //  km\n\tKannada              Tag = Tag{lang: _kn}                //  kn\n\tKorean               Tag = Tag{lang: _ko}                //  ko\n\tKirghiz              Tag = Tag{lang: _ky}                //  ky\n\tLao                  Tag = Tag{lang: _lo}                //  lo\n\tLithuanian           Tag = Tag{lang: _lt}                //  lt\n\tLatvian              Tag = Tag{lang: _lv}                //  lv\n\tMacedonian           Tag = Tag{lang: _mk}                //  mk\n\tMalayalam            Tag = Tag{lang: _ml}                //  ml\n\tMongolian            Tag = Tag{lang: _mn}                //  mn\n\tMarathi              Tag = Tag{lang: _mr}                //  mr\n\tMalay                Tag = Tag{lang: _ms}                //  ms\n\tBurmese              Tag = Tag{lang: _my}                //  my\n\tNepali               Tag = Tag{lang: _ne}                //  ne\n\tDutch                Tag = Tag{lang: _nl}                //  nl\n\tNorwegian            Tag = Tag{lang: _no}                //  no\n\tPunjabi              Tag = Tag{lang: _pa}                //  pa\n\tPolish               Tag = Tag{lang: _pl}                //  pl\n\tPortuguese           Tag = Tag{lang: _pt}                //  pt\n\tBrazilianPortuguese  Tag = Tag{lang: _pt, region: _BR}   //  pt-BR\n\tEuropeanPortuguese   Tag = Tag{lang: _pt, region: _PT}   //  pt-PT\n\tRomanian             Tag = Tag{lang: _ro}                //  ro\n\tRussian              Tag = Tag{lang: _ru}                //  ru\n\tSinhala              Tag = Tag{lang: _si}                //  si\n\tSlovak               Tag = Tag{lang: _sk}                //  sk\n\tSlovenian            Tag = Tag{lang: _sl}                //  sl\n\tAlbanian             Tag = Tag{lang: _sq}                //  sq\n\tSerbian              Tag = Tag{lang: _sr}                //  sr\n\tSerbianLatin         Tag = Tag{lang: _sr, script: _Latn} //  sr-Latn\n\tSwedish              Tag = Tag{lang: _sv}                //  sv\n\tSwahili              Tag = Tag{lang: _sw}                //  sw\n\tTamil                Tag = Tag{lang: _ta}                //  ta\n\tTelugu               Tag = Tag{lang: _te}                //  te\n\tThai                 Tag = Tag{lang: _th}                //  th\n\tTurkish              Tag = Tag{lang: _tr}                //  tr\n\tUkrainian            Tag = Tag{lang: _uk}                //  uk\n\tUrdu                 Tag = Tag{lang: _ur}                //  ur\n\tUzbek                Tag = Tag{lang: _uz}                //  uz\n\tVietnamese           Tag = Tag{lang: _vi}                //  vi\n\tChinese              Tag = Tag{lang: _zh}                //  zh\n\tSimplifiedChinese    Tag = Tag{lang: _zh, script: _Hans} //  zh-Hans\n\tTraditionalChinese   Tag = Tag{lang: _zh, script: _Hant} //  zh-Hant\n\tZulu                 Tag = Tag{lang: _zu}                //  zu\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/secure/bidirule/bidirule.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package bidirule implements the Bidi Rule defined by RFC 5893.\n//\n// This package is under development. The API may change without notice and\n// without preserving backward compatibility.\npackage bidirule\n\nimport (\n\t\"errors\"\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/transform\"\n\t\"golang.org/x/text/unicode/bidi\"\n)\n\n// This file contains an implementation of RFC 5893: Right-to-Left Scripts for\n// Internationalized Domain Names for Applications (IDNA)\n//\n// A label is an individual component of a domain name.  Labels are usually\n// shown separated by dots; for example, the domain name \"www.example.com\" is\n// composed of three labels: \"www\", \"example\", and \"com\".\n//\n// An RTL label is a label that contains at least one character of class R, AL,\n// or AN. An LTR label is any label that is not an RTL label.\n//\n// A \"Bidi domain name\" is a domain name that contains at least one RTL label.\n//\n//  The following guarantees can be made based on the above:\n//\n//  o  In a domain name consisting of only labels that satisfy the rule,\n//     the requirements of Section 3 are satisfied.  Note that even LTR\n//     labels and pure ASCII labels have to be tested.\n//\n//  o  In a domain name consisting of only LDH labels (as defined in the\n//     Definitions document [RFC5890]) and labels that satisfy the rule,\n//     the requirements of Section 3 are satisfied as long as a label\n//     that starts with an ASCII digit does not come after a\n//     right-to-left label.\n//\n//  No guarantee is given for other combinations.\n\n// ErrInvalid indicates a label is invalid according to the Bidi Rule.\nvar ErrInvalid = errors.New(\"bidirule: failed Bidi Rule\")\n\ntype ruleState uint8\n\nconst (\n\truleInitial ruleState = iota\n\truleLTR\n\truleLTRFinal\n\truleRTL\n\truleRTLFinal\n\truleInvalid\n)\n\ntype ruleTransition struct {\n\tnext ruleState\n\tmask uint16\n}\n\nvar transitions = [...][2]ruleTransition{\n\t// [2.1] The first character must be a character with Bidi property L, R, or\n\t// AL. If it has the R or AL property, it is an RTL label; if it has the L\n\t// property, it is an LTR label.\n\truleInitial: {\n\t\t{ruleLTRFinal, 1 << bidi.L},\n\t\t{ruleRTLFinal, 1<<bidi.R | 1<<bidi.AL},\n\t},\n\truleRTL: {\n\t\t// [2.3] In an RTL label, the end of the label must be a character with\n\t\t// Bidi property R, AL, EN, or AN, followed by zero or more characters\n\t\t// with Bidi property NSM.\n\t\t{ruleRTLFinal, 1<<bidi.R | 1<<bidi.AL | 1<<bidi.EN | 1<<bidi.AN},\n\n\t\t// [2.2] In an RTL label, only characters with the Bidi properties R,\n\t\t// AL, AN, EN, ES, CS, ET, ON, BN, or NSM are allowed.\n\t\t// We exclude the entries from [2.3]\n\t\t{ruleRTL, 1<<bidi.ES | 1<<bidi.CS | 1<<bidi.ET | 1<<bidi.ON | 1<<bidi.BN | 1<<bidi.NSM},\n\t},\n\truleRTLFinal: {\n\t\t// [2.3] In an RTL label, the end of the label must be a character with\n\t\t// Bidi property R, AL, EN, or AN, followed by zero or more characters\n\t\t// with Bidi property NSM.\n\t\t{ruleRTLFinal, 1<<bidi.R | 1<<bidi.AL | 1<<bidi.EN | 1<<bidi.AN | 1<<bidi.NSM},\n\n\t\t// [2.2] In an RTL label, only characters with the Bidi properties R,\n\t\t// AL, AN, EN, ES, CS, ET, ON, BN, or NSM are allowed.\n\t\t// We exclude the entries from [2.3] and NSM.\n\t\t{ruleRTL, 1<<bidi.ES | 1<<bidi.CS | 1<<bidi.ET | 1<<bidi.ON | 1<<bidi.BN},\n\t},\n\truleLTR: {\n\t\t// [2.6] In an LTR label, the end of the label must be a character with\n\t\t// Bidi property L or EN, followed by zero or more characters with Bidi\n\t\t// property NSM.\n\t\t{ruleLTRFinal, 1<<bidi.L | 1<<bidi.EN},\n\n\t\t// [2.5] In an LTR label, only characters with the Bidi properties L,\n\t\t// EN, ES, CS, ET, ON, BN, or NSM are allowed.\n\t\t// We exclude the entries from [2.6].\n\t\t{ruleLTR, 1<<bidi.ES | 1<<bidi.CS | 1<<bidi.ET | 1<<bidi.ON | 1<<bidi.BN | 1<<bidi.NSM},\n\t},\n\truleLTRFinal: {\n\t\t// [2.6] In an LTR label, the end of the label must be a character with\n\t\t// Bidi property L or EN, followed by zero or more characters with Bidi\n\t\t// property NSM.\n\t\t{ruleLTRFinal, 1<<bidi.L | 1<<bidi.EN | 1<<bidi.NSM},\n\n\t\t// [2.5] In an LTR label, only characters with the Bidi properties L,\n\t\t// EN, ES, CS, ET, ON, BN, or NSM are allowed.\n\t\t// We exclude the entries from [2.6].\n\t\t{ruleLTR, 1<<bidi.ES | 1<<bidi.CS | 1<<bidi.ET | 1<<bidi.ON | 1<<bidi.BN},\n\t},\n\truleInvalid: {\n\t\t{ruleInvalid, 0},\n\t\t{ruleInvalid, 0},\n\t},\n}\n\n// [2.4] In an RTL label, if an EN is present, no AN may be present, and\n// vice versa.\nconst exclusiveRTL = uint16(1<<bidi.EN | 1<<bidi.AN)\n\n// From RFC 5893\n// An RTL label is a label that contains at least one character of type\n// R, AL, or AN.\n//\n// An LTR label is any label that is not an RTL label.\n\n// Direction reports the direction of the given label as defined by RFC 5893.\n// The Bidi Rule does not have to be applied to labels of the category\n// LeftToRight.\nfunc Direction(b []byte) bidi.Direction {\n\tfor i := 0; i < len(b); {\n\t\te, sz := bidi.Lookup(b[i:])\n\t\tif sz == 0 {\n\t\t\ti++\n\t\t}\n\t\tc := e.Class()\n\t\tif c == bidi.R || c == bidi.AL || c == bidi.AN {\n\t\t\treturn bidi.RightToLeft\n\t\t}\n\t\ti += sz\n\t}\n\treturn bidi.LeftToRight\n}\n\n// DirectionString reports the direction of the given label as defined by RFC\n// 5893. The Bidi Rule does not have to be applied to labels of the category\n// LeftToRight.\nfunc DirectionString(s string) bidi.Direction {\n\tfor i := 0; i < len(s); {\n\t\te, sz := bidi.LookupString(s[i:])\n\t\tif sz == 0 {\n\t\t\ti++\n\t\t\tcontinue\n\t\t}\n\t\tc := e.Class()\n\t\tif c == bidi.R || c == bidi.AL || c == bidi.AN {\n\t\t\treturn bidi.RightToLeft\n\t\t}\n\t\ti += sz\n\t}\n\treturn bidi.LeftToRight\n}\n\n// Valid reports whether b conforms to the BiDi rule.\nfunc Valid(b []byte) bool {\n\tvar t Transformer\n\tif n, ok := t.advance(b); !ok || n < len(b) {\n\t\treturn false\n\t}\n\treturn t.isFinal()\n}\n\n// ValidString reports whether s conforms to the BiDi rule.\nfunc ValidString(s string) bool {\n\tvar t Transformer\n\tif n, ok := t.advanceString(s); !ok || n < len(s) {\n\t\treturn false\n\t}\n\treturn t.isFinal()\n}\n\n// New returns a Transformer that verifies that input adheres to the Bidi Rule.\nfunc New() *Transformer {\n\treturn &Transformer{}\n}\n\n// Transformer implements transform.Transform.\ntype Transformer struct {\n\tstate  ruleState\n\thasRTL bool\n\tseen   uint16\n}\n\n// A rule can only be violated for \"Bidi Domain names\", meaning if one of the\n// following categories has been observed.\nfunc (t *Transformer) isRTL() bool {\n\tconst isRTL = 1<<bidi.R | 1<<bidi.AL | 1<<bidi.AN\n\treturn t.seen&isRTL != 0\n}\n\n// Reset implements transform.Transformer.\nfunc (t *Transformer) Reset() { *t = Transformer{} }\n\n// Transform implements transform.Transformer. This Transformer has state and\n// needs to be reset between uses.\nfunc (t *Transformer) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\tif len(dst) < len(src) {\n\t\tsrc = src[:len(dst)]\n\t\tatEOF = false\n\t\terr = transform.ErrShortDst\n\t}\n\tn, err1 := t.Span(src, atEOF)\n\tcopy(dst, src[:n])\n\tif err == nil || err1 != nil && err1 != transform.ErrShortSrc {\n\t\terr = err1\n\t}\n\treturn n, n, err\n}\n\n// Span returns the first n bytes of src that conform to the Bidi rule.\nfunc (t *Transformer) Span(src []byte, atEOF bool) (n int, err error) {\n\tif t.state == ruleInvalid && t.isRTL() {\n\t\treturn 0, ErrInvalid\n\t}\n\tn, ok := t.advance(src)\n\tswitch {\n\tcase !ok:\n\t\terr = ErrInvalid\n\tcase n < len(src):\n\t\tif !atEOF {\n\t\t\terr = transform.ErrShortSrc\n\t\t\tbreak\n\t\t}\n\t\terr = ErrInvalid\n\tcase !t.isFinal():\n\t\terr = ErrInvalid\n\t}\n\treturn n, err\n}\n\n// Precomputing the ASCII values decreases running time for the ASCII fast path\n// by about 30%.\nvar asciiTable [128]bidi.Properties\n\nfunc init() {\n\tfor i := range asciiTable {\n\t\tp, _ := bidi.LookupRune(rune(i))\n\t\tasciiTable[i] = p\n\t}\n}\n\nfunc (t *Transformer) advance(s []byte) (n int, ok bool) {\n\tvar e bidi.Properties\n\tvar sz int\n\tfor n < len(s) {\n\t\tif s[n] < utf8.RuneSelf {\n\t\t\te, sz = asciiTable[s[n]], 1\n\t\t} else {\n\t\t\te, sz = bidi.Lookup(s[n:])\n\t\t\tif sz <= 1 {\n\t\t\t\tif sz == 1 {\n\t\t\t\t\t// We always consider invalid UTF-8 to be invalid, even if\n\t\t\t\t\t// the string has not yet been determined to be RTL.\n\t\t\t\t\t// TODO: is this correct?\n\t\t\t\t\treturn n, false\n\t\t\t\t}\n\t\t\t\treturn n, true // incomplete UTF-8 encoding\n\t\t\t}\n\t\t}\n\t\t// TODO: using CompactClass would result in noticeable speedup.\n\t\t// See unicode/bidi/prop.go:Properties.CompactClass.\n\t\tc := uint16(1 << e.Class())\n\t\tt.seen |= c\n\t\tif t.seen&exclusiveRTL == exclusiveRTL {\n\t\t\tt.state = ruleInvalid\n\t\t\treturn n, false\n\t\t}\n\t\tswitch tr := transitions[t.state]; {\n\t\tcase tr[0].mask&c != 0:\n\t\t\tt.state = tr[0].next\n\t\tcase tr[1].mask&c != 0:\n\t\t\tt.state = tr[1].next\n\t\tdefault:\n\t\t\tt.state = ruleInvalid\n\t\t\tif t.isRTL() {\n\t\t\t\treturn n, false\n\t\t\t}\n\t\t}\n\t\tn += sz\n\t}\n\treturn n, true\n}\n\nfunc (t *Transformer) advanceString(s string) (n int, ok bool) {\n\tvar e bidi.Properties\n\tvar sz int\n\tfor n < len(s) {\n\t\tif s[n] < utf8.RuneSelf {\n\t\t\te, sz = asciiTable[s[n]], 1\n\t\t} else {\n\t\t\te, sz = bidi.LookupString(s[n:])\n\t\t\tif sz <= 1 {\n\t\t\t\tif sz == 1 {\n\t\t\t\t\treturn n, false // invalid UTF-8\n\t\t\t\t}\n\t\t\t\treturn n, true // incomplete UTF-8 encoding\n\t\t\t}\n\t\t}\n\t\t// TODO: using CompactClass results in noticeable speedup.\n\t\t// See unicode/bidi/prop.go:Properties.CompactClass.\n\t\tc := uint16(1 << e.Class())\n\t\tt.seen |= c\n\t\tif t.seen&exclusiveRTL == exclusiveRTL {\n\t\t\tt.state = ruleInvalid\n\t\t\treturn n, false\n\t\t}\n\t\tswitch tr := transitions[t.state]; {\n\t\tcase tr[0].mask&c != 0:\n\t\t\tt.state = tr[0].next\n\t\tcase tr[1].mask&c != 0:\n\t\t\tt.state = tr[1].next\n\t\tdefault:\n\t\t\tt.state = ruleInvalid\n\t\t\tif t.isRTL() {\n\t\t\t\treturn n, false\n\t\t\t}\n\t\t}\n\t\tn += sz\n\t}\n\treturn n, true\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.10\n\npackage bidirule\n\nfunc (t *Transformer) isFinal() bool {\n\treturn t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.10\n\npackage bidirule\n\nfunc (t *Transformer) isFinal() bool {\n\tif !t.isRTL() {\n\t\treturn true\n\t}\n\treturn t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/secure/doc.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// secure is a repository of text security related packages.\npackage secure // import \"golang.org/x/text/secure\"\n"
  },
  {
    "path": "vendor/golang.org/x/text/transform/transform.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package transform provides reader and writer wrappers that transform the\n// bytes passing through as well as various transformations. Example\n// transformations provided by other packages include normalization and\n// conversion between character sets.\npackage transform // import \"golang.org/x/text/transform\"\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"io\"\n\t\"unicode/utf8\"\n)\n\nvar (\n\t// ErrShortDst means that the destination buffer was too short to\n\t// receive all of the transformed bytes.\n\tErrShortDst = errors.New(\"transform: short destination buffer\")\n\n\t// ErrShortSrc means that the source buffer has insufficient data to\n\t// complete the transformation.\n\tErrShortSrc = errors.New(\"transform: short source buffer\")\n\n\t// ErrEndOfSpan means that the input and output (the transformed input)\n\t// are not identical.\n\tErrEndOfSpan = errors.New(\"transform: input and output are not identical\")\n\n\t// errInconsistentByteCount means that Transform returned success (nil\n\t// error) but also returned nSrc inconsistent with the src argument.\n\terrInconsistentByteCount = errors.New(\"transform: inconsistent byte count returned\")\n\n\t// errShortInternal means that an internal buffer is not large enough\n\t// to make progress and the Transform operation must be aborted.\n\terrShortInternal = errors.New(\"transform: short internal buffer\")\n)\n\n// Transformer transforms bytes.\ntype Transformer interface {\n\t// Transform writes to dst the transformed bytes read from src, and\n\t// returns the number of dst bytes written and src bytes read. The\n\t// atEOF argument tells whether src represents the last bytes of the\n\t// input.\n\t//\n\t// Callers should always process the nDst bytes produced and account\n\t// for the nSrc bytes consumed before considering the error err.\n\t//\n\t// A nil error means that all of the transformed bytes (whether freshly\n\t// transformed from src or left over from previous Transform calls)\n\t// were written to dst. A nil error can be returned regardless of\n\t// whether atEOF is true. If err is nil then nSrc must equal len(src);\n\t// the converse is not necessarily true.\n\t//\n\t// ErrShortDst means that dst was too short to receive all of the\n\t// transformed bytes. ErrShortSrc means that src had insufficient data\n\t// to complete the transformation. If both conditions apply, then\n\t// either error may be returned. Other than the error conditions listed\n\t// here, implementations are free to report other errors that arise.\n\tTransform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error)\n\n\t// Reset resets the state and allows a Transformer to be reused.\n\tReset()\n}\n\n// SpanningTransformer extends the Transformer interface with a Span method\n// that determines how much of the input already conforms to the Transformer.\ntype SpanningTransformer interface {\n\tTransformer\n\n\t// Span returns a position in src such that transforming src[:n] results in\n\t// identical output src[:n] for these bytes. It does not necessarily return\n\t// the largest such n. The atEOF argument tells whether src represents the\n\t// last bytes of the input.\n\t//\n\t// Callers should always account for the n bytes consumed before\n\t// considering the error err.\n\t//\n\t// A nil error means that all input bytes are known to be identical to the\n\t// output produced by the Transformer. A nil error can be be returned\n\t// regardless of whether atEOF is true. If err is nil, then then n must\n\t// equal len(src); the converse is not necessarily true.\n\t//\n\t// ErrEndOfSpan means that the Transformer output may differ from the\n\t// input after n bytes. Note that n may be len(src), meaning that the output\n\t// would contain additional bytes after otherwise identical output.\n\t// ErrShortSrc means that src had insufficient data to determine whether the\n\t// remaining bytes would change. Other than the error conditions listed\n\t// here, implementations are free to report other errors that arise.\n\t//\n\t// Calling Span can modify the Transformer state as a side effect. In\n\t// effect, it does the transformation just as calling Transform would, only\n\t// without copying to a destination buffer and only up to a point it can\n\t// determine the input and output bytes are the same. This is obviously more\n\t// limited than calling Transform, but can be more efficient in terms of\n\t// copying and allocating buffers. Calls to Span and Transform may be\n\t// interleaved.\n\tSpan(src []byte, atEOF bool) (n int, err error)\n}\n\n// NopResetter can be embedded by implementations of Transformer to add a nop\n// Reset method.\ntype NopResetter struct{}\n\n// Reset implements the Reset method of the Transformer interface.\nfunc (NopResetter) Reset() {}\n\n// Reader wraps another io.Reader by transforming the bytes read.\ntype Reader struct {\n\tr   io.Reader\n\tt   Transformer\n\terr error\n\n\t// dst[dst0:dst1] contains bytes that have been transformed by t but\n\t// not yet copied out via Read.\n\tdst        []byte\n\tdst0, dst1 int\n\n\t// src[src0:src1] contains bytes that have been read from r but not\n\t// yet transformed through t.\n\tsrc        []byte\n\tsrc0, src1 int\n\n\t// transformComplete is whether the transformation is complete,\n\t// regardless of whether or not it was successful.\n\ttransformComplete bool\n}\n\nconst defaultBufSize = 4096\n\n// NewReader returns a new Reader that wraps r by transforming the bytes read\n// via t. It calls Reset on t.\nfunc NewReader(r io.Reader, t Transformer) *Reader {\n\tt.Reset()\n\treturn &Reader{\n\t\tr:   r,\n\t\tt:   t,\n\t\tdst: make([]byte, defaultBufSize),\n\t\tsrc: make([]byte, defaultBufSize),\n\t}\n}\n\n// Read implements the io.Reader interface.\nfunc (r *Reader) Read(p []byte) (int, error) {\n\tn, err := 0, error(nil)\n\tfor {\n\t\t// Copy out any transformed bytes and return the final error if we are done.\n\t\tif r.dst0 != r.dst1 {\n\t\t\tn = copy(p, r.dst[r.dst0:r.dst1])\n\t\t\tr.dst0 += n\n\t\t\tif r.dst0 == r.dst1 && r.transformComplete {\n\t\t\t\treturn n, r.err\n\t\t\t}\n\t\t\treturn n, nil\n\t\t} else if r.transformComplete {\n\t\t\treturn 0, r.err\n\t\t}\n\n\t\t// Try to transform some source bytes, or to flush the transformer if we\n\t\t// are out of source bytes. We do this even if r.r.Read returned an error.\n\t\t// As the io.Reader documentation says, \"process the n > 0 bytes returned\n\t\t// before considering the error\".\n\t\tif r.src0 != r.src1 || r.err != nil {\n\t\t\tr.dst0 = 0\n\t\t\tr.dst1, n, err = r.t.Transform(r.dst, r.src[r.src0:r.src1], r.err == io.EOF)\n\t\t\tr.src0 += n\n\n\t\t\tswitch {\n\t\t\tcase err == nil:\n\t\t\t\tif r.src0 != r.src1 {\n\t\t\t\t\tr.err = errInconsistentByteCount\n\t\t\t\t}\n\t\t\t\t// The Transform call was successful; we are complete if we\n\t\t\t\t// cannot read more bytes into src.\n\t\t\t\tr.transformComplete = r.err != nil\n\t\t\t\tcontinue\n\t\t\tcase err == ErrShortDst && (r.dst1 != 0 || n != 0):\n\t\t\t\t// Make room in dst by copying out, and try again.\n\t\t\t\tcontinue\n\t\t\tcase err == ErrShortSrc && r.src1-r.src0 != len(r.src) && r.err == nil:\n\t\t\t\t// Read more bytes into src via the code below, and try again.\n\t\t\tdefault:\n\t\t\t\tr.transformComplete = true\n\t\t\t\t// The reader error (r.err) takes precedence over the\n\t\t\t\t// transformer error (err) unless r.err is nil or io.EOF.\n\t\t\t\tif r.err == nil || r.err == io.EOF {\n\t\t\t\t\tr.err = err\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\t// Move any untransformed source bytes to the start of the buffer\n\t\t// and read more bytes.\n\t\tif r.src0 != 0 {\n\t\t\tr.src0, r.src1 = 0, copy(r.src, r.src[r.src0:r.src1])\n\t\t}\n\t\tn, r.err = r.r.Read(r.src[r.src1:])\n\t\tr.src1 += n\n\t}\n}\n\n// TODO: implement ReadByte (and ReadRune??).\n\n// Writer wraps another io.Writer by transforming the bytes read.\n// The user needs to call Close to flush unwritten bytes that may\n// be buffered.\ntype Writer struct {\n\tw   io.Writer\n\tt   Transformer\n\tdst []byte\n\n\t// src[:n] contains bytes that have not yet passed through t.\n\tsrc []byte\n\tn   int\n}\n\n// NewWriter returns a new Writer that wraps w by transforming the bytes written\n// via t. It calls Reset on t.\nfunc NewWriter(w io.Writer, t Transformer) *Writer {\n\tt.Reset()\n\treturn &Writer{\n\t\tw:   w,\n\t\tt:   t,\n\t\tdst: make([]byte, defaultBufSize),\n\t\tsrc: make([]byte, defaultBufSize),\n\t}\n}\n\n// Write implements the io.Writer interface. If there are not enough\n// bytes available to complete a Transform, the bytes will be buffered\n// for the next write. Call Close to convert the remaining bytes.\nfunc (w *Writer) Write(data []byte) (n int, err error) {\n\tsrc := data\n\tif w.n > 0 {\n\t\t// Append bytes from data to the last remainder.\n\t\t// TODO: limit the amount copied on first try.\n\t\tn = copy(w.src[w.n:], data)\n\t\tw.n += n\n\t\tsrc = w.src[:w.n]\n\t}\n\tfor {\n\t\tnDst, nSrc, err := w.t.Transform(w.dst, src, false)\n\t\tif _, werr := w.w.Write(w.dst[:nDst]); werr != nil {\n\t\t\treturn n, werr\n\t\t}\n\t\tsrc = src[nSrc:]\n\t\tif w.n == 0 {\n\t\t\tn += nSrc\n\t\t} else if len(src) <= n {\n\t\t\t// Enough bytes from w.src have been consumed. We make src point\n\t\t\t// to data instead to reduce the copying.\n\t\t\tw.n = 0\n\t\t\tn -= len(src)\n\t\t\tsrc = data[n:]\n\t\t\tif n < len(data) && (err == nil || err == ErrShortSrc) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tswitch err {\n\t\tcase ErrShortDst:\n\t\t\t// This error is okay as long as we are making progress.\n\t\t\tif nDst > 0 || nSrc > 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\tcase ErrShortSrc:\n\t\t\tif len(src) < len(w.src) {\n\t\t\t\tm := copy(w.src, src)\n\t\t\t\t// If w.n > 0, bytes from data were already copied to w.src and n\n\t\t\t\t// was already set to the number of bytes consumed.\n\t\t\t\tif w.n == 0 {\n\t\t\t\t\tn += m\n\t\t\t\t}\n\t\t\t\tw.n = m\n\t\t\t\terr = nil\n\t\t\t} else if nDst > 0 || nSrc > 0 {\n\t\t\t\t// Not enough buffer to store the remainder. Keep processing as\n\t\t\t\t// long as there is progress. Without this case, transforms that\n\t\t\t\t// require a lookahead larger than the buffer may result in an\n\t\t\t\t// error. This is not something one may expect to be common in\n\t\t\t\t// practice, but it may occur when buffers are set to small\n\t\t\t\t// sizes during testing.\n\t\t\t\tcontinue\n\t\t\t}\n\t\tcase nil:\n\t\t\tif w.n > 0 {\n\t\t\t\terr = errInconsistentByteCount\n\t\t\t}\n\t\t}\n\t\treturn n, err\n\t}\n}\n\n// Close implements the io.Closer interface.\nfunc (w *Writer) Close() error {\n\tsrc := w.src[:w.n]\n\tfor {\n\t\tnDst, nSrc, err := w.t.Transform(w.dst, src, true)\n\t\tif _, werr := w.w.Write(w.dst[:nDst]); werr != nil {\n\t\t\treturn werr\n\t\t}\n\t\tif err != ErrShortDst {\n\t\t\treturn err\n\t\t}\n\t\tsrc = src[nSrc:]\n\t}\n}\n\ntype nop struct{ NopResetter }\n\nfunc (nop) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\tn := copy(dst, src)\n\tif n < len(src) {\n\t\terr = ErrShortDst\n\t}\n\treturn n, n, err\n}\n\nfunc (nop) Span(src []byte, atEOF bool) (n int, err error) {\n\treturn len(src), nil\n}\n\ntype discard struct{ NopResetter }\n\nfunc (discard) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\treturn 0, len(src), nil\n}\n\nvar (\n\t// Discard is a Transformer for which all Transform calls succeed\n\t// by consuming all bytes and writing nothing.\n\tDiscard Transformer = discard{}\n\n\t// Nop is a SpanningTransformer that copies src to dst.\n\tNop SpanningTransformer = nop{}\n)\n\n// chain is a sequence of links. A chain with N Transformers has N+1 links and\n// N+1 buffers. Of those N+1 buffers, the first and last are the src and dst\n// buffers given to chain.Transform and the middle N-1 buffers are intermediate\n// buffers owned by the chain. The i'th link transforms bytes from the i'th\n// buffer chain.link[i].b at read offset chain.link[i].p to the i+1'th buffer\n// chain.link[i+1].b at write offset chain.link[i+1].n, for i in [0, N).\ntype chain struct {\n\tlink []link\n\terr  error\n\t// errStart is the index at which the error occurred plus 1. Processing\n\t// errStart at this level at the next call to Transform. As long as\n\t// errStart > 0, chain will not consume any more source bytes.\n\terrStart int\n}\n\nfunc (c *chain) fatalError(errIndex int, err error) {\n\tif i := errIndex + 1; i > c.errStart {\n\t\tc.errStart = i\n\t\tc.err = err\n\t}\n}\n\ntype link struct {\n\tt Transformer\n\t// b[p:n] holds the bytes to be transformed by t.\n\tb []byte\n\tp int\n\tn int\n}\n\nfunc (l *link) src() []byte {\n\treturn l.b[l.p:l.n]\n}\n\nfunc (l *link) dst() []byte {\n\treturn l.b[l.n:]\n}\n\n// Chain returns a Transformer that applies t in sequence.\nfunc Chain(t ...Transformer) Transformer {\n\tif len(t) == 0 {\n\t\treturn nop{}\n\t}\n\tc := &chain{link: make([]link, len(t)+1)}\n\tfor i, tt := range t {\n\t\tc.link[i].t = tt\n\t}\n\t// Allocate intermediate buffers.\n\tb := make([][defaultBufSize]byte, len(t)-1)\n\tfor i := range b {\n\t\tc.link[i+1].b = b[i][:]\n\t}\n\treturn c\n}\n\n// Reset resets the state of Chain. It calls Reset on all the Transformers.\nfunc (c *chain) Reset() {\n\tfor i, l := range c.link {\n\t\tif l.t != nil {\n\t\t\tl.t.Reset()\n\t\t}\n\t\tc.link[i].p, c.link[i].n = 0, 0\n\t}\n}\n\n// TODO: make chain use Span (is going to be fun to implement!)\n\n// Transform applies the transformers of c in sequence.\nfunc (c *chain) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\t// Set up src and dst in the chain.\n\tsrcL := &c.link[0]\n\tdstL := &c.link[len(c.link)-1]\n\tsrcL.b, srcL.p, srcL.n = src, 0, len(src)\n\tdstL.b, dstL.n = dst, 0\n\tvar lastFull, needProgress bool // for detecting progress\n\n\t// i is the index of the next Transformer to apply, for i in [low, high].\n\t// low is the lowest index for which c.link[low] may still produce bytes.\n\t// high is the highest index for which c.link[high] has a Transformer.\n\t// The error returned by Transform determines whether to increase or\n\t// decrease i. We try to completely fill a buffer before converting it.\n\tfor low, i, high := c.errStart, c.errStart, len(c.link)-2; low <= i && i <= high; {\n\t\tin, out := &c.link[i], &c.link[i+1]\n\t\tnDst, nSrc, err0 := in.t.Transform(out.dst(), in.src(), atEOF && low == i)\n\t\tout.n += nDst\n\t\tin.p += nSrc\n\t\tif i > 0 && in.p == in.n {\n\t\t\tin.p, in.n = 0, 0\n\t\t}\n\t\tneedProgress, lastFull = lastFull, false\n\t\tswitch err0 {\n\t\tcase ErrShortDst:\n\t\t\t// Process the destination buffer next. Return if we are already\n\t\t\t// at the high index.\n\t\t\tif i == high {\n\t\t\t\treturn dstL.n, srcL.p, ErrShortDst\n\t\t\t}\n\t\t\tif out.n != 0 {\n\t\t\t\ti++\n\t\t\t\t// If the Transformer at the next index is not able to process any\n\t\t\t\t// source bytes there is nothing that can be done to make progress\n\t\t\t\t// and the bytes will remain unprocessed. lastFull is used to\n\t\t\t\t// detect this and break out of the loop with a fatal error.\n\t\t\t\tlastFull = true\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// The destination buffer was too small, but is completely empty.\n\t\t\t// Return a fatal error as this transformation can never complete.\n\t\t\tc.fatalError(i, errShortInternal)\n\t\tcase ErrShortSrc:\n\t\t\tif i == 0 {\n\t\t\t\t// Save ErrShortSrc in err. All other errors take precedence.\n\t\t\t\terr = ErrShortSrc\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// Source bytes were depleted before filling up the destination buffer.\n\t\t\t// Verify we made some progress, move the remaining bytes to the errStart\n\t\t\t// and try to get more source bytes.\n\t\t\tif needProgress && nSrc == 0 || in.n-in.p == len(in.b) {\n\t\t\t\t// There were not enough source bytes to proceed while the source\n\t\t\t\t// buffer cannot hold any more bytes. Return a fatal error as this\n\t\t\t\t// transformation can never complete.\n\t\t\t\tc.fatalError(i, errShortInternal)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// in.b is an internal buffer and we can make progress.\n\t\t\tin.p, in.n = 0, copy(in.b, in.src())\n\t\t\tfallthrough\n\t\tcase nil:\n\t\t\t// if i == low, we have depleted the bytes at index i or any lower levels.\n\t\t\t// In that case we increase low and i. In all other cases we decrease i to\n\t\t\t// fetch more bytes before proceeding to the next index.\n\t\t\tif i > low {\n\t\t\t\ti--\n\t\t\t\tcontinue\n\t\t\t}\n\t\tdefault:\n\t\t\tc.fatalError(i, err0)\n\t\t}\n\t\t// Exhausted level low or fatal error: increase low and continue\n\t\t// to process the bytes accepted so far.\n\t\ti++\n\t\tlow = i\n\t}\n\n\t// If c.errStart > 0, this means we found a fatal error.  We will clear\n\t// all upstream buffers. At this point, no more progress can be made\n\t// downstream, as Transform would have bailed while handling ErrShortDst.\n\tif c.errStart > 0 {\n\t\tfor i := 1; i < c.errStart; i++ {\n\t\t\tc.link[i].p, c.link[i].n = 0, 0\n\t\t}\n\t\terr, c.errStart, c.err = c.err, 0, nil\n\t}\n\treturn dstL.n, srcL.p, err\n}\n\n// Deprecated: use runes.Remove instead.\nfunc RemoveFunc(f func(r rune) bool) Transformer {\n\treturn removeF(f)\n}\n\ntype removeF func(r rune) bool\n\nfunc (removeF) Reset() {}\n\n// Transform implements the Transformer interface.\nfunc (t removeF) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\tfor r, sz := rune(0), 0; len(src) > 0; src = src[sz:] {\n\n\t\tif r = rune(src[0]); r < utf8.RuneSelf {\n\t\t\tsz = 1\n\t\t} else {\n\t\t\tr, sz = utf8.DecodeRune(src)\n\n\t\t\tif sz == 1 {\n\t\t\t\t// Invalid rune.\n\t\t\t\tif !atEOF && !utf8.FullRune(src) {\n\t\t\t\t\terr = ErrShortSrc\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\t// We replace illegal bytes with RuneError. Not doing so might\n\t\t\t\t// otherwise turn a sequence of invalid UTF-8 into valid UTF-8.\n\t\t\t\t// The resulting byte sequence may subsequently contain runes\n\t\t\t\t// for which t(r) is true that were passed unnoticed.\n\t\t\t\tif !t(r) {\n\t\t\t\t\tif nDst+3 > len(dst) {\n\t\t\t\t\t\terr = ErrShortDst\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tnDst += copy(dst[nDst:], \"\\uFFFD\")\n\t\t\t\t}\n\t\t\t\tnSrc++\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\tif !t(r) {\n\t\t\tif nDst+sz > len(dst) {\n\t\t\t\terr = ErrShortDst\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tnDst += copy(dst[nDst:], src[:sz])\n\t\t}\n\t\tnSrc += sz\n\t}\n\treturn\n}\n\n// grow returns a new []byte that is longer than b, and copies the first n bytes\n// of b to the start of the new slice.\nfunc grow(b []byte, n int) []byte {\n\tm := len(b)\n\tif m <= 32 {\n\t\tm = 64\n\t} else if m <= 256 {\n\t\tm *= 2\n\t} else {\n\t\tm += m >> 1\n\t}\n\tbuf := make([]byte, m)\n\tcopy(buf, b[:n])\n\treturn buf\n}\n\nconst initialBufSize = 128\n\n// String returns a string with the result of converting s[:n] using t, where\n// n <= len(s). If err == nil, n will be len(s). It calls Reset on t.\nfunc String(t Transformer, s string) (result string, n int, err error) {\n\tt.Reset()\n\tif s == \"\" {\n\t\t// Fast path for the common case for empty input. Results in about a\n\t\t// 86% reduction of running time for BenchmarkStringLowerEmpty.\n\t\tif _, _, err := t.Transform(nil, nil, true); err == nil {\n\t\t\treturn \"\", 0, nil\n\t\t}\n\t}\n\n\t// Allocate only once. Note that both dst and src escape when passed to\n\t// Transform.\n\tbuf := [2 * initialBufSize]byte{}\n\tdst := buf[:initialBufSize:initialBufSize]\n\tsrc := buf[initialBufSize : 2*initialBufSize]\n\n\t// The input string s is transformed in multiple chunks (starting with a\n\t// chunk size of initialBufSize). nDst and nSrc are per-chunk (or\n\t// per-Transform-call) indexes, pDst and pSrc are overall indexes.\n\tnDst, nSrc := 0, 0\n\tpDst, pSrc := 0, 0\n\n\t// pPrefix is the length of a common prefix: the first pPrefix bytes of the\n\t// result will equal the first pPrefix bytes of s. It is not guaranteed to\n\t// be the largest such value, but if pPrefix, len(result) and len(s) are\n\t// all equal after the final transform (i.e. calling Transform with atEOF\n\t// being true returned nil error) then we don't need to allocate a new\n\t// result string.\n\tpPrefix := 0\n\tfor {\n\t\t// Invariant: pDst == pPrefix && pSrc == pPrefix.\n\n\t\tn := copy(src, s[pSrc:])\n\t\tnDst, nSrc, err = t.Transform(dst, src[:n], pSrc+n == len(s))\n\t\tpDst += nDst\n\t\tpSrc += nSrc\n\n\t\t// TODO:  let transformers implement an optional Spanner interface, akin\n\t\t// to norm's QuickSpan. This would even allow us to avoid any allocation.\n\t\tif !bytes.Equal(dst[:nDst], src[:nSrc]) {\n\t\t\tbreak\n\t\t}\n\t\tpPrefix = pSrc\n\t\tif err == ErrShortDst {\n\t\t\t// A buffer can only be short if a transformer modifies its input.\n\t\t\tbreak\n\t\t} else if err == ErrShortSrc {\n\t\t\tif nSrc == 0 {\n\t\t\t\t// No progress was made.\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// Equal so far and !atEOF, so continue checking.\n\t\t} else if err != nil || pPrefix == len(s) {\n\t\t\treturn string(s[:pPrefix]), pPrefix, err\n\t\t}\n\t}\n\t// Post-condition: pDst == pPrefix + nDst && pSrc == pPrefix + nSrc.\n\n\t// We have transformed the first pSrc bytes of the input s to become pDst\n\t// transformed bytes. Those transformed bytes are discontiguous: the first\n\t// pPrefix of them equal s[:pPrefix] and the last nDst of them equal\n\t// dst[:nDst]. We copy them around, into a new dst buffer if necessary, so\n\t// that they become one contiguous slice: dst[:pDst].\n\tif pPrefix != 0 {\n\t\tnewDst := dst\n\t\tif pDst > len(newDst) {\n\t\t\tnewDst = make([]byte, len(s)+nDst-nSrc)\n\t\t}\n\t\tcopy(newDst[pPrefix:pDst], dst[:nDst])\n\t\tcopy(newDst[:pPrefix], s[:pPrefix])\n\t\tdst = newDst\n\t}\n\n\t// Prevent duplicate Transform calls with atEOF being true at the end of\n\t// the input. Also return if we have an unrecoverable error.\n\tif (err == nil && pSrc == len(s)) ||\n\t\t(err != nil && err != ErrShortDst && err != ErrShortSrc) {\n\t\treturn string(dst[:pDst]), pSrc, err\n\t}\n\n\t// Transform the remaining input, growing dst and src buffers as necessary.\n\tfor {\n\t\tn := copy(src, s[pSrc:])\n\t\tnDst, nSrc, err := t.Transform(dst[pDst:], src[:n], pSrc+n == len(s))\n\t\tpDst += nDst\n\t\tpSrc += nSrc\n\n\t\t// If we got ErrShortDst or ErrShortSrc, do not grow as long as we can\n\t\t// make progress. This may avoid excessive allocations.\n\t\tif err == ErrShortDst {\n\t\t\tif nDst == 0 {\n\t\t\t\tdst = grow(dst, pDst)\n\t\t\t}\n\t\t} else if err == ErrShortSrc {\n\t\t\tif nSrc == 0 {\n\t\t\t\tsrc = grow(src, 0)\n\t\t\t}\n\t\t} else if err != nil || pSrc == len(s) {\n\t\t\treturn string(dst[:pDst]), pSrc, err\n\t\t}\n\t}\n}\n\n// Bytes returns a new byte slice with the result of converting b[:n] using t,\n// where n <= len(b). If err == nil, n will be len(b). It calls Reset on t.\nfunc Bytes(t Transformer, b []byte) (result []byte, n int, err error) {\n\treturn doAppend(t, 0, make([]byte, len(b)), b)\n}\n\n// Append appends the result of converting src[:n] using t to dst, where\n// n <= len(src), If err == nil, n will be len(src). It calls Reset on t.\nfunc Append(t Transformer, dst, src []byte) (result []byte, n int, err error) {\n\tif len(dst) == cap(dst) {\n\t\tn := len(src) + len(dst) // It is okay for this to be 0.\n\t\tb := make([]byte, n)\n\t\tdst = b[:copy(b, dst)]\n\t}\n\treturn doAppend(t, len(dst), dst[:cap(dst)], src)\n}\n\nfunc doAppend(t Transformer, pDst int, dst, src []byte) (result []byte, n int, err error) {\n\tt.Reset()\n\tpSrc := 0\n\tfor {\n\t\tnDst, nSrc, err := t.Transform(dst[pDst:], src[pSrc:], true)\n\t\tpDst += nDst\n\t\tpSrc += nSrc\n\t\tif err != ErrShortDst {\n\t\t\treturn dst[:pDst], pSrc, err\n\t\t}\n\n\t\t// Grow the destination buffer, but do not grow as long as we can make\n\t\t// progress. This may avoid excessive allocations.\n\t\tif nDst == 0 {\n\t\t\tdst = grow(dst, pDst)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/bidi.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//go:generate go run gen.go gen_trieval.go gen_ranges.go\n\n// Package bidi contains functionality for bidirectional text support.\n//\n// See http://www.unicode.org/reports/tr9.\n//\n// NOTE: UNDER CONSTRUCTION. This API may change in backwards incompatible ways\n// and without notice.\npackage bidi // import \"golang.org/x/text/unicode/bidi\"\n\n// TODO:\n// The following functionality would not be hard to implement, but hinges on\n// the definition of a Segmenter interface. For now this is up to the user.\n// - Iterate over paragraphs\n// - Segmenter to iterate over runs directly from a given text.\n// Also:\n// - Transformer for reordering?\n// - Transformer (validator, really) for Bidi Rule.\n\n// This API tries to avoid dealing with embedding levels for now. Under the hood\n// these will be computed, but the question is to which extent the user should\n// know they exist. We should at some point allow the user to specify an\n// embedding hierarchy, though.\n\n// A Direction indicates the overall flow of text.\ntype Direction int\n\nconst (\n\t// LeftToRight indicates the text contains no right-to-left characters and\n\t// that either there are some left-to-right characters or the option\n\t// DefaultDirection(LeftToRight) was passed.\n\tLeftToRight Direction = iota\n\n\t// RightToLeft indicates the text contains no left-to-right characters and\n\t// that either there are some right-to-left characters or the option\n\t// DefaultDirection(RightToLeft) was passed.\n\tRightToLeft\n\n\t// Mixed indicates text contains both left-to-right and right-to-left\n\t// characters.\n\tMixed\n\n\t// Neutral means that text contains no left-to-right and right-to-left\n\t// characters and that no default direction has been set.\n\tNeutral\n)\n\ntype options struct{}\n\n// An Option is an option for Bidi processing.\ntype Option func(*options)\n\n// ICU allows the user to define embedding levels. This may be used, for example,\n// to use hierarchical structure of markup languages to define embeddings.\n// The following option may be a way to expose this functionality in this API.\n// // LevelFunc sets a function that associates nesting levels with the given text.\n// // The levels function will be called with monotonically increasing values for p.\n// func LevelFunc(levels func(p int) int) Option {\n// \tpanic(\"unimplemented\")\n// }\n\n// DefaultDirection sets the default direction for a Paragraph. The direction is\n// overridden if the text contains directional characters.\nfunc DefaultDirection(d Direction) Option {\n\tpanic(\"unimplemented\")\n}\n\n// A Paragraph holds a single Paragraph for Bidi processing.\ntype Paragraph struct {\n\t// buffers\n}\n\n// SetBytes configures p for the given paragraph text. It replaces text\n// previously set by SetBytes or SetString. If b contains a paragraph separator\n// it will only process the first paragraph and report the number of bytes\n// consumed from b including this separator. Error may be non-nil if options are\n// given.\nfunc (p *Paragraph) SetBytes(b []byte, opts ...Option) (n int, err error) {\n\tpanic(\"unimplemented\")\n}\n\n// SetString configures p for the given paragraph text. It replaces text\n// previously set by SetBytes or SetString. If b contains a paragraph separator\n// it will only process the first paragraph and report the number of bytes\n// consumed from b including this separator. Error may be non-nil if options are\n// given.\nfunc (p *Paragraph) SetString(s string, opts ...Option) (n int, err error) {\n\tpanic(\"unimplemented\")\n}\n\n// IsLeftToRight reports whether the principle direction of rendering for this\n// paragraphs is left-to-right. If this returns false, the principle direction\n// of rendering is right-to-left.\nfunc (p *Paragraph) IsLeftToRight() bool {\n\tpanic(\"unimplemented\")\n}\n\n// Direction returns the direction of the text of this paragraph.\n//\n// The direction may be LeftToRight, RightToLeft, Mixed, or Neutral.\nfunc (p *Paragraph) Direction() Direction {\n\tpanic(\"unimplemented\")\n}\n\n// RunAt reports the Run at the given position of the input text.\n//\n// This method can be used for computing line breaks on paragraphs.\nfunc (p *Paragraph) RunAt(pos int) Run {\n\tpanic(\"unimplemented\")\n}\n\n// Order computes the visual ordering of all the runs in a Paragraph.\nfunc (p *Paragraph) Order() (Ordering, error) {\n\tpanic(\"unimplemented\")\n}\n\n// Line computes the visual ordering of runs for a single line starting and\n// ending at the given positions in the original text.\nfunc (p *Paragraph) Line(start, end int) (Ordering, error) {\n\tpanic(\"unimplemented\")\n}\n\n// An Ordering holds the computed visual order of runs of a Paragraph. Calling\n// SetBytes or SetString on the originating Paragraph invalidates an Ordering.\n// The methods of an Ordering should only be called by one goroutine at a time.\ntype Ordering struct{}\n\n// Direction reports the directionality of the runs.\n//\n// The direction may be LeftToRight, RightToLeft, Mixed, or Neutral.\nfunc (o *Ordering) Direction() Direction {\n\tpanic(\"unimplemented\")\n}\n\n// NumRuns returns the number of runs.\nfunc (o *Ordering) NumRuns() int {\n\tpanic(\"unimplemented\")\n}\n\n// Run returns the ith run within the ordering.\nfunc (o *Ordering) Run(i int) Run {\n\tpanic(\"unimplemented\")\n}\n\n// TODO: perhaps with options.\n// // Reorder creates a reader that reads the runes in visual order per character.\n// // Modifiers remain after the runes they modify.\n// func (l *Runs) Reorder() io.Reader {\n// \tpanic(\"unimplemented\")\n// }\n\n// A Run is a continuous sequence of characters of a single direction.\ntype Run struct {\n}\n\n// String returns the text of the run in its original order.\nfunc (r *Run) String() string {\n\tpanic(\"unimplemented\")\n}\n\n// Bytes returns the text of the run in its original order.\nfunc (r *Run) Bytes() []byte {\n\tpanic(\"unimplemented\")\n}\n\n// TODO: methods for\n// - Display order\n// - headers and footers\n// - bracket replacement.\n\n// Direction reports the direction of the run.\nfunc (r *Run) Direction() Direction {\n\tpanic(\"unimplemented\")\n}\n\n// Position of the Run within the text passed to SetBytes or SetString of the\n// originating Paragraph value.\nfunc (r *Run) Pos() (start, end int) {\n\tpanic(\"unimplemented\")\n}\n\n// AppendReverse reverses the order of characters of in, appends them to out,\n// and returns the result. Modifiers will still follow the runes they modify.\n// Brackets are replaced with their counterparts.\nfunc AppendReverse(out, in []byte) []byte {\n\tpanic(\"unimplemented\")\n}\n\n// ReverseString reverses the order of characters in s and returns a new string.\n// Modifiers will still follow the runes they modify. Brackets are replaced with\n// their counterparts.\nfunc ReverseString(s string) string {\n\tpanic(\"unimplemented\")\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/bracket.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage bidi\n\nimport (\n\t\"container/list\"\n\t\"fmt\"\n\t\"sort\"\n)\n\n// This file contains a port of the reference implementation of the\n// Bidi Parentheses Algorithm:\n// http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/BidiPBAReference.java\n//\n// The implementation in this file covers definitions BD14-BD16 and rule N0\n// of UAX#9.\n//\n// Some preprocessing is done for each rune before data is passed to this\n// algorithm:\n//  - opening and closing brackets are identified\n//  - a bracket pair type, like '(' and ')' is assigned a unique identifier that\n//    is identical for the opening and closing bracket. It is left to do these\n//    mappings.\n//  - The BPA algorithm requires that bracket characters that are canonical\n//    equivalents of each other be able to be substituted for each other.\n//    It is the responsibility of the caller to do this canonicalization.\n//\n// In implementing BD16, this implementation departs slightly from the \"logical\"\n// algorithm defined in UAX#9. In particular, the stack referenced there\n// supports operations that go beyond a \"basic\" stack. An equivalent\n// implementation based on a linked list is used here.\n\n// Bidi_Paired_Bracket_Type\n// BD14. An opening paired bracket is a character whose\n// Bidi_Paired_Bracket_Type property value is Open.\n//\n// BD15. A closing paired bracket is a character whose\n// Bidi_Paired_Bracket_Type property value is Close.\ntype bracketType byte\n\nconst (\n\tbpNone bracketType = iota\n\tbpOpen\n\tbpClose\n)\n\n// bracketPair holds a pair of index values for opening and closing bracket\n// location of a bracket pair.\ntype bracketPair struct {\n\topener int\n\tcloser int\n}\n\nfunc (b *bracketPair) String() string {\n\treturn fmt.Sprintf(\"(%v, %v)\", b.opener, b.closer)\n}\n\n// bracketPairs is a slice of bracketPairs with a sort.Interface implementation.\ntype bracketPairs []bracketPair\n\nfunc (b bracketPairs) Len() int           { return len(b) }\nfunc (b bracketPairs) Swap(i, j int)      { b[i], b[j] = b[j], b[i] }\nfunc (b bracketPairs) Less(i, j int) bool { return b[i].opener < b[j].opener }\n\n// resolvePairedBrackets runs the paired bracket part of the UBA algorithm.\n//\n// For each rune, it takes the indexes into the original string, the class the\n// bracket type (in pairTypes) and the bracket identifier (pairValues). It also\n// takes the direction type for the start-of-sentence and the embedding level.\n//\n// The identifiers for bracket types are the rune of the canonicalized opening\n// bracket for brackets (open or close) or 0 for runes that are not brackets.\nfunc resolvePairedBrackets(s *isolatingRunSequence) {\n\tp := bracketPairer{\n\t\tsos:              s.sos,\n\t\topeners:          list.New(),\n\t\tcodesIsolatedRun: s.types,\n\t\tindexes:          s.indexes,\n\t}\n\tdirEmbed := L\n\tif s.level&1 != 0 {\n\t\tdirEmbed = R\n\t}\n\tp.locateBrackets(s.p.pairTypes, s.p.pairValues)\n\tp.resolveBrackets(dirEmbed, s.p.initialTypes)\n}\n\ntype bracketPairer struct {\n\tsos Class // direction corresponding to start of sequence\n\n\t// The following is a restatement of BD 16 using non-algorithmic language.\n\t//\n\t// A bracket pair is a pair of characters consisting of an opening\n\t// paired bracket and a closing paired bracket such that the\n\t// Bidi_Paired_Bracket property value of the former equals the latter,\n\t// subject to the following constraints.\n\t// - both characters of a pair occur in the same isolating run sequence\n\t// - the closing character of a pair follows the opening character\n\t// - any bracket character can belong at most to one pair, the earliest possible one\n\t// - any bracket character not part of a pair is treated like an ordinary character\n\t// - pairs may nest properly, but their spans may not overlap otherwise\n\n\t// Bracket characters with canonical decompositions are supposed to be\n\t// treated as if they had been normalized, to allow normalized and non-\n\t// normalized text to give the same result. In this implementation that step\n\t// is pushed out to the caller. The caller has to ensure that the pairValue\n\t// slices contain the rune of the opening bracket after normalization for\n\t// any opening or closing bracket.\n\n\topeners *list.List // list of positions for opening brackets\n\n\t// bracket pair positions sorted by location of opening bracket\n\tpairPositions bracketPairs\n\n\tcodesIsolatedRun []Class // directional bidi codes for an isolated run\n\tindexes          []int   // array of index values into the original string\n\n}\n\n// matchOpener reports whether characters at given positions form a matching\n// bracket pair.\nfunc (p *bracketPairer) matchOpener(pairValues []rune, opener, closer int) bool {\n\treturn pairValues[p.indexes[opener]] == pairValues[p.indexes[closer]]\n}\n\nconst maxPairingDepth = 63\n\n// locateBrackets locates matching bracket pairs according to BD16.\n//\n// This implementation uses a linked list instead of a stack, because, while\n// elements are added at the front (like a push) they are not generally removed\n// in atomic 'pop' operations, reducing the benefit of the stack archetype.\nfunc (p *bracketPairer) locateBrackets(pairTypes []bracketType, pairValues []rune) {\n\t// traverse the run\n\t// do that explicitly (not in a for-each) so we can record position\n\tfor i, index := range p.indexes {\n\n\t\t// look at the bracket type for each character\n\t\tif pairTypes[index] == bpNone || p.codesIsolatedRun[i] != ON {\n\t\t\t// continue scanning\n\t\t\tcontinue\n\t\t}\n\t\tswitch pairTypes[index] {\n\t\tcase bpOpen:\n\t\t\t// check if maximum pairing depth reached\n\t\t\tif p.openers.Len() == maxPairingDepth {\n\t\t\t\tp.openers.Init()\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// remember opener location, most recent first\n\t\t\tp.openers.PushFront(i)\n\n\t\tcase bpClose:\n\t\t\t// see if there is a match\n\t\t\tcount := 0\n\t\t\tfor elem := p.openers.Front(); elem != nil; elem = elem.Next() {\n\t\t\t\tcount++\n\t\t\t\topener := elem.Value.(int)\n\t\t\t\tif p.matchOpener(pairValues, opener, i) {\n\t\t\t\t\t// if the opener matches, add nested pair to the ordered list\n\t\t\t\t\tp.pairPositions = append(p.pairPositions, bracketPair{opener, i})\n\t\t\t\t\t// remove up to and including matched opener\n\t\t\t\t\tfor ; count > 0; count-- {\n\t\t\t\t\t\tp.openers.Remove(p.openers.Front())\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tsort.Sort(p.pairPositions)\n\t\t\t// if we get here, the closing bracket matched no openers\n\t\t\t// and gets ignored\n\t\t}\n\t}\n}\n\n// Bracket pairs within an isolating run sequence are processed as units so\n// that both the opening and the closing paired bracket in a pair resolve to\n// the same direction.\n//\n// N0. Process bracket pairs in an isolating run sequence sequentially in\n// the logical order of the text positions of the opening paired brackets\n// using the logic given below. Within this scope, bidirectional types EN\n// and AN are treated as R.\n//\n// Identify the bracket pairs in the current isolating run sequence\n// according to BD16. For each bracket-pair element in the list of pairs of\n// text positions:\n//\n// a Inspect the bidirectional types of the characters enclosed within the\n// bracket pair.\n//\n// b If any strong type (either L or R) matching the embedding direction is\n// found, set the type for both brackets in the pair to match the embedding\n// direction.\n//\n// o [ e ] o -> o e e e o\n//\n// o [ o e ] -> o e o e e\n//\n// o [ NI e ] -> o e NI e e\n//\n// c Otherwise, if a strong type (opposite the embedding direction) is\n// found, test for adjacent strong types as follows: 1 First, check\n// backwards before the opening paired bracket until the first strong type\n// (L, R, or sos) is found. If that first preceding strong type is opposite\n// the embedding direction, then set the type for both brackets in the pair\n// to that type. 2 Otherwise, set the type for both brackets in the pair to\n// the embedding direction.\n//\n// o [ o ] e -> o o o o e\n//\n// o [ o NI ] o -> o o o NI o o\n//\n// e [ o ] o -> e e o e o\n//\n// e [ o ] e -> e e o e e\n//\n// e ( o [ o ] NI ) e -> e e o o o o NI e e\n//\n// d Otherwise, do not set the type for the current bracket pair. Note that\n// if the enclosed text contains no strong types the paired brackets will\n// both resolve to the same level when resolved individually using rules N1\n// and N2.\n//\n// e ( NI ) o -> e ( NI ) o\n\n// getStrongTypeN0 maps character's directional code to strong type as required\n// by rule N0.\n//\n// TODO: have separate type for \"strong\" directionality.\nfunc (p *bracketPairer) getStrongTypeN0(index int) Class {\n\tswitch p.codesIsolatedRun[index] {\n\t// in the scope of N0, number types are treated as R\n\tcase EN, AN, AL, R:\n\t\treturn R\n\tcase L:\n\t\treturn L\n\tdefault:\n\t\treturn ON\n\t}\n}\n\n// classifyPairContent reports the strong types contained inside a Bracket Pair,\n// assuming the given embedding direction.\n//\n// It returns ON if no strong type is found. If a single strong type is found,\n// it returns this this type. Otherwise it returns the embedding direction.\n//\n// TODO: use separate type for \"strong\" directionality.\nfunc (p *bracketPairer) classifyPairContent(loc bracketPair, dirEmbed Class) Class {\n\tdirOpposite := ON\n\tfor i := loc.opener + 1; i < loc.closer; i++ {\n\t\tdir := p.getStrongTypeN0(i)\n\t\tif dir == ON {\n\t\t\tcontinue\n\t\t}\n\t\tif dir == dirEmbed {\n\t\t\treturn dir // type matching embedding direction found\n\t\t}\n\t\tdirOpposite = dir\n\t}\n\t// return ON if no strong type found, or class opposite to dirEmbed\n\treturn dirOpposite\n}\n\n// classBeforePair determines which strong types are present before a Bracket\n// Pair. Return R or L if strong type found, otherwise ON.\nfunc (p *bracketPairer) classBeforePair(loc bracketPair) Class {\n\tfor i := loc.opener - 1; i >= 0; i-- {\n\t\tif dir := p.getStrongTypeN0(i); dir != ON {\n\t\t\treturn dir\n\t\t}\n\t}\n\t// no strong types found, return sos\n\treturn p.sos\n}\n\n// assignBracketType implements rule N0 for a single bracket pair.\nfunc (p *bracketPairer) assignBracketType(loc bracketPair, dirEmbed Class, initialTypes []Class) {\n\t// rule \"N0, a\", inspect contents of pair\n\tdirPair := p.classifyPairContent(loc, dirEmbed)\n\n\t// dirPair is now L, R, or N (no strong type found)\n\n\t// the following logical tests are performed out of order compared to\n\t// the statement of the rules but yield the same results\n\tif dirPair == ON {\n\t\treturn // case \"d\" - nothing to do\n\t}\n\n\tif dirPair != dirEmbed {\n\t\t// case \"c\": strong type found, opposite - check before (c.1)\n\t\tdirPair = p.classBeforePair(loc)\n\t\tif dirPair == dirEmbed || dirPair == ON {\n\t\t\t// no strong opposite type found before - use embedding (c.2)\n\t\t\tdirPair = dirEmbed\n\t\t}\n\t}\n\t// else: case \"b\", strong type found matching embedding,\n\t// no explicit action needed, as dirPair is already set to embedding\n\t// direction\n\n\t// set the bracket types to the type found\n\tp.setBracketsToType(loc, dirPair, initialTypes)\n}\n\nfunc (p *bracketPairer) setBracketsToType(loc bracketPair, dirPair Class, initialTypes []Class) {\n\tp.codesIsolatedRun[loc.opener] = dirPair\n\tp.codesIsolatedRun[loc.closer] = dirPair\n\n\tfor i := loc.opener + 1; i < loc.closer; i++ {\n\t\tindex := p.indexes[i]\n\t\tif initialTypes[index] != NSM {\n\t\t\tbreak\n\t\t}\n\t\tp.codesIsolatedRun[i] = dirPair\n\t}\n\n\tfor i := loc.closer + 1; i < len(p.indexes); i++ {\n\t\tindex := p.indexes[i]\n\t\tif initialTypes[index] != NSM {\n\t\t\tbreak\n\t\t}\n\t\tp.codesIsolatedRun[i] = dirPair\n\t}\n}\n\n// resolveBrackets implements rule N0 for a list of pairs.\nfunc (p *bracketPairer) resolveBrackets(dirEmbed Class, initialTypes []Class) {\n\tfor _, loc := range p.pairPositions {\n\t\tp.assignBracketType(loc, dirEmbed, initialTypes)\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/core.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage bidi\n\nimport \"log\"\n\n// This implementation is a port based on the reference implementation found at:\n// http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/\n//\n// described in Unicode Bidirectional Algorithm (UAX #9).\n//\n// Input:\n// There are two levels of input to the algorithm, since clients may prefer to\n// supply some information from out-of-band sources rather than relying on the\n// default behavior.\n//\n// - Bidi class array\n// - Bidi class array, with externally supplied base line direction\n//\n// Output:\n// Output is separated into several stages:\n//\n//  - levels array over entire paragraph\n//  - reordering array over entire paragraph\n//  - levels array over line\n//  - reordering array over line\n//\n// Note that for conformance to the Unicode Bidirectional Algorithm,\n// implementations are only required to generate correct reordering and\n// character directionality (odd or even levels) over a line. Generating\n// identical level arrays over a line is not required. Bidi explicit format\n// codes (LRE, RLE, LRO, RLO, PDF) and BN can be assigned arbitrary levels and\n// positions as long as the rest of the input is properly reordered.\n//\n// As the algorithm is defined to operate on a single paragraph at a time, this\n// implementation is written to handle single paragraphs. Thus rule P1 is\n// presumed by this implementation-- the data provided to the implementation is\n// assumed to be a single paragraph, and either contains no 'B' codes, or a\n// single 'B' code at the end of the input. 'B' is allowed as input to\n// illustrate how the algorithm assigns it a level.\n//\n// Also note that rules L3 and L4 depend on the rendering engine that uses the\n// result of the bidi algorithm. This implementation assumes that the rendering\n// engine expects combining marks in visual order (e.g. to the left of their\n// base character in RTL runs) and that it adjusts the glyphs used to render\n// mirrored characters that are in RTL runs so that they render appropriately.\n\n// level is the embedding level of a character. Even embedding levels indicate\n// left-to-right order and odd levels indicate right-to-left order. The special\n// level of -1 is reserved for undefined order.\ntype level int8\n\nconst implicitLevel level = -1\n\n// in returns if x is equal to any of the values in set.\nfunc (c Class) in(set ...Class) bool {\n\tfor _, s := range set {\n\t\tif c == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// A paragraph contains the state of a paragraph.\ntype paragraph struct {\n\tinitialTypes []Class\n\n\t// Arrays of properties needed for paired bracket evaluation in N0\n\tpairTypes  []bracketType // paired Bracket types for paragraph\n\tpairValues []rune        // rune for opening bracket or pbOpen and pbClose; 0 for pbNone\n\n\tembeddingLevel level // default: = implicitLevel;\n\n\t// at the paragraph levels\n\tresultTypes  []Class\n\tresultLevels []level\n\n\t// Index of matching PDI for isolate initiator characters. For other\n\t// characters, the value of matchingPDI will be set to -1. For isolate\n\t// initiators with no matching PDI, matchingPDI will be set to the length of\n\t// the input string.\n\tmatchingPDI []int\n\n\t// Index of matching isolate initiator for PDI characters. For other\n\t// characters, and for PDIs with no matching isolate initiator, the value of\n\t// matchingIsolateInitiator will be set to -1.\n\tmatchingIsolateInitiator []int\n}\n\n// newParagraph initializes a paragraph. The user needs to supply a few arrays\n// corresponding to the preprocessed text input. The types correspond to the\n// Unicode BiDi classes for each rune. pairTypes indicates the bracket type for\n// each rune. pairValues provides a unique bracket class identifier for each\n// rune (suggested is the rune of the open bracket for opening and matching\n// close brackets, after normalization). The embedding levels are optional, but\n// may be supplied to encode embedding levels of styled text.\n//\n// TODO: return an error.\nfunc newParagraph(types []Class, pairTypes []bracketType, pairValues []rune, levels level) *paragraph {\n\tvalidateTypes(types)\n\tvalidatePbTypes(pairTypes)\n\tvalidatePbValues(pairValues, pairTypes)\n\tvalidateParagraphEmbeddingLevel(levels)\n\n\tp := &paragraph{\n\t\tinitialTypes:   append([]Class(nil), types...),\n\t\tembeddingLevel: levels,\n\n\t\tpairTypes:  pairTypes,\n\t\tpairValues: pairValues,\n\n\t\tresultTypes: append([]Class(nil), types...),\n\t}\n\tp.run()\n\treturn p\n}\n\nfunc (p *paragraph) Len() int { return len(p.initialTypes) }\n\n// The algorithm. Does not include line-based processing (Rules L1, L2).\n// These are applied later in the line-based phase of the algorithm.\nfunc (p *paragraph) run() {\n\tp.determineMatchingIsolates()\n\n\t// 1) determining the paragraph level\n\t// Rule P1 is the requirement for entering this algorithm.\n\t// Rules P2, P3.\n\t// If no externally supplied paragraph embedding level, use default.\n\tif p.embeddingLevel == implicitLevel {\n\t\tp.embeddingLevel = p.determineParagraphEmbeddingLevel(0, p.Len())\n\t}\n\n\t// Initialize result levels to paragraph embedding level.\n\tp.resultLevels = make([]level, p.Len())\n\tsetLevels(p.resultLevels, p.embeddingLevel)\n\n\t// 2) Explicit levels and directions\n\t// Rules X1-X8.\n\tp.determineExplicitEmbeddingLevels()\n\n\t// Rule X9.\n\t// We do not remove the embeddings, the overrides, the PDFs, and the BNs\n\t// from the string explicitly. But they are not copied into isolating run\n\t// sequences when they are created, so they are removed for all\n\t// practical purposes.\n\n\t// Rule X10.\n\t// Run remainder of algorithm one isolating run sequence at a time\n\tfor _, seq := range p.determineIsolatingRunSequences() {\n\t\t// 3) resolving weak types\n\t\t// Rules W1-W7.\n\t\tseq.resolveWeakTypes()\n\n\t\t// 4a) resolving paired brackets\n\t\t// Rule N0\n\t\tresolvePairedBrackets(seq)\n\n\t\t// 4b) resolving neutral types\n\t\t// Rules N1-N3.\n\t\tseq.resolveNeutralTypes()\n\n\t\t// 5) resolving implicit embedding levels\n\t\t// Rules I1, I2.\n\t\tseq.resolveImplicitLevels()\n\n\t\t// Apply the computed levels and types\n\t\tseq.applyLevelsAndTypes()\n\t}\n\n\t// Assign appropriate levels to 'hide' LREs, RLEs, LROs, RLOs, PDFs, and\n\t// BNs. This is for convenience, so the resulting level array will have\n\t// a value for every character.\n\tp.assignLevelsToCharactersRemovedByX9()\n}\n\n// determineMatchingIsolates determines the matching PDI for each isolate\n// initiator and vice versa.\n//\n// Definition BD9.\n//\n// At the end of this function:\n//\n//  - The member variable matchingPDI is set to point to the index of the\n//    matching PDI character for each isolate initiator character. If there is\n//    no matching PDI, it is set to the length of the input text. For other\n//    characters, it is set to -1.\n//  - The member variable matchingIsolateInitiator is set to point to the\n//    index of the matching isolate initiator character for each PDI character.\n//    If there is no matching isolate initiator, or the character is not a PDI,\n//    it is set to -1.\nfunc (p *paragraph) determineMatchingIsolates() {\n\tp.matchingPDI = make([]int, p.Len())\n\tp.matchingIsolateInitiator = make([]int, p.Len())\n\n\tfor i := range p.matchingIsolateInitiator {\n\t\tp.matchingIsolateInitiator[i] = -1\n\t}\n\n\tfor i := range p.matchingPDI {\n\t\tp.matchingPDI[i] = -1\n\n\t\tif t := p.resultTypes[i]; t.in(LRI, RLI, FSI) {\n\t\t\tdepthCounter := 1\n\t\t\tfor j := i + 1; j < p.Len(); j++ {\n\t\t\t\tif u := p.resultTypes[j]; u.in(LRI, RLI, FSI) {\n\t\t\t\t\tdepthCounter++\n\t\t\t\t} else if u == PDI {\n\t\t\t\t\tif depthCounter--; depthCounter == 0 {\n\t\t\t\t\t\tp.matchingPDI[i] = j\n\t\t\t\t\t\tp.matchingIsolateInitiator[j] = i\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif p.matchingPDI[i] == -1 {\n\t\t\t\tp.matchingPDI[i] = p.Len()\n\t\t\t}\n\t\t}\n\t}\n}\n\n// determineParagraphEmbeddingLevel reports the resolved paragraph direction of\n// the substring limited by the given range [start, end).\n//\n// Determines the paragraph level based on rules P2, P3. This is also used\n// in rule X5c to find if an FSI should resolve to LRI or RLI.\nfunc (p *paragraph) determineParagraphEmbeddingLevel(start, end int) level {\n\tvar strongType Class = unknownClass\n\n\t// Rule P2.\n\tfor i := start; i < end; i++ {\n\t\tif t := p.resultTypes[i]; t.in(L, AL, R) {\n\t\t\tstrongType = t\n\t\t\tbreak\n\t\t} else if t.in(FSI, LRI, RLI) {\n\t\t\ti = p.matchingPDI[i] // skip over to the matching PDI\n\t\t\tif i > end {\n\t\t\t\tlog.Panic(\"assert (i <= end)\")\n\t\t\t}\n\t\t}\n\t}\n\t// Rule P3.\n\tswitch strongType {\n\tcase unknownClass: // none found\n\t\t// default embedding level when no strong types found is 0.\n\t\treturn 0\n\tcase L:\n\t\treturn 0\n\tdefault: // AL, R\n\t\treturn 1\n\t}\n}\n\nconst maxDepth = 125\n\n// This stack will store the embedding levels and override and isolated\n// statuses\ntype directionalStatusStack struct {\n\tstackCounter        int\n\tembeddingLevelStack [maxDepth + 1]level\n\toverrideStatusStack [maxDepth + 1]Class\n\tisolateStatusStack  [maxDepth + 1]bool\n}\n\nfunc (s *directionalStatusStack) empty()     { s.stackCounter = 0 }\nfunc (s *directionalStatusStack) pop()       { s.stackCounter-- }\nfunc (s *directionalStatusStack) depth() int { return s.stackCounter }\n\nfunc (s *directionalStatusStack) push(level level, overrideStatus Class, isolateStatus bool) {\n\ts.embeddingLevelStack[s.stackCounter] = level\n\ts.overrideStatusStack[s.stackCounter] = overrideStatus\n\ts.isolateStatusStack[s.stackCounter] = isolateStatus\n\ts.stackCounter++\n}\n\nfunc (s *directionalStatusStack) lastEmbeddingLevel() level {\n\treturn s.embeddingLevelStack[s.stackCounter-1]\n}\n\nfunc (s *directionalStatusStack) lastDirectionalOverrideStatus() Class {\n\treturn s.overrideStatusStack[s.stackCounter-1]\n}\n\nfunc (s *directionalStatusStack) lastDirectionalIsolateStatus() bool {\n\treturn s.isolateStatusStack[s.stackCounter-1]\n}\n\n// Determine explicit levels using rules X1 - X8\nfunc (p *paragraph) determineExplicitEmbeddingLevels() {\n\tvar stack directionalStatusStack\n\tvar overflowIsolateCount, overflowEmbeddingCount, validIsolateCount int\n\n\t// Rule X1.\n\tstack.push(p.embeddingLevel, ON, false)\n\n\tfor i, t := range p.resultTypes {\n\t\t// Rules X2, X3, X4, X5, X5a, X5b, X5c\n\t\tswitch t {\n\t\tcase RLE, LRE, RLO, LRO, RLI, LRI, FSI:\n\t\t\tisIsolate := t.in(RLI, LRI, FSI)\n\t\t\tisRTL := t.in(RLE, RLO, RLI)\n\n\t\t\t// override if this is an FSI that resolves to RLI\n\t\t\tif t == FSI {\n\t\t\t\tisRTL = (p.determineParagraphEmbeddingLevel(i+1, p.matchingPDI[i]) == 1)\n\t\t\t}\n\t\t\tif isIsolate {\n\t\t\t\tp.resultLevels[i] = stack.lastEmbeddingLevel()\n\t\t\t\tif stack.lastDirectionalOverrideStatus() != ON {\n\t\t\t\t\tp.resultTypes[i] = stack.lastDirectionalOverrideStatus()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar newLevel level\n\t\t\tif isRTL {\n\t\t\t\t// least greater odd\n\t\t\t\tnewLevel = (stack.lastEmbeddingLevel() + 1) | 1\n\t\t\t} else {\n\t\t\t\t// least greater even\n\t\t\t\tnewLevel = (stack.lastEmbeddingLevel() + 2) &^ 1\n\t\t\t}\n\n\t\t\tif newLevel <= maxDepth && overflowIsolateCount == 0 && overflowEmbeddingCount == 0 {\n\t\t\t\tif isIsolate {\n\t\t\t\t\tvalidIsolateCount++\n\t\t\t\t}\n\t\t\t\t// Push new embedding level, override status, and isolated\n\t\t\t\t// status.\n\t\t\t\t// No check for valid stack counter, since the level check\n\t\t\t\t// suffices.\n\t\t\t\tswitch t {\n\t\t\t\tcase LRO:\n\t\t\t\t\tstack.push(newLevel, L, isIsolate)\n\t\t\t\tcase RLO:\n\t\t\t\t\tstack.push(newLevel, R, isIsolate)\n\t\t\t\tdefault:\n\t\t\t\t\tstack.push(newLevel, ON, isIsolate)\n\t\t\t\t}\n\t\t\t\t// Not really part of the spec\n\t\t\t\tif !isIsolate {\n\t\t\t\t\tp.resultLevels[i] = newLevel\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// This is an invalid explicit formatting character,\n\t\t\t\t// so apply the \"Otherwise\" part of rules X2-X5b.\n\t\t\t\tif isIsolate {\n\t\t\t\t\toverflowIsolateCount++\n\t\t\t\t} else { // !isIsolate\n\t\t\t\t\tif overflowIsolateCount == 0 {\n\t\t\t\t\t\toverflowEmbeddingCount++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Rule X6a\n\t\tcase PDI:\n\t\t\tif overflowIsolateCount > 0 {\n\t\t\t\toverflowIsolateCount--\n\t\t\t} else if validIsolateCount == 0 {\n\t\t\t\t// do nothing\n\t\t\t} else {\n\t\t\t\toverflowEmbeddingCount = 0\n\t\t\t\tfor !stack.lastDirectionalIsolateStatus() {\n\t\t\t\t\tstack.pop()\n\t\t\t\t}\n\t\t\t\tstack.pop()\n\t\t\t\tvalidIsolateCount--\n\t\t\t}\n\t\t\tp.resultLevels[i] = stack.lastEmbeddingLevel()\n\n\t\t// Rule X7\n\t\tcase PDF:\n\t\t\t// Not really part of the spec\n\t\t\tp.resultLevels[i] = stack.lastEmbeddingLevel()\n\n\t\t\tif overflowIsolateCount > 0 {\n\t\t\t\t// do nothing\n\t\t\t} else if overflowEmbeddingCount > 0 {\n\t\t\t\toverflowEmbeddingCount--\n\t\t\t} else if !stack.lastDirectionalIsolateStatus() && stack.depth() >= 2 {\n\t\t\t\tstack.pop()\n\t\t\t}\n\n\t\tcase B: // paragraph separator.\n\t\t\t// Rule X8.\n\n\t\t\t// These values are reset for clarity, in this implementation B\n\t\t\t// can only occur as the last code in the array.\n\t\t\tstack.empty()\n\t\t\toverflowIsolateCount = 0\n\t\t\toverflowEmbeddingCount = 0\n\t\t\tvalidIsolateCount = 0\n\t\t\tp.resultLevels[i] = p.embeddingLevel\n\n\t\tdefault:\n\t\t\tp.resultLevels[i] = stack.lastEmbeddingLevel()\n\t\t\tif stack.lastDirectionalOverrideStatus() != ON {\n\t\t\t\tp.resultTypes[i] = stack.lastDirectionalOverrideStatus()\n\t\t\t}\n\t\t}\n\t}\n}\n\ntype isolatingRunSequence struct {\n\tp *paragraph\n\n\tindexes []int // indexes to the original string\n\n\ttypes          []Class // type of each character using the index\n\tresolvedLevels []level // resolved levels after application of rules\n\tlevel          level\n\tsos, eos       Class\n}\n\nfunc (i *isolatingRunSequence) Len() int { return len(i.indexes) }\n\nfunc maxLevel(a, b level) level {\n\tif a > b {\n\t\treturn a\n\t}\n\treturn b\n}\n\n// Rule X10, second bullet: Determine the start-of-sequence (sos) and end-of-sequence (eos) types,\n// \t\t\t either L or R, for each isolating run sequence.\nfunc (p *paragraph) isolatingRunSequence(indexes []int) *isolatingRunSequence {\n\tlength := len(indexes)\n\ttypes := make([]Class, length)\n\tfor i, x := range indexes {\n\t\ttypes[i] = p.resultTypes[x]\n\t}\n\n\t// assign level, sos and eos\n\tprevChar := indexes[0] - 1\n\tfor prevChar >= 0 && isRemovedByX9(p.initialTypes[prevChar]) {\n\t\tprevChar--\n\t}\n\tprevLevel := p.embeddingLevel\n\tif prevChar >= 0 {\n\t\tprevLevel = p.resultLevels[prevChar]\n\t}\n\n\tvar succLevel level\n\tlastType := types[length-1]\n\tif lastType.in(LRI, RLI, FSI) {\n\t\tsuccLevel = p.embeddingLevel\n\t} else {\n\t\t// the first character after the end of run sequence\n\t\tlimit := indexes[length-1] + 1\n\t\tfor ; limit < p.Len() && isRemovedByX9(p.initialTypes[limit]); limit++ {\n\n\t\t}\n\t\tsuccLevel = p.embeddingLevel\n\t\tif limit < p.Len() {\n\t\t\tsuccLevel = p.resultLevels[limit]\n\t\t}\n\t}\n\tlevel := p.resultLevels[indexes[0]]\n\treturn &isolatingRunSequence{\n\t\tp:       p,\n\t\tindexes: indexes,\n\t\ttypes:   types,\n\t\tlevel:   level,\n\t\tsos:     typeForLevel(maxLevel(prevLevel, level)),\n\t\teos:     typeForLevel(maxLevel(succLevel, level)),\n\t}\n}\n\n// Resolving weak types Rules W1-W7.\n//\n// Note that some weak types (EN, AN) remain after this processing is\n// complete.\nfunc (s *isolatingRunSequence) resolveWeakTypes() {\n\n\t// on entry, only these types remain\n\ts.assertOnly(L, R, AL, EN, ES, ET, AN, CS, B, S, WS, ON, NSM, LRI, RLI, FSI, PDI)\n\n\t// Rule W1.\n\t// Changes all NSMs.\n\tpreceedingCharacterType := s.sos\n\tfor i, t := range s.types {\n\t\tif t == NSM {\n\t\t\ts.types[i] = preceedingCharacterType\n\t\t} else {\n\t\t\tif t.in(LRI, RLI, FSI, PDI) {\n\t\t\t\tpreceedingCharacterType = ON\n\t\t\t}\n\t\t\tpreceedingCharacterType = t\n\t\t}\n\t}\n\n\t// Rule W2.\n\t// EN does not change at the start of the run, because sos != AL.\n\tfor i, t := range s.types {\n\t\tif t == EN {\n\t\t\tfor j := i - 1; j >= 0; j-- {\n\t\t\t\tif t := s.types[j]; t.in(L, R, AL) {\n\t\t\t\t\tif t == AL {\n\t\t\t\t\t\ts.types[i] = AN\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Rule W3.\n\tfor i, t := range s.types {\n\t\tif t == AL {\n\t\t\ts.types[i] = R\n\t\t}\n\t}\n\n\t// Rule W4.\n\t// Since there must be values on both sides for this rule to have an\n\t// effect, the scan skips the first and last value.\n\t//\n\t// Although the scan proceeds left to right, and changes the type\n\t// values in a way that would appear to affect the computations\n\t// later in the scan, there is actually no problem. A change in the\n\t// current value can only affect the value to its immediate right,\n\t// and only affect it if it is ES or CS. But the current value can\n\t// only change if the value to its right is not ES or CS. Thus\n\t// either the current value will not change, or its change will have\n\t// no effect on the remainder of the analysis.\n\n\tfor i := 1; i < s.Len()-1; i++ {\n\t\tt := s.types[i]\n\t\tif t == ES || t == CS {\n\t\t\tprevSepType := s.types[i-1]\n\t\t\tsuccSepType := s.types[i+1]\n\t\t\tif prevSepType == EN && succSepType == EN {\n\t\t\t\ts.types[i] = EN\n\t\t\t} else if s.types[i] == CS && prevSepType == AN && succSepType == AN {\n\t\t\t\ts.types[i] = AN\n\t\t\t}\n\t\t}\n\t}\n\n\t// Rule W5.\n\tfor i, t := range s.types {\n\t\tif t == ET {\n\t\t\t// locate end of sequence\n\t\t\trunStart := i\n\t\t\trunEnd := s.findRunLimit(runStart, ET)\n\n\t\t\t// check values at ends of sequence\n\t\t\tt := s.sos\n\t\t\tif runStart > 0 {\n\t\t\t\tt = s.types[runStart-1]\n\t\t\t}\n\t\t\tif t != EN {\n\t\t\t\tt = s.eos\n\t\t\t\tif runEnd < len(s.types) {\n\t\t\t\t\tt = s.types[runEnd]\n\t\t\t\t}\n\t\t\t}\n\t\t\tif t == EN {\n\t\t\t\tsetTypes(s.types[runStart:runEnd], EN)\n\t\t\t}\n\t\t\t// continue at end of sequence\n\t\t\ti = runEnd\n\t\t}\n\t}\n\n\t// Rule W6.\n\tfor i, t := range s.types {\n\t\tif t.in(ES, ET, CS) {\n\t\t\ts.types[i] = ON\n\t\t}\n\t}\n\n\t// Rule W7.\n\tfor i, t := range s.types {\n\t\tif t == EN {\n\t\t\t// set default if we reach start of run\n\t\t\tprevStrongType := s.sos\n\t\t\tfor j := i - 1; j >= 0; j-- {\n\t\t\t\tt = s.types[j]\n\t\t\t\tif t == L || t == R { // AL's have been changed to R\n\t\t\t\t\tprevStrongType = t\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif prevStrongType == L {\n\t\t\t\ts.types[i] = L\n\t\t\t}\n\t\t}\n\t}\n}\n\n// 6) resolving neutral types Rules N1-N2.\nfunc (s *isolatingRunSequence) resolveNeutralTypes() {\n\n\t// on entry, only these types can be in resultTypes\n\ts.assertOnly(L, R, EN, AN, B, S, WS, ON, RLI, LRI, FSI, PDI)\n\n\tfor i, t := range s.types {\n\t\tswitch t {\n\t\tcase WS, ON, B, S, RLI, LRI, FSI, PDI:\n\t\t\t// find bounds of run of neutrals\n\t\t\trunStart := i\n\t\t\trunEnd := s.findRunLimit(runStart, B, S, WS, ON, RLI, LRI, FSI, PDI)\n\n\t\t\t// determine effective types at ends of run\n\t\t\tvar leadType, trailType Class\n\n\t\t\t// Note that the character found can only be L, R, AN, or\n\t\t\t// EN.\n\t\t\tif runStart == 0 {\n\t\t\t\tleadType = s.sos\n\t\t\t} else {\n\t\t\t\tleadType = s.types[runStart-1]\n\t\t\t\tif leadType.in(AN, EN) {\n\t\t\t\t\tleadType = R\n\t\t\t\t}\n\t\t\t}\n\t\t\tif runEnd == len(s.types) {\n\t\t\t\ttrailType = s.eos\n\t\t\t} else {\n\t\t\t\ttrailType = s.types[runEnd]\n\t\t\t\tif trailType.in(AN, EN) {\n\t\t\t\t\ttrailType = R\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar resolvedType Class\n\t\t\tif leadType == trailType {\n\t\t\t\t// Rule N1.\n\t\t\t\tresolvedType = leadType\n\t\t\t} else {\n\t\t\t\t// Rule N2.\n\t\t\t\t// Notice the embedding level of the run is used, not\n\t\t\t\t// the paragraph embedding level.\n\t\t\t\tresolvedType = typeForLevel(s.level)\n\t\t\t}\n\n\t\t\tsetTypes(s.types[runStart:runEnd], resolvedType)\n\n\t\t\t// skip over run of (former) neutrals\n\t\t\ti = runEnd\n\t\t}\n\t}\n}\n\nfunc setLevels(levels []level, newLevel level) {\n\tfor i := range levels {\n\t\tlevels[i] = newLevel\n\t}\n}\n\nfunc setTypes(types []Class, newType Class) {\n\tfor i := range types {\n\t\ttypes[i] = newType\n\t}\n}\n\n// 7) resolving implicit embedding levels Rules I1, I2.\nfunc (s *isolatingRunSequence) resolveImplicitLevels() {\n\n\t// on entry, only these types can be in resultTypes\n\ts.assertOnly(L, R, EN, AN)\n\n\ts.resolvedLevels = make([]level, len(s.types))\n\tsetLevels(s.resolvedLevels, s.level)\n\n\tif (s.level & 1) == 0 { // even level\n\t\tfor i, t := range s.types {\n\t\t\t// Rule I1.\n\t\t\tif t == L {\n\t\t\t\t// no change\n\t\t\t} else if t == R {\n\t\t\t\ts.resolvedLevels[i] += 1\n\t\t\t} else { // t == AN || t == EN\n\t\t\t\ts.resolvedLevels[i] += 2\n\t\t\t}\n\t\t}\n\t} else { // odd level\n\t\tfor i, t := range s.types {\n\t\t\t// Rule I2.\n\t\t\tif t == R {\n\t\t\t\t// no change\n\t\t\t} else { // t == L || t == AN || t == EN\n\t\t\t\ts.resolvedLevels[i] += 1\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Applies the levels and types resolved in rules W1-I2 to the\n// resultLevels array.\nfunc (s *isolatingRunSequence) applyLevelsAndTypes() {\n\tfor i, x := range s.indexes {\n\t\ts.p.resultTypes[x] = s.types[i]\n\t\ts.p.resultLevels[x] = s.resolvedLevels[i]\n\t}\n}\n\n// Return the limit of the run consisting only of the types in validSet\n// starting at index. This checks the value at index, and will return\n// index if that value is not in validSet.\nfunc (s *isolatingRunSequence) findRunLimit(index int, validSet ...Class) int {\nloop:\n\tfor ; index < len(s.types); index++ {\n\t\tt := s.types[index]\n\t\tfor _, valid := range validSet {\n\t\t\tif t == valid {\n\t\t\t\tcontinue loop\n\t\t\t}\n\t\t}\n\t\treturn index // didn't find a match in validSet\n\t}\n\treturn len(s.types)\n}\n\n// Algorithm validation. Assert that all values in types are in the\n// provided set.\nfunc (s *isolatingRunSequence) assertOnly(codes ...Class) {\nloop:\n\tfor i, t := range s.types {\n\t\tfor _, c := range codes {\n\t\t\tif t == c {\n\t\t\t\tcontinue loop\n\t\t\t}\n\t\t}\n\t\tlog.Panicf(\"invalid bidi code %v present in assertOnly at position %d\", t, s.indexes[i])\n\t}\n}\n\n// determineLevelRuns returns an array of level runs. Each level run is\n// described as an array of indexes into the input string.\n//\n// Determines the level runs. Rule X9 will be applied in determining the\n// runs, in the way that makes sure the characters that are supposed to be\n// removed are not included in the runs.\nfunc (p *paragraph) determineLevelRuns() [][]int {\n\trun := []int{}\n\tallRuns := [][]int{}\n\tcurrentLevel := implicitLevel\n\n\tfor i := range p.initialTypes {\n\t\tif !isRemovedByX9(p.initialTypes[i]) {\n\t\t\tif p.resultLevels[i] != currentLevel {\n\t\t\t\t// we just encountered a new run; wrap up last run\n\t\t\t\tif currentLevel >= 0 { // only wrap it up if there was a run\n\t\t\t\t\tallRuns = append(allRuns, run)\n\t\t\t\t\trun = nil\n\t\t\t\t}\n\t\t\t\t// Start new run\n\t\t\t\tcurrentLevel = p.resultLevels[i]\n\t\t\t}\n\t\t\trun = append(run, i)\n\t\t}\n\t}\n\t// Wrap up the final run, if any\n\tif len(run) > 0 {\n\t\tallRuns = append(allRuns, run)\n\t}\n\treturn allRuns\n}\n\n// Definition BD13. Determine isolating run sequences.\nfunc (p *paragraph) determineIsolatingRunSequences() []*isolatingRunSequence {\n\tlevelRuns := p.determineLevelRuns()\n\n\t// Compute the run that each character belongs to\n\trunForCharacter := make([]int, p.Len())\n\tfor i, run := range levelRuns {\n\t\tfor _, index := range run {\n\t\t\trunForCharacter[index] = i\n\t\t}\n\t}\n\n\tsequences := []*isolatingRunSequence{}\n\n\tvar currentRunSequence []int\n\n\tfor _, run := range levelRuns {\n\t\tfirst := run[0]\n\t\tif p.initialTypes[first] != PDI || p.matchingIsolateInitiator[first] == -1 {\n\t\t\tcurrentRunSequence = nil\n\t\t\t// int run = i;\n\t\t\tfor {\n\t\t\t\t// Copy this level run into currentRunSequence\n\t\t\t\tcurrentRunSequence = append(currentRunSequence, run...)\n\n\t\t\t\tlast := currentRunSequence[len(currentRunSequence)-1]\n\t\t\t\tlastT := p.initialTypes[last]\n\t\t\t\tif lastT.in(LRI, RLI, FSI) && p.matchingPDI[last] != p.Len() {\n\t\t\t\t\trun = levelRuns[runForCharacter[p.matchingPDI[last]]]\n\t\t\t\t} else {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tsequences = append(sequences, p.isolatingRunSequence(currentRunSequence))\n\t\t}\n\t}\n\treturn sequences\n}\n\n// Assign level information to characters removed by rule X9. This is for\n// ease of relating the level information to the original input data. Note\n// that the levels assigned to these codes are arbitrary, they're chosen so\n// as to avoid breaking level runs.\nfunc (p *paragraph) assignLevelsToCharactersRemovedByX9() {\n\tfor i, t := range p.initialTypes {\n\t\tif t.in(LRE, RLE, LRO, RLO, PDF, BN) {\n\t\t\tp.resultTypes[i] = t\n\t\t\tp.resultLevels[i] = -1\n\t\t}\n\t}\n\t// now propagate forward the levels information (could have\n\t// propagated backward, the main thing is not to introduce a level\n\t// break where one doesn't already exist).\n\n\tif p.resultLevels[0] == -1 {\n\t\tp.resultLevels[0] = p.embeddingLevel\n\t}\n\tfor i := 1; i < len(p.initialTypes); i++ {\n\t\tif p.resultLevels[i] == -1 {\n\t\t\tp.resultLevels[i] = p.resultLevels[i-1]\n\t\t}\n\t}\n\t// Embedding information is for informational purposes only so need not be\n\t// adjusted.\n}\n\n//\n// Output\n//\n\n// getLevels computes levels array breaking lines at offsets in linebreaks.\n// Rule L1.\n//\n// The linebreaks array must include at least one value. The values must be\n// in strictly increasing order (no duplicates) between 1 and the length of\n// the text, inclusive. The last value must be the length of the text.\nfunc (p *paragraph) getLevels(linebreaks []int) []level {\n\t// Note that since the previous processing has removed all\n\t// P, S, and WS values from resultTypes, the values referred to\n\t// in these rules are the initial types, before any processing\n\t// has been applied (including processing of overrides).\n\t//\n\t// This example implementation has reinserted explicit format codes\n\t// and BN, in order that the levels array correspond to the\n\t// initial text. Their final placement is not normative.\n\t// These codes are treated like WS in this implementation,\n\t// so they don't interrupt sequences of WS.\n\n\tvalidateLineBreaks(linebreaks, p.Len())\n\n\tresult := append([]level(nil), p.resultLevels...)\n\n\t// don't worry about linebreaks since if there is a break within\n\t// a series of WS values preceding S, the linebreak itself\n\t// causes the reset.\n\tfor i, t := range p.initialTypes {\n\t\tif t.in(B, S) {\n\t\t\t// Rule L1, clauses one and two.\n\t\t\tresult[i] = p.embeddingLevel\n\n\t\t\t// Rule L1, clause three.\n\t\t\tfor j := i - 1; j >= 0; j-- {\n\t\t\t\tif isWhitespace(p.initialTypes[j]) { // including format codes\n\t\t\t\t\tresult[j] = p.embeddingLevel\n\t\t\t\t} else {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Rule L1, clause four.\n\tstart := 0\n\tfor _, limit := range linebreaks {\n\t\tfor j := limit - 1; j >= start; j-- {\n\t\t\tif isWhitespace(p.initialTypes[j]) { // including format codes\n\t\t\t\tresult[j] = p.embeddingLevel\n\t\t\t} else {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tstart = limit\n\t}\n\n\treturn result\n}\n\n// getReordering returns the reordering of lines from a visual index to a\n// logical index for line breaks at the given offsets.\n//\n// Lines are concatenated from left to right. So for example, the fifth\n// character from the left on the third line is\n//\n// \t\tgetReordering(linebreaks)[linebreaks[1] + 4]\n//\n// (linebreaks[1] is the position after the last character of the second\n// line, which is also the index of the first character on the third line,\n// and adding four gets the fifth character from the left).\n//\n// The linebreaks array must include at least one value. The values must be\n// in strictly increasing order (no duplicates) between 1 and the length of\n// the text, inclusive. The last value must be the length of the text.\nfunc (p *paragraph) getReordering(linebreaks []int) []int {\n\tvalidateLineBreaks(linebreaks, p.Len())\n\n\treturn computeMultilineReordering(p.getLevels(linebreaks), linebreaks)\n}\n\n// Return multiline reordering array for a given level array. Reordering\n// does not occur across a line break.\nfunc computeMultilineReordering(levels []level, linebreaks []int) []int {\n\tresult := make([]int, len(levels))\n\n\tstart := 0\n\tfor _, limit := range linebreaks {\n\t\ttempLevels := make([]level, limit-start)\n\t\tcopy(tempLevels, levels[start:])\n\n\t\tfor j, order := range computeReordering(tempLevels) {\n\t\t\tresult[start+j] = order + start\n\t\t}\n\t\tstart = limit\n\t}\n\treturn result\n}\n\n// Return reordering array for a given level array. This reorders a single\n// line. The reordering is a visual to logical map. For example, the\n// leftmost char is string.charAt(order[0]). Rule L2.\nfunc computeReordering(levels []level) []int {\n\tresult := make([]int, len(levels))\n\t// initialize order\n\tfor i := range result {\n\t\tresult[i] = i\n\t}\n\n\t// locate highest level found on line.\n\t// Note the rules say text, but no reordering across line bounds is\n\t// performed, so this is sufficient.\n\thighestLevel := level(0)\n\tlowestOddLevel := level(maxDepth + 2)\n\tfor _, level := range levels {\n\t\tif level > highestLevel {\n\t\t\thighestLevel = level\n\t\t}\n\t\tif level&1 != 0 && level < lowestOddLevel {\n\t\t\tlowestOddLevel = level\n\t\t}\n\t}\n\n\tfor level := highestLevel; level >= lowestOddLevel; level-- {\n\t\tfor i := 0; i < len(levels); i++ {\n\t\t\tif levels[i] >= level {\n\t\t\t\t// find range of text at or above this level\n\t\t\t\tstart := i\n\t\t\t\tlimit := i + 1\n\t\t\t\tfor limit < len(levels) && levels[limit] >= level {\n\t\t\t\t\tlimit++\n\t\t\t\t}\n\n\t\t\t\tfor j, k := start, limit-1; j < k; j, k = j+1, k-1 {\n\t\t\t\t\tresult[j], result[k] = result[k], result[j]\n\t\t\t\t}\n\t\t\t\t// skip to end of level run\n\t\t\t\ti = limit\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result\n}\n\n// isWhitespace reports whether the type is considered a whitespace type for the\n// line break rules.\nfunc isWhitespace(c Class) bool {\n\tswitch c {\n\tcase LRE, RLE, LRO, RLO, PDF, LRI, RLI, FSI, PDI, BN, WS:\n\t\treturn true\n\t}\n\treturn false\n}\n\n// isRemovedByX9 reports whether the type is one of the types removed in X9.\nfunc isRemovedByX9(c Class) bool {\n\tswitch c {\n\tcase LRE, RLE, LRO, RLO, PDF, BN:\n\t\treturn true\n\t}\n\treturn false\n}\n\n// typeForLevel reports the strong type (L or R) corresponding to the level.\nfunc typeForLevel(level level) Class {\n\tif (level & 0x1) == 0 {\n\t\treturn L\n\t}\n\treturn R\n}\n\n// TODO: change validation to not panic\n\nfunc validateTypes(types []Class) {\n\tif len(types) == 0 {\n\t\tlog.Panic(\"types is null\")\n\t}\n\tfor i, t := range types[:len(types)-1] {\n\t\tif t == B {\n\t\t\tlog.Panicf(\"B type before end of paragraph at index: %d\", i)\n\t\t}\n\t}\n}\n\nfunc validateParagraphEmbeddingLevel(embeddingLevel level) {\n\tif embeddingLevel != implicitLevel &&\n\t\tembeddingLevel != 0 &&\n\t\tembeddingLevel != 1 {\n\t\tlog.Panicf(\"illegal paragraph embedding level: %d\", embeddingLevel)\n\t}\n}\n\nfunc validateLineBreaks(linebreaks []int, textLength int) {\n\tprev := 0\n\tfor i, next := range linebreaks {\n\t\tif next <= prev {\n\t\t\tlog.Panicf(\"bad linebreak: %d at index: %d\", next, i)\n\t\t}\n\t\tprev = next\n\t}\n\tif prev != textLength {\n\t\tlog.Panicf(\"last linebreak was %d, want %d\", prev, textLength)\n\t}\n}\n\nfunc validatePbTypes(pairTypes []bracketType) {\n\tif len(pairTypes) == 0 {\n\t\tlog.Panic(\"pairTypes is null\")\n\t}\n\tfor i, pt := range pairTypes {\n\t\tswitch pt {\n\t\tcase bpNone, bpOpen, bpClose:\n\t\tdefault:\n\t\t\tlog.Panicf(\"illegal pairType value at %d: %v\", i, pairTypes[i])\n\t\t}\n\t}\n}\n\nfunc validatePbValues(pairValues []rune, pairTypes []bracketType) {\n\tif pairValues == nil {\n\t\tlog.Panic(\"pairValues is null\")\n\t}\n\tif len(pairTypes) != len(pairValues) {\n\t\tlog.Panic(\"pairTypes is different length from pairValues\")\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/gen.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\nimport (\n\t\"flag\"\n\t\"log\"\n\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/internal/triegen\"\n\t\"golang.org/x/text/internal/ucd\"\n)\n\nvar outputFile = flag.String(\"out\", \"tables.go\", \"output file\")\n\nfunc main() {\n\tgen.Init()\n\tgen.Repackage(\"gen_trieval.go\", \"trieval.go\", \"bidi\")\n\tgen.Repackage(\"gen_ranges.go\", \"ranges_test.go\", \"bidi\")\n\n\tgenTables()\n}\n\n// bidiClass names and codes taken from class \"bc\" in\n// http://www.unicode.org/Public/8.0.0/ucd/PropertyValueAliases.txt\nvar bidiClass = map[string]Class{\n\t\"AL\":  AL,  // ArabicLetter\n\t\"AN\":  AN,  // ArabicNumber\n\t\"B\":   B,   // ParagraphSeparator\n\t\"BN\":  BN,  // BoundaryNeutral\n\t\"CS\":  CS,  // CommonSeparator\n\t\"EN\":  EN,  // EuropeanNumber\n\t\"ES\":  ES,  // EuropeanSeparator\n\t\"ET\":  ET,  // EuropeanTerminator\n\t\"L\":   L,   // LeftToRight\n\t\"NSM\": NSM, // NonspacingMark\n\t\"ON\":  ON,  // OtherNeutral\n\t\"R\":   R,   // RightToLeft\n\t\"S\":   S,   // SegmentSeparator\n\t\"WS\":  WS,  // WhiteSpace\n\n\t\"FSI\": Control,\n\t\"PDF\": Control,\n\t\"PDI\": Control,\n\t\"LRE\": Control,\n\t\"LRI\": Control,\n\t\"LRO\": Control,\n\t\"RLE\": Control,\n\t\"RLI\": Control,\n\t\"RLO\": Control,\n}\n\nfunc genTables() {\n\tif numClass > 0x0F {\n\t\tlog.Fatalf(\"Too many Class constants (%#x > 0x0F).\", numClass)\n\t}\n\tw := gen.NewCodeWriter()\n\tdefer w.WriteVersionedGoFile(*outputFile, \"bidi\")\n\n\tgen.WriteUnicodeVersion(w)\n\n\tt := triegen.NewTrie(\"bidi\")\n\n\t// Build data about bracket mapping. These bits need to be or-ed with\n\t// any other bits.\n\torMask := map[rune]uint64{}\n\n\txorMap := map[rune]int{}\n\txorMasks := []rune{0} // First value is no-op.\n\n\tucd.Parse(gen.OpenUCDFile(\"BidiBrackets.txt\"), func(p *ucd.Parser) {\n\t\tr1 := p.Rune(0)\n\t\tr2 := p.Rune(1)\n\t\txor := r1 ^ r2\n\t\tif _, ok := xorMap[xor]; !ok {\n\t\t\txorMap[xor] = len(xorMasks)\n\t\t\txorMasks = append(xorMasks, xor)\n\t\t}\n\t\tentry := uint64(xorMap[xor]) << xorMaskShift\n\t\tswitch p.String(2) {\n\t\tcase \"o\":\n\t\t\tentry |= openMask\n\t\tcase \"c\", \"n\":\n\t\tdefault:\n\t\t\tlog.Fatalf(\"Unknown bracket class %q.\", p.String(2))\n\t\t}\n\t\torMask[r1] = entry\n\t})\n\n\tw.WriteComment(`\n\txorMasks contains masks to be xor-ed with brackets to get the reverse\n\tversion.`)\n\tw.WriteVar(\"xorMasks\", xorMasks)\n\n\tdone := map[rune]bool{}\n\n\tinsert := func(r rune, c Class) {\n\t\tif !done[r] {\n\t\t\tt.Insert(r, orMask[r]|uint64(c))\n\t\t\tdone[r] = true\n\t\t}\n\t}\n\n\t// Insert the derived BiDi properties.\n\tucd.Parse(gen.OpenUCDFile(\"extracted/DerivedBidiClass.txt\"), func(p *ucd.Parser) {\n\t\tr := p.Rune(0)\n\t\tclass, ok := bidiClass[p.String(1)]\n\t\tif !ok {\n\t\t\tlog.Fatalf(\"%U: Unknown BiDi class %q\", r, p.String(1))\n\t\t}\n\t\tinsert(r, class)\n\t})\n\tvisitDefaults(insert)\n\n\t// TODO: use sparse blocks. This would reduce table size considerably\n\t// from the looks of it.\n\n\tsz, err := t.Gen(w)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tw.Size += sz\n}\n\n// dummy values to make methods in gen_common compile. The real versions\n// will be generated by this file to tables.go.\nvar (\n\txorMasks []rune\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/gen_ranges.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\nimport (\n\t\"unicode\"\n\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/internal/ucd\"\n\t\"golang.org/x/text/unicode/rangetable\"\n)\n\n// These tables are hand-extracted from:\n// http://www.unicode.org/Public/8.0.0/ucd/extracted/DerivedBidiClass.txt\nfunc visitDefaults(fn func(r rune, c Class)) {\n\t// first write default values for ranges listed above.\n\tvisitRunes(fn, AL, []rune{\n\t\t0x0600, 0x07BF, // Arabic\n\t\t0x08A0, 0x08FF, // Arabic Extended-A\n\t\t0xFB50, 0xFDCF, // Arabic Presentation Forms\n\t\t0xFDF0, 0xFDFF,\n\t\t0xFE70, 0xFEFF,\n\t\t0x0001EE00, 0x0001EEFF, // Arabic Mathematical Alpha Symbols\n\t})\n\tvisitRunes(fn, R, []rune{\n\t\t0x0590, 0x05FF, // Hebrew\n\t\t0x07C0, 0x089F, // Nko et al.\n\t\t0xFB1D, 0xFB4F,\n\t\t0x00010800, 0x00010FFF, // Cypriot Syllabary et. al.\n\t\t0x0001E800, 0x0001EDFF,\n\t\t0x0001EF00, 0x0001EFFF,\n\t})\n\tvisitRunes(fn, ET, []rune{ // European Terminator\n\t\t0x20A0, 0x20Cf, // Currency symbols\n\t})\n\trangetable.Visit(unicode.Noncharacter_Code_Point, func(r rune) {\n\t\tfn(r, BN) // Boundary Neutral\n\t})\n\tucd.Parse(gen.OpenUCDFile(\"DerivedCoreProperties.txt\"), func(p *ucd.Parser) {\n\t\tif p.String(1) == \"Default_Ignorable_Code_Point\" {\n\t\t\tfn(p.Rune(0), BN) // Boundary Neutral\n\t\t}\n\t})\n}\n\nfunc visitRunes(fn func(r rune, c Class), c Class, runes []rune) {\n\tfor i := 0; i < len(runes); i += 2 {\n\t\tlo, hi := runes[i], runes[i+1]\n\t\tfor j := lo; j <= hi; j++ {\n\t\t\tfn(j, c)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/gen_trieval.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\n// Class is the Unicode BiDi class. Each rune has a single class.\ntype Class uint\n\nconst (\n\tL       Class = iota // LeftToRight\n\tR                    // RightToLeft\n\tEN                   // EuropeanNumber\n\tES                   // EuropeanSeparator\n\tET                   // EuropeanTerminator\n\tAN                   // ArabicNumber\n\tCS                   // CommonSeparator\n\tB                    // ParagraphSeparator\n\tS                    // SegmentSeparator\n\tWS                   // WhiteSpace\n\tON                   // OtherNeutral\n\tBN                   // BoundaryNeutral\n\tNSM                  // NonspacingMark\n\tAL                   // ArabicLetter\n\tControl              // Control LRO - PDI\n\n\tnumClass\n\n\tLRO // LeftToRightOverride\n\tRLO // RightToLeftOverride\n\tLRE // LeftToRightEmbedding\n\tRLE // RightToLeftEmbedding\n\tPDF // PopDirectionalFormat\n\tLRI // LeftToRightIsolate\n\tRLI // RightToLeftIsolate\n\tFSI // FirstStrongIsolate\n\tPDI // PopDirectionalIsolate\n\n\tunknownClass = ^Class(0)\n)\n\nvar controlToClass = map[rune]Class{\n\t0x202D: LRO, // LeftToRightOverride,\n\t0x202E: RLO, // RightToLeftOverride,\n\t0x202A: LRE, // LeftToRightEmbedding,\n\t0x202B: RLE, // RightToLeftEmbedding,\n\t0x202C: PDF, // PopDirectionalFormat,\n\t0x2066: LRI, // LeftToRightIsolate,\n\t0x2067: RLI, // RightToLeftIsolate,\n\t0x2068: FSI, // FirstStrongIsolate,\n\t0x2069: PDI, // PopDirectionalIsolate,\n}\n\n// A trie entry has the following bits:\n// 7..5  XOR mask for brackets\n// 4     1: Bracket open, 0: Bracket close\n// 3..0  Class type\n\nconst (\n\topenMask     = 0x10\n\txorMaskShift = 5\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/prop.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage bidi\n\nimport \"unicode/utf8\"\n\n// Properties provides access to BiDi properties of runes.\ntype Properties struct {\n\tentry uint8\n\tlast  uint8\n}\n\nvar trie = newBidiTrie(0)\n\n// TODO: using this for bidirule reduces the running time by about 5%. Consider\n// if this is worth exposing or if we can find a way to speed up the Class\n// method.\n//\n// // CompactClass is like Class, but maps all of the BiDi control classes\n// // (LRO, RLO, LRE, RLE, PDF, LRI, RLI, FSI, PDI) to the class Control.\n// func (p Properties) CompactClass() Class {\n// \treturn Class(p.entry & 0x0F)\n// }\n\n// Class returns the Bidi class for p.\nfunc (p Properties) Class() Class {\n\tc := Class(p.entry & 0x0F)\n\tif c == Control {\n\t\tc = controlByteToClass[p.last&0xF]\n\t}\n\treturn c\n}\n\n// IsBracket reports whether the rune is a bracket.\nfunc (p Properties) IsBracket() bool { return p.entry&0xF0 != 0 }\n\n// IsOpeningBracket reports whether the rune is an opening bracket.\n// IsBracket must return true.\nfunc (p Properties) IsOpeningBracket() bool { return p.entry&openMask != 0 }\n\n// TODO: find a better API and expose.\nfunc (p Properties) reverseBracket(r rune) rune {\n\treturn xorMasks[p.entry>>xorMaskShift] ^ r\n}\n\nvar controlByteToClass = [16]Class{\n\t0xD: LRO, // U+202D LeftToRightOverride,\n\t0xE: RLO, // U+202E RightToLeftOverride,\n\t0xA: LRE, // U+202A LeftToRightEmbedding,\n\t0xB: RLE, // U+202B RightToLeftEmbedding,\n\t0xC: PDF, // U+202C PopDirectionalFormat,\n\t0x6: LRI, // U+2066 LeftToRightIsolate,\n\t0x7: RLI, // U+2067 RightToLeftIsolate,\n\t0x8: FSI, // U+2068 FirstStrongIsolate,\n\t0x9: PDI, // U+2069 PopDirectionalIsolate,\n}\n\n// LookupRune returns properties for r.\nfunc LookupRune(r rune) (p Properties, size int) {\n\tvar buf [4]byte\n\tn := utf8.EncodeRune(buf[:], r)\n\treturn Lookup(buf[:n])\n}\n\n// TODO: these lookup methods are based on the generated trie code. The returned\n// sizes have slightly different semantics from the generated code, in that it\n// always returns size==1 for an illegal UTF-8 byte (instead of the length\n// of the maximum invalid subsequence). Most Transformers, like unicode/norm,\n// leave invalid UTF-8 untouched, in which case it has performance benefits to\n// do so (without changing the semantics). Bidi requires the semantics used here\n// for the bidirule implementation to be compatible with the Go semantics.\n//  They ultimately should perhaps be adopted by all trie implementations, for\n// convenience sake.\n// This unrolled code also boosts performance of the secure/bidirule package by\n// about 30%.\n// So, to remove this code:\n//   - add option to trie generator to define return type.\n//   - always return 1 byte size for ill-formed UTF-8 runes.\n\n// Lookup returns properties for the first rune in s and the width in bytes of\n// its encoding. The size will be 0 if s does not hold enough bytes to complete\n// the encoding.\nfunc Lookup(s []byte) (p Properties, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn Properties{entry: bidiValues[c0]}, 1\n\tcase c0 < 0xC2:\n\t\treturn Properties{}, 1\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn Properties{}, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\treturn Properties{entry: trie.lookupValue(uint32(i), c1)}, 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn Properties{}, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\treturn Properties{entry: trie.lookupValue(uint32(i), c2), last: c2}, 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn Properties{}, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = bidiIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\treturn Properties{entry: trie.lookupValue(uint32(i), c3)}, 4\n\t}\n\t// Illegal rune\n\treturn Properties{}, 1\n}\n\n// LookupString returns properties for the first rune in s and the width in\n// bytes of its encoding. The size will be 0 if s does not hold enough bytes to\n// complete the encoding.\nfunc LookupString(s string) (p Properties, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn Properties{entry: bidiValues[c0]}, 1\n\tcase c0 < 0xC2:\n\t\treturn Properties{}, 1\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn Properties{}, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\treturn Properties{entry: trie.lookupValue(uint32(i), c1)}, 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn Properties{}, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\treturn Properties{entry: trie.lookupValue(uint32(i), c2), last: c2}, 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn Properties{}, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = bidiIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\treturn Properties{entry: trie.lookupValue(uint32(i), c3)}, 4\n\t}\n\t// Illegal rune\n\treturn Properties{}, 1\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// +build go1.10\n\npackage bidi\n\n// UnicodeVersion is the Unicode version from which the tables in this package are derived.\nconst UnicodeVersion = \"10.0.0\"\n\n// xorMasks contains masks to be xor-ed with brackets to get the reverse\n// version.\nvar xorMasks = []int32{ // 8 elements\n\t0, 1, 6, 7, 3, 15, 29, 63,\n} // Size: 56 bytes\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *bidiTrie) lookup(s []byte) (v uint8, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn bidiValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = bidiIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *bidiTrie) lookupUnsafe(s []byte) uint8 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn bidiValues[c0]\n\t}\n\ti := bidiIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *bidiTrie) lookupString(s string) (v uint8, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn bidiValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = bidiIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *bidiTrie) lookupStringUnsafe(s string) uint8 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn bidiValues[c0]\n\t}\n\ti := bidiIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// bidiTrie. Total size: 16128 bytes (15.75 KiB). Checksum: 8122d83e461996f.\ntype bidiTrie struct{}\n\nfunc newBidiTrie(i int) *bidiTrie {\n\treturn &bidiTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *bidiTrie) lookupValue(n uint32, b byte) uint8 {\n\tswitch {\n\tdefault:\n\t\treturn uint8(bidiValues[n<<6+uint32(b)])\n\t}\n}\n\n// bidiValues: 228 blocks, 14592 entries, 14592 bytes\n// The third block is the zero block.\nvar bidiValues = [14592]uint8{\n\t// Block 0x0, offset 0x0\n\t0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b,\n\t0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008,\n\t0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b,\n\t0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b,\n\t0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007,\n\t0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004,\n\t0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a,\n\t0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006,\n\t0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002,\n\t0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a,\n\t0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a,\n\t// Block 0x1, offset 0x40\n\t0x40: 0x000a,\n\t0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a,\n\t0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a,\n\t0x7b: 0x005a,\n\t0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007,\n\t0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b,\n\t0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b,\n\t0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b,\n\t0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b,\n\t0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004,\n\t0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a,\n\t0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a,\n\t0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a,\n\t0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a,\n\t0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a,\n\t// Block 0x4, offset 0x100\n\t0x117: 0x000a,\n\t0x137: 0x000a,\n\t// Block 0x5, offset 0x140\n\t0x179: 0x000a, 0x17a: 0x000a,\n\t// Block 0x6, offset 0x180\n\t0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a,\n\t0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a,\n\t0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a,\n\t0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a,\n\t0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a,\n\t0x19e: 0x000a, 0x19f: 0x000a,\n\t0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a,\n\t0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a,\n\t0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a,\n\t0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a,\n\t0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c,\n\t0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c,\n\t0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c,\n\t0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c,\n\t0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c,\n\t0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c,\n\t0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c,\n\t0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c,\n\t0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c,\n\t0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c,\n\t0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c,\n\t0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c,\n\t0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c,\n\t0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c,\n\t0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c,\n\t0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c,\n\t0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c,\n\t0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c,\n\t0x234: 0x000a, 0x235: 0x000a,\n\t0x23e: 0x000a,\n\t// Block 0x9, offset 0x240\n\t0x244: 0x000a, 0x245: 0x000a,\n\t0x247: 0x000a,\n\t// Block 0xa, offset 0x280\n\t0x2b6: 0x000a,\n\t// Block 0xb, offset 0x2c0\n\t0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c,\n\t0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c,\n\t// Block 0xc, offset 0x300\n\t0x30a: 0x000a,\n\t0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c,\n\t0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c,\n\t0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c,\n\t0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c,\n\t0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c,\n\t0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c,\n\t0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c,\n\t0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c,\n\t0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c,\n\t// Block 0xd, offset 0x340\n\t0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c,\n\t0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001,\n\t0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001,\n\t0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001,\n\t0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001,\n\t0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001,\n\t0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001,\n\t0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001,\n\t0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001,\n\t0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001,\n\t0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001,\n\t// Block 0xe, offset 0x380\n\t0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005,\n\t0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d,\n\t0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c,\n\t0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c,\n\t0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d,\n\t0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d,\n\t0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d,\n\t0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d,\n\t0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d,\n\t0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d,\n\t0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d,\n\t// Block 0xf, offset 0x3c0\n\t0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d,\n\t0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c,\n\t0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c,\n\t0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c,\n\t0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c,\n\t0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005,\n\t0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005,\n\t0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d,\n\t0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d,\n\t0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d,\n\t0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d,\n\t// Block 0x10, offset 0x400\n\t0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d,\n\t0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d,\n\t0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d,\n\t0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d,\n\t0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d,\n\t0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d,\n\t0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d,\n\t0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d,\n\t0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d,\n\t0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d,\n\t0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d,\n\t0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d,\n\t0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d,\n\t0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c,\n\t0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005,\n\t0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c,\n\t0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a,\n\t0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d,\n\t0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002,\n\t0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d,\n\t0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d,\n\t// Block 0x12, offset 0x480\n\t0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d,\n\t0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d,\n\t0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c,\n\t0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d,\n\t0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d,\n\t0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d,\n\t0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d,\n\t0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d,\n\t0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c,\n\t0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c,\n\t0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c,\n\t0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d,\n\t0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d,\n\t0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d,\n\t0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d,\n\t0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d,\n\t0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d,\n\t0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d,\n\t0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d,\n\t0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d,\n\t0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d,\n\t0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d,\n\t0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d,\n\t0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d,\n\t0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d,\n\t0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d,\n\t0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c,\n\t0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c,\n\t0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d,\n\t0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d,\n\t0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001,\n\t0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001,\n\t0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001,\n\t0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001,\n\t0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001,\n\t0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001,\n\t0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001,\n\t0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c,\n\t0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001,\n\t0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001,\n\t0x57c: 0x0001, 0x57d: 0x0001, 0x57e: 0x0001, 0x57f: 0x0001,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001,\n\t0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001,\n\t0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001,\n\t0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c,\n\t0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c,\n\t0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c,\n\t0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c,\n\t0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001,\n\t0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001,\n\t0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001,\n\t0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001,\n\t0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001,\n\t0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001,\n\t0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001,\n\t0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001,\n\t0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d,\n\t0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d,\n\t0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d,\n\t0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001,\n\t0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001,\n\t0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001,\n\t0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001,\n\t0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001,\n\t0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001,\n\t0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001,\n\t0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d,\n\t0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d,\n\t0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d,\n\t0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d,\n\t0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d,\n\t0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d,\n\t0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d,\n\t0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d,\n\t0x652: 0x000d, 0x653: 0x000d, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c,\n\t0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c,\n\t0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c,\n\t0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c,\n\t0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c,\n\t0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c,\n\t0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c,\n\t0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c,\n\t0x6ba: 0x000c,\n\t0x6bc: 0x000c,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c,\n\t0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c,\n\t0x6cd: 0x000c, 0x6d1: 0x000c,\n\t0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c,\n\t0x6e2: 0x000c, 0x6e3: 0x000c,\n\t// Block 0x1c, offset 0x700\n\t0x701: 0x000c,\n\t0x73c: 0x000c,\n\t// Block 0x1d, offset 0x740\n\t0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c,\n\t0x74d: 0x000c,\n\t0x762: 0x000c, 0x763: 0x000c,\n\t0x772: 0x0004, 0x773: 0x0004,\n\t0x77b: 0x0004,\n\t// Block 0x1e, offset 0x780\n\t0x781: 0x000c, 0x782: 0x000c,\n\t0x7bc: 0x000c,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c1: 0x000c, 0x7c2: 0x000c,\n\t0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c,\n\t0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c,\n\t0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c,\n\t// Block 0x20, offset 0x800\n\t0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c,\n\t0x807: 0x000c, 0x808: 0x000c,\n\t0x80d: 0x000c,\n\t0x822: 0x000c, 0x823: 0x000c,\n\t0x831: 0x0004,\n\t0x83a: 0x000c, 0x83b: 0x000c,\n\t0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c,\n\t// Block 0x21, offset 0x840\n\t0x841: 0x000c,\n\t0x87c: 0x000c, 0x87f: 0x000c,\n\t// Block 0x22, offset 0x880\n\t0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c,\n\t0x88d: 0x000c,\n\t0x896: 0x000c,\n\t0x8a2: 0x000c, 0x8a3: 0x000c,\n\t// Block 0x23, offset 0x8c0\n\t0x8c2: 0x000c,\n\t// Block 0x24, offset 0x900\n\t0x900: 0x000c,\n\t0x90d: 0x000c,\n\t0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a,\n\t0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a,\n\t// Block 0x25, offset 0x940\n\t0x940: 0x000c,\n\t0x97e: 0x000c, 0x97f: 0x000c,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x000c,\n\t0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c,\n\t0x98c: 0x000c, 0x98d: 0x000c,\n\t0x995: 0x000c, 0x996: 0x000c,\n\t0x9a2: 0x000c, 0x9a3: 0x000c,\n\t0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a,\n\t0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a,\n\t// Block 0x27, offset 0x9c0\n\t0x9cc: 0x000c, 0x9cd: 0x000c,\n\t0x9e2: 0x000c, 0x9e3: 0x000c,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x000c, 0xa01: 0x000c,\n\t0xa3b: 0x000c,\n\t0xa3c: 0x000c,\n\t// Block 0x29, offset 0xa40\n\t0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c,\n\t0xa4d: 0x000c,\n\t0xa62: 0x000c, 0xa63: 0x000c,\n\t// Block 0x2a, offset 0xa80\n\t0xa8a: 0x000c,\n\t0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c,\n\t// Block 0x2b, offset 0xac0\n\t0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c,\n\t0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c,\n\t0xaff: 0x0004,\n\t// Block 0x2c, offset 0xb00\n\t0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c,\n\t0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c,\n\t// Block 0x2d, offset 0xb40\n\t0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c,\n\t0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7b: 0x000c,\n\t0xb7c: 0x000c,\n\t// Block 0x2e, offset 0xb80\n\t0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c,\n\t0xb8c: 0x000c, 0xb8d: 0x000c,\n\t// Block 0x2f, offset 0xbc0\n\t0xbd8: 0x000c, 0xbd9: 0x000c,\n\t0xbf5: 0x000c,\n\t0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a,\n\t0xbfc: 0x003a, 0xbfd: 0x002a,\n\t// Block 0x30, offset 0xc00\n\t0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c,\n\t0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c,\n\t0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c,\n\t// Block 0x31, offset 0xc40\n\t0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c,\n\t0xc46: 0x000c, 0xc47: 0x000c,\n\t0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c,\n\t0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c,\n\t0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c,\n\t0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c,\n\t0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c,\n\t0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c,\n\t0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c,\n\t0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c,\n\t0xc7c: 0x000c,\n\t// Block 0x32, offset 0xc80\n\t0xc86: 0x000c,\n\t// Block 0x33, offset 0xcc0\n\t0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c,\n\t0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c,\n\t0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c,\n\t0xcfd: 0x000c, 0xcfe: 0x000c,\n\t// Block 0x34, offset 0xd00\n\t0xd18: 0x000c, 0xd19: 0x000c,\n\t0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c,\n\t0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c,\n\t// Block 0x35, offset 0xd40\n\t0xd42: 0x000c, 0xd45: 0x000c,\n\t0xd46: 0x000c,\n\t0xd4d: 0x000c,\n\t0xd5d: 0x000c,\n\t// Block 0x36, offset 0xd80\n\t0xd9d: 0x000c,\n\t0xd9e: 0x000c, 0xd9f: 0x000c,\n\t// Block 0x37, offset 0xdc0\n\t0xdd0: 0x000a, 0xdd1: 0x000a,\n\t0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a,\n\t0xdd8: 0x000a, 0xdd9: 0x000a,\n\t// Block 0x38, offset 0xe00\n\t0xe00: 0x000a,\n\t// Block 0x39, offset 0xe40\n\t0xe40: 0x0009,\n\t0xe5b: 0x007a, 0xe5c: 0x006a,\n\t// Block 0x3a, offset 0xe80\n\t0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c,\n\t0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c,\n\t// Block 0x3b, offset 0xec0\n\t0xed2: 0x000c, 0xed3: 0x000c,\n\t0xef2: 0x000c, 0xef3: 0x000c,\n\t// Block 0x3c, offset 0xf00\n\t0xf34: 0x000c, 0xf35: 0x000c,\n\t0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c,\n\t0xf3c: 0x000c, 0xf3d: 0x000c,\n\t// Block 0x3d, offset 0xf40\n\t0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c,\n\t0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c,\n\t0xf52: 0x000c, 0xf53: 0x000c,\n\t0xf5b: 0x0004, 0xf5d: 0x000c,\n\t0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a,\n\t0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a,\n\t// Block 0x3e, offset 0xf80\n\t0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a,\n\t0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c,\n\t0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b,\n\t// Block 0x3f, offset 0xfc0\n\t0xfc5: 0x000c,\n\t0xfc6: 0x000c,\n\t0xfe9: 0x000c,\n\t// Block 0x40, offset 0x1000\n\t0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c,\n\t0x1027: 0x000c, 0x1028: 0x000c,\n\t0x1032: 0x000c,\n\t0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c,\n\t// Block 0x41, offset 0x1040\n\t0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a,\n\t// Block 0x42, offset 0x1080\n\t0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a,\n\t0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a,\n\t0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a,\n\t0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a,\n\t0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a,\n\t0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a,\n\t// Block 0x43, offset 0x10c0\n\t0x10d7: 0x000c,\n\t0x10d8: 0x000c, 0x10db: 0x000c,\n\t// Block 0x44, offset 0x1100\n\t0x1116: 0x000c,\n\t0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c,\n\t0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c,\n\t0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c,\n\t0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c,\n\t0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c,\n\t0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c,\n\t0x113c: 0x000c, 0x113f: 0x000c,\n\t// Block 0x45, offset 0x1140\n\t0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c,\n\t0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c,\n\t0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c,\n\t// Block 0x46, offset 0x1180\n\t0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c,\n\t0x11b4: 0x000c,\n\t0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c,\n\t0x11bc: 0x000c,\n\t// Block 0x47, offset 0x11c0\n\t0x11c2: 0x000c,\n\t0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c,\n\t0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0x000c, 0x1201: 0x000c,\n\t0x1222: 0x000c, 0x1223: 0x000c,\n\t0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c,\n\t0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c,\n\t// Block 0x49, offset 0x1240\n\t0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c,\n\t0x126d: 0x000c, 0x126f: 0x000c,\n\t0x1270: 0x000c, 0x1271: 0x000c,\n\t// Block 0x4a, offset 0x1280\n\t0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c,\n\t0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c,\n\t0x12b6: 0x000c, 0x12b7: 0x000c,\n\t// Block 0x4b, offset 0x12c0\n\t0x12d0: 0x000c, 0x12d1: 0x000c,\n\t0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c,\n\t0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c,\n\t0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c,\n\t0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c,\n\t0x12ed: 0x000c,\n\t0x12f4: 0x000c,\n\t0x12f8: 0x000c, 0x12f9: 0x000c,\n\t// Block 0x4c, offset 0x1300\n\t0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c,\n\t0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c,\n\t0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c,\n\t0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c,\n\t0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c,\n\t0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c,\n\t0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c,\n\t0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c,\n\t0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c,\n\t0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c,\n\t0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c,\n\t// Block 0x4d, offset 0x1340\n\t0x137d: 0x000a, 0x137f: 0x000a,\n\t// Block 0x4e, offset 0x1380\n\t0x1380: 0x000a, 0x1381: 0x000a,\n\t0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a,\n\t0x139d: 0x000a,\n\t0x139e: 0x000a, 0x139f: 0x000a,\n\t0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a,\n\t0x13bd: 0x000a, 0x13be: 0x000a,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009,\n\t0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b,\n\t0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a,\n\t0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a,\n\t0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a,\n\t0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a,\n\t0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007,\n\t0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006,\n\t0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a,\n\t0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a,\n\t0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a,\n\t// Block 0x50, offset 0x1400\n\t0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a,\n\t0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a,\n\t0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a,\n\t0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a,\n\t0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a,\n\t0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b,\n\t0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e,\n\t0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b,\n\t0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002,\n\t0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003,\n\t0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a,\n\t// Block 0x51, offset 0x1440\n\t0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002,\n\t0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003,\n\t0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a,\n\t0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004,\n\t0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004,\n\t0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004,\n\t0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004,\n\t0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004,\n\t0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004,\n\t0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004,\n\t0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c,\n\t0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c,\n\t0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c,\n\t0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c,\n\t0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c,\n\t0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c,\n\t0x14b0: 0x000c,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a,\n\t0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a,\n\t0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a,\n\t0x14d8: 0x000a,\n\t0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a,\n\t0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a,\n\t0x14ee: 0x0004,\n\t0x14fa: 0x000a, 0x14fb: 0x000a,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a,\n\t0x150a: 0x000a, 0x150b: 0x000a,\n\t0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a,\n\t0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a,\n\t0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a,\n\t0x151e: 0x000a, 0x151f: 0x000a,\n\t// Block 0x55, offset 0x1540\n\t0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a,\n\t0x1550: 0x000a, 0x1551: 0x000a,\n\t0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a,\n\t0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a,\n\t0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a,\n\t0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a,\n\t0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a,\n\t0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a,\n\t0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a,\n\t0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a,\n\t// Block 0x56, offset 0x1580\n\t0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a,\n\t0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a,\n\t0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a,\n\t0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a,\n\t0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a,\n\t0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a,\n\t0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a,\n\t0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a,\n\t0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a,\n\t0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a,\n\t0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a,\n\t// Block 0x57, offset 0x15c0\n\t0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a,\n\t0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a,\n\t0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a,\n\t0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a,\n\t0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a,\n\t0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a,\n\t0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a,\n\t0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a,\n\t0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a,\n\t0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a,\n\t0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a,\n\t// Block 0x58, offset 0x1600\n\t0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a,\n\t0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a,\n\t0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a,\n\t0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a,\n\t0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a,\n\t0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a,\n\t0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a,\n\t0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a,\n\t0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a,\n\t// Block 0x59, offset 0x1640\n\t0x167b: 0x000a,\n\t0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a,\n\t// Block 0x5a, offset 0x1680\n\t0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a,\n\t0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a,\n\t0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a,\n\t0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a,\n\t0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a,\n\t0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a,\n\t0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a,\n\t0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a,\n\t0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a,\n\t0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a,\n\t0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a,\n\t0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a,\n\t0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a,\n\t0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a,\n\t0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a,\n\t0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a,\n\t0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a,\n\t// Block 0x5c, offset 0x1700\n\t0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a,\n\t0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a,\n\t0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a,\n\t0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a,\n\t0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a,\n\t0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a,\n\t0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a,\n\t0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a,\n\t// Block 0x5d, offset 0x1740\n\t0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a,\n\t0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002,\n\t0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002,\n\t0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002,\n\t0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002,\n\t// Block 0x5e, offset 0x1780\n\t0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a,\n\t0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a,\n\t0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a,\n\t0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a,\n\t// Block 0x5f, offset 0x17c0\n\t0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a,\n\t0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a,\n\t0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a,\n\t0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a,\n\t0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a,\n\t0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a,\n\t0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a,\n\t0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a,\n\t0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a,\n\t0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a,\n\t0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a,\n\t// Block 0x60, offset 0x1800\n\t0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a,\n\t0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a,\n\t0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a,\n\t0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a,\n\t0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a,\n\t0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a,\n\t0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a,\n\t0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a,\n\t0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a,\n\t0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a,\n\t0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a,\n\t// Block 0x61, offset 0x1840\n\t0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a,\n\t0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a,\n\t0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a,\n\t0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a,\n\t0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a,\n\t0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a,\n\t0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a,\n\t0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a,\n\t0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a,\n\t0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a,\n\t0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a,\n\t// Block 0x62, offset 0x1880\n\t0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a,\n\t0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a,\n\t0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a,\n\t0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba,\n\t0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a,\n\t0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a,\n\t0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a,\n\t0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a,\n\t0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a,\n\t0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a,\n\t0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a,\n\t// Block 0x63, offset 0x18c0\n\t0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a,\n\t0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a,\n\t0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a,\n\t0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a,\n\t0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a,\n\t0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a,\n\t0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a,\n\t0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a,\n\t0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a,\n\t0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a,\n\t0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a,\n\t// Block 0x64, offset 0x1900\n\t0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a,\n\t0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a,\n\t0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a,\n\t0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a,\n\t0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a,\n\t0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a,\n\t0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a,\n\t0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a,\n\t0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a,\n\t0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a,\n\t0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a,\n\t// Block 0x65, offset 0x1940\n\t0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a,\n\t0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a,\n\t0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a,\n\t0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a,\n\t0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a,\n\t0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a,\n\t0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a,\n\t0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a,\n\t0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a,\n\t0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a,\n\t0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a,\n\t// Block 0x66, offset 0x1980\n\t0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a,\n\t0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a,\n\t0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a,\n\t0x1992: 0x000a,\n\t0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a,\n\t// Block 0x67, offset 0x19c0\n\t0x19e5: 0x000a, 0x19e6: 0x000a, 0x19e7: 0x000a, 0x19e8: 0x000a, 0x19e9: 0x000a,\n\t0x19ea: 0x000a, 0x19ef: 0x000c,\n\t0x19f0: 0x000c, 0x19f1: 0x000c,\n\t0x19f9: 0x000a, 0x19fa: 0x000a, 0x19fb: 0x000a,\n\t0x19fc: 0x000a, 0x19fd: 0x000a, 0x19fe: 0x000a, 0x19ff: 0x000a,\n\t// Block 0x68, offset 0x1a00\n\t0x1a3f: 0x000c,\n\t// Block 0x69, offset 0x1a40\n\t0x1a60: 0x000c, 0x1a61: 0x000c, 0x1a62: 0x000c, 0x1a63: 0x000c,\n\t0x1a64: 0x000c, 0x1a65: 0x000c, 0x1a66: 0x000c, 0x1a67: 0x000c, 0x1a68: 0x000c, 0x1a69: 0x000c,\n\t0x1a6a: 0x000c, 0x1a6b: 0x000c, 0x1a6c: 0x000c, 0x1a6d: 0x000c, 0x1a6e: 0x000c, 0x1a6f: 0x000c,\n\t0x1a70: 0x000c, 0x1a71: 0x000c, 0x1a72: 0x000c, 0x1a73: 0x000c, 0x1a74: 0x000c, 0x1a75: 0x000c,\n\t0x1a76: 0x000c, 0x1a77: 0x000c, 0x1a78: 0x000c, 0x1a79: 0x000c, 0x1a7a: 0x000c, 0x1a7b: 0x000c,\n\t0x1a7c: 0x000c, 0x1a7d: 0x000c, 0x1a7e: 0x000c, 0x1a7f: 0x000c,\n\t// Block 0x6a, offset 0x1a80\n\t0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a,\n\t0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a,\n\t0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, 0x1a90: 0x000a, 0x1a91: 0x000a,\n\t0x1a92: 0x000a, 0x1a93: 0x000a, 0x1a94: 0x000a, 0x1a95: 0x000a, 0x1a96: 0x000a, 0x1a97: 0x000a,\n\t0x1a98: 0x000a, 0x1a99: 0x000a, 0x1a9a: 0x000a, 0x1a9b: 0x000a, 0x1a9c: 0x000a, 0x1a9d: 0x000a,\n\t0x1a9e: 0x000a, 0x1a9f: 0x000a, 0x1aa0: 0x000a, 0x1aa1: 0x000a, 0x1aa2: 0x003a, 0x1aa3: 0x002a,\n\t0x1aa4: 0x003a, 0x1aa5: 0x002a, 0x1aa6: 0x003a, 0x1aa7: 0x002a, 0x1aa8: 0x003a, 0x1aa9: 0x002a,\n\t0x1aaa: 0x000a, 0x1aab: 0x000a, 0x1aac: 0x000a, 0x1aad: 0x000a, 0x1aae: 0x000a, 0x1aaf: 0x000a,\n\t0x1ab0: 0x000a, 0x1ab1: 0x000a, 0x1ab2: 0x000a, 0x1ab3: 0x000a, 0x1ab4: 0x000a, 0x1ab5: 0x000a,\n\t0x1ab6: 0x000a, 0x1ab7: 0x000a, 0x1ab8: 0x000a, 0x1ab9: 0x000a, 0x1aba: 0x000a, 0x1abb: 0x000a,\n\t0x1abc: 0x000a, 0x1abd: 0x000a, 0x1abe: 0x000a, 0x1abf: 0x000a,\n\t// Block 0x6b, offset 0x1ac0\n\t0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a,\n\t0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a,\n\t// Block 0x6c, offset 0x1b00\n\t0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a,\n\t0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a,\n\t0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a,\n\t0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a,\n\t0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a,\n\t0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a,\n\t0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a,\n\t0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a,\n\t0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, 0x1b34: 0x000a, 0x1b35: 0x000a,\n\t0x1b36: 0x000a, 0x1b37: 0x000a, 0x1b38: 0x000a, 0x1b39: 0x000a, 0x1b3a: 0x000a, 0x1b3b: 0x000a,\n\t0x1b3c: 0x000a, 0x1b3d: 0x000a, 0x1b3e: 0x000a, 0x1b3f: 0x000a,\n\t// Block 0x6d, offset 0x1b40\n\t0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a,\n\t0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a,\n\t0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a,\n\t0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a,\n\t0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5a: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a,\n\t0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a,\n\t0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a,\n\t0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a,\n\t0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a,\n\t// Block 0x6e, offset 0x1b80\n\t0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a,\n\t0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a,\n\t0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a,\n\t0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a,\n\t0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, 0x1bb4: 0x000a, 0x1bb5: 0x000a,\n\t0x1bb6: 0x000a, 0x1bb7: 0x000a, 0x1bb8: 0x000a, 0x1bb9: 0x000a, 0x1bba: 0x000a, 0x1bbb: 0x000a,\n\t// Block 0x6f, offset 0x1bc0\n\t0x1bc0: 0x0009, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a,\n\t0x1bc8: 0x003a, 0x1bc9: 0x002a, 0x1bca: 0x003a, 0x1bcb: 0x002a,\n\t0x1bcc: 0x003a, 0x1bcd: 0x002a, 0x1bce: 0x003a, 0x1bcf: 0x002a, 0x1bd0: 0x003a, 0x1bd1: 0x002a,\n\t0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x003a, 0x1bd5: 0x002a, 0x1bd6: 0x003a, 0x1bd7: 0x002a,\n\t0x1bd8: 0x003a, 0x1bd9: 0x002a, 0x1bda: 0x003a, 0x1bdb: 0x002a, 0x1bdc: 0x000a, 0x1bdd: 0x000a,\n\t0x1bde: 0x000a, 0x1bdf: 0x000a, 0x1be0: 0x000a,\n\t0x1bea: 0x000c, 0x1beb: 0x000c, 0x1bec: 0x000c, 0x1bed: 0x000c,\n\t0x1bf0: 0x000a,\n\t0x1bf6: 0x000a, 0x1bf7: 0x000a,\n\t0x1bfd: 0x000a, 0x1bfe: 0x000a, 0x1bff: 0x000a,\n\t// Block 0x70, offset 0x1c00\n\t0x1c19: 0x000c, 0x1c1a: 0x000c, 0x1c1b: 0x000a, 0x1c1c: 0x000a,\n\t0x1c20: 0x000a,\n\t// Block 0x71, offset 0x1c40\n\t0x1c7b: 0x000a,\n\t// Block 0x72, offset 0x1c80\n\t0x1c80: 0x000a, 0x1c81: 0x000a, 0x1c82: 0x000a, 0x1c83: 0x000a, 0x1c84: 0x000a, 0x1c85: 0x000a,\n\t0x1c86: 0x000a, 0x1c87: 0x000a, 0x1c88: 0x000a, 0x1c89: 0x000a, 0x1c8a: 0x000a, 0x1c8b: 0x000a,\n\t0x1c8c: 0x000a, 0x1c8d: 0x000a, 0x1c8e: 0x000a, 0x1c8f: 0x000a, 0x1c90: 0x000a, 0x1c91: 0x000a,\n\t0x1c92: 0x000a, 0x1c93: 0x000a, 0x1c94: 0x000a, 0x1c95: 0x000a, 0x1c96: 0x000a, 0x1c97: 0x000a,\n\t0x1c98: 0x000a, 0x1c99: 0x000a, 0x1c9a: 0x000a, 0x1c9b: 0x000a, 0x1c9c: 0x000a, 0x1c9d: 0x000a,\n\t0x1c9e: 0x000a, 0x1c9f: 0x000a, 0x1ca0: 0x000a, 0x1ca1: 0x000a, 0x1ca2: 0x000a, 0x1ca3: 0x000a,\n\t// Block 0x73, offset 0x1cc0\n\t0x1cdd: 0x000a,\n\t0x1cde: 0x000a,\n\t// Block 0x74, offset 0x1d00\n\t0x1d10: 0x000a, 0x1d11: 0x000a,\n\t0x1d12: 0x000a, 0x1d13: 0x000a, 0x1d14: 0x000a, 0x1d15: 0x000a, 0x1d16: 0x000a, 0x1d17: 0x000a,\n\t0x1d18: 0x000a, 0x1d19: 0x000a, 0x1d1a: 0x000a, 0x1d1b: 0x000a, 0x1d1c: 0x000a, 0x1d1d: 0x000a,\n\t0x1d1e: 0x000a, 0x1d1f: 0x000a,\n\t0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a,\n\t// Block 0x75, offset 0x1d40\n\t0x1d71: 0x000a, 0x1d72: 0x000a, 0x1d73: 0x000a, 0x1d74: 0x000a, 0x1d75: 0x000a,\n\t0x1d76: 0x000a, 0x1d77: 0x000a, 0x1d78: 0x000a, 0x1d79: 0x000a, 0x1d7a: 0x000a, 0x1d7b: 0x000a,\n\t0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, 0x1d7f: 0x000a,\n\t// Block 0x76, offset 0x1d80\n\t0x1d8c: 0x000a, 0x1d8d: 0x000a, 0x1d8e: 0x000a, 0x1d8f: 0x000a,\n\t// Block 0x77, offset 0x1dc0\n\t0x1df7: 0x000a, 0x1df8: 0x000a, 0x1df9: 0x000a, 0x1dfa: 0x000a,\n\t// Block 0x78, offset 0x1e00\n\t0x1e1e: 0x000a, 0x1e1f: 0x000a,\n\t0x1e3f: 0x000a,\n\t// Block 0x79, offset 0x1e40\n\t0x1e50: 0x000a, 0x1e51: 0x000a,\n\t0x1e52: 0x000a, 0x1e53: 0x000a, 0x1e54: 0x000a, 0x1e55: 0x000a, 0x1e56: 0x000a, 0x1e57: 0x000a,\n\t0x1e58: 0x000a, 0x1e59: 0x000a, 0x1e5a: 0x000a, 0x1e5b: 0x000a, 0x1e5c: 0x000a, 0x1e5d: 0x000a,\n\t0x1e5e: 0x000a, 0x1e5f: 0x000a, 0x1e60: 0x000a, 0x1e61: 0x000a, 0x1e62: 0x000a, 0x1e63: 0x000a,\n\t0x1e64: 0x000a, 0x1e65: 0x000a, 0x1e66: 0x000a, 0x1e67: 0x000a, 0x1e68: 0x000a, 0x1e69: 0x000a,\n\t0x1e6a: 0x000a, 0x1e6b: 0x000a, 0x1e6c: 0x000a, 0x1e6d: 0x000a, 0x1e6e: 0x000a, 0x1e6f: 0x000a,\n\t0x1e70: 0x000a, 0x1e71: 0x000a, 0x1e72: 0x000a, 0x1e73: 0x000a, 0x1e74: 0x000a, 0x1e75: 0x000a,\n\t0x1e76: 0x000a, 0x1e77: 0x000a, 0x1e78: 0x000a, 0x1e79: 0x000a, 0x1e7a: 0x000a, 0x1e7b: 0x000a,\n\t0x1e7c: 0x000a, 0x1e7d: 0x000a, 0x1e7e: 0x000a, 0x1e7f: 0x000a,\n\t// Block 0x7a, offset 0x1e80\n\t0x1e80: 0x000a, 0x1e81: 0x000a, 0x1e82: 0x000a, 0x1e83: 0x000a, 0x1e84: 0x000a, 0x1e85: 0x000a,\n\t0x1e86: 0x000a,\n\t// Block 0x7b, offset 0x1ec0\n\t0x1ecd: 0x000a, 0x1ece: 0x000a, 0x1ecf: 0x000a,\n\t// Block 0x7c, offset 0x1f00\n\t0x1f2f: 0x000c,\n\t0x1f30: 0x000c, 0x1f31: 0x000c, 0x1f32: 0x000c, 0x1f33: 0x000a, 0x1f34: 0x000c, 0x1f35: 0x000c,\n\t0x1f36: 0x000c, 0x1f37: 0x000c, 0x1f38: 0x000c, 0x1f39: 0x000c, 0x1f3a: 0x000c, 0x1f3b: 0x000c,\n\t0x1f3c: 0x000c, 0x1f3d: 0x000c, 0x1f3e: 0x000a, 0x1f3f: 0x000a,\n\t// Block 0x7d, offset 0x1f40\n\t0x1f5e: 0x000c, 0x1f5f: 0x000c,\n\t// Block 0x7e, offset 0x1f80\n\t0x1fb0: 0x000c, 0x1fb1: 0x000c,\n\t// Block 0x7f, offset 0x1fc0\n\t0x1fc0: 0x000a, 0x1fc1: 0x000a, 0x1fc2: 0x000a, 0x1fc3: 0x000a, 0x1fc4: 0x000a, 0x1fc5: 0x000a,\n\t0x1fc6: 0x000a, 0x1fc7: 0x000a, 0x1fc8: 0x000a, 0x1fc9: 0x000a, 0x1fca: 0x000a, 0x1fcb: 0x000a,\n\t0x1fcc: 0x000a, 0x1fcd: 0x000a, 0x1fce: 0x000a, 0x1fcf: 0x000a, 0x1fd0: 0x000a, 0x1fd1: 0x000a,\n\t0x1fd2: 0x000a, 0x1fd3: 0x000a, 0x1fd4: 0x000a, 0x1fd5: 0x000a, 0x1fd6: 0x000a, 0x1fd7: 0x000a,\n\t0x1fd8: 0x000a, 0x1fd9: 0x000a, 0x1fda: 0x000a, 0x1fdb: 0x000a, 0x1fdc: 0x000a, 0x1fdd: 0x000a,\n\t0x1fde: 0x000a, 0x1fdf: 0x000a, 0x1fe0: 0x000a, 0x1fe1: 0x000a,\n\t// Block 0x80, offset 0x2000\n\t0x2008: 0x000a,\n\t// Block 0x81, offset 0x2040\n\t0x2042: 0x000c,\n\t0x2046: 0x000c, 0x204b: 0x000c,\n\t0x2065: 0x000c, 0x2066: 0x000c, 0x2068: 0x000a, 0x2069: 0x000a,\n\t0x206a: 0x000a, 0x206b: 0x000a,\n\t0x2078: 0x0004, 0x2079: 0x0004,\n\t// Block 0x82, offset 0x2080\n\t0x20b4: 0x000a, 0x20b5: 0x000a,\n\t0x20b6: 0x000a, 0x20b7: 0x000a,\n\t// Block 0x83, offset 0x20c0\n\t0x20c4: 0x000c, 0x20c5: 0x000c,\n\t0x20e0: 0x000c, 0x20e1: 0x000c, 0x20e2: 0x000c, 0x20e3: 0x000c,\n\t0x20e4: 0x000c, 0x20e5: 0x000c, 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c,\n\t0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, 0x20ee: 0x000c, 0x20ef: 0x000c,\n\t0x20f0: 0x000c, 0x20f1: 0x000c,\n\t// Block 0x84, offset 0x2100\n\t0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c,\n\t0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c,\n\t// Block 0x85, offset 0x2140\n\t0x2147: 0x000c, 0x2148: 0x000c, 0x2149: 0x000c, 0x214a: 0x000c, 0x214b: 0x000c,\n\t0x214c: 0x000c, 0x214d: 0x000c, 0x214e: 0x000c, 0x214f: 0x000c, 0x2150: 0x000c, 0x2151: 0x000c,\n\t// Block 0x86, offset 0x2180\n\t0x2180: 0x000c, 0x2181: 0x000c, 0x2182: 0x000c,\n\t0x21b3: 0x000c,\n\t0x21b6: 0x000c, 0x21b7: 0x000c, 0x21b8: 0x000c, 0x21b9: 0x000c,\n\t0x21bc: 0x000c,\n\t// Block 0x87, offset 0x21c0\n\t0x21e5: 0x000c,\n\t// Block 0x88, offset 0x2200\n\t0x2229: 0x000c,\n\t0x222a: 0x000c, 0x222b: 0x000c, 0x222c: 0x000c, 0x222d: 0x000c, 0x222e: 0x000c,\n\t0x2231: 0x000c, 0x2232: 0x000c, 0x2235: 0x000c,\n\t0x2236: 0x000c,\n\t// Block 0x89, offset 0x2240\n\t0x2243: 0x000c,\n\t0x224c: 0x000c,\n\t0x227c: 0x000c,\n\t// Block 0x8a, offset 0x2280\n\t0x22b0: 0x000c, 0x22b2: 0x000c, 0x22b3: 0x000c, 0x22b4: 0x000c,\n\t0x22b7: 0x000c, 0x22b8: 0x000c,\n\t0x22be: 0x000c, 0x22bf: 0x000c,\n\t// Block 0x8b, offset 0x22c0\n\t0x22c1: 0x000c,\n\t0x22ec: 0x000c, 0x22ed: 0x000c,\n\t0x22f6: 0x000c,\n\t// Block 0x8c, offset 0x2300\n\t0x2325: 0x000c, 0x2328: 0x000c,\n\t0x232d: 0x000c,\n\t// Block 0x8d, offset 0x2340\n\t0x235d: 0x0001,\n\t0x235e: 0x000c, 0x235f: 0x0001, 0x2360: 0x0001, 0x2361: 0x0001, 0x2362: 0x0001, 0x2363: 0x0001,\n\t0x2364: 0x0001, 0x2365: 0x0001, 0x2366: 0x0001, 0x2367: 0x0001, 0x2368: 0x0001, 0x2369: 0x0003,\n\t0x236a: 0x0001, 0x236b: 0x0001, 0x236c: 0x0001, 0x236d: 0x0001, 0x236e: 0x0001, 0x236f: 0x0001,\n\t0x2370: 0x0001, 0x2371: 0x0001, 0x2372: 0x0001, 0x2373: 0x0001, 0x2374: 0x0001, 0x2375: 0x0001,\n\t0x2376: 0x0001, 0x2377: 0x0001, 0x2378: 0x0001, 0x2379: 0x0001, 0x237a: 0x0001, 0x237b: 0x0001,\n\t0x237c: 0x0001, 0x237d: 0x0001, 0x237e: 0x0001, 0x237f: 0x0001,\n\t// Block 0x8e, offset 0x2380\n\t0x2380: 0x0001, 0x2381: 0x0001, 0x2382: 0x0001, 0x2383: 0x0001, 0x2384: 0x0001, 0x2385: 0x0001,\n\t0x2386: 0x0001, 0x2387: 0x0001, 0x2388: 0x0001, 0x2389: 0x0001, 0x238a: 0x0001, 0x238b: 0x0001,\n\t0x238c: 0x0001, 0x238d: 0x0001, 0x238e: 0x0001, 0x238f: 0x0001, 0x2390: 0x000d, 0x2391: 0x000d,\n\t0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d,\n\t0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d,\n\t0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d,\n\t0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d,\n\t0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d,\n\t0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d,\n\t0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d,\n\t0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000d, 0x23bf: 0x000d,\n\t// Block 0x8f, offset 0x23c0\n\t0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d,\n\t0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d,\n\t0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000d, 0x23d1: 0x000d,\n\t0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d,\n\t0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d,\n\t0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d,\n\t0x23e4: 0x000d, 0x23e5: 0x000d, 0x23e6: 0x000d, 0x23e7: 0x000d, 0x23e8: 0x000d, 0x23e9: 0x000d,\n\t0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d,\n\t0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d,\n\t0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d,\n\t0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000a, 0x23ff: 0x000a,\n\t// Block 0x90, offset 0x2400\n\t0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d,\n\t0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d,\n\t0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000b, 0x2411: 0x000b,\n\t0x2412: 0x000b, 0x2413: 0x000b, 0x2414: 0x000b, 0x2415: 0x000b, 0x2416: 0x000b, 0x2417: 0x000b,\n\t0x2418: 0x000b, 0x2419: 0x000b, 0x241a: 0x000b, 0x241b: 0x000b, 0x241c: 0x000b, 0x241d: 0x000b,\n\t0x241e: 0x000b, 0x241f: 0x000b, 0x2420: 0x000b, 0x2421: 0x000b, 0x2422: 0x000b, 0x2423: 0x000b,\n\t0x2424: 0x000b, 0x2425: 0x000b, 0x2426: 0x000b, 0x2427: 0x000b, 0x2428: 0x000b, 0x2429: 0x000b,\n\t0x242a: 0x000b, 0x242b: 0x000b, 0x242c: 0x000b, 0x242d: 0x000b, 0x242e: 0x000b, 0x242f: 0x000b,\n\t0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d,\n\t0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d,\n\t0x243c: 0x000d, 0x243d: 0x000a, 0x243e: 0x000d, 0x243f: 0x000d,\n\t// Block 0x91, offset 0x2440\n\t0x2440: 0x000c, 0x2441: 0x000c, 0x2442: 0x000c, 0x2443: 0x000c, 0x2444: 0x000c, 0x2445: 0x000c,\n\t0x2446: 0x000c, 0x2447: 0x000c, 0x2448: 0x000c, 0x2449: 0x000c, 0x244a: 0x000c, 0x244b: 0x000c,\n\t0x244c: 0x000c, 0x244d: 0x000c, 0x244e: 0x000c, 0x244f: 0x000c, 0x2450: 0x000a, 0x2451: 0x000a,\n\t0x2452: 0x000a, 0x2453: 0x000a, 0x2454: 0x000a, 0x2455: 0x000a, 0x2456: 0x000a, 0x2457: 0x000a,\n\t0x2458: 0x000a, 0x2459: 0x000a,\n\t0x2460: 0x000c, 0x2461: 0x000c, 0x2462: 0x000c, 0x2463: 0x000c,\n\t0x2464: 0x000c, 0x2465: 0x000c, 0x2466: 0x000c, 0x2467: 0x000c, 0x2468: 0x000c, 0x2469: 0x000c,\n\t0x246a: 0x000c, 0x246b: 0x000c, 0x246c: 0x000c, 0x246d: 0x000c, 0x246e: 0x000c, 0x246f: 0x000c,\n\t0x2470: 0x000a, 0x2471: 0x000a, 0x2472: 0x000a, 0x2473: 0x000a, 0x2474: 0x000a, 0x2475: 0x000a,\n\t0x2476: 0x000a, 0x2477: 0x000a, 0x2478: 0x000a, 0x2479: 0x000a, 0x247a: 0x000a, 0x247b: 0x000a,\n\t0x247c: 0x000a, 0x247d: 0x000a, 0x247e: 0x000a, 0x247f: 0x000a,\n\t// Block 0x92, offset 0x2480\n\t0x2480: 0x000a, 0x2481: 0x000a, 0x2482: 0x000a, 0x2483: 0x000a, 0x2484: 0x000a, 0x2485: 0x000a,\n\t0x2486: 0x000a, 0x2487: 0x000a, 0x2488: 0x000a, 0x2489: 0x000a, 0x248a: 0x000a, 0x248b: 0x000a,\n\t0x248c: 0x000a, 0x248d: 0x000a, 0x248e: 0x000a, 0x248f: 0x000a, 0x2490: 0x0006, 0x2491: 0x000a,\n\t0x2492: 0x0006, 0x2494: 0x000a, 0x2495: 0x0006, 0x2496: 0x000a, 0x2497: 0x000a,\n\t0x2498: 0x000a, 0x2499: 0x009a, 0x249a: 0x008a, 0x249b: 0x007a, 0x249c: 0x006a, 0x249d: 0x009a,\n\t0x249e: 0x008a, 0x249f: 0x0004, 0x24a0: 0x000a, 0x24a1: 0x000a, 0x24a2: 0x0003, 0x24a3: 0x0003,\n\t0x24a4: 0x000a, 0x24a5: 0x000a, 0x24a6: 0x000a, 0x24a8: 0x000a, 0x24a9: 0x0004,\n\t0x24aa: 0x0004, 0x24ab: 0x000a,\n\t0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d,\n\t0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d,\n\t0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000d,\n\t// Block 0x93, offset 0x24c0\n\t0x24c0: 0x000d, 0x24c1: 0x000d, 0x24c2: 0x000d, 0x24c3: 0x000d, 0x24c4: 0x000d, 0x24c5: 0x000d,\n\t0x24c6: 0x000d, 0x24c7: 0x000d, 0x24c8: 0x000d, 0x24c9: 0x000d, 0x24ca: 0x000d, 0x24cb: 0x000d,\n\t0x24cc: 0x000d, 0x24cd: 0x000d, 0x24ce: 0x000d, 0x24cf: 0x000d, 0x24d0: 0x000d, 0x24d1: 0x000d,\n\t0x24d2: 0x000d, 0x24d3: 0x000d, 0x24d4: 0x000d, 0x24d5: 0x000d, 0x24d6: 0x000d, 0x24d7: 0x000d,\n\t0x24d8: 0x000d, 0x24d9: 0x000d, 0x24da: 0x000d, 0x24db: 0x000d, 0x24dc: 0x000d, 0x24dd: 0x000d,\n\t0x24de: 0x000d, 0x24df: 0x000d, 0x24e0: 0x000d, 0x24e1: 0x000d, 0x24e2: 0x000d, 0x24e3: 0x000d,\n\t0x24e4: 0x000d, 0x24e5: 0x000d, 0x24e6: 0x000d, 0x24e7: 0x000d, 0x24e8: 0x000d, 0x24e9: 0x000d,\n\t0x24ea: 0x000d, 0x24eb: 0x000d, 0x24ec: 0x000d, 0x24ed: 0x000d, 0x24ee: 0x000d, 0x24ef: 0x000d,\n\t0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d,\n\t0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d,\n\t0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000b,\n\t// Block 0x94, offset 0x2500\n\t0x2501: 0x000a, 0x2502: 0x000a, 0x2503: 0x0004, 0x2504: 0x0004, 0x2505: 0x0004,\n\t0x2506: 0x000a, 0x2507: 0x000a, 0x2508: 0x003a, 0x2509: 0x002a, 0x250a: 0x000a, 0x250b: 0x0003,\n\t0x250c: 0x0006, 0x250d: 0x0003, 0x250e: 0x0006, 0x250f: 0x0006, 0x2510: 0x0002, 0x2511: 0x0002,\n\t0x2512: 0x0002, 0x2513: 0x0002, 0x2514: 0x0002, 0x2515: 0x0002, 0x2516: 0x0002, 0x2517: 0x0002,\n\t0x2518: 0x0002, 0x2519: 0x0002, 0x251a: 0x0006, 0x251b: 0x000a, 0x251c: 0x000a, 0x251d: 0x000a,\n\t0x251e: 0x000a, 0x251f: 0x000a, 0x2520: 0x000a,\n\t0x253b: 0x005a,\n\t0x253c: 0x000a, 0x253d: 0x004a, 0x253e: 0x000a, 0x253f: 0x000a,\n\t// Block 0x95, offset 0x2540\n\t0x2540: 0x000a,\n\t0x255b: 0x005a, 0x255c: 0x000a, 0x255d: 0x004a,\n\t0x255e: 0x000a, 0x255f: 0x00fa, 0x2560: 0x00ea, 0x2561: 0x000a, 0x2562: 0x003a, 0x2563: 0x002a,\n\t0x2564: 0x000a, 0x2565: 0x000a,\n\t// Block 0x96, offset 0x2580\n\t0x25a0: 0x0004, 0x25a1: 0x0004, 0x25a2: 0x000a, 0x25a3: 0x000a,\n\t0x25a4: 0x000a, 0x25a5: 0x0004, 0x25a6: 0x0004, 0x25a8: 0x000a, 0x25a9: 0x000a,\n\t0x25aa: 0x000a, 0x25ab: 0x000a, 0x25ac: 0x000a, 0x25ad: 0x000a, 0x25ae: 0x000a,\n\t0x25b0: 0x000b, 0x25b1: 0x000b, 0x25b2: 0x000b, 0x25b3: 0x000b, 0x25b4: 0x000b, 0x25b5: 0x000b,\n\t0x25b6: 0x000b, 0x25b7: 0x000b, 0x25b8: 0x000b, 0x25b9: 0x000a, 0x25ba: 0x000a, 0x25bb: 0x000a,\n\t0x25bc: 0x000a, 0x25bd: 0x000a, 0x25be: 0x000b, 0x25bf: 0x000b,\n\t// Block 0x97, offset 0x25c0\n\t0x25c1: 0x000a,\n\t// Block 0x98, offset 0x2600\n\t0x2600: 0x000a, 0x2601: 0x000a, 0x2602: 0x000a, 0x2603: 0x000a, 0x2604: 0x000a, 0x2605: 0x000a,\n\t0x2606: 0x000a, 0x2607: 0x000a, 0x2608: 0x000a, 0x2609: 0x000a, 0x260a: 0x000a, 0x260b: 0x000a,\n\t0x260c: 0x000a, 0x2610: 0x000a, 0x2611: 0x000a,\n\t0x2612: 0x000a, 0x2613: 0x000a, 0x2614: 0x000a, 0x2615: 0x000a, 0x2616: 0x000a, 0x2617: 0x000a,\n\t0x2618: 0x000a, 0x2619: 0x000a, 0x261a: 0x000a, 0x261b: 0x000a,\n\t0x2620: 0x000a,\n\t// Block 0x99, offset 0x2640\n\t0x267d: 0x000c,\n\t// Block 0x9a, offset 0x2680\n\t0x26a0: 0x000c, 0x26a1: 0x0002, 0x26a2: 0x0002, 0x26a3: 0x0002,\n\t0x26a4: 0x0002, 0x26a5: 0x0002, 0x26a6: 0x0002, 0x26a7: 0x0002, 0x26a8: 0x0002, 0x26a9: 0x0002,\n\t0x26aa: 0x0002, 0x26ab: 0x0002, 0x26ac: 0x0002, 0x26ad: 0x0002, 0x26ae: 0x0002, 0x26af: 0x0002,\n\t0x26b0: 0x0002, 0x26b1: 0x0002, 0x26b2: 0x0002, 0x26b3: 0x0002, 0x26b4: 0x0002, 0x26b5: 0x0002,\n\t0x26b6: 0x0002, 0x26b7: 0x0002, 0x26b8: 0x0002, 0x26b9: 0x0002, 0x26ba: 0x0002, 0x26bb: 0x0002,\n\t// Block 0x9b, offset 0x26c0\n\t0x26f6: 0x000c, 0x26f7: 0x000c, 0x26f8: 0x000c, 0x26f9: 0x000c, 0x26fa: 0x000c,\n\t// Block 0x9c, offset 0x2700\n\t0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001,\n\t0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001,\n\t0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001,\n\t0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001,\n\t0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001,\n\t0x271e: 0x0001, 0x271f: 0x0001, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001,\n\t0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001,\n\t0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001,\n\t0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001,\n\t0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001,\n\t0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001,\n\t// Block 0x9d, offset 0x2740\n\t0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001,\n\t0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001,\n\t0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001,\n\t0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001,\n\t0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001,\n\t0x275e: 0x0001, 0x275f: 0x000a, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001,\n\t0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001,\n\t0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001,\n\t0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001,\n\t0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001,\n\t0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001,\n\t// Block 0x9e, offset 0x2780\n\t0x2780: 0x0001, 0x2781: 0x000c, 0x2782: 0x000c, 0x2783: 0x000c, 0x2784: 0x0001, 0x2785: 0x000c,\n\t0x2786: 0x000c, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001,\n\t0x278c: 0x000c, 0x278d: 0x000c, 0x278e: 0x000c, 0x278f: 0x000c, 0x2790: 0x0001, 0x2791: 0x0001,\n\t0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001,\n\t0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001,\n\t0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001,\n\t0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001,\n\t0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001,\n\t0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001,\n\t0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x000c, 0x27b9: 0x000c, 0x27ba: 0x000c, 0x27bb: 0x0001,\n\t0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x000c,\n\t// Block 0x9f, offset 0x27c0\n\t0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001,\n\t0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001,\n\t0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001,\n\t0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001,\n\t0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001,\n\t0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001,\n\t0x27e4: 0x0001, 0x27e5: 0x000c, 0x27e6: 0x000c, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001,\n\t0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001,\n\t0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001,\n\t0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x0001, 0x27fa: 0x0001, 0x27fb: 0x0001,\n\t0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x0001,\n\t// Block 0xa0, offset 0x2800\n\t0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001,\n\t0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001,\n\t0x280c: 0x0001, 0x280d: 0x0001, 0x280e: 0x0001, 0x280f: 0x0001, 0x2810: 0x0001, 0x2811: 0x0001,\n\t0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001,\n\t0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001,\n\t0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001,\n\t0x2824: 0x0001, 0x2825: 0x0001, 0x2826: 0x0001, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001,\n\t0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001,\n\t0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001,\n\t0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x000a, 0x283a: 0x000a, 0x283b: 0x000a,\n\t0x283c: 0x000a, 0x283d: 0x000a, 0x283e: 0x000a, 0x283f: 0x000a,\n\t// Block 0xa1, offset 0x2840\n\t0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001,\n\t0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001,\n\t0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001,\n\t0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001,\n\t0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001,\n\t0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0005, 0x2861: 0x0005, 0x2862: 0x0005, 0x2863: 0x0005,\n\t0x2864: 0x0005, 0x2865: 0x0005, 0x2866: 0x0005, 0x2867: 0x0005, 0x2868: 0x0005, 0x2869: 0x0005,\n\t0x286a: 0x0005, 0x286b: 0x0005, 0x286c: 0x0005, 0x286d: 0x0005, 0x286e: 0x0005, 0x286f: 0x0005,\n\t0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005,\n\t0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x0005, 0x287b: 0x0005,\n\t0x287c: 0x0005, 0x287d: 0x0005, 0x287e: 0x0005, 0x287f: 0x0001,\n\t// Block 0xa2, offset 0x2880\n\t0x2881: 0x000c,\n\t0x28b8: 0x000c, 0x28b9: 0x000c, 0x28ba: 0x000c, 0x28bb: 0x000c,\n\t0x28bc: 0x000c, 0x28bd: 0x000c, 0x28be: 0x000c, 0x28bf: 0x000c,\n\t// Block 0xa3, offset 0x28c0\n\t0x28c0: 0x000c, 0x28c1: 0x000c, 0x28c2: 0x000c, 0x28c3: 0x000c, 0x28c4: 0x000c, 0x28c5: 0x000c,\n\t0x28c6: 0x000c,\n\t0x28d2: 0x000a, 0x28d3: 0x000a, 0x28d4: 0x000a, 0x28d5: 0x000a, 0x28d6: 0x000a, 0x28d7: 0x000a,\n\t0x28d8: 0x000a, 0x28d9: 0x000a, 0x28da: 0x000a, 0x28db: 0x000a, 0x28dc: 0x000a, 0x28dd: 0x000a,\n\t0x28de: 0x000a, 0x28df: 0x000a, 0x28e0: 0x000a, 0x28e1: 0x000a, 0x28e2: 0x000a, 0x28e3: 0x000a,\n\t0x28e4: 0x000a, 0x28e5: 0x000a,\n\t0x28ff: 0x000c,\n\t// Block 0xa4, offset 0x2900\n\t0x2900: 0x000c, 0x2901: 0x000c,\n\t0x2933: 0x000c, 0x2934: 0x000c, 0x2935: 0x000c,\n\t0x2936: 0x000c, 0x2939: 0x000c, 0x293a: 0x000c,\n\t// Block 0xa5, offset 0x2940\n\t0x2940: 0x000c, 0x2941: 0x000c, 0x2942: 0x000c,\n\t0x2967: 0x000c, 0x2968: 0x000c, 0x2969: 0x000c,\n\t0x296a: 0x000c, 0x296b: 0x000c, 0x296d: 0x000c, 0x296e: 0x000c, 0x296f: 0x000c,\n\t0x2970: 0x000c, 0x2971: 0x000c, 0x2972: 0x000c, 0x2973: 0x000c, 0x2974: 0x000c,\n\t// Block 0xa6, offset 0x2980\n\t0x29b3: 0x000c,\n\t// Block 0xa7, offset 0x29c0\n\t0x29c0: 0x000c, 0x29c1: 0x000c,\n\t0x29f6: 0x000c, 0x29f7: 0x000c, 0x29f8: 0x000c, 0x29f9: 0x000c, 0x29fa: 0x000c, 0x29fb: 0x000c,\n\t0x29fc: 0x000c, 0x29fd: 0x000c, 0x29fe: 0x000c,\n\t// Block 0xa8, offset 0x2a00\n\t0x2a0a: 0x000c, 0x2a0b: 0x000c,\n\t0x2a0c: 0x000c,\n\t// Block 0xa9, offset 0x2a40\n\t0x2a6f: 0x000c,\n\t0x2a70: 0x000c, 0x2a71: 0x000c, 0x2a74: 0x000c,\n\t0x2a76: 0x000c, 0x2a77: 0x000c,\n\t0x2a7e: 0x000c,\n\t// Block 0xaa, offset 0x2a80\n\t0x2a9f: 0x000c, 0x2aa3: 0x000c,\n\t0x2aa4: 0x000c, 0x2aa5: 0x000c, 0x2aa6: 0x000c, 0x2aa7: 0x000c, 0x2aa8: 0x000c, 0x2aa9: 0x000c,\n\t0x2aaa: 0x000c,\n\t// Block 0xab, offset 0x2ac0\n\t0x2ac0: 0x000c, 0x2ac1: 0x000c,\n\t0x2afc: 0x000c,\n\t// Block 0xac, offset 0x2b00\n\t0x2b00: 0x000c,\n\t0x2b26: 0x000c, 0x2b27: 0x000c, 0x2b28: 0x000c, 0x2b29: 0x000c,\n\t0x2b2a: 0x000c, 0x2b2b: 0x000c, 0x2b2c: 0x000c,\n\t0x2b30: 0x000c, 0x2b31: 0x000c, 0x2b32: 0x000c, 0x2b33: 0x000c, 0x2b34: 0x000c,\n\t// Block 0xad, offset 0x2b40\n\t0x2b78: 0x000c, 0x2b79: 0x000c, 0x2b7a: 0x000c, 0x2b7b: 0x000c,\n\t0x2b7c: 0x000c, 0x2b7d: 0x000c, 0x2b7e: 0x000c, 0x2b7f: 0x000c,\n\t// Block 0xae, offset 0x2b80\n\t0x2b82: 0x000c, 0x2b83: 0x000c, 0x2b84: 0x000c,\n\t0x2b86: 0x000c,\n\t// Block 0xaf, offset 0x2bc0\n\t0x2bf3: 0x000c, 0x2bf4: 0x000c, 0x2bf5: 0x000c,\n\t0x2bf6: 0x000c, 0x2bf7: 0x000c, 0x2bf8: 0x000c, 0x2bfa: 0x000c,\n\t0x2bff: 0x000c,\n\t// Block 0xb0, offset 0x2c00\n\t0x2c00: 0x000c, 0x2c02: 0x000c, 0x2c03: 0x000c,\n\t// Block 0xb1, offset 0x2c40\n\t0x2c72: 0x000c, 0x2c73: 0x000c, 0x2c74: 0x000c, 0x2c75: 0x000c,\n\t0x2c7c: 0x000c, 0x2c7d: 0x000c, 0x2c7f: 0x000c,\n\t// Block 0xb2, offset 0x2c80\n\t0x2c80: 0x000c,\n\t0x2c9c: 0x000c, 0x2c9d: 0x000c,\n\t// Block 0xb3, offset 0x2cc0\n\t0x2cf3: 0x000c, 0x2cf4: 0x000c, 0x2cf5: 0x000c,\n\t0x2cf6: 0x000c, 0x2cf7: 0x000c, 0x2cf8: 0x000c, 0x2cf9: 0x000c, 0x2cfa: 0x000c,\n\t0x2cfd: 0x000c, 0x2cff: 0x000c,\n\t// Block 0xb4, offset 0x2d00\n\t0x2d00: 0x000c,\n\t0x2d20: 0x000a, 0x2d21: 0x000a, 0x2d22: 0x000a, 0x2d23: 0x000a,\n\t0x2d24: 0x000a, 0x2d25: 0x000a, 0x2d26: 0x000a, 0x2d27: 0x000a, 0x2d28: 0x000a, 0x2d29: 0x000a,\n\t0x2d2a: 0x000a, 0x2d2b: 0x000a, 0x2d2c: 0x000a,\n\t// Block 0xb5, offset 0x2d40\n\t0x2d6b: 0x000c, 0x2d6d: 0x000c,\n\t0x2d70: 0x000c, 0x2d71: 0x000c, 0x2d72: 0x000c, 0x2d73: 0x000c, 0x2d74: 0x000c, 0x2d75: 0x000c,\n\t0x2d77: 0x000c,\n\t// Block 0xb6, offset 0x2d80\n\t0x2d9d: 0x000c,\n\t0x2d9e: 0x000c, 0x2d9f: 0x000c, 0x2da2: 0x000c, 0x2da3: 0x000c,\n\t0x2da4: 0x000c, 0x2da5: 0x000c, 0x2da7: 0x000c, 0x2da8: 0x000c, 0x2da9: 0x000c,\n\t0x2daa: 0x000c, 0x2dab: 0x000c,\n\t// Block 0xb7, offset 0x2dc0\n\t0x2dc1: 0x000c, 0x2dc2: 0x000c, 0x2dc3: 0x000c, 0x2dc4: 0x000c, 0x2dc5: 0x000c,\n\t0x2dc6: 0x000c, 0x2dc9: 0x000c, 0x2dca: 0x000c,\n\t0x2df3: 0x000c, 0x2df4: 0x000c, 0x2df5: 0x000c,\n\t0x2df6: 0x000c, 0x2df7: 0x000c, 0x2df8: 0x000c, 0x2dfb: 0x000c,\n\t0x2dfc: 0x000c, 0x2dfd: 0x000c, 0x2dfe: 0x000c,\n\t// Block 0xb8, offset 0x2e00\n\t0x2e07: 0x000c,\n\t0x2e11: 0x000c,\n\t0x2e12: 0x000c, 0x2e13: 0x000c, 0x2e14: 0x000c, 0x2e15: 0x000c, 0x2e16: 0x000c,\n\t0x2e19: 0x000c, 0x2e1a: 0x000c, 0x2e1b: 0x000c,\n\t// Block 0xb9, offset 0x2e40\n\t0x2e4a: 0x000c, 0x2e4b: 0x000c,\n\t0x2e4c: 0x000c, 0x2e4d: 0x000c, 0x2e4e: 0x000c, 0x2e4f: 0x000c, 0x2e50: 0x000c, 0x2e51: 0x000c,\n\t0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c,\n\t0x2e58: 0x000c, 0x2e59: 0x000c,\n\t// Block 0xba, offset 0x2e80\n\t0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c,\n\t0x2eb6: 0x000c, 0x2eb8: 0x000c, 0x2eb9: 0x000c, 0x2eba: 0x000c, 0x2ebb: 0x000c,\n\t0x2ebc: 0x000c, 0x2ebd: 0x000c,\n\t// Block 0xbb, offset 0x2ec0\n\t0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, 0x2ed7: 0x000c,\n\t0x2ed8: 0x000c, 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, 0x2edc: 0x000c, 0x2edd: 0x000c,\n\t0x2ede: 0x000c, 0x2edf: 0x000c, 0x2ee0: 0x000c, 0x2ee1: 0x000c, 0x2ee2: 0x000c, 0x2ee3: 0x000c,\n\t0x2ee4: 0x000c, 0x2ee5: 0x000c, 0x2ee6: 0x000c, 0x2ee7: 0x000c,\n\t0x2eea: 0x000c, 0x2eeb: 0x000c, 0x2eec: 0x000c, 0x2eed: 0x000c, 0x2eee: 0x000c, 0x2eef: 0x000c,\n\t0x2ef0: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef5: 0x000c,\n\t0x2ef6: 0x000c,\n\t// Block 0xbc, offset 0x2f00\n\t0x2f31: 0x000c, 0x2f32: 0x000c, 0x2f33: 0x000c, 0x2f34: 0x000c, 0x2f35: 0x000c,\n\t0x2f36: 0x000c, 0x2f3a: 0x000c,\n\t0x2f3c: 0x000c, 0x2f3d: 0x000c, 0x2f3f: 0x000c,\n\t// Block 0xbd, offset 0x2f40\n\t0x2f40: 0x000c, 0x2f41: 0x000c, 0x2f42: 0x000c, 0x2f43: 0x000c, 0x2f44: 0x000c, 0x2f45: 0x000c,\n\t0x2f47: 0x000c,\n\t// Block 0xbe, offset 0x2f80\n\t0x2fb0: 0x000c, 0x2fb1: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb4: 0x000c,\n\t// Block 0xbf, offset 0x2fc0\n\t0x2ff0: 0x000c, 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c,\n\t0x2ff6: 0x000c,\n\t// Block 0xc0, offset 0x3000\n\t0x300f: 0x000c, 0x3010: 0x000c, 0x3011: 0x000c,\n\t0x3012: 0x000c,\n\t// Block 0xc1, offset 0x3040\n\t0x305d: 0x000c,\n\t0x305e: 0x000c, 0x3060: 0x000b, 0x3061: 0x000b, 0x3062: 0x000b, 0x3063: 0x000b,\n\t// Block 0xc2, offset 0x3080\n\t0x30a7: 0x000c, 0x30a8: 0x000c, 0x30a9: 0x000c,\n\t0x30b3: 0x000b, 0x30b4: 0x000b, 0x30b5: 0x000b,\n\t0x30b6: 0x000b, 0x30b7: 0x000b, 0x30b8: 0x000b, 0x30b9: 0x000b, 0x30ba: 0x000b, 0x30bb: 0x000c,\n\t0x30bc: 0x000c, 0x30bd: 0x000c, 0x30be: 0x000c, 0x30bf: 0x000c,\n\t// Block 0xc3, offset 0x30c0\n\t0x30c0: 0x000c, 0x30c1: 0x000c, 0x30c2: 0x000c, 0x30c5: 0x000c,\n\t0x30c6: 0x000c, 0x30c7: 0x000c, 0x30c8: 0x000c, 0x30c9: 0x000c, 0x30ca: 0x000c, 0x30cb: 0x000c,\n\t0x30ea: 0x000c, 0x30eb: 0x000c, 0x30ec: 0x000c, 0x30ed: 0x000c,\n\t// Block 0xc4, offset 0x3100\n\t0x3100: 0x000a, 0x3101: 0x000a, 0x3102: 0x000c, 0x3103: 0x000c, 0x3104: 0x000c, 0x3105: 0x000a,\n\t// Block 0xc5, offset 0x3140\n\t0x3140: 0x000a, 0x3141: 0x000a, 0x3142: 0x000a, 0x3143: 0x000a, 0x3144: 0x000a, 0x3145: 0x000a,\n\t0x3146: 0x000a, 0x3147: 0x000a, 0x3148: 0x000a, 0x3149: 0x000a, 0x314a: 0x000a, 0x314b: 0x000a,\n\t0x314c: 0x000a, 0x314d: 0x000a, 0x314e: 0x000a, 0x314f: 0x000a, 0x3150: 0x000a, 0x3151: 0x000a,\n\t0x3152: 0x000a, 0x3153: 0x000a, 0x3154: 0x000a, 0x3155: 0x000a, 0x3156: 0x000a,\n\t// Block 0xc6, offset 0x3180\n\t0x319b: 0x000a,\n\t// Block 0xc7, offset 0x31c0\n\t0x31d5: 0x000a,\n\t// Block 0xc8, offset 0x3200\n\t0x320f: 0x000a,\n\t// Block 0xc9, offset 0x3240\n\t0x3249: 0x000a,\n\t// Block 0xca, offset 0x3280\n\t0x3283: 0x000a,\n\t0x328e: 0x0002, 0x328f: 0x0002, 0x3290: 0x0002, 0x3291: 0x0002,\n\t0x3292: 0x0002, 0x3293: 0x0002, 0x3294: 0x0002, 0x3295: 0x0002, 0x3296: 0x0002, 0x3297: 0x0002,\n\t0x3298: 0x0002, 0x3299: 0x0002, 0x329a: 0x0002, 0x329b: 0x0002, 0x329c: 0x0002, 0x329d: 0x0002,\n\t0x329e: 0x0002, 0x329f: 0x0002, 0x32a0: 0x0002, 0x32a1: 0x0002, 0x32a2: 0x0002, 0x32a3: 0x0002,\n\t0x32a4: 0x0002, 0x32a5: 0x0002, 0x32a6: 0x0002, 0x32a7: 0x0002, 0x32a8: 0x0002, 0x32a9: 0x0002,\n\t0x32aa: 0x0002, 0x32ab: 0x0002, 0x32ac: 0x0002, 0x32ad: 0x0002, 0x32ae: 0x0002, 0x32af: 0x0002,\n\t0x32b0: 0x0002, 0x32b1: 0x0002, 0x32b2: 0x0002, 0x32b3: 0x0002, 0x32b4: 0x0002, 0x32b5: 0x0002,\n\t0x32b6: 0x0002, 0x32b7: 0x0002, 0x32b8: 0x0002, 0x32b9: 0x0002, 0x32ba: 0x0002, 0x32bb: 0x0002,\n\t0x32bc: 0x0002, 0x32bd: 0x0002, 0x32be: 0x0002, 0x32bf: 0x0002,\n\t// Block 0xcb, offset 0x32c0\n\t0x32c0: 0x000c, 0x32c1: 0x000c, 0x32c2: 0x000c, 0x32c3: 0x000c, 0x32c4: 0x000c, 0x32c5: 0x000c,\n\t0x32c6: 0x000c, 0x32c7: 0x000c, 0x32c8: 0x000c, 0x32c9: 0x000c, 0x32ca: 0x000c, 0x32cb: 0x000c,\n\t0x32cc: 0x000c, 0x32cd: 0x000c, 0x32ce: 0x000c, 0x32cf: 0x000c, 0x32d0: 0x000c, 0x32d1: 0x000c,\n\t0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x000c,\n\t0x32d8: 0x000c, 0x32d9: 0x000c, 0x32da: 0x000c, 0x32db: 0x000c, 0x32dc: 0x000c, 0x32dd: 0x000c,\n\t0x32de: 0x000c, 0x32df: 0x000c, 0x32e0: 0x000c, 0x32e1: 0x000c, 0x32e2: 0x000c, 0x32e3: 0x000c,\n\t0x32e4: 0x000c, 0x32e5: 0x000c, 0x32e6: 0x000c, 0x32e7: 0x000c, 0x32e8: 0x000c, 0x32e9: 0x000c,\n\t0x32ea: 0x000c, 0x32eb: 0x000c, 0x32ec: 0x000c, 0x32ed: 0x000c, 0x32ee: 0x000c, 0x32ef: 0x000c,\n\t0x32f0: 0x000c, 0x32f1: 0x000c, 0x32f2: 0x000c, 0x32f3: 0x000c, 0x32f4: 0x000c, 0x32f5: 0x000c,\n\t0x32f6: 0x000c, 0x32fb: 0x000c,\n\t0x32fc: 0x000c, 0x32fd: 0x000c, 0x32fe: 0x000c, 0x32ff: 0x000c,\n\t// Block 0xcc, offset 0x3300\n\t0x3300: 0x000c, 0x3301: 0x000c, 0x3302: 0x000c, 0x3303: 0x000c, 0x3304: 0x000c, 0x3305: 0x000c,\n\t0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x000c,\n\t0x330c: 0x000c, 0x330d: 0x000c, 0x330e: 0x000c, 0x330f: 0x000c, 0x3310: 0x000c, 0x3311: 0x000c,\n\t0x3312: 0x000c, 0x3313: 0x000c, 0x3314: 0x000c, 0x3315: 0x000c, 0x3316: 0x000c, 0x3317: 0x000c,\n\t0x3318: 0x000c, 0x3319: 0x000c, 0x331a: 0x000c, 0x331b: 0x000c, 0x331c: 0x000c, 0x331d: 0x000c,\n\t0x331e: 0x000c, 0x331f: 0x000c, 0x3320: 0x000c, 0x3321: 0x000c, 0x3322: 0x000c, 0x3323: 0x000c,\n\t0x3324: 0x000c, 0x3325: 0x000c, 0x3326: 0x000c, 0x3327: 0x000c, 0x3328: 0x000c, 0x3329: 0x000c,\n\t0x332a: 0x000c, 0x332b: 0x000c, 0x332c: 0x000c,\n\t0x3335: 0x000c,\n\t// Block 0xcd, offset 0x3340\n\t0x3344: 0x000c,\n\t0x335b: 0x000c, 0x335c: 0x000c, 0x335d: 0x000c,\n\t0x335e: 0x000c, 0x335f: 0x000c, 0x3361: 0x000c, 0x3362: 0x000c, 0x3363: 0x000c,\n\t0x3364: 0x000c, 0x3365: 0x000c, 0x3366: 0x000c, 0x3367: 0x000c, 0x3368: 0x000c, 0x3369: 0x000c,\n\t0x336a: 0x000c, 0x336b: 0x000c, 0x336c: 0x000c, 0x336d: 0x000c, 0x336e: 0x000c, 0x336f: 0x000c,\n\t// Block 0xce, offset 0x3380\n\t0x3380: 0x000c, 0x3381: 0x000c, 0x3382: 0x000c, 0x3383: 0x000c, 0x3384: 0x000c, 0x3385: 0x000c,\n\t0x3386: 0x000c, 0x3388: 0x000c, 0x3389: 0x000c, 0x338a: 0x000c, 0x338b: 0x000c,\n\t0x338c: 0x000c, 0x338d: 0x000c, 0x338e: 0x000c, 0x338f: 0x000c, 0x3390: 0x000c, 0x3391: 0x000c,\n\t0x3392: 0x000c, 0x3393: 0x000c, 0x3394: 0x000c, 0x3395: 0x000c, 0x3396: 0x000c, 0x3397: 0x000c,\n\t0x3398: 0x000c, 0x339b: 0x000c, 0x339c: 0x000c, 0x339d: 0x000c,\n\t0x339e: 0x000c, 0x339f: 0x000c, 0x33a0: 0x000c, 0x33a1: 0x000c, 0x33a3: 0x000c,\n\t0x33a4: 0x000c, 0x33a6: 0x000c, 0x33a7: 0x000c, 0x33a8: 0x000c, 0x33a9: 0x000c,\n\t0x33aa: 0x000c,\n\t// Block 0xcf, offset 0x33c0\n\t0x33c0: 0x0001, 0x33c1: 0x0001, 0x33c2: 0x0001, 0x33c3: 0x0001, 0x33c4: 0x0001, 0x33c5: 0x0001,\n\t0x33c6: 0x0001, 0x33c7: 0x0001, 0x33c8: 0x0001, 0x33c9: 0x0001, 0x33ca: 0x0001, 0x33cb: 0x0001,\n\t0x33cc: 0x0001, 0x33cd: 0x0001, 0x33ce: 0x0001, 0x33cf: 0x0001, 0x33d0: 0x000c, 0x33d1: 0x000c,\n\t0x33d2: 0x000c, 0x33d3: 0x000c, 0x33d4: 0x000c, 0x33d5: 0x000c, 0x33d6: 0x000c, 0x33d7: 0x0001,\n\t0x33d8: 0x0001, 0x33d9: 0x0001, 0x33da: 0x0001, 0x33db: 0x0001, 0x33dc: 0x0001, 0x33dd: 0x0001,\n\t0x33de: 0x0001, 0x33df: 0x0001, 0x33e0: 0x0001, 0x33e1: 0x0001, 0x33e2: 0x0001, 0x33e3: 0x0001,\n\t0x33e4: 0x0001, 0x33e5: 0x0001, 0x33e6: 0x0001, 0x33e7: 0x0001, 0x33e8: 0x0001, 0x33e9: 0x0001,\n\t0x33ea: 0x0001, 0x33eb: 0x0001, 0x33ec: 0x0001, 0x33ed: 0x0001, 0x33ee: 0x0001, 0x33ef: 0x0001,\n\t0x33f0: 0x0001, 0x33f1: 0x0001, 0x33f2: 0x0001, 0x33f3: 0x0001, 0x33f4: 0x0001, 0x33f5: 0x0001,\n\t0x33f6: 0x0001, 0x33f7: 0x0001, 0x33f8: 0x0001, 0x33f9: 0x0001, 0x33fa: 0x0001, 0x33fb: 0x0001,\n\t0x33fc: 0x0001, 0x33fd: 0x0001, 0x33fe: 0x0001, 0x33ff: 0x0001,\n\t// Block 0xd0, offset 0x3400\n\t0x3400: 0x0001, 0x3401: 0x0001, 0x3402: 0x0001, 0x3403: 0x0001, 0x3404: 0x000c, 0x3405: 0x000c,\n\t0x3406: 0x000c, 0x3407: 0x000c, 0x3408: 0x000c, 0x3409: 0x000c, 0x340a: 0x000c, 0x340b: 0x0001,\n\t0x340c: 0x0001, 0x340d: 0x0001, 0x340e: 0x0001, 0x340f: 0x0001, 0x3410: 0x0001, 0x3411: 0x0001,\n\t0x3412: 0x0001, 0x3413: 0x0001, 0x3414: 0x0001, 0x3415: 0x0001, 0x3416: 0x0001, 0x3417: 0x0001,\n\t0x3418: 0x0001, 0x3419: 0x0001, 0x341a: 0x0001, 0x341b: 0x0001, 0x341c: 0x0001, 0x341d: 0x0001,\n\t0x341e: 0x0001, 0x341f: 0x0001, 0x3420: 0x0001, 0x3421: 0x0001, 0x3422: 0x0001, 0x3423: 0x0001,\n\t0x3424: 0x0001, 0x3425: 0x0001, 0x3426: 0x0001, 0x3427: 0x0001, 0x3428: 0x0001, 0x3429: 0x0001,\n\t0x342a: 0x0001, 0x342b: 0x0001, 0x342c: 0x0001, 0x342d: 0x0001, 0x342e: 0x0001, 0x342f: 0x0001,\n\t0x3430: 0x0001, 0x3431: 0x0001, 0x3432: 0x0001, 0x3433: 0x0001, 0x3434: 0x0001, 0x3435: 0x0001,\n\t0x3436: 0x0001, 0x3437: 0x0001, 0x3438: 0x0001, 0x3439: 0x0001, 0x343a: 0x0001, 0x343b: 0x0001,\n\t0x343c: 0x0001, 0x343d: 0x0001, 0x343e: 0x0001, 0x343f: 0x0001,\n\t// Block 0xd1, offset 0x3440\n\t0x3440: 0x000d, 0x3441: 0x000d, 0x3442: 0x000d, 0x3443: 0x000d, 0x3444: 0x000d, 0x3445: 0x000d,\n\t0x3446: 0x000d, 0x3447: 0x000d, 0x3448: 0x000d, 0x3449: 0x000d, 0x344a: 0x000d, 0x344b: 0x000d,\n\t0x344c: 0x000d, 0x344d: 0x000d, 0x344e: 0x000d, 0x344f: 0x000d, 0x3450: 0x000d, 0x3451: 0x000d,\n\t0x3452: 0x000d, 0x3453: 0x000d, 0x3454: 0x000d, 0x3455: 0x000d, 0x3456: 0x000d, 0x3457: 0x000d,\n\t0x3458: 0x000d, 0x3459: 0x000d, 0x345a: 0x000d, 0x345b: 0x000d, 0x345c: 0x000d, 0x345d: 0x000d,\n\t0x345e: 0x000d, 0x345f: 0x000d, 0x3460: 0x000d, 0x3461: 0x000d, 0x3462: 0x000d, 0x3463: 0x000d,\n\t0x3464: 0x000d, 0x3465: 0x000d, 0x3466: 0x000d, 0x3467: 0x000d, 0x3468: 0x000d, 0x3469: 0x000d,\n\t0x346a: 0x000d, 0x346b: 0x000d, 0x346c: 0x000d, 0x346d: 0x000d, 0x346e: 0x000d, 0x346f: 0x000d,\n\t0x3470: 0x000a, 0x3471: 0x000a, 0x3472: 0x000d, 0x3473: 0x000d, 0x3474: 0x000d, 0x3475: 0x000d,\n\t0x3476: 0x000d, 0x3477: 0x000d, 0x3478: 0x000d, 0x3479: 0x000d, 0x347a: 0x000d, 0x347b: 0x000d,\n\t0x347c: 0x000d, 0x347d: 0x000d, 0x347e: 0x000d, 0x347f: 0x000d,\n\t// Block 0xd2, offset 0x3480\n\t0x3480: 0x000a, 0x3481: 0x000a, 0x3482: 0x000a, 0x3483: 0x000a, 0x3484: 0x000a, 0x3485: 0x000a,\n\t0x3486: 0x000a, 0x3487: 0x000a, 0x3488: 0x000a, 0x3489: 0x000a, 0x348a: 0x000a, 0x348b: 0x000a,\n\t0x348c: 0x000a, 0x348d: 0x000a, 0x348e: 0x000a, 0x348f: 0x000a, 0x3490: 0x000a, 0x3491: 0x000a,\n\t0x3492: 0x000a, 0x3493: 0x000a, 0x3494: 0x000a, 0x3495: 0x000a, 0x3496: 0x000a, 0x3497: 0x000a,\n\t0x3498: 0x000a, 0x3499: 0x000a, 0x349a: 0x000a, 0x349b: 0x000a, 0x349c: 0x000a, 0x349d: 0x000a,\n\t0x349e: 0x000a, 0x349f: 0x000a, 0x34a0: 0x000a, 0x34a1: 0x000a, 0x34a2: 0x000a, 0x34a3: 0x000a,\n\t0x34a4: 0x000a, 0x34a5: 0x000a, 0x34a6: 0x000a, 0x34a7: 0x000a, 0x34a8: 0x000a, 0x34a9: 0x000a,\n\t0x34aa: 0x000a, 0x34ab: 0x000a,\n\t0x34b0: 0x000a, 0x34b1: 0x000a, 0x34b2: 0x000a, 0x34b3: 0x000a, 0x34b4: 0x000a, 0x34b5: 0x000a,\n\t0x34b6: 0x000a, 0x34b7: 0x000a, 0x34b8: 0x000a, 0x34b9: 0x000a, 0x34ba: 0x000a, 0x34bb: 0x000a,\n\t0x34bc: 0x000a, 0x34bd: 0x000a, 0x34be: 0x000a, 0x34bf: 0x000a,\n\t// Block 0xd3, offset 0x34c0\n\t0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a,\n\t0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a,\n\t0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a,\n\t0x34d2: 0x000a, 0x34d3: 0x000a,\n\t0x34e0: 0x000a, 0x34e1: 0x000a, 0x34e2: 0x000a, 0x34e3: 0x000a,\n\t0x34e4: 0x000a, 0x34e5: 0x000a, 0x34e6: 0x000a, 0x34e7: 0x000a, 0x34e8: 0x000a, 0x34e9: 0x000a,\n\t0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a, 0x34ed: 0x000a, 0x34ee: 0x000a,\n\t0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a,\n\t0x34f6: 0x000a, 0x34f7: 0x000a, 0x34f8: 0x000a, 0x34f9: 0x000a, 0x34fa: 0x000a, 0x34fb: 0x000a,\n\t0x34fc: 0x000a, 0x34fd: 0x000a, 0x34fe: 0x000a, 0x34ff: 0x000a,\n\t// Block 0xd4, offset 0x3500\n\t0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a,\n\t0x3506: 0x000a, 0x3507: 0x000a, 0x3508: 0x000a, 0x3509: 0x000a, 0x350a: 0x000a, 0x350b: 0x000a,\n\t0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3511: 0x000a,\n\t0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a, 0x3515: 0x000a, 0x3516: 0x000a, 0x3517: 0x000a,\n\t0x3518: 0x000a, 0x3519: 0x000a, 0x351a: 0x000a, 0x351b: 0x000a, 0x351c: 0x000a, 0x351d: 0x000a,\n\t0x351e: 0x000a, 0x351f: 0x000a, 0x3520: 0x000a, 0x3521: 0x000a, 0x3522: 0x000a, 0x3523: 0x000a,\n\t0x3524: 0x000a, 0x3525: 0x000a, 0x3526: 0x000a, 0x3527: 0x000a, 0x3528: 0x000a, 0x3529: 0x000a,\n\t0x352a: 0x000a, 0x352b: 0x000a, 0x352c: 0x000a, 0x352d: 0x000a, 0x352e: 0x000a, 0x352f: 0x000a,\n\t0x3530: 0x000a, 0x3531: 0x000a, 0x3532: 0x000a, 0x3533: 0x000a, 0x3534: 0x000a, 0x3535: 0x000a,\n\t// Block 0xd5, offset 0x3540\n\t0x3540: 0x0002, 0x3541: 0x0002, 0x3542: 0x0002, 0x3543: 0x0002, 0x3544: 0x0002, 0x3545: 0x0002,\n\t0x3546: 0x0002, 0x3547: 0x0002, 0x3548: 0x0002, 0x3549: 0x0002, 0x354a: 0x0002, 0x354b: 0x000a,\n\t0x354c: 0x000a,\n\t// Block 0xd6, offset 0x3580\n\t0x35aa: 0x000a, 0x35ab: 0x000a,\n\t// Block 0xd7, offset 0x35c0\n\t0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a,\n\t0x35e4: 0x000a, 0x35e5: 0x000a,\n\t// Block 0xd8, offset 0x3600\n\t0x3600: 0x000a, 0x3601: 0x000a, 0x3602: 0x000a, 0x3603: 0x000a, 0x3604: 0x000a, 0x3605: 0x000a,\n\t0x3606: 0x000a, 0x3607: 0x000a, 0x3608: 0x000a, 0x3609: 0x000a, 0x360a: 0x000a, 0x360b: 0x000a,\n\t0x360c: 0x000a, 0x360d: 0x000a, 0x360e: 0x000a, 0x360f: 0x000a, 0x3610: 0x000a, 0x3611: 0x000a,\n\t0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a,\n\t0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a,\n\t0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, 0x3628: 0x000a, 0x3629: 0x000a,\n\t0x362a: 0x000a, 0x362b: 0x000a, 0x362c: 0x000a,\n\t0x3630: 0x000a, 0x3631: 0x000a, 0x3632: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a,\n\t0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a,\n\t// Block 0xd9, offset 0x3640\n\t0x3640: 0x000a, 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a,\n\t0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a,\n\t0x364c: 0x000a, 0x364d: 0x000a, 0x364e: 0x000a, 0x364f: 0x000a, 0x3650: 0x000a, 0x3651: 0x000a,\n\t0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a,\n\t// Block 0xda, offset 0x3680\n\t0x3680: 0x000a, 0x3681: 0x000a, 0x3682: 0x000a, 0x3683: 0x000a, 0x3684: 0x000a, 0x3685: 0x000a,\n\t0x3686: 0x000a, 0x3687: 0x000a, 0x3688: 0x000a, 0x3689: 0x000a, 0x368a: 0x000a, 0x368b: 0x000a,\n\t0x3690: 0x000a, 0x3691: 0x000a,\n\t0x3692: 0x000a, 0x3693: 0x000a, 0x3694: 0x000a, 0x3695: 0x000a, 0x3696: 0x000a, 0x3697: 0x000a,\n\t0x3698: 0x000a, 0x3699: 0x000a, 0x369a: 0x000a, 0x369b: 0x000a, 0x369c: 0x000a, 0x369d: 0x000a,\n\t0x369e: 0x000a, 0x369f: 0x000a, 0x36a0: 0x000a, 0x36a1: 0x000a, 0x36a2: 0x000a, 0x36a3: 0x000a,\n\t0x36a4: 0x000a, 0x36a5: 0x000a, 0x36a6: 0x000a, 0x36a7: 0x000a, 0x36a8: 0x000a, 0x36a9: 0x000a,\n\t0x36aa: 0x000a, 0x36ab: 0x000a, 0x36ac: 0x000a, 0x36ad: 0x000a, 0x36ae: 0x000a, 0x36af: 0x000a,\n\t0x36b0: 0x000a, 0x36b1: 0x000a, 0x36b2: 0x000a, 0x36b3: 0x000a, 0x36b4: 0x000a, 0x36b5: 0x000a,\n\t0x36b6: 0x000a, 0x36b7: 0x000a, 0x36b8: 0x000a, 0x36b9: 0x000a, 0x36ba: 0x000a, 0x36bb: 0x000a,\n\t0x36bc: 0x000a, 0x36bd: 0x000a, 0x36be: 0x000a, 0x36bf: 0x000a,\n\t// Block 0xdb, offset 0x36c0\n\t0x36c0: 0x000a, 0x36c1: 0x000a, 0x36c2: 0x000a, 0x36c3: 0x000a, 0x36c4: 0x000a, 0x36c5: 0x000a,\n\t0x36c6: 0x000a, 0x36c7: 0x000a,\n\t0x36d0: 0x000a, 0x36d1: 0x000a,\n\t0x36d2: 0x000a, 0x36d3: 0x000a, 0x36d4: 0x000a, 0x36d5: 0x000a, 0x36d6: 0x000a, 0x36d7: 0x000a,\n\t0x36d8: 0x000a, 0x36d9: 0x000a,\n\t0x36e0: 0x000a, 0x36e1: 0x000a, 0x36e2: 0x000a, 0x36e3: 0x000a,\n\t0x36e4: 0x000a, 0x36e5: 0x000a, 0x36e6: 0x000a, 0x36e7: 0x000a, 0x36e8: 0x000a, 0x36e9: 0x000a,\n\t0x36ea: 0x000a, 0x36eb: 0x000a, 0x36ec: 0x000a, 0x36ed: 0x000a, 0x36ee: 0x000a, 0x36ef: 0x000a,\n\t0x36f0: 0x000a, 0x36f1: 0x000a, 0x36f2: 0x000a, 0x36f3: 0x000a, 0x36f4: 0x000a, 0x36f5: 0x000a,\n\t0x36f6: 0x000a, 0x36f7: 0x000a, 0x36f8: 0x000a, 0x36f9: 0x000a, 0x36fa: 0x000a, 0x36fb: 0x000a,\n\t0x36fc: 0x000a, 0x36fd: 0x000a, 0x36fe: 0x000a, 0x36ff: 0x000a,\n\t// Block 0xdc, offset 0x3700\n\t0x3700: 0x000a, 0x3701: 0x000a, 0x3702: 0x000a, 0x3703: 0x000a, 0x3704: 0x000a, 0x3705: 0x000a,\n\t0x3706: 0x000a, 0x3707: 0x000a,\n\t0x3710: 0x000a, 0x3711: 0x000a,\n\t0x3712: 0x000a, 0x3713: 0x000a, 0x3714: 0x000a, 0x3715: 0x000a, 0x3716: 0x000a, 0x3717: 0x000a,\n\t0x3718: 0x000a, 0x3719: 0x000a, 0x371a: 0x000a, 0x371b: 0x000a, 0x371c: 0x000a, 0x371d: 0x000a,\n\t0x371e: 0x000a, 0x371f: 0x000a, 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a,\n\t0x3724: 0x000a, 0x3725: 0x000a, 0x3726: 0x000a, 0x3727: 0x000a, 0x3728: 0x000a, 0x3729: 0x000a,\n\t0x372a: 0x000a, 0x372b: 0x000a, 0x372c: 0x000a, 0x372d: 0x000a,\n\t// Block 0xdd, offset 0x3740\n\t0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a,\n\t0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a,\n\t0x3750: 0x000a, 0x3751: 0x000a,\n\t0x3752: 0x000a, 0x3753: 0x000a, 0x3754: 0x000a, 0x3755: 0x000a, 0x3756: 0x000a, 0x3757: 0x000a,\n\t0x3758: 0x000a, 0x3759: 0x000a, 0x375a: 0x000a, 0x375b: 0x000a, 0x375c: 0x000a, 0x375d: 0x000a,\n\t0x375e: 0x000a, 0x375f: 0x000a, 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a,\n\t0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a,\n\t0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, 0x376d: 0x000a, 0x376e: 0x000a, 0x376f: 0x000a,\n\t0x3770: 0x000a, 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a,\n\t0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, 0x377a: 0x000a, 0x377b: 0x000a,\n\t0x377c: 0x000a, 0x377d: 0x000a, 0x377e: 0x000a,\n\t// Block 0xde, offset 0x3780\n\t0x3780: 0x000a, 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a,\n\t0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a,\n\t0x378c: 0x000a, 0x3790: 0x000a, 0x3791: 0x000a,\n\t0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a,\n\t0x3798: 0x000a, 0x3799: 0x000a, 0x379a: 0x000a, 0x379b: 0x000a, 0x379c: 0x000a, 0x379d: 0x000a,\n\t0x379e: 0x000a, 0x379f: 0x000a, 0x37a0: 0x000a, 0x37a1: 0x000a, 0x37a2: 0x000a, 0x37a3: 0x000a,\n\t0x37a4: 0x000a, 0x37a5: 0x000a, 0x37a6: 0x000a, 0x37a7: 0x000a, 0x37a8: 0x000a, 0x37a9: 0x000a,\n\t0x37aa: 0x000a, 0x37ab: 0x000a,\n\t// Block 0xdf, offset 0x37c0\n\t0x37c0: 0x000a, 0x37c1: 0x000a, 0x37c2: 0x000a, 0x37c3: 0x000a, 0x37c4: 0x000a, 0x37c5: 0x000a,\n\t0x37c6: 0x000a, 0x37c7: 0x000a, 0x37c8: 0x000a, 0x37c9: 0x000a, 0x37ca: 0x000a, 0x37cb: 0x000a,\n\t0x37cc: 0x000a, 0x37cd: 0x000a, 0x37ce: 0x000a, 0x37cf: 0x000a, 0x37d0: 0x000a, 0x37d1: 0x000a,\n\t0x37d2: 0x000a, 0x37d3: 0x000a, 0x37d4: 0x000a, 0x37d5: 0x000a, 0x37d6: 0x000a, 0x37d7: 0x000a,\n\t// Block 0xe0, offset 0x3800\n\t0x3800: 0x000a,\n\t0x3810: 0x000a, 0x3811: 0x000a,\n\t0x3812: 0x000a, 0x3813: 0x000a, 0x3814: 0x000a, 0x3815: 0x000a, 0x3816: 0x000a, 0x3817: 0x000a,\n\t0x3818: 0x000a, 0x3819: 0x000a, 0x381a: 0x000a, 0x381b: 0x000a, 0x381c: 0x000a, 0x381d: 0x000a,\n\t0x381e: 0x000a, 0x381f: 0x000a, 0x3820: 0x000a, 0x3821: 0x000a, 0x3822: 0x000a, 0x3823: 0x000a,\n\t0x3824: 0x000a, 0x3825: 0x000a, 0x3826: 0x000a,\n\t// Block 0xe1, offset 0x3840\n\t0x387e: 0x000b, 0x387f: 0x000b,\n\t// Block 0xe2, offset 0x3880\n\t0x3880: 0x000b, 0x3881: 0x000b, 0x3882: 0x000b, 0x3883: 0x000b, 0x3884: 0x000b, 0x3885: 0x000b,\n\t0x3886: 0x000b, 0x3887: 0x000b, 0x3888: 0x000b, 0x3889: 0x000b, 0x388a: 0x000b, 0x388b: 0x000b,\n\t0x388c: 0x000b, 0x388d: 0x000b, 0x388e: 0x000b, 0x388f: 0x000b, 0x3890: 0x000b, 0x3891: 0x000b,\n\t0x3892: 0x000b, 0x3893: 0x000b, 0x3894: 0x000b, 0x3895: 0x000b, 0x3896: 0x000b, 0x3897: 0x000b,\n\t0x3898: 0x000b, 0x3899: 0x000b, 0x389a: 0x000b, 0x389b: 0x000b, 0x389c: 0x000b, 0x389d: 0x000b,\n\t0x389e: 0x000b, 0x389f: 0x000b, 0x38a0: 0x000b, 0x38a1: 0x000b, 0x38a2: 0x000b, 0x38a3: 0x000b,\n\t0x38a4: 0x000b, 0x38a5: 0x000b, 0x38a6: 0x000b, 0x38a7: 0x000b, 0x38a8: 0x000b, 0x38a9: 0x000b,\n\t0x38aa: 0x000b, 0x38ab: 0x000b, 0x38ac: 0x000b, 0x38ad: 0x000b, 0x38ae: 0x000b, 0x38af: 0x000b,\n\t0x38b0: 0x000b, 0x38b1: 0x000b, 0x38b2: 0x000b, 0x38b3: 0x000b, 0x38b4: 0x000b, 0x38b5: 0x000b,\n\t0x38b6: 0x000b, 0x38b7: 0x000b, 0x38b8: 0x000b, 0x38b9: 0x000b, 0x38ba: 0x000b, 0x38bb: 0x000b,\n\t0x38bc: 0x000b, 0x38bd: 0x000b, 0x38be: 0x000b, 0x38bf: 0x000b,\n\t// Block 0xe3, offset 0x38c0\n\t0x38c0: 0x000c, 0x38c1: 0x000c, 0x38c2: 0x000c, 0x38c3: 0x000c, 0x38c4: 0x000c, 0x38c5: 0x000c,\n\t0x38c6: 0x000c, 0x38c7: 0x000c, 0x38c8: 0x000c, 0x38c9: 0x000c, 0x38ca: 0x000c, 0x38cb: 0x000c,\n\t0x38cc: 0x000c, 0x38cd: 0x000c, 0x38ce: 0x000c, 0x38cf: 0x000c, 0x38d0: 0x000c, 0x38d1: 0x000c,\n\t0x38d2: 0x000c, 0x38d3: 0x000c, 0x38d4: 0x000c, 0x38d5: 0x000c, 0x38d6: 0x000c, 0x38d7: 0x000c,\n\t0x38d8: 0x000c, 0x38d9: 0x000c, 0x38da: 0x000c, 0x38db: 0x000c, 0x38dc: 0x000c, 0x38dd: 0x000c,\n\t0x38de: 0x000c, 0x38df: 0x000c, 0x38e0: 0x000c, 0x38e1: 0x000c, 0x38e2: 0x000c, 0x38e3: 0x000c,\n\t0x38e4: 0x000c, 0x38e5: 0x000c, 0x38e6: 0x000c, 0x38e7: 0x000c, 0x38e8: 0x000c, 0x38e9: 0x000c,\n\t0x38ea: 0x000c, 0x38eb: 0x000c, 0x38ec: 0x000c, 0x38ed: 0x000c, 0x38ee: 0x000c, 0x38ef: 0x000c,\n\t0x38f0: 0x000b, 0x38f1: 0x000b, 0x38f2: 0x000b, 0x38f3: 0x000b, 0x38f4: 0x000b, 0x38f5: 0x000b,\n\t0x38f6: 0x000b, 0x38f7: 0x000b, 0x38f8: 0x000b, 0x38f9: 0x000b, 0x38fa: 0x000b, 0x38fb: 0x000b,\n\t0x38fc: 0x000b, 0x38fd: 0x000b, 0x38fe: 0x000b, 0x38ff: 0x000b,\n}\n\n// bidiIndex: 24 blocks, 1536 entries, 1536 bytes\n// Block 0 is the zero block.\nvar bidiIndex = [1536]uint8{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x01, 0xc3: 0x02,\n\t0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08,\n\t0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b,\n\t0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06,\n\t0xea: 0x07, 0xef: 0x08,\n\t0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b,\n\t0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22,\n\t0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28,\n\t0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x31, 0x141: 0x32, 0x142: 0x33,\n\t0x14d: 0x34, 0x14e: 0x35,\n\t0x150: 0x36,\n\t0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b,\n\t0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40,\n\t0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47,\n\t0x170: 0x48, 0x173: 0x49, 0x177: 0x4a,\n\t0x17e: 0x4b, 0x17f: 0x4c,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54,\n\t0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54,\n\t0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54,\n\t0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f,\n\t0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61,\n\t0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x64,\n\t0x1b3: 0x65, 0x1b5: 0x66, 0x1b7: 0x67,\n\t0x1b8: 0x68, 0x1b9: 0x69, 0x1ba: 0x6a, 0x1bb: 0x6b, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6c,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x6d, 0x1c2: 0x6e, 0x1c3: 0x6f, 0x1c7: 0x70,\n\t0x1c8: 0x71, 0x1c9: 0x72, 0x1ca: 0x73, 0x1cb: 0x74, 0x1cd: 0x75, 0x1cf: 0x76,\n\t// Block 0x8, offset 0x200\n\t0x237: 0x54,\n\t// Block 0x9, offset 0x240\n\t0x252: 0x77, 0x253: 0x78,\n\t0x258: 0x79, 0x259: 0x7a, 0x25a: 0x7b, 0x25b: 0x7c, 0x25c: 0x7d, 0x25e: 0x7e,\n\t0x260: 0x7f, 0x261: 0x80, 0x263: 0x81, 0x264: 0x82, 0x265: 0x83, 0x266: 0x84, 0x267: 0x85,\n\t0x268: 0x86, 0x269: 0x87, 0x26a: 0x88, 0x26b: 0x89, 0x26f: 0x8a,\n\t// Block 0xa, offset 0x280\n\t0x2ac: 0x8b, 0x2ad: 0x8c, 0x2ae: 0x0e, 0x2af: 0x0e,\n\t0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8d, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8e,\n\t0x2b8: 0x8f, 0x2b9: 0x90, 0x2ba: 0x0e, 0x2bb: 0x91, 0x2bc: 0x92, 0x2bd: 0x93, 0x2bf: 0x94,\n\t// Block 0xb, offset 0x2c0\n\t0x2c4: 0x95, 0x2c5: 0x54, 0x2c6: 0x96, 0x2c7: 0x97,\n\t0x2cb: 0x98, 0x2cd: 0x99,\n\t0x2e0: 0x9a, 0x2e1: 0x9a, 0x2e2: 0x9a, 0x2e3: 0x9a, 0x2e4: 0x9b, 0x2e5: 0x9a, 0x2e6: 0x9a, 0x2e7: 0x9a,\n\t0x2e8: 0x9c, 0x2e9: 0x9a, 0x2ea: 0x9a, 0x2eb: 0x9d, 0x2ec: 0x9e, 0x2ed: 0x9a, 0x2ee: 0x9a, 0x2ef: 0x9a,\n\t0x2f0: 0x9a, 0x2f1: 0x9a, 0x2f2: 0x9a, 0x2f3: 0x9a, 0x2f4: 0x9a, 0x2f5: 0x9a, 0x2f6: 0x9a, 0x2f7: 0x9a,\n\t0x2f8: 0x9a, 0x2f9: 0x9f, 0x2fa: 0x9a, 0x2fb: 0x9a, 0x2fc: 0x9a, 0x2fd: 0x9a, 0x2fe: 0x9a, 0x2ff: 0x9a,\n\t// Block 0xc, offset 0x300\n\t0x300: 0xa0, 0x301: 0xa1, 0x302: 0xa2, 0x304: 0xa3, 0x305: 0xa4, 0x306: 0xa5, 0x307: 0xa6,\n\t0x308: 0xa7, 0x30b: 0xa8, 0x30c: 0xa9, 0x30d: 0xaa,\n\t0x310: 0xab, 0x311: 0xac, 0x312: 0xad, 0x313: 0xae, 0x316: 0xaf, 0x317: 0xb0,\n\t0x318: 0xb1, 0x319: 0xb2, 0x31a: 0xb3, 0x31c: 0xb4,\n\t0x328: 0xb5, 0x329: 0xb6, 0x32a: 0xb7,\n\t0x330: 0xb8, 0x332: 0xb9, 0x334: 0xba, 0x335: 0xbb,\n\t// Block 0xd, offset 0x340\n\t0x36b: 0xbc, 0x36c: 0xbd,\n\t0x37e: 0xbe,\n\t// Block 0xe, offset 0x380\n\t0x3b2: 0xbf,\n\t// Block 0xf, offset 0x3c0\n\t0x3c5: 0xc0, 0x3c6: 0xc1,\n\t0x3c8: 0x54, 0x3c9: 0xc2, 0x3cc: 0x54, 0x3cd: 0xc3,\n\t0x3db: 0xc4, 0x3dc: 0xc5, 0x3dd: 0xc6, 0x3de: 0xc7, 0x3df: 0xc8,\n\t0x3e8: 0xc9, 0x3e9: 0xca, 0x3ea: 0xcb,\n\t// Block 0x10, offset 0x400\n\t0x400: 0xcc,\n\t0x420: 0x9a, 0x421: 0x9a, 0x422: 0x9a, 0x423: 0xcd, 0x424: 0x9a, 0x425: 0xce, 0x426: 0x9a, 0x427: 0x9a,\n\t0x428: 0x9a, 0x429: 0x9a, 0x42a: 0x9a, 0x42b: 0x9a, 0x42c: 0x9a, 0x42d: 0x9a, 0x42e: 0x9a, 0x42f: 0x9a,\n\t0x430: 0x9a, 0x431: 0x9a, 0x432: 0x9a, 0x433: 0x9a, 0x434: 0x9a, 0x435: 0x9a, 0x436: 0x9a, 0x437: 0x9a,\n\t0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcf, 0x43c: 0x9a, 0x43d: 0x9a, 0x43e: 0x9a, 0x43f: 0x9a,\n\t// Block 0x11, offset 0x440\n\t0x440: 0xd0, 0x441: 0x54, 0x442: 0xd1, 0x443: 0xd2, 0x444: 0xd3, 0x445: 0xd4,\n\t0x449: 0xd5, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54,\n\t0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54,\n\t0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd6, 0x45c: 0x54, 0x45d: 0x6b, 0x45e: 0x54, 0x45f: 0xd7,\n\t0x460: 0xd8, 0x461: 0xd9, 0x462: 0xda, 0x464: 0xdb, 0x465: 0xdc, 0x466: 0xdd, 0x467: 0xde,\n\t0x47f: 0xdf,\n\t// Block 0x12, offset 0x480\n\t0x4bf: 0xdf,\n\t// Block 0x13, offset 0x4c0\n\t0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b,\n\t0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f,\n\t0x4ef: 0x10,\n\t0x4ff: 0x10,\n\t// Block 0x14, offset 0x500\n\t0x50f: 0x10,\n\t0x51f: 0x10,\n\t0x52f: 0x10,\n\t0x53f: 0x10,\n\t// Block 0x15, offset 0x540\n\t0x540: 0xe0, 0x541: 0xe0, 0x542: 0xe0, 0x543: 0xe0, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xe1,\n\t0x548: 0xe0, 0x549: 0xe0, 0x54a: 0xe0, 0x54b: 0xe0, 0x54c: 0xe0, 0x54d: 0xe0, 0x54e: 0xe0, 0x54f: 0xe0,\n\t0x550: 0xe0, 0x551: 0xe0, 0x552: 0xe0, 0x553: 0xe0, 0x554: 0xe0, 0x555: 0xe0, 0x556: 0xe0, 0x557: 0xe0,\n\t0x558: 0xe0, 0x559: 0xe0, 0x55a: 0xe0, 0x55b: 0xe0, 0x55c: 0xe0, 0x55d: 0xe0, 0x55e: 0xe0, 0x55f: 0xe0,\n\t0x560: 0xe0, 0x561: 0xe0, 0x562: 0xe0, 0x563: 0xe0, 0x564: 0xe0, 0x565: 0xe0, 0x566: 0xe0, 0x567: 0xe0,\n\t0x568: 0xe0, 0x569: 0xe0, 0x56a: 0xe0, 0x56b: 0xe0, 0x56c: 0xe0, 0x56d: 0xe0, 0x56e: 0xe0, 0x56f: 0xe0,\n\t0x570: 0xe0, 0x571: 0xe0, 0x572: 0xe0, 0x573: 0xe0, 0x574: 0xe0, 0x575: 0xe0, 0x576: 0xe0, 0x577: 0xe0,\n\t0x578: 0xe0, 0x579: 0xe0, 0x57a: 0xe0, 0x57b: 0xe0, 0x57c: 0xe0, 0x57d: 0xe0, 0x57e: 0xe0, 0x57f: 0xe0,\n\t// Block 0x16, offset 0x580\n\t0x58f: 0x10,\n\t0x59f: 0x10,\n\t0x5a0: 0x13,\n\t0x5af: 0x10,\n\t0x5bf: 0x10,\n\t// Block 0x17, offset 0x5c0\n\t0x5cf: 0x10,\n}\n\n// Total table size 16184 bytes (15KiB); checksum: F50EF68C\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// +build !go1.10\n\npackage bidi\n\n// UnicodeVersion is the Unicode version from which the tables in this package are derived.\nconst UnicodeVersion = \"9.0.0\"\n\n// xorMasks contains masks to be xor-ed with brackets to get the reverse\n// version.\nvar xorMasks = []int32{ // 8 elements\n\t0, 1, 6, 7, 3, 15, 29, 63,\n} // Size: 56 bytes\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *bidiTrie) lookup(s []byte) (v uint8, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn bidiValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = bidiIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *bidiTrie) lookupUnsafe(s []byte) uint8 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn bidiValues[c0]\n\t}\n\ti := bidiIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *bidiTrie) lookupString(s string) (v uint8, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn bidiValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = bidiIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *bidiTrie) lookupStringUnsafe(s string) uint8 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn bidiValues[c0]\n\t}\n\ti := bidiIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// bidiTrie. Total size: 15744 bytes (15.38 KiB). Checksum: b4c3b70954803b86.\ntype bidiTrie struct{}\n\nfunc newBidiTrie(i int) *bidiTrie {\n\treturn &bidiTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *bidiTrie) lookupValue(n uint32, b byte) uint8 {\n\tswitch {\n\tdefault:\n\t\treturn uint8(bidiValues[n<<6+uint32(b)])\n\t}\n}\n\n// bidiValues: 222 blocks, 14208 entries, 14208 bytes\n// The third block is the zero block.\nvar bidiValues = [14208]uint8{\n\t// Block 0x0, offset 0x0\n\t0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b,\n\t0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008,\n\t0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b,\n\t0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b,\n\t0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007,\n\t0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004,\n\t0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a,\n\t0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006,\n\t0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002,\n\t0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a,\n\t0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a,\n\t// Block 0x1, offset 0x40\n\t0x40: 0x000a,\n\t0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a,\n\t0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a,\n\t0x7b: 0x005a,\n\t0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007,\n\t0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b,\n\t0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b,\n\t0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b,\n\t0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b,\n\t0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004,\n\t0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a,\n\t0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a,\n\t0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a,\n\t0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a,\n\t0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a,\n\t// Block 0x4, offset 0x100\n\t0x117: 0x000a,\n\t0x137: 0x000a,\n\t// Block 0x5, offset 0x140\n\t0x179: 0x000a, 0x17a: 0x000a,\n\t// Block 0x6, offset 0x180\n\t0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a,\n\t0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a,\n\t0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a,\n\t0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a,\n\t0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a,\n\t0x19e: 0x000a, 0x19f: 0x000a,\n\t0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a,\n\t0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a,\n\t0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a,\n\t0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a,\n\t0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c,\n\t0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c,\n\t0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c,\n\t0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c,\n\t0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c,\n\t0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c,\n\t0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c,\n\t0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c,\n\t0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c,\n\t0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c,\n\t0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c,\n\t0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c,\n\t0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c,\n\t0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c,\n\t0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c,\n\t0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c,\n\t0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c,\n\t0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c,\n\t0x234: 0x000a, 0x235: 0x000a,\n\t0x23e: 0x000a,\n\t// Block 0x9, offset 0x240\n\t0x244: 0x000a, 0x245: 0x000a,\n\t0x247: 0x000a,\n\t// Block 0xa, offset 0x280\n\t0x2b6: 0x000a,\n\t// Block 0xb, offset 0x2c0\n\t0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c,\n\t0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c,\n\t// Block 0xc, offset 0x300\n\t0x30a: 0x000a,\n\t0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c,\n\t0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c,\n\t0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c,\n\t0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c,\n\t0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c,\n\t0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c,\n\t0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c,\n\t0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c,\n\t0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c,\n\t// Block 0xd, offset 0x340\n\t0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c,\n\t0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001,\n\t0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001,\n\t0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001,\n\t0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001,\n\t0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001,\n\t0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001,\n\t0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001,\n\t0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001,\n\t0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001,\n\t0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001,\n\t// Block 0xe, offset 0x380\n\t0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005,\n\t0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d,\n\t0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c,\n\t0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c,\n\t0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d,\n\t0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d,\n\t0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d,\n\t0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d,\n\t0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d,\n\t0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d,\n\t0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d,\n\t// Block 0xf, offset 0x3c0\n\t0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d,\n\t0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c,\n\t0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c,\n\t0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c,\n\t0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c,\n\t0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005,\n\t0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005,\n\t0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d,\n\t0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d,\n\t0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d,\n\t0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d,\n\t// Block 0x10, offset 0x400\n\t0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d,\n\t0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d,\n\t0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d,\n\t0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d,\n\t0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d,\n\t0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d,\n\t0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d,\n\t0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d,\n\t0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d,\n\t0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d,\n\t0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d,\n\t0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d,\n\t0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d,\n\t0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c,\n\t0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005,\n\t0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c,\n\t0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a,\n\t0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d,\n\t0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002,\n\t0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d,\n\t0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d,\n\t// Block 0x12, offset 0x480\n\t0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d,\n\t0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d,\n\t0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c,\n\t0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d,\n\t0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d,\n\t0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d,\n\t0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d,\n\t0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d,\n\t0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c,\n\t0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c,\n\t0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c,\n\t0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d,\n\t0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d,\n\t0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d,\n\t0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d,\n\t0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d,\n\t0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d,\n\t0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d,\n\t0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d,\n\t0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d,\n\t0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d,\n\t0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d,\n\t0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d,\n\t0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d,\n\t0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d,\n\t0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d,\n\t0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c,\n\t0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c,\n\t0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d,\n\t0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d,\n\t0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001,\n\t0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001,\n\t0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001,\n\t0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001,\n\t0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001,\n\t0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001,\n\t0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001,\n\t0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c,\n\t0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001,\n\t0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001,\n\t0x57c: 0x0001, 0x57d: 0x0001, 0x57e: 0x0001, 0x57f: 0x0001,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001,\n\t0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001,\n\t0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001,\n\t0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c,\n\t0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c,\n\t0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c,\n\t0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c,\n\t0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001,\n\t0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001,\n\t0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001,\n\t0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001,\n\t0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001,\n\t0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001,\n\t0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001,\n\t0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001,\n\t0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x0001, 0x5e1: 0x0001, 0x5e2: 0x0001, 0x5e3: 0x0001,\n\t0x5e4: 0x0001, 0x5e5: 0x0001, 0x5e6: 0x0001, 0x5e7: 0x0001, 0x5e8: 0x0001, 0x5e9: 0x0001,\n\t0x5ea: 0x0001, 0x5eb: 0x0001, 0x5ec: 0x0001, 0x5ed: 0x0001, 0x5ee: 0x0001, 0x5ef: 0x0001,\n\t0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001,\n\t0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001,\n\t0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001,\n\t0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001,\n\t0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001,\n\t0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001,\n\t0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001,\n\t0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d,\n\t0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d,\n\t0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d,\n\t0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d,\n\t0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d,\n\t0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d,\n\t0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d,\n\t0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d,\n\t0x652: 0x000d, 0x653: 0x000d, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c,\n\t0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c,\n\t0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c,\n\t0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c,\n\t0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c,\n\t0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c,\n\t0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c,\n\t0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c,\n\t0x6ba: 0x000c,\n\t0x6bc: 0x000c,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c,\n\t0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c,\n\t0x6cd: 0x000c, 0x6d1: 0x000c,\n\t0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c,\n\t0x6e2: 0x000c, 0x6e3: 0x000c,\n\t// Block 0x1c, offset 0x700\n\t0x701: 0x000c,\n\t0x73c: 0x000c,\n\t// Block 0x1d, offset 0x740\n\t0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c,\n\t0x74d: 0x000c,\n\t0x762: 0x000c, 0x763: 0x000c,\n\t0x772: 0x0004, 0x773: 0x0004,\n\t0x77b: 0x0004,\n\t// Block 0x1e, offset 0x780\n\t0x781: 0x000c, 0x782: 0x000c,\n\t0x7bc: 0x000c,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c1: 0x000c, 0x7c2: 0x000c,\n\t0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c,\n\t0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c,\n\t0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c,\n\t// Block 0x20, offset 0x800\n\t0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c,\n\t0x807: 0x000c, 0x808: 0x000c,\n\t0x80d: 0x000c,\n\t0x822: 0x000c, 0x823: 0x000c,\n\t0x831: 0x0004,\n\t// Block 0x21, offset 0x840\n\t0x841: 0x000c,\n\t0x87c: 0x000c, 0x87f: 0x000c,\n\t// Block 0x22, offset 0x880\n\t0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c,\n\t0x88d: 0x000c,\n\t0x896: 0x000c,\n\t0x8a2: 0x000c, 0x8a3: 0x000c,\n\t// Block 0x23, offset 0x8c0\n\t0x8c2: 0x000c,\n\t// Block 0x24, offset 0x900\n\t0x900: 0x000c,\n\t0x90d: 0x000c,\n\t0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a,\n\t0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a,\n\t// Block 0x25, offset 0x940\n\t0x940: 0x000c,\n\t0x97e: 0x000c, 0x97f: 0x000c,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x000c,\n\t0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c,\n\t0x98c: 0x000c, 0x98d: 0x000c,\n\t0x995: 0x000c, 0x996: 0x000c,\n\t0x9a2: 0x000c, 0x9a3: 0x000c,\n\t0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a,\n\t0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a,\n\t// Block 0x27, offset 0x9c0\n\t0x9cc: 0x000c, 0x9cd: 0x000c,\n\t0x9e2: 0x000c, 0x9e3: 0x000c,\n\t// Block 0x28, offset 0xa00\n\t0xa01: 0x000c,\n\t// Block 0x29, offset 0xa40\n\t0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c,\n\t0xa4d: 0x000c,\n\t0xa62: 0x000c, 0xa63: 0x000c,\n\t// Block 0x2a, offset 0xa80\n\t0xa8a: 0x000c,\n\t0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c,\n\t// Block 0x2b, offset 0xac0\n\t0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c,\n\t0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c,\n\t0xaff: 0x0004,\n\t// Block 0x2c, offset 0xb00\n\t0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c,\n\t0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c,\n\t// Block 0x2d, offset 0xb40\n\t0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c,\n\t0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7b: 0x000c,\n\t0xb7c: 0x000c,\n\t// Block 0x2e, offset 0xb80\n\t0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c,\n\t0xb8c: 0x000c, 0xb8d: 0x000c,\n\t// Block 0x2f, offset 0xbc0\n\t0xbd8: 0x000c, 0xbd9: 0x000c,\n\t0xbf5: 0x000c,\n\t0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a,\n\t0xbfc: 0x003a, 0xbfd: 0x002a,\n\t// Block 0x30, offset 0xc00\n\t0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c,\n\t0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c,\n\t0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c,\n\t// Block 0x31, offset 0xc40\n\t0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c,\n\t0xc46: 0x000c, 0xc47: 0x000c,\n\t0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c,\n\t0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c,\n\t0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c,\n\t0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c,\n\t0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c,\n\t0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c,\n\t0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c,\n\t0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c,\n\t0xc7c: 0x000c,\n\t// Block 0x32, offset 0xc80\n\t0xc86: 0x000c,\n\t// Block 0x33, offset 0xcc0\n\t0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c,\n\t0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c,\n\t0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c,\n\t0xcfd: 0x000c, 0xcfe: 0x000c,\n\t// Block 0x34, offset 0xd00\n\t0xd18: 0x000c, 0xd19: 0x000c,\n\t0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c,\n\t0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c,\n\t// Block 0x35, offset 0xd40\n\t0xd42: 0x000c, 0xd45: 0x000c,\n\t0xd46: 0x000c,\n\t0xd4d: 0x000c,\n\t0xd5d: 0x000c,\n\t// Block 0x36, offset 0xd80\n\t0xd9d: 0x000c,\n\t0xd9e: 0x000c, 0xd9f: 0x000c,\n\t// Block 0x37, offset 0xdc0\n\t0xdd0: 0x000a, 0xdd1: 0x000a,\n\t0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a,\n\t0xdd8: 0x000a, 0xdd9: 0x000a,\n\t// Block 0x38, offset 0xe00\n\t0xe00: 0x000a,\n\t// Block 0x39, offset 0xe40\n\t0xe40: 0x0009,\n\t0xe5b: 0x007a, 0xe5c: 0x006a,\n\t// Block 0x3a, offset 0xe80\n\t0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c,\n\t0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c,\n\t// Block 0x3b, offset 0xec0\n\t0xed2: 0x000c, 0xed3: 0x000c,\n\t0xef2: 0x000c, 0xef3: 0x000c,\n\t// Block 0x3c, offset 0xf00\n\t0xf34: 0x000c, 0xf35: 0x000c,\n\t0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c,\n\t0xf3c: 0x000c, 0xf3d: 0x000c,\n\t// Block 0x3d, offset 0xf40\n\t0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c,\n\t0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c,\n\t0xf52: 0x000c, 0xf53: 0x000c,\n\t0xf5b: 0x0004, 0xf5d: 0x000c,\n\t0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a,\n\t0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a,\n\t// Block 0x3e, offset 0xf80\n\t0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a,\n\t0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c,\n\t0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b,\n\t// Block 0x3f, offset 0xfc0\n\t0xfc5: 0x000c,\n\t0xfc6: 0x000c,\n\t0xfe9: 0x000c,\n\t// Block 0x40, offset 0x1000\n\t0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c,\n\t0x1027: 0x000c, 0x1028: 0x000c,\n\t0x1032: 0x000c,\n\t0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c,\n\t// Block 0x41, offset 0x1040\n\t0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a,\n\t// Block 0x42, offset 0x1080\n\t0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a,\n\t0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a,\n\t0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a,\n\t0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a,\n\t0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a,\n\t0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a,\n\t// Block 0x43, offset 0x10c0\n\t0x10d7: 0x000c,\n\t0x10d8: 0x000c, 0x10db: 0x000c,\n\t// Block 0x44, offset 0x1100\n\t0x1116: 0x000c,\n\t0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c,\n\t0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c,\n\t0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c,\n\t0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c,\n\t0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c,\n\t0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c,\n\t0x113c: 0x000c, 0x113f: 0x000c,\n\t// Block 0x45, offset 0x1140\n\t0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c,\n\t0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c,\n\t0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c,\n\t// Block 0x46, offset 0x1180\n\t0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c,\n\t0x11b4: 0x000c,\n\t0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c,\n\t0x11bc: 0x000c,\n\t// Block 0x47, offset 0x11c0\n\t0x11c2: 0x000c,\n\t0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c,\n\t0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0x000c, 0x1201: 0x000c,\n\t0x1222: 0x000c, 0x1223: 0x000c,\n\t0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c,\n\t0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c,\n\t// Block 0x49, offset 0x1240\n\t0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c,\n\t0x126d: 0x000c, 0x126f: 0x000c,\n\t0x1270: 0x000c, 0x1271: 0x000c,\n\t// Block 0x4a, offset 0x1280\n\t0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c,\n\t0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c,\n\t0x12b6: 0x000c, 0x12b7: 0x000c,\n\t// Block 0x4b, offset 0x12c0\n\t0x12d0: 0x000c, 0x12d1: 0x000c,\n\t0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c,\n\t0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c,\n\t0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c,\n\t0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c,\n\t0x12ed: 0x000c,\n\t0x12f4: 0x000c,\n\t0x12f8: 0x000c, 0x12f9: 0x000c,\n\t// Block 0x4c, offset 0x1300\n\t0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c,\n\t0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c,\n\t0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c,\n\t0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c,\n\t0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c,\n\t0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c,\n\t0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c,\n\t0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c,\n\t0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c,\n\t0x133b: 0x000c,\n\t0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c,\n\t// Block 0x4d, offset 0x1340\n\t0x137d: 0x000a, 0x137f: 0x000a,\n\t// Block 0x4e, offset 0x1380\n\t0x1380: 0x000a, 0x1381: 0x000a,\n\t0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a,\n\t0x139d: 0x000a,\n\t0x139e: 0x000a, 0x139f: 0x000a,\n\t0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a,\n\t0x13bd: 0x000a, 0x13be: 0x000a,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009,\n\t0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b,\n\t0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a,\n\t0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a,\n\t0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a,\n\t0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a,\n\t0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007,\n\t0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006,\n\t0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a,\n\t0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a,\n\t0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a,\n\t// Block 0x50, offset 0x1400\n\t0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a,\n\t0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a,\n\t0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a,\n\t0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a,\n\t0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a,\n\t0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b,\n\t0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e,\n\t0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b,\n\t0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002,\n\t0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003,\n\t0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a,\n\t// Block 0x51, offset 0x1440\n\t0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002,\n\t0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003,\n\t0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a,\n\t0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004,\n\t0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004,\n\t0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004,\n\t0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004,\n\t0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004,\n\t0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004,\n\t0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004,\n\t0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c,\n\t0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c,\n\t0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c,\n\t0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c,\n\t0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c,\n\t0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c,\n\t0x14b0: 0x000c,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a,\n\t0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a,\n\t0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a,\n\t0x14d8: 0x000a,\n\t0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a,\n\t0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a,\n\t0x14ee: 0x0004,\n\t0x14fa: 0x000a, 0x14fb: 0x000a,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a,\n\t0x150a: 0x000a, 0x150b: 0x000a,\n\t0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a,\n\t0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a,\n\t0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a,\n\t0x151e: 0x000a, 0x151f: 0x000a,\n\t// Block 0x55, offset 0x1540\n\t0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a,\n\t0x1550: 0x000a, 0x1551: 0x000a,\n\t0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a,\n\t0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a,\n\t0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a,\n\t0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a,\n\t0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a,\n\t0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a,\n\t0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a,\n\t0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a,\n\t// Block 0x56, offset 0x1580\n\t0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a,\n\t0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a,\n\t0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a,\n\t0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a,\n\t0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a,\n\t0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a,\n\t0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a,\n\t0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a,\n\t0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a,\n\t0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a,\n\t0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a,\n\t// Block 0x57, offset 0x15c0\n\t0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a,\n\t0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a,\n\t0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a,\n\t0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a,\n\t0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a,\n\t0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a,\n\t0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a,\n\t0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a,\n\t0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a,\n\t0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a,\n\t0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a,\n\t// Block 0x58, offset 0x1600\n\t0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a,\n\t0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a,\n\t0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a,\n\t0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a,\n\t0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a,\n\t0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a,\n\t0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a,\n\t0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a,\n\t0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a,\n\t// Block 0x59, offset 0x1640\n\t0x167b: 0x000a,\n\t0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a,\n\t// Block 0x5a, offset 0x1680\n\t0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a,\n\t0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a,\n\t0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a,\n\t0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a,\n\t0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a,\n\t0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a,\n\t0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a,\n\t0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a,\n\t0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a,\n\t0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a,\n\t0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a,\n\t0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a,\n\t0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a,\n\t0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a,\n\t0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a,\n\t0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a,\n\t0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, 0x16e7: 0x000a, 0x16e8: 0x000a, 0x16e9: 0x000a,\n\t0x16ea: 0x000a, 0x16eb: 0x000a, 0x16ec: 0x000a, 0x16ed: 0x000a, 0x16ee: 0x000a, 0x16ef: 0x000a,\n\t0x16f0: 0x000a, 0x16f1: 0x000a, 0x16f2: 0x000a, 0x16f3: 0x000a, 0x16f4: 0x000a, 0x16f5: 0x000a,\n\t0x16f6: 0x000a, 0x16f7: 0x000a, 0x16f8: 0x000a, 0x16f9: 0x000a, 0x16fa: 0x000a, 0x16fb: 0x000a,\n\t0x16fc: 0x000a, 0x16fd: 0x000a, 0x16fe: 0x000a,\n\t// Block 0x5c, offset 0x1700\n\t0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a,\n\t0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, 0x170b: 0x000a,\n\t0x170c: 0x000a, 0x170d: 0x000a, 0x170e: 0x000a, 0x170f: 0x000a, 0x1710: 0x000a, 0x1711: 0x000a,\n\t0x1712: 0x000a, 0x1713: 0x000a, 0x1714: 0x000a, 0x1715: 0x000a, 0x1716: 0x000a, 0x1717: 0x000a,\n\t0x1718: 0x000a, 0x1719: 0x000a, 0x171a: 0x000a, 0x171b: 0x000a, 0x171c: 0x000a, 0x171d: 0x000a,\n\t0x171e: 0x000a, 0x171f: 0x000a, 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a,\n\t0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a,\n\t// Block 0x5d, offset 0x1740\n\t0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a,\n\t0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x000a, 0x1749: 0x000a, 0x174a: 0x000a,\n\t0x1760: 0x000a, 0x1761: 0x000a, 0x1762: 0x000a, 0x1763: 0x000a,\n\t0x1764: 0x000a, 0x1765: 0x000a, 0x1766: 0x000a, 0x1767: 0x000a, 0x1768: 0x000a, 0x1769: 0x000a,\n\t0x176a: 0x000a, 0x176b: 0x000a, 0x176c: 0x000a, 0x176d: 0x000a, 0x176e: 0x000a, 0x176f: 0x000a,\n\t0x1770: 0x000a, 0x1771: 0x000a, 0x1772: 0x000a, 0x1773: 0x000a, 0x1774: 0x000a, 0x1775: 0x000a,\n\t0x1776: 0x000a, 0x1777: 0x000a, 0x1778: 0x000a, 0x1779: 0x000a, 0x177a: 0x000a, 0x177b: 0x000a,\n\t0x177c: 0x000a, 0x177d: 0x000a, 0x177e: 0x000a, 0x177f: 0x000a,\n\t// Block 0x5e, offset 0x1780\n\t0x1780: 0x000a, 0x1781: 0x000a, 0x1782: 0x000a, 0x1783: 0x000a, 0x1784: 0x000a, 0x1785: 0x000a,\n\t0x1786: 0x000a, 0x1787: 0x000a, 0x1788: 0x0002, 0x1789: 0x0002, 0x178a: 0x0002, 0x178b: 0x0002,\n\t0x178c: 0x0002, 0x178d: 0x0002, 0x178e: 0x0002, 0x178f: 0x0002, 0x1790: 0x0002, 0x1791: 0x0002,\n\t0x1792: 0x0002, 0x1793: 0x0002, 0x1794: 0x0002, 0x1795: 0x0002, 0x1796: 0x0002, 0x1797: 0x0002,\n\t0x1798: 0x0002, 0x1799: 0x0002, 0x179a: 0x0002, 0x179b: 0x0002,\n\t// Block 0x5f, offset 0x17c0\n\t0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ec: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a,\n\t0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a,\n\t0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a,\n\t0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a,\n\t// Block 0x60, offset 0x1800\n\t0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a,\n\t0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a,\n\t0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a,\n\t0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a,\n\t0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a,\n\t0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a,\n\t0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x000a, 0x1829: 0x000a,\n\t0x182a: 0x000a, 0x182b: 0x000a, 0x182d: 0x000a, 0x182e: 0x000a, 0x182f: 0x000a,\n\t0x1830: 0x000a, 0x1831: 0x000a, 0x1832: 0x000a, 0x1833: 0x000a, 0x1834: 0x000a, 0x1835: 0x000a,\n\t0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a,\n\t0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a,\n\t// Block 0x61, offset 0x1840\n\t0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x000a,\n\t0x1846: 0x000a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a,\n\t0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a,\n\t0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a,\n\t0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a,\n\t0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a,\n\t0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x000a, 0x1867: 0x000a, 0x1868: 0x003a, 0x1869: 0x002a,\n\t0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a,\n\t0x1870: 0x003a, 0x1871: 0x002a, 0x1872: 0x003a, 0x1873: 0x002a, 0x1874: 0x003a, 0x1875: 0x002a,\n\t0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a,\n\t0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a,\n\t// Block 0x62, offset 0x1880\n\t0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x000a, 0x1884: 0x000a, 0x1885: 0x009a,\n\t0x1886: 0x008a, 0x1887: 0x000a, 0x1888: 0x000a, 0x1889: 0x000a, 0x188a: 0x000a, 0x188b: 0x000a,\n\t0x188c: 0x000a, 0x188d: 0x000a, 0x188e: 0x000a, 0x188f: 0x000a, 0x1890: 0x000a, 0x1891: 0x000a,\n\t0x1892: 0x000a, 0x1893: 0x000a, 0x1894: 0x000a, 0x1895: 0x000a, 0x1896: 0x000a, 0x1897: 0x000a,\n\t0x1898: 0x000a, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a,\n\t0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a,\n\t0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x003a, 0x18a7: 0x002a, 0x18a8: 0x003a, 0x18a9: 0x002a,\n\t0x18aa: 0x003a, 0x18ab: 0x002a, 0x18ac: 0x003a, 0x18ad: 0x002a, 0x18ae: 0x003a, 0x18af: 0x002a,\n\t0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a,\n\t0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a,\n\t0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a,\n\t// Block 0x63, offset 0x18c0\n\t0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x007a, 0x18c4: 0x006a, 0x18c5: 0x009a,\n\t0x18c6: 0x008a, 0x18c7: 0x00ba, 0x18c8: 0x00aa, 0x18c9: 0x009a, 0x18ca: 0x008a, 0x18cb: 0x007a,\n\t0x18cc: 0x006a, 0x18cd: 0x00da, 0x18ce: 0x002a, 0x18cf: 0x003a, 0x18d0: 0x00ca, 0x18d1: 0x009a,\n\t0x18d2: 0x008a, 0x18d3: 0x007a, 0x18d4: 0x006a, 0x18d5: 0x009a, 0x18d6: 0x008a, 0x18d7: 0x00ba,\n\t0x18d8: 0x00aa, 0x18d9: 0x000a, 0x18da: 0x000a, 0x18db: 0x000a, 0x18dc: 0x000a, 0x18dd: 0x000a,\n\t0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a,\n\t0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a,\n\t0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a,\n\t0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a,\n\t0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a,\n\t0x18fc: 0x000a, 0x18fd: 0x000a, 0x18fe: 0x000a, 0x18ff: 0x000a,\n\t// Block 0x64, offset 0x1900\n\t0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a,\n\t0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a,\n\t0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a,\n\t0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a,\n\t0x1918: 0x003a, 0x1919: 0x002a, 0x191a: 0x003a, 0x191b: 0x002a, 0x191c: 0x000a, 0x191d: 0x000a,\n\t0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a,\n\t0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a,\n\t0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a,\n\t0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, 0x1934: 0x000a, 0x1935: 0x000a,\n\t0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a,\n\t0x193c: 0x003a, 0x193d: 0x002a, 0x193e: 0x000a, 0x193f: 0x000a,\n\t// Block 0x65, offset 0x1940\n\t0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a,\n\t0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a,\n\t0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a,\n\t0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, 0x1956: 0x000a, 0x1957: 0x000a,\n\t0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a,\n\t0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a,\n\t0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a,\n\t0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a,\n\t0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a,\n\t0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a,\n\t0x197c: 0x000a, 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a,\n\t// Block 0x66, offset 0x1980\n\t0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a,\n\t0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x1989: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a,\n\t0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a,\n\t0x1992: 0x000a, 0x1993: 0x000a, 0x1994: 0x000a, 0x1995: 0x000a,\n\t0x1998: 0x000a, 0x1999: 0x000a, 0x199a: 0x000a, 0x199b: 0x000a, 0x199c: 0x000a, 0x199d: 0x000a,\n\t0x199e: 0x000a, 0x199f: 0x000a, 0x19a0: 0x000a, 0x19a1: 0x000a, 0x19a2: 0x000a, 0x19a3: 0x000a,\n\t0x19a4: 0x000a, 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a,\n\t0x19aa: 0x000a, 0x19ab: 0x000a, 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a,\n\t0x19b0: 0x000a, 0x19b1: 0x000a, 0x19b2: 0x000a, 0x19b3: 0x000a, 0x19b4: 0x000a, 0x19b5: 0x000a,\n\t0x19b6: 0x000a, 0x19b7: 0x000a, 0x19b8: 0x000a, 0x19b9: 0x000a,\n\t0x19bd: 0x000a, 0x19be: 0x000a, 0x19bf: 0x000a,\n\t// Block 0x67, offset 0x19c0\n\t0x19c0: 0x000a, 0x19c1: 0x000a, 0x19c2: 0x000a, 0x19c3: 0x000a, 0x19c4: 0x000a, 0x19c5: 0x000a,\n\t0x19c6: 0x000a, 0x19c7: 0x000a, 0x19c8: 0x000a, 0x19ca: 0x000a, 0x19cb: 0x000a,\n\t0x19cc: 0x000a, 0x19cd: 0x000a, 0x19ce: 0x000a, 0x19cf: 0x000a, 0x19d0: 0x000a, 0x19d1: 0x000a,\n\t0x19ec: 0x000a, 0x19ed: 0x000a, 0x19ee: 0x000a, 0x19ef: 0x000a,\n\t// Block 0x68, offset 0x1a00\n\t0x1a25: 0x000a, 0x1a26: 0x000a, 0x1a27: 0x000a, 0x1a28: 0x000a, 0x1a29: 0x000a,\n\t0x1a2a: 0x000a, 0x1a2f: 0x000c,\n\t0x1a30: 0x000c, 0x1a31: 0x000c,\n\t0x1a39: 0x000a, 0x1a3a: 0x000a, 0x1a3b: 0x000a,\n\t0x1a3c: 0x000a, 0x1a3d: 0x000a, 0x1a3e: 0x000a, 0x1a3f: 0x000a,\n\t// Block 0x69, offset 0x1a40\n\t0x1a7f: 0x000c,\n\t// Block 0x6a, offset 0x1a80\n\t0x1aa0: 0x000c, 0x1aa1: 0x000c, 0x1aa2: 0x000c, 0x1aa3: 0x000c,\n\t0x1aa4: 0x000c, 0x1aa5: 0x000c, 0x1aa6: 0x000c, 0x1aa7: 0x000c, 0x1aa8: 0x000c, 0x1aa9: 0x000c,\n\t0x1aaa: 0x000c, 0x1aab: 0x000c, 0x1aac: 0x000c, 0x1aad: 0x000c, 0x1aae: 0x000c, 0x1aaf: 0x000c,\n\t0x1ab0: 0x000c, 0x1ab1: 0x000c, 0x1ab2: 0x000c, 0x1ab3: 0x000c, 0x1ab4: 0x000c, 0x1ab5: 0x000c,\n\t0x1ab6: 0x000c, 0x1ab7: 0x000c, 0x1ab8: 0x000c, 0x1ab9: 0x000c, 0x1aba: 0x000c, 0x1abb: 0x000c,\n\t0x1abc: 0x000c, 0x1abd: 0x000c, 0x1abe: 0x000c, 0x1abf: 0x000c,\n\t// Block 0x6b, offset 0x1ac0\n\t0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a,\n\t0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a,\n\t0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, 0x1acf: 0x000a, 0x1ad0: 0x000a, 0x1ad1: 0x000a,\n\t0x1ad2: 0x000a, 0x1ad3: 0x000a, 0x1ad4: 0x000a, 0x1ad5: 0x000a, 0x1ad6: 0x000a, 0x1ad7: 0x000a,\n\t0x1ad8: 0x000a, 0x1ad9: 0x000a, 0x1ada: 0x000a, 0x1adb: 0x000a, 0x1adc: 0x000a, 0x1add: 0x000a,\n\t0x1ade: 0x000a, 0x1adf: 0x000a, 0x1ae0: 0x000a, 0x1ae1: 0x000a, 0x1ae2: 0x003a, 0x1ae3: 0x002a,\n\t0x1ae4: 0x003a, 0x1ae5: 0x002a, 0x1ae6: 0x003a, 0x1ae7: 0x002a, 0x1ae8: 0x003a, 0x1ae9: 0x002a,\n\t0x1aea: 0x000a, 0x1aeb: 0x000a, 0x1aec: 0x000a, 0x1aed: 0x000a, 0x1aee: 0x000a, 0x1aef: 0x000a,\n\t0x1af0: 0x000a, 0x1af1: 0x000a, 0x1af2: 0x000a, 0x1af3: 0x000a, 0x1af4: 0x000a, 0x1af5: 0x000a,\n\t0x1af6: 0x000a, 0x1af7: 0x000a, 0x1af8: 0x000a, 0x1af9: 0x000a, 0x1afa: 0x000a, 0x1afb: 0x000a,\n\t0x1afc: 0x000a, 0x1afd: 0x000a, 0x1afe: 0x000a, 0x1aff: 0x000a,\n\t// Block 0x6c, offset 0x1b00\n\t0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a,\n\t// Block 0x6d, offset 0x1b40\n\t0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a,\n\t0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a,\n\t0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a,\n\t0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a,\n\t0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a,\n\t0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a,\n\t0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a,\n\t0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a,\n\t0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, 0x1b74: 0x000a, 0x1b75: 0x000a,\n\t0x1b76: 0x000a, 0x1b77: 0x000a, 0x1b78: 0x000a, 0x1b79: 0x000a, 0x1b7a: 0x000a, 0x1b7b: 0x000a,\n\t0x1b7c: 0x000a, 0x1b7d: 0x000a, 0x1b7e: 0x000a, 0x1b7f: 0x000a,\n\t// Block 0x6e, offset 0x1b80\n\t0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a,\n\t0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a,\n\t0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a,\n\t0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, 0x1b96: 0x000a, 0x1b97: 0x000a,\n\t0x1b98: 0x000a, 0x1b99: 0x000a, 0x1b9a: 0x000a, 0x1b9b: 0x000a, 0x1b9c: 0x000a, 0x1b9d: 0x000a,\n\t0x1b9e: 0x000a, 0x1b9f: 0x000a, 0x1ba0: 0x000a, 0x1ba1: 0x000a, 0x1ba2: 0x000a, 0x1ba3: 0x000a,\n\t0x1ba4: 0x000a, 0x1ba5: 0x000a, 0x1ba6: 0x000a, 0x1ba7: 0x000a, 0x1ba8: 0x000a, 0x1ba9: 0x000a,\n\t0x1baa: 0x000a, 0x1bab: 0x000a, 0x1bac: 0x000a, 0x1bad: 0x000a, 0x1bae: 0x000a, 0x1baf: 0x000a,\n\t0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a,\n\t// Block 0x6f, offset 0x1bc0\n\t0x1bc0: 0x000a, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, 0x1bc5: 0x000a,\n\t0x1bc6: 0x000a, 0x1bc7: 0x000a, 0x1bc8: 0x000a, 0x1bc9: 0x000a, 0x1bca: 0x000a, 0x1bcb: 0x000a,\n\t0x1bcc: 0x000a, 0x1bcd: 0x000a, 0x1bce: 0x000a, 0x1bcf: 0x000a, 0x1bd0: 0x000a, 0x1bd1: 0x000a,\n\t0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x000a, 0x1bd5: 0x000a,\n\t0x1bf0: 0x000a, 0x1bf1: 0x000a, 0x1bf2: 0x000a, 0x1bf3: 0x000a, 0x1bf4: 0x000a, 0x1bf5: 0x000a,\n\t0x1bf6: 0x000a, 0x1bf7: 0x000a, 0x1bf8: 0x000a, 0x1bf9: 0x000a, 0x1bfa: 0x000a, 0x1bfb: 0x000a,\n\t// Block 0x70, offset 0x1c00\n\t0x1c00: 0x0009, 0x1c01: 0x000a, 0x1c02: 0x000a, 0x1c03: 0x000a, 0x1c04: 0x000a,\n\t0x1c08: 0x003a, 0x1c09: 0x002a, 0x1c0a: 0x003a, 0x1c0b: 0x002a,\n\t0x1c0c: 0x003a, 0x1c0d: 0x002a, 0x1c0e: 0x003a, 0x1c0f: 0x002a, 0x1c10: 0x003a, 0x1c11: 0x002a,\n\t0x1c12: 0x000a, 0x1c13: 0x000a, 0x1c14: 0x003a, 0x1c15: 0x002a, 0x1c16: 0x003a, 0x1c17: 0x002a,\n\t0x1c18: 0x003a, 0x1c19: 0x002a, 0x1c1a: 0x003a, 0x1c1b: 0x002a, 0x1c1c: 0x000a, 0x1c1d: 0x000a,\n\t0x1c1e: 0x000a, 0x1c1f: 0x000a, 0x1c20: 0x000a,\n\t0x1c2a: 0x000c, 0x1c2b: 0x000c, 0x1c2c: 0x000c, 0x1c2d: 0x000c,\n\t0x1c30: 0x000a,\n\t0x1c36: 0x000a, 0x1c37: 0x000a,\n\t0x1c3d: 0x000a, 0x1c3e: 0x000a, 0x1c3f: 0x000a,\n\t// Block 0x71, offset 0x1c40\n\t0x1c59: 0x000c, 0x1c5a: 0x000c, 0x1c5b: 0x000a, 0x1c5c: 0x000a,\n\t0x1c60: 0x000a,\n\t// Block 0x72, offset 0x1c80\n\t0x1cbb: 0x000a,\n\t// Block 0x73, offset 0x1cc0\n\t0x1cc0: 0x000a, 0x1cc1: 0x000a, 0x1cc2: 0x000a, 0x1cc3: 0x000a, 0x1cc4: 0x000a, 0x1cc5: 0x000a,\n\t0x1cc6: 0x000a, 0x1cc7: 0x000a, 0x1cc8: 0x000a, 0x1cc9: 0x000a, 0x1cca: 0x000a, 0x1ccb: 0x000a,\n\t0x1ccc: 0x000a, 0x1ccd: 0x000a, 0x1cce: 0x000a, 0x1ccf: 0x000a, 0x1cd0: 0x000a, 0x1cd1: 0x000a,\n\t0x1cd2: 0x000a, 0x1cd3: 0x000a, 0x1cd4: 0x000a, 0x1cd5: 0x000a, 0x1cd6: 0x000a, 0x1cd7: 0x000a,\n\t0x1cd8: 0x000a, 0x1cd9: 0x000a, 0x1cda: 0x000a, 0x1cdb: 0x000a, 0x1cdc: 0x000a, 0x1cdd: 0x000a,\n\t0x1cde: 0x000a, 0x1cdf: 0x000a, 0x1ce0: 0x000a, 0x1ce1: 0x000a, 0x1ce2: 0x000a, 0x1ce3: 0x000a,\n\t// Block 0x74, offset 0x1d00\n\t0x1d1d: 0x000a,\n\t0x1d1e: 0x000a,\n\t// Block 0x75, offset 0x1d40\n\t0x1d50: 0x000a, 0x1d51: 0x000a,\n\t0x1d52: 0x000a, 0x1d53: 0x000a, 0x1d54: 0x000a, 0x1d55: 0x000a, 0x1d56: 0x000a, 0x1d57: 0x000a,\n\t0x1d58: 0x000a, 0x1d59: 0x000a, 0x1d5a: 0x000a, 0x1d5b: 0x000a, 0x1d5c: 0x000a, 0x1d5d: 0x000a,\n\t0x1d5e: 0x000a, 0x1d5f: 0x000a,\n\t0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a,\n\t// Block 0x76, offset 0x1d80\n\t0x1db1: 0x000a, 0x1db2: 0x000a, 0x1db3: 0x000a, 0x1db4: 0x000a, 0x1db5: 0x000a,\n\t0x1db6: 0x000a, 0x1db7: 0x000a, 0x1db8: 0x000a, 0x1db9: 0x000a, 0x1dba: 0x000a, 0x1dbb: 0x000a,\n\t0x1dbc: 0x000a, 0x1dbd: 0x000a, 0x1dbe: 0x000a, 0x1dbf: 0x000a,\n\t// Block 0x77, offset 0x1dc0\n\t0x1dcc: 0x000a, 0x1dcd: 0x000a, 0x1dce: 0x000a, 0x1dcf: 0x000a,\n\t// Block 0x78, offset 0x1e00\n\t0x1e37: 0x000a, 0x1e38: 0x000a, 0x1e39: 0x000a, 0x1e3a: 0x000a,\n\t// Block 0x79, offset 0x1e40\n\t0x1e5e: 0x000a, 0x1e5f: 0x000a,\n\t0x1e7f: 0x000a,\n\t// Block 0x7a, offset 0x1e80\n\t0x1e90: 0x000a, 0x1e91: 0x000a,\n\t0x1e92: 0x000a, 0x1e93: 0x000a, 0x1e94: 0x000a, 0x1e95: 0x000a, 0x1e96: 0x000a, 0x1e97: 0x000a,\n\t0x1e98: 0x000a, 0x1e99: 0x000a, 0x1e9a: 0x000a, 0x1e9b: 0x000a, 0x1e9c: 0x000a, 0x1e9d: 0x000a,\n\t0x1e9e: 0x000a, 0x1e9f: 0x000a, 0x1ea0: 0x000a, 0x1ea1: 0x000a, 0x1ea2: 0x000a, 0x1ea3: 0x000a,\n\t0x1ea4: 0x000a, 0x1ea5: 0x000a, 0x1ea6: 0x000a, 0x1ea7: 0x000a, 0x1ea8: 0x000a, 0x1ea9: 0x000a,\n\t0x1eaa: 0x000a, 0x1eab: 0x000a, 0x1eac: 0x000a, 0x1ead: 0x000a, 0x1eae: 0x000a, 0x1eaf: 0x000a,\n\t0x1eb0: 0x000a, 0x1eb1: 0x000a, 0x1eb2: 0x000a, 0x1eb3: 0x000a, 0x1eb4: 0x000a, 0x1eb5: 0x000a,\n\t0x1eb6: 0x000a, 0x1eb7: 0x000a, 0x1eb8: 0x000a, 0x1eb9: 0x000a, 0x1eba: 0x000a, 0x1ebb: 0x000a,\n\t0x1ebc: 0x000a, 0x1ebd: 0x000a, 0x1ebe: 0x000a, 0x1ebf: 0x000a,\n\t// Block 0x7b, offset 0x1ec0\n\t0x1ec0: 0x000a, 0x1ec1: 0x000a, 0x1ec2: 0x000a, 0x1ec3: 0x000a, 0x1ec4: 0x000a, 0x1ec5: 0x000a,\n\t0x1ec6: 0x000a,\n\t// Block 0x7c, offset 0x1f00\n\t0x1f0d: 0x000a, 0x1f0e: 0x000a, 0x1f0f: 0x000a,\n\t// Block 0x7d, offset 0x1f40\n\t0x1f6f: 0x000c,\n\t0x1f70: 0x000c, 0x1f71: 0x000c, 0x1f72: 0x000c, 0x1f73: 0x000a, 0x1f74: 0x000c, 0x1f75: 0x000c,\n\t0x1f76: 0x000c, 0x1f77: 0x000c, 0x1f78: 0x000c, 0x1f79: 0x000c, 0x1f7a: 0x000c, 0x1f7b: 0x000c,\n\t0x1f7c: 0x000c, 0x1f7d: 0x000c, 0x1f7e: 0x000a, 0x1f7f: 0x000a,\n\t// Block 0x7e, offset 0x1f80\n\t0x1f9e: 0x000c, 0x1f9f: 0x000c,\n\t// Block 0x7f, offset 0x1fc0\n\t0x1ff0: 0x000c, 0x1ff1: 0x000c,\n\t// Block 0x80, offset 0x2000\n\t0x2000: 0x000a, 0x2001: 0x000a, 0x2002: 0x000a, 0x2003: 0x000a, 0x2004: 0x000a, 0x2005: 0x000a,\n\t0x2006: 0x000a, 0x2007: 0x000a, 0x2008: 0x000a, 0x2009: 0x000a, 0x200a: 0x000a, 0x200b: 0x000a,\n\t0x200c: 0x000a, 0x200d: 0x000a, 0x200e: 0x000a, 0x200f: 0x000a, 0x2010: 0x000a, 0x2011: 0x000a,\n\t0x2012: 0x000a, 0x2013: 0x000a, 0x2014: 0x000a, 0x2015: 0x000a, 0x2016: 0x000a, 0x2017: 0x000a,\n\t0x2018: 0x000a, 0x2019: 0x000a, 0x201a: 0x000a, 0x201b: 0x000a, 0x201c: 0x000a, 0x201d: 0x000a,\n\t0x201e: 0x000a, 0x201f: 0x000a, 0x2020: 0x000a, 0x2021: 0x000a,\n\t// Block 0x81, offset 0x2040\n\t0x2048: 0x000a,\n\t// Block 0x82, offset 0x2080\n\t0x2082: 0x000c,\n\t0x2086: 0x000c, 0x208b: 0x000c,\n\t0x20a5: 0x000c, 0x20a6: 0x000c, 0x20a8: 0x000a, 0x20a9: 0x000a,\n\t0x20aa: 0x000a, 0x20ab: 0x000a,\n\t0x20b8: 0x0004, 0x20b9: 0x0004,\n\t// Block 0x83, offset 0x20c0\n\t0x20f4: 0x000a, 0x20f5: 0x000a,\n\t0x20f6: 0x000a, 0x20f7: 0x000a,\n\t// Block 0x84, offset 0x2100\n\t0x2104: 0x000c, 0x2105: 0x000c,\n\t0x2120: 0x000c, 0x2121: 0x000c, 0x2122: 0x000c, 0x2123: 0x000c,\n\t0x2124: 0x000c, 0x2125: 0x000c, 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c,\n\t0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, 0x212e: 0x000c, 0x212f: 0x000c,\n\t0x2130: 0x000c, 0x2131: 0x000c,\n\t// Block 0x85, offset 0x2140\n\t0x2166: 0x000c, 0x2167: 0x000c, 0x2168: 0x000c, 0x2169: 0x000c,\n\t0x216a: 0x000c, 0x216b: 0x000c, 0x216c: 0x000c, 0x216d: 0x000c,\n\t// Block 0x86, offset 0x2180\n\t0x2187: 0x000c, 0x2188: 0x000c, 0x2189: 0x000c, 0x218a: 0x000c, 0x218b: 0x000c,\n\t0x218c: 0x000c, 0x218d: 0x000c, 0x218e: 0x000c, 0x218f: 0x000c, 0x2190: 0x000c, 0x2191: 0x000c,\n\t// Block 0x87, offset 0x21c0\n\t0x21c0: 0x000c, 0x21c1: 0x000c, 0x21c2: 0x000c,\n\t0x21f3: 0x000c,\n\t0x21f6: 0x000c, 0x21f7: 0x000c, 0x21f8: 0x000c, 0x21f9: 0x000c,\n\t0x21fc: 0x000c,\n\t// Block 0x88, offset 0x2200\n\t0x2225: 0x000c,\n\t// Block 0x89, offset 0x2240\n\t0x2269: 0x000c,\n\t0x226a: 0x000c, 0x226b: 0x000c, 0x226c: 0x000c, 0x226d: 0x000c, 0x226e: 0x000c,\n\t0x2271: 0x000c, 0x2272: 0x000c, 0x2275: 0x000c,\n\t0x2276: 0x000c,\n\t// Block 0x8a, offset 0x2280\n\t0x2283: 0x000c,\n\t0x228c: 0x000c,\n\t0x22bc: 0x000c,\n\t// Block 0x8b, offset 0x22c0\n\t0x22f0: 0x000c, 0x22f2: 0x000c, 0x22f3: 0x000c, 0x22f4: 0x000c,\n\t0x22f7: 0x000c, 0x22f8: 0x000c,\n\t0x22fe: 0x000c, 0x22ff: 0x000c,\n\t// Block 0x8c, offset 0x2300\n\t0x2301: 0x000c,\n\t0x232c: 0x000c, 0x232d: 0x000c,\n\t0x2336: 0x000c,\n\t// Block 0x8d, offset 0x2340\n\t0x2365: 0x000c, 0x2368: 0x000c,\n\t0x236d: 0x000c,\n\t// Block 0x8e, offset 0x2380\n\t0x239d: 0x0001,\n\t0x239e: 0x000c, 0x239f: 0x0001, 0x23a0: 0x0001, 0x23a1: 0x0001, 0x23a2: 0x0001, 0x23a3: 0x0001,\n\t0x23a4: 0x0001, 0x23a5: 0x0001, 0x23a6: 0x0001, 0x23a7: 0x0001, 0x23a8: 0x0001, 0x23a9: 0x0003,\n\t0x23aa: 0x0001, 0x23ab: 0x0001, 0x23ac: 0x0001, 0x23ad: 0x0001, 0x23ae: 0x0001, 0x23af: 0x0001,\n\t0x23b0: 0x0001, 0x23b1: 0x0001, 0x23b2: 0x0001, 0x23b3: 0x0001, 0x23b4: 0x0001, 0x23b5: 0x0001,\n\t0x23b6: 0x0001, 0x23b7: 0x0001, 0x23b8: 0x0001, 0x23b9: 0x0001, 0x23ba: 0x0001, 0x23bb: 0x0001,\n\t0x23bc: 0x0001, 0x23bd: 0x0001, 0x23be: 0x0001, 0x23bf: 0x0001,\n\t// Block 0x8f, offset 0x23c0\n\t0x23c0: 0x0001, 0x23c1: 0x0001, 0x23c2: 0x0001, 0x23c3: 0x0001, 0x23c4: 0x0001, 0x23c5: 0x0001,\n\t0x23c6: 0x0001, 0x23c7: 0x0001, 0x23c8: 0x0001, 0x23c9: 0x0001, 0x23ca: 0x0001, 0x23cb: 0x0001,\n\t0x23cc: 0x0001, 0x23cd: 0x0001, 0x23ce: 0x0001, 0x23cf: 0x0001, 0x23d0: 0x000d, 0x23d1: 0x000d,\n\t0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d,\n\t0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d,\n\t0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d,\n\t0x23e4: 0x000d, 0x23e5: 0x000d, 0x23e6: 0x000d, 0x23e7: 0x000d, 0x23e8: 0x000d, 0x23e9: 0x000d,\n\t0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d,\n\t0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d,\n\t0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d,\n\t0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000d, 0x23ff: 0x000d,\n\t// Block 0x90, offset 0x2400\n\t0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d,\n\t0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d,\n\t0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000d, 0x2411: 0x000d,\n\t0x2412: 0x000d, 0x2413: 0x000d, 0x2414: 0x000d, 0x2415: 0x000d, 0x2416: 0x000d, 0x2417: 0x000d,\n\t0x2418: 0x000d, 0x2419: 0x000d, 0x241a: 0x000d, 0x241b: 0x000d, 0x241c: 0x000d, 0x241d: 0x000d,\n\t0x241e: 0x000d, 0x241f: 0x000d, 0x2420: 0x000d, 0x2421: 0x000d, 0x2422: 0x000d, 0x2423: 0x000d,\n\t0x2424: 0x000d, 0x2425: 0x000d, 0x2426: 0x000d, 0x2427: 0x000d, 0x2428: 0x000d, 0x2429: 0x000d,\n\t0x242a: 0x000d, 0x242b: 0x000d, 0x242c: 0x000d, 0x242d: 0x000d, 0x242e: 0x000d, 0x242f: 0x000d,\n\t0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d,\n\t0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d,\n\t0x243c: 0x000d, 0x243d: 0x000d, 0x243e: 0x000a, 0x243f: 0x000a,\n\t// Block 0x91, offset 0x2440\n\t0x2440: 0x000d, 0x2441: 0x000d, 0x2442: 0x000d, 0x2443: 0x000d, 0x2444: 0x000d, 0x2445: 0x000d,\n\t0x2446: 0x000d, 0x2447: 0x000d, 0x2448: 0x000d, 0x2449: 0x000d, 0x244a: 0x000d, 0x244b: 0x000d,\n\t0x244c: 0x000d, 0x244d: 0x000d, 0x244e: 0x000d, 0x244f: 0x000d, 0x2450: 0x000b, 0x2451: 0x000b,\n\t0x2452: 0x000b, 0x2453: 0x000b, 0x2454: 0x000b, 0x2455: 0x000b, 0x2456: 0x000b, 0x2457: 0x000b,\n\t0x2458: 0x000b, 0x2459: 0x000b, 0x245a: 0x000b, 0x245b: 0x000b, 0x245c: 0x000b, 0x245d: 0x000b,\n\t0x245e: 0x000b, 0x245f: 0x000b, 0x2460: 0x000b, 0x2461: 0x000b, 0x2462: 0x000b, 0x2463: 0x000b,\n\t0x2464: 0x000b, 0x2465: 0x000b, 0x2466: 0x000b, 0x2467: 0x000b, 0x2468: 0x000b, 0x2469: 0x000b,\n\t0x246a: 0x000b, 0x246b: 0x000b, 0x246c: 0x000b, 0x246d: 0x000b, 0x246e: 0x000b, 0x246f: 0x000b,\n\t0x2470: 0x000d, 0x2471: 0x000d, 0x2472: 0x000d, 0x2473: 0x000d, 0x2474: 0x000d, 0x2475: 0x000d,\n\t0x2476: 0x000d, 0x2477: 0x000d, 0x2478: 0x000d, 0x2479: 0x000d, 0x247a: 0x000d, 0x247b: 0x000d,\n\t0x247c: 0x000d, 0x247d: 0x000a, 0x247e: 0x000d, 0x247f: 0x000d,\n\t// Block 0x92, offset 0x2480\n\t0x2480: 0x000c, 0x2481: 0x000c, 0x2482: 0x000c, 0x2483: 0x000c, 0x2484: 0x000c, 0x2485: 0x000c,\n\t0x2486: 0x000c, 0x2487: 0x000c, 0x2488: 0x000c, 0x2489: 0x000c, 0x248a: 0x000c, 0x248b: 0x000c,\n\t0x248c: 0x000c, 0x248d: 0x000c, 0x248e: 0x000c, 0x248f: 0x000c, 0x2490: 0x000a, 0x2491: 0x000a,\n\t0x2492: 0x000a, 0x2493: 0x000a, 0x2494: 0x000a, 0x2495: 0x000a, 0x2496: 0x000a, 0x2497: 0x000a,\n\t0x2498: 0x000a, 0x2499: 0x000a,\n\t0x24a0: 0x000c, 0x24a1: 0x000c, 0x24a2: 0x000c, 0x24a3: 0x000c,\n\t0x24a4: 0x000c, 0x24a5: 0x000c, 0x24a6: 0x000c, 0x24a7: 0x000c, 0x24a8: 0x000c, 0x24a9: 0x000c,\n\t0x24aa: 0x000c, 0x24ab: 0x000c, 0x24ac: 0x000c, 0x24ad: 0x000c, 0x24ae: 0x000c, 0x24af: 0x000c,\n\t0x24b0: 0x000a, 0x24b1: 0x000a, 0x24b2: 0x000a, 0x24b3: 0x000a, 0x24b4: 0x000a, 0x24b5: 0x000a,\n\t0x24b6: 0x000a, 0x24b7: 0x000a, 0x24b8: 0x000a, 0x24b9: 0x000a, 0x24ba: 0x000a, 0x24bb: 0x000a,\n\t0x24bc: 0x000a, 0x24bd: 0x000a, 0x24be: 0x000a, 0x24bf: 0x000a,\n\t// Block 0x93, offset 0x24c0\n\t0x24c0: 0x000a, 0x24c1: 0x000a, 0x24c2: 0x000a, 0x24c3: 0x000a, 0x24c4: 0x000a, 0x24c5: 0x000a,\n\t0x24c6: 0x000a, 0x24c7: 0x000a, 0x24c8: 0x000a, 0x24c9: 0x000a, 0x24ca: 0x000a, 0x24cb: 0x000a,\n\t0x24cc: 0x000a, 0x24cd: 0x000a, 0x24ce: 0x000a, 0x24cf: 0x000a, 0x24d0: 0x0006, 0x24d1: 0x000a,\n\t0x24d2: 0x0006, 0x24d4: 0x000a, 0x24d5: 0x0006, 0x24d6: 0x000a, 0x24d7: 0x000a,\n\t0x24d8: 0x000a, 0x24d9: 0x009a, 0x24da: 0x008a, 0x24db: 0x007a, 0x24dc: 0x006a, 0x24dd: 0x009a,\n\t0x24de: 0x008a, 0x24df: 0x0004, 0x24e0: 0x000a, 0x24e1: 0x000a, 0x24e2: 0x0003, 0x24e3: 0x0003,\n\t0x24e4: 0x000a, 0x24e5: 0x000a, 0x24e6: 0x000a, 0x24e8: 0x000a, 0x24e9: 0x0004,\n\t0x24ea: 0x0004, 0x24eb: 0x000a,\n\t0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d,\n\t0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d,\n\t0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000d,\n\t// Block 0x94, offset 0x2500\n\t0x2500: 0x000d, 0x2501: 0x000d, 0x2502: 0x000d, 0x2503: 0x000d, 0x2504: 0x000d, 0x2505: 0x000d,\n\t0x2506: 0x000d, 0x2507: 0x000d, 0x2508: 0x000d, 0x2509: 0x000d, 0x250a: 0x000d, 0x250b: 0x000d,\n\t0x250c: 0x000d, 0x250d: 0x000d, 0x250e: 0x000d, 0x250f: 0x000d, 0x2510: 0x000d, 0x2511: 0x000d,\n\t0x2512: 0x000d, 0x2513: 0x000d, 0x2514: 0x000d, 0x2515: 0x000d, 0x2516: 0x000d, 0x2517: 0x000d,\n\t0x2518: 0x000d, 0x2519: 0x000d, 0x251a: 0x000d, 0x251b: 0x000d, 0x251c: 0x000d, 0x251d: 0x000d,\n\t0x251e: 0x000d, 0x251f: 0x000d, 0x2520: 0x000d, 0x2521: 0x000d, 0x2522: 0x000d, 0x2523: 0x000d,\n\t0x2524: 0x000d, 0x2525: 0x000d, 0x2526: 0x000d, 0x2527: 0x000d, 0x2528: 0x000d, 0x2529: 0x000d,\n\t0x252a: 0x000d, 0x252b: 0x000d, 0x252c: 0x000d, 0x252d: 0x000d, 0x252e: 0x000d, 0x252f: 0x000d,\n\t0x2530: 0x000d, 0x2531: 0x000d, 0x2532: 0x000d, 0x2533: 0x000d, 0x2534: 0x000d, 0x2535: 0x000d,\n\t0x2536: 0x000d, 0x2537: 0x000d, 0x2538: 0x000d, 0x2539: 0x000d, 0x253a: 0x000d, 0x253b: 0x000d,\n\t0x253c: 0x000d, 0x253d: 0x000d, 0x253e: 0x000d, 0x253f: 0x000b,\n\t// Block 0x95, offset 0x2540\n\t0x2541: 0x000a, 0x2542: 0x000a, 0x2543: 0x0004, 0x2544: 0x0004, 0x2545: 0x0004,\n\t0x2546: 0x000a, 0x2547: 0x000a, 0x2548: 0x003a, 0x2549: 0x002a, 0x254a: 0x000a, 0x254b: 0x0003,\n\t0x254c: 0x0006, 0x254d: 0x0003, 0x254e: 0x0006, 0x254f: 0x0006, 0x2550: 0x0002, 0x2551: 0x0002,\n\t0x2552: 0x0002, 0x2553: 0x0002, 0x2554: 0x0002, 0x2555: 0x0002, 0x2556: 0x0002, 0x2557: 0x0002,\n\t0x2558: 0x0002, 0x2559: 0x0002, 0x255a: 0x0006, 0x255b: 0x000a, 0x255c: 0x000a, 0x255d: 0x000a,\n\t0x255e: 0x000a, 0x255f: 0x000a, 0x2560: 0x000a,\n\t0x257b: 0x005a,\n\t0x257c: 0x000a, 0x257d: 0x004a, 0x257e: 0x000a, 0x257f: 0x000a,\n\t// Block 0x96, offset 0x2580\n\t0x2580: 0x000a,\n\t0x259b: 0x005a, 0x259c: 0x000a, 0x259d: 0x004a,\n\t0x259e: 0x000a, 0x259f: 0x00fa, 0x25a0: 0x00ea, 0x25a1: 0x000a, 0x25a2: 0x003a, 0x25a3: 0x002a,\n\t0x25a4: 0x000a, 0x25a5: 0x000a,\n\t// Block 0x97, offset 0x25c0\n\t0x25e0: 0x0004, 0x25e1: 0x0004, 0x25e2: 0x000a, 0x25e3: 0x000a,\n\t0x25e4: 0x000a, 0x25e5: 0x0004, 0x25e6: 0x0004, 0x25e8: 0x000a, 0x25e9: 0x000a,\n\t0x25ea: 0x000a, 0x25eb: 0x000a, 0x25ec: 0x000a, 0x25ed: 0x000a, 0x25ee: 0x000a,\n\t0x25f0: 0x000b, 0x25f1: 0x000b, 0x25f2: 0x000b, 0x25f3: 0x000b, 0x25f4: 0x000b, 0x25f5: 0x000b,\n\t0x25f6: 0x000b, 0x25f7: 0x000b, 0x25f8: 0x000b, 0x25f9: 0x000a, 0x25fa: 0x000a, 0x25fb: 0x000a,\n\t0x25fc: 0x000a, 0x25fd: 0x000a, 0x25fe: 0x000b, 0x25ff: 0x000b,\n\t// Block 0x98, offset 0x2600\n\t0x2601: 0x000a,\n\t// Block 0x99, offset 0x2640\n\t0x2640: 0x000a, 0x2641: 0x000a, 0x2642: 0x000a, 0x2643: 0x000a, 0x2644: 0x000a, 0x2645: 0x000a,\n\t0x2646: 0x000a, 0x2647: 0x000a, 0x2648: 0x000a, 0x2649: 0x000a, 0x264a: 0x000a, 0x264b: 0x000a,\n\t0x264c: 0x000a, 0x2650: 0x000a, 0x2651: 0x000a,\n\t0x2652: 0x000a, 0x2653: 0x000a, 0x2654: 0x000a, 0x2655: 0x000a, 0x2656: 0x000a, 0x2657: 0x000a,\n\t0x2658: 0x000a, 0x2659: 0x000a, 0x265a: 0x000a, 0x265b: 0x000a,\n\t0x2660: 0x000a,\n\t// Block 0x9a, offset 0x2680\n\t0x26bd: 0x000c,\n\t// Block 0x9b, offset 0x26c0\n\t0x26e0: 0x000c, 0x26e1: 0x0002, 0x26e2: 0x0002, 0x26e3: 0x0002,\n\t0x26e4: 0x0002, 0x26e5: 0x0002, 0x26e6: 0x0002, 0x26e7: 0x0002, 0x26e8: 0x0002, 0x26e9: 0x0002,\n\t0x26ea: 0x0002, 0x26eb: 0x0002, 0x26ec: 0x0002, 0x26ed: 0x0002, 0x26ee: 0x0002, 0x26ef: 0x0002,\n\t0x26f0: 0x0002, 0x26f1: 0x0002, 0x26f2: 0x0002, 0x26f3: 0x0002, 0x26f4: 0x0002, 0x26f5: 0x0002,\n\t0x26f6: 0x0002, 0x26f7: 0x0002, 0x26f8: 0x0002, 0x26f9: 0x0002, 0x26fa: 0x0002, 0x26fb: 0x0002,\n\t// Block 0x9c, offset 0x2700\n\t0x2736: 0x000c, 0x2737: 0x000c, 0x2738: 0x000c, 0x2739: 0x000c, 0x273a: 0x000c,\n\t// Block 0x9d, offset 0x2740\n\t0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001,\n\t0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001,\n\t0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001,\n\t0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001,\n\t0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001,\n\t0x275e: 0x0001, 0x275f: 0x0001, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001,\n\t0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001,\n\t0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001,\n\t0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001,\n\t0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001,\n\t0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001,\n\t// Block 0x9e, offset 0x2780\n\t0x2780: 0x0001, 0x2781: 0x0001, 0x2782: 0x0001, 0x2783: 0x0001, 0x2784: 0x0001, 0x2785: 0x0001,\n\t0x2786: 0x0001, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001,\n\t0x278c: 0x0001, 0x278d: 0x0001, 0x278e: 0x0001, 0x278f: 0x0001, 0x2790: 0x0001, 0x2791: 0x0001,\n\t0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001,\n\t0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001,\n\t0x279e: 0x0001, 0x279f: 0x000a, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001,\n\t0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001,\n\t0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001,\n\t0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001,\n\t0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x0001, 0x27b9: 0x0001, 0x27ba: 0x0001, 0x27bb: 0x0001,\n\t0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x0001,\n\t// Block 0x9f, offset 0x27c0\n\t0x27c0: 0x0001, 0x27c1: 0x000c, 0x27c2: 0x000c, 0x27c3: 0x000c, 0x27c4: 0x0001, 0x27c5: 0x000c,\n\t0x27c6: 0x000c, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001,\n\t0x27cc: 0x000c, 0x27cd: 0x000c, 0x27ce: 0x000c, 0x27cf: 0x000c, 0x27d0: 0x0001, 0x27d1: 0x0001,\n\t0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001,\n\t0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001,\n\t0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001,\n\t0x27e4: 0x0001, 0x27e5: 0x0001, 0x27e6: 0x0001, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001,\n\t0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001,\n\t0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001,\n\t0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x000c, 0x27f9: 0x000c, 0x27fa: 0x000c, 0x27fb: 0x0001,\n\t0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x000c,\n\t// Block 0xa0, offset 0x2800\n\t0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001,\n\t0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001,\n\t0x280c: 0x0001, 0x280d: 0x0001, 0x280e: 0x0001, 0x280f: 0x0001, 0x2810: 0x0001, 0x2811: 0x0001,\n\t0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001,\n\t0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001,\n\t0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001,\n\t0x2824: 0x0001, 0x2825: 0x000c, 0x2826: 0x000c, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001,\n\t0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001,\n\t0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001,\n\t0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x0001, 0x283a: 0x0001, 0x283b: 0x0001,\n\t0x283c: 0x0001, 0x283d: 0x0001, 0x283e: 0x0001, 0x283f: 0x0001,\n\t// Block 0xa1, offset 0x2840\n\t0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001,\n\t0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001,\n\t0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001,\n\t0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001,\n\t0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001,\n\t0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0001, 0x2861: 0x0001, 0x2862: 0x0001, 0x2863: 0x0001,\n\t0x2864: 0x0001, 0x2865: 0x0001, 0x2866: 0x0001, 0x2867: 0x0001, 0x2868: 0x0001, 0x2869: 0x0001,\n\t0x286a: 0x0001, 0x286b: 0x0001, 0x286c: 0x0001, 0x286d: 0x0001, 0x286e: 0x0001, 0x286f: 0x0001,\n\t0x2870: 0x0001, 0x2871: 0x0001, 0x2872: 0x0001, 0x2873: 0x0001, 0x2874: 0x0001, 0x2875: 0x0001,\n\t0x2876: 0x0001, 0x2877: 0x0001, 0x2878: 0x0001, 0x2879: 0x000a, 0x287a: 0x000a, 0x287b: 0x000a,\n\t0x287c: 0x000a, 0x287d: 0x000a, 0x287e: 0x000a, 0x287f: 0x000a,\n\t// Block 0xa2, offset 0x2880\n\t0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001,\n\t0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001,\n\t0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001,\n\t0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001,\n\t0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001,\n\t0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0005, 0x28a1: 0x0005, 0x28a2: 0x0005, 0x28a3: 0x0005,\n\t0x28a4: 0x0005, 0x28a5: 0x0005, 0x28a6: 0x0005, 0x28a7: 0x0005, 0x28a8: 0x0005, 0x28a9: 0x0005,\n\t0x28aa: 0x0005, 0x28ab: 0x0005, 0x28ac: 0x0005, 0x28ad: 0x0005, 0x28ae: 0x0005, 0x28af: 0x0005,\n\t0x28b0: 0x0005, 0x28b1: 0x0005, 0x28b2: 0x0005, 0x28b3: 0x0005, 0x28b4: 0x0005, 0x28b5: 0x0005,\n\t0x28b6: 0x0005, 0x28b7: 0x0005, 0x28b8: 0x0005, 0x28b9: 0x0005, 0x28ba: 0x0005, 0x28bb: 0x0005,\n\t0x28bc: 0x0005, 0x28bd: 0x0005, 0x28be: 0x0005, 0x28bf: 0x0001,\n\t// Block 0xa3, offset 0x28c0\n\t0x28c1: 0x000c,\n\t0x28f8: 0x000c, 0x28f9: 0x000c, 0x28fa: 0x000c, 0x28fb: 0x000c,\n\t0x28fc: 0x000c, 0x28fd: 0x000c, 0x28fe: 0x000c, 0x28ff: 0x000c,\n\t// Block 0xa4, offset 0x2900\n\t0x2900: 0x000c, 0x2901: 0x000c, 0x2902: 0x000c, 0x2903: 0x000c, 0x2904: 0x000c, 0x2905: 0x000c,\n\t0x2906: 0x000c,\n\t0x2912: 0x000a, 0x2913: 0x000a, 0x2914: 0x000a, 0x2915: 0x000a, 0x2916: 0x000a, 0x2917: 0x000a,\n\t0x2918: 0x000a, 0x2919: 0x000a, 0x291a: 0x000a, 0x291b: 0x000a, 0x291c: 0x000a, 0x291d: 0x000a,\n\t0x291e: 0x000a, 0x291f: 0x000a, 0x2920: 0x000a, 0x2921: 0x000a, 0x2922: 0x000a, 0x2923: 0x000a,\n\t0x2924: 0x000a, 0x2925: 0x000a,\n\t0x293f: 0x000c,\n\t// Block 0xa5, offset 0x2940\n\t0x2940: 0x000c, 0x2941: 0x000c,\n\t0x2973: 0x000c, 0x2974: 0x000c, 0x2975: 0x000c,\n\t0x2976: 0x000c, 0x2979: 0x000c, 0x297a: 0x000c,\n\t// Block 0xa6, offset 0x2980\n\t0x2980: 0x000c, 0x2981: 0x000c, 0x2982: 0x000c,\n\t0x29a7: 0x000c, 0x29a8: 0x000c, 0x29a9: 0x000c,\n\t0x29aa: 0x000c, 0x29ab: 0x000c, 0x29ad: 0x000c, 0x29ae: 0x000c, 0x29af: 0x000c,\n\t0x29b0: 0x000c, 0x29b1: 0x000c, 0x29b2: 0x000c, 0x29b3: 0x000c, 0x29b4: 0x000c,\n\t// Block 0xa7, offset 0x29c0\n\t0x29f3: 0x000c,\n\t// Block 0xa8, offset 0x2a00\n\t0x2a00: 0x000c, 0x2a01: 0x000c,\n\t0x2a36: 0x000c, 0x2a37: 0x000c, 0x2a38: 0x000c, 0x2a39: 0x000c, 0x2a3a: 0x000c, 0x2a3b: 0x000c,\n\t0x2a3c: 0x000c, 0x2a3d: 0x000c, 0x2a3e: 0x000c,\n\t// Block 0xa9, offset 0x2a40\n\t0x2a4a: 0x000c, 0x2a4b: 0x000c,\n\t0x2a4c: 0x000c,\n\t// Block 0xaa, offset 0x2a80\n\t0x2aaf: 0x000c,\n\t0x2ab0: 0x000c, 0x2ab1: 0x000c, 0x2ab4: 0x000c,\n\t0x2ab6: 0x000c, 0x2ab7: 0x000c,\n\t0x2abe: 0x000c,\n\t// Block 0xab, offset 0x2ac0\n\t0x2adf: 0x000c, 0x2ae3: 0x000c,\n\t0x2ae4: 0x000c, 0x2ae5: 0x000c, 0x2ae6: 0x000c, 0x2ae7: 0x000c, 0x2ae8: 0x000c, 0x2ae9: 0x000c,\n\t0x2aea: 0x000c,\n\t// Block 0xac, offset 0x2b00\n\t0x2b00: 0x000c, 0x2b01: 0x000c,\n\t0x2b3c: 0x000c,\n\t// Block 0xad, offset 0x2b40\n\t0x2b40: 0x000c,\n\t0x2b66: 0x000c, 0x2b67: 0x000c, 0x2b68: 0x000c, 0x2b69: 0x000c,\n\t0x2b6a: 0x000c, 0x2b6b: 0x000c, 0x2b6c: 0x000c,\n\t0x2b70: 0x000c, 0x2b71: 0x000c, 0x2b72: 0x000c, 0x2b73: 0x000c, 0x2b74: 0x000c,\n\t// Block 0xae, offset 0x2b80\n\t0x2bb8: 0x000c, 0x2bb9: 0x000c, 0x2bba: 0x000c, 0x2bbb: 0x000c,\n\t0x2bbc: 0x000c, 0x2bbd: 0x000c, 0x2bbe: 0x000c, 0x2bbf: 0x000c,\n\t// Block 0xaf, offset 0x2bc0\n\t0x2bc2: 0x000c, 0x2bc3: 0x000c, 0x2bc4: 0x000c,\n\t0x2bc6: 0x000c,\n\t// Block 0xb0, offset 0x2c00\n\t0x2c33: 0x000c, 0x2c34: 0x000c, 0x2c35: 0x000c,\n\t0x2c36: 0x000c, 0x2c37: 0x000c, 0x2c38: 0x000c, 0x2c3a: 0x000c,\n\t0x2c3f: 0x000c,\n\t// Block 0xb1, offset 0x2c40\n\t0x2c40: 0x000c, 0x2c42: 0x000c, 0x2c43: 0x000c,\n\t// Block 0xb2, offset 0x2c80\n\t0x2cb2: 0x000c, 0x2cb3: 0x000c, 0x2cb4: 0x000c, 0x2cb5: 0x000c,\n\t0x2cbc: 0x000c, 0x2cbd: 0x000c, 0x2cbf: 0x000c,\n\t// Block 0xb3, offset 0x2cc0\n\t0x2cc0: 0x000c,\n\t0x2cdc: 0x000c, 0x2cdd: 0x000c,\n\t// Block 0xb4, offset 0x2d00\n\t0x2d33: 0x000c, 0x2d34: 0x000c, 0x2d35: 0x000c,\n\t0x2d36: 0x000c, 0x2d37: 0x000c, 0x2d38: 0x000c, 0x2d39: 0x000c, 0x2d3a: 0x000c,\n\t0x2d3d: 0x000c, 0x2d3f: 0x000c,\n\t// Block 0xb5, offset 0x2d40\n\t0x2d40: 0x000c,\n\t0x2d60: 0x000a, 0x2d61: 0x000a, 0x2d62: 0x000a, 0x2d63: 0x000a,\n\t0x2d64: 0x000a, 0x2d65: 0x000a, 0x2d66: 0x000a, 0x2d67: 0x000a, 0x2d68: 0x000a, 0x2d69: 0x000a,\n\t0x2d6a: 0x000a, 0x2d6b: 0x000a, 0x2d6c: 0x000a,\n\t// Block 0xb6, offset 0x2d80\n\t0x2dab: 0x000c, 0x2dad: 0x000c,\n\t0x2db0: 0x000c, 0x2db1: 0x000c, 0x2db2: 0x000c, 0x2db3: 0x000c, 0x2db4: 0x000c, 0x2db5: 0x000c,\n\t0x2db7: 0x000c,\n\t// Block 0xb7, offset 0x2dc0\n\t0x2ddd: 0x000c,\n\t0x2dde: 0x000c, 0x2ddf: 0x000c, 0x2de2: 0x000c, 0x2de3: 0x000c,\n\t0x2de4: 0x000c, 0x2de5: 0x000c, 0x2de7: 0x000c, 0x2de8: 0x000c, 0x2de9: 0x000c,\n\t0x2dea: 0x000c, 0x2deb: 0x000c,\n\t// Block 0xb8, offset 0x2e00\n\t0x2e30: 0x000c, 0x2e31: 0x000c, 0x2e32: 0x000c, 0x2e33: 0x000c, 0x2e34: 0x000c, 0x2e35: 0x000c,\n\t0x2e36: 0x000c, 0x2e38: 0x000c, 0x2e39: 0x000c, 0x2e3a: 0x000c, 0x2e3b: 0x000c,\n\t0x2e3c: 0x000c, 0x2e3d: 0x000c,\n\t// Block 0xb9, offset 0x2e40\n\t0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, 0x2e57: 0x000c,\n\t0x2e58: 0x000c, 0x2e59: 0x000c, 0x2e5a: 0x000c, 0x2e5b: 0x000c, 0x2e5c: 0x000c, 0x2e5d: 0x000c,\n\t0x2e5e: 0x000c, 0x2e5f: 0x000c, 0x2e60: 0x000c, 0x2e61: 0x000c, 0x2e62: 0x000c, 0x2e63: 0x000c,\n\t0x2e64: 0x000c, 0x2e65: 0x000c, 0x2e66: 0x000c, 0x2e67: 0x000c,\n\t0x2e6a: 0x000c, 0x2e6b: 0x000c, 0x2e6c: 0x000c, 0x2e6d: 0x000c, 0x2e6e: 0x000c, 0x2e6f: 0x000c,\n\t0x2e70: 0x000c, 0x2e72: 0x000c, 0x2e73: 0x000c, 0x2e75: 0x000c,\n\t0x2e76: 0x000c,\n\t// Block 0xba, offset 0x2e80\n\t0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c,\n\t// Block 0xbb, offset 0x2ec0\n\t0x2ef0: 0x000c, 0x2ef1: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef4: 0x000c, 0x2ef5: 0x000c,\n\t0x2ef6: 0x000c,\n\t// Block 0xbc, offset 0x2f00\n\t0x2f0f: 0x000c, 0x2f10: 0x000c, 0x2f11: 0x000c,\n\t0x2f12: 0x000c,\n\t// Block 0xbd, offset 0x2f40\n\t0x2f5d: 0x000c,\n\t0x2f5e: 0x000c, 0x2f60: 0x000b, 0x2f61: 0x000b, 0x2f62: 0x000b, 0x2f63: 0x000b,\n\t// Block 0xbe, offset 0x2f80\n\t0x2fa7: 0x000c, 0x2fa8: 0x000c, 0x2fa9: 0x000c,\n\t0x2fb3: 0x000b, 0x2fb4: 0x000b, 0x2fb5: 0x000b,\n\t0x2fb6: 0x000b, 0x2fb7: 0x000b, 0x2fb8: 0x000b, 0x2fb9: 0x000b, 0x2fba: 0x000b, 0x2fbb: 0x000c,\n\t0x2fbc: 0x000c, 0x2fbd: 0x000c, 0x2fbe: 0x000c, 0x2fbf: 0x000c,\n\t// Block 0xbf, offset 0x2fc0\n\t0x2fc0: 0x000c, 0x2fc1: 0x000c, 0x2fc2: 0x000c, 0x2fc5: 0x000c,\n\t0x2fc6: 0x000c, 0x2fc7: 0x000c, 0x2fc8: 0x000c, 0x2fc9: 0x000c, 0x2fca: 0x000c, 0x2fcb: 0x000c,\n\t0x2fea: 0x000c, 0x2feb: 0x000c, 0x2fec: 0x000c, 0x2fed: 0x000c,\n\t// Block 0xc0, offset 0x3000\n\t0x3000: 0x000a, 0x3001: 0x000a, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000a,\n\t// Block 0xc1, offset 0x3040\n\t0x3040: 0x000a, 0x3041: 0x000a, 0x3042: 0x000a, 0x3043: 0x000a, 0x3044: 0x000a, 0x3045: 0x000a,\n\t0x3046: 0x000a, 0x3047: 0x000a, 0x3048: 0x000a, 0x3049: 0x000a, 0x304a: 0x000a, 0x304b: 0x000a,\n\t0x304c: 0x000a, 0x304d: 0x000a, 0x304e: 0x000a, 0x304f: 0x000a, 0x3050: 0x000a, 0x3051: 0x000a,\n\t0x3052: 0x000a, 0x3053: 0x000a, 0x3054: 0x000a, 0x3055: 0x000a, 0x3056: 0x000a,\n\t// Block 0xc2, offset 0x3080\n\t0x309b: 0x000a,\n\t// Block 0xc3, offset 0x30c0\n\t0x30d5: 0x000a,\n\t// Block 0xc4, offset 0x3100\n\t0x310f: 0x000a,\n\t// Block 0xc5, offset 0x3140\n\t0x3149: 0x000a,\n\t// Block 0xc6, offset 0x3180\n\t0x3183: 0x000a,\n\t0x318e: 0x0002, 0x318f: 0x0002, 0x3190: 0x0002, 0x3191: 0x0002,\n\t0x3192: 0x0002, 0x3193: 0x0002, 0x3194: 0x0002, 0x3195: 0x0002, 0x3196: 0x0002, 0x3197: 0x0002,\n\t0x3198: 0x0002, 0x3199: 0x0002, 0x319a: 0x0002, 0x319b: 0x0002, 0x319c: 0x0002, 0x319d: 0x0002,\n\t0x319e: 0x0002, 0x319f: 0x0002, 0x31a0: 0x0002, 0x31a1: 0x0002, 0x31a2: 0x0002, 0x31a3: 0x0002,\n\t0x31a4: 0x0002, 0x31a5: 0x0002, 0x31a6: 0x0002, 0x31a7: 0x0002, 0x31a8: 0x0002, 0x31a9: 0x0002,\n\t0x31aa: 0x0002, 0x31ab: 0x0002, 0x31ac: 0x0002, 0x31ad: 0x0002, 0x31ae: 0x0002, 0x31af: 0x0002,\n\t0x31b0: 0x0002, 0x31b1: 0x0002, 0x31b2: 0x0002, 0x31b3: 0x0002, 0x31b4: 0x0002, 0x31b5: 0x0002,\n\t0x31b6: 0x0002, 0x31b7: 0x0002, 0x31b8: 0x0002, 0x31b9: 0x0002, 0x31ba: 0x0002, 0x31bb: 0x0002,\n\t0x31bc: 0x0002, 0x31bd: 0x0002, 0x31be: 0x0002, 0x31bf: 0x0002,\n\t// Block 0xc7, offset 0x31c0\n\t0x31c0: 0x000c, 0x31c1: 0x000c, 0x31c2: 0x000c, 0x31c3: 0x000c, 0x31c4: 0x000c, 0x31c5: 0x000c,\n\t0x31c6: 0x000c, 0x31c7: 0x000c, 0x31c8: 0x000c, 0x31c9: 0x000c, 0x31ca: 0x000c, 0x31cb: 0x000c,\n\t0x31cc: 0x000c, 0x31cd: 0x000c, 0x31ce: 0x000c, 0x31cf: 0x000c, 0x31d0: 0x000c, 0x31d1: 0x000c,\n\t0x31d2: 0x000c, 0x31d3: 0x000c, 0x31d4: 0x000c, 0x31d5: 0x000c, 0x31d6: 0x000c, 0x31d7: 0x000c,\n\t0x31d8: 0x000c, 0x31d9: 0x000c, 0x31da: 0x000c, 0x31db: 0x000c, 0x31dc: 0x000c, 0x31dd: 0x000c,\n\t0x31de: 0x000c, 0x31df: 0x000c, 0x31e0: 0x000c, 0x31e1: 0x000c, 0x31e2: 0x000c, 0x31e3: 0x000c,\n\t0x31e4: 0x000c, 0x31e5: 0x000c, 0x31e6: 0x000c, 0x31e7: 0x000c, 0x31e8: 0x000c, 0x31e9: 0x000c,\n\t0x31ea: 0x000c, 0x31eb: 0x000c, 0x31ec: 0x000c, 0x31ed: 0x000c, 0x31ee: 0x000c, 0x31ef: 0x000c,\n\t0x31f0: 0x000c, 0x31f1: 0x000c, 0x31f2: 0x000c, 0x31f3: 0x000c, 0x31f4: 0x000c, 0x31f5: 0x000c,\n\t0x31f6: 0x000c, 0x31fb: 0x000c,\n\t0x31fc: 0x000c, 0x31fd: 0x000c, 0x31fe: 0x000c, 0x31ff: 0x000c,\n\t// Block 0xc8, offset 0x3200\n\t0x3200: 0x000c, 0x3201: 0x000c, 0x3202: 0x000c, 0x3203: 0x000c, 0x3204: 0x000c, 0x3205: 0x000c,\n\t0x3206: 0x000c, 0x3207: 0x000c, 0x3208: 0x000c, 0x3209: 0x000c, 0x320a: 0x000c, 0x320b: 0x000c,\n\t0x320c: 0x000c, 0x320d: 0x000c, 0x320e: 0x000c, 0x320f: 0x000c, 0x3210: 0x000c, 0x3211: 0x000c,\n\t0x3212: 0x000c, 0x3213: 0x000c, 0x3214: 0x000c, 0x3215: 0x000c, 0x3216: 0x000c, 0x3217: 0x000c,\n\t0x3218: 0x000c, 0x3219: 0x000c, 0x321a: 0x000c, 0x321b: 0x000c, 0x321c: 0x000c, 0x321d: 0x000c,\n\t0x321e: 0x000c, 0x321f: 0x000c, 0x3220: 0x000c, 0x3221: 0x000c, 0x3222: 0x000c, 0x3223: 0x000c,\n\t0x3224: 0x000c, 0x3225: 0x000c, 0x3226: 0x000c, 0x3227: 0x000c, 0x3228: 0x000c, 0x3229: 0x000c,\n\t0x322a: 0x000c, 0x322b: 0x000c, 0x322c: 0x000c,\n\t0x3235: 0x000c,\n\t// Block 0xc9, offset 0x3240\n\t0x3244: 0x000c,\n\t0x325b: 0x000c, 0x325c: 0x000c, 0x325d: 0x000c,\n\t0x325e: 0x000c, 0x325f: 0x000c, 0x3261: 0x000c, 0x3262: 0x000c, 0x3263: 0x000c,\n\t0x3264: 0x000c, 0x3265: 0x000c, 0x3266: 0x000c, 0x3267: 0x000c, 0x3268: 0x000c, 0x3269: 0x000c,\n\t0x326a: 0x000c, 0x326b: 0x000c, 0x326c: 0x000c, 0x326d: 0x000c, 0x326e: 0x000c, 0x326f: 0x000c,\n\t// Block 0xca, offset 0x3280\n\t0x3280: 0x000c, 0x3281: 0x000c, 0x3282: 0x000c, 0x3283: 0x000c, 0x3284: 0x000c, 0x3285: 0x000c,\n\t0x3286: 0x000c, 0x3288: 0x000c, 0x3289: 0x000c, 0x328a: 0x000c, 0x328b: 0x000c,\n\t0x328c: 0x000c, 0x328d: 0x000c, 0x328e: 0x000c, 0x328f: 0x000c, 0x3290: 0x000c, 0x3291: 0x000c,\n\t0x3292: 0x000c, 0x3293: 0x000c, 0x3294: 0x000c, 0x3295: 0x000c, 0x3296: 0x000c, 0x3297: 0x000c,\n\t0x3298: 0x000c, 0x329b: 0x000c, 0x329c: 0x000c, 0x329d: 0x000c,\n\t0x329e: 0x000c, 0x329f: 0x000c, 0x32a0: 0x000c, 0x32a1: 0x000c, 0x32a3: 0x000c,\n\t0x32a4: 0x000c, 0x32a6: 0x000c, 0x32a7: 0x000c, 0x32a8: 0x000c, 0x32a9: 0x000c,\n\t0x32aa: 0x000c,\n\t// Block 0xcb, offset 0x32c0\n\t0x32c0: 0x0001, 0x32c1: 0x0001, 0x32c2: 0x0001, 0x32c3: 0x0001, 0x32c4: 0x0001, 0x32c5: 0x0001,\n\t0x32c6: 0x0001, 0x32c7: 0x0001, 0x32c8: 0x0001, 0x32c9: 0x0001, 0x32ca: 0x0001, 0x32cb: 0x0001,\n\t0x32cc: 0x0001, 0x32cd: 0x0001, 0x32ce: 0x0001, 0x32cf: 0x0001, 0x32d0: 0x000c, 0x32d1: 0x000c,\n\t0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x0001,\n\t0x32d8: 0x0001, 0x32d9: 0x0001, 0x32da: 0x0001, 0x32db: 0x0001, 0x32dc: 0x0001, 0x32dd: 0x0001,\n\t0x32de: 0x0001, 0x32df: 0x0001, 0x32e0: 0x0001, 0x32e1: 0x0001, 0x32e2: 0x0001, 0x32e3: 0x0001,\n\t0x32e4: 0x0001, 0x32e5: 0x0001, 0x32e6: 0x0001, 0x32e7: 0x0001, 0x32e8: 0x0001, 0x32e9: 0x0001,\n\t0x32ea: 0x0001, 0x32eb: 0x0001, 0x32ec: 0x0001, 0x32ed: 0x0001, 0x32ee: 0x0001, 0x32ef: 0x0001,\n\t0x32f0: 0x0001, 0x32f1: 0x0001, 0x32f2: 0x0001, 0x32f3: 0x0001, 0x32f4: 0x0001, 0x32f5: 0x0001,\n\t0x32f6: 0x0001, 0x32f7: 0x0001, 0x32f8: 0x0001, 0x32f9: 0x0001, 0x32fa: 0x0001, 0x32fb: 0x0001,\n\t0x32fc: 0x0001, 0x32fd: 0x0001, 0x32fe: 0x0001, 0x32ff: 0x0001,\n\t// Block 0xcc, offset 0x3300\n\t0x3300: 0x0001, 0x3301: 0x0001, 0x3302: 0x0001, 0x3303: 0x0001, 0x3304: 0x000c, 0x3305: 0x000c,\n\t0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x0001,\n\t0x330c: 0x0001, 0x330d: 0x0001, 0x330e: 0x0001, 0x330f: 0x0001, 0x3310: 0x0001, 0x3311: 0x0001,\n\t0x3312: 0x0001, 0x3313: 0x0001, 0x3314: 0x0001, 0x3315: 0x0001, 0x3316: 0x0001, 0x3317: 0x0001,\n\t0x3318: 0x0001, 0x3319: 0x0001, 0x331a: 0x0001, 0x331b: 0x0001, 0x331c: 0x0001, 0x331d: 0x0001,\n\t0x331e: 0x0001, 0x331f: 0x0001, 0x3320: 0x0001, 0x3321: 0x0001, 0x3322: 0x0001, 0x3323: 0x0001,\n\t0x3324: 0x0001, 0x3325: 0x0001, 0x3326: 0x0001, 0x3327: 0x0001, 0x3328: 0x0001, 0x3329: 0x0001,\n\t0x332a: 0x0001, 0x332b: 0x0001, 0x332c: 0x0001, 0x332d: 0x0001, 0x332e: 0x0001, 0x332f: 0x0001,\n\t0x3330: 0x0001, 0x3331: 0x0001, 0x3332: 0x0001, 0x3333: 0x0001, 0x3334: 0x0001, 0x3335: 0x0001,\n\t0x3336: 0x0001, 0x3337: 0x0001, 0x3338: 0x0001, 0x3339: 0x0001, 0x333a: 0x0001, 0x333b: 0x0001,\n\t0x333c: 0x0001, 0x333d: 0x0001, 0x333e: 0x0001, 0x333f: 0x0001,\n\t// Block 0xcd, offset 0x3340\n\t0x3340: 0x000d, 0x3341: 0x000d, 0x3342: 0x000d, 0x3343: 0x000d, 0x3344: 0x000d, 0x3345: 0x000d,\n\t0x3346: 0x000d, 0x3347: 0x000d, 0x3348: 0x000d, 0x3349: 0x000d, 0x334a: 0x000d, 0x334b: 0x000d,\n\t0x334c: 0x000d, 0x334d: 0x000d, 0x334e: 0x000d, 0x334f: 0x000d, 0x3350: 0x000d, 0x3351: 0x000d,\n\t0x3352: 0x000d, 0x3353: 0x000d, 0x3354: 0x000d, 0x3355: 0x000d, 0x3356: 0x000d, 0x3357: 0x000d,\n\t0x3358: 0x000d, 0x3359: 0x000d, 0x335a: 0x000d, 0x335b: 0x000d, 0x335c: 0x000d, 0x335d: 0x000d,\n\t0x335e: 0x000d, 0x335f: 0x000d, 0x3360: 0x000d, 0x3361: 0x000d, 0x3362: 0x000d, 0x3363: 0x000d,\n\t0x3364: 0x000d, 0x3365: 0x000d, 0x3366: 0x000d, 0x3367: 0x000d, 0x3368: 0x000d, 0x3369: 0x000d,\n\t0x336a: 0x000d, 0x336b: 0x000d, 0x336c: 0x000d, 0x336d: 0x000d, 0x336e: 0x000d, 0x336f: 0x000d,\n\t0x3370: 0x000a, 0x3371: 0x000a, 0x3372: 0x000d, 0x3373: 0x000d, 0x3374: 0x000d, 0x3375: 0x000d,\n\t0x3376: 0x000d, 0x3377: 0x000d, 0x3378: 0x000d, 0x3379: 0x000d, 0x337a: 0x000d, 0x337b: 0x000d,\n\t0x337c: 0x000d, 0x337d: 0x000d, 0x337e: 0x000d, 0x337f: 0x000d,\n\t// Block 0xce, offset 0x3380\n\t0x3380: 0x000a, 0x3381: 0x000a, 0x3382: 0x000a, 0x3383: 0x000a, 0x3384: 0x000a, 0x3385: 0x000a,\n\t0x3386: 0x000a, 0x3387: 0x000a, 0x3388: 0x000a, 0x3389: 0x000a, 0x338a: 0x000a, 0x338b: 0x000a,\n\t0x338c: 0x000a, 0x338d: 0x000a, 0x338e: 0x000a, 0x338f: 0x000a, 0x3390: 0x000a, 0x3391: 0x000a,\n\t0x3392: 0x000a, 0x3393: 0x000a, 0x3394: 0x000a, 0x3395: 0x000a, 0x3396: 0x000a, 0x3397: 0x000a,\n\t0x3398: 0x000a, 0x3399: 0x000a, 0x339a: 0x000a, 0x339b: 0x000a, 0x339c: 0x000a, 0x339d: 0x000a,\n\t0x339e: 0x000a, 0x339f: 0x000a, 0x33a0: 0x000a, 0x33a1: 0x000a, 0x33a2: 0x000a, 0x33a3: 0x000a,\n\t0x33a4: 0x000a, 0x33a5: 0x000a, 0x33a6: 0x000a, 0x33a7: 0x000a, 0x33a8: 0x000a, 0x33a9: 0x000a,\n\t0x33aa: 0x000a, 0x33ab: 0x000a,\n\t0x33b0: 0x000a, 0x33b1: 0x000a, 0x33b2: 0x000a, 0x33b3: 0x000a, 0x33b4: 0x000a, 0x33b5: 0x000a,\n\t0x33b6: 0x000a, 0x33b7: 0x000a, 0x33b8: 0x000a, 0x33b9: 0x000a, 0x33ba: 0x000a, 0x33bb: 0x000a,\n\t0x33bc: 0x000a, 0x33bd: 0x000a, 0x33be: 0x000a, 0x33bf: 0x000a,\n\t// Block 0xcf, offset 0x33c0\n\t0x33c0: 0x000a, 0x33c1: 0x000a, 0x33c2: 0x000a, 0x33c3: 0x000a, 0x33c4: 0x000a, 0x33c5: 0x000a,\n\t0x33c6: 0x000a, 0x33c7: 0x000a, 0x33c8: 0x000a, 0x33c9: 0x000a, 0x33ca: 0x000a, 0x33cb: 0x000a,\n\t0x33cc: 0x000a, 0x33cd: 0x000a, 0x33ce: 0x000a, 0x33cf: 0x000a, 0x33d0: 0x000a, 0x33d1: 0x000a,\n\t0x33d2: 0x000a, 0x33d3: 0x000a,\n\t0x33e0: 0x000a, 0x33e1: 0x000a, 0x33e2: 0x000a, 0x33e3: 0x000a,\n\t0x33e4: 0x000a, 0x33e5: 0x000a, 0x33e6: 0x000a, 0x33e7: 0x000a, 0x33e8: 0x000a, 0x33e9: 0x000a,\n\t0x33ea: 0x000a, 0x33eb: 0x000a, 0x33ec: 0x000a, 0x33ed: 0x000a, 0x33ee: 0x000a,\n\t0x33f1: 0x000a, 0x33f2: 0x000a, 0x33f3: 0x000a, 0x33f4: 0x000a, 0x33f5: 0x000a,\n\t0x33f6: 0x000a, 0x33f7: 0x000a, 0x33f8: 0x000a, 0x33f9: 0x000a, 0x33fa: 0x000a, 0x33fb: 0x000a,\n\t0x33fc: 0x000a, 0x33fd: 0x000a, 0x33fe: 0x000a, 0x33ff: 0x000a,\n\t// Block 0xd0, offset 0x3400\n\t0x3401: 0x000a, 0x3402: 0x000a, 0x3403: 0x000a, 0x3404: 0x000a, 0x3405: 0x000a,\n\t0x3406: 0x000a, 0x3407: 0x000a, 0x3408: 0x000a, 0x3409: 0x000a, 0x340a: 0x000a, 0x340b: 0x000a,\n\t0x340c: 0x000a, 0x340d: 0x000a, 0x340e: 0x000a, 0x340f: 0x000a, 0x3411: 0x000a,\n\t0x3412: 0x000a, 0x3413: 0x000a, 0x3414: 0x000a, 0x3415: 0x000a, 0x3416: 0x000a, 0x3417: 0x000a,\n\t0x3418: 0x000a, 0x3419: 0x000a, 0x341a: 0x000a, 0x341b: 0x000a, 0x341c: 0x000a, 0x341d: 0x000a,\n\t0x341e: 0x000a, 0x341f: 0x000a, 0x3420: 0x000a, 0x3421: 0x000a, 0x3422: 0x000a, 0x3423: 0x000a,\n\t0x3424: 0x000a, 0x3425: 0x000a, 0x3426: 0x000a, 0x3427: 0x000a, 0x3428: 0x000a, 0x3429: 0x000a,\n\t0x342a: 0x000a, 0x342b: 0x000a, 0x342c: 0x000a, 0x342d: 0x000a, 0x342e: 0x000a, 0x342f: 0x000a,\n\t0x3430: 0x000a, 0x3431: 0x000a, 0x3432: 0x000a, 0x3433: 0x000a, 0x3434: 0x000a, 0x3435: 0x000a,\n\t// Block 0xd1, offset 0x3440\n\t0x3440: 0x0002, 0x3441: 0x0002, 0x3442: 0x0002, 0x3443: 0x0002, 0x3444: 0x0002, 0x3445: 0x0002,\n\t0x3446: 0x0002, 0x3447: 0x0002, 0x3448: 0x0002, 0x3449: 0x0002, 0x344a: 0x0002, 0x344b: 0x000a,\n\t0x344c: 0x000a,\n\t// Block 0xd2, offset 0x3480\n\t0x34aa: 0x000a, 0x34ab: 0x000a,\n\t// Block 0xd3, offset 0x34c0\n\t0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a,\n\t0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a,\n\t0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a,\n\t0x34d2: 0x000a,\n\t0x34e0: 0x000a, 0x34e1: 0x000a, 0x34e2: 0x000a, 0x34e3: 0x000a,\n\t0x34e4: 0x000a, 0x34e5: 0x000a, 0x34e6: 0x000a, 0x34e7: 0x000a, 0x34e8: 0x000a, 0x34e9: 0x000a,\n\t0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a,\n\t0x34f0: 0x000a, 0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a,\n\t0x34f6: 0x000a,\n\t// Block 0xd4, offset 0x3500\n\t0x3500: 0x000a, 0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a,\n\t0x3506: 0x000a, 0x3507: 0x000a, 0x3508: 0x000a, 0x3509: 0x000a, 0x350a: 0x000a, 0x350b: 0x000a,\n\t0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3510: 0x000a, 0x3511: 0x000a,\n\t0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a,\n\t// Block 0xd5, offset 0x3540\n\t0x3540: 0x000a, 0x3541: 0x000a, 0x3542: 0x000a, 0x3543: 0x000a, 0x3544: 0x000a, 0x3545: 0x000a,\n\t0x3546: 0x000a, 0x3547: 0x000a, 0x3548: 0x000a, 0x3549: 0x000a, 0x354a: 0x000a, 0x354b: 0x000a,\n\t0x3550: 0x000a, 0x3551: 0x000a,\n\t0x3552: 0x000a, 0x3553: 0x000a, 0x3554: 0x000a, 0x3555: 0x000a, 0x3556: 0x000a, 0x3557: 0x000a,\n\t0x3558: 0x000a, 0x3559: 0x000a, 0x355a: 0x000a, 0x355b: 0x000a, 0x355c: 0x000a, 0x355d: 0x000a,\n\t0x355e: 0x000a, 0x355f: 0x000a, 0x3560: 0x000a, 0x3561: 0x000a, 0x3562: 0x000a, 0x3563: 0x000a,\n\t0x3564: 0x000a, 0x3565: 0x000a, 0x3566: 0x000a, 0x3567: 0x000a, 0x3568: 0x000a, 0x3569: 0x000a,\n\t0x356a: 0x000a, 0x356b: 0x000a, 0x356c: 0x000a, 0x356d: 0x000a, 0x356e: 0x000a, 0x356f: 0x000a,\n\t0x3570: 0x000a, 0x3571: 0x000a, 0x3572: 0x000a, 0x3573: 0x000a, 0x3574: 0x000a, 0x3575: 0x000a,\n\t0x3576: 0x000a, 0x3577: 0x000a, 0x3578: 0x000a, 0x3579: 0x000a, 0x357a: 0x000a, 0x357b: 0x000a,\n\t0x357c: 0x000a, 0x357d: 0x000a, 0x357e: 0x000a, 0x357f: 0x000a,\n\t// Block 0xd6, offset 0x3580\n\t0x3580: 0x000a, 0x3581: 0x000a, 0x3582: 0x000a, 0x3583: 0x000a, 0x3584: 0x000a, 0x3585: 0x000a,\n\t0x3586: 0x000a, 0x3587: 0x000a,\n\t0x3590: 0x000a, 0x3591: 0x000a,\n\t0x3592: 0x000a, 0x3593: 0x000a, 0x3594: 0x000a, 0x3595: 0x000a, 0x3596: 0x000a, 0x3597: 0x000a,\n\t0x3598: 0x000a, 0x3599: 0x000a,\n\t0x35a0: 0x000a, 0x35a1: 0x000a, 0x35a2: 0x000a, 0x35a3: 0x000a,\n\t0x35a4: 0x000a, 0x35a5: 0x000a, 0x35a6: 0x000a, 0x35a7: 0x000a, 0x35a8: 0x000a, 0x35a9: 0x000a,\n\t0x35aa: 0x000a, 0x35ab: 0x000a, 0x35ac: 0x000a, 0x35ad: 0x000a, 0x35ae: 0x000a, 0x35af: 0x000a,\n\t0x35b0: 0x000a, 0x35b1: 0x000a, 0x35b2: 0x000a, 0x35b3: 0x000a, 0x35b4: 0x000a, 0x35b5: 0x000a,\n\t0x35b6: 0x000a, 0x35b7: 0x000a, 0x35b8: 0x000a, 0x35b9: 0x000a, 0x35ba: 0x000a, 0x35bb: 0x000a,\n\t0x35bc: 0x000a, 0x35bd: 0x000a, 0x35be: 0x000a, 0x35bf: 0x000a,\n\t// Block 0xd7, offset 0x35c0\n\t0x35c0: 0x000a, 0x35c1: 0x000a, 0x35c2: 0x000a, 0x35c3: 0x000a, 0x35c4: 0x000a, 0x35c5: 0x000a,\n\t0x35c6: 0x000a, 0x35c7: 0x000a,\n\t0x35d0: 0x000a, 0x35d1: 0x000a,\n\t0x35d2: 0x000a, 0x35d3: 0x000a, 0x35d4: 0x000a, 0x35d5: 0x000a, 0x35d6: 0x000a, 0x35d7: 0x000a,\n\t0x35d8: 0x000a, 0x35d9: 0x000a, 0x35da: 0x000a, 0x35db: 0x000a, 0x35dc: 0x000a, 0x35dd: 0x000a,\n\t0x35de: 0x000a, 0x35df: 0x000a, 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a,\n\t0x35e4: 0x000a, 0x35e5: 0x000a, 0x35e6: 0x000a, 0x35e7: 0x000a, 0x35e8: 0x000a, 0x35e9: 0x000a,\n\t0x35ea: 0x000a, 0x35eb: 0x000a, 0x35ec: 0x000a, 0x35ed: 0x000a,\n\t// Block 0xd8, offset 0x3600\n\t0x3610: 0x000a, 0x3611: 0x000a,\n\t0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a, 0x3615: 0x000a, 0x3616: 0x000a, 0x3617: 0x000a,\n\t0x3618: 0x000a, 0x3619: 0x000a, 0x361a: 0x000a, 0x361b: 0x000a, 0x361c: 0x000a, 0x361d: 0x000a,\n\t0x361e: 0x000a, 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a,\n\t0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a,\n\t0x3630: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a,\n\t0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, 0x3639: 0x000a, 0x363a: 0x000a, 0x363b: 0x000a,\n\t0x363c: 0x000a, 0x363d: 0x000a, 0x363e: 0x000a,\n\t// Block 0xd9, offset 0x3640\n\t0x3640: 0x000a, 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a,\n\t0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a,\n\t0x3650: 0x000a, 0x3651: 0x000a,\n\t0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, 0x3655: 0x000a, 0x3656: 0x000a, 0x3657: 0x000a,\n\t0x3658: 0x000a, 0x3659: 0x000a, 0x365a: 0x000a, 0x365b: 0x000a, 0x365c: 0x000a, 0x365d: 0x000a,\n\t0x365e: 0x000a,\n\t// Block 0xda, offset 0x3680\n\t0x3680: 0x000a, 0x3681: 0x000a, 0x3682: 0x000a, 0x3683: 0x000a, 0x3684: 0x000a, 0x3685: 0x000a,\n\t0x3686: 0x000a, 0x3687: 0x000a, 0x3688: 0x000a, 0x3689: 0x000a, 0x368a: 0x000a, 0x368b: 0x000a,\n\t0x368c: 0x000a, 0x368d: 0x000a, 0x368e: 0x000a, 0x368f: 0x000a, 0x3690: 0x000a, 0x3691: 0x000a,\n\t// Block 0xdb, offset 0x36c0\n\t0x36fe: 0x000b, 0x36ff: 0x000b,\n\t// Block 0xdc, offset 0x3700\n\t0x3700: 0x000b, 0x3701: 0x000b, 0x3702: 0x000b, 0x3703: 0x000b, 0x3704: 0x000b, 0x3705: 0x000b,\n\t0x3706: 0x000b, 0x3707: 0x000b, 0x3708: 0x000b, 0x3709: 0x000b, 0x370a: 0x000b, 0x370b: 0x000b,\n\t0x370c: 0x000b, 0x370d: 0x000b, 0x370e: 0x000b, 0x370f: 0x000b, 0x3710: 0x000b, 0x3711: 0x000b,\n\t0x3712: 0x000b, 0x3713: 0x000b, 0x3714: 0x000b, 0x3715: 0x000b, 0x3716: 0x000b, 0x3717: 0x000b,\n\t0x3718: 0x000b, 0x3719: 0x000b, 0x371a: 0x000b, 0x371b: 0x000b, 0x371c: 0x000b, 0x371d: 0x000b,\n\t0x371e: 0x000b, 0x371f: 0x000b, 0x3720: 0x000b, 0x3721: 0x000b, 0x3722: 0x000b, 0x3723: 0x000b,\n\t0x3724: 0x000b, 0x3725: 0x000b, 0x3726: 0x000b, 0x3727: 0x000b, 0x3728: 0x000b, 0x3729: 0x000b,\n\t0x372a: 0x000b, 0x372b: 0x000b, 0x372c: 0x000b, 0x372d: 0x000b, 0x372e: 0x000b, 0x372f: 0x000b,\n\t0x3730: 0x000b, 0x3731: 0x000b, 0x3732: 0x000b, 0x3733: 0x000b, 0x3734: 0x000b, 0x3735: 0x000b,\n\t0x3736: 0x000b, 0x3737: 0x000b, 0x3738: 0x000b, 0x3739: 0x000b, 0x373a: 0x000b, 0x373b: 0x000b,\n\t0x373c: 0x000b, 0x373d: 0x000b, 0x373e: 0x000b, 0x373f: 0x000b,\n\t// Block 0xdd, offset 0x3740\n\t0x3740: 0x000c, 0x3741: 0x000c, 0x3742: 0x000c, 0x3743: 0x000c, 0x3744: 0x000c, 0x3745: 0x000c,\n\t0x3746: 0x000c, 0x3747: 0x000c, 0x3748: 0x000c, 0x3749: 0x000c, 0x374a: 0x000c, 0x374b: 0x000c,\n\t0x374c: 0x000c, 0x374d: 0x000c, 0x374e: 0x000c, 0x374f: 0x000c, 0x3750: 0x000c, 0x3751: 0x000c,\n\t0x3752: 0x000c, 0x3753: 0x000c, 0x3754: 0x000c, 0x3755: 0x000c, 0x3756: 0x000c, 0x3757: 0x000c,\n\t0x3758: 0x000c, 0x3759: 0x000c, 0x375a: 0x000c, 0x375b: 0x000c, 0x375c: 0x000c, 0x375d: 0x000c,\n\t0x375e: 0x000c, 0x375f: 0x000c, 0x3760: 0x000c, 0x3761: 0x000c, 0x3762: 0x000c, 0x3763: 0x000c,\n\t0x3764: 0x000c, 0x3765: 0x000c, 0x3766: 0x000c, 0x3767: 0x000c, 0x3768: 0x000c, 0x3769: 0x000c,\n\t0x376a: 0x000c, 0x376b: 0x000c, 0x376c: 0x000c, 0x376d: 0x000c, 0x376e: 0x000c, 0x376f: 0x000c,\n\t0x3770: 0x000b, 0x3771: 0x000b, 0x3772: 0x000b, 0x3773: 0x000b, 0x3774: 0x000b, 0x3775: 0x000b,\n\t0x3776: 0x000b, 0x3777: 0x000b, 0x3778: 0x000b, 0x3779: 0x000b, 0x377a: 0x000b, 0x377b: 0x000b,\n\t0x377c: 0x000b, 0x377d: 0x000b, 0x377e: 0x000b, 0x377f: 0x000b,\n}\n\n// bidiIndex: 24 blocks, 1536 entries, 1536 bytes\n// Block 0 is the zero block.\nvar bidiIndex = [1536]uint8{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x01, 0xc3: 0x02,\n\t0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08,\n\t0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b,\n\t0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06,\n\t0xea: 0x07, 0xef: 0x08,\n\t0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b,\n\t0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22,\n\t0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28,\n\t0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x31, 0x141: 0x32, 0x142: 0x33,\n\t0x14d: 0x34, 0x14e: 0x35,\n\t0x150: 0x36,\n\t0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b,\n\t0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40,\n\t0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47,\n\t0x170: 0x48, 0x173: 0x49, 0x177: 0x4a,\n\t0x17e: 0x4b, 0x17f: 0x4c,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54,\n\t0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x59,\n\t0x190: 0x5a, 0x191: 0x5b, 0x192: 0x5c, 0x193: 0x5d, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54,\n\t0x198: 0x54, 0x199: 0x54, 0x19a: 0x5e, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5f, 0x19e: 0x54, 0x19f: 0x60,\n\t0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x61, 0x1a7: 0x62,\n\t0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x63, 0x1ae: 0x64, 0x1af: 0x65,\n\t0x1b3: 0x66, 0x1b5: 0x67, 0x1b7: 0x68,\n\t0x1b8: 0x69, 0x1b9: 0x6a, 0x1ba: 0x6b, 0x1bb: 0x6c, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6d,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x6e, 0x1c2: 0x6f, 0x1c3: 0x70, 0x1c7: 0x71,\n\t0x1c8: 0x72, 0x1c9: 0x73, 0x1ca: 0x74, 0x1cb: 0x75, 0x1cd: 0x76, 0x1cf: 0x77,\n\t// Block 0x8, offset 0x200\n\t0x237: 0x54,\n\t// Block 0x9, offset 0x240\n\t0x252: 0x78, 0x253: 0x79,\n\t0x258: 0x7a, 0x259: 0x7b, 0x25a: 0x7c, 0x25b: 0x7d, 0x25c: 0x7e, 0x25e: 0x7f,\n\t0x260: 0x80, 0x261: 0x81, 0x263: 0x82, 0x264: 0x83, 0x265: 0x84, 0x266: 0x85, 0x267: 0x86,\n\t0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26f: 0x8b,\n\t// Block 0xa, offset 0x280\n\t0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x0e, 0x2af: 0x0e,\n\t0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8e, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8f,\n\t0x2b8: 0x90, 0x2b9: 0x91, 0x2ba: 0x0e, 0x2bb: 0x92, 0x2bc: 0x93, 0x2bd: 0x94, 0x2bf: 0x95,\n\t// Block 0xb, offset 0x2c0\n\t0x2c4: 0x96, 0x2c5: 0x54, 0x2c6: 0x97, 0x2c7: 0x98,\n\t0x2cb: 0x99, 0x2cd: 0x9a,\n\t0x2e0: 0x9b, 0x2e1: 0x9b, 0x2e2: 0x9b, 0x2e3: 0x9b, 0x2e4: 0x9c, 0x2e5: 0x9b, 0x2e6: 0x9b, 0x2e7: 0x9b,\n\t0x2e8: 0x9d, 0x2e9: 0x9b, 0x2ea: 0x9b, 0x2eb: 0x9e, 0x2ec: 0x9f, 0x2ed: 0x9b, 0x2ee: 0x9b, 0x2ef: 0x9b,\n\t0x2f0: 0x9b, 0x2f1: 0x9b, 0x2f2: 0x9b, 0x2f3: 0x9b, 0x2f4: 0x9b, 0x2f5: 0x9b, 0x2f6: 0x9b, 0x2f7: 0x9b,\n\t0x2f8: 0x9b, 0x2f9: 0xa0, 0x2fa: 0x9b, 0x2fb: 0x9b, 0x2fc: 0x9b, 0x2fd: 0x9b, 0x2fe: 0x9b, 0x2ff: 0x9b,\n\t// Block 0xc, offset 0x300\n\t0x300: 0xa1, 0x301: 0xa2, 0x302: 0xa3, 0x304: 0xa4, 0x305: 0xa5, 0x306: 0xa6, 0x307: 0xa7,\n\t0x308: 0xa8, 0x30b: 0xa9, 0x30c: 0xaa, 0x30d: 0xab,\n\t0x310: 0xac, 0x311: 0xad, 0x312: 0xae, 0x313: 0xaf, 0x316: 0xb0, 0x317: 0xb1,\n\t0x318: 0xb2, 0x319: 0xb3, 0x31a: 0xb4, 0x31c: 0xb5,\n\t0x330: 0xb6, 0x332: 0xb7,\n\t// Block 0xd, offset 0x340\n\t0x36b: 0xb8, 0x36c: 0xb9,\n\t0x37e: 0xba,\n\t// Block 0xe, offset 0x380\n\t0x3b2: 0xbb,\n\t// Block 0xf, offset 0x3c0\n\t0x3c5: 0xbc, 0x3c6: 0xbd,\n\t0x3c8: 0x54, 0x3c9: 0xbe, 0x3cc: 0x54, 0x3cd: 0xbf,\n\t0x3db: 0xc0, 0x3dc: 0xc1, 0x3dd: 0xc2, 0x3de: 0xc3, 0x3df: 0xc4,\n\t0x3e8: 0xc5, 0x3e9: 0xc6, 0x3ea: 0xc7,\n\t// Block 0x10, offset 0x400\n\t0x400: 0xc8,\n\t0x420: 0x9b, 0x421: 0x9b, 0x422: 0x9b, 0x423: 0xc9, 0x424: 0x9b, 0x425: 0xca, 0x426: 0x9b, 0x427: 0x9b,\n\t0x428: 0x9b, 0x429: 0x9b, 0x42a: 0x9b, 0x42b: 0x9b, 0x42c: 0x9b, 0x42d: 0x9b, 0x42e: 0x9b, 0x42f: 0x9b,\n\t0x430: 0x9b, 0x431: 0x9b, 0x432: 0x9b, 0x433: 0x9b, 0x434: 0x9b, 0x435: 0x9b, 0x436: 0x9b, 0x437: 0x9b,\n\t0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcb, 0x43c: 0x9b, 0x43d: 0x9b, 0x43e: 0x9b, 0x43f: 0x9b,\n\t// Block 0x11, offset 0x440\n\t0x440: 0xcc, 0x441: 0x54, 0x442: 0xcd, 0x443: 0xce, 0x444: 0xcf, 0x445: 0xd0,\n\t0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54,\n\t0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54,\n\t0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd1, 0x45c: 0x54, 0x45d: 0x6c, 0x45e: 0x54, 0x45f: 0xd2,\n\t0x460: 0xd3, 0x461: 0xd4, 0x462: 0xd5, 0x464: 0xd6, 0x465: 0xd7, 0x466: 0xd8, 0x467: 0x36,\n\t0x47f: 0xd9,\n\t// Block 0x12, offset 0x480\n\t0x4bf: 0xd9,\n\t// Block 0x13, offset 0x4c0\n\t0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b,\n\t0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f,\n\t0x4ef: 0x10,\n\t0x4ff: 0x10,\n\t// Block 0x14, offset 0x500\n\t0x50f: 0x10,\n\t0x51f: 0x10,\n\t0x52f: 0x10,\n\t0x53f: 0x10,\n\t// Block 0x15, offset 0x540\n\t0x540: 0xda, 0x541: 0xda, 0x542: 0xda, 0x543: 0xda, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xdb,\n\t0x548: 0xda, 0x549: 0xda, 0x54a: 0xda, 0x54b: 0xda, 0x54c: 0xda, 0x54d: 0xda, 0x54e: 0xda, 0x54f: 0xda,\n\t0x550: 0xda, 0x551: 0xda, 0x552: 0xda, 0x553: 0xda, 0x554: 0xda, 0x555: 0xda, 0x556: 0xda, 0x557: 0xda,\n\t0x558: 0xda, 0x559: 0xda, 0x55a: 0xda, 0x55b: 0xda, 0x55c: 0xda, 0x55d: 0xda, 0x55e: 0xda, 0x55f: 0xda,\n\t0x560: 0xda, 0x561: 0xda, 0x562: 0xda, 0x563: 0xda, 0x564: 0xda, 0x565: 0xda, 0x566: 0xda, 0x567: 0xda,\n\t0x568: 0xda, 0x569: 0xda, 0x56a: 0xda, 0x56b: 0xda, 0x56c: 0xda, 0x56d: 0xda, 0x56e: 0xda, 0x56f: 0xda,\n\t0x570: 0xda, 0x571: 0xda, 0x572: 0xda, 0x573: 0xda, 0x574: 0xda, 0x575: 0xda, 0x576: 0xda, 0x577: 0xda,\n\t0x578: 0xda, 0x579: 0xda, 0x57a: 0xda, 0x57b: 0xda, 0x57c: 0xda, 0x57d: 0xda, 0x57e: 0xda, 0x57f: 0xda,\n\t// Block 0x16, offset 0x580\n\t0x58f: 0x10,\n\t0x59f: 0x10,\n\t0x5a0: 0x13,\n\t0x5af: 0x10,\n\t0x5bf: 0x10,\n\t// Block 0x17, offset 0x5c0\n\t0x5cf: 0x10,\n}\n\n// Total table size 15800 bytes (15KiB); checksum: F50EF68C\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/trieval.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage bidi\n\n// Class is the Unicode BiDi class. Each rune has a single class.\ntype Class uint\n\nconst (\n\tL       Class = iota // LeftToRight\n\tR                    // RightToLeft\n\tEN                   // EuropeanNumber\n\tES                   // EuropeanSeparator\n\tET                   // EuropeanTerminator\n\tAN                   // ArabicNumber\n\tCS                   // CommonSeparator\n\tB                    // ParagraphSeparator\n\tS                    // SegmentSeparator\n\tWS                   // WhiteSpace\n\tON                   // OtherNeutral\n\tBN                   // BoundaryNeutral\n\tNSM                  // NonspacingMark\n\tAL                   // ArabicLetter\n\tControl              // Control LRO - PDI\n\n\tnumClass\n\n\tLRO // LeftToRightOverride\n\tRLO // RightToLeftOverride\n\tLRE // LeftToRightEmbedding\n\tRLE // RightToLeftEmbedding\n\tPDF // PopDirectionalFormat\n\tLRI // LeftToRightIsolate\n\tRLI // RightToLeftIsolate\n\tFSI // FirstStrongIsolate\n\tPDI // PopDirectionalIsolate\n\n\tunknownClass = ^Class(0)\n)\n\nvar controlToClass = map[rune]Class{\n\t0x202D: LRO, // LeftToRightOverride,\n\t0x202E: RLO, // RightToLeftOverride,\n\t0x202A: LRE, // LeftToRightEmbedding,\n\t0x202B: RLE, // RightToLeftEmbedding,\n\t0x202C: PDF, // PopDirectionalFormat,\n\t0x2066: LRI, // LeftToRightIsolate,\n\t0x2067: RLI, // RightToLeftIsolate,\n\t0x2068: FSI, // FirstStrongIsolate,\n\t0x2069: PDI, // PopDirectionalIsolate,\n}\n\n// A trie entry has the following bits:\n// 7..5  XOR mask for brackets\n// 4     1: Bracket open, 0: Bracket close\n// 3..0  Class type\n\nconst (\n\topenMask     = 0x10\n\txorMaskShift = 5\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/base.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage cldr\n\nimport (\n\t\"encoding/xml\"\n\t\"regexp\"\n\t\"strconv\"\n)\n\n// Elem is implemented by every XML element.\ntype Elem interface {\n\tsetEnclosing(Elem)\n\tsetName(string)\n\tenclosing() Elem\n\n\tGetCommon() *Common\n}\n\ntype hidden struct {\n\tCharData string `xml:\",chardata\"`\n\tAlias    *struct {\n\t\tCommon\n\t\tSource string `xml:\"source,attr\"`\n\t\tPath   string `xml:\"path,attr\"`\n\t} `xml:\"alias\"`\n\tDef *struct {\n\t\tCommon\n\t\tChoice string `xml:\"choice,attr,omitempty\"`\n\t\tType   string `xml:\"type,attr,omitempty\"`\n\t} `xml:\"default\"`\n}\n\n// Common holds several of the most common attributes and sub elements\n// of an XML element.\ntype Common struct {\n\tXMLName         xml.Name\n\tname            string\n\tenclElem        Elem\n\tType            string `xml:\"type,attr,omitempty\"`\n\tReference       string `xml:\"reference,attr,omitempty\"`\n\tAlt             string `xml:\"alt,attr,omitempty\"`\n\tValidSubLocales string `xml:\"validSubLocales,attr,omitempty\"`\n\tDraft           string `xml:\"draft,attr,omitempty\"`\n\thidden\n}\n\n// Default returns the default type to select from the enclosed list\n// or \"\" if no default value is specified.\nfunc (e *Common) Default() string {\n\tif e.Def == nil {\n\t\treturn \"\"\n\t}\n\tif e.Def.Choice != \"\" {\n\t\treturn e.Def.Choice\n\t} else if e.Def.Type != \"\" {\n\t\t// Type is still used by the default element in collation.\n\t\treturn e.Def.Type\n\t}\n\treturn \"\"\n}\n\n// Element returns the XML element name.\nfunc (e *Common) Element() string {\n\treturn e.name\n}\n\n// GetCommon returns e. It is provided such that Common implements Elem.\nfunc (e *Common) GetCommon() *Common {\n\treturn e\n}\n\n// Data returns the character data accumulated for this element.\nfunc (e *Common) Data() string {\n\te.CharData = charRe.ReplaceAllStringFunc(e.CharData, replaceUnicode)\n\treturn e.CharData\n}\n\nfunc (e *Common) setName(s string) {\n\te.name = s\n}\n\nfunc (e *Common) enclosing() Elem {\n\treturn e.enclElem\n}\n\nfunc (e *Common) setEnclosing(en Elem) {\n\te.enclElem = en\n}\n\n// Escape characters that can be escaped without further escaping the string.\nvar charRe = regexp.MustCompile(`&#x[0-9a-fA-F]*;|\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}|\\\\x[0-9a-fA-F]{2}|\\\\[0-7]{3}|\\\\[abtnvfr]`)\n\n// replaceUnicode converts hexadecimal Unicode codepoint notations to a one-rune string.\n// It assumes the input string is correctly formatted.\nfunc replaceUnicode(s string) string {\n\tif s[1] == '#' {\n\t\tr, _ := strconv.ParseInt(s[3:len(s)-1], 16, 32)\n\t\treturn string(r)\n\t}\n\tr, _, _, _ := strconv.UnquoteChar(s, 0)\n\treturn string(r)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/cldr.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//go:generate go run makexml.go -output xml.go\n\n// Package cldr provides a parser for LDML and related XML formats.\n// This package is intended to be used by the table generation tools\n// for the various internationalization-related packages.\n// As the XML types are generated from the CLDR DTD, and as the CLDR standard\n// is periodically amended, this package may change considerably over time.\n// This mostly means that data may appear and disappear between versions.\n// That is, old code should keep compiling for newer versions, but data\n// may have moved or changed.\n// CLDR version 22 is the first version supported by this package.\n// Older versions may not work.\npackage cldr // import \"golang.org/x/text/unicode/cldr\"\n\nimport (\n\t\"fmt\"\n\t\"sort\"\n)\n\n// CLDR provides access to parsed data of the Unicode Common Locale Data Repository.\ntype CLDR struct {\n\tparent   map[string][]string\n\tlocale   map[string]*LDML\n\tresolved map[string]*LDML\n\tbcp47    *LDMLBCP47\n\tsupp     *SupplementalData\n}\n\nfunc makeCLDR() *CLDR {\n\treturn &CLDR{\n\t\tparent:   make(map[string][]string),\n\t\tlocale:   make(map[string]*LDML),\n\t\tresolved: make(map[string]*LDML),\n\t\tbcp47:    &LDMLBCP47{},\n\t\tsupp:     &SupplementalData{},\n\t}\n}\n\n// BCP47 returns the parsed BCP47 LDML data. If no such data was parsed, nil is returned.\nfunc (cldr *CLDR) BCP47() *LDMLBCP47 {\n\treturn nil\n}\n\n// Draft indicates the draft level of an element.\ntype Draft int\n\nconst (\n\tApproved Draft = iota\n\tContributed\n\tProvisional\n\tUnconfirmed\n)\n\nvar drafts = []string{\"unconfirmed\", \"provisional\", \"contributed\", \"approved\", \"\"}\n\n// ParseDraft returns the Draft value corresponding to the given string. The\n// empty string corresponds to Approved.\nfunc ParseDraft(level string) (Draft, error) {\n\tif level == \"\" {\n\t\treturn Approved, nil\n\t}\n\tfor i, s := range drafts {\n\t\tif level == s {\n\t\t\treturn Unconfirmed - Draft(i), nil\n\t\t}\n\t}\n\treturn Approved, fmt.Errorf(\"cldr: unknown draft level %q\", level)\n}\n\nfunc (d Draft) String() string {\n\treturn drafts[len(drafts)-1-int(d)]\n}\n\n// SetDraftLevel sets which draft levels to include in the evaluated LDML.\n// Any draft element for which the draft level is higher than lev will be excluded.\n// If multiple draft levels are available for a single element, the one with the\n// lowest draft level will be selected, unless preferDraft is true, in which case\n// the highest draft will be chosen.\n// It is assumed that the underlying LDML is canonicalized.\nfunc (cldr *CLDR) SetDraftLevel(lev Draft, preferDraft bool) {\n\t// TODO: implement\n\tcldr.resolved = make(map[string]*LDML)\n}\n\n// RawLDML returns the LDML XML for id in unresolved form.\n// id must be one of the strings returned by Locales.\nfunc (cldr *CLDR) RawLDML(loc string) *LDML {\n\treturn cldr.locale[loc]\n}\n\n// LDML returns the fully resolved LDML XML for loc, which must be one of\n// the strings returned by Locales.\nfunc (cldr *CLDR) LDML(loc string) (*LDML, error) {\n\treturn cldr.resolve(loc)\n}\n\n// Supplemental returns the parsed supplemental data. If no such data was parsed,\n// nil is returned.\nfunc (cldr *CLDR) Supplemental() *SupplementalData {\n\treturn cldr.supp\n}\n\n// Locales returns the locales for which there exist files.\n// Valid sublocales for which there is no file are not included.\n// The root locale is always sorted first.\nfunc (cldr *CLDR) Locales() []string {\n\tloc := []string{\"root\"}\n\thasRoot := false\n\tfor l, _ := range cldr.locale {\n\t\tif l == \"root\" {\n\t\t\thasRoot = true\n\t\t\tcontinue\n\t\t}\n\t\tloc = append(loc, l)\n\t}\n\tsort.Strings(loc[1:])\n\tif !hasRoot {\n\t\treturn loc[1:]\n\t}\n\treturn loc\n}\n\n// Get fills in the fields of x based on the XPath path.\nfunc Get(e Elem, path string) (res Elem, err error) {\n\treturn walkXPath(e, path)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/collate.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage cldr\n\nimport (\n\t\"bufio\"\n\t\"encoding/xml\"\n\t\"errors\"\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n\t\"unicode\"\n\t\"unicode/utf8\"\n)\n\n// RuleProcessor can be passed to Collator's Process method, which\n// parses the rules and calls the respective method for each rule found.\ntype RuleProcessor interface {\n\tReset(anchor string, before int) error\n\tInsert(level int, str, context, extend string) error\n\tIndex(id string)\n}\n\nconst (\n\t// cldrIndex is a Unicode-reserved sentinel value used to mark the start\n\t// of a grouping within an index.\n\t// We ignore any rule that starts with this rune.\n\t// See http://unicode.org/reports/tr35/#Collation_Elements for details.\n\tcldrIndex = \"\\uFDD0\"\n\n\t// specialAnchor is the format in which to represent logical reset positions,\n\t// such as \"first tertiary ignorable\".\n\tspecialAnchor = \"<%s/>\"\n)\n\n// Process parses the rules for the tailorings of this collation\n// and calls the respective methods of p for each rule found.\nfunc (c Collation) Process(p RuleProcessor) (err error) {\n\tif len(c.Cr) > 0 {\n\t\tif len(c.Cr) > 1 {\n\t\t\treturn fmt.Errorf(\"multiple cr elements, want 0 or 1\")\n\t\t}\n\t\treturn processRules(p, c.Cr[0].Data())\n\t}\n\tif c.Rules.Any != nil {\n\t\treturn c.processXML(p)\n\t}\n\treturn errors.New(\"no tailoring data\")\n}\n\n// processRules parses rules in the Collation Rule Syntax defined in\n// http://www.unicode.org/reports/tr35/tr35-collation.html#Collation_Tailorings.\nfunc processRules(p RuleProcessor, s string) (err error) {\n\tchk := func(s string, e error) string {\n\t\tif err == nil {\n\t\t\terr = e\n\t\t}\n\t\treturn s\n\t}\n\ti := 0 // Save the line number for use after the loop.\n\tscanner := bufio.NewScanner(strings.NewReader(s))\n\tfor ; scanner.Scan() && err == nil; i++ {\n\t\tfor s := skipSpace(scanner.Text()); s != \"\" && s[0] != '#'; s = skipSpace(s) {\n\t\t\tlevel := 5\n\t\t\tvar ch byte\n\t\t\tswitch ch, s = s[0], s[1:]; ch {\n\t\t\tcase '&': // followed by <anchor> or '[' <key> ']'\n\t\t\t\tif s = skipSpace(s); consume(&s, '[') {\n\t\t\t\t\ts = chk(parseSpecialAnchor(p, s))\n\t\t\t\t} else {\n\t\t\t\t\ts = chk(parseAnchor(p, 0, s))\n\t\t\t\t}\n\t\t\tcase '<': // sort relation '<'{1,4}, optionally followed by '*'.\n\t\t\t\tfor level = 1; consume(&s, '<'); level++ {\n\t\t\t\t}\n\t\t\t\tif level > 4 {\n\t\t\t\t\terr = fmt.Errorf(\"level %d > 4\", level)\n\t\t\t\t}\n\t\t\t\tfallthrough\n\t\t\tcase '=': // identity relation, optionally followed by *.\n\t\t\t\tif consume(&s, '*') {\n\t\t\t\t\ts = chk(parseSequence(p, level, s))\n\t\t\t\t} else {\n\t\t\t\t\ts = chk(parseOrder(p, level, s))\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tchk(\"\", fmt.Errorf(\"illegal operator %q\", ch))\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tif chk(\"\", scanner.Err()); err != nil {\n\t\treturn fmt.Errorf(\"%d: %v\", i, err)\n\t}\n\treturn nil\n}\n\n// parseSpecialAnchor parses the anchor syntax which is either of the form\n//    ['before' <level>] <anchor>\n// or\n//    [<label>]\n// The starting should already be consumed.\nfunc parseSpecialAnchor(p RuleProcessor, s string) (tail string, err error) {\n\ti := strings.IndexByte(s, ']')\n\tif i == -1 {\n\t\treturn \"\", errors.New(\"unmatched bracket\")\n\t}\n\ta := strings.TrimSpace(s[:i])\n\ts = s[i+1:]\n\tif strings.HasPrefix(a, \"before \") {\n\t\tl, err := strconv.ParseUint(skipSpace(a[len(\"before \"):]), 10, 3)\n\t\tif err != nil {\n\t\t\treturn s, err\n\t\t}\n\t\treturn parseAnchor(p, int(l), s)\n\t}\n\treturn s, p.Reset(fmt.Sprintf(specialAnchor, a), 0)\n}\n\nfunc parseAnchor(p RuleProcessor, level int, s string) (tail string, err error) {\n\tanchor, s, err := scanString(s)\n\tif err != nil {\n\t\treturn s, err\n\t}\n\treturn s, p.Reset(anchor, level)\n}\n\nfunc parseOrder(p RuleProcessor, level int, s string) (tail string, err error) {\n\tvar value, context, extend string\n\tif value, s, err = scanString(s); err != nil {\n\t\treturn s, err\n\t}\n\tif strings.HasPrefix(value, cldrIndex) {\n\t\tp.Index(value[len(cldrIndex):])\n\t\treturn\n\t}\n\tif consume(&s, '|') {\n\t\tif context, s, err = scanString(s); err != nil {\n\t\t\treturn s, errors.New(\"missing string after context\")\n\t\t}\n\t}\n\tif consume(&s, '/') {\n\t\tif extend, s, err = scanString(s); err != nil {\n\t\t\treturn s, errors.New(\"missing string after extension\")\n\t\t}\n\t}\n\treturn s, p.Insert(level, value, context, extend)\n}\n\n// scanString scans a single input string.\nfunc scanString(s string) (str, tail string, err error) {\n\tif s = skipSpace(s); s == \"\" {\n\t\treturn s, s, errors.New(\"missing string\")\n\t}\n\tbuf := [16]byte{} // small but enough to hold most cases.\n\tvalue := buf[:0]\n\tfor s != \"\" {\n\t\tif consume(&s, '\\'') {\n\t\t\ti := strings.IndexByte(s, '\\'')\n\t\t\tif i == -1 {\n\t\t\t\treturn \"\", \"\", errors.New(`unmatched single quote`)\n\t\t\t}\n\t\t\tif i == 0 {\n\t\t\t\tvalue = append(value, '\\'')\n\t\t\t} else {\n\t\t\t\tvalue = append(value, s[:i]...)\n\t\t\t}\n\t\t\ts = s[i+1:]\n\t\t\tcontinue\n\t\t}\n\t\tr, sz := utf8.DecodeRuneInString(s)\n\t\tif unicode.IsSpace(r) || strings.ContainsRune(\"&<=#\", r) {\n\t\t\tbreak\n\t\t}\n\t\tvalue = append(value, s[:sz]...)\n\t\ts = s[sz:]\n\t}\n\treturn string(value), skipSpace(s), nil\n}\n\nfunc parseSequence(p RuleProcessor, level int, s string) (tail string, err error) {\n\tif s = skipSpace(s); s == \"\" {\n\t\treturn s, errors.New(\"empty sequence\")\n\t}\n\tlast := rune(0)\n\tfor s != \"\" {\n\t\tr, sz := utf8.DecodeRuneInString(s)\n\t\ts = s[sz:]\n\n\t\tif r == '-' {\n\t\t\t// We have a range. The first element was already written.\n\t\t\tif last == 0 {\n\t\t\t\treturn s, errors.New(\"range without starter value\")\n\t\t\t}\n\t\t\tr, sz = utf8.DecodeRuneInString(s)\n\t\t\ts = s[sz:]\n\t\t\tif r == utf8.RuneError || r < last {\n\t\t\t\treturn s, fmt.Errorf(\"invalid range %q-%q\", last, r)\n\t\t\t}\n\t\t\tfor i := last + 1; i <= r; i++ {\n\t\t\t\tif err := p.Insert(level, string(i), \"\", \"\"); err != nil {\n\t\t\t\t\treturn s, err\n\t\t\t\t}\n\t\t\t}\n\t\t\tlast = 0\n\t\t\tcontinue\n\t\t}\n\n\t\tif unicode.IsSpace(r) || unicode.IsPunct(r) {\n\t\t\tbreak\n\t\t}\n\n\t\t// normal case\n\t\tif err := p.Insert(level, string(r), \"\", \"\"); err != nil {\n\t\t\treturn s, err\n\t\t}\n\t\tlast = r\n\t}\n\treturn s, nil\n}\n\nfunc skipSpace(s string) string {\n\treturn strings.TrimLeftFunc(s, unicode.IsSpace)\n}\n\n// consumes returns whether the next byte is ch. If so, it gobbles it by\n// updating s.\nfunc consume(s *string, ch byte) (ok bool) {\n\tif *s == \"\" || (*s)[0] != ch {\n\t\treturn false\n\t}\n\t*s = (*s)[1:]\n\treturn true\n}\n\n// The following code parses Collation rules of CLDR version 24 and before.\n\nvar lmap = map[byte]int{\n\t'p': 1,\n\t's': 2,\n\t't': 3,\n\t'i': 5,\n}\n\ntype rulesElem struct {\n\tRules struct {\n\t\tCommon\n\t\tAny []*struct {\n\t\t\tXMLName xml.Name\n\t\t\trule\n\t\t} `xml:\",any\"`\n\t} `xml:\"rules\"`\n}\n\ntype rule struct {\n\tValue  string `xml:\",chardata\"`\n\tBefore string `xml:\"before,attr\"`\n\tAny    []*struct {\n\t\tXMLName xml.Name\n\t\trule\n\t} `xml:\",any\"`\n}\n\nvar emptyValueError = errors.New(\"cldr: empty rule value\")\n\nfunc (r *rule) value() (string, error) {\n\t// Convert hexadecimal Unicode codepoint notation to a string.\n\ts := charRe.ReplaceAllStringFunc(r.Value, replaceUnicode)\n\tr.Value = s\n\tif s == \"\" {\n\t\tif len(r.Any) != 1 {\n\t\t\treturn \"\", emptyValueError\n\t\t}\n\t\tr.Value = fmt.Sprintf(specialAnchor, r.Any[0].XMLName.Local)\n\t\tr.Any = nil\n\t} else if len(r.Any) != 0 {\n\t\treturn \"\", fmt.Errorf(\"cldr: XML elements found in collation rule: %v\", r.Any)\n\t}\n\treturn r.Value, nil\n}\n\nfunc (r rule) process(p RuleProcessor, name, context, extend string) error {\n\tv, err := r.value()\n\tif err != nil {\n\t\treturn err\n\t}\n\tswitch name {\n\tcase \"p\", \"s\", \"t\", \"i\":\n\t\tif strings.HasPrefix(v, cldrIndex) {\n\t\t\tp.Index(v[len(cldrIndex):])\n\t\t\treturn nil\n\t\t}\n\t\tif err := p.Insert(lmap[name[0]], v, context, extend); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase \"pc\", \"sc\", \"tc\", \"ic\":\n\t\tlevel := lmap[name[0]]\n\t\tfor _, s := range v {\n\t\t\tif err := p.Insert(level, string(s), context, extend); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\tdefault:\n\t\treturn fmt.Errorf(\"cldr: unsupported tag: %q\", name)\n\t}\n\treturn nil\n}\n\n// processXML parses the format of CLDR versions 24 and older.\nfunc (c Collation) processXML(p RuleProcessor) (err error) {\n\t// Collation is generated and defined in xml.go.\n\tvar v string\n\tfor _, r := range c.Rules.Any {\n\t\tswitch r.XMLName.Local {\n\t\tcase \"reset\":\n\t\t\tlevel := 0\n\t\t\tswitch r.Before {\n\t\t\tcase \"primary\", \"1\":\n\t\t\t\tlevel = 1\n\t\t\tcase \"secondary\", \"2\":\n\t\t\t\tlevel = 2\n\t\t\tcase \"tertiary\", \"3\":\n\t\t\t\tlevel = 3\n\t\t\tcase \"\":\n\t\t\tdefault:\n\t\t\t\treturn fmt.Errorf(\"cldr: unknown level %q\", r.Before)\n\t\t\t}\n\t\t\tv, err = r.value()\n\t\t\tif err == nil {\n\t\t\t\terr = p.Reset(v, level)\n\t\t\t}\n\t\tcase \"x\":\n\t\t\tvar context, extend string\n\t\t\tfor _, r1 := range r.Any {\n\t\t\t\tv, err = r1.value()\n\t\t\t\tswitch r1.XMLName.Local {\n\t\t\t\tcase \"context\":\n\t\t\t\t\tcontext = v\n\t\t\t\tcase \"extend\":\n\t\t\t\t\textend = v\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor _, r1 := range r.Any {\n\t\t\t\tif t := r1.XMLName.Local; t == \"context\" || t == \"extend\" {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tr1.rule.process(p, r1.XMLName.Local, context, extend)\n\t\t\t}\n\t\tdefault:\n\t\t\terr = r.rule.process(p, r.XMLName.Local, \"\", \"\")\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/decode.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage cldr\n\nimport (\n\t\"archive/zip\"\n\t\"bytes\"\n\t\"encoding/xml\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"regexp\"\n)\n\n// A Decoder loads an archive of CLDR data.\ntype Decoder struct {\n\tdirFilter     []string\n\tsectionFilter []string\n\tloader        Loader\n\tcldr          *CLDR\n\tcurLocale     string\n}\n\n// SetSectionFilter takes a list top-level LDML element names to which\n// evaluation of LDML should be limited.  It automatically calls SetDirFilter.\nfunc (d *Decoder) SetSectionFilter(filter ...string) {\n\td.sectionFilter = filter\n\t// TODO: automatically set dir filter\n}\n\n// SetDirFilter limits the loading of LDML XML files of the specied directories.\n// Note that sections may be split across directories differently for different CLDR versions.\n// For more robust code, use SetSectionFilter.\nfunc (d *Decoder) SetDirFilter(dir ...string) {\n\td.dirFilter = dir\n}\n\n// A Loader provides access to the files of a CLDR archive.\ntype Loader interface {\n\tLen() int\n\tPath(i int) string\n\tReader(i int) (io.ReadCloser, error)\n}\n\nvar fileRe = regexp.MustCompile(`.*[/\\\\](.*)[/\\\\](.*)\\.xml`)\n\n// Decode loads and decodes the files represented by l.\nfunc (d *Decoder) Decode(l Loader) (cldr *CLDR, err error) {\n\td.cldr = makeCLDR()\n\tfor i := 0; i < l.Len(); i++ {\n\t\tfname := l.Path(i)\n\t\tif m := fileRe.FindStringSubmatch(fname); m != nil {\n\t\t\tif len(d.dirFilter) > 0 && !in(d.dirFilter, m[1]) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tvar r io.Reader\n\t\t\tif r, err = l.Reader(i); err == nil {\n\t\t\t\terr = d.decode(m[1], m[2], r)\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t}\n\td.cldr.finalize(d.sectionFilter)\n\treturn d.cldr, nil\n}\n\nfunc (d *Decoder) decode(dir, id string, r io.Reader) error {\n\tvar v interface{}\n\tvar l *LDML\n\tcldr := d.cldr\n\tswitch {\n\tcase dir == \"supplemental\":\n\t\tv = cldr.supp\n\tcase dir == \"transforms\":\n\t\treturn nil\n\tcase dir == \"bcp47\":\n\t\tv = cldr.bcp47\n\tcase dir == \"validity\":\n\t\treturn nil\n\tdefault:\n\t\tok := false\n\t\tif v, ok = cldr.locale[id]; !ok {\n\t\t\tl = &LDML{}\n\t\t\tv, cldr.locale[id] = l, l\n\t\t}\n\t}\n\tx := xml.NewDecoder(r)\n\tif err := x.Decode(v); err != nil {\n\t\tlog.Printf(\"%s/%s: %v\", dir, id, err)\n\t\treturn err\n\t}\n\tif l != nil {\n\t\tif l.Identity == nil {\n\t\t\treturn fmt.Errorf(\"%s/%s: missing identity element\", dir, id)\n\t\t}\n\t\t// TODO: verify when CLDR bug http://unicode.org/cldr/trac/ticket/8970\n\t\t// is resolved.\n\t\t// path := strings.Split(id, \"_\")\n\t\t// if lang := l.Identity.Language.Type; lang != path[0] {\n\t\t// \treturn fmt.Errorf(\"%s/%s: language was %s; want %s\", dir, id, lang, path[0])\n\t\t// }\n\t}\n\treturn nil\n}\n\ntype pathLoader []string\n\nfunc makePathLoader(path string) (pl pathLoader, err error) {\n\terr = filepath.Walk(path, func(path string, _ os.FileInfo, err error) error {\n\t\tpl = append(pl, path)\n\t\treturn err\n\t})\n\treturn pl, err\n}\n\nfunc (pl pathLoader) Len() int {\n\treturn len(pl)\n}\n\nfunc (pl pathLoader) Path(i int) string {\n\treturn pl[i]\n}\n\nfunc (pl pathLoader) Reader(i int) (io.ReadCloser, error) {\n\treturn os.Open(pl[i])\n}\n\n// DecodePath loads CLDR data from the given path.\nfunc (d *Decoder) DecodePath(path string) (cldr *CLDR, err error) {\n\tloader, err := makePathLoader(path)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn d.Decode(loader)\n}\n\ntype zipLoader struct {\n\tr *zip.Reader\n}\n\nfunc (zl zipLoader) Len() int {\n\treturn len(zl.r.File)\n}\n\nfunc (zl zipLoader) Path(i int) string {\n\treturn zl.r.File[i].Name\n}\n\nfunc (zl zipLoader) Reader(i int) (io.ReadCloser, error) {\n\treturn zl.r.File[i].Open()\n}\n\n// DecodeZip loads CLDR data from the zip archive for which r is the source.\nfunc (d *Decoder) DecodeZip(r io.Reader) (cldr *CLDR, err error) {\n\tbuffer, err := ioutil.ReadAll(r)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tarchive, err := zip.NewReader(bytes.NewReader(buffer), int64(len(buffer)))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn d.Decode(zipLoader{archive})\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/makexml.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// This tool generates types for the various XML formats of CLDR.\npackage main\n\nimport (\n\t\"archive/zip\"\n\t\"bytes\"\n\t\"encoding/xml\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"regexp\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/gen\"\n)\n\nvar outputFile = flag.String(\"output\", \"xml.go\", \"output file name\")\n\nfunc main() {\n\tflag.Parse()\n\n\tr := gen.OpenCLDRCoreZip()\n\tbuffer, err := ioutil.ReadAll(r)\n\tif err != nil {\n\t\tlog.Fatal(\"Could not read zip file\")\n\t}\n\tr.Close()\n\tz, err := zip.NewReader(bytes.NewReader(buffer), int64(len(buffer)))\n\tif err != nil {\n\t\tlog.Fatalf(\"Could not read zip archive: %v\", err)\n\t}\n\n\tvar buf bytes.Buffer\n\n\tversion := gen.CLDRVersion()\n\n\tfor _, dtd := range files {\n\t\tfor _, f := range z.File {\n\t\t\tif strings.HasSuffix(f.Name, dtd.file+\".dtd\") {\n\t\t\t\tr, err := f.Open()\n\t\t\t\tfailOnError(err)\n\n\t\t\t\tb := makeBuilder(&buf, dtd)\n\t\t\t\tb.parseDTD(r)\n\t\t\t\tb.resolve(b.index[dtd.top[0]])\n\t\t\t\tb.write()\n\t\t\t\tif b.version != \"\" && version != b.version {\n\t\t\t\t\tprintln(f.Name)\n\t\t\t\t\tlog.Fatalf(\"main: inconsistent versions: found %s; want %s\", b.version, version)\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tfmt.Fprintln(&buf, \"// Version is the version of CLDR from which the XML definitions are generated.\")\n\tfmt.Fprintf(&buf, \"const Version = %q\\n\", version)\n\n\tgen.WriteGoFile(*outputFile, \"cldr\", buf.Bytes())\n}\n\nfunc failOnError(err error) {\n\tif err != nil {\n\t\tlog.New(os.Stderr, \"\", log.Lshortfile).Output(2, err.Error())\n\t\tos.Exit(1)\n\t}\n}\n\n// configuration data per DTD type\ntype dtd struct {\n\tfile string   // base file name\n\troot string   // Go name of the root XML element\n\ttop  []string // create a different type for this section\n\n\tskipElem    []string // hard-coded or deprecated elements\n\tskipAttr    []string // attributes to exclude\n\tpredefined  []string // hard-coded elements exist of the form <name>Elem\n\tforceRepeat []string // elements to make slices despite DTD\n}\n\nvar files = []dtd{\n\t{\n\t\tfile: \"ldmlBCP47\",\n\t\troot: \"LDMLBCP47\",\n\t\ttop:  []string{\"ldmlBCP47\"},\n\t\tskipElem: []string{\n\t\t\t\"cldrVersion\", // deprecated, not used\n\t\t},\n\t},\n\t{\n\t\tfile: \"ldmlSupplemental\",\n\t\troot: \"SupplementalData\",\n\t\ttop:  []string{\"supplementalData\"},\n\t\tskipElem: []string{\n\t\t\t\"cldrVersion\", // deprecated, not used\n\t\t},\n\t\tforceRepeat: []string{\n\t\t\t\"plurals\", // data defined in plurals.xml and ordinals.xml\n\t\t},\n\t},\n\t{\n\t\tfile: \"ldml\",\n\t\troot: \"LDML\",\n\t\ttop: []string{\n\t\t\t\"ldml\", \"collation\", \"calendar\", \"timeZoneNames\", \"localeDisplayNames\", \"numbers\",\n\t\t},\n\t\tskipElem: []string{\n\t\t\t\"cp\",       // not used anywhere\n\t\t\t\"special\",  // not used anywhere\n\t\t\t\"fallback\", // deprecated, not used\n\t\t\t\"alias\",    // in Common\n\t\t\t\"default\",  // in Common\n\t\t},\n\t\tskipAttr: []string{\n\t\t\t\"hiraganaQuarternary\", // typo in DTD, correct version included as well\n\t\t},\n\t\tpredefined: []string{\"rules\"},\n\t},\n}\n\nvar comments = map[string]string{\n\t\"ldmlBCP47\": `\n// LDMLBCP47 holds information on allowable values for various variables in LDML.\n`,\n\t\"supplementalData\": `\n// SupplementalData holds information relevant for internationalization\n// and proper use of CLDR, but that is not contained in the locale hierarchy.\n`,\n\t\"ldml\": `\n// LDML is the top-level type for locale-specific data.\n`,\n\t\"collation\": `\n// Collation contains rules that specify a certain sort-order,\n// as a tailoring of the root order. \n// The parsed rules are obtained by passing a RuleProcessor to Collation's\n// Process method.\n`,\n\t\"calendar\": `\n// Calendar specifies the fields used for formatting and parsing dates and times.\n// The month and quarter names are identified numerically, starting at 1.\n// The day (of the week) names are identified with short strings, since there is\n// no universally-accepted numeric designation.\n`,\n\t\"dates\": `\n// Dates contains information regarding the format and parsing of dates and times.\n`,\n\t\"localeDisplayNames\": `\n// LocaleDisplayNames specifies localized display names for for scripts, languages,\n// countries, currencies, and variants.\n`,\n\t\"numbers\": `\n// Numbers supplies information for formatting and parsing numbers and currencies.\n`,\n}\n\ntype element struct {\n\tname      string // XML element name\n\tcategory  string // elements contained by this element\n\tsignature string // category + attrKey*\n\n\tattr []*attribute // attributes supported by this element.\n\tsub  []struct {   // parsed and evaluated sub elements of this element.\n\t\te      *element\n\t\trepeat bool // true if the element needs to be a slice\n\t}\n\n\tresolved bool // prevent multiple resolutions of this element.\n}\n\ntype attribute struct {\n\tname string\n\tkey  string\n\tlist []string\n\n\ttag string // Go tag\n}\n\nvar (\n\treHead  = regexp.MustCompile(` *(\\w+) +([\\w\\-]+)`)\n\treAttr  = regexp.MustCompile(` *(\\w+) *(?:(\\w+)|\\(([\\w\\- \\|]+)\\)) *(?:#([A-Z]*) *(?:\\\"([\\.\\d+])\\\")?)? *(\"[\\w\\-:]*\")?`)\n\treElem  = regexp.MustCompile(`^ *(EMPTY|ANY|\\(.*\\)[\\*\\+\\?]?) *$`)\n\treToken = regexp.MustCompile(`\\w\\-`)\n)\n\n// builder is used to read in the DTD files from CLDR and generate Go code\n// to be used with the encoding/xml package.\ntype builder struct {\n\tw       io.Writer\n\tindex   map[string]*element\n\telem    []*element\n\tinfo    dtd\n\tversion string\n}\n\nfunc makeBuilder(w io.Writer, d dtd) builder {\n\treturn builder{\n\t\tw:     w,\n\t\tindex: make(map[string]*element),\n\t\telem:  []*element{},\n\t\tinfo:  d,\n\t}\n}\n\n// parseDTD parses a DTD file.\nfunc (b *builder) parseDTD(r io.Reader) {\n\tfor d := xml.NewDecoder(r); ; {\n\t\tt, err := d.Token()\n\t\tif t == nil {\n\t\t\tbreak\n\t\t}\n\t\tfailOnError(err)\n\t\tdir, ok := t.(xml.Directive)\n\t\tif !ok {\n\t\t\tcontinue\n\t\t}\n\t\tm := reHead.FindSubmatch(dir)\n\t\tdir = dir[len(m[0]):]\n\t\tename := string(m[2])\n\t\tel, elementFound := b.index[ename]\n\t\tswitch string(m[1]) {\n\t\tcase \"ELEMENT\":\n\t\t\tif elementFound {\n\t\t\t\tlog.Fatal(\"parseDTD: duplicate entry for element %q\", ename)\n\t\t\t}\n\t\t\tm := reElem.FindSubmatch(dir)\n\t\t\tif m == nil {\n\t\t\t\tlog.Fatalf(\"parseDTD: invalid element %q\", string(dir))\n\t\t\t}\n\t\t\tif len(m[0]) != len(dir) {\n\t\t\t\tlog.Fatal(\"parseDTD: invalid element %q\", string(dir), len(dir), len(m[0]), string(m[0]))\n\t\t\t}\n\t\t\ts := string(m[1])\n\t\t\tel = &element{\n\t\t\t\tname:     ename,\n\t\t\t\tcategory: s,\n\t\t\t}\n\t\t\tb.index[ename] = el\n\t\tcase \"ATTLIST\":\n\t\t\tif !elementFound {\n\t\t\t\tlog.Fatalf(\"parseDTD: unknown element %q\", ename)\n\t\t\t}\n\t\t\ts := string(dir)\n\t\t\tm := reAttr.FindStringSubmatch(s)\n\t\t\tif m == nil {\n\t\t\t\tlog.Fatal(fmt.Errorf(\"parseDTD: invalid attribute %q\", string(dir)))\n\t\t\t}\n\t\t\tif m[4] == \"FIXED\" {\n\t\t\t\tb.version = m[5]\n\t\t\t} else {\n\t\t\t\tswitch m[1] {\n\t\t\t\tcase \"draft\", \"references\", \"alt\", \"validSubLocales\", \"standard\" /* in Common */ :\n\t\t\t\tcase \"type\", \"choice\":\n\t\t\t\tdefault:\n\t\t\t\t\tel.attr = append(el.attr, &attribute{\n\t\t\t\t\t\tname: m[1],\n\t\t\t\t\t\tkey:  s,\n\t\t\t\t\t\tlist: reToken.FindAllString(m[3], -1),\n\t\t\t\t\t})\n\t\t\t\t\tel.signature = fmt.Sprintf(\"%s=%s+%s\", el.signature, m[1], m[2])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nvar reCat = regexp.MustCompile(`[ ,\\|]*(?:(\\(|\\)|\\#?[\\w_-]+)([\\*\\+\\?]?))?`)\n\n// resolve takes a parsed element and converts it into structured data\n// that can be used to generate the XML code.\nfunc (b *builder) resolve(e *element) {\n\tif e.resolved {\n\t\treturn\n\t}\n\tb.elem = append(b.elem, e)\n\te.resolved = true\n\ts := e.category\n\tfound := make(map[string]bool)\n\tsequenceStart := []int{}\n\tfor len(s) > 0 {\n\t\tm := reCat.FindStringSubmatch(s)\n\t\tif m == nil {\n\t\t\tlog.Fatalf(\"%s: invalid category string %q\", e.name, s)\n\t\t}\n\t\trepeat := m[2] == \"*\" || m[2] == \"+\" || in(b.info.forceRepeat, m[1])\n\t\tswitch m[1] {\n\t\tcase \"\":\n\t\tcase \"(\":\n\t\t\tsequenceStart = append(sequenceStart, len(e.sub))\n\t\tcase \")\":\n\t\t\tif len(sequenceStart) == 0 {\n\t\t\t\tlog.Fatalf(\"%s: unmatched closing parenthesis\", e.name)\n\t\t\t}\n\t\t\tfor i := sequenceStart[len(sequenceStart)-1]; i < len(e.sub); i++ {\n\t\t\t\te.sub[i].repeat = e.sub[i].repeat || repeat\n\t\t\t}\n\t\t\tsequenceStart = sequenceStart[:len(sequenceStart)-1]\n\t\tdefault:\n\t\t\tif in(b.info.skipElem, m[1]) {\n\t\t\t} else if sub, ok := b.index[m[1]]; ok {\n\t\t\t\tif !found[sub.name] {\n\t\t\t\t\te.sub = append(e.sub, struct {\n\t\t\t\t\t\te      *element\n\t\t\t\t\t\trepeat bool\n\t\t\t\t\t}{sub, repeat})\n\t\t\t\t\tfound[sub.name] = true\n\t\t\t\t\tb.resolve(sub)\n\t\t\t\t}\n\t\t\t} else if m[1] == \"#PCDATA\" || m[1] == \"ANY\" {\n\t\t\t} else if m[1] != \"EMPTY\" {\n\t\t\t\tlog.Fatalf(\"resolve:%s: element %q not found\", e.name, m[1])\n\t\t\t}\n\t\t}\n\t\ts = s[len(m[0]):]\n\t}\n}\n\n// return true if s is contained in set.\nfunc in(set []string, s string) bool {\n\tfor _, v := range set {\n\t\tif v == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nvar repl = strings.NewReplacer(\"-\", \" \", \"_\", \" \")\n\n// title puts the first character or each character following '_' in title case and\n// removes all occurrences of '_'.\nfunc title(s string) string {\n\treturn strings.Replace(strings.Title(repl.Replace(s)), \" \", \"\", -1)\n}\n\n// writeElem generates Go code for a single element, recursively.\nfunc (b *builder) writeElem(tab int, e *element) {\n\tp := func(f string, x ...interface{}) {\n\t\tf = strings.Replace(f, \"\\n\", \"\\n\"+strings.Repeat(\"\\t\", tab), -1)\n\t\tfmt.Fprintf(b.w, f, x...)\n\t}\n\tif len(e.sub) == 0 && len(e.attr) == 0 {\n\t\tp(\"Common\")\n\t\treturn\n\t}\n\tp(\"struct {\")\n\ttab++\n\tp(\"\\nCommon\")\n\tfor _, attr := range e.attr {\n\t\tif !in(b.info.skipAttr, attr.name) {\n\t\t\tp(\"\\n%s string `xml:\\\"%s,attr\\\"`\", title(attr.name), attr.name)\n\t\t}\n\t}\n\tfor _, sub := range e.sub {\n\t\tif in(b.info.predefined, sub.e.name) {\n\t\t\tp(\"\\n%sElem\", sub.e.name)\n\t\t\tcontinue\n\t\t}\n\t\tif in(b.info.skipElem, sub.e.name) {\n\t\t\tcontinue\n\t\t}\n\t\tp(\"\\n%s \", title(sub.e.name))\n\t\tif sub.repeat {\n\t\t\tp(\"[]\")\n\t\t}\n\t\tp(\"*\")\n\t\tif in(b.info.top, sub.e.name) {\n\t\t\tp(title(sub.e.name))\n\t\t} else {\n\t\t\tb.writeElem(tab, sub.e)\n\t\t}\n\t\tp(\" `xml:\\\"%s\\\"`\", sub.e.name)\n\t}\n\ttab--\n\tp(\"\\n}\")\n}\n\n// write generates the Go XML code.\nfunc (b *builder) write() {\n\tfor i, name := range b.info.top {\n\t\te := b.index[name]\n\t\tif e != nil {\n\t\t\tfmt.Fprintf(b.w, comments[name])\n\t\t\tname := title(e.name)\n\t\t\tif i == 0 {\n\t\t\t\tname = b.info.root\n\t\t\t}\n\t\t\tfmt.Fprintf(b.w, \"type %s \", name)\n\t\t\tb.writeElem(0, e)\n\t\t\tfmt.Fprint(b.w, \"\\n\")\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/resolve.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage cldr\n\n// This file implements the various inheritance constructs defined by LDML.\n// See http://www.unicode.org/reports/tr35/#Inheritance_and_Validity\n// for more details.\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"reflect\"\n\t\"regexp\"\n\t\"sort\"\n\t\"strings\"\n)\n\n// fieldIter iterates over fields in a struct. It includes\n// fields of embedded structs.\ntype fieldIter struct {\n\tv        reflect.Value\n\tindex, n []int\n}\n\nfunc iter(v reflect.Value) fieldIter {\n\tif v.Kind() != reflect.Struct {\n\t\tlog.Panicf(\"value %v must be a struct\", v)\n\t}\n\ti := fieldIter{\n\t\tv:     v,\n\t\tindex: []int{0},\n\t\tn:     []int{v.NumField()},\n\t}\n\ti.descent()\n\treturn i\n}\n\nfunc (i *fieldIter) descent() {\n\tfor f := i.field(); f.Anonymous && f.Type.NumField() > 0; f = i.field() {\n\t\ti.index = append(i.index, 0)\n\t\ti.n = append(i.n, f.Type.NumField())\n\t}\n}\n\nfunc (i *fieldIter) done() bool {\n\treturn len(i.index) == 1 && i.index[0] >= i.n[0]\n}\n\nfunc skip(f reflect.StructField) bool {\n\treturn !f.Anonymous && (f.Name[0] < 'A' || f.Name[0] > 'Z')\n}\n\nfunc (i *fieldIter) next() {\n\tfor {\n\t\tk := len(i.index) - 1\n\t\ti.index[k]++\n\t\tif i.index[k] < i.n[k] {\n\t\t\tif !skip(i.field()) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif k == 0 {\n\t\t\t\treturn\n\t\t\t}\n\t\t\ti.index = i.index[:k]\n\t\t\ti.n = i.n[:k]\n\t\t}\n\t}\n\ti.descent()\n}\n\nfunc (i *fieldIter) value() reflect.Value {\n\treturn i.v.FieldByIndex(i.index)\n}\n\nfunc (i *fieldIter) field() reflect.StructField {\n\treturn i.v.Type().FieldByIndex(i.index)\n}\n\ntype visitor func(v reflect.Value) error\n\nvar stopDescent = fmt.Errorf(\"do not recurse\")\n\nfunc (f visitor) visit(x interface{}) error {\n\treturn f.visitRec(reflect.ValueOf(x))\n}\n\n// visit recursively calls f on all nodes in v.\nfunc (f visitor) visitRec(v reflect.Value) error {\n\tif v.Kind() == reflect.Ptr {\n\t\tif v.IsNil() {\n\t\t\treturn nil\n\t\t}\n\t\treturn f.visitRec(v.Elem())\n\t}\n\tif err := f(v); err != nil {\n\t\tif err == stopDescent {\n\t\t\treturn nil\n\t\t}\n\t\treturn err\n\t}\n\tswitch v.Kind() {\n\tcase reflect.Struct:\n\t\tfor i := iter(v); !i.done(); i.next() {\n\t\t\tif err := f.visitRec(i.value()); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\tcase reflect.Slice:\n\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\tif err := f.visitRec(v.Index(i)); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\n// getPath is used for error reporting purposes only.\nfunc getPath(e Elem) string {\n\tif e == nil {\n\t\treturn \"<nil>\"\n\t}\n\tif e.enclosing() == nil {\n\t\treturn e.GetCommon().name\n\t}\n\tif e.GetCommon().Type == \"\" {\n\t\treturn fmt.Sprintf(\"%s.%s\", getPath(e.enclosing()), e.GetCommon().name)\n\t}\n\treturn fmt.Sprintf(\"%s.%s[type=%s]\", getPath(e.enclosing()), e.GetCommon().name, e.GetCommon().Type)\n}\n\n// xmlName returns the xml name of the element or attribute\nfunc xmlName(f reflect.StructField) (name string, attr bool) {\n\ttags := strings.Split(f.Tag.Get(\"xml\"), \",\")\n\tfor _, s := range tags {\n\t\tattr = attr || s == \"attr\"\n\t}\n\treturn tags[0], attr\n}\n\nfunc findField(v reflect.Value, key string) (reflect.Value, error) {\n\tv = reflect.Indirect(v)\n\tfor i := iter(v); !i.done(); i.next() {\n\t\tif n, _ := xmlName(i.field()); n == key {\n\t\t\treturn i.value(), nil\n\t\t}\n\t}\n\treturn reflect.Value{}, fmt.Errorf(\"cldr: no field %q in element %#v\", key, v.Interface())\n}\n\nvar xpathPart = regexp.MustCompile(`(\\pL+)(?:\\[@(\\pL+)='([\\w-]+)'\\])?`)\n\nfunc walkXPath(e Elem, path string) (res Elem, err error) {\n\tfor _, c := range strings.Split(path, \"/\") {\n\t\tif c == \"..\" {\n\t\t\tif e = e.enclosing(); e == nil {\n\t\t\t\tpanic(\"path ..\")\n\t\t\t\treturn nil, fmt.Errorf(`cldr: \"..\" moves past root in path %q`, path)\n\t\t\t}\n\t\t\tcontinue\n\t\t} else if c == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tm := xpathPart.FindStringSubmatch(c)\n\t\tif len(m) == 0 || len(m[0]) != len(c) {\n\t\t\treturn nil, fmt.Errorf(\"cldr: syntax error in path component %q\", c)\n\t\t}\n\t\tv, err := findField(reflect.ValueOf(e), m[1])\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tswitch v.Kind() {\n\t\tcase reflect.Slice:\n\t\t\ti := 0\n\t\t\tif m[2] != \"\" || v.Len() > 1 {\n\t\t\t\tif m[2] == \"\" {\n\t\t\t\t\tm[2] = \"type\"\n\t\t\t\t\tif m[3] = e.GetCommon().Default(); m[3] == \"\" {\n\t\t\t\t\t\treturn nil, fmt.Errorf(\"cldr: type selector or default value needed for element %s\", m[1])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor ; i < v.Len(); i++ {\n\t\t\t\t\tvi := v.Index(i)\n\t\t\t\t\tkey, err := findField(vi.Elem(), m[2])\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn nil, err\n\t\t\t\t\t}\n\t\t\t\t\tkey = reflect.Indirect(key)\n\t\t\t\t\tif key.Kind() == reflect.String && key.String() == m[3] {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif i == v.Len() || v.Index(i).IsNil() {\n\t\t\t\treturn nil, fmt.Errorf(\"no %s found with %s==%s\", m[1], m[2], m[3])\n\t\t\t}\n\t\t\te = v.Index(i).Interface().(Elem)\n\t\tcase reflect.Ptr:\n\t\t\tif v.IsNil() {\n\t\t\t\treturn nil, fmt.Errorf(\"cldr: element %q not found within element %q\", m[1], e.GetCommon().name)\n\t\t\t}\n\t\t\tvar ok bool\n\t\t\tif e, ok = v.Interface().(Elem); !ok {\n\t\t\t\treturn nil, fmt.Errorf(\"cldr: %q is not an XML element\", m[1])\n\t\t\t} else if m[2] != \"\" || m[3] != \"\" {\n\t\t\t\treturn nil, fmt.Errorf(\"cldr: no type selector allowed for element %s\", m[1])\n\t\t\t}\n\t\tdefault:\n\t\t\treturn nil, fmt.Errorf(\"cldr: %q is not an XML element\", m[1])\n\t\t}\n\t}\n\treturn e, nil\n}\n\nconst absPrefix = \"//ldml/\"\n\nfunc (cldr *CLDR) resolveAlias(e Elem, src, path string) (res Elem, err error) {\n\tif src != \"locale\" {\n\t\tif !strings.HasPrefix(path, absPrefix) {\n\t\t\treturn nil, fmt.Errorf(\"cldr: expected absolute path, found %q\", path)\n\t\t}\n\t\tpath = path[len(absPrefix):]\n\t\tif e, err = cldr.resolve(src); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn walkXPath(e, path)\n}\n\nfunc (cldr *CLDR) resolveAndMergeAlias(e Elem) error {\n\talias := e.GetCommon().Alias\n\tif alias == nil {\n\t\treturn nil\n\t}\n\ta, err := cldr.resolveAlias(e, alias.Source, alias.Path)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"%v: error evaluating path %q: %v\", getPath(e), alias.Path, err)\n\t}\n\t// Ensure alias node was already evaluated. TODO: avoid double evaluation.\n\terr = cldr.resolveAndMergeAlias(a)\n\tv := reflect.ValueOf(e).Elem()\n\tfor i := iter(reflect.ValueOf(a).Elem()); !i.done(); i.next() {\n\t\tif vv := i.value(); vv.Kind() != reflect.Ptr || !vv.IsNil() {\n\t\t\tif _, attr := xmlName(i.field()); !attr {\n\t\t\t\tv.FieldByIndex(i.index).Set(vv)\n\t\t\t}\n\t\t}\n\t}\n\treturn err\n}\n\nfunc (cldr *CLDR) aliasResolver() visitor {\n\treturn func(v reflect.Value) (err error) {\n\t\tif e, ok := v.Addr().Interface().(Elem); ok {\n\t\t\terr = cldr.resolveAndMergeAlias(e)\n\t\t\tif err == nil && blocking[e.GetCommon().name] {\n\t\t\t\treturn stopDescent\n\t\t\t}\n\t\t}\n\t\treturn err\n\t}\n}\n\n// elements within blocking elements do not inherit.\n// Taken from CLDR's supplementalMetaData.xml.\nvar blocking = map[string]bool{\n\t\"identity\":         true,\n\t\"supplementalData\": true,\n\t\"cldrTest\":         true,\n\t\"collation\":        true,\n\t\"transform\":        true,\n}\n\n// Distinguishing attributes affect inheritance; two elements with different\n// distinguishing attributes are treated as different for purposes of inheritance,\n// except when such attributes occur in the indicated elements.\n// Taken from CLDR's supplementalMetaData.xml.\nvar distinguishing = map[string][]string{\n\t\"key\":        nil,\n\t\"request_id\": nil,\n\t\"id\":         nil,\n\t\"registry\":   nil,\n\t\"alt\":        nil,\n\t\"iso4217\":    nil,\n\t\"iso3166\":    nil,\n\t\"mzone\":      nil,\n\t\"from\":       nil,\n\t\"to\":         nil,\n\t\"type\": []string{\n\t\t\"abbreviationFallback\",\n\t\t\"default\",\n\t\t\"mapping\",\n\t\t\"measurementSystem\",\n\t\t\"preferenceOrdering\",\n\t},\n\t\"numberSystem\": nil,\n}\n\nfunc in(set []string, s string) bool {\n\tfor _, v := range set {\n\t\tif v == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// attrKey computes a key based on the distinguishable attributes of\n// an element and it's values.\nfunc attrKey(v reflect.Value, exclude ...string) string {\n\tparts := []string{}\n\tename := v.Interface().(Elem).GetCommon().name\n\tv = v.Elem()\n\tfor i := iter(v); !i.done(); i.next() {\n\t\tif name, attr := xmlName(i.field()); attr {\n\t\t\tif except, ok := distinguishing[name]; ok && !in(exclude, name) && !in(except, ename) {\n\t\t\t\tv := i.value()\n\t\t\t\tif v.Kind() == reflect.Ptr {\n\t\t\t\t\tv = v.Elem()\n\t\t\t\t}\n\t\t\t\tif v.IsValid() {\n\t\t\t\t\tparts = append(parts, fmt.Sprintf(\"%s=%s\", name, v.String()))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tsort.Strings(parts)\n\treturn strings.Join(parts, \";\")\n}\n\n// Key returns a key for e derived from all distinguishing attributes\n// except those specified by exclude.\nfunc Key(e Elem, exclude ...string) string {\n\treturn attrKey(reflect.ValueOf(e), exclude...)\n}\n\n// linkEnclosing sets the enclosing element as well as the name\n// for all sub-elements of child, recursively.\nfunc linkEnclosing(parent, child Elem) {\n\tchild.setEnclosing(parent)\n\tv := reflect.ValueOf(child).Elem()\n\tfor i := iter(v); !i.done(); i.next() {\n\t\tvf := i.value()\n\t\tif vf.Kind() == reflect.Slice {\n\t\t\tfor j := 0; j < vf.Len(); j++ {\n\t\t\t\tlinkEnclosing(child, vf.Index(j).Interface().(Elem))\n\t\t\t}\n\t\t} else if vf.Kind() == reflect.Ptr && !vf.IsNil() && vf.Elem().Kind() == reflect.Struct {\n\t\t\tlinkEnclosing(child, vf.Interface().(Elem))\n\t\t}\n\t}\n}\n\nfunc setNames(e Elem, name string) {\n\te.setName(name)\n\tv := reflect.ValueOf(e).Elem()\n\tfor i := iter(v); !i.done(); i.next() {\n\t\tvf := i.value()\n\t\tname, _ = xmlName(i.field())\n\t\tif vf.Kind() == reflect.Slice {\n\t\t\tfor j := 0; j < vf.Len(); j++ {\n\t\t\t\tsetNames(vf.Index(j).Interface().(Elem), name)\n\t\t\t}\n\t\t} else if vf.Kind() == reflect.Ptr && !vf.IsNil() && vf.Elem().Kind() == reflect.Struct {\n\t\t\tsetNames(vf.Interface().(Elem), name)\n\t\t}\n\t}\n}\n\n// deepCopy copies elements of v recursively.  All elements of v that may\n// be modified by inheritance are explicitly copied.\nfunc deepCopy(v reflect.Value) reflect.Value {\n\tswitch v.Kind() {\n\tcase reflect.Ptr:\n\t\tif v.IsNil() || v.Elem().Kind() != reflect.Struct {\n\t\t\treturn v\n\t\t}\n\t\tnv := reflect.New(v.Elem().Type())\n\t\tnv.Elem().Set(v.Elem())\n\t\tdeepCopyRec(nv.Elem(), v.Elem())\n\t\treturn nv\n\tcase reflect.Slice:\n\t\tnv := reflect.MakeSlice(v.Type(), v.Len(), v.Len())\n\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\tdeepCopyRec(nv.Index(i), v.Index(i))\n\t\t}\n\t\treturn nv\n\t}\n\tpanic(\"deepCopy: must be called with pointer or slice\")\n}\n\n// deepCopyRec is only called by deepCopy.\nfunc deepCopyRec(nv, v reflect.Value) {\n\tif v.Kind() == reflect.Struct {\n\t\tt := v.Type()\n\t\tfor i := 0; i < v.NumField(); i++ {\n\t\t\tif name, attr := xmlName(t.Field(i)); name != \"\" && !attr {\n\t\t\t\tdeepCopyRec(nv.Field(i), v.Field(i))\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnv.Set(deepCopy(v))\n\t}\n}\n\n// newNode is used to insert a missing node during inheritance.\nfunc (cldr *CLDR) newNode(v, enc reflect.Value) reflect.Value {\n\tn := reflect.New(v.Type())\n\tfor i := iter(v); !i.done(); i.next() {\n\t\tif name, attr := xmlName(i.field()); name == \"\" || attr {\n\t\t\tn.Elem().FieldByIndex(i.index).Set(i.value())\n\t\t}\n\t}\n\tn.Interface().(Elem).GetCommon().setEnclosing(enc.Addr().Interface().(Elem))\n\treturn n\n}\n\n// v, parent must be pointers to struct\nfunc (cldr *CLDR) inheritFields(v, parent reflect.Value) (res reflect.Value, err error) {\n\tt := v.Type()\n\tnv := reflect.New(t)\n\tnv.Elem().Set(v)\n\tfor i := iter(v); !i.done(); i.next() {\n\t\tvf := i.value()\n\t\tf := i.field()\n\t\tname, attr := xmlName(f)\n\t\tif name == \"\" || attr {\n\t\t\tcontinue\n\t\t}\n\t\tpf := parent.FieldByIndex(i.index)\n\t\tif blocking[name] {\n\t\t\tif vf.IsNil() {\n\t\t\t\tvf = pf\n\t\t\t}\n\t\t\tnv.Elem().FieldByIndex(i.index).Set(deepCopy(vf))\n\t\t\tcontinue\n\t\t}\n\t\tswitch f.Type.Kind() {\n\t\tcase reflect.Ptr:\n\t\t\tif f.Type.Elem().Kind() == reflect.Struct {\n\t\t\t\tif !vf.IsNil() {\n\t\t\t\t\tif vf, err = cldr.inheritStructPtr(vf, pf); err != nil {\n\t\t\t\t\t\treturn reflect.Value{}, err\n\t\t\t\t\t}\n\t\t\t\t\tvf.Interface().(Elem).setEnclosing(nv.Interface().(Elem))\n\t\t\t\t\tnv.Elem().FieldByIndex(i.index).Set(vf)\n\t\t\t\t} else if !pf.IsNil() {\n\t\t\t\t\tn := cldr.newNode(pf.Elem(), v)\n\t\t\t\t\tif vf, err = cldr.inheritStructPtr(n, pf); err != nil {\n\t\t\t\t\t\treturn reflect.Value{}, err\n\t\t\t\t\t}\n\t\t\t\t\tvf.Interface().(Elem).setEnclosing(nv.Interface().(Elem))\n\t\t\t\t\tnv.Elem().FieldByIndex(i.index).Set(vf)\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Slice:\n\t\t\tvf, err := cldr.inheritSlice(nv.Elem(), vf, pf)\n\t\t\tif err != nil {\n\t\t\t\treturn reflect.Zero(t), err\n\t\t\t}\n\t\t\tnv.Elem().FieldByIndex(i.index).Set(vf)\n\t\t}\n\t}\n\treturn nv, nil\n}\n\nfunc root(e Elem) *LDML {\n\tfor ; e.enclosing() != nil; e = e.enclosing() {\n\t}\n\treturn e.(*LDML)\n}\n\n// inheritStructPtr first merges possible aliases in with v and then inherits\n// any underspecified elements from parent.\nfunc (cldr *CLDR) inheritStructPtr(v, parent reflect.Value) (r reflect.Value, err error) {\n\tif !v.IsNil() {\n\t\te := v.Interface().(Elem).GetCommon()\n\t\talias := e.Alias\n\t\tif alias == nil && !parent.IsNil() {\n\t\t\talias = parent.Interface().(Elem).GetCommon().Alias\n\t\t}\n\t\tif alias != nil {\n\t\t\ta, err := cldr.resolveAlias(v.Interface().(Elem), alias.Source, alias.Path)\n\t\t\tif a != nil {\n\t\t\t\tif v, err = cldr.inheritFields(v.Elem(), reflect.ValueOf(a).Elem()); err != nil {\n\t\t\t\t\treturn reflect.Value{}, err\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif !parent.IsNil() {\n\t\t\treturn cldr.inheritFields(v.Elem(), parent.Elem())\n\t\t}\n\t} else if parent.IsNil() {\n\t\tpanic(\"should not reach here\")\n\t}\n\treturn v, nil\n}\n\n// Must be slice of struct pointers.\nfunc (cldr *CLDR) inheritSlice(enc, v, parent reflect.Value) (res reflect.Value, err error) {\n\tt := v.Type()\n\tindex := make(map[string]reflect.Value)\n\tif !v.IsNil() {\n\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\tvi := v.Index(i)\n\t\t\tkey := attrKey(vi)\n\t\t\tindex[key] = vi\n\t\t}\n\t}\n\tif !parent.IsNil() {\n\t\tfor i := 0; i < parent.Len(); i++ {\n\t\t\tvi := parent.Index(i)\n\t\t\tkey := attrKey(vi)\n\t\t\tif w, ok := index[key]; ok {\n\t\t\t\tindex[key], err = cldr.inheritStructPtr(w, vi)\n\t\t\t} else {\n\t\t\t\tn := cldr.newNode(vi.Elem(), enc)\n\t\t\t\tindex[key], err = cldr.inheritStructPtr(n, vi)\n\t\t\t}\n\t\t\tindex[key].Interface().(Elem).setEnclosing(enc.Addr().Interface().(Elem))\n\t\t\tif err != nil {\n\t\t\t\treturn v, err\n\t\t\t}\n\t\t}\n\t}\n\tkeys := make([]string, 0, len(index))\n\tfor k, _ := range index {\n\t\tkeys = append(keys, k)\n\t}\n\tsort.Strings(keys)\n\tsl := reflect.MakeSlice(t, len(index), len(index))\n\tfor i, k := range keys {\n\t\tsl.Index(i).Set(index[k])\n\t}\n\treturn sl, nil\n}\n\nfunc parentLocale(loc string) string {\n\tparts := strings.Split(loc, \"_\")\n\tif len(parts) == 1 {\n\t\treturn \"root\"\n\t}\n\tparts = parts[:len(parts)-1]\n\tkey := strings.Join(parts, \"_\")\n\treturn key\n}\n\nfunc (cldr *CLDR) resolve(loc string) (res *LDML, err error) {\n\tif r := cldr.resolved[loc]; r != nil {\n\t\treturn r, nil\n\t}\n\tx := cldr.RawLDML(loc)\n\tif x == nil {\n\t\treturn nil, fmt.Errorf(\"cldr: unknown locale %q\", loc)\n\t}\n\tvar v reflect.Value\n\tif loc == \"root\" {\n\t\tx = deepCopy(reflect.ValueOf(x)).Interface().(*LDML)\n\t\tlinkEnclosing(nil, x)\n\t\terr = cldr.aliasResolver().visit(x)\n\t} else {\n\t\tkey := parentLocale(loc)\n\t\tvar parent *LDML\n\t\tfor ; cldr.locale[key] == nil; key = parentLocale(key) {\n\t\t}\n\t\tif parent, err = cldr.resolve(key); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tv, err = cldr.inheritFields(reflect.ValueOf(x).Elem(), reflect.ValueOf(parent).Elem())\n\t\tx = v.Interface().(*LDML)\n\t\tlinkEnclosing(nil, x)\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tcldr.resolved[loc] = x\n\treturn x, err\n}\n\n// finalize finalizes the initialization of the raw LDML structs.  It also\n// removed unwanted fields, as specified by filter, so that they will not\n// be unnecessarily evaluated.\nfunc (cldr *CLDR) finalize(filter []string) {\n\tfor _, x := range cldr.locale {\n\t\tif filter != nil {\n\t\t\tv := reflect.ValueOf(x).Elem()\n\t\t\tt := v.Type()\n\t\t\tfor i := 0; i < v.NumField(); i++ {\n\t\t\t\tf := t.Field(i)\n\t\t\t\tname, _ := xmlName(f)\n\t\t\t\tif name != \"\" && name != \"identity\" && !in(filter, name) {\n\t\t\t\t\tv.Field(i).Set(reflect.Zero(f.Type))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tlinkEnclosing(nil, x) // for resolving aliases and paths\n\t\tsetNames(x, \"ldml\")\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/slice.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage cldr\n\nimport (\n\t\"fmt\"\n\t\"reflect\"\n\t\"sort\"\n)\n\n// Slice provides utilities for modifying slices of elements.\n// It can be wrapped around any slice of which the element type implements\n// interface Elem.\ntype Slice struct {\n\tptr reflect.Value\n\ttyp reflect.Type\n}\n\n// Value returns the reflect.Value of the underlying slice.\nfunc (s *Slice) Value() reflect.Value {\n\treturn s.ptr.Elem()\n}\n\n// MakeSlice wraps a pointer to a slice of Elems.\n// It replaces the array pointed to by the slice so that subsequent modifications\n// do not alter the data in a CLDR type.\n// It panics if an incorrect type is passed.\nfunc MakeSlice(slicePtr interface{}) Slice {\n\tptr := reflect.ValueOf(slicePtr)\n\tif ptr.Kind() != reflect.Ptr {\n\t\tpanic(fmt.Sprintf(\"MakeSlice: argument must be pointer to slice, found %v\", ptr.Type()))\n\t}\n\tsl := ptr.Elem()\n\tif sl.Kind() != reflect.Slice {\n\t\tpanic(fmt.Sprintf(\"MakeSlice: argument must point to a slice, found %v\", sl.Type()))\n\t}\n\tintf := reflect.TypeOf((*Elem)(nil)).Elem()\n\tif !sl.Type().Elem().Implements(intf) {\n\t\tpanic(fmt.Sprintf(\"MakeSlice: element type of slice (%v) does not implement Elem\", sl.Type().Elem()))\n\t}\n\tnsl := reflect.MakeSlice(sl.Type(), sl.Len(), sl.Len())\n\treflect.Copy(nsl, sl)\n\tsl.Set(nsl)\n\treturn Slice{\n\t\tptr: ptr,\n\t\ttyp: sl.Type().Elem().Elem(),\n\t}\n}\n\nfunc (s Slice) indexForAttr(a string) []int {\n\tfor i := iter(reflect.Zero(s.typ)); !i.done(); i.next() {\n\t\tif n, _ := xmlName(i.field()); n == a {\n\t\t\treturn i.index\n\t\t}\n\t}\n\tpanic(fmt.Sprintf(\"MakeSlice: no attribute %q for type %v\", a, s.typ))\n}\n\n// Filter filters s to only include elements for which fn returns true.\nfunc (s Slice) Filter(fn func(e Elem) bool) {\n\tk := 0\n\tsl := s.Value()\n\tfor i := 0; i < sl.Len(); i++ {\n\t\tvi := sl.Index(i)\n\t\tif fn(vi.Interface().(Elem)) {\n\t\t\tsl.Index(k).Set(vi)\n\t\t\tk++\n\t\t}\n\t}\n\tsl.Set(sl.Slice(0, k))\n}\n\n// Group finds elements in s for which fn returns the same value and groups\n// them in a new Slice.\nfunc (s Slice) Group(fn func(e Elem) string) []Slice {\n\tm := make(map[string][]reflect.Value)\n\tsl := s.Value()\n\tfor i := 0; i < sl.Len(); i++ {\n\t\tvi := sl.Index(i)\n\t\tkey := fn(vi.Interface().(Elem))\n\t\tm[key] = append(m[key], vi)\n\t}\n\tkeys := []string{}\n\tfor k, _ := range m {\n\t\tkeys = append(keys, k)\n\t}\n\tsort.Strings(keys)\n\tres := []Slice{}\n\tfor _, k := range keys {\n\t\tnsl := reflect.New(sl.Type())\n\t\tnsl.Elem().Set(reflect.Append(nsl.Elem(), m[k]...))\n\t\tres = append(res, MakeSlice(nsl.Interface()))\n\t}\n\treturn res\n}\n\n// SelectAnyOf filters s to contain only elements for which attr matches\n// any of the values.\nfunc (s Slice) SelectAnyOf(attr string, values ...string) {\n\tindex := s.indexForAttr(attr)\n\ts.Filter(func(e Elem) bool {\n\t\tvf := reflect.ValueOf(e).Elem().FieldByIndex(index)\n\t\treturn in(values, vf.String())\n\t})\n}\n\n// SelectOnePerGroup filters s to include at most one element e per group of\n// elements matching Key(attr), where e has an attribute a that matches any\n// the values in v.\n// If more than one element in a group matches a value in v preference\n// is given to the element that matches the first value in v.\nfunc (s Slice) SelectOnePerGroup(a string, v []string) {\n\tindex := s.indexForAttr(a)\n\tgrouped := s.Group(func(e Elem) string { return Key(e, a) })\n\tsl := s.Value()\n\tsl.Set(sl.Slice(0, 0))\n\tfor _, g := range grouped {\n\t\te := reflect.Value{}\n\t\tfound := len(v)\n\t\tgsl := g.Value()\n\t\tfor i := 0; i < gsl.Len(); i++ {\n\t\t\tvi := gsl.Index(i).Elem().FieldByIndex(index)\n\t\t\tj := 0\n\t\t\tfor ; j < len(v) && v[j] != vi.String(); j++ {\n\t\t\t}\n\t\t\tif j < found {\n\t\t\t\tfound = j\n\t\t\t\te = gsl.Index(i)\n\t\t\t}\n\t\t}\n\t\tif found < len(v) {\n\t\t\tsl.Set(reflect.Append(sl, e))\n\t\t}\n\t}\n}\n\n// SelectDraft drops all elements from the list with a draft level smaller than d\n// and selects the highest draft level of the remaining.\n// This method assumes that the input CLDR is canonicalized.\nfunc (s Slice) SelectDraft(d Draft) {\n\ts.SelectOnePerGroup(\"draft\", drafts[len(drafts)-2-int(d):])\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/xml.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage cldr\n\n// LDMLBCP47 holds information on allowable values for various variables in LDML.\ntype LDMLBCP47 struct {\n\tCommon\n\tVersion *struct {\n\t\tCommon\n\t\tNumber string `xml:\"number,attr\"`\n\t} `xml:\"version\"`\n\tGeneration *struct {\n\t\tCommon\n\t\tDate string `xml:\"date,attr\"`\n\t} `xml:\"generation\"`\n\tKeyword []*struct {\n\t\tCommon\n\t\tKey []*struct {\n\t\t\tCommon\n\t\t\tExtension   string `xml:\"extension,attr\"`\n\t\t\tName        string `xml:\"name,attr\"`\n\t\t\tDescription string `xml:\"description,attr\"`\n\t\t\tDeprecated  string `xml:\"deprecated,attr\"`\n\t\t\tPreferred   string `xml:\"preferred,attr\"`\n\t\t\tAlias       string `xml:\"alias,attr\"`\n\t\t\tValueType   string `xml:\"valueType,attr\"`\n\t\t\tSince       string `xml:\"since,attr\"`\n\t\t\tType        []*struct {\n\t\t\t\tCommon\n\t\t\t\tName        string `xml:\"name,attr\"`\n\t\t\t\tDescription string `xml:\"description,attr\"`\n\t\t\t\tDeprecated  string `xml:\"deprecated,attr\"`\n\t\t\t\tPreferred   string `xml:\"preferred,attr\"`\n\t\t\t\tAlias       string `xml:\"alias,attr\"`\n\t\t\t\tSince       string `xml:\"since,attr\"`\n\t\t\t} `xml:\"type\"`\n\t\t} `xml:\"key\"`\n\t} `xml:\"keyword\"`\n\tAttribute []*struct {\n\t\tCommon\n\t\tName        string `xml:\"name,attr\"`\n\t\tDescription string `xml:\"description,attr\"`\n\t\tDeprecated  string `xml:\"deprecated,attr\"`\n\t\tPreferred   string `xml:\"preferred,attr\"`\n\t\tSince       string `xml:\"since,attr\"`\n\t} `xml:\"attribute\"`\n}\n\n// SupplementalData holds information relevant for internationalization\n// and proper use of CLDR, but that is not contained in the locale hierarchy.\ntype SupplementalData struct {\n\tCommon\n\tVersion *struct {\n\t\tCommon\n\t\tNumber string `xml:\"number,attr\"`\n\t} `xml:\"version\"`\n\tGeneration *struct {\n\t\tCommon\n\t\tDate string `xml:\"date,attr\"`\n\t} `xml:\"generation\"`\n\tCurrencyData *struct {\n\t\tCommon\n\t\tFractions []*struct {\n\t\t\tCommon\n\t\t\tInfo []*struct {\n\t\t\t\tCommon\n\t\t\t\tIso4217      string `xml:\"iso4217,attr\"`\n\t\t\t\tDigits       string `xml:\"digits,attr\"`\n\t\t\t\tRounding     string `xml:\"rounding,attr\"`\n\t\t\t\tCashDigits   string `xml:\"cashDigits,attr\"`\n\t\t\t\tCashRounding string `xml:\"cashRounding,attr\"`\n\t\t\t} `xml:\"info\"`\n\t\t} `xml:\"fractions\"`\n\t\tRegion []*struct {\n\t\t\tCommon\n\t\t\tIso3166  string `xml:\"iso3166,attr\"`\n\t\t\tCurrency []*struct {\n\t\t\t\tCommon\n\t\t\t\tBefore       string `xml:\"before,attr\"`\n\t\t\t\tFrom         string `xml:\"from,attr\"`\n\t\t\t\tTo           string `xml:\"to,attr\"`\n\t\t\t\tIso4217      string `xml:\"iso4217,attr\"`\n\t\t\t\tDigits       string `xml:\"digits,attr\"`\n\t\t\t\tRounding     string `xml:\"rounding,attr\"`\n\t\t\t\tCashRounding string `xml:\"cashRounding,attr\"`\n\t\t\t\tTender       string `xml:\"tender,attr\"`\n\t\t\t\tAlternate    []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tIso4217 string `xml:\"iso4217,attr\"`\n\t\t\t\t} `xml:\"alternate\"`\n\t\t\t} `xml:\"currency\"`\n\t\t} `xml:\"region\"`\n\t} `xml:\"currencyData\"`\n\tTerritoryContainment *struct {\n\t\tCommon\n\t\tGroup []*struct {\n\t\t\tCommon\n\t\t\tContains string `xml:\"contains,attr\"`\n\t\t\tGrouping string `xml:\"grouping,attr\"`\n\t\t\tStatus   string `xml:\"status,attr\"`\n\t\t} `xml:\"group\"`\n\t} `xml:\"territoryContainment\"`\n\tSubdivisionContainment *struct {\n\t\tCommon\n\t\tSubgroup []*struct {\n\t\t\tCommon\n\t\t\tSubtype  string `xml:\"subtype,attr\"`\n\t\t\tContains string `xml:\"contains,attr\"`\n\t\t} `xml:\"subgroup\"`\n\t} `xml:\"subdivisionContainment\"`\n\tLanguageData *struct {\n\t\tCommon\n\t\tLanguage []*struct {\n\t\t\tCommon\n\t\t\tScripts     string `xml:\"scripts,attr\"`\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t\tVariants    string `xml:\"variants,attr\"`\n\t\t} `xml:\"language\"`\n\t} `xml:\"languageData\"`\n\tTerritoryInfo *struct {\n\t\tCommon\n\t\tTerritory []*struct {\n\t\t\tCommon\n\t\t\tGdp                string `xml:\"gdp,attr\"`\n\t\t\tLiteracyPercent    string `xml:\"literacyPercent,attr\"`\n\t\t\tPopulation         string `xml:\"population,attr\"`\n\t\t\tLanguagePopulation []*struct {\n\t\t\t\tCommon\n\t\t\t\tLiteracyPercent   string `xml:\"literacyPercent,attr\"`\n\t\t\t\tWritingPercent    string `xml:\"writingPercent,attr\"`\n\t\t\t\tPopulationPercent string `xml:\"populationPercent,attr\"`\n\t\t\t\tOfficialStatus    string `xml:\"officialStatus,attr\"`\n\t\t\t} `xml:\"languagePopulation\"`\n\t\t} `xml:\"territory\"`\n\t} `xml:\"territoryInfo\"`\n\tPostalCodeData *struct {\n\t\tCommon\n\t\tPostCodeRegex []*struct {\n\t\t\tCommon\n\t\t\tTerritoryId string `xml:\"territoryId,attr\"`\n\t\t} `xml:\"postCodeRegex\"`\n\t} `xml:\"postalCodeData\"`\n\tCalendarData *struct {\n\t\tCommon\n\t\tCalendar []*struct {\n\t\t\tCommon\n\t\t\tTerritories    string  `xml:\"territories,attr\"`\n\t\t\tCalendarSystem *Common `xml:\"calendarSystem\"`\n\t\t\tEras           *struct {\n\t\t\t\tCommon\n\t\t\t\tEra []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tStart string `xml:\"start,attr\"`\n\t\t\t\t\tEnd   string `xml:\"end,attr\"`\n\t\t\t\t} `xml:\"era\"`\n\t\t\t} `xml:\"eras\"`\n\t\t} `xml:\"calendar\"`\n\t} `xml:\"calendarData\"`\n\tCalendarPreferenceData *struct {\n\t\tCommon\n\t\tCalendarPreference []*struct {\n\t\t\tCommon\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t\tOrdering    string `xml:\"ordering,attr\"`\n\t\t} `xml:\"calendarPreference\"`\n\t} `xml:\"calendarPreferenceData\"`\n\tWeekData *struct {\n\t\tCommon\n\t\tMinDays []*struct {\n\t\t\tCommon\n\t\t\tCount       string `xml:\"count,attr\"`\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t} `xml:\"minDays\"`\n\t\tFirstDay []*struct {\n\t\t\tCommon\n\t\t\tDay         string `xml:\"day,attr\"`\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t} `xml:\"firstDay\"`\n\t\tWeekendStart []*struct {\n\t\t\tCommon\n\t\t\tDay         string `xml:\"day,attr\"`\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t} `xml:\"weekendStart\"`\n\t\tWeekendEnd []*struct {\n\t\t\tCommon\n\t\t\tDay         string `xml:\"day,attr\"`\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t} `xml:\"weekendEnd\"`\n\t\tWeekOfPreference []*struct {\n\t\t\tCommon\n\t\t\tLocales  string `xml:\"locales,attr\"`\n\t\t\tOrdering string `xml:\"ordering,attr\"`\n\t\t} `xml:\"weekOfPreference\"`\n\t} `xml:\"weekData\"`\n\tTimeData *struct {\n\t\tCommon\n\t\tHours []*struct {\n\t\t\tCommon\n\t\t\tAllowed   string `xml:\"allowed,attr\"`\n\t\t\tPreferred string `xml:\"preferred,attr\"`\n\t\t\tRegions   string `xml:\"regions,attr\"`\n\t\t} `xml:\"hours\"`\n\t} `xml:\"timeData\"`\n\tMeasurementData *struct {\n\t\tCommon\n\t\tMeasurementSystem []*struct {\n\t\t\tCommon\n\t\t\tCategory    string `xml:\"category,attr\"`\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t} `xml:\"measurementSystem\"`\n\t\tPaperSize []*struct {\n\t\t\tCommon\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t} `xml:\"paperSize\"`\n\t} `xml:\"measurementData\"`\n\tUnitPreferenceData *struct {\n\t\tCommon\n\t\tUnitPreferences []*struct {\n\t\t\tCommon\n\t\t\tCategory       string `xml:\"category,attr\"`\n\t\t\tUsage          string `xml:\"usage,attr\"`\n\t\t\tScope          string `xml:\"scope,attr\"`\n\t\t\tUnitPreference []*struct {\n\t\t\t\tCommon\n\t\t\t\tRegions string `xml:\"regions,attr\"`\n\t\t\t} `xml:\"unitPreference\"`\n\t\t} `xml:\"unitPreferences\"`\n\t} `xml:\"unitPreferenceData\"`\n\tTimezoneData *struct {\n\t\tCommon\n\t\tMapTimezones []*struct {\n\t\t\tCommon\n\t\t\tOtherVersion string `xml:\"otherVersion,attr\"`\n\t\t\tTypeVersion  string `xml:\"typeVersion,attr\"`\n\t\t\tMapZone      []*struct {\n\t\t\t\tCommon\n\t\t\t\tOther     string `xml:\"other,attr\"`\n\t\t\t\tTerritory string `xml:\"territory,attr\"`\n\t\t\t} `xml:\"mapZone\"`\n\t\t} `xml:\"mapTimezones\"`\n\t\tZoneFormatting []*struct {\n\t\t\tCommon\n\t\t\tMultizone   string `xml:\"multizone,attr\"`\n\t\t\tTzidVersion string `xml:\"tzidVersion,attr\"`\n\t\t\tZoneItem    []*struct {\n\t\t\t\tCommon\n\t\t\t\tTerritory string `xml:\"territory,attr\"`\n\t\t\t\tAliases   string `xml:\"aliases,attr\"`\n\t\t\t} `xml:\"zoneItem\"`\n\t\t} `xml:\"zoneFormatting\"`\n\t} `xml:\"timezoneData\"`\n\tCharacters *struct {\n\t\tCommon\n\t\tCharacterFallback []*struct {\n\t\t\tCommon\n\t\t\tCharacter []*struct {\n\t\t\t\tCommon\n\t\t\t\tValue      string    `xml:\"value,attr\"`\n\t\t\t\tSubstitute []*Common `xml:\"substitute\"`\n\t\t\t} `xml:\"character\"`\n\t\t} `xml:\"character-fallback\"`\n\t} `xml:\"characters\"`\n\tTransforms *struct {\n\t\tCommon\n\t\tTransform []*struct {\n\t\t\tCommon\n\t\t\tSource        string    `xml:\"source,attr\"`\n\t\t\tTarget        string    `xml:\"target,attr\"`\n\t\t\tVariant       string    `xml:\"variant,attr\"`\n\t\t\tDirection     string    `xml:\"direction,attr\"`\n\t\t\tAlias         string    `xml:\"alias,attr\"`\n\t\t\tBackwardAlias string    `xml:\"backwardAlias,attr\"`\n\t\t\tVisibility    string    `xml:\"visibility,attr\"`\n\t\t\tComment       []*Common `xml:\"comment\"`\n\t\t\tTRule         []*Common `xml:\"tRule\"`\n\t\t} `xml:\"transform\"`\n\t} `xml:\"transforms\"`\n\tMetadata *struct {\n\t\tCommon\n\t\tAttributeOrder *Common `xml:\"attributeOrder\"`\n\t\tElementOrder   *Common `xml:\"elementOrder\"`\n\t\tSerialElements *Common `xml:\"serialElements\"`\n\t\tSuppress       *struct {\n\t\t\tCommon\n\t\t\tAttributes []*struct {\n\t\t\t\tCommon\n\t\t\t\tElement        string `xml:\"element,attr\"`\n\t\t\t\tAttribute      string `xml:\"attribute,attr\"`\n\t\t\t\tAttributeValue string `xml:\"attributeValue,attr\"`\n\t\t\t} `xml:\"attributes\"`\n\t\t} `xml:\"suppress\"`\n\t\tValidity *struct {\n\t\t\tCommon\n\t\t\tVariable []*struct {\n\t\t\t\tCommon\n\t\t\t\tId string `xml:\"id,attr\"`\n\t\t\t} `xml:\"variable\"`\n\t\t\tAttributeValues []*struct {\n\t\t\t\tCommon\n\t\t\t\tDtds       string `xml:\"dtds,attr\"`\n\t\t\t\tElements   string `xml:\"elements,attr\"`\n\t\t\t\tAttributes string `xml:\"attributes,attr\"`\n\t\t\t\tOrder      string `xml:\"order,attr\"`\n\t\t\t} `xml:\"attributeValues\"`\n\t\t} `xml:\"validity\"`\n\t\tAlias *struct {\n\t\t\tCommon\n\t\t\tLanguageAlias []*struct {\n\t\t\t\tCommon\n\t\t\t\tReplacement string `xml:\"replacement,attr\"`\n\t\t\t\tReason      string `xml:\"reason,attr\"`\n\t\t\t} `xml:\"languageAlias\"`\n\t\t\tScriptAlias []*struct {\n\t\t\t\tCommon\n\t\t\t\tReplacement string `xml:\"replacement,attr\"`\n\t\t\t\tReason      string `xml:\"reason,attr\"`\n\t\t\t} `xml:\"scriptAlias\"`\n\t\t\tTerritoryAlias []*struct {\n\t\t\t\tCommon\n\t\t\t\tReplacement string `xml:\"replacement,attr\"`\n\t\t\t\tReason      string `xml:\"reason,attr\"`\n\t\t\t} `xml:\"territoryAlias\"`\n\t\t\tSubdivisionAlias []*struct {\n\t\t\t\tCommon\n\t\t\t\tReplacement string `xml:\"replacement,attr\"`\n\t\t\t\tReason      string `xml:\"reason,attr\"`\n\t\t\t} `xml:\"subdivisionAlias\"`\n\t\t\tVariantAlias []*struct {\n\t\t\t\tCommon\n\t\t\t\tReplacement string `xml:\"replacement,attr\"`\n\t\t\t\tReason      string `xml:\"reason,attr\"`\n\t\t\t} `xml:\"variantAlias\"`\n\t\t\tZoneAlias []*struct {\n\t\t\t\tCommon\n\t\t\t\tReplacement string `xml:\"replacement,attr\"`\n\t\t\t\tReason      string `xml:\"reason,attr\"`\n\t\t\t} `xml:\"zoneAlias\"`\n\t\t} `xml:\"alias\"`\n\t\tDeprecated *struct {\n\t\t\tCommon\n\t\t\tDeprecatedItems []*struct {\n\t\t\t\tCommon\n\t\t\t\tElements   string `xml:\"elements,attr\"`\n\t\t\t\tAttributes string `xml:\"attributes,attr\"`\n\t\t\t\tValues     string `xml:\"values,attr\"`\n\t\t\t} `xml:\"deprecatedItems\"`\n\t\t} `xml:\"deprecated\"`\n\t\tDistinguishing *struct {\n\t\t\tCommon\n\t\t\tDistinguishingItems []*struct {\n\t\t\t\tCommon\n\t\t\t\tExclude    string `xml:\"exclude,attr\"`\n\t\t\t\tElements   string `xml:\"elements,attr\"`\n\t\t\t\tAttributes string `xml:\"attributes,attr\"`\n\t\t\t} `xml:\"distinguishingItems\"`\n\t\t} `xml:\"distinguishing\"`\n\t\tBlocking *struct {\n\t\t\tCommon\n\t\t\tBlockingItems []*struct {\n\t\t\t\tCommon\n\t\t\t\tElements string `xml:\"elements,attr\"`\n\t\t\t} `xml:\"blockingItems\"`\n\t\t} `xml:\"blocking\"`\n\t\tCoverageAdditions *struct {\n\t\t\tCommon\n\t\t\tLanguageCoverage []*struct {\n\t\t\t\tCommon\n\t\t\t\tValues string `xml:\"values,attr\"`\n\t\t\t} `xml:\"languageCoverage\"`\n\t\t\tScriptCoverage []*struct {\n\t\t\t\tCommon\n\t\t\t\tValues string `xml:\"values,attr\"`\n\t\t\t} `xml:\"scriptCoverage\"`\n\t\t\tTerritoryCoverage []*struct {\n\t\t\t\tCommon\n\t\t\t\tValues string `xml:\"values,attr\"`\n\t\t\t} `xml:\"territoryCoverage\"`\n\t\t\tCurrencyCoverage []*struct {\n\t\t\t\tCommon\n\t\t\t\tValues string `xml:\"values,attr\"`\n\t\t\t} `xml:\"currencyCoverage\"`\n\t\t\tTimezoneCoverage []*struct {\n\t\t\t\tCommon\n\t\t\t\tValues string `xml:\"values,attr\"`\n\t\t\t} `xml:\"timezoneCoverage\"`\n\t\t} `xml:\"coverageAdditions\"`\n\t\tSkipDefaultLocale *struct {\n\t\t\tCommon\n\t\t\tServices string `xml:\"services,attr\"`\n\t\t} `xml:\"skipDefaultLocale\"`\n\t\tDefaultContent *struct {\n\t\t\tCommon\n\t\t\tLocales string `xml:\"locales,attr\"`\n\t\t} `xml:\"defaultContent\"`\n\t} `xml:\"metadata\"`\n\tCodeMappings *struct {\n\t\tCommon\n\t\tLanguageCodes []*struct {\n\t\t\tCommon\n\t\t\tAlpha3 string `xml:\"alpha3,attr\"`\n\t\t} `xml:\"languageCodes\"`\n\t\tTerritoryCodes []*struct {\n\t\t\tCommon\n\t\t\tNumeric  string `xml:\"numeric,attr\"`\n\t\t\tAlpha3   string `xml:\"alpha3,attr\"`\n\t\t\tFips10   string `xml:\"fips10,attr\"`\n\t\t\tInternet string `xml:\"internet,attr\"`\n\t\t} `xml:\"territoryCodes\"`\n\t\tCurrencyCodes []*struct {\n\t\t\tCommon\n\t\t\tNumeric string `xml:\"numeric,attr\"`\n\t\t} `xml:\"currencyCodes\"`\n\t} `xml:\"codeMappings\"`\n\tParentLocales *struct {\n\t\tCommon\n\t\tParentLocale []*struct {\n\t\t\tCommon\n\t\t\tParent  string `xml:\"parent,attr\"`\n\t\t\tLocales string `xml:\"locales,attr\"`\n\t\t} `xml:\"parentLocale\"`\n\t} `xml:\"parentLocales\"`\n\tLikelySubtags *struct {\n\t\tCommon\n\t\tLikelySubtag []*struct {\n\t\t\tCommon\n\t\t\tFrom string `xml:\"from,attr\"`\n\t\t\tTo   string `xml:\"to,attr\"`\n\t\t} `xml:\"likelySubtag\"`\n\t} `xml:\"likelySubtags\"`\n\tMetazoneInfo *struct {\n\t\tCommon\n\t\tTimezone []*struct {\n\t\t\tCommon\n\t\t\tUsesMetazone []*struct {\n\t\t\t\tCommon\n\t\t\t\tFrom  string `xml:\"from,attr\"`\n\t\t\t\tTo    string `xml:\"to,attr\"`\n\t\t\t\tMzone string `xml:\"mzone,attr\"`\n\t\t\t} `xml:\"usesMetazone\"`\n\t\t} `xml:\"timezone\"`\n\t} `xml:\"metazoneInfo\"`\n\tPlurals []*struct {\n\t\tCommon\n\t\tPluralRules []*struct {\n\t\t\tCommon\n\t\t\tLocales    string `xml:\"locales,attr\"`\n\t\t\tPluralRule []*struct {\n\t\t\t\tCommon\n\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t} `xml:\"pluralRule\"`\n\t\t} `xml:\"pluralRules\"`\n\t\tPluralRanges []*struct {\n\t\t\tCommon\n\t\t\tLocales     string `xml:\"locales,attr\"`\n\t\t\tPluralRange []*struct {\n\t\t\t\tCommon\n\t\t\t\tStart  string `xml:\"start,attr\"`\n\t\t\t\tEnd    string `xml:\"end,attr\"`\n\t\t\t\tResult string `xml:\"result,attr\"`\n\t\t\t} `xml:\"pluralRange\"`\n\t\t} `xml:\"pluralRanges\"`\n\t} `xml:\"plurals\"`\n\tTelephoneCodeData *struct {\n\t\tCommon\n\t\tCodesByTerritory []*struct {\n\t\t\tCommon\n\t\t\tTerritory            string `xml:\"territory,attr\"`\n\t\t\tTelephoneCountryCode []*struct {\n\t\t\t\tCommon\n\t\t\t\tCode string `xml:\"code,attr\"`\n\t\t\t\tFrom string `xml:\"from,attr\"`\n\t\t\t\tTo   string `xml:\"to,attr\"`\n\t\t\t} `xml:\"telephoneCountryCode\"`\n\t\t} `xml:\"codesByTerritory\"`\n\t} `xml:\"telephoneCodeData\"`\n\tNumberingSystems *struct {\n\t\tCommon\n\t\tNumberingSystem []*struct {\n\t\t\tCommon\n\t\t\tId     string `xml:\"id,attr\"`\n\t\t\tRadix  string `xml:\"radix,attr\"`\n\t\t\tDigits string `xml:\"digits,attr\"`\n\t\t\tRules  string `xml:\"rules,attr\"`\n\t\t} `xml:\"numberingSystem\"`\n\t} `xml:\"numberingSystems\"`\n\tBcp47KeywordMappings *struct {\n\t\tCommon\n\t\tMapKeys *struct {\n\t\t\tCommon\n\t\t\tKeyMap []*struct {\n\t\t\t\tCommon\n\t\t\t\tBcp47 string `xml:\"bcp47,attr\"`\n\t\t\t} `xml:\"keyMap\"`\n\t\t} `xml:\"mapKeys\"`\n\t\tMapTypes []*struct {\n\t\t\tCommon\n\t\t\tTypeMap []*struct {\n\t\t\t\tCommon\n\t\t\t\tBcp47 string `xml:\"bcp47,attr\"`\n\t\t\t} `xml:\"typeMap\"`\n\t\t} `xml:\"mapTypes\"`\n\t} `xml:\"bcp47KeywordMappings\"`\n\tGender *struct {\n\t\tCommon\n\t\tPersonList []*struct {\n\t\t\tCommon\n\t\t\tLocales string `xml:\"locales,attr\"`\n\t\t} `xml:\"personList\"`\n\t} `xml:\"gender\"`\n\tReferences *struct {\n\t\tCommon\n\t\tReference []*struct {\n\t\t\tCommon\n\t\t\tUri string `xml:\"uri,attr\"`\n\t\t} `xml:\"reference\"`\n\t} `xml:\"references\"`\n\tLanguageMatching *struct {\n\t\tCommon\n\t\tLanguageMatches []*struct {\n\t\t\tCommon\n\t\t\tParadigmLocales []*struct {\n\t\t\t\tCommon\n\t\t\t\tLocales string `xml:\"locales,attr\"`\n\t\t\t} `xml:\"paradigmLocales\"`\n\t\t\tMatchVariable []*struct {\n\t\t\t\tCommon\n\t\t\t\tId    string `xml:\"id,attr\"`\n\t\t\t\tValue string `xml:\"value,attr\"`\n\t\t\t} `xml:\"matchVariable\"`\n\t\t\tLanguageMatch []*struct {\n\t\t\t\tCommon\n\t\t\t\tDesired   string `xml:\"desired,attr\"`\n\t\t\t\tSupported string `xml:\"supported,attr\"`\n\t\t\t\tPercent   string `xml:\"percent,attr\"`\n\t\t\t\tDistance  string `xml:\"distance,attr\"`\n\t\t\t\tOneway    string `xml:\"oneway,attr\"`\n\t\t\t} `xml:\"languageMatch\"`\n\t\t} `xml:\"languageMatches\"`\n\t} `xml:\"languageMatching\"`\n\tDayPeriodRuleSet []*struct {\n\t\tCommon\n\t\tDayPeriodRules []*struct {\n\t\t\tCommon\n\t\t\tLocales       string `xml:\"locales,attr\"`\n\t\t\tDayPeriodRule []*struct {\n\t\t\t\tCommon\n\t\t\t\tAt     string `xml:\"at,attr\"`\n\t\t\t\tAfter  string `xml:\"after,attr\"`\n\t\t\t\tBefore string `xml:\"before,attr\"`\n\t\t\t\tFrom   string `xml:\"from,attr\"`\n\t\t\t\tTo     string `xml:\"to,attr\"`\n\t\t\t} `xml:\"dayPeriodRule\"`\n\t\t} `xml:\"dayPeriodRules\"`\n\t} `xml:\"dayPeriodRuleSet\"`\n\tMetaZones *struct {\n\t\tCommon\n\t\tMetazoneInfo *struct {\n\t\t\tCommon\n\t\t\tTimezone []*struct {\n\t\t\t\tCommon\n\t\t\t\tUsesMetazone []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tFrom  string `xml:\"from,attr\"`\n\t\t\t\t\tTo    string `xml:\"to,attr\"`\n\t\t\t\t\tMzone string `xml:\"mzone,attr\"`\n\t\t\t\t} `xml:\"usesMetazone\"`\n\t\t\t} `xml:\"timezone\"`\n\t\t} `xml:\"metazoneInfo\"`\n\t\tMapTimezones *struct {\n\t\t\tCommon\n\t\t\tOtherVersion string `xml:\"otherVersion,attr\"`\n\t\t\tTypeVersion  string `xml:\"typeVersion,attr\"`\n\t\t\tMapZone      []*struct {\n\t\t\t\tCommon\n\t\t\t\tOther     string `xml:\"other,attr\"`\n\t\t\t\tTerritory string `xml:\"territory,attr\"`\n\t\t\t} `xml:\"mapZone\"`\n\t\t} `xml:\"mapTimezones\"`\n\t} `xml:\"metaZones\"`\n\tPrimaryZones *struct {\n\t\tCommon\n\t\tPrimaryZone []*struct {\n\t\t\tCommon\n\t\t\tIso3166 string `xml:\"iso3166,attr\"`\n\t\t} `xml:\"primaryZone\"`\n\t} `xml:\"primaryZones\"`\n\tWindowsZones *struct {\n\t\tCommon\n\t\tMapTimezones *struct {\n\t\t\tCommon\n\t\t\tOtherVersion string `xml:\"otherVersion,attr\"`\n\t\t\tTypeVersion  string `xml:\"typeVersion,attr\"`\n\t\t\tMapZone      []*struct {\n\t\t\t\tCommon\n\t\t\t\tOther     string `xml:\"other,attr\"`\n\t\t\t\tTerritory string `xml:\"territory,attr\"`\n\t\t\t} `xml:\"mapZone\"`\n\t\t} `xml:\"mapTimezones\"`\n\t} `xml:\"windowsZones\"`\n\tCoverageLevels *struct {\n\t\tCommon\n\t\tApprovalRequirements *struct {\n\t\t\tCommon\n\t\t\tApprovalRequirement []*struct {\n\t\t\t\tCommon\n\t\t\t\tVotes   string `xml:\"votes,attr\"`\n\t\t\t\tLocales string `xml:\"locales,attr\"`\n\t\t\t\tPaths   string `xml:\"paths,attr\"`\n\t\t\t} `xml:\"approvalRequirement\"`\n\t\t} `xml:\"approvalRequirements\"`\n\t\tCoverageVariable []*struct {\n\t\t\tCommon\n\t\t\tKey   string `xml:\"key,attr\"`\n\t\t\tValue string `xml:\"value,attr\"`\n\t\t} `xml:\"coverageVariable\"`\n\t\tCoverageLevel []*struct {\n\t\t\tCommon\n\t\t\tInLanguage  string `xml:\"inLanguage,attr\"`\n\t\t\tInScript    string `xml:\"inScript,attr\"`\n\t\t\tInTerritory string `xml:\"inTerritory,attr\"`\n\t\t\tValue       string `xml:\"value,attr\"`\n\t\t\tMatch       string `xml:\"match,attr\"`\n\t\t} `xml:\"coverageLevel\"`\n\t} `xml:\"coverageLevels\"`\n\tIdValidity *struct {\n\t\tCommon\n\t\tId []*struct {\n\t\t\tCommon\n\t\t\tIdStatus string `xml:\"idStatus,attr\"`\n\t\t} `xml:\"id\"`\n\t} `xml:\"idValidity\"`\n\tRgScope *struct {\n\t\tCommon\n\t\tRgPath []*struct {\n\t\t\tCommon\n\t\t\tPath string `xml:\"path,attr\"`\n\t\t} `xml:\"rgPath\"`\n\t} `xml:\"rgScope\"`\n\tLanguageGroups *struct {\n\t\tCommon\n\t\tLanguageGroup []*struct {\n\t\t\tCommon\n\t\t\tParent string `xml:\"parent,attr\"`\n\t\t} `xml:\"languageGroup\"`\n\t} `xml:\"languageGroups\"`\n}\n\n// LDML is the top-level type for locale-specific data.\ntype LDML struct {\n\tCommon\n\tVersion  string `xml:\"version,attr\"`\n\tIdentity *struct {\n\t\tCommon\n\t\tVersion *struct {\n\t\t\tCommon\n\t\t\tNumber string `xml:\"number,attr\"`\n\t\t} `xml:\"version\"`\n\t\tGeneration *struct {\n\t\t\tCommon\n\t\t\tDate string `xml:\"date,attr\"`\n\t\t} `xml:\"generation\"`\n\t\tLanguage  *Common `xml:\"language\"`\n\t\tScript    *Common `xml:\"script\"`\n\t\tTerritory *Common `xml:\"territory\"`\n\t\tVariant   *Common `xml:\"variant\"`\n\t} `xml:\"identity\"`\n\tLocaleDisplayNames *LocaleDisplayNames `xml:\"localeDisplayNames\"`\n\tLayout             *struct {\n\t\tCommon\n\t\tOrientation []*struct {\n\t\t\tCommon\n\t\t\tCharacters     string    `xml:\"characters,attr\"`\n\t\t\tLines          string    `xml:\"lines,attr\"`\n\t\t\tCharacterOrder []*Common `xml:\"characterOrder\"`\n\t\t\tLineOrder      []*Common `xml:\"lineOrder\"`\n\t\t} `xml:\"orientation\"`\n\t\tInList []*struct {\n\t\t\tCommon\n\t\t\tCasing string `xml:\"casing,attr\"`\n\t\t} `xml:\"inList\"`\n\t\tInText []*Common `xml:\"inText\"`\n\t} `xml:\"layout\"`\n\tContextTransforms *struct {\n\t\tCommon\n\t\tContextTransformUsage []*struct {\n\t\t\tCommon\n\t\t\tContextTransform []*Common `xml:\"contextTransform\"`\n\t\t} `xml:\"contextTransformUsage\"`\n\t} `xml:\"contextTransforms\"`\n\tCharacters *struct {\n\t\tCommon\n\t\tExemplarCharacters []*Common `xml:\"exemplarCharacters\"`\n\t\tEllipsis           []*Common `xml:\"ellipsis\"`\n\t\tMoreInformation    []*Common `xml:\"moreInformation\"`\n\t\tStopwords          []*struct {\n\t\t\tCommon\n\t\t\tStopwordList []*Common `xml:\"stopwordList\"`\n\t\t} `xml:\"stopwords\"`\n\t\tIndexLabels []*struct {\n\t\t\tCommon\n\t\t\tIndexSeparator           []*Common `xml:\"indexSeparator\"`\n\t\t\tCompressedIndexSeparator []*Common `xml:\"compressedIndexSeparator\"`\n\t\t\tIndexRangePattern        []*Common `xml:\"indexRangePattern\"`\n\t\t\tIndexLabelBefore         []*Common `xml:\"indexLabelBefore\"`\n\t\t\tIndexLabelAfter          []*Common `xml:\"indexLabelAfter\"`\n\t\t\tIndexLabel               []*struct {\n\t\t\t\tCommon\n\t\t\t\tIndexSource string `xml:\"indexSource,attr\"`\n\t\t\t\tPriority    string `xml:\"priority,attr\"`\n\t\t\t} `xml:\"indexLabel\"`\n\t\t} `xml:\"indexLabels\"`\n\t\tMapping []*struct {\n\t\t\tCommon\n\t\t\tRegistry string `xml:\"registry,attr\"`\n\t\t} `xml:\"mapping\"`\n\t\tParseLenients []*struct {\n\t\t\tCommon\n\t\t\tScope        string `xml:\"scope,attr\"`\n\t\t\tLevel        string `xml:\"level,attr\"`\n\t\t\tParseLenient []*struct {\n\t\t\t\tCommon\n\t\t\t\tSample string `xml:\"sample,attr\"`\n\t\t\t} `xml:\"parseLenient\"`\n\t\t} `xml:\"parseLenients\"`\n\t} `xml:\"characters\"`\n\tDelimiters *struct {\n\t\tCommon\n\t\tQuotationStart          []*Common `xml:\"quotationStart\"`\n\t\tQuotationEnd            []*Common `xml:\"quotationEnd\"`\n\t\tAlternateQuotationStart []*Common `xml:\"alternateQuotationStart\"`\n\t\tAlternateQuotationEnd   []*Common `xml:\"alternateQuotationEnd\"`\n\t} `xml:\"delimiters\"`\n\tMeasurement *struct {\n\t\tCommon\n\t\tMeasurementSystem []*Common `xml:\"measurementSystem\"`\n\t\tPaperSize         []*struct {\n\t\t\tCommon\n\t\t\tHeight []*Common `xml:\"height\"`\n\t\t\tWidth  []*Common `xml:\"width\"`\n\t\t} `xml:\"paperSize\"`\n\t} `xml:\"measurement\"`\n\tDates *struct {\n\t\tCommon\n\t\tLocalizedPatternChars []*Common `xml:\"localizedPatternChars\"`\n\t\tDateRangePattern      []*Common `xml:\"dateRangePattern\"`\n\t\tCalendars             *struct {\n\t\t\tCommon\n\t\t\tCalendar []*Calendar `xml:\"calendar\"`\n\t\t} `xml:\"calendars\"`\n\t\tFields *struct {\n\t\t\tCommon\n\t\t\tField []*struct {\n\t\t\t\tCommon\n\t\t\t\tDisplayName []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"displayName\"`\n\t\t\t\tRelative     []*Common `xml:\"relative\"`\n\t\t\t\tRelativeTime []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tRelativeTimePattern []*struct {\n\t\t\t\t\t\tCommon\n\t\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t\t} `xml:\"relativeTimePattern\"`\n\t\t\t\t} `xml:\"relativeTime\"`\n\t\t\t\tRelativePeriod []*Common `xml:\"relativePeriod\"`\n\t\t\t} `xml:\"field\"`\n\t\t} `xml:\"fields\"`\n\t\tTimeZoneNames *TimeZoneNames `xml:\"timeZoneNames\"`\n\t} `xml:\"dates\"`\n\tNumbers *Numbers `xml:\"numbers\"`\n\tUnits   *struct {\n\t\tCommon\n\t\tUnit []*struct {\n\t\t\tCommon\n\t\t\tDisplayName []*struct {\n\t\t\t\tCommon\n\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t} `xml:\"displayName\"`\n\t\t\tUnitPattern []*struct {\n\t\t\t\tCommon\n\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t} `xml:\"unitPattern\"`\n\t\t\tPerUnitPattern []*Common `xml:\"perUnitPattern\"`\n\t\t} `xml:\"unit\"`\n\t\tUnitLength []*struct {\n\t\t\tCommon\n\t\t\tCompoundUnit []*struct {\n\t\t\t\tCommon\n\t\t\t\tCompoundUnitPattern []*Common `xml:\"compoundUnitPattern\"`\n\t\t\t} `xml:\"compoundUnit\"`\n\t\t\tUnit []*struct {\n\t\t\t\tCommon\n\t\t\t\tDisplayName []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"displayName\"`\n\t\t\t\tUnitPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"unitPattern\"`\n\t\t\t\tPerUnitPattern []*Common `xml:\"perUnitPattern\"`\n\t\t\t} `xml:\"unit\"`\n\t\t\tCoordinateUnit []*struct {\n\t\t\t\tCommon\n\t\t\t\tCoordinateUnitPattern []*Common `xml:\"coordinateUnitPattern\"`\n\t\t\t} `xml:\"coordinateUnit\"`\n\t\t} `xml:\"unitLength\"`\n\t\tDurationUnit []*struct {\n\t\t\tCommon\n\t\t\tDurationUnitPattern []*Common `xml:\"durationUnitPattern\"`\n\t\t} `xml:\"durationUnit\"`\n\t} `xml:\"units\"`\n\tListPatterns *struct {\n\t\tCommon\n\t\tListPattern []*struct {\n\t\t\tCommon\n\t\t\tListPatternPart []*Common `xml:\"listPatternPart\"`\n\t\t} `xml:\"listPattern\"`\n\t} `xml:\"listPatterns\"`\n\tCollations *struct {\n\t\tCommon\n\t\tVersion          string       `xml:\"version,attr\"`\n\t\tDefaultCollation *Common      `xml:\"defaultCollation\"`\n\t\tCollation        []*Collation `xml:\"collation\"`\n\t} `xml:\"collations\"`\n\tPosix *struct {\n\t\tCommon\n\t\tMessages []*struct {\n\t\t\tCommon\n\t\t\tYesstr  []*Common `xml:\"yesstr\"`\n\t\t\tNostr   []*Common `xml:\"nostr\"`\n\t\t\tYesexpr []*Common `xml:\"yesexpr\"`\n\t\t\tNoexpr  []*Common `xml:\"noexpr\"`\n\t\t} `xml:\"messages\"`\n\t} `xml:\"posix\"`\n\tCharacterLabels *struct {\n\t\tCommon\n\t\tCharacterLabelPattern []*struct {\n\t\t\tCommon\n\t\t\tCount string `xml:\"count,attr\"`\n\t\t} `xml:\"characterLabelPattern\"`\n\t\tCharacterLabel []*Common `xml:\"characterLabel\"`\n\t} `xml:\"characterLabels\"`\n\tSegmentations *struct {\n\t\tCommon\n\t\tSegmentation []*struct {\n\t\t\tCommon\n\t\t\tVariables *struct {\n\t\t\t\tCommon\n\t\t\t\tVariable []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tId string `xml:\"id,attr\"`\n\t\t\t\t} `xml:\"variable\"`\n\t\t\t} `xml:\"variables\"`\n\t\t\tSegmentRules *struct {\n\t\t\t\tCommon\n\t\t\t\tRule []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tId string `xml:\"id,attr\"`\n\t\t\t\t} `xml:\"rule\"`\n\t\t\t} `xml:\"segmentRules\"`\n\t\t\tExceptions *struct {\n\t\t\t\tCommon\n\t\t\t\tException []*Common `xml:\"exception\"`\n\t\t\t} `xml:\"exceptions\"`\n\t\t\tSuppressions *struct {\n\t\t\t\tCommon\n\t\t\t\tSuppression []*Common `xml:\"suppression\"`\n\t\t\t} `xml:\"suppressions\"`\n\t\t} `xml:\"segmentation\"`\n\t} `xml:\"segmentations\"`\n\tRbnf *struct {\n\t\tCommon\n\t\tRulesetGrouping []*struct {\n\t\t\tCommon\n\t\t\tRuleset []*struct {\n\t\t\t\tCommon\n\t\t\t\tAccess        string `xml:\"access,attr\"`\n\t\t\t\tAllowsParsing string `xml:\"allowsParsing,attr\"`\n\t\t\t\tRbnfrule      []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tValue  string `xml:\"value,attr\"`\n\t\t\t\t\tRadix  string `xml:\"radix,attr\"`\n\t\t\t\t\tDecexp string `xml:\"decexp,attr\"`\n\t\t\t\t} `xml:\"rbnfrule\"`\n\t\t\t} `xml:\"ruleset\"`\n\t\t} `xml:\"rulesetGrouping\"`\n\t} `xml:\"rbnf\"`\n\tAnnotations *struct {\n\t\tCommon\n\t\tAnnotation []*struct {\n\t\t\tCommon\n\t\t\tCp  string `xml:\"cp,attr\"`\n\t\t\tTts string `xml:\"tts,attr\"`\n\t\t} `xml:\"annotation\"`\n\t} `xml:\"annotations\"`\n\tMetadata *struct {\n\t\tCommon\n\t\tCasingData *struct {\n\t\t\tCommon\n\t\t\tCasingItem []*struct {\n\t\t\t\tCommon\n\t\t\t\tOverride   string `xml:\"override,attr\"`\n\t\t\t\tForceError string `xml:\"forceError,attr\"`\n\t\t\t} `xml:\"casingItem\"`\n\t\t} `xml:\"casingData\"`\n\t} `xml:\"metadata\"`\n\tReferences *struct {\n\t\tCommon\n\t\tReference []*struct {\n\t\t\tCommon\n\t\t\tUri string `xml:\"uri,attr\"`\n\t\t} `xml:\"reference\"`\n\t} `xml:\"references\"`\n}\n\n// Collation contains rules that specify a certain sort-order,\n// as a tailoring of the root order.\n// The parsed rules are obtained by passing a RuleProcessor to Collation's\n// Process method.\ntype Collation struct {\n\tCommon\n\tVisibility string  `xml:\"visibility,attr\"`\n\tBase       *Common `xml:\"base\"`\n\tImport     []*struct {\n\t\tCommon\n\t\tSource string `xml:\"source,attr\"`\n\t} `xml:\"import\"`\n\tSettings *struct {\n\t\tCommon\n\t\tStrength           string `xml:\"strength,attr\"`\n\t\tAlternate          string `xml:\"alternate,attr\"`\n\t\tBackwards          string `xml:\"backwards,attr\"`\n\t\tNormalization      string `xml:\"normalization,attr\"`\n\t\tCaseLevel          string `xml:\"caseLevel,attr\"`\n\t\tCaseFirst          string `xml:\"caseFirst,attr\"`\n\t\tHiraganaQuaternary string `xml:\"hiraganaQuaternary,attr\"`\n\t\tMaxVariable        string `xml:\"maxVariable,attr\"`\n\t\tNumeric            string `xml:\"numeric,attr\"`\n\t\tPrivate            string `xml:\"private,attr\"`\n\t\tVariableTop        string `xml:\"variableTop,attr\"`\n\t\tReorder            string `xml:\"reorder,attr\"`\n\t} `xml:\"settings\"`\n\tSuppressContractions *Common   `xml:\"suppress_contractions\"`\n\tOptimize             *Common   `xml:\"optimize\"`\n\tCr                   []*Common `xml:\"cr\"`\n\trulesElem\n}\n\n// Calendar specifies the fields used for formatting and parsing dates and times.\n// The month and quarter names are identified numerically, starting at 1.\n// The day (of the week) names are identified with short strings, since there is\n// no universally-accepted numeric designation.\ntype Calendar struct {\n\tCommon\n\tMonths *struct {\n\t\tCommon\n\t\tMonthContext []*struct {\n\t\t\tCommon\n\t\t\tMonthWidth []*struct {\n\t\t\t\tCommon\n\t\t\t\tMonth []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tYeartype string `xml:\"yeartype,attr\"`\n\t\t\t\t} `xml:\"month\"`\n\t\t\t} `xml:\"monthWidth\"`\n\t\t} `xml:\"monthContext\"`\n\t} `xml:\"months\"`\n\tMonthNames *struct {\n\t\tCommon\n\t\tMonth []*struct {\n\t\t\tCommon\n\t\t\tYeartype string `xml:\"yeartype,attr\"`\n\t\t} `xml:\"month\"`\n\t} `xml:\"monthNames\"`\n\tMonthAbbr *struct {\n\t\tCommon\n\t\tMonth []*struct {\n\t\t\tCommon\n\t\t\tYeartype string `xml:\"yeartype,attr\"`\n\t\t} `xml:\"month\"`\n\t} `xml:\"monthAbbr\"`\n\tMonthPatterns *struct {\n\t\tCommon\n\t\tMonthPatternContext []*struct {\n\t\t\tCommon\n\t\t\tMonthPatternWidth []*struct {\n\t\t\t\tCommon\n\t\t\t\tMonthPattern []*Common `xml:\"monthPattern\"`\n\t\t\t} `xml:\"monthPatternWidth\"`\n\t\t} `xml:\"monthPatternContext\"`\n\t} `xml:\"monthPatterns\"`\n\tDays *struct {\n\t\tCommon\n\t\tDayContext []*struct {\n\t\t\tCommon\n\t\t\tDayWidth []*struct {\n\t\t\t\tCommon\n\t\t\t\tDay []*Common `xml:\"day\"`\n\t\t\t} `xml:\"dayWidth\"`\n\t\t} `xml:\"dayContext\"`\n\t} `xml:\"days\"`\n\tDayNames *struct {\n\t\tCommon\n\t\tDay []*Common `xml:\"day\"`\n\t} `xml:\"dayNames\"`\n\tDayAbbr *struct {\n\t\tCommon\n\t\tDay []*Common `xml:\"day\"`\n\t} `xml:\"dayAbbr\"`\n\tQuarters *struct {\n\t\tCommon\n\t\tQuarterContext []*struct {\n\t\t\tCommon\n\t\t\tQuarterWidth []*struct {\n\t\t\t\tCommon\n\t\t\t\tQuarter []*Common `xml:\"quarter\"`\n\t\t\t} `xml:\"quarterWidth\"`\n\t\t} `xml:\"quarterContext\"`\n\t} `xml:\"quarters\"`\n\tWeek *struct {\n\t\tCommon\n\t\tMinDays []*struct {\n\t\t\tCommon\n\t\t\tCount string `xml:\"count,attr\"`\n\t\t} `xml:\"minDays\"`\n\t\tFirstDay []*struct {\n\t\t\tCommon\n\t\t\tDay string `xml:\"day,attr\"`\n\t\t} `xml:\"firstDay\"`\n\t\tWeekendStart []*struct {\n\t\t\tCommon\n\t\t\tDay  string `xml:\"day,attr\"`\n\t\t\tTime string `xml:\"time,attr\"`\n\t\t} `xml:\"weekendStart\"`\n\t\tWeekendEnd []*struct {\n\t\t\tCommon\n\t\t\tDay  string `xml:\"day,attr\"`\n\t\t\tTime string `xml:\"time,attr\"`\n\t\t} `xml:\"weekendEnd\"`\n\t} `xml:\"week\"`\n\tAm         []*Common `xml:\"am\"`\n\tPm         []*Common `xml:\"pm\"`\n\tDayPeriods *struct {\n\t\tCommon\n\t\tDayPeriodContext []*struct {\n\t\t\tCommon\n\t\t\tDayPeriodWidth []*struct {\n\t\t\t\tCommon\n\t\t\t\tDayPeriod []*Common `xml:\"dayPeriod\"`\n\t\t\t} `xml:\"dayPeriodWidth\"`\n\t\t} `xml:\"dayPeriodContext\"`\n\t} `xml:\"dayPeriods\"`\n\tEras *struct {\n\t\tCommon\n\t\tEraNames *struct {\n\t\t\tCommon\n\t\t\tEra []*Common `xml:\"era\"`\n\t\t} `xml:\"eraNames\"`\n\t\tEraAbbr *struct {\n\t\t\tCommon\n\t\t\tEra []*Common `xml:\"era\"`\n\t\t} `xml:\"eraAbbr\"`\n\t\tEraNarrow *struct {\n\t\t\tCommon\n\t\t\tEra []*Common `xml:\"era\"`\n\t\t} `xml:\"eraNarrow\"`\n\t} `xml:\"eras\"`\n\tCyclicNameSets *struct {\n\t\tCommon\n\t\tCyclicNameSet []*struct {\n\t\t\tCommon\n\t\t\tCyclicNameContext []*struct {\n\t\t\t\tCommon\n\t\t\t\tCyclicNameWidth []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCyclicName []*Common `xml:\"cyclicName\"`\n\t\t\t\t} `xml:\"cyclicNameWidth\"`\n\t\t\t} `xml:\"cyclicNameContext\"`\n\t\t} `xml:\"cyclicNameSet\"`\n\t} `xml:\"cyclicNameSets\"`\n\tDateFormats *struct {\n\t\tCommon\n\t\tDateFormatLength []*struct {\n\t\t\tCommon\n\t\t\tDateFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t\tDisplayName []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"displayName\"`\n\t\t\t} `xml:\"dateFormat\"`\n\t\t} `xml:\"dateFormatLength\"`\n\t} `xml:\"dateFormats\"`\n\tTimeFormats *struct {\n\t\tCommon\n\t\tTimeFormatLength []*struct {\n\t\t\tCommon\n\t\t\tTimeFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t\tDisplayName []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"displayName\"`\n\t\t\t} `xml:\"timeFormat\"`\n\t\t} `xml:\"timeFormatLength\"`\n\t} `xml:\"timeFormats\"`\n\tDateTimeFormats *struct {\n\t\tCommon\n\t\tDateTimeFormatLength []*struct {\n\t\t\tCommon\n\t\t\tDateTimeFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t\tDisplayName []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"displayName\"`\n\t\t\t} `xml:\"dateTimeFormat\"`\n\t\t} `xml:\"dateTimeFormatLength\"`\n\t\tAvailableFormats []*struct {\n\t\t\tCommon\n\t\t\tDateFormatItem []*struct {\n\t\t\t\tCommon\n\t\t\t\tId    string `xml:\"id,attr\"`\n\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t} `xml:\"dateFormatItem\"`\n\t\t} `xml:\"availableFormats\"`\n\t\tAppendItems []*struct {\n\t\t\tCommon\n\t\t\tAppendItem []*struct {\n\t\t\t\tCommon\n\t\t\t\tRequest string `xml:\"request,attr\"`\n\t\t\t} `xml:\"appendItem\"`\n\t\t} `xml:\"appendItems\"`\n\t\tIntervalFormats []*struct {\n\t\t\tCommon\n\t\t\tIntervalFormatFallback []*Common `xml:\"intervalFormatFallback\"`\n\t\t\tIntervalFormatItem     []*struct {\n\t\t\t\tCommon\n\t\t\t\tId                 string `xml:\"id,attr\"`\n\t\t\t\tGreatestDifference []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tId string `xml:\"id,attr\"`\n\t\t\t\t} `xml:\"greatestDifference\"`\n\t\t\t} `xml:\"intervalFormatItem\"`\n\t\t} `xml:\"intervalFormats\"`\n\t} `xml:\"dateTimeFormats\"`\n\tFields []*struct {\n\t\tCommon\n\t\tField []*struct {\n\t\t\tCommon\n\t\t\tDisplayName []*struct {\n\t\t\t\tCommon\n\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t} `xml:\"displayName\"`\n\t\t\tRelative     []*Common `xml:\"relative\"`\n\t\t\tRelativeTime []*struct {\n\t\t\t\tCommon\n\t\t\t\tRelativeTimePattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"relativeTimePattern\"`\n\t\t\t} `xml:\"relativeTime\"`\n\t\t\tRelativePeriod []*Common `xml:\"relativePeriod\"`\n\t\t} `xml:\"field\"`\n\t} `xml:\"fields\"`\n}\ntype TimeZoneNames struct {\n\tCommon\n\tHourFormat           []*Common `xml:\"hourFormat\"`\n\tHoursFormat          []*Common `xml:\"hoursFormat\"`\n\tGmtFormat            []*Common `xml:\"gmtFormat\"`\n\tGmtZeroFormat        []*Common `xml:\"gmtZeroFormat\"`\n\tRegionFormat         []*Common `xml:\"regionFormat\"`\n\tFallbackFormat       []*Common `xml:\"fallbackFormat\"`\n\tFallbackRegionFormat []*Common `xml:\"fallbackRegionFormat\"`\n\tAbbreviationFallback []*Common `xml:\"abbreviationFallback\"`\n\tPreferenceOrdering   []*Common `xml:\"preferenceOrdering\"`\n\tSingleCountries      []*struct {\n\t\tCommon\n\t\tList string `xml:\"list,attr\"`\n\t} `xml:\"singleCountries\"`\n\tZone []*struct {\n\t\tCommon\n\t\tLong []*struct {\n\t\t\tCommon\n\t\t\tGeneric  []*Common `xml:\"generic\"`\n\t\t\tStandard []*Common `xml:\"standard\"`\n\t\t\tDaylight []*Common `xml:\"daylight\"`\n\t\t} `xml:\"long\"`\n\t\tShort []*struct {\n\t\t\tCommon\n\t\t\tGeneric  []*Common `xml:\"generic\"`\n\t\t\tStandard []*Common `xml:\"standard\"`\n\t\t\tDaylight []*Common `xml:\"daylight\"`\n\t\t} `xml:\"short\"`\n\t\tCommonlyUsed []*struct {\n\t\t\tCommon\n\t\t\tUsed string `xml:\"used,attr\"`\n\t\t} `xml:\"commonlyUsed\"`\n\t\tExemplarCity []*Common `xml:\"exemplarCity\"`\n\t} `xml:\"zone\"`\n\tMetazone []*struct {\n\t\tCommon\n\t\tLong []*struct {\n\t\t\tCommon\n\t\t\tGeneric  []*Common `xml:\"generic\"`\n\t\t\tStandard []*Common `xml:\"standard\"`\n\t\t\tDaylight []*Common `xml:\"daylight\"`\n\t\t} `xml:\"long\"`\n\t\tShort []*struct {\n\t\t\tCommon\n\t\t\tGeneric  []*Common `xml:\"generic\"`\n\t\t\tStandard []*Common `xml:\"standard\"`\n\t\t\tDaylight []*Common `xml:\"daylight\"`\n\t\t} `xml:\"short\"`\n\t\tCommonlyUsed []*struct {\n\t\t\tCommon\n\t\t\tUsed string `xml:\"used,attr\"`\n\t\t} `xml:\"commonlyUsed\"`\n\t} `xml:\"metazone\"`\n}\n\n// LocaleDisplayNames specifies localized display names for for scripts, languages,\n// countries, currencies, and variants.\ntype LocaleDisplayNames struct {\n\tCommon\n\tLocaleDisplayPattern *struct {\n\t\tCommon\n\t\tLocalePattern        []*Common `xml:\"localePattern\"`\n\t\tLocaleSeparator      []*Common `xml:\"localeSeparator\"`\n\t\tLocaleKeyTypePattern []*Common `xml:\"localeKeyTypePattern\"`\n\t} `xml:\"localeDisplayPattern\"`\n\tLanguages *struct {\n\t\tCommon\n\t\tLanguage []*Common `xml:\"language\"`\n\t} `xml:\"languages\"`\n\tScripts *struct {\n\t\tCommon\n\t\tScript []*Common `xml:\"script\"`\n\t} `xml:\"scripts\"`\n\tTerritories *struct {\n\t\tCommon\n\t\tTerritory []*Common `xml:\"territory\"`\n\t} `xml:\"territories\"`\n\tSubdivisions *struct {\n\t\tCommon\n\t\tSubdivision []*Common `xml:\"subdivision\"`\n\t} `xml:\"subdivisions\"`\n\tVariants *struct {\n\t\tCommon\n\t\tVariant []*Common `xml:\"variant\"`\n\t} `xml:\"variants\"`\n\tKeys *struct {\n\t\tCommon\n\t\tKey []*Common `xml:\"key\"`\n\t} `xml:\"keys\"`\n\tTypes *struct {\n\t\tCommon\n\t\tType []*struct {\n\t\t\tCommon\n\t\t\tKey string `xml:\"key,attr\"`\n\t\t} `xml:\"type\"`\n\t} `xml:\"types\"`\n\tTransformNames *struct {\n\t\tCommon\n\t\tTransformName []*Common `xml:\"transformName\"`\n\t} `xml:\"transformNames\"`\n\tMeasurementSystemNames *struct {\n\t\tCommon\n\t\tMeasurementSystemName []*Common `xml:\"measurementSystemName\"`\n\t} `xml:\"measurementSystemNames\"`\n\tCodePatterns *struct {\n\t\tCommon\n\t\tCodePattern []*Common `xml:\"codePattern\"`\n\t} `xml:\"codePatterns\"`\n}\n\n// Numbers supplies information for formatting and parsing numbers and currencies.\ntype Numbers struct {\n\tCommon\n\tDefaultNumberingSystem []*Common `xml:\"defaultNumberingSystem\"`\n\tOtherNumberingSystems  []*struct {\n\t\tCommon\n\t\tNative      []*Common `xml:\"native\"`\n\t\tTraditional []*Common `xml:\"traditional\"`\n\t\tFinance     []*Common `xml:\"finance\"`\n\t} `xml:\"otherNumberingSystems\"`\n\tMinimumGroupingDigits []*Common `xml:\"minimumGroupingDigits\"`\n\tSymbols               []*struct {\n\t\tCommon\n\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\tDecimal      []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"decimal\"`\n\t\tGroup []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"group\"`\n\t\tList []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"list\"`\n\t\tPercentSign []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"percentSign\"`\n\t\tNativeZeroDigit []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"nativeZeroDigit\"`\n\t\tPatternDigit []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"patternDigit\"`\n\t\tPlusSign []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"plusSign\"`\n\t\tMinusSign []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"minusSign\"`\n\t\tExponential []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"exponential\"`\n\t\tSuperscriptingExponent []*Common `xml:\"superscriptingExponent\"`\n\t\tPerMille               []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"perMille\"`\n\t\tInfinity []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"infinity\"`\n\t\tNan []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"nan\"`\n\t\tCurrencyDecimal []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"currencyDecimal\"`\n\t\tCurrencyGroup []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"currencyGroup\"`\n\t\tTimeSeparator []*Common `xml:\"timeSeparator\"`\n\t} `xml:\"symbols\"`\n\tDecimalFormats []*struct {\n\t\tCommon\n\t\tNumberSystem        string `xml:\"numberSystem,attr\"`\n\t\tDecimalFormatLength []*struct {\n\t\t\tCommon\n\t\t\tDecimalFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t} `xml:\"decimalFormat\"`\n\t\t} `xml:\"decimalFormatLength\"`\n\t} `xml:\"decimalFormats\"`\n\tScientificFormats []*struct {\n\t\tCommon\n\t\tNumberSystem           string `xml:\"numberSystem,attr\"`\n\t\tScientificFormatLength []*struct {\n\t\t\tCommon\n\t\t\tScientificFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t} `xml:\"scientificFormat\"`\n\t\t} `xml:\"scientificFormatLength\"`\n\t} `xml:\"scientificFormats\"`\n\tPercentFormats []*struct {\n\t\tCommon\n\t\tNumberSystem        string `xml:\"numberSystem,attr\"`\n\t\tPercentFormatLength []*struct {\n\t\t\tCommon\n\t\t\tPercentFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t} `xml:\"percentFormat\"`\n\t\t} `xml:\"percentFormatLength\"`\n\t} `xml:\"percentFormats\"`\n\tCurrencyFormats []*struct {\n\t\tCommon\n\t\tNumberSystem    string `xml:\"numberSystem,attr\"`\n\t\tCurrencySpacing []*struct {\n\t\t\tCommon\n\t\t\tBeforeCurrency []*struct {\n\t\t\t\tCommon\n\t\t\t\tCurrencyMatch    []*Common `xml:\"currencyMatch\"`\n\t\t\t\tSurroundingMatch []*Common `xml:\"surroundingMatch\"`\n\t\t\t\tInsertBetween    []*Common `xml:\"insertBetween\"`\n\t\t\t} `xml:\"beforeCurrency\"`\n\t\t\tAfterCurrency []*struct {\n\t\t\t\tCommon\n\t\t\t\tCurrencyMatch    []*Common `xml:\"currencyMatch\"`\n\t\t\t\tSurroundingMatch []*Common `xml:\"surroundingMatch\"`\n\t\t\t\tInsertBetween    []*Common `xml:\"insertBetween\"`\n\t\t\t} `xml:\"afterCurrency\"`\n\t\t} `xml:\"currencySpacing\"`\n\t\tCurrencyFormatLength []*struct {\n\t\t\tCommon\n\t\t\tCurrencyFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t} `xml:\"currencyFormat\"`\n\t\t} `xml:\"currencyFormatLength\"`\n\t\tUnitPattern []*struct {\n\t\t\tCommon\n\t\t\tCount string `xml:\"count,attr\"`\n\t\t} `xml:\"unitPattern\"`\n\t} `xml:\"currencyFormats\"`\n\tCurrencies *struct {\n\t\tCommon\n\t\tCurrency []*struct {\n\t\t\tCommon\n\t\t\tPattern []*struct {\n\t\t\t\tCommon\n\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t} `xml:\"pattern\"`\n\t\t\tDisplayName []*struct {\n\t\t\t\tCommon\n\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t} `xml:\"displayName\"`\n\t\t\tSymbol  []*Common `xml:\"symbol\"`\n\t\t\tDecimal []*struct {\n\t\t\t\tCommon\n\t\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t\t} `xml:\"decimal\"`\n\t\t\tGroup []*struct {\n\t\t\t\tCommon\n\t\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t\t} `xml:\"group\"`\n\t\t} `xml:\"currency\"`\n\t} `xml:\"currencies\"`\n\tMiscPatterns []*struct {\n\t\tCommon\n\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\tPattern      []*struct {\n\t\t\tCommon\n\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\tCount   string `xml:\"count,attr\"`\n\t\t} `xml:\"pattern\"`\n\t} `xml:\"miscPatterns\"`\n\tMinimalPairs []*struct {\n\t\tCommon\n\t\tPluralMinimalPairs []*struct {\n\t\t\tCommon\n\t\t\tCount string `xml:\"count,attr\"`\n\t\t} `xml:\"pluralMinimalPairs\"`\n\t\tOrdinalMinimalPairs []*struct {\n\t\t\tCommon\n\t\t\tOrdinal string `xml:\"ordinal,attr\"`\n\t\t} `xml:\"ordinalMinimalPairs\"`\n\t} `xml:\"minimalPairs\"`\n}\n\n// Version is the version of CLDR from which the XML definitions are generated.\nconst Version = \"32\"\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/doc.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// unicode holds packages with implementations of Unicode standards that are\n// mostly used as building blocks for other packages in golang.org/x/text,\n// layout engines, or are otherwise more low-level in nature.\npackage unicode\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/composition.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\nimport \"unicode/utf8\"\n\nconst (\n\tmaxNonStarters = 30\n\t// The maximum number of characters needed for a buffer is\n\t// maxNonStarters + 1 for the starter + 1 for the GCJ\n\tmaxBufferSize    = maxNonStarters + 2\n\tmaxNFCExpansion  = 3  // NFC(0x1D160)\n\tmaxNFKCExpansion = 18 // NFKC(0xFDFA)\n\n\tmaxByteBufferSize = utf8.UTFMax * maxBufferSize // 128\n)\n\n// ssState is used for reporting the segment state after inserting a rune.\n// It is returned by streamSafe.next.\ntype ssState int\n\nconst (\n\t// Indicates a rune was successfully added to the segment.\n\tssSuccess ssState = iota\n\t// Indicates a rune starts a new segment and should not be added.\n\tssStarter\n\t// Indicates a rune caused a segment overflow and a CGJ should be inserted.\n\tssOverflow\n)\n\n// streamSafe implements the policy of when a CGJ should be inserted.\ntype streamSafe uint8\n\n// first inserts the first rune of a segment. It is a faster version of next if\n// it is known p represents the first rune in a segment.\nfunc (ss *streamSafe) first(p Properties) {\n\t*ss = streamSafe(p.nTrailingNonStarters())\n}\n\n// insert returns a ssState value to indicate whether a rune represented by p\n// can be inserted.\nfunc (ss *streamSafe) next(p Properties) ssState {\n\tif *ss > maxNonStarters {\n\t\tpanic(\"streamSafe was not reset\")\n\t}\n\tn := p.nLeadingNonStarters()\n\tif *ss += streamSafe(n); *ss > maxNonStarters {\n\t\t*ss = 0\n\t\treturn ssOverflow\n\t}\n\t// The Stream-Safe Text Processing prescribes that the counting can stop\n\t// as soon as a starter is encountered. However, there are some starters,\n\t// like Jamo V and T, that can combine with other runes, leaving their\n\t// successive non-starters appended to the previous, possibly causing an\n\t// overflow. We will therefore consider any rune with a non-zero nLead to\n\t// be a non-starter. Note that it always hold that if nLead > 0 then\n\t// nLead == nTrail.\n\tif n == 0 {\n\t\t*ss = streamSafe(p.nTrailingNonStarters())\n\t\treturn ssStarter\n\t}\n\treturn ssSuccess\n}\n\n// backwards is used for checking for overflow and segment starts\n// when traversing a string backwards. Users do not need to call first\n// for the first rune. The state of the streamSafe retains the count of\n// the non-starters loaded.\nfunc (ss *streamSafe) backwards(p Properties) ssState {\n\tif *ss > maxNonStarters {\n\t\tpanic(\"streamSafe was not reset\")\n\t}\n\tc := *ss + streamSafe(p.nTrailingNonStarters())\n\tif c > maxNonStarters {\n\t\treturn ssOverflow\n\t}\n\t*ss = c\n\tif p.nLeadingNonStarters() == 0 {\n\t\treturn ssStarter\n\t}\n\treturn ssSuccess\n}\n\nfunc (ss streamSafe) isMax() bool {\n\treturn ss == maxNonStarters\n}\n\n// GraphemeJoiner is inserted after maxNonStarters non-starter runes.\nconst GraphemeJoiner = \"\\u034F\"\n\n// reorderBuffer is used to normalize a single segment.  Characters inserted with\n// insert are decomposed and reordered based on CCC. The compose method can\n// be used to recombine characters.  Note that the byte buffer does not hold\n// the UTF-8 characters in order.  Only the rune array is maintained in sorted\n// order. flush writes the resulting segment to a byte array.\ntype reorderBuffer struct {\n\trune  [maxBufferSize]Properties // Per character info.\n\tbyte  [maxByteBufferSize]byte   // UTF-8 buffer. Referenced by runeInfo.pos.\n\tnbyte uint8                     // Number or bytes.\n\tss    streamSafe                // For limiting length of non-starter sequence.\n\tnrune int                       // Number of runeInfos.\n\tf     formInfo\n\n\tsrc      input\n\tnsrc     int\n\ttmpBytes input\n\n\tout    []byte\n\tflushF func(*reorderBuffer) bool\n}\n\nfunc (rb *reorderBuffer) init(f Form, src []byte) {\n\trb.f = *formTable[f]\n\trb.src.setBytes(src)\n\trb.nsrc = len(src)\n\trb.ss = 0\n}\n\nfunc (rb *reorderBuffer) initString(f Form, src string) {\n\trb.f = *formTable[f]\n\trb.src.setString(src)\n\trb.nsrc = len(src)\n\trb.ss = 0\n}\n\nfunc (rb *reorderBuffer) setFlusher(out []byte, f func(*reorderBuffer) bool) {\n\trb.out = out\n\trb.flushF = f\n}\n\n// reset discards all characters from the buffer.\nfunc (rb *reorderBuffer) reset() {\n\trb.nrune = 0\n\trb.nbyte = 0\n}\n\nfunc (rb *reorderBuffer) doFlush() bool {\n\tif rb.f.composing {\n\t\trb.compose()\n\t}\n\tres := rb.flushF(rb)\n\trb.reset()\n\treturn res\n}\n\n// appendFlush appends the normalized segment to rb.out.\nfunc appendFlush(rb *reorderBuffer) bool {\n\tfor i := 0; i < rb.nrune; i++ {\n\t\tstart := rb.rune[i].pos\n\t\tend := start + rb.rune[i].size\n\t\trb.out = append(rb.out, rb.byte[start:end]...)\n\t}\n\treturn true\n}\n\n// flush appends the normalized segment to out and resets rb.\nfunc (rb *reorderBuffer) flush(out []byte) []byte {\n\tfor i := 0; i < rb.nrune; i++ {\n\t\tstart := rb.rune[i].pos\n\t\tend := start + rb.rune[i].size\n\t\tout = append(out, rb.byte[start:end]...)\n\t}\n\trb.reset()\n\treturn out\n}\n\n// flushCopy copies the normalized segment to buf and resets rb.\n// It returns the number of bytes written to buf.\nfunc (rb *reorderBuffer) flushCopy(buf []byte) int {\n\tp := 0\n\tfor i := 0; i < rb.nrune; i++ {\n\t\trunep := rb.rune[i]\n\t\tp += copy(buf[p:], rb.byte[runep.pos:runep.pos+runep.size])\n\t}\n\trb.reset()\n\treturn p\n}\n\n// insertOrdered inserts a rune in the buffer, ordered by Canonical Combining Class.\n// It returns false if the buffer is not large enough to hold the rune.\n// It is used internally by insert and insertString only.\nfunc (rb *reorderBuffer) insertOrdered(info Properties) {\n\tn := rb.nrune\n\tb := rb.rune[:]\n\tcc := info.ccc\n\tif cc > 0 {\n\t\t// Find insertion position + move elements to make room.\n\t\tfor ; n > 0; n-- {\n\t\t\tif b[n-1].ccc <= cc {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tb[n] = b[n-1]\n\t\t}\n\t}\n\trb.nrune += 1\n\tpos := uint8(rb.nbyte)\n\trb.nbyte += utf8.UTFMax\n\tinfo.pos = pos\n\tb[n] = info\n}\n\n// insertErr is an error code returned by insert. Using this type instead\n// of error improves performance up to 20% for many of the benchmarks.\ntype insertErr int\n\nconst (\n\tiSuccess insertErr = -iota\n\tiShortDst\n\tiShortSrc\n)\n\n// insertFlush inserts the given rune in the buffer ordered by CCC.\n// If a decomposition with multiple segments are encountered, they leading\n// ones are flushed.\n// It returns a non-zero error code if the rune was not inserted.\nfunc (rb *reorderBuffer) insertFlush(src input, i int, info Properties) insertErr {\n\tif rune := src.hangul(i); rune != 0 {\n\t\trb.decomposeHangul(rune)\n\t\treturn iSuccess\n\t}\n\tif info.hasDecomposition() {\n\t\treturn rb.insertDecomposed(info.Decomposition())\n\t}\n\trb.insertSingle(src, i, info)\n\treturn iSuccess\n}\n\n// insertUnsafe inserts the given rune in the buffer ordered by CCC.\n// It is assumed there is sufficient space to hold the runes. It is the\n// responsibility of the caller to ensure this. This can be done by checking\n// the state returned by the streamSafe type.\nfunc (rb *reorderBuffer) insertUnsafe(src input, i int, info Properties) {\n\tif rune := src.hangul(i); rune != 0 {\n\t\trb.decomposeHangul(rune)\n\t}\n\tif info.hasDecomposition() {\n\t\t// TODO: inline.\n\t\trb.insertDecomposed(info.Decomposition())\n\t} else {\n\t\trb.insertSingle(src, i, info)\n\t}\n}\n\n// insertDecomposed inserts an entry in to the reorderBuffer for each rune\n// in dcomp. dcomp must be a sequence of decomposed UTF-8-encoded runes.\n// It flushes the buffer on each new segment start.\nfunc (rb *reorderBuffer) insertDecomposed(dcomp []byte) insertErr {\n\trb.tmpBytes.setBytes(dcomp)\n\t// As the streamSafe accounting already handles the counting for modifiers,\n\t// we don't have to call next. However, we do need to keep the accounting\n\t// intact when flushing the buffer.\n\tfor i := 0; i < len(dcomp); {\n\t\tinfo := rb.f.info(rb.tmpBytes, i)\n\t\tif info.BoundaryBefore() && rb.nrune > 0 && !rb.doFlush() {\n\t\t\treturn iShortDst\n\t\t}\n\t\ti += copy(rb.byte[rb.nbyte:], dcomp[i:i+int(info.size)])\n\t\trb.insertOrdered(info)\n\t}\n\treturn iSuccess\n}\n\n// insertSingle inserts an entry in the reorderBuffer for the rune at\n// position i. info is the runeInfo for the rune at position i.\nfunc (rb *reorderBuffer) insertSingle(src input, i int, info Properties) {\n\tsrc.copySlice(rb.byte[rb.nbyte:], i, i+int(info.size))\n\trb.insertOrdered(info)\n}\n\n// insertCGJ inserts a Combining Grapheme Joiner (0x034f) into rb.\nfunc (rb *reorderBuffer) insertCGJ() {\n\trb.insertSingle(input{str: GraphemeJoiner}, 0, Properties{size: uint8(len(GraphemeJoiner))})\n}\n\n// appendRune inserts a rune at the end of the buffer. It is used for Hangul.\nfunc (rb *reorderBuffer) appendRune(r rune) {\n\tbn := rb.nbyte\n\tsz := utf8.EncodeRune(rb.byte[bn:], rune(r))\n\trb.nbyte += utf8.UTFMax\n\trb.rune[rb.nrune] = Properties{pos: bn, size: uint8(sz)}\n\trb.nrune++\n}\n\n// assignRune sets a rune at position pos. It is used for Hangul and recomposition.\nfunc (rb *reorderBuffer) assignRune(pos int, r rune) {\n\tbn := rb.rune[pos].pos\n\tsz := utf8.EncodeRune(rb.byte[bn:], rune(r))\n\trb.rune[pos] = Properties{pos: bn, size: uint8(sz)}\n}\n\n// runeAt returns the rune at position n. It is used for Hangul and recomposition.\nfunc (rb *reorderBuffer) runeAt(n int) rune {\n\tinf := rb.rune[n]\n\tr, _ := utf8.DecodeRune(rb.byte[inf.pos : inf.pos+inf.size])\n\treturn r\n}\n\n// bytesAt returns the UTF-8 encoding of the rune at position n.\n// It is used for Hangul and recomposition.\nfunc (rb *reorderBuffer) bytesAt(n int) []byte {\n\tinf := rb.rune[n]\n\treturn rb.byte[inf.pos : int(inf.pos)+int(inf.size)]\n}\n\n// For Hangul we combine algorithmically, instead of using tables.\nconst (\n\thangulBase  = 0xAC00 // UTF-8(hangulBase) -> EA B0 80\n\thangulBase0 = 0xEA\n\thangulBase1 = 0xB0\n\thangulBase2 = 0x80\n\n\thangulEnd  = hangulBase + jamoLVTCount // UTF-8(0xD7A4) -> ED 9E A4\n\thangulEnd0 = 0xED\n\thangulEnd1 = 0x9E\n\thangulEnd2 = 0xA4\n\n\tjamoLBase  = 0x1100 // UTF-8(jamoLBase) -> E1 84 00\n\tjamoLBase0 = 0xE1\n\tjamoLBase1 = 0x84\n\tjamoLEnd   = 0x1113\n\tjamoVBase  = 0x1161\n\tjamoVEnd   = 0x1176\n\tjamoTBase  = 0x11A7\n\tjamoTEnd   = 0x11C3\n\n\tjamoTCount   = 28\n\tjamoVCount   = 21\n\tjamoVTCount  = 21 * 28\n\tjamoLVTCount = 19 * 21 * 28\n)\n\nconst hangulUTF8Size = 3\n\nfunc isHangul(b []byte) bool {\n\tif len(b) < hangulUTF8Size {\n\t\treturn false\n\t}\n\tb0 := b[0]\n\tif b0 < hangulBase0 {\n\t\treturn false\n\t}\n\tb1 := b[1]\n\tswitch {\n\tcase b0 == hangulBase0:\n\t\treturn b1 >= hangulBase1\n\tcase b0 < hangulEnd0:\n\t\treturn true\n\tcase b0 > hangulEnd0:\n\t\treturn false\n\tcase b1 < hangulEnd1:\n\t\treturn true\n\t}\n\treturn b1 == hangulEnd1 && b[2] < hangulEnd2\n}\n\nfunc isHangulString(b string) bool {\n\tif len(b) < hangulUTF8Size {\n\t\treturn false\n\t}\n\tb0 := b[0]\n\tif b0 < hangulBase0 {\n\t\treturn false\n\t}\n\tb1 := b[1]\n\tswitch {\n\tcase b0 == hangulBase0:\n\t\treturn b1 >= hangulBase1\n\tcase b0 < hangulEnd0:\n\t\treturn true\n\tcase b0 > hangulEnd0:\n\t\treturn false\n\tcase b1 < hangulEnd1:\n\t\treturn true\n\t}\n\treturn b1 == hangulEnd1 && b[2] < hangulEnd2\n}\n\n// Caller must ensure len(b) >= 2.\nfunc isJamoVT(b []byte) bool {\n\t// True if (rune & 0xff00) == jamoLBase\n\treturn b[0] == jamoLBase0 && (b[1]&0xFC) == jamoLBase1\n}\n\nfunc isHangulWithoutJamoT(b []byte) bool {\n\tc, _ := utf8.DecodeRune(b)\n\tc -= hangulBase\n\treturn c < jamoLVTCount && c%jamoTCount == 0\n}\n\n// decomposeHangul writes the decomposed Hangul to buf and returns the number\n// of bytes written.  len(buf) should be at least 9.\nfunc decomposeHangul(buf []byte, r rune) int {\n\tconst JamoUTF8Len = 3\n\tr -= hangulBase\n\tx := r % jamoTCount\n\tr /= jamoTCount\n\tutf8.EncodeRune(buf, jamoLBase+r/jamoVCount)\n\tutf8.EncodeRune(buf[JamoUTF8Len:], jamoVBase+r%jamoVCount)\n\tif x != 0 {\n\t\tutf8.EncodeRune(buf[2*JamoUTF8Len:], jamoTBase+x)\n\t\treturn 3 * JamoUTF8Len\n\t}\n\treturn 2 * JamoUTF8Len\n}\n\n// decomposeHangul algorithmically decomposes a Hangul rune into\n// its Jamo components.\n// See http://unicode.org/reports/tr15/#Hangul for details on decomposing Hangul.\nfunc (rb *reorderBuffer) decomposeHangul(r rune) {\n\tr -= hangulBase\n\tx := r % jamoTCount\n\tr /= jamoTCount\n\trb.appendRune(jamoLBase + r/jamoVCount)\n\trb.appendRune(jamoVBase + r%jamoVCount)\n\tif x != 0 {\n\t\trb.appendRune(jamoTBase + x)\n\t}\n}\n\n// combineHangul algorithmically combines Jamo character components into Hangul.\n// See http://unicode.org/reports/tr15/#Hangul for details on combining Hangul.\nfunc (rb *reorderBuffer) combineHangul(s, i, k int) {\n\tb := rb.rune[:]\n\tbn := rb.nrune\n\tfor ; i < bn; i++ {\n\t\tcccB := b[k-1].ccc\n\t\tcccC := b[i].ccc\n\t\tif cccB == 0 {\n\t\t\ts = k - 1\n\t\t}\n\t\tif s != k-1 && cccB >= cccC {\n\t\t\t// b[i] is blocked by greater-equal cccX below it\n\t\t\tb[k] = b[i]\n\t\t\tk++\n\t\t} else {\n\t\t\tl := rb.runeAt(s) // also used to compare to hangulBase\n\t\t\tv := rb.runeAt(i) // also used to compare to jamoT\n\t\t\tswitch {\n\t\t\tcase jamoLBase <= l && l < jamoLEnd &&\n\t\t\t\tjamoVBase <= v && v < jamoVEnd:\n\t\t\t\t// 11xx plus 116x to LV\n\t\t\t\trb.assignRune(s, hangulBase+\n\t\t\t\t\t(l-jamoLBase)*jamoVTCount+(v-jamoVBase)*jamoTCount)\n\t\t\tcase hangulBase <= l && l < hangulEnd &&\n\t\t\t\tjamoTBase < v && v < jamoTEnd &&\n\t\t\t\t((l-hangulBase)%jamoTCount) == 0:\n\t\t\t\t// ACxx plus 11Ax to LVT\n\t\t\t\trb.assignRune(s, l+v-jamoTBase)\n\t\t\tdefault:\n\t\t\t\tb[k] = b[i]\n\t\t\t\tk++\n\t\t\t}\n\t\t}\n\t}\n\trb.nrune = k\n}\n\n// compose recombines the runes in the buffer.\n// It should only be used to recompose a single segment, as it will not\n// handle alternations between Hangul and non-Hangul characters correctly.\nfunc (rb *reorderBuffer) compose() {\n\t// UAX #15, section X5 , including Corrigendum #5\n\t// \"In any character sequence beginning with starter S, a character C is\n\t//  blocked from S if and only if there is some character B between S\n\t//  and C, and either B is a starter or it has the same or higher\n\t//  combining class as C.\"\n\tbn := rb.nrune\n\tif bn == 0 {\n\t\treturn\n\t}\n\tk := 1\n\tb := rb.rune[:]\n\tfor s, i := 0, 1; i < bn; i++ {\n\t\tif isJamoVT(rb.bytesAt(i)) {\n\t\t\t// Redo from start in Hangul mode. Necessary to support\n\t\t\t// U+320E..U+321E in NFKC mode.\n\t\t\trb.combineHangul(s, i, k)\n\t\t\treturn\n\t\t}\n\t\tii := b[i]\n\t\t// We can only use combineForward as a filter if we later\n\t\t// get the info for the combined character. This is more\n\t\t// expensive than using the filter. Using combinesBackward()\n\t\t// is safe.\n\t\tif ii.combinesBackward() {\n\t\t\tcccB := b[k-1].ccc\n\t\t\tcccC := ii.ccc\n\t\t\tblocked := false // b[i] blocked by starter or greater or equal CCC?\n\t\t\tif cccB == 0 {\n\t\t\t\ts = k - 1\n\t\t\t} else {\n\t\t\t\tblocked = s != k-1 && cccB >= cccC\n\t\t\t}\n\t\t\tif !blocked {\n\t\t\t\tcombined := combine(rb.runeAt(s), rb.runeAt(i))\n\t\t\t\tif combined != 0 {\n\t\t\t\t\trb.assignRune(s, combined)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tb[k] = b[i]\n\t\tk++\n\t}\n\trb.nrune = k\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/forminfo.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\n// This file contains Form-specific logic and wrappers for data in tables.go.\n\n// Rune info is stored in a separate trie per composing form. A composing form\n// and its corresponding decomposing form share the same trie.  Each trie maps\n// a rune to a uint16. The values take two forms.  For v >= 0x8000:\n//   bits\n//   15:    1 (inverse of NFD_QC bit of qcInfo)\n//   13..7: qcInfo (see below). isYesD is always true (no decompostion).\n//    6..0: ccc (compressed CCC value).\n// For v < 0x8000, the respective rune has a decomposition and v is an index\n// into a byte array of UTF-8 decomposition sequences and additional info and\n// has the form:\n//    <header> <decomp_byte>* [<tccc> [<lccc>]]\n// The header contains the number of bytes in the decomposition (excluding this\n// length byte). The two most significant bits of this length byte correspond\n// to bit 5 and 4 of qcInfo (see below).  The byte sequence itself starts at v+1.\n// The byte sequence is followed by a trailing and leading CCC if the values\n// for these are not zero.  The value of v determines which ccc are appended\n// to the sequences.  For v < firstCCC, there are none, for v >= firstCCC,\n// the sequence is followed by a trailing ccc, and for v >= firstLeadingCC\n// there is an additional leading ccc. The value of tccc itself is the\n// trailing CCC shifted left 2 bits. The two least-significant bits of tccc\n// are the number of trailing non-starters.\n\nconst (\n\tqcInfoMask      = 0x3F // to clear all but the relevant bits in a qcInfo\n\theaderLenMask   = 0x3F // extract the length value from the header byte\n\theaderFlagsMask = 0xC0 // extract the qcInfo bits from the header byte\n)\n\n// Properties provides access to normalization properties of a rune.\ntype Properties struct {\n\tpos   uint8  // start position in reorderBuffer; used in composition.go\n\tsize  uint8  // length of UTF-8 encoding of this rune\n\tccc   uint8  // leading canonical combining class (ccc if not decomposition)\n\ttccc  uint8  // trailing canonical combining class (ccc if not decomposition)\n\tnLead uint8  // number of leading non-starters.\n\tflags qcInfo // quick check flags\n\tindex uint16\n}\n\n// functions dispatchable per form\ntype lookupFunc func(b input, i int) Properties\n\n// formInfo holds Form-specific functions and tables.\ntype formInfo struct {\n\tform                     Form\n\tcomposing, compatibility bool // form type\n\tinfo                     lookupFunc\n\tnextMain                 iterFunc\n}\n\nvar formTable = []*formInfo{{\n\tform:          NFC,\n\tcomposing:     true,\n\tcompatibility: false,\n\tinfo:          lookupInfoNFC,\n\tnextMain:      nextComposed,\n}, {\n\tform:          NFD,\n\tcomposing:     false,\n\tcompatibility: false,\n\tinfo:          lookupInfoNFC,\n\tnextMain:      nextDecomposed,\n}, {\n\tform:          NFKC,\n\tcomposing:     true,\n\tcompatibility: true,\n\tinfo:          lookupInfoNFKC,\n\tnextMain:      nextComposed,\n}, {\n\tform:          NFKD,\n\tcomposing:     false,\n\tcompatibility: true,\n\tinfo:          lookupInfoNFKC,\n\tnextMain:      nextDecomposed,\n}}\n\n// We do not distinguish between boundaries for NFC, NFD, etc. to avoid\n// unexpected behavior for the user.  For example, in NFD, there is a boundary\n// after 'a'.  However, 'a' might combine with modifiers, so from the application's\n// perspective it is not a good boundary. We will therefore always use the\n// boundaries for the combining variants.\n\n// BoundaryBefore returns true if this rune starts a new segment and\n// cannot combine with any rune on the left.\nfunc (p Properties) BoundaryBefore() bool {\n\tif p.ccc == 0 && !p.combinesBackward() {\n\t\treturn true\n\t}\n\t// We assume that the CCC of the first character in a decomposition\n\t// is always non-zero if different from info.ccc and that we can return\n\t// false at this point. This is verified by maketables.\n\treturn false\n}\n\n// BoundaryAfter returns true if runes cannot combine with or otherwise\n// interact with this or previous runes.\nfunc (p Properties) BoundaryAfter() bool {\n\t// TODO: loosen these conditions.\n\treturn p.isInert()\n}\n\n// We pack quick check data in 4 bits:\n//   5:    Combines forward  (0 == false, 1 == true)\n//   4..3: NFC_QC Yes(00), No (10), or Maybe (11)\n//   2:    NFD_QC Yes (0) or No (1). No also means there is a decomposition.\n//   1..0: Number of trailing non-starters.\n//\n// When all 4 bits are zero, the character is inert, meaning it is never\n// influenced by normalization.\ntype qcInfo uint8\n\nfunc (p Properties) isYesC() bool { return p.flags&0x10 == 0 }\nfunc (p Properties) isYesD() bool { return p.flags&0x4 == 0 }\n\nfunc (p Properties) combinesForward() bool  { return p.flags&0x20 != 0 }\nfunc (p Properties) combinesBackward() bool { return p.flags&0x8 != 0 } // == isMaybe\nfunc (p Properties) hasDecomposition() bool { return p.flags&0x4 != 0 } // == isNoD\n\nfunc (p Properties) isInert() bool {\n\treturn p.flags&qcInfoMask == 0 && p.ccc == 0\n}\n\nfunc (p Properties) multiSegment() bool {\n\treturn p.index >= firstMulti && p.index < endMulti\n}\n\nfunc (p Properties) nLeadingNonStarters() uint8 {\n\treturn p.nLead\n}\n\nfunc (p Properties) nTrailingNonStarters() uint8 {\n\treturn uint8(p.flags & 0x03)\n}\n\n// Decomposition returns the decomposition for the underlying rune\n// or nil if there is none.\nfunc (p Properties) Decomposition() []byte {\n\t// TODO: create the decomposition for Hangul?\n\tif p.index == 0 {\n\t\treturn nil\n\t}\n\ti := p.index\n\tn := decomps[i] & headerLenMask\n\ti++\n\treturn decomps[i : i+uint16(n)]\n}\n\n// Size returns the length of UTF-8 encoding of the rune.\nfunc (p Properties) Size() int {\n\treturn int(p.size)\n}\n\n// CCC returns the canonical combining class of the underlying rune.\nfunc (p Properties) CCC() uint8 {\n\tif p.index >= firstCCCZeroExcept {\n\t\treturn 0\n\t}\n\treturn ccc[p.ccc]\n}\n\n// LeadCCC returns the CCC of the first rune in the decomposition.\n// If there is no decomposition, LeadCCC equals CCC.\nfunc (p Properties) LeadCCC() uint8 {\n\treturn ccc[p.ccc]\n}\n\n// TrailCCC returns the CCC of the last rune in the decomposition.\n// If there is no decomposition, TrailCCC equals CCC.\nfunc (p Properties) TrailCCC() uint8 {\n\treturn ccc[p.tccc]\n}\n\n// Recomposition\n// We use 32-bit keys instead of 64-bit for the two codepoint keys.\n// This clips off the bits of three entries, but we know this will not\n// result in a collision. In the unlikely event that changes to\n// UnicodeData.txt introduce collisions, the compiler will catch it.\n// Note that the recomposition map for NFC and NFKC are identical.\n\n// combine returns the combined rune or 0 if it doesn't exist.\nfunc combine(a, b rune) rune {\n\tkey := uint32(uint16(a))<<16 + uint32(uint16(b))\n\treturn recompMap[key]\n}\n\nfunc lookupInfoNFC(b input, i int) Properties {\n\tv, sz := b.charinfoNFC(i)\n\treturn compInfo(v, sz)\n}\n\nfunc lookupInfoNFKC(b input, i int) Properties {\n\tv, sz := b.charinfoNFKC(i)\n\treturn compInfo(v, sz)\n}\n\n// Properties returns properties for the first rune in s.\nfunc (f Form) Properties(s []byte) Properties {\n\tif f == NFC || f == NFD {\n\t\treturn compInfo(nfcData.lookup(s))\n\t}\n\treturn compInfo(nfkcData.lookup(s))\n}\n\n// PropertiesString returns properties for the first rune in s.\nfunc (f Form) PropertiesString(s string) Properties {\n\tif f == NFC || f == NFD {\n\t\treturn compInfo(nfcData.lookupString(s))\n\t}\n\treturn compInfo(nfkcData.lookupString(s))\n}\n\n// compInfo converts the information contained in v and sz\n// to a Properties.  See the comment at the top of the file\n// for more information on the format.\nfunc compInfo(v uint16, sz int) Properties {\n\tif v == 0 {\n\t\treturn Properties{size: uint8(sz)}\n\t} else if v >= 0x8000 {\n\t\tp := Properties{\n\t\t\tsize:  uint8(sz),\n\t\t\tccc:   uint8(v),\n\t\t\ttccc:  uint8(v),\n\t\t\tflags: qcInfo(v >> 8),\n\t\t}\n\t\tif p.ccc > 0 || p.combinesBackward() {\n\t\t\tp.nLead = uint8(p.flags & 0x3)\n\t\t}\n\t\treturn p\n\t}\n\t// has decomposition\n\th := decomps[v]\n\tf := (qcInfo(h&headerFlagsMask) >> 2) | 0x4\n\tp := Properties{size: uint8(sz), flags: f, index: v}\n\tif v >= firstCCC {\n\t\tv += uint16(h&headerLenMask) + 1\n\t\tc := decomps[v]\n\t\tp.tccc = c >> 2\n\t\tp.flags |= qcInfo(c & 0x3)\n\t\tif v >= firstLeadingCCC {\n\t\t\tp.nLead = c & 0x3\n\t\t\tif v >= firstStarterWithNLead {\n\t\t\t\t// We were tricked. Remove the decomposition.\n\t\t\t\tp.flags &= 0x03\n\t\t\t\tp.index = 0\n\t\t\t\treturn p\n\t\t\t}\n\t\t\tp.ccc = decomps[v+1]\n\t\t}\n\t}\n\treturn p\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/input.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\nimport \"unicode/utf8\"\n\ntype input struct {\n\tstr   string\n\tbytes []byte\n}\n\nfunc inputBytes(str []byte) input {\n\treturn input{bytes: str}\n}\n\nfunc inputString(str string) input {\n\treturn input{str: str}\n}\n\nfunc (in *input) setBytes(str []byte) {\n\tin.str = \"\"\n\tin.bytes = str\n}\n\nfunc (in *input) setString(str string) {\n\tin.str = str\n\tin.bytes = nil\n}\n\nfunc (in *input) _byte(p int) byte {\n\tif in.bytes == nil {\n\t\treturn in.str[p]\n\t}\n\treturn in.bytes[p]\n}\n\nfunc (in *input) skipASCII(p, max int) int {\n\tif in.bytes == nil {\n\t\tfor ; p < max && in.str[p] < utf8.RuneSelf; p++ {\n\t\t}\n\t} else {\n\t\tfor ; p < max && in.bytes[p] < utf8.RuneSelf; p++ {\n\t\t}\n\t}\n\treturn p\n}\n\nfunc (in *input) skipContinuationBytes(p int) int {\n\tif in.bytes == nil {\n\t\tfor ; p < len(in.str) && !utf8.RuneStart(in.str[p]); p++ {\n\t\t}\n\t} else {\n\t\tfor ; p < len(in.bytes) && !utf8.RuneStart(in.bytes[p]); p++ {\n\t\t}\n\t}\n\treturn p\n}\n\nfunc (in *input) appendSlice(buf []byte, b, e int) []byte {\n\tif in.bytes != nil {\n\t\treturn append(buf, in.bytes[b:e]...)\n\t}\n\tfor i := b; i < e; i++ {\n\t\tbuf = append(buf, in.str[i])\n\t}\n\treturn buf\n}\n\nfunc (in *input) copySlice(buf []byte, b, e int) int {\n\tif in.bytes == nil {\n\t\treturn copy(buf, in.str[b:e])\n\t}\n\treturn copy(buf, in.bytes[b:e])\n}\n\nfunc (in *input) charinfoNFC(p int) (uint16, int) {\n\tif in.bytes == nil {\n\t\treturn nfcData.lookupString(in.str[p:])\n\t}\n\treturn nfcData.lookup(in.bytes[p:])\n}\n\nfunc (in *input) charinfoNFKC(p int) (uint16, int) {\n\tif in.bytes == nil {\n\t\treturn nfkcData.lookupString(in.str[p:])\n\t}\n\treturn nfkcData.lookup(in.bytes[p:])\n}\n\nfunc (in *input) hangul(p int) (r rune) {\n\tvar size int\n\tif in.bytes == nil {\n\t\tif !isHangulString(in.str[p:]) {\n\t\t\treturn 0\n\t\t}\n\t\tr, size = utf8.DecodeRuneInString(in.str[p:])\n\t} else {\n\t\tif !isHangul(in.bytes[p:]) {\n\t\t\treturn 0\n\t\t}\n\t\tr, size = utf8.DecodeRune(in.bytes[p:])\n\t}\n\tif size != hangulUTF8Size {\n\t\treturn 0\n\t}\n\treturn r\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/iter.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\nimport (\n\t\"fmt\"\n\t\"unicode/utf8\"\n)\n\n// MaxSegmentSize is the maximum size of a byte buffer needed to consider any\n// sequence of starter and non-starter runes for the purpose of normalization.\nconst MaxSegmentSize = maxByteBufferSize\n\n// An Iter iterates over a string or byte slice, while normalizing it\n// to a given Form.\ntype Iter struct {\n\trb     reorderBuffer\n\tbuf    [maxByteBufferSize]byte\n\tinfo   Properties // first character saved from previous iteration\n\tnext   iterFunc   // implementation of next depends on form\n\tasciiF iterFunc\n\n\tp        int    // current position in input source\n\tmultiSeg []byte // remainder of multi-segment decomposition\n}\n\ntype iterFunc func(*Iter) []byte\n\n// Init initializes i to iterate over src after normalizing it to Form f.\nfunc (i *Iter) Init(f Form, src []byte) {\n\ti.p = 0\n\tif len(src) == 0 {\n\t\ti.setDone()\n\t\ti.rb.nsrc = 0\n\t\treturn\n\t}\n\ti.multiSeg = nil\n\ti.rb.init(f, src)\n\ti.next = i.rb.f.nextMain\n\ti.asciiF = nextASCIIBytes\n\ti.info = i.rb.f.info(i.rb.src, i.p)\n\ti.rb.ss.first(i.info)\n}\n\n// InitString initializes i to iterate over src after normalizing it to Form f.\nfunc (i *Iter) InitString(f Form, src string) {\n\ti.p = 0\n\tif len(src) == 0 {\n\t\ti.setDone()\n\t\ti.rb.nsrc = 0\n\t\treturn\n\t}\n\ti.multiSeg = nil\n\ti.rb.initString(f, src)\n\ti.next = i.rb.f.nextMain\n\ti.asciiF = nextASCIIString\n\ti.info = i.rb.f.info(i.rb.src, i.p)\n\ti.rb.ss.first(i.info)\n}\n\n// Seek sets the segment to be returned by the next call to Next to start\n// at position p.  It is the responsibility of the caller to set p to the\n// start of a segment.\nfunc (i *Iter) Seek(offset int64, whence int) (int64, error) {\n\tvar abs int64\n\tswitch whence {\n\tcase 0:\n\t\tabs = offset\n\tcase 1:\n\t\tabs = int64(i.p) + offset\n\tcase 2:\n\t\tabs = int64(i.rb.nsrc) + offset\n\tdefault:\n\t\treturn 0, fmt.Errorf(\"norm: invalid whence\")\n\t}\n\tif abs < 0 {\n\t\treturn 0, fmt.Errorf(\"norm: negative position\")\n\t}\n\tif int(abs) >= i.rb.nsrc {\n\t\ti.setDone()\n\t\treturn int64(i.p), nil\n\t}\n\ti.p = int(abs)\n\ti.multiSeg = nil\n\ti.next = i.rb.f.nextMain\n\ti.info = i.rb.f.info(i.rb.src, i.p)\n\ti.rb.ss.first(i.info)\n\treturn abs, nil\n}\n\n// returnSlice returns a slice of the underlying input type as a byte slice.\n// If the underlying is of type []byte, it will simply return a slice.\n// If the underlying is of type string, it will copy the slice to the buffer\n// and return that.\nfunc (i *Iter) returnSlice(a, b int) []byte {\n\tif i.rb.src.bytes == nil {\n\t\treturn i.buf[:copy(i.buf[:], i.rb.src.str[a:b])]\n\t}\n\treturn i.rb.src.bytes[a:b]\n}\n\n// Pos returns the byte position at which the next call to Next will commence processing.\nfunc (i *Iter) Pos() int {\n\treturn i.p\n}\n\nfunc (i *Iter) setDone() {\n\ti.next = nextDone\n\ti.p = i.rb.nsrc\n}\n\n// Done returns true if there is no more input to process.\nfunc (i *Iter) Done() bool {\n\treturn i.p >= i.rb.nsrc\n}\n\n// Next returns f(i.input[i.Pos():n]), where n is a boundary of i.input.\n// For any input a and b for which f(a) == f(b), subsequent calls\n// to Next will return the same segments.\n// Modifying runes are grouped together with the preceding starter, if such a starter exists.\n// Although not guaranteed, n will typically be the smallest possible n.\nfunc (i *Iter) Next() []byte {\n\treturn i.next(i)\n}\n\nfunc nextASCIIBytes(i *Iter) []byte {\n\tp := i.p + 1\n\tif p >= i.rb.nsrc {\n\t\ti.setDone()\n\t\treturn i.rb.src.bytes[i.p:p]\n\t}\n\tif i.rb.src.bytes[p] < utf8.RuneSelf {\n\t\tp0 := i.p\n\t\ti.p = p\n\t\treturn i.rb.src.bytes[p0:p]\n\t}\n\ti.info = i.rb.f.info(i.rb.src, i.p)\n\ti.next = i.rb.f.nextMain\n\treturn i.next(i)\n}\n\nfunc nextASCIIString(i *Iter) []byte {\n\tp := i.p + 1\n\tif p >= i.rb.nsrc {\n\t\ti.buf[0] = i.rb.src.str[i.p]\n\t\ti.setDone()\n\t\treturn i.buf[:1]\n\t}\n\tif i.rb.src.str[p] < utf8.RuneSelf {\n\t\ti.buf[0] = i.rb.src.str[i.p]\n\t\ti.p = p\n\t\treturn i.buf[:1]\n\t}\n\ti.info = i.rb.f.info(i.rb.src, i.p)\n\ti.next = i.rb.f.nextMain\n\treturn i.next(i)\n}\n\nfunc nextHangul(i *Iter) []byte {\n\tp := i.p\n\tnext := p + hangulUTF8Size\n\tif next >= i.rb.nsrc {\n\t\ti.setDone()\n\t} else if i.rb.src.hangul(next) == 0 {\n\t\ti.rb.ss.next(i.info)\n\t\ti.info = i.rb.f.info(i.rb.src, i.p)\n\t\ti.next = i.rb.f.nextMain\n\t\treturn i.next(i)\n\t}\n\ti.p = next\n\treturn i.buf[:decomposeHangul(i.buf[:], i.rb.src.hangul(p))]\n}\n\nfunc nextDone(i *Iter) []byte {\n\treturn nil\n}\n\n// nextMulti is used for iterating over multi-segment decompositions\n// for decomposing normal forms.\nfunc nextMulti(i *Iter) []byte {\n\tj := 0\n\td := i.multiSeg\n\t// skip first rune\n\tfor j = 1; j < len(d) && !utf8.RuneStart(d[j]); j++ {\n\t}\n\tfor j < len(d) {\n\t\tinfo := i.rb.f.info(input{bytes: d}, j)\n\t\tif info.BoundaryBefore() {\n\t\t\ti.multiSeg = d[j:]\n\t\t\treturn d[:j]\n\t\t}\n\t\tj += int(info.size)\n\t}\n\t// treat last segment as normal decomposition\n\ti.next = i.rb.f.nextMain\n\treturn i.next(i)\n}\n\n// nextMultiNorm is used for iterating over multi-segment decompositions\n// for composing normal forms.\nfunc nextMultiNorm(i *Iter) []byte {\n\tj := 0\n\td := i.multiSeg\n\tfor j < len(d) {\n\t\tinfo := i.rb.f.info(input{bytes: d}, j)\n\t\tif info.BoundaryBefore() {\n\t\t\ti.rb.compose()\n\t\t\tseg := i.buf[:i.rb.flushCopy(i.buf[:])]\n\t\t\ti.rb.insertUnsafe(input{bytes: d}, j, info)\n\t\t\ti.multiSeg = d[j+int(info.size):]\n\t\t\treturn seg\n\t\t}\n\t\ti.rb.insertUnsafe(input{bytes: d}, j, info)\n\t\tj += int(info.size)\n\t}\n\ti.multiSeg = nil\n\ti.next = nextComposed\n\treturn doNormComposed(i)\n}\n\n// nextDecomposed is the implementation of Next for forms NFD and NFKD.\nfunc nextDecomposed(i *Iter) (next []byte) {\n\toutp := 0\n\tinCopyStart, outCopyStart := i.p, 0\n\tfor {\n\t\tif sz := int(i.info.size); sz <= 1 {\n\t\t\ti.rb.ss = 0\n\t\t\tp := i.p\n\t\t\ti.p++ // ASCII or illegal byte.  Either way, advance by 1.\n\t\t\tif i.p >= i.rb.nsrc {\n\t\t\t\ti.setDone()\n\t\t\t\treturn i.returnSlice(p, i.p)\n\t\t\t} else if i.rb.src._byte(i.p) < utf8.RuneSelf {\n\t\t\t\ti.next = i.asciiF\n\t\t\t\treturn i.returnSlice(p, i.p)\n\t\t\t}\n\t\t\toutp++\n\t\t} else if d := i.info.Decomposition(); d != nil {\n\t\t\t// Note: If leading CCC != 0, then len(d) == 2 and last is also non-zero.\n\t\t\t// Case 1: there is a leftover to copy.  In this case the decomposition\n\t\t\t// must begin with a modifier and should always be appended.\n\t\t\t// Case 2: no leftover. Simply return d if followed by a ccc == 0 value.\n\t\t\tp := outp + len(d)\n\t\t\tif outp > 0 {\n\t\t\t\ti.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p)\n\t\t\t\t// TODO: this condition should not be possible, but we leave it\n\t\t\t\t// in for defensive purposes.\n\t\t\t\tif p > len(i.buf) {\n\t\t\t\t\treturn i.buf[:outp]\n\t\t\t\t}\n\t\t\t} else if i.info.multiSegment() {\n\t\t\t\t// outp must be 0 as multi-segment decompositions always\n\t\t\t\t// start a new segment.\n\t\t\t\tif i.multiSeg == nil {\n\t\t\t\t\ti.multiSeg = d\n\t\t\t\t\ti.next = nextMulti\n\t\t\t\t\treturn nextMulti(i)\n\t\t\t\t}\n\t\t\t\t// We are in the last segment.  Treat as normal decomposition.\n\t\t\t\td = i.multiSeg\n\t\t\t\ti.multiSeg = nil\n\t\t\t\tp = len(d)\n\t\t\t}\n\t\t\tprevCC := i.info.tccc\n\t\t\tif i.p += sz; i.p >= i.rb.nsrc {\n\t\t\t\ti.setDone()\n\t\t\t\ti.info = Properties{} // Force BoundaryBefore to succeed.\n\t\t\t} else {\n\t\t\t\ti.info = i.rb.f.info(i.rb.src, i.p)\n\t\t\t}\n\t\t\tswitch i.rb.ss.next(i.info) {\n\t\t\tcase ssOverflow:\n\t\t\t\ti.next = nextCGJDecompose\n\t\t\t\tfallthrough\n\t\t\tcase ssStarter:\n\t\t\t\tif outp > 0 {\n\t\t\t\t\tcopy(i.buf[outp:], d)\n\t\t\t\t\treturn i.buf[:p]\n\t\t\t\t}\n\t\t\t\treturn d\n\t\t\t}\n\t\t\tcopy(i.buf[outp:], d)\n\t\t\toutp = p\n\t\t\tinCopyStart, outCopyStart = i.p, outp\n\t\t\tif i.info.ccc < prevCC {\n\t\t\t\tgoto doNorm\n\t\t\t}\n\t\t\tcontinue\n\t\t} else if r := i.rb.src.hangul(i.p); r != 0 {\n\t\t\toutp = decomposeHangul(i.buf[:], r)\n\t\t\ti.p += hangulUTF8Size\n\t\t\tinCopyStart, outCopyStart = i.p, outp\n\t\t\tif i.p >= i.rb.nsrc {\n\t\t\t\ti.setDone()\n\t\t\t\tbreak\n\t\t\t} else if i.rb.src.hangul(i.p) != 0 {\n\t\t\t\ti.next = nextHangul\n\t\t\t\treturn i.buf[:outp]\n\t\t\t}\n\t\t} else {\n\t\t\tp := outp + sz\n\t\t\tif p > len(i.buf) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\toutp = p\n\t\t\ti.p += sz\n\t\t}\n\t\tif i.p >= i.rb.nsrc {\n\t\t\ti.setDone()\n\t\t\tbreak\n\t\t}\n\t\tprevCC := i.info.tccc\n\t\ti.info = i.rb.f.info(i.rb.src, i.p)\n\t\tif v := i.rb.ss.next(i.info); v == ssStarter {\n\t\t\tbreak\n\t\t} else if v == ssOverflow {\n\t\t\ti.next = nextCGJDecompose\n\t\t\tbreak\n\t\t}\n\t\tif i.info.ccc < prevCC {\n\t\t\tgoto doNorm\n\t\t}\n\t}\n\tif outCopyStart == 0 {\n\t\treturn i.returnSlice(inCopyStart, i.p)\n\t} else if inCopyStart < i.p {\n\t\ti.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p)\n\t}\n\treturn i.buf[:outp]\ndoNorm:\n\t// Insert what we have decomposed so far in the reorderBuffer.\n\t// As we will only reorder, there will always be enough room.\n\ti.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p)\n\ti.rb.insertDecomposed(i.buf[0:outp])\n\treturn doNormDecomposed(i)\n}\n\nfunc doNormDecomposed(i *Iter) []byte {\n\tfor {\n\t\ti.rb.insertUnsafe(i.rb.src, i.p, i.info)\n\t\tif i.p += int(i.info.size); i.p >= i.rb.nsrc {\n\t\t\ti.setDone()\n\t\t\tbreak\n\t\t}\n\t\ti.info = i.rb.f.info(i.rb.src, i.p)\n\t\tif i.info.ccc == 0 {\n\t\t\tbreak\n\t\t}\n\t\tif s := i.rb.ss.next(i.info); s == ssOverflow {\n\t\t\ti.next = nextCGJDecompose\n\t\t\tbreak\n\t\t}\n\t}\n\t// new segment or too many combining characters: exit normalization\n\treturn i.buf[:i.rb.flushCopy(i.buf[:])]\n}\n\nfunc nextCGJDecompose(i *Iter) []byte {\n\ti.rb.ss = 0\n\ti.rb.insertCGJ()\n\ti.next = nextDecomposed\n\ti.rb.ss.first(i.info)\n\tbuf := doNormDecomposed(i)\n\treturn buf\n}\n\n// nextComposed is the implementation of Next for forms NFC and NFKC.\nfunc nextComposed(i *Iter) []byte {\n\toutp, startp := 0, i.p\n\tvar prevCC uint8\n\tfor {\n\t\tif !i.info.isYesC() {\n\t\t\tgoto doNorm\n\t\t}\n\t\tprevCC = i.info.tccc\n\t\tsz := int(i.info.size)\n\t\tif sz == 0 {\n\t\t\tsz = 1 // illegal rune: copy byte-by-byte\n\t\t}\n\t\tp := outp + sz\n\t\tif p > len(i.buf) {\n\t\t\tbreak\n\t\t}\n\t\toutp = p\n\t\ti.p += sz\n\t\tif i.p >= i.rb.nsrc {\n\t\t\ti.setDone()\n\t\t\tbreak\n\t\t} else if i.rb.src._byte(i.p) < utf8.RuneSelf {\n\t\t\ti.rb.ss = 0\n\t\t\ti.next = i.asciiF\n\t\t\tbreak\n\t\t}\n\t\ti.info = i.rb.f.info(i.rb.src, i.p)\n\t\tif v := i.rb.ss.next(i.info); v == ssStarter {\n\t\t\tbreak\n\t\t} else if v == ssOverflow {\n\t\t\ti.next = nextCGJCompose\n\t\t\tbreak\n\t\t}\n\t\tif i.info.ccc < prevCC {\n\t\t\tgoto doNorm\n\t\t}\n\t}\n\treturn i.returnSlice(startp, i.p)\ndoNorm:\n\t// reset to start position\n\ti.p = startp\n\ti.info = i.rb.f.info(i.rb.src, i.p)\n\ti.rb.ss.first(i.info)\n\tif i.info.multiSegment() {\n\t\td := i.info.Decomposition()\n\t\tinfo := i.rb.f.info(input{bytes: d}, 0)\n\t\ti.rb.insertUnsafe(input{bytes: d}, 0, info)\n\t\ti.multiSeg = d[int(info.size):]\n\t\ti.next = nextMultiNorm\n\t\treturn nextMultiNorm(i)\n\t}\n\ti.rb.ss.first(i.info)\n\ti.rb.insertUnsafe(i.rb.src, i.p, i.info)\n\treturn doNormComposed(i)\n}\n\nfunc doNormComposed(i *Iter) []byte {\n\t// First rune should already be inserted.\n\tfor {\n\t\tif i.p += int(i.info.size); i.p >= i.rb.nsrc {\n\t\t\ti.setDone()\n\t\t\tbreak\n\t\t}\n\t\ti.info = i.rb.f.info(i.rb.src, i.p)\n\t\tif s := i.rb.ss.next(i.info); s == ssStarter {\n\t\t\tbreak\n\t\t} else if s == ssOverflow {\n\t\t\ti.next = nextCGJCompose\n\t\t\tbreak\n\t\t}\n\t\ti.rb.insertUnsafe(i.rb.src, i.p, i.info)\n\t}\n\ti.rb.compose()\n\tseg := i.buf[:i.rb.flushCopy(i.buf[:])]\n\treturn seg\n}\n\nfunc nextCGJCompose(i *Iter) []byte {\n\ti.rb.ss = 0 // instead of first\n\ti.rb.insertCGJ()\n\ti.next = nextComposed\n\t// Note that we treat any rune with nLeadingNonStarters > 0 as a non-starter,\n\t// even if they are not. This is particularly dubious for U+FF9E and UFF9A.\n\t// If we ever change that, insert a check here.\n\ti.rb.ss.first(i.info)\n\ti.rb.insertUnsafe(i.rb.src, i.p, i.info)\n\treturn doNormComposed(i)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/maketables.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// Normalization table generator.\n// Data read from the web.\n// See forminfo.go for a description of the trie values associated with each rune.\n\npackage main\n\nimport (\n\t\"bytes\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/internal/triegen\"\n\t\"golang.org/x/text/internal/ucd\"\n)\n\nfunc main() {\n\tgen.Init()\n\tloadUnicodeData()\n\tcompactCCC()\n\tloadCompositionExclusions()\n\tcompleteCharFields(FCanonical)\n\tcompleteCharFields(FCompatibility)\n\tcomputeNonStarterCounts()\n\tverifyComputed()\n\tprintChars()\n\ttestDerived()\n\tprintTestdata()\n\tmakeTables()\n}\n\nvar (\n\ttablelist = flag.String(\"tables\",\n\t\t\"all\",\n\t\t\"comma-separated list of which tables to generate; \"+\n\t\t\t\"can be 'decomp', 'recomp', 'info' and 'all'\")\n\ttest = flag.Bool(\"test\",\n\t\tfalse,\n\t\t\"test existing tables against DerivedNormalizationProps and generate test data for regression testing\")\n\tverbose = flag.Bool(\"verbose\",\n\t\tfalse,\n\t\t\"write data to stdout as it is parsed\")\n)\n\nconst MaxChar = 0x10FFFF // anything above this shouldn't exist\n\n// Quick Check properties of runes allow us to quickly\n// determine whether a rune may occur in a normal form.\n// For a given normal form, a rune may be guaranteed to occur\n// verbatim (QC=Yes), may or may not combine with another\n// rune (QC=Maybe), or may not occur (QC=No).\ntype QCResult int\n\nconst (\n\tQCUnknown QCResult = iota\n\tQCYes\n\tQCNo\n\tQCMaybe\n)\n\nfunc (r QCResult) String() string {\n\tswitch r {\n\tcase QCYes:\n\t\treturn \"Yes\"\n\tcase QCNo:\n\t\treturn \"No\"\n\tcase QCMaybe:\n\t\treturn \"Maybe\"\n\t}\n\treturn \"***UNKNOWN***\"\n}\n\nconst (\n\tFCanonical     = iota // NFC or NFD\n\tFCompatibility        // NFKC or NFKD\n\tFNumberOfFormTypes\n)\n\nconst (\n\tMComposed   = iota // NFC or NFKC\n\tMDecomposed        // NFD or NFKD\n\tMNumberOfModes\n)\n\n// This contains only the properties we're interested in.\ntype Char struct {\n\tname          string\n\tcodePoint     rune  // if zero, this index is not a valid code point.\n\tccc           uint8 // canonical combining class\n\torigCCC       uint8\n\texcludeInComp bool // from CompositionExclusions.txt\n\tcompatDecomp  bool // it has a compatibility expansion\n\n\tnTrailingNonStarters uint8\n\tnLeadingNonStarters  uint8 // must be equal to trailing if non-zero\n\n\tforms [FNumberOfFormTypes]FormInfo // For FCanonical and FCompatibility\n\n\tstate State\n}\n\nvar chars = make([]Char, MaxChar+1)\nvar cccMap = make(map[uint8]uint8)\n\nfunc (c Char) String() string {\n\tbuf := new(bytes.Buffer)\n\n\tfmt.Fprintf(buf, \"%U [%s]:\\n\", c.codePoint, c.name)\n\tfmt.Fprintf(buf, \"  ccc: %v\\n\", c.ccc)\n\tfmt.Fprintf(buf, \"  excludeInComp: %v\\n\", c.excludeInComp)\n\tfmt.Fprintf(buf, \"  compatDecomp: %v\\n\", c.compatDecomp)\n\tfmt.Fprintf(buf, \"  state: %v\\n\", c.state)\n\tfmt.Fprintf(buf, \"  NFC:\\n\")\n\tfmt.Fprint(buf, c.forms[FCanonical])\n\tfmt.Fprintf(buf, \"  NFKC:\\n\")\n\tfmt.Fprint(buf, c.forms[FCompatibility])\n\n\treturn buf.String()\n}\n\n// In UnicodeData.txt, some ranges are marked like this:\n//\t3400;<CJK Ideograph Extension A, First>;Lo;0;L;;;;;N;;;;;\n//\t4DB5;<CJK Ideograph Extension A, Last>;Lo;0;L;;;;;N;;;;;\n// parseCharacter keeps a state variable indicating the weirdness.\ntype State int\n\nconst (\n\tSNormal State = iota // known to be zero for the type\n\tSFirst\n\tSLast\n\tSMissing\n)\n\nvar lastChar = rune('\\u0000')\n\nfunc (c Char) isValid() bool {\n\treturn c.codePoint != 0 && c.state != SMissing\n}\n\ntype FormInfo struct {\n\tquickCheck [MNumberOfModes]QCResult // index: MComposed or MDecomposed\n\tverified   [MNumberOfModes]bool     // index: MComposed or MDecomposed\n\n\tcombinesForward  bool // May combine with rune on the right\n\tcombinesBackward bool // May combine with rune on the left\n\tisOneWay         bool // Never appears in result\n\tinDecomp         bool // Some decompositions result in this char.\n\tdecomp           Decomposition\n\texpandedDecomp   Decomposition\n}\n\nfunc (f FormInfo) String() string {\n\tbuf := bytes.NewBuffer(make([]byte, 0))\n\n\tfmt.Fprintf(buf, \"    quickCheck[C]: %v\\n\", f.quickCheck[MComposed])\n\tfmt.Fprintf(buf, \"    quickCheck[D]: %v\\n\", f.quickCheck[MDecomposed])\n\tfmt.Fprintf(buf, \"    cmbForward: %v\\n\", f.combinesForward)\n\tfmt.Fprintf(buf, \"    cmbBackward: %v\\n\", f.combinesBackward)\n\tfmt.Fprintf(buf, \"    isOneWay: %v\\n\", f.isOneWay)\n\tfmt.Fprintf(buf, \"    inDecomp: %v\\n\", f.inDecomp)\n\tfmt.Fprintf(buf, \"    decomposition: %X\\n\", f.decomp)\n\tfmt.Fprintf(buf, \"    expandedDecomp: %X\\n\", f.expandedDecomp)\n\n\treturn buf.String()\n}\n\ntype Decomposition []rune\n\nfunc parseDecomposition(s string, skipfirst bool) (a []rune, err error) {\n\tdecomp := strings.Split(s, \" \")\n\tif len(decomp) > 0 && skipfirst {\n\t\tdecomp = decomp[1:]\n\t}\n\tfor _, d := range decomp {\n\t\tpoint, err := strconv.ParseUint(d, 16, 64)\n\t\tif err != nil {\n\t\t\treturn a, err\n\t\t}\n\t\ta = append(a, rune(point))\n\t}\n\treturn a, nil\n}\n\nfunc loadUnicodeData() {\n\tf := gen.OpenUCDFile(\"UnicodeData.txt\")\n\tdefer f.Close()\n\tp := ucd.New(f)\n\tfor p.Next() {\n\t\tr := p.Rune(ucd.CodePoint)\n\t\tchar := &chars[r]\n\n\t\tchar.ccc = uint8(p.Uint(ucd.CanonicalCombiningClass))\n\t\tdecmap := p.String(ucd.DecompMapping)\n\n\t\texp, err := parseDecomposition(decmap, false)\n\t\tisCompat := false\n\t\tif err != nil {\n\t\t\tif len(decmap) > 0 {\n\t\t\t\texp, err = parseDecomposition(decmap, true)\n\t\t\t\tif err != nil {\n\t\t\t\t\tlog.Fatalf(`%U: bad decomp |%v|: \"%s\"`, r, decmap, err)\n\t\t\t\t}\n\t\t\t\tisCompat = true\n\t\t\t}\n\t\t}\n\n\t\tchar.name = p.String(ucd.Name)\n\t\tchar.codePoint = r\n\t\tchar.forms[FCompatibility].decomp = exp\n\t\tif !isCompat {\n\t\t\tchar.forms[FCanonical].decomp = exp\n\t\t} else {\n\t\t\tchar.compatDecomp = true\n\t\t}\n\t\tif len(decmap) > 0 {\n\t\t\tchar.forms[FCompatibility].decomp = exp\n\t\t}\n\t}\n\tif err := p.Err(); err != nil {\n\t\tlog.Fatal(err)\n\t}\n}\n\n// compactCCC converts the sparse set of CCC values to a continguous one,\n// reducing the number of bits needed from 8 to 6.\nfunc compactCCC() {\n\tm := make(map[uint8]uint8)\n\tfor i := range chars {\n\t\tc := &chars[i]\n\t\tm[c.ccc] = 0\n\t}\n\tcccs := []int{}\n\tfor v, _ := range m {\n\t\tcccs = append(cccs, int(v))\n\t}\n\tsort.Ints(cccs)\n\tfor i, c := range cccs {\n\t\tcccMap[uint8(i)] = uint8(c)\n\t\tm[uint8(c)] = uint8(i)\n\t}\n\tfor i := range chars {\n\t\tc := &chars[i]\n\t\tc.origCCC = c.ccc\n\t\tc.ccc = m[c.ccc]\n\t}\n\tif len(m) >= 1<<6 {\n\t\tlog.Fatalf(\"too many difference CCC values: %d >= 64\", len(m))\n\t}\n}\n\n// CompositionExclusions.txt has form:\n// 0958    # ...\n// See http://unicode.org/reports/tr44/ for full explanation\nfunc loadCompositionExclusions() {\n\tf := gen.OpenUCDFile(\"CompositionExclusions.txt\")\n\tdefer f.Close()\n\tp := ucd.New(f)\n\tfor p.Next() {\n\t\tc := &chars[p.Rune(0)]\n\t\tif c.excludeInComp {\n\t\t\tlog.Fatalf(\"%U: Duplicate entry in exclusions.\", c.codePoint)\n\t\t}\n\t\tc.excludeInComp = true\n\t}\n\tif e := p.Err(); e != nil {\n\t\tlog.Fatal(e)\n\t}\n}\n\n// hasCompatDecomp returns true if any of the recursive\n// decompositions contains a compatibility expansion.\n// In this case, the character may not occur in NFK*.\nfunc hasCompatDecomp(r rune) bool {\n\tc := &chars[r]\n\tif c.compatDecomp {\n\t\treturn true\n\t}\n\tfor _, d := range c.forms[FCompatibility].decomp {\n\t\tif hasCompatDecomp(d) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// Hangul related constants.\nconst (\n\tHangulBase = 0xAC00\n\tHangulEnd  = 0xD7A4 // hangulBase + Jamo combinations (19 * 21 * 28)\n\n\tJamoLBase = 0x1100\n\tJamoLEnd  = 0x1113\n\tJamoVBase = 0x1161\n\tJamoVEnd  = 0x1176\n\tJamoTBase = 0x11A8\n\tJamoTEnd  = 0x11C3\n\n\tJamoLVTCount = 19 * 21 * 28\n\tJamoTCount   = 28\n)\n\nfunc isHangul(r rune) bool {\n\treturn HangulBase <= r && r < HangulEnd\n}\n\nfunc isHangulWithoutJamoT(r rune) bool {\n\tif !isHangul(r) {\n\t\treturn false\n\t}\n\tr -= HangulBase\n\treturn r < JamoLVTCount && r%JamoTCount == 0\n}\n\nfunc ccc(r rune) uint8 {\n\treturn chars[r].ccc\n}\n\n// Insert a rune in a buffer, ordered by Canonical Combining Class.\nfunc insertOrdered(b Decomposition, r rune) Decomposition {\n\tn := len(b)\n\tb = append(b, 0)\n\tcc := ccc(r)\n\tif cc > 0 {\n\t\t// Use bubble sort.\n\t\tfor ; n > 0; n-- {\n\t\t\tif ccc(b[n-1]) <= cc {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tb[n] = b[n-1]\n\t\t}\n\t}\n\tb[n] = r\n\treturn b\n}\n\n// Recursively decompose.\nfunc decomposeRecursive(form int, r rune, d Decomposition) Decomposition {\n\tdcomp := chars[r].forms[form].decomp\n\tif len(dcomp) == 0 {\n\t\treturn insertOrdered(d, r)\n\t}\n\tfor _, c := range dcomp {\n\t\td = decomposeRecursive(form, c, d)\n\t}\n\treturn d\n}\n\nfunc completeCharFields(form int) {\n\t// Phase 0: pre-expand decomposition.\n\tfor i := range chars {\n\t\tf := &chars[i].forms[form]\n\t\tif len(f.decomp) == 0 {\n\t\t\tcontinue\n\t\t}\n\t\texp := make(Decomposition, 0)\n\t\tfor _, c := range f.decomp {\n\t\t\texp = decomposeRecursive(form, c, exp)\n\t\t}\n\t\tf.expandedDecomp = exp\n\t}\n\n\t// Phase 1: composition exclusion, mark decomposition.\n\tfor i := range chars {\n\t\tc := &chars[i]\n\t\tf := &c.forms[form]\n\n\t\t// Marks script-specific exclusions and version restricted.\n\t\tf.isOneWay = c.excludeInComp\n\n\t\t// Singletons\n\t\tf.isOneWay = f.isOneWay || len(f.decomp) == 1\n\n\t\t// Non-starter decompositions\n\t\tif len(f.decomp) > 1 {\n\t\t\tchk := c.ccc != 0 || chars[f.decomp[0]].ccc != 0\n\t\t\tf.isOneWay = f.isOneWay || chk\n\t\t}\n\n\t\t// Runes that decompose into more than two runes.\n\t\tf.isOneWay = f.isOneWay || len(f.decomp) > 2\n\n\t\tif form == FCompatibility {\n\t\t\tf.isOneWay = f.isOneWay || hasCompatDecomp(c.codePoint)\n\t\t}\n\n\t\tfor _, r := range f.decomp {\n\t\t\tchars[r].forms[form].inDecomp = true\n\t\t}\n\t}\n\n\t// Phase 2: forward and backward combining.\n\tfor i := range chars {\n\t\tc := &chars[i]\n\t\tf := &c.forms[form]\n\n\t\tif !f.isOneWay && len(f.decomp) == 2 {\n\t\t\tf0 := &chars[f.decomp[0]].forms[form]\n\t\t\tf1 := &chars[f.decomp[1]].forms[form]\n\t\t\tif !f0.isOneWay {\n\t\t\t\tf0.combinesForward = true\n\t\t\t}\n\t\t\tif !f1.isOneWay {\n\t\t\t\tf1.combinesBackward = true\n\t\t\t}\n\t\t}\n\t\tif isHangulWithoutJamoT(rune(i)) {\n\t\t\tf.combinesForward = true\n\t\t}\n\t}\n\n\t// Phase 3: quick check values.\n\tfor i := range chars {\n\t\tc := &chars[i]\n\t\tf := &c.forms[form]\n\n\t\tswitch {\n\t\tcase len(f.decomp) > 0:\n\t\t\tf.quickCheck[MDecomposed] = QCNo\n\t\tcase isHangul(rune(i)):\n\t\t\tf.quickCheck[MDecomposed] = QCNo\n\t\tdefault:\n\t\t\tf.quickCheck[MDecomposed] = QCYes\n\t\t}\n\t\tswitch {\n\t\tcase f.isOneWay:\n\t\t\tf.quickCheck[MComposed] = QCNo\n\t\tcase (i & 0xffff00) == JamoLBase:\n\t\t\tf.quickCheck[MComposed] = QCYes\n\t\t\tif JamoLBase <= i && i < JamoLEnd {\n\t\t\t\tf.combinesForward = true\n\t\t\t}\n\t\t\tif JamoVBase <= i && i < JamoVEnd {\n\t\t\t\tf.quickCheck[MComposed] = QCMaybe\n\t\t\t\tf.combinesBackward = true\n\t\t\t\tf.combinesForward = true\n\t\t\t}\n\t\t\tif JamoTBase <= i && i < JamoTEnd {\n\t\t\t\tf.quickCheck[MComposed] = QCMaybe\n\t\t\t\tf.combinesBackward = true\n\t\t\t}\n\t\tcase !f.combinesBackward:\n\t\t\tf.quickCheck[MComposed] = QCYes\n\t\tdefault:\n\t\t\tf.quickCheck[MComposed] = QCMaybe\n\t\t}\n\t}\n}\n\nfunc computeNonStarterCounts() {\n\t// Phase 4: leading and trailing non-starter count\n\tfor i := range chars {\n\t\tc := &chars[i]\n\n\t\trunes := []rune{rune(i)}\n\t\t// We always use FCompatibility so that the CGJ insertion points do not\n\t\t// change for repeated normalizations with different forms.\n\t\tif exp := c.forms[FCompatibility].expandedDecomp; len(exp) > 0 {\n\t\t\trunes = exp\n\t\t}\n\t\t// We consider runes that combine backwards to be non-starters for the\n\t\t// purpose of Stream-Safe Text Processing.\n\t\tfor _, r := range runes {\n\t\t\tif cr := &chars[r]; cr.ccc == 0 && !cr.forms[FCompatibility].combinesBackward {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tc.nLeadingNonStarters++\n\t\t}\n\t\tfor i := len(runes) - 1; i >= 0; i-- {\n\t\t\tif cr := &chars[runes[i]]; cr.ccc == 0 && !cr.forms[FCompatibility].combinesBackward {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tc.nTrailingNonStarters++\n\t\t}\n\t\tif c.nTrailingNonStarters > 3 {\n\t\t\tlog.Fatalf(\"%U: Decomposition with more than 3 (%d) trailing modifiers (%U)\", i, c.nTrailingNonStarters, runes)\n\t\t}\n\n\t\tif isHangul(rune(i)) {\n\t\t\tc.nTrailingNonStarters = 2\n\t\t\tif isHangulWithoutJamoT(rune(i)) {\n\t\t\t\tc.nTrailingNonStarters = 1\n\t\t\t}\n\t\t}\n\n\t\tif l, t := c.nLeadingNonStarters, c.nTrailingNonStarters; l > 0 && l != t {\n\t\t\tlog.Fatalf(\"%U: number of leading and trailing non-starters should be equal (%d vs %d)\", i, l, t)\n\t\t}\n\t\tif t := c.nTrailingNonStarters; t > 3 {\n\t\t\tlog.Fatalf(\"%U: number of trailing non-starters is %d > 3\", t)\n\t\t}\n\t}\n}\n\nfunc printBytes(w io.Writer, b []byte, name string) {\n\tfmt.Fprintf(w, \"// %s: %d bytes\\n\", name, len(b))\n\tfmt.Fprintf(w, \"var %s = [...]byte {\", name)\n\tfor i, c := range b {\n\t\tswitch {\n\t\tcase i%64 == 0:\n\t\t\tfmt.Fprintf(w, \"\\n// Bytes %x - %x\\n\", i, i+63)\n\t\tcase i%8 == 0:\n\t\t\tfmt.Fprintf(w, \"\\n\")\n\t\t}\n\t\tfmt.Fprintf(w, \"0x%.2X, \", c)\n\t}\n\tfmt.Fprint(w, \"\\n}\\n\\n\")\n}\n\n// See forminfo.go for format.\nfunc makeEntry(f *FormInfo, c *Char) uint16 {\n\te := uint16(0)\n\tif r := c.codePoint; HangulBase <= r && r < HangulEnd {\n\t\te |= 0x40\n\t}\n\tif f.combinesForward {\n\t\te |= 0x20\n\t}\n\tif f.quickCheck[MDecomposed] == QCNo {\n\t\te |= 0x4\n\t}\n\tswitch f.quickCheck[MComposed] {\n\tcase QCYes:\n\tcase QCNo:\n\t\te |= 0x10\n\tcase QCMaybe:\n\t\te |= 0x18\n\tdefault:\n\t\tlog.Fatalf(\"Illegal quickcheck value %v.\", f.quickCheck[MComposed])\n\t}\n\te |= uint16(c.nTrailingNonStarters)\n\treturn e\n}\n\n// decompSet keeps track of unique decompositions, grouped by whether\n// the decomposition is followed by a trailing and/or leading CCC.\ntype decompSet [7]map[string]bool\n\nconst (\n\tnormalDecomp = iota\n\tfirstMulti\n\tfirstCCC\n\tendMulti\n\tfirstLeadingCCC\n\tfirstCCCZeroExcept\n\tfirstStarterWithNLead\n\tlastDecomp\n)\n\nvar cname = []string{\"firstMulti\", \"firstCCC\", \"endMulti\", \"firstLeadingCCC\", \"firstCCCZeroExcept\", \"firstStarterWithNLead\", \"lastDecomp\"}\n\nfunc makeDecompSet() decompSet {\n\tm := decompSet{}\n\tfor i := range m {\n\t\tm[i] = make(map[string]bool)\n\t}\n\treturn m\n}\nfunc (m *decompSet) insert(key int, s string) {\n\tm[key][s] = true\n}\n\nfunc printCharInfoTables(w io.Writer) int {\n\tmkstr := func(r rune, f *FormInfo) (int, string) {\n\t\td := f.expandedDecomp\n\t\ts := string([]rune(d))\n\t\tif max := 1 << 6; len(s) >= max {\n\t\t\tconst msg = \"%U: too many bytes in decomposition: %d >= %d\"\n\t\t\tlog.Fatalf(msg, r, len(s), max)\n\t\t}\n\t\thead := uint8(len(s))\n\t\tif f.quickCheck[MComposed] != QCYes {\n\t\t\thead |= 0x40\n\t\t}\n\t\tif f.combinesForward {\n\t\t\thead |= 0x80\n\t\t}\n\t\ts = string([]byte{head}) + s\n\n\t\tlccc := ccc(d[0])\n\t\ttccc := ccc(d[len(d)-1])\n\t\tcc := ccc(r)\n\t\tif cc != 0 && lccc == 0 && tccc == 0 {\n\t\t\tlog.Fatalf(\"%U: trailing and leading ccc are 0 for non-zero ccc %d\", r, cc)\n\t\t}\n\t\tif tccc < lccc && lccc != 0 {\n\t\t\tconst msg = \"%U: lccc (%d) must be <= tcc (%d)\"\n\t\t\tlog.Fatalf(msg, r, lccc, tccc)\n\t\t}\n\t\tindex := normalDecomp\n\t\tnTrail := chars[r].nTrailingNonStarters\n\t\tnLead := chars[r].nLeadingNonStarters\n\t\tif tccc > 0 || lccc > 0 || nTrail > 0 {\n\t\t\ttccc <<= 2\n\t\t\ttccc |= nTrail\n\t\t\ts += string([]byte{tccc})\n\t\t\tindex = endMulti\n\t\t\tfor _, r := range d[1:] {\n\t\t\t\tif ccc(r) == 0 {\n\t\t\t\t\tindex = firstCCC\n\t\t\t\t}\n\t\t\t}\n\t\t\tif lccc > 0 || nLead > 0 {\n\t\t\t\ts += string([]byte{lccc})\n\t\t\t\tif index == firstCCC {\n\t\t\t\t\tlog.Fatalf(\"%U: multi-segment decomposition not supported for decompositions with leading CCC != 0\", r)\n\t\t\t\t}\n\t\t\t\tindex = firstLeadingCCC\n\t\t\t}\n\t\t\tif cc != lccc {\n\t\t\t\tif cc != 0 {\n\t\t\t\t\tlog.Fatalf(\"%U: for lccc != ccc, expected ccc to be 0; was %d\", r, cc)\n\t\t\t\t}\n\t\t\t\tindex = firstCCCZeroExcept\n\t\t\t}\n\t\t} else if len(d) > 1 {\n\t\t\tindex = firstMulti\n\t\t}\n\t\treturn index, s\n\t}\n\n\tdecompSet := makeDecompSet()\n\tconst nLeadStr = \"\\x00\\x01\" // 0-byte length and tccc with nTrail.\n\tdecompSet.insert(firstStarterWithNLead, nLeadStr)\n\n\t// Store the uniqued decompositions in a byte buffer,\n\t// preceded by their byte length.\n\tfor _, c := range chars {\n\t\tfor _, f := range c.forms {\n\t\t\tif len(f.expandedDecomp) == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif f.combinesBackward {\n\t\t\t\tlog.Fatalf(\"%U: combinesBackward and decompose\", c.codePoint)\n\t\t\t}\n\t\t\tindex, s := mkstr(c.codePoint, &f)\n\t\t\tdecompSet.insert(index, s)\n\t\t}\n\t}\n\n\tdecompositions := bytes.NewBuffer(make([]byte, 0, 10000))\n\tsize := 0\n\tpositionMap := make(map[string]uint16)\n\tdecompositions.WriteString(\"\\000\")\n\tfmt.Fprintln(w, \"const (\")\n\tfor i, m := range decompSet {\n\t\tsa := []string{}\n\t\tfor s := range m {\n\t\t\tsa = append(sa, s)\n\t\t}\n\t\tsort.Strings(sa)\n\t\tfor _, s := range sa {\n\t\t\tp := decompositions.Len()\n\t\t\tdecompositions.WriteString(s)\n\t\t\tpositionMap[s] = uint16(p)\n\t\t}\n\t\tif cname[i] != \"\" {\n\t\t\tfmt.Fprintf(w, \"%s = 0x%X\\n\", cname[i], decompositions.Len())\n\t\t}\n\t}\n\tfmt.Fprintln(w, \"maxDecomp = 0x8000\")\n\tfmt.Fprintln(w, \")\")\n\tb := decompositions.Bytes()\n\tprintBytes(w, b, \"decomps\")\n\tsize += len(b)\n\n\tvarnames := []string{\"nfc\", \"nfkc\"}\n\tfor i := 0; i < FNumberOfFormTypes; i++ {\n\t\ttrie := triegen.NewTrie(varnames[i])\n\n\t\tfor r, c := range chars {\n\t\t\tf := c.forms[i]\n\t\t\td := f.expandedDecomp\n\t\t\tif len(d) != 0 {\n\t\t\t\t_, key := mkstr(c.codePoint, &f)\n\t\t\t\ttrie.Insert(rune(r), uint64(positionMap[key]))\n\t\t\t\tif c.ccc != ccc(d[0]) {\n\t\t\t\t\t// We assume the lead ccc of a decomposition !=0 in this case.\n\t\t\t\t\tif ccc(d[0]) == 0 {\n\t\t\t\t\t\tlog.Fatalf(\"Expected leading CCC to be non-zero; ccc is %d\", c.ccc)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if c.nLeadingNonStarters > 0 && len(f.expandedDecomp) == 0 && c.ccc == 0 && !f.combinesBackward {\n\t\t\t\t// Handle cases where it can't be detected that the nLead should be equal\n\t\t\t\t// to nTrail.\n\t\t\t\ttrie.Insert(c.codePoint, uint64(positionMap[nLeadStr]))\n\t\t\t} else if v := makeEntry(&f, &c)<<8 | uint16(c.ccc); v != 0 {\n\t\t\t\ttrie.Insert(c.codePoint, uint64(0x8000|v))\n\t\t\t}\n\t\t}\n\t\tsz, err := trie.Gen(w, triegen.Compact(&normCompacter{name: varnames[i]}))\n\t\tif err != nil {\n\t\t\tlog.Fatal(err)\n\t\t}\n\t\tsize += sz\n\t}\n\treturn size\n}\n\nfunc contains(sa []string, s string) bool {\n\tfor _, a := range sa {\n\t\tif a == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunc makeTables() {\n\tw := &bytes.Buffer{}\n\n\tsize := 0\n\tif *tablelist == \"\" {\n\t\treturn\n\t}\n\tlist := strings.Split(*tablelist, \",\")\n\tif *tablelist == \"all\" {\n\t\tlist = []string{\"recomp\", \"info\"}\n\t}\n\n\t// Compute maximum decomposition size.\n\tmax := 0\n\tfor _, c := range chars {\n\t\tif n := len(string(c.forms[FCompatibility].expandedDecomp)); n > max {\n\t\t\tmax = n\n\t\t}\n\t}\n\n\tfmt.Fprintln(w, \"const (\")\n\tfmt.Fprintln(w, \"\\t// Version is the Unicode edition from which the tables are derived.\")\n\tfmt.Fprintf(w, \"\\tVersion = %q\\n\", gen.UnicodeVersion())\n\tfmt.Fprintln(w)\n\tfmt.Fprintln(w, \"\\t// MaxTransformChunkSize indicates the maximum number of bytes that Transform\")\n\tfmt.Fprintln(w, \"\\t// may need to write atomically for any Form. Making a destination buffer at\")\n\tfmt.Fprintln(w, \"\\t// least this size ensures that Transform can always make progress and that\")\n\tfmt.Fprintln(w, \"\\t// the user does not need to grow the buffer on an ErrShortDst.\")\n\tfmt.Fprintf(w, \"\\tMaxTransformChunkSize = %d+maxNonStarters*4\\n\", len(string(0x034F))+max)\n\tfmt.Fprintln(w, \")\\n\")\n\n\t// Print the CCC remap table.\n\tsize += len(cccMap)\n\tfmt.Fprintf(w, \"var ccc = [%d]uint8{\", len(cccMap))\n\tfor i := 0; i < len(cccMap); i++ {\n\t\tif i%8 == 0 {\n\t\t\tfmt.Fprintln(w)\n\t\t}\n\t\tfmt.Fprintf(w, \"%3d, \", cccMap[uint8(i)])\n\t}\n\tfmt.Fprintln(w, \"\\n}\\n\")\n\n\tif contains(list, \"info\") {\n\t\tsize += printCharInfoTables(w)\n\t}\n\n\tif contains(list, \"recomp\") {\n\t\t// Note that we use 32 bit keys, instead of 64 bit.\n\t\t// This clips the bits of three entries, but we know\n\t\t// this won't cause a collision. The compiler will catch\n\t\t// any changes made to UnicodeData.txt that introduces\n\t\t// a collision.\n\t\t// Note that the recomposition map for NFC and NFKC\n\t\t// are identical.\n\n\t\t// Recomposition map\n\t\tnrentries := 0\n\t\tfor _, c := range chars {\n\t\t\tf := c.forms[FCanonical]\n\t\t\tif !f.isOneWay && len(f.decomp) > 0 {\n\t\t\t\tnrentries++\n\t\t\t}\n\t\t}\n\t\tsz := nrentries * 8\n\t\tsize += sz\n\t\tfmt.Fprintf(w, \"// recompMap: %d bytes (entries only)\\n\", sz)\n\t\tfmt.Fprintln(w, \"var recompMap = map[uint32]rune{\")\n\t\tfor i, c := range chars {\n\t\t\tf := c.forms[FCanonical]\n\t\t\td := f.decomp\n\t\t\tif !f.isOneWay && len(d) > 0 {\n\t\t\t\tkey := uint32(uint16(d[0]))<<16 + uint32(uint16(d[1]))\n\t\t\t\tfmt.Fprintf(w, \"0x%.8X: 0x%.4X,\\n\", key, i)\n\t\t\t}\n\t\t}\n\t\tfmt.Fprintf(w, \"}\\n\\n\")\n\t}\n\n\tfmt.Fprintf(w, \"// Total size of tables: %dKB (%d bytes)\\n\", (size+512)/1024, size)\n\tgen.WriteVersionedGoFile(\"tables.go\", \"norm\", w.Bytes())\n}\n\nfunc printChars() {\n\tif *verbose {\n\t\tfor _, c := range chars {\n\t\t\tif !c.isValid() || c.state == SMissing {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfmt.Println(c)\n\t\t}\n\t}\n}\n\n// verifyComputed does various consistency tests.\nfunc verifyComputed() {\n\tfor i, c := range chars {\n\t\tfor _, f := range c.forms {\n\t\t\tisNo := (f.quickCheck[MDecomposed] == QCNo)\n\t\t\tif (len(f.decomp) > 0) != isNo && !isHangul(rune(i)) {\n\t\t\t\tlog.Fatalf(\"%U: NF*D QC must be No if rune decomposes\", i)\n\t\t\t}\n\n\t\t\tisMaybe := f.quickCheck[MComposed] == QCMaybe\n\t\t\tif f.combinesBackward != isMaybe {\n\t\t\t\tlog.Fatalf(\"%U: NF*C QC must be Maybe if combinesBackward\", i)\n\t\t\t}\n\t\t\tif len(f.decomp) > 0 && f.combinesForward && isMaybe {\n\t\t\t\tlog.Fatalf(\"%U: NF*C QC must be Yes or No if combinesForward and decomposes\", i)\n\t\t\t}\n\n\t\t\tif len(f.expandedDecomp) != 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif a, b := c.nLeadingNonStarters > 0, (c.ccc > 0 || f.combinesBackward); a != b {\n\t\t\t\t// We accept these runes to be treated differently (it only affects\n\t\t\t\t// segment breaking in iteration, most likely on improper use), but\n\t\t\t\t// reconsider if more characters are added.\n\t\t\t\t// U+FF9E HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L;<narrow> 3099;;;;N;;;;;\n\t\t\t\t// U+FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L;<narrow> 309A;;;;N;;;;;\n\t\t\t\t// U+3133 HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<compat> 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;;\n\t\t\t\t// U+318E HANGUL LETTER ARAEAE;Lo;0;L;<compat> 11A1;;;;N;HANGUL LETTER ALAE AE;;;;\n\t\t\t\t// U+FFA3 HALFWIDTH HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<narrow> 3133;;;;N;HALFWIDTH HANGUL LETTER GIYEOG SIOS;;;;\n\t\t\t\t// U+FFDC HALFWIDTH HANGUL LETTER I;Lo;0;L;<narrow> 3163;;;;N;;;;;\n\t\t\t\tif i != 0xFF9E && i != 0xFF9F && !(0x3133 <= i && i <= 0x318E) && !(0xFFA3 <= i && i <= 0xFFDC) {\n\t\t\t\t\tlog.Fatalf(\"%U: nLead was %v; want %v\", i, a, b)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tnfc := c.forms[FCanonical]\n\t\tnfkc := c.forms[FCompatibility]\n\t\tif nfc.combinesBackward != nfkc.combinesBackward {\n\t\t\tlog.Fatalf(\"%U: Cannot combine combinesBackward\\n\", c.codePoint)\n\t\t}\n\t}\n}\n\n// Use values in DerivedNormalizationProps.txt to compare against the\n// values we computed.\n// DerivedNormalizationProps.txt has form:\n// 00C0..00C5    ; NFD_QC; N # ...\n// 0374          ; NFD_QC; N # ...\n// See http://unicode.org/reports/tr44/ for full explanation\nfunc testDerived() {\n\tf := gen.OpenUCDFile(\"DerivedNormalizationProps.txt\")\n\tdefer f.Close()\n\tp := ucd.New(f)\n\tfor p.Next() {\n\t\tr := p.Rune(0)\n\t\tc := &chars[r]\n\n\t\tvar ftype, mode int\n\t\tqt := p.String(1)\n\t\tswitch qt {\n\t\tcase \"NFC_QC\":\n\t\t\tftype, mode = FCanonical, MComposed\n\t\tcase \"NFD_QC\":\n\t\t\tftype, mode = FCanonical, MDecomposed\n\t\tcase \"NFKC_QC\":\n\t\t\tftype, mode = FCompatibility, MComposed\n\t\tcase \"NFKD_QC\":\n\t\t\tftype, mode = FCompatibility, MDecomposed\n\t\tdefault:\n\t\t\tcontinue\n\t\t}\n\t\tvar qr QCResult\n\t\tswitch p.String(2) {\n\t\tcase \"Y\":\n\t\t\tqr = QCYes\n\t\tcase \"N\":\n\t\t\tqr = QCNo\n\t\tcase \"M\":\n\t\t\tqr = QCMaybe\n\t\tdefault:\n\t\t\tlog.Fatalf(`Unexpected quick check value \"%s\"`, p.String(2))\n\t\t}\n\t\tif got := c.forms[ftype].quickCheck[mode]; got != qr {\n\t\t\tlog.Printf(\"%U: FAILED %s (was %v need %v)\\n\", r, qt, got, qr)\n\t\t}\n\t\tc.forms[ftype].verified[mode] = true\n\t}\n\tif err := p.Err(); err != nil {\n\t\tlog.Fatal(err)\n\t}\n\t// Any unspecified value must be QCYes. Verify this.\n\tfor i, c := range chars {\n\t\tfor j, fd := range c.forms {\n\t\t\tfor k, qr := range fd.quickCheck {\n\t\t\t\tif !fd.verified[k] && qr != QCYes {\n\t\t\t\t\tm := \"%U: FAIL F:%d M:%d (was %v need Yes) %s\\n\"\n\t\t\t\t\tlog.Printf(m, i, j, k, qr, c.name)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nvar testHeader = `const (\n\tYes = iota\n\tNo\n\tMaybe\n)\n\ntype formData struct {\n\tqc              uint8\n\tcombinesForward bool\n\tdecomposition   string\n}\n\ntype runeData struct {\n\tr      rune\n\tccc    uint8\n\tnLead  uint8\n\tnTrail uint8\n\tf      [2]formData // 0: canonical; 1: compatibility\n}\n\nfunc f(qc uint8, cf bool, dec string) [2]formData {\n\treturn [2]formData{{qc, cf, dec}, {qc, cf, dec}}\n}\n\nfunc g(qc, qck uint8, cf, cfk bool, d, dk string) [2]formData {\n\treturn [2]formData{{qc, cf, d}, {qck, cfk, dk}}\n}\n\nvar testData = []runeData{\n`\n\nfunc printTestdata() {\n\ttype lastInfo struct {\n\t\tccc    uint8\n\t\tnLead  uint8\n\t\tnTrail uint8\n\t\tf      string\n\t}\n\n\tlast := lastInfo{}\n\tw := &bytes.Buffer{}\n\tfmt.Fprintf(w, testHeader)\n\tfor r, c := range chars {\n\t\tf := c.forms[FCanonical]\n\t\tqc, cf, d := f.quickCheck[MComposed], f.combinesForward, string(f.expandedDecomp)\n\t\tf = c.forms[FCompatibility]\n\t\tqck, cfk, dk := f.quickCheck[MComposed], f.combinesForward, string(f.expandedDecomp)\n\t\ts := \"\"\n\t\tif d == dk && qc == qck && cf == cfk {\n\t\t\ts = fmt.Sprintf(\"f(%s, %v, %q)\", qc, cf, d)\n\t\t} else {\n\t\t\ts = fmt.Sprintf(\"g(%s, %s, %v, %v, %q, %q)\", qc, qck, cf, cfk, d, dk)\n\t\t}\n\t\tcurrent := lastInfo{c.ccc, c.nLeadingNonStarters, c.nTrailingNonStarters, s}\n\t\tif last != current {\n\t\t\tfmt.Fprintf(w, \"\\t{0x%x, %d, %d, %d, %s},\\n\", r, c.origCCC, c.nLeadingNonStarters, c.nTrailingNonStarters, s)\n\t\t\tlast = current\n\t\t}\n\t}\n\tfmt.Fprintln(w, \"}\")\n\tgen.WriteVersionedGoFile(\"data_test.go\", \"norm\", w.Bytes())\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/normalize.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Note: the file data_test.go that is generated should not be checked in.\n//go:generate go run maketables.go triegen.go\n//go:generate go test -tags test\n\n// Package norm contains types and functions for normalizing Unicode strings.\npackage norm // import \"golang.org/x/text/unicode/norm\"\n\nimport (\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/transform\"\n)\n\n// A Form denotes a canonical representation of Unicode code points.\n// The Unicode-defined normalization and equivalence forms are:\n//\n//   NFC   Unicode Normalization Form C\n//   NFD   Unicode Normalization Form D\n//   NFKC  Unicode Normalization Form KC\n//   NFKD  Unicode Normalization Form KD\n//\n// For a Form f, this documentation uses the notation f(x) to mean\n// the bytes or string x converted to the given form.\n// A position n in x is called a boundary if conversion to the form can\n// proceed independently on both sides:\n//   f(x) == append(f(x[0:n]), f(x[n:])...)\n//\n// References: http://unicode.org/reports/tr15/ and\n// http://unicode.org/notes/tn5/.\ntype Form int\n\nconst (\n\tNFC Form = iota\n\tNFD\n\tNFKC\n\tNFKD\n)\n\n// Bytes returns f(b). May return b if f(b) = b.\nfunc (f Form) Bytes(b []byte) []byte {\n\tsrc := inputBytes(b)\n\tft := formTable[f]\n\tn, ok := ft.quickSpan(src, 0, len(b), true)\n\tif ok {\n\t\treturn b\n\t}\n\tout := make([]byte, n, len(b))\n\tcopy(out, b[0:n])\n\trb := reorderBuffer{f: *ft, src: src, nsrc: len(b), out: out, flushF: appendFlush}\n\treturn doAppendInner(&rb, n)\n}\n\n// String returns f(s).\nfunc (f Form) String(s string) string {\n\tsrc := inputString(s)\n\tft := formTable[f]\n\tn, ok := ft.quickSpan(src, 0, len(s), true)\n\tif ok {\n\t\treturn s\n\t}\n\tout := make([]byte, n, len(s))\n\tcopy(out, s[0:n])\n\trb := reorderBuffer{f: *ft, src: src, nsrc: len(s), out: out, flushF: appendFlush}\n\treturn string(doAppendInner(&rb, n))\n}\n\n// IsNormal returns true if b == f(b).\nfunc (f Form) IsNormal(b []byte) bool {\n\tsrc := inputBytes(b)\n\tft := formTable[f]\n\tbp, ok := ft.quickSpan(src, 0, len(b), true)\n\tif ok {\n\t\treturn true\n\t}\n\trb := reorderBuffer{f: *ft, src: src, nsrc: len(b)}\n\trb.setFlusher(nil, cmpNormalBytes)\n\tfor bp < len(b) {\n\t\trb.out = b[bp:]\n\t\tif bp = decomposeSegment(&rb, bp, true); bp < 0 {\n\t\t\treturn false\n\t\t}\n\t\tbp, _ = rb.f.quickSpan(rb.src, bp, len(b), true)\n\t}\n\treturn true\n}\n\nfunc cmpNormalBytes(rb *reorderBuffer) bool {\n\tb := rb.out\n\tfor i := 0; i < rb.nrune; i++ {\n\t\tinfo := rb.rune[i]\n\t\tif int(info.size) > len(b) {\n\t\t\treturn false\n\t\t}\n\t\tp := info.pos\n\t\tpe := p + info.size\n\t\tfor ; p < pe; p++ {\n\t\t\tif b[0] != rb.byte[p] {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tb = b[1:]\n\t\t}\n\t}\n\treturn true\n}\n\n// IsNormalString returns true if s == f(s).\nfunc (f Form) IsNormalString(s string) bool {\n\tsrc := inputString(s)\n\tft := formTable[f]\n\tbp, ok := ft.quickSpan(src, 0, len(s), true)\n\tif ok {\n\t\treturn true\n\t}\n\trb := reorderBuffer{f: *ft, src: src, nsrc: len(s)}\n\trb.setFlusher(nil, func(rb *reorderBuffer) bool {\n\t\tfor i := 0; i < rb.nrune; i++ {\n\t\t\tinfo := rb.rune[i]\n\t\t\tif bp+int(info.size) > len(s) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tp := info.pos\n\t\t\tpe := p + info.size\n\t\t\tfor ; p < pe; p++ {\n\t\t\t\tif s[bp] != rb.byte[p] {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tbp++\n\t\t\t}\n\t\t}\n\t\treturn true\n\t})\n\tfor bp < len(s) {\n\t\tif bp = decomposeSegment(&rb, bp, true); bp < 0 {\n\t\t\treturn false\n\t\t}\n\t\tbp, _ = rb.f.quickSpan(rb.src, bp, len(s), true)\n\t}\n\treturn true\n}\n\n// patchTail fixes a case where a rune may be incorrectly normalized\n// if it is followed by illegal continuation bytes. It returns the\n// patched buffer and whether the decomposition is still in progress.\nfunc patchTail(rb *reorderBuffer) bool {\n\tinfo, p := lastRuneStart(&rb.f, rb.out)\n\tif p == -1 || info.size == 0 {\n\t\treturn true\n\t}\n\tend := p + int(info.size)\n\textra := len(rb.out) - end\n\tif extra > 0 {\n\t\t// Potentially allocating memory. However, this only\n\t\t// happens with ill-formed UTF-8.\n\t\tx := make([]byte, 0)\n\t\tx = append(x, rb.out[len(rb.out)-extra:]...)\n\t\trb.out = rb.out[:end]\n\t\tdecomposeToLastBoundary(rb)\n\t\trb.doFlush()\n\t\trb.out = append(rb.out, x...)\n\t\treturn false\n\t}\n\tbuf := rb.out[p:]\n\trb.out = rb.out[:p]\n\tdecomposeToLastBoundary(rb)\n\tif s := rb.ss.next(info); s == ssStarter {\n\t\trb.doFlush()\n\t\trb.ss.first(info)\n\t} else if s == ssOverflow {\n\t\trb.doFlush()\n\t\trb.insertCGJ()\n\t\trb.ss = 0\n\t}\n\trb.insertUnsafe(inputBytes(buf), 0, info)\n\treturn true\n}\n\nfunc appendQuick(rb *reorderBuffer, i int) int {\n\tif rb.nsrc == i {\n\t\treturn i\n\t}\n\tend, _ := rb.f.quickSpan(rb.src, i, rb.nsrc, true)\n\trb.out = rb.src.appendSlice(rb.out, i, end)\n\treturn end\n}\n\n// Append returns f(append(out, b...)).\n// The buffer out must be nil, empty, or equal to f(out).\nfunc (f Form) Append(out []byte, src ...byte) []byte {\n\treturn f.doAppend(out, inputBytes(src), len(src))\n}\n\nfunc (f Form) doAppend(out []byte, src input, n int) []byte {\n\tif n == 0 {\n\t\treturn out\n\t}\n\tft := formTable[f]\n\t// Attempt to do a quickSpan first so we can avoid initializing the reorderBuffer.\n\tif len(out) == 0 {\n\t\tp, _ := ft.quickSpan(src, 0, n, true)\n\t\tout = src.appendSlice(out, 0, p)\n\t\tif p == n {\n\t\t\treturn out\n\t\t}\n\t\trb := reorderBuffer{f: *ft, src: src, nsrc: n, out: out, flushF: appendFlush}\n\t\treturn doAppendInner(&rb, p)\n\t}\n\trb := reorderBuffer{f: *ft, src: src, nsrc: n}\n\treturn doAppend(&rb, out, 0)\n}\n\nfunc doAppend(rb *reorderBuffer, out []byte, p int) []byte {\n\trb.setFlusher(out, appendFlush)\n\tsrc, n := rb.src, rb.nsrc\n\tdoMerge := len(out) > 0\n\tif q := src.skipContinuationBytes(p); q > p {\n\t\t// Move leading non-starters to destination.\n\t\trb.out = src.appendSlice(rb.out, p, q)\n\t\tp = q\n\t\tdoMerge = patchTail(rb)\n\t}\n\tfd := &rb.f\n\tif doMerge {\n\t\tvar info Properties\n\t\tif p < n {\n\t\t\tinfo = fd.info(src, p)\n\t\t\tif !info.BoundaryBefore() || info.nLeadingNonStarters() > 0 {\n\t\t\t\tif p == 0 {\n\t\t\t\t\tdecomposeToLastBoundary(rb)\n\t\t\t\t}\n\t\t\t\tp = decomposeSegment(rb, p, true)\n\t\t\t}\n\t\t}\n\t\tif info.size == 0 {\n\t\t\trb.doFlush()\n\t\t\t// Append incomplete UTF-8 encoding.\n\t\t\treturn src.appendSlice(rb.out, p, n)\n\t\t}\n\t\tif rb.nrune > 0 {\n\t\t\treturn doAppendInner(rb, p)\n\t\t}\n\t}\n\tp = appendQuick(rb, p)\n\treturn doAppendInner(rb, p)\n}\n\nfunc doAppendInner(rb *reorderBuffer, p int) []byte {\n\tfor n := rb.nsrc; p < n; {\n\t\tp = decomposeSegment(rb, p, true)\n\t\tp = appendQuick(rb, p)\n\t}\n\treturn rb.out\n}\n\n// AppendString returns f(append(out, []byte(s))).\n// The buffer out must be nil, empty, or equal to f(out).\nfunc (f Form) AppendString(out []byte, src string) []byte {\n\treturn f.doAppend(out, inputString(src), len(src))\n}\n\n// QuickSpan returns a boundary n such that b[0:n] == f(b[0:n]).\n// It is not guaranteed to return the largest such n.\nfunc (f Form) QuickSpan(b []byte) int {\n\tn, _ := formTable[f].quickSpan(inputBytes(b), 0, len(b), true)\n\treturn n\n}\n\n// Span implements transform.SpanningTransformer. It returns a boundary n such\n// that b[0:n] == f(b[0:n]). It is not guaranteed to return the largest such n.\nfunc (f Form) Span(b []byte, atEOF bool) (n int, err error) {\n\tn, ok := formTable[f].quickSpan(inputBytes(b), 0, len(b), atEOF)\n\tif n < len(b) {\n\t\tif !ok {\n\t\t\terr = transform.ErrEndOfSpan\n\t\t} else {\n\t\t\terr = transform.ErrShortSrc\n\t\t}\n\t}\n\treturn n, err\n}\n\n// SpanString returns a boundary n such that s[0:n] == f(s[0:n]).\n// It is not guaranteed to return the largest such n.\nfunc (f Form) SpanString(s string, atEOF bool) (n int, err error) {\n\tn, ok := formTable[f].quickSpan(inputString(s), 0, len(s), atEOF)\n\tif n < len(s) {\n\t\tif !ok {\n\t\t\terr = transform.ErrEndOfSpan\n\t\t} else {\n\t\t\terr = transform.ErrShortSrc\n\t\t}\n\t}\n\treturn n, err\n}\n\n// quickSpan returns a boundary n such that src[0:n] == f(src[0:n]) and\n// whether any non-normalized parts were found. If atEOF is false, n will\n// not point past the last segment if this segment might be become\n// non-normalized by appending other runes.\nfunc (f *formInfo) quickSpan(src input, i, end int, atEOF bool) (n int, ok bool) {\n\tvar lastCC uint8\n\tss := streamSafe(0)\n\tlastSegStart := i\n\tfor n = end; i < n; {\n\t\tif j := src.skipASCII(i, n); i != j {\n\t\t\ti = j\n\t\t\tlastSegStart = i - 1\n\t\t\tlastCC = 0\n\t\t\tss = 0\n\t\t\tcontinue\n\t\t}\n\t\tinfo := f.info(src, i)\n\t\tif info.size == 0 {\n\t\t\tif atEOF {\n\t\t\t\t// include incomplete runes\n\t\t\t\treturn n, true\n\t\t\t}\n\t\t\treturn lastSegStart, true\n\t\t}\n\t\t// This block needs to be before the next, because it is possible to\n\t\t// have an overflow for runes that are starters (e.g. with U+FF9E).\n\t\tswitch ss.next(info) {\n\t\tcase ssStarter:\n\t\t\tlastSegStart = i\n\t\tcase ssOverflow:\n\t\t\treturn lastSegStart, false\n\t\tcase ssSuccess:\n\t\t\tif lastCC > info.ccc {\n\t\t\t\treturn lastSegStart, false\n\t\t\t}\n\t\t}\n\t\tif f.composing {\n\t\t\tif !info.isYesC() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif !info.isYesD() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tlastCC = info.ccc\n\t\ti += int(info.size)\n\t}\n\tif i == n {\n\t\tif !atEOF {\n\t\t\tn = lastSegStart\n\t\t}\n\t\treturn n, true\n\t}\n\treturn lastSegStart, false\n}\n\n// QuickSpanString returns a boundary n such that s[0:n] == f(s[0:n]).\n// It is not guaranteed to return the largest such n.\nfunc (f Form) QuickSpanString(s string) int {\n\tn, _ := formTable[f].quickSpan(inputString(s), 0, len(s), true)\n\treturn n\n}\n\n// FirstBoundary returns the position i of the first boundary in b\n// or -1 if b contains no boundary.\nfunc (f Form) FirstBoundary(b []byte) int {\n\treturn f.firstBoundary(inputBytes(b), len(b))\n}\n\nfunc (f Form) firstBoundary(src input, nsrc int) int {\n\ti := src.skipContinuationBytes(0)\n\tif i >= nsrc {\n\t\treturn -1\n\t}\n\tfd := formTable[f]\n\tss := streamSafe(0)\n\t// We should call ss.first here, but we can't as the first rune is\n\t// skipped already. This means FirstBoundary can't really determine\n\t// CGJ insertion points correctly. Luckily it doesn't have to.\n\tfor {\n\t\tinfo := fd.info(src, i)\n\t\tif info.size == 0 {\n\t\t\treturn -1\n\t\t}\n\t\tif s := ss.next(info); s != ssSuccess {\n\t\t\treturn i\n\t\t}\n\t\ti += int(info.size)\n\t\tif i >= nsrc {\n\t\t\tif !info.BoundaryAfter() && !ss.isMax() {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\treturn nsrc\n\t\t}\n\t}\n}\n\n// FirstBoundaryInString returns the position i of the first boundary in s\n// or -1 if s contains no boundary.\nfunc (f Form) FirstBoundaryInString(s string) int {\n\treturn f.firstBoundary(inputString(s), len(s))\n}\n\n// NextBoundary reports the index of the boundary between the first and next\n// segment in b or -1 if atEOF is false and there are not enough bytes to\n// determine this boundary.\nfunc (f Form) NextBoundary(b []byte, atEOF bool) int {\n\treturn f.nextBoundary(inputBytes(b), len(b), atEOF)\n}\n\n// NextBoundaryInString reports the index of the boundary between the first and\n// next segment in b or -1 if atEOF is false and there are not enough bytes to\n// determine this boundary.\nfunc (f Form) NextBoundaryInString(s string, atEOF bool) int {\n\treturn f.nextBoundary(inputString(s), len(s), atEOF)\n}\n\nfunc (f Form) nextBoundary(src input, nsrc int, atEOF bool) int {\n\tif nsrc == 0 {\n\t\tif atEOF {\n\t\t\treturn 0\n\t\t}\n\t\treturn -1\n\t}\n\tfd := formTable[f]\n\tinfo := fd.info(src, 0)\n\tif info.size == 0 {\n\t\tif atEOF {\n\t\t\treturn 1\n\t\t}\n\t\treturn -1\n\t}\n\tss := streamSafe(0)\n\tss.first(info)\n\n\tfor i := int(info.size); i < nsrc; i += int(info.size) {\n\t\tinfo = fd.info(src, i)\n\t\tif info.size == 0 {\n\t\t\tif atEOF {\n\t\t\t\treturn i\n\t\t\t}\n\t\t\treturn -1\n\t\t}\n\t\t// TODO: Using streamSafe to determine the boundary isn't the same as\n\t\t// using BoundaryBefore. Determine which should be used.\n\t\tif s := ss.next(info); s != ssSuccess {\n\t\t\treturn i\n\t\t}\n\t}\n\tif !atEOF && !info.BoundaryAfter() && !ss.isMax() {\n\t\treturn -1\n\t}\n\treturn nsrc\n}\n\n// LastBoundary returns the position i of the last boundary in b\n// or -1 if b contains no boundary.\nfunc (f Form) LastBoundary(b []byte) int {\n\treturn lastBoundary(formTable[f], b)\n}\n\nfunc lastBoundary(fd *formInfo, b []byte) int {\n\ti := len(b)\n\tinfo, p := lastRuneStart(fd, b)\n\tif p == -1 {\n\t\treturn -1\n\t}\n\tif info.size == 0 { // ends with incomplete rune\n\t\tif p == 0 { // starts with incomplete rune\n\t\t\treturn -1\n\t\t}\n\t\ti = p\n\t\tinfo, p = lastRuneStart(fd, b[:i])\n\t\tif p == -1 { // incomplete UTF-8 encoding or non-starter bytes without a starter\n\t\t\treturn i\n\t\t}\n\t}\n\tif p+int(info.size) != i { // trailing non-starter bytes: illegal UTF-8\n\t\treturn i\n\t}\n\tif info.BoundaryAfter() {\n\t\treturn i\n\t}\n\tss := streamSafe(0)\n\tv := ss.backwards(info)\n\tfor i = p; i >= 0 && v != ssStarter; i = p {\n\t\tinfo, p = lastRuneStart(fd, b[:i])\n\t\tif v = ss.backwards(info); v == ssOverflow {\n\t\t\tbreak\n\t\t}\n\t\tif p+int(info.size) != i {\n\t\t\tif p == -1 { // no boundary found\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\treturn i // boundary after an illegal UTF-8 encoding\n\t\t}\n\t}\n\treturn i\n}\n\n// decomposeSegment scans the first segment in src into rb. It inserts 0x034f\n// (Grapheme Joiner) when it encounters a sequence of more than 30 non-starters\n// and returns the number of bytes consumed from src or iShortDst or iShortSrc.\nfunc decomposeSegment(rb *reorderBuffer, sp int, atEOF bool) int {\n\t// Force one character to be consumed.\n\tinfo := rb.f.info(rb.src, sp)\n\tif info.size == 0 {\n\t\treturn 0\n\t}\n\tif s := rb.ss.next(info); s == ssStarter {\n\t\t// TODO: this could be removed if we don't support merging.\n\t\tif rb.nrune > 0 {\n\t\t\tgoto end\n\t\t}\n\t} else if s == ssOverflow {\n\t\trb.insertCGJ()\n\t\tgoto end\n\t}\n\tif err := rb.insertFlush(rb.src, sp, info); err != iSuccess {\n\t\treturn int(err)\n\t}\n\tfor {\n\t\tsp += int(info.size)\n\t\tif sp >= rb.nsrc {\n\t\t\tif !atEOF && !info.BoundaryAfter() {\n\t\t\t\treturn int(iShortSrc)\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tinfo = rb.f.info(rb.src, sp)\n\t\tif info.size == 0 {\n\t\t\tif !atEOF {\n\t\t\t\treturn int(iShortSrc)\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tif s := rb.ss.next(info); s == ssStarter {\n\t\t\tbreak\n\t\t} else if s == ssOverflow {\n\t\t\trb.insertCGJ()\n\t\t\tbreak\n\t\t}\n\t\tif err := rb.insertFlush(rb.src, sp, info); err != iSuccess {\n\t\t\treturn int(err)\n\t\t}\n\t}\nend:\n\tif !rb.doFlush() {\n\t\treturn int(iShortDst)\n\t}\n\treturn sp\n}\n\n// lastRuneStart returns the runeInfo and position of the last\n// rune in buf or the zero runeInfo and -1 if no rune was found.\nfunc lastRuneStart(fd *formInfo, buf []byte) (Properties, int) {\n\tp := len(buf) - 1\n\tfor ; p >= 0 && !utf8.RuneStart(buf[p]); p-- {\n\t}\n\tif p < 0 {\n\t\treturn Properties{}, -1\n\t}\n\treturn fd.info(inputBytes(buf), p), p\n}\n\n// decomposeToLastBoundary finds an open segment at the end of the buffer\n// and scans it into rb. Returns the buffer minus the last segment.\nfunc decomposeToLastBoundary(rb *reorderBuffer) {\n\tfd := &rb.f\n\tinfo, i := lastRuneStart(fd, rb.out)\n\tif int(info.size) != len(rb.out)-i {\n\t\t// illegal trailing continuation bytes\n\t\treturn\n\t}\n\tif info.BoundaryAfter() {\n\t\treturn\n\t}\n\tvar add [maxNonStarters + 1]Properties // stores runeInfo in reverse order\n\tpadd := 0\n\tss := streamSafe(0)\n\tp := len(rb.out)\n\tfor {\n\t\tadd[padd] = info\n\t\tv := ss.backwards(info)\n\t\tif v == ssOverflow {\n\t\t\t// Note that if we have an overflow, it the string we are appending to\n\t\t\t// is not correctly normalized. In this case the behavior is undefined.\n\t\t\tbreak\n\t\t}\n\t\tpadd++\n\t\tp -= int(info.size)\n\t\tif v == ssStarter || p < 0 {\n\t\t\tbreak\n\t\t}\n\t\tinfo, i = lastRuneStart(fd, rb.out[:p])\n\t\tif int(info.size) != p-i {\n\t\t\tbreak\n\t\t}\n\t}\n\trb.ss = ss\n\t// Copy bytes for insertion as we may need to overwrite rb.out.\n\tvar buf [maxBufferSize * utf8.UTFMax]byte\n\tcp := buf[:copy(buf[:], rb.out[p:])]\n\trb.out = rb.out[:p]\n\tfor padd--; padd >= 0; padd-- {\n\t\tinfo = add[padd]\n\t\trb.insertUnsafe(inputBytes(cp), 0, info)\n\t\tcp = cp[info.size:]\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/readwriter.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\nimport \"io\"\n\ntype normWriter struct {\n\trb  reorderBuffer\n\tw   io.Writer\n\tbuf []byte\n}\n\n// Write implements the standard write interface.  If the last characters are\n// not at a normalization boundary, the bytes will be buffered for the next\n// write. The remaining bytes will be written on close.\nfunc (w *normWriter) Write(data []byte) (n int, err error) {\n\t// Process data in pieces to keep w.buf size bounded.\n\tconst chunk = 4000\n\n\tfor len(data) > 0 {\n\t\t// Normalize into w.buf.\n\t\tm := len(data)\n\t\tif m > chunk {\n\t\t\tm = chunk\n\t\t}\n\t\tw.rb.src = inputBytes(data[:m])\n\t\tw.rb.nsrc = m\n\t\tw.buf = doAppend(&w.rb, w.buf, 0)\n\t\tdata = data[m:]\n\t\tn += m\n\n\t\t// Write out complete prefix, save remainder.\n\t\t// Note that lastBoundary looks back at most 31 runes.\n\t\ti := lastBoundary(&w.rb.f, w.buf)\n\t\tif i == -1 {\n\t\t\ti = 0\n\t\t}\n\t\tif i > 0 {\n\t\t\tif _, err = w.w.Write(w.buf[:i]); err != nil {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tbn := copy(w.buf, w.buf[i:])\n\t\t\tw.buf = w.buf[:bn]\n\t\t}\n\t}\n\treturn n, err\n}\n\n// Close forces data that remains in the buffer to be written.\nfunc (w *normWriter) Close() error {\n\tif len(w.buf) > 0 {\n\t\t_, err := w.w.Write(w.buf)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\n// Writer returns a new writer that implements Write(b)\n// by writing f(b) to w.  The returned writer may use an\n// an internal buffer to maintain state across Write calls.\n// Calling its Close method writes any buffered data to w.\nfunc (f Form) Writer(w io.Writer) io.WriteCloser {\n\twr := &normWriter{rb: reorderBuffer{}, w: w}\n\twr.rb.init(f, nil)\n\treturn wr\n}\n\ntype normReader struct {\n\trb           reorderBuffer\n\tr            io.Reader\n\tinbuf        []byte\n\toutbuf       []byte\n\tbufStart     int\n\tlastBoundary int\n\terr          error\n}\n\n// Read implements the standard read interface.\nfunc (r *normReader) Read(p []byte) (int, error) {\n\tfor {\n\t\tif r.lastBoundary-r.bufStart > 0 {\n\t\t\tn := copy(p, r.outbuf[r.bufStart:r.lastBoundary])\n\t\t\tr.bufStart += n\n\t\t\tif r.lastBoundary-r.bufStart > 0 {\n\t\t\t\treturn n, nil\n\t\t\t}\n\t\t\treturn n, r.err\n\t\t}\n\t\tif r.err != nil {\n\t\t\treturn 0, r.err\n\t\t}\n\t\toutn := copy(r.outbuf, r.outbuf[r.lastBoundary:])\n\t\tr.outbuf = r.outbuf[0:outn]\n\t\tr.bufStart = 0\n\n\t\tn, err := r.r.Read(r.inbuf)\n\t\tr.rb.src = inputBytes(r.inbuf[0:n])\n\t\tr.rb.nsrc, r.err = n, err\n\t\tif n > 0 {\n\t\t\tr.outbuf = doAppend(&r.rb, r.outbuf, 0)\n\t\t}\n\t\tif err == io.EOF {\n\t\t\tr.lastBoundary = len(r.outbuf)\n\t\t} else {\n\t\t\tr.lastBoundary = lastBoundary(&r.rb.f, r.outbuf)\n\t\t\tif r.lastBoundary == -1 {\n\t\t\t\tr.lastBoundary = 0\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Reader returns a new reader that implements Read\n// by reading data from r and returning f(data).\nfunc (f Form) Reader(r io.Reader) io.Reader {\n\tconst chunk = 4000\n\tbuf := make([]byte, chunk)\n\trr := &normReader{rb: reorderBuffer{}, r: r, inbuf: buf}\n\trr.rb.init(f, buf)\n\treturn rr\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/tables10.0.0.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// +build go1.10\n\npackage norm\n\nconst (\n\t// Version is the Unicode edition from which the tables are derived.\n\tVersion = \"10.0.0\"\n\n\t// MaxTransformChunkSize indicates the maximum number of bytes that Transform\n\t// may need to write atomically for any Form. Making a destination buffer at\n\t// least this size ensures that Transform can always make progress and that\n\t// the user does not need to grow the buffer on an ErrShortDst.\n\tMaxTransformChunkSize = 35 + maxNonStarters*4\n)\n\nvar ccc = [55]uint8{\n\t0, 1, 7, 8, 9, 10, 11, 12,\n\t13, 14, 15, 16, 17, 18, 19, 20,\n\t21, 22, 23, 24, 25, 26, 27, 28,\n\t29, 30, 31, 32, 33, 34, 35, 36,\n\t84, 91, 103, 107, 118, 122, 129, 130,\n\t132, 202, 214, 216, 218, 220, 222, 224,\n\t226, 228, 230, 232, 233, 234, 240,\n}\n\nconst (\n\tfirstMulti            = 0x186D\n\tfirstCCC              = 0x2C9E\n\tendMulti              = 0x2F60\n\tfirstLeadingCCC       = 0x49AE\n\tfirstCCCZeroExcept    = 0x4A78\n\tfirstStarterWithNLead = 0x4A9F\n\tlastDecomp            = 0x4AA1\n\tmaxDecomp             = 0x8000\n)\n\n// decomps: 19105 bytes\nvar decomps = [...]byte{\n\t// Bytes 0 - 3f\n\t0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41,\n\t0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41,\n\t0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41,\n\t0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41,\n\t0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41,\n\t0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41,\n\t0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41,\n\t0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41,\n\t// Bytes 40 - 7f\n\t0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41,\n\t0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41,\n\t0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41,\n\t0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41,\n\t0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41,\n\t0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41,\n\t0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41,\n\t0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41,\n\t// Bytes 80 - bf\n\t0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41,\n\t0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41,\n\t0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41,\n\t0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41,\n\t0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41,\n\t0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41,\n\t0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41,\n\t0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42,\n\t// Bytes c0 - ff\n\t0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5,\n\t0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2,\n\t0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42,\n\t0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1,\n\t0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6,\n\t0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42,\n\t0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90,\n\t0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9,\n\t// Bytes 100 - 13f\n\t0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42,\n\t0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F,\n\t0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9,\n\t0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42,\n\t0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB,\n\t0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9,\n\t0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42,\n\t0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5,\n\t// Bytes 140 - 17f\n\t0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9,\n\t0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42,\n\t0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A,\n\t0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA,\n\t0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42,\n\t0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F,\n\t0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE,\n\t0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42,\n\t// Bytes 180 - 1bf\n\t0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97,\n\t0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE,\n\t0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42,\n\t0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F,\n\t0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE,\n\t0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42,\n\t0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8,\n\t0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE,\n\t// Bytes 1c0 - 1ff\n\t0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42,\n\t0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7,\n\t0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE,\n\t0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42,\n\t0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF,\n\t0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF,\n\t0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42,\n\t0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87,\n\t// Bytes 200 - 23f\n\t0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF,\n\t0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42,\n\t0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90,\n\t0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7,\n\t0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42,\n\t0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2,\n\t0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8,\n\t0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42,\n\t// Bytes 240 - 27f\n\t0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB,\n\t0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8,\n\t0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42,\n\t0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3,\n\t0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8,\n\t0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42,\n\t0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81,\n\t0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9,\n\t// Bytes 280 - 2bf\n\t0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42,\n\t0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89,\n\t0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9,\n\t0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42,\n\t0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE,\n\t0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA,\n\t0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42,\n\t0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C,\n\t// Bytes 2c0 - 2ff\n\t0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA,\n\t0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42,\n\t0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9,\n\t0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA,\n\t0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42,\n\t0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81,\n\t0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB,\n\t0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42,\n\t// Bytes 300 - 33f\n\t0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90,\n\t0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43,\n\t0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43,\n\t0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43,\n\t0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43,\n\t0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43,\n\t0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43,\n\t0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43,\n\t// Bytes 340 - 37f\n\t0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43,\n\t0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43,\n\t0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43,\n\t0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43,\n\t0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43,\n\t0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43,\n\t0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43,\n\t0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43,\n\t// Bytes 380 - 3bf\n\t0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43,\n\t0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43,\n\t0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43,\n\t0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43,\n\t0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43,\n\t0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43,\n\t0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43,\n\t0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43,\n\t// Bytes 3c0 - 3ff\n\t0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43,\n\t0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43,\n\t0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43,\n\t0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43,\n\t0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43,\n\t0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43,\n\t0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43,\n\t0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43,\n\t// Bytes 400 - 43f\n\t0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43,\n\t0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43,\n\t0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43,\n\t0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43,\n\t0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43,\n\t0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43,\n\t0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43,\n\t0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43,\n\t// Bytes 440 - 47f\n\t0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43,\n\t0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43,\n\t0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43,\n\t0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43,\n\t0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43,\n\t0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43,\n\t0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43,\n\t0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43,\n\t// Bytes 480 - 4bf\n\t0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43,\n\t0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43,\n\t0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43,\n\t0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43,\n\t0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43,\n\t0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43,\n\t0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43,\n\t0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43,\n\t// Bytes 4c0 - 4ff\n\t0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43,\n\t0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43,\n\t0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43,\n\t0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43,\n\t0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43,\n\t0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43,\n\t0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43,\n\t0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43,\n\t// Bytes 500 - 53f\n\t0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43,\n\t0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43,\n\t0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43,\n\t0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43,\n\t0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43,\n\t0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43,\n\t0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43,\n\t0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43,\n\t// Bytes 540 - 57f\n\t0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43,\n\t0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43,\n\t0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43,\n\t0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43,\n\t0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43,\n\t0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43,\n\t0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43,\n\t0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43,\n\t// Bytes 580 - 5bf\n\t0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43,\n\t0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43,\n\t0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43,\n\t0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43,\n\t0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43,\n\t0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43,\n\t0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43,\n\t0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43,\n\t// Bytes 5c0 - 5ff\n\t0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43,\n\t0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43,\n\t0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43,\n\t0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43,\n\t0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43,\n\t0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43,\n\t0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43,\n\t0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43,\n\t// Bytes 600 - 63f\n\t0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43,\n\t0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43,\n\t0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43,\n\t0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43,\n\t0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43,\n\t0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43,\n\t0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43,\n\t0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43,\n\t// Bytes 640 - 67f\n\t0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43,\n\t0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43,\n\t0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43,\n\t0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43,\n\t0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43,\n\t0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43,\n\t0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43,\n\t0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43,\n\t// Bytes 680 - 6bf\n\t0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43,\n\t0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43,\n\t0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43,\n\t0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43,\n\t0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43,\n\t0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43,\n\t0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43,\n\t0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43,\n\t// Bytes 6c0 - 6ff\n\t0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43,\n\t0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43,\n\t0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43,\n\t0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43,\n\t0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43,\n\t0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43,\n\t0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43,\n\t0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43,\n\t// Bytes 700 - 73f\n\t0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43,\n\t0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43,\n\t0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43,\n\t0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43,\n\t0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43,\n\t0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43,\n\t0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43,\n\t0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43,\n\t// Bytes 740 - 77f\n\t0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43,\n\t0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43,\n\t0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43,\n\t0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43,\n\t0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43,\n\t0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43,\n\t0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43,\n\t0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43,\n\t// Bytes 780 - 7bf\n\t0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43,\n\t0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43,\n\t0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43,\n\t0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43,\n\t0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43,\n\t0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43,\n\t0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43,\n\t0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43,\n\t// Bytes 7c0 - 7ff\n\t0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43,\n\t0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43,\n\t0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43,\n\t0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43,\n\t0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43,\n\t0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43,\n\t0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43,\n\t0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43,\n\t// Bytes 800 - 83f\n\t0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43,\n\t0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43,\n\t0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43,\n\t0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43,\n\t0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43,\n\t0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43,\n\t0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43,\n\t0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43,\n\t// Bytes 840 - 87f\n\t0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43,\n\t0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43,\n\t0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43,\n\t0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43,\n\t0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43,\n\t0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43,\n\t0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43,\n\t0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43,\n\t// Bytes 880 - 8bf\n\t0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43,\n\t0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43,\n\t0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43,\n\t0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43,\n\t0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43,\n\t0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43,\n\t0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43,\n\t0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43,\n\t// Bytes 8c0 - 8ff\n\t0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43,\n\t0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43,\n\t0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43,\n\t0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43,\n\t0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43,\n\t0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43,\n\t0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43,\n\t0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43,\n\t// Bytes 900 - 93f\n\t0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43,\n\t0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43,\n\t0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43,\n\t0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43,\n\t0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43,\n\t0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43,\n\t0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43,\n\t0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43,\n\t// Bytes 940 - 97f\n\t0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43,\n\t0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43,\n\t0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43,\n\t0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43,\n\t0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43,\n\t0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43,\n\t0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43,\n\t0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43,\n\t// Bytes 980 - 9bf\n\t0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43,\n\t0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43,\n\t0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43,\n\t0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43,\n\t0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43,\n\t0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43,\n\t0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43,\n\t0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43,\n\t// Bytes 9c0 - 9ff\n\t0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43,\n\t0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43,\n\t0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43,\n\t0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43,\n\t0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43,\n\t0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43,\n\t0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43,\n\t0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43,\n\t// Bytes a00 - a3f\n\t0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43,\n\t0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43,\n\t0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43,\n\t0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43,\n\t0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43,\n\t0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43,\n\t0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43,\n\t0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43,\n\t// Bytes a40 - a7f\n\t0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43,\n\t0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43,\n\t0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43,\n\t0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43,\n\t0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43,\n\t0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43,\n\t0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43,\n\t0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43,\n\t// Bytes a80 - abf\n\t0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43,\n\t0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43,\n\t0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43,\n\t0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43,\n\t0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43,\n\t0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43,\n\t0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43,\n\t0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43,\n\t// Bytes ac0 - aff\n\t0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43,\n\t0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43,\n\t0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43,\n\t0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43,\n\t0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43,\n\t0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43,\n\t0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43,\n\t0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43,\n\t// Bytes b00 - b3f\n\t0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43,\n\t0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43,\n\t0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43,\n\t0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43,\n\t0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43,\n\t0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43,\n\t0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43,\n\t0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43,\n\t// Bytes b40 - b7f\n\t0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43,\n\t0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43,\n\t0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43,\n\t0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43,\n\t0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43,\n\t0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43,\n\t0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43,\n\t0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43,\n\t// Bytes b80 - bbf\n\t0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43,\n\t0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43,\n\t0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43,\n\t0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43,\n\t0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43,\n\t0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43,\n\t0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43,\n\t0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43,\n\t// Bytes bc0 - bff\n\t0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43,\n\t0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43,\n\t0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43,\n\t0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43,\n\t0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43,\n\t0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43,\n\t0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43,\n\t0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43,\n\t// Bytes c00 - c3f\n\t0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43,\n\t0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43,\n\t0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43,\n\t0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43,\n\t0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43,\n\t0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43,\n\t0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43,\n\t0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43,\n\t// Bytes c40 - c7f\n\t0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43,\n\t0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43,\n\t0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43,\n\t0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43,\n\t0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43,\n\t0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43,\n\t0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43,\n\t0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43,\n\t// Bytes c80 - cbf\n\t0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43,\n\t0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43,\n\t0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43,\n\t0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43,\n\t0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43,\n\t0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43,\n\t0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43,\n\t0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43,\n\t// Bytes cc0 - cff\n\t0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43,\n\t0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43,\n\t0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43,\n\t0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43,\n\t0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43,\n\t0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43,\n\t0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43,\n\t0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43,\n\t// Bytes d00 - d3f\n\t0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43,\n\t0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43,\n\t0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43,\n\t0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43,\n\t0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43,\n\t0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43,\n\t0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43,\n\t0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43,\n\t// Bytes d40 - d7f\n\t0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43,\n\t0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43,\n\t0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43,\n\t0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43,\n\t0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43,\n\t0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43,\n\t0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43,\n\t0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43,\n\t// Bytes d80 - dbf\n\t0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43,\n\t0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43,\n\t0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43,\n\t0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43,\n\t0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43,\n\t0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43,\n\t0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43,\n\t0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43,\n\t// Bytes dc0 - dff\n\t0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43,\n\t0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43,\n\t0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43,\n\t0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43,\n\t0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43,\n\t0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43,\n\t0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43,\n\t0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43,\n\t// Bytes e00 - e3f\n\t0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43,\n\t0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43,\n\t0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43,\n\t0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43,\n\t0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43,\n\t0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43,\n\t0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43,\n\t0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43,\n\t// Bytes e40 - e7f\n\t0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43,\n\t0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43,\n\t0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43,\n\t0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43,\n\t0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43,\n\t0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43,\n\t0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43,\n\t0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43,\n\t// Bytes e80 - ebf\n\t0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43,\n\t0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43,\n\t0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43,\n\t0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43,\n\t0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43,\n\t0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43,\n\t0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43,\n\t0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43,\n\t// Bytes ec0 - eff\n\t0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43,\n\t0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43,\n\t0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43,\n\t0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43,\n\t0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43,\n\t0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43,\n\t0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43,\n\t0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43,\n\t// Bytes f00 - f3f\n\t0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43,\n\t0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43,\n\t0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43,\n\t0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43,\n\t0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43,\n\t0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43,\n\t0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43,\n\t0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43,\n\t// Bytes f40 - f7f\n\t0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43,\n\t0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43,\n\t0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43,\n\t0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43,\n\t0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43,\n\t0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43,\n\t0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43,\n\t0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43,\n\t// Bytes f80 - fbf\n\t0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43,\n\t0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43,\n\t0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43,\n\t0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43,\n\t0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43,\n\t0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43,\n\t0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43,\n\t0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43,\n\t// Bytes fc0 - fff\n\t0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43,\n\t0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43,\n\t0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43,\n\t0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43,\n\t0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43,\n\t0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43,\n\t0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43,\n\t0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43,\n\t// Bytes 1000 - 103f\n\t0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43,\n\t0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43,\n\t0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43,\n\t0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43,\n\t0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43,\n\t0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43,\n\t0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43,\n\t0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43,\n\t// Bytes 1040 - 107f\n\t0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43,\n\t0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43,\n\t0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43,\n\t0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43,\n\t0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43,\n\t0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43,\n\t0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43,\n\t0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43,\n\t// Bytes 1080 - 10bf\n\t0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43,\n\t0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43,\n\t0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43,\n\t0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43,\n\t0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43,\n\t0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43,\n\t0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43,\n\t0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43,\n\t// Bytes 10c0 - 10ff\n\t0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43,\n\t0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43,\n\t0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43,\n\t0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43,\n\t0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43,\n\t0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43,\n\t0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43,\n\t0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43,\n\t// Bytes 1100 - 113f\n\t0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43,\n\t0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43,\n\t0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43,\n\t0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43,\n\t0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43,\n\t0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43,\n\t0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43,\n\t0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43,\n\t// Bytes 1140 - 117f\n\t0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43,\n\t0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43,\n\t0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43,\n\t0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43,\n\t0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43,\n\t0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43,\n\t0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43,\n\t0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43,\n\t// Bytes 1180 - 11bf\n\t0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43,\n\t0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43,\n\t0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43,\n\t0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43,\n\t0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43,\n\t0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43,\n\t0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43,\n\t0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43,\n\t// Bytes 11c0 - 11ff\n\t0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43,\n\t0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43,\n\t0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43,\n\t0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43,\n\t0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43,\n\t0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43,\n\t0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43,\n\t0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43,\n\t// Bytes 1200 - 123f\n\t0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43,\n\t0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43,\n\t0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43,\n\t0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43,\n\t0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43,\n\t0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43,\n\t0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43,\n\t0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43,\n\t// Bytes 1240 - 127f\n\t0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43,\n\t0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43,\n\t0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43,\n\t0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43,\n\t0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43,\n\t0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43,\n\t0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43,\n\t0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43,\n\t// Bytes 1280 - 12bf\n\t0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43,\n\t0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43,\n\t0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43,\n\t0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43,\n\t0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43,\n\t0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43,\n\t0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43,\n\t0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43,\n\t// Bytes 12c0 - 12ff\n\t0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43,\n\t0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43,\n\t0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43,\n\t0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43,\n\t0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43,\n\t0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43,\n\t0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43,\n\t0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43,\n\t// Bytes 1300 - 133f\n\t0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43,\n\t0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43,\n\t0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43,\n\t0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43,\n\t0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43,\n\t0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43,\n\t0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43,\n\t0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43,\n\t// Bytes 1340 - 137f\n\t0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43,\n\t0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43,\n\t0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43,\n\t0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43,\n\t0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43,\n\t0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43,\n\t0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43,\n\t0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43,\n\t// Bytes 1380 - 13bf\n\t0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43,\n\t0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43,\n\t0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43,\n\t0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43,\n\t0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43,\n\t0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43,\n\t0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43,\n\t0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43,\n\t// Bytes 13c0 - 13ff\n\t0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43,\n\t0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43,\n\t0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43,\n\t0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43,\n\t0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43,\n\t0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43,\n\t0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43,\n\t0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43,\n\t// Bytes 1400 - 143f\n\t0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43,\n\t0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43,\n\t0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43,\n\t0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43,\n\t0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43,\n\t0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43,\n\t0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43,\n\t0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43,\n\t// Bytes 1440 - 147f\n\t0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43,\n\t0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43,\n\t0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43,\n\t0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43,\n\t0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43,\n\t0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43,\n\t0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43,\n\t0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43,\n\t// Bytes 1480 - 14bf\n\t0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43,\n\t0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43,\n\t0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43,\n\t0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43,\n\t0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43,\n\t0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43,\n\t0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43,\n\t0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43,\n\t// Bytes 14c0 - 14ff\n\t0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43,\n\t0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43,\n\t0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43,\n\t0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43,\n\t0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43,\n\t0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43,\n\t0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43,\n\t0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43,\n\t// Bytes 1500 - 153f\n\t0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43,\n\t0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43,\n\t0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43,\n\t0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43,\n\t0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43,\n\t0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43,\n\t0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43,\n\t0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43,\n\t// Bytes 1540 - 157f\n\t0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43,\n\t0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43,\n\t0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43,\n\t0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43,\n\t0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43,\n\t0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43,\n\t0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43,\n\t0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43,\n\t// Bytes 1580 - 15bf\n\t0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43,\n\t0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43,\n\t0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43,\n\t0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43,\n\t0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43,\n\t0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43,\n\t0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43,\n\t0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43,\n\t// Bytes 15c0 - 15ff\n\t0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43,\n\t0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43,\n\t0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43,\n\t0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43,\n\t0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43,\n\t0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43,\n\t0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43,\n\t0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43,\n\t// Bytes 1600 - 163f\n\t0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43,\n\t0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43,\n\t0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43,\n\t0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43,\n\t0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43,\n\t0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43,\n\t0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43,\n\t0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43,\n\t// Bytes 1640 - 167f\n\t0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44,\n\t0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94,\n\t0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0,\n\t0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA,\n\t0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0,\n\t0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44,\n\t0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93,\n\t0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0,\n\t// Bytes 1680 - 16bf\n\t0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88,\n\t0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1,\n\t0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44,\n\t0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86,\n\t0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0,\n\t0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94,\n\t0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2,\n\t0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44,\n\t// Bytes 16c0 - 16ff\n\t0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80,\n\t0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0,\n\t0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93,\n\t0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3,\n\t0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44,\n\t0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A,\n\t0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0,\n\t0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA,\n\t// Bytes 1700 - 173f\n\t0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3,\n\t0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44,\n\t0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE,\n\t0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0,\n\t0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB,\n\t0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4,\n\t0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44,\n\t0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2,\n\t// Bytes 1740 - 177f\n\t0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0,\n\t0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84,\n\t0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5,\n\t0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44,\n\t0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89,\n\t0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0,\n\t0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A,\n\t0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5,\n\t// Bytes 1780 - 17bf\n\t0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44,\n\t0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2,\n\t0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0,\n\t0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A,\n\t0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6,\n\t0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44,\n\t0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93,\n\t0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0,\n\t// Bytes 17c0 - 17ff\n\t0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7,\n\t0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6,\n\t0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44,\n\t0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5,\n\t0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0,\n\t0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92,\n\t0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7,\n\t0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44,\n\t// Bytes 1800 - 183f\n\t0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2,\n\t0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0,\n\t0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92,\n\t0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8,\n\t0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44,\n\t0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85,\n\t0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0,\n\t0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A,\n\t// Bytes 1840 - 187f\n\t0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9,\n\t0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44,\n\t0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84,\n\t0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0,\n\t0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92,\n\t0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21,\n\t0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30,\n\t0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42,\n\t// Bytes 1880 - 18bf\n\t0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31,\n\t0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31,\n\t0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42,\n\t0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39,\n\t0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32,\n\t0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42,\n\t0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35,\n\t0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32,\n\t// Bytes 18c0 - 18ff\n\t0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42,\n\t0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31,\n\t0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33,\n\t0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42,\n\t0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39,\n\t0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34,\n\t0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42,\n\t0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35,\n\t// Bytes 1900 - 193f\n\t0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34,\n\t0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42,\n\t0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C,\n\t0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37,\n\t0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42,\n\t0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D,\n\t0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41,\n\t0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42,\n\t// Bytes 1940 - 197f\n\t0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A,\n\t0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48,\n\t0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42,\n\t0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A,\n\t0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49,\n\t0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42,\n\t0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A,\n\t0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D,\n\t// Bytes 1980 - 19bf\n\t0x44, 0x42, 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42,\n\t0x4E, 0x4A, 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F,\n\t0x42, 0x50, 0x48, 0x42, 0x50, 0x52, 0x42, 0x50,\n\t0x61, 0x42, 0x52, 0x73, 0x42, 0x53, 0x44, 0x42,\n\t0x53, 0x4D, 0x42, 0x53, 0x53, 0x42, 0x53, 0x76,\n\t0x42, 0x54, 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57,\n\t0x43, 0x42, 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42,\n\t0x58, 0x49, 0x42, 0x63, 0x63, 0x42, 0x63, 0x64,\n\t// Bytes 19c0 - 19ff\n\t0x42, 0x63, 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64,\n\t0x61, 0x42, 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42,\n\t0x64, 0x7A, 0x42, 0x65, 0x56, 0x42, 0x66, 0x66,\n\t0x42, 0x66, 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66,\n\t0x6D, 0x42, 0x68, 0x61, 0x42, 0x69, 0x69, 0x42,\n\t0x69, 0x6A, 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76,\n\t0x42, 0x69, 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B,\n\t0x56, 0x42, 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42,\n\t// Bytes 1a00 - 1a3f\n\t0x6B, 0x6C, 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74,\n\t0x42, 0x6C, 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C,\n\t0x6E, 0x42, 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42,\n\t0x6D, 0x33, 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56,\n\t0x42, 0x6D, 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D,\n\t0x67, 0x42, 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42,\n\t0x6D, 0x73, 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46,\n\t0x42, 0x6E, 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E,\n\t// Bytes 1a40 - 1a7f\n\t0x6A, 0x42, 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42,\n\t0x6F, 0x56, 0x42, 0x70, 0x41, 0x42, 0x70, 0x46,\n\t0x42, 0x70, 0x56, 0x42, 0x70, 0x57, 0x42, 0x70,\n\t0x63, 0x42, 0x70, 0x73, 0x42, 0x73, 0x72, 0x42,\n\t0x73, 0x74, 0x42, 0x76, 0x69, 0x42, 0x78, 0x69,\n\t0x43, 0x28, 0x31, 0x29, 0x43, 0x28, 0x32, 0x29,\n\t0x43, 0x28, 0x33, 0x29, 0x43, 0x28, 0x34, 0x29,\n\t0x43, 0x28, 0x35, 0x29, 0x43, 0x28, 0x36, 0x29,\n\t// Bytes 1a80 - 1abf\n\t0x43, 0x28, 0x37, 0x29, 0x43, 0x28, 0x38, 0x29,\n\t0x43, 0x28, 0x39, 0x29, 0x43, 0x28, 0x41, 0x29,\n\t0x43, 0x28, 0x42, 0x29, 0x43, 0x28, 0x43, 0x29,\n\t0x43, 0x28, 0x44, 0x29, 0x43, 0x28, 0x45, 0x29,\n\t0x43, 0x28, 0x46, 0x29, 0x43, 0x28, 0x47, 0x29,\n\t0x43, 0x28, 0x48, 0x29, 0x43, 0x28, 0x49, 0x29,\n\t0x43, 0x28, 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29,\n\t0x43, 0x28, 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29,\n\t// Bytes 1ac0 - 1aff\n\t0x43, 0x28, 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29,\n\t0x43, 0x28, 0x50, 0x29, 0x43, 0x28, 0x51, 0x29,\n\t0x43, 0x28, 0x52, 0x29, 0x43, 0x28, 0x53, 0x29,\n\t0x43, 0x28, 0x54, 0x29, 0x43, 0x28, 0x55, 0x29,\n\t0x43, 0x28, 0x56, 0x29, 0x43, 0x28, 0x57, 0x29,\n\t0x43, 0x28, 0x58, 0x29, 0x43, 0x28, 0x59, 0x29,\n\t0x43, 0x28, 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29,\n\t0x43, 0x28, 0x62, 0x29, 0x43, 0x28, 0x63, 0x29,\n\t// Bytes 1b00 - 1b3f\n\t0x43, 0x28, 0x64, 0x29, 0x43, 0x28, 0x65, 0x29,\n\t0x43, 0x28, 0x66, 0x29, 0x43, 0x28, 0x67, 0x29,\n\t0x43, 0x28, 0x68, 0x29, 0x43, 0x28, 0x69, 0x29,\n\t0x43, 0x28, 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29,\n\t0x43, 0x28, 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29,\n\t0x43, 0x28, 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29,\n\t0x43, 0x28, 0x70, 0x29, 0x43, 0x28, 0x71, 0x29,\n\t0x43, 0x28, 0x72, 0x29, 0x43, 0x28, 0x73, 0x29,\n\t// Bytes 1b40 - 1b7f\n\t0x43, 0x28, 0x74, 0x29, 0x43, 0x28, 0x75, 0x29,\n\t0x43, 0x28, 0x76, 0x29, 0x43, 0x28, 0x77, 0x29,\n\t0x43, 0x28, 0x78, 0x29, 0x43, 0x28, 0x79, 0x29,\n\t0x43, 0x28, 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E,\n\t0x43, 0x31, 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E,\n\t0x43, 0x31, 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E,\n\t0x43, 0x31, 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E,\n\t0x43, 0x31, 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E,\n\t// Bytes 1b80 - 1bbf\n\t0x43, 0x31, 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E,\n\t0x43, 0x32, 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D,\n\t0x43, 0x3D, 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E,\n\t0x43, 0x46, 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A,\n\t0x43, 0x47, 0x50, 0x61, 0x43, 0x49, 0x49, 0x49,\n\t0x43, 0x4C, 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7,\n\t0x43, 0x4D, 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61,\n\t0x43, 0x4D, 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D,\n\t// Bytes 1bc0 - 1bff\n\t0x43, 0x50, 0x50, 0x56, 0x43, 0x50, 0x54, 0x45,\n\t0x43, 0x54, 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A,\n\t0x43, 0x56, 0x49, 0x49, 0x43, 0x58, 0x49, 0x49,\n\t0x43, 0x61, 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73,\n\t0x43, 0x61, 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72,\n\t0x43, 0x63, 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75,\n\t0x43, 0x63, 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32,\n\t0x43, 0x63, 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32,\n\t// Bytes 1c00 - 1c3f\n\t0x43, 0x64, 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67,\n\t0x43, 0x66, 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C,\n\t0x43, 0x67, 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61,\n\t0x43, 0x69, 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A,\n\t0x43, 0x6B, 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32,\n\t0x43, 0x6B, 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9,\n\t0x43, 0x6C, 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7,\n\t0x43, 0x6D, 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32,\n\t// Bytes 1c40 - 1c7f\n\t0x43, 0x6D, 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C,\n\t0x43, 0x72, 0x61, 0x64, 0x43, 0x76, 0x69, 0x69,\n\t0x43, 0x78, 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43,\n\t0x43, 0xC2, 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E,\n\t0x43, 0xCE, 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46,\n\t0x43, 0xCE, 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57,\n\t0x43, 0xCE, 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C,\n\t0x43, 0xCE, 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73,\n\t// Bytes 1c80 - 1cbf\n\t0x44, 0x28, 0x31, 0x30, 0x29, 0x44, 0x28, 0x31,\n\t0x31, 0x29, 0x44, 0x28, 0x31, 0x32, 0x29, 0x44,\n\t0x28, 0x31, 0x33, 0x29, 0x44, 0x28, 0x31, 0x34,\n\t0x29, 0x44, 0x28, 0x31, 0x35, 0x29, 0x44, 0x28,\n\t0x31, 0x36, 0x29, 0x44, 0x28, 0x31, 0x37, 0x29,\n\t0x44, 0x28, 0x31, 0x38, 0x29, 0x44, 0x28, 0x31,\n\t0x39, 0x29, 0x44, 0x28, 0x32, 0x30, 0x29, 0x44,\n\t0x30, 0xE7, 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81,\n\t// Bytes 1cc0 - 1cff\n\t0x84, 0x44, 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31,\n\t0xE6, 0x9C, 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9,\n\t0x44, 0x32, 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6,\n\t0x9C, 0x88, 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44,\n\t0x33, 0xE6, 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C,\n\t0x88, 0x44, 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34,\n\t0xE6, 0x97, 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88,\n\t0x44, 0x34, 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6,\n\t// Bytes 1d00 - 1d3f\n\t0x97, 0xA5, 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44,\n\t0x35, 0xE7, 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97,\n\t0xA5, 0x44, 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36,\n\t0xE7, 0x82, 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5,\n\t0x44, 0x37, 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7,\n\t0x82, 0xB9, 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44,\n\t0x38, 0xE6, 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82,\n\t0xB9, 0x44, 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39,\n\t// Bytes 1d40 - 1d7f\n\t0xE6, 0x9C, 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9,\n\t0x44, 0x56, 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E,\n\t0x6D, 0x2E, 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44,\n\t0x70, 0x2E, 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69,\n\t0x69, 0x44, 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5,\n\t0xB4, 0xD5, 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB,\n\t0x44, 0xD5, 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4,\n\t0xD5, 0xB6, 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44,\n\t// Bytes 1d80 - 1dbf\n\t0xD7, 0x90, 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9,\n\t0xB4, 0x44, 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8,\n\t0xA8, 0xD8, 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE,\n\t0x44, 0xD8, 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8,\n\t0xD8, 0xB2, 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44,\n\t0xD8, 0xA8, 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9,\n\t0x87, 0x44, 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8,\n\t0xA8, 0xD9, 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC,\n\t// Bytes 1dc0 - 1dff\n\t0x44, 0xD8, 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA,\n\t0xD8, 0xAE, 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44,\n\t0xD8, 0xAA, 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9,\n\t0x85, 0x44, 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8,\n\t0xAA, 0xD9, 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89,\n\t0x44, 0xD8, 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB,\n\t0xD8, 0xAC, 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44,\n\t0xD8, 0xAB, 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9,\n\t// Bytes 1e00 - 1e3f\n\t0x85, 0x44, 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8,\n\t0xAB, 0xD9, 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89,\n\t0x44, 0xD8, 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC,\n\t0xD8, 0xAD, 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44,\n\t0xD8, 0xAC, 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9,\n\t0x8A, 0x44, 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8,\n\t0xAD, 0xD9, 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89,\n\t0x44, 0xD8, 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE,\n\t// Bytes 1e40 - 1e7f\n\t0xD8, 0xAC, 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44,\n\t0xD8, 0xAE, 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9,\n\t0x89, 0x44, 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8,\n\t0xB3, 0xD8, 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD,\n\t0x44, 0xD8, 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3,\n\t0xD8, 0xB1, 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44,\n\t0xD8, 0xB3, 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9,\n\t0x89, 0x44, 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8,\n\t// Bytes 1e80 - 1ebf\n\t0xB4, 0xD8, 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD,\n\t0x44, 0xD8, 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4,\n\t0xD8, 0xB1, 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44,\n\t0xD8, 0xB4, 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9,\n\t0x89, 0x44, 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8,\n\t0xB5, 0xD8, 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE,\n\t0x44, 0xD8, 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5,\n\t0xD9, 0x85, 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44,\n\t// Bytes 1ec0 - 1eff\n\t0xD8, 0xB5, 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8,\n\t0xAC, 0x44, 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8,\n\t0xB6, 0xD8, 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1,\n\t0x44, 0xD8, 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6,\n\t0xD9, 0x89, 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44,\n\t0xD8, 0xB7, 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9,\n\t0x85, 0x44, 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8,\n\t0xB7, 0xD9, 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85,\n\t// Bytes 1f00 - 1f3f\n\t0x44, 0xD8, 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9,\n\t0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44,\n\t0xD8, 0xB9, 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8,\n\t0xAC, 0x44, 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8,\n\t0xBA, 0xD9, 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A,\n\t0x44, 0xD9, 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81,\n\t0xD8, 0xAD, 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44,\n\t0xD9, 0x81, 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9,\n\t// Bytes 1f40 - 1f7f\n\t0x89, 0x44, 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9,\n\t0x82, 0xD8, 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85,\n\t0x44, 0xD9, 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82,\n\t0xD9, 0x8A, 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44,\n\t0xD9, 0x83, 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8,\n\t0xAD, 0x44, 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9,\n\t0x83, 0xD9, 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85,\n\t0x44, 0xD9, 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83,\n\t// Bytes 1f80 - 1fbf\n\t0xD9, 0x8A, 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44,\n\t0xD9, 0x84, 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8,\n\t0xAD, 0x44, 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9,\n\t0x84, 0xD9, 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87,\n\t0x44, 0xD9, 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84,\n\t0xD9, 0x8A, 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44,\n\t0xD9, 0x85, 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8,\n\t0xAD, 0x44, 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9,\n\t// Bytes 1fc0 - 1fff\n\t0x85, 0xD9, 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89,\n\t0x44, 0xD9, 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86,\n\t0xD8, 0xAC, 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44,\n\t0xD9, 0x86, 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8,\n\t0xB1, 0x44, 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9,\n\t0x86, 0xD9, 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86,\n\t0x44, 0xD9, 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86,\n\t0xD9, 0x89, 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44,\n\t// Bytes 2000 - 203f\n\t0xD9, 0x87, 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9,\n\t0x85, 0x44, 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9,\n\t0x87, 0xD9, 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4,\n\t0x44, 0xD9, 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A,\n\t0xD8, 0xAD, 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44,\n\t0xD9, 0x8A, 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8,\n\t0xB2, 0x44, 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9,\n\t0x8A, 0xD9, 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87,\n\t// Bytes 2040 - 207f\n\t0x44, 0xD9, 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A,\n\t0xD9, 0x8A, 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44,\n\t0xDB, 0x87, 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84,\n\t0x80, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29,\n\t0x45, 0x28, 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28,\n\t0xE1, 0x84, 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84,\n\t0x86, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29,\n\t0x45, 0x28, 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28,\n\t// Bytes 2080 - 20bf\n\t0xE1, 0x84, 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84,\n\t0x8C, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29,\n\t0x45, 0x28, 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28,\n\t0xE1, 0x84, 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84,\n\t0x91, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29,\n\t0x45, 0x28, 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28,\n\t0xE4, 0xB8, 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8,\n\t0x89, 0x29, 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29,\n\t// Bytes 20c0 - 20ff\n\t0x45, 0x28, 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28,\n\t0xE4, 0xBA, 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB,\n\t0xA3, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29,\n\t0x45, 0x28, 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28,\n\t0xE5, 0x85, 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85,\n\t0xAD, 0x29, 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29,\n\t0x45, 0x28, 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28,\n\t0xE5, 0x8D, 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90,\n\t// Bytes 2100 - 213f\n\t0x8D, 0x29, 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29,\n\t0x45, 0x28, 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28,\n\t0xE5, 0x9C, 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD,\n\t0xA6, 0x29, 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29,\n\t0x45, 0x28, 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28,\n\t0xE6, 0x9C, 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C,\n\t0xA8, 0x29, 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29,\n\t0x45, 0x28, 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28,\n\t// Bytes 2140 - 217f\n\t0xE7, 0x81, 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89,\n\t0xB9, 0x29, 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29,\n\t0x45, 0x28, 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28,\n\t0xE7, 0xA5, 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5,\n\t0xAD, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29,\n\t0x45, 0x28, 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28,\n\t0xE8, 0xB2, 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3,\n\t0x87, 0x29, 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29,\n\t// Bytes 2180 - 21bf\n\t0x45, 0x30, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31,\n\t0x30, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6,\n\t0x9C, 0x88, 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t0x31, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7,\n\t0x82, 0xB9, 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5,\n\t0x45, 0x31, 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31,\n\t0x32, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6,\n\t// Bytes 21c0 - 21ff\n\t0x97, 0xA5, 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t0x34, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6,\n\t0x97, 0xA5, 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t0x36, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6,\n\t0x97, 0xA5, 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t// Bytes 2200 - 223f\n\t0x38, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6,\n\t0x97, 0xA5, 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31,\n\t0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81,\n\t0x84, 0x34, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35,\n\t0x45, 0x31, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31,\n\t0xE2, 0x81, 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81,\n\t0x84, 0x38, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39,\n\t// Bytes 2240 - 227f\n\t0x45, 0x32, 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x30, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6,\n\t0x97, 0xA5, 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9,\n\t0x45, 0x32, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x32, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6,\n\t0x97, 0xA5, 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9,\n\t0x45, 0x32, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x34, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6,\n\t// Bytes 2280 - 22bf\n\t0x97, 0xA5, 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5,\n\t0x45, 0x32, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x38, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6,\n\t0x97, 0xA5, 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33,\n\t0x45, 0x32, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33,\n\t0x30, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6,\n\t0x97, 0xA5, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34,\n\t0x45, 0x33, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33,\n\t// Bytes 22c0 - 22ff\n\t0xE2, 0x81, 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81,\n\t0x84, 0x35, 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36,\n\t0x45, 0x35, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37,\n\t0xE2, 0x81, 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88,\n\t0x95, 0x6D, 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D,\n\t0x45, 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31,\n\t0xE2, 0x81, 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2,\n\t0x88, 0x95, 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88,\n\t// Bytes 2300 - 233f\n\t0x95, 0x73, 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD,\n\t0xD9, 0x8A, 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9,\n\t0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85,\n\t0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46,\n\t0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8,\n\t0xAA, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA,\n\t0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8,\n\t0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE,\n\t// Bytes 2340 - 237f\n\t0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9,\n\t0x8A, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC,\n\t0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46,\n\t0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8,\n\t0xAA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8,\n\t0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD,\n\t0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8,\n\t// Bytes 2380 - 23bf\n\t0xAD, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89,\n\t0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46,\n\t0xD8, 0xAD, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8,\n\t0xAD, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8,\n\t0xAC, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC,\n\t0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8,\n\t0xAC, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89,\n\t// Bytes 23c0 - 23ff\n\t0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46,\n\t0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8,\n\t0xB3, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3,\n\t0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8,\n\t0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD,\n\t0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9,\n\t0x8A, 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE,\n\t0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46,\n\t// Bytes 2400 - 243f\n\t0xD8, 0xB5, 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8,\n\t0xB5, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5,\n\t0xD9, 0x84, 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9,\n\t0x84, 0xDB, 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85,\n\t0xD9, 0x85, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9,\n\t0x89, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A,\n\t0x46, 0xD8, 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46,\n\t0xD8, 0xB7, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8,\n\t// Bytes 2440 - 247f\n\t0xB7, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8,\n\t0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85,\n\t0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9,\n\t0x89, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A,\n\t0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46,\n\t0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8,\n\t0xBA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81,\n\t// Bytes 2480 - 24bf\n\t0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9,\n\t0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84,\n\t0xDB, 0x92, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8,\n\t0xAD, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85,\n\t0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46,\n\t0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9,\n\t0x83, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84,\n\t0xD8, 0xAC, 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8,\n\t// Bytes 24c0 - 24ff\n\t0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9,\n\t0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89,\n\t0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46,\n\t0xD9, 0x84, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9,\n\t0x84, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8,\n\t0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC,\n\t// Bytes 2500 - 253f\n\t0xD8, 0xAE, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9,\n\t0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A,\n\t0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46,\n\t0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9,\n\t0x85, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85,\n\t0xD8, 0xAE, 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8,\n\t0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9,\n\t// Bytes 2540 - 257f\n\t0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD,\n\t0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46,\n\t0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9,\n\t0x86, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86,\n\t0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8,\n\t0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9,\n\t0x89, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A,\n\t// Bytes 2580 - 25bf\n\t0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46,\n\t0xD9, 0x87, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9,\n\t0x8A, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A,\n\t0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9,\n\t0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8,\n\t0xA7, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC,\n\t0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46,\n\t// Bytes 25c0 - 25ff\n\t0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9,\n\t0x8A, 0xD9, 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A,\n\t0xD9, 0x94, 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9,\n\t0x94, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94,\n\t0xD9, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9,\n\t0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88,\n\t0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46,\n\t0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9,\n\t// Bytes 2600 - 263f\n\t0x8A, 0xD9, 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A,\n\t0xD9, 0x94, 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9,\n\t0x94, 0xDB, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94,\n\t0xDB, 0x90, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB,\n\t0x95, 0x46, 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2,\n\t0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46,\n\t0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0,\n\t0xBB, 0x8D, 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD,\n\t// Bytes 2640 - 267f\n\t0x80, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82,\n\t0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0,\n\t0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE,\n\t0xB7, 0x46, 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7,\n\t0x46, 0xE0, 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46,\n\t0xE0, 0xBE, 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0,\n\t0xBE, 0x92, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE,\n\t0x9C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1,\n\t// Bytes 2680 - 26bf\n\t0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0,\n\t0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE,\n\t0xB7, 0x46, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2,\n\t0x46, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46,\n\t0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2,\n\t0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81,\n\t0xBB, 0xE3, 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88,\n\t0xE3, 0x82, 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3,\n\t// Bytes 26c0 - 26ff\n\t0x83, 0xAD, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82,\n\t0xB3, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88,\n\t0x46, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46,\n\t0xE3, 0x83, 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3,\n\t0x83, 0x9B, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83,\n\t0x9F, 0xE3, 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA,\n\t0xE3, 0x83, 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3,\n\t0x83, 0xA0, 0x46, 0xE5, 0xA4, 0xA7, 0xE6, 0xAD,\n\t// Bytes 2700 - 273f\n\t0xA3, 0x46, 0xE5, 0xB9, 0xB3, 0xE6, 0x88, 0x90,\n\t0x46, 0xE6, 0x98, 0x8E, 0xE6, 0xB2, 0xBB, 0x46,\n\t0xE6, 0x98, 0xAD, 0xE5, 0x92, 0x8C, 0x47, 0x72,\n\t0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, 0x47, 0xE3,\n\t0x80, 0x94, 0x53, 0xE3, 0x80, 0x95, 0x48, 0x28,\n\t0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x29, 0x48,\n\t0x28, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x29,\n\t0x48, 0x28, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1,\n\t// Bytes 2740 - 277f\n\t0x29, 0x48, 0x28, 0xE1, 0x84, 0x85, 0xE1, 0x85,\n\t0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x86, 0xE1,\n\t0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x87,\n\t0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84,\n\t0x89, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1,\n\t0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28,\n\t0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x29, 0x48,\n\t0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0x29,\n\t// Bytes 2780 - 27bf\n\t0x48, 0x28, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1,\n\t0x29, 0x48, 0x28, 0xE1, 0x84, 0x8F, 0xE1, 0x85,\n\t0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x90, 0xE1,\n\t0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x91,\n\t0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84,\n\t0x92, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x72, 0x61,\n\t0x64, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x48, 0xD8,\n\t0xA7, 0xD9, 0x83, 0xD8, 0xA8, 0xD8, 0xB1, 0x48,\n\t// Bytes 27c0 - 27ff\n\t0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87,\n\t0x48, 0xD8, 0xB1, 0xD8, 0xB3, 0xD9, 0x88, 0xD9,\n\t0x84, 0x48, 0xD8, 0xB1, 0xDB, 0x8C, 0xD8, 0xA7,\n\t0xD9, 0x84, 0x48, 0xD8, 0xB5, 0xD9, 0x84, 0xD8,\n\t0xB9, 0xD9, 0x85, 0x48, 0xD8, 0xB9, 0xD9, 0x84,\n\t0xD9, 0x8A, 0xD9, 0x87, 0x48, 0xD9, 0x85, 0xD8,\n\t0xAD, 0xD9, 0x85, 0xD8, 0xAF, 0x48, 0xD9, 0x88,\n\t0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x49, 0xE2,\n\t// Bytes 2800 - 283f\n\t0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2,\n\t0x49, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0xE2,\n\t0x80, 0xB5, 0x49, 0xE2, 0x88, 0xAB, 0xE2, 0x88,\n\t0xAB, 0xE2, 0x88, 0xAB, 0x49, 0xE2, 0x88, 0xAE,\n\t0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x49, 0xE3,\n\t0x80, 0x94, 0xE4, 0xB8, 0x89, 0xE3, 0x80, 0x95,\n\t0x49, 0xE3, 0x80, 0x94, 0xE4, 0xBA, 0x8C, 0xE3,\n\t0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0x8B,\n\t// Bytes 2840 - 287f\n\t0x9D, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94,\n\t0xE5, 0xAE, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3,\n\t0x80, 0x94, 0xE6, 0x89, 0x93, 0xE3, 0x80, 0x95,\n\t0x49, 0xE3, 0x80, 0x94, 0xE6, 0x95, 0x97, 0xE3,\n\t0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x9C,\n\t0xAC, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94,\n\t0xE7, 0x82, 0xB9, 0xE3, 0x80, 0x95, 0x49, 0xE3,\n\t0x80, 0x94, 0xE7, 0x9B, 0x97, 0xE3, 0x80, 0x95,\n\t// Bytes 2880 - 28bf\n\t0x49, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xAB, 0x49, 0xE3, 0x82, 0xA4, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, 0xA6,\n\t0xE3, 0x82, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3,\n\t0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9,\n\t0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xA0, 0x49, 0xE3, 0x82, 0xAB, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x83, 0xAA, 0x49, 0xE3, 0x82, 0xB1,\n\t// Bytes 28c0 - 28ff\n\t0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x49, 0xE3,\n\t0x82, 0xB3, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x8A,\n\t0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3,\n\t0x83, 0x81, 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, 0x86,\n\t0xE3, 0x82, 0x99, 0xE3, 0x82, 0xB7, 0x49, 0xE3,\n\t0x83, 0x88, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB,\n\t0x49, 0xE3, 0x83, 0x8E, 0xE3, 0x83, 0x83, 0xE3,\n\t// Bytes 2900 - 293f\n\t0x83, 0x88, 0x49, 0xE3, 0x83, 0x8F, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x92,\n\t0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3,\n\t0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xB3,\n\t0x49, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3,\n\t0x83, 0xB3, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x82,\n\t0x9A, 0xE3, 0x82, 0xBD, 0x49, 0xE3, 0x83, 0x98,\n\t0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x84, 0x49, 0xE3,\n\t// Bytes 2940 - 297f\n\t0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB,\n\t0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xB3, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9E,\n\t0xE3, 0x83, 0x83, 0xE3, 0x83, 0x8F, 0x49, 0xE3,\n\t0x83, 0x9E, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xAF,\n\t0x49, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xAB, 0x49, 0xE3, 0x83, 0xA6, 0xE3, 0x82,\n\t// Bytes 2980 - 29bf\n\t0xA2, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, 0xAF,\n\t0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE2,\n\t0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2,\n\t0xE2, 0x80, 0xB2, 0x4C, 0xE2, 0x88, 0xAB, 0xE2,\n\t0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB,\n\t0x4C, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xAB, 0xE3,\n\t0x83, 0x95, 0xE3, 0x82, 0xA1, 0x4C, 0xE3, 0x82,\n\t0xA8, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xAB, 0xE3,\n\t// Bytes 29c0 - 29ff\n\t0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C,\n\t0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x9E, 0x4C, 0xE3, 0x82, 0xAB,\n\t0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83,\n\t0x88, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xAD,\n\t0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3,\n\t0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x8B,\n\t// Bytes 2a00 - 2a3f\n\t0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3,\n\t0x83, 0xA5, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC,\n\t0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3,\n\t0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x4C, 0xE3, 0x82,\n\t0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0x8D, 0x4C, 0xE3, 0x82, 0xB5, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C,\n\t0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t// Bytes 2a40 - 2a7f\n\t0xBC, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x8F,\n\t0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t0x84, 0x4C, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3,\n\t0x83, 0x95, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC,\n\t0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x98, 0xE3,\n\t0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBF,\n\t0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3,\n\t// Bytes 2a80 - 2abf\n\t0x83, 0x8B, 0xE3, 0x83, 0x92, 0x4C, 0xE3, 0x83,\n\t0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, 0xE3,\n\t0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x9B, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x88, 0x4C,\n\t0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x82,\n\t0xAF, 0xE3, 0x83, 0xAD, 0x4C, 0xE3, 0x83, 0x9F,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83,\n\t0xB3, 0x4C, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC,\n\t// Bytes 2ac0 - 2aff\n\t0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3,\n\t0x83, 0xAA, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88,\n\t0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAB, 0xE3,\n\t0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC,\n\t0x4C, 0xE6, 0xA0, 0xAA, 0xE5, 0xBC, 0x8F, 0xE4,\n\t0xBC, 0x9A, 0xE7, 0xA4, 0xBE, 0x4E, 0x28, 0xE1,\n\t0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x92,\n\t0xE1, 0x85, 0xAE, 0x29, 0x4F, 0xD8, 0xAC, 0xD9,\n\t// Bytes 2b00 - 2b3f\n\t0x84, 0x20, 0xD8, 0xAC, 0xD9, 0x84, 0xD8, 0xA7,\n\t0xD9, 0x84, 0xD9, 0x87, 0x4F, 0xE3, 0x82, 0xA2,\n\t0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xA2,\n\t0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x98, 0xE3, 0x82,\n\t0x9A, 0xE3, 0x82, 0xA2, 0x4F, 0xE3, 0x82, 0xAD,\n\t0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAF, 0xE3, 0x83,\n\t0x83, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xB5,\n\t// Bytes 2b40 - 2b7f\n\t0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0xA0, 0x4F, 0xE3, 0x83, 0x8F,\n\t0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t0xAC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x98,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xBF, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x9B,\n\t0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA4, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x83, 0x9E,\n\t// Bytes 2b80 - 2bbf\n\t0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83,\n\t0xA7, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xA1,\n\t0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0x88, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xAB,\n\t0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x95, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xAB, 0x51, 0x28, 0xE1, 0x84,\n\t0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x8C, 0xE1,\n\t0x85, 0xA5, 0xE1, 0x86, 0xAB, 0x29, 0x52, 0xE3,\n\t// Bytes 2bc0 - 2bff\n\t0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB,\n\t0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0xBC, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0xA9, 0xE3, 0x83, 0xA0, 0x52, 0xE3, 0x82, 0xAD,\n\t0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xA1, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t// Bytes 2c00 - 2c3f\n\t0xA9, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x88, 0xE3,\n\t0x83, 0xB3, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x83,\n\t0xAB, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0xE3,\n\t0x82, 0xA4, 0xE3, 0x83, 0xAD, 0x52, 0xE3, 0x83,\n\t0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88,\n\t0x52, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3,\n\t0x82, 0xA2, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88,\n\t// Bytes 2c40 - 2c7f\n\t0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x95, 0xE3,\n\t0x82, 0x99, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7,\n\t0xE3, 0x82, 0xA7, 0xE3, 0x83, 0xAB, 0x52, 0xE3,\n\t0x83, 0x9F, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x8F,\n\t0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t0xAB, 0x52, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3,\n\t0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB1, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xB3, 0x61, 0xD8, 0xB5, 0xD9,\n\t// Bytes 2c80 - 2cbf\n\t0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84,\n\t0xD9, 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9,\n\t0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x20, 0xD9, 0x88,\n\t0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x06, 0xE0,\n\t0xA7, 0x87, 0xE0, 0xA6, 0xBE, 0x01, 0x06, 0xE0,\n\t0xA7, 0x87, 0xE0, 0xA7, 0x97, 0x01, 0x06, 0xE0,\n\t0xAD, 0x87, 0xE0, 0xAC, 0xBE, 0x01, 0x06, 0xE0,\n\t0xAD, 0x87, 0xE0, 0xAD, 0x96, 0x01, 0x06, 0xE0,\n\t// Bytes 2cc0 - 2cff\n\t0xAD, 0x87, 0xE0, 0xAD, 0x97, 0x01, 0x06, 0xE0,\n\t0xAE, 0x92, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0,\n\t0xAF, 0x86, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0,\n\t0xAF, 0x86, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0,\n\t0xAF, 0x87, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0,\n\t0xB2, 0xBF, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0,\n\t0xB3, 0x86, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0,\n\t0xB3, 0x86, 0xE0, 0xB3, 0x96, 0x01, 0x06, 0xE0,\n\t// Bytes 2d00 - 2d3f\n\t0xB5, 0x86, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0,\n\t0xB5, 0x86, 0xE0, 0xB5, 0x97, 0x01, 0x06, 0xE0,\n\t0xB5, 0x87, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0,\n\t0xB7, 0x99, 0xE0, 0xB7, 0x9F, 0x01, 0x06, 0xE1,\n\t0x80, 0xA5, 0xE1, 0x80, 0xAE, 0x01, 0x06, 0xE1,\n\t0xAC, 0x85, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x87, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x89, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t// Bytes 2d40 - 2d7f\n\t0xAC, 0x8B, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x8D, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x91, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBA, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBC, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBE, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBF, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAD, 0x82, 0xE1, 0xAC, 0xB5, 0x01, 0x08, 0xF0,\n\t// Bytes 2d80 - 2dbf\n\t0x91, 0x84, 0xB1, 0xF0, 0x91, 0x84, 0xA7, 0x01,\n\t0x08, 0xF0, 0x91, 0x84, 0xB2, 0xF0, 0x91, 0x84,\n\t0xA7, 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0,\n\t0x91, 0x8C, 0xBE, 0x01, 0x08, 0xF0, 0x91, 0x8D,\n\t0x87, 0xF0, 0x91, 0x8D, 0x97, 0x01, 0x08, 0xF0,\n\t0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xB0, 0x01,\n\t0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92,\n\t0xBA, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0,\n\t// Bytes 2dc0 - 2dff\n\t0x91, 0x92, 0xBD, 0x01, 0x08, 0xF0, 0x91, 0x96,\n\t0xB8, 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0,\n\t0x91, 0x96, 0xB9, 0xF0, 0x91, 0x96, 0xAF, 0x01,\n\t0x09, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0,\n\t0xB3, 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0,\n\t0xB7, 0x8F, 0xE0, 0xB7, 0x8A, 0x12, 0x44, 0x44,\n\t0x5A, 0xCC, 0x8C, 0xC9, 0x44, 0x44, 0x7A, 0xCC,\n\t0x8C, 0xC9, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xC9,\n\t// Bytes 2e00 - 2e3f\n\t0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xC9,\n\t0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xC9,\n\t0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB5,\n\t0x46, 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01,\n\t// Bytes 2e40 - 2e7f\n\t0x46, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01,\n\t0x46, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01,\n\t// Bytes 2e80 - 2ebf\n\t0x46, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01,\n\t0x49, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3,\n\t0x82, 0x99, 0x0D, 0x4C, 0xE1, 0x84, 0x8C, 0xE1,\n\t0x85, 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4,\n\t0x01, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99,\n\t0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C,\n\t0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t// Bytes 2ec0 - 2eff\n\t0x9B, 0xE3, 0x82, 0x9A, 0x0D, 0x4C, 0xE3, 0x83,\n\t0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3,\n\t0x82, 0x99, 0x0D, 0x4F, 0xE1, 0x84, 0x8E, 0xE1,\n\t0x85, 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80,\n\t0xE1, 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4,\n\t0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82,\n\t0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, 0x82,\n\t0xB7, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3,\n\t// Bytes 2f00 - 2f3f\n\t0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3,\n\t0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC,\n\t0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, 0x4F,\n\t0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D,\n\t0x52, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3,\n\t0x82, 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88,\n\t0xE3, 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x83, 0x95,\n\t// Bytes 2f40 - 2f7f\n\t0xE3, 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83,\n\t0x83, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D,\n\t0x86, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01,\n\t0x86, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01,\n\t0x03, 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC,\n\t0xB8, 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03,\n\t0x41, 0xCC, 0x80, 0xC9, 0x03, 0x41, 0xCC, 0x81,\n\t0xC9, 0x03, 0x41, 0xCC, 0x83, 0xC9, 0x03, 0x41,\n\t// Bytes 2f80 - 2fbf\n\t0xCC, 0x84, 0xC9, 0x03, 0x41, 0xCC, 0x89, 0xC9,\n\t0x03, 0x41, 0xCC, 0x8C, 0xC9, 0x03, 0x41, 0xCC,\n\t0x8F, 0xC9, 0x03, 0x41, 0xCC, 0x91, 0xC9, 0x03,\n\t0x41, 0xCC, 0xA5, 0xB5, 0x03, 0x41, 0xCC, 0xA8,\n\t0xA5, 0x03, 0x42, 0xCC, 0x87, 0xC9, 0x03, 0x42,\n\t0xCC, 0xA3, 0xB5, 0x03, 0x42, 0xCC, 0xB1, 0xB5,\n\t0x03, 0x43, 0xCC, 0x81, 0xC9, 0x03, 0x43, 0xCC,\n\t0x82, 0xC9, 0x03, 0x43, 0xCC, 0x87, 0xC9, 0x03,\n\t// Bytes 2fc0 - 2fff\n\t0x43, 0xCC, 0x8C, 0xC9, 0x03, 0x44, 0xCC, 0x87,\n\t0xC9, 0x03, 0x44, 0xCC, 0x8C, 0xC9, 0x03, 0x44,\n\t0xCC, 0xA3, 0xB5, 0x03, 0x44, 0xCC, 0xA7, 0xA5,\n\t0x03, 0x44, 0xCC, 0xAD, 0xB5, 0x03, 0x44, 0xCC,\n\t0xB1, 0xB5, 0x03, 0x45, 0xCC, 0x80, 0xC9, 0x03,\n\t0x45, 0xCC, 0x81, 0xC9, 0x03, 0x45, 0xCC, 0x83,\n\t0xC9, 0x03, 0x45, 0xCC, 0x86, 0xC9, 0x03, 0x45,\n\t0xCC, 0x87, 0xC9, 0x03, 0x45, 0xCC, 0x88, 0xC9,\n\t// Bytes 3000 - 303f\n\t0x03, 0x45, 0xCC, 0x89, 0xC9, 0x03, 0x45, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x45, 0xCC, 0x8F, 0xC9, 0x03,\n\t0x45, 0xCC, 0x91, 0xC9, 0x03, 0x45, 0xCC, 0xA8,\n\t0xA5, 0x03, 0x45, 0xCC, 0xAD, 0xB5, 0x03, 0x45,\n\t0xCC, 0xB0, 0xB5, 0x03, 0x46, 0xCC, 0x87, 0xC9,\n\t0x03, 0x47, 0xCC, 0x81, 0xC9, 0x03, 0x47, 0xCC,\n\t0x82, 0xC9, 0x03, 0x47, 0xCC, 0x84, 0xC9, 0x03,\n\t0x47, 0xCC, 0x86, 0xC9, 0x03, 0x47, 0xCC, 0x87,\n\t// Bytes 3040 - 307f\n\t0xC9, 0x03, 0x47, 0xCC, 0x8C, 0xC9, 0x03, 0x47,\n\t0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0x82, 0xC9,\n\t0x03, 0x48, 0xCC, 0x87, 0xC9, 0x03, 0x48, 0xCC,\n\t0x88, 0xC9, 0x03, 0x48, 0xCC, 0x8C, 0xC9, 0x03,\n\t0x48, 0xCC, 0xA3, 0xB5, 0x03, 0x48, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x48, 0xCC, 0xAE, 0xB5, 0x03, 0x49,\n\t0xCC, 0x80, 0xC9, 0x03, 0x49, 0xCC, 0x81, 0xC9,\n\t0x03, 0x49, 0xCC, 0x82, 0xC9, 0x03, 0x49, 0xCC,\n\t// Bytes 3080 - 30bf\n\t0x83, 0xC9, 0x03, 0x49, 0xCC, 0x84, 0xC9, 0x03,\n\t0x49, 0xCC, 0x86, 0xC9, 0x03, 0x49, 0xCC, 0x87,\n\t0xC9, 0x03, 0x49, 0xCC, 0x89, 0xC9, 0x03, 0x49,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x49, 0xCC, 0x8F, 0xC9,\n\t0x03, 0x49, 0xCC, 0x91, 0xC9, 0x03, 0x49, 0xCC,\n\t0xA3, 0xB5, 0x03, 0x49, 0xCC, 0xA8, 0xA5, 0x03,\n\t0x49, 0xCC, 0xB0, 0xB5, 0x03, 0x4A, 0xCC, 0x82,\n\t0xC9, 0x03, 0x4B, 0xCC, 0x81, 0xC9, 0x03, 0x4B,\n\t// Bytes 30c0 - 30ff\n\t0xCC, 0x8C, 0xC9, 0x03, 0x4B, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x4B, 0xCC, 0xA7, 0xA5, 0x03, 0x4B, 0xCC,\n\t0xB1, 0xB5, 0x03, 0x4C, 0xCC, 0x81, 0xC9, 0x03,\n\t0x4C, 0xCC, 0x8C, 0xC9, 0x03, 0x4C, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x4C, 0xCC, 0xAD, 0xB5, 0x03, 0x4C,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x4D, 0xCC, 0x81, 0xC9,\n\t0x03, 0x4D, 0xCC, 0x87, 0xC9, 0x03, 0x4D, 0xCC,\n\t0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0x80, 0xC9, 0x03,\n\t// Bytes 3100 - 313f\n\t0x4E, 0xCC, 0x81, 0xC9, 0x03, 0x4E, 0xCC, 0x83,\n\t0xC9, 0x03, 0x4E, 0xCC, 0x87, 0xC9, 0x03, 0x4E,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x4E, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x4E, 0xCC, 0xA7, 0xA5, 0x03, 0x4E, 0xCC,\n\t0xAD, 0xB5, 0x03, 0x4E, 0xCC, 0xB1, 0xB5, 0x03,\n\t0x4F, 0xCC, 0x80, 0xC9, 0x03, 0x4F, 0xCC, 0x81,\n\t0xC9, 0x03, 0x4F, 0xCC, 0x86, 0xC9, 0x03, 0x4F,\n\t0xCC, 0x89, 0xC9, 0x03, 0x4F, 0xCC, 0x8B, 0xC9,\n\t// Bytes 3140 - 317f\n\t0x03, 0x4F, 0xCC, 0x8C, 0xC9, 0x03, 0x4F, 0xCC,\n\t0x8F, 0xC9, 0x03, 0x4F, 0xCC, 0x91, 0xC9, 0x03,\n\t0x50, 0xCC, 0x81, 0xC9, 0x03, 0x50, 0xCC, 0x87,\n\t0xC9, 0x03, 0x52, 0xCC, 0x81, 0xC9, 0x03, 0x52,\n\t0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x8C, 0xC9,\n\t0x03, 0x52, 0xCC, 0x8F, 0xC9, 0x03, 0x52, 0xCC,\n\t0x91, 0xC9, 0x03, 0x52, 0xCC, 0xA7, 0xA5, 0x03,\n\t0x52, 0xCC, 0xB1, 0xB5, 0x03, 0x53, 0xCC, 0x82,\n\t// Bytes 3180 - 31bf\n\t0xC9, 0x03, 0x53, 0xCC, 0x87, 0xC9, 0x03, 0x53,\n\t0xCC, 0xA6, 0xB5, 0x03, 0x53, 0xCC, 0xA7, 0xA5,\n\t0x03, 0x54, 0xCC, 0x87, 0xC9, 0x03, 0x54, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x54, 0xCC, 0xA3, 0xB5, 0x03,\n\t0x54, 0xCC, 0xA6, 0xB5, 0x03, 0x54, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x54, 0xCC, 0xAD, 0xB5, 0x03, 0x54,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x55, 0xCC, 0x80, 0xC9,\n\t0x03, 0x55, 0xCC, 0x81, 0xC9, 0x03, 0x55, 0xCC,\n\t// Bytes 31c0 - 31ff\n\t0x82, 0xC9, 0x03, 0x55, 0xCC, 0x86, 0xC9, 0x03,\n\t0x55, 0xCC, 0x89, 0xC9, 0x03, 0x55, 0xCC, 0x8A,\n\t0xC9, 0x03, 0x55, 0xCC, 0x8B, 0xC9, 0x03, 0x55,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x55, 0xCC, 0x8F, 0xC9,\n\t0x03, 0x55, 0xCC, 0x91, 0xC9, 0x03, 0x55, 0xCC,\n\t0xA3, 0xB5, 0x03, 0x55, 0xCC, 0xA4, 0xB5, 0x03,\n\t0x55, 0xCC, 0xA8, 0xA5, 0x03, 0x55, 0xCC, 0xAD,\n\t0xB5, 0x03, 0x55, 0xCC, 0xB0, 0xB5, 0x03, 0x56,\n\t// Bytes 3200 - 323f\n\t0xCC, 0x83, 0xC9, 0x03, 0x56, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x57, 0xCC, 0x80, 0xC9, 0x03, 0x57, 0xCC,\n\t0x81, 0xC9, 0x03, 0x57, 0xCC, 0x82, 0xC9, 0x03,\n\t0x57, 0xCC, 0x87, 0xC9, 0x03, 0x57, 0xCC, 0x88,\n\t0xC9, 0x03, 0x57, 0xCC, 0xA3, 0xB5, 0x03, 0x58,\n\t0xCC, 0x87, 0xC9, 0x03, 0x58, 0xCC, 0x88, 0xC9,\n\t0x03, 0x59, 0xCC, 0x80, 0xC9, 0x03, 0x59, 0xCC,\n\t0x81, 0xC9, 0x03, 0x59, 0xCC, 0x82, 0xC9, 0x03,\n\t// Bytes 3240 - 327f\n\t0x59, 0xCC, 0x83, 0xC9, 0x03, 0x59, 0xCC, 0x84,\n\t0xC9, 0x03, 0x59, 0xCC, 0x87, 0xC9, 0x03, 0x59,\n\t0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x89, 0xC9,\n\t0x03, 0x59, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, 0xCC,\n\t0x81, 0xC9, 0x03, 0x5A, 0xCC, 0x82, 0xC9, 0x03,\n\t0x5A, 0xCC, 0x87, 0xC9, 0x03, 0x5A, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x5A, 0xCC, 0xA3, 0xB5, 0x03, 0x5A,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x61, 0xCC, 0x80, 0xC9,\n\t// Bytes 3280 - 32bf\n\t0x03, 0x61, 0xCC, 0x81, 0xC9, 0x03, 0x61, 0xCC,\n\t0x83, 0xC9, 0x03, 0x61, 0xCC, 0x84, 0xC9, 0x03,\n\t0x61, 0xCC, 0x89, 0xC9, 0x03, 0x61, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x61, 0xCC, 0x8F, 0xC9, 0x03, 0x61,\n\t0xCC, 0x91, 0xC9, 0x03, 0x61, 0xCC, 0xA5, 0xB5,\n\t0x03, 0x61, 0xCC, 0xA8, 0xA5, 0x03, 0x62, 0xCC,\n\t0x87, 0xC9, 0x03, 0x62, 0xCC, 0xA3, 0xB5, 0x03,\n\t0x62, 0xCC, 0xB1, 0xB5, 0x03, 0x63, 0xCC, 0x81,\n\t// Bytes 32c0 - 32ff\n\t0xC9, 0x03, 0x63, 0xCC, 0x82, 0xC9, 0x03, 0x63,\n\t0xCC, 0x87, 0xC9, 0x03, 0x63, 0xCC, 0x8C, 0xC9,\n\t0x03, 0x64, 0xCC, 0x87, 0xC9, 0x03, 0x64, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x64, 0xCC, 0xA3, 0xB5, 0x03,\n\t0x64, 0xCC, 0xA7, 0xA5, 0x03, 0x64, 0xCC, 0xAD,\n\t0xB5, 0x03, 0x64, 0xCC, 0xB1, 0xB5, 0x03, 0x65,\n\t0xCC, 0x80, 0xC9, 0x03, 0x65, 0xCC, 0x81, 0xC9,\n\t0x03, 0x65, 0xCC, 0x83, 0xC9, 0x03, 0x65, 0xCC,\n\t// Bytes 3300 - 333f\n\t0x86, 0xC9, 0x03, 0x65, 0xCC, 0x87, 0xC9, 0x03,\n\t0x65, 0xCC, 0x88, 0xC9, 0x03, 0x65, 0xCC, 0x89,\n\t0xC9, 0x03, 0x65, 0xCC, 0x8C, 0xC9, 0x03, 0x65,\n\t0xCC, 0x8F, 0xC9, 0x03, 0x65, 0xCC, 0x91, 0xC9,\n\t0x03, 0x65, 0xCC, 0xA8, 0xA5, 0x03, 0x65, 0xCC,\n\t0xAD, 0xB5, 0x03, 0x65, 0xCC, 0xB0, 0xB5, 0x03,\n\t0x66, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, 0x81,\n\t0xC9, 0x03, 0x67, 0xCC, 0x82, 0xC9, 0x03, 0x67,\n\t// Bytes 3340 - 337f\n\t0xCC, 0x84, 0xC9, 0x03, 0x67, 0xCC, 0x86, 0xC9,\n\t0x03, 0x67, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x67, 0xCC, 0xA7, 0xA5, 0x03,\n\t0x68, 0xCC, 0x82, 0xC9, 0x03, 0x68, 0xCC, 0x87,\n\t0xC9, 0x03, 0x68, 0xCC, 0x88, 0xC9, 0x03, 0x68,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x68, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x68, 0xCC, 0xA7, 0xA5, 0x03, 0x68, 0xCC,\n\t0xAE, 0xB5, 0x03, 0x68, 0xCC, 0xB1, 0xB5, 0x03,\n\t// Bytes 3380 - 33bf\n\t0x69, 0xCC, 0x80, 0xC9, 0x03, 0x69, 0xCC, 0x81,\n\t0xC9, 0x03, 0x69, 0xCC, 0x82, 0xC9, 0x03, 0x69,\n\t0xCC, 0x83, 0xC9, 0x03, 0x69, 0xCC, 0x84, 0xC9,\n\t0x03, 0x69, 0xCC, 0x86, 0xC9, 0x03, 0x69, 0xCC,\n\t0x89, 0xC9, 0x03, 0x69, 0xCC, 0x8C, 0xC9, 0x03,\n\t0x69, 0xCC, 0x8F, 0xC9, 0x03, 0x69, 0xCC, 0x91,\n\t0xC9, 0x03, 0x69, 0xCC, 0xA3, 0xB5, 0x03, 0x69,\n\t0xCC, 0xA8, 0xA5, 0x03, 0x69, 0xCC, 0xB0, 0xB5,\n\t// Bytes 33c0 - 33ff\n\t0x03, 0x6A, 0xCC, 0x82, 0xC9, 0x03, 0x6A, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0x81, 0xC9, 0x03,\n\t0x6B, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0xA3,\n\t0xB5, 0x03, 0x6B, 0xCC, 0xA7, 0xA5, 0x03, 0x6B,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x6C, 0xCC, 0x81, 0xC9,\n\t0x03, 0x6C, 0xCC, 0x8C, 0xC9, 0x03, 0x6C, 0xCC,\n\t0xA7, 0xA5, 0x03, 0x6C, 0xCC, 0xAD, 0xB5, 0x03,\n\t0x6C, 0xCC, 0xB1, 0xB5, 0x03, 0x6D, 0xCC, 0x81,\n\t// Bytes 3400 - 343f\n\t0xC9, 0x03, 0x6D, 0xCC, 0x87, 0xC9, 0x03, 0x6D,\n\t0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0x80, 0xC9,\n\t0x03, 0x6E, 0xCC, 0x81, 0xC9, 0x03, 0x6E, 0xCC,\n\t0x83, 0xC9, 0x03, 0x6E, 0xCC, 0x87, 0xC9, 0x03,\n\t0x6E, 0xCC, 0x8C, 0xC9, 0x03, 0x6E, 0xCC, 0xA3,\n\t0xB5, 0x03, 0x6E, 0xCC, 0xA7, 0xA5, 0x03, 0x6E,\n\t0xCC, 0xAD, 0xB5, 0x03, 0x6E, 0xCC, 0xB1, 0xB5,\n\t0x03, 0x6F, 0xCC, 0x80, 0xC9, 0x03, 0x6F, 0xCC,\n\t// Bytes 3440 - 347f\n\t0x81, 0xC9, 0x03, 0x6F, 0xCC, 0x86, 0xC9, 0x03,\n\t0x6F, 0xCC, 0x89, 0xC9, 0x03, 0x6F, 0xCC, 0x8B,\n\t0xC9, 0x03, 0x6F, 0xCC, 0x8C, 0xC9, 0x03, 0x6F,\n\t0xCC, 0x8F, 0xC9, 0x03, 0x6F, 0xCC, 0x91, 0xC9,\n\t0x03, 0x70, 0xCC, 0x81, 0xC9, 0x03, 0x70, 0xCC,\n\t0x87, 0xC9, 0x03, 0x72, 0xCC, 0x81, 0xC9, 0x03,\n\t0x72, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x72, 0xCC, 0x8F, 0xC9, 0x03, 0x72,\n\t// Bytes 3480 - 34bf\n\t0xCC, 0x91, 0xC9, 0x03, 0x72, 0xCC, 0xA7, 0xA5,\n\t0x03, 0x72, 0xCC, 0xB1, 0xB5, 0x03, 0x73, 0xCC,\n\t0x82, 0xC9, 0x03, 0x73, 0xCC, 0x87, 0xC9, 0x03,\n\t0x73, 0xCC, 0xA6, 0xB5, 0x03, 0x73, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x74, 0xCC, 0x87, 0xC9, 0x03, 0x74,\n\t0xCC, 0x88, 0xC9, 0x03, 0x74, 0xCC, 0x8C, 0xC9,\n\t0x03, 0x74, 0xCC, 0xA3, 0xB5, 0x03, 0x74, 0xCC,\n\t0xA6, 0xB5, 0x03, 0x74, 0xCC, 0xA7, 0xA5, 0x03,\n\t// Bytes 34c0 - 34ff\n\t0x74, 0xCC, 0xAD, 0xB5, 0x03, 0x74, 0xCC, 0xB1,\n\t0xB5, 0x03, 0x75, 0xCC, 0x80, 0xC9, 0x03, 0x75,\n\t0xCC, 0x81, 0xC9, 0x03, 0x75, 0xCC, 0x82, 0xC9,\n\t0x03, 0x75, 0xCC, 0x86, 0xC9, 0x03, 0x75, 0xCC,\n\t0x89, 0xC9, 0x03, 0x75, 0xCC, 0x8A, 0xC9, 0x03,\n\t0x75, 0xCC, 0x8B, 0xC9, 0x03, 0x75, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x75, 0xCC, 0x8F, 0xC9, 0x03, 0x75,\n\t0xCC, 0x91, 0xC9, 0x03, 0x75, 0xCC, 0xA3, 0xB5,\n\t// Bytes 3500 - 353f\n\t0x03, 0x75, 0xCC, 0xA4, 0xB5, 0x03, 0x75, 0xCC,\n\t0xA8, 0xA5, 0x03, 0x75, 0xCC, 0xAD, 0xB5, 0x03,\n\t0x75, 0xCC, 0xB0, 0xB5, 0x03, 0x76, 0xCC, 0x83,\n\t0xC9, 0x03, 0x76, 0xCC, 0xA3, 0xB5, 0x03, 0x77,\n\t0xCC, 0x80, 0xC9, 0x03, 0x77, 0xCC, 0x81, 0xC9,\n\t0x03, 0x77, 0xCC, 0x82, 0xC9, 0x03, 0x77, 0xCC,\n\t0x87, 0xC9, 0x03, 0x77, 0xCC, 0x88, 0xC9, 0x03,\n\t0x77, 0xCC, 0x8A, 0xC9, 0x03, 0x77, 0xCC, 0xA3,\n\t// Bytes 3540 - 357f\n\t0xB5, 0x03, 0x78, 0xCC, 0x87, 0xC9, 0x03, 0x78,\n\t0xCC, 0x88, 0xC9, 0x03, 0x79, 0xCC, 0x80, 0xC9,\n\t0x03, 0x79, 0xCC, 0x81, 0xC9, 0x03, 0x79, 0xCC,\n\t0x82, 0xC9, 0x03, 0x79, 0xCC, 0x83, 0xC9, 0x03,\n\t0x79, 0xCC, 0x84, 0xC9, 0x03, 0x79, 0xCC, 0x87,\n\t0xC9, 0x03, 0x79, 0xCC, 0x88, 0xC9, 0x03, 0x79,\n\t0xCC, 0x89, 0xC9, 0x03, 0x79, 0xCC, 0x8A, 0xC9,\n\t0x03, 0x79, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, 0xCC,\n\t// Bytes 3580 - 35bf\n\t0x81, 0xC9, 0x03, 0x7A, 0xCC, 0x82, 0xC9, 0x03,\n\t0x7A, 0xCC, 0x87, 0xC9, 0x03, 0x7A, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x7A, 0xCC, 0xA3, 0xB5, 0x03, 0x7A,\n\t0xCC, 0xB1, 0xB5, 0x04, 0xC2, 0xA8, 0xCC, 0x80,\n\t0xCA, 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x04,\n\t0xC2, 0xA8, 0xCD, 0x82, 0xCA, 0x04, 0xC3, 0x86,\n\t0xCC, 0x81, 0xC9, 0x04, 0xC3, 0x86, 0xCC, 0x84,\n\t0xC9, 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xC9, 0x04,\n\t// Bytes 35c0 - 35ff\n\t0xC3, 0xA6, 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0xA6,\n\t0xCC, 0x84, 0xC9, 0x04, 0xC3, 0xB8, 0xCC, 0x81,\n\t0xC9, 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xC9, 0x04,\n\t0xC6, 0xB7, 0xCC, 0x8C, 0xC9, 0x04, 0xCA, 0x92,\n\t0xCC, 0x8C, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x80,\n\t0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x04,\n\t0xCE, 0x91, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x91,\n\t0xCC, 0x86, 0xC9, 0x04, 0xCE, 0x91, 0xCD, 0x85,\n\t// Bytes 3600 - 363f\n\t0xD9, 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97,\n\t0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x97, 0xCC, 0x81,\n\t0xC9, 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xD9, 0x04,\n\t0xCE, 0x99, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x99,\n\t0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x84,\n\t0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xC9, 0x04,\n\t0xCE, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0x9F,\n\t// Bytes 3640 - 367f\n\t0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x9F, 0xCC, 0x81,\n\t0xC9, 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xC9, 0x04,\n\t0xCE, 0xA5, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA5,\n\t0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x84,\n\t0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xC9, 0x04,\n\t0xCE, 0xA5, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0xA9,\n\t0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA9, 0xCC, 0x81,\n\t0xC9, 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xD9, 0x04,\n\t// Bytes 3680 - 36bf\n\t0xCE, 0xB1, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB1,\n\t0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB1, 0xCD, 0x85,\n\t0xD9, 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xB7,\n\t0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB9, 0xCC, 0x80,\n\t0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x04,\n\t0xCE, 0xB9, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB9,\n\t0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB9, 0xCD, 0x82,\n\t// Bytes 36c0 - 36ff\n\t0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x81,\n\t0xCC, 0x93, 0xC9, 0x04, 0xCF, 0x81, 0xCC, 0x94,\n\t0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x85,\n\t0xCC, 0x84, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x86,\n\t0xC9, 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xC9, 0x04,\n\t0xCF, 0x89, 0xCD, 0x85, 0xD9, 0x04, 0xCF, 0x92,\n\t// Bytes 3700 - 373f\n\t0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x92, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0x90, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x90,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x93, 0xCC, 0x81,\n\t0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xC9, 0x04,\n\t0xD0, 0x95, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x95,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xC9, 0x04,\n\t// Bytes 3740 - 377f\n\t0xD0, 0x97, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x98,\n\t0xCC, 0x80, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x84,\n\t0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xC9, 0x04,\n\t0xD0, 0x98, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x9A,\n\t0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x9E, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xC9, 0x04,\n\t0xD0, 0xA3, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xA3,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x8B,\n\t// Bytes 3780 - 37bf\n\t0xC9, 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0xAB, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xAD,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0xB3, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0xB5,\n\t0xCC, 0x80, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0xB6, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB6,\n\t// Bytes 37c0 - 37ff\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB7, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xC9, 0x04,\n\t0xD0, 0xB8, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0xB8,\n\t0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xC9, 0x04,\n\t0xD0, 0xBE, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x83,\n\t0xCC, 0x84, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xC9, 0x04,\n\t// Bytes 3800 - 383f\n\t0xD1, 0x83, 0xCC, 0x8B, 0xC9, 0x04, 0xD1, 0x87,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8B, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD1, 0x96, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0xB4,\n\t0xCC, 0x8F, 0xC9, 0x04, 0xD1, 0xB5, 0xCC, 0x8F,\n\t0xC9, 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD3, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA8,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA9, 0xCC, 0x88,\n\t// Bytes 3840 - 387f\n\t0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x04,\n\t0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x04, 0xD8, 0xA7,\n\t0xD9, 0x95, 0xB5, 0x04, 0xD9, 0x88, 0xD9, 0x94,\n\t0xC9, 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, 0x04,\n\t0xDB, 0x81, 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x92,\n\t0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x95, 0xD9, 0x94,\n\t0xC9, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCA,\n\t0x05, 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05,\n\t// Bytes 3880 - 38bf\n\t0x41, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x41,\n\t0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC,\n\t0x86, 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x86,\n\t0xCC, 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC,\n\t0x83, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89,\n\t0xCA, 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCA,\n\t0x05, 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05,\n\t0x41, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x41,\n\t// Bytes 38c0 - 38ff\n\t0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x41, 0xCC,\n\t0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x43, 0xCC, 0xA7,\n\t0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC,\n\t0x80, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81,\n\t0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCA,\n\t0x05, 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05,\n\t0x45, 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x45,\n\t0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC,\n\t// Bytes 3900 - 393f\n\t0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x45, 0xCC, 0xA7,\n\t0xCC, 0x86, 0xCA, 0x05, 0x49, 0xCC, 0x88, 0xCC,\n\t0x81, 0xCA, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84,\n\t0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCA,\n\t0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05,\n\t0x4F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x4F,\n\t0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC,\n\t0x83, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x83,\n\t// Bytes 3940 - 397f\n\t0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x83, 0xCC,\n\t0x88, 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80,\n\t0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCA,\n\t0x05, 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05,\n\t0x4F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x4F,\n\t0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC,\n\t0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x9B,\n\t0xCC, 0x83, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC,\n\t// Bytes 3980 - 39bf\n\t0x89, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3,\n\t0xB6, 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA,\n\t0x05, 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05,\n\t0x52, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x53,\n\t0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC,\n\t0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, 0xA3,\n\t0xCC, 0x87, 0xCA, 0x05, 0x55, 0xCC, 0x83, 0xCC,\n\t0x81, 0xCA, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88,\n\t// Bytes 39c0 - 39ff\n\t0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCA,\n\t0x05, 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05,\n\t0x55, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x55,\n\t0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x55, 0xCC,\n\t0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x9B,\n\t0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC,\n\t0x83, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89,\n\t0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6,\n\t// Bytes 3a00 - 3a3f\n\t0x05, 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05,\n\t0x61, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x61,\n\t0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC,\n\t0x82, 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x86,\n\t0xCC, 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC,\n\t0x81, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83,\n\t0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCA,\n\t0x05, 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05,\n\t// Bytes 3a40 - 3a7f\n\t0x61, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x61,\n\t0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC,\n\t0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x61, 0xCC, 0xA3,\n\t0xCC, 0x86, 0xCA, 0x05, 0x63, 0xCC, 0xA7, 0xCC,\n\t0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80,\n\t0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCA,\n\t0x05, 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05,\n\t0x65, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x65,\n\t// Bytes 3a80 - 3abf\n\t0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC,\n\t0x84, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0xA3,\n\t0xCC, 0x82, 0xCA, 0x05, 0x65, 0xCC, 0xA7, 0xCC,\n\t0x86, 0xCA, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81,\n\t0xCA, 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCA,\n\t0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05,\n\t0x6F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x6F,\n\t0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC,\n\t// Bytes 3ac0 - 3aff\n\t0x82, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x83,\n\t0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC,\n\t0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88,\n\t0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCA,\n\t0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05,\n\t0x6F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, 0x6F,\n\t0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC,\n\t0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x9B,\n\t// Bytes 3b00 - 3b3f\n\t0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC,\n\t0x83, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89,\n\t0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6,\n\t0x05, 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05,\n\t0x6F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, 0x72,\n\t0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x73, 0xCC,\n\t0x81, 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0x8C,\n\t0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0xA3, 0xCC,\n\t// Bytes 3b40 - 3b7f\n\t0x87, 0xCA, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81,\n\t0xCA, 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCA,\n\t0x05, 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x05,\n\t0x75, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x75,\n\t0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x75, 0xCC,\n\t0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x75, 0xCC, 0x9B,\n\t0xCC, 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC,\n\t0x81, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83,\n\t// Bytes 3b80 - 3bbf\n\t0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCA,\n\t0x05, 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, 0x05,\n\t0xE1, 0xBE, 0xBF, 0xCC, 0x80, 0xCA, 0x05, 0xE1,\n\t0xBE, 0xBF, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBE,\n\t0xBF, 0xCD, 0x82, 0xCA, 0x05, 0xE1, 0xBF, 0xBE,\n\t0xCC, 0x80, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCC,\n\t0x81, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82,\n\t0xCA, 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05,\n\t// Bytes 3bc0 - 3bff\n\t0x05, 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x87, 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87,\n\t0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05,\n\t// Bytes 3c00 - 3c3f\n\t0xE2, 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x88, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89,\n\t0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t// Bytes 3c40 - 3c7f\n\t0x89, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89,\n\t0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x8A, 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A,\n\t// Bytes 3c80 - 3cbf\n\t0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x8A, 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A,\n\t0xAB, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2,\n\t// Bytes 3cc0 - 3cff\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05,\n\t0x06, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t// Bytes 3d00 - 3d3f\n\t0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t// Bytes 3d40 - 3d7f\n\t0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t// Bytes 3d80 - 3dbf\n\t0x06, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t// Bytes 3dc0 - 3dff\n\t0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDA,\n\t// Bytes 3e00 - 3e3f\n\t0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t// Bytes 3e40 - 3e7f\n\t0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCA,\n\t// Bytes 3e80 - 3ebf\n\t0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDA,\n\t// Bytes 3ec0 - 3eff\n\t0x06, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDA,\n\t0x06, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x09,\n\t0x06, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x09,\n\t0x06, 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x09,\n\t0x06, 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x85,\n\t0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x11,\n\t// Bytes 3f00 - 3f3f\n\t0x06, 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 3f40 - 3f7f\n\t0x06, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 3f80 - 3fbf\n\t0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x0D,\n\t// Bytes 3fc0 - 3fff\n\t0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 4000 - 403f\n\t0x06, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 4040 - 407f\n\t0x06, 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 4080 - 40bf\n\t0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 40c0 - 40ff\n\t0x06, 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x0D,\n\t0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC,\n\t0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC,\n\t0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD,\n\t// Bytes 4100 - 413f\n\t0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD,\n\t0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC,\n\t0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC,\n\t0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t// Bytes 4140 - 417f\n\t0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC,\n\t0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC,\n\t0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD,\n\t// Bytes 4180 - 41bf\n\t0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC,\n\t0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC,\n\t0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB,\n\t// Bytes 41c0 - 41ff\n\t0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC,\n\t0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC,\n\t0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD,\n\t0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC,\n\t// Bytes 4200 - 423f\n\t0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF,\n\t0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC,\n\t0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB,\n\t0x08, 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82,\n\t// Bytes 4240 - 427f\n\t0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0,\n\t0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82,\n\t0xA5, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x42, 0xC2,\n\t0xB4, 0x01, 0x43, 0x20, 0xCC, 0x81, 0xC9, 0x43,\n\t0x20, 0xCC, 0x83, 0xC9, 0x43, 0x20, 0xCC, 0x84,\n\t0xC9, 0x43, 0x20, 0xCC, 0x85, 0xC9, 0x43, 0x20,\n\t0xCC, 0x86, 0xC9, 0x43, 0x20, 0xCC, 0x87, 0xC9,\n\t0x43, 0x20, 0xCC, 0x88, 0xC9, 0x43, 0x20, 0xCC,\n\t// Bytes 4280 - 42bf\n\t0x8A, 0xC9, 0x43, 0x20, 0xCC, 0x8B, 0xC9, 0x43,\n\t0x20, 0xCC, 0x93, 0xC9, 0x43, 0x20, 0xCC, 0x94,\n\t0xC9, 0x43, 0x20, 0xCC, 0xA7, 0xA5, 0x43, 0x20,\n\t0xCC, 0xA8, 0xA5, 0x43, 0x20, 0xCC, 0xB3, 0xB5,\n\t0x43, 0x20, 0xCD, 0x82, 0xC9, 0x43, 0x20, 0xCD,\n\t0x85, 0xD9, 0x43, 0x20, 0xD9, 0x8B, 0x59, 0x43,\n\t0x20, 0xD9, 0x8C, 0x5D, 0x43, 0x20, 0xD9, 0x8D,\n\t0x61, 0x43, 0x20, 0xD9, 0x8E, 0x65, 0x43, 0x20,\n\t// Bytes 42c0 - 42ff\n\t0xD9, 0x8F, 0x69, 0x43, 0x20, 0xD9, 0x90, 0x6D,\n\t0x43, 0x20, 0xD9, 0x91, 0x71, 0x43, 0x20, 0xD9,\n\t0x92, 0x75, 0x43, 0x41, 0xCC, 0x8A, 0xC9, 0x43,\n\t0x73, 0xCC, 0x87, 0xC9, 0x44, 0x20, 0xE3, 0x82,\n\t0x99, 0x0D, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x44, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x44, 0xCE,\n\t0x91, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x95, 0xCC,\n\t0x81, 0xC9, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xC9,\n\t// Bytes 4300 - 433f\n\t0x44, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x44, 0xCE,\n\t0x9F, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC,\n\t0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xC9,\n\t0x44, 0xCE, 0xA9, 0xCC, 0x81, 0xC9, 0x44, 0xCE,\n\t0xB1, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB5, 0xCC,\n\t0x81, 0xC9, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xC9,\n\t0x44, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x44, 0xCE,\n\t0xBF, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x85, 0xCC,\n\t// Bytes 4340 - 437f\n\t0x81, 0xC9, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xC9,\n\t0x44, 0xD7, 0x90, 0xD6, 0xB7, 0x31, 0x44, 0xD7,\n\t0x90, 0xD6, 0xB8, 0x35, 0x44, 0xD7, 0x90, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x91, 0xD6, 0xBF, 0x49, 0x44, 0xD7,\n\t0x92, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x93, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x95, 0xD6, 0xB9, 0x39, 0x44, 0xD7,\n\t// Bytes 4380 - 43bf\n\t0x95, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x96, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x99, 0xD6, 0xB4, 0x25, 0x44, 0xD7,\n\t0x99, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9A, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x9B, 0xD6, 0xBF, 0x49, 0x44, 0xD7,\n\t0x9C, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9E, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x41,\n\t// Bytes 43c0 - 43ff\n\t0x44, 0xD7, 0xA1, 0xD6, 0xBC, 0x41, 0x44, 0xD7,\n\t0xA3, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x49,\n\t0x44, 0xD7, 0xA6, 0xD6, 0xBC, 0x41, 0x44, 0xD7,\n\t0xA7, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA8, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0xA9, 0xD7, 0x81, 0x4D, 0x44, 0xD7,\n\t0xA9, 0xD7, 0x82, 0x51, 0x44, 0xD7, 0xAA, 0xD6,\n\t// Bytes 4400 - 443f\n\t0xBC, 0x41, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x31,\n\t0x44, 0xD8, 0xA7, 0xD9, 0x8B, 0x59, 0x44, 0xD8,\n\t0xA7, 0xD9, 0x93, 0xC9, 0x44, 0xD8, 0xA7, 0xD9,\n\t0x94, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB5,\n\t0x44, 0xD8, 0xB0, 0xD9, 0xB0, 0x79, 0x44, 0xD8,\n\t0xB1, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x80, 0xD9,\n\t0x8B, 0x59, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x65,\n\t0x44, 0xD9, 0x80, 0xD9, 0x8F, 0x69, 0x44, 0xD9,\n\t// Bytes 4440 - 447f\n\t0x80, 0xD9, 0x90, 0x6D, 0x44, 0xD9, 0x80, 0xD9,\n\t0x91, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x75,\n\t0x44, 0xD9, 0x87, 0xD9, 0xB0, 0x79, 0x44, 0xD9,\n\t0x88, 0xD9, 0x94, 0xC9, 0x44, 0xD9, 0x89, 0xD9,\n\t0xB0, 0x79, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xC9,\n\t0x44, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x44, 0xDB,\n\t0x95, 0xD9, 0x94, 0xC9, 0x45, 0x20, 0xCC, 0x88,\n\t0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCC,\n\t// Bytes 4480 - 44bf\n\t0x81, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82,\n\t0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x45, 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x45,\n\t0x20, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x45, 0x20,\n\t0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x94,\n\t0xCD, 0x82, 0xCA, 0x45, 0x20, 0xD9, 0x8C, 0xD9,\n\t0x91, 0x72, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91,\n\t// Bytes 44c0 - 44ff\n\t0x72, 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x72,\n\t0x45, 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x45,\n\t0x20, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x45, 0x20,\n\t0xD9, 0x91, 0xD9, 0xB0, 0x7A, 0x45, 0xE2, 0xAB,\n\t0x9D, 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC,\n\t0x88, 0xCC, 0x81, 0xCA, 0x46, 0xCF, 0x85, 0xCC,\n\t0x88, 0xCC, 0x81, 0xCA, 0x46, 0xD7, 0xA9, 0xD6,\n\t0xBC, 0xD7, 0x81, 0x4E, 0x46, 0xD7, 0xA9, 0xD6,\n\t// Bytes 4500 - 453f\n\t0xBC, 0xD7, 0x82, 0x52, 0x46, 0xD9, 0x80, 0xD9,\n\t0x8E, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9,\n\t0x8F, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9,\n\t0x90, 0xD9, 0x91, 0x72, 0x46, 0xE0, 0xA4, 0x95,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x96,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x97,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x9C,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA1,\n\t// Bytes 4540 - 457f\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA2,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAB,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAF,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA1,\n\t0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA2,\n\t0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xAF,\n\t0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x96,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x97,\n\t// Bytes 4580 - 45bf\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x9C,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xAB,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB2,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB8,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA1,\n\t0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA2,\n\t0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xBE, 0xB2,\n\t0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE0, 0xBE, 0xB3,\n\t// Bytes 45c0 - 45ff\n\t0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE3, 0x83, 0x86,\n\t0xE3, 0x82, 0x99, 0x0D, 0x48, 0xF0, 0x9D, 0x85,\n\t0x97, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0,\n\t0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xAD,\n\t0x48, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85,\n\t0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0,\n\t0x9D, 0x85, 0xA5, 0xAD, 0x49, 0xE0, 0xBE, 0xB2,\n\t0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x49,\n\t// Bytes 4600 - 463f\n\t0xE0, 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE,\n\t0x80, 0x9E, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0,\n\t0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE,\n\t0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85,\n\t0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0,\n\t0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0,\n\t0x9D, 0x85, 0xB0, 0xAE, 0x4C, 0xF0, 0x9D, 0x85,\n\t0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85,\n\t// Bytes 4640 - 467f\n\t0xB1, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0,\n\t0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xAE,\n\t0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85,\n\t0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0,\n\t0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0,\n\t0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, 0x9D, 0x86,\n\t0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85,\n\t0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0,\n\t// Bytes 4680 - 46bf\n\t0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE,\n\t0x83, 0x41, 0xCC, 0x82, 0xC9, 0x83, 0x41, 0xCC,\n\t0x86, 0xC9, 0x83, 0x41, 0xCC, 0x87, 0xC9, 0x83,\n\t0x41, 0xCC, 0x88, 0xC9, 0x83, 0x41, 0xCC, 0x8A,\n\t0xC9, 0x83, 0x41, 0xCC, 0xA3, 0xB5, 0x83, 0x43,\n\t0xCC, 0xA7, 0xA5, 0x83, 0x45, 0xCC, 0x82, 0xC9,\n\t0x83, 0x45, 0xCC, 0x84, 0xC9, 0x83, 0x45, 0xCC,\n\t0xA3, 0xB5, 0x83, 0x45, 0xCC, 0xA7, 0xA5, 0x83,\n\t// Bytes 46c0 - 46ff\n\t0x49, 0xCC, 0x88, 0xC9, 0x83, 0x4C, 0xCC, 0xA3,\n\t0xB5, 0x83, 0x4F, 0xCC, 0x82, 0xC9, 0x83, 0x4F,\n\t0xCC, 0x83, 0xC9, 0x83, 0x4F, 0xCC, 0x84, 0xC9,\n\t0x83, 0x4F, 0xCC, 0x87, 0xC9, 0x83, 0x4F, 0xCC,\n\t0x88, 0xC9, 0x83, 0x4F, 0xCC, 0x9B, 0xAD, 0x83,\n\t0x4F, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0xA8,\n\t0xA5, 0x83, 0x52, 0xCC, 0xA3, 0xB5, 0x83, 0x53,\n\t0xCC, 0x81, 0xC9, 0x83, 0x53, 0xCC, 0x8C, 0xC9,\n\t// Bytes 4700 - 473f\n\t0x83, 0x53, 0xCC, 0xA3, 0xB5, 0x83, 0x55, 0xCC,\n\t0x83, 0xC9, 0x83, 0x55, 0xCC, 0x84, 0xC9, 0x83,\n\t0x55, 0xCC, 0x88, 0xC9, 0x83, 0x55, 0xCC, 0x9B,\n\t0xAD, 0x83, 0x61, 0xCC, 0x82, 0xC9, 0x83, 0x61,\n\t0xCC, 0x86, 0xC9, 0x83, 0x61, 0xCC, 0x87, 0xC9,\n\t0x83, 0x61, 0xCC, 0x88, 0xC9, 0x83, 0x61, 0xCC,\n\t0x8A, 0xC9, 0x83, 0x61, 0xCC, 0xA3, 0xB5, 0x83,\n\t0x63, 0xCC, 0xA7, 0xA5, 0x83, 0x65, 0xCC, 0x82,\n\t// Bytes 4740 - 477f\n\t0xC9, 0x83, 0x65, 0xCC, 0x84, 0xC9, 0x83, 0x65,\n\t0xCC, 0xA3, 0xB5, 0x83, 0x65, 0xCC, 0xA7, 0xA5,\n\t0x83, 0x69, 0xCC, 0x88, 0xC9, 0x83, 0x6C, 0xCC,\n\t0xA3, 0xB5, 0x83, 0x6F, 0xCC, 0x82, 0xC9, 0x83,\n\t0x6F, 0xCC, 0x83, 0xC9, 0x83, 0x6F, 0xCC, 0x84,\n\t0xC9, 0x83, 0x6F, 0xCC, 0x87, 0xC9, 0x83, 0x6F,\n\t0xCC, 0x88, 0xC9, 0x83, 0x6F, 0xCC, 0x9B, 0xAD,\n\t0x83, 0x6F, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC,\n\t// Bytes 4780 - 47bf\n\t0xA8, 0xA5, 0x83, 0x72, 0xCC, 0xA3, 0xB5, 0x83,\n\t0x73, 0xCC, 0x81, 0xC9, 0x83, 0x73, 0xCC, 0x8C,\n\t0xC9, 0x83, 0x73, 0xCC, 0xA3, 0xB5, 0x83, 0x75,\n\t0xCC, 0x83, 0xC9, 0x83, 0x75, 0xCC, 0x84, 0xC9,\n\t0x83, 0x75, 0xCC, 0x88, 0xC9, 0x83, 0x75, 0xCC,\n\t0x9B, 0xAD, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0x91, 0xCC, 0x94, 0xC9, 0x84, 0xCE,\n\t0x95, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x95, 0xCC,\n\t// Bytes 47c0 - 47ff\n\t0x94, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0x97, 0xCC, 0x94, 0xC9, 0x84, 0xCE,\n\t0x99, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x99, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0x9F, 0xCC, 0x94, 0xC9, 0x84, 0xCE,\n\t0xA5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xA9, 0xCC,\n\t0x93, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCE, 0xB1, 0xCC, 0x80, 0xC9, 0x84, 0xCE,\n\t// Bytes 4800 - 483f\n\t0xB1, 0xCC, 0x81, 0xC9, 0x84, 0xCE, 0xB1, 0xCC,\n\t0x93, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCE, 0xB1, 0xCD, 0x82, 0xC9, 0x84, 0xCE,\n\t0xB5, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB5, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xC9,\n\t0x84, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, 0x84, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB7, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xC9,\n\t// Bytes 4840 - 487f\n\t0x84, 0xCE, 0xB9, 0xCC, 0x88, 0xC9, 0x84, 0xCE,\n\t0xB9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB9, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0xBF, 0xCC, 0x94, 0xC9, 0x84, 0xCF,\n\t0x85, 0xCC, 0x88, 0xC9, 0x84, 0xCF, 0x85, 0xCC,\n\t0x93, 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCF, 0x89, 0xCC, 0x80, 0xC9, 0x84, 0xCF,\n\t0x89, 0xCC, 0x81, 0xC9, 0x84, 0xCF, 0x89, 0xCC,\n\t// Bytes 4880 - 48bf\n\t0x93, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCF, 0x89, 0xCD, 0x82, 0xC9, 0x86, 0xCE,\n\t0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t// Bytes 48c0 - 48ff\n\t0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t// Bytes 4900 - 493f\n\t0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t// Bytes 4940 - 497f\n\t0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCF,\n\t// Bytes 4980 - 49bf\n\t0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x42, 0xCC,\n\t0x80, 0xC9, 0x32, 0x42, 0xCC, 0x81, 0xC9, 0x32,\n\t0x42, 0xCC, 0x93, 0xC9, 0x32, 0x43, 0xE1, 0x85,\n\t// Bytes 49c0 - 49ff\n\t0xA1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xA5, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xA9, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43,\n\t// Bytes 4a00 - 4a3f\n\t0xE1, 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xAD, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xB1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xB5, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01,\n\t// Bytes 4a40 - 4a7f\n\t0x00, 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43,\n\t0xE1, 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86,\n\t0xB0, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01,\n\t0x00, 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43,\n\t0xE1, 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86,\n\t0xB4, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01,\n\t0x00, 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x32,\n\t0x43, 0xE3, 0x82, 0x99, 0x0D, 0x03, 0x43, 0xE3,\n\t// Bytes 4a80 - 4abf\n\t0x82, 0x9A, 0x0D, 0x03, 0x46, 0xE0, 0xBD, 0xB1,\n\t0xE0, 0xBD, 0xB2, 0x9E, 0x26, 0x46, 0xE0, 0xBD,\n\t0xB1, 0xE0, 0xBD, 0xB4, 0xA2, 0x26, 0x46, 0xE0,\n\t0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x26, 0x00,\n\t0x01,\n}\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfcTrie) lookup(s []byte) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfcTrie) lookupUnsafe(s []byte) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfcValues[c0]\n\t}\n\ti := nfcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfcTrie) lookupString(s string) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfcTrie) lookupStringUnsafe(s string) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfcValues[c0]\n\t}\n\ti := nfcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// nfcTrie. Total size: 10442 bytes (10.20 KiB). Checksum: 4ba400a9d8208e03.\ntype nfcTrie struct{}\n\nfunc newNfcTrie(i int) *nfcTrie {\n\treturn &nfcTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *nfcTrie) lookupValue(n uint32, b byte) uint16 {\n\tswitch {\n\tcase n < 45:\n\t\treturn uint16(nfcValues[n<<6+uint32(b)])\n\tdefault:\n\t\tn -= 45\n\t\treturn uint16(nfcSparse.lookup(n, b))\n\t}\n}\n\n// nfcValues: 47 blocks, 3008 entries, 6016 bytes\n// The third block is the zero block.\nvar nfcValues = [3008]uint16{\n\t// Block 0x0, offset 0x0\n\t0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000,\n\t// Block 0x1, offset 0x40\n\t0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000,\n\t0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000,\n\t0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000,\n\t0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000,\n\t0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000,\n\t0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000,\n\t0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000,\n\t0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000,\n\t0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000,\n\t0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c,\n\t0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb,\n\t0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104,\n\t0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd,\n\t0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235,\n\t0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285,\n\t0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3,\n\t0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750,\n\t0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f,\n\t0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3,\n\t0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569,\n\t// Block 0x4, offset 0x100\n\t0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8,\n\t0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6,\n\t0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5,\n\t0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302,\n\t0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339,\n\t0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352,\n\t0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e,\n\t0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6,\n\t0x130: 0x308c, 0x134: 0x30b4, 0x135: 0x33c0,\n\t0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc,\n\t0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8,\n\t// Block 0x5, offset 0x140\n\t0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118,\n\t0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f,\n\t0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c,\n\t0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483,\n\t0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d,\n\t0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba,\n\t0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796,\n\t0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2,\n\t0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528,\n\t0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267,\n\t0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0xa000,\n\t// Block 0x6, offset 0x180\n\t0x184: 0x8100, 0x185: 0x8100,\n\t0x186: 0x8100,\n\t0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140,\n\t0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8,\n\t0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50,\n\t0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5,\n\t0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf,\n\t0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd,\n\t0x1b0: 0x33c5, 0x1b4: 0x3028, 0x1b5: 0x3334,\n\t0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46,\n\t0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316,\n\t0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac,\n\t0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479,\n\t0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6,\n\t0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5,\n\t0x1de: 0x305a, 0x1df: 0x3366,\n\t0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b,\n\t0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769,\n\t0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132,\n\t0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932,\n\t0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932,\n\t0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d,\n\t0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d,\n\t0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d,\n\t0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d,\n\t0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d,\n\t0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101,\n\t0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d,\n\t0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936,\n\t0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132,\n\t0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132,\n\t0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132,\n\t0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135,\n\t0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132,\n\t0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132,\n\t0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132,\n\t0x274: 0x0170,\n\t0x27a: 0x8100,\n\t0x27e: 0x0037,\n\t// Block 0xa, offset 0x280\n\t0x284: 0x8100, 0x285: 0x35a1,\n\t0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625,\n\t0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000,\n\t0x295: 0xa000, 0x297: 0xa000,\n\t0x299: 0xa000,\n\t0x29f: 0xa000, 0x2a1: 0xa000,\n\t0x2a5: 0xa000, 0x2a9: 0xa000,\n\t0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9,\n\t0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000,\n\t0x2b7: 0xa000, 0x2b9: 0xa000,\n\t0x2bf: 0xa000,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x3721, 0x2c1: 0x372d, 0x2c3: 0x371b,\n\t0x2c6: 0xa000, 0x2c7: 0x3709,\n\t0x2cc: 0x375d, 0x2cd: 0x3745, 0x2ce: 0x376f, 0x2d0: 0xa000,\n\t0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000,\n\t0x2d8: 0xa000, 0x2d9: 0x3751, 0x2da: 0xa000,\n\t0x2de: 0xa000, 0x2e3: 0xa000,\n\t0x2e7: 0xa000,\n\t0x2eb: 0xa000, 0x2ed: 0xa000,\n\t0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000,\n\t0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d5, 0x2fa: 0xa000,\n\t0x2fe: 0xa000,\n\t// Block 0xc, offset 0x300\n\t0x301: 0x3733, 0x302: 0x37b7,\n\t0x310: 0x370f, 0x311: 0x3793,\n\t0x312: 0x3715, 0x313: 0x3799, 0x316: 0x3727, 0x317: 0x37ab,\n\t0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3829, 0x31b: 0x382f, 0x31c: 0x3739, 0x31d: 0x37bd,\n\t0x31e: 0x373f, 0x31f: 0x37c3, 0x322: 0x374b, 0x323: 0x37cf,\n\t0x324: 0x3757, 0x325: 0x37db, 0x326: 0x3763, 0x327: 0x37e7, 0x328: 0xa000, 0x329: 0xa000,\n\t0x32a: 0x3835, 0x32b: 0x383b, 0x32c: 0x378d, 0x32d: 0x3811, 0x32e: 0x3769, 0x32f: 0x37ed,\n\t0x330: 0x3775, 0x331: 0x37f9, 0x332: 0x377b, 0x333: 0x37ff, 0x334: 0x3781, 0x335: 0x3805,\n\t0x338: 0x3787, 0x339: 0x380b,\n\t// Block 0xd, offset 0x340\n\t0x351: 0x812d,\n\t0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132,\n\t0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132,\n\t0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d,\n\t0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132,\n\t0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132,\n\t0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a,\n\t0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f,\n\t0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112,\n\t// Block 0xe, offset 0x380\n\t0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116,\n\t0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c,\n\t0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132,\n\t0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132,\n\t0x39e: 0x8132, 0x39f: 0x812d,\n\t0x3b0: 0x811e,\n\t// Block 0xf, offset 0x3c0\n\t0x3c5: 0xa000,\n\t0x3c6: 0x2d26, 0x3c7: 0xa000, 0x3c8: 0x2d2e, 0x3c9: 0xa000, 0x3ca: 0x2d36, 0x3cb: 0xa000,\n\t0x3cc: 0x2d3e, 0x3cd: 0xa000, 0x3ce: 0x2d46, 0x3d1: 0xa000,\n\t0x3d2: 0x2d4e,\n\t0x3f4: 0x8102, 0x3f5: 0x9900,\n\t0x3fa: 0xa000, 0x3fb: 0x2d56,\n\t0x3fc: 0xa000, 0x3fd: 0x2d5e, 0x3fe: 0xa000, 0x3ff: 0xa000,\n\t// Block 0x10, offset 0x400\n\t0x400: 0x8132, 0x401: 0x8132, 0x402: 0x812d, 0x403: 0x8132, 0x404: 0x8132, 0x405: 0x8132,\n\t0x406: 0x8132, 0x407: 0x8132, 0x408: 0x8132, 0x409: 0x8132, 0x40a: 0x812d, 0x40b: 0x8132,\n\t0x40c: 0x8132, 0x40d: 0x8135, 0x40e: 0x812a, 0x40f: 0x812d, 0x410: 0x8129, 0x411: 0x8132,\n\t0x412: 0x8132, 0x413: 0x8132, 0x414: 0x8132, 0x415: 0x8132, 0x416: 0x8132, 0x417: 0x8132,\n\t0x418: 0x8132, 0x419: 0x8132, 0x41a: 0x8132, 0x41b: 0x8132, 0x41c: 0x8132, 0x41d: 0x8132,\n\t0x41e: 0x8132, 0x41f: 0x8132, 0x420: 0x8132, 0x421: 0x8132, 0x422: 0x8132, 0x423: 0x8132,\n\t0x424: 0x8132, 0x425: 0x8132, 0x426: 0x8132, 0x427: 0x8132, 0x428: 0x8132, 0x429: 0x8132,\n\t0x42a: 0x8132, 0x42b: 0x8132, 0x42c: 0x8132, 0x42d: 0x8132, 0x42e: 0x8132, 0x42f: 0x8132,\n\t0x430: 0x8132, 0x431: 0x8132, 0x432: 0x8132, 0x433: 0x8132, 0x434: 0x8132, 0x435: 0x8132,\n\t0x436: 0x8133, 0x437: 0x8131, 0x438: 0x8131, 0x439: 0x812d, 0x43b: 0x8132,\n\t0x43c: 0x8134, 0x43d: 0x812d, 0x43e: 0x8132, 0x43f: 0x812d,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x2f97, 0x441: 0x32a3, 0x442: 0x2fa1, 0x443: 0x32ad, 0x444: 0x2fa6, 0x445: 0x32b2,\n\t0x446: 0x2fab, 0x447: 0x32b7, 0x448: 0x38cc, 0x449: 0x3a5b, 0x44a: 0x2fc4, 0x44b: 0x32d0,\n\t0x44c: 0x2fce, 0x44d: 0x32da, 0x44e: 0x2fdd, 0x44f: 0x32e9, 0x450: 0x2fd3, 0x451: 0x32df,\n\t0x452: 0x2fd8, 0x453: 0x32e4, 0x454: 0x38ef, 0x455: 0x3a7e, 0x456: 0x38f6, 0x457: 0x3a85,\n\t0x458: 0x3019, 0x459: 0x3325, 0x45a: 0x301e, 0x45b: 0x332a, 0x45c: 0x3904, 0x45d: 0x3a93,\n\t0x45e: 0x3023, 0x45f: 0x332f, 0x460: 0x3032, 0x461: 0x333e, 0x462: 0x3050, 0x463: 0x335c,\n\t0x464: 0x305f, 0x465: 0x336b, 0x466: 0x3055, 0x467: 0x3361, 0x468: 0x3064, 0x469: 0x3370,\n\t0x46a: 0x3069, 0x46b: 0x3375, 0x46c: 0x30af, 0x46d: 0x33bb, 0x46e: 0x390b, 0x46f: 0x3a9a,\n\t0x470: 0x30b9, 0x471: 0x33ca, 0x472: 0x30c3, 0x473: 0x33d4, 0x474: 0x30cd, 0x475: 0x33de,\n\t0x476: 0x46c4, 0x477: 0x4755, 0x478: 0x3912, 0x479: 0x3aa1, 0x47a: 0x30e6, 0x47b: 0x33f7,\n\t0x47c: 0x30e1, 0x47d: 0x33f2, 0x47e: 0x30eb, 0x47f: 0x33fc,\n\t// Block 0x12, offset 0x480\n\t0x480: 0x30f0, 0x481: 0x3401, 0x482: 0x30f5, 0x483: 0x3406, 0x484: 0x3109, 0x485: 0x341a,\n\t0x486: 0x3113, 0x487: 0x3424, 0x488: 0x3122, 0x489: 0x3433, 0x48a: 0x311d, 0x48b: 0x342e,\n\t0x48c: 0x3935, 0x48d: 0x3ac4, 0x48e: 0x3943, 0x48f: 0x3ad2, 0x490: 0x394a, 0x491: 0x3ad9,\n\t0x492: 0x3951, 0x493: 0x3ae0, 0x494: 0x314f, 0x495: 0x3460, 0x496: 0x3154, 0x497: 0x3465,\n\t0x498: 0x315e, 0x499: 0x346f, 0x49a: 0x46f1, 0x49b: 0x4782, 0x49c: 0x3997, 0x49d: 0x3b26,\n\t0x49e: 0x3177, 0x49f: 0x3488, 0x4a0: 0x3181, 0x4a1: 0x3492, 0x4a2: 0x4700, 0x4a3: 0x4791,\n\t0x4a4: 0x399e, 0x4a5: 0x3b2d, 0x4a6: 0x39a5, 0x4a7: 0x3b34, 0x4a8: 0x39ac, 0x4a9: 0x3b3b,\n\t0x4aa: 0x3190, 0x4ab: 0x34a1, 0x4ac: 0x319a, 0x4ad: 0x34b0, 0x4ae: 0x31ae, 0x4af: 0x34c4,\n\t0x4b0: 0x31a9, 0x4b1: 0x34bf, 0x4b2: 0x31ea, 0x4b3: 0x3500, 0x4b4: 0x31f9, 0x4b5: 0x350f,\n\t0x4b6: 0x31f4, 0x4b7: 0x350a, 0x4b8: 0x39b3, 0x4b9: 0x3b42, 0x4ba: 0x39ba, 0x4bb: 0x3b49,\n\t0x4bc: 0x31fe, 0x4bd: 0x3514, 0x4be: 0x3203, 0x4bf: 0x3519,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x3208, 0x4c1: 0x351e, 0x4c2: 0x320d, 0x4c3: 0x3523, 0x4c4: 0x321c, 0x4c5: 0x3532,\n\t0x4c6: 0x3217, 0x4c7: 0x352d, 0x4c8: 0x3221, 0x4c9: 0x353c, 0x4ca: 0x3226, 0x4cb: 0x3541,\n\t0x4cc: 0x322b, 0x4cd: 0x3546, 0x4ce: 0x3249, 0x4cf: 0x3564, 0x4d0: 0x3262, 0x4d1: 0x3582,\n\t0x4d2: 0x3271, 0x4d3: 0x3591, 0x4d4: 0x3276, 0x4d5: 0x3596, 0x4d6: 0x337a, 0x4d7: 0x34a6,\n\t0x4d8: 0x3537, 0x4d9: 0x3573, 0x4db: 0x35d1,\n\t0x4e0: 0x46a1, 0x4e1: 0x4732, 0x4e2: 0x2f83, 0x4e3: 0x328f,\n\t0x4e4: 0x3878, 0x4e5: 0x3a07, 0x4e6: 0x3871, 0x4e7: 0x3a00, 0x4e8: 0x3886, 0x4e9: 0x3a15,\n\t0x4ea: 0x387f, 0x4eb: 0x3a0e, 0x4ec: 0x38be, 0x4ed: 0x3a4d, 0x4ee: 0x3894, 0x4ef: 0x3a23,\n\t0x4f0: 0x388d, 0x4f1: 0x3a1c, 0x4f2: 0x38a2, 0x4f3: 0x3a31, 0x4f4: 0x389b, 0x4f5: 0x3a2a,\n\t0x4f6: 0x38c5, 0x4f7: 0x3a54, 0x4f8: 0x46b5, 0x4f9: 0x4746, 0x4fa: 0x3000, 0x4fb: 0x330c,\n\t0x4fc: 0x2fec, 0x4fd: 0x32f8, 0x4fe: 0x38da, 0x4ff: 0x3a69,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x38d3, 0x501: 0x3a62, 0x502: 0x38e8, 0x503: 0x3a77, 0x504: 0x38e1, 0x505: 0x3a70,\n\t0x506: 0x38fd, 0x507: 0x3a8c, 0x508: 0x3091, 0x509: 0x339d, 0x50a: 0x30a5, 0x50b: 0x33b1,\n\t0x50c: 0x46e7, 0x50d: 0x4778, 0x50e: 0x3136, 0x50f: 0x3447, 0x510: 0x3920, 0x511: 0x3aaf,\n\t0x512: 0x3919, 0x513: 0x3aa8, 0x514: 0x392e, 0x515: 0x3abd, 0x516: 0x3927, 0x517: 0x3ab6,\n\t0x518: 0x3989, 0x519: 0x3b18, 0x51a: 0x396d, 0x51b: 0x3afc, 0x51c: 0x3966, 0x51d: 0x3af5,\n\t0x51e: 0x397b, 0x51f: 0x3b0a, 0x520: 0x3974, 0x521: 0x3b03, 0x522: 0x3982, 0x523: 0x3b11,\n\t0x524: 0x31e5, 0x525: 0x34fb, 0x526: 0x31c7, 0x527: 0x34dd, 0x528: 0x39e4, 0x529: 0x3b73,\n\t0x52a: 0x39dd, 0x52b: 0x3b6c, 0x52c: 0x39f2, 0x52d: 0x3b81, 0x52e: 0x39eb, 0x52f: 0x3b7a,\n\t0x530: 0x39f9, 0x531: 0x3b88, 0x532: 0x3230, 0x533: 0x354b, 0x534: 0x3258, 0x535: 0x3578,\n\t0x536: 0x3253, 0x537: 0x356e, 0x538: 0x323f, 0x539: 0x355a,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x4804, 0x541: 0x480a, 0x542: 0x491e, 0x543: 0x4936, 0x544: 0x4926, 0x545: 0x493e,\n\t0x546: 0x492e, 0x547: 0x4946, 0x548: 0x47aa, 0x549: 0x47b0, 0x54a: 0x488e, 0x54b: 0x48a6,\n\t0x54c: 0x4896, 0x54d: 0x48ae, 0x54e: 0x489e, 0x54f: 0x48b6, 0x550: 0x4816, 0x551: 0x481c,\n\t0x552: 0x3db8, 0x553: 0x3dc8, 0x554: 0x3dc0, 0x555: 0x3dd0,\n\t0x558: 0x47b6, 0x559: 0x47bc, 0x55a: 0x3ce8, 0x55b: 0x3cf8, 0x55c: 0x3cf0, 0x55d: 0x3d00,\n\t0x560: 0x482e, 0x561: 0x4834, 0x562: 0x494e, 0x563: 0x4966,\n\t0x564: 0x4956, 0x565: 0x496e, 0x566: 0x495e, 0x567: 0x4976, 0x568: 0x47c2, 0x569: 0x47c8,\n\t0x56a: 0x48be, 0x56b: 0x48d6, 0x56c: 0x48c6, 0x56d: 0x48de, 0x56e: 0x48ce, 0x56f: 0x48e6,\n\t0x570: 0x4846, 0x571: 0x484c, 0x572: 0x3e18, 0x573: 0x3e30, 0x574: 0x3e20, 0x575: 0x3e38,\n\t0x576: 0x3e28, 0x577: 0x3e40, 0x578: 0x47ce, 0x579: 0x47d4, 0x57a: 0x3d18, 0x57b: 0x3d30,\n\t0x57c: 0x3d20, 0x57d: 0x3d38, 0x57e: 0x3d28, 0x57f: 0x3d40,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x4852, 0x581: 0x4858, 0x582: 0x3e48, 0x583: 0x3e58, 0x584: 0x3e50, 0x585: 0x3e60,\n\t0x588: 0x47da, 0x589: 0x47e0, 0x58a: 0x3d48, 0x58b: 0x3d58,\n\t0x58c: 0x3d50, 0x58d: 0x3d60, 0x590: 0x4864, 0x591: 0x486a,\n\t0x592: 0x3e80, 0x593: 0x3e98, 0x594: 0x3e88, 0x595: 0x3ea0, 0x596: 0x3e90, 0x597: 0x3ea8,\n\t0x599: 0x47e6, 0x59b: 0x3d68, 0x59d: 0x3d70,\n\t0x59f: 0x3d78, 0x5a0: 0x487c, 0x5a1: 0x4882, 0x5a2: 0x497e, 0x5a3: 0x4996,\n\t0x5a4: 0x4986, 0x5a5: 0x499e, 0x5a6: 0x498e, 0x5a7: 0x49a6, 0x5a8: 0x47ec, 0x5a9: 0x47f2,\n\t0x5aa: 0x48ee, 0x5ab: 0x4906, 0x5ac: 0x48f6, 0x5ad: 0x490e, 0x5ae: 0x48fe, 0x5af: 0x4916,\n\t0x5b0: 0x47f8, 0x5b1: 0x431e, 0x5b2: 0x3691, 0x5b3: 0x4324, 0x5b4: 0x4822, 0x5b5: 0x432a,\n\t0x5b6: 0x36a3, 0x5b7: 0x4330, 0x5b8: 0x36c1, 0x5b9: 0x4336, 0x5ba: 0x36d9, 0x5bb: 0x433c,\n\t0x5bc: 0x4870, 0x5bd: 0x4342,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x3da0, 0x5c1: 0x3da8, 0x5c2: 0x4184, 0x5c3: 0x41a2, 0x5c4: 0x418e, 0x5c5: 0x41ac,\n\t0x5c6: 0x4198, 0x5c7: 0x41b6, 0x5c8: 0x3cd8, 0x5c9: 0x3ce0, 0x5ca: 0x40d0, 0x5cb: 0x40ee,\n\t0x5cc: 0x40da, 0x5cd: 0x40f8, 0x5ce: 0x40e4, 0x5cf: 0x4102, 0x5d0: 0x3de8, 0x5d1: 0x3df0,\n\t0x5d2: 0x41c0, 0x5d3: 0x41de, 0x5d4: 0x41ca, 0x5d5: 0x41e8, 0x5d6: 0x41d4, 0x5d7: 0x41f2,\n\t0x5d8: 0x3d08, 0x5d9: 0x3d10, 0x5da: 0x410c, 0x5db: 0x412a, 0x5dc: 0x4116, 0x5dd: 0x4134,\n\t0x5de: 0x4120, 0x5df: 0x413e, 0x5e0: 0x3ec0, 0x5e1: 0x3ec8, 0x5e2: 0x41fc, 0x5e3: 0x421a,\n\t0x5e4: 0x4206, 0x5e5: 0x4224, 0x5e6: 0x4210, 0x5e7: 0x422e, 0x5e8: 0x3d80, 0x5e9: 0x3d88,\n\t0x5ea: 0x4148, 0x5eb: 0x4166, 0x5ec: 0x4152, 0x5ed: 0x4170, 0x5ee: 0x415c, 0x5ef: 0x417a,\n\t0x5f0: 0x3685, 0x5f1: 0x367f, 0x5f2: 0x3d90, 0x5f3: 0x368b, 0x5f4: 0x3d98,\n\t0x5f6: 0x4810, 0x5f7: 0x3db0, 0x5f8: 0x35f5, 0x5f9: 0x35ef, 0x5fa: 0x35e3, 0x5fb: 0x42ee,\n\t0x5fc: 0x35fb, 0x5fd: 0x8100, 0x5fe: 0x01d3, 0x5ff: 0xa100,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x8100, 0x601: 0x35a7, 0x602: 0x3dd8, 0x603: 0x369d, 0x604: 0x3de0,\n\t0x606: 0x483a, 0x607: 0x3df8, 0x608: 0x3601, 0x609: 0x42f4, 0x60a: 0x360d, 0x60b: 0x42fa,\n\t0x60c: 0x3619, 0x60d: 0x3b8f, 0x60e: 0x3b96, 0x60f: 0x3b9d, 0x610: 0x36b5, 0x611: 0x36af,\n\t0x612: 0x3e00, 0x613: 0x44e4, 0x616: 0x36bb, 0x617: 0x3e10,\n\t0x618: 0x3631, 0x619: 0x362b, 0x61a: 0x361f, 0x61b: 0x4300, 0x61d: 0x3ba4,\n\t0x61e: 0x3bab, 0x61f: 0x3bb2, 0x620: 0x36eb, 0x621: 0x36e5, 0x622: 0x3e68, 0x623: 0x44ec,\n\t0x624: 0x36cd, 0x625: 0x36d3, 0x626: 0x36f1, 0x627: 0x3e78, 0x628: 0x3661, 0x629: 0x365b,\n\t0x62a: 0x364f, 0x62b: 0x430c, 0x62c: 0x3649, 0x62d: 0x359b, 0x62e: 0x42e8, 0x62f: 0x0081,\n\t0x632: 0x3eb0, 0x633: 0x36f7, 0x634: 0x3eb8,\n\t0x636: 0x4888, 0x637: 0x3ed0, 0x638: 0x363d, 0x639: 0x4306, 0x63a: 0x366d, 0x63b: 0x4318,\n\t0x63c: 0x3679, 0x63d: 0x4256, 0x63e: 0xa100,\n\t// Block 0x19, offset 0x640\n\t0x641: 0x3c06, 0x643: 0xa000, 0x644: 0x3c0d, 0x645: 0xa000,\n\t0x647: 0x3c14, 0x648: 0xa000, 0x649: 0x3c1b,\n\t0x64d: 0xa000,\n\t0x660: 0x2f65, 0x661: 0xa000, 0x662: 0x3c29,\n\t0x664: 0xa000, 0x665: 0xa000,\n\t0x66d: 0x3c22, 0x66e: 0x2f60, 0x66f: 0x2f6a,\n\t0x670: 0x3c30, 0x671: 0x3c37, 0x672: 0xa000, 0x673: 0xa000, 0x674: 0x3c3e, 0x675: 0x3c45,\n\t0x676: 0xa000, 0x677: 0xa000, 0x678: 0x3c4c, 0x679: 0x3c53, 0x67a: 0xa000, 0x67b: 0xa000,\n\t0x67c: 0xa000, 0x67d: 0xa000,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x3c5a, 0x681: 0x3c61, 0x682: 0xa000, 0x683: 0xa000, 0x684: 0x3c76, 0x685: 0x3c7d,\n\t0x686: 0xa000, 0x687: 0xa000, 0x688: 0x3c84, 0x689: 0x3c8b,\n\t0x691: 0xa000,\n\t0x692: 0xa000,\n\t0x6a2: 0xa000,\n\t0x6a8: 0xa000, 0x6a9: 0xa000,\n\t0x6ab: 0xa000, 0x6ac: 0x3ca0, 0x6ad: 0x3ca7, 0x6ae: 0x3cae, 0x6af: 0x3cb5,\n\t0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0xa000, 0x6b5: 0xa000,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c6: 0xa000, 0x6cb: 0xa000,\n\t0x6cc: 0x3f08, 0x6cd: 0xa000, 0x6ce: 0x3f10, 0x6cf: 0xa000, 0x6d0: 0x3f18, 0x6d1: 0xa000,\n\t0x6d2: 0x3f20, 0x6d3: 0xa000, 0x6d4: 0x3f28, 0x6d5: 0xa000, 0x6d6: 0x3f30, 0x6d7: 0xa000,\n\t0x6d8: 0x3f38, 0x6d9: 0xa000, 0x6da: 0x3f40, 0x6db: 0xa000, 0x6dc: 0x3f48, 0x6dd: 0xa000,\n\t0x6de: 0x3f50, 0x6df: 0xa000, 0x6e0: 0x3f58, 0x6e1: 0xa000, 0x6e2: 0x3f60,\n\t0x6e4: 0xa000, 0x6e5: 0x3f68, 0x6e6: 0xa000, 0x6e7: 0x3f70, 0x6e8: 0xa000, 0x6e9: 0x3f78,\n\t0x6ef: 0xa000,\n\t0x6f0: 0x3f80, 0x6f1: 0x3f88, 0x6f2: 0xa000, 0x6f3: 0x3f90, 0x6f4: 0x3f98, 0x6f5: 0xa000,\n\t0x6f6: 0x3fa0, 0x6f7: 0x3fa8, 0x6f8: 0xa000, 0x6f9: 0x3fb0, 0x6fa: 0x3fb8, 0x6fb: 0xa000,\n\t0x6fc: 0x3fc0, 0x6fd: 0x3fc8,\n\t// Block 0x1c, offset 0x700\n\t0x714: 0x3f00,\n\t0x719: 0x9903, 0x71a: 0x9903, 0x71b: 0x8100, 0x71c: 0x8100, 0x71d: 0xa000,\n\t0x71e: 0x3fd0,\n\t0x726: 0xa000,\n\t0x72b: 0xa000, 0x72c: 0x3fe0, 0x72d: 0xa000, 0x72e: 0x3fe8, 0x72f: 0xa000,\n\t0x730: 0x3ff0, 0x731: 0xa000, 0x732: 0x3ff8, 0x733: 0xa000, 0x734: 0x4000, 0x735: 0xa000,\n\t0x736: 0x4008, 0x737: 0xa000, 0x738: 0x4010, 0x739: 0xa000, 0x73a: 0x4018, 0x73b: 0xa000,\n\t0x73c: 0x4020, 0x73d: 0xa000, 0x73e: 0x4028, 0x73f: 0xa000,\n\t// Block 0x1d, offset 0x740\n\t0x740: 0x4030, 0x741: 0xa000, 0x742: 0x4038, 0x744: 0xa000, 0x745: 0x4040,\n\t0x746: 0xa000, 0x747: 0x4048, 0x748: 0xa000, 0x749: 0x4050,\n\t0x74f: 0xa000, 0x750: 0x4058, 0x751: 0x4060,\n\t0x752: 0xa000, 0x753: 0x4068, 0x754: 0x4070, 0x755: 0xa000, 0x756: 0x4078, 0x757: 0x4080,\n\t0x758: 0xa000, 0x759: 0x4088, 0x75a: 0x4090, 0x75b: 0xa000, 0x75c: 0x4098, 0x75d: 0x40a0,\n\t0x76f: 0xa000,\n\t0x770: 0xa000, 0x771: 0xa000, 0x772: 0xa000, 0x774: 0x3fd8,\n\t0x777: 0x40a8, 0x778: 0x40b0, 0x779: 0x40b8, 0x77a: 0x40c0,\n\t0x77d: 0xa000, 0x77e: 0x40c8,\n\t// Block 0x1e, offset 0x780\n\t0x780: 0x1377, 0x781: 0x0cfb, 0x782: 0x13d3, 0x783: 0x139f, 0x784: 0x0e57, 0x785: 0x06eb,\n\t0x786: 0x08df, 0x787: 0x162b, 0x788: 0x162b, 0x789: 0x0a0b, 0x78a: 0x145f, 0x78b: 0x0943,\n\t0x78c: 0x0a07, 0x78d: 0x0bef, 0x78e: 0x0fcf, 0x78f: 0x115f, 0x790: 0x1297, 0x791: 0x12d3,\n\t0x792: 0x1307, 0x793: 0x141b, 0x794: 0x0d73, 0x795: 0x0dff, 0x796: 0x0eab, 0x797: 0x0f43,\n\t0x798: 0x125f, 0x799: 0x1447, 0x79a: 0x1573, 0x79b: 0x070f, 0x79c: 0x08b3, 0x79d: 0x0d87,\n\t0x79e: 0x0ecf, 0x79f: 0x1293, 0x7a0: 0x15c3, 0x7a1: 0x0ab3, 0x7a2: 0x0e77, 0x7a3: 0x1283,\n\t0x7a4: 0x1317, 0x7a5: 0x0c23, 0x7a6: 0x11bb, 0x7a7: 0x12df, 0x7a8: 0x0b1f, 0x7a9: 0x0d0f,\n\t0x7aa: 0x0e17, 0x7ab: 0x0f1b, 0x7ac: 0x1427, 0x7ad: 0x074f, 0x7ae: 0x07e7, 0x7af: 0x0853,\n\t0x7b0: 0x0c8b, 0x7b1: 0x0d7f, 0x7b2: 0x0ecb, 0x7b3: 0x0fef, 0x7b4: 0x1177, 0x7b5: 0x128b,\n\t0x7b6: 0x12a3, 0x7b7: 0x13c7, 0x7b8: 0x14ef, 0x7b9: 0x15a3, 0x7ba: 0x15bf, 0x7bb: 0x102b,\n\t0x7bc: 0x106b, 0x7bd: 0x1123, 0x7be: 0x1243, 0x7bf: 0x147b,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c0: 0x15cb, 0x7c1: 0x134b, 0x7c2: 0x09c7, 0x7c3: 0x0b3b, 0x7c4: 0x10db, 0x7c5: 0x119b,\n\t0x7c6: 0x0eff, 0x7c7: 0x1033, 0x7c8: 0x1397, 0x7c9: 0x14e7, 0x7ca: 0x09c3, 0x7cb: 0x0a8f,\n\t0x7cc: 0x0d77, 0x7cd: 0x0e2b, 0x7ce: 0x0e5f, 0x7cf: 0x1113, 0x7d0: 0x113b, 0x7d1: 0x14a7,\n\t0x7d2: 0x084f, 0x7d3: 0x11a7, 0x7d4: 0x07f3, 0x7d5: 0x07ef, 0x7d6: 0x1097, 0x7d7: 0x1127,\n\t0x7d8: 0x125b, 0x7d9: 0x14af, 0x7da: 0x1367, 0x7db: 0x0c27, 0x7dc: 0x0d73, 0x7dd: 0x1357,\n\t0x7de: 0x06f7, 0x7df: 0x0a63, 0x7e0: 0x0b93, 0x7e1: 0x0f2f, 0x7e2: 0x0faf, 0x7e3: 0x0873,\n\t0x7e4: 0x103b, 0x7e5: 0x075f, 0x7e6: 0x0b77, 0x7e7: 0x06d7, 0x7e8: 0x0deb, 0x7e9: 0x0ca3,\n\t0x7ea: 0x110f, 0x7eb: 0x08c7, 0x7ec: 0x09b3, 0x7ed: 0x0ffb, 0x7ee: 0x1263, 0x7ef: 0x133b,\n\t0x7f0: 0x0db7, 0x7f1: 0x13f7, 0x7f2: 0x0de3, 0x7f3: 0x0c37, 0x7f4: 0x121b, 0x7f5: 0x0c57,\n\t0x7f6: 0x0fab, 0x7f7: 0x072b, 0x7f8: 0x07a7, 0x7f9: 0x07eb, 0x7fa: 0x0d53, 0x7fb: 0x10fb,\n\t0x7fc: 0x11f3, 0x7fd: 0x1347, 0x7fe: 0x145b, 0x7ff: 0x085b,\n\t// Block 0x20, offset 0x800\n\t0x800: 0x090f, 0x801: 0x0a17, 0x802: 0x0b2f, 0x803: 0x0cbf, 0x804: 0x0e7b, 0x805: 0x103f,\n\t0x806: 0x1497, 0x807: 0x157b, 0x808: 0x15cf, 0x809: 0x15e7, 0x80a: 0x0837, 0x80b: 0x0cf3,\n\t0x80c: 0x0da3, 0x80d: 0x13eb, 0x80e: 0x0afb, 0x80f: 0x0bd7, 0x810: 0x0bf3, 0x811: 0x0c83,\n\t0x812: 0x0e6b, 0x813: 0x0eb7, 0x814: 0x0f67, 0x815: 0x108b, 0x816: 0x112f, 0x817: 0x1193,\n\t0x818: 0x13db, 0x819: 0x126b, 0x81a: 0x1403, 0x81b: 0x147f, 0x81c: 0x080f, 0x81d: 0x083b,\n\t0x81e: 0x0923, 0x81f: 0x0ea7, 0x820: 0x12f3, 0x821: 0x133b, 0x822: 0x0b1b, 0x823: 0x0b8b,\n\t0x824: 0x0c4f, 0x825: 0x0daf, 0x826: 0x10d7, 0x827: 0x0f23, 0x828: 0x073b, 0x829: 0x097f,\n\t0x82a: 0x0a63, 0x82b: 0x0ac7, 0x82c: 0x0b97, 0x82d: 0x0f3f, 0x82e: 0x0f5b, 0x82f: 0x116b,\n\t0x830: 0x118b, 0x831: 0x1463, 0x832: 0x14e3, 0x833: 0x14f3, 0x834: 0x152f, 0x835: 0x0753,\n\t0x836: 0x107f, 0x837: 0x144f, 0x838: 0x14cb, 0x839: 0x0baf, 0x83a: 0x0717, 0x83b: 0x0777,\n\t0x83c: 0x0a67, 0x83d: 0x0a87, 0x83e: 0x0caf, 0x83f: 0x0d73,\n\t// Block 0x21, offset 0x840\n\t0x840: 0x0ec3, 0x841: 0x0fcb, 0x842: 0x1277, 0x843: 0x1417, 0x844: 0x1623, 0x845: 0x0ce3,\n\t0x846: 0x14a3, 0x847: 0x0833, 0x848: 0x0d2f, 0x849: 0x0d3b, 0x84a: 0x0e0f, 0x84b: 0x0e47,\n\t0x84c: 0x0f4b, 0x84d: 0x0fa7, 0x84e: 0x1027, 0x84f: 0x110b, 0x850: 0x153b, 0x851: 0x07af,\n\t0x852: 0x0c03, 0x853: 0x14b3, 0x854: 0x0767, 0x855: 0x0aab, 0x856: 0x0e2f, 0x857: 0x13df,\n\t0x858: 0x0b67, 0x859: 0x0bb7, 0x85a: 0x0d43, 0x85b: 0x0f2f, 0x85c: 0x14bb, 0x85d: 0x0817,\n\t0x85e: 0x08ff, 0x85f: 0x0a97, 0x860: 0x0cd3, 0x861: 0x0d1f, 0x862: 0x0d5f, 0x863: 0x0df3,\n\t0x864: 0x0f47, 0x865: 0x0fbb, 0x866: 0x1157, 0x867: 0x12f7, 0x868: 0x1303, 0x869: 0x1457,\n\t0x86a: 0x14d7, 0x86b: 0x0883, 0x86c: 0x0e4b, 0x86d: 0x0903, 0x86e: 0x0ec7, 0x86f: 0x0f6b,\n\t0x870: 0x1287, 0x871: 0x14bf, 0x872: 0x15ab, 0x873: 0x15d3, 0x874: 0x0d37, 0x875: 0x0e27,\n\t0x876: 0x11c3, 0x877: 0x10b7, 0x878: 0x10c3, 0x879: 0x10e7, 0x87a: 0x0f17, 0x87b: 0x0e9f,\n\t0x87c: 0x1363, 0x87d: 0x0733, 0x87e: 0x122b, 0x87f: 0x081b,\n\t// Block 0x22, offset 0x880\n\t0x880: 0x080b, 0x881: 0x0b0b, 0x882: 0x0c2b, 0x883: 0x10f3, 0x884: 0x0a53, 0x885: 0x0e03,\n\t0x886: 0x0cef, 0x887: 0x13e7, 0x888: 0x12e7, 0x889: 0x14ab, 0x88a: 0x1323, 0x88b: 0x0b27,\n\t0x88c: 0x0787, 0x88d: 0x095b, 0x890: 0x09af,\n\t0x892: 0x0cdf, 0x895: 0x07f7, 0x896: 0x0f1f, 0x897: 0x0fe3,\n\t0x898: 0x1047, 0x899: 0x1063, 0x89a: 0x1067, 0x89b: 0x107b, 0x89c: 0x14fb, 0x89d: 0x10eb,\n\t0x89e: 0x116f, 0x8a0: 0x128f, 0x8a2: 0x1353,\n\t0x8a5: 0x1407, 0x8a6: 0x1433,\n\t0x8aa: 0x154f, 0x8ab: 0x1553, 0x8ac: 0x1557, 0x8ad: 0x15bb, 0x8ae: 0x142b, 0x8af: 0x14c7,\n\t0x8b0: 0x0757, 0x8b1: 0x077b, 0x8b2: 0x078f, 0x8b3: 0x084b, 0x8b4: 0x0857, 0x8b5: 0x0897,\n\t0x8b6: 0x094b, 0x8b7: 0x0967, 0x8b8: 0x096f, 0x8b9: 0x09ab, 0x8ba: 0x09b7, 0x8bb: 0x0a93,\n\t0x8bc: 0x0a9b, 0x8bd: 0x0ba3, 0x8be: 0x0bcb, 0x8bf: 0x0bd3,\n\t// Block 0x23, offset 0x8c0\n\t0x8c0: 0x0beb, 0x8c1: 0x0c97, 0x8c2: 0x0cc7, 0x8c3: 0x0ce7, 0x8c4: 0x0d57, 0x8c5: 0x0e1b,\n\t0x8c6: 0x0e37, 0x8c7: 0x0e67, 0x8c8: 0x0ebb, 0x8c9: 0x0edb, 0x8ca: 0x0f4f, 0x8cb: 0x102f,\n\t0x8cc: 0x104b, 0x8cd: 0x1053, 0x8ce: 0x104f, 0x8cf: 0x1057, 0x8d0: 0x105b, 0x8d1: 0x105f,\n\t0x8d2: 0x1073, 0x8d3: 0x1077, 0x8d4: 0x109b, 0x8d5: 0x10af, 0x8d6: 0x10cb, 0x8d7: 0x112f,\n\t0x8d8: 0x1137, 0x8d9: 0x113f, 0x8da: 0x1153, 0x8db: 0x117b, 0x8dc: 0x11cb, 0x8dd: 0x11ff,\n\t0x8de: 0x11ff, 0x8df: 0x1267, 0x8e0: 0x130f, 0x8e1: 0x1327, 0x8e2: 0x135b, 0x8e3: 0x135f,\n\t0x8e4: 0x13a3, 0x8e5: 0x13a7, 0x8e6: 0x13ff, 0x8e7: 0x1407, 0x8e8: 0x14db, 0x8e9: 0x151f,\n\t0x8ea: 0x1537, 0x8eb: 0x0b9b, 0x8ec: 0x171e, 0x8ed: 0x11e3,\n\t0x8f0: 0x06df, 0x8f1: 0x07e3, 0x8f2: 0x07a3, 0x8f3: 0x074b, 0x8f4: 0x078b, 0x8f5: 0x07b7,\n\t0x8f6: 0x0847, 0x8f7: 0x0863, 0x8f8: 0x094b, 0x8f9: 0x0937, 0x8fa: 0x0947, 0x8fb: 0x0963,\n\t0x8fc: 0x09af, 0x8fd: 0x09bf, 0x8fe: 0x0a03, 0x8ff: 0x0a0f,\n\t// Block 0x24, offset 0x900\n\t0x900: 0x0a2b, 0x901: 0x0a3b, 0x902: 0x0b23, 0x903: 0x0b2b, 0x904: 0x0b5b, 0x905: 0x0b7b,\n\t0x906: 0x0bab, 0x907: 0x0bc3, 0x908: 0x0bb3, 0x909: 0x0bd3, 0x90a: 0x0bc7, 0x90b: 0x0beb,\n\t0x90c: 0x0c07, 0x90d: 0x0c5f, 0x90e: 0x0c6b, 0x90f: 0x0c73, 0x910: 0x0c9b, 0x911: 0x0cdf,\n\t0x912: 0x0d0f, 0x913: 0x0d13, 0x914: 0x0d27, 0x915: 0x0da7, 0x916: 0x0db7, 0x917: 0x0e0f,\n\t0x918: 0x0e5b, 0x919: 0x0e53, 0x91a: 0x0e67, 0x91b: 0x0e83, 0x91c: 0x0ebb, 0x91d: 0x1013,\n\t0x91e: 0x0edf, 0x91f: 0x0f13, 0x920: 0x0f1f, 0x921: 0x0f5f, 0x922: 0x0f7b, 0x923: 0x0f9f,\n\t0x924: 0x0fc3, 0x925: 0x0fc7, 0x926: 0x0fe3, 0x927: 0x0fe7, 0x928: 0x0ff7, 0x929: 0x100b,\n\t0x92a: 0x1007, 0x92b: 0x1037, 0x92c: 0x10b3, 0x92d: 0x10cb, 0x92e: 0x10e3, 0x92f: 0x111b,\n\t0x930: 0x112f, 0x931: 0x114b, 0x932: 0x117b, 0x933: 0x122f, 0x934: 0x1257, 0x935: 0x12cb,\n\t0x936: 0x1313, 0x937: 0x131f, 0x938: 0x1327, 0x939: 0x133f, 0x93a: 0x1353, 0x93b: 0x1343,\n\t0x93c: 0x135b, 0x93d: 0x1357, 0x93e: 0x134f, 0x93f: 0x135f,\n\t// Block 0x25, offset 0x940\n\t0x940: 0x136b, 0x941: 0x13a7, 0x942: 0x13e3, 0x943: 0x1413, 0x944: 0x144b, 0x945: 0x146b,\n\t0x946: 0x14b7, 0x947: 0x14db, 0x948: 0x14fb, 0x949: 0x150f, 0x94a: 0x151f, 0x94b: 0x152b,\n\t0x94c: 0x1537, 0x94d: 0x158b, 0x94e: 0x162b, 0x94f: 0x16b5, 0x950: 0x16b0, 0x951: 0x16e2,\n\t0x952: 0x0607, 0x953: 0x062f, 0x954: 0x0633, 0x955: 0x1764, 0x956: 0x1791, 0x957: 0x1809,\n\t0x958: 0x1617, 0x959: 0x1627,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x06fb, 0x981: 0x06f3, 0x982: 0x0703, 0x983: 0x1647, 0x984: 0x0747, 0x985: 0x0757,\n\t0x986: 0x075b, 0x987: 0x0763, 0x988: 0x076b, 0x989: 0x076f, 0x98a: 0x077b, 0x98b: 0x0773,\n\t0x98c: 0x05b3, 0x98d: 0x165b, 0x98e: 0x078f, 0x98f: 0x0793, 0x990: 0x0797, 0x991: 0x07b3,\n\t0x992: 0x164c, 0x993: 0x05b7, 0x994: 0x079f, 0x995: 0x07bf, 0x996: 0x1656, 0x997: 0x07cf,\n\t0x998: 0x07d7, 0x999: 0x0737, 0x99a: 0x07df, 0x99b: 0x07e3, 0x99c: 0x1831, 0x99d: 0x07ff,\n\t0x99e: 0x0807, 0x99f: 0x05bf, 0x9a0: 0x081f, 0x9a1: 0x0823, 0x9a2: 0x082b, 0x9a3: 0x082f,\n\t0x9a4: 0x05c3, 0x9a5: 0x0847, 0x9a6: 0x084b, 0x9a7: 0x0857, 0x9a8: 0x0863, 0x9a9: 0x0867,\n\t0x9aa: 0x086b, 0x9ab: 0x0873, 0x9ac: 0x0893, 0x9ad: 0x0897, 0x9ae: 0x089f, 0x9af: 0x08af,\n\t0x9b0: 0x08b7, 0x9b1: 0x08bb, 0x9b2: 0x08bb, 0x9b3: 0x08bb, 0x9b4: 0x166a, 0x9b5: 0x0e93,\n\t0x9b6: 0x08cf, 0x9b7: 0x08d7, 0x9b8: 0x166f, 0x9b9: 0x08e3, 0x9ba: 0x08eb, 0x9bb: 0x08f3,\n\t0x9bc: 0x091b, 0x9bd: 0x0907, 0x9be: 0x0913, 0x9bf: 0x0917,\n\t// Block 0x27, offset 0x9c0\n\t0x9c0: 0x091f, 0x9c1: 0x0927, 0x9c2: 0x092b, 0x9c3: 0x0933, 0x9c4: 0x093b, 0x9c5: 0x093f,\n\t0x9c6: 0x093f, 0x9c7: 0x0947, 0x9c8: 0x094f, 0x9c9: 0x0953, 0x9ca: 0x095f, 0x9cb: 0x0983,\n\t0x9cc: 0x0967, 0x9cd: 0x0987, 0x9ce: 0x096b, 0x9cf: 0x0973, 0x9d0: 0x080b, 0x9d1: 0x09cf,\n\t0x9d2: 0x0997, 0x9d3: 0x099b, 0x9d4: 0x099f, 0x9d5: 0x0993, 0x9d6: 0x09a7, 0x9d7: 0x09a3,\n\t0x9d8: 0x09bb, 0x9d9: 0x1674, 0x9da: 0x09d7, 0x9db: 0x09db, 0x9dc: 0x09e3, 0x9dd: 0x09ef,\n\t0x9de: 0x09f7, 0x9df: 0x0a13, 0x9e0: 0x1679, 0x9e1: 0x167e, 0x9e2: 0x0a1f, 0x9e3: 0x0a23,\n\t0x9e4: 0x0a27, 0x9e5: 0x0a1b, 0x9e6: 0x0a2f, 0x9e7: 0x05c7, 0x9e8: 0x05cb, 0x9e9: 0x0a37,\n\t0x9ea: 0x0a3f, 0x9eb: 0x0a3f, 0x9ec: 0x1683, 0x9ed: 0x0a5b, 0x9ee: 0x0a5f, 0x9ef: 0x0a63,\n\t0x9f0: 0x0a6b, 0x9f1: 0x1688, 0x9f2: 0x0a73, 0x9f3: 0x0a77, 0x9f4: 0x0b4f, 0x9f5: 0x0a7f,\n\t0x9f6: 0x05cf, 0x9f7: 0x0a8b, 0x9f8: 0x0a9b, 0x9f9: 0x0aa7, 0x9fa: 0x0aa3, 0x9fb: 0x1692,\n\t0x9fc: 0x0aaf, 0x9fd: 0x1697, 0x9fe: 0x0abb, 0x9ff: 0x0ab7,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x0abf, 0xa01: 0x0acf, 0xa02: 0x0ad3, 0xa03: 0x05d3, 0xa04: 0x0ae3, 0xa05: 0x0aeb,\n\t0xa06: 0x0aef, 0xa07: 0x0af3, 0xa08: 0x05d7, 0xa09: 0x169c, 0xa0a: 0x05db, 0xa0b: 0x0b0f,\n\t0xa0c: 0x0b13, 0xa0d: 0x0b17, 0xa0e: 0x0b1f, 0xa0f: 0x1863, 0xa10: 0x0b37, 0xa11: 0x16a6,\n\t0xa12: 0x16a6, 0xa13: 0x11d7, 0xa14: 0x0b47, 0xa15: 0x0b47, 0xa16: 0x05df, 0xa17: 0x16c9,\n\t0xa18: 0x179b, 0xa19: 0x0b57, 0xa1a: 0x0b5f, 0xa1b: 0x05e3, 0xa1c: 0x0b73, 0xa1d: 0x0b83,\n\t0xa1e: 0x0b87, 0xa1f: 0x0b8f, 0xa20: 0x0b9f, 0xa21: 0x05eb, 0xa22: 0x05e7, 0xa23: 0x0ba3,\n\t0xa24: 0x16ab, 0xa25: 0x0ba7, 0xa26: 0x0bbb, 0xa27: 0x0bbf, 0xa28: 0x0bc3, 0xa29: 0x0bbf,\n\t0xa2a: 0x0bcf, 0xa2b: 0x0bd3, 0xa2c: 0x0be3, 0xa2d: 0x0bdb, 0xa2e: 0x0bdf, 0xa2f: 0x0be7,\n\t0xa30: 0x0beb, 0xa31: 0x0bef, 0xa32: 0x0bfb, 0xa33: 0x0bff, 0xa34: 0x0c17, 0xa35: 0x0c1f,\n\t0xa36: 0x0c2f, 0xa37: 0x0c43, 0xa38: 0x16ba, 0xa39: 0x0c3f, 0xa3a: 0x0c33, 0xa3b: 0x0c4b,\n\t0xa3c: 0x0c53, 0xa3d: 0x0c67, 0xa3e: 0x16bf, 0xa3f: 0x0c6f,\n\t// Block 0x29, offset 0xa40\n\t0xa40: 0x0c63, 0xa41: 0x0c5b, 0xa42: 0x05ef, 0xa43: 0x0c77, 0xa44: 0x0c7f, 0xa45: 0x0c87,\n\t0xa46: 0x0c7b, 0xa47: 0x05f3, 0xa48: 0x0c97, 0xa49: 0x0c9f, 0xa4a: 0x16c4, 0xa4b: 0x0ccb,\n\t0xa4c: 0x0cff, 0xa4d: 0x0cdb, 0xa4e: 0x05ff, 0xa4f: 0x0ce7, 0xa50: 0x05fb, 0xa51: 0x05f7,\n\t0xa52: 0x07c3, 0xa53: 0x07c7, 0xa54: 0x0d03, 0xa55: 0x0ceb, 0xa56: 0x11ab, 0xa57: 0x0663,\n\t0xa58: 0x0d0f, 0xa59: 0x0d13, 0xa5a: 0x0d17, 0xa5b: 0x0d2b, 0xa5c: 0x0d23, 0xa5d: 0x16dd,\n\t0xa5e: 0x0603, 0xa5f: 0x0d3f, 0xa60: 0x0d33, 0xa61: 0x0d4f, 0xa62: 0x0d57, 0xa63: 0x16e7,\n\t0xa64: 0x0d5b, 0xa65: 0x0d47, 0xa66: 0x0d63, 0xa67: 0x0607, 0xa68: 0x0d67, 0xa69: 0x0d6b,\n\t0xa6a: 0x0d6f, 0xa6b: 0x0d7b, 0xa6c: 0x16ec, 0xa6d: 0x0d83, 0xa6e: 0x060b, 0xa6f: 0x0d8f,\n\t0xa70: 0x16f1, 0xa71: 0x0d93, 0xa72: 0x060f, 0xa73: 0x0d9f, 0xa74: 0x0dab, 0xa75: 0x0db7,\n\t0xa76: 0x0dbb, 0xa77: 0x16f6, 0xa78: 0x168d, 0xa79: 0x16fb, 0xa7a: 0x0ddb, 0xa7b: 0x1700,\n\t0xa7c: 0x0de7, 0xa7d: 0x0def, 0xa7e: 0x0ddf, 0xa7f: 0x0dfb,\n\t// Block 0x2a, offset 0xa80\n\t0xa80: 0x0e0b, 0xa81: 0x0e1b, 0xa82: 0x0e0f, 0xa83: 0x0e13, 0xa84: 0x0e1f, 0xa85: 0x0e23,\n\t0xa86: 0x1705, 0xa87: 0x0e07, 0xa88: 0x0e3b, 0xa89: 0x0e3f, 0xa8a: 0x0613, 0xa8b: 0x0e53,\n\t0xa8c: 0x0e4f, 0xa8d: 0x170a, 0xa8e: 0x0e33, 0xa8f: 0x0e6f, 0xa90: 0x170f, 0xa91: 0x1714,\n\t0xa92: 0x0e73, 0xa93: 0x0e87, 0xa94: 0x0e83, 0xa95: 0x0e7f, 0xa96: 0x0617, 0xa97: 0x0e8b,\n\t0xa98: 0x0e9b, 0xa99: 0x0e97, 0xa9a: 0x0ea3, 0xa9b: 0x1651, 0xa9c: 0x0eb3, 0xa9d: 0x1719,\n\t0xa9e: 0x0ebf, 0xa9f: 0x1723, 0xaa0: 0x0ed3, 0xaa1: 0x0edf, 0xaa2: 0x0ef3, 0xaa3: 0x1728,\n\t0xaa4: 0x0f07, 0xaa5: 0x0f0b, 0xaa6: 0x172d, 0xaa7: 0x1732, 0xaa8: 0x0f27, 0xaa9: 0x0f37,\n\t0xaaa: 0x061b, 0xaab: 0x0f3b, 0xaac: 0x061f, 0xaad: 0x061f, 0xaae: 0x0f53, 0xaaf: 0x0f57,\n\t0xab0: 0x0f5f, 0xab1: 0x0f63, 0xab2: 0x0f6f, 0xab3: 0x0623, 0xab4: 0x0f87, 0xab5: 0x1737,\n\t0xab6: 0x0fa3, 0xab7: 0x173c, 0xab8: 0x0faf, 0xab9: 0x16a1, 0xaba: 0x0fbf, 0xabb: 0x1741,\n\t0xabc: 0x1746, 0xabd: 0x174b, 0xabe: 0x0627, 0xabf: 0x062b,\n\t// Block 0x2b, offset 0xac0\n\t0xac0: 0x0ff7, 0xac1: 0x1755, 0xac2: 0x1750, 0xac3: 0x175a, 0xac4: 0x175f, 0xac5: 0x0fff,\n\t0xac6: 0x1003, 0xac7: 0x1003, 0xac8: 0x100b, 0xac9: 0x0633, 0xaca: 0x100f, 0xacb: 0x0637,\n\t0xacc: 0x063b, 0xacd: 0x1769, 0xace: 0x1023, 0xacf: 0x102b, 0xad0: 0x1037, 0xad1: 0x063f,\n\t0xad2: 0x176e, 0xad3: 0x105b, 0xad4: 0x1773, 0xad5: 0x1778, 0xad6: 0x107b, 0xad7: 0x1093,\n\t0xad8: 0x0643, 0xad9: 0x109b, 0xada: 0x109f, 0xadb: 0x10a3, 0xadc: 0x177d, 0xadd: 0x1782,\n\t0xade: 0x1782, 0xadf: 0x10bb, 0xae0: 0x0647, 0xae1: 0x1787, 0xae2: 0x10cf, 0xae3: 0x10d3,\n\t0xae4: 0x064b, 0xae5: 0x178c, 0xae6: 0x10ef, 0xae7: 0x064f, 0xae8: 0x10ff, 0xae9: 0x10f7,\n\t0xaea: 0x1107, 0xaeb: 0x1796, 0xaec: 0x111f, 0xaed: 0x0653, 0xaee: 0x112b, 0xaef: 0x1133,\n\t0xaf0: 0x1143, 0xaf1: 0x0657, 0xaf2: 0x17a0, 0xaf3: 0x17a5, 0xaf4: 0x065b, 0xaf5: 0x17aa,\n\t0xaf6: 0x115b, 0xaf7: 0x17af, 0xaf8: 0x1167, 0xaf9: 0x1173, 0xafa: 0x117b, 0xafb: 0x17b4,\n\t0xafc: 0x17b9, 0xafd: 0x118f, 0xafe: 0x17be, 0xaff: 0x1197,\n\t// Block 0x2c, offset 0xb00\n\t0xb00: 0x16ce, 0xb01: 0x065f, 0xb02: 0x11af, 0xb03: 0x11b3, 0xb04: 0x0667, 0xb05: 0x11b7,\n\t0xb06: 0x0a33, 0xb07: 0x17c3, 0xb08: 0x17c8, 0xb09: 0x16d3, 0xb0a: 0x16d8, 0xb0b: 0x11d7,\n\t0xb0c: 0x11db, 0xb0d: 0x13f3, 0xb0e: 0x066b, 0xb0f: 0x1207, 0xb10: 0x1203, 0xb11: 0x120b,\n\t0xb12: 0x083f, 0xb13: 0x120f, 0xb14: 0x1213, 0xb15: 0x1217, 0xb16: 0x121f, 0xb17: 0x17cd,\n\t0xb18: 0x121b, 0xb19: 0x1223, 0xb1a: 0x1237, 0xb1b: 0x123b, 0xb1c: 0x1227, 0xb1d: 0x123f,\n\t0xb1e: 0x1253, 0xb1f: 0x1267, 0xb20: 0x1233, 0xb21: 0x1247, 0xb22: 0x124b, 0xb23: 0x124f,\n\t0xb24: 0x17d2, 0xb25: 0x17dc, 0xb26: 0x17d7, 0xb27: 0x066f, 0xb28: 0x126f, 0xb29: 0x1273,\n\t0xb2a: 0x127b, 0xb2b: 0x17f0, 0xb2c: 0x127f, 0xb2d: 0x17e1, 0xb2e: 0x0673, 0xb2f: 0x0677,\n\t0xb30: 0x17e6, 0xb31: 0x17eb, 0xb32: 0x067b, 0xb33: 0x129f, 0xb34: 0x12a3, 0xb35: 0x12a7,\n\t0xb36: 0x12ab, 0xb37: 0x12b7, 0xb38: 0x12b3, 0xb39: 0x12bf, 0xb3a: 0x12bb, 0xb3b: 0x12cb,\n\t0xb3c: 0x12c3, 0xb3d: 0x12c7, 0xb3e: 0x12cf, 0xb3f: 0x067f,\n\t// Block 0x2d, offset 0xb40\n\t0xb40: 0x12d7, 0xb41: 0x12db, 0xb42: 0x0683, 0xb43: 0x12eb, 0xb44: 0x12ef, 0xb45: 0x17f5,\n\t0xb46: 0x12fb, 0xb47: 0x12ff, 0xb48: 0x0687, 0xb49: 0x130b, 0xb4a: 0x05bb, 0xb4b: 0x17fa,\n\t0xb4c: 0x17ff, 0xb4d: 0x068b, 0xb4e: 0x068f, 0xb4f: 0x1337, 0xb50: 0x134f, 0xb51: 0x136b,\n\t0xb52: 0x137b, 0xb53: 0x1804, 0xb54: 0x138f, 0xb55: 0x1393, 0xb56: 0x13ab, 0xb57: 0x13b7,\n\t0xb58: 0x180e, 0xb59: 0x1660, 0xb5a: 0x13c3, 0xb5b: 0x13bf, 0xb5c: 0x13cb, 0xb5d: 0x1665,\n\t0xb5e: 0x13d7, 0xb5f: 0x13e3, 0xb60: 0x1813, 0xb61: 0x1818, 0xb62: 0x1423, 0xb63: 0x142f,\n\t0xb64: 0x1437, 0xb65: 0x181d, 0xb66: 0x143b, 0xb67: 0x1467, 0xb68: 0x1473, 0xb69: 0x1477,\n\t0xb6a: 0x146f, 0xb6b: 0x1483, 0xb6c: 0x1487, 0xb6d: 0x1822, 0xb6e: 0x1493, 0xb6f: 0x0693,\n\t0xb70: 0x149b, 0xb71: 0x1827, 0xb72: 0x0697, 0xb73: 0x14d3, 0xb74: 0x0ac3, 0xb75: 0x14eb,\n\t0xb76: 0x182c, 0xb77: 0x1836, 0xb78: 0x069b, 0xb79: 0x069f, 0xb7a: 0x1513, 0xb7b: 0x183b,\n\t0xb7c: 0x06a3, 0xb7d: 0x1840, 0xb7e: 0x152b, 0xb7f: 0x152b,\n\t// Block 0x2e, offset 0xb80\n\t0xb80: 0x1533, 0xb81: 0x1845, 0xb82: 0x154b, 0xb83: 0x06a7, 0xb84: 0x155b, 0xb85: 0x1567,\n\t0xb86: 0x156f, 0xb87: 0x1577, 0xb88: 0x06ab, 0xb89: 0x184a, 0xb8a: 0x158b, 0xb8b: 0x15a7,\n\t0xb8c: 0x15b3, 0xb8d: 0x06af, 0xb8e: 0x06b3, 0xb8f: 0x15b7, 0xb90: 0x184f, 0xb91: 0x06b7,\n\t0xb92: 0x1854, 0xb93: 0x1859, 0xb94: 0x185e, 0xb95: 0x15db, 0xb96: 0x06bb, 0xb97: 0x15ef,\n\t0xb98: 0x15f7, 0xb99: 0x15fb, 0xb9a: 0x1603, 0xb9b: 0x160b, 0xb9c: 0x1613, 0xb9d: 0x1868,\n}\n\n// nfcIndex: 22 blocks, 1408 entries, 1408 bytes\n// Block 0 is the zero block.\nvar nfcIndex = [1408]uint8{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x2d, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2e, 0xc7: 0x04,\n\t0xc8: 0x05, 0xca: 0x2f, 0xcb: 0x30, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x31,\n\t0xd0: 0x09, 0xd1: 0x32, 0xd2: 0x33, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x34,\n\t0xd8: 0x35, 0xd9: 0x0c, 0xdb: 0x36, 0xdc: 0x37, 0xdd: 0x38, 0xdf: 0x39,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05,\n\t0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a,\n\t0xf0: 0x13,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x3a, 0x121: 0x3b, 0x123: 0x3c, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40,\n\t0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47,\n\t0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d,\n\t0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b,\n\t0x14d: 0x5c,\n\t0x15c: 0x5d, 0x15f: 0x5e,\n\t0x162: 0x5f, 0x164: 0x60,\n\t0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16c: 0x0d, 0x16d: 0x64, 0x16e: 0x65, 0x16f: 0x66,\n\t0x170: 0x67, 0x173: 0x68, 0x177: 0x0e,\n\t0x178: 0x0f, 0x179: 0x10, 0x17a: 0x11, 0x17b: 0x12, 0x17c: 0x13, 0x17d: 0x14, 0x17e: 0x15, 0x17f: 0x16,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d,\n\t0x188: 0x6e, 0x189: 0x17, 0x18a: 0x18, 0x18b: 0x6f, 0x18c: 0x70,\n\t0x1ab: 0x71,\n\t0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x75, 0x1c1: 0x19, 0x1c2: 0x1a, 0x1c3: 0x1b, 0x1c4: 0x76, 0x1c5: 0x77,\n\t0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a,\n\t// Block 0x8, offset 0x200\n\t0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d,\n\t0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83,\n\t0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86,\n\t0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87,\n\t0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89,\n\t0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a,\n\t0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b,\n\t0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c,\n\t0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d,\n\t0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87,\n\t0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88,\n\t0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89,\n\t// Block 0xa, offset 0x280\n\t0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a,\n\t0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b,\n\t0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c,\n\t0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d,\n\t0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87,\n\t0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88,\n\t0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89,\n\t0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b,\n\t0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c,\n\t0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d,\n\t0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e,\n\t// Block 0xc, offset 0x300\n\t0x324: 0x1c, 0x325: 0x1d, 0x326: 0x1e, 0x327: 0x1f,\n\t0x328: 0x20, 0x329: 0x21, 0x32a: 0x22, 0x32b: 0x23, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91,\n\t0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95,\n\t0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b,\n\t// Block 0xd, offset 0x340\n\t0x347: 0x9c,\n\t0x34b: 0x9d, 0x34d: 0x9e,\n\t0x368: 0x9f, 0x36b: 0xa0,\n\t// Block 0xe, offset 0x380\n\t0x381: 0xa1, 0x382: 0xa2, 0x384: 0xa3, 0x385: 0x82, 0x387: 0xa4,\n\t0x388: 0xa5, 0x38b: 0xa6, 0x38c: 0x3f, 0x38d: 0xa7,\n\t0x391: 0xa8, 0x392: 0xa9, 0x393: 0xaa, 0x396: 0xab, 0x397: 0xac,\n\t0x398: 0x73, 0x39a: 0xad, 0x39c: 0xae,\n\t0x3a8: 0xaf, 0x3a9: 0xb0, 0x3aa: 0xb1,\n\t0x3b0: 0x73, 0x3b5: 0xb2,\n\t// Block 0xf, offset 0x3c0\n\t0x3eb: 0xb3, 0x3ec: 0xb4,\n\t// Block 0x10, offset 0x400\n\t0x432: 0xb5,\n\t// Block 0x11, offset 0x440\n\t0x445: 0xb6, 0x446: 0xb7, 0x447: 0xb8,\n\t0x449: 0xb9,\n\t// Block 0x12, offset 0x480\n\t0x480: 0xba,\n\t0x4a3: 0xbb, 0x4a5: 0xbc,\n\t// Block 0x13, offset 0x4c0\n\t0x4c8: 0xbd,\n\t// Block 0x14, offset 0x500\n\t0x520: 0x24, 0x521: 0x25, 0x522: 0x26, 0x523: 0x27, 0x524: 0x28, 0x525: 0x29, 0x526: 0x2a, 0x527: 0x2b,\n\t0x528: 0x2c,\n\t// Block 0x15, offset 0x540\n\t0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d,\n\t0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11,\n\t0x56f: 0x12,\n}\n\n// nfcSparseOffset: 145 entries, 290 bytes\nvar nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x62, 0x67, 0x69, 0x7a, 0x82, 0x89, 0x8c, 0x93, 0x97, 0x9b, 0x9d, 0x9f, 0xa8, 0xac, 0xb3, 0xb8, 0xbb, 0xc5, 0xc8, 0xcf, 0xd7, 0xda, 0xdc, 0xde, 0xe0, 0xe5, 0xf6, 0x102, 0x104, 0x10a, 0x10c, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x119, 0x11c, 0x11e, 0x121, 0x124, 0x128, 0x12d, 0x136, 0x138, 0x13b, 0x13d, 0x148, 0x14c, 0x15a, 0x15d, 0x163, 0x169, 0x174, 0x178, 0x17a, 0x17c, 0x17e, 0x180, 0x182, 0x188, 0x18c, 0x18e, 0x190, 0x198, 0x19c, 0x19f, 0x1a1, 0x1a3, 0x1a5, 0x1a8, 0x1aa, 0x1ac, 0x1ae, 0x1b0, 0x1b6, 0x1b9, 0x1bb, 0x1c2, 0x1c8, 0x1ce, 0x1d6, 0x1dc, 0x1e2, 0x1e8, 0x1ec, 0x1fa, 0x203, 0x206, 0x209, 0x20b, 0x20e, 0x210, 0x214, 0x219, 0x21b, 0x21d, 0x222, 0x228, 0x22a, 0x22c, 0x22e, 0x234, 0x237, 0x23a, 0x242, 0x249, 0x24c, 0x24f, 0x251, 0x259, 0x25c, 0x263, 0x266, 0x26c, 0x26e, 0x271, 0x273, 0x275, 0x277, 0x279, 0x27c, 0x27e, 0x280, 0x282, 0x28f, 0x299, 0x29b, 0x29d, 0x2a3, 0x2a5, 0x2a8}\n\n// nfcSparseValues: 682 entries, 2728 bytes\nvar nfcSparseValues = [682]valueRange{\n\t// Block 0x0, offset 0x0\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0xa100, lo: 0xa8, hi: 0xa8},\n\t{value: 0x8100, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8100, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8100, lo: 0xb8, hi: 0xb8},\n\t// Block 0x1, offset 0x5\n\t{value: 0x0091, lo: 0x03},\n\t{value: 0x46e2, lo: 0xa0, hi: 0xa1},\n\t{value: 0x4714, lo: 0xaf, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb7, hi: 0xb7},\n\t// Block 0x2, offset 0x9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t// Block 0x3, offset 0xb\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x98, hi: 0x9d},\n\t// Block 0x4, offset 0xd\n\t{value: 0x0006, lo: 0x0a},\n\t{value: 0xa000, lo: 0x81, hi: 0x81},\n\t{value: 0xa000, lo: 0x85, hi: 0x85},\n\t{value: 0xa000, lo: 0x89, hi: 0x89},\n\t{value: 0x4840, lo: 0x8a, hi: 0x8a},\n\t{value: 0x485e, lo: 0x8b, hi: 0x8b},\n\t{value: 0x36c7, lo: 0x8c, hi: 0x8c},\n\t{value: 0x36df, lo: 0x8d, hi: 0x8d},\n\t{value: 0x4876, lo: 0x8e, hi: 0x8e},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x36fd, lo: 0x93, hi: 0x94},\n\t// Block 0x5, offset 0x18\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0xa000, lo: 0x8d, hi: 0x8d},\n\t{value: 0x37a5, lo: 0x90, hi: 0x90},\n\t{value: 0x37b1, lo: 0x91, hi: 0x91},\n\t{value: 0x379f, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x96, hi: 0x96},\n\t{value: 0x3817, lo: 0x97, hi: 0x97},\n\t{value: 0x37e1, lo: 0x9c, hi: 0x9c},\n\t{value: 0x37c9, lo: 0x9d, hi: 0x9d},\n\t{value: 0x37f3, lo: 0x9e, hi: 0x9e},\n\t{value: 0xa000, lo: 0xb4, hi: 0xb5},\n\t{value: 0x381d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3823, lo: 0xb7, hi: 0xb7},\n\t// Block 0x6, offset 0x28\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x83, hi: 0x87},\n\t// Block 0x7, offset 0x2a\n\t{value: 0x0001, lo: 0x04},\n\t{value: 0x8113, lo: 0x81, hi: 0x82},\n\t{value: 0x8132, lo: 0x84, hi: 0x84},\n\t{value: 0x812d, lo: 0x85, hi: 0x85},\n\t{value: 0x810d, lo: 0x87, hi: 0x87},\n\t// Block 0x8, offset 0x2f\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x97},\n\t{value: 0x8119, lo: 0x98, hi: 0x98},\n\t{value: 0x811a, lo: 0x99, hi: 0x99},\n\t{value: 0x811b, lo: 0x9a, hi: 0x9a},\n\t{value: 0x3841, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3847, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3853, lo: 0xa4, hi: 0xa4},\n\t{value: 0x384d, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3859, lo: 0xa6, hi: 0xa6},\n\t{value: 0xa000, lo: 0xa7, hi: 0xa7},\n\t// Block 0x9, offset 0x3a\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x386b, lo: 0x80, hi: 0x80},\n\t{value: 0xa000, lo: 0x81, hi: 0x81},\n\t{value: 0x385f, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x3865, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x95, hi: 0x95},\n\t{value: 0x8132, lo: 0x96, hi: 0x9c},\n\t{value: 0x8132, lo: 0x9f, hi: 0xa2},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8132, lo: 0xab, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t// Block 0xa, offset 0x49\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x811f, lo: 0x91, hi: 0x91},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x812d, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb5, hi: 0xb6},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb9},\n\t{value: 0x8132, lo: 0xba, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbc},\n\t{value: 0x8132, lo: 0xbd, hi: 0xbd},\n\t{value: 0x812d, lo: 0xbe, hi: 0xbe},\n\t{value: 0x8132, lo: 0xbf, hi: 0xbf},\n\t// Block 0xb, offset 0x56\n\t{value: 0x0005, lo: 0x07},\n\t{value: 0x8132, lo: 0x80, hi: 0x80},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x812d, lo: 0x82, hi: 0x83},\n\t{value: 0x812d, lo: 0x84, hi: 0x85},\n\t{value: 0x812d, lo: 0x86, hi: 0x87},\n\t{value: 0x812d, lo: 0x88, hi: 0x89},\n\t{value: 0x8132, lo: 0x8a, hi: 0x8a},\n\t// Block 0xc, offset 0x5e\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8132, lo: 0xab, hi: 0xb1},\n\t{value: 0x812d, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb3},\n\t// Block 0xd, offset 0x62\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0x96, hi: 0x99},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa7},\n\t{value: 0x8132, lo: 0xa9, hi: 0xad},\n\t// Block 0xe, offset 0x67\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x99, hi: 0x9b},\n\t// Block 0xf, offset 0x69\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x8132, lo: 0x94, hi: 0xa1},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8132, lo: 0xaa, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xaf},\n\t{value: 0x8116, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8117, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8118, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x812d, lo: 0xb9, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbf},\n\t// Block 0x10, offset 0x7a\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3ed8, lo: 0xa9, hi: 0xa9},\n\t{value: 0xa000, lo: 0xb0, hi: 0xb0},\n\t{value: 0x3ee0, lo: 0xb1, hi: 0xb1},\n\t{value: 0xa000, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3ee8, lo: 0xb4, hi: 0xb4},\n\t{value: 0x9902, lo: 0xbc, hi: 0xbc},\n\t// Block 0x11, offset 0x82\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x91, hi: 0x91},\n\t{value: 0x812d, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x93, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x94},\n\t{value: 0x451c, lo: 0x98, hi: 0x9f},\n\t// Block 0x12, offset 0x89\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x13, offset 0x8c\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2c9e, lo: 0x8b, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x455c, lo: 0x9c, hi: 0x9d},\n\t{value: 0x456c, lo: 0x9f, hi: 0x9f},\n\t// Block 0x14, offset 0x93\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x4594, lo: 0xb3, hi: 0xb3},\n\t{value: 0x459c, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x15, offset 0x97\n\t{value: 0x0008, lo: 0x03},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x4574, lo: 0x99, hi: 0x9b},\n\t{value: 0x458c, lo: 0x9e, hi: 0x9e},\n\t// Block 0x16, offset 0x9b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x17, offset 0x9d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t// Block 0x18, offset 0x9f\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2cb6, lo: 0x88, hi: 0x88},\n\t{value: 0x2cae, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cbe, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x96, hi: 0x97},\n\t{value: 0x45a4, lo: 0x9c, hi: 0x9c},\n\t{value: 0x45ac, lo: 0x9d, hi: 0x9d},\n\t// Block 0x19, offset 0xa8\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x2cc6, lo: 0x94, hi: 0x94},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1a, offset 0xac\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cce, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2cde, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cd6, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x1b, offset 0xb3\n\t{value: 0x1801, lo: 0x04},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x3ef0, lo: 0x88, hi: 0x88},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8120, lo: 0x95, hi: 0x96},\n\t// Block 0x1c, offset 0xb8\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0xa000, lo: 0xbf, hi: 0xbf},\n\t// Block 0x1d, offset 0xbb\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x2ce6, lo: 0x80, hi: 0x80},\n\t{value: 0x9900, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x2cee, lo: 0x87, hi: 0x87},\n\t{value: 0x2cf6, lo: 0x88, hi: 0x88},\n\t{value: 0x2f50, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2dd8, lo: 0x8b, hi: 0x8b},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x95, hi: 0x96},\n\t// Block 0x1e, offset 0xc5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xbb, hi: 0xbc},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1f, offset 0xc8\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cfe, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2d0e, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d06, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x20, offset 0xcf\n\t{value: 0x6bea, lo: 0x07},\n\t{value: 0x9904, lo: 0x8a, hi: 0x8a},\n\t{value: 0x9900, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x3ef8, lo: 0x9a, hi: 0x9a},\n\t{value: 0x2f58, lo: 0x9c, hi: 0x9c},\n\t{value: 0x2de3, lo: 0x9d, hi: 0x9d},\n\t{value: 0x2d16, lo: 0x9e, hi: 0x9f},\n\t// Block 0x21, offset 0xd7\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8122, lo: 0xb8, hi: 0xb9},\n\t{value: 0x8104, lo: 0xba, hi: 0xba},\n\t// Block 0x22, offset 0xda\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8123, lo: 0x88, hi: 0x8b},\n\t// Block 0x23, offset 0xdc\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8124, lo: 0xb8, hi: 0xb9},\n\t// Block 0x24, offset 0xde\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8125, lo: 0x88, hi: 0x8b},\n\t// Block 0x25, offset 0xe0\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x812d, lo: 0x98, hi: 0x99},\n\t{value: 0x812d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb7},\n\t{value: 0x812b, lo: 0xb9, hi: 0xb9},\n\t// Block 0x26, offset 0xe5\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x2644, lo: 0x83, hi: 0x83},\n\t{value: 0x264b, lo: 0x8d, hi: 0x8d},\n\t{value: 0x2652, lo: 0x92, hi: 0x92},\n\t{value: 0x2659, lo: 0x97, hi: 0x97},\n\t{value: 0x2660, lo: 0x9c, hi: 0x9c},\n\t{value: 0x263d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8126, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8127, lo: 0xb2, hi: 0xb2},\n\t{value: 0x4a84, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8128, lo: 0xb4, hi: 0xb4},\n\t{value: 0x4a8d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x45b4, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8200, lo: 0xb7, hi: 0xb7},\n\t{value: 0x45bc, lo: 0xb8, hi: 0xb8},\n\t{value: 0x8200, lo: 0xb9, hi: 0xb9},\n\t{value: 0x8127, lo: 0xba, hi: 0xbd},\n\t// Block 0x27, offset 0xf6\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x8127, lo: 0x80, hi: 0x80},\n\t{value: 0x4a96, lo: 0x81, hi: 0x81},\n\t{value: 0x8132, lo: 0x82, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0x86, hi: 0x87},\n\t{value: 0x266e, lo: 0x93, hi: 0x93},\n\t{value: 0x2675, lo: 0x9d, hi: 0x9d},\n\t{value: 0x267c, lo: 0xa2, hi: 0xa2},\n\t{value: 0x2683, lo: 0xa7, hi: 0xa7},\n\t{value: 0x268a, lo: 0xac, hi: 0xac},\n\t{value: 0x2667, lo: 0xb9, hi: 0xb9},\n\t// Block 0x28, offset 0x102\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x86, hi: 0x86},\n\t// Block 0x29, offset 0x104\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x2d1e, lo: 0xa6, hi: 0xa6},\n\t{value: 0x9900, lo: 0xae, hi: 0xae},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x2a, offset 0x10a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t// Block 0x2b, offset 0x10c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xa000, lo: 0x80, hi: 0x92},\n\t// Block 0x2c, offset 0x10e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xb900, lo: 0xa1, hi: 0xb5},\n\t// Block 0x2d, offset 0x110\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0xa8, hi: 0xbf},\n\t// Block 0x2e, offset 0x112\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0x80, hi: 0x82},\n\t// Block 0x2f, offset 0x114\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9f},\n\t// Block 0x30, offset 0x116\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x94, hi: 0x94},\n\t{value: 0x8104, lo: 0xb4, hi: 0xb4},\n\t// Block 0x31, offset 0x119\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9d},\n\t// Block 0x32, offset 0x11c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8131, lo: 0xa9, hi: 0xa9},\n\t// Block 0x33, offset 0x11e\n\t{value: 0x0004, lo: 0x02},\n\t{value: 0x812e, lo: 0xb9, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbb},\n\t// Block 0x34, offset 0x121\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x97, hi: 0x97},\n\t{value: 0x812d, lo: 0x98, hi: 0x98},\n\t// Block 0x35, offset 0x124\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8104, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8132, lo: 0xb5, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x36, offset 0x128\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t{value: 0x812d, lo: 0xb5, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x37, offset 0x12d\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x2d66, lo: 0x80, hi: 0x80},\n\t{value: 0x2d6e, lo: 0x81, hi: 0x81},\n\t{value: 0xa000, lo: 0x82, hi: 0x82},\n\t{value: 0x2d76, lo: 0x83, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xab, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xac},\n\t{value: 0x8132, lo: 0xad, hi: 0xb3},\n\t// Block 0x38, offset 0x136\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xaa, hi: 0xab},\n\t// Block 0x39, offset 0x138\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8104, lo: 0xb2, hi: 0xb3},\n\t// Block 0x3a, offset 0x13b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x3b, offset 0x13d\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x92},\n\t{value: 0x8101, lo: 0x94, hi: 0x94},\n\t{value: 0x812d, lo: 0x95, hi: 0x99},\n\t{value: 0x8132, lo: 0x9a, hi: 0x9b},\n\t{value: 0x812d, lo: 0x9c, hi: 0x9f},\n\t{value: 0x8132, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8101, lo: 0xa2, hi: 0xa8},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t{value: 0x8132, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb9},\n\t// Block 0x3c, offset 0x148\n\t{value: 0x0004, lo: 0x03},\n\t{value: 0x0433, lo: 0x80, hi: 0x81},\n\t{value: 0x8100, lo: 0x97, hi: 0x97},\n\t{value: 0x8100, lo: 0xbe, hi: 0xbe},\n\t// Block 0x3d, offset 0x14c\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x8132, lo: 0x90, hi: 0x91},\n\t{value: 0x8101, lo: 0x92, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x97},\n\t{value: 0x8101, lo: 0x98, hi: 0x9a},\n\t{value: 0x8132, lo: 0x9b, hi: 0x9c},\n\t{value: 0x8132, lo: 0xa1, hi: 0xa1},\n\t{value: 0x8101, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa7},\n\t{value: 0x812d, lo: 0xa8, hi: 0xa8},\n\t{value: 0x8132, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8101, lo: 0xaa, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t// Block 0x3e, offset 0x15a\n\t{value: 0x427b, lo: 0x02},\n\t{value: 0x01b8, lo: 0xa6, hi: 0xa6},\n\t{value: 0x0057, lo: 0xaa, hi: 0xab},\n\t// Block 0x3f, offset 0x15d\n\t{value: 0x0007, lo: 0x05},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t{value: 0x3bb9, lo: 0x9a, hi: 0x9b},\n\t{value: 0x3bc7, lo: 0xae, hi: 0xae},\n\t// Block 0x40, offset 0x163\n\t{value: 0x000e, lo: 0x05},\n\t{value: 0x3bce, lo: 0x8d, hi: 0x8e},\n\t{value: 0x3bd5, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t// Block 0x41, offset 0x169\n\t{value: 0x6408, lo: 0x0a},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0x3be3, lo: 0x84, hi: 0x84},\n\t{value: 0xa000, lo: 0x88, hi: 0x88},\n\t{value: 0x3bea, lo: 0x89, hi: 0x89},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0x3bf1, lo: 0x8c, hi: 0x8c},\n\t{value: 0xa000, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3bf8, lo: 0xa4, hi: 0xa5},\n\t{value: 0x3bff, lo: 0xa6, hi: 0xa6},\n\t{value: 0xa000, lo: 0xbc, hi: 0xbc},\n\t// Block 0x42, offset 0x174\n\t{value: 0x0007, lo: 0x03},\n\t{value: 0x3c68, lo: 0xa0, hi: 0xa1},\n\t{value: 0x3c92, lo: 0xa2, hi: 0xa3},\n\t{value: 0x3cbc, lo: 0xaa, hi: 0xad},\n\t// Block 0x43, offset 0x178\n\t{value: 0x0004, lo: 0x01},\n\t{value: 0x048b, lo: 0xa9, hi: 0xaa},\n\t// Block 0x44, offset 0x17a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x44dd, lo: 0x9c, hi: 0x9c},\n\t// Block 0x45, offset 0x17c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xaf, hi: 0xb1},\n\t// Block 0x46, offset 0x17e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x47, offset 0x180\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xa0, hi: 0xbf},\n\t// Block 0x48, offset 0x182\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x812c, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8131, lo: 0xab, hi: 0xab},\n\t{value: 0x8133, lo: 0xac, hi: 0xac},\n\t{value: 0x812e, lo: 0xad, hi: 0xad},\n\t{value: 0x812f, lo: 0xae, hi: 0xaf},\n\t// Block 0x49, offset 0x188\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x4a9f, lo: 0xb3, hi: 0xb3},\n\t{value: 0x4a9f, lo: 0xb5, hi: 0xb6},\n\t{value: 0x4a9f, lo: 0xba, hi: 0xbf},\n\t// Block 0x4a, offset 0x18c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x4a9f, lo: 0x8f, hi: 0xa3},\n\t// Block 0x4b, offset 0x18e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0xae, hi: 0xbe},\n\t// Block 0x4c, offset 0x190\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x8100, lo: 0x84, hi: 0x84},\n\t{value: 0x8100, lo: 0x87, hi: 0x87},\n\t{value: 0x8100, lo: 0x90, hi: 0x90},\n\t{value: 0x8100, lo: 0x9e, hi: 0x9e},\n\t{value: 0x8100, lo: 0xa1, hi: 0xa1},\n\t{value: 0x8100, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8100, lo: 0xbb, hi: 0xbb},\n\t// Block 0x4d, offset 0x198\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8100, lo: 0x80, hi: 0x80},\n\t{value: 0x8100, lo: 0x8b, hi: 0x8b},\n\t{value: 0x8100, lo: 0x8e, hi: 0x8e},\n\t// Block 0x4e, offset 0x19c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb4, hi: 0xbd},\n\t// Block 0x4f, offset 0x19f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x9e, hi: 0x9f},\n\t// Block 0x50, offset 0x1a1\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb1},\n\t// Block 0x51, offset 0x1a3\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t// Block 0x52, offset 0x1a5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xa0, hi: 0xb1},\n\t// Block 0x53, offset 0x1a8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xab, hi: 0xad},\n\t// Block 0x54, offset 0x1aa\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x93, hi: 0x93},\n\t// Block 0x55, offset 0x1ac\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb3, hi: 0xb3},\n\t// Block 0x56, offset 0x1ae\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t// Block 0x57, offset 0x1b0\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x8132, lo: 0xbe, hi: 0xbf},\n\t// Block 0x58, offset 0x1b6\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t// Block 0x59, offset 0x1b9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xad, hi: 0xad},\n\t// Block 0x5a, offset 0x1bb\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xe500, lo: 0x80, hi: 0x80},\n\t{value: 0xc600, lo: 0x81, hi: 0x9b},\n\t{value: 0xe500, lo: 0x9c, hi: 0x9c},\n\t{value: 0xc600, lo: 0x9d, hi: 0xb7},\n\t{value: 0xe500, lo: 0xb8, hi: 0xb8},\n\t{value: 0xc600, lo: 0xb9, hi: 0xbf},\n\t// Block 0x5b, offset 0x1c2\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x93},\n\t{value: 0xe500, lo: 0x94, hi: 0x94},\n\t{value: 0xc600, lo: 0x95, hi: 0xaf},\n\t{value: 0xe500, lo: 0xb0, hi: 0xb0},\n\t{value: 0xc600, lo: 0xb1, hi: 0xbf},\n\t// Block 0x5c, offset 0x1c8\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8b},\n\t{value: 0xe500, lo: 0x8c, hi: 0x8c},\n\t{value: 0xc600, lo: 0x8d, hi: 0xa7},\n\t{value: 0xe500, lo: 0xa8, hi: 0xa8},\n\t{value: 0xc600, lo: 0xa9, hi: 0xbf},\n\t// Block 0x5d, offset 0x1ce\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xc600, lo: 0x80, hi: 0x83},\n\t{value: 0xe500, lo: 0x84, hi: 0x84},\n\t{value: 0xc600, lo: 0x85, hi: 0x9f},\n\t{value: 0xe500, lo: 0xa0, hi: 0xa0},\n\t{value: 0xc600, lo: 0xa1, hi: 0xbb},\n\t{value: 0xe500, lo: 0xbc, hi: 0xbc},\n\t{value: 0xc600, lo: 0xbd, hi: 0xbf},\n\t// Block 0x5e, offset 0x1d6\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x97},\n\t{value: 0xe500, lo: 0x98, hi: 0x98},\n\t{value: 0xc600, lo: 0x99, hi: 0xb3},\n\t{value: 0xe500, lo: 0xb4, hi: 0xb4},\n\t{value: 0xc600, lo: 0xb5, hi: 0xbf},\n\t// Block 0x5f, offset 0x1dc\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8f},\n\t{value: 0xe500, lo: 0x90, hi: 0x90},\n\t{value: 0xc600, lo: 0x91, hi: 0xab},\n\t{value: 0xe500, lo: 0xac, hi: 0xac},\n\t{value: 0xc600, lo: 0xad, hi: 0xbf},\n\t// Block 0x60, offset 0x1e2\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t{value: 0xe500, lo: 0xa4, hi: 0xa4},\n\t{value: 0xc600, lo: 0xa5, hi: 0xbf},\n\t// Block 0x61, offset 0x1e8\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t// Block 0x62, offset 0x1ec\n\t{value: 0x0006, lo: 0x0d},\n\t{value: 0x4390, lo: 0x9d, hi: 0x9d},\n\t{value: 0x8115, lo: 0x9e, hi: 0x9e},\n\t{value: 0x4402, lo: 0x9f, hi: 0x9f},\n\t{value: 0x43f0, lo: 0xaa, hi: 0xab},\n\t{value: 0x44f4, lo: 0xac, hi: 0xac},\n\t{value: 0x44fc, lo: 0xad, hi: 0xad},\n\t{value: 0x4348, lo: 0xae, hi: 0xb1},\n\t{value: 0x4366, lo: 0xb2, hi: 0xb4},\n\t{value: 0x437e, lo: 0xb5, hi: 0xb6},\n\t{value: 0x438a, lo: 0xb8, hi: 0xb8},\n\t{value: 0x4396, lo: 0xb9, hi: 0xbb},\n\t{value: 0x43ae, lo: 0xbc, hi: 0xbc},\n\t{value: 0x43b4, lo: 0xbe, hi: 0xbe},\n\t// Block 0x63, offset 0x1fa\n\t{value: 0x0006, lo: 0x08},\n\t{value: 0x43ba, lo: 0x80, hi: 0x81},\n\t{value: 0x43c6, lo: 0x83, hi: 0x84},\n\t{value: 0x43d8, lo: 0x86, hi: 0x89},\n\t{value: 0x43fc, lo: 0x8a, hi: 0x8a},\n\t{value: 0x4378, lo: 0x8b, hi: 0x8b},\n\t{value: 0x4360, lo: 0x8c, hi: 0x8c},\n\t{value: 0x43a8, lo: 0x8d, hi: 0x8d},\n\t{value: 0x43d2, lo: 0x8e, hi: 0x8e},\n\t// Block 0x64, offset 0x203\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8100, lo: 0xa4, hi: 0xa5},\n\t{value: 0x8100, lo: 0xb0, hi: 0xb1},\n\t// Block 0x65, offset 0x206\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8100, lo: 0x9b, hi: 0x9d},\n\t{value: 0x8200, lo: 0x9e, hi: 0xa3},\n\t// Block 0x66, offset 0x209\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x90, hi: 0x90},\n\t// Block 0x67, offset 0x20b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8100, lo: 0x99, hi: 0x99},\n\t{value: 0x8200, lo: 0xb2, hi: 0xb4},\n\t// Block 0x68, offset 0x20e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0xbc, hi: 0xbd},\n\t// Block 0x69, offset 0x210\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8132, lo: 0xa0, hi: 0xa6},\n\t{value: 0x812d, lo: 0xa7, hi: 0xad},\n\t{value: 0x8132, lo: 0xae, hi: 0xaf},\n\t// Block 0x6a, offset 0x214\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8100, lo: 0x89, hi: 0x8c},\n\t{value: 0x8100, lo: 0xb0, hi: 0xb2},\n\t{value: 0x8100, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8100, lo: 0xb6, hi: 0xbf},\n\t// Block 0x6b, offset 0x219\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x81, hi: 0x8c},\n\t// Block 0x6c, offset 0x21b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0xb5, hi: 0xba},\n\t// Block 0x6d, offset 0x21d\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x4a9f, lo: 0x9e, hi: 0x9f},\n\t{value: 0x4a9f, lo: 0xa3, hi: 0xa3},\n\t{value: 0x4a9f, lo: 0xa5, hi: 0xa6},\n\t{value: 0x4a9f, lo: 0xaa, hi: 0xaf},\n\t// Block 0x6e, offset 0x222\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x4a9f, lo: 0x82, hi: 0x87},\n\t{value: 0x4a9f, lo: 0x8a, hi: 0x8f},\n\t{value: 0x4a9f, lo: 0x92, hi: 0x97},\n\t{value: 0x4a9f, lo: 0x9a, hi: 0x9c},\n\t{value: 0x8100, lo: 0xa3, hi: 0xa3},\n\t// Block 0x6f, offset 0x228\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x70, offset 0x22a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xa0, hi: 0xa0},\n\t// Block 0x71, offset 0x22c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb6, hi: 0xba},\n\t// Block 0x72, offset 0x22e\n\t{value: 0x002c, lo: 0x05},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x8f, hi: 0x8f},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb8},\n\t{value: 0x8101, lo: 0xb9, hi: 0xba},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x73, offset 0x234\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t// Block 0x74, offset 0x237\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x75, offset 0x23a\n\t{value: 0x17fe, lo: 0x07},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x4238, lo: 0x9a, hi: 0x9a},\n\t{value: 0xa000, lo: 0x9b, hi: 0x9b},\n\t{value: 0x4242, lo: 0x9c, hi: 0x9c},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x424c, lo: 0xab, hi: 0xab},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x76, offset 0x242\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x8132, lo: 0x80, hi: 0x82},\n\t{value: 0x9900, lo: 0xa7, hi: 0xa7},\n\t{value: 0x2d7e, lo: 0xae, hi: 0xae},\n\t{value: 0x2d88, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb1, hi: 0xb2},\n\t{value: 0x8104, lo: 0xb3, hi: 0xb4},\n\t// Block 0x77, offset 0x249\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x78, offset 0x24c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb5, hi: 0xb5},\n\t{value: 0x8102, lo: 0xb6, hi: 0xb6},\n\t// Block 0x79, offset 0x24f\n\t{value: 0x0002, lo: 0x01},\n\t{value: 0x8102, lo: 0xa9, hi: 0xaa},\n\t// Block 0x7a, offset 0x251\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2d92, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d9c, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x8132, lo: 0xa6, hi: 0xac},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t// Block 0x7b, offset 0x259\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x86, hi: 0x86},\n\t// Block 0x7c, offset 0x25c\n\t{value: 0x6b5a, lo: 0x06},\n\t{value: 0x9900, lo: 0xb0, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb9, hi: 0xb9},\n\t{value: 0x9900, lo: 0xba, hi: 0xba},\n\t{value: 0x2db0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x2da6, lo: 0xbc, hi: 0xbd},\n\t{value: 0x2dba, lo: 0xbe, hi: 0xbe},\n\t// Block 0x7d, offset 0x263\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x83, hi: 0x83},\n\t// Block 0x7e, offset 0x266\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x9900, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb8, hi: 0xb9},\n\t{value: 0x2dc4, lo: 0xba, hi: 0xba},\n\t{value: 0x2dce, lo: 0xbb, hi: 0xbb},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x7f, offset 0x26c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0x80, hi: 0x80},\n\t// Block 0x80, offset 0x26e\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x81, offset 0x271\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xab, hi: 0xab},\n\t// Block 0x82, offset 0x273\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xb4, hi: 0xb4},\n\t// Block 0x83, offset 0x275\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x87, hi: 0x87},\n\t// Block 0x84, offset 0x277\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x99, hi: 0x99},\n\t// Block 0x85, offset 0x279\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0x82, hi: 0x82},\n\t{value: 0x8104, lo: 0x84, hi: 0x85},\n\t// Block 0x86, offset 0x27c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0xb0, hi: 0xb4},\n\t// Block 0x87, offset 0x27e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb6},\n\t// Block 0x88, offset 0x280\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0x9e, hi: 0x9e},\n\t// Block 0x89, offset 0x282\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x45cc, lo: 0x9e, hi: 0x9e},\n\t{value: 0x45d6, lo: 0x9f, hi: 0x9f},\n\t{value: 0x460a, lo: 0xa0, hi: 0xa0},\n\t{value: 0x4618, lo: 0xa1, hi: 0xa1},\n\t{value: 0x4626, lo: 0xa2, hi: 0xa2},\n\t{value: 0x4634, lo: 0xa3, hi: 0xa3},\n\t{value: 0x4642, lo: 0xa4, hi: 0xa4},\n\t{value: 0x812b, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8101, lo: 0xa7, hi: 0xa9},\n\t{value: 0x8130, lo: 0xad, hi: 0xad},\n\t{value: 0x812b, lo: 0xae, hi: 0xb2},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbf},\n\t// Block 0x8a, offset 0x28f\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x812d, lo: 0x80, hi: 0x82},\n\t{value: 0x8132, lo: 0x85, hi: 0x89},\n\t{value: 0x812d, lo: 0x8a, hi: 0x8b},\n\t{value: 0x8132, lo: 0xaa, hi: 0xad},\n\t{value: 0x45e0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x45ea, lo: 0xbc, hi: 0xbc},\n\t{value: 0x4650, lo: 0xbd, hi: 0xbd},\n\t{value: 0x466c, lo: 0xbe, hi: 0xbe},\n\t{value: 0x465e, lo: 0xbf, hi: 0xbf},\n\t// Block 0x8b, offset 0x299\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x467a, lo: 0x80, hi: 0x80},\n\t// Block 0x8c, offset 0x29b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x82, hi: 0x84},\n\t// Block 0x8d, offset 0x29d\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0x80, hi: 0x86},\n\t{value: 0x8132, lo: 0x88, hi: 0x98},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa1},\n\t{value: 0x8132, lo: 0xa3, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa6, hi: 0xaa},\n\t// Block 0x8e, offset 0x2a3\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x90, hi: 0x96},\n\t// Block 0x8f, offset 0x2a5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x84, hi: 0x89},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x90, offset 0x2a8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x93, hi: 0x93},\n}\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfkcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfkcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfkcTrie) lookupUnsafe(s []byte) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfkcValues[c0]\n\t}\n\ti := nfkcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfkcTrie) lookupString(s string) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfkcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfkcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfkcTrie) lookupStringUnsafe(s string) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfkcValues[c0]\n\t}\n\ti := nfkcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// nfkcTrie. Total size: 17104 bytes (16.70 KiB). Checksum: d985061cf5307b35.\ntype nfkcTrie struct{}\n\nfunc newNfkcTrie(i int) *nfkcTrie {\n\treturn &nfkcTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 {\n\tswitch {\n\tcase n < 91:\n\t\treturn uint16(nfkcValues[n<<6+uint32(b)])\n\tdefault:\n\t\tn -= 91\n\t\treturn uint16(nfkcSparse.lookup(n, b))\n\t}\n}\n\n// nfkcValues: 93 blocks, 5952 entries, 11904 bytes\n// The third block is the zero block.\nvar nfkcValues = [5952]uint16{\n\t// Block 0x0, offset 0x0\n\t0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000,\n\t// Block 0x1, offset 0x40\n\t0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000,\n\t0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000,\n\t0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000,\n\t0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000,\n\t0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000,\n\t0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000,\n\t0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000,\n\t0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000,\n\t0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000,\n\t0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c,\n\t0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb,\n\t0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104,\n\t0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd,\n\t0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235,\n\t0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285,\n\t0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3,\n\t0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750,\n\t0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f,\n\t0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3,\n\t0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569,\n\t// Block 0x4, offset 0x100\n\t0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8,\n\t0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6,\n\t0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5,\n\t0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302,\n\t0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339,\n\t0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352,\n\t0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e,\n\t0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6,\n\t0x130: 0x308c, 0x132: 0x195d, 0x133: 0x19e7, 0x134: 0x30b4, 0x135: 0x33c0,\n\t0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc,\n\t0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, 0x13f: 0x1bac,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x1c34, 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118,\n\t0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, 0x149: 0x1c5c,\n\t0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c,\n\t0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483,\n\t0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d,\n\t0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba,\n\t0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796,\n\t0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2,\n\t0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528,\n\t0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267,\n\t0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0x00a7,\n\t// Block 0x6, offset 0x180\n\t0x184: 0x2dee, 0x185: 0x2df4,\n\t0x186: 0x2dfa, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a08, 0x18a: 0x1987, 0x18b: 0x198a,\n\t0x18c: 0x1a3e, 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140,\n\t0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8,\n\t0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50,\n\t0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5,\n\t0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf,\n\t0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd,\n\t0x1b0: 0x33c5, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19cf, 0x1b4: 0x3028, 0x1b5: 0x3334,\n\t0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46,\n\t0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316,\n\t0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac,\n\t0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479,\n\t0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6,\n\t0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5,\n\t0x1de: 0x305a, 0x1df: 0x3366,\n\t0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b,\n\t0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769,\n\t0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132,\n\t0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932,\n\t0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932,\n\t0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d,\n\t0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d,\n\t0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d,\n\t0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d,\n\t0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d,\n\t0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101,\n\t0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d,\n\t0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936,\n\t0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132,\n\t0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132,\n\t0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132,\n\t0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135,\n\t0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132,\n\t0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132,\n\t0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132,\n\t0x274: 0x0170,\n\t0x27a: 0x42a5,\n\t0x27e: 0x0037,\n\t// Block 0xa, offset 0x280\n\t0x284: 0x425a, 0x285: 0x447b,\n\t0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625,\n\t0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000,\n\t0x295: 0xa000, 0x297: 0xa000,\n\t0x299: 0xa000,\n\t0x29f: 0xa000, 0x2a1: 0xa000,\n\t0x2a5: 0xa000, 0x2a9: 0xa000,\n\t0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9,\n\t0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000,\n\t0x2b7: 0xa000, 0x2b9: 0xa000,\n\t0x2bf: 0xa000,\n\t// Block 0xb, offset 0x2c0\n\t0x2c1: 0xa000, 0x2c5: 0xa000,\n\t0x2c9: 0xa000, 0x2ca: 0x4840, 0x2cb: 0x485e,\n\t0x2cc: 0x36c7, 0x2cd: 0x36df, 0x2ce: 0x4876, 0x2d0: 0x01be, 0x2d1: 0x01d0,\n\t0x2d2: 0x01ac, 0x2d3: 0x430c, 0x2d4: 0x4312, 0x2d5: 0x01fa, 0x2d6: 0x01e8,\n\t0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7,\n\t0x2f9: 0x01a6,\n\t// Block 0xc, offset 0x300\n\t0x300: 0x3721, 0x301: 0x372d, 0x303: 0x371b,\n\t0x306: 0xa000, 0x307: 0x3709,\n\t0x30c: 0x375d, 0x30d: 0x3745, 0x30e: 0x376f, 0x310: 0xa000,\n\t0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000,\n\t0x318: 0xa000, 0x319: 0x3751, 0x31a: 0xa000,\n\t0x31e: 0xa000, 0x323: 0xa000,\n\t0x327: 0xa000,\n\t0x32b: 0xa000, 0x32d: 0xa000,\n\t0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000,\n\t0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d5, 0x33a: 0xa000,\n\t0x33e: 0xa000,\n\t// Block 0xd, offset 0x340\n\t0x341: 0x3733, 0x342: 0x37b7,\n\t0x350: 0x370f, 0x351: 0x3793,\n\t0x352: 0x3715, 0x353: 0x3799, 0x356: 0x3727, 0x357: 0x37ab,\n\t0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3829, 0x35b: 0x382f, 0x35c: 0x3739, 0x35d: 0x37bd,\n\t0x35e: 0x373f, 0x35f: 0x37c3, 0x362: 0x374b, 0x363: 0x37cf,\n\t0x364: 0x3757, 0x365: 0x37db, 0x366: 0x3763, 0x367: 0x37e7, 0x368: 0xa000, 0x369: 0xa000,\n\t0x36a: 0x3835, 0x36b: 0x383b, 0x36c: 0x378d, 0x36d: 0x3811, 0x36e: 0x3769, 0x36f: 0x37ed,\n\t0x370: 0x3775, 0x371: 0x37f9, 0x372: 0x377b, 0x373: 0x37ff, 0x374: 0x3781, 0x375: 0x3805,\n\t0x378: 0x3787, 0x379: 0x380b,\n\t// Block 0xe, offset 0x380\n\t0x387: 0x1d61,\n\t0x391: 0x812d,\n\t0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132,\n\t0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132,\n\t0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d,\n\t0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132,\n\t0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132,\n\t0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a,\n\t0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f,\n\t0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112,\n\t// Block 0xf, offset 0x3c0\n\t0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116,\n\t0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c,\n\t0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132,\n\t0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132,\n\t0x3de: 0x8132, 0x3df: 0x812d,\n\t0x3f0: 0x811e, 0x3f5: 0x1d84,\n\t0x3f6: 0x2013, 0x3f7: 0x204f, 0x3f8: 0x204a,\n\t// Block 0x10, offset 0x400\n\t0x405: 0xa000,\n\t0x406: 0x2d26, 0x407: 0xa000, 0x408: 0x2d2e, 0x409: 0xa000, 0x40a: 0x2d36, 0x40b: 0xa000,\n\t0x40c: 0x2d3e, 0x40d: 0xa000, 0x40e: 0x2d46, 0x411: 0xa000,\n\t0x412: 0x2d4e,\n\t0x434: 0x8102, 0x435: 0x9900,\n\t0x43a: 0xa000, 0x43b: 0x2d56,\n\t0x43c: 0xa000, 0x43d: 0x2d5e, 0x43e: 0xa000, 0x43f: 0xa000,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x0069, 0x441: 0x006b, 0x442: 0x006f, 0x443: 0x0083, 0x444: 0x00f5, 0x445: 0x00f8,\n\t0x446: 0x0413, 0x447: 0x0085, 0x448: 0x0089, 0x449: 0x008b, 0x44a: 0x0104, 0x44b: 0x0107,\n\t0x44c: 0x010a, 0x44d: 0x008f, 0x44f: 0x0097, 0x450: 0x009b, 0x451: 0x00e0,\n\t0x452: 0x009f, 0x453: 0x00fe, 0x454: 0x0417, 0x455: 0x041b, 0x456: 0x00a1, 0x457: 0x00a9,\n\t0x458: 0x00ab, 0x459: 0x0423, 0x45a: 0x012b, 0x45b: 0x00ad, 0x45c: 0x0427, 0x45d: 0x01be,\n\t0x45e: 0x01c1, 0x45f: 0x01c4, 0x460: 0x01fa, 0x461: 0x01fd, 0x462: 0x0093, 0x463: 0x00a5,\n\t0x464: 0x00ab, 0x465: 0x00ad, 0x466: 0x01be, 0x467: 0x01c1, 0x468: 0x01eb, 0x469: 0x01fa,\n\t0x46a: 0x01fd,\n\t0x478: 0x020c,\n\t// Block 0x12, offset 0x480\n\t0x49b: 0x00fb, 0x49c: 0x0087, 0x49d: 0x0101,\n\t0x49e: 0x00d4, 0x49f: 0x010a, 0x4a0: 0x008d, 0x4a1: 0x010d, 0x4a2: 0x0110, 0x4a3: 0x0116,\n\t0x4a4: 0x011c, 0x4a5: 0x011f, 0x4a6: 0x0122, 0x4a7: 0x042b, 0x4a8: 0x016a, 0x4a9: 0x0128,\n\t0x4aa: 0x042f, 0x4ab: 0x016d, 0x4ac: 0x0131, 0x4ad: 0x012e, 0x4ae: 0x0134, 0x4af: 0x0137,\n\t0x4b0: 0x013a, 0x4b1: 0x013d, 0x4b2: 0x0140, 0x4b3: 0x014c, 0x4b4: 0x014f, 0x4b5: 0x00ec,\n\t0x4b6: 0x0152, 0x4b7: 0x0155, 0x4b8: 0x041f, 0x4b9: 0x0158, 0x4ba: 0x015b, 0x4bb: 0x00b5,\n\t0x4bc: 0x015e, 0x4bd: 0x0161, 0x4be: 0x0164, 0x4bf: 0x01d0,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x8132, 0x4c1: 0x8132, 0x4c2: 0x812d, 0x4c3: 0x8132, 0x4c4: 0x8132, 0x4c5: 0x8132,\n\t0x4c6: 0x8132, 0x4c7: 0x8132, 0x4c8: 0x8132, 0x4c9: 0x8132, 0x4ca: 0x812d, 0x4cb: 0x8132,\n\t0x4cc: 0x8132, 0x4cd: 0x8135, 0x4ce: 0x812a, 0x4cf: 0x812d, 0x4d0: 0x8129, 0x4d1: 0x8132,\n\t0x4d2: 0x8132, 0x4d3: 0x8132, 0x4d4: 0x8132, 0x4d5: 0x8132, 0x4d6: 0x8132, 0x4d7: 0x8132,\n\t0x4d8: 0x8132, 0x4d9: 0x8132, 0x4da: 0x8132, 0x4db: 0x8132, 0x4dc: 0x8132, 0x4dd: 0x8132,\n\t0x4de: 0x8132, 0x4df: 0x8132, 0x4e0: 0x8132, 0x4e1: 0x8132, 0x4e2: 0x8132, 0x4e3: 0x8132,\n\t0x4e4: 0x8132, 0x4e5: 0x8132, 0x4e6: 0x8132, 0x4e7: 0x8132, 0x4e8: 0x8132, 0x4e9: 0x8132,\n\t0x4ea: 0x8132, 0x4eb: 0x8132, 0x4ec: 0x8132, 0x4ed: 0x8132, 0x4ee: 0x8132, 0x4ef: 0x8132,\n\t0x4f0: 0x8132, 0x4f1: 0x8132, 0x4f2: 0x8132, 0x4f3: 0x8132, 0x4f4: 0x8132, 0x4f5: 0x8132,\n\t0x4f6: 0x8133, 0x4f7: 0x8131, 0x4f8: 0x8131, 0x4f9: 0x812d, 0x4fb: 0x8132,\n\t0x4fc: 0x8134, 0x4fd: 0x812d, 0x4fe: 0x8132, 0x4ff: 0x812d,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x2f97, 0x501: 0x32a3, 0x502: 0x2fa1, 0x503: 0x32ad, 0x504: 0x2fa6, 0x505: 0x32b2,\n\t0x506: 0x2fab, 0x507: 0x32b7, 0x508: 0x38cc, 0x509: 0x3a5b, 0x50a: 0x2fc4, 0x50b: 0x32d0,\n\t0x50c: 0x2fce, 0x50d: 0x32da, 0x50e: 0x2fdd, 0x50f: 0x32e9, 0x510: 0x2fd3, 0x511: 0x32df,\n\t0x512: 0x2fd8, 0x513: 0x32e4, 0x514: 0x38ef, 0x515: 0x3a7e, 0x516: 0x38f6, 0x517: 0x3a85,\n\t0x518: 0x3019, 0x519: 0x3325, 0x51a: 0x301e, 0x51b: 0x332a, 0x51c: 0x3904, 0x51d: 0x3a93,\n\t0x51e: 0x3023, 0x51f: 0x332f, 0x520: 0x3032, 0x521: 0x333e, 0x522: 0x3050, 0x523: 0x335c,\n\t0x524: 0x305f, 0x525: 0x336b, 0x526: 0x3055, 0x527: 0x3361, 0x528: 0x3064, 0x529: 0x3370,\n\t0x52a: 0x3069, 0x52b: 0x3375, 0x52c: 0x30af, 0x52d: 0x33bb, 0x52e: 0x390b, 0x52f: 0x3a9a,\n\t0x530: 0x30b9, 0x531: 0x33ca, 0x532: 0x30c3, 0x533: 0x33d4, 0x534: 0x30cd, 0x535: 0x33de,\n\t0x536: 0x46c4, 0x537: 0x4755, 0x538: 0x3912, 0x539: 0x3aa1, 0x53a: 0x30e6, 0x53b: 0x33f7,\n\t0x53c: 0x30e1, 0x53d: 0x33f2, 0x53e: 0x30eb, 0x53f: 0x33fc,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x30f0, 0x541: 0x3401, 0x542: 0x30f5, 0x543: 0x3406, 0x544: 0x3109, 0x545: 0x341a,\n\t0x546: 0x3113, 0x547: 0x3424, 0x548: 0x3122, 0x549: 0x3433, 0x54a: 0x311d, 0x54b: 0x342e,\n\t0x54c: 0x3935, 0x54d: 0x3ac4, 0x54e: 0x3943, 0x54f: 0x3ad2, 0x550: 0x394a, 0x551: 0x3ad9,\n\t0x552: 0x3951, 0x553: 0x3ae0, 0x554: 0x314f, 0x555: 0x3460, 0x556: 0x3154, 0x557: 0x3465,\n\t0x558: 0x315e, 0x559: 0x346f, 0x55a: 0x46f1, 0x55b: 0x4782, 0x55c: 0x3997, 0x55d: 0x3b26,\n\t0x55e: 0x3177, 0x55f: 0x3488, 0x560: 0x3181, 0x561: 0x3492, 0x562: 0x4700, 0x563: 0x4791,\n\t0x564: 0x399e, 0x565: 0x3b2d, 0x566: 0x39a5, 0x567: 0x3b34, 0x568: 0x39ac, 0x569: 0x3b3b,\n\t0x56a: 0x3190, 0x56b: 0x34a1, 0x56c: 0x319a, 0x56d: 0x34b0, 0x56e: 0x31ae, 0x56f: 0x34c4,\n\t0x570: 0x31a9, 0x571: 0x34bf, 0x572: 0x31ea, 0x573: 0x3500, 0x574: 0x31f9, 0x575: 0x350f,\n\t0x576: 0x31f4, 0x577: 0x350a, 0x578: 0x39b3, 0x579: 0x3b42, 0x57a: 0x39ba, 0x57b: 0x3b49,\n\t0x57c: 0x31fe, 0x57d: 0x3514, 0x57e: 0x3203, 0x57f: 0x3519,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x3208, 0x581: 0x351e, 0x582: 0x320d, 0x583: 0x3523, 0x584: 0x321c, 0x585: 0x3532,\n\t0x586: 0x3217, 0x587: 0x352d, 0x588: 0x3221, 0x589: 0x353c, 0x58a: 0x3226, 0x58b: 0x3541,\n\t0x58c: 0x322b, 0x58d: 0x3546, 0x58e: 0x3249, 0x58f: 0x3564, 0x590: 0x3262, 0x591: 0x3582,\n\t0x592: 0x3271, 0x593: 0x3591, 0x594: 0x3276, 0x595: 0x3596, 0x596: 0x337a, 0x597: 0x34a6,\n\t0x598: 0x3537, 0x599: 0x3573, 0x59a: 0x1be0, 0x59b: 0x42d7,\n\t0x5a0: 0x46a1, 0x5a1: 0x4732, 0x5a2: 0x2f83, 0x5a3: 0x328f,\n\t0x5a4: 0x3878, 0x5a5: 0x3a07, 0x5a6: 0x3871, 0x5a7: 0x3a00, 0x5a8: 0x3886, 0x5a9: 0x3a15,\n\t0x5aa: 0x387f, 0x5ab: 0x3a0e, 0x5ac: 0x38be, 0x5ad: 0x3a4d, 0x5ae: 0x3894, 0x5af: 0x3a23,\n\t0x5b0: 0x388d, 0x5b1: 0x3a1c, 0x5b2: 0x38a2, 0x5b3: 0x3a31, 0x5b4: 0x389b, 0x5b5: 0x3a2a,\n\t0x5b6: 0x38c5, 0x5b7: 0x3a54, 0x5b8: 0x46b5, 0x5b9: 0x4746, 0x5ba: 0x3000, 0x5bb: 0x330c,\n\t0x5bc: 0x2fec, 0x5bd: 0x32f8, 0x5be: 0x38da, 0x5bf: 0x3a69,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x38d3, 0x5c1: 0x3a62, 0x5c2: 0x38e8, 0x5c3: 0x3a77, 0x5c4: 0x38e1, 0x5c5: 0x3a70,\n\t0x5c6: 0x38fd, 0x5c7: 0x3a8c, 0x5c8: 0x3091, 0x5c9: 0x339d, 0x5ca: 0x30a5, 0x5cb: 0x33b1,\n\t0x5cc: 0x46e7, 0x5cd: 0x4778, 0x5ce: 0x3136, 0x5cf: 0x3447, 0x5d0: 0x3920, 0x5d1: 0x3aaf,\n\t0x5d2: 0x3919, 0x5d3: 0x3aa8, 0x5d4: 0x392e, 0x5d5: 0x3abd, 0x5d6: 0x3927, 0x5d7: 0x3ab6,\n\t0x5d8: 0x3989, 0x5d9: 0x3b18, 0x5da: 0x396d, 0x5db: 0x3afc, 0x5dc: 0x3966, 0x5dd: 0x3af5,\n\t0x5de: 0x397b, 0x5df: 0x3b0a, 0x5e0: 0x3974, 0x5e1: 0x3b03, 0x5e2: 0x3982, 0x5e3: 0x3b11,\n\t0x5e4: 0x31e5, 0x5e5: 0x34fb, 0x5e6: 0x31c7, 0x5e7: 0x34dd, 0x5e8: 0x39e4, 0x5e9: 0x3b73,\n\t0x5ea: 0x39dd, 0x5eb: 0x3b6c, 0x5ec: 0x39f2, 0x5ed: 0x3b81, 0x5ee: 0x39eb, 0x5ef: 0x3b7a,\n\t0x5f0: 0x39f9, 0x5f1: 0x3b88, 0x5f2: 0x3230, 0x5f3: 0x354b, 0x5f4: 0x3258, 0x5f5: 0x3578,\n\t0x5f6: 0x3253, 0x5f7: 0x356e, 0x5f8: 0x323f, 0x5f9: 0x355a,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x4804, 0x601: 0x480a, 0x602: 0x491e, 0x603: 0x4936, 0x604: 0x4926, 0x605: 0x493e,\n\t0x606: 0x492e, 0x607: 0x4946, 0x608: 0x47aa, 0x609: 0x47b0, 0x60a: 0x488e, 0x60b: 0x48a6,\n\t0x60c: 0x4896, 0x60d: 0x48ae, 0x60e: 0x489e, 0x60f: 0x48b6, 0x610: 0x4816, 0x611: 0x481c,\n\t0x612: 0x3db8, 0x613: 0x3dc8, 0x614: 0x3dc0, 0x615: 0x3dd0,\n\t0x618: 0x47b6, 0x619: 0x47bc, 0x61a: 0x3ce8, 0x61b: 0x3cf8, 0x61c: 0x3cf0, 0x61d: 0x3d00,\n\t0x620: 0x482e, 0x621: 0x4834, 0x622: 0x494e, 0x623: 0x4966,\n\t0x624: 0x4956, 0x625: 0x496e, 0x626: 0x495e, 0x627: 0x4976, 0x628: 0x47c2, 0x629: 0x47c8,\n\t0x62a: 0x48be, 0x62b: 0x48d6, 0x62c: 0x48c6, 0x62d: 0x48de, 0x62e: 0x48ce, 0x62f: 0x48e6,\n\t0x630: 0x4846, 0x631: 0x484c, 0x632: 0x3e18, 0x633: 0x3e30, 0x634: 0x3e20, 0x635: 0x3e38,\n\t0x636: 0x3e28, 0x637: 0x3e40, 0x638: 0x47ce, 0x639: 0x47d4, 0x63a: 0x3d18, 0x63b: 0x3d30,\n\t0x63c: 0x3d20, 0x63d: 0x3d38, 0x63e: 0x3d28, 0x63f: 0x3d40,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x4852, 0x641: 0x4858, 0x642: 0x3e48, 0x643: 0x3e58, 0x644: 0x3e50, 0x645: 0x3e60,\n\t0x648: 0x47da, 0x649: 0x47e0, 0x64a: 0x3d48, 0x64b: 0x3d58,\n\t0x64c: 0x3d50, 0x64d: 0x3d60, 0x650: 0x4864, 0x651: 0x486a,\n\t0x652: 0x3e80, 0x653: 0x3e98, 0x654: 0x3e88, 0x655: 0x3ea0, 0x656: 0x3e90, 0x657: 0x3ea8,\n\t0x659: 0x47e6, 0x65b: 0x3d68, 0x65d: 0x3d70,\n\t0x65f: 0x3d78, 0x660: 0x487c, 0x661: 0x4882, 0x662: 0x497e, 0x663: 0x4996,\n\t0x664: 0x4986, 0x665: 0x499e, 0x666: 0x498e, 0x667: 0x49a6, 0x668: 0x47ec, 0x669: 0x47f2,\n\t0x66a: 0x48ee, 0x66b: 0x4906, 0x66c: 0x48f6, 0x66d: 0x490e, 0x66e: 0x48fe, 0x66f: 0x4916,\n\t0x670: 0x47f8, 0x671: 0x431e, 0x672: 0x3691, 0x673: 0x4324, 0x674: 0x4822, 0x675: 0x432a,\n\t0x676: 0x36a3, 0x677: 0x4330, 0x678: 0x36c1, 0x679: 0x4336, 0x67a: 0x36d9, 0x67b: 0x433c,\n\t0x67c: 0x4870, 0x67d: 0x4342,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x3da0, 0x681: 0x3da8, 0x682: 0x4184, 0x683: 0x41a2, 0x684: 0x418e, 0x685: 0x41ac,\n\t0x686: 0x4198, 0x687: 0x41b6, 0x688: 0x3cd8, 0x689: 0x3ce0, 0x68a: 0x40d0, 0x68b: 0x40ee,\n\t0x68c: 0x40da, 0x68d: 0x40f8, 0x68e: 0x40e4, 0x68f: 0x4102, 0x690: 0x3de8, 0x691: 0x3df0,\n\t0x692: 0x41c0, 0x693: 0x41de, 0x694: 0x41ca, 0x695: 0x41e8, 0x696: 0x41d4, 0x697: 0x41f2,\n\t0x698: 0x3d08, 0x699: 0x3d10, 0x69a: 0x410c, 0x69b: 0x412a, 0x69c: 0x4116, 0x69d: 0x4134,\n\t0x69e: 0x4120, 0x69f: 0x413e, 0x6a0: 0x3ec0, 0x6a1: 0x3ec8, 0x6a2: 0x41fc, 0x6a3: 0x421a,\n\t0x6a4: 0x4206, 0x6a5: 0x4224, 0x6a6: 0x4210, 0x6a7: 0x422e, 0x6a8: 0x3d80, 0x6a9: 0x3d88,\n\t0x6aa: 0x4148, 0x6ab: 0x4166, 0x6ac: 0x4152, 0x6ad: 0x4170, 0x6ae: 0x415c, 0x6af: 0x417a,\n\t0x6b0: 0x3685, 0x6b1: 0x367f, 0x6b2: 0x3d90, 0x6b3: 0x368b, 0x6b4: 0x3d98,\n\t0x6b6: 0x4810, 0x6b7: 0x3db0, 0x6b8: 0x35f5, 0x6b9: 0x35ef, 0x6ba: 0x35e3, 0x6bb: 0x42ee,\n\t0x6bc: 0x35fb, 0x6bd: 0x4287, 0x6be: 0x01d3, 0x6bf: 0x4287,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c0: 0x42a0, 0x6c1: 0x4482, 0x6c2: 0x3dd8, 0x6c3: 0x369d, 0x6c4: 0x3de0,\n\t0x6c6: 0x483a, 0x6c7: 0x3df8, 0x6c8: 0x3601, 0x6c9: 0x42f4, 0x6ca: 0x360d, 0x6cb: 0x42fa,\n\t0x6cc: 0x3619, 0x6cd: 0x4489, 0x6ce: 0x4490, 0x6cf: 0x4497, 0x6d0: 0x36b5, 0x6d1: 0x36af,\n\t0x6d2: 0x3e00, 0x6d3: 0x44e4, 0x6d6: 0x36bb, 0x6d7: 0x3e10,\n\t0x6d8: 0x3631, 0x6d9: 0x362b, 0x6da: 0x361f, 0x6db: 0x4300, 0x6dd: 0x449e,\n\t0x6de: 0x44a5, 0x6df: 0x44ac, 0x6e0: 0x36eb, 0x6e1: 0x36e5, 0x6e2: 0x3e68, 0x6e3: 0x44ec,\n\t0x6e4: 0x36cd, 0x6e5: 0x36d3, 0x6e6: 0x36f1, 0x6e7: 0x3e78, 0x6e8: 0x3661, 0x6e9: 0x365b,\n\t0x6ea: 0x364f, 0x6eb: 0x430c, 0x6ec: 0x3649, 0x6ed: 0x4474, 0x6ee: 0x447b, 0x6ef: 0x0081,\n\t0x6f2: 0x3eb0, 0x6f3: 0x36f7, 0x6f4: 0x3eb8,\n\t0x6f6: 0x4888, 0x6f7: 0x3ed0, 0x6f8: 0x363d, 0x6f9: 0x4306, 0x6fa: 0x366d, 0x6fb: 0x4318,\n\t0x6fc: 0x3679, 0x6fd: 0x425a, 0x6fe: 0x428c,\n\t// Block 0x1c, offset 0x700\n\t0x700: 0x1bd8, 0x701: 0x1bdc, 0x702: 0x0047, 0x703: 0x1c54, 0x705: 0x1be8,\n\t0x706: 0x1bec, 0x707: 0x00e9, 0x709: 0x1c58, 0x70a: 0x008f, 0x70b: 0x0051,\n\t0x70c: 0x0051, 0x70d: 0x0051, 0x70e: 0x0091, 0x70f: 0x00da, 0x710: 0x0053, 0x711: 0x0053,\n\t0x712: 0x0059, 0x713: 0x0099, 0x715: 0x005d, 0x716: 0x198d,\n\t0x719: 0x0061, 0x71a: 0x0063, 0x71b: 0x0065, 0x71c: 0x0065, 0x71d: 0x0065,\n\t0x720: 0x199f, 0x721: 0x1bc8, 0x722: 0x19a8,\n\t0x724: 0x0075, 0x726: 0x01b8, 0x728: 0x0075,\n\t0x72a: 0x0057, 0x72b: 0x42d2, 0x72c: 0x0045, 0x72d: 0x0047, 0x72f: 0x008b,\n\t0x730: 0x004b, 0x731: 0x004d, 0x733: 0x005b, 0x734: 0x009f, 0x735: 0x0215,\n\t0x736: 0x0218, 0x737: 0x021b, 0x738: 0x021e, 0x739: 0x0093, 0x73b: 0x1b98,\n\t0x73c: 0x01e8, 0x73d: 0x01c1, 0x73e: 0x0179, 0x73f: 0x01a0,\n\t// Block 0x1d, offset 0x740\n\t0x740: 0x0463, 0x745: 0x0049,\n\t0x746: 0x0089, 0x747: 0x008b, 0x748: 0x0093, 0x749: 0x0095,\n\t0x750: 0x222e, 0x751: 0x223a,\n\t0x752: 0x22ee, 0x753: 0x2216, 0x754: 0x229a, 0x755: 0x2222, 0x756: 0x22a0, 0x757: 0x22b8,\n\t0x758: 0x22c4, 0x759: 0x2228, 0x75a: 0x22ca, 0x75b: 0x2234, 0x75c: 0x22be, 0x75d: 0x22d0,\n\t0x75e: 0x22d6, 0x75f: 0x1cbc, 0x760: 0x0053, 0x761: 0x195a, 0x762: 0x1ba4, 0x763: 0x1963,\n\t0x764: 0x006d, 0x765: 0x19ab, 0x766: 0x1bd0, 0x767: 0x1d48, 0x768: 0x1966, 0x769: 0x0071,\n\t0x76a: 0x19b7, 0x76b: 0x1bd4, 0x76c: 0x0059, 0x76d: 0x0047, 0x76e: 0x0049, 0x76f: 0x005b,\n\t0x770: 0x0093, 0x771: 0x19e4, 0x772: 0x1c18, 0x773: 0x19ed, 0x774: 0x00ad, 0x775: 0x1a62,\n\t0x776: 0x1c4c, 0x777: 0x1d5c, 0x778: 0x19f0, 0x779: 0x00b1, 0x77a: 0x1a65, 0x77b: 0x1c50,\n\t0x77c: 0x0099, 0x77d: 0x0087, 0x77e: 0x0089, 0x77f: 0x009b,\n\t// Block 0x1e, offset 0x780\n\t0x781: 0x3c06, 0x783: 0xa000, 0x784: 0x3c0d, 0x785: 0xa000,\n\t0x787: 0x3c14, 0x788: 0xa000, 0x789: 0x3c1b,\n\t0x78d: 0xa000,\n\t0x7a0: 0x2f65, 0x7a1: 0xa000, 0x7a2: 0x3c29,\n\t0x7a4: 0xa000, 0x7a5: 0xa000,\n\t0x7ad: 0x3c22, 0x7ae: 0x2f60, 0x7af: 0x2f6a,\n\t0x7b0: 0x3c30, 0x7b1: 0x3c37, 0x7b2: 0xa000, 0x7b3: 0xa000, 0x7b4: 0x3c3e, 0x7b5: 0x3c45,\n\t0x7b6: 0xa000, 0x7b7: 0xa000, 0x7b8: 0x3c4c, 0x7b9: 0x3c53, 0x7ba: 0xa000, 0x7bb: 0xa000,\n\t0x7bc: 0xa000, 0x7bd: 0xa000,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c0: 0x3c5a, 0x7c1: 0x3c61, 0x7c2: 0xa000, 0x7c3: 0xa000, 0x7c4: 0x3c76, 0x7c5: 0x3c7d,\n\t0x7c6: 0xa000, 0x7c7: 0xa000, 0x7c8: 0x3c84, 0x7c9: 0x3c8b,\n\t0x7d1: 0xa000,\n\t0x7d2: 0xa000,\n\t0x7e2: 0xa000,\n\t0x7e8: 0xa000, 0x7e9: 0xa000,\n\t0x7eb: 0xa000, 0x7ec: 0x3ca0, 0x7ed: 0x3ca7, 0x7ee: 0x3cae, 0x7ef: 0x3cb5,\n\t0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0xa000, 0x7f5: 0xa000,\n\t// Block 0x20, offset 0x800\n\t0x820: 0x0023, 0x821: 0x0025, 0x822: 0x0027, 0x823: 0x0029,\n\t0x824: 0x002b, 0x825: 0x002d, 0x826: 0x002f, 0x827: 0x0031, 0x828: 0x0033, 0x829: 0x1882,\n\t0x82a: 0x1885, 0x82b: 0x1888, 0x82c: 0x188b, 0x82d: 0x188e, 0x82e: 0x1891, 0x82f: 0x1894,\n\t0x830: 0x1897, 0x831: 0x189a, 0x832: 0x189d, 0x833: 0x18a6, 0x834: 0x1a68, 0x835: 0x1a6c,\n\t0x836: 0x1a70, 0x837: 0x1a74, 0x838: 0x1a78, 0x839: 0x1a7c, 0x83a: 0x1a80, 0x83b: 0x1a84,\n\t0x83c: 0x1a88, 0x83d: 0x1c80, 0x83e: 0x1c85, 0x83f: 0x1c8a,\n\t// Block 0x21, offset 0x840\n\t0x840: 0x1c8f, 0x841: 0x1c94, 0x842: 0x1c99, 0x843: 0x1c9e, 0x844: 0x1ca3, 0x845: 0x1ca8,\n\t0x846: 0x1cad, 0x847: 0x1cb2, 0x848: 0x187f, 0x849: 0x18a3, 0x84a: 0x18c7, 0x84b: 0x18eb,\n\t0x84c: 0x190f, 0x84d: 0x1918, 0x84e: 0x191e, 0x84f: 0x1924, 0x850: 0x192a, 0x851: 0x1b60,\n\t0x852: 0x1b64, 0x853: 0x1b68, 0x854: 0x1b6c, 0x855: 0x1b70, 0x856: 0x1b74, 0x857: 0x1b78,\n\t0x858: 0x1b7c, 0x859: 0x1b80, 0x85a: 0x1b84, 0x85b: 0x1b88, 0x85c: 0x1af4, 0x85d: 0x1af8,\n\t0x85e: 0x1afc, 0x85f: 0x1b00, 0x860: 0x1b04, 0x861: 0x1b08, 0x862: 0x1b0c, 0x863: 0x1b10,\n\t0x864: 0x1b14, 0x865: 0x1b18, 0x866: 0x1b1c, 0x867: 0x1b20, 0x868: 0x1b24, 0x869: 0x1b28,\n\t0x86a: 0x1b2c, 0x86b: 0x1b30, 0x86c: 0x1b34, 0x86d: 0x1b38, 0x86e: 0x1b3c, 0x86f: 0x1b40,\n\t0x870: 0x1b44, 0x871: 0x1b48, 0x872: 0x1b4c, 0x873: 0x1b50, 0x874: 0x1b54, 0x875: 0x1b58,\n\t0x876: 0x0043, 0x877: 0x0045, 0x878: 0x0047, 0x879: 0x0049, 0x87a: 0x004b, 0x87b: 0x004d,\n\t0x87c: 0x004f, 0x87d: 0x0051, 0x87e: 0x0053, 0x87f: 0x0055,\n\t// Block 0x22, offset 0x880\n\t0x880: 0x06bf, 0x881: 0x06e3, 0x882: 0x06ef, 0x883: 0x06ff, 0x884: 0x0707, 0x885: 0x0713,\n\t0x886: 0x071b, 0x887: 0x0723, 0x888: 0x072f, 0x889: 0x0783, 0x88a: 0x079b, 0x88b: 0x07ab,\n\t0x88c: 0x07bb, 0x88d: 0x07cb, 0x88e: 0x07db, 0x88f: 0x07fb, 0x890: 0x07ff, 0x891: 0x0803,\n\t0x892: 0x0837, 0x893: 0x085f, 0x894: 0x086f, 0x895: 0x0877, 0x896: 0x087b, 0x897: 0x0887,\n\t0x898: 0x08a3, 0x899: 0x08a7, 0x89a: 0x08bf, 0x89b: 0x08c3, 0x89c: 0x08cb, 0x89d: 0x08db,\n\t0x89e: 0x0977, 0x89f: 0x098b, 0x8a0: 0x09cb, 0x8a1: 0x09df, 0x8a2: 0x09e7, 0x8a3: 0x09eb,\n\t0x8a4: 0x09fb, 0x8a5: 0x0a17, 0x8a6: 0x0a43, 0x8a7: 0x0a4f, 0x8a8: 0x0a6f, 0x8a9: 0x0a7b,\n\t0x8aa: 0x0a7f, 0x8ab: 0x0a83, 0x8ac: 0x0a9b, 0x8ad: 0x0a9f, 0x8ae: 0x0acb, 0x8af: 0x0ad7,\n\t0x8b0: 0x0adf, 0x8b1: 0x0ae7, 0x8b2: 0x0af7, 0x8b3: 0x0aff, 0x8b4: 0x0b07, 0x8b5: 0x0b33,\n\t0x8b6: 0x0b37, 0x8b7: 0x0b3f, 0x8b8: 0x0b43, 0x8b9: 0x0b4b, 0x8ba: 0x0b53, 0x8bb: 0x0b63,\n\t0x8bc: 0x0b7f, 0x8bd: 0x0bf7, 0x8be: 0x0c0b, 0x8bf: 0x0c0f,\n\t// Block 0x23, offset 0x8c0\n\t0x8c0: 0x0c8f, 0x8c1: 0x0c93, 0x8c2: 0x0ca7, 0x8c3: 0x0cab, 0x8c4: 0x0cb3, 0x8c5: 0x0cbb,\n\t0x8c6: 0x0cc3, 0x8c7: 0x0ccf, 0x8c8: 0x0cf7, 0x8c9: 0x0d07, 0x8ca: 0x0d1b, 0x8cb: 0x0d8b,\n\t0x8cc: 0x0d97, 0x8cd: 0x0da7, 0x8ce: 0x0db3, 0x8cf: 0x0dbf, 0x8d0: 0x0dc7, 0x8d1: 0x0dcb,\n\t0x8d2: 0x0dcf, 0x8d3: 0x0dd3, 0x8d4: 0x0dd7, 0x8d5: 0x0e8f, 0x8d6: 0x0ed7, 0x8d7: 0x0ee3,\n\t0x8d8: 0x0ee7, 0x8d9: 0x0eeb, 0x8da: 0x0eef, 0x8db: 0x0ef7, 0x8dc: 0x0efb, 0x8dd: 0x0f0f,\n\t0x8de: 0x0f2b, 0x8df: 0x0f33, 0x8e0: 0x0f73, 0x8e1: 0x0f77, 0x8e2: 0x0f7f, 0x8e3: 0x0f83,\n\t0x8e4: 0x0f8b, 0x8e5: 0x0f8f, 0x8e6: 0x0fb3, 0x8e7: 0x0fb7, 0x8e8: 0x0fd3, 0x8e9: 0x0fd7,\n\t0x8ea: 0x0fdb, 0x8eb: 0x0fdf, 0x8ec: 0x0ff3, 0x8ed: 0x1017, 0x8ee: 0x101b, 0x8ef: 0x101f,\n\t0x8f0: 0x1043, 0x8f1: 0x1083, 0x8f2: 0x1087, 0x8f3: 0x10a7, 0x8f4: 0x10b7, 0x8f5: 0x10bf,\n\t0x8f6: 0x10df, 0x8f7: 0x1103, 0x8f8: 0x1147, 0x8f9: 0x114f, 0x8fa: 0x1163, 0x8fb: 0x116f,\n\t0x8fc: 0x1177, 0x8fd: 0x117f, 0x8fe: 0x1183, 0x8ff: 0x1187,\n\t// Block 0x24, offset 0x900\n\t0x900: 0x119f, 0x901: 0x11a3, 0x902: 0x11bf, 0x903: 0x11c7, 0x904: 0x11cf, 0x905: 0x11d3,\n\t0x906: 0x11df, 0x907: 0x11e7, 0x908: 0x11eb, 0x909: 0x11ef, 0x90a: 0x11f7, 0x90b: 0x11fb,\n\t0x90c: 0x129b, 0x90d: 0x12af, 0x90e: 0x12e3, 0x90f: 0x12e7, 0x910: 0x12ef, 0x911: 0x131b,\n\t0x912: 0x1323, 0x913: 0x132b, 0x914: 0x1333, 0x915: 0x136f, 0x916: 0x1373, 0x917: 0x137b,\n\t0x918: 0x137f, 0x919: 0x1383, 0x91a: 0x13af, 0x91b: 0x13b3, 0x91c: 0x13bb, 0x91d: 0x13cf,\n\t0x91e: 0x13d3, 0x91f: 0x13ef, 0x920: 0x13f7, 0x921: 0x13fb, 0x922: 0x141f, 0x923: 0x143f,\n\t0x924: 0x1453, 0x925: 0x1457, 0x926: 0x145f, 0x927: 0x148b, 0x928: 0x148f, 0x929: 0x149f,\n\t0x92a: 0x14c3, 0x92b: 0x14cf, 0x92c: 0x14df, 0x92d: 0x14f7, 0x92e: 0x14ff, 0x92f: 0x1503,\n\t0x930: 0x1507, 0x931: 0x150b, 0x932: 0x1517, 0x933: 0x151b, 0x934: 0x1523, 0x935: 0x153f,\n\t0x936: 0x1543, 0x937: 0x1547, 0x938: 0x155f, 0x939: 0x1563, 0x93a: 0x156b, 0x93b: 0x157f,\n\t0x93c: 0x1583, 0x93d: 0x1587, 0x93e: 0x158f, 0x93f: 0x1593,\n\t// Block 0x25, offset 0x940\n\t0x946: 0xa000, 0x94b: 0xa000,\n\t0x94c: 0x3f08, 0x94d: 0xa000, 0x94e: 0x3f10, 0x94f: 0xa000, 0x950: 0x3f18, 0x951: 0xa000,\n\t0x952: 0x3f20, 0x953: 0xa000, 0x954: 0x3f28, 0x955: 0xa000, 0x956: 0x3f30, 0x957: 0xa000,\n\t0x958: 0x3f38, 0x959: 0xa000, 0x95a: 0x3f40, 0x95b: 0xa000, 0x95c: 0x3f48, 0x95d: 0xa000,\n\t0x95e: 0x3f50, 0x95f: 0xa000, 0x960: 0x3f58, 0x961: 0xa000, 0x962: 0x3f60,\n\t0x964: 0xa000, 0x965: 0x3f68, 0x966: 0xa000, 0x967: 0x3f70, 0x968: 0xa000, 0x969: 0x3f78,\n\t0x96f: 0xa000,\n\t0x970: 0x3f80, 0x971: 0x3f88, 0x972: 0xa000, 0x973: 0x3f90, 0x974: 0x3f98, 0x975: 0xa000,\n\t0x976: 0x3fa0, 0x977: 0x3fa8, 0x978: 0xa000, 0x979: 0x3fb0, 0x97a: 0x3fb8, 0x97b: 0xa000,\n\t0x97c: 0x3fc0, 0x97d: 0x3fc8,\n\t// Block 0x26, offset 0x980\n\t0x994: 0x3f00,\n\t0x999: 0x9903, 0x99a: 0x9903, 0x99b: 0x42dc, 0x99c: 0x42e2, 0x99d: 0xa000,\n\t0x99e: 0x3fd0, 0x99f: 0x26b4,\n\t0x9a6: 0xa000,\n\t0x9ab: 0xa000, 0x9ac: 0x3fe0, 0x9ad: 0xa000, 0x9ae: 0x3fe8, 0x9af: 0xa000,\n\t0x9b0: 0x3ff0, 0x9b1: 0xa000, 0x9b2: 0x3ff8, 0x9b3: 0xa000, 0x9b4: 0x4000, 0x9b5: 0xa000,\n\t0x9b6: 0x4008, 0x9b7: 0xa000, 0x9b8: 0x4010, 0x9b9: 0xa000, 0x9ba: 0x4018, 0x9bb: 0xa000,\n\t0x9bc: 0x4020, 0x9bd: 0xa000, 0x9be: 0x4028, 0x9bf: 0xa000,\n\t// Block 0x27, offset 0x9c0\n\t0x9c0: 0x4030, 0x9c1: 0xa000, 0x9c2: 0x4038, 0x9c4: 0xa000, 0x9c5: 0x4040,\n\t0x9c6: 0xa000, 0x9c7: 0x4048, 0x9c8: 0xa000, 0x9c9: 0x4050,\n\t0x9cf: 0xa000, 0x9d0: 0x4058, 0x9d1: 0x4060,\n\t0x9d2: 0xa000, 0x9d3: 0x4068, 0x9d4: 0x4070, 0x9d5: 0xa000, 0x9d6: 0x4078, 0x9d7: 0x4080,\n\t0x9d8: 0xa000, 0x9d9: 0x4088, 0x9da: 0x4090, 0x9db: 0xa000, 0x9dc: 0x4098, 0x9dd: 0x40a0,\n\t0x9ef: 0xa000,\n\t0x9f0: 0xa000, 0x9f1: 0xa000, 0x9f2: 0xa000, 0x9f4: 0x3fd8,\n\t0x9f7: 0x40a8, 0x9f8: 0x40b0, 0x9f9: 0x40b8, 0x9fa: 0x40c0,\n\t0x9fd: 0xa000, 0x9fe: 0x40c8, 0x9ff: 0x26c9,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x0367, 0xa01: 0x032b, 0xa02: 0x032f, 0xa03: 0x0333, 0xa04: 0x037b, 0xa05: 0x0337,\n\t0xa06: 0x033b, 0xa07: 0x033f, 0xa08: 0x0343, 0xa09: 0x0347, 0xa0a: 0x034b, 0xa0b: 0x034f,\n\t0xa0c: 0x0353, 0xa0d: 0x0357, 0xa0e: 0x035b, 0xa0f: 0x49bd, 0xa10: 0x49c3, 0xa11: 0x49c9,\n\t0xa12: 0x49cf, 0xa13: 0x49d5, 0xa14: 0x49db, 0xa15: 0x49e1, 0xa16: 0x49e7, 0xa17: 0x49ed,\n\t0xa18: 0x49f3, 0xa19: 0x49f9, 0xa1a: 0x49ff, 0xa1b: 0x4a05, 0xa1c: 0x4a0b, 0xa1d: 0x4a11,\n\t0xa1e: 0x4a17, 0xa1f: 0x4a1d, 0xa20: 0x4a23, 0xa21: 0x4a29, 0xa22: 0x4a2f, 0xa23: 0x4a35,\n\t0xa24: 0x03c3, 0xa25: 0x035f, 0xa26: 0x0363, 0xa27: 0x03e7, 0xa28: 0x03eb, 0xa29: 0x03ef,\n\t0xa2a: 0x03f3, 0xa2b: 0x03f7, 0xa2c: 0x03fb, 0xa2d: 0x03ff, 0xa2e: 0x036b, 0xa2f: 0x0403,\n\t0xa30: 0x0407, 0xa31: 0x036f, 0xa32: 0x0373, 0xa33: 0x0377, 0xa34: 0x037f, 0xa35: 0x0383,\n\t0xa36: 0x0387, 0xa37: 0x038b, 0xa38: 0x038f, 0xa39: 0x0393, 0xa3a: 0x0397, 0xa3b: 0x039b,\n\t0xa3c: 0x039f, 0xa3d: 0x03a3, 0xa3e: 0x03a7, 0xa3f: 0x03ab,\n\t// Block 0x29, offset 0xa40\n\t0xa40: 0x03af, 0xa41: 0x03b3, 0xa42: 0x040b, 0xa43: 0x040f, 0xa44: 0x03b7, 0xa45: 0x03bb,\n\t0xa46: 0x03bf, 0xa47: 0x03c7, 0xa48: 0x03cb, 0xa49: 0x03cf, 0xa4a: 0x03d3, 0xa4b: 0x03d7,\n\t0xa4c: 0x03db, 0xa4d: 0x03df, 0xa4e: 0x03e3,\n\t0xa52: 0x06bf, 0xa53: 0x071b, 0xa54: 0x06cb, 0xa55: 0x097b, 0xa56: 0x06cf, 0xa57: 0x06e7,\n\t0xa58: 0x06d3, 0xa59: 0x0f93, 0xa5a: 0x0707, 0xa5b: 0x06db, 0xa5c: 0x06c3, 0xa5d: 0x09ff,\n\t0xa5e: 0x098f, 0xa5f: 0x072f,\n\t// Block 0x2a, offset 0xa80\n\t0xa80: 0x2054, 0xa81: 0x205a, 0xa82: 0x2060, 0xa83: 0x2066, 0xa84: 0x206c, 0xa85: 0x2072,\n\t0xa86: 0x2078, 0xa87: 0x207e, 0xa88: 0x2084, 0xa89: 0x208a, 0xa8a: 0x2090, 0xa8b: 0x2096,\n\t0xa8c: 0x209c, 0xa8d: 0x20a2, 0xa8e: 0x2726, 0xa8f: 0x272f, 0xa90: 0x2738, 0xa91: 0x2741,\n\t0xa92: 0x274a, 0xa93: 0x2753, 0xa94: 0x275c, 0xa95: 0x2765, 0xa96: 0x276e, 0xa97: 0x2780,\n\t0xa98: 0x2789, 0xa99: 0x2792, 0xa9a: 0x279b, 0xa9b: 0x27a4, 0xa9c: 0x2777, 0xa9d: 0x2bac,\n\t0xa9e: 0x2aed, 0xaa0: 0x20a8, 0xaa1: 0x20c0, 0xaa2: 0x20b4, 0xaa3: 0x2108,\n\t0xaa4: 0x20c6, 0xaa5: 0x20e4, 0xaa6: 0x20ae, 0xaa7: 0x20de, 0xaa8: 0x20ba, 0xaa9: 0x20f0,\n\t0xaaa: 0x2120, 0xaab: 0x213e, 0xaac: 0x2138, 0xaad: 0x212c, 0xaae: 0x217a, 0xaaf: 0x210e,\n\t0xab0: 0x211a, 0xab1: 0x2132, 0xab2: 0x2126, 0xab3: 0x2150, 0xab4: 0x20fc, 0xab5: 0x2144,\n\t0xab6: 0x216e, 0xab7: 0x2156, 0xab8: 0x20ea, 0xab9: 0x20cc, 0xaba: 0x2102, 0xabb: 0x2114,\n\t0xabc: 0x214a, 0xabd: 0x20d2, 0xabe: 0x2174, 0xabf: 0x20f6,\n\t// Block 0x2b, offset 0xac0\n\t0xac0: 0x215c, 0xac1: 0x20d8, 0xac2: 0x2162, 0xac3: 0x2168, 0xac4: 0x092f, 0xac5: 0x0b03,\n\t0xac6: 0x0ca7, 0xac7: 0x10c7,\n\t0xad0: 0x1bc4, 0xad1: 0x18a9,\n\t0xad2: 0x18ac, 0xad3: 0x18af, 0xad4: 0x18b2, 0xad5: 0x18b5, 0xad6: 0x18b8, 0xad7: 0x18bb,\n\t0xad8: 0x18be, 0xad9: 0x18c1, 0xada: 0x18ca, 0xadb: 0x18cd, 0xadc: 0x18d0, 0xadd: 0x18d3,\n\t0xade: 0x18d6, 0xadf: 0x18d9, 0xae0: 0x0313, 0xae1: 0x031b, 0xae2: 0x031f, 0xae3: 0x0327,\n\t0xae4: 0x032b, 0xae5: 0x032f, 0xae6: 0x0337, 0xae7: 0x033f, 0xae8: 0x0343, 0xae9: 0x034b,\n\t0xaea: 0x034f, 0xaeb: 0x0353, 0xaec: 0x0357, 0xaed: 0x035b, 0xaee: 0x2e18, 0xaef: 0x2e20,\n\t0xaf0: 0x2e28, 0xaf1: 0x2e30, 0xaf2: 0x2e38, 0xaf3: 0x2e40, 0xaf4: 0x2e48, 0xaf5: 0x2e50,\n\t0xaf6: 0x2e60, 0xaf7: 0x2e68, 0xaf8: 0x2e70, 0xaf9: 0x2e78, 0xafa: 0x2e80, 0xafb: 0x2e88,\n\t0xafc: 0x2ed3, 0xafd: 0x2e9b, 0xafe: 0x2e58,\n\t// Block 0x2c, offset 0xb00\n\t0xb00: 0x06bf, 0xb01: 0x071b, 0xb02: 0x06cb, 0xb03: 0x097b, 0xb04: 0x071f, 0xb05: 0x07af,\n\t0xb06: 0x06c7, 0xb07: 0x07ab, 0xb08: 0x070b, 0xb09: 0x0887, 0xb0a: 0x0d07, 0xb0b: 0x0e8f,\n\t0xb0c: 0x0dd7, 0xb0d: 0x0d1b, 0xb0e: 0x145f, 0xb0f: 0x098b, 0xb10: 0x0ccf, 0xb11: 0x0d4b,\n\t0xb12: 0x0d0b, 0xb13: 0x104b, 0xb14: 0x08fb, 0xb15: 0x0f03, 0xb16: 0x1387, 0xb17: 0x105f,\n\t0xb18: 0x0843, 0xb19: 0x108f, 0xb1a: 0x0f9b, 0xb1b: 0x0a17, 0xb1c: 0x140f, 0xb1d: 0x077f,\n\t0xb1e: 0x08ab, 0xb1f: 0x0df7, 0xb20: 0x1527, 0xb21: 0x0743, 0xb22: 0x07d3, 0xb23: 0x0d9b,\n\t0xb24: 0x06cf, 0xb25: 0x06e7, 0xb26: 0x06d3, 0xb27: 0x0adb, 0xb28: 0x08ef, 0xb29: 0x087f,\n\t0xb2a: 0x0a57, 0xb2b: 0x0a4b, 0xb2c: 0x0feb, 0xb2d: 0x073f, 0xb2e: 0x139b, 0xb2f: 0x089b,\n\t0xb30: 0x09f3, 0xb31: 0x18dc, 0xb32: 0x18df, 0xb33: 0x18e2, 0xb34: 0x18e5, 0xb35: 0x18ee,\n\t0xb36: 0x18f1, 0xb37: 0x18f4, 0xb38: 0x18f7, 0xb39: 0x18fa, 0xb3a: 0x18fd, 0xb3b: 0x1900,\n\t0xb3c: 0x1903, 0xb3d: 0x1906, 0xb3e: 0x1909, 0xb3f: 0x1912,\n\t// Block 0x2d, offset 0xb40\n\t0xb40: 0x1cc6, 0xb41: 0x1cd5, 0xb42: 0x1ce4, 0xb43: 0x1cf3, 0xb44: 0x1d02, 0xb45: 0x1d11,\n\t0xb46: 0x1d20, 0xb47: 0x1d2f, 0xb48: 0x1d3e, 0xb49: 0x218c, 0xb4a: 0x219e, 0xb4b: 0x21b0,\n\t0xb4c: 0x1954, 0xb4d: 0x1c04, 0xb4e: 0x19d2, 0xb4f: 0x1ba8, 0xb50: 0x04cb, 0xb51: 0x04d3,\n\t0xb52: 0x04db, 0xb53: 0x04e3, 0xb54: 0x04eb, 0xb55: 0x04ef, 0xb56: 0x04f3, 0xb57: 0x04f7,\n\t0xb58: 0x04fb, 0xb59: 0x04ff, 0xb5a: 0x0503, 0xb5b: 0x0507, 0xb5c: 0x050b, 0xb5d: 0x050f,\n\t0xb5e: 0x0513, 0xb5f: 0x0517, 0xb60: 0x051b, 0xb61: 0x0523, 0xb62: 0x0527, 0xb63: 0x052b,\n\t0xb64: 0x052f, 0xb65: 0x0533, 0xb66: 0x0537, 0xb67: 0x053b, 0xb68: 0x053f, 0xb69: 0x0543,\n\t0xb6a: 0x0547, 0xb6b: 0x054b, 0xb6c: 0x054f, 0xb6d: 0x0553, 0xb6e: 0x0557, 0xb6f: 0x055b,\n\t0xb70: 0x055f, 0xb71: 0x0563, 0xb72: 0x0567, 0xb73: 0x056f, 0xb74: 0x0577, 0xb75: 0x057f,\n\t0xb76: 0x0583, 0xb77: 0x0587, 0xb78: 0x058b, 0xb79: 0x058f, 0xb7a: 0x0593, 0xb7b: 0x0597,\n\t0xb7c: 0x059b, 0xb7d: 0x059f, 0xb7e: 0x05a3,\n\t// Block 0x2e, offset 0xb80\n\t0xb80: 0x2b0c, 0xb81: 0x29a8, 0xb82: 0x2b1c, 0xb83: 0x2880, 0xb84: 0x2ee4, 0xb85: 0x288a,\n\t0xb86: 0x2894, 0xb87: 0x2f28, 0xb88: 0x29b5, 0xb89: 0x289e, 0xb8a: 0x28a8, 0xb8b: 0x28b2,\n\t0xb8c: 0x29dc, 0xb8d: 0x29e9, 0xb8e: 0x29c2, 0xb8f: 0x29cf, 0xb90: 0x2ea9, 0xb91: 0x29f6,\n\t0xb92: 0x2a03, 0xb93: 0x2bbe, 0xb94: 0x26bb, 0xb95: 0x2bd1, 0xb96: 0x2be4, 0xb97: 0x2b2c,\n\t0xb98: 0x2a10, 0xb99: 0x2bf7, 0xb9a: 0x2c0a, 0xb9b: 0x2a1d, 0xb9c: 0x28bc, 0xb9d: 0x28c6,\n\t0xb9e: 0x2eb7, 0xb9f: 0x2a2a, 0xba0: 0x2b3c, 0xba1: 0x2ef5, 0xba2: 0x28d0, 0xba3: 0x28da,\n\t0xba4: 0x2a37, 0xba5: 0x28e4, 0xba6: 0x28ee, 0xba7: 0x26d0, 0xba8: 0x26d7, 0xba9: 0x28f8,\n\t0xbaa: 0x2902, 0xbab: 0x2c1d, 0xbac: 0x2a44, 0xbad: 0x2b4c, 0xbae: 0x2c30, 0xbaf: 0x2a51,\n\t0xbb0: 0x2916, 0xbb1: 0x290c, 0xbb2: 0x2f3c, 0xbb3: 0x2a5e, 0xbb4: 0x2c43, 0xbb5: 0x2920,\n\t0xbb6: 0x2b5c, 0xbb7: 0x292a, 0xbb8: 0x2a78, 0xbb9: 0x2934, 0xbba: 0x2a85, 0xbbb: 0x2f06,\n\t0xbbc: 0x2a6b, 0xbbd: 0x2b6c, 0xbbe: 0x2a92, 0xbbf: 0x26de,\n\t// Block 0x2f, offset 0xbc0\n\t0xbc0: 0x2f17, 0xbc1: 0x293e, 0xbc2: 0x2948, 0xbc3: 0x2a9f, 0xbc4: 0x2952, 0xbc5: 0x295c,\n\t0xbc6: 0x2966, 0xbc7: 0x2b7c, 0xbc8: 0x2aac, 0xbc9: 0x26e5, 0xbca: 0x2c56, 0xbcb: 0x2e90,\n\t0xbcc: 0x2b8c, 0xbcd: 0x2ab9, 0xbce: 0x2ec5, 0xbcf: 0x2970, 0xbd0: 0x297a, 0xbd1: 0x2ac6,\n\t0xbd2: 0x26ec, 0xbd3: 0x2ad3, 0xbd4: 0x2b9c, 0xbd5: 0x26f3, 0xbd6: 0x2c69, 0xbd7: 0x2984,\n\t0xbd8: 0x1cb7, 0xbd9: 0x1ccb, 0xbda: 0x1cda, 0xbdb: 0x1ce9, 0xbdc: 0x1cf8, 0xbdd: 0x1d07,\n\t0xbde: 0x1d16, 0xbdf: 0x1d25, 0xbe0: 0x1d34, 0xbe1: 0x1d43, 0xbe2: 0x2192, 0xbe3: 0x21a4,\n\t0xbe4: 0x21b6, 0xbe5: 0x21c2, 0xbe6: 0x21ce, 0xbe7: 0x21da, 0xbe8: 0x21e6, 0xbe9: 0x21f2,\n\t0xbea: 0x21fe, 0xbeb: 0x220a, 0xbec: 0x2246, 0xbed: 0x2252, 0xbee: 0x225e, 0xbef: 0x226a,\n\t0xbf0: 0x2276, 0xbf1: 0x1c14, 0xbf2: 0x19c6, 0xbf3: 0x1936, 0xbf4: 0x1be4, 0xbf5: 0x1a47,\n\t0xbf6: 0x1a56, 0xbf7: 0x19cc, 0xbf8: 0x1bfc, 0xbf9: 0x1c00, 0xbfa: 0x1960, 0xbfb: 0x2701,\n\t0xbfc: 0x270f, 0xbfd: 0x26fa, 0xbfe: 0x2708, 0xbff: 0x2ae0,\n\t// Block 0x30, offset 0xc00\n\t0xc00: 0x1a4a, 0xc01: 0x1a32, 0xc02: 0x1c60, 0xc03: 0x1a1a, 0xc04: 0x19f3, 0xc05: 0x1969,\n\t0xc06: 0x1978, 0xc07: 0x1948, 0xc08: 0x1bf0, 0xc09: 0x1d52, 0xc0a: 0x1a4d, 0xc0b: 0x1a35,\n\t0xc0c: 0x1c64, 0xc0d: 0x1c70, 0xc0e: 0x1a26, 0xc0f: 0x19fc, 0xc10: 0x1957, 0xc11: 0x1c1c,\n\t0xc12: 0x1bb0, 0xc13: 0x1b9c, 0xc14: 0x1bcc, 0xc15: 0x1c74, 0xc16: 0x1a29, 0xc17: 0x19c9,\n\t0xc18: 0x19ff, 0xc19: 0x19de, 0xc1a: 0x1a41, 0xc1b: 0x1c78, 0xc1c: 0x1a2c, 0xc1d: 0x19c0,\n\t0xc1e: 0x1a02, 0xc1f: 0x1c3c, 0xc20: 0x1bf4, 0xc21: 0x1a14, 0xc22: 0x1c24, 0xc23: 0x1c40,\n\t0xc24: 0x1bf8, 0xc25: 0x1a17, 0xc26: 0x1c28, 0xc27: 0x22e8, 0xc28: 0x22fc, 0xc29: 0x1996,\n\t0xc2a: 0x1c20, 0xc2b: 0x1bb4, 0xc2c: 0x1ba0, 0xc2d: 0x1c48, 0xc2e: 0x2716, 0xc2f: 0x27ad,\n\t0xc30: 0x1a59, 0xc31: 0x1a44, 0xc32: 0x1c7c, 0xc33: 0x1a2f, 0xc34: 0x1a50, 0xc35: 0x1a38,\n\t0xc36: 0x1c68, 0xc37: 0x1a1d, 0xc38: 0x19f6, 0xc39: 0x1981, 0xc3a: 0x1a53, 0xc3b: 0x1a3b,\n\t0xc3c: 0x1c6c, 0xc3d: 0x1a20, 0xc3e: 0x19f9, 0xc3f: 0x1984,\n\t// Block 0x31, offset 0xc40\n\t0xc40: 0x1c2c, 0xc41: 0x1bb8, 0xc42: 0x1d4d, 0xc43: 0x1939, 0xc44: 0x19ba, 0xc45: 0x19bd,\n\t0xc46: 0x22f5, 0xc47: 0x1b94, 0xc48: 0x19c3, 0xc49: 0x194b, 0xc4a: 0x19e1, 0xc4b: 0x194e,\n\t0xc4c: 0x19ea, 0xc4d: 0x196c, 0xc4e: 0x196f, 0xc4f: 0x1a05, 0xc50: 0x1a0b, 0xc51: 0x1a0e,\n\t0xc52: 0x1c30, 0xc53: 0x1a11, 0xc54: 0x1a23, 0xc55: 0x1c38, 0xc56: 0x1c44, 0xc57: 0x1990,\n\t0xc58: 0x1d57, 0xc59: 0x1bbc, 0xc5a: 0x1993, 0xc5b: 0x1a5c, 0xc5c: 0x19a5, 0xc5d: 0x19b4,\n\t0xc5e: 0x22e2, 0xc5f: 0x22dc, 0xc60: 0x1cc1, 0xc61: 0x1cd0, 0xc62: 0x1cdf, 0xc63: 0x1cee,\n\t0xc64: 0x1cfd, 0xc65: 0x1d0c, 0xc66: 0x1d1b, 0xc67: 0x1d2a, 0xc68: 0x1d39, 0xc69: 0x2186,\n\t0xc6a: 0x2198, 0xc6b: 0x21aa, 0xc6c: 0x21bc, 0xc6d: 0x21c8, 0xc6e: 0x21d4, 0xc6f: 0x21e0,\n\t0xc70: 0x21ec, 0xc71: 0x21f8, 0xc72: 0x2204, 0xc73: 0x2240, 0xc74: 0x224c, 0xc75: 0x2258,\n\t0xc76: 0x2264, 0xc77: 0x2270, 0xc78: 0x227c, 0xc79: 0x2282, 0xc7a: 0x2288, 0xc7b: 0x228e,\n\t0xc7c: 0x2294, 0xc7d: 0x22a6, 0xc7e: 0x22ac, 0xc7f: 0x1c10,\n\t// Block 0x32, offset 0xc80\n\t0xc80: 0x1377, 0xc81: 0x0cfb, 0xc82: 0x13d3, 0xc83: 0x139f, 0xc84: 0x0e57, 0xc85: 0x06eb,\n\t0xc86: 0x08df, 0xc87: 0x162b, 0xc88: 0x162b, 0xc89: 0x0a0b, 0xc8a: 0x145f, 0xc8b: 0x0943,\n\t0xc8c: 0x0a07, 0xc8d: 0x0bef, 0xc8e: 0x0fcf, 0xc8f: 0x115f, 0xc90: 0x1297, 0xc91: 0x12d3,\n\t0xc92: 0x1307, 0xc93: 0x141b, 0xc94: 0x0d73, 0xc95: 0x0dff, 0xc96: 0x0eab, 0xc97: 0x0f43,\n\t0xc98: 0x125f, 0xc99: 0x1447, 0xc9a: 0x1573, 0xc9b: 0x070f, 0xc9c: 0x08b3, 0xc9d: 0x0d87,\n\t0xc9e: 0x0ecf, 0xc9f: 0x1293, 0xca0: 0x15c3, 0xca1: 0x0ab3, 0xca2: 0x0e77, 0xca3: 0x1283,\n\t0xca4: 0x1317, 0xca5: 0x0c23, 0xca6: 0x11bb, 0xca7: 0x12df, 0xca8: 0x0b1f, 0xca9: 0x0d0f,\n\t0xcaa: 0x0e17, 0xcab: 0x0f1b, 0xcac: 0x1427, 0xcad: 0x074f, 0xcae: 0x07e7, 0xcaf: 0x0853,\n\t0xcb0: 0x0c8b, 0xcb1: 0x0d7f, 0xcb2: 0x0ecb, 0xcb3: 0x0fef, 0xcb4: 0x1177, 0xcb5: 0x128b,\n\t0xcb6: 0x12a3, 0xcb7: 0x13c7, 0xcb8: 0x14ef, 0xcb9: 0x15a3, 0xcba: 0x15bf, 0xcbb: 0x102b,\n\t0xcbc: 0x106b, 0xcbd: 0x1123, 0xcbe: 0x1243, 0xcbf: 0x147b,\n\t// Block 0x33, offset 0xcc0\n\t0xcc0: 0x15cb, 0xcc1: 0x134b, 0xcc2: 0x09c7, 0xcc3: 0x0b3b, 0xcc4: 0x10db, 0xcc5: 0x119b,\n\t0xcc6: 0x0eff, 0xcc7: 0x1033, 0xcc8: 0x1397, 0xcc9: 0x14e7, 0xcca: 0x09c3, 0xccb: 0x0a8f,\n\t0xccc: 0x0d77, 0xccd: 0x0e2b, 0xcce: 0x0e5f, 0xccf: 0x1113, 0xcd0: 0x113b, 0xcd1: 0x14a7,\n\t0xcd2: 0x084f, 0xcd3: 0x11a7, 0xcd4: 0x07f3, 0xcd5: 0x07ef, 0xcd6: 0x1097, 0xcd7: 0x1127,\n\t0xcd8: 0x125b, 0xcd9: 0x14af, 0xcda: 0x1367, 0xcdb: 0x0c27, 0xcdc: 0x0d73, 0xcdd: 0x1357,\n\t0xcde: 0x06f7, 0xcdf: 0x0a63, 0xce0: 0x0b93, 0xce1: 0x0f2f, 0xce2: 0x0faf, 0xce3: 0x0873,\n\t0xce4: 0x103b, 0xce5: 0x075f, 0xce6: 0x0b77, 0xce7: 0x06d7, 0xce8: 0x0deb, 0xce9: 0x0ca3,\n\t0xcea: 0x110f, 0xceb: 0x08c7, 0xcec: 0x09b3, 0xced: 0x0ffb, 0xcee: 0x1263, 0xcef: 0x133b,\n\t0xcf0: 0x0db7, 0xcf1: 0x13f7, 0xcf2: 0x0de3, 0xcf3: 0x0c37, 0xcf4: 0x121b, 0xcf5: 0x0c57,\n\t0xcf6: 0x0fab, 0xcf7: 0x072b, 0xcf8: 0x07a7, 0xcf9: 0x07eb, 0xcfa: 0x0d53, 0xcfb: 0x10fb,\n\t0xcfc: 0x11f3, 0xcfd: 0x1347, 0xcfe: 0x145b, 0xcff: 0x085b,\n\t// Block 0x34, offset 0xd00\n\t0xd00: 0x090f, 0xd01: 0x0a17, 0xd02: 0x0b2f, 0xd03: 0x0cbf, 0xd04: 0x0e7b, 0xd05: 0x103f,\n\t0xd06: 0x1497, 0xd07: 0x157b, 0xd08: 0x15cf, 0xd09: 0x15e7, 0xd0a: 0x0837, 0xd0b: 0x0cf3,\n\t0xd0c: 0x0da3, 0xd0d: 0x13eb, 0xd0e: 0x0afb, 0xd0f: 0x0bd7, 0xd10: 0x0bf3, 0xd11: 0x0c83,\n\t0xd12: 0x0e6b, 0xd13: 0x0eb7, 0xd14: 0x0f67, 0xd15: 0x108b, 0xd16: 0x112f, 0xd17: 0x1193,\n\t0xd18: 0x13db, 0xd19: 0x126b, 0xd1a: 0x1403, 0xd1b: 0x147f, 0xd1c: 0x080f, 0xd1d: 0x083b,\n\t0xd1e: 0x0923, 0xd1f: 0x0ea7, 0xd20: 0x12f3, 0xd21: 0x133b, 0xd22: 0x0b1b, 0xd23: 0x0b8b,\n\t0xd24: 0x0c4f, 0xd25: 0x0daf, 0xd26: 0x10d7, 0xd27: 0x0f23, 0xd28: 0x073b, 0xd29: 0x097f,\n\t0xd2a: 0x0a63, 0xd2b: 0x0ac7, 0xd2c: 0x0b97, 0xd2d: 0x0f3f, 0xd2e: 0x0f5b, 0xd2f: 0x116b,\n\t0xd30: 0x118b, 0xd31: 0x1463, 0xd32: 0x14e3, 0xd33: 0x14f3, 0xd34: 0x152f, 0xd35: 0x0753,\n\t0xd36: 0x107f, 0xd37: 0x144f, 0xd38: 0x14cb, 0xd39: 0x0baf, 0xd3a: 0x0717, 0xd3b: 0x0777,\n\t0xd3c: 0x0a67, 0xd3d: 0x0a87, 0xd3e: 0x0caf, 0xd3f: 0x0d73,\n\t// Block 0x35, offset 0xd40\n\t0xd40: 0x0ec3, 0xd41: 0x0fcb, 0xd42: 0x1277, 0xd43: 0x1417, 0xd44: 0x1623, 0xd45: 0x0ce3,\n\t0xd46: 0x14a3, 0xd47: 0x0833, 0xd48: 0x0d2f, 0xd49: 0x0d3b, 0xd4a: 0x0e0f, 0xd4b: 0x0e47,\n\t0xd4c: 0x0f4b, 0xd4d: 0x0fa7, 0xd4e: 0x1027, 0xd4f: 0x110b, 0xd50: 0x153b, 0xd51: 0x07af,\n\t0xd52: 0x0c03, 0xd53: 0x14b3, 0xd54: 0x0767, 0xd55: 0x0aab, 0xd56: 0x0e2f, 0xd57: 0x13df,\n\t0xd58: 0x0b67, 0xd59: 0x0bb7, 0xd5a: 0x0d43, 0xd5b: 0x0f2f, 0xd5c: 0x14bb, 0xd5d: 0x0817,\n\t0xd5e: 0x08ff, 0xd5f: 0x0a97, 0xd60: 0x0cd3, 0xd61: 0x0d1f, 0xd62: 0x0d5f, 0xd63: 0x0df3,\n\t0xd64: 0x0f47, 0xd65: 0x0fbb, 0xd66: 0x1157, 0xd67: 0x12f7, 0xd68: 0x1303, 0xd69: 0x1457,\n\t0xd6a: 0x14d7, 0xd6b: 0x0883, 0xd6c: 0x0e4b, 0xd6d: 0x0903, 0xd6e: 0x0ec7, 0xd6f: 0x0f6b,\n\t0xd70: 0x1287, 0xd71: 0x14bf, 0xd72: 0x15ab, 0xd73: 0x15d3, 0xd74: 0x0d37, 0xd75: 0x0e27,\n\t0xd76: 0x11c3, 0xd77: 0x10b7, 0xd78: 0x10c3, 0xd79: 0x10e7, 0xd7a: 0x0f17, 0xd7b: 0x0e9f,\n\t0xd7c: 0x1363, 0xd7d: 0x0733, 0xd7e: 0x122b, 0xd7f: 0x081b,\n\t// Block 0x36, offset 0xd80\n\t0xd80: 0x080b, 0xd81: 0x0b0b, 0xd82: 0x0c2b, 0xd83: 0x10f3, 0xd84: 0x0a53, 0xd85: 0x0e03,\n\t0xd86: 0x0cef, 0xd87: 0x13e7, 0xd88: 0x12e7, 0xd89: 0x14ab, 0xd8a: 0x1323, 0xd8b: 0x0b27,\n\t0xd8c: 0x0787, 0xd8d: 0x095b, 0xd90: 0x09af,\n\t0xd92: 0x0cdf, 0xd95: 0x07f7, 0xd96: 0x0f1f, 0xd97: 0x0fe3,\n\t0xd98: 0x1047, 0xd99: 0x1063, 0xd9a: 0x1067, 0xd9b: 0x107b, 0xd9c: 0x14fb, 0xd9d: 0x10eb,\n\t0xd9e: 0x116f, 0xda0: 0x128f, 0xda2: 0x1353,\n\t0xda5: 0x1407, 0xda6: 0x1433,\n\t0xdaa: 0x154f, 0xdab: 0x1553, 0xdac: 0x1557, 0xdad: 0x15bb, 0xdae: 0x142b, 0xdaf: 0x14c7,\n\t0xdb0: 0x0757, 0xdb1: 0x077b, 0xdb2: 0x078f, 0xdb3: 0x084b, 0xdb4: 0x0857, 0xdb5: 0x0897,\n\t0xdb6: 0x094b, 0xdb7: 0x0967, 0xdb8: 0x096f, 0xdb9: 0x09ab, 0xdba: 0x09b7, 0xdbb: 0x0a93,\n\t0xdbc: 0x0a9b, 0xdbd: 0x0ba3, 0xdbe: 0x0bcb, 0xdbf: 0x0bd3,\n\t// Block 0x37, offset 0xdc0\n\t0xdc0: 0x0beb, 0xdc1: 0x0c97, 0xdc2: 0x0cc7, 0xdc3: 0x0ce7, 0xdc4: 0x0d57, 0xdc5: 0x0e1b,\n\t0xdc6: 0x0e37, 0xdc7: 0x0e67, 0xdc8: 0x0ebb, 0xdc9: 0x0edb, 0xdca: 0x0f4f, 0xdcb: 0x102f,\n\t0xdcc: 0x104b, 0xdcd: 0x1053, 0xdce: 0x104f, 0xdcf: 0x1057, 0xdd0: 0x105b, 0xdd1: 0x105f,\n\t0xdd2: 0x1073, 0xdd3: 0x1077, 0xdd4: 0x109b, 0xdd5: 0x10af, 0xdd6: 0x10cb, 0xdd7: 0x112f,\n\t0xdd8: 0x1137, 0xdd9: 0x113f, 0xdda: 0x1153, 0xddb: 0x117b, 0xddc: 0x11cb, 0xddd: 0x11ff,\n\t0xdde: 0x11ff, 0xddf: 0x1267, 0xde0: 0x130f, 0xde1: 0x1327, 0xde2: 0x135b, 0xde3: 0x135f,\n\t0xde4: 0x13a3, 0xde5: 0x13a7, 0xde6: 0x13ff, 0xde7: 0x1407, 0xde8: 0x14db, 0xde9: 0x151f,\n\t0xdea: 0x1537, 0xdeb: 0x0b9b, 0xdec: 0x171e, 0xded: 0x11e3,\n\t0xdf0: 0x06df, 0xdf1: 0x07e3, 0xdf2: 0x07a3, 0xdf3: 0x074b, 0xdf4: 0x078b, 0xdf5: 0x07b7,\n\t0xdf6: 0x0847, 0xdf7: 0x0863, 0xdf8: 0x094b, 0xdf9: 0x0937, 0xdfa: 0x0947, 0xdfb: 0x0963,\n\t0xdfc: 0x09af, 0xdfd: 0x09bf, 0xdfe: 0x0a03, 0xdff: 0x0a0f,\n\t// Block 0x38, offset 0xe00\n\t0xe00: 0x0a2b, 0xe01: 0x0a3b, 0xe02: 0x0b23, 0xe03: 0x0b2b, 0xe04: 0x0b5b, 0xe05: 0x0b7b,\n\t0xe06: 0x0bab, 0xe07: 0x0bc3, 0xe08: 0x0bb3, 0xe09: 0x0bd3, 0xe0a: 0x0bc7, 0xe0b: 0x0beb,\n\t0xe0c: 0x0c07, 0xe0d: 0x0c5f, 0xe0e: 0x0c6b, 0xe0f: 0x0c73, 0xe10: 0x0c9b, 0xe11: 0x0cdf,\n\t0xe12: 0x0d0f, 0xe13: 0x0d13, 0xe14: 0x0d27, 0xe15: 0x0da7, 0xe16: 0x0db7, 0xe17: 0x0e0f,\n\t0xe18: 0x0e5b, 0xe19: 0x0e53, 0xe1a: 0x0e67, 0xe1b: 0x0e83, 0xe1c: 0x0ebb, 0xe1d: 0x1013,\n\t0xe1e: 0x0edf, 0xe1f: 0x0f13, 0xe20: 0x0f1f, 0xe21: 0x0f5f, 0xe22: 0x0f7b, 0xe23: 0x0f9f,\n\t0xe24: 0x0fc3, 0xe25: 0x0fc7, 0xe26: 0x0fe3, 0xe27: 0x0fe7, 0xe28: 0x0ff7, 0xe29: 0x100b,\n\t0xe2a: 0x1007, 0xe2b: 0x1037, 0xe2c: 0x10b3, 0xe2d: 0x10cb, 0xe2e: 0x10e3, 0xe2f: 0x111b,\n\t0xe30: 0x112f, 0xe31: 0x114b, 0xe32: 0x117b, 0xe33: 0x122f, 0xe34: 0x1257, 0xe35: 0x12cb,\n\t0xe36: 0x1313, 0xe37: 0x131f, 0xe38: 0x1327, 0xe39: 0x133f, 0xe3a: 0x1353, 0xe3b: 0x1343,\n\t0xe3c: 0x135b, 0xe3d: 0x1357, 0xe3e: 0x134f, 0xe3f: 0x135f,\n\t// Block 0x39, offset 0xe40\n\t0xe40: 0x136b, 0xe41: 0x13a7, 0xe42: 0x13e3, 0xe43: 0x1413, 0xe44: 0x144b, 0xe45: 0x146b,\n\t0xe46: 0x14b7, 0xe47: 0x14db, 0xe48: 0x14fb, 0xe49: 0x150f, 0xe4a: 0x151f, 0xe4b: 0x152b,\n\t0xe4c: 0x1537, 0xe4d: 0x158b, 0xe4e: 0x162b, 0xe4f: 0x16b5, 0xe50: 0x16b0, 0xe51: 0x16e2,\n\t0xe52: 0x0607, 0xe53: 0x062f, 0xe54: 0x0633, 0xe55: 0x1764, 0xe56: 0x1791, 0xe57: 0x1809,\n\t0xe58: 0x1617, 0xe59: 0x1627,\n\t// Block 0x3a, offset 0xe80\n\t0xe80: 0x19d5, 0xe81: 0x19d8, 0xe82: 0x19db, 0xe83: 0x1c08, 0xe84: 0x1c0c, 0xe85: 0x1a5f,\n\t0xe86: 0x1a5f,\n\t0xe93: 0x1d75, 0xe94: 0x1d66, 0xe95: 0x1d6b, 0xe96: 0x1d7a, 0xe97: 0x1d70,\n\t0xe9d: 0x4390,\n\t0xe9e: 0x8115, 0xe9f: 0x4402, 0xea0: 0x022d, 0xea1: 0x0215, 0xea2: 0x021e, 0xea3: 0x0221,\n\t0xea4: 0x0224, 0xea5: 0x0227, 0xea6: 0x022a, 0xea7: 0x0230, 0xea8: 0x0233, 0xea9: 0x0017,\n\t0xeaa: 0x43f0, 0xeab: 0x43f6, 0xeac: 0x44f4, 0xead: 0x44fc, 0xeae: 0x4348, 0xeaf: 0x434e,\n\t0xeb0: 0x4354, 0xeb1: 0x435a, 0xeb2: 0x4366, 0xeb3: 0x436c, 0xeb4: 0x4372, 0xeb5: 0x437e,\n\t0xeb6: 0x4384, 0xeb8: 0x438a, 0xeb9: 0x4396, 0xeba: 0x439c, 0xebb: 0x43a2,\n\t0xebc: 0x43ae, 0xebe: 0x43b4,\n\t// Block 0x3b, offset 0xec0\n\t0xec0: 0x43ba, 0xec1: 0x43c0, 0xec3: 0x43c6, 0xec4: 0x43cc,\n\t0xec6: 0x43d8, 0xec7: 0x43de, 0xec8: 0x43e4, 0xec9: 0x43ea, 0xeca: 0x43fc, 0xecb: 0x4378,\n\t0xecc: 0x4360, 0xecd: 0x43a8, 0xece: 0x43d2, 0xecf: 0x1d7f, 0xed0: 0x0299, 0xed1: 0x0299,\n\t0xed2: 0x02a2, 0xed3: 0x02a2, 0xed4: 0x02a2, 0xed5: 0x02a2, 0xed6: 0x02a5, 0xed7: 0x02a5,\n\t0xed8: 0x02a5, 0xed9: 0x02a5, 0xeda: 0x02ab, 0xedb: 0x02ab, 0xedc: 0x02ab, 0xedd: 0x02ab,\n\t0xede: 0x029f, 0xedf: 0x029f, 0xee0: 0x029f, 0xee1: 0x029f, 0xee2: 0x02a8, 0xee3: 0x02a8,\n\t0xee4: 0x02a8, 0xee5: 0x02a8, 0xee6: 0x029c, 0xee7: 0x029c, 0xee8: 0x029c, 0xee9: 0x029c,\n\t0xeea: 0x02cf, 0xeeb: 0x02cf, 0xeec: 0x02cf, 0xeed: 0x02cf, 0xeee: 0x02d2, 0xeef: 0x02d2,\n\t0xef0: 0x02d2, 0xef1: 0x02d2, 0xef2: 0x02b1, 0xef3: 0x02b1, 0xef4: 0x02b1, 0xef5: 0x02b1,\n\t0xef6: 0x02ae, 0xef7: 0x02ae, 0xef8: 0x02ae, 0xef9: 0x02ae, 0xefa: 0x02b4, 0xefb: 0x02b4,\n\t0xefc: 0x02b4, 0xefd: 0x02b4, 0xefe: 0x02b7, 0xeff: 0x02b7,\n\t// Block 0x3c, offset 0xf00\n\t0xf00: 0x02b7, 0xf01: 0x02b7, 0xf02: 0x02c0, 0xf03: 0x02c0, 0xf04: 0x02bd, 0xf05: 0x02bd,\n\t0xf06: 0x02c3, 0xf07: 0x02c3, 0xf08: 0x02ba, 0xf09: 0x02ba, 0xf0a: 0x02c9, 0xf0b: 0x02c9,\n\t0xf0c: 0x02c6, 0xf0d: 0x02c6, 0xf0e: 0x02d5, 0xf0f: 0x02d5, 0xf10: 0x02d5, 0xf11: 0x02d5,\n\t0xf12: 0x02db, 0xf13: 0x02db, 0xf14: 0x02db, 0xf15: 0x02db, 0xf16: 0x02e1, 0xf17: 0x02e1,\n\t0xf18: 0x02e1, 0xf19: 0x02e1, 0xf1a: 0x02de, 0xf1b: 0x02de, 0xf1c: 0x02de, 0xf1d: 0x02de,\n\t0xf1e: 0x02e4, 0xf1f: 0x02e4, 0xf20: 0x02e7, 0xf21: 0x02e7, 0xf22: 0x02e7, 0xf23: 0x02e7,\n\t0xf24: 0x446e, 0xf25: 0x446e, 0xf26: 0x02ed, 0xf27: 0x02ed, 0xf28: 0x02ed, 0xf29: 0x02ed,\n\t0xf2a: 0x02ea, 0xf2b: 0x02ea, 0xf2c: 0x02ea, 0xf2d: 0x02ea, 0xf2e: 0x0308, 0xf2f: 0x0308,\n\t0xf30: 0x4468, 0xf31: 0x4468,\n\t// Block 0x3d, offset 0xf40\n\t0xf53: 0x02d8, 0xf54: 0x02d8, 0xf55: 0x02d8, 0xf56: 0x02d8, 0xf57: 0x02f6,\n\t0xf58: 0x02f6, 0xf59: 0x02f3, 0xf5a: 0x02f3, 0xf5b: 0x02f9, 0xf5c: 0x02f9, 0xf5d: 0x204f,\n\t0xf5e: 0x02ff, 0xf5f: 0x02ff, 0xf60: 0x02f0, 0xf61: 0x02f0, 0xf62: 0x02fc, 0xf63: 0x02fc,\n\t0xf64: 0x0305, 0xf65: 0x0305, 0xf66: 0x0305, 0xf67: 0x0305, 0xf68: 0x028d, 0xf69: 0x028d,\n\t0xf6a: 0x25aa, 0xf6b: 0x25aa, 0xf6c: 0x261a, 0xf6d: 0x261a, 0xf6e: 0x25e9, 0xf6f: 0x25e9,\n\t0xf70: 0x2605, 0xf71: 0x2605, 0xf72: 0x25fe, 0xf73: 0x25fe, 0xf74: 0x260c, 0xf75: 0x260c,\n\t0xf76: 0x2613, 0xf77: 0x2613, 0xf78: 0x2613, 0xf79: 0x25f0, 0xf7a: 0x25f0, 0xf7b: 0x25f0,\n\t0xf7c: 0x0302, 0xf7d: 0x0302, 0xf7e: 0x0302, 0xf7f: 0x0302,\n\t// Block 0x3e, offset 0xf80\n\t0xf80: 0x25b1, 0xf81: 0x25b8, 0xf82: 0x25d4, 0xf83: 0x25f0, 0xf84: 0x25f7, 0xf85: 0x1d89,\n\t0xf86: 0x1d8e, 0xf87: 0x1d93, 0xf88: 0x1da2, 0xf89: 0x1db1, 0xf8a: 0x1db6, 0xf8b: 0x1dbb,\n\t0xf8c: 0x1dc0, 0xf8d: 0x1dc5, 0xf8e: 0x1dd4, 0xf8f: 0x1de3, 0xf90: 0x1de8, 0xf91: 0x1ded,\n\t0xf92: 0x1dfc, 0xf93: 0x1e0b, 0xf94: 0x1e10, 0xf95: 0x1e15, 0xf96: 0x1e1a, 0xf97: 0x1e29,\n\t0xf98: 0x1e2e, 0xf99: 0x1e3d, 0xf9a: 0x1e42, 0xf9b: 0x1e47, 0xf9c: 0x1e56, 0xf9d: 0x1e5b,\n\t0xf9e: 0x1e60, 0xf9f: 0x1e6a, 0xfa0: 0x1ea6, 0xfa1: 0x1eb5, 0xfa2: 0x1ec4, 0xfa3: 0x1ec9,\n\t0xfa4: 0x1ece, 0xfa5: 0x1ed8, 0xfa6: 0x1ee7, 0xfa7: 0x1eec, 0xfa8: 0x1efb, 0xfa9: 0x1f00,\n\t0xfaa: 0x1f05, 0xfab: 0x1f14, 0xfac: 0x1f19, 0xfad: 0x1f28, 0xfae: 0x1f2d, 0xfaf: 0x1f32,\n\t0xfb0: 0x1f37, 0xfb1: 0x1f3c, 0xfb2: 0x1f41, 0xfb3: 0x1f46, 0xfb4: 0x1f4b, 0xfb5: 0x1f50,\n\t0xfb6: 0x1f55, 0xfb7: 0x1f5a, 0xfb8: 0x1f5f, 0xfb9: 0x1f64, 0xfba: 0x1f69, 0xfbb: 0x1f6e,\n\t0xfbc: 0x1f73, 0xfbd: 0x1f78, 0xfbe: 0x1f7d, 0xfbf: 0x1f87,\n\t// Block 0x3f, offset 0xfc0\n\t0xfc0: 0x1f8c, 0xfc1: 0x1f91, 0xfc2: 0x1f96, 0xfc3: 0x1fa0, 0xfc4: 0x1fa5, 0xfc5: 0x1faf,\n\t0xfc6: 0x1fb4, 0xfc7: 0x1fb9, 0xfc8: 0x1fbe, 0xfc9: 0x1fc3, 0xfca: 0x1fc8, 0xfcb: 0x1fcd,\n\t0xfcc: 0x1fd2, 0xfcd: 0x1fd7, 0xfce: 0x1fe6, 0xfcf: 0x1ff5, 0xfd0: 0x1ffa, 0xfd1: 0x1fff,\n\t0xfd2: 0x2004, 0xfd3: 0x2009, 0xfd4: 0x200e, 0xfd5: 0x2018, 0xfd6: 0x201d, 0xfd7: 0x2022,\n\t0xfd8: 0x2031, 0xfd9: 0x2040, 0xfda: 0x2045, 0xfdb: 0x4420, 0xfdc: 0x4426, 0xfdd: 0x445c,\n\t0xfde: 0x44b3, 0xfdf: 0x44ba, 0xfe0: 0x44c1, 0xfe1: 0x44c8, 0xfe2: 0x44cf, 0xfe3: 0x44d6,\n\t0xfe4: 0x25c6, 0xfe5: 0x25cd, 0xfe6: 0x25d4, 0xfe7: 0x25db, 0xfe8: 0x25f0, 0xfe9: 0x25f7,\n\t0xfea: 0x1d98, 0xfeb: 0x1d9d, 0xfec: 0x1da2, 0xfed: 0x1da7, 0xfee: 0x1db1, 0xfef: 0x1db6,\n\t0xff0: 0x1dca, 0xff1: 0x1dcf, 0xff2: 0x1dd4, 0xff3: 0x1dd9, 0xff4: 0x1de3, 0xff5: 0x1de8,\n\t0xff6: 0x1df2, 0xff7: 0x1df7, 0xff8: 0x1dfc, 0xff9: 0x1e01, 0xffa: 0x1e0b, 0xffb: 0x1e10,\n\t0xffc: 0x1f3c, 0xffd: 0x1f41, 0xffe: 0x1f50, 0xfff: 0x1f55,\n\t// Block 0x40, offset 0x1000\n\t0x1000: 0x1f5a, 0x1001: 0x1f6e, 0x1002: 0x1f73, 0x1003: 0x1f78, 0x1004: 0x1f7d, 0x1005: 0x1f96,\n\t0x1006: 0x1fa0, 0x1007: 0x1fa5, 0x1008: 0x1faa, 0x1009: 0x1fbe, 0x100a: 0x1fdc, 0x100b: 0x1fe1,\n\t0x100c: 0x1fe6, 0x100d: 0x1feb, 0x100e: 0x1ff5, 0x100f: 0x1ffa, 0x1010: 0x445c, 0x1011: 0x2027,\n\t0x1012: 0x202c, 0x1013: 0x2031, 0x1014: 0x2036, 0x1015: 0x2040, 0x1016: 0x2045, 0x1017: 0x25b1,\n\t0x1018: 0x25b8, 0x1019: 0x25bf, 0x101a: 0x25d4, 0x101b: 0x25e2, 0x101c: 0x1d89, 0x101d: 0x1d8e,\n\t0x101e: 0x1d93, 0x101f: 0x1da2, 0x1020: 0x1dac, 0x1021: 0x1dbb, 0x1022: 0x1dc0, 0x1023: 0x1dc5,\n\t0x1024: 0x1dd4, 0x1025: 0x1dde, 0x1026: 0x1dfc, 0x1027: 0x1e15, 0x1028: 0x1e1a, 0x1029: 0x1e29,\n\t0x102a: 0x1e2e, 0x102b: 0x1e3d, 0x102c: 0x1e47, 0x102d: 0x1e56, 0x102e: 0x1e5b, 0x102f: 0x1e60,\n\t0x1030: 0x1e6a, 0x1031: 0x1ea6, 0x1032: 0x1eab, 0x1033: 0x1eb5, 0x1034: 0x1ec4, 0x1035: 0x1ec9,\n\t0x1036: 0x1ece, 0x1037: 0x1ed8, 0x1038: 0x1ee7, 0x1039: 0x1efb, 0x103a: 0x1f00, 0x103b: 0x1f05,\n\t0x103c: 0x1f14, 0x103d: 0x1f19, 0x103e: 0x1f28, 0x103f: 0x1f2d,\n\t// Block 0x41, offset 0x1040\n\t0x1040: 0x1f32, 0x1041: 0x1f37, 0x1042: 0x1f46, 0x1043: 0x1f4b, 0x1044: 0x1f5f, 0x1045: 0x1f64,\n\t0x1046: 0x1f69, 0x1047: 0x1f6e, 0x1048: 0x1f73, 0x1049: 0x1f87, 0x104a: 0x1f8c, 0x104b: 0x1f91,\n\t0x104c: 0x1f96, 0x104d: 0x1f9b, 0x104e: 0x1faf, 0x104f: 0x1fb4, 0x1050: 0x1fb9, 0x1051: 0x1fbe,\n\t0x1052: 0x1fcd, 0x1053: 0x1fd2, 0x1054: 0x1fd7, 0x1055: 0x1fe6, 0x1056: 0x1ff0, 0x1057: 0x1fff,\n\t0x1058: 0x2004, 0x1059: 0x4450, 0x105a: 0x2018, 0x105b: 0x201d, 0x105c: 0x2022, 0x105d: 0x2031,\n\t0x105e: 0x203b, 0x105f: 0x25d4, 0x1060: 0x25e2, 0x1061: 0x1da2, 0x1062: 0x1dac, 0x1063: 0x1dd4,\n\t0x1064: 0x1dde, 0x1065: 0x1dfc, 0x1066: 0x1e06, 0x1067: 0x1e6a, 0x1068: 0x1e6f, 0x1069: 0x1e92,\n\t0x106a: 0x1e97, 0x106b: 0x1f6e, 0x106c: 0x1f73, 0x106d: 0x1f96, 0x106e: 0x1fe6, 0x106f: 0x1ff0,\n\t0x1070: 0x2031, 0x1071: 0x203b, 0x1072: 0x4504, 0x1073: 0x450c, 0x1074: 0x4514, 0x1075: 0x1ef1,\n\t0x1076: 0x1ef6, 0x1077: 0x1f0a, 0x1078: 0x1f0f, 0x1079: 0x1f1e, 0x107a: 0x1f23, 0x107b: 0x1e74,\n\t0x107c: 0x1e79, 0x107d: 0x1e9c, 0x107e: 0x1ea1, 0x107f: 0x1e33,\n\t// Block 0x42, offset 0x1080\n\t0x1080: 0x1e38, 0x1081: 0x1e1f, 0x1082: 0x1e24, 0x1083: 0x1e4c, 0x1084: 0x1e51, 0x1085: 0x1eba,\n\t0x1086: 0x1ebf, 0x1087: 0x1edd, 0x1088: 0x1ee2, 0x1089: 0x1e7e, 0x108a: 0x1e83, 0x108b: 0x1e88,\n\t0x108c: 0x1e92, 0x108d: 0x1e8d, 0x108e: 0x1e65, 0x108f: 0x1eb0, 0x1090: 0x1ed3, 0x1091: 0x1ef1,\n\t0x1092: 0x1ef6, 0x1093: 0x1f0a, 0x1094: 0x1f0f, 0x1095: 0x1f1e, 0x1096: 0x1f23, 0x1097: 0x1e74,\n\t0x1098: 0x1e79, 0x1099: 0x1e9c, 0x109a: 0x1ea1, 0x109b: 0x1e33, 0x109c: 0x1e38, 0x109d: 0x1e1f,\n\t0x109e: 0x1e24, 0x109f: 0x1e4c, 0x10a0: 0x1e51, 0x10a1: 0x1eba, 0x10a2: 0x1ebf, 0x10a3: 0x1edd,\n\t0x10a4: 0x1ee2, 0x10a5: 0x1e7e, 0x10a6: 0x1e83, 0x10a7: 0x1e88, 0x10a8: 0x1e92, 0x10a9: 0x1e8d,\n\t0x10aa: 0x1e65, 0x10ab: 0x1eb0, 0x10ac: 0x1ed3, 0x10ad: 0x1e7e, 0x10ae: 0x1e83, 0x10af: 0x1e88,\n\t0x10b0: 0x1e92, 0x10b1: 0x1e6f, 0x10b2: 0x1e97, 0x10b3: 0x1eec, 0x10b4: 0x1e56, 0x10b5: 0x1e5b,\n\t0x10b6: 0x1e60, 0x10b7: 0x1e7e, 0x10b8: 0x1e83, 0x10b9: 0x1e88, 0x10ba: 0x1eec, 0x10bb: 0x1efb,\n\t0x10bc: 0x4408, 0x10bd: 0x4408,\n\t// Block 0x43, offset 0x10c0\n\t0x10d0: 0x2311, 0x10d1: 0x2326,\n\t0x10d2: 0x2326, 0x10d3: 0x232d, 0x10d4: 0x2334, 0x10d5: 0x2349, 0x10d6: 0x2350, 0x10d7: 0x2357,\n\t0x10d8: 0x237a, 0x10d9: 0x237a, 0x10da: 0x239d, 0x10db: 0x2396, 0x10dc: 0x23b2, 0x10dd: 0x23a4,\n\t0x10de: 0x23ab, 0x10df: 0x23ce, 0x10e0: 0x23ce, 0x10e1: 0x23c7, 0x10e2: 0x23d5, 0x10e3: 0x23d5,\n\t0x10e4: 0x23ff, 0x10e5: 0x23ff, 0x10e6: 0x241b, 0x10e7: 0x23e3, 0x10e8: 0x23e3, 0x10e9: 0x23dc,\n\t0x10ea: 0x23f1, 0x10eb: 0x23f1, 0x10ec: 0x23f8, 0x10ed: 0x23f8, 0x10ee: 0x2422, 0x10ef: 0x2430,\n\t0x10f0: 0x2430, 0x10f1: 0x2437, 0x10f2: 0x2437, 0x10f3: 0x243e, 0x10f4: 0x2445, 0x10f5: 0x244c,\n\t0x10f6: 0x2453, 0x10f7: 0x2453, 0x10f8: 0x245a, 0x10f9: 0x2468, 0x10fa: 0x2476, 0x10fb: 0x246f,\n\t0x10fc: 0x247d, 0x10fd: 0x247d, 0x10fe: 0x2492, 0x10ff: 0x2499,\n\t// Block 0x44, offset 0x1100\n\t0x1100: 0x24ca, 0x1101: 0x24d8, 0x1102: 0x24d1, 0x1103: 0x24b5, 0x1104: 0x24b5, 0x1105: 0x24df,\n\t0x1106: 0x24df, 0x1107: 0x24e6, 0x1108: 0x24e6, 0x1109: 0x2510, 0x110a: 0x2517, 0x110b: 0x251e,\n\t0x110c: 0x24f4, 0x110d: 0x2502, 0x110e: 0x2525, 0x110f: 0x252c,\n\t0x1112: 0x24fb, 0x1113: 0x2580, 0x1114: 0x2587, 0x1115: 0x255d, 0x1116: 0x2564, 0x1117: 0x2548,\n\t0x1118: 0x2548, 0x1119: 0x254f, 0x111a: 0x2579, 0x111b: 0x2572, 0x111c: 0x259c, 0x111d: 0x259c,\n\t0x111e: 0x230a, 0x111f: 0x231f, 0x1120: 0x2318, 0x1121: 0x2342, 0x1122: 0x233b, 0x1123: 0x2365,\n\t0x1124: 0x235e, 0x1125: 0x2388, 0x1126: 0x236c, 0x1127: 0x2381, 0x1128: 0x23b9, 0x1129: 0x2406,\n\t0x112a: 0x23ea, 0x112b: 0x2429, 0x112c: 0x24c3, 0x112d: 0x24ed, 0x112e: 0x2595, 0x112f: 0x258e,\n\t0x1130: 0x25a3, 0x1131: 0x253a, 0x1132: 0x24a0, 0x1133: 0x256b, 0x1134: 0x2492, 0x1135: 0x24ca,\n\t0x1136: 0x2461, 0x1137: 0x24ae, 0x1138: 0x2541, 0x1139: 0x2533, 0x113a: 0x24bc, 0x113b: 0x24a7,\n\t0x113c: 0x24bc, 0x113d: 0x2541, 0x113e: 0x2373, 0x113f: 0x238f,\n\t// Block 0x45, offset 0x1140\n\t0x1140: 0x2509, 0x1141: 0x2484, 0x1142: 0x2303, 0x1143: 0x24a7, 0x1144: 0x244c, 0x1145: 0x241b,\n\t0x1146: 0x23c0, 0x1147: 0x2556,\n\t0x1170: 0x2414, 0x1171: 0x248b, 0x1172: 0x27bf, 0x1173: 0x27b6, 0x1174: 0x27ec, 0x1175: 0x27da,\n\t0x1176: 0x27c8, 0x1177: 0x27e3, 0x1178: 0x27f5, 0x1179: 0x240d, 0x117a: 0x2c7c, 0x117b: 0x2afc,\n\t0x117c: 0x27d1,\n\t// Block 0x46, offset 0x1180\n\t0x1190: 0x0019, 0x1191: 0x0483,\n\t0x1192: 0x0487, 0x1193: 0x0035, 0x1194: 0x0037, 0x1195: 0x0003, 0x1196: 0x003f, 0x1197: 0x04bf,\n\t0x1198: 0x04c3, 0x1199: 0x1b5c,\n\t0x11a0: 0x8132, 0x11a1: 0x8132, 0x11a2: 0x8132, 0x11a3: 0x8132,\n\t0x11a4: 0x8132, 0x11a5: 0x8132, 0x11a6: 0x8132, 0x11a7: 0x812d, 0x11a8: 0x812d, 0x11a9: 0x812d,\n\t0x11aa: 0x812d, 0x11ab: 0x812d, 0x11ac: 0x812d, 0x11ad: 0x812d, 0x11ae: 0x8132, 0x11af: 0x8132,\n\t0x11b0: 0x1873, 0x11b1: 0x0443, 0x11b2: 0x043f, 0x11b3: 0x007f, 0x11b4: 0x007f, 0x11b5: 0x0011,\n\t0x11b6: 0x0013, 0x11b7: 0x00b7, 0x11b8: 0x00bb, 0x11b9: 0x04b7, 0x11ba: 0x04bb, 0x11bb: 0x04ab,\n\t0x11bc: 0x04af, 0x11bd: 0x0493, 0x11be: 0x0497, 0x11bf: 0x048b,\n\t// Block 0x47, offset 0x11c0\n\t0x11c0: 0x048f, 0x11c1: 0x049b, 0x11c2: 0x049f, 0x11c3: 0x04a3, 0x11c4: 0x04a7,\n\t0x11c7: 0x0077, 0x11c8: 0x007b, 0x11c9: 0x4269, 0x11ca: 0x4269, 0x11cb: 0x4269,\n\t0x11cc: 0x4269, 0x11cd: 0x007f, 0x11ce: 0x007f, 0x11cf: 0x007f, 0x11d0: 0x0019, 0x11d1: 0x0483,\n\t0x11d2: 0x001d, 0x11d4: 0x0037, 0x11d5: 0x0035, 0x11d6: 0x003f, 0x11d7: 0x0003,\n\t0x11d8: 0x0443, 0x11d9: 0x0011, 0x11da: 0x0013, 0x11db: 0x00b7, 0x11dc: 0x00bb, 0x11dd: 0x04b7,\n\t0x11de: 0x04bb, 0x11df: 0x0007, 0x11e0: 0x000d, 0x11e1: 0x0015, 0x11e2: 0x0017, 0x11e3: 0x001b,\n\t0x11e4: 0x0039, 0x11e5: 0x003d, 0x11e6: 0x003b, 0x11e8: 0x0079, 0x11e9: 0x0009,\n\t0x11ea: 0x000b, 0x11eb: 0x0041,\n\t0x11f0: 0x42aa, 0x11f1: 0x442c, 0x11f2: 0x42af, 0x11f4: 0x42b4,\n\t0x11f6: 0x42b9, 0x11f7: 0x4432, 0x11f8: 0x42be, 0x11f9: 0x4438, 0x11fa: 0x42c3, 0x11fb: 0x443e,\n\t0x11fc: 0x42c8, 0x11fd: 0x4444, 0x11fe: 0x42cd, 0x11ff: 0x444a,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0x0236, 0x1201: 0x440e, 0x1202: 0x440e, 0x1203: 0x4414, 0x1204: 0x4414, 0x1205: 0x4456,\n\t0x1206: 0x4456, 0x1207: 0x441a, 0x1208: 0x441a, 0x1209: 0x4462, 0x120a: 0x4462, 0x120b: 0x4462,\n\t0x120c: 0x4462, 0x120d: 0x0239, 0x120e: 0x0239, 0x120f: 0x023c, 0x1210: 0x023c, 0x1211: 0x023c,\n\t0x1212: 0x023c, 0x1213: 0x023f, 0x1214: 0x023f, 0x1215: 0x0242, 0x1216: 0x0242, 0x1217: 0x0242,\n\t0x1218: 0x0242, 0x1219: 0x0245, 0x121a: 0x0245, 0x121b: 0x0245, 0x121c: 0x0245, 0x121d: 0x0248,\n\t0x121e: 0x0248, 0x121f: 0x0248, 0x1220: 0x0248, 0x1221: 0x024b, 0x1222: 0x024b, 0x1223: 0x024b,\n\t0x1224: 0x024b, 0x1225: 0x024e, 0x1226: 0x024e, 0x1227: 0x024e, 0x1228: 0x024e, 0x1229: 0x0251,\n\t0x122a: 0x0251, 0x122b: 0x0254, 0x122c: 0x0254, 0x122d: 0x0257, 0x122e: 0x0257, 0x122f: 0x025a,\n\t0x1230: 0x025a, 0x1231: 0x025d, 0x1232: 0x025d, 0x1233: 0x025d, 0x1234: 0x025d, 0x1235: 0x0260,\n\t0x1236: 0x0260, 0x1237: 0x0260, 0x1238: 0x0260, 0x1239: 0x0263, 0x123a: 0x0263, 0x123b: 0x0263,\n\t0x123c: 0x0263, 0x123d: 0x0266, 0x123e: 0x0266, 0x123f: 0x0266,\n\t// Block 0x49, offset 0x1240\n\t0x1240: 0x0266, 0x1241: 0x0269, 0x1242: 0x0269, 0x1243: 0x0269, 0x1244: 0x0269, 0x1245: 0x026c,\n\t0x1246: 0x026c, 0x1247: 0x026c, 0x1248: 0x026c, 0x1249: 0x026f, 0x124a: 0x026f, 0x124b: 0x026f,\n\t0x124c: 0x026f, 0x124d: 0x0272, 0x124e: 0x0272, 0x124f: 0x0272, 0x1250: 0x0272, 0x1251: 0x0275,\n\t0x1252: 0x0275, 0x1253: 0x0275, 0x1254: 0x0275, 0x1255: 0x0278, 0x1256: 0x0278, 0x1257: 0x0278,\n\t0x1258: 0x0278, 0x1259: 0x027b, 0x125a: 0x027b, 0x125b: 0x027b, 0x125c: 0x027b, 0x125d: 0x027e,\n\t0x125e: 0x027e, 0x125f: 0x027e, 0x1260: 0x027e, 0x1261: 0x0281, 0x1262: 0x0281, 0x1263: 0x0281,\n\t0x1264: 0x0281, 0x1265: 0x0284, 0x1266: 0x0284, 0x1267: 0x0284, 0x1268: 0x0284, 0x1269: 0x0287,\n\t0x126a: 0x0287, 0x126b: 0x0287, 0x126c: 0x0287, 0x126d: 0x028a, 0x126e: 0x028a, 0x126f: 0x028d,\n\t0x1270: 0x028d, 0x1271: 0x0290, 0x1272: 0x0290, 0x1273: 0x0290, 0x1274: 0x0290, 0x1275: 0x2e00,\n\t0x1276: 0x2e00, 0x1277: 0x2e08, 0x1278: 0x2e08, 0x1279: 0x2e10, 0x127a: 0x2e10, 0x127b: 0x1f82,\n\t0x127c: 0x1f82,\n\t// Block 0x4a, offset 0x1280\n\t0x1280: 0x0081, 0x1281: 0x0083, 0x1282: 0x0085, 0x1283: 0x0087, 0x1284: 0x0089, 0x1285: 0x008b,\n\t0x1286: 0x008d, 0x1287: 0x008f, 0x1288: 0x0091, 0x1289: 0x0093, 0x128a: 0x0095, 0x128b: 0x0097,\n\t0x128c: 0x0099, 0x128d: 0x009b, 0x128e: 0x009d, 0x128f: 0x009f, 0x1290: 0x00a1, 0x1291: 0x00a3,\n\t0x1292: 0x00a5, 0x1293: 0x00a7, 0x1294: 0x00a9, 0x1295: 0x00ab, 0x1296: 0x00ad, 0x1297: 0x00af,\n\t0x1298: 0x00b1, 0x1299: 0x00b3, 0x129a: 0x00b5, 0x129b: 0x00b7, 0x129c: 0x00b9, 0x129d: 0x00bb,\n\t0x129e: 0x00bd, 0x129f: 0x0477, 0x12a0: 0x047b, 0x12a1: 0x0487, 0x12a2: 0x049b, 0x12a3: 0x049f,\n\t0x12a4: 0x0483, 0x12a5: 0x05ab, 0x12a6: 0x05a3, 0x12a7: 0x04c7, 0x12a8: 0x04cf, 0x12a9: 0x04d7,\n\t0x12aa: 0x04df, 0x12ab: 0x04e7, 0x12ac: 0x056b, 0x12ad: 0x0573, 0x12ae: 0x057b, 0x12af: 0x051f,\n\t0x12b0: 0x05af, 0x12b1: 0x04cb, 0x12b2: 0x04d3, 0x12b3: 0x04db, 0x12b4: 0x04e3, 0x12b5: 0x04eb,\n\t0x12b6: 0x04ef, 0x12b7: 0x04f3, 0x12b8: 0x04f7, 0x12b9: 0x04fb, 0x12ba: 0x04ff, 0x12bb: 0x0503,\n\t0x12bc: 0x0507, 0x12bd: 0x050b, 0x12be: 0x050f, 0x12bf: 0x0513,\n\t// Block 0x4b, offset 0x12c0\n\t0x12c0: 0x0517, 0x12c1: 0x051b, 0x12c2: 0x0523, 0x12c3: 0x0527, 0x12c4: 0x052b, 0x12c5: 0x052f,\n\t0x12c6: 0x0533, 0x12c7: 0x0537, 0x12c8: 0x053b, 0x12c9: 0x053f, 0x12ca: 0x0543, 0x12cb: 0x0547,\n\t0x12cc: 0x054b, 0x12cd: 0x054f, 0x12ce: 0x0553, 0x12cf: 0x0557, 0x12d0: 0x055b, 0x12d1: 0x055f,\n\t0x12d2: 0x0563, 0x12d3: 0x0567, 0x12d4: 0x056f, 0x12d5: 0x0577, 0x12d6: 0x057f, 0x12d7: 0x0583,\n\t0x12d8: 0x0587, 0x12d9: 0x058b, 0x12da: 0x058f, 0x12db: 0x0593, 0x12dc: 0x0597, 0x12dd: 0x05a7,\n\t0x12de: 0x4a78, 0x12df: 0x4a7e, 0x12e0: 0x03c3, 0x12e1: 0x0313, 0x12e2: 0x0317, 0x12e3: 0x4a3b,\n\t0x12e4: 0x031b, 0x12e5: 0x4a41, 0x12e6: 0x4a47, 0x12e7: 0x031f, 0x12e8: 0x0323, 0x12e9: 0x0327,\n\t0x12ea: 0x4a4d, 0x12eb: 0x4a53, 0x12ec: 0x4a59, 0x12ed: 0x4a5f, 0x12ee: 0x4a65, 0x12ef: 0x4a6b,\n\t0x12f0: 0x0367, 0x12f1: 0x032b, 0x12f2: 0x032f, 0x12f3: 0x0333, 0x12f4: 0x037b, 0x12f5: 0x0337,\n\t0x12f6: 0x033b, 0x12f7: 0x033f, 0x12f8: 0x0343, 0x12f9: 0x0347, 0x12fa: 0x034b, 0x12fb: 0x034f,\n\t0x12fc: 0x0353, 0x12fd: 0x0357, 0x12fe: 0x035b,\n\t// Block 0x4c, offset 0x1300\n\t0x1302: 0x49bd, 0x1303: 0x49c3, 0x1304: 0x49c9, 0x1305: 0x49cf,\n\t0x1306: 0x49d5, 0x1307: 0x49db, 0x130a: 0x49e1, 0x130b: 0x49e7,\n\t0x130c: 0x49ed, 0x130d: 0x49f3, 0x130e: 0x49f9, 0x130f: 0x49ff,\n\t0x1312: 0x4a05, 0x1313: 0x4a0b, 0x1314: 0x4a11, 0x1315: 0x4a17, 0x1316: 0x4a1d, 0x1317: 0x4a23,\n\t0x131a: 0x4a29, 0x131b: 0x4a2f, 0x131c: 0x4a35,\n\t0x1320: 0x00bf, 0x1321: 0x00c2, 0x1322: 0x00cb, 0x1323: 0x4264,\n\t0x1324: 0x00c8, 0x1325: 0x00c5, 0x1326: 0x0447, 0x1328: 0x046b, 0x1329: 0x044b,\n\t0x132a: 0x044f, 0x132b: 0x0453, 0x132c: 0x0457, 0x132d: 0x046f, 0x132e: 0x0473,\n\t// Block 0x4d, offset 0x1340\n\t0x1340: 0x0063, 0x1341: 0x0065, 0x1342: 0x0067, 0x1343: 0x0069, 0x1344: 0x006b, 0x1345: 0x006d,\n\t0x1346: 0x006f, 0x1347: 0x0071, 0x1348: 0x0073, 0x1349: 0x0075, 0x134a: 0x0083, 0x134b: 0x0085,\n\t0x134c: 0x0087, 0x134d: 0x0089, 0x134e: 0x008b, 0x134f: 0x008d, 0x1350: 0x008f, 0x1351: 0x0091,\n\t0x1352: 0x0093, 0x1353: 0x0095, 0x1354: 0x0097, 0x1355: 0x0099, 0x1356: 0x009b, 0x1357: 0x009d,\n\t0x1358: 0x009f, 0x1359: 0x00a1, 0x135a: 0x00a3, 0x135b: 0x00a5, 0x135c: 0x00a7, 0x135d: 0x00a9,\n\t0x135e: 0x00ab, 0x135f: 0x00ad, 0x1360: 0x00af, 0x1361: 0x00b1, 0x1362: 0x00b3, 0x1363: 0x00b5,\n\t0x1364: 0x00dd, 0x1365: 0x00f2, 0x1368: 0x0173, 0x1369: 0x0176,\n\t0x136a: 0x0179, 0x136b: 0x017c, 0x136c: 0x017f, 0x136d: 0x0182, 0x136e: 0x0185, 0x136f: 0x0188,\n\t0x1370: 0x018b, 0x1371: 0x018e, 0x1372: 0x0191, 0x1373: 0x0194, 0x1374: 0x0197, 0x1375: 0x019a,\n\t0x1376: 0x019d, 0x1377: 0x01a0, 0x1378: 0x01a3, 0x1379: 0x0188, 0x137a: 0x01a6, 0x137b: 0x01a9,\n\t0x137c: 0x01ac, 0x137d: 0x01af, 0x137e: 0x01b2, 0x137f: 0x01b5,\n\t// Block 0x4e, offset 0x1380\n\t0x1380: 0x01fd, 0x1381: 0x0200, 0x1382: 0x0203, 0x1383: 0x045b, 0x1384: 0x01c7, 0x1385: 0x01d0,\n\t0x1386: 0x01d6, 0x1387: 0x01fa, 0x1388: 0x01eb, 0x1389: 0x01e8, 0x138a: 0x0206, 0x138b: 0x0209,\n\t0x138e: 0x0021, 0x138f: 0x0023, 0x1390: 0x0025, 0x1391: 0x0027,\n\t0x1392: 0x0029, 0x1393: 0x002b, 0x1394: 0x002d, 0x1395: 0x002f, 0x1396: 0x0031, 0x1397: 0x0033,\n\t0x1398: 0x0021, 0x1399: 0x0023, 0x139a: 0x0025, 0x139b: 0x0027, 0x139c: 0x0029, 0x139d: 0x002b,\n\t0x139e: 0x002d, 0x139f: 0x002f, 0x13a0: 0x0031, 0x13a1: 0x0033, 0x13a2: 0x0021, 0x13a3: 0x0023,\n\t0x13a4: 0x0025, 0x13a5: 0x0027, 0x13a6: 0x0029, 0x13a7: 0x002b, 0x13a8: 0x002d, 0x13a9: 0x002f,\n\t0x13aa: 0x0031, 0x13ab: 0x0033, 0x13ac: 0x0021, 0x13ad: 0x0023, 0x13ae: 0x0025, 0x13af: 0x0027,\n\t0x13b0: 0x0029, 0x13b1: 0x002b, 0x13b2: 0x002d, 0x13b3: 0x002f, 0x13b4: 0x0031, 0x13b5: 0x0033,\n\t0x13b6: 0x0021, 0x13b7: 0x0023, 0x13b8: 0x0025, 0x13b9: 0x0027, 0x13ba: 0x0029, 0x13bb: 0x002b,\n\t0x13bc: 0x002d, 0x13bd: 0x002f, 0x13be: 0x0031, 0x13bf: 0x0033,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c0: 0x0239, 0x13c1: 0x023c, 0x13c2: 0x0248, 0x13c3: 0x0251, 0x13c5: 0x028a,\n\t0x13c6: 0x025a, 0x13c7: 0x024b, 0x13c8: 0x0269, 0x13c9: 0x0290, 0x13ca: 0x027b, 0x13cb: 0x027e,\n\t0x13cc: 0x0281, 0x13cd: 0x0284, 0x13ce: 0x025d, 0x13cf: 0x026f, 0x13d0: 0x0275, 0x13d1: 0x0263,\n\t0x13d2: 0x0278, 0x13d3: 0x0257, 0x13d4: 0x0260, 0x13d5: 0x0242, 0x13d6: 0x0245, 0x13d7: 0x024e,\n\t0x13d8: 0x0254, 0x13d9: 0x0266, 0x13da: 0x026c, 0x13db: 0x0272, 0x13dc: 0x0293, 0x13dd: 0x02e4,\n\t0x13de: 0x02cc, 0x13df: 0x0296, 0x13e1: 0x023c, 0x13e2: 0x0248,\n\t0x13e4: 0x0287, 0x13e7: 0x024b, 0x13e9: 0x0290,\n\t0x13ea: 0x027b, 0x13eb: 0x027e, 0x13ec: 0x0281, 0x13ed: 0x0284, 0x13ee: 0x025d, 0x13ef: 0x026f,\n\t0x13f0: 0x0275, 0x13f1: 0x0263, 0x13f2: 0x0278, 0x13f4: 0x0260, 0x13f5: 0x0242,\n\t0x13f6: 0x0245, 0x13f7: 0x024e, 0x13f9: 0x0266, 0x13fb: 0x0272,\n\t// Block 0x50, offset 0x1400\n\t0x1402: 0x0248,\n\t0x1407: 0x024b, 0x1409: 0x0290, 0x140b: 0x027e,\n\t0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1411: 0x0263,\n\t0x1412: 0x0278, 0x1414: 0x0260, 0x1417: 0x024e,\n\t0x1419: 0x0266, 0x141b: 0x0272, 0x141d: 0x02e4,\n\t0x141f: 0x0296, 0x1421: 0x023c, 0x1422: 0x0248,\n\t0x1424: 0x0287, 0x1427: 0x024b, 0x1428: 0x0269, 0x1429: 0x0290,\n\t0x142a: 0x027b, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f,\n\t0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1434: 0x0260, 0x1435: 0x0242,\n\t0x1436: 0x0245, 0x1437: 0x024e, 0x1439: 0x0266, 0x143a: 0x026c, 0x143b: 0x0272,\n\t0x143c: 0x0293, 0x143e: 0x02cc,\n\t// Block 0x51, offset 0x1440\n\t0x1440: 0x0239, 0x1441: 0x023c, 0x1442: 0x0248, 0x1443: 0x0251, 0x1444: 0x0287, 0x1445: 0x028a,\n\t0x1446: 0x025a, 0x1447: 0x024b, 0x1448: 0x0269, 0x1449: 0x0290, 0x144b: 0x027e,\n\t0x144c: 0x0281, 0x144d: 0x0284, 0x144e: 0x025d, 0x144f: 0x026f, 0x1450: 0x0275, 0x1451: 0x0263,\n\t0x1452: 0x0278, 0x1453: 0x0257, 0x1454: 0x0260, 0x1455: 0x0242, 0x1456: 0x0245, 0x1457: 0x024e,\n\t0x1458: 0x0254, 0x1459: 0x0266, 0x145a: 0x026c, 0x145b: 0x0272,\n\t0x1461: 0x023c, 0x1462: 0x0248, 0x1463: 0x0251,\n\t0x1465: 0x028a, 0x1466: 0x025a, 0x1467: 0x024b, 0x1468: 0x0269, 0x1469: 0x0290,\n\t0x146b: 0x027e, 0x146c: 0x0281, 0x146d: 0x0284, 0x146e: 0x025d, 0x146f: 0x026f,\n\t0x1470: 0x0275, 0x1471: 0x0263, 0x1472: 0x0278, 0x1473: 0x0257, 0x1474: 0x0260, 0x1475: 0x0242,\n\t0x1476: 0x0245, 0x1477: 0x024e, 0x1478: 0x0254, 0x1479: 0x0266, 0x147a: 0x026c, 0x147b: 0x0272,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x1879, 0x1481: 0x1876, 0x1482: 0x187c, 0x1483: 0x18a0, 0x1484: 0x18c4, 0x1485: 0x18e8,\n\t0x1486: 0x190c, 0x1487: 0x1915, 0x1488: 0x191b, 0x1489: 0x1921, 0x148a: 0x1927,\n\t0x1490: 0x1a8c, 0x1491: 0x1a90,\n\t0x1492: 0x1a94, 0x1493: 0x1a98, 0x1494: 0x1a9c, 0x1495: 0x1aa0, 0x1496: 0x1aa4, 0x1497: 0x1aa8,\n\t0x1498: 0x1aac, 0x1499: 0x1ab0, 0x149a: 0x1ab4, 0x149b: 0x1ab8, 0x149c: 0x1abc, 0x149d: 0x1ac0,\n\t0x149e: 0x1ac4, 0x149f: 0x1ac8, 0x14a0: 0x1acc, 0x14a1: 0x1ad0, 0x14a2: 0x1ad4, 0x14a3: 0x1ad8,\n\t0x14a4: 0x1adc, 0x14a5: 0x1ae0, 0x14a6: 0x1ae4, 0x14a7: 0x1ae8, 0x14a8: 0x1aec, 0x14a9: 0x1af0,\n\t0x14aa: 0x271e, 0x14ab: 0x0047, 0x14ac: 0x0065, 0x14ad: 0x193c, 0x14ae: 0x19b1,\n\t0x14b0: 0x0043, 0x14b1: 0x0045, 0x14b2: 0x0047, 0x14b3: 0x0049, 0x14b4: 0x004b, 0x14b5: 0x004d,\n\t0x14b6: 0x004f, 0x14b7: 0x0051, 0x14b8: 0x0053, 0x14b9: 0x0055, 0x14ba: 0x0057, 0x14bb: 0x0059,\n\t0x14bc: 0x005b, 0x14bd: 0x005d, 0x14be: 0x005f, 0x14bf: 0x0061,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x26ad, 0x14c1: 0x26c2, 0x14c2: 0x0503,\n\t0x14d0: 0x0c0f, 0x14d1: 0x0a47,\n\t0x14d2: 0x08d3, 0x14d3: 0x45c4, 0x14d4: 0x071b, 0x14d5: 0x09ef, 0x14d6: 0x132f, 0x14d7: 0x09ff,\n\t0x14d8: 0x0727, 0x14d9: 0x0cd7, 0x14da: 0x0eaf, 0x14db: 0x0caf, 0x14dc: 0x0827, 0x14dd: 0x0b6b,\n\t0x14de: 0x07bf, 0x14df: 0x0cb7, 0x14e0: 0x0813, 0x14e1: 0x1117, 0x14e2: 0x0f83, 0x14e3: 0x138b,\n\t0x14e4: 0x09d3, 0x14e5: 0x090b, 0x14e6: 0x0e63, 0x14e7: 0x0c1b, 0x14e8: 0x0c47, 0x14e9: 0x06bf,\n\t0x14ea: 0x06cb, 0x14eb: 0x140b, 0x14ec: 0x0adb, 0x14ed: 0x06e7, 0x14ee: 0x08ef, 0x14ef: 0x0c3b,\n\t0x14f0: 0x13b3, 0x14f1: 0x0c13, 0x14f2: 0x106f, 0x14f3: 0x10ab, 0x14f4: 0x08f7, 0x14f5: 0x0e43,\n\t0x14f6: 0x0d0b, 0x14f7: 0x0d07, 0x14f8: 0x0f97, 0x14f9: 0x082b, 0x14fa: 0x0957, 0x14fb: 0x1443,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0x06fb, 0x1501: 0x06f3, 0x1502: 0x0703, 0x1503: 0x1647, 0x1504: 0x0747, 0x1505: 0x0757,\n\t0x1506: 0x075b, 0x1507: 0x0763, 0x1508: 0x076b, 0x1509: 0x076f, 0x150a: 0x077b, 0x150b: 0x0773,\n\t0x150c: 0x05b3, 0x150d: 0x165b, 0x150e: 0x078f, 0x150f: 0x0793, 0x1510: 0x0797, 0x1511: 0x07b3,\n\t0x1512: 0x164c, 0x1513: 0x05b7, 0x1514: 0x079f, 0x1515: 0x07bf, 0x1516: 0x1656, 0x1517: 0x07cf,\n\t0x1518: 0x07d7, 0x1519: 0x0737, 0x151a: 0x07df, 0x151b: 0x07e3, 0x151c: 0x1831, 0x151d: 0x07ff,\n\t0x151e: 0x0807, 0x151f: 0x05bf, 0x1520: 0x081f, 0x1521: 0x0823, 0x1522: 0x082b, 0x1523: 0x082f,\n\t0x1524: 0x05c3, 0x1525: 0x0847, 0x1526: 0x084b, 0x1527: 0x0857, 0x1528: 0x0863, 0x1529: 0x0867,\n\t0x152a: 0x086b, 0x152b: 0x0873, 0x152c: 0x0893, 0x152d: 0x0897, 0x152e: 0x089f, 0x152f: 0x08af,\n\t0x1530: 0x08b7, 0x1531: 0x08bb, 0x1532: 0x08bb, 0x1533: 0x08bb, 0x1534: 0x166a, 0x1535: 0x0e93,\n\t0x1536: 0x08cf, 0x1537: 0x08d7, 0x1538: 0x166f, 0x1539: 0x08e3, 0x153a: 0x08eb, 0x153b: 0x08f3,\n\t0x153c: 0x091b, 0x153d: 0x0907, 0x153e: 0x0913, 0x153f: 0x0917,\n\t// Block 0x55, offset 0x1540\n\t0x1540: 0x091f, 0x1541: 0x0927, 0x1542: 0x092b, 0x1543: 0x0933, 0x1544: 0x093b, 0x1545: 0x093f,\n\t0x1546: 0x093f, 0x1547: 0x0947, 0x1548: 0x094f, 0x1549: 0x0953, 0x154a: 0x095f, 0x154b: 0x0983,\n\t0x154c: 0x0967, 0x154d: 0x0987, 0x154e: 0x096b, 0x154f: 0x0973, 0x1550: 0x080b, 0x1551: 0x09cf,\n\t0x1552: 0x0997, 0x1553: 0x099b, 0x1554: 0x099f, 0x1555: 0x0993, 0x1556: 0x09a7, 0x1557: 0x09a3,\n\t0x1558: 0x09bb, 0x1559: 0x1674, 0x155a: 0x09d7, 0x155b: 0x09db, 0x155c: 0x09e3, 0x155d: 0x09ef,\n\t0x155e: 0x09f7, 0x155f: 0x0a13, 0x1560: 0x1679, 0x1561: 0x167e, 0x1562: 0x0a1f, 0x1563: 0x0a23,\n\t0x1564: 0x0a27, 0x1565: 0x0a1b, 0x1566: 0x0a2f, 0x1567: 0x05c7, 0x1568: 0x05cb, 0x1569: 0x0a37,\n\t0x156a: 0x0a3f, 0x156b: 0x0a3f, 0x156c: 0x1683, 0x156d: 0x0a5b, 0x156e: 0x0a5f, 0x156f: 0x0a63,\n\t0x1570: 0x0a6b, 0x1571: 0x1688, 0x1572: 0x0a73, 0x1573: 0x0a77, 0x1574: 0x0b4f, 0x1575: 0x0a7f,\n\t0x1576: 0x05cf, 0x1577: 0x0a8b, 0x1578: 0x0a9b, 0x1579: 0x0aa7, 0x157a: 0x0aa3, 0x157b: 0x1692,\n\t0x157c: 0x0aaf, 0x157d: 0x1697, 0x157e: 0x0abb, 0x157f: 0x0ab7,\n\t// Block 0x56, offset 0x1580\n\t0x1580: 0x0abf, 0x1581: 0x0acf, 0x1582: 0x0ad3, 0x1583: 0x05d3, 0x1584: 0x0ae3, 0x1585: 0x0aeb,\n\t0x1586: 0x0aef, 0x1587: 0x0af3, 0x1588: 0x05d7, 0x1589: 0x169c, 0x158a: 0x05db, 0x158b: 0x0b0f,\n\t0x158c: 0x0b13, 0x158d: 0x0b17, 0x158e: 0x0b1f, 0x158f: 0x1863, 0x1590: 0x0b37, 0x1591: 0x16a6,\n\t0x1592: 0x16a6, 0x1593: 0x11d7, 0x1594: 0x0b47, 0x1595: 0x0b47, 0x1596: 0x05df, 0x1597: 0x16c9,\n\t0x1598: 0x179b, 0x1599: 0x0b57, 0x159a: 0x0b5f, 0x159b: 0x05e3, 0x159c: 0x0b73, 0x159d: 0x0b83,\n\t0x159e: 0x0b87, 0x159f: 0x0b8f, 0x15a0: 0x0b9f, 0x15a1: 0x05eb, 0x15a2: 0x05e7, 0x15a3: 0x0ba3,\n\t0x15a4: 0x16ab, 0x15a5: 0x0ba7, 0x15a6: 0x0bbb, 0x15a7: 0x0bbf, 0x15a8: 0x0bc3, 0x15a9: 0x0bbf,\n\t0x15aa: 0x0bcf, 0x15ab: 0x0bd3, 0x15ac: 0x0be3, 0x15ad: 0x0bdb, 0x15ae: 0x0bdf, 0x15af: 0x0be7,\n\t0x15b0: 0x0beb, 0x15b1: 0x0bef, 0x15b2: 0x0bfb, 0x15b3: 0x0bff, 0x15b4: 0x0c17, 0x15b5: 0x0c1f,\n\t0x15b6: 0x0c2f, 0x15b7: 0x0c43, 0x15b8: 0x16ba, 0x15b9: 0x0c3f, 0x15ba: 0x0c33, 0x15bb: 0x0c4b,\n\t0x15bc: 0x0c53, 0x15bd: 0x0c67, 0x15be: 0x16bf, 0x15bf: 0x0c6f,\n\t// Block 0x57, offset 0x15c0\n\t0x15c0: 0x0c63, 0x15c1: 0x0c5b, 0x15c2: 0x05ef, 0x15c3: 0x0c77, 0x15c4: 0x0c7f, 0x15c5: 0x0c87,\n\t0x15c6: 0x0c7b, 0x15c7: 0x05f3, 0x15c8: 0x0c97, 0x15c9: 0x0c9f, 0x15ca: 0x16c4, 0x15cb: 0x0ccb,\n\t0x15cc: 0x0cff, 0x15cd: 0x0cdb, 0x15ce: 0x05ff, 0x15cf: 0x0ce7, 0x15d0: 0x05fb, 0x15d1: 0x05f7,\n\t0x15d2: 0x07c3, 0x15d3: 0x07c7, 0x15d4: 0x0d03, 0x15d5: 0x0ceb, 0x15d6: 0x11ab, 0x15d7: 0x0663,\n\t0x15d8: 0x0d0f, 0x15d9: 0x0d13, 0x15da: 0x0d17, 0x15db: 0x0d2b, 0x15dc: 0x0d23, 0x15dd: 0x16dd,\n\t0x15de: 0x0603, 0x15df: 0x0d3f, 0x15e0: 0x0d33, 0x15e1: 0x0d4f, 0x15e2: 0x0d57, 0x15e3: 0x16e7,\n\t0x15e4: 0x0d5b, 0x15e5: 0x0d47, 0x15e6: 0x0d63, 0x15e7: 0x0607, 0x15e8: 0x0d67, 0x15e9: 0x0d6b,\n\t0x15ea: 0x0d6f, 0x15eb: 0x0d7b, 0x15ec: 0x16ec, 0x15ed: 0x0d83, 0x15ee: 0x060b, 0x15ef: 0x0d8f,\n\t0x15f0: 0x16f1, 0x15f1: 0x0d93, 0x15f2: 0x060f, 0x15f3: 0x0d9f, 0x15f4: 0x0dab, 0x15f5: 0x0db7,\n\t0x15f6: 0x0dbb, 0x15f7: 0x16f6, 0x15f8: 0x168d, 0x15f9: 0x16fb, 0x15fa: 0x0ddb, 0x15fb: 0x1700,\n\t0x15fc: 0x0de7, 0x15fd: 0x0def, 0x15fe: 0x0ddf, 0x15ff: 0x0dfb,\n\t// Block 0x58, offset 0x1600\n\t0x1600: 0x0e0b, 0x1601: 0x0e1b, 0x1602: 0x0e0f, 0x1603: 0x0e13, 0x1604: 0x0e1f, 0x1605: 0x0e23,\n\t0x1606: 0x1705, 0x1607: 0x0e07, 0x1608: 0x0e3b, 0x1609: 0x0e3f, 0x160a: 0x0613, 0x160b: 0x0e53,\n\t0x160c: 0x0e4f, 0x160d: 0x170a, 0x160e: 0x0e33, 0x160f: 0x0e6f, 0x1610: 0x170f, 0x1611: 0x1714,\n\t0x1612: 0x0e73, 0x1613: 0x0e87, 0x1614: 0x0e83, 0x1615: 0x0e7f, 0x1616: 0x0617, 0x1617: 0x0e8b,\n\t0x1618: 0x0e9b, 0x1619: 0x0e97, 0x161a: 0x0ea3, 0x161b: 0x1651, 0x161c: 0x0eb3, 0x161d: 0x1719,\n\t0x161e: 0x0ebf, 0x161f: 0x1723, 0x1620: 0x0ed3, 0x1621: 0x0edf, 0x1622: 0x0ef3, 0x1623: 0x1728,\n\t0x1624: 0x0f07, 0x1625: 0x0f0b, 0x1626: 0x172d, 0x1627: 0x1732, 0x1628: 0x0f27, 0x1629: 0x0f37,\n\t0x162a: 0x061b, 0x162b: 0x0f3b, 0x162c: 0x061f, 0x162d: 0x061f, 0x162e: 0x0f53, 0x162f: 0x0f57,\n\t0x1630: 0x0f5f, 0x1631: 0x0f63, 0x1632: 0x0f6f, 0x1633: 0x0623, 0x1634: 0x0f87, 0x1635: 0x1737,\n\t0x1636: 0x0fa3, 0x1637: 0x173c, 0x1638: 0x0faf, 0x1639: 0x16a1, 0x163a: 0x0fbf, 0x163b: 0x1741,\n\t0x163c: 0x1746, 0x163d: 0x174b, 0x163e: 0x0627, 0x163f: 0x062b,\n\t// Block 0x59, offset 0x1640\n\t0x1640: 0x0ff7, 0x1641: 0x1755, 0x1642: 0x1750, 0x1643: 0x175a, 0x1644: 0x175f, 0x1645: 0x0fff,\n\t0x1646: 0x1003, 0x1647: 0x1003, 0x1648: 0x100b, 0x1649: 0x0633, 0x164a: 0x100f, 0x164b: 0x0637,\n\t0x164c: 0x063b, 0x164d: 0x1769, 0x164e: 0x1023, 0x164f: 0x102b, 0x1650: 0x1037, 0x1651: 0x063f,\n\t0x1652: 0x176e, 0x1653: 0x105b, 0x1654: 0x1773, 0x1655: 0x1778, 0x1656: 0x107b, 0x1657: 0x1093,\n\t0x1658: 0x0643, 0x1659: 0x109b, 0x165a: 0x109f, 0x165b: 0x10a3, 0x165c: 0x177d, 0x165d: 0x1782,\n\t0x165e: 0x1782, 0x165f: 0x10bb, 0x1660: 0x0647, 0x1661: 0x1787, 0x1662: 0x10cf, 0x1663: 0x10d3,\n\t0x1664: 0x064b, 0x1665: 0x178c, 0x1666: 0x10ef, 0x1667: 0x064f, 0x1668: 0x10ff, 0x1669: 0x10f7,\n\t0x166a: 0x1107, 0x166b: 0x1796, 0x166c: 0x111f, 0x166d: 0x0653, 0x166e: 0x112b, 0x166f: 0x1133,\n\t0x1670: 0x1143, 0x1671: 0x0657, 0x1672: 0x17a0, 0x1673: 0x17a5, 0x1674: 0x065b, 0x1675: 0x17aa,\n\t0x1676: 0x115b, 0x1677: 0x17af, 0x1678: 0x1167, 0x1679: 0x1173, 0x167a: 0x117b, 0x167b: 0x17b4,\n\t0x167c: 0x17b9, 0x167d: 0x118f, 0x167e: 0x17be, 0x167f: 0x1197,\n\t// Block 0x5a, offset 0x1680\n\t0x1680: 0x16ce, 0x1681: 0x065f, 0x1682: 0x11af, 0x1683: 0x11b3, 0x1684: 0x0667, 0x1685: 0x11b7,\n\t0x1686: 0x0a33, 0x1687: 0x17c3, 0x1688: 0x17c8, 0x1689: 0x16d3, 0x168a: 0x16d8, 0x168b: 0x11d7,\n\t0x168c: 0x11db, 0x168d: 0x13f3, 0x168e: 0x066b, 0x168f: 0x1207, 0x1690: 0x1203, 0x1691: 0x120b,\n\t0x1692: 0x083f, 0x1693: 0x120f, 0x1694: 0x1213, 0x1695: 0x1217, 0x1696: 0x121f, 0x1697: 0x17cd,\n\t0x1698: 0x121b, 0x1699: 0x1223, 0x169a: 0x1237, 0x169b: 0x123b, 0x169c: 0x1227, 0x169d: 0x123f,\n\t0x169e: 0x1253, 0x169f: 0x1267, 0x16a0: 0x1233, 0x16a1: 0x1247, 0x16a2: 0x124b, 0x16a3: 0x124f,\n\t0x16a4: 0x17d2, 0x16a5: 0x17dc, 0x16a6: 0x17d7, 0x16a7: 0x066f, 0x16a8: 0x126f, 0x16a9: 0x1273,\n\t0x16aa: 0x127b, 0x16ab: 0x17f0, 0x16ac: 0x127f, 0x16ad: 0x17e1, 0x16ae: 0x0673, 0x16af: 0x0677,\n\t0x16b0: 0x17e6, 0x16b1: 0x17eb, 0x16b2: 0x067b, 0x16b3: 0x129f, 0x16b4: 0x12a3, 0x16b5: 0x12a7,\n\t0x16b6: 0x12ab, 0x16b7: 0x12b7, 0x16b8: 0x12b3, 0x16b9: 0x12bf, 0x16ba: 0x12bb, 0x16bb: 0x12cb,\n\t0x16bc: 0x12c3, 0x16bd: 0x12c7, 0x16be: 0x12cf, 0x16bf: 0x067f,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x12d7, 0x16c1: 0x12db, 0x16c2: 0x0683, 0x16c3: 0x12eb, 0x16c4: 0x12ef, 0x16c5: 0x17f5,\n\t0x16c6: 0x12fb, 0x16c7: 0x12ff, 0x16c8: 0x0687, 0x16c9: 0x130b, 0x16ca: 0x05bb, 0x16cb: 0x17fa,\n\t0x16cc: 0x17ff, 0x16cd: 0x068b, 0x16ce: 0x068f, 0x16cf: 0x1337, 0x16d0: 0x134f, 0x16d1: 0x136b,\n\t0x16d2: 0x137b, 0x16d3: 0x1804, 0x16d4: 0x138f, 0x16d5: 0x1393, 0x16d6: 0x13ab, 0x16d7: 0x13b7,\n\t0x16d8: 0x180e, 0x16d9: 0x1660, 0x16da: 0x13c3, 0x16db: 0x13bf, 0x16dc: 0x13cb, 0x16dd: 0x1665,\n\t0x16de: 0x13d7, 0x16df: 0x13e3, 0x16e0: 0x1813, 0x16e1: 0x1818, 0x16e2: 0x1423, 0x16e3: 0x142f,\n\t0x16e4: 0x1437, 0x16e5: 0x181d, 0x16e6: 0x143b, 0x16e7: 0x1467, 0x16e8: 0x1473, 0x16e9: 0x1477,\n\t0x16ea: 0x146f, 0x16eb: 0x1483, 0x16ec: 0x1487, 0x16ed: 0x1822, 0x16ee: 0x1493, 0x16ef: 0x0693,\n\t0x16f0: 0x149b, 0x16f1: 0x1827, 0x16f2: 0x0697, 0x16f3: 0x14d3, 0x16f4: 0x0ac3, 0x16f5: 0x14eb,\n\t0x16f6: 0x182c, 0x16f7: 0x1836, 0x16f8: 0x069b, 0x16f9: 0x069f, 0x16fa: 0x1513, 0x16fb: 0x183b,\n\t0x16fc: 0x06a3, 0x16fd: 0x1840, 0x16fe: 0x152b, 0x16ff: 0x152b,\n\t// Block 0x5c, offset 0x1700\n\t0x1700: 0x1533, 0x1701: 0x1845, 0x1702: 0x154b, 0x1703: 0x06a7, 0x1704: 0x155b, 0x1705: 0x1567,\n\t0x1706: 0x156f, 0x1707: 0x1577, 0x1708: 0x06ab, 0x1709: 0x184a, 0x170a: 0x158b, 0x170b: 0x15a7,\n\t0x170c: 0x15b3, 0x170d: 0x06af, 0x170e: 0x06b3, 0x170f: 0x15b7, 0x1710: 0x184f, 0x1711: 0x06b7,\n\t0x1712: 0x1854, 0x1713: 0x1859, 0x1714: 0x185e, 0x1715: 0x15db, 0x1716: 0x06bb, 0x1717: 0x15ef,\n\t0x1718: 0x15f7, 0x1719: 0x15fb, 0x171a: 0x1603, 0x171b: 0x160b, 0x171c: 0x1613, 0x171d: 0x1868,\n}\n\n// nfkcIndex: 22 blocks, 1408 entries, 1408 bytes\n// Block 0 is the zero block.\nvar nfkcIndex = [1408]uint8{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x5b, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5c, 0xc7: 0x04,\n\t0xc8: 0x05, 0xca: 0x5d, 0xcb: 0x5e, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09,\n\t0xd0: 0x0a, 0xd1: 0x5f, 0xd2: 0x60, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x61,\n\t0xd8: 0x62, 0xd9: 0x0d, 0xdb: 0x63, 0xdc: 0x64, 0xdd: 0x65, 0xdf: 0x66,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05,\n\t0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a,\n\t0xf0: 0x13,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x67, 0x121: 0x68, 0x123: 0x69, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d,\n\t0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74,\n\t0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a,\n\t0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89,\n\t0x14d: 0x8a,\n\t0x15c: 0x8b, 0x15f: 0x8c,\n\t0x162: 0x8d, 0x164: 0x8e,\n\t0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16c: 0x0e, 0x16d: 0x92, 0x16e: 0x93, 0x16f: 0x94,\n\t0x170: 0x95, 0x173: 0x96, 0x174: 0x97, 0x175: 0x0f, 0x176: 0x10, 0x177: 0x11,\n\t0x178: 0x12, 0x179: 0x13, 0x17a: 0x14, 0x17b: 0x15, 0x17c: 0x16, 0x17d: 0x17, 0x17e: 0x18, 0x17f: 0x19,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x1a, 0x185: 0x1b, 0x186: 0x9c, 0x187: 0x9d,\n\t0x188: 0x9e, 0x189: 0x1c, 0x18a: 0x1d, 0x18b: 0x9f, 0x18c: 0xa0,\n\t0x191: 0x1e, 0x192: 0x1f, 0x193: 0xa1,\n\t0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4,\n\t0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8,\n\t0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x20, 0x1bd: 0x21, 0x1be: 0x22, 0x1bf: 0xab,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0xac, 0x1c1: 0x23, 0x1c2: 0x24, 0x1c3: 0x25, 0x1c4: 0xad, 0x1c5: 0x26, 0x1c6: 0x27,\n\t0x1c8: 0x28, 0x1c9: 0x29, 0x1ca: 0x2a, 0x1cb: 0x2b, 0x1cc: 0x2c, 0x1cd: 0x2d, 0x1ce: 0x2e, 0x1cf: 0x2f,\n\t// Block 0x8, offset 0x200\n\t0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2,\n\t0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8,\n\t0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc,\n\t0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd,\n\t0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe,\n\t// Block 0x9, offset 0x240\n\t0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf,\n\t0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0,\n\t0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1,\n\t0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2,\n\t0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3,\n\t0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd,\n\t0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe,\n\t0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf,\n\t// Block 0xa, offset 0x280\n\t0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0,\n\t0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1,\n\t0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2,\n\t0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3,\n\t0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd,\n\t0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe,\n\t0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf,\n\t0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1,\n\t0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2,\n\t0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3,\n\t0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4,\n\t// Block 0xc, offset 0x300\n\t0x324: 0x30, 0x325: 0x31, 0x326: 0x32, 0x327: 0x33,\n\t0x328: 0x34, 0x329: 0x35, 0x32a: 0x36, 0x32b: 0x37, 0x32c: 0x38, 0x32d: 0x39, 0x32e: 0x3a, 0x32f: 0x3b,\n\t0x330: 0x3c, 0x331: 0x3d, 0x332: 0x3e, 0x333: 0x3f, 0x334: 0x40, 0x335: 0x41, 0x336: 0x42, 0x337: 0x43,\n\t0x338: 0x44, 0x339: 0x45, 0x33a: 0x46, 0x33b: 0x47, 0x33c: 0xc5, 0x33d: 0x48, 0x33e: 0x49, 0x33f: 0x4a,\n\t// Block 0xd, offset 0x340\n\t0x347: 0xc6,\n\t0x34b: 0xc7, 0x34d: 0xc8,\n\t0x368: 0xc9, 0x36b: 0xca,\n\t// Block 0xe, offset 0x380\n\t0x381: 0xcb, 0x382: 0xcc, 0x384: 0xcd, 0x385: 0xb7, 0x387: 0xce,\n\t0x388: 0xcf, 0x38b: 0xd0, 0x38c: 0x6c, 0x38d: 0xd1,\n\t0x391: 0xd2, 0x392: 0xd3, 0x393: 0xd4, 0x396: 0xd5, 0x397: 0xd6,\n\t0x398: 0xd7, 0x39a: 0xd8, 0x39c: 0xd9,\n\t0x3a8: 0xda, 0x3a9: 0xdb, 0x3aa: 0xdc,\n\t0x3b0: 0xd7, 0x3b5: 0xdd,\n\t// Block 0xf, offset 0x3c0\n\t0x3eb: 0xde, 0x3ec: 0xdf,\n\t// Block 0x10, offset 0x400\n\t0x432: 0xe0,\n\t// Block 0x11, offset 0x440\n\t0x445: 0xe1, 0x446: 0xe2, 0x447: 0xe3,\n\t0x449: 0xe4,\n\t0x450: 0xe5, 0x451: 0xe6, 0x452: 0xe7, 0x453: 0xe8, 0x454: 0xe9, 0x455: 0xea, 0x456: 0xeb, 0x457: 0xec,\n\t0x458: 0xed, 0x459: 0xee, 0x45a: 0x4b, 0x45b: 0xef, 0x45c: 0xf0, 0x45d: 0xf1, 0x45e: 0xf2, 0x45f: 0x4c,\n\t// Block 0x12, offset 0x480\n\t0x480: 0xf3,\n\t0x4a3: 0xf4, 0x4a5: 0xf5,\n\t0x4b8: 0x4d, 0x4b9: 0x4e, 0x4ba: 0x4f,\n\t// Block 0x13, offset 0x4c0\n\t0x4c4: 0x50, 0x4c5: 0xf6, 0x4c6: 0xf7,\n\t0x4c8: 0x51, 0x4c9: 0xf8,\n\t// Block 0x14, offset 0x500\n\t0x520: 0x52, 0x521: 0x53, 0x522: 0x54, 0x523: 0x55, 0x524: 0x56, 0x525: 0x57, 0x526: 0x58, 0x527: 0x59,\n\t0x528: 0x5a,\n\t// Block 0x15, offset 0x540\n\t0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d,\n\t0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11,\n\t0x56f: 0x12,\n}\n\n// nfkcSparseOffset: 158 entries, 316 bytes\nvar nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x6f, 0x74, 0x76, 0x87, 0x8f, 0x96, 0x99, 0xa0, 0xa4, 0xa8, 0xaa, 0xac, 0xb5, 0xb9, 0xc0, 0xc5, 0xc8, 0xd2, 0xd5, 0xdc, 0xe4, 0xe8, 0xea, 0xed, 0xf1, 0xf7, 0x108, 0x114, 0x116, 0x11c, 0x11e, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12a, 0x12d, 0x130, 0x132, 0x135, 0x138, 0x13c, 0x141, 0x14a, 0x14c, 0x14f, 0x151, 0x15c, 0x167, 0x175, 0x183, 0x193, 0x1a1, 0x1a8, 0x1ae, 0x1bd, 0x1c1, 0x1c3, 0x1c7, 0x1c9, 0x1cc, 0x1ce, 0x1d1, 0x1d3, 0x1d6, 0x1d8, 0x1da, 0x1dc, 0x1e8, 0x1f2, 0x1fc, 0x1ff, 0x203, 0x205, 0x207, 0x209, 0x20b, 0x20e, 0x210, 0x212, 0x214, 0x216, 0x21c, 0x21f, 0x223, 0x225, 0x22c, 0x232, 0x238, 0x240, 0x246, 0x24c, 0x252, 0x256, 0x258, 0x25a, 0x25c, 0x25e, 0x264, 0x267, 0x26a, 0x272, 0x279, 0x27c, 0x27f, 0x281, 0x289, 0x28c, 0x293, 0x296, 0x29c, 0x29e, 0x2a0, 0x2a3, 0x2a5, 0x2a7, 0x2a9, 0x2ab, 0x2ae, 0x2b0, 0x2b2, 0x2b4, 0x2c1, 0x2cb, 0x2cd, 0x2cf, 0x2d3, 0x2d8, 0x2e4, 0x2e9, 0x2f2, 0x2f8, 0x2fd, 0x301, 0x306, 0x30a, 0x31a, 0x328, 0x336, 0x344, 0x34a, 0x34c, 0x34f, 0x359, 0x35b}\n\n// nfkcSparseValues: 869 entries, 3476 bytes\nvar nfkcSparseValues = [869]valueRange{\n\t// Block 0x0, offset 0x0\n\t{value: 0x0002, lo: 0x0d},\n\t{value: 0x0001, lo: 0xa0, hi: 0xa0},\n\t{value: 0x4278, lo: 0xa8, hi: 0xa8},\n\t{value: 0x0083, lo: 0xaa, hi: 0xaa},\n\t{value: 0x4264, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0025, lo: 0xb2, hi: 0xb3},\n\t{value: 0x425a, lo: 0xb4, hi: 0xb4},\n\t{value: 0x01dc, lo: 0xb5, hi: 0xb5},\n\t{value: 0x4291, lo: 0xb8, hi: 0xb8},\n\t{value: 0x0023, lo: 0xb9, hi: 0xb9},\n\t{value: 0x009f, lo: 0xba, hi: 0xba},\n\t{value: 0x221c, lo: 0xbc, hi: 0xbc},\n\t{value: 0x2210, lo: 0xbd, hi: 0xbd},\n\t{value: 0x22b2, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1, offset 0xe\n\t{value: 0x0091, lo: 0x03},\n\t{value: 0x46e2, lo: 0xa0, hi: 0xa1},\n\t{value: 0x4714, lo: 0xaf, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb7, hi: 0xb7},\n\t// Block 0x2, offset 0x12\n\t{value: 0x0003, lo: 0x08},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x0091, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0119, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0095, lo: 0xb2, hi: 0xb2},\n\t{value: 0x00a5, lo: 0xb3, hi: 0xb3},\n\t{value: 0x0143, lo: 0xb4, hi: 0xb6},\n\t{value: 0x00af, lo: 0xb7, hi: 0xb7},\n\t{value: 0x00b3, lo: 0xb8, hi: 0xb8},\n\t// Block 0x3, offset 0x1b\n\t{value: 0x000a, lo: 0x09},\n\t{value: 0x426e, lo: 0x98, hi: 0x98},\n\t{value: 0x4273, lo: 0x99, hi: 0x9a},\n\t{value: 0x4296, lo: 0x9b, hi: 0x9b},\n\t{value: 0x425f, lo: 0x9c, hi: 0x9c},\n\t{value: 0x4282, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0113, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0099, lo: 0xa1, hi: 0xa1},\n\t{value: 0x00a7, lo: 0xa2, hi: 0xa3},\n\t{value: 0x0167, lo: 0xa4, hi: 0xa4},\n\t// Block 0x4, offset 0x25\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0xa000, lo: 0x8d, hi: 0x8d},\n\t{value: 0x37a5, lo: 0x90, hi: 0x90},\n\t{value: 0x37b1, lo: 0x91, hi: 0x91},\n\t{value: 0x379f, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x96, hi: 0x96},\n\t{value: 0x3817, lo: 0x97, hi: 0x97},\n\t{value: 0x37e1, lo: 0x9c, hi: 0x9c},\n\t{value: 0x37c9, lo: 0x9d, hi: 0x9d},\n\t{value: 0x37f3, lo: 0x9e, hi: 0x9e},\n\t{value: 0xa000, lo: 0xb4, hi: 0xb5},\n\t{value: 0x381d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3823, lo: 0xb7, hi: 0xb7},\n\t// Block 0x5, offset 0x35\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x83, hi: 0x87},\n\t// Block 0x6, offset 0x37\n\t{value: 0x0001, lo: 0x04},\n\t{value: 0x8113, lo: 0x81, hi: 0x82},\n\t{value: 0x8132, lo: 0x84, hi: 0x84},\n\t{value: 0x812d, lo: 0x85, hi: 0x85},\n\t{value: 0x810d, lo: 0x87, hi: 0x87},\n\t// Block 0x7, offset 0x3c\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x97},\n\t{value: 0x8119, lo: 0x98, hi: 0x98},\n\t{value: 0x811a, lo: 0x99, hi: 0x99},\n\t{value: 0x811b, lo: 0x9a, hi: 0x9a},\n\t{value: 0x3841, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3847, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3853, lo: 0xa4, hi: 0xa4},\n\t{value: 0x384d, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3859, lo: 0xa6, hi: 0xa6},\n\t{value: 0xa000, lo: 0xa7, hi: 0xa7},\n\t// Block 0x8, offset 0x47\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x386b, lo: 0x80, hi: 0x80},\n\t{value: 0xa000, lo: 0x81, hi: 0x81},\n\t{value: 0x385f, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x3865, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x95, hi: 0x95},\n\t{value: 0x8132, lo: 0x96, hi: 0x9c},\n\t{value: 0x8132, lo: 0x9f, hi: 0xa2},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8132, lo: 0xab, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t// Block 0x9, offset 0x56\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x811f, lo: 0x91, hi: 0x91},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x812d, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb5, hi: 0xb6},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb9},\n\t{value: 0x8132, lo: 0xba, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbc},\n\t{value: 0x8132, lo: 0xbd, hi: 0xbd},\n\t{value: 0x812d, lo: 0xbe, hi: 0xbe},\n\t{value: 0x8132, lo: 0xbf, hi: 0xbf},\n\t// Block 0xa, offset 0x63\n\t{value: 0x0005, lo: 0x07},\n\t{value: 0x8132, lo: 0x80, hi: 0x80},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x812d, lo: 0x82, hi: 0x83},\n\t{value: 0x812d, lo: 0x84, hi: 0x85},\n\t{value: 0x812d, lo: 0x86, hi: 0x87},\n\t{value: 0x812d, lo: 0x88, hi: 0x89},\n\t{value: 0x8132, lo: 0x8a, hi: 0x8a},\n\t// Block 0xb, offset 0x6b\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8132, lo: 0xab, hi: 0xb1},\n\t{value: 0x812d, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb3},\n\t// Block 0xc, offset 0x6f\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0x96, hi: 0x99},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa7},\n\t{value: 0x8132, lo: 0xa9, hi: 0xad},\n\t// Block 0xd, offset 0x74\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x99, hi: 0x9b},\n\t// Block 0xe, offset 0x76\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x8132, lo: 0x94, hi: 0xa1},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8132, lo: 0xaa, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xaf},\n\t{value: 0x8116, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8117, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8118, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x812d, lo: 0xb9, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbf},\n\t// Block 0xf, offset 0x87\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3ed8, lo: 0xa9, hi: 0xa9},\n\t{value: 0xa000, lo: 0xb0, hi: 0xb0},\n\t{value: 0x3ee0, lo: 0xb1, hi: 0xb1},\n\t{value: 0xa000, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3ee8, lo: 0xb4, hi: 0xb4},\n\t{value: 0x9902, lo: 0xbc, hi: 0xbc},\n\t// Block 0x10, offset 0x8f\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x91, hi: 0x91},\n\t{value: 0x812d, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x93, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x94},\n\t{value: 0x451c, lo: 0x98, hi: 0x9f},\n\t// Block 0x11, offset 0x96\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x12, offset 0x99\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2c9e, lo: 0x8b, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x455c, lo: 0x9c, hi: 0x9d},\n\t{value: 0x456c, lo: 0x9f, hi: 0x9f},\n\t// Block 0x13, offset 0xa0\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x4594, lo: 0xb3, hi: 0xb3},\n\t{value: 0x459c, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x14, offset 0xa4\n\t{value: 0x0008, lo: 0x03},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x4574, lo: 0x99, hi: 0x9b},\n\t{value: 0x458c, lo: 0x9e, hi: 0x9e},\n\t// Block 0x15, offset 0xa8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x16, offset 0xaa\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t// Block 0x17, offset 0xac\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2cb6, lo: 0x88, hi: 0x88},\n\t{value: 0x2cae, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cbe, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x96, hi: 0x97},\n\t{value: 0x45a4, lo: 0x9c, hi: 0x9c},\n\t{value: 0x45ac, lo: 0x9d, hi: 0x9d},\n\t// Block 0x18, offset 0xb5\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x2cc6, lo: 0x94, hi: 0x94},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x19, offset 0xb9\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cce, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2cde, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cd6, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x1a, offset 0xc0\n\t{value: 0x1801, lo: 0x04},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x3ef0, lo: 0x88, hi: 0x88},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8120, lo: 0x95, hi: 0x96},\n\t// Block 0x1b, offset 0xc5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0xa000, lo: 0xbf, hi: 0xbf},\n\t// Block 0x1c, offset 0xc8\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x2ce6, lo: 0x80, hi: 0x80},\n\t{value: 0x9900, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x2cee, lo: 0x87, hi: 0x87},\n\t{value: 0x2cf6, lo: 0x88, hi: 0x88},\n\t{value: 0x2f50, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2dd8, lo: 0x8b, hi: 0x8b},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x95, hi: 0x96},\n\t// Block 0x1d, offset 0xd2\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xbb, hi: 0xbc},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1e, offset 0xd5\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cfe, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2d0e, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d06, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x1f, offset 0xdc\n\t{value: 0x6bea, lo: 0x07},\n\t{value: 0x9904, lo: 0x8a, hi: 0x8a},\n\t{value: 0x9900, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x3ef8, lo: 0x9a, hi: 0x9a},\n\t{value: 0x2f58, lo: 0x9c, hi: 0x9c},\n\t{value: 0x2de3, lo: 0x9d, hi: 0x9d},\n\t{value: 0x2d16, lo: 0x9e, hi: 0x9f},\n\t// Block 0x20, offset 0xe4\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x2621, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8122, lo: 0xb8, hi: 0xb9},\n\t{value: 0x8104, lo: 0xba, hi: 0xba},\n\t// Block 0x21, offset 0xe8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8123, lo: 0x88, hi: 0x8b},\n\t// Block 0x22, offset 0xea\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x2636, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8124, lo: 0xb8, hi: 0xb9},\n\t// Block 0x23, offset 0xed\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8125, lo: 0x88, hi: 0x8b},\n\t{value: 0x2628, lo: 0x9c, hi: 0x9c},\n\t{value: 0x262f, lo: 0x9d, hi: 0x9d},\n\t// Block 0x24, offset 0xf1\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x030b, lo: 0x8c, hi: 0x8c},\n\t{value: 0x812d, lo: 0x98, hi: 0x99},\n\t{value: 0x812d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb7},\n\t{value: 0x812b, lo: 0xb9, hi: 0xb9},\n\t// Block 0x25, offset 0xf7\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x2644, lo: 0x83, hi: 0x83},\n\t{value: 0x264b, lo: 0x8d, hi: 0x8d},\n\t{value: 0x2652, lo: 0x92, hi: 0x92},\n\t{value: 0x2659, lo: 0x97, hi: 0x97},\n\t{value: 0x2660, lo: 0x9c, hi: 0x9c},\n\t{value: 0x263d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8126, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8127, lo: 0xb2, hi: 0xb2},\n\t{value: 0x4a84, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8128, lo: 0xb4, hi: 0xb4},\n\t{value: 0x4a8d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x45b4, lo: 0xb6, hi: 0xb6},\n\t{value: 0x45f4, lo: 0xb7, hi: 0xb7},\n\t{value: 0x45bc, lo: 0xb8, hi: 0xb8},\n\t{value: 0x45ff, lo: 0xb9, hi: 0xb9},\n\t{value: 0x8127, lo: 0xba, hi: 0xbd},\n\t// Block 0x26, offset 0x108\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x8127, lo: 0x80, hi: 0x80},\n\t{value: 0x4a96, lo: 0x81, hi: 0x81},\n\t{value: 0x8132, lo: 0x82, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0x86, hi: 0x87},\n\t{value: 0x266e, lo: 0x93, hi: 0x93},\n\t{value: 0x2675, lo: 0x9d, hi: 0x9d},\n\t{value: 0x267c, lo: 0xa2, hi: 0xa2},\n\t{value: 0x2683, lo: 0xa7, hi: 0xa7},\n\t{value: 0x268a, lo: 0xac, hi: 0xac},\n\t{value: 0x2667, lo: 0xb9, hi: 0xb9},\n\t// Block 0x27, offset 0x114\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x86, hi: 0x86},\n\t// Block 0x28, offset 0x116\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x2d1e, lo: 0xa6, hi: 0xa6},\n\t{value: 0x9900, lo: 0xae, hi: 0xae},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x29, offset 0x11c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t// Block 0x2a, offset 0x11e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x030f, lo: 0xbc, hi: 0xbc},\n\t// Block 0x2b, offset 0x120\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xa000, lo: 0x80, hi: 0x92},\n\t// Block 0x2c, offset 0x122\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xb900, lo: 0xa1, hi: 0xb5},\n\t// Block 0x2d, offset 0x124\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0xa8, hi: 0xbf},\n\t// Block 0x2e, offset 0x126\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0x80, hi: 0x82},\n\t// Block 0x2f, offset 0x128\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9f},\n\t// Block 0x30, offset 0x12a\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x94, hi: 0x94},\n\t{value: 0x8104, lo: 0xb4, hi: 0xb4},\n\t// Block 0x31, offset 0x12d\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9d},\n\t// Block 0x32, offset 0x130\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8131, lo: 0xa9, hi: 0xa9},\n\t// Block 0x33, offset 0x132\n\t{value: 0x0004, lo: 0x02},\n\t{value: 0x812e, lo: 0xb9, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbb},\n\t// Block 0x34, offset 0x135\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x97, hi: 0x97},\n\t{value: 0x812d, lo: 0x98, hi: 0x98},\n\t// Block 0x35, offset 0x138\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8104, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8132, lo: 0xb5, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x36, offset 0x13c\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t{value: 0x812d, lo: 0xb5, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x37, offset 0x141\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x2d66, lo: 0x80, hi: 0x80},\n\t{value: 0x2d6e, lo: 0x81, hi: 0x81},\n\t{value: 0xa000, lo: 0x82, hi: 0x82},\n\t{value: 0x2d76, lo: 0x83, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xab, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xac},\n\t{value: 0x8132, lo: 0xad, hi: 0xb3},\n\t// Block 0x38, offset 0x14a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xaa, hi: 0xab},\n\t// Block 0x39, offset 0x14c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8104, lo: 0xb2, hi: 0xb3},\n\t// Block 0x3a, offset 0x14f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x3b, offset 0x151\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x92},\n\t{value: 0x8101, lo: 0x94, hi: 0x94},\n\t{value: 0x812d, lo: 0x95, hi: 0x99},\n\t{value: 0x8132, lo: 0x9a, hi: 0x9b},\n\t{value: 0x812d, lo: 0x9c, hi: 0x9f},\n\t{value: 0x8132, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8101, lo: 0xa2, hi: 0xa8},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t{value: 0x8132, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb9},\n\t// Block 0x3c, offset 0x15c\n\t{value: 0x0002, lo: 0x0a},\n\t{value: 0x0043, lo: 0xac, hi: 0xac},\n\t{value: 0x00d1, lo: 0xad, hi: 0xad},\n\t{value: 0x0045, lo: 0xae, hi: 0xae},\n\t{value: 0x0049, lo: 0xb0, hi: 0xb1},\n\t{value: 0x00e6, lo: 0xb2, hi: 0xb2},\n\t{value: 0x004f, lo: 0xb3, hi: 0xba},\n\t{value: 0x005f, lo: 0xbc, hi: 0xbc},\n\t{value: 0x00ef, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0061, lo: 0xbe, hi: 0xbe},\n\t{value: 0x0065, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3d, offset 0x167\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x0001, lo: 0x80, hi: 0x8a},\n\t{value: 0x043b, lo: 0x91, hi: 0x91},\n\t{value: 0x429b, lo: 0x97, hi: 0x97},\n\t{value: 0x001d, lo: 0xa4, hi: 0xa4},\n\t{value: 0x1873, lo: 0xa5, hi: 0xa5},\n\t{value: 0x1b5c, lo: 0xa6, hi: 0xa6},\n\t{value: 0x0001, lo: 0xaf, hi: 0xaf},\n\t{value: 0x2691, lo: 0xb3, hi: 0xb3},\n\t{value: 0x27fe, lo: 0xb4, hi: 0xb4},\n\t{value: 0x2698, lo: 0xb6, hi: 0xb6},\n\t{value: 0x2808, lo: 0xb7, hi: 0xb7},\n\t{value: 0x186d, lo: 0xbc, hi: 0xbc},\n\t{value: 0x4269, lo: 0xbe, hi: 0xbe},\n\t// Block 0x3e, offset 0x175\n\t{value: 0x0002, lo: 0x0d},\n\t{value: 0x1933, lo: 0x87, hi: 0x87},\n\t{value: 0x1930, lo: 0x88, hi: 0x88},\n\t{value: 0x1870, lo: 0x89, hi: 0x89},\n\t{value: 0x298e, lo: 0x97, hi: 0x97},\n\t{value: 0x0001, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0021, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0093, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0029, lo: 0xb4, hi: 0xb9},\n\t{value: 0x0017, lo: 0xba, hi: 0xba},\n\t{value: 0x0467, lo: 0xbb, hi: 0xbb},\n\t{value: 0x003b, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0011, lo: 0xbd, hi: 0xbe},\n\t{value: 0x009d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3f, offset 0x183\n\t{value: 0x0002, lo: 0x0f},\n\t{value: 0x0021, lo: 0x80, hi: 0x89},\n\t{value: 0x0017, lo: 0x8a, hi: 0x8a},\n\t{value: 0x0467, lo: 0x8b, hi: 0x8b},\n\t{value: 0x003b, lo: 0x8c, hi: 0x8c},\n\t{value: 0x0011, lo: 0x8d, hi: 0x8e},\n\t{value: 0x0083, lo: 0x90, hi: 0x90},\n\t{value: 0x008b, lo: 0x91, hi: 0x91},\n\t{value: 0x009f, lo: 0x92, hi: 0x92},\n\t{value: 0x00b1, lo: 0x93, hi: 0x93},\n\t{value: 0x0104, lo: 0x94, hi: 0x94},\n\t{value: 0x0091, lo: 0x95, hi: 0x95},\n\t{value: 0x0097, lo: 0x96, hi: 0x99},\n\t{value: 0x00a1, lo: 0x9a, hi: 0x9a},\n\t{value: 0x00a7, lo: 0x9b, hi: 0x9c},\n\t{value: 0x1999, lo: 0xa8, hi: 0xa8},\n\t// Block 0x40, offset 0x193\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x8132, lo: 0x90, hi: 0x91},\n\t{value: 0x8101, lo: 0x92, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x97},\n\t{value: 0x8101, lo: 0x98, hi: 0x9a},\n\t{value: 0x8132, lo: 0x9b, hi: 0x9c},\n\t{value: 0x8132, lo: 0xa1, hi: 0xa1},\n\t{value: 0x8101, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa7},\n\t{value: 0x812d, lo: 0xa8, hi: 0xa8},\n\t{value: 0x8132, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8101, lo: 0xaa, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t// Block 0x41, offset 0x1a1\n\t{value: 0x0007, lo: 0x06},\n\t{value: 0x2180, lo: 0x89, hi: 0x89},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t{value: 0x3bb9, lo: 0x9a, hi: 0x9b},\n\t{value: 0x3bc7, lo: 0xae, hi: 0xae},\n\t// Block 0x42, offset 0x1a8\n\t{value: 0x000e, lo: 0x05},\n\t{value: 0x3bce, lo: 0x8d, hi: 0x8e},\n\t{value: 0x3bd5, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t// Block 0x43, offset 0x1ae\n\t{value: 0x0173, lo: 0x0e},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0x3be3, lo: 0x84, hi: 0x84},\n\t{value: 0xa000, lo: 0x88, hi: 0x88},\n\t{value: 0x3bea, lo: 0x89, hi: 0x89},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0x3bf1, lo: 0x8c, hi: 0x8c},\n\t{value: 0xa000, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3bf8, lo: 0xa4, hi: 0xa4},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3bff, lo: 0xa6, hi: 0xa6},\n\t{value: 0x269f, lo: 0xac, hi: 0xad},\n\t{value: 0x26a6, lo: 0xaf, hi: 0xaf},\n\t{value: 0x281c, lo: 0xb0, hi: 0xb0},\n\t{value: 0xa000, lo: 0xbc, hi: 0xbc},\n\t// Block 0x44, offset 0x1bd\n\t{value: 0x0007, lo: 0x03},\n\t{value: 0x3c68, lo: 0xa0, hi: 0xa1},\n\t{value: 0x3c92, lo: 0xa2, hi: 0xa3},\n\t{value: 0x3cbc, lo: 0xaa, hi: 0xad},\n\t// Block 0x45, offset 0x1c1\n\t{value: 0x0004, lo: 0x01},\n\t{value: 0x048b, lo: 0xa9, hi: 0xaa},\n\t// Block 0x46, offset 0x1c3\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x0057, lo: 0x80, hi: 0x8f},\n\t{value: 0x0083, lo: 0x90, hi: 0xa9},\n\t{value: 0x0021, lo: 0xaa, hi: 0xaa},\n\t// Block 0x47, offset 0x1c7\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x299b, lo: 0x8c, hi: 0x8c},\n\t// Block 0x48, offset 0x1c9\n\t{value: 0x0263, lo: 0x02},\n\t{value: 0x1b8c, lo: 0xb4, hi: 0xb4},\n\t{value: 0x192d, lo: 0xb5, hi: 0xb6},\n\t// Block 0x49, offset 0x1cc\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x44dd, lo: 0x9c, hi: 0x9c},\n\t// Block 0x4a, offset 0x1ce\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0095, lo: 0xbc, hi: 0xbc},\n\t{value: 0x006d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x4b, offset 0x1d1\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xaf, hi: 0xb1},\n\t// Block 0x4c, offset 0x1d3\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x047f, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x4d, offset 0x1d6\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xa0, hi: 0xbf},\n\t// Block 0x4e, offset 0x1d8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0dc3, lo: 0x9f, hi: 0x9f},\n\t// Block 0x4f, offset 0x1da\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x162f, lo: 0xb3, hi: 0xb3},\n\t// Block 0x50, offset 0x1dc\n\t{value: 0x0004, lo: 0x0b},\n\t{value: 0x1597, lo: 0x80, hi: 0x82},\n\t{value: 0x15af, lo: 0x83, hi: 0x83},\n\t{value: 0x15c7, lo: 0x84, hi: 0x85},\n\t{value: 0x15d7, lo: 0x86, hi: 0x89},\n\t{value: 0x15eb, lo: 0x8a, hi: 0x8c},\n\t{value: 0x15ff, lo: 0x8d, hi: 0x8d},\n\t{value: 0x1607, lo: 0x8e, hi: 0x8e},\n\t{value: 0x160f, lo: 0x8f, hi: 0x90},\n\t{value: 0x161b, lo: 0x91, hi: 0x93},\n\t{value: 0x162b, lo: 0x94, hi: 0x94},\n\t{value: 0x1633, lo: 0x95, hi: 0x95},\n\t// Block 0x51, offset 0x1e8\n\t{value: 0x0004, lo: 0x09},\n\t{value: 0x0001, lo: 0x80, hi: 0x80},\n\t{value: 0x812c, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8131, lo: 0xab, hi: 0xab},\n\t{value: 0x8133, lo: 0xac, hi: 0xac},\n\t{value: 0x812e, lo: 0xad, hi: 0xad},\n\t{value: 0x812f, lo: 0xae, hi: 0xae},\n\t{value: 0x812f, lo: 0xaf, hi: 0xaf},\n\t{value: 0x04b3, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0887, lo: 0xb8, hi: 0xba},\n\t// Block 0x52, offset 0x1f2\n\t{value: 0x0006, lo: 0x09},\n\t{value: 0x0313, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0317, lo: 0xb2, hi: 0xb2},\n\t{value: 0x4a3b, lo: 0xb3, hi: 0xb3},\n\t{value: 0x031b, lo: 0xb4, hi: 0xb4},\n\t{value: 0x4a41, lo: 0xb5, hi: 0xb6},\n\t{value: 0x031f, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0323, lo: 0xb8, hi: 0xb8},\n\t{value: 0x0327, lo: 0xb9, hi: 0xb9},\n\t{value: 0x4a4d, lo: 0xba, hi: 0xbf},\n\t// Block 0x53, offset 0x1fc\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb4, hi: 0xbd},\n\t// Block 0x54, offset 0x1ff\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x020f, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0212, lo: 0x9d, hi: 0x9d},\n\t{value: 0x8132, lo: 0x9e, hi: 0x9f},\n\t// Block 0x55, offset 0x203\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb1},\n\t// Block 0x56, offset 0x205\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x163b, lo: 0xb0, hi: 0xb0},\n\t// Block 0x57, offset 0x207\n\t{value: 0x000c, lo: 0x01},\n\t{value: 0x00d7, lo: 0xb8, hi: 0xb9},\n\t// Block 0x58, offset 0x209\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t// Block 0x59, offset 0x20b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xa0, hi: 0xb1},\n\t// Block 0x5a, offset 0x20e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xab, hi: 0xad},\n\t// Block 0x5b, offset 0x210\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x93, hi: 0x93},\n\t// Block 0x5c, offset 0x212\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb3, hi: 0xb3},\n\t// Block 0x5d, offset 0x214\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t// Block 0x5e, offset 0x216\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x8132, lo: 0xbe, hi: 0xbf},\n\t// Block 0x5f, offset 0x21c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t// Block 0x60, offset 0x21f\n\t{value: 0x0008, lo: 0x03},\n\t{value: 0x1637, lo: 0x9c, hi: 0x9d},\n\t{value: 0x0125, lo: 0x9e, hi: 0x9e},\n\t{value: 0x1643, lo: 0x9f, hi: 0x9f},\n\t// Block 0x61, offset 0x223\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xad, hi: 0xad},\n\t// Block 0x62, offset 0x225\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xe500, lo: 0x80, hi: 0x80},\n\t{value: 0xc600, lo: 0x81, hi: 0x9b},\n\t{value: 0xe500, lo: 0x9c, hi: 0x9c},\n\t{value: 0xc600, lo: 0x9d, hi: 0xb7},\n\t{value: 0xe500, lo: 0xb8, hi: 0xb8},\n\t{value: 0xc600, lo: 0xb9, hi: 0xbf},\n\t// Block 0x63, offset 0x22c\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x93},\n\t{value: 0xe500, lo: 0x94, hi: 0x94},\n\t{value: 0xc600, lo: 0x95, hi: 0xaf},\n\t{value: 0xe500, lo: 0xb0, hi: 0xb0},\n\t{value: 0xc600, lo: 0xb1, hi: 0xbf},\n\t// Block 0x64, offset 0x232\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8b},\n\t{value: 0xe500, lo: 0x8c, hi: 0x8c},\n\t{value: 0xc600, lo: 0x8d, hi: 0xa7},\n\t{value: 0xe500, lo: 0xa8, hi: 0xa8},\n\t{value: 0xc600, lo: 0xa9, hi: 0xbf},\n\t// Block 0x65, offset 0x238\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xc600, lo: 0x80, hi: 0x83},\n\t{value: 0xe500, lo: 0x84, hi: 0x84},\n\t{value: 0xc600, lo: 0x85, hi: 0x9f},\n\t{value: 0xe500, lo: 0xa0, hi: 0xa0},\n\t{value: 0xc600, lo: 0xa1, hi: 0xbb},\n\t{value: 0xe500, lo: 0xbc, hi: 0xbc},\n\t{value: 0xc600, lo: 0xbd, hi: 0xbf},\n\t// Block 0x66, offset 0x240\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x97},\n\t{value: 0xe500, lo: 0x98, hi: 0x98},\n\t{value: 0xc600, lo: 0x99, hi: 0xb3},\n\t{value: 0xe500, lo: 0xb4, hi: 0xb4},\n\t{value: 0xc600, lo: 0xb5, hi: 0xbf},\n\t// Block 0x67, offset 0x246\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8f},\n\t{value: 0xe500, lo: 0x90, hi: 0x90},\n\t{value: 0xc600, lo: 0x91, hi: 0xab},\n\t{value: 0xe500, lo: 0xac, hi: 0xac},\n\t{value: 0xc600, lo: 0xad, hi: 0xbf},\n\t// Block 0x68, offset 0x24c\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t{value: 0xe500, lo: 0xa4, hi: 0xa4},\n\t{value: 0xc600, lo: 0xa5, hi: 0xbf},\n\t// Block 0x69, offset 0x252\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t// Block 0x6a, offset 0x256\n\t{value: 0x0002, lo: 0x01},\n\t{value: 0x0003, lo: 0x81, hi: 0xbf},\n\t// Block 0x6b, offset 0x258\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x6c, offset 0x25a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xa0, hi: 0xa0},\n\t// Block 0x6d, offset 0x25c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb6, hi: 0xba},\n\t// Block 0x6e, offset 0x25e\n\t{value: 0x002c, lo: 0x05},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x8f, hi: 0x8f},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb8},\n\t{value: 0x8101, lo: 0xb9, hi: 0xba},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x6f, offset 0x264\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t// Block 0x70, offset 0x267\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x71, offset 0x26a\n\t{value: 0x17fe, lo: 0x07},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x4238, lo: 0x9a, hi: 0x9a},\n\t{value: 0xa000, lo: 0x9b, hi: 0x9b},\n\t{value: 0x4242, lo: 0x9c, hi: 0x9c},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x424c, lo: 0xab, hi: 0xab},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x72, offset 0x272\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x8132, lo: 0x80, hi: 0x82},\n\t{value: 0x9900, lo: 0xa7, hi: 0xa7},\n\t{value: 0x2d7e, lo: 0xae, hi: 0xae},\n\t{value: 0x2d88, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb1, hi: 0xb2},\n\t{value: 0x8104, lo: 0xb3, hi: 0xb4},\n\t// Block 0x73, offset 0x279\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x74, offset 0x27c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb5, hi: 0xb5},\n\t{value: 0x8102, lo: 0xb6, hi: 0xb6},\n\t// Block 0x75, offset 0x27f\n\t{value: 0x0002, lo: 0x01},\n\t{value: 0x8102, lo: 0xa9, hi: 0xaa},\n\t// Block 0x76, offset 0x281\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2d92, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d9c, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x8132, lo: 0xa6, hi: 0xac},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t// Block 0x77, offset 0x289\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x86, hi: 0x86},\n\t// Block 0x78, offset 0x28c\n\t{value: 0x6b5a, lo: 0x06},\n\t{value: 0x9900, lo: 0xb0, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb9, hi: 0xb9},\n\t{value: 0x9900, lo: 0xba, hi: 0xba},\n\t{value: 0x2db0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x2da6, lo: 0xbc, hi: 0xbd},\n\t{value: 0x2dba, lo: 0xbe, hi: 0xbe},\n\t// Block 0x79, offset 0x293\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x83, hi: 0x83},\n\t// Block 0x7a, offset 0x296\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x9900, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb8, hi: 0xb9},\n\t{value: 0x2dc4, lo: 0xba, hi: 0xba},\n\t{value: 0x2dce, lo: 0xbb, hi: 0xbb},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x7b, offset 0x29c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0x80, hi: 0x80},\n\t// Block 0x7c, offset 0x29e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x7d, offset 0x2a0\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x7e, offset 0x2a3\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xab, hi: 0xab},\n\t// Block 0x7f, offset 0x2a5\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xb4, hi: 0xb4},\n\t// Block 0x80, offset 0x2a7\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x87, hi: 0x87},\n\t// Block 0x81, offset 0x2a9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x99, hi: 0x99},\n\t// Block 0x82, offset 0x2ab\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0x82, hi: 0x82},\n\t{value: 0x8104, lo: 0x84, hi: 0x85},\n\t// Block 0x83, offset 0x2ae\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0xb0, hi: 0xb4},\n\t// Block 0x84, offset 0x2b0\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb6},\n\t// Block 0x85, offset 0x2b2\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0x9e, hi: 0x9e},\n\t// Block 0x86, offset 0x2b4\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x45cc, lo: 0x9e, hi: 0x9e},\n\t{value: 0x45d6, lo: 0x9f, hi: 0x9f},\n\t{value: 0x460a, lo: 0xa0, hi: 0xa0},\n\t{value: 0x4618, lo: 0xa1, hi: 0xa1},\n\t{value: 0x4626, lo: 0xa2, hi: 0xa2},\n\t{value: 0x4634, lo: 0xa3, hi: 0xa3},\n\t{value: 0x4642, lo: 0xa4, hi: 0xa4},\n\t{value: 0x812b, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8101, lo: 0xa7, hi: 0xa9},\n\t{value: 0x8130, lo: 0xad, hi: 0xad},\n\t{value: 0x812b, lo: 0xae, hi: 0xb2},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbf},\n\t// Block 0x87, offset 0x2c1\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x812d, lo: 0x80, hi: 0x82},\n\t{value: 0x8132, lo: 0x85, hi: 0x89},\n\t{value: 0x812d, lo: 0x8a, hi: 0x8b},\n\t{value: 0x8132, lo: 0xaa, hi: 0xad},\n\t{value: 0x45e0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x45ea, lo: 0xbc, hi: 0xbc},\n\t{value: 0x4650, lo: 0xbd, hi: 0xbd},\n\t{value: 0x466c, lo: 0xbe, hi: 0xbe},\n\t{value: 0x465e, lo: 0xbf, hi: 0xbf},\n\t// Block 0x88, offset 0x2cb\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x467a, lo: 0x80, hi: 0x80},\n\t// Block 0x89, offset 0x2cd\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x82, hi: 0x84},\n\t// Block 0x8a, offset 0x2cf\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x0043, lo: 0x80, hi: 0x99},\n\t{value: 0x0083, lo: 0x9a, hi: 0xb3},\n\t{value: 0x0043, lo: 0xb4, hi: 0xbf},\n\t// Block 0x8b, offset 0x2d3\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x005b, lo: 0x80, hi: 0x8d},\n\t{value: 0x0083, lo: 0x8e, hi: 0x94},\n\t{value: 0x0093, lo: 0x96, hi: 0xa7},\n\t{value: 0x0043, lo: 0xa8, hi: 0xbf},\n\t// Block 0x8c, offset 0x2d8\n\t{value: 0x0002, lo: 0x0b},\n\t{value: 0x0073, lo: 0x80, hi: 0x81},\n\t{value: 0x0083, lo: 0x82, hi: 0x9b},\n\t{value: 0x0043, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0047, lo: 0x9e, hi: 0x9f},\n\t{value: 0x004f, lo: 0xa2, hi: 0xa2},\n\t{value: 0x0055, lo: 0xa5, hi: 0xa6},\n\t{value: 0x005d, lo: 0xa9, hi: 0xac},\n\t{value: 0x0067, lo: 0xae, hi: 0xb5},\n\t{value: 0x0083, lo: 0xb6, hi: 0xb9},\n\t{value: 0x008d, lo: 0xbb, hi: 0xbb},\n\t{value: 0x0091, lo: 0xbd, hi: 0xbf},\n\t// Block 0x8d, offset 0x2e4\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x0097, lo: 0x80, hi: 0x83},\n\t{value: 0x00a1, lo: 0x85, hi: 0x8f},\n\t{value: 0x0043, lo: 0x90, hi: 0xa9},\n\t{value: 0x0083, lo: 0xaa, hi: 0xbf},\n\t// Block 0x8e, offset 0x2e9\n\t{value: 0x0002, lo: 0x08},\n\t{value: 0x00af, lo: 0x80, hi: 0x83},\n\t{value: 0x0043, lo: 0x84, hi: 0x85},\n\t{value: 0x0049, lo: 0x87, hi: 0x8a},\n\t{value: 0x0055, lo: 0x8d, hi: 0x94},\n\t{value: 0x0067, lo: 0x96, hi: 0x9c},\n\t{value: 0x0083, lo: 0x9e, hi: 0xb7},\n\t{value: 0x0043, lo: 0xb8, hi: 0xb9},\n\t{value: 0x0049, lo: 0xbb, hi: 0xbe},\n\t// Block 0x8f, offset 0x2f2\n\t{value: 0x0002, lo: 0x05},\n\t{value: 0x0053, lo: 0x80, hi: 0x84},\n\t{value: 0x005f, lo: 0x86, hi: 0x86},\n\t{value: 0x0067, lo: 0x8a, hi: 0x90},\n\t{value: 0x0083, lo: 0x92, hi: 0xab},\n\t{value: 0x0043, lo: 0xac, hi: 0xbf},\n\t// Block 0x90, offset 0x2f8\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x006b, lo: 0x80, hi: 0x85},\n\t{value: 0x0083, lo: 0x86, hi: 0x9f},\n\t{value: 0x0043, lo: 0xa0, hi: 0xb9},\n\t{value: 0x0083, lo: 0xba, hi: 0xbf},\n\t// Block 0x91, offset 0x2fd\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x008f, lo: 0x80, hi: 0x93},\n\t{value: 0x0043, lo: 0x94, hi: 0xad},\n\t{value: 0x0083, lo: 0xae, hi: 0xbf},\n\t// Block 0x92, offset 0x301\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x00a7, lo: 0x80, hi: 0x87},\n\t{value: 0x0043, lo: 0x88, hi: 0xa1},\n\t{value: 0x0083, lo: 0xa2, hi: 0xbb},\n\t{value: 0x0043, lo: 0xbc, hi: 0xbf},\n\t// Block 0x93, offset 0x306\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x004b, lo: 0x80, hi: 0x95},\n\t{value: 0x0083, lo: 0x96, hi: 0xaf},\n\t{value: 0x0043, lo: 0xb0, hi: 0xbf},\n\t// Block 0x94, offset 0x30a\n\t{value: 0x0003, lo: 0x0f},\n\t{value: 0x01b8, lo: 0x80, hi: 0x80},\n\t{value: 0x045f, lo: 0x81, hi: 0x81},\n\t{value: 0x01bb, lo: 0x82, hi: 0x9a},\n\t{value: 0x045b, lo: 0x9b, hi: 0x9b},\n\t{value: 0x01c7, lo: 0x9c, hi: 0x9c},\n\t{value: 0x01d0, lo: 0x9d, hi: 0x9d},\n\t{value: 0x01d6, lo: 0x9e, hi: 0x9e},\n\t{value: 0x01fa, lo: 0x9f, hi: 0x9f},\n\t{value: 0x01eb, lo: 0xa0, hi: 0xa0},\n\t{value: 0x01e8, lo: 0xa1, hi: 0xa1},\n\t{value: 0x0173, lo: 0xa2, hi: 0xb2},\n\t{value: 0x0188, lo: 0xb3, hi: 0xb3},\n\t{value: 0x01a6, lo: 0xb4, hi: 0xba},\n\t{value: 0x045f, lo: 0xbb, hi: 0xbb},\n\t{value: 0x01bb, lo: 0xbc, hi: 0xbf},\n\t// Block 0x95, offset 0x31a\n\t{value: 0x0003, lo: 0x0d},\n\t{value: 0x01c7, lo: 0x80, hi: 0x94},\n\t{value: 0x045b, lo: 0x95, hi: 0x95},\n\t{value: 0x01c7, lo: 0x96, hi: 0x96},\n\t{value: 0x01d0, lo: 0x97, hi: 0x97},\n\t{value: 0x01d6, lo: 0x98, hi: 0x98},\n\t{value: 0x01fa, lo: 0x99, hi: 0x99},\n\t{value: 0x01eb, lo: 0x9a, hi: 0x9a},\n\t{value: 0x01e8, lo: 0x9b, hi: 0x9b},\n\t{value: 0x0173, lo: 0x9c, hi: 0xac},\n\t{value: 0x0188, lo: 0xad, hi: 0xad},\n\t{value: 0x01a6, lo: 0xae, hi: 0xb4},\n\t{value: 0x045f, lo: 0xb5, hi: 0xb5},\n\t{value: 0x01bb, lo: 0xb6, hi: 0xbf},\n\t// Block 0x96, offset 0x328\n\t{value: 0x0003, lo: 0x0d},\n\t{value: 0x01d9, lo: 0x80, hi: 0x8e},\n\t{value: 0x045b, lo: 0x8f, hi: 0x8f},\n\t{value: 0x01c7, lo: 0x90, hi: 0x90},\n\t{value: 0x01d0, lo: 0x91, hi: 0x91},\n\t{value: 0x01d6, lo: 0x92, hi: 0x92},\n\t{value: 0x01fa, lo: 0x93, hi: 0x93},\n\t{value: 0x01eb, lo: 0x94, hi: 0x94},\n\t{value: 0x01e8, lo: 0x95, hi: 0x95},\n\t{value: 0x0173, lo: 0x96, hi: 0xa6},\n\t{value: 0x0188, lo: 0xa7, hi: 0xa7},\n\t{value: 0x01a6, lo: 0xa8, hi: 0xae},\n\t{value: 0x045f, lo: 0xaf, hi: 0xaf},\n\t{value: 0x01bb, lo: 0xb0, hi: 0xbf},\n\t// Block 0x97, offset 0x336\n\t{value: 0x0003, lo: 0x0d},\n\t{value: 0x01eb, lo: 0x80, hi: 0x88},\n\t{value: 0x045b, lo: 0x89, hi: 0x89},\n\t{value: 0x01c7, lo: 0x8a, hi: 0x8a},\n\t{value: 0x01d0, lo: 0x8b, hi: 0x8b},\n\t{value: 0x01d6, lo: 0x8c, hi: 0x8c},\n\t{value: 0x01fa, lo: 0x8d, hi: 0x8d},\n\t{value: 0x01eb, lo: 0x8e, hi: 0x8e},\n\t{value: 0x01e8, lo: 0x8f, hi: 0x8f},\n\t{value: 0x0173, lo: 0x90, hi: 0xa0},\n\t{value: 0x0188, lo: 0xa1, hi: 0xa1},\n\t{value: 0x01a6, lo: 0xa2, hi: 0xa8},\n\t{value: 0x045f, lo: 0xa9, hi: 0xa9},\n\t{value: 0x01bb, lo: 0xaa, hi: 0xbf},\n\t// Block 0x98, offset 0x344\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0x80, hi: 0x86},\n\t{value: 0x8132, lo: 0x88, hi: 0x98},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa1},\n\t{value: 0x8132, lo: 0xa3, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa6, hi: 0xaa},\n\t// Block 0x99, offset 0x34a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x90, hi: 0x96},\n\t// Block 0x9a, offset 0x34c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x84, hi: 0x89},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x9b, offset 0x34f\n\t{value: 0x0002, lo: 0x09},\n\t{value: 0x0063, lo: 0x80, hi: 0x89},\n\t{value: 0x1951, lo: 0x8a, hi: 0x8a},\n\t{value: 0x1981, lo: 0x8b, hi: 0x8b},\n\t{value: 0x199c, lo: 0x8c, hi: 0x8c},\n\t{value: 0x19a2, lo: 0x8d, hi: 0x8d},\n\t{value: 0x1bc0, lo: 0x8e, hi: 0x8e},\n\t{value: 0x19ae, lo: 0x8f, hi: 0x8f},\n\t{value: 0x197b, lo: 0xaa, hi: 0xaa},\n\t{value: 0x197e, lo: 0xab, hi: 0xab},\n\t// Block 0x9c, offset 0x359\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x193f, lo: 0x90, hi: 0x90},\n\t// Block 0x9d, offset 0x35b\n\t{value: 0x0028, lo: 0x09},\n\t{value: 0x2862, lo: 0x80, hi: 0x80},\n\t{value: 0x2826, lo: 0x81, hi: 0x81},\n\t{value: 0x2830, lo: 0x82, hi: 0x82},\n\t{value: 0x2844, lo: 0x83, hi: 0x84},\n\t{value: 0x284e, lo: 0x85, hi: 0x86},\n\t{value: 0x283a, lo: 0x87, hi: 0x87},\n\t{value: 0x2858, lo: 0x88, hi: 0x88},\n\t{value: 0x0b6f, lo: 0x90, hi: 0x90},\n\t{value: 0x08e7, lo: 0x91, hi: 0x91},\n}\n\n// recompMap: 7520 bytes (entries only)\nvar recompMap = map[uint32]rune{\n\t0x00410300: 0x00C0,\n\t0x00410301: 0x00C1,\n\t0x00410302: 0x00C2,\n\t0x00410303: 0x00C3,\n\t0x00410308: 0x00C4,\n\t0x0041030A: 0x00C5,\n\t0x00430327: 0x00C7,\n\t0x00450300: 0x00C8,\n\t0x00450301: 0x00C9,\n\t0x00450302: 0x00CA,\n\t0x00450308: 0x00CB,\n\t0x00490300: 0x00CC,\n\t0x00490301: 0x00CD,\n\t0x00490302: 0x00CE,\n\t0x00490308: 0x00CF,\n\t0x004E0303: 0x00D1,\n\t0x004F0300: 0x00D2,\n\t0x004F0301: 0x00D3,\n\t0x004F0302: 0x00D4,\n\t0x004F0303: 0x00D5,\n\t0x004F0308: 0x00D6,\n\t0x00550300: 0x00D9,\n\t0x00550301: 0x00DA,\n\t0x00550302: 0x00DB,\n\t0x00550308: 0x00DC,\n\t0x00590301: 0x00DD,\n\t0x00610300: 0x00E0,\n\t0x00610301: 0x00E1,\n\t0x00610302: 0x00E2,\n\t0x00610303: 0x00E3,\n\t0x00610308: 0x00E4,\n\t0x0061030A: 0x00E5,\n\t0x00630327: 0x00E7,\n\t0x00650300: 0x00E8,\n\t0x00650301: 0x00E9,\n\t0x00650302: 0x00EA,\n\t0x00650308: 0x00EB,\n\t0x00690300: 0x00EC,\n\t0x00690301: 0x00ED,\n\t0x00690302: 0x00EE,\n\t0x00690308: 0x00EF,\n\t0x006E0303: 0x00F1,\n\t0x006F0300: 0x00F2,\n\t0x006F0301: 0x00F3,\n\t0x006F0302: 0x00F4,\n\t0x006F0303: 0x00F5,\n\t0x006F0308: 0x00F6,\n\t0x00750300: 0x00F9,\n\t0x00750301: 0x00FA,\n\t0x00750302: 0x00FB,\n\t0x00750308: 0x00FC,\n\t0x00790301: 0x00FD,\n\t0x00790308: 0x00FF,\n\t0x00410304: 0x0100,\n\t0x00610304: 0x0101,\n\t0x00410306: 0x0102,\n\t0x00610306: 0x0103,\n\t0x00410328: 0x0104,\n\t0x00610328: 0x0105,\n\t0x00430301: 0x0106,\n\t0x00630301: 0x0107,\n\t0x00430302: 0x0108,\n\t0x00630302: 0x0109,\n\t0x00430307: 0x010A,\n\t0x00630307: 0x010B,\n\t0x0043030C: 0x010C,\n\t0x0063030C: 0x010D,\n\t0x0044030C: 0x010E,\n\t0x0064030C: 0x010F,\n\t0x00450304: 0x0112,\n\t0x00650304: 0x0113,\n\t0x00450306: 0x0114,\n\t0x00650306: 0x0115,\n\t0x00450307: 0x0116,\n\t0x00650307: 0x0117,\n\t0x00450328: 0x0118,\n\t0x00650328: 0x0119,\n\t0x0045030C: 0x011A,\n\t0x0065030C: 0x011B,\n\t0x00470302: 0x011C,\n\t0x00670302: 0x011D,\n\t0x00470306: 0x011E,\n\t0x00670306: 0x011F,\n\t0x00470307: 0x0120,\n\t0x00670307: 0x0121,\n\t0x00470327: 0x0122,\n\t0x00670327: 0x0123,\n\t0x00480302: 0x0124,\n\t0x00680302: 0x0125,\n\t0x00490303: 0x0128,\n\t0x00690303: 0x0129,\n\t0x00490304: 0x012A,\n\t0x00690304: 0x012B,\n\t0x00490306: 0x012C,\n\t0x00690306: 0x012D,\n\t0x00490328: 0x012E,\n\t0x00690328: 0x012F,\n\t0x00490307: 0x0130,\n\t0x004A0302: 0x0134,\n\t0x006A0302: 0x0135,\n\t0x004B0327: 0x0136,\n\t0x006B0327: 0x0137,\n\t0x004C0301: 0x0139,\n\t0x006C0301: 0x013A,\n\t0x004C0327: 0x013B,\n\t0x006C0327: 0x013C,\n\t0x004C030C: 0x013D,\n\t0x006C030C: 0x013E,\n\t0x004E0301: 0x0143,\n\t0x006E0301: 0x0144,\n\t0x004E0327: 0x0145,\n\t0x006E0327: 0x0146,\n\t0x004E030C: 0x0147,\n\t0x006E030C: 0x0148,\n\t0x004F0304: 0x014C,\n\t0x006F0304: 0x014D,\n\t0x004F0306: 0x014E,\n\t0x006F0306: 0x014F,\n\t0x004F030B: 0x0150,\n\t0x006F030B: 0x0151,\n\t0x00520301: 0x0154,\n\t0x00720301: 0x0155,\n\t0x00520327: 0x0156,\n\t0x00720327: 0x0157,\n\t0x0052030C: 0x0158,\n\t0x0072030C: 0x0159,\n\t0x00530301: 0x015A,\n\t0x00730301: 0x015B,\n\t0x00530302: 0x015C,\n\t0x00730302: 0x015D,\n\t0x00530327: 0x015E,\n\t0x00730327: 0x015F,\n\t0x0053030C: 0x0160,\n\t0x0073030C: 0x0161,\n\t0x00540327: 0x0162,\n\t0x00740327: 0x0163,\n\t0x0054030C: 0x0164,\n\t0x0074030C: 0x0165,\n\t0x00550303: 0x0168,\n\t0x00750303: 0x0169,\n\t0x00550304: 0x016A,\n\t0x00750304: 0x016B,\n\t0x00550306: 0x016C,\n\t0x00750306: 0x016D,\n\t0x0055030A: 0x016E,\n\t0x0075030A: 0x016F,\n\t0x0055030B: 0x0170,\n\t0x0075030B: 0x0171,\n\t0x00550328: 0x0172,\n\t0x00750328: 0x0173,\n\t0x00570302: 0x0174,\n\t0x00770302: 0x0175,\n\t0x00590302: 0x0176,\n\t0x00790302: 0x0177,\n\t0x00590308: 0x0178,\n\t0x005A0301: 0x0179,\n\t0x007A0301: 0x017A,\n\t0x005A0307: 0x017B,\n\t0x007A0307: 0x017C,\n\t0x005A030C: 0x017D,\n\t0x007A030C: 0x017E,\n\t0x004F031B: 0x01A0,\n\t0x006F031B: 0x01A1,\n\t0x0055031B: 0x01AF,\n\t0x0075031B: 0x01B0,\n\t0x0041030C: 0x01CD,\n\t0x0061030C: 0x01CE,\n\t0x0049030C: 0x01CF,\n\t0x0069030C: 0x01D0,\n\t0x004F030C: 0x01D1,\n\t0x006F030C: 0x01D2,\n\t0x0055030C: 0x01D3,\n\t0x0075030C: 0x01D4,\n\t0x00DC0304: 0x01D5,\n\t0x00FC0304: 0x01D6,\n\t0x00DC0301: 0x01D7,\n\t0x00FC0301: 0x01D8,\n\t0x00DC030C: 0x01D9,\n\t0x00FC030C: 0x01DA,\n\t0x00DC0300: 0x01DB,\n\t0x00FC0300: 0x01DC,\n\t0x00C40304: 0x01DE,\n\t0x00E40304: 0x01DF,\n\t0x02260304: 0x01E0,\n\t0x02270304: 0x01E1,\n\t0x00C60304: 0x01E2,\n\t0x00E60304: 0x01E3,\n\t0x0047030C: 0x01E6,\n\t0x0067030C: 0x01E7,\n\t0x004B030C: 0x01E8,\n\t0x006B030C: 0x01E9,\n\t0x004F0328: 0x01EA,\n\t0x006F0328: 0x01EB,\n\t0x01EA0304: 0x01EC,\n\t0x01EB0304: 0x01ED,\n\t0x01B7030C: 0x01EE,\n\t0x0292030C: 0x01EF,\n\t0x006A030C: 0x01F0,\n\t0x00470301: 0x01F4,\n\t0x00670301: 0x01F5,\n\t0x004E0300: 0x01F8,\n\t0x006E0300: 0x01F9,\n\t0x00C50301: 0x01FA,\n\t0x00E50301: 0x01FB,\n\t0x00C60301: 0x01FC,\n\t0x00E60301: 0x01FD,\n\t0x00D80301: 0x01FE,\n\t0x00F80301: 0x01FF,\n\t0x0041030F: 0x0200,\n\t0x0061030F: 0x0201,\n\t0x00410311: 0x0202,\n\t0x00610311: 0x0203,\n\t0x0045030F: 0x0204,\n\t0x0065030F: 0x0205,\n\t0x00450311: 0x0206,\n\t0x00650311: 0x0207,\n\t0x0049030F: 0x0208,\n\t0x0069030F: 0x0209,\n\t0x00490311: 0x020A,\n\t0x00690311: 0x020B,\n\t0x004F030F: 0x020C,\n\t0x006F030F: 0x020D,\n\t0x004F0311: 0x020E,\n\t0x006F0311: 0x020F,\n\t0x0052030F: 0x0210,\n\t0x0072030F: 0x0211,\n\t0x00520311: 0x0212,\n\t0x00720311: 0x0213,\n\t0x0055030F: 0x0214,\n\t0x0075030F: 0x0215,\n\t0x00550311: 0x0216,\n\t0x00750311: 0x0217,\n\t0x00530326: 0x0218,\n\t0x00730326: 0x0219,\n\t0x00540326: 0x021A,\n\t0x00740326: 0x021B,\n\t0x0048030C: 0x021E,\n\t0x0068030C: 0x021F,\n\t0x00410307: 0x0226,\n\t0x00610307: 0x0227,\n\t0x00450327: 0x0228,\n\t0x00650327: 0x0229,\n\t0x00D60304: 0x022A,\n\t0x00F60304: 0x022B,\n\t0x00D50304: 0x022C,\n\t0x00F50304: 0x022D,\n\t0x004F0307: 0x022E,\n\t0x006F0307: 0x022F,\n\t0x022E0304: 0x0230,\n\t0x022F0304: 0x0231,\n\t0x00590304: 0x0232,\n\t0x00790304: 0x0233,\n\t0x00A80301: 0x0385,\n\t0x03910301: 0x0386,\n\t0x03950301: 0x0388,\n\t0x03970301: 0x0389,\n\t0x03990301: 0x038A,\n\t0x039F0301: 0x038C,\n\t0x03A50301: 0x038E,\n\t0x03A90301: 0x038F,\n\t0x03CA0301: 0x0390,\n\t0x03990308: 0x03AA,\n\t0x03A50308: 0x03AB,\n\t0x03B10301: 0x03AC,\n\t0x03B50301: 0x03AD,\n\t0x03B70301: 0x03AE,\n\t0x03B90301: 0x03AF,\n\t0x03CB0301: 0x03B0,\n\t0x03B90308: 0x03CA,\n\t0x03C50308: 0x03CB,\n\t0x03BF0301: 0x03CC,\n\t0x03C50301: 0x03CD,\n\t0x03C90301: 0x03CE,\n\t0x03D20301: 0x03D3,\n\t0x03D20308: 0x03D4,\n\t0x04150300: 0x0400,\n\t0x04150308: 0x0401,\n\t0x04130301: 0x0403,\n\t0x04060308: 0x0407,\n\t0x041A0301: 0x040C,\n\t0x04180300: 0x040D,\n\t0x04230306: 0x040E,\n\t0x04180306: 0x0419,\n\t0x04380306: 0x0439,\n\t0x04350300: 0x0450,\n\t0x04350308: 0x0451,\n\t0x04330301: 0x0453,\n\t0x04560308: 0x0457,\n\t0x043A0301: 0x045C,\n\t0x04380300: 0x045D,\n\t0x04430306: 0x045E,\n\t0x0474030F: 0x0476,\n\t0x0475030F: 0x0477,\n\t0x04160306: 0x04C1,\n\t0x04360306: 0x04C2,\n\t0x04100306: 0x04D0,\n\t0x04300306: 0x04D1,\n\t0x04100308: 0x04D2,\n\t0x04300308: 0x04D3,\n\t0x04150306: 0x04D6,\n\t0x04350306: 0x04D7,\n\t0x04D80308: 0x04DA,\n\t0x04D90308: 0x04DB,\n\t0x04160308: 0x04DC,\n\t0x04360308: 0x04DD,\n\t0x04170308: 0x04DE,\n\t0x04370308: 0x04DF,\n\t0x04180304: 0x04E2,\n\t0x04380304: 0x04E3,\n\t0x04180308: 0x04E4,\n\t0x04380308: 0x04E5,\n\t0x041E0308: 0x04E6,\n\t0x043E0308: 0x04E7,\n\t0x04E80308: 0x04EA,\n\t0x04E90308: 0x04EB,\n\t0x042D0308: 0x04EC,\n\t0x044D0308: 0x04ED,\n\t0x04230304: 0x04EE,\n\t0x04430304: 0x04EF,\n\t0x04230308: 0x04F0,\n\t0x04430308: 0x04F1,\n\t0x0423030B: 0x04F2,\n\t0x0443030B: 0x04F3,\n\t0x04270308: 0x04F4,\n\t0x04470308: 0x04F5,\n\t0x042B0308: 0x04F8,\n\t0x044B0308: 0x04F9,\n\t0x06270653: 0x0622,\n\t0x06270654: 0x0623,\n\t0x06480654: 0x0624,\n\t0x06270655: 0x0625,\n\t0x064A0654: 0x0626,\n\t0x06D50654: 0x06C0,\n\t0x06C10654: 0x06C2,\n\t0x06D20654: 0x06D3,\n\t0x0928093C: 0x0929,\n\t0x0930093C: 0x0931,\n\t0x0933093C: 0x0934,\n\t0x09C709BE: 0x09CB,\n\t0x09C709D7: 0x09CC,\n\t0x0B470B56: 0x0B48,\n\t0x0B470B3E: 0x0B4B,\n\t0x0B470B57: 0x0B4C,\n\t0x0B920BD7: 0x0B94,\n\t0x0BC60BBE: 0x0BCA,\n\t0x0BC70BBE: 0x0BCB,\n\t0x0BC60BD7: 0x0BCC,\n\t0x0C460C56: 0x0C48,\n\t0x0CBF0CD5: 0x0CC0,\n\t0x0CC60CD5: 0x0CC7,\n\t0x0CC60CD6: 0x0CC8,\n\t0x0CC60CC2: 0x0CCA,\n\t0x0CCA0CD5: 0x0CCB,\n\t0x0D460D3E: 0x0D4A,\n\t0x0D470D3E: 0x0D4B,\n\t0x0D460D57: 0x0D4C,\n\t0x0DD90DCA: 0x0DDA,\n\t0x0DD90DCF: 0x0DDC,\n\t0x0DDC0DCA: 0x0DDD,\n\t0x0DD90DDF: 0x0DDE,\n\t0x1025102E: 0x1026,\n\t0x1B051B35: 0x1B06,\n\t0x1B071B35: 0x1B08,\n\t0x1B091B35: 0x1B0A,\n\t0x1B0B1B35: 0x1B0C,\n\t0x1B0D1B35: 0x1B0E,\n\t0x1B111B35: 0x1B12,\n\t0x1B3A1B35: 0x1B3B,\n\t0x1B3C1B35: 0x1B3D,\n\t0x1B3E1B35: 0x1B40,\n\t0x1B3F1B35: 0x1B41,\n\t0x1B421B35: 0x1B43,\n\t0x00410325: 0x1E00,\n\t0x00610325: 0x1E01,\n\t0x00420307: 0x1E02,\n\t0x00620307: 0x1E03,\n\t0x00420323: 0x1E04,\n\t0x00620323: 0x1E05,\n\t0x00420331: 0x1E06,\n\t0x00620331: 0x1E07,\n\t0x00C70301: 0x1E08,\n\t0x00E70301: 0x1E09,\n\t0x00440307: 0x1E0A,\n\t0x00640307: 0x1E0B,\n\t0x00440323: 0x1E0C,\n\t0x00640323: 0x1E0D,\n\t0x00440331: 0x1E0E,\n\t0x00640331: 0x1E0F,\n\t0x00440327: 0x1E10,\n\t0x00640327: 0x1E11,\n\t0x0044032D: 0x1E12,\n\t0x0064032D: 0x1E13,\n\t0x01120300: 0x1E14,\n\t0x01130300: 0x1E15,\n\t0x01120301: 0x1E16,\n\t0x01130301: 0x1E17,\n\t0x0045032D: 0x1E18,\n\t0x0065032D: 0x1E19,\n\t0x00450330: 0x1E1A,\n\t0x00650330: 0x1E1B,\n\t0x02280306: 0x1E1C,\n\t0x02290306: 0x1E1D,\n\t0x00460307: 0x1E1E,\n\t0x00660307: 0x1E1F,\n\t0x00470304: 0x1E20,\n\t0x00670304: 0x1E21,\n\t0x00480307: 0x1E22,\n\t0x00680307: 0x1E23,\n\t0x00480323: 0x1E24,\n\t0x00680323: 0x1E25,\n\t0x00480308: 0x1E26,\n\t0x00680308: 0x1E27,\n\t0x00480327: 0x1E28,\n\t0x00680327: 0x1E29,\n\t0x0048032E: 0x1E2A,\n\t0x0068032E: 0x1E2B,\n\t0x00490330: 0x1E2C,\n\t0x00690330: 0x1E2D,\n\t0x00CF0301: 0x1E2E,\n\t0x00EF0301: 0x1E2F,\n\t0x004B0301: 0x1E30,\n\t0x006B0301: 0x1E31,\n\t0x004B0323: 0x1E32,\n\t0x006B0323: 0x1E33,\n\t0x004B0331: 0x1E34,\n\t0x006B0331: 0x1E35,\n\t0x004C0323: 0x1E36,\n\t0x006C0323: 0x1E37,\n\t0x1E360304: 0x1E38,\n\t0x1E370304: 0x1E39,\n\t0x004C0331: 0x1E3A,\n\t0x006C0331: 0x1E3B,\n\t0x004C032D: 0x1E3C,\n\t0x006C032D: 0x1E3D,\n\t0x004D0301: 0x1E3E,\n\t0x006D0301: 0x1E3F,\n\t0x004D0307: 0x1E40,\n\t0x006D0307: 0x1E41,\n\t0x004D0323: 0x1E42,\n\t0x006D0323: 0x1E43,\n\t0x004E0307: 0x1E44,\n\t0x006E0307: 0x1E45,\n\t0x004E0323: 0x1E46,\n\t0x006E0323: 0x1E47,\n\t0x004E0331: 0x1E48,\n\t0x006E0331: 0x1E49,\n\t0x004E032D: 0x1E4A,\n\t0x006E032D: 0x1E4B,\n\t0x00D50301: 0x1E4C,\n\t0x00F50301: 0x1E4D,\n\t0x00D50308: 0x1E4E,\n\t0x00F50308: 0x1E4F,\n\t0x014C0300: 0x1E50,\n\t0x014D0300: 0x1E51,\n\t0x014C0301: 0x1E52,\n\t0x014D0301: 0x1E53,\n\t0x00500301: 0x1E54,\n\t0x00700301: 0x1E55,\n\t0x00500307: 0x1E56,\n\t0x00700307: 0x1E57,\n\t0x00520307: 0x1E58,\n\t0x00720307: 0x1E59,\n\t0x00520323: 0x1E5A,\n\t0x00720323: 0x1E5B,\n\t0x1E5A0304: 0x1E5C,\n\t0x1E5B0304: 0x1E5D,\n\t0x00520331: 0x1E5E,\n\t0x00720331: 0x1E5F,\n\t0x00530307: 0x1E60,\n\t0x00730307: 0x1E61,\n\t0x00530323: 0x1E62,\n\t0x00730323: 0x1E63,\n\t0x015A0307: 0x1E64,\n\t0x015B0307: 0x1E65,\n\t0x01600307: 0x1E66,\n\t0x01610307: 0x1E67,\n\t0x1E620307: 0x1E68,\n\t0x1E630307: 0x1E69,\n\t0x00540307: 0x1E6A,\n\t0x00740307: 0x1E6B,\n\t0x00540323: 0x1E6C,\n\t0x00740323: 0x1E6D,\n\t0x00540331: 0x1E6E,\n\t0x00740331: 0x1E6F,\n\t0x0054032D: 0x1E70,\n\t0x0074032D: 0x1E71,\n\t0x00550324: 0x1E72,\n\t0x00750324: 0x1E73,\n\t0x00550330: 0x1E74,\n\t0x00750330: 0x1E75,\n\t0x0055032D: 0x1E76,\n\t0x0075032D: 0x1E77,\n\t0x01680301: 0x1E78,\n\t0x01690301: 0x1E79,\n\t0x016A0308: 0x1E7A,\n\t0x016B0308: 0x1E7B,\n\t0x00560303: 0x1E7C,\n\t0x00760303: 0x1E7D,\n\t0x00560323: 0x1E7E,\n\t0x00760323: 0x1E7F,\n\t0x00570300: 0x1E80,\n\t0x00770300: 0x1E81,\n\t0x00570301: 0x1E82,\n\t0x00770301: 0x1E83,\n\t0x00570308: 0x1E84,\n\t0x00770308: 0x1E85,\n\t0x00570307: 0x1E86,\n\t0x00770307: 0x1E87,\n\t0x00570323: 0x1E88,\n\t0x00770323: 0x1E89,\n\t0x00580307: 0x1E8A,\n\t0x00780307: 0x1E8B,\n\t0x00580308: 0x1E8C,\n\t0x00780308: 0x1E8D,\n\t0x00590307: 0x1E8E,\n\t0x00790307: 0x1E8F,\n\t0x005A0302: 0x1E90,\n\t0x007A0302: 0x1E91,\n\t0x005A0323: 0x1E92,\n\t0x007A0323: 0x1E93,\n\t0x005A0331: 0x1E94,\n\t0x007A0331: 0x1E95,\n\t0x00680331: 0x1E96,\n\t0x00740308: 0x1E97,\n\t0x0077030A: 0x1E98,\n\t0x0079030A: 0x1E99,\n\t0x017F0307: 0x1E9B,\n\t0x00410323: 0x1EA0,\n\t0x00610323: 0x1EA1,\n\t0x00410309: 0x1EA2,\n\t0x00610309: 0x1EA3,\n\t0x00C20301: 0x1EA4,\n\t0x00E20301: 0x1EA5,\n\t0x00C20300: 0x1EA6,\n\t0x00E20300: 0x1EA7,\n\t0x00C20309: 0x1EA8,\n\t0x00E20309: 0x1EA9,\n\t0x00C20303: 0x1EAA,\n\t0x00E20303: 0x1EAB,\n\t0x1EA00302: 0x1EAC,\n\t0x1EA10302: 0x1EAD,\n\t0x01020301: 0x1EAE,\n\t0x01030301: 0x1EAF,\n\t0x01020300: 0x1EB0,\n\t0x01030300: 0x1EB1,\n\t0x01020309: 0x1EB2,\n\t0x01030309: 0x1EB3,\n\t0x01020303: 0x1EB4,\n\t0x01030303: 0x1EB5,\n\t0x1EA00306: 0x1EB6,\n\t0x1EA10306: 0x1EB7,\n\t0x00450323: 0x1EB8,\n\t0x00650323: 0x1EB9,\n\t0x00450309: 0x1EBA,\n\t0x00650309: 0x1EBB,\n\t0x00450303: 0x1EBC,\n\t0x00650303: 0x1EBD,\n\t0x00CA0301: 0x1EBE,\n\t0x00EA0301: 0x1EBF,\n\t0x00CA0300: 0x1EC0,\n\t0x00EA0300: 0x1EC1,\n\t0x00CA0309: 0x1EC2,\n\t0x00EA0309: 0x1EC3,\n\t0x00CA0303: 0x1EC4,\n\t0x00EA0303: 0x1EC5,\n\t0x1EB80302: 0x1EC6,\n\t0x1EB90302: 0x1EC7,\n\t0x00490309: 0x1EC8,\n\t0x00690309: 0x1EC9,\n\t0x00490323: 0x1ECA,\n\t0x00690323: 0x1ECB,\n\t0x004F0323: 0x1ECC,\n\t0x006F0323: 0x1ECD,\n\t0x004F0309: 0x1ECE,\n\t0x006F0309: 0x1ECF,\n\t0x00D40301: 0x1ED0,\n\t0x00F40301: 0x1ED1,\n\t0x00D40300: 0x1ED2,\n\t0x00F40300: 0x1ED3,\n\t0x00D40309: 0x1ED4,\n\t0x00F40309: 0x1ED5,\n\t0x00D40303: 0x1ED6,\n\t0x00F40303: 0x1ED7,\n\t0x1ECC0302: 0x1ED8,\n\t0x1ECD0302: 0x1ED9,\n\t0x01A00301: 0x1EDA,\n\t0x01A10301: 0x1EDB,\n\t0x01A00300: 0x1EDC,\n\t0x01A10300: 0x1EDD,\n\t0x01A00309: 0x1EDE,\n\t0x01A10309: 0x1EDF,\n\t0x01A00303: 0x1EE0,\n\t0x01A10303: 0x1EE1,\n\t0x01A00323: 0x1EE2,\n\t0x01A10323: 0x1EE3,\n\t0x00550323: 0x1EE4,\n\t0x00750323: 0x1EE5,\n\t0x00550309: 0x1EE6,\n\t0x00750309: 0x1EE7,\n\t0x01AF0301: 0x1EE8,\n\t0x01B00301: 0x1EE9,\n\t0x01AF0300: 0x1EEA,\n\t0x01B00300: 0x1EEB,\n\t0x01AF0309: 0x1EEC,\n\t0x01B00309: 0x1EED,\n\t0x01AF0303: 0x1EEE,\n\t0x01B00303: 0x1EEF,\n\t0x01AF0323: 0x1EF0,\n\t0x01B00323: 0x1EF1,\n\t0x00590300: 0x1EF2,\n\t0x00790300: 0x1EF3,\n\t0x00590323: 0x1EF4,\n\t0x00790323: 0x1EF5,\n\t0x00590309: 0x1EF6,\n\t0x00790309: 0x1EF7,\n\t0x00590303: 0x1EF8,\n\t0x00790303: 0x1EF9,\n\t0x03B10313: 0x1F00,\n\t0x03B10314: 0x1F01,\n\t0x1F000300: 0x1F02,\n\t0x1F010300: 0x1F03,\n\t0x1F000301: 0x1F04,\n\t0x1F010301: 0x1F05,\n\t0x1F000342: 0x1F06,\n\t0x1F010342: 0x1F07,\n\t0x03910313: 0x1F08,\n\t0x03910314: 0x1F09,\n\t0x1F080300: 0x1F0A,\n\t0x1F090300: 0x1F0B,\n\t0x1F080301: 0x1F0C,\n\t0x1F090301: 0x1F0D,\n\t0x1F080342: 0x1F0E,\n\t0x1F090342: 0x1F0F,\n\t0x03B50313: 0x1F10,\n\t0x03B50314: 0x1F11,\n\t0x1F100300: 0x1F12,\n\t0x1F110300: 0x1F13,\n\t0x1F100301: 0x1F14,\n\t0x1F110301: 0x1F15,\n\t0x03950313: 0x1F18,\n\t0x03950314: 0x1F19,\n\t0x1F180300: 0x1F1A,\n\t0x1F190300: 0x1F1B,\n\t0x1F180301: 0x1F1C,\n\t0x1F190301: 0x1F1D,\n\t0x03B70313: 0x1F20,\n\t0x03B70314: 0x1F21,\n\t0x1F200300: 0x1F22,\n\t0x1F210300: 0x1F23,\n\t0x1F200301: 0x1F24,\n\t0x1F210301: 0x1F25,\n\t0x1F200342: 0x1F26,\n\t0x1F210342: 0x1F27,\n\t0x03970313: 0x1F28,\n\t0x03970314: 0x1F29,\n\t0x1F280300: 0x1F2A,\n\t0x1F290300: 0x1F2B,\n\t0x1F280301: 0x1F2C,\n\t0x1F290301: 0x1F2D,\n\t0x1F280342: 0x1F2E,\n\t0x1F290342: 0x1F2F,\n\t0x03B90313: 0x1F30,\n\t0x03B90314: 0x1F31,\n\t0x1F300300: 0x1F32,\n\t0x1F310300: 0x1F33,\n\t0x1F300301: 0x1F34,\n\t0x1F310301: 0x1F35,\n\t0x1F300342: 0x1F36,\n\t0x1F310342: 0x1F37,\n\t0x03990313: 0x1F38,\n\t0x03990314: 0x1F39,\n\t0x1F380300: 0x1F3A,\n\t0x1F390300: 0x1F3B,\n\t0x1F380301: 0x1F3C,\n\t0x1F390301: 0x1F3D,\n\t0x1F380342: 0x1F3E,\n\t0x1F390342: 0x1F3F,\n\t0x03BF0313: 0x1F40,\n\t0x03BF0314: 0x1F41,\n\t0x1F400300: 0x1F42,\n\t0x1F410300: 0x1F43,\n\t0x1F400301: 0x1F44,\n\t0x1F410301: 0x1F45,\n\t0x039F0313: 0x1F48,\n\t0x039F0314: 0x1F49,\n\t0x1F480300: 0x1F4A,\n\t0x1F490300: 0x1F4B,\n\t0x1F480301: 0x1F4C,\n\t0x1F490301: 0x1F4D,\n\t0x03C50313: 0x1F50,\n\t0x03C50314: 0x1F51,\n\t0x1F500300: 0x1F52,\n\t0x1F510300: 0x1F53,\n\t0x1F500301: 0x1F54,\n\t0x1F510301: 0x1F55,\n\t0x1F500342: 0x1F56,\n\t0x1F510342: 0x1F57,\n\t0x03A50314: 0x1F59,\n\t0x1F590300: 0x1F5B,\n\t0x1F590301: 0x1F5D,\n\t0x1F590342: 0x1F5F,\n\t0x03C90313: 0x1F60,\n\t0x03C90314: 0x1F61,\n\t0x1F600300: 0x1F62,\n\t0x1F610300: 0x1F63,\n\t0x1F600301: 0x1F64,\n\t0x1F610301: 0x1F65,\n\t0x1F600342: 0x1F66,\n\t0x1F610342: 0x1F67,\n\t0x03A90313: 0x1F68,\n\t0x03A90314: 0x1F69,\n\t0x1F680300: 0x1F6A,\n\t0x1F690300: 0x1F6B,\n\t0x1F680301: 0x1F6C,\n\t0x1F690301: 0x1F6D,\n\t0x1F680342: 0x1F6E,\n\t0x1F690342: 0x1F6F,\n\t0x03B10300: 0x1F70,\n\t0x03B50300: 0x1F72,\n\t0x03B70300: 0x1F74,\n\t0x03B90300: 0x1F76,\n\t0x03BF0300: 0x1F78,\n\t0x03C50300: 0x1F7A,\n\t0x03C90300: 0x1F7C,\n\t0x1F000345: 0x1F80,\n\t0x1F010345: 0x1F81,\n\t0x1F020345: 0x1F82,\n\t0x1F030345: 0x1F83,\n\t0x1F040345: 0x1F84,\n\t0x1F050345: 0x1F85,\n\t0x1F060345: 0x1F86,\n\t0x1F070345: 0x1F87,\n\t0x1F080345: 0x1F88,\n\t0x1F090345: 0x1F89,\n\t0x1F0A0345: 0x1F8A,\n\t0x1F0B0345: 0x1F8B,\n\t0x1F0C0345: 0x1F8C,\n\t0x1F0D0345: 0x1F8D,\n\t0x1F0E0345: 0x1F8E,\n\t0x1F0F0345: 0x1F8F,\n\t0x1F200345: 0x1F90,\n\t0x1F210345: 0x1F91,\n\t0x1F220345: 0x1F92,\n\t0x1F230345: 0x1F93,\n\t0x1F240345: 0x1F94,\n\t0x1F250345: 0x1F95,\n\t0x1F260345: 0x1F96,\n\t0x1F270345: 0x1F97,\n\t0x1F280345: 0x1F98,\n\t0x1F290345: 0x1F99,\n\t0x1F2A0345: 0x1F9A,\n\t0x1F2B0345: 0x1F9B,\n\t0x1F2C0345: 0x1F9C,\n\t0x1F2D0345: 0x1F9D,\n\t0x1F2E0345: 0x1F9E,\n\t0x1F2F0345: 0x1F9F,\n\t0x1F600345: 0x1FA0,\n\t0x1F610345: 0x1FA1,\n\t0x1F620345: 0x1FA2,\n\t0x1F630345: 0x1FA3,\n\t0x1F640345: 0x1FA4,\n\t0x1F650345: 0x1FA5,\n\t0x1F660345: 0x1FA6,\n\t0x1F670345: 0x1FA7,\n\t0x1F680345: 0x1FA8,\n\t0x1F690345: 0x1FA9,\n\t0x1F6A0345: 0x1FAA,\n\t0x1F6B0345: 0x1FAB,\n\t0x1F6C0345: 0x1FAC,\n\t0x1F6D0345: 0x1FAD,\n\t0x1F6E0345: 0x1FAE,\n\t0x1F6F0345: 0x1FAF,\n\t0x03B10306: 0x1FB0,\n\t0x03B10304: 0x1FB1,\n\t0x1F700345: 0x1FB2,\n\t0x03B10345: 0x1FB3,\n\t0x03AC0345: 0x1FB4,\n\t0x03B10342: 0x1FB6,\n\t0x1FB60345: 0x1FB7,\n\t0x03910306: 0x1FB8,\n\t0x03910304: 0x1FB9,\n\t0x03910300: 0x1FBA,\n\t0x03910345: 0x1FBC,\n\t0x00A80342: 0x1FC1,\n\t0x1F740345: 0x1FC2,\n\t0x03B70345: 0x1FC3,\n\t0x03AE0345: 0x1FC4,\n\t0x03B70342: 0x1FC6,\n\t0x1FC60345: 0x1FC7,\n\t0x03950300: 0x1FC8,\n\t0x03970300: 0x1FCA,\n\t0x03970345: 0x1FCC,\n\t0x1FBF0300: 0x1FCD,\n\t0x1FBF0301: 0x1FCE,\n\t0x1FBF0342: 0x1FCF,\n\t0x03B90306: 0x1FD0,\n\t0x03B90304: 0x1FD1,\n\t0x03CA0300: 0x1FD2,\n\t0x03B90342: 0x1FD6,\n\t0x03CA0342: 0x1FD7,\n\t0x03990306: 0x1FD8,\n\t0x03990304: 0x1FD9,\n\t0x03990300: 0x1FDA,\n\t0x1FFE0300: 0x1FDD,\n\t0x1FFE0301: 0x1FDE,\n\t0x1FFE0342: 0x1FDF,\n\t0x03C50306: 0x1FE0,\n\t0x03C50304: 0x1FE1,\n\t0x03CB0300: 0x1FE2,\n\t0x03C10313: 0x1FE4,\n\t0x03C10314: 0x1FE5,\n\t0x03C50342: 0x1FE6,\n\t0x03CB0342: 0x1FE7,\n\t0x03A50306: 0x1FE8,\n\t0x03A50304: 0x1FE9,\n\t0x03A50300: 0x1FEA,\n\t0x03A10314: 0x1FEC,\n\t0x00A80300: 0x1FED,\n\t0x1F7C0345: 0x1FF2,\n\t0x03C90345: 0x1FF3,\n\t0x03CE0345: 0x1FF4,\n\t0x03C90342: 0x1FF6,\n\t0x1FF60345: 0x1FF7,\n\t0x039F0300: 0x1FF8,\n\t0x03A90300: 0x1FFA,\n\t0x03A90345: 0x1FFC,\n\t0x21900338: 0x219A,\n\t0x21920338: 0x219B,\n\t0x21940338: 0x21AE,\n\t0x21D00338: 0x21CD,\n\t0x21D40338: 0x21CE,\n\t0x21D20338: 0x21CF,\n\t0x22030338: 0x2204,\n\t0x22080338: 0x2209,\n\t0x220B0338: 0x220C,\n\t0x22230338: 0x2224,\n\t0x22250338: 0x2226,\n\t0x223C0338: 0x2241,\n\t0x22430338: 0x2244,\n\t0x22450338: 0x2247,\n\t0x22480338: 0x2249,\n\t0x003D0338: 0x2260,\n\t0x22610338: 0x2262,\n\t0x224D0338: 0x226D,\n\t0x003C0338: 0x226E,\n\t0x003E0338: 0x226F,\n\t0x22640338: 0x2270,\n\t0x22650338: 0x2271,\n\t0x22720338: 0x2274,\n\t0x22730338: 0x2275,\n\t0x22760338: 0x2278,\n\t0x22770338: 0x2279,\n\t0x227A0338: 0x2280,\n\t0x227B0338: 0x2281,\n\t0x22820338: 0x2284,\n\t0x22830338: 0x2285,\n\t0x22860338: 0x2288,\n\t0x22870338: 0x2289,\n\t0x22A20338: 0x22AC,\n\t0x22A80338: 0x22AD,\n\t0x22A90338: 0x22AE,\n\t0x22AB0338: 0x22AF,\n\t0x227C0338: 0x22E0,\n\t0x227D0338: 0x22E1,\n\t0x22910338: 0x22E2,\n\t0x22920338: 0x22E3,\n\t0x22B20338: 0x22EA,\n\t0x22B30338: 0x22EB,\n\t0x22B40338: 0x22EC,\n\t0x22B50338: 0x22ED,\n\t0x304B3099: 0x304C,\n\t0x304D3099: 0x304E,\n\t0x304F3099: 0x3050,\n\t0x30513099: 0x3052,\n\t0x30533099: 0x3054,\n\t0x30553099: 0x3056,\n\t0x30573099: 0x3058,\n\t0x30593099: 0x305A,\n\t0x305B3099: 0x305C,\n\t0x305D3099: 0x305E,\n\t0x305F3099: 0x3060,\n\t0x30613099: 0x3062,\n\t0x30643099: 0x3065,\n\t0x30663099: 0x3067,\n\t0x30683099: 0x3069,\n\t0x306F3099: 0x3070,\n\t0x306F309A: 0x3071,\n\t0x30723099: 0x3073,\n\t0x3072309A: 0x3074,\n\t0x30753099: 0x3076,\n\t0x3075309A: 0x3077,\n\t0x30783099: 0x3079,\n\t0x3078309A: 0x307A,\n\t0x307B3099: 0x307C,\n\t0x307B309A: 0x307D,\n\t0x30463099: 0x3094,\n\t0x309D3099: 0x309E,\n\t0x30AB3099: 0x30AC,\n\t0x30AD3099: 0x30AE,\n\t0x30AF3099: 0x30B0,\n\t0x30B13099: 0x30B2,\n\t0x30B33099: 0x30B4,\n\t0x30B53099: 0x30B6,\n\t0x30B73099: 0x30B8,\n\t0x30B93099: 0x30BA,\n\t0x30BB3099: 0x30BC,\n\t0x30BD3099: 0x30BE,\n\t0x30BF3099: 0x30C0,\n\t0x30C13099: 0x30C2,\n\t0x30C43099: 0x30C5,\n\t0x30C63099: 0x30C7,\n\t0x30C83099: 0x30C9,\n\t0x30CF3099: 0x30D0,\n\t0x30CF309A: 0x30D1,\n\t0x30D23099: 0x30D3,\n\t0x30D2309A: 0x30D4,\n\t0x30D53099: 0x30D6,\n\t0x30D5309A: 0x30D7,\n\t0x30D83099: 0x30D9,\n\t0x30D8309A: 0x30DA,\n\t0x30DB3099: 0x30DC,\n\t0x30DB309A: 0x30DD,\n\t0x30A63099: 0x30F4,\n\t0x30EF3099: 0x30F7,\n\t0x30F03099: 0x30F8,\n\t0x30F13099: 0x30F9,\n\t0x30F23099: 0x30FA,\n\t0x30FD3099: 0x30FE,\n\t0x109910BA: 0x1109A,\n\t0x109B10BA: 0x1109C,\n\t0x10A510BA: 0x110AB,\n\t0x11311127: 0x1112E,\n\t0x11321127: 0x1112F,\n\t0x1347133E: 0x1134B,\n\t0x13471357: 0x1134C,\n\t0x14B914BA: 0x114BB,\n\t0x14B914B0: 0x114BC,\n\t0x14B914BD: 0x114BE,\n\t0x15B815AF: 0x115BA,\n\t0x15B915AF: 0x115BB,\n}\n\n// Total size of tables: 53KB (54226 bytes)\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/tables9.0.0.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// +build !go1.10\n\npackage norm\n\nconst (\n\t// Version is the Unicode edition from which the tables are derived.\n\tVersion = \"9.0.0\"\n\n\t// MaxTransformChunkSize indicates the maximum number of bytes that Transform\n\t// may need to write atomically for any Form. Making a destination buffer at\n\t// least this size ensures that Transform can always make progress and that\n\t// the user does not need to grow the buffer on an ErrShortDst.\n\tMaxTransformChunkSize = 35 + maxNonStarters*4\n)\n\nvar ccc = [55]uint8{\n\t0, 1, 7, 8, 9, 10, 11, 12,\n\t13, 14, 15, 16, 17, 18, 19, 20,\n\t21, 22, 23, 24, 25, 26, 27, 28,\n\t29, 30, 31, 32, 33, 34, 35, 36,\n\t84, 91, 103, 107, 118, 122, 129, 130,\n\t132, 202, 214, 216, 218, 220, 222, 224,\n\t226, 228, 230, 232, 233, 234, 240,\n}\n\nconst (\n\tfirstMulti            = 0x186D\n\tfirstCCC              = 0x2C9E\n\tendMulti              = 0x2F60\n\tfirstLeadingCCC       = 0x49AE\n\tfirstCCCZeroExcept    = 0x4A78\n\tfirstStarterWithNLead = 0x4A9F\n\tlastDecomp            = 0x4AA1\n\tmaxDecomp             = 0x8000\n)\n\n// decomps: 19105 bytes\nvar decomps = [...]byte{\n\t// Bytes 0 - 3f\n\t0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41,\n\t0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41,\n\t0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41,\n\t0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41,\n\t0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41,\n\t0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41,\n\t0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41,\n\t0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41,\n\t// Bytes 40 - 7f\n\t0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41,\n\t0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41,\n\t0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41,\n\t0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41,\n\t0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41,\n\t0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41,\n\t0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41,\n\t0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41,\n\t// Bytes 80 - bf\n\t0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41,\n\t0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41,\n\t0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41,\n\t0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41,\n\t0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41,\n\t0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41,\n\t0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41,\n\t0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42,\n\t// Bytes c0 - ff\n\t0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5,\n\t0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2,\n\t0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42,\n\t0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1,\n\t0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6,\n\t0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42,\n\t0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90,\n\t0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9,\n\t// Bytes 100 - 13f\n\t0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42,\n\t0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F,\n\t0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9,\n\t0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42,\n\t0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB,\n\t0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9,\n\t0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42,\n\t0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5,\n\t// Bytes 140 - 17f\n\t0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9,\n\t0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42,\n\t0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A,\n\t0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA,\n\t0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42,\n\t0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F,\n\t0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE,\n\t0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42,\n\t// Bytes 180 - 1bf\n\t0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97,\n\t0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE,\n\t0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42,\n\t0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F,\n\t0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE,\n\t0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42,\n\t0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8,\n\t0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE,\n\t// Bytes 1c0 - 1ff\n\t0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42,\n\t0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7,\n\t0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE,\n\t0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42,\n\t0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF,\n\t0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF,\n\t0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42,\n\t0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87,\n\t// Bytes 200 - 23f\n\t0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF,\n\t0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42,\n\t0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90,\n\t0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7,\n\t0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42,\n\t0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2,\n\t0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8,\n\t0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42,\n\t// Bytes 240 - 27f\n\t0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB,\n\t0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8,\n\t0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42,\n\t0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3,\n\t0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8,\n\t0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42,\n\t0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81,\n\t0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9,\n\t// Bytes 280 - 2bf\n\t0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42,\n\t0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89,\n\t0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9,\n\t0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42,\n\t0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE,\n\t0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA,\n\t0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42,\n\t0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C,\n\t// Bytes 2c0 - 2ff\n\t0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA,\n\t0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42,\n\t0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9,\n\t0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA,\n\t0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42,\n\t0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81,\n\t0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB,\n\t0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42,\n\t// Bytes 300 - 33f\n\t0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90,\n\t0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43,\n\t0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43,\n\t0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43,\n\t0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43,\n\t0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43,\n\t0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43,\n\t0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43,\n\t// Bytes 340 - 37f\n\t0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43,\n\t0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43,\n\t0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43,\n\t0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43,\n\t0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43,\n\t0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43,\n\t0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43,\n\t0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43,\n\t// Bytes 380 - 3bf\n\t0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43,\n\t0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43,\n\t0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43,\n\t0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43,\n\t0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43,\n\t0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43,\n\t0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43,\n\t0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43,\n\t// Bytes 3c0 - 3ff\n\t0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43,\n\t0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43,\n\t0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43,\n\t0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43,\n\t0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43,\n\t0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43,\n\t0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43,\n\t0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43,\n\t// Bytes 400 - 43f\n\t0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43,\n\t0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43,\n\t0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43,\n\t0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43,\n\t0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43,\n\t0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43,\n\t0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43,\n\t0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43,\n\t// Bytes 440 - 47f\n\t0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43,\n\t0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43,\n\t0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43,\n\t0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43,\n\t0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43,\n\t0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43,\n\t0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43,\n\t0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43,\n\t// Bytes 480 - 4bf\n\t0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43,\n\t0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43,\n\t0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43,\n\t0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43,\n\t0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43,\n\t0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43,\n\t0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43,\n\t0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43,\n\t// Bytes 4c0 - 4ff\n\t0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43,\n\t0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43,\n\t0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43,\n\t0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43,\n\t0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43,\n\t0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43,\n\t0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43,\n\t0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43,\n\t// Bytes 500 - 53f\n\t0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43,\n\t0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43,\n\t0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43,\n\t0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43,\n\t0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43,\n\t0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43,\n\t0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43,\n\t0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43,\n\t// Bytes 540 - 57f\n\t0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43,\n\t0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43,\n\t0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43,\n\t0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43,\n\t0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43,\n\t0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43,\n\t0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43,\n\t0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43,\n\t// Bytes 580 - 5bf\n\t0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43,\n\t0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43,\n\t0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43,\n\t0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43,\n\t0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43,\n\t0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43,\n\t0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43,\n\t0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43,\n\t// Bytes 5c0 - 5ff\n\t0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43,\n\t0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43,\n\t0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43,\n\t0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43,\n\t0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43,\n\t0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43,\n\t0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43,\n\t0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43,\n\t// Bytes 600 - 63f\n\t0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43,\n\t0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43,\n\t0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43,\n\t0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43,\n\t0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43,\n\t0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43,\n\t0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43,\n\t0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43,\n\t// Bytes 640 - 67f\n\t0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43,\n\t0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43,\n\t0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43,\n\t0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43,\n\t0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43,\n\t0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43,\n\t0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43,\n\t0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43,\n\t// Bytes 680 - 6bf\n\t0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43,\n\t0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43,\n\t0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43,\n\t0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43,\n\t0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43,\n\t0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43,\n\t0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43,\n\t0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43,\n\t// Bytes 6c0 - 6ff\n\t0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43,\n\t0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43,\n\t0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43,\n\t0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43,\n\t0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43,\n\t0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43,\n\t0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43,\n\t0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43,\n\t// Bytes 700 - 73f\n\t0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43,\n\t0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43,\n\t0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43,\n\t0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43,\n\t0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43,\n\t0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43,\n\t0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43,\n\t0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43,\n\t// Bytes 740 - 77f\n\t0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43,\n\t0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43,\n\t0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43,\n\t0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43,\n\t0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43,\n\t0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43,\n\t0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43,\n\t0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43,\n\t// Bytes 780 - 7bf\n\t0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43,\n\t0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43,\n\t0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43,\n\t0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43,\n\t0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43,\n\t0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43,\n\t0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43,\n\t0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43,\n\t// Bytes 7c0 - 7ff\n\t0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43,\n\t0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43,\n\t0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43,\n\t0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43,\n\t0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43,\n\t0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43,\n\t0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43,\n\t0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43,\n\t// Bytes 800 - 83f\n\t0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43,\n\t0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43,\n\t0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43,\n\t0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43,\n\t0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43,\n\t0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43,\n\t0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43,\n\t0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43,\n\t// Bytes 840 - 87f\n\t0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43,\n\t0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43,\n\t0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43,\n\t0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43,\n\t0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43,\n\t0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43,\n\t0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43,\n\t0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43,\n\t// Bytes 880 - 8bf\n\t0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43,\n\t0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43,\n\t0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43,\n\t0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43,\n\t0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43,\n\t0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43,\n\t0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43,\n\t0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43,\n\t// Bytes 8c0 - 8ff\n\t0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43,\n\t0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43,\n\t0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43,\n\t0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43,\n\t0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43,\n\t0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43,\n\t0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43,\n\t0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43,\n\t// Bytes 900 - 93f\n\t0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43,\n\t0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43,\n\t0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43,\n\t0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43,\n\t0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43,\n\t0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43,\n\t0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43,\n\t0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43,\n\t// Bytes 940 - 97f\n\t0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43,\n\t0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43,\n\t0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43,\n\t0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43,\n\t0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43,\n\t0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43,\n\t0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43,\n\t0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43,\n\t// Bytes 980 - 9bf\n\t0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43,\n\t0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43,\n\t0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43,\n\t0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43,\n\t0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43,\n\t0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43,\n\t0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43,\n\t0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43,\n\t// Bytes 9c0 - 9ff\n\t0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43,\n\t0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43,\n\t0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43,\n\t0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43,\n\t0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43,\n\t0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43,\n\t0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43,\n\t0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43,\n\t// Bytes a00 - a3f\n\t0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43,\n\t0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43,\n\t0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43,\n\t0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43,\n\t0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43,\n\t0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43,\n\t0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43,\n\t0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43,\n\t// Bytes a40 - a7f\n\t0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43,\n\t0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43,\n\t0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43,\n\t0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43,\n\t0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43,\n\t0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43,\n\t0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43,\n\t0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43,\n\t// Bytes a80 - abf\n\t0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43,\n\t0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43,\n\t0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43,\n\t0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43,\n\t0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43,\n\t0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43,\n\t0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43,\n\t0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43,\n\t// Bytes ac0 - aff\n\t0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43,\n\t0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43,\n\t0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43,\n\t0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43,\n\t0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43,\n\t0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43,\n\t0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43,\n\t0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43,\n\t// Bytes b00 - b3f\n\t0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43,\n\t0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43,\n\t0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43,\n\t0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43,\n\t0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43,\n\t0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43,\n\t0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43,\n\t0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43,\n\t// Bytes b40 - b7f\n\t0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43,\n\t0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43,\n\t0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43,\n\t0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43,\n\t0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43,\n\t0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43,\n\t0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43,\n\t0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43,\n\t// Bytes b80 - bbf\n\t0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43,\n\t0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43,\n\t0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43,\n\t0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43,\n\t0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43,\n\t0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43,\n\t0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43,\n\t0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43,\n\t// Bytes bc0 - bff\n\t0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43,\n\t0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43,\n\t0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43,\n\t0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43,\n\t0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43,\n\t0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43,\n\t0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43,\n\t0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43,\n\t// Bytes c00 - c3f\n\t0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43,\n\t0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43,\n\t0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43,\n\t0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43,\n\t0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43,\n\t0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43,\n\t0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43,\n\t0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43,\n\t// Bytes c40 - c7f\n\t0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43,\n\t0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43,\n\t0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43,\n\t0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43,\n\t0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43,\n\t0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43,\n\t0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43,\n\t0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43,\n\t// Bytes c80 - cbf\n\t0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43,\n\t0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43,\n\t0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43,\n\t0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43,\n\t0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43,\n\t0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43,\n\t0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43,\n\t0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43,\n\t// Bytes cc0 - cff\n\t0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43,\n\t0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43,\n\t0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43,\n\t0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43,\n\t0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43,\n\t0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43,\n\t0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43,\n\t0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43,\n\t// Bytes d00 - d3f\n\t0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43,\n\t0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43,\n\t0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43,\n\t0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43,\n\t0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43,\n\t0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43,\n\t0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43,\n\t0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43,\n\t// Bytes d40 - d7f\n\t0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43,\n\t0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43,\n\t0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43,\n\t0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43,\n\t0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43,\n\t0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43,\n\t0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43,\n\t0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43,\n\t// Bytes d80 - dbf\n\t0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43,\n\t0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43,\n\t0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43,\n\t0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43,\n\t0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43,\n\t0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43,\n\t0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43,\n\t0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43,\n\t// Bytes dc0 - dff\n\t0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43,\n\t0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43,\n\t0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43,\n\t0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43,\n\t0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43,\n\t0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43,\n\t0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43,\n\t0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43,\n\t// Bytes e00 - e3f\n\t0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43,\n\t0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43,\n\t0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43,\n\t0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43,\n\t0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43,\n\t0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43,\n\t0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43,\n\t0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43,\n\t// Bytes e40 - e7f\n\t0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43,\n\t0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43,\n\t0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43,\n\t0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43,\n\t0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43,\n\t0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43,\n\t0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43,\n\t0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43,\n\t// Bytes e80 - ebf\n\t0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43,\n\t0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43,\n\t0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43,\n\t0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43,\n\t0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43,\n\t0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43,\n\t0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43,\n\t0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43,\n\t// Bytes ec0 - eff\n\t0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43,\n\t0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43,\n\t0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43,\n\t0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43,\n\t0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43,\n\t0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43,\n\t0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43,\n\t0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43,\n\t// Bytes f00 - f3f\n\t0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43,\n\t0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43,\n\t0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43,\n\t0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43,\n\t0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43,\n\t0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43,\n\t0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43,\n\t0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43,\n\t// Bytes f40 - f7f\n\t0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43,\n\t0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43,\n\t0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43,\n\t0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43,\n\t0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43,\n\t0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43,\n\t0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43,\n\t0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43,\n\t// Bytes f80 - fbf\n\t0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43,\n\t0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43,\n\t0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43,\n\t0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43,\n\t0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43,\n\t0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43,\n\t0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43,\n\t0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43,\n\t// Bytes fc0 - fff\n\t0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43,\n\t0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43,\n\t0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43,\n\t0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43,\n\t0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43,\n\t0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43,\n\t0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43,\n\t0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43,\n\t// Bytes 1000 - 103f\n\t0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43,\n\t0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43,\n\t0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43,\n\t0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43,\n\t0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43,\n\t0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43,\n\t0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43,\n\t0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43,\n\t// Bytes 1040 - 107f\n\t0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43,\n\t0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43,\n\t0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43,\n\t0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43,\n\t0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43,\n\t0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43,\n\t0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43,\n\t0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43,\n\t// Bytes 1080 - 10bf\n\t0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43,\n\t0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43,\n\t0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43,\n\t0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43,\n\t0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43,\n\t0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43,\n\t0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43,\n\t0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43,\n\t// Bytes 10c0 - 10ff\n\t0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43,\n\t0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43,\n\t0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43,\n\t0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43,\n\t0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43,\n\t0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43,\n\t0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43,\n\t0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43,\n\t// Bytes 1100 - 113f\n\t0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43,\n\t0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43,\n\t0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43,\n\t0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43,\n\t0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43,\n\t0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43,\n\t0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43,\n\t0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43,\n\t// Bytes 1140 - 117f\n\t0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43,\n\t0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43,\n\t0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43,\n\t0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43,\n\t0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43,\n\t0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43,\n\t0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43,\n\t0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43,\n\t// Bytes 1180 - 11bf\n\t0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43,\n\t0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43,\n\t0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43,\n\t0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43,\n\t0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43,\n\t0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43,\n\t0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43,\n\t0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43,\n\t// Bytes 11c0 - 11ff\n\t0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43,\n\t0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43,\n\t0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43,\n\t0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43,\n\t0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43,\n\t0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43,\n\t0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43,\n\t0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43,\n\t// Bytes 1200 - 123f\n\t0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43,\n\t0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43,\n\t0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43,\n\t0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43,\n\t0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43,\n\t0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43,\n\t0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43,\n\t0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43,\n\t// Bytes 1240 - 127f\n\t0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43,\n\t0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43,\n\t0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43,\n\t0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43,\n\t0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43,\n\t0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43,\n\t0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43,\n\t0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43,\n\t// Bytes 1280 - 12bf\n\t0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43,\n\t0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43,\n\t0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43,\n\t0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43,\n\t0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43,\n\t0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43,\n\t0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43,\n\t0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43,\n\t// Bytes 12c0 - 12ff\n\t0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43,\n\t0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43,\n\t0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43,\n\t0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43,\n\t0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43,\n\t0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43,\n\t0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43,\n\t0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43,\n\t// Bytes 1300 - 133f\n\t0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43,\n\t0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43,\n\t0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43,\n\t0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43,\n\t0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43,\n\t0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43,\n\t0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43,\n\t0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43,\n\t// Bytes 1340 - 137f\n\t0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43,\n\t0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43,\n\t0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43,\n\t0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43,\n\t0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43,\n\t0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43,\n\t0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43,\n\t0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43,\n\t// Bytes 1380 - 13bf\n\t0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43,\n\t0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43,\n\t0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43,\n\t0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43,\n\t0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43,\n\t0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43,\n\t0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43,\n\t0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43,\n\t// Bytes 13c0 - 13ff\n\t0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43,\n\t0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43,\n\t0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43,\n\t0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43,\n\t0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43,\n\t0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43,\n\t0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43,\n\t0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43,\n\t// Bytes 1400 - 143f\n\t0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43,\n\t0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43,\n\t0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43,\n\t0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43,\n\t0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43,\n\t0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43,\n\t0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43,\n\t0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43,\n\t// Bytes 1440 - 147f\n\t0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43,\n\t0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43,\n\t0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43,\n\t0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43,\n\t0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43,\n\t0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43,\n\t0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43,\n\t0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43,\n\t// Bytes 1480 - 14bf\n\t0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43,\n\t0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43,\n\t0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43,\n\t0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43,\n\t0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43,\n\t0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43,\n\t0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43,\n\t0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43,\n\t// Bytes 14c0 - 14ff\n\t0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43,\n\t0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43,\n\t0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43,\n\t0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43,\n\t0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43,\n\t0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43,\n\t0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43,\n\t0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43,\n\t// Bytes 1500 - 153f\n\t0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43,\n\t0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43,\n\t0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43,\n\t0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43,\n\t0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43,\n\t0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43,\n\t0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43,\n\t0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43,\n\t// Bytes 1540 - 157f\n\t0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43,\n\t0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43,\n\t0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43,\n\t0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43,\n\t0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43,\n\t0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43,\n\t0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43,\n\t0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43,\n\t// Bytes 1580 - 15bf\n\t0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43,\n\t0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43,\n\t0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43,\n\t0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43,\n\t0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43,\n\t0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43,\n\t0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43,\n\t0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43,\n\t// Bytes 15c0 - 15ff\n\t0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43,\n\t0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43,\n\t0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43,\n\t0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43,\n\t0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43,\n\t0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43,\n\t0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43,\n\t0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43,\n\t// Bytes 1600 - 163f\n\t0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43,\n\t0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43,\n\t0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43,\n\t0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43,\n\t0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43,\n\t0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43,\n\t0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43,\n\t0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43,\n\t// Bytes 1640 - 167f\n\t0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44,\n\t0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94,\n\t0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0,\n\t0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA,\n\t0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0,\n\t0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44,\n\t0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93,\n\t0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0,\n\t// Bytes 1680 - 16bf\n\t0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88,\n\t0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1,\n\t0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44,\n\t0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86,\n\t0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0,\n\t0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94,\n\t0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2,\n\t0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44,\n\t// Bytes 16c0 - 16ff\n\t0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80,\n\t0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0,\n\t0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93,\n\t0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3,\n\t0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44,\n\t0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A,\n\t0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0,\n\t0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA,\n\t// Bytes 1700 - 173f\n\t0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3,\n\t0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44,\n\t0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE,\n\t0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0,\n\t0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB,\n\t0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4,\n\t0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44,\n\t0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2,\n\t// Bytes 1740 - 177f\n\t0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0,\n\t0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84,\n\t0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5,\n\t0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44,\n\t0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89,\n\t0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0,\n\t0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A,\n\t0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5,\n\t// Bytes 1780 - 17bf\n\t0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44,\n\t0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2,\n\t0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0,\n\t0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A,\n\t0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6,\n\t0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44,\n\t0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93,\n\t0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0,\n\t// Bytes 17c0 - 17ff\n\t0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7,\n\t0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6,\n\t0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44,\n\t0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5,\n\t0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0,\n\t0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92,\n\t0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7,\n\t0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44,\n\t// Bytes 1800 - 183f\n\t0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2,\n\t0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0,\n\t0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92,\n\t0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8,\n\t0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44,\n\t0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85,\n\t0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0,\n\t0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A,\n\t// Bytes 1840 - 187f\n\t0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9,\n\t0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44,\n\t0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84,\n\t0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0,\n\t0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92,\n\t0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21,\n\t0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30,\n\t0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42,\n\t// Bytes 1880 - 18bf\n\t0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31,\n\t0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31,\n\t0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42,\n\t0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39,\n\t0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32,\n\t0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42,\n\t0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35,\n\t0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32,\n\t// Bytes 18c0 - 18ff\n\t0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42,\n\t0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31,\n\t0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33,\n\t0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42,\n\t0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39,\n\t0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34,\n\t0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42,\n\t0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35,\n\t// Bytes 1900 - 193f\n\t0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34,\n\t0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42,\n\t0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C,\n\t0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37,\n\t0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42,\n\t0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D,\n\t0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41,\n\t0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42,\n\t// Bytes 1940 - 197f\n\t0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A,\n\t0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48,\n\t0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42,\n\t0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A,\n\t0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49,\n\t0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42,\n\t0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A,\n\t0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D,\n\t// Bytes 1980 - 19bf\n\t0x44, 0x42, 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42,\n\t0x4E, 0x4A, 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F,\n\t0x42, 0x50, 0x48, 0x42, 0x50, 0x52, 0x42, 0x50,\n\t0x61, 0x42, 0x52, 0x73, 0x42, 0x53, 0x44, 0x42,\n\t0x53, 0x4D, 0x42, 0x53, 0x53, 0x42, 0x53, 0x76,\n\t0x42, 0x54, 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57,\n\t0x43, 0x42, 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42,\n\t0x58, 0x49, 0x42, 0x63, 0x63, 0x42, 0x63, 0x64,\n\t// Bytes 19c0 - 19ff\n\t0x42, 0x63, 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64,\n\t0x61, 0x42, 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42,\n\t0x64, 0x7A, 0x42, 0x65, 0x56, 0x42, 0x66, 0x66,\n\t0x42, 0x66, 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66,\n\t0x6D, 0x42, 0x68, 0x61, 0x42, 0x69, 0x69, 0x42,\n\t0x69, 0x6A, 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76,\n\t0x42, 0x69, 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B,\n\t0x56, 0x42, 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42,\n\t// Bytes 1a00 - 1a3f\n\t0x6B, 0x6C, 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74,\n\t0x42, 0x6C, 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C,\n\t0x6E, 0x42, 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42,\n\t0x6D, 0x33, 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56,\n\t0x42, 0x6D, 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D,\n\t0x67, 0x42, 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42,\n\t0x6D, 0x73, 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46,\n\t0x42, 0x6E, 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E,\n\t// Bytes 1a40 - 1a7f\n\t0x6A, 0x42, 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42,\n\t0x6F, 0x56, 0x42, 0x70, 0x41, 0x42, 0x70, 0x46,\n\t0x42, 0x70, 0x56, 0x42, 0x70, 0x57, 0x42, 0x70,\n\t0x63, 0x42, 0x70, 0x73, 0x42, 0x73, 0x72, 0x42,\n\t0x73, 0x74, 0x42, 0x76, 0x69, 0x42, 0x78, 0x69,\n\t0x43, 0x28, 0x31, 0x29, 0x43, 0x28, 0x32, 0x29,\n\t0x43, 0x28, 0x33, 0x29, 0x43, 0x28, 0x34, 0x29,\n\t0x43, 0x28, 0x35, 0x29, 0x43, 0x28, 0x36, 0x29,\n\t// Bytes 1a80 - 1abf\n\t0x43, 0x28, 0x37, 0x29, 0x43, 0x28, 0x38, 0x29,\n\t0x43, 0x28, 0x39, 0x29, 0x43, 0x28, 0x41, 0x29,\n\t0x43, 0x28, 0x42, 0x29, 0x43, 0x28, 0x43, 0x29,\n\t0x43, 0x28, 0x44, 0x29, 0x43, 0x28, 0x45, 0x29,\n\t0x43, 0x28, 0x46, 0x29, 0x43, 0x28, 0x47, 0x29,\n\t0x43, 0x28, 0x48, 0x29, 0x43, 0x28, 0x49, 0x29,\n\t0x43, 0x28, 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29,\n\t0x43, 0x28, 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29,\n\t// Bytes 1ac0 - 1aff\n\t0x43, 0x28, 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29,\n\t0x43, 0x28, 0x50, 0x29, 0x43, 0x28, 0x51, 0x29,\n\t0x43, 0x28, 0x52, 0x29, 0x43, 0x28, 0x53, 0x29,\n\t0x43, 0x28, 0x54, 0x29, 0x43, 0x28, 0x55, 0x29,\n\t0x43, 0x28, 0x56, 0x29, 0x43, 0x28, 0x57, 0x29,\n\t0x43, 0x28, 0x58, 0x29, 0x43, 0x28, 0x59, 0x29,\n\t0x43, 0x28, 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29,\n\t0x43, 0x28, 0x62, 0x29, 0x43, 0x28, 0x63, 0x29,\n\t// Bytes 1b00 - 1b3f\n\t0x43, 0x28, 0x64, 0x29, 0x43, 0x28, 0x65, 0x29,\n\t0x43, 0x28, 0x66, 0x29, 0x43, 0x28, 0x67, 0x29,\n\t0x43, 0x28, 0x68, 0x29, 0x43, 0x28, 0x69, 0x29,\n\t0x43, 0x28, 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29,\n\t0x43, 0x28, 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29,\n\t0x43, 0x28, 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29,\n\t0x43, 0x28, 0x70, 0x29, 0x43, 0x28, 0x71, 0x29,\n\t0x43, 0x28, 0x72, 0x29, 0x43, 0x28, 0x73, 0x29,\n\t// Bytes 1b40 - 1b7f\n\t0x43, 0x28, 0x74, 0x29, 0x43, 0x28, 0x75, 0x29,\n\t0x43, 0x28, 0x76, 0x29, 0x43, 0x28, 0x77, 0x29,\n\t0x43, 0x28, 0x78, 0x29, 0x43, 0x28, 0x79, 0x29,\n\t0x43, 0x28, 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E,\n\t0x43, 0x31, 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E,\n\t0x43, 0x31, 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E,\n\t0x43, 0x31, 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E,\n\t0x43, 0x31, 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E,\n\t// Bytes 1b80 - 1bbf\n\t0x43, 0x31, 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E,\n\t0x43, 0x32, 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D,\n\t0x43, 0x3D, 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E,\n\t0x43, 0x46, 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A,\n\t0x43, 0x47, 0x50, 0x61, 0x43, 0x49, 0x49, 0x49,\n\t0x43, 0x4C, 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7,\n\t0x43, 0x4D, 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61,\n\t0x43, 0x4D, 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D,\n\t// Bytes 1bc0 - 1bff\n\t0x43, 0x50, 0x50, 0x56, 0x43, 0x50, 0x54, 0x45,\n\t0x43, 0x54, 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A,\n\t0x43, 0x56, 0x49, 0x49, 0x43, 0x58, 0x49, 0x49,\n\t0x43, 0x61, 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73,\n\t0x43, 0x61, 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72,\n\t0x43, 0x63, 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75,\n\t0x43, 0x63, 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32,\n\t0x43, 0x63, 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32,\n\t// Bytes 1c00 - 1c3f\n\t0x43, 0x64, 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67,\n\t0x43, 0x66, 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C,\n\t0x43, 0x67, 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61,\n\t0x43, 0x69, 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A,\n\t0x43, 0x6B, 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32,\n\t0x43, 0x6B, 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9,\n\t0x43, 0x6C, 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7,\n\t0x43, 0x6D, 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32,\n\t// Bytes 1c40 - 1c7f\n\t0x43, 0x6D, 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C,\n\t0x43, 0x72, 0x61, 0x64, 0x43, 0x76, 0x69, 0x69,\n\t0x43, 0x78, 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43,\n\t0x43, 0xC2, 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E,\n\t0x43, 0xCE, 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46,\n\t0x43, 0xCE, 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57,\n\t0x43, 0xCE, 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C,\n\t0x43, 0xCE, 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73,\n\t// Bytes 1c80 - 1cbf\n\t0x44, 0x28, 0x31, 0x30, 0x29, 0x44, 0x28, 0x31,\n\t0x31, 0x29, 0x44, 0x28, 0x31, 0x32, 0x29, 0x44,\n\t0x28, 0x31, 0x33, 0x29, 0x44, 0x28, 0x31, 0x34,\n\t0x29, 0x44, 0x28, 0x31, 0x35, 0x29, 0x44, 0x28,\n\t0x31, 0x36, 0x29, 0x44, 0x28, 0x31, 0x37, 0x29,\n\t0x44, 0x28, 0x31, 0x38, 0x29, 0x44, 0x28, 0x31,\n\t0x39, 0x29, 0x44, 0x28, 0x32, 0x30, 0x29, 0x44,\n\t0x30, 0xE7, 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81,\n\t// Bytes 1cc0 - 1cff\n\t0x84, 0x44, 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31,\n\t0xE6, 0x9C, 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9,\n\t0x44, 0x32, 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6,\n\t0x9C, 0x88, 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44,\n\t0x33, 0xE6, 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C,\n\t0x88, 0x44, 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34,\n\t0xE6, 0x97, 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88,\n\t0x44, 0x34, 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6,\n\t// Bytes 1d00 - 1d3f\n\t0x97, 0xA5, 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44,\n\t0x35, 0xE7, 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97,\n\t0xA5, 0x44, 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36,\n\t0xE7, 0x82, 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5,\n\t0x44, 0x37, 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7,\n\t0x82, 0xB9, 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44,\n\t0x38, 0xE6, 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82,\n\t0xB9, 0x44, 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39,\n\t// Bytes 1d40 - 1d7f\n\t0xE6, 0x9C, 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9,\n\t0x44, 0x56, 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E,\n\t0x6D, 0x2E, 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44,\n\t0x70, 0x2E, 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69,\n\t0x69, 0x44, 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5,\n\t0xB4, 0xD5, 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB,\n\t0x44, 0xD5, 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4,\n\t0xD5, 0xB6, 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44,\n\t// Bytes 1d80 - 1dbf\n\t0xD7, 0x90, 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9,\n\t0xB4, 0x44, 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8,\n\t0xA8, 0xD8, 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE,\n\t0x44, 0xD8, 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8,\n\t0xD8, 0xB2, 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44,\n\t0xD8, 0xA8, 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9,\n\t0x87, 0x44, 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8,\n\t0xA8, 0xD9, 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC,\n\t// Bytes 1dc0 - 1dff\n\t0x44, 0xD8, 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA,\n\t0xD8, 0xAE, 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44,\n\t0xD8, 0xAA, 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9,\n\t0x85, 0x44, 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8,\n\t0xAA, 0xD9, 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89,\n\t0x44, 0xD8, 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB,\n\t0xD8, 0xAC, 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44,\n\t0xD8, 0xAB, 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9,\n\t// Bytes 1e00 - 1e3f\n\t0x85, 0x44, 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8,\n\t0xAB, 0xD9, 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89,\n\t0x44, 0xD8, 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC,\n\t0xD8, 0xAD, 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44,\n\t0xD8, 0xAC, 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9,\n\t0x8A, 0x44, 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8,\n\t0xAD, 0xD9, 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89,\n\t0x44, 0xD8, 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE,\n\t// Bytes 1e40 - 1e7f\n\t0xD8, 0xAC, 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44,\n\t0xD8, 0xAE, 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9,\n\t0x89, 0x44, 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8,\n\t0xB3, 0xD8, 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD,\n\t0x44, 0xD8, 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3,\n\t0xD8, 0xB1, 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44,\n\t0xD8, 0xB3, 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9,\n\t0x89, 0x44, 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8,\n\t// Bytes 1e80 - 1ebf\n\t0xB4, 0xD8, 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD,\n\t0x44, 0xD8, 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4,\n\t0xD8, 0xB1, 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44,\n\t0xD8, 0xB4, 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9,\n\t0x89, 0x44, 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8,\n\t0xB5, 0xD8, 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE,\n\t0x44, 0xD8, 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5,\n\t0xD9, 0x85, 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44,\n\t// Bytes 1ec0 - 1eff\n\t0xD8, 0xB5, 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8,\n\t0xAC, 0x44, 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8,\n\t0xB6, 0xD8, 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1,\n\t0x44, 0xD8, 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6,\n\t0xD9, 0x89, 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44,\n\t0xD8, 0xB7, 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9,\n\t0x85, 0x44, 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8,\n\t0xB7, 0xD9, 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85,\n\t// Bytes 1f00 - 1f3f\n\t0x44, 0xD8, 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9,\n\t0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44,\n\t0xD8, 0xB9, 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8,\n\t0xAC, 0x44, 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8,\n\t0xBA, 0xD9, 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A,\n\t0x44, 0xD9, 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81,\n\t0xD8, 0xAD, 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44,\n\t0xD9, 0x81, 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9,\n\t// Bytes 1f40 - 1f7f\n\t0x89, 0x44, 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9,\n\t0x82, 0xD8, 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85,\n\t0x44, 0xD9, 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82,\n\t0xD9, 0x8A, 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44,\n\t0xD9, 0x83, 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8,\n\t0xAD, 0x44, 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9,\n\t0x83, 0xD9, 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85,\n\t0x44, 0xD9, 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83,\n\t// Bytes 1f80 - 1fbf\n\t0xD9, 0x8A, 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44,\n\t0xD9, 0x84, 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8,\n\t0xAD, 0x44, 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9,\n\t0x84, 0xD9, 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87,\n\t0x44, 0xD9, 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84,\n\t0xD9, 0x8A, 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44,\n\t0xD9, 0x85, 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8,\n\t0xAD, 0x44, 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9,\n\t// Bytes 1fc0 - 1fff\n\t0x85, 0xD9, 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89,\n\t0x44, 0xD9, 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86,\n\t0xD8, 0xAC, 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44,\n\t0xD9, 0x86, 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8,\n\t0xB1, 0x44, 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9,\n\t0x86, 0xD9, 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86,\n\t0x44, 0xD9, 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86,\n\t0xD9, 0x89, 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44,\n\t// Bytes 2000 - 203f\n\t0xD9, 0x87, 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9,\n\t0x85, 0x44, 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9,\n\t0x87, 0xD9, 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4,\n\t0x44, 0xD9, 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A,\n\t0xD8, 0xAD, 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44,\n\t0xD9, 0x8A, 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8,\n\t0xB2, 0x44, 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9,\n\t0x8A, 0xD9, 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87,\n\t// Bytes 2040 - 207f\n\t0x44, 0xD9, 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A,\n\t0xD9, 0x8A, 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44,\n\t0xDB, 0x87, 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84,\n\t0x80, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29,\n\t0x45, 0x28, 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28,\n\t0xE1, 0x84, 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84,\n\t0x86, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29,\n\t0x45, 0x28, 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28,\n\t// Bytes 2080 - 20bf\n\t0xE1, 0x84, 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84,\n\t0x8C, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29,\n\t0x45, 0x28, 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28,\n\t0xE1, 0x84, 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84,\n\t0x91, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29,\n\t0x45, 0x28, 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28,\n\t0xE4, 0xB8, 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8,\n\t0x89, 0x29, 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29,\n\t// Bytes 20c0 - 20ff\n\t0x45, 0x28, 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28,\n\t0xE4, 0xBA, 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB,\n\t0xA3, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29,\n\t0x45, 0x28, 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28,\n\t0xE5, 0x85, 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85,\n\t0xAD, 0x29, 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29,\n\t0x45, 0x28, 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28,\n\t0xE5, 0x8D, 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90,\n\t// Bytes 2100 - 213f\n\t0x8D, 0x29, 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29,\n\t0x45, 0x28, 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28,\n\t0xE5, 0x9C, 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD,\n\t0xA6, 0x29, 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29,\n\t0x45, 0x28, 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28,\n\t0xE6, 0x9C, 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C,\n\t0xA8, 0x29, 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29,\n\t0x45, 0x28, 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28,\n\t// Bytes 2140 - 217f\n\t0xE7, 0x81, 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89,\n\t0xB9, 0x29, 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29,\n\t0x45, 0x28, 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28,\n\t0xE7, 0xA5, 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5,\n\t0xAD, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29,\n\t0x45, 0x28, 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28,\n\t0xE8, 0xB2, 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3,\n\t0x87, 0x29, 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29,\n\t// Bytes 2180 - 21bf\n\t0x45, 0x30, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31,\n\t0x30, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6,\n\t0x9C, 0x88, 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t0x31, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7,\n\t0x82, 0xB9, 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5,\n\t0x45, 0x31, 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31,\n\t0x32, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6,\n\t// Bytes 21c0 - 21ff\n\t0x97, 0xA5, 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t0x34, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6,\n\t0x97, 0xA5, 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t0x36, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6,\n\t0x97, 0xA5, 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t// Bytes 2200 - 223f\n\t0x38, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6,\n\t0x97, 0xA5, 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31,\n\t0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81,\n\t0x84, 0x34, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35,\n\t0x45, 0x31, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31,\n\t0xE2, 0x81, 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81,\n\t0x84, 0x38, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39,\n\t// Bytes 2240 - 227f\n\t0x45, 0x32, 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x30, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6,\n\t0x97, 0xA5, 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9,\n\t0x45, 0x32, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x32, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6,\n\t0x97, 0xA5, 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9,\n\t0x45, 0x32, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x34, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6,\n\t// Bytes 2280 - 22bf\n\t0x97, 0xA5, 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5,\n\t0x45, 0x32, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x38, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6,\n\t0x97, 0xA5, 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33,\n\t0x45, 0x32, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33,\n\t0x30, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6,\n\t0x97, 0xA5, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34,\n\t0x45, 0x33, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33,\n\t// Bytes 22c0 - 22ff\n\t0xE2, 0x81, 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81,\n\t0x84, 0x35, 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36,\n\t0x45, 0x35, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37,\n\t0xE2, 0x81, 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88,\n\t0x95, 0x6D, 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D,\n\t0x45, 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31,\n\t0xE2, 0x81, 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2,\n\t0x88, 0x95, 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88,\n\t// Bytes 2300 - 233f\n\t0x95, 0x73, 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD,\n\t0xD9, 0x8A, 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9,\n\t0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85,\n\t0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46,\n\t0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8,\n\t0xAA, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA,\n\t0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8,\n\t0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE,\n\t// Bytes 2340 - 237f\n\t0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9,\n\t0x8A, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC,\n\t0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46,\n\t0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8,\n\t0xAA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8,\n\t0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD,\n\t0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8,\n\t// Bytes 2380 - 23bf\n\t0xAD, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89,\n\t0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46,\n\t0xD8, 0xAD, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8,\n\t0xAD, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8,\n\t0xAC, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC,\n\t0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8,\n\t0xAC, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89,\n\t// Bytes 23c0 - 23ff\n\t0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46,\n\t0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8,\n\t0xB3, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3,\n\t0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8,\n\t0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD,\n\t0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9,\n\t0x8A, 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE,\n\t0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46,\n\t// Bytes 2400 - 243f\n\t0xD8, 0xB5, 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8,\n\t0xB5, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5,\n\t0xD9, 0x84, 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9,\n\t0x84, 0xDB, 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85,\n\t0xD9, 0x85, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9,\n\t0x89, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A,\n\t0x46, 0xD8, 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46,\n\t0xD8, 0xB7, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8,\n\t// Bytes 2440 - 247f\n\t0xB7, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8,\n\t0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85,\n\t0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9,\n\t0x89, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A,\n\t0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46,\n\t0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8,\n\t0xBA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81,\n\t// Bytes 2480 - 24bf\n\t0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9,\n\t0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84,\n\t0xDB, 0x92, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8,\n\t0xAD, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85,\n\t0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46,\n\t0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9,\n\t0x83, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84,\n\t0xD8, 0xAC, 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8,\n\t// Bytes 24c0 - 24ff\n\t0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9,\n\t0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89,\n\t0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46,\n\t0xD9, 0x84, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9,\n\t0x84, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8,\n\t0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC,\n\t// Bytes 2500 - 253f\n\t0xD8, 0xAE, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9,\n\t0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A,\n\t0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46,\n\t0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9,\n\t0x85, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85,\n\t0xD8, 0xAE, 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8,\n\t0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9,\n\t// Bytes 2540 - 257f\n\t0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD,\n\t0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46,\n\t0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9,\n\t0x86, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86,\n\t0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8,\n\t0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9,\n\t0x89, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A,\n\t// Bytes 2580 - 25bf\n\t0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46,\n\t0xD9, 0x87, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9,\n\t0x8A, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A,\n\t0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9,\n\t0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8,\n\t0xA7, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC,\n\t0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46,\n\t// Bytes 25c0 - 25ff\n\t0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9,\n\t0x8A, 0xD9, 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A,\n\t0xD9, 0x94, 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9,\n\t0x94, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94,\n\t0xD9, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9,\n\t0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88,\n\t0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46,\n\t0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9,\n\t// Bytes 2600 - 263f\n\t0x8A, 0xD9, 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A,\n\t0xD9, 0x94, 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9,\n\t0x94, 0xDB, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94,\n\t0xDB, 0x90, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB,\n\t0x95, 0x46, 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2,\n\t0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46,\n\t0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0,\n\t0xBB, 0x8D, 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD,\n\t// Bytes 2640 - 267f\n\t0x80, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82,\n\t0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0,\n\t0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE,\n\t0xB7, 0x46, 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7,\n\t0x46, 0xE0, 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46,\n\t0xE0, 0xBE, 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0,\n\t0xBE, 0x92, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE,\n\t0x9C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1,\n\t// Bytes 2680 - 26bf\n\t0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0,\n\t0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE,\n\t0xB7, 0x46, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2,\n\t0x46, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46,\n\t0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2,\n\t0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81,\n\t0xBB, 0xE3, 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88,\n\t0xE3, 0x82, 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3,\n\t// Bytes 26c0 - 26ff\n\t0x83, 0xAD, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82,\n\t0xB3, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88,\n\t0x46, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46,\n\t0xE3, 0x83, 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3,\n\t0x83, 0x9B, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83,\n\t0x9F, 0xE3, 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA,\n\t0xE3, 0x83, 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3,\n\t0x83, 0xA0, 0x46, 0xE5, 0xA4, 0xA7, 0xE6, 0xAD,\n\t// Bytes 2700 - 273f\n\t0xA3, 0x46, 0xE5, 0xB9, 0xB3, 0xE6, 0x88, 0x90,\n\t0x46, 0xE6, 0x98, 0x8E, 0xE6, 0xB2, 0xBB, 0x46,\n\t0xE6, 0x98, 0xAD, 0xE5, 0x92, 0x8C, 0x47, 0x72,\n\t0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, 0x47, 0xE3,\n\t0x80, 0x94, 0x53, 0xE3, 0x80, 0x95, 0x48, 0x28,\n\t0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x29, 0x48,\n\t0x28, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x29,\n\t0x48, 0x28, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1,\n\t// Bytes 2740 - 277f\n\t0x29, 0x48, 0x28, 0xE1, 0x84, 0x85, 0xE1, 0x85,\n\t0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x86, 0xE1,\n\t0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x87,\n\t0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84,\n\t0x89, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1,\n\t0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28,\n\t0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x29, 0x48,\n\t0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0x29,\n\t// Bytes 2780 - 27bf\n\t0x48, 0x28, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1,\n\t0x29, 0x48, 0x28, 0xE1, 0x84, 0x8F, 0xE1, 0x85,\n\t0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x90, 0xE1,\n\t0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x91,\n\t0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84,\n\t0x92, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x72, 0x61,\n\t0x64, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x48, 0xD8,\n\t0xA7, 0xD9, 0x83, 0xD8, 0xA8, 0xD8, 0xB1, 0x48,\n\t// Bytes 27c0 - 27ff\n\t0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87,\n\t0x48, 0xD8, 0xB1, 0xD8, 0xB3, 0xD9, 0x88, 0xD9,\n\t0x84, 0x48, 0xD8, 0xB1, 0xDB, 0x8C, 0xD8, 0xA7,\n\t0xD9, 0x84, 0x48, 0xD8, 0xB5, 0xD9, 0x84, 0xD8,\n\t0xB9, 0xD9, 0x85, 0x48, 0xD8, 0xB9, 0xD9, 0x84,\n\t0xD9, 0x8A, 0xD9, 0x87, 0x48, 0xD9, 0x85, 0xD8,\n\t0xAD, 0xD9, 0x85, 0xD8, 0xAF, 0x48, 0xD9, 0x88,\n\t0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x49, 0xE2,\n\t// Bytes 2800 - 283f\n\t0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2,\n\t0x49, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0xE2,\n\t0x80, 0xB5, 0x49, 0xE2, 0x88, 0xAB, 0xE2, 0x88,\n\t0xAB, 0xE2, 0x88, 0xAB, 0x49, 0xE2, 0x88, 0xAE,\n\t0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x49, 0xE3,\n\t0x80, 0x94, 0xE4, 0xB8, 0x89, 0xE3, 0x80, 0x95,\n\t0x49, 0xE3, 0x80, 0x94, 0xE4, 0xBA, 0x8C, 0xE3,\n\t0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0x8B,\n\t// Bytes 2840 - 287f\n\t0x9D, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94,\n\t0xE5, 0xAE, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3,\n\t0x80, 0x94, 0xE6, 0x89, 0x93, 0xE3, 0x80, 0x95,\n\t0x49, 0xE3, 0x80, 0x94, 0xE6, 0x95, 0x97, 0xE3,\n\t0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x9C,\n\t0xAC, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94,\n\t0xE7, 0x82, 0xB9, 0xE3, 0x80, 0x95, 0x49, 0xE3,\n\t0x80, 0x94, 0xE7, 0x9B, 0x97, 0xE3, 0x80, 0x95,\n\t// Bytes 2880 - 28bf\n\t0x49, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xAB, 0x49, 0xE3, 0x82, 0xA4, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, 0xA6,\n\t0xE3, 0x82, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3,\n\t0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9,\n\t0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xA0, 0x49, 0xE3, 0x82, 0xAB, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x83, 0xAA, 0x49, 0xE3, 0x82, 0xB1,\n\t// Bytes 28c0 - 28ff\n\t0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x49, 0xE3,\n\t0x82, 0xB3, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x8A,\n\t0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3,\n\t0x83, 0x81, 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, 0x86,\n\t0xE3, 0x82, 0x99, 0xE3, 0x82, 0xB7, 0x49, 0xE3,\n\t0x83, 0x88, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB,\n\t0x49, 0xE3, 0x83, 0x8E, 0xE3, 0x83, 0x83, 0xE3,\n\t// Bytes 2900 - 293f\n\t0x83, 0x88, 0x49, 0xE3, 0x83, 0x8F, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x92,\n\t0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3,\n\t0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xB3,\n\t0x49, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3,\n\t0x83, 0xB3, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x82,\n\t0x9A, 0xE3, 0x82, 0xBD, 0x49, 0xE3, 0x83, 0x98,\n\t0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x84, 0x49, 0xE3,\n\t// Bytes 2940 - 297f\n\t0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB,\n\t0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xB3, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9E,\n\t0xE3, 0x83, 0x83, 0xE3, 0x83, 0x8F, 0x49, 0xE3,\n\t0x83, 0x9E, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xAF,\n\t0x49, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xAB, 0x49, 0xE3, 0x83, 0xA6, 0xE3, 0x82,\n\t// Bytes 2980 - 29bf\n\t0xA2, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, 0xAF,\n\t0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE2,\n\t0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2,\n\t0xE2, 0x80, 0xB2, 0x4C, 0xE2, 0x88, 0xAB, 0xE2,\n\t0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB,\n\t0x4C, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xAB, 0xE3,\n\t0x83, 0x95, 0xE3, 0x82, 0xA1, 0x4C, 0xE3, 0x82,\n\t0xA8, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xAB, 0xE3,\n\t// Bytes 29c0 - 29ff\n\t0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C,\n\t0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x9E, 0x4C, 0xE3, 0x82, 0xAB,\n\t0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83,\n\t0x88, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xAD,\n\t0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3,\n\t0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x8B,\n\t// Bytes 2a00 - 2a3f\n\t0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3,\n\t0x83, 0xA5, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC,\n\t0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3,\n\t0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x4C, 0xE3, 0x82,\n\t0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0x8D, 0x4C, 0xE3, 0x82, 0xB5, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C,\n\t0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t// Bytes 2a40 - 2a7f\n\t0xBC, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x8F,\n\t0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t0x84, 0x4C, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3,\n\t0x83, 0x95, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC,\n\t0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x98, 0xE3,\n\t0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBF,\n\t0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3,\n\t// Bytes 2a80 - 2abf\n\t0x83, 0x8B, 0xE3, 0x83, 0x92, 0x4C, 0xE3, 0x83,\n\t0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, 0xE3,\n\t0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x9B, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x88, 0x4C,\n\t0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x82,\n\t0xAF, 0xE3, 0x83, 0xAD, 0x4C, 0xE3, 0x83, 0x9F,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83,\n\t0xB3, 0x4C, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC,\n\t// Bytes 2ac0 - 2aff\n\t0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3,\n\t0x83, 0xAA, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88,\n\t0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAB, 0xE3,\n\t0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC,\n\t0x4C, 0xE6, 0xA0, 0xAA, 0xE5, 0xBC, 0x8F, 0xE4,\n\t0xBC, 0x9A, 0xE7, 0xA4, 0xBE, 0x4E, 0x28, 0xE1,\n\t0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x92,\n\t0xE1, 0x85, 0xAE, 0x29, 0x4F, 0xD8, 0xAC, 0xD9,\n\t// Bytes 2b00 - 2b3f\n\t0x84, 0x20, 0xD8, 0xAC, 0xD9, 0x84, 0xD8, 0xA7,\n\t0xD9, 0x84, 0xD9, 0x87, 0x4F, 0xE3, 0x82, 0xA2,\n\t0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xA2,\n\t0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x98, 0xE3, 0x82,\n\t0x9A, 0xE3, 0x82, 0xA2, 0x4F, 0xE3, 0x82, 0xAD,\n\t0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAF, 0xE3, 0x83,\n\t0x83, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xB5,\n\t// Bytes 2b40 - 2b7f\n\t0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0xA0, 0x4F, 0xE3, 0x83, 0x8F,\n\t0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t0xAC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x98,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xBF, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x9B,\n\t0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA4, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x83, 0x9E,\n\t// Bytes 2b80 - 2bbf\n\t0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83,\n\t0xA7, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xA1,\n\t0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0x88, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xAB,\n\t0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x95, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xAB, 0x51, 0x28, 0xE1, 0x84,\n\t0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x8C, 0xE1,\n\t0x85, 0xA5, 0xE1, 0x86, 0xAB, 0x29, 0x52, 0xE3,\n\t// Bytes 2bc0 - 2bff\n\t0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB,\n\t0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0xBC, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0xA9, 0xE3, 0x83, 0xA0, 0x52, 0xE3, 0x82, 0xAD,\n\t0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xA1, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t// Bytes 2c00 - 2c3f\n\t0xA9, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x88, 0xE3,\n\t0x83, 0xB3, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x83,\n\t0xAB, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0xE3,\n\t0x82, 0xA4, 0xE3, 0x83, 0xAD, 0x52, 0xE3, 0x83,\n\t0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88,\n\t0x52, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3,\n\t0x82, 0xA2, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88,\n\t// Bytes 2c40 - 2c7f\n\t0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x95, 0xE3,\n\t0x82, 0x99, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7,\n\t0xE3, 0x82, 0xA7, 0xE3, 0x83, 0xAB, 0x52, 0xE3,\n\t0x83, 0x9F, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x8F,\n\t0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t0xAB, 0x52, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3,\n\t0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB1, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xB3, 0x61, 0xD8, 0xB5, 0xD9,\n\t// Bytes 2c80 - 2cbf\n\t0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84,\n\t0xD9, 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9,\n\t0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x20, 0xD9, 0x88,\n\t0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x06, 0xE0,\n\t0xA7, 0x87, 0xE0, 0xA6, 0xBE, 0x01, 0x06, 0xE0,\n\t0xA7, 0x87, 0xE0, 0xA7, 0x97, 0x01, 0x06, 0xE0,\n\t0xAD, 0x87, 0xE0, 0xAC, 0xBE, 0x01, 0x06, 0xE0,\n\t0xAD, 0x87, 0xE0, 0xAD, 0x96, 0x01, 0x06, 0xE0,\n\t// Bytes 2cc0 - 2cff\n\t0xAD, 0x87, 0xE0, 0xAD, 0x97, 0x01, 0x06, 0xE0,\n\t0xAE, 0x92, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0,\n\t0xAF, 0x86, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0,\n\t0xAF, 0x86, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0,\n\t0xAF, 0x87, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0,\n\t0xB2, 0xBF, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0,\n\t0xB3, 0x86, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0,\n\t0xB3, 0x86, 0xE0, 0xB3, 0x96, 0x01, 0x06, 0xE0,\n\t// Bytes 2d00 - 2d3f\n\t0xB5, 0x86, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0,\n\t0xB5, 0x86, 0xE0, 0xB5, 0x97, 0x01, 0x06, 0xE0,\n\t0xB5, 0x87, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0,\n\t0xB7, 0x99, 0xE0, 0xB7, 0x9F, 0x01, 0x06, 0xE1,\n\t0x80, 0xA5, 0xE1, 0x80, 0xAE, 0x01, 0x06, 0xE1,\n\t0xAC, 0x85, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x87, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x89, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t// Bytes 2d40 - 2d7f\n\t0xAC, 0x8B, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x8D, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x91, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBA, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBC, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBE, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBF, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAD, 0x82, 0xE1, 0xAC, 0xB5, 0x01, 0x08, 0xF0,\n\t// Bytes 2d80 - 2dbf\n\t0x91, 0x84, 0xB1, 0xF0, 0x91, 0x84, 0xA7, 0x01,\n\t0x08, 0xF0, 0x91, 0x84, 0xB2, 0xF0, 0x91, 0x84,\n\t0xA7, 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0,\n\t0x91, 0x8C, 0xBE, 0x01, 0x08, 0xF0, 0x91, 0x8D,\n\t0x87, 0xF0, 0x91, 0x8D, 0x97, 0x01, 0x08, 0xF0,\n\t0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xB0, 0x01,\n\t0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92,\n\t0xBA, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0,\n\t// Bytes 2dc0 - 2dff\n\t0x91, 0x92, 0xBD, 0x01, 0x08, 0xF0, 0x91, 0x96,\n\t0xB8, 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0,\n\t0x91, 0x96, 0xB9, 0xF0, 0x91, 0x96, 0xAF, 0x01,\n\t0x09, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0,\n\t0xB3, 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0,\n\t0xB7, 0x8F, 0xE0, 0xB7, 0x8A, 0x12, 0x44, 0x44,\n\t0x5A, 0xCC, 0x8C, 0xC9, 0x44, 0x44, 0x7A, 0xCC,\n\t0x8C, 0xC9, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xC9,\n\t// Bytes 2e00 - 2e3f\n\t0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xC9,\n\t0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xC9,\n\t0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB5,\n\t0x46, 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01,\n\t// Bytes 2e40 - 2e7f\n\t0x46, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01,\n\t0x46, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01,\n\t// Bytes 2e80 - 2ebf\n\t0x46, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01,\n\t0x49, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3,\n\t0x82, 0x99, 0x0D, 0x4C, 0xE1, 0x84, 0x8C, 0xE1,\n\t0x85, 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4,\n\t0x01, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99,\n\t0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C,\n\t0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t// Bytes 2ec0 - 2eff\n\t0x9B, 0xE3, 0x82, 0x9A, 0x0D, 0x4C, 0xE3, 0x83,\n\t0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3,\n\t0x82, 0x99, 0x0D, 0x4F, 0xE1, 0x84, 0x8E, 0xE1,\n\t0x85, 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80,\n\t0xE1, 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4,\n\t0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82,\n\t0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, 0x82,\n\t0xB7, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3,\n\t// Bytes 2f00 - 2f3f\n\t0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3,\n\t0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC,\n\t0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, 0x4F,\n\t0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D,\n\t0x52, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3,\n\t0x82, 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88,\n\t0xE3, 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x83, 0x95,\n\t// Bytes 2f40 - 2f7f\n\t0xE3, 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83,\n\t0x83, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D,\n\t0x86, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01,\n\t0x86, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01,\n\t0x03, 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC,\n\t0xB8, 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03,\n\t0x41, 0xCC, 0x80, 0xC9, 0x03, 0x41, 0xCC, 0x81,\n\t0xC9, 0x03, 0x41, 0xCC, 0x83, 0xC9, 0x03, 0x41,\n\t// Bytes 2f80 - 2fbf\n\t0xCC, 0x84, 0xC9, 0x03, 0x41, 0xCC, 0x89, 0xC9,\n\t0x03, 0x41, 0xCC, 0x8C, 0xC9, 0x03, 0x41, 0xCC,\n\t0x8F, 0xC9, 0x03, 0x41, 0xCC, 0x91, 0xC9, 0x03,\n\t0x41, 0xCC, 0xA5, 0xB5, 0x03, 0x41, 0xCC, 0xA8,\n\t0xA5, 0x03, 0x42, 0xCC, 0x87, 0xC9, 0x03, 0x42,\n\t0xCC, 0xA3, 0xB5, 0x03, 0x42, 0xCC, 0xB1, 0xB5,\n\t0x03, 0x43, 0xCC, 0x81, 0xC9, 0x03, 0x43, 0xCC,\n\t0x82, 0xC9, 0x03, 0x43, 0xCC, 0x87, 0xC9, 0x03,\n\t// Bytes 2fc0 - 2fff\n\t0x43, 0xCC, 0x8C, 0xC9, 0x03, 0x44, 0xCC, 0x87,\n\t0xC9, 0x03, 0x44, 0xCC, 0x8C, 0xC9, 0x03, 0x44,\n\t0xCC, 0xA3, 0xB5, 0x03, 0x44, 0xCC, 0xA7, 0xA5,\n\t0x03, 0x44, 0xCC, 0xAD, 0xB5, 0x03, 0x44, 0xCC,\n\t0xB1, 0xB5, 0x03, 0x45, 0xCC, 0x80, 0xC9, 0x03,\n\t0x45, 0xCC, 0x81, 0xC9, 0x03, 0x45, 0xCC, 0x83,\n\t0xC9, 0x03, 0x45, 0xCC, 0x86, 0xC9, 0x03, 0x45,\n\t0xCC, 0x87, 0xC9, 0x03, 0x45, 0xCC, 0x88, 0xC9,\n\t// Bytes 3000 - 303f\n\t0x03, 0x45, 0xCC, 0x89, 0xC9, 0x03, 0x45, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x45, 0xCC, 0x8F, 0xC9, 0x03,\n\t0x45, 0xCC, 0x91, 0xC9, 0x03, 0x45, 0xCC, 0xA8,\n\t0xA5, 0x03, 0x45, 0xCC, 0xAD, 0xB5, 0x03, 0x45,\n\t0xCC, 0xB0, 0xB5, 0x03, 0x46, 0xCC, 0x87, 0xC9,\n\t0x03, 0x47, 0xCC, 0x81, 0xC9, 0x03, 0x47, 0xCC,\n\t0x82, 0xC9, 0x03, 0x47, 0xCC, 0x84, 0xC9, 0x03,\n\t0x47, 0xCC, 0x86, 0xC9, 0x03, 0x47, 0xCC, 0x87,\n\t// Bytes 3040 - 307f\n\t0xC9, 0x03, 0x47, 0xCC, 0x8C, 0xC9, 0x03, 0x47,\n\t0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0x82, 0xC9,\n\t0x03, 0x48, 0xCC, 0x87, 0xC9, 0x03, 0x48, 0xCC,\n\t0x88, 0xC9, 0x03, 0x48, 0xCC, 0x8C, 0xC9, 0x03,\n\t0x48, 0xCC, 0xA3, 0xB5, 0x03, 0x48, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x48, 0xCC, 0xAE, 0xB5, 0x03, 0x49,\n\t0xCC, 0x80, 0xC9, 0x03, 0x49, 0xCC, 0x81, 0xC9,\n\t0x03, 0x49, 0xCC, 0x82, 0xC9, 0x03, 0x49, 0xCC,\n\t// Bytes 3080 - 30bf\n\t0x83, 0xC9, 0x03, 0x49, 0xCC, 0x84, 0xC9, 0x03,\n\t0x49, 0xCC, 0x86, 0xC9, 0x03, 0x49, 0xCC, 0x87,\n\t0xC9, 0x03, 0x49, 0xCC, 0x89, 0xC9, 0x03, 0x49,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x49, 0xCC, 0x8F, 0xC9,\n\t0x03, 0x49, 0xCC, 0x91, 0xC9, 0x03, 0x49, 0xCC,\n\t0xA3, 0xB5, 0x03, 0x49, 0xCC, 0xA8, 0xA5, 0x03,\n\t0x49, 0xCC, 0xB0, 0xB5, 0x03, 0x4A, 0xCC, 0x82,\n\t0xC9, 0x03, 0x4B, 0xCC, 0x81, 0xC9, 0x03, 0x4B,\n\t// Bytes 30c0 - 30ff\n\t0xCC, 0x8C, 0xC9, 0x03, 0x4B, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x4B, 0xCC, 0xA7, 0xA5, 0x03, 0x4B, 0xCC,\n\t0xB1, 0xB5, 0x03, 0x4C, 0xCC, 0x81, 0xC9, 0x03,\n\t0x4C, 0xCC, 0x8C, 0xC9, 0x03, 0x4C, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x4C, 0xCC, 0xAD, 0xB5, 0x03, 0x4C,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x4D, 0xCC, 0x81, 0xC9,\n\t0x03, 0x4D, 0xCC, 0x87, 0xC9, 0x03, 0x4D, 0xCC,\n\t0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0x80, 0xC9, 0x03,\n\t// Bytes 3100 - 313f\n\t0x4E, 0xCC, 0x81, 0xC9, 0x03, 0x4E, 0xCC, 0x83,\n\t0xC9, 0x03, 0x4E, 0xCC, 0x87, 0xC9, 0x03, 0x4E,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x4E, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x4E, 0xCC, 0xA7, 0xA5, 0x03, 0x4E, 0xCC,\n\t0xAD, 0xB5, 0x03, 0x4E, 0xCC, 0xB1, 0xB5, 0x03,\n\t0x4F, 0xCC, 0x80, 0xC9, 0x03, 0x4F, 0xCC, 0x81,\n\t0xC9, 0x03, 0x4F, 0xCC, 0x86, 0xC9, 0x03, 0x4F,\n\t0xCC, 0x89, 0xC9, 0x03, 0x4F, 0xCC, 0x8B, 0xC9,\n\t// Bytes 3140 - 317f\n\t0x03, 0x4F, 0xCC, 0x8C, 0xC9, 0x03, 0x4F, 0xCC,\n\t0x8F, 0xC9, 0x03, 0x4F, 0xCC, 0x91, 0xC9, 0x03,\n\t0x50, 0xCC, 0x81, 0xC9, 0x03, 0x50, 0xCC, 0x87,\n\t0xC9, 0x03, 0x52, 0xCC, 0x81, 0xC9, 0x03, 0x52,\n\t0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x8C, 0xC9,\n\t0x03, 0x52, 0xCC, 0x8F, 0xC9, 0x03, 0x52, 0xCC,\n\t0x91, 0xC9, 0x03, 0x52, 0xCC, 0xA7, 0xA5, 0x03,\n\t0x52, 0xCC, 0xB1, 0xB5, 0x03, 0x53, 0xCC, 0x82,\n\t// Bytes 3180 - 31bf\n\t0xC9, 0x03, 0x53, 0xCC, 0x87, 0xC9, 0x03, 0x53,\n\t0xCC, 0xA6, 0xB5, 0x03, 0x53, 0xCC, 0xA7, 0xA5,\n\t0x03, 0x54, 0xCC, 0x87, 0xC9, 0x03, 0x54, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x54, 0xCC, 0xA3, 0xB5, 0x03,\n\t0x54, 0xCC, 0xA6, 0xB5, 0x03, 0x54, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x54, 0xCC, 0xAD, 0xB5, 0x03, 0x54,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x55, 0xCC, 0x80, 0xC9,\n\t0x03, 0x55, 0xCC, 0x81, 0xC9, 0x03, 0x55, 0xCC,\n\t// Bytes 31c0 - 31ff\n\t0x82, 0xC9, 0x03, 0x55, 0xCC, 0x86, 0xC9, 0x03,\n\t0x55, 0xCC, 0x89, 0xC9, 0x03, 0x55, 0xCC, 0x8A,\n\t0xC9, 0x03, 0x55, 0xCC, 0x8B, 0xC9, 0x03, 0x55,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x55, 0xCC, 0x8F, 0xC9,\n\t0x03, 0x55, 0xCC, 0x91, 0xC9, 0x03, 0x55, 0xCC,\n\t0xA3, 0xB5, 0x03, 0x55, 0xCC, 0xA4, 0xB5, 0x03,\n\t0x55, 0xCC, 0xA8, 0xA5, 0x03, 0x55, 0xCC, 0xAD,\n\t0xB5, 0x03, 0x55, 0xCC, 0xB0, 0xB5, 0x03, 0x56,\n\t// Bytes 3200 - 323f\n\t0xCC, 0x83, 0xC9, 0x03, 0x56, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x57, 0xCC, 0x80, 0xC9, 0x03, 0x57, 0xCC,\n\t0x81, 0xC9, 0x03, 0x57, 0xCC, 0x82, 0xC9, 0x03,\n\t0x57, 0xCC, 0x87, 0xC9, 0x03, 0x57, 0xCC, 0x88,\n\t0xC9, 0x03, 0x57, 0xCC, 0xA3, 0xB5, 0x03, 0x58,\n\t0xCC, 0x87, 0xC9, 0x03, 0x58, 0xCC, 0x88, 0xC9,\n\t0x03, 0x59, 0xCC, 0x80, 0xC9, 0x03, 0x59, 0xCC,\n\t0x81, 0xC9, 0x03, 0x59, 0xCC, 0x82, 0xC9, 0x03,\n\t// Bytes 3240 - 327f\n\t0x59, 0xCC, 0x83, 0xC9, 0x03, 0x59, 0xCC, 0x84,\n\t0xC9, 0x03, 0x59, 0xCC, 0x87, 0xC9, 0x03, 0x59,\n\t0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x89, 0xC9,\n\t0x03, 0x59, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, 0xCC,\n\t0x81, 0xC9, 0x03, 0x5A, 0xCC, 0x82, 0xC9, 0x03,\n\t0x5A, 0xCC, 0x87, 0xC9, 0x03, 0x5A, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x5A, 0xCC, 0xA3, 0xB5, 0x03, 0x5A,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x61, 0xCC, 0x80, 0xC9,\n\t// Bytes 3280 - 32bf\n\t0x03, 0x61, 0xCC, 0x81, 0xC9, 0x03, 0x61, 0xCC,\n\t0x83, 0xC9, 0x03, 0x61, 0xCC, 0x84, 0xC9, 0x03,\n\t0x61, 0xCC, 0x89, 0xC9, 0x03, 0x61, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x61, 0xCC, 0x8F, 0xC9, 0x03, 0x61,\n\t0xCC, 0x91, 0xC9, 0x03, 0x61, 0xCC, 0xA5, 0xB5,\n\t0x03, 0x61, 0xCC, 0xA8, 0xA5, 0x03, 0x62, 0xCC,\n\t0x87, 0xC9, 0x03, 0x62, 0xCC, 0xA3, 0xB5, 0x03,\n\t0x62, 0xCC, 0xB1, 0xB5, 0x03, 0x63, 0xCC, 0x81,\n\t// Bytes 32c0 - 32ff\n\t0xC9, 0x03, 0x63, 0xCC, 0x82, 0xC9, 0x03, 0x63,\n\t0xCC, 0x87, 0xC9, 0x03, 0x63, 0xCC, 0x8C, 0xC9,\n\t0x03, 0x64, 0xCC, 0x87, 0xC9, 0x03, 0x64, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x64, 0xCC, 0xA3, 0xB5, 0x03,\n\t0x64, 0xCC, 0xA7, 0xA5, 0x03, 0x64, 0xCC, 0xAD,\n\t0xB5, 0x03, 0x64, 0xCC, 0xB1, 0xB5, 0x03, 0x65,\n\t0xCC, 0x80, 0xC9, 0x03, 0x65, 0xCC, 0x81, 0xC9,\n\t0x03, 0x65, 0xCC, 0x83, 0xC9, 0x03, 0x65, 0xCC,\n\t// Bytes 3300 - 333f\n\t0x86, 0xC9, 0x03, 0x65, 0xCC, 0x87, 0xC9, 0x03,\n\t0x65, 0xCC, 0x88, 0xC9, 0x03, 0x65, 0xCC, 0x89,\n\t0xC9, 0x03, 0x65, 0xCC, 0x8C, 0xC9, 0x03, 0x65,\n\t0xCC, 0x8F, 0xC9, 0x03, 0x65, 0xCC, 0x91, 0xC9,\n\t0x03, 0x65, 0xCC, 0xA8, 0xA5, 0x03, 0x65, 0xCC,\n\t0xAD, 0xB5, 0x03, 0x65, 0xCC, 0xB0, 0xB5, 0x03,\n\t0x66, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, 0x81,\n\t0xC9, 0x03, 0x67, 0xCC, 0x82, 0xC9, 0x03, 0x67,\n\t// Bytes 3340 - 337f\n\t0xCC, 0x84, 0xC9, 0x03, 0x67, 0xCC, 0x86, 0xC9,\n\t0x03, 0x67, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x67, 0xCC, 0xA7, 0xA5, 0x03,\n\t0x68, 0xCC, 0x82, 0xC9, 0x03, 0x68, 0xCC, 0x87,\n\t0xC9, 0x03, 0x68, 0xCC, 0x88, 0xC9, 0x03, 0x68,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x68, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x68, 0xCC, 0xA7, 0xA5, 0x03, 0x68, 0xCC,\n\t0xAE, 0xB5, 0x03, 0x68, 0xCC, 0xB1, 0xB5, 0x03,\n\t// Bytes 3380 - 33bf\n\t0x69, 0xCC, 0x80, 0xC9, 0x03, 0x69, 0xCC, 0x81,\n\t0xC9, 0x03, 0x69, 0xCC, 0x82, 0xC9, 0x03, 0x69,\n\t0xCC, 0x83, 0xC9, 0x03, 0x69, 0xCC, 0x84, 0xC9,\n\t0x03, 0x69, 0xCC, 0x86, 0xC9, 0x03, 0x69, 0xCC,\n\t0x89, 0xC9, 0x03, 0x69, 0xCC, 0x8C, 0xC9, 0x03,\n\t0x69, 0xCC, 0x8F, 0xC9, 0x03, 0x69, 0xCC, 0x91,\n\t0xC9, 0x03, 0x69, 0xCC, 0xA3, 0xB5, 0x03, 0x69,\n\t0xCC, 0xA8, 0xA5, 0x03, 0x69, 0xCC, 0xB0, 0xB5,\n\t// Bytes 33c0 - 33ff\n\t0x03, 0x6A, 0xCC, 0x82, 0xC9, 0x03, 0x6A, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0x81, 0xC9, 0x03,\n\t0x6B, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0xA3,\n\t0xB5, 0x03, 0x6B, 0xCC, 0xA7, 0xA5, 0x03, 0x6B,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x6C, 0xCC, 0x81, 0xC9,\n\t0x03, 0x6C, 0xCC, 0x8C, 0xC9, 0x03, 0x6C, 0xCC,\n\t0xA7, 0xA5, 0x03, 0x6C, 0xCC, 0xAD, 0xB5, 0x03,\n\t0x6C, 0xCC, 0xB1, 0xB5, 0x03, 0x6D, 0xCC, 0x81,\n\t// Bytes 3400 - 343f\n\t0xC9, 0x03, 0x6D, 0xCC, 0x87, 0xC9, 0x03, 0x6D,\n\t0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0x80, 0xC9,\n\t0x03, 0x6E, 0xCC, 0x81, 0xC9, 0x03, 0x6E, 0xCC,\n\t0x83, 0xC9, 0x03, 0x6E, 0xCC, 0x87, 0xC9, 0x03,\n\t0x6E, 0xCC, 0x8C, 0xC9, 0x03, 0x6E, 0xCC, 0xA3,\n\t0xB5, 0x03, 0x6E, 0xCC, 0xA7, 0xA5, 0x03, 0x6E,\n\t0xCC, 0xAD, 0xB5, 0x03, 0x6E, 0xCC, 0xB1, 0xB5,\n\t0x03, 0x6F, 0xCC, 0x80, 0xC9, 0x03, 0x6F, 0xCC,\n\t// Bytes 3440 - 347f\n\t0x81, 0xC9, 0x03, 0x6F, 0xCC, 0x86, 0xC9, 0x03,\n\t0x6F, 0xCC, 0x89, 0xC9, 0x03, 0x6F, 0xCC, 0x8B,\n\t0xC9, 0x03, 0x6F, 0xCC, 0x8C, 0xC9, 0x03, 0x6F,\n\t0xCC, 0x8F, 0xC9, 0x03, 0x6F, 0xCC, 0x91, 0xC9,\n\t0x03, 0x70, 0xCC, 0x81, 0xC9, 0x03, 0x70, 0xCC,\n\t0x87, 0xC9, 0x03, 0x72, 0xCC, 0x81, 0xC9, 0x03,\n\t0x72, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x72, 0xCC, 0x8F, 0xC9, 0x03, 0x72,\n\t// Bytes 3480 - 34bf\n\t0xCC, 0x91, 0xC9, 0x03, 0x72, 0xCC, 0xA7, 0xA5,\n\t0x03, 0x72, 0xCC, 0xB1, 0xB5, 0x03, 0x73, 0xCC,\n\t0x82, 0xC9, 0x03, 0x73, 0xCC, 0x87, 0xC9, 0x03,\n\t0x73, 0xCC, 0xA6, 0xB5, 0x03, 0x73, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x74, 0xCC, 0x87, 0xC9, 0x03, 0x74,\n\t0xCC, 0x88, 0xC9, 0x03, 0x74, 0xCC, 0x8C, 0xC9,\n\t0x03, 0x74, 0xCC, 0xA3, 0xB5, 0x03, 0x74, 0xCC,\n\t0xA6, 0xB5, 0x03, 0x74, 0xCC, 0xA7, 0xA5, 0x03,\n\t// Bytes 34c0 - 34ff\n\t0x74, 0xCC, 0xAD, 0xB5, 0x03, 0x74, 0xCC, 0xB1,\n\t0xB5, 0x03, 0x75, 0xCC, 0x80, 0xC9, 0x03, 0x75,\n\t0xCC, 0x81, 0xC9, 0x03, 0x75, 0xCC, 0x82, 0xC9,\n\t0x03, 0x75, 0xCC, 0x86, 0xC9, 0x03, 0x75, 0xCC,\n\t0x89, 0xC9, 0x03, 0x75, 0xCC, 0x8A, 0xC9, 0x03,\n\t0x75, 0xCC, 0x8B, 0xC9, 0x03, 0x75, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x75, 0xCC, 0x8F, 0xC9, 0x03, 0x75,\n\t0xCC, 0x91, 0xC9, 0x03, 0x75, 0xCC, 0xA3, 0xB5,\n\t// Bytes 3500 - 353f\n\t0x03, 0x75, 0xCC, 0xA4, 0xB5, 0x03, 0x75, 0xCC,\n\t0xA8, 0xA5, 0x03, 0x75, 0xCC, 0xAD, 0xB5, 0x03,\n\t0x75, 0xCC, 0xB0, 0xB5, 0x03, 0x76, 0xCC, 0x83,\n\t0xC9, 0x03, 0x76, 0xCC, 0xA3, 0xB5, 0x03, 0x77,\n\t0xCC, 0x80, 0xC9, 0x03, 0x77, 0xCC, 0x81, 0xC9,\n\t0x03, 0x77, 0xCC, 0x82, 0xC9, 0x03, 0x77, 0xCC,\n\t0x87, 0xC9, 0x03, 0x77, 0xCC, 0x88, 0xC9, 0x03,\n\t0x77, 0xCC, 0x8A, 0xC9, 0x03, 0x77, 0xCC, 0xA3,\n\t// Bytes 3540 - 357f\n\t0xB5, 0x03, 0x78, 0xCC, 0x87, 0xC9, 0x03, 0x78,\n\t0xCC, 0x88, 0xC9, 0x03, 0x79, 0xCC, 0x80, 0xC9,\n\t0x03, 0x79, 0xCC, 0x81, 0xC9, 0x03, 0x79, 0xCC,\n\t0x82, 0xC9, 0x03, 0x79, 0xCC, 0x83, 0xC9, 0x03,\n\t0x79, 0xCC, 0x84, 0xC9, 0x03, 0x79, 0xCC, 0x87,\n\t0xC9, 0x03, 0x79, 0xCC, 0x88, 0xC9, 0x03, 0x79,\n\t0xCC, 0x89, 0xC9, 0x03, 0x79, 0xCC, 0x8A, 0xC9,\n\t0x03, 0x79, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, 0xCC,\n\t// Bytes 3580 - 35bf\n\t0x81, 0xC9, 0x03, 0x7A, 0xCC, 0x82, 0xC9, 0x03,\n\t0x7A, 0xCC, 0x87, 0xC9, 0x03, 0x7A, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x7A, 0xCC, 0xA3, 0xB5, 0x03, 0x7A,\n\t0xCC, 0xB1, 0xB5, 0x04, 0xC2, 0xA8, 0xCC, 0x80,\n\t0xCA, 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x04,\n\t0xC2, 0xA8, 0xCD, 0x82, 0xCA, 0x04, 0xC3, 0x86,\n\t0xCC, 0x81, 0xC9, 0x04, 0xC3, 0x86, 0xCC, 0x84,\n\t0xC9, 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xC9, 0x04,\n\t// Bytes 35c0 - 35ff\n\t0xC3, 0xA6, 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0xA6,\n\t0xCC, 0x84, 0xC9, 0x04, 0xC3, 0xB8, 0xCC, 0x81,\n\t0xC9, 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xC9, 0x04,\n\t0xC6, 0xB7, 0xCC, 0x8C, 0xC9, 0x04, 0xCA, 0x92,\n\t0xCC, 0x8C, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x80,\n\t0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x04,\n\t0xCE, 0x91, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x91,\n\t0xCC, 0x86, 0xC9, 0x04, 0xCE, 0x91, 0xCD, 0x85,\n\t// Bytes 3600 - 363f\n\t0xD9, 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97,\n\t0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x97, 0xCC, 0x81,\n\t0xC9, 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xD9, 0x04,\n\t0xCE, 0x99, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x99,\n\t0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x84,\n\t0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xC9, 0x04,\n\t0xCE, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0x9F,\n\t// Bytes 3640 - 367f\n\t0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x9F, 0xCC, 0x81,\n\t0xC9, 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xC9, 0x04,\n\t0xCE, 0xA5, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA5,\n\t0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x84,\n\t0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xC9, 0x04,\n\t0xCE, 0xA5, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0xA9,\n\t0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA9, 0xCC, 0x81,\n\t0xC9, 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xD9, 0x04,\n\t// Bytes 3680 - 36bf\n\t0xCE, 0xB1, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB1,\n\t0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB1, 0xCD, 0x85,\n\t0xD9, 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xB7,\n\t0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB9, 0xCC, 0x80,\n\t0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x04,\n\t0xCE, 0xB9, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB9,\n\t0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB9, 0xCD, 0x82,\n\t// Bytes 36c0 - 36ff\n\t0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x81,\n\t0xCC, 0x93, 0xC9, 0x04, 0xCF, 0x81, 0xCC, 0x94,\n\t0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x85,\n\t0xCC, 0x84, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x86,\n\t0xC9, 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xC9, 0x04,\n\t0xCF, 0x89, 0xCD, 0x85, 0xD9, 0x04, 0xCF, 0x92,\n\t// Bytes 3700 - 373f\n\t0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x92, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0x90, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x90,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x93, 0xCC, 0x81,\n\t0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xC9, 0x04,\n\t0xD0, 0x95, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x95,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xC9, 0x04,\n\t// Bytes 3740 - 377f\n\t0xD0, 0x97, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x98,\n\t0xCC, 0x80, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x84,\n\t0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xC9, 0x04,\n\t0xD0, 0x98, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x9A,\n\t0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x9E, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xC9, 0x04,\n\t0xD0, 0xA3, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xA3,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x8B,\n\t// Bytes 3780 - 37bf\n\t0xC9, 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0xAB, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xAD,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0xB3, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0xB5,\n\t0xCC, 0x80, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0xB6, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB6,\n\t// Bytes 37c0 - 37ff\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB7, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xC9, 0x04,\n\t0xD0, 0xB8, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0xB8,\n\t0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xC9, 0x04,\n\t0xD0, 0xBE, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x83,\n\t0xCC, 0x84, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xC9, 0x04,\n\t// Bytes 3800 - 383f\n\t0xD1, 0x83, 0xCC, 0x8B, 0xC9, 0x04, 0xD1, 0x87,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8B, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD1, 0x96, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0xB4,\n\t0xCC, 0x8F, 0xC9, 0x04, 0xD1, 0xB5, 0xCC, 0x8F,\n\t0xC9, 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD3, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA8,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA9, 0xCC, 0x88,\n\t// Bytes 3840 - 387f\n\t0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x04,\n\t0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x04, 0xD8, 0xA7,\n\t0xD9, 0x95, 0xB5, 0x04, 0xD9, 0x88, 0xD9, 0x94,\n\t0xC9, 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, 0x04,\n\t0xDB, 0x81, 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x92,\n\t0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x95, 0xD9, 0x94,\n\t0xC9, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCA,\n\t0x05, 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05,\n\t// Bytes 3880 - 38bf\n\t0x41, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x41,\n\t0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC,\n\t0x86, 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x86,\n\t0xCC, 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC,\n\t0x83, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89,\n\t0xCA, 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCA,\n\t0x05, 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05,\n\t0x41, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x41,\n\t// Bytes 38c0 - 38ff\n\t0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x41, 0xCC,\n\t0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x43, 0xCC, 0xA7,\n\t0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC,\n\t0x80, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81,\n\t0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCA,\n\t0x05, 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05,\n\t0x45, 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x45,\n\t0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC,\n\t// Bytes 3900 - 393f\n\t0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x45, 0xCC, 0xA7,\n\t0xCC, 0x86, 0xCA, 0x05, 0x49, 0xCC, 0x88, 0xCC,\n\t0x81, 0xCA, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84,\n\t0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCA,\n\t0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05,\n\t0x4F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x4F,\n\t0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC,\n\t0x83, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x83,\n\t// Bytes 3940 - 397f\n\t0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x83, 0xCC,\n\t0x88, 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80,\n\t0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCA,\n\t0x05, 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05,\n\t0x4F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x4F,\n\t0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC,\n\t0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x9B,\n\t0xCC, 0x83, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC,\n\t// Bytes 3980 - 39bf\n\t0x89, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3,\n\t0xB6, 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA,\n\t0x05, 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05,\n\t0x52, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x53,\n\t0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC,\n\t0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, 0xA3,\n\t0xCC, 0x87, 0xCA, 0x05, 0x55, 0xCC, 0x83, 0xCC,\n\t0x81, 0xCA, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88,\n\t// Bytes 39c0 - 39ff\n\t0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCA,\n\t0x05, 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05,\n\t0x55, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x55,\n\t0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x55, 0xCC,\n\t0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x9B,\n\t0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC,\n\t0x83, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89,\n\t0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6,\n\t// Bytes 3a00 - 3a3f\n\t0x05, 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05,\n\t0x61, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x61,\n\t0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC,\n\t0x82, 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x86,\n\t0xCC, 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC,\n\t0x81, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83,\n\t0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCA,\n\t0x05, 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05,\n\t// Bytes 3a40 - 3a7f\n\t0x61, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x61,\n\t0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC,\n\t0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x61, 0xCC, 0xA3,\n\t0xCC, 0x86, 0xCA, 0x05, 0x63, 0xCC, 0xA7, 0xCC,\n\t0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80,\n\t0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCA,\n\t0x05, 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05,\n\t0x65, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x65,\n\t// Bytes 3a80 - 3abf\n\t0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC,\n\t0x84, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0xA3,\n\t0xCC, 0x82, 0xCA, 0x05, 0x65, 0xCC, 0xA7, 0xCC,\n\t0x86, 0xCA, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81,\n\t0xCA, 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCA,\n\t0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05,\n\t0x6F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x6F,\n\t0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC,\n\t// Bytes 3ac0 - 3aff\n\t0x82, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x83,\n\t0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC,\n\t0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88,\n\t0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCA,\n\t0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05,\n\t0x6F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, 0x6F,\n\t0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC,\n\t0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x9B,\n\t// Bytes 3b00 - 3b3f\n\t0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC,\n\t0x83, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89,\n\t0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6,\n\t0x05, 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05,\n\t0x6F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, 0x72,\n\t0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x73, 0xCC,\n\t0x81, 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0x8C,\n\t0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0xA3, 0xCC,\n\t// Bytes 3b40 - 3b7f\n\t0x87, 0xCA, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81,\n\t0xCA, 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCA,\n\t0x05, 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x05,\n\t0x75, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x75,\n\t0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x75, 0xCC,\n\t0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x75, 0xCC, 0x9B,\n\t0xCC, 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC,\n\t0x81, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83,\n\t// Bytes 3b80 - 3bbf\n\t0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCA,\n\t0x05, 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, 0x05,\n\t0xE1, 0xBE, 0xBF, 0xCC, 0x80, 0xCA, 0x05, 0xE1,\n\t0xBE, 0xBF, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBE,\n\t0xBF, 0xCD, 0x82, 0xCA, 0x05, 0xE1, 0xBF, 0xBE,\n\t0xCC, 0x80, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCC,\n\t0x81, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82,\n\t0xCA, 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05,\n\t// Bytes 3bc0 - 3bff\n\t0x05, 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x87, 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87,\n\t0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05,\n\t// Bytes 3c00 - 3c3f\n\t0xE2, 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x88, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89,\n\t0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t// Bytes 3c40 - 3c7f\n\t0x89, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89,\n\t0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x8A, 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A,\n\t// Bytes 3c80 - 3cbf\n\t0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x8A, 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A,\n\t0xAB, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2,\n\t// Bytes 3cc0 - 3cff\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05,\n\t0x06, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t// Bytes 3d00 - 3d3f\n\t0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t// Bytes 3d40 - 3d7f\n\t0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t// Bytes 3d80 - 3dbf\n\t0x06, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t// Bytes 3dc0 - 3dff\n\t0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDA,\n\t// Bytes 3e00 - 3e3f\n\t0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t// Bytes 3e40 - 3e7f\n\t0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCA,\n\t// Bytes 3e80 - 3ebf\n\t0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDA,\n\t// Bytes 3ec0 - 3eff\n\t0x06, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDA,\n\t0x06, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x09,\n\t0x06, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x09,\n\t0x06, 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x09,\n\t0x06, 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x85,\n\t0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x11,\n\t// Bytes 3f00 - 3f3f\n\t0x06, 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 3f40 - 3f7f\n\t0x06, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 3f80 - 3fbf\n\t0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x0D,\n\t// Bytes 3fc0 - 3fff\n\t0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 4000 - 403f\n\t0x06, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 4040 - 407f\n\t0x06, 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 4080 - 40bf\n\t0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 40c0 - 40ff\n\t0x06, 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x0D,\n\t0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC,\n\t0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC,\n\t0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD,\n\t// Bytes 4100 - 413f\n\t0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD,\n\t0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC,\n\t0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC,\n\t0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t// Bytes 4140 - 417f\n\t0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC,\n\t0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC,\n\t0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD,\n\t// Bytes 4180 - 41bf\n\t0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC,\n\t0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC,\n\t0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB,\n\t// Bytes 41c0 - 41ff\n\t0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC,\n\t0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC,\n\t0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD,\n\t0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC,\n\t// Bytes 4200 - 423f\n\t0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF,\n\t0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC,\n\t0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB,\n\t0x08, 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82,\n\t// Bytes 4240 - 427f\n\t0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0,\n\t0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82,\n\t0xA5, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x42, 0xC2,\n\t0xB4, 0x01, 0x43, 0x20, 0xCC, 0x81, 0xC9, 0x43,\n\t0x20, 0xCC, 0x83, 0xC9, 0x43, 0x20, 0xCC, 0x84,\n\t0xC9, 0x43, 0x20, 0xCC, 0x85, 0xC9, 0x43, 0x20,\n\t0xCC, 0x86, 0xC9, 0x43, 0x20, 0xCC, 0x87, 0xC9,\n\t0x43, 0x20, 0xCC, 0x88, 0xC9, 0x43, 0x20, 0xCC,\n\t// Bytes 4280 - 42bf\n\t0x8A, 0xC9, 0x43, 0x20, 0xCC, 0x8B, 0xC9, 0x43,\n\t0x20, 0xCC, 0x93, 0xC9, 0x43, 0x20, 0xCC, 0x94,\n\t0xC9, 0x43, 0x20, 0xCC, 0xA7, 0xA5, 0x43, 0x20,\n\t0xCC, 0xA8, 0xA5, 0x43, 0x20, 0xCC, 0xB3, 0xB5,\n\t0x43, 0x20, 0xCD, 0x82, 0xC9, 0x43, 0x20, 0xCD,\n\t0x85, 0xD9, 0x43, 0x20, 0xD9, 0x8B, 0x59, 0x43,\n\t0x20, 0xD9, 0x8C, 0x5D, 0x43, 0x20, 0xD9, 0x8D,\n\t0x61, 0x43, 0x20, 0xD9, 0x8E, 0x65, 0x43, 0x20,\n\t// Bytes 42c0 - 42ff\n\t0xD9, 0x8F, 0x69, 0x43, 0x20, 0xD9, 0x90, 0x6D,\n\t0x43, 0x20, 0xD9, 0x91, 0x71, 0x43, 0x20, 0xD9,\n\t0x92, 0x75, 0x43, 0x41, 0xCC, 0x8A, 0xC9, 0x43,\n\t0x73, 0xCC, 0x87, 0xC9, 0x44, 0x20, 0xE3, 0x82,\n\t0x99, 0x0D, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x44, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x44, 0xCE,\n\t0x91, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x95, 0xCC,\n\t0x81, 0xC9, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xC9,\n\t// Bytes 4300 - 433f\n\t0x44, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x44, 0xCE,\n\t0x9F, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC,\n\t0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xC9,\n\t0x44, 0xCE, 0xA9, 0xCC, 0x81, 0xC9, 0x44, 0xCE,\n\t0xB1, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB5, 0xCC,\n\t0x81, 0xC9, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xC9,\n\t0x44, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x44, 0xCE,\n\t0xBF, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x85, 0xCC,\n\t// Bytes 4340 - 437f\n\t0x81, 0xC9, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xC9,\n\t0x44, 0xD7, 0x90, 0xD6, 0xB7, 0x31, 0x44, 0xD7,\n\t0x90, 0xD6, 0xB8, 0x35, 0x44, 0xD7, 0x90, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x91, 0xD6, 0xBF, 0x49, 0x44, 0xD7,\n\t0x92, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x93, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x95, 0xD6, 0xB9, 0x39, 0x44, 0xD7,\n\t// Bytes 4380 - 43bf\n\t0x95, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x96, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x99, 0xD6, 0xB4, 0x25, 0x44, 0xD7,\n\t0x99, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9A, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x9B, 0xD6, 0xBF, 0x49, 0x44, 0xD7,\n\t0x9C, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9E, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x41,\n\t// Bytes 43c0 - 43ff\n\t0x44, 0xD7, 0xA1, 0xD6, 0xBC, 0x41, 0x44, 0xD7,\n\t0xA3, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x49,\n\t0x44, 0xD7, 0xA6, 0xD6, 0xBC, 0x41, 0x44, 0xD7,\n\t0xA7, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA8, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0xA9, 0xD7, 0x81, 0x4D, 0x44, 0xD7,\n\t0xA9, 0xD7, 0x82, 0x51, 0x44, 0xD7, 0xAA, 0xD6,\n\t// Bytes 4400 - 443f\n\t0xBC, 0x41, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x31,\n\t0x44, 0xD8, 0xA7, 0xD9, 0x8B, 0x59, 0x44, 0xD8,\n\t0xA7, 0xD9, 0x93, 0xC9, 0x44, 0xD8, 0xA7, 0xD9,\n\t0x94, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB5,\n\t0x44, 0xD8, 0xB0, 0xD9, 0xB0, 0x79, 0x44, 0xD8,\n\t0xB1, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x80, 0xD9,\n\t0x8B, 0x59, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x65,\n\t0x44, 0xD9, 0x80, 0xD9, 0x8F, 0x69, 0x44, 0xD9,\n\t// Bytes 4440 - 447f\n\t0x80, 0xD9, 0x90, 0x6D, 0x44, 0xD9, 0x80, 0xD9,\n\t0x91, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x75,\n\t0x44, 0xD9, 0x87, 0xD9, 0xB0, 0x79, 0x44, 0xD9,\n\t0x88, 0xD9, 0x94, 0xC9, 0x44, 0xD9, 0x89, 0xD9,\n\t0xB0, 0x79, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xC9,\n\t0x44, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x44, 0xDB,\n\t0x95, 0xD9, 0x94, 0xC9, 0x45, 0x20, 0xCC, 0x88,\n\t0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCC,\n\t// Bytes 4480 - 44bf\n\t0x81, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82,\n\t0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x45, 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x45,\n\t0x20, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x45, 0x20,\n\t0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x94,\n\t0xCD, 0x82, 0xCA, 0x45, 0x20, 0xD9, 0x8C, 0xD9,\n\t0x91, 0x72, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91,\n\t// Bytes 44c0 - 44ff\n\t0x72, 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x72,\n\t0x45, 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x45,\n\t0x20, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x45, 0x20,\n\t0xD9, 0x91, 0xD9, 0xB0, 0x7A, 0x45, 0xE2, 0xAB,\n\t0x9D, 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC,\n\t0x88, 0xCC, 0x81, 0xCA, 0x46, 0xCF, 0x85, 0xCC,\n\t0x88, 0xCC, 0x81, 0xCA, 0x46, 0xD7, 0xA9, 0xD6,\n\t0xBC, 0xD7, 0x81, 0x4E, 0x46, 0xD7, 0xA9, 0xD6,\n\t// Bytes 4500 - 453f\n\t0xBC, 0xD7, 0x82, 0x52, 0x46, 0xD9, 0x80, 0xD9,\n\t0x8E, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9,\n\t0x8F, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9,\n\t0x90, 0xD9, 0x91, 0x72, 0x46, 0xE0, 0xA4, 0x95,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x96,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x97,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x9C,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA1,\n\t// Bytes 4540 - 457f\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA2,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAB,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAF,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA1,\n\t0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA2,\n\t0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xAF,\n\t0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x96,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x97,\n\t// Bytes 4580 - 45bf\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x9C,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xAB,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB2,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB8,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA1,\n\t0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA2,\n\t0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xBE, 0xB2,\n\t0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE0, 0xBE, 0xB3,\n\t// Bytes 45c0 - 45ff\n\t0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE3, 0x83, 0x86,\n\t0xE3, 0x82, 0x99, 0x0D, 0x48, 0xF0, 0x9D, 0x85,\n\t0x97, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0,\n\t0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xAD,\n\t0x48, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85,\n\t0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0,\n\t0x9D, 0x85, 0xA5, 0xAD, 0x49, 0xE0, 0xBE, 0xB2,\n\t0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x49,\n\t// Bytes 4600 - 463f\n\t0xE0, 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE,\n\t0x80, 0x9E, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0,\n\t0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE,\n\t0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85,\n\t0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0,\n\t0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0,\n\t0x9D, 0x85, 0xB0, 0xAE, 0x4C, 0xF0, 0x9D, 0x85,\n\t0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85,\n\t// Bytes 4640 - 467f\n\t0xB1, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0,\n\t0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xAE,\n\t0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85,\n\t0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0,\n\t0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0,\n\t0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, 0x9D, 0x86,\n\t0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85,\n\t0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0,\n\t// Bytes 4680 - 46bf\n\t0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE,\n\t0x83, 0x41, 0xCC, 0x82, 0xC9, 0x83, 0x41, 0xCC,\n\t0x86, 0xC9, 0x83, 0x41, 0xCC, 0x87, 0xC9, 0x83,\n\t0x41, 0xCC, 0x88, 0xC9, 0x83, 0x41, 0xCC, 0x8A,\n\t0xC9, 0x83, 0x41, 0xCC, 0xA3, 0xB5, 0x83, 0x43,\n\t0xCC, 0xA7, 0xA5, 0x83, 0x45, 0xCC, 0x82, 0xC9,\n\t0x83, 0x45, 0xCC, 0x84, 0xC9, 0x83, 0x45, 0xCC,\n\t0xA3, 0xB5, 0x83, 0x45, 0xCC, 0xA7, 0xA5, 0x83,\n\t// Bytes 46c0 - 46ff\n\t0x49, 0xCC, 0x88, 0xC9, 0x83, 0x4C, 0xCC, 0xA3,\n\t0xB5, 0x83, 0x4F, 0xCC, 0x82, 0xC9, 0x83, 0x4F,\n\t0xCC, 0x83, 0xC9, 0x83, 0x4F, 0xCC, 0x84, 0xC9,\n\t0x83, 0x4F, 0xCC, 0x87, 0xC9, 0x83, 0x4F, 0xCC,\n\t0x88, 0xC9, 0x83, 0x4F, 0xCC, 0x9B, 0xAD, 0x83,\n\t0x4F, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0xA8,\n\t0xA5, 0x83, 0x52, 0xCC, 0xA3, 0xB5, 0x83, 0x53,\n\t0xCC, 0x81, 0xC9, 0x83, 0x53, 0xCC, 0x8C, 0xC9,\n\t// Bytes 4700 - 473f\n\t0x83, 0x53, 0xCC, 0xA3, 0xB5, 0x83, 0x55, 0xCC,\n\t0x83, 0xC9, 0x83, 0x55, 0xCC, 0x84, 0xC9, 0x83,\n\t0x55, 0xCC, 0x88, 0xC9, 0x83, 0x55, 0xCC, 0x9B,\n\t0xAD, 0x83, 0x61, 0xCC, 0x82, 0xC9, 0x83, 0x61,\n\t0xCC, 0x86, 0xC9, 0x83, 0x61, 0xCC, 0x87, 0xC9,\n\t0x83, 0x61, 0xCC, 0x88, 0xC9, 0x83, 0x61, 0xCC,\n\t0x8A, 0xC9, 0x83, 0x61, 0xCC, 0xA3, 0xB5, 0x83,\n\t0x63, 0xCC, 0xA7, 0xA5, 0x83, 0x65, 0xCC, 0x82,\n\t// Bytes 4740 - 477f\n\t0xC9, 0x83, 0x65, 0xCC, 0x84, 0xC9, 0x83, 0x65,\n\t0xCC, 0xA3, 0xB5, 0x83, 0x65, 0xCC, 0xA7, 0xA5,\n\t0x83, 0x69, 0xCC, 0x88, 0xC9, 0x83, 0x6C, 0xCC,\n\t0xA3, 0xB5, 0x83, 0x6F, 0xCC, 0x82, 0xC9, 0x83,\n\t0x6F, 0xCC, 0x83, 0xC9, 0x83, 0x6F, 0xCC, 0x84,\n\t0xC9, 0x83, 0x6F, 0xCC, 0x87, 0xC9, 0x83, 0x6F,\n\t0xCC, 0x88, 0xC9, 0x83, 0x6F, 0xCC, 0x9B, 0xAD,\n\t0x83, 0x6F, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC,\n\t// Bytes 4780 - 47bf\n\t0xA8, 0xA5, 0x83, 0x72, 0xCC, 0xA3, 0xB5, 0x83,\n\t0x73, 0xCC, 0x81, 0xC9, 0x83, 0x73, 0xCC, 0x8C,\n\t0xC9, 0x83, 0x73, 0xCC, 0xA3, 0xB5, 0x83, 0x75,\n\t0xCC, 0x83, 0xC9, 0x83, 0x75, 0xCC, 0x84, 0xC9,\n\t0x83, 0x75, 0xCC, 0x88, 0xC9, 0x83, 0x75, 0xCC,\n\t0x9B, 0xAD, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0x91, 0xCC, 0x94, 0xC9, 0x84, 0xCE,\n\t0x95, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x95, 0xCC,\n\t// Bytes 47c0 - 47ff\n\t0x94, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0x97, 0xCC, 0x94, 0xC9, 0x84, 0xCE,\n\t0x99, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x99, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0x9F, 0xCC, 0x94, 0xC9, 0x84, 0xCE,\n\t0xA5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xA9, 0xCC,\n\t0x93, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCE, 0xB1, 0xCC, 0x80, 0xC9, 0x84, 0xCE,\n\t// Bytes 4800 - 483f\n\t0xB1, 0xCC, 0x81, 0xC9, 0x84, 0xCE, 0xB1, 0xCC,\n\t0x93, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCE, 0xB1, 0xCD, 0x82, 0xC9, 0x84, 0xCE,\n\t0xB5, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB5, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xC9,\n\t0x84, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, 0x84, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB7, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xC9,\n\t// Bytes 4840 - 487f\n\t0x84, 0xCE, 0xB9, 0xCC, 0x88, 0xC9, 0x84, 0xCE,\n\t0xB9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB9, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0xBF, 0xCC, 0x94, 0xC9, 0x84, 0xCF,\n\t0x85, 0xCC, 0x88, 0xC9, 0x84, 0xCF, 0x85, 0xCC,\n\t0x93, 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCF, 0x89, 0xCC, 0x80, 0xC9, 0x84, 0xCF,\n\t0x89, 0xCC, 0x81, 0xC9, 0x84, 0xCF, 0x89, 0xCC,\n\t// Bytes 4880 - 48bf\n\t0x93, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCF, 0x89, 0xCD, 0x82, 0xC9, 0x86, 0xCE,\n\t0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t// Bytes 48c0 - 48ff\n\t0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t// Bytes 4900 - 493f\n\t0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t// Bytes 4940 - 497f\n\t0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCF,\n\t// Bytes 4980 - 49bf\n\t0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x42, 0xCC,\n\t0x80, 0xC9, 0x32, 0x42, 0xCC, 0x81, 0xC9, 0x32,\n\t0x42, 0xCC, 0x93, 0xC9, 0x32, 0x43, 0xE1, 0x85,\n\t// Bytes 49c0 - 49ff\n\t0xA1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xA5, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xA9, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43,\n\t// Bytes 4a00 - 4a3f\n\t0xE1, 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xAD, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xB1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xB5, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01,\n\t// Bytes 4a40 - 4a7f\n\t0x00, 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43,\n\t0xE1, 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86,\n\t0xB0, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01,\n\t0x00, 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43,\n\t0xE1, 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86,\n\t0xB4, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01,\n\t0x00, 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x32,\n\t0x43, 0xE3, 0x82, 0x99, 0x0D, 0x03, 0x43, 0xE3,\n\t// Bytes 4a80 - 4abf\n\t0x82, 0x9A, 0x0D, 0x03, 0x46, 0xE0, 0xBD, 0xB1,\n\t0xE0, 0xBD, 0xB2, 0x9E, 0x26, 0x46, 0xE0, 0xBD,\n\t0xB1, 0xE0, 0xBD, 0xB4, 0xA2, 0x26, 0x46, 0xE0,\n\t0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x26, 0x00,\n\t0x01,\n}\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfcTrie) lookup(s []byte) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfcTrie) lookupUnsafe(s []byte) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfcValues[c0]\n\t}\n\ti := nfcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfcTrie) lookupString(s string) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfcTrie) lookupStringUnsafe(s string) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfcValues[c0]\n\t}\n\ti := nfcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// nfcTrie. Total size: 10332 bytes (10.09 KiB). Checksum: 51cc525b297fc970.\ntype nfcTrie struct{}\n\nfunc newNfcTrie(i int) *nfcTrie {\n\treturn &nfcTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *nfcTrie) lookupValue(n uint32, b byte) uint16 {\n\tswitch {\n\tcase n < 44:\n\t\treturn uint16(nfcValues[n<<6+uint32(b)])\n\tdefault:\n\t\tn -= 44\n\t\treturn uint16(nfcSparse.lookup(n, b))\n\t}\n}\n\n// nfcValues: 46 blocks, 2944 entries, 5888 bytes\n// The third block is the zero block.\nvar nfcValues = [2944]uint16{\n\t// Block 0x0, offset 0x0\n\t0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000,\n\t// Block 0x1, offset 0x40\n\t0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000,\n\t0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000,\n\t0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000,\n\t0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000,\n\t0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000,\n\t0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000,\n\t0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000,\n\t0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000,\n\t0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000,\n\t0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c,\n\t0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb,\n\t0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104,\n\t0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd,\n\t0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235,\n\t0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285,\n\t0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3,\n\t0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750,\n\t0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f,\n\t0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3,\n\t0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569,\n\t// Block 0x4, offset 0x100\n\t0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8,\n\t0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6,\n\t0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5,\n\t0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302,\n\t0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339,\n\t0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352,\n\t0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e,\n\t0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6,\n\t0x130: 0x308c, 0x134: 0x30b4, 0x135: 0x33c0,\n\t0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc,\n\t0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8,\n\t// Block 0x5, offset 0x140\n\t0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118,\n\t0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f,\n\t0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c,\n\t0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483,\n\t0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d,\n\t0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba,\n\t0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796,\n\t0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2,\n\t0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528,\n\t0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267,\n\t0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0xa000,\n\t// Block 0x6, offset 0x180\n\t0x184: 0x8100, 0x185: 0x8100,\n\t0x186: 0x8100,\n\t0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140,\n\t0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8,\n\t0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50,\n\t0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5,\n\t0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf,\n\t0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd,\n\t0x1b0: 0x33c5, 0x1b4: 0x3028, 0x1b5: 0x3334,\n\t0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46,\n\t0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316,\n\t0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac,\n\t0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479,\n\t0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6,\n\t0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5,\n\t0x1de: 0x305a, 0x1df: 0x3366,\n\t0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b,\n\t0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769,\n\t0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132,\n\t0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932,\n\t0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932,\n\t0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d,\n\t0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d,\n\t0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d,\n\t0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d,\n\t0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d,\n\t0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101,\n\t0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d,\n\t0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936,\n\t0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132,\n\t0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132,\n\t0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132,\n\t0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135,\n\t0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132,\n\t0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132,\n\t0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132,\n\t0x274: 0x0170,\n\t0x27a: 0x8100,\n\t0x27e: 0x0037,\n\t// Block 0xa, offset 0x280\n\t0x284: 0x8100, 0x285: 0x35a1,\n\t0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625,\n\t0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000,\n\t0x295: 0xa000, 0x297: 0xa000,\n\t0x299: 0xa000,\n\t0x29f: 0xa000, 0x2a1: 0xa000,\n\t0x2a5: 0xa000, 0x2a9: 0xa000,\n\t0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9,\n\t0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000,\n\t0x2b7: 0xa000, 0x2b9: 0xa000,\n\t0x2bf: 0xa000,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x3721, 0x2c1: 0x372d, 0x2c3: 0x371b,\n\t0x2c6: 0xa000, 0x2c7: 0x3709,\n\t0x2cc: 0x375d, 0x2cd: 0x3745, 0x2ce: 0x376f, 0x2d0: 0xa000,\n\t0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000,\n\t0x2d8: 0xa000, 0x2d9: 0x3751, 0x2da: 0xa000,\n\t0x2de: 0xa000, 0x2e3: 0xa000,\n\t0x2e7: 0xa000,\n\t0x2eb: 0xa000, 0x2ed: 0xa000,\n\t0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000,\n\t0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d5, 0x2fa: 0xa000,\n\t0x2fe: 0xa000,\n\t// Block 0xc, offset 0x300\n\t0x301: 0x3733, 0x302: 0x37b7,\n\t0x310: 0x370f, 0x311: 0x3793,\n\t0x312: 0x3715, 0x313: 0x3799, 0x316: 0x3727, 0x317: 0x37ab,\n\t0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3829, 0x31b: 0x382f, 0x31c: 0x3739, 0x31d: 0x37bd,\n\t0x31e: 0x373f, 0x31f: 0x37c3, 0x322: 0x374b, 0x323: 0x37cf,\n\t0x324: 0x3757, 0x325: 0x37db, 0x326: 0x3763, 0x327: 0x37e7, 0x328: 0xa000, 0x329: 0xa000,\n\t0x32a: 0x3835, 0x32b: 0x383b, 0x32c: 0x378d, 0x32d: 0x3811, 0x32e: 0x3769, 0x32f: 0x37ed,\n\t0x330: 0x3775, 0x331: 0x37f9, 0x332: 0x377b, 0x333: 0x37ff, 0x334: 0x3781, 0x335: 0x3805,\n\t0x338: 0x3787, 0x339: 0x380b,\n\t// Block 0xd, offset 0x340\n\t0x351: 0x812d,\n\t0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132,\n\t0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132,\n\t0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d,\n\t0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132,\n\t0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132,\n\t0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a,\n\t0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f,\n\t0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112,\n\t// Block 0xe, offset 0x380\n\t0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116,\n\t0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c,\n\t0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132,\n\t0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132,\n\t0x39e: 0x8132, 0x39f: 0x812d,\n\t0x3b0: 0x811e,\n\t// Block 0xf, offset 0x3c0\n\t0x3c5: 0xa000,\n\t0x3c6: 0x2d26, 0x3c7: 0xa000, 0x3c8: 0x2d2e, 0x3c9: 0xa000, 0x3ca: 0x2d36, 0x3cb: 0xa000,\n\t0x3cc: 0x2d3e, 0x3cd: 0xa000, 0x3ce: 0x2d46, 0x3d1: 0xa000,\n\t0x3d2: 0x2d4e,\n\t0x3f4: 0x8102, 0x3f5: 0x9900,\n\t0x3fa: 0xa000, 0x3fb: 0x2d56,\n\t0x3fc: 0xa000, 0x3fd: 0x2d5e, 0x3fe: 0xa000, 0x3ff: 0xa000,\n\t// Block 0x10, offset 0x400\n\t0x400: 0x2f97, 0x401: 0x32a3, 0x402: 0x2fa1, 0x403: 0x32ad, 0x404: 0x2fa6, 0x405: 0x32b2,\n\t0x406: 0x2fab, 0x407: 0x32b7, 0x408: 0x38cc, 0x409: 0x3a5b, 0x40a: 0x2fc4, 0x40b: 0x32d0,\n\t0x40c: 0x2fce, 0x40d: 0x32da, 0x40e: 0x2fdd, 0x40f: 0x32e9, 0x410: 0x2fd3, 0x411: 0x32df,\n\t0x412: 0x2fd8, 0x413: 0x32e4, 0x414: 0x38ef, 0x415: 0x3a7e, 0x416: 0x38f6, 0x417: 0x3a85,\n\t0x418: 0x3019, 0x419: 0x3325, 0x41a: 0x301e, 0x41b: 0x332a, 0x41c: 0x3904, 0x41d: 0x3a93,\n\t0x41e: 0x3023, 0x41f: 0x332f, 0x420: 0x3032, 0x421: 0x333e, 0x422: 0x3050, 0x423: 0x335c,\n\t0x424: 0x305f, 0x425: 0x336b, 0x426: 0x3055, 0x427: 0x3361, 0x428: 0x3064, 0x429: 0x3370,\n\t0x42a: 0x3069, 0x42b: 0x3375, 0x42c: 0x30af, 0x42d: 0x33bb, 0x42e: 0x390b, 0x42f: 0x3a9a,\n\t0x430: 0x30b9, 0x431: 0x33ca, 0x432: 0x30c3, 0x433: 0x33d4, 0x434: 0x30cd, 0x435: 0x33de,\n\t0x436: 0x46c4, 0x437: 0x4755, 0x438: 0x3912, 0x439: 0x3aa1, 0x43a: 0x30e6, 0x43b: 0x33f7,\n\t0x43c: 0x30e1, 0x43d: 0x33f2, 0x43e: 0x30eb, 0x43f: 0x33fc,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x30f0, 0x441: 0x3401, 0x442: 0x30f5, 0x443: 0x3406, 0x444: 0x3109, 0x445: 0x341a,\n\t0x446: 0x3113, 0x447: 0x3424, 0x448: 0x3122, 0x449: 0x3433, 0x44a: 0x311d, 0x44b: 0x342e,\n\t0x44c: 0x3935, 0x44d: 0x3ac4, 0x44e: 0x3943, 0x44f: 0x3ad2, 0x450: 0x394a, 0x451: 0x3ad9,\n\t0x452: 0x3951, 0x453: 0x3ae0, 0x454: 0x314f, 0x455: 0x3460, 0x456: 0x3154, 0x457: 0x3465,\n\t0x458: 0x315e, 0x459: 0x346f, 0x45a: 0x46f1, 0x45b: 0x4782, 0x45c: 0x3997, 0x45d: 0x3b26,\n\t0x45e: 0x3177, 0x45f: 0x3488, 0x460: 0x3181, 0x461: 0x3492, 0x462: 0x4700, 0x463: 0x4791,\n\t0x464: 0x399e, 0x465: 0x3b2d, 0x466: 0x39a5, 0x467: 0x3b34, 0x468: 0x39ac, 0x469: 0x3b3b,\n\t0x46a: 0x3190, 0x46b: 0x34a1, 0x46c: 0x319a, 0x46d: 0x34b0, 0x46e: 0x31ae, 0x46f: 0x34c4,\n\t0x470: 0x31a9, 0x471: 0x34bf, 0x472: 0x31ea, 0x473: 0x3500, 0x474: 0x31f9, 0x475: 0x350f,\n\t0x476: 0x31f4, 0x477: 0x350a, 0x478: 0x39b3, 0x479: 0x3b42, 0x47a: 0x39ba, 0x47b: 0x3b49,\n\t0x47c: 0x31fe, 0x47d: 0x3514, 0x47e: 0x3203, 0x47f: 0x3519,\n\t// Block 0x12, offset 0x480\n\t0x480: 0x3208, 0x481: 0x351e, 0x482: 0x320d, 0x483: 0x3523, 0x484: 0x321c, 0x485: 0x3532,\n\t0x486: 0x3217, 0x487: 0x352d, 0x488: 0x3221, 0x489: 0x353c, 0x48a: 0x3226, 0x48b: 0x3541,\n\t0x48c: 0x322b, 0x48d: 0x3546, 0x48e: 0x3249, 0x48f: 0x3564, 0x490: 0x3262, 0x491: 0x3582,\n\t0x492: 0x3271, 0x493: 0x3591, 0x494: 0x3276, 0x495: 0x3596, 0x496: 0x337a, 0x497: 0x34a6,\n\t0x498: 0x3537, 0x499: 0x3573, 0x49b: 0x35d1,\n\t0x4a0: 0x46a1, 0x4a1: 0x4732, 0x4a2: 0x2f83, 0x4a3: 0x328f,\n\t0x4a4: 0x3878, 0x4a5: 0x3a07, 0x4a6: 0x3871, 0x4a7: 0x3a00, 0x4a8: 0x3886, 0x4a9: 0x3a15,\n\t0x4aa: 0x387f, 0x4ab: 0x3a0e, 0x4ac: 0x38be, 0x4ad: 0x3a4d, 0x4ae: 0x3894, 0x4af: 0x3a23,\n\t0x4b0: 0x388d, 0x4b1: 0x3a1c, 0x4b2: 0x38a2, 0x4b3: 0x3a31, 0x4b4: 0x389b, 0x4b5: 0x3a2a,\n\t0x4b6: 0x38c5, 0x4b7: 0x3a54, 0x4b8: 0x46b5, 0x4b9: 0x4746, 0x4ba: 0x3000, 0x4bb: 0x330c,\n\t0x4bc: 0x2fec, 0x4bd: 0x32f8, 0x4be: 0x38da, 0x4bf: 0x3a69,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x38d3, 0x4c1: 0x3a62, 0x4c2: 0x38e8, 0x4c3: 0x3a77, 0x4c4: 0x38e1, 0x4c5: 0x3a70,\n\t0x4c6: 0x38fd, 0x4c7: 0x3a8c, 0x4c8: 0x3091, 0x4c9: 0x339d, 0x4ca: 0x30a5, 0x4cb: 0x33b1,\n\t0x4cc: 0x46e7, 0x4cd: 0x4778, 0x4ce: 0x3136, 0x4cf: 0x3447, 0x4d0: 0x3920, 0x4d1: 0x3aaf,\n\t0x4d2: 0x3919, 0x4d3: 0x3aa8, 0x4d4: 0x392e, 0x4d5: 0x3abd, 0x4d6: 0x3927, 0x4d7: 0x3ab6,\n\t0x4d8: 0x3989, 0x4d9: 0x3b18, 0x4da: 0x396d, 0x4db: 0x3afc, 0x4dc: 0x3966, 0x4dd: 0x3af5,\n\t0x4de: 0x397b, 0x4df: 0x3b0a, 0x4e0: 0x3974, 0x4e1: 0x3b03, 0x4e2: 0x3982, 0x4e3: 0x3b11,\n\t0x4e4: 0x31e5, 0x4e5: 0x34fb, 0x4e6: 0x31c7, 0x4e7: 0x34dd, 0x4e8: 0x39e4, 0x4e9: 0x3b73,\n\t0x4ea: 0x39dd, 0x4eb: 0x3b6c, 0x4ec: 0x39f2, 0x4ed: 0x3b81, 0x4ee: 0x39eb, 0x4ef: 0x3b7a,\n\t0x4f0: 0x39f9, 0x4f1: 0x3b88, 0x4f2: 0x3230, 0x4f3: 0x354b, 0x4f4: 0x3258, 0x4f5: 0x3578,\n\t0x4f6: 0x3253, 0x4f7: 0x356e, 0x4f8: 0x323f, 0x4f9: 0x355a,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x4804, 0x501: 0x480a, 0x502: 0x491e, 0x503: 0x4936, 0x504: 0x4926, 0x505: 0x493e,\n\t0x506: 0x492e, 0x507: 0x4946, 0x508: 0x47aa, 0x509: 0x47b0, 0x50a: 0x488e, 0x50b: 0x48a6,\n\t0x50c: 0x4896, 0x50d: 0x48ae, 0x50e: 0x489e, 0x50f: 0x48b6, 0x510: 0x4816, 0x511: 0x481c,\n\t0x512: 0x3db8, 0x513: 0x3dc8, 0x514: 0x3dc0, 0x515: 0x3dd0,\n\t0x518: 0x47b6, 0x519: 0x47bc, 0x51a: 0x3ce8, 0x51b: 0x3cf8, 0x51c: 0x3cf0, 0x51d: 0x3d00,\n\t0x520: 0x482e, 0x521: 0x4834, 0x522: 0x494e, 0x523: 0x4966,\n\t0x524: 0x4956, 0x525: 0x496e, 0x526: 0x495e, 0x527: 0x4976, 0x528: 0x47c2, 0x529: 0x47c8,\n\t0x52a: 0x48be, 0x52b: 0x48d6, 0x52c: 0x48c6, 0x52d: 0x48de, 0x52e: 0x48ce, 0x52f: 0x48e6,\n\t0x530: 0x4846, 0x531: 0x484c, 0x532: 0x3e18, 0x533: 0x3e30, 0x534: 0x3e20, 0x535: 0x3e38,\n\t0x536: 0x3e28, 0x537: 0x3e40, 0x538: 0x47ce, 0x539: 0x47d4, 0x53a: 0x3d18, 0x53b: 0x3d30,\n\t0x53c: 0x3d20, 0x53d: 0x3d38, 0x53e: 0x3d28, 0x53f: 0x3d40,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x4852, 0x541: 0x4858, 0x542: 0x3e48, 0x543: 0x3e58, 0x544: 0x3e50, 0x545: 0x3e60,\n\t0x548: 0x47da, 0x549: 0x47e0, 0x54a: 0x3d48, 0x54b: 0x3d58,\n\t0x54c: 0x3d50, 0x54d: 0x3d60, 0x550: 0x4864, 0x551: 0x486a,\n\t0x552: 0x3e80, 0x553: 0x3e98, 0x554: 0x3e88, 0x555: 0x3ea0, 0x556: 0x3e90, 0x557: 0x3ea8,\n\t0x559: 0x47e6, 0x55b: 0x3d68, 0x55d: 0x3d70,\n\t0x55f: 0x3d78, 0x560: 0x487c, 0x561: 0x4882, 0x562: 0x497e, 0x563: 0x4996,\n\t0x564: 0x4986, 0x565: 0x499e, 0x566: 0x498e, 0x567: 0x49a6, 0x568: 0x47ec, 0x569: 0x47f2,\n\t0x56a: 0x48ee, 0x56b: 0x4906, 0x56c: 0x48f6, 0x56d: 0x490e, 0x56e: 0x48fe, 0x56f: 0x4916,\n\t0x570: 0x47f8, 0x571: 0x431e, 0x572: 0x3691, 0x573: 0x4324, 0x574: 0x4822, 0x575: 0x432a,\n\t0x576: 0x36a3, 0x577: 0x4330, 0x578: 0x36c1, 0x579: 0x4336, 0x57a: 0x36d9, 0x57b: 0x433c,\n\t0x57c: 0x4870, 0x57d: 0x4342,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x3da0, 0x581: 0x3da8, 0x582: 0x4184, 0x583: 0x41a2, 0x584: 0x418e, 0x585: 0x41ac,\n\t0x586: 0x4198, 0x587: 0x41b6, 0x588: 0x3cd8, 0x589: 0x3ce0, 0x58a: 0x40d0, 0x58b: 0x40ee,\n\t0x58c: 0x40da, 0x58d: 0x40f8, 0x58e: 0x40e4, 0x58f: 0x4102, 0x590: 0x3de8, 0x591: 0x3df0,\n\t0x592: 0x41c0, 0x593: 0x41de, 0x594: 0x41ca, 0x595: 0x41e8, 0x596: 0x41d4, 0x597: 0x41f2,\n\t0x598: 0x3d08, 0x599: 0x3d10, 0x59a: 0x410c, 0x59b: 0x412a, 0x59c: 0x4116, 0x59d: 0x4134,\n\t0x59e: 0x4120, 0x59f: 0x413e, 0x5a0: 0x3ec0, 0x5a1: 0x3ec8, 0x5a2: 0x41fc, 0x5a3: 0x421a,\n\t0x5a4: 0x4206, 0x5a5: 0x4224, 0x5a6: 0x4210, 0x5a7: 0x422e, 0x5a8: 0x3d80, 0x5a9: 0x3d88,\n\t0x5aa: 0x4148, 0x5ab: 0x4166, 0x5ac: 0x4152, 0x5ad: 0x4170, 0x5ae: 0x415c, 0x5af: 0x417a,\n\t0x5b0: 0x3685, 0x5b1: 0x367f, 0x5b2: 0x3d90, 0x5b3: 0x368b, 0x5b4: 0x3d98,\n\t0x5b6: 0x4810, 0x5b7: 0x3db0, 0x5b8: 0x35f5, 0x5b9: 0x35ef, 0x5ba: 0x35e3, 0x5bb: 0x42ee,\n\t0x5bc: 0x35fb, 0x5bd: 0x8100, 0x5be: 0x01d3, 0x5bf: 0xa100,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x8100, 0x5c1: 0x35a7, 0x5c2: 0x3dd8, 0x5c3: 0x369d, 0x5c4: 0x3de0,\n\t0x5c6: 0x483a, 0x5c7: 0x3df8, 0x5c8: 0x3601, 0x5c9: 0x42f4, 0x5ca: 0x360d, 0x5cb: 0x42fa,\n\t0x5cc: 0x3619, 0x5cd: 0x3b8f, 0x5ce: 0x3b96, 0x5cf: 0x3b9d, 0x5d0: 0x36b5, 0x5d1: 0x36af,\n\t0x5d2: 0x3e00, 0x5d3: 0x44e4, 0x5d6: 0x36bb, 0x5d7: 0x3e10,\n\t0x5d8: 0x3631, 0x5d9: 0x362b, 0x5da: 0x361f, 0x5db: 0x4300, 0x5dd: 0x3ba4,\n\t0x5de: 0x3bab, 0x5df: 0x3bb2, 0x5e0: 0x36eb, 0x5e1: 0x36e5, 0x5e2: 0x3e68, 0x5e3: 0x44ec,\n\t0x5e4: 0x36cd, 0x5e5: 0x36d3, 0x5e6: 0x36f1, 0x5e7: 0x3e78, 0x5e8: 0x3661, 0x5e9: 0x365b,\n\t0x5ea: 0x364f, 0x5eb: 0x430c, 0x5ec: 0x3649, 0x5ed: 0x359b, 0x5ee: 0x42e8, 0x5ef: 0x0081,\n\t0x5f2: 0x3eb0, 0x5f3: 0x36f7, 0x5f4: 0x3eb8,\n\t0x5f6: 0x4888, 0x5f7: 0x3ed0, 0x5f8: 0x363d, 0x5f9: 0x4306, 0x5fa: 0x366d, 0x5fb: 0x4318,\n\t0x5fc: 0x3679, 0x5fd: 0x4256, 0x5fe: 0xa100,\n\t// Block 0x18, offset 0x600\n\t0x601: 0x3c06, 0x603: 0xa000, 0x604: 0x3c0d, 0x605: 0xa000,\n\t0x607: 0x3c14, 0x608: 0xa000, 0x609: 0x3c1b,\n\t0x60d: 0xa000,\n\t0x620: 0x2f65, 0x621: 0xa000, 0x622: 0x3c29,\n\t0x624: 0xa000, 0x625: 0xa000,\n\t0x62d: 0x3c22, 0x62e: 0x2f60, 0x62f: 0x2f6a,\n\t0x630: 0x3c30, 0x631: 0x3c37, 0x632: 0xa000, 0x633: 0xa000, 0x634: 0x3c3e, 0x635: 0x3c45,\n\t0x636: 0xa000, 0x637: 0xa000, 0x638: 0x3c4c, 0x639: 0x3c53, 0x63a: 0xa000, 0x63b: 0xa000,\n\t0x63c: 0xa000, 0x63d: 0xa000,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x3c5a, 0x641: 0x3c61, 0x642: 0xa000, 0x643: 0xa000, 0x644: 0x3c76, 0x645: 0x3c7d,\n\t0x646: 0xa000, 0x647: 0xa000, 0x648: 0x3c84, 0x649: 0x3c8b,\n\t0x651: 0xa000,\n\t0x652: 0xa000,\n\t0x662: 0xa000,\n\t0x668: 0xa000, 0x669: 0xa000,\n\t0x66b: 0xa000, 0x66c: 0x3ca0, 0x66d: 0x3ca7, 0x66e: 0x3cae, 0x66f: 0x3cb5,\n\t0x672: 0xa000, 0x673: 0xa000, 0x674: 0xa000, 0x675: 0xa000,\n\t// Block 0x1a, offset 0x680\n\t0x686: 0xa000, 0x68b: 0xa000,\n\t0x68c: 0x3f08, 0x68d: 0xa000, 0x68e: 0x3f10, 0x68f: 0xa000, 0x690: 0x3f18, 0x691: 0xa000,\n\t0x692: 0x3f20, 0x693: 0xa000, 0x694: 0x3f28, 0x695: 0xa000, 0x696: 0x3f30, 0x697: 0xa000,\n\t0x698: 0x3f38, 0x699: 0xa000, 0x69a: 0x3f40, 0x69b: 0xa000, 0x69c: 0x3f48, 0x69d: 0xa000,\n\t0x69e: 0x3f50, 0x69f: 0xa000, 0x6a0: 0x3f58, 0x6a1: 0xa000, 0x6a2: 0x3f60,\n\t0x6a4: 0xa000, 0x6a5: 0x3f68, 0x6a6: 0xa000, 0x6a7: 0x3f70, 0x6a8: 0xa000, 0x6a9: 0x3f78,\n\t0x6af: 0xa000,\n\t0x6b0: 0x3f80, 0x6b1: 0x3f88, 0x6b2: 0xa000, 0x6b3: 0x3f90, 0x6b4: 0x3f98, 0x6b5: 0xa000,\n\t0x6b6: 0x3fa0, 0x6b7: 0x3fa8, 0x6b8: 0xa000, 0x6b9: 0x3fb0, 0x6ba: 0x3fb8, 0x6bb: 0xa000,\n\t0x6bc: 0x3fc0, 0x6bd: 0x3fc8,\n\t// Block 0x1b, offset 0x6c0\n\t0x6d4: 0x3f00,\n\t0x6d9: 0x9903, 0x6da: 0x9903, 0x6db: 0x8100, 0x6dc: 0x8100, 0x6dd: 0xa000,\n\t0x6de: 0x3fd0,\n\t0x6e6: 0xa000,\n\t0x6eb: 0xa000, 0x6ec: 0x3fe0, 0x6ed: 0xa000, 0x6ee: 0x3fe8, 0x6ef: 0xa000,\n\t0x6f0: 0x3ff0, 0x6f1: 0xa000, 0x6f2: 0x3ff8, 0x6f3: 0xa000, 0x6f4: 0x4000, 0x6f5: 0xa000,\n\t0x6f6: 0x4008, 0x6f7: 0xa000, 0x6f8: 0x4010, 0x6f9: 0xa000, 0x6fa: 0x4018, 0x6fb: 0xa000,\n\t0x6fc: 0x4020, 0x6fd: 0xa000, 0x6fe: 0x4028, 0x6ff: 0xa000,\n\t// Block 0x1c, offset 0x700\n\t0x700: 0x4030, 0x701: 0xa000, 0x702: 0x4038, 0x704: 0xa000, 0x705: 0x4040,\n\t0x706: 0xa000, 0x707: 0x4048, 0x708: 0xa000, 0x709: 0x4050,\n\t0x70f: 0xa000, 0x710: 0x4058, 0x711: 0x4060,\n\t0x712: 0xa000, 0x713: 0x4068, 0x714: 0x4070, 0x715: 0xa000, 0x716: 0x4078, 0x717: 0x4080,\n\t0x718: 0xa000, 0x719: 0x4088, 0x71a: 0x4090, 0x71b: 0xa000, 0x71c: 0x4098, 0x71d: 0x40a0,\n\t0x72f: 0xa000,\n\t0x730: 0xa000, 0x731: 0xa000, 0x732: 0xa000, 0x734: 0x3fd8,\n\t0x737: 0x40a8, 0x738: 0x40b0, 0x739: 0x40b8, 0x73a: 0x40c0,\n\t0x73d: 0xa000, 0x73e: 0x40c8,\n\t// Block 0x1d, offset 0x740\n\t0x740: 0x1377, 0x741: 0x0cfb, 0x742: 0x13d3, 0x743: 0x139f, 0x744: 0x0e57, 0x745: 0x06eb,\n\t0x746: 0x08df, 0x747: 0x162b, 0x748: 0x162b, 0x749: 0x0a0b, 0x74a: 0x145f, 0x74b: 0x0943,\n\t0x74c: 0x0a07, 0x74d: 0x0bef, 0x74e: 0x0fcf, 0x74f: 0x115f, 0x750: 0x1297, 0x751: 0x12d3,\n\t0x752: 0x1307, 0x753: 0x141b, 0x754: 0x0d73, 0x755: 0x0dff, 0x756: 0x0eab, 0x757: 0x0f43,\n\t0x758: 0x125f, 0x759: 0x1447, 0x75a: 0x1573, 0x75b: 0x070f, 0x75c: 0x08b3, 0x75d: 0x0d87,\n\t0x75e: 0x0ecf, 0x75f: 0x1293, 0x760: 0x15c3, 0x761: 0x0ab3, 0x762: 0x0e77, 0x763: 0x1283,\n\t0x764: 0x1317, 0x765: 0x0c23, 0x766: 0x11bb, 0x767: 0x12df, 0x768: 0x0b1f, 0x769: 0x0d0f,\n\t0x76a: 0x0e17, 0x76b: 0x0f1b, 0x76c: 0x1427, 0x76d: 0x074f, 0x76e: 0x07e7, 0x76f: 0x0853,\n\t0x770: 0x0c8b, 0x771: 0x0d7f, 0x772: 0x0ecb, 0x773: 0x0fef, 0x774: 0x1177, 0x775: 0x128b,\n\t0x776: 0x12a3, 0x777: 0x13c7, 0x778: 0x14ef, 0x779: 0x15a3, 0x77a: 0x15bf, 0x77b: 0x102b,\n\t0x77c: 0x106b, 0x77d: 0x1123, 0x77e: 0x1243, 0x77f: 0x147b,\n\t// Block 0x1e, offset 0x780\n\t0x780: 0x15cb, 0x781: 0x134b, 0x782: 0x09c7, 0x783: 0x0b3b, 0x784: 0x10db, 0x785: 0x119b,\n\t0x786: 0x0eff, 0x787: 0x1033, 0x788: 0x1397, 0x789: 0x14e7, 0x78a: 0x09c3, 0x78b: 0x0a8f,\n\t0x78c: 0x0d77, 0x78d: 0x0e2b, 0x78e: 0x0e5f, 0x78f: 0x1113, 0x790: 0x113b, 0x791: 0x14a7,\n\t0x792: 0x084f, 0x793: 0x11a7, 0x794: 0x07f3, 0x795: 0x07ef, 0x796: 0x1097, 0x797: 0x1127,\n\t0x798: 0x125b, 0x799: 0x14af, 0x79a: 0x1367, 0x79b: 0x0c27, 0x79c: 0x0d73, 0x79d: 0x1357,\n\t0x79e: 0x06f7, 0x79f: 0x0a63, 0x7a0: 0x0b93, 0x7a1: 0x0f2f, 0x7a2: 0x0faf, 0x7a3: 0x0873,\n\t0x7a4: 0x103b, 0x7a5: 0x075f, 0x7a6: 0x0b77, 0x7a7: 0x06d7, 0x7a8: 0x0deb, 0x7a9: 0x0ca3,\n\t0x7aa: 0x110f, 0x7ab: 0x08c7, 0x7ac: 0x09b3, 0x7ad: 0x0ffb, 0x7ae: 0x1263, 0x7af: 0x133b,\n\t0x7b0: 0x0db7, 0x7b1: 0x13f7, 0x7b2: 0x0de3, 0x7b3: 0x0c37, 0x7b4: 0x121b, 0x7b5: 0x0c57,\n\t0x7b6: 0x0fab, 0x7b7: 0x072b, 0x7b8: 0x07a7, 0x7b9: 0x07eb, 0x7ba: 0x0d53, 0x7bb: 0x10fb,\n\t0x7bc: 0x11f3, 0x7bd: 0x1347, 0x7be: 0x145b, 0x7bf: 0x085b,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c0: 0x090f, 0x7c1: 0x0a17, 0x7c2: 0x0b2f, 0x7c3: 0x0cbf, 0x7c4: 0x0e7b, 0x7c5: 0x103f,\n\t0x7c6: 0x1497, 0x7c7: 0x157b, 0x7c8: 0x15cf, 0x7c9: 0x15e7, 0x7ca: 0x0837, 0x7cb: 0x0cf3,\n\t0x7cc: 0x0da3, 0x7cd: 0x13eb, 0x7ce: 0x0afb, 0x7cf: 0x0bd7, 0x7d0: 0x0bf3, 0x7d1: 0x0c83,\n\t0x7d2: 0x0e6b, 0x7d3: 0x0eb7, 0x7d4: 0x0f67, 0x7d5: 0x108b, 0x7d6: 0x112f, 0x7d7: 0x1193,\n\t0x7d8: 0x13db, 0x7d9: 0x126b, 0x7da: 0x1403, 0x7db: 0x147f, 0x7dc: 0x080f, 0x7dd: 0x083b,\n\t0x7de: 0x0923, 0x7df: 0x0ea7, 0x7e0: 0x12f3, 0x7e1: 0x133b, 0x7e2: 0x0b1b, 0x7e3: 0x0b8b,\n\t0x7e4: 0x0c4f, 0x7e5: 0x0daf, 0x7e6: 0x10d7, 0x7e7: 0x0f23, 0x7e8: 0x073b, 0x7e9: 0x097f,\n\t0x7ea: 0x0a63, 0x7eb: 0x0ac7, 0x7ec: 0x0b97, 0x7ed: 0x0f3f, 0x7ee: 0x0f5b, 0x7ef: 0x116b,\n\t0x7f0: 0x118b, 0x7f1: 0x1463, 0x7f2: 0x14e3, 0x7f3: 0x14f3, 0x7f4: 0x152f, 0x7f5: 0x0753,\n\t0x7f6: 0x107f, 0x7f7: 0x144f, 0x7f8: 0x14cb, 0x7f9: 0x0baf, 0x7fa: 0x0717, 0x7fb: 0x0777,\n\t0x7fc: 0x0a67, 0x7fd: 0x0a87, 0x7fe: 0x0caf, 0x7ff: 0x0d73,\n\t// Block 0x20, offset 0x800\n\t0x800: 0x0ec3, 0x801: 0x0fcb, 0x802: 0x1277, 0x803: 0x1417, 0x804: 0x1623, 0x805: 0x0ce3,\n\t0x806: 0x14a3, 0x807: 0x0833, 0x808: 0x0d2f, 0x809: 0x0d3b, 0x80a: 0x0e0f, 0x80b: 0x0e47,\n\t0x80c: 0x0f4b, 0x80d: 0x0fa7, 0x80e: 0x1027, 0x80f: 0x110b, 0x810: 0x153b, 0x811: 0x07af,\n\t0x812: 0x0c03, 0x813: 0x14b3, 0x814: 0x0767, 0x815: 0x0aab, 0x816: 0x0e2f, 0x817: 0x13df,\n\t0x818: 0x0b67, 0x819: 0x0bb7, 0x81a: 0x0d43, 0x81b: 0x0f2f, 0x81c: 0x14bb, 0x81d: 0x0817,\n\t0x81e: 0x08ff, 0x81f: 0x0a97, 0x820: 0x0cd3, 0x821: 0x0d1f, 0x822: 0x0d5f, 0x823: 0x0df3,\n\t0x824: 0x0f47, 0x825: 0x0fbb, 0x826: 0x1157, 0x827: 0x12f7, 0x828: 0x1303, 0x829: 0x1457,\n\t0x82a: 0x14d7, 0x82b: 0x0883, 0x82c: 0x0e4b, 0x82d: 0x0903, 0x82e: 0x0ec7, 0x82f: 0x0f6b,\n\t0x830: 0x1287, 0x831: 0x14bf, 0x832: 0x15ab, 0x833: 0x15d3, 0x834: 0x0d37, 0x835: 0x0e27,\n\t0x836: 0x11c3, 0x837: 0x10b7, 0x838: 0x10c3, 0x839: 0x10e7, 0x83a: 0x0f17, 0x83b: 0x0e9f,\n\t0x83c: 0x1363, 0x83d: 0x0733, 0x83e: 0x122b, 0x83f: 0x081b,\n\t// Block 0x21, offset 0x840\n\t0x840: 0x080b, 0x841: 0x0b0b, 0x842: 0x0c2b, 0x843: 0x10f3, 0x844: 0x0a53, 0x845: 0x0e03,\n\t0x846: 0x0cef, 0x847: 0x13e7, 0x848: 0x12e7, 0x849: 0x14ab, 0x84a: 0x1323, 0x84b: 0x0b27,\n\t0x84c: 0x0787, 0x84d: 0x095b, 0x850: 0x09af,\n\t0x852: 0x0cdf, 0x855: 0x07f7, 0x856: 0x0f1f, 0x857: 0x0fe3,\n\t0x858: 0x1047, 0x859: 0x1063, 0x85a: 0x1067, 0x85b: 0x107b, 0x85c: 0x14fb, 0x85d: 0x10eb,\n\t0x85e: 0x116f, 0x860: 0x128f, 0x862: 0x1353,\n\t0x865: 0x1407, 0x866: 0x1433,\n\t0x86a: 0x154f, 0x86b: 0x1553, 0x86c: 0x1557, 0x86d: 0x15bb, 0x86e: 0x142b, 0x86f: 0x14c7,\n\t0x870: 0x0757, 0x871: 0x077b, 0x872: 0x078f, 0x873: 0x084b, 0x874: 0x0857, 0x875: 0x0897,\n\t0x876: 0x094b, 0x877: 0x0967, 0x878: 0x096f, 0x879: 0x09ab, 0x87a: 0x09b7, 0x87b: 0x0a93,\n\t0x87c: 0x0a9b, 0x87d: 0x0ba3, 0x87e: 0x0bcb, 0x87f: 0x0bd3,\n\t// Block 0x22, offset 0x880\n\t0x880: 0x0beb, 0x881: 0x0c97, 0x882: 0x0cc7, 0x883: 0x0ce7, 0x884: 0x0d57, 0x885: 0x0e1b,\n\t0x886: 0x0e37, 0x887: 0x0e67, 0x888: 0x0ebb, 0x889: 0x0edb, 0x88a: 0x0f4f, 0x88b: 0x102f,\n\t0x88c: 0x104b, 0x88d: 0x1053, 0x88e: 0x104f, 0x88f: 0x1057, 0x890: 0x105b, 0x891: 0x105f,\n\t0x892: 0x1073, 0x893: 0x1077, 0x894: 0x109b, 0x895: 0x10af, 0x896: 0x10cb, 0x897: 0x112f,\n\t0x898: 0x1137, 0x899: 0x113f, 0x89a: 0x1153, 0x89b: 0x117b, 0x89c: 0x11cb, 0x89d: 0x11ff,\n\t0x89e: 0x11ff, 0x89f: 0x1267, 0x8a0: 0x130f, 0x8a1: 0x1327, 0x8a2: 0x135b, 0x8a3: 0x135f,\n\t0x8a4: 0x13a3, 0x8a5: 0x13a7, 0x8a6: 0x13ff, 0x8a7: 0x1407, 0x8a8: 0x14db, 0x8a9: 0x151f,\n\t0x8aa: 0x1537, 0x8ab: 0x0b9b, 0x8ac: 0x171e, 0x8ad: 0x11e3,\n\t0x8b0: 0x06df, 0x8b1: 0x07e3, 0x8b2: 0x07a3, 0x8b3: 0x074b, 0x8b4: 0x078b, 0x8b5: 0x07b7,\n\t0x8b6: 0x0847, 0x8b7: 0x0863, 0x8b8: 0x094b, 0x8b9: 0x0937, 0x8ba: 0x0947, 0x8bb: 0x0963,\n\t0x8bc: 0x09af, 0x8bd: 0x09bf, 0x8be: 0x0a03, 0x8bf: 0x0a0f,\n\t// Block 0x23, offset 0x8c0\n\t0x8c0: 0x0a2b, 0x8c1: 0x0a3b, 0x8c2: 0x0b23, 0x8c3: 0x0b2b, 0x8c4: 0x0b5b, 0x8c5: 0x0b7b,\n\t0x8c6: 0x0bab, 0x8c7: 0x0bc3, 0x8c8: 0x0bb3, 0x8c9: 0x0bd3, 0x8ca: 0x0bc7, 0x8cb: 0x0beb,\n\t0x8cc: 0x0c07, 0x8cd: 0x0c5f, 0x8ce: 0x0c6b, 0x8cf: 0x0c73, 0x8d0: 0x0c9b, 0x8d1: 0x0cdf,\n\t0x8d2: 0x0d0f, 0x8d3: 0x0d13, 0x8d4: 0x0d27, 0x8d5: 0x0da7, 0x8d6: 0x0db7, 0x8d7: 0x0e0f,\n\t0x8d8: 0x0e5b, 0x8d9: 0x0e53, 0x8da: 0x0e67, 0x8db: 0x0e83, 0x8dc: 0x0ebb, 0x8dd: 0x1013,\n\t0x8de: 0x0edf, 0x8df: 0x0f13, 0x8e0: 0x0f1f, 0x8e1: 0x0f5f, 0x8e2: 0x0f7b, 0x8e3: 0x0f9f,\n\t0x8e4: 0x0fc3, 0x8e5: 0x0fc7, 0x8e6: 0x0fe3, 0x8e7: 0x0fe7, 0x8e8: 0x0ff7, 0x8e9: 0x100b,\n\t0x8ea: 0x1007, 0x8eb: 0x1037, 0x8ec: 0x10b3, 0x8ed: 0x10cb, 0x8ee: 0x10e3, 0x8ef: 0x111b,\n\t0x8f0: 0x112f, 0x8f1: 0x114b, 0x8f2: 0x117b, 0x8f3: 0x122f, 0x8f4: 0x1257, 0x8f5: 0x12cb,\n\t0x8f6: 0x1313, 0x8f7: 0x131f, 0x8f8: 0x1327, 0x8f9: 0x133f, 0x8fa: 0x1353, 0x8fb: 0x1343,\n\t0x8fc: 0x135b, 0x8fd: 0x1357, 0x8fe: 0x134f, 0x8ff: 0x135f,\n\t// Block 0x24, offset 0x900\n\t0x900: 0x136b, 0x901: 0x13a7, 0x902: 0x13e3, 0x903: 0x1413, 0x904: 0x144b, 0x905: 0x146b,\n\t0x906: 0x14b7, 0x907: 0x14db, 0x908: 0x14fb, 0x909: 0x150f, 0x90a: 0x151f, 0x90b: 0x152b,\n\t0x90c: 0x1537, 0x90d: 0x158b, 0x90e: 0x162b, 0x90f: 0x16b5, 0x910: 0x16b0, 0x911: 0x16e2,\n\t0x912: 0x0607, 0x913: 0x062f, 0x914: 0x0633, 0x915: 0x1764, 0x916: 0x1791, 0x917: 0x1809,\n\t0x918: 0x1617, 0x919: 0x1627,\n\t// Block 0x25, offset 0x940\n\t0x940: 0x06fb, 0x941: 0x06f3, 0x942: 0x0703, 0x943: 0x1647, 0x944: 0x0747, 0x945: 0x0757,\n\t0x946: 0x075b, 0x947: 0x0763, 0x948: 0x076b, 0x949: 0x076f, 0x94a: 0x077b, 0x94b: 0x0773,\n\t0x94c: 0x05b3, 0x94d: 0x165b, 0x94e: 0x078f, 0x94f: 0x0793, 0x950: 0x0797, 0x951: 0x07b3,\n\t0x952: 0x164c, 0x953: 0x05b7, 0x954: 0x079f, 0x955: 0x07bf, 0x956: 0x1656, 0x957: 0x07cf,\n\t0x958: 0x07d7, 0x959: 0x0737, 0x95a: 0x07df, 0x95b: 0x07e3, 0x95c: 0x1831, 0x95d: 0x07ff,\n\t0x95e: 0x0807, 0x95f: 0x05bf, 0x960: 0x081f, 0x961: 0x0823, 0x962: 0x082b, 0x963: 0x082f,\n\t0x964: 0x05c3, 0x965: 0x0847, 0x966: 0x084b, 0x967: 0x0857, 0x968: 0x0863, 0x969: 0x0867,\n\t0x96a: 0x086b, 0x96b: 0x0873, 0x96c: 0x0893, 0x96d: 0x0897, 0x96e: 0x089f, 0x96f: 0x08af,\n\t0x970: 0x08b7, 0x971: 0x08bb, 0x972: 0x08bb, 0x973: 0x08bb, 0x974: 0x166a, 0x975: 0x0e93,\n\t0x976: 0x08cf, 0x977: 0x08d7, 0x978: 0x166f, 0x979: 0x08e3, 0x97a: 0x08eb, 0x97b: 0x08f3,\n\t0x97c: 0x091b, 0x97d: 0x0907, 0x97e: 0x0913, 0x97f: 0x0917,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x091f, 0x981: 0x0927, 0x982: 0x092b, 0x983: 0x0933, 0x984: 0x093b, 0x985: 0x093f,\n\t0x986: 0x093f, 0x987: 0x0947, 0x988: 0x094f, 0x989: 0x0953, 0x98a: 0x095f, 0x98b: 0x0983,\n\t0x98c: 0x0967, 0x98d: 0x0987, 0x98e: 0x096b, 0x98f: 0x0973, 0x990: 0x080b, 0x991: 0x09cf,\n\t0x992: 0x0997, 0x993: 0x099b, 0x994: 0x099f, 0x995: 0x0993, 0x996: 0x09a7, 0x997: 0x09a3,\n\t0x998: 0x09bb, 0x999: 0x1674, 0x99a: 0x09d7, 0x99b: 0x09db, 0x99c: 0x09e3, 0x99d: 0x09ef,\n\t0x99e: 0x09f7, 0x99f: 0x0a13, 0x9a0: 0x1679, 0x9a1: 0x167e, 0x9a2: 0x0a1f, 0x9a3: 0x0a23,\n\t0x9a4: 0x0a27, 0x9a5: 0x0a1b, 0x9a6: 0x0a2f, 0x9a7: 0x05c7, 0x9a8: 0x05cb, 0x9a9: 0x0a37,\n\t0x9aa: 0x0a3f, 0x9ab: 0x0a3f, 0x9ac: 0x1683, 0x9ad: 0x0a5b, 0x9ae: 0x0a5f, 0x9af: 0x0a63,\n\t0x9b0: 0x0a6b, 0x9b1: 0x1688, 0x9b2: 0x0a73, 0x9b3: 0x0a77, 0x9b4: 0x0b4f, 0x9b5: 0x0a7f,\n\t0x9b6: 0x05cf, 0x9b7: 0x0a8b, 0x9b8: 0x0a9b, 0x9b9: 0x0aa7, 0x9ba: 0x0aa3, 0x9bb: 0x1692,\n\t0x9bc: 0x0aaf, 0x9bd: 0x1697, 0x9be: 0x0abb, 0x9bf: 0x0ab7,\n\t// Block 0x27, offset 0x9c0\n\t0x9c0: 0x0abf, 0x9c1: 0x0acf, 0x9c2: 0x0ad3, 0x9c3: 0x05d3, 0x9c4: 0x0ae3, 0x9c5: 0x0aeb,\n\t0x9c6: 0x0aef, 0x9c7: 0x0af3, 0x9c8: 0x05d7, 0x9c9: 0x169c, 0x9ca: 0x05db, 0x9cb: 0x0b0f,\n\t0x9cc: 0x0b13, 0x9cd: 0x0b17, 0x9ce: 0x0b1f, 0x9cf: 0x1863, 0x9d0: 0x0b37, 0x9d1: 0x16a6,\n\t0x9d2: 0x16a6, 0x9d3: 0x11d7, 0x9d4: 0x0b47, 0x9d5: 0x0b47, 0x9d6: 0x05df, 0x9d7: 0x16c9,\n\t0x9d8: 0x179b, 0x9d9: 0x0b57, 0x9da: 0x0b5f, 0x9db: 0x05e3, 0x9dc: 0x0b73, 0x9dd: 0x0b83,\n\t0x9de: 0x0b87, 0x9df: 0x0b8f, 0x9e0: 0x0b9f, 0x9e1: 0x05eb, 0x9e2: 0x05e7, 0x9e3: 0x0ba3,\n\t0x9e4: 0x16ab, 0x9e5: 0x0ba7, 0x9e6: 0x0bbb, 0x9e7: 0x0bbf, 0x9e8: 0x0bc3, 0x9e9: 0x0bbf,\n\t0x9ea: 0x0bcf, 0x9eb: 0x0bd3, 0x9ec: 0x0be3, 0x9ed: 0x0bdb, 0x9ee: 0x0bdf, 0x9ef: 0x0be7,\n\t0x9f0: 0x0beb, 0x9f1: 0x0bef, 0x9f2: 0x0bfb, 0x9f3: 0x0bff, 0x9f4: 0x0c17, 0x9f5: 0x0c1f,\n\t0x9f6: 0x0c2f, 0x9f7: 0x0c43, 0x9f8: 0x16ba, 0x9f9: 0x0c3f, 0x9fa: 0x0c33, 0x9fb: 0x0c4b,\n\t0x9fc: 0x0c53, 0x9fd: 0x0c67, 0x9fe: 0x16bf, 0x9ff: 0x0c6f,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x0c63, 0xa01: 0x0c5b, 0xa02: 0x05ef, 0xa03: 0x0c77, 0xa04: 0x0c7f, 0xa05: 0x0c87,\n\t0xa06: 0x0c7b, 0xa07: 0x05f3, 0xa08: 0x0c97, 0xa09: 0x0c9f, 0xa0a: 0x16c4, 0xa0b: 0x0ccb,\n\t0xa0c: 0x0cff, 0xa0d: 0x0cdb, 0xa0e: 0x05ff, 0xa0f: 0x0ce7, 0xa10: 0x05fb, 0xa11: 0x05f7,\n\t0xa12: 0x07c3, 0xa13: 0x07c7, 0xa14: 0x0d03, 0xa15: 0x0ceb, 0xa16: 0x11ab, 0xa17: 0x0663,\n\t0xa18: 0x0d0f, 0xa19: 0x0d13, 0xa1a: 0x0d17, 0xa1b: 0x0d2b, 0xa1c: 0x0d23, 0xa1d: 0x16dd,\n\t0xa1e: 0x0603, 0xa1f: 0x0d3f, 0xa20: 0x0d33, 0xa21: 0x0d4f, 0xa22: 0x0d57, 0xa23: 0x16e7,\n\t0xa24: 0x0d5b, 0xa25: 0x0d47, 0xa26: 0x0d63, 0xa27: 0x0607, 0xa28: 0x0d67, 0xa29: 0x0d6b,\n\t0xa2a: 0x0d6f, 0xa2b: 0x0d7b, 0xa2c: 0x16ec, 0xa2d: 0x0d83, 0xa2e: 0x060b, 0xa2f: 0x0d8f,\n\t0xa30: 0x16f1, 0xa31: 0x0d93, 0xa32: 0x060f, 0xa33: 0x0d9f, 0xa34: 0x0dab, 0xa35: 0x0db7,\n\t0xa36: 0x0dbb, 0xa37: 0x16f6, 0xa38: 0x168d, 0xa39: 0x16fb, 0xa3a: 0x0ddb, 0xa3b: 0x1700,\n\t0xa3c: 0x0de7, 0xa3d: 0x0def, 0xa3e: 0x0ddf, 0xa3f: 0x0dfb,\n\t// Block 0x29, offset 0xa40\n\t0xa40: 0x0e0b, 0xa41: 0x0e1b, 0xa42: 0x0e0f, 0xa43: 0x0e13, 0xa44: 0x0e1f, 0xa45: 0x0e23,\n\t0xa46: 0x1705, 0xa47: 0x0e07, 0xa48: 0x0e3b, 0xa49: 0x0e3f, 0xa4a: 0x0613, 0xa4b: 0x0e53,\n\t0xa4c: 0x0e4f, 0xa4d: 0x170a, 0xa4e: 0x0e33, 0xa4f: 0x0e6f, 0xa50: 0x170f, 0xa51: 0x1714,\n\t0xa52: 0x0e73, 0xa53: 0x0e87, 0xa54: 0x0e83, 0xa55: 0x0e7f, 0xa56: 0x0617, 0xa57: 0x0e8b,\n\t0xa58: 0x0e9b, 0xa59: 0x0e97, 0xa5a: 0x0ea3, 0xa5b: 0x1651, 0xa5c: 0x0eb3, 0xa5d: 0x1719,\n\t0xa5e: 0x0ebf, 0xa5f: 0x1723, 0xa60: 0x0ed3, 0xa61: 0x0edf, 0xa62: 0x0ef3, 0xa63: 0x1728,\n\t0xa64: 0x0f07, 0xa65: 0x0f0b, 0xa66: 0x172d, 0xa67: 0x1732, 0xa68: 0x0f27, 0xa69: 0x0f37,\n\t0xa6a: 0x061b, 0xa6b: 0x0f3b, 0xa6c: 0x061f, 0xa6d: 0x061f, 0xa6e: 0x0f53, 0xa6f: 0x0f57,\n\t0xa70: 0x0f5f, 0xa71: 0x0f63, 0xa72: 0x0f6f, 0xa73: 0x0623, 0xa74: 0x0f87, 0xa75: 0x1737,\n\t0xa76: 0x0fa3, 0xa77: 0x173c, 0xa78: 0x0faf, 0xa79: 0x16a1, 0xa7a: 0x0fbf, 0xa7b: 0x1741,\n\t0xa7c: 0x1746, 0xa7d: 0x174b, 0xa7e: 0x0627, 0xa7f: 0x062b,\n\t// Block 0x2a, offset 0xa80\n\t0xa80: 0x0ff7, 0xa81: 0x1755, 0xa82: 0x1750, 0xa83: 0x175a, 0xa84: 0x175f, 0xa85: 0x0fff,\n\t0xa86: 0x1003, 0xa87: 0x1003, 0xa88: 0x100b, 0xa89: 0x0633, 0xa8a: 0x100f, 0xa8b: 0x0637,\n\t0xa8c: 0x063b, 0xa8d: 0x1769, 0xa8e: 0x1023, 0xa8f: 0x102b, 0xa90: 0x1037, 0xa91: 0x063f,\n\t0xa92: 0x176e, 0xa93: 0x105b, 0xa94: 0x1773, 0xa95: 0x1778, 0xa96: 0x107b, 0xa97: 0x1093,\n\t0xa98: 0x0643, 0xa99: 0x109b, 0xa9a: 0x109f, 0xa9b: 0x10a3, 0xa9c: 0x177d, 0xa9d: 0x1782,\n\t0xa9e: 0x1782, 0xa9f: 0x10bb, 0xaa0: 0x0647, 0xaa1: 0x1787, 0xaa2: 0x10cf, 0xaa3: 0x10d3,\n\t0xaa4: 0x064b, 0xaa5: 0x178c, 0xaa6: 0x10ef, 0xaa7: 0x064f, 0xaa8: 0x10ff, 0xaa9: 0x10f7,\n\t0xaaa: 0x1107, 0xaab: 0x1796, 0xaac: 0x111f, 0xaad: 0x0653, 0xaae: 0x112b, 0xaaf: 0x1133,\n\t0xab0: 0x1143, 0xab1: 0x0657, 0xab2: 0x17a0, 0xab3: 0x17a5, 0xab4: 0x065b, 0xab5: 0x17aa,\n\t0xab6: 0x115b, 0xab7: 0x17af, 0xab8: 0x1167, 0xab9: 0x1173, 0xaba: 0x117b, 0xabb: 0x17b4,\n\t0xabc: 0x17b9, 0xabd: 0x118f, 0xabe: 0x17be, 0xabf: 0x1197,\n\t// Block 0x2b, offset 0xac0\n\t0xac0: 0x16ce, 0xac1: 0x065f, 0xac2: 0x11af, 0xac3: 0x11b3, 0xac4: 0x0667, 0xac5: 0x11b7,\n\t0xac6: 0x0a33, 0xac7: 0x17c3, 0xac8: 0x17c8, 0xac9: 0x16d3, 0xaca: 0x16d8, 0xacb: 0x11d7,\n\t0xacc: 0x11db, 0xacd: 0x13f3, 0xace: 0x066b, 0xacf: 0x1207, 0xad0: 0x1203, 0xad1: 0x120b,\n\t0xad2: 0x083f, 0xad3: 0x120f, 0xad4: 0x1213, 0xad5: 0x1217, 0xad6: 0x121f, 0xad7: 0x17cd,\n\t0xad8: 0x121b, 0xad9: 0x1223, 0xada: 0x1237, 0xadb: 0x123b, 0xadc: 0x1227, 0xadd: 0x123f,\n\t0xade: 0x1253, 0xadf: 0x1267, 0xae0: 0x1233, 0xae1: 0x1247, 0xae2: 0x124b, 0xae3: 0x124f,\n\t0xae4: 0x17d2, 0xae5: 0x17dc, 0xae6: 0x17d7, 0xae7: 0x066f, 0xae8: 0x126f, 0xae9: 0x1273,\n\t0xaea: 0x127b, 0xaeb: 0x17f0, 0xaec: 0x127f, 0xaed: 0x17e1, 0xaee: 0x0673, 0xaef: 0x0677,\n\t0xaf0: 0x17e6, 0xaf1: 0x17eb, 0xaf2: 0x067b, 0xaf3: 0x129f, 0xaf4: 0x12a3, 0xaf5: 0x12a7,\n\t0xaf6: 0x12ab, 0xaf7: 0x12b7, 0xaf8: 0x12b3, 0xaf9: 0x12bf, 0xafa: 0x12bb, 0xafb: 0x12cb,\n\t0xafc: 0x12c3, 0xafd: 0x12c7, 0xafe: 0x12cf, 0xaff: 0x067f,\n\t// Block 0x2c, offset 0xb00\n\t0xb00: 0x12d7, 0xb01: 0x12db, 0xb02: 0x0683, 0xb03: 0x12eb, 0xb04: 0x12ef, 0xb05: 0x17f5,\n\t0xb06: 0x12fb, 0xb07: 0x12ff, 0xb08: 0x0687, 0xb09: 0x130b, 0xb0a: 0x05bb, 0xb0b: 0x17fa,\n\t0xb0c: 0x17ff, 0xb0d: 0x068b, 0xb0e: 0x068f, 0xb0f: 0x1337, 0xb10: 0x134f, 0xb11: 0x136b,\n\t0xb12: 0x137b, 0xb13: 0x1804, 0xb14: 0x138f, 0xb15: 0x1393, 0xb16: 0x13ab, 0xb17: 0x13b7,\n\t0xb18: 0x180e, 0xb19: 0x1660, 0xb1a: 0x13c3, 0xb1b: 0x13bf, 0xb1c: 0x13cb, 0xb1d: 0x1665,\n\t0xb1e: 0x13d7, 0xb1f: 0x13e3, 0xb20: 0x1813, 0xb21: 0x1818, 0xb22: 0x1423, 0xb23: 0x142f,\n\t0xb24: 0x1437, 0xb25: 0x181d, 0xb26: 0x143b, 0xb27: 0x1467, 0xb28: 0x1473, 0xb29: 0x1477,\n\t0xb2a: 0x146f, 0xb2b: 0x1483, 0xb2c: 0x1487, 0xb2d: 0x1822, 0xb2e: 0x1493, 0xb2f: 0x0693,\n\t0xb30: 0x149b, 0xb31: 0x1827, 0xb32: 0x0697, 0xb33: 0x14d3, 0xb34: 0x0ac3, 0xb35: 0x14eb,\n\t0xb36: 0x182c, 0xb37: 0x1836, 0xb38: 0x069b, 0xb39: 0x069f, 0xb3a: 0x1513, 0xb3b: 0x183b,\n\t0xb3c: 0x06a3, 0xb3d: 0x1840, 0xb3e: 0x152b, 0xb3f: 0x152b,\n\t// Block 0x2d, offset 0xb40\n\t0xb40: 0x1533, 0xb41: 0x1845, 0xb42: 0x154b, 0xb43: 0x06a7, 0xb44: 0x155b, 0xb45: 0x1567,\n\t0xb46: 0x156f, 0xb47: 0x1577, 0xb48: 0x06ab, 0xb49: 0x184a, 0xb4a: 0x158b, 0xb4b: 0x15a7,\n\t0xb4c: 0x15b3, 0xb4d: 0x06af, 0xb4e: 0x06b3, 0xb4f: 0x15b7, 0xb50: 0x184f, 0xb51: 0x06b7,\n\t0xb52: 0x1854, 0xb53: 0x1859, 0xb54: 0x185e, 0xb55: 0x15db, 0xb56: 0x06bb, 0xb57: 0x15ef,\n\t0xb58: 0x15f7, 0xb59: 0x15fb, 0xb5a: 0x1603, 0xb5b: 0x160b, 0xb5c: 0x1613, 0xb5d: 0x1868,\n}\n\n// nfcIndex: 22 blocks, 1408 entries, 1408 bytes\n// Block 0 is the zero block.\nvar nfcIndex = [1408]uint8{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x2c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2d, 0xc7: 0x04,\n\t0xc8: 0x05, 0xca: 0x2e, 0xcb: 0x2f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x30,\n\t0xd0: 0x09, 0xd1: 0x31, 0xd2: 0x32, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x33,\n\t0xd8: 0x34, 0xd9: 0x0c, 0xdb: 0x35, 0xdc: 0x36, 0xdd: 0x37, 0xdf: 0x38,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05,\n\t0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a,\n\t0xf0: 0x13,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x39, 0x121: 0x3a, 0x123: 0x3b, 0x124: 0x3c, 0x125: 0x3d, 0x126: 0x3e, 0x127: 0x3f,\n\t0x128: 0x40, 0x129: 0x41, 0x12a: 0x42, 0x12b: 0x43, 0x12c: 0x3e, 0x12d: 0x44, 0x12e: 0x45, 0x12f: 0x46,\n\t0x131: 0x47, 0x132: 0x48, 0x133: 0x49, 0x134: 0x4a, 0x135: 0x4b, 0x137: 0x4c,\n\t0x138: 0x4d, 0x139: 0x4e, 0x13a: 0x4f, 0x13b: 0x50, 0x13c: 0x51, 0x13d: 0x52, 0x13e: 0x53, 0x13f: 0x54,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x55, 0x142: 0x56, 0x144: 0x57, 0x145: 0x58, 0x146: 0x59, 0x147: 0x5a,\n\t0x14d: 0x5b,\n\t0x15c: 0x5c, 0x15f: 0x5d,\n\t0x162: 0x5e, 0x164: 0x5f,\n\t0x168: 0x60, 0x169: 0x61, 0x16a: 0x62, 0x16c: 0x0d, 0x16d: 0x63, 0x16e: 0x64, 0x16f: 0x65,\n\t0x170: 0x66, 0x173: 0x67, 0x177: 0x68,\n\t0x178: 0x0e, 0x179: 0x0f, 0x17a: 0x10, 0x17b: 0x11, 0x17c: 0x12, 0x17d: 0x13, 0x17e: 0x14, 0x17f: 0x15,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d,\n\t0x188: 0x6e, 0x189: 0x16, 0x18a: 0x17, 0x18b: 0x6f, 0x18c: 0x70,\n\t0x1ab: 0x71,\n\t0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x75, 0x1c1: 0x18, 0x1c2: 0x19, 0x1c3: 0x1a, 0x1c4: 0x76, 0x1c5: 0x77,\n\t0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a,\n\t// Block 0x8, offset 0x200\n\t0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d,\n\t0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83,\n\t0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86,\n\t0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87,\n\t0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89,\n\t0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a,\n\t0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b,\n\t0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c,\n\t0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d,\n\t0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87,\n\t0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88,\n\t0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89,\n\t// Block 0xa, offset 0x280\n\t0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a,\n\t0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b,\n\t0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c,\n\t0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d,\n\t0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87,\n\t0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88,\n\t0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89,\n\t0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b,\n\t0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c,\n\t0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d,\n\t0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e,\n\t// Block 0xc, offset 0x300\n\t0x324: 0x1b, 0x325: 0x1c, 0x326: 0x1d, 0x327: 0x1e,\n\t0x328: 0x1f, 0x329: 0x20, 0x32a: 0x21, 0x32b: 0x22, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91,\n\t0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95,\n\t0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b,\n\t// Block 0xd, offset 0x340\n\t0x347: 0x9c,\n\t0x34b: 0x9d, 0x34d: 0x9e,\n\t0x368: 0x9f, 0x36b: 0xa0,\n\t// Block 0xe, offset 0x380\n\t0x381: 0xa1, 0x382: 0xa2, 0x384: 0xa3, 0x385: 0x82, 0x387: 0xa4,\n\t0x388: 0xa5, 0x38b: 0xa6, 0x38c: 0x3e, 0x38d: 0xa7,\n\t0x391: 0xa8, 0x392: 0xa9, 0x393: 0xaa, 0x396: 0xab, 0x397: 0xac,\n\t0x398: 0x73, 0x39a: 0xad, 0x39c: 0xae,\n\t0x3b0: 0x73,\n\t// Block 0xf, offset 0x3c0\n\t0x3eb: 0xaf, 0x3ec: 0xb0,\n\t// Block 0x10, offset 0x400\n\t0x432: 0xb1,\n\t// Block 0x11, offset 0x440\n\t0x445: 0xb2, 0x446: 0xb3, 0x447: 0xb4,\n\t0x449: 0xb5,\n\t// Block 0x12, offset 0x480\n\t0x480: 0xb6,\n\t0x4a3: 0xb7, 0x4a5: 0xb8,\n\t// Block 0x13, offset 0x4c0\n\t0x4c8: 0xb9,\n\t// Block 0x14, offset 0x500\n\t0x520: 0x23, 0x521: 0x24, 0x522: 0x25, 0x523: 0x26, 0x524: 0x27, 0x525: 0x28, 0x526: 0x29, 0x527: 0x2a,\n\t0x528: 0x2b,\n\t// Block 0x15, offset 0x540\n\t0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d,\n\t0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11,\n\t0x56f: 0x12,\n}\n\n// nfcSparseOffset: 142 entries, 284 bytes\nvar nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x62, 0x67, 0x69, 0x7a, 0x82, 0x89, 0x8c, 0x93, 0x97, 0x9b, 0x9d, 0x9f, 0xa8, 0xac, 0xb3, 0xb8, 0xbb, 0xc5, 0xc7, 0xce, 0xd6, 0xd9, 0xdb, 0xdd, 0xdf, 0xe4, 0xf5, 0x101, 0x103, 0x109, 0x10b, 0x10d, 0x10f, 0x111, 0x113, 0x115, 0x118, 0x11b, 0x11d, 0x120, 0x123, 0x127, 0x12c, 0x135, 0x137, 0x13a, 0x13c, 0x147, 0x157, 0x15b, 0x169, 0x16c, 0x172, 0x178, 0x183, 0x187, 0x189, 0x18b, 0x18d, 0x18f, 0x191, 0x197, 0x19b, 0x19d, 0x19f, 0x1a7, 0x1ab, 0x1ae, 0x1b0, 0x1b2, 0x1b4, 0x1b7, 0x1b9, 0x1bb, 0x1bd, 0x1bf, 0x1c5, 0x1c8, 0x1ca, 0x1d1, 0x1d7, 0x1dd, 0x1e5, 0x1eb, 0x1f1, 0x1f7, 0x1fb, 0x209, 0x212, 0x215, 0x218, 0x21a, 0x21d, 0x21f, 0x223, 0x228, 0x22a, 0x22c, 0x231, 0x237, 0x239, 0x23b, 0x23d, 0x243, 0x246, 0x249, 0x251, 0x258, 0x25b, 0x25e, 0x260, 0x268, 0x26b, 0x272, 0x275, 0x27b, 0x27d, 0x280, 0x282, 0x284, 0x286, 0x288, 0x295, 0x29f, 0x2a1, 0x2a3, 0x2a9, 0x2ab, 0x2ae}\n\n// nfcSparseValues: 688 entries, 2752 bytes\nvar nfcSparseValues = [688]valueRange{\n\t// Block 0x0, offset 0x0\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0xa100, lo: 0xa8, hi: 0xa8},\n\t{value: 0x8100, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8100, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8100, lo: 0xb8, hi: 0xb8},\n\t// Block 0x1, offset 0x5\n\t{value: 0x0091, lo: 0x03},\n\t{value: 0x46e2, lo: 0xa0, hi: 0xa1},\n\t{value: 0x4714, lo: 0xaf, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb7, hi: 0xb7},\n\t// Block 0x2, offset 0x9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t// Block 0x3, offset 0xb\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x98, hi: 0x9d},\n\t// Block 0x4, offset 0xd\n\t{value: 0x0006, lo: 0x0a},\n\t{value: 0xa000, lo: 0x81, hi: 0x81},\n\t{value: 0xa000, lo: 0x85, hi: 0x85},\n\t{value: 0xa000, lo: 0x89, hi: 0x89},\n\t{value: 0x4840, lo: 0x8a, hi: 0x8a},\n\t{value: 0x485e, lo: 0x8b, hi: 0x8b},\n\t{value: 0x36c7, lo: 0x8c, hi: 0x8c},\n\t{value: 0x36df, lo: 0x8d, hi: 0x8d},\n\t{value: 0x4876, lo: 0x8e, hi: 0x8e},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x36fd, lo: 0x93, hi: 0x94},\n\t// Block 0x5, offset 0x18\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0xa000, lo: 0x8d, hi: 0x8d},\n\t{value: 0x37a5, lo: 0x90, hi: 0x90},\n\t{value: 0x37b1, lo: 0x91, hi: 0x91},\n\t{value: 0x379f, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x96, hi: 0x96},\n\t{value: 0x3817, lo: 0x97, hi: 0x97},\n\t{value: 0x37e1, lo: 0x9c, hi: 0x9c},\n\t{value: 0x37c9, lo: 0x9d, hi: 0x9d},\n\t{value: 0x37f3, lo: 0x9e, hi: 0x9e},\n\t{value: 0xa000, lo: 0xb4, hi: 0xb5},\n\t{value: 0x381d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3823, lo: 0xb7, hi: 0xb7},\n\t// Block 0x6, offset 0x28\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x83, hi: 0x87},\n\t// Block 0x7, offset 0x2a\n\t{value: 0x0001, lo: 0x04},\n\t{value: 0x8113, lo: 0x81, hi: 0x82},\n\t{value: 0x8132, lo: 0x84, hi: 0x84},\n\t{value: 0x812d, lo: 0x85, hi: 0x85},\n\t{value: 0x810d, lo: 0x87, hi: 0x87},\n\t// Block 0x8, offset 0x2f\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x97},\n\t{value: 0x8119, lo: 0x98, hi: 0x98},\n\t{value: 0x811a, lo: 0x99, hi: 0x99},\n\t{value: 0x811b, lo: 0x9a, hi: 0x9a},\n\t{value: 0x3841, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3847, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3853, lo: 0xa4, hi: 0xa4},\n\t{value: 0x384d, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3859, lo: 0xa6, hi: 0xa6},\n\t{value: 0xa000, lo: 0xa7, hi: 0xa7},\n\t// Block 0x9, offset 0x3a\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x386b, lo: 0x80, hi: 0x80},\n\t{value: 0xa000, lo: 0x81, hi: 0x81},\n\t{value: 0x385f, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x3865, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x95, hi: 0x95},\n\t{value: 0x8132, lo: 0x96, hi: 0x9c},\n\t{value: 0x8132, lo: 0x9f, hi: 0xa2},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8132, lo: 0xab, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t// Block 0xa, offset 0x49\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x811f, lo: 0x91, hi: 0x91},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x812d, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb5, hi: 0xb6},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb9},\n\t{value: 0x8132, lo: 0xba, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbc},\n\t{value: 0x8132, lo: 0xbd, hi: 0xbd},\n\t{value: 0x812d, lo: 0xbe, hi: 0xbe},\n\t{value: 0x8132, lo: 0xbf, hi: 0xbf},\n\t// Block 0xb, offset 0x56\n\t{value: 0x0005, lo: 0x07},\n\t{value: 0x8132, lo: 0x80, hi: 0x80},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x812d, lo: 0x82, hi: 0x83},\n\t{value: 0x812d, lo: 0x84, hi: 0x85},\n\t{value: 0x812d, lo: 0x86, hi: 0x87},\n\t{value: 0x812d, lo: 0x88, hi: 0x89},\n\t{value: 0x8132, lo: 0x8a, hi: 0x8a},\n\t// Block 0xc, offset 0x5e\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8132, lo: 0xab, hi: 0xb1},\n\t{value: 0x812d, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb3},\n\t// Block 0xd, offset 0x62\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0x96, hi: 0x99},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa7},\n\t{value: 0x8132, lo: 0xa9, hi: 0xad},\n\t// Block 0xe, offset 0x67\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x99, hi: 0x9b},\n\t// Block 0xf, offset 0x69\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x8132, lo: 0x94, hi: 0xa1},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8132, lo: 0xaa, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xaf},\n\t{value: 0x8116, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8117, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8118, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x812d, lo: 0xb9, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbf},\n\t// Block 0x10, offset 0x7a\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3ed8, lo: 0xa9, hi: 0xa9},\n\t{value: 0xa000, lo: 0xb0, hi: 0xb0},\n\t{value: 0x3ee0, lo: 0xb1, hi: 0xb1},\n\t{value: 0xa000, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3ee8, lo: 0xb4, hi: 0xb4},\n\t{value: 0x9902, lo: 0xbc, hi: 0xbc},\n\t// Block 0x11, offset 0x82\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x91, hi: 0x91},\n\t{value: 0x812d, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x93, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x94},\n\t{value: 0x451c, lo: 0x98, hi: 0x9f},\n\t// Block 0x12, offset 0x89\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x13, offset 0x8c\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2c9e, lo: 0x8b, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x455c, lo: 0x9c, hi: 0x9d},\n\t{value: 0x456c, lo: 0x9f, hi: 0x9f},\n\t// Block 0x14, offset 0x93\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x4594, lo: 0xb3, hi: 0xb3},\n\t{value: 0x459c, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x15, offset 0x97\n\t{value: 0x0008, lo: 0x03},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x4574, lo: 0x99, hi: 0x9b},\n\t{value: 0x458c, lo: 0x9e, hi: 0x9e},\n\t// Block 0x16, offset 0x9b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x17, offset 0x9d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t// Block 0x18, offset 0x9f\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2cb6, lo: 0x88, hi: 0x88},\n\t{value: 0x2cae, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cbe, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x96, hi: 0x97},\n\t{value: 0x45a4, lo: 0x9c, hi: 0x9c},\n\t{value: 0x45ac, lo: 0x9d, hi: 0x9d},\n\t// Block 0x19, offset 0xa8\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x2cc6, lo: 0x94, hi: 0x94},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1a, offset 0xac\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cce, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2cde, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cd6, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x1b, offset 0xb3\n\t{value: 0x1801, lo: 0x04},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x3ef0, lo: 0x88, hi: 0x88},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8120, lo: 0x95, hi: 0x96},\n\t// Block 0x1c, offset 0xb8\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0xa000, lo: 0xbf, hi: 0xbf},\n\t// Block 0x1d, offset 0xbb\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x2ce6, lo: 0x80, hi: 0x80},\n\t{value: 0x9900, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x2cee, lo: 0x87, hi: 0x87},\n\t{value: 0x2cf6, lo: 0x88, hi: 0x88},\n\t{value: 0x2f50, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2dd8, lo: 0x8b, hi: 0x8b},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x95, hi: 0x96},\n\t// Block 0x1e, offset 0xc5\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1f, offset 0xc7\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cfe, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2d0e, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d06, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x20, offset 0xce\n\t{value: 0x6bea, lo: 0x07},\n\t{value: 0x9904, lo: 0x8a, hi: 0x8a},\n\t{value: 0x9900, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x3ef8, lo: 0x9a, hi: 0x9a},\n\t{value: 0x2f58, lo: 0x9c, hi: 0x9c},\n\t{value: 0x2de3, lo: 0x9d, hi: 0x9d},\n\t{value: 0x2d16, lo: 0x9e, hi: 0x9f},\n\t// Block 0x21, offset 0xd6\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8122, lo: 0xb8, hi: 0xb9},\n\t{value: 0x8104, lo: 0xba, hi: 0xba},\n\t// Block 0x22, offset 0xd9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8123, lo: 0x88, hi: 0x8b},\n\t// Block 0x23, offset 0xdb\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8124, lo: 0xb8, hi: 0xb9},\n\t// Block 0x24, offset 0xdd\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8125, lo: 0x88, hi: 0x8b},\n\t// Block 0x25, offset 0xdf\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x812d, lo: 0x98, hi: 0x99},\n\t{value: 0x812d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb7},\n\t{value: 0x812b, lo: 0xb9, hi: 0xb9},\n\t// Block 0x26, offset 0xe4\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x2644, lo: 0x83, hi: 0x83},\n\t{value: 0x264b, lo: 0x8d, hi: 0x8d},\n\t{value: 0x2652, lo: 0x92, hi: 0x92},\n\t{value: 0x2659, lo: 0x97, hi: 0x97},\n\t{value: 0x2660, lo: 0x9c, hi: 0x9c},\n\t{value: 0x263d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8126, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8127, lo: 0xb2, hi: 0xb2},\n\t{value: 0x4a84, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8128, lo: 0xb4, hi: 0xb4},\n\t{value: 0x4a8d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x45b4, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8200, lo: 0xb7, hi: 0xb7},\n\t{value: 0x45bc, lo: 0xb8, hi: 0xb8},\n\t{value: 0x8200, lo: 0xb9, hi: 0xb9},\n\t{value: 0x8127, lo: 0xba, hi: 0xbd},\n\t// Block 0x27, offset 0xf5\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x8127, lo: 0x80, hi: 0x80},\n\t{value: 0x4a96, lo: 0x81, hi: 0x81},\n\t{value: 0x8132, lo: 0x82, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0x86, hi: 0x87},\n\t{value: 0x266e, lo: 0x93, hi: 0x93},\n\t{value: 0x2675, lo: 0x9d, hi: 0x9d},\n\t{value: 0x267c, lo: 0xa2, hi: 0xa2},\n\t{value: 0x2683, lo: 0xa7, hi: 0xa7},\n\t{value: 0x268a, lo: 0xac, hi: 0xac},\n\t{value: 0x2667, lo: 0xb9, hi: 0xb9},\n\t// Block 0x28, offset 0x101\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x86, hi: 0x86},\n\t// Block 0x29, offset 0x103\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x2d1e, lo: 0xa6, hi: 0xa6},\n\t{value: 0x9900, lo: 0xae, hi: 0xae},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x2a, offset 0x109\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t// Block 0x2b, offset 0x10b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xa000, lo: 0x80, hi: 0x92},\n\t// Block 0x2c, offset 0x10d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xb900, lo: 0xa1, hi: 0xb5},\n\t// Block 0x2d, offset 0x10f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0xa8, hi: 0xbf},\n\t// Block 0x2e, offset 0x111\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0x80, hi: 0x82},\n\t// Block 0x2f, offset 0x113\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9f},\n\t// Block 0x30, offset 0x115\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x94, hi: 0x94},\n\t{value: 0x8104, lo: 0xb4, hi: 0xb4},\n\t// Block 0x31, offset 0x118\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9d},\n\t// Block 0x32, offset 0x11b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8131, lo: 0xa9, hi: 0xa9},\n\t// Block 0x33, offset 0x11d\n\t{value: 0x0004, lo: 0x02},\n\t{value: 0x812e, lo: 0xb9, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbb},\n\t// Block 0x34, offset 0x120\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x97, hi: 0x97},\n\t{value: 0x812d, lo: 0x98, hi: 0x98},\n\t// Block 0x35, offset 0x123\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8104, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8132, lo: 0xb5, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x36, offset 0x127\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t{value: 0x812d, lo: 0xb5, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x37, offset 0x12c\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x2d66, lo: 0x80, hi: 0x80},\n\t{value: 0x2d6e, lo: 0x81, hi: 0x81},\n\t{value: 0xa000, lo: 0x82, hi: 0x82},\n\t{value: 0x2d76, lo: 0x83, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xab, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xac},\n\t{value: 0x8132, lo: 0xad, hi: 0xb3},\n\t// Block 0x38, offset 0x135\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xaa, hi: 0xab},\n\t// Block 0x39, offset 0x137\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8104, lo: 0xb2, hi: 0xb3},\n\t// Block 0x3a, offset 0x13a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x3b, offset 0x13c\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x92},\n\t{value: 0x8101, lo: 0x94, hi: 0x94},\n\t{value: 0x812d, lo: 0x95, hi: 0x99},\n\t{value: 0x8132, lo: 0x9a, hi: 0x9b},\n\t{value: 0x812d, lo: 0x9c, hi: 0x9f},\n\t{value: 0x8132, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8101, lo: 0xa2, hi: 0xa8},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t{value: 0x8132, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb9},\n\t// Block 0x3c, offset 0x147\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0x8132, lo: 0x80, hi: 0x81},\n\t{value: 0x812d, lo: 0x82, hi: 0x82},\n\t{value: 0x8132, lo: 0x83, hi: 0x89},\n\t{value: 0x812d, lo: 0x8a, hi: 0x8a},\n\t{value: 0x8132, lo: 0x8b, hi: 0x8c},\n\t{value: 0x8135, lo: 0x8d, hi: 0x8d},\n\t{value: 0x812a, lo: 0x8e, hi: 0x8e},\n\t{value: 0x812d, lo: 0x8f, hi: 0x8f},\n\t{value: 0x8129, lo: 0x90, hi: 0x90},\n\t{value: 0x8132, lo: 0x91, hi: 0xb5},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbb},\n\t{value: 0x8134, lo: 0xbc, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t{value: 0x8132, lo: 0xbe, hi: 0xbe},\n\t{value: 0x812d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3d, offset 0x157\n\t{value: 0x0004, lo: 0x03},\n\t{value: 0x0433, lo: 0x80, hi: 0x81},\n\t{value: 0x8100, lo: 0x97, hi: 0x97},\n\t{value: 0x8100, lo: 0xbe, hi: 0xbe},\n\t// Block 0x3e, offset 0x15b\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x8132, lo: 0x90, hi: 0x91},\n\t{value: 0x8101, lo: 0x92, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x97},\n\t{value: 0x8101, lo: 0x98, hi: 0x9a},\n\t{value: 0x8132, lo: 0x9b, hi: 0x9c},\n\t{value: 0x8132, lo: 0xa1, hi: 0xa1},\n\t{value: 0x8101, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa7},\n\t{value: 0x812d, lo: 0xa8, hi: 0xa8},\n\t{value: 0x8132, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8101, lo: 0xaa, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t// Block 0x3f, offset 0x169\n\t{value: 0x427b, lo: 0x02},\n\t{value: 0x01b8, lo: 0xa6, hi: 0xa6},\n\t{value: 0x0057, lo: 0xaa, hi: 0xab},\n\t// Block 0x40, offset 0x16c\n\t{value: 0x0007, lo: 0x05},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t{value: 0x3bb9, lo: 0x9a, hi: 0x9b},\n\t{value: 0x3bc7, lo: 0xae, hi: 0xae},\n\t// Block 0x41, offset 0x172\n\t{value: 0x000e, lo: 0x05},\n\t{value: 0x3bce, lo: 0x8d, hi: 0x8e},\n\t{value: 0x3bd5, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t// Block 0x42, offset 0x178\n\t{value: 0x6408, lo: 0x0a},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0x3be3, lo: 0x84, hi: 0x84},\n\t{value: 0xa000, lo: 0x88, hi: 0x88},\n\t{value: 0x3bea, lo: 0x89, hi: 0x89},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0x3bf1, lo: 0x8c, hi: 0x8c},\n\t{value: 0xa000, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3bf8, lo: 0xa4, hi: 0xa5},\n\t{value: 0x3bff, lo: 0xa6, hi: 0xa6},\n\t{value: 0xa000, lo: 0xbc, hi: 0xbc},\n\t// Block 0x43, offset 0x183\n\t{value: 0x0007, lo: 0x03},\n\t{value: 0x3c68, lo: 0xa0, hi: 0xa1},\n\t{value: 0x3c92, lo: 0xa2, hi: 0xa3},\n\t{value: 0x3cbc, lo: 0xaa, hi: 0xad},\n\t// Block 0x44, offset 0x187\n\t{value: 0x0004, lo: 0x01},\n\t{value: 0x048b, lo: 0xa9, hi: 0xaa},\n\t// Block 0x45, offset 0x189\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x44dd, lo: 0x9c, hi: 0x9c},\n\t// Block 0x46, offset 0x18b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xaf, hi: 0xb1},\n\t// Block 0x47, offset 0x18d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x48, offset 0x18f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xa0, hi: 0xbf},\n\t// Block 0x49, offset 0x191\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x812c, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8131, lo: 0xab, hi: 0xab},\n\t{value: 0x8133, lo: 0xac, hi: 0xac},\n\t{value: 0x812e, lo: 0xad, hi: 0xad},\n\t{value: 0x812f, lo: 0xae, hi: 0xaf},\n\t// Block 0x4a, offset 0x197\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x4a9f, lo: 0xb3, hi: 0xb3},\n\t{value: 0x4a9f, lo: 0xb5, hi: 0xb6},\n\t{value: 0x4a9f, lo: 0xba, hi: 0xbf},\n\t// Block 0x4b, offset 0x19b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x4a9f, lo: 0x8f, hi: 0xa3},\n\t// Block 0x4c, offset 0x19d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0xae, hi: 0xbe},\n\t// Block 0x4d, offset 0x19f\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x8100, lo: 0x84, hi: 0x84},\n\t{value: 0x8100, lo: 0x87, hi: 0x87},\n\t{value: 0x8100, lo: 0x90, hi: 0x90},\n\t{value: 0x8100, lo: 0x9e, hi: 0x9e},\n\t{value: 0x8100, lo: 0xa1, hi: 0xa1},\n\t{value: 0x8100, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8100, lo: 0xbb, hi: 0xbb},\n\t// Block 0x4e, offset 0x1a7\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8100, lo: 0x80, hi: 0x80},\n\t{value: 0x8100, lo: 0x8b, hi: 0x8b},\n\t{value: 0x8100, lo: 0x8e, hi: 0x8e},\n\t// Block 0x4f, offset 0x1ab\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb4, hi: 0xbd},\n\t// Block 0x50, offset 0x1ae\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x9e, hi: 0x9f},\n\t// Block 0x51, offset 0x1b0\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb1},\n\t// Block 0x52, offset 0x1b2\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t// Block 0x53, offset 0x1b4\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xa0, hi: 0xb1},\n\t// Block 0x54, offset 0x1b7\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xab, hi: 0xad},\n\t// Block 0x55, offset 0x1b9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x93, hi: 0x93},\n\t// Block 0x56, offset 0x1bb\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb3, hi: 0xb3},\n\t// Block 0x57, offset 0x1bd\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t// Block 0x58, offset 0x1bf\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x8132, lo: 0xbe, hi: 0xbf},\n\t// Block 0x59, offset 0x1c5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t// Block 0x5a, offset 0x1c8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xad, hi: 0xad},\n\t// Block 0x5b, offset 0x1ca\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xe500, lo: 0x80, hi: 0x80},\n\t{value: 0xc600, lo: 0x81, hi: 0x9b},\n\t{value: 0xe500, lo: 0x9c, hi: 0x9c},\n\t{value: 0xc600, lo: 0x9d, hi: 0xb7},\n\t{value: 0xe500, lo: 0xb8, hi: 0xb8},\n\t{value: 0xc600, lo: 0xb9, hi: 0xbf},\n\t// Block 0x5c, offset 0x1d1\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x93},\n\t{value: 0xe500, lo: 0x94, hi: 0x94},\n\t{value: 0xc600, lo: 0x95, hi: 0xaf},\n\t{value: 0xe500, lo: 0xb0, hi: 0xb0},\n\t{value: 0xc600, lo: 0xb1, hi: 0xbf},\n\t// Block 0x5d, offset 0x1d7\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8b},\n\t{value: 0xe500, lo: 0x8c, hi: 0x8c},\n\t{value: 0xc600, lo: 0x8d, hi: 0xa7},\n\t{value: 0xe500, lo: 0xa8, hi: 0xa8},\n\t{value: 0xc600, lo: 0xa9, hi: 0xbf},\n\t// Block 0x5e, offset 0x1dd\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xc600, lo: 0x80, hi: 0x83},\n\t{value: 0xe500, lo: 0x84, hi: 0x84},\n\t{value: 0xc600, lo: 0x85, hi: 0x9f},\n\t{value: 0xe500, lo: 0xa0, hi: 0xa0},\n\t{value: 0xc600, lo: 0xa1, hi: 0xbb},\n\t{value: 0xe500, lo: 0xbc, hi: 0xbc},\n\t{value: 0xc600, lo: 0xbd, hi: 0xbf},\n\t// Block 0x5f, offset 0x1e5\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x97},\n\t{value: 0xe500, lo: 0x98, hi: 0x98},\n\t{value: 0xc600, lo: 0x99, hi: 0xb3},\n\t{value: 0xe500, lo: 0xb4, hi: 0xb4},\n\t{value: 0xc600, lo: 0xb5, hi: 0xbf},\n\t// Block 0x60, offset 0x1eb\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8f},\n\t{value: 0xe500, lo: 0x90, hi: 0x90},\n\t{value: 0xc600, lo: 0x91, hi: 0xab},\n\t{value: 0xe500, lo: 0xac, hi: 0xac},\n\t{value: 0xc600, lo: 0xad, hi: 0xbf},\n\t// Block 0x61, offset 0x1f1\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t{value: 0xe500, lo: 0xa4, hi: 0xa4},\n\t{value: 0xc600, lo: 0xa5, hi: 0xbf},\n\t// Block 0x62, offset 0x1f7\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t// Block 0x63, offset 0x1fb\n\t{value: 0x0006, lo: 0x0d},\n\t{value: 0x4390, lo: 0x9d, hi: 0x9d},\n\t{value: 0x8115, lo: 0x9e, hi: 0x9e},\n\t{value: 0x4402, lo: 0x9f, hi: 0x9f},\n\t{value: 0x43f0, lo: 0xaa, hi: 0xab},\n\t{value: 0x44f4, lo: 0xac, hi: 0xac},\n\t{value: 0x44fc, lo: 0xad, hi: 0xad},\n\t{value: 0x4348, lo: 0xae, hi: 0xb1},\n\t{value: 0x4366, lo: 0xb2, hi: 0xb4},\n\t{value: 0x437e, lo: 0xb5, hi: 0xb6},\n\t{value: 0x438a, lo: 0xb8, hi: 0xb8},\n\t{value: 0x4396, lo: 0xb9, hi: 0xbb},\n\t{value: 0x43ae, lo: 0xbc, hi: 0xbc},\n\t{value: 0x43b4, lo: 0xbe, hi: 0xbe},\n\t// Block 0x64, offset 0x209\n\t{value: 0x0006, lo: 0x08},\n\t{value: 0x43ba, lo: 0x80, hi: 0x81},\n\t{value: 0x43c6, lo: 0x83, hi: 0x84},\n\t{value: 0x43d8, lo: 0x86, hi: 0x89},\n\t{value: 0x43fc, lo: 0x8a, hi: 0x8a},\n\t{value: 0x4378, lo: 0x8b, hi: 0x8b},\n\t{value: 0x4360, lo: 0x8c, hi: 0x8c},\n\t{value: 0x43a8, lo: 0x8d, hi: 0x8d},\n\t{value: 0x43d2, lo: 0x8e, hi: 0x8e},\n\t// Block 0x65, offset 0x212\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8100, lo: 0xa4, hi: 0xa5},\n\t{value: 0x8100, lo: 0xb0, hi: 0xb1},\n\t// Block 0x66, offset 0x215\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8100, lo: 0x9b, hi: 0x9d},\n\t{value: 0x8200, lo: 0x9e, hi: 0xa3},\n\t// Block 0x67, offset 0x218\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x90, hi: 0x90},\n\t// Block 0x68, offset 0x21a\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8100, lo: 0x99, hi: 0x99},\n\t{value: 0x8200, lo: 0xb2, hi: 0xb4},\n\t// Block 0x69, offset 0x21d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0xbc, hi: 0xbd},\n\t// Block 0x6a, offset 0x21f\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8132, lo: 0xa0, hi: 0xa6},\n\t{value: 0x812d, lo: 0xa7, hi: 0xad},\n\t{value: 0x8132, lo: 0xae, hi: 0xaf},\n\t// Block 0x6b, offset 0x223\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8100, lo: 0x89, hi: 0x8c},\n\t{value: 0x8100, lo: 0xb0, hi: 0xb2},\n\t{value: 0x8100, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8100, lo: 0xb6, hi: 0xbf},\n\t// Block 0x6c, offset 0x228\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x81, hi: 0x8c},\n\t// Block 0x6d, offset 0x22a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0xb5, hi: 0xba},\n\t// Block 0x6e, offset 0x22c\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x4a9f, lo: 0x9e, hi: 0x9f},\n\t{value: 0x4a9f, lo: 0xa3, hi: 0xa3},\n\t{value: 0x4a9f, lo: 0xa5, hi: 0xa6},\n\t{value: 0x4a9f, lo: 0xaa, hi: 0xaf},\n\t// Block 0x6f, offset 0x231\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x4a9f, lo: 0x82, hi: 0x87},\n\t{value: 0x4a9f, lo: 0x8a, hi: 0x8f},\n\t{value: 0x4a9f, lo: 0x92, hi: 0x97},\n\t{value: 0x4a9f, lo: 0x9a, hi: 0x9c},\n\t{value: 0x8100, lo: 0xa3, hi: 0xa3},\n\t// Block 0x70, offset 0x237\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x71, offset 0x239\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xa0, hi: 0xa0},\n\t// Block 0x72, offset 0x23b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb6, hi: 0xba},\n\t// Block 0x73, offset 0x23d\n\t{value: 0x002c, lo: 0x05},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x8f, hi: 0x8f},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb8},\n\t{value: 0x8101, lo: 0xb9, hi: 0xba},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x74, offset 0x243\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t// Block 0x75, offset 0x246\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x76, offset 0x249\n\t{value: 0x17fe, lo: 0x07},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x4238, lo: 0x9a, hi: 0x9a},\n\t{value: 0xa000, lo: 0x9b, hi: 0x9b},\n\t{value: 0x4242, lo: 0x9c, hi: 0x9c},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x424c, lo: 0xab, hi: 0xab},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x77, offset 0x251\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x8132, lo: 0x80, hi: 0x82},\n\t{value: 0x9900, lo: 0xa7, hi: 0xa7},\n\t{value: 0x2d7e, lo: 0xae, hi: 0xae},\n\t{value: 0x2d88, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb1, hi: 0xb2},\n\t{value: 0x8104, lo: 0xb3, hi: 0xb4},\n\t// Block 0x78, offset 0x258\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x79, offset 0x25b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb5, hi: 0xb5},\n\t{value: 0x8102, lo: 0xb6, hi: 0xb6},\n\t// Block 0x7a, offset 0x25e\n\t{value: 0x0002, lo: 0x01},\n\t{value: 0x8102, lo: 0xa9, hi: 0xaa},\n\t// Block 0x7b, offset 0x260\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2d92, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d9c, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x8132, lo: 0xa6, hi: 0xac},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t// Block 0x7c, offset 0x268\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x86, hi: 0x86},\n\t// Block 0x7d, offset 0x26b\n\t{value: 0x6b5a, lo: 0x06},\n\t{value: 0x9900, lo: 0xb0, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb9, hi: 0xb9},\n\t{value: 0x9900, lo: 0xba, hi: 0xba},\n\t{value: 0x2db0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x2da6, lo: 0xbc, hi: 0xbd},\n\t{value: 0x2dba, lo: 0xbe, hi: 0xbe},\n\t// Block 0x7e, offset 0x272\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x83, hi: 0x83},\n\t// Block 0x7f, offset 0x275\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x9900, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb8, hi: 0xb9},\n\t{value: 0x2dc4, lo: 0xba, hi: 0xba},\n\t{value: 0x2dce, lo: 0xbb, hi: 0xbb},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x80, offset 0x27b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0x80, hi: 0x80},\n\t// Block 0x81, offset 0x27d\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x82, offset 0x280\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xab, hi: 0xab},\n\t// Block 0x83, offset 0x282\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0xb0, hi: 0xb4},\n\t// Block 0x84, offset 0x284\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb6},\n\t// Block 0x85, offset 0x286\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0x9e, hi: 0x9e},\n\t// Block 0x86, offset 0x288\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x45cc, lo: 0x9e, hi: 0x9e},\n\t{value: 0x45d6, lo: 0x9f, hi: 0x9f},\n\t{value: 0x460a, lo: 0xa0, hi: 0xa0},\n\t{value: 0x4618, lo: 0xa1, hi: 0xa1},\n\t{value: 0x4626, lo: 0xa2, hi: 0xa2},\n\t{value: 0x4634, lo: 0xa3, hi: 0xa3},\n\t{value: 0x4642, lo: 0xa4, hi: 0xa4},\n\t{value: 0x812b, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8101, lo: 0xa7, hi: 0xa9},\n\t{value: 0x8130, lo: 0xad, hi: 0xad},\n\t{value: 0x812b, lo: 0xae, hi: 0xb2},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbf},\n\t// Block 0x87, offset 0x295\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x812d, lo: 0x80, hi: 0x82},\n\t{value: 0x8132, lo: 0x85, hi: 0x89},\n\t{value: 0x812d, lo: 0x8a, hi: 0x8b},\n\t{value: 0x8132, lo: 0xaa, hi: 0xad},\n\t{value: 0x45e0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x45ea, lo: 0xbc, hi: 0xbc},\n\t{value: 0x4650, lo: 0xbd, hi: 0xbd},\n\t{value: 0x466c, lo: 0xbe, hi: 0xbe},\n\t{value: 0x465e, lo: 0xbf, hi: 0xbf},\n\t// Block 0x88, offset 0x29f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x467a, lo: 0x80, hi: 0x80},\n\t// Block 0x89, offset 0x2a1\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x82, hi: 0x84},\n\t// Block 0x8a, offset 0x2a3\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0x80, hi: 0x86},\n\t{value: 0x8132, lo: 0x88, hi: 0x98},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa1},\n\t{value: 0x8132, lo: 0xa3, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa6, hi: 0xaa},\n\t// Block 0x8b, offset 0x2a9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x90, hi: 0x96},\n\t// Block 0x8c, offset 0x2ab\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x84, hi: 0x89},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x8d, offset 0x2ae\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x93, hi: 0x93},\n}\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfkcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfkcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfkcTrie) lookupUnsafe(s []byte) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfkcValues[c0]\n\t}\n\ti := nfkcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfkcTrie) lookupString(s string) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfkcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfkcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfkcTrie) lookupStringUnsafe(s string) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfkcValues[c0]\n\t}\n\ti := nfkcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// nfkcTrie. Total size: 16994 bytes (16.60 KiB). Checksum: c3ed54ee046f3c46.\ntype nfkcTrie struct{}\n\nfunc newNfkcTrie(i int) *nfkcTrie {\n\treturn &nfkcTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 {\n\tswitch {\n\tcase n < 90:\n\t\treturn uint16(nfkcValues[n<<6+uint32(b)])\n\tdefault:\n\t\tn -= 90\n\t\treturn uint16(nfkcSparse.lookup(n, b))\n\t}\n}\n\n// nfkcValues: 92 blocks, 5888 entries, 11776 bytes\n// The third block is the zero block.\nvar nfkcValues = [5888]uint16{\n\t// Block 0x0, offset 0x0\n\t0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000,\n\t// Block 0x1, offset 0x40\n\t0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000,\n\t0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000,\n\t0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000,\n\t0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000,\n\t0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000,\n\t0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000,\n\t0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000,\n\t0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000,\n\t0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000,\n\t0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c,\n\t0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb,\n\t0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104,\n\t0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd,\n\t0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235,\n\t0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285,\n\t0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3,\n\t0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750,\n\t0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f,\n\t0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3,\n\t0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569,\n\t// Block 0x4, offset 0x100\n\t0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8,\n\t0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6,\n\t0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5,\n\t0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302,\n\t0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339,\n\t0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352,\n\t0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e,\n\t0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6,\n\t0x130: 0x308c, 0x132: 0x195d, 0x133: 0x19e7, 0x134: 0x30b4, 0x135: 0x33c0,\n\t0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc,\n\t0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, 0x13f: 0x1bac,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x1c34, 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118,\n\t0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, 0x149: 0x1c5c,\n\t0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c,\n\t0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483,\n\t0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d,\n\t0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba,\n\t0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796,\n\t0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2,\n\t0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528,\n\t0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267,\n\t0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0x00a7,\n\t// Block 0x6, offset 0x180\n\t0x184: 0x2dee, 0x185: 0x2df4,\n\t0x186: 0x2dfa, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a08, 0x18a: 0x1987, 0x18b: 0x198a,\n\t0x18c: 0x1a3e, 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140,\n\t0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8,\n\t0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50,\n\t0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5,\n\t0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf,\n\t0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd,\n\t0x1b0: 0x33c5, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19cf, 0x1b4: 0x3028, 0x1b5: 0x3334,\n\t0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46,\n\t0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316,\n\t0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac,\n\t0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479,\n\t0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6,\n\t0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5,\n\t0x1de: 0x305a, 0x1df: 0x3366,\n\t0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b,\n\t0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769,\n\t0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132,\n\t0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932,\n\t0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932,\n\t0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d,\n\t0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d,\n\t0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d,\n\t0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d,\n\t0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d,\n\t0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101,\n\t0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d,\n\t0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936,\n\t0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132,\n\t0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132,\n\t0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132,\n\t0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135,\n\t0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132,\n\t0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132,\n\t0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132,\n\t0x274: 0x0170,\n\t0x27a: 0x42a5,\n\t0x27e: 0x0037,\n\t// Block 0xa, offset 0x280\n\t0x284: 0x425a, 0x285: 0x447b,\n\t0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625,\n\t0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000,\n\t0x295: 0xa000, 0x297: 0xa000,\n\t0x299: 0xa000,\n\t0x29f: 0xa000, 0x2a1: 0xa000,\n\t0x2a5: 0xa000, 0x2a9: 0xa000,\n\t0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9,\n\t0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000,\n\t0x2b7: 0xa000, 0x2b9: 0xa000,\n\t0x2bf: 0xa000,\n\t// Block 0xb, offset 0x2c0\n\t0x2c1: 0xa000, 0x2c5: 0xa000,\n\t0x2c9: 0xa000, 0x2ca: 0x4840, 0x2cb: 0x485e,\n\t0x2cc: 0x36c7, 0x2cd: 0x36df, 0x2ce: 0x4876, 0x2d0: 0x01be, 0x2d1: 0x01d0,\n\t0x2d2: 0x01ac, 0x2d3: 0x430c, 0x2d4: 0x4312, 0x2d5: 0x01fa, 0x2d6: 0x01e8,\n\t0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7,\n\t0x2f9: 0x01a6,\n\t// Block 0xc, offset 0x300\n\t0x300: 0x3721, 0x301: 0x372d, 0x303: 0x371b,\n\t0x306: 0xa000, 0x307: 0x3709,\n\t0x30c: 0x375d, 0x30d: 0x3745, 0x30e: 0x376f, 0x310: 0xa000,\n\t0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000,\n\t0x318: 0xa000, 0x319: 0x3751, 0x31a: 0xa000,\n\t0x31e: 0xa000, 0x323: 0xa000,\n\t0x327: 0xa000,\n\t0x32b: 0xa000, 0x32d: 0xa000,\n\t0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000,\n\t0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d5, 0x33a: 0xa000,\n\t0x33e: 0xa000,\n\t// Block 0xd, offset 0x340\n\t0x341: 0x3733, 0x342: 0x37b7,\n\t0x350: 0x370f, 0x351: 0x3793,\n\t0x352: 0x3715, 0x353: 0x3799, 0x356: 0x3727, 0x357: 0x37ab,\n\t0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3829, 0x35b: 0x382f, 0x35c: 0x3739, 0x35d: 0x37bd,\n\t0x35e: 0x373f, 0x35f: 0x37c3, 0x362: 0x374b, 0x363: 0x37cf,\n\t0x364: 0x3757, 0x365: 0x37db, 0x366: 0x3763, 0x367: 0x37e7, 0x368: 0xa000, 0x369: 0xa000,\n\t0x36a: 0x3835, 0x36b: 0x383b, 0x36c: 0x378d, 0x36d: 0x3811, 0x36e: 0x3769, 0x36f: 0x37ed,\n\t0x370: 0x3775, 0x371: 0x37f9, 0x372: 0x377b, 0x373: 0x37ff, 0x374: 0x3781, 0x375: 0x3805,\n\t0x378: 0x3787, 0x379: 0x380b,\n\t// Block 0xe, offset 0x380\n\t0x387: 0x1d61,\n\t0x391: 0x812d,\n\t0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132,\n\t0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132,\n\t0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d,\n\t0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132,\n\t0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132,\n\t0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a,\n\t0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f,\n\t0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112,\n\t// Block 0xf, offset 0x3c0\n\t0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116,\n\t0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c,\n\t0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132,\n\t0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132,\n\t0x3de: 0x8132, 0x3df: 0x812d,\n\t0x3f0: 0x811e, 0x3f5: 0x1d84,\n\t0x3f6: 0x2013, 0x3f7: 0x204f, 0x3f8: 0x204a,\n\t// Block 0x10, offset 0x400\n\t0x405: 0xa000,\n\t0x406: 0x2d26, 0x407: 0xa000, 0x408: 0x2d2e, 0x409: 0xa000, 0x40a: 0x2d36, 0x40b: 0xa000,\n\t0x40c: 0x2d3e, 0x40d: 0xa000, 0x40e: 0x2d46, 0x411: 0xa000,\n\t0x412: 0x2d4e,\n\t0x434: 0x8102, 0x435: 0x9900,\n\t0x43a: 0xa000, 0x43b: 0x2d56,\n\t0x43c: 0xa000, 0x43d: 0x2d5e, 0x43e: 0xa000, 0x43f: 0xa000,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x0069, 0x441: 0x006b, 0x442: 0x006f, 0x443: 0x0083, 0x444: 0x00f5, 0x445: 0x00f8,\n\t0x446: 0x0413, 0x447: 0x0085, 0x448: 0x0089, 0x449: 0x008b, 0x44a: 0x0104, 0x44b: 0x0107,\n\t0x44c: 0x010a, 0x44d: 0x008f, 0x44f: 0x0097, 0x450: 0x009b, 0x451: 0x00e0,\n\t0x452: 0x009f, 0x453: 0x00fe, 0x454: 0x0417, 0x455: 0x041b, 0x456: 0x00a1, 0x457: 0x00a9,\n\t0x458: 0x00ab, 0x459: 0x0423, 0x45a: 0x012b, 0x45b: 0x00ad, 0x45c: 0x0427, 0x45d: 0x01be,\n\t0x45e: 0x01c1, 0x45f: 0x01c4, 0x460: 0x01fa, 0x461: 0x01fd, 0x462: 0x0093, 0x463: 0x00a5,\n\t0x464: 0x00ab, 0x465: 0x00ad, 0x466: 0x01be, 0x467: 0x01c1, 0x468: 0x01eb, 0x469: 0x01fa,\n\t0x46a: 0x01fd,\n\t0x478: 0x020c,\n\t// Block 0x12, offset 0x480\n\t0x49b: 0x00fb, 0x49c: 0x0087, 0x49d: 0x0101,\n\t0x49e: 0x00d4, 0x49f: 0x010a, 0x4a0: 0x008d, 0x4a1: 0x010d, 0x4a2: 0x0110, 0x4a3: 0x0116,\n\t0x4a4: 0x011c, 0x4a5: 0x011f, 0x4a6: 0x0122, 0x4a7: 0x042b, 0x4a8: 0x016a, 0x4a9: 0x0128,\n\t0x4aa: 0x042f, 0x4ab: 0x016d, 0x4ac: 0x0131, 0x4ad: 0x012e, 0x4ae: 0x0134, 0x4af: 0x0137,\n\t0x4b0: 0x013a, 0x4b1: 0x013d, 0x4b2: 0x0140, 0x4b3: 0x014c, 0x4b4: 0x014f, 0x4b5: 0x00ec,\n\t0x4b6: 0x0152, 0x4b7: 0x0155, 0x4b8: 0x041f, 0x4b9: 0x0158, 0x4ba: 0x015b, 0x4bb: 0x00b5,\n\t0x4bc: 0x015e, 0x4bd: 0x0161, 0x4be: 0x0164, 0x4bf: 0x01d0,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x2f97, 0x4c1: 0x32a3, 0x4c2: 0x2fa1, 0x4c3: 0x32ad, 0x4c4: 0x2fa6, 0x4c5: 0x32b2,\n\t0x4c6: 0x2fab, 0x4c7: 0x32b7, 0x4c8: 0x38cc, 0x4c9: 0x3a5b, 0x4ca: 0x2fc4, 0x4cb: 0x32d0,\n\t0x4cc: 0x2fce, 0x4cd: 0x32da, 0x4ce: 0x2fdd, 0x4cf: 0x32e9, 0x4d0: 0x2fd3, 0x4d1: 0x32df,\n\t0x4d2: 0x2fd8, 0x4d3: 0x32e4, 0x4d4: 0x38ef, 0x4d5: 0x3a7e, 0x4d6: 0x38f6, 0x4d7: 0x3a85,\n\t0x4d8: 0x3019, 0x4d9: 0x3325, 0x4da: 0x301e, 0x4db: 0x332a, 0x4dc: 0x3904, 0x4dd: 0x3a93,\n\t0x4de: 0x3023, 0x4df: 0x332f, 0x4e0: 0x3032, 0x4e1: 0x333e, 0x4e2: 0x3050, 0x4e3: 0x335c,\n\t0x4e4: 0x305f, 0x4e5: 0x336b, 0x4e6: 0x3055, 0x4e7: 0x3361, 0x4e8: 0x3064, 0x4e9: 0x3370,\n\t0x4ea: 0x3069, 0x4eb: 0x3375, 0x4ec: 0x30af, 0x4ed: 0x33bb, 0x4ee: 0x390b, 0x4ef: 0x3a9a,\n\t0x4f0: 0x30b9, 0x4f1: 0x33ca, 0x4f2: 0x30c3, 0x4f3: 0x33d4, 0x4f4: 0x30cd, 0x4f5: 0x33de,\n\t0x4f6: 0x46c4, 0x4f7: 0x4755, 0x4f8: 0x3912, 0x4f9: 0x3aa1, 0x4fa: 0x30e6, 0x4fb: 0x33f7,\n\t0x4fc: 0x30e1, 0x4fd: 0x33f2, 0x4fe: 0x30eb, 0x4ff: 0x33fc,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x30f0, 0x501: 0x3401, 0x502: 0x30f5, 0x503: 0x3406, 0x504: 0x3109, 0x505: 0x341a,\n\t0x506: 0x3113, 0x507: 0x3424, 0x508: 0x3122, 0x509: 0x3433, 0x50a: 0x311d, 0x50b: 0x342e,\n\t0x50c: 0x3935, 0x50d: 0x3ac4, 0x50e: 0x3943, 0x50f: 0x3ad2, 0x510: 0x394a, 0x511: 0x3ad9,\n\t0x512: 0x3951, 0x513: 0x3ae0, 0x514: 0x314f, 0x515: 0x3460, 0x516: 0x3154, 0x517: 0x3465,\n\t0x518: 0x315e, 0x519: 0x346f, 0x51a: 0x46f1, 0x51b: 0x4782, 0x51c: 0x3997, 0x51d: 0x3b26,\n\t0x51e: 0x3177, 0x51f: 0x3488, 0x520: 0x3181, 0x521: 0x3492, 0x522: 0x4700, 0x523: 0x4791,\n\t0x524: 0x399e, 0x525: 0x3b2d, 0x526: 0x39a5, 0x527: 0x3b34, 0x528: 0x39ac, 0x529: 0x3b3b,\n\t0x52a: 0x3190, 0x52b: 0x34a1, 0x52c: 0x319a, 0x52d: 0x34b0, 0x52e: 0x31ae, 0x52f: 0x34c4,\n\t0x530: 0x31a9, 0x531: 0x34bf, 0x532: 0x31ea, 0x533: 0x3500, 0x534: 0x31f9, 0x535: 0x350f,\n\t0x536: 0x31f4, 0x537: 0x350a, 0x538: 0x39b3, 0x539: 0x3b42, 0x53a: 0x39ba, 0x53b: 0x3b49,\n\t0x53c: 0x31fe, 0x53d: 0x3514, 0x53e: 0x3203, 0x53f: 0x3519,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x3208, 0x541: 0x351e, 0x542: 0x320d, 0x543: 0x3523, 0x544: 0x321c, 0x545: 0x3532,\n\t0x546: 0x3217, 0x547: 0x352d, 0x548: 0x3221, 0x549: 0x353c, 0x54a: 0x3226, 0x54b: 0x3541,\n\t0x54c: 0x322b, 0x54d: 0x3546, 0x54e: 0x3249, 0x54f: 0x3564, 0x550: 0x3262, 0x551: 0x3582,\n\t0x552: 0x3271, 0x553: 0x3591, 0x554: 0x3276, 0x555: 0x3596, 0x556: 0x337a, 0x557: 0x34a6,\n\t0x558: 0x3537, 0x559: 0x3573, 0x55a: 0x1be0, 0x55b: 0x42d7,\n\t0x560: 0x46a1, 0x561: 0x4732, 0x562: 0x2f83, 0x563: 0x328f,\n\t0x564: 0x3878, 0x565: 0x3a07, 0x566: 0x3871, 0x567: 0x3a00, 0x568: 0x3886, 0x569: 0x3a15,\n\t0x56a: 0x387f, 0x56b: 0x3a0e, 0x56c: 0x38be, 0x56d: 0x3a4d, 0x56e: 0x3894, 0x56f: 0x3a23,\n\t0x570: 0x388d, 0x571: 0x3a1c, 0x572: 0x38a2, 0x573: 0x3a31, 0x574: 0x389b, 0x575: 0x3a2a,\n\t0x576: 0x38c5, 0x577: 0x3a54, 0x578: 0x46b5, 0x579: 0x4746, 0x57a: 0x3000, 0x57b: 0x330c,\n\t0x57c: 0x2fec, 0x57d: 0x32f8, 0x57e: 0x38da, 0x57f: 0x3a69,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x38d3, 0x581: 0x3a62, 0x582: 0x38e8, 0x583: 0x3a77, 0x584: 0x38e1, 0x585: 0x3a70,\n\t0x586: 0x38fd, 0x587: 0x3a8c, 0x588: 0x3091, 0x589: 0x339d, 0x58a: 0x30a5, 0x58b: 0x33b1,\n\t0x58c: 0x46e7, 0x58d: 0x4778, 0x58e: 0x3136, 0x58f: 0x3447, 0x590: 0x3920, 0x591: 0x3aaf,\n\t0x592: 0x3919, 0x593: 0x3aa8, 0x594: 0x392e, 0x595: 0x3abd, 0x596: 0x3927, 0x597: 0x3ab6,\n\t0x598: 0x3989, 0x599: 0x3b18, 0x59a: 0x396d, 0x59b: 0x3afc, 0x59c: 0x3966, 0x59d: 0x3af5,\n\t0x59e: 0x397b, 0x59f: 0x3b0a, 0x5a0: 0x3974, 0x5a1: 0x3b03, 0x5a2: 0x3982, 0x5a3: 0x3b11,\n\t0x5a4: 0x31e5, 0x5a5: 0x34fb, 0x5a6: 0x31c7, 0x5a7: 0x34dd, 0x5a8: 0x39e4, 0x5a9: 0x3b73,\n\t0x5aa: 0x39dd, 0x5ab: 0x3b6c, 0x5ac: 0x39f2, 0x5ad: 0x3b81, 0x5ae: 0x39eb, 0x5af: 0x3b7a,\n\t0x5b0: 0x39f9, 0x5b1: 0x3b88, 0x5b2: 0x3230, 0x5b3: 0x354b, 0x5b4: 0x3258, 0x5b5: 0x3578,\n\t0x5b6: 0x3253, 0x5b7: 0x356e, 0x5b8: 0x323f, 0x5b9: 0x355a,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x4804, 0x5c1: 0x480a, 0x5c2: 0x491e, 0x5c3: 0x4936, 0x5c4: 0x4926, 0x5c5: 0x493e,\n\t0x5c6: 0x492e, 0x5c7: 0x4946, 0x5c8: 0x47aa, 0x5c9: 0x47b0, 0x5ca: 0x488e, 0x5cb: 0x48a6,\n\t0x5cc: 0x4896, 0x5cd: 0x48ae, 0x5ce: 0x489e, 0x5cf: 0x48b6, 0x5d0: 0x4816, 0x5d1: 0x481c,\n\t0x5d2: 0x3db8, 0x5d3: 0x3dc8, 0x5d4: 0x3dc0, 0x5d5: 0x3dd0,\n\t0x5d8: 0x47b6, 0x5d9: 0x47bc, 0x5da: 0x3ce8, 0x5db: 0x3cf8, 0x5dc: 0x3cf0, 0x5dd: 0x3d00,\n\t0x5e0: 0x482e, 0x5e1: 0x4834, 0x5e2: 0x494e, 0x5e3: 0x4966,\n\t0x5e4: 0x4956, 0x5e5: 0x496e, 0x5e6: 0x495e, 0x5e7: 0x4976, 0x5e8: 0x47c2, 0x5e9: 0x47c8,\n\t0x5ea: 0x48be, 0x5eb: 0x48d6, 0x5ec: 0x48c6, 0x5ed: 0x48de, 0x5ee: 0x48ce, 0x5ef: 0x48e6,\n\t0x5f0: 0x4846, 0x5f1: 0x484c, 0x5f2: 0x3e18, 0x5f3: 0x3e30, 0x5f4: 0x3e20, 0x5f5: 0x3e38,\n\t0x5f6: 0x3e28, 0x5f7: 0x3e40, 0x5f8: 0x47ce, 0x5f9: 0x47d4, 0x5fa: 0x3d18, 0x5fb: 0x3d30,\n\t0x5fc: 0x3d20, 0x5fd: 0x3d38, 0x5fe: 0x3d28, 0x5ff: 0x3d40,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x4852, 0x601: 0x4858, 0x602: 0x3e48, 0x603: 0x3e58, 0x604: 0x3e50, 0x605: 0x3e60,\n\t0x608: 0x47da, 0x609: 0x47e0, 0x60a: 0x3d48, 0x60b: 0x3d58,\n\t0x60c: 0x3d50, 0x60d: 0x3d60, 0x610: 0x4864, 0x611: 0x486a,\n\t0x612: 0x3e80, 0x613: 0x3e98, 0x614: 0x3e88, 0x615: 0x3ea0, 0x616: 0x3e90, 0x617: 0x3ea8,\n\t0x619: 0x47e6, 0x61b: 0x3d68, 0x61d: 0x3d70,\n\t0x61f: 0x3d78, 0x620: 0x487c, 0x621: 0x4882, 0x622: 0x497e, 0x623: 0x4996,\n\t0x624: 0x4986, 0x625: 0x499e, 0x626: 0x498e, 0x627: 0x49a6, 0x628: 0x47ec, 0x629: 0x47f2,\n\t0x62a: 0x48ee, 0x62b: 0x4906, 0x62c: 0x48f6, 0x62d: 0x490e, 0x62e: 0x48fe, 0x62f: 0x4916,\n\t0x630: 0x47f8, 0x631: 0x431e, 0x632: 0x3691, 0x633: 0x4324, 0x634: 0x4822, 0x635: 0x432a,\n\t0x636: 0x36a3, 0x637: 0x4330, 0x638: 0x36c1, 0x639: 0x4336, 0x63a: 0x36d9, 0x63b: 0x433c,\n\t0x63c: 0x4870, 0x63d: 0x4342,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x3da0, 0x641: 0x3da8, 0x642: 0x4184, 0x643: 0x41a2, 0x644: 0x418e, 0x645: 0x41ac,\n\t0x646: 0x4198, 0x647: 0x41b6, 0x648: 0x3cd8, 0x649: 0x3ce0, 0x64a: 0x40d0, 0x64b: 0x40ee,\n\t0x64c: 0x40da, 0x64d: 0x40f8, 0x64e: 0x40e4, 0x64f: 0x4102, 0x650: 0x3de8, 0x651: 0x3df0,\n\t0x652: 0x41c0, 0x653: 0x41de, 0x654: 0x41ca, 0x655: 0x41e8, 0x656: 0x41d4, 0x657: 0x41f2,\n\t0x658: 0x3d08, 0x659: 0x3d10, 0x65a: 0x410c, 0x65b: 0x412a, 0x65c: 0x4116, 0x65d: 0x4134,\n\t0x65e: 0x4120, 0x65f: 0x413e, 0x660: 0x3ec0, 0x661: 0x3ec8, 0x662: 0x41fc, 0x663: 0x421a,\n\t0x664: 0x4206, 0x665: 0x4224, 0x666: 0x4210, 0x667: 0x422e, 0x668: 0x3d80, 0x669: 0x3d88,\n\t0x66a: 0x4148, 0x66b: 0x4166, 0x66c: 0x4152, 0x66d: 0x4170, 0x66e: 0x415c, 0x66f: 0x417a,\n\t0x670: 0x3685, 0x671: 0x367f, 0x672: 0x3d90, 0x673: 0x368b, 0x674: 0x3d98,\n\t0x676: 0x4810, 0x677: 0x3db0, 0x678: 0x35f5, 0x679: 0x35ef, 0x67a: 0x35e3, 0x67b: 0x42ee,\n\t0x67c: 0x35fb, 0x67d: 0x4287, 0x67e: 0x01d3, 0x67f: 0x4287,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x42a0, 0x681: 0x4482, 0x682: 0x3dd8, 0x683: 0x369d, 0x684: 0x3de0,\n\t0x686: 0x483a, 0x687: 0x3df8, 0x688: 0x3601, 0x689: 0x42f4, 0x68a: 0x360d, 0x68b: 0x42fa,\n\t0x68c: 0x3619, 0x68d: 0x4489, 0x68e: 0x4490, 0x68f: 0x4497, 0x690: 0x36b5, 0x691: 0x36af,\n\t0x692: 0x3e00, 0x693: 0x44e4, 0x696: 0x36bb, 0x697: 0x3e10,\n\t0x698: 0x3631, 0x699: 0x362b, 0x69a: 0x361f, 0x69b: 0x4300, 0x69d: 0x449e,\n\t0x69e: 0x44a5, 0x69f: 0x44ac, 0x6a0: 0x36eb, 0x6a1: 0x36e5, 0x6a2: 0x3e68, 0x6a3: 0x44ec,\n\t0x6a4: 0x36cd, 0x6a5: 0x36d3, 0x6a6: 0x36f1, 0x6a7: 0x3e78, 0x6a8: 0x3661, 0x6a9: 0x365b,\n\t0x6aa: 0x364f, 0x6ab: 0x430c, 0x6ac: 0x3649, 0x6ad: 0x4474, 0x6ae: 0x447b, 0x6af: 0x0081,\n\t0x6b2: 0x3eb0, 0x6b3: 0x36f7, 0x6b4: 0x3eb8,\n\t0x6b6: 0x4888, 0x6b7: 0x3ed0, 0x6b8: 0x363d, 0x6b9: 0x4306, 0x6ba: 0x366d, 0x6bb: 0x4318,\n\t0x6bc: 0x3679, 0x6bd: 0x425a, 0x6be: 0x428c,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c0: 0x1bd8, 0x6c1: 0x1bdc, 0x6c2: 0x0047, 0x6c3: 0x1c54, 0x6c5: 0x1be8,\n\t0x6c6: 0x1bec, 0x6c7: 0x00e9, 0x6c9: 0x1c58, 0x6ca: 0x008f, 0x6cb: 0x0051,\n\t0x6cc: 0x0051, 0x6cd: 0x0051, 0x6ce: 0x0091, 0x6cf: 0x00da, 0x6d0: 0x0053, 0x6d1: 0x0053,\n\t0x6d2: 0x0059, 0x6d3: 0x0099, 0x6d5: 0x005d, 0x6d6: 0x198d,\n\t0x6d9: 0x0061, 0x6da: 0x0063, 0x6db: 0x0065, 0x6dc: 0x0065, 0x6dd: 0x0065,\n\t0x6e0: 0x199f, 0x6e1: 0x1bc8, 0x6e2: 0x19a8,\n\t0x6e4: 0x0075, 0x6e6: 0x01b8, 0x6e8: 0x0075,\n\t0x6ea: 0x0057, 0x6eb: 0x42d2, 0x6ec: 0x0045, 0x6ed: 0x0047, 0x6ef: 0x008b,\n\t0x6f0: 0x004b, 0x6f1: 0x004d, 0x6f3: 0x005b, 0x6f4: 0x009f, 0x6f5: 0x0215,\n\t0x6f6: 0x0218, 0x6f7: 0x021b, 0x6f8: 0x021e, 0x6f9: 0x0093, 0x6fb: 0x1b98,\n\t0x6fc: 0x01e8, 0x6fd: 0x01c1, 0x6fe: 0x0179, 0x6ff: 0x01a0,\n\t// Block 0x1c, offset 0x700\n\t0x700: 0x0463, 0x705: 0x0049,\n\t0x706: 0x0089, 0x707: 0x008b, 0x708: 0x0093, 0x709: 0x0095,\n\t0x710: 0x222e, 0x711: 0x223a,\n\t0x712: 0x22ee, 0x713: 0x2216, 0x714: 0x229a, 0x715: 0x2222, 0x716: 0x22a0, 0x717: 0x22b8,\n\t0x718: 0x22c4, 0x719: 0x2228, 0x71a: 0x22ca, 0x71b: 0x2234, 0x71c: 0x22be, 0x71d: 0x22d0,\n\t0x71e: 0x22d6, 0x71f: 0x1cbc, 0x720: 0x0053, 0x721: 0x195a, 0x722: 0x1ba4, 0x723: 0x1963,\n\t0x724: 0x006d, 0x725: 0x19ab, 0x726: 0x1bd0, 0x727: 0x1d48, 0x728: 0x1966, 0x729: 0x0071,\n\t0x72a: 0x19b7, 0x72b: 0x1bd4, 0x72c: 0x0059, 0x72d: 0x0047, 0x72e: 0x0049, 0x72f: 0x005b,\n\t0x730: 0x0093, 0x731: 0x19e4, 0x732: 0x1c18, 0x733: 0x19ed, 0x734: 0x00ad, 0x735: 0x1a62,\n\t0x736: 0x1c4c, 0x737: 0x1d5c, 0x738: 0x19f0, 0x739: 0x00b1, 0x73a: 0x1a65, 0x73b: 0x1c50,\n\t0x73c: 0x0099, 0x73d: 0x0087, 0x73e: 0x0089, 0x73f: 0x009b,\n\t// Block 0x1d, offset 0x740\n\t0x741: 0x3c06, 0x743: 0xa000, 0x744: 0x3c0d, 0x745: 0xa000,\n\t0x747: 0x3c14, 0x748: 0xa000, 0x749: 0x3c1b,\n\t0x74d: 0xa000,\n\t0x760: 0x2f65, 0x761: 0xa000, 0x762: 0x3c29,\n\t0x764: 0xa000, 0x765: 0xa000,\n\t0x76d: 0x3c22, 0x76e: 0x2f60, 0x76f: 0x2f6a,\n\t0x770: 0x3c30, 0x771: 0x3c37, 0x772: 0xa000, 0x773: 0xa000, 0x774: 0x3c3e, 0x775: 0x3c45,\n\t0x776: 0xa000, 0x777: 0xa000, 0x778: 0x3c4c, 0x779: 0x3c53, 0x77a: 0xa000, 0x77b: 0xa000,\n\t0x77c: 0xa000, 0x77d: 0xa000,\n\t// Block 0x1e, offset 0x780\n\t0x780: 0x3c5a, 0x781: 0x3c61, 0x782: 0xa000, 0x783: 0xa000, 0x784: 0x3c76, 0x785: 0x3c7d,\n\t0x786: 0xa000, 0x787: 0xa000, 0x788: 0x3c84, 0x789: 0x3c8b,\n\t0x791: 0xa000,\n\t0x792: 0xa000,\n\t0x7a2: 0xa000,\n\t0x7a8: 0xa000, 0x7a9: 0xa000,\n\t0x7ab: 0xa000, 0x7ac: 0x3ca0, 0x7ad: 0x3ca7, 0x7ae: 0x3cae, 0x7af: 0x3cb5,\n\t0x7b2: 0xa000, 0x7b3: 0xa000, 0x7b4: 0xa000, 0x7b5: 0xa000,\n\t// Block 0x1f, offset 0x7c0\n\t0x7e0: 0x0023, 0x7e1: 0x0025, 0x7e2: 0x0027, 0x7e3: 0x0029,\n\t0x7e4: 0x002b, 0x7e5: 0x002d, 0x7e6: 0x002f, 0x7e7: 0x0031, 0x7e8: 0x0033, 0x7e9: 0x1882,\n\t0x7ea: 0x1885, 0x7eb: 0x1888, 0x7ec: 0x188b, 0x7ed: 0x188e, 0x7ee: 0x1891, 0x7ef: 0x1894,\n\t0x7f0: 0x1897, 0x7f1: 0x189a, 0x7f2: 0x189d, 0x7f3: 0x18a6, 0x7f4: 0x1a68, 0x7f5: 0x1a6c,\n\t0x7f6: 0x1a70, 0x7f7: 0x1a74, 0x7f8: 0x1a78, 0x7f9: 0x1a7c, 0x7fa: 0x1a80, 0x7fb: 0x1a84,\n\t0x7fc: 0x1a88, 0x7fd: 0x1c80, 0x7fe: 0x1c85, 0x7ff: 0x1c8a,\n\t// Block 0x20, offset 0x800\n\t0x800: 0x1c8f, 0x801: 0x1c94, 0x802: 0x1c99, 0x803: 0x1c9e, 0x804: 0x1ca3, 0x805: 0x1ca8,\n\t0x806: 0x1cad, 0x807: 0x1cb2, 0x808: 0x187f, 0x809: 0x18a3, 0x80a: 0x18c7, 0x80b: 0x18eb,\n\t0x80c: 0x190f, 0x80d: 0x1918, 0x80e: 0x191e, 0x80f: 0x1924, 0x810: 0x192a, 0x811: 0x1b60,\n\t0x812: 0x1b64, 0x813: 0x1b68, 0x814: 0x1b6c, 0x815: 0x1b70, 0x816: 0x1b74, 0x817: 0x1b78,\n\t0x818: 0x1b7c, 0x819: 0x1b80, 0x81a: 0x1b84, 0x81b: 0x1b88, 0x81c: 0x1af4, 0x81d: 0x1af8,\n\t0x81e: 0x1afc, 0x81f: 0x1b00, 0x820: 0x1b04, 0x821: 0x1b08, 0x822: 0x1b0c, 0x823: 0x1b10,\n\t0x824: 0x1b14, 0x825: 0x1b18, 0x826: 0x1b1c, 0x827: 0x1b20, 0x828: 0x1b24, 0x829: 0x1b28,\n\t0x82a: 0x1b2c, 0x82b: 0x1b30, 0x82c: 0x1b34, 0x82d: 0x1b38, 0x82e: 0x1b3c, 0x82f: 0x1b40,\n\t0x830: 0x1b44, 0x831: 0x1b48, 0x832: 0x1b4c, 0x833: 0x1b50, 0x834: 0x1b54, 0x835: 0x1b58,\n\t0x836: 0x0043, 0x837: 0x0045, 0x838: 0x0047, 0x839: 0x0049, 0x83a: 0x004b, 0x83b: 0x004d,\n\t0x83c: 0x004f, 0x83d: 0x0051, 0x83e: 0x0053, 0x83f: 0x0055,\n\t// Block 0x21, offset 0x840\n\t0x840: 0x06bf, 0x841: 0x06e3, 0x842: 0x06ef, 0x843: 0x06ff, 0x844: 0x0707, 0x845: 0x0713,\n\t0x846: 0x071b, 0x847: 0x0723, 0x848: 0x072f, 0x849: 0x0783, 0x84a: 0x079b, 0x84b: 0x07ab,\n\t0x84c: 0x07bb, 0x84d: 0x07cb, 0x84e: 0x07db, 0x84f: 0x07fb, 0x850: 0x07ff, 0x851: 0x0803,\n\t0x852: 0x0837, 0x853: 0x085f, 0x854: 0x086f, 0x855: 0x0877, 0x856: 0x087b, 0x857: 0x0887,\n\t0x858: 0x08a3, 0x859: 0x08a7, 0x85a: 0x08bf, 0x85b: 0x08c3, 0x85c: 0x08cb, 0x85d: 0x08db,\n\t0x85e: 0x0977, 0x85f: 0x098b, 0x860: 0x09cb, 0x861: 0x09df, 0x862: 0x09e7, 0x863: 0x09eb,\n\t0x864: 0x09fb, 0x865: 0x0a17, 0x866: 0x0a43, 0x867: 0x0a4f, 0x868: 0x0a6f, 0x869: 0x0a7b,\n\t0x86a: 0x0a7f, 0x86b: 0x0a83, 0x86c: 0x0a9b, 0x86d: 0x0a9f, 0x86e: 0x0acb, 0x86f: 0x0ad7,\n\t0x870: 0x0adf, 0x871: 0x0ae7, 0x872: 0x0af7, 0x873: 0x0aff, 0x874: 0x0b07, 0x875: 0x0b33,\n\t0x876: 0x0b37, 0x877: 0x0b3f, 0x878: 0x0b43, 0x879: 0x0b4b, 0x87a: 0x0b53, 0x87b: 0x0b63,\n\t0x87c: 0x0b7f, 0x87d: 0x0bf7, 0x87e: 0x0c0b, 0x87f: 0x0c0f,\n\t// Block 0x22, offset 0x880\n\t0x880: 0x0c8f, 0x881: 0x0c93, 0x882: 0x0ca7, 0x883: 0x0cab, 0x884: 0x0cb3, 0x885: 0x0cbb,\n\t0x886: 0x0cc3, 0x887: 0x0ccf, 0x888: 0x0cf7, 0x889: 0x0d07, 0x88a: 0x0d1b, 0x88b: 0x0d8b,\n\t0x88c: 0x0d97, 0x88d: 0x0da7, 0x88e: 0x0db3, 0x88f: 0x0dbf, 0x890: 0x0dc7, 0x891: 0x0dcb,\n\t0x892: 0x0dcf, 0x893: 0x0dd3, 0x894: 0x0dd7, 0x895: 0x0e8f, 0x896: 0x0ed7, 0x897: 0x0ee3,\n\t0x898: 0x0ee7, 0x899: 0x0eeb, 0x89a: 0x0eef, 0x89b: 0x0ef7, 0x89c: 0x0efb, 0x89d: 0x0f0f,\n\t0x89e: 0x0f2b, 0x89f: 0x0f33, 0x8a0: 0x0f73, 0x8a1: 0x0f77, 0x8a2: 0x0f7f, 0x8a3: 0x0f83,\n\t0x8a4: 0x0f8b, 0x8a5: 0x0f8f, 0x8a6: 0x0fb3, 0x8a7: 0x0fb7, 0x8a8: 0x0fd3, 0x8a9: 0x0fd7,\n\t0x8aa: 0x0fdb, 0x8ab: 0x0fdf, 0x8ac: 0x0ff3, 0x8ad: 0x1017, 0x8ae: 0x101b, 0x8af: 0x101f,\n\t0x8b0: 0x1043, 0x8b1: 0x1083, 0x8b2: 0x1087, 0x8b3: 0x10a7, 0x8b4: 0x10b7, 0x8b5: 0x10bf,\n\t0x8b6: 0x10df, 0x8b7: 0x1103, 0x8b8: 0x1147, 0x8b9: 0x114f, 0x8ba: 0x1163, 0x8bb: 0x116f,\n\t0x8bc: 0x1177, 0x8bd: 0x117f, 0x8be: 0x1183, 0x8bf: 0x1187,\n\t// Block 0x23, offset 0x8c0\n\t0x8c0: 0x119f, 0x8c1: 0x11a3, 0x8c2: 0x11bf, 0x8c3: 0x11c7, 0x8c4: 0x11cf, 0x8c5: 0x11d3,\n\t0x8c6: 0x11df, 0x8c7: 0x11e7, 0x8c8: 0x11eb, 0x8c9: 0x11ef, 0x8ca: 0x11f7, 0x8cb: 0x11fb,\n\t0x8cc: 0x129b, 0x8cd: 0x12af, 0x8ce: 0x12e3, 0x8cf: 0x12e7, 0x8d0: 0x12ef, 0x8d1: 0x131b,\n\t0x8d2: 0x1323, 0x8d3: 0x132b, 0x8d4: 0x1333, 0x8d5: 0x136f, 0x8d6: 0x1373, 0x8d7: 0x137b,\n\t0x8d8: 0x137f, 0x8d9: 0x1383, 0x8da: 0x13af, 0x8db: 0x13b3, 0x8dc: 0x13bb, 0x8dd: 0x13cf,\n\t0x8de: 0x13d3, 0x8df: 0x13ef, 0x8e0: 0x13f7, 0x8e1: 0x13fb, 0x8e2: 0x141f, 0x8e3: 0x143f,\n\t0x8e4: 0x1453, 0x8e5: 0x1457, 0x8e6: 0x145f, 0x8e7: 0x148b, 0x8e8: 0x148f, 0x8e9: 0x149f,\n\t0x8ea: 0x14c3, 0x8eb: 0x14cf, 0x8ec: 0x14df, 0x8ed: 0x14f7, 0x8ee: 0x14ff, 0x8ef: 0x1503,\n\t0x8f0: 0x1507, 0x8f1: 0x150b, 0x8f2: 0x1517, 0x8f3: 0x151b, 0x8f4: 0x1523, 0x8f5: 0x153f,\n\t0x8f6: 0x1543, 0x8f7: 0x1547, 0x8f8: 0x155f, 0x8f9: 0x1563, 0x8fa: 0x156b, 0x8fb: 0x157f,\n\t0x8fc: 0x1583, 0x8fd: 0x1587, 0x8fe: 0x158f, 0x8ff: 0x1593,\n\t// Block 0x24, offset 0x900\n\t0x906: 0xa000, 0x90b: 0xa000,\n\t0x90c: 0x3f08, 0x90d: 0xa000, 0x90e: 0x3f10, 0x90f: 0xa000, 0x910: 0x3f18, 0x911: 0xa000,\n\t0x912: 0x3f20, 0x913: 0xa000, 0x914: 0x3f28, 0x915: 0xa000, 0x916: 0x3f30, 0x917: 0xa000,\n\t0x918: 0x3f38, 0x919: 0xa000, 0x91a: 0x3f40, 0x91b: 0xa000, 0x91c: 0x3f48, 0x91d: 0xa000,\n\t0x91e: 0x3f50, 0x91f: 0xa000, 0x920: 0x3f58, 0x921: 0xa000, 0x922: 0x3f60,\n\t0x924: 0xa000, 0x925: 0x3f68, 0x926: 0xa000, 0x927: 0x3f70, 0x928: 0xa000, 0x929: 0x3f78,\n\t0x92f: 0xa000,\n\t0x930: 0x3f80, 0x931: 0x3f88, 0x932: 0xa000, 0x933: 0x3f90, 0x934: 0x3f98, 0x935: 0xa000,\n\t0x936: 0x3fa0, 0x937: 0x3fa8, 0x938: 0xa000, 0x939: 0x3fb0, 0x93a: 0x3fb8, 0x93b: 0xa000,\n\t0x93c: 0x3fc0, 0x93d: 0x3fc8,\n\t// Block 0x25, offset 0x940\n\t0x954: 0x3f00,\n\t0x959: 0x9903, 0x95a: 0x9903, 0x95b: 0x42dc, 0x95c: 0x42e2, 0x95d: 0xa000,\n\t0x95e: 0x3fd0, 0x95f: 0x26b4,\n\t0x966: 0xa000,\n\t0x96b: 0xa000, 0x96c: 0x3fe0, 0x96d: 0xa000, 0x96e: 0x3fe8, 0x96f: 0xa000,\n\t0x970: 0x3ff0, 0x971: 0xa000, 0x972: 0x3ff8, 0x973: 0xa000, 0x974: 0x4000, 0x975: 0xa000,\n\t0x976: 0x4008, 0x977: 0xa000, 0x978: 0x4010, 0x979: 0xa000, 0x97a: 0x4018, 0x97b: 0xa000,\n\t0x97c: 0x4020, 0x97d: 0xa000, 0x97e: 0x4028, 0x97f: 0xa000,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x4030, 0x981: 0xa000, 0x982: 0x4038, 0x984: 0xa000, 0x985: 0x4040,\n\t0x986: 0xa000, 0x987: 0x4048, 0x988: 0xa000, 0x989: 0x4050,\n\t0x98f: 0xa000, 0x990: 0x4058, 0x991: 0x4060,\n\t0x992: 0xa000, 0x993: 0x4068, 0x994: 0x4070, 0x995: 0xa000, 0x996: 0x4078, 0x997: 0x4080,\n\t0x998: 0xa000, 0x999: 0x4088, 0x99a: 0x4090, 0x99b: 0xa000, 0x99c: 0x4098, 0x99d: 0x40a0,\n\t0x9af: 0xa000,\n\t0x9b0: 0xa000, 0x9b1: 0xa000, 0x9b2: 0xa000, 0x9b4: 0x3fd8,\n\t0x9b7: 0x40a8, 0x9b8: 0x40b0, 0x9b9: 0x40b8, 0x9ba: 0x40c0,\n\t0x9bd: 0xa000, 0x9be: 0x40c8, 0x9bf: 0x26c9,\n\t// Block 0x27, offset 0x9c0\n\t0x9c0: 0x0367, 0x9c1: 0x032b, 0x9c2: 0x032f, 0x9c3: 0x0333, 0x9c4: 0x037b, 0x9c5: 0x0337,\n\t0x9c6: 0x033b, 0x9c7: 0x033f, 0x9c8: 0x0343, 0x9c9: 0x0347, 0x9ca: 0x034b, 0x9cb: 0x034f,\n\t0x9cc: 0x0353, 0x9cd: 0x0357, 0x9ce: 0x035b, 0x9cf: 0x49bd, 0x9d0: 0x49c3, 0x9d1: 0x49c9,\n\t0x9d2: 0x49cf, 0x9d3: 0x49d5, 0x9d4: 0x49db, 0x9d5: 0x49e1, 0x9d6: 0x49e7, 0x9d7: 0x49ed,\n\t0x9d8: 0x49f3, 0x9d9: 0x49f9, 0x9da: 0x49ff, 0x9db: 0x4a05, 0x9dc: 0x4a0b, 0x9dd: 0x4a11,\n\t0x9de: 0x4a17, 0x9df: 0x4a1d, 0x9e0: 0x4a23, 0x9e1: 0x4a29, 0x9e2: 0x4a2f, 0x9e3: 0x4a35,\n\t0x9e4: 0x03c3, 0x9e5: 0x035f, 0x9e6: 0x0363, 0x9e7: 0x03e7, 0x9e8: 0x03eb, 0x9e9: 0x03ef,\n\t0x9ea: 0x03f3, 0x9eb: 0x03f7, 0x9ec: 0x03fb, 0x9ed: 0x03ff, 0x9ee: 0x036b, 0x9ef: 0x0403,\n\t0x9f0: 0x0407, 0x9f1: 0x036f, 0x9f2: 0x0373, 0x9f3: 0x0377, 0x9f4: 0x037f, 0x9f5: 0x0383,\n\t0x9f6: 0x0387, 0x9f7: 0x038b, 0x9f8: 0x038f, 0x9f9: 0x0393, 0x9fa: 0x0397, 0x9fb: 0x039b,\n\t0x9fc: 0x039f, 0x9fd: 0x03a3, 0x9fe: 0x03a7, 0x9ff: 0x03ab,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x03af, 0xa01: 0x03b3, 0xa02: 0x040b, 0xa03: 0x040f, 0xa04: 0x03b7, 0xa05: 0x03bb,\n\t0xa06: 0x03bf, 0xa07: 0x03c7, 0xa08: 0x03cb, 0xa09: 0x03cf, 0xa0a: 0x03d3, 0xa0b: 0x03d7,\n\t0xa0c: 0x03db, 0xa0d: 0x03df, 0xa0e: 0x03e3,\n\t0xa12: 0x06bf, 0xa13: 0x071b, 0xa14: 0x06cb, 0xa15: 0x097b, 0xa16: 0x06cf, 0xa17: 0x06e7,\n\t0xa18: 0x06d3, 0xa19: 0x0f93, 0xa1a: 0x0707, 0xa1b: 0x06db, 0xa1c: 0x06c3, 0xa1d: 0x09ff,\n\t0xa1e: 0x098f, 0xa1f: 0x072f,\n\t// Block 0x29, offset 0xa40\n\t0xa40: 0x2054, 0xa41: 0x205a, 0xa42: 0x2060, 0xa43: 0x2066, 0xa44: 0x206c, 0xa45: 0x2072,\n\t0xa46: 0x2078, 0xa47: 0x207e, 0xa48: 0x2084, 0xa49: 0x208a, 0xa4a: 0x2090, 0xa4b: 0x2096,\n\t0xa4c: 0x209c, 0xa4d: 0x20a2, 0xa4e: 0x2726, 0xa4f: 0x272f, 0xa50: 0x2738, 0xa51: 0x2741,\n\t0xa52: 0x274a, 0xa53: 0x2753, 0xa54: 0x275c, 0xa55: 0x2765, 0xa56: 0x276e, 0xa57: 0x2780,\n\t0xa58: 0x2789, 0xa59: 0x2792, 0xa5a: 0x279b, 0xa5b: 0x27a4, 0xa5c: 0x2777, 0xa5d: 0x2bac,\n\t0xa5e: 0x2aed, 0xa60: 0x20a8, 0xa61: 0x20c0, 0xa62: 0x20b4, 0xa63: 0x2108,\n\t0xa64: 0x20c6, 0xa65: 0x20e4, 0xa66: 0x20ae, 0xa67: 0x20de, 0xa68: 0x20ba, 0xa69: 0x20f0,\n\t0xa6a: 0x2120, 0xa6b: 0x213e, 0xa6c: 0x2138, 0xa6d: 0x212c, 0xa6e: 0x217a, 0xa6f: 0x210e,\n\t0xa70: 0x211a, 0xa71: 0x2132, 0xa72: 0x2126, 0xa73: 0x2150, 0xa74: 0x20fc, 0xa75: 0x2144,\n\t0xa76: 0x216e, 0xa77: 0x2156, 0xa78: 0x20ea, 0xa79: 0x20cc, 0xa7a: 0x2102, 0xa7b: 0x2114,\n\t0xa7c: 0x214a, 0xa7d: 0x20d2, 0xa7e: 0x2174, 0xa7f: 0x20f6,\n\t// Block 0x2a, offset 0xa80\n\t0xa80: 0x215c, 0xa81: 0x20d8, 0xa82: 0x2162, 0xa83: 0x2168, 0xa84: 0x092f, 0xa85: 0x0b03,\n\t0xa86: 0x0ca7, 0xa87: 0x10c7,\n\t0xa90: 0x1bc4, 0xa91: 0x18a9,\n\t0xa92: 0x18ac, 0xa93: 0x18af, 0xa94: 0x18b2, 0xa95: 0x18b5, 0xa96: 0x18b8, 0xa97: 0x18bb,\n\t0xa98: 0x18be, 0xa99: 0x18c1, 0xa9a: 0x18ca, 0xa9b: 0x18cd, 0xa9c: 0x18d0, 0xa9d: 0x18d3,\n\t0xa9e: 0x18d6, 0xa9f: 0x18d9, 0xaa0: 0x0313, 0xaa1: 0x031b, 0xaa2: 0x031f, 0xaa3: 0x0327,\n\t0xaa4: 0x032b, 0xaa5: 0x032f, 0xaa6: 0x0337, 0xaa7: 0x033f, 0xaa8: 0x0343, 0xaa9: 0x034b,\n\t0xaaa: 0x034f, 0xaab: 0x0353, 0xaac: 0x0357, 0xaad: 0x035b, 0xaae: 0x2e18, 0xaaf: 0x2e20,\n\t0xab0: 0x2e28, 0xab1: 0x2e30, 0xab2: 0x2e38, 0xab3: 0x2e40, 0xab4: 0x2e48, 0xab5: 0x2e50,\n\t0xab6: 0x2e60, 0xab7: 0x2e68, 0xab8: 0x2e70, 0xab9: 0x2e78, 0xaba: 0x2e80, 0xabb: 0x2e88,\n\t0xabc: 0x2ed3, 0xabd: 0x2e9b, 0xabe: 0x2e58,\n\t// Block 0x2b, offset 0xac0\n\t0xac0: 0x06bf, 0xac1: 0x071b, 0xac2: 0x06cb, 0xac3: 0x097b, 0xac4: 0x071f, 0xac5: 0x07af,\n\t0xac6: 0x06c7, 0xac7: 0x07ab, 0xac8: 0x070b, 0xac9: 0x0887, 0xaca: 0x0d07, 0xacb: 0x0e8f,\n\t0xacc: 0x0dd7, 0xacd: 0x0d1b, 0xace: 0x145f, 0xacf: 0x098b, 0xad0: 0x0ccf, 0xad1: 0x0d4b,\n\t0xad2: 0x0d0b, 0xad3: 0x104b, 0xad4: 0x08fb, 0xad5: 0x0f03, 0xad6: 0x1387, 0xad7: 0x105f,\n\t0xad8: 0x0843, 0xad9: 0x108f, 0xada: 0x0f9b, 0xadb: 0x0a17, 0xadc: 0x140f, 0xadd: 0x077f,\n\t0xade: 0x08ab, 0xadf: 0x0df7, 0xae0: 0x1527, 0xae1: 0x0743, 0xae2: 0x07d3, 0xae3: 0x0d9b,\n\t0xae4: 0x06cf, 0xae5: 0x06e7, 0xae6: 0x06d3, 0xae7: 0x0adb, 0xae8: 0x08ef, 0xae9: 0x087f,\n\t0xaea: 0x0a57, 0xaeb: 0x0a4b, 0xaec: 0x0feb, 0xaed: 0x073f, 0xaee: 0x139b, 0xaef: 0x089b,\n\t0xaf0: 0x09f3, 0xaf1: 0x18dc, 0xaf2: 0x18df, 0xaf3: 0x18e2, 0xaf4: 0x18e5, 0xaf5: 0x18ee,\n\t0xaf6: 0x18f1, 0xaf7: 0x18f4, 0xaf8: 0x18f7, 0xaf9: 0x18fa, 0xafa: 0x18fd, 0xafb: 0x1900,\n\t0xafc: 0x1903, 0xafd: 0x1906, 0xafe: 0x1909, 0xaff: 0x1912,\n\t// Block 0x2c, offset 0xb00\n\t0xb00: 0x1cc6, 0xb01: 0x1cd5, 0xb02: 0x1ce4, 0xb03: 0x1cf3, 0xb04: 0x1d02, 0xb05: 0x1d11,\n\t0xb06: 0x1d20, 0xb07: 0x1d2f, 0xb08: 0x1d3e, 0xb09: 0x218c, 0xb0a: 0x219e, 0xb0b: 0x21b0,\n\t0xb0c: 0x1954, 0xb0d: 0x1c04, 0xb0e: 0x19d2, 0xb0f: 0x1ba8, 0xb10: 0x04cb, 0xb11: 0x04d3,\n\t0xb12: 0x04db, 0xb13: 0x04e3, 0xb14: 0x04eb, 0xb15: 0x04ef, 0xb16: 0x04f3, 0xb17: 0x04f7,\n\t0xb18: 0x04fb, 0xb19: 0x04ff, 0xb1a: 0x0503, 0xb1b: 0x0507, 0xb1c: 0x050b, 0xb1d: 0x050f,\n\t0xb1e: 0x0513, 0xb1f: 0x0517, 0xb20: 0x051b, 0xb21: 0x0523, 0xb22: 0x0527, 0xb23: 0x052b,\n\t0xb24: 0x052f, 0xb25: 0x0533, 0xb26: 0x0537, 0xb27: 0x053b, 0xb28: 0x053f, 0xb29: 0x0543,\n\t0xb2a: 0x0547, 0xb2b: 0x054b, 0xb2c: 0x054f, 0xb2d: 0x0553, 0xb2e: 0x0557, 0xb2f: 0x055b,\n\t0xb30: 0x055f, 0xb31: 0x0563, 0xb32: 0x0567, 0xb33: 0x056f, 0xb34: 0x0577, 0xb35: 0x057f,\n\t0xb36: 0x0583, 0xb37: 0x0587, 0xb38: 0x058b, 0xb39: 0x058f, 0xb3a: 0x0593, 0xb3b: 0x0597,\n\t0xb3c: 0x059b, 0xb3d: 0x059f, 0xb3e: 0x05a3,\n\t// Block 0x2d, offset 0xb40\n\t0xb40: 0x2b0c, 0xb41: 0x29a8, 0xb42: 0x2b1c, 0xb43: 0x2880, 0xb44: 0x2ee4, 0xb45: 0x288a,\n\t0xb46: 0x2894, 0xb47: 0x2f28, 0xb48: 0x29b5, 0xb49: 0x289e, 0xb4a: 0x28a8, 0xb4b: 0x28b2,\n\t0xb4c: 0x29dc, 0xb4d: 0x29e9, 0xb4e: 0x29c2, 0xb4f: 0x29cf, 0xb50: 0x2ea9, 0xb51: 0x29f6,\n\t0xb52: 0x2a03, 0xb53: 0x2bbe, 0xb54: 0x26bb, 0xb55: 0x2bd1, 0xb56: 0x2be4, 0xb57: 0x2b2c,\n\t0xb58: 0x2a10, 0xb59: 0x2bf7, 0xb5a: 0x2c0a, 0xb5b: 0x2a1d, 0xb5c: 0x28bc, 0xb5d: 0x28c6,\n\t0xb5e: 0x2eb7, 0xb5f: 0x2a2a, 0xb60: 0x2b3c, 0xb61: 0x2ef5, 0xb62: 0x28d0, 0xb63: 0x28da,\n\t0xb64: 0x2a37, 0xb65: 0x28e4, 0xb66: 0x28ee, 0xb67: 0x26d0, 0xb68: 0x26d7, 0xb69: 0x28f8,\n\t0xb6a: 0x2902, 0xb6b: 0x2c1d, 0xb6c: 0x2a44, 0xb6d: 0x2b4c, 0xb6e: 0x2c30, 0xb6f: 0x2a51,\n\t0xb70: 0x2916, 0xb71: 0x290c, 0xb72: 0x2f3c, 0xb73: 0x2a5e, 0xb74: 0x2c43, 0xb75: 0x2920,\n\t0xb76: 0x2b5c, 0xb77: 0x292a, 0xb78: 0x2a78, 0xb79: 0x2934, 0xb7a: 0x2a85, 0xb7b: 0x2f06,\n\t0xb7c: 0x2a6b, 0xb7d: 0x2b6c, 0xb7e: 0x2a92, 0xb7f: 0x26de,\n\t// Block 0x2e, offset 0xb80\n\t0xb80: 0x2f17, 0xb81: 0x293e, 0xb82: 0x2948, 0xb83: 0x2a9f, 0xb84: 0x2952, 0xb85: 0x295c,\n\t0xb86: 0x2966, 0xb87: 0x2b7c, 0xb88: 0x2aac, 0xb89: 0x26e5, 0xb8a: 0x2c56, 0xb8b: 0x2e90,\n\t0xb8c: 0x2b8c, 0xb8d: 0x2ab9, 0xb8e: 0x2ec5, 0xb8f: 0x2970, 0xb90: 0x297a, 0xb91: 0x2ac6,\n\t0xb92: 0x26ec, 0xb93: 0x2ad3, 0xb94: 0x2b9c, 0xb95: 0x26f3, 0xb96: 0x2c69, 0xb97: 0x2984,\n\t0xb98: 0x1cb7, 0xb99: 0x1ccb, 0xb9a: 0x1cda, 0xb9b: 0x1ce9, 0xb9c: 0x1cf8, 0xb9d: 0x1d07,\n\t0xb9e: 0x1d16, 0xb9f: 0x1d25, 0xba0: 0x1d34, 0xba1: 0x1d43, 0xba2: 0x2192, 0xba3: 0x21a4,\n\t0xba4: 0x21b6, 0xba5: 0x21c2, 0xba6: 0x21ce, 0xba7: 0x21da, 0xba8: 0x21e6, 0xba9: 0x21f2,\n\t0xbaa: 0x21fe, 0xbab: 0x220a, 0xbac: 0x2246, 0xbad: 0x2252, 0xbae: 0x225e, 0xbaf: 0x226a,\n\t0xbb0: 0x2276, 0xbb1: 0x1c14, 0xbb2: 0x19c6, 0xbb3: 0x1936, 0xbb4: 0x1be4, 0xbb5: 0x1a47,\n\t0xbb6: 0x1a56, 0xbb7: 0x19cc, 0xbb8: 0x1bfc, 0xbb9: 0x1c00, 0xbba: 0x1960, 0xbbb: 0x2701,\n\t0xbbc: 0x270f, 0xbbd: 0x26fa, 0xbbe: 0x2708, 0xbbf: 0x2ae0,\n\t// Block 0x2f, offset 0xbc0\n\t0xbc0: 0x1a4a, 0xbc1: 0x1a32, 0xbc2: 0x1c60, 0xbc3: 0x1a1a, 0xbc4: 0x19f3, 0xbc5: 0x1969,\n\t0xbc6: 0x1978, 0xbc7: 0x1948, 0xbc8: 0x1bf0, 0xbc9: 0x1d52, 0xbca: 0x1a4d, 0xbcb: 0x1a35,\n\t0xbcc: 0x1c64, 0xbcd: 0x1c70, 0xbce: 0x1a26, 0xbcf: 0x19fc, 0xbd0: 0x1957, 0xbd1: 0x1c1c,\n\t0xbd2: 0x1bb0, 0xbd3: 0x1b9c, 0xbd4: 0x1bcc, 0xbd5: 0x1c74, 0xbd6: 0x1a29, 0xbd7: 0x19c9,\n\t0xbd8: 0x19ff, 0xbd9: 0x19de, 0xbda: 0x1a41, 0xbdb: 0x1c78, 0xbdc: 0x1a2c, 0xbdd: 0x19c0,\n\t0xbde: 0x1a02, 0xbdf: 0x1c3c, 0xbe0: 0x1bf4, 0xbe1: 0x1a14, 0xbe2: 0x1c24, 0xbe3: 0x1c40,\n\t0xbe4: 0x1bf8, 0xbe5: 0x1a17, 0xbe6: 0x1c28, 0xbe7: 0x22e8, 0xbe8: 0x22fc, 0xbe9: 0x1996,\n\t0xbea: 0x1c20, 0xbeb: 0x1bb4, 0xbec: 0x1ba0, 0xbed: 0x1c48, 0xbee: 0x2716, 0xbef: 0x27ad,\n\t0xbf0: 0x1a59, 0xbf1: 0x1a44, 0xbf2: 0x1c7c, 0xbf3: 0x1a2f, 0xbf4: 0x1a50, 0xbf5: 0x1a38,\n\t0xbf6: 0x1c68, 0xbf7: 0x1a1d, 0xbf8: 0x19f6, 0xbf9: 0x1981, 0xbfa: 0x1a53, 0xbfb: 0x1a3b,\n\t0xbfc: 0x1c6c, 0xbfd: 0x1a20, 0xbfe: 0x19f9, 0xbff: 0x1984,\n\t// Block 0x30, offset 0xc00\n\t0xc00: 0x1c2c, 0xc01: 0x1bb8, 0xc02: 0x1d4d, 0xc03: 0x1939, 0xc04: 0x19ba, 0xc05: 0x19bd,\n\t0xc06: 0x22f5, 0xc07: 0x1b94, 0xc08: 0x19c3, 0xc09: 0x194b, 0xc0a: 0x19e1, 0xc0b: 0x194e,\n\t0xc0c: 0x19ea, 0xc0d: 0x196c, 0xc0e: 0x196f, 0xc0f: 0x1a05, 0xc10: 0x1a0b, 0xc11: 0x1a0e,\n\t0xc12: 0x1c30, 0xc13: 0x1a11, 0xc14: 0x1a23, 0xc15: 0x1c38, 0xc16: 0x1c44, 0xc17: 0x1990,\n\t0xc18: 0x1d57, 0xc19: 0x1bbc, 0xc1a: 0x1993, 0xc1b: 0x1a5c, 0xc1c: 0x19a5, 0xc1d: 0x19b4,\n\t0xc1e: 0x22e2, 0xc1f: 0x22dc, 0xc20: 0x1cc1, 0xc21: 0x1cd0, 0xc22: 0x1cdf, 0xc23: 0x1cee,\n\t0xc24: 0x1cfd, 0xc25: 0x1d0c, 0xc26: 0x1d1b, 0xc27: 0x1d2a, 0xc28: 0x1d39, 0xc29: 0x2186,\n\t0xc2a: 0x2198, 0xc2b: 0x21aa, 0xc2c: 0x21bc, 0xc2d: 0x21c8, 0xc2e: 0x21d4, 0xc2f: 0x21e0,\n\t0xc30: 0x21ec, 0xc31: 0x21f8, 0xc32: 0x2204, 0xc33: 0x2240, 0xc34: 0x224c, 0xc35: 0x2258,\n\t0xc36: 0x2264, 0xc37: 0x2270, 0xc38: 0x227c, 0xc39: 0x2282, 0xc3a: 0x2288, 0xc3b: 0x228e,\n\t0xc3c: 0x2294, 0xc3d: 0x22a6, 0xc3e: 0x22ac, 0xc3f: 0x1c10,\n\t// Block 0x31, offset 0xc40\n\t0xc40: 0x1377, 0xc41: 0x0cfb, 0xc42: 0x13d3, 0xc43: 0x139f, 0xc44: 0x0e57, 0xc45: 0x06eb,\n\t0xc46: 0x08df, 0xc47: 0x162b, 0xc48: 0x162b, 0xc49: 0x0a0b, 0xc4a: 0x145f, 0xc4b: 0x0943,\n\t0xc4c: 0x0a07, 0xc4d: 0x0bef, 0xc4e: 0x0fcf, 0xc4f: 0x115f, 0xc50: 0x1297, 0xc51: 0x12d3,\n\t0xc52: 0x1307, 0xc53: 0x141b, 0xc54: 0x0d73, 0xc55: 0x0dff, 0xc56: 0x0eab, 0xc57: 0x0f43,\n\t0xc58: 0x125f, 0xc59: 0x1447, 0xc5a: 0x1573, 0xc5b: 0x070f, 0xc5c: 0x08b3, 0xc5d: 0x0d87,\n\t0xc5e: 0x0ecf, 0xc5f: 0x1293, 0xc60: 0x15c3, 0xc61: 0x0ab3, 0xc62: 0x0e77, 0xc63: 0x1283,\n\t0xc64: 0x1317, 0xc65: 0x0c23, 0xc66: 0x11bb, 0xc67: 0x12df, 0xc68: 0x0b1f, 0xc69: 0x0d0f,\n\t0xc6a: 0x0e17, 0xc6b: 0x0f1b, 0xc6c: 0x1427, 0xc6d: 0x074f, 0xc6e: 0x07e7, 0xc6f: 0x0853,\n\t0xc70: 0x0c8b, 0xc71: 0x0d7f, 0xc72: 0x0ecb, 0xc73: 0x0fef, 0xc74: 0x1177, 0xc75: 0x128b,\n\t0xc76: 0x12a3, 0xc77: 0x13c7, 0xc78: 0x14ef, 0xc79: 0x15a3, 0xc7a: 0x15bf, 0xc7b: 0x102b,\n\t0xc7c: 0x106b, 0xc7d: 0x1123, 0xc7e: 0x1243, 0xc7f: 0x147b,\n\t// Block 0x32, offset 0xc80\n\t0xc80: 0x15cb, 0xc81: 0x134b, 0xc82: 0x09c7, 0xc83: 0x0b3b, 0xc84: 0x10db, 0xc85: 0x119b,\n\t0xc86: 0x0eff, 0xc87: 0x1033, 0xc88: 0x1397, 0xc89: 0x14e7, 0xc8a: 0x09c3, 0xc8b: 0x0a8f,\n\t0xc8c: 0x0d77, 0xc8d: 0x0e2b, 0xc8e: 0x0e5f, 0xc8f: 0x1113, 0xc90: 0x113b, 0xc91: 0x14a7,\n\t0xc92: 0x084f, 0xc93: 0x11a7, 0xc94: 0x07f3, 0xc95: 0x07ef, 0xc96: 0x1097, 0xc97: 0x1127,\n\t0xc98: 0x125b, 0xc99: 0x14af, 0xc9a: 0x1367, 0xc9b: 0x0c27, 0xc9c: 0x0d73, 0xc9d: 0x1357,\n\t0xc9e: 0x06f7, 0xc9f: 0x0a63, 0xca0: 0x0b93, 0xca1: 0x0f2f, 0xca2: 0x0faf, 0xca3: 0x0873,\n\t0xca4: 0x103b, 0xca5: 0x075f, 0xca6: 0x0b77, 0xca7: 0x06d7, 0xca8: 0x0deb, 0xca9: 0x0ca3,\n\t0xcaa: 0x110f, 0xcab: 0x08c7, 0xcac: 0x09b3, 0xcad: 0x0ffb, 0xcae: 0x1263, 0xcaf: 0x133b,\n\t0xcb0: 0x0db7, 0xcb1: 0x13f7, 0xcb2: 0x0de3, 0xcb3: 0x0c37, 0xcb4: 0x121b, 0xcb5: 0x0c57,\n\t0xcb6: 0x0fab, 0xcb7: 0x072b, 0xcb8: 0x07a7, 0xcb9: 0x07eb, 0xcba: 0x0d53, 0xcbb: 0x10fb,\n\t0xcbc: 0x11f3, 0xcbd: 0x1347, 0xcbe: 0x145b, 0xcbf: 0x085b,\n\t// Block 0x33, offset 0xcc0\n\t0xcc0: 0x090f, 0xcc1: 0x0a17, 0xcc2: 0x0b2f, 0xcc3: 0x0cbf, 0xcc4: 0x0e7b, 0xcc5: 0x103f,\n\t0xcc6: 0x1497, 0xcc7: 0x157b, 0xcc8: 0x15cf, 0xcc9: 0x15e7, 0xcca: 0x0837, 0xccb: 0x0cf3,\n\t0xccc: 0x0da3, 0xccd: 0x13eb, 0xcce: 0x0afb, 0xccf: 0x0bd7, 0xcd0: 0x0bf3, 0xcd1: 0x0c83,\n\t0xcd2: 0x0e6b, 0xcd3: 0x0eb7, 0xcd4: 0x0f67, 0xcd5: 0x108b, 0xcd6: 0x112f, 0xcd7: 0x1193,\n\t0xcd8: 0x13db, 0xcd9: 0x126b, 0xcda: 0x1403, 0xcdb: 0x147f, 0xcdc: 0x080f, 0xcdd: 0x083b,\n\t0xcde: 0x0923, 0xcdf: 0x0ea7, 0xce0: 0x12f3, 0xce1: 0x133b, 0xce2: 0x0b1b, 0xce3: 0x0b8b,\n\t0xce4: 0x0c4f, 0xce5: 0x0daf, 0xce6: 0x10d7, 0xce7: 0x0f23, 0xce8: 0x073b, 0xce9: 0x097f,\n\t0xcea: 0x0a63, 0xceb: 0x0ac7, 0xcec: 0x0b97, 0xced: 0x0f3f, 0xcee: 0x0f5b, 0xcef: 0x116b,\n\t0xcf0: 0x118b, 0xcf1: 0x1463, 0xcf2: 0x14e3, 0xcf3: 0x14f3, 0xcf4: 0x152f, 0xcf5: 0x0753,\n\t0xcf6: 0x107f, 0xcf7: 0x144f, 0xcf8: 0x14cb, 0xcf9: 0x0baf, 0xcfa: 0x0717, 0xcfb: 0x0777,\n\t0xcfc: 0x0a67, 0xcfd: 0x0a87, 0xcfe: 0x0caf, 0xcff: 0x0d73,\n\t// Block 0x34, offset 0xd00\n\t0xd00: 0x0ec3, 0xd01: 0x0fcb, 0xd02: 0x1277, 0xd03: 0x1417, 0xd04: 0x1623, 0xd05: 0x0ce3,\n\t0xd06: 0x14a3, 0xd07: 0x0833, 0xd08: 0x0d2f, 0xd09: 0x0d3b, 0xd0a: 0x0e0f, 0xd0b: 0x0e47,\n\t0xd0c: 0x0f4b, 0xd0d: 0x0fa7, 0xd0e: 0x1027, 0xd0f: 0x110b, 0xd10: 0x153b, 0xd11: 0x07af,\n\t0xd12: 0x0c03, 0xd13: 0x14b3, 0xd14: 0x0767, 0xd15: 0x0aab, 0xd16: 0x0e2f, 0xd17: 0x13df,\n\t0xd18: 0x0b67, 0xd19: 0x0bb7, 0xd1a: 0x0d43, 0xd1b: 0x0f2f, 0xd1c: 0x14bb, 0xd1d: 0x0817,\n\t0xd1e: 0x08ff, 0xd1f: 0x0a97, 0xd20: 0x0cd3, 0xd21: 0x0d1f, 0xd22: 0x0d5f, 0xd23: 0x0df3,\n\t0xd24: 0x0f47, 0xd25: 0x0fbb, 0xd26: 0x1157, 0xd27: 0x12f7, 0xd28: 0x1303, 0xd29: 0x1457,\n\t0xd2a: 0x14d7, 0xd2b: 0x0883, 0xd2c: 0x0e4b, 0xd2d: 0x0903, 0xd2e: 0x0ec7, 0xd2f: 0x0f6b,\n\t0xd30: 0x1287, 0xd31: 0x14bf, 0xd32: 0x15ab, 0xd33: 0x15d3, 0xd34: 0x0d37, 0xd35: 0x0e27,\n\t0xd36: 0x11c3, 0xd37: 0x10b7, 0xd38: 0x10c3, 0xd39: 0x10e7, 0xd3a: 0x0f17, 0xd3b: 0x0e9f,\n\t0xd3c: 0x1363, 0xd3d: 0x0733, 0xd3e: 0x122b, 0xd3f: 0x081b,\n\t// Block 0x35, offset 0xd40\n\t0xd40: 0x080b, 0xd41: 0x0b0b, 0xd42: 0x0c2b, 0xd43: 0x10f3, 0xd44: 0x0a53, 0xd45: 0x0e03,\n\t0xd46: 0x0cef, 0xd47: 0x13e7, 0xd48: 0x12e7, 0xd49: 0x14ab, 0xd4a: 0x1323, 0xd4b: 0x0b27,\n\t0xd4c: 0x0787, 0xd4d: 0x095b, 0xd50: 0x09af,\n\t0xd52: 0x0cdf, 0xd55: 0x07f7, 0xd56: 0x0f1f, 0xd57: 0x0fe3,\n\t0xd58: 0x1047, 0xd59: 0x1063, 0xd5a: 0x1067, 0xd5b: 0x107b, 0xd5c: 0x14fb, 0xd5d: 0x10eb,\n\t0xd5e: 0x116f, 0xd60: 0x128f, 0xd62: 0x1353,\n\t0xd65: 0x1407, 0xd66: 0x1433,\n\t0xd6a: 0x154f, 0xd6b: 0x1553, 0xd6c: 0x1557, 0xd6d: 0x15bb, 0xd6e: 0x142b, 0xd6f: 0x14c7,\n\t0xd70: 0x0757, 0xd71: 0x077b, 0xd72: 0x078f, 0xd73: 0x084b, 0xd74: 0x0857, 0xd75: 0x0897,\n\t0xd76: 0x094b, 0xd77: 0x0967, 0xd78: 0x096f, 0xd79: 0x09ab, 0xd7a: 0x09b7, 0xd7b: 0x0a93,\n\t0xd7c: 0x0a9b, 0xd7d: 0x0ba3, 0xd7e: 0x0bcb, 0xd7f: 0x0bd3,\n\t// Block 0x36, offset 0xd80\n\t0xd80: 0x0beb, 0xd81: 0x0c97, 0xd82: 0x0cc7, 0xd83: 0x0ce7, 0xd84: 0x0d57, 0xd85: 0x0e1b,\n\t0xd86: 0x0e37, 0xd87: 0x0e67, 0xd88: 0x0ebb, 0xd89: 0x0edb, 0xd8a: 0x0f4f, 0xd8b: 0x102f,\n\t0xd8c: 0x104b, 0xd8d: 0x1053, 0xd8e: 0x104f, 0xd8f: 0x1057, 0xd90: 0x105b, 0xd91: 0x105f,\n\t0xd92: 0x1073, 0xd93: 0x1077, 0xd94: 0x109b, 0xd95: 0x10af, 0xd96: 0x10cb, 0xd97: 0x112f,\n\t0xd98: 0x1137, 0xd99: 0x113f, 0xd9a: 0x1153, 0xd9b: 0x117b, 0xd9c: 0x11cb, 0xd9d: 0x11ff,\n\t0xd9e: 0x11ff, 0xd9f: 0x1267, 0xda0: 0x130f, 0xda1: 0x1327, 0xda2: 0x135b, 0xda3: 0x135f,\n\t0xda4: 0x13a3, 0xda5: 0x13a7, 0xda6: 0x13ff, 0xda7: 0x1407, 0xda8: 0x14db, 0xda9: 0x151f,\n\t0xdaa: 0x1537, 0xdab: 0x0b9b, 0xdac: 0x171e, 0xdad: 0x11e3,\n\t0xdb0: 0x06df, 0xdb1: 0x07e3, 0xdb2: 0x07a3, 0xdb3: 0x074b, 0xdb4: 0x078b, 0xdb5: 0x07b7,\n\t0xdb6: 0x0847, 0xdb7: 0x0863, 0xdb8: 0x094b, 0xdb9: 0x0937, 0xdba: 0x0947, 0xdbb: 0x0963,\n\t0xdbc: 0x09af, 0xdbd: 0x09bf, 0xdbe: 0x0a03, 0xdbf: 0x0a0f,\n\t// Block 0x37, offset 0xdc0\n\t0xdc0: 0x0a2b, 0xdc1: 0x0a3b, 0xdc2: 0x0b23, 0xdc3: 0x0b2b, 0xdc4: 0x0b5b, 0xdc5: 0x0b7b,\n\t0xdc6: 0x0bab, 0xdc7: 0x0bc3, 0xdc8: 0x0bb3, 0xdc9: 0x0bd3, 0xdca: 0x0bc7, 0xdcb: 0x0beb,\n\t0xdcc: 0x0c07, 0xdcd: 0x0c5f, 0xdce: 0x0c6b, 0xdcf: 0x0c73, 0xdd0: 0x0c9b, 0xdd1: 0x0cdf,\n\t0xdd2: 0x0d0f, 0xdd3: 0x0d13, 0xdd4: 0x0d27, 0xdd5: 0x0da7, 0xdd6: 0x0db7, 0xdd7: 0x0e0f,\n\t0xdd8: 0x0e5b, 0xdd9: 0x0e53, 0xdda: 0x0e67, 0xddb: 0x0e83, 0xddc: 0x0ebb, 0xddd: 0x1013,\n\t0xdde: 0x0edf, 0xddf: 0x0f13, 0xde0: 0x0f1f, 0xde1: 0x0f5f, 0xde2: 0x0f7b, 0xde3: 0x0f9f,\n\t0xde4: 0x0fc3, 0xde5: 0x0fc7, 0xde6: 0x0fe3, 0xde7: 0x0fe7, 0xde8: 0x0ff7, 0xde9: 0x100b,\n\t0xdea: 0x1007, 0xdeb: 0x1037, 0xdec: 0x10b3, 0xded: 0x10cb, 0xdee: 0x10e3, 0xdef: 0x111b,\n\t0xdf0: 0x112f, 0xdf1: 0x114b, 0xdf2: 0x117b, 0xdf3: 0x122f, 0xdf4: 0x1257, 0xdf5: 0x12cb,\n\t0xdf6: 0x1313, 0xdf7: 0x131f, 0xdf8: 0x1327, 0xdf9: 0x133f, 0xdfa: 0x1353, 0xdfb: 0x1343,\n\t0xdfc: 0x135b, 0xdfd: 0x1357, 0xdfe: 0x134f, 0xdff: 0x135f,\n\t// Block 0x38, offset 0xe00\n\t0xe00: 0x136b, 0xe01: 0x13a7, 0xe02: 0x13e3, 0xe03: 0x1413, 0xe04: 0x144b, 0xe05: 0x146b,\n\t0xe06: 0x14b7, 0xe07: 0x14db, 0xe08: 0x14fb, 0xe09: 0x150f, 0xe0a: 0x151f, 0xe0b: 0x152b,\n\t0xe0c: 0x1537, 0xe0d: 0x158b, 0xe0e: 0x162b, 0xe0f: 0x16b5, 0xe10: 0x16b0, 0xe11: 0x16e2,\n\t0xe12: 0x0607, 0xe13: 0x062f, 0xe14: 0x0633, 0xe15: 0x1764, 0xe16: 0x1791, 0xe17: 0x1809,\n\t0xe18: 0x1617, 0xe19: 0x1627,\n\t// Block 0x39, offset 0xe40\n\t0xe40: 0x19d5, 0xe41: 0x19d8, 0xe42: 0x19db, 0xe43: 0x1c08, 0xe44: 0x1c0c, 0xe45: 0x1a5f,\n\t0xe46: 0x1a5f,\n\t0xe53: 0x1d75, 0xe54: 0x1d66, 0xe55: 0x1d6b, 0xe56: 0x1d7a, 0xe57: 0x1d70,\n\t0xe5d: 0x4390,\n\t0xe5e: 0x8115, 0xe5f: 0x4402, 0xe60: 0x022d, 0xe61: 0x0215, 0xe62: 0x021e, 0xe63: 0x0221,\n\t0xe64: 0x0224, 0xe65: 0x0227, 0xe66: 0x022a, 0xe67: 0x0230, 0xe68: 0x0233, 0xe69: 0x0017,\n\t0xe6a: 0x43f0, 0xe6b: 0x43f6, 0xe6c: 0x44f4, 0xe6d: 0x44fc, 0xe6e: 0x4348, 0xe6f: 0x434e,\n\t0xe70: 0x4354, 0xe71: 0x435a, 0xe72: 0x4366, 0xe73: 0x436c, 0xe74: 0x4372, 0xe75: 0x437e,\n\t0xe76: 0x4384, 0xe78: 0x438a, 0xe79: 0x4396, 0xe7a: 0x439c, 0xe7b: 0x43a2,\n\t0xe7c: 0x43ae, 0xe7e: 0x43b4,\n\t// Block 0x3a, offset 0xe80\n\t0xe80: 0x43ba, 0xe81: 0x43c0, 0xe83: 0x43c6, 0xe84: 0x43cc,\n\t0xe86: 0x43d8, 0xe87: 0x43de, 0xe88: 0x43e4, 0xe89: 0x43ea, 0xe8a: 0x43fc, 0xe8b: 0x4378,\n\t0xe8c: 0x4360, 0xe8d: 0x43a8, 0xe8e: 0x43d2, 0xe8f: 0x1d7f, 0xe90: 0x0299, 0xe91: 0x0299,\n\t0xe92: 0x02a2, 0xe93: 0x02a2, 0xe94: 0x02a2, 0xe95: 0x02a2, 0xe96: 0x02a5, 0xe97: 0x02a5,\n\t0xe98: 0x02a5, 0xe99: 0x02a5, 0xe9a: 0x02ab, 0xe9b: 0x02ab, 0xe9c: 0x02ab, 0xe9d: 0x02ab,\n\t0xe9e: 0x029f, 0xe9f: 0x029f, 0xea0: 0x029f, 0xea1: 0x029f, 0xea2: 0x02a8, 0xea3: 0x02a8,\n\t0xea4: 0x02a8, 0xea5: 0x02a8, 0xea6: 0x029c, 0xea7: 0x029c, 0xea8: 0x029c, 0xea9: 0x029c,\n\t0xeaa: 0x02cf, 0xeab: 0x02cf, 0xeac: 0x02cf, 0xead: 0x02cf, 0xeae: 0x02d2, 0xeaf: 0x02d2,\n\t0xeb0: 0x02d2, 0xeb1: 0x02d2, 0xeb2: 0x02b1, 0xeb3: 0x02b1, 0xeb4: 0x02b1, 0xeb5: 0x02b1,\n\t0xeb6: 0x02ae, 0xeb7: 0x02ae, 0xeb8: 0x02ae, 0xeb9: 0x02ae, 0xeba: 0x02b4, 0xebb: 0x02b4,\n\t0xebc: 0x02b4, 0xebd: 0x02b4, 0xebe: 0x02b7, 0xebf: 0x02b7,\n\t// Block 0x3b, offset 0xec0\n\t0xec0: 0x02b7, 0xec1: 0x02b7, 0xec2: 0x02c0, 0xec3: 0x02c0, 0xec4: 0x02bd, 0xec5: 0x02bd,\n\t0xec6: 0x02c3, 0xec7: 0x02c3, 0xec8: 0x02ba, 0xec9: 0x02ba, 0xeca: 0x02c9, 0xecb: 0x02c9,\n\t0xecc: 0x02c6, 0xecd: 0x02c6, 0xece: 0x02d5, 0xecf: 0x02d5, 0xed0: 0x02d5, 0xed1: 0x02d5,\n\t0xed2: 0x02db, 0xed3: 0x02db, 0xed4: 0x02db, 0xed5: 0x02db, 0xed6: 0x02e1, 0xed7: 0x02e1,\n\t0xed8: 0x02e1, 0xed9: 0x02e1, 0xeda: 0x02de, 0xedb: 0x02de, 0xedc: 0x02de, 0xedd: 0x02de,\n\t0xede: 0x02e4, 0xedf: 0x02e4, 0xee0: 0x02e7, 0xee1: 0x02e7, 0xee2: 0x02e7, 0xee3: 0x02e7,\n\t0xee4: 0x446e, 0xee5: 0x446e, 0xee6: 0x02ed, 0xee7: 0x02ed, 0xee8: 0x02ed, 0xee9: 0x02ed,\n\t0xeea: 0x02ea, 0xeeb: 0x02ea, 0xeec: 0x02ea, 0xeed: 0x02ea, 0xeee: 0x0308, 0xeef: 0x0308,\n\t0xef0: 0x4468, 0xef1: 0x4468,\n\t// Block 0x3c, offset 0xf00\n\t0xf13: 0x02d8, 0xf14: 0x02d8, 0xf15: 0x02d8, 0xf16: 0x02d8, 0xf17: 0x02f6,\n\t0xf18: 0x02f6, 0xf19: 0x02f3, 0xf1a: 0x02f3, 0xf1b: 0x02f9, 0xf1c: 0x02f9, 0xf1d: 0x204f,\n\t0xf1e: 0x02ff, 0xf1f: 0x02ff, 0xf20: 0x02f0, 0xf21: 0x02f0, 0xf22: 0x02fc, 0xf23: 0x02fc,\n\t0xf24: 0x0305, 0xf25: 0x0305, 0xf26: 0x0305, 0xf27: 0x0305, 0xf28: 0x028d, 0xf29: 0x028d,\n\t0xf2a: 0x25aa, 0xf2b: 0x25aa, 0xf2c: 0x261a, 0xf2d: 0x261a, 0xf2e: 0x25e9, 0xf2f: 0x25e9,\n\t0xf30: 0x2605, 0xf31: 0x2605, 0xf32: 0x25fe, 0xf33: 0x25fe, 0xf34: 0x260c, 0xf35: 0x260c,\n\t0xf36: 0x2613, 0xf37: 0x2613, 0xf38: 0x2613, 0xf39: 0x25f0, 0xf3a: 0x25f0, 0xf3b: 0x25f0,\n\t0xf3c: 0x0302, 0xf3d: 0x0302, 0xf3e: 0x0302, 0xf3f: 0x0302,\n\t// Block 0x3d, offset 0xf40\n\t0xf40: 0x25b1, 0xf41: 0x25b8, 0xf42: 0x25d4, 0xf43: 0x25f0, 0xf44: 0x25f7, 0xf45: 0x1d89,\n\t0xf46: 0x1d8e, 0xf47: 0x1d93, 0xf48: 0x1da2, 0xf49: 0x1db1, 0xf4a: 0x1db6, 0xf4b: 0x1dbb,\n\t0xf4c: 0x1dc0, 0xf4d: 0x1dc5, 0xf4e: 0x1dd4, 0xf4f: 0x1de3, 0xf50: 0x1de8, 0xf51: 0x1ded,\n\t0xf52: 0x1dfc, 0xf53: 0x1e0b, 0xf54: 0x1e10, 0xf55: 0x1e15, 0xf56: 0x1e1a, 0xf57: 0x1e29,\n\t0xf58: 0x1e2e, 0xf59: 0x1e3d, 0xf5a: 0x1e42, 0xf5b: 0x1e47, 0xf5c: 0x1e56, 0xf5d: 0x1e5b,\n\t0xf5e: 0x1e60, 0xf5f: 0x1e6a, 0xf60: 0x1ea6, 0xf61: 0x1eb5, 0xf62: 0x1ec4, 0xf63: 0x1ec9,\n\t0xf64: 0x1ece, 0xf65: 0x1ed8, 0xf66: 0x1ee7, 0xf67: 0x1eec, 0xf68: 0x1efb, 0xf69: 0x1f00,\n\t0xf6a: 0x1f05, 0xf6b: 0x1f14, 0xf6c: 0x1f19, 0xf6d: 0x1f28, 0xf6e: 0x1f2d, 0xf6f: 0x1f32,\n\t0xf70: 0x1f37, 0xf71: 0x1f3c, 0xf72: 0x1f41, 0xf73: 0x1f46, 0xf74: 0x1f4b, 0xf75: 0x1f50,\n\t0xf76: 0x1f55, 0xf77: 0x1f5a, 0xf78: 0x1f5f, 0xf79: 0x1f64, 0xf7a: 0x1f69, 0xf7b: 0x1f6e,\n\t0xf7c: 0x1f73, 0xf7d: 0x1f78, 0xf7e: 0x1f7d, 0xf7f: 0x1f87,\n\t// Block 0x3e, offset 0xf80\n\t0xf80: 0x1f8c, 0xf81: 0x1f91, 0xf82: 0x1f96, 0xf83: 0x1fa0, 0xf84: 0x1fa5, 0xf85: 0x1faf,\n\t0xf86: 0x1fb4, 0xf87: 0x1fb9, 0xf88: 0x1fbe, 0xf89: 0x1fc3, 0xf8a: 0x1fc8, 0xf8b: 0x1fcd,\n\t0xf8c: 0x1fd2, 0xf8d: 0x1fd7, 0xf8e: 0x1fe6, 0xf8f: 0x1ff5, 0xf90: 0x1ffa, 0xf91: 0x1fff,\n\t0xf92: 0x2004, 0xf93: 0x2009, 0xf94: 0x200e, 0xf95: 0x2018, 0xf96: 0x201d, 0xf97: 0x2022,\n\t0xf98: 0x2031, 0xf99: 0x2040, 0xf9a: 0x2045, 0xf9b: 0x4420, 0xf9c: 0x4426, 0xf9d: 0x445c,\n\t0xf9e: 0x44b3, 0xf9f: 0x44ba, 0xfa0: 0x44c1, 0xfa1: 0x44c8, 0xfa2: 0x44cf, 0xfa3: 0x44d6,\n\t0xfa4: 0x25c6, 0xfa5: 0x25cd, 0xfa6: 0x25d4, 0xfa7: 0x25db, 0xfa8: 0x25f0, 0xfa9: 0x25f7,\n\t0xfaa: 0x1d98, 0xfab: 0x1d9d, 0xfac: 0x1da2, 0xfad: 0x1da7, 0xfae: 0x1db1, 0xfaf: 0x1db6,\n\t0xfb0: 0x1dca, 0xfb1: 0x1dcf, 0xfb2: 0x1dd4, 0xfb3: 0x1dd9, 0xfb4: 0x1de3, 0xfb5: 0x1de8,\n\t0xfb6: 0x1df2, 0xfb7: 0x1df7, 0xfb8: 0x1dfc, 0xfb9: 0x1e01, 0xfba: 0x1e0b, 0xfbb: 0x1e10,\n\t0xfbc: 0x1f3c, 0xfbd: 0x1f41, 0xfbe: 0x1f50, 0xfbf: 0x1f55,\n\t// Block 0x3f, offset 0xfc0\n\t0xfc0: 0x1f5a, 0xfc1: 0x1f6e, 0xfc2: 0x1f73, 0xfc3: 0x1f78, 0xfc4: 0x1f7d, 0xfc5: 0x1f96,\n\t0xfc6: 0x1fa0, 0xfc7: 0x1fa5, 0xfc8: 0x1faa, 0xfc9: 0x1fbe, 0xfca: 0x1fdc, 0xfcb: 0x1fe1,\n\t0xfcc: 0x1fe6, 0xfcd: 0x1feb, 0xfce: 0x1ff5, 0xfcf: 0x1ffa, 0xfd0: 0x445c, 0xfd1: 0x2027,\n\t0xfd2: 0x202c, 0xfd3: 0x2031, 0xfd4: 0x2036, 0xfd5: 0x2040, 0xfd6: 0x2045, 0xfd7: 0x25b1,\n\t0xfd8: 0x25b8, 0xfd9: 0x25bf, 0xfda: 0x25d4, 0xfdb: 0x25e2, 0xfdc: 0x1d89, 0xfdd: 0x1d8e,\n\t0xfde: 0x1d93, 0xfdf: 0x1da2, 0xfe0: 0x1dac, 0xfe1: 0x1dbb, 0xfe2: 0x1dc0, 0xfe3: 0x1dc5,\n\t0xfe4: 0x1dd4, 0xfe5: 0x1dde, 0xfe6: 0x1dfc, 0xfe7: 0x1e15, 0xfe8: 0x1e1a, 0xfe9: 0x1e29,\n\t0xfea: 0x1e2e, 0xfeb: 0x1e3d, 0xfec: 0x1e47, 0xfed: 0x1e56, 0xfee: 0x1e5b, 0xfef: 0x1e60,\n\t0xff0: 0x1e6a, 0xff1: 0x1ea6, 0xff2: 0x1eab, 0xff3: 0x1eb5, 0xff4: 0x1ec4, 0xff5: 0x1ec9,\n\t0xff6: 0x1ece, 0xff7: 0x1ed8, 0xff8: 0x1ee7, 0xff9: 0x1efb, 0xffa: 0x1f00, 0xffb: 0x1f05,\n\t0xffc: 0x1f14, 0xffd: 0x1f19, 0xffe: 0x1f28, 0xfff: 0x1f2d,\n\t// Block 0x40, offset 0x1000\n\t0x1000: 0x1f32, 0x1001: 0x1f37, 0x1002: 0x1f46, 0x1003: 0x1f4b, 0x1004: 0x1f5f, 0x1005: 0x1f64,\n\t0x1006: 0x1f69, 0x1007: 0x1f6e, 0x1008: 0x1f73, 0x1009: 0x1f87, 0x100a: 0x1f8c, 0x100b: 0x1f91,\n\t0x100c: 0x1f96, 0x100d: 0x1f9b, 0x100e: 0x1faf, 0x100f: 0x1fb4, 0x1010: 0x1fb9, 0x1011: 0x1fbe,\n\t0x1012: 0x1fcd, 0x1013: 0x1fd2, 0x1014: 0x1fd7, 0x1015: 0x1fe6, 0x1016: 0x1ff0, 0x1017: 0x1fff,\n\t0x1018: 0x2004, 0x1019: 0x4450, 0x101a: 0x2018, 0x101b: 0x201d, 0x101c: 0x2022, 0x101d: 0x2031,\n\t0x101e: 0x203b, 0x101f: 0x25d4, 0x1020: 0x25e2, 0x1021: 0x1da2, 0x1022: 0x1dac, 0x1023: 0x1dd4,\n\t0x1024: 0x1dde, 0x1025: 0x1dfc, 0x1026: 0x1e06, 0x1027: 0x1e6a, 0x1028: 0x1e6f, 0x1029: 0x1e92,\n\t0x102a: 0x1e97, 0x102b: 0x1f6e, 0x102c: 0x1f73, 0x102d: 0x1f96, 0x102e: 0x1fe6, 0x102f: 0x1ff0,\n\t0x1030: 0x2031, 0x1031: 0x203b, 0x1032: 0x4504, 0x1033: 0x450c, 0x1034: 0x4514, 0x1035: 0x1ef1,\n\t0x1036: 0x1ef6, 0x1037: 0x1f0a, 0x1038: 0x1f0f, 0x1039: 0x1f1e, 0x103a: 0x1f23, 0x103b: 0x1e74,\n\t0x103c: 0x1e79, 0x103d: 0x1e9c, 0x103e: 0x1ea1, 0x103f: 0x1e33,\n\t// Block 0x41, offset 0x1040\n\t0x1040: 0x1e38, 0x1041: 0x1e1f, 0x1042: 0x1e24, 0x1043: 0x1e4c, 0x1044: 0x1e51, 0x1045: 0x1eba,\n\t0x1046: 0x1ebf, 0x1047: 0x1edd, 0x1048: 0x1ee2, 0x1049: 0x1e7e, 0x104a: 0x1e83, 0x104b: 0x1e88,\n\t0x104c: 0x1e92, 0x104d: 0x1e8d, 0x104e: 0x1e65, 0x104f: 0x1eb0, 0x1050: 0x1ed3, 0x1051: 0x1ef1,\n\t0x1052: 0x1ef6, 0x1053: 0x1f0a, 0x1054: 0x1f0f, 0x1055: 0x1f1e, 0x1056: 0x1f23, 0x1057: 0x1e74,\n\t0x1058: 0x1e79, 0x1059: 0x1e9c, 0x105a: 0x1ea1, 0x105b: 0x1e33, 0x105c: 0x1e38, 0x105d: 0x1e1f,\n\t0x105e: 0x1e24, 0x105f: 0x1e4c, 0x1060: 0x1e51, 0x1061: 0x1eba, 0x1062: 0x1ebf, 0x1063: 0x1edd,\n\t0x1064: 0x1ee2, 0x1065: 0x1e7e, 0x1066: 0x1e83, 0x1067: 0x1e88, 0x1068: 0x1e92, 0x1069: 0x1e8d,\n\t0x106a: 0x1e65, 0x106b: 0x1eb0, 0x106c: 0x1ed3, 0x106d: 0x1e7e, 0x106e: 0x1e83, 0x106f: 0x1e88,\n\t0x1070: 0x1e92, 0x1071: 0x1e6f, 0x1072: 0x1e97, 0x1073: 0x1eec, 0x1074: 0x1e56, 0x1075: 0x1e5b,\n\t0x1076: 0x1e60, 0x1077: 0x1e7e, 0x1078: 0x1e83, 0x1079: 0x1e88, 0x107a: 0x1eec, 0x107b: 0x1efb,\n\t0x107c: 0x4408, 0x107d: 0x4408,\n\t// Block 0x42, offset 0x1080\n\t0x1090: 0x2311, 0x1091: 0x2326,\n\t0x1092: 0x2326, 0x1093: 0x232d, 0x1094: 0x2334, 0x1095: 0x2349, 0x1096: 0x2350, 0x1097: 0x2357,\n\t0x1098: 0x237a, 0x1099: 0x237a, 0x109a: 0x239d, 0x109b: 0x2396, 0x109c: 0x23b2, 0x109d: 0x23a4,\n\t0x109e: 0x23ab, 0x109f: 0x23ce, 0x10a0: 0x23ce, 0x10a1: 0x23c7, 0x10a2: 0x23d5, 0x10a3: 0x23d5,\n\t0x10a4: 0x23ff, 0x10a5: 0x23ff, 0x10a6: 0x241b, 0x10a7: 0x23e3, 0x10a8: 0x23e3, 0x10a9: 0x23dc,\n\t0x10aa: 0x23f1, 0x10ab: 0x23f1, 0x10ac: 0x23f8, 0x10ad: 0x23f8, 0x10ae: 0x2422, 0x10af: 0x2430,\n\t0x10b0: 0x2430, 0x10b1: 0x2437, 0x10b2: 0x2437, 0x10b3: 0x243e, 0x10b4: 0x2445, 0x10b5: 0x244c,\n\t0x10b6: 0x2453, 0x10b7: 0x2453, 0x10b8: 0x245a, 0x10b9: 0x2468, 0x10ba: 0x2476, 0x10bb: 0x246f,\n\t0x10bc: 0x247d, 0x10bd: 0x247d, 0x10be: 0x2492, 0x10bf: 0x2499,\n\t// Block 0x43, offset 0x10c0\n\t0x10c0: 0x24ca, 0x10c1: 0x24d8, 0x10c2: 0x24d1, 0x10c3: 0x24b5, 0x10c4: 0x24b5, 0x10c5: 0x24df,\n\t0x10c6: 0x24df, 0x10c7: 0x24e6, 0x10c8: 0x24e6, 0x10c9: 0x2510, 0x10ca: 0x2517, 0x10cb: 0x251e,\n\t0x10cc: 0x24f4, 0x10cd: 0x2502, 0x10ce: 0x2525, 0x10cf: 0x252c,\n\t0x10d2: 0x24fb, 0x10d3: 0x2580, 0x10d4: 0x2587, 0x10d5: 0x255d, 0x10d6: 0x2564, 0x10d7: 0x2548,\n\t0x10d8: 0x2548, 0x10d9: 0x254f, 0x10da: 0x2579, 0x10db: 0x2572, 0x10dc: 0x259c, 0x10dd: 0x259c,\n\t0x10de: 0x230a, 0x10df: 0x231f, 0x10e0: 0x2318, 0x10e1: 0x2342, 0x10e2: 0x233b, 0x10e3: 0x2365,\n\t0x10e4: 0x235e, 0x10e5: 0x2388, 0x10e6: 0x236c, 0x10e7: 0x2381, 0x10e8: 0x23b9, 0x10e9: 0x2406,\n\t0x10ea: 0x23ea, 0x10eb: 0x2429, 0x10ec: 0x24c3, 0x10ed: 0x24ed, 0x10ee: 0x2595, 0x10ef: 0x258e,\n\t0x10f0: 0x25a3, 0x10f1: 0x253a, 0x10f2: 0x24a0, 0x10f3: 0x256b, 0x10f4: 0x2492, 0x10f5: 0x24ca,\n\t0x10f6: 0x2461, 0x10f7: 0x24ae, 0x10f8: 0x2541, 0x10f9: 0x2533, 0x10fa: 0x24bc, 0x10fb: 0x24a7,\n\t0x10fc: 0x24bc, 0x10fd: 0x2541, 0x10fe: 0x2373, 0x10ff: 0x238f,\n\t// Block 0x44, offset 0x1100\n\t0x1100: 0x2509, 0x1101: 0x2484, 0x1102: 0x2303, 0x1103: 0x24a7, 0x1104: 0x244c, 0x1105: 0x241b,\n\t0x1106: 0x23c0, 0x1107: 0x2556,\n\t0x1130: 0x2414, 0x1131: 0x248b, 0x1132: 0x27bf, 0x1133: 0x27b6, 0x1134: 0x27ec, 0x1135: 0x27da,\n\t0x1136: 0x27c8, 0x1137: 0x27e3, 0x1138: 0x27f5, 0x1139: 0x240d, 0x113a: 0x2c7c, 0x113b: 0x2afc,\n\t0x113c: 0x27d1,\n\t// Block 0x45, offset 0x1140\n\t0x1150: 0x0019, 0x1151: 0x0483,\n\t0x1152: 0x0487, 0x1153: 0x0035, 0x1154: 0x0037, 0x1155: 0x0003, 0x1156: 0x003f, 0x1157: 0x04bf,\n\t0x1158: 0x04c3, 0x1159: 0x1b5c,\n\t0x1160: 0x8132, 0x1161: 0x8132, 0x1162: 0x8132, 0x1163: 0x8132,\n\t0x1164: 0x8132, 0x1165: 0x8132, 0x1166: 0x8132, 0x1167: 0x812d, 0x1168: 0x812d, 0x1169: 0x812d,\n\t0x116a: 0x812d, 0x116b: 0x812d, 0x116c: 0x812d, 0x116d: 0x812d, 0x116e: 0x8132, 0x116f: 0x8132,\n\t0x1170: 0x1873, 0x1171: 0x0443, 0x1172: 0x043f, 0x1173: 0x007f, 0x1174: 0x007f, 0x1175: 0x0011,\n\t0x1176: 0x0013, 0x1177: 0x00b7, 0x1178: 0x00bb, 0x1179: 0x04b7, 0x117a: 0x04bb, 0x117b: 0x04ab,\n\t0x117c: 0x04af, 0x117d: 0x0493, 0x117e: 0x0497, 0x117f: 0x048b,\n\t// Block 0x46, offset 0x1180\n\t0x1180: 0x048f, 0x1181: 0x049b, 0x1182: 0x049f, 0x1183: 0x04a3, 0x1184: 0x04a7,\n\t0x1187: 0x0077, 0x1188: 0x007b, 0x1189: 0x4269, 0x118a: 0x4269, 0x118b: 0x4269,\n\t0x118c: 0x4269, 0x118d: 0x007f, 0x118e: 0x007f, 0x118f: 0x007f, 0x1190: 0x0019, 0x1191: 0x0483,\n\t0x1192: 0x001d, 0x1194: 0x0037, 0x1195: 0x0035, 0x1196: 0x003f, 0x1197: 0x0003,\n\t0x1198: 0x0443, 0x1199: 0x0011, 0x119a: 0x0013, 0x119b: 0x00b7, 0x119c: 0x00bb, 0x119d: 0x04b7,\n\t0x119e: 0x04bb, 0x119f: 0x0007, 0x11a0: 0x000d, 0x11a1: 0x0015, 0x11a2: 0x0017, 0x11a3: 0x001b,\n\t0x11a4: 0x0039, 0x11a5: 0x003d, 0x11a6: 0x003b, 0x11a8: 0x0079, 0x11a9: 0x0009,\n\t0x11aa: 0x000b, 0x11ab: 0x0041,\n\t0x11b0: 0x42aa, 0x11b1: 0x442c, 0x11b2: 0x42af, 0x11b4: 0x42b4,\n\t0x11b6: 0x42b9, 0x11b7: 0x4432, 0x11b8: 0x42be, 0x11b9: 0x4438, 0x11ba: 0x42c3, 0x11bb: 0x443e,\n\t0x11bc: 0x42c8, 0x11bd: 0x4444, 0x11be: 0x42cd, 0x11bf: 0x444a,\n\t// Block 0x47, offset 0x11c0\n\t0x11c0: 0x0236, 0x11c1: 0x440e, 0x11c2: 0x440e, 0x11c3: 0x4414, 0x11c4: 0x4414, 0x11c5: 0x4456,\n\t0x11c6: 0x4456, 0x11c7: 0x441a, 0x11c8: 0x441a, 0x11c9: 0x4462, 0x11ca: 0x4462, 0x11cb: 0x4462,\n\t0x11cc: 0x4462, 0x11cd: 0x0239, 0x11ce: 0x0239, 0x11cf: 0x023c, 0x11d0: 0x023c, 0x11d1: 0x023c,\n\t0x11d2: 0x023c, 0x11d3: 0x023f, 0x11d4: 0x023f, 0x11d5: 0x0242, 0x11d6: 0x0242, 0x11d7: 0x0242,\n\t0x11d8: 0x0242, 0x11d9: 0x0245, 0x11da: 0x0245, 0x11db: 0x0245, 0x11dc: 0x0245, 0x11dd: 0x0248,\n\t0x11de: 0x0248, 0x11df: 0x0248, 0x11e0: 0x0248, 0x11e1: 0x024b, 0x11e2: 0x024b, 0x11e3: 0x024b,\n\t0x11e4: 0x024b, 0x11e5: 0x024e, 0x11e6: 0x024e, 0x11e7: 0x024e, 0x11e8: 0x024e, 0x11e9: 0x0251,\n\t0x11ea: 0x0251, 0x11eb: 0x0254, 0x11ec: 0x0254, 0x11ed: 0x0257, 0x11ee: 0x0257, 0x11ef: 0x025a,\n\t0x11f0: 0x025a, 0x11f1: 0x025d, 0x11f2: 0x025d, 0x11f3: 0x025d, 0x11f4: 0x025d, 0x11f5: 0x0260,\n\t0x11f6: 0x0260, 0x11f7: 0x0260, 0x11f8: 0x0260, 0x11f9: 0x0263, 0x11fa: 0x0263, 0x11fb: 0x0263,\n\t0x11fc: 0x0263, 0x11fd: 0x0266, 0x11fe: 0x0266, 0x11ff: 0x0266,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0x0266, 0x1201: 0x0269, 0x1202: 0x0269, 0x1203: 0x0269, 0x1204: 0x0269, 0x1205: 0x026c,\n\t0x1206: 0x026c, 0x1207: 0x026c, 0x1208: 0x026c, 0x1209: 0x026f, 0x120a: 0x026f, 0x120b: 0x026f,\n\t0x120c: 0x026f, 0x120d: 0x0272, 0x120e: 0x0272, 0x120f: 0x0272, 0x1210: 0x0272, 0x1211: 0x0275,\n\t0x1212: 0x0275, 0x1213: 0x0275, 0x1214: 0x0275, 0x1215: 0x0278, 0x1216: 0x0278, 0x1217: 0x0278,\n\t0x1218: 0x0278, 0x1219: 0x027b, 0x121a: 0x027b, 0x121b: 0x027b, 0x121c: 0x027b, 0x121d: 0x027e,\n\t0x121e: 0x027e, 0x121f: 0x027e, 0x1220: 0x027e, 0x1221: 0x0281, 0x1222: 0x0281, 0x1223: 0x0281,\n\t0x1224: 0x0281, 0x1225: 0x0284, 0x1226: 0x0284, 0x1227: 0x0284, 0x1228: 0x0284, 0x1229: 0x0287,\n\t0x122a: 0x0287, 0x122b: 0x0287, 0x122c: 0x0287, 0x122d: 0x028a, 0x122e: 0x028a, 0x122f: 0x028d,\n\t0x1230: 0x028d, 0x1231: 0x0290, 0x1232: 0x0290, 0x1233: 0x0290, 0x1234: 0x0290, 0x1235: 0x2e00,\n\t0x1236: 0x2e00, 0x1237: 0x2e08, 0x1238: 0x2e08, 0x1239: 0x2e10, 0x123a: 0x2e10, 0x123b: 0x1f82,\n\t0x123c: 0x1f82,\n\t// Block 0x49, offset 0x1240\n\t0x1240: 0x0081, 0x1241: 0x0083, 0x1242: 0x0085, 0x1243: 0x0087, 0x1244: 0x0089, 0x1245: 0x008b,\n\t0x1246: 0x008d, 0x1247: 0x008f, 0x1248: 0x0091, 0x1249: 0x0093, 0x124a: 0x0095, 0x124b: 0x0097,\n\t0x124c: 0x0099, 0x124d: 0x009b, 0x124e: 0x009d, 0x124f: 0x009f, 0x1250: 0x00a1, 0x1251: 0x00a3,\n\t0x1252: 0x00a5, 0x1253: 0x00a7, 0x1254: 0x00a9, 0x1255: 0x00ab, 0x1256: 0x00ad, 0x1257: 0x00af,\n\t0x1258: 0x00b1, 0x1259: 0x00b3, 0x125a: 0x00b5, 0x125b: 0x00b7, 0x125c: 0x00b9, 0x125d: 0x00bb,\n\t0x125e: 0x00bd, 0x125f: 0x0477, 0x1260: 0x047b, 0x1261: 0x0487, 0x1262: 0x049b, 0x1263: 0x049f,\n\t0x1264: 0x0483, 0x1265: 0x05ab, 0x1266: 0x05a3, 0x1267: 0x04c7, 0x1268: 0x04cf, 0x1269: 0x04d7,\n\t0x126a: 0x04df, 0x126b: 0x04e7, 0x126c: 0x056b, 0x126d: 0x0573, 0x126e: 0x057b, 0x126f: 0x051f,\n\t0x1270: 0x05af, 0x1271: 0x04cb, 0x1272: 0x04d3, 0x1273: 0x04db, 0x1274: 0x04e3, 0x1275: 0x04eb,\n\t0x1276: 0x04ef, 0x1277: 0x04f3, 0x1278: 0x04f7, 0x1279: 0x04fb, 0x127a: 0x04ff, 0x127b: 0x0503,\n\t0x127c: 0x0507, 0x127d: 0x050b, 0x127e: 0x050f, 0x127f: 0x0513,\n\t// Block 0x4a, offset 0x1280\n\t0x1280: 0x0517, 0x1281: 0x051b, 0x1282: 0x0523, 0x1283: 0x0527, 0x1284: 0x052b, 0x1285: 0x052f,\n\t0x1286: 0x0533, 0x1287: 0x0537, 0x1288: 0x053b, 0x1289: 0x053f, 0x128a: 0x0543, 0x128b: 0x0547,\n\t0x128c: 0x054b, 0x128d: 0x054f, 0x128e: 0x0553, 0x128f: 0x0557, 0x1290: 0x055b, 0x1291: 0x055f,\n\t0x1292: 0x0563, 0x1293: 0x0567, 0x1294: 0x056f, 0x1295: 0x0577, 0x1296: 0x057f, 0x1297: 0x0583,\n\t0x1298: 0x0587, 0x1299: 0x058b, 0x129a: 0x058f, 0x129b: 0x0593, 0x129c: 0x0597, 0x129d: 0x05a7,\n\t0x129e: 0x4a78, 0x129f: 0x4a7e, 0x12a0: 0x03c3, 0x12a1: 0x0313, 0x12a2: 0x0317, 0x12a3: 0x4a3b,\n\t0x12a4: 0x031b, 0x12a5: 0x4a41, 0x12a6: 0x4a47, 0x12a7: 0x031f, 0x12a8: 0x0323, 0x12a9: 0x0327,\n\t0x12aa: 0x4a4d, 0x12ab: 0x4a53, 0x12ac: 0x4a59, 0x12ad: 0x4a5f, 0x12ae: 0x4a65, 0x12af: 0x4a6b,\n\t0x12b0: 0x0367, 0x12b1: 0x032b, 0x12b2: 0x032f, 0x12b3: 0x0333, 0x12b4: 0x037b, 0x12b5: 0x0337,\n\t0x12b6: 0x033b, 0x12b7: 0x033f, 0x12b8: 0x0343, 0x12b9: 0x0347, 0x12ba: 0x034b, 0x12bb: 0x034f,\n\t0x12bc: 0x0353, 0x12bd: 0x0357, 0x12be: 0x035b,\n\t// Block 0x4b, offset 0x12c0\n\t0x12c2: 0x49bd, 0x12c3: 0x49c3, 0x12c4: 0x49c9, 0x12c5: 0x49cf,\n\t0x12c6: 0x49d5, 0x12c7: 0x49db, 0x12ca: 0x49e1, 0x12cb: 0x49e7,\n\t0x12cc: 0x49ed, 0x12cd: 0x49f3, 0x12ce: 0x49f9, 0x12cf: 0x49ff,\n\t0x12d2: 0x4a05, 0x12d3: 0x4a0b, 0x12d4: 0x4a11, 0x12d5: 0x4a17, 0x12d6: 0x4a1d, 0x12d7: 0x4a23,\n\t0x12da: 0x4a29, 0x12db: 0x4a2f, 0x12dc: 0x4a35,\n\t0x12e0: 0x00bf, 0x12e1: 0x00c2, 0x12e2: 0x00cb, 0x12e3: 0x4264,\n\t0x12e4: 0x00c8, 0x12e5: 0x00c5, 0x12e6: 0x0447, 0x12e8: 0x046b, 0x12e9: 0x044b,\n\t0x12ea: 0x044f, 0x12eb: 0x0453, 0x12ec: 0x0457, 0x12ed: 0x046f, 0x12ee: 0x0473,\n\t// Block 0x4c, offset 0x1300\n\t0x1300: 0x0063, 0x1301: 0x0065, 0x1302: 0x0067, 0x1303: 0x0069, 0x1304: 0x006b, 0x1305: 0x006d,\n\t0x1306: 0x006f, 0x1307: 0x0071, 0x1308: 0x0073, 0x1309: 0x0075, 0x130a: 0x0083, 0x130b: 0x0085,\n\t0x130c: 0x0087, 0x130d: 0x0089, 0x130e: 0x008b, 0x130f: 0x008d, 0x1310: 0x008f, 0x1311: 0x0091,\n\t0x1312: 0x0093, 0x1313: 0x0095, 0x1314: 0x0097, 0x1315: 0x0099, 0x1316: 0x009b, 0x1317: 0x009d,\n\t0x1318: 0x009f, 0x1319: 0x00a1, 0x131a: 0x00a3, 0x131b: 0x00a5, 0x131c: 0x00a7, 0x131d: 0x00a9,\n\t0x131e: 0x00ab, 0x131f: 0x00ad, 0x1320: 0x00af, 0x1321: 0x00b1, 0x1322: 0x00b3, 0x1323: 0x00b5,\n\t0x1324: 0x00dd, 0x1325: 0x00f2, 0x1328: 0x0173, 0x1329: 0x0176,\n\t0x132a: 0x0179, 0x132b: 0x017c, 0x132c: 0x017f, 0x132d: 0x0182, 0x132e: 0x0185, 0x132f: 0x0188,\n\t0x1330: 0x018b, 0x1331: 0x018e, 0x1332: 0x0191, 0x1333: 0x0194, 0x1334: 0x0197, 0x1335: 0x019a,\n\t0x1336: 0x019d, 0x1337: 0x01a0, 0x1338: 0x01a3, 0x1339: 0x0188, 0x133a: 0x01a6, 0x133b: 0x01a9,\n\t0x133c: 0x01ac, 0x133d: 0x01af, 0x133e: 0x01b2, 0x133f: 0x01b5,\n\t// Block 0x4d, offset 0x1340\n\t0x1340: 0x01fd, 0x1341: 0x0200, 0x1342: 0x0203, 0x1343: 0x045b, 0x1344: 0x01c7, 0x1345: 0x01d0,\n\t0x1346: 0x01d6, 0x1347: 0x01fa, 0x1348: 0x01eb, 0x1349: 0x01e8, 0x134a: 0x0206, 0x134b: 0x0209,\n\t0x134e: 0x0021, 0x134f: 0x0023, 0x1350: 0x0025, 0x1351: 0x0027,\n\t0x1352: 0x0029, 0x1353: 0x002b, 0x1354: 0x002d, 0x1355: 0x002f, 0x1356: 0x0031, 0x1357: 0x0033,\n\t0x1358: 0x0021, 0x1359: 0x0023, 0x135a: 0x0025, 0x135b: 0x0027, 0x135c: 0x0029, 0x135d: 0x002b,\n\t0x135e: 0x002d, 0x135f: 0x002f, 0x1360: 0x0031, 0x1361: 0x0033, 0x1362: 0x0021, 0x1363: 0x0023,\n\t0x1364: 0x0025, 0x1365: 0x0027, 0x1366: 0x0029, 0x1367: 0x002b, 0x1368: 0x002d, 0x1369: 0x002f,\n\t0x136a: 0x0031, 0x136b: 0x0033, 0x136c: 0x0021, 0x136d: 0x0023, 0x136e: 0x0025, 0x136f: 0x0027,\n\t0x1370: 0x0029, 0x1371: 0x002b, 0x1372: 0x002d, 0x1373: 0x002f, 0x1374: 0x0031, 0x1375: 0x0033,\n\t0x1376: 0x0021, 0x1377: 0x0023, 0x1378: 0x0025, 0x1379: 0x0027, 0x137a: 0x0029, 0x137b: 0x002b,\n\t0x137c: 0x002d, 0x137d: 0x002f, 0x137e: 0x0031, 0x137f: 0x0033,\n\t// Block 0x4e, offset 0x1380\n\t0x1380: 0x0239, 0x1381: 0x023c, 0x1382: 0x0248, 0x1383: 0x0251, 0x1385: 0x028a,\n\t0x1386: 0x025a, 0x1387: 0x024b, 0x1388: 0x0269, 0x1389: 0x0290, 0x138a: 0x027b, 0x138b: 0x027e,\n\t0x138c: 0x0281, 0x138d: 0x0284, 0x138e: 0x025d, 0x138f: 0x026f, 0x1390: 0x0275, 0x1391: 0x0263,\n\t0x1392: 0x0278, 0x1393: 0x0257, 0x1394: 0x0260, 0x1395: 0x0242, 0x1396: 0x0245, 0x1397: 0x024e,\n\t0x1398: 0x0254, 0x1399: 0x0266, 0x139a: 0x026c, 0x139b: 0x0272, 0x139c: 0x0293, 0x139d: 0x02e4,\n\t0x139e: 0x02cc, 0x139f: 0x0296, 0x13a1: 0x023c, 0x13a2: 0x0248,\n\t0x13a4: 0x0287, 0x13a7: 0x024b, 0x13a9: 0x0290,\n\t0x13aa: 0x027b, 0x13ab: 0x027e, 0x13ac: 0x0281, 0x13ad: 0x0284, 0x13ae: 0x025d, 0x13af: 0x026f,\n\t0x13b0: 0x0275, 0x13b1: 0x0263, 0x13b2: 0x0278, 0x13b4: 0x0260, 0x13b5: 0x0242,\n\t0x13b6: 0x0245, 0x13b7: 0x024e, 0x13b9: 0x0266, 0x13bb: 0x0272,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c2: 0x0248,\n\t0x13c7: 0x024b, 0x13c9: 0x0290, 0x13cb: 0x027e,\n\t0x13cd: 0x0284, 0x13ce: 0x025d, 0x13cf: 0x026f, 0x13d1: 0x0263,\n\t0x13d2: 0x0278, 0x13d4: 0x0260, 0x13d7: 0x024e,\n\t0x13d9: 0x0266, 0x13db: 0x0272, 0x13dd: 0x02e4,\n\t0x13df: 0x0296, 0x13e1: 0x023c, 0x13e2: 0x0248,\n\t0x13e4: 0x0287, 0x13e7: 0x024b, 0x13e8: 0x0269, 0x13e9: 0x0290,\n\t0x13ea: 0x027b, 0x13ec: 0x0281, 0x13ed: 0x0284, 0x13ee: 0x025d, 0x13ef: 0x026f,\n\t0x13f0: 0x0275, 0x13f1: 0x0263, 0x13f2: 0x0278, 0x13f4: 0x0260, 0x13f5: 0x0242,\n\t0x13f6: 0x0245, 0x13f7: 0x024e, 0x13f9: 0x0266, 0x13fa: 0x026c, 0x13fb: 0x0272,\n\t0x13fc: 0x0293, 0x13fe: 0x02cc,\n\t// Block 0x50, offset 0x1400\n\t0x1400: 0x0239, 0x1401: 0x023c, 0x1402: 0x0248, 0x1403: 0x0251, 0x1404: 0x0287, 0x1405: 0x028a,\n\t0x1406: 0x025a, 0x1407: 0x024b, 0x1408: 0x0269, 0x1409: 0x0290, 0x140b: 0x027e,\n\t0x140c: 0x0281, 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1410: 0x0275, 0x1411: 0x0263,\n\t0x1412: 0x0278, 0x1413: 0x0257, 0x1414: 0x0260, 0x1415: 0x0242, 0x1416: 0x0245, 0x1417: 0x024e,\n\t0x1418: 0x0254, 0x1419: 0x0266, 0x141a: 0x026c, 0x141b: 0x0272,\n\t0x1421: 0x023c, 0x1422: 0x0248, 0x1423: 0x0251,\n\t0x1425: 0x028a, 0x1426: 0x025a, 0x1427: 0x024b, 0x1428: 0x0269, 0x1429: 0x0290,\n\t0x142b: 0x027e, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f,\n\t0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1433: 0x0257, 0x1434: 0x0260, 0x1435: 0x0242,\n\t0x1436: 0x0245, 0x1437: 0x024e, 0x1438: 0x0254, 0x1439: 0x0266, 0x143a: 0x026c, 0x143b: 0x0272,\n\t// Block 0x51, offset 0x1440\n\t0x1440: 0x1879, 0x1441: 0x1876, 0x1442: 0x187c, 0x1443: 0x18a0, 0x1444: 0x18c4, 0x1445: 0x18e8,\n\t0x1446: 0x190c, 0x1447: 0x1915, 0x1448: 0x191b, 0x1449: 0x1921, 0x144a: 0x1927,\n\t0x1450: 0x1a8c, 0x1451: 0x1a90,\n\t0x1452: 0x1a94, 0x1453: 0x1a98, 0x1454: 0x1a9c, 0x1455: 0x1aa0, 0x1456: 0x1aa4, 0x1457: 0x1aa8,\n\t0x1458: 0x1aac, 0x1459: 0x1ab0, 0x145a: 0x1ab4, 0x145b: 0x1ab8, 0x145c: 0x1abc, 0x145d: 0x1ac0,\n\t0x145e: 0x1ac4, 0x145f: 0x1ac8, 0x1460: 0x1acc, 0x1461: 0x1ad0, 0x1462: 0x1ad4, 0x1463: 0x1ad8,\n\t0x1464: 0x1adc, 0x1465: 0x1ae0, 0x1466: 0x1ae4, 0x1467: 0x1ae8, 0x1468: 0x1aec, 0x1469: 0x1af0,\n\t0x146a: 0x271e, 0x146b: 0x0047, 0x146c: 0x0065, 0x146d: 0x193c, 0x146e: 0x19b1,\n\t0x1470: 0x0043, 0x1471: 0x0045, 0x1472: 0x0047, 0x1473: 0x0049, 0x1474: 0x004b, 0x1475: 0x004d,\n\t0x1476: 0x004f, 0x1477: 0x0051, 0x1478: 0x0053, 0x1479: 0x0055, 0x147a: 0x0057, 0x147b: 0x0059,\n\t0x147c: 0x005b, 0x147d: 0x005d, 0x147e: 0x005f, 0x147f: 0x0061,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x26ad, 0x1481: 0x26c2, 0x1482: 0x0503,\n\t0x1490: 0x0c0f, 0x1491: 0x0a47,\n\t0x1492: 0x08d3, 0x1493: 0x45c4, 0x1494: 0x071b, 0x1495: 0x09ef, 0x1496: 0x132f, 0x1497: 0x09ff,\n\t0x1498: 0x0727, 0x1499: 0x0cd7, 0x149a: 0x0eaf, 0x149b: 0x0caf, 0x149c: 0x0827, 0x149d: 0x0b6b,\n\t0x149e: 0x07bf, 0x149f: 0x0cb7, 0x14a0: 0x0813, 0x14a1: 0x1117, 0x14a2: 0x0f83, 0x14a3: 0x138b,\n\t0x14a4: 0x09d3, 0x14a5: 0x090b, 0x14a6: 0x0e63, 0x14a7: 0x0c1b, 0x14a8: 0x0c47, 0x14a9: 0x06bf,\n\t0x14aa: 0x06cb, 0x14ab: 0x140b, 0x14ac: 0x0adb, 0x14ad: 0x06e7, 0x14ae: 0x08ef, 0x14af: 0x0c3b,\n\t0x14b0: 0x13b3, 0x14b1: 0x0c13, 0x14b2: 0x106f, 0x14b3: 0x10ab, 0x14b4: 0x08f7, 0x14b5: 0x0e43,\n\t0x14b6: 0x0d0b, 0x14b7: 0x0d07, 0x14b8: 0x0f97, 0x14b9: 0x082b, 0x14ba: 0x0957, 0x14bb: 0x1443,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x06fb, 0x14c1: 0x06f3, 0x14c2: 0x0703, 0x14c3: 0x1647, 0x14c4: 0x0747, 0x14c5: 0x0757,\n\t0x14c6: 0x075b, 0x14c7: 0x0763, 0x14c8: 0x076b, 0x14c9: 0x076f, 0x14ca: 0x077b, 0x14cb: 0x0773,\n\t0x14cc: 0x05b3, 0x14cd: 0x165b, 0x14ce: 0x078f, 0x14cf: 0x0793, 0x14d0: 0x0797, 0x14d1: 0x07b3,\n\t0x14d2: 0x164c, 0x14d3: 0x05b7, 0x14d4: 0x079f, 0x14d5: 0x07bf, 0x14d6: 0x1656, 0x14d7: 0x07cf,\n\t0x14d8: 0x07d7, 0x14d9: 0x0737, 0x14da: 0x07df, 0x14db: 0x07e3, 0x14dc: 0x1831, 0x14dd: 0x07ff,\n\t0x14de: 0x0807, 0x14df: 0x05bf, 0x14e0: 0x081f, 0x14e1: 0x0823, 0x14e2: 0x082b, 0x14e3: 0x082f,\n\t0x14e4: 0x05c3, 0x14e5: 0x0847, 0x14e6: 0x084b, 0x14e7: 0x0857, 0x14e8: 0x0863, 0x14e9: 0x0867,\n\t0x14ea: 0x086b, 0x14eb: 0x0873, 0x14ec: 0x0893, 0x14ed: 0x0897, 0x14ee: 0x089f, 0x14ef: 0x08af,\n\t0x14f0: 0x08b7, 0x14f1: 0x08bb, 0x14f2: 0x08bb, 0x14f3: 0x08bb, 0x14f4: 0x166a, 0x14f5: 0x0e93,\n\t0x14f6: 0x08cf, 0x14f7: 0x08d7, 0x14f8: 0x166f, 0x14f9: 0x08e3, 0x14fa: 0x08eb, 0x14fb: 0x08f3,\n\t0x14fc: 0x091b, 0x14fd: 0x0907, 0x14fe: 0x0913, 0x14ff: 0x0917,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0x091f, 0x1501: 0x0927, 0x1502: 0x092b, 0x1503: 0x0933, 0x1504: 0x093b, 0x1505: 0x093f,\n\t0x1506: 0x093f, 0x1507: 0x0947, 0x1508: 0x094f, 0x1509: 0x0953, 0x150a: 0x095f, 0x150b: 0x0983,\n\t0x150c: 0x0967, 0x150d: 0x0987, 0x150e: 0x096b, 0x150f: 0x0973, 0x1510: 0x080b, 0x1511: 0x09cf,\n\t0x1512: 0x0997, 0x1513: 0x099b, 0x1514: 0x099f, 0x1515: 0x0993, 0x1516: 0x09a7, 0x1517: 0x09a3,\n\t0x1518: 0x09bb, 0x1519: 0x1674, 0x151a: 0x09d7, 0x151b: 0x09db, 0x151c: 0x09e3, 0x151d: 0x09ef,\n\t0x151e: 0x09f7, 0x151f: 0x0a13, 0x1520: 0x1679, 0x1521: 0x167e, 0x1522: 0x0a1f, 0x1523: 0x0a23,\n\t0x1524: 0x0a27, 0x1525: 0x0a1b, 0x1526: 0x0a2f, 0x1527: 0x05c7, 0x1528: 0x05cb, 0x1529: 0x0a37,\n\t0x152a: 0x0a3f, 0x152b: 0x0a3f, 0x152c: 0x1683, 0x152d: 0x0a5b, 0x152e: 0x0a5f, 0x152f: 0x0a63,\n\t0x1530: 0x0a6b, 0x1531: 0x1688, 0x1532: 0x0a73, 0x1533: 0x0a77, 0x1534: 0x0b4f, 0x1535: 0x0a7f,\n\t0x1536: 0x05cf, 0x1537: 0x0a8b, 0x1538: 0x0a9b, 0x1539: 0x0aa7, 0x153a: 0x0aa3, 0x153b: 0x1692,\n\t0x153c: 0x0aaf, 0x153d: 0x1697, 0x153e: 0x0abb, 0x153f: 0x0ab7,\n\t// Block 0x55, offset 0x1540\n\t0x1540: 0x0abf, 0x1541: 0x0acf, 0x1542: 0x0ad3, 0x1543: 0x05d3, 0x1544: 0x0ae3, 0x1545: 0x0aeb,\n\t0x1546: 0x0aef, 0x1547: 0x0af3, 0x1548: 0x05d7, 0x1549: 0x169c, 0x154a: 0x05db, 0x154b: 0x0b0f,\n\t0x154c: 0x0b13, 0x154d: 0x0b17, 0x154e: 0x0b1f, 0x154f: 0x1863, 0x1550: 0x0b37, 0x1551: 0x16a6,\n\t0x1552: 0x16a6, 0x1553: 0x11d7, 0x1554: 0x0b47, 0x1555: 0x0b47, 0x1556: 0x05df, 0x1557: 0x16c9,\n\t0x1558: 0x179b, 0x1559: 0x0b57, 0x155a: 0x0b5f, 0x155b: 0x05e3, 0x155c: 0x0b73, 0x155d: 0x0b83,\n\t0x155e: 0x0b87, 0x155f: 0x0b8f, 0x1560: 0x0b9f, 0x1561: 0x05eb, 0x1562: 0x05e7, 0x1563: 0x0ba3,\n\t0x1564: 0x16ab, 0x1565: 0x0ba7, 0x1566: 0x0bbb, 0x1567: 0x0bbf, 0x1568: 0x0bc3, 0x1569: 0x0bbf,\n\t0x156a: 0x0bcf, 0x156b: 0x0bd3, 0x156c: 0x0be3, 0x156d: 0x0bdb, 0x156e: 0x0bdf, 0x156f: 0x0be7,\n\t0x1570: 0x0beb, 0x1571: 0x0bef, 0x1572: 0x0bfb, 0x1573: 0x0bff, 0x1574: 0x0c17, 0x1575: 0x0c1f,\n\t0x1576: 0x0c2f, 0x1577: 0x0c43, 0x1578: 0x16ba, 0x1579: 0x0c3f, 0x157a: 0x0c33, 0x157b: 0x0c4b,\n\t0x157c: 0x0c53, 0x157d: 0x0c67, 0x157e: 0x16bf, 0x157f: 0x0c6f,\n\t// Block 0x56, offset 0x1580\n\t0x1580: 0x0c63, 0x1581: 0x0c5b, 0x1582: 0x05ef, 0x1583: 0x0c77, 0x1584: 0x0c7f, 0x1585: 0x0c87,\n\t0x1586: 0x0c7b, 0x1587: 0x05f3, 0x1588: 0x0c97, 0x1589: 0x0c9f, 0x158a: 0x16c4, 0x158b: 0x0ccb,\n\t0x158c: 0x0cff, 0x158d: 0x0cdb, 0x158e: 0x05ff, 0x158f: 0x0ce7, 0x1590: 0x05fb, 0x1591: 0x05f7,\n\t0x1592: 0x07c3, 0x1593: 0x07c7, 0x1594: 0x0d03, 0x1595: 0x0ceb, 0x1596: 0x11ab, 0x1597: 0x0663,\n\t0x1598: 0x0d0f, 0x1599: 0x0d13, 0x159a: 0x0d17, 0x159b: 0x0d2b, 0x159c: 0x0d23, 0x159d: 0x16dd,\n\t0x159e: 0x0603, 0x159f: 0x0d3f, 0x15a0: 0x0d33, 0x15a1: 0x0d4f, 0x15a2: 0x0d57, 0x15a3: 0x16e7,\n\t0x15a4: 0x0d5b, 0x15a5: 0x0d47, 0x15a6: 0x0d63, 0x15a7: 0x0607, 0x15a8: 0x0d67, 0x15a9: 0x0d6b,\n\t0x15aa: 0x0d6f, 0x15ab: 0x0d7b, 0x15ac: 0x16ec, 0x15ad: 0x0d83, 0x15ae: 0x060b, 0x15af: 0x0d8f,\n\t0x15b0: 0x16f1, 0x15b1: 0x0d93, 0x15b2: 0x060f, 0x15b3: 0x0d9f, 0x15b4: 0x0dab, 0x15b5: 0x0db7,\n\t0x15b6: 0x0dbb, 0x15b7: 0x16f6, 0x15b8: 0x168d, 0x15b9: 0x16fb, 0x15ba: 0x0ddb, 0x15bb: 0x1700,\n\t0x15bc: 0x0de7, 0x15bd: 0x0def, 0x15be: 0x0ddf, 0x15bf: 0x0dfb,\n\t// Block 0x57, offset 0x15c0\n\t0x15c0: 0x0e0b, 0x15c1: 0x0e1b, 0x15c2: 0x0e0f, 0x15c3: 0x0e13, 0x15c4: 0x0e1f, 0x15c5: 0x0e23,\n\t0x15c6: 0x1705, 0x15c7: 0x0e07, 0x15c8: 0x0e3b, 0x15c9: 0x0e3f, 0x15ca: 0x0613, 0x15cb: 0x0e53,\n\t0x15cc: 0x0e4f, 0x15cd: 0x170a, 0x15ce: 0x0e33, 0x15cf: 0x0e6f, 0x15d0: 0x170f, 0x15d1: 0x1714,\n\t0x15d2: 0x0e73, 0x15d3: 0x0e87, 0x15d4: 0x0e83, 0x15d5: 0x0e7f, 0x15d6: 0x0617, 0x15d7: 0x0e8b,\n\t0x15d8: 0x0e9b, 0x15d9: 0x0e97, 0x15da: 0x0ea3, 0x15db: 0x1651, 0x15dc: 0x0eb3, 0x15dd: 0x1719,\n\t0x15de: 0x0ebf, 0x15df: 0x1723, 0x15e0: 0x0ed3, 0x15e1: 0x0edf, 0x15e2: 0x0ef3, 0x15e3: 0x1728,\n\t0x15e4: 0x0f07, 0x15e5: 0x0f0b, 0x15e6: 0x172d, 0x15e7: 0x1732, 0x15e8: 0x0f27, 0x15e9: 0x0f37,\n\t0x15ea: 0x061b, 0x15eb: 0x0f3b, 0x15ec: 0x061f, 0x15ed: 0x061f, 0x15ee: 0x0f53, 0x15ef: 0x0f57,\n\t0x15f0: 0x0f5f, 0x15f1: 0x0f63, 0x15f2: 0x0f6f, 0x15f3: 0x0623, 0x15f4: 0x0f87, 0x15f5: 0x1737,\n\t0x15f6: 0x0fa3, 0x15f7: 0x173c, 0x15f8: 0x0faf, 0x15f9: 0x16a1, 0x15fa: 0x0fbf, 0x15fb: 0x1741,\n\t0x15fc: 0x1746, 0x15fd: 0x174b, 0x15fe: 0x0627, 0x15ff: 0x062b,\n\t// Block 0x58, offset 0x1600\n\t0x1600: 0x0ff7, 0x1601: 0x1755, 0x1602: 0x1750, 0x1603: 0x175a, 0x1604: 0x175f, 0x1605: 0x0fff,\n\t0x1606: 0x1003, 0x1607: 0x1003, 0x1608: 0x100b, 0x1609: 0x0633, 0x160a: 0x100f, 0x160b: 0x0637,\n\t0x160c: 0x063b, 0x160d: 0x1769, 0x160e: 0x1023, 0x160f: 0x102b, 0x1610: 0x1037, 0x1611: 0x063f,\n\t0x1612: 0x176e, 0x1613: 0x105b, 0x1614: 0x1773, 0x1615: 0x1778, 0x1616: 0x107b, 0x1617: 0x1093,\n\t0x1618: 0x0643, 0x1619: 0x109b, 0x161a: 0x109f, 0x161b: 0x10a3, 0x161c: 0x177d, 0x161d: 0x1782,\n\t0x161e: 0x1782, 0x161f: 0x10bb, 0x1620: 0x0647, 0x1621: 0x1787, 0x1622: 0x10cf, 0x1623: 0x10d3,\n\t0x1624: 0x064b, 0x1625: 0x178c, 0x1626: 0x10ef, 0x1627: 0x064f, 0x1628: 0x10ff, 0x1629: 0x10f7,\n\t0x162a: 0x1107, 0x162b: 0x1796, 0x162c: 0x111f, 0x162d: 0x0653, 0x162e: 0x112b, 0x162f: 0x1133,\n\t0x1630: 0x1143, 0x1631: 0x0657, 0x1632: 0x17a0, 0x1633: 0x17a5, 0x1634: 0x065b, 0x1635: 0x17aa,\n\t0x1636: 0x115b, 0x1637: 0x17af, 0x1638: 0x1167, 0x1639: 0x1173, 0x163a: 0x117b, 0x163b: 0x17b4,\n\t0x163c: 0x17b9, 0x163d: 0x118f, 0x163e: 0x17be, 0x163f: 0x1197,\n\t// Block 0x59, offset 0x1640\n\t0x1640: 0x16ce, 0x1641: 0x065f, 0x1642: 0x11af, 0x1643: 0x11b3, 0x1644: 0x0667, 0x1645: 0x11b7,\n\t0x1646: 0x0a33, 0x1647: 0x17c3, 0x1648: 0x17c8, 0x1649: 0x16d3, 0x164a: 0x16d8, 0x164b: 0x11d7,\n\t0x164c: 0x11db, 0x164d: 0x13f3, 0x164e: 0x066b, 0x164f: 0x1207, 0x1650: 0x1203, 0x1651: 0x120b,\n\t0x1652: 0x083f, 0x1653: 0x120f, 0x1654: 0x1213, 0x1655: 0x1217, 0x1656: 0x121f, 0x1657: 0x17cd,\n\t0x1658: 0x121b, 0x1659: 0x1223, 0x165a: 0x1237, 0x165b: 0x123b, 0x165c: 0x1227, 0x165d: 0x123f,\n\t0x165e: 0x1253, 0x165f: 0x1267, 0x1660: 0x1233, 0x1661: 0x1247, 0x1662: 0x124b, 0x1663: 0x124f,\n\t0x1664: 0x17d2, 0x1665: 0x17dc, 0x1666: 0x17d7, 0x1667: 0x066f, 0x1668: 0x126f, 0x1669: 0x1273,\n\t0x166a: 0x127b, 0x166b: 0x17f0, 0x166c: 0x127f, 0x166d: 0x17e1, 0x166e: 0x0673, 0x166f: 0x0677,\n\t0x1670: 0x17e6, 0x1671: 0x17eb, 0x1672: 0x067b, 0x1673: 0x129f, 0x1674: 0x12a3, 0x1675: 0x12a7,\n\t0x1676: 0x12ab, 0x1677: 0x12b7, 0x1678: 0x12b3, 0x1679: 0x12bf, 0x167a: 0x12bb, 0x167b: 0x12cb,\n\t0x167c: 0x12c3, 0x167d: 0x12c7, 0x167e: 0x12cf, 0x167f: 0x067f,\n\t// Block 0x5a, offset 0x1680\n\t0x1680: 0x12d7, 0x1681: 0x12db, 0x1682: 0x0683, 0x1683: 0x12eb, 0x1684: 0x12ef, 0x1685: 0x17f5,\n\t0x1686: 0x12fb, 0x1687: 0x12ff, 0x1688: 0x0687, 0x1689: 0x130b, 0x168a: 0x05bb, 0x168b: 0x17fa,\n\t0x168c: 0x17ff, 0x168d: 0x068b, 0x168e: 0x068f, 0x168f: 0x1337, 0x1690: 0x134f, 0x1691: 0x136b,\n\t0x1692: 0x137b, 0x1693: 0x1804, 0x1694: 0x138f, 0x1695: 0x1393, 0x1696: 0x13ab, 0x1697: 0x13b7,\n\t0x1698: 0x180e, 0x1699: 0x1660, 0x169a: 0x13c3, 0x169b: 0x13bf, 0x169c: 0x13cb, 0x169d: 0x1665,\n\t0x169e: 0x13d7, 0x169f: 0x13e3, 0x16a0: 0x1813, 0x16a1: 0x1818, 0x16a2: 0x1423, 0x16a3: 0x142f,\n\t0x16a4: 0x1437, 0x16a5: 0x181d, 0x16a6: 0x143b, 0x16a7: 0x1467, 0x16a8: 0x1473, 0x16a9: 0x1477,\n\t0x16aa: 0x146f, 0x16ab: 0x1483, 0x16ac: 0x1487, 0x16ad: 0x1822, 0x16ae: 0x1493, 0x16af: 0x0693,\n\t0x16b0: 0x149b, 0x16b1: 0x1827, 0x16b2: 0x0697, 0x16b3: 0x14d3, 0x16b4: 0x0ac3, 0x16b5: 0x14eb,\n\t0x16b6: 0x182c, 0x16b7: 0x1836, 0x16b8: 0x069b, 0x16b9: 0x069f, 0x16ba: 0x1513, 0x16bb: 0x183b,\n\t0x16bc: 0x06a3, 0x16bd: 0x1840, 0x16be: 0x152b, 0x16bf: 0x152b,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x1533, 0x16c1: 0x1845, 0x16c2: 0x154b, 0x16c3: 0x06a7, 0x16c4: 0x155b, 0x16c5: 0x1567,\n\t0x16c6: 0x156f, 0x16c7: 0x1577, 0x16c8: 0x06ab, 0x16c9: 0x184a, 0x16ca: 0x158b, 0x16cb: 0x15a7,\n\t0x16cc: 0x15b3, 0x16cd: 0x06af, 0x16ce: 0x06b3, 0x16cf: 0x15b7, 0x16d0: 0x184f, 0x16d1: 0x06b7,\n\t0x16d2: 0x1854, 0x16d3: 0x1859, 0x16d4: 0x185e, 0x16d5: 0x15db, 0x16d6: 0x06bb, 0x16d7: 0x15ef,\n\t0x16d8: 0x15f7, 0x16d9: 0x15fb, 0x16da: 0x1603, 0x16db: 0x160b, 0x16dc: 0x1613, 0x16dd: 0x1868,\n}\n\n// nfkcIndex: 22 blocks, 1408 entries, 1408 bytes\n// Block 0 is the zero block.\nvar nfkcIndex = [1408]uint8{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x5a, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5b, 0xc7: 0x04,\n\t0xc8: 0x05, 0xca: 0x5c, 0xcb: 0x5d, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09,\n\t0xd0: 0x0a, 0xd1: 0x5e, 0xd2: 0x5f, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x60,\n\t0xd8: 0x61, 0xd9: 0x0d, 0xdb: 0x62, 0xdc: 0x63, 0xdd: 0x64, 0xdf: 0x65,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05,\n\t0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a,\n\t0xf0: 0x13,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x66, 0x121: 0x67, 0x123: 0x68, 0x124: 0x69, 0x125: 0x6a, 0x126: 0x6b, 0x127: 0x6c,\n\t0x128: 0x6d, 0x129: 0x6e, 0x12a: 0x6f, 0x12b: 0x70, 0x12c: 0x6b, 0x12d: 0x71, 0x12e: 0x72, 0x12f: 0x73,\n\t0x131: 0x74, 0x132: 0x75, 0x133: 0x76, 0x134: 0x77, 0x135: 0x78, 0x137: 0x79,\n\t0x138: 0x7a, 0x139: 0x7b, 0x13a: 0x7c, 0x13b: 0x7d, 0x13c: 0x7e, 0x13d: 0x7f, 0x13e: 0x80, 0x13f: 0x81,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x82, 0x142: 0x83, 0x143: 0x84, 0x144: 0x85, 0x145: 0x86, 0x146: 0x87, 0x147: 0x88,\n\t0x14d: 0x89,\n\t0x15c: 0x8a, 0x15f: 0x8b,\n\t0x162: 0x8c, 0x164: 0x8d,\n\t0x168: 0x8e, 0x169: 0x8f, 0x16a: 0x90, 0x16c: 0x0e, 0x16d: 0x91, 0x16e: 0x92, 0x16f: 0x93,\n\t0x170: 0x94, 0x173: 0x95, 0x174: 0x96, 0x175: 0x0f, 0x176: 0x10, 0x177: 0x97,\n\t0x178: 0x11, 0x179: 0x12, 0x17a: 0x13, 0x17b: 0x14, 0x17c: 0x15, 0x17d: 0x16, 0x17e: 0x17, 0x17f: 0x18,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x19, 0x185: 0x1a, 0x186: 0x9c, 0x187: 0x9d,\n\t0x188: 0x9e, 0x189: 0x1b, 0x18a: 0x1c, 0x18b: 0x9f, 0x18c: 0xa0,\n\t0x191: 0x1d, 0x192: 0x1e, 0x193: 0xa1,\n\t0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4,\n\t0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8,\n\t0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x1f, 0x1bd: 0x20, 0x1be: 0x21, 0x1bf: 0xab,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0xac, 0x1c1: 0x22, 0x1c2: 0x23, 0x1c3: 0x24, 0x1c4: 0xad, 0x1c5: 0x25, 0x1c6: 0x26,\n\t0x1c8: 0x27, 0x1c9: 0x28, 0x1ca: 0x29, 0x1cb: 0x2a, 0x1cc: 0x2b, 0x1cd: 0x2c, 0x1ce: 0x2d, 0x1cf: 0x2e,\n\t// Block 0x8, offset 0x200\n\t0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2,\n\t0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8,\n\t0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc,\n\t0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd,\n\t0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe,\n\t// Block 0x9, offset 0x240\n\t0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf,\n\t0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0,\n\t0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1,\n\t0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2,\n\t0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3,\n\t0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd,\n\t0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe,\n\t0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf,\n\t// Block 0xa, offset 0x280\n\t0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0,\n\t0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1,\n\t0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2,\n\t0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3,\n\t0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd,\n\t0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe,\n\t0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf,\n\t0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1,\n\t0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2,\n\t0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3,\n\t0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4,\n\t// Block 0xc, offset 0x300\n\t0x324: 0x2f, 0x325: 0x30, 0x326: 0x31, 0x327: 0x32,\n\t0x328: 0x33, 0x329: 0x34, 0x32a: 0x35, 0x32b: 0x36, 0x32c: 0x37, 0x32d: 0x38, 0x32e: 0x39, 0x32f: 0x3a,\n\t0x330: 0x3b, 0x331: 0x3c, 0x332: 0x3d, 0x333: 0x3e, 0x334: 0x3f, 0x335: 0x40, 0x336: 0x41, 0x337: 0x42,\n\t0x338: 0x43, 0x339: 0x44, 0x33a: 0x45, 0x33b: 0x46, 0x33c: 0xc5, 0x33d: 0x47, 0x33e: 0x48, 0x33f: 0x49,\n\t// Block 0xd, offset 0x340\n\t0x347: 0xc6,\n\t0x34b: 0xc7, 0x34d: 0xc8,\n\t0x368: 0xc9, 0x36b: 0xca,\n\t// Block 0xe, offset 0x380\n\t0x381: 0xcb, 0x382: 0xcc, 0x384: 0xcd, 0x385: 0xb7, 0x387: 0xce,\n\t0x388: 0xcf, 0x38b: 0xd0, 0x38c: 0x6b, 0x38d: 0xd1,\n\t0x391: 0xd2, 0x392: 0xd3, 0x393: 0xd4, 0x396: 0xd5, 0x397: 0xd6,\n\t0x398: 0xd7, 0x39a: 0xd8, 0x39c: 0xd9,\n\t0x3b0: 0xd7,\n\t// Block 0xf, offset 0x3c0\n\t0x3eb: 0xda, 0x3ec: 0xdb,\n\t// Block 0x10, offset 0x400\n\t0x432: 0xdc,\n\t// Block 0x11, offset 0x440\n\t0x445: 0xdd, 0x446: 0xde, 0x447: 0xdf,\n\t0x449: 0xe0,\n\t0x450: 0xe1, 0x451: 0xe2, 0x452: 0xe3, 0x453: 0xe4, 0x454: 0xe5, 0x455: 0xe6, 0x456: 0xe7, 0x457: 0xe8,\n\t0x458: 0xe9, 0x459: 0xea, 0x45a: 0x4a, 0x45b: 0xeb, 0x45c: 0xec, 0x45d: 0xed, 0x45e: 0xee, 0x45f: 0x4b,\n\t// Block 0x12, offset 0x480\n\t0x480: 0xef,\n\t0x4a3: 0xf0, 0x4a5: 0xf1,\n\t0x4b8: 0x4c, 0x4b9: 0x4d, 0x4ba: 0x4e,\n\t// Block 0x13, offset 0x4c0\n\t0x4c4: 0x4f, 0x4c5: 0xf2, 0x4c6: 0xf3,\n\t0x4c8: 0x50, 0x4c9: 0xf4,\n\t// Block 0x14, offset 0x500\n\t0x520: 0x51, 0x521: 0x52, 0x522: 0x53, 0x523: 0x54, 0x524: 0x55, 0x525: 0x56, 0x526: 0x57, 0x527: 0x58,\n\t0x528: 0x59,\n\t// Block 0x15, offset 0x540\n\t0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d,\n\t0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11,\n\t0x56f: 0x12,\n}\n\n// nfkcSparseOffset: 155 entries, 310 bytes\nvar nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x6f, 0x74, 0x76, 0x87, 0x8f, 0x96, 0x99, 0xa0, 0xa4, 0xa8, 0xaa, 0xac, 0xb5, 0xb9, 0xc0, 0xc5, 0xc8, 0xd2, 0xd4, 0xdb, 0xe3, 0xe7, 0xe9, 0xec, 0xf0, 0xf6, 0x107, 0x113, 0x115, 0x11b, 0x11d, 0x11f, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12c, 0x12f, 0x131, 0x134, 0x137, 0x13b, 0x140, 0x149, 0x14b, 0x14e, 0x150, 0x15b, 0x166, 0x176, 0x184, 0x192, 0x1a2, 0x1b0, 0x1b7, 0x1bd, 0x1cc, 0x1d0, 0x1d2, 0x1d6, 0x1d8, 0x1db, 0x1dd, 0x1e0, 0x1e2, 0x1e5, 0x1e7, 0x1e9, 0x1eb, 0x1f7, 0x201, 0x20b, 0x20e, 0x212, 0x214, 0x216, 0x218, 0x21a, 0x21d, 0x21f, 0x221, 0x223, 0x225, 0x22b, 0x22e, 0x232, 0x234, 0x23b, 0x241, 0x247, 0x24f, 0x255, 0x25b, 0x261, 0x265, 0x267, 0x269, 0x26b, 0x26d, 0x273, 0x276, 0x279, 0x281, 0x288, 0x28b, 0x28e, 0x290, 0x298, 0x29b, 0x2a2, 0x2a5, 0x2ab, 0x2ad, 0x2af, 0x2b2, 0x2b4, 0x2b6, 0x2b8, 0x2ba, 0x2c7, 0x2d1, 0x2d3, 0x2d5, 0x2d9, 0x2de, 0x2ea, 0x2ef, 0x2f8, 0x2fe, 0x303, 0x307, 0x30c, 0x310, 0x320, 0x32e, 0x33c, 0x34a, 0x350, 0x352, 0x355, 0x35f, 0x361}\n\n// nfkcSparseValues: 875 entries, 3500 bytes\nvar nfkcSparseValues = [875]valueRange{\n\t// Block 0x0, offset 0x0\n\t{value: 0x0002, lo: 0x0d},\n\t{value: 0x0001, lo: 0xa0, hi: 0xa0},\n\t{value: 0x4278, lo: 0xa8, hi: 0xa8},\n\t{value: 0x0083, lo: 0xaa, hi: 0xaa},\n\t{value: 0x4264, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0025, lo: 0xb2, hi: 0xb3},\n\t{value: 0x425a, lo: 0xb4, hi: 0xb4},\n\t{value: 0x01dc, lo: 0xb5, hi: 0xb5},\n\t{value: 0x4291, lo: 0xb8, hi: 0xb8},\n\t{value: 0x0023, lo: 0xb9, hi: 0xb9},\n\t{value: 0x009f, lo: 0xba, hi: 0xba},\n\t{value: 0x221c, lo: 0xbc, hi: 0xbc},\n\t{value: 0x2210, lo: 0xbd, hi: 0xbd},\n\t{value: 0x22b2, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1, offset 0xe\n\t{value: 0x0091, lo: 0x03},\n\t{value: 0x46e2, lo: 0xa0, hi: 0xa1},\n\t{value: 0x4714, lo: 0xaf, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb7, hi: 0xb7},\n\t// Block 0x2, offset 0x12\n\t{value: 0x0003, lo: 0x08},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x0091, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0119, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0095, lo: 0xb2, hi: 0xb2},\n\t{value: 0x00a5, lo: 0xb3, hi: 0xb3},\n\t{value: 0x0143, lo: 0xb4, hi: 0xb6},\n\t{value: 0x00af, lo: 0xb7, hi: 0xb7},\n\t{value: 0x00b3, lo: 0xb8, hi: 0xb8},\n\t// Block 0x3, offset 0x1b\n\t{value: 0x000a, lo: 0x09},\n\t{value: 0x426e, lo: 0x98, hi: 0x98},\n\t{value: 0x4273, lo: 0x99, hi: 0x9a},\n\t{value: 0x4296, lo: 0x9b, hi: 0x9b},\n\t{value: 0x425f, lo: 0x9c, hi: 0x9c},\n\t{value: 0x4282, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0113, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0099, lo: 0xa1, hi: 0xa1},\n\t{value: 0x00a7, lo: 0xa2, hi: 0xa3},\n\t{value: 0x0167, lo: 0xa4, hi: 0xa4},\n\t// Block 0x4, offset 0x25\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0xa000, lo: 0x8d, hi: 0x8d},\n\t{value: 0x37a5, lo: 0x90, hi: 0x90},\n\t{value: 0x37b1, lo: 0x91, hi: 0x91},\n\t{value: 0x379f, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x96, hi: 0x96},\n\t{value: 0x3817, lo: 0x97, hi: 0x97},\n\t{value: 0x37e1, lo: 0x9c, hi: 0x9c},\n\t{value: 0x37c9, lo: 0x9d, hi: 0x9d},\n\t{value: 0x37f3, lo: 0x9e, hi: 0x9e},\n\t{value: 0xa000, lo: 0xb4, hi: 0xb5},\n\t{value: 0x381d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3823, lo: 0xb7, hi: 0xb7},\n\t// Block 0x5, offset 0x35\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x83, hi: 0x87},\n\t// Block 0x6, offset 0x37\n\t{value: 0x0001, lo: 0x04},\n\t{value: 0x8113, lo: 0x81, hi: 0x82},\n\t{value: 0x8132, lo: 0x84, hi: 0x84},\n\t{value: 0x812d, lo: 0x85, hi: 0x85},\n\t{value: 0x810d, lo: 0x87, hi: 0x87},\n\t// Block 0x7, offset 0x3c\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x97},\n\t{value: 0x8119, lo: 0x98, hi: 0x98},\n\t{value: 0x811a, lo: 0x99, hi: 0x99},\n\t{value: 0x811b, lo: 0x9a, hi: 0x9a},\n\t{value: 0x3841, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3847, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3853, lo: 0xa4, hi: 0xa4},\n\t{value: 0x384d, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3859, lo: 0xa6, hi: 0xa6},\n\t{value: 0xa000, lo: 0xa7, hi: 0xa7},\n\t// Block 0x8, offset 0x47\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x386b, lo: 0x80, hi: 0x80},\n\t{value: 0xa000, lo: 0x81, hi: 0x81},\n\t{value: 0x385f, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x3865, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x95, hi: 0x95},\n\t{value: 0x8132, lo: 0x96, hi: 0x9c},\n\t{value: 0x8132, lo: 0x9f, hi: 0xa2},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8132, lo: 0xab, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t// Block 0x9, offset 0x56\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x811f, lo: 0x91, hi: 0x91},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x812d, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb5, hi: 0xb6},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb9},\n\t{value: 0x8132, lo: 0xba, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbc},\n\t{value: 0x8132, lo: 0xbd, hi: 0xbd},\n\t{value: 0x812d, lo: 0xbe, hi: 0xbe},\n\t{value: 0x8132, lo: 0xbf, hi: 0xbf},\n\t// Block 0xa, offset 0x63\n\t{value: 0x0005, lo: 0x07},\n\t{value: 0x8132, lo: 0x80, hi: 0x80},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x812d, lo: 0x82, hi: 0x83},\n\t{value: 0x812d, lo: 0x84, hi: 0x85},\n\t{value: 0x812d, lo: 0x86, hi: 0x87},\n\t{value: 0x812d, lo: 0x88, hi: 0x89},\n\t{value: 0x8132, lo: 0x8a, hi: 0x8a},\n\t// Block 0xb, offset 0x6b\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8132, lo: 0xab, hi: 0xb1},\n\t{value: 0x812d, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb3},\n\t// Block 0xc, offset 0x6f\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0x96, hi: 0x99},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa7},\n\t{value: 0x8132, lo: 0xa9, hi: 0xad},\n\t// Block 0xd, offset 0x74\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x99, hi: 0x9b},\n\t// Block 0xe, offset 0x76\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x8132, lo: 0x94, hi: 0xa1},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8132, lo: 0xaa, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xaf},\n\t{value: 0x8116, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8117, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8118, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x812d, lo: 0xb9, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbf},\n\t// Block 0xf, offset 0x87\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3ed8, lo: 0xa9, hi: 0xa9},\n\t{value: 0xa000, lo: 0xb0, hi: 0xb0},\n\t{value: 0x3ee0, lo: 0xb1, hi: 0xb1},\n\t{value: 0xa000, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3ee8, lo: 0xb4, hi: 0xb4},\n\t{value: 0x9902, lo: 0xbc, hi: 0xbc},\n\t// Block 0x10, offset 0x8f\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x91, hi: 0x91},\n\t{value: 0x812d, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x93, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x94},\n\t{value: 0x451c, lo: 0x98, hi: 0x9f},\n\t// Block 0x11, offset 0x96\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x12, offset 0x99\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2c9e, lo: 0x8b, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x455c, lo: 0x9c, hi: 0x9d},\n\t{value: 0x456c, lo: 0x9f, hi: 0x9f},\n\t// Block 0x13, offset 0xa0\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x4594, lo: 0xb3, hi: 0xb3},\n\t{value: 0x459c, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x14, offset 0xa4\n\t{value: 0x0008, lo: 0x03},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x4574, lo: 0x99, hi: 0x9b},\n\t{value: 0x458c, lo: 0x9e, hi: 0x9e},\n\t// Block 0x15, offset 0xa8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x16, offset 0xaa\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t// Block 0x17, offset 0xac\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2cb6, lo: 0x88, hi: 0x88},\n\t{value: 0x2cae, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cbe, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x96, hi: 0x97},\n\t{value: 0x45a4, lo: 0x9c, hi: 0x9c},\n\t{value: 0x45ac, lo: 0x9d, hi: 0x9d},\n\t// Block 0x18, offset 0xb5\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x2cc6, lo: 0x94, hi: 0x94},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x19, offset 0xb9\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cce, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2cde, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cd6, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x1a, offset 0xc0\n\t{value: 0x1801, lo: 0x04},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x3ef0, lo: 0x88, hi: 0x88},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8120, lo: 0x95, hi: 0x96},\n\t// Block 0x1b, offset 0xc5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0xa000, lo: 0xbf, hi: 0xbf},\n\t// Block 0x1c, offset 0xc8\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x2ce6, lo: 0x80, hi: 0x80},\n\t{value: 0x9900, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x2cee, lo: 0x87, hi: 0x87},\n\t{value: 0x2cf6, lo: 0x88, hi: 0x88},\n\t{value: 0x2f50, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2dd8, lo: 0x8b, hi: 0x8b},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x95, hi: 0x96},\n\t// Block 0x1d, offset 0xd2\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1e, offset 0xd4\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cfe, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2d0e, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d06, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x1f, offset 0xdb\n\t{value: 0x6bea, lo: 0x07},\n\t{value: 0x9904, lo: 0x8a, hi: 0x8a},\n\t{value: 0x9900, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x3ef8, lo: 0x9a, hi: 0x9a},\n\t{value: 0x2f58, lo: 0x9c, hi: 0x9c},\n\t{value: 0x2de3, lo: 0x9d, hi: 0x9d},\n\t{value: 0x2d16, lo: 0x9e, hi: 0x9f},\n\t// Block 0x20, offset 0xe3\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x2621, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8122, lo: 0xb8, hi: 0xb9},\n\t{value: 0x8104, lo: 0xba, hi: 0xba},\n\t// Block 0x21, offset 0xe7\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8123, lo: 0x88, hi: 0x8b},\n\t// Block 0x22, offset 0xe9\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x2636, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8124, lo: 0xb8, hi: 0xb9},\n\t// Block 0x23, offset 0xec\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8125, lo: 0x88, hi: 0x8b},\n\t{value: 0x2628, lo: 0x9c, hi: 0x9c},\n\t{value: 0x262f, lo: 0x9d, hi: 0x9d},\n\t// Block 0x24, offset 0xf0\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x030b, lo: 0x8c, hi: 0x8c},\n\t{value: 0x812d, lo: 0x98, hi: 0x99},\n\t{value: 0x812d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb7},\n\t{value: 0x812b, lo: 0xb9, hi: 0xb9},\n\t// Block 0x25, offset 0xf6\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x2644, lo: 0x83, hi: 0x83},\n\t{value: 0x264b, lo: 0x8d, hi: 0x8d},\n\t{value: 0x2652, lo: 0x92, hi: 0x92},\n\t{value: 0x2659, lo: 0x97, hi: 0x97},\n\t{value: 0x2660, lo: 0x9c, hi: 0x9c},\n\t{value: 0x263d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8126, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8127, lo: 0xb2, hi: 0xb2},\n\t{value: 0x4a84, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8128, lo: 0xb4, hi: 0xb4},\n\t{value: 0x4a8d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x45b4, lo: 0xb6, hi: 0xb6},\n\t{value: 0x45f4, lo: 0xb7, hi: 0xb7},\n\t{value: 0x45bc, lo: 0xb8, hi: 0xb8},\n\t{value: 0x45ff, lo: 0xb9, hi: 0xb9},\n\t{value: 0x8127, lo: 0xba, hi: 0xbd},\n\t// Block 0x26, offset 0x107\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x8127, lo: 0x80, hi: 0x80},\n\t{value: 0x4a96, lo: 0x81, hi: 0x81},\n\t{value: 0x8132, lo: 0x82, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0x86, hi: 0x87},\n\t{value: 0x266e, lo: 0x93, hi: 0x93},\n\t{value: 0x2675, lo: 0x9d, hi: 0x9d},\n\t{value: 0x267c, lo: 0xa2, hi: 0xa2},\n\t{value: 0x2683, lo: 0xa7, hi: 0xa7},\n\t{value: 0x268a, lo: 0xac, hi: 0xac},\n\t{value: 0x2667, lo: 0xb9, hi: 0xb9},\n\t// Block 0x27, offset 0x113\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x86, hi: 0x86},\n\t// Block 0x28, offset 0x115\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x2d1e, lo: 0xa6, hi: 0xa6},\n\t{value: 0x9900, lo: 0xae, hi: 0xae},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x29, offset 0x11b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t// Block 0x2a, offset 0x11d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x030f, lo: 0xbc, hi: 0xbc},\n\t// Block 0x2b, offset 0x11f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xa000, lo: 0x80, hi: 0x92},\n\t// Block 0x2c, offset 0x121\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xb900, lo: 0xa1, hi: 0xb5},\n\t// Block 0x2d, offset 0x123\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0xa8, hi: 0xbf},\n\t// Block 0x2e, offset 0x125\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0x80, hi: 0x82},\n\t// Block 0x2f, offset 0x127\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9f},\n\t// Block 0x30, offset 0x129\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x94, hi: 0x94},\n\t{value: 0x8104, lo: 0xb4, hi: 0xb4},\n\t// Block 0x31, offset 0x12c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9d},\n\t// Block 0x32, offset 0x12f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8131, lo: 0xa9, hi: 0xa9},\n\t// Block 0x33, offset 0x131\n\t{value: 0x0004, lo: 0x02},\n\t{value: 0x812e, lo: 0xb9, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbb},\n\t// Block 0x34, offset 0x134\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x97, hi: 0x97},\n\t{value: 0x812d, lo: 0x98, hi: 0x98},\n\t// Block 0x35, offset 0x137\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8104, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8132, lo: 0xb5, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x36, offset 0x13b\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t{value: 0x812d, lo: 0xb5, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x37, offset 0x140\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x2d66, lo: 0x80, hi: 0x80},\n\t{value: 0x2d6e, lo: 0x81, hi: 0x81},\n\t{value: 0xa000, lo: 0x82, hi: 0x82},\n\t{value: 0x2d76, lo: 0x83, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xab, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xac},\n\t{value: 0x8132, lo: 0xad, hi: 0xb3},\n\t// Block 0x38, offset 0x149\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xaa, hi: 0xab},\n\t// Block 0x39, offset 0x14b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8104, lo: 0xb2, hi: 0xb3},\n\t// Block 0x3a, offset 0x14e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x3b, offset 0x150\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x92},\n\t{value: 0x8101, lo: 0x94, hi: 0x94},\n\t{value: 0x812d, lo: 0x95, hi: 0x99},\n\t{value: 0x8132, lo: 0x9a, hi: 0x9b},\n\t{value: 0x812d, lo: 0x9c, hi: 0x9f},\n\t{value: 0x8132, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8101, lo: 0xa2, hi: 0xa8},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t{value: 0x8132, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb9},\n\t// Block 0x3c, offset 0x15b\n\t{value: 0x0002, lo: 0x0a},\n\t{value: 0x0043, lo: 0xac, hi: 0xac},\n\t{value: 0x00d1, lo: 0xad, hi: 0xad},\n\t{value: 0x0045, lo: 0xae, hi: 0xae},\n\t{value: 0x0049, lo: 0xb0, hi: 0xb1},\n\t{value: 0x00e6, lo: 0xb2, hi: 0xb2},\n\t{value: 0x004f, lo: 0xb3, hi: 0xba},\n\t{value: 0x005f, lo: 0xbc, hi: 0xbc},\n\t{value: 0x00ef, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0061, lo: 0xbe, hi: 0xbe},\n\t{value: 0x0065, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3d, offset 0x166\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0x8132, lo: 0x80, hi: 0x81},\n\t{value: 0x812d, lo: 0x82, hi: 0x82},\n\t{value: 0x8132, lo: 0x83, hi: 0x89},\n\t{value: 0x812d, lo: 0x8a, hi: 0x8a},\n\t{value: 0x8132, lo: 0x8b, hi: 0x8c},\n\t{value: 0x8135, lo: 0x8d, hi: 0x8d},\n\t{value: 0x812a, lo: 0x8e, hi: 0x8e},\n\t{value: 0x812d, lo: 0x8f, hi: 0x8f},\n\t{value: 0x8129, lo: 0x90, hi: 0x90},\n\t{value: 0x8132, lo: 0x91, hi: 0xb5},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbb},\n\t{value: 0x8134, lo: 0xbc, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t{value: 0x8132, lo: 0xbe, hi: 0xbe},\n\t{value: 0x812d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3e, offset 0x176\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x0001, lo: 0x80, hi: 0x8a},\n\t{value: 0x043b, lo: 0x91, hi: 0x91},\n\t{value: 0x429b, lo: 0x97, hi: 0x97},\n\t{value: 0x001d, lo: 0xa4, hi: 0xa4},\n\t{value: 0x1873, lo: 0xa5, hi: 0xa5},\n\t{value: 0x1b5c, lo: 0xa6, hi: 0xa6},\n\t{value: 0x0001, lo: 0xaf, hi: 0xaf},\n\t{value: 0x2691, lo: 0xb3, hi: 0xb3},\n\t{value: 0x27fe, lo: 0xb4, hi: 0xb4},\n\t{value: 0x2698, lo: 0xb6, hi: 0xb6},\n\t{value: 0x2808, lo: 0xb7, hi: 0xb7},\n\t{value: 0x186d, lo: 0xbc, hi: 0xbc},\n\t{value: 0x4269, lo: 0xbe, hi: 0xbe},\n\t// Block 0x3f, offset 0x184\n\t{value: 0x0002, lo: 0x0d},\n\t{value: 0x1933, lo: 0x87, hi: 0x87},\n\t{value: 0x1930, lo: 0x88, hi: 0x88},\n\t{value: 0x1870, lo: 0x89, hi: 0x89},\n\t{value: 0x298e, lo: 0x97, hi: 0x97},\n\t{value: 0x0001, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0021, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0093, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0029, lo: 0xb4, hi: 0xb9},\n\t{value: 0x0017, lo: 0xba, hi: 0xba},\n\t{value: 0x0467, lo: 0xbb, hi: 0xbb},\n\t{value: 0x003b, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0011, lo: 0xbd, hi: 0xbe},\n\t{value: 0x009d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x40, offset 0x192\n\t{value: 0x0002, lo: 0x0f},\n\t{value: 0x0021, lo: 0x80, hi: 0x89},\n\t{value: 0x0017, lo: 0x8a, hi: 0x8a},\n\t{value: 0x0467, lo: 0x8b, hi: 0x8b},\n\t{value: 0x003b, lo: 0x8c, hi: 0x8c},\n\t{value: 0x0011, lo: 0x8d, hi: 0x8e},\n\t{value: 0x0083, lo: 0x90, hi: 0x90},\n\t{value: 0x008b, lo: 0x91, hi: 0x91},\n\t{value: 0x009f, lo: 0x92, hi: 0x92},\n\t{value: 0x00b1, lo: 0x93, hi: 0x93},\n\t{value: 0x0104, lo: 0x94, hi: 0x94},\n\t{value: 0x0091, lo: 0x95, hi: 0x95},\n\t{value: 0x0097, lo: 0x96, hi: 0x99},\n\t{value: 0x00a1, lo: 0x9a, hi: 0x9a},\n\t{value: 0x00a7, lo: 0x9b, hi: 0x9c},\n\t{value: 0x1999, lo: 0xa8, hi: 0xa8},\n\t// Block 0x41, offset 0x1a2\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x8132, lo: 0x90, hi: 0x91},\n\t{value: 0x8101, lo: 0x92, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x97},\n\t{value: 0x8101, lo: 0x98, hi: 0x9a},\n\t{value: 0x8132, lo: 0x9b, hi: 0x9c},\n\t{value: 0x8132, lo: 0xa1, hi: 0xa1},\n\t{value: 0x8101, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa7},\n\t{value: 0x812d, lo: 0xa8, hi: 0xa8},\n\t{value: 0x8132, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8101, lo: 0xaa, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t// Block 0x42, offset 0x1b0\n\t{value: 0x0007, lo: 0x06},\n\t{value: 0x2180, lo: 0x89, hi: 0x89},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t{value: 0x3bb9, lo: 0x9a, hi: 0x9b},\n\t{value: 0x3bc7, lo: 0xae, hi: 0xae},\n\t// Block 0x43, offset 0x1b7\n\t{value: 0x000e, lo: 0x05},\n\t{value: 0x3bce, lo: 0x8d, hi: 0x8e},\n\t{value: 0x3bd5, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t// Block 0x44, offset 0x1bd\n\t{value: 0x0173, lo: 0x0e},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0x3be3, lo: 0x84, hi: 0x84},\n\t{value: 0xa000, lo: 0x88, hi: 0x88},\n\t{value: 0x3bea, lo: 0x89, hi: 0x89},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0x3bf1, lo: 0x8c, hi: 0x8c},\n\t{value: 0xa000, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3bf8, lo: 0xa4, hi: 0xa4},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3bff, lo: 0xa6, hi: 0xa6},\n\t{value: 0x269f, lo: 0xac, hi: 0xad},\n\t{value: 0x26a6, lo: 0xaf, hi: 0xaf},\n\t{value: 0x281c, lo: 0xb0, hi: 0xb0},\n\t{value: 0xa000, lo: 0xbc, hi: 0xbc},\n\t// Block 0x45, offset 0x1cc\n\t{value: 0x0007, lo: 0x03},\n\t{value: 0x3c68, lo: 0xa0, hi: 0xa1},\n\t{value: 0x3c92, lo: 0xa2, hi: 0xa3},\n\t{value: 0x3cbc, lo: 0xaa, hi: 0xad},\n\t// Block 0x46, offset 0x1d0\n\t{value: 0x0004, lo: 0x01},\n\t{value: 0x048b, lo: 0xa9, hi: 0xaa},\n\t// Block 0x47, offset 0x1d2\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x0057, lo: 0x80, hi: 0x8f},\n\t{value: 0x0083, lo: 0x90, hi: 0xa9},\n\t{value: 0x0021, lo: 0xaa, hi: 0xaa},\n\t// Block 0x48, offset 0x1d6\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x299b, lo: 0x8c, hi: 0x8c},\n\t// Block 0x49, offset 0x1d8\n\t{value: 0x0263, lo: 0x02},\n\t{value: 0x1b8c, lo: 0xb4, hi: 0xb4},\n\t{value: 0x192d, lo: 0xb5, hi: 0xb6},\n\t// Block 0x4a, offset 0x1db\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x44dd, lo: 0x9c, hi: 0x9c},\n\t// Block 0x4b, offset 0x1dd\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0095, lo: 0xbc, hi: 0xbc},\n\t{value: 0x006d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x4c, offset 0x1e0\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xaf, hi: 0xb1},\n\t// Block 0x4d, offset 0x1e2\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x047f, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x4e, offset 0x1e5\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xa0, hi: 0xbf},\n\t// Block 0x4f, offset 0x1e7\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0dc3, lo: 0x9f, hi: 0x9f},\n\t// Block 0x50, offset 0x1e9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x162f, lo: 0xb3, hi: 0xb3},\n\t// Block 0x51, offset 0x1eb\n\t{value: 0x0004, lo: 0x0b},\n\t{value: 0x1597, lo: 0x80, hi: 0x82},\n\t{value: 0x15af, lo: 0x83, hi: 0x83},\n\t{value: 0x15c7, lo: 0x84, hi: 0x85},\n\t{value: 0x15d7, lo: 0x86, hi: 0x89},\n\t{value: 0x15eb, lo: 0x8a, hi: 0x8c},\n\t{value: 0x15ff, lo: 0x8d, hi: 0x8d},\n\t{value: 0x1607, lo: 0x8e, hi: 0x8e},\n\t{value: 0x160f, lo: 0x8f, hi: 0x90},\n\t{value: 0x161b, lo: 0x91, hi: 0x93},\n\t{value: 0x162b, lo: 0x94, hi: 0x94},\n\t{value: 0x1633, lo: 0x95, hi: 0x95},\n\t// Block 0x52, offset 0x1f7\n\t{value: 0x0004, lo: 0x09},\n\t{value: 0x0001, lo: 0x80, hi: 0x80},\n\t{value: 0x812c, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8131, lo: 0xab, hi: 0xab},\n\t{value: 0x8133, lo: 0xac, hi: 0xac},\n\t{value: 0x812e, lo: 0xad, hi: 0xad},\n\t{value: 0x812f, lo: 0xae, hi: 0xae},\n\t{value: 0x812f, lo: 0xaf, hi: 0xaf},\n\t{value: 0x04b3, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0887, lo: 0xb8, hi: 0xba},\n\t// Block 0x53, offset 0x201\n\t{value: 0x0006, lo: 0x09},\n\t{value: 0x0313, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0317, lo: 0xb2, hi: 0xb2},\n\t{value: 0x4a3b, lo: 0xb3, hi: 0xb3},\n\t{value: 0x031b, lo: 0xb4, hi: 0xb4},\n\t{value: 0x4a41, lo: 0xb5, hi: 0xb6},\n\t{value: 0x031f, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0323, lo: 0xb8, hi: 0xb8},\n\t{value: 0x0327, lo: 0xb9, hi: 0xb9},\n\t{value: 0x4a4d, lo: 0xba, hi: 0xbf},\n\t// Block 0x54, offset 0x20b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb4, hi: 0xbd},\n\t// Block 0x55, offset 0x20e\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x020f, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0212, lo: 0x9d, hi: 0x9d},\n\t{value: 0x8132, lo: 0x9e, hi: 0x9f},\n\t// Block 0x56, offset 0x212\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb1},\n\t// Block 0x57, offset 0x214\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x163b, lo: 0xb0, hi: 0xb0},\n\t// Block 0x58, offset 0x216\n\t{value: 0x000c, lo: 0x01},\n\t{value: 0x00d7, lo: 0xb8, hi: 0xb9},\n\t// Block 0x59, offset 0x218\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t// Block 0x5a, offset 0x21a\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xa0, hi: 0xb1},\n\t// Block 0x5b, offset 0x21d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xab, hi: 0xad},\n\t// Block 0x5c, offset 0x21f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x93, hi: 0x93},\n\t// Block 0x5d, offset 0x221\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb3, hi: 0xb3},\n\t// Block 0x5e, offset 0x223\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t// Block 0x5f, offset 0x225\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x8132, lo: 0xbe, hi: 0xbf},\n\t// Block 0x60, offset 0x22b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t// Block 0x61, offset 0x22e\n\t{value: 0x0008, lo: 0x03},\n\t{value: 0x1637, lo: 0x9c, hi: 0x9d},\n\t{value: 0x0125, lo: 0x9e, hi: 0x9e},\n\t{value: 0x1643, lo: 0x9f, hi: 0x9f},\n\t// Block 0x62, offset 0x232\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xad, hi: 0xad},\n\t// Block 0x63, offset 0x234\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xe500, lo: 0x80, hi: 0x80},\n\t{value: 0xc600, lo: 0x81, hi: 0x9b},\n\t{value: 0xe500, lo: 0x9c, hi: 0x9c},\n\t{value: 0xc600, lo: 0x9d, hi: 0xb7},\n\t{value: 0xe500, lo: 0xb8, hi: 0xb8},\n\t{value: 0xc600, lo: 0xb9, hi: 0xbf},\n\t// Block 0x64, offset 0x23b\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x93},\n\t{value: 0xe500, lo: 0x94, hi: 0x94},\n\t{value: 0xc600, lo: 0x95, hi: 0xaf},\n\t{value: 0xe500, lo: 0xb0, hi: 0xb0},\n\t{value: 0xc600, lo: 0xb1, hi: 0xbf},\n\t// Block 0x65, offset 0x241\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8b},\n\t{value: 0xe500, lo: 0x8c, hi: 0x8c},\n\t{value: 0xc600, lo: 0x8d, hi: 0xa7},\n\t{value: 0xe500, lo: 0xa8, hi: 0xa8},\n\t{value: 0xc600, lo: 0xa9, hi: 0xbf},\n\t// Block 0x66, offset 0x247\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xc600, lo: 0x80, hi: 0x83},\n\t{value: 0xe500, lo: 0x84, hi: 0x84},\n\t{value: 0xc600, lo: 0x85, hi: 0x9f},\n\t{value: 0xe500, lo: 0xa0, hi: 0xa0},\n\t{value: 0xc600, lo: 0xa1, hi: 0xbb},\n\t{value: 0xe500, lo: 0xbc, hi: 0xbc},\n\t{value: 0xc600, lo: 0xbd, hi: 0xbf},\n\t// Block 0x67, offset 0x24f\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x97},\n\t{value: 0xe500, lo: 0x98, hi: 0x98},\n\t{value: 0xc600, lo: 0x99, hi: 0xb3},\n\t{value: 0xe500, lo: 0xb4, hi: 0xb4},\n\t{value: 0xc600, lo: 0xb5, hi: 0xbf},\n\t// Block 0x68, offset 0x255\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8f},\n\t{value: 0xe500, lo: 0x90, hi: 0x90},\n\t{value: 0xc600, lo: 0x91, hi: 0xab},\n\t{value: 0xe500, lo: 0xac, hi: 0xac},\n\t{value: 0xc600, lo: 0xad, hi: 0xbf},\n\t// Block 0x69, offset 0x25b\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t{value: 0xe500, lo: 0xa4, hi: 0xa4},\n\t{value: 0xc600, lo: 0xa5, hi: 0xbf},\n\t// Block 0x6a, offset 0x261\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t// Block 0x6b, offset 0x265\n\t{value: 0x0002, lo: 0x01},\n\t{value: 0x0003, lo: 0x81, hi: 0xbf},\n\t// Block 0x6c, offset 0x267\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x6d, offset 0x269\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xa0, hi: 0xa0},\n\t// Block 0x6e, offset 0x26b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb6, hi: 0xba},\n\t// Block 0x6f, offset 0x26d\n\t{value: 0x002c, lo: 0x05},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x8f, hi: 0x8f},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb8},\n\t{value: 0x8101, lo: 0xb9, hi: 0xba},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x70, offset 0x273\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t// Block 0x71, offset 0x276\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x72, offset 0x279\n\t{value: 0x17fe, lo: 0x07},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x4238, lo: 0x9a, hi: 0x9a},\n\t{value: 0xa000, lo: 0x9b, hi: 0x9b},\n\t{value: 0x4242, lo: 0x9c, hi: 0x9c},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x424c, lo: 0xab, hi: 0xab},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x73, offset 0x281\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x8132, lo: 0x80, hi: 0x82},\n\t{value: 0x9900, lo: 0xa7, hi: 0xa7},\n\t{value: 0x2d7e, lo: 0xae, hi: 0xae},\n\t{value: 0x2d88, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb1, hi: 0xb2},\n\t{value: 0x8104, lo: 0xb3, hi: 0xb4},\n\t// Block 0x74, offset 0x288\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x75, offset 0x28b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb5, hi: 0xb5},\n\t{value: 0x8102, lo: 0xb6, hi: 0xb6},\n\t// Block 0x76, offset 0x28e\n\t{value: 0x0002, lo: 0x01},\n\t{value: 0x8102, lo: 0xa9, hi: 0xaa},\n\t// Block 0x77, offset 0x290\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2d92, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d9c, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x8132, lo: 0xa6, hi: 0xac},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t// Block 0x78, offset 0x298\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x86, hi: 0x86},\n\t// Block 0x79, offset 0x29b\n\t{value: 0x6b5a, lo: 0x06},\n\t{value: 0x9900, lo: 0xb0, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb9, hi: 0xb9},\n\t{value: 0x9900, lo: 0xba, hi: 0xba},\n\t{value: 0x2db0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x2da6, lo: 0xbc, hi: 0xbd},\n\t{value: 0x2dba, lo: 0xbe, hi: 0xbe},\n\t// Block 0x7a, offset 0x2a2\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x83, hi: 0x83},\n\t// Block 0x7b, offset 0x2a5\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x9900, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb8, hi: 0xb9},\n\t{value: 0x2dc4, lo: 0xba, hi: 0xba},\n\t{value: 0x2dce, lo: 0xbb, hi: 0xbb},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x7c, offset 0x2ab\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0x80, hi: 0x80},\n\t// Block 0x7d, offset 0x2ad\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x7e, offset 0x2af\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x7f, offset 0x2b2\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xab, hi: 0xab},\n\t// Block 0x80, offset 0x2b4\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0xb0, hi: 0xb4},\n\t// Block 0x81, offset 0x2b6\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb6},\n\t// Block 0x82, offset 0x2b8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0x9e, hi: 0x9e},\n\t// Block 0x83, offset 0x2ba\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x45cc, lo: 0x9e, hi: 0x9e},\n\t{value: 0x45d6, lo: 0x9f, hi: 0x9f},\n\t{value: 0x460a, lo: 0xa0, hi: 0xa0},\n\t{value: 0x4618, lo: 0xa1, hi: 0xa1},\n\t{value: 0x4626, lo: 0xa2, hi: 0xa2},\n\t{value: 0x4634, lo: 0xa3, hi: 0xa3},\n\t{value: 0x4642, lo: 0xa4, hi: 0xa4},\n\t{value: 0x812b, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8101, lo: 0xa7, hi: 0xa9},\n\t{value: 0x8130, lo: 0xad, hi: 0xad},\n\t{value: 0x812b, lo: 0xae, hi: 0xb2},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbf},\n\t// Block 0x84, offset 0x2c7\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x812d, lo: 0x80, hi: 0x82},\n\t{value: 0x8132, lo: 0x85, hi: 0x89},\n\t{value: 0x812d, lo: 0x8a, hi: 0x8b},\n\t{value: 0x8132, lo: 0xaa, hi: 0xad},\n\t{value: 0x45e0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x45ea, lo: 0xbc, hi: 0xbc},\n\t{value: 0x4650, lo: 0xbd, hi: 0xbd},\n\t{value: 0x466c, lo: 0xbe, hi: 0xbe},\n\t{value: 0x465e, lo: 0xbf, hi: 0xbf},\n\t// Block 0x85, offset 0x2d1\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x467a, lo: 0x80, hi: 0x80},\n\t// Block 0x86, offset 0x2d3\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x82, hi: 0x84},\n\t// Block 0x87, offset 0x2d5\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x0043, lo: 0x80, hi: 0x99},\n\t{value: 0x0083, lo: 0x9a, hi: 0xb3},\n\t{value: 0x0043, lo: 0xb4, hi: 0xbf},\n\t// Block 0x88, offset 0x2d9\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x005b, lo: 0x80, hi: 0x8d},\n\t{value: 0x0083, lo: 0x8e, hi: 0x94},\n\t{value: 0x0093, lo: 0x96, hi: 0xa7},\n\t{value: 0x0043, lo: 0xa8, hi: 0xbf},\n\t// Block 0x89, offset 0x2de\n\t{value: 0x0002, lo: 0x0b},\n\t{value: 0x0073, lo: 0x80, hi: 0x81},\n\t{value: 0x0083, lo: 0x82, hi: 0x9b},\n\t{value: 0x0043, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0047, lo: 0x9e, hi: 0x9f},\n\t{value: 0x004f, lo: 0xa2, hi: 0xa2},\n\t{value: 0x0055, lo: 0xa5, hi: 0xa6},\n\t{value: 0x005d, lo: 0xa9, hi: 0xac},\n\t{value: 0x0067, lo: 0xae, hi: 0xb5},\n\t{value: 0x0083, lo: 0xb6, hi: 0xb9},\n\t{value: 0x008d, lo: 0xbb, hi: 0xbb},\n\t{value: 0x0091, lo: 0xbd, hi: 0xbf},\n\t// Block 0x8a, offset 0x2ea\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x0097, lo: 0x80, hi: 0x83},\n\t{value: 0x00a1, lo: 0x85, hi: 0x8f},\n\t{value: 0x0043, lo: 0x90, hi: 0xa9},\n\t{value: 0x0083, lo: 0xaa, hi: 0xbf},\n\t// Block 0x8b, offset 0x2ef\n\t{value: 0x0002, lo: 0x08},\n\t{value: 0x00af, lo: 0x80, hi: 0x83},\n\t{value: 0x0043, lo: 0x84, hi: 0x85},\n\t{value: 0x0049, lo: 0x87, hi: 0x8a},\n\t{value: 0x0055, lo: 0x8d, hi: 0x94},\n\t{value: 0x0067, lo: 0x96, hi: 0x9c},\n\t{value: 0x0083, lo: 0x9e, hi: 0xb7},\n\t{value: 0x0043, lo: 0xb8, hi: 0xb9},\n\t{value: 0x0049, lo: 0xbb, hi: 0xbe},\n\t// Block 0x8c, offset 0x2f8\n\t{value: 0x0002, lo: 0x05},\n\t{value: 0x0053, lo: 0x80, hi: 0x84},\n\t{value: 0x005f, lo: 0x86, hi: 0x86},\n\t{value: 0x0067, lo: 0x8a, hi: 0x90},\n\t{value: 0x0083, lo: 0x92, hi: 0xab},\n\t{value: 0x0043, lo: 0xac, hi: 0xbf},\n\t// Block 0x8d, offset 0x2fe\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x006b, lo: 0x80, hi: 0x85},\n\t{value: 0x0083, lo: 0x86, hi: 0x9f},\n\t{value: 0x0043, lo: 0xa0, hi: 0xb9},\n\t{value: 0x0083, lo: 0xba, hi: 0xbf},\n\t// Block 0x8e, offset 0x303\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x008f, lo: 0x80, hi: 0x93},\n\t{value: 0x0043, lo: 0x94, hi: 0xad},\n\t{value: 0x0083, lo: 0xae, hi: 0xbf},\n\t// Block 0x8f, offset 0x307\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x00a7, lo: 0x80, hi: 0x87},\n\t{value: 0x0043, lo: 0x88, hi: 0xa1},\n\t{value: 0x0083, lo: 0xa2, hi: 0xbb},\n\t{value: 0x0043, lo: 0xbc, hi: 0xbf},\n\t// Block 0x90, offset 0x30c\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x004b, lo: 0x80, hi: 0x95},\n\t{value: 0x0083, lo: 0x96, hi: 0xaf},\n\t{value: 0x0043, lo: 0xb0, hi: 0xbf},\n\t// Block 0x91, offset 0x310\n\t{value: 0x0003, lo: 0x0f},\n\t{value: 0x01b8, lo: 0x80, hi: 0x80},\n\t{value: 0x045f, lo: 0x81, hi: 0x81},\n\t{value: 0x01bb, lo: 0x82, hi: 0x9a},\n\t{value: 0x045b, lo: 0x9b, hi: 0x9b},\n\t{value: 0x01c7, lo: 0x9c, hi: 0x9c},\n\t{value: 0x01d0, lo: 0x9d, hi: 0x9d},\n\t{value: 0x01d6, lo: 0x9e, hi: 0x9e},\n\t{value: 0x01fa, lo: 0x9f, hi: 0x9f},\n\t{value: 0x01eb, lo: 0xa0, hi: 0xa0},\n\t{value: 0x01e8, lo: 0xa1, hi: 0xa1},\n\t{value: 0x0173, lo: 0xa2, hi: 0xb2},\n\t{value: 0x0188, lo: 0xb3, hi: 0xb3},\n\t{value: 0x01a6, lo: 0xb4, hi: 0xba},\n\t{value: 0x045f, lo: 0xbb, hi: 0xbb},\n\t{value: 0x01bb, lo: 0xbc, hi: 0xbf},\n\t// Block 0x92, offset 0x320\n\t{value: 0x0003, lo: 0x0d},\n\t{value: 0x01c7, lo: 0x80, hi: 0x94},\n\t{value: 0x045b, lo: 0x95, hi: 0x95},\n\t{value: 0x01c7, lo: 0x96, hi: 0x96},\n\t{value: 0x01d0, lo: 0x97, hi: 0x97},\n\t{value: 0x01d6, lo: 0x98, hi: 0x98},\n\t{value: 0x01fa, lo: 0x99, hi: 0x99},\n\t{value: 0x01eb, lo: 0x9a, hi: 0x9a},\n\t{value: 0x01e8, lo: 0x9b, hi: 0x9b},\n\t{value: 0x0173, lo: 0x9c, hi: 0xac},\n\t{value: 0x0188, lo: 0xad, hi: 0xad},\n\t{value: 0x01a6, lo: 0xae, hi: 0xb4},\n\t{value: 0x045f, lo: 0xb5, hi: 0xb5},\n\t{value: 0x01bb, lo: 0xb6, hi: 0xbf},\n\t// Block 0x93, offset 0x32e\n\t{value: 0x0003, lo: 0x0d},\n\t{value: 0x01d9, lo: 0x80, hi: 0x8e},\n\t{value: 0x045b, lo: 0x8f, hi: 0x8f},\n\t{value: 0x01c7, lo: 0x90, hi: 0x90},\n\t{value: 0x01d0, lo: 0x91, hi: 0x91},\n\t{value: 0x01d6, lo: 0x92, hi: 0x92},\n\t{value: 0x01fa, lo: 0x93, hi: 0x93},\n\t{value: 0x01eb, lo: 0x94, hi: 0x94},\n\t{value: 0x01e8, lo: 0x95, hi: 0x95},\n\t{value: 0x0173, lo: 0x96, hi: 0xa6},\n\t{value: 0x0188, lo: 0xa7, hi: 0xa7},\n\t{value: 0x01a6, lo: 0xa8, hi: 0xae},\n\t{value: 0x045f, lo: 0xaf, hi: 0xaf},\n\t{value: 0x01bb, lo: 0xb0, hi: 0xbf},\n\t// Block 0x94, offset 0x33c\n\t{value: 0x0003, lo: 0x0d},\n\t{value: 0x01eb, lo: 0x80, hi: 0x88},\n\t{value: 0x045b, lo: 0x89, hi: 0x89},\n\t{value: 0x01c7, lo: 0x8a, hi: 0x8a},\n\t{value: 0x01d0, lo: 0x8b, hi: 0x8b},\n\t{value: 0x01d6, lo: 0x8c, hi: 0x8c},\n\t{value: 0x01fa, lo: 0x8d, hi: 0x8d},\n\t{value: 0x01eb, lo: 0x8e, hi: 0x8e},\n\t{value: 0x01e8, lo: 0x8f, hi: 0x8f},\n\t{value: 0x0173, lo: 0x90, hi: 0xa0},\n\t{value: 0x0188, lo: 0xa1, hi: 0xa1},\n\t{value: 0x01a6, lo: 0xa2, hi: 0xa8},\n\t{value: 0x045f, lo: 0xa9, hi: 0xa9},\n\t{value: 0x01bb, lo: 0xaa, hi: 0xbf},\n\t// Block 0x95, offset 0x34a\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0x80, hi: 0x86},\n\t{value: 0x8132, lo: 0x88, hi: 0x98},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa1},\n\t{value: 0x8132, lo: 0xa3, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa6, hi: 0xaa},\n\t// Block 0x96, offset 0x350\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x90, hi: 0x96},\n\t// Block 0x97, offset 0x352\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x84, hi: 0x89},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x98, offset 0x355\n\t{value: 0x0002, lo: 0x09},\n\t{value: 0x0063, lo: 0x80, hi: 0x89},\n\t{value: 0x1951, lo: 0x8a, hi: 0x8a},\n\t{value: 0x1981, lo: 0x8b, hi: 0x8b},\n\t{value: 0x199c, lo: 0x8c, hi: 0x8c},\n\t{value: 0x19a2, lo: 0x8d, hi: 0x8d},\n\t{value: 0x1bc0, lo: 0x8e, hi: 0x8e},\n\t{value: 0x19ae, lo: 0x8f, hi: 0x8f},\n\t{value: 0x197b, lo: 0xaa, hi: 0xaa},\n\t{value: 0x197e, lo: 0xab, hi: 0xab},\n\t// Block 0x99, offset 0x35f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x193f, lo: 0x90, hi: 0x90},\n\t// Block 0x9a, offset 0x361\n\t{value: 0x0028, lo: 0x09},\n\t{value: 0x2862, lo: 0x80, hi: 0x80},\n\t{value: 0x2826, lo: 0x81, hi: 0x81},\n\t{value: 0x2830, lo: 0x82, hi: 0x82},\n\t{value: 0x2844, lo: 0x83, hi: 0x84},\n\t{value: 0x284e, lo: 0x85, hi: 0x86},\n\t{value: 0x283a, lo: 0x87, hi: 0x87},\n\t{value: 0x2858, lo: 0x88, hi: 0x88},\n\t{value: 0x0b6f, lo: 0x90, hi: 0x90},\n\t{value: 0x08e7, lo: 0x91, hi: 0x91},\n}\n\n// recompMap: 7520 bytes (entries only)\nvar recompMap = map[uint32]rune{\n\t0x00410300: 0x00C0,\n\t0x00410301: 0x00C1,\n\t0x00410302: 0x00C2,\n\t0x00410303: 0x00C3,\n\t0x00410308: 0x00C4,\n\t0x0041030A: 0x00C5,\n\t0x00430327: 0x00C7,\n\t0x00450300: 0x00C8,\n\t0x00450301: 0x00C9,\n\t0x00450302: 0x00CA,\n\t0x00450308: 0x00CB,\n\t0x00490300: 0x00CC,\n\t0x00490301: 0x00CD,\n\t0x00490302: 0x00CE,\n\t0x00490308: 0x00CF,\n\t0x004E0303: 0x00D1,\n\t0x004F0300: 0x00D2,\n\t0x004F0301: 0x00D3,\n\t0x004F0302: 0x00D4,\n\t0x004F0303: 0x00D5,\n\t0x004F0308: 0x00D6,\n\t0x00550300: 0x00D9,\n\t0x00550301: 0x00DA,\n\t0x00550302: 0x00DB,\n\t0x00550308: 0x00DC,\n\t0x00590301: 0x00DD,\n\t0x00610300: 0x00E0,\n\t0x00610301: 0x00E1,\n\t0x00610302: 0x00E2,\n\t0x00610303: 0x00E3,\n\t0x00610308: 0x00E4,\n\t0x0061030A: 0x00E5,\n\t0x00630327: 0x00E7,\n\t0x00650300: 0x00E8,\n\t0x00650301: 0x00E9,\n\t0x00650302: 0x00EA,\n\t0x00650308: 0x00EB,\n\t0x00690300: 0x00EC,\n\t0x00690301: 0x00ED,\n\t0x00690302: 0x00EE,\n\t0x00690308: 0x00EF,\n\t0x006E0303: 0x00F1,\n\t0x006F0300: 0x00F2,\n\t0x006F0301: 0x00F3,\n\t0x006F0302: 0x00F4,\n\t0x006F0303: 0x00F5,\n\t0x006F0308: 0x00F6,\n\t0x00750300: 0x00F9,\n\t0x00750301: 0x00FA,\n\t0x00750302: 0x00FB,\n\t0x00750308: 0x00FC,\n\t0x00790301: 0x00FD,\n\t0x00790308: 0x00FF,\n\t0x00410304: 0x0100,\n\t0x00610304: 0x0101,\n\t0x00410306: 0x0102,\n\t0x00610306: 0x0103,\n\t0x00410328: 0x0104,\n\t0x00610328: 0x0105,\n\t0x00430301: 0x0106,\n\t0x00630301: 0x0107,\n\t0x00430302: 0x0108,\n\t0x00630302: 0x0109,\n\t0x00430307: 0x010A,\n\t0x00630307: 0x010B,\n\t0x0043030C: 0x010C,\n\t0x0063030C: 0x010D,\n\t0x0044030C: 0x010E,\n\t0x0064030C: 0x010F,\n\t0x00450304: 0x0112,\n\t0x00650304: 0x0113,\n\t0x00450306: 0x0114,\n\t0x00650306: 0x0115,\n\t0x00450307: 0x0116,\n\t0x00650307: 0x0117,\n\t0x00450328: 0x0118,\n\t0x00650328: 0x0119,\n\t0x0045030C: 0x011A,\n\t0x0065030C: 0x011B,\n\t0x00470302: 0x011C,\n\t0x00670302: 0x011D,\n\t0x00470306: 0x011E,\n\t0x00670306: 0x011F,\n\t0x00470307: 0x0120,\n\t0x00670307: 0x0121,\n\t0x00470327: 0x0122,\n\t0x00670327: 0x0123,\n\t0x00480302: 0x0124,\n\t0x00680302: 0x0125,\n\t0x00490303: 0x0128,\n\t0x00690303: 0x0129,\n\t0x00490304: 0x012A,\n\t0x00690304: 0x012B,\n\t0x00490306: 0x012C,\n\t0x00690306: 0x012D,\n\t0x00490328: 0x012E,\n\t0x00690328: 0x012F,\n\t0x00490307: 0x0130,\n\t0x004A0302: 0x0134,\n\t0x006A0302: 0x0135,\n\t0x004B0327: 0x0136,\n\t0x006B0327: 0x0137,\n\t0x004C0301: 0x0139,\n\t0x006C0301: 0x013A,\n\t0x004C0327: 0x013B,\n\t0x006C0327: 0x013C,\n\t0x004C030C: 0x013D,\n\t0x006C030C: 0x013E,\n\t0x004E0301: 0x0143,\n\t0x006E0301: 0x0144,\n\t0x004E0327: 0x0145,\n\t0x006E0327: 0x0146,\n\t0x004E030C: 0x0147,\n\t0x006E030C: 0x0148,\n\t0x004F0304: 0x014C,\n\t0x006F0304: 0x014D,\n\t0x004F0306: 0x014E,\n\t0x006F0306: 0x014F,\n\t0x004F030B: 0x0150,\n\t0x006F030B: 0x0151,\n\t0x00520301: 0x0154,\n\t0x00720301: 0x0155,\n\t0x00520327: 0x0156,\n\t0x00720327: 0x0157,\n\t0x0052030C: 0x0158,\n\t0x0072030C: 0x0159,\n\t0x00530301: 0x015A,\n\t0x00730301: 0x015B,\n\t0x00530302: 0x015C,\n\t0x00730302: 0x015D,\n\t0x00530327: 0x015E,\n\t0x00730327: 0x015F,\n\t0x0053030C: 0x0160,\n\t0x0073030C: 0x0161,\n\t0x00540327: 0x0162,\n\t0x00740327: 0x0163,\n\t0x0054030C: 0x0164,\n\t0x0074030C: 0x0165,\n\t0x00550303: 0x0168,\n\t0x00750303: 0x0169,\n\t0x00550304: 0x016A,\n\t0x00750304: 0x016B,\n\t0x00550306: 0x016C,\n\t0x00750306: 0x016D,\n\t0x0055030A: 0x016E,\n\t0x0075030A: 0x016F,\n\t0x0055030B: 0x0170,\n\t0x0075030B: 0x0171,\n\t0x00550328: 0x0172,\n\t0x00750328: 0x0173,\n\t0x00570302: 0x0174,\n\t0x00770302: 0x0175,\n\t0x00590302: 0x0176,\n\t0x00790302: 0x0177,\n\t0x00590308: 0x0178,\n\t0x005A0301: 0x0179,\n\t0x007A0301: 0x017A,\n\t0x005A0307: 0x017B,\n\t0x007A0307: 0x017C,\n\t0x005A030C: 0x017D,\n\t0x007A030C: 0x017E,\n\t0x004F031B: 0x01A0,\n\t0x006F031B: 0x01A1,\n\t0x0055031B: 0x01AF,\n\t0x0075031B: 0x01B0,\n\t0x0041030C: 0x01CD,\n\t0x0061030C: 0x01CE,\n\t0x0049030C: 0x01CF,\n\t0x0069030C: 0x01D0,\n\t0x004F030C: 0x01D1,\n\t0x006F030C: 0x01D2,\n\t0x0055030C: 0x01D3,\n\t0x0075030C: 0x01D4,\n\t0x00DC0304: 0x01D5,\n\t0x00FC0304: 0x01D6,\n\t0x00DC0301: 0x01D7,\n\t0x00FC0301: 0x01D8,\n\t0x00DC030C: 0x01D9,\n\t0x00FC030C: 0x01DA,\n\t0x00DC0300: 0x01DB,\n\t0x00FC0300: 0x01DC,\n\t0x00C40304: 0x01DE,\n\t0x00E40304: 0x01DF,\n\t0x02260304: 0x01E0,\n\t0x02270304: 0x01E1,\n\t0x00C60304: 0x01E2,\n\t0x00E60304: 0x01E3,\n\t0x0047030C: 0x01E6,\n\t0x0067030C: 0x01E7,\n\t0x004B030C: 0x01E8,\n\t0x006B030C: 0x01E9,\n\t0x004F0328: 0x01EA,\n\t0x006F0328: 0x01EB,\n\t0x01EA0304: 0x01EC,\n\t0x01EB0304: 0x01ED,\n\t0x01B7030C: 0x01EE,\n\t0x0292030C: 0x01EF,\n\t0x006A030C: 0x01F0,\n\t0x00470301: 0x01F4,\n\t0x00670301: 0x01F5,\n\t0x004E0300: 0x01F8,\n\t0x006E0300: 0x01F9,\n\t0x00C50301: 0x01FA,\n\t0x00E50301: 0x01FB,\n\t0x00C60301: 0x01FC,\n\t0x00E60301: 0x01FD,\n\t0x00D80301: 0x01FE,\n\t0x00F80301: 0x01FF,\n\t0x0041030F: 0x0200,\n\t0x0061030F: 0x0201,\n\t0x00410311: 0x0202,\n\t0x00610311: 0x0203,\n\t0x0045030F: 0x0204,\n\t0x0065030F: 0x0205,\n\t0x00450311: 0x0206,\n\t0x00650311: 0x0207,\n\t0x0049030F: 0x0208,\n\t0x0069030F: 0x0209,\n\t0x00490311: 0x020A,\n\t0x00690311: 0x020B,\n\t0x004F030F: 0x020C,\n\t0x006F030F: 0x020D,\n\t0x004F0311: 0x020E,\n\t0x006F0311: 0x020F,\n\t0x0052030F: 0x0210,\n\t0x0072030F: 0x0211,\n\t0x00520311: 0x0212,\n\t0x00720311: 0x0213,\n\t0x0055030F: 0x0214,\n\t0x0075030F: 0x0215,\n\t0x00550311: 0x0216,\n\t0x00750311: 0x0217,\n\t0x00530326: 0x0218,\n\t0x00730326: 0x0219,\n\t0x00540326: 0x021A,\n\t0x00740326: 0x021B,\n\t0x0048030C: 0x021E,\n\t0x0068030C: 0x021F,\n\t0x00410307: 0x0226,\n\t0x00610307: 0x0227,\n\t0x00450327: 0x0228,\n\t0x00650327: 0x0229,\n\t0x00D60304: 0x022A,\n\t0x00F60304: 0x022B,\n\t0x00D50304: 0x022C,\n\t0x00F50304: 0x022D,\n\t0x004F0307: 0x022E,\n\t0x006F0307: 0x022F,\n\t0x022E0304: 0x0230,\n\t0x022F0304: 0x0231,\n\t0x00590304: 0x0232,\n\t0x00790304: 0x0233,\n\t0x00A80301: 0x0385,\n\t0x03910301: 0x0386,\n\t0x03950301: 0x0388,\n\t0x03970301: 0x0389,\n\t0x03990301: 0x038A,\n\t0x039F0301: 0x038C,\n\t0x03A50301: 0x038E,\n\t0x03A90301: 0x038F,\n\t0x03CA0301: 0x0390,\n\t0x03990308: 0x03AA,\n\t0x03A50308: 0x03AB,\n\t0x03B10301: 0x03AC,\n\t0x03B50301: 0x03AD,\n\t0x03B70301: 0x03AE,\n\t0x03B90301: 0x03AF,\n\t0x03CB0301: 0x03B0,\n\t0x03B90308: 0x03CA,\n\t0x03C50308: 0x03CB,\n\t0x03BF0301: 0x03CC,\n\t0x03C50301: 0x03CD,\n\t0x03C90301: 0x03CE,\n\t0x03D20301: 0x03D3,\n\t0x03D20308: 0x03D4,\n\t0x04150300: 0x0400,\n\t0x04150308: 0x0401,\n\t0x04130301: 0x0403,\n\t0x04060308: 0x0407,\n\t0x041A0301: 0x040C,\n\t0x04180300: 0x040D,\n\t0x04230306: 0x040E,\n\t0x04180306: 0x0419,\n\t0x04380306: 0x0439,\n\t0x04350300: 0x0450,\n\t0x04350308: 0x0451,\n\t0x04330301: 0x0453,\n\t0x04560308: 0x0457,\n\t0x043A0301: 0x045C,\n\t0x04380300: 0x045D,\n\t0x04430306: 0x045E,\n\t0x0474030F: 0x0476,\n\t0x0475030F: 0x0477,\n\t0x04160306: 0x04C1,\n\t0x04360306: 0x04C2,\n\t0x04100306: 0x04D0,\n\t0x04300306: 0x04D1,\n\t0x04100308: 0x04D2,\n\t0x04300308: 0x04D3,\n\t0x04150306: 0x04D6,\n\t0x04350306: 0x04D7,\n\t0x04D80308: 0x04DA,\n\t0x04D90308: 0x04DB,\n\t0x04160308: 0x04DC,\n\t0x04360308: 0x04DD,\n\t0x04170308: 0x04DE,\n\t0x04370308: 0x04DF,\n\t0x04180304: 0x04E2,\n\t0x04380304: 0x04E3,\n\t0x04180308: 0x04E4,\n\t0x04380308: 0x04E5,\n\t0x041E0308: 0x04E6,\n\t0x043E0308: 0x04E7,\n\t0x04E80308: 0x04EA,\n\t0x04E90308: 0x04EB,\n\t0x042D0308: 0x04EC,\n\t0x044D0308: 0x04ED,\n\t0x04230304: 0x04EE,\n\t0x04430304: 0x04EF,\n\t0x04230308: 0x04F0,\n\t0x04430308: 0x04F1,\n\t0x0423030B: 0x04F2,\n\t0x0443030B: 0x04F3,\n\t0x04270308: 0x04F4,\n\t0x04470308: 0x04F5,\n\t0x042B0308: 0x04F8,\n\t0x044B0308: 0x04F9,\n\t0x06270653: 0x0622,\n\t0x06270654: 0x0623,\n\t0x06480654: 0x0624,\n\t0x06270655: 0x0625,\n\t0x064A0654: 0x0626,\n\t0x06D50654: 0x06C0,\n\t0x06C10654: 0x06C2,\n\t0x06D20654: 0x06D3,\n\t0x0928093C: 0x0929,\n\t0x0930093C: 0x0931,\n\t0x0933093C: 0x0934,\n\t0x09C709BE: 0x09CB,\n\t0x09C709D7: 0x09CC,\n\t0x0B470B56: 0x0B48,\n\t0x0B470B3E: 0x0B4B,\n\t0x0B470B57: 0x0B4C,\n\t0x0B920BD7: 0x0B94,\n\t0x0BC60BBE: 0x0BCA,\n\t0x0BC70BBE: 0x0BCB,\n\t0x0BC60BD7: 0x0BCC,\n\t0x0C460C56: 0x0C48,\n\t0x0CBF0CD5: 0x0CC0,\n\t0x0CC60CD5: 0x0CC7,\n\t0x0CC60CD6: 0x0CC8,\n\t0x0CC60CC2: 0x0CCA,\n\t0x0CCA0CD5: 0x0CCB,\n\t0x0D460D3E: 0x0D4A,\n\t0x0D470D3E: 0x0D4B,\n\t0x0D460D57: 0x0D4C,\n\t0x0DD90DCA: 0x0DDA,\n\t0x0DD90DCF: 0x0DDC,\n\t0x0DDC0DCA: 0x0DDD,\n\t0x0DD90DDF: 0x0DDE,\n\t0x1025102E: 0x1026,\n\t0x1B051B35: 0x1B06,\n\t0x1B071B35: 0x1B08,\n\t0x1B091B35: 0x1B0A,\n\t0x1B0B1B35: 0x1B0C,\n\t0x1B0D1B35: 0x1B0E,\n\t0x1B111B35: 0x1B12,\n\t0x1B3A1B35: 0x1B3B,\n\t0x1B3C1B35: 0x1B3D,\n\t0x1B3E1B35: 0x1B40,\n\t0x1B3F1B35: 0x1B41,\n\t0x1B421B35: 0x1B43,\n\t0x00410325: 0x1E00,\n\t0x00610325: 0x1E01,\n\t0x00420307: 0x1E02,\n\t0x00620307: 0x1E03,\n\t0x00420323: 0x1E04,\n\t0x00620323: 0x1E05,\n\t0x00420331: 0x1E06,\n\t0x00620331: 0x1E07,\n\t0x00C70301: 0x1E08,\n\t0x00E70301: 0x1E09,\n\t0x00440307: 0x1E0A,\n\t0x00640307: 0x1E0B,\n\t0x00440323: 0x1E0C,\n\t0x00640323: 0x1E0D,\n\t0x00440331: 0x1E0E,\n\t0x00640331: 0x1E0F,\n\t0x00440327: 0x1E10,\n\t0x00640327: 0x1E11,\n\t0x0044032D: 0x1E12,\n\t0x0064032D: 0x1E13,\n\t0x01120300: 0x1E14,\n\t0x01130300: 0x1E15,\n\t0x01120301: 0x1E16,\n\t0x01130301: 0x1E17,\n\t0x0045032D: 0x1E18,\n\t0x0065032D: 0x1E19,\n\t0x00450330: 0x1E1A,\n\t0x00650330: 0x1E1B,\n\t0x02280306: 0x1E1C,\n\t0x02290306: 0x1E1D,\n\t0x00460307: 0x1E1E,\n\t0x00660307: 0x1E1F,\n\t0x00470304: 0x1E20,\n\t0x00670304: 0x1E21,\n\t0x00480307: 0x1E22,\n\t0x00680307: 0x1E23,\n\t0x00480323: 0x1E24,\n\t0x00680323: 0x1E25,\n\t0x00480308: 0x1E26,\n\t0x00680308: 0x1E27,\n\t0x00480327: 0x1E28,\n\t0x00680327: 0x1E29,\n\t0x0048032E: 0x1E2A,\n\t0x0068032E: 0x1E2B,\n\t0x00490330: 0x1E2C,\n\t0x00690330: 0x1E2D,\n\t0x00CF0301: 0x1E2E,\n\t0x00EF0301: 0x1E2F,\n\t0x004B0301: 0x1E30,\n\t0x006B0301: 0x1E31,\n\t0x004B0323: 0x1E32,\n\t0x006B0323: 0x1E33,\n\t0x004B0331: 0x1E34,\n\t0x006B0331: 0x1E35,\n\t0x004C0323: 0x1E36,\n\t0x006C0323: 0x1E37,\n\t0x1E360304: 0x1E38,\n\t0x1E370304: 0x1E39,\n\t0x004C0331: 0x1E3A,\n\t0x006C0331: 0x1E3B,\n\t0x004C032D: 0x1E3C,\n\t0x006C032D: 0x1E3D,\n\t0x004D0301: 0x1E3E,\n\t0x006D0301: 0x1E3F,\n\t0x004D0307: 0x1E40,\n\t0x006D0307: 0x1E41,\n\t0x004D0323: 0x1E42,\n\t0x006D0323: 0x1E43,\n\t0x004E0307: 0x1E44,\n\t0x006E0307: 0x1E45,\n\t0x004E0323: 0x1E46,\n\t0x006E0323: 0x1E47,\n\t0x004E0331: 0x1E48,\n\t0x006E0331: 0x1E49,\n\t0x004E032D: 0x1E4A,\n\t0x006E032D: 0x1E4B,\n\t0x00D50301: 0x1E4C,\n\t0x00F50301: 0x1E4D,\n\t0x00D50308: 0x1E4E,\n\t0x00F50308: 0x1E4F,\n\t0x014C0300: 0x1E50,\n\t0x014D0300: 0x1E51,\n\t0x014C0301: 0x1E52,\n\t0x014D0301: 0x1E53,\n\t0x00500301: 0x1E54,\n\t0x00700301: 0x1E55,\n\t0x00500307: 0x1E56,\n\t0x00700307: 0x1E57,\n\t0x00520307: 0x1E58,\n\t0x00720307: 0x1E59,\n\t0x00520323: 0x1E5A,\n\t0x00720323: 0x1E5B,\n\t0x1E5A0304: 0x1E5C,\n\t0x1E5B0304: 0x1E5D,\n\t0x00520331: 0x1E5E,\n\t0x00720331: 0x1E5F,\n\t0x00530307: 0x1E60,\n\t0x00730307: 0x1E61,\n\t0x00530323: 0x1E62,\n\t0x00730323: 0x1E63,\n\t0x015A0307: 0x1E64,\n\t0x015B0307: 0x1E65,\n\t0x01600307: 0x1E66,\n\t0x01610307: 0x1E67,\n\t0x1E620307: 0x1E68,\n\t0x1E630307: 0x1E69,\n\t0x00540307: 0x1E6A,\n\t0x00740307: 0x1E6B,\n\t0x00540323: 0x1E6C,\n\t0x00740323: 0x1E6D,\n\t0x00540331: 0x1E6E,\n\t0x00740331: 0x1E6F,\n\t0x0054032D: 0x1E70,\n\t0x0074032D: 0x1E71,\n\t0x00550324: 0x1E72,\n\t0x00750324: 0x1E73,\n\t0x00550330: 0x1E74,\n\t0x00750330: 0x1E75,\n\t0x0055032D: 0x1E76,\n\t0x0075032D: 0x1E77,\n\t0x01680301: 0x1E78,\n\t0x01690301: 0x1E79,\n\t0x016A0308: 0x1E7A,\n\t0x016B0308: 0x1E7B,\n\t0x00560303: 0x1E7C,\n\t0x00760303: 0x1E7D,\n\t0x00560323: 0x1E7E,\n\t0x00760323: 0x1E7F,\n\t0x00570300: 0x1E80,\n\t0x00770300: 0x1E81,\n\t0x00570301: 0x1E82,\n\t0x00770301: 0x1E83,\n\t0x00570308: 0x1E84,\n\t0x00770308: 0x1E85,\n\t0x00570307: 0x1E86,\n\t0x00770307: 0x1E87,\n\t0x00570323: 0x1E88,\n\t0x00770323: 0x1E89,\n\t0x00580307: 0x1E8A,\n\t0x00780307: 0x1E8B,\n\t0x00580308: 0x1E8C,\n\t0x00780308: 0x1E8D,\n\t0x00590307: 0x1E8E,\n\t0x00790307: 0x1E8F,\n\t0x005A0302: 0x1E90,\n\t0x007A0302: 0x1E91,\n\t0x005A0323: 0x1E92,\n\t0x007A0323: 0x1E93,\n\t0x005A0331: 0x1E94,\n\t0x007A0331: 0x1E95,\n\t0x00680331: 0x1E96,\n\t0x00740308: 0x1E97,\n\t0x0077030A: 0x1E98,\n\t0x0079030A: 0x1E99,\n\t0x017F0307: 0x1E9B,\n\t0x00410323: 0x1EA0,\n\t0x00610323: 0x1EA1,\n\t0x00410309: 0x1EA2,\n\t0x00610309: 0x1EA3,\n\t0x00C20301: 0x1EA4,\n\t0x00E20301: 0x1EA5,\n\t0x00C20300: 0x1EA6,\n\t0x00E20300: 0x1EA7,\n\t0x00C20309: 0x1EA8,\n\t0x00E20309: 0x1EA9,\n\t0x00C20303: 0x1EAA,\n\t0x00E20303: 0x1EAB,\n\t0x1EA00302: 0x1EAC,\n\t0x1EA10302: 0x1EAD,\n\t0x01020301: 0x1EAE,\n\t0x01030301: 0x1EAF,\n\t0x01020300: 0x1EB0,\n\t0x01030300: 0x1EB1,\n\t0x01020309: 0x1EB2,\n\t0x01030309: 0x1EB3,\n\t0x01020303: 0x1EB4,\n\t0x01030303: 0x1EB5,\n\t0x1EA00306: 0x1EB6,\n\t0x1EA10306: 0x1EB7,\n\t0x00450323: 0x1EB8,\n\t0x00650323: 0x1EB9,\n\t0x00450309: 0x1EBA,\n\t0x00650309: 0x1EBB,\n\t0x00450303: 0x1EBC,\n\t0x00650303: 0x1EBD,\n\t0x00CA0301: 0x1EBE,\n\t0x00EA0301: 0x1EBF,\n\t0x00CA0300: 0x1EC0,\n\t0x00EA0300: 0x1EC1,\n\t0x00CA0309: 0x1EC2,\n\t0x00EA0309: 0x1EC3,\n\t0x00CA0303: 0x1EC4,\n\t0x00EA0303: 0x1EC5,\n\t0x1EB80302: 0x1EC6,\n\t0x1EB90302: 0x1EC7,\n\t0x00490309: 0x1EC8,\n\t0x00690309: 0x1EC9,\n\t0x00490323: 0x1ECA,\n\t0x00690323: 0x1ECB,\n\t0x004F0323: 0x1ECC,\n\t0x006F0323: 0x1ECD,\n\t0x004F0309: 0x1ECE,\n\t0x006F0309: 0x1ECF,\n\t0x00D40301: 0x1ED0,\n\t0x00F40301: 0x1ED1,\n\t0x00D40300: 0x1ED2,\n\t0x00F40300: 0x1ED3,\n\t0x00D40309: 0x1ED4,\n\t0x00F40309: 0x1ED5,\n\t0x00D40303: 0x1ED6,\n\t0x00F40303: 0x1ED7,\n\t0x1ECC0302: 0x1ED8,\n\t0x1ECD0302: 0x1ED9,\n\t0x01A00301: 0x1EDA,\n\t0x01A10301: 0x1EDB,\n\t0x01A00300: 0x1EDC,\n\t0x01A10300: 0x1EDD,\n\t0x01A00309: 0x1EDE,\n\t0x01A10309: 0x1EDF,\n\t0x01A00303: 0x1EE0,\n\t0x01A10303: 0x1EE1,\n\t0x01A00323: 0x1EE2,\n\t0x01A10323: 0x1EE3,\n\t0x00550323: 0x1EE4,\n\t0x00750323: 0x1EE5,\n\t0x00550309: 0x1EE6,\n\t0x00750309: 0x1EE7,\n\t0x01AF0301: 0x1EE8,\n\t0x01B00301: 0x1EE9,\n\t0x01AF0300: 0x1EEA,\n\t0x01B00300: 0x1EEB,\n\t0x01AF0309: 0x1EEC,\n\t0x01B00309: 0x1EED,\n\t0x01AF0303: 0x1EEE,\n\t0x01B00303: 0x1EEF,\n\t0x01AF0323: 0x1EF0,\n\t0x01B00323: 0x1EF1,\n\t0x00590300: 0x1EF2,\n\t0x00790300: 0x1EF3,\n\t0x00590323: 0x1EF4,\n\t0x00790323: 0x1EF5,\n\t0x00590309: 0x1EF6,\n\t0x00790309: 0x1EF7,\n\t0x00590303: 0x1EF8,\n\t0x00790303: 0x1EF9,\n\t0x03B10313: 0x1F00,\n\t0x03B10314: 0x1F01,\n\t0x1F000300: 0x1F02,\n\t0x1F010300: 0x1F03,\n\t0x1F000301: 0x1F04,\n\t0x1F010301: 0x1F05,\n\t0x1F000342: 0x1F06,\n\t0x1F010342: 0x1F07,\n\t0x03910313: 0x1F08,\n\t0x03910314: 0x1F09,\n\t0x1F080300: 0x1F0A,\n\t0x1F090300: 0x1F0B,\n\t0x1F080301: 0x1F0C,\n\t0x1F090301: 0x1F0D,\n\t0x1F080342: 0x1F0E,\n\t0x1F090342: 0x1F0F,\n\t0x03B50313: 0x1F10,\n\t0x03B50314: 0x1F11,\n\t0x1F100300: 0x1F12,\n\t0x1F110300: 0x1F13,\n\t0x1F100301: 0x1F14,\n\t0x1F110301: 0x1F15,\n\t0x03950313: 0x1F18,\n\t0x03950314: 0x1F19,\n\t0x1F180300: 0x1F1A,\n\t0x1F190300: 0x1F1B,\n\t0x1F180301: 0x1F1C,\n\t0x1F190301: 0x1F1D,\n\t0x03B70313: 0x1F20,\n\t0x03B70314: 0x1F21,\n\t0x1F200300: 0x1F22,\n\t0x1F210300: 0x1F23,\n\t0x1F200301: 0x1F24,\n\t0x1F210301: 0x1F25,\n\t0x1F200342: 0x1F26,\n\t0x1F210342: 0x1F27,\n\t0x03970313: 0x1F28,\n\t0x03970314: 0x1F29,\n\t0x1F280300: 0x1F2A,\n\t0x1F290300: 0x1F2B,\n\t0x1F280301: 0x1F2C,\n\t0x1F290301: 0x1F2D,\n\t0x1F280342: 0x1F2E,\n\t0x1F290342: 0x1F2F,\n\t0x03B90313: 0x1F30,\n\t0x03B90314: 0x1F31,\n\t0x1F300300: 0x1F32,\n\t0x1F310300: 0x1F33,\n\t0x1F300301: 0x1F34,\n\t0x1F310301: 0x1F35,\n\t0x1F300342: 0x1F36,\n\t0x1F310342: 0x1F37,\n\t0x03990313: 0x1F38,\n\t0x03990314: 0x1F39,\n\t0x1F380300: 0x1F3A,\n\t0x1F390300: 0x1F3B,\n\t0x1F380301: 0x1F3C,\n\t0x1F390301: 0x1F3D,\n\t0x1F380342: 0x1F3E,\n\t0x1F390342: 0x1F3F,\n\t0x03BF0313: 0x1F40,\n\t0x03BF0314: 0x1F41,\n\t0x1F400300: 0x1F42,\n\t0x1F410300: 0x1F43,\n\t0x1F400301: 0x1F44,\n\t0x1F410301: 0x1F45,\n\t0x039F0313: 0x1F48,\n\t0x039F0314: 0x1F49,\n\t0x1F480300: 0x1F4A,\n\t0x1F490300: 0x1F4B,\n\t0x1F480301: 0x1F4C,\n\t0x1F490301: 0x1F4D,\n\t0x03C50313: 0x1F50,\n\t0x03C50314: 0x1F51,\n\t0x1F500300: 0x1F52,\n\t0x1F510300: 0x1F53,\n\t0x1F500301: 0x1F54,\n\t0x1F510301: 0x1F55,\n\t0x1F500342: 0x1F56,\n\t0x1F510342: 0x1F57,\n\t0x03A50314: 0x1F59,\n\t0x1F590300: 0x1F5B,\n\t0x1F590301: 0x1F5D,\n\t0x1F590342: 0x1F5F,\n\t0x03C90313: 0x1F60,\n\t0x03C90314: 0x1F61,\n\t0x1F600300: 0x1F62,\n\t0x1F610300: 0x1F63,\n\t0x1F600301: 0x1F64,\n\t0x1F610301: 0x1F65,\n\t0x1F600342: 0x1F66,\n\t0x1F610342: 0x1F67,\n\t0x03A90313: 0x1F68,\n\t0x03A90314: 0x1F69,\n\t0x1F680300: 0x1F6A,\n\t0x1F690300: 0x1F6B,\n\t0x1F680301: 0x1F6C,\n\t0x1F690301: 0x1F6D,\n\t0x1F680342: 0x1F6E,\n\t0x1F690342: 0x1F6F,\n\t0x03B10300: 0x1F70,\n\t0x03B50300: 0x1F72,\n\t0x03B70300: 0x1F74,\n\t0x03B90300: 0x1F76,\n\t0x03BF0300: 0x1F78,\n\t0x03C50300: 0x1F7A,\n\t0x03C90300: 0x1F7C,\n\t0x1F000345: 0x1F80,\n\t0x1F010345: 0x1F81,\n\t0x1F020345: 0x1F82,\n\t0x1F030345: 0x1F83,\n\t0x1F040345: 0x1F84,\n\t0x1F050345: 0x1F85,\n\t0x1F060345: 0x1F86,\n\t0x1F070345: 0x1F87,\n\t0x1F080345: 0x1F88,\n\t0x1F090345: 0x1F89,\n\t0x1F0A0345: 0x1F8A,\n\t0x1F0B0345: 0x1F8B,\n\t0x1F0C0345: 0x1F8C,\n\t0x1F0D0345: 0x1F8D,\n\t0x1F0E0345: 0x1F8E,\n\t0x1F0F0345: 0x1F8F,\n\t0x1F200345: 0x1F90,\n\t0x1F210345: 0x1F91,\n\t0x1F220345: 0x1F92,\n\t0x1F230345: 0x1F93,\n\t0x1F240345: 0x1F94,\n\t0x1F250345: 0x1F95,\n\t0x1F260345: 0x1F96,\n\t0x1F270345: 0x1F97,\n\t0x1F280345: 0x1F98,\n\t0x1F290345: 0x1F99,\n\t0x1F2A0345: 0x1F9A,\n\t0x1F2B0345: 0x1F9B,\n\t0x1F2C0345: 0x1F9C,\n\t0x1F2D0345: 0x1F9D,\n\t0x1F2E0345: 0x1F9E,\n\t0x1F2F0345: 0x1F9F,\n\t0x1F600345: 0x1FA0,\n\t0x1F610345: 0x1FA1,\n\t0x1F620345: 0x1FA2,\n\t0x1F630345: 0x1FA3,\n\t0x1F640345: 0x1FA4,\n\t0x1F650345: 0x1FA5,\n\t0x1F660345: 0x1FA6,\n\t0x1F670345: 0x1FA7,\n\t0x1F680345: 0x1FA8,\n\t0x1F690345: 0x1FA9,\n\t0x1F6A0345: 0x1FAA,\n\t0x1F6B0345: 0x1FAB,\n\t0x1F6C0345: 0x1FAC,\n\t0x1F6D0345: 0x1FAD,\n\t0x1F6E0345: 0x1FAE,\n\t0x1F6F0345: 0x1FAF,\n\t0x03B10306: 0x1FB0,\n\t0x03B10304: 0x1FB1,\n\t0x1F700345: 0x1FB2,\n\t0x03B10345: 0x1FB3,\n\t0x03AC0345: 0x1FB4,\n\t0x03B10342: 0x1FB6,\n\t0x1FB60345: 0x1FB7,\n\t0x03910306: 0x1FB8,\n\t0x03910304: 0x1FB9,\n\t0x03910300: 0x1FBA,\n\t0x03910345: 0x1FBC,\n\t0x00A80342: 0x1FC1,\n\t0x1F740345: 0x1FC2,\n\t0x03B70345: 0x1FC3,\n\t0x03AE0345: 0x1FC4,\n\t0x03B70342: 0x1FC6,\n\t0x1FC60345: 0x1FC7,\n\t0x03950300: 0x1FC8,\n\t0x03970300: 0x1FCA,\n\t0x03970345: 0x1FCC,\n\t0x1FBF0300: 0x1FCD,\n\t0x1FBF0301: 0x1FCE,\n\t0x1FBF0342: 0x1FCF,\n\t0x03B90306: 0x1FD0,\n\t0x03B90304: 0x1FD1,\n\t0x03CA0300: 0x1FD2,\n\t0x03B90342: 0x1FD6,\n\t0x03CA0342: 0x1FD7,\n\t0x03990306: 0x1FD8,\n\t0x03990304: 0x1FD9,\n\t0x03990300: 0x1FDA,\n\t0x1FFE0300: 0x1FDD,\n\t0x1FFE0301: 0x1FDE,\n\t0x1FFE0342: 0x1FDF,\n\t0x03C50306: 0x1FE0,\n\t0x03C50304: 0x1FE1,\n\t0x03CB0300: 0x1FE2,\n\t0x03C10313: 0x1FE4,\n\t0x03C10314: 0x1FE5,\n\t0x03C50342: 0x1FE6,\n\t0x03CB0342: 0x1FE7,\n\t0x03A50306: 0x1FE8,\n\t0x03A50304: 0x1FE9,\n\t0x03A50300: 0x1FEA,\n\t0x03A10314: 0x1FEC,\n\t0x00A80300: 0x1FED,\n\t0x1F7C0345: 0x1FF2,\n\t0x03C90345: 0x1FF3,\n\t0x03CE0345: 0x1FF4,\n\t0x03C90342: 0x1FF6,\n\t0x1FF60345: 0x1FF7,\n\t0x039F0300: 0x1FF8,\n\t0x03A90300: 0x1FFA,\n\t0x03A90345: 0x1FFC,\n\t0x21900338: 0x219A,\n\t0x21920338: 0x219B,\n\t0x21940338: 0x21AE,\n\t0x21D00338: 0x21CD,\n\t0x21D40338: 0x21CE,\n\t0x21D20338: 0x21CF,\n\t0x22030338: 0x2204,\n\t0x22080338: 0x2209,\n\t0x220B0338: 0x220C,\n\t0x22230338: 0x2224,\n\t0x22250338: 0x2226,\n\t0x223C0338: 0x2241,\n\t0x22430338: 0x2244,\n\t0x22450338: 0x2247,\n\t0x22480338: 0x2249,\n\t0x003D0338: 0x2260,\n\t0x22610338: 0x2262,\n\t0x224D0338: 0x226D,\n\t0x003C0338: 0x226E,\n\t0x003E0338: 0x226F,\n\t0x22640338: 0x2270,\n\t0x22650338: 0x2271,\n\t0x22720338: 0x2274,\n\t0x22730338: 0x2275,\n\t0x22760338: 0x2278,\n\t0x22770338: 0x2279,\n\t0x227A0338: 0x2280,\n\t0x227B0338: 0x2281,\n\t0x22820338: 0x2284,\n\t0x22830338: 0x2285,\n\t0x22860338: 0x2288,\n\t0x22870338: 0x2289,\n\t0x22A20338: 0x22AC,\n\t0x22A80338: 0x22AD,\n\t0x22A90338: 0x22AE,\n\t0x22AB0338: 0x22AF,\n\t0x227C0338: 0x22E0,\n\t0x227D0338: 0x22E1,\n\t0x22910338: 0x22E2,\n\t0x22920338: 0x22E3,\n\t0x22B20338: 0x22EA,\n\t0x22B30338: 0x22EB,\n\t0x22B40338: 0x22EC,\n\t0x22B50338: 0x22ED,\n\t0x304B3099: 0x304C,\n\t0x304D3099: 0x304E,\n\t0x304F3099: 0x3050,\n\t0x30513099: 0x3052,\n\t0x30533099: 0x3054,\n\t0x30553099: 0x3056,\n\t0x30573099: 0x3058,\n\t0x30593099: 0x305A,\n\t0x305B3099: 0x305C,\n\t0x305D3099: 0x305E,\n\t0x305F3099: 0x3060,\n\t0x30613099: 0x3062,\n\t0x30643099: 0x3065,\n\t0x30663099: 0x3067,\n\t0x30683099: 0x3069,\n\t0x306F3099: 0x3070,\n\t0x306F309A: 0x3071,\n\t0x30723099: 0x3073,\n\t0x3072309A: 0x3074,\n\t0x30753099: 0x3076,\n\t0x3075309A: 0x3077,\n\t0x30783099: 0x3079,\n\t0x3078309A: 0x307A,\n\t0x307B3099: 0x307C,\n\t0x307B309A: 0x307D,\n\t0x30463099: 0x3094,\n\t0x309D3099: 0x309E,\n\t0x30AB3099: 0x30AC,\n\t0x30AD3099: 0x30AE,\n\t0x30AF3099: 0x30B0,\n\t0x30B13099: 0x30B2,\n\t0x30B33099: 0x30B4,\n\t0x30B53099: 0x30B6,\n\t0x30B73099: 0x30B8,\n\t0x30B93099: 0x30BA,\n\t0x30BB3099: 0x30BC,\n\t0x30BD3099: 0x30BE,\n\t0x30BF3099: 0x30C0,\n\t0x30C13099: 0x30C2,\n\t0x30C43099: 0x30C5,\n\t0x30C63099: 0x30C7,\n\t0x30C83099: 0x30C9,\n\t0x30CF3099: 0x30D0,\n\t0x30CF309A: 0x30D1,\n\t0x30D23099: 0x30D3,\n\t0x30D2309A: 0x30D4,\n\t0x30D53099: 0x30D6,\n\t0x30D5309A: 0x30D7,\n\t0x30D83099: 0x30D9,\n\t0x30D8309A: 0x30DA,\n\t0x30DB3099: 0x30DC,\n\t0x30DB309A: 0x30DD,\n\t0x30A63099: 0x30F4,\n\t0x30EF3099: 0x30F7,\n\t0x30F03099: 0x30F8,\n\t0x30F13099: 0x30F9,\n\t0x30F23099: 0x30FA,\n\t0x30FD3099: 0x30FE,\n\t0x109910BA: 0x1109A,\n\t0x109B10BA: 0x1109C,\n\t0x10A510BA: 0x110AB,\n\t0x11311127: 0x1112E,\n\t0x11321127: 0x1112F,\n\t0x1347133E: 0x1134B,\n\t0x13471357: 0x1134C,\n\t0x14B914BA: 0x114BB,\n\t0x14B914B0: 0x114BC,\n\t0x14B914BD: 0x114BE,\n\t0x15B815AF: 0x115BA,\n\t0x15B915AF: 0x115BB,\n}\n\n// Total size of tables: 53KB (54006 bytes)\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/transform.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\nimport (\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/transform\"\n)\n\n// Reset implements the Reset method of the transform.Transformer interface.\nfunc (Form) Reset() {}\n\n// Transform implements the Transform method of the transform.Transformer\n// interface. It may need to write segments of up to MaxSegmentSize at once.\n// Users should either catch ErrShortDst and allow dst to grow or have dst be at\n// least of size MaxTransformChunkSize to be guaranteed of progress.\nfunc (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\tn := 0\n\t// Cap the maximum number of src bytes to check.\n\tb := src\n\teof := atEOF\n\tif ns := len(dst); ns < len(b) {\n\t\terr = transform.ErrShortDst\n\t\teof = false\n\t\tb = b[:ns]\n\t}\n\ti, ok := formTable[f].quickSpan(inputBytes(b), n, len(b), eof)\n\tn += copy(dst[n:], b[n:i])\n\tif !ok {\n\t\tnDst, nSrc, err = f.transform(dst[n:], src[n:], atEOF)\n\t\treturn nDst + n, nSrc + n, err\n\t}\n\tif n < len(src) && !atEOF {\n\t\terr = transform.ErrShortSrc\n\t}\n\treturn n, n, err\n}\n\nfunc flushTransform(rb *reorderBuffer) bool {\n\t// Write out (must fully fit in dst, or else it is an ErrShortDst).\n\tif len(rb.out) < rb.nrune*utf8.UTFMax {\n\t\treturn false\n\t}\n\trb.out = rb.out[rb.flushCopy(rb.out):]\n\treturn true\n}\n\nvar errs = []error{nil, transform.ErrShortDst, transform.ErrShortSrc}\n\n// transform implements the transform.Transformer interface. It is only called\n// when quickSpan does not pass for a given string.\nfunc (f Form) transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\t// TODO: get rid of reorderBuffer. See CL 23460044.\n\trb := reorderBuffer{}\n\trb.init(f, src)\n\tfor {\n\t\t// Load segment into reorder buffer.\n\t\trb.setFlusher(dst[nDst:], flushTransform)\n\t\tend := decomposeSegment(&rb, nSrc, atEOF)\n\t\tif end < 0 {\n\t\t\treturn nDst, nSrc, errs[-end]\n\t\t}\n\t\tnDst = len(dst) - len(rb.out)\n\t\tnSrc = end\n\n\t\t// Next quickSpan.\n\t\tend = rb.nsrc\n\t\teof := atEOF\n\t\tif n := nSrc + len(dst) - nDst; n < end {\n\t\t\terr = transform.ErrShortDst\n\t\t\tend = n\n\t\t\teof = false\n\t\t}\n\t\tend, ok := rb.f.quickSpan(rb.src, nSrc, end, eof)\n\t\tn := copy(dst[nDst:], rb.src.bytes[nSrc:end])\n\t\tnSrc += n\n\t\tnDst += n\n\t\tif ok {\n\t\t\tif n < rb.nsrc && !atEOF {\n\t\t\t\terr = transform.ErrShortSrc\n\t\t\t}\n\t\t\treturn nDst, nSrc, err\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/trie.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\ntype valueRange struct {\n\tvalue  uint16 // header: value:stride\n\tlo, hi byte   // header: lo:n\n}\n\ntype sparseBlocks struct {\n\tvalues []valueRange\n\toffset []uint16\n}\n\nvar nfcSparse = sparseBlocks{\n\tvalues: nfcSparseValues[:],\n\toffset: nfcSparseOffset[:],\n}\n\nvar nfkcSparse = sparseBlocks{\n\tvalues: nfkcSparseValues[:],\n\toffset: nfkcSparseOffset[:],\n}\n\nvar (\n\tnfcData  = newNfcTrie(0)\n\tnfkcData = newNfkcTrie(0)\n)\n\n// lookupValue determines the type of block n and looks up the value for b.\n// For n < t.cutoff, the block is a simple lookup table. Otherwise, the block\n// is a list of ranges with an accompanying value. Given a matching range r,\n// the value for b is by r.value + (b - r.lo) * stride.\nfunc (t *sparseBlocks) lookup(n uint32, b byte) uint16 {\n\toffset := t.offset[n]\n\theader := t.values[offset]\n\tlo := offset + 1\n\thi := lo + uint16(header.lo)\n\tfor lo < hi {\n\t\tm := lo + (hi-lo)/2\n\t\tr := t.values[m]\n\t\tif r.lo <= b && b <= r.hi {\n\t\t\treturn r.value + uint16(b-r.lo)*header.value\n\t\t}\n\t\tif b < r.lo {\n\t\t\thi = m\n\t\t} else {\n\t\t\tlo = m + 1\n\t\t}\n\t}\n\treturn 0\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/triegen.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// Trie table generator.\n// Used by make*tables tools to generate a go file with trie data structures\n// for mapping UTF-8 to a 16-bit value. All but the last byte in a UTF-8 byte\n// sequence are used to lookup offsets in the index table to be used for the\n// next byte. The last byte is used to index into a table with 16-bit values.\n\npackage main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n)\n\nconst maxSparseEntries = 16\n\ntype normCompacter struct {\n\tsparseBlocks [][]uint64\n\tsparseOffset []uint16\n\tsparseCount  int\n\tname         string\n}\n\nfunc mostFrequentStride(a []uint64) int {\n\tcounts := make(map[int]int)\n\tvar v int\n\tfor _, x := range a {\n\t\tif stride := int(x) - v; v != 0 && stride >= 0 {\n\t\t\tcounts[stride]++\n\t\t}\n\t\tv = int(x)\n\t}\n\tvar maxs, maxc int\n\tfor stride, cnt := range counts {\n\t\tif cnt > maxc || (cnt == maxc && stride < maxs) {\n\t\t\tmaxs, maxc = stride, cnt\n\t\t}\n\t}\n\treturn maxs\n}\n\nfunc countSparseEntries(a []uint64) int {\n\tstride := mostFrequentStride(a)\n\tvar v, count int\n\tfor _, tv := range a {\n\t\tif int(tv)-v != stride {\n\t\t\tif tv != 0 {\n\t\t\t\tcount++\n\t\t\t}\n\t\t}\n\t\tv = int(tv)\n\t}\n\treturn count\n}\n\nfunc (c *normCompacter) Size(v []uint64) (sz int, ok bool) {\n\tif n := countSparseEntries(v); n <= maxSparseEntries {\n\t\treturn (n+1)*4 + 2, true\n\t}\n\treturn 0, false\n}\n\nfunc (c *normCompacter) Store(v []uint64) uint32 {\n\th := uint32(len(c.sparseOffset))\n\tc.sparseBlocks = append(c.sparseBlocks, v)\n\tc.sparseOffset = append(c.sparseOffset, uint16(c.sparseCount))\n\tc.sparseCount += countSparseEntries(v) + 1\n\treturn h\n}\n\nfunc (c *normCompacter) Handler() string {\n\treturn c.name + \"Sparse.lookup\"\n}\n\nfunc (c *normCompacter) Print(w io.Writer) (retErr error) {\n\tp := func(f string, x ...interface{}) {\n\t\tif _, err := fmt.Fprintf(w, f, x...); retErr == nil && err != nil {\n\t\t\tretErr = err\n\t\t}\n\t}\n\n\tls := len(c.sparseBlocks)\n\tp(\"// %sSparseOffset: %d entries, %d bytes\\n\", c.name, ls, ls*2)\n\tp(\"var %sSparseOffset = %#v\\n\\n\", c.name, c.sparseOffset)\n\n\tns := c.sparseCount\n\tp(\"// %sSparseValues: %d entries, %d bytes\\n\", c.name, ns, ns*4)\n\tp(\"var %sSparseValues = [%d]valueRange {\", c.name, ns)\n\tfor i, b := range c.sparseBlocks {\n\t\tp(\"\\n// Block %#x, offset %#x\", i, c.sparseOffset[i])\n\t\tvar v int\n\t\tstride := mostFrequentStride(b)\n\t\tn := countSparseEntries(b)\n\t\tp(\"\\n{value:%#04x,lo:%#02x},\", stride, uint8(n))\n\t\tfor i, nv := range b {\n\t\t\tif int(nv)-v != stride {\n\t\t\t\tif v != 0 {\n\t\t\t\t\tp(\",hi:%#02x},\", 0x80+i-1)\n\t\t\t\t}\n\t\t\t\tif nv != 0 {\n\t\t\t\t\tp(\"\\n{value:%#04x,lo:%#02x\", nv, 0x80+i)\n\t\t\t\t}\n\t\t\t}\n\t\t\tv = int(nv)\n\t\t}\n\t\tif v != 0 {\n\t\t\tp(\",hi:%#02x},\", 0x80+len(b)-1)\n\t\t}\n\t}\n\tp(\"\\n}\\n\\n\")\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/rangetable/gen.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\nimport (\n\t\"bytes\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"reflect\"\n\t\"strings\"\n\t\"unicode\"\n\n\t\"golang.org/x/text/collate\"\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/internal/ucd\"\n\t\"golang.org/x/text/language\"\n\t\"golang.org/x/text/unicode/rangetable\"\n)\n\nvar versionList = flag.String(\"versions\", \"\",\n\t\"list of versions for which to generate RangeTables\")\n\nconst bootstrapMessage = `No versions specified.\nTo bootstrap the code generation, run:\n\tgo run gen.go --versions=4.1.0,5.0.0,6.0.0,6.1.0,6.2.0,6.3.0,7.0.0\n\nand ensure that the latest versions are included by checking:\n\thttp://www.unicode.org/Public/`\n\nfunc getVersions() []string {\n\tif *versionList == \"\" {\n\t\tlog.Fatal(bootstrapMessage)\n\t}\n\n\tc := collate.New(language.Und, collate.Numeric)\n\tversions := strings.Split(*versionList, \",\")\n\tc.SortStrings(versions)\n\n\t// Ensure that at least the current version is included.\n\tfor _, v := range versions {\n\t\tif v == gen.UnicodeVersion() {\n\t\t\treturn versions\n\t\t}\n\t}\n\n\tversions = append(versions, gen.UnicodeVersion())\n\tc.SortStrings(versions)\n\treturn versions\n}\n\nfunc main() {\n\tgen.Init()\n\n\tversions := getVersions()\n\n\tw := &bytes.Buffer{}\n\n\tfmt.Fprintf(w, \"//go:generate go run gen.go --versions=%s\\n\\n\", strings.Join(versions, \",\"))\n\tfmt.Fprintf(w, \"import \\\"unicode\\\"\\n\\n\")\n\n\tvstr := func(s string) string { return strings.Replace(s, \".\", \"_\", -1) }\n\n\tfmt.Fprintf(w, \"var assigned = map[string]*unicode.RangeTable{\\n\")\n\tfor _, v := range versions {\n\t\tfmt.Fprintf(w, \"\\t%q: assigned%s,\\n\", v, vstr(v))\n\t}\n\tfmt.Fprintf(w, \"}\\n\\n\")\n\n\tvar size int\n\tfor _, v := range versions {\n\t\tassigned := []rune{}\n\n\t\tr := gen.Open(\"http://www.unicode.org/Public/\", \"\", v+\"/ucd/UnicodeData.txt\")\n\t\tucd.Parse(r, func(p *ucd.Parser) {\n\t\t\tassigned = append(assigned, p.Rune(0))\n\t\t})\n\n\t\trt := rangetable.New(assigned...)\n\t\tsz := int(reflect.TypeOf(unicode.RangeTable{}).Size())\n\t\tsz += int(reflect.TypeOf(unicode.Range16{}).Size()) * len(rt.R16)\n\t\tsz += int(reflect.TypeOf(unicode.Range32{}).Size()) * len(rt.R32)\n\n\t\tfmt.Fprintf(w, \"// size %d bytes (%d KiB)\\n\", sz, sz/1024)\n\t\tfmt.Fprintf(w, \"var assigned%s = \", vstr(v))\n\t\tprint(w, rt)\n\n\t\tsize += sz\n\t}\n\n\tfmt.Fprintf(w, \"// Total size %d bytes (%d KiB)\\n\", size, size/1024)\n\n\tgen.WriteVersionedGoFile(\"tables.go\", \"rangetable\", w.Bytes())\n}\n\nfunc print(w io.Writer, rt *unicode.RangeTable) {\n\tfmt.Fprintln(w, \"&unicode.RangeTable{\")\n\tfmt.Fprintln(w, \"\\tR16: []unicode.Range16{\")\n\tfor _, r := range rt.R16 {\n\t\tfmt.Fprintf(w, \"\\t\\t{%#04x, %#04x, %d},\\n\", r.Lo, r.Hi, r.Stride)\n\t}\n\tfmt.Fprintln(w, \"\\t},\")\n\tfmt.Fprintln(w, \"\\tR32: []unicode.Range32{\")\n\tfor _, r := range rt.R32 {\n\t\tfmt.Fprintf(w, \"\\t\\t{%#08x, %#08x, %d},\\n\", r.Lo, r.Hi, r.Stride)\n\t}\n\tfmt.Fprintln(w, \"\\t},\")\n\tfmt.Fprintf(w, \"\\tLatinOffset: %d,\\n\", rt.LatinOffset)\n\tfmt.Fprintf(w, \"}\\n\\n\")\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/rangetable/merge.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage rangetable\n\nimport (\n\t\"unicode\"\n)\n\n// atEnd is used to mark a completed iteration.\nconst atEnd = unicode.MaxRune + 1\n\n// Merge returns a new RangeTable that is the union of the given tables.\n// It can also be used to compact user-created RangeTables. The entries in\n// R16 and R32 for any given RangeTable should be sorted and non-overlapping.\n//\n// A lookup in the resulting table can be several times faster than using In\n// directly on the ranges. Merge is an expensive operation, however, and only\n// makes sense if one intends to use the result for more than a couple of\n// hundred lookups.\nfunc Merge(ranges ...*unicode.RangeTable) *unicode.RangeTable {\n\trt := &unicode.RangeTable{}\n\tif len(ranges) == 0 {\n\t\treturn rt\n\t}\n\n\titer := tablesIter(make([]tableIndex, len(ranges)))\n\n\tfor i, t := range ranges {\n\t\titer[i] = tableIndex{t, 0, atEnd}\n\t\tif len(t.R16) > 0 {\n\t\t\titer[i].next = rune(t.R16[0].Lo)\n\t\t}\n\t}\n\n\tif r0 := iter.next16(); r0.Stride != 0 {\n\t\tfor {\n\t\t\tr1 := iter.next16()\n\t\t\tif r1.Stride == 0 {\n\t\t\t\trt.R16 = append(rt.R16, r0)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tstride := r1.Lo - r0.Hi\n\t\t\tif (r1.Lo == r1.Hi || stride == r1.Stride) && (r0.Lo == r0.Hi || stride == r0.Stride) {\n\t\t\t\t// Fully merge the next range into the previous one.\n\t\t\t\tr0.Hi, r0.Stride = r1.Hi, stride\n\t\t\t\tcontinue\n\t\t\t} else if stride == r0.Stride {\n\t\t\t\t// Move the first element of r1 to r0. This may eliminate an\n\t\t\t\t// entry.\n\t\t\t\tr0.Hi = r1.Lo\n\t\t\t\tr0.Stride = stride\n\t\t\t\tr1.Lo = r1.Lo + r1.Stride\n\t\t\t\tif r1.Lo > r1.Hi {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\trt.R16 = append(rt.R16, r0)\n\t\t\tr0 = r1\n\t\t}\n\t}\n\n\tfor i, t := range ranges {\n\t\titer[i] = tableIndex{t, 0, atEnd}\n\t\tif len(t.R32) > 0 {\n\t\t\titer[i].next = rune(t.R32[0].Lo)\n\t\t}\n\t}\n\n\tif r0 := iter.next32(); r0.Stride != 0 {\n\t\tfor {\n\t\t\tr1 := iter.next32()\n\t\t\tif r1.Stride == 0 {\n\t\t\t\trt.R32 = append(rt.R32, r0)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tstride := r1.Lo - r0.Hi\n\t\t\tif (r1.Lo == r1.Hi || stride == r1.Stride) && (r0.Lo == r0.Hi || stride == r0.Stride) {\n\t\t\t\t// Fully merge the next range into the previous one.\n\t\t\t\tr0.Hi, r0.Stride = r1.Hi, stride\n\t\t\t\tcontinue\n\t\t\t} else if stride == r0.Stride {\n\t\t\t\t// Move the first element of r1 to r0. This may eliminate an\n\t\t\t\t// entry.\n\t\t\t\tr0.Hi = r1.Lo\n\t\t\t\tr1.Lo = r1.Lo + r1.Stride\n\t\t\t\tif r1.Lo > r1.Hi {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\trt.R32 = append(rt.R32, r0)\n\t\t\tr0 = r1\n\t\t}\n\t}\n\n\tfor i := 0; i < len(rt.R16) && rt.R16[i].Hi <= unicode.MaxLatin1; i++ {\n\t\trt.LatinOffset = i + 1\n\t}\n\n\treturn rt\n}\n\ntype tableIndex struct {\n\tt    *unicode.RangeTable\n\tp    uint32\n\tnext rune\n}\n\ntype tablesIter []tableIndex\n\n// sortIter does an insertion sort using the next field of tableIndex. Insertion\n// sort is a good sorting algorithm for this case.\nfunc sortIter(t []tableIndex) {\n\tfor i := range t {\n\t\tfor j := i; j > 0 && t[j-1].next > t[j].next; j-- {\n\t\t\tt[j], t[j-1] = t[j-1], t[j]\n\t\t}\n\t}\n}\n\n// next16 finds the ranged to be added to the table. If ranges overlap between\n// multiple tables it clips the result to a non-overlapping range if the\n// elements are not fully subsumed. It returns a zero range if there are no more\n// ranges.\nfunc (ti tablesIter) next16() unicode.Range16 {\n\tsortIter(ti)\n\n\tt0 := ti[0]\n\tif t0.next == atEnd {\n\t\treturn unicode.Range16{}\n\t}\n\tr0 := t0.t.R16[t0.p]\n\tr0.Lo = uint16(t0.next)\n\n\t// We restrict the Hi of the current range if it overlaps with another range.\n\tfor i := range ti {\n\t\ttn := ti[i]\n\t\t// Since our tableIndices are sorted by next, we can break if the there\n\t\t// is no overlap. The first value of a next range can always be merged\n\t\t// into the current one, so we can break in case of equality as well.\n\t\tif rune(r0.Hi) <= tn.next {\n\t\t\tbreak\n\t\t}\n\t\trn := tn.t.R16[tn.p]\n\t\trn.Lo = uint16(tn.next)\n\n\t\t// Limit r0.Hi based on next ranges in list, but allow it to overlap\n\t\t// with ranges as long as it subsumes it.\n\t\tm := (rn.Lo - r0.Lo) % r0.Stride\n\t\tif m == 0 && (rn.Stride == r0.Stride || rn.Lo == rn.Hi) {\n\t\t\t// Overlap, take the min of the two Hi values: for simplicity's sake\n\t\t\t// we only process one range at a time.\n\t\t\tif r0.Hi > rn.Hi {\n\t\t\t\tr0.Hi = rn.Hi\n\t\t\t}\n\t\t} else {\n\t\t\t// Not a compatible stride. Set to the last possible value before\n\t\t\t// rn.Lo, but ensure there is at least one value.\n\t\t\tif x := rn.Lo - m; r0.Lo <= x {\n\t\t\t\tr0.Hi = x\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\n\t// Update the next values for each table.\n\tfor i := range ti {\n\t\ttn := &ti[i]\n\t\tif rune(r0.Hi) < tn.next {\n\t\t\tbreak\n\t\t}\n\t\trn := tn.t.R16[tn.p]\n\t\tstride := rune(rn.Stride)\n\t\ttn.next += stride * (1 + ((rune(r0.Hi) - tn.next) / stride))\n\t\tif rune(rn.Hi) < tn.next {\n\t\t\tif tn.p++; int(tn.p) == len(tn.t.R16) {\n\t\t\t\ttn.next = atEnd\n\t\t\t} else {\n\t\t\t\ttn.next = rune(tn.t.R16[tn.p].Lo)\n\t\t\t}\n\t\t}\n\t}\n\n\tif r0.Lo == r0.Hi {\n\t\tr0.Stride = 1\n\t}\n\n\treturn r0\n}\n\n// next32 finds the ranged to be added to the table. If ranges overlap between\n// multiple tables it clips the result to a non-overlapping range if the\n// elements are not fully subsumed. It returns a zero range if there are no more\n// ranges.\nfunc (ti tablesIter) next32() unicode.Range32 {\n\tsortIter(ti)\n\n\tt0 := ti[0]\n\tif t0.next == atEnd {\n\t\treturn unicode.Range32{}\n\t}\n\tr0 := t0.t.R32[t0.p]\n\tr0.Lo = uint32(t0.next)\n\n\t// We restrict the Hi of the current range if it overlaps with another range.\n\tfor i := range ti {\n\t\ttn := ti[i]\n\t\t// Since our tableIndices are sorted by next, we can break if the there\n\t\t// is no overlap. The first value of a next range can always be merged\n\t\t// into the current one, so we can break in case of equality as well.\n\t\tif rune(r0.Hi) <= tn.next {\n\t\t\tbreak\n\t\t}\n\t\trn := tn.t.R32[tn.p]\n\t\trn.Lo = uint32(tn.next)\n\n\t\t// Limit r0.Hi based on next ranges in list, but allow it to overlap\n\t\t// with ranges as long as it subsumes it.\n\t\tm := (rn.Lo - r0.Lo) % r0.Stride\n\t\tif m == 0 && (rn.Stride == r0.Stride || rn.Lo == rn.Hi) {\n\t\t\t// Overlap, take the min of the two Hi values: for simplicity's sake\n\t\t\t// we only process one range at a time.\n\t\t\tif r0.Hi > rn.Hi {\n\t\t\t\tr0.Hi = rn.Hi\n\t\t\t}\n\t\t} else {\n\t\t\t// Not a compatible stride. Set to the last possible value before\n\t\t\t// rn.Lo, but ensure there is at least one value.\n\t\t\tif x := rn.Lo - m; r0.Lo <= x {\n\t\t\t\tr0.Hi = x\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\n\t// Update the next values for each table.\n\tfor i := range ti {\n\t\ttn := &ti[i]\n\t\tif rune(r0.Hi) < tn.next {\n\t\t\tbreak\n\t\t}\n\t\trn := tn.t.R32[tn.p]\n\t\tstride := rune(rn.Stride)\n\t\ttn.next += stride * (1 + ((rune(r0.Hi) - tn.next) / stride))\n\t\tif rune(rn.Hi) < tn.next {\n\t\t\tif tn.p++; int(tn.p) == len(tn.t.R32) {\n\t\t\t\ttn.next = atEnd\n\t\t\t} else {\n\t\t\t\ttn.next = rune(tn.t.R32[tn.p].Lo)\n\t\t\t}\n\t\t}\n\t}\n\n\tif r0.Lo == r0.Hi {\n\t\tr0.Stride = 1\n\t}\n\n\treturn r0\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/rangetable/rangetable.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package rangetable provides utilities for creating and inspecting\n// unicode.RangeTables.\npackage rangetable\n\nimport (\n\t\"sort\"\n\t\"unicode\"\n)\n\n// New creates a RangeTable from the given runes, which may contain duplicates.\nfunc New(r ...rune) *unicode.RangeTable {\n\tif len(r) == 0 {\n\t\treturn &unicode.RangeTable{}\n\t}\n\n\tsort.Sort(byRune(r))\n\n\t// Remove duplicates.\n\tk := 1\n\tfor i := 1; i < len(r); i++ {\n\t\tif r[k-1] != r[i] {\n\t\t\tr[k] = r[i]\n\t\t\tk++\n\t\t}\n\t}\n\n\tvar rt unicode.RangeTable\n\tfor _, r := range r[:k] {\n\t\tif r <= 0xFFFF {\n\t\t\trt.R16 = append(rt.R16, unicode.Range16{Lo: uint16(r), Hi: uint16(r), Stride: 1})\n\t\t} else {\n\t\t\trt.R32 = append(rt.R32, unicode.Range32{Lo: uint32(r), Hi: uint32(r), Stride: 1})\n\t\t}\n\t}\n\n\t// Optimize RangeTable.\n\treturn Merge(&rt)\n}\n\ntype byRune []rune\n\nfunc (r byRune) Len() int           { return len(r) }\nfunc (r byRune) Swap(i, j int)      { r[i], r[j] = r[j], r[i] }\nfunc (r byRune) Less(i, j int) bool { return r[i] < r[j] }\n\n// Visit visits all runes in the given RangeTable in order, calling fn for each.\nfunc Visit(rt *unicode.RangeTable, fn func(rune)) {\n\tfor _, r16 := range rt.R16 {\n\t\tfor r := rune(r16.Lo); r <= rune(r16.Hi); r += rune(r16.Stride) {\n\t\t\tfn(r)\n\t\t}\n\t}\n\tfor _, r32 := range rt.R32 {\n\t\tfor r := rune(r32.Lo); r <= rune(r32.Hi); r += rune(r32.Stride) {\n\t\t\tfn(r)\n\t\t}\n\t}\n}\n\n// Assigned returns a RangeTable with all assigned code points for a given\n// Unicode version. This includes graphic, format, control, and private-use\n// characters. It returns nil if the data for the given version is not\n// available.\nfunc Assigned(version string) *unicode.RangeTable {\n\treturn assigned[version]\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/rangetable/tables10.0.0.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// +build go1.10\n\npackage rangetable\n\n//go:generate go run gen.go --versions=4.1.0,5.1.0,5.2.0,5.0.0,6.1.0,6.2.0,6.3.0,6.0.0,7.0.0,8.0.0,9.0.0,10.0.0\n\nimport \"unicode\"\n\nvar assigned = map[string]*unicode.RangeTable{\n\t\"4.1.0\":  assigned4_1_0,\n\t\"5.1.0\":  assigned5_1_0,\n\t\"5.2.0\":  assigned5_2_0,\n\t\"5.0.0\":  assigned5_0_0,\n\t\"6.1.0\":  assigned6_1_0,\n\t\"6.2.0\":  assigned6_2_0,\n\t\"6.3.0\":  assigned6_3_0,\n\t\"6.0.0\":  assigned6_0_0,\n\t\"7.0.0\":  assigned7_0_0,\n\t\"8.0.0\":  assigned8_0_0,\n\t\"9.0.0\":  assigned9_0_0,\n\t\"10.0.0\": assigned10_0_0,\n}\n\n// size 2924 bytes (2 KiB)\nvar assigned4_1_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0241, 1},\n\t\t{0x0250, 0x036f, 1},\n\t\t{0x0374, 0x0375, 1},\n\t\t{0x037a, 0x037e, 4},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x03ce, 1},\n\t\t{0x03d0, 0x0486, 1},\n\t\t{0x0488, 0x04ce, 1},\n\t\t{0x04d0, 0x04f9, 1},\n\t\t{0x0500, 0x050f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05b9, 1},\n\t\t{0x05bb, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x060b, 0x0615, 1},\n\t\t{0x061b, 0x061e, 3},\n\t\t{0x061f, 0x0621, 2},\n\t\t{0x0622, 0x063a, 1},\n\t\t{0x0640, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x076d, 1},\n\t\t{0x0780, 0x07b1, 1},\n\t\t{0x0901, 0x0939, 1},\n\t\t{0x093c, 0x094d, 1},\n\t\t{0x0950, 0x0954, 1},\n\t\t{0x0958, 0x0970, 1},\n\t\t{0x097d, 0x0981, 4},\n\t\t{0x0982, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fa, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a59, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a74, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b43, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b61, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd7, 0x0be6, 15},\n\t\t{0x0be7, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3e, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c60, 0x0c61, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce6, 5},\n\t\t{0x0ce7, 0x0cef, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3e, 0x0d43, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d66, 5},\n\t\t{0x0d67, 0x0d6f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6a, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fcf, 0x0fd1, 1},\n\t\t{0x1000, 0x1021, 1},\n\t\t{0x1023, 0x1027, 1},\n\t\t{0x1029, 0x102a, 1},\n\t\t{0x102c, 0x1032, 1},\n\t\t{0x1036, 0x1039, 1},\n\t\t{0x1040, 0x1059, 1},\n\t\t{0x10a0, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1159, 1},\n\t\t{0x115f, 0x11a2, 1},\n\t\t{0x11a8, 0x11f9, 1},\n\t\t{0x1200, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1401, 0x1676, 1},\n\t\t{0x1680, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18a9, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19a9, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19d9, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a1f, 1},\n\t\t{0x1d00, 0x1dc3, 1},\n\t\t{0x1e00, 0x1e9b, 1},\n\t\t{0x1ea0, 0x1ef9, 1},\n\t\t{0x1f00, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2063, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b5, 1},\n\t\t{0x20d0, 0x20eb, 1},\n\t\t{0x2100, 0x214c, 1},\n\t\t{0x2153, 0x2183, 1},\n\t\t{0x2190, 0x23db, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x269c, 1},\n\t\t{0x26a0, 0x26b1, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x2758, 2},\n\t\t{0x2759, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27c6, 1},\n\t\t{0x27d0, 0x27eb, 1},\n\t\t{0x27f0, 0x2b13, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c80, 0x2cea, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2e00, 0x2e17, 1},\n\t\t{0x2e1c, 0x2e1d, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312c, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31cf, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x3243, 1},\n\t\t{0x3250, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fbb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa700, 0xa716, 1},\n\t\t{0xa800, 0xa82b, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6a, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe23, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d12a, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7c9, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3152 bytes (3 KiB)\nvar assigned5_1_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0523, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x061f, 1},\n\t\t{0x0621, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0901, 0x0939, 1},\n\t\t{0x093c, 0x094d, 1},\n\t\t{0x0950, 0x0954, 1},\n\t\t{0x0958, 0x0972, 1},\n\t\t{0x097b, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fa, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fd4, 1},\n\t\t{0x1000, 0x1099, 1},\n\t\t{0x109e, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1159, 1},\n\t\t{0x115f, 0x11a2, 1},\n\t\t{0x11a8, 0x11f9, 1},\n\t\t{0x1200, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1401, 0x1676, 1},\n\t\t{0x1680, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19a9, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19d9, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a1f, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1baa, 1},\n\t\t{0x1bae, 0x1bb9, 1},\n\t\t{0x1c00, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfe, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b5, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x214f, 1},\n\t\t{0x2153, 0x2188, 1},\n\t\t{0x2190, 0x23e7, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x269d, 1},\n\t\t{0x26a0, 0x26bc, 1},\n\t\t{0x26c0, 0x26c3, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x2758, 2},\n\t\t{0x2759, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27ca, 1},\n\t\t{0x27cc, 0x27d0, 4},\n\t\t{0x27d1, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b54, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2c6f, 1},\n\t\t{0x2c71, 0x2c7d, 1},\n\t\t{0x2c80, 0x2cea, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e30, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x3243, 1},\n\t\t{0x3250, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fc3, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa500, 0xa62b, 1},\n\t\t{0xa640, 0xa65f, 1},\n\t\t{0xa662, 0xa673, 1},\n\t\t{0xa67c, 0xa697, 1},\n\t\t{0xa700, 0xa78c, 1},\n\t\t{0xa7fb, 0xa82b, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xaa00, 161},\n\t\t{0xaa01, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa5f, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6a, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010900, 0x00010919, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010a00, 193},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3518 bytes (3 KiB)\nvar assigned5_2_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0525, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x061f, 1},\n\t\t{0x0621, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0900, 0x0939, 1},\n\t\t{0x093c, 0x094e, 1},\n\t\t{0x0950, 0x0955, 1},\n\t\t{0x0958, 0x0972, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fd8, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1baa, 1},\n\t\t{0x1bae, 0x1bb9, 1},\n\t\t{0x1c00, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cd0, 0x1cf2, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfd, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b8, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23e8, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26cd, 1},\n\t\t{0x26cf, 0x26e1, 1},\n\t\t{0x26e3, 0x26e8, 5},\n\t\t{0x26e9, 0x26ff, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27ca, 1},\n\t\t{0x27cc, 0x27d0, 4},\n\t\t{0x27d1, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf1, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e31, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa65f, 1},\n\t\t{0xa662, 0xa673, 1},\n\t\t{0xa67c, 0xa697, 1},\n\t\t{0xa6a0, 0xa6f7, 1},\n\t\t{0xa700, 0xa78c, 1},\n\t\t{0xa7fb, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaadf, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010a00, 193},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f131, 0x0001f13d, 12},\n\t\t{0x0001f13f, 0x0001f142, 3},\n\t\t{0x0001f146, 0x0001f14a, 4},\n\t\t{0x0001f14b, 0x0001f14e, 1},\n\t\t{0x0001f157, 0x0001f15f, 8},\n\t\t{0x0001f179, 0x0001f17b, 2},\n\t\t{0x0001f17c, 0x0001f17f, 3},\n\t\t{0x0001f18a, 0x0001f18d, 1},\n\t\t{0x0001f190, 0x0001f200, 112},\n\t\t{0x0001f210, 0x0001f231, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3026 bytes (2 KiB)\nvar assigned5_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x036f, 1},\n\t\t{0x0374, 0x0375, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x03ce, 1},\n\t\t{0x03d0, 0x0486, 1},\n\t\t{0x0488, 0x0513, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x060b, 0x0615, 1},\n\t\t{0x061b, 0x061e, 3},\n\t\t{0x061f, 0x0621, 2},\n\t\t{0x0622, 0x063a, 1},\n\t\t{0x0640, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x076d, 1},\n\t\t{0x0780, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0901, 0x0939, 1},\n\t\t{0x093c, 0x094d, 1},\n\t\t{0x0950, 0x0954, 1},\n\t\t{0x0958, 0x0970, 1},\n\t\t{0x097b, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fa, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a59, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a74, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b43, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b61, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd7, 0x0be6, 15},\n\t\t{0x0be7, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3e, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c60, 0x0c61, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3e, 0x0d43, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d66, 5},\n\t\t{0x0d67, 0x0d6f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6a, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fcf, 0x0fd1, 1},\n\t\t{0x1000, 0x1021, 1},\n\t\t{0x1023, 0x1027, 1},\n\t\t{0x1029, 0x102a, 1},\n\t\t{0x102c, 0x1032, 1},\n\t\t{0x1036, 0x1039, 1},\n\t\t{0x1040, 0x1059, 1},\n\t\t{0x10a0, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1159, 1},\n\t\t{0x115f, 0x11a2, 1},\n\t\t{0x11a8, 0x11f9, 1},\n\t\t{0x1200, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1401, 0x1676, 1},\n\t\t{0x1680, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18a9, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19a9, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19d9, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a1f, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1d00, 0x1dca, 1},\n\t\t{0x1dfe, 0x1e9b, 1},\n\t\t{0x1ea0, 0x1ef9, 1},\n\t\t{0x1f00, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2063, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b5, 1},\n\t\t{0x20d0, 0x20ef, 1},\n\t\t{0x2100, 0x214e, 1},\n\t\t{0x2153, 0x2184, 1},\n\t\t{0x2190, 0x23e7, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x269c, 1},\n\t\t{0x26a0, 0x26b2, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x2758, 2},\n\t\t{0x2759, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27ca, 1},\n\t\t{0x27d0, 0x27eb, 1},\n\t\t{0x27f0, 0x2b1a, 1},\n\t\t{0x2b20, 0x2b23, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2c6c, 1},\n\t\t{0x2c74, 0x2c77, 1},\n\t\t{0x2c80, 0x2cea, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2e00, 0x2e17, 1},\n\t\t{0x2e1c, 0x2e1d, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312c, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31cf, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x3243, 1},\n\t\t{0x3250, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fbb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa700, 0xa71a, 1},\n\t\t{0xa720, 0xa721, 1},\n\t\t{0xa800, 0xa82b, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6a, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe23, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010900, 0x00010919, 1},\n\t\t{0x0001091f, 0x00010a00, 225},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d12a, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4160 bytes (4 KiB)\nvar assigned6_1_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058f, 0x0591, 2},\n\t\t{0x0592, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0604, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a2, 0x08ac, 1},\n\t\t{0x08e4, 0x08fe, 1},\n\t\t{0x0900, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20b9, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e3b, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa697, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa793, 1},\n\t\t{0xa7a0, 0xa7aa, 1},\n\t\t{0xa7f8, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111d0, 0x000111d9, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f540, 0x0001f543, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4160 bytes (4 KiB)\nvar assigned6_2_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058f, 0x0591, 2},\n\t\t{0x0592, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0604, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a2, 0x08ac, 1},\n\t\t{0x08e4, 0x08fe, 1},\n\t\t{0x0900, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20ba, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e3b, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa697, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa793, 1},\n\t\t{0xa7a0, 0xa7aa, 1},\n\t\t{0xa7f8, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111d0, 0x000111d9, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f540, 0x0001f543, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4160 bytes (4 KiB)\nvar assigned6_3_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058f, 0x0591, 2},\n\t\t{0x0592, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0604, 1},\n\t\t{0x0606, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a2, 0x08ac, 1},\n\t\t{0x08e4, 0x08fe, 1},\n\t\t{0x0900, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20ba, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e3b, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa697, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa793, 1},\n\t\t{0xa7a0, 0xa7aa, 1},\n\t\t{0xa7f8, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111d0, 0x000111d9, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f540, 0x0001f543, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3812 bytes (3 KiB)\nvar assigned6_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x0900, 162},\n\t\t{0x0901, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1baa, 1},\n\t\t{0x1bae, 0x1bb9, 1},\n\t\t{0x1bc0, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cd0, 0x1cf2, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20b9, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x27ca, 1},\n\t\t{0x27cc, 0x27ce, 2},\n\t\t{0x27cf, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf1, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e31, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa673, 1},\n\t\t{0xa67c, 0xa697, 1},\n\t\t{0xa6a0, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa791, 1},\n\t\t{0xa7a0, 0xa7a9, 1},\n\t\t{0xa7fa, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaadf, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010a00, 193},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f169, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f5ff, 1},\n\t\t{0x0001f601, 0x0001f610, 1},\n\t\t{0x0001f612, 0x0001f614, 1},\n\t\t{0x0001f616, 0x0001f61c, 2},\n\t\t{0x0001f61d, 0x0001f61e, 1},\n\t\t{0x0001f620, 0x0001f625, 1},\n\t\t{0x0001f628, 0x0001f62b, 1},\n\t\t{0x0001f62d, 0x0001f630, 3},\n\t\t{0x0001f631, 0x0001f633, 1},\n\t\t{0x0001f635, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4898 bytes (4 KiB)\nvar assigned7_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a1, 0x08b2, 1},\n\t\t{0x08e4, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c81, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d01, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1cf8, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df5, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20bd, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23fa, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd1, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e42, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa69d, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa7ad, 1},\n\t\t{0xa7b0, 0xa7b1, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab5f, 1},\n\t\t{0xab64, 0xab65, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe2d, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018c, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111cd, 0x000111d0, 3},\n\t\t{0x000111d1, 0x000111da, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123d, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011301, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011357, 0x0001135d, 6},\n\t\t{0x0001135e, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115c9, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011ac0, 449},\n\t\t{0x00011ac1, 0x00011af8, 1},\n\t\t{0x00012000, 0x00012398, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f32c, 1},\n\t\t{0x0001f330, 0x0001f37d, 1},\n\t\t{0x0001f380, 0x0001f3ce, 1},\n\t\t{0x0001f3d4, 0x0001f3f7, 1},\n\t\t{0x0001f400, 0x0001f4fe, 1},\n\t\t{0x0001f500, 0x0001f54a, 1},\n\t\t{0x0001f550, 0x0001f579, 1},\n\t\t{0x0001f57b, 0x0001f5a3, 1},\n\t\t{0x0001f5a5, 0x0001f642, 1},\n\t\t{0x0001f645, 0x0001f6cf, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f3, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 5048 bytes (4 KiB)\nvar assigned8_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a1, 0x08b4, 1},\n\t\t{0x08e3, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0af9, 0x0b01, 8},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c5a, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c81, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d01, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d5f, 8},\n\t\t{0x0d60, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f5, 1},\n\t\t{0x13f8, 0x13fd, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1cf8, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df5, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20be, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x218b, 1},\n\t\t{0x2190, 0x23fa, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd1, 1},\n\t\t{0x2bec, 0x2bef, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e42, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fd5, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa6f7, 1},\n\t\t{0xa700, 0xa7ad, 1},\n\t\t{0xa7b0, 0xa7b7, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fd, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab65, 1},\n\t\t{0xab70, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018c, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x000108e0, 0x000108f2, 1},\n\t\t{0x000108f4, 0x000108f5, 1},\n\t\t{0x000108fb, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109bc, 0x000109cf, 1},\n\t\t{0x000109d2, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010c80, 0x00010cb2, 1},\n\t\t{0x00010cc0, 0x00010cf2, 1},\n\t\t{0x00010cfa, 0x00010cff, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111cd, 1},\n\t\t{0x000111d0, 0x000111df, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123d, 1},\n\t\t{0x00011280, 0x00011286, 1},\n\t\t{0x00011288, 0x0001128a, 2},\n\t\t{0x0001128b, 0x0001128d, 1},\n\t\t{0x0001128f, 0x0001129d, 1},\n\t\t{0x0001129f, 0x000112a9, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011300, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011350, 0x00011357, 7},\n\t\t{0x0001135d, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115dd, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00011700, 0x00011719, 1},\n\t\t{0x0001171d, 0x0001172b, 1},\n\t\t{0x00011730, 0x0001173f, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011ac0, 449},\n\t\t{0x00011ac1, 0x00011af8, 1},\n\t\t{0x00012000, 0x00012399, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00012480, 0x00012543, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00014400, 0x00014646, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1e8, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001da8b, 1},\n\t\t{0x0001da9b, 0x0001da9f, 1},\n\t\t{0x0001daa1, 0x0001daaf, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f579, 1},\n\t\t{0x0001f57b, 0x0001f5a3, 1},\n\t\t{0x0001f5a5, 0x0001f6d0, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f3, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x0001f910, 0x0001f918, 1},\n\t\t{0x0001f980, 0x0001f984, 1},\n\t\t{0x0001f9c0, 0x00020000, 1600},\n\t\t{0x00020001, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002b820, 0x0002cea1, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 5348 bytes (5 KiB)\nvar assigned9_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a1, 0x08b4, 1},\n\t\t{0x08b6, 0x08bd, 1},\n\t\t{0x08d4, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0af9, 0x0b01, 8},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c5a, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d01, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4f, 1},\n\t\t{0x0d54, 0x0d63, 1},\n\t\t{0x0d66, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f5, 1},\n\t\t{0x13f8, 0x13fd, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c88, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1cf8, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df5, 1},\n\t\t{0x1dfb, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20be, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x218b, 1},\n\t\t{0x2190, 0x23fe, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd1, 1},\n\t\t{0x2bec, 0x2bef, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e44, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fd5, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa6f7, 1},\n\t\t{0xa700, 0xa7ae, 1},\n\t\t{0xa7b0, 0xa7b7, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c5, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fd, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab65, 1},\n\t\t{0xab70, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018e, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x000104b0, 0x000104d3, 1},\n\t\t{0x000104d8, 0x000104fb, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x000108e0, 0x000108f2, 1},\n\t\t{0x000108f4, 0x000108f5, 1},\n\t\t{0x000108fb, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109bc, 0x000109cf, 1},\n\t\t{0x000109d2, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010c80, 0x00010cb2, 1},\n\t\t{0x00010cc0, 0x00010cf2, 1},\n\t\t{0x00010cfa, 0x00010cff, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111cd, 1},\n\t\t{0x000111d0, 0x000111df, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123e, 1},\n\t\t{0x00011280, 0x00011286, 1},\n\t\t{0x00011288, 0x0001128a, 2},\n\t\t{0x0001128b, 0x0001128d, 1},\n\t\t{0x0001128f, 0x0001129d, 1},\n\t\t{0x0001129f, 0x000112a9, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011300, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011350, 0x00011357, 7},\n\t\t{0x0001135d, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011400, 0x00011459, 1},\n\t\t{0x0001145b, 0x0001145d, 2},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115dd, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011660, 0x0001166c, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00011700, 0x00011719, 1},\n\t\t{0x0001171d, 0x0001172b, 1},\n\t\t{0x00011730, 0x0001173f, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011ac0, 449},\n\t\t{0x00011ac1, 0x00011af8, 1},\n\t\t{0x00011c00, 0x00011c08, 1},\n\t\t{0x00011c0a, 0x00011c36, 1},\n\t\t{0x00011c38, 0x00011c45, 1},\n\t\t{0x00011c50, 0x00011c6c, 1},\n\t\t{0x00011c70, 0x00011c8f, 1},\n\t\t{0x00011c92, 0x00011ca7, 1},\n\t\t{0x00011ca9, 0x00011cb6, 1},\n\t\t{0x00012000, 0x00012399, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00012480, 0x00012543, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00014400, 0x00014646, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x00016fe0, 0x00017000, 32},\n\t\t{0x00017001, 0x000187ec, 1},\n\t\t{0x00018800, 0x00018af2, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1e8, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001da8b, 1},\n\t\t{0x0001da9b, 0x0001da9f, 1},\n\t\t{0x0001daa1, 0x0001daaf, 1},\n\t\t{0x0001e000, 0x0001e006, 1},\n\t\t{0x0001e008, 0x0001e018, 1},\n\t\t{0x0001e01b, 0x0001e021, 1},\n\t\t{0x0001e023, 0x0001e024, 1},\n\t\t{0x0001e026, 0x0001e02a, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001e900, 0x0001e94a, 1},\n\t\t{0x0001e950, 0x0001e959, 1},\n\t\t{0x0001e95e, 0x0001e95f, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f1ac, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23b, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f6d2, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f6, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x0001f910, 0x0001f91e, 1},\n\t\t{0x0001f920, 0x0001f927, 1},\n\t\t{0x0001f930, 0x0001f933, 3},\n\t\t{0x0001f934, 0x0001f93e, 1},\n\t\t{0x0001f940, 0x0001f94b, 1},\n\t\t{0x0001f950, 0x0001f95e, 1},\n\t\t{0x0001f980, 0x0001f991, 1},\n\t\t{0x0001f9c0, 0x00020000, 1600},\n\t\t{0x00020001, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002b820, 0x0002cea1, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 5492 bytes (5 KiB)\nvar assigned10_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x0860, 2},\n\t\t{0x0861, 0x086a, 1},\n\t\t{0x08a0, 0x08b4, 1},\n\t\t{0x08b6, 0x08bd, 1},\n\t\t{0x08d4, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fd, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0af9, 0x0aff, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c5a, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d00, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4f, 1},\n\t\t{0x0d54, 0x0d63, 1},\n\t\t{0x0d66, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f5, 1},\n\t\t{0x13f8, 0x13fd, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c88, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df9, 1},\n\t\t{0x1dfb, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20bf, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x218b, 1},\n\t\t{0x2190, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd2, 1},\n\t\t{0x2bec, 0x2bef, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e49, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312e, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fea, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa6f7, 1},\n\t\t{0xa700, 0xa7ae, 1},\n\t\t{0xa7b0, 0xa7b7, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c5, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fd, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab65, 1},\n\t\t{0xab70, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018e, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x0001032d, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x000104b0, 0x000104d3, 1},\n\t\t{0x000104d8, 0x000104fb, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x000108e0, 0x000108f2, 1},\n\t\t{0x000108f4, 0x000108f5, 1},\n\t\t{0x000108fb, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109bc, 0x000109cf, 1},\n\t\t{0x000109d2, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010c80, 0x00010cb2, 1},\n\t\t{0x00010cc0, 0x00010cf2, 1},\n\t\t{0x00010cfa, 0x00010cff, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111cd, 1},\n\t\t{0x000111d0, 0x000111df, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123e, 1},\n\t\t{0x00011280, 0x00011286, 1},\n\t\t{0x00011288, 0x0001128a, 2},\n\t\t{0x0001128b, 0x0001128d, 1},\n\t\t{0x0001128f, 0x0001129d, 1},\n\t\t{0x0001129f, 0x000112a9, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011300, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011350, 0x00011357, 7},\n\t\t{0x0001135d, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011400, 0x00011459, 1},\n\t\t{0x0001145b, 0x0001145d, 2},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115dd, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011660, 0x0001166c, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00011700, 0x00011719, 1},\n\t\t{0x0001171d, 0x0001172b, 1},\n\t\t{0x00011730, 0x0001173f, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011a00, 257},\n\t\t{0x00011a01, 0x00011a47, 1},\n\t\t{0x00011a50, 0x00011a83, 1},\n\t\t{0x00011a86, 0x00011a9c, 1},\n\t\t{0x00011a9e, 0x00011aa2, 1},\n\t\t{0x00011ac0, 0x00011af8, 1},\n\t\t{0x00011c00, 0x00011c08, 1},\n\t\t{0x00011c0a, 0x00011c36, 1},\n\t\t{0x00011c38, 0x00011c45, 1},\n\t\t{0x00011c50, 0x00011c6c, 1},\n\t\t{0x00011c70, 0x00011c8f, 1},\n\t\t{0x00011c92, 0x00011ca7, 1},\n\t\t{0x00011ca9, 0x00011cb6, 1},\n\t\t{0x00011d00, 0x00011d06, 1},\n\t\t{0x00011d08, 0x00011d09, 1},\n\t\t{0x00011d0b, 0x00011d36, 1},\n\t\t{0x00011d3a, 0x00011d3c, 2},\n\t\t{0x00011d3d, 0x00011d3f, 2},\n\t\t{0x00011d40, 0x00011d47, 1},\n\t\t{0x00011d50, 0x00011d59, 1},\n\t\t{0x00012000, 0x00012399, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00012480, 0x00012543, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00014400, 0x00014646, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x00016fe0, 0x00016fe1, 1},\n\t\t{0x00017000, 0x000187ec, 1},\n\t\t{0x00018800, 0x00018af2, 1},\n\t\t{0x0001b000, 0x0001b11e, 1},\n\t\t{0x0001b170, 0x0001b2fb, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1e8, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001da8b, 1},\n\t\t{0x0001da9b, 0x0001da9f, 1},\n\t\t{0x0001daa1, 0x0001daaf, 1},\n\t\t{0x0001e000, 0x0001e006, 1},\n\t\t{0x0001e008, 0x0001e018, 1},\n\t\t{0x0001e01b, 0x0001e021, 1},\n\t\t{0x0001e023, 0x0001e024, 1},\n\t\t{0x0001e026, 0x0001e02a, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001e900, 0x0001e94a, 1},\n\t\t{0x0001e950, 0x0001e959, 1},\n\t\t{0x0001e95e, 0x0001e95f, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f1ac, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23b, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f260, 0x0001f265, 1},\n\t\t{0x0001f300, 0x0001f6d4, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f8, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x0001f900, 0x0001f90b, 1},\n\t\t{0x0001f910, 0x0001f93e, 1},\n\t\t{0x0001f940, 0x0001f94c, 1},\n\t\t{0x0001f950, 0x0001f96b, 1},\n\t\t{0x0001f980, 0x0001f997, 1},\n\t\t{0x0001f9c0, 0x0001f9d0, 16},\n\t\t{0x0001f9d1, 0x0001f9e6, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002b820, 0x0002cea1, 1},\n\t\t{0x0002ceb0, 0x0002ebe0, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// Total size 49698 bytes (48 KiB)\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/rangetable/tables9.0.0.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// +build !go1.10\n\npackage rangetable\n\n//go:generate go run gen.go --versions=4.1.0,5.1.0,5.2.0,5.0.0,6.1.0,6.2.0,6.3.0,6.0.0,7.0.0,8.0.0,9.0.0\n\nimport \"unicode\"\n\nvar assigned = map[string]*unicode.RangeTable{\n\t\"4.1.0\": assigned4_1_0,\n\t\"5.1.0\": assigned5_1_0,\n\t\"5.2.0\": assigned5_2_0,\n\t\"5.0.0\": assigned5_0_0,\n\t\"6.1.0\": assigned6_1_0,\n\t\"6.2.0\": assigned6_2_0,\n\t\"6.3.0\": assigned6_3_0,\n\t\"6.0.0\": assigned6_0_0,\n\t\"7.0.0\": assigned7_0_0,\n\t\"8.0.0\": assigned8_0_0,\n\t\"9.0.0\": assigned9_0_0,\n}\n\n// size 2924 bytes (2 KiB)\nvar assigned4_1_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0241, 1},\n\t\t{0x0250, 0x036f, 1},\n\t\t{0x0374, 0x0375, 1},\n\t\t{0x037a, 0x037e, 4},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x03ce, 1},\n\t\t{0x03d0, 0x0486, 1},\n\t\t{0x0488, 0x04ce, 1},\n\t\t{0x04d0, 0x04f9, 1},\n\t\t{0x0500, 0x050f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05b9, 1},\n\t\t{0x05bb, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x060b, 0x0615, 1},\n\t\t{0x061b, 0x061e, 3},\n\t\t{0x061f, 0x0621, 2},\n\t\t{0x0622, 0x063a, 1},\n\t\t{0x0640, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x076d, 1},\n\t\t{0x0780, 0x07b1, 1},\n\t\t{0x0901, 0x0939, 1},\n\t\t{0x093c, 0x094d, 1},\n\t\t{0x0950, 0x0954, 1},\n\t\t{0x0958, 0x0970, 1},\n\t\t{0x097d, 0x0981, 4},\n\t\t{0x0982, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fa, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a59, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a74, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b43, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b61, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd7, 0x0be6, 15},\n\t\t{0x0be7, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3e, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c60, 0x0c61, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce6, 5},\n\t\t{0x0ce7, 0x0cef, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3e, 0x0d43, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d66, 5},\n\t\t{0x0d67, 0x0d6f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6a, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fcf, 0x0fd1, 1},\n\t\t{0x1000, 0x1021, 1},\n\t\t{0x1023, 0x1027, 1},\n\t\t{0x1029, 0x102a, 1},\n\t\t{0x102c, 0x1032, 1},\n\t\t{0x1036, 0x1039, 1},\n\t\t{0x1040, 0x1059, 1},\n\t\t{0x10a0, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1159, 1},\n\t\t{0x115f, 0x11a2, 1},\n\t\t{0x11a8, 0x11f9, 1},\n\t\t{0x1200, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1401, 0x1676, 1},\n\t\t{0x1680, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18a9, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19a9, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19d9, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a1f, 1},\n\t\t{0x1d00, 0x1dc3, 1},\n\t\t{0x1e00, 0x1e9b, 1},\n\t\t{0x1ea0, 0x1ef9, 1},\n\t\t{0x1f00, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2063, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b5, 1},\n\t\t{0x20d0, 0x20eb, 1},\n\t\t{0x2100, 0x214c, 1},\n\t\t{0x2153, 0x2183, 1},\n\t\t{0x2190, 0x23db, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x269c, 1},\n\t\t{0x26a0, 0x26b1, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x2758, 2},\n\t\t{0x2759, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27c6, 1},\n\t\t{0x27d0, 0x27eb, 1},\n\t\t{0x27f0, 0x2b13, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c80, 0x2cea, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2e00, 0x2e17, 1},\n\t\t{0x2e1c, 0x2e1d, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312c, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31cf, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x3243, 1},\n\t\t{0x3250, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fbb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa700, 0xa716, 1},\n\t\t{0xa800, 0xa82b, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6a, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe23, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d12a, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7c9, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3152 bytes (3 KiB)\nvar assigned5_1_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0523, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x061f, 1},\n\t\t{0x0621, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0901, 0x0939, 1},\n\t\t{0x093c, 0x094d, 1},\n\t\t{0x0950, 0x0954, 1},\n\t\t{0x0958, 0x0972, 1},\n\t\t{0x097b, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fa, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fd4, 1},\n\t\t{0x1000, 0x1099, 1},\n\t\t{0x109e, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1159, 1},\n\t\t{0x115f, 0x11a2, 1},\n\t\t{0x11a8, 0x11f9, 1},\n\t\t{0x1200, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1401, 0x1676, 1},\n\t\t{0x1680, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19a9, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19d9, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a1f, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1baa, 1},\n\t\t{0x1bae, 0x1bb9, 1},\n\t\t{0x1c00, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfe, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b5, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x214f, 1},\n\t\t{0x2153, 0x2188, 1},\n\t\t{0x2190, 0x23e7, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x269d, 1},\n\t\t{0x26a0, 0x26bc, 1},\n\t\t{0x26c0, 0x26c3, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x2758, 2},\n\t\t{0x2759, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27ca, 1},\n\t\t{0x27cc, 0x27d0, 4},\n\t\t{0x27d1, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b54, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2c6f, 1},\n\t\t{0x2c71, 0x2c7d, 1},\n\t\t{0x2c80, 0x2cea, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e30, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x3243, 1},\n\t\t{0x3250, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fc3, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa500, 0xa62b, 1},\n\t\t{0xa640, 0xa65f, 1},\n\t\t{0xa662, 0xa673, 1},\n\t\t{0xa67c, 0xa697, 1},\n\t\t{0xa700, 0xa78c, 1},\n\t\t{0xa7fb, 0xa82b, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xaa00, 161},\n\t\t{0xaa01, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa5f, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6a, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010900, 0x00010919, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010a00, 193},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3518 bytes (3 KiB)\nvar assigned5_2_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0525, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x061f, 1},\n\t\t{0x0621, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0900, 0x0939, 1},\n\t\t{0x093c, 0x094e, 1},\n\t\t{0x0950, 0x0955, 1},\n\t\t{0x0958, 0x0972, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fd8, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1baa, 1},\n\t\t{0x1bae, 0x1bb9, 1},\n\t\t{0x1c00, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cd0, 0x1cf2, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfd, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b8, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23e8, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26cd, 1},\n\t\t{0x26cf, 0x26e1, 1},\n\t\t{0x26e3, 0x26e8, 5},\n\t\t{0x26e9, 0x26ff, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27ca, 1},\n\t\t{0x27cc, 0x27d0, 4},\n\t\t{0x27d1, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf1, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e31, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa65f, 1},\n\t\t{0xa662, 0xa673, 1},\n\t\t{0xa67c, 0xa697, 1},\n\t\t{0xa6a0, 0xa6f7, 1},\n\t\t{0xa700, 0xa78c, 1},\n\t\t{0xa7fb, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaadf, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010a00, 193},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f131, 0x0001f13d, 12},\n\t\t{0x0001f13f, 0x0001f142, 3},\n\t\t{0x0001f146, 0x0001f14a, 4},\n\t\t{0x0001f14b, 0x0001f14e, 1},\n\t\t{0x0001f157, 0x0001f15f, 8},\n\t\t{0x0001f179, 0x0001f17b, 2},\n\t\t{0x0001f17c, 0x0001f17f, 3},\n\t\t{0x0001f18a, 0x0001f18d, 1},\n\t\t{0x0001f190, 0x0001f200, 112},\n\t\t{0x0001f210, 0x0001f231, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3026 bytes (2 KiB)\nvar assigned5_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x036f, 1},\n\t\t{0x0374, 0x0375, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x03ce, 1},\n\t\t{0x03d0, 0x0486, 1},\n\t\t{0x0488, 0x0513, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x060b, 0x0615, 1},\n\t\t{0x061b, 0x061e, 3},\n\t\t{0x061f, 0x0621, 2},\n\t\t{0x0622, 0x063a, 1},\n\t\t{0x0640, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x076d, 1},\n\t\t{0x0780, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0901, 0x0939, 1},\n\t\t{0x093c, 0x094d, 1},\n\t\t{0x0950, 0x0954, 1},\n\t\t{0x0958, 0x0970, 1},\n\t\t{0x097b, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fa, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a59, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a74, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b43, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b61, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd7, 0x0be6, 15},\n\t\t{0x0be7, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3e, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c60, 0x0c61, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3e, 0x0d43, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d66, 5},\n\t\t{0x0d67, 0x0d6f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6a, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fcf, 0x0fd1, 1},\n\t\t{0x1000, 0x1021, 1},\n\t\t{0x1023, 0x1027, 1},\n\t\t{0x1029, 0x102a, 1},\n\t\t{0x102c, 0x1032, 1},\n\t\t{0x1036, 0x1039, 1},\n\t\t{0x1040, 0x1059, 1},\n\t\t{0x10a0, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1159, 1},\n\t\t{0x115f, 0x11a2, 1},\n\t\t{0x11a8, 0x11f9, 1},\n\t\t{0x1200, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1401, 0x1676, 1},\n\t\t{0x1680, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18a9, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19a9, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19d9, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a1f, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1d00, 0x1dca, 1},\n\t\t{0x1dfe, 0x1e9b, 1},\n\t\t{0x1ea0, 0x1ef9, 1},\n\t\t{0x1f00, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2063, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b5, 1},\n\t\t{0x20d0, 0x20ef, 1},\n\t\t{0x2100, 0x214e, 1},\n\t\t{0x2153, 0x2184, 1},\n\t\t{0x2190, 0x23e7, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x269c, 1},\n\t\t{0x26a0, 0x26b2, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x2758, 2},\n\t\t{0x2759, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27ca, 1},\n\t\t{0x27d0, 0x27eb, 1},\n\t\t{0x27f0, 0x2b1a, 1},\n\t\t{0x2b20, 0x2b23, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2c6c, 1},\n\t\t{0x2c74, 0x2c77, 1},\n\t\t{0x2c80, 0x2cea, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2e00, 0x2e17, 1},\n\t\t{0x2e1c, 0x2e1d, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312c, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31cf, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x3243, 1},\n\t\t{0x3250, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fbb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa700, 0xa71a, 1},\n\t\t{0xa720, 0xa721, 1},\n\t\t{0xa800, 0xa82b, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6a, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe23, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010900, 0x00010919, 1},\n\t\t{0x0001091f, 0x00010a00, 225},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d12a, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4160 bytes (4 KiB)\nvar assigned6_1_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058f, 0x0591, 2},\n\t\t{0x0592, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0604, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a2, 0x08ac, 1},\n\t\t{0x08e4, 0x08fe, 1},\n\t\t{0x0900, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20b9, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e3b, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa697, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa793, 1},\n\t\t{0xa7a0, 0xa7aa, 1},\n\t\t{0xa7f8, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111d0, 0x000111d9, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f540, 0x0001f543, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4160 bytes (4 KiB)\nvar assigned6_2_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058f, 0x0591, 2},\n\t\t{0x0592, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0604, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a2, 0x08ac, 1},\n\t\t{0x08e4, 0x08fe, 1},\n\t\t{0x0900, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20ba, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e3b, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa697, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa793, 1},\n\t\t{0xa7a0, 0xa7aa, 1},\n\t\t{0xa7f8, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111d0, 0x000111d9, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f540, 0x0001f543, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4160 bytes (4 KiB)\nvar assigned6_3_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058f, 0x0591, 2},\n\t\t{0x0592, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0604, 1},\n\t\t{0x0606, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a2, 0x08ac, 1},\n\t\t{0x08e4, 0x08fe, 1},\n\t\t{0x0900, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20ba, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e3b, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa697, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa793, 1},\n\t\t{0xa7a0, 0xa7aa, 1},\n\t\t{0xa7f8, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111d0, 0x000111d9, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f540, 0x0001f543, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3812 bytes (3 KiB)\nvar assigned6_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x0900, 162},\n\t\t{0x0901, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1baa, 1},\n\t\t{0x1bae, 0x1bb9, 1},\n\t\t{0x1bc0, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cd0, 0x1cf2, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20b9, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x27ca, 1},\n\t\t{0x27cc, 0x27ce, 2},\n\t\t{0x27cf, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf1, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e31, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa673, 1},\n\t\t{0xa67c, 0xa697, 1},\n\t\t{0xa6a0, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa791, 1},\n\t\t{0xa7a0, 0xa7a9, 1},\n\t\t{0xa7fa, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaadf, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010a00, 193},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f169, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f5ff, 1},\n\t\t{0x0001f601, 0x0001f610, 1},\n\t\t{0x0001f612, 0x0001f614, 1},\n\t\t{0x0001f616, 0x0001f61c, 2},\n\t\t{0x0001f61d, 0x0001f61e, 1},\n\t\t{0x0001f620, 0x0001f625, 1},\n\t\t{0x0001f628, 0x0001f62b, 1},\n\t\t{0x0001f62d, 0x0001f630, 3},\n\t\t{0x0001f631, 0x0001f633, 1},\n\t\t{0x0001f635, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4898 bytes (4 KiB)\nvar assigned7_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a1, 0x08b2, 1},\n\t\t{0x08e4, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c81, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d01, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1cf8, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df5, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20bd, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23fa, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd1, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e42, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa69d, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa7ad, 1},\n\t\t{0xa7b0, 0xa7b1, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab5f, 1},\n\t\t{0xab64, 0xab65, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe2d, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018c, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111cd, 0x000111d0, 3},\n\t\t{0x000111d1, 0x000111da, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123d, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011301, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011357, 0x0001135d, 6},\n\t\t{0x0001135e, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115c9, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011ac0, 449},\n\t\t{0x00011ac1, 0x00011af8, 1},\n\t\t{0x00012000, 0x00012398, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f32c, 1},\n\t\t{0x0001f330, 0x0001f37d, 1},\n\t\t{0x0001f380, 0x0001f3ce, 1},\n\t\t{0x0001f3d4, 0x0001f3f7, 1},\n\t\t{0x0001f400, 0x0001f4fe, 1},\n\t\t{0x0001f500, 0x0001f54a, 1},\n\t\t{0x0001f550, 0x0001f579, 1},\n\t\t{0x0001f57b, 0x0001f5a3, 1},\n\t\t{0x0001f5a5, 0x0001f642, 1},\n\t\t{0x0001f645, 0x0001f6cf, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f3, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 5048 bytes (4 KiB)\nvar assigned8_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a1, 0x08b4, 1},\n\t\t{0x08e3, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0af9, 0x0b01, 8},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c5a, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c81, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d01, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d5f, 8},\n\t\t{0x0d60, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f5, 1},\n\t\t{0x13f8, 0x13fd, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1cf8, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df5, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20be, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x218b, 1},\n\t\t{0x2190, 0x23fa, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd1, 1},\n\t\t{0x2bec, 0x2bef, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e42, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fd5, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa6f7, 1},\n\t\t{0xa700, 0xa7ad, 1},\n\t\t{0xa7b0, 0xa7b7, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fd, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab65, 1},\n\t\t{0xab70, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018c, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x000108e0, 0x000108f2, 1},\n\t\t{0x000108f4, 0x000108f5, 1},\n\t\t{0x000108fb, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109bc, 0x000109cf, 1},\n\t\t{0x000109d2, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010c80, 0x00010cb2, 1},\n\t\t{0x00010cc0, 0x00010cf2, 1},\n\t\t{0x00010cfa, 0x00010cff, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111cd, 1},\n\t\t{0x000111d0, 0x000111df, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123d, 1},\n\t\t{0x00011280, 0x00011286, 1},\n\t\t{0x00011288, 0x0001128a, 2},\n\t\t{0x0001128b, 0x0001128d, 1},\n\t\t{0x0001128f, 0x0001129d, 1},\n\t\t{0x0001129f, 0x000112a9, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011300, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011350, 0x00011357, 7},\n\t\t{0x0001135d, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115dd, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00011700, 0x00011719, 1},\n\t\t{0x0001171d, 0x0001172b, 1},\n\t\t{0x00011730, 0x0001173f, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011ac0, 449},\n\t\t{0x00011ac1, 0x00011af8, 1},\n\t\t{0x00012000, 0x00012399, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00012480, 0x00012543, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00014400, 0x00014646, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1e8, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001da8b, 1},\n\t\t{0x0001da9b, 0x0001da9f, 1},\n\t\t{0x0001daa1, 0x0001daaf, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f579, 1},\n\t\t{0x0001f57b, 0x0001f5a3, 1},\n\t\t{0x0001f5a5, 0x0001f6d0, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f3, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x0001f910, 0x0001f918, 1},\n\t\t{0x0001f980, 0x0001f984, 1},\n\t\t{0x0001f9c0, 0x00020000, 1600},\n\t\t{0x00020001, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002b820, 0x0002cea1, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 5348 bytes (5 KiB)\nvar assigned9_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a1, 0x08b4, 1},\n\t\t{0x08b6, 0x08bd, 1},\n\t\t{0x08d4, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0af9, 0x0b01, 8},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c5a, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d01, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4f, 1},\n\t\t{0x0d54, 0x0d63, 1},\n\t\t{0x0d66, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f5, 1},\n\t\t{0x13f8, 0x13fd, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c88, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1cf8, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df5, 1},\n\t\t{0x1dfb, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20be, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x218b, 1},\n\t\t{0x2190, 0x23fe, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd1, 1},\n\t\t{0x2bec, 0x2bef, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e44, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fd5, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa6f7, 1},\n\t\t{0xa700, 0xa7ae, 1},\n\t\t{0xa7b0, 0xa7b7, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c5, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fd, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab65, 1},\n\t\t{0xab70, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018e, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x000104b0, 0x000104d3, 1},\n\t\t{0x000104d8, 0x000104fb, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x000108e0, 0x000108f2, 1},\n\t\t{0x000108f4, 0x000108f5, 1},\n\t\t{0x000108fb, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109bc, 0x000109cf, 1},\n\t\t{0x000109d2, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010c80, 0x00010cb2, 1},\n\t\t{0x00010cc0, 0x00010cf2, 1},\n\t\t{0x00010cfa, 0x00010cff, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111cd, 1},\n\t\t{0x000111d0, 0x000111df, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123e, 1},\n\t\t{0x00011280, 0x00011286, 1},\n\t\t{0x00011288, 0x0001128a, 2},\n\t\t{0x0001128b, 0x0001128d, 1},\n\t\t{0x0001128f, 0x0001129d, 1},\n\t\t{0x0001129f, 0x000112a9, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011300, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011350, 0x00011357, 7},\n\t\t{0x0001135d, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011400, 0x00011459, 1},\n\t\t{0x0001145b, 0x0001145d, 2},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115dd, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011660, 0x0001166c, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00011700, 0x00011719, 1},\n\t\t{0x0001171d, 0x0001172b, 1},\n\t\t{0x00011730, 0x0001173f, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011ac0, 449},\n\t\t{0x00011ac1, 0x00011af8, 1},\n\t\t{0x00011c00, 0x00011c08, 1},\n\t\t{0x00011c0a, 0x00011c36, 1},\n\t\t{0x00011c38, 0x00011c45, 1},\n\t\t{0x00011c50, 0x00011c6c, 1},\n\t\t{0x00011c70, 0x00011c8f, 1},\n\t\t{0x00011c92, 0x00011ca7, 1},\n\t\t{0x00011ca9, 0x00011cb6, 1},\n\t\t{0x00012000, 0x00012399, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00012480, 0x00012543, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00014400, 0x00014646, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x00016fe0, 0x00017000, 32},\n\t\t{0x00017001, 0x000187ec, 1},\n\t\t{0x00018800, 0x00018af2, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1e8, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001da8b, 1},\n\t\t{0x0001da9b, 0x0001da9f, 1},\n\t\t{0x0001daa1, 0x0001daaf, 1},\n\t\t{0x0001e000, 0x0001e006, 1},\n\t\t{0x0001e008, 0x0001e018, 1},\n\t\t{0x0001e01b, 0x0001e021, 1},\n\t\t{0x0001e023, 0x0001e024, 1},\n\t\t{0x0001e026, 0x0001e02a, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001e900, 0x0001e94a, 1},\n\t\t{0x0001e950, 0x0001e959, 1},\n\t\t{0x0001e95e, 0x0001e95f, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f1ac, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23b, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f6d2, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f6, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x0001f910, 0x0001f91e, 1},\n\t\t{0x0001f920, 0x0001f927, 1},\n\t\t{0x0001f930, 0x0001f933, 3},\n\t\t{0x0001f934, 0x0001f93e, 1},\n\t\t{0x0001f940, 0x0001f94b, 1},\n\t\t{0x0001f950, 0x0001f95e, 1},\n\t\t{0x0001f980, 0x0001f991, 1},\n\t\t{0x0001f9c0, 0x00020000, 1600},\n\t\t{0x00020001, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002b820, 0x0002cea1, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// Total size 44206 bytes (43 KiB)\n"
  },
  {
    "path": "vendor/golang.org/x/time/LICENSE",
    "content": "Copyright (c) 2009 The Go Authors. 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\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/golang.org/x/time/PATENTS",
    "content": "Additional IP Rights Grant (Patents)\n\n\"This implementation\" means the copyrightable works distributed by\nGoogle as part of the Go project.\n\nGoogle hereby grants to You a perpetual, worldwide, non-exclusive,\nno-charge, royalty-free, irrevocable (except as stated in this section)\npatent license to make, have made, use, offer to sell, sell, import,\ntransfer and otherwise run, modify and propagate the contents of this\nimplementation of Go, where such license applies only to those patent\nclaims, both currently owned or controlled by Google and acquired in\nthe future, licensable by Google that are necessarily infringed by this\nimplementation of Go.  This grant does not include claims that would be\ninfringed only as a consequence of further modification of this\nimplementation.  If you or your agent or exclusive licensee institute or\norder or agree to the institution of patent litigation against any\nentity (including a cross-claim or counterclaim in a lawsuit) alleging\nthat this implementation of Go or any code incorporated within this\nimplementation of Go constitutes direct or contributory patent\ninfringement, or inducement of patent infringement, then any patent\nrights granted to you under this License for this implementation of Go\nshall terminate as of the date such litigation is filed.\n"
  },
  {
    "path": "vendor/golang.org/x/time/rate/rate.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package rate provides a rate limiter.\npackage rate\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"sync\"\n\t\"time\"\n)\n\n// Limit defines the maximum frequency of some events.\n// Limit is represented as number of events per second.\n// A zero Limit allows no events.\ntype Limit float64\n\n// Inf is the infinite rate limit; it allows all events (even if burst is zero).\nconst Inf = Limit(math.MaxFloat64)\n\n// Every converts a minimum time interval between events to a Limit.\nfunc Every(interval time.Duration) Limit {\n\tif interval <= 0 {\n\t\treturn Inf\n\t}\n\treturn 1 / Limit(interval.Seconds())\n}\n\n// A Limiter controls how frequently events are allowed to happen.\n// It implements a \"token bucket\" of size b, initially full and refilled\n// at rate r tokens per second.\n// Informally, in any large enough time interval, the Limiter limits the\n// rate to r tokens per second, with a maximum burst size of b events.\n// As a special case, if r == Inf (the infinite rate), b is ignored.\n// See https://en.wikipedia.org/wiki/Token_bucket for more about token buckets.\n//\n// The zero value is a valid Limiter, but it will reject all events.\n// Use NewLimiter to create non-zero Limiters.\n//\n// Limiter has three main methods, Allow, Reserve, and Wait.\n// Most callers should use Wait.\n//\n// Each of the three methods consumes a single token.\n// They differ in their behavior when no token is available.\n// If no token is available, Allow returns false.\n// If no token is available, Reserve returns a reservation for a future token\n// and the amount of time the caller must wait before using it.\n// If no token is available, Wait blocks until one can be obtained\n// or its associated context.Context is canceled.\n//\n// The methods AllowN, ReserveN, and WaitN consume n tokens.\ntype Limiter struct {\n\tlimit Limit\n\tburst int\n\n\tmu     sync.Mutex\n\ttokens float64\n\t// last is the last time the limiter's tokens field was updated\n\tlast time.Time\n\t// lastEvent is the latest time of a rate-limited event (past or future)\n\tlastEvent time.Time\n}\n\n// Limit returns the maximum overall event rate.\nfunc (lim *Limiter) Limit() Limit {\n\tlim.mu.Lock()\n\tdefer lim.mu.Unlock()\n\treturn lim.limit\n}\n\n// Burst returns the maximum burst size. Burst is the maximum number of tokens\n// that can be consumed in a single call to Allow, Reserve, or Wait, so higher\n// Burst values allow more events to happen at once.\n// A zero Burst allows no events, unless limit == Inf.\nfunc (lim *Limiter) Burst() int {\n\treturn lim.burst\n}\n\n// NewLimiter returns a new Limiter that allows events up to rate r and permits\n// bursts of at most b tokens.\nfunc NewLimiter(r Limit, b int) *Limiter {\n\treturn &Limiter{\n\t\tlimit: r,\n\t\tburst: b,\n\t}\n}\n\n// Allow is shorthand for AllowN(time.Now(), 1).\nfunc (lim *Limiter) Allow() bool {\n\treturn lim.AllowN(time.Now(), 1)\n}\n\n// AllowN reports whether n events may happen at time now.\n// Use this method if you intend to drop / skip events that exceed the rate limit.\n// Otherwise use Reserve or Wait.\nfunc (lim *Limiter) AllowN(now time.Time, n int) bool {\n\treturn lim.reserveN(now, n, 0).ok\n}\n\n// A Reservation holds information about events that are permitted by a Limiter to happen after a delay.\n// A Reservation may be canceled, which may enable the Limiter to permit additional events.\ntype Reservation struct {\n\tok        bool\n\tlim       *Limiter\n\ttokens    int\n\ttimeToAct time.Time\n\t// This is the Limit at reservation time, it can change later.\n\tlimit Limit\n}\n\n// OK returns whether the limiter can provide the requested number of tokens\n// within the maximum wait time.  If OK is false, Delay returns InfDuration, and\n// Cancel does nothing.\nfunc (r *Reservation) OK() bool {\n\treturn r.ok\n}\n\n// Delay is shorthand for DelayFrom(time.Now()).\nfunc (r *Reservation) Delay() time.Duration {\n\treturn r.DelayFrom(time.Now())\n}\n\n// InfDuration is the duration returned by Delay when a Reservation is not OK.\nconst InfDuration = time.Duration(1<<63 - 1)\n\n// DelayFrom returns the duration for which the reservation holder must wait\n// before taking the reserved action.  Zero duration means act immediately.\n// InfDuration means the limiter cannot grant the tokens requested in this\n// Reservation within the maximum wait time.\nfunc (r *Reservation) DelayFrom(now time.Time) time.Duration {\n\tif !r.ok {\n\t\treturn InfDuration\n\t}\n\tdelay := r.timeToAct.Sub(now)\n\tif delay < 0 {\n\t\treturn 0\n\t}\n\treturn delay\n}\n\n// Cancel is shorthand for CancelAt(time.Now()).\nfunc (r *Reservation) Cancel() {\n\tr.CancelAt(time.Now())\n\treturn\n}\n\n// CancelAt indicates that the reservation holder will not perform the reserved action\n// and reverses the effects of this Reservation on the rate limit as much as possible,\n// considering that other reservations may have already been made.\nfunc (r *Reservation) CancelAt(now time.Time) {\n\tif !r.ok {\n\t\treturn\n\t}\n\n\tr.lim.mu.Lock()\n\tdefer r.lim.mu.Unlock()\n\n\tif r.lim.limit == Inf || r.tokens == 0 || r.timeToAct.Before(now) {\n\t\treturn\n\t}\n\n\t// calculate tokens to restore\n\t// The duration between lim.lastEvent and r.timeToAct tells us how many tokens were reserved\n\t// after r was obtained. These tokens should not be restored.\n\trestoreTokens := float64(r.tokens) - r.limit.tokensFromDuration(r.lim.lastEvent.Sub(r.timeToAct))\n\tif restoreTokens <= 0 {\n\t\treturn\n\t}\n\t// advance time to now\n\tnow, _, tokens := r.lim.advance(now)\n\t// calculate new number of tokens\n\ttokens += restoreTokens\n\tif burst := float64(r.lim.burst); tokens > burst {\n\t\ttokens = burst\n\t}\n\t// update state\n\tr.lim.last = now\n\tr.lim.tokens = tokens\n\tif r.timeToAct == r.lim.lastEvent {\n\t\tprevEvent := r.timeToAct.Add(r.limit.durationFromTokens(float64(-r.tokens)))\n\t\tif !prevEvent.Before(now) {\n\t\t\tr.lim.lastEvent = prevEvent\n\t\t}\n\t}\n\n\treturn\n}\n\n// Reserve is shorthand for ReserveN(time.Now(), 1).\nfunc (lim *Limiter) Reserve() *Reservation {\n\treturn lim.ReserveN(time.Now(), 1)\n}\n\n// ReserveN returns a Reservation that indicates how long the caller must wait before n events happen.\n// The Limiter takes this Reservation into account when allowing future events.\n// ReserveN returns false if n exceeds the Limiter's burst size.\n// Usage example:\n//   r := lim.ReserveN(time.Now(), 1)\n//   if !r.OK() {\n//     // Not allowed to act! Did you remember to set lim.burst to be > 0 ?\n//     return\n//   }\n//   time.Sleep(r.Delay())\n//   Act()\n// Use this method if you wish to wait and slow down in accordance with the rate limit without dropping events.\n// If you need to respect a deadline or cancel the delay, use Wait instead.\n// To drop or skip events exceeding rate limit, use Allow instead.\nfunc (lim *Limiter) ReserveN(now time.Time, n int) *Reservation {\n\tr := lim.reserveN(now, n, InfDuration)\n\treturn &r\n}\n\n// contextContext is a temporary(?) copy of the context.Context type\n// to support both Go 1.6 using golang.org/x/net/context and Go 1.7+\n// with the built-in context package. If people ever stop using Go 1.6\n// we can remove this.\ntype contextContext interface {\n\tDeadline() (deadline time.Time, ok bool)\n\tDone() <-chan struct{}\n\tErr() error\n\tValue(key interface{}) interface{}\n}\n\n// Wait is shorthand for WaitN(ctx, 1).\nfunc (lim *Limiter) wait(ctx contextContext) (err error) {\n\treturn lim.WaitN(ctx, 1)\n}\n\n// WaitN blocks until lim permits n events to happen.\n// It returns an error if n exceeds the Limiter's burst size, the Context is\n// canceled, or the expected wait time exceeds the Context's Deadline.\n// The burst limit is ignored if the rate limit is Inf.\nfunc (lim *Limiter) waitN(ctx contextContext, n int) (err error) {\n\tif n > lim.burst && lim.limit != Inf {\n\t\treturn fmt.Errorf(\"rate: Wait(n=%d) exceeds limiter's burst %d\", n, lim.burst)\n\t}\n\t// Check if ctx is already cancelled\n\tselect {\n\tcase <-ctx.Done():\n\t\treturn ctx.Err()\n\tdefault:\n\t}\n\t// Determine wait limit\n\tnow := time.Now()\n\twaitLimit := InfDuration\n\tif deadline, ok := ctx.Deadline(); ok {\n\t\twaitLimit = deadline.Sub(now)\n\t}\n\t// Reserve\n\tr := lim.reserveN(now, n, waitLimit)\n\tif !r.ok {\n\t\treturn fmt.Errorf(\"rate: Wait(n=%d) would exceed context deadline\", n)\n\t}\n\t// Wait\n\tt := time.NewTimer(r.DelayFrom(now))\n\tdefer t.Stop()\n\tselect {\n\tcase <-t.C:\n\t\t// We can proceed.\n\t\treturn nil\n\tcase <-ctx.Done():\n\t\t// Context was canceled before we could proceed.  Cancel the\n\t\t// reservation, which may permit other events to proceed sooner.\n\t\tr.Cancel()\n\t\treturn ctx.Err()\n\t}\n}\n\n// SetLimit is shorthand for SetLimitAt(time.Now(), newLimit).\nfunc (lim *Limiter) SetLimit(newLimit Limit) {\n\tlim.SetLimitAt(time.Now(), newLimit)\n}\n\n// SetLimitAt sets a new Limit for the limiter. The new Limit, and Burst, may be violated\n// or underutilized by those which reserved (using Reserve or Wait) but did not yet act\n// before SetLimitAt was called.\nfunc (lim *Limiter) SetLimitAt(now time.Time, newLimit Limit) {\n\tlim.mu.Lock()\n\tdefer lim.mu.Unlock()\n\n\tnow, _, tokens := lim.advance(now)\n\n\tlim.last = now\n\tlim.tokens = tokens\n\tlim.limit = newLimit\n}\n\n// reserveN is a helper method for AllowN, ReserveN, and WaitN.\n// maxFutureReserve specifies the maximum reservation wait duration allowed.\n// reserveN returns Reservation, not *Reservation, to avoid allocation in AllowN and WaitN.\nfunc (lim *Limiter) reserveN(now time.Time, n int, maxFutureReserve time.Duration) Reservation {\n\tlim.mu.Lock()\n\n\tif lim.limit == Inf {\n\t\tlim.mu.Unlock()\n\t\treturn Reservation{\n\t\t\tok:        true,\n\t\t\tlim:       lim,\n\t\t\ttokens:    n,\n\t\t\ttimeToAct: now,\n\t\t}\n\t}\n\n\tnow, last, tokens := lim.advance(now)\n\n\t// Calculate the remaining number of tokens resulting from the request.\n\ttokens -= float64(n)\n\n\t// Calculate the wait duration\n\tvar waitDuration time.Duration\n\tif tokens < 0 {\n\t\twaitDuration = lim.limit.durationFromTokens(-tokens)\n\t}\n\n\t// Decide result\n\tok := n <= lim.burst && waitDuration <= maxFutureReserve\n\n\t// Prepare reservation\n\tr := Reservation{\n\t\tok:    ok,\n\t\tlim:   lim,\n\t\tlimit: lim.limit,\n\t}\n\tif ok {\n\t\tr.tokens = n\n\t\tr.timeToAct = now.Add(waitDuration)\n\t}\n\n\t// Update state\n\tif ok {\n\t\tlim.last = now\n\t\tlim.tokens = tokens\n\t\tlim.lastEvent = r.timeToAct\n\t} else {\n\t\tlim.last = last\n\t}\n\n\tlim.mu.Unlock()\n\treturn r\n}\n\n// advance calculates and returns an updated state for lim resulting from the passage of time.\n// lim is not changed.\nfunc (lim *Limiter) advance(now time.Time) (newNow time.Time, newLast time.Time, newTokens float64) {\n\tlast := lim.last\n\tif now.Before(last) {\n\t\tlast = now\n\t}\n\n\t// Avoid making delta overflow below when last is very old.\n\tmaxElapsed := lim.limit.durationFromTokens(float64(lim.burst) - lim.tokens)\n\telapsed := now.Sub(last)\n\tif elapsed > maxElapsed {\n\t\telapsed = maxElapsed\n\t}\n\n\t// Calculate the new number of tokens, due to time that passed.\n\tdelta := lim.limit.tokensFromDuration(elapsed)\n\ttokens := lim.tokens + delta\n\tif burst := float64(lim.burst); tokens > burst {\n\t\ttokens = burst\n\t}\n\n\treturn now, last, tokens\n}\n\n// durationFromTokens is a unit conversion function from the number of tokens to the duration\n// of time it takes to accumulate them at a rate of limit tokens per second.\nfunc (limit Limit) durationFromTokens(tokens float64) time.Duration {\n\tseconds := tokens / float64(limit)\n\treturn time.Nanosecond * time.Duration(1e9*seconds)\n}\n\n// tokensFromDuration is a unit conversion function from a time duration to the number of tokens\n// which could be accumulated during that duration at a rate of limit tokens per second.\nfunc (limit Limit) tokensFromDuration(d time.Duration) float64 {\n\treturn d.Seconds() * float64(limit)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/time/rate/rate_go16.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.7\n\npackage rate\n\nimport \"golang.org/x/net/context\"\n\n// Wait is shorthand for WaitN(ctx, 1).\nfunc (lim *Limiter) Wait(ctx context.Context) (err error) {\n\treturn lim.waitN(ctx, 1)\n}\n\n// WaitN blocks until lim permits n events to happen.\n// It returns an error if n exceeds the Limiter's burst size, the Context is\n// canceled, or the expected wait time exceeds the Context's Deadline.\nfunc (lim *Limiter) WaitN(ctx context.Context, n int) (err error) {\n\treturn lim.waitN(ctx, n)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/time/rate/rate_go17.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.7\n\npackage rate\n\nimport \"context\"\n\n// Wait is shorthand for WaitN(ctx, 1).\nfunc (lim *Limiter) Wait(ctx context.Context) (err error) {\n\treturn lim.waitN(ctx, 1)\n}\n\n// WaitN blocks until lim permits n events to happen.\n// It returns an error if n exceeds the Limiter's burst size, the Context is\n// canceled, or the expected wait time exceeds the Context's Deadline.\nfunc (lim *Limiter) WaitN(ctx context.Context, n int) (err error) {\n\treturn lim.waitN(ctx, n)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/LICENSE",
    "content": "Copyright ©2013 The Gonum Authors. All 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    * 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 the gonum project nor the names of its authors and\n      contributors may be used to endorse or promote products derived from this\n      software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS 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 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": "vendor/gonum.org/v1/gonum/blas/blas.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//go:generate ./conversions.bash\n\npackage blas\n\n// Flag constants indicate Givens transformation H matrix state.\ntype Flag int\n\nconst (\n\tIdentity    Flag = iota - 2 // H is the identity matrix; no rotation is needed.\n\tRescaling                   // H specifies rescaling.\n\tOffDiagonal                 // Off-diagonal elements of H are units.\n\tDiagonal                    // Diagonal elements of H are units.\n)\n\n// SrotmParams contains Givens transformation parameters returned\n// by the Float32 Srotm method.\ntype SrotmParams struct {\n\tFlag\n\tH [4]float32 // Column-major 2 by 2 matrix.\n}\n\n// DrotmParams contains Givens transformation parameters returned\n// by the Float64 Drotm method.\ntype DrotmParams struct {\n\tFlag\n\tH [4]float64 // Column-major 2 by 2 matrix.\n}\n\n// Transpose is used to specify the transposition operation for a\n// routine.\ntype Transpose int\n\nconst (\n\tNoTrans Transpose = 111 + iota\n\tTrans\n\tConjTrans\n)\n\n// Uplo is used to specify whether the matrix is an upper or lower\n// triangular matrix.\ntype Uplo int\n\nconst (\n\tAll Uplo = 120 + iota\n\tUpper\n\tLower\n)\n\n// Diag is used to specify whether the matrix is a unit or non-unit\n// triangular matrix.\ntype Diag int\n\nconst (\n\tNonUnit Diag = 131 + iota\n\tUnit\n)\n\n// Side is used to specify from which side a multiplication operation\n// is performed.\ntype Side int\n\nconst (\n\tLeft Side = 141 + iota\n\tRight\n)\n\n// Float32 implements the single precision real BLAS routines.\ntype Float32 interface {\n\tFloat32Level1\n\tFloat32Level2\n\tFloat32Level3\n}\n\n// Float32Level1 implements the single precision real BLAS Level 1 routines.\ntype Float32Level1 interface {\n\tSdsdot(n int, alpha float32, x []float32, incX int, y []float32, incY int) float32\n\tDsdot(n int, x []float32, incX int, y []float32, incY int) float64\n\tSdot(n int, x []float32, incX int, y []float32, incY int) float32\n\tSnrm2(n int, x []float32, incX int) float32\n\tSasum(n int, x []float32, incX int) float32\n\tIsamax(n int, x []float32, incX int) int\n\tSswap(n int, x []float32, incX int, y []float32, incY int)\n\tScopy(n int, x []float32, incX int, y []float32, incY int)\n\tSaxpy(n int, alpha float32, x []float32, incX int, y []float32, incY int)\n\tSrotg(a, b float32) (c, s, r, z float32)\n\tSrotmg(d1, d2, b1, b2 float32) (p SrotmParams, rd1, rd2, rb1 float32)\n\tSrot(n int, x []float32, incX int, y []float32, incY int, c, s float32)\n\tSrotm(n int, x []float32, incX int, y []float32, incY int, p SrotmParams)\n\tSscal(n int, alpha float32, x []float32, incX int)\n}\n\n// Float32Level2 implements the single precision real BLAS Level 2 routines.\ntype Float32Level2 interface {\n\tSgemv(tA Transpose, m, n int, alpha float32, a []float32, lda int, x []float32, incX int, beta float32, y []float32, incY int)\n\tSgbmv(tA Transpose, m, n, kL, kU int, alpha float32, a []float32, lda int, x []float32, incX int, beta float32, y []float32, incY int)\n\tStrmv(ul Uplo, tA Transpose, d Diag, n int, a []float32, lda int, x []float32, incX int)\n\tStbmv(ul Uplo, tA Transpose, d Diag, n, k int, a []float32, lda int, x []float32, incX int)\n\tStpmv(ul Uplo, tA Transpose, d Diag, n int, ap []float32, x []float32, incX int)\n\tStrsv(ul Uplo, tA Transpose, d Diag, n int, a []float32, lda int, x []float32, incX int)\n\tStbsv(ul Uplo, tA Transpose, d Diag, n, k int, a []float32, lda int, x []float32, incX int)\n\tStpsv(ul Uplo, tA Transpose, d Diag, n int, ap []float32, x []float32, incX int)\n\tSsymv(ul Uplo, n int, alpha float32, a []float32, lda int, x []float32, incX int, beta float32, y []float32, incY int)\n\tSsbmv(ul Uplo, n, k int, alpha float32, a []float32, lda int, x []float32, incX int, beta float32, y []float32, incY int)\n\tSspmv(ul Uplo, n int, alpha float32, ap []float32, x []float32, incX int, beta float32, y []float32, incY int)\n\tSger(m, n int, alpha float32, x []float32, incX int, y []float32, incY int, a []float32, lda int)\n\tSsyr(ul Uplo, n int, alpha float32, x []float32, incX int, a []float32, lda int)\n\tSspr(ul Uplo, n int, alpha float32, x []float32, incX int, ap []float32)\n\tSsyr2(ul Uplo, n int, alpha float32, x []float32, incX int, y []float32, incY int, a []float32, lda int)\n\tSspr2(ul Uplo, n int, alpha float32, x []float32, incX int, y []float32, incY int, a []float32)\n}\n\n// Float32Level3 implements the single precision real BLAS Level 3 routines.\ntype Float32Level3 interface {\n\tSgemm(tA, tB Transpose, m, n, k int, alpha float32, a []float32, lda int, b []float32, ldb int, beta float32, c []float32, ldc int)\n\tSsymm(s Side, ul Uplo, m, n int, alpha float32, a []float32, lda int, b []float32, ldb int, beta float32, c []float32, ldc int)\n\tSsyrk(ul Uplo, t Transpose, n, k int, alpha float32, a []float32, lda int, beta float32, c []float32, ldc int)\n\tSsyr2k(ul Uplo, t Transpose, n, k int, alpha float32, a []float32, lda int, b []float32, ldb int, beta float32, c []float32, ldc int)\n\tStrmm(s Side, ul Uplo, tA Transpose, d Diag, m, n int, alpha float32, a []float32, lda int, b []float32, ldb int)\n\tStrsm(s Side, ul Uplo, tA Transpose, d Diag, m, n int, alpha float32, a []float32, lda int, b []float32, ldb int)\n}\n\n// Float64 implements the single precision real BLAS routines.\ntype Float64 interface {\n\tFloat64Level1\n\tFloat64Level2\n\tFloat64Level3\n}\n\n// Float64Level1 implements the double precision real BLAS Level 1 routines.\ntype Float64Level1 interface {\n\tDdot(n int, x []float64, incX int, y []float64, incY int) float64\n\tDnrm2(n int, x []float64, incX int) float64\n\tDasum(n int, x []float64, incX int) float64\n\tIdamax(n int, x []float64, incX int) int\n\tDswap(n int, x []float64, incX int, y []float64, incY int)\n\tDcopy(n int, x []float64, incX int, y []float64, incY int)\n\tDaxpy(n int, alpha float64, x []float64, incX int, y []float64, incY int)\n\tDrotg(a, b float64) (c, s, r, z float64)\n\tDrotmg(d1, d2, b1, b2 float64) (p DrotmParams, rd1, rd2, rb1 float64)\n\tDrot(n int, x []float64, incX int, y []float64, incY int, c float64, s float64)\n\tDrotm(n int, x []float64, incX int, y []float64, incY int, p DrotmParams)\n\tDscal(n int, alpha float64, x []float64, incX int)\n}\n\n// Float64Level2 implements the double precision real BLAS Level 2 routines.\ntype Float64Level2 interface {\n\tDgemv(tA Transpose, m, n int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int)\n\tDgbmv(tA Transpose, m, n, kL, kU int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int)\n\tDtrmv(ul Uplo, tA Transpose, d Diag, n int, a []float64, lda int, x []float64, incX int)\n\tDtbmv(ul Uplo, tA Transpose, d Diag, n, k int, a []float64, lda int, x []float64, incX int)\n\tDtpmv(ul Uplo, tA Transpose, d Diag, n int, ap []float64, x []float64, incX int)\n\tDtrsv(ul Uplo, tA Transpose, d Diag, n int, a []float64, lda int, x []float64, incX int)\n\tDtbsv(ul Uplo, tA Transpose, d Diag, n, k int, a []float64, lda int, x []float64, incX int)\n\tDtpsv(ul Uplo, tA Transpose, d Diag, n int, ap []float64, x []float64, incX int)\n\tDsymv(ul Uplo, n int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int)\n\tDsbmv(ul Uplo, n, k int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int)\n\tDspmv(ul Uplo, n int, alpha float64, ap []float64, x []float64, incX int, beta float64, y []float64, incY int)\n\tDger(m, n int, alpha float64, x []float64, incX int, y []float64, incY int, a []float64, lda int)\n\tDsyr(ul Uplo, n int, alpha float64, x []float64, incX int, a []float64, lda int)\n\tDspr(ul Uplo, n int, alpha float64, x []float64, incX int, ap []float64)\n\tDsyr2(ul Uplo, n int, alpha float64, x []float64, incX int, y []float64, incY int, a []float64, lda int)\n\tDspr2(ul Uplo, n int, alpha float64, x []float64, incX int, y []float64, incY int, a []float64)\n}\n\n// Float64Level3 implements the double precision real BLAS Level 3 routines.\ntype Float64Level3 interface {\n\tDgemm(tA, tB Transpose, m, n, k int, alpha float64, a []float64, lda int, b []float64, ldb int, beta float64, c []float64, ldc int)\n\tDsymm(s Side, ul Uplo, m, n int, alpha float64, a []float64, lda int, b []float64, ldb int, beta float64, c []float64, ldc int)\n\tDsyrk(ul Uplo, t Transpose, n, k int, alpha float64, a []float64, lda int, beta float64, c []float64, ldc int)\n\tDsyr2k(ul Uplo, t Transpose, n, k int, alpha float64, a []float64, lda int, b []float64, ldb int, beta float64, c []float64, ldc int)\n\tDtrmm(s Side, ul Uplo, tA Transpose, d Diag, m, n int, alpha float64, a []float64, lda int, b []float64, ldb int)\n\tDtrsm(s Side, ul Uplo, tA Transpose, d Diag, m, n int, alpha float64, a []float64, lda int, b []float64, ldb int)\n}\n\n// Complex64 implements the single precision complex BLAS routines.\ntype Complex64 interface {\n\tComplex64Level1\n\tComplex64Level2\n\tComplex64Level3\n}\n\n// Complex64Level1 implements the single precision complex BLAS Level 1 routines.\ntype Complex64Level1 interface {\n\tCdotu(n int, x []complex64, incX int, y []complex64, incY int) (dotu complex64)\n\tCdotc(n int, x []complex64, incX int, y []complex64, incY int) (dotc complex64)\n\tScnrm2(n int, x []complex64, incX int) float32\n\tScasum(n int, x []complex64, incX int) float32\n\tIcamax(n int, x []complex64, incX int) int\n\tCswap(n int, x []complex64, incX int, y []complex64, incY int)\n\tCcopy(n int, x []complex64, incX int, y []complex64, incY int)\n\tCaxpy(n int, alpha complex64, x []complex64, incX int, y []complex64, incY int)\n\tCscal(n int, alpha complex64, x []complex64, incX int)\n\tCsscal(n int, alpha float32, x []complex64, incX int)\n}\n\n// Complex64Level2 implements the single precision complex BLAS routines Level 2 routines.\ntype Complex64Level2 interface {\n\tCgemv(tA Transpose, m, n int, alpha complex64, a []complex64, lda int, x []complex64, incX int, beta complex64, y []complex64, incY int)\n\tCgbmv(tA Transpose, m, n, kL, kU int, alpha complex64, a []complex64, lda int, x []complex64, incX int, beta complex64, y []complex64, incY int)\n\tCtrmv(ul Uplo, tA Transpose, d Diag, n int, a []complex64, lda int, x []complex64, incX int)\n\tCtbmv(ul Uplo, tA Transpose, d Diag, n, k int, a []complex64, lda int, x []complex64, incX int)\n\tCtpmv(ul Uplo, tA Transpose, d Diag, n int, ap []complex64, x []complex64, incX int)\n\tCtrsv(ul Uplo, tA Transpose, d Diag, n int, a []complex64, lda int, x []complex64, incX int)\n\tCtbsv(ul Uplo, tA Transpose, d Diag, n, k int, a []complex64, lda int, x []complex64, incX int)\n\tCtpsv(ul Uplo, tA Transpose, d Diag, n int, ap []complex64, x []complex64, incX int)\n\tChemv(ul Uplo, n int, alpha complex64, a []complex64, lda int, x []complex64, incX int, beta complex64, y []complex64, incY int)\n\tChbmv(ul Uplo, n, k int, alpha complex64, a []complex64, lda int, x []complex64, incX int, beta complex64, y []complex64, incY int)\n\tChpmv(ul Uplo, n int, alpha complex64, ap []complex64, x []complex64, incX int, beta complex64, y []complex64, incY int)\n\tCgeru(m, n int, alpha complex64, x []complex64, incX int, y []complex64, incY int, a []complex64, lda int)\n\tCgerc(m, n int, alpha complex64, x []complex64, incX int, y []complex64, incY int, a []complex64, lda int)\n\tCher(ul Uplo, n int, alpha float32, x []complex64, incX int, a []complex64, lda int)\n\tChpr(ul Uplo, n int, alpha float32, x []complex64, incX int, a []complex64)\n\tCher2(ul Uplo, n int, alpha complex64, x []complex64, incX int, y []complex64, incY int, a []complex64, lda int)\n\tChpr2(ul Uplo, n int, alpha complex64, x []complex64, incX int, y []complex64, incY int, ap []complex64)\n}\n\n// Complex64Level3 implements the single precision complex BLAS Level 3 routines.\ntype Complex64Level3 interface {\n\tCgemm(tA, tB Transpose, m, n, k int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta complex64, c []complex64, ldc int)\n\tCsymm(s Side, ul Uplo, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta complex64, c []complex64, ldc int)\n\tCsyrk(ul Uplo, t Transpose, n, k int, alpha complex64, a []complex64, lda int, beta complex64, c []complex64, ldc int)\n\tCsyr2k(ul Uplo, t Transpose, n, k int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta complex64, c []complex64, ldc int)\n\tCtrmm(s Side, ul Uplo, tA Transpose, d Diag, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int)\n\tCtrsm(s Side, ul Uplo, tA Transpose, d Diag, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int)\n\tChemm(s Side, ul Uplo, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta complex64, c []complex64, ldc int)\n\tCherk(ul Uplo, t Transpose, n, k int, alpha float32, a []complex64, lda int, beta float32, c []complex64, ldc int)\n\tCher2k(ul Uplo, t Transpose, n, k int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta float32, c []complex64, ldc int)\n}\n\n// Complex128 implements the double precision complex BLAS routines.\ntype Complex128 interface {\n\tComplex128Level1\n\tComplex128Level2\n\tComplex128Level3\n}\n\n// Complex128Level1 implements the double precision complex BLAS Level 1 routines.\ntype Complex128Level1 interface {\n\tZdotu(n int, x []complex128, incX int, y []complex128, incY int) (dotu complex128)\n\tZdotc(n int, x []complex128, incX int, y []complex128, incY int) (dotc complex128)\n\tDznrm2(n int, x []complex128, incX int) float64\n\tDzasum(n int, x []complex128, incX int) float64\n\tIzamax(n int, x []complex128, incX int) int\n\tZswap(n int, x []complex128, incX int, y []complex128, incY int)\n\tZcopy(n int, x []complex128, incX int, y []complex128, incY int)\n\tZaxpy(n int, alpha complex128, x []complex128, incX int, y []complex128, incY int)\n\tZscal(n int, alpha complex128, x []complex128, incX int)\n\tZdscal(n int, alpha float64, x []complex128, incX int)\n}\n\n// Complex128Level2 implements the double precision complex BLAS Level 2 routines.\ntype Complex128Level2 interface {\n\tZgemv(tA Transpose, m, n int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int)\n\tZgbmv(tA Transpose, m, n int, kL int, kU int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int)\n\tZtrmv(ul Uplo, tA Transpose, d Diag, n int, a []complex128, lda int, x []complex128, incX int)\n\tZtbmv(ul Uplo, tA Transpose, d Diag, n, k int, a []complex128, lda int, x []complex128, incX int)\n\tZtpmv(ul Uplo, tA Transpose, d Diag, n int, ap []complex128, x []complex128, incX int)\n\tZtrsv(ul Uplo, tA Transpose, d Diag, n int, a []complex128, lda int, x []complex128, incX int)\n\tZtbsv(ul Uplo, tA Transpose, d Diag, n, k int, a []complex128, lda int, x []complex128, incX int)\n\tZtpsv(ul Uplo, tA Transpose, d Diag, n int, ap []complex128, x []complex128, incX int)\n\tZhemv(ul Uplo, n int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int)\n\tZhbmv(ul Uplo, n, k int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int)\n\tZhpmv(ul Uplo, n int, alpha complex128, ap []complex128, x []complex128, incX int, beta complex128, y []complex128, incY int)\n\tZgeru(m, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int)\n\tZgerc(m, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int)\n\tZher(ul Uplo, n int, alpha float64, x []complex128, incX int, a []complex128, lda int)\n\tZhpr(ul Uplo, n int, alpha float64, x []complex128, incX int, a []complex128)\n\tZher2(ul Uplo, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int)\n\tZhpr2(ul Uplo, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, ap []complex128)\n}\n\n// Complex128Level3 implements the double precision complex BLAS Level 3 routines.\ntype Complex128Level3 interface {\n\tZgemm(tA, tB Transpose, m, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int)\n\tZsymm(s Side, ul Uplo, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int)\n\tZsyrk(ul Uplo, t Transpose, n, k int, alpha complex128, a []complex128, lda int, beta complex128, c []complex128, ldc int)\n\tZsyr2k(ul Uplo, t Transpose, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int)\n\tZtrmm(s Side, ul Uplo, tA Transpose, d Diag, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int)\n\tZtrsm(s Side, ul Uplo, tA Transpose, d Diag, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int)\n\tZhemm(s Side, ul Uplo, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int)\n\tZherk(ul Uplo, t Transpose, n, k int, alpha float64, a []complex128, lda int, beta float64, c []complex128, ldc int)\n\tZher2k(ul Uplo, t Transpose, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta float64, c []complex128, ldc int)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/blas64/blas64.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage blas64\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/gonum\"\n)\n\nvar blas64 blas.Float64 = gonum.Implementation{}\n\n// Use sets the BLAS float64 implementation to be used by subsequent BLAS calls.\n// The default implementation is native.Implementation.\nfunc Use(b blas.Float64) {\n\tblas64 = b\n}\n\n// Implementation returns the current BLAS float64 implementation.\n//\n// Implementation allows direct calls to the current the BLAS float64 implementation\n// giving finer control of parameters.\nfunc Implementation() blas.Float64 {\n\treturn blas64\n}\n\n// Vector represents a vector with an associated element increment.\ntype Vector struct {\n\tInc  int\n\tData []float64\n}\n\n// General represents a matrix using the conventional storage scheme.\ntype General struct {\n\tRows, Cols int\n\tStride     int\n\tData       []float64\n}\n\n// Band represents a band matrix using the band storage scheme.\ntype Band struct {\n\tRows, Cols int\n\tKL, KU     int\n\tStride     int\n\tData       []float64\n}\n\n// Triangular represents a triangular matrix using the conventional storage scheme.\ntype Triangular struct {\n\tN      int\n\tStride int\n\tData   []float64\n\tUplo   blas.Uplo\n\tDiag   blas.Diag\n}\n\n// TriangularBand represents a triangular matrix using the band storage scheme.\ntype TriangularBand struct {\n\tN, K   int\n\tStride int\n\tData   []float64\n\tUplo   blas.Uplo\n\tDiag   blas.Diag\n}\n\n// TriangularPacked represents a triangular matrix using the packed storage scheme.\ntype TriangularPacked struct {\n\tN    int\n\tData []float64\n\tUplo blas.Uplo\n\tDiag blas.Diag\n}\n\n// Symmetric represents a symmetric matrix using the conventional storage scheme.\ntype Symmetric struct {\n\tN      int\n\tStride int\n\tData   []float64\n\tUplo   blas.Uplo\n}\n\n// SymmetricBand represents a symmetric matrix using the band storage scheme.\ntype SymmetricBand struct {\n\tN, K   int\n\tStride int\n\tData   []float64\n\tUplo   blas.Uplo\n}\n\n// SymmetricPacked represents a symmetric matrix using the packed storage scheme.\ntype SymmetricPacked struct {\n\tN    int\n\tData []float64\n\tUplo blas.Uplo\n}\n\n// Level 1\n\nconst negInc = \"blas64: negative vector increment\"\n\n// Dot computes the dot product of the two vectors:\n//  \\sum_i x[i]*y[i].\nfunc Dot(n int, x, y Vector) float64 {\n\treturn blas64.Ddot(n, x.Data, x.Inc, y.Data, y.Inc)\n}\n\n// Nrm2 computes the Euclidean norm of the vector x:\n//  sqrt(\\sum_i x[i]*x[i]).\n//\n// Nrm2 will panic if the vector increment is negative.\nfunc Nrm2(n int, x Vector) float64 {\n\tif x.Inc < 0 {\n\t\tpanic(negInc)\n\t}\n\treturn blas64.Dnrm2(n, x.Data, x.Inc)\n}\n\n// Asum computes the sum of the absolute values of the elements of x:\n//  \\sum_i |x[i]|.\n//\n// Asum will panic if the vector increment is negative.\nfunc Asum(n int, x Vector) float64 {\n\tif x.Inc < 0 {\n\t\tpanic(negInc)\n\t}\n\treturn blas64.Dasum(n, x.Data, x.Inc)\n}\n\n// Iamax returns the index of an element of x with the largest absolute value.\n// If there are multiple such indices the earliest is returned.\n// Iamax returns -1 if n == 0.\n//\n// Iamax will panic if the vector increment is negative.\nfunc Iamax(n int, x Vector) int {\n\tif x.Inc < 0 {\n\t\tpanic(negInc)\n\t}\n\treturn blas64.Idamax(n, x.Data, x.Inc)\n}\n\n// Swap exchanges the elements of the two vectors:\n//  x[i], y[i] = y[i], x[i] for all i.\nfunc Swap(n int, x, y Vector) {\n\tblas64.Dswap(n, x.Data, x.Inc, y.Data, y.Inc)\n}\n\n// Copy copies the elements of x into the elements of y:\n//  y[i] = x[i] for all i.\nfunc Copy(n int, x, y Vector) {\n\tblas64.Dcopy(n, x.Data, x.Inc, y.Data, y.Inc)\n}\n\n// Axpy adds x scaled by alpha to y:\n//  y[i] += alpha*x[i] for all i.\nfunc Axpy(n int, alpha float64, x, y Vector) {\n\tblas64.Daxpy(n, alpha, x.Data, x.Inc, y.Data, y.Inc)\n}\n\n// Rotg computes the parameters of a Givens plane rotation so that\n//  ⎡ c s⎤   ⎡a⎤   ⎡r⎤\n//  ⎣-s c⎦ * ⎣b⎦ = ⎣0⎦\n// where a and b are the Cartesian coordinates of a given point.\n// c, s, and r are defined as\n//  r = ±Sqrt(a^2 + b^2),\n//  c = a/r, the cosine of the rotation angle,\n//  s = a/r, the sine of the rotation angle,\n// and z is defined such that\n//  if |a| > |b|,        z = s,\n//  otherwise if c != 0, z = 1/c,\n//  otherwise            z = 1.\nfunc Rotg(a, b float64) (c, s, r, z float64) {\n\treturn blas64.Drotg(a, b)\n}\n\n// Rotmg computes the modified Givens rotation. See\n// http://www.netlib.org/lapack/explore-html/df/deb/drotmg_8f.html\n// for more details.\nfunc Rotmg(d1, d2, b1, b2 float64) (p blas.DrotmParams, rd1, rd2, rb1 float64) {\n\treturn blas64.Drotmg(d1, d2, b1, b2)\n}\n\n// Rot applies a plane transformation to n points represented by the vectors x\n// and y:\n//  x[i] =  c*x[i] + s*y[i],\n//  y[i] = -s*x[i] + c*y[i], for all i.\nfunc Rot(n int, x, y Vector, c, s float64) {\n\tblas64.Drot(n, x.Data, x.Inc, y.Data, y.Inc, c, s)\n}\n\n// Rotm applies the modified Givens rotation to n points represented by the\n// vectors x and y.\nfunc Rotm(n int, x, y Vector, p blas.DrotmParams) {\n\tblas64.Drotm(n, x.Data, x.Inc, y.Data, y.Inc, p)\n}\n\n// Scal scales the vector x by alpha:\n//  x[i] *= alpha for all i.\n//\n// Scal will panic if the vector increment is negative.\nfunc Scal(n int, alpha float64, x Vector) {\n\tif x.Inc < 0 {\n\t\tpanic(negInc)\n\t}\n\tblas64.Dscal(n, alpha, x.Data, x.Inc)\n}\n\n// Level 2\n\n// Gemv computes\n//  y = alpha * A * x + beta * y,   if t == blas.NoTrans,\n//  y = alpha * A^T * x + beta * y, if t == blas.Trans or blas.ConjTrans,\n// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.\nfunc Gemv(t blas.Transpose, alpha float64, a General, x Vector, beta float64, y Vector) {\n\tblas64.Dgemv(t, a.Rows, a.Cols, alpha, a.Data, a.Stride, x.Data, x.Inc, beta, y.Data, y.Inc)\n}\n\n// Gbmv computes\n//  y = alpha * A * x + beta * y,   if t == blas.NoTrans,\n//  y = alpha * A^T * x + beta * y, if t == blas.Trans or blas.ConjTrans,\n// where A is an m×n band matrix, x and y are vectors, and alpha and beta are scalars.\nfunc Gbmv(t blas.Transpose, alpha float64, a Band, x Vector, beta float64, y Vector) {\n\tblas64.Dgbmv(t, a.Rows, a.Cols, a.KL, a.KU, alpha, a.Data, a.Stride, x.Data, x.Inc, beta, y.Data, y.Inc)\n}\n\n// Trmv computes\n//  x = A * x,   if t == blas.NoTrans,\n//  x = A^T * x, if t == blas.Trans or blas.ConjTrans,\n// where A is an n×n triangular matrix, and x is a vector.\nfunc Trmv(t blas.Transpose, a Triangular, x Vector) {\n\tblas64.Dtrmv(a.Uplo, t, a.Diag, a.N, a.Data, a.Stride, x.Data, x.Inc)\n}\n\n// Tbmv computes\n//  x = A * x,   if t == blas.NoTrans,\n//  x = A^T * x, if t == blas.Trans or blas.ConjTrans,\n// where A is an n×n triangular band matrix, and x is a vector.\nfunc Tbmv(t blas.Transpose, a TriangularBand, x Vector) {\n\tblas64.Dtbmv(a.Uplo, t, a.Diag, a.N, a.K, a.Data, a.Stride, x.Data, x.Inc)\n}\n\n// Tpmv computes\n//  x = A * x,   if t == blas.NoTrans,\n//  x = A^T * x, if t == blas.Trans or blas.ConjTrans,\n// where A is an n×n triangular matrix in packed format, and x is a vector.\nfunc Tpmv(t blas.Transpose, a TriangularPacked, x Vector) {\n\tblas64.Dtpmv(a.Uplo, t, a.Diag, a.N, a.Data, x.Data, x.Inc)\n}\n\n// Trsv solves\n//  A * x = b,   if t == blas.NoTrans,\n//  A^T * x = b, if t == blas.Trans or blas.ConjTrans,\n// where A is an n×n triangular matrix, and x and b are vectors.\n//\n// At entry to the function, x contains the values of b, and the result is\n// stored in-place into x.\n//\n// No test for singularity or near-singularity is included in this\n// routine. Such tests must be performed before calling this routine.\nfunc Trsv(t blas.Transpose, a Triangular, x Vector) {\n\tblas64.Dtrsv(a.Uplo, t, a.Diag, a.N, a.Data, a.Stride, x.Data, x.Inc)\n}\n\n// Tbsv solves\n//  A * x = b,   if t == blas.NoTrans,\n//  A^T * x = b, if t == blas.Trans or blas.ConjTrans,\n// where A is an n×n triangular band matrix, and x and b are vectors.\n//\n// At entry to the function, x contains the values of b, and the result is\n// stored in place into x.\n//\n// No test for singularity or near-singularity is included in this\n// routine. Such tests must be performed before calling this routine.\nfunc Tbsv(t blas.Transpose, a TriangularBand, x Vector) {\n\tblas64.Dtbsv(a.Uplo, t, a.Diag, a.N, a.K, a.Data, a.Stride, x.Data, x.Inc)\n}\n\n// Tpsv solves\n//  A * x = b,   if t == blas.NoTrans,\n//  A^T * x = b, if t == blas.Trans or blas.ConjTrans,\n// where A is an n×n triangular matrix in packed format, and x and b are\n// vectors.\n//\n// At entry to the function, x contains the values of b, and the result is\n// stored in place into x.\n//\n// No test for singularity or near-singularity is included in this\n// routine. Such tests must be performed before calling this routine.\nfunc Tpsv(t blas.Transpose, a TriangularPacked, x Vector) {\n\tblas64.Dtpsv(a.Uplo, t, a.Diag, a.N, a.Data, x.Data, x.Inc)\n}\n\n// Symv computes\n//    y = alpha * A * x + beta * y,\n// where A is an n×n symmetric matrix, x and y are vectors, and alpha and\n// beta are scalars.\nfunc Symv(alpha float64, a Symmetric, x Vector, beta float64, y Vector) {\n\tblas64.Dsymv(a.Uplo, a.N, alpha, a.Data, a.Stride, x.Data, x.Inc, beta, y.Data, y.Inc)\n}\n\n// Sbmv performs\n//  y = alpha * A * x + beta * y,\n// where A is an n×n symmetric band matrix, x and y are vectors, and alpha\n// and beta are scalars.\nfunc Sbmv(alpha float64, a SymmetricBand, x Vector, beta float64, y Vector) {\n\tblas64.Dsbmv(a.Uplo, a.N, a.K, alpha, a.Data, a.Stride, x.Data, x.Inc, beta, y.Data, y.Inc)\n}\n\n// Spmv performs\n//    y = alpha * A * x + beta * y,\n// where A is an n×n symmetric matrix in packed format, x and y are vectors,\n// and alpha and beta are scalars.\nfunc Spmv(alpha float64, a SymmetricPacked, x Vector, beta float64, y Vector) {\n\tblas64.Dspmv(a.Uplo, a.N, alpha, a.Data, x.Data, x.Inc, beta, y.Data, y.Inc)\n}\n\n// Ger performs a rank-1 update\n//  A += alpha * x * y^T,\n// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.\nfunc Ger(alpha float64, x, y Vector, a General) {\n\tblas64.Dger(a.Rows, a.Cols, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data, a.Stride)\n}\n\n// Syr performs a rank-1 update\n//  A += alpha * x * x^T,\n// where A is an n×n symmetric matrix, x is a vector, and alpha is a scalar.\nfunc Syr(alpha float64, x Vector, a Symmetric) {\n\tblas64.Dsyr(a.Uplo, a.N, alpha, x.Data, x.Inc, a.Data, a.Stride)\n}\n\n// Spr performs the rank-1 update\n//  A += alpha * x * x^T,\n// where A is an n×n symmetric matrix in packed format, x is a vector, and\n// alpha is a scalar.\nfunc Spr(alpha float64, x Vector, a SymmetricPacked) {\n\tblas64.Dspr(a.Uplo, a.N, alpha, x.Data, x.Inc, a.Data)\n}\n\n// Syr2 performs a rank-2 update\n//  A += alpha * x * y^T + alpha * y * x^T,\n// where A is a symmetric n×n matrix, x and y are vectors, and alpha is a scalar.\nfunc Syr2(alpha float64, x, y Vector, a Symmetric) {\n\tblas64.Dsyr2(a.Uplo, a.N, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data, a.Stride)\n}\n\n// Spr2 performs a rank-2 update\n//  A += alpha * x * y^T + alpha * y * x^T,\n// where A is an n×n symmetric matrix in packed format, x and y are vectors,\n// and alpha is a scalar.\nfunc Spr2(alpha float64, x, y Vector, a SymmetricPacked) {\n\tblas64.Dspr2(a.Uplo, a.N, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data)\n}\n\n// Level 3\n\n// Gemm computes\n//  C = alpha * A * B + beta * C,\n// where A, B, and C are dense matrices, and alpha and beta are scalars.\n// tA and tB specify whether A or B are transposed.\nfunc Gemm(tA, tB blas.Transpose, alpha float64, a, b General, beta float64, c General) {\n\tvar m, n, k int\n\tif tA == blas.NoTrans {\n\t\tm, k = a.Rows, a.Cols\n\t} else {\n\t\tm, k = a.Cols, a.Rows\n\t}\n\tif tB == blas.NoTrans {\n\t\tn = b.Cols\n\t} else {\n\t\tn = b.Rows\n\t}\n\tblas64.Dgemm(tA, tB, m, n, k, alpha, a.Data, a.Stride, b.Data, b.Stride, beta, c.Data, c.Stride)\n}\n\n// Symm performs\n//  C = alpha * A * B + beta * C, if s == blas.Left,\n//  C = alpha * B * A + beta * C, if s == blas.Right,\n// where A is an n×n or m×m symmetric matrix, B and C are m×n matrices, and\n// alpha is a scalar.\nfunc Symm(s blas.Side, alpha float64, a Symmetric, b General, beta float64, c General) {\n\tvar m, n int\n\tif s == blas.Left {\n\t\tm, n = a.N, b.Cols\n\t} else {\n\t\tm, n = b.Rows, a.N\n\t}\n\tblas64.Dsymm(s, a.Uplo, m, n, alpha, a.Data, a.Stride, b.Data, b.Stride, beta, c.Data, c.Stride)\n}\n\n// Syrk performs a symmetric rank-k update\n//  C = alpha * A * A^T + beta * C, if t == blas.NoTrans,\n//  C = alpha * A^T * A + beta * C, if t == blas.Trans or blas.ConjTrans,\n// where C is an n×n symmetric matrix, A is an n×k matrix if t == blas.NoTrans and\n// a k×n matrix otherwise, and alpha and beta are scalars.\nfunc Syrk(t blas.Transpose, alpha float64, a General, beta float64, c Symmetric) {\n\tvar n, k int\n\tif t == blas.NoTrans {\n\t\tn, k = a.Rows, a.Cols\n\t} else {\n\t\tn, k = a.Cols, a.Rows\n\t}\n\tblas64.Dsyrk(c.Uplo, t, n, k, alpha, a.Data, a.Stride, beta, c.Data, c.Stride)\n}\n\n// Syr2k performs a symmetric rank-2k update\n//  C = alpha * A * B^T + alpha * B * A^T + beta * C, if t == blas.NoTrans,\n//  C = alpha * A^T * B + alpha * B^T * A + beta * C, if t == blas.Trans or blas.ConjTrans,\n// where C is an n×n symmetric matrix, A and B are n×k matrices if t == NoTrans\n// and k×n matrices otherwise, and alpha and beta are scalars.\nfunc Syr2k(t blas.Transpose, alpha float64, a, b General, beta float64, c Symmetric) {\n\tvar n, k int\n\tif t == blas.NoTrans {\n\t\tn, k = a.Rows, a.Cols\n\t} else {\n\t\tn, k = a.Cols, a.Rows\n\t}\n\tblas64.Dsyr2k(c.Uplo, t, n, k, alpha, a.Data, a.Stride, b.Data, b.Stride, beta, c.Data, c.Stride)\n}\n\n// Trmm performs\n//  B = alpha * A * B,   if tA == blas.NoTrans and s == blas.Left,\n//  B = alpha * A^T * B, if tA == blas.Trans or blas.ConjTrans, and s == blas.Left,\n//  B = alpha * B * A,   if tA == blas.NoTrans and s == blas.Right,\n//  B = alpha * B * A^T, if tA == blas.Trans or blas.ConjTrans, and s == blas.Right,\n// where A is an n×n or m×m triangular matrix, B is an m×n matrix, and alpha is\n// a scalar.\nfunc Trmm(s blas.Side, tA blas.Transpose, alpha float64, a Triangular, b General) {\n\tblas64.Dtrmm(s, a.Uplo, tA, a.Diag, b.Rows, b.Cols, alpha, a.Data, a.Stride, b.Data, b.Stride)\n}\n\n// Trsm solves\n//  A * X = alpha * B,   if tA == blas.NoTrans and s == blas.Left,\n//  A^T * X = alpha * B, if tA == blas.Trans or blas.ConjTrans, and s == blas.Left,\n//  X * A = alpha * B,   if tA == blas.NoTrans and s == blas.Right,\n//  X * A^T = alpha * B, if tA == blas.Trans or blas.ConjTrans, and s == blas.Right,\n// where A is an n×n or m×m triangular matrix, X and B are m×n matrices, and\n// alpha is a scalar.\n//\n// At entry to the function, X contains the values of B, and the result is\n// stored in-place into X.\n//\n// No check is made that A is invertible.\nfunc Trsm(s blas.Side, tA blas.Transpose, alpha float64, a Triangular, b General) {\n\tblas64.Dtrsm(s, a.Uplo, tA, a.Diag, b.Rows, b.Cols, alpha, a.Data, a.Stride, b.Data, b.Stride)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/blas64/conv.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage blas64\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// GeneralCols represents a matrix using the conventional column-major storage scheme.\ntype GeneralCols General\n\n// From fills the receiver with elements from a. The receiver\n// must have the same dimensions as a and have adequate backing\n// data storage.\nfunc (t GeneralCols) From(a General) {\n\tif t.Rows != a.Rows || t.Cols != a.Cols {\n\t\tpanic(\"blas64: mismatched dimension\")\n\t}\n\tif len(t.Data) < (t.Cols-1)*t.Stride+t.Rows {\n\t\tpanic(\"blas64: short data slice\")\n\t}\n\tfor i := 0; i < a.Rows; i++ {\n\t\tfor j, v := range a.Data[i*a.Stride : i*a.Stride+a.Cols] {\n\t\t\tt.Data[i+j*t.Stride] = v\n\t\t}\n\t}\n}\n\n// From fills the receiver with elements from a. The receiver\n// must have the same dimensions as a and have adequate backing\n// data storage.\nfunc (t General) From(a GeneralCols) {\n\tif t.Rows != a.Rows || t.Cols != a.Cols {\n\t\tpanic(\"blas64: mismatched dimension\")\n\t}\n\tif len(t.Data) < (t.Rows-1)*t.Stride+t.Cols {\n\t\tpanic(\"blas64: short data slice\")\n\t}\n\tfor j := 0; j < a.Cols; j++ {\n\t\tfor i, v := range a.Data[j*a.Stride : j*a.Stride+a.Rows] {\n\t\t\tt.Data[i*t.Stride+j] = v\n\t\t}\n\t}\n}\n\n// TriangularCols represents a matrix using the conventional column-major storage scheme.\ntype TriangularCols Triangular\n\n// From fills the receiver with elements from a. The receiver\n// must have the same dimensions, uplo and diag as a and have\n// adequate backing data storage.\nfunc (t TriangularCols) From(a Triangular) {\n\tif t.N != a.N {\n\t\tpanic(\"blas64: mismatched dimension\")\n\t}\n\tif t.Uplo != a.Uplo {\n\t\tpanic(\"blas64: mismatched BLAS uplo\")\n\t}\n\tif t.Diag != a.Diag {\n\t\tpanic(\"blas64: mismatched BLAS diag\")\n\t}\n\tswitch a.Uplo {\n\tdefault:\n\t\tpanic(\"blas64: bad BLAS uplo\")\n\tcase blas.Upper:\n\t\tfor i := 0; i < a.N; i++ {\n\t\t\tfor j := i; j < a.N; j++ {\n\t\t\t\tt.Data[i+j*t.Stride] = a.Data[i*a.Stride+j]\n\t\t\t}\n\t\t}\n\tcase blas.Lower:\n\t\tfor i := 0; i < a.N; i++ {\n\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\tt.Data[i+j*t.Stride] = a.Data[i*a.Stride+j]\n\t\t\t}\n\t\t}\n\tcase blas.All:\n\t\tfor i := 0; i < a.N; i++ {\n\t\t\tfor j := 0; j < a.N; j++ {\n\t\t\t\tt.Data[i+j*t.Stride] = a.Data[i*a.Stride+j]\n\t\t\t}\n\t\t}\n\t}\n}\n\n// From fills the receiver with elements from a. The receiver\n// must have the same dimensions, uplo and diag as a and have\n// adequate backing data storage.\nfunc (t Triangular) From(a TriangularCols) {\n\tif t.N != a.N {\n\t\tpanic(\"blas64: mismatched dimension\")\n\t}\n\tif t.Uplo != a.Uplo {\n\t\tpanic(\"blas64: mismatched BLAS uplo\")\n\t}\n\tif t.Diag != a.Diag {\n\t\tpanic(\"blas64: mismatched BLAS diag\")\n\t}\n\tswitch a.Uplo {\n\tdefault:\n\t\tpanic(\"blas64: bad BLAS uplo\")\n\tcase blas.Upper:\n\t\tfor i := 0; i < a.N; i++ {\n\t\t\tfor j := i; j < a.N; j++ {\n\t\t\t\tt.Data[i*t.Stride+j] = a.Data[i+j*a.Stride]\n\t\t\t}\n\t\t}\n\tcase blas.Lower:\n\t\tfor i := 0; i < a.N; i++ {\n\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\tt.Data[i*t.Stride+j] = a.Data[i+j*a.Stride]\n\t\t\t}\n\t\t}\n\tcase blas.All:\n\t\tfor i := 0; i < a.N; i++ {\n\t\t\tfor j := 0; j < a.N; j++ {\n\t\t\t\tt.Data[i*t.Stride+j] = a.Data[i+j*a.Stride]\n\t\t\t}\n\t\t}\n\t}\n}\n\n// BandCols represents a matrix using the band column-major storage scheme.\ntype BandCols Band\n\n// From fills the receiver with elements from a. The receiver\n// must have the same dimensions and bandwidth as a and have\n// adequate backing data storage.\nfunc (t BandCols) From(a Band) {\n\tif t.Rows != a.Rows || t.Cols != a.Cols {\n\t\tpanic(\"blas64: mismatched dimension\")\n\t}\n\tif t.KL != a.KL || t.KU != a.KU {\n\t\tpanic(\"blas64: mismatched bandwidth\")\n\t}\n\tif a.Stride < a.KL+a.KU+1 {\n\t\tpanic(\"blas64: short stride for source\")\n\t}\n\tif t.Stride < t.KL+t.KU+1 {\n\t\tpanic(\"blas64: short stride for destination\")\n\t}\n\tfor i := 0; i < a.Rows; i++ {\n\t\tfor j := max(0, i-a.KL); j < min(i+a.KU+1, a.Cols); j++ {\n\t\t\tt.Data[i+t.KU-j+j*t.Stride] = a.Data[j+a.KL-i+i*a.Stride]\n\t\t}\n\t}\n}\n\n// From fills the receiver with elements from a. The receiver\n// must have the same dimensions and bandwidth as a and have\n// adequate backing data storage.\nfunc (t Band) From(a BandCols) {\n\tif t.Rows != a.Rows || t.Cols != a.Cols {\n\t\tpanic(\"blas64: mismatched dimension\")\n\t}\n\tif t.KL != a.KL || t.KU != a.KU {\n\t\tpanic(\"blas64: mismatched bandwidth\")\n\t}\n\tif a.Stride < a.KL+a.KU+1 {\n\t\tpanic(\"blas64: short stride for source\")\n\t}\n\tif t.Stride < t.KL+t.KU+1 {\n\t\tpanic(\"blas64: short stride for destination\")\n\t}\n\tfor j := 0; j < a.Cols; j++ {\n\t\tfor i := max(0, j-a.KU); i < min(j+a.KL+1, a.Rows); i++ {\n\t\t\tt.Data[j+a.KL-i+i*a.Stride] = a.Data[i+t.KU-j+j*t.Stride]\n\t\t}\n\t}\n}\n\n// TriangularBandCols represents a symmetric matrix using the band column-major storage scheme.\ntype TriangularBandCols TriangularBand\n\n// From fills the receiver with elements from a. The receiver\n// must have the same dimensions, bandwidth and uplo as a and\n// have adequate backing data storage.\nfunc (t TriangularBandCols) From(a TriangularBand) {\n\tif t.N != a.N {\n\t\tpanic(\"blas64: mismatched dimension\")\n\t}\n\tif t.K != a.K {\n\t\tpanic(\"blas64: mismatched bandwidth\")\n\t}\n\tif a.Stride < a.K+1 {\n\t\tpanic(\"blas64: short stride for source\")\n\t}\n\tif t.Stride < t.K+1 {\n\t\tpanic(\"blas64: short stride for destination\")\n\t}\n\tif t.Uplo != a.Uplo {\n\t\tpanic(\"blas64: mismatched BLAS uplo\")\n\t}\n\tif t.Diag != a.Diag {\n\t\tpanic(\"blas64: mismatched BLAS diag\")\n\t}\n\tdst := BandCols{\n\t\tRows: t.N, Cols: t.N,\n\t\tStride: t.Stride,\n\t\tData:   t.Data,\n\t}\n\tsrc := Band{\n\t\tRows: a.N, Cols: a.N,\n\t\tStride: a.Stride,\n\t\tData:   a.Data,\n\t}\n\tswitch a.Uplo {\n\tdefault:\n\t\tpanic(\"blas64: bad BLAS uplo\")\n\tcase blas.Upper:\n\t\tdst.KU = t.K\n\t\tsrc.KU = a.K\n\tcase blas.Lower:\n\t\tdst.KL = t.K\n\t\tsrc.KL = a.K\n\t}\n\tdst.From(src)\n}\n\n// From fills the receiver with elements from a. The receiver\n// must have the same dimensions, bandwidth and uplo as a and\n// have adequate backing data storage.\nfunc (t TriangularBand) From(a TriangularBandCols) {\n\tif t.N != a.N {\n\t\tpanic(\"blas64: mismatched dimension\")\n\t}\n\tif t.K != a.K {\n\t\tpanic(\"blas64: mismatched bandwidth\")\n\t}\n\tif a.Stride < a.K+1 {\n\t\tpanic(\"blas64: short stride for source\")\n\t}\n\tif t.Stride < t.K+1 {\n\t\tpanic(\"blas64: short stride for destination\")\n\t}\n\tif t.Uplo != a.Uplo {\n\t\tpanic(\"blas64: mismatched BLAS uplo\")\n\t}\n\tif t.Diag != a.Diag {\n\t\tpanic(\"blas64: mismatched BLAS diag\")\n\t}\n\tdst := Band{\n\t\tRows: t.N, Cols: t.N,\n\t\tStride: t.Stride,\n\t\tData:   t.Data,\n\t}\n\tsrc := BandCols{\n\t\tRows: a.N, Cols: a.N,\n\t\tStride: a.Stride,\n\t\tData:   a.Data,\n\t}\n\tswitch a.Uplo {\n\tdefault:\n\t\tpanic(\"blas64: bad BLAS uplo\")\n\tcase blas.Upper:\n\t\tdst.KU = t.K\n\t\tsrc.KU = a.K\n\tcase blas.Lower:\n\t\tdst.KL = t.K\n\t\tsrc.KL = a.K\n\t}\n\tdst.From(src)\n}\n\nfunc min(a, b int) int {\n\tif a < b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc max(a, b int) int {\n\tif a > b {\n\t\treturn a\n\t}\n\treturn b\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/blas64/conv_symmetric.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage blas64\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// SymmetricCols represents a matrix using the conventional column-major storage scheme.\ntype SymmetricCols Symmetric\n\n// From fills the receiver with elements from a. The receiver\n// must have the same dimensions and uplo as a and have adequate\n// backing data storage.\nfunc (t SymmetricCols) From(a Symmetric) {\n\tif t.N != a.N {\n\t\tpanic(\"blas64: mismatched dimension\")\n\t}\n\tif t.Uplo != a.Uplo {\n\t\tpanic(\"blas64: mismatched BLAS uplo\")\n\t}\n\tswitch a.Uplo {\n\tdefault:\n\t\tpanic(\"blas64: bad BLAS uplo\")\n\tcase blas.Upper:\n\t\tfor i := 0; i < a.N; i++ {\n\t\t\tfor j := i; j < a.N; j++ {\n\t\t\t\tt.Data[i+j*t.Stride] = a.Data[i*a.Stride+j]\n\t\t\t}\n\t\t}\n\tcase blas.Lower:\n\t\tfor i := 0; i < a.N; i++ {\n\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\tt.Data[i+j*t.Stride] = a.Data[i*a.Stride+j]\n\t\t\t}\n\t\t}\n\t}\n}\n\n// From fills the receiver with elements from a. The receiver\n// must have the same dimensions and uplo as a and have adequate\n// backing data storage.\nfunc (t Symmetric) From(a SymmetricCols) {\n\tif t.N != a.N {\n\t\tpanic(\"blas64: mismatched dimension\")\n\t}\n\tif t.Uplo != a.Uplo {\n\t\tpanic(\"blas64: mismatched BLAS uplo\")\n\t}\n\tswitch a.Uplo {\n\tdefault:\n\t\tpanic(\"blas64: bad BLAS uplo\")\n\tcase blas.Upper:\n\t\tfor i := 0; i < a.N; i++ {\n\t\t\tfor j := i; j < a.N; j++ {\n\t\t\t\tt.Data[i*t.Stride+j] = a.Data[i+j*a.Stride]\n\t\t\t}\n\t\t}\n\tcase blas.Lower:\n\t\tfor i := 0; i < a.N; i++ {\n\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\tt.Data[i*t.Stride+j] = a.Data[i+j*a.Stride]\n\t\t\t}\n\t\t}\n\t}\n}\n\n// SymmetricBandCols represents a symmetric matrix using the band column-major storage scheme.\ntype SymmetricBandCols SymmetricBand\n\n// From fills the receiver with elements from a. The receiver\n// must have the same dimensions, bandwidth and uplo as a and\n// have adequate backing data storage.\nfunc (t SymmetricBandCols) From(a SymmetricBand) {\n\tif t.N != a.N {\n\t\tpanic(\"blas64: mismatched dimension\")\n\t}\n\tif t.K != a.K {\n\t\tpanic(\"blas64: mismatched bandwidth\")\n\t}\n\tif a.Stride < a.K+1 {\n\t\tpanic(\"blas64: short stride for source\")\n\t}\n\tif t.Stride < t.K+1 {\n\t\tpanic(\"blas64: short stride for destination\")\n\t}\n\tif t.Uplo != a.Uplo {\n\t\tpanic(\"blas64: mismatched BLAS uplo\")\n\t}\n\tdst := BandCols{\n\t\tRows: t.N, Cols: t.N,\n\t\tStride: t.Stride,\n\t\tData:   t.Data,\n\t}\n\tsrc := Band{\n\t\tRows: a.N, Cols: a.N,\n\t\tStride: a.Stride,\n\t\tData:   a.Data,\n\t}\n\tswitch a.Uplo {\n\tdefault:\n\t\tpanic(\"blas64: bad BLAS uplo\")\n\tcase blas.Upper:\n\t\tdst.KU = t.K\n\t\tsrc.KU = a.K\n\tcase blas.Lower:\n\t\tdst.KL = t.K\n\t\tsrc.KL = a.K\n\t}\n\tdst.From(src)\n}\n\n// From fills the receiver with elements from a. The receiver\n// must have the same dimensions, bandwidth and uplo as a and\n// have adequate backing data storage.\nfunc (t SymmetricBand) From(a SymmetricBandCols) {\n\tif t.N != a.N {\n\t\tpanic(\"blas64: mismatched dimension\")\n\t}\n\tif t.K != a.K {\n\t\tpanic(\"blas64: mismatched bandwidth\")\n\t}\n\tif a.Stride < a.K+1 {\n\t\tpanic(\"blas64: short stride for source\")\n\t}\n\tif t.Stride < t.K+1 {\n\t\tpanic(\"blas64: short stride for destination\")\n\t}\n\tif t.Uplo != a.Uplo {\n\t\tpanic(\"blas64: mismatched BLAS uplo\")\n\t}\n\tdst := Band{\n\t\tRows: t.N, Cols: t.N,\n\t\tStride: t.Stride,\n\t\tData:   t.Data,\n\t}\n\tsrc := BandCols{\n\t\tRows: a.N, Cols: a.N,\n\t\tStride: a.Stride,\n\t\tData:   a.Data,\n\t}\n\tswitch a.Uplo {\n\tdefault:\n\t\tpanic(\"blas64: bad BLAS uplo\")\n\tcase blas.Upper:\n\t\tdst.KU = t.K\n\t\tsrc.KU = a.K\n\tcase blas.Lower:\n\t\tdst.KL = t.K\n\t\tsrc.KL = a.K\n\t}\n\tdst.From(src)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/blas64/doc.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package blas64 provides a simple interface to the float64 BLAS API.\npackage blas64 // import \"gonum.org/v1/gonum/blas/blas64\"\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/doc.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n/*\nPackage blas provides interfaces for the BLAS linear algebra standard.\n\nAll methods must perform appropriate parameter checking and panic if\nprovided parameters that do not conform to the requirements specified\nby the BLAS standard.\n\nQuick Reference Guide to the BLAS from http://www.netlib.org/lapack/lug/node145.html\n\nThis version is modified to remove the \"order\" option. All matrix operations are\non row-order matrices.\n\nLevel 1 BLAS\n\n\t        dim scalar vector   vector   scalars              5-element prefixes\n\t                                                          struct\n\n\t_rotg (                                      a, b )                S, D\n\t_rotmg(                              d1, d2, a, b )                S, D\n\t_rot  ( n,         x, incX, y, incY,               c, s )          S, D\n\t_rotm ( n,         x, incX, y, incY,                      param )  S, D\n\t_swap ( n,         x, incX, y, incY )                              S, D, C, Z\n\t_scal ( n,  alpha, x, incX )                                       S, D, C, Z, Cs, Zd\n\t_copy ( n,         x, incX, y, incY )                              S, D, C, Z\n\t_axpy ( n,  alpha, x, incX, y, incY )                              S, D, C, Z\n\t_dot  ( n,         x, incX, y, incY )                              S, D, Ds\n\t_dotu ( n,         x, incX, y, incY )                              C, Z\n\t_dotc ( n,         x, incX, y, incY )                              C, Z\n\t__dot ( n,  alpha, x, incX, y, incY )                              Sds\n\t_nrm2 ( n,         x, incX )                                       S, D, Sc, Dz\n\t_asum ( n,         x, incX )                                       S, D, Sc, Dz\n\tI_amax( n,         x, incX )                                       s, d, c, z\n\nLevel 2 BLAS\n\n\t        options                   dim   b-width scalar matrix  vector   scalar vector   prefixes\n\n\t_gemv (        trans,      m, n,         alpha, a, lda, x, incX, beta,  y, incY ) S, D, C, Z\n\t_gbmv (        trans,      m, n, kL, kU, alpha, a, lda, x, incX, beta,  y, incY ) S, D, C, Z\n\t_hemv ( uplo,                 n,         alpha, a, lda, x, incX, beta,  y, incY ) C, Z\n\t_hbmv ( uplo,                 n, k,      alpha, a, lda, x, incX, beta,  y, incY ) C, Z\n\t_hpmv ( uplo,                 n,         alpha, ap,     x, incX, beta,  y, incY ) C, Z\n\t_symv ( uplo,                 n,         alpha, a, lda, x, incX, beta,  y, incY ) S, D\n\t_sbmv ( uplo,                 n, k,      alpha, a, lda, x, incX, beta,  y, incY ) S, D\n\t_spmv ( uplo,                 n,         alpha, ap,     x, incX, beta,  y, incY ) S, D\n\t_trmv ( uplo, trans, diag,    n,                a, lda, x, incX )                 S, D, C, Z\n\t_tbmv ( uplo, trans, diag,    n, k,             a, lda, x, incX )                 S, D, C, Z\n\t_tpmv ( uplo, trans, diag,    n,                ap,     x, incX )                 S, D, C, Z\n\t_trsv ( uplo, trans, diag,    n,                a, lda, x, incX )                 S, D, C, Z\n\t_tbsv ( uplo, trans, diag,    n, k,             a, lda, x, incX )                 S, D, C, Z\n\t_tpsv ( uplo, trans, diag,    n,                ap,     x, incX )                 S, D, C, Z\n\n\t        options                   dim   scalar vector   vector   matrix  prefixes\n\n\t_ger  (                    m, n, alpha, x, incX, y, incY, a, lda ) S, D\n\t_geru (                    m, n, alpha, x, incX, y, incY, a, lda ) C, Z\n\t_gerc (                    m, n, alpha, x, incX, y, incY, a, lda ) C, Z\n\t_her  ( uplo,                 n, alpha, x, incX,          a, lda ) C, Z\n\t_hpr  ( uplo,                 n, alpha, x, incX,          ap )     C, Z\n\t_her2 ( uplo,                 n, alpha, x, incX, y, incY, a, lda ) C, Z\n\t_hpr2 ( uplo,                 n, alpha, x, incX, y, incY, ap )     C, Z\n\t_syr  ( uplo,                 n, alpha, x, incX,          a, lda ) S, D\n\t_spr  ( uplo,                 n, alpha, x, incX,          ap )     S, D\n\t_syr2 ( uplo,                 n, alpha, x, incX, y, incY, a, lda ) S, D\n\t_spr2 ( uplo,                 n, alpha, x, incX, y, incY, ap )     S, D\n\nLevel 3 BLAS\n\n\t        options                                 dim      scalar matrix  matrix  scalar matrix  prefixes\n\n\t_gemm (             transA, transB,      m, n, k, alpha, a, lda, b, ldb, beta,  c, ldc ) S, D, C, Z\n\t_symm ( side, uplo,                      m, n,    alpha, a, lda, b, ldb, beta,  c, ldc ) S, D, C, Z\n\t_hemm ( side, uplo,                      m, n,    alpha, a, lda, b, ldb, beta,  c, ldc ) C, Z\n\t_syrk (       uplo, trans,                  n, k, alpha, a, lda,         beta,  c, ldc ) S, D, C, Z\n\t_herk (       uplo, trans,                  n, k, alpha, a, lda,         beta,  c, ldc ) C, Z\n\t_syr2k(       uplo, trans,                  n, k, alpha, a, lda, b, ldb, beta,  c, ldc ) S, D, C, Z\n\t_her2k(       uplo, trans,                  n, k, alpha, a, lda, b, ldb, beta,  c, ldc ) C, Z\n\t_trmm ( side, uplo, transA,        diag, m, n,    alpha, a, lda, b, ldb )                S, D, C, Z\n\t_trsm ( side, uplo, transA,        diag, m, n,    alpha, a, lda, b, ldb )                S, D, C, Z\n\nMeaning of prefixes\n\n\tS - float32\tC - complex64\n\tD - float64\tZ - complex128\n\nMatrix types\n\n\tGE - GEneral \t\tGB - General Band\n\tSY - SYmmetric \t\tSB - Symmetric Band \tSP - Symmetric Packed\n\tHE - HErmitian \t\tHB - Hermitian Band \tHP - Hermitian Packed\n\tTR - TRiangular \tTB - Triangular Band \tTP - Triangular Packed\n\nOptions\n\n\ttrans \t= NoTrans, Trans, ConjTrans\n\tuplo \t= Upper, Lower\n\tdiag \t= Nonunit, Unit\n\tside \t= Left, Right (A or op(A) on the left, or A or op(A) on the right)\n\nFor real matrices, Trans and ConjTrans have the same meaning.\nFor Hermitian matrices, trans = Trans is not allowed.\nFor complex symmetric matrices, trans = ConjTrans is not allowed.\n*/\npackage blas // import \"gonum.org/v1/gonum/blas\"\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/cmplx.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\nvar (\n\t_ blas.Complex64  = Implementation{}\n\t_ blas.Complex128 = Implementation{}\n)\n\n// TODO(btracey): Replace this as complex routines are added, and instead\n// automatically generate the complex64 routines from the complex128 ones.\n\nvar noComplex = \"native: implementation does not implement this routine, see the cgo wrapper in gonum.org/v1/netlib/blas\"\n\n// Level 1 complex64 routines.\n\nfunc (Implementation) Cdotu(n int, x []complex64, incX int, y []complex64, incY int) (dotu complex64) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Cdotc(n int, x []complex64, incX int, y []complex64, incY int) (dotc complex64) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Scnrm2(n int, x []complex64, incX int) float32 {\n\tpanic(noComplex)\n}\nfunc (Implementation) Scasum(n int, x []complex64, incX int) float32 {\n\tpanic(noComplex)\n}\nfunc (Implementation) Icamax(n int, x []complex64, incX int) int {\n\tpanic(noComplex)\n}\nfunc (Implementation) Cswap(n int, x []complex64, incX int, y []complex64, incY int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ccopy(n int, x []complex64, incX int, y []complex64, incY int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Caxpy(n int, alpha complex64, x []complex64, incX int, y []complex64, incY int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Cscal(n int, alpha complex64, x []complex64, incX int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Csscal(n int, alpha float32, x []complex64, incX int) {\n\tpanic(noComplex)\n}\n\n// Level 2 complex64 routines.\n\nfunc (Implementation) Cgemv(tA blas.Transpose, m, n int, alpha complex64, a []complex64, lda int, x []complex64, incX int, beta complex64, y []complex64, incY int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Cgbmv(tA blas.Transpose, m, n, kL, kU int, alpha complex64, a []complex64, lda int, x []complex64, incX int, beta complex64, y []complex64, incY int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ctrmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, a []complex64, lda int, x []complex64, incX int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ctbmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n, k int, a []complex64, lda int, x []complex64, incX int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ctpmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, ap []complex64, x []complex64, incX int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ctrsv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, a []complex64, lda int, x []complex64, incX int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ctbsv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n, k int, a []complex64, lda int, x []complex64, incX int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ctpsv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, ap []complex64, x []complex64, incX int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Chemv(ul blas.Uplo, n int, alpha complex64, a []complex64, lda int, x []complex64, incX int, beta complex64, y []complex64, incY int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Chbmv(ul blas.Uplo, n, k int, alpha complex64, a []complex64, lda int, x []complex64, incX int, beta complex64, y []complex64, incY int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Chpmv(ul blas.Uplo, n int, alpha complex64, ap []complex64, x []complex64, incX int, beta complex64, y []complex64, incY int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Cgeru(m, n int, alpha complex64, x []complex64, incX int, y []complex64, incY int, a []complex64, lda int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Cgerc(m, n int, alpha complex64, x []complex64, incX int, y []complex64, incY int, a []complex64, lda int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Cher(ul blas.Uplo, n int, alpha float32, x []complex64, incX int, a []complex64, lda int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Chpr(ul blas.Uplo, n int, alpha float32, x []complex64, incX int, a []complex64) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Cher2(ul blas.Uplo, n int, alpha complex64, x []complex64, incX int, y []complex64, incY int, a []complex64, lda int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Chpr2(ul blas.Uplo, n int, alpha complex64, x []complex64, incX int, y []complex64, incY int, ap []complex64) {\n\tpanic(noComplex)\n}\n\n// Level 3 complex64 routines.\n\nfunc (Implementation) Cgemm(tA, tB blas.Transpose, m, n, k int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta complex64, c []complex64, ldc int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Csymm(s blas.Side, ul blas.Uplo, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta complex64, c []complex64, ldc int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Csyrk(ul blas.Uplo, t blas.Transpose, n, k int, alpha complex64, a []complex64, lda int, beta complex64, c []complex64, ldc int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Csyr2k(ul blas.Uplo, t blas.Transpose, n, k int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta complex64, c []complex64, ldc int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ctrmm(s blas.Side, ul blas.Uplo, tA blas.Transpose, d blas.Diag, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ctrsm(s blas.Side, ul blas.Uplo, tA blas.Transpose, d blas.Diag, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Chemm(s blas.Side, ul blas.Uplo, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta complex64, c []complex64, ldc int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Cherk(ul blas.Uplo, t blas.Transpose, n, k int, alpha float32, a []complex64, lda int, beta float32, c []complex64, ldc int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Cher2k(ul blas.Uplo, t blas.Transpose, n, k int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta float32, c []complex64, ldc int) {\n\tpanic(noComplex)\n}\n\n// Level 2 complex128 routines.\n\nfunc (Implementation) Zgbmv(tA blas.Transpose, m, n int, kL int, kU int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ztbmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n, k int, a []complex128, lda int, x []complex128, incX int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ztpmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, ap []complex128, x []complex128, incX int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ztbsv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n, k int, a []complex128, lda int, x []complex128, incX int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ztpsv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, ap []complex128, x []complex128, incX int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Zhbmv(ul blas.Uplo, n, k int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int) {\n\tpanic(noComplex)\n}\n\n// Level 3 complex128 routines.\n\nfunc (Implementation) Zgemm(tA, tB blas.Transpose, m, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Zsymm(s blas.Side, ul blas.Uplo, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Zsyrk(ul blas.Uplo, t blas.Transpose, n, k int, alpha complex128, a []complex128, lda int, beta complex128, c []complex128, ldc int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Zsyr2k(ul blas.Uplo, t blas.Transpose, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ztrmm(s blas.Side, ul blas.Uplo, tA blas.Transpose, d blas.Diag, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Ztrsm(s blas.Side, ul blas.Uplo, tA blas.Transpose, d blas.Diag, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Zhemm(s blas.Side, ul blas.Uplo, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Zherk(ul blas.Uplo, t blas.Transpose, n, k int, alpha float64, a []complex128, lda int, beta float64, c []complex128, ldc int) {\n\tpanic(noComplex)\n}\nfunc (Implementation) Zher2k(ul blas.Uplo, t blas.Transpose, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta float64, c []complex128, ldc int) {\n\tpanic(noComplex)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/dgemm.go",
    "content": "// Copyright ©2014 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"runtime\"\n\t\"sync\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/internal/asm/f64\"\n)\n\n// Dgemm computes\n//  C = beta * C + alpha * A * B,\n// where A, B, and C are dense matrices, and alpha and beta are scalars.\n// tA and tB specify whether A or B are transposed.\nfunc (Implementation) Dgemm(tA, tB blas.Transpose, m, n, k int, alpha float64, a []float64, lda int, b []float64, ldb int, beta float64, c []float64, ldc int) {\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif tB != blas.NoTrans && tB != blas.Trans && tB != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\taTrans := tA == blas.Trans || tA == blas.ConjTrans\n\tif aTrans {\n\t\tcheckDMatrix('a', k, m, a, lda)\n\t} else {\n\t\tcheckDMatrix('a', m, k, a, lda)\n\t}\n\tbTrans := tB == blas.Trans || tB == blas.ConjTrans\n\tif bTrans {\n\t\tcheckDMatrix('b', n, k, b, ldb)\n\t} else {\n\t\tcheckDMatrix('b', k, n, b, ldb)\n\t}\n\tcheckDMatrix('c', m, n, c, ldc)\n\n\t// scale c\n\tif beta != 1 {\n\t\tif beta == 0 {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] = 0\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] *= beta\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tdgemmParallel(aTrans, bTrans, m, n, k, a, lda, b, ldb, c, ldc, alpha)\n}\n\nfunc dgemmParallel(aTrans, bTrans bool, m, n, k int, a []float64, lda int, b []float64, ldb int, c []float64, ldc int, alpha float64) {\n\t// dgemmParallel computes a parallel matrix multiplication by partitioning\n\t// a and b into sub-blocks, and updating c with the multiplication of the sub-block\n\t// In all cases,\n\t// A = [ \tA_11\tA_12 ... \tA_1j\n\t//\t\t\tA_21\tA_22 ...\tA_2j\n\t//\t\t\t\t...\n\t//\t\t\tA_i1\tA_i2 ...\tA_ij]\n\t//\n\t// and same for B. All of the submatrix sizes are blockSize×blockSize except\n\t// at the edges.\n\t//\n\t// In all cases, there is one dimension for each matrix along which\n\t// C must be updated sequentially.\n\t// Cij = \\sum_k Aik Bki,\t(A * B)\n\t// Cij = \\sum_k Aki Bkj,\t(A^T * B)\n\t// Cij = \\sum_k Aik Bjk,\t(A * B^T)\n\t// Cij = \\sum_k Aki Bjk,\t(A^T * B^T)\n\t//\n\t// This code computes one {i, j} block sequentially along the k dimension,\n\t// and computes all of the {i, j} blocks concurrently. This\n\t// partitioning allows Cij to be updated in-place without race-conditions.\n\t// Instead of launching a goroutine for each possible concurrent computation,\n\t// a number of worker goroutines are created and channels are used to pass\n\t// available and completed cases.\n\t//\n\t// http://alexkr.com/docs/matrixmult.pdf is a good reference on matrix-matrix\n\t// multiplies, though this code does not copy matrices to attempt to eliminate\n\t// cache misses.\n\n\tmaxKLen := k\n\tparBlocks := blocks(m, blockSize) * blocks(n, blockSize)\n\tif parBlocks < minParBlock {\n\t\t// The matrix multiplication is small in the dimensions where it can be\n\t\t// computed concurrently. Just do it in serial.\n\t\tdgemmSerial(aTrans, bTrans, m, n, k, a, lda, b, ldb, c, ldc, alpha)\n\t\treturn\n\t}\n\n\tnWorkers := runtime.GOMAXPROCS(0)\n\tif parBlocks < nWorkers {\n\t\tnWorkers = parBlocks\n\t}\n\t// There is a tradeoff between the workers having to wait for work\n\t// and a large buffer making operations slow.\n\tbuf := buffMul * nWorkers\n\tif buf > parBlocks {\n\t\tbuf = parBlocks\n\t}\n\n\tsendChan := make(chan subMul, buf)\n\n\t// Launch workers. A worker receives an {i, j} submatrix of c, and computes\n\t// A_ik B_ki (or the transposed version) storing the result in c_ij. When the\n\t// channel is finally closed, it signals to the waitgroup that it has finished\n\t// computing.\n\tvar wg sync.WaitGroup\n\tfor i := 0; i < nWorkers; i++ {\n\t\twg.Add(1)\n\t\tgo func() {\n\t\t\tdefer wg.Done()\n\t\t\t// Make local copies of otherwise global variables to reduce shared memory.\n\t\t\t// This has a noticeable effect on benchmarks in some cases.\n\t\t\talpha := alpha\n\t\t\taTrans := aTrans\n\t\t\tbTrans := bTrans\n\t\t\tm := m\n\t\t\tn := n\n\t\t\tfor sub := range sendChan {\n\t\t\t\ti := sub.i\n\t\t\t\tj := sub.j\n\t\t\t\tleni := blockSize\n\t\t\t\tif i+leni > m {\n\t\t\t\t\tleni = m - i\n\t\t\t\t}\n\t\t\t\tlenj := blockSize\n\t\t\t\tif j+lenj > n {\n\t\t\t\t\tlenj = n - j\n\t\t\t\t}\n\n\t\t\t\tcSub := sliceView64(c, ldc, i, j, leni, lenj)\n\n\t\t\t\t// Compute A_ik B_kj for all k\n\t\t\t\tfor k := 0; k < maxKLen; k += blockSize {\n\t\t\t\t\tlenk := blockSize\n\t\t\t\t\tif k+lenk > maxKLen {\n\t\t\t\t\t\tlenk = maxKLen - k\n\t\t\t\t\t}\n\t\t\t\t\tvar aSub, bSub []float64\n\t\t\t\t\tif aTrans {\n\t\t\t\t\t\taSub = sliceView64(a, lda, k, i, lenk, leni)\n\t\t\t\t\t} else {\n\t\t\t\t\t\taSub = sliceView64(a, lda, i, k, leni, lenk)\n\t\t\t\t\t}\n\t\t\t\t\tif bTrans {\n\t\t\t\t\t\tbSub = sliceView64(b, ldb, j, k, lenj, lenk)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbSub = sliceView64(b, ldb, k, j, lenk, lenj)\n\t\t\t\t\t}\n\t\t\t\t\tdgemmSerial(aTrans, bTrans, leni, lenj, lenk, aSub, lda, bSub, ldb, cSub, ldc, alpha)\n\t\t\t\t}\n\t\t\t}\n\t\t}()\n\t}\n\n\t// Send out all of the {i, j} subblocks for computation.\n\tfor i := 0; i < m; i += blockSize {\n\t\tfor j := 0; j < n; j += blockSize {\n\t\t\tsendChan <- subMul{\n\t\t\t\ti: i,\n\t\t\t\tj: j,\n\t\t\t}\n\t\t}\n\t}\n\tclose(sendChan)\n\twg.Wait()\n}\n\n// dgemmSerial is serial matrix multiply\nfunc dgemmSerial(aTrans, bTrans bool, m, n, k int, a []float64, lda int, b []float64, ldb int, c []float64, ldc int, alpha float64) {\n\tswitch {\n\tcase !aTrans && !bTrans:\n\t\tdgemmSerialNotNot(m, n, k, a, lda, b, ldb, c, ldc, alpha)\n\t\treturn\n\tcase aTrans && !bTrans:\n\t\tdgemmSerialTransNot(m, n, k, a, lda, b, ldb, c, ldc, alpha)\n\t\treturn\n\tcase !aTrans && bTrans:\n\t\tdgemmSerialNotTrans(m, n, k, a, lda, b, ldb, c, ldc, alpha)\n\t\treturn\n\tcase aTrans && bTrans:\n\t\tdgemmSerialTransTrans(m, n, k, a, lda, b, ldb, c, ldc, alpha)\n\t\treturn\n\tdefault:\n\t\tpanic(\"unreachable\")\n\t}\n}\n\n// dgemmSerial where neither a nor b are transposed\nfunc dgemmSerialNotNot(m, n, k int, a []float64, lda int, b []float64, ldb int, c []float64, ldc int, alpha float64) {\n\t// This style is used instead of the literal [i*stride +j]) is used because\n\t// approximately 5 times faster as of go 1.3.\n\tfor i := 0; i < m; i++ {\n\t\tctmp := c[i*ldc : i*ldc+n]\n\t\tfor l, v := range a[i*lda : i*lda+k] {\n\t\t\ttmp := alpha * v\n\t\t\tif tmp != 0 {\n\t\t\t\tf64.AxpyUnitaryTo(ctmp, tmp, b[l*ldb:l*ldb+n], ctmp)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// dgemmSerial where neither a is transposed and b is not\nfunc dgemmSerialTransNot(m, n, k int, a []float64, lda int, b []float64, ldb int, c []float64, ldc int, alpha float64) {\n\t// This style is used instead of the literal [i*stride +j]) is used because\n\t// approximately 5 times faster as of go 1.3.\n\tfor l := 0; l < k; l++ {\n\t\tbtmp := b[l*ldb : l*ldb+n]\n\t\tfor i, v := range a[l*lda : l*lda+m] {\n\t\t\ttmp := alpha * v\n\t\t\tif tmp != 0 {\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tf64.AxpyUnitaryTo(ctmp, tmp, btmp, ctmp)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// dgemmSerial where neither a is not transposed and b is\nfunc dgemmSerialNotTrans(m, n, k int, a []float64, lda int, b []float64, ldb int, c []float64, ldc int, alpha float64) {\n\t// This style is used instead of the literal [i*stride +j]) is used because\n\t// approximately 5 times faster as of go 1.3.\n\tfor i := 0; i < m; i++ {\n\t\tatmp := a[i*lda : i*lda+k]\n\t\tctmp := c[i*ldc : i*ldc+n]\n\t\tfor j := 0; j < n; j++ {\n\t\t\tctmp[j] += alpha * f64.DotUnitary(atmp, b[j*ldb:j*ldb+k])\n\t\t}\n\t}\n}\n\n// dgemmSerial where both are transposed\nfunc dgemmSerialTransTrans(m, n, k int, a []float64, lda int, b []float64, ldb int, c []float64, ldc int, alpha float64) {\n\t// This style is used instead of the literal [i*stride +j]) is used because\n\t// approximately 5 times faster as of go 1.3.\n\tfor l := 0; l < k; l++ {\n\t\tfor i, v := range a[l*lda : l*lda+m] {\n\t\t\ttmp := alpha * v\n\t\t\tif tmp != 0 {\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tf64.AxpyInc(tmp, b[l:], ctmp, uintptr(n), uintptr(ldb), 1, 0, 0)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc sliceView64(a []float64, lda, i, j, r, c int) []float64 {\n\treturn a[i*lda+j : (i+r-1)*lda+j+c]\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/doc.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Ensure changes made to blas/native are reflected in blas/cgo where relevant.\n\n/*\nPackage native is a Go implementation of the BLAS API. This implementation\npanics when the input arguments are invalid as per the standard, for example\nif a vector increment is zero. Note that the treatment of NaN values\nis not specified, and differs among the BLAS implementations.\ngonum.org/v1/gonum/blas/blas64 provides helpful wrapper functions to the BLAS\ninterface. The rest of this text describes the layout of the data for the input types.\n\nNote that in the function documentation, x[i] refers to the i^th element\nof the vector, which will be different from the i^th element of the slice if\nincX != 1.\n\nSee http://www.netlib.org/lapack/explore-html/d4/de1/_l_i_c_e_n_s_e_source.html\nfor more license information.\n\nVector arguments are effectively strided slices. They have two input arguments,\na number of elements, n, and an increment, incX. The increment specifies the\ndistance between elements of the vector. The actual Go slice may be longer\nthan necessary.\nThe increment may be positive or negative, except in functions with only\na single vector argument where the increment may only be positive. If the increment\nis negative, s[0] is the last element in the slice. Note that this is not the same\nas counting backward from the end of the slice, as len(s) may be longer than\nnecessary. So, for example, if n = 5 and incX = 3, the elements of s are\n\t[0 * * 1 * * 2 * * 3 * * 4 * * * ...]\nwhere ∗ elements are never accessed. If incX = -3, the same elements are\naccessed, just in reverse order (4, 3, 2, 1, 0).\n\nDense matrices are specified by a number of rows, a number of columns, and a stride.\nThe stride specifies the number of entries in the slice between the first element\nof successive rows. The stride must be at least as large as the number of columns\nbut may be longer.\n\t[a00 ... a0n a0* ... a1stride-1 a21 ... amn am* ... amstride-1]\nThus, dense[i*ld + j] refers to the {i, j}th element of the matrix.\n\nSymmetric and triangular matrices (non-packed) are stored identically to Dense,\nexcept that only elements in one triangle of the matrix are accessed.\n\nPacked symmetric and packed triangular matrices are laid out with the entries\ncondensed such that all of the unreferenced elements are removed. So, the upper triangular\nmatrix\n  [\n    1  2  3\n    0  4  5\n    0  0  6\n  ]\nand the lower-triangular matrix\n  [\n    1  0  0\n    2  3  0\n    4  5  6\n  ]\nwill both be compacted as [1 2 3 4 5 6]. The (i, j) element of the original\ndense matrix can be found at element i*n - (i-1)*i/2 + j for upper triangular,\nand at element i * (i+1) /2 + j for lower triangular.\n\nBanded matrices are laid out in a compact format, constructed by removing the\nzeros in the rows and aligning the diagonals. For example, the matrix\n  [\n    1  2  3  0  0  0\n    4  5  6  7  0  0\n    0  8  9 10 11  0\n    0  0 12 13 14 15\n    0  0  0 16 17 18\n    0  0  0  0 19 20\n  ]\n\nimplicitly becomes (∗ entries are never accessed)\n  [\n     *  1  2  3\n     4  5  6  7\n     8  9 10 11\n    12 13 14 15\n    16 17 18  *\n    19 20  *  *\n  ]\nwhich is given to the BLAS routine as [∗ 1 2 3 4 ...].\n\nSee http://www.crest.iu.edu/research/mtl/reference/html/banded.html\nfor more information\n*/\npackage gonum // import \"gonum.org/v1/gonum/blas/gonum\"\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/general_double.go",
    "content": "// Copyright ©2014 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n)\n\ntype general64 struct {\n\tdata       []float64\n\trows, cols int\n\tstride     int\n}\n\nfunc (g general64) clone() general64 {\n\tdata := make([]float64, len(g.data))\n\tcopy(data, g.data)\n\treturn general64{\n\t\tdata:   data,\n\t\trows:   g.rows,\n\t\tcols:   g.cols,\n\t\tstride: g.stride,\n\t}\n}\n\nfunc (g general64) equal(a general64) bool {\n\tif g.rows != a.rows || g.cols != a.cols || g.stride != a.stride {\n\t\treturn false\n\t}\n\tfor i, v := range g.data {\n\t\tif a.data[i] != v {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nfunc (g general64) equalWithinAbs(a general64, tol float64) bool {\n\tif g.rows != a.rows || g.cols != a.cols || g.stride != a.stride {\n\t\treturn false\n\t}\n\tfor i, v := range g.data {\n\t\tif math.Abs(a.data[i]-v) > tol {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/general_single.go",
    "content": "// Code generated by \"go generate gonum.org/v1/gonum/blas/gonum”; DO NOT EDIT.\n\n// Copyright ©2014 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\tmath \"gonum.org/v1/gonum/internal/math32\"\n)\n\ntype general32 struct {\n\tdata       []float32\n\trows, cols int\n\tstride     int\n}\n\nfunc (g general32) clone() general32 {\n\tdata := make([]float32, len(g.data))\n\tcopy(data, g.data)\n\treturn general32{\n\t\tdata:   data,\n\t\trows:   g.rows,\n\t\tcols:   g.cols,\n\t\tstride: g.stride,\n\t}\n}\n\nfunc (g general32) equal(a general32) bool {\n\tif g.rows != a.rows || g.cols != a.cols || g.stride != a.stride {\n\t\treturn false\n\t}\n\tfor i, v := range g.data {\n\t\tif a.data[i] != v {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nfunc (g general32) equalWithinAbs(a general32, tol float32) bool {\n\tif g.rows != a.rows || g.cols != a.cols || g.stride != a.stride {\n\t\treturn false\n\t}\n\tfor i, v := range g.data {\n\t\tif math.Abs(a.data[i]-v) > tol {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/gonum.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//go:generate ./single_precision.bash\n\npackage gonum\n\nimport \"math\"\n\ntype Implementation struct{}\n\n// The following are panic strings used during parameter checks.\nconst (\n\tnegativeN = \"blas: n < 0\"\n\tzeroIncX  = \"blas: zero x index increment\"\n\tzeroIncY  = \"blas: zero y index increment\"\n\tbadLenX   = \"blas: x index out of range\"\n\tbadLenY   = \"blas: y index out of range\"\n\n\tmLT0  = \"blas: m < 0\"\n\tnLT0  = \"blas: n < 0\"\n\tkLT0  = \"blas: k < 0\"\n\tkLLT0 = \"blas: kL < 0\"\n\tkULT0 = \"blas: kU < 0\"\n\n\tbadUplo      = \"blas: illegal triangle\"\n\tbadTranspose = \"blas: illegal transpose\"\n\tbadDiag      = \"blas: illegal diagonal\"\n\tbadSide      = \"blas: illegal side\"\n\n\tbadLdA = \"blas: index of a out of range\"\n\tbadLdB = \"blas: index of b out of range\"\n\tbadLdC = \"blas: index of c out of range\"\n\n\tbadX = \"blas: x index out of range\"\n\tbadY = \"blas: y index out of range\"\n)\n\n// [SD]gemm behavior constants. These are kept here to keep them out of the\n// way during single precision code genration.\nconst (\n\tblockSize   = 64 // b x b matrix\n\tminParBlock = 4  // minimum number of blocks needed to go parallel\n\tbuffMul     = 4  // how big is the buffer relative to the number of workers\n)\n\n// subMul is a common type shared by [SD]gemm.\ntype subMul struct {\n\ti, j int // index of block\n}\n\nfunc max(a, b int) int {\n\tif a > b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc min(a, b int) int {\n\tif a > b {\n\t\treturn b\n\t}\n\treturn a\n}\n\nfunc checkSMatrix(name byte, m, n int, a []float32, lda int) {\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif lda < n {\n\t\tpanic(\"blas: illegal stride of \" + string(name))\n\t}\n\tif len(a) < (m-1)*lda+n {\n\t\tpanic(\"blas: index of \" + string(name) + \" out of range\")\n\t}\n}\n\nfunc checkDMatrix(name byte, m, n int, a []float64, lda int) {\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif lda < n {\n\t\tpanic(\"blas: illegal stride of \" + string(name))\n\t}\n\tif len(a) < (m-1)*lda+n {\n\t\tpanic(\"blas: index of \" + string(name) + \" out of range\")\n\t}\n}\n\nfunc checkZMatrix(name byte, m, n int, a []complex128, lda int) {\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif lda < max(1, n) {\n\t\tpanic(\"blas: illegal stride of \" + string(name))\n\t}\n\tif len(a) < (m-1)*lda+n {\n\t\tpanic(\"blas: insufficient \" + string(name) + \" matrix slice length\")\n\t}\n}\n\nfunc checkZVector(name byte, n int, x []complex128, incX int) {\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(\"blas: insufficient \" + string(name) + \" vector slice length\")\n\t}\n}\n\n// blocks returns the number of divisions of the dimension length with the given\n// block size.\nfunc blocks(dim, bsize int) int {\n\treturn (dim + bsize - 1) / bsize\n}\n\n// dcabs1 returns |real(z)|+|imag(z)|.\nfunc dcabs1(z complex128) float64 {\n\treturn math.Abs(real(z)) + math.Abs(imag(z))\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/level1cmplx128.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/internal/asm/c128\"\n)\n\n// Dzasum returns the sum of the absolute values of the elements of x\n//  \\sum_i |Re(x[i])| + |Im(x[i])|\n// Dzasum returns 0 if incX is negative.\nfunc (Implementation) Dzasum(n int, x []complex128, incX int) float64 {\n\tif n < 0 {\n\t\tpanic(negativeN)\n\t}\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\treturn 0\n\t}\n\tvar sum float64\n\tif incX == 1 {\n\t\tif len(x) < n {\n\t\t\tpanic(badX)\n\t\t}\n\t\tfor _, v := range x[:n] {\n\t\t\tsum += dcabs1(v)\n\t\t}\n\t\treturn sum\n\t}\n\tif (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tv := x[i*incX]\n\t\tsum += dcabs1(v)\n\t}\n\treturn sum\n}\n\n// Dznrm2 computes the Euclidean norm of the complex vector x,\n//  ‖x‖_2 = sqrt(\\sum_i x[i] * conj(x[i])).\n// This function returns 0 if incX is negative.\nfunc (Implementation) Dznrm2(n int, x []complex128, incX int) float64 {\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\treturn 0\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn 0\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tvar (\n\t\tscale float64\n\t\tssq   float64 = 1\n\t)\n\tif incX == 1 {\n\t\tfor _, v := range x[:n] {\n\t\t\tre, im := math.Abs(real(v)), math.Abs(imag(v))\n\t\t\tif re != 0 {\n\t\t\t\tif re > scale {\n\t\t\t\t\tssq = 1 + ssq*(scale/re)*(scale/re)\n\t\t\t\t\tscale = re\n\t\t\t\t} else {\n\t\t\t\t\tssq += (re / scale) * (re / scale)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif im != 0 {\n\t\t\t\tif im > scale {\n\t\t\t\t\tssq = 1 + ssq*(scale/im)*(scale/im)\n\t\t\t\t\tscale = im\n\t\t\t\t} else {\n\t\t\t\t\tssq += (im / scale) * (im / scale)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif math.IsInf(scale, 1) {\n\t\t\treturn math.Inf(1)\n\t\t}\n\t\treturn scale * math.Sqrt(ssq)\n\t}\n\tfor ix := 0; ix < n*incX; ix += incX {\n\t\tre, im := math.Abs(real(x[ix])), math.Abs(imag(x[ix]))\n\t\tif re != 0 {\n\t\t\tif re > scale {\n\t\t\t\tssq = 1 + ssq*(scale/re)*(scale/re)\n\t\t\t\tscale = re\n\t\t\t} else {\n\t\t\t\tssq += (re / scale) * (re / scale)\n\t\t\t}\n\t\t}\n\t\tif im != 0 {\n\t\t\tif im > scale {\n\t\t\t\tssq = 1 + ssq*(scale/im)*(scale/im)\n\t\t\t\tscale = im\n\t\t\t} else {\n\t\t\t\tssq += (im / scale) * (im / scale)\n\t\t\t}\n\t\t}\n\t}\n\tif math.IsInf(scale, 1) {\n\t\treturn math.Inf(1)\n\t}\n\treturn scale * math.Sqrt(ssq)\n}\n\n// Izamax returns the index of the first element of x having largest |Re(·)|+|Im(·)|.\n// Izamax returns -1 if n is 0 or incX is negative.\nfunc (Implementation) Izamax(n int, x []complex128, incX int) int {\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\t// Return invalid index.\n\t\treturn -1\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\t// Return invalid index.\n\t\t\treturn -1\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif len(x) <= (n-1)*incX {\n\t\tpanic(badX)\n\t}\n\tidx := 0\n\tmax := dcabs1(x[0])\n\tif incX == 1 {\n\t\tfor i, v := range x[1:n] {\n\t\t\tabsV := dcabs1(v)\n\t\t\tif absV > max {\n\t\t\t\tmax = absV\n\t\t\t\tidx = i + 1\n\t\t\t}\n\t\t}\n\t\treturn idx\n\t}\n\tix := incX\n\tfor i := 1; i < n; i++ {\n\t\tabsV := dcabs1(x[ix])\n\t\tif absV > max {\n\t\t\tmax = absV\n\t\t\tidx = i\n\t\t}\n\t\tix += incX\n\t}\n\treturn idx\n}\n\n// Zaxpy adds alpha times x to y:\n//  y[i] += alpha * x[i] for all i\nfunc (Implementation) Zaxpy(n int, alpha complex128, x []complex128, incX int, y []complex128, incY int) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif alpha == 0 {\n\t\treturn\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tc128.AxpyUnitary(alpha, x[:n], y[:n])\n\t\treturn\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (1 - n) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (1 - n) * incY\n\t}\n\tc128.AxpyInc(alpha, x, y, uintptr(n), uintptr(incX), uintptr(incY), uintptr(ix), uintptr(iy))\n}\n\n// Zcopy copies the vector x to vector y.\nfunc (Implementation) Zcopy(n int, x []complex128, incX int, y []complex128, incY int) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tcopy(y[:n], x[:n])\n\t\treturn\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tfor i := 0; i < n; i++ {\n\t\ty[iy] = x[ix]\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Zdotc computes the dot product\n//  x^H · y\n// of two complex vectors x and y.\nfunc (Implementation) Zdotc(n int, x []complex128, incX int, y []complex128, incY int) complex128 {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n <= 0 {\n\t\tif n == 0 {\n\t\t\treturn 0\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tif len(x) < n {\n\t\t\tpanic(badX)\n\t\t}\n\t\tif len(y) < n {\n\t\t\tpanic(badY)\n\t\t}\n\t\treturn c128.DotcUnitary(x[:n], y[:n])\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tif ix >= len(x) || (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tif iy >= len(y) || (n-1)*incY >= len(y) {\n\t\tpanic(badY)\n\t}\n\treturn c128.DotcInc(x, y, uintptr(n), uintptr(incX), uintptr(incY), uintptr(ix), uintptr(iy))\n}\n\n// Zdotu computes the dot product\n//  x^T · y\n// of two complex vectors x and y.\nfunc (Implementation) Zdotu(n int, x []complex128, incX int, y []complex128, incY int) complex128 {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n <= 0 {\n\t\tif n == 0 {\n\t\t\treturn 0\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tif len(x) < n {\n\t\t\tpanic(badX)\n\t\t}\n\t\tif len(y) < n {\n\t\t\tpanic(badY)\n\t\t}\n\t\treturn c128.DotuUnitary(x[:n], y[:n])\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tif ix >= len(x) || (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tif iy >= len(y) || (n-1)*incY >= len(y) {\n\t\tpanic(badY)\n\t}\n\treturn c128.DotuInc(x, y, uintptr(n), uintptr(incX), uintptr(incY), uintptr(ix), uintptr(iy))\n}\n\n// Zdscal scales the vector x by a real scalar alpha.\n// Zdscal has no effect if incX < 0.\nfunc (Implementation) Zdscal(n int, alpha float64, x []complex128, incX int) {\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\treturn\n\t}\n\tif (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif alpha == 0 {\n\t\tif incX == 1 {\n\t\t\tx = x[:n]\n\t\t\tfor i := range x {\n\t\t\t\tx[i] = 0\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor ix := 0; ix < n*incX; ix += incX {\n\t\t\tx[ix] = 0\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tx = x[:n]\n\t\tfor i, v := range x {\n\t\t\tx[i] = complex(alpha*real(v), alpha*imag(v))\n\t\t}\n\t\treturn\n\t}\n\tfor ix := 0; ix < n*incX; ix += incX {\n\t\tv := x[ix]\n\t\tx[ix] = complex(alpha*real(v), alpha*imag(v))\n\t}\n}\n\n// Zscal scales the vector x by a complex scalar alpha.\n// Zscal has no effect if incX < 0.\nfunc (Implementation) Zscal(n int, alpha complex128, x []complex128, incX int) {\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\treturn\n\t}\n\tif (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif alpha == 0 {\n\t\tif incX == 1 {\n\t\t\tx = x[:n]\n\t\t\tfor i := range x {\n\t\t\t\tx[i] = 0\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor ix := 0; ix < n*incX; ix += incX {\n\t\t\tx[ix] = 0\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tc128.ScalUnitary(alpha, x[:n])\n\t\treturn\n\t}\n\tc128.ScalInc(alpha, x, uintptr(n), uintptr(incX))\n}\n\n// Zswap exchanges the elements of two complex vectors x and y.\nfunc (Implementation) Zswap(n int, x []complex128, incX int, y []complex128, incY int) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tx = x[:n]\n\t\tfor i, v := range x {\n\t\t\tx[i], y[i] = y[i], v\n\t\t}\n\t\treturn\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tx[ix], y[iy] = y[iy], x[ix]\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/level1double.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/internal/asm/f64\"\n)\n\nvar _ blas.Float64Level1 = Implementation{}\n\n// Dnrm2 computes the Euclidean norm of a vector,\n//  sqrt(\\sum_i x[i] * x[i]).\n// This function returns 0 if incX is negative.\nfunc (Implementation) Dnrm2(n int, x []float64, incX int) float64 {\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\treturn 0\n\t}\n\tif incX > 0 && (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tif n < 2 {\n\t\tif n == 1 {\n\t\t\treturn math.Abs(x[0])\n\t\t}\n\t\tif n == 0 {\n\t\t\treturn 0\n\t\t}\n\t\tif n < 1 {\n\t\t\tpanic(negativeN)\n\t\t}\n\t}\n\tvar (\n\t\tscale      float64 = 0\n\t\tsumSquares float64 = 1\n\t)\n\tif incX == 1 {\n\t\tx = x[:n]\n\t\tfor _, v := range x {\n\t\t\tif v == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tabsxi := math.Abs(v)\n\t\t\tif math.IsNaN(absxi) {\n\t\t\t\treturn math.NaN()\n\t\t\t}\n\t\t\tif scale < absxi {\n\t\t\t\tsumSquares = 1 + sumSquares*(scale/absxi)*(scale/absxi)\n\t\t\t\tscale = absxi\n\t\t\t} else {\n\t\t\t\tsumSquares = sumSquares + (absxi/scale)*(absxi/scale)\n\t\t\t}\n\t\t}\n\t\tif math.IsInf(scale, 1) {\n\t\t\treturn math.Inf(1)\n\t\t}\n\t\treturn scale * math.Sqrt(sumSquares)\n\t}\n\tfor ix := 0; ix < n*incX; ix += incX {\n\t\tval := x[ix]\n\t\tif val == 0 {\n\t\t\tcontinue\n\t\t}\n\t\tabsxi := math.Abs(val)\n\t\tif math.IsNaN(absxi) {\n\t\t\treturn math.NaN()\n\t\t}\n\t\tif scale < absxi {\n\t\t\tsumSquares = 1 + sumSquares*(scale/absxi)*(scale/absxi)\n\t\t\tscale = absxi\n\t\t} else {\n\t\t\tsumSquares = sumSquares + (absxi/scale)*(absxi/scale)\n\t\t}\n\t}\n\tif math.IsInf(scale, 1) {\n\t\treturn math.Inf(1)\n\t}\n\treturn scale * math.Sqrt(sumSquares)\n}\n\n// Dasum computes the sum of the absolute values of the elements of x.\n//  \\sum_i |x[i]|\n// Dasum returns 0 if incX is negative.\nfunc (Implementation) Dasum(n int, x []float64, incX int) float64 {\n\tvar sum float64\n\tif n < 0 {\n\t\tpanic(negativeN)\n\t}\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\treturn 0\n\t}\n\tif incX > 0 && (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tif incX == 1 {\n\t\tx = x[:n]\n\t\tfor _, v := range x {\n\t\t\tsum += math.Abs(v)\n\t\t}\n\t\treturn sum\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tsum += math.Abs(x[i*incX])\n\t}\n\treturn sum\n}\n\n// Idamax returns the index of an element of x with the largest absolute value.\n// If there are multiple such indices the earliest is returned.\n// Idamax returns -1 if n == 0.\nfunc (Implementation) Idamax(n int, x []float64, incX int) int {\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\treturn -1\n\t}\n\tif incX > 0 && (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tif n < 2 {\n\t\tif n == 1 {\n\t\t\treturn 0\n\t\t}\n\t\tif n == 0 {\n\t\t\treturn -1 // Netlib returns invalid index when n == 0\n\t\t}\n\t\tif n < 1 {\n\t\t\tpanic(negativeN)\n\t\t}\n\t}\n\tidx := 0\n\tmax := math.Abs(x[0])\n\tif incX == 1 {\n\t\tfor i, v := range x[:n] {\n\t\t\tabsV := math.Abs(v)\n\t\t\tif absV > max {\n\t\t\t\tmax = absV\n\t\t\t\tidx = i\n\t\t\t}\n\t\t}\n\t\treturn idx\n\t}\n\tix := incX\n\tfor i := 1; i < n; i++ {\n\t\tv := x[ix]\n\t\tabsV := math.Abs(v)\n\t\tif absV > max {\n\t\t\tmax = absV\n\t\t\tidx = i\n\t\t}\n\t\tix += incX\n\t}\n\treturn idx\n}\n\n// Dswap exchanges the elements of two vectors.\n//  x[i], y[i] = y[i], x[i] for all i\nfunc (Implementation) Dswap(n int, x []float64, incX int, y []float64, incY int) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tx = x[:n]\n\t\tfor i, v := range x {\n\t\t\tx[i], y[i] = y[i], v\n\t\t}\n\t\treturn\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tx[ix], y[iy] = y[iy], x[ix]\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Dcopy copies the elements of x into the elements of y.\n//  y[i] = x[i] for all i\nfunc (Implementation) Dcopy(n int, x []float64, incX int, y []float64, incY int) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tcopy(y[:n], x[:n])\n\t\treturn\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tfor i := 0; i < n; i++ {\n\t\ty[iy] = x[ix]\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Daxpy adds alpha times x to y\n//  y[i] += alpha * x[i] for all i\nfunc (Implementation) Daxpy(n int, alpha float64, x []float64, incX int, y []float64, incY int) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif alpha == 0 {\n\t\treturn\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tf64.AxpyUnitary(alpha, x[:n], y[:n])\n\t\treturn\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tf64.AxpyInc(alpha, x, y, uintptr(n), uintptr(incX), uintptr(incY), uintptr(ix), uintptr(iy))\n}\n\n// Drotg computes the plane rotation\n//   _    _      _ _       _ _\n//  |  c s |    | a |     | r |\n//  | -s c |  * | b |   = | 0 |\n//   ‾    ‾      ‾ ‾       ‾ ‾\n// where\n//  r = ±√(a^2 + b^2)\n//  c = a/r, the cosine of the plane rotation\n//  s = b/r, the sine of the plane rotation\n//\n// NOTE: There is a discrepancy between the refence implementation and the BLAS\n// technical manual regarding the sign for r when a or b are zero.\n// Drotg agrees with the definition in the manual and other\n// common BLAS implementations.\nfunc (Implementation) Drotg(a, b float64) (c, s, r, z float64) {\n\tif b == 0 && a == 0 {\n\t\treturn 1, 0, a, 0\n\t}\n\tabsA := math.Abs(a)\n\tabsB := math.Abs(b)\n\taGTb := absA > absB\n\tr = math.Hypot(a, b)\n\tif aGTb {\n\t\tr = math.Copysign(r, a)\n\t} else {\n\t\tr = math.Copysign(r, b)\n\t}\n\tc = a / r\n\ts = b / r\n\tif aGTb {\n\t\tz = s\n\t} else if c != 0 { // r == 0 case handled above\n\t\tz = 1 / c\n\t} else {\n\t\tz = 1\n\t}\n\treturn\n}\n\n// Drotmg computes the modified Givens rotation. See\n// http://www.netlib.org/lapack/explore-html/df/deb/drotmg_8f.html\n// for more details.\nfunc (Implementation) Drotmg(d1, d2, x1, y1 float64) (p blas.DrotmParams, rd1, rd2, rx1 float64) {\n\tvar p1, p2, q1, q2, u float64\n\n\tconst (\n\t\tgam    = 4096.0\n\t\tgamsq  = 16777216.0\n\t\trgamsq = 5.9604645e-8\n\t)\n\n\tif d1 < 0 {\n\t\tp.Flag = blas.Rescaling\n\t\treturn\n\t}\n\n\tp2 = d2 * y1\n\tif p2 == 0 {\n\t\tp.Flag = blas.Identity\n\t\trd1 = d1\n\t\trd2 = d2\n\t\trx1 = x1\n\t\treturn\n\t}\n\tp1 = d1 * x1\n\tq2 = p2 * y1\n\tq1 = p1 * x1\n\n\tabsQ1 := math.Abs(q1)\n\tabsQ2 := math.Abs(q2)\n\n\tif absQ1 < absQ2 && q2 < 0 {\n\t\tp.Flag = blas.Rescaling\n\t\treturn\n\t}\n\n\tif d1 == 0 {\n\t\tp.Flag = blas.Diagonal\n\t\tp.H[0] = p1 / p2\n\t\tp.H[3] = x1 / y1\n\t\tu = 1 + p.H[0]*p.H[3]\n\t\trd1, rd2 = d2/u, d1/u\n\t\trx1 = y1 / u\n\t\treturn\n\t}\n\n\t// Now we know that d1 != 0, and d2 != 0. If d2 == 0, it would be caught\n\t// when p2 == 0, and if d1 == 0, then it is caught above\n\n\tif absQ1 > absQ2 {\n\t\tp.H[1] = -y1 / x1\n\t\tp.H[2] = p2 / p1\n\t\tu = 1 - p.H[2]*p.H[1]\n\t\trd1 = d1\n\t\trd2 = d2\n\t\trx1 = x1\n\t\tp.Flag = blas.OffDiagonal\n\t\t// u must be greater than zero because |q1| > |q2|, so check from netlib\n\t\t// is unnecessary\n\t\t// This is left in for ease of comparison with complex routines\n\t\t//if u > 0 {\n\t\trd1 /= u\n\t\trd2 /= u\n\t\trx1 *= u\n\t\t//}\n\t} else {\n\t\tp.Flag = blas.Diagonal\n\t\tp.H[0] = p1 / p2\n\t\tp.H[3] = x1 / y1\n\t\tu = 1 + p.H[0]*p.H[3]\n\t\trd1 = d2 / u\n\t\trd2 = d1 / u\n\t\trx1 = y1 * u\n\t}\n\n\tfor rd1 <= rgamsq || rd1 >= gamsq {\n\t\tif p.Flag == blas.OffDiagonal {\n\t\t\tp.H[0] = 1\n\t\t\tp.H[3] = 1\n\t\t\tp.Flag = blas.Rescaling\n\t\t} else if p.Flag == blas.Diagonal {\n\t\t\tp.H[1] = -1\n\t\t\tp.H[2] = 1\n\t\t\tp.Flag = blas.Rescaling\n\t\t}\n\t\tif rd1 <= rgamsq {\n\t\t\trd1 *= gam * gam\n\t\t\trx1 /= gam\n\t\t\tp.H[0] /= gam\n\t\t\tp.H[2] /= gam\n\t\t} else {\n\t\t\trd1 /= gam * gam\n\t\t\trx1 *= gam\n\t\t\tp.H[0] *= gam\n\t\t\tp.H[2] *= gam\n\t\t}\n\t}\n\n\tfor math.Abs(rd2) <= rgamsq || math.Abs(rd2) >= gamsq {\n\t\tif p.Flag == blas.OffDiagonal {\n\t\t\tp.H[0] = 1\n\t\t\tp.H[3] = 1\n\t\t\tp.Flag = blas.Rescaling\n\t\t} else if p.Flag == blas.Diagonal {\n\t\t\tp.H[1] = -1\n\t\t\tp.H[2] = 1\n\t\t\tp.Flag = blas.Rescaling\n\t\t}\n\t\tif math.Abs(rd2) <= rgamsq {\n\t\t\trd2 *= gam * gam\n\t\t\tp.H[1] /= gam\n\t\t\tp.H[3] /= gam\n\t\t} else {\n\t\t\trd2 /= gam * gam\n\t\t\tp.H[1] *= gam\n\t\t\tp.H[3] *= gam\n\t\t}\n\t}\n\treturn\n}\n\n// Drot applies a plane transformation.\n//  x[i] = c * x[i] + s * y[i]\n//  y[i] = c * y[i] - s * x[i]\nfunc (Implementation) Drot(n int, x []float64, incX int, y []float64, incY int, c float64, s float64) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tx = x[:n]\n\t\tfor i, vx := range x {\n\t\t\tvy := y[i]\n\t\t\tx[i], y[i] = c*vx+s*vy, c*vy-s*vx\n\t\t}\n\t\treturn\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tvx := x[ix]\n\t\tvy := y[iy]\n\t\tx[ix], y[iy] = c*vx+s*vy, c*vy-s*vx\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Drotm applies the modified Givens rotation to the 2×n matrix.\nfunc (Implementation) Drotm(n int, x []float64, incX int, y []float64, incY int, p blas.DrotmParams) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n <= 0 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\n\tvar h11, h12, h21, h22 float64\n\tvar ix, iy int\n\tswitch p.Flag {\n\tcase blas.Identity:\n\t\treturn\n\tcase blas.Rescaling:\n\t\th11 = p.H[0]\n\t\th12 = p.H[2]\n\t\th21 = p.H[1]\n\t\th22 = p.H[3]\n\tcase blas.OffDiagonal:\n\t\th11 = 1\n\t\th12 = p.H[2]\n\t\th21 = p.H[1]\n\t\th22 = 1\n\tcase blas.Diagonal:\n\t\th11 = p.H[0]\n\t\th12 = 1\n\t\th21 = -1\n\t\th22 = p.H[3]\n\t}\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tx = x[:n]\n\t\tfor i, vx := range x {\n\t\t\tvy := y[i]\n\t\t\tx[i], y[i] = vx*h11+vy*h12, vx*h21+vy*h22\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tvx := x[ix]\n\t\tvy := y[iy]\n\t\tx[ix], y[iy] = vx*h11+vy*h12, vx*h21+vy*h22\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Dscal scales x by alpha.\n//  x[i] *= alpha\n// Dscal has no effect if incX < 0.\nfunc (Implementation) Dscal(n int, alpha float64, x []float64, incX int) {\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\treturn\n\t}\n\tif (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif alpha == 0 {\n\t\tif incX == 1 {\n\t\t\tx = x[:n]\n\t\t\tfor i := range x {\n\t\t\t\tx[i] = 0\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor ix := 0; ix < n*incX; ix += incX {\n\t\t\tx[ix] = 0\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tf64.ScalUnitary(alpha, x[:n])\n\t\treturn\n\t}\n\tf64.ScalInc(alpha, x, uintptr(n), uintptr(incX))\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/level1double_ddot.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/internal/asm/f64\"\n)\n\n// Ddot computes the dot product of the two vectors\n//  \\sum_i x[i]*y[i]\nfunc (Implementation) Ddot(n int, x []float64, incX int, y []float64, incY int) float64 {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n <= 0 {\n\t\tif n == 0 {\n\t\t\treturn 0\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tif len(x) < n {\n\t\t\tpanic(badLenX)\n\t\t}\n\t\tif len(y) < n {\n\t\t\tpanic(badLenY)\n\t\t}\n\t\treturn f64.DotUnitary(x[:n], y)\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tif ix >= len(x) || ix+(n-1)*incX >= len(x) {\n\t\tpanic(badLenX)\n\t}\n\tif iy >= len(y) || iy+(n-1)*incY >= len(y) {\n\t\tpanic(badLenY)\n\t}\n\treturn f64.DotInc(x, y, uintptr(n), uintptr(incX), uintptr(incY), uintptr(ix), uintptr(iy))\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/level1single.go",
    "content": "// Code generated by \"go generate gonum.org/v1/gonum/blas/gonum”; DO NOT EDIT.\n\n// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\tmath \"gonum.org/v1/gonum/internal/math32\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/internal/asm/f32\"\n)\n\nvar _ blas.Float32Level1 = Implementation{}\n\n// Snrm2 computes the Euclidean norm of a vector,\n//  sqrt(\\sum_i x[i] * x[i]).\n// This function returns 0 if incX is negative.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Snrm2(n int, x []float32, incX int) float32 {\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\treturn 0\n\t}\n\tif incX > 0 && (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tif n < 2 {\n\t\tif n == 1 {\n\t\t\treturn math.Abs(x[0])\n\t\t}\n\t\tif n == 0 {\n\t\t\treturn 0\n\t\t}\n\t\tif n < 1 {\n\t\t\tpanic(negativeN)\n\t\t}\n\t}\n\tvar (\n\t\tscale      float32 = 0\n\t\tsumSquares float32 = 1\n\t)\n\tif incX == 1 {\n\t\tx = x[:n]\n\t\tfor _, v := range x {\n\t\t\tif v == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tabsxi := math.Abs(v)\n\t\t\tif math.IsNaN(absxi) {\n\t\t\t\treturn math.NaN()\n\t\t\t}\n\t\t\tif scale < absxi {\n\t\t\t\tsumSquares = 1 + sumSquares*(scale/absxi)*(scale/absxi)\n\t\t\t\tscale = absxi\n\t\t\t} else {\n\t\t\t\tsumSquares = sumSquares + (absxi/scale)*(absxi/scale)\n\t\t\t}\n\t\t}\n\t\tif math.IsInf(scale, 1) {\n\t\t\treturn math.Inf(1)\n\t\t}\n\t\treturn scale * math.Sqrt(sumSquares)\n\t}\n\tfor ix := 0; ix < n*incX; ix += incX {\n\t\tval := x[ix]\n\t\tif val == 0 {\n\t\t\tcontinue\n\t\t}\n\t\tabsxi := math.Abs(val)\n\t\tif math.IsNaN(absxi) {\n\t\t\treturn math.NaN()\n\t\t}\n\t\tif scale < absxi {\n\t\t\tsumSquares = 1 + sumSquares*(scale/absxi)*(scale/absxi)\n\t\t\tscale = absxi\n\t\t} else {\n\t\t\tsumSquares = sumSquares + (absxi/scale)*(absxi/scale)\n\t\t}\n\t}\n\tif math.IsInf(scale, 1) {\n\t\treturn math.Inf(1)\n\t}\n\treturn scale * math.Sqrt(sumSquares)\n}\n\n// Sasum computes the sum of the absolute values of the elements of x.\n//  \\sum_i |x[i]|\n// Sasum returns 0 if incX is negative.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Sasum(n int, x []float32, incX int) float32 {\n\tvar sum float32\n\tif n < 0 {\n\t\tpanic(negativeN)\n\t}\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\treturn 0\n\t}\n\tif incX > 0 && (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tif incX == 1 {\n\t\tx = x[:n]\n\t\tfor _, v := range x {\n\t\t\tsum += math.Abs(v)\n\t\t}\n\t\treturn sum\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tsum += math.Abs(x[i*incX])\n\t}\n\treturn sum\n}\n\n// Isamax returns the index of an element of x with the largest absolute value.\n// If there are multiple such indices the earliest is returned.\n// Isamax returns -1 if n == 0.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Isamax(n int, x []float32, incX int) int {\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\treturn -1\n\t}\n\tif incX > 0 && (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tif n < 2 {\n\t\tif n == 1 {\n\t\t\treturn 0\n\t\t}\n\t\tif n == 0 {\n\t\t\treturn -1 // Netlib returns invalid index when n == 0\n\t\t}\n\t\tif n < 1 {\n\t\t\tpanic(negativeN)\n\t\t}\n\t}\n\tidx := 0\n\tmax := math.Abs(x[0])\n\tif incX == 1 {\n\t\tfor i, v := range x[:n] {\n\t\t\tabsV := math.Abs(v)\n\t\t\tif absV > max {\n\t\t\t\tmax = absV\n\t\t\t\tidx = i\n\t\t\t}\n\t\t}\n\t\treturn idx\n\t}\n\tix := incX\n\tfor i := 1; i < n; i++ {\n\t\tv := x[ix]\n\t\tabsV := math.Abs(v)\n\t\tif absV > max {\n\t\t\tmax = absV\n\t\t\tidx = i\n\t\t}\n\t\tix += incX\n\t}\n\treturn idx\n}\n\n// Sswap exchanges the elements of two vectors.\n//  x[i], y[i] = y[i], x[i] for all i\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Sswap(n int, x []float32, incX int, y []float32, incY int) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tx = x[:n]\n\t\tfor i, v := range x {\n\t\t\tx[i], y[i] = y[i], v\n\t\t}\n\t\treturn\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tx[ix], y[iy] = y[iy], x[ix]\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Scopy copies the elements of x into the elements of y.\n//  y[i] = x[i] for all i\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Scopy(n int, x []float32, incX int, y []float32, incY int) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tcopy(y[:n], x[:n])\n\t\treturn\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tfor i := 0; i < n; i++ {\n\t\ty[iy] = x[ix]\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Saxpy adds alpha times x to y\n//  y[i] += alpha * x[i] for all i\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Saxpy(n int, alpha float32, x []float32, incX int, y []float32, incY int) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif alpha == 0 {\n\t\treturn\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tf32.AxpyUnitary(alpha, x[:n], y[:n])\n\t\treturn\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tf32.AxpyInc(alpha, x, y, uintptr(n), uintptr(incX), uintptr(incY), uintptr(ix), uintptr(iy))\n}\n\n// Srotg computes the plane rotation\n//   _    _      _ _       _ _\n//  |  c s |    | a |     | r |\n//  | -s c |  * | b |   = | 0 |\n//   ‾    ‾      ‾ ‾       ‾ ‾\n// where\n//  r = ±√(a^2 + b^2)\n//  c = a/r, the cosine of the plane rotation\n//  s = b/r, the sine of the plane rotation\n//\n// NOTE: There is a discrepancy between the refence implementation and the BLAS\n// technical manual regarding the sign for r when a or b are zero.\n// Srotg agrees with the definition in the manual and other\n// common BLAS implementations.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Srotg(a, b float32) (c, s, r, z float32) {\n\tif b == 0 && a == 0 {\n\t\treturn 1, 0, a, 0\n\t}\n\tabsA := math.Abs(a)\n\tabsB := math.Abs(b)\n\taGTb := absA > absB\n\tr = math.Hypot(a, b)\n\tif aGTb {\n\t\tr = math.Copysign(r, a)\n\t} else {\n\t\tr = math.Copysign(r, b)\n\t}\n\tc = a / r\n\ts = b / r\n\tif aGTb {\n\t\tz = s\n\t} else if c != 0 { // r == 0 case handled above\n\t\tz = 1 / c\n\t} else {\n\t\tz = 1\n\t}\n\treturn\n}\n\n// Srotmg computes the modified Givens rotation. See\n// http://www.netlib.org/lapack/explore-html/df/deb/drotmg_8f.html\n// for more details.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Srotmg(d1, d2, x1, y1 float32) (p blas.SrotmParams, rd1, rd2, rx1 float32) {\n\tvar p1, p2, q1, q2, u float32\n\n\tconst (\n\t\tgam    = 4096.0\n\t\tgamsq  = 16777216.0\n\t\trgamsq = 5.9604645e-8\n\t)\n\n\tif d1 < 0 {\n\t\tp.Flag = blas.Rescaling\n\t\treturn\n\t}\n\n\tp2 = d2 * y1\n\tif p2 == 0 {\n\t\tp.Flag = blas.Identity\n\t\trd1 = d1\n\t\trd2 = d2\n\t\trx1 = x1\n\t\treturn\n\t}\n\tp1 = d1 * x1\n\tq2 = p2 * y1\n\tq1 = p1 * x1\n\n\tabsQ1 := math.Abs(q1)\n\tabsQ2 := math.Abs(q2)\n\n\tif absQ1 < absQ2 && q2 < 0 {\n\t\tp.Flag = blas.Rescaling\n\t\treturn\n\t}\n\n\tif d1 == 0 {\n\t\tp.Flag = blas.Diagonal\n\t\tp.H[0] = p1 / p2\n\t\tp.H[3] = x1 / y1\n\t\tu = 1 + p.H[0]*p.H[3]\n\t\trd1, rd2 = d2/u, d1/u\n\t\trx1 = y1 / u\n\t\treturn\n\t}\n\n\t// Now we know that d1 != 0, and d2 != 0. If d2 == 0, it would be caught\n\t// when p2 == 0, and if d1 == 0, then it is caught above\n\n\tif absQ1 > absQ2 {\n\t\tp.H[1] = -y1 / x1\n\t\tp.H[2] = p2 / p1\n\t\tu = 1 - p.H[2]*p.H[1]\n\t\trd1 = d1\n\t\trd2 = d2\n\t\trx1 = x1\n\t\tp.Flag = blas.OffDiagonal\n\t\t// u must be greater than zero because |q1| > |q2|, so check from netlib\n\t\t// is unnecessary\n\t\t// This is left in for ease of comparison with complex routines\n\t\t//if u > 0 {\n\t\trd1 /= u\n\t\trd2 /= u\n\t\trx1 *= u\n\t\t//}\n\t} else {\n\t\tp.Flag = blas.Diagonal\n\t\tp.H[0] = p1 / p2\n\t\tp.H[3] = x1 / y1\n\t\tu = 1 + p.H[0]*p.H[3]\n\t\trd1 = d2 / u\n\t\trd2 = d1 / u\n\t\trx1 = y1 * u\n\t}\n\n\tfor rd1 <= rgamsq || rd1 >= gamsq {\n\t\tif p.Flag == blas.OffDiagonal {\n\t\t\tp.H[0] = 1\n\t\t\tp.H[3] = 1\n\t\t\tp.Flag = blas.Rescaling\n\t\t} else if p.Flag == blas.Diagonal {\n\t\t\tp.H[1] = -1\n\t\t\tp.H[2] = 1\n\t\t\tp.Flag = blas.Rescaling\n\t\t}\n\t\tif rd1 <= rgamsq {\n\t\t\trd1 *= gam * gam\n\t\t\trx1 /= gam\n\t\t\tp.H[0] /= gam\n\t\t\tp.H[2] /= gam\n\t\t} else {\n\t\t\trd1 /= gam * gam\n\t\t\trx1 *= gam\n\t\t\tp.H[0] *= gam\n\t\t\tp.H[2] *= gam\n\t\t}\n\t}\n\n\tfor math.Abs(rd2) <= rgamsq || math.Abs(rd2) >= gamsq {\n\t\tif p.Flag == blas.OffDiagonal {\n\t\t\tp.H[0] = 1\n\t\t\tp.H[3] = 1\n\t\t\tp.Flag = blas.Rescaling\n\t\t} else if p.Flag == blas.Diagonal {\n\t\t\tp.H[1] = -1\n\t\t\tp.H[2] = 1\n\t\t\tp.Flag = blas.Rescaling\n\t\t}\n\t\tif math.Abs(rd2) <= rgamsq {\n\t\t\trd2 *= gam * gam\n\t\t\tp.H[1] /= gam\n\t\t\tp.H[3] /= gam\n\t\t} else {\n\t\t\trd2 /= gam * gam\n\t\t\tp.H[1] *= gam\n\t\t\tp.H[3] *= gam\n\t\t}\n\t}\n\treturn\n}\n\n// Srot applies a plane transformation.\n//  x[i] = c * x[i] + s * y[i]\n//  y[i] = c * y[i] - s * x[i]\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Srot(n int, x []float32, incX int, y []float32, incY int, c float32, s float32) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tx = x[:n]\n\t\tfor i, vx := range x {\n\t\t\tvy := y[i]\n\t\t\tx[i], y[i] = c*vx+s*vy, c*vy-s*vx\n\t\t}\n\t\treturn\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tvx := x[ix]\n\t\tvy := y[iy]\n\t\tx[ix], y[iy] = c*vx+s*vy, c*vy-s*vx\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Srotm applies the modified Givens rotation to the 2×n matrix.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Srotm(n int, x []float32, incX int, y []float32, incY int, p blas.SrotmParams) {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n <= 0 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\n\tvar h11, h12, h21, h22 float32\n\tvar ix, iy int\n\tswitch p.Flag {\n\tcase blas.Identity:\n\t\treturn\n\tcase blas.Rescaling:\n\t\th11 = p.H[0]\n\t\th12 = p.H[2]\n\t\th21 = p.H[1]\n\t\th22 = p.H[3]\n\tcase blas.OffDiagonal:\n\t\th11 = 1\n\t\th12 = p.H[2]\n\t\th21 = p.H[1]\n\t\th22 = 1\n\tcase blas.Diagonal:\n\t\th11 = p.H[0]\n\t\th12 = 1\n\t\th21 = -1\n\t\th22 = p.H[3]\n\t}\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tx = x[:n]\n\t\tfor i, vx := range x {\n\t\t\tvy := y[i]\n\t\t\tx[i], y[i] = vx*h11+vy*h12, vx*h21+vy*h22\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tvx := x[ix]\n\t\tvy := y[iy]\n\t\tx[ix], y[iy] = vx*h11+vy*h12, vx*h21+vy*h22\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Sscal scales x by alpha.\n//  x[i] *= alpha\n// Sscal has no effect if incX < 0.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Sscal(n int, alpha float32, x []float32, incX int) {\n\tif incX < 1 {\n\t\tif incX == 0 {\n\t\t\tpanic(zeroIncX)\n\t\t}\n\t\treturn\n\t}\n\tif (n-1)*incX >= len(x) {\n\t\tpanic(badX)\n\t}\n\tif n < 1 {\n\t\tif n == 0 {\n\t\t\treturn\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif alpha == 0 {\n\t\tif incX == 1 {\n\t\t\tx = x[:n]\n\t\t\tfor i := range x {\n\t\t\t\tx[i] = 0\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor ix := 0; ix < n*incX; ix += incX {\n\t\t\tx[ix] = 0\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tf32.ScalUnitary(alpha, x[:n])\n\t\treturn\n\t}\n\tf32.ScalInc(alpha, x, uintptr(n), uintptr(incX))\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/level1single_dsdot.go",
    "content": "// Code generated by \"go generate gonum.org/v1/gonum/blas/gonum”; DO NOT EDIT.\n\n// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/internal/asm/f32\"\n)\n\n// Dsdot computes the dot product of the two vectors\n//  \\sum_i x[i]*y[i]\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Dsdot(n int, x []float32, incX int, y []float32, incY int) float64 {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n <= 0 {\n\t\tif n == 0 {\n\t\t\treturn 0\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tif len(x) < n {\n\t\t\tpanic(badLenX)\n\t\t}\n\t\tif len(y) < n {\n\t\t\tpanic(badLenY)\n\t\t}\n\t\treturn f32.DdotUnitary(x[:n], y)\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tif ix >= len(x) || ix+(n-1)*incX >= len(x) {\n\t\tpanic(badLenX)\n\t}\n\tif iy >= len(y) || iy+(n-1)*incY >= len(y) {\n\t\tpanic(badLenY)\n\t}\n\treturn f32.DdotInc(x, y, uintptr(n), uintptr(incX), uintptr(incY), uintptr(ix), uintptr(iy))\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/level1single_sdot.go",
    "content": "// Code generated by \"go generate gonum.org/v1/gonum/blas/gonum”; DO NOT EDIT.\n\n// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/internal/asm/f32\"\n)\n\n// Sdot computes the dot product of the two vectors\n//  \\sum_i x[i]*y[i]\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Sdot(n int, x []float32, incX int, y []float32, incY int) float32 {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n <= 0 {\n\t\tif n == 0 {\n\t\t\treturn 0\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tif len(x) < n {\n\t\t\tpanic(badLenX)\n\t\t}\n\t\tif len(y) < n {\n\t\t\tpanic(badLenY)\n\t\t}\n\t\treturn f32.DotUnitary(x[:n], y)\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tif ix >= len(x) || ix+(n-1)*incX >= len(x) {\n\t\tpanic(badLenX)\n\t}\n\tif iy >= len(y) || iy+(n-1)*incY >= len(y) {\n\t\tpanic(badLenY)\n\t}\n\treturn f32.DotInc(x, y, uintptr(n), uintptr(incX), uintptr(incY), uintptr(ix), uintptr(iy))\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/level1single_sdsdot.go",
    "content": "// Code generated by \"go generate gonum.org/v1/gonum/blas/gonum”; DO NOT EDIT.\n\n// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/internal/asm/f32\"\n)\n\n// Sdsdot computes the dot product of the two vectors plus a constant\n//  alpha + \\sum_i x[i]*y[i]\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Sdsdot(n int, alpha float32, x []float32, incX int, y []float32, incY int) float32 {\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif n <= 0 {\n\t\tif n == 0 {\n\t\t\treturn 0\n\t\t}\n\t\tpanic(negativeN)\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tif len(x) < n {\n\t\t\tpanic(badLenX)\n\t\t}\n\t\tif len(y) < n {\n\t\t\tpanic(badLenY)\n\t\t}\n\t\treturn alpha + float32(f32.DdotUnitary(x[:n], y))\n\t}\n\tvar ix, iy int\n\tif incX < 0 {\n\t\tix = (-n + 1) * incX\n\t}\n\tif incY < 0 {\n\t\tiy = (-n + 1) * incY\n\t}\n\tif ix >= len(x) || ix+(n-1)*incX >= len(x) {\n\t\tpanic(badLenX)\n\t}\n\tif iy >= len(y) || iy+(n-1)*incY >= len(y) {\n\t\tpanic(badLenY)\n\t}\n\treturn alpha + float32(f32.DdotInc(x, y, uintptr(n), uintptr(incX), uintptr(incY), uintptr(ix), uintptr(iy)))\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/level2cmplx128.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math/cmplx\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/internal/asm/c128\"\n)\n\n// Zgemv performs one of the matrix-vector operations\n//  y = alpha * A * x + beta * y    if trans = blas.NoTrans\n//  y = alpha * A^T * x + beta * y  if trans = blas.Trans\n//  y = alpha * A^H * x + beta * y  if trans = blas.ConjTrans\n// where alpha and beta are scalars, x and y are vectors, and A is an m×n dense matrix.\nfunc (Implementation) Zgemv(trans blas.Transpose, m, n int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int) {\n\tcheckZMatrix('A', m, n, a, lda)\n\tswitch trans {\n\tdefault:\n\t\tpanic(badTranspose)\n\tcase blas.NoTrans:\n\t\tcheckZVector('x', n, x, incX)\n\t\tcheckZVector('y', m, y, incY)\n\tcase blas.Trans, blas.ConjTrans:\n\t\tcheckZVector('x', m, x, incX)\n\t\tcheckZVector('y', n, y, incY)\n\t}\n\n\tif m == 0 || n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\tvar lenX, lenY int\n\tif trans == blas.NoTrans {\n\t\tlenX = n\n\t\tlenY = m\n\t} else {\n\t\tlenX = m\n\t\tlenY = n\n\t}\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = (1 - lenX) * incX\n\t}\n\tvar ky int\n\tif incY < 0 {\n\t\tky = (1 - lenY) * incY\n\t}\n\n\t// Form y := beta*y.\n\tif beta != 1 {\n\t\tif incY == 1 {\n\t\t\tif beta == 0 {\n\t\t\t\tfor i := range y[:lenY] {\n\t\t\t\t\ty[i] = 0\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tc128.ScalUnitary(beta, y[:lenY])\n\t\t\t}\n\t\t} else {\n\t\t\tiy := ky\n\t\t\tif beta == 0 {\n\t\t\t\tfor i := 0; i < lenY; i++ {\n\t\t\t\t\ty[iy] = 0\n\t\t\t\t\tiy += incY\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif incY > 0 {\n\t\t\t\t\tc128.ScalInc(beta, y, uintptr(lenY), uintptr(incY))\n\t\t\t\t} else {\n\t\t\t\t\tc128.ScalInc(beta, y, uintptr(lenY), uintptr(-incY))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\tswitch trans {\n\tdefault:\n\t\t// Form y := alpha*A*x + y.\n\t\tiy := ky\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\ty[iy] += alpha * c128.DotuUnitary(a[i*lda:i*lda+n], x[:n])\n\t\t\t\tiy += incY\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < m; i++ {\n\t\t\ty[iy] += alpha * c128.DotuInc(a[i*lda:i*lda+n], x, uintptr(n), 1, uintptr(incX), 0, uintptr(kx))\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\n\tcase blas.Trans:\n\t\t// Form y := alpha*A^T*x + y.\n\t\tix := kx\n\t\tif incY == 1 {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tc128.AxpyUnitary(alpha*x[ix], a[i*lda:i*lda+n], y[:n])\n\t\t\t\tix += incX\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < m; i++ {\n\t\t\tc128.AxpyInc(alpha*x[ix], a[i*lda:i*lda+n], y, uintptr(n), 1, uintptr(incY), 0, uintptr(ky))\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\n\tcase blas.ConjTrans:\n\t\t// Form y := alpha*A^H*x + y.\n\t\tix := kx\n\t\tif incY == 1 {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\ttmp := alpha * x[ix]\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\ty[j] += tmp * cmplx.Conj(a[i*lda+j])\n\t\t\t\t}\n\t\t\t\tix += incX\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < m; i++ {\n\t\t\ttmp := alpha * x[ix]\n\t\t\tjy := ky\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\ty[jy] += tmp * cmplx.Conj(a[i*lda+j])\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\t}\n}\n\n// Zgerc performs the rank-one operation\n//  A += alpha * x * y^H\n// where A is an m×n dense matrix, alpha is a scalar, x is an m element vector,\n// and y is an n element vector.\nfunc (Implementation) Zgerc(m, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int) {\n\tcheckZMatrix('A', m, n, a, lda)\n\tcheckZVector('x', m, x, incX)\n\tcheckZVector('y', n, y, incY)\n\n\tif m == 0 || n == 0 || alpha == 0 {\n\t\treturn\n\t}\n\n\tvar kx, jy int\n\tif incX < 0 {\n\t\tkx = (1 - m) * incX\n\t}\n\tif incY < 0 {\n\t\tjy = (1 - n) * incY\n\t}\n\tfor j := 0; j < n; j++ {\n\t\tif y[jy] != 0 {\n\t\t\ttmp := alpha * cmplx.Conj(y[jy])\n\t\t\tc128.AxpyInc(tmp, x, a[j:], uintptr(m), uintptr(incX), uintptr(lda), uintptr(kx), 0)\n\t\t}\n\t\tjy += incY\n\t}\n}\n\n// Zgeru performs the rank-one operation\n//  A += alpha * x * y^T\n// where A is an m×n dense matrix, alpha is a scalar, x is an m element vector,\n// and y is an n element vector.\nfunc (Implementation) Zgeru(m, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int) {\n\tcheckZMatrix('A', m, n, a, lda)\n\tcheckZVector('x', m, x, incX)\n\tcheckZVector('y', n, y, incY)\n\n\tif m == 0 || n == 0 || alpha == 0 {\n\t\treturn\n\t}\n\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = (1 - m) * incX\n\t}\n\tif incY == 1 {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tif x[kx] != 0 {\n\t\t\t\ttmp := alpha * x[kx]\n\t\t\t\tc128.AxpyUnitary(tmp, y[:n], a[i*lda:i*lda+n])\n\t\t\t}\n\t\t\tkx += incX\n\t\t}\n\t\treturn\n\t}\n\tvar jy int\n\tif incY < 0 {\n\t\tjy = (1 - n) * incY\n\t}\n\tfor i := 0; i < m; i++ {\n\t\tif x[kx] != 0 {\n\t\t\ttmp := alpha * x[kx]\n\t\t\tc128.AxpyInc(tmp, y, a[i*lda:i*lda+n], uintptr(n), uintptr(incY), 1, uintptr(jy), 0)\n\t\t}\n\t\tkx += incX\n\t}\n}\n\n// Zhemv performs the matrix-vector operation\n//  y = alpha * A * x + beta * y\n// where alpha and beta are scalars, x and y are vectors, and A is an n×n\n// Hermitian matrix. The imaginary parts of the diagonal elements of A are\n// ignored and assumed to be zero.\nfunc (Implementation) Zhemv(uplo blas.Uplo, n int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int) {\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tcheckZMatrix('A', n, n, a, lda)\n\tcheckZVector('x', n, x, incX)\n\tcheckZVector('y', n, y, incY)\n\n\tif n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\t// Set up the start indices in X and Y.\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = (1 - n) * incX\n\t}\n\tvar ky int\n\tif incY < 0 {\n\t\tky = (1 - n) * incY\n\t}\n\n\t// Form y := beta*y.\n\tif beta != 1 {\n\t\tif incY == 1 {\n\t\t\tif beta == 0 {\n\t\t\t\tfor i := range y[:n] {\n\t\t\t\t\ty[i] = 0\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor i, v := range y[:n] {\n\t\t\t\t\ty[i] = beta * v\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tiy := ky\n\t\t\tif beta == 0 {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\ty[iy] = 0\n\t\t\t\t\tiy += incY\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\ty[iy] = beta * y[iy]\n\t\t\t\t\tiy += incY\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\t// The elements of A are accessed sequentially with one pass through\n\t// the triangular part of A.\n\n\tif uplo == blas.Upper {\n\t\t// Form y when A is stored in upper triangle.\n\t\tif incX == 1 && incY == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\ttmp1 := alpha * x[i]\n\t\t\t\tvar tmp2 complex128\n\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\ty[j] += tmp1 * cmplx.Conj(a[i*lda+j])\n\t\t\t\t\ttmp2 += a[i*lda+j] * x[j]\n\t\t\t\t}\n\t\t\t\taii := complex(real(a[i*lda+i]), 0)\n\t\t\t\ty[i] += tmp1*aii + alpha*tmp2\n\t\t\t}\n\t\t} else {\n\t\t\tix := kx\n\t\t\tiy := ky\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\ttmp1 := alpha * x[ix]\n\t\t\t\tvar tmp2 complex128\n\t\t\t\tjx := ix\n\t\t\t\tjy := iy\n\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\tjx += incX\n\t\t\t\t\tjy += incY\n\t\t\t\t\ty[jy] += tmp1 * cmplx.Conj(a[i*lda+j])\n\t\t\t\t\ttmp2 += a[i*lda+j] * x[jx]\n\t\t\t\t}\n\t\t\t\taii := complex(real(a[i*lda+i]), 0)\n\t\t\t\ty[iy] += tmp1*aii + alpha*tmp2\n\t\t\t\tix += incX\n\t\t\t\tiy += incY\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\t// Form y when A is stored in lower triangle.\n\tif incX == 1 && incY == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\ttmp1 := alpha * x[i]\n\t\t\tvar tmp2 complex128\n\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\ty[j] += tmp1 * cmplx.Conj(a[i*lda+j])\n\t\t\t\ttmp2 += a[i*lda+j] * x[j]\n\t\t\t}\n\t\t\taii := complex(real(a[i*lda+i]), 0)\n\t\t\ty[i] += tmp1*aii + alpha*tmp2\n\t\t}\n\t} else {\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\ttmp1 := alpha * x[ix]\n\t\t\tvar tmp2 complex128\n\t\t\tjx := kx\n\t\t\tjy := ky\n\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\ty[jy] += tmp1 * cmplx.Conj(a[i*lda+j])\n\t\t\t\ttmp2 += a[i*lda+j] * x[jx]\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\taii := complex(real(a[i*lda+i]), 0)\n\t\t\ty[iy] += tmp1*aii + alpha*tmp2\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t}\n\t}\n}\n\n// Zher performs the Hermitian rank-one operation\n//  A += alpha * x * x^H\n// where A is an n×n Hermitian matrix, alpha is a real scalar, and x is an n\n// element vector. On entry, the imaginary parts of the diagonal elements of A\n// are ignored and assumed to be zero, on return they will be set to zero.\nfunc (Implementation) Zher(uplo blas.Uplo, n int, alpha float64, x []complex128, incX int, a []complex128, lda int) {\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tcheckZMatrix('A', n, n, a, lda)\n\tcheckZVector('x', n, x, incX)\n\n\tif n == 0 || alpha == 0 {\n\t\treturn\n\t}\n\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = (1 - n) * incX\n\t}\n\tif uplo == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tif x[i] != 0 {\n\t\t\t\t\ttmp := complex(alpha*real(x[i]), alpha*imag(x[i]))\n\t\t\t\t\taii := real(a[i*lda+i])\n\t\t\t\t\txtmp := real(tmp * cmplx.Conj(x[i]))\n\t\t\t\t\ta[i*lda+i] = complex(aii+xtmp, 0)\n\t\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\t\ta[i*lda+j] += tmp * cmplx.Conj(x[j])\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\taii := real(a[i*lda+i])\n\t\t\t\t\ta[i*lda+i] = complex(aii, 0)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif x[ix] != 0 {\n\t\t\t\ttmp := complex(alpha*real(x[ix]), alpha*imag(x[ix]))\n\t\t\t\taii := real(a[i*lda+i])\n\t\t\t\txtmp := real(tmp * cmplx.Conj(x[ix]))\n\t\t\t\ta[i*lda+i] = complex(aii+xtmp, 0)\n\t\t\t\tjx := ix + incX\n\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\ta[i*lda+j] += tmp * cmplx.Conj(x[jx])\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taii := real(a[i*lda+i])\n\t\t\t\ta[i*lda+i] = complex(aii, 0)\n\t\t\t}\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\t}\n\n\tif incX == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif x[i] != 0 {\n\t\t\t\ttmp := complex(alpha*real(x[i]), alpha*imag(x[i]))\n\t\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\t\ta[i*lda+j] += tmp * cmplx.Conj(x[j])\n\t\t\t\t}\n\t\t\t\taii := real(a[i*lda+i])\n\t\t\t\txtmp := real(tmp * cmplx.Conj(x[i]))\n\t\t\t\ta[i*lda+i] = complex(aii+xtmp, 0)\n\t\t\t} else {\n\t\t\t\taii := real(a[i*lda+i])\n\t\t\t\ta[i*lda+i] = complex(aii, 0)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\tix := kx\n\tfor i := 0; i < n; i++ {\n\t\tif x[ix] != 0 {\n\t\t\ttmp := complex(alpha*real(x[ix]), alpha*imag(x[ix]))\n\t\t\tjx := kx\n\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\ta[i*lda+j] += tmp * cmplx.Conj(x[jx])\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\taii := real(a[i*lda+i])\n\t\t\txtmp := real(tmp * cmplx.Conj(x[ix]))\n\t\t\ta[i*lda+i] = complex(aii+xtmp, 0)\n\n\t\t} else {\n\t\t\taii := real(a[i*lda+i])\n\t\t\ta[i*lda+i] = complex(aii, 0)\n\t\t}\n\t\tix += incX\n\t}\n}\n\n// Zher2 performs the Hermitian rank-two operation\n//  A += alpha*x*y^H + conj(alpha)*y*x^H\n// where alpha is a scalar, x and y are n element vectors and A is an n×n\n// Hermitian matrix. On entry, the imaginary parts of the diagonal elements are\n// ignored and assumed to be zero. On return they will be set to zero.\nfunc (Implementation) Zher2(uplo blas.Uplo, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int) {\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tcheckZMatrix('A', n, n, a, lda)\n\tcheckZVector('x', n, x, incX)\n\tcheckZVector('y', n, y, incY)\n\n\tif n == 0 || alpha == 0 {\n\t\treturn\n\t}\n\n\tvar kx, ky int\n\tvar ix, iy int\n\tif incX != 1 || incY != 1 {\n\t\tif incX < 0 {\n\t\t\tkx = (1 - n) * incX\n\t\t}\n\t\tif incY < 0 {\n\t\t\tky = (1 - n) * incY\n\t\t}\n\t\tix = kx\n\t\tiy = ky\n\t}\n\tif uplo == blas.Upper {\n\t\tif incX == 1 && incY == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tif x[i] != 0 || y[i] != 0 {\n\t\t\t\t\ttmp1 := alpha * x[i]\n\t\t\t\t\ttmp2 := cmplx.Conj(alpha) * y[i]\n\t\t\t\t\taii := real(a[i*lda+i]) + real(tmp1*cmplx.Conj(y[i])) + real(tmp2*cmplx.Conj(x[i]))\n\t\t\t\t\ta[i*lda+i] = complex(aii, 0)\n\t\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\t\ta[i*lda+j] += tmp1*cmplx.Conj(y[j]) + tmp2*cmplx.Conj(x[j])\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\taii := real(a[i*lda+i])\n\t\t\t\t\ta[i*lda+i] = complex(aii, 0)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif x[ix] != 0 || y[iy] != 0 {\n\t\t\t\ttmp1 := alpha * x[ix]\n\t\t\t\ttmp2 := cmplx.Conj(alpha) * y[iy]\n\t\t\t\taii := real(a[i*lda+i]) + real(tmp1*cmplx.Conj(y[iy])) + real(tmp2*cmplx.Conj(x[ix]))\n\t\t\t\ta[i*lda+i] = complex(aii, 0)\n\t\t\t\tjx := ix + incX\n\t\t\t\tjy := iy + incY\n\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\ta[i*lda+j] += tmp1*cmplx.Conj(y[jy]) + tmp2*cmplx.Conj(x[jx])\n\t\t\t\t\tjx += incX\n\t\t\t\t\tjy += incY\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taii := real(a[i*lda+i])\n\t\t\t\ta[i*lda+i] = complex(aii, 0)\n\t\t\t}\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\n\tif incX == 1 && incY == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif x[i] != 0 || y[i] != 0 {\n\t\t\t\ttmp1 := alpha * x[i]\n\t\t\t\ttmp2 := cmplx.Conj(alpha) * y[i]\n\t\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\t\ta[i*lda+j] += tmp1*cmplx.Conj(y[j]) + tmp2*cmplx.Conj(x[j])\n\t\t\t\t}\n\t\t\t\taii := real(a[i*lda+i]) + real(tmp1*cmplx.Conj(y[i])) + real(tmp2*cmplx.Conj(x[i]))\n\t\t\t\ta[i*lda+i] = complex(aii, 0)\n\t\t\t} else {\n\t\t\t\taii := real(a[i*lda+i])\n\t\t\t\ta[i*lda+i] = complex(aii, 0)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tif x[ix] != 0 || y[iy] != 0 {\n\t\t\ttmp1 := alpha * x[ix]\n\t\t\ttmp2 := cmplx.Conj(alpha) * y[iy]\n\t\t\tjx := kx\n\t\t\tjy := ky\n\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\ta[i*lda+j] += tmp1*cmplx.Conj(y[jy]) + tmp2*cmplx.Conj(x[jx])\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\taii := real(a[i*lda+i]) + real(tmp1*cmplx.Conj(y[iy])) + real(tmp2*cmplx.Conj(x[ix]))\n\t\t\ta[i*lda+i] = complex(aii, 0)\n\t\t} else {\n\t\t\taii := real(a[i*lda+i])\n\t\t\ta[i*lda+i] = complex(aii, 0)\n\t\t}\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Zhpmv performs the matrix-vector operation\n//  y = alpha * A * x + beta * y\n// where alpha and beta are scalars, x and y are vectors, and A is an n×n\n// Hermitian matrix in packed form. The imaginary parts of the diagonal\n// elements of A are ignored and assumed to be zero.\nfunc (Implementation) Zhpmv(uplo blas.Uplo, n int, alpha complex128, ap []complex128, x []complex128, incX int, beta complex128, y []complex128, incY int) {\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tcheckZVector('x', n, x, incX)\n\tcheckZVector('y', n, y, incY)\n\tif len(ap) < n*(n+1)/2 {\n\t\tpanic(\"blas: insufficient A packed matrix slice length\")\n\t}\n\n\tif n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\t// Set up the start indices in X and Y.\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = (1 - n) * incX\n\t}\n\tvar ky int\n\tif incY < 0 {\n\t\tky = (1 - n) * incY\n\t}\n\n\t// Form y := beta*y.\n\tif beta != 1 {\n\t\tif incY == 1 {\n\t\t\tif beta == 0 {\n\t\t\t\tfor i := range y[:n] {\n\t\t\t\t\ty[i] = 0\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor i, v := range y[:n] {\n\t\t\t\t\ty[i] = beta * v\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tiy := ky\n\t\t\tif beta == 0 {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\ty[iy] = 0\n\t\t\t\t\tiy += incY\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\ty[iy] *= beta\n\t\t\t\t\tiy += incY\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\t// The elements of A are accessed sequentially with one pass through ap.\n\n\tvar kk int\n\tif uplo == blas.Upper {\n\t\t// Form y when ap contains the upper triangle.\n\t\t// Here, kk points to the current diagonal element in ap.\n\t\tif incX == 1 && incY == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\ttmp1 := alpha * x[i]\n\t\t\t\ty[i] += tmp1 * complex(real(ap[kk]), 0)\n\t\t\t\tvar tmp2 complex128\n\t\t\t\tk := kk + 1\n\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\ty[j] += tmp1 * cmplx.Conj(ap[k])\n\t\t\t\t\ttmp2 += ap[k] * x[j]\n\t\t\t\t\tk++\n\t\t\t\t}\n\t\t\t\ty[i] += alpha * tmp2\n\t\t\t\tkk += n - i\n\t\t\t}\n\t\t} else {\n\t\t\tix := kx\n\t\t\tiy := ky\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\ttmp1 := alpha * x[ix]\n\t\t\t\ty[iy] += tmp1 * complex(real(ap[kk]), 0)\n\t\t\t\tvar tmp2 complex128\n\t\t\t\tjx := ix\n\t\t\t\tjy := iy\n\t\t\t\tfor k := kk + 1; k < kk+n-i; k++ {\n\t\t\t\t\tjx += incX\n\t\t\t\t\tjy += incY\n\t\t\t\t\ty[jy] += tmp1 * cmplx.Conj(ap[k])\n\t\t\t\t\ttmp2 += ap[k] * x[jx]\n\t\t\t\t}\n\t\t\t\ty[iy] += alpha * tmp2\n\t\t\t\tix += incX\n\t\t\t\tiy += incY\n\t\t\t\tkk += n - i\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\t// Form y when ap contains the lower triangle.\n\t// Here, kk points to the beginning of current row in ap.\n\tif incX == 1 && incY == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\ttmp1 := alpha * x[i]\n\t\t\tvar tmp2 complex128\n\t\t\tk := kk\n\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\ty[j] += tmp1 * cmplx.Conj(ap[k])\n\t\t\t\ttmp2 += ap[k] * x[j]\n\t\t\t\tk++\n\t\t\t}\n\t\t\taii := complex(real(ap[kk+i]), 0)\n\t\t\ty[i] += tmp1*aii + alpha*tmp2\n\t\t\tkk += i + 1\n\t\t}\n\t} else {\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\ttmp1 := alpha * x[ix]\n\t\t\tvar tmp2 complex128\n\t\t\tjx := kx\n\t\t\tjy := ky\n\t\t\tfor k := kk; k < kk+i; k++ {\n\t\t\t\ty[jy] += tmp1 * cmplx.Conj(ap[k])\n\t\t\t\ttmp2 += ap[k] * x[jx]\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\taii := complex(real(ap[kk+i]), 0)\n\t\t\ty[iy] += tmp1*aii + alpha*tmp2\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t\tkk += i + 1\n\t\t}\n\t}\n}\n\n// Zhpr performs the Hermitian rank-1 operation\n//  A += alpha * x * x^H,\n// where alpha is a real scalar, x is a vector, and A is an n×n hermitian matrix\n// in packed form. On entry, the imaginary parts of the diagonal elements are\n// assumed to be zero, and on return they are set to zero.\nfunc (Implementation) Zhpr(uplo blas.Uplo, n int, alpha float64, x []complex128, incX int, ap []complex128) {\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tcheckZVector('x', n, x, incX)\n\tif len(ap) < n*(n+1)/2 {\n\t\tpanic(\"blas: insufficient A packed matrix slice length\")\n\t}\n\n\tif n == 0 || alpha == 0 {\n\t\treturn\n\t}\n\n\t// Set up start index in X.\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = (1 - n) * incX\n\t}\n\n\t// The elements of A are accessed sequentially with one pass through ap.\n\n\tvar kk int\n\tif uplo == blas.Upper {\n\t\t// Form A when upper triangle is stored in AP.\n\t\t// Here, kk points to the current diagonal element in ap.\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\txi := x[i]\n\t\t\t\tif xi != 0 {\n\t\t\t\t\taii := real(ap[kk]) + alpha*real(cmplx.Conj(xi)*xi)\n\t\t\t\t\tap[kk] = complex(aii, 0)\n\n\t\t\t\t\ttmp := complex(alpha, 0) * xi\n\t\t\t\t\ta := ap[kk+1 : kk+n-i]\n\t\t\t\t\tx := x[i+1 : n]\n\t\t\t\t\tfor j, v := range x {\n\t\t\t\t\t\ta[j] += tmp * cmplx.Conj(v)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tap[kk] = complex(real(ap[kk]), 0)\n\t\t\t\t}\n\t\t\t\tkk += n - i\n\t\t\t}\n\t\t} else {\n\t\t\tix := kx\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\txi := x[ix]\n\t\t\t\tif xi != 0 {\n\t\t\t\t\taii := real(ap[kk]) + alpha*real(cmplx.Conj(xi)*xi)\n\t\t\t\t\tap[kk] = complex(aii, 0)\n\n\t\t\t\t\ttmp := complex(alpha, 0) * xi\n\t\t\t\t\tjx := ix + incX\n\t\t\t\t\ta := ap[kk+1 : kk+n-i]\n\t\t\t\t\tfor k := range a {\n\t\t\t\t\t\ta[k] += tmp * cmplx.Conj(x[jx])\n\t\t\t\t\t\tjx += incX\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tap[kk] = complex(real(ap[kk]), 0)\n\t\t\t\t}\n\t\t\t\tix += incX\n\t\t\t\tkk += n - i\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\t// Form A when lower triangle is stored in AP.\n\t// Here, kk points to the beginning of current row in ap.\n\tif incX == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\txi := x[i]\n\t\t\tif xi != 0 {\n\t\t\t\ttmp := complex(alpha, 0) * xi\n\t\t\t\ta := ap[kk : kk+i]\n\t\t\t\tfor j, v := range x[:i] {\n\t\t\t\t\ta[j] += tmp * cmplx.Conj(v)\n\t\t\t\t}\n\n\t\t\t\taii := real(ap[kk+i]) + alpha*real(cmplx.Conj(xi)*xi)\n\t\t\t\tap[kk+i] = complex(aii, 0)\n\t\t\t} else {\n\t\t\t\tap[kk+i] = complex(real(ap[kk+i]), 0)\n\t\t\t}\n\t\t\tkk += i + 1\n\t\t}\n\t} else {\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\txi := x[ix]\n\t\t\tif xi != 0 {\n\t\t\t\ttmp := complex(alpha, 0) * xi\n\t\t\t\ta := ap[kk : kk+i]\n\t\t\t\tjx := kx\n\t\t\t\tfor k := range a {\n\t\t\t\t\ta[k] += tmp * cmplx.Conj(x[jx])\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\n\t\t\t\taii := real(ap[kk+i]) + alpha*real(cmplx.Conj(xi)*xi)\n\t\t\t\tap[kk+i] = complex(aii, 0)\n\t\t\t} else {\n\t\t\t\tap[kk+i] = complex(real(ap[kk+i]), 0)\n\t\t\t}\n\t\t\tix += incX\n\t\t\tkk += i + 1\n\t\t}\n\t}\n}\n\n// Zhpr2 performs the Hermitian rank-2 operation\n//  A += alpha*x*y^H + conj(alpha)*y*x^H,\n// where alpha is a complex scalar, x and y are n element vectors, and A is an\n// n×n Hermitian matrix, supplied in packed form. On entry, the imaginary parts\n// of the diagonal elements are assumed to be zero, and on return they are set to zero.\nfunc (Implementation) Zhpr2(uplo blas.Uplo, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, ap []complex128) {\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tcheckZVector('x', n, x, incX)\n\tcheckZVector('y', n, y, incY)\n\tif len(ap) < n*(n+1)/2 {\n\t\tpanic(\"blas: insufficient A packed matrix slice length\")\n\t}\n\n\tif n == 0 || alpha == 0 {\n\t\treturn\n\t}\n\n\t// Set up start indices in X and Y.\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = (1 - n) * incX\n\t}\n\tvar ky int\n\tif incY < 0 {\n\t\tky = (1 - n) * incY\n\t}\n\n\t// The elements of A are accessed sequentially with one pass through ap.\n\n\tvar kk int\n\tif uplo == blas.Upper {\n\t\t// Form A when upper triangle is stored in AP.\n\t\t// Here, kk points to the current diagonal element in ap.\n\t\tif incX == 1 && incY == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tif x[i] != 0 || y[i] != 0 {\n\t\t\t\t\ttmp1 := alpha * x[i]\n\t\t\t\t\ttmp2 := cmplx.Conj(alpha) * y[i]\n\t\t\t\t\taii := real(ap[kk]) + real(tmp1*cmplx.Conj(y[i])) + real(tmp2*cmplx.Conj(x[i]))\n\t\t\t\t\tap[kk] = complex(aii, 0)\n\t\t\t\t\tk := kk + 1\n\t\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\t\tap[k] += tmp1*cmplx.Conj(y[j]) + tmp2*cmplx.Conj(x[j])\n\t\t\t\t\t\tk++\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tap[kk] = complex(real(ap[kk]), 0)\n\t\t\t\t}\n\t\t\t\tkk += n - i\n\t\t\t}\n\t\t} else {\n\t\t\tix := kx\n\t\t\tiy := ky\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tif x[ix] != 0 || y[iy] != 0 {\n\t\t\t\t\ttmp1 := alpha * x[ix]\n\t\t\t\t\ttmp2 := cmplx.Conj(alpha) * y[iy]\n\t\t\t\t\taii := real(ap[kk]) + real(tmp1*cmplx.Conj(y[iy])) + real(tmp2*cmplx.Conj(x[ix]))\n\t\t\t\t\tap[kk] = complex(aii, 0)\n\t\t\t\t\tjx := ix + incX\n\t\t\t\t\tjy := iy + incY\n\t\t\t\t\tfor k := kk + 1; k < kk+n-i; k++ {\n\t\t\t\t\t\tap[k] += tmp1*cmplx.Conj(y[jy]) + tmp2*cmplx.Conj(x[jx])\n\t\t\t\t\t\tjx += incX\n\t\t\t\t\t\tjy += incY\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tap[kk] = complex(real(ap[kk]), 0)\n\t\t\t\t}\n\t\t\t\tix += incX\n\t\t\t\tiy += incY\n\t\t\t\tkk += n - i\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\t// Form A when lower triangle is stored in AP.\n\t// Here, kk points to the beginning of current row in ap.\n\tif incX == 1 && incY == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif x[i] != 0 || y[i] != 0 {\n\t\t\t\ttmp1 := alpha * x[i]\n\t\t\t\ttmp2 := cmplx.Conj(alpha) * y[i]\n\t\t\t\tk := kk\n\t\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\t\tap[k] += tmp1*cmplx.Conj(y[j]) + tmp2*cmplx.Conj(x[j])\n\t\t\t\t\tk++\n\t\t\t\t}\n\t\t\t\taii := real(ap[kk+i]) + real(tmp1*cmplx.Conj(y[i])) + real(tmp2*cmplx.Conj(x[i]))\n\t\t\t\tap[kk+i] = complex(aii, 0)\n\t\t\t} else {\n\t\t\t\tap[kk+i] = complex(real(ap[kk+i]), 0)\n\t\t\t}\n\t\t\tkk += i + 1\n\t\t}\n\t} else {\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif x[ix] != 0 || y[iy] != 0 {\n\t\t\t\ttmp1 := alpha * x[ix]\n\t\t\t\ttmp2 := cmplx.Conj(alpha) * y[iy]\n\t\t\t\tjx := kx\n\t\t\t\tjy := ky\n\t\t\t\tfor k := kk; k < kk+i; k++ {\n\t\t\t\t\tap[k] += tmp1*cmplx.Conj(y[jy]) + tmp2*cmplx.Conj(x[jx])\n\t\t\t\t\tjx += incX\n\t\t\t\t\tjy += incY\n\t\t\t\t}\n\t\t\t\taii := real(ap[kk+i]) + real(tmp1*cmplx.Conj(y[iy])) + real(tmp2*cmplx.Conj(x[ix]))\n\t\t\t\tap[kk+i] = complex(aii, 0)\n\t\t\t} else {\n\t\t\t\tap[kk+i] = complex(real(ap[kk+i]), 0)\n\t\t\t}\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t\tkk += i + 1\n\t\t}\n\t}\n}\n\n// Ztrmv performs one of the matrix-vector operations\n//  x = A * x    if trans = blas.NoTrans\n//  x = A^T * x  if trans = blas.Trans\n//  x = A^H * x  if trans = blas.ConjTrans\n// where x is a vector, and A is an n×n triangular matrix.\nfunc (Implementation) Ztrmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, n int, a []complex128, lda int, x []complex128, incX int) {\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tif trans != blas.NoTrans && trans != blas.Trans && trans != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif diag != blas.Unit && diag != blas.NonUnit {\n\t\tpanic(badDiag)\n\t}\n\tcheckZMatrix('A', n, n, a, lda)\n\tcheckZVector('x', n, x, incX)\n\n\tif n == 0 {\n\t\treturn\n\t}\n\n\t// Set up start index in X.\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = (1 - n) * incX\n\t}\n\n\t// The elements of A are accessed sequentially with one pass through A.\n\n\tif trans == blas.NoTrans {\n\t\t// Form x := A*x.\n\t\tif uplo == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[i] *= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t\tif n-i-1 > 0 {\n\t\t\t\t\t\tx[i] += c128.DotuUnitary(a[i*lda+i+1:i*lda+n], x[i+1:n])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tix := kx\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[ix] *= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t\tif n-i-1 > 0 {\n\t\t\t\t\t\tx[ix] += c128.DotuInc(a[i*lda+i+1:i*lda+n], x, uintptr(n-i-1), 1, uintptr(incX), 0, uintptr(ix+incX))\n\t\t\t\t\t}\n\t\t\t\t\tix += incX\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[i] *= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t\tif i > 0 {\n\t\t\t\t\t\tx[i] += c128.DotuUnitary(a[i*lda:i*lda+i], x[:i])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tix := kx + (n-1)*incX\n\t\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[ix] *= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t\tif i > 0 {\n\t\t\t\t\t\tx[ix] += c128.DotuInc(a[i*lda:i*lda+i], x, uintptr(i), 1, uintptr(incX), 0, uintptr(kx))\n\t\t\t\t\t}\n\t\t\t\t\tix -= incX\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\tif trans == blas.Trans {\n\t\t// Form x := A^T*x.\n\t\tif uplo == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\t\txi := x[i]\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[i] *= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t\tif n-i-1 > 0 {\n\t\t\t\t\t\tc128.AxpyUnitary(xi, a[i*lda+i+1:i*lda+n], x[i+1:n])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tix := kx + (n-1)*incX\n\t\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\t\txi := x[ix]\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[ix] *= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t\tif n-i-1 > 0 {\n\t\t\t\t\t\tc128.AxpyInc(xi, a[i*lda+i+1:i*lda+n], x, uintptr(n-i-1), 1, uintptr(incX), 0, uintptr(ix+incX))\n\t\t\t\t\t}\n\t\t\t\t\tix -= incX\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tif i > 0 {\n\t\t\t\t\t\tc128.AxpyUnitary(x[i], a[i*lda:i*lda+i], x[:i])\n\t\t\t\t\t}\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[i] *= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tix := kx\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tif i > 0 {\n\t\t\t\t\t\tc128.AxpyInc(x[ix], a[i*lda:i*lda+i], x, uintptr(i), 1, uintptr(incX), 0, uintptr(kx))\n\t\t\t\t\t}\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[ix] *= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t\tix += incX\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\t// Form x := A^H*x.\n\tif uplo == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\txi := x[i]\n\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\tx[i] *= cmplx.Conj(a[i*lda+i])\n\t\t\t\t}\n\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\tx[j] += xi * cmplx.Conj(a[i*lda+j])\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tix := kx + (n-1)*incX\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\txi := x[ix]\n\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\tx[ix] *= cmplx.Conj(a[i*lda+i])\n\t\t\t\t}\n\t\t\t\tjx := ix + incX\n\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\tx[jx] += xi * cmplx.Conj(a[i*lda+j])\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t\tix -= incX\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\t\tx[j] += x[i] * cmplx.Conj(a[i*lda+j])\n\t\t\t\t}\n\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\tx[i] *= cmplx.Conj(a[i*lda+i])\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tix := kx\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tjx := kx\n\t\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\t\tx[jx] += x[ix] * cmplx.Conj(a[i*lda+j])\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\tx[ix] *= cmplx.Conj(a[i*lda+i])\n\t\t\t\t}\n\t\t\t\tix += incX\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Ztrsv solves one of the systems of equations\n//  A*x = b     if trans == blas.NoTrans,\n//  A^T*x = b,  if trans == blas.Trans,\n//  A^H*x = b,  if trans == blas.ConjTrans,\n// where b and x are n element vectors and A is an n×n triangular matrix.\n//\n// On entry, x contains the values of b, and the solution is\n// stored in-place into x.\n//\n// No test for singularity or near-singularity is included in this\n// routine. Such tests must be performed before calling this routine.\nfunc (Implementation) Ztrsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, n int, a []complex128, lda int, x []complex128, incX int) {\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tif trans != blas.NoTrans && trans != blas.Trans && trans != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif diag != blas.Unit && diag != blas.NonUnit {\n\t\tpanic(badDiag)\n\t}\n\tcheckZMatrix('A', n, n, a, lda)\n\tcheckZVector('x', n, x, incX)\n\n\tif n == 0 {\n\t\treturn\n\t}\n\n\t// Set up start index in X.\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = (1 - n) * incX\n\t}\n\n\t// The elements of A are accessed sequentially with one pass through A.\n\n\tif trans == blas.NoTrans {\n\t\t// Form x := inv(A)*x.\n\t\tif uplo == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\t\taii := a[i*lda+i]\n\t\t\t\t\tif n-i-1 > 0 {\n\t\t\t\t\t\tx[i] -= c128.DotuUnitary(x[i+1:n], a[i*lda+i+1:i*lda+n])\n\t\t\t\t\t}\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[i] /= aii\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tix := kx + (n-1)*incX\n\t\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\t\taii := a[i*lda+i]\n\t\t\t\t\tif n-i-1 > 0 {\n\t\t\t\t\t\tx[ix] -= c128.DotuInc(x, a[i*lda+i+1:i*lda+n], uintptr(n-i-1), uintptr(incX), 1, uintptr(ix+incX), 0)\n\t\t\t\t\t}\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[ix] /= aii\n\t\t\t\t\t}\n\t\t\t\t\tix -= incX\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tif i > 0 {\n\t\t\t\t\t\tx[i] -= c128.DotuUnitary(x[:i], a[i*lda:i*lda+i])\n\t\t\t\t\t}\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[i] /= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tix := kx\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tif i > 0 {\n\t\t\t\t\t\tx[ix] -= c128.DotuInc(x, a[i*lda:i*lda+i], uintptr(i), uintptr(incX), 1, uintptr(kx), 0)\n\t\t\t\t\t}\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[ix] /= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t\tix += incX\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\tif trans == blas.Trans {\n\t\t// Form x := inv(A^T)*x.\n\t\tif uplo == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[j] /= a[j*lda+j]\n\t\t\t\t\t}\n\t\t\t\t\tif n-j-1 > 0 {\n\t\t\t\t\t\tc128.AxpyUnitary(-x[j], a[j*lda+j+1:j*lda+n], x[j+1:n])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjx := kx\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[jx] /= a[j*lda+j]\n\t\t\t\t\t}\n\t\t\t\t\tif n-j-1 > 0 {\n\t\t\t\t\t\tc128.AxpyInc(-x[jx], a[j*lda+j+1:j*lda+n], x, uintptr(n-j-1), 1, uintptr(incX), 0, uintptr(jx+incX))\n\t\t\t\t\t}\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif incX == 1 {\n\t\t\t\tfor j := n - 1; j >= 0; j-- {\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[j] /= a[j*lda+j]\n\t\t\t\t\t}\n\t\t\t\t\txj := x[j]\n\t\t\t\t\tif j > 0 {\n\t\t\t\t\t\tc128.AxpyUnitary(-xj, a[j*lda:j*lda+j], x[:j])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjx := kx + (n-1)*incX\n\t\t\t\tfor j := n - 1; j >= 0; j-- {\n\t\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\t\tx[jx] /= a[j*lda+j]\n\t\t\t\t\t}\n\t\t\t\t\tif j > 0 {\n\t\t\t\t\t\tc128.AxpyInc(-x[jx], a[j*lda:j*lda+j], x, uintptr(j), 1, uintptr(incX), 0, uintptr(kx))\n\t\t\t\t\t}\n\t\t\t\t\tjx -= incX\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\t// Form x := inv(A^H)*x.\n\tif uplo == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\tx[j] /= cmplx.Conj(a[j*lda+j])\n\t\t\t\t}\n\t\t\t\txj := x[j]\n\t\t\t\tfor i := j + 1; i < n; i++ {\n\t\t\t\t\tx[i] -= xj * cmplx.Conj(a[j*lda+i])\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tjx := kx\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\tx[jx] /= cmplx.Conj(a[j*lda+j])\n\t\t\t\t}\n\t\t\t\txj := x[jx]\n\t\t\t\tix := jx + incX\n\t\t\t\tfor i := j + 1; i < n; i++ {\n\t\t\t\t\tx[ix] -= xj * cmplx.Conj(a[j*lda+i])\n\t\t\t\t\tix += incX\n\t\t\t\t}\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif incX == 1 {\n\t\t\tfor j := n - 1; j >= 0; j-- {\n\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\tx[j] /= cmplx.Conj(a[j*lda+j])\n\t\t\t\t}\n\t\t\t\txj := x[j]\n\t\t\t\tfor i := 0; i < j; i++ {\n\t\t\t\t\tx[i] -= xj * cmplx.Conj(a[j*lda+i])\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tjx := kx + (n-1)*incX\n\t\t\tfor j := n - 1; j >= 0; j-- {\n\t\t\t\tif diag == blas.NonUnit {\n\t\t\t\t\tx[jx] /= cmplx.Conj(a[j*lda+j])\n\t\t\t\t}\n\t\t\t\txj := x[jx]\n\t\t\t\tix := kx\n\t\t\t\tfor i := 0; i < j; i++ {\n\t\t\t\t\tx[ix] -= xj * cmplx.Conj(a[j*lda+i])\n\t\t\t\t\tix += incX\n\t\t\t\t}\n\t\t\t\tjx -= incX\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/level2double.go",
    "content": "// Copyright ©2014 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/internal/asm/f64\"\n)\n\nvar _ blas.Float64Level2 = Implementation{}\n\n// Dgemv computes\n//  y = alpha * A * x + beta * y    if tA = blas.NoTrans\n//  y = alpha * A^T * x + beta * y  if tA = blas.Trans or blas.ConjTrans\n// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.\nfunc (Implementation) Dgemv(tA blas.Transpose, m, n int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int) {\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\t// Set up indexes\n\tlenX := m\n\tlenY := n\n\tif tA == blas.NoTrans {\n\t\tlenX = n\n\t\tlenY = m\n\t}\n\tif (incX > 0 && (lenX-1)*incX >= len(x)) || (incX < 0 && (1-lenX)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (lenY-1)*incY >= len(y)) || (incY < 0 && (1-lenY)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif lda*(m-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\n\t// Quick return if possible\n\tif m == 0 || n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\tvar kx, ky int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(lenX - 1) * incX\n\t}\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(lenY - 1) * incY\n\t}\n\n\t// First form y := beta * y\n\tif incY > 0 {\n\t\tImplementation{}.Dscal(lenY, beta, y, incY)\n\t} else {\n\t\tImplementation{}.Dscal(lenY, beta, y, -incY)\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\t// Form y := alpha * A * x + y\n\tif tA == blas.NoTrans {\n\t\tif incX == 1 && incY == 1 {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\ty[i] += alpha * f64.DotUnitary(a[lda*i:lda*i+n], x)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tiy := ky\n\t\tfor i := 0; i < m; i++ {\n\t\t\ty[iy] += alpha * f64.DotInc(x, a[lda*i:lda*i+n], uintptr(n), uintptr(incX), 1, uintptr(kx), 0)\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif incX == 1 && incY == 1 {\n\t\tfor i := 0; i < m; i++ {\n\t\t\ttmp := alpha * x[i]\n\t\t\tif tmp != 0 {\n\t\t\t\tf64.AxpyUnitaryTo(y, tmp, a[lda*i:lda*i+n], y)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < m; i++ {\n\t\ttmp := alpha * x[ix]\n\t\tif tmp != 0 {\n\t\t\tf64.AxpyInc(tmp, a[lda*i:lda*i+n], y, uintptr(n), 1, uintptr(incY), 0, uintptr(ky))\n\t\t}\n\t\tix += incX\n\t}\n}\n\n// Dger performs the rank-one operation\n//  A += alpha * x * y^T\n// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.\nfunc (Implementation) Dger(m, n int, alpha float64, x []float64, incX int, y []float64, incY int, a []float64, lda int) {\n\t// Check inputs\n\tif m < 0 {\n\t\tpanic(\"m < 0\")\n\t}\n\tif n < 0 {\n\t\tpanic(negativeN)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif (incX > 0 && (m-1)*incX >= len(x)) || (incX < 0 && (1-m)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif lda*(m-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\tif lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\n\t// Quick return if possible\n\tif m == 0 || n == 0 || alpha == 0 {\n\t\treturn\n\t}\n\n\tvar ky, kx int\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(n - 1) * incY\n\t}\n\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(m - 1) * incX\n\t}\n\n\tif incX == 1 && incY == 1 {\n\t\tx = x[:m]\n\t\ty = y[:n]\n\t\tfor i, xv := range x {\n\t\t\tf64.AxpyUnitary(alpha*xv, y, a[i*lda:i*lda+n])\n\t\t}\n\t\treturn\n\t}\n\n\tix := kx\n\tfor i := 0; i < m; i++ {\n\t\tf64.AxpyInc(alpha*x[ix], y, a[i*lda:i*lda+n], uintptr(n), uintptr(incY), 1, uintptr(ky), 0)\n\t\tix += incX\n\t}\n}\n\n// Dgbmv computes\n//  y = alpha * A * x + beta * y if tA == blas.NoTrans\n//  y = alpha * A^T * x + beta * y if tA == blas.Trans or blas.ConjTrans\n// where a is an m×n band matrix kL subdiagonals and kU super-diagonals, and\n// m and n refer to the size of the full dense matrix it represents.\n// x and y are vectors, and alpha and beta are scalars.\nfunc (Implementation) Dgbmv(tA blas.Transpose, m, n, kL, kU int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int) {\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif kL < 0 {\n\t\tpanic(kLLT0)\n\t}\n\tif kL < 0 {\n\t\tpanic(kULT0)\n\t}\n\tif lda < kL+kU+1 {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\t// Set up indexes\n\tlenX := m\n\tlenY := n\n\tif tA == blas.NoTrans {\n\t\tlenX = n\n\t\tlenY = m\n\t}\n\tif (incX > 0 && (lenX-1)*incX >= len(x)) || (incX < 0 && (1-lenX)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (lenY-1)*incY >= len(y)) || (incY < 0 && (1-lenY)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif lda*(min(m, n+kL)-1)+kL+kU+1 > len(a) || lda < kL+kU+1 {\n\t\tpanic(badLdA)\n\t}\n\n\t// Quick return if possible\n\tif m == 0 || n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\tvar kx, ky int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(lenX - 1) * incX\n\t}\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(lenY - 1) * incY\n\t}\n\n\t// First form y := beta * y\n\tif incY > 0 {\n\t\tImplementation{}.Dscal(lenY, beta, y, incY)\n\t} else {\n\t\tImplementation{}.Dscal(lenY, beta, y, -incY)\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\t// i and j are indices of the compacted banded matrix.\n\t// off is the offset into the dense matrix (off + j = densej)\n\tld := min(m, n)\n\tnCol := kU + 1 + kL\n\tif tA == blas.NoTrans {\n\t\tiy := ky\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < min(m, n+kL); i++ {\n\t\t\t\tl := max(0, kL-i)\n\t\t\t\tu := min(nCol, ld+kL-i)\n\t\t\t\toff := max(0, i-kL)\n\t\t\t\tatmp := a[i*lda+l : i*lda+u]\n\t\t\t\txtmp := x[off : off+u-l]\n\t\t\t\tvar sum float64\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\tsum += xtmp[j] * v\n\t\t\t\t}\n\t\t\t\ty[iy] += sum * alpha\n\t\t\t\tiy += incY\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < min(m, n+kL); i++ {\n\t\t\tl := max(0, kL-i)\n\t\t\tu := min(nCol, ld+kL-i)\n\t\t\toff := max(0, i-kL)\n\t\t\tatmp := a[i*lda+l : i*lda+u]\n\t\t\tjx := kx\n\t\t\tvar sum float64\n\t\t\tfor _, v := range atmp {\n\t\t\t\tsum += x[off*incX+jx] * v\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\ty[iy] += sum * alpha\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := 0; i < min(m, n+kL); i++ {\n\t\t\tl := max(0, kL-i)\n\t\t\tu := min(nCol, ld+kL-i)\n\t\t\toff := max(0, i-kL)\n\t\t\tatmp := a[i*lda+l : i*lda+u]\n\t\t\ttmp := alpha * x[i]\n\t\t\tjy := ky\n\t\t\tfor _, v := range atmp {\n\t\t\t\ty[jy+off*incY] += tmp * v\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < min(m, n+kL); i++ {\n\t\tl := max(0, kL-i)\n\t\tu := min(nCol, ld+kL-i)\n\t\toff := max(0, i-kL)\n\t\tatmp := a[i*lda+l : i*lda+u]\n\t\ttmp := alpha * x[ix]\n\t\tjy := ky\n\t\tfor _, v := range atmp {\n\t\t\ty[jy+off*incY] += tmp * v\n\t\t\tjy += incY\n\t\t}\n\t\tix += incX\n\t}\n}\n\n// Dtrmv computes\n//  x = A * x if tA == blas.NoTrans\n//  x = A^T * x if tA == blas.Trans or blas.ConjTrans\n// A is an n×n Triangular matrix and x is a vector.\nfunc (Implementation) Dtrmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, a []float64, lda int, x []float64, incX int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif lda < n {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif lda*(n-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tnonUnit := d != blas.Unit\n\tif n == 1 {\n\t\tif nonUnit {\n\t\t\tx[0] *= a[0]\n\t\t}\n\t\treturn\n\t}\n\tvar kx int\n\tif incX <= 0 {\n\t\tkx = -(n - 1) * incX\n\t}\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tilda := i * lda\n\t\t\t\t\tvar tmp float64\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\ttmp = a[ilda+i] * x[i]\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttmp = x[i]\n\t\t\t\t\t}\n\t\t\t\t\txtmp := x[i+1:]\n\t\t\t\t\tx[i] = tmp + f64.DotUnitary(a[ilda+i+1:ilda+n], xtmp)\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tix := kx\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tilda := i * lda\n\t\t\t\tvar tmp float64\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp = a[ilda+i] * x[ix]\n\t\t\t\t} else {\n\t\t\t\t\ttmp = x[ix]\n\t\t\t\t}\n\t\t\t\tx[ix] = tmp + f64.DotInc(x, a[ilda+i+1:ilda+n], uintptr(n-i-1), uintptr(incX), 1, uintptr(ix+incX), 0)\n\t\t\t\tix += incX\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif incX == 1 {\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tilda := i * lda\n\t\t\t\tvar tmp float64\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp += a[ilda+i] * x[i]\n\t\t\t\t} else {\n\t\t\t\t\ttmp = x[i]\n\t\t\t\t}\n\t\t\t\tx[i] = tmp + f64.DotUnitary(a[ilda:ilda+i], x)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx + (n-1)*incX\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tilda := i * lda\n\t\t\tvar tmp float64\n\t\t\tif nonUnit {\n\t\t\t\ttmp = a[ilda+i] * x[ix]\n\t\t\t} else {\n\t\t\t\ttmp = x[ix]\n\t\t\t}\n\t\t\tx[ix] = tmp + f64.DotInc(x, a[ilda:ilda+i], uintptr(i), uintptr(incX), 1, uintptr(kx), 0)\n\t\t\tix -= incX\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tilda := i * lda\n\t\t\t\txi := x[i]\n\t\t\t\tf64.AxpyUnitary(xi, a[ilda+i+1:ilda+n], x[i+1:n])\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] *= a[ilda+i]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx + (n-1)*incX\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tilda := i * lda\n\t\t\txi := x[ix]\n\t\t\tf64.AxpyInc(xi, a[ilda+i+1:ilda+n], x, uintptr(n-i-1), 1, uintptr(incX), 0, uintptr(kx+(i+1)*incX))\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] *= a[ilda+i]\n\t\t\t}\n\t\t\tix -= incX\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tilda := i * lda\n\t\t\txi := x[i]\n\t\t\tf64.AxpyUnitary(xi, a[ilda:ilda+i], x)\n\t\t\tif nonUnit {\n\t\t\t\tx[i] *= a[i*lda+i]\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < n; i++ {\n\t\tilda := i * lda\n\t\txi := x[ix]\n\t\tf64.AxpyInc(xi, a[ilda:ilda+i], x, uintptr(i), 1, uintptr(incX), 0, uintptr(kx))\n\t\tif nonUnit {\n\t\t\tx[ix] *= a[ilda+i]\n\t\t}\n\t\tix += incX\n\t}\n}\n\n// Dtrsv solves\n//  A * x = b if tA == blas.NoTrans\n//  A^T * x = b if tA == blas.Trans or blas.ConjTrans\n// A is an n×n triangular matrix and x is a vector.\n// At entry to the function, x contains the values of b, and the result is\n// stored in place into x.\n//\n// No test for singularity or near-singularity is included in this\n// routine. Such tests must be performed before calling this routine.\nfunc (Implementation) Dtrsv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, a []float64, lda int, x []float64, incX int) {\n\t// Test the input parameters\n\t// Verify inputs\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif lda*(n-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\t// Quick return if possible\n\tif n == 0 {\n\t\treturn\n\t}\n\tif n == 1 {\n\t\tif d == blas.NonUnit {\n\t\t\tx[0] /= a[0]\n\t\t}\n\t\treturn\n\t}\n\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = -(n - 1) * incX\n\t}\n\tnonUnit := d == blas.NonUnit\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\t\tvar sum float64\n\t\t\t\t\tatmp := a[i*lda+i+1 : i*lda+n]\n\t\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\t\tjv := i + j + 1\n\t\t\t\t\t\tsum += x[jv] * v\n\t\t\t\t\t}\n\t\t\t\t\tx[i] -= sum\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\tx[i] /= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tix := kx + (n-1)*incX\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tvar sum float64\n\t\t\t\tjx := ix + incX\n\t\t\t\tatmp := a[i*lda+i+1 : i*lda+n]\n\t\t\t\tfor _, v := range atmp {\n\t\t\t\t\tsum += x[jx] * v\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t\tx[ix] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[ix] /= a[i*lda+i]\n\t\t\t\t}\n\t\t\t\tix -= incX\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tvar sum float64\n\t\t\t\tatmp := a[i*lda : i*lda+i]\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\tsum += x[j] * v\n\t\t\t\t}\n\t\t\t\tx[i] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] /= a[i*lda+i]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tjx := kx\n\t\t\tvar sum float64\n\t\t\tatmp := a[i*lda : i*lda+i]\n\t\t\tfor _, v := range atmp {\n\t\t\t\tsum += x[jx] * v\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tx[ix] -= sum\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] /= a[i*lda+i]\n\t\t\t}\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] /= a[i*lda+i]\n\t\t\t\t}\n\t\t\t\txi := x[i]\n\t\t\t\tatmp := a[i*lda+i+1 : i*lda+n]\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\tjv := j + i + 1\n\t\t\t\t\tx[jv] -= v * xi\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] /= a[i*lda+i]\n\t\t\t}\n\t\t\txi := x[ix]\n\t\t\tjx := kx + (i+1)*incX\n\t\t\tatmp := a[i*lda+i+1 : i*lda+n]\n\t\t\tfor _, v := range atmp {\n\t\t\t\tx[jx] -= v * xi\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tif nonUnit {\n\t\t\t\tx[i] /= a[i*lda+i]\n\t\t\t}\n\t\t\txi := x[i]\n\t\t\tatmp := a[i*lda : i*lda+i]\n\t\t\tfor j, v := range atmp {\n\t\t\t\tx[j] -= v * xi\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx + (n-1)*incX\n\tfor i := n - 1; i >= 0; i-- {\n\t\tif nonUnit {\n\t\t\tx[ix] /= a[i*lda+i]\n\t\t}\n\t\txi := x[ix]\n\t\tjx := kx\n\t\tatmp := a[i*lda : i*lda+i]\n\t\tfor _, v := range atmp {\n\t\t\tx[jx] -= v * xi\n\t\t\tjx += incX\n\t\t}\n\t\tix -= incX\n\t}\n}\n\n// Dsymv computes\n//    y = alpha * A * x + beta * y,\n// where a is an n×n symmetric matrix, x and y are vectors, and alpha and\n// beta are scalars.\nfunc (Implementation) Dsymv(ul blas.Uplo, n int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int) {\n\t// Check inputs\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(negativeN)\n\t}\n\tif lda > 1 && lda < n {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif lda*(n-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\t// Quick return if possible\n\tif n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\t// Set up start points\n\tvar kx, ky int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(n - 1) * incX\n\t}\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(n - 1) * incY\n\t}\n\n\t// Form y = beta * y\n\tif beta != 1 {\n\t\tif incY > 0 {\n\t\t\tImplementation{}.Dscal(n, beta, y, incY)\n\t\t} else {\n\t\t\tImplementation{}.Dscal(n, beta, y, -incY)\n\t\t}\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\tif n == 1 {\n\t\ty[0] += alpha * a[0] * x[0]\n\t\treturn\n\t}\n\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tiy := ky\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\txv := x[i] * alpha\n\t\t\t\tsum := x[i] * a[i*lda+i]\n\t\t\t\tjy := ky + (i+1)*incY\n\t\t\t\tatmp := a[i*lda+i+1 : i*lda+n]\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\tjp := j + i + 1\n\t\t\t\t\tsum += x[jp] * v\n\t\t\t\t\ty[jy] += xv * v\n\t\t\t\t\tjy += incY\n\t\t\t\t}\n\t\t\t\ty[iy] += alpha * sum\n\t\t\t\tiy += incY\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\txv := x[ix] * alpha\n\t\t\tsum := x[ix] * a[i*lda+i]\n\t\t\tjx := kx + (i+1)*incX\n\t\t\tjy := ky + (i+1)*incY\n\t\t\tatmp := a[i*lda+i+1 : i*lda+n]\n\t\t\tfor _, v := range atmp {\n\t\t\t\tsum += x[jx] * v\n\t\t\t\ty[jy] += xv * v\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\ty[iy] += alpha * sum\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is lower triangular.\n\tif incX == 1 {\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\tjy := ky\n\t\t\txv := alpha * x[i]\n\t\t\tatmp := a[i*lda : i*lda+i]\n\t\t\tvar sum float64\n\t\t\tfor j, v := range atmp {\n\t\t\t\tsum += x[j] * v\n\t\t\t\ty[jy] += xv * v\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\tsum += x[i] * a[i*lda+i]\n\t\t\tsum *= alpha\n\t\t\ty[iy] += sum\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tiy := ky\n\tfor i := 0; i < n; i++ {\n\t\tjx := kx\n\t\tjy := ky\n\t\txv := alpha * x[ix]\n\t\tatmp := a[i*lda : i*lda+i]\n\t\tvar sum float64\n\t\tfor _, v := range atmp {\n\t\t\tsum += x[jx] * v\n\t\t\ty[jy] += xv * v\n\t\t\tjx += incX\n\t\t\tjy += incY\n\t\t}\n\t\tsum += x[ix] * a[i*lda+i]\n\t\tsum *= alpha\n\t\ty[iy] += sum\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Dtbmv computes\n//  x = A * x if tA == blas.NoTrans\n//  x = A^T * x if tA == blas.Trans or blas.ConjTrans\n// where A is an n×n triangular banded matrix with k diagonals, and x is a vector.\nfunc (Implementation) Dtbmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n, k int, a []float64, lda int, x []float64, incX int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif k < 0 {\n\t\tpanic(kLT0)\n\t}\n\tif lda*(n-1)+k+1 > len(a) || lda < k+1 {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tvar kx int\n\tif incX <= 0 {\n\t\tkx = -(n - 1) * incX\n\t} else if incX != 1 {\n\t\tkx = 0\n\t}\n\n\tnonunit := d != blas.Unit\n\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tu := min(1+k, n-i)\n\t\t\t\t\tvar sum float64\n\t\t\t\t\tatmp := a[i*lda:]\n\t\t\t\t\txtmp := x[i:]\n\t\t\t\t\tfor j := 1; j < u; j++ {\n\t\t\t\t\t\tsum += xtmp[j] * atmp[j]\n\t\t\t\t\t}\n\t\t\t\t\tif nonunit {\n\t\t\t\t\t\tsum += xtmp[0] * atmp[0]\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsum += xtmp[0]\n\t\t\t\t\t}\n\t\t\t\t\tx[i] = sum\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tix := kx\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tu := min(1+k, n-i)\n\t\t\t\tvar sum float64\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\tjx := incX\n\t\t\t\tfor j := 1; j < u; j++ {\n\t\t\t\t\tsum += x[ix+jx] * atmp[j]\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t\tif nonunit {\n\t\t\t\t\tsum += x[ix] * atmp[0]\n\t\t\t\t} else {\n\t\t\t\t\tsum += x[ix]\n\t\t\t\t}\n\t\t\t\tx[ix] = sum\n\t\t\t\tix += incX\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif incX == 1 {\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tl := max(0, k-i)\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\tvar sum float64\n\t\t\t\tfor j := l; j < k; j++ {\n\t\t\t\t\tsum += x[i-k+j] * atmp[j]\n\t\t\t\t}\n\t\t\t\tif nonunit {\n\t\t\t\t\tsum += x[i] * atmp[k]\n\t\t\t\t} else {\n\t\t\t\t\tsum += x[i]\n\t\t\t\t}\n\t\t\t\tx[i] = sum\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx + (n-1)*incX\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tl := max(0, k-i)\n\t\t\tatmp := a[i*lda:]\n\t\t\tvar sum float64\n\t\t\tjx := l * incX\n\t\t\tfor j := l; j < k; j++ {\n\t\t\t\tsum += x[ix-k*incX+jx] * atmp[j]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tif nonunit {\n\t\t\t\tsum += x[ix] * atmp[k]\n\t\t\t} else {\n\t\t\t\tsum += x[ix]\n\t\t\t}\n\t\t\tx[ix] = sum\n\t\t\tix -= incX\n\t\t}\n\t\treturn\n\t}\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tu := k + 1\n\t\t\t\tif i < u {\n\t\t\t\t\tu = i + 1\n\t\t\t\t}\n\t\t\t\tvar sum float64\n\t\t\t\tfor j := 1; j < u; j++ {\n\t\t\t\t\tsum += x[i-j] * a[(i-j)*lda+j]\n\t\t\t\t}\n\t\t\t\tif nonunit {\n\t\t\t\t\tsum += x[i] * a[i*lda]\n\t\t\t\t} else {\n\t\t\t\t\tsum += x[i]\n\t\t\t\t}\n\t\t\t\tx[i] = sum\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx + (n-1)*incX\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tu := k + 1\n\t\t\tif i < u {\n\t\t\t\tu = i + 1\n\t\t\t}\n\t\t\tvar sum float64\n\t\t\tjx := incX\n\t\t\tfor j := 1; j < u; j++ {\n\t\t\t\tsum += x[ix-jx] * a[(i-j)*lda+j]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tif nonunit {\n\t\t\t\tsum += x[ix] * a[i*lda]\n\t\t\t} else {\n\t\t\t\tsum += x[ix]\n\t\t\t}\n\t\t\tx[ix] = sum\n\t\t\tix -= incX\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tu := k\n\t\t\tif i+k >= n {\n\t\t\t\tu = n - i - 1\n\t\t\t}\n\t\t\tvar sum float64\n\t\t\tfor j := 0; j < u; j++ {\n\t\t\t\tsum += x[i+j+1] * a[(i+j+1)*lda+k-j-1]\n\t\t\t}\n\t\t\tif nonunit {\n\t\t\t\tsum += x[i] * a[i*lda+k]\n\t\t\t} else {\n\t\t\t\tsum += x[i]\n\t\t\t}\n\t\t\tx[i] = sum\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < n; i++ {\n\t\tu := k\n\t\tif i+k >= n {\n\t\t\tu = n - i - 1\n\t\t}\n\t\tvar (\n\t\t\tsum float64\n\t\t\tjx  int\n\t\t)\n\t\tfor j := 0; j < u; j++ {\n\t\t\tsum += x[ix+jx+incX] * a[(i+j+1)*lda+k-j-1]\n\t\t\tjx += incX\n\t\t}\n\t\tif nonunit {\n\t\t\tsum += x[ix] * a[i*lda+k]\n\t\t} else {\n\t\t\tsum += x[ix]\n\t\t}\n\t\tx[ix] = sum\n\t\tix += incX\n\t}\n}\n\n// Dtpmv computes\n//  x = A * x if tA == blas.NoTrans\n//  x = A^T * x if tA == blas.Trans or blas.ConjTrans\n// where A is an n×n unit triangular matrix in packed format, and x is a vector.\nfunc (Implementation) Dtpmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, ap []float64, x []float64, incX int) {\n\t// Verify inputs\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif len(ap) < (n*(n+1))/2 {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tvar kx int\n\tif incX <= 0 {\n\t\tkx = -(n - 1) * incX\n\t}\n\n\tnonUnit := d == blas.NonUnit\n\tvar offset int // Offset is the index of (i,i)\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\txi := x[i]\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\txi *= ap[offset]\n\t\t\t\t\t}\n\t\t\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\t\t\txtmp := x[i+1:]\n\t\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\t\txi += v * xtmp[j]\n\t\t\t\t\t}\n\t\t\t\t\tx[i] = xi\n\t\t\t\t\toffset += n - i\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tix := kx\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\txix := x[ix]\n\t\t\t\tif nonUnit {\n\t\t\t\t\txix *= ap[offset]\n\t\t\t\t}\n\t\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\t\tjx := kx + (i+1)*incX\n\t\t\t\tfor _, v := range atmp {\n\t\t\t\t\txix += v * x[jx]\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t\tx[ix] = xix\n\t\t\t\toffset += n - i\n\t\t\t\tix += incX\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif incX == 1 {\n\t\t\toffset = n*(n+1)/2 - 1\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\txi := x[i]\n\t\t\t\tif nonUnit {\n\t\t\t\t\txi *= ap[offset]\n\t\t\t\t}\n\t\t\t\tatmp := ap[offset-i : offset]\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\txi += v * x[j]\n\t\t\t\t}\n\t\t\t\tx[i] = xi\n\t\t\t\toffset -= i + 1\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx + (n-1)*incX\n\t\toffset = n*(n+1)/2 - 1\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\txix := x[ix]\n\t\t\tif nonUnit {\n\t\t\t\txix *= ap[offset]\n\t\t\t}\n\t\t\tatmp := ap[offset-i : offset]\n\t\t\tjx := kx\n\t\t\tfor _, v := range atmp {\n\t\t\t\txix += v * x[jx]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tx[ix] = xix\n\t\t\toffset -= i + 1\n\t\t\tix -= incX\n\t\t}\n\t\treturn\n\t}\n\t// Cases where ap is transposed.\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\toffset = n*(n+1)/2 - 1\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\txi := x[i]\n\t\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\t\txtmp := x[i+1:]\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\txtmp[j] += v * xi\n\t\t\t\t}\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] *= ap[offset]\n\t\t\t\t}\n\t\t\t\toffset -= n - i + 1\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx + (n-1)*incX\n\t\toffset = n*(n+1)/2 - 1\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\txix := x[ix]\n\t\t\tjx := kx + (i+1)*incX\n\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\tfor _, v := range atmp {\n\t\t\t\tx[jx] += v * xix\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] *= ap[offset]\n\t\t\t}\n\t\t\toffset -= n - i + 1\n\t\t\tix -= incX\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\txi := x[i]\n\t\t\tatmp := ap[offset-i : offset]\n\t\t\tfor j, v := range atmp {\n\t\t\t\tx[j] += v * xi\n\t\t\t}\n\t\t\tif nonUnit {\n\t\t\t\tx[i] *= ap[offset]\n\t\t\t}\n\t\t\toffset += i + 2\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < n; i++ {\n\t\txix := x[ix]\n\t\tjx := kx\n\t\tatmp := ap[offset-i : offset]\n\t\tfor _, v := range atmp {\n\t\t\tx[jx] += v * xix\n\t\t\tjx += incX\n\t\t}\n\t\tif nonUnit {\n\t\t\tx[ix] *= ap[offset]\n\t\t}\n\t\tix += incX\n\t\toffset += i + 2\n\t}\n}\n\n// Dtbsv solves\n//  A * x = b\n// where A is an n×n triangular banded matrix with k diagonals in packed format,\n// and x is a vector.\n// At entry to the function, x contains the values of b, and the result is\n// stored in place into x.\n//\n// No test for singularity or near-singularity is included in this\n// routine. Such tests must be performed before calling this routine.\nfunc (Implementation) Dtbsv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n, k int, a []float64, lda int, x []float64, incX int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif lda*(n-1)+k+1 > len(a) || lda < k+1 {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = -(n - 1) * incX\n\t} else {\n\t\tkx = 0\n\t}\n\tnonUnit := d == blas.NonUnit\n\t// Form x = A^-1 x.\n\t// Several cases below use subslices for speed improvement.\n\t// The incX != 1 cases usually do not because incX may be negative.\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\t\tbands := k\n\t\t\t\t\tif i+bands >= n {\n\t\t\t\t\t\tbands = n - i - 1\n\t\t\t\t\t}\n\t\t\t\t\tatmp := a[i*lda+1:]\n\t\t\t\t\txtmp := x[i+1 : i+bands+1]\n\t\t\t\t\tvar sum float64\n\t\t\t\t\tfor j, v := range xtmp {\n\t\t\t\t\t\tsum += v * atmp[j]\n\t\t\t\t\t}\n\t\t\t\t\tx[i] -= sum\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\tx[i] /= a[i*lda]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tix := kx + (n-1)*incX\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tmax := k + 1\n\t\t\t\tif i+max > n {\n\t\t\t\t\tmax = n - i\n\t\t\t\t}\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\tvar (\n\t\t\t\t\tjx  int\n\t\t\t\t\tsum float64\n\t\t\t\t)\n\t\t\t\tfor j := 1; j < max; j++ {\n\t\t\t\t\tjx += incX\n\t\t\t\t\tsum += x[ix+jx] * atmp[j]\n\t\t\t\t}\n\t\t\t\tx[ix] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[ix] /= atmp[0]\n\t\t\t\t}\n\t\t\t\tix -= incX\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tbands := k\n\t\t\t\tif i-k < 0 {\n\t\t\t\t\tbands = i\n\t\t\t\t}\n\t\t\t\tatmp := a[i*lda+k-bands:]\n\t\t\t\txtmp := x[i-bands : i]\n\t\t\t\tvar sum float64\n\t\t\t\tfor j, v := range xtmp {\n\t\t\t\t\tsum += v * atmp[j]\n\t\t\t\t}\n\t\t\t\tx[i] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] /= atmp[bands]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tbands := k\n\t\t\tif i-k < 0 {\n\t\t\t\tbands = i\n\t\t\t}\n\t\t\tatmp := a[i*lda+k-bands:]\n\t\t\tvar (\n\t\t\t\tsum float64\n\t\t\t\tjx  int\n\t\t\t)\n\t\t\tfor j := 0; j < bands; j++ {\n\t\t\t\tsum += x[ix-bands*incX+jx] * atmp[j]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tx[ix] -= sum\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] /= atmp[bands]\n\t\t\t}\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tbands := k\n\t\t\t\tif i-k < 0 {\n\t\t\t\t\tbands = i\n\t\t\t\t}\n\t\t\t\tvar sum float64\n\t\t\t\tfor j := 0; j < bands; j++ {\n\t\t\t\t\tsum += x[i-bands+j] * a[(i-bands+j)*lda+bands-j]\n\t\t\t\t}\n\t\t\t\tx[i] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] /= a[i*lda]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tbands := k\n\t\t\tif i-k < 0 {\n\t\t\t\tbands = i\n\t\t\t}\n\t\t\tvar (\n\t\t\t\tsum float64\n\t\t\t\tjx  int\n\t\t\t)\n\t\t\tfor j := 0; j < bands; j++ {\n\t\t\t\tsum += x[ix-bands*incX+jx] * a[(i-bands+j)*lda+bands-j]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tx[ix] -= sum\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] /= a[i*lda]\n\t\t\t}\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tbands := k\n\t\t\tif i+bands >= n {\n\t\t\t\tbands = n - i - 1\n\t\t\t}\n\t\t\tvar sum float64\n\t\t\txtmp := x[i+1 : i+1+bands]\n\t\t\tfor j, v := range xtmp {\n\t\t\t\tsum += v * a[(i+j+1)*lda+k-j-1]\n\t\t\t}\n\t\t\tx[i] -= sum\n\t\t\tif nonUnit {\n\t\t\t\tx[i] /= a[i*lda+k]\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx + (n-1)*incX\n\tfor i := n - 1; i >= 0; i-- {\n\t\tbands := k\n\t\tif i+bands >= n {\n\t\t\tbands = n - i - 1\n\t\t}\n\t\tvar (\n\t\t\tsum float64\n\t\t\tjx  int\n\t\t)\n\t\tfor j := 0; j < bands; j++ {\n\t\t\tsum += x[ix+jx+incX] * a[(i+j+1)*lda+k-j-1]\n\t\t\tjx += incX\n\t\t}\n\t\tx[ix] -= sum\n\t\tif nonUnit {\n\t\t\tx[ix] /= a[i*lda+k]\n\t\t}\n\t\tix -= incX\n\t}\n}\n\n// Dsbmv performs\n//  y = alpha * A * x + beta * y\n// where A is an n×n symmetric banded matrix, x and y are vectors, and alpha\n// and beta are scalars.\nfunc (Implementation) Dsbmv(ul blas.Uplo, n, k int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif lda*(n-1)+k+1 > len(a) || lda < k+1 {\n\t\tpanic(badLdA)\n\t}\n\n\t// Quick return if possible\n\tif n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\t// Set up indexes\n\tlenX := n\n\tlenY := n\n\tvar kx, ky int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(lenX - 1) * incX\n\t}\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(lenY - 1) * incY\n\t}\n\n\t// First form y := beta * y\n\tif incY > 0 {\n\t\tImplementation{}.Dscal(lenY, beta, y, incY)\n\t} else {\n\t\tImplementation{}.Dscal(lenY, beta, y, -incY)\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tiy := ky\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\ttmp := alpha * x[i]\n\t\t\t\tsum := tmp * atmp[0]\n\t\t\t\tu := min(k, n-i-1)\n\t\t\t\tjy := incY\n\t\t\t\tfor j := 1; j <= u; j++ {\n\t\t\t\t\tv := atmp[j]\n\t\t\t\t\tsum += alpha * x[i+j] * v\n\t\t\t\t\ty[iy+jy] += tmp * v\n\t\t\t\t\tjy += incY\n\t\t\t\t}\n\t\t\t\ty[iy] += sum\n\t\t\t\tiy += incY\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\tatmp := a[i*lda:]\n\t\t\ttmp := alpha * x[ix]\n\t\t\tsum := tmp * atmp[0]\n\t\t\tu := min(k, n-i-1)\n\t\t\tjx := incX\n\t\t\tjy := incY\n\t\t\tfor j := 1; j <= u; j++ {\n\t\t\t\tv := atmp[j]\n\t\t\t\tsum += alpha * x[ix+jx] * v\n\t\t\t\ty[iy+jy] += tmp * v\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\ty[iy] += sum\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\n\t// Casses where a has bands below the diagonal.\n\tif incX == 1 {\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\tl := max(0, k-i)\n\t\t\ttmp := alpha * x[i]\n\t\t\tjy := l * incY\n\t\t\tatmp := a[i*lda:]\n\t\t\tfor j := l; j < k; j++ {\n\t\t\t\tv := atmp[j]\n\t\t\t\ty[iy] += alpha * v * x[i-k+j]\n\t\t\t\ty[iy-k*incY+jy] += tmp * v\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\ty[iy] += tmp * atmp[k]\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tiy := ky\n\tfor i := 0; i < n; i++ {\n\t\tl := max(0, k-i)\n\t\ttmp := alpha * x[ix]\n\t\tjx := l * incX\n\t\tjy := l * incY\n\t\tatmp := a[i*lda:]\n\t\tfor j := l; j < k; j++ {\n\t\t\tv := atmp[j]\n\t\t\ty[iy] += alpha * v * x[ix-k*incX+jx]\n\t\t\ty[iy-k*incY+jy] += tmp * v\n\t\t\tjx += incX\n\t\t\tjy += incY\n\t\t}\n\t\ty[iy] += tmp * atmp[k]\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Dsyr performs the rank-one update\n//  a += alpha * x * x^T\n// where a is an n×n symmetric matrix, and x is a vector.\nfunc (Implementation) Dsyr(ul blas.Uplo, n int, alpha float64, x []float64, incX int, a []float64, lda int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif lda*(n-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\tif alpha == 0 || n == 0 {\n\t\treturn\n\t}\n\n\tlenX := n\n\tvar kx int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(lenX - 1) * incX\n\t}\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\ttmp := x[i] * alpha\n\t\t\t\tif tmp != 0 {\n\t\t\t\t\tatmp := a[i*lda+i : i*lda+n]\n\t\t\t\t\txtmp := x[i:n]\n\t\t\t\t\tfor j, v := range xtmp {\n\t\t\t\t\t\tatmp[j] += v * tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\ttmp := x[ix] * alpha\n\t\t\tif tmp != 0 {\n\t\t\t\tjx := ix\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\tfor j := i; j < n; j++ {\n\t\t\t\t\tatmp[j] += x[jx] * tmp\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t}\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is lower triangular.\n\tif incX == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\ttmp := x[i] * alpha\n\t\t\tif tmp != 0 {\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\txtmp := x[:i+1]\n\t\t\t\tfor j, v := range xtmp {\n\t\t\t\t\tatmp[j] += tmp * v\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < n; i++ {\n\t\ttmp := x[ix] * alpha\n\t\tif tmp != 0 {\n\t\t\tatmp := a[i*lda:]\n\t\t\tjx := kx\n\t\t\tfor j := 0; j < i+1; j++ {\n\t\t\t\tatmp[j] += tmp * x[jx]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t}\n\t\tix += incX\n\t}\n}\n\n// Dsyr2 performs the symmetric rank-two update\n//  A += alpha * x * y^T + alpha * y * x^T\n// where A is a symmetric n×n matrix, x and y are vectors, and alpha is a scalar.\nfunc (Implementation) Dsyr2(ul blas.Uplo, n int, alpha float64, x []float64, incX int, y []float64, incY int, a []float64, lda int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif lda*(n-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\tvar ky, kx int\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(n - 1) * incY\n\t}\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(n - 1) * incX\n\t}\n\tif ul == blas.Upper {\n\t\tif incX == 1 && incY == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\txi := x[i]\n\t\t\t\tyi := y[i]\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\tfor j := i; j < n; j++ {\n\t\t\t\t\tatmp[j] += alpha * (xi*y[j] + x[j]*yi)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\tjx := kx + i*incX\n\t\t\tjy := ky + i*incY\n\t\t\txi := x[ix]\n\t\t\tyi := y[iy]\n\t\t\tatmp := a[i*lda:]\n\t\t\tfor j := i; j < n; j++ {\n\t\t\t\tatmp[j] += alpha * (xi*y[jy] + x[jx]*yi)\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\txi := x[i]\n\t\t\tyi := y[i]\n\t\t\tatmp := a[i*lda:]\n\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\tatmp[j] += alpha * (xi*y[j] + x[j]*yi)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tiy := ky\n\tfor i := 0; i < n; i++ {\n\t\tjx := kx\n\t\tjy := ky\n\t\txi := x[ix]\n\t\tyi := y[iy]\n\t\tatmp := a[i*lda:]\n\t\tfor j := 0; j <= i; j++ {\n\t\t\tatmp[j] += alpha * (xi*y[jy] + x[jx]*yi)\n\t\t\tjx += incX\n\t\t\tjy += incY\n\t\t}\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Dtpsv solves\n//  A * x = b if tA == blas.NoTrans\n//  A^T * x = b if tA == blas.Trans or blas.ConjTrans\n// where A is an n×n triangular matrix in packed format and x is a vector.\n// At entry to the function, x contains the values of b, and the result is\n// stored in place into x.\n//\n// No test for singularity or near-singularity is included in this\n// routine. Such tests must be performed before calling this routine.\nfunc (Implementation) Dtpsv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, ap []float64, x []float64, incX int) {\n\t// Verify inputs\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif len(ap) < (n*(n+1))/2 {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tvar kx int\n\tif incX <= 0 {\n\t\tkx = -(n - 1) * incX\n\t}\n\n\tnonUnit := d == blas.NonUnit\n\tvar offset int // Offset is the index of (i,i)\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\toffset = n*(n+1)/2 - 1\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\t\t\txtmp := x[i+1:]\n\t\t\t\t\tvar sum float64\n\t\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\t\tsum += v * xtmp[j]\n\t\t\t\t\t}\n\t\t\t\t\tx[i] -= sum\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\tx[i] /= ap[offset]\n\t\t\t\t\t}\n\t\t\t\t\toffset -= n - i + 1\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tix := kx + (n-1)*incX\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\t\tjx := kx + (i+1)*incX\n\t\t\t\tvar sum float64\n\t\t\t\tfor _, v := range atmp {\n\t\t\t\t\tsum += v * x[jx]\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t\tx[ix] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[ix] /= ap[offset]\n\t\t\t\t}\n\t\t\t\tix -= incX\n\t\t\t\toffset -= n - i + 1\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tatmp := ap[offset-i : offset]\n\t\t\t\tvar sum float64\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\tsum += v * x[j]\n\t\t\t\t}\n\t\t\t\tx[i] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] /= ap[offset]\n\t\t\t\t}\n\t\t\t\toffset += i + 2\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tjx := kx\n\t\t\tatmp := ap[offset-i : offset]\n\t\t\tvar sum float64\n\t\t\tfor _, v := range atmp {\n\t\t\t\tsum += v * x[jx]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tx[ix] -= sum\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] /= ap[offset]\n\t\t\t}\n\t\t\tix += incX\n\t\t\toffset += i + 2\n\t\t}\n\t\treturn\n\t}\n\t// Cases where ap is transposed.\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] /= ap[offset]\n\t\t\t\t}\n\t\t\t\txi := x[i]\n\t\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\t\txtmp := x[i+1:]\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\txtmp[j] -= v * xi\n\t\t\t\t}\n\t\t\t\toffset += n - i\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] /= ap[offset]\n\t\t\t}\n\t\t\txix := x[ix]\n\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\tjx := kx + (i+1)*incX\n\t\t\tfor _, v := range atmp {\n\t\t\t\tx[jx] -= v * xix\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tix += incX\n\t\t\toffset += n - i\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\toffset = n*(n+1)/2 - 1\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tif nonUnit {\n\t\t\t\tx[i] /= ap[offset]\n\t\t\t}\n\t\t\txi := x[i]\n\t\t\tatmp := ap[offset-i : offset]\n\t\t\tfor j, v := range atmp {\n\t\t\t\tx[j] -= v * xi\n\t\t\t}\n\t\t\toffset -= i + 1\n\t\t}\n\t\treturn\n\t}\n\tix := kx + (n-1)*incX\n\toffset = n*(n+1)/2 - 1\n\tfor i := n - 1; i >= 0; i-- {\n\t\tif nonUnit {\n\t\t\tx[ix] /= ap[offset]\n\t\t}\n\t\txix := x[ix]\n\t\tatmp := ap[offset-i : offset]\n\t\tjx := kx\n\t\tfor _, v := range atmp {\n\t\t\tx[jx] -= v * xix\n\t\t\tjx += incX\n\t\t}\n\t\tix -= incX\n\t\toffset -= i + 1\n\t}\n}\n\n// Dspmv performs\n//    y = alpha * A * x + beta * y,\n// where A is an n×n symmetric matrix in packed format, x and y are vectors\n// and alpha and beta are scalars.\nfunc (Implementation) Dspmv(ul blas.Uplo, n int, alpha float64, a []float64, x []float64, incX int, beta float64, y []float64, incY int) {\n\t// Verify inputs\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif len(a) < (n*(n+1))/2 {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\t// Quick return if possible\n\tif n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\t// Set up start points\n\tvar kx, ky int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(n - 1) * incX\n\t}\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(n - 1) * incY\n\t}\n\n\t// Form y = beta * y\n\tif beta != 1 {\n\t\tif incY > 0 {\n\t\t\tImplementation{}.Dscal(n, beta, y, incY)\n\t\t} else {\n\t\t\tImplementation{}.Dscal(n, beta, y, -incY)\n\t\t}\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\tif n == 1 {\n\t\ty[0] += alpha * a[0] * x[0]\n\t\treturn\n\t}\n\tvar offset int // Offset is the index of (i,i).\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tiy := ky\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\txv := x[i] * alpha\n\t\t\t\tsum := a[offset] * x[i]\n\t\t\t\tatmp := a[offset+1 : offset+n-i]\n\t\t\t\txtmp := x[i+1:]\n\t\t\t\tjy := ky + (i+1)*incY\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\tsum += v * xtmp[j]\n\t\t\t\t\ty[jy] += v * xv\n\t\t\t\t\tjy += incY\n\t\t\t\t}\n\t\t\t\ty[iy] += alpha * sum\n\t\t\t\tiy += incY\n\t\t\t\toffset += n - i\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\txv := x[ix] * alpha\n\t\t\tsum := a[offset] * x[ix]\n\t\t\tatmp := a[offset+1 : offset+n-i]\n\t\t\tjx := kx + (i+1)*incX\n\t\t\tjy := ky + (i+1)*incY\n\t\t\tfor _, v := range atmp {\n\t\t\t\tsum += v * x[jx]\n\t\t\t\ty[jy] += v * xv\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\ty[iy] += alpha * sum\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t\toffset += n - i\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\txv := x[i] * alpha\n\t\t\tatmp := a[offset-i : offset]\n\t\t\tjy := ky\n\t\t\tvar sum float64\n\t\t\tfor j, v := range atmp {\n\t\t\t\tsum += v * x[j]\n\t\t\t\ty[jy] += v * xv\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\tsum += a[offset] * x[i]\n\t\t\ty[iy] += alpha * sum\n\t\t\tiy += incY\n\t\t\toffset += i + 2\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tiy := ky\n\tfor i := 0; i < n; i++ {\n\t\txv := x[ix] * alpha\n\t\tatmp := a[offset-i : offset]\n\t\tjx := kx\n\t\tjy := ky\n\t\tvar sum float64\n\t\tfor _, v := range atmp {\n\t\t\tsum += v * x[jx]\n\t\t\ty[jy] += v * xv\n\t\t\tjx += incX\n\t\t\tjy += incY\n\t\t}\n\n\t\tsum += a[offset] * x[ix]\n\t\ty[iy] += alpha * sum\n\t\tix += incX\n\t\tiy += incY\n\t\toffset += i + 2\n\t}\n}\n\n// Dspr computes the rank-one operation\n//  a += alpha * x * x^T\n// where a is an n×n symmetric matrix in packed format, x is a vector, and\n// alpha is a scalar.\nfunc (Implementation) Dspr(ul blas.Uplo, n int, alpha float64, x []float64, incX int, a []float64) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif len(a) < (n*(n+1))/2 {\n\t\tpanic(badLdA)\n\t}\n\tif alpha == 0 || n == 0 {\n\t\treturn\n\t}\n\tlenX := n\n\tvar kx int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(lenX - 1) * incX\n\t}\n\tvar offset int // Offset is the index of (i,i).\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tatmp := a[offset:]\n\t\t\t\txv := alpha * x[i]\n\t\t\t\txtmp := x[i:n]\n\t\t\t\tfor j, v := range xtmp {\n\t\t\t\t\tatmp[j] += xv * v\n\t\t\t\t}\n\t\t\t\toffset += n - i\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tjx := kx + i*incX\n\t\t\tatmp := a[offset:]\n\t\t\txv := alpha * x[ix]\n\t\t\tfor j := 0; j < n-i; j++ {\n\t\t\t\tatmp[j] += xv * x[jx]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tix += incX\n\t\t\toffset += n - i\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tatmp := a[offset-i:]\n\t\t\txv := alpha * x[i]\n\t\t\txtmp := x[:i+1]\n\t\t\tfor j, v := range xtmp {\n\t\t\t\tatmp[j] += xv * v\n\t\t\t}\n\t\t\toffset += i + 2\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < n; i++ {\n\t\tjx := kx\n\t\tatmp := a[offset-i:]\n\t\txv := alpha * x[ix]\n\t\tfor j := 0; j <= i; j++ {\n\t\t\tatmp[j] += xv * x[jx]\n\t\t\tjx += incX\n\t\t}\n\t\tix += incX\n\t\toffset += i + 2\n\t}\n}\n\n// Dspr2 performs the symmetric rank-2 update\n//  A += alpha * x * y^T + alpha * y * x^T,\n// where A is an n×n symmetric matrix in packed format, x and y are vectors,\n// and alpha is a scalar.\nfunc (Implementation) Dspr2(ul blas.Uplo, n int, alpha float64, x []float64, incX int, y []float64, incY int, ap []float64) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif len(ap) < (n*(n+1))/2 {\n\t\tpanic(badLdA)\n\t}\n\tif alpha == 0 {\n\t\treturn\n\t}\n\tvar ky, kx int\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(n - 1) * incY\n\t}\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(n - 1) * incX\n\t}\n\tvar offset int // Offset is the index of (i,i).\n\tif ul == blas.Upper {\n\t\tif incX == 1 && incY == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tatmp := ap[offset:]\n\t\t\t\txi := x[i]\n\t\t\t\tyi := y[i]\n\t\t\t\txtmp := x[i:n]\n\t\t\t\tytmp := y[i:n]\n\t\t\t\tfor j, v := range xtmp {\n\t\t\t\t\tatmp[j] += alpha * (xi*ytmp[j] + v*yi)\n\t\t\t\t}\n\t\t\t\toffset += n - i\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\tjx := kx + i*incX\n\t\t\tjy := ky + i*incY\n\t\t\tatmp := ap[offset:]\n\t\t\txi := x[ix]\n\t\t\tyi := y[iy]\n\t\t\tfor j := 0; j < n-i; j++ {\n\t\t\t\tatmp[j] += alpha * (xi*y[jy] + x[jx]*yi)\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t\toffset += n - i\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tatmp := ap[offset-i:]\n\t\t\txi := x[i]\n\t\t\tyi := y[i]\n\t\t\txtmp := x[:i+1]\n\t\t\tfor j, v := range xtmp {\n\t\t\t\tatmp[j] += alpha * (xi*y[j] + v*yi)\n\t\t\t}\n\t\t\toffset += i + 2\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tiy := ky\n\tfor i := 0; i < n; i++ {\n\t\tjx := kx\n\t\tjy := ky\n\t\tatmp := ap[offset-i:]\n\t\tfor j := 0; j <= i; j++ {\n\t\t\tatmp[j] += alpha * (x[ix]*y[jy] + x[jx]*y[iy])\n\t\t\tjx += incX\n\t\t\tjy += incY\n\t\t}\n\t\tix += incX\n\t\tiy += incY\n\t\toffset += i + 2\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/level2single.go",
    "content": "// Code generated by \"go generate gonum.org/v1/gonum/blas/gonum”; DO NOT EDIT.\n\n// Copyright ©2014 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/internal/asm/f32\"\n)\n\nvar _ blas.Float32Level2 = Implementation{}\n\n// Sgemv computes\n//  y = alpha * A * x + beta * y    if tA = blas.NoTrans\n//  y = alpha * A^T * x + beta * y  if tA = blas.Trans or blas.ConjTrans\n// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Sgemv(tA blas.Transpose, m, n int, alpha float32, a []float32, lda int, x []float32, incX int, beta float32, y []float32, incY int) {\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\t// Set up indexes\n\tlenX := m\n\tlenY := n\n\tif tA == blas.NoTrans {\n\t\tlenX = n\n\t\tlenY = m\n\t}\n\tif (incX > 0 && (lenX-1)*incX >= len(x)) || (incX < 0 && (1-lenX)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (lenY-1)*incY >= len(y)) || (incY < 0 && (1-lenY)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif lda*(m-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\n\t// Quick return if possible\n\tif m == 0 || n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\tvar kx, ky int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(lenX - 1) * incX\n\t}\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(lenY - 1) * incY\n\t}\n\n\t// First form y := beta * y\n\tif incY > 0 {\n\t\tImplementation{}.Sscal(lenY, beta, y, incY)\n\t} else {\n\t\tImplementation{}.Sscal(lenY, beta, y, -incY)\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\t// Form y := alpha * A * x + y\n\tif tA == blas.NoTrans {\n\t\tif incX == 1 && incY == 1 {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\ty[i] += alpha * f32.DotUnitary(a[lda*i:lda*i+n], x)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tiy := ky\n\t\tfor i := 0; i < m; i++ {\n\t\t\ty[iy] += alpha * f32.DotInc(x, a[lda*i:lda*i+n], uintptr(n), uintptr(incX), 1, uintptr(kx), 0)\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif incX == 1 && incY == 1 {\n\t\tfor i := 0; i < m; i++ {\n\t\t\ttmp := alpha * x[i]\n\t\t\tif tmp != 0 {\n\t\t\t\tf32.AxpyUnitaryTo(y, tmp, a[lda*i:lda*i+n], y)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < m; i++ {\n\t\ttmp := alpha * x[ix]\n\t\tif tmp != 0 {\n\t\t\tf32.AxpyInc(tmp, a[lda*i:lda*i+n], y, uintptr(n), 1, uintptr(incY), 0, uintptr(ky))\n\t\t}\n\t\tix += incX\n\t}\n}\n\n// Sger performs the rank-one operation\n//  A += alpha * x * y^T\n// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Sger(m, n int, alpha float32, x []float32, incX int, y []float32, incY int, a []float32, lda int) {\n\t// Check inputs\n\tif m < 0 {\n\t\tpanic(\"m < 0\")\n\t}\n\tif n < 0 {\n\t\tpanic(negativeN)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif (incX > 0 && (m-1)*incX >= len(x)) || (incX < 0 && (1-m)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif lda*(m-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\tif lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\n\t// Quick return if possible\n\tif m == 0 || n == 0 || alpha == 0 {\n\t\treturn\n\t}\n\n\tvar ky, kx int\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(n - 1) * incY\n\t}\n\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(m - 1) * incX\n\t}\n\n\tif incX == 1 && incY == 1 {\n\t\tx = x[:m]\n\t\ty = y[:n]\n\t\tfor i, xv := range x {\n\t\t\tf32.AxpyUnitary(alpha*xv, y, a[i*lda:i*lda+n])\n\t\t}\n\t\treturn\n\t}\n\n\tix := kx\n\tfor i := 0; i < m; i++ {\n\t\tf32.AxpyInc(alpha*x[ix], y, a[i*lda:i*lda+n], uintptr(n), uintptr(incY), 1, uintptr(ky), 0)\n\t\tix += incX\n\t}\n}\n\n// Sgbmv computes\n//  y = alpha * A * x + beta * y if tA == blas.NoTrans\n//  y = alpha * A^T * x + beta * y if tA == blas.Trans or blas.ConjTrans\n// where a is an m×n band matrix kL subdiagonals and kU super-diagonals, and\n// m and n refer to the size of the full dense matrix it represents.\n// x and y are vectors, and alpha and beta are scalars.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Sgbmv(tA blas.Transpose, m, n, kL, kU int, alpha float32, a []float32, lda int, x []float32, incX int, beta float32, y []float32, incY int) {\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif kL < 0 {\n\t\tpanic(kLLT0)\n\t}\n\tif kL < 0 {\n\t\tpanic(kULT0)\n\t}\n\tif lda < kL+kU+1 {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\t// Set up indexes\n\tlenX := m\n\tlenY := n\n\tif tA == blas.NoTrans {\n\t\tlenX = n\n\t\tlenY = m\n\t}\n\tif (incX > 0 && (lenX-1)*incX >= len(x)) || (incX < 0 && (1-lenX)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (lenY-1)*incY >= len(y)) || (incY < 0 && (1-lenY)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif lda*(min(m, n+kL)-1)+kL+kU+1 > len(a) || lda < kL+kU+1 {\n\t\tpanic(badLdA)\n\t}\n\n\t// Quick return if possible\n\tif m == 0 || n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\tvar kx, ky int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(lenX - 1) * incX\n\t}\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(lenY - 1) * incY\n\t}\n\n\t// First form y := beta * y\n\tif incY > 0 {\n\t\tImplementation{}.Sscal(lenY, beta, y, incY)\n\t} else {\n\t\tImplementation{}.Sscal(lenY, beta, y, -incY)\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\t// i and j are indices of the compacted banded matrix.\n\t// off is the offset into the dense matrix (off + j = densej)\n\tld := min(m, n)\n\tnCol := kU + 1 + kL\n\tif tA == blas.NoTrans {\n\t\tiy := ky\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < min(m, n+kL); i++ {\n\t\t\t\tl := max(0, kL-i)\n\t\t\t\tu := min(nCol, ld+kL-i)\n\t\t\t\toff := max(0, i-kL)\n\t\t\t\tatmp := a[i*lda+l : i*lda+u]\n\t\t\t\txtmp := x[off : off+u-l]\n\t\t\t\tvar sum float32\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\tsum += xtmp[j] * v\n\t\t\t\t}\n\t\t\t\ty[iy] += sum * alpha\n\t\t\t\tiy += incY\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < min(m, n+kL); i++ {\n\t\t\tl := max(0, kL-i)\n\t\t\tu := min(nCol, ld+kL-i)\n\t\t\toff := max(0, i-kL)\n\t\t\tatmp := a[i*lda+l : i*lda+u]\n\t\t\tjx := kx\n\t\t\tvar sum float32\n\t\t\tfor _, v := range atmp {\n\t\t\t\tsum += x[off*incX+jx] * v\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\ty[iy] += sum * alpha\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := 0; i < min(m, n+kL); i++ {\n\t\t\tl := max(0, kL-i)\n\t\t\tu := min(nCol, ld+kL-i)\n\t\t\toff := max(0, i-kL)\n\t\t\tatmp := a[i*lda+l : i*lda+u]\n\t\t\ttmp := alpha * x[i]\n\t\t\tjy := ky\n\t\t\tfor _, v := range atmp {\n\t\t\t\ty[jy+off*incY] += tmp * v\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < min(m, n+kL); i++ {\n\t\tl := max(0, kL-i)\n\t\tu := min(nCol, ld+kL-i)\n\t\toff := max(0, i-kL)\n\t\tatmp := a[i*lda+l : i*lda+u]\n\t\ttmp := alpha * x[ix]\n\t\tjy := ky\n\t\tfor _, v := range atmp {\n\t\t\ty[jy+off*incY] += tmp * v\n\t\t\tjy += incY\n\t\t}\n\t\tix += incX\n\t}\n}\n\n// Strmv computes\n//  x = A * x if tA == blas.NoTrans\n//  x = A^T * x if tA == blas.Trans or blas.ConjTrans\n// A is an n×n Triangular matrix and x is a vector.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Strmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, a []float32, lda int, x []float32, incX int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif lda < n {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif lda*(n-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tnonUnit := d != blas.Unit\n\tif n == 1 {\n\t\tif nonUnit {\n\t\t\tx[0] *= a[0]\n\t\t}\n\t\treturn\n\t}\n\tvar kx int\n\tif incX <= 0 {\n\t\tkx = -(n - 1) * incX\n\t}\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tilda := i * lda\n\t\t\t\t\tvar tmp float32\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\ttmp = a[ilda+i] * x[i]\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttmp = x[i]\n\t\t\t\t\t}\n\t\t\t\t\txtmp := x[i+1:]\n\t\t\t\t\tx[i] = tmp + f32.DotUnitary(a[ilda+i+1:ilda+n], xtmp)\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tix := kx\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tilda := i * lda\n\t\t\t\tvar tmp float32\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp = a[ilda+i] * x[ix]\n\t\t\t\t} else {\n\t\t\t\t\ttmp = x[ix]\n\t\t\t\t}\n\t\t\t\tx[ix] = tmp + f32.DotInc(x, a[ilda+i+1:ilda+n], uintptr(n-i-1), uintptr(incX), 1, uintptr(ix+incX), 0)\n\t\t\t\tix += incX\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif incX == 1 {\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tilda := i * lda\n\t\t\t\tvar tmp float32\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp += a[ilda+i] * x[i]\n\t\t\t\t} else {\n\t\t\t\t\ttmp = x[i]\n\t\t\t\t}\n\t\t\t\tx[i] = tmp + f32.DotUnitary(a[ilda:ilda+i], x)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx + (n-1)*incX\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tilda := i * lda\n\t\t\tvar tmp float32\n\t\t\tif nonUnit {\n\t\t\t\ttmp = a[ilda+i] * x[ix]\n\t\t\t} else {\n\t\t\t\ttmp = x[ix]\n\t\t\t}\n\t\t\tx[ix] = tmp + f32.DotInc(x, a[ilda:ilda+i], uintptr(i), uintptr(incX), 1, uintptr(kx), 0)\n\t\t\tix -= incX\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tilda := i * lda\n\t\t\t\txi := x[i]\n\t\t\t\tf32.AxpyUnitary(xi, a[ilda+i+1:ilda+n], x[i+1:n])\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] *= a[ilda+i]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx + (n-1)*incX\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tilda := i * lda\n\t\t\txi := x[ix]\n\t\t\tf32.AxpyInc(xi, a[ilda+i+1:ilda+n], x, uintptr(n-i-1), 1, uintptr(incX), 0, uintptr(kx+(i+1)*incX))\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] *= a[ilda+i]\n\t\t\t}\n\t\t\tix -= incX\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tilda := i * lda\n\t\t\txi := x[i]\n\t\t\tf32.AxpyUnitary(xi, a[ilda:ilda+i], x)\n\t\t\tif nonUnit {\n\t\t\t\tx[i] *= a[i*lda+i]\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < n; i++ {\n\t\tilda := i * lda\n\t\txi := x[ix]\n\t\tf32.AxpyInc(xi, a[ilda:ilda+i], x, uintptr(i), 1, uintptr(incX), 0, uintptr(kx))\n\t\tif nonUnit {\n\t\t\tx[ix] *= a[ilda+i]\n\t\t}\n\t\tix += incX\n\t}\n}\n\n// Strsv solves\n//  A * x = b if tA == blas.NoTrans\n//  A^T * x = b if tA == blas.Trans or blas.ConjTrans\n// A is an n×n triangular matrix and x is a vector.\n// At entry to the function, x contains the values of b, and the result is\n// stored in place into x.\n//\n// No test for singularity or near-singularity is included in this\n// routine. Such tests must be performed before calling this routine.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Strsv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, a []float32, lda int, x []float32, incX int) {\n\t// Test the input parameters\n\t// Verify inputs\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif lda*(n-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\t// Quick return if possible\n\tif n == 0 {\n\t\treturn\n\t}\n\tif n == 1 {\n\t\tif d == blas.NonUnit {\n\t\t\tx[0] /= a[0]\n\t\t}\n\t\treturn\n\t}\n\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = -(n - 1) * incX\n\t}\n\tnonUnit := d == blas.NonUnit\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\t\tvar sum float32\n\t\t\t\t\tatmp := a[i*lda+i+1 : i*lda+n]\n\t\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\t\tjv := i + j + 1\n\t\t\t\t\t\tsum += x[jv] * v\n\t\t\t\t\t}\n\t\t\t\t\tx[i] -= sum\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\tx[i] /= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tix := kx + (n-1)*incX\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tvar sum float32\n\t\t\t\tjx := ix + incX\n\t\t\t\tatmp := a[i*lda+i+1 : i*lda+n]\n\t\t\t\tfor _, v := range atmp {\n\t\t\t\t\tsum += x[jx] * v\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t\tx[ix] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[ix] /= a[i*lda+i]\n\t\t\t\t}\n\t\t\t\tix -= incX\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tvar sum float32\n\t\t\t\tatmp := a[i*lda : i*lda+i]\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\tsum += x[j] * v\n\t\t\t\t}\n\t\t\t\tx[i] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] /= a[i*lda+i]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tjx := kx\n\t\t\tvar sum float32\n\t\t\tatmp := a[i*lda : i*lda+i]\n\t\t\tfor _, v := range atmp {\n\t\t\t\tsum += x[jx] * v\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tx[ix] -= sum\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] /= a[i*lda+i]\n\t\t\t}\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] /= a[i*lda+i]\n\t\t\t\t}\n\t\t\t\txi := x[i]\n\t\t\t\tatmp := a[i*lda+i+1 : i*lda+n]\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\tjv := j + i + 1\n\t\t\t\t\tx[jv] -= v * xi\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] /= a[i*lda+i]\n\t\t\t}\n\t\t\txi := x[ix]\n\t\t\tjx := kx + (i+1)*incX\n\t\t\tatmp := a[i*lda+i+1 : i*lda+n]\n\t\t\tfor _, v := range atmp {\n\t\t\t\tx[jx] -= v * xi\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tif nonUnit {\n\t\t\t\tx[i] /= a[i*lda+i]\n\t\t\t}\n\t\t\txi := x[i]\n\t\t\tatmp := a[i*lda : i*lda+i]\n\t\t\tfor j, v := range atmp {\n\t\t\t\tx[j] -= v * xi\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx + (n-1)*incX\n\tfor i := n - 1; i >= 0; i-- {\n\t\tif nonUnit {\n\t\t\tx[ix] /= a[i*lda+i]\n\t\t}\n\t\txi := x[ix]\n\t\tjx := kx\n\t\tatmp := a[i*lda : i*lda+i]\n\t\tfor _, v := range atmp {\n\t\t\tx[jx] -= v * xi\n\t\t\tjx += incX\n\t\t}\n\t\tix -= incX\n\t}\n}\n\n// Ssymv computes\n//    y = alpha * A * x + beta * y,\n// where a is an n×n symmetric matrix, x and y are vectors, and alpha and\n// beta are scalars.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Ssymv(ul blas.Uplo, n int, alpha float32, a []float32, lda int, x []float32, incX int, beta float32, y []float32, incY int) {\n\t// Check inputs\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(negativeN)\n\t}\n\tif lda > 1 && lda < n {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif lda*(n-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\t// Quick return if possible\n\tif n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\t// Set up start points\n\tvar kx, ky int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(n - 1) * incX\n\t}\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(n - 1) * incY\n\t}\n\n\t// Form y = beta * y\n\tif beta != 1 {\n\t\tif incY > 0 {\n\t\t\tImplementation{}.Sscal(n, beta, y, incY)\n\t\t} else {\n\t\t\tImplementation{}.Sscal(n, beta, y, -incY)\n\t\t}\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\tif n == 1 {\n\t\ty[0] += alpha * a[0] * x[0]\n\t\treturn\n\t}\n\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tiy := ky\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\txv := x[i] * alpha\n\t\t\t\tsum := x[i] * a[i*lda+i]\n\t\t\t\tjy := ky + (i+1)*incY\n\t\t\t\tatmp := a[i*lda+i+1 : i*lda+n]\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\tjp := j + i + 1\n\t\t\t\t\tsum += x[jp] * v\n\t\t\t\t\ty[jy] += xv * v\n\t\t\t\t\tjy += incY\n\t\t\t\t}\n\t\t\t\ty[iy] += alpha * sum\n\t\t\t\tiy += incY\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\txv := x[ix] * alpha\n\t\t\tsum := x[ix] * a[i*lda+i]\n\t\t\tjx := kx + (i+1)*incX\n\t\t\tjy := ky + (i+1)*incY\n\t\t\tatmp := a[i*lda+i+1 : i*lda+n]\n\t\t\tfor _, v := range atmp {\n\t\t\t\tsum += x[jx] * v\n\t\t\t\ty[jy] += xv * v\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\ty[iy] += alpha * sum\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is lower triangular.\n\tif incX == 1 {\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\tjy := ky\n\t\t\txv := alpha * x[i]\n\t\t\tatmp := a[i*lda : i*lda+i]\n\t\t\tvar sum float32\n\t\t\tfor j, v := range atmp {\n\t\t\t\tsum += x[j] * v\n\t\t\t\ty[jy] += xv * v\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\tsum += x[i] * a[i*lda+i]\n\t\t\tsum *= alpha\n\t\t\ty[iy] += sum\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tiy := ky\n\tfor i := 0; i < n; i++ {\n\t\tjx := kx\n\t\tjy := ky\n\t\txv := alpha * x[ix]\n\t\tatmp := a[i*lda : i*lda+i]\n\t\tvar sum float32\n\t\tfor _, v := range atmp {\n\t\t\tsum += x[jx] * v\n\t\t\ty[jy] += xv * v\n\t\t\tjx += incX\n\t\t\tjy += incY\n\t\t}\n\t\tsum += x[ix] * a[i*lda+i]\n\t\tsum *= alpha\n\t\ty[iy] += sum\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Stbmv computes\n//  x = A * x if tA == blas.NoTrans\n//  x = A^T * x if tA == blas.Trans or blas.ConjTrans\n// where A is an n×n triangular banded matrix with k diagonals, and x is a vector.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Stbmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n, k int, a []float32, lda int, x []float32, incX int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif k < 0 {\n\t\tpanic(kLT0)\n\t}\n\tif lda*(n-1)+k+1 > len(a) || lda < k+1 {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tvar kx int\n\tif incX <= 0 {\n\t\tkx = -(n - 1) * incX\n\t} else if incX != 1 {\n\t\tkx = 0\n\t}\n\n\tnonunit := d != blas.Unit\n\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tu := min(1+k, n-i)\n\t\t\t\t\tvar sum float32\n\t\t\t\t\tatmp := a[i*lda:]\n\t\t\t\t\txtmp := x[i:]\n\t\t\t\t\tfor j := 1; j < u; j++ {\n\t\t\t\t\t\tsum += xtmp[j] * atmp[j]\n\t\t\t\t\t}\n\t\t\t\t\tif nonunit {\n\t\t\t\t\t\tsum += xtmp[0] * atmp[0]\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsum += xtmp[0]\n\t\t\t\t\t}\n\t\t\t\t\tx[i] = sum\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tix := kx\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tu := min(1+k, n-i)\n\t\t\t\tvar sum float32\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\tjx := incX\n\t\t\t\tfor j := 1; j < u; j++ {\n\t\t\t\t\tsum += x[ix+jx] * atmp[j]\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t\tif nonunit {\n\t\t\t\t\tsum += x[ix] * atmp[0]\n\t\t\t\t} else {\n\t\t\t\t\tsum += x[ix]\n\t\t\t\t}\n\t\t\t\tx[ix] = sum\n\t\t\t\tix += incX\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif incX == 1 {\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tl := max(0, k-i)\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\tvar sum float32\n\t\t\t\tfor j := l; j < k; j++ {\n\t\t\t\t\tsum += x[i-k+j] * atmp[j]\n\t\t\t\t}\n\t\t\t\tif nonunit {\n\t\t\t\t\tsum += x[i] * atmp[k]\n\t\t\t\t} else {\n\t\t\t\t\tsum += x[i]\n\t\t\t\t}\n\t\t\t\tx[i] = sum\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx + (n-1)*incX\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tl := max(0, k-i)\n\t\t\tatmp := a[i*lda:]\n\t\t\tvar sum float32\n\t\t\tjx := l * incX\n\t\t\tfor j := l; j < k; j++ {\n\t\t\t\tsum += x[ix-k*incX+jx] * atmp[j]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tif nonunit {\n\t\t\t\tsum += x[ix] * atmp[k]\n\t\t\t} else {\n\t\t\t\tsum += x[ix]\n\t\t\t}\n\t\t\tx[ix] = sum\n\t\t\tix -= incX\n\t\t}\n\t\treturn\n\t}\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tu := k + 1\n\t\t\t\tif i < u {\n\t\t\t\t\tu = i + 1\n\t\t\t\t}\n\t\t\t\tvar sum float32\n\t\t\t\tfor j := 1; j < u; j++ {\n\t\t\t\t\tsum += x[i-j] * a[(i-j)*lda+j]\n\t\t\t\t}\n\t\t\t\tif nonunit {\n\t\t\t\t\tsum += x[i] * a[i*lda]\n\t\t\t\t} else {\n\t\t\t\t\tsum += x[i]\n\t\t\t\t}\n\t\t\t\tx[i] = sum\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx + (n-1)*incX\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tu := k + 1\n\t\t\tif i < u {\n\t\t\t\tu = i + 1\n\t\t\t}\n\t\t\tvar sum float32\n\t\t\tjx := incX\n\t\t\tfor j := 1; j < u; j++ {\n\t\t\t\tsum += x[ix-jx] * a[(i-j)*lda+j]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tif nonunit {\n\t\t\t\tsum += x[ix] * a[i*lda]\n\t\t\t} else {\n\t\t\t\tsum += x[ix]\n\t\t\t}\n\t\t\tx[ix] = sum\n\t\t\tix -= incX\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tu := k\n\t\t\tif i+k >= n {\n\t\t\t\tu = n - i - 1\n\t\t\t}\n\t\t\tvar sum float32\n\t\t\tfor j := 0; j < u; j++ {\n\t\t\t\tsum += x[i+j+1] * a[(i+j+1)*lda+k-j-1]\n\t\t\t}\n\t\t\tif nonunit {\n\t\t\t\tsum += x[i] * a[i*lda+k]\n\t\t\t} else {\n\t\t\t\tsum += x[i]\n\t\t\t}\n\t\t\tx[i] = sum\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < n; i++ {\n\t\tu := k\n\t\tif i+k >= n {\n\t\t\tu = n - i - 1\n\t\t}\n\t\tvar (\n\t\t\tsum float32\n\t\t\tjx  int\n\t\t)\n\t\tfor j := 0; j < u; j++ {\n\t\t\tsum += x[ix+jx+incX] * a[(i+j+1)*lda+k-j-1]\n\t\t\tjx += incX\n\t\t}\n\t\tif nonunit {\n\t\t\tsum += x[ix] * a[i*lda+k]\n\t\t} else {\n\t\t\tsum += x[ix]\n\t\t}\n\t\tx[ix] = sum\n\t\tix += incX\n\t}\n}\n\n// Stpmv computes\n//  x = A * x if tA == blas.NoTrans\n//  x = A^T * x if tA == blas.Trans or blas.ConjTrans\n// where A is an n×n unit triangular matrix in packed format, and x is a vector.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Stpmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, ap []float32, x []float32, incX int) {\n\t// Verify inputs\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif len(ap) < (n*(n+1))/2 {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tvar kx int\n\tif incX <= 0 {\n\t\tkx = -(n - 1) * incX\n\t}\n\n\tnonUnit := d == blas.NonUnit\n\tvar offset int // Offset is the index of (i,i)\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\txi := x[i]\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\txi *= ap[offset]\n\t\t\t\t\t}\n\t\t\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\t\t\txtmp := x[i+1:]\n\t\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\t\txi += v * xtmp[j]\n\t\t\t\t\t}\n\t\t\t\t\tx[i] = xi\n\t\t\t\t\toffset += n - i\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tix := kx\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\txix := x[ix]\n\t\t\t\tif nonUnit {\n\t\t\t\t\txix *= ap[offset]\n\t\t\t\t}\n\t\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\t\tjx := kx + (i+1)*incX\n\t\t\t\tfor _, v := range atmp {\n\t\t\t\t\txix += v * x[jx]\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t\tx[ix] = xix\n\t\t\t\toffset += n - i\n\t\t\t\tix += incX\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif incX == 1 {\n\t\t\toffset = n*(n+1)/2 - 1\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\txi := x[i]\n\t\t\t\tif nonUnit {\n\t\t\t\t\txi *= ap[offset]\n\t\t\t\t}\n\t\t\t\tatmp := ap[offset-i : offset]\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\txi += v * x[j]\n\t\t\t\t}\n\t\t\t\tx[i] = xi\n\t\t\t\toffset -= i + 1\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx + (n-1)*incX\n\t\toffset = n*(n+1)/2 - 1\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\txix := x[ix]\n\t\t\tif nonUnit {\n\t\t\t\txix *= ap[offset]\n\t\t\t}\n\t\t\tatmp := ap[offset-i : offset]\n\t\t\tjx := kx\n\t\t\tfor _, v := range atmp {\n\t\t\t\txix += v * x[jx]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tx[ix] = xix\n\t\t\toffset -= i + 1\n\t\t\tix -= incX\n\t\t}\n\t\treturn\n\t}\n\t// Cases where ap is transposed.\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\toffset = n*(n+1)/2 - 1\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\txi := x[i]\n\t\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\t\txtmp := x[i+1:]\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\txtmp[j] += v * xi\n\t\t\t\t}\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] *= ap[offset]\n\t\t\t\t}\n\t\t\t\toffset -= n - i + 1\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx + (n-1)*incX\n\t\toffset = n*(n+1)/2 - 1\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\txix := x[ix]\n\t\t\tjx := kx + (i+1)*incX\n\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\tfor _, v := range atmp {\n\t\t\t\tx[jx] += v * xix\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] *= ap[offset]\n\t\t\t}\n\t\t\toffset -= n - i + 1\n\t\t\tix -= incX\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\txi := x[i]\n\t\t\tatmp := ap[offset-i : offset]\n\t\t\tfor j, v := range atmp {\n\t\t\t\tx[j] += v * xi\n\t\t\t}\n\t\t\tif nonUnit {\n\t\t\t\tx[i] *= ap[offset]\n\t\t\t}\n\t\t\toffset += i + 2\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < n; i++ {\n\t\txix := x[ix]\n\t\tjx := kx\n\t\tatmp := ap[offset-i : offset]\n\t\tfor _, v := range atmp {\n\t\t\tx[jx] += v * xix\n\t\t\tjx += incX\n\t\t}\n\t\tif nonUnit {\n\t\t\tx[ix] *= ap[offset]\n\t\t}\n\t\tix += incX\n\t\toffset += i + 2\n\t}\n}\n\n// Stbsv solves\n//  A * x = b\n// where A is an n×n triangular banded matrix with k diagonals in packed format,\n// and x is a vector.\n// At entry to the function, x contains the values of b, and the result is\n// stored in place into x.\n//\n// No test for singularity or near-singularity is included in this\n// routine. Such tests must be performed before calling this routine.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Stbsv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n, k int, a []float32, lda int, x []float32, incX int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif lda*(n-1)+k+1 > len(a) || lda < k+1 {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tvar kx int\n\tif incX < 0 {\n\t\tkx = -(n - 1) * incX\n\t} else {\n\t\tkx = 0\n\t}\n\tnonUnit := d == blas.NonUnit\n\t// Form x = A^-1 x.\n\t// Several cases below use subslices for speed improvement.\n\t// The incX != 1 cases usually do not because incX may be negative.\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\t\tbands := k\n\t\t\t\t\tif i+bands >= n {\n\t\t\t\t\t\tbands = n - i - 1\n\t\t\t\t\t}\n\t\t\t\t\tatmp := a[i*lda+1:]\n\t\t\t\t\txtmp := x[i+1 : i+bands+1]\n\t\t\t\t\tvar sum float32\n\t\t\t\t\tfor j, v := range xtmp {\n\t\t\t\t\t\tsum += v * atmp[j]\n\t\t\t\t\t}\n\t\t\t\t\tx[i] -= sum\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\tx[i] /= a[i*lda]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tix := kx + (n-1)*incX\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tmax := k + 1\n\t\t\t\tif i+max > n {\n\t\t\t\t\tmax = n - i\n\t\t\t\t}\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\tvar (\n\t\t\t\t\tjx  int\n\t\t\t\t\tsum float32\n\t\t\t\t)\n\t\t\t\tfor j := 1; j < max; j++ {\n\t\t\t\t\tjx += incX\n\t\t\t\t\tsum += x[ix+jx] * atmp[j]\n\t\t\t\t}\n\t\t\t\tx[ix] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[ix] /= atmp[0]\n\t\t\t\t}\n\t\t\t\tix -= incX\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tbands := k\n\t\t\t\tif i-k < 0 {\n\t\t\t\t\tbands = i\n\t\t\t\t}\n\t\t\t\tatmp := a[i*lda+k-bands:]\n\t\t\t\txtmp := x[i-bands : i]\n\t\t\t\tvar sum float32\n\t\t\t\tfor j, v := range xtmp {\n\t\t\t\t\tsum += v * atmp[j]\n\t\t\t\t}\n\t\t\t\tx[i] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] /= atmp[bands]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tbands := k\n\t\t\tif i-k < 0 {\n\t\t\t\tbands = i\n\t\t\t}\n\t\t\tatmp := a[i*lda+k-bands:]\n\t\t\tvar (\n\t\t\t\tsum float32\n\t\t\t\tjx  int\n\t\t\t)\n\t\t\tfor j := 0; j < bands; j++ {\n\t\t\t\tsum += x[ix-bands*incX+jx] * atmp[j]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tx[ix] -= sum\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] /= atmp[bands]\n\t\t\t}\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tbands := k\n\t\t\t\tif i-k < 0 {\n\t\t\t\t\tbands = i\n\t\t\t\t}\n\t\t\t\tvar sum float32\n\t\t\t\tfor j := 0; j < bands; j++ {\n\t\t\t\t\tsum += x[i-bands+j] * a[(i-bands+j)*lda+bands-j]\n\t\t\t\t}\n\t\t\t\tx[i] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] /= a[i*lda]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tbands := k\n\t\t\tif i-k < 0 {\n\t\t\t\tbands = i\n\t\t\t}\n\t\t\tvar (\n\t\t\t\tsum float32\n\t\t\t\tjx  int\n\t\t\t)\n\t\t\tfor j := 0; j < bands; j++ {\n\t\t\t\tsum += x[ix-bands*incX+jx] * a[(i-bands+j)*lda+bands-j]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tx[ix] -= sum\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] /= a[i*lda]\n\t\t\t}\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tbands := k\n\t\t\tif i+bands >= n {\n\t\t\t\tbands = n - i - 1\n\t\t\t}\n\t\t\tvar sum float32\n\t\t\txtmp := x[i+1 : i+1+bands]\n\t\t\tfor j, v := range xtmp {\n\t\t\t\tsum += v * a[(i+j+1)*lda+k-j-1]\n\t\t\t}\n\t\t\tx[i] -= sum\n\t\t\tif nonUnit {\n\t\t\t\tx[i] /= a[i*lda+k]\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx + (n-1)*incX\n\tfor i := n - 1; i >= 0; i-- {\n\t\tbands := k\n\t\tif i+bands >= n {\n\t\t\tbands = n - i - 1\n\t\t}\n\t\tvar (\n\t\t\tsum float32\n\t\t\tjx  int\n\t\t)\n\t\tfor j := 0; j < bands; j++ {\n\t\t\tsum += x[ix+jx+incX] * a[(i+j+1)*lda+k-j-1]\n\t\t\tjx += incX\n\t\t}\n\t\tx[ix] -= sum\n\t\tif nonUnit {\n\t\t\tx[ix] /= a[i*lda+k]\n\t\t}\n\t\tix -= incX\n\t}\n}\n\n// Ssbmv performs\n//  y = alpha * A * x + beta * y\n// where A is an n×n symmetric banded matrix, x and y are vectors, and alpha\n// and beta are scalars.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Ssbmv(ul blas.Uplo, n, k int, alpha float32, a []float32, lda int, x []float32, incX int, beta float32, y []float32, incY int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif lda*(n-1)+k+1 > len(a) || lda < k+1 {\n\t\tpanic(badLdA)\n\t}\n\n\t// Quick return if possible\n\tif n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\t// Set up indexes\n\tlenX := n\n\tlenY := n\n\tvar kx, ky int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(lenX - 1) * incX\n\t}\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(lenY - 1) * incY\n\t}\n\n\t// First form y := beta * y\n\tif incY > 0 {\n\t\tImplementation{}.Sscal(lenY, beta, y, incY)\n\t} else {\n\t\tImplementation{}.Sscal(lenY, beta, y, -incY)\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tiy := ky\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\ttmp := alpha * x[i]\n\t\t\t\tsum := tmp * atmp[0]\n\t\t\t\tu := min(k, n-i-1)\n\t\t\t\tjy := incY\n\t\t\t\tfor j := 1; j <= u; j++ {\n\t\t\t\t\tv := atmp[j]\n\t\t\t\t\tsum += alpha * x[i+j] * v\n\t\t\t\t\ty[iy+jy] += tmp * v\n\t\t\t\t\tjy += incY\n\t\t\t\t}\n\t\t\t\ty[iy] += sum\n\t\t\t\tiy += incY\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\tatmp := a[i*lda:]\n\t\t\ttmp := alpha * x[ix]\n\t\t\tsum := tmp * atmp[0]\n\t\t\tu := min(k, n-i-1)\n\t\t\tjx := incX\n\t\t\tjy := incY\n\t\t\tfor j := 1; j <= u; j++ {\n\t\t\t\tv := atmp[j]\n\t\t\t\tsum += alpha * x[ix+jx] * v\n\t\t\t\ty[iy+jy] += tmp * v\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\ty[iy] += sum\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\n\t// Casses where a has bands below the diagonal.\n\tif incX == 1 {\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\tl := max(0, k-i)\n\t\t\ttmp := alpha * x[i]\n\t\t\tjy := l * incY\n\t\t\tatmp := a[i*lda:]\n\t\t\tfor j := l; j < k; j++ {\n\t\t\t\tv := atmp[j]\n\t\t\t\ty[iy] += alpha * v * x[i-k+j]\n\t\t\t\ty[iy-k*incY+jy] += tmp * v\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\ty[iy] += tmp * atmp[k]\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tiy := ky\n\tfor i := 0; i < n; i++ {\n\t\tl := max(0, k-i)\n\t\ttmp := alpha * x[ix]\n\t\tjx := l * incX\n\t\tjy := l * incY\n\t\tatmp := a[i*lda:]\n\t\tfor j := l; j < k; j++ {\n\t\t\tv := atmp[j]\n\t\t\ty[iy] += alpha * v * x[ix-k*incX+jx]\n\t\t\ty[iy-k*incY+jy] += tmp * v\n\t\t\tjx += incX\n\t\t\tjy += incY\n\t\t}\n\t\ty[iy] += tmp * atmp[k]\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Ssyr performs the rank-one update\n//  a += alpha * x * x^T\n// where a is an n×n symmetric matrix, and x is a vector.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Ssyr(ul blas.Uplo, n int, alpha float32, x []float32, incX int, a []float32, lda int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif lda*(n-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\tif alpha == 0 || n == 0 {\n\t\treturn\n\t}\n\n\tlenX := n\n\tvar kx int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(lenX - 1) * incX\n\t}\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\ttmp := x[i] * alpha\n\t\t\t\tif tmp != 0 {\n\t\t\t\t\tatmp := a[i*lda+i : i*lda+n]\n\t\t\t\t\txtmp := x[i:n]\n\t\t\t\t\tfor j, v := range xtmp {\n\t\t\t\t\t\tatmp[j] += v * tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\ttmp := x[ix] * alpha\n\t\t\tif tmp != 0 {\n\t\t\t\tjx := ix\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\tfor j := i; j < n; j++ {\n\t\t\t\t\tatmp[j] += x[jx] * tmp\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t}\n\t\t\tix += incX\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is lower triangular.\n\tif incX == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\ttmp := x[i] * alpha\n\t\t\tif tmp != 0 {\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\txtmp := x[:i+1]\n\t\t\t\tfor j, v := range xtmp {\n\t\t\t\t\tatmp[j] += tmp * v\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < n; i++ {\n\t\ttmp := x[ix] * alpha\n\t\tif tmp != 0 {\n\t\t\tatmp := a[i*lda:]\n\t\t\tjx := kx\n\t\t\tfor j := 0; j < i+1; j++ {\n\t\t\t\tatmp[j] += tmp * x[jx]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t}\n\t\tix += incX\n\t}\n}\n\n// Ssyr2 performs the symmetric rank-two update\n//  A += alpha * x * y^T + alpha * y * x^T\n// where A is a symmetric n×n matrix, x and y are vectors, and alpha is a scalar.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Ssyr2(ul blas.Uplo, n int, alpha float32, x []float32, incX int, y []float32, incY int, a []float32, lda int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif lda*(n-1)+n > len(a) || lda < max(1, n) {\n\t\tpanic(badLdA)\n\t}\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\tvar ky, kx int\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(n - 1) * incY\n\t}\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(n - 1) * incX\n\t}\n\tif ul == blas.Upper {\n\t\tif incX == 1 && incY == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\txi := x[i]\n\t\t\t\tyi := y[i]\n\t\t\t\tatmp := a[i*lda:]\n\t\t\t\tfor j := i; j < n; j++ {\n\t\t\t\t\tatmp[j] += alpha * (xi*y[j] + x[j]*yi)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\tjx := kx + i*incX\n\t\t\tjy := ky + i*incY\n\t\t\txi := x[ix]\n\t\t\tyi := y[iy]\n\t\t\tatmp := a[i*lda:]\n\t\t\tfor j := i; j < n; j++ {\n\t\t\t\tatmp[j] += alpha * (xi*y[jy] + x[jx]*yi)\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\txi := x[i]\n\t\t\tyi := y[i]\n\t\t\tatmp := a[i*lda:]\n\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\tatmp[j] += alpha * (xi*y[j] + x[j]*yi)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tiy := ky\n\tfor i := 0; i < n; i++ {\n\t\tjx := kx\n\t\tjy := ky\n\t\txi := x[ix]\n\t\tyi := y[iy]\n\t\tatmp := a[i*lda:]\n\t\tfor j := 0; j <= i; j++ {\n\t\t\tatmp[j] += alpha * (xi*y[jy] + x[jx]*yi)\n\t\t\tjx += incX\n\t\t\tjy += incY\n\t\t}\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// Stpsv solves\n//  A * x = b if tA == blas.NoTrans\n//  A^T * x = b if tA == blas.Trans or blas.ConjTrans\n// where A is an n×n triangular matrix in packed format and x is a vector.\n// At entry to the function, x contains the values of b, and the result is\n// stored in place into x.\n//\n// No test for singularity or near-singularity is included in this\n// routine. Such tests must be performed before calling this routine.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Stpsv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, ap []float32, x []float32, incX int) {\n\t// Verify inputs\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif len(ap) < (n*(n+1))/2 {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tvar kx int\n\tif incX <= 0 {\n\t\tkx = -(n - 1) * incX\n\t}\n\n\tnonUnit := d == blas.NonUnit\n\tvar offset int // Offset is the index of (i,i)\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\toffset = n*(n+1)/2 - 1\n\t\t\tif incX == 1 {\n\t\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\t\t\txtmp := x[i+1:]\n\t\t\t\t\tvar sum float32\n\t\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\t\tsum += v * xtmp[j]\n\t\t\t\t\t}\n\t\t\t\t\tx[i] -= sum\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\tx[i] /= ap[offset]\n\t\t\t\t\t}\n\t\t\t\t\toffset -= n - i + 1\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tix := kx + (n-1)*incX\n\t\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\t\tjx := kx + (i+1)*incX\n\t\t\t\tvar sum float32\n\t\t\t\tfor _, v := range atmp {\n\t\t\t\t\tsum += v * x[jx]\n\t\t\t\t\tjx += incX\n\t\t\t\t}\n\t\t\t\tx[ix] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[ix] /= ap[offset]\n\t\t\t\t}\n\t\t\t\tix -= incX\n\t\t\t\toffset -= n - i + 1\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tatmp := ap[offset-i : offset]\n\t\t\t\tvar sum float32\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\tsum += v * x[j]\n\t\t\t\t}\n\t\t\t\tx[i] -= sum\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] /= ap[offset]\n\t\t\t\t}\n\t\t\t\toffset += i + 2\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tjx := kx\n\t\t\tatmp := ap[offset-i : offset]\n\t\t\tvar sum float32\n\t\t\tfor _, v := range atmp {\n\t\t\t\tsum += v * x[jx]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tx[ix] -= sum\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] /= ap[offset]\n\t\t\t}\n\t\t\tix += incX\n\t\t\toffset += i + 2\n\t\t}\n\t\treturn\n\t}\n\t// Cases where ap is transposed.\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tif nonUnit {\n\t\t\t\t\tx[i] /= ap[offset]\n\t\t\t\t}\n\t\t\t\txi := x[i]\n\t\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\t\txtmp := x[i+1:]\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\txtmp[j] -= v * xi\n\t\t\t\t}\n\t\t\t\toffset += n - i\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif nonUnit {\n\t\t\t\tx[ix] /= ap[offset]\n\t\t\t}\n\t\t\txix := x[ix]\n\t\t\tatmp := ap[offset+1 : offset+n-i]\n\t\t\tjx := kx + (i+1)*incX\n\t\t\tfor _, v := range atmp {\n\t\t\t\tx[jx] -= v * xix\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tix += incX\n\t\t\toffset += n - i\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\toffset = n*(n+1)/2 - 1\n\t\tfor i := n - 1; i >= 0; i-- {\n\t\t\tif nonUnit {\n\t\t\t\tx[i] /= ap[offset]\n\t\t\t}\n\t\t\txi := x[i]\n\t\t\tatmp := ap[offset-i : offset]\n\t\t\tfor j, v := range atmp {\n\t\t\t\tx[j] -= v * xi\n\t\t\t}\n\t\t\toffset -= i + 1\n\t\t}\n\t\treturn\n\t}\n\tix := kx + (n-1)*incX\n\toffset = n*(n+1)/2 - 1\n\tfor i := n - 1; i >= 0; i-- {\n\t\tif nonUnit {\n\t\t\tx[ix] /= ap[offset]\n\t\t}\n\t\txix := x[ix]\n\t\tatmp := ap[offset-i : offset]\n\t\tjx := kx\n\t\tfor _, v := range atmp {\n\t\t\tx[jx] -= v * xix\n\t\t\tjx += incX\n\t\t}\n\t\tix -= incX\n\t\toffset -= i + 1\n\t}\n}\n\n// Sspmv performs\n//    y = alpha * A * x + beta * y,\n// where A is an n×n symmetric matrix in packed format, x and y are vectors\n// and alpha and beta are scalars.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Sspmv(ul blas.Uplo, n int, alpha float32, a []float32, x []float32, incX int, beta float32, y []float32, incY int) {\n\t// Verify inputs\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif len(a) < (n*(n+1))/2 {\n\t\tpanic(badLdA)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\t// Quick return if possible\n\tif n == 0 || (alpha == 0 && beta == 1) {\n\t\treturn\n\t}\n\n\t// Set up start points\n\tvar kx, ky int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(n - 1) * incX\n\t}\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(n - 1) * incY\n\t}\n\n\t// Form y = beta * y\n\tif beta != 1 {\n\t\tif incY > 0 {\n\t\t\tImplementation{}.Sscal(n, beta, y, incY)\n\t\t} else {\n\t\t\tImplementation{}.Sscal(n, beta, y, -incY)\n\t\t}\n\t}\n\n\tif alpha == 0 {\n\t\treturn\n\t}\n\n\tif n == 1 {\n\t\ty[0] += alpha * a[0] * x[0]\n\t\treturn\n\t}\n\tvar offset int // Offset is the index of (i,i).\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tiy := ky\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\txv := x[i] * alpha\n\t\t\t\tsum := a[offset] * x[i]\n\t\t\t\tatmp := a[offset+1 : offset+n-i]\n\t\t\t\txtmp := x[i+1:]\n\t\t\t\tjy := ky + (i+1)*incY\n\t\t\t\tfor j, v := range atmp {\n\t\t\t\t\tsum += v * xtmp[j]\n\t\t\t\t\ty[jy] += v * xv\n\t\t\t\t\tjy += incY\n\t\t\t\t}\n\t\t\t\ty[iy] += alpha * sum\n\t\t\t\tiy += incY\n\t\t\t\toffset += n - i\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\txv := x[ix] * alpha\n\t\t\tsum := a[offset] * x[ix]\n\t\t\tatmp := a[offset+1 : offset+n-i]\n\t\t\tjx := kx + (i+1)*incX\n\t\t\tjy := ky + (i+1)*incY\n\t\t\tfor _, v := range atmp {\n\t\t\t\tsum += v * x[jx]\n\t\t\t\ty[jy] += v * xv\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\ty[iy] += alpha * sum\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t\toffset += n - i\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\txv := x[i] * alpha\n\t\t\tatmp := a[offset-i : offset]\n\t\t\tjy := ky\n\t\t\tvar sum float32\n\t\t\tfor j, v := range atmp {\n\t\t\t\tsum += v * x[j]\n\t\t\t\ty[jy] += v * xv\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\tsum += a[offset] * x[i]\n\t\t\ty[iy] += alpha * sum\n\t\t\tiy += incY\n\t\t\toffset += i + 2\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tiy := ky\n\tfor i := 0; i < n; i++ {\n\t\txv := x[ix] * alpha\n\t\tatmp := a[offset-i : offset]\n\t\tjx := kx\n\t\tjy := ky\n\t\tvar sum float32\n\t\tfor _, v := range atmp {\n\t\t\tsum += v * x[jx]\n\t\t\ty[jy] += v * xv\n\t\t\tjx += incX\n\t\t\tjy += incY\n\t\t}\n\n\t\tsum += a[offset] * x[ix]\n\t\ty[iy] += alpha * sum\n\t\tix += incX\n\t\tiy += incY\n\t\toffset += i + 2\n\t}\n}\n\n// Sspr computes the rank-one operation\n//  a += alpha * x * x^T\n// where a is an n×n symmetric matrix in packed format, x is a vector, and\n// alpha is a scalar.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Sspr(ul blas.Uplo, n int, alpha float32, x []float32, incX int, a []float32) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif len(a) < (n*(n+1))/2 {\n\t\tpanic(badLdA)\n\t}\n\tif alpha == 0 || n == 0 {\n\t\treturn\n\t}\n\tlenX := n\n\tvar kx int\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(lenX - 1) * incX\n\t}\n\tvar offset int // Offset is the index of (i,i).\n\tif ul == blas.Upper {\n\t\tif incX == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tatmp := a[offset:]\n\t\t\t\txv := alpha * x[i]\n\t\t\t\txtmp := x[i:n]\n\t\t\t\tfor j, v := range xtmp {\n\t\t\t\t\tatmp[j] += xv * v\n\t\t\t\t}\n\t\t\t\toffset += n - i\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tfor i := 0; i < n; i++ {\n\t\t\tjx := kx + i*incX\n\t\t\tatmp := a[offset:]\n\t\t\txv := alpha * x[ix]\n\t\t\tfor j := 0; j < n-i; j++ {\n\t\t\t\tatmp[j] += xv * x[jx]\n\t\t\t\tjx += incX\n\t\t\t}\n\t\t\tix += incX\n\t\t\toffset += n - i\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tatmp := a[offset-i:]\n\t\t\txv := alpha * x[i]\n\t\t\txtmp := x[:i+1]\n\t\t\tfor j, v := range xtmp {\n\t\t\t\tatmp[j] += xv * v\n\t\t\t}\n\t\t\toffset += i + 2\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tfor i := 0; i < n; i++ {\n\t\tjx := kx\n\t\tatmp := a[offset-i:]\n\t\txv := alpha * x[ix]\n\t\tfor j := 0; j <= i; j++ {\n\t\t\tatmp[j] += xv * x[jx]\n\t\t\tjx += incX\n\t\t}\n\t\tix += incX\n\t\toffset += i + 2\n\t}\n}\n\n// Sspr2 performs the symmetric rank-2 update\n//  A += alpha * x * y^T + alpha * y * x^T,\n// where A is an n×n symmetric matrix in packed format, x and y are vectors,\n// and alpha is a scalar.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Sspr2(ul blas.Uplo, n int, alpha float32, x []float32, incX int, y []float32, incY int, ap []float32) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif incX == 0 {\n\t\tpanic(zeroIncX)\n\t}\n\tif incY == 0 {\n\t\tpanic(zeroIncY)\n\t}\n\tif (incX > 0 && (n-1)*incX >= len(x)) || (incX < 0 && (1-n)*incX >= len(x)) {\n\t\tpanic(badX)\n\t}\n\tif (incY > 0 && (n-1)*incY >= len(y)) || (incY < 0 && (1-n)*incY >= len(y)) {\n\t\tpanic(badY)\n\t}\n\tif len(ap) < (n*(n+1))/2 {\n\t\tpanic(badLdA)\n\t}\n\tif alpha == 0 {\n\t\treturn\n\t}\n\tvar ky, kx int\n\tif incY > 0 {\n\t\tky = 0\n\t} else {\n\t\tky = -(n - 1) * incY\n\t}\n\tif incX > 0 {\n\t\tkx = 0\n\t} else {\n\t\tkx = -(n - 1) * incX\n\t}\n\tvar offset int // Offset is the index of (i,i).\n\tif ul == blas.Upper {\n\t\tif incX == 1 && incY == 1 {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tatmp := ap[offset:]\n\t\t\t\txi := x[i]\n\t\t\t\tyi := y[i]\n\t\t\t\txtmp := x[i:n]\n\t\t\t\tytmp := y[i:n]\n\t\t\t\tfor j, v := range xtmp {\n\t\t\t\t\tatmp[j] += alpha * (xi*ytmp[j] + v*yi)\n\t\t\t\t}\n\t\t\t\toffset += n - i\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tix := kx\n\t\tiy := ky\n\t\tfor i := 0; i < n; i++ {\n\t\t\tjx := kx + i*incX\n\t\t\tjy := ky + i*incY\n\t\t\tatmp := ap[offset:]\n\t\t\txi := x[ix]\n\t\t\tyi := y[iy]\n\t\t\tfor j := 0; j < n-i; j++ {\n\t\t\t\tatmp[j] += alpha * (xi*y[jy] + x[jx]*yi)\n\t\t\t\tjx += incX\n\t\t\t\tjy += incY\n\t\t\t}\n\t\t\tix += incX\n\t\t\tiy += incY\n\t\t\toffset += n - i\n\t\t}\n\t\treturn\n\t}\n\tif incX == 1 && incY == 1 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tatmp := ap[offset-i:]\n\t\t\txi := x[i]\n\t\t\tyi := y[i]\n\t\t\txtmp := x[:i+1]\n\t\t\tfor j, v := range xtmp {\n\t\t\t\tatmp[j] += alpha * (xi*y[j] + v*yi)\n\t\t\t}\n\t\t\toffset += i + 2\n\t\t}\n\t\treturn\n\t}\n\tix := kx\n\tiy := ky\n\tfor i := 0; i < n; i++ {\n\t\tjx := kx\n\t\tjy := ky\n\t\tatmp := ap[offset-i:]\n\t\tfor j := 0; j <= i; j++ {\n\t\t\tatmp[j] += alpha * (x[ix]*y[jy] + x[jx]*y[iy])\n\t\t\tjx += incX\n\t\t\tjy += incY\n\t\t}\n\t\tix += incX\n\t\tiy += incY\n\t\toffset += i + 2\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/level3double.go",
    "content": "// Copyright ©2014 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/internal/asm/f64\"\n)\n\nvar _ blas.Float64Level3 = Implementation{}\n\n// Dtrsm solves\n//  A * X = alpha * B,   if tA == blas.NoTrans side == blas.Left,\n//  A^T * X = alpha * B, if tA == blas.Trans or blas.ConjTrans, and side == blas.Left,\n//  X * A = alpha * B,   if tA == blas.NoTrans side == blas.Right,\n//  X * A^T = alpha * B, if tA == blas.Trans or blas.ConjTrans, and side == blas.Right,\n// where A is an n×n or m×m triangular matrix, X is an m×n matrix, and alpha is a\n// scalar.\n//\n// At entry to the function, X contains the values of B, and the result is\n// stored in place into X.\n//\n// No check is made that A is invertible.\nfunc (Implementation) Dtrsm(s blas.Side, ul blas.Uplo, tA blas.Transpose, d blas.Diag, m, n int, alpha float64, a []float64, lda int, b []float64, ldb int) {\n\tif s != blas.Left && s != blas.Right {\n\t\tpanic(badSide)\n\t}\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif ldb < n {\n\t\tpanic(badLdB)\n\t}\n\tvar k int\n\tif s == blas.Left {\n\t\tk = m\n\t} else {\n\t\tk = n\n\t}\n\tif lda*(k-1)+k > len(a) || lda < max(1, k) {\n\t\tpanic(badLdA)\n\t}\n\tif ldb*(m-1)+n > len(b) || ldb < max(1, n) {\n\t\tpanic(badLdB)\n\t}\n\n\tif m == 0 || n == 0 {\n\t\treturn\n\t}\n\n\tif alpha == 0 {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\tfor j := range btmp {\n\t\t\t\tbtmp[j] = 0\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tnonUnit := d == blas.NonUnit\n\tif s == blas.Left {\n\t\tif tA == blas.NoTrans {\n\t\t\tif ul == blas.Upper {\n\t\t\t\tfor i := m - 1; i >= 0; i-- {\n\t\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\t\tif alpha != 1 {\n\t\t\t\t\t\tfor j := range btmp {\n\t\t\t\t\t\t\tbtmp[j] *= alpha\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tfor ka, va := range a[i*lda+i+1 : i*lda+m] {\n\t\t\t\t\t\tk := ka + i + 1\n\t\t\t\t\t\tif va != 0 {\n\t\t\t\t\t\t\tf64.AxpyUnitaryTo(btmp, -va, b[k*ldb:k*ldb+n], btmp)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\ttmp := 1 / a[i*lda+i]\n\t\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\t\tbtmp[j] *= tmp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\tif alpha != 1 {\n\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\tbtmp[j] *= alpha\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor k, va := range a[i*lda : i*lda+i] {\n\t\t\t\t\tif va != 0 {\n\t\t\t\t\t\tf64.AxpyUnitaryTo(btmp, -va, b[k*ldb:k*ldb+n], btmp)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp := 1 / a[i*lda+i]\n\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\tbtmp[j] *= tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\t// Cases where a is transposed\n\t\tif ul == blas.Upper {\n\t\t\tfor k := 0; k < m; k++ {\n\t\t\t\tbtmpk := b[k*ldb : k*ldb+n]\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp := 1 / a[k*lda+k]\n\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\tbtmpk[j] *= tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor ia, va := range a[k*lda+k+1 : k*lda+m] {\n\t\t\t\t\ti := ia + k + 1\n\t\t\t\t\tif va != 0 {\n\t\t\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\t\t\tf64.AxpyUnitaryTo(btmp, -va, btmpk, btmp)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif alpha != 1 {\n\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\tbtmpk[j] *= alpha\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor k := m - 1; k >= 0; k-- {\n\t\t\tbtmpk := b[k*ldb : k*ldb+n]\n\t\t\tif nonUnit {\n\t\t\t\ttmp := 1 / a[k*lda+k]\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\tbtmpk[j] *= tmp\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor i, va := range a[k*lda : k*lda+k] {\n\t\t\t\tif va != 0 {\n\t\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\t\tf64.AxpyUnitaryTo(btmp, -va, btmpk, btmp)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif alpha != 1 {\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\tbtmpk[j] *= alpha\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is to the right of X.\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\tif alpha != 1 {\n\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\tbtmp[j] *= alpha\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor k, vb := range btmp {\n\t\t\t\t\tif vb != 0 {\n\t\t\t\t\t\tif btmp[k] != 0 {\n\t\t\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\t\t\tbtmp[k] /= a[k*lda+k]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbtmpk := btmp[k+1 : n]\n\t\t\t\t\t\t\tf64.AxpyUnitaryTo(btmpk, -btmp[k], a[k*lda+k+1:k*lda+n], btmpk)\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\n\t\t}\n\t\tfor i := 0; i < m; i++ {\n\t\t\tbtmp := b[i*lda : i*lda+n]\n\t\t\tif alpha != 1 {\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\tbtmp[j] *= alpha\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor k := n - 1; k >= 0; k-- {\n\t\t\t\tif btmp[k] != 0 {\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\tbtmp[k] /= a[k*lda+k]\n\t\t\t\t\t}\n\t\t\t\t\tf64.AxpyUnitaryTo(btmp, -btmp[k], a[k*lda:k*lda+k], btmp)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif ul == blas.Upper {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tbtmp := b[i*lda : i*lda+n]\n\t\t\tfor j := n - 1; j >= 0; j-- {\n\t\t\t\ttmp := alpha*btmp[j] - f64.DotUnitary(a[j*lda+j+1:j*lda+n], btmp[j+1:])\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp /= a[j*lda+j]\n\t\t\t\t}\n\t\t\t\tbtmp[j] = tmp\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < m; i++ {\n\t\tbtmp := b[i*lda : i*lda+n]\n\t\tfor j := 0; j < n; j++ {\n\t\t\ttmp := alpha*btmp[j] - f64.DotUnitary(a[j*lda:j*lda+j], btmp)\n\t\t\tif nonUnit {\n\t\t\t\ttmp /= a[j*lda+j]\n\t\t\t}\n\t\t\tbtmp[j] = tmp\n\t\t}\n\t}\n}\n\n// Dsymm performs one of\n//  C = alpha * A * B + beta * C, if side == blas.Left,\n//  C = alpha * B * A + beta * C, if side == blas.Right,\n// where A is an n×n or m×m symmetric matrix, B and C are m×n matrices, and alpha\n// is a scalar.\nfunc (Implementation) Dsymm(s blas.Side, ul blas.Uplo, m, n int, alpha float64, a []float64, lda int, b []float64, ldb int, beta float64, c []float64, ldc int) {\n\tif s != blas.Right && s != blas.Left {\n\t\tpanic(\"goblas: bad side\")\n\t}\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tvar k int\n\tif s == blas.Left {\n\t\tk = m\n\t} else {\n\t\tk = n\n\t}\n\tif lda*(k-1)+k > len(a) || lda < max(1, k) {\n\t\tpanic(badLdA)\n\t}\n\tif ldb*(m-1)+n > len(b) || ldb < max(1, n) {\n\t\tpanic(badLdB)\n\t}\n\tif ldc*(m-1)+n > len(c) || ldc < max(1, n) {\n\t\tpanic(badLdC)\n\t}\n\tif m == 0 || n == 0 {\n\t\treturn\n\t}\n\tif alpha == 0 && beta == 1 {\n\t\treturn\n\t}\n\tif alpha == 0 {\n\t\tif beta == 0 {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] = 0\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < m; i++ {\n\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tctmp[j] *= beta\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\tisUpper := ul == blas.Upper\n\tif s == blas.Left {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tatmp := alpha * a[i*lda+i]\n\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\tfor j, v := range btmp {\n\t\t\t\tctmp[j] *= beta\n\t\t\t\tctmp[j] += atmp * v\n\t\t\t}\n\n\t\t\tfor k := 0; k < i; k++ {\n\t\t\t\tvar atmp float64\n\t\t\t\tif isUpper {\n\t\t\t\t\tatmp = a[k*lda+i]\n\t\t\t\t} else {\n\t\t\t\t\tatmp = a[i*lda+k]\n\t\t\t\t}\n\t\t\t\tatmp *= alpha\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tf64.AxpyUnitaryTo(ctmp, atmp, b[k*ldb:k*ldb+n], ctmp)\n\t\t\t}\n\t\t\tfor k := i + 1; k < m; k++ {\n\t\t\t\tvar atmp float64\n\t\t\t\tif isUpper {\n\t\t\t\t\tatmp = a[i*lda+k]\n\t\t\t\t} else {\n\t\t\t\t\tatmp = a[k*lda+i]\n\t\t\t\t}\n\t\t\t\tatmp *= alpha\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tf64.AxpyUnitaryTo(ctmp, atmp, b[k*ldb:k*ldb+n], ctmp)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tif isUpper {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := n - 1; j >= 0; j-- {\n\t\t\t\ttmp := alpha * b[i*ldb+j]\n\t\t\t\tvar tmp2 float64\n\t\t\t\tatmp := a[j*lda+j+1 : j*lda+n]\n\t\t\t\tbtmp := b[i*ldb+j+1 : i*ldb+n]\n\t\t\t\tctmp := c[i*ldc+j+1 : i*ldc+n]\n\t\t\t\tfor k, v := range atmp {\n\t\t\t\t\tctmp[k] += tmp * v\n\t\t\t\t\ttmp2 += btmp[k] * v\n\t\t\t\t}\n\t\t\t\tc[i*ldc+j] *= beta\n\t\t\t\tc[i*ldc+j] += tmp*a[j*lda+j] + alpha*tmp2\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < m; i++ {\n\t\tfor j := 0; j < n; j++ {\n\t\t\ttmp := alpha * b[i*ldb+j]\n\t\t\tvar tmp2 float64\n\t\t\tatmp := a[j*lda : j*lda+j]\n\t\t\tbtmp := b[i*ldb : i*ldb+j]\n\t\t\tctmp := c[i*ldc : i*ldc+j]\n\t\t\tfor k, v := range atmp {\n\t\t\t\tctmp[k] += tmp * v\n\t\t\t\ttmp2 += btmp[k] * v\n\t\t\t}\n\t\t\tc[i*ldc+j] *= beta\n\t\t\tc[i*ldc+j] += tmp*a[j*lda+j] + alpha*tmp2\n\t\t}\n\t}\n}\n\n// Dsyrk performs the symmetric rank-k operation\n//  C = alpha * A * A^T + beta*C\n// C is an n×n symmetric matrix. A is an n×k matrix if tA == blas.NoTrans, and\n// a k×n matrix otherwise. alpha and beta are scalars.\nfunc (Implementation) Dsyrk(ul blas.Uplo, tA blas.Transpose, n, k int, alpha float64, a []float64, lda int, beta float64, c []float64, ldc int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.Trans && tA != blas.NoTrans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif k < 0 {\n\t\tpanic(kLT0)\n\t}\n\tif ldc < n {\n\t\tpanic(badLdC)\n\t}\n\tvar row, col int\n\tif tA == blas.NoTrans {\n\t\trow, col = n, k\n\t} else {\n\t\trow, col = k, n\n\t}\n\tif lda*(row-1)+col > len(a) || lda < max(1, col) {\n\t\tpanic(badLdA)\n\t}\n\tif ldc*(n-1)+n > len(c) || ldc < max(1, n) {\n\t\tpanic(badLdC)\n\t}\n\tif alpha == 0 {\n\t\tif beta == 0 {\n\t\t\tif ul == blas.Upper {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\t\t\tfor j := range ctmp {\n\t\t\t\t\t\tctmp[j] = 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] = 0\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif ul == blas.Upper {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] *= beta\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\t\tfor j := range ctmp {\n\t\t\t\tctmp[j] *= beta\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\t\tatmp := a[i*lda : i*lda+k]\n\t\t\t\tfor jc, vc := range ctmp {\n\t\t\t\t\tj := jc + i\n\t\t\t\t\tctmp[jc] = vc*beta + alpha*f64.DotUnitary(atmp, a[j*lda:j*lda+k])\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tatmp := a[i*lda : i*lda+k]\n\t\t\tfor j, vc := range c[i*ldc : i*ldc+i+1] {\n\t\t\t\tc[i*ldc+j] = vc*beta + alpha*f64.DotUnitary(a[j*lda:j*lda+k], atmp)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif ul == blas.Upper {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\tif beta != 1 {\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] *= beta\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor l := 0; l < k; l++ {\n\t\t\t\ttmp := alpha * a[l*lda+i]\n\t\t\t\tif tmp != 0 {\n\t\t\t\t\tf64.AxpyUnitaryTo(ctmp, tmp, a[l*lda+i:l*lda+n], ctmp)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\tif beta != 0 {\n\t\t\tfor j := range ctmp {\n\t\t\t\tctmp[j] *= beta\n\t\t\t}\n\t\t}\n\t\tfor l := 0; l < k; l++ {\n\t\t\ttmp := alpha * a[l*lda+i]\n\t\t\tif tmp != 0 {\n\t\t\t\tf64.AxpyUnitaryTo(ctmp, tmp, a[l*lda:l*lda+i+1], ctmp)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Dsyr2k performs the symmetric rank 2k operation\n//  C = alpha * A * B^T + alpha * B * A^T + beta * C\n// where C is an n×n symmetric matrix. A and B are n×k matrices if\n// tA == NoTrans and k×n otherwise. alpha and beta are scalars.\nfunc (Implementation) Dsyr2k(ul blas.Uplo, tA blas.Transpose, n, k int, alpha float64, a []float64, lda int, b []float64, ldb int, beta float64, c []float64, ldc int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.Trans && tA != blas.NoTrans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif k < 0 {\n\t\tpanic(kLT0)\n\t}\n\tif ldc < n {\n\t\tpanic(badLdC)\n\t}\n\tvar row, col int\n\tif tA == blas.NoTrans {\n\t\trow, col = n, k\n\t} else {\n\t\trow, col = k, n\n\t}\n\tif lda*(row-1)+col > len(a) || lda < max(1, col) {\n\t\tpanic(badLdA)\n\t}\n\tif ldb*(row-1)+col > len(b) || ldb < max(1, col) {\n\t\tpanic(badLdB)\n\t}\n\tif ldc*(n-1)+n > len(c) || ldc < max(1, n) {\n\t\tpanic(badLdC)\n\t}\n\tif alpha == 0 {\n\t\tif beta == 0 {\n\t\t\tif ul == blas.Upper {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\t\t\tfor j := range ctmp {\n\t\t\t\t\t\tctmp[j] = 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] = 0\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif ul == blas.Upper {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] *= beta\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\t\tfor j := range ctmp {\n\t\t\t\tctmp[j] *= beta\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tatmp := a[i*lda : i*lda+k]\n\t\t\t\tbtmp := b[i*ldb : i*ldb+k]\n\t\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\t\tfor jc := range ctmp {\n\t\t\t\t\tj := i + jc\n\t\t\t\t\tvar tmp1, tmp2 float64\n\t\t\t\t\tbinner := b[j*ldb : j*ldb+k]\n\t\t\t\t\tfor l, v := range a[j*lda : j*lda+k] {\n\t\t\t\t\t\ttmp1 += v * btmp[l]\n\t\t\t\t\t\ttmp2 += atmp[l] * binner[l]\n\t\t\t\t\t}\n\t\t\t\t\tctmp[jc] *= beta\n\t\t\t\t\tctmp[jc] += alpha * (tmp1 + tmp2)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tatmp := a[i*lda : i*lda+k]\n\t\t\tbtmp := b[i*ldb : i*ldb+k]\n\t\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\tvar tmp1, tmp2 float64\n\t\t\t\tbinner := b[j*ldb : j*ldb+k]\n\t\t\t\tfor l, v := range a[j*lda : j*lda+k] {\n\t\t\t\t\ttmp1 += v * btmp[l]\n\t\t\t\t\ttmp2 += atmp[l] * binner[l]\n\t\t\t\t}\n\t\t\t\tctmp[j] *= beta\n\t\t\t\tctmp[j] += alpha * (tmp1 + tmp2)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tif ul == blas.Upper {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\tif beta != 1 {\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] *= beta\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor l := 0; l < k; l++ {\n\t\t\t\ttmp1 := alpha * b[l*lda+i]\n\t\t\t\ttmp2 := alpha * a[l*lda+i]\n\t\t\t\tbtmp := b[l*ldb+i : l*ldb+n]\n\t\t\t\tif tmp1 != 0 || tmp2 != 0 {\n\t\t\t\t\tfor j, v := range a[l*lda+i : l*lda+n] {\n\t\t\t\t\t\tctmp[j] += v*tmp1 + btmp[j]*tmp2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\tif beta != 1 {\n\t\t\tfor j := range ctmp {\n\t\t\t\tctmp[j] *= beta\n\t\t\t}\n\t\t}\n\t\tfor l := 0; l < k; l++ {\n\t\t\ttmp1 := alpha * b[l*lda+i]\n\t\t\ttmp2 := alpha * a[l*lda+i]\n\t\t\tbtmp := b[l*ldb : l*ldb+i+1]\n\t\t\tif tmp1 != 0 || tmp2 != 0 {\n\t\t\t\tfor j, v := range a[l*lda : l*lda+i+1] {\n\t\t\t\t\tctmp[j] += v*tmp1 + btmp[j]*tmp2\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Dtrmm performs\n//  B = alpha * A * B,   if tA == blas.NoTrans and side == blas.Left,\n//  B = alpha * A^T * B, if tA == blas.Trans or blas.ConjTrans, and side == blas.Left,\n//  B = alpha * B * A,   if tA == blas.NoTrans and side == blas.Right,\n//  B = alpha * B * A^T, if tA == blas.Trans or blas.ConjTrans, and side == blas.Right,\n// where A is an n×n or m×m triangular matrix, and B is an m×n matrix.\nfunc (Implementation) Dtrmm(s blas.Side, ul blas.Uplo, tA blas.Transpose, d blas.Diag, m, n int, alpha float64, a []float64, lda int, b []float64, ldb int) {\n\tif s != blas.Left && s != blas.Right {\n\t\tpanic(badSide)\n\t}\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tvar k int\n\tif s == blas.Left {\n\t\tk = m\n\t} else {\n\t\tk = n\n\t}\n\tif lda*(k-1)+k > len(a) || lda < max(1, k) {\n\t\tpanic(badLdA)\n\t}\n\tif ldb*(m-1)+n > len(b) || ldb < max(1, n) {\n\t\tpanic(badLdB)\n\t}\n\tif alpha == 0 {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\tfor j := range btmp {\n\t\t\t\tbtmp[j] = 0\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\tnonUnit := d == blas.NonUnit\n\tif s == blas.Left {\n\t\tif tA == blas.NoTrans {\n\t\t\tif ul == blas.Upper {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\ttmp := alpha\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\ttmp *= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\t\tfor j := range btmp {\n\t\t\t\t\t\tbtmp[j] *= tmp\n\t\t\t\t\t}\n\t\t\t\t\tfor ka, va := range a[i*lda+i+1 : i*lda+m] {\n\t\t\t\t\t\tk := ka + i + 1\n\t\t\t\t\t\ttmp := alpha * va\n\t\t\t\t\t\tif tmp != 0 {\n\t\t\t\t\t\t\tf64.AxpyUnitaryTo(btmp, tmp, b[k*ldb:k*ldb+n], btmp)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor i := m - 1; i >= 0; i-- {\n\t\t\t\ttmp := alpha\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp *= a[i*lda+i]\n\t\t\t\t}\n\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\tfor j := range btmp {\n\t\t\t\t\tbtmp[j] *= tmp\n\t\t\t\t}\n\t\t\t\tfor k, va := range a[i*lda : i*lda+i] {\n\t\t\t\t\ttmp := alpha * va\n\t\t\t\t\tif tmp != 0 {\n\t\t\t\t\t\tf64.AxpyUnitaryTo(btmp, tmp, b[k*ldb:k*ldb+n], btmp)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\t// Cases where a is transposed.\n\t\tif ul == blas.Upper {\n\t\t\tfor k := m - 1; k >= 0; k-- {\n\t\t\t\tbtmpk := b[k*ldb : k*ldb+n]\n\t\t\t\tfor ia, va := range a[k*lda+k+1 : k*lda+m] {\n\t\t\t\t\ti := ia + k + 1\n\t\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\t\ttmp := alpha * va\n\t\t\t\t\tif tmp != 0 {\n\t\t\t\t\t\tf64.AxpyUnitaryTo(btmp, tmp, btmpk, btmp)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttmp := alpha\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp *= a[k*lda+k]\n\t\t\t\t}\n\t\t\t\tif tmp != 1 {\n\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\tbtmpk[j] *= tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor k := 0; k < m; k++ {\n\t\t\tbtmpk := b[k*ldb : k*ldb+n]\n\t\t\tfor i, va := range a[k*lda : k*lda+k] {\n\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\ttmp := alpha * va\n\t\t\t\tif tmp != 0 {\n\t\t\t\t\tf64.AxpyUnitaryTo(btmp, tmp, btmpk, btmp)\n\t\t\t\t}\n\t\t\t}\n\t\t\ttmp := alpha\n\t\t\tif nonUnit {\n\t\t\t\ttmp *= a[k*lda+k]\n\t\t\t}\n\t\t\tif tmp != 1 {\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\tbtmpk[j] *= tmp\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is on the right\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\tfor k := n - 1; k >= 0; k-- {\n\t\t\t\t\ttmp := alpha * btmp[k]\n\t\t\t\t\tif tmp != 0 {\n\t\t\t\t\t\tbtmp[k] = tmp\n\t\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\t\tbtmp[k] *= a[k*lda+k]\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor ja, v := range a[k*lda+k+1 : k*lda+n] {\n\t\t\t\t\t\t\tj := ja + k + 1\n\t\t\t\t\t\t\tbtmp[j] += tmp * v\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\n\t\t}\n\t\tfor i := 0; i < m; i++ {\n\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\tfor k := 0; k < n; k++ {\n\t\t\t\ttmp := alpha * btmp[k]\n\t\t\t\tif tmp != 0 {\n\t\t\t\t\tbtmp[k] = tmp\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\tbtmp[k] *= a[k*lda+k]\n\t\t\t\t\t}\n\t\t\t\t\tf64.AxpyUnitaryTo(btmp, tmp, a[k*lda:k*lda+k], btmp)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif ul == blas.Upper {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\tfor j, vb := range btmp {\n\t\t\t\ttmp := vb\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp *= a[j*lda+j]\n\t\t\t\t}\n\t\t\t\ttmp += f64.DotUnitary(a[j*lda+j+1:j*lda+n], btmp[j+1:n])\n\t\t\t\tbtmp[j] = alpha * tmp\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < m; i++ {\n\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\tfor j := n - 1; j >= 0; j-- {\n\t\t\ttmp := btmp[j]\n\t\t\tif nonUnit {\n\t\t\t\ttmp *= a[j*lda+j]\n\t\t\t}\n\t\t\ttmp += f64.DotUnitary(a[j*lda:j*lda+j], btmp[:j])\n\t\t\tbtmp[j] = alpha * tmp\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/level3single.go",
    "content": "// Code generated by \"go generate gonum.org/v1/gonum/blas/gonum”; DO NOT EDIT.\n\n// Copyright ©2014 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/internal/asm/f32\"\n)\n\nvar _ blas.Float32Level3 = Implementation{}\n\n// Strsm solves\n//  A * X = alpha * B,   if tA == blas.NoTrans side == blas.Left,\n//  A^T * X = alpha * B, if tA == blas.Trans or blas.ConjTrans, and side == blas.Left,\n//  X * A = alpha * B,   if tA == blas.NoTrans side == blas.Right,\n//  X * A^T = alpha * B, if tA == blas.Trans or blas.ConjTrans, and side == blas.Right,\n// where A is an n×n or m×m triangular matrix, X is an m×n matrix, and alpha is a\n// scalar.\n//\n// At entry to the function, X contains the values of B, and the result is\n// stored in place into X.\n//\n// No check is made that A is invertible.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Strsm(s blas.Side, ul blas.Uplo, tA blas.Transpose, d blas.Diag, m, n int, alpha float32, a []float32, lda int, b []float32, ldb int) {\n\tif s != blas.Left && s != blas.Right {\n\t\tpanic(badSide)\n\t}\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif ldb < n {\n\t\tpanic(badLdB)\n\t}\n\tvar k int\n\tif s == blas.Left {\n\t\tk = m\n\t} else {\n\t\tk = n\n\t}\n\tif lda*(k-1)+k > len(a) || lda < max(1, k) {\n\t\tpanic(badLdA)\n\t}\n\tif ldb*(m-1)+n > len(b) || ldb < max(1, n) {\n\t\tpanic(badLdB)\n\t}\n\n\tif m == 0 || n == 0 {\n\t\treturn\n\t}\n\n\tif alpha == 0 {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\tfor j := range btmp {\n\t\t\t\tbtmp[j] = 0\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tnonUnit := d == blas.NonUnit\n\tif s == blas.Left {\n\t\tif tA == blas.NoTrans {\n\t\t\tif ul == blas.Upper {\n\t\t\t\tfor i := m - 1; i >= 0; i-- {\n\t\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\t\tif alpha != 1 {\n\t\t\t\t\t\tfor j := range btmp {\n\t\t\t\t\t\t\tbtmp[j] *= alpha\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tfor ka, va := range a[i*lda+i+1 : i*lda+m] {\n\t\t\t\t\t\tk := ka + i + 1\n\t\t\t\t\t\tif va != 0 {\n\t\t\t\t\t\t\tf32.AxpyUnitaryTo(btmp, -va, b[k*ldb:k*ldb+n], btmp)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\ttmp := 1 / a[i*lda+i]\n\t\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\t\tbtmp[j] *= tmp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\tif alpha != 1 {\n\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\tbtmp[j] *= alpha\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor k, va := range a[i*lda : i*lda+i] {\n\t\t\t\t\tif va != 0 {\n\t\t\t\t\t\tf32.AxpyUnitaryTo(btmp, -va, b[k*ldb:k*ldb+n], btmp)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp := 1 / a[i*lda+i]\n\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\tbtmp[j] *= tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\t// Cases where a is transposed\n\t\tif ul == blas.Upper {\n\t\t\tfor k := 0; k < m; k++ {\n\t\t\t\tbtmpk := b[k*ldb : k*ldb+n]\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp := 1 / a[k*lda+k]\n\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\tbtmpk[j] *= tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor ia, va := range a[k*lda+k+1 : k*lda+m] {\n\t\t\t\t\ti := ia + k + 1\n\t\t\t\t\tif va != 0 {\n\t\t\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\t\t\tf32.AxpyUnitaryTo(btmp, -va, btmpk, btmp)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif alpha != 1 {\n\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\tbtmpk[j] *= alpha\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor k := m - 1; k >= 0; k-- {\n\t\t\tbtmpk := b[k*ldb : k*ldb+n]\n\t\t\tif nonUnit {\n\t\t\t\ttmp := 1 / a[k*lda+k]\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\tbtmpk[j] *= tmp\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor i, va := range a[k*lda : k*lda+k] {\n\t\t\t\tif va != 0 {\n\t\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\t\tf32.AxpyUnitaryTo(btmp, -va, btmpk, btmp)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif alpha != 1 {\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\tbtmpk[j] *= alpha\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is to the right of X.\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\tif alpha != 1 {\n\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\tbtmp[j] *= alpha\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor k, vb := range btmp {\n\t\t\t\t\tif vb != 0 {\n\t\t\t\t\t\tif btmp[k] != 0 {\n\t\t\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\t\t\tbtmp[k] /= a[k*lda+k]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbtmpk := btmp[k+1 : n]\n\t\t\t\t\t\t\tf32.AxpyUnitaryTo(btmpk, -btmp[k], a[k*lda+k+1:k*lda+n], btmpk)\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\n\t\t}\n\t\tfor i := 0; i < m; i++ {\n\t\t\tbtmp := b[i*lda : i*lda+n]\n\t\t\tif alpha != 1 {\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\tbtmp[j] *= alpha\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor k := n - 1; k >= 0; k-- {\n\t\t\t\tif btmp[k] != 0 {\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\tbtmp[k] /= a[k*lda+k]\n\t\t\t\t\t}\n\t\t\t\t\tf32.AxpyUnitaryTo(btmp, -btmp[k], a[k*lda:k*lda+k], btmp)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif ul == blas.Upper {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tbtmp := b[i*lda : i*lda+n]\n\t\t\tfor j := n - 1; j >= 0; j-- {\n\t\t\t\ttmp := alpha*btmp[j] - f32.DotUnitary(a[j*lda+j+1:j*lda+n], btmp[j+1:])\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp /= a[j*lda+j]\n\t\t\t\t}\n\t\t\t\tbtmp[j] = tmp\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < m; i++ {\n\t\tbtmp := b[i*lda : i*lda+n]\n\t\tfor j := 0; j < n; j++ {\n\t\t\ttmp := alpha*btmp[j] - f32.DotUnitary(a[j*lda:j*lda+j], btmp)\n\t\t\tif nonUnit {\n\t\t\t\ttmp /= a[j*lda+j]\n\t\t\t}\n\t\t\tbtmp[j] = tmp\n\t\t}\n\t}\n}\n\n// Ssymm performs one of\n//  C = alpha * A * B + beta * C, if side == blas.Left,\n//  C = alpha * B * A + beta * C, if side == blas.Right,\n// where A is an n×n or m×m symmetric matrix, B and C are m×n matrices, and alpha\n// is a scalar.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Ssymm(s blas.Side, ul blas.Uplo, m, n int, alpha float32, a []float32, lda int, b []float32, ldb int, beta float32, c []float32, ldc int) {\n\tif s != blas.Right && s != blas.Left {\n\t\tpanic(\"goblas: bad side\")\n\t}\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tvar k int\n\tif s == blas.Left {\n\t\tk = m\n\t} else {\n\t\tk = n\n\t}\n\tif lda*(k-1)+k > len(a) || lda < max(1, k) {\n\t\tpanic(badLdA)\n\t}\n\tif ldb*(m-1)+n > len(b) || ldb < max(1, n) {\n\t\tpanic(badLdB)\n\t}\n\tif ldc*(m-1)+n > len(c) || ldc < max(1, n) {\n\t\tpanic(badLdC)\n\t}\n\tif m == 0 || n == 0 {\n\t\treturn\n\t}\n\tif alpha == 0 && beta == 1 {\n\t\treturn\n\t}\n\tif alpha == 0 {\n\t\tif beta == 0 {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] = 0\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < m; i++ {\n\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tctmp[j] *= beta\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\tisUpper := ul == blas.Upper\n\tif s == blas.Left {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tatmp := alpha * a[i*lda+i]\n\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\tfor j, v := range btmp {\n\t\t\t\tctmp[j] *= beta\n\t\t\t\tctmp[j] += atmp * v\n\t\t\t}\n\n\t\t\tfor k := 0; k < i; k++ {\n\t\t\t\tvar atmp float32\n\t\t\t\tif isUpper {\n\t\t\t\t\tatmp = a[k*lda+i]\n\t\t\t\t} else {\n\t\t\t\t\tatmp = a[i*lda+k]\n\t\t\t\t}\n\t\t\t\tatmp *= alpha\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tf32.AxpyUnitaryTo(ctmp, atmp, b[k*ldb:k*ldb+n], ctmp)\n\t\t\t}\n\t\t\tfor k := i + 1; k < m; k++ {\n\t\t\t\tvar atmp float32\n\t\t\t\tif isUpper {\n\t\t\t\t\tatmp = a[i*lda+k]\n\t\t\t\t} else {\n\t\t\t\t\tatmp = a[k*lda+i]\n\t\t\t\t}\n\t\t\t\tatmp *= alpha\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tf32.AxpyUnitaryTo(ctmp, atmp, b[k*ldb:k*ldb+n], ctmp)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tif isUpper {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := n - 1; j >= 0; j-- {\n\t\t\t\ttmp := alpha * b[i*ldb+j]\n\t\t\t\tvar tmp2 float32\n\t\t\t\tatmp := a[j*lda+j+1 : j*lda+n]\n\t\t\t\tbtmp := b[i*ldb+j+1 : i*ldb+n]\n\t\t\t\tctmp := c[i*ldc+j+1 : i*ldc+n]\n\t\t\t\tfor k, v := range atmp {\n\t\t\t\t\tctmp[k] += tmp * v\n\t\t\t\t\ttmp2 += btmp[k] * v\n\t\t\t\t}\n\t\t\t\tc[i*ldc+j] *= beta\n\t\t\t\tc[i*ldc+j] += tmp*a[j*lda+j] + alpha*tmp2\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < m; i++ {\n\t\tfor j := 0; j < n; j++ {\n\t\t\ttmp := alpha * b[i*ldb+j]\n\t\t\tvar tmp2 float32\n\t\t\tatmp := a[j*lda : j*lda+j]\n\t\t\tbtmp := b[i*ldb : i*ldb+j]\n\t\t\tctmp := c[i*ldc : i*ldc+j]\n\t\t\tfor k, v := range atmp {\n\t\t\t\tctmp[k] += tmp * v\n\t\t\t\ttmp2 += btmp[k] * v\n\t\t\t}\n\t\t\tc[i*ldc+j] *= beta\n\t\t\tc[i*ldc+j] += tmp*a[j*lda+j] + alpha*tmp2\n\t\t}\n\t}\n}\n\n// Ssyrk performs the symmetric rank-k operation\n//  C = alpha * A * A^T + beta*C\n// C is an n×n symmetric matrix. A is an n×k matrix if tA == blas.NoTrans, and\n// a k×n matrix otherwise. alpha and beta are scalars.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Ssyrk(ul blas.Uplo, tA blas.Transpose, n, k int, alpha float32, a []float32, lda int, beta float32, c []float32, ldc int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.Trans && tA != blas.NoTrans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif k < 0 {\n\t\tpanic(kLT0)\n\t}\n\tif ldc < n {\n\t\tpanic(badLdC)\n\t}\n\tvar row, col int\n\tif tA == blas.NoTrans {\n\t\trow, col = n, k\n\t} else {\n\t\trow, col = k, n\n\t}\n\tif lda*(row-1)+col > len(a) || lda < max(1, col) {\n\t\tpanic(badLdA)\n\t}\n\tif ldc*(n-1)+n > len(c) || ldc < max(1, n) {\n\t\tpanic(badLdC)\n\t}\n\tif alpha == 0 {\n\t\tif beta == 0 {\n\t\t\tif ul == blas.Upper {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\t\t\tfor j := range ctmp {\n\t\t\t\t\t\tctmp[j] = 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] = 0\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif ul == blas.Upper {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] *= beta\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\t\tfor j := range ctmp {\n\t\t\t\tctmp[j] *= beta\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\t\tatmp := a[i*lda : i*lda+k]\n\t\t\t\tfor jc, vc := range ctmp {\n\t\t\t\t\tj := jc + i\n\t\t\t\t\tctmp[jc] = vc*beta + alpha*f32.DotUnitary(atmp, a[j*lda:j*lda+k])\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tatmp := a[i*lda : i*lda+k]\n\t\t\tfor j, vc := range c[i*ldc : i*ldc+i+1] {\n\t\t\t\tc[i*ldc+j] = vc*beta + alpha*f32.DotUnitary(a[j*lda:j*lda+k], atmp)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif ul == blas.Upper {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\tif beta != 1 {\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] *= beta\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor l := 0; l < k; l++ {\n\t\t\t\ttmp := alpha * a[l*lda+i]\n\t\t\t\tif tmp != 0 {\n\t\t\t\t\tf32.AxpyUnitaryTo(ctmp, tmp, a[l*lda+i:l*lda+n], ctmp)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\tif beta != 0 {\n\t\t\tfor j := range ctmp {\n\t\t\t\tctmp[j] *= beta\n\t\t\t}\n\t\t}\n\t\tfor l := 0; l < k; l++ {\n\t\t\ttmp := alpha * a[l*lda+i]\n\t\t\tif tmp != 0 {\n\t\t\t\tf32.AxpyUnitaryTo(ctmp, tmp, a[l*lda:l*lda+i+1], ctmp)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Ssyr2k performs the symmetric rank 2k operation\n//  C = alpha * A * B^T + alpha * B * A^T + beta * C\n// where C is an n×n symmetric matrix. A and B are n×k matrices if\n// tA == NoTrans and k×n otherwise. alpha and beta are scalars.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Ssyr2k(ul blas.Uplo, tA blas.Transpose, n, k int, alpha float32, a []float32, lda int, b []float32, ldb int, beta float32, c []float32, ldc int) {\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.Trans && tA != blas.NoTrans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif k < 0 {\n\t\tpanic(kLT0)\n\t}\n\tif ldc < n {\n\t\tpanic(badLdC)\n\t}\n\tvar row, col int\n\tif tA == blas.NoTrans {\n\t\trow, col = n, k\n\t} else {\n\t\trow, col = k, n\n\t}\n\tif lda*(row-1)+col > len(a) || lda < max(1, col) {\n\t\tpanic(badLdA)\n\t}\n\tif ldb*(row-1)+col > len(b) || ldb < max(1, col) {\n\t\tpanic(badLdB)\n\t}\n\tif ldc*(n-1)+n > len(c) || ldc < max(1, n) {\n\t\tpanic(badLdC)\n\t}\n\tif alpha == 0 {\n\t\tif beta == 0 {\n\t\t\tif ul == blas.Upper {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\t\t\tfor j := range ctmp {\n\t\t\t\t\t\tctmp[j] = 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] = 0\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif ul == blas.Upper {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] *= beta\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\t\tfor j := range ctmp {\n\t\t\t\tctmp[j] *= beta\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tatmp := a[i*lda : i*lda+k]\n\t\t\t\tbtmp := b[i*ldb : i*ldb+k]\n\t\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\t\tfor jc := range ctmp {\n\t\t\t\t\tj := i + jc\n\t\t\t\t\tvar tmp1, tmp2 float32\n\t\t\t\t\tbinner := b[j*ldb : j*ldb+k]\n\t\t\t\t\tfor l, v := range a[j*lda : j*lda+k] {\n\t\t\t\t\t\ttmp1 += v * btmp[l]\n\t\t\t\t\t\ttmp2 += atmp[l] * binner[l]\n\t\t\t\t\t}\n\t\t\t\t\tctmp[jc] *= beta\n\t\t\t\t\tctmp[jc] += alpha * (tmp1 + tmp2)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tatmp := a[i*lda : i*lda+k]\n\t\t\tbtmp := b[i*ldb : i*ldb+k]\n\t\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\tvar tmp1, tmp2 float32\n\t\t\t\tbinner := b[j*ldb : j*ldb+k]\n\t\t\t\tfor l, v := range a[j*lda : j*lda+k] {\n\t\t\t\t\ttmp1 += v * btmp[l]\n\t\t\t\t\ttmp2 += atmp[l] * binner[l]\n\t\t\t\t}\n\t\t\t\tctmp[j] *= beta\n\t\t\t\tctmp[j] += alpha * (tmp1 + tmp2)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tif ul == blas.Upper {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tctmp := c[i*ldc+i : i*ldc+n]\n\t\t\tif beta != 1 {\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] *= beta\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor l := 0; l < k; l++ {\n\t\t\t\ttmp1 := alpha * b[l*lda+i]\n\t\t\t\ttmp2 := alpha * a[l*lda+i]\n\t\t\t\tbtmp := b[l*ldb+i : l*ldb+n]\n\t\t\t\tif tmp1 != 0 || tmp2 != 0 {\n\t\t\t\t\tfor j, v := range a[l*lda+i : l*lda+n] {\n\t\t\t\t\t\tctmp[j] += v*tmp1 + btmp[j]*tmp2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tctmp := c[i*ldc : i*ldc+i+1]\n\t\tif beta != 1 {\n\t\t\tfor j := range ctmp {\n\t\t\t\tctmp[j] *= beta\n\t\t\t}\n\t\t}\n\t\tfor l := 0; l < k; l++ {\n\t\t\ttmp1 := alpha * b[l*lda+i]\n\t\t\ttmp2 := alpha * a[l*lda+i]\n\t\t\tbtmp := b[l*ldb : l*ldb+i+1]\n\t\t\tif tmp1 != 0 || tmp2 != 0 {\n\t\t\t\tfor j, v := range a[l*lda : l*lda+i+1] {\n\t\t\t\t\tctmp[j] += v*tmp1 + btmp[j]*tmp2\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Strmm performs\n//  B = alpha * A * B,   if tA == blas.NoTrans and side == blas.Left,\n//  B = alpha * A^T * B, if tA == blas.Trans or blas.ConjTrans, and side == blas.Left,\n//  B = alpha * B * A,   if tA == blas.NoTrans and side == blas.Right,\n//  B = alpha * B * A^T, if tA == blas.Trans or blas.ConjTrans, and side == blas.Right,\n// where A is an n×n or m×m triangular matrix, and B is an m×n matrix.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Strmm(s blas.Side, ul blas.Uplo, tA blas.Transpose, d blas.Diag, m, n int, alpha float32, a []float32, lda int, b []float32, ldb int) {\n\tif s != blas.Left && s != blas.Right {\n\t\tpanic(badSide)\n\t}\n\tif ul != blas.Lower && ul != blas.Upper {\n\t\tpanic(badUplo)\n\t}\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif d != blas.NonUnit && d != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif m < 0 {\n\t\tpanic(mLT0)\n\t}\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tvar k int\n\tif s == blas.Left {\n\t\tk = m\n\t} else {\n\t\tk = n\n\t}\n\tif lda*(k-1)+k > len(a) || lda < max(1, k) {\n\t\tpanic(badLdA)\n\t}\n\tif ldb*(m-1)+n > len(b) || ldb < max(1, n) {\n\t\tpanic(badLdB)\n\t}\n\tif alpha == 0 {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\tfor j := range btmp {\n\t\t\t\tbtmp[j] = 0\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\tnonUnit := d == blas.NonUnit\n\tif s == blas.Left {\n\t\tif tA == blas.NoTrans {\n\t\t\tif ul == blas.Upper {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\ttmp := alpha\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\ttmp *= a[i*lda+i]\n\t\t\t\t\t}\n\t\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\t\tfor j := range btmp {\n\t\t\t\t\t\tbtmp[j] *= tmp\n\t\t\t\t\t}\n\t\t\t\t\tfor ka, va := range a[i*lda+i+1 : i*lda+m] {\n\t\t\t\t\t\tk := ka + i + 1\n\t\t\t\t\t\ttmp := alpha * va\n\t\t\t\t\t\tif tmp != 0 {\n\t\t\t\t\t\t\tf32.AxpyUnitaryTo(btmp, tmp, b[k*ldb:k*ldb+n], btmp)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor i := m - 1; i >= 0; i-- {\n\t\t\t\ttmp := alpha\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp *= a[i*lda+i]\n\t\t\t\t}\n\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\tfor j := range btmp {\n\t\t\t\t\tbtmp[j] *= tmp\n\t\t\t\t}\n\t\t\t\tfor k, va := range a[i*lda : i*lda+i] {\n\t\t\t\t\ttmp := alpha * va\n\t\t\t\t\tif tmp != 0 {\n\t\t\t\t\t\tf32.AxpyUnitaryTo(btmp, tmp, b[k*ldb:k*ldb+n], btmp)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\t// Cases where a is transposed.\n\t\tif ul == blas.Upper {\n\t\t\tfor k := m - 1; k >= 0; k-- {\n\t\t\t\tbtmpk := b[k*ldb : k*ldb+n]\n\t\t\t\tfor ia, va := range a[k*lda+k+1 : k*lda+m] {\n\t\t\t\t\ti := ia + k + 1\n\t\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\t\ttmp := alpha * va\n\t\t\t\t\tif tmp != 0 {\n\t\t\t\t\t\tf32.AxpyUnitaryTo(btmp, tmp, btmpk, btmp)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttmp := alpha\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp *= a[k*lda+k]\n\t\t\t\t}\n\t\t\t\tif tmp != 1 {\n\t\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\t\tbtmpk[j] *= tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor k := 0; k < m; k++ {\n\t\t\tbtmpk := b[k*ldb : k*ldb+n]\n\t\t\tfor i, va := range a[k*lda : k*lda+k] {\n\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\ttmp := alpha * va\n\t\t\t\tif tmp != 0 {\n\t\t\t\t\tf32.AxpyUnitaryTo(btmp, tmp, btmpk, btmp)\n\t\t\t\t}\n\t\t\t}\n\t\t\ttmp := alpha\n\t\t\tif nonUnit {\n\t\t\t\ttmp *= a[k*lda+k]\n\t\t\t}\n\t\t\tif tmp != 1 {\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\tbtmpk[j] *= tmp\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is on the right\n\tif tA == blas.NoTrans {\n\t\tif ul == blas.Upper {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\t\tfor k := n - 1; k >= 0; k-- {\n\t\t\t\t\ttmp := alpha * btmp[k]\n\t\t\t\t\tif tmp != 0 {\n\t\t\t\t\t\tbtmp[k] = tmp\n\t\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\t\tbtmp[k] *= a[k*lda+k]\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor ja, v := range a[k*lda+k+1 : k*lda+n] {\n\t\t\t\t\t\t\tj := ja + k + 1\n\t\t\t\t\t\t\tbtmp[j] += tmp * v\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\n\t\t}\n\t\tfor i := 0; i < m; i++ {\n\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\tfor k := 0; k < n; k++ {\n\t\t\t\ttmp := alpha * btmp[k]\n\t\t\t\tif tmp != 0 {\n\t\t\t\t\tbtmp[k] = tmp\n\t\t\t\t\tif nonUnit {\n\t\t\t\t\t\tbtmp[k] *= a[k*lda+k]\n\t\t\t\t\t}\n\t\t\t\t\tf32.AxpyUnitaryTo(btmp, tmp, a[k*lda:k*lda+k], btmp)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Cases where a is transposed.\n\tif ul == blas.Upper {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\t\tfor j, vb := range btmp {\n\t\t\t\ttmp := vb\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttmp *= a[j*lda+j]\n\t\t\t\t}\n\t\t\t\ttmp += f32.DotUnitary(a[j*lda+j+1:j*lda+n], btmp[j+1:n])\n\t\t\t\tbtmp[j] = alpha * tmp\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < m; i++ {\n\t\tbtmp := b[i*ldb : i*ldb+n]\n\t\tfor j := n - 1; j >= 0; j-- {\n\t\t\ttmp := btmp[j]\n\t\t\tif nonUnit {\n\t\t\t\ttmp *= a[j*lda+j]\n\t\t\t}\n\t\t\ttmp += f32.DotUnitary(a[j*lda:j*lda+j], btmp[:j])\n\t\t\tbtmp[j] = alpha * tmp\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/blas/gonum/sgemm.go",
    "content": "// Code generated by \"go generate gonum.org/v1/gonum/blas/gonum”; DO NOT EDIT.\n\n// Copyright ©2014 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"runtime\"\n\t\"sync\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/internal/asm/f32\"\n)\n\n// Sgemm computes\n//  C = beta * C + alpha * A * B,\n// where A, B, and C are dense matrices, and alpha and beta are scalars.\n// tA and tB specify whether A or B are transposed.\n//\n// Float32 implementations are autogenerated and not directly tested.\nfunc (Implementation) Sgemm(tA, tB blas.Transpose, m, n, k int, alpha float32, a []float32, lda int, b []float32, ldb int, beta float32, c []float32, ldc int) {\n\tif tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\tif tB != blas.NoTrans && tB != blas.Trans && tB != blas.ConjTrans {\n\t\tpanic(badTranspose)\n\t}\n\taTrans := tA == blas.Trans || tA == blas.ConjTrans\n\tif aTrans {\n\t\tcheckSMatrix('a', k, m, a, lda)\n\t} else {\n\t\tcheckSMatrix('a', m, k, a, lda)\n\t}\n\tbTrans := tB == blas.Trans || tB == blas.ConjTrans\n\tif bTrans {\n\t\tcheckSMatrix('b', n, k, b, ldb)\n\t} else {\n\t\tcheckSMatrix('b', k, n, b, ldb)\n\t}\n\tcheckSMatrix('c', m, n, c, ldc)\n\n\t// scale c\n\tif beta != 1 {\n\t\tif beta == 0 {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] = 0\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tfor j := range ctmp {\n\t\t\t\t\tctmp[j] *= beta\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tsgemmParallel(aTrans, bTrans, m, n, k, a, lda, b, ldb, c, ldc, alpha)\n}\n\nfunc sgemmParallel(aTrans, bTrans bool, m, n, k int, a []float32, lda int, b []float32, ldb int, c []float32, ldc int, alpha float32) {\n\t// dgemmParallel computes a parallel matrix multiplication by partitioning\n\t// a and b into sub-blocks, and updating c with the multiplication of the sub-block\n\t// In all cases,\n\t// A = [ \tA_11\tA_12 ... \tA_1j\n\t//\t\t\tA_21\tA_22 ...\tA_2j\n\t//\t\t\t\t...\n\t//\t\t\tA_i1\tA_i2 ...\tA_ij]\n\t//\n\t// and same for B. All of the submatrix sizes are blockSize×blockSize except\n\t// at the edges.\n\t//\n\t// In all cases, there is one dimension for each matrix along which\n\t// C must be updated sequentially.\n\t// Cij = \\sum_k Aik Bki,\t(A * B)\n\t// Cij = \\sum_k Aki Bkj,\t(A^T * B)\n\t// Cij = \\sum_k Aik Bjk,\t(A * B^T)\n\t// Cij = \\sum_k Aki Bjk,\t(A^T * B^T)\n\t//\n\t// This code computes one {i, j} block sequentially along the k dimension,\n\t// and computes all of the {i, j} blocks concurrently. This\n\t// partitioning allows Cij to be updated in-place without race-conditions.\n\t// Instead of launching a goroutine for each possible concurrent computation,\n\t// a number of worker goroutines are created and channels are used to pass\n\t// available and completed cases.\n\t//\n\t// http://alexkr.com/docs/matrixmult.pdf is a good reference on matrix-matrix\n\t// multiplies, though this code does not copy matrices to attempt to eliminate\n\t// cache misses.\n\n\tmaxKLen := k\n\tparBlocks := blocks(m, blockSize) * blocks(n, blockSize)\n\tif parBlocks < minParBlock {\n\t\t// The matrix multiplication is small in the dimensions where it can be\n\t\t// computed concurrently. Just do it in serial.\n\t\tsgemmSerial(aTrans, bTrans, m, n, k, a, lda, b, ldb, c, ldc, alpha)\n\t\treturn\n\t}\n\n\tnWorkers := runtime.GOMAXPROCS(0)\n\tif parBlocks < nWorkers {\n\t\tnWorkers = parBlocks\n\t}\n\t// There is a tradeoff between the workers having to wait for work\n\t// and a large buffer making operations slow.\n\tbuf := buffMul * nWorkers\n\tif buf > parBlocks {\n\t\tbuf = parBlocks\n\t}\n\n\tsendChan := make(chan subMul, buf)\n\n\t// Launch workers. A worker receives an {i, j} submatrix of c, and computes\n\t// A_ik B_ki (or the transposed version) storing the result in c_ij. When the\n\t// channel is finally closed, it signals to the waitgroup that it has finished\n\t// computing.\n\tvar wg sync.WaitGroup\n\tfor i := 0; i < nWorkers; i++ {\n\t\twg.Add(1)\n\t\tgo func() {\n\t\t\tdefer wg.Done()\n\t\t\t// Make local copies of otherwise global variables to reduce shared memory.\n\t\t\t// This has a noticeable effect on benchmarks in some cases.\n\t\t\talpha := alpha\n\t\t\taTrans := aTrans\n\t\t\tbTrans := bTrans\n\t\t\tm := m\n\t\t\tn := n\n\t\t\tfor sub := range sendChan {\n\t\t\t\ti := sub.i\n\t\t\t\tj := sub.j\n\t\t\t\tleni := blockSize\n\t\t\t\tif i+leni > m {\n\t\t\t\t\tleni = m - i\n\t\t\t\t}\n\t\t\t\tlenj := blockSize\n\t\t\t\tif j+lenj > n {\n\t\t\t\t\tlenj = n - j\n\t\t\t\t}\n\n\t\t\t\tcSub := sliceView32(c, ldc, i, j, leni, lenj)\n\n\t\t\t\t// Compute A_ik B_kj for all k\n\t\t\t\tfor k := 0; k < maxKLen; k += blockSize {\n\t\t\t\t\tlenk := blockSize\n\t\t\t\t\tif k+lenk > maxKLen {\n\t\t\t\t\t\tlenk = maxKLen - k\n\t\t\t\t\t}\n\t\t\t\t\tvar aSub, bSub []float32\n\t\t\t\t\tif aTrans {\n\t\t\t\t\t\taSub = sliceView32(a, lda, k, i, lenk, leni)\n\t\t\t\t\t} else {\n\t\t\t\t\t\taSub = sliceView32(a, lda, i, k, leni, lenk)\n\t\t\t\t\t}\n\t\t\t\t\tif bTrans {\n\t\t\t\t\t\tbSub = sliceView32(b, ldb, j, k, lenj, lenk)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbSub = sliceView32(b, ldb, k, j, lenk, lenj)\n\t\t\t\t\t}\n\t\t\t\t\tsgemmSerial(aTrans, bTrans, leni, lenj, lenk, aSub, lda, bSub, ldb, cSub, ldc, alpha)\n\t\t\t\t}\n\t\t\t}\n\t\t}()\n\t}\n\n\t// Send out all of the {i, j} subblocks for computation.\n\tfor i := 0; i < m; i += blockSize {\n\t\tfor j := 0; j < n; j += blockSize {\n\t\t\tsendChan <- subMul{\n\t\t\t\ti: i,\n\t\t\t\tj: j,\n\t\t\t}\n\t\t}\n\t}\n\tclose(sendChan)\n\twg.Wait()\n}\n\n// sgemmSerial is serial matrix multiply\nfunc sgemmSerial(aTrans, bTrans bool, m, n, k int, a []float32, lda int, b []float32, ldb int, c []float32, ldc int, alpha float32) {\n\tswitch {\n\tcase !aTrans && !bTrans:\n\t\tsgemmSerialNotNot(m, n, k, a, lda, b, ldb, c, ldc, alpha)\n\t\treturn\n\tcase aTrans && !bTrans:\n\t\tsgemmSerialTransNot(m, n, k, a, lda, b, ldb, c, ldc, alpha)\n\t\treturn\n\tcase !aTrans && bTrans:\n\t\tsgemmSerialNotTrans(m, n, k, a, lda, b, ldb, c, ldc, alpha)\n\t\treturn\n\tcase aTrans && bTrans:\n\t\tsgemmSerialTransTrans(m, n, k, a, lda, b, ldb, c, ldc, alpha)\n\t\treturn\n\tdefault:\n\t\tpanic(\"unreachable\")\n\t}\n}\n\n// sgemmSerial where neither a nor b are transposed\nfunc sgemmSerialNotNot(m, n, k int, a []float32, lda int, b []float32, ldb int, c []float32, ldc int, alpha float32) {\n\t// This style is used instead of the literal [i*stride +j]) is used because\n\t// approximately 5 times faster as of go 1.3.\n\tfor i := 0; i < m; i++ {\n\t\tctmp := c[i*ldc : i*ldc+n]\n\t\tfor l, v := range a[i*lda : i*lda+k] {\n\t\t\ttmp := alpha * v\n\t\t\tif tmp != 0 {\n\t\t\t\tf32.AxpyUnitaryTo(ctmp, tmp, b[l*ldb:l*ldb+n], ctmp)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// sgemmSerial where neither a is transposed and b is not\nfunc sgemmSerialTransNot(m, n, k int, a []float32, lda int, b []float32, ldb int, c []float32, ldc int, alpha float32) {\n\t// This style is used instead of the literal [i*stride +j]) is used because\n\t// approximately 5 times faster as of go 1.3.\n\tfor l := 0; l < k; l++ {\n\t\tbtmp := b[l*ldb : l*ldb+n]\n\t\tfor i, v := range a[l*lda : l*lda+m] {\n\t\t\ttmp := alpha * v\n\t\t\tif tmp != 0 {\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tf32.AxpyUnitaryTo(ctmp, tmp, btmp, ctmp)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// sgemmSerial where neither a is not transposed and b is\nfunc sgemmSerialNotTrans(m, n, k int, a []float32, lda int, b []float32, ldb int, c []float32, ldc int, alpha float32) {\n\t// This style is used instead of the literal [i*stride +j]) is used because\n\t// approximately 5 times faster as of go 1.3.\n\tfor i := 0; i < m; i++ {\n\t\tatmp := a[i*lda : i*lda+k]\n\t\tctmp := c[i*ldc : i*ldc+n]\n\t\tfor j := 0; j < n; j++ {\n\t\t\tctmp[j] += alpha * f32.DotUnitary(atmp, b[j*ldb:j*ldb+k])\n\t\t}\n\t}\n}\n\n// sgemmSerial where both are transposed\nfunc sgemmSerialTransTrans(m, n, k int, a []float32, lda int, b []float32, ldb int, c []float32, ldc int, alpha float32) {\n\t// This style is used instead of the literal [i*stride +j]) is used because\n\t// approximately 5 times faster as of go 1.3.\n\tfor l := 0; l < k; l++ {\n\t\tfor i, v := range a[l*lda : l*lda+m] {\n\t\t\ttmp := alpha * v\n\t\t\tif tmp != 0 {\n\t\t\t\tctmp := c[i*ldc : i*ldc+n]\n\t\t\t\tf32.AxpyInc(tmp, b[l:], ctmp, uintptr(n), uintptr(ldb), 1, 0, 0)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc sliceView32(a []float32, lda, i, j, r, c int) []float32 {\n\treturn a[i*lda+j : (i+r-1)*lda+j+c]\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/floats/doc.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package floats provides a set of helper routines for dealing with slices\n// of float64. The functions avoid allocations to allow for use within tight\n// loops without garbage collection overhead.\n//\n// The convention used is that when a slice is being modified in place, it has\n// the name dst.\npackage floats // import \"gonum.org/v1/gonum/floats\"\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/floats/floats.go",
    "content": "// Copyright 2013 The Gonum Authors. All rights reserved.\n// Use of this code is governed by a BSD-style\n// license that can be found in the LICENSE file\n\npackage floats\n\nimport (\n\t\"errors\"\n\t\"math\"\n\t\"sort\"\n\t\"strconv\"\n\n\t\"gonum.org/v1/gonum/internal/asm/f64\"\n)\n\n// Add adds, element-wise, the elements of s and dst, and stores in dst.\n// Panics if the lengths of dst and s do not match.\nfunc Add(dst, s []float64) {\n\tif len(dst) != len(s) {\n\t\tpanic(\"floats: length of the slices do not match\")\n\t}\n\tf64.AxpyUnitaryTo(dst, 1, s, dst)\n}\n\n// AddTo adds, element-wise, the elements of s and t and\n// stores the result in dst. Panics if the lengths of s, t and dst do not match.\nfunc AddTo(dst, s, t []float64) []float64 {\n\tif len(s) != len(t) {\n\t\tpanic(\"floats: length of adders do not match\")\n\t}\n\tif len(dst) != len(s) {\n\t\tpanic(\"floats: length of destination does not match length of adder\")\n\t}\n\tf64.AxpyUnitaryTo(dst, 1, s, t)\n\treturn dst\n}\n\n// AddConst adds the scalar c to all of the values in dst.\nfunc AddConst(c float64, dst []float64) {\n\tfor i := range dst {\n\t\tdst[i] += c\n\t}\n}\n\n// AddScaled performs dst = dst + alpha * s.\n// It panics if the lengths of dst and s are not equal.\nfunc AddScaled(dst []float64, alpha float64, s []float64) {\n\tif len(dst) != len(s) {\n\t\tpanic(\"floats: length of destination and source to not match\")\n\t}\n\tf64.AxpyUnitaryTo(dst, alpha, s, dst)\n}\n\n// AddScaledTo performs dst = y + alpha * s, where alpha is a scalar,\n// and dst, y and s are all slices.\n// It panics if the lengths of dst, y, and s are not equal.\n//\n// At the return of the function, dst[i] = y[i] + alpha * s[i]\nfunc AddScaledTo(dst, y []float64, alpha float64, s []float64) []float64 {\n\tif len(dst) != len(s) || len(dst) != len(y) {\n\t\tpanic(\"floats: lengths of slices do not match\")\n\t}\n\tf64.AxpyUnitaryTo(dst, alpha, s, y)\n\treturn dst\n}\n\n// argsort is a helper that implements sort.Interface, as used by\n// Argsort.\ntype argsort struct {\n\ts    []float64\n\tinds []int\n}\n\nfunc (a argsort) Len() int {\n\treturn len(a.s)\n}\n\nfunc (a argsort) Less(i, j int) bool {\n\treturn a.s[i] < a.s[j]\n}\n\nfunc (a argsort) Swap(i, j int) {\n\ta.s[i], a.s[j] = a.s[j], a.s[i]\n\ta.inds[i], a.inds[j] = a.inds[j], a.inds[i]\n}\n\n// Argsort sorts the elements of dst while tracking their original order.\n// At the conclusion of Argsort, dst will contain the original elements of dst\n// but sorted in increasing order, and inds will contain the original position\n// of the elements in the slice such that dst[i] = origDst[inds[i]].\n// It panics if the lengths of dst and inds do not match.\nfunc Argsort(dst []float64, inds []int) {\n\tif len(dst) != len(inds) {\n\t\tpanic(\"floats: length of inds does not match length of slice\")\n\t}\n\tfor i := range dst {\n\t\tinds[i] = i\n\t}\n\n\ta := argsort{s: dst, inds: inds}\n\tsort.Sort(a)\n}\n\n// Count applies the function f to every element of s and returns the number\n// of times the function returned true.\nfunc Count(f func(float64) bool, s []float64) int {\n\tvar n int\n\tfor _, val := range s {\n\t\tif f(val) {\n\t\t\tn++\n\t\t}\n\t}\n\treturn n\n}\n\n// CumProd finds the cumulative product of the first i elements in\n// s and puts them in place into the ith element of the\n// destination dst. A panic will occur if the lengths of arguments\n// do not match.\n//\n// At the return of the function, dst[i] = s[i] * s[i-1] * s[i-2] * ...\nfunc CumProd(dst, s []float64) []float64 {\n\tif len(dst) != len(s) {\n\t\tpanic(\"floats: length of destination does not match length of the source\")\n\t}\n\tif len(dst) == 0 {\n\t\treturn dst\n\t}\n\treturn f64.CumProd(dst, s)\n}\n\n// CumSum finds the cumulative sum of the first i elements in\n// s and puts them in place into the ith element of the\n// destination dst. A panic will occur if the lengths of arguments\n// do not match.\n//\n// At the return of the function, dst[i] = s[i] + s[i-1] + s[i-2] + ...\nfunc CumSum(dst, s []float64) []float64 {\n\tif len(dst) != len(s) {\n\t\tpanic(\"floats: length of destination does not match length of the source\")\n\t}\n\tif len(dst) == 0 {\n\t\treturn dst\n\t}\n\treturn f64.CumSum(dst, s)\n}\n\n// Distance computes the L-norm of s - t. See Norm for special cases.\n// A panic will occur if the lengths of s and t do not match.\nfunc Distance(s, t []float64, L float64) float64 {\n\tif len(s) != len(t) {\n\t\tpanic(\"floats: slice lengths do not match\")\n\t}\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tvar norm float64\n\tif L == 2 {\n\t\tfor i, v := range s {\n\t\t\tdiff := t[i] - v\n\t\t\tnorm = math.Hypot(norm, diff)\n\t\t}\n\t\treturn norm\n\t}\n\tif L == 1 {\n\t\tfor i, v := range s {\n\t\t\tnorm += math.Abs(t[i] - v)\n\t\t}\n\t\treturn norm\n\t}\n\tif math.IsInf(L, 1) {\n\t\tfor i, v := range s {\n\t\t\tabsDiff := math.Abs(t[i] - v)\n\t\t\tif absDiff > norm {\n\t\t\t\tnorm = absDiff\n\t\t\t}\n\t\t}\n\t\treturn norm\n\t}\n\tfor i, v := range s {\n\t\tnorm += math.Pow(math.Abs(t[i]-v), L)\n\t}\n\treturn math.Pow(norm, 1/L)\n}\n\n// Div performs element-wise division dst / s\n// and stores the value in dst. It panics if the\n// lengths of s and t are not equal.\nfunc Div(dst, s []float64) {\n\tif len(dst) != len(s) {\n\t\tpanic(\"floats: slice lengths do not match\")\n\t}\n\tf64.Div(dst, s)\n}\n\n// DivTo performs element-wise division s / t\n// and stores the value in dst. It panics if the\n// lengths of s, t, and dst are not equal.\nfunc DivTo(dst, s, t []float64) []float64 {\n\tif len(s) != len(t) || len(dst) != len(t) {\n\t\tpanic(\"floats: slice lengths do not match\")\n\t}\n\treturn f64.DivTo(dst, s, t)\n}\n\n// Dot computes the dot product of s1 and s2, i.e.\n// sum_{i = 1}^N s1[i]*s2[i].\n// A panic will occur if lengths of arguments do not match.\nfunc Dot(s1, s2 []float64) float64 {\n\tif len(s1) != len(s2) {\n\t\tpanic(\"floats: lengths of the slices do not match\")\n\t}\n\treturn f64.DotUnitary(s1, s2)\n}\n\n// Equal returns true if the slices have equal lengths and\n// all elements are numerically identical.\nfunc Equal(s1, s2 []float64) bool {\n\tif len(s1) != len(s2) {\n\t\treturn false\n\t}\n\tfor i, val := range s1 {\n\t\tif s2[i] != val {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// EqualApprox returns true if the slices have equal lengths and\n// all element pairs have an absolute tolerance less than tol or a\n// relative tolerance less than tol.\nfunc EqualApprox(s1, s2 []float64, tol float64) bool {\n\tif len(s1) != len(s2) {\n\t\treturn false\n\t}\n\tfor i, a := range s1 {\n\t\tif !EqualWithinAbsOrRel(a, s2[i], tol, tol) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// EqualFunc returns true if the slices have the same lengths\n// and the function returns true for all element pairs.\nfunc EqualFunc(s1, s2 []float64, f func(float64, float64) bool) bool {\n\tif len(s1) != len(s2) {\n\t\treturn false\n\t}\n\tfor i, val := range s1 {\n\t\tif !f(val, s2[i]) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// EqualWithinAbs returns true if a and b have an absolute\n// difference of less than tol.\nfunc EqualWithinAbs(a, b, tol float64) bool {\n\treturn a == b || math.Abs(a-b) <= tol\n}\n\nconst minNormalFloat64 = 2.2250738585072014e-308\n\n// EqualWithinRel returns true if the difference between a and b\n// is not greater than tol times the greater value.\nfunc EqualWithinRel(a, b, tol float64) bool {\n\tif a == b {\n\t\treturn true\n\t}\n\tdelta := math.Abs(a - b)\n\tif delta <= minNormalFloat64 {\n\t\treturn delta <= tol*minNormalFloat64\n\t}\n\t// We depend on the division in this relationship to identify\n\t// infinities (we rely on the NaN to fail the test) otherwise\n\t// we compare Infs of the same sign and evaluate Infs as equal\n\t// independent of sign.\n\treturn delta/math.Max(math.Abs(a), math.Abs(b)) <= tol\n}\n\n// EqualWithinAbsOrRel returns true if a and b are equal to within\n// the absolute tolerance.\nfunc EqualWithinAbsOrRel(a, b, absTol, relTol float64) bool {\n\tif EqualWithinAbs(a, b, absTol) {\n\t\treturn true\n\t}\n\treturn EqualWithinRel(a, b, relTol)\n}\n\n// EqualWithinULP returns true if a and b are equal to within\n// the specified number of floating point units in the last place.\nfunc EqualWithinULP(a, b float64, ulp uint) bool {\n\tif a == b {\n\t\treturn true\n\t}\n\tif math.IsNaN(a) || math.IsNaN(b) {\n\t\treturn false\n\t}\n\tif math.Signbit(a) != math.Signbit(b) {\n\t\treturn math.Float64bits(math.Abs(a))+math.Float64bits(math.Abs(b)) <= uint64(ulp)\n\t}\n\treturn ulpDiff(math.Float64bits(a), math.Float64bits(b)) <= uint64(ulp)\n}\n\nfunc ulpDiff(a, b uint64) uint64 {\n\tif a > b {\n\t\treturn a - b\n\t}\n\treturn b - a\n}\n\n// EqualLengths returns true if all of the slices have equal length,\n// and false otherwise. Returns true if there are no input slices.\nfunc EqualLengths(slices ...[]float64) bool {\n\t// This length check is needed: http://play.golang.org/p/sdty6YiLhM\n\tif len(slices) == 0 {\n\t\treturn true\n\t}\n\tl := len(slices[0])\n\tfor i := 1; i < len(slices); i++ {\n\t\tif len(slices[i]) != l {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// Find applies f to every element of s and returns the indices of the first\n// k elements for which the f returns true, or all such elements\n// if k < 0.\n// Find will reslice inds to have 0 length, and will append\n// found indices to inds.\n// If k > 0 and there are fewer than k elements in s satisfying f,\n// all of the found elements will be returned along with an error.\n// At the return of the function, the input inds will be in an undetermined state.\nfunc Find(inds []int, f func(float64) bool, s []float64, k int) ([]int, error) {\n\t// inds is also returned to allow for calling with nil\n\n\t// Reslice inds to have zero length\n\tinds = inds[:0]\n\n\t// If zero elements requested, can just return\n\tif k == 0 {\n\t\treturn inds, nil\n\t}\n\n\t// If k < 0, return all of the found indices\n\tif k < 0 {\n\t\tfor i, val := range s {\n\t\t\tif f(val) {\n\t\t\t\tinds = append(inds, i)\n\t\t\t}\n\t\t}\n\t\treturn inds, nil\n\t}\n\n\t// Otherwise, find the first k elements\n\tnFound := 0\n\tfor i, val := range s {\n\t\tif f(val) {\n\t\t\tinds = append(inds, i)\n\t\t\tnFound++\n\t\t\tif nFound == k {\n\t\t\t\treturn inds, nil\n\t\t\t}\n\t\t}\n\t}\n\t// Finished iterating over the loop, which means k elements were not found\n\treturn inds, errors.New(\"floats: insufficient elements found\")\n}\n\n// HasNaN returns true if the slice s has any values that are NaN and false\n// otherwise.\nfunc HasNaN(s []float64) bool {\n\tfor _, v := range s {\n\t\tif math.IsNaN(v) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// LogSpan returns a set of n equally spaced points in log space between,\n// l and u where N is equal to len(dst). The first element of the\n// resulting dst will be l and the final element of dst will be u.\n// Panics if len(dst) < 2\n// Note that this call will return NaNs if either l or u are negative, and\n// will return all zeros if l or u is zero.\n// Also returns the mutated slice dst, so that it can be used in range, like:\n//\n//     for i, x := range LogSpan(dst, l, u) { ... }\nfunc LogSpan(dst []float64, l, u float64) []float64 {\n\tSpan(dst, math.Log(l), math.Log(u))\n\tfor i := range dst {\n\t\tdst[i] = math.Exp(dst[i])\n\t}\n\treturn dst\n}\n\n// LogSumExp returns the log of the sum of the exponentials of the values in s.\n// Panics if s is an empty slice.\nfunc LogSumExp(s []float64) float64 {\n\t// Want to do this in a numerically stable way which avoids\n\t// overflow and underflow\n\t// First, find the maximum value in the slice.\n\tmaxval := Max(s)\n\tif math.IsInf(maxval, 0) {\n\t\t// If it's infinity either way, the logsumexp will be infinity as well\n\t\t// returning now avoids NaNs\n\t\treturn maxval\n\t}\n\tvar lse float64\n\t// Compute the sumexp part\n\tfor _, val := range s {\n\t\tlse += math.Exp(val - maxval)\n\t}\n\t// Take the log and add back on the constant taken out\n\treturn math.Log(lse) + maxval\n}\n\n// Max returns the maximum value in the input slice. If the slice is empty, Max will panic.\nfunc Max(s []float64) float64 {\n\treturn s[MaxIdx(s)]\n}\n\n// MaxIdx returns the index of the maximum value in the input slice. If several\n// entries have the maximum value, the first such index is returned. If the slice\n// is empty, MaxIdx will panic.\nfunc MaxIdx(s []float64) int {\n\tif len(s) == 0 {\n\t\tpanic(\"floats: zero slice length\")\n\t}\n\tmax := s[0]\n\tvar ind int\n\tfor i, v := range s {\n\t\tif v > max {\n\t\t\tmax = v\n\t\t\tind = i\n\t\t}\n\t}\n\treturn ind\n}\n\n// Min returns the maximum value in the input slice. If the slice is empty, Min will panic.\nfunc Min(s []float64) float64 {\n\treturn s[MinIdx(s)]\n}\n\n// MinIdx returns the index of the minimum value in the input slice. If several\n// entries have the maximum value, the first such index is returned. If the slice\n// is empty, MinIdx will panic.\nfunc MinIdx(s []float64) int {\n\tmin := s[0]\n\tvar ind int\n\tfor i, v := range s {\n\t\tif v < min {\n\t\t\tmin = v\n\t\t\tind = i\n\t\t}\n\t}\n\treturn ind\n}\n\n// Mul performs element-wise multiplication between dst\n// and s and stores the value in dst. Panics if the\n// lengths of s and t are not equal.\nfunc Mul(dst, s []float64) {\n\tif len(dst) != len(s) {\n\t\tpanic(\"floats: slice lengths do not match\")\n\t}\n\tfor i, val := range s {\n\t\tdst[i] *= val\n\t}\n}\n\n// MulTo performs element-wise multiplication between s\n// and t and stores the value in dst. Panics if the\n// lengths of s, t, and dst are not equal.\nfunc MulTo(dst, s, t []float64) []float64 {\n\tif len(s) != len(t) || len(dst) != len(t) {\n\t\tpanic(\"floats: slice lengths do not match\")\n\t}\n\tfor i, val := range t {\n\t\tdst[i] = val * s[i]\n\t}\n\treturn dst\n}\n\nconst (\n\tnanBits = 0x7ff8000000000000\n\tnanMask = 0xfff8000000000000\n)\n\n// NaNWith returns an IEEE 754 \"quiet not-a-number\" value with the\n// payload specified in the low 51 bits of payload.\n// The NaN returned by math.NaN has a bit pattern equal to NaNWith(1).\nfunc NaNWith(payload uint64) float64 {\n\treturn math.Float64frombits(nanBits | (payload &^ nanMask))\n}\n\n// NaNPayload returns the lowest 51 bits payload of an IEEE 754 \"quiet\n// not-a-number\". For values of f other than quiet-NaN, NaNPayload\n// returns zero and false.\nfunc NaNPayload(f float64) (payload uint64, ok bool) {\n\tb := math.Float64bits(f)\n\tif b&nanBits != nanBits {\n\t\treturn 0, false\n\t}\n\treturn b &^ nanMask, true\n}\n\n// Nearest returns the index of the element in s\n// whose value is nearest to v.  If several such\n// elements exist, the lowest index is returned.\n// Panics if len(s) == 0.\nfunc Nearest(s []float64, v float64) int {\n\tvar ind int\n\tdist := math.Abs(v - s[0])\n\tfor i, val := range s {\n\t\tnewDist := math.Abs(v - val)\n\t\tif newDist < dist {\n\t\t\tdist = newDist\n\t\t\tind = i\n\t\t}\n\t}\n\treturn ind\n}\n\n// NearestWithinSpan return the index of a hypothetical vector created\n// by Span with length n and bounds l and u whose value is closest\n// to v. NearestWithinSpan panics if u < l. If the value is greater than u or\n// less than l, the function returns -1.\nfunc NearestWithinSpan(n int, l, u float64, v float64) int {\n\tif u < l {\n\t\tpanic(\"floats: upper bound greater than lower bound\")\n\t}\n\tif v < l || v > u {\n\t\treturn -1\n\t}\n\t// Can't guarantee anything about exactly halfway between\n\t// because of floating point weirdness.\n\treturn int((float64(n)-1)/(u-l)*(v-l) + 0.5)\n}\n\n// Norm returns the L norm of the slice S, defined as\n// (sum_{i=1}^N s[i]^L)^{1/L}\n// Special cases:\n// L = math.Inf(1) gives the maximum absolute value.\n// Does not correctly compute the zero norm (use Count).\nfunc Norm(s []float64, L float64) float64 {\n\t// Should this complain if L is not positive?\n\t// Should this be done in log space for better numerical stability?\n\t//\twould be more cost\n\t//\tmaybe only if L is high?\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tif L == 2 {\n\t\ttwoNorm := math.Abs(s[0])\n\t\tfor i := 1; i < len(s); i++ {\n\t\t\ttwoNorm = math.Hypot(twoNorm, s[i])\n\t\t}\n\t\treturn twoNorm\n\t}\n\tvar norm float64\n\tif L == 1 {\n\t\tfor _, val := range s {\n\t\t\tnorm += math.Abs(val)\n\t\t}\n\t\treturn norm\n\t}\n\tif math.IsInf(L, 1) {\n\t\tfor _, val := range s {\n\t\t\tnorm = math.Max(norm, math.Abs(val))\n\t\t}\n\t\treturn norm\n\t}\n\tfor _, val := range s {\n\t\tnorm += math.Pow(math.Abs(val), L)\n\t}\n\treturn math.Pow(norm, 1/L)\n}\n\n// ParseWithNA converts the string s to a float64 in v.\n// If s equals missing, w is returned as 0, otherwise 1.\nfunc ParseWithNA(s, missing string) (v, w float64, err error) {\n\tif s == missing {\n\t\treturn 0, 0, nil\n\t}\n\tv, err = strconv.ParseFloat(s, 64)\n\tif err == nil {\n\t\tw = 1\n\t}\n\treturn v, w, err\n}\n\n// Prod returns the product of the elements of the slice.\n// Returns 1 if len(s) = 0.\nfunc Prod(s []float64) float64 {\n\tprod := 1.0\n\tfor _, val := range s {\n\t\tprod *= val\n\t}\n\treturn prod\n}\n\n// Reverse reverses the order of elements in the slice.\nfunc Reverse(s []float64) {\n\tfor i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 {\n\t\ts[i], s[j] = s[j], s[i]\n\t}\n}\n\n// Round returns the half away from zero rounded value of x with prec precision.\n//\n// Special cases are:\n// \tRound(±0) = +0\n// \tRound(±Inf) = ±Inf\n// \tRound(NaN) = NaN\nfunc Round(x float64, prec int) float64 {\n\tif x == 0 {\n\t\t// Make sure zero is returned\n\t\t// without the negative bit set.\n\t\treturn 0\n\t}\n\t// Fast path for positive precision on integers.\n\tif prec >= 0 && x == math.Trunc(x) {\n\t\treturn x\n\t}\n\tpow := math.Pow10(prec)\n\tintermed := x * pow\n\tif math.IsInf(intermed, 0) {\n\t\treturn x\n\t}\n\tif x < 0 {\n\t\tx = math.Ceil(intermed - 0.5)\n\t} else {\n\t\tx = math.Floor(intermed + 0.5)\n\t}\n\n\tif x == 0 {\n\t\treturn 0\n\t}\n\n\treturn x / pow\n}\n\n// RoundEven returns the half even rounded value of x with prec precision.\n//\n// Special cases are:\n// \tRoundEven(±0) = +0\n// \tRoundEven(±Inf) = ±Inf\n// \tRoundEven(NaN) = NaN\nfunc RoundEven(x float64, prec int) float64 {\n\tif x == 0 {\n\t\t// Make sure zero is returned\n\t\t// without the negative bit set.\n\t\treturn 0\n\t}\n\t// Fast path for positive precision on integers.\n\tif prec >= 0 && x == math.Trunc(x) {\n\t\treturn x\n\t}\n\tpow := math.Pow10(prec)\n\tintermed := x * pow\n\tif math.IsInf(intermed, 0) {\n\t\treturn x\n\t}\n\tif isHalfway(intermed) {\n\t\tcorrection, _ := math.Modf(math.Mod(intermed, 2))\n\t\tintermed += correction\n\t\tif intermed > 0 {\n\t\t\tx = math.Floor(intermed)\n\t\t} else {\n\t\t\tx = math.Ceil(intermed)\n\t\t}\n\t} else {\n\t\tif x < 0 {\n\t\t\tx = math.Ceil(intermed - 0.5)\n\t\t} else {\n\t\t\tx = math.Floor(intermed + 0.5)\n\t\t}\n\t}\n\n\tif x == 0 {\n\t\treturn 0\n\t}\n\n\treturn x / pow\n}\n\nfunc isHalfway(x float64) bool {\n\t_, frac := math.Modf(x)\n\tfrac = math.Abs(frac)\n\treturn frac == 0.5 || (math.Nextafter(frac, math.Inf(-1)) < 0.5 && math.Nextafter(frac, math.Inf(1)) > 0.5)\n}\n\n// Same returns true if the input slices have the same length and the all elements\n// have the same value with NaN treated as the same.\nfunc Same(s, t []float64) bool {\n\tif len(s) != len(t) {\n\t\treturn false\n\t}\n\tfor i, v := range s {\n\t\tw := t[i]\n\t\tif v != w && !math.IsNaN(v) && !math.IsNaN(w) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// Scale multiplies every element in dst by the scalar c.\nfunc Scale(c float64, dst []float64) {\n\tif len(dst) > 0 {\n\t\tf64.ScalUnitary(c, dst)\n\t}\n}\n\n// Span returns a set of N equally spaced points between l and u, where N\n// is equal to the length of the destination. The first element of the destination\n// is l, the final element of the destination is u.\n// Panics if len(dst) < 2.\n//\n// Also returns the mutated slice dst, so that it can be used in range expressions, like:\n//\n//     for i, x := range Span(dst, l, u) { ... }\nfunc Span(dst []float64, l, u float64) []float64 {\n\tn := len(dst)\n\tif n < 2 {\n\t\tpanic(\"floats: destination must have length >1\")\n\t}\n\tstep := (u - l) / float64(n-1)\n\tfor i := range dst {\n\t\tdst[i] = l + step*float64(i)\n\t}\n\treturn dst\n}\n\n// Sub subtracts, element-wise, the elements of s from dst. Panics if\n// the lengths of dst and s do not match.\nfunc Sub(dst, s []float64) {\n\tif len(dst) != len(s) {\n\t\tpanic(\"floats: length of the slices do not match\")\n\t}\n\tf64.AxpyUnitaryTo(dst, -1, s, dst)\n}\n\n// SubTo subtracts, element-wise, the elements of t from s and\n// stores the result in dst. Panics if the lengths of s, t and dst do not match.\nfunc SubTo(dst, s, t []float64) []float64 {\n\tif len(s) != len(t) {\n\t\tpanic(\"floats: length of subtractor and subtractee do not match\")\n\t}\n\tif len(dst) != len(s) {\n\t\tpanic(\"floats: length of destination does not match length of subtractor\")\n\t}\n\tf64.AxpyUnitaryTo(dst, -1, t, s)\n\treturn dst\n}\n\n// Sum returns the sum of the elements of the slice.\nfunc Sum(s []float64) float64 {\n\tvar sum float64\n\tfor _, val := range s {\n\t\tsum += val\n\t}\n\treturn sum\n}\n\n// Within returns the first index i where s[i] <= v < s[i+1]. Within panics if:\n//  - len(s) < 2\n//  - s is not sorted\nfunc Within(s []float64, v float64) int {\n\tif len(s) < 2 {\n\t\tpanic(\"floats: slice length less than 2\")\n\t}\n\tif !sort.Float64sAreSorted(s) {\n\t\tpanic(\"floats: input slice not sorted\")\n\t}\n\tif v < s[0] || v >= s[len(s)-1] || math.IsNaN(v) {\n\t\treturn -1\n\t}\n\tfor i, f := range s[1:] {\n\t\tif v < f {\n\t\t\treturn i\n\t\t}\n\t}\n\treturn -1\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/axpyinc_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// MOVDDUP X2, X3\n#define MOVDDUP_X2_X3 BYTE $0xF2; BYTE $0x0F; BYTE $0x12; BYTE $0xDA\n// MOVDDUP X4, X5\n#define MOVDDUP_X4_X5 BYTE $0xF2; BYTE $0x0F; BYTE $0x12; BYTE $0xEC\n// MOVDDUP X6, X7\n#define MOVDDUP_X6_X7 BYTE $0xF2; BYTE $0x0F; BYTE $0x12; BYTE $0xFE\n// MOVDDUP X8, X9\n#define MOVDDUP_X8_X9 BYTE $0xF2; BYTE $0x45; BYTE $0x0F; BYTE $0x12; BYTE $0xC8\n\n// ADDSUBPD X2, X3\n#define ADDSUBPD_X2_X3 BYTE $0x66; BYTE $0x0F; BYTE $0xD0; BYTE $0xDA\n// ADDSUBPD X4, X5\n#define ADDSUBPD_X4_X5 BYTE $0x66; BYTE $0x0F; BYTE $0xD0; BYTE $0xEC\n// ADDSUBPD X6, X7\n#define ADDSUBPD_X6_X7 BYTE $0x66; BYTE $0x0F; BYTE $0xD0; BYTE $0xFE\n// ADDSUBPD X8, X9\n#define ADDSUBPD_X8_X9 BYTE $0x66; BYTE $0x45; BYTE $0x0F; BYTE $0xD0; BYTE $0xC8\n\n// func AxpyInc(alpha complex128, x, y []complex128, n, incX, incY, ix, iy uintptr)\nTEXT ·AxpyInc(SB), NOSPLIT, $0\n\tMOVQ   x_base+16(FP), SI // SI = &x\n\tMOVQ   y_base+40(FP), DI // DI = &y\n\tMOVQ   n+64(FP), CX      // CX = n\n\tCMPQ   CX, $0            // if n==0 { return }\n\tJE     axpyi_end\n\tMOVQ   ix+88(FP), R8     // R8 = ix  // Load the first index\n\tSHLQ   $4, R8            // R8 *= sizeof(complex128)\n\tMOVQ   iy+96(FP), R9     // R9 = iy\n\tSHLQ   $4, R9            // R9 *= sizeof(complex128)\n\tLEAQ   (SI)(R8*1), SI    // SI = &(x[ix])\n\tLEAQ   (DI)(R9*1), DI    // DI = &(y[iy])\n\tMOVQ   DI, DX            // DX = DI      // Separate Read/Write pointers\n\tMOVQ   incX+72(FP), R8   // R8 = incX\n\tSHLQ   $4, R8            // R8 *= sizeof(complex128)\n\tMOVQ   incY+80(FP), R9   // R9 = iy\n\tSHLQ   $4, R9            // R9 *= sizeof(complex128)\n\tMOVUPS alpha+0(FP), X0   // X0 = { imag(a), real(a) }\n\tMOVAPS X0, X1\n\tSHUFPD $0x1, X1, X1      // X1 = { real(a), imag(a) }\n\tMOVAPS X0, X10           // Copy X0 and X1 for pipelining\n\tMOVAPS X1, X11\n\tMOVQ   CX, BX\n\tANDQ   $3, CX            // CX = n % 4\n\tSHRQ   $2, BX            // BX = floor( n / 4 )\n\tJZ     axpyi_tail        // if BX == 0 { goto axpyi_tail }\n\naxpyi_loop: // do {\n\tMOVUPS (SI), X2       // X_i = { imag(x[i]), real(x[i]) }\n\tMOVUPS (SI)(R8*1), X4\n\tLEAQ   (SI)(R8*2), SI // SI = &(SI[incX*2])\n\tMOVUPS (SI), X6\n\tMOVUPS (SI)(R8*1), X8\n\n\t// X_(i+1) = { real(x[i], real(x[i]) }\n\tMOVDDUP_X2_X3\n\tMOVDDUP_X4_X5\n\tMOVDDUP_X6_X7\n\tMOVDDUP_X8_X9\n\n\t// X_i = { imag(x[i]), imag(x[i]) }\n\tSHUFPD $0x3, X2, X2\n\tSHUFPD $0x3, X4, X4\n\tSHUFPD $0x3, X6, X6\n\tSHUFPD $0x3, X8, X8\n\n\t// X_i     = { real(a) * imag(x[i]), imag(a) * imag(x[i])  }\n\t// X_(i+1) = { imag(a) * real(x[i]), real(a) * real(x[i])  }\n\tMULPD X1, X2\n\tMULPD X0, X3\n\tMULPD X11, X4\n\tMULPD X10, X5\n\tMULPD X1, X6\n\tMULPD X0, X7\n\tMULPD X11, X8\n\tMULPD X10, X9\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDSUBPD_X4_X5\n\tADDSUBPD_X6_X7\n\tADDSUBPD_X8_X9\n\n\t// X_(i+1) = { imag(result[i]) + imag(y[i]), real(result[i]) + real(y[i]) }\n\tADDPD  (DX), X3\n\tADDPD  (DX)(R9*1), X5\n\tLEAQ   (DX)(R9*2), DX // DX = &(DX[incY*2])\n\tADDPD  (DX), X7\n\tADDPD  (DX)(R9*1), X9\n\tMOVUPS X3, (DI)       // dst[i] = X_(i+1)\n\tMOVUPS X5, (DI)(R9*1)\n\tLEAQ   (DI)(R9*2), DI\n\tMOVUPS X7, (DI)\n\tMOVUPS X9, (DI)(R9*1)\n\tLEAQ   (SI)(R8*2), SI // SI = &(SI[incX*2])\n\tLEAQ   (DX)(R9*2), DX // DX = &(DX[incY*2])\n\tLEAQ   (DI)(R9*2), DI // DI = &(DI[incY*2])\n\tDECQ   BX\n\tJNZ    axpyi_loop     // } while --BX > 0\n\tCMPQ   CX, $0         // if CX == 0 { return }\n\tJE     axpyi_end\n\naxpyi_tail: // do {\n\tMOVUPS (SI), X2     // X_i = { imag(x[i]), real(x[i]) }\n\tMOVDDUP_X2_X3       // X_(i+1) = { real(x[i], real(x[i]) }\n\tSHUFPD $0x3, X2, X2 // X_i = { imag(x[i]), imag(x[i]) }\n\tMULPD  X1, X2       // X_i     = { real(a) * imag(x[i]), imag(a) * imag(x[i])  }\n\tMULPD  X0, X3       // X_(i+1) = { imag(a) * real(x[i]), real(a) * real(x[i])  }\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\n\t// X_(i+1) = { imag(result[i]) + imag(y[i]), real(result[i]) + real(y[i]) }\n\tADDPD  (DI), X3\n\tMOVUPS X3, (DI)   // y[i] = X_i\n\tADDQ   R8, SI     // SI = &(SI[incX])\n\tADDQ   R9, DI     // DI = &(DI[incY])\n\tLOOP   axpyi_tail // } while --CX > 0\n\naxpyi_end:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/axpyincto_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// MOVDDUP X2, X3\n#define MOVDDUP_X2_X3 BYTE $0xF2; BYTE $0x0F; BYTE $0x12; BYTE $0xDA\n// MOVDDUP X4, X5\n#define MOVDDUP_X4_X5 BYTE $0xF2; BYTE $0x0F; BYTE $0x12; BYTE $0xEC\n// MOVDDUP X6, X7\n#define MOVDDUP_X6_X7 BYTE $0xF2; BYTE $0x0F; BYTE $0x12; BYTE $0xFE\n// MOVDDUP X8, X9\n#define MOVDDUP_X8_X9 BYTE $0xF2; BYTE $0x45; BYTE $0x0F; BYTE $0x12; BYTE $0xC8\n\n// ADDSUBPD X2, X3\n#define ADDSUBPD_X2_X3 BYTE $0x66; BYTE $0x0F; BYTE $0xD0; BYTE $0xDA\n// ADDSUBPD X4, X5\n#define ADDSUBPD_X4_X5 BYTE $0x66; BYTE $0x0F; BYTE $0xD0; BYTE $0xEC\n// ADDSUBPD X6, X7\n#define ADDSUBPD_X6_X7 BYTE $0x66; BYTE $0x0F; BYTE $0xD0; BYTE $0xFE\n// ADDSUBPD X8, X9\n#define ADDSUBPD_X8_X9 BYTE $0x66; BYTE $0x45; BYTE $0x0F; BYTE $0xD0; BYTE $0xC8\n\n// func AxpyIncTo(dst []complex128, incDst, idst uintptr, alpha complex128, x, y []complex128, n, incX, incY, ix, iy uintptr)\nTEXT ·AxpyIncTo(SB), NOSPLIT, $0\n\tMOVQ   dst_base+0(FP), DI // DI = &dst\n\tMOVQ   x_base+56(FP), SI  // SI = &x\n\tMOVQ   y_base+80(FP), DX  // DX = &y\n\tMOVQ   n+104(FP), CX      // CX = n\n\tCMPQ   CX, $0             // if n==0 { return }\n\tJE     axpyi_end\n\tMOVQ   ix+128(FP), R8     // R8 = ix  // Load the first index\n\tSHLQ   $4, R8             // R8 *= sizeof(complex128)\n\tMOVQ   iy+136(FP), R9     // R9 = iy\n\tSHLQ   $4, R9             // R9 *= sizeof(complex128)\n\tMOVQ   idst+32(FP), R10   // R10 = idst\n\tSHLQ   $4, R10            // R10 *= sizeof(complex128)\n\tLEAQ   (SI)(R8*1), SI     // SI = &(x[ix])\n\tLEAQ   (DX)(R9*1), DX     // DX = &(y[iy])\n\tLEAQ   (DI)(R10*1), DI    // DI = &(dst[idst])\n\tMOVQ   incX+112(FP), R8   // R8 = incX\n\tSHLQ   $4, R8             // R8 *= sizeof(complex128)\n\tMOVQ   incY+120(FP), R9   // R9 = incY\n\tSHLQ   $4, R9             // R9 *= sizeof(complex128)\n\tMOVQ   incDst+24(FP), R10 // R10 = incDst\n\tSHLQ   $4, R10            // R10 *= sizeof(complex128)\n\tMOVUPS alpha+40(FP), X0   // X0 = { imag(a), real(a) }\n\tMOVAPS X0, X1\n\tSHUFPD $0x1, X1, X1       // X1 = { real(a), imag(a) }\n\tMOVAPS X0, X10            // Copy X0 and X1 for pipelining\n\tMOVAPS X1, X11\n\tMOVQ   CX, BX\n\tANDQ   $3, CX             // CX = n % 4\n\tSHRQ   $2, BX             // BX = floor( n / 4 )\n\tJZ     axpyi_tail         // if BX == 0 { goto axpyi_tail }\n\naxpyi_loop: // do {\n\tMOVUPS (SI), X2       // X_i = { imag(x[i]), real(x[i]) }\n\tMOVUPS (SI)(R8*1), X4\n\tLEAQ   (SI)(R8*2), SI // SI = &(SI[incX*2])\n\n\tMOVUPS (SI), X6\n\tMOVUPS (SI)(R8*1), X8\n\n\t// X_(i+1) = { real(x[i], real(x[i]) }\n\tMOVDDUP_X2_X3\n\tMOVDDUP_X4_X5\n\tMOVDDUP_X6_X7\n\tMOVDDUP_X8_X9\n\n\t// X_i = { imag(x[i]), imag(x[i]) }\n\tSHUFPD $0x3, X2, X2\n\tSHUFPD $0x3, X4, X4\n\tSHUFPD $0x3, X6, X6\n\tSHUFPD $0x3, X8, X8\n\n\t// X_i     = { real(a) * imag(x[i]), imag(a) * imag(x[i])  }\n\t// X_(i+1) = { imag(a) * real(x[i]), real(a) * real(x[i])  }\n\tMULPD X1, X2\n\tMULPD X0, X3\n\tMULPD X11, X4\n\tMULPD X10, X5\n\tMULPD X1, X6\n\tMULPD X0, X7\n\tMULPD X11, X8\n\tMULPD X10, X9\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDSUBPD_X4_X5\n\tADDSUBPD_X6_X7\n\tADDSUBPD_X8_X9\n\n\t// X_(i+1) = { imag(result[i]) + imag(y[i]), real(result[i]) + real(y[i]) }\n\tADDPD  (DX), X3\n\tADDPD  (DX)(R9*1), X5\n\tLEAQ   (DX)(R9*2), DX  // DX = &(DX[incY*2])\n\tADDPD  (DX), X7\n\tADDPD  (DX)(R9*1), X9\n\tMOVUPS X3, (DI)        // dst[i] = X_(i+1)\n\tMOVUPS X5, (DI)(R10*1)\n\tLEAQ   (DI)(R10*2), DI\n\tMOVUPS X7, (DI)\n\tMOVUPS X9, (DI)(R10*1)\n\tLEAQ   (SI)(R8*2), SI  // SI = &(SI[incX*2])\n\tLEAQ   (DX)(R9*2), DX  // DX = &(DX[incY*2])\n\tLEAQ   (DI)(R10*2), DI // DI = &(DI[incDst*2])\n\tDECQ   BX\n\tJNZ    axpyi_loop      // } while --BX > 0\n\tCMPQ   CX, $0          // if CX == 0 { return }\n\tJE     axpyi_end\n\naxpyi_tail: // do {\n\tMOVUPS (SI), X2     // X_i = { imag(x[i]), real(x[i]) }\n\tMOVDDUP_X2_X3       // X_(i+1) = { real(x[i], real(x[i]) }\n\tSHUFPD $0x3, X2, X2 // X_i = { imag(x[i]), imag(x[i]) }\n\tMULPD  X1, X2       // X_i     = { real(a) * imag(x[i]), imag(a) * imag(x[i])  }\n\tMULPD  X0, X3       // X_(i+1) = { imag(a) * real(x[i]), real(a) * real(x[i])  }\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\n\t// X_(i+1) = { imag(result[i]) + imag(y[i]), real(result[i]) + real(y[i]) }\n\tADDPD  (DX), X3\n\tMOVUPS X3, (DI)   // y[i] X_(i+1)\n\tADDQ   R8, SI     // SI += incX\n\tADDQ   R9, DX     // DX += incY\n\tADDQ   R10, DI    // DI += incDst\n\tLOOP   axpyi_tail // } while --CX > 0\n\naxpyi_end:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/axpyunitary_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// MOVDDUP X2, X3\n#define MOVDDUP_X2_X3 BYTE $0xF2; BYTE $0x0F; BYTE $0x12; BYTE $0xDA\n// MOVDDUP X4, X5\n#define MOVDDUP_X4_X5 BYTE $0xF2; BYTE $0x0F; BYTE $0x12; BYTE $0xEC\n// MOVDDUP X6, X7\n#define MOVDDUP_X6_X7 BYTE $0xF2; BYTE $0x0F; BYTE $0x12; BYTE $0xFE\n// MOVDDUP X8, X9\n#define MOVDDUP_X8_X9 BYTE $0xF2; BYTE $0x45; BYTE $0x0F; BYTE $0x12; BYTE $0xC8\n\n// ADDSUBPD X2, X3\n#define ADDSUBPD_X2_X3 BYTE $0x66; BYTE $0x0F; BYTE $0xD0; BYTE $0xDA\n// ADDSUBPD X4, X5\n#define ADDSUBPD_X4_X5 BYTE $0x66; BYTE $0x0F; BYTE $0xD0; BYTE $0xEC\n// ADDSUBPD X6, X7\n#define ADDSUBPD_X6_X7 BYTE $0x66; BYTE $0x0F; BYTE $0xD0; BYTE $0xFE\n// ADDSUBPD X8, X9\n#define ADDSUBPD_X8_X9 BYTE $0x66; BYTE $0x45; BYTE $0x0F; BYTE $0xD0; BYTE $0xC8\n\n// func AxpyUnitary(alpha complex128, x, y []complex128)\nTEXT ·AxpyUnitary(SB), NOSPLIT, $0\n\tMOVQ    x_base+16(FP), SI // SI = &x\n\tMOVQ    y_base+40(FP), DI // DI = &y\n\tMOVQ    x_len+24(FP), CX  // CX = min( len(x), len(y) )\n\tCMPQ    y_len+48(FP), CX\n\tCMOVQLE y_len+48(FP), CX\n\tCMPQ    CX, $0            // if CX == 0 { return }\n\tJE      caxy_end\n\tPXOR    X0, X0            // Clear work registers and cache-align loop\n\tPXOR    X1, X1\n\tMOVUPS  alpha+0(FP), X0   // X0 = { imag(a), real(a) }\n\tMOVAPS  X0, X1\n\tSHUFPD  $0x1, X1, X1      // X1 = { real(a), imag(a) }\n\tXORQ    AX, AX            // i = 0\n\tMOVAPS  X0, X10           // Copy X0 and X1 for pipelining\n\tMOVAPS  X1, X11\n\tMOVQ    CX, BX\n\tANDQ    $3, CX            // CX = n % 4\n\tSHRQ    $2, BX            // BX = floor( n / 4 )\n\tJZ      caxy_tail         // if BX == 0 { goto caxy_tail }\n\ncaxy_loop: // do {\n\tMOVUPS (SI)(AX*8), X2   // X_i = { imag(x[i]), real(x[i]) }\n\tMOVUPS 16(SI)(AX*8), X4\n\tMOVUPS 32(SI)(AX*8), X6\n\tMOVUPS 48(SI)(AX*8), X8\n\n\t// X_(i+1) = { real(x[i], real(x[i]) }\n\tMOVDDUP_X2_X3\n\tMOVDDUP_X4_X5\n\tMOVDDUP_X6_X7\n\tMOVDDUP_X8_X9\n\n\t// X_i = { imag(x[i]), imag(x[i]) }\n\tSHUFPD $0x3, X2, X2\n\tSHUFPD $0x3, X4, X4\n\tSHUFPD $0x3, X6, X6\n\tSHUFPD $0x3, X8, X8\n\n\t// X_i     = { real(a) * imag(x[i]), imag(a) * imag(x[i])  }\n\t// X_(i+1) = { imag(a) * real(x[i]), real(a) * real(x[i])  }\n\tMULPD X1, X2\n\tMULPD X0, X3\n\tMULPD X11, X4\n\tMULPD X10, X5\n\tMULPD X1, X6\n\tMULPD X0, X7\n\tMULPD X11, X8\n\tMULPD X10, X9\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDSUBPD_X4_X5\n\tADDSUBPD_X6_X7\n\tADDSUBPD_X8_X9\n\n\t// X_(i+1) = { imag(result[i]) + imag(y[i]), real(result[i]) + real(y[i]) }\n\tADDPD  (DI)(AX*8), X3\n\tADDPD  16(DI)(AX*8), X5\n\tADDPD  32(DI)(AX*8), X7\n\tADDPD  48(DI)(AX*8), X9\n\tMOVUPS X3, (DI)(AX*8)   // y[i] = X_(i+1)\n\tMOVUPS X5, 16(DI)(AX*8)\n\tMOVUPS X7, 32(DI)(AX*8)\n\tMOVUPS X9, 48(DI)(AX*8)\n\tADDQ   $8, AX           // i += 8\n\tDECQ   BX\n\tJNZ    caxy_loop        // } while --BX > 0\n\tCMPQ   CX, $0           // if CX == 0 { return }\n\tJE     caxy_end\n\ncaxy_tail: // do {\n\tMOVUPS (SI)(AX*8), X2 // X_i = { imag(x[i]), real(x[i]) }\n\tMOVDDUP_X2_X3         // X_(i+1) = { real(x[i], real(x[i]) }\n\tSHUFPD $0x3, X2, X2   // X_i = { imag(x[i]), imag(x[i]) }\n\tMULPD  X1, X2         // X_i     = { real(a) * imag(x[i]), imag(a) * imag(x[i])  }\n\tMULPD  X0, X3         // X_(i+1) = { imag(a) * real(x[i]), real(a) * real(x[i])  }\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\n\t// X_(i+1) = { imag(result[i]) + imag(y[i]), real(result[i]) + real(y[i]) }\n\tADDPD  (DI)(AX*8), X3\n\tMOVUPS X3, (DI)(AX*8) // y[i] = X_(i+1)\n\tADDQ   $2, AX         // i += 2\n\tLOOP   caxy_tail      // }  while --CX > 0\n\ncaxy_end:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/axpyunitaryto_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// MOVDDUP X2, X3\n#define MOVDDUP_X2_X3 BYTE $0xF2; BYTE $0x0F; BYTE $0x12; BYTE $0xDA\n// MOVDDUP X4, X5\n#define MOVDDUP_X4_X5 BYTE $0xF2; BYTE $0x0F; BYTE $0x12; BYTE $0xEC\n// MOVDDUP X6, X7\n#define MOVDDUP_X6_X7 BYTE $0xF2; BYTE $0x0F; BYTE $0x12; BYTE $0xFE\n// MOVDDUP X8, X9\n#define MOVDDUP_X8_X9 BYTE $0xF2; BYTE $0x45; BYTE $0x0F; BYTE $0x12; BYTE $0xC8\n\n// ADDSUBPD X2, X3\n#define ADDSUBPD_X2_X3 BYTE $0x66; BYTE $0x0F; BYTE $0xD0; BYTE $0xDA\n// ADDSUBPD X4, X5\n#define ADDSUBPD_X4_X5 BYTE $0x66; BYTE $0x0F; BYTE $0xD0; BYTE $0xEC\n// ADDSUBPD X6, X7\n#define ADDSUBPD_X6_X7 BYTE $0x66; BYTE $0x0F; BYTE $0xD0; BYTE $0xFE\n// ADDSUBPD X8, X9\n#define ADDSUBPD_X8_X9 BYTE $0x66; BYTE $0x45; BYTE $0x0F; BYTE $0xD0; BYTE $0xC8\n\n// func AxpyUnitaryTo(dst []complex128, alpha complex64, x, y []complex128)\nTEXT ·AxpyUnitaryTo(SB), NOSPLIT, $0\n\tMOVQ    dst_base+0(FP), DI // DI = &dst\n\tMOVQ    x_base+40(FP), SI  // SI = &x\n\tMOVQ    y_base+64(FP), DX  // DX = &y\n\tMOVQ    x_len+48(FP), CX   // CX = min( len(x), len(y), len(dst) )\n\tCMPQ    y_len+72(FP), CX\n\tCMOVQLE y_len+72(FP), CX\n\tCMPQ    dst_len+8(FP), CX\n\tCMOVQLE dst_len+8(FP), CX\n\tCMPQ    CX, $0             // if CX == 0 { return }\n\tJE      caxy_end\n\tMOVUPS  alpha+24(FP), X0   // X0 = { imag(a), real(a) }\n\tMOVAPS  X0, X1\n\tSHUFPD  $0x1, X1, X1       // X1 = { real(a), imag(a) }\n\tXORQ    AX, AX             // i = 0\n\tMOVAPS  X0, X10            // Copy X0 and X1 for pipelining\n\tMOVAPS  X1, X11\n\tMOVQ    CX, BX\n\tANDQ    $3, CX             // CX = n % 4\n\tSHRQ    $2, BX             // BX = floor( n / 4 )\n\tJZ      caxy_tail          // if BX == 0 { goto caxy_tail }\n\ncaxy_loop: // do {\n\tMOVUPS (SI)(AX*8), X2   // X_i = { imag(x[i]), real(x[i]) }\n\tMOVUPS 16(SI)(AX*8), X4\n\tMOVUPS 32(SI)(AX*8), X6\n\tMOVUPS 48(SI)(AX*8), X8\n\n\t// X_(i+1) = { real(x[i], real(x[i]) }\n\tMOVDDUP_X2_X3 // Load and duplicate imag elements (xi, xi)\n\tMOVDDUP_X4_X5\n\tMOVDDUP_X6_X7\n\tMOVDDUP_X8_X9\n\n\t// X_i = { imag(x[i]), imag(x[i]) }\n\tSHUFPD $0x3, X2, X2 // duplicate real elements (xr, xr)\n\tSHUFPD $0x3, X4, X4\n\tSHUFPD $0x3, X6, X6\n\tSHUFPD $0x3, X8, X8\n\n\t// X_i     = { real(a) * imag(x[i]), imag(a) * imag(x[i])  }\n\t// X_(i+1) = { imag(a) * real(x[i]), real(a) * real(x[i])  }\n\tMULPD X1, X2\n\tMULPD X0, X3\n\tMULPD X11, X4\n\tMULPD X10, X5\n\tMULPD X1, X6\n\tMULPD X0, X7\n\tMULPD X11, X8\n\tMULPD X10, X9\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDSUBPD_X4_X5\n\tADDSUBPD_X6_X7\n\tADDSUBPD_X8_X9\n\n\t// X_(i+1) = { imag(result[i]) + imag(y[i]), real(result[i]) + real(y[i]) }\n\tADDPD  (DX)(AX*8), X3\n\tADDPD  16(DX)(AX*8), X5\n\tADDPD  32(DX)(AX*8), X7\n\tADDPD  48(DX)(AX*8), X9\n\tMOVUPS X3, (DI)(AX*8)   // y[i] = X_(i+1)\n\tMOVUPS X5, 16(DI)(AX*8)\n\tMOVUPS X7, 32(DI)(AX*8)\n\tMOVUPS X9, 48(DI)(AX*8)\n\tADDQ   $8, AX           // i += 8\n\tDECQ   BX\n\tJNZ    caxy_loop        // } while --BX > 0\n\tCMPQ   CX, $0           // if CX == 0 { return }\n\tJE     caxy_end\n\ncaxy_tail: // Same calculation, but read in values to avoid trampling memory\n\tMOVUPS (SI)(AX*8), X2 // X_i = { imag(x[i]), real(x[i]) }\n\tMOVDDUP_X2_X3         // X_(i+1) = { real(x[i], real(x[i]) }\n\tSHUFPD $0x3, X2, X2   // X_i = { imag(x[i]), imag(x[i]) }\n\tMULPD  X1, X2         // X_i     = { real(a) * imag(x[i]), imag(a) * imag(x[i])  }\n\tMULPD  X0, X3         // X_(i+1) = { imag(a) * real(x[i]), real(a) * real(x[i])  }\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\n\t// X_(i+1) = { imag(result[i]) + imag(y[i]), real(result[i]) + real(y[i]) }\n\tADDPD  (DX)(AX*8), X3\n\tMOVUPS X3, (DI)(AX*8) // y[i] = X_(i+1)\n\tADDQ   $2, AX         // i += 2\n\tLOOP   caxy_tail      // }  while --CX > 0\n\ncaxy_end:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/doc.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package c128 provides complex128 vector primitives.\npackage c128 // import \"gonum.org/v1/gonum/internal/asm/c128\"\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/dotcinc_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define MOVDDUP_XPTR__X3    LONG $0x1E120FF2 // MOVDDUP (SI), X3\n#define MOVDDUP_XPTR_INCX__X5    LONG $0x120F42F2; WORD $0x062C // MOVDDUP (SI)(R8*1), X5\n#define MOVDDUP_XPTR_INCX_2__X7    LONG $0x120F42F2; WORD $0x463C // MOVDDUP (SI)(R8*2), X7\n#define MOVDDUP_XPTR_INCx3X__X9    LONG $0x120F46F2; WORD $0x0E0C // MOVDDUP (SI)(R9*1), X9\n\n#define MOVDDUP_8_XPTR__X2    LONG $0x56120FF2; BYTE $0x08 // MOVDDUP 8(SI), X2\n#define MOVDDUP_8_XPTR_INCX__X4    LONG $0x120F42F2; WORD $0x0664; BYTE $0x08 // MOVDDUP 8(SI)(R8*1), X4\n#define MOVDDUP_8_XPTR_INCX_2__X6    LONG $0x120F42F2; WORD $0x4674; BYTE $0x08 // MOVDDUP 8(SI)(R8*2), X6\n#define MOVDDUP_8_XPTR_INCx3X__X8    LONG $0x120F46F2; WORD $0x0E44; BYTE $0x08 // MOVDDUP 8(SI)(R9*1), X8\n\n#define ADDSUBPD_X2_X3    LONG $0xDAD00F66 // ADDSUBPD X2, X3\n#define ADDSUBPD_X4_X5    LONG $0xECD00F66 // ADDSUBPD X4, X5\n#define ADDSUBPD_X6_X7    LONG $0xFED00F66 // ADDSUBPD X6, X7\n#define ADDSUBPD_X8_X9    LONG $0xD00F4566; BYTE $0xC8 // ADDSUBPD X8, X9\n\n#define X_PTR SI\n#define Y_PTR DI\n#define LEN CX\n#define TAIL BX\n#define SUM X0\n#define P_SUM X1\n#define INC_X R8\n#define INCx3_X R9\n#define INC_Y R10\n#define INCx3_Y R11\n#define NEG1 X15\n#define P_NEG1 X14\n\n// func DotcInc(x, y []complex128, n, incX, incY, ix, iy uintptr) (sum complex128)\nTEXT ·DotcInc(SB), NOSPLIT, $0\n\tMOVQ   x_base+0(FP), X_PTR       // X_PTR = &x\n\tMOVQ   y_base+24(FP), Y_PTR      // Y_PTR = &y\n\tMOVQ   n+48(FP), LEN             // LEN = n\n\tPXOR   SUM, SUM                  // SUM = 0\n\tCMPQ   LEN, $0                   // if LEN == 0 { return }\n\tJE     dot_end\n\tPXOR   P_SUM, P_SUM              // P_SUM = 0\n\tMOVQ   ix+72(FP), INC_X          // INC_X = ix * sizeof(complex128)\n\tSHLQ   $4, INC_X\n\tMOVQ   iy+80(FP), INC_Y          // INC_Y = iy * sizeof(complex128)\n\tSHLQ   $4, INC_Y\n\tLEAQ   (X_PTR)(INC_X*1), X_PTR   // X_PTR = &(X_PTR[ix])\n\tLEAQ   (Y_PTR)(INC_Y*1), Y_PTR   // Y_PTR = &(Y_PTR[iy])\n\tMOVQ   incX+56(FP), INC_X        // INC_X = incX\n\tSHLQ   $4, INC_X                 // INC_X *=  sizeof(complex128)\n\tMOVQ   incY+64(FP), INC_Y        // INC_Y = incY\n\tSHLQ   $4, INC_Y                 // INC_Y *=  sizeof(complex128)\n\tMOVSD  $(-1.0), NEG1\n\tSHUFPD $0, NEG1, NEG1            // { -1, -1 }\n\tMOVQ   LEN, TAIL\n\tANDQ   $3, TAIL                  // TAIL = n % 4\n\tSHRQ   $2, LEN                   // LEN = floor( n / 4 )\n\tJZ     dot_tail                  // if n <= 4 { goto dot_tail }\n\tMOVAPS NEG1, P_NEG1              // Copy NEG1 to P_NEG1 for pipelining\n\tLEAQ   (INC_X)(INC_X*2), INCx3_X // INCx3_X = 3 * incX * sizeof(complex128)\n\tLEAQ   (INC_Y)(INC_Y*2), INCx3_Y // INCx3_Y = 3 * incY * sizeof(complex128)\n\ndot_loop: // do {\n\tMOVDDUP_XPTR__X3        // X_(i+1) = { real(x[i], real(x[i]) }\n\tMOVDDUP_XPTR_INCX__X5\n\tMOVDDUP_XPTR_INCX_2__X7\n\tMOVDDUP_XPTR_INCx3X__X9\n\n\tMOVDDUP_8_XPTR__X2        // X_i = { imag(x[i]), imag(x[i]) }\n\tMOVDDUP_8_XPTR_INCX__X4\n\tMOVDDUP_8_XPTR_INCX_2__X6\n\tMOVDDUP_8_XPTR_INCx3X__X8\n\n\t// X_i = { -imag(x[i]), -imag(x[i]) }\n\tMULPD NEG1, X2\n\tMULPD P_NEG1, X4\n\tMULPD NEG1, X6\n\tMULPD P_NEG1, X8\n\n\t// X_j = { imag(y[i]), real(y[i]) }\n\tMOVUPS (Y_PTR), X10\n\tMOVUPS (Y_PTR)(INC_Y*1), X11\n\tMOVUPS (Y_PTR)(INC_Y*2), X12\n\tMOVUPS (Y_PTR)(INCx3_Y*1), X13\n\n\t// X_(i+1) = { imag(a) * real(x[i]), real(a) * real(x[i])  }\n\tMULPD X10, X3\n\tMULPD X11, X5\n\tMULPD X12, X7\n\tMULPD X13, X9\n\n\t// X_j     = { real(y[i]), imag(y[i]) }\n\tSHUFPD $0x1, X10, X10\n\tSHUFPD $0x1, X11, X11\n\tSHUFPD $0x1, X12, X12\n\tSHUFPD $0x1, X13, X13\n\n\t// X_i     = { real(a) * imag(x[i]), imag(a) * imag(x[i])  }\n\tMULPD X10, X2\n\tMULPD X11, X4\n\tMULPD X12, X6\n\tMULPD X13, X8\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDSUBPD_X4_X5\n\tADDSUBPD_X6_X7\n\tADDSUBPD_X8_X9\n\n\t// psum += result[i]\n\tADDPD X3, SUM\n\tADDPD X5, P_SUM\n\tADDPD X7, SUM\n\tADDPD X9, P_SUM\n\n\tLEAQ (X_PTR)(INC_X*4), X_PTR // X_PTR = &(X_PTR[incX*4])\n\tLEAQ (Y_PTR)(INC_Y*4), Y_PTR // Y_PTR = &(Y_PTR[incY*4])\n\n\tDECQ  LEN\n\tJNZ   dot_loop   // } while --LEN > 0\n\tADDPD P_SUM, SUM // sum += psum\n\tCMPQ  TAIL, $0   // if TAIL == 0 { return }\n\tJE    dot_end\n\ndot_tail: // do {\n\tMOVDDUP_XPTR__X3      // X_(i+1) = { real(x[i], real(x[i]) }\n\tMOVDDUP_8_XPTR__X2    // X_i = { imag(x[i]), imag(x[i]) }\n\tMULPD  NEG1, X2       // X_i     = { -imag(x[i])          , -imag(x[i])           }\n\tMOVUPS (Y_PTR), X10   // X_j     = {  imag(y[i])          ,  real(y[i])           }\n\tMULPD  X10, X3        // X_(i+1) = {  imag(a) * real(x[i]),  real(a) * real(x[i]) }\n\tSHUFPD $0x1, X10, X10 // X_j     = {  real(y[i])          ,  imag(y[i])           }\n\tMULPD  X10, X2        // X_i     = {  real(a) * imag(x[i]),  imag(a) * imag(x[i]) }\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDPD X3, SUM      // sum += result[i]\n\tADDQ  INC_X, X_PTR // X_PTR += incX\n\tADDQ  INC_Y, Y_PTR // Y_PTR += incY\n\tDECQ  TAIL\n\tJNZ   dot_tail     // }  while --TAIL > 0\n\ndot_end:\n\tMOVUPS SUM, sum+88(FP)\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/dotcunitary_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define MOVDDUP_XPTR_IDX_8__X3    LONG $0x1C120FF2; BYTE $0xC6 // MOVDDUP (SI)(AX*8), X3\n#define MOVDDUP_16_XPTR_IDX_8__X5    LONG $0x6C120FF2; WORD $0x10C6 // MOVDDUP 16(SI)(AX*8), X5\n#define MOVDDUP_32_XPTR_IDX_8__X7    LONG $0x7C120FF2; WORD $0x20C6 // MOVDDUP 32(SI)(AX*8), X7\n#define MOVDDUP_48_XPTR_IDX_8__X9    LONG $0x120F44F2; WORD $0xC64C; BYTE $0x30 // MOVDDUP 48(SI)(AX*8), X9\n\n#define MOVDDUP_XPTR_IIDX_8__X2    LONG $0x14120FF2; BYTE $0xD6 // MOVDDUP (SI)(DX*8), X2\n#define MOVDDUP_16_XPTR_IIDX_8__X4    LONG $0x64120FF2; WORD $0x10D6 // MOVDDUP 16(SI)(DX*8), X4\n#define MOVDDUP_32_XPTR_IIDX_8__X6    LONG $0x74120FF2; WORD $0x20D6 // MOVDDUP 32(SI)(DX*8), X6\n#define MOVDDUP_48_XPTR_IIDX_8__X8    LONG $0x120F44F2; WORD $0xD644; BYTE $0x30 // MOVDDUP 48(SI)(DX*8), X8\n\n#define ADDSUBPD_X2_X3    LONG $0xDAD00F66 // ADDSUBPD X2, X3\n#define ADDSUBPD_X4_X5    LONG $0xECD00F66 // ADDSUBPD X4, X5\n#define ADDSUBPD_X6_X7    LONG $0xFED00F66 // ADDSUBPD X6, X7\n#define ADDSUBPD_X8_X9    LONG $0xD00F4566; BYTE $0xC8 // ADDSUBPD X8, X9\n\n#define X_PTR SI\n#define Y_PTR DI\n#define LEN CX\n#define TAIL BX\n#define SUM X0\n#define P_SUM X1\n#define IDX AX\n#define I_IDX DX\n#define NEG1 X15\n#define P_NEG1 X14\n\n// func DotcUnitary(x, y []complex128) (sum complex128)\nTEXT ·DotcUnitary(SB), NOSPLIT, $0\n\tMOVQ    x_base+0(FP), X_PTR  // X_PTR = &x\n\tMOVQ    y_base+24(FP), Y_PTR // Y_PTR = &y\n\tMOVQ    x_len+8(FP), LEN     // LEN = min( len(x), len(y) )\n\tCMPQ    y_len+32(FP), LEN\n\tCMOVQLE y_len+32(FP), LEN\n\tPXOR    SUM, SUM             // sum = 0\n\tCMPQ    LEN, $0              // if LEN == 0 { return }\n\tJE      dot_end\n\tXORPS   P_SUM, P_SUM         // psum = 0\n\tMOVSD   $(-1.0), NEG1\n\tSHUFPD  $0, NEG1, NEG1       // { -1, -1 }\n\tXORQ    IDX, IDX             // i := 0\n\tMOVQ    $1, I_IDX            // j := 1\n\tMOVQ    LEN, TAIL\n\tANDQ    $3, TAIL             // TAIL = floor( TAIL / 4 )\n\tSHRQ    $2, LEN              // LEN = TAIL % 4\n\tJZ      dot_tail             // if LEN == 0 { goto dot_tail }\n\n\tMOVAPS NEG1, P_NEG1 // Copy NEG1 to P_NEG1 for pipelining\n\ndot_loop: // do {\n\tMOVDDUP_XPTR_IDX_8__X3    // X_(i+1) = { real(x[i], real(x[i]) }\n\tMOVDDUP_16_XPTR_IDX_8__X5\n\tMOVDDUP_32_XPTR_IDX_8__X7\n\tMOVDDUP_48_XPTR_IDX_8__X9\n\n\tMOVDDUP_XPTR_IIDX_8__X2    // X_i = { imag(x[i]), imag(x[i]) }\n\tMOVDDUP_16_XPTR_IIDX_8__X4\n\tMOVDDUP_32_XPTR_IIDX_8__X6\n\tMOVDDUP_48_XPTR_IIDX_8__X8\n\n\t// X_i = { -imag(x[i]), -imag(x[i]) }\n\tMULPD NEG1, X2\n\tMULPD P_NEG1, X4\n\tMULPD NEG1, X6\n\tMULPD P_NEG1, X8\n\n\t// X_j = { imag(y[i]), real(y[i]) }\n\tMOVUPS (Y_PTR)(IDX*8), X10\n\tMOVUPS 16(Y_PTR)(IDX*8), X11\n\tMOVUPS 32(Y_PTR)(IDX*8), X12\n\tMOVUPS 48(Y_PTR)(IDX*8), X13\n\n\t// X_(i+1) = { imag(a) * real(x[i]), real(a) * real(x[i])  }\n\tMULPD X10, X3\n\tMULPD X11, X5\n\tMULPD X12, X7\n\tMULPD X13, X9\n\n\t// X_j = { real(y[i]), imag(y[i]) }\n\tSHUFPD $0x1, X10, X10\n\tSHUFPD $0x1, X11, X11\n\tSHUFPD $0x1, X12, X12\n\tSHUFPD $0x1, X13, X13\n\n\t// X_i     = { real(a) * imag(x[i]), imag(a) * imag(x[i])  }\n\tMULPD X10, X2\n\tMULPD X11, X4\n\tMULPD X12, X6\n\tMULPD X13, X8\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDSUBPD_X4_X5\n\tADDSUBPD_X6_X7\n\tADDSUBPD_X8_X9\n\n\t// psum += result[i]\n\tADDPD X3, SUM\n\tADDPD X5, P_SUM\n\tADDPD X7, SUM\n\tADDPD X9, P_SUM\n\n\tADDQ  $8, IDX    // IDX += 8\n\tADDQ  $8, I_IDX  // I_IDX += 8\n\tDECQ  LEN\n\tJNZ   dot_loop   // } while --LEN > 0\n\tADDPD P_SUM, SUM // sum += psum\n\tCMPQ  TAIL, $0   // if TAIL == 0 { return }\n\tJE    dot_end\n\ndot_tail: // do {\n\tMOVDDUP_XPTR_IDX_8__X3     // X_(i+1) = {  real(x[i])          ,  real(x[i])           }\n\tMOVDDUP_XPTR_IIDX_8__X2    // X_i     = {  imag(x[i])          ,  imag(x[i])           }\n\tMULPD  NEG1, X2            // X_i     = { -imag(x[i])          , -imag(x[i])           }\n\tMOVUPS (Y_PTR)(IDX*8), X10 // X_j     = {  imag(y[i])          ,  real(y[i])           }\n\tMULPD  X10, X3             // X_(i+1) = {  imag(a) * real(x[i]),  real(a) * real(x[i]) }\n\tSHUFPD $0x1, X10, X10      // X_j     = {  real(y[i])          ,  imag(y[i])           }\n\tMULPD  X10, X2             // X_i     = {  real(a) * imag(x[i]),  imag(a) * imag(x[i]) }\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDPD X3, SUM   // SUM += result[i]\n\tADDQ  $2, IDX   // IDX += 2\n\tADDQ  $2, I_IDX // I_IDX += 2\n\tDECQ  TAIL\n\tJNZ   dot_tail  // }  while --TAIL > 0\n\ndot_end:\n\tMOVUPS SUM, sum+48(FP)\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/dotuinc_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define MOVDDUP_XPTR__X3    LONG $0x1E120FF2 // MOVDDUP (SI), X3\n#define MOVDDUP_XPTR_INCX__X5    LONG $0x120F42F2; WORD $0x062C // MOVDDUP (SI)(R8*1), X5\n#define MOVDDUP_XPTR_INCX_2__X7    LONG $0x120F42F2; WORD $0x463C // MOVDDUP (SI)(R8*2), X7\n#define MOVDDUP_XPTR_INCx3X__X9    LONG $0x120F46F2; WORD $0x0E0C // MOVDDUP (SI)(R9*1), X9\n\n#define MOVDDUP_8_XPTR__X2    LONG $0x56120FF2; BYTE $0x08 // MOVDDUP 8(SI), X2\n#define MOVDDUP_8_XPTR_INCX__X4    LONG $0x120F42F2; WORD $0x0664; BYTE $0x08 // MOVDDUP 8(SI)(R8*1), X4\n#define MOVDDUP_8_XPTR_INCX_2__X6    LONG $0x120F42F2; WORD $0x4674; BYTE $0x08 // MOVDDUP 8(SI)(R8*2), X6\n#define MOVDDUP_8_XPTR_INCx3X__X8    LONG $0x120F46F2; WORD $0x0E44; BYTE $0x08 // MOVDDUP 8(SI)(R9*1), X8\n\n#define ADDSUBPD_X2_X3    LONG $0xDAD00F66 // ADDSUBPD X2, X3\n#define ADDSUBPD_X4_X5    LONG $0xECD00F66 // ADDSUBPD X4, X5\n#define ADDSUBPD_X6_X7    LONG $0xFED00F66 // ADDSUBPD X6, X7\n#define ADDSUBPD_X8_X9    LONG $0xD00F4566; BYTE $0xC8 // ADDSUBPD X8, X9\n\n#define X_PTR SI\n#define Y_PTR DI\n#define LEN CX\n#define TAIL BX\n#define SUM X0\n#define P_SUM X1\n#define INC_X R8\n#define INCx3_X R9\n#define INC_Y R10\n#define INCx3_Y R11\n\n// func DotuInc(x, y []complex128, n, incX, incY, ix, iy uintptr) (sum complex128)\nTEXT ·DotuInc(SB), NOSPLIT, $0\n\tMOVQ x_base+0(FP), X_PTR       // X_PTR = &x\n\tMOVQ y_base+24(FP), Y_PTR      // Y_PTR = &y\n\tMOVQ n+48(FP), LEN             // LEN = n\n\tPXOR SUM, SUM                  // sum = 0\n\tCMPQ LEN, $0                   // if LEN == 0 { return }\n\tJE   dot_end\n\tMOVQ ix+72(FP), INC_X          // INC_X = ix * sizeof(complex128)\n\tSHLQ $4, INC_X\n\tMOVQ iy+80(FP), INC_Y          // INC_Y = iy * sizeof(complex128)\n\tSHLQ $4, INC_Y\n\tLEAQ (X_PTR)(INC_X*1), X_PTR   // X_PTR = &(X_PTR[ix])\n\tLEAQ (Y_PTR)(INC_Y*1), Y_PTR   // Y_PTR = &(Y_PTR[iy])\n\tMOVQ incX+56(FP), INC_X        // INC_X = incX\n\tSHLQ $4, INC_X                 // INC_X *=  sizeof(complex128)\n\tMOVQ incY+64(FP), INC_Y        // INC_Y = incY\n\tSHLQ $4, INC_Y                 // INC_Y *=  sizeof(complex128)\n\tMOVQ LEN, TAIL\n\tANDQ $3, TAIL                  // LEN = LEN % 4\n\tSHRQ $2, LEN                   // LEN = floor( LEN / 4 )\n\tJZ   dot_tail                  // if LEN <= 4 { goto dot_tail }\n\tPXOR P_SUM, P_SUM              // psum = 0\n\tLEAQ (INC_X)(INC_X*2), INCx3_X // INCx3_X = 3 * incX * sizeof(complex128)\n\tLEAQ (INC_Y)(INC_Y*2), INCx3_Y // INCx3_Y = 3 * incY * sizeof(complex128)\n\ndot_loop: // do {\n\tMOVDDUP_XPTR__X3        // X_(i+1) = { real(x[i], real(x[i]) }\n\tMOVDDUP_XPTR_INCX__X5\n\tMOVDDUP_XPTR_INCX_2__X7\n\tMOVDDUP_XPTR_INCx3X__X9\n\n\tMOVDDUP_8_XPTR__X2        // X_i = { imag(x[i]), imag(x[i]) }\n\tMOVDDUP_8_XPTR_INCX__X4\n\tMOVDDUP_8_XPTR_INCX_2__X6\n\tMOVDDUP_8_XPTR_INCx3X__X8\n\n\t// X_j = { imag(y[i]), real(y[i]) }\n\tMOVUPS (Y_PTR), X10\n\tMOVUPS (Y_PTR)(INC_Y*1), X11\n\tMOVUPS (Y_PTR)(INC_Y*2), X12\n\tMOVUPS (Y_PTR)(INCx3_Y*1), X13\n\n\t// X_(i+1) = { imag(a) * real(x[i]), real(a) * real(x[i])  }\n\tMULPD X10, X3\n\tMULPD X11, X5\n\tMULPD X12, X7\n\tMULPD X13, X9\n\n\t// X_j     = { real(y[i]), imag(y[i]) }\n\tSHUFPD $0x1, X10, X10\n\tSHUFPD $0x1, X11, X11\n\tSHUFPD $0x1, X12, X12\n\tSHUFPD $0x1, X13, X13\n\n\t// X_i     = { real(a) * imag(x[i]), imag(a) * imag(x[i])  }\n\tMULPD X10, X2\n\tMULPD X11, X4\n\tMULPD X12, X6\n\tMULPD X13, X8\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDSUBPD_X4_X5\n\tADDSUBPD_X6_X7\n\tADDSUBPD_X8_X9\n\n\t// psum += result[i]\n\tADDPD X3, SUM\n\tADDPD X5, P_SUM\n\tADDPD X7, SUM\n\tADDPD X9, P_SUM\n\n\tLEAQ (X_PTR)(INC_X*4), X_PTR // X_PTR = &(X_PTR[incX*4])\n\tLEAQ (Y_PTR)(INC_Y*4), Y_PTR // Y_PTR = &(Y_PTR[incY*4])\n\n\tDECQ  LEN\n\tJNZ   dot_loop   // } while --BX > 0\n\tADDPD P_SUM, SUM // sum += psum\n\tCMPQ  TAIL, $0   // if TAIL == 0 { return }\n\tJE    dot_end\n\ndot_tail: // do {\n\tMOVDDUP_XPTR__X3      // X_(i+1) = { real(x[i], real(x[i]) }\n\tMOVDDUP_8_XPTR__X2    // X_i = { imag(x[i]), imag(x[i]) }\n\tMOVUPS (Y_PTR), X10   // X_j     = {  imag(y[i])          ,  real(y[i])           }\n\tMULPD  X10, X3        // X_(i+1) = {  imag(a) * real(x[i]),  real(a) * real(x[i]) }\n\tSHUFPD $0x1, X10, X10 // X_j     = {  real(y[i])          ,  imag(y[i])           }\n\tMULPD  X10, X2        // X_i     = {  real(a) * imag(x[i]),  imag(a) * imag(x[i]) }\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDPD X3, SUM      // sum += result[i]\n\tADDQ  INC_X, X_PTR // X_PTR += incX\n\tADDQ  INC_Y, Y_PTR // Y_PTR += incY\n\tDECQ  TAIL         // --TAIL\n\tJNZ   dot_tail     // }  while TAIL > 0\n\ndot_end:\n\tMOVUPS SUM, sum+88(FP)\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/dotuunitary_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define MOVDDUP_XPTR_IDX_8__X3    LONG $0x1C120FF2; BYTE $0xC6 // MOVDDUP (SI)(AX*8), X3\n#define MOVDDUP_16_XPTR_IDX_8__X5    LONG $0x6C120FF2; WORD $0x10C6 // MOVDDUP 16(SI)(AX*8), X5\n#define MOVDDUP_32_XPTR_IDX_8__X7    LONG $0x7C120FF2; WORD $0x20C6 // MOVDDUP 32(SI)(AX*8), X7\n#define MOVDDUP_48_XPTR_IDX_8__X9    LONG $0x120F44F2; WORD $0xC64C; BYTE $0x30 // MOVDDUP 48(SI)(AX*8), X9\n\n#define MOVDDUP_XPTR_IIDX_8__X2    LONG $0x14120FF2; BYTE $0xD6 // MOVDDUP (SI)(DX*8), X2\n#define MOVDDUP_16_XPTR_IIDX_8__X4    LONG $0x64120FF2; WORD $0x10D6 // MOVDDUP 16(SI)(DX*8), X4\n#define MOVDDUP_32_XPTR_IIDX_8__X6    LONG $0x74120FF2; WORD $0x20D6 // MOVDDUP 32(SI)(DX*8), X6\n#define MOVDDUP_48_XPTR_IIDX_8__X8    LONG $0x120F44F2; WORD $0xD644; BYTE $0x30 // MOVDDUP 48(SI)(DX*8), X8\n\n#define ADDSUBPD_X2_X3    LONG $0xDAD00F66 // ADDSUBPD X2, X3\n#define ADDSUBPD_X4_X5    LONG $0xECD00F66 // ADDSUBPD X4, X5\n#define ADDSUBPD_X6_X7    LONG $0xFED00F66 // ADDSUBPD X6, X7\n#define ADDSUBPD_X8_X9    LONG $0xD00F4566; BYTE $0xC8 // ADDSUBPD X8, X9\n\n#define X_PTR SI\n#define Y_PTR DI\n#define LEN CX\n#define TAIL BX\n#define SUM X0\n#define P_SUM X1\n#define IDX AX\n#define I_IDX DX\n\n// func DotuUnitary(x, y []complex128) (sum complex128)\nTEXT ·DotuUnitary(SB), NOSPLIT, $0\n\tMOVQ    x_base+0(FP), X_PTR  // X_PTR = &x\n\tMOVQ    y_base+24(FP), Y_PTR // Y_PTR = &y\n\tMOVQ    x_len+8(FP), LEN     // LEN = min( len(x), len(y) )\n\tCMPQ    y_len+32(FP), LEN\n\tCMOVQLE y_len+32(FP), LEN\n\tPXOR    SUM, SUM             // SUM = 0\n\tCMPQ    LEN, $0              // if LEN == 0 { return }\n\tJE      dot_end\n\tPXOR    P_SUM, P_SUM         // P_SUM = 0\n\tXORQ    IDX, IDX             // IDX = 0\n\tMOVQ    $1, DX               // j = 1\n\tMOVQ    LEN, TAIL\n\tANDQ    $3, TAIL             // TAIL = floor( LEN / 4 )\n\tSHRQ    $2, LEN              // LEN = LEN % 4\n\tJZ      dot_tail             // if LEN == 0 { goto dot_tail }\n\ndot_loop: // do {\n\tMOVDDUP_XPTR_IDX_8__X3    // X_(i+1) = { real(x[i], real(x[i]) }\n\tMOVDDUP_16_XPTR_IDX_8__X5\n\tMOVDDUP_32_XPTR_IDX_8__X7\n\tMOVDDUP_48_XPTR_IDX_8__X9\n\n\tMOVDDUP_XPTR_IIDX_8__X2    // X_i = { imag(x[i]), imag(x[i]) }\n\tMOVDDUP_16_XPTR_IIDX_8__X4\n\tMOVDDUP_32_XPTR_IIDX_8__X6\n\tMOVDDUP_48_XPTR_IIDX_8__X8\n\n\t// X_j = { imag(y[i]), real(y[i]) }\n\tMOVUPS (Y_PTR)(IDX*8), X10\n\tMOVUPS 16(Y_PTR)(IDX*8), X11\n\tMOVUPS 32(Y_PTR)(IDX*8), X12\n\tMOVUPS 48(Y_PTR)(IDX*8), X13\n\n\t// X_(i+1) = { imag(a) * real(x[i]), real(a) * real(x[i])  }\n\tMULPD X10, X3\n\tMULPD X11, X5\n\tMULPD X12, X7\n\tMULPD X13, X9\n\n\t// X_j = { real(y[i]), imag(y[i]) }\n\tSHUFPD $0x1, X10, X10\n\tSHUFPD $0x1, X11, X11\n\tSHUFPD $0x1, X12, X12\n\tSHUFPD $0x1, X13, X13\n\n\t// X_i     = { real(a) * imag(x[i]), imag(a) * imag(x[i])  }\n\tMULPD X10, X2\n\tMULPD X11, X4\n\tMULPD X12, X6\n\tMULPD X13, X8\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDSUBPD_X4_X5\n\tADDSUBPD_X6_X7\n\tADDSUBPD_X8_X9\n\n\t// psum += result[i]\n\tADDPD X3, SUM\n\tADDPD X5, P_SUM\n\tADDPD X7, SUM\n\tADDPD X9, P_SUM\n\n\tADDQ  $8, IDX    // IDX += 8\n\tADDQ  $8, I_IDX  // I_IDX += 8\n\tDECQ  LEN\n\tJNZ   dot_loop   // } while --LEN > 0\n\tADDPD P_SUM, SUM // SUM += P_SUM\n\tCMPQ  TAIL, $0   // if TAIL == 0 { return }\n\tJE    dot_end\n\ndot_tail: // do {\n\tMOVDDUP_XPTR_IDX_8__X3     // X_(i+1) = { real(x[i]            , real(x[i])            }\n\tMOVDDUP_XPTR_IIDX_8__X2    // X_i     = { imag(x[i])           , imag(x[i])            }\n\tMOVUPS (Y_PTR)(IDX*8), X10 // X_j     = {  imag(y[i])          ,  real(y[i])           }\n\tMULPD  X10, X3             // X_(i+1) = {  imag(a) * real(x[i]),  real(a) * real(x[i]) }\n\tSHUFPD $0x1, X10, X10      // X_j     = {  real(y[i])          ,  imag(y[i])           }\n\tMULPD  X10, X2             // X_i     = {  real(a) * imag(x[i]),  imag(a) * imag(x[i]) }\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(a)*real(x[i]) + real(a)*imag(x[i]),\n\t//\treal(result[i]):  real(a)*real(x[i]) - imag(a)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDPD X3, SUM   // psum += result[i]\n\tADDQ  $2, IDX   // IDX += 2\n\tADDQ  $2, I_IDX // I_IDX += 2\n\tDECQ  TAIL      // --TAIL\n\tJNZ   dot_tail  // }  while TAIL > 0\n\ndot_end:\n\tMOVUPS SUM, sum+48(FP)\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/dscalinc_amd64.s",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define SRC SI\n#define DST SI\n#define LEN CX\n#define TAIL BX\n#define INC R9\n#define INC3 R10\n#define ALPHA X0\n#define ALPHA_2 X1\n\n#define MOVDDUP_ALPHA    LONG $0x44120FF2; WORD $0x0824 // MOVDDUP 8(SP), X0\n\n// func DscalInc(alpha float64, x []complex128, n, inc uintptr)\nTEXT ·DscalInc(SB), NOSPLIT, $0\n\tMOVQ x_base+8(FP), SRC // SRC = &x\n\tMOVQ n+32(FP), LEN     // LEN = n\n\tCMPQ LEN, $0           // if LEN == 0 { return }\n\tJE   dscal_end\n\n\tMOVDDUP_ALPHA             // ALPHA = alpha\n\tMOVQ   inc+40(FP), INC    // INC = inc\n\tSHLQ   $4, INC            // INC = INC * sizeof(complex128)\n\tLEAQ   (INC)(INC*2), INC3 // INC3 = 3 * INC\n\tMOVUPS ALPHA, ALPHA_2     // Copy ALPHA and ALPHA_2 for pipelining\n\tMOVQ   LEN, TAIL          // TAIL = LEN\n\tSHRQ   $2, LEN            // LEN = floor( n / 4 )\n\tJZ     dscal_tail         // if LEN == 0 { goto dscal_tail }\n\ndscal_loop: // do {\n\tMOVUPS (SRC), X2         // X_i = x[i]\n\tMOVUPS (SRC)(INC*1), X3\n\tMOVUPS (SRC)(INC*2), X4\n\tMOVUPS (SRC)(INC3*1), X5\n\n\tMULPD ALPHA, X2   // X_i *= ALPHA\n\tMULPD ALPHA_2, X3\n\tMULPD ALPHA, X4\n\tMULPD ALPHA_2, X5\n\n\tMOVUPS X2, (DST)         // x[i] = X_i\n\tMOVUPS X3, (DST)(INC*1)\n\tMOVUPS X4, (DST)(INC*2)\n\tMOVUPS X5, (DST)(INC3*1)\n\n\tLEAQ (SRC)(INC*4), SRC // SRC += INC*4\n\tDECQ LEN\n\tJNZ  dscal_loop        // } while --LEN > 0\n\ndscal_tail:\n\tANDQ $3, TAIL  // TAIL = TAIL % 4\n\tJE   dscal_end // if TAIL == 0 { return }\n\ndscal_tail_loop: // do {\n\tMOVUPS (SRC), X2       // X_i = x[i]\n\tMULPD  ALPHA, X2       // X_i *= ALPHA\n\tMOVUPS X2, (DST)       // x[i] = X_i\n\tADDQ   INC, SRC        // SRC += INC\n\tDECQ   TAIL\n\tJNZ    dscal_tail_loop // } while --TAIL > 0\n\ndscal_end:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/dscalunitary_amd64.s",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define SRC SI\n#define DST SI\n#define LEN CX\n#define IDX AX\n#define TAIL BX\n#define ALPHA X0\n#define ALPHA_2 X1\n\n#define MOVDDUP_ALPHA    LONG $0x44120FF2; WORD $0x0824 // MOVDDUP 8(SP), X0\n\n// func DscalUnitary(alpha float64, x []complex128)\nTEXT ·DscalUnitary(SB), NOSPLIT, $0\n\tMOVQ x_base+8(FP), SRC // SRC = &x\n\tMOVQ x_len+16(FP), LEN // LEN = len(x)\n\tCMPQ LEN, $0           // if LEN == 0 { return }\n\tJE   dscal_end\n\n\tMOVDDUP_ALPHA         // ALPHA = alpha\n\tXORQ   IDX, IDX       // IDX = 0\n\tMOVUPS ALPHA, ALPHA_2 // Copy ALPHA to ALPHA_2 for pipelining\n\tMOVQ   LEN, TAIL      // TAIL = LEN\n\tSHRQ   $2, LEN        // LEN = floor( n / 4 )\n\tJZ     dscal_tail     // if LEN == 0 { goto dscal_tail }\n\ndscal_loop: // do {\n\tMOVUPS (SRC)(IDX*8), X2   // X_i = x[i]\n\tMOVUPS 16(SRC)(IDX*8), X3\n\tMOVUPS 32(SRC)(IDX*8), X4\n\tMOVUPS 48(SRC)(IDX*8), X5\n\n\tMULPD ALPHA, X2   // X_i *= ALPHA\n\tMULPD ALPHA_2, X3\n\tMULPD ALPHA, X4\n\tMULPD ALPHA_2, X5\n\n\tMOVUPS X2, (DST)(IDX*8)   // x[i] = X_i\n\tMOVUPS X3, 16(DST)(IDX*8)\n\tMOVUPS X4, 32(DST)(IDX*8)\n\tMOVUPS X5, 48(DST)(IDX*8)\n\n\tADDQ $8, IDX    // IDX += 8\n\tDECQ LEN\n\tJNZ  dscal_loop // } while --LEN > 0\n\ndscal_tail:\n\tANDQ $3, TAIL  // TAIL = TAIL % 4\n\tJZ   dscal_end // if TAIL == 0 { return }\n\ndscal_tail_loop: // do {\n\tMOVUPS (SRC)(IDX*8), X2 // X_i = x[i]\n\tMULPD  ALPHA, X2        // X_i *= ALPHA\n\tMOVUPS X2, (DST)(IDX*8) // x[i] = X_i\n\tADDQ   $2, IDX          // IDX += 2\n\tDECQ   TAIL\n\tJNZ    dscal_tail_loop  // } while --TAIL > 0\n\ndscal_end:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/scal.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage c128\n\n// ScalUnitaryTo is\n//  for i, v := range x {\n//  \tdst[i] = alpha * v\n//  }\nfunc ScalUnitaryTo(dst []complex128, alpha complex128, x []complex128) {\n\tfor i, v := range x {\n\t\tdst[i] = alpha * v\n\t}\n}\n\n// ScalIncTo is\n//  var idst, ix uintptr\n//  for i := 0; i < int(n); i++ {\n//  \tdst[idst] = alpha * x[ix]\n//  \tix += incX\n//  \tidst += incDst\n//  }\nfunc ScalIncTo(dst []complex128, incDst uintptr, alpha complex128, x []complex128, n, incX uintptr) {\n\tvar idst, ix uintptr\n\tfor i := 0; i < int(n); i++ {\n\t\tdst[idst] = alpha * x[ix]\n\t\tix += incX\n\t\tidst += incDst\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/scalUnitary_amd64.s",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define SRC SI\n#define DST SI\n#define LEN CX\n#define IDX AX\n#define TAIL BX\n#define ALPHA X0\n#define ALPHA_C X1\n#define ALPHA2 X10\n#define ALPHA_C2 X11\n\n#define MOVDDUP_X2_X3    LONG $0xDA120FF2 // MOVDDUP X2, X3\n#define MOVDDUP_X4_X5    LONG $0xEC120FF2 // MOVDDUP X4, X5\n#define MOVDDUP_X6_X7    LONG $0xFE120FF2 // MOVDDUP X6, X7\n#define MOVDDUP_X8_X9    LONG $0x120F45F2; BYTE $0xC8 // MOVDDUP X8, X9\n\n#define ADDSUBPD_X2_X3    LONG $0xDAD00F66 // ADDSUBPD X2, X3\n#define ADDSUBPD_X4_X5    LONG $0xECD00F66 // ADDSUBPD X4, X5\n#define ADDSUBPD_X6_X7    LONG $0xFED00F66 // ADDSUBPD X6, X7\n#define ADDSUBPD_X8_X9    LONG $0xD00F4566; BYTE $0xC8 // ADDSUBPD X8, X9\n\n// func ScalUnitary(alpha complex128, x []complex128)\nTEXT ·ScalUnitary(SB), NOSPLIT, $0\n\tMOVQ x_base+16(FP), SRC // SRC = &x\n\tMOVQ x_len+24(FP), LEN  // LEN = len(x)\n\tCMPQ LEN, $0            // if LEN == 0 { return }\n\tJE   scal_end\n\n\tMOVUPS alpha+0(FP), ALPHA     // ALPHA = { imag(alpha), real(alpha) }\n\tMOVAPS ALPHA, ALPHA_C\n\tSHUFPD $0x1, ALPHA_C, ALPHA_C // ALPHA_C = { real(alpha), imag(alpha) }\n\n\tXORQ   IDX, IDX          // IDX = 0\n\tMOVAPS ALPHA, ALPHA2     // Copy ALPHA and ALPHA_C for pipelining\n\tMOVAPS ALPHA_C, ALPHA_C2\n\tMOVQ   LEN, TAIL\n\tSHRQ   $2, LEN           // LEN = floor( n / 4 )\n\tJZ     scal_tail         // if BX == 0 { goto scal_tail }\n\nscal_loop: // do {\n\tMOVUPS (SRC)(IDX*8), X2   // X_i = { imag(x[i]), real(x[i]) }\n\tMOVUPS 16(SRC)(IDX*8), X4\n\tMOVUPS 32(SRC)(IDX*8), X6\n\tMOVUPS 48(SRC)(IDX*8), X8\n\n\t// X_(i+1) = { real(x[i], real(x[i]) }\n\tMOVDDUP_X2_X3\n\tMOVDDUP_X4_X5\n\tMOVDDUP_X6_X7\n\tMOVDDUP_X8_X9\n\n\t// X_i = { imag(x[i]), imag(x[i]) }\n\tSHUFPD $0x3, X2, X2\n\tSHUFPD $0x3, X4, X4\n\tSHUFPD $0x3, X6, X6\n\tSHUFPD $0x3, X8, X8\n\n\t// X_i     = { real(ALPHA) * imag(x[i]), imag(ALPHA) * imag(x[i])  }\n\t// X_(i+1) = { imag(ALPHA) * real(x[i]), real(ALPHA) * real(x[i])  }\n\tMULPD ALPHA_C, X2\n\tMULPD ALPHA, X3\n\tMULPD ALPHA_C2, X4\n\tMULPD ALPHA2, X5\n\tMULPD ALPHA_C, X6\n\tMULPD ALPHA, X7\n\tMULPD ALPHA_C2, X8\n\tMULPD ALPHA2, X9\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(ALPHA)*real(x[i]) + real(ALPHA)*imag(x[i]),\n\t//\treal(result[i]):  real(ALPHA)*real(x[i]) - imag(ALPHA)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDSUBPD_X4_X5\n\tADDSUBPD_X6_X7\n\tADDSUBPD_X8_X9\n\n\tMOVUPS X3, (DST)(IDX*8)   // x[i] = X_(i+1)\n\tMOVUPS X5, 16(DST)(IDX*8)\n\tMOVUPS X7, 32(DST)(IDX*8)\n\tMOVUPS X9, 48(DST)(IDX*8)\n\tADDQ   $8, IDX            // IDX += 8\n\tDECQ   LEN\n\tJNZ    scal_loop          // } while --LEN > 0\n\nscal_tail:\n\tANDQ $3, TAIL // TAIL = TAIL % 4\n\tJZ   scal_end // if TAIL == 0 { return }\n\nscal_tail_loop: // do {\n\tMOVUPS (SRC)(IDX*8), X2 // X_i = { imag(x[i]), real(x[i]) }\n\tMOVDDUP_X2_X3           // X_(i+1) = { real(x[i], real(x[i]) }\n\tSHUFPD $0x3, X2, X2     // X_i = { imag(x[i]), imag(x[i]) }\n\tMULPD  ALPHA_C, X2      // X_i     = { real(ALPHA) * imag(x[i]), imag(ALPHA) * imag(x[i])  }\n\tMULPD  ALPHA, X3        // X_(i+1) = { imag(ALPHA) * real(x[i]), real(ALPHA) * real(x[i])  }\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(ALPHA)*real(x[i]) + real(ALPHA)*imag(x[i]),\n\t//\treal(result[i]):  real(ALPHA)*real(x[i]) - imag(ALPHA)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\n\tMOVUPS X3, (DST)(IDX*8) // x[i] = X_(i+1)\n\tADDQ   $2, IDX          // IDX += 2\n\tDECQ   TAIL\n\tJNZ    scal_tail_loop   // }  while --LEN > 0\n\nscal_end:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/scalinc_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define SRC SI\n#define DST SI\n#define LEN CX\n#define TAIL BX\n#define INC R9\n#define INC3 R10\n#define ALPHA X0\n#define ALPHA_C X1\n#define ALPHA2 X10\n#define ALPHA_C2 X11\n\n#define MOVDDUP_X2_X3    LONG $0xDA120FF2 // MOVDDUP X2, X3\n#define MOVDDUP_X4_X5    LONG $0xEC120FF2 // MOVDDUP X4, X5\n#define MOVDDUP_X6_X7    LONG $0xFE120FF2 // MOVDDUP X6, X7\n#define MOVDDUP_X8_X9    LONG $0x120F45F2; BYTE $0xC8 // MOVDDUP X8, X9\n\n#define ADDSUBPD_X2_X3    LONG $0xDAD00F66 // ADDSUBPD X2, X3\n#define ADDSUBPD_X4_X5    LONG $0xECD00F66 // ADDSUBPD X4, X5\n#define ADDSUBPD_X6_X7    LONG $0xFED00F66 // ADDSUBPD X6, X7\n#define ADDSUBPD_X8_X9    LONG $0xD00F4566; BYTE $0xC8 // ADDSUBPD X8, X9\n\n// func ScalInc(alpha complex128, x []complex128, n, inc uintptr)\nTEXT ·ScalInc(SB), NOSPLIT, $0\n\tMOVQ x_base+16(FP), SRC // SRC = &x\n\tMOVQ n+40(FP), LEN      // LEN = len(x)\n\tCMPQ LEN, $0\n\tJE   scal_end           // if LEN == 0 { return }\n\n\tMOVQ inc+48(FP), INC    // INC = inc\n\tSHLQ $4, INC            // INC = INC * sizeof(complex128)\n\tLEAQ (INC)(INC*2), INC3 // INC3 = 3 * INC\n\n\tMOVUPS alpha+0(FP), ALPHA     // ALPHA = { imag(alpha), real(alpha) }\n\tMOVAPS ALPHA, ALPHA_C\n\tSHUFPD $0x1, ALPHA_C, ALPHA_C // ALPHA_C = { real(alpha), imag(alpha) }\n\n\tMOVAPS ALPHA, ALPHA2     // Copy ALPHA and ALPHA_C for pipelining\n\tMOVAPS ALPHA_C, ALPHA_C2\n\tMOVQ   LEN, TAIL\n\tSHRQ   $2, LEN           // LEN = floor( n / 4 )\n\tJZ     scal_tail         // if BX == 0 { goto scal_tail }\n\nscal_loop: // do {\n\tMOVUPS (SRC), X2         // X_i = { imag(x[i]), real(x[i]) }\n\tMOVUPS (SRC)(INC*1), X4\n\tMOVUPS (SRC)(INC*2), X6\n\tMOVUPS (SRC)(INC3*1), X8\n\n\t// X_(i+1) = { real(x[i], real(x[i]) }\n\tMOVDDUP_X2_X3\n\tMOVDDUP_X4_X5\n\tMOVDDUP_X6_X7\n\tMOVDDUP_X8_X9\n\n\t// X_i = { imag(x[i]), imag(x[i]) }\n\tSHUFPD $0x3, X2, X2\n\tSHUFPD $0x3, X4, X4\n\tSHUFPD $0x3, X6, X6\n\tSHUFPD $0x3, X8, X8\n\n\t// X_i     = { real(ALPHA) * imag(x[i]), imag(ALPHA) * imag(x[i])  }\n\t// X_(i+1) = { imag(ALPHA) * real(x[i]), real(ALPHA) * real(x[i])  }\n\tMULPD ALPHA_C, X2\n\tMULPD ALPHA, X3\n\tMULPD ALPHA_C2, X4\n\tMULPD ALPHA2, X5\n\tMULPD ALPHA_C, X6\n\tMULPD ALPHA, X7\n\tMULPD ALPHA_C2, X8\n\tMULPD ALPHA2, X9\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(ALPHA)*real(x[i]) + real(ALPHA)*imag(x[i]),\n\t//\treal(result[i]):  real(ALPHA)*real(x[i]) - imag(ALPHA)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\tADDSUBPD_X4_X5\n\tADDSUBPD_X6_X7\n\tADDSUBPD_X8_X9\n\n\tMOVUPS X3, (DST)         // x[i] = X_(i+1)\n\tMOVUPS X5, (DST)(INC*1)\n\tMOVUPS X7, (DST)(INC*2)\n\tMOVUPS X9, (DST)(INC3*1)\n\n\tLEAQ (SRC)(INC*4), SRC // SRC = &(SRC[inc*4])\n\tDECQ LEN\n\tJNZ  scal_loop         // } while --BX > 0\n\nscal_tail:\n\tANDQ $3, TAIL // TAIL = TAIL % 4\n\tJE   scal_end // if TAIL == 0 { return }\n\nscal_tail_loop: // do {\n\tMOVUPS (SRC), X2    // X_i = { imag(x[i]), real(x[i]) }\n\tMOVDDUP_X2_X3       // X_(i+1) = { real(x[i], real(x[i]) }\n\tSHUFPD $0x3, X2, X2 // X_i = { imag(x[i]), imag(x[i]) }\n\tMULPD  ALPHA_C, X2  // X_i     = { real(ALPHA) * imag(x[i]), imag(ALPHA) * imag(x[i])  }\n\tMULPD  ALPHA, X3    // X_(i+1) = { imag(ALPHA) * real(x[i]), real(ALPHA) * real(x[i])  }\n\n\t// X_(i+1) = {\n\t//\timag(result[i]):  imag(ALPHA)*real(x[i]) + real(ALPHA)*imag(x[i]),\n\t//\treal(result[i]):  real(ALPHA)*real(x[i]) - imag(ALPHA)*imag(x[i])\n\t//  }\n\tADDSUBPD_X2_X3\n\n\tMOVUPS X3, (DST)      // x[i] = X_i\n\tADDQ   INC, SRC       // SRC = &(SRC[incX])\n\tDECQ   TAIL\n\tJNZ    scal_tail_loop // } while --TAIL > 0\n\nscal_end:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/stubs_amd64.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\npackage c128\n\n// AxpyUnitary is\n//  for i, v := range x {\n//  \ty[i] += alpha * v\n//  }\nfunc AxpyUnitary(alpha complex128, x, y []complex128)\n\n// AxpyUnitaryTo is\n//  for i, v := range x {\n//  \tdst[i] = alpha*v + y[i]\n//  }\nfunc AxpyUnitaryTo(dst []complex128, alpha complex128, x, y []complex128)\n\n// AxpyInc is\n//  for i := 0; i < int(n); i++ {\n//  \ty[iy] += alpha * x[ix]\n//  \tix += incX\n//  \tiy += incY\n//  }\nfunc AxpyInc(alpha complex128, x, y []complex128, n, incX, incY, ix, iy uintptr)\n\n// AxpyIncTo is\n//  for i := 0; i < int(n); i++ {\n//  \tdst[idst] = alpha*x[ix] + y[iy]\n//  \tix += incX\n//  \tiy += incY\n//  \tidst += incDst\n//  }\nfunc AxpyIncTo(dst []complex128, incDst, idst uintptr, alpha complex128, x, y []complex128, n, incX, incY, ix, iy uintptr)\n\n// DscalUnitary is\n//  for i, v := range x {\n//  \tx[i] = complex(real(v)*alpha, imag(v)*alpha)\n//  }\nfunc DscalUnitary(alpha float64, x []complex128)\n\n// DscalInc is\n//  var ix uintptr\n//  for i := 0; i < int(n); i++ {\n//  \tx[ix] = complex(real(x[ix])*alpha, imag(x[ix])*alpha)\n//  \tix += inc\n//  }\nfunc DscalInc(alpha float64, x []complex128, n, inc uintptr)\n\n// ScalInc is\n//  var ix uintptr\n//  for i := 0; i < int(n); i++ {\n//  \tx[ix] *= alpha\n//  \tix += incX\n//  }\nfunc ScalInc(alpha complex128, x []complex128, n, inc uintptr)\n\n// ScalUnitary is\n//  for i := range x {\n//  \tx[i] *= alpha\n//  }\nfunc ScalUnitary(alpha complex128, x []complex128)\n\n// DotcUnitary is\n//  for i, v := range x {\n//  \tsum += y[i] * cmplx.Conj(v)\n//  }\n//  return sum\nfunc DotcUnitary(x, y []complex128) (sum complex128)\n\n// DotcInc is\n//  for i := 0; i < int(n); i++ {\n//  \tsum += y[iy] * cmplx.Conj(x[ix])\n//  \tix += incX\n//  \tiy += incY\n//  }\n//  return sum\nfunc DotcInc(x, y []complex128, n, incX, incY, ix, iy uintptr) (sum complex128)\n\n// DotuUnitary is\n//  for i, v := range x {\n//  \tsum += y[i] * v\n//  }\n//  return sum\nfunc DotuUnitary(x, y []complex128) (sum complex128)\n\n// DotuInc is\n//  for i := 0; i < int(n); i++ {\n//  \tsum += y[iy] * x[ix]\n//  \tix += incX\n//  \tiy += incY\n//  }\n//  return sum\nfunc DotuInc(x, y []complex128, n, incX, incY, ix, iy uintptr) (sum complex128)\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/c128/stubs_noasm.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !amd64 noasm appengine\n\npackage c128\n\nimport \"math/cmplx\"\n\n// AxpyUnitary is\n//  for i, v := range x {\n//  \ty[i] += alpha * v\n//  }\nfunc AxpyUnitary(alpha complex128, x, y []complex128) {\n\tfor i, v := range x {\n\t\ty[i] += alpha * v\n\t}\n}\n\n// AxpyUnitaryTo is\n//  for i, v := range x {\n//  \tdst[i] = alpha*v + y[i]\n//  }\nfunc AxpyUnitaryTo(dst []complex128, alpha complex128, x, y []complex128) {\n\tfor i, v := range x {\n\t\tdst[i] = alpha*v + y[i]\n\t}\n}\n\n// AxpyInc is\n//  for i := 0; i < int(n); i++ {\n//  \ty[iy] += alpha * x[ix]\n//  \tix += incX\n//  \tiy += incY\n//  }\nfunc AxpyInc(alpha complex128, x, y []complex128, n, incX, incY, ix, iy uintptr) {\n\tfor i := 0; i < int(n); i++ {\n\t\ty[iy] += alpha * x[ix]\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// AxpyIncTo is\n//  for i := 0; i < int(n); i++ {\n//  \tdst[idst] = alpha*x[ix] + y[iy]\n//  \tix += incX\n//  \tiy += incY\n//  \tidst += incDst\n//  }\nfunc AxpyIncTo(dst []complex128, incDst, idst uintptr, alpha complex128, x, y []complex128, n, incX, incY, ix, iy uintptr) {\n\tfor i := 0; i < int(n); i++ {\n\t\tdst[idst] = alpha*x[ix] + y[iy]\n\t\tix += incX\n\t\tiy += incY\n\t\tidst += incDst\n\t}\n}\n\n// DscalUnitary is\n//  for i, v := range x {\n//  \tx[i] = complex(real(v)*alpha, imag(v)*alpha)\n//  }\nfunc DscalUnitary(alpha float64, x []complex128) {\n\tfor i, v := range x {\n\t\tx[i] = complex(real(v)*alpha, imag(v)*alpha)\n\t}\n}\n\n// DscalInc is\n//  var ix uintptr\n//  for i := 0; i < int(n); i++ {\n//  \tx[ix] = complex(real(x[ix])*alpha, imag(x[ix])*alpha)\n//  \tix += inc\n//  }\nfunc DscalInc(alpha float64, x []complex128, n, inc uintptr) {\n\tvar ix uintptr\n\tfor i := 0; i < int(n); i++ {\n\t\tx[ix] = complex(real(x[ix])*alpha, imag(x[ix])*alpha)\n\t\tix += inc\n\t}\n}\n\n// ScalInc is\n//  var ix uintptr\n//  for i := 0; i < int(n); i++ {\n//  \tx[ix] *= alpha\n//  \tix += incX\n//  }\nfunc ScalInc(alpha complex128, x []complex128, n, inc uintptr) {\n\tvar ix uintptr\n\tfor i := 0; i < int(n); i++ {\n\t\tx[ix] *= alpha\n\t\tix += inc\n\t}\n}\n\n// ScalUnitary is\n//  for i := range x {\n//  \tx[i] *= alpha\n//  }\nfunc ScalUnitary(alpha complex128, x []complex128) {\n\tfor i := range x {\n\t\tx[i] *= alpha\n\t}\n}\n\n// DotcUnitary is\n//  for i, v := range x {\n//  \tsum += y[i] * cmplx.Conj(v)\n//  }\n//  return sum\nfunc DotcUnitary(x, y []complex128) (sum complex128) {\n\tfor i, v := range x {\n\t\tsum += y[i] * cmplx.Conj(v)\n\t}\n\treturn sum\n}\n\n// DotcInc is\n//  for i := 0; i < int(n); i++ {\n//  \tsum += y[iy] * cmplx.Conj(x[ix])\n//  \tix += incX\n//  \tiy += incY\n//  }\n//  return sum\nfunc DotcInc(x, y []complex128, n, incX, incY, ix, iy uintptr) (sum complex128) {\n\tfor i := 0; i < int(n); i++ {\n\t\tsum += y[iy] * cmplx.Conj(x[ix])\n\t\tix += incX\n\t\tiy += incY\n\t}\n\treturn sum\n}\n\n// DotuUnitary is\n//  for i, v := range x {\n//  \tsum += y[i] * v\n//  }\n//  return sum\nfunc DotuUnitary(x, y []complex128) (sum complex128) {\n\tfor i, v := range x {\n\t\tsum += y[i] * v\n\t}\n\treturn sum\n}\n\n// DotuInc is\n//  for i := 0; i < int(n); i++ {\n//  \tsum += y[iy] * x[ix]\n//  \tix += incX\n//  \tiy += incY\n//  }\n//  return sum\nfunc DotuInc(x, y []complex128, n, incX, incY, ix, iy uintptr) (sum complex128) {\n\tfor i := 0; i < int(n); i++ {\n\t\tsum += y[iy] * x[ix]\n\t\tix += incX\n\t\tiy += incY\n\t}\n\treturn sum\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f32/axpyinc_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func AxpyInc(alpha float32, x, y []float32, n, incX, incY, ix, iy uintptr)\nTEXT ·AxpyInc(SB), NOSPLIT, $0\n\tMOVQ  n+56(FP), CX      // CX = n\n\tCMPQ  CX, $0            // if n==0 { return }\n\tJLE   axpyi_end\n\tMOVQ  x_base+8(FP), SI  // SI = &x\n\tMOVQ  y_base+32(FP), DI // DI = &y\n\tMOVQ  ix+80(FP), R8     // R8 = ix\n\tMOVQ  iy+88(FP), R9     // R9 = iy\n\tLEAQ  (SI)(R8*4), SI    // SI = &(x[ix])\n\tLEAQ  (DI)(R9*4), DI    // DI = &(y[iy])\n\tMOVQ  DI, DX            // DX = DI   Read Pointer for y\n\tMOVQ  incX+64(FP), R8   // R8 = incX\n\tSHLQ  $2, R8            // R8 *= sizeof(float32)\n\tMOVQ  incY+72(FP), R9   // R9 = incY\n\tSHLQ  $2, R9            // R9 *= sizeof(float32)\n\tMOVSS alpha+0(FP), X0   // X0 = alpha\n\tMOVSS X0, X1            // X1 = X0  // for pipelining\n\tMOVQ  CX, BX\n\tANDQ  $3, BX            // BX = n % 4\n\tSHRQ  $2, CX            // CX = floor( n / 4 )\n\tJZ    axpyi_tail_start  // if CX == 0 { goto axpyi_tail_start }\n\naxpyi_loop: // Loop unrolled 4x   do {\n\tMOVSS (SI), X2       // X_i = x[i]\n\tMOVSS (SI)(R8*1), X3\n\tLEAQ  (SI)(R8*2), SI // SI = &(SI[incX*2])\n\tMOVSS (SI), X4\n\tMOVSS (SI)(R8*1), X5\n\tMULSS X1, X2         // X_i *= a\n\tMULSS X0, X3\n\tMULSS X1, X4\n\tMULSS X0, X5\n\tADDSS (DX), X2       // X_i += y[i]\n\tADDSS (DX)(R9*1), X3\n\tLEAQ  (DX)(R9*2), DX // DX = &(DX[incY*2])\n\tADDSS (DX), X4\n\tADDSS (DX)(R9*1), X5\n\tMOVSS X2, (DI)       // y[i] = X_i\n\tMOVSS X3, (DI)(R9*1)\n\tLEAQ  (DI)(R9*2), DI // DI = &(DI[incY*2])\n\tMOVSS X4, (DI)\n\tMOVSS X5, (DI)(R9*1)\n\tLEAQ  (SI)(R8*2), SI // SI = &(SI[incX*2])  // Increment addresses\n\tLEAQ  (DX)(R9*2), DX // DX = &(DX[incY*2])\n\tLEAQ  (DI)(R9*2), DI // DI = &(DI[incY*2])\n\tLOOP  axpyi_loop     // } while --CX > 0\n\tCMPQ  BX, $0         // if BX == 0 { return }\n\tJE    axpyi_end\n\naxpyi_tail_start: // Reset loop registers\n\tMOVQ BX, CX // Loop counter: CX = BX\n\naxpyi_tail: // do {\n\tMOVSS (SI), X2   // X2 = x[i]\n\tMULSS X1, X2     // X2 *= a\n\tADDSS (DI), X2   // X2 += y[i]\n\tMOVSS X2, (DI)   // y[i] = X2\n\tADDQ  R8, SI     // SI = &(SI[incX])\n\tADDQ  R9, DI     // DI = &(DI[incY])\n\tLOOP  axpyi_tail // } while --CX > 0\n\naxpyi_end:\n\tRET\n\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f32/axpyincto_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func AxpyIncTo(dst []float32, incDst, idst uintptr, alpha float32, x, y []float32, n, incX, incY, ix, iy uintptr)\nTEXT ·AxpyIncTo(SB), NOSPLIT, $0\n\tMOVQ  n+96(FP), CX       // CX = n\n\tCMPQ  CX, $0             // if n==0 { return }\n\tJLE   axpyi_end\n\tMOVQ  dst_base+0(FP), DI // DI = &dst\n\tMOVQ  x_base+48(FP), SI  // SI = &x\n\tMOVQ  y_base+72(FP), DX  // DX = &y\n\tMOVQ  ix+120(FP), R8     // R8 = ix  // Load the first index\n\tMOVQ  iy+128(FP), R9     // R9 = iy\n\tMOVQ  idst+32(FP), R10   // R10 = idst\n\tLEAQ  (SI)(R8*4), SI     // SI = &(x[ix])\n\tLEAQ  (DX)(R9*4), DX     // DX = &(y[iy])\n\tLEAQ  (DI)(R10*4), DI    // DI = &(dst[idst])\n\tMOVQ  incX+104(FP), R8   // R8 = incX\n\tSHLQ  $2, R8             // R8 *= sizeof(float32)\n\tMOVQ  incY+112(FP), R9   // R9 = incY\n\tSHLQ  $2, R9             // R9 *= sizeof(float32)\n\tMOVQ  incDst+24(FP), R10 // R10 = incDst\n\tSHLQ  $2, R10            // R10 *= sizeof(float32)\n\tMOVSS alpha+40(FP), X0   // X0 = alpha\n\tMOVSS X0, X1             // X1 = X0  // for pipelining\n\tMOVQ  CX, BX\n\tANDQ  $3, BX             // BX = n % 4\n\tSHRQ  $2, CX             // CX = floor( n / 4 )\n\tJZ    axpyi_tail_start   // if CX == 0 { goto axpyi_tail_start }\n\naxpyi_loop: // Loop unrolled 4x   do {\n\tMOVSS (SI), X2        // X_i = x[i]\n\tMOVSS (SI)(R8*1), X3\n\tLEAQ  (SI)(R8*2), SI  // SI = &(SI[incX*2])\n\tMOVSS (SI), X4\n\tMOVSS (SI)(R8*1), X5\n\tMULSS X1, X2          // X_i *= a\n\tMULSS X0, X3\n\tMULSS X1, X4\n\tMULSS X0, X5\n\tADDSS (DX), X2        // X_i += y[i]\n\tADDSS (DX)(R9*1), X3\n\tLEAQ  (DX)(R9*2), DX  // DX = &(DX[incY*2])\n\tADDSS (DX), X4\n\tADDSS (DX)(R9*1), X5\n\tMOVSS X2, (DI)        // dst[i] = X_i\n\tMOVSS X3, (DI)(R10*1)\n\tLEAQ  (DI)(R10*2), DI // DI = &(DI[incDst*2])\n\tMOVSS X4, (DI)\n\tMOVSS X5, (DI)(R10*1)\n\tLEAQ  (SI)(R8*2), SI  // SI = &(SI[incX*2])  // Increment addresses\n\tLEAQ  (DX)(R9*2), DX  // DX = &(DX[incY*2])\n\tLEAQ  (DI)(R10*2), DI // DI = &(DI[incDst*2])\n\tLOOP  axpyi_loop      // } while --CX > 0\n\tCMPQ  BX, $0          // if BX == 0 { return }\n\tJE    axpyi_end\n\naxpyi_tail_start: // Reset loop registers\n\tMOVQ BX, CX // Loop counter: CX = BX\n\naxpyi_tail: // do {\n\tMOVSS (SI), X2   // X2 = x[i]\n\tMULSS X1, X2     // X2 *= a\n\tADDSS (DX), X2   // X2 += y[i]\n\tMOVSS X2, (DI)   // dst[i] = X2\n\tADDQ  R8, SI     // SI = &(SI[incX])\n\tADDQ  R9, DX     // DX = &(DX[incY])\n\tADDQ  R10, DI    // DI = &(DI[incY])\n\tLOOP  axpyi_tail // } while --CX > 0\n\naxpyi_end:\n\tRET\n\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f32/axpyunitary_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func AxpyUnitary(alpha float32, x, y []float32)\nTEXT ·AxpyUnitary(SB), NOSPLIT, $0\n\tMOVQ    x_base+8(FP), SI  // SI = &x\n\tMOVQ    y_base+32(FP), DI // DI = &y\n\tMOVQ    x_len+16(FP), BX  // BX = min( len(x), len(y) )\n\tCMPQ    y_len+40(FP), BX\n\tCMOVQLE y_len+40(FP), BX\n\tCMPQ    BX, $0            // if BX == 0 { return }\n\tJE      axpy_end\n\tMOVSS   alpha+0(FP), X0\n\tSHUFPS  $0, X0, X0        // X0 = { a, a, a, a }\n\tXORQ    AX, AX            // i = 0\n\tPXOR    X2, X2            // 2 NOP instructions (PXOR) to align\n\tPXOR    X3, X3            // loop to cache line\n\tMOVQ    DI, CX\n\tANDQ    $0xF, CX          // Align on 16-byte boundary for ADDPS\n\tJZ      axpy_no_trim      // if CX == 0 { goto axpy_no_trim }\n\n\tXORQ $0xF, CX // CX = 4 - floor( BX % 16 / 4 )\n\tINCQ CX\n\tSHRQ $2, CX\n\naxpy_align: // Trim first value(s) in unaligned buffer  do {\n\tMOVSS (SI)(AX*4), X2 // X2 = x[i]\n\tMULSS X0, X2         // X2 *= a\n\tADDSS (DI)(AX*4), X2 // X2 += y[i]\n\tMOVSS X2, (DI)(AX*4) // y[i] = X2\n\tINCQ  AX             // i++\n\tDECQ  BX\n\tJZ    axpy_end       // if --BX == 0 { return }\n\tLOOP  axpy_align     // } while --CX > 0\n\naxpy_no_trim:\n\tMOVUPS X0, X1           // Copy X0 to X1 for pipelining\n\tMOVQ   BX, CX\n\tANDQ   $0xF, BX         // BX = len % 16\n\tSHRQ   $4, CX           // CX = int( len / 16 )\n\tJZ     axpy_tail4_start // if CX == 0 { return }\n\naxpy_loop: // Loop unrolled 16x   do {\n\tMOVUPS (SI)(AX*4), X2   // X2 = x[i:i+4]\n\tMOVUPS 16(SI)(AX*4), X3\n\tMOVUPS 32(SI)(AX*4), X4\n\tMOVUPS 48(SI)(AX*4), X5\n\tMULPS  X0, X2           // X2 *= a\n\tMULPS  X1, X3\n\tMULPS  X0, X4\n\tMULPS  X1, X5\n\tADDPS  (DI)(AX*4), X2   // X2 += y[i:i+4]\n\tADDPS  16(DI)(AX*4), X3\n\tADDPS  32(DI)(AX*4), X4\n\tADDPS  48(DI)(AX*4), X5\n\tMOVUPS X2, (DI)(AX*4)   // dst[i:i+4] = X2\n\tMOVUPS X3, 16(DI)(AX*4)\n\tMOVUPS X4, 32(DI)(AX*4)\n\tMOVUPS X5, 48(DI)(AX*4)\n\tADDQ   $16, AX          // i += 16\n\tLOOP   axpy_loop        // while (--CX) > 0\n\tCMPQ   BX, $0           // if BX == 0 { return }\n\tJE     axpy_end\n\naxpy_tail4_start: // Reset loop counter for 4-wide tail loop\n\tMOVQ BX, CX          // CX = floor( BX / 4 )\n\tSHRQ $2, CX\n\tJZ   axpy_tail_start // if CX == 0 { goto axpy_tail_start }\n\naxpy_tail4: // Loop unrolled 4x   do {\n\tMOVUPS (SI)(AX*4), X2 // X2 = x[i]\n\tMULPS  X0, X2         // X2 *= a\n\tADDPS  (DI)(AX*4), X2 // X2 += y[i]\n\tMOVUPS X2, (DI)(AX*4) // y[i] = X2\n\tADDQ   $4, AX         // i += 4\n\tLOOP   axpy_tail4     // } while --CX > 0\n\naxpy_tail_start: // Reset loop counter for 1-wide tail loop\n\tMOVQ BX, CX   // CX = BX % 4\n\tANDQ $3, CX\n\tJZ   axpy_end // if CX == 0 { return }\n\naxpy_tail:\n\tMOVSS (SI)(AX*4), X1 // X1 = x[i]\n\tMULSS X0, X1         // X1 *= a\n\tADDSS (DI)(AX*4), X1 // X1 += y[i]\n\tMOVSS X1, (DI)(AX*4) // y[i] = X1\n\tINCQ  AX             // i++\n\tLOOP  axpy_tail      // } while --CX > 0\n\naxpy_end:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f32/axpyunitaryto_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func AxpyUnitaryTo(dst []float32, alpha float32, x, y []float32)\nTEXT ·AxpyUnitaryTo(SB), NOSPLIT, $0\n\tMOVQ    dst_base+0(FP), DI // DI = &dst\n\tMOVQ    x_base+32(FP), SI  // SI = &x\n\tMOVQ    y_base+56(FP), DX  // DX = &y\n\tMOVQ    x_len+40(FP), BX   // BX = min( len(x), len(y), len(dst) )\n\tCMPQ    y_len+64(FP), BX\n\tCMOVQLE y_len+64(FP), BX\n\tCMPQ    dst_len+8(FP), BX\n\tCMOVQLE dst_len+8(FP), BX\n\tCMPQ    BX, $0             // if BX == 0 { return }\n\tJE      axpy_end\n\tMOVSS   alpha+24(FP), X0\n\tSHUFPS  $0, X0, X0         // X0 = { a, a, a, a, }\n\tXORQ    AX, AX             // i = 0\n\tMOVQ    DX, CX\n\tANDQ    $0xF, CX           // Align on 16-byte boundary for ADDPS\n\tJZ      axpy_no_trim       // if CX == 0 { goto axpy_no_trim }\n\n\tXORQ $0xF, CX // CX = 4 - floor ( B % 16 / 4 )\n\tINCQ CX\n\tSHRQ $2, CX\n\naxpy_align: // Trim first value(s) in unaligned buffer  do {\n\tMOVSS (SI)(AX*4), X2 // X2 = x[i]\n\tMULSS X0, X2         // X2 *= a\n\tADDSS (DX)(AX*4), X2 // X2 += y[i]\n\tMOVSS X2, (DI)(AX*4) // y[i] = X2\n\tINCQ  AX             // i++\n\tDECQ  BX\n\tJZ    axpy_end       // if --BX == 0 { return }\n\tLOOP  axpy_align     // } while --CX > 0\n\naxpy_no_trim:\n\tMOVUPS X0, X1           // Copy X0 to X1 for pipelining\n\tMOVQ   BX, CX\n\tANDQ   $0xF, BX         // BX = len % 16\n\tSHRQ   $4, CX           // CX = floor( len / 16 )\n\tJZ     axpy_tail4_start // if CX == 0 { return }\n\naxpy_loop: // Loop unrolled 16x  do {\n\tMOVUPS (SI)(AX*4), X2   // X2 = x[i:i+4]\n\tMOVUPS 16(SI)(AX*4), X3\n\tMOVUPS 32(SI)(AX*4), X4\n\tMOVUPS 48(SI)(AX*4), X5\n\tMULPS  X0, X2           // X2 *= a\n\tMULPS  X1, X3\n\tMULPS  X0, X4\n\tMULPS  X1, X5\n\tADDPS  (DX)(AX*4), X2   // X2 += y[i:i+4]\n\tADDPS  16(DX)(AX*4), X3\n\tADDPS  32(DX)(AX*4), X4\n\tADDPS  48(DX)(AX*4), X5\n\tMOVUPS X2, (DI)(AX*4)   // dst[i:i+4] = X2\n\tMOVUPS X3, 16(DI)(AX*4)\n\tMOVUPS X4, 32(DI)(AX*4)\n\tMOVUPS X5, 48(DI)(AX*4)\n\tADDQ   $16, AX          // i += 16\n\tLOOP   axpy_loop        // while (--CX) > 0\n\tCMPQ   BX, $0           // if BX == 0 { return }\n\tJE     axpy_end\n\naxpy_tail4_start: // Reset loop counter for 4-wide tail loop\n\tMOVQ BX, CX          // CX = floor( BX / 4 )\n\tSHRQ $2, CX\n\tJZ   axpy_tail_start // if CX == 0 { goto axpy_tail_start }\n\naxpy_tail4: // Loop unrolled 4x  do {\n\tMOVUPS (SI)(AX*4), X2 // X2 = x[i]\n\tMULPS  X0, X2         // X2 *= a\n\tADDPS  (DX)(AX*4), X2 // X2 += y[i]\n\tMOVUPS X2, (DI)(AX*4) // y[i] = X2\n\tADDQ   $4, AX         // i += 4\n\tLOOP   axpy_tail4     // } while --CX > 0\n\naxpy_tail_start: // Reset loop counter for 1-wide tail loop\n\tMOVQ BX, CX   // CX = BX % 4\n\tANDQ $3, CX\n\tJZ   axpy_end // if CX == 0 { return }\n\naxpy_tail:\n\tMOVSS (SI)(AX*4), X1 // X1 = x[i]\n\tMULSS X0, X1         // X1 *= a\n\tADDSS (DX)(AX*4), X1 // X1 += y[i]\n\tMOVSS X1, (DI)(AX*4) // y[i] = X1\n\tINCQ  AX             // i++\n\tLOOP  axpy_tail      // } while --CX > 0\n\naxpy_end:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f32/ddotinc_amd64.s",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define X_PTR SI\n#define Y_PTR DI\n#define LEN CX\n#define TAIL BX\n#define INC_X R8\n#define INCx3_X R10\n#define INC_Y R9\n#define INCx3_Y R11\n#define SUM X0\n#define P_SUM X1\n\n// func DdotInc(x, y []float32, n, incX, incY, ix, iy uintptr) (sum float64)\nTEXT ·DdotInc(SB), NOSPLIT, $0\n\tMOVQ x_base+0(FP), X_PTR  // X_PTR = &x\n\tMOVQ y_base+24(FP), Y_PTR // Y_PTR = &y\n\tMOVQ n+48(FP), LEN        // LEN = n\n\tPXOR SUM, SUM             // SUM = 0\n\tCMPQ LEN, $0\n\tJE   dot_end\n\n\tMOVQ ix+72(FP), INC_X        // INC_X = ix\n\tMOVQ iy+80(FP), INC_Y        // INC_Y = iy\n\tLEAQ (X_PTR)(INC_X*4), X_PTR // X_PTR = &(x[ix])\n\tLEAQ (Y_PTR)(INC_Y*4), Y_PTR // Y_PTR = &(y[iy])\n\n\tMOVQ incX+56(FP), INC_X // INC_X = incX * sizeof(float32)\n\tSHLQ $2, INC_X\n\tMOVQ incY+64(FP), INC_Y // INC_Y = incY * sizeof(float32)\n\tSHLQ $2, INC_Y\n\n\tMOVQ LEN, TAIL\n\tANDQ $3, TAIL  // TAIL = LEN % 4\n\tSHRQ $2, LEN   // LEN = floor( LEN / 4 )\n\tJZ   dot_tail  // if LEN == 0 { goto dot_tail }\n\n\tPXOR P_SUM, P_SUM              // P_SUM = 0  for pipelining\n\tLEAQ (INC_X)(INC_X*2), INCx3_X // INCx3_X = INC_X * 3\n\tLEAQ (INC_Y)(INC_Y*2), INCx3_Y // INCx3_Y = INC_Y * 3\n\ndot_loop: // Loop unrolled 4x  do {\n\tCVTSS2SD (X_PTR), X2            // X_i = x[i:i+1]\n\tCVTSS2SD (X_PTR)(INC_X*1), X3\n\tCVTSS2SD (X_PTR)(INC_X*2), X4\n\tCVTSS2SD (X_PTR)(INCx3_X*1), X5\n\n\tCVTSS2SD (Y_PTR), X6            // X_j = y[i:i+1]\n\tCVTSS2SD (Y_PTR)(INC_Y*1), X7\n\tCVTSS2SD (Y_PTR)(INC_Y*2), X8\n\tCVTSS2SD (Y_PTR)(INCx3_Y*1), X9\n\n\tMULSD X6, X2 // X_i *= X_j\n\tMULSD X7, X3\n\tMULSD X8, X4\n\tMULSD X9, X5\n\n\tADDSD X2, SUM   // SUM += X_i\n\tADDSD X3, P_SUM\n\tADDSD X4, SUM\n\tADDSD X5, P_SUM\n\n\tLEAQ (X_PTR)(INC_X*4), X_PTR // X_PTR = &(X_PTR[INC_X * 4])\n\tLEAQ (Y_PTR)(INC_Y*4), Y_PTR // Y_PTR = &(Y_PTR[INC_Y * 4])\n\n\tDECQ LEN\n\tJNZ  dot_loop // } while --LEN > 0\n\n\tADDSD P_SUM, SUM // SUM += P_SUM\n\tCMPQ  TAIL, $0   // if TAIL == 0 { return }\n\tJE    dot_end\n\ndot_tail: // do {\n\tCVTSS2SD (X_PTR), X2  // X2 = x[i]\n\tCVTSS2SD (Y_PTR), X3  // X2 *= y[i]\n\tMULSD    X3, X2\n\tADDSD    X2, SUM      // SUM += X2\n\tADDQ     INC_X, X_PTR // X_PTR += INC_X\n\tADDQ     INC_Y, Y_PTR // Y_PTR += INC_Y\n\tDECQ     TAIL\n\tJNZ      dot_tail     // } while --TAIL > 0\n\ndot_end:\n\tMOVSD SUM, sum+88(FP) // return SUM\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f32/ddotunitary_amd64.s",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define HADDPD_SUM_SUM    LONG $0xC07C0F66 // @ HADDPD X0, X0\n\n#define X_PTR SI\n#define Y_PTR DI\n#define LEN CX\n#define TAIL BX\n#define IDX AX\n#define SUM X0\n#define P_SUM X1\n\n// func DdotUnitary(x, y []float32) (sum float32)\nTEXT ·DdotUnitary(SB), NOSPLIT, $0\n\tMOVQ    x_base+0(FP), X_PTR  // X_PTR = &x\n\tMOVQ    y_base+24(FP), Y_PTR // Y_PTR = &y\n\tMOVQ    x_len+8(FP), LEN     // LEN = min( len(x), len(y) )\n\tCMPQ    y_len+32(FP), LEN\n\tCMOVQLE y_len+32(FP), LEN\n\tPXOR    SUM, SUM             // psum = 0\n\tCMPQ    LEN, $0\n\tJE      dot_end\n\n\tXORQ IDX, IDX\n\tMOVQ Y_PTR, DX\n\tANDQ $0xF, DX    // Align on 16-byte boundary for ADDPS\n\tJZ   dot_no_trim // if DX == 0 { goto dot_no_trim }\n\n\tSUBQ $16, DX\n\ndot_align: // Trim first value(s) in unaligned buffer  do {\n\tCVTSS2SD (X_PTR)(IDX*4), X2 // X2 = float64(x[i])\n\tCVTSS2SD (Y_PTR)(IDX*4), X3 // X3 = float64(y[i])\n\tMULSD    X3, X2\n\tADDSD    X2, SUM            // SUM += X2\n\tINCQ     IDX                // IDX++\n\tDECQ     LEN\n\tJZ       dot_end            // if --TAIL == 0 { return }\n\tADDQ     $4, DX\n\tJNZ      dot_align          // } while --LEN > 0\n\ndot_no_trim:\n\tPXOR P_SUM, P_SUM   // P_SUM = 0  for pipelining\n\tMOVQ LEN, TAIL\n\tANDQ $0x7, TAIL     // TAIL = LEN % 8\n\tSHRQ $3, LEN        // LEN = floor( LEN / 8 )\n\tJZ   dot_tail_start // if LEN == 0 { goto dot_tail_start }\n\ndot_loop: // Loop unrolled 8x  do {\n\tCVTPS2PD (X_PTR)(IDX*4), X2   // X_i = x[i:i+1]\n\tCVTPS2PD 8(X_PTR)(IDX*4), X3\n\tCVTPS2PD 16(X_PTR)(IDX*4), X4\n\tCVTPS2PD 24(X_PTR)(IDX*4), X5\n\n\tCVTPS2PD (Y_PTR)(IDX*4), X6   // X_j = y[i:i+1]\n\tCVTPS2PD 8(Y_PTR)(IDX*4), X7\n\tCVTPS2PD 16(Y_PTR)(IDX*4), X8\n\tCVTPS2PD 24(Y_PTR)(IDX*4), X9\n\n\tMULPD X6, X2 // X_i *= X_j\n\tMULPD X7, X3\n\tMULPD X8, X4\n\tMULPD X9, X5\n\n\tADDPD X2, SUM   // SUM += X_i\n\tADDPD X3, P_SUM\n\tADDPD X4, SUM\n\tADDPD X5, P_SUM\n\n\tADDQ $8, IDX  // IDX += 8\n\tDECQ LEN\n\tJNZ  dot_loop // } while --LEN > 0\n\n\tADDPD P_SUM, SUM // SUM += P_SUM\n\tCMPQ  TAIL, $0   // if TAIL == 0 { return }\n\tJE    dot_end\n\ndot_tail_start:\n\tMOVQ TAIL, LEN\n\tSHRQ $1, LEN\n\tJZ   dot_tail_one\n\ndot_tail_two:\n\tCVTPS2PD (X_PTR)(IDX*4), X2 // X_i = x[i:i+1]\n\tCVTPS2PD (Y_PTR)(IDX*4), X6 // X_j = y[i:i+1]\n\tMULPD    X6, X2             // X_i *= X_j\n\tADDPD    X2, SUM            // SUM += X_i\n\tADDQ     $2, IDX            // IDX += 2\n\tDECQ     LEN\n\tJNZ      dot_tail_two       // } while --LEN > 0\n\n\tANDQ $1, TAIL\n\tJZ   dot_end\n\ndot_tail_one:\n\tCVTSS2SD (X_PTR)(IDX*4), X2 // X2 = float64(x[i])\n\tCVTSS2SD (Y_PTR)(IDX*4), X3 // X3 = float64(y[i])\n\tMULSD    X3, X2             // X2 *= X3\n\tADDSD    X2, SUM            // SUM += X2\n\ndot_end:\n\tHADDPD_SUM_SUM        // SUM = \\sum{ SUM[i] }\n\tMOVSD SUM, sum+48(FP) // return SUM\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f32/doc.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package f32 provides float32 vector primitives.\npackage f32 // import \"gonum.org/v1/gonum/internal/asm/f32\"\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f32/dotinc_amd64.s",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define X_PTR SI\n#define Y_PTR DI\n#define LEN CX\n#define TAIL BX\n#define INC_X R8\n#define INCx3_X R10\n#define INC_Y R9\n#define INCx3_Y R11\n#define SUM X0\n#define P_SUM X1\n\n// func DotInc(x, y []float32, n, incX, incY, ix, iy uintptr) (sum float32)\nTEXT ·DotInc(SB), NOSPLIT, $0\n\tMOVQ x_base+0(FP), X_PTR  // X_PTR = &x\n\tMOVQ y_base+24(FP), Y_PTR // Y_PTR = &y\n\tPXOR SUM, SUM             // SUM = 0\n\tMOVQ n+48(FP), LEN        // LEN = n\n\tCMPQ LEN, $0\n\tJE   dot_end\n\n\tMOVQ ix+72(FP), INC_X        // INC_X = ix\n\tMOVQ iy+80(FP), INC_Y        // INC_Y = iy\n\tLEAQ (X_PTR)(INC_X*4), X_PTR // X_PTR = &(x[ix])\n\tLEAQ (Y_PTR)(INC_Y*4), Y_PTR // Y_PTR = &(y[iy])\n\n\tMOVQ incX+56(FP), INC_X // INC_X := incX * sizeof(float32)\n\tSHLQ $2, INC_X\n\tMOVQ incY+64(FP), INC_Y // INC_Y := incY * sizeof(float32)\n\tSHLQ $2, INC_Y\n\n\tMOVQ LEN, TAIL\n\tANDQ $0x3, TAIL // TAIL = LEN % 4\n\tSHRQ $2, LEN    // LEN = floor( LEN / 4 )\n\tJZ   dot_tail   // if LEN == 0 { goto dot_tail }\n\n\tPXOR P_SUM, P_SUM              // P_SUM = 0  for pipelining\n\tLEAQ (INC_X)(INC_X*2), INCx3_X // INCx3_X = INC_X * 3\n\tLEAQ (INC_Y)(INC_Y*2), INCx3_Y // INCx3_Y = INC_Y * 3\n\ndot_loop: // Loop unrolled 4x  do {\n\tMOVSS (X_PTR), X2            // X_i = x[i:i+1]\n\tMOVSS (X_PTR)(INC_X*1), X3\n\tMOVSS (X_PTR)(INC_X*2), X4\n\tMOVSS (X_PTR)(INCx3_X*1), X5\n\n\tMULSS (Y_PTR), X2            // X_i *= y[i:i+1]\n\tMULSS (Y_PTR)(INC_Y*1), X3\n\tMULSS (Y_PTR)(INC_Y*2), X4\n\tMULSS (Y_PTR)(INCx3_Y*1), X5\n\n\tADDSS X2, SUM   // SUM += X_i\n\tADDSS X3, P_SUM\n\tADDSS X4, SUM\n\tADDSS X5, P_SUM\n\n\tLEAQ (X_PTR)(INC_X*4), X_PTR // X_PTR = &(X_PTR[INC_X * 4])\n\tLEAQ (Y_PTR)(INC_Y*4), Y_PTR // Y_PTR = &(Y_PTR[INC_Y * 4])\n\n\tDECQ LEN\n\tJNZ  dot_loop // } while --LEN > 0\n\n\tADDSS P_SUM, SUM // P_SUM += SUM\n\tCMPQ  TAIL, $0   // if TAIL == 0 { return }\n\tJE    dot_end\n\ndot_tail: // do {\n\tMOVSS (X_PTR), X2  // X2 = x[i]\n\tMULSS (Y_PTR), X2  // X2 *= y[i]\n\tADDSS X2, SUM      // SUM += X2\n\tADDQ  INC_X, X_PTR // X_PTR += INC_X\n\tADDQ  INC_Y, Y_PTR // Y_PTR += INC_Y\n\tDECQ  TAIL\n\tJNZ   dot_tail     // } while --TAIL > 0\n\ndot_end:\n\tMOVSS SUM, sum+88(FP) // return SUM\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f32/dotunitary_amd64.s",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define HADDPS_SUM_SUM    LONG $0xC07C0FF2 // @ HADDPS X0, X0\n\n#define X_PTR SI\n#define Y_PTR DI\n#define LEN CX\n#define TAIL BX\n#define IDX AX\n#define SUM X0\n#define P_SUM X1\n\n// func DotUnitary(x, y []float32) (sum float32)\nTEXT ·DotUnitary(SB), NOSPLIT, $0\n\tMOVQ    x_base+0(FP), X_PTR  // X_PTR = &x\n\tMOVQ    y_base+24(FP), Y_PTR // Y_PTR = &y\n\tPXOR    SUM, SUM             // SUM = 0\n\tMOVQ    x_len+8(FP), LEN     // LEN = min( len(x), len(y) )\n\tCMPQ    y_len+32(FP), LEN\n\tCMOVQLE y_len+32(FP), LEN\n\tCMPQ    LEN, $0\n\tJE      dot_end\n\n\tXORQ IDX, IDX\n\tMOVQ Y_PTR, DX\n\tANDQ $0xF, DX    // Align on 16-byte boundary for MULPS\n\tJZ   dot_no_trim // if DX == 0 { goto dot_no_trim }\n\tSUBQ $16, DX\n\ndot_align: // Trim first value(s) in unaligned buffer  do {\n\tMOVSS (X_PTR)(IDX*4), X2 // X2 = x[i]\n\tMULSS (Y_PTR)(IDX*4), X2 // X2 *= y[i]\n\tADDSS X2, SUM            // SUM += X2\n\tINCQ  IDX                // IDX++\n\tDECQ  LEN\n\tJZ    dot_end            // if --TAIL == 0 { return }\n\tADDQ  $4, DX\n\tJNZ   dot_align          // } while --DX > 0\n\ndot_no_trim:\n\tPXOR P_SUM, P_SUM    // P_SUM = 0  for pipelining\n\tMOVQ LEN, TAIL\n\tANDQ $0xF, TAIL      // TAIL = LEN % 16\n\tSHRQ $4, LEN         // LEN = floor( LEN / 16 )\n\tJZ   dot_tail4_start // if LEN == 0 { goto dot_tail4_start }\n\ndot_loop: // Loop unrolled 16x  do {\n\tMOVUPS (X_PTR)(IDX*4), X2   // X_i = x[i:i+1]\n\tMOVUPS 16(X_PTR)(IDX*4), X3\n\tMOVUPS 32(X_PTR)(IDX*4), X4\n\tMOVUPS 48(X_PTR)(IDX*4), X5\n\n\tMULPS (Y_PTR)(IDX*4), X2   // X_i *= y[i:i+1]\n\tMULPS 16(Y_PTR)(IDX*4), X3\n\tMULPS 32(Y_PTR)(IDX*4), X4\n\tMULPS 48(Y_PTR)(IDX*4), X5\n\n\tADDPS X2, SUM   // SUM += X_i\n\tADDPS X3, P_SUM\n\tADDPS X4, SUM\n\tADDPS X5, P_SUM\n\n\tADDQ $16, IDX // IDX += 16\n\tDECQ LEN\n\tJNZ  dot_loop // } while --LEN > 0\n\n\tADDPS P_SUM, SUM // SUM += P_SUM\n\tCMPQ  TAIL, $0   // if TAIL == 0 { return }\n\tJE    dot_end\n\ndot_tail4_start: // Reset loop counter for 4-wide tail loop\n\tMOVQ TAIL, LEN      // LEN = floor( TAIL / 4 )\n\tSHRQ $2, LEN\n\tJZ   dot_tail_start // if LEN == 0 { goto dot_tail_start }\n\ndot_tail4_loop: // Loop unrolled 4x  do {\n\tMOVUPS (X_PTR)(IDX*4), X2 // X_i = x[i:i+1]\n\tMULPS  (Y_PTR)(IDX*4), X2 // X_i *= y[i:i+1]\n\tADDPS  X2, SUM            // SUM += X_i\n\tADDQ   $4, IDX            // i += 4\n\tDECQ   LEN\n\tJNZ    dot_tail4_loop     // } while --LEN > 0\n\ndot_tail_start: // Reset loop counter for 1-wide tail loop\n\tANDQ $3, TAIL // TAIL = TAIL % 4\n\tJZ   dot_end  // if TAIL == 0 { return }\n\ndot_tail: // do {\n\tMOVSS (X_PTR)(IDX*4), X2 // X2 = x[i]\n\tMULSS (Y_PTR)(IDX*4), X2 // X2 *= y[i]\n\tADDSS X2, SUM            // psum += X2\n\tINCQ  IDX                // IDX++\n\tDECQ  TAIL\n\tJNZ   dot_tail           // } while --TAIL > 0\n\ndot_end:\n\tHADDPS_SUM_SUM        // SUM = \\sum{ SUM[i] }\n\tHADDPS_SUM_SUM\n\tMOVSS SUM, sum+48(FP) // return SUM\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f32/scal.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage f32\n\n// ScalUnitary is\n//  for i := range x {\n//  \tx[i] *= alpha\n//  }\nfunc ScalUnitary(alpha float32, x []float32) {\n\tfor i := range x {\n\t\tx[i] *= alpha\n\t}\n}\n\n// ScalUnitaryTo is\n//  for i, v := range x {\n//  \tdst[i] = alpha * v\n//  }\nfunc ScalUnitaryTo(dst []float32, alpha float32, x []float32) {\n\tfor i, v := range x {\n\t\tdst[i] = alpha * v\n\t}\n}\n\n// ScalInc is\n//  var ix uintptr\n//  for i := 0; i < int(n); i++ {\n//  \tx[ix] *= alpha\n//  \tix += incX\n//  }\nfunc ScalInc(alpha float32, x []float32, n, incX uintptr) {\n\tvar ix uintptr\n\tfor i := 0; i < int(n); i++ {\n\t\tx[ix] *= alpha\n\t\tix += incX\n\t}\n}\n\n// ScalIncTo is\n//  var idst, ix uintptr\n//  for i := 0; i < int(n); i++ {\n//  \tdst[idst] = alpha * x[ix]\n//  \tix += incX\n//  \tidst += incDst\n//  }\nfunc ScalIncTo(dst []float32, incDst uintptr, alpha float32, x []float32, n, incX uintptr) {\n\tvar idst, ix uintptr\n\tfor i := 0; i < int(n); i++ {\n\t\tdst[idst] = alpha * x[ix]\n\t\tix += incX\n\t\tidst += incDst\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f32/stubs_amd64.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\npackage f32\n\n// AxpyUnitary is\n//  for i, v := range x {\n//  \ty[i] += alpha * v\n//  }\nfunc AxpyUnitary(alpha float32, x, y []float32)\n\n// AxpyUnitaryTo is\n//  for i, v := range x {\n//  \tdst[i] = alpha*v + y[i]\n//  }\nfunc AxpyUnitaryTo(dst []float32, alpha float32, x, y []float32)\n\n// AxpyInc is\n//  for i := 0; i < int(n); i++ {\n//  \ty[iy] += alpha * x[ix]\n//  \tix += incX\n//  \tiy += incY\n//  }\nfunc AxpyInc(alpha float32, x, y []float32, n, incX, incY, ix, iy uintptr)\n\n// AxpyIncTo is\n//  for i := 0; i < int(n); i++ {\n//  \tdst[idst] = alpha*x[ix] + y[iy]\n//  \tix += incX\n//  \tiy += incY\n//  \tidst += incDst\n//  }\nfunc AxpyIncTo(dst []float32, incDst, idst uintptr, alpha float32, x, y []float32, n, incX, incY, ix, iy uintptr)\n\n// DdotUnitary is\n//  for i, v := range x {\n//  \tsum += float64(y[i]) * float64(v)\n//  }\n//  return\nfunc DdotUnitary(x, y []float32) (sum float64)\n\n// DdotInc is\n//  for i := 0; i < int(n); i++ {\n//  \tsum += float64(y[iy]) * float64(x[ix])\n//  \tix += incX\n//  \tiy += incY\n//  }\n//  return\nfunc DdotInc(x, y []float32, n, incX, incY, ix, iy uintptr) (sum float64)\n\n// DotUnitary is\n//  for i, v := range x {\n//  \tsum += y[i] * v\n//  }\n//  return sum\nfunc DotUnitary(x, y []float32) (sum float32)\n\n// DotInc is\n//  for i := 0; i < int(n); i++ {\n//  \tsum += y[iy] * x[ix]\n//  \tix += incX\n//  \tiy += incY\n//  }\n//  return sum\nfunc DotInc(x, y []float32, n, incX, incY, ix, iy uintptr) (sum float32)\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f32/stubs_noasm.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !amd64 noasm appengine\n\npackage f32\n\n// AxpyUnitary is\n//  for i, v := range x {\n//  \ty[i] += alpha * v\n//  }\nfunc AxpyUnitary(alpha float32, x, y []float32) {\n\tfor i, v := range x {\n\t\ty[i] += alpha * v\n\t}\n}\n\n// AxpyUnitaryTo is\n//  for i, v := range x {\n//  \tdst[i] = alpha*v + y[i]\n//  }\nfunc AxpyUnitaryTo(dst []float32, alpha float32, x, y []float32) {\n\tfor i, v := range x {\n\t\tdst[i] = alpha*v + y[i]\n\t}\n}\n\n// AxpyInc is\n//  for i := 0; i < int(n); i++ {\n//  \ty[iy] += alpha * x[ix]\n//  \tix += incX\n//  \tiy += incY\n//  }\nfunc AxpyInc(alpha float32, x, y []float32, n, incX, incY, ix, iy uintptr) {\n\tfor i := 0; i < int(n); i++ {\n\t\ty[iy] += alpha * x[ix]\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// AxpyIncTo is\n//  for i := 0; i < int(n); i++ {\n//  \tdst[idst] = alpha*x[ix] + y[iy]\n//  \tix += incX\n//  \tiy += incY\n//  \tidst += incDst\n//  }\nfunc AxpyIncTo(dst []float32, incDst, idst uintptr, alpha float32, x, y []float32, n, incX, incY, ix, iy uintptr) {\n\tfor i := 0; i < int(n); i++ {\n\t\tdst[idst] = alpha*x[ix] + y[iy]\n\t\tix += incX\n\t\tiy += incY\n\t\tidst += incDst\n\t}\n}\n\n// DotUnitary is\n//  for i, v := range x {\n//  \tsum += y[i] * v\n//  }\n//  return sum\nfunc DotUnitary(x, y []float32) (sum float32) {\n\tfor i, v := range x {\n\t\tsum += y[i] * v\n\t}\n\treturn sum\n}\n\n// DotInc is\n//  for i := 0; i < int(n); i++ {\n//  \tsum += y[iy] * x[ix]\n//  \tix += incX\n//  \tiy += incY\n//  }\n//  return sum\nfunc DotInc(x, y []float32, n, incX, incY, ix, iy uintptr) (sum float32) {\n\tfor i := 0; i < int(n); i++ {\n\t\tsum += y[iy] * x[ix]\n\t\tix += incX\n\t\tiy += incY\n\t}\n\treturn sum\n}\n\n// DdotUnitary is\n//  for i, v := range x {\n//  \tsum += float64(y[i]) * float64(v)\n//  }\n//  return\nfunc DdotUnitary(x, y []float32) (sum float64) {\n\tfor i, v := range x {\n\t\tsum += float64(y[i]) * float64(v)\n\t}\n\treturn\n}\n\n// DdotInc is\n//  for i := 0; i < int(n); i++ {\n//  \tsum += float64(y[iy]) * float64(x[ix])\n//  \tix += incX\n//  \tiy += incY\n//  }\n//  return\nfunc DdotInc(x, y []float32, n, incX, incY, ix, iy uintptr) (sum float64) {\n\tfor i := 0; i < int(n); i++ {\n\t\tsum += float64(y[iy]) * float64(x[ix])\n\t\tix += incX\n\t\tiy += incY\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func L1Norm(x []float64) float64\nTEXT ·L1Norm(SB), NOSPLIT, $0\n\tMOVQ x_base+0(FP), SI // SI = &x\n\tMOVQ x_len+8(FP), CX  // CX = len(x)\n\tXORQ AX, AX           // i = 0\n\tPXOR X0, X0           // p_sum_i = 0\n\tPXOR X1, X1\n\tPXOR X2, X2\n\tPXOR X3, X3\n\tPXOR X4, X4\n\tPXOR X5, X5\n\tPXOR X6, X6\n\tPXOR X7, X7\n\tCMPQ CX, $0           // if CX == 0 { return 0 }\n\tJE   absum_end\n\tMOVQ CX, BX\n\tANDQ $7, BX           // BX = len(x) % 8\n\tSHRQ $3, CX           // CX = floor( len(x) / 8 )\n\tJZ   absum_tail_start // if CX == 0 { goto absum_tail_start }\n\nabsum_loop: // do {\n\t// p_sum += max( p_sum + x[i], p_sum - x[i] )\n\tMOVUPS (SI)(AX*8), X8    // X_i = x[i:i+1]\n\tMOVUPS 16(SI)(AX*8), X9\n\tMOVUPS 32(SI)(AX*8), X10\n\tMOVUPS 48(SI)(AX*8), X11\n\tADDPD  X8, X0            // p_sum_i += X_i  ( positive values )\n\tADDPD  X9, X2\n\tADDPD  X10, X4\n\tADDPD  X11, X6\n\tSUBPD  X8, X1            // p_sum_(i+1) -= X_i  ( negative values )\n\tSUBPD  X9, X3\n\tSUBPD  X10, X5\n\tSUBPD  X11, X7\n\tMAXPD  X1, X0            // p_sum_i = max( p_sum_i, p_sum_(i+1) )\n\tMAXPD  X3, X2\n\tMAXPD  X5, X4\n\tMAXPD  X7, X6\n\tMOVAPS X0, X1            // p_sum_(i+1) = p_sum_i\n\tMOVAPS X2, X3\n\tMOVAPS X4, X5\n\tMOVAPS X6, X7\n\tADDQ   $8, AX            // i += 8\n\tLOOP   absum_loop        // } while --CX > 0\n\n\t// p_sum_0 = \\sum_{i=1}^{3}( p_sum_(i*2) )\n\tADDPD X3, X0\n\tADDPD X5, X7\n\tADDPD X7, X0\n\n\t// p_sum_0[0] = p_sum_0[0] + p_sum_0[1]\n\tMOVAPS X0, X1\n\tSHUFPD $0x3, X0, X0 // lower( p_sum_0 ) = upper( p_sum_0 )\n\tADDSD  X1, X0\n\tCMPQ   BX, $0\n\tJE     absum_end    // if BX == 0 { goto absum_end }\n\nabsum_tail_start: // Reset loop registers\n\tMOVQ  BX, CX // Loop counter:  CX = BX\n\tXORPS X8, X8 // X_8 = 0\n\nabsum_tail: // do {\n\t// p_sum += max( p_sum + x[i], p_sum - x[i] )\n\tMOVSD (SI)(AX*8), X8 // X_8 = x[i]\n\tMOVSD X0, X1         // p_sum_1 = p_sum_0\n\tADDSD X8, X0         // p_sum_0 += X_8\n\tSUBSD X8, X1         // p_sum_1 -= X_8\n\tMAXSD X1, X0         // p_sum_0 = max( p_sum_0, p_sum_1 )\n\tINCQ  AX             // i++\n\tLOOP  absum_tail     // } while --CX > 0\n\nabsum_end: // return p_sum_0\n\tMOVSD X0, sum+24(FP)\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/abssuminc_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func L1NormInc(x []float64, n, incX int) (sum float64)\nTEXT ·L1NormInc(SB), NOSPLIT, $0\n\tMOVQ  x_base+0(FP), SI // SI = &x\n\tMOVQ  n+24(FP), CX     // CX = n\n\tMOVQ  incX+32(FP), AX  // AX =  increment * sizeof( float64 )\n\tSHLQ  $3, AX\n\tMOVQ  AX, DX           // DX = AX * 3\n\tIMULQ $3, DX\n\tPXOR  X0, X0           // p_sum_i = 0\n\tPXOR  X1, X1\n\tPXOR  X2, X2\n\tPXOR  X3, X3\n\tPXOR  X4, X4\n\tPXOR  X5, X5\n\tPXOR  X6, X6\n\tPXOR  X7, X7\n\tCMPQ  CX, $0           // if CX == 0 { return 0 }\n\tJE    absum_end\n\tMOVQ  CX, BX\n\tANDQ  $7, BX           // BX = n % 8\n\tSHRQ  $3, CX           // CX = floor( n / 8 )\n\tJZ    absum_tail_start // if CX == 0 { goto absum_tail_start }\n\nabsum_loop: // do {\n\t// p_sum = max( p_sum + x[i], p_sum - x[i] )\n\tMOVSD  (SI), X8        // X_i[0] = x[i]\n\tMOVSD  (SI)(AX*1), X9\n\tMOVSD  (SI)(AX*2), X10\n\tMOVSD  (SI)(DX*1), X11\n\tLEAQ   (SI)(AX*4), SI  // SI = SI + 4\n\tMOVHPD (SI), X8        // X_i[1] = x[i+4]\n\tMOVHPD (SI)(AX*1), X9\n\tMOVHPD (SI)(AX*2), X10\n\tMOVHPD (SI)(DX*1), X11\n\tADDPD  X8, X0          // p_sum_i += X_i  ( positive values )\n\tADDPD  X9, X2\n\tADDPD  X10, X4\n\tADDPD  X11, X6\n\tSUBPD  X8, X1          // p_sum_(i+1) -= X_i  ( negative values )\n\tSUBPD  X9, X3\n\tSUBPD  X10, X5\n\tSUBPD  X11, X7\n\tMAXPD  X1, X0          // p_sum_i = max( p_sum_i, p_sum_(i+1) )\n\tMAXPD  X3, X2\n\tMAXPD  X5, X4\n\tMAXPD  X7, X6\n\tMOVAPS X0, X1          // p_sum_(i+1) = p_sum_i\n\tMOVAPS X2, X3\n\tMOVAPS X4, X5\n\tMOVAPS X6, X7\n\tLEAQ   (SI)(AX*4), SI  // SI = SI + 4\n\tLOOP   absum_loop      // } while --CX > 0\n\n\t// p_sum_0 = \\sum_{i=1}^{3}( p_sum_(i*2) )\n\tADDPD X3, X0\n\tADDPD X5, X7\n\tADDPD X7, X0\n\n\t// p_sum_0[0] = p_sum_0[0] + p_sum_0[1]\n\tMOVAPS X0, X1\n\tSHUFPD $0x3, X0, X0 // lower( p_sum_0 ) = upper( p_sum_0 )\n\tADDSD  X1, X0\n\tCMPQ   BX, $0\n\tJE     absum_end    // if BX == 0 { goto absum_end }\n\nabsum_tail_start: // Reset loop registers\n\tMOVQ  BX, CX // Loop counter:  CX = BX\n\tXORPS X8, X8 // X_8 = 0\n\nabsum_tail: // do {\n\t// p_sum += max( p_sum + x[i], p_sum - x[i] )\n\tMOVSD (SI), X8   // X_8 = x[i]\n\tMOVSD X0, X1     // p_sum_1 = p_sum_0\n\tADDSD X8, X0     // p_sum_0 += X_8\n\tSUBSD X8, X1     // p_sum_1 -= X_8\n\tMAXSD X1, X0     // p_sum_0 = max( p_sum_0, p_sum_1 )\n\tADDQ  AX, SI     // i++\n\tLOOP  absum_tail // } while --CX > 0\n\nabsum_end: // return p_sum_0\n\tMOVSD X0, sum+40(FP)\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/add_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func Add(dst, s []float64)\nTEXT ·Add(SB), NOSPLIT, $0\n\tMOVQ    dst_base+0(FP), DI // DI = &dst\n\tMOVQ    dst_len+8(FP), CX  // CX = len(dst)\n\tMOVQ    s_base+24(FP), SI  // SI = &s\n\tCMPQ    s_len+32(FP), CX   // CX = max( CX, len(s) )\n\tCMOVQLE s_len+32(FP), CX\n\tCMPQ    CX, $0             // if CX == 0 { return }\n\tJE      add_end\n\tXORQ    AX, AX\n\tMOVQ    DI, BX\n\tANDQ    $0x0F, BX          // BX = &dst & 15\n\tJZ      add_no_trim        // if BX == 0 { goto add_no_trim }\n\n\t// Align on 16-bit boundary\n\tMOVSD (SI)(AX*8), X0 // X0 = s[i]\n\tADDSD (DI)(AX*8), X0 // X0 += dst[i]\n\tMOVSD X0, (DI)(AX*8) // dst[i] = X0\n\tINCQ  AX             // i++\n\tDECQ  CX             // --CX\n\tJE    add_end        // if CX == 0 { return  }\n\nadd_no_trim:\n\tMOVQ CX, BX\n\tANDQ $7, BX         // BX = len(dst) % 8\n\tSHRQ $3, CX         // CX = floor( len(dst) / 8 )\n\tJZ   add_tail_start // if CX == 0 { goto add_tail_start }\n\nadd_loop: // Loop unrolled 8x   do {\n\tMOVUPS (SI)(AX*8), X0   // X_i = s[i:i+1]\n\tMOVUPS 16(SI)(AX*8), X1\n\tMOVUPS 32(SI)(AX*8), X2\n\tMOVUPS 48(SI)(AX*8), X3\n\tADDPD  (DI)(AX*8), X0   // X_i += dst[i:i+1]\n\tADDPD  16(DI)(AX*8), X1\n\tADDPD  32(DI)(AX*8), X2\n\tADDPD  48(DI)(AX*8), X3\n\tMOVUPS X0, (DI)(AX*8)   // dst[i:i+1] = X_i\n\tMOVUPS X1, 16(DI)(AX*8)\n\tMOVUPS X2, 32(DI)(AX*8)\n\tMOVUPS X3, 48(DI)(AX*8)\n\tADDQ   $8, AX           // i += 8\n\tLOOP   add_loop         // } while --CX > 0\n\tCMPQ   BX, $0           // if BX == 0 { return }\n\tJE     add_end\n\nadd_tail_start: // Reset loop registers\n\tMOVQ BX, CX // Loop counter: CX = BX\n\nadd_tail: // do {\n\tMOVSD (SI)(AX*8), X0 // X0 = s[i]\n\tADDSD (DI)(AX*8), X0 // X0 += dst[i]\n\tMOVSD X0, (DI)(AX*8) // dst[i] = X0\n\tINCQ  AX             // ++i\n\tLOOP  add_tail       // } while --CX > 0\n\nadd_end:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/addconst_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func Addconst(alpha float64, x []float64)\nTEXT ·AddConst(SB), NOSPLIT, $0\n\tMOVQ   x_base+8(FP), SI // SI = &x\n\tMOVQ   x_len+16(FP), CX // CX = len(x)\n\tCMPQ   CX, $0           // if len(x) == 0 { return }\n\tJE     ac_end\n\tMOVSD  alpha+0(FP), X4  // X4 = { a, a }\n\tSHUFPD $0, X4, X4\n\tMOVUPS X4, X5           // X5 = X4\n\tXORQ   AX, AX           // i = 0\n\tMOVQ   CX, BX\n\tANDQ   $7, BX           // BX = len(x) % 8\n\tSHRQ   $3, CX           // CX = floor( len(x) / 8 )\n\tJZ     ac_tail_start    // if CX == 0 { goto ac_tail_start }\n\nac_loop: // Loop unrolled 8x   do {\n\tMOVUPS (SI)(AX*8), X0   // X_i = s[i:i+1]\n\tMOVUPS 16(SI)(AX*8), X1\n\tMOVUPS 32(SI)(AX*8), X2\n\tMOVUPS 48(SI)(AX*8), X3\n\tADDPD  X4, X0           // X_i += a\n\tADDPD  X5, X1\n\tADDPD  X4, X2\n\tADDPD  X5, X3\n\tMOVUPS X0, (SI)(AX*8)   // s[i:i+1] = X_i\n\tMOVUPS X1, 16(SI)(AX*8)\n\tMOVUPS X2, 32(SI)(AX*8)\n\tMOVUPS X3, 48(SI)(AX*8)\n\tADDQ   $8, AX           // i += 8\n\tLOOP   ac_loop          // } while --CX > 0\n\tCMPQ   BX, $0           // if BX == 0 { return }\n\tJE     ac_end\n\nac_tail_start: // Reset loop counters\n\tMOVQ BX, CX // Loop counter: CX = BX\n\nac_tail: // do {\n\tMOVSD (SI)(AX*8), X0 // X0 = s[i]\n\tADDSD X4, X0         // X0 += a\n\tMOVSD X0, (SI)(AX*8) // s[i] = X0\n\tINCQ  AX             // ++i\n\tLOOP  ac_tail        // } while --CX > 0\n\nac_end:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/axpy.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !amd64 noasm appengine\n\npackage f64\n\n// AxpyUnitary is\n//  for i, v := range x {\n//  \ty[i] += alpha * v\n//  }\nfunc AxpyUnitary(alpha float64, x, y []float64) {\n\tfor i, v := range x {\n\t\ty[i] += alpha * v\n\t}\n}\n\n// AxpyUnitaryTo is\n//  for i, v := range x {\n//  \tdst[i] = alpha*v + y[i]\n//  }\nfunc AxpyUnitaryTo(dst []float64, alpha float64, x, y []float64) {\n\tfor i, v := range x {\n\t\tdst[i] = alpha*v + y[i]\n\t}\n}\n\n// AxpyInc is\n//  for i := 0; i < int(n); i++ {\n//  \ty[iy] += alpha * x[ix]\n//  \tix += incX\n//  \tiy += incY\n//  }\nfunc AxpyInc(alpha float64, x, y []float64, n, incX, incY, ix, iy uintptr) {\n\tfor i := 0; i < int(n); i++ {\n\t\ty[iy] += alpha * x[ix]\n\t\tix += incX\n\t\tiy += incY\n\t}\n}\n\n// AxpyIncTo is\n//  for i := 0; i < int(n); i++ {\n//  \tdst[idst] = alpha*x[ix] + y[iy]\n//  \tix += incX\n//  \tiy += incY\n//  \tidst += incDst\n//  }\nfunc AxpyIncTo(dst []float64, incDst, idst uintptr, alpha float64, x, y []float64, n, incX, incY, ix, iy uintptr) {\n\tfor i := 0; i < int(n); i++ {\n\t\tdst[idst] = alpha*x[ix] + y[iy]\n\t\tix += incX\n\t\tiy += incY\n\t\tidst += incDst\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/axpyinc_amd64.s",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// Some of the loop unrolling code is copied from:\n// http://golang.org/src/math/big/arith_amd64.s\n// which is distributed under these terms:\n//\n// Copyright (c) 2012 The Go Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//    * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define X_PTR SI\n#define Y_PTR DI\n#define DST_PTR DI\n#define IDX AX\n#define LEN CX\n#define TAIL BX\n#define INC_X R8\n#define INCx3_X R11\n#define INC_Y R9\n#define INCx3_Y R12\n#define INC_DST R9\n#define INCx3_DST R12\n#define ALPHA X0\n#define ALPHA_2 X1\n\n// func AxpyInc(alpha float64, x, y []float64, n, incX, incY, ix, iy uintptr)\nTEXT ·AxpyInc(SB), NOSPLIT, $0\n\tMOVQ x_base+8(FP), X_PTR  // X_PTR = &x\n\tMOVQ y_base+32(FP), Y_PTR // Y_PTR = &y\n\tMOVQ n+56(FP), LEN        // LEN = n\n\tCMPQ LEN, $0              // if LEN == 0 { return }\n\tJE   end\n\n\tMOVQ ix+80(FP), INC_X\n\tMOVQ iy+88(FP), INC_Y\n\tLEAQ (X_PTR)(INC_X*8), X_PTR // X_PTR = &(x[ix])\n\tLEAQ (Y_PTR)(INC_Y*8), Y_PTR // Y_PTR = &(y[iy])\n\tMOVQ Y_PTR, DST_PTR          // DST_PTR = Y_PTR  // Write pointer\n\n\tMOVQ incX+64(FP), INC_X // INC_X = incX * sizeof(float64)\n\tSHLQ $3, INC_X\n\tMOVQ incY+72(FP), INC_Y // INC_Y = incY * sizeof(float64)\n\tSHLQ $3, INC_Y\n\n\tMOVSD alpha+0(FP), ALPHA // ALPHA = alpha\n\tMOVQ  LEN, TAIL\n\tANDQ  $3, TAIL           // TAIL = n % 4\n\tSHRQ  $2, LEN            // LEN = floor( n / 4 )\n\tJZ    tail_start         // if LEN == 0 { goto tail_start }\n\n\tMOVAPS ALPHA, ALPHA_2            // ALPHA_2 = ALPHA  for pipelining\n\tLEAQ   (INC_X)(INC_X*2), INCx3_X // INCx3_X = INC_X * 3\n\tLEAQ   (INC_Y)(INC_Y*2), INCx3_Y // INCx3_Y = INC_Y * 3\n\nloop:  // do {  // y[i] += alpha * x[i] unrolled 4x.\n\tMOVSD (X_PTR), X2            // X_i = x[i]\n\tMOVSD (X_PTR)(INC_X*1), X3\n\tMOVSD (X_PTR)(INC_X*2), X4\n\tMOVSD (X_PTR)(INCx3_X*1), X5\n\n\tMULSD ALPHA, X2   // X_i *= a\n\tMULSD ALPHA_2, X3\n\tMULSD ALPHA, X4\n\tMULSD ALPHA_2, X5\n\n\tADDSD (Y_PTR), X2            // X_i += y[i]\n\tADDSD (Y_PTR)(INC_Y*1), X3\n\tADDSD (Y_PTR)(INC_Y*2), X4\n\tADDSD (Y_PTR)(INCx3_Y*1), X5\n\n\tMOVSD X2, (DST_PTR)              // y[i] = X_i\n\tMOVSD X3, (DST_PTR)(INC_DST*1)\n\tMOVSD X4, (DST_PTR)(INC_DST*2)\n\tMOVSD X5, (DST_PTR)(INCx3_DST*1)\n\n\tLEAQ (X_PTR)(INC_X*4), X_PTR // X_PTR = &(X_PTR[incX*4])\n\tLEAQ (Y_PTR)(INC_Y*4), Y_PTR // Y_PTR = &(Y_PTR[incY*4])\n\tDECQ LEN\n\tJNZ  loop                    // } while --LEN > 0\n\tCMPQ TAIL, $0                // if TAIL == 0 { return }\n\tJE   end\n\ntail_start: // Reset Loop registers\n\tMOVQ TAIL, LEN // Loop counter: LEN = TAIL\n\tSHRQ $1, LEN   // LEN = floor( LEN / 2 )\n\tJZ   tail_one\n\ntail_two:\n\tMOVSD (X_PTR), X2              // X_i = x[i]\n\tMOVSD (X_PTR)(INC_X*1), X3\n\tMULSD ALPHA, X2                // X_i *= a\n\tMULSD ALPHA, X3\n\tADDSD (Y_PTR), X2              // X_i += y[i]\n\tADDSD (Y_PTR)(INC_Y*1), X3\n\tMOVSD X2, (DST_PTR)            // y[i] = X_i\n\tMOVSD X3, (DST_PTR)(INC_DST*1)\n\n\tLEAQ (X_PTR)(INC_X*2), X_PTR // X_PTR = &(X_PTR[incX*2])\n\tLEAQ (Y_PTR)(INC_Y*2), Y_PTR // Y_PTR = &(Y_PTR[incY*2])\n\n\tANDQ $1, TAIL\n\tJZ   end      // if TAIL == 0 { goto end }\n\ntail_one:\n\t// y[i] += alpha * x[i] for the last n % 4 iterations.\n\tMOVSD (X_PTR), X2   // X2 = x[i]\n\tMULSD ALPHA, X2     // X2 *= a\n\tADDSD (Y_PTR), X2   // X2 += y[i]\n\tMOVSD X2, (DST_PTR) // y[i] = X2\n\nend:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/axpyincto_amd64.s",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// Some of the loop unrolling code is copied from:\n// http://golang.org/src/math/big/arith_amd64.s\n// which is distributed under these terms:\n//\n// Copyright (c) 2012 The Go Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//    * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define X_PTR SI\n#define Y_PTR DI\n#define DST_PTR DX\n#define IDX AX\n#define LEN CX\n#define TAIL BX\n#define INC_X R8\n#define INCx3_X R11\n#define INC_Y R9\n#define INCx3_Y R12\n#define INC_DST R10\n#define INCx3_DST R13\n#define ALPHA X0\n#define ALPHA_2 X1\n\n// func AxpyIncTo(dst []float64, incDst, idst uintptr, alpha float64, x, y []float64, n, incX, incY, ix, iy uintptr)\nTEXT ·AxpyIncTo(SB), NOSPLIT, $0\n\tMOVQ dst_base+0(FP), DST_PTR // DST_PTR := &dst\n\tMOVQ x_base+48(FP), X_PTR    // X_PTR := &x\n\tMOVQ y_base+72(FP), Y_PTR    // Y_PTR := &y\n\tMOVQ n+96(FP), LEN           // LEN := n\n\tCMPQ LEN, $0                 // if LEN == 0 { return }\n\tJE   end\n\n\tMOVQ ix+120(FP), INC_X\n\tLEAQ (X_PTR)(INC_X*8), X_PTR       // X_PTR = &(x[ix])\n\tMOVQ iy+128(FP), INC_Y\n\tLEAQ (Y_PTR)(INC_Y*8), Y_PTR       // Y_PTR = &(dst[idst])\n\tMOVQ idst+32(FP), INC_DST\n\tLEAQ (DST_PTR)(INC_DST*8), DST_PTR // DST_PTR = &(y[iy])\n\n\tMOVQ  incX+104(FP), INC_X    // INC_X = incX * sizeof(float64)\n\tSHLQ  $3, INC_X\n\tMOVQ  incY+112(FP), INC_Y    // INC_Y = incY * sizeof(float64)\n\tSHLQ  $3, INC_Y\n\tMOVQ  incDst+24(FP), INC_DST // INC_DST = incDst * sizeof(float64)\n\tSHLQ  $3, INC_DST\n\tMOVSD alpha+40(FP), ALPHA\n\n\tMOVQ LEN, TAIL\n\tANDQ $3, TAIL   // TAIL = n % 4\n\tSHRQ $2, LEN    // LEN = floor( n / 4 )\n\tJZ   tail_start // if LEN == 0 { goto tail_start }\n\n\tMOVSD ALPHA, ALPHA_2                  // ALPHA_2 = ALPHA for pipelining\n\tLEAQ  (INC_X)(INC_X*2), INCx3_X       // INCx3_X = INC_X * 3\n\tLEAQ  (INC_Y)(INC_Y*2), INCx3_Y       // INCx3_Y = INC_Y * 3\n\tLEAQ  (INC_DST)(INC_DST*2), INCx3_DST // INCx3_DST = INC_DST * 3\n\nloop:  // do {  // y[i] += alpha * x[i] unrolled 2x.\n\tMOVSD (X_PTR), X2            // X_i = x[i]\n\tMOVSD (X_PTR)(INC_X*1), X3\n\tMOVSD (X_PTR)(INC_X*2), X4\n\tMOVSD (X_PTR)(INCx3_X*1), X5\n\n\tMULSD ALPHA, X2   // X_i *= a\n\tMULSD ALPHA_2, X3\n\tMULSD ALPHA, X4\n\tMULSD ALPHA_2, X5\n\n\tADDSD (Y_PTR), X2            // X_i += y[i]\n\tADDSD (Y_PTR)(INC_Y*1), X3\n\tADDSD (Y_PTR)(INC_Y*2), X4\n\tADDSD (Y_PTR)(INCx3_Y*1), X5\n\n\tMOVSD X2, (DST_PTR)              // y[i] = X_i\n\tMOVSD X3, (DST_PTR)(INC_DST*1)\n\tMOVSD X4, (DST_PTR)(INC_DST*2)\n\tMOVSD X5, (DST_PTR)(INCx3_DST*1)\n\n\tLEAQ (X_PTR)(INC_X*4), X_PTR       // X_PTR = &(X_PTR[incX*4])\n\tLEAQ (Y_PTR)(INC_Y*4), Y_PTR       // Y_PTR = &(Y_PTR[incY*4])\n\tLEAQ (DST_PTR)(INC_DST*4), DST_PTR // DST_PTR = &(DST_PTR[incDst*4]\n\tDECQ LEN\n\tJNZ  loop                          // } while --LEN > 0\n\tCMPQ TAIL, $0                      // if TAIL == 0 { return }\n\tJE   end\n\ntail_start: // Reset Loop registers\n\tMOVQ TAIL, LEN // Loop counter: LEN = TAIL\n\tSHRQ $1, LEN   // LEN = floor( LEN / 2 )\n\tJZ   tail_one\n\ntail_two:\n\tMOVSD (X_PTR), X2              // X_i = x[i]\n\tMOVSD (X_PTR)(INC_X*1), X3\n\tMULSD ALPHA, X2                // X_i *= a\n\tMULSD ALPHA, X3\n\tADDSD (Y_PTR), X2              // X_i += y[i]\n\tADDSD (Y_PTR)(INC_Y*1), X3\n\tMOVSD X2, (DST_PTR)            // y[i] = X_i\n\tMOVSD X3, (DST_PTR)(INC_DST*1)\n\n\tLEAQ (X_PTR)(INC_X*2), X_PTR       // X_PTR = &(X_PTR[incX*2])\n\tLEAQ (Y_PTR)(INC_Y*2), Y_PTR       // Y_PTR = &(Y_PTR[incY*2])\n\tLEAQ (DST_PTR)(INC_DST*2), DST_PTR // DST_PTR = &(DST_PTR[incY*2]\n\n\tANDQ $1, TAIL\n\tJZ   end      // if TAIL == 0 { goto end }\n\ntail_one:\n\tMOVSD (X_PTR), X2   // X2 = x[i]\n\tMULSD ALPHA, X2     // X2 *= a\n\tADDSD (Y_PTR), X2   // X2 += y[i]\n\tMOVSD X2, (DST_PTR) // y[i] = X2\n\nend:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/axpyunitary_amd64.s",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// Some of the loop unrolling code is copied from:\n// http://golang.org/src/math/big/arith_amd64.s\n// which is distributed under these terms:\n//\n// Copyright (c) 2012 The Go Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//    * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define X_PTR SI\n#define Y_PTR DI\n#define DST_PTR DI\n#define IDX AX\n#define LEN CX\n#define TAIL BX\n#define ALPHA X0\n#define ALPHA_2 X1\n\n// func AxpyUnitary(alpha float64, x, y []float64)\nTEXT ·AxpyUnitary(SB), NOSPLIT, $0\n\tMOVQ    x_base+8(FP), X_PTR  // X_PTR := &x\n\tMOVQ    y_base+32(FP), Y_PTR // Y_PTR := &y\n\tMOVQ    x_len+16(FP), LEN    // LEN = min( len(x), len(y) )\n\tCMPQ    y_len+40(FP), LEN\n\tCMOVQLE y_len+40(FP), LEN\n\tCMPQ    LEN, $0              // if LEN == 0 { return }\n\tJE      end\n\tXORQ    IDX, IDX\n\tMOVSD   alpha+0(FP), ALPHA   // ALPHA := { alpha, alpha }\n\tSHUFPD  $0, ALPHA, ALPHA\n\tMOVUPS  ALPHA, ALPHA_2       // ALPHA_2 := ALPHA   for pipelining\n\tMOVQ    Y_PTR, TAIL          // Check memory alignment\n\tANDQ    $15, TAIL            // TAIL = &y % 16\n\tJZ      no_trim              // if TAIL == 0 { goto no_trim }\n\n\t// Align on 16-byte boundary\n\tMOVSD (X_PTR), X2   // X2 := x[0]\n\tMULSD ALPHA, X2     // X2 *= a\n\tADDSD (Y_PTR), X2   // X2 += y[0]\n\tMOVSD X2, (DST_PTR) // y[0] = X2\n\tINCQ  IDX           // i++\n\tDECQ  LEN           // LEN--\n\tJZ    end           // if LEN == 0 { return }\n\nno_trim:\n\tMOVQ LEN, TAIL\n\tANDQ $7, TAIL   // TAIL := n % 8\n\tSHRQ $3, LEN    // LEN = floor( n / 8 )\n\tJZ   tail_start // if LEN == 0 { goto tail2_start }\n\nloop:  // do {\n\t// y[i] += alpha * x[i] unrolled 8x.\n\tMOVUPS (X_PTR)(IDX*8), X2   // X_i = x[i]\n\tMOVUPS 16(X_PTR)(IDX*8), X3\n\tMOVUPS 32(X_PTR)(IDX*8), X4\n\tMOVUPS 48(X_PTR)(IDX*8), X5\n\n\tMULPD ALPHA, X2   // X_i *= a\n\tMULPD ALPHA_2, X3\n\tMULPD ALPHA, X4\n\tMULPD ALPHA_2, X5\n\n\tADDPD (Y_PTR)(IDX*8), X2   // X_i += y[i]\n\tADDPD 16(Y_PTR)(IDX*8), X3\n\tADDPD 32(Y_PTR)(IDX*8), X4\n\tADDPD 48(Y_PTR)(IDX*8), X5\n\n\tMOVUPS X2, (DST_PTR)(IDX*8)   // y[i] = X_i\n\tMOVUPS X3, 16(DST_PTR)(IDX*8)\n\tMOVUPS X4, 32(DST_PTR)(IDX*8)\n\tMOVUPS X5, 48(DST_PTR)(IDX*8)\n\n\tADDQ $8, IDX  // i += 8\n\tDECQ LEN\n\tJNZ  loop     // } while --LEN > 0\n\tCMPQ TAIL, $0 // if TAIL == 0 { return }\n\tJE   end\n\ntail_start: // Reset loop registers\n\tMOVQ TAIL, LEN // Loop counter: LEN = TAIL\n\tSHRQ $1, LEN   // LEN = floor( TAIL / 2 )\n\tJZ   tail_one  // if TAIL == 0 { goto tail }\n\ntail_two: // do {\n\tMOVUPS (X_PTR)(IDX*8), X2   // X2 = x[i]\n\tMULPD  ALPHA, X2            // X2 *= a\n\tADDPD  (Y_PTR)(IDX*8), X2   // X2 += y[i]\n\tMOVUPS X2, (DST_PTR)(IDX*8) // y[i] = X2\n\tADDQ   $2, IDX              // i += 2\n\tDECQ   LEN\n\tJNZ    tail_two             // } while --LEN > 0\n\n\tANDQ $1, TAIL\n\tJZ   end      // if TAIL == 0 { goto end }\n\ntail_one:\n\tMOVSD (X_PTR)(IDX*8), X2   // X2 = x[i]\n\tMULSD ALPHA, X2            // X2 *= a\n\tADDSD (Y_PTR)(IDX*8), X2   // X2 += y[i]\n\tMOVSD X2, (DST_PTR)(IDX*8) // y[i] = X2\n\nend:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/axpyunitaryto_amd64.s",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// Some of the loop unrolling code is copied from:\n// http://golang.org/src/math/big/arith_amd64.s\n// which is distributed under these terms:\n//\n// Copyright (c) 2012 The Go Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//    * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define X_PTR SI\n#define Y_PTR DX\n#define DST_PTR DI\n#define IDX AX\n#define LEN CX\n#define TAIL BX\n#define ALPHA X0\n#define ALPHA_2 X1\n\n// func AxpyUnitaryTo(dst []float64, alpha float64, x, y []float64)\nTEXT ·AxpyUnitaryTo(SB), NOSPLIT, $0\n\tMOVQ    dst_base+0(FP), DST_PTR // DST_PTR := &dst\n\tMOVQ    x_base+32(FP), X_PTR    // X_PTR := &x\n\tMOVQ    y_base+56(FP), Y_PTR    // Y_PTR := &y\n\tMOVQ    x_len+40(FP), LEN       // LEN = min( len(x), len(y), len(dst) )\n\tCMPQ    y_len+64(FP), LEN\n\tCMOVQLE y_len+64(FP), LEN\n\tCMPQ    dst_len+8(FP), LEN\n\tCMOVQLE dst_len+8(FP), LEN\n\n\tCMPQ LEN, $0\n\tJE   end     // if LEN == 0 { return }\n\n\tXORQ   IDX, IDX            // IDX = 0\n\tMOVSD  alpha+24(FP), ALPHA\n\tSHUFPD $0, ALPHA, ALPHA    // ALPHA := { alpha, alpha }\n\tMOVQ   Y_PTR, TAIL         // Check memory alignment\n\tANDQ   $15, TAIL           // TAIL = &y % 16\n\tJZ     no_trim             // if TAIL == 0 { goto no_trim }\n\n\t// Align on 16-byte boundary\n\tMOVSD (X_PTR), X2   // X2 := x[0]\n\tMULSD ALPHA, X2     // X2 *= a\n\tADDSD (Y_PTR), X2   // X2 += y[0]\n\tMOVSD X2, (DST_PTR) // y[0] = X2\n\tINCQ  IDX           // i++\n\tDECQ  LEN           // LEN--\n\tJZ    end           // if LEN == 0 { return }\n\nno_trim:\n\tMOVQ LEN, TAIL\n\tANDQ $7, TAIL   // TAIL := n % 8\n\tSHRQ $3, LEN    // LEN = floor( n / 8 )\n\tJZ   tail_start // if LEN == 0 { goto tail_start }\n\n\tMOVUPS ALPHA, ALPHA_2 // ALPHA_2 := ALPHA  for pipelining\n\nloop:  // do {\n\t// y[i] += alpha * x[i] unrolled 8x.\n\tMOVUPS (X_PTR)(IDX*8), X2   // X_i = x[i]\n\tMOVUPS 16(X_PTR)(IDX*8), X3\n\tMOVUPS 32(X_PTR)(IDX*8), X4\n\tMOVUPS 48(X_PTR)(IDX*8), X5\n\n\tMULPD ALPHA, X2   // X_i *= alpha\n\tMULPD ALPHA_2, X3\n\tMULPD ALPHA, X4\n\tMULPD ALPHA_2, X5\n\n\tADDPD (Y_PTR)(IDX*8), X2   // X_i += y[i]\n\tADDPD 16(Y_PTR)(IDX*8), X3\n\tADDPD 32(Y_PTR)(IDX*8), X4\n\tADDPD 48(Y_PTR)(IDX*8), X5\n\n\tMOVUPS X2, (DST_PTR)(IDX*8)   // y[i] = X_i\n\tMOVUPS X3, 16(DST_PTR)(IDX*8)\n\tMOVUPS X4, 32(DST_PTR)(IDX*8)\n\tMOVUPS X5, 48(DST_PTR)(IDX*8)\n\n\tADDQ $8, IDX  // i += 8\n\tDECQ LEN\n\tJNZ  loop     // } while --LEN > 0\n\tCMPQ TAIL, $0 // if TAIL == 0 { return }\n\tJE   end\n\ntail_start: // Reset loop registers\n\tMOVQ TAIL, LEN // Loop counter: LEN = TAIL\n\tSHRQ $1, LEN   // LEN = floor( TAIL / 2 )\n\tJZ   tail_one  // if LEN == 0 { goto tail }\n\ntail_two: // do {\n\tMOVUPS (X_PTR)(IDX*8), X2   // X2 = x[i]\n\tMULPD  ALPHA, X2            // X2 *= alpha\n\tADDPD  (Y_PTR)(IDX*8), X2   // X2 += y[i]\n\tMOVUPS X2, (DST_PTR)(IDX*8) // y[i] = X2\n\tADDQ   $2, IDX              // i += 2\n\tDECQ   LEN\n\tJNZ    tail_two             // } while --LEN > 0\n\n\tANDQ $1, TAIL\n\tJZ   end      // if TAIL == 0 { goto end }\n\ntail_one:\n\tMOVSD (X_PTR)(IDX*8), X2   // X2 = x[i]\n\tMULSD ALPHA, X2            // X2 *= a\n\tADDSD (Y_PTR)(IDX*8), X2   // X2 += y[i]\n\tMOVSD X2, (DST_PTR)(IDX*8) // y[i] = X2\n\nend:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/cumprod_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !noasm,!appengine\n\n#include \"textflag.h\"\n\nTEXT ·CumProd(SB), NOSPLIT, $0\n\tMOVQ    dst_base+0(FP), DI // DI = &dst\n\tMOVQ    dst_len+8(FP), CX  // CX = len(dst)\n\tMOVQ    s_base+24(FP), SI  // SI = &s\n\tCMPQ    s_len+32(FP), CX   // CX = max( CX, len(s) )\n\tCMOVQLE s_len+32(FP), CX\n\tMOVQ    CX, ret_len+56(FP) // len(ret) = CX\n\tCMPQ    CX, $0             // if CX == 0 { return }\n\tJE      cp_end\n\tXORQ    AX, AX             // i = 0\n\n\tMOVSD  (SI), X5   // p_prod = { s[0], s[0] }\n\tSHUFPD $0, X5, X5\n\tMOVSD  X5, (DI)   // dst[0] = s[0]\n\tINCQ   AX         // ++i\n\tDECQ   CX         // -- CX\n\tJZ     cp_end     // if CX == 0 { return }\n\n\tMOVQ CX, BX\n\tANDQ $3, BX        // BX = CX % 4\n\tSHRQ $2, CX        // CX = floor( CX / 4 )\n\tJZ   cp_tail_start // if CX == 0 { goto cp_tail_start }\n\ncp_loop: // Loop unrolled 4x   do {\n\tMOVUPS (SI)(AX*8), X0   // X0 = s[i:i+1]\n\tMOVUPS 16(SI)(AX*8), X2\n\tMOVAPS X0, X1           // X1 = X0\n\tMOVAPS X2, X3\n\tSHUFPD $1, X1, X1       // { X1[0], X1[1] } = { X1[1], X1[0] }\n\tSHUFPD $1, X3, X3\n\tMULPD  X0, X1           // X1 *= X0\n\tMULPD  X2, X3\n\tSHUFPD $2, X1, X0       // { X0[0], X0[1] } = { X0[0], X1[1] }\n\tSHUFPD $3, X1, X1       // { X1[0], X1[1] } = { X1[1], X1[1] }\n\tSHUFPD $2, X3, X2\n\tSHUFPD $3, X3, X3\n\tMULPD  X5, X0           // X0 *= p_prod\n\tMULPD  X1, X5           // p_prod *= X1\n\tMULPD  X5, X2\n\tMOVUPS X0, (DI)(AX*8)   // dst[i] = X0\n\tMOVUPS X2, 16(DI)(AX*8)\n\tMULPD  X3, X5\n\tADDQ   $4, AX           // i += 4\n\tLOOP   cp_loop          // } while --CX > 0\n\n\t// if BX == 0 { return }\n\tCMPQ BX, $0\n\tJE   cp_end\n\ncp_tail_start: // Reset loop registers\n\tMOVQ BX, CX // Loop counter: CX = BX\n\ncp_tail: // do {\n\tMULSD (SI)(AX*8), X5 // p_prod *= s[i]\n\tMOVSD X5, (DI)(AX*8) // dst[i] = p_prod\n\tINCQ  AX             // ++i\n\tLOOP  cp_tail        // } while --CX > 0\n\ncp_end:\n\tMOVQ DI, ret_base+48(FP) // &ret = &dst\n\tMOVQ dst_cap+16(FP), SI  // cap(ret) = cap(dst)\n\tMOVQ SI, ret_cap+64(FP)\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/cumsum_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !noasm,!appengine\n\n#include \"textflag.h\"\n\nTEXT ·CumSum(SB), NOSPLIT, $0\n\tMOVQ    dst_base+0(FP), DI // DI = &dst\n\tMOVQ    dst_len+8(FP), CX  // CX = len(dst)\n\tMOVQ    s_base+24(FP), SI  // SI = &s\n\tCMPQ    s_len+32(FP), CX   // CX = max( CX, len(s) )\n\tCMOVQLE s_len+32(FP), CX\n\tMOVQ    CX, ret_len+56(FP) // len(ret) = CX\n\tCMPQ    CX, $0             // if CX == 0 { return }\n\tJE      cs_end\n\tXORQ    AX, AX             // i = 0\n\tPXOR    X5, X5             // p_sum = 0\n\tMOVQ    CX, BX\n\tANDQ    $3, BX             // BX = CX % 4\n\tSHRQ    $2, CX             // CX = floor( CX / 4 )\n\tJZ      cs_tail_start      // if CX == 0 { goto cs_tail_start }\n\ncs_loop: // Loop unrolled 4x   do {\n\tMOVUPS (SI)(AX*8), X0   // X0 = s[i:i+1]\n\tMOVUPS 16(SI)(AX*8), X2\n\tMOVAPS X0, X1           // X1 = X0\n\tMOVAPS X2, X3\n\tSHUFPD $1, X1, X1       // { X1[0], X1[1] } = { X1[1], X1[0] }\n\tSHUFPD $1, X3, X3\n\tADDPD  X0, X1           // X1 += X0\n\tADDPD  X2, X3\n\tSHUFPD $2, X1, X0       // { X0[0], X0[1] } = { X0[0], X1[1] }\n\tSHUFPD $3, X1, X1       // { X1[0], X1[1] } = { X1[1], X1[1] }\n\tSHUFPD $2, X3, X2\n\tSHUFPD $3, X3, X3\n\tADDPD  X5, X0           // X0 += p_sum\n\tADDPD  X1, X5           // p_sum += X1\n\tADDPD  X5, X2\n\tMOVUPS X0, (DI)(AX*8)   // dst[i] = X0\n\tMOVUPS X2, 16(DI)(AX*8)\n\tADDPD  X3, X5\n\tADDQ   $4, AX           // i += 4\n\tLOOP   cs_loop          // } while --CX > 0\n\n\t// if BX == 0 { return }\n\tCMPQ BX, $0\n\tJE   cs_end\n\ncs_tail_start: // Reset loop registers\n\tMOVQ BX, CX // Loop counter: CX = BX\n\ncs_tail: // do {\n\tADDSD (SI)(AX*8), X5 // p_sum *= s[i]\n\tMOVSD X5, (DI)(AX*8) // dst[i] = p_sum\n\tINCQ  AX             // ++i\n\tLOOP  cs_tail        // } while --CX > 0\n\ncs_end:\n\tMOVQ DI, ret_base+48(FP) // &ret = &dst\n\tMOVQ dst_cap+16(FP), SI  // cap(ret) = cap(dst)\n\tMOVQ SI, ret_cap+64(FP)\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/div_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func Div(dst, s []float64)\nTEXT ·Div(SB), NOSPLIT, $0\n\tMOVQ    dst_base+0(FP), DI // DI = &dst\n\tMOVQ    dst_len+8(FP), CX  // CX = len(dst)\n\tMOVQ    s_base+24(FP), SI  // SI = &s\n\tCMPQ    s_len+32(FP), CX   // CX = max( CX, len(s) )\n\tCMOVQLE s_len+32(FP), CX\n\tCMPQ    CX, $0             // if CX == 0 { return }\n\tJE      div_end\n\tXORQ    AX, AX             // i = 0\n\tMOVQ    SI, BX\n\tANDQ    $15, BX            // BX = &s & 15\n\tJZ      div_no_trim        // if BX == 0 { goto div_no_trim }\n\n\t// Align on 16-bit boundary\n\tMOVSD (DI)(AX*8), X0 // X0 = dst[i]\n\tDIVSD (SI)(AX*8), X0 // X0 /= s[i]\n\tMOVSD X0, (DI)(AX*8) // dst[i] = X0\n\tINCQ  AX             // ++i\n\tDECQ  CX             // --CX\n\tJZ    div_end        // if CX == 0 { return }\n\ndiv_no_trim:\n\tMOVQ CX, BX\n\tANDQ $7, BX         // BX = len(dst) % 8\n\tSHRQ $3, CX         // CX = floor( len(dst) / 8 )\n\tJZ   div_tail_start // if CX == 0 { goto div_tail_start }\n\ndiv_loop: // Loop unrolled 8x   do {\n\tMOVUPS (DI)(AX*8), X0   // X0 = dst[i:i+1]\n\tMOVUPS 16(DI)(AX*8), X1\n\tMOVUPS 32(DI)(AX*8), X2\n\tMOVUPS 48(DI)(AX*8), X3\n\tDIVPD  (SI)(AX*8), X0   // X0 /= s[i:i+1]\n\tDIVPD  16(SI)(AX*8), X1\n\tDIVPD  32(SI)(AX*8), X2\n\tDIVPD  48(SI)(AX*8), X3\n\tMOVUPS X0, (DI)(AX*8)   // dst[i] = X0\n\tMOVUPS X1, 16(DI)(AX*8)\n\tMOVUPS X2, 32(DI)(AX*8)\n\tMOVUPS X3, 48(DI)(AX*8)\n\tADDQ   $8, AX           // i += 8\n\tLOOP   div_loop         // } while --CX > 0\n\tCMPQ   BX, $0           // if BX == 0 { return }\n\tJE     div_end\n\ndiv_tail_start: // Reset loop registers\n\tMOVQ BX, CX // Loop counter: CX = BX\n\ndiv_tail: // do {\n\tMOVSD (DI)(AX*8), X0 // X0 = dst[i]\n\tDIVSD (SI)(AX*8), X0 // X0 /= s[i]\n\tMOVSD X0, (DI)(AX*8) // dst[i] = X0\n\tINCQ  AX             // ++i\n\tLOOP  div_tail       // } while --CX > 0\n\ndiv_end:\n\tRET\n\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/divto_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func DivTo(dst, x, y []float64)\nTEXT ·DivTo(SB), NOSPLIT, $0\n\tMOVQ    dst_base+0(FP), DI // DI = &dst\n\tMOVQ    dst_len+8(FP), CX  // CX = len(dst)\n\tMOVQ    x_base+24(FP), SI  // SI = &x\n\tMOVQ    y_base+48(FP), DX  // DX = &y\n\tCMPQ    x_len+32(FP), CX   // CX = max( len(dst), len(x), len(y) )\n\tCMOVQLE x_len+32(FP), CX\n\tCMPQ    y_len+56(FP), CX\n\tCMOVQLE y_len+56(FP), CX\n\tMOVQ    CX, ret_len+80(FP) // len(ret) = CX\n\tCMPQ    CX, $0             // if CX == 0 { return }\n\tJE      div_end\n\tXORQ    AX, AX             // i = 0\n\tMOVQ    DX, BX\n\tANDQ    $15, BX            // BX = &y & OxF\n\tJZ      div_no_trim        // if BX == 0 { goto div_no_trim }\n\n\t// Align on 16-bit boundary\n\tMOVSD (SI)(AX*8), X0 // X0 = s[i]\n\tDIVSD (DX)(AX*8), X0 // X0 /= t[i]\n\tMOVSD X0, (DI)(AX*8) // dst[i] = X0\n\tINCQ  AX             // ++i\n\tDECQ  CX             // --CX\n\tJZ    div_end        // if CX == 0 { return }\n\ndiv_no_trim:\n\tMOVQ CX, BX\n\tANDQ $7, BX         // BX = len(dst) % 8\n\tSHRQ $3, CX         // CX = floor( len(dst) / 8 )\n\tJZ   div_tail_start // if CX == 0 { goto div_tail_start }\n\ndiv_loop: // Loop unrolled 8x   do {\n\tMOVUPS (SI)(AX*8), X0   // X0 = x[i:i+1]\n\tMOVUPS 16(SI)(AX*8), X1\n\tMOVUPS 32(SI)(AX*8), X2\n\tMOVUPS 48(SI)(AX*8), X3\n\tDIVPD  (DX)(AX*8), X0   // X0 /= y[i:i+1]\n\tDIVPD  16(DX)(AX*8), X1\n\tDIVPD  32(DX)(AX*8), X2\n\tDIVPD  48(DX)(AX*8), X3\n\tMOVUPS X0, (DI)(AX*8)   // dst[i:i+1] = X0\n\tMOVUPS X1, 16(DI)(AX*8)\n\tMOVUPS X2, 32(DI)(AX*8)\n\tMOVUPS X3, 48(DI)(AX*8)\n\tADDQ   $8, AX           // i += 8\n\tLOOP   div_loop         // } while --CX > 0\n\tCMPQ   BX, $0           // if BX == 0 { return }\n\tJE     div_end\n\ndiv_tail_start: // Reset loop registers\n\tMOVQ BX, CX // Loop counter: CX = BX\n\ndiv_tail: // do {\n\tMOVSD (SI)(AX*8), X0 // X0  = x[i]\n\tDIVSD (DX)(AX*8), X0 // X0 /= y[i]\n\tMOVSD X0, (DI)(AX*8)\n\tINCQ  AX             // ++i\n\tLOOP  div_tail       // } while --CX > 0\n\ndiv_end:\n\tMOVQ DI, ret_base+72(FP) // &ret = &dst\n\tMOVQ dst_cap+16(FP), DI  // cap(ret) = cap(dst)\n\tMOVQ DI, ret_cap+88(FP)\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/doc.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package f64 provides float64 vector primitives.\npackage f64 // import \"gonum.org/v1/gonum/internal/asm/f64\"\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/dot.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !amd64 noasm appengine\n\npackage f64\n\n// DotUnitary is\n//  for i, v := range x {\n//  \tsum += y[i] * v\n//  }\n//  return sum\nfunc DotUnitary(x, y []float64) (sum float64) {\n\tfor i, v := range x {\n\t\tsum += y[i] * v\n\t}\n\treturn sum\n}\n\n// DotInc is\n//  for i := 0; i < int(n); i++ {\n//  \tsum += y[iy] * x[ix]\n//  \tix += incX\n//  \tiy += incY\n//  }\n//  return sum\nfunc DotInc(x, y []float64, n, incX, incY, ix, iy uintptr) (sum float64) {\n\tfor i := 0; i < int(n); i++ {\n\t\tsum += y[iy] * x[ix]\n\t\tix += incX\n\t\tiy += incY\n\t}\n\treturn sum\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/dot_amd64.s",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// Some of the loop unrolling code is copied from:\n// http://golang.org/src/math/big/arith_amd64.s\n// which is distributed under these terms:\n//\n// Copyright (c) 2012 The Go Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//    * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func DdotUnitary(x, y []float64) (sum float64)\n// This function assumes len(y) >= len(x).\nTEXT ·DotUnitary(SB), NOSPLIT, $0\n\tMOVQ x+0(FP), R8\n\tMOVQ x_len+8(FP), DI // n = len(x)\n\tMOVQ y+24(FP), R9\n\n\tMOVSD $(0.0), X7 // sum = 0\n\tMOVSD $(0.0), X8 // sum = 0\n\n\tMOVQ $0, SI   // i = 0\n\tSUBQ $4, DI   // n -= 4\n\tJL   tail_uni // if n < 0 goto tail_uni\n\nloop_uni:\n\t// sum += x[i] * y[i] unrolled 4x.\n\tMOVUPD 0(R8)(SI*8), X0\n\tMOVUPD 0(R9)(SI*8), X1\n\tMOVUPD 16(R8)(SI*8), X2\n\tMOVUPD 16(R9)(SI*8), X3\n\tMULPD  X1, X0\n\tMULPD  X3, X2\n\tADDPD  X0, X7\n\tADDPD  X2, X8\n\n\tADDQ $4, SI   // i += 4\n\tSUBQ $4, DI   // n -= 4\n\tJGE  loop_uni // if n >= 0 goto loop_uni\n\ntail_uni:\n\tADDQ $4, DI  // n += 4\n\tJLE  end_uni // if n <= 0 goto end_uni\n\nonemore_uni:\n\t// sum += x[i] * y[i] for the remaining 1-3 elements.\n\tMOVSD 0(R8)(SI*8), X0\n\tMOVSD 0(R9)(SI*8), X1\n\tMULSD X1, X0\n\tADDSD X0, X7\n\n\tADDQ $1, SI      // i++\n\tSUBQ $1, DI      // n--\n\tJNZ  onemore_uni // if n != 0 goto onemore_uni\n\nend_uni:\n\t// Add the four sums together.\n\tADDPD    X8, X7\n\tMOVSD    X7, X0\n\tUNPCKHPD X7, X7\n\tADDSD    X0, X7\n\tMOVSD    X7, sum+48(FP) // Return final sum.\n\tRET\n\n// func DdotInc(x, y []float64, n, incX, incY, ix, iy uintptr) (sum float64)\nTEXT ·DotInc(SB), NOSPLIT, $0\n\tMOVQ x+0(FP), R8\n\tMOVQ y+24(FP), R9\n\tMOVQ n+48(FP), CX\n\tMOVQ incX+56(FP), R11\n\tMOVQ incY+64(FP), R12\n\tMOVQ ix+72(FP), R13\n\tMOVQ iy+80(FP), R14\n\n\tMOVSD $(0.0), X7      // sum = 0\n\tLEAQ  (R8)(R13*8), SI // p = &x[ix]\n\tLEAQ  (R9)(R14*8), DI // q = &y[ix]\n\tSHLQ  $3, R11         // incX *= sizeof(float64)\n\tSHLQ  $3, R12         // indY *= sizeof(float64)\n\n\tSUBQ $2, CX   // n -= 2\n\tJL   tail_inc // if n < 0 goto tail_inc\n\nloop_inc:\n\t// sum += *p * *q unrolled 2x.\n\tMOVHPD (SI), X0\n\tMOVHPD (DI), X1\n\tADDQ   R11, SI  // p += incX\n\tADDQ   R12, DI  // q += incY\n\tMOVLPD (SI), X0\n\tMOVLPD (DI), X1\n\tADDQ   R11, SI  // p += incX\n\tADDQ   R12, DI  // q += incY\n\n\tMULPD X1, X0\n\tADDPD X0, X7\n\n\tSUBQ $2, CX   // n -= 2\n\tJGE  loop_inc // if n >= 0 goto loop_inc\n\ntail_inc:\n\tADDQ $2, CX  // n += 2\n\tJLE  end_inc // if n <= 0 goto end_inc\n\n\t// sum += *p * *q for the last iteration if n is odd.\n\tMOVSD (SI), X0\n\tMULSD (DI), X0\n\tADDSD X0, X7\n\nend_inc:\n\t// Add the two sums together.\n\tMOVSD    X7, X0\n\tUNPCKHPD X7, X7\n\tADDSD    X0, X7\n\tMOVSD    X7, sum+88(FP) // Return final sum.\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/l1norm_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func L1Dist(s, t []float64) float64\nTEXT ·L1Dist(SB), NOSPLIT, $0\n\tMOVQ    s_base+0(FP), DI  // DI = &s\n\tMOVQ    t_base+24(FP), SI // SI = &t\n\tMOVQ    s_len+8(FP), CX   // CX = len(s)\n\tCMPQ    t_len+32(FP), CX  // CX = max( CX, len(t) )\n\tCMOVQLE t_len+32(FP), CX\n\tPXOR    X3, X3            // norm = 0\n\tCMPQ    CX, $0            // if CX == 0 { return 0 }\n\tJE      l1_end\n\tXORQ    AX, AX            // i = 0\n\tMOVQ    CX, BX\n\tANDQ    $1, BX            // BX = CX % 2\n\tSHRQ    $1, CX            // CX = floor( CX / 2 )\n\tJZ      l1_tail_start     // if CX == 0 { return 0 }\n\nl1_loop: // Loop unrolled 2x  do {\n\tMOVUPS (SI)(AX*8), X0 // X0 = t[i:i+1]\n\tMOVUPS (DI)(AX*8), X1 // X1 = s[i:i+1]\n\tMOVAPS X0, X2\n\tSUBPD  X1, X0\n\tSUBPD  X2, X1\n\tMAXPD  X1, X0         // X0 = max( X0 - X1, X1 - X0 )\n\tADDPD  X0, X3         // norm += X0\n\tADDQ   $2, AX         // i += 2\n\tLOOP   l1_loop        // } while --CX > 0\n\tCMPQ   BX, $0         // if BX == 0 { return }\n\tJE     l1_end\n\nl1_tail_start: // Reset loop registers\n\tMOVQ BX, CX // Loop counter: CX = BX\n\tPXOR X0, X0 // reset X0, X1 to break dependencies\n\tPXOR X1, X1\n\nl1_tail:\n\tMOVSD  (SI)(AX*8), X0 // X0 = t[i]\n\tMOVSD  (DI)(AX*8), X1 // x1 = s[i]\n\tMOVAPD X0, X2\n\tSUBSD  X1, X0\n\tSUBSD  X2, X1\n\tMAXSD  X1, X0         // X0 = max( X0 - X1, X1 - X0 )\n\tADDSD  X0, X3         // norm += X0\n\nl1_end:\n\tMOVAPS X3, X2\n\tSHUFPD $1, X2, X2\n\tADDSD  X3, X2         // X2 = X3[1] + X3[0]\n\tMOVSD  X2, ret+48(FP) // return X2\n\tRET\n\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/linfnorm_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !noasm,!appengine\n\n#include \"textflag.h\"\n\n// func LinfDist(s, t []float64) float64\nTEXT ·LinfDist(SB), NOSPLIT, $0\n\tMOVQ    s_base+0(FP), DI  // DI = &s\n\tMOVQ    t_base+24(FP), SI // SI = &t\n\tMOVQ    s_len+8(FP), CX   // CX = len(s)\n\tCMPQ    t_len+32(FP), CX  // CX = max( CX, len(t) )\n\tCMOVQLE t_len+32(FP), CX\n\tPXOR    X3, X3            // norm = 0\n\tCMPQ    CX, $0            // if CX == 0 { return 0 }\n\tJE      l1_end\n\tXORQ    AX, AX            // i = 0\n\tMOVQ    CX, BX\n\tANDQ    $1, BX            // BX = CX % 2\n\tSHRQ    $1, CX            // CX = floor( CX / 2 )\n\tJZ      l1_tail_start     // if CX == 0 { return 0 }\n\nl1_loop: // Loop unrolled 2x  do {\n\tMOVUPS (SI)(AX*8), X0 // X0 = t[i:i+1]\n\tMOVUPS (DI)(AX*8), X1 // X1 = s[i:i+1]\n\tMOVAPS X0, X2\n\tSUBPD  X1, X0\n\tSUBPD  X2, X1\n\tMAXPD  X1, X0         // X0 = max( X0 - X1, X1 - X0 )\n\tMAXPD  X0, X3         // norm = max( norm, X0 )\n\tADDQ   $2, AX         // i += 2\n\tLOOP   l1_loop        // } while --CX > 0\n\tCMPQ   BX, $0         // if BX == 0 { return }\n\tJE     l1_end\n\nl1_tail_start: // Reset loop registers\n\tMOVQ BX, CX // Loop counter: CX = BX\n\tPXOR X0, X0 // reset X0, X1 to break dependencies\n\tPXOR X1, X1\n\nl1_tail:\n\tMOVSD  (SI)(AX*8), X0 // X0 = t[i]\n\tMOVSD  (DI)(AX*8), X1 // X1 = s[i]\n\tMOVAPD X0, X2\n\tSUBSD  X1, X0\n\tSUBSD  X2, X1\n\tMAXSD  X1, X0         // X0 = max( X0 - X1, X1 - X0 )\n\tMAXSD  X0, X3         // norm = max( norm, X0 )\n\nl1_end:\n\tMOVAPS X3, X2\n\tSHUFPD $1, X2, X2\n\tMAXSD  X3, X2         // X2 = max( X3[1], X3[0] )\n\tMOVSD  X2, ret+48(FP) // return X2\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/scal.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !amd64 noasm appengine\n\npackage f64\n\n// ScalUnitary is\n//  for i := range x {\n//  \tx[i] *= alpha\n//  }\nfunc ScalUnitary(alpha float64, x []float64) {\n\tfor i := range x {\n\t\tx[i] *= alpha\n\t}\n}\n\n// ScalUnitaryTo is\n//  for i, v := range x {\n//  \tdst[i] = alpha * v\n//  }\nfunc ScalUnitaryTo(dst []float64, alpha float64, x []float64) {\n\tfor i, v := range x {\n\t\tdst[i] = alpha * v\n\t}\n}\n\n// ScalInc is\n//  var ix uintptr\n//  for i := 0; i < int(n); i++ {\n//  \tx[ix] *= alpha\n//  \tix += incX\n//  }\nfunc ScalInc(alpha float64, x []float64, n, incX uintptr) {\n\tvar ix uintptr\n\tfor i := 0; i < int(n); i++ {\n\t\tx[ix] *= alpha\n\t\tix += incX\n\t}\n}\n\n// ScalIncTo is\n//  var idst, ix uintptr\n//  for i := 0; i < int(n); i++ {\n//  \tdst[idst] = alpha * x[ix]\n//  \tix += incX\n//  \tidst += incDst\n//  }\nfunc ScalIncTo(dst []float64, incDst uintptr, alpha float64, x []float64, n, incX uintptr) {\n\tvar idst, ix uintptr\n\tfor i := 0; i < int(n); i++ {\n\t\tdst[idst] = alpha * x[ix]\n\t\tix += incX\n\t\tidst += incDst\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/scalinc_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// Some of the loop unrolling code is copied from:\n// http://golang.org/src/math/big/arith_amd64.s\n// which is distributed under these terms:\n//\n// Copyright (c) 2012 The Go Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//    * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define X_PTR SI\n#define LEN CX\n#define TAIL BX\n#define INC_X R8\n#define INCx3_X R9\n#define ALPHA X0\n#define ALPHA_2 X1\n\n// func ScalInc(alpha float64, x []float64, n, incX uintptr)\nTEXT ·ScalInc(SB), NOSPLIT, $0\n\tMOVSD alpha+0(FP), ALPHA  // ALPHA = alpha\n\tMOVQ  x_base+8(FP), X_PTR // X_PTR = &x\n\tMOVQ  incX+40(FP), INC_X  // INC_X = incX\n\tSHLQ  $3, INC_X           // INC_X *= sizeof(float64)\n\tMOVQ  n+32(FP), LEN       // LEN = n\n\tCMPQ  LEN, $0\n\tJE    end                 // if LEN == 0 { return }\n\n\tMOVQ LEN, TAIL\n\tANDQ $3, TAIL   // TAIL = LEN % 4\n\tSHRQ $2, LEN    // LEN = floor( LEN / 4 )\n\tJZ   tail_start // if LEN == 0 { goto tail_start }\n\n\tMOVUPS ALPHA, ALPHA_2            // ALPHA_2 = ALPHA for pipelining\n\tLEAQ   (INC_X)(INC_X*2), INCx3_X // INCx3_X = INC_X * 3\n\nloop:  // do { // x[i] *= alpha unrolled 4x.\n\tMOVSD (X_PTR), X2            // X_i = x[i]\n\tMOVSD (X_PTR)(INC_X*1), X3\n\tMOVSD (X_PTR)(INC_X*2), X4\n\tMOVSD (X_PTR)(INCx3_X*1), X5\n\n\tMULSD ALPHA, X2   // X_i *= a\n\tMULSD ALPHA_2, X3\n\tMULSD ALPHA, X4\n\tMULSD ALPHA_2, X5\n\n\tMOVSD X2, (X_PTR)            // x[i] = X_i\n\tMOVSD X3, (X_PTR)(INC_X*1)\n\tMOVSD X4, (X_PTR)(INC_X*2)\n\tMOVSD X5, (X_PTR)(INCx3_X*1)\n\n\tLEAQ (X_PTR)(INC_X*4), X_PTR // X_PTR = &(X_PTR[incX*4])\n\tDECQ LEN\n\tJNZ  loop                    // } while --LEN > 0\n\tCMPQ TAIL, $0\n\tJE   end                     // if TAIL == 0 { return }\n\ntail_start: // Reset loop registers\n\tMOVQ TAIL, LEN // Loop counter: LEN = TAIL\n\tSHRQ $1, LEN   // LEN = floor( LEN / 2 )\n\tJZ   tail_one\n\ntail_two: // do {\n\tMOVSD (X_PTR), X2          // X_i = x[i]\n\tMOVSD (X_PTR)(INC_X*1), X3\n\tMULSD ALPHA, X2            // X_i *= a\n\tMULSD ALPHA, X3\n\tMOVSD X2, (X_PTR)          // x[i] = X_i\n\tMOVSD X3, (X_PTR)(INC_X*1)\n\n\tLEAQ (X_PTR)(INC_X*2), X_PTR // X_PTR = &(X_PTR[incX*2])\n\n\tANDQ $1, TAIL\n\tJZ   end\n\ntail_one:\n\tMOVSD (X_PTR), X2 // X_i = x[i]\n\tMULSD ALPHA, X2   // X_i *= ALPHA\n\tMOVSD X2, (X_PTR) // x[i] = X_i\n\nend:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/scalincto_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// Some of the loop unrolling code is copied from:\n// http://golang.org/src/math/big/arith_amd64.s\n// which is distributed under these terms:\n//\n// Copyright (c) 2012 The Go Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//    * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define X_PTR SI\n#define DST_PTR DI\n#define LEN CX\n#define TAIL BX\n#define INC_X R8\n#define INCx3_X R9\n#define INC_DST R10\n#define INCx3_DST R11\n#define ALPHA X0\n#define ALPHA_2 X1\n\n// func ScalIncTo(dst []float64, incDst uintptr, alpha float64, x []float64, n, incX uintptr)\nTEXT ·ScalIncTo(SB), NOSPLIT, $0\n\tMOVQ  dst_base+0(FP), DST_PTR // DST_PTR = &dst\n\tMOVQ  incDst+24(FP), INC_DST  // INC_DST = incDst\n\tSHLQ  $3, INC_DST             // INC_DST *= sizeof(float64)\n\tMOVSD alpha+32(FP), ALPHA     // ALPHA = alpha\n\tMOVQ  x_base+40(FP), X_PTR    // X_PTR = &x\n\tMOVQ  n+64(FP), LEN           // LEN = n\n\tMOVQ  incX+72(FP), INC_X      // INC_X = incX\n\tSHLQ  $3, INC_X               // INC_X *= sizeof(float64)\n\tCMPQ  LEN, $0\n\tJE    end                     // if LEN == 0 { return }\n\n\tMOVQ LEN, TAIL\n\tANDQ $3, TAIL   // TAIL = LEN % 4\n\tSHRQ $2, LEN    // LEN = floor( LEN / 4 )\n\tJZ   tail_start // if LEN == 0 { goto tail_start }\n\n\tMOVUPS ALPHA, ALPHA_2                  // ALPHA_2 = ALPHA for pipelining\n\tLEAQ   (INC_X)(INC_X*2), INCx3_X       // INCx3_X = INC_X * 3\n\tLEAQ   (INC_DST)(INC_DST*2), INCx3_DST // INCx3_DST = INC_DST * 3\n\nloop:  // do { // x[i] *= alpha unrolled 4x.\n\tMOVSD (X_PTR), X2            // X_i = x[i]\n\tMOVSD (X_PTR)(INC_X*1), X3\n\tMOVSD (X_PTR)(INC_X*2), X4\n\tMOVSD (X_PTR)(INCx3_X*1), X5\n\n\tMULSD ALPHA, X2   // X_i *= a\n\tMULSD ALPHA_2, X3\n\tMULSD ALPHA, X4\n\tMULSD ALPHA_2, X5\n\n\tMOVSD X2, (DST_PTR)              // dst[i] = X_i\n\tMOVSD X3, (DST_PTR)(INC_DST*1)\n\tMOVSD X4, (DST_PTR)(INC_DST*2)\n\tMOVSD X5, (DST_PTR)(INCx3_DST*1)\n\n\tLEAQ (X_PTR)(INC_X*4), X_PTR       // X_PTR = &(X_PTR[incX*4])\n\tLEAQ (DST_PTR)(INC_DST*4), DST_PTR // DST_PTR = &(DST_PTR[incDst*4])\n\tDECQ LEN\n\tJNZ  loop                          // } while --LEN > 0\n\tCMPQ TAIL, $0\n\tJE   end                           // if TAIL == 0 { return }\n\ntail_start: // Reset loop registers\n\tMOVQ TAIL, LEN // Loop counter: LEN = TAIL\n\tSHRQ $1, LEN   // LEN = floor( LEN / 2 )\n\tJZ   tail_one\n\ntail_two:\n\tMOVSD (X_PTR), X2              // X_i = x[i]\n\tMOVSD (X_PTR)(INC_X*1), X3\n\tMULSD ALPHA, X2                // X_i *= a\n\tMULSD ALPHA, X3\n\tMOVSD X2, (DST_PTR)            // dst[i] = X_i\n\tMOVSD X3, (DST_PTR)(INC_DST*1)\n\n\tLEAQ (X_PTR)(INC_X*2), X_PTR       // X_PTR = &(X_PTR[incX*2])\n\tLEAQ (DST_PTR)(INC_DST*2), DST_PTR // DST_PTR = &(DST_PTR[incDst*2])\n\n\tANDQ $1, TAIL\n\tJZ   end\n\ntail_one:\n\tMOVSD (X_PTR), X2   // X_i = x[i]\n\tMULSD ALPHA, X2     // X_i *= ALPHA\n\tMOVSD X2, (DST_PTR) // x[i] = X_i\n\nend:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/scalunitary_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// Some of the loop unrolling code is copied from:\n// http://golang.org/src/math/big/arith_amd64.s\n// which is distributed under these terms:\n//\n// Copyright (c) 2012 The Go Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//    * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define MOVDDUP_ALPHA    LONG $0x44120FF2; WORD $0x0824 // @ MOVDDUP XMM0, 8[RSP]\n\n#define X_PTR SI\n#define DST_PTR DI\n#define IDX AX\n#define LEN CX\n#define TAIL BX\n#define ALPHA X0\n#define ALPHA_2 X1\n\n// func ScalUnitary(alpha float64, x []float64)\nTEXT ·ScalUnitary(SB), NOSPLIT, $0\n\tMOVDDUP_ALPHA            // ALPHA = { alpha, alpha }\n\tMOVQ x_base+8(FP), X_PTR // X_PTR = &x\n\tMOVQ x_len+16(FP), LEN   // LEN = len(x)\n\tCMPQ LEN, $0\n\tJE   end                 // if LEN == 0 { return }\n\tXORQ IDX, IDX            // IDX = 0\n\n\tMOVQ LEN, TAIL\n\tANDQ $7, TAIL   // TAIL = LEN % 8\n\tSHRQ $3, LEN    // LEN = floor( LEN / 8 )\n\tJZ   tail_start // if LEN == 0 { goto tail_start }\n\n\tMOVUPS ALPHA, ALPHA_2\n\nloop:  // do {  // x[i] *= alpha unrolled 8x.\n\tMOVUPS (X_PTR)(IDX*8), X2   // X_i = x[i]\n\tMOVUPS 16(X_PTR)(IDX*8), X3\n\tMOVUPS 32(X_PTR)(IDX*8), X4\n\tMOVUPS 48(X_PTR)(IDX*8), X5\n\n\tMULPD ALPHA, X2   // X_i *= ALPHA\n\tMULPD ALPHA_2, X3\n\tMULPD ALPHA, X4\n\tMULPD ALPHA_2, X5\n\n\tMOVUPS X2, (X_PTR)(IDX*8)   // x[i] = X_i\n\tMOVUPS X3, 16(X_PTR)(IDX*8)\n\tMOVUPS X4, 32(X_PTR)(IDX*8)\n\tMOVUPS X5, 48(X_PTR)(IDX*8)\n\n\tADDQ $8, IDX  // i += 8\n\tDECQ LEN\n\tJNZ  loop     // while --LEN > 0\n\tCMPQ TAIL, $0\n\tJE   end      // if TAIL == 0 { return }\n\ntail_start: // Reset loop registers\n\tMOVQ TAIL, LEN // Loop counter: LEN = TAIL\n\tSHRQ $1, LEN   // LEN = floor( TAIL / 2 )\n\tJZ   tail_one  // if n == 0 goto end\n\ntail_two: // do {\n\tMOVUPS (X_PTR)(IDX*8), X2 // X_i = x[i]\n\tMULPD  ALPHA, X2          // X_i *= ALPHA\n\tMOVUPS X2, (X_PTR)(IDX*8) // x[i] = X_i\n\tADDQ   $2, IDX            // i += 2\n\tDECQ   LEN\n\tJNZ    tail_two           // while --LEN > 0\n\n\tANDQ $1, TAIL\n\tJZ   end      // if TAIL == 0 { return }\n\ntail_one:\n\t// x[i] *= alpha for the remaining element.\n\tMOVSD (X_PTR)(IDX*8), X2\n\tMULSD ALPHA, X2\n\tMOVSD X2, (X_PTR)(IDX*8)\n\nend:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/scalunitaryto_amd64.s",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// Some of the loop unrolling code is copied from:\n// http://golang.org/src/math/big/arith_amd64.s\n// which is distributed under these terms:\n//\n// Copyright (c) 2012 The Go Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// 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\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//    * Neither the name of Google Inc. 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//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n//+build !noasm,!appengine\n\n#include \"textflag.h\"\n\n#define MOVDDUP_ALPHA    LONG $0x44120FF2; WORD $0x2024 // @ MOVDDUP 32(SP), X0  /*XMM0, 32[RSP]*/\n\n#define X_PTR SI\n#define DST_PTR DI\n#define IDX AX\n#define LEN CX\n#define TAIL BX\n#define ALPHA X0\n#define ALPHA_2 X1\n\n// func ScalUnitaryTo(dst []float64, alpha float64, x []float64)\n// This function assumes len(dst) >= len(x).\nTEXT ·ScalUnitaryTo(SB), NOSPLIT, $0\n\tMOVQ x_base+32(FP), X_PTR    // X_PTR = &x\n\tMOVQ dst_base+0(FP), DST_PTR // DST_PTR = &dst\n\tMOVDDUP_ALPHA                // ALPHA = { alpha, alpha }\n\tMOVQ x_len+40(FP), LEN       // LEN = len(x)\n\tCMPQ LEN, $0\n\tJE   end                     // if LEN == 0 { return }\n\n\tXORQ IDX, IDX   // IDX = 0\n\tMOVQ LEN, TAIL\n\tANDQ $7, TAIL   // TAIL = LEN % 8\n\tSHRQ $3, LEN    // LEN = floor( LEN / 8 )\n\tJZ   tail_start // if LEN == 0 { goto tail_start }\n\n\tMOVUPS ALPHA, ALPHA_2 // ALPHA_2 = ALPHA for pipelining\n\nloop:  // do { // dst[i] = alpha * x[i] unrolled 8x.\n\tMOVUPS (X_PTR)(IDX*8), X2   // X_i = x[i]\n\tMOVUPS 16(X_PTR)(IDX*8), X3\n\tMOVUPS 32(X_PTR)(IDX*8), X4\n\tMOVUPS 48(X_PTR)(IDX*8), X5\n\n\tMULPD ALPHA, X2   // X_i *= ALPHA\n\tMULPD ALPHA_2, X3\n\tMULPD ALPHA, X4\n\tMULPD ALPHA_2, X5\n\n\tMOVUPS X2, (DST_PTR)(IDX*8)   // dst[i] = X_i\n\tMOVUPS X3, 16(DST_PTR)(IDX*8)\n\tMOVUPS X4, 32(DST_PTR)(IDX*8)\n\tMOVUPS X5, 48(DST_PTR)(IDX*8)\n\n\tADDQ $8, IDX  // i += 8\n\tDECQ LEN\n\tJNZ  loop     // while --LEN > 0\n\tCMPQ TAIL, $0\n\tJE   end      // if TAIL == 0 { return }\n\ntail_start: // Reset loop counters\n\tMOVQ TAIL, LEN // Loop counter: LEN = TAIL\n\tSHRQ $1, LEN   // LEN = floor( TAIL / 2 )\n\tJZ   tail_one  // if LEN == 0 { goto tail_one }\n\ntail_two: // do {\n\tMOVUPS (X_PTR)(IDX*8), X2   // X_i = x[i]\n\tMULPD  ALPHA, X2            // X_i *= ALPHA\n\tMOVUPS X2, (DST_PTR)(IDX*8) // dst[i] = X_i\n\tADDQ   $2, IDX              // i += 2\n\tDECQ   LEN\n\tJNZ    tail_two             // while --LEN > 0\n\n\tANDQ $1, TAIL\n\tJZ   end      // if TAIL == 0 { return }\n\ntail_one:\n\tMOVSD (X_PTR)(IDX*8), X2   // X_i = x[i]\n\tMULSD ALPHA, X2            // X_i *= ALPHA\n\tMOVSD X2, (DST_PTR)(IDX*8) // dst[i] = X_i\n\nend:\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/stubs_amd64.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\npackage f64\n\n// L1Norm is\n//  for _, v := range x {\n//  \tsum += math.Abs(v)\n//  }\n//  return sum\nfunc L1Norm(x []float64) (sum float64)\n\n// L1NormInc is\n//  for i := 0; i < n*incX; i += incX {\n//  \tsum += math.Abs(x[i])\n//  }\n//  return sum\nfunc L1NormInc(x []float64, n, incX int) (sum float64)\n\n// AddConst is\n//  for i := range x {\n//  \tx[i] += alpha\n//  }\nfunc AddConst(alpha float64, x []float64)\n\n// Add is\n//  for i, v := range s {\n//  \tdst[i] += v\n//  }\nfunc Add(dst, s []float64)\n\n// AxpyUnitary is\n//  for i, v := range x {\n//  \ty[i] += alpha * v\n//  }\nfunc AxpyUnitary(alpha float64, x, y []float64)\n\n// AxpyUnitaryTo is\n//  for i, v := range x {\n//  \tdst[i] = alpha*v + y[i]\n//  }\nfunc AxpyUnitaryTo(dst []float64, alpha float64, x, y []float64)\n\n// AxpyInc is\n//  for i := 0; i < int(n); i++ {\n//  \ty[iy] += alpha * x[ix]\n//  \tix += incX\n//  \tiy += incY\n//  }\nfunc AxpyInc(alpha float64, x, y []float64, n, incX, incY, ix, iy uintptr)\n\n// AxpyIncTo is\n//  for i := 0; i < int(n); i++ {\n//  \tdst[idst] = alpha*x[ix] + y[iy]\n//  \tix += incX\n//  \tiy += incY\n//  \tidst += incDst\n//  }\nfunc AxpyIncTo(dst []float64, incDst, idst uintptr, alpha float64, x, y []float64, n, incX, incY, ix, iy uintptr)\n\n// CumSum is\n//  if len(s) == 0 {\n//  \treturn dst\n//  }\n//  dst[0] = s[0]\n//  for i, v := range s[1:] {\n//  \tdst[i+1] = dst[i] + v\n//  }\n//  return dst\nfunc CumSum(dst, s []float64) []float64\n\n// CumProd is\n//  if len(s) == 0 {\n//  \treturn dst\n//  }\n//  dst[0] = s[0]\n//  for i, v := range s[1:] {\n//  \tdst[i+1] = dst[i] * v\n//  }\n//  return dst\nfunc CumProd(dst, s []float64) []float64\n\n// Div is\n//  for i, v := range s {\n//  \tdst[i] /= v\n//  }\nfunc Div(dst, s []float64)\n\n// DivTo is\n//  for i, v := range s {\n//  \tdst[i] = v / t[i]\n//  }\n//  return dst\nfunc DivTo(dst, x, y []float64) []float64\n\n// DotUnitary is\n//  for i, v := range x {\n//  \tsum += y[i] * v\n//  }\n//  return sum\nfunc DotUnitary(x, y []float64) (sum float64)\n\n// DotInc is\n//  for i := 0; i < int(n); i++ {\n//  \tsum += y[iy] * x[ix]\n//  \tix += incX\n//  \tiy += incY\n//  }\n//  return sum\nfunc DotInc(x, y []float64, n, incX, incY, ix, iy uintptr) (sum float64)\n\n// L1Dist is\n//  var norm float64\n//  for i, v := range s {\n//  \tnorm += math.Abs(t[i] - v)\n//  }\n//  return norm\nfunc L1Dist(s, t []float64) float64\n\n// LinfDist is\n//  var norm float64\n//  if len(s) == 0 {\n//  \treturn 0\n//  }\n//  norm = math.Abs(t[0] - s[0])\n//  for i, v := range s[1:] {\n//  \tabsDiff := math.Abs(t[i+1] - v)\n//  \tif absDiff > norm || math.IsNaN(norm) {\n//  \t\tnorm = absDiff\n//  \t}\n//  }\n//  return norm\nfunc LinfDist(s, t []float64) float64\n\n// ScalUnitary is\n//  for i := range x {\n//  \tx[i] *= alpha\n//  }\nfunc ScalUnitary(alpha float64, x []float64)\n\n// ScalUnitaryTo is\n//  for i, v := range x {\n//  \tdst[i] = alpha * v\n//  }\nfunc ScalUnitaryTo(dst []float64, alpha float64, x []float64)\n\n// ScalInc is\n//  var ix uintptr\n//  for i := 0; i < int(n); i++ {\n//  \tx[ix] *= alpha\n//  \tix += incX\n//  }\nfunc ScalInc(alpha float64, x []float64, n, incX uintptr)\n\n// ScalIncTo is\n//  var idst, ix uintptr\n//  for i := 0; i < int(n); i++ {\n//  \tdst[idst] = alpha * x[ix]\n//  \tix += incX\n//  \tidst += incDst\n//  }\nfunc ScalIncTo(dst []float64, incDst uintptr, alpha float64, x []float64, n, incX uintptr)\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/asm/f64/stubs_noasm.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !amd64 noasm appengine\n\npackage f64\n\nimport \"math\"\n\n// L1Norm is\n//  for _, v := range x {\n//  \tsum += math.Abs(v)\n//  }\n//  return sum\nfunc L1Norm(x []float64) (sum float64) {\n\tfor _, v := range x {\n\t\tsum += math.Abs(v)\n\t}\n\treturn sum\n}\n\n// L1NormInc is\n//  for i := 0; i < n*incX; i += incX {\n//  \tsum += math.Abs(x[i])\n//  }\n//  return sum\nfunc L1NormInc(x []float64, n, incX int) (sum float64) {\n\tfor i := 0; i < n*incX; i += incX {\n\t\tsum += math.Abs(x[i])\n\t}\n\treturn sum\n}\n\n// Add is\n//  for i, v := range s {\n//  \tdst[i] += v\n//  }\nfunc Add(dst, s []float64) {\n\tfor i, v := range s {\n\t\tdst[i] += v\n\t}\n}\n\n// AddConst is\n//  for i := range x {\n//  \tx[i] += alpha\n//  }\nfunc AddConst(alpha float64, x []float64) {\n\tfor i := range x {\n\t\tx[i] += alpha\n\t}\n}\n\n// CumSum is\n//  if len(s) == 0 {\n//  \treturn dst\n//  }\n//  dst[0] = s[0]\n//  for i, v := range s[1:] {\n//  \tdst[i+1] = dst[i] + v\n//  }\n//  return dst\nfunc CumSum(dst, s []float64) []float64 {\n\tif len(s) == 0 {\n\t\treturn dst\n\t}\n\tdst[0] = s[0]\n\tfor i, v := range s[1:] {\n\t\tdst[i+1] = dst[i] + v\n\t}\n\treturn dst\n}\n\n// CumProd is\n//  if len(s) == 0 {\n//  \treturn dst\n//  }\n//  dst[0] = s[0]\n//  for i, v := range s[1:] {\n//  \tdst[i+1] = dst[i] * v\n//  }\n//  return dst\nfunc CumProd(dst, s []float64) []float64 {\n\tif len(s) == 0 {\n\t\treturn dst\n\t}\n\tdst[0] = s[0]\n\tfor i, v := range s[1:] {\n\t\tdst[i+1] = dst[i] * v\n\t}\n\treturn dst\n}\n\n// Div is\n//  for i, v := range s {\n//  \tdst[i] /= v\n//  }\nfunc Div(dst, s []float64) {\n\tfor i, v := range s {\n\t\tdst[i] /= v\n\t}\n}\n\n// DivTo is\n//  for i, v := range s {\n//  \tdst[i] = v / t[i]\n//  }\n//  return dst\nfunc DivTo(dst, s, t []float64) []float64 {\n\tfor i, v := range s {\n\t\tdst[i] = v / t[i]\n\t}\n\treturn dst\n}\n\n// L1Dist is\n//  var norm float64\n//  for i, v := range s {\n//  \tnorm += math.Abs(t[i] - v)\n//  }\n//  return norm\nfunc L1Dist(s, t []float64) float64 {\n\tvar norm float64\n\tfor i, v := range s {\n\t\tnorm += math.Abs(t[i] - v)\n\t}\n\treturn norm\n}\n\n// LinfDist is\n//  var norm float64\n//  if len(s) == 0 {\n//  \treturn 0\n//  }\n//  norm = math.Abs(t[0] - s[0])\n//  for i, v := range s[1:] {\n//  \tabsDiff := math.Abs(t[i+1] - v)\n//  \tif absDiff > norm || math.IsNaN(norm) {\n//  \t\tnorm = absDiff\n//  \t}\n//  }\n//  return norm\nfunc LinfDist(s, t []float64) float64 {\n\tvar norm float64\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tnorm = math.Abs(t[0] - s[0])\n\tfor i, v := range s[1:] {\n\t\tabsDiff := math.Abs(t[i+1] - v)\n\t\tif absDiff > norm || math.IsNaN(norm) {\n\t\t\tnorm = absDiff\n\t\t}\n\t}\n\treturn norm\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/math32/doc.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package math32 provides float32 versions of standard library math package\n// routines used by gonum/blas/native.\npackage math32 // import \"gonum.org/v1/gonum/internal/math32\"\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/math32/math.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage math32\n\nimport (\n\t\"math\"\n)\n\nconst (\n\tunan    = 0x7fc00000\n\tuinf    = 0x7f800000\n\tuneginf = 0xff800000\n\tmask    = 0x7f8 >> 3\n\tshift   = 32 - 8 - 1\n\tbias    = 127\n)\n\n// Abs returns the absolute value of x.\n//\n// Special cases are:\n//\tAbs(±Inf) = +Inf\n//\tAbs(NaN) = NaN\nfunc Abs(x float32) float32 {\n\tswitch {\n\tcase x < 0:\n\t\treturn -x\n\tcase x == 0:\n\t\treturn 0 // return correctly abs(-0)\n\t}\n\treturn x\n}\n\n// Copysign returns a value with the magnitude\n// of x and the sign of y.\nfunc Copysign(x, y float32) float32 {\n\tconst sign = 1 << 31\n\treturn math.Float32frombits(math.Float32bits(x)&^sign | math.Float32bits(y)&sign)\n}\n\n// Hypot returns Sqrt(p*p + q*q), taking care to avoid\n// unnecessary overflow and underflow.\n//\n// Special cases are:\n//\tHypot(±Inf, q) = +Inf\n//\tHypot(p, ±Inf) = +Inf\n//\tHypot(NaN, q) = NaN\n//\tHypot(p, NaN) = NaN\nfunc Hypot(p, q float32) float32 {\n\t// special cases\n\tswitch {\n\tcase IsInf(p, 0) || IsInf(q, 0):\n\t\treturn Inf(1)\n\tcase IsNaN(p) || IsNaN(q):\n\t\treturn NaN()\n\t}\n\tif p < 0 {\n\t\tp = -p\n\t}\n\tif q < 0 {\n\t\tq = -q\n\t}\n\tif p < q {\n\t\tp, q = q, p\n\t}\n\tif p == 0 {\n\t\treturn 0\n\t}\n\tq = q / p\n\treturn p * Sqrt(1+q*q)\n}\n\n// Inf returns positive infinity if sign >= 0, negative infinity if sign < 0.\nfunc Inf(sign int) float32 {\n\tvar v uint32\n\tif sign >= 0 {\n\t\tv = uinf\n\t} else {\n\t\tv = uneginf\n\t}\n\treturn math.Float32frombits(v)\n}\n\n// IsInf reports whether f is an infinity, according to sign.\n// If sign > 0, IsInf reports whether f is positive infinity.\n// If sign < 0, IsInf reports whether f is negative infinity.\n// If sign == 0, IsInf reports whether f is either infinity.\nfunc IsInf(f float32, sign int) bool {\n\t// Test for infinity by comparing against maximum float.\n\t// To avoid the floating-point hardware, could use:\n\t//\tx := math.Float32bits(f);\n\t//\treturn sign >= 0 && x == uinf || sign <= 0 && x == uneginf;\n\treturn sign >= 0 && f > math.MaxFloat32 || sign <= 0 && f < -math.MaxFloat32\n}\n\n// IsNaN reports whether f is an IEEE 754 ``not-a-number'' value.\nfunc IsNaN(f float32) (is bool) {\n\t// IEEE 754 says that only NaNs satisfy f != f.\n\t// To avoid the floating-point hardware, could use:\n\t//\tx := math.Float32bits(f);\n\t//\treturn uint32(x>>shift)&mask == mask && x != uinf && x != uneginf\n\treturn f != f\n}\n\n// NaN returns an IEEE 754 ``not-a-number'' value.\nfunc NaN() float32 { return math.Float32frombits(unan) }\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/math32/signbit.go",
    "content": "// Copyright 2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage math32\n\nimport \"math\"\n\n// Signbit returns true if x is negative or negative zero.\nfunc Signbit(x float32) bool {\n\treturn math.Float32bits(x)&(1<<31) != 0\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/math32/sqrt.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !amd64 noasm appengine\n\npackage math32\n\nimport (\n\t\"math\"\n)\n\n// Sqrt returns the square root of x.\n//\n// Special cases are:\n//\tSqrt(+Inf) = +Inf\n//\tSqrt(±0) = ±0\n//\tSqrt(x < 0) = NaN\n//\tSqrt(NaN) = NaN\nfunc Sqrt(x float32) float32 {\n\t// FIXME(kortschak): Direct translation of the math package\n\t// asm code for 386 fails to build. No test hardware is available\n\t// for arm, so using conversion instead.\n\treturn float32(math.Sqrt(float64(x)))\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/math32/sqrt_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\npackage math32\n\n// Sqrt returns the square root of x.\n//\n// Special cases are:\n//\tSqrt(+Inf) = +Inf\n//\tSqrt(±0) = ±0\n//\tSqrt(x < 0) = NaN\n//\tSqrt(NaN) = NaN\nfunc Sqrt(x float32) float32\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/internal/math32/sqrt_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !noasm,!appengine\n\n// TODO(kortschak): use textflag.h after we drop Go 1.3 support\n//#include \"textflag.h\"\n// Don't insert stack check preamble.\n#define NOSPLIT\t4\n\n// func Sqrt(x float32) float32\nTEXT ·Sqrt(SB),NOSPLIT,$0\n\tSQRTSS x+0(FP), X0\n\tMOVSS X0, ret+8(FP)\n\tRET\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dbdsqr.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dbdsqr performs a singular value decomposition of a real n×n bidiagonal matrix.\n//\n// The SVD of the bidiagonal matrix B is\n//  B = Q * S * P^T\n// where S is a diagonal matrix of singular values, Q is an orthogonal matrix of\n// left singular vectors, and P is an orthogonal matrix of right singular vectors.\n//\n// Q and P are only computed if requested. If left singular vectors are requested,\n// this routine returns U * Q instead of Q, and if right singular vectors are\n// requested P^T * VT is returned instead of P^T.\n//\n// Frequently Dbdsqr is used in conjunction with Dgebrd which reduces a general\n// matrix A into bidiagonal form. In this case, the SVD of A is\n//  A = (U * Q) * S * (P^T * VT)\n//\n// This routine may also compute Q^T * C.\n//\n// d and e contain the elements of the bidiagonal matrix b. d must have length at\n// least n, and e must have length at least n-1. Dbdsqr will panic if there is\n// insufficient length. On exit, D contains the singular values of B in decreasing\n// order.\n//\n// VT is a matrix of size n×ncvt whose elements are stored in vt. The elements\n// of vt are modified to contain P^T * VT on exit. VT is not used if ncvt == 0.\n//\n// U is a matrix of size nru×n whose elements are stored in u. The elements\n// of u are modified to contain U * Q on exit. U is not used if nru == 0.\n//\n// C is a matrix of size n×ncc whose elements are stored in c. The elements\n// of c are modified to contain Q^T * C on exit. C is not used if ncc == 0.\n//\n// work contains temporary storage and must have length at least 4*n. Dbdsqr\n// will panic if there is insufficient working memory.\n//\n// Dbdsqr returns whether the decomposition was successful.\n//\n// Dbdsqr is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dbdsqr(uplo blas.Uplo, n, ncvt, nru, ncc int, d, e, vt []float64, ldvt int, u []float64, ldu int, c []float64, ldc int, work []float64) (ok bool) {\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tif ncvt != 0 {\n\t\tcheckMatrix(n, ncvt, vt, ldvt)\n\t}\n\tif nru != 0 {\n\t\tcheckMatrix(nru, n, u, ldu)\n\t}\n\tif ncc != 0 {\n\t\tcheckMatrix(n, ncc, c, ldc)\n\t}\n\tif len(d) < n {\n\t\tpanic(badD)\n\t}\n\tif len(e) < n-1 {\n\t\tpanic(badE)\n\t}\n\tif len(work) < 4*n {\n\t\tpanic(badWork)\n\t}\n\tvar info int\n\tbi := blas64.Implementation()\n\tconst (\n\t\tmaxIter = 6\n\t)\n\tif n == 0 {\n\t\treturn true\n\t}\n\tif n != 1 {\n\t\t// If the singular vectors do not need to be computed, use qd algorithm.\n\t\tif !(ncvt > 0 || nru > 0 || ncc > 0) {\n\t\t\tinfo = impl.Dlasq1(n, d, e, work)\n\t\t\t// If info is 2 dqds didn't finish, and so try to.\n\t\t\tif info != 2 {\n\t\t\t\treturn info == 0\n\t\t\t}\n\t\t\tinfo = 0\n\t\t}\n\t\tnm1 := n - 1\n\t\tnm12 := nm1 + nm1\n\t\tnm13 := nm12 + nm1\n\t\tidir := 0\n\n\t\teps := dlamchE\n\t\tunfl := dlamchS\n\t\tlower := uplo == blas.Lower\n\t\tvar cs, sn, r float64\n\t\tif lower {\n\t\t\tfor i := 0; i < n-1; i++ {\n\t\t\t\tcs, sn, r = impl.Dlartg(d[i], e[i])\n\t\t\t\td[i] = r\n\t\t\t\te[i] = sn * d[i+1]\n\t\t\t\td[i+1] *= cs\n\t\t\t\twork[i] = cs\n\t\t\t\twork[nm1+i] = sn\n\t\t\t}\n\t\t\tif nru > 0 {\n\t\t\t\timpl.Dlasr(blas.Right, lapack.Variable, lapack.Forward, nru, n, work, work[n-1:], u, ldu)\n\t\t\t}\n\t\t\tif ncc > 0 {\n\t\t\t\timpl.Dlasr(blas.Left, lapack.Variable, lapack.Forward, n, ncc, work, work[n-1:], c, ldc)\n\t\t\t}\n\t\t}\n\t\t// Compute singular values to a relative accuracy of tol. If tol is negative\n\t\t// the values will be computed to an absolute accuracy of math.Abs(tol) * norm(b)\n\t\ttolmul := math.Max(10, math.Min(100, math.Pow(eps, -1.0/8)))\n\t\ttol := tolmul * eps\n\t\tvar smax float64\n\t\tfor i := 0; i < n; i++ {\n\t\t\tsmax = math.Max(smax, math.Abs(d[i]))\n\t\t}\n\t\tfor i := 0; i < n-1; i++ {\n\t\t\tsmax = math.Max(smax, math.Abs(e[i]))\n\t\t}\n\n\t\tvar sminl float64\n\t\tvar thresh float64\n\t\tif tol >= 0 {\n\t\t\tsminoa := math.Abs(d[0])\n\t\t\tif sminoa != 0 {\n\t\t\t\tmu := sminoa\n\t\t\t\tfor i := 1; i < n; i++ {\n\t\t\t\t\tmu = math.Abs(d[i]) * (mu / (mu + math.Abs(e[i-1])))\n\t\t\t\t\tsminoa = math.Min(sminoa, mu)\n\t\t\t\t\tif sminoa == 0 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsminoa = sminoa / math.Sqrt(float64(n))\n\t\t\tthresh = math.Max(tol*sminoa, float64(maxIter*n*n)*unfl)\n\t\t} else {\n\t\t\tthresh = math.Max(math.Abs(tol)*smax, float64(maxIter*n*n)*unfl)\n\t\t}\n\t\t// Prepare for the main iteration loop for the singular values.\n\t\tmaxIt := maxIter * n * n\n\t\titer := 0\n\t\toldl2 := -1\n\t\toldm := -1\n\t\t// m points to the last element of unconverged part of matrix.\n\t\tm := n\n\n\tOuter:\n\t\tfor m > 1 {\n\t\t\tif iter > maxIt {\n\t\t\t\tinfo = 0\n\t\t\t\tfor i := 0; i < n-1; i++ {\n\t\t\t\t\tif e[i] != 0 {\n\t\t\t\t\t\tinfo++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn info == 0\n\t\t\t}\n\t\t\t// Find diagonal block of matrix to work on.\n\t\t\tif tol < 0 && math.Abs(d[m-1]) <= thresh {\n\t\t\t\td[m-1] = 0\n\t\t\t}\n\t\t\tsmax = math.Abs(d[m-1])\n\t\t\tsmin := smax\n\t\t\tvar l2 int\n\t\t\tvar broke bool\n\t\t\tfor l3 := 0; l3 < m-1; l3++ {\n\t\t\t\tl2 = m - l3 - 2\n\t\t\t\tabss := math.Abs(d[l2])\n\t\t\t\tabse := math.Abs(e[l2])\n\t\t\t\tif tol < 0 && abss <= thresh {\n\t\t\t\t\td[l2] = 0\n\t\t\t\t}\n\t\t\t\tif abse <= thresh {\n\t\t\t\t\tbroke = true\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tsmin = math.Min(smin, abss)\n\t\t\t\tsmax = math.Max(math.Max(smax, abss), abse)\n\t\t\t}\n\t\t\tif broke {\n\t\t\t\te[l2] = 0\n\t\t\t\tif l2 == m-2 {\n\t\t\t\t\t// Convergence of bottom singular value, return to top.\n\t\t\t\t\tm--\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tl2++\n\t\t\t} else {\n\t\t\t\tl2 = 0\n\t\t\t}\n\t\t\t// e[ll] through e[m-2] are nonzero, e[ll-1] is zero\n\t\t\tif l2 == m-2 {\n\t\t\t\t// Handle 2×2 block separately.\n\t\t\t\tvar sinr, cosr, sinl, cosl float64\n\t\t\t\td[m-1], d[m-2], sinr, cosr, sinl, cosl = impl.Dlasv2(d[m-2], e[m-2], d[m-1])\n\t\t\t\te[m-2] = 0\n\t\t\t\tif ncvt > 0 {\n\t\t\t\t\tbi.Drot(ncvt, vt[(m-2)*ldvt:], 1, vt[(m-1)*ldvt:], 1, cosr, sinr)\n\t\t\t\t}\n\t\t\t\tif nru > 0 {\n\t\t\t\t\tbi.Drot(nru, u[m-2:], ldu, u[m-1:], ldu, cosl, sinl)\n\t\t\t\t}\n\t\t\t\tif ncc > 0 {\n\t\t\t\t\tbi.Drot(ncc, c[(m-2)*ldc:], 1, c[(m-1)*ldc:], 1, cosl, sinl)\n\t\t\t\t}\n\t\t\t\tm -= 2\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// If working on a new submatrix, choose shift direction from larger end\n\t\t\t// diagonal element toward smaller.\n\t\t\tif l2 > oldm-1 || m-1 < oldl2 {\n\t\t\t\tif math.Abs(d[l2]) >= math.Abs(d[m-1]) {\n\t\t\t\t\tidir = 1\n\t\t\t\t} else {\n\t\t\t\t\tidir = 2\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Apply convergence tests.\n\t\t\t// TODO(btracey): There is a lot of similar looking code here. See\n\t\t\t// if there is a better way to de-duplicate.\n\t\t\tif idir == 1 {\n\t\t\t\t// Run convergence test in forward direction.\n\t\t\t\t// First apply standard test to bottom of matrix.\n\t\t\t\tif math.Abs(e[m-2]) <= math.Abs(tol)*math.Abs(d[m-1]) || (tol < 0 && math.Abs(e[m-2]) <= thresh) {\n\t\t\t\t\te[m-2] = 0\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif tol >= 0 {\n\t\t\t\t\t// If relative accuracy desired, apply convergence criterion forward.\n\t\t\t\t\tmu := math.Abs(d[l2])\n\t\t\t\t\tsminl = mu\n\t\t\t\t\tfor l3 := l2; l3 < m-1; l3++ {\n\t\t\t\t\t\tif math.Abs(e[l3]) <= tol*mu {\n\t\t\t\t\t\t\te[l3] = 0\n\t\t\t\t\t\t\tcontinue Outer\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmu = math.Abs(d[l3+1]) * (mu / (mu + math.Abs(e[l3])))\n\t\t\t\t\t\tsminl = math.Min(sminl, mu)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Run convergence test in backward direction.\n\t\t\t\t// First apply standard test to top of matrix.\n\t\t\t\tif math.Abs(e[l2]) <= math.Abs(tol)*math.Abs(d[l2]) || (tol < 0 && math.Abs(e[l2]) <= thresh) {\n\t\t\t\t\te[l2] = 0\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif tol >= 0 {\n\t\t\t\t\t// If relative accuracy desired, apply convergence criterion backward.\n\t\t\t\t\tmu := math.Abs(d[m-1])\n\t\t\t\t\tsminl = mu\n\t\t\t\t\tfor l3 := m - 2; l3 >= l2; l3-- {\n\t\t\t\t\t\tif math.Abs(e[l3]) <= tol*mu {\n\t\t\t\t\t\t\te[l3] = 0\n\t\t\t\t\t\t\tcontinue Outer\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmu = math.Abs(d[l3]) * (mu / (mu + math.Abs(e[l3])))\n\t\t\t\t\t\tsminl = math.Min(sminl, mu)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\toldl2 = l2\n\t\t\toldm = m\n\t\t\t// Compute shift. First, test if shifting would ruin relative accuracy,\n\t\t\t// and if so set the shift to zero.\n\t\t\tvar shift float64\n\t\t\tif tol >= 0 && float64(n)*tol*(sminl/smax) <= math.Max(eps, (1.0/100)*tol) {\n\t\t\t\tshift = 0\n\t\t\t} else {\n\t\t\t\tvar sl2 float64\n\t\t\t\tif idir == 1 {\n\t\t\t\t\tsl2 = math.Abs(d[l2])\n\t\t\t\t\tshift, _ = impl.Dlas2(d[m-2], e[m-2], d[m-1])\n\t\t\t\t} else {\n\t\t\t\t\tsl2 = math.Abs(d[m-1])\n\t\t\t\t\tshift, _ = impl.Dlas2(d[l2], e[l2], d[l2+1])\n\t\t\t\t}\n\t\t\t\t// Test if shift is negligible\n\t\t\t\tif sl2 > 0 {\n\t\t\t\t\tif (shift/sl2)*(shift/sl2) < eps {\n\t\t\t\t\t\tshift = 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\titer += m - l2 + 1\n\t\t\t// If no shift, do simplified QR iteration.\n\t\t\tif shift == 0 {\n\t\t\t\tif idir == 1 {\n\t\t\t\t\tcs := 1.0\n\t\t\t\t\toldcs := 1.0\n\t\t\t\t\tvar sn, r, oldsn float64\n\t\t\t\t\tfor i := l2; i < m-1; i++ {\n\t\t\t\t\t\tcs, sn, r = impl.Dlartg(d[i]*cs, e[i])\n\t\t\t\t\t\tif i > l2 {\n\t\t\t\t\t\t\te[i-1] = oldsn * r\n\t\t\t\t\t\t}\n\t\t\t\t\t\toldcs, oldsn, d[i] = impl.Dlartg(oldcs*r, d[i+1]*sn)\n\t\t\t\t\t\twork[i-l2] = cs\n\t\t\t\t\t\twork[i-l2+nm1] = sn\n\t\t\t\t\t\twork[i-l2+nm12] = oldcs\n\t\t\t\t\t\twork[i-l2+nm13] = oldsn\n\t\t\t\t\t}\n\t\t\t\t\th := d[m-1] * cs\n\t\t\t\t\td[m-1] = h * oldcs\n\t\t\t\t\te[m-2] = h * oldsn\n\t\t\t\t\tif ncvt > 0 {\n\t\t\t\t\t\timpl.Dlasr(blas.Left, lapack.Variable, lapack.Forward, m-l2, ncvt, work, work[n-1:], vt[l2*ldvt:], ldvt)\n\t\t\t\t\t}\n\t\t\t\t\tif nru > 0 {\n\t\t\t\t\t\timpl.Dlasr(blas.Right, lapack.Variable, lapack.Forward, nru, m-l2, work[nm12:], work[nm13:], u[l2:], ldu)\n\t\t\t\t\t}\n\t\t\t\t\tif ncc > 0 {\n\t\t\t\t\t\timpl.Dlasr(blas.Left, lapack.Variable, lapack.Forward, m-l2, ncc, work[nm12:], work[nm13:], c[l2*ldc:], ldc)\n\t\t\t\t\t}\n\t\t\t\t\tif math.Abs(e[m-2]) < thresh {\n\t\t\t\t\t\te[m-2] = 0\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcs := 1.0\n\t\t\t\t\toldcs := 1.0\n\t\t\t\t\tvar sn, r, oldsn float64\n\t\t\t\t\tfor i := m - 1; i >= l2+1; i-- {\n\t\t\t\t\t\tcs, sn, r = impl.Dlartg(d[i]*cs, e[i-1])\n\t\t\t\t\t\tif i < m-1 {\n\t\t\t\t\t\t\te[i] = oldsn * r\n\t\t\t\t\t\t}\n\t\t\t\t\t\toldcs, oldsn, d[i] = impl.Dlartg(oldcs*r, d[i-1]*sn)\n\t\t\t\t\t\twork[i-l2-1] = cs\n\t\t\t\t\t\twork[i-l2+nm1-1] = -sn\n\t\t\t\t\t\twork[i-l2+nm12-1] = oldcs\n\t\t\t\t\t\twork[i-l2+nm13-1] = -oldsn\n\t\t\t\t\t}\n\t\t\t\t\th := d[l2] * cs\n\t\t\t\t\td[l2] = h * oldcs\n\t\t\t\t\te[l2] = h * oldsn\n\t\t\t\t\tif ncvt > 0 {\n\t\t\t\t\t\timpl.Dlasr(blas.Left, lapack.Variable, lapack.Backward, m-l2, ncvt, work[nm12:], work[nm13:], vt[l2*ldvt:], ldvt)\n\t\t\t\t\t}\n\t\t\t\t\tif nru > 0 {\n\t\t\t\t\t\timpl.Dlasr(blas.Right, lapack.Variable, lapack.Backward, nru, m-l2, work, work[n-1:], u[l2:], ldu)\n\t\t\t\t\t}\n\t\t\t\t\tif ncc > 0 {\n\t\t\t\t\t\timpl.Dlasr(blas.Left, lapack.Variable, lapack.Backward, m-l2, ncc, work, work[n-1:], c[l2*ldc:], ldc)\n\t\t\t\t\t}\n\t\t\t\t\tif math.Abs(e[l2]) <= thresh {\n\t\t\t\t\t\te[l2] = 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Use nonzero shift.\n\t\t\t\tif idir == 1 {\n\t\t\t\t\t// Chase bulge from top to bottom. Save cosines and sines for\n\t\t\t\t\t// later singular vector updates.\n\t\t\t\t\tf := (math.Abs(d[l2]) - shift) * (math.Copysign(1, d[l2]) + shift/d[l2])\n\t\t\t\t\tg := e[l2]\n\t\t\t\t\tvar cosl, sinl float64\n\t\t\t\t\tfor i := l2; i < m-1; i++ {\n\t\t\t\t\t\tcosr, sinr, r := impl.Dlartg(f, g)\n\t\t\t\t\t\tif i > l2 {\n\t\t\t\t\t\t\te[i-1] = r\n\t\t\t\t\t\t}\n\t\t\t\t\t\tf = cosr*d[i] + sinr*e[i]\n\t\t\t\t\t\te[i] = cosr*e[i] - sinr*d[i]\n\t\t\t\t\t\tg = sinr * d[i+1]\n\t\t\t\t\t\td[i+1] *= cosr\n\t\t\t\t\t\tcosl, sinl, r = impl.Dlartg(f, g)\n\t\t\t\t\t\td[i] = r\n\t\t\t\t\t\tf = cosl*e[i] + sinl*d[i+1]\n\t\t\t\t\t\td[i+1] = cosl*d[i+1] - sinl*e[i]\n\t\t\t\t\t\tif i < m-2 {\n\t\t\t\t\t\t\tg = sinl * e[i+1]\n\t\t\t\t\t\t\te[i+1] = cosl * e[i+1]\n\t\t\t\t\t\t}\n\t\t\t\t\t\twork[i-l2] = cosr\n\t\t\t\t\t\twork[i-l2+nm1] = sinr\n\t\t\t\t\t\twork[i-l2+nm12] = cosl\n\t\t\t\t\t\twork[i-l2+nm13] = sinl\n\t\t\t\t\t}\n\t\t\t\t\te[m-2] = f\n\t\t\t\t\tif ncvt > 0 {\n\t\t\t\t\t\timpl.Dlasr(blas.Left, lapack.Variable, lapack.Forward, m-l2, ncvt, work, work[n-1:], vt[l2*ldvt:], ldvt)\n\t\t\t\t\t}\n\t\t\t\t\tif nru > 0 {\n\t\t\t\t\t\timpl.Dlasr(blas.Right, lapack.Variable, lapack.Forward, nru, m-l2, work[nm12:], work[nm13:], u[l2:], ldu)\n\t\t\t\t\t}\n\t\t\t\t\tif ncc > 0 {\n\t\t\t\t\t\timpl.Dlasr(blas.Left, lapack.Variable, lapack.Forward, m-l2, ncc, work[nm12:], work[nm13:], c[l2*ldc:], ldc)\n\t\t\t\t\t}\n\t\t\t\t\tif math.Abs(e[m-2]) <= thresh {\n\t\t\t\t\t\te[m-2] = 0\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Chase bulge from top to bottom. Save cosines and sines for\n\t\t\t\t\t// later singular vector updates.\n\t\t\t\t\tf := (math.Abs(d[m-1]) - shift) * (math.Copysign(1, d[m-1]) + shift/d[m-1])\n\t\t\t\t\tg := e[m-2]\n\t\t\t\t\tfor i := m - 1; i > l2; i-- {\n\t\t\t\t\t\tcosr, sinr, r := impl.Dlartg(f, g)\n\t\t\t\t\t\tif i < m-1 {\n\t\t\t\t\t\t\te[i] = r\n\t\t\t\t\t\t}\n\t\t\t\t\t\tf = cosr*d[i] + sinr*e[i-1]\n\t\t\t\t\t\te[i-1] = cosr*e[i-1] - sinr*d[i]\n\t\t\t\t\t\tg = sinr * d[i-1]\n\t\t\t\t\t\td[i-1] *= cosr\n\t\t\t\t\t\tcosl, sinl, r := impl.Dlartg(f, g)\n\t\t\t\t\t\td[i] = r\n\t\t\t\t\t\tf = cosl*e[i-1] + sinl*d[i-1]\n\t\t\t\t\t\td[i-1] = cosl*d[i-1] - sinl*e[i-1]\n\t\t\t\t\t\tif i > l2+1 {\n\t\t\t\t\t\t\tg = sinl * e[i-2]\n\t\t\t\t\t\t\te[i-2] *= cosl\n\t\t\t\t\t\t}\n\t\t\t\t\t\twork[i-l2-1] = cosr\n\t\t\t\t\t\twork[i-l2+nm1-1] = -sinr\n\t\t\t\t\t\twork[i-l2+nm12-1] = cosl\n\t\t\t\t\t\twork[i-l2+nm13-1] = -sinl\n\t\t\t\t\t}\n\t\t\t\t\te[l2] = f\n\t\t\t\t\tif math.Abs(e[l2]) <= thresh {\n\t\t\t\t\t\te[l2] = 0\n\t\t\t\t\t}\n\t\t\t\t\tif ncvt > 0 {\n\t\t\t\t\t\timpl.Dlasr(blas.Left, lapack.Variable, lapack.Backward, m-l2, ncvt, work[nm12:], work[nm13:], vt[l2*ldvt:], ldvt)\n\t\t\t\t\t}\n\t\t\t\t\tif nru > 0 {\n\t\t\t\t\t\timpl.Dlasr(blas.Right, lapack.Variable, lapack.Backward, nru, m-l2, work, work[n-1:], u[l2:], ldu)\n\t\t\t\t\t}\n\t\t\t\t\tif ncc > 0 {\n\t\t\t\t\t\timpl.Dlasr(blas.Left, lapack.Variable, lapack.Backward, m-l2, ncc, work, work[n-1:], c[l2*ldc:], ldc)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All singular values converged, make them positive.\n\tfor i := 0; i < n; i++ {\n\t\tif d[i] < 0 {\n\t\t\td[i] *= -1\n\t\t\tif ncvt > 0 {\n\t\t\t\tbi.Dscal(ncvt, -1, vt[i*ldvt:], 1)\n\t\t\t}\n\t\t}\n\t}\n\n\t// Sort the singular values in decreasing order.\n\tfor i := 0; i < n-1; i++ {\n\t\tisub := 0\n\t\tsmin := d[0]\n\t\tfor j := 1; j < n-i; j++ {\n\t\t\tif d[j] <= smin {\n\t\t\t\tisub = j\n\t\t\t\tsmin = d[j]\n\t\t\t}\n\t\t}\n\t\tif isub != n-i {\n\t\t\t// Swap singular values and vectors.\n\t\t\td[isub] = d[n-i-1]\n\t\t\td[n-i-1] = smin\n\t\t\tif ncvt > 0 {\n\t\t\t\tbi.Dswap(ncvt, vt[isub*ldvt:], 1, vt[(n-i-1)*ldvt:], 1)\n\t\t\t}\n\t\t\tif nru > 0 {\n\t\t\t\tbi.Dswap(nru, u[isub:], ldu, u[n-i-1:], ldu)\n\t\t\t}\n\t\t\tif ncc > 0 {\n\t\t\t\tbi.Dswap(ncc, c[isub*ldc:], 1, c[(n-i-1)*ldc:], 1)\n\t\t\t}\n\t\t}\n\t}\n\tinfo = 0\n\tfor i := 0; i < n-1; i++ {\n\t\tif e[i] != 0 {\n\t\t\tinfo++\n\t\t}\n\t}\n\treturn info == 0\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgebak.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dgebak updates an n×m matrix V as\n//  V = P D V,        if side == lapack.RightEV,\n//  V = P D^{-1} V,   if side == lapack.LeftEV,\n// where P and D are n×n permutation and scaling matrices, respectively,\n// implicitly represented by job, scale, ilo and ihi as returned by Dgebal.\n//\n// Typically, columns of the matrix V contain the right or left (determined by\n// side) eigenvectors of the balanced matrix output by Dgebal, and Dgebak forms\n// the eigenvectors of the original matrix.\n//\n// Dgebak is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dgebak(job lapack.Job, side lapack.EVSide, n, ilo, ihi int, scale []float64, m int, v []float64, ldv int) {\n\tswitch job {\n\tdefault:\n\t\tpanic(badJob)\n\tcase lapack.None, lapack.Permute, lapack.Scale, lapack.PermuteScale:\n\t}\n\tswitch side {\n\tdefault:\n\t\tpanic(badEVSide)\n\tcase lapack.LeftEV, lapack.RightEV:\n\t}\n\tcheckMatrix(n, m, v, ldv)\n\tswitch {\n\tcase ilo < 0 || max(0, n-1) < ilo:\n\t\tpanic(badIlo)\n\tcase ihi < min(ilo, n-1) || n <= ihi:\n\t\tpanic(badIhi)\n\t}\n\n\t// Quick return if possible.\n\tif n == 0 || m == 0 || job == lapack.None {\n\t\treturn\n\t}\n\n\tbi := blas64.Implementation()\n\tif ilo != ihi && job != lapack.Permute {\n\t\t// Backward balance.\n\t\tif side == lapack.RightEV {\n\t\t\tfor i := ilo; i <= ihi; i++ {\n\t\t\t\tbi.Dscal(m, scale[i], v[i*ldv:], 1)\n\t\t\t}\n\t\t} else {\n\t\t\tfor i := ilo; i <= ihi; i++ {\n\t\t\t\tbi.Dscal(m, 1/scale[i], v[i*ldv:], 1)\n\t\t\t}\n\t\t}\n\t}\n\tif job == lapack.Scale {\n\t\treturn\n\t}\n\t// Backward permutation.\n\tfor i := ilo - 1; i >= 0; i-- {\n\t\tk := int(scale[i])\n\t\tif k == i {\n\t\t\tcontinue\n\t\t}\n\t\tbi.Dswap(m, v[i*ldv:], 1, v[k*ldv:], 1)\n\t}\n\tfor i := ihi + 1; i < n; i++ {\n\t\tk := int(scale[i])\n\t\tif k == i {\n\t\t\tcontinue\n\t\t}\n\t\tbi.Dswap(m, v[i*ldv:], 1, v[k*ldv:], 1)\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgebal.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dgebal balances an n×n matrix A. Balancing consists of two stages, permuting\n// and scaling. Both steps are optional and depend on the value of job.\n//\n// Permuting consists of applying a permutation matrix P such that the matrix\n// that results from P^T*A*P takes the upper block triangular form\n//            [ T1  X  Y  ]\n//  P^T A P = [  0  B  Z  ],\n//            [  0  0  T2 ]\n// where T1 and T2 are upper triangular matrices and B contains at least one\n// nonzero off-diagonal element in each row and column. The indices ilo and ihi\n// mark the starting and ending columns of the submatrix B. The eigenvalues of A\n// isolated in the first 0 to ilo-1 and last ihi+1 to n-1 elements on the\n// diagonal can be read off without any roundoff error.\n//\n// Scaling consists of applying a diagonal similarity transformation D such that\n// D^{-1}*B*D has the 1-norm of each row and its corresponding column nearly\n// equal. The output matrix is\n//  [ T1     X*D          Y    ]\n//  [  0  inv(D)*B*D  inv(D)*Z ].\n//  [  0      0           T2   ]\n// Scaling may reduce the 1-norm of the matrix, and improve the accuracy of\n// the computed eigenvalues and/or eigenvectors.\n//\n// job specifies the operations that will be performed on A.\n// If job is lapack.None, Dgebal sets scale[i] = 1 for all i and returns ilo=0, ihi=n-1.\n// If job is lapack.Permute, only permuting will be done.\n// If job is lapack.Scale, only scaling will be done.\n// If job is lapack.PermuteScale, both permuting and scaling will be done.\n//\n// On return, if job is lapack.Permute or lapack.PermuteScale, it will hold that\n//  A[i,j] == 0,   for i > j and j ∈ {0, ..., ilo-1, ihi+1, ..., n-1}.\n// If job is lapack.None or lapack.Scale, or if n == 0, it will hold that\n//  ilo == 0 and ihi == n-1.\n//\n// On return, scale will contain information about the permutations and scaling\n// factors applied to A. If π(j) denotes the index of the column interchanged\n// with column j, and D[j,j] denotes the scaling factor applied to column j,\n// then\n//  scale[j] == π(j),     for j ∈ {0, ..., ilo-1, ihi+1, ..., n-1},\n//           == D[j,j],   for j ∈ {ilo, ..., ihi}.\n// scale must have length equal to n, otherwise Dgebal will panic.\n//\n// Dgebal is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dgebal(job lapack.Job, n int, a []float64, lda int, scale []float64) (ilo, ihi int) {\n\tswitch job {\n\tdefault:\n\t\tpanic(badJob)\n\tcase lapack.None, lapack.Permute, lapack.Scale, lapack.PermuteScale:\n\t}\n\tcheckMatrix(n, n, a, lda)\n\tif len(scale) != n {\n\t\tpanic(\"lapack: bad length of scale\")\n\t}\n\n\tilo = 0\n\tihi = n - 1\n\n\tif n == 0 || job == lapack.None {\n\t\tfor i := range scale {\n\t\t\tscale[i] = 1\n\t\t}\n\t\treturn ilo, ihi\n\t}\n\n\tbi := blas64.Implementation()\n\tswapped := true\n\n\tif job == lapack.Scale {\n\t\tgoto scaling\n\t}\n\n\t// Permutation to isolate eigenvalues if possible.\n\t//\n\t// Search for rows isolating an eigenvalue and push them down.\n\tfor swapped {\n\t\tswapped = false\n\trows:\n\t\tfor i := ihi; i >= 0; i-- {\n\t\t\tfor j := 0; j <= ihi; j++ {\n\t\t\t\tif i == j {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif a[i*lda+j] != 0 {\n\t\t\t\t\tcontinue rows\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Row i has only zero off-diagonal elements in the\n\t\t\t// block A[ilo:ihi+1,ilo:ihi+1].\n\t\t\tscale[ihi] = float64(i)\n\t\t\tif i != ihi {\n\t\t\t\tbi.Dswap(ihi+1, a[i:], lda, a[ihi:], lda)\n\t\t\t\tbi.Dswap(n, a[i*lda:], 1, a[ihi*lda:], 1)\n\t\t\t}\n\t\t\tif ihi == 0 {\n\t\t\t\tscale[0] = 1\n\t\t\t\treturn ilo, ihi\n\t\t\t}\n\t\t\tihi--\n\t\t\tswapped = true\n\t\t\tbreak\n\t\t}\n\t}\n\t// Search for columns isolating an eigenvalue and push them left.\n\tswapped = true\n\tfor swapped {\n\t\tswapped = false\n\tcolumns:\n\t\tfor j := ilo; j <= ihi; j++ {\n\t\t\tfor i := ilo; i <= ihi; i++ {\n\t\t\t\tif i == j {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif a[i*lda+j] != 0 {\n\t\t\t\t\tcontinue columns\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Column j has only zero off-diagonal elements in the\n\t\t\t// block A[ilo:ihi+1,ilo:ihi+1].\n\t\t\tscale[ilo] = float64(j)\n\t\t\tif j != ilo {\n\t\t\t\tbi.Dswap(ihi+1, a[j:], lda, a[ilo:], lda)\n\t\t\t\tbi.Dswap(n-ilo, a[j*lda+ilo:], 1, a[ilo*lda+ilo:], 1)\n\t\t\t}\n\t\t\tswapped = true\n\t\t\tilo++\n\t\t\tbreak\n\t\t}\n\t}\n\nscaling:\n\tfor i := ilo; i <= ihi; i++ {\n\t\tscale[i] = 1\n\t}\n\n\tif job == lapack.Permute {\n\t\treturn ilo, ihi\n\t}\n\n\t// Balance the submatrix in rows ilo to ihi.\n\n\tconst (\n\t\t// sclfac should be a power of 2 to avoid roundoff errors.\n\t\t// Elements of scale are restricted to powers of sclfac,\n\t\t// therefore the matrix will be only nearly balanced.\n\t\tsclfac = 2\n\t\t// factor determines the minimum reduction of the row and column\n\t\t// norms that is considered non-negligible. It must be less than 1.\n\t\tfactor = 0.95\n\t)\n\tsfmin1 := dlamchS / dlamchP\n\tsfmax1 := 1 / sfmin1\n\tsfmin2 := sfmin1 * sclfac\n\tsfmax2 := 1 / sfmin2\n\n\t// Iterative loop for norm reduction.\n\tvar conv bool\n\tfor !conv {\n\t\tconv = true\n\t\tfor i := ilo; i <= ihi; i++ {\n\t\t\tc := bi.Dnrm2(ihi-ilo+1, a[ilo*lda+i:], lda)\n\t\t\tr := bi.Dnrm2(ihi-ilo+1, a[i*lda+ilo:], 1)\n\t\t\tica := bi.Idamax(ihi+1, a[i:], lda)\n\t\t\tca := math.Abs(a[ica*lda+i])\n\t\t\tira := bi.Idamax(n-ilo, a[i*lda+ilo:], 1)\n\t\t\tra := math.Abs(a[i*lda+ilo+ira])\n\n\t\t\t// Guard against zero c or r due to underflow.\n\t\t\tif c == 0 || r == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tg := r / sclfac\n\t\t\tf := 1.0\n\t\t\ts := c + r\n\t\t\tfor c < g && math.Max(f, math.Max(c, ca)) < sfmax2 && math.Min(r, math.Min(g, ra)) > sfmin2 {\n\t\t\t\tif math.IsNaN(c + f + ca + r + g + ra) {\n\t\t\t\t\t// Panic if NaN to avoid infinite loop.\n\t\t\t\t\tpanic(\"lapack: NaN\")\n\t\t\t\t}\n\t\t\t\tf *= sclfac\n\t\t\t\tc *= sclfac\n\t\t\t\tca *= sclfac\n\t\t\t\tg /= sclfac\n\t\t\t\tr /= sclfac\n\t\t\t\tra /= sclfac\n\t\t\t}\n\t\t\tg = c / sclfac\n\t\t\tfor r <= g && math.Max(r, ra) < sfmax2 && math.Min(math.Min(f, c), math.Min(g, ca)) > sfmin2 {\n\t\t\t\tf /= sclfac\n\t\t\t\tc /= sclfac\n\t\t\t\tca /= sclfac\n\t\t\t\tg /= sclfac\n\t\t\t\tr *= sclfac\n\t\t\t\tra *= sclfac\n\t\t\t}\n\n\t\t\tif c+r >= factor*s {\n\t\t\t\t// Reduction would be negligible.\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif f < 1 && scale[i] < 1 && f*scale[i] <= sfmin1 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif f > 1 && scale[i] > 1 && scale[i] >= sfmax1/f {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Now balance.\n\t\t\tscale[i] *= f\n\t\t\tbi.Dscal(n-ilo, 1/f, a[i*lda+ilo:], 1)\n\t\t\tbi.Dscal(ihi+1, f, a[i:], lda)\n\t\t\tconv = false\n\t\t}\n\t}\n\treturn ilo, ihi\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgebd2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dgebd2 reduces an m×n matrix A to upper or lower bidiagonal form by an orthogonal\n// transformation.\n//  Q^T * A * P = B\n// if m >= n, B is upper diagonal, otherwise B is lower bidiagonal.\n// d is the diagonal, len = min(m,n)\n// e is the off-diagonal len = min(m,n)-1\n//\n// Dgebd2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dgebd2(m, n int, a []float64, lda int, d, e, tauQ, tauP, work []float64) {\n\tcheckMatrix(m, n, a, lda)\n\tif len(d) < min(m, n) {\n\t\tpanic(badD)\n\t}\n\tif len(e) < min(m, n)-1 {\n\t\tpanic(badE)\n\t}\n\tif len(tauQ) < min(m, n) {\n\t\tpanic(badTauQ)\n\t}\n\tif len(tauP) < min(m, n) {\n\t\tpanic(badTauP)\n\t}\n\tif len(work) < max(m, n) {\n\t\tpanic(badWork)\n\t}\n\tif m >= n {\n\t\tfor i := 0; i < n; i++ {\n\t\t\ta[i*lda+i], tauQ[i] = impl.Dlarfg(m-i, a[i*lda+i], a[min(i+1, m-1)*lda+i:], lda)\n\t\t\td[i] = a[i*lda+i]\n\t\t\ta[i*lda+i] = 1\n\t\t\t// Apply H_i to A[i:m, i+1:n] from the left.\n\t\t\tif i < n-1 {\n\t\t\t\timpl.Dlarf(blas.Left, m-i, n-i-1, a[i*lda+i:], lda, tauQ[i], a[i*lda+i+1:], lda, work)\n\t\t\t}\n\t\t\ta[i*lda+i] = d[i]\n\t\t\tif i < n-1 {\n\t\t\t\ta[i*lda+i+1], tauP[i] = impl.Dlarfg(n-i-1, a[i*lda+i+1], a[i*lda+min(i+2, n-1):], 1)\n\t\t\t\te[i] = a[i*lda+i+1]\n\t\t\t\ta[i*lda+i+1] = 1\n\t\t\t\timpl.Dlarf(blas.Right, m-i-1, n-i-1, a[i*lda+i+1:], 1, tauP[i], a[(i+1)*lda+i+1:], lda, work)\n\t\t\t\ta[i*lda+i+1] = e[i]\n\t\t\t} else {\n\t\t\t\ttauP[i] = 0\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < m; i++ {\n\t\ta[i*lda+i], tauP[i] = impl.Dlarfg(n-i, a[i*lda+i], a[i*lda+min(i+1, n-1):], 1)\n\t\td[i] = a[i*lda+i]\n\t\ta[i*lda+i] = 1\n\t\tif i < m-1 {\n\t\t\timpl.Dlarf(blas.Right, m-i-1, n-i, a[i*lda+i:], 1, tauP[i], a[(i+1)*lda+i:], lda, work)\n\t\t}\n\t\ta[i*lda+i] = d[i]\n\t\tif i < m-1 {\n\t\t\ta[(i+1)*lda+i], tauQ[i] = impl.Dlarfg(m-i-1, a[(i+1)*lda+i], a[min(i+2, m-1)*lda+i:], lda)\n\t\t\te[i] = a[(i+1)*lda+i]\n\t\t\ta[(i+1)*lda+i] = 1\n\t\t\timpl.Dlarf(blas.Left, m-i-1, n-i-1, a[(i+1)*lda+i:], lda, tauQ[i], a[(i+1)*lda+i+1:], lda, work)\n\t\t\ta[(i+1)*lda+i] = e[i]\n\t\t} else {\n\t\t\ttauQ[i] = 0\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgebrd.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dgebrd reduces a general m×n matrix A to upper or lower bidiagonal form B by\n// an orthogonal transformation:\n//  Q^T * A * P = B.\n// The diagonal elements of B are stored in d and the off-diagonal elements are stored\n// in e. These are additionally stored along the diagonal of A and the off-diagonal\n// of A. If m >= n B is an upper-bidiagonal matrix, and if m < n B is a\n// lower-bidiagonal matrix.\n//\n// The remaining elements of A store the data needed to construct Q and P.\n// The matrices Q and P are products of elementary reflectors\n//  if m >= n, Q = H_0 * H_1 * ... * H_{n-1},\n//             P = G_0 * G_1 * ... * G_{n-2},\n//  if m < n,  Q = H_0 * H_1 * ... * H_{m-2},\n//             P = G_0 * G_1 * ... * G_{m-1},\n// where\n//  H_i = I - tauQ[i] * v_i * v_i^T,\n//  G_i = I - tauP[i] * u_i * u_i^T.\n//\n// As an example, on exit the entries of A when m = 6, and n = 5\n//  [ d   e  u1  u1  u1]\n//  [v1   d   e  u2  u2]\n//  [v1  v2   d   e  u3]\n//  [v1  v2  v3   d   e]\n//  [v1  v2  v3  v4   d]\n//  [v1  v2  v3  v4  v5]\n// and when m = 5, n = 6\n//  [ d  u1  u1  u1  u1  u1]\n//  [ e   d  u2  u2  u2  u2]\n//  [v1   e   d  u3  u3  u3]\n//  [v1  v2   e   d  u4  u4]\n//  [v1  v2  v3   e   d  u5]\n//\n// d, tauQ, and tauP must all have length at least min(m,n), and e must have\n// length min(m,n) - 1, unless lwork is -1 when there is no check except for\n// work which must have a length of at least one.\n//\n// work is temporary storage, and lwork specifies the usable memory length.\n// At minimum, lwork >= max(1,m,n) or be -1 and this function will panic otherwise.\n// Dgebrd is blocked decomposition, but the block size is limited\n// by the temporary space available. If lwork == -1, instead of performing Dgebrd,\n// the optimal work length will be stored into work[0].\n//\n// Dgebrd is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dgebrd(m, n int, a []float64, lda int, d, e, tauQ, tauP, work []float64, lwork int) {\n\tcheckMatrix(m, n, a, lda)\n\t// Calculate optimal work.\n\tnb := impl.Ilaenv(1, \"DGEBRD\", \" \", m, n, -1, -1)\n\tvar lworkOpt int\n\tif lwork == -1 {\n\t\tif len(work) < 1 {\n\t\t\tpanic(badWork)\n\t\t}\n\t\tlworkOpt = ((m + n) * nb)\n\t\twork[0] = float64(max(1, lworkOpt))\n\t\treturn\n\t}\n\tminmn := min(m, n)\n\tif len(d) < minmn {\n\t\tpanic(badD)\n\t}\n\tif len(e) < minmn-1 {\n\t\tpanic(badE)\n\t}\n\tif len(tauQ) < minmn {\n\t\tpanic(badTauQ)\n\t}\n\tif len(tauP) < minmn {\n\t\tpanic(badTauP)\n\t}\n\tws := max(m, n)\n\tif lwork < max(1, ws) {\n\t\tpanic(badWork)\n\t}\n\tif len(work) < lwork {\n\t\tpanic(badWork)\n\t}\n\tvar nx int\n\tif nb > 1 && nb < minmn {\n\t\tnx = max(nb, impl.Ilaenv(3, \"DGEBRD\", \" \", m, n, -1, -1))\n\t\tif nx < minmn {\n\t\t\tws = (m + n) * nb\n\t\t\tif lwork < ws {\n\t\t\t\tnbmin := impl.Ilaenv(2, \"DGEBRD\", \" \", m, n, -1, -1)\n\t\t\t\tif lwork >= (m+n)*nbmin {\n\t\t\t\t\tnb = lwork / (m + n)\n\t\t\t\t} else {\n\t\t\t\t\tnb = minmn\n\t\t\t\t\tnx = minmn\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnx = minmn\n\t}\n\tbi := blas64.Implementation()\n\tldworkx := nb\n\tldworky := nb\n\tvar i int\n\t// Netlib lapack has minmn - nx, but this makes the last nx rows (which by\n\t// default is large) be unblocked. As written here, the blocking is more\n\t// consistent.\n\tfor i = 0; i < minmn-nb; i += nb {\n\t\t// Reduce rows and columns i:i+nb to bidiagonal form and return\n\t\t// the matrices X and Y which are needed to update the unreduced\n\t\t// part of the matrix.\n\t\t// X is stored in the first m rows of work, y in the next rows.\n\t\tx := work[:m*ldworkx]\n\t\ty := work[m*ldworkx:]\n\t\timpl.Dlabrd(m-i, n-i, nb, a[i*lda+i:], lda,\n\t\t\td[i:], e[i:], tauQ[i:], tauP[i:],\n\t\t\tx, ldworkx, y, ldworky)\n\n\t\t// Update the trailing submatrix A[i+nb:m,i+nb:n], using an update\n\t\t// of the form  A := A - V*Y**T - X*U**T\n\t\tbi.Dgemm(blas.NoTrans, blas.Trans, m-i-nb, n-i-nb, nb,\n\t\t\t-1, a[(i+nb)*lda+i:], lda, y[nb*ldworky:], ldworky,\n\t\t\t1, a[(i+nb)*lda+i+nb:], lda)\n\n\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m-i-nb, n-i-nb, nb,\n\t\t\t-1, x[nb*ldworkx:], ldworkx, a[i*lda+i+nb:], lda,\n\t\t\t1, a[(i+nb)*lda+i+nb:], lda)\n\n\t\t// Copy diagonal and off-diagonal elements of B back into A.\n\t\tif m >= n {\n\t\t\tfor j := i; j < i+nb; j++ {\n\t\t\t\ta[j*lda+j] = d[j]\n\t\t\t\ta[j*lda+j+1] = e[j]\n\t\t\t}\n\t\t} else {\n\t\t\tfor j := i; j < i+nb; j++ {\n\t\t\t\ta[j*lda+j] = d[j]\n\t\t\t\ta[(j+1)*lda+j] = e[j]\n\t\t\t}\n\t\t}\n\t}\n\t// Use unblocked code to reduce the remainder of the matrix.\n\timpl.Dgebd2(m-i, n-i, a[i*lda+i:], lda, d[i:], e[i:], tauQ[i:], tauP[i:], work)\n\twork[0] = float64(lworkOpt)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgecon.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dgecon estimates the reciprocal of the condition number of the n×n matrix A\n// given the LU decomposition of the matrix. The condition number computed may\n// be based on the 1-norm or the ∞-norm.\n//\n// The slice a contains the result of the LU decomposition of A as computed by Dgetrf.\n//\n// anorm is the corresponding 1-norm or ∞-norm of the original matrix A.\n//\n// work is a temporary data slice of length at least 4*n and Dgecon will panic otherwise.\n//\n// iwork is a temporary data slice of length at least n and Dgecon will panic otherwise.\nfunc (impl Implementation) Dgecon(norm lapack.MatrixNorm, n int, a []float64, lda int, anorm float64, work []float64, iwork []int) float64 {\n\tcheckMatrix(n, n, a, lda)\n\tif norm != lapack.MaxColumnSum && norm != lapack.MaxRowSum {\n\t\tpanic(badNorm)\n\t}\n\tif len(work) < 4*n {\n\t\tpanic(badWork)\n\t}\n\tif len(iwork) < n {\n\t\tpanic(badWork)\n\t}\n\n\tif n == 0 {\n\t\treturn 1\n\t} else if anorm == 0 {\n\t\treturn 0\n\t}\n\n\tbi := blas64.Implementation()\n\tvar rcond, ainvnm float64\n\tvar kase int\n\tvar normin bool\n\tisave := new([3]int)\n\tonenrm := norm == lapack.MaxColumnSum\n\tsmlnum := dlamchS\n\tkase1 := 2\n\tif onenrm {\n\t\tkase1 = 1\n\t}\n\tfor {\n\t\tainvnm, kase = impl.Dlacn2(n, work[n:], work, iwork, ainvnm, kase, isave)\n\t\tif kase == 0 {\n\t\t\tif ainvnm != 0 {\n\t\t\t\trcond = (1 / ainvnm) / anorm\n\t\t\t}\n\t\t\treturn rcond\n\t\t}\n\t\tvar sl, su float64\n\t\tif kase == kase1 {\n\t\t\tsl = impl.Dlatrs(blas.Lower, blas.NoTrans, blas.Unit, normin, n, a, lda, work, work[2*n:])\n\t\t\tsu = impl.Dlatrs(blas.Upper, blas.NoTrans, blas.NonUnit, normin, n, a, lda, work, work[3*n:])\n\t\t} else {\n\t\t\tsu = impl.Dlatrs(blas.Upper, blas.Trans, blas.NonUnit, normin, n, a, lda, work, work[3*n:])\n\t\t\tsl = impl.Dlatrs(blas.Lower, blas.Trans, blas.Unit, normin, n, a, lda, work, work[2*n:])\n\t\t}\n\t\tscale := sl * su\n\t\tnormin = true\n\t\tif scale != 1 {\n\t\t\tix := bi.Idamax(n, work, 1)\n\t\t\tif scale == 0 || scale < math.Abs(work[ix])*smlnum {\n\t\t\t\treturn rcond\n\t\t\t}\n\t\t\timpl.Drscl(n, scale, work, 1)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgeev.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dgeev computes the eigenvalues and, optionally, the left and/or right\n// eigenvectors for an n×n real nonsymmetric matrix A.\n//\n// The right eigenvector v_j of A corresponding to an eigenvalue λ_j\n// is defined by\n//  A v_j = λ_j v_j,\n// and the left eigenvector u_j corresponding to an eigenvalue λ_j is defined by\n//  u_j^H A = λ_j u_j^H,\n// where u_j^H is the conjugate transpose of u_j.\n//\n// On return, A will be overwritten and the left and right eigenvectors will be\n// stored, respectively, in the columns of the n×n matrices VL and VR in the\n// same order as their eigenvalues. If the j-th eigenvalue is real, then\n//  u_j = VL[:,j],\n//  v_j = VR[:,j],\n// and if it is not real, then j and j+1 form a complex conjugate pair and the\n// eigenvectors can be recovered as\n//  u_j     = VL[:,j] + i*VL[:,j+1],\n//  u_{j+1} = VL[:,j] - i*VL[:,j+1],\n//  v_j     = VR[:,j] + i*VR[:,j+1],\n//  v_{j+1} = VR[:,j] - i*VR[:,j+1],\n// where i is the imaginary unit. The computed eigenvectors are normalized to\n// have Euclidean norm equal to 1 and largest component real.\n//\n// Left eigenvectors will be computed only if jobvl == lapack.ComputeLeftEV,\n// otherwise jobvl must be lapack.None. Right eigenvectors will be computed\n// only if jobvr == lapack.ComputeRightEV, otherwise jobvr must be lapack.None.\n// For other values of jobvl and jobvr Dgeev will panic.\n//\n// wr and wi contain the real and imaginary parts, respectively, of the computed\n// eigenvalues. Complex conjugate pairs of eigenvalues appear consecutively with\n// the eigenvalue having the positive imaginary part first.\n// wr and wi must have length n, and Dgeev will panic otherwise.\n//\n// work must have length at least lwork and lwork must be at least max(1,4*n) if\n// the left or right eigenvectors are computed, and at least max(1,3*n) if no\n// eigenvectors are computed. For good performance, lwork must generally be\n// larger.  On return, optimal value of lwork will be stored in work[0].\n//\n// If lwork == -1, instead of performing Dgeev, the function only calculates the\n// optimal vaule of lwork and stores it into work[0].\n//\n// On return, first is the index of the first valid eigenvalue. If first == 0,\n// all eigenvalues and eigenvectors have been computed. If first is positive,\n// Dgeev failed to compute all the eigenvalues, no eigenvectors have been\n// computed and wr[first:] and wi[first:] contain those eigenvalues which have\n// converged.\nfunc (impl Implementation) Dgeev(jobvl lapack.LeftEVJob, jobvr lapack.RightEVJob, n int, a []float64, lda int, wr, wi []float64, vl []float64, ldvl int, vr []float64, ldvr int, work []float64, lwork int) (first int) {\n\tvar wantvl bool\n\tswitch jobvl {\n\tdefault:\n\t\tpanic(\"lapack: invalid LeftEVJob\")\n\tcase lapack.ComputeLeftEV:\n\t\twantvl = true\n\tcase lapack.None:\n\t}\n\tvar wantvr bool\n\tswitch jobvr {\n\tdefault:\n\t\tpanic(\"lapack: invalid RightEVJob\")\n\tcase lapack.ComputeRightEV:\n\t\twantvr = true\n\tcase lapack.None:\n\t}\n\tswitch {\n\tcase n < 0:\n\t\tpanic(nLT0)\n\tcase len(work) < lwork:\n\t\tpanic(shortWork)\n\t}\n\tvar minwrk int\n\tif wantvl || wantvr {\n\t\tminwrk = max(1, 4*n)\n\t} else {\n\t\tminwrk = max(1, 3*n)\n\t}\n\tif lwork != -1 {\n\t\tcheckMatrix(n, n, a, lda)\n\t\tif wantvl {\n\t\t\tcheckMatrix(n, n, vl, ldvl)\n\t\t}\n\t\tif wantvr {\n\t\t\tcheckMatrix(n, n, vr, ldvr)\n\t\t}\n\t\tswitch {\n\t\tcase len(wr) != n:\n\t\t\tpanic(\"lapack: bad length of wr\")\n\t\tcase len(wi) != n:\n\t\t\tpanic(\"lapack: bad length of wi\")\n\t\tcase lwork < minwrk:\n\t\t\tpanic(badWork)\n\t\t}\n\t}\n\n\t// Quick return if possible.\n\tif n == 0 {\n\t\twork[0] = 1\n\t\treturn 0\n\t}\n\n\tmaxwrk := 2*n + n*impl.Ilaenv(1, \"DGEHRD\", \" \", n, 1, n, 0)\n\tif wantvl || wantvr {\n\t\tmaxwrk = max(maxwrk, 2*n+(n-1)*impl.Ilaenv(1, \"DORGHR\", \" \", n, 1, n, -1))\n\t\timpl.Dhseqr(lapack.EigenvaluesAndSchur, lapack.OriginalEV, n, 0, n-1,\n\t\t\tnil, 1, nil, nil, nil, 1, work, -1)\n\t\tmaxwrk = max(maxwrk, max(n+1, n+int(work[0])))\n\t\tside := lapack.LeftEV\n\t\tif wantvr {\n\t\t\tside = lapack.RightEV\n\t\t}\n\t\timpl.Dtrevc3(side, lapack.AllEVMulQ, nil, n, nil, 1, nil, 1, nil, 1,\n\t\t\tn, work, -1)\n\t\tmaxwrk = max(maxwrk, n+int(work[0]))\n\t\tmaxwrk = max(maxwrk, 4*n)\n\t} else {\n\t\timpl.Dhseqr(lapack.EigenvaluesOnly, lapack.None, n, 0, n-1,\n\t\t\tnil, 1, nil, nil, nil, 1, work, -1)\n\t\tmaxwrk = max(maxwrk, max(n+1, n+int(work[0])))\n\t}\n\tmaxwrk = max(maxwrk, minwrk)\n\n\tif lwork == -1 {\n\t\twork[0] = float64(maxwrk)\n\t\treturn 0\n\t}\n\n\t// Get machine constants.\n\tsmlnum := math.Sqrt(dlamchS) / dlamchP\n\tbignum := 1 / smlnum\n\n\t// Scale A if max element outside range [smlnum,bignum].\n\tanrm := impl.Dlange(lapack.MaxAbs, n, n, a, lda, nil)\n\tvar scalea bool\n\tvar cscale float64\n\tif 0 < anrm && anrm < smlnum {\n\t\tscalea = true\n\t\tcscale = smlnum\n\t} else if anrm > bignum {\n\t\tscalea = true\n\t\tcscale = bignum\n\t}\n\tif scalea {\n\t\timpl.Dlascl(lapack.General, 0, 0, anrm, cscale, n, n, a, lda)\n\t}\n\n\t// Balance the matrix.\n\tworkbal := work[:n]\n\tilo, ihi := impl.Dgebal(lapack.PermuteScale, n, a, lda, workbal)\n\n\t// Reduce to upper Hessenberg form.\n\tiwrk := 2 * n\n\ttau := work[n : iwrk-1]\n\timpl.Dgehrd(n, ilo, ihi, a, lda, tau, work[iwrk:], lwork-iwrk)\n\n\tvar side lapack.EVSide\n\tif wantvl {\n\t\tside = lapack.LeftEV\n\t\t// Copy Householder vectors to VL.\n\t\timpl.Dlacpy(blas.Lower, n, n, a, lda, vl, ldvl)\n\t\t// Generate orthogonal matrix in VL.\n\t\timpl.Dorghr(n, ilo, ihi, vl, ldvl, tau, work[iwrk:], lwork-iwrk)\n\t\t// Perform QR iteration, accumulating Schur vectors in VL.\n\t\tiwrk = n\n\t\tfirst = impl.Dhseqr(lapack.EigenvaluesAndSchur, lapack.OriginalEV, n, ilo, ihi,\n\t\t\ta, lda, wr, wi, vl, ldvl, work[iwrk:], lwork-iwrk)\n\t\tif wantvr {\n\t\t\t// Want left and right eigenvectors.\n\t\t\t// Copy Schur vectors to VR.\n\t\t\tside = lapack.RightLeftEV\n\t\t\timpl.Dlacpy(blas.All, n, n, vl, ldvl, vr, ldvr)\n\t\t}\n\t} else if wantvr {\n\t\tside = lapack.RightEV\n\t\t// Copy Householder vectors to VR.\n\t\timpl.Dlacpy(blas.Lower, n, n, a, lda, vr, ldvr)\n\t\t// Generate orthogonal matrix in VR.\n\t\timpl.Dorghr(n, ilo, ihi, vr, ldvr, tau, work[iwrk:], lwork-iwrk)\n\t\t// Perform QR iteration, accumulating Schur vectors in VR.\n\t\tiwrk = n\n\t\tfirst = impl.Dhseqr(lapack.EigenvaluesAndSchur, lapack.OriginalEV, n, ilo, ihi,\n\t\t\ta, lda, wr, wi, vr, ldvr, work[iwrk:], lwork-iwrk)\n\t} else {\n\t\t// Compute eigenvalues only.\n\t\tiwrk = n\n\t\tfirst = impl.Dhseqr(lapack.EigenvaluesOnly, lapack.None, n, ilo, ihi,\n\t\t\ta, lda, wr, wi, nil, 1, work[iwrk:], lwork-iwrk)\n\t}\n\n\tif first > 0 {\n\t\tif scalea {\n\t\t\t// Undo scaling.\n\t\t\timpl.Dlascl(lapack.General, 0, 0, cscale, anrm, n-first, 1, wr[first:], 1)\n\t\t\timpl.Dlascl(lapack.General, 0, 0, cscale, anrm, n-first, 1, wi[first:], 1)\n\t\t\timpl.Dlascl(lapack.General, 0, 0, cscale, anrm, ilo, 1, wr, 1)\n\t\t\timpl.Dlascl(lapack.General, 0, 0, cscale, anrm, ilo, 1, wi, 1)\n\t\t}\n\t\twork[0] = float64(maxwrk)\n\t\treturn first\n\t}\n\n\tif wantvl || wantvr {\n\t\t// Compute left and/or right eigenvectors.\n\t\timpl.Dtrevc3(side, lapack.AllEVMulQ, nil, n,\n\t\t\ta, lda, vl, ldvl, vr, ldvr, n, work[iwrk:], lwork-iwrk)\n\t}\n\tbi := blas64.Implementation()\n\tif wantvl {\n\t\t// Undo balancing of left eigenvectors.\n\t\timpl.Dgebak(lapack.PermuteScale, lapack.LeftEV, n, ilo, ihi, workbal, n, vl, ldvl)\n\t\t// Normalize left eigenvectors and make largest component real.\n\t\tfor i, wii := range wi {\n\t\t\tif wii < 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif wii == 0 {\n\t\t\t\tscl := 1 / bi.Dnrm2(n, vl[i:], ldvl)\n\t\t\t\tbi.Dscal(n, scl, vl[i:], ldvl)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tscl := 1 / impl.Dlapy2(bi.Dnrm2(n, vl[i:], ldvl), bi.Dnrm2(n, vl[i+1:], ldvl))\n\t\t\tbi.Dscal(n, scl, vl[i:], ldvl)\n\t\t\tbi.Dscal(n, scl, vl[i+1:], ldvl)\n\t\t\tfor k := 0; k < n; k++ {\n\t\t\t\tvi := vl[k*ldvl+i]\n\t\t\t\tvi1 := vl[k*ldvl+i+1]\n\t\t\t\twork[iwrk+k] = vi*vi + vi1*vi1\n\t\t\t}\n\t\t\tk := bi.Idamax(n, work[iwrk:iwrk+n], 1)\n\t\t\tcs, sn, _ := impl.Dlartg(vl[k*ldvl+i], vl[k*ldvl+i+1])\n\t\t\tbi.Drot(n, vl[i:], ldvl, vl[i+1:], ldvl, cs, sn)\n\t\t\tvl[k*ldvl+i+1] = 0\n\t\t}\n\t}\n\tif wantvr {\n\t\t// Undo balancing of right eigenvectors.\n\t\timpl.Dgebak(lapack.PermuteScale, lapack.RightEV, n, ilo, ihi, workbal, n, vr, ldvr)\n\t\t// Normalize right eigenvectors and make largest component real.\n\t\tfor i, wii := range wi {\n\t\t\tif wii < 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif wii == 0 {\n\t\t\t\tscl := 1 / bi.Dnrm2(n, vr[i:], ldvr)\n\t\t\t\tbi.Dscal(n, scl, vr[i:], ldvr)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tscl := 1 / impl.Dlapy2(bi.Dnrm2(n, vr[i:], ldvr), bi.Dnrm2(n, vr[i+1:], ldvr))\n\t\t\tbi.Dscal(n, scl, vr[i:], ldvr)\n\t\t\tbi.Dscal(n, scl, vr[i+1:], ldvr)\n\t\t\tfor k := 0; k < n; k++ {\n\t\t\t\tvi := vr[k*ldvr+i]\n\t\t\t\tvi1 := vr[k*ldvr+i+1]\n\t\t\t\twork[iwrk+k] = vi*vi + vi1*vi1\n\t\t\t}\n\t\t\tk := bi.Idamax(n, work[iwrk:iwrk+n], 1)\n\t\t\tcs, sn, _ := impl.Dlartg(vr[k*ldvr+i], vr[k*ldvr+i+1])\n\t\t\tbi.Drot(n, vr[i:], ldvr, vr[i+1:], ldvr, cs, sn)\n\t\t\tvr[k*ldvr+i+1] = 0\n\t\t}\n\t}\n\n\tif scalea {\n\t\t// Undo scaling.\n\t\timpl.Dlascl(lapack.General, 0, 0, cscale, anrm, n-first, 1, wr[first:], 1)\n\t\timpl.Dlascl(lapack.General, 0, 0, cscale, anrm, n-first, 1, wi[first:], 1)\n\t}\n\n\twork[0] = float64(maxwrk)\n\treturn first\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgehd2.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dgehd2 reduces a block of a general n×n matrix A to upper Hessenberg form H\n// by an orthogonal similarity transformation Q^T * A * Q = H.\n//\n// The matrix Q is represented as a product of (ihi-ilo) elementary\n// reflectors\n//  Q = H_{ilo} H_{ilo+1} ... H_{ihi-1}.\n// Each H_i has the form\n//  H_i = I - tau[i] * v * v^T\n// where v is a real vector with v[0:i+1] = 0, v[i+1] = 1 and v[ihi+1:n] = 0.\n// v[i+2:ihi+1] is stored on exit in A[i+2:ihi+1,i].\n//\n// On entry, a contains the n×n general matrix to be reduced. On return, the\n// upper triangle and the first subdiagonal of A are overwritten with the upper\n// Hessenberg matrix H, and the elements below the first subdiagonal, with the\n// slice tau, represent the orthogonal matrix Q as a product of elementary\n// reflectors.\n//\n// The contents of A are illustrated by the following example, with n = 7, ilo =\n// 1 and ihi = 5.\n// On entry,\n//  [ a   a   a   a   a   a   a ]\n//  [     a   a   a   a   a   a ]\n//  [     a   a   a   a   a   a ]\n//  [     a   a   a   a   a   a ]\n//  [     a   a   a   a   a   a ]\n//  [     a   a   a   a   a   a ]\n//  [                         a ]\n// on return,\n//  [ a   a   h   h   h   h   a ]\n//  [     a   h   h   h   h   a ]\n//  [     h   h   h   h   h   h ]\n//  [     v1  h   h   h   h   h ]\n//  [     v1  v2  h   h   h   h ]\n//  [     v1  v2  v3  h   h   h ]\n//  [                         a ]\n// where a denotes an element of the original matrix A, h denotes a\n// modified element of the upper Hessenberg matrix H, and vi denotes an\n// element of the vector defining H_i.\n//\n// ilo and ihi determine the block of A that will be reduced to upper Hessenberg\n// form. It must hold that 0 <= ilo <= ihi <= max(0, n-1), otherwise Dgehd2 will\n// panic.\n//\n// On return, tau will contain the scalar factors of the elementary reflectors.\n// It must have length equal to n-1, otherwise Dgehd2 will panic.\n//\n// work must have length at least n, otherwise Dgehd2 will panic.\n//\n// Dgehd2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dgehd2(n, ilo, ihi int, a []float64, lda int, tau, work []float64) {\n\tcheckMatrix(n, n, a, lda)\n\tswitch {\n\tcase ilo < 0 || ilo > max(0, n-1):\n\t\tpanic(badIlo)\n\tcase ihi < min(ilo, n-1) || ihi >= n:\n\t\tpanic(badIhi)\n\tcase len(tau) != n-1:\n\t\tpanic(badTau)\n\tcase len(work) < n:\n\t\tpanic(badWork)\n\t}\n\n\tfor i := ilo; i < ihi; i++ {\n\t\t// Compute elementary reflector H_i to annihilate A[i+2:ihi+1,i].\n\t\tvar aii float64\n\t\taii, tau[i] = impl.Dlarfg(ihi-i, a[(i+1)*lda+i], a[min(i+2, n-1)*lda+i:], lda)\n\t\ta[(i+1)*lda+i] = 1\n\n\t\t// Apply H_i to A[0:ihi+1,i+1:ihi+1] from the right.\n\t\timpl.Dlarf(blas.Right, ihi+1, ihi-i, a[(i+1)*lda+i:], lda, tau[i], a[i+1:], lda, work)\n\n\t\t// Apply H_i to A[i+1:ihi+1,i+1:n] from the left.\n\t\timpl.Dlarf(blas.Left, ihi-i, n-i-1, a[(i+1)*lda+i:], lda, tau[i], a[(i+1)*lda+i+1:], lda, work)\n\t\ta[(i+1)*lda+i] = aii\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgehrd.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dgehrd reduces a block of a real n×n general matrix A to upper Hessenberg\n// form H by an orthogonal similarity transformation Q^T * A * Q = H.\n//\n// The matrix Q is represented as a product of (ihi-ilo) elementary\n// reflectors\n//  Q = H_{ilo} H_{ilo+1} ... H_{ihi-1}.\n// Each H_i has the form\n//  H_i = I - tau[i] * v * v^T\n// where v is a real vector with v[0:i+1] = 0, v[i+1] = 1 and v[ihi+1:n] = 0.\n// v[i+2:ihi+1] is stored on exit in A[i+2:ihi+1,i].\n//\n// On entry, a contains the n×n general matrix to be reduced. On return, the\n// upper triangle and the first subdiagonal of A will be overwritten with the\n// upper Hessenberg matrix H, and the elements below the first subdiagonal, with\n// the slice tau, represent the orthogonal matrix Q as a product of elementary\n// reflectors.\n//\n// The contents of a are illustrated by the following example, with n = 7, ilo =\n// 1 and ihi = 5.\n// On entry,\n//  [ a   a   a   a   a   a   a ]\n//  [     a   a   a   a   a   a ]\n//  [     a   a   a   a   a   a ]\n//  [     a   a   a   a   a   a ]\n//  [     a   a   a   a   a   a ]\n//  [     a   a   a   a   a   a ]\n//  [                         a ]\n// on return,\n//  [ a   a   h   h   h   h   a ]\n//  [     a   h   h   h   h   a ]\n//  [     h   h   h   h   h   h ]\n//  [     v1  h   h   h   h   h ]\n//  [     v1  v2  h   h   h   h ]\n//  [     v1  v2  v3  h   h   h ]\n//  [                         a ]\n// where a denotes an element of the original matrix A, h denotes a\n// modified element of the upper Hessenberg matrix H, and vi denotes an\n// element of the vector defining H_i.\n//\n// ilo and ihi determine the block of A that will be reduced to upper Hessenberg\n// form. It must hold that 0 <= ilo <= ihi < n if n > 0, and ilo == 0 and ihi ==\n// -1 if n == 0, otherwise Dgehrd will panic.\n//\n// On return, tau will contain the scalar factors of the elementary reflectors.\n// Elements tau[:ilo] and tau[ihi:] will be set to zero. tau must have length\n// equal to n-1 if n > 0, otherwise Dgehrd will panic.\n//\n// work must have length at least lwork and lwork must be at least max(1,n),\n// otherwise Dgehrd will panic. On return, work[0] contains the optimal value of\n// lwork.\n//\n// If lwork == -1, instead of performing Dgehrd, only the optimal value of lwork\n// will be stored in work[0].\n//\n// Dgehrd is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dgehrd(n, ilo, ihi int, a []float64, lda int, tau, work []float64, lwork int) {\n\tswitch {\n\tcase ilo < 0 || max(0, n-1) < ilo:\n\t\tpanic(badIlo)\n\tcase ihi < min(ilo, n-1) || n <= ihi:\n\t\tpanic(badIhi)\n\tcase lwork < max(1, n) && lwork != -1:\n\t\tpanic(badWork)\n\tcase len(work) < lwork:\n\t\tpanic(shortWork)\n\t}\n\tif lwork != -1 {\n\t\tcheckMatrix(n, n, a, lda)\n\t\tif len(tau) != n-1 && n > 0 {\n\t\t\tpanic(badTau)\n\t\t}\n\t}\n\n\tconst (\n\t\tnbmax = 64\n\t\tldt   = nbmax + 1\n\t\ttsize = ldt * nbmax\n\t)\n\t// Compute the workspace requirements.\n\tnb := min(nbmax, impl.Ilaenv(1, \"DGEHRD\", \" \", n, ilo, ihi, -1))\n\tlwkopt := n*nb + tsize\n\tif lwork == -1 {\n\t\twork[0] = float64(lwkopt)\n\t\treturn\n\t}\n\n\t// Set tau[:ilo] and tau[ihi:] to zero.\n\tfor i := 0; i < ilo; i++ {\n\t\ttau[i] = 0\n\t}\n\tfor i := ihi; i < n-1; i++ {\n\t\ttau[i] = 0\n\t}\n\n\t// Quick return if possible.\n\tnh := ihi - ilo + 1\n\tif nh <= 1 {\n\t\twork[0] = 1\n\t\treturn\n\t}\n\n\t// Determine the block size.\n\tnbmin := 2\n\tvar nx int\n\tif 1 < nb && nb < nh {\n\t\t// Determine when to cross over from blocked to unblocked code\n\t\t// (last block is always handled by unblocked code).\n\t\tnx = max(nb, impl.Ilaenv(3, \"DGEHRD\", \" \", n, ilo, ihi, -1))\n\t\tif nx < nh {\n\t\t\t// Determine if workspace is large enough for blocked code.\n\t\t\tif lwork < n*nb+tsize {\n\t\t\t\t// Not enough workspace to use optimal nb:\n\t\t\t\t// determine the minimum value of nb, and reduce\n\t\t\t\t// nb or force use of unblocked code.\n\t\t\t\tnbmin = max(2, impl.Ilaenv(2, \"DGEHRD\", \" \", n, ilo, ihi, -1))\n\t\t\t\tif lwork >= n*nbmin+tsize {\n\t\t\t\t\tnb = (lwork - tsize) / n\n\t\t\t\t} else {\n\t\t\t\t\tnb = 1\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tldwork := nb // work is used as an n×nb matrix.\n\n\tvar i int\n\tif nb < nbmin || nh <= nb {\n\t\t// Use unblocked code below.\n\t\ti = ilo\n\t} else {\n\t\t// Use blocked code.\n\t\tbi := blas64.Implementation()\n\t\tiwt := n * nb // Size of the matrix Y and index where the matrix T starts in work.\n\t\tfor i = ilo; i < ihi-nx; i += nb {\n\t\t\tib := min(nb, ihi-i)\n\n\t\t\t// Reduce columns [i:i+ib] to Hessenberg form, returning the\n\t\t\t// matrices V and T of the block reflector H = I - V*T*V^T\n\t\t\t// which performs the reduction, and also the matrix Y = A*V*T.\n\t\t\timpl.Dlahr2(ihi+1, i+1, ib, a[i:], lda, tau[i:], work[iwt:], ldt, work, ldwork)\n\n\t\t\t// Apply the block reflector H to A[:ihi+1,i+ib:ihi+1] from the\n\t\t\t// right, computing  A := A - Y * V^T. V[i+ib,i+ib-1] must be set\n\t\t\t// to 1.\n\t\t\tei := a[(i+ib)*lda+i+ib-1]\n\t\t\ta[(i+ib)*lda+i+ib-1] = 1\n\t\t\tbi.Dgemm(blas.NoTrans, blas.Trans, ihi+1, ihi-i-ib+1, ib,\n\t\t\t\t-1, work, ldwork,\n\t\t\t\ta[(i+ib)*lda+i:], lda,\n\t\t\t\t1, a[i+ib:], lda)\n\t\t\ta[(i+ib)*lda+i+ib-1] = ei\n\n\t\t\t// Apply the block reflector H to A[0:i+1,i+1:i+ib-1] from the\n\t\t\t// right.\n\t\t\tbi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, i+1, ib-1,\n\t\t\t\t1, a[(i+1)*lda+i:], lda, work, ldwork)\n\t\t\tfor j := 0; j <= ib-2; j++ {\n\t\t\t\tbi.Daxpy(i+1, -1, work[j:], ldwork, a[i+j+1:], lda)\n\t\t\t}\n\n\t\t\t// Apply the block reflector H to A[i+1:ihi+1,i+ib:n] from the\n\t\t\t// left.\n\t\t\timpl.Dlarfb(blas.Left, blas.Trans, lapack.Forward, lapack.ColumnWise,\n\t\t\t\tihi-i, n-i-ib, ib,\n\t\t\t\ta[(i+1)*lda+i:], lda, work[iwt:], ldt, a[(i+1)*lda+i+ib:], lda, work, ldwork)\n\t\t}\n\t}\n\t// Use unblocked code to reduce the rest of the matrix.\n\timpl.Dgehd2(n, i, ihi, a, lda, tau, work)\n\twork[0] = float64(lwkopt)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgelq2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dgelq2 computes the LQ factorization of the m×n matrix A.\n//\n// In an LQ factorization, L is a lower triangular m×n matrix, and Q is an n×n\n// orthonormal matrix.\n//\n// a is modified to contain the information to construct L and Q.\n// The lower triangle of a contains the matrix L. The upper triangular elements\n// (not including the diagonal) contain the elementary reflectors. tau is modified\n// to contain the reflector scales. tau must have length of at least k = min(m,n)\n// and this function will panic otherwise.\n//\n// See Dgeqr2 for a description of the elementary reflectors and orthonormal\n// matrix Q. Q is constructed as a product of these elementary reflectors,\n// Q = H_{k-1} * ... * H_1 * H_0.\n//\n// work is temporary storage of length at least m and this function will panic otherwise.\n//\n// Dgelq2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dgelq2(m, n int, a []float64, lda int, tau, work []float64) {\n\tcheckMatrix(m, n, a, lda)\n\tk := min(m, n)\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tif len(work) < m {\n\t\tpanic(badWork)\n\t}\n\tfor i := 0; i < k; i++ {\n\t\ta[i*lda+i], tau[i] = impl.Dlarfg(n-i, a[i*lda+i], a[i*lda+min(i+1, n-1):], 1)\n\t\tif i < m-1 {\n\t\t\taii := a[i*lda+i]\n\t\t\ta[i*lda+i] = 1\n\t\t\timpl.Dlarf(blas.Right, m-i-1, n-i,\n\t\t\t\ta[i*lda+i:], 1,\n\t\t\t\ttau[i],\n\t\t\t\ta[(i+1)*lda+i:], lda,\n\t\t\t\twork)\n\t\t\ta[i*lda+i] = aii\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgelqf.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dgelqf computes the LQ factorization of the m×n matrix A using a blocked\n// algorithm. See the documentation for Dgelq2 for a description of the\n// parameters at entry and exit.\n//\n// work is temporary storage, and lwork specifies the usable memory length.\n// At minimum, lwork >= m, and this function will panic otherwise.\n// Dgelqf is a blocked LQ factorization, but the block size is limited\n// by the temporary space available. If lwork == -1, instead of performing Dgelqf,\n// the optimal work length will be stored into work[0].\n//\n// tau must have length at least min(m,n), and this function will panic otherwise.\nfunc (impl Implementation) Dgelqf(m, n int, a []float64, lda int, tau, work []float64, lwork int) {\n\tnb := impl.Ilaenv(1, \"DGELQF\", \" \", m, n, -1, -1)\n\tlworkopt := m * max(nb, 1)\n\tif lwork == -1 {\n\t\twork[0] = float64(lworkopt)\n\t\treturn\n\t}\n\tcheckMatrix(m, n, a, lda)\n\tif len(work) < lwork {\n\t\tpanic(shortWork)\n\t}\n\tif lwork < m {\n\t\tpanic(badWork)\n\t}\n\tk := min(m, n)\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tif k == 0 {\n\t\treturn\n\t}\n\t// Find the optimal blocking size based on the size of available memory\n\t// and optimal machine parameters.\n\tnbmin := 2\n\tvar nx int\n\tiws := m\n\tldwork := nb\n\tif nb > 1 && k > nb {\n\t\tnx = max(0, impl.Ilaenv(3, \"DGELQF\", \" \", m, n, -1, -1))\n\t\tif nx < k {\n\t\t\tiws = m * nb\n\t\t\tif lwork < iws {\n\t\t\t\tnb = lwork / m\n\t\t\t\tnbmin = max(2, impl.Ilaenv(2, \"DGELQF\", \" \", m, n, -1, -1))\n\t\t\t}\n\t\t}\n\t}\n\t// Computed blocked LQ factorization.\n\tvar i int\n\tif nb >= nbmin && nb < k && nx < k {\n\t\tfor i = 0; i < k-nx; i += nb {\n\t\t\tib := min(k-i, nb)\n\t\t\timpl.Dgelq2(ib, n-i, a[i*lda+i:], lda, tau[i:], work)\n\t\t\tif i+ib < m {\n\t\t\t\timpl.Dlarft(lapack.Forward, lapack.RowWise, n-i, ib,\n\t\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\t\ttau[i:],\n\t\t\t\t\twork, ldwork)\n\t\t\t\timpl.Dlarfb(blas.Right, blas.NoTrans, lapack.Forward, lapack.RowWise,\n\t\t\t\t\tm-i-ib, n-i, ib,\n\t\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\t\twork, ldwork,\n\t\t\t\t\ta[(i+ib)*lda+i:], lda,\n\t\t\t\t\twork[ib*ldwork:], ldwork)\n\t\t\t}\n\t\t}\n\t}\n\t// Perform unblocked LQ factorization on the remainder.\n\tif i < k {\n\t\timpl.Dgelq2(m-i, n-i, a[i*lda+i:], lda, tau[i:], work)\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgels.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dgels finds a minimum-norm solution based on the matrices A and B using the\n// QR or LQ factorization. Dgels returns false if the matrix\n// A is singular, and true if this solution was successfully found.\n//\n// The minimization problem solved depends on the input parameters.\n//\n//  1. If m >= n and trans == blas.NoTrans, Dgels finds X such that || A*X - B||_2\n//     is minimized.\n//  2. If m < n and trans == blas.NoTrans, Dgels finds the minimum norm solution of\n//     A * X = B.\n//  3. If m >= n and trans == blas.Trans, Dgels finds the minimum norm solution of\n//     A^T * X = B.\n//  4. If m < n and trans == blas.Trans, Dgels finds X such that || A*X - B||_2\n//     is minimized.\n// Note that the least-squares solutions (cases 1 and 3) perform the minimization\n// per column of B. This is not the same as finding the minimum-norm matrix.\n//\n// The matrix A is a general matrix of size m×n and is modified during this call.\n// The input matrix B is of size max(m,n)×nrhs, and serves two purposes. On entry,\n// the elements of b specify the input matrix B. B has size m×nrhs if\n// trans == blas.NoTrans, and n×nrhs if trans == blas.Trans. On exit, the\n// leading submatrix of b contains the solution vectors X. If trans == blas.NoTrans,\n// this submatrix is of size n×nrhs, and of size m×nrhs otherwise.\n//\n// work is temporary storage, and lwork specifies the usable memory length.\n// At minimum, lwork >= max(m,n) + max(m,n,nrhs), and this function will panic\n// otherwise. A longer work will enable blocked algorithms to be called.\n// In the special case that lwork == -1, work[0] will be set to the optimal working\n// length.\nfunc (impl Implementation) Dgels(trans blas.Transpose, m, n, nrhs int, a []float64, lda int, b []float64, ldb int, work []float64, lwork int) bool {\n\tnotran := trans == blas.NoTrans\n\tcheckMatrix(m, n, a, lda)\n\tmn := min(m, n)\n\tcheckMatrix(max(m, n), nrhs, b, ldb)\n\n\t// Find optimal block size.\n\ttpsd := true\n\tif notran {\n\t\ttpsd = false\n\t}\n\tvar nb int\n\tif m >= n {\n\t\tnb = impl.Ilaenv(1, \"DGEQRF\", \" \", m, n, -1, -1)\n\t\tif tpsd {\n\t\t\tnb = max(nb, impl.Ilaenv(1, \"DORMQR\", \"LN\", m, nrhs, n, -1))\n\t\t} else {\n\t\t\tnb = max(nb, impl.Ilaenv(1, \"DORMQR\", \"LT\", m, nrhs, n, -1))\n\t\t}\n\t} else {\n\t\tnb = impl.Ilaenv(1, \"DGELQF\", \" \", m, n, -1, -1)\n\t\tif tpsd {\n\t\t\tnb = max(nb, impl.Ilaenv(1, \"DORMLQ\", \"LT\", n, nrhs, m, -1))\n\t\t} else {\n\t\t\tnb = max(nb, impl.Ilaenv(1, \"DORMLQ\", \"LN\", n, nrhs, m, -1))\n\t\t}\n\t}\n\tif lwork == -1 {\n\t\twork[0] = float64(max(1, mn+max(mn, nrhs)*nb))\n\t\treturn true\n\t}\n\n\tif len(work) < lwork {\n\t\tpanic(shortWork)\n\t}\n\tif lwork < mn+max(mn, nrhs) {\n\t\tpanic(badWork)\n\t}\n\tif m == 0 || n == 0 || nrhs == 0 {\n\t\timpl.Dlaset(blas.All, max(m, n), nrhs, 0, 0, b, ldb)\n\t\treturn true\n\t}\n\n\t// Scale the input matrices if they contain extreme values.\n\tsmlnum := dlamchS / dlamchP\n\tbignum := 1 / smlnum\n\tanrm := impl.Dlange(lapack.MaxAbs, m, n, a, lda, nil)\n\tvar iascl int\n\tif anrm > 0 && anrm < smlnum {\n\t\timpl.Dlascl(lapack.General, 0, 0, anrm, smlnum, m, n, a, lda)\n\t\tiascl = 1\n\t} else if anrm > bignum {\n\t\timpl.Dlascl(lapack.General, 0, 0, anrm, bignum, m, n, a, lda)\n\t} else if anrm == 0 {\n\t\t// Matrix is all zeros.\n\t\timpl.Dlaset(blas.All, max(m, n), nrhs, 0, 0, b, ldb)\n\t\treturn true\n\t}\n\tbrow := m\n\tif tpsd {\n\t\tbrow = n\n\t}\n\tbnrm := impl.Dlange(lapack.MaxAbs, brow, nrhs, b, ldb, nil)\n\tibscl := 0\n\tif bnrm > 0 && bnrm < smlnum {\n\t\timpl.Dlascl(lapack.General, 0, 0, bnrm, smlnum, brow, nrhs, b, ldb)\n\t\tibscl = 1\n\t} else if bnrm > bignum {\n\t\timpl.Dlascl(lapack.General, 0, 0, bnrm, bignum, brow, nrhs, b, ldb)\n\t\tibscl = 2\n\t}\n\n\t// Solve the minimization problem using a QR or an LQ decomposition.\n\tvar scllen int\n\tif m >= n {\n\t\timpl.Dgeqrf(m, n, a, lda, work, work[mn:], lwork-mn)\n\t\tif !tpsd {\n\t\t\timpl.Dormqr(blas.Left, blas.Trans, m, nrhs, n,\n\t\t\t\ta, lda,\n\t\t\t\twork[:n],\n\t\t\t\tb, ldb,\n\t\t\t\twork[mn:], lwork-mn)\n\t\t\tok := impl.Dtrtrs(blas.Upper, blas.NoTrans, blas.NonUnit, n, nrhs,\n\t\t\t\ta, lda,\n\t\t\t\tb, ldb)\n\t\t\tif !ok {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tscllen = n\n\t\t} else {\n\t\t\tok := impl.Dtrtrs(blas.Upper, blas.Trans, blas.NonUnit, n, nrhs,\n\t\t\t\ta, lda,\n\t\t\t\tb, ldb)\n\t\t\tif !ok {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tfor i := n; i < m; i++ {\n\t\t\t\tfor j := 0; j < nrhs; j++ {\n\t\t\t\t\tb[i*ldb+j] = 0\n\t\t\t\t}\n\t\t\t}\n\t\t\timpl.Dormqr(blas.Left, blas.NoTrans, m, nrhs, n,\n\t\t\t\ta, lda,\n\t\t\t\twork[:n],\n\t\t\t\tb, ldb,\n\t\t\t\twork[mn:], lwork-mn)\n\t\t\tscllen = m\n\t\t}\n\t} else {\n\t\timpl.Dgelqf(m, n, a, lda, work, work[mn:], lwork-mn)\n\t\tif !tpsd {\n\t\t\tok := impl.Dtrtrs(blas.Lower, blas.NoTrans, blas.NonUnit,\n\t\t\t\tm, nrhs,\n\t\t\t\ta, lda,\n\t\t\t\tb, ldb)\n\t\t\tif !ok {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tfor i := m; i < n; i++ {\n\t\t\t\tfor j := 0; j < nrhs; j++ {\n\t\t\t\t\tb[i*ldb+j] = 0\n\t\t\t\t}\n\t\t\t}\n\t\t\timpl.Dormlq(blas.Left, blas.Trans, n, nrhs, m,\n\t\t\t\ta, lda,\n\t\t\t\twork,\n\t\t\t\tb, ldb,\n\t\t\t\twork[mn:], lwork-mn)\n\t\t\tscllen = n\n\t\t} else {\n\t\t\timpl.Dormlq(blas.Left, blas.NoTrans, n, nrhs, m,\n\t\t\t\ta, lda,\n\t\t\t\twork,\n\t\t\t\tb, ldb,\n\t\t\t\twork[mn:], lwork-mn)\n\t\t\tok := impl.Dtrtrs(blas.Lower, blas.Trans, blas.NonUnit,\n\t\t\t\tm, nrhs,\n\t\t\t\ta, lda,\n\t\t\t\tb, ldb)\n\t\t\tif !ok {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\n\t// Adjust answer vector based on scaling.\n\tif iascl == 1 {\n\t\timpl.Dlascl(lapack.General, 0, 0, anrm, smlnum, scllen, nrhs, b, ldb)\n\t}\n\tif iascl == 2 {\n\t\timpl.Dlascl(lapack.General, 0, 0, anrm, bignum, scllen, nrhs, b, ldb)\n\t}\n\tif ibscl == 1 {\n\t\timpl.Dlascl(lapack.General, 0, 0, smlnum, bnrm, scllen, nrhs, b, ldb)\n\t}\n\tif ibscl == 2 {\n\t\timpl.Dlascl(lapack.General, 0, 0, bignum, bnrm, scllen, nrhs, b, ldb)\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgeql2.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dgeql2 computes the QL factorization of the m×n matrix A. That is, Dgeql2\n// computes Q and L such that\n//  A = Q * L\n// where Q is an m×m orthonormal matrix and L is a lower trapezoidal matrix.\n//\n// Q is represented as a product of elementary reflectors,\n//  Q = H_{k-1} * ... * H_1 * H_0\n// where k = min(m,n) and each H_i has the form\n//  H_i = I - tau[i] * v_i * v_i^T\n// Vector v_i has v[m-k+i+1:m] = 0, v[m-k+i] = 1, and v[:m-k+i+1] is stored on\n// exit in A[0:m-k+i-1, n-k+i].\n//\n// tau must have length at least min(m,n), and Dgeql2 will panic otherwise.\n//\n// work is temporary memory storage and must have length at least n.\n//\n// Dgeql2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dgeql2(m, n int, a []float64, lda int, tau, work []float64) {\n\tcheckMatrix(m, n, a, lda)\n\tif len(tau) < min(m, n) {\n\t\tpanic(badTau)\n\t}\n\tif len(work) < n {\n\t\tpanic(badWork)\n\t}\n\tk := min(m, n)\n\tvar aii float64\n\tfor i := k - 1; i >= 0; i-- {\n\t\t// Generate elementary reflector H_i to annihilate A[0:m-k+i-1, n-k+i].\n\t\taii, tau[i] = impl.Dlarfg(m-k+i+1, a[(m-k+i)*lda+n-k+i], a[n-k+i:], lda)\n\n\t\t// Apply H_i to A[0:m-k+i, 0:n-k+i-1] from the left.\n\t\ta[(m-k+i)*lda+n-k+i] = 1\n\t\timpl.Dlarf(blas.Left, m-k+i+1, n-k+i, a[n-k+i:], lda, tau[i], a, lda, work)\n\t\ta[(m-k+i)*lda+n-k+i] = aii\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgeqp3.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dgeqp3 computes a QR factorization with column pivoting of the\n// m×n matrix A: A*P = Q*R using Level 3 BLAS.\n//\n// The matrix Q is represented as a product of elementary reflectors\n//  Q = H_0 H_1 . . . H_{k-1}, where k = min(m,n).\n// Each H_i has the form\n//  H_i = I - tau * v * v^T\n// where tau and v are real vectors with v[0:i-1] = 0 and v[i] = 1;\n// v[i:m] is stored on exit in A[i:m, i], and tau in tau[i].\n//\n// jpvt specifies a column pivot to be applied to A. If\n// jpvt[j] is at least zero, the jth column of A is permuted\n// to the front of A*P (a leading column), if jpvt[j] is -1\n// the jth column of A is a free column. If jpvt[j] < -1, Dgeqp3\n// will panic. On return, jpvt holds the permutation that was\n// applied; the jth column of A*P was the jpvt[j] column of A.\n// jpvt must have length n or Dgeqp3 will panic.\n//\n// tau holds the scalar factors of the elementary reflectors.\n// It must have length min(m, n), otherwise Dgeqp3 will panic.\n//\n// work must have length at least max(1,lwork), and lwork must be at least\n// 3*n+1, otherwise Dgeqp3 will panic. For optimal performance lwork must\n// be at least 2*n+(n+1)*nb, where nb is the optimal blocksize. On return,\n// work[0] will contain the optimal value of lwork.\n//\n// If lwork == -1, instead of performing Dgeqp3, only the optimal value of lwork\n// will be stored in work[0].\n//\n// Dgeqp3 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dgeqp3(m, n int, a []float64, lda int, jpvt []int, tau, work []float64, lwork int) {\n\tconst (\n\t\tinb    = 1\n\t\tinbmin = 2\n\t\tixover = 3\n\t)\n\tcheckMatrix(m, n, a, lda)\n\n\tif len(jpvt) != n {\n\t\tpanic(badIpiv)\n\t}\n\tfor _, v := range jpvt {\n\t\tif v < -1 || n <= v {\n\t\t\tpanic(\"lapack: jpvt element out of range\")\n\t\t}\n\t}\n\tminmn := min(m, n)\n\tif len(work) < max(1, lwork) {\n\t\tpanic(badWork)\n\t}\n\n\tvar iws, lwkopt, nb int\n\tif minmn == 0 {\n\t\tiws = 1\n\t\tlwkopt = 1\n\t} else {\n\t\tiws = 3*n + 1\n\t\tnb = impl.Ilaenv(inb, \"DGEQRF\", \" \", m, n, -1, -1)\n\t\tlwkopt = 2*n + (n+1)*nb\n\t}\n\twork[0] = float64(lwkopt)\n\n\tif lwork == -1 {\n\t\treturn\n\t}\n\n\tif len(tau) < minmn {\n\t\tpanic(badTau)\n\t}\n\n\tbi := blas64.Implementation()\n\n\t// Move initial columns up front.\n\tvar nfxd int\n\tfor j := 0; j < n; j++ {\n\t\tif jpvt[j] == -1 {\n\t\t\tjpvt[j] = j\n\t\t\tcontinue\n\t\t}\n\t\tif j != nfxd {\n\t\t\tbi.Dswap(m, a[j:], lda, a[nfxd:], lda)\n\t\t\tjpvt[j], jpvt[nfxd] = jpvt[nfxd], j\n\t\t} else {\n\t\t\tjpvt[j] = j\n\t\t}\n\t\tnfxd++\n\t}\n\n\t// Factorize nfxd columns.\n\t//\n\t// Compute the QR factorization of nfxd columns and update remaining columns.\n\tif nfxd > 0 {\n\t\tna := min(m, nfxd)\n\t\timpl.Dgeqrf(m, na, a, lda, tau, work, lwork)\n\t\tiws = max(iws, int(work[0]))\n\t\tif na < n {\n\t\t\timpl.Dormqr(blas.Left, blas.Trans, m, n-na, na, a, lda, tau[:na], a[na:], lda,\n\t\t\t\twork, lwork)\n\t\t\tiws = max(iws, int(work[0]))\n\t\t}\n\t}\n\n\tif nfxd >= minmn {\n\t\twork[0] = float64(iws)\n\t\treturn\n\t}\n\n\t// Factorize free columns.\n\tsm := m - nfxd\n\tsn := n - nfxd\n\tsminmn := minmn - nfxd\n\n\t// Determine the block size.\n\tnb = impl.Ilaenv(inb, \"DGEQRF\", \" \", sm, sn, -1, -1)\n\tnbmin := 2\n\tnx := 0\n\n\tif 1 < nb && nb < sminmn {\n\t\t// Determine when to cross over from blocked to unblocked code.\n\t\tnx = max(0, impl.Ilaenv(ixover, \"DGEQRF\", \" \", sm, sn, -1, -1))\n\n\t\tif nx < sminmn {\n\t\t\t// Determine if workspace is large enough for blocked code.\n\t\t\tminws := 2*sn + (sn+1)*nb\n\t\t\tiws = max(iws, minws)\n\t\t\tif lwork < minws {\n\t\t\t\t// Not enough workspace to use optimal nb. Reduce\n\t\t\t\t// nb and determine the minimum value of nb.\n\t\t\t\tnb = (lwork - 2*sn) / (sn + 1)\n\t\t\t\tnbmin = max(2, impl.Ilaenv(inbmin, \"DGEQRF\", \" \", sm, sn, -1, -1))\n\t\t\t}\n\t\t}\n\t}\n\n\t// Initialize partial column norms.\n\t// The first n elements of work store the exact column norms.\n\tfor j := nfxd; j < n; j++ {\n\t\twork[j] = bi.Dnrm2(sm, a[nfxd*lda+j:], lda)\n\t\twork[n+j] = work[j]\n\t}\n\tj := nfxd\n\tif nbmin <= nb && nb < sminmn && nx < sminmn {\n\t\t// Use blocked code initially.\n\n\t\t// Compute factorization.\n\t\tvar fjb int\n\t\tfor topbmn := minmn - nx; j < topbmn; j += fjb {\n\t\t\tjb := min(nb, topbmn-j)\n\n\t\t\t// Factorize jb columns among columns j:n.\n\t\t\tfjb = impl.Dlaqps(m, n-j, j, jb, a[j:], lda, jpvt[j:], tau[j:],\n\t\t\t\twork[j:n], work[j+n:2*n], work[2*n:2*n+jb], work[2*n+jb:], jb)\n\t\t}\n\t}\n\n\t// Use unblocked code to factor the last or only block.\n\tif j < minmn {\n\t\timpl.Dlaqp2(m, n-j, j, a[j:], lda, jpvt[j:], tau[j:],\n\t\t\twork[j:n], work[j+n:2*n], work[2*n:])\n\t}\n\n\twork[0] = float64(iws)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgeqr2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dgeqr2 computes a QR factorization of the m×n matrix A.\n//\n// In a QR factorization, Q is an m×m orthonormal matrix, and R is an\n// upper triangular m×n matrix.\n//\n// A is modified to contain the information to construct Q and R.\n// The upper triangle of a contains the matrix R. The lower triangular elements\n// (not including the diagonal) contain the elementary reflectors. tau is modified\n// to contain the reflector scales. tau must have length at least min(m,n), and\n// this function will panic otherwise.\n//\n// The ith elementary reflector can be explicitly constructed by first extracting\n// the\n//  v[j] = 0           j < i\n//  v[j] = 1           j == i\n//  v[j] = a[j*lda+i]  j > i\n// and computing H_i = I - tau[i] * v * v^T.\n//\n// The orthonormal matrix Q can be constructed from a product of these elementary\n// reflectors, Q = H_0 * H_1 * ... * H_{k-1}, where k = min(m,n).\n//\n// work is temporary storage of length at least n and this function will panic otherwise.\n//\n// Dgeqr2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dgeqr2(m, n int, a []float64, lda int, tau, work []float64) {\n\t// TODO(btracey): This is oriented such that columns of a are eliminated.\n\t// This likely could be re-arranged to take better advantage of row-major\n\t// storage.\n\tcheckMatrix(m, n, a, lda)\n\tif len(work) < n {\n\t\tpanic(badWork)\n\t}\n\tk := min(m, n)\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tfor i := 0; i < k; i++ {\n\t\t// Generate elementary reflector H_i.\n\t\ta[i*lda+i], tau[i] = impl.Dlarfg(m-i, a[i*lda+i], a[min((i+1), m-1)*lda+i:], lda)\n\t\tif i < n-1 {\n\t\t\taii := a[i*lda+i]\n\t\t\ta[i*lda+i] = 1\n\t\t\timpl.Dlarf(blas.Left, m-i, n-i-1,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\ttau[i],\n\t\t\t\ta[i*lda+i+1:], lda,\n\t\t\t\twork)\n\t\t\ta[i*lda+i] = aii\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgeqrf.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dgeqrf computes the QR factorization of the m×n matrix A using a blocked\n// algorithm. See the documentation for Dgeqr2 for a description of the\n// parameters at entry and exit.\n//\n// work is temporary storage, and lwork specifies the usable memory length.\n// The length of work must be at least max(1, lwork) and lwork must be -1\n// or at least n, otherwise this function will panic.\n// Dgeqrf is a blocked QR factorization, but the block size is limited\n// by the temporary space available. If lwork == -1, instead of performing Dgeqrf,\n// the optimal work length will be stored into work[0].\n//\n// tau must have length at least min(m,n), and this function will panic otherwise.\nfunc (impl Implementation) Dgeqrf(m, n int, a []float64, lda int, tau, work []float64, lwork int) {\n\tif len(work) < max(1, lwork) {\n\t\tpanic(shortWork)\n\t}\n\t// nb is the optimal blocksize, i.e. the number of columns transformed at a time.\n\tnb := impl.Ilaenv(1, \"DGEQRF\", \" \", m, n, -1, -1)\n\tlworkopt := n * max(nb, 1)\n\tlworkopt = max(n, lworkopt)\n\tif lwork == -1 {\n\t\twork[0] = float64(lworkopt)\n\t\treturn\n\t}\n\tcheckMatrix(m, n, a, lda)\n\tif lwork < n {\n\t\tpanic(badWork)\n\t}\n\tk := min(m, n)\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tif k == 0 {\n\t\twork[0] = float64(lworkopt)\n\t\treturn\n\t}\n\tnbmin := 2 // Minimal block size.\n\tvar nx int // Use unblocked (unless changed in the next for loop)\n\tiws := n\n\tldwork := nb\n\t// Only consider blocked if the suggested block size is > 1 and the\n\t// number of rows or columns is sufficiently large.\n\tif 1 < nb && nb < k {\n\t\t// nx is the block size at which the code switches from blocked\n\t\t// to unblocked.\n\t\tnx = max(0, impl.Ilaenv(3, \"DGEQRF\", \" \", m, n, -1, -1))\n\t\tif k > nx {\n\t\t\tiws = ldwork * n\n\t\t\tif lwork < iws {\n\t\t\t\t// Not enough workspace to use the optimal block\n\t\t\t\t// size. Get the minimum block size instead.\n\t\t\t\tnb = lwork / n\n\t\t\t\tnbmin = max(2, impl.Ilaenv(2, \"DGEQRF\", \" \", m, n, -1, -1))\n\t\t\t}\n\t\t}\n\t}\n\tfor i := range work {\n\t\twork[i] = 0\n\t}\n\t// Compute QR using a blocked algorithm.\n\tvar i int\n\tif nbmin <= nb && nb < k && nx < k {\n\t\tfor i = 0; i < k-nx; i += nb {\n\t\t\tib := min(k-i, nb)\n\t\t\t// Compute the QR factorization of the current block.\n\t\t\timpl.Dgeqr2(m-i, ib, a[i*lda+i:], lda, tau[i:], work)\n\t\t\tif i+ib < n {\n\t\t\t\t// Form the triangular factor of the block reflector and apply H^T\n\t\t\t\t// In Dlarft, work becomes the T matrix.\n\t\t\t\timpl.Dlarft(lapack.Forward, lapack.ColumnWise, m-i, ib,\n\t\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\t\ttau[i:],\n\t\t\t\t\twork, ldwork)\n\t\t\t\timpl.Dlarfb(blas.Left, blas.Trans, lapack.Forward, lapack.ColumnWise,\n\t\t\t\t\tm-i, n-i-ib, ib,\n\t\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\t\twork, ldwork,\n\t\t\t\t\ta[i*lda+i+ib:], lda,\n\t\t\t\t\twork[ib*ldwork:], ldwork)\n\t\t\t}\n\t\t}\n\t}\n\t// Call unblocked code on the remaining columns.\n\tif i < k {\n\t\timpl.Dgeqr2(m-i, n-i, a[i*lda+i:], lda, tau[i:], work)\n\t}\n\twork[0] = float64(lworkopt)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgerq2.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dgerq2 computes an RQ factorization of the m×n matrix A,\n//  A = R * Q.\n// On exit, if m <= n, the upper triangle of the subarray\n// A[0:m, n-m:n] contains the m×m upper triangular matrix R.\n// If m >= n, the elements on and above the (m-n)-th subdiagonal\n// contain the m×n upper trapezoidal matrix R.\n// The remaining elements, with tau, represent the\n// orthogonal matrix Q as a product of min(m,n) elementary\n// reflectors.\n//\n// The matrix Q is represented as a product of elementary reflectors\n//  Q = H_0 H_1 . . . H_{min(m,n)-1}.\n// Each H(i) has the form\n//  H_i = I - tau_i * v * v^T\n// where v is a vector with v[0:n-k+i-1] stored in A[m-k+i, 0:n-k+i-1],\n// v[n-k+i:n] = 0 and v[n-k+i] = 1.\n//\n// tau must have length min(m,n) and work must have length m, otherwise\n// Dgerq2 will panic.\n//\n// Dgerq2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dgerq2(m, n int, a []float64, lda int, tau, work []float64) {\n\tcheckMatrix(m, n, a, lda)\n\tk := min(m, n)\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tif len(work) < m {\n\t\tpanic(badWork)\n\t}\n\n\tfor i := k - 1; i >= 0; i-- {\n\t\t// Generate elementary reflector H[i] to annihilate\n\t\t// A[m-k+i, 0:n-k+i-1].\n\t\tmki := m - k + i\n\t\tnki := n - k + i\n\t\tvar aii float64\n\t\taii, tau[i] = impl.Dlarfg(nki+1, a[mki*lda+nki], a[mki*lda:], 1)\n\n\t\t// Apply H[i] to A[0:m-k+i-1, 0:n-k+i] from the right.\n\t\ta[mki*lda+nki] = 1\n\t\timpl.Dlarf(blas.Right, mki, nki+1, a[mki*lda:], 1, tau[i], a, lda, work)\n\t\ta[mki*lda+nki] = aii\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgerqf.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dgerqf computes an RQ factorization of the m×n matrix A,\n//  A = R * Q.\n// On exit, if m <= n, the upper triangle of the subarray\n// A[0:m, n-m:n] contains the m×m upper triangular matrix R.\n// If m >= n, the elements on and above the (m-n)-th subdiagonal\n// contain the m×n upper trapezoidal matrix R.\n// The remaining elements, with tau, represent the\n// orthogonal matrix Q as a product of min(m,n) elementary\n// reflectors.\n//\n// The matrix Q is represented as a product of elementary reflectors\n//  Q = H_0 H_1 . . . H_{min(m,n)-1}.\n// Each H(i) has the form\n//  H_i = I - tau_i * v * v^T\n// where v is a vector with v[0:n-k+i-1] stored in A[m-k+i, 0:n-k+i-1],\n// v[n-k+i:n] = 0 and v[n-k+i] = 1.\n//\n// tau must have length min(m,n), work must have length max(1, lwork),\n// and lwork must be -1 or at least max(1, m), otherwise Dgerqf will panic.\n// On exit, work[0] will contain the optimal length for work.\n//\n// Dgerqf is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dgerqf(m, n int, a []float64, lda int, tau, work []float64, lwork int) {\n\tcheckMatrix(m, n, a, lda)\n\n\tif len(work) < max(1, lwork) {\n\t\tpanic(shortWork)\n\t}\n\tif lwork != -1 && lwork < max(1, m) {\n\t\tpanic(badWork)\n\t}\n\n\tk := min(m, n)\n\tif len(tau) != k {\n\t\tpanic(badTau)\n\t}\n\n\tvar nb, lwkopt int\n\tif k == 0 {\n\t\tlwkopt = 1\n\t} else {\n\t\tnb = impl.Ilaenv(1, \"DGERQF\", \" \", m, n, -1, -1)\n\t\tlwkopt = m * nb\n\t}\n\twork[0] = float64(lwkopt)\n\n\tif lwork == -1 {\n\t\treturn\n\t}\n\n\t// Return quickly if possible.\n\tif k == 0 {\n\t\treturn\n\t}\n\n\tnbmin := 2\n\tnx := 1\n\tiws := m\n\tvar ldwork int\n\tif 1 < nb && nb < k {\n\t\t// Determine when to cross over from blocked to unblocked code.\n\t\tnx = max(0, impl.Ilaenv(3, \"DGERQF\", \" \", m, n, -1, -1))\n\t\tif nx < k {\n\t\t\t// Determine whether workspace is large enough for blocked code.\n\t\t\tiws = m * nb\n\t\t\tif lwork < iws {\n\t\t\t\t// Not enough workspace to use optimal nb. Reduce\n\t\t\t\t// nb and determine the minimum value of nb.\n\t\t\t\tnb = lwork / m\n\t\t\t\tnbmin = max(2, impl.Ilaenv(2, \"DGERQF\", \" \", m, n, -1, -1))\n\t\t\t}\n\t\t\tldwork = nb\n\t\t}\n\t}\n\n\tvar mu, nu int\n\tif nbmin <= nb && nb < k && nx < k {\n\t\t// Use blocked code initially.\n\t\t// The last kk rows are handled by the block method.\n\t\tki := ((k - nx - 1) / nb) * nb\n\t\tkk := min(k, ki+nb)\n\n\t\tvar i int\n\t\tfor i = k - kk + ki; i >= k-kk; i -= nb {\n\t\t\tib := min(k-i, nb)\n\n\t\t\t// Compute the RQ factorization of the current block\n\t\t\t// A[m-k+i:m-k+i+ib-1, 0:n-k+i+ib-1].\n\t\t\timpl.Dgerq2(ib, n-k+i+ib, a[(m-k+i)*lda:], lda, tau[i:], work)\n\t\t\tif m-k+i > 0 {\n\t\t\t\t// Form the triangular factor of the block reflector\n\t\t\t\t// H = H_{i+ib-1} . . . H_{i+1} H_i.\n\t\t\t\timpl.Dlarft(lapack.Backward, lapack.RowWise,\n\t\t\t\t\tn-k+i+ib, ib, a[(m-k+i)*lda:], lda, tau[i:],\n\t\t\t\t\twork, ldwork)\n\n\t\t\t\t// Apply H to A[0:m-k+i-1, 0:n-k+i+ib-1] from the right.\n\t\t\t\timpl.Dlarfb(blas.Right, blas.NoTrans, lapack.Backward, lapack.RowWise,\n\t\t\t\t\tm-k+i, n-k+i+ib, ib, a[(m-k+i)*lda:], lda,\n\t\t\t\t\twork, ldwork,\n\t\t\t\t\ta, lda,\n\t\t\t\t\twork[ib*ldwork:], ldwork)\n\t\t\t}\n\t\t}\n\t\tmu = m - k + i + nb\n\t\tnu = n - k + i + nb\n\t} else {\n\t\tmu = m\n\t\tnu = n\n\t}\n\n\t// Use unblocked code to factor the last or only block.\n\tif mu > 0 && nu > 0 {\n\t\timpl.Dgerq2(mu, nu, a, lda, tau, work)\n\t}\n\twork[0] = float64(iws)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgesvd.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\nconst noSVDO = \"dgesvd: not coded for overwrite\"\n\n// Dgesvd computes the singular value decomposition of the input matrix A.\n//\n// The singular value decomposition is\n//  A = U * Sigma * V^T\n// where Sigma is an m×n diagonal matrix containing the singular values of A,\n// U is an m×m orthogonal matrix and V is an n×n orthogonal matrix. The first\n// min(m,n) columns of U and V are the left and right singular vectors of A\n// respectively.\n//\n// jobU and jobVT are options for computing the singular vectors. The behavior\n// is as follows\n//  jobU == lapack.SVDAll       All m columns of U are returned in u\n//  jobU == lapack.SVDInPlace   The first min(m,n) columns are returned in u\n//  jobU == lapack.SVDOverwrite The first min(m,n) columns of U are written into a\n//  jobU == lapack.SVDNone      The columns of U are not computed.\n// The behavior is the same for jobVT and the rows of V^T. At most one of jobU\n// and jobVT can equal lapack.SVDOverwrite, and Dgesvd will panic otherwise.\n//\n// On entry, a contains the data for the m×n matrix A. During the call to Dgesvd\n// the data is overwritten. On exit, A contains the appropriate singular vectors\n// if either job is lapack.SVDOverwrite.\n//\n// s is a slice of length at least min(m,n) and on exit contains the singular\n// values in decreasing order.\n//\n// u contains the left singular vectors on exit, stored column-wise. If\n// jobU == lapack.SVDAll, u is of size m×m. If jobU == lapack.SVDInPlace u is\n// of size m×min(m,n). If jobU == lapack.SVDOverwrite or lapack.SVDNone, u is\n// not used.\n//\n// vt contains the left singular vectors on exit, stored row-wise. If\n// jobV == lapack.SVDAll, vt is of size n×m. If jobVT == lapack.SVDInPlace vt is\n// of size min(m,n)×n. If jobVT == lapack.SVDOverwrite or lapack.SVDNone, vt is\n// not used.\n//\n// work is a slice for storing temporary memory, and lwork is the usable size of\n// the slice. lwork must be at least max(5*min(m,n), 3*min(m,n)+max(m,n)).\n// If lwork == -1, instead of performing Dgesvd, the optimal work length will be\n// stored into work[0]. Dgesvd will panic if the working memory has insufficient\n// storage.\n//\n// Dgesvd returns whether the decomposition successfully completed.\nfunc (impl Implementation) Dgesvd(jobU, jobVT lapack.SVDJob, m, n int, a []float64, lda int, s, u []float64, ldu int, vt []float64, ldvt int, work []float64, lwork int) (ok bool) {\n\tminmn := min(m, n)\n\tcheckMatrix(m, n, a, lda)\n\tif jobU == lapack.SVDAll {\n\t\tcheckMatrix(m, m, u, ldu)\n\t} else if jobU == lapack.SVDInPlace {\n\t\tcheckMatrix(m, minmn, u, ldu)\n\t}\n\tif jobVT == lapack.SVDAll {\n\t\tcheckMatrix(n, n, vt, ldvt)\n\t} else if jobVT == lapack.SVDInPlace {\n\t\tcheckMatrix(minmn, n, vt, ldvt)\n\t}\n\tif jobU == lapack.SVDOverwrite && jobVT == lapack.SVDOverwrite {\n\t\tpanic(\"lapack: both jobU and jobVT are lapack.SVDOverwrite\")\n\t}\n\tif len(s) < minmn {\n\t\tpanic(badS)\n\t}\n\tif jobU == lapack.SVDOverwrite || jobVT == lapack.SVDOverwrite {\n\t\tpanic(noSVDO)\n\t}\n\tif m == 0 || n == 0 {\n\t\treturn true\n\t}\n\n\twantua := jobU == lapack.SVDAll\n\twantus := jobU == lapack.SVDInPlace\n\twantuas := wantua || wantus\n\twantuo := jobU == lapack.SVDOverwrite\n\twantun := jobU == lapack.None\n\n\twantva := jobVT == lapack.SVDAll\n\twantvs := jobVT == lapack.SVDInPlace\n\twantvas := wantva || wantvs\n\twantvo := jobVT == lapack.SVDOverwrite\n\twantvn := jobVT == lapack.None\n\n\tbi := blas64.Implementation()\n\tvar mnthr int\n\n\t// Compute optimal space for subroutines.\n\tmaxwrk := 1\n\topts := string(jobU) + string(jobVT)\n\tvar wrkbl, bdspac int\n\tif m >= n {\n\t\tmnthr = impl.Ilaenv(6, \"DGESVD\", opts, m, n, 0, 0)\n\t\tbdspac = 5 * n\n\t\timpl.Dgeqrf(m, n, a, lda, nil, work, -1)\n\t\tlwork_dgeqrf := int(work[0])\n\t\timpl.Dorgqr(m, n, n, a, lda, nil, work, -1)\n\t\tlwork_dorgqr_n := int(work[0])\n\t\timpl.Dorgqr(m, m, n, a, lda, nil, work, -1)\n\t\tlwork_dorgqr_m := int(work[0])\n\t\timpl.Dgebrd(n, n, a, lda, s, nil, nil, nil, work, -1)\n\t\tlwork_dgebrd := int(work[0])\n\t\timpl.Dorgbr(lapack.ApplyP, n, n, n, a, lda, nil, work, -1)\n\t\tlwork_dorgbr_p := int(work[0])\n\t\timpl.Dorgbr(lapack.ApplyQ, n, n, n, a, lda, nil, work, -1)\n\t\tlwork_dorgbr_q := int(work[0])\n\n\t\tif m >= mnthr {\n\t\t\t// m >> n\n\t\t\tif wantun {\n\t\t\t\t// Path 1\n\t\t\t\tmaxwrk = n + lwork_dgeqrf\n\t\t\t\tmaxwrk = max(maxwrk, 3*n+lwork_dgebrd)\n\t\t\t\tif wantvo || wantvas {\n\t\t\t\t\tmaxwrk = max(maxwrk, 3*n+lwork_dorgbr_p)\n\t\t\t\t}\n\t\t\t\tmaxwrk = max(maxwrk, bdspac)\n\t\t\t} else if wantuo && wantvn {\n\t\t\t\t// Path 2\n\t\t\t\twrkbl = n + lwork_dgeqrf\n\t\t\t\twrkbl = max(wrkbl, n+lwork_dorgqr_n)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = max(n*n+wrkbl, n*n+m*n+n)\n\t\t\t} else if wantuo && wantvs {\n\t\t\t\t// Path 3\n\t\t\t\twrkbl = n + lwork_dgeqrf\n\t\t\t\twrkbl = max(wrkbl, n+lwork_dorgqr_n)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = max(n*n+wrkbl, n*n+m*n+n)\n\t\t\t} else if wantus && wantvn {\n\t\t\t\t// Path 4\n\t\t\t\twrkbl = n + lwork_dgeqrf\n\t\t\t\twrkbl = max(wrkbl, n+lwork_dorgqr_n)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = n*n + wrkbl\n\t\t\t} else if wantus && wantvo {\n\t\t\t\t// Path 5\n\t\t\t\twrkbl = n + lwork_dgeqrf\n\t\t\t\twrkbl = max(wrkbl, n+lwork_dorgqr_n)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = 2*n*n + wrkbl\n\t\t\t} else if wantus && wantvas {\n\t\t\t\t// Path 6\n\t\t\t\twrkbl = n + lwork_dgeqrf\n\t\t\t\twrkbl = max(wrkbl, n+lwork_dorgqr_n)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = n*n + wrkbl\n\t\t\t} else if wantua && wantvn {\n\t\t\t\t// Path 7\n\t\t\t\twrkbl = n + lwork_dgeqrf\n\t\t\t\twrkbl = max(wrkbl, n+lwork_dorgqr_m)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = n*n + wrkbl\n\t\t\t} else if wantua && wantvo {\n\t\t\t\t// Path 8\n\t\t\t\twrkbl = n + lwork_dgeqrf\n\t\t\t\twrkbl = max(wrkbl, n+lwork_dorgqr_m)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = 2*n*n + wrkbl\n\t\t\t} else if wantua && wantvas {\n\t\t\t\t// Path 9\n\t\t\t\twrkbl = n + lwork_dgeqrf\n\t\t\t\twrkbl = max(wrkbl, n+lwork_dorgqr_m)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, 3*n+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = n*n + wrkbl\n\t\t\t}\n\t\t} else {\n\t\t\t// Path 10: m > n\n\t\t\timpl.Dgebrd(m, n, a, lda, s, nil, nil, nil, work, -1)\n\t\t\tlwork_dgebrd := int(work[0])\n\t\t\tmaxwrk = 3*n + lwork_dgebrd\n\t\t\tif wantus || wantuo {\n\t\t\t\timpl.Dorgbr(lapack.ApplyQ, m, n, n, a, lda, nil, work, -1)\n\t\t\t\tlwork_dorgbr_q = int(work[0])\n\t\t\t\tmaxwrk = max(maxwrk, 3*n+lwork_dorgbr_q)\n\t\t\t}\n\t\t\tif wantua {\n\t\t\t\timpl.Dorgbr(lapack.ApplyQ, m, m, n, a, lda, nil, work, -1)\n\t\t\t\tlwork_dorgbr_q := int(work[0])\n\t\t\t\tmaxwrk = max(maxwrk, 3*n+lwork_dorgbr_q)\n\t\t\t}\n\t\t\tif !wantvn {\n\t\t\t\tmaxwrk = max(maxwrk, 3*n+lwork_dorgbr_p)\n\t\t\t}\n\t\t\tmaxwrk = max(maxwrk, bdspac)\n\t\t}\n\t} else {\n\t\tmnthr = impl.Ilaenv(6, \"DGESVD\", opts, m, n, 0, 0)\n\n\t\tbdspac = 5 * m\n\t\timpl.Dgelqf(m, n, a, lda, nil, work, -1)\n\t\tlwork_dgelqf := int(work[0])\n\t\timpl.Dorglq(n, n, m, nil, n, nil, work, -1)\n\t\tlwork_dorglq_n := int(work[0])\n\t\timpl.Dorglq(m, n, m, a, lda, nil, work, -1)\n\t\tlwork_dorglq_m := int(work[0])\n\t\timpl.Dgebrd(m, m, a, lda, s, nil, nil, nil, work, -1)\n\t\tlwork_dgebrd := int(work[0])\n\t\timpl.Dorgbr(lapack.ApplyP, m, m, m, a, n, nil, work, -1)\n\t\tlwork_dorgbr_p := int(work[0])\n\t\timpl.Dorgbr(lapack.ApplyQ, m, m, m, a, n, nil, work, -1)\n\t\tlwork_dorgbr_q := int(work[0])\n\t\tif n >= mnthr {\n\t\t\t// n >> m\n\t\t\tif wantvn {\n\t\t\t\t// Path 1t\n\t\t\t\tmaxwrk = m + lwork_dgelqf\n\t\t\t\tmaxwrk = max(maxwrk, 3*m+lwork_dgebrd)\n\t\t\t\tif wantuo || wantuas {\n\t\t\t\t\tmaxwrk = max(maxwrk, 3*m+lwork_dorgbr_q)\n\t\t\t\t}\n\t\t\t\tmaxwrk = max(maxwrk, bdspac)\n\t\t\t} else if wantvo && wantun {\n\t\t\t\t// Path 2t\n\t\t\t\twrkbl = m + lwork_dgelqf\n\t\t\t\twrkbl = max(wrkbl, m+lwork_dorglq_m)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = max(m*m+wrkbl, m*m+m*n+m)\n\t\t\t} else if wantvo && wantuas {\n\t\t\t\t// Path 3t\n\t\t\t\twrkbl = m + lwork_dgelqf\n\t\t\t\twrkbl = max(wrkbl, m+lwork_dorglq_m)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = max(m*m+wrkbl, m*m+m*n+m)\n\t\t\t} else if wantvs && wantun {\n\t\t\t\t// Path 4t\n\t\t\t\twrkbl = m + lwork_dgelqf\n\t\t\t\twrkbl = max(wrkbl, m+lwork_dorglq_m)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = m*m + wrkbl\n\t\t\t} else if wantvs && wantuo {\n\t\t\t\t// Path 5t\n\t\t\t\twrkbl = m + lwork_dgelqf\n\t\t\t\twrkbl = max(wrkbl, m+lwork_dorglq_m)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = 2*m*m + wrkbl\n\t\t\t} else if wantvs && wantuas {\n\t\t\t\t// Path 6t\n\t\t\t\twrkbl = m + lwork_dgelqf\n\t\t\t\twrkbl = max(wrkbl, m+lwork_dorglq_m)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = m*m + wrkbl\n\t\t\t} else if wantva && wantun {\n\t\t\t\t// Path 7t\n\t\t\t\twrkbl = m + lwork_dgelqf\n\t\t\t\twrkbl = max(wrkbl, m+lwork_dorglq_n)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = m*m + wrkbl\n\t\t\t} else if wantva && wantuo {\n\t\t\t\t// Path 8t\n\t\t\t\twrkbl = m + lwork_dgelqf\n\t\t\t\twrkbl = max(wrkbl, m+lwork_dorglq_n)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = 2*m*m + wrkbl\n\t\t\t} else if wantva && wantuas {\n\t\t\t\t// Path 9t\n\t\t\t\twrkbl = m + lwork_dgelqf\n\t\t\t\twrkbl = max(wrkbl, m+lwork_dorglq_n)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dgebrd)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_p)\n\t\t\t\twrkbl = max(wrkbl, 3*m+lwork_dorgbr_q)\n\t\t\t\twrkbl = max(wrkbl, bdspac)\n\t\t\t\tmaxwrk = m*m + wrkbl\n\t\t\t}\n\t\t} else {\n\t\t\t// Path 10t, n > m\n\t\t\timpl.Dgebrd(m, n, a, lda, s, nil, nil, nil, work, -1)\n\t\t\tlwork_dgebrd = int(work[0])\n\t\t\tmaxwrk = 3*m + lwork_dgebrd\n\t\t\tif wantvs || wantvo {\n\t\t\t\timpl.Dorgbr(lapack.ApplyP, m, n, m, a, n, nil, work, -1)\n\t\t\t\tlwork_dorgbr_p = int(work[0])\n\t\t\t\tmaxwrk = max(maxwrk, 3*m+lwork_dorgbr_p)\n\t\t\t}\n\t\t\tif wantva {\n\t\t\t\timpl.Dorgbr(lapack.ApplyP, n, n, m, a, n, nil, work, -1)\n\t\t\t\tlwork_dorgbr_p = int(work[0])\n\t\t\t\tmaxwrk = max(maxwrk, 3*m+lwork_dorgbr_p)\n\t\t\t}\n\t\t\tif !wantun {\n\t\t\t\tmaxwrk = max(maxwrk, 3*m+lwork_dorgbr_q)\n\t\t\t}\n\t\t\tmaxwrk = max(maxwrk, bdspac)\n\t\t}\n\t}\n\n\tminWork := max(1, 5*minmn)\n\tif !((wantun && m >= mnthr) || (wantvn && n >= mnthr)) {\n\t\tminWork = max(minWork, 3*minmn+max(m, n))\n\t}\n\n\tif lwork != -1 {\n\t\tif len(work) < lwork {\n\t\t\tpanic(badWork)\n\t\t}\n\t\tif lwork < minWork {\n\t\t\tpanic(badWork)\n\t\t}\n\t}\n\tif m == 0 || n == 0 {\n\t\treturn true\n\t}\n\n\tmaxwrk = max(maxwrk, minWork)\n\twork[0] = float64(maxwrk)\n\tif lwork == -1 {\n\t\treturn true\n\t}\n\n\t// Perform decomposition.\n\teps := dlamchE\n\tsmlnum := math.Sqrt(dlamchS) / eps\n\tbignum := 1 / smlnum\n\n\t// Scale A if max element outside range [smlnum, bignum].\n\tanrm := impl.Dlange(lapack.MaxAbs, m, n, a, lda, nil)\n\tvar iscl bool\n\tif anrm > 0 && anrm < smlnum {\n\t\tiscl = true\n\t\timpl.Dlascl(lapack.General, 0, 0, anrm, smlnum, m, n, a, lda)\n\t} else if anrm > bignum {\n\t\tiscl = true\n\t\timpl.Dlascl(lapack.General, 0, 0, anrm, bignum, m, n, a, lda)\n\t}\n\n\tvar ie int\n\tif m >= n {\n\t\t// If A has sufficiently more rows than columns, use the QR decomposition.\n\t\tif m >= mnthr {\n\t\t\t// m >> n\n\t\t\tif wantun {\n\t\t\t\t// Path 1.\n\t\t\t\titau := 0\n\t\t\t\tiwork := itau + n\n\n\t\t\t\t// Compute A = Q * R.\n\t\t\t\timpl.Dgeqrf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t// Zero out below R.\n\t\t\t\timpl.Dlaset(blas.Lower, n-1, n-1, 0, 0, a[lda:], lda)\n\t\t\t\tie = 0\n\t\t\t\titauq := ie + n\n\t\t\t\titaup := itauq + n\n\t\t\t\tiwork = itaup + n\n\t\t\t\t// Bidiagonalize R in A.\n\t\t\t\timpl.Dgebrd(n, n, a, lda, s, work[ie:], work[itauq:],\n\t\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\t\t\t\tncvt := 0\n\t\t\t\tif wantvo || wantvas {\n\t\t\t\t\t// Generate P^T.\n\t\t\t\t\timpl.Dorgbr(lapack.ApplyP, n, n, n, a, lda, work[itaup:],\n\t\t\t\t\t\twork[iwork:], lwork-iwork)\n\t\t\t\t\tncvt = n\n\t\t\t\t}\n\t\t\t\tiwork = ie + n\n\n\t\t\t\t// Perform bidiagonal QR iteration computing right singular vectors\n\t\t\t\t// of A in A if desired.\n\t\t\t\tok = impl.Dbdsqr(blas.Upper, n, ncvt, 0, 0, s, work[ie:],\n\t\t\t\t\ta, lda, work, 1, work, 1, work[iwork:])\n\n\t\t\t\t// If right singular vectors desired in VT, copy them there.\n\t\t\t\tif wantvas {\n\t\t\t\t\timpl.Dlacpy(blas.All, n, n, a, lda, vt, ldvt)\n\t\t\t\t}\n\t\t\t} else if wantuo && wantvn {\n\t\t\t\t// Path 2\n\t\t\t\tpanic(noSVDO)\n\t\t\t} else if wantuo && wantvas {\n\t\t\t\t// Path 3\n\t\t\t\tpanic(noSVDO)\n\t\t\t} else if wantus {\n\t\t\t\tif wantvn {\n\t\t\t\t\t// Path 4\n\t\t\t\t\tif lwork >= n*n+max(4*n, bdspac) {\n\t\t\t\t\t\t// Sufficient workspace for a fast algorithm.\n\t\t\t\t\t\tir := 0\n\t\t\t\t\t\tvar ldworkr int\n\t\t\t\t\t\tif lwork >= wrkbl+lda*n {\n\t\t\t\t\t\t\tldworkr = lda\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tldworkr = n\n\t\t\t\t\t\t}\n\t\t\t\t\t\titau := ir + ldworkr*n\n\t\t\t\t\t\tiwork := itau + n\n\t\t\t\t\t\t// Compute A = Q * R.\n\t\t\t\t\t\timpl.Dgeqrf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Copy R to work[ir:], zeroing out below it.\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, n, n, a, lda, work[ir:], ldworkr)\n\t\t\t\t\t\timpl.Dlaset(blas.Lower, n-1, n-1, 0, 0, work[ir+ldworkr:], ldworkr)\n\n\t\t\t\t\t\t// Generate Q in A.\n\t\t\t\t\t\timpl.Dorgqr(m, n, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + n\n\t\t\t\t\t\titaup := itauq + n\n\t\t\t\t\t\tiwork = itaup + n\n\n\t\t\t\t\t\t// Bidiagonalize R in work[ir:].\n\t\t\t\t\t\timpl.Dgebrd(n, n, work[ir:], ldworkr, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Generate left vectors bidiagonalizing R in work[ir:].\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyQ, n, n, n, work[ir:], ldworkr,\n\t\t\t\t\t\t\twork[itauq:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + n\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, compuing left singular\n\t\t\t\t\t\t// vectors of R in work[ir:].\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, n, 0, n, 0, s, work[ie:], work, 1,\n\t\t\t\t\t\t\twork[ir:], ldworkr, work, 1, work[iwork:])\n\n\t\t\t\t\t\t// Multiply Q in A by left singular vectors of R in\n\t\t\t\t\t\t// work[ir:], storing result in U.\n\t\t\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m, n, n, 1, a, lda,\n\t\t\t\t\t\t\twork[ir:], ldworkr, 0, u, ldu)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Insufficient workspace for a fast algorithm.\n\t\t\t\t\t\titau := 0\n\t\t\t\t\t\tiwork := itau + n\n\n\t\t\t\t\t\t// Compute A = Q*R, copying result to U.\n\t\t\t\t\t\timpl.Dgeqrf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, n, a, lda, u, ldu)\n\n\t\t\t\t\t\t// Generate Q in U.\n\t\t\t\t\t\timpl.Dorgqr(m, n, n, u, ldu, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + n\n\t\t\t\t\t\titaup := itauq + n\n\t\t\t\t\t\tiwork = itaup + n\n\n\t\t\t\t\t\t// Zero out below R in A.\n\t\t\t\t\t\timpl.Dlaset(blas.Lower, n-1, n-1, 0, 0, a[lda:], lda)\n\n\t\t\t\t\t\t// Bidiagonalize R in A.\n\t\t\t\t\t\timpl.Dgebrd(n, n, a, lda, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Multiply Q in U by left vectors bidiagonalizing R.\n\t\t\t\t\t\timpl.Dormbr(lapack.ApplyQ, blas.Right, blas.NoTrans, m, n, n,\n\t\t\t\t\t\t\ta, lda, work[itauq:], u, ldu, work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + n\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing left\n\t\t\t\t\t\t// singular vectors of A in U.\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, n, 0, m, 0, s, work[ie:], work, 1,\n\t\t\t\t\t\t\tu, ldu, work, 1, work[iwork:])\n\t\t\t\t\t}\n\t\t\t\t} else if wantvo {\n\t\t\t\t\t// Path 5\n\t\t\t\t\tpanic(noSVDO)\n\t\t\t\t} else if wantvas {\n\t\t\t\t\t// Path 6\n\t\t\t\t\tif lwork >= n*n+max(4*n, bdspac) {\n\t\t\t\t\t\t// Sufficient workspace for a fast algorithm.\n\t\t\t\t\t\tiu := 0\n\t\t\t\t\t\tvar ldworku int\n\t\t\t\t\t\tif lwork >= wrkbl+lda*n {\n\t\t\t\t\t\t\tldworku = lda\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tldworku = n\n\t\t\t\t\t\t}\n\t\t\t\t\t\titau := iu + ldworku*n\n\t\t\t\t\t\tiwork := itau + n\n\n\t\t\t\t\t\t// Compute A = Q * R.\n\t\t\t\t\t\timpl.Dgeqrf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\t// Copy R to work[iu:], zeroing out below it.\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, n, n, a, lda, work[iu:], ldworku)\n\t\t\t\t\t\timpl.Dlaset(blas.Lower, n-1, n-1, 0, 0, work[iu+ldworku:], ldworku)\n\n\t\t\t\t\t\t// Generate Q in A.\n\t\t\t\t\t\timpl.Dorgqr(m, n, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + n\n\t\t\t\t\t\titaup := itauq + n\n\t\t\t\t\t\tiwork = itaup + n\n\n\t\t\t\t\t\t// Bidiagonalize R in work[iu:], copying result to VT.\n\t\t\t\t\t\timpl.Dgebrd(n, n, work[iu:], ldworku, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, n, n, work[iu:], ldworku, vt, ldvt)\n\n\t\t\t\t\t\t// Generate left bidiagonalizing vectors in work[iu:].\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyQ, n, n, n, work[iu:], ldworku,\n\t\t\t\t\t\t\twork[itauq:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Generate right bidiagonalizing vectors in VT.\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyP, n, n, n, vt, ldvt,\n\t\t\t\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + n\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing left singular\n\t\t\t\t\t\t// vectors of R in work[iu:], and computing right singular\n\t\t\t\t\t\t// vectors of R in VT.\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, n, n, n, 0, s, work[ie:],\n\t\t\t\t\t\t\tvt, ldvt, work[iu:], ldworku, work, 1, work[iwork:])\n\n\t\t\t\t\t\t// Multiply Q in A by left singular vectors of R in\n\t\t\t\t\t\t// work[iu:], storing result in U.\n\t\t\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m, n, n, 1, a, lda,\n\t\t\t\t\t\t\twork[iu:], ldworku, 0, u, ldu)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Insufficient workspace for a fast algorithm.\n\t\t\t\t\t\titau := 0\n\t\t\t\t\t\tiwork := itau + n\n\n\t\t\t\t\t\t// Compute A = Q * R, copying result to U.\n\t\t\t\t\t\timpl.Dgeqrf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, n, a, lda, u, ldu)\n\n\t\t\t\t\t\t// Generate Q in U.\n\t\t\t\t\t\timpl.Dorgqr(m, n, n, u, ldu, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Copy R to VT, zeroing out below it.\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, n, n, a, lda, vt, ldvt)\n\t\t\t\t\t\timpl.Dlaset(blas.Lower, n-1, n-1, 0, 0, vt[ldvt:], ldvt)\n\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + n\n\t\t\t\t\t\titaup := itauq + n\n\t\t\t\t\t\tiwork = itaup + n\n\n\t\t\t\t\t\t// Bidiagonalize R in VT.\n\t\t\t\t\t\timpl.Dgebrd(n, n, vt, ldvt, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Multiply Q in U by left bidiagonalizing vectors in VT.\n\t\t\t\t\t\timpl.Dormbr(lapack.ApplyQ, blas.Right, blas.NoTrans, m, n, n,\n\t\t\t\t\t\t\tvt, ldvt, work[itauq:], u, ldu, work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Generate right bidiagonalizing vectors in VT.\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyP, n, n, n, vt, ldvt,\n\t\t\t\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + n\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing left singular\n\t\t\t\t\t\t// vectors of A in U and computing right singular vectors\n\t\t\t\t\t\t// of A in VT.\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, n, n, m, 0, s, work[ie:],\n\t\t\t\t\t\t\tvt, ldvt, u, ldu, work, 1, work[iwork:])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if wantua {\n\t\t\t\tif wantvn {\n\t\t\t\t\t// Path 7\n\t\t\t\t\tif lwork >= n*n+max(max(n+m, 4*n), bdspac) {\n\t\t\t\t\t\t// Sufficient workspace for a fast algorithm.\n\t\t\t\t\t\tir := 0\n\t\t\t\t\t\tvar ldworkr int\n\t\t\t\t\t\tif lwork >= wrkbl+lda*n {\n\t\t\t\t\t\t\tldworkr = lda\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tldworkr = n\n\t\t\t\t\t\t}\n\t\t\t\t\t\titau := ir + ldworkr*n\n\t\t\t\t\t\tiwork := itau + n\n\n\t\t\t\t\t\t// Compute A = Q*R, copying result to U.\n\t\t\t\t\t\timpl.Dgeqrf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, n, a, lda, u, ldu)\n\n\t\t\t\t\t\t// Copy R to work[ir:], zeroing out below it.\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, n, n, a, lda, work[ir:], ldworkr)\n\t\t\t\t\t\timpl.Dlaset(blas.Lower, n-1, n-1, 0, 0, work[ir+ldworkr:], ldworkr)\n\n\t\t\t\t\t\t// Generate Q in U.\n\t\t\t\t\t\timpl.Dorgqr(m, m, n, u, ldu, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + n\n\t\t\t\t\t\titaup := itauq + n\n\t\t\t\t\t\tiwork = itaup + n\n\n\t\t\t\t\t\t// Bidiagonalize R in work[ir:].\n\t\t\t\t\t\timpl.Dgebrd(n, n, work[ir:], ldworkr, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Generate left bidiagonalizing vectors in work[ir:].\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyQ, n, n, n, work[ir:], ldworkr,\n\t\t\t\t\t\t\twork[itauq:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + n\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing left singular\n\t\t\t\t\t\t// vectors of R in work[ir:].\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, n, 0, n, 0, s, work[ie:], work, 1,\n\t\t\t\t\t\t\twork[ir:], ldworkr, work, 1, work[iwork:])\n\n\t\t\t\t\t\t// Multiply Q in U by left singular vectors of R in\n\t\t\t\t\t\t// work[ir:], storing result in A.\n\t\t\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m, n, n, 1, u, ldu,\n\t\t\t\t\t\t\twork[ir:], ldworkr, 0, a, lda)\n\n\t\t\t\t\t\t// Copy left singular vectors of A from A to U.\n\t\t\t\t\t\timpl.Dlacpy(blas.All, m, n, a, lda, u, ldu)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Insufficient workspace for a fast algorithm.\n\t\t\t\t\t\titau := 0\n\t\t\t\t\t\tiwork := itau + n\n\n\t\t\t\t\t\t// Compute A = Q*R, copying result to U.\n\t\t\t\t\t\timpl.Dgeqrf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, n, a, lda, u, ldu)\n\n\t\t\t\t\t\t// Generate Q in U.\n\t\t\t\t\t\timpl.Dorgqr(m, m, n, u, ldu, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + n\n\t\t\t\t\t\titaup := itauq + n\n\t\t\t\t\t\tiwork = itaup + n\n\n\t\t\t\t\t\t// Zero out below R in A.\n\t\t\t\t\t\timpl.Dlaset(blas.Lower, n-1, n-1, 0, 0, a[lda:], lda)\n\n\t\t\t\t\t\t// Bidiagonalize R in A.\n\t\t\t\t\t\timpl.Dgebrd(n, n, a, lda, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Multiply Q in U by left bidiagonalizing vectors in A.\n\t\t\t\t\t\timpl.Dormbr(lapack.ApplyQ, blas.Right, blas.NoTrans, m, n, n,\n\t\t\t\t\t\t\ta, lda, work[itauq:], u, ldu, work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + n\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing left\n\t\t\t\t\t\t// singular vectors of A in U.\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, n, 0, m, 0, s, work[ie:],\n\t\t\t\t\t\t\twork, 1, u, ldu, work, 1, work[iwork:])\n\t\t\t\t\t}\n\t\t\t\t} else if wantvo {\n\t\t\t\t\t// Path 8.\n\t\t\t\t\tpanic(noSVDO)\n\t\t\t\t} else if wantvas {\n\t\t\t\t\t// Path 9.\n\t\t\t\t\tif lwork >= n*n+max(max(n+m, 4*n), bdspac) {\n\t\t\t\t\t\t// Sufficient workspace for a fast algorithm.\n\t\t\t\t\t\tiu := 0\n\t\t\t\t\t\tvar ldworku int\n\t\t\t\t\t\tif lwork >= wrkbl+lda*n {\n\t\t\t\t\t\t\tldworku = lda\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tldworku = n\n\t\t\t\t\t\t}\n\t\t\t\t\t\titau := iu + ldworku*n\n\t\t\t\t\t\tiwork := itau + n\n\n\t\t\t\t\t\t// Compute A = Q * R, copying result to U.\n\t\t\t\t\t\timpl.Dgeqrf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, n, a, lda, u, ldu)\n\n\t\t\t\t\t\t// Generate Q in U.\n\t\t\t\t\t\timpl.Dorgqr(m, m, n, u, ldu, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Copy R to work[iu:], zeroing out below it.\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, n, n, a, lda, work[iu:], ldworku)\n\t\t\t\t\t\timpl.Dlaset(blas.Lower, n-1, n-1, 0, 0, work[iu+ldworku:], ldworku)\n\n\t\t\t\t\t\tie = itau\n\t\t\t\t\t\titauq := ie + n\n\t\t\t\t\t\titaup := itauq + n\n\t\t\t\t\t\tiwork = itaup + n\n\n\t\t\t\t\t\t// Bidiagonalize R in work[iu:], copying result to VT.\n\t\t\t\t\t\timpl.Dgebrd(n, n, work[iu:], ldworku, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, n, n, work[iu:], ldworku, vt, ldvt)\n\n\t\t\t\t\t\t// Generate left bidiagonalizing vectors in work[iu:].\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyQ, n, n, n, work[iu:], ldworku,\n\t\t\t\t\t\t\twork[itauq:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Generate right bidiagonalizing vectors in VT.\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyP, n, n, n, vt, ldvt,\n\t\t\t\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + n\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing left singular\n\t\t\t\t\t\t// vectors of R in work[iu:] and computing right\n\t\t\t\t\t\t// singular vectors of R in VT.\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, n, n, n, 0, s, work[ie:],\n\t\t\t\t\t\t\tvt, ldvt, work[iu:], ldworku, work, 1, work[iwork:])\n\n\t\t\t\t\t\t// Multiply Q in U by left singular vectors of R in\n\t\t\t\t\t\t// work[iu:], storing result in A.\n\t\t\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m, n, n, 1,\n\t\t\t\t\t\t\tu, ldu, work[iu:], ldworku, 0, a, lda)\n\n\t\t\t\t\t\t// Copy left singular vectors of A from A to U.\n\t\t\t\t\t\timpl.Dlacpy(blas.All, m, n, a, lda, u, ldu)\n\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t\t// Bidiagonalize R in VT.\n\t\t\t\t\t\t\timpl.Dgebrd(n, n, vt, ldvt, s, work[ie:],\n\t\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t\t// Multiply Q in U by left bidiagonalizing vectors in VT.\n\t\t\t\t\t\t\timpl.Dormbr(lapack.ApplyQ, blas.Right, blas.NoTrans,\n\t\t\t\t\t\t\t\tm, n, n, vt, ldvt, work[itauq:], u, ldu, work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t\t// Generate right bidiagonalizing vectors in VT.\n\t\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyP, n, n, n, vt, ldvt,\n\t\t\t\t\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\t\tiwork = ie + n\n\n\t\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing left singular\n\t\t\t\t\t\t\t// vectors of A in U and computing right singular vectors\n\t\t\t\t\t\t\t// of A in VT.\n\t\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, n, n, m, 0, s, work[ie:],\n\t\t\t\t\t\t\t\tvt, ldvt, u, ldu, work, 1, work[iwork:])\n\t\t\t\t\t\t*/\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Insufficient workspace for a fast algorithm.\n\t\t\t\t\t\titau := 0\n\t\t\t\t\t\tiwork := itau + n\n\n\t\t\t\t\t\t// Compute A = Q*R, copying result to U.\n\t\t\t\t\t\timpl.Dgeqrf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, n, a, lda, u, ldu)\n\n\t\t\t\t\t\t// Generate Q in U.\n\t\t\t\t\t\timpl.Dorgqr(m, m, n, u, ldu, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Copy R from A to VT, zeroing out below it.\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, n, n, a, lda, vt, ldvt)\n\t\t\t\t\t\timpl.Dlaset(blas.Lower, n-1, n-1, 0, 0, vt[ldvt:], ldvt)\n\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + n\n\t\t\t\t\t\titaup := itauq + n\n\t\t\t\t\t\tiwork = itaup + n\n\n\t\t\t\t\t\t// Bidiagonalize R in VT.\n\t\t\t\t\t\timpl.Dgebrd(n, n, vt, ldvt, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Multiply Q in U by left bidiagonalizing vectors in VT.\n\t\t\t\t\t\timpl.Dormbr(lapack.ApplyQ, blas.Right, blas.NoTrans,\n\t\t\t\t\t\t\tm, n, n, vt, ldvt, work[itauq:], u, ldu, work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Generate right bidiagonizing vectors in VT.\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyP, n, n, n, vt, ldvt,\n\t\t\t\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + n\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing left singular\n\t\t\t\t\t\t// vectors of A in U and computing right singular vectors\n\t\t\t\t\t\t// of A in VT.\n\t\t\t\t\t\timpl.Dbdsqr(blas.Upper, n, n, m, 0, s, work[ie:],\n\t\t\t\t\t\t\tvt, ldvt, u, ldu, work, 1, work[iwork:])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Path 10.\n\t\t\t// M at least N, but not much larger.\n\t\t\tie = 0\n\t\t\titauq := ie + n\n\t\t\titaup := itauq + n\n\t\t\tiwork := itaup + n\n\n\t\t\t// Bidiagonalize A.\n\t\t\timpl.Dgebrd(m, n, a, lda, s, work[ie:], work[itauq:],\n\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\t\t\tif wantuas {\n\t\t\t\t// Left singular vectors are desired in U. Copy result to U and\n\t\t\t\t// generate left biadiagonalizing vectors in U.\n\t\t\t\timpl.Dlacpy(blas.Lower, m, n, a, lda, u, ldu)\n\t\t\t\tvar ncu int\n\t\t\t\tif wantus {\n\t\t\t\t\tncu = n\n\t\t\t\t}\n\t\t\t\tif wantua {\n\t\t\t\t\tncu = m\n\t\t\t\t}\n\t\t\t\timpl.Dorgbr(lapack.ApplyQ, m, ncu, n, u, ldu, work[itauq:], work[iwork:], lwork-iwork)\n\t\t\t}\n\t\t\tif wantvas {\n\t\t\t\t// Right singular vectors are desired in VT. Copy result to VT and\n\t\t\t\t// generate left biadiagonalizing vectors in VT.\n\t\t\t\timpl.Dlacpy(blas.Upper, n, n, a, lda, vt, ldvt)\n\t\t\t\timpl.Dorgbr(lapack.ApplyP, n, n, n, vt, ldvt, work[itaup:], work[iwork:], lwork-iwork)\n\t\t\t}\n\t\t\tif wantuo {\n\t\t\t\tpanic(noSVDO)\n\t\t\t}\n\t\t\tif wantvo {\n\t\t\t\tpanic(noSVDO)\n\t\t\t}\n\t\t\tiwork = ie + n\n\t\t\tvar nru, ncvt int\n\t\t\tif wantuas || wantuo {\n\t\t\t\tnru = m\n\t\t\t}\n\t\t\tif wantun {\n\t\t\t\tnru = 0\n\t\t\t}\n\t\t\tif wantvas || wantvo {\n\t\t\t\tncvt = n\n\t\t\t}\n\t\t\tif wantvn {\n\t\t\t\tncvt = 0\n\t\t\t}\n\t\t\tif !wantuo && !wantvo {\n\t\t\t\t// Perform bidiagonal QR iteration, if desired, computing left\n\t\t\t\t// singular vectors in U and right singular vectors in VT.\n\t\t\t\tok = impl.Dbdsqr(blas.Upper, n, ncvt, nru, 0, s, work[ie:],\n\t\t\t\t\tvt, ldvt, u, ldu, work, 1, work[iwork:])\n\t\t\t} else {\n\t\t\t\t// There will be two branches when the implementation is complete.\n\t\t\t\tpanic(noSVDO)\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// A has more columns than rows. If A has sufficiently more columns than\n\t\t// rows, first reduce using the LQ decomposition.\n\t\tif n >= mnthr {\n\t\t\t// n >> m.\n\t\t\tif wantvn {\n\t\t\t\t// Path 1t.\n\t\t\t\titau := 0\n\t\t\t\tiwork := itau + m\n\n\t\t\t\t// Compute A = L*Q.\n\t\t\t\timpl.Dgelqf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t// Zero out above L.\n\t\t\t\timpl.Dlaset(blas.Upper, m-1, m-1, 0, 0, a[1:], lda)\n\t\t\t\tie := 0\n\t\t\t\titauq := ie + m\n\t\t\t\titaup := itauq + m\n\t\t\t\tiwork = itaup + m\n\n\t\t\t\t// Bidiagonalize L in A.\n\t\t\t\timpl.Dgebrd(m, m, a, lda, s, work[ie:itauq],\n\t\t\t\t\twork[itauq:itaup], work[itaup:iwork], work[iwork:], lwork-iwork)\n\t\t\t\tif wantuo || wantuas {\n\t\t\t\t\timpl.Dorgbr(lapack.ApplyQ, m, m, m, a, lda,\n\t\t\t\t\t\twork[itauq:], work[iwork:], lwork-iwork)\n\t\t\t\t}\n\t\t\t\tiwork = ie + m\n\t\t\t\tnru := 0\n\t\t\t\tif wantuo || wantuas {\n\t\t\t\t\tnru = m\n\t\t\t\t}\n\n\t\t\t\t// Perform bidiagonal QR iteration, computing left singular vectors\n\t\t\t\t// of A in A if desired.\n\t\t\t\tok = impl.Dbdsqr(blas.Upper, m, 0, nru, 0, s, work[ie:],\n\t\t\t\t\twork, 1, a, lda, work, 1, work[iwork:])\n\n\t\t\t\t// If left singular vectors desired in U, copy them there.\n\t\t\t\tif wantuas {\n\t\t\t\t\timpl.Dlacpy(blas.All, m, m, a, lda, u, ldu)\n\t\t\t\t}\n\t\t\t} else if wantvo && wantun {\n\t\t\t\t// Path 2t.\n\t\t\t\tpanic(noSVDO)\n\t\t\t} else if wantvo && wantuas {\n\t\t\t\t// Path 3t.\n\t\t\t\tpanic(noSVDO)\n\t\t\t} else if wantvs {\n\t\t\t\tif wantun {\n\t\t\t\t\t// Path 4t.\n\t\t\t\t\tif lwork >= m*m+max(4*m, bdspac) {\n\t\t\t\t\t\t// Sufficient workspace for a fast algorithm.\n\t\t\t\t\t\tir := 0\n\t\t\t\t\t\tvar ldworkr int\n\t\t\t\t\t\tif lwork >= wrkbl+lda*m {\n\t\t\t\t\t\t\tldworkr = lda\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tldworkr = m\n\t\t\t\t\t\t}\n\t\t\t\t\t\titau := ir + ldworkr*m\n\t\t\t\t\t\tiwork := itau + m\n\n\t\t\t\t\t\t// Compute A = L*Q.\n\t\t\t\t\t\timpl.Dgelqf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Copy L to work[ir:], zeroing out above it.\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, m, a, lda, work[ir:], ldworkr)\n\t\t\t\t\t\timpl.Dlaset(blas.Upper, m-1, m-1, 0, 0, work[ir+1:], ldworkr)\n\n\t\t\t\t\t\t// Generate Q in A.\n\t\t\t\t\t\timpl.Dorglq(m, n, m, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + m\n\t\t\t\t\t\titaup := itauq + m\n\t\t\t\t\t\tiwork = itaup + m\n\n\t\t\t\t\t\t// Bidiagonalize L in work[ir:].\n\t\t\t\t\t\timpl.Dgebrd(m, m, work[ir:], ldworkr, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Generate right vectors bidiagonalizing L in work[ir:].\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyP, m, m, m, work[ir:], ldworkr,\n\t\t\t\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + m\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing right singular\n\t\t\t\t\t\t// vectors of L in work[ir:].\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, m, m, 0, 0, s, work[ie:],\n\t\t\t\t\t\t\twork[ir:], ldworkr, work, 1, work, 1, work[iwork:])\n\n\t\t\t\t\t\t// Multiply right singular vectors of L in work[ir:] by\n\t\t\t\t\t\t// Q in A, storing result in VT.\n\t\t\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m, n, m, 1,\n\t\t\t\t\t\t\twork[ir:], ldworkr, a, lda, 0, vt, ldvt)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Insufficient workspace for a fast algorithm.\n\t\t\t\t\t\titau := 0\n\t\t\t\t\t\tiwork := itau + m\n\n\t\t\t\t\t\t// Compute A = L*Q.\n\t\t\t\t\t\timpl.Dgelqf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Copy result to VT.\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, m, n, a, lda, vt, ldvt)\n\n\t\t\t\t\t\t// Generate Q in VT.\n\t\t\t\t\t\timpl.Dorglq(m, n, m, vt, ldvt, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + m\n\t\t\t\t\t\titaup := itauq + m\n\t\t\t\t\t\tiwork = itaup + m\n\n\t\t\t\t\t\t// Zero out above L in A.\n\t\t\t\t\t\timpl.Dlaset(blas.Upper, m-1, m-1, 0, 0, a[1:], lda)\n\n\t\t\t\t\t\t// Bidiagonalize L in A.\n\t\t\t\t\t\timpl.Dgebrd(m, m, a, lda, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Multiply right vectors bidiagonalizing L by Q in VT.\n\t\t\t\t\t\timpl.Dormbr(lapack.ApplyP, blas.Left, blas.Trans, m, n, m,\n\t\t\t\t\t\t\ta, lda, work[itaup:], vt, ldvt, work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + m\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing right\n\t\t\t\t\t\t// singular vectors of A in VT.\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, m, n, 0, 0, s, work[ie:],\n\t\t\t\t\t\t\tvt, ldvt, work, 1, work, 1, work[iwork:])\n\t\t\t\t\t}\n\t\t\t\t} else if wantuo {\n\t\t\t\t\t// Path 5t.\n\t\t\t\t\tpanic(noSVDO)\n\t\t\t\t} else if wantuas {\n\t\t\t\t\t// Path 6t.\n\t\t\t\t\tif lwork >= m*m+max(4*m, bdspac) {\n\t\t\t\t\t\t// Sufficient workspace for a fast algorithm.\n\t\t\t\t\t\tiu := 0\n\t\t\t\t\t\tvar ldworku int\n\t\t\t\t\t\tif lwork >= wrkbl+lda*m {\n\t\t\t\t\t\t\tldworku = lda\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tldworku = m\n\t\t\t\t\t\t}\n\t\t\t\t\t\titau := iu + ldworku*m\n\t\t\t\t\t\tiwork := itau + m\n\n\t\t\t\t\t\t// Compute A = L*Q.\n\t\t\t\t\t\timpl.Dgelqf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Copy L to work[iu:], zeroing out above it.\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, m, a, lda, work[iu:], ldworku)\n\t\t\t\t\t\timpl.Dlaset(blas.Upper, m-1, m-1, 0, 0, work[iu+1:], ldworku)\n\n\t\t\t\t\t\t// Generate Q in A.\n\t\t\t\t\t\timpl.Dorglq(m, n, m, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + m\n\t\t\t\t\t\titaup := itauq + m\n\t\t\t\t\t\tiwork = itaup + m\n\n\t\t\t\t\t\t// Bidiagonalize L in work[iu:], copying result to U.\n\t\t\t\t\t\timpl.Dgebrd(m, m, work[iu:], ldworku, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, m, work[iu:], ldworku, u, ldu)\n\n\t\t\t\t\t\t// Generate right bidiagionalizing vectors in work[iu:].\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyP, m, m, m, work[iu:], ldworku,\n\t\t\t\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Generate left bidiagonalizing vectors in U.\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyQ, m, m, m, u, ldu, work[itauq:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + m\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing left singular\n\t\t\t\t\t\t// vectors of L in U and computing right singular vectors of\n\t\t\t\t\t\t// L in work[iu:].\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, m, m, m, 0, s, work[ie:],\n\t\t\t\t\t\t\twork[iu:], ldworku, u, ldu, work, 1, work[iwork:])\n\n\t\t\t\t\t\t// Multiply right singular vectors of L in work[iu:] by\n\t\t\t\t\t\t// Q in A, storing result in VT.\n\t\t\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m, n, m, 1,\n\t\t\t\t\t\t\twork[iu:], ldworku, a, lda, 0, vt, ldvt)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Insufficient workspace for a fast algorithm.\n\t\t\t\t\t\titau := 0\n\t\t\t\t\t\tiwork := itau + m\n\n\t\t\t\t\t\t// Compute A = L*Q, copying result to VT.\n\t\t\t\t\t\timpl.Dgelqf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, m, n, a, lda, vt, ldvt)\n\n\t\t\t\t\t\t// Generate Q in VT.\n\t\t\t\t\t\timpl.Dorglq(m, n, m, vt, ldvt, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Copy L to U, zeroing out above it.\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, m, a, lda, u, ldu)\n\t\t\t\t\t\timpl.Dlaset(blas.Upper, m-1, m-1, 0, 0, u[1:], ldu)\n\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + m\n\t\t\t\t\t\titaup := itauq + m\n\t\t\t\t\t\tiwork = itaup + m\n\n\t\t\t\t\t\t// Bidiagonalize L in U.\n\t\t\t\t\t\timpl.Dgebrd(m, m, u, ldu, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Multiply right bidiagonalizing vectors in U by Q in VT.\n\t\t\t\t\t\timpl.Dormbr(lapack.ApplyP, blas.Left, blas.Trans, m, n, m,\n\t\t\t\t\t\t\tu, ldu, work[itaup:], vt, ldvt, work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Generate left bidiagonalizing vectors in U.\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyQ, m, m, m, u, ldu, work[itauq:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + m\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing left singular\n\t\t\t\t\t\t// vectors of A in U and computing right singular vectors\n\t\t\t\t\t\t// of A in VT.\n\t\t\t\t\t\timpl.Dbdsqr(blas.Upper, m, n, m, 0, s, work[ie:], vt, ldvt,\n\t\t\t\t\t\t\tu, ldu, work, 1, work[iwork:])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if wantva {\n\t\t\t\tif wantun {\n\t\t\t\t\t// Path 7t.\n\t\t\t\t\tif lwork >= m*m+max(max(n+m, 4*m), bdspac) {\n\t\t\t\t\t\t// Sufficient workspace for a fast algorithm.\n\t\t\t\t\t\tir := 0\n\t\t\t\t\t\tvar ldworkr int\n\t\t\t\t\t\tif lwork >= wrkbl+lda*m {\n\t\t\t\t\t\t\tldworkr = lda\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tldworkr = m\n\t\t\t\t\t\t}\n\t\t\t\t\t\titau := ir + ldworkr*m\n\t\t\t\t\t\tiwork := itau + m\n\n\t\t\t\t\t\t// Compute A = L*Q, copying result to VT.\n\t\t\t\t\t\timpl.Dgelqf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, m, n, a, lda, vt, ldvt)\n\n\t\t\t\t\t\t// Copy L to work[ir:], zeroing out above it.\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, m, a, lda, work[ir:], ldworkr)\n\t\t\t\t\t\timpl.Dlaset(blas.Upper, m-1, m-1, 0, 0, work[ir+1:], ldworkr)\n\n\t\t\t\t\t\t// Generate Q in VT.\n\t\t\t\t\t\timpl.Dorglq(n, n, m, vt, ldvt, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + m\n\t\t\t\t\t\titaup := itauq + m\n\t\t\t\t\t\tiwork = itaup + m\n\n\t\t\t\t\t\t// Bidiagonalize L in work[ir:].\n\t\t\t\t\t\timpl.Dgebrd(m, m, work[ir:], ldworkr, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Generate right bidiagonalizing vectors in work[ir:].\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyP, m, m, m, work[ir:], ldworkr,\n\t\t\t\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + m\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing right\n\t\t\t\t\t\t// singular vectors of L in work[ir:].\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, m, m, 0, 0, s, work[ie:],\n\t\t\t\t\t\t\twork[ir:], ldworkr, work, 1, work, 1, work[iwork:])\n\n\t\t\t\t\t\t// Multiply right singular vectors of L in work[ir:] by\n\t\t\t\t\t\t// Q in VT, storing result in A.\n\t\t\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m, n, m, 1,\n\t\t\t\t\t\t\twork[ir:], ldworkr, vt, ldvt, 0, a, lda)\n\n\t\t\t\t\t\t// Copy right singular vectors of A from A to VT.\n\t\t\t\t\t\timpl.Dlacpy(blas.All, m, n, a, lda, vt, ldvt)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Insufficient workspace for a fast algorithm.\n\t\t\t\t\t\titau := 0\n\t\t\t\t\t\tiwork := itau + m\n\t\t\t\t\t\t// Compute A = L * Q, copying result to VT.\n\t\t\t\t\t\timpl.Dgelqf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, m, n, a, lda, vt, ldvt)\n\n\t\t\t\t\t\t// Generate Q in VT.\n\t\t\t\t\t\timpl.Dorglq(n, n, m, vt, ldvt, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\tie := itau\n\t\t\t\t\t\titauq := ie + m\n\t\t\t\t\t\titaup := itauq + m\n\t\t\t\t\t\tiwork = itaup + m\n\n\t\t\t\t\t\t// Zero out above L in A.\n\t\t\t\t\t\timpl.Dlaset(blas.Upper, m-1, m-1, 0, 0, a[1:], lda)\n\n\t\t\t\t\t\t// Bidiagonalize L in A.\n\t\t\t\t\t\timpl.Dgebrd(m, m, a, lda, s, work[ie:], work[itauq:],\n\t\t\t\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Multiply right bidiagonalizing vectors in A by Q in VT.\n\t\t\t\t\t\timpl.Dormbr(lapack.ApplyP, blas.Left, blas.Trans, m, n, m,\n\t\t\t\t\t\t\ta, lda, work[itaup:], vt, ldvt, work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + m\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing right singular\n\t\t\t\t\t\t// vectors of A in VT.\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, m, n, 0, 0, s, work[ie:],\n\t\t\t\t\t\t\tvt, ldvt, work, 1, work, 1, work[iwork:])\n\t\t\t\t\t}\n\t\t\t\t} else if wantuo {\n\t\t\t\t\tpanic(noSVDO)\n\t\t\t\t} else if wantuas {\n\t\t\t\t\t// Path 9t.\n\t\t\t\t\tif lwork >= m*m+max(max(m+n, 4*m), bdspac) {\n\t\t\t\t\t\t// Sufficient workspace for a fast algorithm.\n\t\t\t\t\t\tiu := 0\n\n\t\t\t\t\t\tvar ldworku int\n\t\t\t\t\t\tif lwork >= wrkbl+lda*m {\n\t\t\t\t\t\t\tldworku = lda\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tldworku = m\n\t\t\t\t\t\t}\n\t\t\t\t\t\titau := iu + ldworku*m\n\t\t\t\t\t\tiwork := itau + m\n\n\t\t\t\t\t\t// Generate A = L * Q copying result to VT.\n\t\t\t\t\t\timpl.Dgelqf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, m, n, a, lda, vt, ldvt)\n\n\t\t\t\t\t\t// Generate Q in VT.\n\t\t\t\t\t\timpl.Dorglq(n, n, m, vt, ldvt, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Copy L to work[iu:], zeroing out above it.\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, m, a, lda, work[iu:], ldworku)\n\t\t\t\t\t\timpl.Dlaset(blas.Upper, m-1, m-1, 0, 0, work[iu+1:], ldworku)\n\t\t\t\t\t\tie = itau\n\t\t\t\t\t\titauq := ie + m\n\t\t\t\t\t\titaup := itauq + m\n\t\t\t\t\t\tiwork = itaup + m\n\n\t\t\t\t\t\t// Bidiagonalize L in work[iu:], copying result to U.\n\t\t\t\t\t\timpl.Dgebrd(m, m, work[iu:], ldworku, s, work[ie:],\n\t\t\t\t\t\t\twork[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, m, work[iu:], ldworku, u, ldu)\n\n\t\t\t\t\t\t// Generate right bidiagonalizing vectors in work[iu:].\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyP, m, m, m, work[iu:], ldworku,\n\t\t\t\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Generate left bidiagonalizing vectors in U.\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyQ, m, m, m, u, ldu, work[itauq:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + m\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing left singular\n\t\t\t\t\t\t// vectors of L in U and computing right singular vectors\n\t\t\t\t\t\t// of L in work[iu:].\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, m, m, m, 0, s, work[ie:],\n\t\t\t\t\t\t\twork[iu:], ldworku, u, ldu, work, 1, work[iwork:])\n\n\t\t\t\t\t\t// Multiply right singular vectors of L in work[iu:]\n\t\t\t\t\t\t// Q in VT, storing result in A.\n\t\t\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m, n, m, 1,\n\t\t\t\t\t\t\twork[iu:], ldworku, vt, ldvt, 0, a, lda)\n\n\t\t\t\t\t\t// Copy right singular vectors of A from A to VT.\n\t\t\t\t\t\timpl.Dlacpy(blas.All, m, n, a, lda, vt, ldvt)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Insufficient workspace for a fast algorithm.\n\t\t\t\t\t\titau := 0\n\t\t\t\t\t\tiwork := itau + m\n\n\t\t\t\t\t\t// Compute A = L * Q, copying result to VT.\n\t\t\t\t\t\timpl.Dgelqf(m, n, a, lda, work[itau:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\timpl.Dlacpy(blas.Upper, m, n, a, lda, vt, ldvt)\n\n\t\t\t\t\t\t// Generate Q in VT.\n\t\t\t\t\t\timpl.Dorglq(n, n, m, vt, ldvt, work[itau:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Copy L to U, zeroing out above it.\n\t\t\t\t\t\timpl.Dlacpy(blas.Lower, m, m, a, lda, u, ldu)\n\t\t\t\t\t\timpl.Dlaset(blas.Upper, m-1, m-1, 0, 0, u[1:], ldu)\n\n\t\t\t\t\t\tie = itau\n\t\t\t\t\t\titauq := ie + m\n\t\t\t\t\t\titaup := itauq + m\n\t\t\t\t\t\tiwork = itaup + m\n\n\t\t\t\t\t\t// Bidiagonalize L in U.\n\t\t\t\t\t\timpl.Dgebrd(m, m, u, ldu, s, work[ie:], work[itauq:],\n\t\t\t\t\t\t\twork[itaup:], work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Multiply right bidiagonalizing vectors in U by Q in VT.\n\t\t\t\t\t\timpl.Dormbr(lapack.ApplyP, blas.Left, blas.Trans, m, n, m,\n\t\t\t\t\t\t\tu, ldu, work[itaup:], vt, ldvt, work[iwork:], lwork-iwork)\n\n\t\t\t\t\t\t// Generate left bidiagonalizing vectors in U.\n\t\t\t\t\t\timpl.Dorgbr(lapack.ApplyQ, m, m, m, u, ldu, work[itauq:], work[iwork:], lwork-iwork)\n\t\t\t\t\t\tiwork = ie + m\n\n\t\t\t\t\t\t// Perform bidiagonal QR iteration, computing left singular\n\t\t\t\t\t\t// vectors of A in U and computing right singular vectors\n\t\t\t\t\t\t// of A in VT.\n\t\t\t\t\t\tok = impl.Dbdsqr(blas.Upper, m, n, m, 0, s, work[ie:],\n\t\t\t\t\t\t\tvt, ldvt, u, ldu, work, 1, work[iwork:])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Path 10t.\n\t\t\t// N at least M, but not much larger.\n\t\t\tie = 0\n\t\t\titauq := ie + m\n\t\t\titaup := itauq + m\n\t\t\tiwork := itaup + m\n\n\t\t\t// Bidiagonalize A.\n\t\t\timpl.Dgebrd(m, n, a, lda, s, work[ie:], work[itauq:], work[itaup:], work[iwork:], lwork-iwork)\n\t\t\tif wantuas {\n\t\t\t\t// If left singular vectors desired in U, copy result to U and\n\t\t\t\t// generate left bidiagonalizing vectors in U.\n\t\t\t\timpl.Dlacpy(blas.Lower, m, m, a, lda, u, ldu)\n\t\t\t\timpl.Dorgbr(lapack.ApplyQ, m, m, n, u, ldu, work[itauq:], work[iwork:], lwork-iwork)\n\t\t\t}\n\t\t\tif wantvas {\n\t\t\t\t// If right singular vectors desired in VT, copy result to VT\n\t\t\t\t// and generate right bidiagonalizing vectors in VT.\n\t\t\t\timpl.Dlacpy(blas.Upper, m, n, a, lda, vt, ldvt)\n\t\t\t\tvar nrvt int\n\t\t\t\tif wantva {\n\t\t\t\t\tnrvt = n\n\t\t\t\t} else {\n\t\t\t\t\tnrvt = m\n\t\t\t\t}\n\t\t\t\timpl.Dorgbr(lapack.ApplyP, nrvt, n, m, vt, ldvt, work[itaup:], work[iwork:], lwork-iwork)\n\t\t\t}\n\t\t\tif wantuo {\n\t\t\t\tpanic(noSVDO)\n\t\t\t}\n\t\t\tif wantvo {\n\t\t\t\tpanic(noSVDO)\n\t\t\t}\n\t\t\tiwork = ie + m\n\t\t\tvar nru, ncvt int\n\t\t\tif wantuas || wantuo {\n\t\t\t\tnru = m\n\t\t\t}\n\t\t\tif wantvas || wantvo {\n\t\t\t\tncvt = n\n\t\t\t}\n\t\t\tif !wantuo && !wantvo {\n\t\t\t\t// Perform bidiagonal QR iteration, if desired, computing left\n\t\t\t\t// singular vectors in U and computing right singular vectors in\n\t\t\t\t// VT.\n\t\t\t\tok = impl.Dbdsqr(blas.Lower, m, ncvt, nru, 0, s, work[ie:],\n\t\t\t\t\tvt, ldvt, u, ldu, work, 1, work[iwork:])\n\t\t\t} else {\n\t\t\t\t// There will be two branches when the implementation is complete.\n\t\t\t\tpanic(noSVDO)\n\t\t\t}\n\t\t}\n\t}\n\tif !ok {\n\t\tif ie > 1 {\n\t\t\tfor i := 0; i < minmn-1; i++ {\n\t\t\t\twork[i+1] = work[i+ie]\n\t\t\t}\n\t\t}\n\t\tif ie < 1 {\n\t\t\tfor i := minmn - 2; i >= 0; i-- {\n\t\t\t\twork[i+1] = work[i+ie]\n\t\t\t}\n\t\t}\n\t}\n\t// Undo scaling if necessary.\n\tif iscl {\n\t\tif anrm > bignum {\n\t\t\timpl.Dlascl(lapack.General, 0, 0, bignum, anrm, minmn, 1, s, minmn)\n\t\t}\n\t\tif !ok && anrm > bignum {\n\t\t\timpl.Dlascl(lapack.General, 0, 0, bignum, anrm, minmn-1, 1, work[minmn:], minmn)\n\t\t}\n\t\tif anrm < smlnum {\n\t\t\timpl.Dlascl(lapack.General, 0, 0, smlnum, anrm, minmn, 1, s, minmn)\n\t\t}\n\t\tif !ok && anrm < smlnum {\n\t\t\timpl.Dlascl(lapack.General, 0, 0, smlnum, anrm, minmn-1, 1, work[minmn:], minmn)\n\t\t}\n\t}\n\twork[0] = float64(maxwrk)\n\treturn ok\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgetf2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dgetf2 computes the LU decomposition of the m×n matrix A.\n// The LU decomposition is a factorization of a into\n//  A = P * L * U\n// where P is a permutation matrix, L is a unit lower triangular matrix, and\n// U is a (usually) non-unit upper triangular matrix. On exit, L and U are stored\n// in place into a.\n//\n// ipiv is a permutation vector. It indicates that row i of the matrix was\n// changed with ipiv[i]. ipiv must have length at least min(m,n), and will panic\n// otherwise. ipiv is zero-indexed.\n//\n// Dgetf2 returns whether the matrix A is singular. The LU decomposition will\n// be computed regardless of the singularity of A, but division by zero\n// will occur if the false is returned and the result is used to solve a\n// system of equations.\n//\n// Dgetf2 is an internal routine. It is exported for testing purposes.\nfunc (Implementation) Dgetf2(m, n int, a []float64, lda int, ipiv []int) (ok bool) {\n\tmn := min(m, n)\n\tcheckMatrix(m, n, a, lda)\n\tif len(ipiv) < mn {\n\t\tpanic(badIpiv)\n\t}\n\tif m == 0 || n == 0 {\n\t\treturn true\n\t}\n\tbi := blas64.Implementation()\n\tsfmin := dlamchS\n\tok = true\n\tfor j := 0; j < mn; j++ {\n\t\t// Find a pivot and test for singularity.\n\t\tjp := j + bi.Idamax(m-j, a[j*lda+j:], lda)\n\t\tipiv[j] = jp\n\t\tif a[jp*lda+j] == 0 {\n\t\t\tok = false\n\t\t} else {\n\t\t\t// Swap the rows if necessary.\n\t\t\tif jp != j {\n\t\t\t\tbi.Dswap(n, a[j*lda:], 1, a[jp*lda:], 1)\n\t\t\t}\n\t\t\tif j < m-1 {\n\t\t\t\taj := a[j*lda+j]\n\t\t\t\tif math.Abs(aj) >= sfmin {\n\t\t\t\t\tbi.Dscal(m-j-1, 1/aj, a[(j+1)*lda+j:], lda)\n\t\t\t\t} else {\n\t\t\t\t\tfor i := 0; i < m-j-1; i++ {\n\t\t\t\t\t\ta[(j+1)*lda+j] = a[(j+1)*lda+j] / a[lda*j+j]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif j < mn-1 {\n\t\t\tbi.Dger(m-j-1, n-j-1, -1, a[(j+1)*lda+j:], lda, a[j*lda+j+1:], 1, a[(j+1)*lda+j+1:], lda)\n\t\t}\n\t}\n\treturn ok\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgetrf.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dgetrf computes the LU decomposition of the m×n matrix A.\n// The LU decomposition is a factorization of A into\n//  A = P * L * U\n// where P is a permutation matrix, L is a unit lower triangular matrix, and\n// U is a (usually) non-unit upper triangular matrix. On exit, L and U are stored\n// in place into a.\n//\n// ipiv is a permutation vector. It indicates that row i of the matrix was\n// changed with ipiv[i]. ipiv must have length at least min(m,n), and will panic\n// otherwise. ipiv is zero-indexed.\n//\n// Dgetrf is the blocked version of the algorithm.\n//\n// Dgetrf returns whether the matrix A is singular. The LU decomposition will\n// be computed regardless of the singularity of A, but division by zero\n// will occur if the false is returned and the result is used to solve a\n// system of equations.\nfunc (impl Implementation) Dgetrf(m, n int, a []float64, lda int, ipiv []int) (ok bool) {\n\tmn := min(m, n)\n\tcheckMatrix(m, n, a, lda)\n\tif len(ipiv) < mn {\n\t\tpanic(badIpiv)\n\t}\n\tif m == 0 || n == 0 {\n\t\treturn false\n\t}\n\tbi := blas64.Implementation()\n\tnb := impl.Ilaenv(1, \"DGETRF\", \" \", m, n, -1, -1)\n\tif nb <= 1 || nb >= min(m, n) {\n\t\t// Use the unblocked algorithm.\n\t\treturn impl.Dgetf2(m, n, a, lda, ipiv)\n\t}\n\tok = true\n\tfor j := 0; j < mn; j += nb {\n\t\tjb := min(mn-j, nb)\n\t\tblockOk := impl.Dgetf2(m-j, jb, a[j*lda+j:], lda, ipiv[j:])\n\t\tif !blockOk {\n\t\t\tok = false\n\t\t}\n\t\tfor i := j; i <= min(m-1, j+jb-1); i++ {\n\t\t\tipiv[i] = j + ipiv[i]\n\t\t}\n\t\timpl.Dlaswp(j, a, lda, j, j+jb-1, ipiv[:j+jb], 1)\n\t\tif j+jb < n {\n\t\t\timpl.Dlaswp(n-j-jb, a[j+jb:], lda, j, j+jb-1, ipiv[:j+jb], 1)\n\t\t\tbi.Dtrsm(blas.Left, blas.Lower, blas.NoTrans, blas.Unit,\n\t\t\t\tjb, n-j-jb, 1,\n\t\t\t\ta[j*lda+j:], lda,\n\t\t\t\ta[j*lda+j+jb:], lda)\n\t\t\tif j+jb < m {\n\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m-j-jb, n-j-jb, jb, -1,\n\t\t\t\t\ta[(j+jb)*lda+j:], lda,\n\t\t\t\t\ta[j*lda+j+jb:], lda,\n\t\t\t\t\t1, a[(j+jb)*lda+j+jb:], lda)\n\t\t\t}\n\t\t}\n\t}\n\treturn ok\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgetri.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dgetri computes the inverse of the matrix A using the LU factorization computed\n// by Dgetrf. On entry, a contains the PLU decomposition of A as computed by\n// Dgetrf and on exit contains the reciprocal of the original matrix.\n//\n// Dgetri will not perform the inversion if the matrix is singular, and returns\n// a boolean indicating whether the inversion was successful.\n//\n// work is temporary storage, and lwork specifies the usable memory length.\n// At minimum, lwork >= n and this function will panic otherwise.\n// Dgetri is a blocked inversion, but the block size is limited\n// by the temporary space available. If lwork == -1, instead of performing Dgetri,\n// the optimal work length will be stored into work[0].\nfunc (impl Implementation) Dgetri(n int, a []float64, lda int, ipiv []int, work []float64, lwork int) (ok bool) {\n\tcheckMatrix(n, n, a, lda)\n\tif len(ipiv) < n {\n\t\tpanic(badIpiv)\n\t}\n\tnb := impl.Ilaenv(1, \"DGETRI\", \" \", n, -1, -1, -1)\n\tif lwork == -1 {\n\t\twork[0] = float64(n * nb)\n\t\treturn true\n\t}\n\tif lwork < n {\n\t\tpanic(badWork)\n\t}\n\tif len(work) < lwork {\n\t\tpanic(badWork)\n\t}\n\tif n == 0 {\n\t\treturn true\n\t}\n\tok = impl.Dtrtri(blas.Upper, blas.NonUnit, n, a, lda)\n\tif !ok {\n\t\treturn false\n\t}\n\tnbmin := 2\n\tldwork := nb\n\tif nb > 1 && nb < n {\n\t\tiws := max(ldwork*n, 1)\n\t\tif lwork < iws {\n\t\t\tnb = lwork / ldwork\n\t\t\tnbmin = max(2, impl.Ilaenv(2, \"DGETRI\", \" \", n, -1, -1, -1))\n\t\t}\n\t}\n\tbi := blas64.Implementation()\n\t// TODO(btracey): Replace this with a more row-major oriented algorithm.\n\tif nb < nbmin || nb >= n {\n\t\t// Unblocked code.\n\t\tfor j := n - 1; j >= 0; j-- {\n\t\t\tfor i := j + 1; i < n; i++ {\n\t\t\t\twork[i*ldwork] = a[i*lda+j]\n\t\t\t\ta[i*lda+j] = 0\n\t\t\t}\n\t\t\tif j < n {\n\t\t\t\tbi.Dgemv(blas.NoTrans, n, n-j-1, -1, a[(j+1):], lda, work[(j+1)*ldwork:], ldwork, 1, a[j:], lda)\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnn := ((n - 1) / nb) * nb\n\t\tfor j := nn; j >= 0; j -= nb {\n\t\t\tjb := min(nb, n-j)\n\t\t\tfor jj := j; jj < j+jb-1; jj++ {\n\t\t\t\tfor i := jj + 1; i < n; i++ {\n\t\t\t\t\twork[i*ldwork+(jj-j)] = a[i*lda+jj]\n\t\t\t\t\ta[i*lda+jj] = 0\n\t\t\t\t}\n\t\t\t}\n\t\t\tif j+jb < n {\n\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, n, jb, n-j-jb, -1, a[(j+jb):], lda, work[(j+jb)*ldwork:], ldwork, 1, a[j:], lda)\n\t\t\t\tbi.Dtrsm(blas.Right, blas.Lower, blas.NoTrans, blas.Unit, n, jb, 1, work[j*ldwork:], ldwork, a[j:], lda)\n\t\t\t}\n\t\t}\n\t}\n\tfor j := n - 2; j >= 0; j-- {\n\t\tjp := ipiv[j]\n\t\tif jp != j {\n\t\t\tbi.Dswap(n, a[j:], lda, a[jp:], lda)\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dgetrs.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dgetrs solves a system of equations using an LU factorization.\n// The system of equations solved is\n//  A * X = B if trans == blas.Trans\n//  A^T * X = B if trans == blas.NoTrans\n// A is a general n×n matrix with stride lda. B is a general matrix of size n×nrhs.\n//\n// On entry b contains the elements of the matrix B. On exit, b contains the\n// elements of X, the solution to the system of equations.\n//\n// a and ipiv contain the LU factorization of A and the permutation indices as\n// computed by Dgetrf. ipiv is zero-indexed.\nfunc (impl Implementation) Dgetrs(trans blas.Transpose, n, nrhs int, a []float64, lda int, ipiv []int, b []float64, ldb int) {\n\tcheckMatrix(n, n, a, lda)\n\tcheckMatrix(n, nrhs, b, ldb)\n\tif len(ipiv) < n {\n\t\tpanic(badIpiv)\n\t}\n\tif n == 0 || nrhs == 0 {\n\t\treturn\n\t}\n\tif trans != blas.Trans && trans != blas.NoTrans {\n\t\tpanic(badTrans)\n\t}\n\tbi := blas64.Implementation()\n\tif trans == blas.NoTrans {\n\t\t// Solve A * X = B.\n\t\timpl.Dlaswp(nrhs, b, ldb, 0, n-1, ipiv, 1)\n\t\t// Solve L * X = B, updating b.\n\t\tbi.Dtrsm(blas.Left, blas.Lower, blas.NoTrans, blas.Unit,\n\t\t\tn, nrhs, 1, a, lda, b, ldb)\n\t\t// Solve U * X = B, updating b.\n\t\tbi.Dtrsm(blas.Left, blas.Upper, blas.NoTrans, blas.NonUnit,\n\t\t\tn, nrhs, 1, a, lda, b, ldb)\n\t\treturn\n\t}\n\t// Solve A^T * X = B.\n\t// Solve U^T * X = B, updating b.\n\tbi.Dtrsm(blas.Left, blas.Upper, blas.Trans, blas.NonUnit,\n\t\tn, nrhs, 1, a, lda, b, ldb)\n\t// Solve L^T * X = B, updating b.\n\tbi.Dtrsm(blas.Left, blas.Lower, blas.Trans, blas.Unit,\n\t\tn, nrhs, 1, a, lda, b, ldb)\n\timpl.Dlaswp(nrhs, b, ldb, 0, n-1, ipiv, -1)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dggsvd3.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dggsvd3 computes the generalized singular value decomposition (GSVD)\n// of an m×n matrix A and p×n matrix B:\n//  U^T*A*Q = D1*[ 0 R ]\n//\n//  V^T*B*Q = D2*[ 0 R ]\n// where U, V and Q are orthogonal matrices.\n//\n// Dggsvd3 returns k and l, the dimensions of the sub-blocks. k+l\n// is the effective numerical rank of the (m+p)×n matrix [ A^T B^T ]^T.\n// R is a (k+l)×(k+l) nonsingular upper triangular matrix, D1 and\n// D2 are m×(k+l) and p×(k+l) diagonal matrices and of the following\n// structures, respectively:\n//\n// If m-k-l >= 0,\n//\n//                    k  l\n//       D1 =     k [ I  0 ]\n//                l [ 0  C ]\n//            m-k-l [ 0  0 ]\n//\n//                  k  l\n//       D2 = l   [ 0  S ]\n//            p-l [ 0  0 ]\n//\n//               n-k-l  k    l\n//  [ 0 R ] = k [  0   R11  R12 ] k\n//            l [  0    0   R22 ] l\n//\n// where\n//\n//  C = diag( alpha_k, ... , alpha_{k+l} ),\n//  S = diag( beta_k,  ... , beta_{k+l} ),\n//  C^2 + S^2 = I.\n//\n// R is stored in\n//  A[0:k+l, n-k-l:n]\n// on exit.\n//\n// If m-k-l < 0,\n//\n//                 k m-k k+l-m\n//      D1 =   k [ I  0    0  ]\n//           m-k [ 0  C    0  ]\n//\n//                   k m-k k+l-m\n//      D2 =   m-k [ 0  S    0  ]\n//           k+l-m [ 0  0    I  ]\n//             p-l [ 0  0    0  ]\n//\n//                 n-k-l  k   m-k  k+l-m\n//  [ 0 R ] =    k [ 0    R11  R12  R13 ]\n//             m-k [ 0     0   R22  R23 ]\n//           k+l-m [ 0     0    0   R33 ]\n//\n// where\n//  C = diag( alpha_k, ... , alpha_m ),\n//  S = diag( beta_k,  ... , beta_m ),\n//  C^2 + S^2 = I.\n//\n//  R = [ R11 R12 R13 ] is stored in A[1:m, n-k-l+1:n]\n//      [  0  R22 R23 ]\n// and R33 is stored in\n//  B[m-k:l, n+m-k-l:n] on exit.\n//\n// Dggsvd3 computes C, S, R, and optionally the orthogonal transformation\n// matrices U, V and Q.\n//\n// jobU, jobV and jobQ are options for computing the orthogonal matrices. The behavior\n// is as follows\n//  jobU == lapack.GSVDU        Compute orthogonal matrix U\n//  jobU == lapack.GSVDNone     Do not compute orthogonal matrix.\n// The behavior is the same for jobV and jobQ with the exception that instead of\n// lapack.GSVDU these accept lapack.GSVDV and lapack.GSVDQ respectively.\n// The matrices U, V and Q must be m×m, p×p and n×n respectively unless the\n// relevant job parameter is lapack.GSVDNone.\n//\n// alpha and beta must have length n or Dggsvd3 will panic. On exit, alpha and\n// beta contain the generalized singular value pairs of A and B\n//   alpha[0:k] = 1,\n//   beta[0:k]  = 0,\n// if m-k-l >= 0,\n//   alpha[k:k+l] = diag(C),\n//   beta[k:k+l]  = diag(S),\n// if m-k-l < 0,\n//   alpha[k:m]= C, alpha[m:k+l]= 0\n//   beta[k:m] = S, beta[m:k+l] = 1.\n// if k+l < n,\n//   alpha[k+l:n] = 0 and\n//   beta[k+l:n]  = 0.\n//\n// On exit, iwork contains the permutation required to sort alpha descending.\n//\n// iwork must have length n, work must have length at least max(1, lwork), and\n// lwork must be -1 or greater than n, otherwise Dggsvd3 will panic. If\n// lwork is -1, work[0] holds the optimal lwork on return, but Dggsvd3 does\n// not perform the GSVD.\nfunc (impl Implementation) Dggsvd3(jobU, jobV, jobQ lapack.GSVDJob, m, n, p int, a []float64, lda int, b []float64, ldb int, alpha, beta, u []float64, ldu int, v []float64, ldv int, q []float64, ldq int, work []float64, lwork int, iwork []int) (k, l int, ok bool) {\n\tcheckMatrix(m, n, a, lda)\n\tcheckMatrix(p, n, b, ldb)\n\n\twantu := jobU == lapack.GSVDU\n\tif wantu {\n\t\tcheckMatrix(m, m, u, ldu)\n\t} else if jobU != lapack.GSVDNone {\n\t\tpanic(badGSVDJob + \"U\")\n\t}\n\twantv := jobV == lapack.GSVDV\n\tif wantv {\n\t\tcheckMatrix(p, p, v, ldv)\n\t} else if jobV != lapack.GSVDNone {\n\t\tpanic(badGSVDJob + \"V\")\n\t}\n\twantq := jobQ == lapack.GSVDQ\n\tif wantq {\n\t\tcheckMatrix(n, n, q, ldq)\n\t} else if jobQ != lapack.GSVDNone {\n\t\tpanic(badGSVDJob + \"Q\")\n\t}\n\n\tif len(alpha) != n {\n\t\tpanic(badAlpha)\n\t}\n\tif len(beta) != n {\n\t\tpanic(badBeta)\n\t}\n\n\tif lwork != -1 && lwork <= n {\n\t\tpanic(badWork)\n\t}\n\tif len(work) < max(1, lwork) {\n\t\tpanic(shortWork)\n\t}\n\tif len(iwork) < n {\n\t\tpanic(badWork)\n\t}\n\n\t// Determine optimal work length.\n\timpl.Dggsvp3(jobU, jobV, jobQ,\n\t\tm, p, n,\n\t\ta, lda,\n\t\tb, ldb,\n\t\t0, 0,\n\t\tu, ldu,\n\t\tv, ldv,\n\t\tq, ldq,\n\t\tiwork,\n\t\twork, work, -1)\n\tlwkopt := n + int(work[0])\n\tlwkopt = max(lwkopt, 2*n)\n\tlwkopt = max(lwkopt, 1)\n\twork[0] = float64(lwkopt)\n\tif lwork == -1 {\n\t\treturn 0, 0, true\n\t}\n\n\t// Compute the Frobenius norm of matrices A and B.\n\tanorm := impl.Dlange(lapack.NormFrob, m, n, a, lda, nil)\n\tbnorm := impl.Dlange(lapack.NormFrob, p, n, b, ldb, nil)\n\n\t// Get machine precision and set up threshold for determining\n\t// the effective numerical rank of the matrices A and B.\n\ttola := float64(max(m, n)) * math.Max(anorm, dlamchS) * dlamchP\n\ttolb := float64(max(p, n)) * math.Max(bnorm, dlamchS) * dlamchP\n\n\t// Preprocessing.\n\tk, l = impl.Dggsvp3(jobU, jobV, jobQ,\n\t\tm, p, n,\n\t\ta, lda,\n\t\tb, ldb,\n\t\ttola, tolb,\n\t\tu, ldu,\n\t\tv, ldv,\n\t\tq, ldq,\n\t\tiwork,\n\t\twork[:n], work[n:], lwork-n)\n\n\t// Compute the GSVD of two upper \"triangular\" matrices.\n\t_, ok = impl.Dtgsja(jobU, jobV, jobQ,\n\t\tm, p, n,\n\t\tk, l,\n\t\ta, lda,\n\t\tb, ldb,\n\t\ttola, tolb,\n\t\talpha, beta,\n\t\tu, ldu,\n\t\tv, ldv,\n\t\tq, ldq,\n\t\twork)\n\n\t// Sort the singular values and store the pivot indices in iwork\n\t// Copy alpha to work, then sort alpha in work.\n\tbi := blas64.Implementation()\n\tbi.Dcopy(n, alpha, 1, work[:n], 1)\n\tibnd := min(l, m-k)\n\tfor i := 0; i < ibnd; i++ {\n\t\t// Scan for largest alpha_{k+i}.\n\t\tisub := i\n\t\tsmax := work[k+i]\n\t\tfor j := i + 1; j < ibnd; j++ {\n\t\t\tif v := work[k+j]; v > smax {\n\t\t\t\tisub = j\n\t\t\t\tsmax = v\n\t\t\t}\n\t\t}\n\t\tif isub != i {\n\t\t\twork[k+isub] = work[k+i]\n\t\t\twork[k+i] = smax\n\t\t\tiwork[k+i] = k + isub\n\t\t} else {\n\t\t\tiwork[k+i] = k + i\n\t\t}\n\t}\n\n\twork[0] = float64(lwkopt)\n\n\treturn k, l, ok\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dggsvp3.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dggsvp3 computes orthogonal matrices U, V and Q such that\n//\n//                  n-k-l  k    l\n//  U^T*A*Q =    k [ 0    A12  A13 ] if m-k-l >= 0;\n//               l [ 0     0   A23 ]\n//           m-k-l [ 0     0    0  ]\n//\n//                  n-k-l  k    l\n//  U^T*A*Q =    k [ 0    A12  A13 ] if m-k-l < 0;\n//             m-k [ 0     0   A23 ]\n//\n//                  n-k-l  k    l\n//  V^T*B*Q =    l [ 0     0   B13 ]\n//             p-l [ 0     0    0  ]\n//\n// where the k×k matrix A12 and l×l matrix B13 are non-singular\n// upper triangular. A23 is l×l upper triangular if m-k-l >= 0,\n// otherwise A23 is (m-k)×l upper trapezoidal.\n//\n// Dggsvp3 returns k and l, the dimensions of the sub-blocks. k+l\n// is the effective numerical rank of the (m+p)×n matrix [ A^T B^T ]^T.\n//\n// jobU, jobV and jobQ are options for computing the orthogonal matrices. The behavior\n// is as follows\n//  jobU == lapack.GSVDU        Compute orthogonal matrix U\n//  jobU == lapack.GSVDNone     Do not compute orthogonal matrix.\n// The behavior is the same for jobV and jobQ with the exception that instead of\n// lapack.GSVDU these accept lapack.GSVDV and lapack.GSVDQ respectively.\n// The matrices U, V and Q must be m×m, p×p and n×n respectively unless the\n// relevant job parameter is lapack.GSVDNone.\n//\n// tola and tolb are the convergence criteria for the Jacobi-Kogbetliantz\n// iteration procedure. Generally, they are the same as used in the preprocessing\n// step, for example,\n//  tola = max(m, n)*norm(A)*eps,\n//  tolb = max(p, n)*norm(B)*eps.\n// Where eps is the machine epsilon.\n//\n// iwork must have length n, work must have length at least max(1, lwork), and\n// lwork must be -1 or greater than zero, otherwise Dggsvp3 will panic.\n//\n// Dggsvp3 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dggsvp3(jobU, jobV, jobQ lapack.GSVDJob, m, p, n int, a []float64, lda int, b []float64, ldb int, tola, tolb float64, u []float64, ldu int, v []float64, ldv int, q []float64, ldq int, iwork []int, tau, work []float64, lwork int) (k, l int) {\n\tconst forward = true\n\n\tcheckMatrix(m, n, a, lda)\n\tcheckMatrix(p, n, b, ldb)\n\n\twantu := jobU == lapack.GSVDU\n\tif !wantu && jobU != lapack.GSVDNone {\n\t\tpanic(badGSVDJob + \"U\")\n\t}\n\tif jobU != lapack.GSVDNone {\n\t\tcheckMatrix(m, m, u, ldu)\n\t}\n\n\twantv := jobV == lapack.GSVDV\n\tif !wantv && jobV != lapack.GSVDNone {\n\t\tpanic(badGSVDJob + \"V\")\n\t}\n\tif jobV != lapack.GSVDNone {\n\t\tcheckMatrix(p, p, v, ldv)\n\t}\n\n\twantq := jobQ == lapack.GSVDQ\n\tif !wantq && jobQ != lapack.GSVDNone {\n\t\tpanic(badGSVDJob + \"Q\")\n\t}\n\tif jobQ != lapack.GSVDNone {\n\t\tcheckMatrix(n, n, q, ldq)\n\t}\n\n\tif len(iwork) != n {\n\t\tpanic(badWork)\n\t}\n\tif lwork != -1 && lwork < 1 {\n\t\tpanic(badWork)\n\t}\n\tif len(work) < max(1, lwork) {\n\t\tpanic(badWork)\n\t}\n\n\tvar lwkopt int\n\timpl.Dgeqp3(p, n, b, ldb, iwork, tau, work, -1)\n\tlwkopt = int(work[0])\n\tif wantv {\n\t\tlwkopt = max(lwkopt, p)\n\t}\n\tlwkopt = max(lwkopt, min(n, p))\n\tlwkopt = max(lwkopt, m)\n\tif wantq {\n\t\tlwkopt = max(lwkopt, n)\n\t}\n\timpl.Dgeqp3(m, n, a, lda, iwork, tau, work, -1)\n\tlwkopt = max(lwkopt, int(work[0]))\n\tlwkopt = max(1, lwkopt)\n\tif lwork == -1 {\n\t\twork[0] = float64(lwkopt)\n\t\treturn 0, 0\n\t}\n\n\t// tau check must come after lwkopt query since\n\t// the Dggsvd3 call for lwkopt query may have\n\t// lwork == -1, and tau is provided by work.\n\tif len(tau) < n {\n\t\tpanic(badTau)\n\t}\n\n\t// QR with column pivoting of B: B*P = V*[ S11 S12 ].\n\t//                                       [  0   0  ]\n\tfor i := range iwork[:n] {\n\t\tiwork[i] = 0\n\t}\n\timpl.Dgeqp3(p, n, b, ldb, iwork, tau, work, lwork)\n\n\t// Update A := A*P.\n\timpl.Dlapmt(forward, m, n, a, lda, iwork)\n\n\t// Determine the effective rank of matrix B.\n\tfor i := 0; i < min(p, n); i++ {\n\t\tif math.Abs(b[i*ldb+i]) > tolb {\n\t\t\tl++\n\t\t}\n\t}\n\n\tif wantv {\n\t\t// Copy the details of V, and form V.\n\t\timpl.Dlaset(blas.All, p, p, 0, 0, v, ldv)\n\t\tif p > 1 {\n\t\t\timpl.Dlacpy(blas.Lower, p-1, min(p, n), b[ldb:], ldb, v[ldv:], ldv)\n\t\t}\n\t\timpl.Dorg2r(p, p, min(p, n), v, ldv, tau, work)\n\t}\n\n\t// Clean up B.\n\tfor i := 1; i < l; i++ {\n\t\tr := b[i*ldb : i*ldb+i]\n\t\tfor j := range r {\n\t\t\tr[j] = 0\n\t\t}\n\t}\n\tif p > l {\n\t\timpl.Dlaset(blas.All, p-l, n, 0, 0, b[l*ldb:], ldb)\n\t}\n\n\tif wantq {\n\t\t// Set Q = I and update Q := Q*P.\n\t\timpl.Dlaset(blas.All, n, n, 0, 1, q, ldq)\n\t\timpl.Dlapmt(forward, n, n, q, ldq, iwork)\n\t}\n\n\tif p >= l && n != l {\n\t\t// RQ factorization of [ S11 S12 ]: [ S11 S12 ] = [ 0 S12 ]*Z.\n\t\timpl.Dgerq2(l, n, b, ldb, tau, work)\n\n\t\t// Update A := A*Z^T.\n\t\timpl.Dormr2(blas.Right, blas.Trans, m, n, l, b, ldb, tau, a, lda, work)\n\n\t\tif wantq {\n\t\t\t// Update Q := Q*Z^T.\n\t\t\timpl.Dormr2(blas.Right, blas.Trans, n, n, l, b, ldb, tau, q, ldq, work)\n\t\t}\n\n\t\t// Clean up B.\n\t\timpl.Dlaset(blas.All, l, n-l, 0, 0, b, ldb)\n\t\tfor i := 1; i < l; i++ {\n\t\t\tr := b[i*ldb+n-l : i*ldb+i+n-l]\n\t\t\tfor j := range r {\n\t\t\t\tr[j] = 0\n\t\t\t}\n\t\t}\n\t}\n\n\t// Let              N-L     L\n\t//            A = [ A11    A12 ] M,\n\t//\n\t// then the following does the complete QR decomposition of A11:\n\t//\n\t//          A11 = U*[  0  T12 ]*P1^T.\n\t//                  [  0   0  ]\n\tfor i := range iwork[:n-l] {\n\t\tiwork[i] = 0\n\t}\n\timpl.Dgeqp3(m, n-l, a, lda, iwork[:n-l], tau, work, lwork)\n\n\t// Determine the effective rank of A11.\n\tfor i := 0; i < min(m, n-l); i++ {\n\t\tif math.Abs(a[i*lda+i]) > tola {\n\t\t\tk++\n\t\t}\n\t}\n\n\t// Update A12 := U^T*A12, where A12 = A[0:m, n-l:n].\n\timpl.Dorm2r(blas.Left, blas.Trans, m, l, min(m, n-l), a, lda, tau, a[n-l:], lda, work)\n\n\tif wantu {\n\t\t// Copy the details of U, and form U.\n\t\timpl.Dlaset(blas.All, m, m, 0, 0, u, ldu)\n\t\tif m > 1 {\n\t\t\timpl.Dlacpy(blas.Lower, m-1, min(m, n-l), a[lda:], lda, u[ldu:], ldu)\n\t\t}\n\t\timpl.Dorg2r(m, m, min(m, n-l), u, ldu, tau, work)\n\t}\n\n\tif wantq {\n\t\t// Update Q[0:n, 0:n-l] := Q[0:n, 0:n-l]*P1.\n\t\timpl.Dlapmt(forward, n, n-l, q, ldq, iwork[:n-l])\n\t}\n\n\t// Clean up A: set the strictly lower triangular part of\n\t// A[0:k, 0:k] = 0, and A[k:m, 0:n-l] = 0.\n\tfor i := 1; i < k; i++ {\n\t\tr := a[i*lda : i*lda+i]\n\t\tfor j := range r {\n\t\t\tr[j] = 0\n\t\t}\n\t}\n\tif m > k {\n\t\timpl.Dlaset(blas.All, m-k, n-l, 0, 0, a[k*lda:], lda)\n\t}\n\n\tif n-l > k {\n\t\t// RQ factorization of [ T11 T12 ] = [ 0 T12 ]*Z1.\n\t\timpl.Dgerq2(k, n-l, a, lda, tau, work)\n\n\t\tif wantq {\n\t\t\t// Update Q[0:n, 0:n-l] := Q[0:n, 0:n-l]*Z1^T.\n\t\t\timpl.Dorm2r(blas.Right, blas.Trans, n, n-l, k, a, lda, tau, q, ldq, work)\n\t\t}\n\n\t\t// Clean up A.\n\t\timpl.Dlaset(blas.All, k, n-l-k, 0, 0, a, lda)\n\t\tfor i := 1; i < k; i++ {\n\t\t\tr := a[i*lda+n-k-l : i*lda+i+n-k-l]\n\t\t\tfor j := range r {\n\t\t\t\ta[j] = 0\n\t\t\t}\n\t\t}\n\t}\n\n\tif m > k {\n\t\t// QR factorization of A[k:m, n-l:n].\n\t\timpl.Dgeqr2(m-k, l, a[k*lda+n-l:], lda, tau, work)\n\t\tif wantu {\n\t\t\t// Update U[:, k:m) := U[:, k:m]*U1.\n\t\t\timpl.Dorm2r(blas.Right, blas.NoTrans, m, m-k, min(m-k, l), a[k*lda+n-l:], lda, tau, u[k:], ldu, work)\n\t\t}\n\n\t\t// Clean up A.\n\t\tfor i := k + 1; i < m; i++ {\n\t\t\tr := a[i*lda+n-l : i*lda+min(n-l+i-k, n)]\n\t\t\tfor j := range r {\n\t\t\t\tr[j] = 0\n\t\t\t}\n\t\t}\n\t}\n\n\twork[0] = float64(lwkopt)\n\treturn k, l\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dhseqr.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dhseqr computes the eigenvalues of an n×n Hessenberg matrix H and,\n// optionally, the matrices T and Z from the Schur decomposition\n//  H = Z T Z^T,\n// where T is an n×n upper quasi-triangular matrix (the Schur form), and Z is\n// the n×n orthogonal matrix of Schur vectors.\n//\n// Optionally Z may be postmultiplied into an input orthogonal matrix Q so that\n// this routine can give the Schur factorization of a matrix A which has been\n// reduced to the Hessenberg form H by the orthogonal matrix Q:\n//  A = Q H Q^T = (QZ) T (QZ)^T.\n//\n// If job == lapack.EigenvaluesOnly, only the eigenvalues will be computed.\n// If job == lapack.EigenvaluesAndSchur, the eigenvalues and the Schur form T will\n// be computed.\n// For other values of job Dhseqr will panic.\n//\n// If compz == lapack.None, no Schur vectors will be computed and Z will not be\n// referenced.\n// If compz == lapack.HessEV, on return Z will contain the matrix of Schur\n// vectors of H.\n// If compz == lapack.OriginalEV, on entry z is assumed to contain the orthogonal\n// matrix Q that is the identity except for the submatrix\n// Q[ilo:ihi+1,ilo:ihi+1]. On return z will be updated to the product Q*Z.\n//\n// ilo and ihi determine the block of H on which Dhseqr operates. It is assumed\n// that H is already upper triangular in rows and columns [0:ilo] and [ihi+1:n],\n// although it will be only checked that the block is isolated, that is,\n//  ilo == 0   or H[ilo,ilo-1] == 0,\n//  ihi == n-1 or H[ihi+1,ihi] == 0,\n// and Dhseqr will panic otherwise. ilo and ihi are typically set by a previous\n// call to Dgebal, otherwise they should be set to 0 and n-1, respectively. It\n// must hold that\n//  0 <= ilo <= ihi < n,     if n > 0,\n//  ilo == 0 and ihi == -1,  if n == 0.\n//\n// wr and wi must have length n.\n//\n// work must have length at least lwork and lwork must be at least max(1,n)\n// otherwise Dhseqr will panic. The minimum lwork delivers very good and\n// sometimes optimal performance, although lwork as large as 11*n may be\n// required. On return, work[0] will contain the optimal value of lwork.\n//\n// If lwork is -1, instead of performing Dhseqr, the function only estimates the\n// optimal workspace size and stores it into work[0]. Neither h nor z are\n// accessed.\n//\n// unconverged indicates whether Dhseqr computed all the eigenvalues.\n//\n// If unconverged == 0, all the eigenvalues have been computed and their real\n// and imaginary parts will be stored on return in wr and wi, respectively. If\n// two eigenvalues are computed as a complex conjugate pair, they are stored in\n// consecutive elements of wr and wi, say the i-th and (i+1)th, with wi[i] > 0\n// and wi[i+1] < 0.\n//\n// If unconverged == 0 and job == lapack.EigenvaluesAndSchur, on return H will\n// contain the upper quasi-triangular matrix T from the Schur decomposition (the\n// Schur form). 2×2 diagonal blocks (corresponding to complex conjugate pairs of\n// eigenvalues) will be returned in standard form, with\n//  H[i,i] == H[i+1,i+1],\n// and\n//  H[i+1,i]*H[i,i+1] < 0.\n// The eigenvalues will be stored in wr and wi in the same order as on the\n// diagonal of the Schur form returned in H, with\n//  wr[i] = H[i,i],\n// and, if H[i:i+2,i:i+2] is a 2×2 diagonal block,\n//  wi[i]   = sqrt(-H[i+1,i]*H[i,i+1]),\n//  wi[i+1] = -wi[i].\n//\n// If unconverged == 0 and job == lapack.EigenvaluesOnly, the contents of h\n// on return is unspecified.\n//\n// If unconverged > 0, some eigenvalues have not converged, and the blocks\n// [0:ilo] and [unconverged:n] of wr and wi will contain those eigenvalues which\n// have been successfully computed. Failures are rare.\n//\n// If unconverged > 0 and job == lapack.EigenvaluesOnly, on return the\n// remaining unconverged eigenvalues are the eigenvalues of the upper Hessenberg\n// matrix H[ilo:unconverged,ilo:unconverged].\n//\n// If unconverged > 0 and job == lapack.EigenvaluesAndSchur, then on\n// return\n//  (initial H) U = U (final H),   (*)\n// where U is an orthogonal matrix. The final H is upper Hessenberg and\n// H[unconverged:ihi+1,unconverged:ihi+1] is upper quasi-triangular.\n//\n// If unconverged > 0 and compz == lapack.OriginalEV, then on return\n//  (final Z) = (initial Z) U,\n// where U is the orthogonal matrix in (*) regardless of the value of job.\n//\n// If unconverged > 0 and compz == lapack.HessEV, then on return\n//  (final Z) = U,\n// where U is the orthogonal matrix in (*) regardless of the value of job.\n//\n// References:\n//  [1] R. Byers. LAPACK 3.1 xHSEQR: Tuning and Implementation Notes on the\n//      Small Bulge Multi-Shift QR Algorithm with Aggressive Early Deflation.\n//      LAPACK Working Note 187 (2007)\n//      URL: http://www.netlib.org/lapack/lawnspdf/lawn187.pdf\n//  [2] K. Braman, R. Byers, R. Mathias. The Multishift QR Algorithm. Part I:\n//      Maintaining Well-Focused Shifts and Level 3 Performance. SIAM J. Matrix\n//      Anal. Appl. 23(4) (2002), pp. 929—947\n//      URL: http://dx.doi.org/10.1137/S0895479801384573\n//  [3] K. Braman, R. Byers, R. Mathias. The Multishift QR Algorithm. Part II:\n//      Aggressive Early Deflation. SIAM J. Matrix Anal. Appl. 23(4) (2002), pp. 948—973\n//      URL: http://dx.doi.org/10.1137/S0895479801384585\n//\n// Dhseqr is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dhseqr(job lapack.EVJob, compz lapack.EVComp, n, ilo, ihi int, h []float64, ldh int, wr, wi []float64, z []float64, ldz int, work []float64, lwork int) (unconverged int) {\n\tvar wantt bool\n\tswitch job {\n\tdefault:\n\t\tpanic(badEVJob)\n\tcase lapack.EigenvaluesOnly:\n\tcase lapack.EigenvaluesAndSchur:\n\t\twantt = true\n\t}\n\tvar wantz bool\n\tswitch compz {\n\tdefault:\n\t\tpanic(badEVComp)\n\tcase lapack.None:\n\tcase lapack.HessEV, lapack.OriginalEV:\n\t\twantz = true\n\t}\n\tswitch {\n\tcase n < 0:\n\t\tpanic(nLT0)\n\tcase ilo < 0 || max(0, n-1) < ilo:\n\t\tpanic(badIlo)\n\tcase ihi < min(ilo, n-1) || n <= ihi:\n\t\tpanic(badIhi)\n\tcase len(work) < lwork:\n\t\tpanic(shortWork)\n\tcase lwork < max(1, n) && lwork != -1:\n\t\tpanic(badWork)\n\t}\n\tif lwork != -1 {\n\t\tcheckMatrix(n, n, h, ldh)\n\t\tswitch {\n\t\tcase wantz:\n\t\t\tcheckMatrix(n, n, z, ldz)\n\t\tcase len(wr) < n:\n\t\t\tpanic(\"lapack: wr has insufficient length\")\n\t\tcase len(wi) < n:\n\t\t\tpanic(\"lapack: wi has insufficient length\")\n\t\t}\n\t}\n\n\tconst (\n\t\t// Matrices of order ntiny or smaller must be processed by\n\t\t// Dlahqr because of insufficient subdiagonal scratch space.\n\t\t// This is a hard limit.\n\t\tntiny = 11\n\n\t\t// nl is the size of a local workspace to help small matrices\n\t\t// through a rare Dlahqr failure. nl > ntiny is required and\n\t\t// nl <= nmin = Ilaenv(ispec=12,...) is recommended (the default\n\t\t// value of nmin is 75). Using nl = 49 allows up to six\n\t\t// simultaneous shifts and a 16×16 deflation window.\n\t\tnl = 49\n\t)\n\n\t// Quick return if possible.\n\tif n == 0 {\n\t\twork[0] = 1\n\t\treturn 0\n\t}\n\n\t// Quick return in case of a workspace query.\n\tif lwork == -1 {\n\t\timpl.Dlaqr04(wantt, wantz, n, ilo, ihi, nil, 0, nil, nil, ilo, ihi, nil, 0, work, -1, 1)\n\t\twork[0] = math.Max(float64(n), work[0])\n\t\treturn 0\n\t}\n\n\t// Copy eigenvalues isolated by Dgebal.\n\tfor i := 0; i < ilo; i++ {\n\t\twr[i] = h[i*ldh+i]\n\t\twi[i] = 0\n\t}\n\tfor i := ihi + 1; i < n; i++ {\n\t\twr[i] = h[i*ldh+i]\n\t\twi[i] = 0\n\t}\n\n\t// Initialize Z to identity matrix if requested.\n\tif compz == lapack.HessEV {\n\t\timpl.Dlaset(blas.All, n, n, 0, 1, z, ldz)\n\t}\n\n\t// Quick return if possible.\n\tif ilo == ihi {\n\t\twr[ilo] = h[ilo*ldh+ilo]\n\t\twi[ilo] = 0\n\t\treturn 0\n\t}\n\n\t// Dlahqr/Dlaqr04 crossover point.\n\tnmin := impl.Ilaenv(12, \"DHSEQR\", string(job)+string(compz), n, ilo, ihi, lwork)\n\tnmin = max(ntiny, nmin)\n\n\tif n > nmin {\n\t\t// Dlaqr0 for big matrices.\n\t\tunconverged = impl.Dlaqr04(wantt, wantz, n, ilo, ihi, h, ldh, wr[:ihi+1], wi[:ihi+1],\n\t\t\tilo, ihi, z, ldz, work, lwork, 1)\n\t} else {\n\t\t// Dlahqr for small matrices.\n\t\tunconverged = impl.Dlahqr(wantt, wantz, n, ilo, ihi, h, ldh, wr[:ihi+1], wi[:ihi+1],\n\t\t\tilo, ihi, z, ldz)\n\t\tif unconverged > 0 {\n\t\t\t// A rare Dlahqr failure! Dlaqr04 sometimes succeeds\n\t\t\t// when Dlahqr fails.\n\t\t\tkbot := unconverged\n\t\t\tif n >= nl {\n\t\t\t\t// Larger matrices have enough subdiagonal\n\t\t\t\t// scratch space to call Dlaqr04 directly.\n\t\t\t\tunconverged = impl.Dlaqr04(wantt, wantz, n, ilo, kbot, h, ldh,\n\t\t\t\t\twr[:ihi+1], wi[:ihi+1], ilo, ihi, z, ldz, work, lwork, 1)\n\t\t\t} else {\n\t\t\t\t// Tiny matrices don't have enough subdiagonal\n\t\t\t\t// scratch space to benefit from Dlaqr04. Hence,\n\t\t\t\t// tiny matrices must be copied into a larger\n\t\t\t\t// array before calling Dlaqr04.\n\t\t\t\tvar hl [nl * nl]float64\n\t\t\t\timpl.Dlacpy(blas.All, n, n, h, ldh, hl[:], nl)\n\t\t\t\timpl.Dlaset(blas.All, nl, nl-n, 0, 0, hl[n:], nl)\n\t\t\t\tvar workl [nl]float64\n\t\t\t\tunconverged = impl.Dlaqr04(wantt, wantz, nl, ilo, kbot, hl[:], nl,\n\t\t\t\t\twr[:ihi+1], wi[:ihi+1], ilo, ihi, z, ldz, workl[:], nl, 1)\n\t\t\t\twork[0] = workl[0]\n\t\t\t\tif wantt || unconverged > 0 {\n\t\t\t\t\timpl.Dlacpy(blas.All, n, n, hl[:], nl, h, ldh)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Zero out under the first subdiagonal, if necessary.\n\tif (wantt || unconverged > 0) && n > 2 {\n\t\timpl.Dlaset(blas.Lower, n-2, n-2, 0, 0, h[2*ldh:], ldh)\n\t}\n\n\twork[0] = math.Max(float64(n), work[0])\n\treturn unconverged\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlabrd.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dlabrd reduces the first NB rows and columns of a real general m×n matrix\n// A to upper or lower bidiagonal form by an orthogonal transformation\n//  Q**T * A * P\n// If m >= n, A is reduced to upper bidiagonal form and upon exit the elements\n// on and below the diagonal in the first nb columns represent the elementary\n// reflectors, and the elements above the diagonal in the first nb rows represent\n// the matrix P. If m < n, A is reduced to lower bidiagonal form and the elements\n// P is instead stored above the diagonal.\n//\n// The reduction to bidiagonal form is stored in d and e, where d are the diagonal\n// elements, and e are the off-diagonal elements.\n//\n// The matrices Q and P are products of elementary reflectors\n//  Q = H_0 * H_1 * ... * H_{nb-1}\n//  P = G_0 * G_1 * ... * G_{nb-1}\n// where\n//  H_i = I - tauQ[i] * v_i * v_i^T\n//  G_i = I - tauP[i] * u_i * u_i^T\n//\n// As an example, on exit the entries of A when m = 6, n = 5, and nb = 2\n//  [ 1   1  u1  u1  u1]\n//  [v1   1   1  u2  u2]\n//  [v1  v2   a   a   a]\n//  [v1  v2   a   a   a]\n//  [v1  v2   a   a   a]\n//  [v1  v2   a   a   a]\n// and when m = 5, n = 6, and nb = 2\n//  [ 1  u1  u1  u1  u1  u1]\n//  [ 1   1  u2  u2  u2  u2]\n//  [v1   1   a   a   a   a]\n//  [v1  v2   a   a   a   a]\n//  [v1  v2   a   a   a   a]\n//\n// Dlabrd also returns the matrices X and Y which are used with U and V to\n// apply the transformation to the unreduced part of the matrix\n//  A := A - V*Y^T - X*U^T\n// and returns the matrices X and Y which are needed to apply the\n// transformation to the unreduced part of A.\n//\n// X is an m×nb matrix, Y is an n×nb matrix. d, e, taup, and tauq must all have\n// length at least nb. Dlabrd will panic if these size constraints are violated.\n//\n// Dlabrd is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlabrd(m, n, nb int, a []float64, lda int, d, e, tauQ, tauP, x []float64, ldx int, y []float64, ldy int) {\n\tcheckMatrix(m, n, a, lda)\n\tcheckMatrix(m, nb, x, ldx)\n\tcheckMatrix(n, nb, y, ldy)\n\tif len(d) < nb {\n\t\tpanic(badD)\n\t}\n\tif len(e) < nb {\n\t\tpanic(badE)\n\t}\n\tif len(tauQ) < nb {\n\t\tpanic(badTauQ)\n\t}\n\tif len(tauP) < nb {\n\t\tpanic(badTauP)\n\t}\n\tif m <= 0 || n <= 0 {\n\t\treturn\n\t}\n\tbi := blas64.Implementation()\n\tif m >= n {\n\t\t// Reduce to upper bidiagonal form.\n\t\tfor i := 0; i < nb; i++ {\n\t\t\tbi.Dgemv(blas.NoTrans, m-i, i, -1, a[i*lda:], lda, y[i*ldy:], 1, 1, a[i*lda+i:], lda)\n\t\t\tbi.Dgemv(blas.NoTrans, m-i, i, -1, x[i*ldx:], ldx, a[i:], lda, 1, a[i*lda+i:], lda)\n\n\t\t\ta[i*lda+i], tauQ[i] = impl.Dlarfg(m-i, a[i*lda+i], a[min(i+1, m-1)*lda+i:], lda)\n\t\t\td[i] = a[i*lda+i]\n\t\t\tif i < n-1 {\n\t\t\t\t// Compute Y[i+1:n, i].\n\t\t\t\ta[i*lda+i] = 1\n\t\t\t\tbi.Dgemv(blas.Trans, m-i, n-i-1, 1, a[i*lda+i+1:], lda, a[i*lda+i:], lda, 0, y[(i+1)*ldy+i:], ldy)\n\t\t\t\tbi.Dgemv(blas.Trans, m-i, i, 1, a[i*lda:], lda, a[i*lda+i:], lda, 0, y[i:], ldy)\n\t\t\t\tbi.Dgemv(blas.NoTrans, n-i-1, i, -1, y[(i+1)*ldy:], ldy, y[i:], ldy, 1, y[(i+1)*ldy+i:], ldy)\n\t\t\t\tbi.Dgemv(blas.Trans, m-i, i, 1, x[i*ldx:], ldx, a[i*lda+i:], lda, 0, y[i:], ldy)\n\t\t\t\tbi.Dgemv(blas.Trans, i, n-i-1, -1, a[i+1:], lda, y[i:], ldy, 1, y[(i+1)*ldy+i:], ldy)\n\t\t\t\tbi.Dscal(n-i-1, tauQ[i], y[(i+1)*ldy+i:], ldy)\n\n\t\t\t\t// Update A[i, i+1:n].\n\t\t\t\tbi.Dgemv(blas.NoTrans, n-i-1, i+1, -1, y[(i+1)*ldy:], ldy, a[i*lda:], 1, 1, a[i*lda+i+1:], 1)\n\t\t\t\tbi.Dgemv(blas.Trans, i, n-i-1, -1, a[i+1:], lda, x[i*ldx:], 1, 1, a[i*lda+i+1:], 1)\n\n\t\t\t\t// Generate reflection P[i] to annihilate A[i, i+2:n].\n\t\t\t\ta[i*lda+i+1], tauP[i] = impl.Dlarfg(n-i-1, a[i*lda+i+1], a[i*lda+min(i+2, n-1):], 1)\n\t\t\t\te[i] = a[i*lda+i+1]\n\t\t\t\ta[i*lda+i+1] = 1\n\n\t\t\t\t// Compute X[i+1:m, i].\n\t\t\t\tbi.Dgemv(blas.NoTrans, m-i-1, n-i-1, 1, a[(i+1)*lda+i+1:], lda, a[i*lda+i+1:], 1, 0, x[(i+1)*ldx+i:], ldx)\n\t\t\t\tbi.Dgemv(blas.Trans, n-i-1, i+1, 1, y[(i+1)*ldy:], ldy, a[i*lda+i+1:], 1, 0, x[i:], ldx)\n\t\t\t\tbi.Dgemv(blas.NoTrans, m-i-1, i+1, -1, a[(i+1)*lda:], lda, x[i:], ldx, 1, x[(i+1)*ldx+i:], ldx)\n\t\t\t\tbi.Dgemv(blas.NoTrans, i, n-i-1, 1, a[i+1:], lda, a[i*lda+i+1:], 1, 0, x[i:], ldx)\n\t\t\t\tbi.Dgemv(blas.NoTrans, m-i-1, i, -1, x[(i+1)*ldx:], ldx, x[i:], ldx, 1, x[(i+1)*ldx+i:], ldx)\n\t\t\t\tbi.Dscal(m-i-1, tauP[i], x[(i+1)*ldx+i:], ldx)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Reduce to lower bidiagonal form.\n\tfor i := 0; i < nb; i++ {\n\t\t// Update A[i,i:n]\n\t\tbi.Dgemv(blas.NoTrans, n-i, i, -1, y[i*ldy:], ldy, a[i*lda:], 1, 1, a[i*lda+i:], 1)\n\t\tbi.Dgemv(blas.Trans, i, n-i, -1, a[i:], lda, x[i*ldx:], 1, 1, a[i*lda+i:], 1)\n\n\t\t// Generate reflection P[i] to annihilate A[i, i+1:n]\n\t\ta[i*lda+i], tauP[i] = impl.Dlarfg(n-i, a[i*lda+i], a[i*lda+min(i+1, n-1):], 1)\n\t\td[i] = a[i*lda+i]\n\t\tif i < m-1 {\n\t\t\ta[i*lda+i] = 1\n\t\t\t// Compute X[i+1:m, i].\n\t\t\tbi.Dgemv(blas.NoTrans, m-i-1, n-i, 1, a[(i+1)*lda+i:], lda, a[i*lda+i:], 1, 0, x[(i+1)*ldx+i:], ldx)\n\t\t\tbi.Dgemv(blas.Trans, n-i, i, 1, y[i*ldy:], ldy, a[i*lda+i:], 1, 0, x[i:], ldx)\n\t\t\tbi.Dgemv(blas.NoTrans, m-i-1, i, -1, a[(i+1)*lda:], lda, x[i:], ldx, 1, x[(i+1)*ldx+i:], ldx)\n\t\t\tbi.Dgemv(blas.NoTrans, i, n-i, 1, a[i:], lda, a[i*lda+i:], 1, 0, x[i:], ldx)\n\t\t\tbi.Dgemv(blas.NoTrans, m-i-1, i, -1, x[(i+1)*ldx:], ldx, x[i:], ldx, 1, x[(i+1)*ldx+i:], ldx)\n\t\t\tbi.Dscal(m-i-1, tauP[i], x[(i+1)*ldx+i:], ldx)\n\n\t\t\t// Update A[i+1:m, i].\n\t\t\tbi.Dgemv(blas.NoTrans, m-i-1, i, -1, a[(i+1)*lda:], lda, y[i*ldy:], 1, 1, a[(i+1)*lda+i:], lda)\n\t\t\tbi.Dgemv(blas.NoTrans, m-i-1, i+1, -1, x[(i+1)*ldx:], ldx, a[i:], lda, 1, a[(i+1)*lda+i:], lda)\n\n\t\t\t// Generate reflection Q[i] to annihilate A[i+2:m, i].\n\t\t\ta[(i+1)*lda+i], tauQ[i] = impl.Dlarfg(m-i-1, a[(i+1)*lda+i], a[min(i+2, m-1)*lda+i:], lda)\n\t\t\te[i] = a[(i+1)*lda+i]\n\t\t\ta[(i+1)*lda+i] = 1\n\n\t\t\t// Compute Y[i+1:n, i].\n\t\t\tbi.Dgemv(blas.Trans, m-i-1, n-i-1, 1, a[(i+1)*lda+i+1:], lda, a[(i+1)*lda+i:], lda, 0, y[(i+1)*ldy+i:], ldy)\n\t\t\tbi.Dgemv(blas.Trans, m-i-1, i, 1, a[(i+1)*lda:], lda, a[(i+1)*lda+i:], lda, 0, y[i:], ldy)\n\t\t\tbi.Dgemv(blas.NoTrans, n-i-1, i, -1, y[(i+1)*ldy:], ldy, y[i:], ldy, 1, y[(i+1)*ldy+i:], ldy)\n\t\t\tbi.Dgemv(blas.Trans, m-i-1, i+1, 1, x[(i+1)*ldx:], ldx, a[(i+1)*lda+i:], lda, 0, y[i:], ldy)\n\t\t\tbi.Dgemv(blas.Trans, i+1, n-i-1, -1, a[i+1:], lda, y[i:], ldy, 1, y[(i+1)*ldy+i:], ldy)\n\t\t\tbi.Dscal(n-i-1, tauQ[i], y[(i+1)*ldy+i:], ldy)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlacn2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dlacn2 estimates the 1-norm of an n×n matrix A using sequential updates with\n// matrix-vector products provided externally.\n//\n// Dlacn2 is called sequentially and it returns the value of est and kase to be\n// used on the next call.\n// On the initial call, kase must be 0.\n// In between calls, x must be overwritten by\n//  A * X    if kase was returned as 1,\n//  A^T * X  if kase was returned as 2,\n// and all other parameters must not be changed.\n// On the final return, kase is returned as 0, v contains A*W where W is a\n// vector, and est = norm(V)/norm(W) is a lower bound for 1-norm of A.\n//\n// v, x, and isgn must all have length n and n must be at least 1, otherwise\n// Dlacn2 will panic. isave is used for temporary storage.\n//\n// Dlacn2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlacn2(n int, v, x []float64, isgn []int, est float64, kase int, isave *[3]int) (float64, int) {\n\tif n < 1 {\n\t\tpanic(\"lapack: non-positive n\")\n\t}\n\tcheckVector(n, x, 1)\n\tcheckVector(n, v, 1)\n\tif len(isgn) < n {\n\t\tpanic(\"lapack: insufficient isgn length\")\n\t}\n\tif isave[0] < 0 || isave[0] > 5 {\n\t\tpanic(\"lapack: bad isave value\")\n\t}\n\tif isave[0] == 0 && kase != 0 {\n\t\tpanic(\"lapack: bad isave value\")\n\t}\n\titmax := 5\n\tbi := blas64.Implementation()\n\tif kase == 0 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tx[i] = 1 / float64(n)\n\t\t}\n\t\tkase = 1\n\t\tisave[0] = 1\n\t\treturn est, kase\n\t}\n\tswitch isave[0] {\n\tdefault:\n\t\tpanic(\"unreachable\")\n\tcase 1:\n\t\tif n == 1 {\n\t\t\tv[0] = x[0]\n\t\t\test = math.Abs(v[0])\n\t\t\tkase = 0\n\t\t\treturn est, kase\n\t\t}\n\t\test = bi.Dasum(n, x, 1)\n\t\tfor i := 0; i < n; i++ {\n\t\t\tx[i] = math.Copysign(1, x[i])\n\t\t\tisgn[i] = int(x[i])\n\t\t}\n\t\tkase = 2\n\t\tisave[0] = 2\n\t\treturn est, kase\n\tcase 2:\n\t\tisave[1] = bi.Idamax(n, x, 1)\n\t\tisave[2] = 2\n\t\tfor i := 0; i < n; i++ {\n\t\t\tx[i] = 0\n\t\t}\n\t\tx[isave[1]] = 1\n\t\tkase = 1\n\t\tisave[0] = 3\n\t\treturn est, kase\n\tcase 3:\n\t\tbi.Dcopy(n, x, 1, v, 1)\n\t\testold := est\n\t\test = bi.Dasum(n, v, 1)\n\t\tsameSigns := true\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif int(math.Copysign(1, x[i])) != isgn[i] {\n\t\t\t\tsameSigns = false\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif !sameSigns && est > estold {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tx[i] = math.Copysign(1, x[i])\n\t\t\t\tisgn[i] = int(x[i])\n\t\t\t}\n\t\t\tkase = 2\n\t\t\tisave[0] = 4\n\t\t\treturn est, kase\n\t\t}\n\tcase 4:\n\t\tjlast := isave[1]\n\t\tisave[1] = bi.Idamax(n, x, 1)\n\t\tif x[jlast] != math.Abs(x[isave[1]]) && isave[2] < itmax {\n\t\t\tisave[2] += 1\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tx[i] = 0\n\t\t\t}\n\t\t\tx[isave[1]] = 1\n\t\t\tkase = 1\n\t\t\tisave[0] = 3\n\t\t\treturn est, kase\n\t\t}\n\tcase 5:\n\t\ttmp := 2 * (bi.Dasum(n, x, 1)) / float64(3*n)\n\t\tif tmp > est {\n\t\t\tbi.Dcopy(n, x, 1, v, 1)\n\t\t\test = tmp\n\t\t}\n\t\tkase = 0\n\t\treturn est, kase\n\t}\n\t// Iteration complete. Final stage\n\taltsgn := 1.0\n\tfor i := 0; i < n; i++ {\n\t\tx[i] = altsgn * (1 + float64(i)/float64(n-1))\n\t\taltsgn *= -1\n\t}\n\tkase = 1\n\tisave[0] = 5\n\treturn est, kase\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlacpy.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dlacpy copies the elements of A specified by uplo into B. Uplo can specify\n// a triangular portion with blas.Upper or blas.Lower, or can specify all of the\n// elemest with blas.All.\n//\n// Dlacpy is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlacpy(uplo blas.Uplo, m, n int, a []float64, lda int, b []float64, ldb int) {\n\tcheckMatrix(m, n, a, lda)\n\tcheckMatrix(m, n, b, ldb)\n\tswitch uplo {\n\tdefault:\n\t\tpanic(badUplo)\n\tcase blas.Upper:\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := i; j < n; j++ {\n\t\t\t\tb[i*ldb+j] = a[i*lda+j]\n\t\t\t}\n\t\t}\n\n\tcase blas.Lower:\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := 0; j < min(i+1, n); j++ {\n\t\t\t\tb[i*ldb+j] = a[i*lda+j]\n\t\t\t}\n\t\t}\n\tcase blas.All:\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tb[i*ldb+j] = a[i*lda+j]\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlae2.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlae2 computes the eigenvalues of a 2×2 symmetric matrix\n//  [a b]\n//  [b c]\n// and returns the eigenvalue with the larger absolute value as rt1 and the\n// smaller as rt2.\n//\n// Dlae2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlae2(a, b, c float64) (rt1, rt2 float64) {\n\tsm := a + c\n\tdf := a - c\n\tadf := math.Abs(df)\n\ttb := b + b\n\tab := math.Abs(tb)\n\tacmx := c\n\tacmn := a\n\tif math.Abs(a) > math.Abs(c) {\n\t\tacmx = a\n\t\tacmn = c\n\t}\n\tvar rt float64\n\tif adf > ab {\n\t\trt = adf * math.Sqrt(1+(ab/adf)*(ab/adf))\n\t} else if adf < ab {\n\t\trt = ab * math.Sqrt(1+(adf/ab)*(adf/ab))\n\t} else {\n\t\trt = ab * math.Sqrt2\n\t}\n\tif sm < 0 {\n\t\trt1 = 0.5 * (sm - rt)\n\t\trt2 = (acmx/rt1)*acmn - (b/rt1)*b\n\t\treturn rt1, rt2\n\t}\n\tif sm > 0 {\n\t\trt1 = 0.5 * (sm + rt)\n\t\trt2 = (acmx/rt1)*acmn - (b/rt1)*b\n\t\treturn rt1, rt2\n\t}\n\trt1 = 0.5 * rt\n\trt2 = -0.5 * rt\n\treturn rt1, rt2\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlaev2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlaev2 computes the Eigen decomposition of a symmetric 2×2 matrix.\n// The matrix is given by\n//  [a b]\n//  [b c]\n// Dlaev2 returns rt1 and rt2, the eigenvalues of the matrix where |RT1| > |RT2|,\n// and [cs1, sn1] which is the unit right eigenvalue for RT1.\n//  [ cs1 sn1] [a b] [cs1 -sn1] = [rt1   0]\n//  [-sn1 cs1] [b c] [sn1  cs1]   [  0 rt2]\n//\n// Dlaev2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlaev2(a, b, c float64) (rt1, rt2, cs1, sn1 float64) {\n\tsm := a + c\n\tdf := a - c\n\tadf := math.Abs(df)\n\ttb := b + b\n\tab := math.Abs(tb)\n\tacmx := c\n\tacmn := a\n\tif math.Abs(a) > math.Abs(c) {\n\t\tacmx = a\n\t\tacmn = c\n\t}\n\tvar rt float64\n\tif adf > ab {\n\t\trt = adf * math.Sqrt(1+(ab/adf)*(ab/adf))\n\t} else if adf < ab {\n\t\trt = ab * math.Sqrt(1+(adf/ab)*(adf/ab))\n\t} else {\n\t\trt = ab * math.Sqrt(2)\n\t}\n\tvar sgn1 float64\n\tif sm < 0 {\n\t\trt1 = 0.5 * (sm - rt)\n\t\tsgn1 = -1\n\t\trt2 = (acmx/rt1)*acmn - (b/rt1)*b\n\t} else if sm > 0 {\n\t\trt1 = 0.5 * (sm + rt)\n\t\tsgn1 = 1\n\t\trt2 = (acmx/rt1)*acmn - (b/rt1)*b\n\t} else {\n\t\trt1 = 0.5 * rt\n\t\trt2 = -0.5 * rt\n\t\tsgn1 = 1\n\t}\n\tvar cs, sgn2 float64\n\tif df >= 0 {\n\t\tcs = df + rt\n\t\tsgn2 = 1\n\t} else {\n\t\tcs = df - rt\n\t\tsgn2 = -1\n\t}\n\tacs := math.Abs(cs)\n\tif acs > ab {\n\t\tct := -tb / cs\n\t\tsn1 = 1 / math.Sqrt(1+ct*ct)\n\t\tcs1 = ct * sn1\n\t} else {\n\t\tif ab == 0 {\n\t\t\tcs1 = 1\n\t\t\tsn1 = 0\n\t\t} else {\n\t\t\ttn := -cs / tb\n\t\t\tcs1 = 1 / math.Sqrt(1+tn*tn)\n\t\t\tsn1 = tn * cs1\n\t\t}\n\t}\n\tif sgn1 == sgn2 {\n\t\ttn := cs1\n\t\tcs1 = -sn1\n\t\tsn1 = tn\n\t}\n\treturn rt1, rt2, cs1, sn1\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlaexc.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlaexc swaps two adjacent diagonal blocks of order 1 or 2 in an n×n upper\n// quasi-triangular matrix T by an orthogonal similarity transformation.\n//\n// T must be in Schur canonical form, that is, block upper triangular with 1×1\n// and 2×2 diagonal blocks; each 2×2 diagonal block has its diagonal elements\n// equal and its off-diagonal elements of opposite sign. On return, T will\n// contain the updated matrix again in Schur canonical form.\n//\n// If wantq is true, the transformation is accumulated in the n×n matrix Q,\n// otherwise Q is not referenced.\n//\n// j1 is the index of the first row of the first block. n1 and n2 are the order\n// of the first and second block, respectively.\n//\n// work must have length at least n, otherwise Dlaexc will panic.\n//\n// If ok is false, the transformed matrix T would be too far from Schur form.\n// The blocks are not swapped, and T and Q are not modified.\n//\n// If n1 and n2 are both equal to 1, Dlaexc will always return true.\n//\n// Dlaexc is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlaexc(wantq bool, n int, t []float64, ldt int, q []float64, ldq int, j1, n1, n2 int, work []float64) (ok bool) {\n\tcheckMatrix(n, n, t, ldt)\n\tif wantq {\n\t\tcheckMatrix(n, n, q, ldq)\n\t}\n\tif j1 < 0 || n <= j1 {\n\t\tpanic(\"lapack: index j1 out of range\")\n\t}\n\tif len(work) < n {\n\t\tpanic(badWork)\n\t}\n\tif n1 < 0 || 2 < n1 {\n\t\tpanic(\"lapack: invalid value of n1\")\n\t}\n\tif n2 < 0 || 2 < n2 {\n\t\tpanic(\"lapack: invalid value of n2\")\n\t}\n\n\tif n == 0 || n1 == 0 || n2 == 0 {\n\t\treturn true\n\t}\n\tif j1+n1 >= n {\n\t\t// TODO(vladimir-ch): Reference LAPACK does this check whether\n\t\t// the start of the second block is in the matrix T. It returns\n\t\t// true if it is not and moreover it does not check whether the\n\t\t// whole second block fits into T. This does not feel\n\t\t// satisfactory. The only caller of Dlaexc is Dtrexc, so if the\n\t\t// caller makes sure that this does not happen, we could be\n\t\t// stricter here.\n\t\treturn true\n\t}\n\n\tj2 := j1 + 1\n\tj3 := j1 + 2\n\n\tbi := blas64.Implementation()\n\n\tif n1 == 1 && n2 == 1 {\n\t\t// Swap two 1×1 blocks.\n\t\tt11 := t[j1*ldt+j1]\n\t\tt22 := t[j2*ldt+j2]\n\n\t\t// Determine the transformation to perform the interchange.\n\t\tcs, sn, _ := impl.Dlartg(t[j1*ldt+j2], t22-t11)\n\n\t\t// Apply transformation to the matrix T.\n\t\tif n-j3 > 0 {\n\t\t\tbi.Drot(n-j3, t[j1*ldt+j3:], 1, t[j2*ldt+j3:], 1, cs, sn)\n\t\t}\n\t\tif j1 > 0 {\n\t\t\tbi.Drot(j1, t[j1:], ldt, t[j2:], ldt, cs, sn)\n\t\t}\n\n\t\tt[j1*ldt+j1] = t22\n\t\tt[j2*ldt+j2] = t11\n\n\t\tif wantq {\n\t\t\t// Accumulate transformation in the matrix Q.\n\t\t\tbi.Drot(n, q[j1:], ldq, q[j2:], ldq, cs, sn)\n\t\t}\n\n\t\treturn true\n\t}\n\n\t// Swapping involves at least one 2×2 block.\n\t//\n\t// Copy the diagonal block of order n1+n2 to the local array d and\n\t// compute its norm.\n\tnd := n1 + n2\n\tvar d [16]float64\n\tconst ldd = 4\n\timpl.Dlacpy(blas.All, nd, nd, t[j1*ldt+j1:], ldt, d[:], ldd)\n\tdnorm := impl.Dlange(lapack.MaxAbs, nd, nd, d[:], ldd, work)\n\n\t// Compute machine-dependent threshold for test for accepting swap.\n\teps := dlamchP\n\tthresh := math.Max(10*eps*dnorm, dlamchS/eps)\n\n\t// Solve T11*X - X*T22 = scale*T12 for X.\n\tvar x [4]float64\n\tconst ldx = 2\n\tscale, _, _ := impl.Dlasy2(false, false, -1, n1, n2, d[:], ldd, d[n1*ldd+n1:], ldd, d[n1:], ldd, x[:], ldx)\n\n\t// Swap the adjacent diagonal blocks.\n\tswitch {\n\tcase n1 == 1 && n2 == 2:\n\t\t// Generate elementary reflector H so that\n\t\t//  ( scale, X11, X12 ) H = ( 0, 0, * )\n\t\tu := [3]float64{scale, x[0], 1}\n\t\t_, tau := impl.Dlarfg(3, x[1], u[:2], 1)\n\t\tt11 := t[j1*ldt+j1]\n\n\t\t// Perform swap provisionally on diagonal block in d.\n\t\timpl.Dlarfx(blas.Left, 3, 3, u[:], tau, d[:], ldd, work)\n\t\timpl.Dlarfx(blas.Right, 3, 3, u[:], tau, d[:], ldd, work)\n\n\t\t// Test whether to reject swap.\n\t\tif math.Max(math.Abs(d[2*ldd]), math.Max(math.Abs(d[2*ldd+1]), math.Abs(d[2*ldd+2]-t11))) > thresh {\n\t\t\treturn false\n\t\t}\n\n\t\t// Accept swap: apply transformation to the entire matrix T.\n\t\timpl.Dlarfx(blas.Left, 3, n-j1, u[:], tau, t[j1*ldt+j1:], ldt, work)\n\t\timpl.Dlarfx(blas.Right, j2+1, 3, u[:], tau, t[j1:], ldt, work)\n\n\t\tt[j3*ldt+j1] = 0\n\t\tt[j3*ldt+j2] = 0\n\t\tt[j3*ldt+j3] = t11\n\n\t\tif wantq {\n\t\t\t// Accumulate transformation in the matrix Q.\n\t\t\timpl.Dlarfx(blas.Right, n, 3, u[:], tau, q[j1:], ldq, work)\n\t\t}\n\n\tcase n1 == 2 && n2 == 1:\n\t\t//  Generate elementary reflector H so that:\n\t\t//   H (  -X11 ) = ( * )\n\t\t//     (  -X21 ) = ( 0 )\n\t\t//     ( scale ) = ( 0 )\n\t\tu := [3]float64{1, -x[ldx], scale}\n\t\t_, tau := impl.Dlarfg(3, -x[0], u[1:], 1)\n\t\tt33 := t[j3*ldt+j3]\n\n\t\t// Perform swap provisionally on diagonal block in D.\n\t\timpl.Dlarfx(blas.Left, 3, 3, u[:], tau, d[:], ldd, work)\n\t\timpl.Dlarfx(blas.Right, 3, 3, u[:], tau, d[:], ldd, work)\n\n\t\t// Test whether to reject swap.\n\t\tif math.Max(math.Abs(d[ldd]), math.Max(math.Abs(d[2*ldd]), math.Abs(d[0]-t33))) > thresh {\n\t\t\treturn false\n\t\t}\n\n\t\t// Accept swap: apply transformation to the entire matrix T.\n\t\timpl.Dlarfx(blas.Right, j3+1, 3, u[:], tau, t[j1:], ldt, work)\n\t\timpl.Dlarfx(blas.Left, 3, n-j1-1, u[:], tau, t[j1*ldt+j2:], ldt, work)\n\n\t\tt[j1*ldt+j1] = t33\n\t\tt[j2*ldt+j1] = 0\n\t\tt[j3*ldt+j1] = 0\n\n\t\tif wantq {\n\t\t\t// Accumulate transformation in the matrix Q.\n\t\t\timpl.Dlarfx(blas.Right, n, 3, u[:], tau, q[j1:], ldq, work)\n\t\t}\n\n\tdefault: // n1 == 2 && n2 == 2\n\t\t// Generate elementary reflectors H_1 and H_2 so that:\n\t\t//  H_2 H_1 (  -X11  -X12 ) = (  *  * )\n\t\t//          (  -X21  -X22 )   (  0  * )\n\t\t//          ( scale    0  )   (  0  0 )\n\t\t//          (    0  scale )   (  0  0 )\n\t\tu1 := [3]float64{1, -x[ldx], scale}\n\t\t_, tau1 := impl.Dlarfg(3, -x[0], u1[1:], 1)\n\n\t\ttemp := -tau1 * (x[1] + u1[1]*x[ldx+1])\n\t\tu2 := [3]float64{1, -temp * u1[2], scale}\n\t\t_, tau2 := impl.Dlarfg(3, -temp*u1[1]-x[ldx+1], u2[1:], 1)\n\n\t\t// Perform swap provisionally on diagonal block in D.\n\t\timpl.Dlarfx(blas.Left, 3, 4, u1[:], tau1, d[:], ldd, work)\n\t\timpl.Dlarfx(blas.Right, 4, 3, u1[:], tau1, d[:], ldd, work)\n\t\timpl.Dlarfx(blas.Left, 3, 4, u2[:], tau2, d[ldd:], ldd, work)\n\t\timpl.Dlarfx(blas.Right, 4, 3, u2[:], tau2, d[1:], ldd, work)\n\n\t\t// Test whether to reject swap.\n\t\tm1 := math.Max(math.Abs(d[2*ldd]), math.Abs(d[2*ldd+1]))\n\t\tm2 := math.Max(math.Abs(d[3*ldd]), math.Abs(d[3*ldd+1]))\n\t\tif math.Max(m1, m2) > thresh {\n\t\t\treturn false\n\t\t}\n\n\t\t// Accept swap: apply transformation to the entire matrix T.\n\t\tj4 := j1 + 3\n\t\timpl.Dlarfx(blas.Left, 3, n-j1, u1[:], tau1, t[j1*ldt+j1:], ldt, work)\n\t\timpl.Dlarfx(blas.Right, j4+1, 3, u1[:], tau1, t[j1:], ldt, work)\n\t\timpl.Dlarfx(blas.Left, 3, n-j1, u2[:], tau2, t[j2*ldt+j1:], ldt, work)\n\t\timpl.Dlarfx(blas.Right, j4+1, 3, u2[:], tau2, t[j2:], ldt, work)\n\n\t\tt[j3*ldt+j1] = 0\n\t\tt[j3*ldt+j2] = 0\n\t\tt[j4*ldt+j1] = 0\n\t\tt[j4*ldt+j2] = 0\n\n\t\tif wantq {\n\t\t\t// Accumulate transformation in the matrix Q.\n\t\t\timpl.Dlarfx(blas.Right, n, 3, u1[:], tau1, q[j1:], ldq, work)\n\t\t\timpl.Dlarfx(blas.Right, n, 3, u2[:], tau2, q[j2:], ldq, work)\n\t\t}\n\t}\n\n\tif n2 == 2 {\n\t\t// Standardize new 2×2 block T11.\n\t\ta, b := t[j1*ldt+j1], t[j1*ldt+j2]\n\t\tc, d := t[j2*ldt+j1], t[j2*ldt+j2]\n\t\tvar cs, sn float64\n\t\tt[j1*ldt+j1], t[j1*ldt+j2], t[j2*ldt+j1], t[j2*ldt+j2], _, _, _, _, cs, sn = impl.Dlanv2(a, b, c, d)\n\t\tif n-j1-2 > 0 {\n\t\t\tbi.Drot(n-j1-2, t[j1*ldt+j1+2:], 1, t[j2*ldt+j1+2:], 1, cs, sn)\n\t\t}\n\t\tif j1 > 0 {\n\t\t\tbi.Drot(j1, t[j1:], ldt, t[j2:], ldt, cs, sn)\n\t\t}\n\t\tif wantq {\n\t\t\tbi.Drot(n, q[j1:], ldq, q[j2:], ldq, cs, sn)\n\t\t}\n\t}\n\tif n1 == 2 {\n\t\t// Standardize new 2×2 block T22.\n\t\tj3 := j1 + n2\n\t\tj4 := j3 + 1\n\t\ta, b := t[j3*ldt+j3], t[j3*ldt+j4]\n\t\tc, d := t[j4*ldt+j3], t[j4*ldt+j4]\n\t\tvar cs, sn float64\n\t\tt[j3*ldt+j3], t[j3*ldt+j4], t[j4*ldt+j3], t[j4*ldt+j4], _, _, _, _, cs, sn = impl.Dlanv2(a, b, c, d)\n\t\tif n-j3-2 > 0 {\n\t\t\tbi.Drot(n-j3-2, t[j3*ldt+j3+2:], 1, t[j4*ldt+j3+2:], 1, cs, sn)\n\t\t}\n\t\tbi.Drot(j3, t[j3:], ldt, t[j4:], ldt, cs, sn)\n\t\tif wantq {\n\t\t\tbi.Drot(n, q[j3:], ldq, q[j4:], ldq, cs, sn)\n\t\t}\n\t}\n\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlags2.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlags2 computes 2-by-2 orthogonal matrices U, V and Q with the\n// triangles of A and B specified by upper.\n//\n// If upper is true\n//\n//  U^T*A*Q = U^T*[ a1 a2 ]*Q = [ x  0 ]\n//                [ 0  a3 ]     [ x  x ]\n// and\n//  V^T*B*Q = V^T*[ b1 b2 ]*Q = [ x  0 ]\n//                [ 0  b3 ]     [ x  x ]\n//\n// otherwise\n//\n//  U^T*A*Q = U^T*[ a1 0  ]*Q = [ x  x ]\n//                [ a2 a3 ]     [ 0  x ]\n// and\n//  V^T*B*Q = V^T*[ b1 0  ]*Q = [ x  x ]\n//                [ b2 b3 ]     [ 0  x ].\n//\n// The rows of the transformed A and B are parallel, where\n//\n//  U = [  csu  snu ], V = [  csv snv ], Q = [  csq   snq ]\n//      [ -snu  csu ]      [ -snv csv ]      [ -snq   csq ]\n//\n// Dlags2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlags2(upper bool, a1, a2, a3, b1, b2, b3 float64) (csu, snu, csv, snv, csq, snq float64) {\n\tif upper {\n\t\t// Input matrices A and B are upper triangular matrices.\n\t\t//\n\t\t// Form matrix C = A*adj(B) = [ a b ]\n\t\t//                            [ 0 d ]\n\t\ta := a1 * b3\n\t\td := a3 * b1\n\t\tb := a2*b1 - a1*b2\n\n\t\t// The SVD of real 2-by-2 triangular C.\n\t\t//\n\t\t//  [ csl -snl ]*[ a b ]*[  csr  snr ] = [ r 0 ]\n\t\t//  [ snl  csl ] [ 0 d ] [ -snr  csr ]   [ 0 t ]\n\t\t_, _, snr, csr, snl, csl := impl.Dlasv2(a, b, d)\n\n\t\tif math.Abs(csl) >= math.Abs(snl) || math.Abs(csr) >= math.Abs(snr) {\n\t\t\t// Compute the [0, 0] and [0, 1] elements of U^T*A and V^T*B,\n\t\t\t// and [0, 1] element of |U|^T*|A| and |V|^T*|B|.\n\n\t\t\tua11r := csl * a1\n\t\t\tua12 := csl*a2 + snl*a3\n\n\t\t\tvb11r := csr * b1\n\t\t\tvb12 := csr*b2 + snr*b3\n\n\t\t\taua12 := math.Abs(csl)*math.Abs(a2) + math.Abs(snl)*math.Abs(a3)\n\t\t\tavb12 := math.Abs(csr)*math.Abs(b2) + math.Abs(snr)*math.Abs(b3)\n\n\t\t\t// Zero [0, 1] elements of U^T*A and V^T*B.\n\t\t\tif math.Abs(ua11r)+math.Abs(ua12) != 0 {\n\t\t\t\tif aua12/(math.Abs(ua11r)+math.Abs(ua12)) <= avb12/(math.Abs(vb11r)+math.Abs(vb12)) {\n\t\t\t\t\tcsq, snq, _ = impl.Dlartg(-ua11r, ua12)\n\t\t\t\t} else {\n\t\t\t\t\tcsq, snq, _ = impl.Dlartg(-vb11r, vb12)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcsq, snq, _ = impl.Dlartg(-vb11r, vb12)\n\t\t\t}\n\n\t\t\tcsu = csl\n\t\t\tsnu = -snl\n\t\t\tcsv = csr\n\t\t\tsnv = -snr\n\t\t} else {\n\t\t\t// Compute the [1, 0] and [1, 1] elements of U^T*A and V^T*B,\n\t\t\t// and [1, 1] element of |U|^T*|A| and |V|^T*|B|.\n\n\t\t\tua21 := -snl * a1\n\t\t\tua22 := -snl*a2 + csl*a3\n\n\t\t\tvb21 := -snr * b1\n\t\t\tvb22 := -snr*b2 + csr*b3\n\n\t\t\taua22 := math.Abs(snl)*math.Abs(a2) + math.Abs(csl)*math.Abs(a3)\n\t\t\tavb22 := math.Abs(snr)*math.Abs(b2) + math.Abs(csr)*math.Abs(b3)\n\n\t\t\t// Zero [1, 1] elements of U^T*A and V^T*B, and then swap.\n\t\t\tif math.Abs(ua21)+math.Abs(ua22) != 0 {\n\t\t\t\tif aua22/(math.Abs(ua21)+math.Abs(ua22)) <= avb22/(math.Abs(vb21)+math.Abs(vb22)) {\n\t\t\t\t\tcsq, snq, _ = impl.Dlartg(-ua21, ua22)\n\t\t\t\t} else {\n\t\t\t\t\tcsq, snq, _ = impl.Dlartg(-vb21, vb22)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcsq, snq, _ = impl.Dlartg(-vb21, vb22)\n\t\t\t}\n\n\t\t\tcsu = snl\n\t\t\tsnu = csl\n\t\t\tcsv = snr\n\t\t\tsnv = csr\n\t\t}\n\t} else {\n\t\t// Input matrices A and B are lower triangular matrices\n\t\t//\n\t\t// Form matrix C = A*adj(B) = [ a 0 ]\n\t\t//                            [ c d ]\n\t\ta := a1 * b3\n\t\td := a3 * b1\n\t\tc := a2*b3 - a3*b2\n\n\t\t// The SVD of real 2-by-2 triangular C\n\t\t//\n\t\t// [ csl -snl ]*[ a 0 ]*[  csr  snr ] = [ r 0 ]\n\t\t// [ snl  csl ] [ c d ] [ -snr  csr ]   [ 0 t ]\n\t\t_, _, snr, csr, snl, csl := impl.Dlasv2(a, c, d)\n\n\t\tif math.Abs(csr) >= math.Abs(snr) || math.Abs(csl) >= math.Abs(snl) {\n\t\t\t// Compute the [1, 0] and [1, 1] elements of U^T*A and V^T*B,\n\t\t\t// and [1, 0] element of |U|^T*|A| and |V|^T*|B|.\n\n\t\t\tua21 := -snr*a1 + csr*a2\n\t\t\tua22r := csr * a3\n\n\t\t\tvb21 := -snl*b1 + csl*b2\n\t\t\tvb22r := csl * b3\n\n\t\t\taua21 := math.Abs(snr)*math.Abs(a1) + math.Abs(csr)*math.Abs(a2)\n\t\t\tavb21 := math.Abs(snl)*math.Abs(b1) + math.Abs(csl)*math.Abs(b2)\n\n\t\t\t// Zero [1, 0] elements of U^T*A and V^T*B.\n\t\t\tif (math.Abs(ua21) + math.Abs(ua22r)) != 0 {\n\t\t\t\tif aua21/(math.Abs(ua21)+math.Abs(ua22r)) <= avb21/(math.Abs(vb21)+math.Abs(vb22r)) {\n\t\t\t\t\tcsq, snq, _ = impl.Dlartg(ua22r, ua21)\n\t\t\t\t} else {\n\t\t\t\t\tcsq, snq, _ = impl.Dlartg(vb22r, vb21)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcsq, snq, _ = impl.Dlartg(vb22r, vb21)\n\t\t\t}\n\n\t\t\tcsu = csr\n\t\t\tsnu = -snr\n\t\t\tcsv = csl\n\t\t\tsnv = -snl\n\t\t} else {\n\t\t\t// Compute the [0, 0] and [0, 1] elements of U^T *A and V^T *B,\n\t\t\t// and [0, 0] element of |U|^T*|A| and |V|^T*|B|.\n\n\t\t\tua11 := csr*a1 + snr*a2\n\t\t\tua12 := snr * a3\n\n\t\t\tvb11 := csl*b1 + snl*b2\n\t\t\tvb12 := snl * b3\n\n\t\t\taua11 := math.Abs(csr)*math.Abs(a1) + math.Abs(snr)*math.Abs(a2)\n\t\t\tavb11 := math.Abs(csl)*math.Abs(b1) + math.Abs(snl)*math.Abs(b2)\n\n\t\t\t// Zero [0, 0] elements of U^T*A and V^T*B, and then swap.\n\t\t\tif (math.Abs(ua11) + math.Abs(ua12)) != 0 {\n\t\t\t\tif aua11/(math.Abs(ua11)+math.Abs(ua12)) <= avb11/(math.Abs(vb11)+math.Abs(vb12)) {\n\t\t\t\t\tcsq, snq, _ = impl.Dlartg(ua12, ua11)\n\t\t\t\t} else {\n\t\t\t\t\tcsq, snq, _ = impl.Dlartg(vb12, vb11)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcsq, snq, _ = impl.Dlartg(vb12, vb11)\n\t\t\t}\n\n\t\t\tcsu = snr\n\t\t\tsnu = csr\n\t\t\tcsv = snl\n\t\t\tsnv = csl\n\t\t}\n\t}\n\n\treturn csu, snu, csv, snv, csq, snq\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlahqr.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dlahqr computes the eigenvalues and Schur factorization of a block of an n×n\n// upper Hessenberg matrix H, using the double-shift/single-shift QR algorithm.\n//\n// h and ldh represent the matrix H. Dlahqr works primarily with the Hessenberg\n// submatrix H[ilo:ihi+1,ilo:ihi+1], but applies transformations to all of H if\n// wantt is true. It is assumed that H[ihi+1:n,ihi+1:n] is already upper\n// quasi-triangular, although this is not checked.\n//\n// It must hold that\n//  0 <= ilo <= max(0,ihi), and ihi < n,\n// and that\n//  H[ilo,ilo-1] == 0,  if ilo > 0,\n// otherwise Dlahqr will panic.\n//\n// If unconverged is zero on return, wr[ilo:ihi+1] and wi[ilo:ihi+1] will contain\n// respectively the real and imaginary parts of the computed eigenvalues ilo\n// to ihi. If two eigenvalues are computed as a complex conjugate pair, they are\n// stored in consecutive elements of wr and wi, say the i-th and (i+1)th, with\n// wi[i] > 0 and wi[i+1] < 0. If wantt is true, the eigenvalues are stored in\n// the same order as on the diagonal of the Schur form returned in H, with\n// wr[i] = H[i,i], and, if H[i:i+2,i:i+2] is a 2×2 diagonal block,\n// wi[i] = sqrt(abs(H[i+1,i]*H[i,i+1])) and wi[i+1] = -wi[i].\n//\n// wr and wi must have length ihi+1.\n//\n// z and ldz represent an n×n matrix Z. If wantz is true, the transformations\n// will be applied to the submatrix Z[iloz:ihiz+1,ilo:ihi+1] and it must hold that\n//  0 <= iloz <= ilo, and ihi <= ihiz < n.\n// If wantz is false, z is not referenced.\n//\n// unconverged indicates whether Dlahqr computed all the eigenvalues ilo to ihi\n// in a total of 30 iterations per eigenvalue.\n//\n// If unconverged is zero, all the eigenvalues ilo to ihi have been computed and\n// will be stored on return in wr[ilo:ihi+1] and wi[ilo:ihi+1].\n//\n// If unconverged is zero and wantt is true, H[ilo:ihi+1,ilo:ihi+1] will be\n// overwritten on return by upper quasi-triangular full Schur form with any\n// 2×2 diagonal blocks in standard form.\n//\n// If unconverged is zero and if wantt is false, the contents of h on return is\n// unspecified.\n//\n// If unconverged is positive, some eigenvalues have not converged, and\n// wr[unconverged:ihi+1] and wi[unconverged:ihi+1] contain those eigenvalues\n// which have been successfully computed.\n//\n// If unconverged is positive and wantt is true, then on return\n//  (initial H)*U = U*(final H),   (*)\n// where U is an orthogonal matrix. The final H is upper Hessenberg and\n// H[unconverged:ihi+1,unconverged:ihi+1] is upper quasi-triangular.\n//\n// If unconverged is positive and wantt is false, on return the remaining\n// unconverged eigenvalues are the eigenvalues of the upper Hessenberg matrix\n// H[ilo:unconverged,ilo:unconverged].\n//\n// If unconverged is positive and wantz is true, then on return\n//  (final Z) = (initial Z)*U,\n// where U is the orthogonal matrix in (*) regardless of the value of wantt.\n//\n// Dlahqr is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlahqr(wantt, wantz bool, n, ilo, ihi int, h []float64, ldh int, wr, wi []float64, iloz, ihiz int, z []float64, ldz int) (unconverged int) {\n\tcheckMatrix(n, n, h, ldh)\n\tswitch {\n\tcase ilo < 0 || max(0, ihi) < ilo:\n\t\tpanic(badIlo)\n\tcase n <= ihi:\n\t\tpanic(badIhi)\n\tcase len(wr) != ihi+1:\n\t\tpanic(\"lapack: bad length of wr\")\n\tcase len(wi) != ihi+1:\n\t\tpanic(\"lapack: bad length of wi\")\n\tcase ilo > 0 && h[ilo*ldh+ilo-1] != 0:\n\t\tpanic(\"lapack: block is not isolated\")\n\t}\n\tif wantz {\n\t\tcheckMatrix(n, n, z, ldz)\n\t\tswitch {\n\t\tcase iloz < 0 || ilo < iloz:\n\t\t\tpanic(\"lapack: iloz out of range\")\n\t\tcase ihiz < ihi || n <= ihiz:\n\t\t\tpanic(\"lapack: ihiz out of range\")\n\t\t}\n\t}\n\n\t// Quick return if possible.\n\tif n == 0 {\n\t\treturn 0\n\t}\n\tif ilo == ihi {\n\t\twr[ilo] = h[ilo*ldh+ilo]\n\t\twi[ilo] = 0\n\t\treturn 0\n\t}\n\n\t// Clear out the trash.\n\tfor j := ilo; j < ihi-2; j++ {\n\t\th[(j+2)*ldh+j] = 0\n\t\th[(j+3)*ldh+j] = 0\n\t}\n\tif ilo <= ihi-2 {\n\t\th[ihi*ldh+ihi-2] = 0\n\t}\n\n\tnh := ihi - ilo + 1\n\tnz := ihiz - iloz + 1\n\n\t// Set machine-dependent constants for the stopping criterion.\n\tulp := dlamchP\n\tsmlnum := float64(nh) / ulp * dlamchS\n\n\t// i1 and i2 are the indices of the first row and last column of H to\n\t// which transformations must be applied. If eigenvalues only are being\n\t// computed, i1 and i2 are set inside the main loop.\n\tvar i1, i2 int\n\tif wantt {\n\t\ti1 = 0\n\t\ti2 = n - 1\n\t}\n\n\titmax := 30 * max(10, nh) // Total number of QR iterations allowed.\n\n\t// The main loop begins here. i is the loop index and decreases from ihi\n\t// to ilo in steps of 1 or 2. Each iteration of the loop works with the\n\t// active submatrix in rows and columns l to i. Eigenvalues i+1 to ihi\n\t// have already converged. Either l = ilo or H[l,l-1] is negligible so\n\t// that the matrix splits.\n\tbi := blas64.Implementation()\n\ti := ihi\n\tfor i >= ilo {\n\t\tl := ilo\n\n\t\t// Perform QR iterations on rows and columns ilo to i until a\n\t\t// submatrix of order 1 or 2 splits off at the bottom because a\n\t\t// subdiagonal element has become negligible.\n\t\tconverged := false\n\t\tfor its := 0; its <= itmax; its++ {\n\t\t\t// Look for a single small subdiagonal element.\n\t\t\tvar k int\n\t\t\tfor k = i; k > l; k-- {\n\t\t\t\tif math.Abs(h[k*ldh+k-1]) <= smlnum {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\ttst := math.Abs(h[(k-1)*ldh+k-1]) + math.Abs(h[k*ldh+k])\n\t\t\t\tif tst == 0 {\n\t\t\t\t\tif k-2 >= ilo {\n\t\t\t\t\t\ttst += math.Abs(h[(k-1)*ldh+k-2])\n\t\t\t\t\t}\n\t\t\t\t\tif k+1 <= ihi {\n\t\t\t\t\t\ttst += math.Abs(h[(k+1)*ldh+k])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// The following is a conservative small\n\t\t\t\t// subdiagonal deflation criterion due to Ahues\n\t\t\t\t// & Tisseur (LAWN 122, 1997). It has better\n\t\t\t\t// mathematical foundation and improves accuracy\n\t\t\t\t// in some cases.\n\t\t\t\tif math.Abs(h[k*ldh+k-1]) <= ulp*tst {\n\t\t\t\t\tab := math.Max(math.Abs(h[k*ldh+k-1]), math.Abs(h[(k-1)*ldh+k]))\n\t\t\t\t\tba := math.Min(math.Abs(h[k*ldh+k-1]), math.Abs(h[(k-1)*ldh+k]))\n\t\t\t\t\taa := math.Max(math.Abs(h[k*ldh+k]), math.Abs(h[(k-1)*ldh+k-1]-h[k*ldh+k]))\n\t\t\t\t\tbb := math.Min(math.Abs(h[k*ldh+k]), math.Abs(h[(k-1)*ldh+k-1]-h[k*ldh+k]))\n\t\t\t\t\ts := aa + ab\n\t\t\t\t\tif ab/s*ba <= math.Max(smlnum, aa/s*bb*ulp) {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tl = k\n\t\t\tif l > ilo {\n\t\t\t\t// H[l,l-1] is negligible.\n\t\t\t\th[l*ldh+l-1] = 0\n\t\t\t}\n\t\t\tif l >= i-1 {\n\t\t\t\t// Break the loop because a submatrix of order 1\n\t\t\t\t// or 2 has split off.\n\t\t\t\tconverged = true\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\t// Now the active submatrix is in rows and columns l to\n\t\t\t// i. If eigenvalues only are being computed, only the\n\t\t\t// active submatrix need be transformed.\n\t\t\tif !wantt {\n\t\t\t\ti1 = l\n\t\t\t\ti2 = i\n\t\t\t}\n\n\t\t\tconst (\n\t\t\t\tdat1 = 3.0\n\t\t\t\tdat2 = -0.4375\n\t\t\t)\n\t\t\tvar h11, h21, h12, h22 float64\n\t\t\tswitch its {\n\t\t\tcase 10: // Exceptional shift.\n\t\t\t\ts := math.Abs(h[(l+1)*ldh+l]) + math.Abs(h[(l+2)*ldh+l+1])\n\t\t\t\th11 = dat1*s + h[l*ldh+l]\n\t\t\t\th12 = dat2 * s\n\t\t\t\th21 = s\n\t\t\t\th22 = h11\n\t\t\tcase 20: // Exceptional shift.\n\t\t\t\ts := math.Abs(h[i*ldh+i-1]) + math.Abs(h[(i-1)*ldh+i-2])\n\t\t\t\th11 = dat1*s + h[i*ldh+i]\n\t\t\t\th12 = dat2 * s\n\t\t\t\th21 = s\n\t\t\t\th22 = h11\n\t\t\tdefault: // Prepare to use Francis' double shift (i.e.,\n\t\t\t\t// 2nd degree generalized Rayleigh quotient).\n\t\t\t\th11 = h[(i-1)*ldh+i-1]\n\t\t\t\th21 = h[i*ldh+i-1]\n\t\t\t\th12 = h[(i-1)*ldh+i]\n\t\t\t\th22 = h[i*ldh+i]\n\t\t\t}\n\t\t\ts := math.Abs(h11) + math.Abs(h12) + math.Abs(h21) + math.Abs(h22)\n\t\t\tvar (\n\t\t\t\trt1r, rt1i float64\n\t\t\t\trt2r, rt2i float64\n\t\t\t)\n\t\t\tif s != 0 {\n\t\t\t\th11 /= s\n\t\t\t\th21 /= s\n\t\t\t\th12 /= s\n\t\t\t\th22 /= s\n\t\t\t\ttr := (h11 + h22) / 2\n\t\t\t\tdet := (h11-tr)*(h22-tr) - h12*h21\n\t\t\t\trtdisc := math.Sqrt(math.Abs(det))\n\t\t\t\tif det >= 0 {\n\t\t\t\t\t// Complex conjugate shifts.\n\t\t\t\t\trt1r = tr * s\n\t\t\t\t\trt2r = rt1r\n\t\t\t\t\trt1i = rtdisc * s\n\t\t\t\t\trt2i = -rt1i\n\t\t\t\t} else {\n\t\t\t\t\t// Real shifts (use only one of them).\n\t\t\t\t\trt1r = tr + rtdisc\n\t\t\t\t\trt2r = tr - rtdisc\n\t\t\t\t\tif math.Abs(rt1r-h22) <= math.Abs(rt2r-h22) {\n\t\t\t\t\t\trt1r *= s\n\t\t\t\t\t\trt2r = rt1r\n\t\t\t\t\t} else {\n\t\t\t\t\t\trt2r *= s\n\t\t\t\t\t\trt1r = rt2r\n\t\t\t\t\t}\n\t\t\t\t\trt1i = 0\n\t\t\t\t\trt2i = 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for two consecutive small subdiagonal elements.\n\t\t\tvar m int\n\t\t\tvar v [3]float64\n\t\t\tfor m = i - 2; m >= l; m-- {\n\t\t\t\t// Determine the effect of starting the\n\t\t\t\t// double-shift QR iteration at row m, and see\n\t\t\t\t// if this would make H[m,m-1] negligible. The\n\t\t\t\t// following uses scaling to avoid overflows and\n\t\t\t\t// most underflows.\n\t\t\t\th21s := h[(m+1)*ldh+m]\n\t\t\t\ts := math.Abs(h[m*ldh+m]-rt2r) + math.Abs(rt2i) + math.Abs(h21s)\n\t\t\t\th21s /= s\n\t\t\t\tv[0] = h21s*h[m*ldh+m+1] + (h[m*ldh+m]-rt1r)*((h[m*ldh+m]-rt2r)/s) - rt2i/s*rt1i\n\t\t\t\tv[1] = h21s * (h[m*ldh+m] + h[(m+1)*ldh+m+1] - rt1r - rt2r)\n\t\t\t\tv[2] = h21s * h[(m+2)*ldh+m+1]\n\t\t\t\ts = math.Abs(v[0]) + math.Abs(v[1]) + math.Abs(v[2])\n\t\t\t\tv[0] /= s\n\t\t\t\tv[1] /= s\n\t\t\t\tv[2] /= s\n\t\t\t\tif m == l {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tdsum := math.Abs(h[(m-1)*ldh+m-1]) + math.Abs(h[m*ldh+m]) + math.Abs(h[(m+1)*ldh+m+1])\n\t\t\t\tif math.Abs(h[m*ldh+m-1])*(math.Abs(v[1])+math.Abs(v[2])) <= ulp*math.Abs(v[0])*dsum {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Double-shift QR step.\n\t\t\tfor k := m; k < i; k++ {\n\t\t\t\t// The first iteration of this loop determines a\n\t\t\t\t// reflection G from the vector V and applies it\n\t\t\t\t// from left and right to H, thus creating a\n\t\t\t\t// non-zero bulge below the subdiagonal.\n\t\t\t\t//\n\t\t\t\t// Each subsequent iteration determines a\n\t\t\t\t// reflection G to restore the Hessenberg form\n\t\t\t\t// in the (k-1)th column, and thus chases the\n\t\t\t\t// bulge one step toward the bottom of the\n\t\t\t\t// active submatrix. nr is the order of G.\n\n\t\t\t\tnr := min(3, i-k+1)\n\t\t\t\tif k > m {\n\t\t\t\t\tbi.Dcopy(nr, h[k*ldh+k-1:], ldh, v[:], 1)\n\t\t\t\t}\n\t\t\t\tvar t0 float64\n\t\t\t\tv[0], t0 = impl.Dlarfg(nr, v[0], v[1:], 1)\n\t\t\t\tif k > m {\n\t\t\t\t\th[k*ldh+k-1] = v[0]\n\t\t\t\t\th[(k+1)*ldh+k-1] = 0\n\t\t\t\t\tif k < i-1 {\n\t\t\t\t\t\th[(k+2)*ldh+k-1] = 0\n\t\t\t\t\t}\n\t\t\t\t} else if m > l {\n\t\t\t\t\t// Use the following instead of H[k,k-1] = -H[k,k-1]\n\t\t\t\t\t// to avoid a bug when v[1] and v[2] underflow.\n\t\t\t\t\th[k*ldh+k-1] *= 1 - t0\n\t\t\t\t}\n\t\t\t\tt1 := t0 * v[1]\n\t\t\t\tif nr == 3 {\n\t\t\t\t\tt2 := t0 * v[2]\n\n\t\t\t\t\t// Apply G from the left to transform\n\t\t\t\t\t// the rows of the matrix in columns k\n\t\t\t\t\t// to i2.\n\t\t\t\t\tfor j := k; j <= i2; j++ {\n\t\t\t\t\t\tsum := h[k*ldh+j] + v[1]*h[(k+1)*ldh+j] + v[2]*h[(k+2)*ldh+j]\n\t\t\t\t\t\th[k*ldh+j] -= sum * t0\n\t\t\t\t\t\th[(k+1)*ldh+j] -= sum * t1\n\t\t\t\t\t\th[(k+2)*ldh+j] -= sum * t2\n\t\t\t\t\t}\n\n\t\t\t\t\t// Apply G from the right to transform\n\t\t\t\t\t// the columns of the matrix in rows i1\n\t\t\t\t\t// to min(k+3,i).\n\t\t\t\t\tfor j := i1; j <= min(k+3, i); j++ {\n\t\t\t\t\t\tsum := h[j*ldh+k] + v[1]*h[j*ldh+k+1] + v[2]*h[j*ldh+k+2]\n\t\t\t\t\t\th[j*ldh+k] -= sum * t0\n\t\t\t\t\t\th[j*ldh+k+1] -= sum * t1\n\t\t\t\t\t\th[j*ldh+k+2] -= sum * t2\n\t\t\t\t\t}\n\n\t\t\t\t\tif wantz {\n\t\t\t\t\t\t// Accumulate transformations in the matrix Z.\n\t\t\t\t\t\tfor j := iloz; j <= ihiz; j++ {\n\t\t\t\t\t\t\tsum := z[j*ldz+k] + v[1]*z[j*ldz+k+1] + v[2]*z[j*ldz+k+2]\n\t\t\t\t\t\t\tz[j*ldz+k] -= sum * t0\n\t\t\t\t\t\t\tz[j*ldz+k+1] -= sum * t1\n\t\t\t\t\t\t\tz[j*ldz+k+2] -= sum * t2\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if nr == 2 {\n\t\t\t\t\t// Apply G from the left to transform\n\t\t\t\t\t// the rows of the matrix in columns k\n\t\t\t\t\t// to i2.\n\t\t\t\t\tfor j := k; j <= i2; j++ {\n\t\t\t\t\t\tsum := h[k*ldh+j] + v[1]*h[(k+1)*ldh+j]\n\t\t\t\t\t\th[k*ldh+j] -= sum * t0\n\t\t\t\t\t\th[(k+1)*ldh+j] -= sum * t1\n\t\t\t\t\t}\n\n\t\t\t\t\t// Apply G from the right to transform\n\t\t\t\t\t// the columns of the matrix in rows i1\n\t\t\t\t\t// to min(k+3,i).\n\t\t\t\t\tfor j := i1; j <= i; j++ {\n\t\t\t\t\t\tsum := h[j*ldh+k] + v[1]*h[j*ldh+k+1]\n\t\t\t\t\t\th[j*ldh+k] -= sum * t0\n\t\t\t\t\t\th[j*ldh+k+1] -= sum * t1\n\t\t\t\t\t}\n\n\t\t\t\t\tif wantz {\n\t\t\t\t\t\t// Accumulate transformations in the matrix Z.\n\t\t\t\t\t\tfor j := iloz; j <= ihiz; j++ {\n\t\t\t\t\t\t\tsum := z[j*ldz+k] + v[1]*z[j*ldz+k+1]\n\t\t\t\t\t\t\tz[j*ldz+k] -= sum * t0\n\t\t\t\t\t\t\tz[j*ldz+k+1] -= sum * t1\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\tif !converged {\n\t\t\t// The QR iteration finished without splitting off a\n\t\t\t// submatrix of order 1 or 2.\n\t\t\treturn i + 1\n\t\t}\n\n\t\tif l == i {\n\t\t\t// H[i,i-1] is negligible: one eigenvalue has converged.\n\t\t\twr[i] = h[i*ldh+i]\n\t\t\twi[i] = 0\n\t\t} else if l == i-1 {\n\t\t\t// H[i-1,i-2] is negligible: a pair of eigenvalues have converged.\n\n\t\t\t// Transform the 2×2 submatrix to standard Schur form,\n\t\t\t// and compute and store the eigenvalues.\n\t\t\tvar cs, sn float64\n\t\t\ta, b := h[(i-1)*ldh+i-1], h[(i-1)*ldh+i]\n\t\t\tc, d := h[i*ldh+i-1], h[i*ldh+i]\n\t\t\ta, b, c, d, wr[i-1], wi[i-1], wr[i], wi[i], cs, sn = impl.Dlanv2(a, b, c, d)\n\t\t\th[(i-1)*ldh+i-1], h[(i-1)*ldh+i] = a, b\n\t\t\th[i*ldh+i-1], h[i*ldh+i] = c, d\n\n\t\t\tif wantt {\n\t\t\t\t// Apply the transformation to the rest of H.\n\t\t\t\tif i2 > i {\n\t\t\t\t\tbi.Drot(i2-i, h[(i-1)*ldh+i+1:], 1, h[i*ldh+i+1:], 1, cs, sn)\n\t\t\t\t}\n\t\t\t\tbi.Drot(i-i1-1, h[i1*ldh+i-1:], ldh, h[i1*ldh+i:], ldh, cs, sn)\n\t\t\t}\n\n\t\t\tif wantz {\n\t\t\t\t// Apply the transformation to Z.\n\t\t\t\tbi.Drot(nz, z[iloz*ldz+i-1:], ldz, z[iloz*ldz+i:], ldz, cs, sn)\n\t\t\t}\n\t\t}\n\n\t\t// Return to start of the main loop with new value of i.\n\t\ti = l - 1\n\t}\n\treturn 0\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlahr2.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dlahr2 reduces the first nb columns of a real general n×(n-k+1) matrix A so\n// that elements below the k-th subdiagonal are zero. The reduction is performed\n// by an orthogonal similarity transformation Q^T * A * Q. Dlahr2 returns the\n// matrices V and T which determine Q as a block reflector I - V*T*V^T, and\n// also the matrix Y = A * V * T.\n//\n// The matrix Q is represented as a product of nb elementary reflectors\n//  Q = H_0 * H_1 * ... * H_{nb-1}.\n// Each H_i has the form\n//  H_i = I - tau[i] * v * v^T,\n// where v is a real vector with v[0:i+k-1] = 0 and v[i+k-1] = 1. v[i+k:n] is\n// stored on exit in A[i+k+1:n,i].\n//\n// The elements of the vectors v together form the (n-k+1)×nb matrix\n// V which is needed, with T and Y, to apply the transformation to the\n// unreduced part of the matrix, using an update of the form\n//  A = (I - V*T*V^T) * (A - Y*V^T).\n//\n// On entry, a contains the n×(n-k+1) general matrix A. On return, the elements\n// on and above the k-th subdiagonal in the first nb columns are overwritten\n// with the corresponding elements of the reduced matrix; the elements below the\n// k-th subdiagonal, with the slice tau, represent the matrix Q as a product of\n// elementary reflectors. The other columns of A are unchanged.\n//\n// The contents of A on exit are illustrated by the following example\n// with n = 7, k = 3 and nb = 2:\n//  [ a   a   a   a   a ]\n//  [ a   a   a   a   a ]\n//  [ a   a   a   a   a ]\n//  [ h   h   a   a   a ]\n//  [ v0  h   a   a   a ]\n//  [ v0  v1  a   a   a ]\n//  [ v0  v1  a   a   a ]\n// where a denotes an element of the original matrix A, h denotes a\n// modified element of the upper Hessenberg matrix H, and vi denotes an\n// element of the vector defining H_i.\n//\n// k is the offset for the reduction. Elements below the k-th subdiagonal in the\n// first nb columns are reduced to zero.\n//\n// nb is the number of columns to be reduced.\n//\n// On entry, a represents the n×(n-k+1) matrix A. On return, the elements on and\n// above the k-th subdiagonal in the first nb columns are overwritten with the\n// corresponding elements of the reduced matrix. The elements below the k-th\n// subdiagonal, with the slice tau, represent the matrix Q as a product of\n// elementary reflectors. The other columns of A are unchanged.\n//\n// tau will contain the scalar factors of the elementary reflectors. It must\n// have length at least nb.\n//\n// t and ldt represent the nb×nb upper triangular matrix T, and y and ldy\n// represent the n×nb matrix Y.\n//\n// Dlahr2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlahr2(n, k, nb int, a []float64, lda int, tau, t []float64, ldt int, y []float64, ldy int) {\n\tcheckMatrix(n, n-k+1, a, lda)\n\tif len(tau) < nb {\n\t\tpanic(badTau)\n\t}\n\tcheckMatrix(nb, nb, t, ldt)\n\tcheckMatrix(n, nb, y, ldy)\n\n\t// Quick return if possible.\n\tif n <= 1 {\n\t\treturn\n\t}\n\n\tbi := blas64.Implementation()\n\tvar ei float64\n\tfor i := 0; i < nb; i++ {\n\t\tif i > 0 {\n\t\t\t// Update A[k:n,i].\n\n\t\t\t// Update i-th column of A - Y * V^T.\n\t\t\tbi.Dgemv(blas.NoTrans, n-k, i,\n\t\t\t\t-1, y[k*ldy:], ldy,\n\t\t\t\ta[(k+i-1)*lda:], 1,\n\t\t\t\t1, a[k*lda+i:], lda)\n\n\t\t\t// Apply I - V * T^T * V^T to this column (call it b)\n\t\t\t// from the left, using the last column of T as\n\t\t\t// workspace.\n\t\t\t// Let V = [ V1 ]   and   b = [ b1 ]   (first i rows)\n\t\t\t//         [ V2 ]             [ b2 ]\n\t\t\t// where V1 is unit lower triangular.\n\t\t\t//\n\t\t\t// w := V1^T * b1.\n\t\t\tbi.Dcopy(i, a[k*lda+i:], lda, t[nb-1:], ldt)\n\t\t\tbi.Dtrmv(blas.Lower, blas.Trans, blas.Unit, i,\n\t\t\t\ta[k*lda:], lda, t[nb-1:], ldt)\n\n\t\t\t// w := w + V2^T * b2.\n\t\t\tbi.Dgemv(blas.Trans, n-k-i, i,\n\t\t\t\t1, a[(k+i)*lda:], lda,\n\t\t\t\ta[(k+i)*lda+i:], lda,\n\t\t\t\t1, t[nb-1:], ldt)\n\n\t\t\t// w := T^T * w.\n\t\t\tbi.Dtrmv(blas.Upper, blas.Trans, blas.NonUnit, i,\n\t\t\t\tt, ldt, t[nb-1:], ldt)\n\n\t\t\t// b2 := b2 - V2*w.\n\t\t\tbi.Dgemv(blas.NoTrans, n-k-i, i,\n\t\t\t\t-1, a[(k+i)*lda:], lda,\n\t\t\t\tt[nb-1:], ldt,\n\t\t\t\t1, a[(k+i)*lda+i:], lda)\n\n\t\t\t// b1 := b1 - V1*w.\n\t\t\tbi.Dtrmv(blas.Lower, blas.NoTrans, blas.Unit, i,\n\t\t\t\ta[k*lda:], lda, t[nb-1:], ldt)\n\t\t\tbi.Daxpy(i, -1, t[nb-1:], ldt, a[k*lda+i:], lda)\n\n\t\t\ta[(k+i-1)*lda+i-1] = ei\n\t\t}\n\n\t\t// Generate the elementary reflector H_i to annihilate\n\t\t// A[k+i+1:n,i].\n\t\tei, tau[i] = impl.Dlarfg(n-k-i, a[(k+i)*lda+i], a[min(k+i+1, n-1)*lda+i:], lda)\n\t\ta[(k+i)*lda+i] = 1\n\n\t\t// Compute Y[k:n,i].\n\t\tbi.Dgemv(blas.NoTrans, n-k, n-k-i,\n\t\t\t1, a[k*lda+i+1:], lda,\n\t\t\ta[(k+i)*lda+i:], lda,\n\t\t\t0, y[k*ldy+i:], ldy)\n\t\tbi.Dgemv(blas.Trans, n-k-i, i,\n\t\t\t1, a[(k+i)*lda:], lda,\n\t\t\ta[(k+i)*lda+i:], lda,\n\t\t\t0, t[i:], ldt)\n\t\tbi.Dgemv(blas.NoTrans, n-k, i,\n\t\t\t-1, y[k*ldy:], ldy,\n\t\t\tt[i:], ldt,\n\t\t\t1, y[k*ldy+i:], ldy)\n\t\tbi.Dscal(n-k, tau[i], y[k*ldy+i:], ldy)\n\n\t\t// Compute T[0:i,i].\n\t\tbi.Dscal(i, -tau[i], t[i:], ldt)\n\t\tbi.Dtrmv(blas.Upper, blas.NoTrans, blas.NonUnit, i,\n\t\t\tt, ldt, t[i:], ldt)\n\n\t\tt[i*ldt+i] = tau[i]\n\t}\n\ta[(k+nb-1)*lda+nb-1] = ei\n\n\t// Compute Y[0:k,0:nb].\n\timpl.Dlacpy(blas.All, k, nb, a[1:], lda, y, ldy)\n\tbi.Dtrmm(blas.Right, blas.Lower, blas.NoTrans, blas.Unit, k, nb,\n\t\t1, a[k*lda:], lda, y, ldy)\n\tif n > k+nb {\n\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, k, nb, n-k-nb,\n\t\t\t1, a[1+nb:], lda,\n\t\t\ta[(k+nb)*lda:], lda,\n\t\t\t1, y, ldy)\n\t}\n\tbi.Dtrmm(blas.Right, blas.Upper, blas.NoTrans, blas.NonUnit, k, nb,\n\t\t1, t, ldt, y, ldy)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlaln2.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlaln2 solves a linear equation or a system of 2 linear equations of the form\n//  (ca A   - w D) X = scale B,  if trans == false,\n//  (ca A^T - w D) X = scale B,  if trans == true,\n// where A is a na×na real matrix, ca is a real scalar, D is a na×na diagonal\n// real matrix, w is a scalar, real if nw == 1, complex if nw == 2, and X and B\n// are na×1 matrices, real if w is real, complex if w is complex.\n//\n// If w is complex, X and B are represented as na×2 matrices, the first column\n// of each being the real part and the second being the imaginary part.\n//\n// na and nw must be 1 or 2, otherwise Dlaln2 will panic.\n//\n// d1 and d2 are the diagonal elements of D. d2 is not used if na == 1.\n//\n// wr and wi represent the real and imaginary part, respectively, of the scalar\n// w. wi is not used if nw == 1.\n//\n// smin is the desired lower bound on the singular values of A. This should be\n// a safe distance away from underflow or overflow, say, between\n// (underflow/machine precision) and (overflow*machine precision).\n//\n// If both singular values of (ca A - w D) are less than smin, smin*identity\n// will be used instead of (ca A - w D). If only one singular value is less than\n// smin, one element of (ca A - w D) will be perturbed enough to make the\n// smallest singular value roughly smin. If both singular values are at least\n// smin, (ca A - w D) will not be perturbed. In any case, the perturbation will\n// be at most some small multiple of max(smin, ulp*norm(ca A - w D)). The\n// singular values are computed by infinity-norm approximations, and thus will\n// only be correct to a factor of 2 or so.\n//\n// All input quantities are assumed to be smaller than overflow by a reasonable\n// factor.\n//\n// scale is a scaling factor less than or equal to 1 which is chosen so that X\n// can be computed without overflow. X is further scaled if necessary to assure\n// that norm(ca A - w D)*norm(X) is less than overflow.\n//\n// xnorm contains the infinity-norm of X when X is regarded as a na×nw real\n// matrix.\n//\n// ok will be false if (ca A - w D) had to be perturbed to make its smallest\n// singular value greater than smin, otherwise ok will be true.\n//\n// Dlaln2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlaln2(trans bool, na, nw int, smin, ca float64, a []float64, lda int, d1, d2 float64, b []float64, ldb int, wr, wi float64, x []float64, ldx int) (scale, xnorm float64, ok bool) {\n\t// TODO(vladimir-ch): Consider splitting this function into two, one\n\t// handling the real case (nw == 1) and the other handling the complex\n\t// case (nw == 2). Given that Go has complex types, their signatures\n\t// would be simpler and more natural, and the implementation not as\n\t// convoluted.\n\n\tif na != 1 && na != 2 {\n\t\tpanic(\"lapack: invalid value of na\")\n\t}\n\tif nw != 1 && nw != 2 {\n\t\tpanic(\"lapack: invalid value of nw\")\n\t}\n\tcheckMatrix(na, na, a, lda)\n\tcheckMatrix(na, nw, b, ldb)\n\tcheckMatrix(na, nw, x, ldx)\n\n\tsmlnum := 2 * dlamchS\n\tbignum := 1 / smlnum\n\tsmini := math.Max(smin, smlnum)\n\n\tok = true\n\tscale = 1\n\n\tif na == 1 {\n\t\t// 1×1 (i.e., scalar) system C X = B.\n\n\t\tif nw == 1 {\n\t\t\t// Real 1×1 system.\n\n\t\t\t// C = ca A - w D.\n\t\t\tcsr := ca*a[0] - wr*d1\n\t\t\tcnorm := math.Abs(csr)\n\n\t\t\t// If |C| < smini, use C = smini.\n\t\t\tif cnorm < smini {\n\t\t\t\tcsr = smini\n\t\t\t\tcnorm = smini\n\t\t\t\tok = false\n\t\t\t}\n\n\t\t\t// Check scaling for X = B / C.\n\t\t\tbnorm := math.Abs(b[0])\n\t\t\tif cnorm < 1 && bnorm > math.Max(1, bignum*cnorm) {\n\t\t\t\tscale = 1 / bnorm\n\t\t\t}\n\n\t\t\t// Compute X.\n\t\t\tx[0] = b[0] * scale / csr\n\t\t\txnorm = math.Abs(x[0])\n\n\t\t\treturn scale, xnorm, ok\n\t\t}\n\n\t\t// Complex 1×1 system (w is complex).\n\n\t\t// C = ca A - w D.\n\t\tcsr := ca*a[0] - wr*d1\n\t\tcsi := -wi * d1\n\t\tcnorm := math.Abs(csr) + math.Abs(csi)\n\n\t\t// If |C| < smini, use C = smini.\n\t\tif cnorm < smini {\n\t\t\tcsr = smini\n\t\t\tcsi = 0\n\t\t\tcnorm = smini\n\t\t\tok = false\n\t\t}\n\n\t\t// Check scaling for X = B / C.\n\t\tbnorm := math.Abs(b[0]) + math.Abs(b[1])\n\t\tif cnorm < 1 && bnorm > math.Max(1, bignum*cnorm) {\n\t\t\tscale = 1 / bnorm\n\t\t}\n\n\t\t// Compute X.\n\t\tcx := complex(scale*b[0], scale*b[1]) / complex(csr, csi)\n\t\tx[0], x[1] = real(cx), imag(cx)\n\t\txnorm = math.Abs(x[0]) + math.Abs(x[1])\n\n\t\treturn scale, xnorm, ok\n\t}\n\n\t// 2×2 system.\n\n\t// Compute the real part of\n\t//  C = ca A   - w D\n\t// or\n\t//  C = ca A^T - w D.\n\tcrv := [4]float64{\n\t\tca*a[0] - wr*d1,\n\t\tca * a[1],\n\t\tca * a[lda],\n\t\tca*a[lda+1] - wr*d2,\n\t}\n\tif trans {\n\t\tcrv[1] = ca * a[lda]\n\t\tcrv[2] = ca * a[1]\n\t}\n\n\tpivot := [4][4]int{\n\t\t{0, 1, 2, 3},\n\t\t{1, 0, 3, 2},\n\t\t{2, 3, 0, 1},\n\t\t{3, 2, 1, 0},\n\t}\n\n\tif nw == 1 {\n\t\t// Real 2×2 system (w is real).\n\n\t\t// Find the largest element in C.\n\t\tvar cmax float64\n\t\tvar icmax int\n\t\tfor j, v := range crv {\n\t\t\tv = math.Abs(v)\n\t\t\tif v > cmax {\n\t\t\t\tcmax = v\n\t\t\t\ticmax = j\n\t\t\t}\n\t\t}\n\n\t\t// If norm(C) < smini, use smini*identity.\n\t\tif cmax < smini {\n\t\t\tbnorm := math.Max(math.Abs(b[0]), math.Abs(b[ldb]))\n\t\t\tif smini < 1 && bnorm > math.Max(1, bignum*smini) {\n\t\t\t\tscale = 1 / bnorm\n\t\t\t}\n\t\t\ttemp := scale / smini\n\t\t\tx[0] = temp * b[0]\n\t\t\tx[ldx] = temp * b[ldb]\n\t\t\txnorm = temp * bnorm\n\t\t\tok = false\n\n\t\t\treturn scale, xnorm, ok\n\t\t}\n\n\t\t// Gaussian elimination with complete pivoting.\n\t\t// Form upper triangular matrix\n\t\t//  [ur11 ur12]\n\t\t//  [   0 ur22]\n\t\tur11 := crv[icmax]\n\t\tur12 := crv[pivot[icmax][1]]\n\t\tcr21 := crv[pivot[icmax][2]]\n\t\tcr22 := crv[pivot[icmax][3]]\n\t\tur11r := 1 / ur11\n\t\tlr21 := ur11r * cr21\n\t\tur22 := cr22 - ur12*lr21\n\n\t\t// If smaller pivot < smini, use smini.\n\t\tif math.Abs(ur22) < smini {\n\t\t\tur22 = smini\n\t\t\tok = false\n\t\t}\n\n\t\tvar br1, br2 float64\n\t\tif icmax > 1 {\n\t\t\t// If the pivot lies in the second row, swap the rows.\n\t\t\tbr1 = b[ldb]\n\t\t\tbr2 = b[0]\n\t\t} else {\n\t\t\tbr1 = b[0]\n\t\t\tbr2 = b[ldb]\n\t\t}\n\t\tbr2 -= lr21 * br1 // Apply the Gaussian elimination step to the right-hand side.\n\n\t\tbbnd := math.Max(math.Abs(ur22*ur11r*br1), math.Abs(br2))\n\t\tif bbnd > 1 && math.Abs(ur22) < 1 && bbnd >= bignum*math.Abs(ur22) {\n\t\t\tscale = 1 / bbnd\n\t\t}\n\n\t\t// Solve the linear system ur*xr=br.\n\t\txr2 := br2 * scale / ur22\n\t\txr1 := scale*br1*ur11r - ur11r*ur12*xr2\n\t\tif icmax&0x1 != 0 {\n\t\t\t// If the pivot lies in the second column, swap the components of the solution.\n\t\t\tx[0] = xr2\n\t\t\tx[ldx] = xr1\n\t\t} else {\n\t\t\tx[0] = xr1\n\t\t\tx[ldx] = xr2\n\t\t}\n\t\txnorm = math.Max(math.Abs(xr1), math.Abs(xr2))\n\n\t\t// Further scaling if norm(A)*norm(X) > overflow.\n\t\tif xnorm > 1 && cmax > 1 && xnorm > bignum/cmax {\n\t\t\ttemp := cmax / bignum\n\t\t\tx[0] *= temp\n\t\t\tx[ldx] *= temp\n\t\t\txnorm *= temp\n\t\t\tscale *= temp\n\t\t}\n\n\t\treturn scale, xnorm, ok\n\t}\n\n\t// Complex 2×2 system (w is complex).\n\n\t// Find the largest element in C.\n\tciv := [4]float64{\n\t\t-wi * d1,\n\t\t0,\n\t\t0,\n\t\t-wi * d2,\n\t}\n\tvar cmax float64\n\tvar icmax int\n\tfor j, v := range crv {\n\t\tv := math.Abs(v)\n\t\tif v+math.Abs(civ[j]) > cmax {\n\t\t\tcmax = v + math.Abs(civ[j])\n\t\t\ticmax = j\n\t\t}\n\t}\n\n\t// If norm(C) < smini, use smini*identity.\n\tif cmax < smini {\n\t\tbr1 := math.Abs(b[0]) + math.Abs(b[1])\n\t\tbr2 := math.Abs(b[ldb]) + math.Abs(b[ldb+1])\n\t\tbnorm := math.Max(br1, br2)\n\t\tif smini < 1 && bnorm > 1 && bnorm > bignum*smini {\n\t\t\tscale = 1 / bnorm\n\t\t}\n\t\ttemp := scale / smini\n\t\tx[0] = temp * b[0]\n\t\tx[1] = temp * b[1]\n\t\tx[ldb] = temp * b[ldb]\n\t\tx[ldb+1] = temp * b[ldb+1]\n\t\txnorm = temp * bnorm\n\t\tok = false\n\n\t\treturn scale, xnorm, ok\n\t}\n\n\t// Gaussian elimination with complete pivoting.\n\tur11 := crv[icmax]\n\tui11 := civ[icmax]\n\tur12 := crv[pivot[icmax][1]]\n\tui12 := civ[pivot[icmax][1]]\n\tcr21 := crv[pivot[icmax][2]]\n\tci21 := civ[pivot[icmax][2]]\n\tcr22 := crv[pivot[icmax][3]]\n\tci22 := civ[pivot[icmax][3]]\n\tvar (\n\t\tur11r, ui11r float64\n\t\tlr21, li21   float64\n\t\tur12s, ui12s float64\n\t\tur22, ui22   float64\n\t)\n\tif icmax == 0 || icmax == 3 {\n\t\t// Off-diagonals of pivoted C are real.\n\t\tif math.Abs(ur11) > math.Abs(ui11) {\n\t\t\ttemp := ui11 / ur11\n\t\t\tur11r = 1 / (ur11 * (1 + temp*temp))\n\t\t\tui11r = -temp * ur11r\n\t\t} else {\n\t\t\ttemp := ur11 / ui11\n\t\t\tui11r = -1 / (ui11 * (1 + temp*temp))\n\t\t\tur11r = -temp * ui11r\n\t\t}\n\t\tlr21 = cr21 * ur11r\n\t\tli21 = cr21 * ui11r\n\t\tur12s = ur12 * ur11r\n\t\tui12s = ur12 * ui11r\n\t\tur22 = cr22 - ur12*lr21\n\t\tui22 = ci22 - ur12*li21\n\t} else {\n\t\t// Diagonals of pivoted C are real.\n\t\tur11r = 1 / ur11\n\t\t// ui11r is already 0.\n\t\tlr21 = cr21 * ur11r\n\t\tli21 = ci21 * ur11r\n\t\tur12s = ur12 * ur11r\n\t\tui12s = ui12 * ur11r\n\t\tur22 = cr22 - ur12*lr21 + ui12*li21\n\t\tui22 = -ur12*li21 - ui12*lr21\n\t}\n\tu22abs := math.Abs(ur22) + math.Abs(ui22)\n\n\t// If smaller pivot < smini, use smini.\n\tif u22abs < smini {\n\t\tur22 = smini\n\t\tui22 = 0\n\t\tok = false\n\t}\n\n\tvar br1, bi1 float64\n\tvar br2, bi2 float64\n\tif icmax > 1 {\n\t\t// If the pivot lies in the second row, swap the rows.\n\t\tbr1 = b[ldb]\n\t\tbi1 = b[ldb+1]\n\t\tbr2 = b[0]\n\t\tbi2 = b[1]\n\t} else {\n\t\tbr1 = b[0]\n\t\tbi1 = b[1]\n\t\tbr2 = b[ldb]\n\t\tbi2 = b[ldb+1]\n\t}\n\tbr2 += -lr21*br1 + li21*bi1\n\tbi2 += -li21*br1 - lr21*bi1\n\n\tbbnd1 := u22abs * (math.Abs(ur11r) + math.Abs(ui11r)) * (math.Abs(br1) + math.Abs(bi1))\n\tbbnd2 := math.Abs(br2) + math.Abs(bi2)\n\tbbnd := math.Max(bbnd1, bbnd2)\n\tif bbnd > 1 && u22abs < 1 && bbnd >= bignum*u22abs {\n\t\tscale = 1 / bbnd\n\t\tbr1 *= scale\n\t\tbi1 *= scale\n\t\tbr2 *= scale\n\t\tbi2 *= scale\n\t}\n\n\tcx2 := complex(br2, bi2) / complex(ur22, ui22)\n\txr2, xi2 := real(cx2), imag(cx2)\n\txr1 := ur11r*br1 - ui11r*bi1 - ur12s*xr2 + ui12s*xi2\n\txi1 := ui11r*br1 + ur11r*bi1 - ui12s*xr2 - ur12s*xi2\n\tif icmax&0x1 != 0 {\n\t\t// If the pivot lies in the second column, swap the components of the solution.\n\t\tx[0] = xr2\n\t\tx[1] = xi2\n\t\tx[ldx] = xr1\n\t\tx[ldx+1] = xi1\n\t} else {\n\t\tx[0] = xr1\n\t\tx[1] = xi1\n\t\tx[ldx] = xr2\n\t\tx[ldx+1] = xi2\n\t}\n\txnorm = math.Max(math.Abs(xr1)+math.Abs(xi1), math.Abs(xr2)+math.Abs(xi2))\n\n\t// Further scaling if norm(A)*norm(X) > overflow.\n\tif xnorm > 1 && cmax > 1 && xnorm > bignum/cmax {\n\t\ttemp := cmax / bignum\n\t\tx[0] *= temp\n\t\tx[1] *= temp\n\t\tx[ldx] *= temp\n\t\tx[ldx+1] *= temp\n\t\txnorm *= temp\n\t\tscale *= temp\n\t}\n\n\treturn scale, xnorm, ok\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlange.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlange computes the matrix norm of the general m×n matrix a. The input norm\n// specifies the norm computed.\n//  lapack.MaxAbs: the maximum absolute value of an element.\n//  lapack.MaxColumnSum: the maximum column sum of the absolute values of the entries.\n//  lapack.MaxRowSum: the maximum row sum of the absolute values of the entries.\n//  lapack.NormFrob: the square root of the sum of the squares of the entries.\n// If norm == lapack.MaxColumnSum, work must be of length n, and this function will panic otherwise.\n// There are no restrictions on work for the other matrix norms.\nfunc (impl Implementation) Dlange(norm lapack.MatrixNorm, m, n int, a []float64, lda int, work []float64) float64 {\n\t// TODO(btracey): These should probably be refactored to use BLAS calls.\n\tcheckMatrix(m, n, a, lda)\n\tswitch norm {\n\tcase lapack.MaxRowSum, lapack.MaxColumnSum, lapack.NormFrob, lapack.MaxAbs:\n\tdefault:\n\t\tpanic(badNorm)\n\t}\n\tif norm == lapack.MaxColumnSum && len(work) < n {\n\t\tpanic(badWork)\n\t}\n\tif m == 0 && n == 0 {\n\t\treturn 0\n\t}\n\tif norm == lapack.MaxAbs {\n\t\tvar value float64\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tvalue = math.Max(value, math.Abs(a[i*lda+j]))\n\t\t\t}\n\t\t}\n\t\treturn value\n\t}\n\tif norm == lapack.MaxColumnSum {\n\t\tif len(work) < n {\n\t\t\tpanic(badWork)\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\twork[i] = 0\n\t\t}\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\twork[j] += math.Abs(a[i*lda+j])\n\t\t\t}\n\t\t}\n\t\tvar value float64\n\t\tfor i := 0; i < n; i++ {\n\t\t\tvalue = math.Max(value, work[i])\n\t\t}\n\t\treturn value\n\t}\n\tif norm == lapack.MaxRowSum {\n\t\tvar value float64\n\t\tfor i := 0; i < m; i++ {\n\t\t\tvar sum float64\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tsum += math.Abs(a[i*lda+j])\n\t\t\t}\n\t\t\tvalue = math.Max(value, sum)\n\t\t}\n\t\treturn value\n\t}\n\tif norm == lapack.NormFrob {\n\t\tvar value float64\n\t\tscale := 0.0\n\t\tsum := 1.0\n\t\tfor i := 0; i < m; i++ {\n\t\t\tscale, sum = impl.Dlassq(n, a[i*lda:], 1, scale, sum)\n\t\t}\n\t\tvalue = scale * math.Sqrt(sum)\n\t\treturn value\n\t}\n\tpanic(\"lapack: bad matrix norm\")\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlanst.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlanst computes the specified norm of a symmetric tridiagonal matrix A.\n// The diagonal elements of A are stored in d and the off-diagonal elements\n// are stored in e.\nfunc (impl Implementation) Dlanst(norm lapack.MatrixNorm, n int, d, e []float64) float64 {\n\tif len(d) < n {\n\t\tpanic(badD)\n\t}\n\tif len(e) < n-1 {\n\t\tpanic(badE)\n\t}\n\tif n <= 0 {\n\t\treturn 0\n\t}\n\tswitch norm {\n\tdefault:\n\t\tpanic(badNorm)\n\tcase lapack.MaxAbs:\n\t\tanorm := math.Abs(d[n-1])\n\t\tfor i := 0; i < n-1; i++ {\n\t\t\tsum := math.Abs(d[i])\n\t\t\tif anorm < sum || math.IsNaN(sum) {\n\t\t\t\tanorm = sum\n\t\t\t}\n\t\t\tsum = math.Abs(e[i])\n\t\t\tif anorm < sum || math.IsNaN(sum) {\n\t\t\t\tanorm = sum\n\t\t\t}\n\t\t}\n\t\treturn anorm\n\tcase lapack.MaxColumnSum, lapack.MaxRowSum:\n\t\tif n == 1 {\n\t\t\treturn math.Abs(d[0])\n\t\t}\n\t\tanorm := math.Abs(d[0]) + math.Abs(e[0])\n\t\tsum := math.Abs(e[n-2]) + math.Abs(d[n-1])\n\t\tif anorm < sum || math.IsNaN(sum) {\n\t\t\tanorm = sum\n\t\t}\n\t\tfor i := 1; i < n-1; i++ {\n\t\t\tsum := math.Abs(d[i]) + math.Abs(e[i]) + math.Abs(e[i-1])\n\t\t\tif anorm < sum || math.IsNaN(sum) {\n\t\t\t\tanorm = sum\n\t\t\t}\n\t\t}\n\t\treturn anorm\n\tcase lapack.NormFrob:\n\t\tvar scale float64\n\t\tsum := 1.0\n\t\tif n > 1 {\n\t\t\tscale, sum = impl.Dlassq(n-1, e, 1, scale, sum)\n\t\t\tsum = 2 * sum\n\t\t}\n\t\tscale, sum = impl.Dlassq(n, d, 1, scale, sum)\n\t\treturn scale * math.Sqrt(sum)\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlansy.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlansy computes the specified norm of an n×n symmetric matrix. If\n// norm == lapack.MaxColumnSum or norm == lapackMaxRowSum work must have length\n// at least n, otherwise work is unused.\nfunc (impl Implementation) Dlansy(norm lapack.MatrixNorm, uplo blas.Uplo, n int, a []float64, lda int, work []float64) float64 {\n\tcheckMatrix(n, n, a, lda)\n\tswitch norm {\n\tcase lapack.MaxRowSum, lapack.MaxColumnSum, lapack.NormFrob, lapack.MaxAbs:\n\tdefault:\n\t\tpanic(badNorm)\n\t}\n\tif (norm == lapack.MaxColumnSum || norm == lapack.MaxRowSum) && len(work) < n {\n\t\tpanic(badWork)\n\t}\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\n\tif n == 0 {\n\t\treturn 0\n\t}\n\tswitch norm {\n\tdefault:\n\t\tpanic(\"unreachable\")\n\tcase lapack.MaxAbs:\n\t\tif uplo == blas.Upper {\n\t\t\tvar max float64\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tfor j := i; j < n; j++ {\n\t\t\t\t\tv := math.Abs(a[i*lda+j])\n\t\t\t\t\tif math.IsNaN(v) {\n\t\t\t\t\t\treturn math.NaN()\n\t\t\t\t\t}\n\t\t\t\t\tif v > max {\n\t\t\t\t\t\tmax = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn max\n\t\t}\n\t\tvar max float64\n\t\tfor i := 0; i < n; i++ {\n\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\tv := math.Abs(a[i*lda+j])\n\t\t\t\tif math.IsNaN(v) {\n\t\t\t\t\treturn math.NaN()\n\t\t\t\t}\n\t\t\t\tif v > max {\n\t\t\t\t\tmax = v\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn max\n\tcase lapack.MaxRowSum, lapack.MaxColumnSum:\n\t\t// A symmetric matrix has the same 1-norm and ∞-norm.\n\t\tfor i := 0; i < n; i++ {\n\t\t\twork[i] = 0\n\t\t}\n\t\tif uplo == blas.Upper {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\twork[i] += math.Abs(a[i*lda+i])\n\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\tv := math.Abs(a[i*lda+j])\n\t\t\t\t\twork[i] += v\n\t\t\t\t\twork[j] += v\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\t\tv := math.Abs(a[i*lda+j])\n\t\t\t\t\twork[i] += v\n\t\t\t\t\twork[j] += v\n\t\t\t\t}\n\t\t\t\twork[i] += math.Abs(a[i*lda+i])\n\t\t\t}\n\t\t}\n\t\tvar max float64\n\t\tfor i := 0; i < n; i++ {\n\t\t\tv := work[i]\n\t\t\tif math.IsNaN(v) {\n\t\t\t\treturn math.NaN()\n\t\t\t}\n\t\t\tif v > max {\n\t\t\t\tmax = v\n\t\t\t}\n\t\t}\n\t\treturn max\n\tcase lapack.NormFrob:\n\t\tif uplo == blas.Upper {\n\t\t\tvar sum float64\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tv := a[i*lda+i]\n\t\t\t\tsum += v * v\n\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\tv := a[i*lda+j]\n\t\t\t\t\tsum += 2 * v * v\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn math.Sqrt(sum)\n\t\t}\n\t\tvar sum float64\n\t\tfor i := 0; i < n; i++ {\n\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\tv := a[i*lda+j]\n\t\t\t\tsum += 2 * v * v\n\t\t\t}\n\t\t\tv := a[i*lda+i]\n\t\t\tsum += v * v\n\t\t}\n\t\treturn math.Sqrt(sum)\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlantr.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlantr computes the specified norm of an m×n trapezoidal matrix A. If\n// norm == lapack.MaxColumnSum work must have length at least n, otherwise work\n// is unused.\nfunc (impl Implementation) Dlantr(norm lapack.MatrixNorm, uplo blas.Uplo, diag blas.Diag, m, n int, a []float64, lda int, work []float64) float64 {\n\tcheckMatrix(m, n, a, lda)\n\tswitch norm {\n\tcase lapack.MaxRowSum, lapack.MaxColumnSum, lapack.NormFrob, lapack.MaxAbs:\n\tdefault:\n\t\tpanic(badNorm)\n\t}\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tif diag != blas.Unit && diag != blas.NonUnit {\n\t\tpanic(badDiag)\n\t}\n\tif norm == lapack.MaxColumnSum && len(work) < n {\n\t\tpanic(badWork)\n\t}\n\tif min(m, n) == 0 {\n\t\treturn 0\n\t}\n\tswitch norm {\n\tdefault:\n\t\tpanic(\"unreachable\")\n\tcase lapack.MaxAbs:\n\t\tif diag == blas.Unit {\n\t\t\tvalue := 1.0\n\t\t\tif uplo == blas.Upper {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\t\ttmp := math.Abs(a[i*lda+j])\n\t\t\t\t\t\tif math.IsNaN(tmp) {\n\t\t\t\t\t\t\treturn tmp\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif tmp > value {\n\t\t\t\t\t\t\tvalue = tmp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn value\n\t\t\t}\n\t\t\tfor i := 1; i < m; i++ {\n\t\t\t\tfor j := 0; j < min(i, n); j++ {\n\t\t\t\t\ttmp := math.Abs(a[i*lda+j])\n\t\t\t\t\tif math.IsNaN(tmp) {\n\t\t\t\t\t\treturn tmp\n\t\t\t\t\t}\n\t\t\t\t\tif tmp > value {\n\t\t\t\t\t\tvalue = tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value\n\t\t}\n\t\tvar value float64\n\t\tif uplo == blas.Upper {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tfor j := i; j < n; j++ {\n\t\t\t\t\ttmp := math.Abs(a[i*lda+j])\n\t\t\t\t\tif math.IsNaN(tmp) {\n\t\t\t\t\t\treturn tmp\n\t\t\t\t\t}\n\t\t\t\t\tif tmp > value {\n\t\t\t\t\t\tvalue = tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value\n\t\t}\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := 0; j <= min(i, n-1); j++ {\n\t\t\t\ttmp := math.Abs(a[i*lda+j])\n\t\t\t\tif math.IsNaN(tmp) {\n\t\t\t\t\treturn tmp\n\t\t\t\t}\n\t\t\t\tif tmp > value {\n\t\t\t\t\tvalue = tmp\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn value\n\tcase lapack.MaxColumnSum:\n\t\tif diag == blas.Unit {\n\t\t\tfor i := 0; i < min(m, n); i++ {\n\t\t\t\twork[i] = 1\n\t\t\t}\n\t\t\tfor i := min(m, n); i < n; i++ {\n\t\t\t\twork[i] = 0\n\t\t\t}\n\t\t\tif uplo == blas.Upper {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\t\twork[j] += math.Abs(a[i*lda+j])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor i := 1; i < m; i++ {\n\t\t\t\t\tfor j := 0; j < min(i, n); j++ {\n\t\t\t\t\t\twork[j] += math.Abs(a[i*lda+j])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\twork[i] = 0\n\t\t\t}\n\t\t\tif uplo == blas.Upper {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\tfor j := i; j < n; j++ {\n\t\t\t\t\t\twork[j] += math.Abs(a[i*lda+j])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\tfor j := 0; j <= min(i, n-1); j++ {\n\t\t\t\t\t\twork[j] += math.Abs(a[i*lda+j])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tvar max float64\n\t\tfor _, v := range work[:n] {\n\t\t\tif math.IsNaN(v) {\n\t\t\t\treturn math.NaN()\n\t\t\t}\n\t\t\tif v > max {\n\t\t\t\tmax = v\n\t\t\t}\n\t\t}\n\t\treturn max\n\tcase lapack.MaxRowSum:\n\t\tvar maxsum float64\n\t\tif diag == blas.Unit {\n\t\t\tif uplo == blas.Upper {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\tvar sum float64\n\t\t\t\t\tif i < min(m, n) {\n\t\t\t\t\t\tsum = 1\n\t\t\t\t\t}\n\t\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\t\tsum += math.Abs(a[i*lda+j])\n\t\t\t\t\t}\n\t\t\t\t\tif math.IsNaN(sum) {\n\t\t\t\t\t\treturn math.NaN()\n\t\t\t\t\t}\n\t\t\t\t\tif sum > maxsum {\n\t\t\t\t\t\tmaxsum = sum\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn maxsum\n\t\t\t} else {\n\t\t\t\tfor i := 1; i < m; i++ {\n\t\t\t\t\tvar sum float64\n\t\t\t\t\tif i < min(m, n) {\n\t\t\t\t\t\tsum = 1\n\t\t\t\t\t}\n\t\t\t\t\tfor j := 0; j < min(i, n); j++ {\n\t\t\t\t\t\tsum += math.Abs(a[i*lda+j])\n\t\t\t\t\t}\n\t\t\t\t\tif math.IsNaN(sum) {\n\t\t\t\t\t\treturn math.NaN()\n\t\t\t\t\t}\n\t\t\t\t\tif sum > maxsum {\n\t\t\t\t\t\tmaxsum = sum\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn maxsum\n\t\t\t}\n\t\t} else {\n\t\t\tif uplo == blas.Upper {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\tvar sum float64\n\t\t\t\t\tfor j := i; j < n; j++ {\n\t\t\t\t\t\tsum += math.Abs(a[i*lda+j])\n\t\t\t\t\t}\n\t\t\t\t\tif math.IsNaN(sum) {\n\t\t\t\t\t\treturn sum\n\t\t\t\t\t}\n\t\t\t\t\tif sum > maxsum {\n\t\t\t\t\t\tmaxsum = sum\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn maxsum\n\t\t\t} else {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\tvar sum float64\n\t\t\t\t\tfor j := 0; j <= min(i, n-1); j++ {\n\t\t\t\t\t\tsum += math.Abs(a[i*lda+j])\n\t\t\t\t\t}\n\t\t\t\t\tif math.IsNaN(sum) {\n\t\t\t\t\t\treturn sum\n\t\t\t\t\t}\n\t\t\t\t\tif sum > maxsum {\n\t\t\t\t\t\tmaxsum = sum\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn maxsum\n\t\t\t}\n\t\t}\n\tcase lapack.NormFrob:\n\t\tvar nrm float64\n\t\tif diag == blas.Unit {\n\t\t\tif uplo == blas.Upper {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\t\t\ttmp := a[i*lda+j]\n\t\t\t\t\t\tnrm += tmp * tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor i := 1; i < m; i++ {\n\t\t\t\t\tfor j := 0; j < min(i, n); j++ {\n\t\t\t\t\t\ttmp := a[i*lda+j]\n\t\t\t\t\t\tnrm += tmp * tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tnrm += float64(min(m, n))\n\t\t} else {\n\t\t\tif uplo == blas.Upper {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\tfor j := i; j < n; j++ {\n\t\t\t\t\t\ttmp := math.Abs(a[i*lda+j])\n\t\t\t\t\t\tnrm += tmp * tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\tfor j := 0; j <= min(i, n-1); j++ {\n\t\t\t\t\t\ttmp := math.Abs(a[i*lda+j])\n\t\t\t\t\t\tnrm += tmp * tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn math.Sqrt(nrm)\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlanv2.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlanv2 computes the Schur factorization of a real 2×2 matrix:\n//  [ a b ] = [ cs -sn ] * [ aa bb ] * [ cs sn ]\n//  [ c d ]   [ sn  cs ]   [ cc dd ] * [-sn cs ]\n// If cc is zero, aa and dd are real eigenvalues of the matrix. Otherwise it\n// holds that aa = dd and bb*cc < 0, and aa ± sqrt(bb*cc) are complex conjugate\n// eigenvalues. The real and imaginary parts of the eigenvalues are returned in\n// (rt1r,rt1i) and (rt2r,rt2i).\nfunc (impl Implementation) Dlanv2(a, b, c, d float64) (aa, bb, cc, dd float64, rt1r, rt1i, rt2r, rt2i float64, cs, sn float64) {\n\tswitch {\n\tcase c == 0: // Matrix is already upper triangular.\n\t\taa = a\n\t\tbb = b\n\t\tcc = 0\n\t\tdd = d\n\t\tcs = 1\n\t\tsn = 0\n\tcase b == 0: // Matrix is lower triangular, swap rows and columns.\n\t\taa = d\n\t\tbb = -c\n\t\tcc = 0\n\t\tdd = a\n\t\tcs = 0\n\t\tsn = 1\n\tcase a == d && math.Signbit(b) != math.Signbit(c): // Matrix is already in the standard Schur form.\n\t\taa = a\n\t\tbb = b\n\t\tcc = c\n\t\tdd = d\n\t\tcs = 1\n\t\tsn = 0\n\tdefault:\n\t\ttemp := a - d\n\t\tp := temp / 2\n\t\tbcmax := math.Max(math.Abs(b), math.Abs(c))\n\t\tbcmis := math.Min(math.Abs(b), math.Abs(c))\n\t\tif b*c < 0 {\n\t\t\tbcmis *= -1\n\t\t}\n\t\tscale := math.Max(math.Abs(p), bcmax)\n\t\tz := p/scale*p + bcmax/scale*bcmis\n\t\teps := dlamchP\n\n\t\tif z >= 4*eps {\n\t\t\t// Real eigenvalues. Compute aa and dd.\n\t\t\tif p > 0 {\n\t\t\t\tz = p + math.Sqrt(scale)*math.Sqrt(z)\n\t\t\t} else {\n\t\t\t\tz = p - math.Sqrt(scale)*math.Sqrt(z)\n\t\t\t}\n\t\t\taa = d + z\n\t\t\tdd = d - bcmax/z*bcmis\n\t\t\t// Compute bb and the rotation matrix.\n\t\t\ttau := impl.Dlapy2(c, z)\n\t\t\tcs = z / tau\n\t\t\tsn = c / tau\n\t\t\tbb = b - c\n\t\t\tcc = 0\n\t\t} else {\n\t\t\t// Complex eigenvalues, or real (almost) equal eigenvalues.\n\t\t\t// Make diagonal elements equal.\n\t\t\tsigma := b + c\n\t\t\ttau := impl.Dlapy2(sigma, temp)\n\t\t\tcs = math.Sqrt((1 + math.Abs(sigma)/tau) / 2)\n\t\t\tsn = -p / (tau * cs)\n\t\t\tif sigma < 0 {\n\t\t\t\tsn *= -1\n\t\t\t}\n\t\t\t// Compute [ aa bb ] = [ a b ] [ cs -sn ]\n\t\t\t//         [ cc dd ]   [ c d ] [ sn  cs ]\n\t\t\taa = a*cs + b*sn\n\t\t\tbb = -a*sn + b*cs\n\t\t\tcc = c*cs + d*sn\n\t\t\tdd = -c*sn + d*cs\n\t\t\t// Compute [ a b ] = [ cs sn ] [ aa bb ]\n\t\t\t//         [ c d ]   [-sn cs ] [ cc dd ]\n\t\t\ta = aa*cs + cc*sn\n\t\t\tb = bb*cs + dd*sn\n\t\t\tc = -aa*sn + cc*cs\n\t\t\td = -bb*sn + dd*cs\n\n\t\t\ttemp = (a + d) / 2\n\t\t\taa = temp\n\t\t\tbb = b\n\t\t\tcc = c\n\t\t\tdd = temp\n\n\t\t\tif cc != 0 {\n\t\t\t\tif bb != 0 {\n\t\t\t\t\tif math.Signbit(bb) == math.Signbit(cc) {\n\t\t\t\t\t\t// Real eigenvalues, reduce to\n\t\t\t\t\t\t// upper triangular form.\n\t\t\t\t\t\tsab := math.Sqrt(math.Abs(bb))\n\t\t\t\t\t\tsac := math.Sqrt(math.Abs(cc))\n\t\t\t\t\t\tp = sab * sac\n\t\t\t\t\t\tif cc < 0 {\n\t\t\t\t\t\t\tp *= -1\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttau = 1 / math.Sqrt(math.Abs(bb+cc))\n\t\t\t\t\t\taa = temp + p\n\t\t\t\t\t\tbb = bb - cc\n\t\t\t\t\t\tcc = 0\n\t\t\t\t\t\tdd = temp - p\n\t\t\t\t\t\tcs1 := sab * tau\n\t\t\t\t\t\tsn1 := sac * tau\n\t\t\t\t\t\tcs, sn = cs*cs1-sn*sn1, cs*sn1+sn+cs1\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tbb = -cc\n\t\t\t\t\tcc = 0\n\t\t\t\t\tcs, sn = -sn, cs\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Store eigenvalues in (rt1r,rt1i) and (rt2r,rt2i).\n\trt1r = aa\n\trt2r = dd\n\tif cc != 0 {\n\t\trt1i = math.Sqrt(math.Abs(bb)) * math.Sqrt(math.Abs(cc))\n\t\trt2i = -rt1i\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlapll.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas/blas64\"\n\n// Dlapll returns the smallest singular value of the n×2 matrix A = [ x y ].\n// The function first computes the QR factorization of A = Q*R, and then computes\n// the SVD of the 2-by-2 upper triangular matrix r.\n//\n// The contents of x and y are overwritten during the call.\n//\n// Dlapll is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlapll(n int, x []float64, incX int, y []float64, incY int) float64 {\n\tcheckVector(n, x, incX)\n\tcheckVector(n, y, incY)\n\n\tif n <= 1 {\n\t\treturn 0\n\t}\n\n\t// Compute the QR factorization of the N-by-2 matrix [ X Y ].\n\ta00, tau := impl.Dlarfg(n, x[0], x[incX:], incX)\n\tx[0] = 1\n\n\tbi := blas64.Implementation()\n\tc := -tau * bi.Ddot(n, x, incX, y, incY)\n\tbi.Daxpy(n, c, x, incX, y, incY)\n\ta11, _ := impl.Dlarfg(n-1, y[incY], y[2*incY:], incY)\n\n\t// Compute the SVD of 2-by-2 upper triangular matrix.\n\tssmin, _ := impl.Dlas2(a00, y[0], a11)\n\treturn ssmin\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlapmt.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas/blas64\"\n\n// Dlapmt rearranges the columns of the m×n matrix X as specified by the\n// permutation k_0, k_1, ..., k_n-1 of the integers 0, ..., n-1.\n//\n// If forward is true a forward permutation is performed:\n//\n//  X[0:m, k[j]] is moved to X[0:m, j] for j = 0, 1, ..., n-1.\n//\n// otherwise a backward permutation is performed:\n//\n//  X[0:m, j] is moved to X[0:m, k[j]] for j = 0, 1, ..., n-1.\n//\n// k must have length n, otherwise Dlapmt will panic. k is zero-indexed.\nfunc (impl Implementation) Dlapmt(forward bool, m, n int, x []float64, ldx int, k []int) {\n\tcheckMatrix(m, n, x, ldx)\n\tif len(k) != n {\n\t\tpanic(badKperm)\n\t}\n\n\tif n <= 1 {\n\t\treturn\n\t}\n\n\tfor i, v := range k {\n\t\tv++\n\t\tk[i] = -v\n\t}\n\n\tbi := blas64.Implementation()\n\n\tif forward {\n\t\tfor j, v := range k {\n\t\t\tif v >= 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tk[j] = -v\n\t\t\ti := -v - 1\n\t\t\tfor k[i] < 0 {\n\t\t\t\tbi.Dswap(m, x[j:], ldx, x[i:], ldx)\n\n\t\t\t\tk[i] = -k[i]\n\t\t\t\tj = i\n\t\t\t\ti = k[i] - 1\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor i, v := range k {\n\t\t\tif v >= 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tk[i] = -v\n\t\t\tj := -v - 1\n\t\t\tfor j != i {\n\t\t\t\tbi.Dswap(m, x[j:], ldx, x[i:], ldx)\n\n\t\t\t\tk[j] = -k[j]\n\t\t\t\tj = k[j] - 1\n\t\t\t}\n\t\t}\n\t}\n\n\tfor i := range k {\n\t\tk[i]--\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlapy2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlapy2 is the LAPACK version of math.Hypot.\n//\n// Dlapy2 is an internal routine. It is exported for testing purposes.\nfunc (Implementation) Dlapy2(x, y float64) float64 {\n\treturn math.Hypot(x, y)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlaqp2.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dlaqp2 computes a QR factorization with column pivoting of the block A[offset:m, 0:n]\n// of the m×n matrix A. The block A[0:offset, 0:n] is accordingly pivoted, but not factorized.\n//\n// On exit, the upper triangle of block A[offset:m, 0:n] is the triangular factor obtained.\n// The elements in block A[offset:m, 0:n] below the diagonal, together with tau, represent\n// the orthogonal matrix Q as a product of elementary reflectors.\n//\n// offset is number of rows of the matrix A that must be pivoted but not factorized.\n// offset must not be negative otherwise Dlaqp2 will panic.\n//\n// On exit, jpvt holds the permutation that was applied; the jth column of A*P was the\n// jpvt[j] column of A. jpvt must have length n, otherwise Dlaqp2 will panic.\n//\n// On exit tau holds the scalar factors of the elementary reflectors. It must have length\n// at least min(m-offset, n) otherwise Dlaqp2 will panic.\n//\n// vn1 and vn2 hold the partial and complete column norms respectively. They must have length n,\n// otherwise Dlaqp2 will panic.\n//\n// work must have length n, otherwise Dlaqp2 will panic.\n//\n// Dlaqp2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlaqp2(m, n, offset int, a []float64, lda int, jpvt []int, tau, vn1, vn2, work []float64) {\n\tcheckMatrix(m, n, a, lda)\n\tif len(jpvt) != n {\n\t\tpanic(badIpiv)\n\t}\n\tmn := min(m-offset, n)\n\tif len(tau) < mn {\n\t\tpanic(badTau)\n\t}\n\tif len(vn1) < n {\n\t\tpanic(badVn1)\n\t}\n\tif len(vn2) < n {\n\t\tpanic(badVn2)\n\t}\n\tif len(work) < n {\n\t\tpanic(badWork)\n\t}\n\n\ttol3z := math.Sqrt(dlamchE)\n\n\tbi := blas64.Implementation()\n\n\t// Compute factorization.\n\tfor i := 0; i < mn; i++ {\n\t\toffpi := offset + i\n\n\t\t// Determine ith pivot column and swap if necessary.\n\t\tp := i + bi.Idamax(n-i, vn1[i:], 1)\n\t\tif p != i {\n\t\t\tbi.Dswap(m, a[p:], lda, a[i:], lda)\n\t\t\tjpvt[p], jpvt[i] = jpvt[i], jpvt[p]\n\t\t\tvn1[p] = vn1[i]\n\t\t\tvn2[p] = vn2[i]\n\t\t}\n\n\t\t// Generate elementary reflector H_i.\n\t\tif offpi < m-1 {\n\t\t\ta[offpi*lda+i], tau[i] = impl.Dlarfg(m-offpi, a[offpi*lda+i], a[(offpi+1)*lda+i:], lda)\n\t\t} else {\n\t\t\ttau[i] = 0\n\t\t}\n\n\t\tif i < n-1 {\n\t\t\t// Apply H_i^T to A[offset+i:m, i:n] from the left.\n\t\t\taii := a[offpi*lda+i]\n\t\t\ta[offpi*lda+i] = 1\n\t\t\timpl.Dlarf(blas.Left, m-offpi, n-i-1, a[offpi*lda+i:], lda, tau[i], a[offpi*lda+i+1:], lda, work)\n\t\t\ta[offpi*lda+i] = aii\n\t\t}\n\n\t\t// Update partial column norms.\n\t\tfor j := i + 1; j < n; j++ {\n\t\t\tif vn1[j] == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// The following marked lines follow from the\n\t\t\t// analysis in Lapack Working Note 176.\n\t\t\tr := math.Abs(a[offpi*lda+j]) / vn1[j] // *\n\t\t\ttemp := math.Max(0, 1-r*r)             // *\n\t\t\tr = vn1[j] / vn2[j]                    // *\n\t\t\ttemp2 := temp * r * r                  // *\n\t\t\tif temp2 < tol3z {\n\t\t\t\tvar v float64\n\t\t\t\tif offpi < m-1 {\n\t\t\t\t\tv = bi.Dnrm2(m-offpi-1, a[(offpi+1)*lda+j:], lda)\n\t\t\t\t}\n\t\t\t\tvn1[j] = v\n\t\t\t\tvn2[j] = v\n\t\t\t} else {\n\t\t\t\tvn1[j] *= math.Sqrt(temp) // *\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlaqps.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dlaqps computes a step of QR factorization with column pivoting\n// of an m×n matrix A by using Blas-3. It tries to factorize nb\n// columns from A starting from the row offset, and updates all\n// of the matrix with Dgemm.\n//\n// In some cases, due to catastrophic cancellations, it cannot\n// factorize nb columns. Hence, the actual number of factorized\n// columns is returned in kb.\n//\n// Dlaqps computes a QR factorization with column pivoting of the\n// block A[offset:m, 0:nb] of the m×n matrix A. The block\n// A[0:offset, 0:n] is accordingly pivoted, but not factorized.\n//\n// On exit, the upper triangle of block A[offset:m, 0:kb] is the\n// triangular factor obtained. The elements in block A[offset:m, 0:n]\n// below the diagonal, together with tau, represent the orthogonal\n// matrix Q as a product of elementary reflectors.\n//\n// offset is number of rows of the matrix A that must be pivoted but\n// not factorized. offset must not be negative otherwise Dlaqps will panic.\n//\n// On exit, jpvt holds the permutation that was applied; the jth column\n// of A*P was the jpvt[j] column of A. jpvt must have length n,\n// otherwise Dlapqs will panic.\n//\n// On exit tau holds the scalar factors of the elementary reflectors.\n// It must have length nb, otherwise Dlapqs will panic.\n//\n// vn1 and vn2 hold the partial and complete column norms respectively.\n// They must have length n, otherwise Dlapqs will panic.\n//\n// auxv must have length nb, otherwise Dlaqps will panic.\n//\n// f and ldf represent an n×nb matrix F that is overwritten during the\n// call.\n//\n// Dlaqps is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlaqps(m, n, offset, nb int, a []float64, lda int, jpvt []int, tau, vn1, vn2, auxv, f []float64, ldf int) (kb int) {\n\tcheckMatrix(m, n, a, lda)\n\tcheckMatrix(n, nb, f, ldf)\n\tif offset > m {\n\t\tpanic(offsetGTM)\n\t}\n\tif n < 0 || nb > n {\n\t\tpanic(badNb)\n\t}\n\tif len(jpvt) != n {\n\t\tpanic(badIpiv)\n\t}\n\tif len(tau) < nb {\n\t\tpanic(badTau)\n\t}\n\tif len(vn1) < n {\n\t\tpanic(badVn1)\n\t}\n\tif len(vn2) < n {\n\t\tpanic(badVn2)\n\t}\n\tif len(auxv) < nb {\n\t\tpanic(badAuxv)\n\t}\n\n\tlastrk := min(m, n+offset)\n\tlsticc := -1\n\ttol3z := math.Sqrt(dlamchE)\n\n\tbi := blas64.Implementation()\n\n\tvar k, rk int\n\tfor ; k < nb && lsticc == -1; k++ {\n\t\trk = offset + k\n\n\t\t// Determine kth pivot column and swap if necessary.\n\t\tp := k + bi.Idamax(n-k, vn1[k:], 1)\n\t\tif p != k {\n\t\t\tbi.Dswap(m, a[p:], lda, a[k:], lda)\n\t\t\tbi.Dswap(k, f[p*ldf:], 1, f[k*ldf:], 1)\n\t\t\tjpvt[p], jpvt[k] = jpvt[k], jpvt[p]\n\t\t\tvn1[p] = vn1[k]\n\t\t\tvn2[p] = vn2[k]\n\t\t}\n\n\t\t// Apply previous Householder reflectors to column K:\n\t\t//\n\t\t// A[rk:m, k] = A[rk:m, k] - A[rk:m, 0:k-1]*F[k, 0:k-1]^T.\n\t\tif k > 0 {\n\t\t\tbi.Dgemv(blas.NoTrans, m-rk, k, -1,\n\t\t\t\ta[rk*lda:], lda,\n\t\t\t\tf[k*ldf:], 1,\n\t\t\t\t1,\n\t\t\t\ta[rk*lda+k:], lda)\n\t\t}\n\n\t\t// Generate elementary reflector H_k.\n\t\tif rk < m-1 {\n\t\t\ta[rk*lda+k], tau[k] = impl.Dlarfg(m-rk, a[rk*lda+k], a[(rk+1)*lda+k:], lda)\n\t\t} else {\n\t\t\ttau[k] = 0\n\t\t}\n\n\t\takk := a[rk*lda+k]\n\t\ta[rk*lda+k] = 1\n\n\t\t// Compute kth column of F:\n\t\t//\n\t\t// Compute F[k+1:n, k] = tau[k]*A[rk:m, k+1:n]^T*A[rk:m, k].\n\t\tif k < n-1 {\n\t\t\tbi.Dgemv(blas.Trans, m-rk, n-k-1, tau[k],\n\t\t\t\ta[rk*lda+k+1:], lda,\n\t\t\t\ta[rk*lda+k:], lda,\n\t\t\t\t0,\n\t\t\t\tf[(k+1)*ldf+k:], ldf)\n\t\t}\n\n\t\t// Padding F[0:k, k] with zeros.\n\t\tfor j := 0; j < k; j++ {\n\t\t\tf[j*ldf+k] = 0\n\t\t}\n\n\t\t// Incremental updating of F:\n\t\t//\n\t\t// F[0:n, k] := F[0:n, k] - tau[k]*F[0:n, 0:k-1]*A[rk:m, 0:k-1]^T*A[rk:m,k].\n\t\tif k > 0 {\n\t\t\tbi.Dgemv(blas.Trans, m-rk, k, -tau[k],\n\t\t\t\ta[rk*lda:], lda,\n\t\t\t\ta[rk*lda+k:], lda,\n\t\t\t\t0,\n\t\t\t\tauxv, 1)\n\t\t\tbi.Dgemv(blas.NoTrans, n, k, 1,\n\t\t\t\tf, ldf,\n\t\t\t\tauxv, 1,\n\t\t\t\t1,\n\t\t\t\tf[k:], ldf)\n\t\t}\n\n\t\t// Update the current row of A:\n\t\t//\n\t\t// A[rk, k+1:n] = A[rk, k+1:n] - A[rk, 0:k]*F[k+1:n, 0:k]^T.\n\t\tif k < n-1 {\n\t\t\tbi.Dgemv(blas.NoTrans, n-k-1, k+1, -1,\n\t\t\t\tf[(k+1)*ldf:], ldf,\n\t\t\t\ta[rk*lda:], 1,\n\t\t\t\t1,\n\t\t\t\ta[rk*lda+k+1:], 1)\n\t\t}\n\n\t\t// Update partial column norms.\n\t\tif rk < lastrk-1 {\n\t\t\tfor j := k + 1; j < n; j++ {\n\t\t\t\tif vn1[j] == 0 {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\t// The following marked lines follow from the\n\t\t\t\t// analysis in Lapack Working Note 176.\n\t\t\t\tr := math.Abs(a[rk*lda+j]) / vn1[j] // *\n\t\t\t\ttemp := math.Max(0, 1-r*r)          // *\n\t\t\t\tr = vn1[j] / vn2[j]                 // *\n\t\t\t\ttemp2 := temp * r * r               // *\n\t\t\t\tif temp2 < tol3z {\n\t\t\t\t\t// vn2 is used here as a collection of\n\t\t\t\t\t// indices into vn2 and also a collection\n\t\t\t\t\t// of column norms.\n\t\t\t\t\tvn2[j] = float64(lsticc)\n\t\t\t\t\tlsticc = j\n\t\t\t\t} else {\n\t\t\t\t\tvn1[j] *= math.Sqrt(temp) // *\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\ta[rk*lda+k] = akk\n\t}\n\tkb = k\n\trk = offset + kb\n\n\t// Apply the block reflector to the rest of the matrix:\n\t//\n\t// A[offset+kb+1:m, kb+1:n] := A[offset+kb+1:m, kb+1:n] - A[offset+kb+1:m, 1:kb]*F[kb+1:n, 1:kb]^T.\n\tif kb < min(n, m-offset) {\n\t\tbi.Dgemm(blas.NoTrans, blas.Trans,\n\t\t\tm-rk, n-kb, kb, -1,\n\t\t\ta[rk*lda:], lda,\n\t\t\tf[kb*ldf:], ldf,\n\t\t\t1,\n\t\t\ta[rk*lda+kb:], lda)\n\t}\n\n\t// Recomputation of difficult columns.\n\tfor lsticc >= 0 {\n\t\titemp := int(vn2[lsticc])\n\n\t\t// NOTE: The computation of vn1[lsticc] relies on the fact that\n\t\t// Dnrm2 does not fail on vectors with norm below the value of\n\t\t// sqrt(dlamchS)\n\t\tv := bi.Dnrm2(m-rk, a[rk*lda+lsticc:], lda)\n\t\tvn1[lsticc] = v\n\t\tvn2[lsticc] = v\n\n\t\tlsticc = itemp\n\t}\n\n\treturn kb\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlaqr04.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n)\n\n// Dlaqr04 computes the eigenvalues of a block of an n×n upper Hessenberg matrix\n// H, and optionally the matrices T and Z from the Schur decomposition\n//  H = Z T Z^T\n// where T is an upper quasi-triangular matrix (the Schur form), and Z is the\n// orthogonal matrix of Schur vectors.\n//\n// wantt indicates whether the full Schur form T is required. If wantt is false,\n// then only enough of H will be updated to preserve the eigenvalues.\n//\n// wantz indicates whether the n×n matrix of Schur vectors Z is required. If it\n// is true, the orthogonal similarity transformation will be accumulated into\n// Z[iloz:ihiz+1,ilo:ihi+1], otherwise Z will not be referenced.\n//\n// ilo and ihi determine the block of H on which Dlaqr04 operates. It must hold that\n//  0 <= ilo <= ihi < n,     if n > 0,\n//  ilo == 0 and ihi == -1,  if n == 0,\n// and the block must be isolated, that is,\n//  ilo == 0   or H[ilo,ilo-1] == 0,\n//  ihi == n-1 or H[ihi+1,ihi] == 0,\n// otherwise Dlaqr04 will panic.\n//\n// wr and wi must have length ihi+1.\n//\n// iloz and ihiz specify the rows of Z to which transformations will be applied\n// if wantz is true. It must hold that\n//  0 <= iloz <= ilo,  and  ihi <= ihiz < n,\n// otherwise Dlaqr04 will panic.\n//\n// work must have length at least lwork and lwork must be\n//  lwork >= 1,  if n <= 11,\n//  lwork >= n,  if n > 11,\n// otherwise Dlaqr04 will panic. lwork as large as 6*n may be required for\n// optimal performance. On return, work[0] will contain the optimal value of\n// lwork.\n//\n// If lwork is -1, instead of performing Dlaqr04, the function only estimates the\n// optimal workspace size and stores it into work[0]. Neither h nor z are\n// accessed.\n//\n// recur is the non-negative recursion depth. For recur > 0, Dlaqr04 behaves\n// as DLAQR0, for recur == 0 it behaves as DLAQR4.\n//\n// unconverged indicates whether Dlaqr04 computed all the eigenvalues of H[ilo:ihi+1,ilo:ihi+1].\n//\n// If unconverged is zero and wantt is true, H will contain on return the upper\n// quasi-triangular matrix T from the Schur decomposition. 2×2 diagonal blocks\n// (corresponding to complex conjugate pairs of eigenvalues) will be returned in\n// standard form, with H[i,i] == H[i+1,i+1] and H[i+1,i]*H[i,i+1] < 0.\n//\n// If unconverged is zero and if wantt is false, the contents of h on return is\n// unspecified.\n//\n// If unconverged is zero, all the eigenvalues have been computed and their real\n// and imaginary parts will be stored on return in wr[ilo:ihi+1] and\n// wi[ilo:ihi+1], respectively. If two eigenvalues are computed as a complex\n// conjugate pair, they are stored in consecutive elements of wr and wi, say the\n// i-th and (i+1)th, with wi[i] > 0 and wi[i+1] < 0. If wantt is true, then the\n// eigenvalues are stored in the same order as on the diagonal of the Schur form\n// returned in H, with wr[i] = H[i,i] and, if H[i:i+2,i:i+2] is a 2×2 diagonal\n// block, wi[i] = sqrt(-H[i+1,i]*H[i,i+1]) and wi[i+1] = -wi[i].\n//\n// If unconverged is positive, some eigenvalues have not converged, and\n// wr[unconverged:ihi+1] and wi[unconverged:ihi+1] will contain those\n// eigenvalues which have been successfully computed. Failures are rare.\n//\n// If unconverged is positive and wantt is true, then on return\n//  (initial H)*U = U*(final H),   (*)\n// where U is an orthogonal matrix. The final H is upper Hessenberg and\n// H[unconverged:ihi+1,unconverged:ihi+1] is upper quasi-triangular.\n//\n// If unconverged is positive and wantt is false, on return the remaining\n// unconverged eigenvalues are the eigenvalues of the upper Hessenberg matrix\n// H[ilo:unconverged,ilo:unconverged].\n//\n// If unconverged is positive and wantz is true, then on return\n//  (final Z) = (initial Z)*U,\n// where U is the orthogonal matrix in (*) regardless of the value of wantt.\n//\n// References:\n//  [1] K. Braman, R. Byers, R. Mathias. The Multishift QR Algorithm. Part I:\n//      Maintaining Well-Focused Shifts and Level 3 Performance. SIAM J. Matrix\n//      Anal. Appl. 23(4) (2002), pp. 929—947\n//      URL: http://dx.doi.org/10.1137/S0895479801384573\n//  [2] K. Braman, R. Byers, R. Mathias. The Multishift QR Algorithm. Part II:\n//      Aggressive Early Deflation. SIAM J. Matrix Anal. Appl. 23(4) (2002), pp. 948—973\n//      URL: http://dx.doi.org/10.1137/S0895479801384585\n//\n// Dlaqr04 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlaqr04(wantt, wantz bool, n, ilo, ihi int, h []float64, ldh int, wr, wi []float64, iloz, ihiz int, z []float64, ldz int, work []float64, lwork int, recur int) (unconverged int) {\n\tconst (\n\t\t// Matrices of order ntiny or smaller must be processed by\n\t\t// Dlahqr because of insufficient subdiagonal scratch space.\n\t\t// This is a hard limit.\n\t\tntiny = 11\n\t\t// Exceptional deflation windows: try to cure rare slow\n\t\t// convergence by varying the size of the deflation window after\n\t\t// kexnw iterations.\n\t\tkexnw = 5\n\t\t// Exceptional shifts: try to cure rare slow convergence with\n\t\t// ad-hoc exceptional shifts every kexsh iterations.\n\t\tkexsh = 6\n\n\t\t// See https://github.com/gonum/lapack/pull/151#discussion_r68162802\n\t\t// and the surrounding discussion for an explanation where these\n\t\t// constants come from.\n\t\t// TODO(vladimir-ch): Similar constants for exceptional shifts\n\t\t// are used also in dlahqr.go. The first constant is different\n\t\t// there, it is equal to 3. Why? And does it matter?\n\t\twilk1 = 0.75\n\t\twilk2 = -0.4375\n\t)\n\n\tswitch {\n\tcase ilo < 0 || max(0, n-1) < ilo:\n\t\tpanic(badIlo)\n\tcase ihi < min(ilo, n-1) || n <= ihi:\n\t\tpanic(badIhi)\n\tcase lwork < 1 && n <= ntiny && lwork != -1:\n\t\tpanic(badWork)\n\t// TODO(vladimir-ch): Enable if and when we figure out what the minimum\n\t// necessary lwork value is. Dlaqr04 says that the minimum is n which\n\t// clashes with Dlaqr23's opinion about optimal work when nw <= 2\n\t// (independent of n).\n\t// case lwork < n && n > ntiny && lwork != -1:\n\t// \tpanic(badWork)\n\tcase len(work) < lwork:\n\t\tpanic(shortWork)\n\tcase recur < 0:\n\t\tpanic(\"lapack: recur is negative\")\n\t}\n\tif wantz {\n\t\tif iloz < 0 || ilo < iloz {\n\t\t\tpanic(\"lapack: invalid value of iloz\")\n\t\t}\n\t\tif ihiz < ihi || n <= ihiz {\n\t\t\tpanic(\"lapack: invalid value of ihiz\")\n\t\t}\n\t}\n\tif lwork != -1 {\n\t\tcheckMatrix(n, n, h, ldh)\n\t\tif wantz {\n\t\t\tcheckMatrix(n, n, z, ldz)\n\t\t}\n\t\tswitch {\n\t\tcase ilo > 0 && h[ilo*ldh+ilo-1] != 0:\n\t\t\tpanic(\"lapack: block not isolated\")\n\t\tcase ihi+1 < n && h[(ihi+1)*ldh+ihi] != 0:\n\t\t\tpanic(\"lapack: block not isolated\")\n\t\tcase len(wr) != ihi+1:\n\t\t\tpanic(\"lapack: bad length of wr\")\n\t\tcase len(wi) != ihi+1:\n\t\t\tpanic(\"lapack: bad length of wi\")\n\t\t}\n\t}\n\n\t// Quick return.\n\tif n == 0 {\n\t\twork[0] = 1\n\t\treturn 0\n\t}\n\n\tif n <= ntiny {\n\t\t// Tiny matrices must use Dlahqr.\n\t\twork[0] = 1\n\t\tif lwork == -1 {\n\t\t\treturn 0\n\t\t}\n\t\treturn impl.Dlahqr(wantt, wantz, n, ilo, ihi, h, ldh, wr, wi, iloz, ihiz, z, ldz)\n\t}\n\n\t// Use small bulge multi-shift QR with aggressive early deflation on\n\t// larger-than-tiny matrices.\n\tvar jbcmpz string\n\tif wantt {\n\t\tjbcmpz = \"S\"\n\t} else {\n\t\tjbcmpz = \"E\"\n\t}\n\tif wantz {\n\t\tjbcmpz += \"V\"\n\t} else {\n\t\tjbcmpz += \"N\"\n\t}\n\n\tvar fname string\n\tif recur > 0 {\n\t\tfname = \"DLAQR0\"\n\t} else {\n\t\tfname = \"DLAQR4\"\n\t}\n\t// nwr is the recommended deflation window size. n is greater than 11,\n\t// so there is enough subdiagonal workspace for nwr >= 2 as required.\n\t// (In fact, there is enough subdiagonal space for nwr >= 3.)\n\t// TODO(vladimir-ch): If there is enough space for nwr >= 3, should we\n\t// use it?\n\tnwr := impl.Ilaenv(13, fname, jbcmpz, n, ilo, ihi, lwork)\n\tnwr = max(2, nwr)\n\tnwr = min(ihi-ilo+1, min((n-1)/3, nwr))\n\n\t// nsr is the recommended number of simultaneous shifts. n is greater\n\t// than 11, so there is enough subdiagonal workspace for nsr to be even\n\t// and greater than or equal to two as required.\n\tnsr := impl.Ilaenv(15, fname, jbcmpz, n, ilo, ihi, lwork)\n\tnsr = min(nsr, min((n+6)/9, ihi-ilo))\n\tnsr = max(2, nsr&^1)\n\n\t// Workspace query call to Dlaqr23.\n\timpl.Dlaqr23(wantt, wantz, n, ilo, ihi, nwr+1, nil, 0, iloz, ihiz, nil, 0,\n\t\tnil, nil, nil, 0, n, nil, 0, n, nil, 0, work, -1, recur)\n\t// Optimal workspace is max(Dlaqr5, Dlaqr23).\n\tlwkopt := max(3*nsr/2, int(work[0]))\n\t// Quick return in case of workspace query.\n\tif lwork == -1 {\n\t\twork[0] = float64(lwkopt)\n\t\treturn 0\n\t}\n\n\t// Dlahqr/Dlaqr04 crossover point.\n\tnmin := impl.Ilaenv(12, fname, jbcmpz, n, ilo, ihi, lwork)\n\tnmin = max(ntiny, nmin)\n\n\t// Nibble determines when to skip a multi-shift QR sweep (Dlaqr5).\n\tnibble := impl.Ilaenv(14, fname, jbcmpz, n, ilo, ihi, lwork)\n\tnibble = max(0, nibble)\n\n\t// Computation mode of far-from-diagonal orthogonal updates in Dlaqr5.\n\tkacc22 := impl.Ilaenv(16, fname, jbcmpz, n, ilo, ihi, lwork)\n\tkacc22 = max(0, min(kacc22, 2))\n\n\t// nwmax is the largest possible deflation window for which there is\n\t// sufficient workspace.\n\tnwmax := min((n-1)/3, lwork/2)\n\tnw := nwmax // Start with maximum deflation window size.\n\n\t// nsmax is the largest number of simultaneous shifts for which there is\n\t// sufficient workspace.\n\tnsmax := min((n+6)/9, 2*lwork/3) &^ 1\n\n\tndfl := 1 // Number of iterations since last deflation.\n\tndec := 0 // Deflation window size decrement.\n\n\t// Main loop.\n\tvar (\n\t\titmax = max(30, 2*kexsh) * max(10, (ihi-ilo+1))\n\t\tit    = 0\n\t)\n\tfor kbot := ihi; kbot >= ilo; {\n\t\tif it == itmax {\n\t\t\tunconverged = kbot + 1\n\t\t\tbreak\n\t\t}\n\t\tit++\n\n\t\t// Locate active block.\n\t\tktop := ilo\n\t\tfor k := kbot; k >= ilo+1; k-- {\n\t\t\tif h[k*ldh+k-1] == 0 {\n\t\t\t\tktop = k\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// Select deflation window size nw.\n\t\t//\n\t\t// Typical Case:\n\t\t//  If possible and advisable, nibble the entire active block.\n\t\t//  If not, use size min(nwr,nwmax) or min(nwr+1,nwmax)\n\t\t//  depending upon which has the smaller corresponding\n\t\t//  subdiagonal entry (a heuristic).\n\t\t//\n\t\t// Exceptional Case:\n\t\t//  If there have been no deflations in kexnw or more\n\t\t//  iterations, then vary the deflation window size. At first,\n\t\t//  because larger windows are, in general, more powerful than\n\t\t//  smaller ones, rapidly increase the window to the maximum\n\t\t//  possible. Then, gradually reduce the window size.\n\t\tnh := kbot - ktop + 1\n\t\tnwupbd := min(nh, nwmax)\n\t\tif ndfl < kexnw {\n\t\t\tnw = min(nwupbd, nwr)\n\t\t} else {\n\t\t\tnw = min(nwupbd, 2*nw)\n\t\t}\n\t\tif nw < nwmax {\n\t\t\tif nw >= nh-1 {\n\t\t\t\tnw = nh\n\t\t\t} else {\n\t\t\t\tkwtop := kbot - nw + 1\n\t\t\t\tif math.Abs(h[kwtop*ldh+kwtop-1]) > math.Abs(h[(kwtop-1)*ldh+kwtop-2]) {\n\t\t\t\t\tnw++\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif ndfl < kexnw {\n\t\t\tndec = -1\n\t\t} else if ndec >= 0 || nw >= nwupbd {\n\t\t\tndec++\n\t\t\tif nw-ndec < 2 {\n\t\t\t\tndec = 0\n\t\t\t}\n\t\t\tnw -= ndec\n\t\t}\n\n\t\t// Split workspace under the subdiagonal of H into:\n\t\t//  - an nw×nw work array V in the lower left-hand corner,\n\t\t//  - an nw×nhv horizontal work array along the bottom edge (nhv\n\t\t//    must be at least nw but more is better),\n\t\t//  - an nve×nw vertical work array along the left-hand-edge\n\t\t//    (nhv can be any positive integer but more is better).\n\t\tkv := n - nw\n\t\tkt := nw\n\t\tkwv := nw + 1\n\t\tnhv := n - kwv - kt\n\t\t// Aggressive early deflation.\n\t\tls, ld := impl.Dlaqr23(wantt, wantz, n, ktop, kbot, nw,\n\t\t\th, ldh, iloz, ihiz, z, ldz, wr[:kbot+1], wi[:kbot+1],\n\t\t\th[kv*ldh:], ldh, nhv, h[kv*ldh+kt:], ldh, nhv, h[kwv*ldh:], ldh, work, lwork, recur)\n\n\t\t// Adjust kbot accounting for new deflations.\n\t\tkbot -= ld\n\t\t// ks points to the shifts.\n\t\tks := kbot - ls + 1\n\n\t\t// Skip an expensive QR sweep if there is a (partly heuristic)\n\t\t// reason to expect that many eigenvalues will deflate without\n\t\t// it. Here, the QR sweep is skipped if many eigenvalues have\n\t\t// just been deflated or if the remaining active block is small.\n\t\tif ld > 0 && (100*ld > nw*nibble || kbot-ktop+1 <= min(nmin, nwmax)) {\n\t\t\t// ld is positive, note progress.\n\t\t\tndfl = 1\n\t\t\tcontinue\n\t\t}\n\n\t\t// ns is the nominal number of simultaneous shifts. This may be\n\t\t// lowered (slightly) if Dlaqr23 did not provide that many\n\t\t// shifts.\n\t\tns := min(min(nsmax, nsr), max(2, kbot-ktop)) &^ 1\n\n\t\t// If there have been no deflations in a multiple of kexsh\n\t\t// iterations, then try exceptional shifts. Otherwise use shifts\n\t\t// provided by Dlaqr23 above or from the eigenvalues of a\n\t\t// trailing principal submatrix.\n\t\tif ndfl%kexsh == 0 {\n\t\t\tks = kbot - ns + 1\n\t\t\tfor i := kbot; i > max(ks, ktop+1); i -= 2 {\n\t\t\t\tss := math.Abs(h[i*ldh+i-1]) + math.Abs(h[(i-1)*ldh+i-2])\n\t\t\t\taa := wilk1*ss + h[i*ldh+i]\n\t\t\t\t_, _, _, _, wr[i-1], wi[i-1], wr[i], wi[i], _, _ =\n\t\t\t\t\timpl.Dlanv2(aa, ss, wilk2*ss, aa)\n\t\t\t}\n\t\t\tif ks == ktop {\n\t\t\t\twr[ks+1] = h[(ks+1)*ldh+ks+1]\n\t\t\t\twi[ks+1] = 0\n\t\t\t\twr[ks] = wr[ks+1]\n\t\t\t\twi[ks] = wi[ks+1]\n\t\t\t}\n\t\t} else {\n\t\t\t// If we got ns/2 or fewer shifts, use Dlahqr or recur\n\t\t\t// into Dlaqr04 on a trailing principal submatrix to get\n\t\t\t// more. Since ns <= nsmax <=(n+6)/9, there is enough\n\t\t\t// space below the subdiagonal to fit an ns×ns scratch\n\t\t\t// array.\n\t\t\tif kbot-ks+1 <= ns/2 {\n\t\t\t\tks = kbot - ns + 1\n\t\t\t\tkt = n - ns\n\t\t\t\timpl.Dlacpy(blas.All, ns, ns, h[ks*ldh+ks:], ldh, h[kt*ldh:], ldh)\n\t\t\t\tif ns > nmin && recur > 0 {\n\t\t\t\t\tks += impl.Dlaqr04(false, false, ns, 1, ns-1, h[kt*ldh:], ldh,\n\t\t\t\t\t\twr[ks:ks+ns], wi[ks:ks+ns], 0, 0, nil, 0, work, lwork, recur-1)\n\t\t\t\t} else {\n\t\t\t\t\tks += impl.Dlahqr(false, false, ns, 0, ns-1, h[kt*ldh:], ldh,\n\t\t\t\t\t\twr[ks:ks+ns], wi[ks:ks+ns], 0, 0, nil, 0)\n\t\t\t\t}\n\t\t\t\t// In case of a rare QR failure use eigenvalues\n\t\t\t\t// of the trailing 2×2 principal submatrix.\n\t\t\t\tif ks >= kbot {\n\t\t\t\t\taa := h[(kbot-1)*ldh+kbot-1]\n\t\t\t\t\tbb := h[(kbot-1)*ldh+kbot]\n\t\t\t\t\tcc := h[kbot*ldh+kbot-1]\n\t\t\t\t\tdd := h[kbot*ldh+kbot]\n\t\t\t\t\t_, _, _, _, wr[kbot-1], wi[kbot-1], wr[kbot], wi[kbot], _, _ =\n\t\t\t\t\t\timpl.Dlanv2(aa, bb, cc, dd)\n\t\t\t\t\tks = kbot - 1\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif kbot-ks+1 > ns {\n\t\t\t\t// Sorting the shifts helps a little. Bubble\n\t\t\t\t// sort keeps complex conjugate pairs together.\n\t\t\t\tsorted := false\n\t\t\t\tfor k := kbot; k > ks; k-- {\n\t\t\t\t\tif sorted {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tsorted = true\n\t\t\t\t\tfor i := ks; i < k; i++ {\n\t\t\t\t\t\tif math.Abs(wr[i])+math.Abs(wi[i]) >= math.Abs(wr[i+1])+math.Abs(wi[i+1]) {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsorted = false\n\t\t\t\t\t\twr[i], wr[i+1] = wr[i+1], wr[i]\n\t\t\t\t\t\twi[i], wi[i+1] = wi[i+1], wi[i]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Shuffle shifts into pairs of real shifts and pairs of\n\t\t\t// complex conjugate shifts using the fact that complex\n\t\t\t// conjugate shifts are already adjacent to one another.\n\t\t\t// TODO(vladimir-ch): The shuffling here could probably\n\t\t\t// be removed but I'm not sure right now and it's safer\n\t\t\t// to leave it.\n\t\t\tfor i := kbot; i > ks+1; i -= 2 {\n\t\t\t\tif wi[i] == -wi[i-1] {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\twr[i], wr[i-1], wr[i-2] = wr[i-1], wr[i-2], wr[i]\n\t\t\t\twi[i], wi[i-1], wi[i-2] = wi[i-1], wi[i-2], wi[i]\n\t\t\t}\n\t\t}\n\n\t\t// If there are only two shifts and both are real, then use only one.\n\t\tif kbot-ks+1 == 2 && wi[kbot] == 0 {\n\t\t\tif math.Abs(wr[kbot]-h[kbot*ldh+kbot]) < math.Abs(wr[kbot-1]-h[kbot*ldh+kbot]) {\n\t\t\t\twr[kbot-1] = wr[kbot]\n\t\t\t} else {\n\t\t\t\twr[kbot] = wr[kbot-1]\n\t\t\t}\n\t\t}\n\n\t\t// Use up to ns of the the smallest magnitude shifts. If there\n\t\t// aren't ns shifts available, then use them all, possibly\n\t\t// dropping one to make the number of shifts even.\n\t\tns = min(ns, kbot-ks+1) &^ 1\n\t\tks = kbot - ns + 1\n\n\t\t// Split workspace under the subdiagonal into:\n\t\t// - a kdu×kdu work array U in the lower left-hand-corner,\n\t\t// - a kdu×nhv horizontal work array WH along the bottom edge\n\t\t//   (nhv must be at least kdu but more is better),\n\t\t// - an nhv×kdu vertical work array WV along the left-hand-edge\n\t\t//   (nhv must be at least kdu but more is better).\n\t\tkdu := 3*ns - 3\n\t\tku := n - kdu\n\t\tkwh := kdu\n\t\tkwv = kdu + 3\n\t\tnhv = n - kwv - kdu\n\t\t// Small-bulge multi-shift QR sweep.\n\t\timpl.Dlaqr5(wantt, wantz, kacc22, n, ktop, kbot, ns,\n\t\t\twr[ks:ks+ns], wi[ks:ks+ns], h, ldh, iloz, ihiz, z, ldz,\n\t\t\twork, 3, h[ku*ldh:], ldh, nhv, h[kwv*ldh:], ldh, nhv, h[ku*ldh+kwh:], ldh)\n\n\t\t// Note progress (or the lack of it).\n\t\tif ld > 0 {\n\t\t\tndfl = 1\n\t\t} else {\n\t\t\tndfl++\n\t\t}\n\t}\n\n\twork[0] = float64(lwkopt)\n\treturn unconverged\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlaqr1.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlaqr1 sets v to a scalar multiple of the first column of the product\n//  (H - (sr1 + i*si1)*I)*(H - (sr2 + i*si2)*I)\n// where H is a 2×2 or 3×3 matrix, I is the identity matrix of the same size,\n// and i is the imaginary unit. Scaling is done to avoid overflows and most\n// underflows.\n//\n// n is the order of H and must be either 2 or 3. It must hold that either sr1 =\n// sr2 and si1 = -si2, or si1 = si2 = 0. The length of v must be equal to n. If\n// any of these conditions is not met, Dlaqr1 will panic.\n//\n// Dlaqr1 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlaqr1(n int, h []float64, ldh int, sr1, si1, sr2, si2 float64, v []float64) {\n\tif n != 2 && n != 3 {\n\t\tpanic(badDims)\n\t}\n\tcheckMatrix(n, n, h, ldh)\n\tif len(v) != n {\n\t\tpanic(badSlice)\n\t}\n\tif !((sr1 == sr2 && si1 == -si2) || (si1 == 0 && si2 == 0)) {\n\t\tpanic(badShifts)\n\t}\n\n\tif n == 2 {\n\t\ts := math.Abs(h[0]-sr2) + math.Abs(si2) + math.Abs(h[ldh])\n\t\tif s == 0 {\n\t\t\tv[0] = 0\n\t\t\tv[1] = 0\n\t\t} else {\n\t\t\th21s := h[ldh] / s\n\t\t\tv[0] = h21s*h[1] + (h[0]-sr1)*((h[0]-sr2)/s) - si1*(si2/s)\n\t\t\tv[1] = h21s * (h[0] + h[ldh+1] - sr1 - sr2)\n\t\t}\n\t\treturn\n\t}\n\n\ts := math.Abs(h[0]-sr2) + math.Abs(si2) + math.Abs(h[ldh]) + math.Abs(h[2*ldh])\n\tif s == 0 {\n\t\tv[0] = 0\n\t\tv[1] = 0\n\t\tv[2] = 0\n\t} else {\n\t\th21s := h[ldh] / s\n\t\th31s := h[2*ldh] / s\n\t\tv[0] = (h[0]-sr1)*((h[0]-sr2)/s) - si1*(si2/s) + h[1]*h21s + h[2]*h31s\n\t\tv[1] = h21s*(h[0]+h[ldh+1]-sr1-sr2) + h[ldh+2]*h31s\n\t\tv[2] = h31s*(h[0]+h[2*ldh+2]-sr1-sr2) + h21s*h[2*ldh+1]\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlaqr23.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlaqr23 performs the orthogonal similarity transformation of an n×n upper\n// Hessenberg matrix to detect and deflate fully converged eigenvalues from a\n// trailing principal submatrix using aggressive early deflation [1].\n//\n// On return, H will be overwritten by a new Hessenberg matrix that is a\n// perturbation of an orthogonal similarity transformation of H. It is hoped\n// that on output H will have many zero subdiagonal entries.\n//\n// If wantt is true, the matrix H will be fully updated so that the\n// quasi-triangular Schur factor can be computed. If wantt is false, then only\n// enough of H will be updated to preserve the eigenvalues.\n//\n// If wantz is true, the orthogonal similarity transformation will be\n// accumulated into Z[iloz:ihiz+1,ktop:kbot+1], otherwise Z is not referenced.\n//\n// ktop and kbot determine a block [ktop:kbot+1,ktop:kbot+1] along the diagonal\n// of H. It must hold that\n//  0 <= ilo <= ihi < n,     if n > 0,\n//  ilo == 0 and ihi == -1,  if n == 0,\n// and the block must be isolated, that is, it must hold that\n//  ktop == 0   or H[ktop,ktop-1] == 0,\n//  kbot == n-1 or H[kbot+1,kbot] == 0,\n// otherwise Dlaqr23 will panic.\n//\n// nw is the deflation window size. It must hold that\n//  0 <= nw <= kbot-ktop+1,\n// otherwise Dlaqr23 will panic.\n//\n// iloz and ihiz specify the rows of the n×n matrix Z to which transformations\n// will be applied if wantz is true. It must hold that\n//  0 <= iloz <= ktop,  and  kbot <= ihiz < n,\n// otherwise Dlaqr23 will panic.\n//\n// sr and si must have length kbot+1, otherwise Dlaqr23 will panic.\n//\n// v and ldv represent an nw×nw work matrix.\n// t and ldt represent an nw×nh work matrix, and nh must be at least nw.\n// wv and ldwv represent an nv×nw work matrix.\n//\n// work must have length at least lwork and lwork must be at least max(1,2*nw),\n// otherwise Dlaqr23 will panic. Larger values of lwork may result in greater\n// efficiency. On return, work[0] will contain the optimal value of lwork.\n//\n// If lwork is -1, instead of performing Dlaqr23, the function only estimates the\n// optimal workspace size and stores it into work[0]. Neither h nor z are\n// accessed.\n//\n// recur is the non-negative recursion depth. For recur > 0, Dlaqr23 behaves\n// as DLAQR3, for recur == 0 it behaves as DLAQR2.\n//\n// On return, ns and nd will contain respectively the number of unconverged\n// (i.e., approximate) eigenvalues and converged eigenvalues that are stored in\n// sr and si.\n//\n// On return, the real and imaginary parts of approximate eigenvalues that may\n// be used for shifts will be stored respectively in sr[kbot-nd-ns+1:kbot-nd+1]\n// and si[kbot-nd-ns+1:kbot-nd+1].\n//\n// On return, the real and imaginary parts of converged eigenvalues will be\n// stored respectively in sr[kbot-nd+1:kbot+1] and si[kbot-nd+1:kbot+1].\n//\n// References:\n//  [1] K. Braman, R. Byers, R. Mathias. The Multishift QR Algorithm. Part II:\n//      Aggressive Early Deflation. SIAM J. Matrix Anal. Appl 23(4) (2002), pp. 948—973\n//      URL: http://dx.doi.org/10.1137/S0895479801384585\n//\nfunc (impl Implementation) Dlaqr23(wantt, wantz bool, n, ktop, kbot, nw int, h []float64, ldh int, iloz, ihiz int, z []float64, ldz int, sr, si []float64, v []float64, ldv int, nh int, t []float64, ldt int, nv int, wv []float64, ldwv int, work []float64, lwork int, recur int) (ns, nd int) {\n\tswitch {\n\tcase ktop < 0 || max(0, n-1) < ktop:\n\t\tpanic(\"lapack: invalid value of ktop\")\n\tcase kbot < min(ktop, n-1) || n <= kbot:\n\t\tpanic(\"lapack: invalid value of kbot\")\n\tcase (nw < 0 || kbot-ktop+1 < nw) && lwork != -1:\n\t\tpanic(\"lapack: invalid value of nw\")\n\tcase nh < nw:\n\t\tpanic(\"lapack: invalid value of nh\")\n\tcase lwork < max(1, 2*nw) && lwork != -1:\n\t\tpanic(badWork)\n\tcase len(work) < lwork:\n\t\tpanic(shortWork)\n\tcase recur < 0:\n\t\tpanic(\"lapack: recur is negative\")\n\t}\n\tif wantz {\n\t\tswitch {\n\t\tcase iloz < 0 || ktop < iloz:\n\t\t\tpanic(\"lapack: invalid value of iloz\")\n\t\tcase ihiz < kbot || n <= ihiz:\n\t\t\tpanic(\"lapack: invalid value of ihiz\")\n\t\t}\n\t}\n\tif lwork != -1 {\n\t\t// Check input slices only if not doing workspace query.\n\t\tcheckMatrix(n, n, h, ldh)\n\t\tcheckMatrix(nw, nw, v, ldv)\n\t\tcheckMatrix(nw, nh, t, ldt)\n\t\tcheckMatrix(nv, nw, wv, ldwv)\n\t\tif wantz {\n\t\t\tcheckMatrix(n, n, z, ldz)\n\t\t}\n\t\tswitch {\n\t\tcase ktop > 0 && h[ktop*ldh+ktop-1] != 0:\n\t\t\tpanic(\"lapack: block not isolated\")\n\t\tcase kbot+1 < n && h[(kbot+1)*ldh+kbot] != 0:\n\t\t\tpanic(\"lapack: block not isolated\")\n\t\tcase len(sr) != kbot+1:\n\t\t\tpanic(\"lapack: bad length of sr\")\n\t\tcase len(si) != kbot+1:\n\t\t\tpanic(\"lapack: bad length of si\")\n\t\t}\n\t}\n\n\t// Quick return for zero window size.\n\tif nw == 0 {\n\t\twork[0] = 1\n\t\treturn 0, 0\n\t}\n\n\t// LAPACK code does not enforce the documented behavior\n\t//  nw <= kbot-ktop+1\n\t// but we do (we panic above).\n\tjw := nw\n\tlwkopt := max(1, 2*nw)\n\tif jw > 2 {\n\t\t// Workspace query call to Dgehrd.\n\t\timpl.Dgehrd(jw, 0, jw-2, nil, 0, nil, work, -1)\n\t\tlwk1 := int(work[0])\n\t\t// Workspace query call to Dormhr.\n\t\timpl.Dormhr(blas.Right, blas.NoTrans, jw, jw, 0, jw-2, nil, 0, nil, nil, 0, work, -1)\n\t\tlwk2 := int(work[0])\n\t\tif recur > 0 {\n\t\t\t// Workspace query call to Dlaqr04.\n\t\t\timpl.Dlaqr04(true, true, jw, 0, jw-1, nil, 0, nil, nil, 0, jw-1, nil, 0, work, -1, recur-1)\n\t\t\tlwk3 := int(work[0])\n\t\t\t// Optimal workspace.\n\t\t\tlwkopt = max(jw+max(lwk1, lwk2), lwk3)\n\t\t} else {\n\t\t\t// Optimal workspace.\n\t\t\tlwkopt = jw + max(lwk1, lwk2)\n\t\t}\n\t}\n\t// Quick return in case of workspace query.\n\tif lwork == -1 {\n\t\twork[0] = float64(lwkopt)\n\t\treturn 0, 0\n\t}\n\n\t// Machine constants.\n\tulp := dlamchP\n\tsmlnum := float64(n) / ulp * dlamchS\n\n\t// Setup deflation window.\n\tvar s float64\n\tkwtop := kbot - jw + 1\n\tif kwtop != ktop {\n\t\ts = h[kwtop*ldh+kwtop-1]\n\t}\n\tif kwtop == kbot {\n\t\t// 1×1 deflation window.\n\t\tsr[kwtop] = h[kwtop*ldh+kwtop]\n\t\tsi[kwtop] = 0\n\t\tns = 1\n\t\tnd = 0\n\t\tif math.Abs(s) <= math.Max(smlnum, ulp*math.Abs(h[kwtop*ldh+kwtop])) {\n\t\t\tns = 0\n\t\t\tnd = 1\n\t\t\tif kwtop > ktop {\n\t\t\t\th[kwtop*ldh+kwtop-1] = 0\n\t\t\t}\n\t\t}\n\t\twork[0] = 1\n\t\treturn ns, nd\n\t}\n\n\t// Convert to spike-triangular form. In case of a rare QR failure, this\n\t// routine continues to do aggressive early deflation using that part of\n\t// the deflation window that converged using infqr here and there to\n\t// keep track.\n\timpl.Dlacpy(blas.Upper, jw, jw, h[kwtop*ldh+kwtop:], ldh, t, ldt)\n\tbi := blas64.Implementation()\n\tbi.Dcopy(jw-1, h[(kwtop+1)*ldh+kwtop:], ldh+1, t[ldt:], ldt+1)\n\timpl.Dlaset(blas.All, jw, jw, 0, 1, v, ldv)\n\tnmin := impl.Ilaenv(12, \"DLAQR3\", \"SV\", jw, 0, jw-1, lwork)\n\tvar infqr int\n\tif recur > 0 && jw > nmin {\n\t\tinfqr = impl.Dlaqr04(true, true, jw, 0, jw-1, t, ldt, sr[kwtop:], si[kwtop:], 0, jw-1, v, ldv, work, lwork, recur-1)\n\t} else {\n\t\tinfqr = impl.Dlahqr(true, true, jw, 0, jw-1, t, ldt, sr[kwtop:], si[kwtop:], 0, jw-1, v, ldv)\n\t}\n\t// Note that ilo == 0 which conveniently coincides with the success\n\t// value of infqr, that is, infqr as an index always points to the first\n\t// converged eigenvalue.\n\n\t// Dtrexc needs a clean margin near the diagonal.\n\tfor j := 0; j < jw-3; j++ {\n\t\tt[(j+2)*ldt+j] = 0\n\t\tt[(j+3)*ldt+j] = 0\n\t}\n\tif jw >= 3 {\n\t\tt[(jw-1)*ldt+jw-3] = 0\n\t}\n\n\tns = jw\n\tilst := infqr\n\t// Deflation detection loop.\n\tfor ilst < ns {\n\t\tbulge := false\n\t\tif ns >= 2 {\n\t\t\tbulge = t[(ns-1)*ldt+ns-2] != 0\n\t\t}\n\t\tif !bulge {\n\t\t\t// Real eigenvalue.\n\t\t\tabst := math.Abs(t[(ns-1)*ldt+ns-1])\n\t\t\tif abst == 0 {\n\t\t\t\tabst = math.Abs(s)\n\t\t\t}\n\t\t\tif math.Abs(s*v[ns-1]) <= math.Max(smlnum, ulp*abst) {\n\t\t\t\t// Deflatable.\n\t\t\t\tns--\n\t\t\t} else {\n\t\t\t\t// Undeflatable, move it up out of the way.\n\t\t\t\t// Dtrexc can not fail in this case.\n\t\t\t\t_, ilst, _ = impl.Dtrexc(lapack.UpdateSchur, jw, t, ldt, v, ldv, ns-1, ilst, work)\n\t\t\t\tilst++\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\t// Complex conjugate pair.\n\t\tabst := math.Abs(t[(ns-1)*ldt+ns-1]) + math.Sqrt(math.Abs(t[(ns-1)*ldt+ns-2]))*math.Sqrt(math.Abs(t[(ns-2)*ldt+ns-1]))\n\t\tif abst == 0 {\n\t\t\tabst = math.Abs(s)\n\t\t}\n\t\tif math.Max(math.Abs(s*v[ns-1]), math.Abs(s*v[ns-2])) <= math.Max(smlnum, ulp*abst) {\n\t\t\t// Deflatable.\n\t\t\tns -= 2\n\t\t} else {\n\t\t\t// Undeflatable, move them up out of the way.\n\t\t\t// Dtrexc does the right thing with ilst in case of a\n\t\t\t// rare exchange failure.\n\t\t\t_, ilst, _ = impl.Dtrexc(lapack.UpdateSchur, jw, t, ldt, v, ldv, ns-1, ilst, work)\n\t\t\tilst += 2\n\t\t}\n\t}\n\n\t// Return to Hessenberg form.\n\tif ns == 0 {\n\t\ts = 0\n\t}\n\tif ns < jw {\n\t\t// Sorting diagonal blocks of T improves accuracy for graded\n\t\t// matrices. Bubble sort deals well with exchange failures.\n\t\tsorted := false\n\t\ti := ns\n\t\tfor !sorted {\n\t\t\tsorted = true\n\t\t\tkend := i - 1\n\t\t\ti = infqr\n\t\t\tvar k int\n\t\t\tif i == ns-1 || t[(i+1)*ldt+i] == 0 {\n\t\t\t\tk = i + 1\n\t\t\t} else {\n\t\t\t\tk = i + 2\n\t\t\t}\n\t\t\tfor k <= kend {\n\t\t\t\tvar evi float64\n\t\t\t\tif k == i+1 {\n\t\t\t\t\tevi = math.Abs(t[i*ldt+i])\n\t\t\t\t} else {\n\t\t\t\t\tevi = math.Abs(t[i*ldt+i]) + math.Sqrt(math.Abs(t[(i+1)*ldt+i]))*math.Sqrt(math.Abs(t[i*ldt+i+1]))\n\t\t\t\t}\n\n\t\t\t\tvar evk float64\n\t\t\t\tif k == kend || t[(k+1)*ldt+k] == 0 {\n\t\t\t\t\tevk = math.Abs(t[k*ldt+k])\n\t\t\t\t} else {\n\t\t\t\t\tevk = math.Abs(t[k*ldt+k]) + math.Sqrt(math.Abs(t[(k+1)*ldt+k]))*math.Sqrt(math.Abs(t[k*ldt+k+1]))\n\t\t\t\t}\n\n\t\t\t\tif evi >= evk {\n\t\t\t\t\ti = k\n\t\t\t\t} else {\n\t\t\t\t\tsorted = false\n\t\t\t\t\t_, ilst, ok := impl.Dtrexc(lapack.UpdateSchur, jw, t, ldt, v, ldv, i, k, work)\n\t\t\t\t\tif ok {\n\t\t\t\t\t\ti = ilst\n\t\t\t\t\t} else {\n\t\t\t\t\t\ti = k\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif i == kend || t[(i+1)*ldt+i] == 0 {\n\t\t\t\t\tk = i + 1\n\t\t\t\t} else {\n\t\t\t\t\tk = i + 2\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Restore shift/eigenvalue array from T.\n\tfor i := jw - 1; i >= infqr; {\n\t\tif i == infqr || t[i*ldt+i-1] == 0 {\n\t\t\tsr[kwtop+i] = t[i*ldt+i]\n\t\t\tsi[kwtop+i] = 0\n\t\t\ti--\n\t\t\tcontinue\n\t\t}\n\t\taa := t[(i-1)*ldt+i-1]\n\t\tbb := t[(i-1)*ldt+i]\n\t\tcc := t[i*ldt+i-1]\n\t\tdd := t[i*ldt+i]\n\t\t_, _, _, _, sr[kwtop+i-1], si[kwtop+i-1], sr[kwtop+i], si[kwtop+i], _, _ = impl.Dlanv2(aa, bb, cc, dd)\n\t\ti -= 2\n\t}\n\n\tif ns < jw || s == 0 {\n\t\tif ns > 1 && s != 0 {\n\t\t\t// Reflect spike back into lower triangle.\n\t\t\tbi.Dcopy(ns, v[:ns], 1, work[:ns], 1)\n\t\t\t_, tau := impl.Dlarfg(ns, work[0], work[1:ns], 1)\n\t\t\twork[0] = 1\n\t\t\timpl.Dlaset(blas.Lower, jw-2, jw-2, 0, 0, t[2*ldt:], ldt)\n\t\t\timpl.Dlarf(blas.Left, ns, jw, work[:ns], 1, tau, t, ldt, work[jw:])\n\t\t\timpl.Dlarf(blas.Right, ns, ns, work[:ns], 1, tau, t, ldt, work[jw:])\n\t\t\timpl.Dlarf(blas.Right, jw, ns, work[:ns], 1, tau, v, ldv, work[jw:])\n\t\t\timpl.Dgehrd(jw, 0, ns-1, t, ldt, work[:jw-1], work[jw:], lwork-jw)\n\t\t}\n\n\t\t// Copy updated reduced window into place.\n\t\tif kwtop > 0 {\n\t\t\th[kwtop*ldh+kwtop-1] = s * v[0]\n\t\t}\n\t\timpl.Dlacpy(blas.Upper, jw, jw, t, ldt, h[kwtop*ldh+kwtop:], ldh)\n\t\tbi.Dcopy(jw-1, t[ldt:], ldt+1, h[(kwtop+1)*ldh+kwtop:], ldh+1)\n\n\t\t// Accumulate orthogonal matrix in order to update H and Z, if\n\t\t// requested.\n\t\tif ns > 1 && s != 0 {\n\t\t\t// work[:ns-1] contains the elementary reflectors stored\n\t\t\t// by a call to Dgehrd above.\n\t\t\timpl.Dormhr(blas.Right, blas.NoTrans, jw, ns, 0, ns-1,\n\t\t\t\tt, ldt, work[:ns-1], v, ldv, work[jw:], lwork-jw)\n\t\t}\n\n\t\t// Update vertical slab in H.\n\t\tvar ltop int\n\t\tif !wantt {\n\t\t\tltop = ktop\n\t\t}\n\t\tfor krow := ltop; krow < kwtop; krow += nv {\n\t\t\tkln := min(nv, kwtop-krow)\n\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, kln, jw, jw,\n\t\t\t\t1, h[krow*ldh+kwtop:], ldh, v, ldv,\n\t\t\t\t0, wv, ldwv)\n\t\t\timpl.Dlacpy(blas.All, kln, jw, wv, ldwv, h[krow*ldh+kwtop:], ldh)\n\t\t}\n\n\t\t// Update horizontal slab in H.\n\t\tif wantt {\n\t\t\tfor kcol := kbot + 1; kcol < n; kcol += nh {\n\t\t\t\tkln := min(nh, n-kcol)\n\t\t\t\tbi.Dgemm(blas.Trans, blas.NoTrans, jw, kln, jw,\n\t\t\t\t\t1, v, ldv, h[kwtop*ldh+kcol:], ldh,\n\t\t\t\t\t0, t, ldt)\n\t\t\t\timpl.Dlacpy(blas.All, jw, kln, t, ldt, h[kwtop*ldh+kcol:], ldh)\n\t\t\t}\n\t\t}\n\n\t\t// Update vertical slab in Z.\n\t\tif wantz {\n\t\t\tfor krow := iloz; krow <= ihiz; krow += nv {\n\t\t\t\tkln := min(nv, ihiz-krow+1)\n\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, kln, jw, jw,\n\t\t\t\t\t1, z[krow*ldz+kwtop:], ldz, v, ldv,\n\t\t\t\t\t0, wv, ldwv)\n\t\t\t\timpl.Dlacpy(blas.All, kln, jw, wv, ldwv, z[krow*ldz+kwtop:], ldz)\n\t\t\t}\n\t\t}\n\t}\n\n\t// The number of deflations.\n\tnd = jw - ns\n\t// Shifts are converged eigenvalues that could not be deflated.\n\t// Subtracting infqr from the spike length takes care of the case of a\n\t// rare QR failure while calculating eigenvalues of the deflation\n\t// window.\n\tns -= infqr\n\twork[0] = float64(lwkopt)\n\treturn ns, nd\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlaqr5.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dlaqr5 performs a single small-bulge multi-shift QR sweep on an isolated\n// block of a Hessenberg matrix.\n//\n// wantt and wantz determine whether the quasi-triangular Schur factor and the\n// orthogonal Schur factor, respectively, will be computed.\n//\n// kacc22 specifies the computation mode of far-from-diagonal orthogonal\n// updates. Permitted values are:\n//  0: Dlaqr5 will not accumulate reflections and will not use matrix-matrix\n//     multiply to update far-from-diagonal matrix entries.\n//  1: Dlaqr5 will accumulate reflections and use matrix-matrix multiply to\n//     update far-from-diagonal matrix entries.\n//  2: Dlaqr5 will accumulate reflections, use matrix-matrix multiply to update\n//     far-from-diagonal matrix entries, and take advantage of 2×2 block\n//     structure during matrix multiplies.\n// For other values of kacc2 Dlaqr5 will panic.\n//\n// n is the order of the Hessenberg matrix H.\n//\n// ktop and kbot are indices of the first and last row and column of an isolated\n// diagonal block upon which the QR sweep will be applied. It must hold that\n//  ktop == 0,   or 0 < ktop <= n-1 and H[ktop, ktop-1] == 0, and\n//  kbot == n-1, or 0 <= kbot < n-1 and H[kbot+1, kbot] == 0,\n// otherwise Dlaqr5 will panic.\n//\n// nshfts is the number of simultaneous shifts. It must be positive and even,\n// otherwise Dlaqr5 will panic.\n//\n// sr and si contain the real and imaginary parts, respectively, of the shifts\n// of origin that define the multi-shift QR sweep. On return both slices may be\n// reordered by Dlaqr5. Their length must be equal to nshfts, otherwise Dlaqr5\n// will panic.\n//\n// h and ldh represent the Hessenberg matrix H of size n×n. On return\n// multi-shift QR sweep with shifts sr+i*si has been applied to the isolated\n// diagonal block in rows and columns ktop through kbot, inclusive.\n//\n// iloz and ihiz specify the rows of Z to which transformations will be applied\n// if wantz is true. It must hold that 0 <= iloz <= ihiz < n, otherwise Dlaqr5\n// will panic.\n//\n// z and ldz represent the matrix Z of size n×n. If wantz is true, the QR sweep\n// orthogonal similarity transformation is accumulated into\n// z[iloz:ihiz,iloz:ihiz] from the right, otherwise z not referenced.\n//\n// v and ldv represent an auxiliary matrix V of size (nshfts/2)×3. Note that V\n// is transposed with respect to the reference netlib implementation.\n//\n// u and ldu represent an auxiliary matrix of size (3*nshfts-3)×(3*nshfts-3).\n//\n// wh and ldwh represent an auxiliary matrix of size (3*nshfts-3)×nh.\n//\n// wv and ldwv represent an auxiliary matrix of size nv×(3*nshfts-3).\n//\n// Dlaqr5 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlaqr5(wantt, wantz bool, kacc22 int, n, ktop, kbot, nshfts int, sr, si []float64, h []float64, ldh int, iloz, ihiz int, z []float64, ldz int, v []float64, ldv int, u []float64, ldu int, nv int, wv []float64, ldwv int, nh int, wh []float64, ldwh int) {\n\tcheckMatrix(n, n, h, ldh)\n\tif ktop < 0 || n <= ktop {\n\t\tpanic(\"lapack: invalid value of ktop\")\n\t}\n\tif ktop > 0 && h[ktop*ldh+ktop-1] != 0 {\n\t\tpanic(\"lapack: diagonal block is not isolated\")\n\t}\n\tif kbot < 0 || n <= kbot {\n\t\tpanic(\"lapack: invalid value of kbot\")\n\t}\n\tif kbot < n-1 && h[(kbot+1)*ldh+kbot] != 0 {\n\t\tpanic(\"lapack: diagonal block is not isolated\")\n\t}\n\tif nshfts < 0 || nshfts&0x1 != 0 {\n\t\tpanic(\"lapack: invalid number of shifts\")\n\t}\n\tif len(sr) != nshfts || len(si) != nshfts {\n\t\tpanic(badSlice) // TODO(vladimir-ch) Another message?\n\t}\n\tif wantz {\n\t\tif ihiz >= n {\n\t\t\tpanic(\"lapack: invalid value of ihiz\")\n\t\t}\n\t\tif iloz < 0 || ihiz < iloz {\n\t\t\tpanic(\"lapack: invalid value of iloz\")\n\t\t}\n\t\tcheckMatrix(n, n, z, ldz)\n\t}\n\tcheckMatrix(nshfts/2, 3, v, ldv) // Transposed w.r.t. lapack.\n\tcheckMatrix(3*nshfts-3, 3*nshfts-3, u, ldu)\n\tcheckMatrix(nv, 3*nshfts-3, wv, ldwv)\n\tcheckMatrix(3*nshfts-3, nh, wh, ldwh)\n\tif kacc22 != 0 && kacc22 != 1 && kacc22 != 2 {\n\t\tpanic(\"lapack: invalid value of kacc22\")\n\t}\n\n\t// If there are no shifts, then there is nothing to do.\n\tif nshfts < 2 {\n\t\treturn\n\t}\n\t// If the active block is empty or 1×1, then there is nothing to do.\n\tif ktop >= kbot {\n\t\treturn\n\t}\n\n\t// Shuffle shifts into pairs of real shifts and pairs of complex\n\t// conjugate shifts assuming complex conjugate shifts are already\n\t// adjacent to one another.\n\tfor i := 0; i < nshfts-2; i += 2 {\n\t\tif si[i] == -si[i+1] {\n\t\t\tcontinue\n\t\t}\n\t\tsr[i], sr[i+1], sr[i+2] = sr[i+1], sr[i+2], sr[i]\n\t\tsi[i], si[i+1], si[i+2] = si[i+1], si[i+2], si[i]\n\t}\n\n\t// Note: lapack says that nshfts must be even but allows it to be odd\n\t// anyway. We panic above if nshfts is not even, so reducing it by one\n\t// is unnecessary. The only caller Dlaqr04 uses only even nshfts.\n\t//\n\t// The original comment and code from lapack-3.6.0/SRC/dlaqr5.f:341:\n\t// *     ==== NSHFTS is supposed to be even, but if it is odd,\n\t// *     .    then simply reduce it by one.  The shuffle above\n\t// *     .    ensures that the dropped shift is real and that\n\t// *     .    the remaining shifts are paired. ====\n\t// *\n\t//      NS = NSHFTS - MOD( NSHFTS, 2 )\n\tns := nshfts\n\n\tsafmin := dlamchS\n\tulp := dlamchP\n\tsmlnum := safmin * float64(n) / ulp\n\n\t// Use accumulated reflections to update far-from-diagonal entries?\n\taccum := kacc22 == 1 || kacc22 == 2\n\t// If so, exploit the 2×2 block structure?\n\tblk22 := ns > 2 && kacc22 == 2\n\n\t// Clear trash.\n\tif ktop+2 <= kbot {\n\t\th[(ktop+2)*ldh+ktop] = 0\n\t}\n\n\t// nbmps = number of 2-shift bulges in the chain.\n\tnbmps := ns / 2\n\n\t// kdu = width of slab.\n\tkdu := 6*nbmps - 3\n\n\t// Create and chase chains of nbmps bulges.\n\tfor incol := 3*(1-nbmps) + ktop - 1; incol <= kbot-2; incol += 3*nbmps - 2 {\n\t\tndcol := incol + kdu\n\t\tif accum {\n\t\t\timpl.Dlaset(blas.All, kdu, kdu, 0, 1, u, ldu)\n\t\t}\n\n\t\t// Near-the-diagonal bulge chase. The following loop performs\n\t\t// the near-the-diagonal part of a small bulge multi-shift QR\n\t\t// sweep. Each 6*nbmps-2 column diagonal chunk extends from\n\t\t// column incol to column ndcol (including both column incol and\n\t\t// column ndcol). The following loop chases a 3*nbmps column\n\t\t// long chain of nbmps bulges 3*nbmps-2 columns to the right.\n\t\t// (incol may be less than ktop and ndcol may be greater than\n\t\t// kbot indicating phantom columns from which to chase bulges\n\t\t// before they are actually introduced or to which to chase\n\t\t// bulges beyond column kbot.)\n\t\tfor krcol := incol; krcol <= min(incol+3*nbmps-3, kbot-2); krcol++ {\n\t\t\t// Bulges number mtop to mbot are active double implicit\n\t\t\t// shift bulges. There may or may not also be small 2×2\n\t\t\t// bulge, if there is room. The inactive bulges (if any)\n\t\t\t// must wait until the active bulges have moved down the\n\t\t\t// diagonal to make room. The phantom matrix paradigm\n\t\t\t// described above helps keep track.\n\n\t\t\tmtop := max(0, ((ktop-1)-krcol+2)/3)\n\t\t\tmbot := min(nbmps, (kbot-krcol)/3) - 1\n\t\t\tm22 := mbot + 1\n\t\t\tbmp22 := (mbot < nbmps-1) && (krcol+3*m22 == kbot-2)\n\n\t\t\t// Generate reflections to chase the chain right one\n\t\t\t// column. (The minimum value of k is ktop-1.)\n\t\t\tfor m := mtop; m <= mbot; m++ {\n\t\t\t\tk := krcol + 3*m\n\t\t\t\tif k == ktop-1 {\n\t\t\t\t\timpl.Dlaqr1(3, h[ktop*ldh+ktop:], ldh,\n\t\t\t\t\t\tsr[2*m], si[2*m], sr[2*m+1], si[2*m+1],\n\t\t\t\t\t\tv[m*ldv:m*ldv+3])\n\t\t\t\t\talpha := v[m*ldv]\n\t\t\t\t\t_, v[m*ldv] = impl.Dlarfg(3, alpha, v[m*ldv+1:m*ldv+3], 1)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tbeta := h[(k+1)*ldh+k]\n\t\t\t\tv[m*ldv+1] = h[(k+2)*ldh+k]\n\t\t\t\tv[m*ldv+2] = h[(k+3)*ldh+k]\n\t\t\t\tbeta, v[m*ldv] = impl.Dlarfg(3, beta, v[m*ldv+1:m*ldv+3], 1)\n\n\t\t\t\t// A bulge may collapse because of vigilant deflation or\n\t\t\t\t// destructive underflow. In the underflow case, try the\n\t\t\t\t// two-small-subdiagonals trick to try to reinflate the\n\t\t\t\t// bulge.\n\t\t\t\tif h[(k+3)*ldh+k] != 0 || h[(k+3)*ldh+k+1] != 0 || h[(k+3)*ldh+k+2] == 0 {\n\t\t\t\t\t// Typical case: not collapsed (yet).\n\t\t\t\t\th[(k+1)*ldh+k] = beta\n\t\t\t\t\th[(k+2)*ldh+k] = 0\n\t\t\t\t\th[(k+3)*ldh+k] = 0\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\t// Atypical case: collapsed. Attempt to reintroduce\n\t\t\t\t// ignoring H[k+1,k] and H[k+2,k]. If the fill\n\t\t\t\t// resulting from the new reflector is too large,\n\t\t\t\t// then abandon it. Otherwise, use the new one.\n\t\t\t\tvar vt [3]float64\n\t\t\t\timpl.Dlaqr1(3, h[(k+1)*ldh+k+1:], ldh, sr[2*m],\n\t\t\t\t\tsi[2*m], sr[2*m+1], si[2*m+1], vt[:])\n\t\t\t\talpha := vt[0]\n\t\t\t\t_, vt[0] = impl.Dlarfg(3, alpha, vt[1:3], 1)\n\t\t\t\trefsum := vt[0] * (h[(k+1)*ldh+k] + vt[1]*h[(k+2)*ldh+k])\n\n\t\t\t\tdsum := math.Abs(h[k*ldh+k]) + math.Abs(h[(k+1)*ldh+k+1]) + math.Abs(h[(k+2)*ldh+k+2])\n\t\t\t\tif math.Abs(h[(k+2)*ldh+k]-refsum*vt[1])+math.Abs(refsum*vt[2]) > ulp*dsum {\n\t\t\t\t\t// Starting a new bulge here would create\n\t\t\t\t\t// non-negligible fill. Use the old one with\n\t\t\t\t\t// trepidation.\n\t\t\t\t\th[(k+1)*ldh+k] = beta\n\t\t\t\t\th[(k+2)*ldh+k] = 0\n\t\t\t\t\th[(k+3)*ldh+k] = 0\n\t\t\t\t\tcontinue\n\t\t\t\t} else {\n\t\t\t\t\t// Starting a new bulge here would create\n\t\t\t\t\t// only negligible fill. Replace the old\n\t\t\t\t\t// reflector with the new one.\n\t\t\t\t\th[(k+1)*ldh+k] -= refsum\n\t\t\t\t\th[(k+2)*ldh+k] = 0\n\t\t\t\t\th[(k+3)*ldh+k] = 0\n\t\t\t\t\tv[m*ldv] = vt[0]\n\t\t\t\t\tv[m*ldv+1] = vt[1]\n\t\t\t\t\tv[m*ldv+2] = vt[2]\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Generate a 2×2 reflection, if needed.\n\t\t\tif bmp22 {\n\t\t\t\tk := krcol + 3*m22\n\t\t\t\tif k == ktop-1 {\n\t\t\t\t\timpl.Dlaqr1(2, h[(k+1)*ldh+k+1:], ldh,\n\t\t\t\t\t\tsr[2*m22], si[2*m22], sr[2*m22+1], si[2*m22+1],\n\t\t\t\t\t\tv[m22*ldv:m22*ldv+2])\n\t\t\t\t\tbeta := v[m22*ldv]\n\t\t\t\t\t_, v[m22*ldv] = impl.Dlarfg(2, beta, v[m22*ldv+1:m22*ldv+2], 1)\n\t\t\t\t} else {\n\t\t\t\t\tbeta := h[(k+1)*ldh+k]\n\t\t\t\t\tv[m22*ldv+1] = h[(k+2)*ldh+k]\n\t\t\t\t\tbeta, v[m22*ldv] = impl.Dlarfg(2, beta, v[m22*ldv+1:m22*ldv+2], 1)\n\t\t\t\t\th[(k+1)*ldh+k] = beta\n\t\t\t\t\th[(k+2)*ldh+k] = 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Multiply H by reflections from the left.\n\t\t\tvar jbot int\n\t\t\tswitch {\n\t\t\tcase accum:\n\t\t\t\tjbot = min(ndcol, kbot)\n\t\t\tcase wantt:\n\t\t\t\tjbot = n - 1\n\t\t\tdefault:\n\t\t\t\tjbot = kbot\n\t\t\t}\n\t\t\tfor j := max(ktop, krcol); j <= jbot; j++ {\n\t\t\t\tmend := min(mbot+1, (j-krcol+2)/3) - 1\n\t\t\t\tfor m := mtop; m <= mend; m++ {\n\t\t\t\t\tk := krcol + 3*m\n\t\t\t\t\trefsum := v[m*ldv] * (h[(k+1)*ldh+j] +\n\t\t\t\t\t\tv[m*ldv+1]*h[(k+2)*ldh+j] + v[m*ldv+2]*h[(k+3)*ldh+j])\n\t\t\t\t\th[(k+1)*ldh+j] -= refsum\n\t\t\t\t\th[(k+2)*ldh+j] -= refsum * v[m*ldv+1]\n\t\t\t\t\th[(k+3)*ldh+j] -= refsum * v[m*ldv+2]\n\t\t\t\t}\n\t\t\t}\n\t\t\tif bmp22 {\n\t\t\t\tk := krcol + 3*m22\n\t\t\t\tfor j := max(k+1, ktop); j <= jbot; j++ {\n\t\t\t\t\trefsum := v[m22*ldv] * (h[(k+1)*ldh+j] + v[m22*ldv+1]*h[(k+2)*ldh+j])\n\t\t\t\t\th[(k+1)*ldh+j] -= refsum\n\t\t\t\t\th[(k+2)*ldh+j] -= refsum * v[m22*ldv+1]\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Multiply H by reflections from the right. Delay filling in the last row\n\t\t\t// until the vigilant deflation check is complete.\n\t\t\tvar jtop int\n\t\t\tswitch {\n\t\t\tcase accum:\n\t\t\t\tjtop = max(ktop, incol)\n\t\t\tcase wantt:\n\t\t\t\tjtop = 0\n\t\t\tdefault:\n\t\t\t\tjtop = ktop\n\t\t\t}\n\t\t\tfor m := mtop; m <= mbot; m++ {\n\t\t\t\tif v[m*ldv] == 0 {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tk := krcol + 3*m\n\t\t\t\tfor j := jtop; j <= min(kbot, k+3); j++ {\n\t\t\t\t\trefsum := v[m*ldv] * (h[j*ldh+k+1] +\n\t\t\t\t\t\tv[m*ldv+1]*h[j*ldh+k+2] + v[m*ldv+2]*h[j*ldh+k+3])\n\t\t\t\t\th[j*ldh+k+1] -= refsum\n\t\t\t\t\th[j*ldh+k+2] -= refsum * v[m*ldv+1]\n\t\t\t\t\th[j*ldh+k+3] -= refsum * v[m*ldv+2]\n\t\t\t\t}\n\t\t\t\tif accum {\n\t\t\t\t\t// Accumulate U. (If necessary, update Z later with with an\n\t\t\t\t\t// efficient matrix-matrix multiply.)\n\t\t\t\t\tkms := k - incol\n\t\t\t\t\tfor j := max(0, ktop-incol-1); j < kdu; j++ {\n\t\t\t\t\t\trefsum := v[m*ldv] * (u[j*ldu+kms] +\n\t\t\t\t\t\t\tv[m*ldv+1]*u[j*ldu+kms+1] + v[m*ldv+2]*u[j*ldu+kms+2])\n\t\t\t\t\t\tu[j*ldu+kms] -= refsum\n\t\t\t\t\t\tu[j*ldu+kms+1] -= refsum * v[m*ldv+1]\n\t\t\t\t\t\tu[j*ldu+kms+2] -= refsum * v[m*ldv+2]\n\t\t\t\t\t}\n\t\t\t\t} else if wantz {\n\t\t\t\t\t// U is not accumulated, so update Z now by multiplying by\n\t\t\t\t\t// reflections from the right.\n\t\t\t\t\tfor j := iloz; j <= ihiz; j++ {\n\t\t\t\t\t\trefsum := v[m*ldv] * (z[j*ldz+k+1] +\n\t\t\t\t\t\t\tv[m*ldv+1]*z[j*ldz+k+2] + v[m*ldv+2]*z[j*ldz+k+3])\n\t\t\t\t\t\tz[j*ldz+k+1] -= refsum\n\t\t\t\t\t\tz[j*ldz+k+2] -= refsum * v[m*ldv+1]\n\t\t\t\t\t\tz[j*ldz+k+3] -= refsum * v[m*ldv+2]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Special case: 2×2 reflection (if needed).\n\t\t\tif bmp22 && v[m22*ldv] != 0 {\n\t\t\t\tk := krcol + 3*m22\n\t\t\t\tfor j := jtop; j <= min(kbot, k+3); j++ {\n\t\t\t\t\trefsum := v[m22*ldv] * (h[j*ldh+k+1] + v[m22*ldv+1]*h[j*ldh+k+2])\n\t\t\t\t\th[j*ldh+k+1] -= refsum\n\t\t\t\t\th[j*ldh+k+2] -= refsum * v[m22*ldv+1]\n\t\t\t\t}\n\t\t\t\tif accum {\n\t\t\t\t\tkms := k - incol\n\t\t\t\t\tfor j := max(0, ktop-incol-1); j < kdu; j++ {\n\t\t\t\t\t\trefsum := v[m22*ldv] * (u[j*ldu+kms] + v[m22*ldv+1]*u[j*ldu+kms+1])\n\t\t\t\t\t\tu[j*ldu+kms] -= refsum\n\t\t\t\t\t\tu[j*ldu+kms+1] -= refsum * v[m22*ldv+1]\n\t\t\t\t\t}\n\t\t\t\t} else if wantz {\n\t\t\t\t\tfor j := iloz; j <= ihiz; j++ {\n\t\t\t\t\t\trefsum := v[m22*ldv] * (z[j*ldz+k+1] + v[m22*ldv+1]*z[j*ldz+k+2])\n\t\t\t\t\t\tz[j*ldz+k+1] -= refsum\n\t\t\t\t\t\tz[j*ldz+k+2] -= refsum * v[m22*ldv+1]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Vigilant deflation check.\n\t\t\tmstart := mtop\n\t\t\tif krcol+3*mstart < ktop {\n\t\t\t\tmstart++\n\t\t\t}\n\t\t\tmend := mbot\n\t\t\tif bmp22 {\n\t\t\t\tmend++\n\t\t\t}\n\t\t\tif krcol == kbot-2 {\n\t\t\t\tmend++\n\t\t\t}\n\t\t\tfor m := mstart; m <= mend; m++ {\n\t\t\t\tk := min(kbot-1, krcol+3*m)\n\n\t\t\t\t// The following convergence test requires that the tradition\n\t\t\t\t// small-compared-to-nearby-diagonals criterion and the Ahues &\n\t\t\t\t// Tisseur (LAWN 122, 1997) criteria both be satisfied. The latter\n\t\t\t\t// improves accuracy in some examples. Falling back on an alternate\n\t\t\t\t// convergence criterion when tst1 or tst2 is zero (as done here) is\n\t\t\t\t// traditional but probably unnecessary.\n\n\t\t\t\tif h[(k+1)*ldh+k] == 0 {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\ttst1 := math.Abs(h[k*ldh+k]) + math.Abs(h[(k+1)*ldh+k+1])\n\t\t\t\tif tst1 == 0 {\n\t\t\t\t\tif k >= ktop+1 {\n\t\t\t\t\t\ttst1 += math.Abs(h[k*ldh+k-1])\n\t\t\t\t\t}\n\t\t\t\t\tif k >= ktop+2 {\n\t\t\t\t\t\ttst1 += math.Abs(h[k*ldh+k-2])\n\t\t\t\t\t}\n\t\t\t\t\tif k >= ktop+3 {\n\t\t\t\t\t\ttst1 += math.Abs(h[k*ldh+k-3])\n\t\t\t\t\t}\n\t\t\t\t\tif k <= kbot-2 {\n\t\t\t\t\t\ttst1 += math.Abs(h[(k+2)*ldh+k+1])\n\t\t\t\t\t}\n\t\t\t\t\tif k <= kbot-3 {\n\t\t\t\t\t\ttst1 += math.Abs(h[(k+3)*ldh+k+1])\n\t\t\t\t\t}\n\t\t\t\t\tif k <= kbot-4 {\n\t\t\t\t\t\ttst1 += math.Abs(h[(k+4)*ldh+k+1])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif math.Abs(h[(k+1)*ldh+k]) <= math.Max(smlnum, ulp*tst1) {\n\t\t\t\t\th12 := math.Max(math.Abs(h[(k+1)*ldh+k]), math.Abs(h[k*ldh+k+1]))\n\t\t\t\t\th21 := math.Min(math.Abs(h[(k+1)*ldh+k]), math.Abs(h[k*ldh+k+1]))\n\t\t\t\t\th11 := math.Max(math.Abs(h[(k+1)*ldh+k+1]), math.Abs(h[k*ldh+k]-h[(k+1)*ldh+k+1]))\n\t\t\t\t\th22 := math.Min(math.Abs(h[(k+1)*ldh+k+1]), math.Abs(h[k*ldh+k]-h[(k+1)*ldh+k+1]))\n\t\t\t\t\tscl := h11 + h12\n\t\t\t\t\ttst2 := h22 * (h11 / scl)\n\t\t\t\t\tif tst2 == 0 || h21*(h12/scl) <= math.Max(smlnum, ulp*tst2) {\n\t\t\t\t\t\th[(k+1)*ldh+k] = 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill in the last row of each bulge.\n\t\t\tmend = min(nbmps, (kbot-krcol-1)/3) - 1\n\t\t\tfor m := mtop; m <= mend; m++ {\n\t\t\t\tk := krcol + 3*m\n\t\t\t\trefsum := v[m*ldv] * v[m*ldv+2] * h[(k+4)*ldh+k+3]\n\t\t\t\th[(k+4)*ldh+k+1] = -refsum\n\t\t\t\th[(k+4)*ldh+k+2] = -refsum * v[m*ldv+1]\n\t\t\t\th[(k+4)*ldh+k+3] -= refsum * v[m*ldv+2]\n\t\t\t}\n\t\t}\n\n\t\t// Use U (if accumulated) to update far-from-diagonal entries in H.\n\t\t// If required, use U to update Z as well.\n\t\tif !accum {\n\t\t\tcontinue\n\t\t}\n\t\tvar jtop, jbot int\n\t\tif wantt {\n\t\t\tjtop = 0\n\t\t\tjbot = n - 1\n\t\t} else {\n\t\t\tjtop = ktop\n\t\t\tjbot = kbot\n\t\t}\n\t\tbi := blas64.Implementation()\n\t\tif !blk22 || incol < ktop || kbot < ndcol || ns <= 2 {\n\t\t\t// Updates not exploiting the 2×2 block structure of U. k0 and nu keep track\n\t\t\t// of the location and size of U in the special cases of introducing bulges\n\t\t\t// and chasing bulges off the bottom. In these special cases and in case the\n\t\t\t// number of shifts is ns = 2, there is no 2×2 block structure to exploit.\n\n\t\t\tk0 := max(0, ktop-incol-1)\n\t\t\tnu := kdu - max(0, ndcol-kbot) - k0\n\n\t\t\t// Horizontal multiply.\n\t\t\tfor jcol := min(ndcol, kbot) + 1; jcol <= jbot; jcol += nh {\n\t\t\t\tjlen := min(nh, jbot-jcol+1)\n\t\t\t\tbi.Dgemm(blas.Trans, blas.NoTrans, nu, jlen, nu,\n\t\t\t\t\t1, u[k0*ldu+k0:], ldu,\n\t\t\t\t\th[(incol+k0+1)*ldh+jcol:], ldh,\n\t\t\t\t\t0, wh, ldwh)\n\t\t\t\timpl.Dlacpy(blas.All, nu, jlen, wh, ldwh, h[(incol+k0+1)*ldh+jcol:], ldh)\n\t\t\t}\n\n\t\t\t// Vertical multiply.\n\t\t\tfor jrow := jtop; jrow <= max(ktop, incol)-1; jrow += nv {\n\t\t\t\tjlen := min(nv, max(ktop, incol)-jrow)\n\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, jlen, nu, nu,\n\t\t\t\t\t1, h[jrow*ldh+incol+k0+1:], ldh,\n\t\t\t\t\tu[k0*ldu+k0:], ldu,\n\t\t\t\t\t0, wv, ldwv)\n\t\t\t\timpl.Dlacpy(blas.All, jlen, nu, wv, ldwv, h[jrow*ldh+incol+k0+1:], ldh)\n\t\t\t}\n\n\t\t\t// Z multiply (also vertical).\n\t\t\tif wantz {\n\t\t\t\tfor jrow := iloz; jrow <= ihiz; jrow += nv {\n\t\t\t\t\tjlen := min(nv, ihiz-jrow+1)\n\t\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, jlen, nu, nu,\n\t\t\t\t\t\t1, z[jrow*ldz+incol+k0+1:], ldz,\n\t\t\t\t\t\tu[k0*ldu+k0:], ldu,\n\t\t\t\t\t\t0, wv, ldwv)\n\t\t\t\t\timpl.Dlacpy(blas.All, jlen, nu, wv, ldwv, z[jrow*ldz+incol+k0+1:], ldz)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// Updates exploiting U's 2×2 block structure.\n\n\t\t// i2, i4, j2, j4 are the last rows and columns of the blocks.\n\t\ti2 := (kdu + 1) / 2\n\t\ti4 := kdu\n\t\tj2 := i4 - i2\n\t\tj4 := kdu\n\n\t\t// kzs and knz deal with the band of zeros along the diagonal of one of the\n\t\t// triangular blocks.\n\t\tkzs := (j4 - j2) - (ns + 1)\n\t\tknz := ns + 1\n\n\t\t// Horizontal multiply.\n\t\tfor jcol := min(ndcol, kbot) + 1; jcol <= jbot; jcol += nh {\n\t\t\tjlen := min(nh, jbot-jcol+1)\n\n\t\t\t// Copy bottom of H to top+kzs of scratch (the first kzs\n\t\t\t// rows get multiplied by zero).\n\t\t\timpl.Dlacpy(blas.All, knz, jlen, h[(incol+1+j2)*ldh+jcol:], ldh, wh[kzs*ldwh:], ldwh)\n\n\t\t\t// Multiply by U21^T.\n\t\t\timpl.Dlaset(blas.All, kzs, jlen, 0, 0, wh, ldwh)\n\t\t\tbi.Dtrmm(blas.Left, blas.Upper, blas.Trans, blas.NonUnit, knz, jlen,\n\t\t\t\t1, u[j2*ldu+kzs:], ldu, wh[kzs*ldwh:], ldwh)\n\n\t\t\t// Multiply top of H by U11^T.\n\t\t\tbi.Dgemm(blas.Trans, blas.NoTrans, i2, jlen, j2,\n\t\t\t\t1, u, ldu, h[(incol+1)*ldh+jcol:], ldh,\n\t\t\t\t1, wh, ldwh)\n\n\t\t\t// Copy top of H to bottom of WH.\n\t\t\timpl.Dlacpy(blas.All, j2, jlen, h[(incol+1)*ldh+jcol:], ldh, wh[i2*ldwh:], ldwh)\n\n\t\t\t// Multiply by U21^T.\n\t\t\tbi.Dtrmm(blas.Left, blas.Lower, blas.Trans, blas.NonUnit, j2, jlen,\n\t\t\t\t1, u[i2:], ldu, wh[i2*ldwh:], ldwh)\n\n\t\t\t// Multiply by U22.\n\t\t\tbi.Dgemm(blas.Trans, blas.NoTrans, i4-i2, jlen, j4-j2,\n\t\t\t\t1, u[j2*ldu+i2:], ldu, h[(incol+1+j2)*ldh+jcol:], ldh,\n\t\t\t\t1, wh[i2*ldwh:], ldwh)\n\n\t\t\t// Copy it back.\n\t\t\timpl.Dlacpy(blas.All, kdu, jlen, wh, ldwh, h[(incol+1)*ldh+jcol:], ldh)\n\t\t}\n\n\t\t// Vertical multiply.\n\t\tfor jrow := jtop; jrow <= max(incol, ktop)-1; jrow += nv {\n\t\t\tjlen := min(nv, max(incol, ktop)-jrow)\n\n\t\t\t// Copy right of H to scratch (the first kzs columns get multiplied\n\t\t\t// by zero).\n\t\t\timpl.Dlacpy(blas.All, jlen, knz, h[jrow*ldh+incol+1+j2:], ldh, wv[kzs:], ldwv)\n\n\t\t\t// Multiply by U21.\n\t\t\timpl.Dlaset(blas.All, jlen, kzs, 0, 0, wv, ldwv)\n\t\t\tbi.Dtrmm(blas.Right, blas.Upper, blas.NoTrans, blas.NonUnit, jlen, knz,\n\t\t\t\t1, u[j2*ldu+kzs:], ldu, wv[kzs:], ldwv)\n\n\t\t\t// Multiply by U11.\n\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, jlen, i2, j2,\n\t\t\t\t1, h[jrow*ldh+incol+1:], ldh, u, ldu,\n\t\t\t\t1, wv, ldwv)\n\n\t\t\t// Copy left of H to right of scratch.\n\t\t\timpl.Dlacpy(blas.All, jlen, j2, h[jrow*ldh+incol+1:], ldh, wv[i2:], ldwv)\n\n\t\t\t// Multiply by U21.\n\t\t\tbi.Dtrmm(blas.Right, blas.Lower, blas.NoTrans, blas.NonUnit, jlen, i4-i2,\n\t\t\t\t1, u[i2:], ldu, wv[i2:], ldwv)\n\n\t\t\t// Multiply by U22.\n\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, jlen, i4-i2, j4-j2,\n\t\t\t\t1, h[jrow*ldh+incol+1+j2:], ldh, u[j2*ldu+i2:], ldu,\n\t\t\t\t1, wv[i2:], ldwv)\n\n\t\t\t// Copy it back.\n\t\t\timpl.Dlacpy(blas.All, jlen, kdu, wv, ldwv, h[jrow*ldh+incol+1:], ldh)\n\t\t}\n\n\t\tif !wantz {\n\t\t\tcontinue\n\t\t}\n\t\t// Multiply Z (also vertical).\n\t\tfor jrow := iloz; jrow <= ihiz; jrow += nv {\n\t\t\tjlen := min(nv, ihiz-jrow+1)\n\n\t\t\t// Copy right of Z to left of scratch (first kzs columns get\n\t\t\t// multiplied by zero).\n\t\t\timpl.Dlacpy(blas.All, jlen, knz, z[jrow*ldz+incol+1+j2:], ldz, wv[kzs:], ldwv)\n\n\t\t\t// Multiply by U12.\n\t\t\timpl.Dlaset(blas.All, jlen, kzs, 0, 0, wv, ldwv)\n\t\t\tbi.Dtrmm(blas.Right, blas.Upper, blas.NoTrans, blas.NonUnit, jlen, knz,\n\t\t\t\t1, u[j2*ldu+kzs:], ldu, wv[kzs:], ldwv)\n\n\t\t\t// Multiply by U11.\n\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, jlen, i2, j2,\n\t\t\t\t1, z[jrow*ldz+incol+1:], ldz, u, ldu,\n\t\t\t\t1, wv, ldwv)\n\n\t\t\t// Copy left of Z to right of scratch.\n\t\t\timpl.Dlacpy(blas.All, jlen, j2, z[jrow*ldz+incol+1:], ldz, wv[i2:], ldwv)\n\n\t\t\t// Multiply by U21.\n\t\t\tbi.Dtrmm(blas.Right, blas.Lower, blas.NoTrans, blas.NonUnit, jlen, i4-i2,\n\t\t\t\t1, u[i2:], ldu, wv[i2:], ldwv)\n\n\t\t\t// Multiply by U22.\n\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, jlen, i4-i2, j4-j2,\n\t\t\t\t1, z[jrow*ldz+incol+1+j2:], ldz, u[j2*ldu+i2:], ldu,\n\t\t\t\t1, wv[i2:], ldwv)\n\n\t\t\t// Copy the result back to Z.\n\t\t\timpl.Dlacpy(blas.All, jlen, kdu, wv, ldwv, z[jrow*ldz+incol+1:], ldz)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlarf.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dlarf applies an elementary reflector to a general rectangular matrix c.\n// This computes\n//  c = h * c if side == Left\n//  c = c * h if side == right\n// where\n//  h = 1 - tau * v * v^T\n// and c is an m * n matrix.\n//\n// work is temporary storage of length at least m if side == Left and at least\n// n if side == Right. This function will panic if this length requirement is not met.\n//\n// Dlarf is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlarf(side blas.Side, m, n int, v []float64, incv int, tau float64, c []float64, ldc int, work []float64) {\n\tapplyleft := side == blas.Left\n\tif (applyleft && len(work) < n) || (!applyleft && len(work) < m) {\n\t\tpanic(badWork)\n\t}\n\tcheckMatrix(m, n, c, ldc)\n\n\t// v has length m if applyleft and n otherwise.\n\tlenV := n\n\tif applyleft {\n\t\tlenV = m\n\t}\n\n\tcheckVector(lenV, v, incv)\n\n\tlastv := 0 // last non-zero element of v\n\tlastc := 0 // last non-zero row/column of c\n\tif tau != 0 {\n\t\tvar i int\n\t\tif applyleft {\n\t\t\tlastv = m - 1\n\t\t} else {\n\t\t\tlastv = n - 1\n\t\t}\n\t\tif incv > 0 {\n\t\t\ti = lastv * incv\n\t\t}\n\n\t\t// Look for the last non-zero row in v.\n\t\tfor lastv >= 0 && v[i] == 0 {\n\t\t\tlastv--\n\t\t\ti -= incv\n\t\t}\n\t\tif applyleft {\n\t\t\t// Scan for the last non-zero column in C[0:lastv, :]\n\t\t\tlastc = impl.Iladlc(lastv+1, n, c, ldc)\n\t\t} else {\n\t\t\t// Scan for the last non-zero row in C[:, 0:lastv]\n\t\t\tlastc = impl.Iladlr(m, lastv+1, c, ldc)\n\t\t}\n\t}\n\tif lastv == -1 || lastc == -1 {\n\t\treturn\n\t}\n\t// Sometimes 1-indexing is nicer ...\n\tbi := blas64.Implementation()\n\tif applyleft {\n\t\t// Form H * C\n\t\t// w[0:lastc+1] = c[1:lastv+1, 1:lastc+1]^T * v[1:lastv+1,1]\n\t\tbi.Dgemv(blas.Trans, lastv+1, lastc+1, 1, c, ldc, v, incv, 0, work, 1)\n\t\t// c[0: lastv, 0: lastc] = c[...] - w[0:lastv, 1] * v[1:lastc, 1]^T\n\t\tbi.Dger(lastv+1, lastc+1, -tau, v, incv, work, 1, c, ldc)\n\t\treturn\n\t}\n\t// Form C*H\n\t// w[0:lastc+1,1] := c[0:lastc+1,0:lastv+1] * v[0:lastv+1,1]\n\tbi.Dgemv(blas.NoTrans, lastc+1, lastv+1, 1, c, ldc, v, incv, 0, work, 1)\n\t// c[0:lastc+1,0:lastv+1] = c[...] - w[0:lastc+1,0] * v[0:lastv+1,0]^T\n\tbi.Dger(lastc+1, lastv+1, -tau, work, 1, v, incv, c, ldc)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlarfb.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlarfb applies a block reflector to a matrix.\n//\n// In the call to Dlarfb, the mxn c is multiplied by the implicitly defined matrix h as follows:\n//  c = h * c if side == Left and trans == NoTrans\n//  c = c * h if side == Right and trans == NoTrans\n//  c = h^T * c if side == Left and trans == Trans\n//  c = c * h^T if side == Right and trans == Trans\n// h is a product of elementary reflectors. direct sets the direction of multiplication\n//  h = h_1 * h_2 * ... * h_k if direct == Forward\n//  h = h_k * h_k-1 * ... * h_1 if direct == Backward\n// The combination of direct and store defines the orientation of the elementary\n// reflectors. In all cases the ones on the diagonal are implicitly represented.\n//\n// If direct == lapack.Forward and store == lapack.ColumnWise\n//  V = [ 1        ]\n//      [v1   1    ]\n//      [v1  v2   1]\n//      [v1  v2  v3]\n//      [v1  v2  v3]\n// If direct == lapack.Forward and store == lapack.RowWise\n//  V = [ 1  v1  v1  v1  v1]\n//      [     1  v2  v2  v2]\n//      [         1  v3  v3]\n// If direct == lapack.Backward and store == lapack.ColumnWise\n//  V = [v1  v2  v3]\n//      [v1  v2  v3]\n//      [ 1  v2  v3]\n//      [     1  v3]\n//      [         1]\n// If direct == lapack.Backward and store == lapack.RowWise\n//  V = [v1  v1   1        ]\n//      [v2  v2  v2   1    ]\n//      [v3  v3  v3  v3   1]\n// An elementary reflector can be explicitly constructed by extracting the\n// corresponding elements of v, placing a 1 where the diagonal would be, and\n// placing zeros in the remaining elements.\n//\n// t is a k×k matrix containing the block reflector, and this function will panic\n// if t is not of sufficient size. See Dlarft for more information.\n//\n// work is a temporary storage matrix with stride ldwork.\n// work must be of size at least n×k side == Left and m×k if side == Right, and\n// this function will panic if this size is not met.\n//\n// Dlarfb is an internal routine. It is exported for testing purposes.\nfunc (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack.Direct, store lapack.StoreV, m, n, k int, v []float64, ldv int, t []float64, ldt int, c []float64, ldc int, work []float64, ldwork int) {\n\tif side != blas.Left && side != blas.Right {\n\t\tpanic(badSide)\n\t}\n\tif trans != blas.Trans && trans != blas.NoTrans {\n\t\tpanic(badTrans)\n\t}\n\tif direct != lapack.Forward && direct != lapack.Backward {\n\t\tpanic(badDirect)\n\t}\n\tif store != lapack.ColumnWise && store != lapack.RowWise {\n\t\tpanic(badStore)\n\t}\n\tcheckMatrix(m, n, c, ldc)\n\tif k < 0 {\n\t\tpanic(kLT0)\n\t}\n\tcheckMatrix(k, k, t, ldt)\n\tnv := m\n\tnw := n\n\tif side == blas.Right {\n\t\tnv = n\n\t\tnw = m\n\t}\n\tif store == lapack.ColumnWise {\n\t\tcheckMatrix(nv, k, v, ldv)\n\t} else {\n\t\tcheckMatrix(k, nv, v, ldv)\n\t}\n\tcheckMatrix(nw, k, work, ldwork)\n\n\tif m == 0 || n == 0 {\n\t\treturn\n\t}\n\n\tbi := blas64.Implementation()\n\n\ttranst := blas.Trans\n\tif trans == blas.Trans {\n\t\ttranst = blas.NoTrans\n\t}\n\t// TODO(btracey): This follows the original Lapack code where the\n\t// elements are copied into the columns of the working array. The\n\t// loops should go in the other direction so the data is written\n\t// into the rows of work so the copy is not strided. A bigger change\n\t// would be to replace work with work^T, but benchmarks would be\n\t// needed to see if the change is merited.\n\tif store == lapack.ColumnWise {\n\t\tif direct == lapack.Forward {\n\t\t\t// V1 is the first k rows of C. V2 is the remaining rows.\n\t\t\tif side == blas.Left {\n\t\t\t\t// W = C^T V = C1^T V1 + C2^T V2 (stored in work).\n\n\t\t\t\t// W = C1.\n\t\t\t\tfor j := 0; j < k; j++ {\n\t\t\t\t\tbi.Dcopy(n, c[j*ldc:], 1, work[j:], ldwork)\n\t\t\t\t}\n\t\t\t\t// W = W * V1.\n\t\t\t\tbi.Dtrmm(blas.Right, blas.Lower, blas.NoTrans, blas.Unit,\n\t\t\t\t\tn, k, 1,\n\t\t\t\t\tv, ldv,\n\t\t\t\t\twork, ldwork)\n\t\t\t\tif m > k {\n\t\t\t\t\t// W = W + C2^T V2.\n\t\t\t\t\tbi.Dgemm(blas.Trans, blas.NoTrans, n, k, m-k,\n\t\t\t\t\t\t1, c[k*ldc:], ldc, v[k*ldv:], ldv,\n\t\t\t\t\t\t1, work, ldwork)\n\t\t\t\t}\n\t\t\t\t// W = W * T^T or W * T.\n\t\t\t\tbi.Dtrmm(blas.Right, blas.Upper, transt, blas.NonUnit, n, k,\n\t\t\t\t\t1, t, ldt,\n\t\t\t\t\twork, ldwork)\n\t\t\t\t// C -= V * W^T.\n\t\t\t\tif m > k {\n\t\t\t\t\t// C2 -= V2 * W^T.\n\t\t\t\t\tbi.Dgemm(blas.NoTrans, blas.Trans, m-k, n, k,\n\t\t\t\t\t\t-1, v[k*ldv:], ldv, work, ldwork,\n\t\t\t\t\t\t1, c[k*ldc:], ldc)\n\t\t\t\t}\n\t\t\t\t// W *= V1^T.\n\t\t\t\tbi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, n, k,\n\t\t\t\t\t1, v, ldv,\n\t\t\t\t\twork, ldwork)\n\t\t\t\t// C1 -= W^T.\n\t\t\t\t// TODO(btracey): This should use blas.Axpy.\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tfor j := 0; j < k; j++ {\n\t\t\t\t\t\tc[j*ldc+i] -= work[i*ldwork+j]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Form C = C * H or C * H^T, where C = (C1 C2).\n\n\t\t\t// W = C1.\n\t\t\tfor i := 0; i < k; i++ {\n\t\t\t\tbi.Dcopy(m, c[i:], ldc, work[i:], ldwork)\n\t\t\t}\n\t\t\t// W *= V1.\n\t\t\tbi.Dtrmm(blas.Right, blas.Lower, blas.NoTrans, blas.Unit, m, k,\n\t\t\t\t1, v, ldv,\n\t\t\t\twork, ldwork)\n\t\t\tif n > k {\n\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m, k, n-k,\n\t\t\t\t\t1, c[k:], ldc, v[k*ldv:], ldv,\n\t\t\t\t\t1, work, ldwork)\n\t\t\t}\n\t\t\t// W *= T or T^T.\n\t\t\tbi.Dtrmm(blas.Right, blas.Upper, trans, blas.NonUnit, m, k,\n\t\t\t\t1, t, ldt,\n\t\t\t\twork, ldwork)\n\t\t\tif n > k {\n\t\t\t\tbi.Dgemm(blas.NoTrans, blas.Trans, m, n-k, k,\n\t\t\t\t\t-1, work, ldwork, v[k*ldv:], ldv,\n\t\t\t\t\t1, c[k:], ldc)\n\t\t\t}\n\t\t\t// C -= W * V^T.\n\t\t\tbi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, m, k,\n\t\t\t\t1, v, ldv,\n\t\t\t\twork, ldwork)\n\t\t\t// C -= W.\n\t\t\t// TODO(btracey): This should use blas.Axpy.\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tfor j := 0; j < k; j++ {\n\t\t\t\t\tc[i*ldc+j] -= work[i*ldwork+j]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\t// V = (V1)\n\t\t//   = (V2) (last k rows)\n\t\t// Where V2 is unit upper triangular.\n\t\tif side == blas.Left {\n\t\t\t// Form H * C or\n\t\t\t// W = C^T V.\n\n\t\t\t// W = C2^T.\n\t\t\tfor j := 0; j < k; j++ {\n\t\t\t\tbi.Dcopy(n, c[(m-k+j)*ldc:], 1, work[j:], ldwork)\n\t\t\t}\n\t\t\t// W *= V2.\n\t\t\tbi.Dtrmm(blas.Right, blas.Upper, blas.NoTrans, blas.Unit, n, k,\n\t\t\t\t1, v[(m-k)*ldv:], ldv,\n\t\t\t\twork, ldwork)\n\t\t\tif m > k {\n\t\t\t\t// W += C1^T * V1.\n\t\t\t\tbi.Dgemm(blas.Trans, blas.NoTrans, n, k, m-k,\n\t\t\t\t\t1, c, ldc, v, ldv,\n\t\t\t\t\t1, work, ldwork)\n\t\t\t}\n\t\t\t// W *= T or T^T.\n\t\t\tbi.Dtrmm(blas.Right, blas.Lower, transt, blas.NonUnit, n, k,\n\t\t\t\t1, t, ldt,\n\t\t\t\twork, ldwork)\n\t\t\t// C -= V * W^T.\n\t\t\tif m > k {\n\t\t\t\tbi.Dgemm(blas.NoTrans, blas.Trans, m-k, n, k,\n\t\t\t\t\t-1, v, ldv, work, ldwork,\n\t\t\t\t\t1, c, ldc)\n\t\t\t}\n\t\t\t// W *= V2^T.\n\t\t\tbi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.Unit, n, k,\n\t\t\t\t1, v[(m-k)*ldv:], ldv,\n\t\t\t\twork, ldwork)\n\t\t\t// C2 -= W^T.\n\t\t\t// TODO(btracey): This should use blas.Axpy.\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tfor j := 0; j < k; j++ {\n\t\t\t\t\tc[(m-k+j)*ldc+i] -= work[i*ldwork+j]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\t// Form C * H or C * H^T where C = (C1 C2).\n\t\t// W = C * V.\n\n\t\t// W = C2.\n\t\tfor j := 0; j < k; j++ {\n\t\t\tbi.Dcopy(m, c[n-k+j:], ldc, work[j:], ldwork)\n\t\t}\n\n\t\t// W = W * V2.\n\t\tbi.Dtrmm(blas.Right, blas.Upper, blas.NoTrans, blas.Unit, m, k,\n\t\t\t1, v[(n-k)*ldv:], ldv,\n\t\t\twork, ldwork)\n\t\tif n > k {\n\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m, k, n-k,\n\t\t\t\t1, c, ldc, v, ldv,\n\t\t\t\t1, work, ldwork)\n\t\t}\n\t\t// W *= T or T^T.\n\t\tbi.Dtrmm(blas.Right, blas.Lower, trans, blas.NonUnit, m, k,\n\t\t\t1, t, ldt,\n\t\t\twork, ldwork)\n\t\t// C -= W * V^T.\n\t\tif n > k {\n\t\t\t// C1 -= W * V1^T.\n\t\t\tbi.Dgemm(blas.NoTrans, blas.Trans, m, n-k, k,\n\t\t\t\t-1, work, ldwork, v, ldv,\n\t\t\t\t1, c, ldc)\n\t\t}\n\t\t// W *= V2^T.\n\t\tbi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.Unit, m, k,\n\t\t\t1, v[(n-k)*ldv:], ldv,\n\t\t\twork, ldwork)\n\t\t// C2 -= W.\n\t\t// TODO(btracey): This should use blas.Axpy.\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := 0; j < k; j++ {\n\t\t\t\tc[i*ldc+n-k+j] -= work[i*ldwork+j]\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Store = Rowwise.\n\tif direct == lapack.Forward {\n\t\t// V = (V1 V2) where v1 is unit upper triangular.\n\t\tif side == blas.Left {\n\t\t\t// Form H * C or H^T * C where C = (C1; C2).\n\t\t\t// W = C^T * V^T.\n\n\t\t\t// W = C1^T.\n\t\t\tfor j := 0; j < k; j++ {\n\t\t\t\tbi.Dcopy(n, c[j*ldc:], 1, work[j:], ldwork)\n\t\t\t}\n\t\t\t// W *= V1^T.\n\t\t\tbi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.Unit, n, k,\n\t\t\t\t1, v, ldv,\n\t\t\t\twork, ldwork)\n\t\t\tif m > k {\n\t\t\t\tbi.Dgemm(blas.Trans, blas.Trans, n, k, m-k,\n\t\t\t\t\t1, c[k*ldc:], ldc, v[k:], ldv,\n\t\t\t\t\t1, work, ldwork)\n\t\t\t}\n\t\t\t// W *= T or T^T.\n\t\t\tbi.Dtrmm(blas.Right, blas.Upper, transt, blas.NonUnit, n, k,\n\t\t\t\t1, t, ldt,\n\t\t\t\twork, ldwork)\n\t\t\t// C -= V^T * W^T.\n\t\t\tif m > k {\n\t\t\t\tbi.Dgemm(blas.Trans, blas.Trans, m-k, n, k,\n\t\t\t\t\t-1, v[k:], ldv, work, ldwork,\n\t\t\t\t\t1, c[k*ldc:], ldc)\n\t\t\t}\n\t\t\t// W *= V1.\n\t\t\tbi.Dtrmm(blas.Right, blas.Upper, blas.NoTrans, blas.Unit, n, k,\n\t\t\t\t1, v, ldv,\n\t\t\t\twork, ldwork)\n\t\t\t// C1 -= W^T.\n\t\t\t// TODO(btracey): This should use blas.Axpy.\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tfor j := 0; j < k; j++ {\n\t\t\t\t\tc[j*ldc+i] -= work[i*ldwork+j]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\t// Form C * H or C * H^T where C = (C1 C2).\n\t\t// W = C * V^T.\n\n\t\t// W = C1.\n\t\tfor j := 0; j < k; j++ {\n\t\t\tbi.Dcopy(m, c[j:], ldc, work[j:], ldwork)\n\t\t}\n\t\t// W *= V1^T.\n\t\tbi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.Unit, m, k,\n\t\t\t1, v, ldv,\n\t\t\twork, ldwork)\n\t\tif n > k {\n\t\t\tbi.Dgemm(blas.NoTrans, blas.Trans, m, k, n-k,\n\t\t\t\t1, c[k:], ldc, v[k:], ldv,\n\t\t\t\t1, work, ldwork)\n\t\t}\n\t\t// W *= T or T^T.\n\t\tbi.Dtrmm(blas.Right, blas.Upper, trans, blas.NonUnit, m, k,\n\t\t\t1, t, ldt,\n\t\t\twork, ldwork)\n\t\t// C -= W * V.\n\t\tif n > k {\n\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m, n-k, k,\n\t\t\t\t-1, work, ldwork, v[k:], ldv,\n\t\t\t\t1, c[k:], ldc)\n\t\t}\n\t\t// W *= V1.\n\t\tbi.Dtrmm(blas.Right, blas.Upper, blas.NoTrans, blas.Unit, m, k,\n\t\t\t1, v, ldv,\n\t\t\twork, ldwork)\n\t\t// C1 -= W.\n\t\t// TODO(btracey): This should use blas.Axpy.\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := 0; j < k; j++ {\n\t\t\t\tc[i*ldc+j] -= work[i*ldwork+j]\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// V = (V1 V2) where V2 is the last k columns and is lower unit triangular.\n\tif side == blas.Left {\n\t\t// Form H * C or H^T C where C = (C1 ; C2).\n\t\t// W = C^T * V^T.\n\n\t\t// W = C2^T.\n\t\tfor j := 0; j < k; j++ {\n\t\t\tbi.Dcopy(n, c[(m-k+j)*ldc:], 1, work[j:], ldwork)\n\t\t}\n\t\t// W *= V2^T.\n\t\tbi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, n, k,\n\t\t\t1, v[m-k:], ldv,\n\t\t\twork, ldwork)\n\t\tif m > k {\n\t\t\tbi.Dgemm(blas.Trans, blas.Trans, n, k, m-k,\n\t\t\t\t1, c, ldc, v, ldv,\n\t\t\t\t1, work, ldwork)\n\t\t}\n\t\t// W *= T or T^T.\n\t\tbi.Dtrmm(blas.Right, blas.Lower, transt, blas.NonUnit, n, k,\n\t\t\t1, t, ldt,\n\t\t\twork, ldwork)\n\t\t// C -= V^T * W^T.\n\t\tif m > k {\n\t\t\tbi.Dgemm(blas.Trans, blas.Trans, m-k, n, k,\n\t\t\t\t-1, v, ldv, work, ldwork,\n\t\t\t\t1, c, ldc)\n\t\t}\n\t\t// W *= V2.\n\t\tbi.Dtrmm(blas.Right, blas.Lower, blas.NoTrans, blas.Unit, n, k,\n\t\t\t1, v[m-k:], ldv,\n\t\t\twork, ldwork)\n\t\t// C2 -= W^T.\n\t\t// TODO(btracey): This should use blas.Axpy.\n\t\tfor i := 0; i < n; i++ {\n\t\t\tfor j := 0; j < k; j++ {\n\t\t\t\tc[(m-k+j)*ldc+i] -= work[i*ldwork+j]\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\t// Form C * H or C * H^T where C = (C1 C2).\n\t// W = C * V^T.\n\t// W = C2.\n\tfor j := 0; j < k; j++ {\n\t\tbi.Dcopy(m, c[n-k+j:], ldc, work[j:], ldwork)\n\t}\n\t// W *= V2^T.\n\tbi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, m, k,\n\t\t1, v[n-k:], ldv,\n\t\twork, ldwork)\n\tif n > k {\n\t\tbi.Dgemm(blas.NoTrans, blas.Trans, m, k, n-k,\n\t\t\t1, c, ldc, v, ldv,\n\t\t\t1, work, ldwork)\n\t}\n\t// W *= T or T^T.\n\tbi.Dtrmm(blas.Right, blas.Lower, trans, blas.NonUnit, m, k,\n\t\t1, t, ldt,\n\t\twork, ldwork)\n\t// C -= W * V.\n\tif n > k {\n\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, m, n-k, k,\n\t\t\t-1, work, ldwork, v, ldv,\n\t\t\t1, c, ldc)\n\t}\n\t// W *= V2.\n\tbi.Dtrmm(blas.Right, blas.Lower, blas.NoTrans, blas.Unit, m, k,\n\t\t1, v[n-k:], ldv,\n\t\twork, ldwork)\n\t// C1 -= W.\n\t// TODO(btracey): This should use blas.Axpy.\n\tfor i := 0; i < m; i++ {\n\t\tfor j := 0; j < k; j++ {\n\t\t\tc[i*ldc+n-k+j] -= work[i*ldwork+j]\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlarfg.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dlarfg generates an elementary reflector for a Householder matrix. It creates\n// a real elementary reflector of order n such that\n//  H * (alpha) = (beta)\n//      (    x)   (   0)\n//  H^T * H = I\n// H is represented in the form\n//  H = 1 - tau * (1; v) * (1 v^T)\n// where tau is a real scalar.\n//\n// On entry, x contains the vector x, on exit it contains v.\n//\n// Dlarfg is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlarfg(n int, alpha float64, x []float64, incX int) (beta, tau float64) {\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif n <= 1 {\n\t\treturn alpha, 0\n\t}\n\tcheckVector(n-1, x, incX)\n\tbi := blas64.Implementation()\n\txnorm := bi.Dnrm2(n-1, x, incX)\n\tif xnorm == 0 {\n\t\treturn alpha, 0\n\t}\n\tbeta = -math.Copysign(impl.Dlapy2(alpha, xnorm), alpha)\n\tsafmin := dlamchS / dlamchE\n\tknt := 0\n\tif math.Abs(beta) < safmin {\n\t\t// xnorm and beta may be inaccurate, scale x and recompute.\n\t\trsafmn := 1 / safmin\n\t\tfor {\n\t\t\tknt++\n\t\t\tbi.Dscal(n-1, rsafmn, x, incX)\n\t\t\tbeta *= rsafmn\n\t\t\talpha *= rsafmn\n\t\t\tif math.Abs(beta) >= safmin {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\txnorm = bi.Dnrm2(n-1, x, incX)\n\t\tbeta = -math.Copysign(impl.Dlapy2(alpha, xnorm), alpha)\n\t}\n\ttau = (beta - alpha) / beta\n\tbi.Dscal(n-1, 1/(alpha-beta), x, incX)\n\tfor j := 0; j < knt; j++ {\n\t\tbeta *= safmin\n\t}\n\treturn beta, tau\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlarft.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlarft forms the triangular factor T of a block reflector H, storing the answer\n// in t.\n//  H = I - V * T * V^T  if store == lapack.ColumnWise\n//  H = I - V^T * T * V  if store == lapack.RowWise\n// H is defined by a product of the elementary reflectors where\n//  H = H_0 * H_1 * ... * H_{k-1}  if direct == lapack.Forward\n//  H = H_{k-1} * ... * H_1 * H_0  if direct == lapack.Backward\n//\n// t is a k×k triangular matrix. t is upper triangular if direct = lapack.Forward\n// and lower triangular otherwise. This function will panic if t is not of\n// sufficient size.\n//\n// store describes the storage of the elementary reflectors in v. See\n// Dlarfb for a description of layout.\n//\n// tau contains the scalar factors of the elementary reflectors H_i.\n//\n// Dlarft is an internal routine. It is exported for testing purposes.\nfunc (Implementation) Dlarft(direct lapack.Direct, store lapack.StoreV, n, k int,\n\tv []float64, ldv int, tau []float64, t []float64, ldt int) {\n\tif n == 0 {\n\t\treturn\n\t}\n\tif n < 0 || k < 0 {\n\t\tpanic(negDimension)\n\t}\n\tif direct != lapack.Forward && direct != lapack.Backward {\n\t\tpanic(badDirect)\n\t}\n\tif store != lapack.RowWise && store != lapack.ColumnWise {\n\t\tpanic(badStore)\n\t}\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tcheckMatrix(k, k, t, ldt)\n\tbi := blas64.Implementation()\n\t// TODO(btracey): There are a number of minor obvious loop optimizations here.\n\t// TODO(btracey): It may be possible to rearrange some of the code so that\n\t// index of 1 is more common in the Dgemv.\n\tif direct == lapack.Forward {\n\t\tprevlastv := n - 1\n\t\tfor i := 0; i < k; i++ {\n\t\t\tprevlastv = max(i, prevlastv)\n\t\t\tif tau[i] == 0 {\n\t\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\t\tt[j*ldt+i] = 0\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tvar lastv int\n\t\t\tif store == lapack.ColumnWise {\n\t\t\t\t// skip trailing zeros\n\t\t\t\tfor lastv = n - 1; lastv >= i+1; lastv-- {\n\t\t\t\t\tif v[lastv*ldv+i] != 0 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\t\tt[j*ldt+i] = -tau[i] * v[i*ldv+j]\n\t\t\t\t}\n\t\t\t\tj := min(lastv, prevlastv)\n\t\t\t\tbi.Dgemv(blas.Trans, j-i, i,\n\t\t\t\t\t-tau[i], v[(i+1)*ldv:], ldv, v[(i+1)*ldv+i:], ldv,\n\t\t\t\t\t1, t[i:], ldt)\n\t\t\t} else {\n\t\t\t\tfor lastv = n - 1; lastv >= i+1; lastv-- {\n\t\t\t\t\tif v[i*ldv+lastv] != 0 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\t\tt[j*ldt+i] = -tau[i] * v[j*ldv+i]\n\t\t\t\t}\n\t\t\t\tj := min(lastv, prevlastv)\n\t\t\t\tbi.Dgemv(blas.NoTrans, i, j-i,\n\t\t\t\t\t-tau[i], v[i+1:], ldv, v[i*ldv+i+1:], 1,\n\t\t\t\t\t1, t[i:], ldt)\n\t\t\t}\n\t\t\tbi.Dtrmv(blas.Upper, blas.NoTrans, blas.NonUnit, i, t, ldt, t[i:], ldt)\n\t\t\tt[i*ldt+i] = tau[i]\n\t\t\tif i > 1 {\n\t\t\t\tprevlastv = max(prevlastv, lastv)\n\t\t\t} else {\n\t\t\t\tprevlastv = lastv\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tprevlastv := 0\n\tfor i := k - 1; i >= 0; i-- {\n\t\tif tau[i] == 0 {\n\t\t\tfor j := i; j < k; j++ {\n\t\t\t\tt[j*ldt+i] = 0\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tvar lastv int\n\t\tif i < k-1 {\n\t\t\tif store == lapack.ColumnWise {\n\t\t\t\tfor lastv = 0; lastv < i; lastv++ {\n\t\t\t\t\tif v[lastv*ldv+i] != 0 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor j := i + 1; j < k; j++ {\n\t\t\t\t\tt[j*ldt+i] = -tau[i] * v[(n-k+i)*ldv+j]\n\t\t\t\t}\n\t\t\t\tj := max(lastv, prevlastv)\n\t\t\t\tbi.Dgemv(blas.Trans, n-k+i-j, k-i-1,\n\t\t\t\t\t-tau[i], v[j*ldv+i+1:], ldv, v[j*ldv+i:], ldv,\n\t\t\t\t\t1, t[(i+1)*ldt+i:], ldt)\n\t\t\t} else {\n\t\t\t\tfor lastv = 0; lastv < i; lastv++ {\n\t\t\t\t\tif v[i*ldv+lastv] != 0 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor j := i + 1; j < k; j++ {\n\t\t\t\t\tt[j*ldt+i] = -tau[i] * v[j*ldv+n-k+i]\n\t\t\t\t}\n\t\t\t\tj := max(lastv, prevlastv)\n\t\t\t\tbi.Dgemv(blas.NoTrans, k-i-1, n-k+i-j,\n\t\t\t\t\t-tau[i], v[(i+1)*ldv+j:], ldv, v[i*ldv+j:], 1,\n\t\t\t\t\t1, t[(i+1)*ldt+i:], ldt)\n\t\t\t}\n\t\t\tbi.Dtrmv(blas.Lower, blas.NoTrans, blas.NonUnit, k-i-1,\n\t\t\t\tt[(i+1)*ldt+i+1:], ldt,\n\t\t\t\tt[(i+1)*ldt+i:], ldt)\n\t\t\tif i > 0 {\n\t\t\t\tprevlastv = min(prevlastv, lastv)\n\t\t\t} else {\n\t\t\t\tprevlastv = lastv\n\t\t\t}\n\t\t}\n\t\tt[i*ldt+i] = tau[i]\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlarfx.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dlarfx applies an elementary reflector H to a real m×n matrix C, from either\n// the left or the right, with loop unrolling when the reflector has order less\n// than 11.\n//\n// H is represented in the form\n//  H = I - tau * v * v^T,\n// where tau is a real scalar and v is a real vector. If tau = 0, then H is\n// taken to be the identity matrix.\n//\n// v must have length equal to m if side == blas.Left, and equal to n if side ==\n// blas.Right, otherwise Dlarfx will panic.\n//\n// c and ldc represent the m×n matrix C. On return, C is overwritten by the\n// matrix H * C if side == blas.Left, or C * H if side == blas.Right.\n//\n// work must have length at least n if side == blas.Left, and at least m if side\n// == blas.Right, otherwise Dlarfx will panic. work is not referenced if H has\n// order < 11.\n//\n// Dlarfx is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlarfx(side blas.Side, m, n int, v []float64, tau float64, c []float64, ldc int, work []float64) {\n\tcheckMatrix(m, n, c, ldc)\n\tswitch side {\n\tcase blas.Left:\n\t\tcheckVector(m, v, 1)\n\t\tif m > 10 && len(work) < n {\n\t\t\tpanic(badWork)\n\t\t}\n\tcase blas.Right:\n\t\tcheckVector(n, v, 1)\n\t\tif n > 10 && len(work) < m {\n\t\t\tpanic(badWork)\n\t\t}\n\tdefault:\n\t\tpanic(badSide)\n\t}\n\n\tif tau == 0 {\n\t\treturn\n\t}\n\n\tif side == blas.Left {\n\t\t// Form H * C, where H has order m.\n\t\tswitch m {\n\t\tdefault: // Code for general m.\n\t\t\timpl.Dlarf(side, m, n, v, 1, tau, c, ldc, work)\n\t\t\treturn\n\n\t\tcase 0: // No-op for zero size matrix.\n\t\t\treturn\n\n\t\tcase 1: // Special code for 1×1 Householder matrix.\n\t\t\tt0 := 1 - tau*v[0]*v[0]\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tc[j] *= t0\n\t\t\t}\n\t\t\treturn\n\n\t\tcase 2: // Special code for 2×2 Householder matrix.\n\t\t\tv0 := v[0]\n\t\t\tt0 := tau * v0\n\t\t\tv1 := v[1]\n\t\t\tt1 := tau * v1\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tsum := v0*c[j] + v1*c[ldc+j]\n\t\t\t\tc[j] -= sum * t0\n\t\t\t\tc[ldc+j] -= sum * t1\n\t\t\t}\n\t\t\treturn\n\n\t\tcase 3: // Special code for 3×3 Householder matrix.\n\t\t\tv0 := v[0]\n\t\t\tt0 := tau * v0\n\t\t\tv1 := v[1]\n\t\t\tt1 := tau * v1\n\t\t\tv2 := v[2]\n\t\t\tt2 := tau * v2\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tsum := v0*c[j] + v1*c[ldc+j] + v2*c[2*ldc+j]\n\t\t\t\tc[j] -= sum * t0\n\t\t\t\tc[ldc+j] -= sum * t1\n\t\t\t\tc[2*ldc+j] -= sum * t2\n\t\t\t}\n\t\t\treturn\n\n\t\tcase 4: // Special code for 4×4 Householder matrix.\n\t\t\tv0 := v[0]\n\t\t\tt0 := tau * v0\n\t\t\tv1 := v[1]\n\t\t\tt1 := tau * v1\n\t\t\tv2 := v[2]\n\t\t\tt2 := tau * v2\n\t\t\tv3 := v[3]\n\t\t\tt3 := tau * v3\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tsum := v0*c[j] + v1*c[ldc+j] + v2*c[2*ldc+j] + v3*c[3*ldc+j]\n\t\t\t\tc[j] -= sum * t0\n\t\t\t\tc[ldc+j] -= sum * t1\n\t\t\t\tc[2*ldc+j] -= sum * t2\n\t\t\t\tc[3*ldc+j] -= sum * t3\n\t\t\t}\n\t\t\treturn\n\n\t\tcase 5: // Special code for 5×5 Householder matrix.\n\t\t\tv0 := v[0]\n\t\t\tt0 := tau * v0\n\t\t\tv1 := v[1]\n\t\t\tt1 := tau * v1\n\t\t\tv2 := v[2]\n\t\t\tt2 := tau * v2\n\t\t\tv3 := v[3]\n\t\t\tt3 := tau * v3\n\t\t\tv4 := v[4]\n\t\t\tt4 := tau * v4\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tsum := v0*c[j] + v1*c[ldc+j] + v2*c[2*ldc+j] + v3*c[3*ldc+j] + v4*c[4*ldc+j]\n\t\t\t\tc[j] -= sum * t0\n\t\t\t\tc[ldc+j] -= sum * t1\n\t\t\t\tc[2*ldc+j] -= sum * t2\n\t\t\t\tc[3*ldc+j] -= sum * t3\n\t\t\t\tc[4*ldc+j] -= sum * t4\n\t\t\t}\n\t\t\treturn\n\n\t\tcase 6: // Special code for 6×6 Householder matrix.\n\t\t\tv0 := v[0]\n\t\t\tt0 := tau * v0\n\t\t\tv1 := v[1]\n\t\t\tt1 := tau * v1\n\t\t\tv2 := v[2]\n\t\t\tt2 := tau * v2\n\t\t\tv3 := v[3]\n\t\t\tt3 := tau * v3\n\t\t\tv4 := v[4]\n\t\t\tt4 := tau * v4\n\t\t\tv5 := v[5]\n\t\t\tt5 := tau * v5\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tsum := v0*c[j] + v1*c[ldc+j] + v2*c[2*ldc+j] + v3*c[3*ldc+j] + v4*c[4*ldc+j] +\n\t\t\t\t\tv5*c[5*ldc+j]\n\t\t\t\tc[j] -= sum * t0\n\t\t\t\tc[ldc+j] -= sum * t1\n\t\t\t\tc[2*ldc+j] -= sum * t2\n\t\t\t\tc[3*ldc+j] -= sum * t3\n\t\t\t\tc[4*ldc+j] -= sum * t4\n\t\t\t\tc[5*ldc+j] -= sum * t5\n\t\t\t}\n\t\t\treturn\n\n\t\tcase 7: // Special code for 7×7 Householder matrix.\n\t\t\tv0 := v[0]\n\t\t\tt0 := tau * v0\n\t\t\tv1 := v[1]\n\t\t\tt1 := tau * v1\n\t\t\tv2 := v[2]\n\t\t\tt2 := tau * v2\n\t\t\tv3 := v[3]\n\t\t\tt3 := tau * v3\n\t\t\tv4 := v[4]\n\t\t\tt4 := tau * v4\n\t\t\tv5 := v[5]\n\t\t\tt5 := tau * v5\n\t\t\tv6 := v[6]\n\t\t\tt6 := tau * v6\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tsum := v0*c[j] + v1*c[ldc+j] + v2*c[2*ldc+j] + v3*c[3*ldc+j] + v4*c[4*ldc+j] +\n\t\t\t\t\tv5*c[5*ldc+j] + v6*c[6*ldc+j]\n\t\t\t\tc[j] -= sum * t0\n\t\t\t\tc[ldc+j] -= sum * t1\n\t\t\t\tc[2*ldc+j] -= sum * t2\n\t\t\t\tc[3*ldc+j] -= sum * t3\n\t\t\t\tc[4*ldc+j] -= sum * t4\n\t\t\t\tc[5*ldc+j] -= sum * t5\n\t\t\t\tc[6*ldc+j] -= sum * t6\n\t\t\t}\n\t\t\treturn\n\n\t\tcase 8: // Special code for 8×8 Householder matrix.\n\t\t\tv0 := v[0]\n\t\t\tt0 := tau * v0\n\t\t\tv1 := v[1]\n\t\t\tt1 := tau * v1\n\t\t\tv2 := v[2]\n\t\t\tt2 := tau * v2\n\t\t\tv3 := v[3]\n\t\t\tt3 := tau * v3\n\t\t\tv4 := v[4]\n\t\t\tt4 := tau * v4\n\t\t\tv5 := v[5]\n\t\t\tt5 := tau * v5\n\t\t\tv6 := v[6]\n\t\t\tt6 := tau * v6\n\t\t\tv7 := v[7]\n\t\t\tt7 := tau * v7\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tsum := v0*c[j] + v1*c[ldc+j] + v2*c[2*ldc+j] + v3*c[3*ldc+j] + v4*c[4*ldc+j] +\n\t\t\t\t\tv5*c[5*ldc+j] + v6*c[6*ldc+j] + v7*c[7*ldc+j]\n\t\t\t\tc[j] -= sum * t0\n\t\t\t\tc[ldc+j] -= sum * t1\n\t\t\t\tc[2*ldc+j] -= sum * t2\n\t\t\t\tc[3*ldc+j] -= sum * t3\n\t\t\t\tc[4*ldc+j] -= sum * t4\n\t\t\t\tc[5*ldc+j] -= sum * t5\n\t\t\t\tc[6*ldc+j] -= sum * t6\n\t\t\t\tc[7*ldc+j] -= sum * t7\n\t\t\t}\n\t\t\treturn\n\n\t\tcase 9: // Special code for 9×9 Householder matrix.\n\t\t\tv0 := v[0]\n\t\t\tt0 := tau * v0\n\t\t\tv1 := v[1]\n\t\t\tt1 := tau * v1\n\t\t\tv2 := v[2]\n\t\t\tt2 := tau * v2\n\t\t\tv3 := v[3]\n\t\t\tt3 := tau * v3\n\t\t\tv4 := v[4]\n\t\t\tt4 := tau * v4\n\t\t\tv5 := v[5]\n\t\t\tt5 := tau * v5\n\t\t\tv6 := v[6]\n\t\t\tt6 := tau * v6\n\t\t\tv7 := v[7]\n\t\t\tt7 := tau * v7\n\t\t\tv8 := v[8]\n\t\t\tt8 := tau * v8\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tsum := v0*c[j] + v1*c[ldc+j] + v2*c[2*ldc+j] + v3*c[3*ldc+j] + v4*c[4*ldc+j] +\n\t\t\t\t\tv5*c[5*ldc+j] + v6*c[6*ldc+j] + v7*c[7*ldc+j] + v8*c[8*ldc+j]\n\t\t\t\tc[j] -= sum * t0\n\t\t\t\tc[ldc+j] -= sum * t1\n\t\t\t\tc[2*ldc+j] -= sum * t2\n\t\t\t\tc[3*ldc+j] -= sum * t3\n\t\t\t\tc[4*ldc+j] -= sum * t4\n\t\t\t\tc[5*ldc+j] -= sum * t5\n\t\t\t\tc[6*ldc+j] -= sum * t6\n\t\t\t\tc[7*ldc+j] -= sum * t7\n\t\t\t\tc[8*ldc+j] -= sum * t8\n\t\t\t}\n\t\t\treturn\n\n\t\tcase 10: // Special code for 10×10 Householder matrix.\n\t\t\tv0 := v[0]\n\t\t\tt0 := tau * v0\n\t\t\tv1 := v[1]\n\t\t\tt1 := tau * v1\n\t\t\tv2 := v[2]\n\t\t\tt2 := tau * v2\n\t\t\tv3 := v[3]\n\t\t\tt3 := tau * v3\n\t\t\tv4 := v[4]\n\t\t\tt4 := tau * v4\n\t\t\tv5 := v[5]\n\t\t\tt5 := tau * v5\n\t\t\tv6 := v[6]\n\t\t\tt6 := tau * v6\n\t\t\tv7 := v[7]\n\t\t\tt7 := tau * v7\n\t\t\tv8 := v[8]\n\t\t\tt8 := tau * v8\n\t\t\tv9 := v[9]\n\t\t\tt9 := tau * v9\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\tsum := v0*c[j] + v1*c[ldc+j] + v2*c[2*ldc+j] + v3*c[3*ldc+j] + v4*c[4*ldc+j] +\n\t\t\t\t\tv5*c[5*ldc+j] + v6*c[6*ldc+j] + v7*c[7*ldc+j] + v8*c[8*ldc+j] + v9*c[9*ldc+j]\n\t\t\t\tc[j] -= sum * t0\n\t\t\t\tc[ldc+j] -= sum * t1\n\t\t\t\tc[2*ldc+j] -= sum * t2\n\t\t\t\tc[3*ldc+j] -= sum * t3\n\t\t\t\tc[4*ldc+j] -= sum * t4\n\t\t\t\tc[5*ldc+j] -= sum * t5\n\t\t\t\tc[6*ldc+j] -= sum * t6\n\t\t\t\tc[7*ldc+j] -= sum * t7\n\t\t\t\tc[8*ldc+j] -= sum * t8\n\t\t\t\tc[9*ldc+j] -= sum * t9\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\n\t// Form C * H, where H has order n.\n\tswitch n {\n\tdefault: // Code for general n.\n\t\timpl.Dlarf(side, m, n, v, 1, tau, c, ldc, work)\n\t\treturn\n\n\tcase 0: // No-op for zero size matrix.\n\t\treturn\n\n\tcase 1: // Special code for 1×1 Householder matrix.\n\t\tt0 := 1 - tau*v[0]*v[0]\n\t\tfor j := 0; j < m; j++ {\n\t\t\tc[j*ldc] *= t0\n\t\t}\n\t\treturn\n\n\tcase 2: // Special code for 2×2 Householder matrix.\n\t\tv0 := v[0]\n\t\tt0 := tau * v0\n\t\tv1 := v[1]\n\t\tt1 := tau * v1\n\t\tfor j := 0; j < m; j++ {\n\t\t\tcs := c[j*ldc:]\n\t\t\tsum := v0*cs[0] + v1*cs[1]\n\t\t\tcs[0] -= sum * t0\n\t\t\tcs[1] -= sum * t1\n\t\t}\n\t\treturn\n\n\tcase 3: // Special code for 3×3 Householder matrix.\n\t\tv0 := v[0]\n\t\tt0 := tau * v0\n\t\tv1 := v[1]\n\t\tt1 := tau * v1\n\t\tv2 := v[2]\n\t\tt2 := tau * v2\n\t\tfor j := 0; j < m; j++ {\n\t\t\tcs := c[j*ldc:]\n\t\t\tsum := v0*cs[0] + v1*cs[1] + v2*cs[2]\n\t\t\tcs[0] -= sum * t0\n\t\t\tcs[1] -= sum * t1\n\t\t\tcs[2] -= sum * t2\n\t\t}\n\t\treturn\n\n\tcase 4: // Special code for 4×4 Householder matrix.\n\t\tv0 := v[0]\n\t\tt0 := tau * v0\n\t\tv1 := v[1]\n\t\tt1 := tau * v1\n\t\tv2 := v[2]\n\t\tt2 := tau * v2\n\t\tv3 := v[3]\n\t\tt3 := tau * v3\n\t\tfor j := 0; j < m; j++ {\n\t\t\tcs := c[j*ldc:]\n\t\t\tsum := v0*cs[0] + v1*cs[1] + v2*cs[2] + v3*cs[3]\n\t\t\tcs[0] -= sum * t0\n\t\t\tcs[1] -= sum * t1\n\t\t\tcs[2] -= sum * t2\n\t\t\tcs[3] -= sum * t3\n\t\t}\n\t\treturn\n\n\tcase 5: // Special code for 5×5 Householder matrix.\n\t\tv0 := v[0]\n\t\tt0 := tau * v0\n\t\tv1 := v[1]\n\t\tt1 := tau * v1\n\t\tv2 := v[2]\n\t\tt2 := tau * v2\n\t\tv3 := v[3]\n\t\tt3 := tau * v3\n\t\tv4 := v[4]\n\t\tt4 := tau * v4\n\t\tfor j := 0; j < m; j++ {\n\t\t\tcs := c[j*ldc:]\n\t\t\tsum := v0*cs[0] + v1*cs[1] + v2*cs[2] + v3*cs[3] + v4*cs[4]\n\t\t\tcs[0] -= sum * t0\n\t\t\tcs[1] -= sum * t1\n\t\t\tcs[2] -= sum * t2\n\t\t\tcs[3] -= sum * t3\n\t\t\tcs[4] -= sum * t4\n\t\t}\n\t\treturn\n\n\tcase 6: // Special code for 6×6 Householder matrix.\n\t\tv0 := v[0]\n\t\tt0 := tau * v0\n\t\tv1 := v[1]\n\t\tt1 := tau * v1\n\t\tv2 := v[2]\n\t\tt2 := tau * v2\n\t\tv3 := v[3]\n\t\tt3 := tau * v3\n\t\tv4 := v[4]\n\t\tt4 := tau * v4\n\t\tv5 := v[5]\n\t\tt5 := tau * v5\n\t\tfor j := 0; j < m; j++ {\n\t\t\tcs := c[j*ldc:]\n\t\t\tsum := v0*cs[0] + v1*cs[1] + v2*cs[2] + v3*cs[3] + v4*cs[4] + v5*cs[5]\n\t\t\tcs[0] -= sum * t0\n\t\t\tcs[1] -= sum * t1\n\t\t\tcs[2] -= sum * t2\n\t\t\tcs[3] -= sum * t3\n\t\t\tcs[4] -= sum * t4\n\t\t\tcs[5] -= sum * t5\n\t\t}\n\t\treturn\n\n\tcase 7: // Special code for 7×7 Householder matrix.\n\t\tv0 := v[0]\n\t\tt0 := tau * v0\n\t\tv1 := v[1]\n\t\tt1 := tau * v1\n\t\tv2 := v[2]\n\t\tt2 := tau * v2\n\t\tv3 := v[3]\n\t\tt3 := tau * v3\n\t\tv4 := v[4]\n\t\tt4 := tau * v4\n\t\tv5 := v[5]\n\t\tt5 := tau * v5\n\t\tv6 := v[6]\n\t\tt6 := tau * v6\n\t\tfor j := 0; j < m; j++ {\n\t\t\tcs := c[j*ldc:]\n\t\t\tsum := v0*cs[0] + v1*cs[1] + v2*cs[2] + v3*cs[3] + v4*cs[4] +\n\t\t\t\tv5*cs[5] + v6*cs[6]\n\t\t\tcs[0] -= sum * t0\n\t\t\tcs[1] -= sum * t1\n\t\t\tcs[2] -= sum * t2\n\t\t\tcs[3] -= sum * t3\n\t\t\tcs[4] -= sum * t4\n\t\t\tcs[5] -= sum * t5\n\t\t\tcs[6] -= sum * t6\n\t\t}\n\t\treturn\n\n\tcase 8: // Special code for 8×8 Householder matrix.\n\t\tv0 := v[0]\n\t\tt0 := tau * v0\n\t\tv1 := v[1]\n\t\tt1 := tau * v1\n\t\tv2 := v[2]\n\t\tt2 := tau * v2\n\t\tv3 := v[3]\n\t\tt3 := tau * v3\n\t\tv4 := v[4]\n\t\tt4 := tau * v4\n\t\tv5 := v[5]\n\t\tt5 := tau * v5\n\t\tv6 := v[6]\n\t\tt6 := tau * v6\n\t\tv7 := v[7]\n\t\tt7 := tau * v7\n\t\tfor j := 0; j < m; j++ {\n\t\t\tcs := c[j*ldc:]\n\t\t\tsum := v0*cs[0] + v1*cs[1] + v2*cs[2] + v3*cs[3] + v4*cs[4] +\n\t\t\t\tv5*cs[5] + v6*cs[6] + v7*cs[7]\n\t\t\tcs[0] -= sum * t0\n\t\t\tcs[1] -= sum * t1\n\t\t\tcs[2] -= sum * t2\n\t\t\tcs[3] -= sum * t3\n\t\t\tcs[4] -= sum * t4\n\t\t\tcs[5] -= sum * t5\n\t\t\tcs[6] -= sum * t6\n\t\t\tcs[7] -= sum * t7\n\t\t}\n\t\treturn\n\n\tcase 9: // Special code for 9×9 Householder matrix.\n\t\tv0 := v[0]\n\t\tt0 := tau * v0\n\t\tv1 := v[1]\n\t\tt1 := tau * v1\n\t\tv2 := v[2]\n\t\tt2 := tau * v2\n\t\tv3 := v[3]\n\t\tt3 := tau * v3\n\t\tv4 := v[4]\n\t\tt4 := tau * v4\n\t\tv5 := v[5]\n\t\tt5 := tau * v5\n\t\tv6 := v[6]\n\t\tt6 := tau * v6\n\t\tv7 := v[7]\n\t\tt7 := tau * v7\n\t\tv8 := v[8]\n\t\tt8 := tau * v8\n\t\tfor j := 0; j < m; j++ {\n\t\t\tcs := c[j*ldc:]\n\t\t\tsum := v0*cs[0] + v1*cs[1] + v2*cs[2] + v3*cs[3] + v4*cs[4] +\n\t\t\t\tv5*cs[5] + v6*cs[6] + v7*cs[7] + v8*cs[8]\n\t\t\tcs[0] -= sum * t0\n\t\t\tcs[1] -= sum * t1\n\t\t\tcs[2] -= sum * t2\n\t\t\tcs[3] -= sum * t3\n\t\t\tcs[4] -= sum * t4\n\t\t\tcs[5] -= sum * t5\n\t\t\tcs[6] -= sum * t6\n\t\t\tcs[7] -= sum * t7\n\t\t\tcs[8] -= sum * t8\n\t\t}\n\t\treturn\n\n\tcase 10: // Special code for 10×10 Householder matrix.\n\t\tv0 := v[0]\n\t\tt0 := tau * v0\n\t\tv1 := v[1]\n\t\tt1 := tau * v1\n\t\tv2 := v[2]\n\t\tt2 := tau * v2\n\t\tv3 := v[3]\n\t\tt3 := tau * v3\n\t\tv4 := v[4]\n\t\tt4 := tau * v4\n\t\tv5 := v[5]\n\t\tt5 := tau * v5\n\t\tv6 := v[6]\n\t\tt6 := tau * v6\n\t\tv7 := v[7]\n\t\tt7 := tau * v7\n\t\tv8 := v[8]\n\t\tt8 := tau * v8\n\t\tv9 := v[9]\n\t\tt9 := tau * v9\n\t\tfor j := 0; j < m; j++ {\n\t\t\tcs := c[j*ldc:]\n\t\t\tsum := v0*cs[0] + v1*cs[1] + v2*cs[2] + v3*cs[3] + v4*cs[4] +\n\t\t\t\tv5*cs[5] + v6*cs[6] + v7*cs[7] + v8*cs[8] + v9*cs[9]\n\t\t\tcs[0] -= sum * t0\n\t\t\tcs[1] -= sum * t1\n\t\t\tcs[2] -= sum * t2\n\t\t\tcs[3] -= sum * t3\n\t\t\tcs[4] -= sum * t4\n\t\t\tcs[5] -= sum * t5\n\t\t\tcs[6] -= sum * t6\n\t\t\tcs[7] -= sum * t7\n\t\t\tcs[8] -= sum * t8\n\t\t\tcs[9] -= sum * t9\n\t\t}\n\t\treturn\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlartg.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlartg generates a plane rotation so that\n//  [ cs sn] * [f] = [r]\n//  [-sn cs]   [g] = [0]\n// This is a more accurate version of BLAS drotg, with the other differences that\n// if g = 0, then cs = 1 and sn = 0, and if f = 0 and g != 0, then cs = 0 and sn = 1.\n// If abs(f) > abs(g), cs will be positive.\n//\n// Dlartg is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlartg(f, g float64) (cs, sn, r float64) {\n\tsafmn2 := math.Pow(dlamchB, math.Trunc(math.Log(dlamchS/dlamchE)/math.Log(dlamchB)/2))\n\tsafmx2 := 1 / safmn2\n\tif g == 0 {\n\t\tcs = 1\n\t\tsn = 0\n\t\tr = f\n\t\treturn cs, sn, r\n\t}\n\tif f == 0 {\n\t\tcs = 0\n\t\tsn = 1\n\t\tr = g\n\t\treturn cs, sn, r\n\t}\n\tf1 := f\n\tg1 := g\n\tscale := math.Max(math.Abs(f1), math.Abs(g1))\n\tif scale >= safmx2 {\n\t\tvar count int\n\t\tfor {\n\t\t\tcount++\n\t\t\tf1 *= safmn2\n\t\t\tg1 *= safmn2\n\t\t\tscale = math.Max(math.Abs(f1), math.Abs(g1))\n\t\t\tif scale < safmx2 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr = math.Sqrt(f1*f1 + g1*g1)\n\t\tcs = f1 / r\n\t\tsn = g1 / r\n\t\tfor i := 0; i < count; i++ {\n\t\t\tr *= safmx2\n\t\t}\n\t} else if scale <= safmn2 {\n\t\tvar count int\n\t\tfor {\n\t\t\tcount++\n\t\t\tf1 *= safmx2\n\t\t\tg1 *= safmx2\n\t\t\tscale = math.Max(math.Abs(f1), math.Abs(g1))\n\t\t\tif scale >= safmn2 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tr = math.Sqrt(f1*f1 + g1*g1)\n\t\tcs = f1 / r\n\t\tsn = g1 / r\n\t\tfor i := 0; i < count; i++ {\n\t\t\tr *= safmn2\n\t\t}\n\t} else {\n\t\tr = math.Sqrt(f1*f1 + g1*g1)\n\t\tcs = f1 / r\n\t\tsn = g1 / r\n\t}\n\tif math.Abs(f) > math.Abs(g) && cs < 0 {\n\t\tcs *= -1\n\t\tsn *= -1\n\t\tr *= -1\n\t}\n\treturn cs, sn, r\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlas2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlas2 computes the singular values of the 2×2 matrix defined by\n//  [F G]\n//  [0 H]\n// The smaller and larger singular values are returned in that order.\n//\n// Dlas2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlas2(f, g, h float64) (ssmin, ssmax float64) {\n\tfa := math.Abs(f)\n\tga := math.Abs(g)\n\tha := math.Abs(h)\n\tfhmin := math.Min(fa, ha)\n\tfhmax := math.Max(fa, ha)\n\tif fhmin == 0 {\n\t\tif fhmax == 0 {\n\t\t\treturn 0, ga\n\t\t}\n\t\tv := math.Min(fhmax, ga) / math.Max(fhmax, ga)\n\t\treturn 0, math.Max(fhmax, ga) * math.Sqrt(1+v*v)\n\t}\n\tif ga < fhmax {\n\t\tas := 1 + fhmin/fhmax\n\t\tat := (fhmax - fhmin) / fhmax\n\t\tau := (ga / fhmax) * (ga / fhmax)\n\t\tc := 2 / (math.Sqrt(as*as+au) + math.Sqrt(at*at+au))\n\t\treturn fhmin * c, fhmax / c\n\t}\n\tau := fhmax / ga\n\tif au == 0 {\n\t\treturn fhmin * fhmax / ga, ga\n\t}\n\tas := 1 + fhmin/fhmax\n\tat := (fhmax - fhmin) / fhmax\n\tc := 1 / (math.Sqrt(1+(as*au)*(as*au)) + math.Sqrt(1+(at*au)*(at*au)))\n\treturn 2 * (fhmin * c) * au, ga / (c + c)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlascl.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlascl multiplies an m×n matrix by the scalar cto/cfrom.\n//\n// cfrom must not be zero, and cto and cfrom must not be NaN, otherwise Dlascl\n// will panic.\n//\n// Dlascl is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlascl(kind lapack.MatrixType, kl, ku int, cfrom, cto float64, m, n int, a []float64, lda int) {\n\tcheckMatrix(m, n, a, lda)\n\tif cfrom == 0 {\n\t\tpanic(zeroDiv)\n\t}\n\tif math.IsNaN(cfrom) || math.IsNaN(cto) {\n\t\tpanic(nanScale)\n\t}\n\tif n == 0 || m == 0 {\n\t\treturn\n\t}\n\tsmlnum := dlamchS\n\tbignum := 1 / smlnum\n\tcfromc := cfrom\n\tctoc := cto\n\tcfrom1 := cfromc * smlnum\n\tfor {\n\t\tvar done bool\n\t\tvar mul, ctol float64\n\t\tif cfrom1 == cfromc {\n\t\t\t// cfromc is inf.\n\t\t\tmul = ctoc / cfromc\n\t\t\tdone = true\n\t\t\tctol = ctoc\n\t\t} else {\n\t\t\tctol = ctoc / bignum\n\t\t\tif ctol == ctoc {\n\t\t\t\t// ctoc is either 0 or inf.\n\t\t\t\tmul = ctoc\n\t\t\t\tdone = true\n\t\t\t\tcfromc = 1\n\t\t\t} else if math.Abs(cfrom1) > math.Abs(ctoc) && ctoc != 0 {\n\t\t\t\tmul = smlnum\n\t\t\t\tdone = false\n\t\t\t\tcfromc = cfrom1\n\t\t\t} else if math.Abs(ctol) > math.Abs(cfromc) {\n\t\t\t\tmul = bignum\n\t\t\t\tdone = false\n\t\t\t\tctoc = ctol\n\t\t\t} else {\n\t\t\t\tmul = ctoc / cfromc\n\t\t\t\tdone = true\n\t\t\t}\n\t\t}\n\t\tswitch kind {\n\t\tdefault:\n\t\t\tpanic(\"lapack: not implemented\")\n\t\tcase lapack.General:\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\t\ta[i*lda+j] = a[i*lda+j] * mul\n\t\t\t\t}\n\t\t\t}\n\t\tcase lapack.UpperTri:\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tfor j := i; j < n; j++ {\n\t\t\t\t\ta[i*lda+j] = a[i*lda+j] * mul\n\t\t\t\t}\n\t\t\t}\n\t\tcase lapack.LowerTri:\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\tfor j := 0; j <= min(i, n-1); j++ {\n\t\t\t\t\ta[i*lda+j] = a[i*lda+j] * mul\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif done {\n\t\t\tbreak\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlaset.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dlaset sets the off-diagonal elements of A to alpha, and the diagonal\n// elements to beta. If uplo == blas.Upper, only the elements in the upper\n// triangular part are set. If uplo == blas.Lower, only the elements in the\n// lower triangular part are set. If uplo is otherwise, all of the elements of A\n// are set.\n//\n// Dlaset is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlaset(uplo blas.Uplo, m, n int, alpha, beta float64, a []float64, lda int) {\n\tcheckMatrix(m, n, a, lda)\n\tif uplo == blas.Upper {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := i + 1; j < n; j++ {\n\t\t\t\ta[i*lda+j] = alpha\n\t\t\t}\n\t\t}\n\t} else if uplo == blas.Lower {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := 0; j < min(i+1, n); j++ {\n\t\t\t\ta[i*lda+j] = alpha\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor i := 0; i < m; i++ {\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\ta[i*lda+j] = alpha\n\t\t\t}\n\t\t}\n\t}\n\tfor i := 0; i < min(m, n); i++ {\n\t\ta[i*lda+i] = beta\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlasq1.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlasq1 computes the singular values of an n×n bidiagonal matrix with diagonal\n// d and off-diagonal e. On exit, d contains the singular values in decreasing\n// order, and e is overwritten. d must have length at least n, e must have\n// length at least n-1, and the input work must have length at least 4*n. Dlasq1\n// will panic if these conditions are not met.\n//\n// Dlasq1 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlasq1(n int, d, e, work []float64) (info int) {\n\t// TODO(btracey): replace info with an error.\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif len(work) < 4*n {\n\t\tpanic(badWork)\n\t}\n\tif len(d) < n {\n\t\tpanic(\"lapack: length of d less than n\")\n\t}\n\tif len(e) < n-1 {\n\t\tpanic(\"lapack: length of e less than n-1\")\n\t}\n\tif n == 0 {\n\t\treturn info\n\t}\n\tif n == 1 {\n\t\td[0] = math.Abs(d[0])\n\t\treturn info\n\t}\n\tif n == 2 {\n\t\td[1], d[0] = impl.Dlas2(d[0], e[0], d[1])\n\t\treturn info\n\t}\n\t// Estimate the largest singular value.\n\tvar sigmx float64\n\tfor i := 0; i < n-1; i++ {\n\t\td[i] = math.Abs(d[i])\n\t\tsigmx = math.Max(sigmx, math.Abs(e[i]))\n\t}\n\td[n-1] = math.Abs(d[n-1])\n\t// Early return if sigmx is zero (matrix is already diagonal).\n\tif sigmx == 0 {\n\t\timpl.Dlasrt(lapack.SortDecreasing, n, d)\n\t\treturn info\n\t}\n\n\tfor i := 0; i < n; i++ {\n\t\tsigmx = math.Max(sigmx, d[i])\n\t}\n\n\t// Copy D and E into WORK (in the Z format) and scale (squaring the\n\t// input data makes scaling by a power of the radix pointless).\n\n\teps := dlamchP\n\tsafmin := dlamchS\n\tscale := math.Sqrt(eps / safmin)\n\tbi := blas64.Implementation()\n\tbi.Dcopy(n, d, 1, work, 2)\n\tbi.Dcopy(n-1, e, 1, work[1:], 2)\n\timpl.Dlascl(lapack.General, 0, 0, sigmx, scale, 2*n-1, 1, work, 1)\n\n\t// Compute the q's and e's.\n\tfor i := 0; i < 2*n-1; i++ {\n\t\twork[i] *= work[i]\n\t}\n\twork[2*n-1] = 0\n\n\tinfo = impl.Dlasq2(n, work)\n\tif info == 0 {\n\t\tfor i := 0; i < n; i++ {\n\t\t\td[i] = math.Sqrt(work[i])\n\t\t}\n\t\timpl.Dlascl(lapack.General, 0, 0, scale, sigmx, n, 1, d, 1)\n\t} else if info == 2 {\n\t\t// Maximum number of iterations exceeded. Move data from work\n\t\t// into D and E so the calling subroutine can try to finish.\n\t\tfor i := 0; i < n; i++ {\n\t\t\td[i] = math.Sqrt(work[2*i])\n\t\t\te[i] = math.Sqrt(work[2*i+1])\n\t\t}\n\t\timpl.Dlascl(lapack.General, 0, 0, scale, sigmx, n, 1, d, 1)\n\t\timpl.Dlascl(lapack.General, 0, 0, scale, sigmx, n, 1, e, 1)\n\t}\n\treturn info\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlasq2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlasq2 computes all the eigenvalues of the symmetric positive\n// definite tridiagonal matrix associated with the qd array Z. Eigevalues\n// are computed to high relative accuracy avoiding denormalization, underflow\n// and overflow.\n//\n// To see the relation of Z to the tridiagonal matrix, let L be a\n// unit lower bidiagonal matrix with sub-diagonals Z(2,4,6,,..) and\n// let U be an upper bidiagonal matrix with 1's above and diagonal\n// Z(1,3,5,,..). The tridiagonal is L*U or, if you prefer, the\n// symmetric tridiagonal to which it is similar.\n//\n// info returns a status error. The return codes mean as follows:\n//  0: The algorithm completed successfully.\n//  1: A split was marked by a positive value in e.\n//  2: Current block of Z not diagonalized after 100*n iterations (in inner\n//     while loop). On exit Z holds a qd array with the same eigenvalues as\n//     the given Z.\n//  3: Termination criterion of outer while loop not met (program created more\n//     than N unreduced blocks).\n//\n// z must have length at least 4*n, and must not contain any negative elements.\n// Dlasq2 will panic otherwise.\n//\n// Dlasq2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlasq2(n int, z []float64) (info int) {\n\t// TODO(btracey): make info an error.\n\tif len(z) < 4*n {\n\t\tpanic(badZ)\n\t}\n\tconst cbias = 1.5\n\n\teps := dlamchP\n\tsafmin := dlamchS\n\ttol := eps * 100\n\ttol2 := tol * tol\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif n == 0 {\n\t\treturn info\n\t}\n\tif n == 1 {\n\t\tif z[0] < 0 {\n\t\t\tpanic(negZ)\n\t\t}\n\t\treturn info\n\t}\n\tif n == 2 {\n\t\tif z[1] < 0 || z[2] < 0 {\n\t\t\tpanic(\"lapack: bad z value\")\n\t\t} else if z[2] > z[0] {\n\t\t\tz[0], z[2] = z[2], z[0]\n\t\t}\n\t\tz[4] = z[0] + z[1] + z[2]\n\t\tif z[1] > z[2]*tol2 {\n\t\t\tt := 0.5 * (z[0] - z[2] + z[1])\n\t\t\ts := z[2] * (z[1] / t)\n\t\t\tif s <= t {\n\t\t\t\ts = z[2] * (z[1] / (t * (1 + math.Sqrt(1+s/t))))\n\t\t\t} else {\n\t\t\t\ts = z[2] * (z[1] / (t + math.Sqrt(t)*math.Sqrt(t+s)))\n\t\t\t}\n\t\t\tt = z[0] + s + z[1]\n\t\t\tz[2] *= z[0] / t\n\t\t\tz[0] = t\n\t\t}\n\t\tz[1] = z[2]\n\t\tz[5] = z[1] + z[0]\n\t\treturn info\n\t}\n\t// Check for negative data and compute sums of q's and e's.\n\tz[2*n-1] = 0\n\temin := z[1]\n\tvar d, e, qmax float64\n\tvar i1, n1 int\n\tfor k := 0; k < 2*(n-1); k += 2 {\n\t\tif z[k] < 0 || z[k+1] < 0 {\n\t\t\tpanic(\"lapack: bad z value\")\n\t\t}\n\t\td += z[k]\n\t\te += z[k+1]\n\t\tqmax = math.Max(qmax, z[k])\n\t\temin = math.Min(emin, z[k+1])\n\t}\n\tif z[2*(n-1)] < 0 {\n\t\tpanic(\"lapack: bad z value\")\n\t}\n\td += z[2*(n-1)]\n\tqmax = math.Max(qmax, z[2*(n-1)])\n\t// Check for diagonality.\n\tif e == 0 {\n\t\tfor k := 1; k < n; k++ {\n\t\t\tz[k] = z[2*k]\n\t\t}\n\t\timpl.Dlasrt(lapack.SortDecreasing, n, z)\n\t\tz[2*(n-1)] = d\n\t\treturn info\n\t}\n\ttrace := d + e\n\t// Check for zero data.\n\tif trace == 0 {\n\t\tz[2*(n-1)] = 0\n\t\treturn info\n\t}\n\t// Rearrange data for locality: Z=(q1,qq1,e1,ee1,q2,qq2,e2,ee2,...).\n\tfor k := 2 * n; k >= 2; k -= 2 {\n\t\tz[2*k-1] = 0\n\t\tz[2*k-2] = z[k-1]\n\t\tz[2*k-3] = 0\n\t\tz[2*k-4] = z[k-2]\n\t}\n\ti0 := 0\n\tn0 := n - 1\n\n\t// Reverse the qd-array, if warranted.\n\t// z[4*i0-3] --> z[4*(i0+1)-3-1] --> z[4*i0]\n\tif cbias*z[4*i0] < z[4*n0] {\n\t\tipn4Out := 4 * (i0 + n0 + 2)\n\t\tfor i4loop := 4 * (i0 + 1); i4loop <= 2*(i0+n0+1); i4loop += 4 {\n\t\t\ti4 := i4loop - 1\n\t\t\tipn4 := ipn4Out - 1\n\t\t\tz[i4-3], z[ipn4-i4-4] = z[ipn4-i4-4], z[i4-3]\n\t\t\tz[i4-1], z[ipn4-i4-6] = z[ipn4-i4-6], z[i4-1]\n\t\t}\n\t}\n\n\t// Initial split checking via dqd and Li's test.\n\tpp := 0\n\tfor k := 0; k < 2; k++ {\n\t\td = z[4*n0+pp]\n\t\tfor i4loop := 4*n0 + pp; i4loop >= 4*(i0+1)+pp; i4loop -= 4 {\n\t\t\ti4 := i4loop - 1\n\t\t\tif z[i4-1] <= tol2*d {\n\t\t\t\tz[i4-1] = math.Copysign(0, -1)\n\t\t\t\td = z[i4-3]\n\t\t\t} else {\n\t\t\t\td = z[i4-3] * (d / (d + z[i4-1]))\n\t\t\t}\n\t\t}\n\t\t// dqd maps Z to ZZ plus Li's test.\n\t\temin = z[4*(i0+1)+pp]\n\t\td = z[4*i0+pp]\n\t\tfor i4loop := 4*(i0+1) + pp; i4loop <= 4*n0+pp; i4loop += 4 {\n\t\t\ti4 := i4loop - 1\n\t\t\tz[i4-2*pp-2] = d + z[i4-1]\n\t\t\tif z[i4-1] <= tol2*d {\n\t\t\t\tz[i4-1] = math.Copysign(0, -1)\n\t\t\t\tz[i4-2*pp-2] = d\n\t\t\t\tz[i4-2*pp] = 0\n\t\t\t\td = z[i4+1]\n\t\t\t} else if safmin*z[i4+1] < z[i4-2*pp-2] && safmin*z[i4-2*pp-2] < z[i4+1] {\n\t\t\t\ttmp := z[i4+1] / z[i4-2*pp-2]\n\t\t\t\tz[i4-2*pp] = z[i4-1] * tmp\n\t\t\t\td *= tmp\n\t\t\t} else {\n\t\t\t\tz[i4-2*pp] = z[i4+1] * (z[i4-1] / z[i4-2*pp-2])\n\t\t\t\td = z[i4+1] * (d / z[i4-2*pp-2])\n\t\t\t}\n\t\t\temin = math.Min(emin, z[i4-2*pp])\n\t\t}\n\t\tz[4*(n0+1)-pp-3] = d\n\n\t\t// Now find qmax.\n\t\tqmax = z[4*(i0+1)-pp-3]\n\t\tfor i4loop := 4*(i0+1) - pp + 2; i4loop <= 4*(n0+1)+pp-2; i4loop += 4 {\n\t\t\ti4 := i4loop - 1\n\t\t\tqmax = math.Max(qmax, z[i4])\n\t\t}\n\t\t// Prepare for the next iteration on K.\n\t\tpp = 1 - pp\n\t}\n\n\t// Initialise variables to pass to DLASQ3.\n\tvar ttype int\n\tvar dmin1, dmin2, dn, dn1, dn2, g, tau float64\n\tvar tempq float64\n\titer := 2\n\tvar nFail int\n\tnDiv := 2 * (n0 - i0)\n\tvar i4 int\nouter:\n\tfor iwhila := 1; iwhila <= n+1; iwhila++ {\n\t\t// Test for completion.\n\t\tif n0 < 0 {\n\t\t\t// Move q's to the front.\n\t\t\tfor k := 1; k < n; k++ {\n\t\t\t\tz[k] = z[4*k]\n\t\t\t}\n\t\t\t// Sort and compute sum of eigenvalues.\n\t\t\timpl.Dlasrt(lapack.SortDecreasing, n, z)\n\t\t\te = 0\n\t\t\tfor k := n - 1; k >= 0; k-- {\n\t\t\t\te += z[k]\n\t\t\t}\n\t\t\t// Store trace, sum(eigenvalues) and information on performance.\n\t\t\tz[2*n] = trace\n\t\t\tz[2*n+1] = e\n\t\t\tz[2*n+2] = float64(iter)\n\t\t\tz[2*n+3] = float64(nDiv) / float64(n*n)\n\t\t\tz[2*n+4] = 100 * float64(nFail) / float64(iter)\n\t\t\treturn info\n\t\t}\n\n\t\t// While array unfinished do\n\t\t// e[n0] holds the value of sigma when submatrix in i0:n0\n\t\t// splits from the rest of the array, but is negated.\n\t\tvar desig float64\n\t\tvar sigma float64\n\t\tif n0 != n-1 {\n\t\t\tsigma = -z[4*(n0+1)-2]\n\t\t}\n\t\tif sigma < 0 {\n\t\t\tinfo = 1\n\t\t\treturn info\n\t\t}\n\t\t// Find last unreduced submatrix's top index i0, find qmax and\n\t\t// emin. Find Gershgorin-type bound if Q's much greater than E's.\n\t\tvar emax float64\n\t\tif n0 > i0 {\n\t\t\temin = math.Abs(z[4*(n0+1)-6])\n\t\t} else {\n\t\t\temin = 0\n\t\t}\n\t\tqmin := z[4*(n0+1)-4]\n\t\tqmax = qmin\n\t\tzSmall := false\n\t\tfor i4loop := 4 * (n0 + 1); i4loop >= 8; i4loop -= 4 {\n\t\t\ti4 = i4loop - 1\n\t\t\tif z[i4-5] <= 0 {\n\t\t\t\tzSmall = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif qmin >= 4*emax {\n\t\t\t\tqmin = math.Min(qmin, z[i4-3])\n\t\t\t\temax = math.Max(emax, z[i4-5])\n\t\t\t}\n\t\t\tqmax = math.Max(qmax, z[i4-7]+z[i4-5])\n\t\t\temin = math.Min(emin, z[i4-5])\n\t\t}\n\t\tif !zSmall {\n\t\t\ti4 = 3\n\t\t}\n\t\ti0 = (i4+1)/4 - 1\n\t\tpp = 0\n\t\tif n0-i0 > 1 {\n\t\t\tdee := z[4*i0]\n\t\t\tdeemin := dee\n\t\t\tkmin := i0\n\t\t\tfor i4loop := 4*(i0+1) + 1; i4loop <= 4*(n0+1)-3; i4loop += 4 {\n\t\t\t\ti4 := i4loop - 1\n\t\t\t\tdee = z[i4] * (dee / (dee + z[i4-2]))\n\t\t\t\tif dee <= deemin {\n\t\t\t\t\tdeemin = dee\n\t\t\t\t\tkmin = (i4+4)/4 - 1\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (kmin-i0)*2 < n0-kmin && deemin <= 0.5*z[4*n0] {\n\t\t\t\tipn4Out := 4 * (i0 + n0 + 2)\n\t\t\t\tpp = 2\n\t\t\t\tfor i4loop := 4 * (i0 + 1); i4loop <= 2*(i0+n0+1); i4loop += 4 {\n\t\t\t\t\ti4 := i4loop - 1\n\t\t\t\t\tipn4 := ipn4Out - 1\n\t\t\t\t\tz[i4-3], z[ipn4-i4-4] = z[ipn4-i4-4], z[i4-3]\n\t\t\t\t\tz[i4-2], z[ipn4-i4-3] = z[ipn4-i4-3], z[i4-2]\n\t\t\t\t\tz[i4-1], z[ipn4-i4-6] = z[ipn4-i4-6], z[i4-1]\n\t\t\t\t\tz[i4], z[ipn4-i4-5] = z[ipn4-i4-5], z[i4]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Put -(initial shift) into DMIN.\n\t\tdmin := -math.Max(0, qmin-2*math.Sqrt(qmin)*math.Sqrt(emax))\n\n\t\t// Now i0:n0 is unreduced.\n\t\t// PP = 0 for ping, PP = 1 for pong.\n\t\t// PP = 2 indicates that flipping was applied to the Z array and\n\t\t// \t\tand that the tests for deflation upon entry in Dlasq3\n\t\t// \t\tshould not be performed.\n\t\tnbig := 100 * (n0 - i0 + 1)\n\t\tfor iwhilb := 0; iwhilb < nbig; iwhilb++ {\n\t\t\tif i0 > n0 {\n\t\t\t\tcontinue outer\n\t\t\t}\n\n\t\t\t// While submatrix unfinished take a good dqds step.\n\t\t\ti0, n0, pp, dmin, sigma, desig, qmax, nFail, iter, nDiv, ttype, dmin1, dmin2, dn, dn1, dn2, g, tau =\n\t\t\t\timpl.Dlasq3(i0, n0, z, pp, dmin, sigma, desig, qmax, nFail, iter, nDiv, ttype, dmin1, dmin2, dn, dn1, dn2, g, tau)\n\n\t\t\tpp = 1 - pp\n\t\t\t// When emin is very small check for splits.\n\t\t\tif pp == 0 && n0-i0 >= 3 {\n\t\t\t\tif z[4*(n0+1)-1] <= tol2*qmax || z[4*(n0+1)-2] <= tol2*sigma {\n\t\t\t\t\tsplt := i0 - 1\n\t\t\t\t\tqmax = z[4*i0]\n\t\t\t\t\temin = z[4*(i0+1)-2]\n\t\t\t\t\toldemn := z[4*(i0+1)-1]\n\t\t\t\t\tfor i4loop := 4 * (i0 + 1); i4loop <= 4*(n0-2); i4loop += 4 {\n\t\t\t\t\t\ti4 := i4loop - 1\n\t\t\t\t\t\tif z[i4] <= tol2*z[i4-3] || z[i4-1] <= tol2*sigma {\n\t\t\t\t\t\t\tz[i4-1] = -sigma\n\t\t\t\t\t\t\tsplt = i4 / 4\n\t\t\t\t\t\t\tqmax = 0\n\t\t\t\t\t\t\temin = z[i4+3]\n\t\t\t\t\t\t\toldemn = z[i4+4]\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tqmax = math.Max(qmax, z[i4+1])\n\t\t\t\t\t\t\temin = math.Min(emin, z[i4-1])\n\t\t\t\t\t\t\toldemn = math.Min(oldemn, z[i4])\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tz[4*(n0+1)-2] = emin\n\t\t\t\t\tz[4*(n0+1)-1] = oldemn\n\t\t\t\t\ti0 = splt + 1\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Maximum number of iterations exceeded, restore the shift\n\t\t// sigma and place the new d's and e's in a qd array.\n\t\t// This might need to be done for several blocks.\n\t\tinfo = 2\n\t\ti1 = i0\n\t\tn1 = n0\n\t\tfor {\n\t\t\ttempq = z[4*i0]\n\t\t\tz[4*i0] += sigma\n\t\t\tfor k := i0 + 1; k <= n0; k++ {\n\t\t\t\ttempe := z[4*(k+1)-6]\n\t\t\t\tz[4*(k+1)-6] *= tempq / z[4*(k+1)-8]\n\t\t\t\ttempq = z[4*k]\n\t\t\t\tz[4*k] += sigma + tempe - z[4*(k+1)-6]\n\t\t\t}\n\t\t\t// Prepare to do this on the previous block if there is one.\n\t\t\tif i1 <= 0 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tn1 = i1 - 1\n\t\t\tfor i1 >= 1 && z[4*(i1+1)-6] >= 0 {\n\t\t\t\ti1 -= 1\n\t\t\t}\n\t\t\tsigma = -z[4*(n1+1)-2]\n\t\t}\n\t\tfor k := 0; k < n; k++ {\n\t\t\tz[2*k] = z[4*k]\n\t\t\t// Only the block 1..N0 is unfinished.  The rest of the e's\n\t\t\t// must be essentially zero, although sometimes other data\n\t\t\t// has been stored in them.\n\t\t\tif k < n0 {\n\t\t\t\tz[2*(k+1)-1] = z[4*(k+1)-1]\n\t\t\t} else {\n\t\t\t\tz[2*(k+1)] = 0\n\t\t\t}\n\t\t}\n\t\treturn info\n\t}\n\tinfo = 3\n\treturn info\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlasq3.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlasq3 checks for deflation, computes a shift (tau) and calls dqds.\n// In case of failure it changes shifts, and tries again until output\n// is positive.\n//\n// Dlasq3 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlasq3(i0, n0 int, z []float64, pp int, dmin, sigma, desig, qmax float64, nFail, iter, nDiv int, ttype int, dmin1, dmin2, dn, dn1, dn2, g, tau float64) (\n\ti0Out, n0Out, ppOut int, dminOut, sigmaOut, desigOut, qmaxOut float64, nFailOut, iterOut, nDivOut, ttypeOut int, dmin1Out, dmin2Out, dnOut, dn1Out, dn2Out, gOut, tauOut float64) {\n\tconst cbias = 1.5\n\n\tn0in := n0\n\teps := dlamchP\n\ttol := eps * 100\n\ttol2 := tol * tol\n\tvar nn int\n\tvar t float64\n\tfor {\n\t\tif n0 < i0 {\n\t\t\treturn i0, n0, pp, dmin, sigma, desig, qmax, nFail, iter, nDiv, ttype, dmin1, dmin2, dn, dn1, dn2, g, tau\n\t\t}\n\t\tif n0 == i0 {\n\t\t\tz[4*(n0+1)-4] = z[4*(n0+1)+pp-4] + sigma\n\t\t\tn0--\n\t\t\tcontinue\n\t\t}\n\t\tnn = 4*(n0+1) + pp - 1\n\t\tif n0 != i0+1 {\n\t\t\t// Check whether e[n0-1] is negligible, 1 eigenvalue.\n\t\t\tif z[nn-5] > tol2*(sigma+z[nn-3]) && z[nn-2*pp-4] > tol2*z[nn-7] {\n\t\t\t\t// Check whether e[n0-2] is negligible, 2 eigenvalues.\n\t\t\t\tif z[nn-9] > tol2*sigma && z[nn-2*pp-8] > tol2*z[nn-11] {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tz[4*(n0+1)-4] = z[4*(n0+1)+pp-4] + sigma\n\t\t\t\tn0--\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tif z[nn-3] > z[nn-7] {\n\t\t\tz[nn-3], z[nn-7] = z[nn-7], z[nn-3]\n\t\t}\n\t\tt = 0.5 * (z[nn-7] - z[nn-3] + z[nn-5])\n\t\tif z[nn-5] > z[nn-3]*tol2 && t != 0 {\n\t\t\ts := z[nn-3] * (z[nn-5] / t)\n\t\t\tif s <= t {\n\t\t\t\ts = z[nn-3] * (z[nn-5] / (t * (1 + math.Sqrt(1+s/t))))\n\t\t\t} else {\n\t\t\t\ts = z[nn-3] * (z[nn-5] / (t + math.Sqrt(t)*math.Sqrt(t+s)))\n\t\t\t}\n\t\t\tt = z[nn-7] + (s + z[nn-5])\n\t\t\tz[nn-3] *= z[nn-7] / t\n\t\t\tz[nn-7] = t\n\t\t}\n\t\tz[4*(n0+1)-8] = z[nn-7] + sigma\n\t\tz[4*(n0+1)-4] = z[nn-3] + sigma\n\t\tn0 -= 2\n\t}\n\tif pp == 2 {\n\t\tpp = 0\n\t}\n\n\t// Reverse the qd-array, if warranted.\n\tif dmin <= 0 || n0 < n0in {\n\t\tif cbias*z[4*(i0+1)+pp-4] < z[4*(n0+1)+pp-4] {\n\t\t\tipn4Out := 4 * (i0 + n0 + 2)\n\t\t\tfor j4loop := 4 * (i0 + 1); j4loop <= 2*((i0+1)+(n0+1)-1); j4loop += 4 {\n\t\t\t\tipn4 := ipn4Out - 1\n\t\t\t\tj4 := j4loop - 1\n\n\t\t\t\tz[j4-3], z[ipn4-j4-4] = z[ipn4-j4-4], z[j4-3]\n\t\t\t\tz[j4-2], z[ipn4-j4-3] = z[ipn4-j4-3], z[j4-2]\n\t\t\t\tz[j4-1], z[ipn4-j4-6] = z[ipn4-j4-6], z[j4-1]\n\t\t\t\tz[j4], z[ipn4-j4-5] = z[ipn4-j4-5], z[j4]\n\t\t\t}\n\t\t\tif n0-i0 <= 4 {\n\t\t\t\tz[4*(n0+1)+pp-2] = z[4*(i0+1)+pp-2]\n\t\t\t\tz[4*(n0+1)-pp-1] = z[4*(i0+1)-pp-1]\n\t\t\t}\n\t\t\tdmin2 = math.Min(dmin2, z[4*(i0+1)-pp-2])\n\t\t\tz[4*(n0+1)+pp-2] = math.Min(math.Min(z[4*(n0+1)+pp-2], z[4*(i0+1)+pp-2]), z[4*(i0+1)+pp+2])\n\t\t\tz[4*(n0+1)-pp-1] = math.Min(math.Min(z[4*(n0+1)-pp-1], z[4*(i0+1)-pp-1]), z[4*(i0+1)-pp+3])\n\t\t\tqmax = math.Max(math.Max(qmax, z[4*(i0+1)+pp-4]), z[4*(i0+1)+pp])\n\t\t\tdmin = math.Copysign(0, -1) // Fortran code has -zero, but -0 in go is 0\n\t\t}\n\t}\n\n\t// Choose a shift.\n\ttau, ttype, g = impl.Dlasq4(i0, n0, z, pp, n0in, dmin, dmin1, dmin2, dn, dn1, dn2, tau, ttype, g)\n\n\t// Call dqds until dmin > 0.\nloop:\n\tfor {\n\t\ti0, n0, pp, tau, sigma, dmin, dmin1, dmin2, dn, dn1, dn2 = impl.Dlasq5(i0, n0, z, pp, tau, sigma)\n\n\t\tnDiv += n0 - i0 + 2\n\t\titer++\n\t\tswitch {\n\t\tcase dmin >= 0 && dmin1 >= 0:\n\t\t\t// Success.\n\t\t\tgoto done\n\n\t\tcase dmin < 0 && dmin1 > 0 && z[4*n0-pp-1] < tol*(sigma+dn1) && math.Abs(dn) < tol*sigma:\n\t\t\t// Convergence hidden by negative dn.\n\t\t\tz[4*n0-pp+1] = 0\n\t\t\tdmin = 0\n\t\t\tgoto done\n\n\t\tcase dmin < 0:\n\t\t\t// Tau too big. Select new Tau and try again.\n\t\t\tnFail++\n\t\t\tif ttype < -22 {\n\t\t\t\t// Failed twice. Play it safe.\n\t\t\t\ttau = 0\n\t\t\t} else if dmin1 > 0 {\n\t\t\t\t// Late failure. Gives excellent shift.\n\t\t\t\ttau = (tau + dmin) * (1 - 2*eps)\n\t\t\t\tttype -= 11\n\t\t\t} else {\n\t\t\t\t// Early failure. Divide by 4.\n\t\t\t\ttau = tau / 4\n\t\t\t\tttype -= 12\n\t\t\t}\n\n\t\tcase math.IsNaN(dmin):\n\t\t\tif tau == 0 {\n\t\t\t\tbreak loop\n\t\t\t}\n\t\t\ttau = 0\n\n\t\tdefault:\n\t\t\t// Possible underflow. Play it safe.\n\t\t\tbreak loop\n\t\t}\n\t}\n\n\t// Risk of underflow.\n\tdmin, dmin1, dmin2, dn, dn1, dn2 = impl.Dlasq6(i0, n0, z, pp)\n\tnDiv += n0 - i0 + 2\n\titer++\n\ttau = 0\n\ndone:\n\tif tau < sigma {\n\t\tdesig += tau\n\t\tt = sigma + desig\n\t\tdesig -= t - sigma\n\t} else {\n\t\tt = sigma + tau\n\t\tdesig += sigma - (t - tau)\n\t}\n\tsigma = t\n\treturn i0, n0, pp, dmin, sigma, desig, qmax, nFail, iter, nDiv, ttype, dmin1, dmin2, dn, dn1, dn2, g, tau\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlasq4.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlasq4 computes an approximation to the smallest eigenvalue using values of d\n// from the previous transform.\n// i0, n0, and n0in are zero-indexed.\n//\n// Dlasq4 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlasq4(i0, n0 int, z []float64, pp int, n0in int, dmin, dmin1, dmin2, dn, dn1, dn2, tau float64, ttype int, g float64) (tauOut float64, ttypeOut int, gOut float64) {\n\tconst (\n\t\tcnst1 = 0.563\n\t\tcnst2 = 1.01\n\t\tcnst3 = 1.05\n\n\t\tcnstthird = 0.333 // TODO(btracey): Fix?\n\t)\n\t// A negative dmin forces the shift to take that absolute value\n\t// ttype records the type of shift.\n\tif dmin <= 0 {\n\t\ttau = -dmin\n\t\tttype = -1\n\t\treturn tau, ttype, g\n\t}\n\tnn := 4*(n0+1) + pp - 1 // -1 for zero indexing\n\ts := math.NaN()         // Poison s so that failure to take a path below is obvious\n\tif n0in == n0 {\n\t\t// No eigenvalues deflated.\n\t\tif dmin == dn || dmin == dn1 {\n\t\t\tb1 := math.Sqrt(z[nn-3]) * math.Sqrt(z[nn-5])\n\t\t\tb2 := math.Sqrt(z[nn-7]) * math.Sqrt(z[nn-9])\n\t\t\ta2 := z[nn-7] + z[nn-5]\n\t\t\tif dmin == dn && dmin1 == dn1 {\n\t\t\t\tgap2 := dmin2 - a2 - dmin2/4\n\t\t\t\tvar gap1 float64\n\t\t\t\tif gap2 > 0 && gap2 > b2 {\n\t\t\t\t\tgap1 = a2 - dn - (b2/gap2)*b2\n\t\t\t\t} else {\n\t\t\t\t\tgap1 = a2 - dn - (b1 + b2)\n\t\t\t\t}\n\t\t\t\tif gap1 > 0 && gap1 > b1 {\n\t\t\t\t\ts = math.Max(dn-(b1/gap1)*b1, 0.5*dmin)\n\t\t\t\t\tttype = -2\n\t\t\t\t} else {\n\t\t\t\t\ts = 0\n\t\t\t\t\tif dn > b1 {\n\t\t\t\t\t\ts = dn - b1\n\t\t\t\t\t}\n\t\t\t\t\tif a2 > b1+b2 {\n\t\t\t\t\t\ts = math.Min(s, a2-(b1+b2))\n\t\t\t\t\t}\n\t\t\t\t\ts = math.Max(s, cnstthird*dmin)\n\t\t\t\t\tttype = -3\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tttype = -4\n\t\t\t\ts = dmin / 4\n\t\t\t\tvar gam float64\n\t\t\t\tvar np int\n\t\t\t\tif dmin == dn {\n\t\t\t\t\tgam = dn\n\t\t\t\t\ta2 = 0\n\t\t\t\t\tif z[nn-5] > z[nn-7] {\n\t\t\t\t\t\treturn tau, ttype, g\n\t\t\t\t\t}\n\t\t\t\t\tb2 = z[nn-5] / z[nn-7]\n\t\t\t\t\tnp = nn - 9\n\t\t\t\t} else {\n\t\t\t\t\tnp = nn - 2*pp\n\t\t\t\t\tgam = dn1\n\t\t\t\t\tif z[np-4] > z[np-2] {\n\t\t\t\t\t\treturn tau, ttype, g\n\t\t\t\t\t}\n\t\t\t\t\ta2 = z[np-4] / z[np-2]\n\t\t\t\t\tif z[nn-9] > z[nn-11] {\n\t\t\t\t\t\treturn tau, ttype, g\n\t\t\t\t\t}\n\t\t\t\t\tb2 = z[nn-9] / z[nn-11]\n\t\t\t\t\tnp = nn - 13\n\t\t\t\t}\n\t\t\t\t// Approximate contribution to norm squared from i < nn-1.\n\t\t\t\ta2 += b2\n\t\t\t\tfor i4loop := np + 1; i4loop >= 4*(i0+1)-1+pp; i4loop -= 4 {\n\t\t\t\t\ti4 := i4loop - 1\n\t\t\t\t\tif b2 == 0 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tb1 = b2\n\t\t\t\t\tif z[i4] > z[i4-2] {\n\t\t\t\t\t\treturn tau, ttype, g\n\t\t\t\t\t}\n\t\t\t\t\tb2 *= z[i4] / z[i4-2]\n\t\t\t\t\ta2 += b2\n\t\t\t\t\tif 100*math.Max(b2, b1) < a2 || cnst1 < a2 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ta2 *= cnst3\n\t\t\t\t// Rayleigh quotient residual bound.\n\t\t\t\tif a2 < cnst1 {\n\t\t\t\t\ts = gam * (1 - math.Sqrt(a2)) / (1 + a2)\n\t\t\t\t}\n\t\t\t}\n\t\t} else if dmin == dn2 {\n\t\t\tttype = -5\n\t\t\ts = dmin / 4\n\t\t\t// Compute contribution to norm squared from i > nn-2.\n\t\t\tnp := nn - 2*pp\n\t\t\tb1 := z[np-2]\n\t\t\tb2 := z[np-6]\n\t\t\tgam := dn2\n\t\t\tif z[np-8] > b2 || z[np-4] > b1 {\n\t\t\t\treturn tau, ttype, g\n\t\t\t}\n\t\t\ta2 := (z[np-8] / b2) * (1 + z[np-4]/b1)\n\t\t\t// Approximate contribution to norm squared from i < nn-2.\n\t\t\tif n0-i0 > 2 {\n\t\t\t\tb2 = z[nn-13] / z[nn-15]\n\t\t\t\ta2 += b2\n\t\t\t\tfor i4loop := (nn + 1) - 17; i4loop >= 4*(i0+1)-1+pp; i4loop -= 4 {\n\t\t\t\t\ti4 := i4loop - 1\n\t\t\t\t\tif b2 == 0 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tb1 = b2\n\t\t\t\t\tif z[i4] > z[i4-2] {\n\t\t\t\t\t\treturn tau, ttype, g\n\t\t\t\t\t}\n\t\t\t\t\tb2 *= z[i4] / z[i4-2]\n\t\t\t\t\ta2 += b2\n\t\t\t\t\tif 100*math.Max(b2, b1) < a2 || cnst1 < a2 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ta2 *= cnst3\n\t\t\t}\n\t\t\tif a2 < cnst1 {\n\t\t\t\ts = gam * (1 - math.Sqrt(a2)) / (1 + a2)\n\t\t\t}\n\t\t} else {\n\t\t\t// Case 6, no information to guide us.\n\t\t\tif ttype == -6 {\n\t\t\t\tg += cnstthird * (1 - g)\n\t\t\t} else if ttype == -18 {\n\t\t\t\tg = cnstthird / 4\n\t\t\t} else {\n\t\t\t\tg = 1.0 / 4\n\t\t\t}\n\t\t\ts = g * dmin\n\t\t\tttype = -6\n\t\t}\n\t} else if n0in == (n0 + 1) {\n\t\t// One eigenvalue just deflated. Use DMIN1, DN1 for DMIN and DN.\n\t\tif dmin1 == dn1 && dmin2 == dn2 {\n\t\t\tttype = -7\n\t\t\ts = cnstthird * dmin1\n\t\t\tif z[nn-5] > z[nn-7] {\n\t\t\t\treturn tau, ttype, g\n\t\t\t}\n\t\t\tb1 := z[nn-5] / z[nn-7]\n\t\t\tb2 := b1\n\t\t\tif b2 != 0 {\n\t\t\t\tfor i4loop := 4*(n0+1) - 9 + pp; i4loop >= 4*(i0+1)-1+pp; i4loop -= 4 {\n\t\t\t\t\ti4 := i4loop - 1\n\t\t\t\t\ta2 := b1\n\t\t\t\t\tif z[i4] > z[i4-2] {\n\t\t\t\t\t\treturn tau, ttype, g\n\t\t\t\t\t}\n\t\t\t\t\tb1 *= z[i4] / z[i4-2]\n\t\t\t\t\tb2 += b1\n\t\t\t\t\tif 100*math.Max(b1, a2) < b2 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tb2 = math.Sqrt(cnst3 * b2)\n\t\t\ta2 := dmin1 / (1 + b2*b2)\n\t\t\tgap2 := 0.5*dmin2 - a2\n\t\t\tif gap2 > 0 && gap2 > b2*a2 {\n\t\t\t\ts = math.Max(s, a2*(1-cnst2*a2*(b2/gap2)*b2))\n\t\t\t} else {\n\t\t\t\ts = math.Max(s, a2*(1-cnst2*b2))\n\t\t\t\tttype = -8\n\t\t\t}\n\t\t} else {\n\t\t\ts = dmin1 / 4\n\t\t\tif dmin1 == dn1 {\n\t\t\t\ts = 0.5 * dmin1\n\t\t\t}\n\t\t\tttype = -9\n\t\t}\n\t} else if n0in == (n0 + 2) {\n\t\t// Two eigenvalues deflated. Use DMIN2, DN2 for DMIN and DN.\n\t\tif dmin2 == dn2 && 2*z[nn-5] < z[nn-7] {\n\t\t\tttype = -10\n\t\t\ts = cnstthird * dmin2\n\t\t\tif z[nn-5] > z[nn-7] {\n\t\t\t\treturn tau, ttype, g\n\t\t\t}\n\t\t\tb1 := z[nn-5] / z[nn-7]\n\t\t\tb2 := b1\n\t\t\tif b2 != 0 {\n\t\t\t\tfor i4loop := 4*(n0+1) - 9 + pp; i4loop >= 4*(i0+1)-1+pp; i4loop -= 4 {\n\t\t\t\t\ti4 := i4loop - 1\n\t\t\t\t\tif z[i4] > z[i4-2] {\n\t\t\t\t\t\treturn tau, ttype, g\n\t\t\t\t\t}\n\t\t\t\t\tb1 *= z[i4] / z[i4-2]\n\t\t\t\t\tb2 += b1\n\t\t\t\t\tif 100*b1 < b2 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tb2 = math.Sqrt(cnst3 * b2)\n\t\t\ta2 := dmin2 / (1 + b2*b2)\n\t\t\tgap2 := z[nn-7] + z[nn-9] - math.Sqrt(z[nn-11])*math.Sqrt(z[nn-9]) - a2\n\t\t\tif gap2 > 0 && gap2 > b2*a2 {\n\t\t\t\ts = math.Max(s, a2*(1-cnst2*a2*(b2/gap2)*b2))\n\t\t\t} else {\n\t\t\t\ts = math.Max(s, a2*(1-cnst2*b2))\n\t\t\t}\n\t\t} else {\n\t\t\ts = dmin2 / 4\n\t\t\tttype = -11\n\t\t}\n\t} else if n0in > n0+2 {\n\t\t// Case 12, more than two eigenvalues deflated. No information.\n\t\ts = 0\n\t\tttype = -12\n\t}\n\ttau = s\n\treturn tau, ttype, g\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlasq5.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlasq5 computes one dqds transform in ping-pong form.\n// i0 and n0 are zero-indexed.\n//\n// Dlasq5 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlasq5(i0, n0 int, z []float64, pp int, tau, sigma float64) (i0Out, n0Out, ppOut int, tauOut, sigmaOut, dmin, dmin1, dmin2, dn, dnm1, dnm2 float64) {\n\t// The lapack function has inputs for ieee and eps, but Go requires ieee so\n\t// these are unnecessary.\n\tif n0-i0-1 <= 0 {\n\t\treturn i0, n0, pp, tau, sigma, dmin, dmin1, dmin2, dn, dnm1, dnm2\n\t}\n\teps := dlamchP\n\tdthresh := eps * (sigma + tau)\n\tif tau < dthresh*0.5 {\n\t\ttau = 0\n\t}\n\tvar j4 int\n\tvar emin float64\n\tif tau != 0 {\n\t\tj4 = 4*i0 + pp\n\t\temin = z[j4+4]\n\t\td := z[j4] - tau\n\t\tdmin = d\n\t\t// In the reference there are code paths that actually return this value.\n\t\t// dmin1 = -z[j4]\n\t\tif pp == 0 {\n\t\t\tfor j4loop := 4 * (i0 + 1); j4loop <= 4*((n0+1)-3); j4loop += 4 {\n\t\t\t\tj4 := j4loop - 1\n\t\t\t\tz[j4-2] = d + z[j4-1]\n\t\t\t\ttmp := z[j4+1] / z[j4-2]\n\t\t\t\td = d*tmp - tau\n\t\t\t\tdmin = math.Min(dmin, d)\n\t\t\t\tz[j4] = z[j4-1] * tmp\n\t\t\t\temin = math.Min(z[j4], emin)\n\t\t\t}\n\t\t} else {\n\t\t\tfor j4loop := 4 * (i0 + 1); j4loop <= 4*((n0+1)-3); j4loop += 4 {\n\t\t\t\tj4 := j4loop - 1\n\t\t\t\tz[j4-3] = d + z[j4]\n\t\t\t\ttmp := z[j4+2] / z[j4-3]\n\t\t\t\td = d*tmp - tau\n\t\t\t\tdmin = math.Min(dmin, d)\n\t\t\t\tz[j4-1] = z[j4] * tmp\n\t\t\t\temin = math.Min(z[j4-1], emin)\n\t\t\t}\n\t\t}\n\t\t// Unroll the last two steps.\n\t\tdnm2 = d\n\t\tdmin2 = dmin\n\t\tj4 = 4*((n0+1)-2) - pp - 1\n\t\tj4p2 := j4 + 2*pp - 1\n\t\tz[j4-2] = dnm2 + z[j4p2]\n\t\tz[j4] = z[j4p2+2] * (z[j4p2] / z[j4-2])\n\t\tdnm1 = z[j4p2+2]*(dnm2/z[j4-2]) - tau\n\t\tdmin = math.Min(dmin, dnm1)\n\n\t\tdmin1 = dmin\n\t\tj4 += 4\n\t\tj4p2 = j4 + 2*pp - 1\n\t\tz[j4-2] = dnm1 + z[j4p2]\n\t\tz[j4] = z[j4p2+2] * (z[j4p2] / z[j4-2])\n\t\tdn = z[j4p2+2]*(dnm1/z[j4-2]) - tau\n\t\tdmin = math.Min(dmin, dn)\n\t} else {\n\t\t// This is the version that sets d's to zero if they are small enough.\n\t\tj4 = 4*(i0+1) + pp - 4\n\t\temin = z[j4+4]\n\t\td := z[j4] - tau\n\t\tdmin = d\n\t\t// In the reference there are code paths that actually return this value.\n\t\t// dmin1 = -z[j4]\n\t\tif pp == 0 {\n\t\t\tfor j4loop := 4 * (i0 + 1); j4loop <= 4*((n0+1)-3); j4loop += 4 {\n\t\t\t\tj4 := j4loop - 1\n\t\t\t\tz[j4-2] = d + z[j4-1]\n\t\t\t\ttmp := z[j4+1] / z[j4-2]\n\t\t\t\td = d*tmp - tau\n\t\t\t\tif d < dthresh {\n\t\t\t\t\td = 0\n\t\t\t\t}\n\t\t\t\tdmin = math.Min(dmin, d)\n\t\t\t\tz[j4] = z[j4-1] * tmp\n\t\t\t\temin = math.Min(z[j4], emin)\n\t\t\t}\n\t\t} else {\n\t\t\tfor j4loop := 4 * (i0 + 1); j4loop <= 4*((n0+1)-3); j4loop += 4 {\n\t\t\t\tj4 := j4loop - 1\n\t\t\t\tz[j4-3] = d + z[j4]\n\t\t\t\ttmp := z[j4+2] / z[j4-3]\n\t\t\t\td = d*tmp - tau\n\t\t\t\tif d < dthresh {\n\t\t\t\t\td = 0\n\t\t\t\t}\n\t\t\t\tdmin = math.Min(dmin, d)\n\t\t\t\tz[j4-1] = z[j4] * tmp\n\t\t\t\temin = math.Min(z[j4-1], emin)\n\t\t\t}\n\t\t}\n\t\t// Unroll the last two steps.\n\t\tdnm2 = d\n\t\tdmin2 = dmin\n\t\tj4 = 4*((n0+1)-2) - pp - 1\n\t\tj4p2 := j4 + 2*pp - 1\n\t\tz[j4-2] = dnm2 + z[j4p2]\n\t\tz[j4] = z[j4p2+2] * (z[j4p2] / z[j4-2])\n\t\tdnm1 = z[j4p2+2]*(dnm2/z[j4-2]) - tau\n\t\tdmin = math.Min(dmin, dnm1)\n\n\t\tdmin1 = dmin\n\t\tj4 += 4\n\t\tj4p2 = j4 + 2*pp - 1\n\t\tz[j4-2] = dnm1 + z[j4p2]\n\t\tz[j4] = z[j4p2+2] * (z[j4p2] / z[j4-2])\n\t\tdn = z[j4p2+2]*(dnm1/z[j4-2]) - tau\n\t\tdmin = math.Min(dmin, dn)\n\t}\n\tz[j4+2] = dn\n\tz[4*(n0+1)-pp-1] = emin\n\treturn i0, n0, pp, tau, sigma, dmin, dmin1, dmin2, dn, dnm1, dnm2\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlasq6.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlasq6 computes one dqd transform in ping-pong form with protection against\n// overflow and underflow. z has length at least 4*(n0+1) and holds the qd array.\n// i0 is the zero-based first index.\n// n0 is the zero-based last index.\n//\n// Dlasq6 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlasq6(i0, n0 int, z []float64, pp int) (dmin, dmin1, dmin2, dn, dnm1, dnm2 float64) {\n\tif len(z) < 4*(n0+1) {\n\t\tpanic(badZ)\n\t}\n\tif n0-i0-1 <= 0 {\n\t\treturn dmin, dmin1, dmin2, dn, dnm1, dnm2\n\t}\n\tsafmin := dlamchS\n\tj4 := 4*(i0+1) + pp - 4 // -4 rather than -3 for zero indexing\n\temin := z[j4+4]\n\td := z[j4]\n\tdmin = d\n\tif pp == 0 {\n\t\tfor j4loop := 4 * (i0 + 1); j4loop <= 4*((n0+1)-3); j4loop += 4 {\n\t\t\tj4 := j4loop - 1 // Translate back to zero-indexed.\n\t\t\tz[j4-2] = d + z[j4-1]\n\t\t\tif z[j4-2] == 0 {\n\t\t\t\tz[j4] = 0\n\t\t\t\td = z[j4+1]\n\t\t\t\tdmin = d\n\t\t\t\temin = 0\n\t\t\t} else if safmin*z[j4+1] < z[j4-2] && safmin*z[j4-2] < z[j4+1] {\n\t\t\t\ttmp := z[j4+1] / z[j4-2]\n\t\t\t\tz[j4] = z[j4-1] * tmp\n\t\t\t\td *= tmp\n\t\t\t} else {\n\t\t\t\tz[j4] = z[j4+1] * (z[j4-1] / z[j4-2])\n\t\t\t\td = z[j4+1] * (d / z[j4-2])\n\t\t\t}\n\t\t\tdmin = math.Min(dmin, d)\n\t\t\temin = math.Min(emin, z[j4])\n\t\t}\n\t} else {\n\t\tfor j4loop := 4 * (i0 + 1); j4loop <= 4*((n0+1)-3); j4loop += 4 {\n\t\t\tj4 := j4loop - 1\n\t\t\tz[j4-3] = d + z[j4]\n\t\t\tif z[j4-3] == 0 {\n\t\t\t\tz[j4-1] = 0\n\t\t\t\td = z[j4+2]\n\t\t\t\tdmin = d\n\t\t\t\temin = 0\n\t\t\t} else if safmin*z[j4+2] < z[j4-3] && safmin*z[j4-3] < z[j4+2] {\n\t\t\t\ttmp := z[j4+2] / z[j4-3]\n\t\t\t\tz[j4-1] = z[j4] * tmp\n\t\t\t\td *= tmp\n\t\t\t} else {\n\t\t\t\tz[j4-1] = z[j4+2] * (z[j4] / z[j4-3])\n\t\t\t\td = z[j4+2] * (d / z[j4-3])\n\t\t\t}\n\t\t\tdmin = math.Min(dmin, d)\n\t\t\temin = math.Min(emin, z[j4-1])\n\t\t}\n\t}\n\t// Unroll last two steps.\n\tdnm2 = d\n\tdmin2 = dmin\n\tj4 = 4*(n0-1) - pp - 1\n\tj4p2 := j4 + 2*pp - 1\n\tz[j4-2] = dnm2 + z[j4p2]\n\tif z[j4-2] == 0 {\n\t\tz[j4] = 0\n\t\tdnm1 = z[j4p2+2]\n\t\tdmin = dnm1\n\t\temin = 0\n\t} else if safmin*z[j4p2+2] < z[j4-2] && safmin*z[j4-2] < z[j4p2+2] {\n\t\ttmp := z[j4p2+2] / z[j4-2]\n\t\tz[j4] = z[j4p2] * tmp\n\t\tdnm1 = dnm2 * tmp\n\t} else {\n\t\tz[j4] = z[j4p2+2] * (z[j4p2] / z[j4-2])\n\t\tdnm1 = z[j4p2+2] * (dnm2 / z[j4-2])\n\t}\n\tdmin = math.Min(dmin, dnm1)\n\tdmin1 = dmin\n\tj4 += 4\n\tj4p2 = j4 + 2*pp - 1\n\tz[j4-2] = dnm1 + z[j4p2]\n\tif z[j4-2] == 0 {\n\t\tz[j4] = 0\n\t\tdn = z[j4p2+2]\n\t\tdmin = dn\n\t\temin = 0\n\t} else if safmin*z[j4p2+2] < z[j4-2] && safmin*z[j4-2] < z[j4p2+2] {\n\t\ttmp := z[j4p2+2] / z[j4-2]\n\t\tz[j4] = z[j4p2] * tmp\n\t\tdn = dnm1 * tmp\n\t} else {\n\t\tz[j4] = z[j4p2+2] * (z[j4p2] / z[j4-2])\n\t\tdn = z[j4p2+2] * (dnm1 / z[j4-2])\n\t}\n\tdmin = math.Min(dmin, dn)\n\tz[j4+2] = dn\n\tz[4*(n0+1)-pp-1] = emin\n\treturn dmin, dmin1, dmin2, dn, dnm1, dnm2\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlasr.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlasr applies a sequence of plane rotations to the m×n matrix A. This series\n// of plane rotations is implicitly represented by a matrix P. P is multiplied\n// by a depending on the value of side -- A = P * A if side == lapack.Left,\n// A = A * P^T if side == lapack.Right.\n//\n//The exact value of P depends on the value of pivot, but in all cases P is\n// implicitly represented by a series of 2×2 rotation matrices. The entries of\n// rotation matrix k are defined by s[k] and c[k]\n//  R(k) = [ c[k] s[k]]\n//         [-s[k] s[k]]\n// If direct == lapack.Forward, the rotation matrices are applied as\n// P = P(z-1) * ... * P(2) * P(1), while if direct == lapack.Backward they are\n// applied as P = P(1) * P(2) * ... * P(n).\n//\n// pivot defines the mapping of the elements in R(k) to P(k).\n// If pivot == lapack.Variable, the rotation is performed for the (k, k+1) plane.\n//  P(k) = [1                    ]\n//         [    ...              ]\n//         [     1               ]\n//         [       c[k] s[k]     ]\n//         [      -s[k] c[k]     ]\n//         [                 1   ]\n//         [                ...  ]\n//         [                    1]\n// if pivot == lapack.Top, the rotation is performed for the (1, k+1) plane,\n//  P(k) = [c[k]        s[k]     ]\n//         [    1                ]\n//         [     ...             ]\n//         [         1           ]\n//         [-s[k]       c[k]     ]\n//         [                 1   ]\n//         [                ...  ]\n//         [                    1]\n// and if pivot == lapack.Bottom, the rotation is performed for the (k, z) plane.\n//  P(k) = [1                    ]\n//         [  ...                ]\n//         [      1              ]\n//         [        c[k]     s[k]]\n//         [           1         ]\n//         [            ...      ]\n//         [              1      ]\n//         [       -s[k]     c[k]]\n// s and c have length m - 1 if side == blas.Left, and n - 1 if side == blas.Right.\n//\n// Dlasr is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlasr(side blas.Side, pivot lapack.Pivot, direct lapack.Direct, m, n int, c, s, a []float64, lda int) {\n\tcheckMatrix(m, n, a, lda)\n\tif side != blas.Left && side != blas.Right {\n\t\tpanic(badSide)\n\t}\n\tif pivot != lapack.Variable && pivot != lapack.Top && pivot != lapack.Bottom {\n\t\tpanic(badPivot)\n\t}\n\tif direct != lapack.Forward && direct != lapack.Backward {\n\t\tpanic(badDirect)\n\t}\n\tif side == blas.Left {\n\t\tif len(c) < m-1 {\n\t\t\tpanic(badSlice)\n\t\t}\n\t\tif len(s) < m-1 {\n\t\t\tpanic(badSlice)\n\t\t}\n\t} else {\n\t\tif len(c) < n-1 {\n\t\t\tpanic(badSlice)\n\t\t}\n\t\tif len(s) < n-1 {\n\t\t\tpanic(badSlice)\n\t\t}\n\t}\n\tif m == 0 || n == 0 {\n\t\treturn\n\t}\n\tif side == blas.Left {\n\t\tif pivot == lapack.Variable {\n\t\t\tif direct == lapack.Forward {\n\t\t\t\tfor j := 0; j < m-1; j++ {\n\t\t\t\t\tctmp := c[j]\n\t\t\t\t\tstmp := s[j]\n\t\t\t\t\tif ctmp != 1 || stmp != 0 {\n\t\t\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\t\t\ttmp2 := a[j*lda+i]\n\t\t\t\t\t\t\ttmp := a[(j+1)*lda+i]\n\t\t\t\t\t\t\ta[(j+1)*lda+i] = ctmp*tmp - stmp*tmp2\n\t\t\t\t\t\t\ta[j*lda+i] = stmp*tmp + ctmp*tmp2\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor j := m - 2; j >= 0; j-- {\n\t\t\t\tctmp := c[j]\n\t\t\t\tstmp := s[j]\n\t\t\t\tif ctmp != 1 || stmp != 0 {\n\t\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\t\ttmp2 := a[j*lda+i]\n\t\t\t\t\t\ttmp := a[(j+1)*lda+i]\n\t\t\t\t\t\ta[(j+1)*lda+i] = ctmp*tmp - stmp*tmp2\n\t\t\t\t\t\ta[j*lda+i] = stmp*tmp + ctmp*tmp2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t} else if pivot == lapack.Top {\n\t\t\tif direct == lapack.Forward {\n\t\t\t\tfor j := 1; j < m; j++ {\n\t\t\t\t\tctmp := c[j-1]\n\t\t\t\t\tstmp := s[j-1]\n\t\t\t\t\tif ctmp != 1 || stmp != 0 {\n\t\t\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\t\t\ttmp := a[j*lda+i]\n\t\t\t\t\t\t\ttmp2 := a[i]\n\t\t\t\t\t\t\ta[j*lda+i] = ctmp*tmp - stmp*tmp2\n\t\t\t\t\t\t\ta[i] = stmp*tmp + ctmp*tmp2\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor j := m - 1; j >= 1; j-- {\n\t\t\t\tctmp := c[j-1]\n\t\t\t\tstmp := s[j-1]\n\t\t\t\tif ctmp != 1 || stmp != 0 {\n\t\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\t\tctmp := c[j-1]\n\t\t\t\t\t\tstmp := s[j-1]\n\t\t\t\t\t\tif ctmp != 1 || stmp != 0 {\n\t\t\t\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\t\t\t\ttmp := a[j*lda+i]\n\t\t\t\t\t\t\t\ttmp2 := a[i]\n\t\t\t\t\t\t\t\ta[j*lda+i] = ctmp*tmp - stmp*tmp2\n\t\t\t\t\t\t\t\ta[i] = stmp*tmp + ctmp*tmp2\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\n\t\t}\n\t\tif direct == lapack.Forward {\n\t\t\tfor j := 0; j < m-1; j++ {\n\t\t\t\tctmp := c[j]\n\t\t\t\tstmp := s[j]\n\t\t\t\tif ctmp != 1 || stmp != 0 {\n\t\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\t\ttmp := a[j*lda+i]\n\t\t\t\t\t\ttmp2 := a[(m-1)*lda+i]\n\t\t\t\t\t\ta[j*lda+i] = stmp*tmp2 + ctmp*tmp\n\t\t\t\t\t\ta[(m-1)*lda+i] = ctmp*tmp2 - stmp*tmp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor j := m - 2; j >= 0; j-- {\n\t\t\tctmp := c[j]\n\t\t\tstmp := s[j]\n\t\t\tif ctmp != 1 || stmp != 0 {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\ttmp := a[j*lda+i]\n\t\t\t\t\ttmp2 := a[(m-1)*lda+i]\n\t\t\t\t\ta[j*lda+i] = stmp*tmp2 + ctmp*tmp\n\t\t\t\t\ta[(m-1)*lda+i] = ctmp*tmp2 - stmp*tmp\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tif pivot == lapack.Variable {\n\t\tif direct == lapack.Forward {\n\t\t\tfor j := 0; j < n-1; j++ {\n\t\t\t\tctmp := c[j]\n\t\t\t\tstmp := s[j]\n\t\t\t\tif ctmp != 1 || stmp != 0 {\n\t\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\t\ttmp := a[i*lda+j+1]\n\t\t\t\t\t\ttmp2 := a[i*lda+j]\n\t\t\t\t\t\ta[i*lda+j+1] = ctmp*tmp - stmp*tmp2\n\t\t\t\t\t\ta[i*lda+j] = stmp*tmp + ctmp*tmp2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor j := n - 2; j >= 0; j-- {\n\t\t\tctmp := c[j]\n\t\t\tstmp := s[j]\n\t\t\tif ctmp != 1 || stmp != 0 {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\ttmp := a[i*lda+j+1]\n\t\t\t\t\ttmp2 := a[i*lda+j]\n\t\t\t\t\ta[i*lda+j+1] = ctmp*tmp - stmp*tmp2\n\t\t\t\t\ta[i*lda+j] = stmp*tmp + ctmp*tmp2\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t} else if pivot == lapack.Top {\n\t\tif direct == lapack.Forward {\n\t\t\tfor j := 1; j < n; j++ {\n\t\t\t\tctmp := c[j-1]\n\t\t\t\tstmp := s[j-1]\n\t\t\t\tif ctmp != 1 || stmp != 0 {\n\t\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\t\ttmp := a[i*lda+j]\n\t\t\t\t\t\ttmp2 := a[i*lda]\n\t\t\t\t\t\ta[i*lda+j] = ctmp*tmp - stmp*tmp2\n\t\t\t\t\t\ta[i*lda] = stmp*tmp + ctmp*tmp2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor j := n - 1; j >= 1; j-- {\n\t\t\tctmp := c[j-1]\n\t\t\tstmp := s[j-1]\n\t\t\tif ctmp != 1 || stmp != 0 {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\ttmp := a[i*lda+j]\n\t\t\t\t\ttmp2 := a[i*lda]\n\t\t\t\t\ta[i*lda+j] = ctmp*tmp - stmp*tmp2\n\t\t\t\t\ta[i*lda] = stmp*tmp + ctmp*tmp2\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tif direct == lapack.Forward {\n\t\tfor j := 0; j < n-1; j++ {\n\t\t\tctmp := c[j]\n\t\t\tstmp := s[j]\n\t\t\tif ctmp != 1 || stmp != 0 {\n\t\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\t\ttmp := a[i*lda+j]\n\t\t\t\t\ttmp2 := a[i*lda+n-1]\n\t\t\t\t\ta[i*lda+j] = stmp*tmp2 + ctmp*tmp\n\t\t\t\t\ta[i*lda+n-1] = ctmp*tmp2 - stmp*tmp\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor j := n - 2; j >= 0; j-- {\n\t\tctmp := c[j]\n\t\tstmp := s[j]\n\t\tif ctmp != 1 || stmp != 0 {\n\t\t\tfor i := 0; i < m; i++ {\n\t\t\t\ttmp := a[i*lda+j]\n\t\t\t\ttmp2 := a[i*lda+n-1]\n\t\t\t\ta[i*lda+j] = stmp*tmp2 + ctmp*tmp\n\t\t\t\ta[i*lda+n-1] = ctmp*tmp2 - stmp*tmp\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlasrt.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"sort\"\n\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dlasrt sorts the numbers in the input slice d. If s == lapack.SortIncreasing,\n// the elements are sorted in increasing order. If s == lapack.SortDecreasing,\n// the elements are sorted in decreasing order. For other values of s Dlasrt\n// will panic.\n//\n// Dlasrt is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlasrt(s lapack.Sort, n int, d []float64) {\n\tcheckVector(n, d, 1)\n\td = d[:n]\n\tswitch s {\n\tdefault:\n\t\tpanic(badSort)\n\tcase lapack.SortIncreasing:\n\t\tsort.Float64s(d)\n\tcase lapack.SortDecreasing:\n\t\tsort.Sort(sort.Reverse(sort.Float64Slice(d)))\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlassq.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlassq updates a sum of squares in scaled form. The input parameters scale and\n// sumsq represent the current scale and total sum of squares. These values are\n// updated with the information in the first n elements of the vector specified\n// by x and incX.\n//\n// Dlassq is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlassq(n int, x []float64, incx int, scale float64, sumsq float64) (scl, smsq float64) {\n\tif n <= 0 {\n\t\treturn scale, sumsq\n\t}\n\tfor ix := 0; ix <= (n-1)*incx; ix += incx {\n\t\tabsxi := math.Abs(x[ix])\n\t\tif absxi > 0 || math.IsNaN(absxi) {\n\t\t\tif scale < absxi {\n\t\t\t\tsumsq = 1 + sumsq*(scale/absxi)*(scale/absxi)\n\t\t\t\tscale = absxi\n\t\t\t} else {\n\t\t\t\tsumsq += (absxi / scale) * (absxi / scale)\n\t\t\t}\n\t\t}\n\t}\n\treturn scale, sumsq\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlasv2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Dlasv2 computes the singular value decomposition of a 2×2 matrix.\n//  [ csl snl] [f g] [csr -snr] = [ssmax     0]\n//  [-snl csl] [0 h] [snr  csr] = [    0 ssmin]\n// ssmax is the larger absolute singular value, and ssmin is the smaller absolute\n// singular value. [cls, snl] and [csr, snr] are the left and right singular vectors.\n//\n// Dlasv2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlasv2(f, g, h float64) (ssmin, ssmax, snr, csr, snl, csl float64) {\n\tft := f\n\tfa := math.Abs(ft)\n\tht := h\n\tha := math.Abs(h)\n\t// pmax points to the largest element of the matrix in terms of absolute value.\n\t// 1 if F, 2 if G, 3 if H.\n\tpmax := 1\n\tswap := ha > fa\n\tif swap {\n\t\tpmax = 3\n\t\tft, ht = ht, ft\n\t\tfa, ha = ha, fa\n\t}\n\tgt := g\n\tga := math.Abs(gt)\n\tvar clt, crt, slt, srt float64\n\tif ga == 0 {\n\t\tssmin = ha\n\t\tssmax = fa\n\t\tclt = 1\n\t\tcrt = 1\n\t\tslt = 0\n\t\tsrt = 0\n\t} else {\n\t\tgasmall := true\n\t\tif ga > fa {\n\t\t\tpmax = 2\n\t\t\tif (fa / ga) < dlamchE {\n\t\t\t\tgasmall = false\n\t\t\t\tssmax = ga\n\t\t\t\tif ha > 1 {\n\t\t\t\t\tssmin = fa / (ga / ha)\n\t\t\t\t} else {\n\t\t\t\t\tssmin = (fa / ga) * ha\n\t\t\t\t}\n\t\t\t\tclt = 1\n\t\t\t\tslt = ht / gt\n\t\t\t\tsrt = 1\n\t\t\t\tcrt = ft / gt\n\t\t\t}\n\t\t}\n\t\tif gasmall {\n\t\t\td := fa - ha\n\t\t\tl := d / fa\n\t\t\tif d == fa { // deal with inf\n\t\t\t\tl = 1\n\t\t\t}\n\t\t\tm := gt / ft\n\t\t\tt := 2 - l\n\t\t\ts := math.Hypot(t, m)\n\t\t\tvar r float64\n\t\t\tif l == 0 {\n\t\t\t\tr = math.Abs(m)\n\t\t\t} else {\n\t\t\t\tr = math.Hypot(l, m)\n\t\t\t}\n\t\t\ta := 0.5 * (s + r)\n\t\t\tssmin = ha / a\n\t\t\tssmax = fa * a\n\t\t\tif m == 0 {\n\t\t\t\tif l == 0 {\n\t\t\t\t\tt = math.Copysign(2, ft) * math.Copysign(1, gt)\n\t\t\t\t} else {\n\t\t\t\t\tt = gt/math.Copysign(d, ft) + m/t\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tt = (m/(s+t) + m/(r+l)) * (1 + a)\n\t\t\t}\n\t\t\tl = math.Hypot(t, 2)\n\t\t\tcrt = 2 / l\n\t\t\tsrt = t / l\n\t\t\tclt = (crt + srt*m) / a\n\t\t\tslt = (ht / ft) * srt / a\n\t\t}\n\t}\n\tif swap {\n\t\tcsl = srt\n\t\tsnl = crt\n\t\tcsr = slt\n\t\tsnr = clt\n\t} else {\n\t\tcsl = clt\n\t\tsnl = slt\n\t\tcsr = crt\n\t\tsnr = srt\n\t}\n\tvar tsign float64\n\tswitch pmax {\n\tcase 1:\n\t\ttsign = math.Copysign(1, csr) * math.Copysign(1, csl) * math.Copysign(1, f)\n\tcase 2:\n\t\ttsign = math.Copysign(1, snr) * math.Copysign(1, csl) * math.Copysign(1, g)\n\tcase 3:\n\t\ttsign = math.Copysign(1, snr) * math.Copysign(1, snl) * math.Copysign(1, h)\n\t}\n\tssmax = math.Copysign(ssmax, tsign)\n\tssmin = math.Copysign(ssmin, tsign*math.Copysign(1, f)*math.Copysign(1, h))\n\treturn ssmin, ssmax, snr, csr, snl, csl\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlaswp.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas/blas64\"\n\n// Dlaswp swaps the rows k1 to k2 of a rectangular matrix A according to the\n// indices in ipiv so that row k is swapped with ipiv[k].\n//\n// n is the number of columns of A and incX is the increment for ipiv. If incX\n// is 1, the swaps are applied from k1 to k2. If incX is -1, the swaps are\n// applied in reverse order from k2 to k1. For other values of incX Dlaswp will\n// panic. ipiv must have length k2+1, otherwise Dlaswp will panic.\n//\n// The indices k1, k2, and the elements of ipiv are zero-based.\n//\n// Dlaswp is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlaswp(n int, a []float64, lda int, k1, k2 int, ipiv []int, incX int) {\n\tswitch {\n\tcase n < 0:\n\t\tpanic(nLT0)\n\tcase k2 < 0:\n\t\tpanic(badK2)\n\tcase k1 < 0 || k2 < k1:\n\t\tpanic(badK1)\n\tcase len(ipiv) != k2+1:\n\t\tpanic(badIpiv)\n\tcase incX != 1 && incX != -1:\n\t\tpanic(absIncNotOne)\n\t}\n\n\tif n == 0 {\n\t\treturn\n\t}\n\tbi := blas64.Implementation()\n\tif incX == 1 {\n\t\tfor k := k1; k <= k2; k++ {\n\t\t\tbi.Dswap(n, a[k*lda:], 1, a[ipiv[k]*lda:], 1)\n\t\t}\n\t\treturn\n\t}\n\tfor k := k2; k >= k1; k-- {\n\t\tbi.Dswap(n, a[k*lda:], 1, a[ipiv[k]*lda:], 1)\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlasy2.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dlasy2 solves the Sylvester matrix equation where the matrices are of order 1\n// or 2. It computes the unknown n1×n2 matrix X so that\n//  TL*X   + sgn*X*TR   = scale*B,  if tranl == false and tranr == false,\n//  TL^T*X + sgn*X*TR   = scale*B,  if tranl == true  and tranr == false,\n//  TL*X   + sgn*X*TR^T = scale*B,  if tranl == false and tranr == true,\n//  TL^T*X + sgn*X*TR^T = scale*B,  if tranl == true  and tranr == true,\n// where TL is n1×n1, TR is n2×n2, B is n1×n2, and 1 <= n1,n2 <= 2.\n//\n// isgn must be 1 or -1, and n1 and n2 must be 0, 1, or 2, but these conditions\n// are not checked.\n//\n// Dlasy2 returns three values, a scale factor that is chosen less than or equal\n// to 1 to prevent the solution overflowing, the infinity norm of the solution,\n// and an indicator of success. If ok is false, TL and TR have eigenvalues that\n// are too close, so TL or TR is perturbed to get a non-singular equation.\n//\n// Dlasy2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlasy2(tranl, tranr bool, isgn, n1, n2 int, tl []float64, ldtl int, tr []float64, ldtr int, b []float64, ldb int, x []float64, ldx int) (scale, xnorm float64, ok bool) {\n\t// TODO(vladimir-ch): Add input validation checks conditionally skipped\n\t// using the build tag mechanism.\n\n\tok = true\n\t// Quick return if possible.\n\tif n1 == 0 || n2 == 0 {\n\t\treturn scale, xnorm, ok\n\t}\n\n\t// Set constants to control overflow.\n\teps := dlamchP\n\tsmlnum := dlamchS / eps\n\tsgn := float64(isgn)\n\n\tif n1 == 1 && n2 == 1 {\n\t\t// 1×1 case: TL11*X + sgn*X*TR11 = B11.\n\t\ttau1 := tl[0] + sgn*tr[0]\n\t\tbet := math.Abs(tau1)\n\t\tif bet <= smlnum {\n\t\t\ttau1 = smlnum\n\t\t\tbet = smlnum\n\t\t\tok = false\n\t\t}\n\t\tscale = 1\n\t\tgam := math.Abs(b[0])\n\t\tif smlnum*gam > bet {\n\t\t\tscale = 1 / gam\n\t\t}\n\t\tx[0] = b[0] * scale / tau1\n\t\txnorm = math.Abs(x[0])\n\t\treturn scale, xnorm, ok\n\t}\n\n\tif n1+n2 == 3 {\n\t\t// 1×2 or 2×1 case.\n\t\tvar (\n\t\t\tsmin float64\n\t\t\ttmp  [4]float64 // tmp is used as a 2×2 row-major matrix.\n\t\t\tbtmp [2]float64\n\t\t)\n\t\tif n1 == 1 && n2 == 2 {\n\t\t\t// 1×2 case: TL11*[X11 X12] + sgn*[X11 X12]*op[TR11 TR12] = [B11 B12].\n\t\t\t//                                            [TR21 TR22]\n\t\t\tsmin = math.Abs(tl[0])\n\t\t\tsmin = math.Max(smin, math.Max(math.Abs(tr[0]), math.Abs(tr[1])))\n\t\t\tsmin = math.Max(smin, math.Max(math.Abs(tr[ldtr]), math.Abs(tr[ldtr+1])))\n\t\t\tsmin = math.Max(eps*smin, smlnum)\n\t\t\ttmp[0] = tl[0] + sgn*tr[0]\n\t\t\ttmp[3] = tl[0] + sgn*tr[ldtr+1]\n\t\t\tif tranr {\n\t\t\t\ttmp[1] = sgn * tr[1]\n\t\t\t\ttmp[2] = sgn * tr[ldtr]\n\t\t\t} else {\n\t\t\t\ttmp[1] = sgn * tr[ldtr]\n\t\t\t\ttmp[2] = sgn * tr[1]\n\t\t\t}\n\t\t\tbtmp[0] = b[0]\n\t\t\tbtmp[1] = b[1]\n\t\t} else {\n\t\t\t// 2×1 case: op[TL11 TL12]*[X11] + sgn*[X11]*TR11 = [B11].\n\t\t\t//             [TL21 TL22]*[X21]       [X21]        [B21]\n\t\t\tsmin = math.Abs(tr[0])\n\t\t\tsmin = math.Max(smin, math.Max(math.Abs(tl[0]), math.Abs(tl[1])))\n\t\t\tsmin = math.Max(smin, math.Max(math.Abs(tl[ldtl]), math.Abs(tl[ldtl+1])))\n\t\t\tsmin = math.Max(eps*smin, smlnum)\n\t\t\ttmp[0] = tl[0] + sgn*tr[0]\n\t\t\ttmp[3] = tl[ldtl+1] + sgn*tr[0]\n\t\t\tif tranl {\n\t\t\t\ttmp[1] = tl[ldtl]\n\t\t\t\ttmp[2] = tl[1]\n\t\t\t} else {\n\t\t\t\ttmp[1] = tl[1]\n\t\t\t\ttmp[2] = tl[ldtl]\n\t\t\t}\n\t\t\tbtmp[0] = b[0]\n\t\t\tbtmp[1] = b[ldb]\n\t\t}\n\n\t\t// Solve 2×2 system using complete pivoting.\n\t\t// Set pivots less than smin to smin.\n\n\t\tbi := blas64.Implementation()\n\t\tipiv := bi.Idamax(len(tmp), tmp[:], 1)\n\t\t// Compute the upper triangular matrix [u11 u12].\n\t\t//                                     [  0 u22]\n\t\tu11 := tmp[ipiv]\n\t\tif math.Abs(u11) <= smin {\n\t\t\tok = false\n\t\t\tu11 = smin\n\t\t}\n\t\tlocu12 := [4]int{1, 0, 3, 2} // Index in tmp of the element on the same row as the pivot.\n\t\tu12 := tmp[locu12[ipiv]]\n\t\tlocl21 := [4]int{2, 3, 0, 1} // Index in tmp of the element on the same column as the pivot.\n\t\tl21 := tmp[locl21[ipiv]] / u11\n\t\tlocu22 := [4]int{3, 2, 1, 0} // Index in tmp of the remaining element.\n\t\tu22 := tmp[locu22[ipiv]] - l21*u12\n\t\tif math.Abs(u22) <= smin {\n\t\t\tok = false\n\t\t\tu22 = smin\n\t\t}\n\t\tif ipiv&0x2 != 0 { // true for ipiv equal to 2 and 3.\n\t\t\t// The pivot was in the second row, swap the elements of\n\t\t\t// the right-hand side.\n\t\t\tbtmp[0], btmp[1] = btmp[1], btmp[0]-l21*btmp[1]\n\t\t} else {\n\t\t\tbtmp[1] -= l21 * btmp[0]\n\t\t}\n\t\tscale = 1\n\t\tif 2*smlnum*math.Abs(btmp[1]) > math.Abs(u22) || 2*smlnum*math.Abs(btmp[0]) > math.Abs(u11) {\n\t\t\tscale = 0.5 / math.Max(math.Abs(btmp[0]), math.Abs(btmp[1]))\n\t\t\tbtmp[0] *= scale\n\t\t\tbtmp[1] *= scale\n\t\t}\n\t\t// Solve the system [u11 u12] [x21] = [ btmp[0] ].\n\t\t//                  [  0 u22] [x22]   [ btmp[1] ]\n\t\tx22 := btmp[1] / u22\n\t\tx21 := btmp[0]/u11 - (u12/u11)*x22\n\t\tif ipiv&0x1 != 0 { // true for ipiv equal to 1 and 3.\n\t\t\t// The pivot was in the second column, swap the elements\n\t\t\t// of the solution.\n\t\t\tx21, x22 = x22, x21\n\t\t}\n\t\tx[0] = x21\n\t\tif n1 == 1 {\n\t\t\tx[1] = x22\n\t\t\txnorm = math.Abs(x[0]) + math.Abs(x[1])\n\t\t} else {\n\t\t\tx[ldx] = x22\n\t\t\txnorm = math.Max(math.Abs(x[0]), math.Abs(x[ldx]))\n\t\t}\n\t\treturn scale, xnorm, ok\n\t}\n\n\t// 2×2 case: op[TL11 TL12]*[X11 X12] + SGN*[X11 X12]*op[TR11 TR12] = [B11 B12].\n\t//             [TL21 TL22] [X21 X22]       [X21 X22]   [TR21 TR22]   [B21 B22]\n\t//\n\t// Solve equivalent 4×4 system using complete pivoting.\n\t// Set pivots less than smin to smin.\n\n\tsmin := math.Max(math.Abs(tr[0]), math.Abs(tr[1]))\n\tsmin = math.Max(smin, math.Max(math.Abs(tr[ldtr]), math.Abs(tr[ldtr+1])))\n\tsmin = math.Max(smin, math.Max(math.Abs(tl[0]), math.Abs(tl[1])))\n\tsmin = math.Max(smin, math.Max(math.Abs(tl[ldtl]), math.Abs(tl[ldtl+1])))\n\tsmin = math.Max(eps*smin, smlnum)\n\n\tvar t [4][4]float64\n\tt[0][0] = tl[0] + sgn*tr[0]\n\tt[1][1] = tl[0] + sgn*tr[ldtr+1]\n\tt[2][2] = tl[ldtl+1] + sgn*tr[0]\n\tt[3][3] = tl[ldtl+1] + sgn*tr[ldtr+1]\n\tif tranl {\n\t\tt[0][2] = tl[ldtl]\n\t\tt[1][3] = tl[ldtl]\n\t\tt[2][0] = tl[1]\n\t\tt[3][1] = tl[1]\n\t} else {\n\t\tt[0][2] = tl[1]\n\t\tt[1][3] = tl[1]\n\t\tt[2][0] = tl[ldtl]\n\t\tt[3][1] = tl[ldtl]\n\t}\n\tif tranr {\n\t\tt[0][1] = sgn * tr[1]\n\t\tt[1][0] = sgn * tr[ldtr]\n\t\tt[2][3] = sgn * tr[1]\n\t\tt[3][2] = sgn * tr[ldtr]\n\t} else {\n\t\tt[0][1] = sgn * tr[ldtr]\n\t\tt[1][0] = sgn * tr[1]\n\t\tt[2][3] = sgn * tr[ldtr]\n\t\tt[3][2] = sgn * tr[1]\n\t}\n\n\tvar btmp [4]float64\n\tbtmp[0] = b[0]\n\tbtmp[1] = b[1]\n\tbtmp[2] = b[ldb]\n\tbtmp[3] = b[ldb+1]\n\n\t// Perform elimination.\n\tvar jpiv [4]int // jpiv records any column swaps for pivoting.\n\tfor i := 0; i < 3; i++ {\n\t\tvar (\n\t\t\txmax       float64\n\t\t\tipsv, jpsv int\n\t\t)\n\t\tfor ip := i; ip < 4; ip++ {\n\t\t\tfor jp := i; jp < 4; jp++ {\n\t\t\t\tif math.Abs(t[ip][jp]) >= xmax {\n\t\t\t\t\txmax = math.Abs(t[ip][jp])\n\t\t\t\t\tipsv = ip\n\t\t\t\t\tjpsv = jp\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif ipsv != i {\n\t\t\t// The pivot is not in the top row of the unprocessed\n\t\t\t// block, swap rows ipsv and i of t and btmp.\n\t\t\tt[ipsv], t[i] = t[i], t[ipsv]\n\t\t\tbtmp[ipsv], btmp[i] = btmp[i], btmp[ipsv]\n\t\t}\n\t\tif jpsv != i {\n\t\t\t// The pivot is not in the left column of the\n\t\t\t// unprocessed block, swap columns jpsv and i of t.\n\t\t\tfor k := 0; k < 4; k++ {\n\t\t\t\tt[k][jpsv], t[k][i] = t[k][i], t[k][jpsv]\n\t\t\t}\n\t\t}\n\t\tjpiv[i] = jpsv\n\t\tif math.Abs(t[i][i]) < smin {\n\t\t\tok = false\n\t\t\tt[i][i] = smin\n\t\t}\n\t\tfor k := i + 1; k < 4; k++ {\n\t\t\tt[k][i] /= t[i][i]\n\t\t\tbtmp[k] -= t[k][i] * btmp[i]\n\t\t\tfor j := i + 1; j < 4; j++ {\n\t\t\t\tt[k][j] -= t[k][i] * t[i][j]\n\t\t\t}\n\t\t}\n\t}\n\tif math.Abs(t[3][3]) < smin {\n\t\tok = false\n\t\tt[3][3] = smin\n\t}\n\tscale = 1\n\tif 8*smlnum*math.Abs(btmp[0]) > math.Abs(t[0][0]) ||\n\t\t8*smlnum*math.Abs(btmp[1]) > math.Abs(t[1][1]) ||\n\t\t8*smlnum*math.Abs(btmp[2]) > math.Abs(t[2][2]) ||\n\t\t8*smlnum*math.Abs(btmp[3]) > math.Abs(t[3][3]) {\n\n\t\tmaxbtmp := math.Max(math.Abs(btmp[0]), math.Abs(btmp[1]))\n\t\tmaxbtmp = math.Max(maxbtmp, math.Max(math.Abs(btmp[2]), math.Abs(btmp[3])))\n\t\tscale = 1 / 8 / maxbtmp\n\t\tbtmp[0] *= scale\n\t\tbtmp[1] *= scale\n\t\tbtmp[2] *= scale\n\t\tbtmp[3] *= scale\n\t}\n\t// Compute the solution of the upper triangular system t * tmp = btmp.\n\tvar tmp [4]float64\n\tfor i := 3; i >= 0; i-- {\n\t\ttemp := 1 / t[i][i]\n\t\ttmp[i] = btmp[i] * temp\n\t\tfor j := i + 1; j < 4; j++ {\n\t\t\ttmp[i] -= temp * t[i][j] * tmp[j]\n\t\t}\n\t}\n\tfor i := 2; i >= 0; i-- {\n\t\tif jpiv[i] != i {\n\t\t\ttmp[i], tmp[jpiv[i]] = tmp[jpiv[i]], tmp[i]\n\t\t}\n\t}\n\tx[0] = tmp[0]\n\tx[1] = tmp[1]\n\tx[ldx] = tmp[2]\n\tx[ldx+1] = tmp[3]\n\txnorm = math.Max(math.Abs(tmp[0])+math.Abs(tmp[1]), math.Abs(tmp[2])+math.Abs(tmp[3]))\n\treturn scale, xnorm, ok\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlatrd.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dlatrd reduces nb rows and columns of a real n×n symmetric matrix A to symmetric\n// tridiagonal form. It computes the orthonormal similarity transformation\n//  Q^T * A * Q\n// and returns the matrices V and W to apply to the unreduced part of A. If\n// uplo == blas.Upper, the upper triangle is supplied and the last nb rows are\n// reduced. If uplo == blas.Lower, the lower triangle is supplied and the first\n// nb rows are reduced.\n//\n// a contains the symmetric matrix on entry with active triangular half specified\n// by uplo. On exit, the nb columns have been reduced to tridiagonal form. The\n// diagonal contains the diagonal of the reduced matrix, the off-diagonal is\n// set to 1, and the remaining elements contain the data to construct Q.\n//\n// If uplo == blas.Upper, with n = 5 and nb = 2 on exit a is\n//  [ a   a   a  v4  v5]\n//  [     a   a  v4  v5]\n//  [         a   1  v5]\n//  [             d   1]\n//  [                 d]\n//\n// If uplo == blas.Lower, with n = 5 and nb = 2, on exit a is\n//  [ d                ]\n//  [ 1   d            ]\n//  [v1   1   a        ]\n//  [v1  v2   a   a    ]\n//  [v1  v2   a   a   a]\n//\n// e contains the superdiagonal elements of the reduced matrix. If uplo == blas.Upper,\n// e[n-nb:n-1] contains the last nb columns of the reduced matrix, while if\n// uplo == blas.Lower, e[:nb] contains the first nb columns of the reduced matrix.\n// e must have length at least n-1, and Dlatrd will panic otherwise.\n//\n// tau contains the scalar factors of the elementary reflectors needed to construct Q.\n// The reflectors are stored in tau[n-nb:n-1] if uplo == blas.Upper, and in\n// tau[:nb] if uplo == blas.Lower. tau must have length n-1, and Dlatrd will panic\n// otherwise.\n//\n// w is an n×nb matrix. On exit it contains the data to update the unreduced part\n// of A.\n//\n// The matrix Q is represented as a product of elementary reflectors. Each reflector\n// H has the form\n//  I - tau * v * v^T\n// If uplo == blas.Upper,\n//  Q = H_{n-1} * H_{n-2} * ... * H_{n-nb}\n// where v[:i-1] is stored in A[:i-1,i], v[i-1] = 1, and v[i:n] = 0.\n//\n// If uplo == blas.Lower,\n//  Q = H_0 * H_1 * ... * H_{nb-1}\n// where v[:i+1] = 0, v[i+1] = 1, and v[i+2:n] is stored in A[i+2:n,i].\n//\n// The vectors v form the n×nb matrix V which is used with W to apply a\n// symmetric rank-2 update to the unreduced part of A\n//  A = A - V * W^T - W * V^T\n//\n// Dlatrd is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlatrd(uplo blas.Uplo, n, nb int, a []float64, lda int, e, tau, w []float64, ldw int) {\n\tcheckMatrix(n, n, a, lda)\n\tcheckMatrix(n, nb, w, ldw)\n\tif len(e) < n-1 {\n\t\tpanic(badE)\n\t}\n\tif len(tau) < n-1 {\n\t\tpanic(badTau)\n\t}\n\tif n <= 0 {\n\t\treturn\n\t}\n\tbi := blas64.Implementation()\n\tif uplo == blas.Upper {\n\t\tfor i := n - 1; i >= n-nb; i-- {\n\t\t\tiw := i - n + nb\n\t\t\tif i < n-1 {\n\t\t\t\t// Update A(0:i, i).\n\t\t\t\tbi.Dgemv(blas.NoTrans, i+1, n-i-1, -1, a[i+1:], lda,\n\t\t\t\t\tw[i*ldw+iw+1:], 1, 1, a[i:], lda)\n\t\t\t\tbi.Dgemv(blas.NoTrans, i+1, n-i-1, -1, w[iw+1:], ldw,\n\t\t\t\t\ta[i*lda+i+1:], 1, 1, a[i:], lda)\n\t\t\t}\n\t\t\tif i > 0 {\n\t\t\t\t// Generate elementary reflector H_i to annihilate A(0:i-2,i).\n\t\t\t\te[i-1], tau[i-1] = impl.Dlarfg(i, a[(i-1)*lda+i], a[i:], lda)\n\t\t\t\ta[(i-1)*lda+i] = 1\n\n\t\t\t\t// Compute W(0:i-1, i).\n\t\t\t\tbi.Dsymv(blas.Upper, i, 1, a, lda, a[i:], lda, 0, w[iw:], ldw)\n\t\t\t\tif i < n-1 {\n\t\t\t\t\tbi.Dgemv(blas.Trans, i, n-i-1, 1, w[iw+1:], ldw,\n\t\t\t\t\t\ta[i:], lda, 0, w[(i+1)*ldw+iw:], ldw)\n\t\t\t\t\tbi.Dgemv(blas.NoTrans, i, n-i-1, -1, a[i+1:], lda,\n\t\t\t\t\t\tw[(i+1)*ldw+iw:], ldw, 1, w[iw:], ldw)\n\t\t\t\t\tbi.Dgemv(blas.Trans, i, n-i-1, 1, a[i+1:], lda,\n\t\t\t\t\t\ta[i:], lda, 0, w[(i+1)*ldw+iw:], ldw)\n\t\t\t\t\tbi.Dgemv(blas.NoTrans, i, n-i-1, -1, w[iw+1:], ldw,\n\t\t\t\t\t\tw[(i+1)*ldw+iw:], ldw, 1, w[iw:], ldw)\n\t\t\t\t}\n\t\t\t\tbi.Dscal(i, tau[i-1], w[iw:], ldw)\n\t\t\t\talpha := -0.5 * tau[i-1] * bi.Ddot(i, w[iw:], ldw, a[i:], lda)\n\t\t\t\tbi.Daxpy(i, alpha, a[i:], lda, w[iw:], ldw)\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// Reduce first nb columns of lower triangle.\n\t\tfor i := 0; i < nb; i++ {\n\t\t\t// Update A(i:n, i)\n\t\t\tbi.Dgemv(blas.NoTrans, n-i, i, -1, a[i*lda:], lda,\n\t\t\t\tw[i*ldw:], 1, 1, a[i*lda+i:], lda)\n\t\t\tbi.Dgemv(blas.NoTrans, n-i, i, -1, w[i*ldw:], ldw,\n\t\t\t\ta[i*lda:], 1, 1, a[i*lda+i:], lda)\n\t\t\tif i < n-1 {\n\t\t\t\t// Generate elementary reflector H_i to annihilate A(i+2:n,i).\n\t\t\t\te[i], tau[i] = impl.Dlarfg(n-i-1, a[(i+1)*lda+i], a[min(i+2, n-1)*lda+i:], lda)\n\t\t\t\ta[(i+1)*lda+i] = 1\n\n\t\t\t\t// Compute W(i+1:n,i).\n\t\t\t\tbi.Dsymv(blas.Lower, n-i-1, 1, a[(i+1)*lda+i+1:], lda,\n\t\t\t\t\ta[(i+1)*lda+i:], lda, 0, w[(i+1)*ldw+i:], ldw)\n\t\t\t\tbi.Dgemv(blas.Trans, n-i-1, i, 1, w[(i+1)*ldw:], ldw,\n\t\t\t\t\ta[(i+1)*lda+i:], lda, 0, w[i:], ldw)\n\t\t\t\tbi.Dgemv(blas.NoTrans, n-i-1, i, -1, a[(i+1)*lda:], lda,\n\t\t\t\t\tw[i:], ldw, 1, w[(i+1)*ldw+i:], ldw)\n\t\t\t\tbi.Dgemv(blas.Trans, n-i-1, i, 1, a[(i+1)*lda:], lda,\n\t\t\t\t\ta[(i+1)*lda+i:], lda, 0, w[i:], ldw)\n\t\t\t\tbi.Dgemv(blas.NoTrans, n-i-1, i, -1, w[(i+1)*ldw:], ldw,\n\t\t\t\t\tw[i:], ldw, 1, w[(i+1)*ldw+i:], ldw)\n\t\t\t\tbi.Dscal(n-i-1, tau[i], w[(i+1)*ldw+i:], ldw)\n\t\t\t\talpha := -0.5 * tau[i] * bi.Ddot(n-i-1, w[(i+1)*ldw+i:], ldw,\n\t\t\t\t\ta[(i+1)*lda+i:], lda)\n\t\t\t\tbi.Daxpy(n-i-1, alpha, a[(i+1)*lda+i:], lda,\n\t\t\t\t\tw[(i+1)*ldw+i:], ldw)\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dlatrs.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dlatrs solves a triangular system of equations scaled to prevent overflow. It\n// solves\n//  A * x = scale * b if trans == blas.NoTrans\n//  A^T * x = scale * b if trans == blas.Trans\n// where the scale s is set for numeric stability.\n//\n// A is an n×n triangular matrix. On entry, the slice x contains the values of\n// of b, and on exit it contains the solution vector x.\n//\n// If normin == true, cnorm is an input and cnorm[j] contains the norm of the off-diagonal\n// part of the j^th column of A. If trans == blas.NoTrans, cnorm[j] must be greater\n// than or equal to the infinity norm, and greater than or equal to the one-norm\n// otherwise. If normin == false, then cnorm is treated as an output, and is set\n// to contain the 1-norm of the off-diagonal part of the j^th column of A.\n//\n// Dlatrs is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dlatrs(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, normin bool, n int, a []float64, lda int, x []float64, cnorm []float64) (scale float64) {\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tif trans != blas.Trans && trans != blas.NoTrans {\n\t\tpanic(badTrans)\n\t}\n\tif diag != blas.Unit && diag != blas.NonUnit {\n\t\tpanic(badDiag)\n\t}\n\tupper := uplo == blas.Upper\n\tnoTrans := trans == blas.NoTrans\n\tnonUnit := diag == blas.NonUnit\n\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tcheckMatrix(n, n, a, lda)\n\tcheckVector(n, x, 1)\n\tcheckVector(n, cnorm, 1)\n\n\tif n == 0 {\n\t\treturn 0\n\t}\n\tsmlnum := dlamchS / dlamchP\n\tbignum := 1 / smlnum\n\tscale = 1\n\tbi := blas64.Implementation()\n\tif !normin {\n\t\tif upper {\n\t\t\tcnorm[0] = 0\n\t\t\tfor j := 1; j < n; j++ {\n\t\t\t\tcnorm[j] = bi.Dasum(j, a[j:], lda)\n\t\t\t}\n\t\t} else {\n\t\t\tfor j := 0; j < n-1; j++ {\n\t\t\t\tcnorm[j] = bi.Dasum(n-j-1, a[(j+1)*lda+j:], lda)\n\t\t\t}\n\t\t\tcnorm[n-1] = 0\n\t\t}\n\t}\n\t// Scale the column norms by tscal if the maximum element in cnorm is greater than bignum.\n\timax := bi.Idamax(n, cnorm, 1)\n\ttmax := cnorm[imax]\n\tvar tscal float64\n\tif tmax <= bignum {\n\t\ttscal = 1\n\t} else {\n\t\ttscal = 1 / (smlnum * tmax)\n\t\tbi.Dscal(n, tscal, cnorm, 1)\n\t}\n\n\t// Compute a bound on the computed solution vector to see if bi.Dtrsv can be used.\n\tj := bi.Idamax(n, x, 1)\n\txmax := math.Abs(x[j])\n\txbnd := xmax\n\tvar grow float64\n\tvar jfirst, jlast, jinc int\n\tif noTrans {\n\t\tif upper {\n\t\t\tjfirst = n - 1\n\t\t\tjlast = -1\n\t\t\tjinc = -1\n\t\t} else {\n\t\t\tjfirst = 0\n\t\t\tjlast = n\n\t\t\tjinc = 1\n\t\t}\n\t\t// Compute the growth in A * x = b.\n\t\tif tscal != 1 {\n\t\t\tgrow = 0\n\t\t\tgoto Solve\n\t\t}\n\t\tif nonUnit {\n\t\t\tgrow = 1 / math.Max(xbnd, smlnum)\n\t\t\txbnd = grow\n\t\t\tfor j := jfirst; j != jlast; j += jinc {\n\t\t\t\tif grow <= smlnum {\n\t\t\t\t\tgoto Solve\n\t\t\t\t}\n\t\t\t\ttjj := math.Abs(a[j*lda+j])\n\t\t\t\txbnd = math.Min(xbnd, math.Min(1, tjj)*grow)\n\t\t\t\tif tjj+cnorm[j] >= smlnum {\n\t\t\t\t\tgrow *= tjj / (tjj + cnorm[j])\n\t\t\t\t} else {\n\t\t\t\t\tgrow = 0\n\t\t\t\t}\n\t\t\t}\n\t\t\tgrow = xbnd\n\t\t} else {\n\t\t\tgrow = math.Min(1, 1/math.Max(xbnd, smlnum))\n\t\t\tfor j := jfirst; j != jlast; j += jinc {\n\t\t\t\tif grow <= smlnum {\n\t\t\t\t\tgoto Solve\n\t\t\t\t}\n\t\t\t\tgrow *= 1 / (1 + cnorm[j])\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif upper {\n\t\t\tjfirst = 0\n\t\t\tjlast = n\n\t\t\tjinc = 1\n\t\t} else {\n\t\t\tjfirst = n - 1\n\t\t\tjlast = -1\n\t\t\tjinc = -1\n\t\t}\n\t\tif tscal != 1 {\n\t\t\tgrow = 0\n\t\t\tgoto Solve\n\t\t}\n\t\tif nonUnit {\n\t\t\tgrow = 1 / (math.Max(xbnd, smlnum))\n\t\t\txbnd = grow\n\t\t\tfor j := jfirst; j != jlast; j += jinc {\n\t\t\t\tif grow <= smlnum {\n\t\t\t\t\tgoto Solve\n\t\t\t\t}\n\t\t\t\txj := 1 + cnorm[j]\n\t\t\t\tgrow = math.Min(grow, xbnd/xj)\n\t\t\t\ttjj := math.Abs(a[j*lda+j])\n\t\t\t\tif xj > tjj {\n\t\t\t\t\txbnd *= tjj / xj\n\t\t\t\t}\n\t\t\t}\n\t\t\tgrow = math.Min(grow, xbnd)\n\t\t} else {\n\t\t\tgrow = math.Min(1, 1/math.Max(xbnd, smlnum))\n\t\t\tfor j := jfirst; j != jlast; j += jinc {\n\t\t\t\tif grow <= smlnum {\n\t\t\t\t\tgoto Solve\n\t\t\t\t}\n\t\t\t\txj := 1 + cnorm[j]\n\t\t\t\tgrow /= xj\n\t\t\t}\n\t\t}\n\t}\n\nSolve:\n\tif grow*tscal > smlnum {\n\t\t// Use the Level 2 BLAS solve if the reciprocal of the bound on\n\t\t// elements of X is not too small.\n\t\tbi.Dtrsv(uplo, trans, diag, n, a, lda, x, 1)\n\t\tif tscal != 1 {\n\t\t\tbi.Dscal(n, 1/tscal, cnorm, 1)\n\t\t}\n\t\treturn scale\n\t}\n\n\t// Use a Level 1 BLAS solve, scaling intermediate results.\n\tif xmax > bignum {\n\t\tscale = bignum / xmax\n\t\tbi.Dscal(n, scale, x, 1)\n\t\txmax = bignum\n\t}\n\tif noTrans {\n\t\tfor j := jfirst; j != jlast; j += jinc {\n\t\t\txj := math.Abs(x[j])\n\t\t\tvar tjj, tjjs float64\n\t\t\tif nonUnit {\n\t\t\t\ttjjs = a[j*lda+j] * tscal\n\t\t\t} else {\n\t\t\t\ttjjs = tscal\n\t\t\t\tif tscal == 1 {\n\t\t\t\t\tgoto Skip1\n\t\t\t\t}\n\t\t\t}\n\t\t\ttjj = math.Abs(tjjs)\n\t\t\tif tjj > smlnum {\n\t\t\t\tif tjj < 1 {\n\t\t\t\t\tif xj > tjj*bignum {\n\t\t\t\t\t\trec := 1 / xj\n\t\t\t\t\t\tbi.Dscal(n, rec, x, 1)\n\t\t\t\t\t\tscale *= rec\n\t\t\t\t\t\txmax *= rec\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tx[j] /= tjjs\n\t\t\t\txj = math.Abs(x[j])\n\t\t\t} else if tjj > 0 {\n\t\t\t\tif xj > tjj*bignum {\n\t\t\t\t\trec := (tjj * bignum) / xj\n\t\t\t\t\tif cnorm[j] > 1 {\n\t\t\t\t\t\trec /= cnorm[j]\n\t\t\t\t\t}\n\t\t\t\t\tbi.Dscal(n, rec, x, 1)\n\t\t\t\t\tscale *= rec\n\t\t\t\t\txmax *= rec\n\t\t\t\t}\n\t\t\t\tx[j] /= tjjs\n\t\t\t\txj = math.Abs(x[j])\n\t\t\t} else {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tx[i] = 0\n\t\t\t\t}\n\t\t\t\tx[j] = 1\n\t\t\t\txj = 1\n\t\t\t\tscale = 0\n\t\t\t\txmax = 0\n\t\t\t}\n\t\tSkip1:\n\t\t\tif xj > 1 {\n\t\t\t\trec := 1 / xj\n\t\t\t\tif cnorm[j] > (bignum-xmax)*rec {\n\t\t\t\t\trec *= 0.5\n\t\t\t\t\tbi.Dscal(n, rec, x, 1)\n\t\t\t\t\tscale *= rec\n\t\t\t\t}\n\t\t\t} else if xj*cnorm[j] > bignum-xmax {\n\t\t\t\tbi.Dscal(n, 0.5, x, 1)\n\t\t\t\tscale *= 0.5\n\t\t\t}\n\t\t\tif upper {\n\t\t\t\tif j > 0 {\n\t\t\t\t\tbi.Daxpy(j, -x[j]*tscal, a[j:], lda, x, 1)\n\t\t\t\t\ti := bi.Idamax(j, x, 1)\n\t\t\t\t\txmax = math.Abs(x[i])\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif j < n-1 {\n\t\t\t\t\tbi.Daxpy(n-j-1, -x[j]*tscal, a[(j+1)*lda+j:], lda, x[j+1:], 1)\n\t\t\t\t\ti := j + bi.Idamax(n-j-1, x[j+1:], 1)\n\t\t\t\t\txmax = math.Abs(x[i])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor j := jfirst; j != jlast; j += jinc {\n\t\t\txj := math.Abs(x[j])\n\t\t\tuscal := tscal\n\t\t\trec := 1 / math.Max(xmax, 1)\n\t\t\tvar tjjs float64\n\t\t\tif cnorm[j] > (bignum-xj)*rec {\n\t\t\t\trec *= 0.5\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttjjs = a[j*lda+j] * tscal\n\t\t\t\t} else {\n\t\t\t\t\ttjjs = tscal\n\t\t\t\t}\n\t\t\t\ttjj := math.Abs(tjjs)\n\t\t\t\tif tjj > 1 {\n\t\t\t\t\trec = math.Min(1, rec*tjj)\n\t\t\t\t\tuscal /= tjjs\n\t\t\t\t}\n\t\t\t\tif rec < 1 {\n\t\t\t\t\tbi.Dscal(n, rec, x, 1)\n\t\t\t\t\tscale *= rec\n\t\t\t\t\txmax *= rec\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar sumj float64\n\t\t\tif uscal == 1 {\n\t\t\t\tif upper {\n\t\t\t\t\tsumj = bi.Ddot(j, a[j:], lda, x, 1)\n\t\t\t\t} else if j < n-1 {\n\t\t\t\t\tsumj = bi.Ddot(n-j-1, a[(j+1)*lda+j:], lda, x[j+1:], 1)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif upper {\n\t\t\t\t\tfor i := 0; i < j; i++ {\n\t\t\t\t\t\tsumj += (a[i*lda+j] * uscal) * x[i]\n\t\t\t\t\t}\n\t\t\t\t} else if j < n {\n\t\t\t\t\tfor i := j + 1; i < n; i++ {\n\t\t\t\t\t\tsumj += (a[i*lda+j] * uscal) * x[i]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif uscal == tscal {\n\t\t\t\tx[j] -= sumj\n\t\t\t\txj := math.Abs(x[j])\n\t\t\t\tvar tjjs float64\n\t\t\t\tif nonUnit {\n\t\t\t\t\ttjjs = a[j*lda+j] * tscal\n\t\t\t\t} else {\n\t\t\t\t\ttjjs = tscal\n\t\t\t\t\tif tscal == 1 {\n\t\t\t\t\t\tgoto Skip2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttjj := math.Abs(tjjs)\n\t\t\t\tif tjj > smlnum {\n\t\t\t\t\tif tjj < 1 {\n\t\t\t\t\t\tif xj > tjj*bignum {\n\t\t\t\t\t\t\trec = 1 / xj\n\t\t\t\t\t\t\tbi.Dscal(n, rec, x, 1)\n\t\t\t\t\t\t\tscale *= rec\n\t\t\t\t\t\t\txmax *= rec\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tx[j] /= tjjs\n\t\t\t\t} else if tjj > 0 {\n\t\t\t\t\tif xj > tjj*bignum {\n\t\t\t\t\t\trec = (tjj * bignum) / xj\n\t\t\t\t\t\tbi.Dscal(n, rec, x, 1)\n\t\t\t\t\t\tscale *= rec\n\t\t\t\t\t\txmax *= rec\n\t\t\t\t\t}\n\t\t\t\t\tx[j] /= tjjs\n\t\t\t\t} else {\n\t\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\t\tx[i] = 0\n\t\t\t\t\t}\n\t\t\t\t\tx[j] = 1\n\t\t\t\t\tscale = 0\n\t\t\t\t\txmax = 0\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tx[j] = x[j]/tjjs - sumj\n\t\t\t}\n\t\tSkip2:\n\t\t\txmax = math.Max(xmax, math.Abs(x[j]))\n\t\t}\n\t}\n\tscale /= tscal\n\tif tscal != 1 {\n\t\tbi.Dscal(n, 1/tscal, cnorm, 1)\n\t}\n\treturn scale\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/doc.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package gonum is a pure-go implementation of the LAPACK API. The LAPACK API defines\n// a set of algorithms for advanced matrix operations.\n//\n// The function definitions and implementations follow that of the netlib reference\n// implementation. See http://www.netlib.org/lapack/explore-html/ for more\n// information, and http://www.netlib.org/lapack/explore-html/d4/de1/_l_i_c_e_n_s_e_source.html\n// for more license information.\n//\n// Slice function arguments frequently represent vectors and matrices. The data\n// layout is identical to that found in https://godoc.org/gonum.org/v1/gonum/blas/gonum.\n//\n// Most LAPACK functions are built on top the routines defined in the BLAS API,\n// and as such the computation time for many LAPACK functions is\n// dominated by BLAS calls. Here, BLAS is accessed through the\n// the blas64 package (https://godoc.org/golang.org/v1/gonum/blas/blas64). In particular,\n// this implies that an external BLAS library will be used if it is\n// registered in blas64.\n//\n// The full LAPACK capability has not been implemented at present. The full\n// API is very large, containing approximately 200 functions for double precision\n// alone. Future additions will be focused on supporting the gonum matrix\n// package (https://godoc.org/github.com/gonum/matrix/mat64), though pull requests\n// with implementations and tests for LAPACK function are encouraged.\npackage gonum // import \"gonum.org/v1/gonum/lapack/gonum\"\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dorg2l.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dorg2l generates an m×n matrix Q with orthonormal columns which is defined\n// as the last n columns of a product of k elementary reflectors of order m.\n//  Q = H_{k-1} * ... * H_1 * H_0\n// See Dgelqf for more information. It must be that m >= n >= k.\n//\n// tau contains the scalar reflectors computed by Dgeqlf. tau must have length\n// at least k, and Dorg2l will panic otherwise.\n//\n// work contains temporary memory, and must have length at least n. Dorg2l will\n// panic otherwise.\n//\n// Dorg2l is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dorg2l(m, n, k int, a []float64, lda int, tau, work []float64) {\n\tcheckMatrix(m, n, a, lda)\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tif len(work) < n {\n\t\tpanic(badWork)\n\t}\n\tif m < n {\n\t\tpanic(mLTN)\n\t}\n\tif k > n {\n\t\tpanic(kGTN)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\n\t// Initialize columns 0:n-k to columns of the unit matrix.\n\tfor j := 0; j < n-k; j++ {\n\t\tfor l := 0; l < m; l++ {\n\t\t\ta[l*lda+j] = 0\n\t\t}\n\t\ta[(m-n+j)*lda+j] = 1\n\t}\n\n\tbi := blas64.Implementation()\n\tfor i := 0; i < k; i++ {\n\t\tii := n - k + i\n\n\t\t// Apply H_i to A[0:m-k+i, 0:n-k+i] from the left.\n\t\ta[(m-n+ii)*lda+ii] = 1\n\t\timpl.Dlarf(blas.Left, m-n+ii+1, ii, a[ii:], lda, tau[i], a, lda, work)\n\t\tbi.Dscal(m-n+ii, -tau[i], a[ii:], lda)\n\t\ta[(m-n+ii)*lda+ii] = 1 - tau[i]\n\n\t\t// Set A[m-k+i:m, n-k+i+1] to zero.\n\t\tfor l := m - n + ii + 1; l < m; l++ {\n\t\t\ta[l*lda+ii] = 0\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dorg2r.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dorg2r generates an m×n matrix Q with orthonormal columns defined by the\n// product of elementary reflectors as computed by Dgeqrf.\n//  Q = H_0 * H_1 * ... * H_{k-1}\n// len(tau) >= k, 0 <= k <= n, 0 <= n <= m, len(work) >= n.\n// Dorg2r will panic if these conditions are not met.\n//\n// Dorg2r is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dorg2r(m, n, k int, a []float64, lda int, tau []float64, work []float64) {\n\tcheckMatrix(m, n, a, lda)\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tif len(work) < n {\n\t\tpanic(badWork)\n\t}\n\tif k > n {\n\t\tpanic(kGTN)\n\t}\n\tif n > m {\n\t\tpanic(mLTN)\n\t}\n\tif len(work) < n {\n\t\tpanic(badWork)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tbi := blas64.Implementation()\n\t// Initialize columns k+1:n to columns of the unit matrix.\n\tfor l := 0; l < m; l++ {\n\t\tfor j := k; j < n; j++ {\n\t\t\ta[l*lda+j] = 0\n\t\t}\n\t}\n\tfor j := k; j < n; j++ {\n\t\ta[j*lda+j] = 1\n\t}\n\tfor i := k - 1; i >= 0; i-- {\n\t\tfor i := range work {\n\t\t\twork[i] = 0\n\t\t}\n\t\tif i < n-1 {\n\t\t\ta[i*lda+i] = 1\n\t\t\timpl.Dlarf(blas.Left, m-i, n-i-1, a[i*lda+i:], lda, tau[i], a[i*lda+i+1:], lda, work)\n\t\t}\n\t\tif i < m-1 {\n\t\t\tbi.Dscal(m-i-1, -tau[i], a[(i+1)*lda+i:], lda)\n\t\t}\n\t\ta[i*lda+i] = 1 - tau[i]\n\t\tfor l := 0; l < i; l++ {\n\t\t\ta[l*lda+i] = 0\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dorgbr.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/lapack\"\n\n// Dorgbr generates one of the matrices Q or P^T computed by Dgebrd\n// computed from the decomposition Dgebrd. See Dgebd2 for the description of\n// Q and P^T.\n//\n// If vect == lapack.ApplyQ, then a is assumed to have been an m×k matrix and\n// Q is of order m. If m >= k, then Dorgbr returns the first n columns of Q\n// where m >= n >= k. If m < k, then Dorgbr returns Q as an m×m matrix.\n//\n// If vect == lapack.ApplyP, then A is assumed to have been a k×n matrix, and\n// P^T is of order n. If k < n, then Dorgbr returns the first m rows of P^T,\n// where n >= m >= k. If k >= n, then Dorgbr returns P^T as an n×n matrix.\n//\n// Dorgbr is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dorgbr(vect lapack.DecompUpdate, m, n, k int, a []float64, lda int, tau, work []float64, lwork int) {\n\tmn := min(m, n)\n\twantq := vect == lapack.ApplyQ\n\tif wantq {\n\t\tif m < n || n < min(m, k) || m < min(m, k) {\n\t\t\tpanic(badDims)\n\t\t}\n\t} else {\n\t\tif n < m || m < min(n, k) || n < min(n, k) {\n\t\t\tpanic(badDims)\n\t\t}\n\t}\n\tif wantq {\n\t\tif m >= k {\n\t\t\tcheckMatrix(m, k, a, lda)\n\t\t} else {\n\t\t\tcheckMatrix(m, m, a, lda)\n\t\t}\n\t} else {\n\t\tif n >= k {\n\t\t\tcheckMatrix(k, n, a, lda)\n\t\t} else {\n\t\t\tcheckMatrix(n, n, a, lda)\n\t\t}\n\t}\n\twork[0] = 1\n\tif wantq {\n\t\tif m >= k {\n\t\t\timpl.Dorgqr(m, n, k, a, lda, tau, work, -1)\n\t\t} else if m > 1 {\n\t\t\timpl.Dorgqr(m-1, m-1, m-1, a[lda+1:], lda, tau, work, -1)\n\t\t}\n\t} else {\n\t\tif k < n {\n\t\t\timpl.Dorglq(m, n, k, a, lda, tau, work, -1)\n\t\t} else if n > 1 {\n\t\t\timpl.Dorglq(n-1, n-1, n-1, a[lda+1:], lda, tau, work, -1)\n\t\t}\n\t}\n\tlworkopt := int(work[0])\n\tlworkopt = max(lworkopt, mn)\n\tif lwork == -1 {\n\t\twork[0] = float64(lworkopt)\n\t\treturn\n\t}\n\tif len(work) < lwork {\n\t\tpanic(badWork)\n\t}\n\tif lwork < mn {\n\t\tpanic(badWork)\n\t}\n\tif m == 0 || n == 0 {\n\t\twork[0] = 1\n\t\treturn\n\t}\n\tif wantq {\n\t\t// Form Q, determined by a call to Dgebrd to reduce an m×k matrix.\n\t\tif m >= k {\n\t\t\timpl.Dorgqr(m, n, k, a, lda, tau, work, lwork)\n\t\t} else {\n\t\t\t// Shift the vectors which define the elementary reflectors one\n\t\t\t// column to the right, and set the first row and column of Q to\n\t\t\t// those of the unit matrix.\n\t\t\tfor j := m - 1; j >= 1; j-- {\n\t\t\t\ta[j] = 0\n\t\t\t\tfor i := j + 1; i < m; i++ {\n\t\t\t\t\ta[i*lda+j] = a[i*lda+j-1]\n\t\t\t\t}\n\t\t\t}\n\t\t\ta[0] = 1\n\t\t\tfor i := 1; i < m; i++ {\n\t\t\t\ta[i*lda] = 0\n\t\t\t}\n\t\t\tif m > 1 {\n\t\t\t\t// Form Q[1:m-1, 1:m-1]\n\t\t\t\timpl.Dorgqr(m-1, m-1, m-1, a[lda+1:], lda, tau, work, lwork)\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// Form P^T, determined by a call to Dgebrd to reduce a k×n matrix.\n\t\tif k < n {\n\t\t\timpl.Dorglq(m, n, k, a, lda, tau, work, lwork)\n\t\t} else {\n\t\t\t// Shift the vectors which define the elementary reflectors one\n\t\t\t// row downward, and set the first row and column of P^T to\n\t\t\t// those of the unit matrix.\n\t\t\ta[0] = 1\n\t\t\tfor i := 1; i < n; i++ {\n\t\t\t\ta[i*lda] = 0\n\t\t\t}\n\t\t\tfor j := 1; j < n; j++ {\n\t\t\t\tfor i := j - 1; i >= 1; i-- {\n\t\t\t\t\ta[i*lda+j] = a[(i-1)*lda+j]\n\t\t\t\t}\n\t\t\t\ta[j] = 0\n\t\t\t}\n\t\t\tif n > 1 {\n\t\t\t\timpl.Dorglq(n-1, n-1, n-1, a[lda+1:], lda, tau, work, lwork)\n\t\t\t}\n\t\t}\n\t}\n\twork[0] = float64(lworkopt)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dorghr.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\n// Dorghr generates an n×n orthogonal matrix Q which is defined as the product\n// of ihi-ilo elementary reflectors:\n//  Q = H_{ilo} H_{ilo+1} ... H_{ihi-1}.\n//\n// a and lda represent an n×n matrix that contains the elementary reflectors, as\n// returned by Dgehrd. On return, a is overwritten by the n×n orthogonal matrix\n// Q. Q will be equal to the identity matrix except in the submatrix\n// Q[ilo+1:ihi+1,ilo+1:ihi+1].\n//\n// ilo and ihi must have the same values as in the previous call of Dgehrd. It\n// must hold that\n//  0 <= ilo <= ihi < n,  if n > 0,\n//  ilo = 0, ihi = -1,    if n == 0.\n//\n// tau contains the scalar factors of the elementary reflectors, as returned by\n// Dgehrd. tau must have length n-1.\n//\n// work must have length at least max(1,lwork) and lwork must be at least\n// ihi-ilo. For optimum performance lwork must be at least (ihi-ilo)*nb where nb\n// is the optimal blocksize. On return, work[0] will contain the optimal value\n// of lwork.\n//\n// If lwork == -1, instead of performing Dorghr, only the optimal value of lwork\n// will be stored into work[0].\n//\n// If any requirement on input sizes is not met, Dorghr will panic.\n//\n// Dorghr is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dorghr(n, ilo, ihi int, a []float64, lda int, tau, work []float64, lwork int) {\n\tcheckMatrix(n, n, a, lda)\n\tnh := ihi - ilo\n\tswitch {\n\tcase ilo < 0 || max(1, n) <= ilo:\n\t\tpanic(badIlo)\n\tcase ihi < min(ilo, n-1) || n <= ihi:\n\t\tpanic(badIhi)\n\tcase lwork < max(1, nh) && lwork != -1:\n\t\tpanic(badWork)\n\tcase len(work) < max(1, lwork):\n\t\tpanic(shortWork)\n\t}\n\n\tlwkopt := max(1, nh) * impl.Ilaenv(1, \"DORGQR\", \" \", nh, nh, nh, -1)\n\tif lwork == -1 {\n\t\twork[0] = float64(lwkopt)\n\t\treturn\n\t}\n\n\t// Quick return if possible.\n\tif n == 0 {\n\t\twork[0] = 1\n\t\treturn\n\t}\n\n\t// Shift the vectors which define the elementary reflectors one column\n\t// to the right.\n\tfor i := ilo + 2; i < ihi+1; i++ {\n\t\tcopy(a[i*lda+ilo+1:i*lda+i], a[i*lda+ilo:i*lda+i-1])\n\t}\n\t// Set the first ilo+1 and the last n-ihi-1 rows and columns to those of\n\t// the identity matrix.\n\tfor i := 0; i < ilo+1; i++ {\n\t\tfor j := 0; j < n; j++ {\n\t\t\ta[i*lda+j] = 0\n\t\t}\n\t\ta[i*lda+i] = 1\n\t}\n\tfor i := ilo + 1; i < ihi+1; i++ {\n\t\tfor j := 0; j <= ilo; j++ {\n\t\t\ta[i*lda+j] = 0\n\t\t}\n\t\tfor j := i; j < n; j++ {\n\t\t\ta[i*lda+j] = 0\n\t\t}\n\t}\n\tfor i := ihi + 1; i < n; i++ {\n\t\tfor j := 0; j < n; j++ {\n\t\t\ta[i*lda+j] = 0\n\t\t}\n\t\ta[i*lda+i] = 1\n\t}\n\tif nh > 0 {\n\t\t// Generate Q[ilo+1:ihi+1,ilo+1:ihi+1].\n\t\timpl.Dorgqr(nh, nh, nh, a[(ilo+1)*lda+ilo+1:], lda, tau[ilo:ihi], work, lwork)\n\t}\n\twork[0] = float64(lwkopt)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dorgl2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dorgl2 generates an m×n matrix Q with orthonormal rows defined by the\n// first m rows product of elementary reflectors as computed by Dgelqf.\n//  Q = H_0 * H_1 * ... * H_{k-1}\n// len(tau) >= k, 0 <= k <= m, 0 <= m <= n, len(work) >= m.\n// Dorgl2 will panic if these conditions are not met.\n//\n// Dorgl2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dorgl2(m, n, k int, a []float64, lda int, tau, work []float64) {\n\tcheckMatrix(m, n, a, lda)\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tif k > m {\n\t\tpanic(kGTM)\n\t}\n\tif k > m {\n\t\tpanic(kGTM)\n\t}\n\tif m > n {\n\t\tpanic(nLTM)\n\t}\n\tif len(work) < m {\n\t\tpanic(badWork)\n\t}\n\tif m == 0 {\n\t\treturn\n\t}\n\tbi := blas64.Implementation()\n\tif k < m {\n\t\tfor i := k; i < m; i++ {\n\t\t\tfor j := 0; j < n; j++ {\n\t\t\t\ta[i*lda+j] = 0\n\t\t\t}\n\t\t}\n\t\tfor j := k; j < m; j++ {\n\t\t\ta[j*lda+j] = 1\n\t\t}\n\t}\n\tfor i := k - 1; i >= 0; i-- {\n\t\tif i < n-1 {\n\t\t\tif i < m-1 {\n\t\t\t\ta[i*lda+i] = 1\n\t\t\t\timpl.Dlarf(blas.Right, m-i-1, n-i, a[i*lda+i:], 1, tau[i], a[(i+1)*lda+i:], lda, work)\n\t\t\t}\n\t\t\tbi.Dscal(n-i-1, -tau[i], a[i*lda+i+1:], 1)\n\t\t}\n\t\ta[i*lda+i] = 1 - tau[i]\n\t\tfor l := 0; l < i; l++ {\n\t\t\ta[i*lda+l] = 0\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dorglq.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dorglq generates an m×n matrix Q with orthonormal columns defined by the\n// product of elementary reflectors as computed by Dgelqf.\n//  Q = H_0 * H_1 * ... * H_{k-1}\n// Dorglq is the blocked version of Dorgl2 that makes greater use of level-3 BLAS\n// routines.\n//\n// len(tau) >= k, 0 <= k <= n, and 0 <= n <= m.\n//\n// work is temporary storage, and lwork specifies the usable memory length. At minimum,\n// lwork >= m, and the amount of blocking is limited by the usable length.\n// If lwork == -1, instead of computing Dorglq the optimal work length is stored\n// into work[0].\n//\n// Dorglq will panic if the conditions on input values are not met.\n//\n// Dorglq is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dorglq(m, n, k int, a []float64, lda int, tau, work []float64, lwork int) {\n\tnb := impl.Ilaenv(1, \"DORGLQ\", \" \", m, n, k, -1)\n\t// work is treated as an n×nb matrix\n\tif lwork == -1 {\n\t\twork[0] = float64(max(1, m) * nb)\n\t\treturn\n\t}\n\tcheckMatrix(m, n, a, lda)\n\tif k < 0 {\n\t\tpanic(kLT0)\n\t}\n\tif k > m {\n\t\tpanic(kGTM)\n\t}\n\tif m > n {\n\t\tpanic(nLTM)\n\t}\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tif len(work) < lwork {\n\t\tpanic(shortWork)\n\t}\n\tif lwork < m {\n\t\tpanic(badWork)\n\t}\n\tif m == 0 {\n\t\treturn\n\t}\n\tnbmin := 2 // Minimum number of blocks\n\tvar nx int // Minimum number of rows\n\tiws := m   // Length of work needed\n\tvar ldwork int\n\tif nb > 1 && nb < k {\n\t\tnx = max(0, impl.Ilaenv(3, \"DORGLQ\", \" \", m, n, k, -1))\n\t\tif nx < k {\n\t\t\tldwork = nb\n\t\t\tiws = m * ldwork\n\t\t\tif lwork < iws {\n\t\t\t\tnb = lwork / m\n\t\t\t\tldwork = nb\n\t\t\t\tnbmin = max(2, impl.Ilaenv(2, \"DORGLQ\", \" \", m, n, k, -1))\n\t\t\t}\n\t\t}\n\t}\n\tvar ki, kk int\n\tif nb >= nbmin && nb < k && nx < k {\n\t\t// The first kk rows are handled by the blocked method.\n\t\t// Note: lapack has nx here, but this means the last nx rows are handled\n\t\t// serially which could be quite different than nb.\n\t\tki = ((k - nb - 1) / nb) * nb\n\t\tkk = min(k, ki+nb)\n\t\tfor i := kk; i < m; i++ {\n\t\t\tfor j := 0; j < kk; j++ {\n\t\t\t\ta[i*lda+j] = 0\n\t\t\t}\n\t\t}\n\t}\n\tif kk < m {\n\t\t// Perform the operation on colums kk to the end.\n\t\timpl.Dorgl2(m-kk, n-kk, k-kk, a[kk*lda+kk:], lda, tau[kk:], work)\n\t}\n\tif kk == 0 {\n\t\treturn\n\t}\n\t// Perform the operation on column-blocks\n\tfor i := ki; i >= 0; i -= nb {\n\t\tib := min(nb, k-i)\n\t\tif i+ib < m {\n\t\t\timpl.Dlarft(lapack.Forward, lapack.RowWise,\n\t\t\t\tn-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\ttau[i:],\n\t\t\t\twork, ldwork)\n\n\t\t\timpl.Dlarfb(blas.Right, blas.Trans, lapack.Forward, lapack.RowWise,\n\t\t\t\tm-i-ib, n-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\twork, ldwork,\n\t\t\t\ta[(i+ib)*lda+i:], lda,\n\t\t\t\twork[ib*ldwork:], ldwork)\n\t\t}\n\t\timpl.Dorgl2(ib, n-i, ib, a[i*lda+i:], lda, tau[i:], work)\n\t\tfor l := i; l < i+ib; l++ {\n\t\t\tfor j := 0; j < i; j++ {\n\t\t\t\ta[l*lda+j] = 0\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dorgql.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dorgql generates the m×n matrix Q with orthonormal columns defined as the\n// last n columns of a product of k elementary reflectors of order m\n//  Q = H_{k-1} * ... * H_1 * H_0.\n//\n// It must hold that\n//  0 <= k <= n <= m,\n// and Dorgql will panic otherwise.\n//\n// On entry, the (n-k+i)-th column of A must contain the vector which defines\n// the elementary reflector H_i, for i=0,...,k-1, and tau[i] must contain its\n// scalar factor. On return, a contains the m×n matrix Q.\n//\n// tau must have length at least k, and Dorgql will panic otherwise.\n//\n// work must have length at least max(1,lwork), and lwork must be at least\n// max(1,n), otherwise Dorgql will panic. For optimum performance lwork must\n// be a sufficiently large multiple of n.\n//\n// If lwork == -1, instead of computing Dorgql the optimal work length is stored\n// into work[0].\n//\n// Dorgql is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dorgql(m, n, k int, a []float64, lda int, tau, work []float64, lwork int) {\n\tswitch {\n\tcase n < 0:\n\t\tpanic(nLT0)\n\tcase m < n:\n\t\tpanic(mLTN)\n\tcase k < 0:\n\t\tpanic(kLT0)\n\tcase k > n:\n\t\tpanic(kGTN)\n\tcase lwork < max(1, n) && lwork != -1:\n\t\tpanic(badWork)\n\tcase len(work) < lwork:\n\t\tpanic(shortWork)\n\t}\n\tif lwork != -1 {\n\t\tcheckMatrix(m, n, a, lda)\n\t\tif len(tau) < k {\n\t\t\tpanic(badTau)\n\t\t}\n\t}\n\n\tif n == 0 {\n\t\twork[0] = 1\n\t\treturn\n\t}\n\n\tnb := impl.Ilaenv(1, \"DORGQL\", \" \", m, n, k, -1)\n\tif lwork == -1 {\n\t\twork[0] = float64(n * nb)\n\t\treturn\n\t}\n\n\tnbmin := 2\n\tvar nx, ldwork int\n\tiws := n\n\tif nb > 1 && nb < k {\n\t\t// Determine when to cross over from blocked to unblocked code.\n\t\tnx = max(0, impl.Ilaenv(3, \"DORGQL\", \" \", m, n, k, -1))\n\t\tif nx < k {\n\t\t\t// Determine if workspace is large enough for blocked code.\n\t\t\tiws = n * nb\n\t\t\tif lwork < iws {\n\t\t\t\t// Not enough workspace to use optimal nb: reduce nb and determine\n\t\t\t\t// the minimum value of nb.\n\t\t\t\tnb = lwork / n\n\t\t\t\tnbmin = max(2, impl.Ilaenv(2, \"DORGQL\", \" \", m, n, k, -1))\n\t\t\t}\n\t\t\tldwork = nb\n\t\t}\n\t}\n\n\tvar kk int\n\tif nb >= nbmin && nb < k && nx < k {\n\t\t// Use blocked code after the first block. The last kk columns are handled\n\t\t// by the block method.\n\t\tkk = min(k, ((k-nx+nb-1)/nb)*nb)\n\n\t\t// Set A(m-kk:m, 0:n-kk) to zero.\n\t\tfor i := m - kk; i < m; i++ {\n\t\t\tfor j := 0; j < n-kk; j++ {\n\t\t\t\ta[i*lda+j] = 0\n\t\t\t}\n\t\t}\n\t}\n\n\t// Use unblocked code for the first or only block.\n\timpl.Dorg2l(m-kk, n-kk, k-kk, a, lda, tau, work)\n\tif kk > 0 {\n\t\t// Use blocked code.\n\t\tfor i := k - kk; i < k; i += nb {\n\t\t\tib := min(nb, k-i)\n\t\t\tif n-k+i > 0 {\n\t\t\t\t// Form the triangular factor of the block reflector\n\t\t\t\t// H = H_{i+ib-1} * ... * H_{i+1} * H_i.\n\t\t\t\timpl.Dlarft(lapack.Backward, lapack.ColumnWise, m-k+i+ib, ib,\n\t\t\t\t\ta[n-k+i:], lda, tau[i:], work, ldwork)\n\n\t\t\t\t// Apply H to A[0:m-k+i+ib, 0:n-k+i] from the left.\n\t\t\t\timpl.Dlarfb(blas.Left, blas.NoTrans, lapack.Backward, lapack.ColumnWise,\n\t\t\t\t\tm-k+i+ib, n-k+i, ib, a[n-k+i:], lda, work, ldwork,\n\t\t\t\t\ta, lda, work[ib*ldwork:], ldwork)\n\t\t\t}\n\n\t\t\t// Apply H to rows 0:m-k+i+ib of current block.\n\t\t\timpl.Dorg2l(m-k+i+ib, ib, ib, a[n-k+i:], lda, tau[i:], work)\n\n\t\t\t// Set rows m-k+i+ib:m of current block to zero.\n\t\t\tfor j := n - k + i; j < n-k+i+ib; j++ {\n\t\t\t\tfor l := m - k + i + ib; l < m; l++ {\n\t\t\t\t\ta[l*lda+j] = 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\twork[0] = float64(iws)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dorgqr.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dorgqr generates an m×n matrix Q with orthonormal columns defined by the\n// product of elementary reflectors\n//  Q = H_0 * H_1 * ... * H_{k-1}\n// as computed by Dgeqrf.\n// Dorgqr is the blocked version of Dorg2r that makes greater use of level-3 BLAS\n// routines.\n//\n// The length of tau must be at least k, and the length of work must be at least n.\n// It also must be that 0 <= k <= n and 0 <= n <= m.\n//\n// work is temporary storage, and lwork specifies the usable memory length. At\n// minimum, lwork >= n, and the amount of blocking is limited by the usable\n// length. If lwork == -1, instead of computing Dorgqr the optimal work length\n// is stored into work[0].\n//\n// Dorgqr will panic if the conditions on input values are not met.\n//\n// Dorgqr is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dorgqr(m, n, k int, a []float64, lda int, tau, work []float64, lwork int) {\n\tnb := impl.Ilaenv(1, \"DORGQR\", \" \", m, n, k, -1)\n\t// work is treated as an n×nb matrix\n\tif lwork == -1 {\n\t\twork[0] = float64(max(1, n) * nb)\n\t\treturn\n\t}\n\tcheckMatrix(m, n, a, lda)\n\tif k < 0 {\n\t\tpanic(kLT0)\n\t}\n\tif k > n {\n\t\tpanic(kGTN)\n\t}\n\tif n > m {\n\t\tpanic(mLTN)\n\t}\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tif len(work) < lwork {\n\t\tpanic(shortWork)\n\t}\n\tif lwork < n {\n\t\tpanic(badWork)\n\t}\n\tif n == 0 {\n\t\treturn\n\t}\n\tnbmin := 2 // Minimum number of blocks\n\tvar nx int // Minimum number of rows\n\tiws := n   // Length of work needed\n\tvar ldwork int\n\tif nb > 1 && nb < k {\n\t\tnx = max(0, impl.Ilaenv(3, \"DORGQR\", \" \", m, n, k, -1))\n\t\tif nx < k {\n\t\t\tldwork = nb\n\t\t\tiws = n * ldwork\n\t\t\tif lwork < iws {\n\t\t\t\tnb = lwork / n\n\t\t\t\tldwork = nb\n\t\t\t\tnbmin = max(2, impl.Ilaenv(2, \"DORGQR\", \" \", m, n, k, -1))\n\t\t\t}\n\t\t}\n\t}\n\tvar ki, kk int\n\tif nb >= nbmin && nb < k && nx < k {\n\t\t// The first kk columns are handled by the blocked method.\n\t\t// Note: lapack has nx here, but this means the last nx rows are handled\n\t\t// serially which could be quite different than nb.\n\t\tki = ((k - nb - 1) / nb) * nb\n\t\tkk = min(k, ki+nb)\n\t\tfor j := kk; j < n; j++ {\n\t\t\tfor i := 0; i < kk; i++ {\n\t\t\t\ta[i*lda+j] = 0\n\t\t\t}\n\t\t}\n\t}\n\tif kk < n {\n\t\t// Perform the operation on colums kk to the end.\n\t\timpl.Dorg2r(m-kk, n-kk, k-kk, a[kk*lda+kk:], lda, tau[kk:], work)\n\t}\n\tif kk == 0 {\n\t\treturn\n\t}\n\t// Perform the operation on column-blocks\n\tfor i := ki; i >= 0; i -= nb {\n\t\tib := min(nb, k-i)\n\t\tif i+ib < n {\n\t\t\timpl.Dlarft(lapack.Forward, lapack.ColumnWise,\n\t\t\t\tm-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\ttau[i:],\n\t\t\t\twork, ldwork)\n\n\t\t\timpl.Dlarfb(blas.Left, blas.NoTrans, lapack.Forward, lapack.ColumnWise,\n\t\t\t\tm-i, n-i-ib, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\twork, ldwork,\n\t\t\t\ta[i*lda+i+ib:], lda,\n\t\t\t\twork[ib*ldwork:], ldwork)\n\t\t}\n\t\timpl.Dorg2r(m-i, ib, ib, a[i*lda+i:], lda, tau[i:], work)\n\t\t// Set rows 0:i-1 of current block to zero\n\t\tfor j := i; j < i+ib; j++ {\n\t\t\tfor l := 0; l < i; l++ {\n\t\t\t\ta[l*lda+j] = 0\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dorgtr.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dorgtr generates a real orthogonal matrix Q which is defined as the product\n// of n-1 elementary reflectors of order n as returned by Dsytrd.\n//\n// The construction of Q depends on the value of uplo:\n//  Q = H_{n-1} * ... * H_1 * H_0  if uplo == blas.Upper\n//  Q = H_0 * H_1 * ... * H_{n-1}  if uplo == blas.Lower\n// where H_i is constructed from the elementary reflectors as computed by Dsytrd.\n// See the documentation for Dsytrd for more information.\n//\n// tau must have length at least n-1, and Dorgtr will panic otherwise.\n//\n// work is temporary storage, and lwork specifies the usable memory length. At\n// minimum, lwork >= max(1,n-1), and Dorgtr will panic otherwise. The amount of blocking\n// is limited by the usable length.\n// If lwork == -1, instead of computing Dorgtr the optimal work length is stored\n// into work[0].\n//\n// Dorgtr is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dorgtr(uplo blas.Uplo, n int, a []float64, lda int, tau, work []float64, lwork int) {\n\tcheckMatrix(n, n, a, lda)\n\tif len(tau) < n-1 {\n\t\tpanic(badTau)\n\t}\n\tif len(work) < lwork {\n\t\tpanic(badWork)\n\t}\n\tif lwork < n-1 && lwork != -1 {\n\t\tpanic(badWork)\n\t}\n\tupper := uplo == blas.Upper\n\tif !upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\n\tif n == 0 {\n\t\twork[0] = 1\n\t\treturn\n\t}\n\n\tvar nb int\n\tif upper {\n\t\tnb = impl.Ilaenv(1, \"DORGQL\", \" \", n-1, n-1, n-1, -1)\n\t} else {\n\t\tnb = impl.Ilaenv(1, \"DORGQR\", \" \", n-1, n-1, n-1, -1)\n\t}\n\tlworkopt := max(1, n-1) * nb\n\tif lwork == -1 {\n\t\twork[0] = float64(lworkopt)\n\t\treturn\n\t}\n\n\tif upper {\n\t\t// Q was determined by a call to Dsytrd with uplo == blas.Upper.\n\t\t// Shift the vectors which define the elementary reflectors one column\n\t\t// to the left, and set the last row and column of Q to those of the unit\n\t\t// matrix.\n\t\tfor j := 0; j < n-1; j++ {\n\t\t\tfor i := 0; i < j; i++ {\n\t\t\t\ta[i*lda+j] = a[i*lda+j+1]\n\t\t\t}\n\t\t\ta[(n-1)*lda+j] = 0\n\t\t}\n\t\tfor i := 0; i < n-1; i++ {\n\t\t\ta[i*lda+n-1] = 0\n\t\t}\n\t\ta[(n-1)*lda+n-1] = 1\n\n\t\t// Generate Q[0:n-1, 0:n-1].\n\t\timpl.Dorgql(n-1, n-1, n-1, a, lda, tau, work, lwork)\n\t} else {\n\t\t// Q was determined by a call to Dsytrd with uplo == blas.Upper.\n\t\t// Shift the vectors which define the elementary reflectors one column\n\t\t// to the right, and set the first row and column of Q to those of the unit\n\t\t// matrix.\n\t\tfor j := n - 1; j > 0; j-- {\n\t\t\ta[j] = 0\n\t\t\tfor i := j + 1; i < n; i++ {\n\t\t\t\ta[i*lda+j] = a[i*lda+j-1]\n\t\t\t}\n\t\t}\n\t\ta[0] = 1\n\t\tfor i := 1; i < n; i++ {\n\t\t\ta[i*lda] = 0\n\t\t}\n\t\tif n > 1 {\n\t\t\t// Generate Q[1:n, 1:n].\n\t\t\timpl.Dorgqr(n-1, n-1, n-1, a[lda+1:], lda, tau, work, lwork)\n\t\t}\n\t}\n\twork[0] = float64(lworkopt)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dorm2r.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dorm2r multiplies a general matrix C by an orthogonal matrix from a QR factorization\n// determined by Dgeqrf.\n//  C = Q * C    if side == blas.Left and trans == blas.NoTrans\n//  C = Q^T * C  if side == blas.Left and trans == blas.Trans\n//  C = C * Q    if side == blas.Right and trans == blas.NoTrans\n//  C = C * Q^T  if side == blas.Right and trans == blas.Trans\n// If side == blas.Left, a is a matrix of size m×k, and if side == blas.Right\n// a is of size n×k.\n//\n// tau contains the Householder factors and is of length at least k and this function\n// will panic otherwise.\n//\n// work is temporary storage of length at least n if side == blas.Left\n// and at least m if side == blas.Right and this function will panic otherwise.\n//\n// Dorm2r is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dorm2r(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64) {\n\tif side != blas.Left && side != blas.Right {\n\t\tpanic(badSide)\n\t}\n\tif trans != blas.Trans && trans != blas.NoTrans {\n\t\tpanic(badTrans)\n\t}\n\n\tleft := side == blas.Left\n\tnotran := trans == blas.NoTrans\n\tif left {\n\t\t// Q is m x m\n\t\tcheckMatrix(m, k, a, lda)\n\t\tif len(work) < n {\n\t\t\tpanic(badWork)\n\t\t}\n\t} else {\n\t\t// Q is n x n\n\t\tcheckMatrix(n, k, a, lda)\n\t\tif len(work) < m {\n\t\t\tpanic(badWork)\n\t\t}\n\t}\n\tcheckMatrix(m, n, c, ldc)\n\tif m == 0 || n == 0 || k == 0 {\n\t\treturn\n\t}\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tif left {\n\t\tif notran {\n\t\t\tfor i := k - 1; i >= 0; i-- {\n\t\t\t\taii := a[i*lda+i]\n\t\t\t\ta[i*lda+i] = 1\n\t\t\t\timpl.Dlarf(side, m-i, n, a[i*lda+i:], lda, tau[i], c[i*ldc:], ldc, work)\n\t\t\t\ta[i*lda+i] = aii\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < k; i++ {\n\t\t\taii := a[i*lda+i]\n\t\t\ta[i*lda+i] = 1\n\t\t\timpl.Dlarf(side, m-i, n, a[i*lda+i:], lda, tau[i], c[i*ldc:], ldc, work)\n\t\t\ta[i*lda+i] = aii\n\t\t}\n\t\treturn\n\t}\n\tif notran {\n\t\tfor i := 0; i < k; i++ {\n\t\t\taii := a[i*lda+i]\n\t\t\ta[i*lda+i] = 1\n\t\t\timpl.Dlarf(side, m, n-i, a[i*lda+i:], lda, tau[i], c[i:], ldc, work)\n\t\t\ta[i*lda+i] = aii\n\t\t}\n\t\treturn\n\t}\n\tfor i := k - 1; i >= 0; i-- {\n\t\taii := a[i*lda+i]\n\t\ta[i*lda+i] = 1\n\t\timpl.Dlarf(side, m, n-i, a[i*lda+i:], lda, tau[i], c[i:], ldc, work)\n\t\ta[i*lda+i] = aii\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dormbr.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dormbr applies a multiplicative update to the matrix C based on a\n// decomposition computed by Dgebrd.\n//\n// Dormbr overwrites the m×n matrix C with\n//  Q * C   if vect == lapack.ApplyQ, side == blas.Left, and trans == blas.NoTrans\n//  C * Q   if vect == lapack.ApplyQ, side == blas.Right, and trans == blas.NoTrans\n//  Q^T * C if vect == lapack.ApplyQ, side == blas.Left, and trans == blas.Trans\n//  C * Q^T if vect == lapack.ApplyQ, side == blas.Right, and trans == blas.Trans\n//\n//  P * C   if vect == lapack.ApplyP, side == blas.Left, and trans == blas.NoTrans\n//  C * P   if vect == lapack.ApplyP, side == blas.Right, and trans == blas.NoTrans\n//  P^T * C if vect == lapack.ApplyP, side == blas.Left, and trans == blas.Trans\n//  C * P^T if vect == lapack.ApplyP, side == blas.Right, and trans == blas.Trans\n// where P and Q are the orthogonal matrices determined by Dgebrd when reducing\n// a matrix A to bidiagonal form: A = Q * B * P^T. See Dgebrd for the\n// definitions of Q and P.\n//\n// If vect == lapack.ApplyQ, A is assumed to have been an nq×k matrix, while if\n// vect == lapack.ApplyP, A is assumed to have been a k×nq matrix. nq = m if\n// side == blas.Left, while nq = n if side == blas.Right.\n//\n// tau must have length min(nq,k), and Dormbr will panic otherwise. tau contains\n// the elementary reflectors to construct Q or P depending on the value of\n// vect.\n//\n// work must have length at least max(1,lwork), and lwork must be either -1 or\n// at least max(1,n) if side == blas.Left, and at least max(1,m) if side ==\n// blas.Right. For optimum performance lwork should be at least n*nb if side ==\n// blas.Left, and at least m*nb if side == blas.Right, where nb is the optimal\n// block size. On return, work[0] will contain the optimal value of lwork.\n//\n// If lwork == -1, the function only calculates the optimal value of lwork and\n// returns it in work[0].\n//\n// Dormbr is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dormbr(vect lapack.DecompUpdate, side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int) {\n\tif side != blas.Left && side != blas.Right {\n\t\tpanic(badSide)\n\t}\n\tif trans != blas.NoTrans && trans != blas.Trans {\n\t\tpanic(badTrans)\n\t}\n\tif vect != lapack.ApplyP && vect != lapack.ApplyQ {\n\t\tpanic(badDecompUpdate)\n\t}\n\tnq := n\n\tnw := m\n\tif side == blas.Left {\n\t\tnq = m\n\t\tnw = n\n\t}\n\tif vect == lapack.ApplyQ {\n\t\tcheckMatrix(nq, min(nq, k), a, lda)\n\t} else {\n\t\tcheckMatrix(min(nq, k), nq, a, lda)\n\t}\n\tif len(tau) < min(nq, k) {\n\t\tpanic(badTau)\n\t}\n\tcheckMatrix(m, n, c, ldc)\n\tif len(work) < lwork {\n\t\tpanic(shortWork)\n\t}\n\tif lwork < max(1, nw) && lwork != -1 {\n\t\tpanic(badWork)\n\t}\n\n\tapplyQ := vect == lapack.ApplyQ\n\tleft := side == blas.Left\n\tvar nb int\n\n\t// The current implementation does not use opts, but a future change may\n\t// use these options so construct them.\n\tvar opts string\n\tif side == blas.Left {\n\t\topts = \"L\"\n\t} else {\n\t\topts = \"R\"\n\t}\n\tif trans == blas.Trans {\n\t\topts += \"T\"\n\t} else {\n\t\topts += \"N\"\n\t}\n\tif applyQ {\n\t\tif left {\n\t\t\tnb = impl.Ilaenv(1, \"DORMQR\", opts, m-1, n, m-1, -1)\n\t\t} else {\n\t\t\tnb = impl.Ilaenv(1, \"DORMQR\", opts, m, n-1, n-1, -1)\n\t\t}\n\t} else {\n\t\tif left {\n\t\t\tnb = impl.Ilaenv(1, \"DORMLQ\", opts, m-1, n, m-1, -1)\n\t\t} else {\n\t\t\tnb = impl.Ilaenv(1, \"DORMLQ\", opts, m, n-1, n-1, -1)\n\t\t}\n\t}\n\tlworkopt := max(1, nw) * nb\n\tif lwork == -1 {\n\t\twork[0] = float64(lworkopt)\n\t}\n\tif applyQ {\n\t\t// Change the operation to get Q depending on the size of the initial\n\t\t// matrix to Dgebrd. The size matters due to the storage location of\n\t\t// the off-diagonal elements.\n\t\tif nq >= k {\n\t\t\timpl.Dormqr(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork)\n\t\t} else if nq > 1 {\n\t\t\tmi := m\n\t\t\tni := n - 1\n\t\t\ti1 := 0\n\t\t\ti2 := 1\n\t\t\tif left {\n\t\t\t\tmi = m - 1\n\t\t\t\tni = n\n\t\t\t\ti1 = 1\n\t\t\t\ti2 = 0\n\t\t\t}\n\t\t\timpl.Dormqr(side, trans, mi, ni, nq-1, a[1*lda:], lda, tau[:nq-1], c[i1*ldc+i2:], ldc, work, lwork)\n\t\t}\n\t\twork[0] = float64(lworkopt)\n\t\treturn\n\t}\n\ttranst := blas.Trans\n\tif trans == blas.Trans {\n\t\ttranst = blas.NoTrans\n\t}\n\t// Change the operation to get P depending on the size of the initial\n\t// matrix to Dgebrd. The size matters due to the storage location of\n\t// the off-diagonal elements.\n\tif nq > k {\n\t\timpl.Dormlq(side, transt, m, n, k, a, lda, tau, c, ldc, work, lwork)\n\t} else if nq > 1 {\n\t\tmi := m\n\t\tni := n - 1\n\t\ti1 := 0\n\t\ti2 := 1\n\t\tif left {\n\t\t\tmi = m - 1\n\t\t\tni = n\n\t\t\ti1 = 1\n\t\t\ti2 = 0\n\t\t}\n\t\timpl.Dormlq(side, transt, mi, ni, nq-1, a[1:], lda, tau, c[i1*ldc+i2:], ldc, work, lwork)\n\t}\n\twork[0] = float64(lworkopt)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dormhr.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dormhr multiplies an m×n general matrix C with an nq×nq orthogonal matrix Q\n//  Q * C,    if side == blas.Left and trans == blas.NoTrans,\n//  Q^T * C,  if side == blas.Left and trans == blas.Trans,\n//  C * Q,    if side == blas.Right and trans == blas.NoTrans,\n//  C * Q^T,  if side == blas.Right and trans == blas.Trans,\n// where nq == m if side == blas.Left and nq == n if side == blas.Right.\n//\n// Q is defined implicitly as the product of ihi-ilo elementary reflectors, as\n// returned by Dgehrd:\n//  Q = H_{ilo} H_{ilo+1} ... H_{ihi-1}.\n// Q is equal to the identity matrix except in the submatrix\n// Q[ilo+1:ihi+1,ilo+1:ihi+1].\n//\n// ilo and ihi must have the same values as in the previous call of Dgehrd. It\n// must hold that\n//  0 <= ilo <= ihi < m,   if m > 0 and side == blas.Left,\n//  ilo = 0 and ihi = -1,  if m = 0 and side == blas.Left,\n//  0 <= ilo <= ihi < n,   if n > 0 and side == blas.Right,\n//  ilo = 0 and ihi = -1,  if n = 0 and side == blas.Right.\n//\n// a and lda represent an m×m matrix if side == blas.Left and an n×n matrix if\n// side == blas.Right. The matrix contains vectors which define the elementary\n// reflectors, as returned by Dgehrd.\n//\n// tau contains the scalar factors of the elementary reflectors, as returned by\n// Dgehrd. tau must have length m-1 if side == blas.Left and n-1 if side ==\n// blas.Right.\n//\n// c and ldc represent the m×n matrix C. On return, c is overwritten by the\n// product with Q.\n//\n// work must have length at least max(1,lwork), and lwork must be at least\n// max(1,n), if side == blas.Left, and max(1,m), if side == blas.Right. For\n// optimum performance lwork should be at least n*nb if side == blas.Left and\n// m*nb if side == blas.Right, where nb is the optimal block size. On return,\n// work[0] will contain the optimal value of lwork.\n//\n// If lwork == -1, instead of performing Dormhr, only the optimal value of lwork\n// will be stored in work[0].\n//\n// If any requirement on input sizes is not met, Dormhr will panic.\n//\n// Dormhr is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dormhr(side blas.Side, trans blas.Transpose, m, n, ilo, ihi int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int) {\n\tvar (\n\t\tnq int // The order of Q.\n\t\tnw int // The minimum length of work.\n\t)\n\tswitch side {\n\tcase blas.Left:\n\t\tnq = m\n\t\tnw = n\n\tcase blas.Right:\n\t\tnq = n\n\t\tnw = m\n\tdefault:\n\t\tpanic(badSide)\n\t}\n\tswitch {\n\tcase trans != blas.NoTrans && trans != blas.Trans:\n\t\tpanic(badTrans)\n\tcase ilo < 0 || max(1, nq) <= ilo:\n\t\tpanic(badIlo)\n\tcase ihi < min(ilo, nq-1) || nq <= ihi:\n\t\tpanic(badIhi)\n\tcase lwork < max(1, nw) && lwork != -1:\n\t\tpanic(badWork)\n\tcase len(work) < max(1, lwork):\n\t\tpanic(shortWork)\n\t}\n\tif lwork != -1 {\n\t\tcheckMatrix(m, n, c, ldc)\n\t\tcheckMatrix(nq, nq, a, lda)\n\t\tif len(tau) != nq-1 && nq > 0 {\n\t\t\tpanic(badTau)\n\t\t}\n\n\t}\n\n\tnh := ihi - ilo\n\tvar nb int\n\tif side == blas.Left {\n\t\topts := \"LN\"\n\t\tif trans == blas.Trans {\n\t\t\topts = \"LT\"\n\t\t}\n\t\tnb = impl.Ilaenv(1, \"DORMQR\", opts, nh, n, nh, -1)\n\t} else {\n\t\topts := \"RN\"\n\t\tif trans == blas.Trans {\n\t\t\topts = \"RT\"\n\t\t}\n\t\tnb = impl.Ilaenv(1, \"DORMQR\", opts, m, nh, nh, -1)\n\t}\n\tlwkopt := max(1, nw) * nb\n\tif lwork == -1 {\n\t\twork[0] = float64(lwkopt)\n\t\treturn\n\t}\n\n\tif m == 0 || n == 0 || nh == 0 {\n\t\twork[0] = 1\n\t\treturn\n\t}\n\tif side == blas.Left {\n\t\timpl.Dormqr(side, trans, nh, n, nh, a[(ilo+1)*lda+ilo:], lda,\n\t\t\ttau[ilo:ihi], c[(ilo+1)*ldc:], ldc, work, lwork)\n\t} else {\n\t\timpl.Dormqr(side, trans, m, nh, nh, a[(ilo+1)*lda+ilo:], lda,\n\t\t\ttau[ilo:ihi], c[ilo+1:], ldc, work, lwork)\n\t}\n\twork[0] = float64(lwkopt)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dorml2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dorml2 multiplies a general matrix C by an orthogonal matrix from an LQ factorization\n// determined by Dgelqf.\n//  C = Q * C    if side == blas.Left and trans == blas.NoTrans\n//  C = Q^T * C  if side == blas.Left and trans == blas.Trans\n//  C = C * Q    if side == blas.Right and trans == blas.NoTrans\n//  C = C * Q^T  if side == blas.Right and trans == blas.Trans\n// If side == blas.Left, a is a matrix of side k×m, and if side == blas.Right\n// a is of size k×n.\n//\n// tau contains the Householder factors and is of length at least k and this function will\n// panic otherwise.\n//\n// work is temporary storage of length at least n if side == blas.Left\n// and at least m if side == blas.Right and this function will panic otherwise.\n//\n// Dorml2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dorml2(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64) {\n\tif side != blas.Left && side != blas.Right {\n\t\tpanic(badSide)\n\t}\n\tif trans != blas.Trans && trans != blas.NoTrans {\n\t\tpanic(badTrans)\n\t}\n\n\tleft := side == blas.Left\n\tnotran := trans == blas.NoTrans\n\tif left {\n\t\tcheckMatrix(k, m, a, lda)\n\t\tif len(work) < n {\n\t\t\tpanic(badWork)\n\t\t}\n\t} else {\n\t\tcheckMatrix(k, n, a, lda)\n\t\tif len(work) < m {\n\t\t\tpanic(badWork)\n\t\t}\n\t}\n\tcheckMatrix(m, n, c, ldc)\n\tif m == 0 || n == 0 || k == 0 {\n\t\treturn\n\t}\n\tswitch {\n\tcase left && notran:\n\t\tfor i := 0; i < k; i++ {\n\t\t\taii := a[i*lda+i]\n\t\t\ta[i*lda+i] = 1\n\t\t\timpl.Dlarf(side, m-i, n, a[i*lda+i:], 1, tau[i], c[i*ldc:], ldc, work)\n\t\t\ta[i*lda+i] = aii\n\t\t}\n\n\tcase left && !notran:\n\t\tfor i := k - 1; i >= 0; i-- {\n\t\t\taii := a[i*lda+i]\n\t\t\ta[i*lda+i] = 1\n\t\t\timpl.Dlarf(side, m-i, n, a[i*lda+i:], 1, tau[i], c[i*ldc:], ldc, work)\n\t\t\ta[i*lda+i] = aii\n\t\t}\n\n\tcase !left && notran:\n\t\tfor i := k - 1; i >= 0; i-- {\n\t\t\taii := a[i*lda+i]\n\t\t\ta[i*lda+i] = 1\n\t\t\timpl.Dlarf(side, m, n-i, a[i*lda+i:], 1, tau[i], c[i:], ldc, work)\n\t\t\ta[i*lda+i] = aii\n\t\t}\n\n\tcase !left && !notran:\n\t\tfor i := 0; i < k; i++ {\n\t\t\taii := a[i*lda+i]\n\t\t\ta[i*lda+i] = 1\n\t\t\timpl.Dlarf(side, m, n-i, a[i*lda+i:], 1, tau[i], c[i:], ldc, work)\n\t\t\ta[i*lda+i] = aii\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dormlq.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dormlq multiplies the matrix C by the orthogonal matrix Q defined by the\n// slices a and tau. A and tau are as returned from Dgelqf.\n//  C = Q * C    if side == blas.Left and trans == blas.NoTrans\n//  C = Q^T * C  if side == blas.Left and trans == blas.Trans\n//  C = C * Q    if side == blas.Right and trans == blas.NoTrans\n//  C = C * Q^T  if side == blas.Right and trans == blas.Trans\n// If side == blas.Left, A is a matrix of side k×m, and if side == blas.Right\n// A is of size k×n. This uses a blocked algorithm.\n//\n// work is temporary storage, and lwork specifies the usable memory length.\n// At minimum, lwork >= m if side == blas.Left and lwork >= n if side == blas.Right,\n// and this function will panic otherwise.\n// Dormlq uses a block algorithm, but the block size is limited\n// by the temporary space available. If lwork == -1, instead of performing Dormlq,\n// the optimal work length will be stored into work[0].\n//\n// tau contains the Householder scales and must have length at least k, and\n// this function will panic otherwise.\nfunc (impl Implementation) Dormlq(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int) {\n\tif side != blas.Left && side != blas.Right {\n\t\tpanic(badSide)\n\t}\n\tif trans != blas.Trans && trans != blas.NoTrans {\n\t\tpanic(badTrans)\n\t}\n\tleft := side == blas.Left\n\tif left {\n\t\tcheckMatrix(k, m, a, lda)\n\t} else {\n\t\tcheckMatrix(k, n, a, lda)\n\t}\n\tcheckMatrix(m, n, c, ldc)\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tif len(work) < lwork {\n\t\tpanic(shortWork)\n\t}\n\tnw := m\n\tif left {\n\t\tnw = n\n\t}\n\tif lwork < max(1, nw) && lwork != -1 {\n\t\tpanic(badWork)\n\t}\n\n\tif m == 0 || n == 0 || k == 0 {\n\t\twork[0] = 1\n\t\treturn\n\t}\n\n\tconst (\n\t\tnbmax = 64\n\t\tldt   = nbmax\n\t\ttsize = nbmax * ldt\n\t)\n\topts := string(side) + string(trans)\n\tnb := min(nbmax, impl.Ilaenv(1, \"DORMLQ\", opts, m, n, k, -1))\n\tlworkopt := max(1, nw)*nb + tsize\n\tif lwork == -1 {\n\t\twork[0] = float64(lworkopt)\n\t\treturn\n\t}\n\n\tnbmin := 2\n\tif 1 < nb && nb < k {\n\t\tiws := nw*nb + tsize\n\t\tif lwork < iws {\n\t\t\tnb = (lwork - tsize) / nw\n\t\t\tnbmin = max(2, impl.Ilaenv(2, \"DORMLQ\", opts, m, n, k, -1))\n\t\t}\n\t}\n\tif nb < nbmin || k <= nb {\n\t\t// Call unblocked code.\n\t\timpl.Dorml2(side, trans, m, n, k, a, lda, tau, c, ldc, work)\n\t\twork[0] = float64(lworkopt)\n\t\treturn\n\t}\n\n\tt := work[:tsize]\n\twrk := work[tsize:]\n\tldwrk := nb\n\n\tnotran := trans == blas.NoTrans\n\ttranst := blas.NoTrans\n\tif notran {\n\t\ttranst = blas.Trans\n\t}\n\n\tswitch {\n\tcase left && notran:\n\t\tfor i := 0; i < k; i += nb {\n\t\t\tib := min(nb, k-i)\n\t\t\timpl.Dlarft(lapack.Forward, lapack.RowWise, m-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\ttau[i:],\n\t\t\t\tt, ldt)\n\t\t\timpl.Dlarfb(side, transt, lapack.Forward, lapack.RowWise, m-i, n, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\tt, ldt,\n\t\t\t\tc[i*ldc:], ldc,\n\t\t\t\twrk, ldwrk)\n\t\t}\n\n\tcase left && !notran:\n\t\tfor i := ((k - 1) / nb) * nb; i >= 0; i -= nb {\n\t\t\tib := min(nb, k-i)\n\t\t\timpl.Dlarft(lapack.Forward, lapack.RowWise, m-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\ttau[i:],\n\t\t\t\tt, ldt)\n\t\t\timpl.Dlarfb(side, transt, lapack.Forward, lapack.RowWise, m-i, n, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\tt, ldt,\n\t\t\t\tc[i*ldc:], ldc,\n\t\t\t\twrk, ldwrk)\n\t\t}\n\n\tcase !left && notran:\n\t\tfor i := ((k - 1) / nb) * nb; i >= 0; i -= nb {\n\t\t\tib := min(nb, k-i)\n\t\t\timpl.Dlarft(lapack.Forward, lapack.RowWise, n-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\ttau[i:],\n\t\t\t\tt, ldt)\n\t\t\timpl.Dlarfb(side, transt, lapack.Forward, lapack.RowWise, m, n-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\tt, ldt,\n\t\t\t\tc[i:], ldc,\n\t\t\t\twrk, ldwrk)\n\t\t}\n\n\tcase !left && !notran:\n\t\tfor i := 0; i < k; i += nb {\n\t\t\tib := min(nb, k-i)\n\t\t\timpl.Dlarft(lapack.Forward, lapack.RowWise, n-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\ttau[i:],\n\t\t\t\tt, ldt)\n\t\t\timpl.Dlarfb(side, transt, lapack.Forward, lapack.RowWise, m, n-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\tt, ldt,\n\t\t\t\tc[i:], ldc,\n\t\t\t\twrk, ldwrk)\n\t\t}\n\t}\n\twork[0] = float64(lworkopt)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dormqr.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dormqr multiplies an m×n matrix C by an orthogonal matrix Q as\n//  C = Q * C,    if side == blas.Left  and trans == blas.NoTrans,\n//  C = Q^T * C,  if side == blas.Left  and trans == blas.Trans,\n//  C = C * Q,    if side == blas.Right and trans == blas.NoTrans,\n//  C = C * Q^T,  if side == blas.Right and trans == blas.Trans,\n// where Q is defined as the product of k elementary reflectors\n//  Q = H_0 * H_1 * ... * H_{k-1}.\n//\n// If side == blas.Left, A is an m×k matrix and 0 <= k <= m.\n// If side == blas.Right, A is an n×k matrix and 0 <= k <= n.\n// The ith column of A contains the vector which defines the elementary\n// reflector H_i and tau[i] contains its scalar factor. tau must have length k\n// and Dormqr will panic otherwise. Dgeqrf returns A and tau in the required\n// form.\n//\n// work must have length at least max(1,lwork), and lwork must be at least n if\n// side == blas.Left and at least m if side == blas.Right, otherwise Dormqr will\n// panic.\n//\n// work is temporary storage, and lwork specifies the usable memory length. At\n// minimum, lwork >= m if side == blas.Left and lwork >= n if side ==\n// blas.Right, and this function will panic otherwise. Larger values of lwork\n// will generally give better performance. On return, work[0] will contain the\n// optimal value of lwork.\n//\n// If lwork is -1, instead of performing Dormqr, the optimal workspace size will\n// be stored into work[0].\nfunc (impl Implementation) Dormqr(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int) {\n\tvar nq, nw int\n\tswitch side {\n\tdefault:\n\t\tpanic(badSide)\n\tcase blas.Left:\n\t\tnq = m\n\t\tnw = n\n\tcase blas.Right:\n\t\tnq = n\n\t\tnw = m\n\t}\n\tswitch {\n\tcase trans != blas.NoTrans && trans != blas.Trans:\n\t\tpanic(badTrans)\n\tcase m < 0 || n < 0:\n\t\tpanic(negDimension)\n\tcase k < 0 || nq < k:\n\t\tpanic(\"lapack: invalid value of k\")\n\tcase len(work) < lwork:\n\t\tpanic(shortWork)\n\tcase lwork < max(1, nw) && lwork != -1:\n\t\tpanic(badWork)\n\t}\n\tif lwork != -1 {\n\t\tcheckMatrix(nq, k, a, lda)\n\t\tcheckMatrix(m, n, c, ldc)\n\t\tif len(tau) != k {\n\t\t\tpanic(badTau)\n\t\t}\n\t}\n\n\tif m == 0 || n == 0 || k == 0 {\n\t\twork[0] = 1\n\t\treturn\n\t}\n\n\tconst (\n\t\tnbmax = 64\n\t\tldt   = nbmax\n\t\ttsize = nbmax * ldt\n\t)\n\topts := string(side) + string(trans)\n\tnb := min(nbmax, impl.Ilaenv(1, \"DORMQR\", opts, m, n, k, -1))\n\tlworkopt := max(1, nw)*nb + tsize\n\tif lwork == -1 {\n\t\twork[0] = float64(lworkopt)\n\t\treturn\n\t}\n\n\tnbmin := 2\n\tif 1 < nb && nb < k {\n\t\tif lwork < nw*nb+tsize {\n\t\t\tnb = (lwork - tsize) / nw\n\t\t\tnbmin = max(2, impl.Ilaenv(2, \"DORMQR\", opts, m, n, k, -1))\n\t\t}\n\t}\n\n\tif nb < nbmin || k <= nb {\n\t\t// Call unblocked code.\n\t\timpl.Dorm2r(side, trans, m, n, k, a, lda, tau, c, ldc, work)\n\t\twork[0] = float64(lworkopt)\n\t\treturn\n\t}\n\n\tvar (\n\t\tldwork = nb\n\t\tleft   = side == blas.Left\n\t\tnotran = trans == blas.NoTrans\n\t)\n\tswitch {\n\tcase left && notran:\n\t\tfor i := ((k - 1) / nb) * nb; i >= 0; i -= nb {\n\t\t\tib := min(nb, k-i)\n\t\t\timpl.Dlarft(lapack.Forward, lapack.ColumnWise, m-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\ttau[i:],\n\t\t\t\twork[:tsize], ldt)\n\t\t\timpl.Dlarfb(side, trans, lapack.Forward, lapack.ColumnWise, m-i, n, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\twork[:tsize], ldt,\n\t\t\t\tc[i*ldc:], ldc,\n\t\t\t\twork[tsize:], ldwork)\n\t\t}\n\n\tcase left && !notran:\n\t\tfor i := 0; i < k; i += nb {\n\t\t\tib := min(nb, k-i)\n\t\t\timpl.Dlarft(lapack.Forward, lapack.ColumnWise, m-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\ttau[i:],\n\t\t\t\twork[:tsize], ldt)\n\t\t\timpl.Dlarfb(side, trans, lapack.Forward, lapack.ColumnWise, m-i, n, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\twork[:tsize], ldt,\n\t\t\t\tc[i*ldc:], ldc,\n\t\t\t\twork[tsize:], ldwork)\n\t\t}\n\n\tcase !left && notran:\n\t\tfor i := 0; i < k; i += nb {\n\t\t\tib := min(nb, k-i)\n\t\t\timpl.Dlarft(lapack.Forward, lapack.ColumnWise, n-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\ttau[i:],\n\t\t\t\twork[:tsize], ldt)\n\t\t\timpl.Dlarfb(side, trans, lapack.Forward, lapack.ColumnWise, m, n-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\twork[:tsize], ldt,\n\t\t\t\tc[i:], ldc,\n\t\t\t\twork[tsize:], ldwork)\n\t\t}\n\n\tcase !left && !notran:\n\t\tfor i := ((k - 1) / nb) * nb; i >= 0; i -= nb {\n\t\t\tib := min(nb, k-i)\n\t\t\timpl.Dlarft(lapack.Forward, lapack.ColumnWise, n-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\ttau[i:],\n\t\t\t\twork[:tsize], ldt)\n\t\t\timpl.Dlarfb(side, trans, lapack.Forward, lapack.ColumnWise, m, n-i, ib,\n\t\t\t\ta[i*lda+i:], lda,\n\t\t\t\twork[:tsize], ldt,\n\t\t\t\tc[i:], ldc,\n\t\t\t\twork[tsize:], ldwork)\n\t\t}\n\t}\n\twork[0] = float64(lworkopt)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dormr2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/blas\"\n\n// Dormr2 multiplies a general matrix C by an orthogonal matrix from a RQ factorization\n// determined by Dgerqf.\n//  C = Q * C    if side == blas.Left and trans == blas.NoTrans\n//  C = Q^T * C  if side == blas.Left and trans == blas.Trans\n//  C = C * Q    if side == blas.Right and trans == blas.NoTrans\n//  C = C * Q^T  if side == blas.Right and trans == blas.Trans\n// If side == blas.Left, a is a matrix of size k×m, and if side == blas.Right\n// a is of size k×n.\n//\n// tau contains the Householder factors and is of length at least k and this function\n// will panic otherwise.\n//\n// work is temporary storage of length at least n if side == blas.Left\n// and at least m if side == blas.Right and this function will panic otherwise.\n//\n// Dormr2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dormr2(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64) {\n\tif side != blas.Left && side != blas.Right {\n\t\tpanic(badSide)\n\t}\n\tif trans != blas.Trans && trans != blas.NoTrans {\n\t\tpanic(badTrans)\n\t}\n\n\tleft := side == blas.Left\n\tnotran := trans == blas.NoTrans\n\tif left {\n\t\tif k > m {\n\t\t\tpanic(kGTM)\n\t\t}\n\t\tcheckMatrix(k, m, a, lda)\n\t\tif len(work) < n {\n\t\t\tpanic(badWork)\n\t\t}\n\t} else {\n\t\tif k > n {\n\t\t\tpanic(kGTN)\n\t\t}\n\t\tcheckMatrix(k, n, a, lda)\n\t\tif len(work) < m {\n\t\t\tpanic(badWork)\n\t\t}\n\t}\n\tif len(tau) < k {\n\t\tpanic(badTau)\n\t}\n\tcheckMatrix(m, n, c, ldc)\n\n\tif m == 0 || n == 0 || k == 0 {\n\t\treturn\n\t}\n\tif left {\n\t\tif notran {\n\t\t\tfor i := k - 1; i >= 0; i-- {\n\t\t\t\taii := a[i*lda+(m-k+i)]\n\t\t\t\ta[i*lda+(m-k+i)] = 1\n\t\t\t\timpl.Dlarf(side, m-k+i+1, n, a[i*lda:], 1, tau[i], c, ldc, work)\n\t\t\t\ta[i*lda+(m-k+i)] = aii\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < k; i++ {\n\t\t\taii := a[i*lda+(m-k+i)]\n\t\t\ta[i*lda+(m-k+i)] = 1\n\t\t\timpl.Dlarf(side, m-k+i+1, n, a[i*lda:], 1, tau[i], c, ldc, work)\n\t\t\ta[i*lda+(m-k+i)] = aii\n\t\t}\n\t\treturn\n\t}\n\tif notran {\n\t\tfor i := 0; i < k; i++ {\n\t\t\taii := a[i*lda+(n-k+i)]\n\t\t\ta[i*lda+(n-k+i)] = 1\n\t\t\timpl.Dlarf(side, m, n-k+i+1, a[i*lda:], 1, tau[i], c, ldc, work)\n\t\t\ta[i*lda+(n-k+i)] = aii\n\t\t}\n\t\treturn\n\t}\n\tfor i := k - 1; i >= 0; i-- {\n\t\taii := a[i*lda+(n-k+i)]\n\t\ta[i*lda+(n-k+i)] = 1\n\t\timpl.Dlarf(side, m, n-k+i+1, a[i*lda:], 1, tau[i], c, ldc, work)\n\t\ta[i*lda+(n-k+i)] = aii\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dpbtf2.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dpbtf2 computes the Cholesky factorization of a symmetric positive banded\n// matrix ab. The matrix ab is n×n with kd diagonal bands. The Cholesky\n// factorization computed is\n//  A = U^T * U if ul == blas.Upper\n//  A = L * L^T if ul == blas.Lower\n// ul also specifies the storage of ab. If ul == blas.Upper, then\n// ab is stored as an upper-triangular banded matrix with kd super-diagonals,\n// and if ul == blas.Lower, ab is stored as a lower-triangular banded matrix\n// with kd sub-diagonals. On exit, the banded matrix U or L is stored in-place\n// into ab depending on the value of ul. Dpbtf2 returns whether the factorization\n// was successfully completed.\n//\n// The band storage scheme is illustrated below when n = 6, and kd = 2.\n// The resulting Cholesky decomposition is stored in the same elements as the\n// input band matrix (a11 becomes u11 or l11, etc.).\n//\n//  ul = blas.Upper\n//  a11 a12 a13\n//  a22 a23 a24\n//  a33 a34 a35\n//  a44 a45 a46\n//  a55 a56  *\n//  a66  *   *\n//\n//  ul = blas.Lower\n//   *   *  a11\n//   *  a21 a22\n//  a31 a32 a33\n//  a42 a43 a44\n//  a53 a54 a55\n//  a64 a65 a66\n//\n// Dpbtf2 is the unblocked version of the algorithm, see Dpbtrf for the blocked\n// version.\n//\n// Dpbtf2 is an internal routine, exported for testing purposes.\nfunc (Implementation) Dpbtf2(ul blas.Uplo, n, kd int, ab []float64, ldab int) (ok bool) {\n\tif ul != blas.Upper && ul != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tcheckSymBanded(ab, n, kd, ldab)\n\tif n == 0 {\n\t\treturn\n\t}\n\tbi := blas64.Implementation()\n\tkld := max(1, ldab-1)\n\tif ul == blas.Upper {\n\t\tfor j := 0; j < n; j++ {\n\t\t\t// Compute U(J,J) and test for non positive-definiteness.\n\t\t\tajj := ab[j*ldab]\n\t\t\tif ajj <= 0 {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tajj = math.Sqrt(ajj)\n\t\t\tab[j*ldab] = ajj\n\t\t\t// Compute elements j+1:j+kn of row J and update the trailing submatrix\n\t\t\t// within the band.\n\t\t\tkn := min(kd, n-j-1)\n\t\t\tif kn > 0 {\n\t\t\t\tbi.Dscal(kn, 1/ajj, ab[j*ldab+1:], 1)\n\t\t\t\tbi.Dsyr(blas.Upper, kn, -1, ab[j*ldab+1:], 1, ab[(j+1)*ldab:], kld)\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\tfor j := 0; j < n; j++ {\n\t\t// Compute L(J,J) and test for non positive-definiteness.\n\t\tajj := ab[j*ldab+kd]\n\t\tif ajj <= 0 {\n\t\t\treturn false\n\t\t}\n\t\tajj = math.Sqrt(ajj)\n\t\tab[j*ldab+kd] = ajj\n\n\t\t// Compute elements J+1:J+KN of column J and update the trailing submatrix\n\t\t// within the band.\n\t\tkn := min(kd, n-j-1)\n\t\tif kn > 0 {\n\t\t\tbi.Dscal(kn, 1/ajj, ab[(j+1)*ldab+kd-1:], kld)\n\t\t\tbi.Dsyr(blas.Lower, kn, -1, ab[(j+1)*ldab+kd-1:], kld, ab[(j+1)*ldab+kd:], kld)\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dpocon.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dpocon estimates the reciprocal of the condition number of a positive-definite\n// matrix A given the Cholesky decomposition of A. The condition number computed\n// is based on the 1-norm and the ∞-norm.\n//\n// anorm is the 1-norm and the ∞-norm of the original matrix A.\n//\n// work is a temporary data slice of length at least 3*n and Dpocon will panic otherwise.\n//\n// iwork is a temporary data slice of length at least n and Dpocon will panic otherwise.\nfunc (impl Implementation) Dpocon(uplo blas.Uplo, n int, a []float64, lda int, anorm float64, work []float64, iwork []int) float64 {\n\tcheckMatrix(n, n, a, lda)\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tif len(work) < 3*n {\n\t\tpanic(badWork)\n\t}\n\tif len(iwork) < n {\n\t\tpanic(badWork)\n\t}\n\tvar rcond float64\n\tif n == 0 {\n\t\treturn 1\n\t}\n\tif anorm == 0 {\n\t\treturn rcond\n\t}\n\n\tbi := blas64.Implementation()\n\tvar ainvnm float64\n\tsmlnum := dlamchS\n\tupper := uplo == blas.Upper\n\tvar kase int\n\tvar normin bool\n\tisave := new([3]int)\n\tvar sl, su float64\n\tfor {\n\t\tainvnm, kase = impl.Dlacn2(n, work[n:], work, iwork, ainvnm, kase, isave)\n\t\tif kase == 0 {\n\t\t\tif ainvnm != 0 {\n\t\t\t\trcond = (1 / ainvnm) / anorm\n\t\t\t}\n\t\t\treturn rcond\n\t\t}\n\t\tif upper {\n\t\t\tsl = impl.Dlatrs(blas.Upper, blas.Trans, blas.NonUnit, normin, n, a, lda, work, work[2*n:])\n\t\t\tnormin = true\n\t\t\tsu = impl.Dlatrs(blas.Upper, blas.NoTrans, blas.NonUnit, normin, n, a, lda, work, work[2*n:])\n\t\t} else {\n\t\t\tsl = impl.Dlatrs(blas.Lower, blas.NoTrans, blas.NonUnit, normin, n, a, lda, work, work[2*n:])\n\t\t\tnormin = true\n\t\t\tsu = impl.Dlatrs(blas.Lower, blas.Trans, blas.NonUnit, normin, n, a, lda, work, work[2*n:])\n\t\t}\n\t\tscale := sl * su\n\t\tif scale != 1 {\n\t\t\tix := bi.Idamax(n, work, 1)\n\t\t\tif scale == 0 || scale < math.Abs(work[ix])*smlnum {\n\t\t\t\treturn rcond\n\t\t\t}\n\t\t\timpl.Drscl(n, scale, work, 1)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dpotf2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dpotf2 computes the Cholesky decomposition of the symmetric positive definite\n// matrix a. If ul == blas.Upper, then a is stored as an upper-triangular matrix,\n// and a = U^T U is stored in place into a. If ul == blas.Lower, then a = L L^T\n// is computed and stored in-place into a. If a is not positive definite, false\n// is returned. This is the unblocked version of the algorithm.\n//\n// Dpotf2 is an internal routine. It is exported for testing purposes.\nfunc (Implementation) Dpotf2(ul blas.Uplo, n int, a []float64, lda int) (ok bool) {\n\tif ul != blas.Upper && ul != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tcheckMatrix(n, n, a, lda)\n\n\tif n == 0 {\n\t\treturn true\n\t}\n\n\tbi := blas64.Implementation()\n\tif ul == blas.Upper {\n\t\tfor j := 0; j < n; j++ {\n\t\t\tajj := a[j*lda+j]\n\t\t\tif j != 0 {\n\t\t\t\tajj -= bi.Ddot(j, a[j:], lda, a[j:], lda)\n\t\t\t}\n\t\t\tif ajj <= 0 || math.IsNaN(ajj) {\n\t\t\t\ta[j*lda+j] = ajj\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tajj = math.Sqrt(ajj)\n\t\t\ta[j*lda+j] = ajj\n\t\t\tif j < n-1 {\n\t\t\t\tbi.Dgemv(blas.Trans, j, n-j-1,\n\t\t\t\t\t-1, a[j+1:], lda, a[j:], lda,\n\t\t\t\t\t1, a[j*lda+j+1:], 1)\n\t\t\t\tbi.Dscal(n-j-1, 1/ajj, a[j*lda+j+1:], 1)\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\tfor j := 0; j < n; j++ {\n\t\tajj := a[j*lda+j]\n\t\tif j != 0 {\n\t\t\tajj -= bi.Ddot(j, a[j*lda:], 1, a[j*lda:], 1)\n\t\t}\n\t\tif ajj <= 0 || math.IsNaN(ajj) {\n\t\t\ta[j*lda+j] = ajj\n\t\t\treturn false\n\t\t}\n\t\tajj = math.Sqrt(ajj)\n\t\ta[j*lda+j] = ajj\n\t\tif j < n-1 {\n\t\t\tbi.Dgemv(blas.NoTrans, n-j-1, j,\n\t\t\t\t-1, a[(j+1)*lda:], lda, a[j*lda:], 1,\n\t\t\t\t1, a[(j+1)*lda+j:], lda)\n\t\t\tbi.Dscal(n-j-1, 1/ajj, a[(j+1)*lda+j:], lda)\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dpotrf.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dpotrf computes the Cholesky decomposition of the symmetric positive definite\n// matrix a. If ul == blas.Upper, then a is stored as an upper-triangular matrix,\n// and a = U^T U is stored in place into a. If ul == blas.Lower, then a = L L^T\n// is computed and stored in-place into a. If a is not positive definite, false\n// is returned. This is the blocked version of the algorithm.\nfunc (impl Implementation) Dpotrf(ul blas.Uplo, n int, a []float64, lda int) (ok bool) {\n\tif ul != blas.Upper && ul != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tcheckMatrix(n, n, a, lda)\n\n\tif n == 0 {\n\t\treturn true\n\t}\n\n\tnb := impl.Ilaenv(1, \"DPOTRF\", string(ul), n, -1, -1, -1)\n\tif nb <= 1 || n <= nb {\n\t\treturn impl.Dpotf2(ul, n, a, lda)\n\t}\n\tbi := blas64.Implementation()\n\tif ul == blas.Upper {\n\t\tfor j := 0; j < n; j += nb {\n\t\t\tjb := min(nb, n-j)\n\t\t\tbi.Dsyrk(blas.Upper, blas.Trans, jb, j,\n\t\t\t\t-1, a[j:], lda,\n\t\t\t\t1, a[j*lda+j:], lda)\n\t\t\tok = impl.Dpotf2(blas.Upper, jb, a[j*lda+j:], lda)\n\t\t\tif !ok {\n\t\t\t\treturn ok\n\t\t\t}\n\t\t\tif j+jb < n {\n\t\t\t\tbi.Dgemm(blas.Trans, blas.NoTrans, jb, n-j-jb, j,\n\t\t\t\t\t-1, a[j:], lda, a[j+jb:], lda,\n\t\t\t\t\t1, a[j*lda+j+jb:], lda)\n\t\t\t\tbi.Dtrsm(blas.Left, blas.Upper, blas.Trans, blas.NonUnit, jb, n-j-jb,\n\t\t\t\t\t1, a[j*lda+j:], lda,\n\t\t\t\t\ta[j*lda+j+jb:], lda)\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\tfor j := 0; j < n; j += nb {\n\t\tjb := min(nb, n-j)\n\t\tbi.Dsyrk(blas.Lower, blas.NoTrans, jb, j,\n\t\t\t-1, a[j*lda:], lda,\n\t\t\t1, a[j*lda+j:], lda)\n\t\tok := impl.Dpotf2(blas.Lower, jb, a[j*lda+j:], lda)\n\t\tif !ok {\n\t\t\treturn ok\n\t\t}\n\t\tif j+jb < n {\n\t\t\tbi.Dgemm(blas.NoTrans, blas.Trans, n-j-jb, jb, j,\n\t\t\t\t-1, a[(j+jb)*lda:], lda, a[j*lda:], lda,\n\t\t\t\t1, a[(j+jb)*lda+j:], lda)\n\t\t\tbi.Dtrsm(blas.Right, blas.Lower, blas.Trans, blas.NonUnit, n-j-jb, jb,\n\t\t\t\t1, a[j*lda+j:], lda,\n\t\t\t\ta[(j+jb)*lda+j:], lda)\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/drscl.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Drscl multiplies the vector x by 1/a being careful to avoid overflow or\n// underflow where possible.\n//\n// Drscl is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Drscl(n int, a float64, x []float64, incX int) {\n\tcheckVector(n, x, incX)\n\tbi := blas64.Implementation()\n\tcden := a\n\tcnum := 1.0\n\tsmlnum := dlamchS\n\tbignum := 1 / smlnum\n\tfor {\n\t\tcden1 := cden * smlnum\n\t\tcnum1 := cnum / bignum\n\t\tvar mul float64\n\t\tvar done bool\n\t\tswitch {\n\t\tcase cnum != 0 && math.Abs(cden1) > math.Abs(cnum):\n\t\t\tmul = smlnum\n\t\t\tdone = false\n\t\t\tcden = cden1\n\t\tcase math.Abs(cnum1) > math.Abs(cden):\n\t\t\tmul = bignum\n\t\t\tdone = false\n\t\t\tcnum = cnum1\n\t\tdefault:\n\t\t\tmul = cnum / cden\n\t\t\tdone = true\n\t\t}\n\t\tbi.Dscal(n, mul, x, incX)\n\t\tif done {\n\t\t\tbreak\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dsteqr.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dsteqr computes the eigenvalues and optionally the eigenvectors of a symmetric\n// tridiagonal matrix using the implicit QL or QR method. The eigenvectors of a\n// full or band symmetric matrix can also be found if Dsytrd, Dsptrd, or Dsbtrd\n// have been used to reduce this matrix to tridiagonal form.\n//\n// d, on entry, contains the diagonal elements of the tridiagonal matrix. On exit,\n// d contains the eigenvalues in ascending order. d must have length n and\n// Dsteqr will panic otherwise.\n//\n// e, on entry, contains the off-diagonal elements of the tridiagonal matrix on\n// entry, and is overwritten during the call to Dsteqr. e must have length n-1 and\n// Dsteqr will panic otherwise.\n//\n// z, on entry, contains the n×n orthogonal matrix used in the reduction to\n// tridiagonal form if compz == lapack.OriginalEV. On exit, if\n// compz == lapack.OriginalEV, z contains the orthonormal eigenvectors of the\n// original symmetric matrix, and if compz == lapack.TridiagEV, z contains the\n// orthonormal eigenvectors of the symmetric tridiagonal matrix. z is not used\n// if compz == lapack.None.\n//\n// work must have length at least max(1, 2*n-2) if the eigenvectors are computed,\n// and Dsteqr will panic otherwise.\n//\n// Dsteqr is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dsteqr(compz lapack.EVComp, n int, d, e, z []float64, ldz int, work []float64) (ok bool) {\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif len(d) < n {\n\t\tpanic(badD)\n\t}\n\tif len(e) < n-1 {\n\t\tpanic(badE)\n\t}\n\tif compz != lapack.None && compz != lapack.TridiagEV && compz != lapack.OriginalEV {\n\t\tpanic(badEVComp)\n\t}\n\tif compz != lapack.None {\n\t\tif len(work) < max(1, 2*n-2) {\n\t\t\tpanic(badWork)\n\t\t}\n\t\tcheckMatrix(n, n, z, ldz)\n\t}\n\n\tvar icompz int\n\tif compz == lapack.OriginalEV {\n\t\ticompz = 1\n\t} else if compz == lapack.TridiagEV {\n\t\ticompz = 2\n\t}\n\n\tif n == 0 {\n\t\treturn true\n\t}\n\tif n == 1 {\n\t\tif icompz == 2 {\n\t\t\tz[0] = 1\n\t\t}\n\t\treturn true\n\t}\n\n\tbi := blas64.Implementation()\n\n\teps := dlamchE\n\teps2 := eps * eps\n\tsafmin := dlamchS\n\tsafmax := 1 / safmin\n\tssfmax := math.Sqrt(safmax) / 3\n\tssfmin := math.Sqrt(safmin) / eps2\n\n\t// Compute the eigenvalues and eigenvectors of the tridiagonal matrix.\n\tif icompz == 2 {\n\t\timpl.Dlaset(blas.All, n, n, 0, 1, z, ldz)\n\t}\n\tconst maxit = 30\n\tnmaxit := n * maxit\n\n\tjtot := 0\n\n\t// Determine where the matrix splits and choose QL or QR iteration for each\n\t// block, according to whether top or bottom diagonal element is smaller.\n\tl1 := 0\n\tnm1 := n - 1\n\n\ttype scaletype int\n\tconst (\n\t\tdown scaletype = iota + 1\n\t\tup\n\t)\n\tvar iscale scaletype\n\n\tfor {\n\t\tif l1 > n-1 {\n\t\t\t// Order eigenvalues and eigenvectors.\n\t\t\tif icompz == 0 {\n\t\t\t\timpl.Dlasrt(lapack.SortIncreasing, n, d)\n\t\t\t} else {\n\t\t\t\t// TODO(btracey): Consider replacing this sort with a call to sort.Sort.\n\t\t\t\tfor ii := 1; ii < n; ii++ {\n\t\t\t\t\ti := ii - 1\n\t\t\t\t\tk := i\n\t\t\t\t\tp := d[i]\n\t\t\t\t\tfor j := ii; j < n; j++ {\n\t\t\t\t\t\tif d[j] < p {\n\t\t\t\t\t\t\tk = j\n\t\t\t\t\t\t\tp = d[j]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif k != i {\n\t\t\t\t\t\td[k] = d[i]\n\t\t\t\t\t\td[i] = p\n\t\t\t\t\t\tbi.Dswap(n, z[i:], ldz, z[k:], ldz)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\t\tif l1 > 0 {\n\t\t\te[l1-1] = 0\n\t\t}\n\t\tvar m int\n\t\tif l1 <= nm1 {\n\t\t\tfor m = l1; m < nm1; m++ {\n\t\t\t\ttest := math.Abs(e[m])\n\t\t\t\tif test == 0 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif test <= (math.Sqrt(math.Abs(d[m]))*math.Sqrt(math.Abs(d[m+1])))*eps {\n\t\t\t\t\te[m] = 0\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tl := l1\n\t\tlsv := l\n\t\tlend := m\n\t\tlendsv := lend\n\t\tl1 = m + 1\n\t\tif lend == l {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Scale submatrix in rows and columns L to Lend\n\t\tanorm := impl.Dlanst(lapack.MaxAbs, lend-l+1, d[l:], e[l:])\n\t\tswitch {\n\t\tcase anorm == 0:\n\t\t\tcontinue\n\t\tcase anorm > ssfmax:\n\t\t\tiscale = down\n\t\t\t// Pretend that d and e are matrices with 1 column.\n\t\t\timpl.Dlascl(lapack.General, 0, 0, anorm, ssfmax, lend-l+1, 1, d[l:], 1)\n\t\t\timpl.Dlascl(lapack.General, 0, 0, anorm, ssfmax, lend-l, 1, e[l:], 1)\n\t\tcase anorm < ssfmin:\n\t\t\tiscale = up\n\t\t\timpl.Dlascl(lapack.General, 0, 0, anorm, ssfmin, lend-l+1, 1, d[l:], 1)\n\t\t\timpl.Dlascl(lapack.General, 0, 0, anorm, ssfmin, lend-l, 1, e[l:], 1)\n\t\t}\n\n\t\t// Choose between QL and QR.\n\t\tif math.Abs(d[lend]) < math.Abs(d[l]) {\n\t\t\tlend = lsv\n\t\t\tl = lendsv\n\t\t}\n\t\tif lend > l {\n\t\t\t// QL Iteration. Look for small subdiagonal element.\n\t\t\tfor {\n\t\t\t\tif l != lend {\n\t\t\t\t\tfor m = l; m < lend; m++ {\n\t\t\t\t\t\tv := math.Abs(e[m])\n\t\t\t\t\t\tif v*v <= (eps2*math.Abs(d[m]))*math.Abs(d[m+1])+safmin {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tm = lend\n\t\t\t\t}\n\t\t\t\tif m < lend {\n\t\t\t\t\te[m] = 0\n\t\t\t\t}\n\t\t\t\tp := d[l]\n\t\t\t\tif m == l {\n\t\t\t\t\t// Eigenvalue found.\n\t\t\t\t\tl++\n\t\t\t\t\tif l > lend {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\t// If remaining matrix is 2×2, use Dlae2 to compute its eigensystem.\n\t\t\t\tif m == l+1 {\n\t\t\t\t\tif icompz > 0 {\n\t\t\t\t\t\td[l], d[l+1], work[l], work[n-1+l] = impl.Dlaev2(d[l], e[l], d[l+1])\n\t\t\t\t\t\timpl.Dlasr(blas.Right, lapack.Variable, lapack.Backward,\n\t\t\t\t\t\t\tn, 2, work[l:], work[n-1+l:], z[l:], ldz)\n\t\t\t\t\t} else {\n\t\t\t\t\t\td[l], d[l+1] = impl.Dlae2(d[l], e[l], d[l+1])\n\t\t\t\t\t}\n\t\t\t\t\te[l] = 0\n\t\t\t\t\tl += 2\n\t\t\t\t\tif l > lend {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tif jtot == nmaxit {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tjtot++\n\n\t\t\t\t// Form shift\n\t\t\t\tg := (d[l+1] - p) / (2 * e[l])\n\t\t\t\tr := impl.Dlapy2(g, 1)\n\t\t\t\tg = d[m] - p + e[l]/(g+math.Copysign(r, g))\n\t\t\t\ts := 1.0\n\t\t\t\tc := 1.0\n\t\t\t\tp = 0.0\n\n\t\t\t\t// Inner loop\n\t\t\t\tfor i := m - 1; i >= l; i-- {\n\t\t\t\t\tf := s * e[i]\n\t\t\t\t\tb := c * e[i]\n\t\t\t\t\tc, s, r = impl.Dlartg(g, f)\n\t\t\t\t\tif i != m-1 {\n\t\t\t\t\t\te[i+1] = r\n\t\t\t\t\t}\n\t\t\t\t\tg = d[i+1] - p\n\t\t\t\t\tr = (d[i]-g)*s + 2*c*b\n\t\t\t\t\tp = s * r\n\t\t\t\t\td[i+1] = g + p\n\t\t\t\t\tg = c*r - b\n\n\t\t\t\t\t// If eigenvectors are desired, then save rotations.\n\t\t\t\t\tif icompz > 0 {\n\t\t\t\t\t\twork[i] = c\n\t\t\t\t\t\twork[n-1+i] = -s\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If eigenvectors are desired, then apply saved rotations.\n\t\t\t\tif icompz > 0 {\n\t\t\t\t\tmm := m - l + 1\n\t\t\t\t\timpl.Dlasr(blas.Right, lapack.Variable, lapack.Backward,\n\t\t\t\t\t\tn, mm, work[l:], work[n-1+l:], z[l:], ldz)\n\t\t\t\t}\n\t\t\t\td[l] -= p\n\t\t\t\te[l] = g\n\t\t\t}\n\t\t} else {\n\t\t\t// QR Iteration.\n\t\t\t// Look for small superdiagonal element.\n\t\t\tfor {\n\t\t\t\tif l != lend {\n\t\t\t\t\tfor m = l; m > lend; m-- {\n\t\t\t\t\t\tv := math.Abs(e[m-1])\n\t\t\t\t\t\tif v*v <= (eps2*math.Abs(d[m])*math.Abs(d[m-1]) + safmin) {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tm = lend\n\t\t\t\t}\n\t\t\t\tif m > lend {\n\t\t\t\t\te[m-1] = 0\n\t\t\t\t}\n\t\t\t\tp := d[l]\n\t\t\t\tif m == l {\n\t\t\t\t\t// Eigenvalue found\n\t\t\t\t\tl--\n\t\t\t\t\tif l < lend {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\t// If remaining matrix is 2×2, use Dlae2 to compute its eigenvalues.\n\t\t\t\tif m == l-1 {\n\t\t\t\t\tif icompz > 0 {\n\t\t\t\t\t\td[l-1], d[l], work[m], work[n-1+m] = impl.Dlaev2(d[l-1], e[l-1], d[l])\n\t\t\t\t\t\timpl.Dlasr(blas.Right, lapack.Variable, lapack.Forward,\n\t\t\t\t\t\t\tn, 2, work[m:], work[n-1+m:], z[l-1:], ldz)\n\t\t\t\t\t} else {\n\t\t\t\t\t\td[l-1], d[l] = impl.Dlae2(d[l-1], e[l-1], d[l])\n\t\t\t\t\t}\n\t\t\t\t\te[l-1] = 0\n\t\t\t\t\tl -= 2\n\t\t\t\t\tif l < lend {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif jtot == nmaxit {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tjtot++\n\n\t\t\t\t// Form shift.\n\t\t\t\tg := (d[l-1] - p) / (2 * e[l-1])\n\t\t\t\tr := impl.Dlapy2(g, 1)\n\t\t\t\tg = d[m] - p + (e[l-1])/(g+math.Copysign(r, g))\n\t\t\t\ts := 1.0\n\t\t\t\tc := 1.0\n\t\t\t\tp = 0.0\n\n\t\t\t\t// Inner loop.\n\t\t\t\tfor i := m; i < l; i++ {\n\t\t\t\t\tf := s * e[i]\n\t\t\t\t\tb := c * e[i]\n\t\t\t\t\tc, s, r = impl.Dlartg(g, f)\n\t\t\t\t\tif i != m {\n\t\t\t\t\t\te[i-1] = r\n\t\t\t\t\t}\n\t\t\t\t\tg = d[i] - p\n\t\t\t\t\tr = (d[i+1]-g)*s + 2*c*b\n\t\t\t\t\tp = s * r\n\t\t\t\t\td[i] = g + p\n\t\t\t\t\tg = c*r - b\n\n\t\t\t\t\t// If eigenvectors are desired, then save rotations.\n\t\t\t\t\tif icompz > 0 {\n\t\t\t\t\t\twork[i] = c\n\t\t\t\t\t\twork[n-1+i] = s\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// If eigenvectors are desired, then apply saved rotations.\n\t\t\t\tif icompz > 0 {\n\t\t\t\t\tmm := l - m + 1\n\t\t\t\t\timpl.Dlasr(blas.Right, lapack.Variable, lapack.Forward,\n\t\t\t\t\t\tn, mm, work[m:], work[n-1+m:], z[m:], ldz)\n\t\t\t\t}\n\t\t\t\td[l] -= p\n\t\t\t\te[l-1] = g\n\t\t\t}\n\t\t}\n\n\t\t// Undo scaling if necessary.\n\t\tswitch iscale {\n\t\tcase down:\n\t\t\t// Pretend that d and e are matrices with 1 column.\n\t\t\timpl.Dlascl(lapack.General, 0, 0, ssfmax, anorm, lendsv-lsv+1, 1, d[lsv:], 1)\n\t\t\timpl.Dlascl(lapack.General, 0, 0, ssfmax, anorm, lendsv-lsv, 1, e[lsv:], 1)\n\t\tcase up:\n\t\t\timpl.Dlascl(lapack.General, 0, 0, ssfmin, anorm, lendsv-lsv+1, 1, d[lsv:], 1)\n\t\t\timpl.Dlascl(lapack.General, 0, 0, ssfmin, anorm, lendsv-lsv, 1, e[lsv:], 1)\n\t\t}\n\n\t\t// Check for no convergence to an eigenvalue after a total of n*maxit iterations.\n\t\tif jtot >= nmaxit {\n\t\t\tbreak\n\t\t}\n\t}\n\tfor i := 0; i < n-1; i++ {\n\t\tif e[i] != 0 {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dsterf.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dsterf computes all eigenvalues of a symmetric tridiagonal matrix using the\n// Pal-Walker-Kahan variant of the QL or QR algorithm.\n//\n// d contains the diagonal elements of the tridiagonal matrix on entry, and\n// contains the eigenvalues in ascending order on exit. d must have length at\n// least n, or Dsterf will panic.\n//\n// e contains the off-diagonal elements of the tridiagonal matrix on entry, and is\n// overwritten during the call to Dsterf. e must have length of at least n-1 or\n// Dsterf will panic.\n//\n// Dsterf is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dsterf(n int, d, e []float64) (ok bool) {\n\tif n < 0 {\n\t\tpanic(nLT0)\n\t}\n\tif n == 0 {\n\t\treturn true\n\t}\n\tif len(d) < n {\n\t\tpanic(badD)\n\t}\n\tif len(e) < n-1 {\n\t\tpanic(badE)\n\t}\n\n\tconst (\n\t\tnone = 0 // The values are not scaled.\n\t\tdown = 1 // The values are scaled below ssfmax threshold.\n\t\tup   = 2 // The values are scaled below ssfmin threshold.\n\t)\n\n\t// Determine the unit roundoff for this environment.\n\teps := dlamchE\n\teps2 := eps * eps\n\tsafmin := dlamchS\n\tsafmax := 1 / safmin\n\tssfmax := math.Sqrt(safmax) / 3\n\tssfmin := math.Sqrt(safmin) / eps2\n\n\t// Compute the eigenvalues of the tridiagonal matrix.\n\tmaxit := 30\n\tnmaxit := n * maxit\n\tjtot := 0\n\n\tl1 := 0\n\n\tfor {\n\t\tif l1 > n-1 {\n\t\t\timpl.Dlasrt(lapack.SortIncreasing, n, d)\n\t\t\treturn true\n\t\t}\n\t\tif l1 > 0 {\n\t\t\te[l1-1] = 0\n\t\t}\n\t\tvar m int\n\t\tfor m = l1; m < n-1; m++ {\n\t\t\tif math.Abs(e[m]) <= math.Sqrt(math.Abs(d[m]))*math.Sqrt(math.Abs(d[m+1]))*eps {\n\t\t\t\te[m] = 0\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tl := l1\n\t\tlsv := l\n\t\tlend := m\n\t\tlendsv := lend\n\t\tl1 = m + 1\n\t\tif lend == 0 {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Scale submatrix in rows and columns l to lend.\n\t\tanorm := impl.Dlanst(lapack.MaxAbs, lend-l+1, d[l:], e[l:])\n\t\tiscale := none\n\t\tif anorm == 0 {\n\t\t\tcontinue\n\t\t}\n\t\tif anorm > ssfmax {\n\t\t\tiscale = down\n\t\t\timpl.Dlascl(lapack.General, 0, 0, anorm, ssfmax, lend-l+1, 1, d[l:], n)\n\t\t\timpl.Dlascl(lapack.General, 0, 0, anorm, ssfmax, lend-l, 1, e[l:], n)\n\t\t} else if anorm < ssfmin {\n\t\t\tiscale = up\n\t\t\timpl.Dlascl(lapack.General, 0, 0, anorm, ssfmin, lend-l+1, 1, d[l:], n)\n\t\t\timpl.Dlascl(lapack.General, 0, 0, anorm, ssfmin, lend-l, 1, e[l:], n)\n\t\t}\n\n\t\tel := e[l:lend]\n\t\tfor i, v := range el {\n\t\t\tel[i] *= v\n\t\t}\n\n\t\t// Choose between QL and QR iteration.\n\t\tif math.Abs(d[lend]) < math.Abs(d[l]) {\n\t\t\tlend = lsv\n\t\t\tl = lendsv\n\t\t}\n\t\tif lend >= l {\n\t\t\t// QL Iteration.\n\t\t\t// Look for small sub-diagonal element.\n\t\t\tfor {\n\t\t\t\tif l != lend {\n\t\t\t\t\tfor m = l; m < lend; m++ {\n\t\t\t\t\t\tif math.Abs(e[m]) <= eps2*(math.Abs(d[m]*d[m+1])) {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tm = lend\n\t\t\t\t}\n\t\t\t\tif m < lend {\n\t\t\t\t\te[m] = 0\n\t\t\t\t}\n\t\t\t\tp := d[l]\n\t\t\t\tif m == l {\n\t\t\t\t\t// Eigenvalue found.\n\t\t\t\t\tl++\n\t\t\t\t\tif l > lend {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t// If remaining matrix is 2 by 2, use Dlae2 to compute its eigenvalues.\n\t\t\t\tif m == l+1 {\n\t\t\t\t\td[l], d[l+1] = impl.Dlae2(d[l], math.Sqrt(e[l]), d[l+1])\n\t\t\t\t\te[l] = 0\n\t\t\t\t\tl += 2\n\t\t\t\t\tif l > lend {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif jtot == nmaxit {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tjtot++\n\n\t\t\t\t// Form shift.\n\t\t\t\trte := math.Sqrt(e[l])\n\t\t\t\tsigma := (d[l+1] - p) / (2 * rte)\n\t\t\t\tr := impl.Dlapy2(sigma, 1)\n\t\t\t\tsigma = p - (rte / (sigma + math.Copysign(r, sigma)))\n\n\t\t\t\tc := 1.0\n\t\t\t\ts := 0.0\n\t\t\t\tgamma := d[m] - sigma\n\t\t\t\tp = gamma * gamma\n\n\t\t\t\t// Inner loop.\n\t\t\t\tfor i := m - 1; i >= l; i-- {\n\t\t\t\t\tbb := e[i]\n\t\t\t\t\tr := p + bb\n\t\t\t\t\tif i != m-1 {\n\t\t\t\t\t\te[i+1] = s * r\n\t\t\t\t\t}\n\t\t\t\t\toldc := c\n\t\t\t\t\tc = p / r\n\t\t\t\t\ts = bb / r\n\t\t\t\t\toldgam := gamma\n\t\t\t\t\talpha := d[i]\n\t\t\t\t\tgamma = c*(alpha-sigma) - s*oldgam\n\t\t\t\t\td[i+1] = oldgam + (alpha - gamma)\n\t\t\t\t\tif c != 0 {\n\t\t\t\t\t\tp = (gamma * gamma) / c\n\t\t\t\t\t} else {\n\t\t\t\t\t\tp = oldc * bb\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\te[l] = s * p\n\t\t\t\td[l] = sigma + gamma\n\t\t\t}\n\t\t} else {\n\t\t\tfor {\n\t\t\t\t// QR Iteration.\n\t\t\t\t// Look for small super-diagonal element.\n\t\t\t\tfor m = l; m > lend; m-- {\n\t\t\t\t\tif math.Abs(e[m-1]) <= eps2*math.Abs(d[m]*d[m-1]) {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif m > lend {\n\t\t\t\t\te[m-1] = 0\n\t\t\t\t}\n\t\t\t\tp := d[l]\n\t\t\t\tif m == l {\n\t\t\t\t\t// Eigenvalue found.\n\t\t\t\t\tl--\n\t\t\t\t\tif l < lend {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\t// If remaining matrix is 2 by 2, use Dlae2 to compute its eigenvalues.\n\t\t\t\tif m == l-1 {\n\t\t\t\t\td[l], d[l-1] = impl.Dlae2(d[l], math.Sqrt(e[l-1]), d[l-1])\n\t\t\t\t\te[l-1] = 0\n\t\t\t\t\tl -= 2\n\t\t\t\t\tif l < lend {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif jtot == nmaxit {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tjtot++\n\n\t\t\t\t// Form shift.\n\t\t\t\trte := math.Sqrt(e[l-1])\n\t\t\t\tsigma := (d[l-1] - p) / (2 * rte)\n\t\t\t\tr := impl.Dlapy2(sigma, 1)\n\t\t\t\tsigma = p - (rte / (sigma + math.Copysign(r, sigma)))\n\n\t\t\t\tc := 1.0\n\t\t\t\ts := 0.0\n\t\t\t\tgamma := d[m] - sigma\n\t\t\t\tp = gamma * gamma\n\n\t\t\t\t// Inner loop.\n\t\t\t\tfor i := m; i < l; i++ {\n\t\t\t\t\tbb := e[i]\n\t\t\t\t\tr := p + bb\n\t\t\t\t\tif i != m {\n\t\t\t\t\t\te[i-1] = s * r\n\t\t\t\t\t}\n\t\t\t\t\toldc := c\n\t\t\t\t\tc = p / r\n\t\t\t\t\ts = bb / r\n\t\t\t\t\toldgam := gamma\n\t\t\t\t\talpha := d[i+1]\n\t\t\t\t\tgamma = c*(alpha-sigma) - s*oldgam\n\t\t\t\t\td[i] = oldgam + alpha - gamma\n\t\t\t\t\tif c != 0 {\n\t\t\t\t\t\tp = (gamma * gamma) / c\n\t\t\t\t\t} else {\n\t\t\t\t\t\tp = oldc * bb\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\te[l-1] = s * p\n\t\t\t\td[l] = sigma + gamma\n\t\t\t}\n\t\t}\n\n\t\t// Undo scaling if necessary\n\t\tswitch iscale {\n\t\tcase down:\n\t\t\timpl.Dlascl(lapack.General, 0, 0, ssfmax, anorm, lendsv-lsv+1, 1, d[lsv:], n)\n\t\tcase up:\n\t\t\timpl.Dlascl(lapack.General, 0, 0, ssfmin, anorm, lendsv-lsv+1, 1, d[lsv:], n)\n\t\t}\n\n\t\t// Check for no convergence to an eigenvalue after a total of n*maxit iterations.\n\t\tif jtot >= nmaxit {\n\t\t\tbreak\n\t\t}\n\t}\n\tfor _, v := range e[:n-1] {\n\t\tif v != 0 {\n\t\t\treturn false\n\t\t}\n\t}\n\timpl.Dlasrt(lapack.SortIncreasing, n, d)\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dsyev.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dsyev computes all eigenvalues and, optionally, the eigenvectors of a real\n// symmetric matrix A.\n//\n// w contains the eigenvalues in ascending order upon return. w must have length\n// at least n, and Dsyev will panic otherwise.\n//\n// On entry, a contains the elements of the symmetric matrix A in the triangular\n// portion specified by uplo. If jobz == lapack.ComputeEV a contains the\n// orthonormal eigenvectors of A on exit, otherwise on exit the specified\n// triangular region is overwritten.\n//\n// work is temporary storage, and lwork specifies the usable memory length. At minimum,\n// lwork >= 3*n-1, and Dsyev will panic otherwise. The amount of blocking is\n// limited by the usable length. If lwork == -1, instead of computing Dsyev the\n// optimal work length is stored into work[0].\nfunc (impl Implementation) Dsyev(jobz lapack.EVJob, uplo blas.Uplo, n int, a []float64, lda int, w, work []float64, lwork int) (ok bool) {\n\tcheckMatrix(n, n, a, lda)\n\tupper := uplo == blas.Upper\n\twantz := jobz == lapack.ComputeEV\n\tvar opts string\n\tif upper {\n\t\topts = \"U\"\n\t} else {\n\t\topts = \"L\"\n\t}\n\tnb := impl.Ilaenv(1, \"DSYTRD\", opts, n, -1, -1, -1)\n\tlworkopt := max(1, (nb+2)*n)\n\twork[0] = float64(lworkopt)\n\tif lwork == -1 {\n\t\treturn\n\t}\n\tif len(work) < lwork {\n\t\tpanic(badWork)\n\t}\n\tif lwork < 3*n-1 {\n\t\tpanic(badWork)\n\t}\n\tif n == 0 {\n\t\treturn true\n\t}\n\tif n == 1 {\n\t\tw[0] = a[0]\n\t\twork[0] = 2\n\t\tif wantz {\n\t\t\ta[0] = 1\n\t\t}\n\t\treturn true\n\t}\n\tsafmin := dlamchS\n\teps := dlamchP\n\tsmlnum := safmin / eps\n\tbignum := 1 / smlnum\n\trmin := math.Sqrt(smlnum)\n\trmax := math.Sqrt(bignum)\n\n\t// Scale matrix to allowable range, if necessary.\n\tanrm := impl.Dlansy(lapack.MaxAbs, uplo, n, a, lda, work)\n\tscaled := false\n\tvar sigma float64\n\tif anrm > 0 && anrm < rmin {\n\t\tscaled = true\n\t\tsigma = rmin / anrm\n\t} else if anrm > rmax {\n\t\tscaled = true\n\t\tsigma = rmax / anrm\n\t}\n\tif scaled {\n\t\tkind := lapack.LowerTri\n\t\tif upper {\n\t\t\tkind = lapack.UpperTri\n\t\t}\n\t\timpl.Dlascl(kind, 0, 0, 1, sigma, n, n, a, lda)\n\t}\n\tvar inde int\n\tindtau := inde + n\n\tindwork := indtau + n\n\tllwork := lwork - indwork\n\timpl.Dsytrd(uplo, n, a, lda, w, work[inde:], work[indtau:], work[indwork:], llwork)\n\n\t// For eigenvalues only, call Dsterf. For eigenvectors, first call Dorgtr\n\t// to generate the orthogonal matrix, then call Dsteqr.\n\tif !wantz {\n\t\tok = impl.Dsterf(n, w, work[inde:])\n\t} else {\n\t\timpl.Dorgtr(uplo, n, a, lda, work[indtau:], work[indwork:], llwork)\n\t\tok = impl.Dsteqr(lapack.EVComp(jobz), n, w, work[inde:], a, lda, work[indtau:])\n\t}\n\tif !ok {\n\t\treturn false\n\t}\n\n\t// If the matrix was scaled, then rescale eigenvalues appropriately.\n\tif scaled {\n\t\tbi := blas64.Implementation()\n\t\tbi.Dscal(n, 1/sigma, w, 1)\n\t}\n\twork[0] = float64(lworkopt)\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dsytd2.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dsytd2 reduces a symmetric n×n matrix A to symmetric tridiagonal form T by an\n// orthogonal similarity transformation\n//  Q^T * A * Q = T\n// On entry, the matrix is contained in the specified triangle of a. On exit,\n// if uplo == blas.Upper, the diagonal and first super-diagonal of a are\n// overwritten with the elements of T. The elements above the first super-diagonal\n// are overwritten with the the elementary reflectors that are used with the\n// elements written to tau in order to construct Q. If uplo == blas.Lower, the\n// elements are written in the lower triangular region.\n//\n// d must have length at least n. e and tau must have length at least n-1. Dsytd2\n// will panic if these sizes are not met.\n//\n// Q is represented as a product of elementary reflectors.\n// If uplo == blas.Upper\n//  Q = H_{n-2} * ... * H_1 * H_0\n// and if uplo == blas.Lower\n//  Q = H_0 * H_1 * ... * H_{n-2}\n// where\n//  H_i = I - tau * v * v^T\n// where tau is stored in tau[i], and v is stored in a.\n//\n// If uplo == blas.Upper, v[0:i-1] is stored in A[0:i-1,i+1], v[i] = 1, and\n// v[i+1:] = 0. The elements of a are\n//  [ d   e  v2  v3  v4]\n//  [     d   e  v3  v4]\n//  [         d   e  v4]\n//  [             d   e]\n//  [                 d]\n// If uplo == blas.Lower, v[0:i+1] = 0, v[i+1] = 1, and v[i+2:] is stored in\n// A[i+2:n,i].\n// The elements of a are\n//  [ d                ]\n//  [ e   d            ]\n//  [v1   e   d        ]\n//  [v1  v2   e   d    ]\n//  [v1  v2  v3   e   d]\n//\n// Dsytd2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dsytd2(uplo blas.Uplo, n int, a []float64, lda int, d, e, tau []float64) {\n\tcheckMatrix(n, n, a, lda)\n\tif len(d) < n {\n\t\tpanic(badD)\n\t}\n\tif len(e) < n-1 {\n\t\tpanic(badE)\n\t}\n\tif len(tau) < n-1 {\n\t\tpanic(badTau)\n\t}\n\tif n <= 0 {\n\t\treturn\n\t}\n\tbi := blas64.Implementation()\n\tif uplo == blas.Upper {\n\t\t// Reduce the upper triangle of A.\n\t\tfor i := n - 2; i >= 0; i-- {\n\t\t\t// Generate elementary reflector H_i = I - tau * v * v^T to\n\t\t\t// annihilate A[i:i-1, i+1].\n\t\t\tvar taui float64\n\t\t\ta[i*lda+i+1], taui = impl.Dlarfg(i+1, a[i*lda+i+1], a[i+1:], lda)\n\t\t\te[i] = a[i*lda+i+1]\n\t\t\tif taui != 0 {\n\t\t\t\t// Apply H_i from both sides to A[0:i,0:i].\n\t\t\t\ta[i*lda+i+1] = 1\n\n\t\t\t\t// Compute x := tau * A * v storing x in tau[0:i].\n\t\t\t\tbi.Dsymv(uplo, i+1, taui, a, lda, a[i+1:], lda, 0, tau, 1)\n\n\t\t\t\t// Compute w := x - 1/2 * tau * (x^T * v) * v.\n\t\t\t\talpha := -0.5 * taui * bi.Ddot(i+1, tau, 1, a[i+1:], lda)\n\t\t\t\tbi.Daxpy(i+1, alpha, a[i+1:], lda, tau, 1)\n\n\t\t\t\t// Apply the transformation as a rank-2 update\n\t\t\t\t// A = A - v * w^T - w * v^T.\n\t\t\t\tbi.Dsyr2(uplo, i+1, -1, a[i+1:], lda, tau, 1, a, lda)\n\t\t\t\ta[i*lda+i+1] = e[i]\n\t\t\t}\n\t\t\td[i+1] = a[(i+1)*lda+i+1]\n\t\t\ttau[i] = taui\n\t\t}\n\t\td[0] = a[0]\n\t\treturn\n\t}\n\t// Reduce the lower triangle of A.\n\tfor i := 0; i < n-1; i++ {\n\t\t// Generate elementary reflector H_i = I - tau * v * v^T to\n\t\t// annihilate A[i+2:n, i].\n\t\tvar taui float64\n\t\ta[(i+1)*lda+i], taui = impl.Dlarfg(n-i-1, a[(i+1)*lda+i], a[min(i+2, n-1)*lda+i:], lda)\n\t\te[i] = a[(i+1)*lda+i]\n\t\tif taui != 0 {\n\t\t\t// Apply H_i from both sides to A[i+1:n, i+1:n].\n\t\t\ta[(i+1)*lda+i] = 1\n\n\t\t\t// Compute x := tau * A * v, storing y in tau[i:n-1].\n\t\t\tbi.Dsymv(uplo, n-i-1, taui, a[(i+1)*lda+i+1:], lda, a[(i+1)*lda+i:], lda, 0, tau[i:], 1)\n\n\t\t\t// Compute w := x - 1/2 * tau * (x^T * v) * v.\n\t\t\talpha := -0.5 * taui * bi.Ddot(n-i-1, tau[i:], 1, a[(i+1)*lda+i:], lda)\n\t\t\tbi.Daxpy(n-i-1, alpha, a[(i+1)*lda+i:], lda, tau[i:], 1)\n\n\t\t\t// Apply the transformation as a rank-2 update\n\t\t\t// A = A - v * w^T - w * v^T.\n\t\t\tbi.Dsyr2(uplo, n-i-1, -1, a[(i+1)*lda+i:], lda, tau[i:], 1, a[(i+1)*lda+i+1:], lda)\n\t\t\ta[(i+1)*lda+i] = e[i]\n\t\t}\n\t\td[i] = a[i*lda+i]\n\t\ttau[i] = taui\n\t}\n\td[n-1] = a[(n-1)*lda+n-1]\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dsytrd.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dsytrd reduces a symmetric n×n matrix A to symmetric tridiagonal form by an\n// orthogonal similarity transformation\n//  Q^T * A * Q = T\n// where Q is an orthonormal matrix and T is symmetric and tridiagonal.\n//\n// On entry, a contains the elements of the input matrix in the triangle specified\n// by uplo. On exit, the diagonal and sub/super-diagonal are overwritten by the\n// corresponding elements of the tridiagonal matrix T. The remaining elements in\n// the triangle, along with the array tau, contain the data to construct Q as\n// the product of elementary reflectors.\n//\n// If uplo == blas.Upper, Q is constructed with\n//  Q = H_{n-2} * ... * H_1 * H_0\n// where\n//  H_i = I - tau_i * v * v^T\n// v is constructed as v[i+1:n] = 0, v[i] = 1, v[0:i-1] is stored in A[0:i-1, i+1].\n// The elements of A are\n//  [ d   e  v1  v2  v3]\n//  [     d   e  v2  v3]\n//  [         d   e  v3]\n//  [             d   e]\n//  [                 e]\n//\n// If uplo == blas.Lower, Q is constructed with\n//  Q = H_0 * H_1 * ... * H_{n-2}\n// where\n//  H_i = I - tau_i * v * v^T\n// v is constructed as v[0:i+1] = 0, v[i+1] = 1, v[i+2:n] is stored in A[i+2:n, i].\n// The elements of A are\n//  [ d                ]\n//  [ e   d            ]\n//  [v0   e   d        ]\n//  [v0  v1   e   d    ]\n//  [v0  v1  v2   e   d]\n//\n// d must have length n, and e and tau must have length n-1. Dsytrd will panic if\n// these conditions are not met.\n//\n// work is temporary storage, and lwork specifies the usable memory length. At minimum,\n// lwork >= 1, and Dsytrd will panic otherwise. The amount of blocking is\n// limited by the usable length.\n// If lwork == -1, instead of computing Dsytrd the optimal work length is stored\n// into work[0].\n//\n// Dsytrd is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dsytrd(uplo blas.Uplo, n int, a []float64, lda int, d, e, tau, work []float64, lwork int) {\n\tcheckMatrix(n, n, a, lda)\n\tif len(d) < n {\n\t\tpanic(badD)\n\t}\n\tif len(e) < n-1 {\n\t\tpanic(badE)\n\t}\n\tif len(tau) < n-1 {\n\t\tpanic(badTau)\n\t}\n\tif len(work) < lwork {\n\t\tpanic(shortWork)\n\t}\n\tif lwork != -1 && lwork < 1 {\n\t\tpanic(badWork)\n\t}\n\n\tvar upper bool\n\tvar opts string\n\tswitch uplo {\n\tcase blas.Upper:\n\t\tupper = true\n\t\topts = \"U\"\n\tcase blas.Lower:\n\t\topts = \"L\"\n\tdefault:\n\t\tpanic(badUplo)\n\t}\n\n\tif n == 0 {\n\t\twork[0] = 1\n\t\treturn\n\t}\n\n\tnb := impl.Ilaenv(1, \"DSYTRD\", opts, n, -1, -1, -1)\n\tlworkopt := n * nb\n\tif lwork == -1 {\n\t\twork[0] = float64(lworkopt)\n\t\treturn\n\t}\n\n\tnx := n\n\tbi := blas64.Implementation()\n\tvar ldwork int\n\tif 1 < nb && nb < n {\n\t\t// Determine when to cross over from blocked to unblocked code. The last\n\t\t// block is always handled by unblocked code.\n\t\topts := \"L\"\n\t\tif upper {\n\t\t\topts = \"U\"\n\t\t}\n\t\tnx = max(nb, impl.Ilaenv(3, \"DSYTRD\", opts, n, -1, -1, -1))\n\t\tif nx < n {\n\t\t\t// Determine if workspace is large enough for blocked code.\n\t\t\tldwork = nb\n\t\t\tiws := n * ldwork\n\t\t\tif lwork < iws {\n\t\t\t\t// Not enough workspace to use optimal nb: determine the minimum\n\t\t\t\t// value of nb and reduce nb or force use of unblocked code by\n\t\t\t\t// setting nx = n.\n\t\t\t\tnb = max(lwork/n, 1)\n\t\t\t\tnbmin := impl.Ilaenv(2, \"DSYTRD\", opts, n, -1, -1, -1)\n\t\t\t\tif nb < nbmin {\n\t\t\t\t\tnx = n\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tnx = n\n\t\t}\n\t} else {\n\t\tnb = 1\n\t}\n\tldwork = nb\n\n\tif upper {\n\t\t// Reduce the upper triangle of A. Columns 0:kk are handled by the\n\t\t// unblocked method.\n\t\tvar i int\n\t\tkk := n - ((n-nx+nb-1)/nb)*nb\n\t\tfor i = n - nb; i >= kk; i -= nb {\n\t\t\t// Reduce columns i:i+nb to tridiagonal form and form the matrix W\n\t\t\t// which is needed to update the unreduced part of the matrix.\n\t\t\timpl.Dlatrd(uplo, i+nb, nb, a, lda, e, tau, work, ldwork)\n\n\t\t\t// Update the unreduced submatrix A[0:i-1,0:i-1], using an update\n\t\t\t// of the form A = A - V*W^T - W*V^T.\n\t\t\tbi.Dsyr2k(uplo, blas.NoTrans, i, nb, -1, a[i:], lda, work, ldwork, 1, a, lda)\n\n\t\t\t// Copy superdiagonal elements back into A, and diagonal elements into D.\n\t\t\tfor j := i; j < i+nb; j++ {\n\t\t\t\ta[(j-1)*lda+j] = e[j-1]\n\t\t\t\td[j] = a[j*lda+j]\n\t\t\t}\n\t\t}\n\t\t// Use unblocked code to reduce the last or only block\n\t\t// check that i == kk.\n\t\timpl.Dsytd2(uplo, kk, a, lda, d, e, tau)\n\t} else {\n\t\tvar i int\n\t\t// Reduce the lower triangle of A.\n\t\tfor i = 0; i < n-nx; i += nb {\n\t\t\t// Reduce columns 0:i+nb to tridiagonal form and form the matrix W\n\t\t\t// which is needed to update the unreduced part of the matrix.\n\t\t\timpl.Dlatrd(uplo, n-i, nb, a[i*lda+i:], lda, e[i:], tau[i:], work, ldwork)\n\n\t\t\t// Update the unreduced submatrix A[i+ib:n, i+ib:n], using an update\n\t\t\t// of the form A = A + V*W^T - W*V^T.\n\t\t\tbi.Dsyr2k(uplo, blas.NoTrans, n-i-nb, nb, -1, a[(i+nb)*lda+i:], lda,\n\t\t\t\twork[nb*ldwork:], ldwork, 1, a[(i+nb)*lda+i+nb:], lda)\n\n\t\t\t// Copy subdiagonal elements back into A, and diagonal elements into D.\n\t\t\tfor j := i; j < i+nb; j++ {\n\t\t\t\ta[(j+1)*lda+j] = e[j]\n\t\t\t\td[j] = a[j*lda+j]\n\t\t\t}\n\t\t}\n\t\t// Use unblocked code to reduce the last or only block.\n\t\timpl.Dsytd2(uplo, n-i, a[i*lda+i:], lda, d[i:], e[i:], tau[i:])\n\t}\n\twork[0] = float64(lworkopt)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dtgsja.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dtgsja computes the generalized singular value decomposition (GSVD)\n// of two real upper triangular or trapezoidal matrices A and B.\n//\n// A and B have the following forms, which may be obtained by the\n// preprocessing subroutine Dggsvp from a general m×n matrix A and p×n\n// matrix B:\n//\n//            n-k-l  k    l\n//  A =    k [  0   A12  A13 ] if m-k-l >= 0;\n//         l [  0    0   A23 ]\n//     m-k-l [  0    0    0  ]\n//\n//            n-k-l  k    l\n//  A =    k [  0   A12  A13 ] if m-k-l < 0;\n//       m-k [  0    0   A23 ]\n//\n//            n-k-l  k    l\n//  B =    l [  0    0   B13 ]\n//       p-l [  0    0    0  ]\n//\n// where the k×k matrix A12 and l×l matrix B13 are non-singular\n// upper triangular. A23 is l×l upper triangular if m-k-l >= 0,\n// otherwise A23 is (m-k)×l upper trapezoidal.\n//\n// On exit,\n//\n//  U^T*A*Q = D1*[ 0 R ], V^T*B*Q = D2*[ 0 R ],\n//\n// where U, V and Q are orthogonal matrices.\n// R is a non-singular upper triangular matrix, and D1 and D2 are\n// diagonal matrices, which are of the following structures:\n//\n// If m-k-l >= 0,\n//\n//                    k  l\n//       D1 =     k [ I  0 ]\n//                l [ 0  C ]\n//            m-k-l [ 0  0 ]\n//\n//                  k  l\n//       D2 = l   [ 0  S ]\n//            p-l [ 0  0 ]\n//\n//               n-k-l  k    l\n//  [ 0 R ] = k [  0   R11  R12 ] k\n//            l [  0    0   R22 ] l\n//\n// where\n//\n//  C = diag( alpha_k, ... , alpha_{k+l} ),\n//  S = diag( beta_k,  ... , beta_{k+l} ),\n//  C^2 + S^2 = I.\n//\n// R is stored in\n//  A[0:k+l, n-k-l:n]\n// on exit.\n//\n// If m-k-l < 0,\n//\n//                 k m-k k+l-m\n//      D1 =   k [ I  0    0  ]\n//           m-k [ 0  C    0  ]\n//\n//                   k m-k k+l-m\n//      D2 =   m-k [ 0  S    0  ]\n//           k+l-m [ 0  0    I  ]\n//             p-l [ 0  0    0  ]\n//\n//                 n-k-l  k   m-k  k+l-m\n//  [ 0 R ] =    k [ 0    R11  R12  R13 ]\n//             m-k [ 0     0   R22  R23 ]\n//           k+l-m [ 0     0    0   R33 ]\n//\n// where\n//  C = diag( alpha_k, ... , alpha_m ),\n//  S = diag( beta_k,  ... , beta_m ),\n//  C^2 + S^2 = I.\n//\n//  R = [ R11 R12 R13 ] is stored in A[0:m, n-k-l:n]\n//      [  0  R22 R23 ]\n// and R33 is stored in\n//  B[m-k:l, n+m-k-l:n] on exit.\n//\n// The computation of the orthogonal transformation matrices U, V or Q\n// is optional. These matrices may either be formed explicitly, or they\n// may be post-multiplied into input matrices U1, V1, or Q1.\n//\n// Dtgsja essentially uses a variant of Kogbetliantz algorithm to reduce\n// min(l,m-k)×l triangular or trapezoidal matrix A23 and l×l\n// matrix B13 to the form:\n//\n//  U1^T*A13*Q1 = C1*R1; V1^T*B13*Q1 = S1*R1,\n//\n// where U1, V1 and Q1 are orthogonal matrices. C1 and S1 are diagonal\n// matrices satisfying\n//\n//  C1^2 + S1^2 = I,\n//\n// and R1 is an l×l non-singular upper triangular matrix.\n//\n// jobU, jobV and jobQ are options for computing the orthogonal matrices. The behavior\n// is as follows\n//  jobU == lapack.GSVDU        Compute orthogonal matrix U\n//  jobU == lapack.GSVDUnit     Use unit-initialized matrix\n//  jobU == lapack.GSVDNone     Do not compute orthogonal matrix.\n// The behavior is the same for jobV and jobQ with the exception that instead of\n// lapack.GSVDU these accept lapack.GSVDV and lapack.GSVDQ respectively.\n// The matrices U, V and Q must be m×m, p×p and n×n respectively unless the\n// relevant job parameter is lapack.GSVDNone.\n//\n// k and l specify the sub-blocks in the input matrices A and B:\n//  A23 = A[k:min(k+l,m), n-l:n) and B13 = B[0:l, n-l:n]\n// of A and B, whose GSVD is going to be computed by Dtgsja.\n//\n// tola and tolb are the convergence criteria for the Jacobi-Kogbetliantz\n// iteration procedure. Generally, they are the same as used in the preprocessing\n// step, for example,\n//  tola = max(m, n)*norm(A)*eps,\n//  tolb = max(p, n)*norm(B)*eps,\n// where eps is the machine epsilon.\n//\n// work must have length at least 2*n, otherwise Dtgsja will panic.\n//\n// alpha and beta must have length n or Dtgsja will panic. On exit, alpha and\n// beta contain the generalized singular value pairs of A and B\n//   alpha[0:k] = 1,\n//   beta[0:k]  = 0,\n// if m-k-l >= 0,\n//   alpha[k:k+l] = diag(C),\n//   beta[k:k+l]  = diag(S),\n// if m-k-l < 0,\n//   alpha[k:m]= C, alpha[m:k+l]= 0\n//   beta[k:m] = S, beta[m:k+l] = 1.\n// if k+l < n,\n//   alpha[k+l:n] = 0 and\n//   beta[k+l:n]  = 0.\n//\n// On exit, A[n-k:n, 0:min(k+l,m)] contains the triangular matrix R or part of R\n// and if necessary, B[m-k:l, n+m-k-l:n] contains a part of R.\n//\n// Dtgsja returns whether the routine converged and the number of iteration cycles\n// that were run.\n//\n// Dtgsja is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dtgsja(jobU, jobV, jobQ lapack.GSVDJob, m, p, n, k, l int, a []float64, lda int, b []float64, ldb int, tola, tolb float64, alpha, beta, u []float64, ldu int, v []float64, ldv int, q []float64, ldq int, work []float64) (cycles int, ok bool) {\n\tconst maxit = 40\n\n\tcheckMatrix(m, n, a, lda)\n\tcheckMatrix(p, n, b, ldb)\n\n\tif len(alpha) != n {\n\t\tpanic(badAlpha)\n\t}\n\tif len(beta) != n {\n\t\tpanic(badBeta)\n\t}\n\n\tinitu := jobU == lapack.GSVDUnit\n\twantu := initu || jobU == lapack.GSVDU\n\tif !initu && !wantu && jobU != lapack.GSVDNone {\n\t\tpanic(badGSVDJob + \"U\")\n\t}\n\tif jobU != lapack.GSVDNone {\n\t\tcheckMatrix(m, m, u, ldu)\n\t}\n\n\tinitv := jobV == lapack.GSVDUnit\n\twantv := initv || jobV == lapack.GSVDV\n\tif !initv && !wantv && jobV != lapack.GSVDNone {\n\t\tpanic(badGSVDJob + \"V\")\n\t}\n\tif jobV != lapack.GSVDNone {\n\t\tcheckMatrix(p, p, v, ldv)\n\t}\n\n\tinitq := jobQ == lapack.GSVDUnit\n\twantq := initq || jobQ == lapack.GSVDQ\n\tif !initq && !wantq && jobQ != lapack.GSVDNone {\n\t\tpanic(badGSVDJob + \"Q\")\n\t}\n\tif jobQ != lapack.GSVDNone {\n\t\tcheckMatrix(n, n, q, ldq)\n\t}\n\n\tif len(work) < 2*n {\n\t\tpanic(badWork)\n\t}\n\n\t// Initialize U, V and Q, if necessary\n\tif initu {\n\t\timpl.Dlaset(blas.All, m, m, 0, 1, u, ldu)\n\t}\n\tif initv {\n\t\timpl.Dlaset(blas.All, p, p, 0, 1, v, ldv)\n\t}\n\tif initq {\n\t\timpl.Dlaset(blas.All, n, n, 0, 1, q, ldq)\n\t}\n\n\tbi := blas64.Implementation()\n\tminTol := math.Min(tola, tolb)\n\n\t// Loop until convergence.\n\tupper := false\n\tfor cycles = 1; cycles <= maxit; cycles++ {\n\t\tupper = !upper\n\n\t\tfor i := 0; i < l-1; i++ {\n\t\t\tfor j := i + 1; j < l; j++ {\n\t\t\t\tvar a1, a2, a3 float64\n\t\t\t\tif k+i < m {\n\t\t\t\t\ta1 = a[(k+i)*lda+n-l+i]\n\t\t\t\t}\n\t\t\t\tif k+j < m {\n\t\t\t\t\ta3 = a[(k+j)*lda+n-l+j]\n\t\t\t\t}\n\n\t\t\t\tb1 := b[i*ldb+n-l+i]\n\t\t\t\tb3 := b[j*ldb+n-l+j]\n\n\t\t\t\tvar b2 float64\n\t\t\t\tif upper {\n\t\t\t\t\tif k+i < m {\n\t\t\t\t\t\ta2 = a[(k+i)*lda+n-l+j]\n\t\t\t\t\t}\n\t\t\t\t\tb2 = b[i*ldb+n-l+j]\n\t\t\t\t} else {\n\t\t\t\t\tif k+j < m {\n\t\t\t\t\t\ta2 = a[(k+j)*lda+n-l+i]\n\t\t\t\t\t}\n\t\t\t\t\tb2 = b[j*ldb+n-l+i]\n\t\t\t\t}\n\n\t\t\t\tcsu, snu, csv, snv, csq, snq := impl.Dlags2(upper, a1, a2, a3, b1, b2, b3)\n\n\t\t\t\t// Update (k+i)-th and (k+j)-th rows of matrix A: U^T*A.\n\t\t\t\tif k+j < m {\n\t\t\t\t\tbi.Drot(l, a[(k+j)*lda+n-l:], 1, a[(k+i)*lda+n-l:], 1, csu, snu)\n\t\t\t\t}\n\n\t\t\t\t// Update i-th and j-th rows of matrix B: V^T*B.\n\t\t\t\tbi.Drot(l, b[j*ldb+n-l:], 1, b[i*ldb+n-l:], 1, csv, snv)\n\n\t\t\t\t// Update (n-l+i)-th and (n-l+j)-th columns of matrices\n\t\t\t\t// A and B: A*Q and B*Q.\n\t\t\t\tbi.Drot(min(k+l, m), a[n-l+j:], lda, a[n-l+i:], lda, csq, snq)\n\t\t\t\tbi.Drot(l, b[n-l+j:], ldb, b[n-l+i:], ldb, csq, snq)\n\n\t\t\t\tif upper {\n\t\t\t\t\tif k+i < m {\n\t\t\t\t\t\ta[(k+i)*lda+n-l+j] = 0\n\t\t\t\t\t}\n\t\t\t\t\tb[i*ldb+n-l+j] = 0\n\t\t\t\t} else {\n\t\t\t\t\tif k+j < m {\n\t\t\t\t\t\ta[(k+j)*lda+n-l+i] = 0\n\t\t\t\t\t}\n\t\t\t\t\tb[j*ldb+n-l+i] = 0\n\t\t\t\t}\n\n\t\t\t\t// Update orthogonal matrices U, V, Q, if desired.\n\t\t\t\tif wantu && k+j < m {\n\t\t\t\t\tbi.Drot(m, u[k+j:], ldu, u[k+i:], ldu, csu, snu)\n\t\t\t\t}\n\t\t\t\tif wantv {\n\t\t\t\t\tbi.Drot(p, v[j:], ldv, v[i:], ldv, csv, snv)\n\t\t\t\t}\n\t\t\t\tif wantq {\n\t\t\t\t\tbi.Drot(n, q[n-l+j:], ldq, q[n-l+i:], ldq, csq, snq)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif !upper {\n\t\t\t// The matrices A13 and B13 were lower triangular at the start\n\t\t\t// of the cycle, and are now upper triangular.\n\t\t\t//\n\t\t\t// Convergence test: test the parallelism of the corresponding\n\t\t\t// rows of A and B.\n\t\t\tvar error float64\n\t\t\tfor i := 0; i < min(l, m-k); i++ {\n\t\t\t\tbi.Dcopy(l-i, a[(k+i)*lda+n-l+i:], 1, work, 1)\n\t\t\t\tbi.Dcopy(l-i, b[i*ldb+n-l+i:], 1, work[l:], 1)\n\t\t\t\tssmin := impl.Dlapll(l-i, work, 1, work[l:], 1)\n\t\t\t\terror = math.Max(error, ssmin)\n\t\t\t}\n\t\t\tif math.Abs(error) <= minTol {\n\t\t\t\t// The algorithm has converged.\n\t\t\t\t// Compute the generalized singular value pairs (alpha, beta)\n\t\t\t\t// and set the triangular matrix R to array A.\n\t\t\t\tfor i := 0; i < k; i++ {\n\t\t\t\t\talpha[i] = 1\n\t\t\t\t\tbeta[i] = 0\n\t\t\t\t}\n\n\t\t\t\tfor i := 0; i < min(l, m-k); i++ {\n\t\t\t\t\ta1 := a[(k+i)*lda+n-l+i]\n\t\t\t\t\tb1 := b[i*ldb+n-l+i]\n\n\t\t\t\t\tif a1 != 0 {\n\t\t\t\t\t\tgamma := b1 / a1\n\n\t\t\t\t\t\t// Change sign if necessary.\n\t\t\t\t\t\tif gamma < 0 {\n\t\t\t\t\t\t\tbi.Dscal(l-i, -1, b[i*ldb+n-l+i:], 1)\n\t\t\t\t\t\t\tif wantv {\n\t\t\t\t\t\t\t\tbi.Dscal(p, -1, v[i:], ldv)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbeta[k+i], alpha[k+i], _ = impl.Dlartg(math.Abs(gamma), 1)\n\n\t\t\t\t\t\tif alpha[k+i] >= beta[k+i] {\n\t\t\t\t\t\t\tbi.Dscal(l-i, 1/alpha[k+i], a[(k+i)*lda+n-l+i:], 1)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbi.Dscal(l-i, 1/beta[k+i], b[i*ldb+n-l+i:], 1)\n\t\t\t\t\t\t\tbi.Dcopy(l-i, b[i*ldb+n-l+i:], 1, a[(k+i)*lda+n-l+i:], 1)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\talpha[k+i] = 0\n\t\t\t\t\t\tbeta[k+i] = 1\n\t\t\t\t\t\tbi.Dcopy(l-i, b[i*ldb+n-l+i:], 1, a[(k+i)*lda+n-l+i:], 1)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor i := m; i < k+l; i++ {\n\t\t\t\t\talpha[i] = 0\n\t\t\t\t\tbeta[i] = 1\n\t\t\t\t}\n\t\t\t\tif k+l < n {\n\t\t\t\t\tfor i := k + l; i < n; i++ {\n\t\t\t\t\t\talpha[i] = 0\n\t\t\t\t\t\tbeta[i] = 0\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn cycles, true\n\t\t\t}\n\t\t}\n\t}\n\n\t// The algorithm has not converged after maxit cycles.\n\treturn cycles, false\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dtrcon.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dtrcon estimates the reciprocal of the condition number of a triangular matrix A.\n// The condition number computed may be based on the 1-norm or the ∞-norm.\n//\n// work is a temporary data slice of length at least 3*n and Dtrcon will panic otherwise.\n//\n// iwork is a temporary data slice of length at least n and Dtrcon will panic otherwise.\nfunc (impl Implementation) Dtrcon(norm lapack.MatrixNorm, uplo blas.Uplo, diag blas.Diag, n int, a []float64, lda int, work []float64, iwork []int) float64 {\n\tif norm != lapack.MaxColumnSum && norm != lapack.MaxRowSum {\n\t\tpanic(badNorm)\n\t}\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tif diag != blas.NonUnit && diag != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif len(work) < 3*n {\n\t\tpanic(badWork)\n\t}\n\tif len(iwork) < n {\n\t\tpanic(badWork)\n\t}\n\tif n == 0 {\n\t\treturn 1\n\t}\n\tbi := blas64.Implementation()\n\n\tvar rcond float64\n\tsmlnum := dlamchS * float64(n)\n\n\tanorm := impl.Dlantr(norm, uplo, diag, n, n, a, lda, work)\n\n\tif anorm <= 0 {\n\t\treturn rcond\n\t}\n\tvar ainvnm float64\n\tvar normin bool\n\tkase1 := 2\n\tif norm == lapack.MaxColumnSum {\n\t\tkase1 = 1\n\t}\n\tvar kase int\n\tisave := new([3]int)\n\tvar scale float64\n\tfor {\n\t\tainvnm, kase = impl.Dlacn2(n, work[n:], work, iwork, ainvnm, kase, isave)\n\t\tif kase == 0 {\n\t\t\tif ainvnm != 0 {\n\t\t\t\trcond = (1 / anorm) / ainvnm\n\t\t\t}\n\t\t\treturn rcond\n\t\t}\n\t\tif kase == kase1 {\n\t\t\tscale = impl.Dlatrs(uplo, blas.NoTrans, diag, normin, n, a, lda, work, work[2*n:])\n\t\t} else {\n\t\t\tscale = impl.Dlatrs(uplo, blas.Trans, diag, normin, n, a, lda, work, work[2*n:])\n\t\t}\n\t\tnormin = true\n\t\tif scale != 1 {\n\t\t\tix := bi.Idamax(n, work, 1)\n\t\t\txnorm := math.Abs(work[ix])\n\t\t\tif scale == 0 || scale < xnorm*smlnum {\n\t\t\t\treturn rcond\n\t\t\t}\n\t\t\timpl.Drscl(n, scale, work, 1)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dtrevc3.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Dtrevc3 computes some or all of the right and/or left eigenvectors of an n×n\n// upper quasi-triangular matrix T in Schur canonical form. Matrices of this\n// type are produced by the Schur factorization of a real general matrix A\n//  A = Q T Q^T,\n// as computed by Dhseqr.\n//\n// The right eigenvector x of T corresponding to an\n// eigenvalue λ is defined by\n//  T x = λ x,\n// and the left eigenvector is defined by\n//  y^H T = λ y^H,\n// where y^H is the conjugate transpose of y.\n//\n// The eigenvalues are read directly from the diagonal blocks of T.\n//\n// This routine returns the matrices X and/or Y of right and left eigenvectors\n// of T, or the products Q*X and/or Q*Y, where Q is an input matrix. If Q is the\n// orthogonal factor that reduces a matrix A to Schur form T, then Q*X and Q*Y\n// are the matrices of right and left eigenvectors of A.\n//\n// If side == lapack.RightEV, only right eigenvectors will be computed.\n// If side == lapack.LeftEV, only left eigenvectors will be computed.\n// If side == lapack.RightLeftEV, both right and left eigenvectors will be computed.\n// For other values of side, Dtrevc3 will panic.\n//\n// If howmny == lapack.AllEV, all right and/or left eigenvectors will be\n// computed.\n// If howmny == lapack.AllEVMulQ, all right and/or left eigenvectors will be\n// computed and multiplied from left by the matrices in VR and/or VL.\n// If howmny == lapack.SelectedEV, right and/or left eigenvectors will be\n// computed as indicated by selected.\n// For other values of howmny, Dtrevc3 will panic.\n//\n// selected specifies which eigenvectors will be computed. It must have length n\n// if howmny == lapack.SelectedEV, and it is not referenced otherwise.\n// If w_j is a real eigenvalue, the corresponding real eigenvector will be\n// computed if selected[j] is true.\n// If w_j and w_{j+1} are the real and imaginary parts of a complex eigenvalue,\n// the corresponding complex eigenvector is computed if either selected[j] or\n// selected[j+1] is true, and on return selected[j] will be set to true and\n// selected[j+1] will be set to false.\n//\n// VL and VR are n×mm matrices. If howmny is lapack.AllEV or\n// lapack.AllEVMulQ, mm must be at least n. If howmny ==\n// lapack.SelectedEV, mm must be large enough to store the selected\n// eigenvectors. Each selected real eigenvector occupies one column and each\n// selected complex eigenvector occupies two columns. If mm is not sufficiently\n// large, Dtrevc3 will panic.\n//\n// On entry, if howmny == lapack.AllEVMulQ, it is assumed that VL (if side\n// is lapack.LeftEV or lapack.RightLeftEV) contains an n×n matrix QL,\n// and that VR (if side is lapack.LeftEV or lapack.RightLeftEV) contains\n// an n×n matrix QR. QL and QR are typically the orthogonal matrix Q of Schur\n// vectors returned by Dhseqr.\n//\n// On return, if side is lapack.LeftEV or lapack.RightLeftEV,\n// VL will contain:\n//  if howmny == lapack.AllEV,      the matrix Y of left eigenvectors of T,\n//  if howmny == lapack.AllEVMulQ,  the matrix Q*Y,\n//  if howmny == lapack.SelectedEV, the left eigenvectors of T specified by\n//                                  selected, stored consecutively in the\n//                                  columns of VL, in the same order as their\n//                                  eigenvalues.\n// VL is not referenced if side == lapack.RightEV.\n//\n// On return, if side is lapack.RightEV or lapack.RightLeftEV,\n// VR will contain:\n//  if howmny == lapack.AllEV,      the matrix X of right eigenvectors of T,\n//  if howmny == lapack.AllEVMulQ,  the matrix Q*X,\n//  if howmny == lapack.SelectedEV, the left eigenvectors of T specified by\n//                                  selected, stored consecutively in the\n//                                  columns of VR, in the same order as their\n//                                  eigenvalues.\n// VR is not referenced if side == lapack.LeftEV.\n//\n// Complex eigenvectors corresponding to a complex eigenvalue are stored in VL\n// and VR in two consecutive columns, the first holding the real part, and the\n// second the imaginary part.\n//\n// Each eigenvector will be normalized so that the element of largest magnitude\n// has magnitude 1. Here the magnitude of a complex number (x,y) is taken to be\n// |x| + |y|.\n//\n// work must have length at least lwork and lwork must be at least max(1,3*n),\n// otherwise Dtrevc3 will panic. For optimum performance, lwork should be at\n// least n+2*n*nb, where nb is the optimal blocksize.\n//\n// If lwork == -1, instead of performing Dtrevc3, the function only estimates\n// the optimal workspace size based on n and stores it into work[0].\n//\n// Dtrevc3 returns the number of columns in VL and/or VR actually used to store\n// the eigenvectors.\n//\n// Dtrevc3 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dtrevc3(side lapack.EVSide, howmny lapack.HowMany, selected []bool, n int, t []float64, ldt int, vl []float64, ldvl int, vr []float64, ldvr int, mm int, work []float64, lwork int) (m int) {\n\tswitch side {\n\tdefault:\n\t\tpanic(badEVSide)\n\tcase lapack.RightEV, lapack.LeftEV, lapack.RightLeftEV:\n\t}\n\tswitch howmny {\n\tdefault:\n\t\tpanic(badHowMany)\n\tcase lapack.AllEV, lapack.AllEVMulQ, lapack.SelectedEV:\n\t}\n\tswitch {\n\tcase n < 0:\n\t\tpanic(nLT0)\n\tcase len(work) < lwork:\n\t\tpanic(shortWork)\n\tcase lwork < max(1, 3*n) && lwork != -1:\n\t\tpanic(badWork)\n\t}\n\tif lwork != -1 {\n\t\tif howmny == lapack.SelectedEV {\n\t\t\tif len(selected) != n {\n\t\t\t\tpanic(\"lapack: bad selected length\")\n\t\t\t}\n\t\t\t// Set m to the number of columns required to store the\n\t\t\t// selected eigenvectors, and standardize the slice\n\t\t\t// selected.\n\t\t\tfor j := 0; j < n; {\n\t\t\t\tif j == n-1 || t[(j+1)*ldt+j] == 0 {\n\t\t\t\t\t// Diagonal 1×1 block corresponding to a\n\t\t\t\t\t// real eigenvalue.\n\t\t\t\t\tif selected[j] {\n\t\t\t\t\t\tm++\n\t\t\t\t\t}\n\t\t\t\t\tj++\n\t\t\t\t} else {\n\t\t\t\t\t// Diagonal 2×2 block corresponding to a\n\t\t\t\t\t// complex eigenvalue.\n\t\t\t\t\tif selected[j] || selected[j+1] {\n\t\t\t\t\t\tselected[j] = true\n\t\t\t\t\t\tselected[j+1] = false\n\t\t\t\t\t\tm += 2\n\t\t\t\t\t}\n\t\t\t\t\tj += 2\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tm = n\n\t\t}\n\t\tif m > mm {\n\t\t\tpanic(\"lapack: insufficient number of columns\")\n\t\t}\n\t\tcheckMatrix(n, n, t, ldt)\n\t\tif (side == lapack.RightEV || side == lapack.RightLeftEV) && m > 0 {\n\t\t\tcheckMatrix(n, m, vr, ldvr)\n\t\t}\n\t\tif (side == lapack.LeftEV || side == lapack.RightLeftEV) && m > 0 {\n\t\t\tcheckMatrix(n, m, vl, ldvl)\n\t\t}\n\t}\n\n\t// Quick return if possible.\n\tif n == 0 {\n\t\twork[0] = 1\n\t\treturn m\n\t}\n\n\tconst (\n\t\tnbmin = 8\n\t\tnbmax = 128\n\t)\n\tnb := impl.Ilaenv(1, \"DTREVC\", string(side)+string(howmny), n, -1, -1, -1)\n\n\t// Quick return in case of a workspace query.\n\tif lwork == -1 {\n\t\twork[0] = float64(n + 2*n*nb)\n\t\treturn m\n\t}\n\n\t// Use blocked version of back-transformation if sufficient workspace.\n\t// Zero-out the workspace to avoid potential NaN propagation.\n\tif howmny == lapack.AllEVMulQ && lwork >= n+2*n*nbmin {\n\t\tnb = min((lwork-n)/(2*n), nbmax)\n\t\timpl.Dlaset(blas.All, n, 1+2*nb, 0, 0, work[:n+2*nb*n], 1+2*nb)\n\t} else {\n\t\tnb = 1\n\t}\n\n\t// Set the constants to control overflow.\n\tulp := dlamchP\n\tsmlnum := float64(n) / ulp * dlamchS\n\tbignum := (1 - ulp) / smlnum\n\n\t// Split work into a vector of column norms and an n×2*nb matrix b.\n\tnorms := work[:n]\n\tldb := 2 * nb\n\tb := work[n : n+n*ldb]\n\n\t// Compute 1-norm of each column of strictly upper triangular part of T\n\t// to control overflow in triangular solver.\n\tnorms[0] = 0\n\tfor j := 1; j < n; j++ {\n\t\tvar cn float64\n\t\tfor i := 0; i < j; i++ {\n\t\t\tcn += math.Abs(t[i*ldt+j])\n\t\t}\n\t\tnorms[j] = cn\n\t}\n\n\tbi := blas64.Implementation()\n\n\tvar (\n\t\tx [4]float64\n\n\t\tiv int // Index of column in current block.\n\t\tis int\n\n\t\t// ip is used below to specify the real or complex eigenvalue:\n\t\t//  ip == 0, real eigenvalue,\n\t\t//        1, first  of conjugate complex pair (wr,wi),\n\t\t//       -1, second of conjugate complex pair (wr,wi).\n\t\tip        int\n\t\tiscomplex [nbmax]int // Stores ip for each column in current block.\n\t)\n\n\tif side == lapack.LeftEV {\n\t\tgoto leftev\n\t}\n\n\t// Compute right eigenvectors.\n\n\t// For complex right vector, iv-1 is for real part and iv for complex\n\t// part. Non-blocked version always uses iv=1, blocked version starts\n\t// with iv=nb-1 and goes down to 0 or 1.\n\tiv = max(2, nb) - 1\n\tip = 0\n\tis = m - 1\n\tfor ki := n - 1; ki >= 0; ki-- {\n\t\tif ip == -1 {\n\t\t\t// Previous iteration (ki+1) was second of\n\t\t\t// conjugate pair, so this ki is first of\n\t\t\t// conjugate pair.\n\t\t\tip = 1\n\t\t\tcontinue\n\t\t}\n\n\t\tif ki == 0 || t[ki*ldt+ki-1] == 0 {\n\t\t\t// Last column or zero on sub-diagonal, so this\n\t\t\t// ki must be real eigenvalue.\n\t\t\tip = 0\n\t\t} else {\n\t\t\t// Non-zero on sub-diagonal, so this ki is\n\t\t\t// second of conjugate pair.\n\t\t\tip = -1\n\t\t}\n\n\t\tif howmny == lapack.SelectedEV {\n\t\t\tif ip == 0 {\n\t\t\t\tif !selected[ki] {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else if !selected[ki-1] {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\t// Compute the ki-th eigenvalue (wr,wi).\n\t\twr := t[ki*ldt+ki]\n\t\tvar wi float64\n\t\tif ip != 0 {\n\t\t\twi = math.Sqrt(math.Abs(t[ki*ldt+ki-1])) * math.Sqrt(math.Abs(t[(ki-1)*ldt+ki]))\n\t\t}\n\t\tsmin := math.Max(ulp*(math.Abs(wr)+math.Abs(wi)), smlnum)\n\n\t\tif ip == 0 {\n\t\t\t// Real right eigenvector.\n\n\t\t\tb[ki*ldb+iv] = 1\n\t\t\t// Form right-hand side.\n\t\t\tfor k := 0; k < ki; k++ {\n\t\t\t\tb[k*ldb+iv] = -t[k*ldt+ki]\n\t\t\t}\n\t\t\t// Solve upper quasi-triangular system:\n\t\t\t//  [ T[0:ki,0:ki] - wr ]*X = scale*b.\n\t\t\tfor j := ki - 1; j >= 0; {\n\t\t\t\tif j == 0 || t[j*ldt+j-1] == 0 {\n\t\t\t\t\t// 1×1 diagonal block.\n\t\t\t\t\tscale, xnorm, _ := impl.Dlaln2(false, 1, 1, smin, 1, t[j*ldt+j:], ldt,\n\t\t\t\t\t\t1, 1, b[j*ldb+iv:], ldb, wr, 0, x[:1], 2)\n\t\t\t\t\t// Scale X[0,0] to avoid overflow when updating the\n\t\t\t\t\t// right-hand side.\n\t\t\t\t\tif xnorm > 1 && norms[j] > bignum/xnorm {\n\t\t\t\t\t\tx[0] /= xnorm\n\t\t\t\t\t\tscale /= xnorm\n\t\t\t\t\t}\n\t\t\t\t\t// Scale if necessary.\n\t\t\t\t\tif scale != 1 {\n\t\t\t\t\t\tbi.Dscal(ki+1, scale, b[iv:], ldb)\n\t\t\t\t\t}\n\t\t\t\t\tb[j*ldb+iv] = x[0]\n\t\t\t\t\t// Update right-hand side.\n\t\t\t\t\tbi.Daxpy(j, -x[0], t[j:], ldt, b[iv:], ldb)\n\t\t\t\t\tj--\n\t\t\t\t} else {\n\t\t\t\t\t// 2×2 diagonal block.\n\t\t\t\t\tscale, xnorm, _ := impl.Dlaln2(false, 2, 1, smin, 1, t[(j-1)*ldt+j-1:], ldt,\n\t\t\t\t\t\t1, 1, b[(j-1)*ldb+iv:], ldb, wr, 0, x[:3], 2)\n\t\t\t\t\t// Scale X[0,0] and X[1,0] to avoid overflow\n\t\t\t\t\t// when updating the right-hand side.\n\t\t\t\t\tif xnorm > 1 {\n\t\t\t\t\t\tbeta := math.Max(norms[j-1], norms[j])\n\t\t\t\t\t\tif beta > bignum/xnorm {\n\t\t\t\t\t\t\tx[0] /= xnorm\n\t\t\t\t\t\t\tx[2] /= xnorm\n\t\t\t\t\t\t\tscale /= xnorm\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Scale if necessary.\n\t\t\t\t\tif scale != 1 {\n\t\t\t\t\t\tbi.Dscal(ki+1, scale, b[iv:], ldb)\n\t\t\t\t\t}\n\t\t\t\t\tb[(j-1)*ldb+iv] = x[0]\n\t\t\t\t\tb[j*ldb+iv] = x[2]\n\t\t\t\t\t// Update right-hand side.\n\t\t\t\t\tbi.Daxpy(j-1, -x[0], t[j-1:], ldt, b[iv:], ldb)\n\t\t\t\t\tbi.Daxpy(j-1, -x[2], t[j:], ldt, b[iv:], ldb)\n\t\t\t\t\tj -= 2\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Copy the vector x or Q*x to VR and normalize.\n\t\t\tswitch {\n\t\t\tcase howmny != lapack.AllEVMulQ:\n\t\t\t\t// No back-transform: copy x to VR and normalize.\n\t\t\t\tbi.Dcopy(ki+1, b[iv:], ldb, vr[is:], ldvr)\n\t\t\t\tii := bi.Idamax(ki+1, vr[is:], ldvr)\n\t\t\t\tremax := 1 / math.Abs(vr[ii*ldvr+is])\n\t\t\t\tbi.Dscal(ki+1, remax, vr[is:], ldvr)\n\t\t\t\tfor k := ki + 1; k < n; k++ {\n\t\t\t\t\tvr[k*ldvr+is] = 0\n\t\t\t\t}\n\t\t\tcase nb == 1:\n\t\t\t\t// Version 1: back-transform each vector with GEMV, Q*x.\n\t\t\t\tif ki > 0 {\n\t\t\t\t\tbi.Dgemv(blas.NoTrans, n, ki, 1, vr, ldvr, b[iv:], ldb,\n\t\t\t\t\t\tb[ki*ldb+iv], vr[ki:], ldvr)\n\t\t\t\t}\n\t\t\t\tii := bi.Idamax(n, vr[ki:], ldvr)\n\t\t\t\tremax := 1 / math.Abs(vr[ii*ldvr+ki])\n\t\t\t\tbi.Dscal(n, remax, vr[ki:], ldvr)\n\t\t\tdefault:\n\t\t\t\t// Version 2: back-transform block of vectors with GEMM.\n\t\t\t\t// Zero out below vector.\n\t\t\t\tfor k := ki + 1; k < n; k++ {\n\t\t\t\t\tb[k*ldb+iv] = 0\n\t\t\t\t}\n\t\t\t\tiscomplex[iv] = ip\n\t\t\t\t// Back-transform and normalization is done below.\n\t\t\t}\n\t\t} else {\n\t\t\t// Complex right eigenvector.\n\n\t\t\t// Initial solve\n\t\t\t//  [ ( T[ki-1,ki-1] T[ki-1,ki] ) - (wr + i*wi) ]*X = 0.\n\t\t\t//  [ ( T[ki,  ki-1] T[ki,  ki] )               ]\n\t\t\tif math.Abs(t[(ki-1)*ldt+ki]) >= math.Abs(t[ki*ldt+ki-1]) {\n\t\t\t\tb[(ki-1)*ldb+iv-1] = 1\n\t\t\t\tb[ki*ldb+iv] = wi / t[(ki-1)*ldt+ki]\n\t\t\t} else {\n\t\t\t\tb[(ki-1)*ldb+iv-1] = -wi / t[ki*ldt+ki-1]\n\t\t\t\tb[ki*ldb+iv] = 1\n\t\t\t}\n\t\t\tb[ki*ldb+iv-1] = 0\n\t\t\tb[(ki-1)*ldb+iv] = 0\n\t\t\t// Form right-hand side.\n\t\t\tfor k := 0; k < ki-1; k++ {\n\t\t\t\tb[k*ldb+iv-1] = -b[(ki-1)*ldb+iv-1] * t[k*ldt+ki-1]\n\t\t\t\tb[k*ldb+iv] = -b[ki*ldb+iv] * t[k*ldt+ki]\n\t\t\t}\n\t\t\t// Solve upper quasi-triangular system:\n\t\t\t//  [ T[0:ki-1,0:ki-1] - (wr+i*wi) ]*X = scale*(b1+i*b2)\n\t\t\tfor j := ki - 2; j >= 0; {\n\t\t\t\tif j == 0 || t[j*ldt+j-1] == 0 {\n\t\t\t\t\t// 1×1 diagonal block.\n\n\t\t\t\t\tscale, xnorm, _ := impl.Dlaln2(false, 1, 2, smin, 1, t[j*ldt+j:], ldt,\n\t\t\t\t\t\t1, 1, b[j*ldb+iv-1:], ldb, wr, wi, x[:2], 2)\n\t\t\t\t\t// Scale X[0,0] and X[0,1] to avoid\n\t\t\t\t\t// overflow when updating the right-hand side.\n\t\t\t\t\tif xnorm > 1 && norms[j] > bignum/xnorm {\n\t\t\t\t\t\tx[0] /= xnorm\n\t\t\t\t\t\tx[1] /= xnorm\n\t\t\t\t\t\tscale /= xnorm\n\t\t\t\t\t}\n\t\t\t\t\t// Scale if necessary.\n\t\t\t\t\tif scale != 1 {\n\t\t\t\t\t\tbi.Dscal(ki+1, scale, b[iv-1:], ldb)\n\t\t\t\t\t\tbi.Dscal(ki+1, scale, b[iv:], ldb)\n\t\t\t\t\t}\n\t\t\t\t\tb[j*ldb+iv-1] = x[0]\n\t\t\t\t\tb[j*ldb+iv] = x[1]\n\t\t\t\t\t// Update the right-hand side.\n\t\t\t\t\tbi.Daxpy(j, -x[0], t[j:], ldt, b[iv-1:], ldb)\n\t\t\t\t\tbi.Daxpy(j, -x[1], t[j:], ldt, b[iv:], ldb)\n\t\t\t\t\tj--\n\t\t\t\t} else {\n\t\t\t\t\t// 2×2 diagonal block.\n\n\t\t\t\t\tscale, xnorm, _ := impl.Dlaln2(false, 2, 2, smin, 1, t[(j-1)*ldt+j-1:], ldt,\n\t\t\t\t\t\t1, 1, b[(j-1)*ldb+iv-1:], ldb, wr, wi, x[:], 2)\n\t\t\t\t\t// Scale X to avoid overflow when updating\n\t\t\t\t\t// the right-hand side.\n\t\t\t\t\tif xnorm > 1 {\n\t\t\t\t\t\tbeta := math.Max(norms[j-1], norms[j])\n\t\t\t\t\t\tif beta > bignum/xnorm {\n\t\t\t\t\t\t\trec := 1 / xnorm\n\t\t\t\t\t\t\tx[0] *= rec\n\t\t\t\t\t\t\tx[1] *= rec\n\t\t\t\t\t\t\tx[2] *= rec\n\t\t\t\t\t\t\tx[3] *= rec\n\t\t\t\t\t\t\tscale *= rec\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Scale if necessary.\n\t\t\t\t\tif scale != 1 {\n\t\t\t\t\t\tbi.Dscal(ki+1, scale, b[iv-1:], ldb)\n\t\t\t\t\t\tbi.Dscal(ki+1, scale, b[iv:], ldb)\n\t\t\t\t\t}\n\t\t\t\t\tb[(j-1)*ldb+iv-1] = x[0]\n\t\t\t\t\tb[(j-1)*ldb+iv] = x[1]\n\t\t\t\t\tb[j*ldb+iv-1] = x[2]\n\t\t\t\t\tb[j*ldb+iv] = x[3]\n\t\t\t\t\t// Update the right-hand side.\n\t\t\t\t\tbi.Daxpy(j-1, -x[0], t[j-1:], ldt, b[iv-1:], ldb)\n\t\t\t\t\tbi.Daxpy(j-1, -x[1], t[j-1:], ldt, b[iv:], ldb)\n\t\t\t\t\tbi.Daxpy(j-1, -x[2], t[j:], ldt, b[iv-1:], ldb)\n\t\t\t\t\tbi.Daxpy(j-1, -x[3], t[j:], ldt, b[iv:], ldb)\n\t\t\t\t\tj -= 2\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Copy the vector x or Q*x to VR and normalize.\n\t\t\tswitch {\n\t\t\tcase howmny != lapack.AllEVMulQ:\n\t\t\t\t// No back-transform: copy x to VR and normalize.\n\t\t\t\tbi.Dcopy(ki+1, b[iv-1:], ldb, vr[is-1:], ldvr)\n\t\t\t\tbi.Dcopy(ki+1, b[iv:], ldb, vr[is:], ldvr)\n\t\t\t\temax := 0.0\n\t\t\t\tfor k := 0; k <= ki; k++ {\n\t\t\t\t\temax = math.Max(emax, math.Abs(vr[k*ldvr+is-1])+math.Abs(vr[k*ldvr+is]))\n\t\t\t\t}\n\t\t\t\tremax := 1 / emax\n\t\t\t\tbi.Dscal(ki+1, remax, vr[is-1:], ldvr)\n\t\t\t\tbi.Dscal(ki+1, remax, vr[is:], ldvr)\n\t\t\t\tfor k := ki + 1; k < n; k++ {\n\t\t\t\t\tvr[k*ldvr+is-1] = 0\n\t\t\t\t\tvr[k*ldvr+is] = 0\n\t\t\t\t}\n\t\t\tcase nb == 1:\n\t\t\t\t// Version 1: back-transform each vector with GEMV, Q*x.\n\t\t\t\tif ki-1 > 0 {\n\t\t\t\t\tbi.Dgemv(blas.NoTrans, n, ki-1, 1, vr, ldvr, b[iv-1:], ldb,\n\t\t\t\t\t\tb[(ki-1)*ldb+iv-1], vr[ki-1:], ldvr)\n\t\t\t\t\tbi.Dgemv(blas.NoTrans, n, ki-1, 1, vr, ldvr, b[iv:], ldb,\n\t\t\t\t\t\tb[ki*ldb+iv], vr[ki:], ldvr)\n\t\t\t\t} else {\n\t\t\t\t\tbi.Dscal(n, b[(ki-1)*ldb+iv-1], vr[ki-1:], ldvr)\n\t\t\t\t\tbi.Dscal(n, b[ki*ldb+iv], vr[ki:], ldvr)\n\t\t\t\t}\n\t\t\t\temax := 0.0\n\t\t\t\tfor k := 0; k < n; k++ {\n\t\t\t\t\temax = math.Max(emax, math.Abs(vr[k*ldvr+ki-1])+math.Abs(vr[k*ldvr+ki]))\n\t\t\t\t}\n\t\t\t\tremax := 1 / emax\n\t\t\t\tbi.Dscal(n, remax, vr[ki-1:], ldvr)\n\t\t\t\tbi.Dscal(n, remax, vr[ki:], ldvr)\n\t\t\tdefault:\n\t\t\t\t// Version 2: back-transform block of vectors with GEMM.\n\t\t\t\t// Zero out below vector.\n\t\t\t\tfor k := ki + 1; k < n; k++ {\n\t\t\t\t\tb[k*ldb+iv-1] = 0\n\t\t\t\t\tb[k*ldb+iv] = 0\n\t\t\t\t}\n\t\t\t\tiscomplex[iv-1] = -ip\n\t\t\t\tiscomplex[iv] = ip\n\t\t\t\tiv--\n\t\t\t\t// Back-transform and normalization is done below.\n\t\t\t}\n\t\t}\n\t\tif nb > 1 {\n\t\t\t// Blocked version of back-transform.\n\n\t\t\t// For complex case, ki2 includes both vectors (ki-1 and ki).\n\t\t\tki2 := ki\n\t\t\tif ip != 0 {\n\t\t\t\tki2--\n\t\t\t}\n\t\t\t// Columns iv:nb of b are valid vectors.\n\t\t\t// When the number of vectors stored reaches nb-1 or nb,\n\t\t\t// or if this was last vector, do the Gemm.\n\t\t\tif iv < 2 || ki2 == 0 {\n\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, n, nb-iv, ki2+nb-iv,\n\t\t\t\t\t1, vr, ldvr, b[iv:], ldb,\n\t\t\t\t\t0, b[nb+iv:], ldb)\n\t\t\t\t// Normalize vectors.\n\t\t\t\tvar remax float64\n\t\t\t\tfor k := iv; k < nb; k++ {\n\t\t\t\t\tif iscomplex[k] == 0 {\n\t\t\t\t\t\t// Real eigenvector.\n\t\t\t\t\t\tii := bi.Idamax(n, b[nb+k:], ldb)\n\t\t\t\t\t\tremax = 1 / math.Abs(b[ii*ldb+nb+k])\n\t\t\t\t\t} else if iscomplex[k] == 1 {\n\t\t\t\t\t\t// First eigenvector of conjugate pair.\n\t\t\t\t\t\temax := 0.0\n\t\t\t\t\t\tfor ii := 0; ii < n; ii++ {\n\t\t\t\t\t\t\temax = math.Max(emax, math.Abs(b[ii*ldb+nb+k])+math.Abs(b[ii*ldb+nb+k+1]))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremax = 1 / emax\n\t\t\t\t\t\t// Second eigenvector of conjugate pair\n\t\t\t\t\t\t// will reuse this value of remax.\n\t\t\t\t\t}\n\t\t\t\t\tbi.Dscal(n, remax, b[nb+k:], ldb)\n\t\t\t\t}\n\t\t\t\timpl.Dlacpy(blas.All, n, nb-iv, b[nb+iv:], ldb, vr[ki2:], ldvr)\n\t\t\t\tiv = nb - 1\n\t\t\t} else {\n\t\t\t\tiv--\n\t\t\t}\n\t\t}\n\t\tis--\n\t\tif ip != 0 {\n\t\t\tis--\n\t\t}\n\t}\n\n\tif side == lapack.RightEV {\n\t\treturn m\n\t}\n\nleftev:\n\t// Compute left eigenvectors.\n\n\t// For complex left vector, iv is for real part and iv+1 for complex\n\t// part. Non-blocked version always uses iv=0. Blocked version starts\n\t// with iv=0, goes up to nb-2 or nb-1.\n\tiv = 0\n\tip = 0\n\tis = 0\n\tfor ki := 0; ki < n; ki++ {\n\t\tif ip == 1 {\n\t\t\t// Previous iteration ki-1 was first of conjugate pair,\n\t\t\t// so this ki is second of conjugate pair.\n\t\t\tip = -1\n\t\t\tcontinue\n\t\t}\n\n\t\tif ki == n-1 || t[(ki+1)*ldt+ki] == 0 {\n\t\t\t// Last column or zero on sub-diagonal, so this ki must\n\t\t\t// be real eigenvalue.\n\t\t\tip = 0\n\t\t} else {\n\t\t\t// Non-zero on sub-diagonal, so this ki is first of\n\t\t\t// conjugate pair.\n\t\t\tip = 1\n\t\t}\n\t\tif howmny == lapack.SelectedEV && !selected[ki] {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Compute the ki-th eigenvalue (wr,wi).\n\t\twr := t[ki*ldt+ki]\n\t\tvar wi float64\n\t\tif ip != 0 {\n\t\t\twi = math.Sqrt(math.Abs(t[ki*ldt+ki+1])) * math.Sqrt(math.Abs(t[(ki+1)*ldt+ki]))\n\t\t}\n\t\tsmin := math.Max(ulp*(math.Abs(wr)+math.Abs(wi)), smlnum)\n\n\t\tif ip == 0 {\n\t\t\t// Real left eigenvector.\n\n\t\t\tb[ki*ldb+iv] = 1\n\t\t\t// Form right-hand side.\n\t\t\tfor k := ki + 1; k < n; k++ {\n\t\t\t\tb[k*ldb+iv] = -t[ki*ldt+k]\n\t\t\t}\n\t\t\t// Solve transposed quasi-triangular system:\n\t\t\t//  [ T[ki+1:n,ki+1:n] - wr ]^T * X = scale*b\n\t\t\tvmax := 1.0\n\t\t\tvcrit := bignum\n\t\t\tfor j := ki + 1; j < n; {\n\t\t\t\tif j == n-1 || t[(j+1)*ldt+j] == 0 {\n\t\t\t\t\t// 1×1 diagonal block.\n\n\t\t\t\t\t// Scale if necessary to avoid overflow\n\t\t\t\t\t// when forming the right-hand side.\n\t\t\t\t\tif norms[j] > vcrit {\n\t\t\t\t\t\trec := 1 / vmax\n\t\t\t\t\t\tbi.Dscal(n-ki, rec, b[ki*ldb+iv:], ldb)\n\t\t\t\t\t\tvmax = 1\n\t\t\t\t\t\tvcrit = bignum\n\t\t\t\t\t}\n\t\t\t\t\tb[j*ldb+iv] -= bi.Ddot(j-ki-1, t[(ki+1)*ldt+j:], ldt, b[(ki+1)*ldb+iv:], ldb)\n\t\t\t\t\t// Solve [ T[j,j] - wr ]^T * X = b.\n\t\t\t\t\tscale, _, _ := impl.Dlaln2(false, 1, 1, smin, 1, t[j*ldt+j:], ldt,\n\t\t\t\t\t\t1, 1, b[j*ldb+iv:], ldb, wr, 0, x[:1], 2)\n\t\t\t\t\t// Scale if necessary.\n\t\t\t\t\tif scale != 1 {\n\t\t\t\t\t\tbi.Dscal(n-ki, scale, b[ki*ldb+iv:], ldb)\n\t\t\t\t\t}\n\t\t\t\t\tb[j*ldb+iv] = x[0]\n\t\t\t\t\tvmax = math.Max(math.Abs(b[j*ldb+iv]), vmax)\n\t\t\t\t\tvcrit = bignum / vmax\n\t\t\t\t\tj++\n\t\t\t\t} else {\n\t\t\t\t\t// 2×2 diagonal block.\n\n\t\t\t\t\t// Scale if necessary to avoid overflow\n\t\t\t\t\t// when forming the right-hand side.\n\t\t\t\t\tbeta := math.Max(norms[j], norms[j+1])\n\t\t\t\t\tif beta > vcrit {\n\t\t\t\t\t\tbi.Dscal(n-ki+1, 1/vmax, b[ki*ldb+iv:], 1)\n\t\t\t\t\t\tvmax = 1\n\t\t\t\t\t\tvcrit = bignum\n\t\t\t\t\t}\n\t\t\t\t\tb[j*ldb+iv] -= bi.Ddot(j-ki-1, t[(ki+1)*ldt+j:], ldt, b[(ki+1)*ldb+iv:], ldb)\n\t\t\t\t\tb[(j+1)*ldb+iv] -= bi.Ddot(j-ki-1, t[(ki+1)*ldt+j+1:], ldt, b[(ki+1)*ldb+iv:], ldb)\n\t\t\t\t\t// Solve\n\t\t\t\t\t//  [ T[j,j]-wr  T[j,j+1]      ]^T * X = scale*[ b1 ]\n\t\t\t\t\t//  [ T[j+1,j]   T[j+1,j+1]-wr ]               [ b2 ]\n\t\t\t\t\tscale, _, _ := impl.Dlaln2(true, 2, 1, smin, 1, t[j*ldt+j:], ldt,\n\t\t\t\t\t\t1, 1, b[j*ldb+iv:], ldb, wr, 0, x[:3], 2)\n\t\t\t\t\t// Scale if necessary.\n\t\t\t\t\tif scale != 1 {\n\t\t\t\t\t\tbi.Dscal(n-ki, scale, b[ki*ldb+iv:], ldb)\n\t\t\t\t\t}\n\t\t\t\t\tb[j*ldb+iv] = x[0]\n\t\t\t\t\tb[(j+1)*ldb+iv] = x[2]\n\t\t\t\t\tvmax = math.Max(vmax, math.Max(math.Abs(b[j*ldb+iv]), math.Abs(b[(j+1)*ldb+iv])))\n\t\t\t\t\tvcrit = bignum / vmax\n\t\t\t\t\tj += 2\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Copy the vector x or Q*x to VL and normalize.\n\t\t\tswitch {\n\t\t\tcase howmny != lapack.AllEVMulQ:\n\t\t\t\t// No back-transform: copy x to VL and normalize.\n\t\t\t\tbi.Dcopy(n-ki, b[ki*ldb+iv:], ldb, vl[ki*ldvl+is:], ldvl)\n\t\t\t\tii := bi.Idamax(n-ki, vl[ki*ldvl+is:], ldvl) + ki\n\t\t\t\tremax := 1 / math.Abs(vl[ii*ldvl+is])\n\t\t\t\tbi.Dscal(n-ki, remax, vl[ki*ldvl+is:], ldvl)\n\t\t\t\tfor k := 0; k < ki; k++ {\n\t\t\t\t\tvl[k*ldvl+is] = 0\n\t\t\t\t}\n\t\t\tcase nb == 1:\n\t\t\t\t// Version 1: back-transform each vector with Gemv, Q*x.\n\t\t\t\tif n-ki-1 > 0 {\n\t\t\t\t\tbi.Dgemv(blas.NoTrans, n, n-ki-1,\n\t\t\t\t\t\t1, vl[ki+1:], ldvl, b[(ki+1)*ldb+iv:], ldb,\n\t\t\t\t\t\tb[ki*ldb+iv], vl[ki:], ldvl)\n\t\t\t\t}\n\t\t\t\tii := bi.Idamax(n, vl[ki:], ldvl)\n\t\t\t\tremax := 1 / math.Abs(vl[ii*ldvl+ki])\n\t\t\t\tbi.Dscal(n, remax, vl[ki:], ldvl)\n\t\t\tdefault:\n\t\t\t\t// Version 2: back-transform block of vectors with Gemm\n\t\t\t\t// zero out above vector.\n\t\t\t\tfor k := 0; k < ki; k++ {\n\t\t\t\t\tb[k*ldb+iv] = 0\n\t\t\t\t}\n\t\t\t\tiscomplex[iv] = ip\n\t\t\t\t// Back-transform and normalization is done below.\n\t\t\t}\n\t\t} else {\n\t\t\t// Complex left eigenvector.\n\n\t\t\t// Initial solve:\n\t\t\t// [ [ T[ki,ki]   T[ki,ki+1]   ]^T - (wr - i* wi) ]*X = 0.\n\t\t\t// [ [ T[ki+1,ki] T[ki+1,ki+1] ]                  ]\n\t\t\tif math.Abs(t[ki*ldt+ki+1]) >= math.Abs(t[(ki+1)*ldt+ki]) {\n\t\t\t\tb[ki*ldb+iv] = wi / t[ki*ldt+ki+1]\n\t\t\t\tb[(ki+1)*ldb+iv+1] = 1\n\t\t\t} else {\n\t\t\t\tb[ki*ldb+iv] = 1\n\t\t\t\tb[(ki+1)*ldb+iv+1] = -wi / t[(ki+1)*ldt+ki]\n\t\t\t}\n\t\t\tb[(ki+1)*ldb+iv] = 0\n\t\t\tb[ki*ldb+iv+1] = 0\n\t\t\t// Form right-hand side.\n\t\t\tfor k := ki + 2; k < n; k++ {\n\t\t\t\tb[k*ldb+iv] = -b[ki*ldb+iv] * t[ki*ldt+k]\n\t\t\t\tb[k*ldb+iv+1] = -b[(ki+1)*ldb+iv+1] * t[(ki+1)*ldt+k]\n\t\t\t}\n\t\t\t// Solve transposed quasi-triangular system:\n\t\t\t// [ T[ki+2:n,ki+2:n]^T - (wr-i*wi) ]*X = b1+i*b2\n\t\t\tvmax := 1.0\n\t\t\tvcrit := bignum\n\t\t\tfor j := ki + 2; j < n; {\n\t\t\t\tif j == n-1 || t[(j+1)*ldt+j] == 0 {\n\t\t\t\t\t// 1×1 diagonal block.\n\n\t\t\t\t\t// Scale if necessary to avoid overflow\n\t\t\t\t\t// when forming the right-hand side elements.\n\t\t\t\t\tif norms[j] > vcrit {\n\t\t\t\t\t\trec := 1 / vmax\n\t\t\t\t\t\tbi.Dscal(n-ki, rec, b[ki*ldb+iv:], ldb)\n\t\t\t\t\t\tbi.Dscal(n-ki, rec, b[ki*ldb+iv+1:], ldb)\n\t\t\t\t\t\tvmax = 1\n\t\t\t\t\t\tvcrit = bignum\n\t\t\t\t\t}\n\t\t\t\t\tb[j*ldb+iv] -= bi.Ddot(j-ki-2, t[(ki+2)*ldt+j:], ldt, b[(ki+2)*ldb+iv:], ldb)\n\t\t\t\t\tb[j*ldb+iv+1] -= bi.Ddot(j-ki-2, t[(ki+2)*ldt+j:], ldt, b[(ki+2)*ldb+iv+1:], ldb)\n\t\t\t\t\t// Solve [ T[j,j]-(wr-i*wi) ]*(X11+i*X12) = b1+i*b2.\n\t\t\t\t\tscale, _, _ := impl.Dlaln2(false, 1, 2, smin, 1, t[j*ldt+j:], ldt,\n\t\t\t\t\t\t1, 1, b[j*ldb+iv:], ldb, wr, -wi, x[:2], 2)\n\t\t\t\t\t// Scale if necessary.\n\t\t\t\t\tif scale != 1 {\n\t\t\t\t\t\tbi.Dscal(n-ki, scale, b[ki*ldb+iv:], ldb)\n\t\t\t\t\t\tbi.Dscal(n-ki, scale, b[ki*ldb+iv+1:], ldb)\n\t\t\t\t\t}\n\t\t\t\t\tb[j*ldb+iv] = x[0]\n\t\t\t\t\tb[j*ldb+iv+1] = x[1]\n\t\t\t\t\tvmax = math.Max(vmax, math.Max(math.Abs(b[j*ldb+iv]), math.Abs(b[j*ldb+iv+1])))\n\t\t\t\t\tvcrit = bignum / vmax\n\t\t\t\t\tj++\n\t\t\t\t} else {\n\t\t\t\t\t// 2×2 diagonal block.\n\n\t\t\t\t\t// Scale if necessary to avoid overflow\n\t\t\t\t\t// when forming the right-hand side elements.\n\t\t\t\t\tif math.Max(norms[j], norms[j+1]) > vcrit {\n\t\t\t\t\t\trec := 1 / vmax\n\t\t\t\t\t\tbi.Dscal(n-ki, rec, b[ki*ldb+iv:], ldb)\n\t\t\t\t\t\tbi.Dscal(n-ki, rec, b[ki*ldb+iv+1:], ldb)\n\t\t\t\t\t\tvmax = 1\n\t\t\t\t\t\tvcrit = bignum\n\t\t\t\t\t}\n\t\t\t\t\tb[j*ldb+iv] -= bi.Ddot(j-ki-2, t[(ki+2)*ldt+j:], ldt, b[(ki+2)*ldb+iv:], ldb)\n\t\t\t\t\tb[j*ldb+iv+1] -= bi.Ddot(j-ki-2, t[(ki+2)*ldt+j:], ldt, b[(ki+2)*ldb+iv+1:], ldb)\n\t\t\t\t\tb[(j+1)*ldb+iv] -= bi.Ddot(j-ki-2, t[(ki+2)*ldt+j+1:], ldt, b[(ki+2)*ldb+iv:], ldb)\n\t\t\t\t\tb[(j+1)*ldb+iv+1] -= bi.Ddot(j-ki-2, t[(ki+2)*ldt+j+1:], ldt, b[(ki+2)*ldb+iv+1:], ldb)\n\t\t\t\t\t// Solve 2×2 complex linear equation\n\t\t\t\t\t//  [ [T[j,j]   T[j,j+1]  ]^T - (wr-i*wi)*I ]*X = scale*b\n\t\t\t\t\t//  [ [T[j+1,j] T[j+1,j+1]]                 ]\n\t\t\t\t\tscale, _, _ := impl.Dlaln2(true, 2, 2, smin, 1, t[j*ldt+j:], ldt,\n\t\t\t\t\t\t1, 1, b[j*ldb+iv:], ldb, wr, -wi, x[:], 2)\n\t\t\t\t\t// Scale if necessary.\n\t\t\t\t\tif scale != 1 {\n\t\t\t\t\t\tbi.Dscal(n-ki, scale, b[ki*ldb+iv:], ldb)\n\t\t\t\t\t\tbi.Dscal(n-ki, scale, b[ki*ldb+iv+1:], ldb)\n\t\t\t\t\t}\n\t\t\t\t\tb[j*ldb+iv] = x[0]\n\t\t\t\t\tb[j*ldb+iv+1] = x[1]\n\t\t\t\t\tb[(j+1)*ldb+iv] = x[2]\n\t\t\t\t\tb[(j+1)*ldb+iv+1] = x[3]\n\t\t\t\t\tvmax01 := math.Max(math.Abs(x[0]), math.Abs(x[1]))\n\t\t\t\t\tvmax23 := math.Max(math.Abs(x[2]), math.Abs(x[3]))\n\t\t\t\t\tvmax = math.Max(vmax, math.Max(vmax01, vmax23))\n\t\t\t\t\tvcrit = bignum / vmax\n\t\t\t\t\tj += 2\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Copy the vector x or Q*x to VL and normalize.\n\t\t\tswitch {\n\t\t\tcase howmny != lapack.AllEVMulQ:\n\t\t\t\t// No back-transform: copy x to VL and normalize.\n\t\t\t\tbi.Dcopy(n-ki, b[ki*ldb+iv:], ldb, vl[ki*ldvl+is:], ldvl)\n\t\t\t\tbi.Dcopy(n-ki, b[ki*ldb+iv+1:], ldb, vl[ki*ldvl+is+1:], ldvl)\n\t\t\t\temax := 0.0\n\t\t\t\tfor k := ki; k < n; k++ {\n\t\t\t\t\temax = math.Max(emax, math.Abs(vl[k*ldvl+is])+math.Abs(vl[k*ldvl+is+1]))\n\t\t\t\t}\n\t\t\t\tremax := 1 / emax\n\t\t\t\tbi.Dscal(n-ki, remax, vl[ki*ldvl+is:], ldvl)\n\t\t\t\tbi.Dscal(n-ki, remax, vl[ki*ldvl+is+1:], ldvl)\n\t\t\t\tfor k := 0; k < ki; k++ {\n\t\t\t\t\tvl[k*ldvl+is] = 0\n\t\t\t\t\tvl[k*ldvl+is+1] = 0\n\t\t\t\t}\n\t\t\tcase nb == 1:\n\t\t\t\t// Version 1: back-transform each vector with GEMV, Q*x.\n\t\t\t\tif n-ki-2 > 0 {\n\t\t\t\t\tbi.Dgemv(blas.NoTrans, n, n-ki-2,\n\t\t\t\t\t\t1, vl[ki+2:], ldvl, b[(ki+2)*ldb+iv:], ldb,\n\t\t\t\t\t\tb[ki*ldb+iv], vl[ki:], ldvl)\n\t\t\t\t\tbi.Dgemv(blas.NoTrans, n, n-ki-2,\n\t\t\t\t\t\t1, vl[ki+2:], ldvl, b[(ki+2)*ldb+iv+1:], ldb,\n\t\t\t\t\t\tb[(ki+1)*ldb+iv+1], vl[ki+1:], ldvl)\n\t\t\t\t} else {\n\t\t\t\t\tbi.Dscal(n, b[ki*ldb+iv], vl[ki:], ldvl)\n\t\t\t\t\tbi.Dscal(n, b[(ki+1)*ldb+iv+1], vl[ki+1:], ldvl)\n\t\t\t\t}\n\t\t\t\temax := 0.0\n\t\t\t\tfor k := 0; k < n; k++ {\n\t\t\t\t\temax = math.Max(emax, math.Abs(vl[k*ldvl+ki])+math.Abs(vl[k*ldvl+ki+1]))\n\t\t\t\t}\n\t\t\t\tremax := 1 / emax\n\t\t\t\tbi.Dscal(n, remax, vl[ki:], ldvl)\n\t\t\t\tbi.Dscal(n, remax, vl[ki+1:], ldvl)\n\t\t\tdefault:\n\t\t\t\t// Version 2: back-transform block of vectors with GEMM.\n\t\t\t\t// Zero out above vector.\n\t\t\t\t// Could go from ki-nv+1 to ki-1.\n\t\t\t\tfor k := 0; k < ki; k++ {\n\t\t\t\t\tb[k*ldb+iv] = 0\n\t\t\t\t\tb[k*ldb+iv+1] = 0\n\t\t\t\t}\n\t\t\t\tiscomplex[iv] = ip\n\t\t\t\tiscomplex[iv+1] = -ip\n\t\t\t\tiv++\n\t\t\t\t// Back-transform and normalization is done below.\n\t\t\t}\n\t\t}\n\t\tif nb > 1 {\n\t\t\t// Blocked version of back-transform.\n\t\t\t// For complex case, ki2 includes both vectors ki and ki+1.\n\t\t\tki2 := ki\n\t\t\tif ip != 0 {\n\t\t\t\tki2++\n\t\t\t}\n\t\t\t// Columns [0:iv] of work are valid vectors. When the\n\t\t\t// number of vectors stored reaches nb-1 or nb, or if\n\t\t\t// this was last vector, do the Gemm.\n\t\t\tif iv >= nb-2 || ki2 == n-1 {\n\t\t\t\tbi.Dgemm(blas.NoTrans, blas.NoTrans, n, iv+1, n-ki2+iv,\n\t\t\t\t\t1, vl[ki2-iv:], ldvl, b[(ki2-iv)*ldb:], ldb,\n\t\t\t\t\t0, b[nb:], ldb)\n\t\t\t\t// Normalize vectors.\n\t\t\t\tvar remax float64\n\t\t\t\tfor k := 0; k <= iv; k++ {\n\t\t\t\t\tif iscomplex[k] == 0 {\n\t\t\t\t\t\t// Real eigenvector.\n\t\t\t\t\t\tii := bi.Idamax(n, b[nb+k:], ldb)\n\t\t\t\t\t\tremax = 1 / math.Abs(b[ii*ldb+nb+k])\n\t\t\t\t\t} else if iscomplex[k] == 1 {\n\t\t\t\t\t\t// First eigenvector of conjugate pair.\n\t\t\t\t\t\temax := 0.0\n\t\t\t\t\t\tfor ii := 0; ii < n; ii++ {\n\t\t\t\t\t\t\temax = math.Max(emax, math.Abs(b[ii*ldb+nb+k])+math.Abs(b[ii*ldb+nb+k+1]))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremax = 1 / emax\n\t\t\t\t\t\t// Second eigenvector of conjugate pair\n\t\t\t\t\t\t// will reuse this value of remax.\n\t\t\t\t\t}\n\t\t\t\t\tbi.Dscal(n, remax, b[nb+k:], ldb)\n\t\t\t\t}\n\t\t\t\timpl.Dlacpy(blas.All, n, iv+1, b[nb:], ldb, vl[ki2-iv:], ldvl)\n\t\t\t\tiv = 0\n\t\t\t} else {\n\t\t\t\tiv++\n\t\t\t}\n\t\t}\n\t\tis++\n\t\tif ip != 0 {\n\t\t\tis++\n\t\t}\n\t}\n\n\treturn m\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dtrexc.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"gonum.org/v1/gonum/lapack\"\n\n// Dtrexc reorders the real Schur factorization of a n×n real matrix\n//  A = Q*T*Q^T\n// so that the diagonal block of T with row index ifst is moved to row ilst.\n//\n// On entry, T must be in Schur canonical form, that is, block upper triangular\n// with 1×1 and 2×2 diagonal blocks; each 2×2 diagonal block has its diagonal\n// elements equal and its off-diagonal elements of opposite sign.\n//\n// On return, T will be reordered by an orthogonal similarity transformation Z\n// as Z^T*T*Z, and will be again in Schur canonical form.\n//\n// If compq is lapack.UpdateSchur, on return the matrix Q of Schur vectors will be\n// updated by postmultiplying it with Z.\n// If compq is lapack.None, the matrix Q is not referenced and will not be\n// updated.\n// For other values of compq Dtrexc will panic.\n//\n// ifst and ilst specify the reordering of the diagonal blocks of T. The block\n// with row index ifst is moved to row ilst, by a sequence of transpositions\n// between adjacent blocks.\n//\n// If ifst points to the second row of a 2×2 block, ifstOut will point to the\n// first row, otherwise it will be equal to ifst.\n//\n// ilstOut will point to the first row of the block in its final position. If ok\n// is true, ilstOut may differ from ilst by +1 or -1.\n//\n// It must hold that\n//  0 <= ifst < n, and  0 <= ilst < n,\n// otherwise Dtrexc will panic.\n//\n// If ok is false, two adjacent blocks were too close to swap because the\n// problem is very ill-conditioned. T may have been partially reordered, and\n// ilstOut will point to the first row of the block at the position to which it\n// has been moved.\n//\n// work must have length at least n, otherwise Dtrexc will panic.\n//\n// Dtrexc is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dtrexc(compq lapack.EVComp, n int, t []float64, ldt int, q []float64, ldq int, ifst, ilst int, work []float64) (ifstOut, ilstOut int, ok bool) {\n\tcheckMatrix(n, n, t, ldt)\n\tvar wantq bool\n\tswitch compq {\n\tdefault:\n\t\tpanic(\"lapack: bad value of compq\")\n\tcase lapack.None:\n\t\t// Nothing to do because wantq is already false.\n\tcase lapack.UpdateSchur:\n\t\twantq = true\n\t\tcheckMatrix(n, n, q, ldq)\n\t}\n\tif (ifst < 0 || n <= ifst) && n > 0 {\n\t\tpanic(\"lapack: ifst out of range\")\n\t}\n\tif (ilst < 0 || n <= ilst) && n > 0 {\n\t\tpanic(\"lapack: ilst out of range\")\n\t}\n\tif len(work) < n {\n\t\tpanic(badWork)\n\t}\n\n\tok = true\n\n\t// Quick return if possible.\n\tif n <= 1 {\n\t\treturn ifst, ilst, true\n\t}\n\n\t// Determine the first row of specified block\n\t// and find out it is 1×1 or 2×2.\n\tif ifst > 0 && t[ifst*ldt+ifst-1] != 0 {\n\t\tifst--\n\t}\n\tnbf := 1 // Size of the first block.\n\tif ifst+1 < n && t[(ifst+1)*ldt+ifst] != 0 {\n\t\tnbf = 2\n\t}\n\t// Determine the first row of the final block\n\t// and find out it is 1×1 or 2×2.\n\tif ilst > 0 && t[ilst*ldt+ilst-1] != 0 {\n\t\tilst--\n\t}\n\tnbl := 1 // Size of the last block.\n\tif ilst+1 < n && t[(ilst+1)*ldt+ilst] != 0 {\n\t\tnbl = 2\n\t}\n\n\tswitch {\n\tcase ifst == ilst:\n\t\treturn ifst, ilst, true\n\n\tcase ifst < ilst:\n\t\t// Update ilst.\n\t\tswitch {\n\t\tcase nbf == 2 && nbl == 1:\n\t\t\tilst--\n\t\tcase nbf == 1 && nbl == 2:\n\t\t\tilst++\n\t\t}\n\t\there := ifst\n\t\tfor here < ilst {\n\t\t\t// Swap block with next one below.\n\t\t\tif nbf == 1 || nbf == 2 {\n\t\t\t\t// Current block either 1×1 or 2×2.\n\t\t\t\tnbnext := 1 // Size of the next block.\n\t\t\t\tif here+nbf+1 < n && t[(here+nbf+1)*ldt+here+nbf] != 0 {\n\t\t\t\t\tnbnext = 2\n\t\t\t\t}\n\t\t\t\tok = impl.Dlaexc(wantq, n, t, ldt, q, ldq, here, nbf, nbnext, work)\n\t\t\t\tif !ok {\n\t\t\t\t\treturn ifst, here, false\n\t\t\t\t}\n\t\t\t\there += nbnext\n\t\t\t\t// Test if 2×2 block breaks into two 1×1 blocks.\n\t\t\t\tif nbf == 2 && t[(here+1)*ldt+here] == 0 {\n\t\t\t\t\tnbf = 3\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Current block consists of two 1×1 blocks each of\n\t\t\t// which must be swapped individually.\n\t\t\tnbnext := 1 // Size of the next block.\n\t\t\tif here+3 < n && t[(here+3)*ldt+here+2] != 0 {\n\t\t\t\tnbnext = 2\n\t\t\t}\n\t\t\tok = impl.Dlaexc(wantq, n, t, ldt, q, ldq, here+1, 1, nbnext, work)\n\t\t\tif !ok {\n\t\t\t\treturn ifst, here, false\n\t\t\t}\n\t\t\tif nbnext == 1 {\n\t\t\t\t// Swap two 1×1 blocks, no problems possible.\n\t\t\t\timpl.Dlaexc(wantq, n, t, ldt, q, ldq, here, 1, nbnext, work)\n\t\t\t\there++\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// Recompute nbnext in case 2×2 split.\n\t\t\tif t[(here+2)*ldt+here+1] == 0 {\n\t\t\t\tnbnext = 1\n\t\t\t}\n\t\t\tif nbnext == 2 {\n\t\t\t\t// 2×2 block did not split.\n\t\t\t\tok = impl.Dlaexc(wantq, n, t, ldt, q, ldq, here, 1, nbnext, work)\n\t\t\t\tif !ok {\n\t\t\t\t\treturn ifst, here, false\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// 2×2 block did split.\n\t\t\t\timpl.Dlaexc(wantq, n, t, ldt, q, ldq, here, 1, 1, work)\n\t\t\t\timpl.Dlaexc(wantq, n, t, ldt, q, ldq, here+1, 1, 1, work)\n\t\t\t}\n\t\t\there += 2\n\t\t}\n\t\treturn ifst, here, true\n\n\tdefault: // ifst > ilst\n\t\there := ifst\n\t\tfor here > ilst {\n\t\t\t// Swap block with next one above.\n\t\t\tif nbf == 1 || nbf == 2 {\n\t\t\t\t// Current block either 1×1 or 2×2.\n\t\t\t\tnbnext := 1\n\t\t\t\tif here-2 >= 0 && t[(here-1)*ldt+here-2] != 0 {\n\t\t\t\t\tnbnext = 2\n\t\t\t\t}\n\t\t\t\tok = impl.Dlaexc(wantq, n, t, ldt, q, ldq, here-nbnext, nbnext, nbf, work)\n\t\t\t\tif !ok {\n\t\t\t\t\treturn ifst, here, false\n\t\t\t\t}\n\t\t\t\there -= nbnext\n\t\t\t\t// Test if 2×2 block breaks into two 1×1 blocks.\n\t\t\t\tif nbf == 2 && t[(here+1)*ldt+here] == 0 {\n\t\t\t\t\tnbf = 3\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Current block consists of two 1×1 blocks each of\n\t\t\t// which must be swapped individually.\n\t\t\tnbnext := 1\n\t\t\tif here-2 >= 0 && t[(here-1)*ldt+here-2] != 0 {\n\t\t\t\tnbnext = 2\n\t\t\t}\n\t\t\tok = impl.Dlaexc(wantq, n, t, ldt, q, ldq, here-nbnext, nbnext, 1, work)\n\t\t\tif !ok {\n\t\t\t\treturn ifst, here, false\n\t\t\t}\n\t\t\tif nbnext == 1 {\n\t\t\t\t// Swap two 1×1 blocks, no problems possible.\n\t\t\t\timpl.Dlaexc(wantq, n, t, ldt, q, ldq, here, nbnext, 1, work)\n\t\t\t\there--\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// Recompute nbnext in case 2×2 split.\n\t\t\tif t[here*ldt+here-1] == 0 {\n\t\t\t\tnbnext = 1\n\t\t\t}\n\t\t\tif nbnext == 2 {\n\t\t\t\t// 2×2 block did not split.\n\t\t\t\tok = impl.Dlaexc(wantq, n, t, ldt, q, ldq, here-1, 2, 1, work)\n\t\t\t\tif !ok {\n\t\t\t\t\treturn ifst, here, false\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// 2×2 block did split.\n\t\t\t\timpl.Dlaexc(wantq, n, t, ldt, q, ldq, here, 1, 1, work)\n\t\t\t\timpl.Dlaexc(wantq, n, t, ldt, q, ldq, here-1, 1, 1, work)\n\t\t\t}\n\t\t\there -= 2\n\t\t}\n\t\treturn ifst, here, true\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dtrti2.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dtrti2 computes the inverse of a triangular matrix, storing the result in place\n// into a. This is the BLAS level 2 version of the algorithm.\n//\n// Dtrti2 is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Dtrti2(uplo blas.Uplo, diag blas.Diag, n int, a []float64, lda int) {\n\tcheckMatrix(n, n, a, lda)\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tif diag != blas.NonUnit && diag != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tbi := blas64.Implementation()\n\n\tnonUnit := diag == blas.NonUnit\n\t// TODO(btracey): Replace this with a row-major ordering.\n\tif uplo == blas.Upper {\n\t\tfor j := 0; j < n; j++ {\n\t\t\tvar ajj float64\n\t\t\tif nonUnit {\n\t\t\t\tajj = 1 / a[j*lda+j]\n\t\t\t\ta[j*lda+j] = ajj\n\t\t\t\tajj *= -1\n\t\t\t} else {\n\t\t\t\tajj = -1\n\t\t\t}\n\t\t\tbi.Dtrmv(blas.Upper, blas.NoTrans, diag, j, a, lda, a[j:], lda)\n\t\t\tbi.Dscal(j, ajj, a[j:], lda)\n\t\t}\n\t\treturn\n\t}\n\tfor j := n - 1; j >= 0; j-- {\n\t\tvar ajj float64\n\t\tif nonUnit {\n\t\t\tajj = 1 / a[j*lda+j]\n\t\t\ta[j*lda+j] = ajj\n\t\t\tajj *= -1\n\t\t} else {\n\t\t\tajj = -1\n\t\t}\n\t\tif j < n-1 {\n\t\t\tbi.Dtrmv(blas.Lower, blas.NoTrans, diag, n-j-1, a[(j+1)*lda+j+1:], lda, a[(j+1)*lda+j:], lda)\n\t\t\tbi.Dscal(n-j-1, ajj, a[(j+1)*lda+j:], lda)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dtrtri.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dtrtri computes the inverse of a triangular matrix, storing the result in place\n// into a. This is the BLAS level 3 version of the algorithm which builds upon\n// Dtrti2 to operate on matrix blocks instead of only individual columns.\n//\n// Dtrtri will not perform the inversion if the matrix is singular, and returns\n// a boolean indicating whether the inversion was successful.\nfunc (impl Implementation) Dtrtri(uplo blas.Uplo, diag blas.Diag, n int, a []float64, lda int) (ok bool) {\n\tcheckMatrix(n, n, a, lda)\n\tif uplo != blas.Upper && uplo != blas.Lower {\n\t\tpanic(badUplo)\n\t}\n\tif diag != blas.NonUnit && diag != blas.Unit {\n\t\tpanic(badDiag)\n\t}\n\tif n == 0 {\n\t\treturn false\n\t}\n\tnonUnit := diag == blas.NonUnit\n\tif nonUnit {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif a[i*lda+i] == 0 {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\n\tbi := blas64.Implementation()\n\n\tnb := impl.Ilaenv(1, \"DTRTRI\", \"UD\", n, -1, -1, -1)\n\tif nb <= 1 || nb > n {\n\t\timpl.Dtrti2(uplo, diag, n, a, lda)\n\t\treturn true\n\t}\n\tif uplo == blas.Upper {\n\t\tfor j := 0; j < n; j += nb {\n\t\t\tjb := min(nb, n-j)\n\t\t\tbi.Dtrmm(blas.Left, blas.Upper, blas.NoTrans, diag, j, jb, 1, a, lda, a[j:], lda)\n\t\t\tbi.Dtrsm(blas.Right, blas.Upper, blas.NoTrans, diag, j, jb, -1, a[j*lda+j:], lda, a[j:], lda)\n\t\t\timpl.Dtrti2(blas.Upper, diag, jb, a[j*lda+j:], lda)\n\t\t}\n\t\treturn true\n\t}\n\tnn := ((n - 1) / nb) * nb\n\tfor j := nn; j >= 0; j -= nb {\n\t\tjb := min(nb, n-j)\n\t\tif j+jb <= n-1 {\n\t\t\tbi.Dtrmm(blas.Left, blas.Lower, blas.NoTrans, diag, n-j-jb, jb, 1, a[(j+jb)*lda+j+jb:], lda, a[(j+jb)*lda+j:], lda)\n\t\t\tbi.Dtrsm(blas.Right, blas.Lower, blas.NoTrans, diag, n-j-jb, jb, -1, a[j*lda+j:], lda, a[(j+jb)*lda+j:], lda)\n\t\t}\n\t\timpl.Dtrti2(blas.Lower, diag, jb, a[j*lda+j:], lda)\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/dtrtrs.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// Dtrtrs solves a triangular system of the form A * X = B or A^T * X = B. Dtrtrs\n// returns whether the solve completed successfully. If A is singular, no solve is performed.\nfunc (impl Implementation) Dtrtrs(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, n, nrhs int, a []float64, lda int, b []float64, ldb int) (ok bool) {\n\tnounit := diag == blas.NonUnit\n\tif n == 0 {\n\t\treturn false\n\t}\n\t// Check for singularity.\n\tif nounit {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif a[i*lda+i] == 0 {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\tbi := blas64.Implementation()\n\tbi.Dtrsm(blas.Left, uplo, trans, diag, n, nrhs, 1, a, lda, b, ldb)\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/general.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport (\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Implementation is the native Go implementation of LAPACK routines. It\n// is built on top of calls to the return of blas64.Implementation(), so while\n// this code is in pure Go, the underlying BLAS implementation may not be.\ntype Implementation struct{}\n\nvar _ lapack.Float64 = Implementation{}\n\n// This list is duplicated in lapack/cgo. Keep in sync.\nconst (\n\tabsIncNotOne    = \"lapack: increment not one or negative one\"\n\tbadAlpha        = \"lapack: bad alpha length\"\n\tbadAuxv         = \"lapack: auxv has insufficient length\"\n\tbadBeta         = \"lapack: bad beta length\"\n\tbadD            = \"lapack: d has insufficient length\"\n\tbadDecompUpdate = \"lapack: bad decomp update\"\n\tbadDiag         = \"lapack: bad diag\"\n\tbadDims         = \"lapack: bad input dimensions\"\n\tbadDirect       = \"lapack: bad direct\"\n\tbadE            = \"lapack: e has insufficient length\"\n\tbadEVComp       = \"lapack: bad EVComp\"\n\tbadEVJob        = \"lapack: bad EVJob\"\n\tbadEVSide       = \"lapack: bad EVSide\"\n\tbadGSVDJob      = \"lapack: bad GSVDJob\"\n\tbadHowMany      = \"lapack: bad HowMany\"\n\tbadIlo          = \"lapack: ilo out of range\"\n\tbadIhi          = \"lapack: ihi out of range\"\n\tbadIpiv         = \"lapack: bad permutation length\"\n\tbadJob          = \"lapack: bad Job\"\n\tbadK1           = \"lapack: k1 out of range\"\n\tbadK2           = \"lapack: k2 out of range\"\n\tbadKperm        = \"lapack: incorrect permutation length\"\n\tbadLdA          = \"lapack: index of a out of range\"\n\tbadNb           = \"lapack: nb out of range\"\n\tbadNorm         = \"lapack: bad norm\"\n\tbadPivot        = \"lapack: bad pivot\"\n\tbadS            = \"lapack: s has insufficient length\"\n\tbadShifts       = \"lapack: bad shifts\"\n\tbadSide         = \"lapack: bad side\"\n\tbadSlice        = \"lapack: bad input slice length\"\n\tbadSort         = \"lapack: bad Sort\"\n\tbadStore        = \"lapack: bad store\"\n\tbadTau          = \"lapack: tau has insufficient length\"\n\tbadTauQ         = \"lapack: tauQ has insufficient length\"\n\tbadTauP         = \"lapack: tauP has insufficient length\"\n\tbadTrans        = \"lapack: bad trans\"\n\tbadVn1          = \"lapack: vn1 has insufficient length\"\n\tbadVn2          = \"lapack: vn2 has insufficient length\"\n\tbadUplo         = \"lapack: illegal triangle\"\n\tbadWork         = \"lapack: insufficient working memory\"\n\tbadZ            = \"lapack: insufficient z length\"\n\tkGTM            = \"lapack: k > m\"\n\tkGTN            = \"lapack: k > n\"\n\tkLT0            = \"lapack: k < 0\"\n\tmLTN            = \"lapack: m < n\"\n\tnanScale        = \"lapack: NaN scale factor\"\n\tnegDimension    = \"lapack: negative matrix dimension\"\n\tnegZ            = \"lapack: negative z value\"\n\tnLT0            = \"lapack: n < 0\"\n\tnLTM            = \"lapack: n < m\"\n\toffsetGTM       = \"lapack: offset > m\"\n\tshortWork       = \"lapack: working array shorter than declared\"\n\tzeroDiv         = \"lapack: zero divisor\"\n)\n\n// checkMatrix verifies the parameters of a matrix input.\nfunc checkMatrix(m, n int, a []float64, lda int) {\n\tif m < 0 {\n\t\tpanic(\"lapack: has negative number of rows\")\n\t}\n\tif n < 0 {\n\t\tpanic(\"lapack: has negative number of columns\")\n\t}\n\tif lda < n {\n\t\tpanic(\"lapack: stride less than number of columns\")\n\t}\n\tif len(a) < (m-1)*lda+n {\n\t\tpanic(\"lapack: insufficient matrix slice length\")\n\t}\n}\n\nfunc checkVector(n int, v []float64, inc int) {\n\tif n < 0 {\n\t\tpanic(\"lapack: negative vector length\")\n\t}\n\tif (inc > 0 && (n-1)*inc >= len(v)) || (inc < 0 && (1-n)*inc >= len(v)) {\n\t\tpanic(\"lapack: insufficient vector slice length\")\n\t}\n}\n\nfunc checkSymBanded(ab []float64, n, kd, lda int) {\n\tif n < 0 {\n\t\tpanic(\"lapack: negative banded length\")\n\t}\n\tif kd < 0 {\n\t\tpanic(\"lapack: negative bandwidth value\")\n\t}\n\tif lda < kd+1 {\n\t\tpanic(\"lapack: stride less than number of bands\")\n\t}\n\tif len(ab) < (n-1)*lda+kd {\n\t\tpanic(\"lapack: insufficient banded vector length\")\n\t}\n}\n\nfunc min(a, b int) int {\n\tif a < b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc max(a, b int) int {\n\tif a > b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nconst (\n\t// dlamchE is the machine epsilon. For IEEE this is 2^{-53}.\n\tdlamchE = 1.0 / (1 << 53)\n\n\t// dlamchB is the radix of the machine (the base of the number system).\n\tdlamchB = 2\n\n\t// dlamchP is base * eps.\n\tdlamchP = dlamchB * dlamchE\n\n\t// dlamchS is the \"safe minimum\", that is, the lowest number such that\n\t// 1/dlamchS does not overflow, or also the smallest normal number.\n\t// For IEEE this is 2^{-1022}.\n\tdlamchS = 1.0 / (1 << 256) / (1 << 256) / (1 << 256) / (1 << 254)\n)\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/iladlc.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\n// Iladlc scans a matrix for its last non-zero column. Returns -1 if the matrix\n// is all zeros.\n//\n// Iladlc is an internal routine. It is exported for testing purposes.\nfunc (Implementation) Iladlc(m, n int, a []float64, lda int) int {\n\tif n == 0 || m == 0 {\n\t\treturn n - 1\n\t}\n\tcheckMatrix(m, n, a, lda)\n\n\t// Test common case where corner is non-zero.\n\tif a[n-1] != 0 || a[(m-1)*lda+(n-1)] != 0 {\n\t\treturn n - 1\n\t}\n\n\t// Scan each row tracking the highest column seen.\n\thighest := -1\n\tfor i := 0; i < m; i++ {\n\t\tfor j := n - 1; j >= 0; j-- {\n\t\t\tif a[i*lda+j] != 0 {\n\t\t\t\thighest = max(highest, j)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\treturn highest\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/iladlr.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\n// Iladlr scans a matrix for its last non-zero row. Returns -1 if the matrix\n// is all zeros.\n//\n// Iladlr is an internal routine. It is exported for testing purposes.\nfunc (Implementation) Iladlr(m, n int, a []float64, lda int) int {\n\tif m == 0 {\n\t\treturn m - 1\n\t}\n\n\tcheckMatrix(m, n, a, lda)\n\n\t// Check the common case where the corner is non-zero\n\tif a[(m-1)*lda] != 0 || a[(m-1)*lda+n-1] != 0 {\n\t\treturn m - 1\n\t}\n\tfor i := m - 1; i >= 0; i-- {\n\t\tfor j := 0; j < n; j++ {\n\t\t\tif a[i*lda+j] != 0 {\n\t\t\t\treturn i\n\t\t\t}\n\t\t}\n\t}\n\treturn -1\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/ilaenv.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\n// Ilaenv returns algorithm tuning parameters for the algorithm given by the\n// input string. ispec specifies the parameter to return:\n//  1: The optimal block size for a blocked algorithm.\n//  2: The minimum block size for a blocked algorithm.\n//  3: The block size of unprocessed data at which a blocked algorithm should\n//     crossover to an unblocked version.\n//  4: The number of shifts.\n//  5: The minimum column dimension for blocking to be used.\n//  6: The crossover point for SVD (to use QR factorization or not).\n//  7: The number of processors.\n//  8: The crossover point for multi-shift in QR and QZ methods for non-symmetric eigenvalue problems.\n//  9: Maximum size of the subproblems in divide-and-conquer algorithms.\n//  10: ieee NaN arithmetic can be trusted not to trap.\n//  11: infinity arithmetic can be trusted not to trap.\n//  12...16: parameters for Dhseqr and related functions. See Iparmq for more\n//           information.\n//\n// Ilaenv is an internal routine. It is exported for testing purposes.\nfunc (impl Implementation) Ilaenv(ispec int, s string, opts string, n1, n2, n3, n4 int) int {\n\t// TODO(btracey): Replace this with a constant lookup? A list of constants?\n\tsname := s[0] == 'S' || s[0] == 'D'\n\tcname := s[0] == 'C' || s[0] == 'Z'\n\tif !sname && !cname {\n\t\tpanic(\"lapack: bad name\")\n\t}\n\tc2 := s[1:3]\n\tc3 := s[3:6]\n\tc4 := c3[1:3]\n\n\tswitch ispec {\n\tdefault:\n\t\tpanic(\"lapack: bad ispec\")\n\tcase 1:\n\t\tswitch c2 {\n\t\tdefault:\n\t\t\tpanic(\"lapack: bad function name\")\n\t\tcase \"GE\":\n\t\t\tswitch c3 {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase \"TRF\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 64\n\t\t\t\t}\n\t\t\t\treturn 64\n\t\t\tcase \"QRF\", \"RQF\", \"LQF\", \"QLF\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 32\n\t\t\t\t}\n\t\t\t\treturn 32\n\t\t\tcase \"HRD\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 32\n\t\t\t\t}\n\t\t\t\treturn 32\n\t\t\tcase \"BRD\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 32\n\t\t\t\t}\n\t\t\t\treturn 32\n\t\t\tcase \"TRI\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 64\n\t\t\t\t}\n\t\t\t\treturn 64\n\t\t\t}\n\t\tcase \"PO\":\n\t\t\tswitch c3 {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase \"TRF\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 64\n\t\t\t\t}\n\t\t\t\treturn 64\n\t\t\t}\n\t\tcase \"SY\":\n\t\t\tswitch c3 {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase \"TRF\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 64\n\t\t\t\t}\n\t\t\t\treturn 64\n\t\t\tcase \"TRD\":\n\t\t\t\treturn 32\n\t\t\tcase \"GST\":\n\t\t\t\treturn 64\n\t\t\t}\n\t\tcase \"HE\":\n\t\t\tswitch c3 {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase \"TRF\":\n\t\t\t\treturn 64\n\t\t\tcase \"TRD\":\n\t\t\t\treturn 32\n\t\t\tcase \"GST\":\n\t\t\t\treturn 64\n\t\t\t}\n\t\tcase \"OR\":\n\t\t\tswitch c3[0] {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase 'G':\n\t\t\t\tswitch c3[1:] {\n\t\t\t\tdefault:\n\t\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\t\tcase \"QR\", \"RQ\", \"LQ\", \"QL\", \"HR\", \"TR\", \"BR\":\n\t\t\t\t\treturn 32\n\t\t\t\t}\n\t\t\tcase 'M':\n\t\t\t\tswitch c3[1:] {\n\t\t\t\tdefault:\n\t\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\t\tcase \"QR\", \"RQ\", \"LQ\", \"QL\", \"HR\", \"TR\", \"BR\":\n\t\t\t\t\treturn 32\n\t\t\t\t}\n\t\t\t}\n\t\tcase \"UN\":\n\t\t\tswitch c3[0] {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase 'G':\n\t\t\t\tswitch c3[1:] {\n\t\t\t\tdefault:\n\t\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\t\tcase \"QR\", \"RQ\", \"LQ\", \"QL\", \"HR\", \"TR\", \"BR\":\n\t\t\t\t\treturn 32\n\t\t\t\t}\n\t\t\tcase 'M':\n\t\t\t\tswitch c3[1:] {\n\t\t\t\tdefault:\n\t\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\t\tcase \"QR\", \"RQ\", \"LQ\", \"QL\", \"HR\", \"TR\", \"BR\":\n\t\t\t\t\treturn 32\n\t\t\t\t}\n\t\t\t}\n\t\tcase \"GB\":\n\t\t\tswitch c3 {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase \"TRF\":\n\t\t\t\tif sname {\n\t\t\t\t\tif n4 <= 64 {\n\t\t\t\t\t\treturn 1\n\t\t\t\t\t}\n\t\t\t\t\treturn 32\n\t\t\t\t}\n\t\t\t\tif n4 <= 64 {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\treturn 32\n\t\t\t}\n\t\tcase \"PB\":\n\t\t\tswitch c3 {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase \"TRF\":\n\t\t\t\tif sname {\n\t\t\t\t\tif n4 <= 64 {\n\t\t\t\t\t\treturn 1\n\t\t\t\t\t}\n\t\t\t\t\treturn 32\n\t\t\t\t}\n\t\t\t\tif n4 <= 64 {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\treturn 32\n\t\t\t}\n\t\tcase \"TR\":\n\t\t\tswitch c3 {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase \"TRI\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 64\n\t\t\t\t}\n\t\t\t\treturn 64\n\t\t\tcase \"EVC\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 64\n\t\t\t\t}\n\t\t\t\treturn 64\n\t\t\t}\n\t\tcase \"LA\":\n\t\t\tswitch c3 {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase \"UUM\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 64\n\t\t\t\t}\n\t\t\t\treturn 64\n\t\t\t}\n\t\tcase \"ST\":\n\t\t\tif sname && c3 == \"EBZ\" {\n\t\t\t\treturn 1\n\t\t\t}\n\t\t\tpanic(\"lapack: bad function name\")\n\t\t}\n\tcase 2:\n\t\tswitch c2 {\n\t\tdefault:\n\t\t\tpanic(\"lapack: bad function name\")\n\t\tcase \"GE\":\n\t\t\tswitch c3 {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase \"QRF\", \"RQF\", \"LQF\", \"QLF\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 2\n\t\t\t\t}\n\t\t\t\treturn 2\n\t\t\tcase \"HRD\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 2\n\t\t\t\t}\n\t\t\t\treturn 2\n\t\t\tcase \"BRD\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 2\n\t\t\t\t}\n\t\t\t\treturn 2\n\t\t\tcase \"TRI\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 2\n\t\t\t\t}\n\t\t\t\treturn 2\n\t\t\t}\n\t\tcase \"SY\":\n\t\t\tswitch c3 {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase \"TRF\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 8\n\t\t\t\t}\n\t\t\t\treturn 8\n\t\t\tcase \"TRD\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 2\n\t\t\t\t}\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\t}\n\t\tcase \"HE\":\n\t\t\tif c3 == \"TRD\" {\n\t\t\t\treturn 2\n\t\t\t}\n\t\t\tpanic(\"lapack: bad function name\")\n\t\tcase \"OR\":\n\t\t\tif !sname {\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\t}\n\t\t\tswitch c3[0] {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase 'G':\n\t\t\t\tswitch c4 {\n\t\t\t\tdefault:\n\t\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\t\tcase \"QR\", \"RQ\", \"LQ\", \"QL\", \"HR\", \"TR\", \"BR\":\n\t\t\t\t\treturn 2\n\t\t\t\t}\n\t\t\tcase 'M':\n\t\t\t\tswitch c4 {\n\t\t\t\tdefault:\n\t\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\t\tcase \"QR\", \"RQ\", \"LQ\", \"QL\", \"HR\", \"TR\", \"BR\":\n\t\t\t\t\treturn 2\n\t\t\t\t}\n\t\t\t}\n\t\tcase \"UN\":\n\t\t\tswitch c3[0] {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase 'G':\n\t\t\t\tswitch c4 {\n\t\t\t\tdefault:\n\t\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\t\tcase \"QR\", \"RQ\", \"LQ\", \"QL\", \"HR\", \"TR\", \"BR\":\n\t\t\t\t\treturn 2\n\t\t\t\t}\n\t\t\tcase 'M':\n\t\t\t\tswitch c4 {\n\t\t\t\tdefault:\n\t\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\t\tcase \"QR\", \"RQ\", \"LQ\", \"QL\", \"HR\", \"TR\", \"BR\":\n\t\t\t\t\treturn 2\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\tcase 3:\n\t\tswitch c2 {\n\t\tdefault:\n\t\t\tpanic(\"lapack: bad function name\")\n\t\tcase \"GE\":\n\t\t\tswitch c3 {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase \"QRF\", \"RQF\", \"LQF\", \"QLF\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 128\n\t\t\t\t}\n\t\t\t\treturn 128\n\t\t\tcase \"HRD\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 128\n\t\t\t\t}\n\t\t\t\treturn 128\n\t\t\tcase \"BRD\":\n\t\t\t\tif sname {\n\t\t\t\t\treturn 128\n\t\t\t\t}\n\t\t\t\treturn 128\n\t\t\t}\n\t\tcase \"SY\":\n\t\t\tif sname && c3 == \"TRD\" {\n\t\t\t\treturn 32\n\t\t\t}\n\t\t\tpanic(\"lapack: bad function name\")\n\t\tcase \"HE\":\n\t\t\tif c3 == \"TRD\" {\n\t\t\t\treturn 32\n\t\t\t}\n\t\t\tpanic(\"lapack: bad function name\")\n\t\tcase \"OR\":\n\t\t\tswitch c3[0] {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase 'G':\n\t\t\t\tswitch c4 {\n\t\t\t\tdefault:\n\t\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\t\tcase \"QR\", \"RQ\", \"LQ\", \"QL\", \"HR\", \"TR\", \"BR\":\n\t\t\t\t\treturn 128\n\t\t\t\t}\n\t\t\t}\n\t\tcase \"UN\":\n\t\t\tswitch c3[0] {\n\t\t\tdefault:\n\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\tcase 'G':\n\t\t\t\tswitch c4 {\n\t\t\t\tdefault:\n\t\t\t\t\tpanic(\"lapack: bad function name\")\n\t\t\t\tcase \"QR\", \"RQ\", \"LQ\", \"QL\", \"HR\", \"TR\", \"BR\":\n\t\t\t\t\treturn 128\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\tcase 4:\n\t\t// Used by xHSEQR\n\t\treturn 6\n\tcase 5:\n\t\t// Not used\n\t\treturn 2\n\tcase 6:\n\t\t// Used by xGELSS and xGESVD\n\t\treturn int(float64(min(n1, n2)) * 1.6)\n\tcase 7:\n\t\t// Not used\n\t\treturn 1\n\tcase 8:\n\t\t// Used by xHSEQR\n\t\treturn 50\n\tcase 9:\n\t\t// used by xGELSD and xGESDD\n\t\treturn 25\n\tcase 10:\n\t\t// Go guarantees ieee\n\t\treturn 1\n\tcase 11:\n\t\t// Go guarantees ieee\n\t\treturn 1\n\tcase 12, 13, 14, 15, 16:\n\t\t// Dhseqr and related functions for eigenvalue problems.\n\t\treturn impl.Iparmq(ispec, s, opts, n1, n2, n3, n4)\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/gonum/iparmq.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gonum\n\nimport \"math\"\n\n// Iparmq returns problem and machine dependent parameters useful for Dhseqr and\n// related subroutines for eigenvalue problems.\n//\n// ispec specifies the parameter to return:\n//  12: Crossover point between Dlahqr and Dlaqr0. Will be at least 11.\n//  13: Deflation window size.\n//  14: Nibble crossover point. Determines when to skip a multi-shift QR sweep.\n//  15: Number of simultaneous shifts in a multishift QR iteration.\n//  16: Select structured matrix multiply.\n// For other values of ispec Iparmq will panic.\n//\n// name is the name of the calling function. name must be in uppercase but this\n// is not checked.\n//\n// opts is not used and exists for future use.\n//\n// n is the order of the Hessenberg matrix H.\n//\n// ilo and ihi specify the block [ilo:ihi+1,ilo:ihi+1] that is being processed.\n//\n// lwork is the amount of workspace available.\n//\n// Except for ispec input parameters are not checked.\n//\n// Iparmq is an internal routine. It is exported for testing purposes.\nfunc (Implementation) Iparmq(ispec int, name, opts string, n, ilo, ihi, lwork int) int {\n\tnh := ihi - ilo + 1\n\tns := 2\n\tswitch {\n\tcase nh >= 30:\n\t\tns = 4\n\tcase nh >= 60:\n\t\tns = 10\n\tcase nh >= 150:\n\t\tns = max(10, nh/int(math.Log(float64(nh))/math.Ln2))\n\tcase nh >= 590:\n\t\tns = 64\n\tcase nh >= 3000:\n\t\tns = 128\n\tcase nh >= 6000:\n\t\tns = 256\n\t}\n\tns = max(2, ns-(ns%2))\n\n\tswitch ispec {\n\tdefault:\n\t\tpanic(\"lapack: bad ispec\")\n\n\tcase 12:\n\t\t// Matrices of order smaller than nmin get sent to Dlahqr, the\n\t\t// classic double shift algorithm. This must be at least 11.\n\t\tconst nmin = 75\n\t\treturn nmin\n\n\tcase 13:\n\t\tconst knwswp = 500\n\t\tif nh <= knwswp {\n\t\t\treturn ns\n\t\t}\n\t\treturn 3 * ns / 2\n\n\tcase 14:\n\t\t// Skip a computationally expensive multi-shift QR sweep with\n\t\t// Dlaqr5 whenever aggressive early deflation finds at least\n\t\t// nibble*(window size)/100 deflations. The default, small,\n\t\t// value reflects the expectation that the cost of looking\n\t\t// through the deflation window with Dlaqr3 will be\n\t\t// substantially smaller.\n\t\tconst nibble = 14\n\t\treturn nibble\n\n\tcase 15:\n\t\treturn ns\n\n\tcase 16:\n\t\tif len(name) != 6 {\n\t\t\tpanic(\"lapack: bad name\")\n\t\t}\n\t\tconst (\n\t\t\tk22min = 14\n\t\t\tkacmin = 14\n\t\t)\n\t\tvar acc22 int\n\t\tswitch {\n\t\tcase name[1:] == \"GGHRD\" || name[1:] == \"GGHD3\":\n\t\t\tacc22 = 1\n\t\t\tif nh >= k22min {\n\t\t\t\tacc22 = 2\n\t\t\t}\n\t\tcase name[3:] == \"EXC\":\n\t\t\tif nh >= kacmin {\n\t\t\t\tacc22 = 1\n\t\t\t}\n\t\t\tif nh >= k22min {\n\t\t\t\tacc22 = 2\n\t\t\t}\n\t\tcase name[1:] == \"HSEQR\" || name[1:5] == \"LAQR\":\n\t\t\tif ns >= kacmin {\n\t\t\t\tacc22 = 1\n\t\t\t}\n\t\t\tif ns >= k22min {\n\t\t\t\tacc22 = 2\n\t\t\t}\n\t\t}\n\t\treturn acc22\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/lapack.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage lapack // import \"gonum.org/v1/gonum/lapack\"\n\nimport \"gonum.org/v1/gonum/blas\"\n\nconst None = 'N'\n\ntype Job byte\n\ntype Comp byte\n\n// Complex128 defines the public complex128 LAPACK API supported by gonum/lapack.\ntype Complex128 interface{}\n\n// Float64 defines the public float64 LAPACK API supported by gonum/lapack.\ntype Float64 interface {\n\tDgecon(norm MatrixNorm, n int, a []float64, lda int, anorm float64, work []float64, iwork []int) float64\n\tDgeev(jobvl LeftEVJob, jobvr RightEVJob, n int, a []float64, lda int, wr, wi []float64, vl []float64, ldvl int, vr []float64, ldvr int, work []float64, lwork int) (first int)\n\tDgels(trans blas.Transpose, m, n, nrhs int, a []float64, lda int, b []float64, ldb int, work []float64, lwork int) bool\n\tDgelqf(m, n int, a []float64, lda int, tau, work []float64, lwork int)\n\tDgeqrf(m, n int, a []float64, lda int, tau, work []float64, lwork int)\n\tDgesvd(jobU, jobVT SVDJob, m, n int, a []float64, lda int, s, u []float64, ldu int, vt []float64, ldvt int, work []float64, lwork int) (ok bool)\n\tDgetrf(m, n int, a []float64, lda int, ipiv []int) (ok bool)\n\tDgetri(n int, a []float64, lda int, ipiv []int, work []float64, lwork int) (ok bool)\n\tDgetrs(trans blas.Transpose, n, nrhs int, a []float64, lda int, ipiv []int, b []float64, ldb int)\n\tDggsvd3(jobU, jobV, jobQ GSVDJob, m, n, p int, a []float64, lda int, b []float64, ldb int, alpha, beta, u []float64, ldu int, v []float64, ldv int, q []float64, ldq int, work []float64, lwork int, iwork []int) (k, l int, ok bool)\n\tDlantr(norm MatrixNorm, uplo blas.Uplo, diag blas.Diag, m, n int, a []float64, lda int, work []float64) float64\n\tDlange(norm MatrixNorm, m, n int, a []float64, lda int, work []float64) float64\n\tDlansy(norm MatrixNorm, uplo blas.Uplo, n int, a []float64, lda int, work []float64) float64\n\tDlapmt(forward bool, m, n int, x []float64, ldx int, k []int)\n\tDormqr(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int)\n\tDormlq(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int)\n\tDpocon(uplo blas.Uplo, n int, a []float64, lda int, anorm float64, work []float64, iwork []int) float64\n\tDpotrf(ul blas.Uplo, n int, a []float64, lda int) (ok bool)\n\tDsyev(jobz EVJob, uplo blas.Uplo, n int, a []float64, lda int, w, work []float64, lwork int) (ok bool)\n\tDtrcon(norm MatrixNorm, uplo blas.Uplo, diag blas.Diag, n int, a []float64, lda int, work []float64, iwork []int) float64\n\tDtrtri(uplo blas.Uplo, diag blas.Diag, n int, a []float64, lda int) (ok bool)\n\tDtrtrs(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, n, nrhs int, a []float64, lda int, b []float64, ldb int) (ok bool)\n}\n\n// Direct specifies the direction of the multiplication for the Householder matrix.\ntype Direct byte\n\nconst (\n\tForward  Direct = 'F' // Reflectors are right-multiplied, H_0 * H_1 * ... * H_{k-1}.\n\tBackward Direct = 'B' // Reflectors are left-multiplied, H_{k-1} * ... * H_1 * H_0.\n)\n\n// Sort is the sorting order.\ntype Sort byte\n\nconst (\n\tSortIncreasing Sort = 'I'\n\tSortDecreasing Sort = 'D'\n)\n\n// StoreV indicates the storage direction of elementary reflectors.\ntype StoreV byte\n\nconst (\n\tColumnWise StoreV = 'C' // Reflector stored in a column of the matrix.\n\tRowWise    StoreV = 'R' // Reflector stored in a row of the matrix.\n)\n\n// MatrixNorm represents the kind of matrix norm to compute.\ntype MatrixNorm byte\n\nconst (\n\tMaxAbs       MatrixNorm = 'M' // max(abs(A(i,j)))  ('M')\n\tMaxColumnSum MatrixNorm = 'O' // Maximum column sum (one norm) ('1', 'O')\n\tMaxRowSum    MatrixNorm = 'I' // Maximum row sum (infinity norm) ('I', 'i')\n\tNormFrob     MatrixNorm = 'F' // Frobenius norm (sqrt of sum of squares) ('F', 'f', E, 'e')\n)\n\n// MatrixType represents the kind of matrix represented in the data.\ntype MatrixType byte\n\nconst (\n\tGeneral  MatrixType = 'G' // A dense matrix (like blas64.General).\n\tUpperTri MatrixType = 'U' // An upper triangular matrix.\n\tLowerTri MatrixType = 'L' // A lower triangular matrix.\n)\n\n// Pivot specifies the pivot type for plane rotations\ntype Pivot byte\n\nconst (\n\tVariable Pivot = 'V'\n\tTop      Pivot = 'T'\n\tBottom   Pivot = 'B'\n)\n\ntype DecompUpdate byte\n\nconst (\n\tApplyP DecompUpdate = 'P'\n\tApplyQ DecompUpdate = 'Q'\n)\n\n// SVDJob specifies the singular vector computation type for SVD.\ntype SVDJob byte\n\nconst (\n\tSVDAll       SVDJob = 'A' // Compute all singular vectors\n\tSVDInPlace   SVDJob = 'S' // Compute the first singular vectors and store them in provided storage.\n\tSVDOverwrite SVDJob = 'O' // Compute the singular vectors and store them in input matrix\n\tSVDNone      SVDJob = 'N' // Do not compute singular vectors\n)\n\n// GSVDJob specifies the singular vector computation type for Generalized SVD.\ntype GSVDJob byte\n\nconst (\n\tGSVDU    GSVDJob = 'U' // Compute orthogonal matrix U\n\tGSVDV    GSVDJob = 'V' // Compute orthogonal matrix V\n\tGSVDQ    GSVDJob = 'Q' // Compute orthogonal matrix Q\n\tGSVDUnit GSVDJob = 'I' // Use unit-initialized matrix\n\tGSVDNone GSVDJob = 'N' // Do not compute orthogonal matrix\n)\n\n// EVComp specifies how eigenvectors are computed.\ntype EVComp byte\n\nconst (\n\t// OriginalEV specifies to compute the eigenvectors of the original\n\t// matrix.\n\tOriginalEV EVComp = 'V'\n\t// TridiagEV specifies to compute both the eigenvectors of the input\n\t// tridiagonal matrix.\n\tTridiagEV EVComp = 'I'\n\t// HessEV specifies to compute both the eigenvectors of the input upper\n\t// Hessenberg matrix.\n\tHessEV EVComp = 'I'\n\n\t// UpdateSchur specifies that the matrix of Schur vectors will be\n\t// updated by Dtrexc.\n\tUpdateSchur EVComp = 'V'\n)\n\n// Job types for computation of eigenvectors.\ntype (\n\tEVJob      byte\n\tLeftEVJob  byte\n\tRightEVJob byte\n)\n\n// Job constants for computation of eigenvectors.\nconst (\n\tComputeEV      EVJob      = 'V' // Compute eigenvectors in Dsyev.\n\tComputeLeftEV  LeftEVJob  = 'V' // Compute left eigenvectors.\n\tComputeRightEV RightEVJob = 'V' // Compute right eigenvectors.\n)\n\n// Jobs for Dgebal.\nconst (\n\tPermute      Job = 'P'\n\tScale        Job = 'S'\n\tPermuteScale Job = 'B'\n)\n\n// Job constants for Dhseqr.\nconst (\n\tEigenvaluesOnly     EVJob = 'E'\n\tEigenvaluesAndSchur EVJob = 'S'\n)\n\n// EVSide specifies what eigenvectors will be computed.\ntype EVSide byte\n\n// EVSide constants for Dtrevc3.\nconst (\n\tRightEV     EVSide = 'R' // Compute right eigenvectors only.\n\tLeftEV      EVSide = 'L' // Compute left eigenvectors only.\n\tRightLeftEV EVSide = 'B' // Compute both right and left eigenvectors.\n)\n\n// HowMany specifies which eigenvectors will be computed.\ntype HowMany byte\n\n// HowMany constants for Dhseqr.\nconst (\n\tAllEV      HowMany = 'A' // Compute all right and/or left eigenvectors.\n\tAllEVMulQ  HowMany = 'B' // Compute all right and/or left eigenvectors multiplied by an input matrix.\n\tSelectedEV HowMany = 'S' // Compute selected right and/or left eigenvectors.\n)\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/lapack64/doc.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package lapack64 provides a set of convenient wrapper functions for LAPACK\n// calls, as specified in the netlib standard (www.netlib.org).\n//\n// The native Go routines are used by default, and the Use function can be used\n// to set an alternative implementation.\n//\n// If the type of matrix (General, Symmetric, etc.) is known and fixed, it is\n// used in the wrapper signature. In many cases, however, the type of the matrix\n// changes during the call to the routine, for example the matrix is symmetric on\n// entry and is triangular on exit. In these cases the correct types should be checked\n// in the documentation.\n//\n// The full set of Lapack functions is very large, and it is not clear that a\n// full implementation is desirable, let alone feasible. Please open up an issue\n// if there is a specific function you need and/or are willing to implement.\npackage lapack64 // import \"gonum.org/v1/gonum/lapack/lapack64\"\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/lapack/lapack64/lapack64.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage lapack64\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n\t\"gonum.org/v1/gonum/lapack/gonum\"\n)\n\nvar lapack64 lapack.Float64 = gonum.Implementation{}\n\n// Use sets the LAPACK float64 implementation to be used by subsequent BLAS calls.\n// The default implementation is native.Implementation.\nfunc Use(l lapack.Float64) {\n\tlapack64 = l\n}\n\n// Potrf computes the Cholesky factorization of a.\n// The factorization has the form\n//  A = U^T * U if a.Uplo == blas.Upper, or\n//  A = L * L^T if a.Uplo == blas.Lower,\n// where U is an upper triangular matrix and L is lower triangular.\n// The triangular matrix is returned in t, and the underlying data between\n// a and t is shared. The returned bool indicates whether a is positive\n// definite and the factorization could be finished.\nfunc Potrf(a blas64.Symmetric) (t blas64.Triangular, ok bool) {\n\tok = lapack64.Dpotrf(a.Uplo, a.N, a.Data, a.Stride)\n\tt.Uplo = a.Uplo\n\tt.N = a.N\n\tt.Data = a.Data\n\tt.Stride = a.Stride\n\tt.Diag = blas.NonUnit\n\treturn\n}\n\n// Gecon estimates the reciprocal of the condition number of the n×n matrix A\n// given the LU decomposition of the matrix. The condition number computed may\n// be based on the 1-norm or the ∞-norm.\n//\n// a contains the result of the LU decomposition of A as computed by Getrf.\n//\n// anorm is the corresponding 1-norm or ∞-norm of the original matrix A.\n//\n// work is a temporary data slice of length at least 4*n and Gecon will panic otherwise.\n//\n// iwork is a temporary data slice of length at least n and Gecon will panic otherwise.\nfunc Gecon(norm lapack.MatrixNorm, a blas64.General, anorm float64, work []float64, iwork []int) float64 {\n\treturn lapack64.Dgecon(norm, a.Cols, a.Data, a.Stride, anorm, work, iwork)\n}\n\n// Gels finds a minimum-norm solution based on the matrices A and B using the\n// QR or LQ factorization. Gels returns false if the matrix\n// A is singular, and true if this solution was successfully found.\n//\n// The minimization problem solved depends on the input parameters.\n//\n//  1. If m >= n and trans == blas.NoTrans, Gels finds X such that || A*X - B||_2\n//     is minimized.\n//  2. If m < n and trans == blas.NoTrans, Gels finds the minimum norm solution of\n//     A * X = B.\n//  3. If m >= n and trans == blas.Trans, Gels finds the minimum norm solution of\n//     A^T * X = B.\n//  4. If m < n and trans == blas.Trans, Gels finds X such that || A*X - B||_2\n//     is minimized.\n// Note that the least-squares solutions (cases 1 and 3) perform the minimization\n// per column of B. This is not the same as finding the minimum-norm matrix.\n//\n// The matrix A is a general matrix of size m×n and is modified during this call.\n// The input matrix B is of size max(m,n)×nrhs, and serves two purposes. On entry,\n// the elements of b specify the input matrix B. B has size m×nrhs if\n// trans == blas.NoTrans, and n×nrhs if trans == blas.Trans. On exit, the\n// leading submatrix of b contains the solution vectors X. If trans == blas.NoTrans,\n// this submatrix is of size n×nrhs, and of size m×nrhs otherwise.\n//\n// Work is temporary storage, and lwork specifies the usable memory length.\n// At minimum, lwork >= max(m,n) + max(m,n,nrhs), and this function will panic\n// otherwise. A longer work will enable blocked algorithms to be called.\n// In the special case that lwork == -1, work[0] will be set to the optimal working\n// length.\nfunc Gels(trans blas.Transpose, a blas64.General, b blas64.General, work []float64, lwork int) bool {\n\treturn lapack64.Dgels(trans, a.Rows, a.Cols, b.Cols, a.Data, a.Stride, b.Data, b.Stride, work, lwork)\n}\n\n// Geqrf computes the QR factorization of the m×n matrix A using a blocked\n// algorithm. A is modified to contain the information to construct Q and R.\n// The upper triangle of a contains the matrix R. The lower triangular elements\n// (not including the diagonal) contain the elementary reflectors. tau is modified\n// to contain the reflector scales. tau must have length at least min(m,n), and\n// this function will panic otherwise.\n//\n// The ith elementary reflector can be explicitly constructed by first extracting\n// the\n//  v[j] = 0           j < i\n//  v[j] = 1           j == i\n//  v[j] = a[j*lda+i]  j > i\n// and computing H_i = I - tau[i] * v * v^T.\n//\n// The orthonormal matrix Q can be constucted from a product of these elementary\n// reflectors, Q = H_0 * H_1 * ... * H_{k-1}, where k = min(m,n).\n//\n// Work is temporary storage, and lwork specifies the usable memory length.\n// At minimum, lwork >= m and this function will panic otherwise.\n// Geqrf is a blocked QR factorization, but the block size is limited\n// by the temporary space available. If lwork == -1, instead of performing Geqrf,\n// the optimal work length will be stored into work[0].\nfunc Geqrf(a blas64.General, tau, work []float64, lwork int) {\n\tlapack64.Dgeqrf(a.Rows, a.Cols, a.Data, a.Stride, tau, work, lwork)\n}\n\n// Gelqf computes the LQ factorization of the m×n matrix A using a blocked\n// algorithm. A is modified to contain the information to construct L and Q. The\n// lower triangle of a contains the matrix L. The elements above the diagonal\n// and the slice tau represent the matrix Q. tau is modified to contain the\n// reflector scales. tau must have length at least min(m,n), and this function\n// will panic otherwise.\n//\n// See Geqrf for a description of the elementary reflectors and orthonormal\n// matrix Q. Q is constructed as a product of these elementary reflectors,\n// Q = H_{k-1} * ... * H_1 * H_0.\n//\n// Work is temporary storage, and lwork specifies the usable memory length.\n// At minimum, lwork >= m and this function will panic otherwise.\n// Gelqf is a blocked LQ factorization, but the block size is limited\n// by the temporary space available. If lwork == -1, instead of performing Gelqf,\n// the optimal work length will be stored into work[0].\nfunc Gelqf(a blas64.General, tau, work []float64, lwork int) {\n\tlapack64.Dgelqf(a.Rows, a.Cols, a.Data, a.Stride, tau, work, lwork)\n}\n\n// Gesvd computes the singular value decomposition of the input matrix A.\n//\n// The singular value decomposition is\n//  A = U * Sigma * V^T\n// where Sigma is an m×n diagonal matrix containing the singular values of A,\n// U is an m×m orthogonal matrix and V is an n×n orthogonal matrix. The first\n// min(m,n) columns of U and V are the left and right singular vectors of A\n// respectively.\n//\n// jobU and jobVT are options for computing the singular vectors. The behavior\n// is as follows\n//  jobU == lapack.SVDAll       All m columns of U are returned in u\n//  jobU == lapack.SVDInPlace   The first min(m,n) columns are returned in u\n//  jobU == lapack.SVDOverwrite The first min(m,n) columns of U are written into a\n//  jobU == lapack.SVDNone      The columns of U are not computed.\n// The behavior is the same for jobVT and the rows of V^T. At most one of jobU\n// and jobVT can equal lapack.SVDOverwrite, and Gesvd will panic otherwise.\n//\n// On entry, a contains the data for the m×n matrix A. During the call to Gesvd\n// the data is overwritten. On exit, A contains the appropriate singular vectors\n// if either job is lapack.SVDOverwrite.\n//\n// s is a slice of length at least min(m,n) and on exit contains the singular\n// values in decreasing order.\n//\n// u contains the left singular vectors on exit, stored columnwise. If\n// jobU == lapack.SVDAll, u is of size m×m. If jobU == lapack.SVDInPlace u is\n// of size m×min(m,n). If jobU == lapack.SVDOverwrite or lapack.SVDNone, u is\n// not used.\n//\n// vt contains the left singular vectors on exit, stored rowwise. If\n// jobV == lapack.SVDAll, vt is of size n×m. If jobVT == lapack.SVDInPlace vt is\n// of size min(m,n)×n. If jobVT == lapack.SVDOverwrite or lapack.SVDNone, vt is\n// not used.\n//\n// work is a slice for storing temporary memory, and lwork is the usable size of\n// the slice. lwork must be at least max(5*min(m,n), 3*min(m,n)+max(m,n)).\n// If lwork == -1, instead of performing Gesvd, the optimal work length will be\n// stored into work[0]. Gesvd will panic if the working memory has insufficient\n// storage.\n//\n// Gesvd returns whether the decomposition successfully completed.\nfunc Gesvd(jobU, jobVT lapack.SVDJob, a, u, vt blas64.General, s, work []float64, lwork int) (ok bool) {\n\treturn lapack64.Dgesvd(jobU, jobVT, a.Rows, a.Cols, a.Data, a.Stride, s, u.Data, u.Stride, vt.Data, vt.Stride, work, lwork)\n}\n\n// Getrf computes the LU decomposition of the m×n matrix A.\n// The LU decomposition is a factorization of A into\n//  A = P * L * U\n// where P is a permutation matrix, L is a unit lower triangular matrix, and\n// U is a (usually) non-unit upper triangular matrix. On exit, L and U are stored\n// in place into a.\n//\n// ipiv is a permutation vector. It indicates that row i of the matrix was\n// changed with ipiv[i]. ipiv must have length at least min(m,n), and will panic\n// otherwise. ipiv is zero-indexed.\n//\n// Getrf is the blocked version of the algorithm.\n//\n// Getrf returns whether the matrix A is singular. The LU decomposition will\n// be computed regardless of the singularity of A, but division by zero\n// will occur if the false is returned and the result is used to solve a\n// system of equations.\nfunc Getrf(a blas64.General, ipiv []int) bool {\n\treturn lapack64.Dgetrf(a.Rows, a.Cols, a.Data, a.Stride, ipiv)\n}\n\n// Getri computes the inverse of the matrix A using the LU factorization computed\n// by Getrf. On entry, a contains the PLU decomposition of A as computed by\n// Getrf and on exit contains the reciprocal of the original matrix.\n//\n// Getri will not perform the inversion if the matrix is singular, and returns\n// a boolean indicating whether the inversion was successful.\n//\n// Work is temporary storage, and lwork specifies the usable memory length.\n// At minimum, lwork >= n and this function will panic otherwise.\n// Getri is a blocked inversion, but the block size is limited\n// by the temporary space available. If lwork == -1, instead of performing Getri,\n// the optimal work length will be stored into work[0].\nfunc Getri(a blas64.General, ipiv []int, work []float64, lwork int) (ok bool) {\n\treturn lapack64.Dgetri(a.Cols, a.Data, a.Stride, ipiv, work, lwork)\n}\n\n// Getrs solves a system of equations using an LU factorization.\n// The system of equations solved is\n//  A * X = B if trans == blas.Trans\n//  A^T * X = B if trans == blas.NoTrans\n// A is a general n×n matrix with stride lda. B is a general matrix of size n×nrhs.\n//\n// On entry b contains the elements of the matrix B. On exit, b contains the\n// elements of X, the solution to the system of equations.\n//\n// a and ipiv contain the LU factorization of A and the permutation indices as\n// computed by Getrf. ipiv is zero-indexed.\nfunc Getrs(trans blas.Transpose, a blas64.General, b blas64.General, ipiv []int) {\n\tlapack64.Dgetrs(trans, a.Cols, b.Cols, a.Data, a.Stride, ipiv, b.Data, b.Stride)\n}\n\n// Ggsvd3 computes the generalized singular value decomposition (GSVD)\n// of an m×n matrix A and p×n matrix B:\n//  U^T*A*Q = D1*[ 0 R ]\n//\n//  V^T*B*Q = D2*[ 0 R ]\n// where U, V and Q are orthogonal matrices.\n//\n// Ggsvd3 returns k and l, the dimensions of the sub-blocks. k+l\n// is the effective numerical rank of the (m+p)×n matrix [ A^T B^T ]^T.\n// R is a (k+l)×(k+l) nonsingular upper triangular matrix, D1 and\n// D2 are m×(k+l) and p×(k+l) diagonal matrices and of the following\n// structures, respectively:\n//\n// If m-k-l >= 0,\n//\n//                    k  l\n//       D1 =     k [ I  0 ]\n//                l [ 0  C ]\n//            m-k-l [ 0  0 ]\n//\n//                  k  l\n//       D2 = l   [ 0  S ]\n//            p-l [ 0  0 ]\n//\n//               n-k-l  k    l\n//  [ 0 R ] = k [  0   R11  R12 ] k\n//            l [  0    0   R22 ] l\n//\n// where\n//\n//  C = diag( alpha_k, ... , alpha_{k+l} ),\n//  S = diag( beta_k,  ... , beta_{k+l} ),\n//  C^2 + S^2 = I.\n//\n// R is stored in\n//  A[0:k+l, n-k-l:n]\n// on exit.\n//\n// If m-k-l < 0,\n//\n//                 k m-k k+l-m\n//      D1 =   k [ I  0    0  ]\n//           m-k [ 0  C    0  ]\n//\n//                   k m-k k+l-m\n//      D2 =   m-k [ 0  S    0  ]\n//           k+l-m [ 0  0    I  ]\n//             p-l [ 0  0    0  ]\n//\n//                 n-k-l  k   m-k  k+l-m\n//  [ 0 R ] =    k [ 0    R11  R12  R13 ]\n//             m-k [ 0     0   R22  R23 ]\n//           k+l-m [ 0     0    0   R33 ]\n//\n// where\n//  C = diag( alpha_k, ... , alpha_m ),\n//  S = diag( beta_k,  ... , beta_m ),\n//  C^2 + S^2 = I.\n//\n//  R = [ R11 R12 R13 ] is stored in A[1:m, n-k-l+1:n]\n//      [  0  R22 R23 ]\n// and R33 is stored in\n//  B[m-k:l, n+m-k-l:n] on exit.\n//\n// Ggsvd3 computes C, S, R, and optionally the orthogonal transformation\n// matrices U, V and Q.\n//\n// jobU, jobV and jobQ are options for computing the orthogonal matrices. The behavior\n// is as follows\n//  jobU == lapack.GSVDU        Compute orthogonal matrix U\n//  jobU == lapack.GSVDNone     Do not compute orthogonal matrix.\n// The behavior is the same for jobV and jobQ with the exception that instead of\n// lapack.GSVDU these accept lapack.GSVDV and lapack.GSVDQ respectively.\n// The matrices U, V and Q must be m×m, p×p and n×n respectively unless the\n// relevant job parameter is lapack.GSVDNone.\n//\n// alpha and beta must have length n or Ggsvd3 will panic. On exit, alpha and\n// beta contain the generalized singular value pairs of A and B\n//   alpha[0:k] = 1,\n//   beta[0:k]  = 0,\n// if m-k-l >= 0,\n//   alpha[k:k+l] = diag(C),\n//   beta[k:k+l]  = diag(S),\n// if m-k-l < 0,\n//   alpha[k:m]= C, alpha[m:k+l]= 0\n//   beta[k:m] = S, beta[m:k+l] = 1.\n// if k+l < n,\n//   alpha[k+l:n] = 0 and\n//   beta[k+l:n]  = 0.\n//\n// On exit, iwork contains the permutation required to sort alpha descending.\n//\n// iwork must have length n, work must have length at least max(1, lwork), and\n// lwork must be -1 or greater than n, otherwise Ggsvd3 will panic. If\n// lwork is -1, work[0] holds the optimal lwork on return, but Ggsvd3 does\n// not perform the GSVD.\nfunc Ggsvd3(jobU, jobV, jobQ lapack.GSVDJob, a, b blas64.General, alpha, beta []float64, u, v, q blas64.General, work []float64, lwork int, iwork []int) (k, l int, ok bool) {\n\treturn lapack64.Dggsvd3(jobU, jobV, jobQ, a.Rows, a.Cols, b.Rows, a.Data, a.Stride, b.Data, b.Stride, alpha, beta, u.Data, u.Stride, v.Data, v.Stride, q.Data, q.Stride, work, lwork, iwork)\n}\n\n// Lange computes the matrix norm of the general m×n matrix A. The input norm\n// specifies the norm computed.\n//  lapack.MaxAbs: the maximum absolute value of an element.\n//  lapack.MaxColumnSum: the maximum column sum of the absolute values of the entries.\n//  lapack.MaxRowSum: the maximum row sum of the absolute values of the entries.\n//  lapack.Frobenius: the square root of the sum of the squares of the entries.\n// If norm == lapack.MaxColumnSum, work must be of length n, and this function will panic otherwise.\n// There are no restrictions on work for the other matrix norms.\nfunc Lange(norm lapack.MatrixNorm, a blas64.General, work []float64) float64 {\n\treturn lapack64.Dlange(norm, a.Rows, a.Cols, a.Data, a.Stride, work)\n}\n\n// Lansy computes the specified norm of an n×n symmetric matrix. If\n// norm == lapack.MaxColumnSum or norm == lapackMaxRowSum work must have length\n// at least n and this function will panic otherwise.\n// There are no restrictions on work for the other matrix norms.\nfunc Lansy(norm lapack.MatrixNorm, a blas64.Symmetric, work []float64) float64 {\n\treturn lapack64.Dlansy(norm, a.Uplo, a.N, a.Data, a.Stride, work)\n}\n\n// Lantr computes the specified norm of an m×n trapezoidal matrix A. If\n// norm == lapack.MaxColumnSum work must have length at least n and this function\n// will panic otherwise. There are no restrictions on work for the other matrix norms.\nfunc Lantr(norm lapack.MatrixNorm, a blas64.Triangular, work []float64) float64 {\n\treturn lapack64.Dlantr(norm, a.Uplo, a.Diag, a.N, a.N, a.Data, a.Stride, work)\n}\n\n// Lapmt rearranges the columns of the m×n matrix X as specified by the\n// permutation k_0, k_1, ..., k_{n-1} of the integers 0, ..., n-1.\n//\n// If forward is true a forward permutation is performed:\n//\n//  X[0:m, k[j]] is moved to X[0:m, j] for j = 0, 1, ..., n-1.\n//\n// otherwise a backward permutation is performed:\n//\n//  X[0:m, j] is moved to X[0:m, k[j]] for j = 0, 1, ..., n-1.\n//\n// k must have length n, otherwise Lapmt will panic. k is zero-indexed.\nfunc Lapmt(forward bool, x blas64.General, k []int) {\n\tlapack64.Dlapmt(forward, x.Rows, x.Cols, x.Data, x.Stride, k)\n}\n\n// Ormlq multiplies the matrix C by the othogonal matrix Q defined by\n// A and tau. A and tau are as returned from Gelqf.\n//  C = Q * C    if side == blas.Left and trans == blas.NoTrans\n//  C = Q^T * C  if side == blas.Left and trans == blas.Trans\n//  C = C * Q    if side == blas.Right and trans == blas.NoTrans\n//  C = C * Q^T  if side == blas.Right and trans == blas.Trans\n// If side == blas.Left, A is a matrix of side k×m, and if side == blas.Right\n// A is of size k×n. This uses a blocked algorithm.\n//\n// Work is temporary storage, and lwork specifies the usable memory length.\n// At minimum, lwork >= m if side == blas.Left and lwork >= n if side == blas.Right,\n// and this function will panic otherwise.\n// Ormlq uses a block algorithm, but the block size is limited\n// by the temporary space available. If lwork == -1, instead of performing Ormlq,\n// the optimal work length will be stored into work[0].\n//\n// Tau contains the Householder scales and must have length at least k, and\n// this function will panic otherwise.\nfunc Ormlq(side blas.Side, trans blas.Transpose, a blas64.General, tau []float64, c blas64.General, work []float64, lwork int) {\n\tlapack64.Dormlq(side, trans, c.Rows, c.Cols, a.Rows, a.Data, a.Stride, tau, c.Data, c.Stride, work, lwork)\n}\n\n// Ormqr multiplies an m×n matrix C by an orthogonal matrix Q as\n//  C = Q * C,    if side == blas.Left  and trans == blas.NoTrans,\n//  C = Q^T * C,  if side == blas.Left  and trans == blas.Trans,\n//  C = C * Q,    if side == blas.Right and trans == blas.NoTrans,\n//  C = C * Q^T,  if side == blas.Right and trans == blas.Trans,\n// where Q is defined as the product of k elementary reflectors\n//  Q = H_0 * H_1 * ... * H_{k-1}.\n//\n// If side == blas.Left, A is an m×k matrix and 0 <= k <= m.\n// If side == blas.Right, A is an n×k matrix and 0 <= k <= n.\n// The ith column of A contains the vector which defines the elementary\n// reflector H_i and tau[i] contains its scalar factor. tau must have length k\n// and Ormqr will panic otherwise. Geqrf returns A and tau in the required\n// form.\n//\n// work must have length at least max(1,lwork), and lwork must be at least n if\n// side == blas.Left and at least m if side == blas.Right, otherwise Ormqr will\n// panic.\n//\n// work is temporary storage, and lwork specifies the usable memory length. At\n// minimum, lwork >= m if side == blas.Left and lwork >= n if side ==\n// blas.Right, and this function will panic otherwise. Larger values of lwork\n// will generally give better performance. On return, work[0] will contain the\n// optimal value of lwork.\n//\n// If lwork is -1, instead of performing Ormqr, the optimal workspace size will\n// be stored into work[0].\nfunc Ormqr(side blas.Side, trans blas.Transpose, a blas64.General, tau []float64, c blas64.General, work []float64, lwork int) {\n\tlapack64.Dormqr(side, trans, c.Rows, c.Cols, a.Cols, a.Data, a.Stride, tau, c.Data, c.Stride, work, lwork)\n}\n\n// Pocon estimates the reciprocal of the condition number of a positive-definite\n// matrix A given the Cholesky decmposition of A. The condition number computed\n// is based on the 1-norm and the ∞-norm.\n//\n// anorm is the 1-norm and the ∞-norm of the original matrix A.\n//\n// work is a temporary data slice of length at least 3*n and Pocon will panic otherwise.\n//\n// iwork is a temporary data slice of length at least n and Pocon will panic otherwise.\nfunc Pocon(a blas64.Symmetric, anorm float64, work []float64, iwork []int) float64 {\n\treturn lapack64.Dpocon(a.Uplo, a.N, a.Data, a.Stride, anorm, work, iwork)\n}\n\n// Syev computes all eigenvalues and, optionally, the eigenvectors of a real\n// symmetric matrix A.\n//\n// w contains the eigenvalues in ascending order upon return. w must have length\n// at least n, and Syev will panic otherwise.\n//\n// On entry, a contains the elements of the symmetric matrix A in the triangular\n// portion specified by uplo. If jobz == lapack.ComputeEV a contains the\n// orthonormal eigenvectors of A on exit, otherwise on exit the specified\n// triangular region is overwritten.\n//\n// Work is temporary storage, and lwork specifies the usable memory length. At minimum,\n// lwork >= 3*n-1, and Syev will panic otherwise. The amount of blocking is\n// limited by the usable length. If lwork == -1, instead of computing Syev the\n// optimal work length is stored into work[0].\nfunc Syev(jobz lapack.EVJob, a blas64.Symmetric, w, work []float64, lwork int) (ok bool) {\n\treturn lapack64.Dsyev(jobz, a.Uplo, a.N, a.Data, a.Stride, w, work, lwork)\n}\n\n// Trcon estimates the reciprocal of the condition number of a triangular matrix A.\n// The condition number computed may be based on the 1-norm or the ∞-norm.\n//\n// work is a temporary data slice of length at least 3*n and Trcon will panic otherwise.\n//\n// iwork is a temporary data slice of length at least n and Trcon will panic otherwise.\nfunc Trcon(norm lapack.MatrixNorm, a blas64.Triangular, work []float64, iwork []int) float64 {\n\treturn lapack64.Dtrcon(norm, a.Uplo, a.Diag, a.N, a.Data, a.Stride, work, iwork)\n}\n\n// Trtri computes the inverse of a triangular matrix, storing the result in place\n// into a.\n//\n// Trtri will not perform the inversion if the matrix is singular, and returns\n// a boolean indicating whether the inversion was successful.\nfunc Trtri(a blas64.Triangular) (ok bool) {\n\treturn lapack64.Dtrtri(a.Uplo, a.Diag, a.N, a.Data, a.Stride)\n}\n\n// Trtrs solves a triangular system of the form A * X = B or A^T * X = B. Trtrs\n// returns whether the solve completed successfully. If A is singular, no solve is performed.\nfunc Trtrs(trans blas.Transpose, a blas64.Triangular, b blas64.General) (ok bool) {\n\treturn lapack64.Dtrtrs(a.Uplo, trans, a.Diag, a.N, b.Cols, a.Data, a.Stride, b.Data, b.Stride)\n}\n\n// Geev computes the eigenvalues and, optionally, the left and/or right\n// eigenvectors for an n×n real nonsymmetric matrix A.\n//\n// The right eigenvector v_j of A corresponding to an eigenvalue λ_j\n// is defined by\n//  A v_j = λ_j v_j,\n// and the left eigenvector u_j corresponding to an eigenvalue λ_j is defined by\n//  u_j^H A = λ_j u_j^H,\n// where u_j^H is the conjugate transpose of u_j.\n//\n// On return, A will be overwritten and the left and right eigenvectors will be\n// stored, respectively, in the columns of the n×n matrices VL and VR in the\n// same order as their eigenvalues. If the j-th eigenvalue is real, then\n//  u_j = VL[:,j],\n//  v_j = VR[:,j],\n// and if it is not real, then j and j+1 form a complex conjugate pair and the\n// eigenvectors can be recovered as\n//  u_j     = VL[:,j] + i*VL[:,j+1],\n//  u_{j+1} = VL[:,j] - i*VL[:,j+1],\n//  v_j     = VR[:,j] + i*VR[:,j+1],\n//  v_{j+1} = VR[:,j] - i*VR[:,j+1],\n// where i is the imaginary unit. The computed eigenvectors are normalized to\n// have Euclidean norm equal to 1 and largest component real.\n//\n// Left eigenvectors will be computed only if jobvl == lapack.ComputeLeftEV,\n// otherwise jobvl must be lapack.None.\n// Right eigenvectors will be computed only if jobvr == lapack.ComputeRightEV,\n// otherwise jobvr must be lapack.None.\n// For other values of jobvl and jobvr Geev will panic.\n//\n// On return, wr and wi will contain the real and imaginary parts, respectively,\n// of the computed eigenvalues. Complex conjugate pairs of eigenvalues appear\n// consecutively with the eigenvalue having the positive imaginary part first.\n// wr and wi must have length n, and Geev will panic otherwise.\n//\n// work must have length at least lwork and lwork must be at least max(1,4*n) if\n// the left or right eigenvectors are computed, and at least max(1,3*n) if no\n// eigenvectors are computed. For good performance, lwork must generally be\n// larger. On return, optimal value of lwork will be stored in work[0].\n//\n// If lwork == -1, instead of performing Geev, the function only calculates the\n// optimal vaule of lwork and stores it into work[0].\n//\n// On return, first will be the index of the first valid eigenvalue.\n// If first == 0, all eigenvalues and eigenvectors have been computed.\n// If first is positive, Geev failed to compute all the eigenvalues, no\n// eigenvectors have been computed and wr[first:] and wi[first:] contain those\n// eigenvalues which have converged.\nfunc Geev(jobvl lapack.LeftEVJob, jobvr lapack.RightEVJob, a blas64.General, wr, wi []float64, vl, vr blas64.General, work []float64, lwork int) (first int) {\n\tn := a.Rows\n\tif a.Cols != n {\n\t\tpanic(\"lapack64: matrix not square\")\n\t}\n\tif jobvl == lapack.ComputeLeftEV && (vl.Rows != n || vl.Cols != n) {\n\t\tpanic(\"lapack64: bad size of VL\")\n\t}\n\tif jobvr == lapack.ComputeRightEV && (vr.Rows != n || vr.Cols != n) {\n\t\tpanic(\"lapack64: bad size of VR\")\n\t}\n\treturn lapack64.Dgeev(jobvl, jobvr, n, a.Data, a.Stride, wr, wi, vl.Data, vl.Stride, vr.Data, vr.Stride, work, lwork)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/band.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\nvar (\n\tbandDense *BandDense\n\t_         Matrix    = bandDense\n\t_         Banded    = bandDense\n\t_         RawBander = bandDense\n\n\t_ NonZeroDoer    = bandDense\n\t_ RowNonZeroDoer = bandDense\n\t_ ColNonZeroDoer = bandDense\n)\n\n// BandDense represents a band matrix in dense storage format.\ntype BandDense struct {\n\tmat blas64.Band\n}\n\n// Banded is a band matrix representation.\ntype Banded interface {\n\tMatrix\n\t// Bandwidth returns the lower and upper bandwidth values for\n\t// the matrix. The total bandwidth of the matrix is kl+ku+1.\n\tBandwidth() (kl, ku int)\n\n\t// TBand is the equivalent of the T() method in the Matrix\n\t// interface but guarantees the transpose is of banded type.\n\tTBand() Banded\n}\n\n// A RawBander can return a blas64.Band representation of the receiver.\n// Changes to the blas64.Band.Data slice will be reflected in the original\n// matrix, changes to the Rows, Cols, KL, KU and Stride fields will not.\ntype RawBander interface {\n\tRawBand() blas64.Band\n}\n\n// A MutableBanded can set elements of a band matrix.\ntype MutableBanded interface {\n\tBanded\n\tSetBand(i, j int, v float64)\n}\n\nvar (\n\t_ Matrix            = TransposeBand{}\n\t_ Banded            = TransposeBand{}\n\t_ UntransposeBander = TransposeBand{}\n)\n\n// TransposeBand is a type for performing an implicit transpose of a band\n// matrix. It implements the Banded interface, returning values from the\n// transpose of the matrix within.\ntype TransposeBand struct {\n\tBanded Banded\n}\n\n// At returns the value of the element at row i and column j of the transposed\n// matrix, that is, row j and column i of the Banded field.\nfunc (t TransposeBand) At(i, j int) float64 {\n\treturn t.Banded.At(j, i)\n}\n\n// Dims returns the dimensions of the transposed matrix.\nfunc (t TransposeBand) Dims() (r, c int) {\n\tc, r = t.Banded.Dims()\n\treturn r, c\n}\n\n// T performs an implicit transpose by returning the Banded field.\nfunc (t TransposeBand) T() Matrix {\n\treturn t.Banded\n}\n\n// Bandwidth returns the lower and upper bandwidth values for\n// the transposed matrix.\nfunc (t TransposeBand) Bandwidth() (kl, ku int) {\n\tkl, ku = t.Banded.Bandwidth()\n\treturn ku, kl\n}\n\n// TBand performs an implicit transpose by returning the Banded field.\nfunc (t TransposeBand) TBand() Banded {\n\treturn t.Banded\n}\n\n// Untranspose returns the Banded field.\nfunc (t TransposeBand) Untranspose() Matrix {\n\treturn t.Banded\n}\n\n// UntransposeBand returns the Banded field.\nfunc (t TransposeBand) UntransposeBand() Banded {\n\treturn t.Banded\n}\n\n// NewBandDense creates a new Band matrix with r rows and c columns. If data == nil,\n// a new slice is allocated for the backing slice. If len(data) == min(r, c+kl)*(kl+ku+1),\n// data is used as the backing slice, and changes to the elements of the returned\n// BandDense will be reflected in data. If neither of these is true, NewBandDense\n// will panic. kl must be at least zero and less r, and ku must be at least zero and\n// less than c, otherwise NewBandDense will panic.\n//\n// The data must be arranged in row-major order constructed by removing the zeros\n// from the rows outside the band and aligning the diagonals. For example, the matrix\n//    1  2  3  0  0  0\n//    4  5  6  7  0  0\n//    0  8  9 10 11  0\n//    0  0 12 13 14 15\n//    0  0  0 16 17 18\n//    0  0  0  0 19 20\n// becomes (* entries are never accessed)\n//     *  1  2  3\n//     4  5  6  7\n//     8  9 10 11\n//    12 13 14 15\n//    16 17 18  *\n//    19 20  *  *\n// which is passed to NewBandDense as []float64{*, 1, 2, 3, 4, ...} with kl=1 and ku=2.\n// Only the values in the band portion of the matrix are used.\nfunc NewBandDense(r, c, kl, ku int, data []float64) *BandDense {\n\tif r < 0 || c < 0 || kl < 0 || ku < 0 {\n\t\tpanic(\"mat: negative dimension\")\n\t}\n\tif kl+1 > r || ku+1 > c {\n\t\tpanic(\"mat: band out of range\")\n\t}\n\tbc := kl + ku + 1\n\tif data != nil && len(data) != min(r, c+kl)*bc {\n\t\tpanic(ErrShape)\n\t}\n\tif data == nil {\n\t\tdata = make([]float64, min(r, c+kl)*bc)\n\t}\n\treturn &BandDense{\n\t\tmat: blas64.Band{\n\t\t\tRows:   r,\n\t\t\tCols:   c,\n\t\t\tKL:     kl,\n\t\t\tKU:     ku,\n\t\t\tStride: bc,\n\t\t\tData:   data,\n\t\t},\n\t}\n}\n\n// NewDiagonalRect is a convenience function that returns a diagonal matrix represented by a\n// BandDense. The length of data must be min(r, c) otherwise NewDiagonalRect will panic.\nfunc NewDiagonalRect(r, c int, data []float64) *BandDense {\n\treturn NewBandDense(r, c, 0, 0, data)\n}\n\n// Dims returns the number of rows and columns in the matrix.\nfunc (b *BandDense) Dims() (r, c int) {\n\treturn b.mat.Rows, b.mat.Cols\n}\n\n// Bandwidth returns the upper and lower bandwidths of the matrix.\nfunc (b *BandDense) Bandwidth() (kl, ku int) {\n\treturn b.mat.KL, b.mat.KU\n}\n\n// T performs an implicit transpose by returning the receiver inside a Transpose.\nfunc (b *BandDense) T() Matrix {\n\treturn Transpose{b}\n}\n\n// TBand performs an implicit transpose by returning the receiver inside a TransposeBand.\nfunc (b *BandDense) TBand() Banded {\n\treturn TransposeBand{b}\n}\n\n// RawBand returns the underlying blas64.Band used by the receiver.\n// Changes to elements in the receiver following the call will be reflected\n// in returned blas64.Band.\nfunc (b *BandDense) RawBand() blas64.Band {\n\treturn b.mat\n}\n\n// DoNonZero calls the function fn for each of the non-zero elements of b. The function fn\n// takes a row/column index and the element value of b at (i, j).\nfunc (b *BandDense) DoNonZero(fn func(i, j int, v float64)) {\n\tfor i := 0; i < min(b.mat.Rows, b.mat.Cols+b.mat.KL); i++ {\n\t\tfor j := max(0, i-b.mat.KL); j < min(b.mat.Cols, i+b.mat.KU+1); j++ {\n\t\t\tv := b.at(i, j)\n\t\t\tif v != 0 {\n\t\t\t\tfn(i, j, v)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// DoRowNonZero calls the function fn for each of the non-zero elements of row i of b. The function fn\n// takes a row/column index and the element value of b at (i, j).\nfunc (b *BandDense) DoRowNonZero(i int, fn func(i, j int, v float64)) {\n\tif i < 0 || b.mat.Rows <= i {\n\t\tpanic(ErrRowAccess)\n\t}\n\tfor j := max(0, i-b.mat.KL); j < min(b.mat.Cols, i+b.mat.KU+1); j++ {\n\t\tv := b.at(i, j)\n\t\tif v != 0 {\n\t\t\tfn(i, j, v)\n\t\t}\n\t}\n}\n\n// DoColNonZero calls the function fn for each of the non-zero elements of column j of b. The function fn\n// takes a row/column index and the element value of b at (i, j).\nfunc (b *BandDense) DoColNonZero(j int, fn func(i, j int, v float64)) {\n\tif j < 0 || b.mat.Cols <= j {\n\t\tpanic(ErrColAccess)\n\t}\n\tfor i := 0; i < min(b.mat.Rows, b.mat.Cols+b.mat.KL); i++ {\n\t\tif i-b.mat.KL <= j && j < i+b.mat.KU+1 {\n\t\t\tv := b.at(i, j)\n\t\t\tif v != 0 {\n\t\t\t\tfn(i, j, v)\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/cholesky.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack/lapack64\"\n)\n\nconst (\n\tbadTriangle = \"mat: invalid triangle\"\n\tbadCholesky = \"mat: invalid Cholesky factorization\"\n)\n\n// Cholesky is a type for creating and using the Cholesky factorization of a\n// symmetric positive definite matrix.\n//\n// Cholesky methods may only be called on a value that has been successfully\n// initialized by a call to Factorize that has returned true. Calls to methods\n// of an unsuccessful Cholesky factorization will panic.\ntype Cholesky struct {\n\t// The chol pointer must never be retained as a pointer outside the Cholesky\n\t// struct, either by returning chol outside the struct or by setting it to\n\t// a pointer coming from outside. The same prohibition applies to the data\n\t// slice within chol.\n\tchol *TriDense\n\tcond float64\n}\n\n// updateCond updates the condition number of the Cholesky decomposition. If\n// norm > 0, then that norm is used as the norm of the original matrix A, otherwise\n// the norm is estimated from the decomposition.\nfunc (c *Cholesky) updateCond(norm float64) {\n\tn := c.chol.mat.N\n\twork := getFloats(3*n, false)\n\tdefer putFloats(work)\n\tif norm < 0 {\n\t\t// This is an approximation. By the definition of a norm,\n\t\t//  |AB| <= |A| |B|.\n\t\t// Since A = U^T*U, we get for the condition number κ that\n\t\t//  κ(A) := |A| |A^-1| = |U^T*U| |A^-1| <= |U^T| |U| |A^-1|,\n\t\t// so this will overestimate the condition number somewhat.\n\t\t// The norm of the original factorized matrix cannot be stored\n\t\t// because of update possibilities.\n\t\tunorm := lapack64.Lantr(CondNorm, c.chol.mat, work)\n\t\tlnorm := lapack64.Lantr(CondNormTrans, c.chol.mat, work)\n\t\tnorm = unorm * lnorm\n\t}\n\tsym := c.chol.asSymBlas()\n\tiwork := getInts(n, false)\n\tv := lapack64.Pocon(sym, norm, work, iwork)\n\tputInts(iwork)\n\tc.cond = 1 / v\n}\n\n// Cond returns the condition number of the factorized matrix.\nfunc (c *Cholesky) Cond() float64 {\n\treturn c.cond\n}\n\n// Factorize calculates the Cholesky decomposition of the matrix A and returns\n// whether the matrix is positive definite. If Factorize returns false, the\n// factorization must not be used.\nfunc (c *Cholesky) Factorize(a Symmetric) (ok bool) {\n\tn := a.Symmetric()\n\tif c.chol == nil {\n\t\tc.chol = NewTriDense(n, Upper, nil)\n\t} else {\n\t\tc.chol = NewTriDense(n, Upper, use(c.chol.mat.Data, n*n))\n\t}\n\tcopySymIntoTriangle(c.chol, a)\n\n\tsym := c.chol.asSymBlas()\n\twork := getFloats(c.chol.mat.N, false)\n\tnorm := lapack64.Lansy(CondNorm, sym, work)\n\tputFloats(work)\n\t_, ok = lapack64.Potrf(sym)\n\tif ok {\n\t\tc.updateCond(norm)\n\t} else {\n\t\tc.Reset()\n\t}\n\treturn ok\n}\n\n// Reset resets the factorization so that it can be reused as the receiver of a\n// dimensionally restricted operation.\nfunc (c *Cholesky) Reset() {\n\tif c.chol != nil {\n\t\tc.chol.Reset()\n\t}\n\tc.cond = math.Inf(1)\n}\n\n// SetFromU sets the Cholesky decomposition from the given triangular matrix.\n// SetFromU panics if t is not upper triangular. Note that t is copied into,\n// not stored inside, the receiver.\nfunc (c *Cholesky) SetFromU(t *TriDense) {\n\tn, kind := t.Triangle()\n\tif kind != Upper {\n\t\tpanic(\"cholesky: matrix must be upper triangular\")\n\t}\n\tif c.chol == nil {\n\t\tc.chol = NewTriDense(n, Upper, nil)\n\t} else {\n\t\tc.chol = NewTriDense(n, Upper, use(c.chol.mat.Data, n*n))\n\t}\n\tc.chol.Copy(t)\n\tc.updateCond(-1)\n}\n\n// Clone makes a copy of the input Cholesky into the receiver, overwriting the\n// previous value of the receiver. Clone does not place any restrictions on receiver\n// shape. Clone panics if the input Cholesky is not the result of a valid decomposition.\nfunc (c *Cholesky) Clone(chol *Cholesky) {\n\tif !chol.valid() {\n\t\tpanic(badCholesky)\n\t}\n\tn := chol.Size()\n\tif c.chol == nil {\n\t\tc.chol = NewTriDense(n, Upper, nil)\n\t} else {\n\t\tc.chol = NewTriDense(n, Upper, use(c.chol.mat.Data, n*n))\n\t}\n\tc.chol.Copy(chol.chol)\n\tc.cond = chol.cond\n}\n\n// Size returns the dimension of the factorized matrix.\nfunc (c *Cholesky) Size() int {\n\tif !c.valid() {\n\t\tpanic(badCholesky)\n\t}\n\treturn c.chol.mat.N\n}\n\n// Det returns the determinant of the matrix that has been factorized.\nfunc (c *Cholesky) Det() float64 {\n\tif !c.valid() {\n\t\tpanic(badCholesky)\n\t}\n\treturn math.Exp(c.LogDet())\n}\n\n// LogDet returns the log of the determinant of the matrix that has been factorized.\nfunc (c *Cholesky) LogDet() float64 {\n\tif !c.valid() {\n\t\tpanic(badCholesky)\n\t}\n\tvar det float64\n\tfor i := 0; i < c.chol.mat.N; i++ {\n\t\tdet += 2 * math.Log(c.chol.mat.Data[i*c.chol.mat.Stride+i])\n\t}\n\treturn det\n}\n\n// Solve finds the matrix m that solves A * m = b where A is represented\n// by the Cholesky decomposition, placing the result in m.\nfunc (c *Cholesky) Solve(m *Dense, b Matrix) error {\n\tif !c.valid() {\n\t\tpanic(badCholesky)\n\t}\n\tn := c.chol.mat.N\n\tbm, bn := b.Dims()\n\tif n != bm {\n\t\tpanic(ErrShape)\n\t}\n\n\tm.reuseAs(bm, bn)\n\tif b != m {\n\t\tm.Copy(b)\n\t}\n\tblas64.Trsm(blas.Left, blas.Trans, 1, c.chol.mat, m.mat)\n\tblas64.Trsm(blas.Left, blas.NoTrans, 1, c.chol.mat, m.mat)\n\tif c.cond > ConditionTolerance {\n\t\treturn Condition(c.cond)\n\t}\n\treturn nil\n}\n\n// SolveChol finds the matrix m that solves A * m = B where A and B are represented\n// by their Cholesky decompositions a and b, placing the result in the receiver.\nfunc (a *Cholesky) SolveChol(m *Dense, b *Cholesky) error {\n\tif !a.valid() || !b.valid() {\n\t\tpanic(badCholesky)\n\t}\n\tbn := b.chol.mat.N\n\tif a.chol.mat.N != bn {\n\t\tpanic(ErrShape)\n\t}\n\n\tm.reuseAsZeroed(bn, bn)\n\tm.Copy(b.chol.T())\n\tblas64.Trsm(blas.Left, blas.Trans, 1, a.chol.mat, m.mat)\n\tblas64.Trsm(blas.Left, blas.NoTrans, 1, a.chol.mat, m.mat)\n\tblas64.Trmm(blas.Right, blas.NoTrans, 1, b.chol.mat, m.mat)\n\tif a.cond > ConditionTolerance {\n\t\treturn Condition(a.cond)\n\t}\n\treturn nil\n}\n\n// SolveVec finds the vector v that solves A * v = b where A is represented\n// by the Cholesky decomposition, placing the result in v.\nfunc (c *Cholesky) SolveVec(v *VecDense, b Vector) error {\n\tif !c.valid() {\n\t\tpanic(badCholesky)\n\t}\n\tn := c.chol.mat.N\n\tif br, bc := b.Dims(); br != n || bc != 1 {\n\t\tpanic(ErrShape)\n\t}\n\tswitch rv := b.(type) {\n\tdefault:\n\t\tv.reuseAs(n)\n\t\treturn c.Solve(v.asDense(), b)\n\tcase RawVectorer:\n\t\tbmat := rv.RawVector()\n\t\tif v != b {\n\t\t\tv.checkOverlap(bmat)\n\t\t}\n\t\tv.reuseAs(n)\n\t\tif v != b {\n\t\t\tv.CopyVec(b)\n\t\t}\n\t\tblas64.Trsv(blas.Trans, c.chol.mat, v.mat)\n\t\tblas64.Trsv(blas.NoTrans, c.chol.mat, v.mat)\n\t\tif c.cond > ConditionTolerance {\n\t\t\treturn Condition(c.cond)\n\t\t}\n\t\treturn nil\n\t}\n}\n\n// RawU returns the Triangular matrix used to store the Cholesky decomposition of\n// the original matrix A. The returned matrix should not be modified. If it is\n// modified, the decomposition is invalid and should not be used.\nfunc (c *Cholesky) RawU() Triangular {\n\treturn c.chol\n}\n\n// UTo extracts the n×n upper triangular matrix U from a Cholesky\n// decomposition into dst and returns the result. If dst is nil a new\n// TriDense is allocated.\n//  A = U^T * U.\nfunc (c *Cholesky) UTo(dst *TriDense) *TriDense {\n\tif !c.valid() {\n\t\tpanic(badCholesky)\n\t}\n\tn := c.chol.mat.N\n\tif dst == nil {\n\t\tdst = NewTriDense(n, Upper, make([]float64, n*n))\n\t} else {\n\t\tdst.reuseAs(n, Upper)\n\t}\n\tdst.Copy(c.chol)\n\treturn dst\n}\n\n// LTo extracts the n×n lower triangular matrix L from a Cholesky\n// decomposition into dst and returns the result. If dst is nil a new\n// TriDense is allocated.\n//  A = L * L^T.\nfunc (c *Cholesky) LTo(dst *TriDense) *TriDense {\n\tif !c.valid() {\n\t\tpanic(badCholesky)\n\t}\n\tn := c.chol.mat.N\n\tif dst == nil {\n\t\tdst = NewTriDense(n, Lower, make([]float64, n*n))\n\t} else {\n\t\tdst.reuseAs(n, Lower)\n\t}\n\tdst.Copy(c.chol.TTri())\n\treturn dst\n}\n\n// ToSym reconstructs the original positive definite matrix given its\n// Cholesky decomposition into dst and returns the result. If dst is nil\n// a new SymDense is allocated.\nfunc (c *Cholesky) ToSym(dst *SymDense) *SymDense {\n\tif !c.valid() {\n\t\tpanic(badCholesky)\n\t}\n\tn := c.chol.mat.N\n\tif dst == nil {\n\t\tdst = NewSymDense(n, make([]float64, n*n))\n\t} else {\n\t\tdst.reuseAs(n)\n\t}\n\tdst.SymOuterK(1, c.chol.T())\n\treturn dst\n}\n\n// InverseTo computes the inverse of the matrix represented by its Cholesky\n// factorization and stores the result into s. If the factorized\n// matrix is ill-conditioned, a Condition error will be returned.\n// Note that matrix inversion is numerically unstable, and should generally be\n// avoided where possible, for example by using the Solve routines.\nfunc (c *Cholesky) InverseTo(s *SymDense) error {\n\tif !c.valid() {\n\t\tpanic(badCholesky)\n\t}\n\t// TODO(btracey): Replace this code with a direct call to Dpotri when it\n\t// is available.\n\ts.reuseAs(c.chol.mat.N)\n\t// If:\n\t//  chol(A) = U^T * U\n\t// Then:\n\t//  chol(A^-1) = S * S^T\n\t// where S = U^-1\n\tvar t TriDense\n\terr := t.InverseTri(c.chol)\n\ts.SymOuterK(1, &t)\n\treturn err\n}\n\n// Scale multiplies the original matrix A by a positive constant using\n// its Cholesky decomposition, storing the result in-place into the receiver.\n// That is, if the original Cholesky factorization is\n//  U^T * U = A\n// the updated factorization is\n//  U'^T * U' = f A = A'\n// Scale panics if the constant is non-positive, or if the receiver is non-zero\n// and is of a different Size from the input.\nfunc (c *Cholesky) Scale(f float64, orig *Cholesky) {\n\tif !orig.valid() {\n\t\tpanic(badCholesky)\n\t}\n\tif f <= 0 {\n\t\tpanic(\"cholesky: scaling by a non-positive constant\")\n\t}\n\tn := orig.Size()\n\tif c.chol == nil {\n\t\tc.chol = NewTriDense(n, Upper, nil)\n\t} else if c.chol.mat.N != n {\n\t\tpanic(ErrShape)\n\t}\n\tc.chol.ScaleTri(math.Sqrt(f), orig.chol)\n\tc.cond = orig.cond // Scaling by a positive constant does not change the condition number.\n}\n\n// ExtendVecSym computes the Cholesky decomposition of the original matrix A,\n// whose Cholesky decomposition is in a, extended by a the n×1 vector v according to\n//  [A  w]\n//  [w' k]\n// where k = v[n-1] and w = v[:n-1]. The result is stored into the receiver.\n// In order for the updated matrix to be positive definite, it must be the case\n// that k > w' A^-1 w. If this condition does not hold then ExtendVecSym will\n// return false and the receiver will not be updated.\n//\n// ExtendVecSym will panic if v.Len() != a.Size()+1 or if a does not contain\n// a valid decomposition.\nfunc (chol *Cholesky) ExtendVecSym(a *Cholesky, v Vector) (ok bool) {\n\tn := a.Size()\n\tif v.Len() != n+1 {\n\t\tpanic(badSliceLength)\n\t}\n\tif !a.valid() {\n\t\tpanic(badCholesky)\n\t}\n\n\t// The algorithm is commented here, but see also\n\t//  https://math.stackexchange.com/questions/955874/cholesky-factor-when-adding-a-row-and-column-to-already-factorized-matrix\n\t// We have A and want to compute the Cholesky of\n\t//  [A  w]\n\t//  [w' k]\n\t// We want\n\t//  [U c]\n\t//  [0 d]\n\t// to be the updated Cholesky, and so it must be that\n\t//  [A  w] = [U' 0] [U c]\n\t//  [w' k]   [c' d] [0 d]\n\t// Thus, we need\n\t//  1) A = U'U (true by the original decomposition being valid),\n\t//  2) U' * c = w  =>  c = U'^-1 w\n\t//  3) c'*c + d'*d = k  =>  d = sqrt(k-c'*c)\n\n\t// First, compute c = U'^-1 a\n\t// TODO(btracey): Replace this with CopyVec when issue 167 is fixed.\n\tw := NewVecDense(n, nil)\n\tfor i := 0; i < n; i++ {\n\t\tw.SetVec(i, v.At(i, 0))\n\t}\n\tk := v.At(n, 0)\n\n\tc := NewVecDense(n, nil)\n\tc.SolveVec(a.chol.T(), w)\n\n\tdot := Dot(c, c)\n\tif dot >= k {\n\t\treturn false\n\t}\n\td := math.Sqrt(k - dot)\n\n\tnewU := NewTriDense(n+1, Upper, nil)\n\tnewU.Copy(a.chol)\n\tfor i := 0; i < n; i++ {\n\t\tnewU.SetTri(i, n, c.At(i, 0))\n\t}\n\tnewU.SetTri(n, n, d)\n\tchol.chol = newU\n\tchol.updateCond(-1)\n\treturn true\n}\n\n// SymRankOne performs a rank-1 update of the original matrix A and refactorizes\n// its Cholesky factorization, storing the result into the receiver. That is, if\n// in the original Cholesky factorization\n//  U^T * U = A,\n// in the updated factorization\n//  U'^T * U' = A + alpha * x * x^T = A'.\n//\n// Note that when alpha is negative, the updating problem may be ill-conditioned\n// and the results may be inaccurate, or the updated matrix A' may not be\n// positive definite and not have a Cholesky factorization. SymRankOne returns\n// whether the updated matrix A' is positive definite.\n//\n// SymRankOne updates a Cholesky factorization in O(n²) time. The Cholesky\n// factorization computation from scratch is O(n³).\nfunc (c *Cholesky) SymRankOne(orig *Cholesky, alpha float64, x *VecDense) (ok bool) {\n\tif !orig.valid() {\n\t\tpanic(badCholesky)\n\t}\n\tn := orig.Size()\n\tif x.Len() != n {\n\t\tpanic(ErrShape)\n\t}\n\tif orig != c {\n\t\tif c.chol == nil {\n\t\t\tc.chol = NewTriDense(n, Upper, nil)\n\t\t} else if c.chol.mat.N != n {\n\t\t\tpanic(ErrShape)\n\t\t}\n\t\tc.chol.Copy(orig.chol)\n\t}\n\n\tif alpha == 0 {\n\t\treturn true\n\t}\n\n\t// Algorithms for updating and downdating the Cholesky factorization are\n\t// described, for example, in\n\t// - J. J. Dongarra, J. R. Bunch, C. B. Moler, G. W. Stewart: LINPACK\n\t//   Users' Guide. SIAM (1979), pages 10.10--10.14\n\t// or\n\t// - P. E. Gill, G. H. Golub, W. Murray, and M. A. Saunders: Methods for\n\t//   modifying matrix factorizations. Mathematics of Computation 28(126)\n\t//   (1974), Method C3 on page 521\n\t//\n\t// The implementation is based on LINPACK code\n\t// http://www.netlib.org/linpack/dchud.f\n\t// http://www.netlib.org/linpack/dchdd.f\n\t// and\n\t// https://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=2646\n\t//\n\t// According to http://icl.cs.utk.edu/lapack-forum/archives/lapack/msg00301.html\n\t// LINPACK is released under BSD license.\n\t//\n\t// See also:\n\t// - M. A. Saunders: Large-scale Linear Programming Using the Cholesky\n\t//   Factorization. Technical Report Stanford University (1972)\n\t//   http://i.stanford.edu/pub/cstr/reports/cs/tr/72/252/CS-TR-72-252.pdf\n\t// - Matthias Seeger: Low rank updates for the Cholesky decomposition.\n\t//   EPFL Technical Report 161468 (2004)\n\t//   http://infoscience.epfl.ch/record/161468\n\n\twork := getFloats(n, false)\n\tdefer putFloats(work)\n\tblas64.Copy(n, x.RawVector(), blas64.Vector{1, work})\n\n\tif alpha > 0 {\n\t\t// Compute rank-1 update.\n\t\tif alpha != 1 {\n\t\t\tblas64.Scal(n, math.Sqrt(alpha), blas64.Vector{1, work})\n\t\t}\n\t\tumat := c.chol.mat\n\t\tstride := umat.Stride\n\t\tfor i := 0; i < n; i++ {\n\t\t\t// Compute parameters of the Givens matrix that zeroes\n\t\t\t// the i-th element of x.\n\t\t\tc, s, r, _ := blas64.Rotg(umat.Data[i*stride+i], work[i])\n\t\t\tif r < 0 {\n\t\t\t\t// Multiply by -1 to have positive diagonal\n\t\t\t\t// elemnts.\n\t\t\t\tr *= -1\n\t\t\t\tc *= -1\n\t\t\t\ts *= -1\n\t\t\t}\n\t\t\tumat.Data[i*stride+i] = r\n\t\t\tif i < n-1 {\n\t\t\t\t// Multiply the extended factorization matrix by\n\t\t\t\t// the Givens matrix from the left. Only\n\t\t\t\t// the i-th row and x are modified.\n\t\t\t\tblas64.Rot(n-i-1,\n\t\t\t\t\tblas64.Vector{1, umat.Data[i*stride+i+1 : i*stride+n]},\n\t\t\t\t\tblas64.Vector{1, work[i+1 : n]},\n\t\t\t\t\tc, s)\n\t\t\t}\n\t\t}\n\t\tc.updateCond(-1)\n\t\treturn true\n\t}\n\n\t// Compute rank-1 downdate.\n\talpha = math.Sqrt(-alpha)\n\tif alpha != 1 {\n\t\tblas64.Scal(n, alpha, blas64.Vector{1, work})\n\t}\n\t// Solve U^T * p = x storing the result into work.\n\tok = lapack64.Trtrs(blas.Trans, c.chol.RawTriangular(), blas64.General{\n\t\tRows:   n,\n\t\tCols:   1,\n\t\tStride: 1,\n\t\tData:   work,\n\t})\n\tif !ok {\n\t\t// The original matrix is singular. Should not happen, because\n\t\t// the factorization is valid.\n\t\tpanic(badCholesky)\n\t}\n\tnorm := blas64.Nrm2(n, blas64.Vector{1, work})\n\tif norm >= 1 {\n\t\t// The updated matrix is not positive definite.\n\t\treturn false\n\t}\n\tnorm = math.Sqrt((1 + norm) * (1 - norm))\n\tcos := getFloats(n, false)\n\tdefer putFloats(cos)\n\tsin := getFloats(n, false)\n\tdefer putFloats(sin)\n\tfor i := n - 1; i >= 0; i-- {\n\t\t// Compute parameters of Givens matrices that zero elements of p\n\t\t// backwards.\n\t\tcos[i], sin[i], norm, _ = blas64.Rotg(norm, work[i])\n\t\tif norm < 0 {\n\t\t\tnorm *= -1\n\t\t\tcos[i] *= -1\n\t\t\tsin[i] *= -1\n\t\t}\n\t}\n\tumat := c.chol.mat\n\tstride := umat.Stride\n\tfor i := n - 1; i >= 0; i-- {\n\t\t// Apply Givens matrices to U.\n\t\t// TODO(vladimir-ch): Use workspace to avoid modifying the\n\t\t// receiver in case an invalid factorization is created.\n\t\tblas64.Rot(n-i, blas64.Vector{1, work[i:n]}, blas64.Vector{1, umat.Data[i*stride+i : i*stride+n]}, cos[i], sin[i])\n\t\tif umat.Data[i*stride+i] == 0 {\n\t\t\t// The matrix is singular (may rarely happen due to\n\t\t\t// floating-point effects?).\n\t\t\tok = false\n\t\t} else if umat.Data[i*stride+i] < 0 {\n\t\t\t// Diagonal elements should be positive. If it happens\n\t\t\t// that on the i-th row the diagonal is negative,\n\t\t\t// multiply U from the left by an identity matrix that\n\t\t\t// has -1 on the i-th row.\n\t\t\tblas64.Scal(n-i, -1, blas64.Vector{1, umat.Data[i*stride+i : i*stride+n]})\n\t\t}\n\t}\n\tif ok {\n\t\tc.updateCond(-1)\n\t} else {\n\t\tc.Reset()\n\t}\n\treturn ok\n}\n\nfunc (c *Cholesky) valid() bool {\n\treturn c.chol != nil && !c.chol.IsZero()\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/cmatrix.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\n// CMatrix is the basic matrix interface type for complex matrices.\ntype CMatrix interface {\n\t// Dims returns the dimensions of a Matrix.\n\tDims() (r, c int)\n\n\t// At returns the value of a matrix element at row i, column j.\n\t// It will panic if i or j are out of bounds for the matrix.\n\tAt(i, j int) complex128\n\n\t// H returns the conjugate transpose of the Matrix. Whether H\n\t// returns a copy of the underlying data is implementation dependent.\n\t// This method may be implemented using the Conjugate type, which\n\t// provides an implicit matrix conjugate transpose.\n\tH() CMatrix\n}\n\nvar (\n\t_ CMatrix      = Conjugate{}\n\t_ Unconjugator = Conjugate{}\n)\n\n// Conjugate is a type for performing an implicit matrix conjugate transpose.\n// It implements the Matrix interface, returning values from the conjugate\n// transpose of the matrix within.\ntype Conjugate struct {\n\tCMatrix CMatrix\n}\n\n// At returns the value of the element at row i and column j of the transposed\n// matrix, that is, row j and column i of the Matrix field.\nfunc (t Conjugate) At(i, j int) complex128 {\n\tz := t.CMatrix.At(j, i)\n\treturn complex(real(z), -imag(z))\n}\n\n// Dims returns the dimensions of the transposed matrix. The number of rows returned\n// is the number of columns in the Matrix field, and the number of columns is\n// the number of rows in the Matrix field.\nfunc (t Conjugate) Dims() (r, c int) {\n\tc, r = t.CMatrix.Dims()\n\treturn r, c\n}\n\n// H performs an implicit conjugate transpose by returning the Matrix field.\nfunc (t Conjugate) H() CMatrix {\n\treturn t.CMatrix\n}\n\n// Unconjugate returns the Matrix field.\nfunc (t Conjugate) Unconjugate() CMatrix {\n\treturn t.CMatrix\n}\n\n// Unconjugator is a type that can undo an implicit conjugate transpose.\ntype Unconjugator interface {\n\t// Note: This interface is needed to unify all of the Conjugate types. In\n\t// the cmat128 methods, we need to test if the Matrix has been implicitly\n\t// transposed. If this is checked by testing for the specific Conjugate type\n\t// then the behavior will be different if the user uses H() or HTri() for a\n\t// triangular matrix.\n\n\t// Unconjugate returns the underlying Matrix stored for the implicit\n\t// conjugate transpose.\n\tUnconjugate() CMatrix\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/consts.go",
    "content": "// Copyright ©2016 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\n// TriKind represents the triangularity of the matrix.\ntype TriKind bool\n\nconst (\n\t// Upper specifies an upper triangular matrix.\n\tUpper TriKind = true\n\t// Lower specifies a lower triangular matrix.\n\tLower TriKind = false\n)\n\n// SVDKind specifies the treatment of singular vectors during an SVD\n// factorization.\ntype SVDKind int\n\nconst (\n\t// SVDNone specifies that no singular vectors should be computed during\n\t// the decomposition.\n\tSVDNone SVDKind = iota + 1\n\t// SVDThin computes the thin singular vectors, that is, it computes\n\t//  A = U~ * Σ * V~^T\n\t// where U~ is of size m×min(m,n), Σ is a diagonal matrix of size min(m,n)×min(m,n)\n\t// and V~ is of size n×min(m,n).\n\tSVDThin\n\t// SVDFull computes the full singular value decomposition,\n\t//  A = U * Σ * V^T\n\t// where U is of size m×m, Σ is an m×n diagonal matrix, and V is an n×n matrix.\n\tSVDFull\n)\n\n// GSVDKind specifies the treatment of singular vectors during a GSVD\n// factorization.\ntype GSVDKind int\n\nconst (\n\t// GSVDU specifies that the U singular vectors should be computed during\n\t// the decomposition.\n\tGSVDU GSVDKind = 1 << iota\n\t// GSVDV specifies that the V singular vectors should be computed during\n\t// the decomposition.\n\tGSVDV\n\t// GSVDQ specifies that the Q singular vectors should be computed during\n\t// the decomposition.\n\tGSVDQ\n\n\t// GSVDNone specifies that no singular vector should be computed during\n\t// the decomposition.\n\tGSVDNone\n)\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/dense.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\nvar (\n\tdense *Dense\n\n\t_ Matrix  = dense\n\t_ Mutable = dense\n\n\t_ Cloner       = dense\n\t_ RowViewer    = dense\n\t_ ColViewer    = dense\n\t_ RawRowViewer = dense\n\t_ Grower       = dense\n\n\t_ RawMatrixSetter = dense\n\t_ RawMatrixer     = dense\n\n\t_ Reseter = dense\n)\n\n// Dense is a dense matrix representation.\ntype Dense struct {\n\tmat blas64.General\n\n\tcapRows, capCols int\n}\n\n// NewDense creates a new Dense matrix with r rows and c columns. If data == nil,\n// a new slice is allocated for the backing slice. If len(data) == r*c, data is\n// used as the backing slice, and changes to the elements of the returned Dense\n// will be reflected in data. If neither of these is true, NewDense will panic.\n//\n// The data must be arranged in row-major order, i.e. the (i*c + j)-th\n// element in the data slice is the {i, j}-th element in the matrix.\nfunc NewDense(r, c int, data []float64) *Dense {\n\tif data != nil && r*c != len(data) {\n\t\tpanic(ErrShape)\n\t}\n\tif data == nil {\n\t\tdata = make([]float64, r*c)\n\t}\n\treturn &Dense{\n\t\tmat: blas64.General{\n\t\t\tRows:   r,\n\t\t\tCols:   c,\n\t\t\tStride: c,\n\t\t\tData:   data,\n\t\t},\n\t\tcapRows: r,\n\t\tcapCols: c,\n\t}\n}\n\n// reuseAs resizes an empty matrix to a r×c matrix,\n// or checks that a non-empty matrix is r×c.\n//\n// reuseAs must be kept in sync with reuseAsZeroed.\nfunc (m *Dense) reuseAs(r, c int) {\n\tif m.mat.Rows > m.capRows || m.mat.Cols > m.capCols {\n\t\t// Panic as a string, not a mat.Error.\n\t\tpanic(\"mat: caps not correctly set\")\n\t}\n\tif m.IsZero() {\n\t\tm.mat = blas64.General{\n\t\t\tRows:   r,\n\t\t\tCols:   c,\n\t\t\tStride: c,\n\t\t\tData:   use(m.mat.Data, r*c),\n\t\t}\n\t\tm.capRows = r\n\t\tm.capCols = c\n\t\treturn\n\t}\n\tif r != m.mat.Rows || c != m.mat.Cols {\n\t\tpanic(ErrShape)\n\t}\n}\n\n// reuseAsZeroed resizes an empty matrix to a r×c matrix,\n// or checks that a non-empty matrix is r×c. It zeroes\n// all the elements of the matrix.\n//\n// reuseAsZeroed must be kept in sync with reuseAs.\nfunc (m *Dense) reuseAsZeroed(r, c int) {\n\tif m.mat.Rows > m.capRows || m.mat.Cols > m.capCols {\n\t\t// Panic as a string, not a mat.Error.\n\t\tpanic(\"mat: caps not correctly set\")\n\t}\n\tif m.IsZero() {\n\t\tm.mat = blas64.General{\n\t\t\tRows:   r,\n\t\t\tCols:   c,\n\t\t\tStride: c,\n\t\t\tData:   useZeroed(m.mat.Data, r*c),\n\t\t}\n\t\tm.capRows = r\n\t\tm.capCols = c\n\t\treturn\n\t}\n\tif r != m.mat.Rows || c != m.mat.Cols {\n\t\tpanic(ErrShape)\n\t}\n\tfor i := 0; i < r; i++ {\n\t\tzero(m.mat.Data[i*m.mat.Stride : i*m.mat.Stride+c])\n\t}\n}\n\n// untranspose untransposes a matrix if applicable. If a is an Untransposer, then\n// untranspose returns the underlying matrix and true. If it is not, then it returns\n// the input matrix and false.\nfunc untranspose(a Matrix) (Matrix, bool) {\n\tif ut, ok := a.(Untransposer); ok {\n\t\treturn ut.Untranspose(), true\n\t}\n\treturn a, false\n}\n\n// isolatedWorkspace returns a new dense matrix w with the size of a and\n// returns a callback to defer which performs cleanup at the return of the call.\n// This should be used when a method receiver is the same pointer as an input argument.\nfunc (m *Dense) isolatedWorkspace(a Matrix) (w *Dense, restore func()) {\n\tr, c := a.Dims()\n\tw = getWorkspace(r, c, false)\n\treturn w, func() {\n\t\tm.Copy(w)\n\t\tputWorkspace(w)\n\t}\n}\n\n// Reset zeros the dimensions of the matrix so that it can be reused as the\n// receiver of a dimensionally restricted operation.\n//\n// See the Reseter interface for more information.\nfunc (m *Dense) Reset() {\n\t// Row, Cols and Stride must be zeroed in unison.\n\tm.mat.Rows, m.mat.Cols, m.mat.Stride = 0, 0, 0\n\tm.capRows, m.capCols = 0, 0\n\tm.mat.Data = m.mat.Data[:0]\n}\n\n// IsZero returns whether the receiver is zero-sized. Zero-sized matrices can be the\n// receiver for size-restricted operations. Dense matrices can be zeroed using Reset.\nfunc (m *Dense) IsZero() bool {\n\t// It must be the case that m.Dims() returns\n\t// zeros in this case. See comment in Reset().\n\treturn m.mat.Stride == 0\n}\n\n// asTriDense returns a TriDense with the given size and side. The backing data\n// of the TriDense is the same as the receiver.\nfunc (m *Dense) asTriDense(n int, diag blas.Diag, uplo blas.Uplo) *TriDense {\n\treturn &TriDense{\n\t\tmat: blas64.Triangular{\n\t\t\tN:      n,\n\t\t\tStride: m.mat.Stride,\n\t\t\tData:   m.mat.Data,\n\t\t\tUplo:   uplo,\n\t\t\tDiag:   diag,\n\t\t},\n\t\tcap: n,\n\t}\n}\n\n// DenseCopyOf returns a newly allocated copy of the elements of a.\nfunc DenseCopyOf(a Matrix) *Dense {\n\td := &Dense{}\n\td.Clone(a)\n\treturn d\n}\n\n// SetRawMatrix sets the underlying blas64.General used by the receiver.\n// Changes to elements in the receiver following the call will be reflected\n// in b.\nfunc (m *Dense) SetRawMatrix(b blas64.General) {\n\tm.capRows, m.capCols = b.Rows, b.Cols\n\tm.mat = b\n}\n\n// RawMatrix returns the underlying blas64.General used by the receiver.\n// Changes to elements in the receiver following the call will be reflected\n// in returned blas64.General.\nfunc (m *Dense) RawMatrix() blas64.General { return m.mat }\n\n// Dims returns the number of rows and columns in the matrix.\nfunc (m *Dense) Dims() (r, c int) { return m.mat.Rows, m.mat.Cols }\n\n// Caps returns the number of rows and columns in the backing matrix.\nfunc (m *Dense) Caps() (r, c int) { return m.capRows, m.capCols }\n\n// T performs an implicit transpose by returning the receiver inside a Transpose.\nfunc (m *Dense) T() Matrix {\n\treturn Transpose{m}\n}\n\n// ColView returns a Vector reflecting the column j, backed by the matrix data.\n//\n// See ColViewer for more information.\nfunc (m *Dense) ColView(j int) Vector {\n\tvar v VecDense\n\tv.ColViewOf(m, j)\n\treturn &v\n}\n\n// SetCol sets the values in the specified column of the matrix to the values\n// in src. len(src) must equal the number of rows in the receiver.\nfunc (m *Dense) SetCol(j int, src []float64) {\n\tif j >= m.mat.Cols || j < 0 {\n\t\tpanic(ErrColAccess)\n\t}\n\tif len(src) != m.mat.Rows {\n\t\tpanic(ErrColLength)\n\t}\n\n\tblas64.Copy(m.mat.Rows,\n\t\tblas64.Vector{Inc: 1, Data: src},\n\t\tblas64.Vector{Inc: m.mat.Stride, Data: m.mat.Data[j:]},\n\t)\n}\n\n// SetRow sets the values in the specified rows of the matrix to the values\n// in src. len(src) must equal the number of columns in the receiver.\nfunc (m *Dense) SetRow(i int, src []float64) {\n\tif i >= m.mat.Rows || i < 0 {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif len(src) != m.mat.Cols {\n\t\tpanic(ErrRowLength)\n\t}\n\n\tcopy(m.rawRowView(i), src)\n}\n\n// RowView returns row i of the matrix data represented as a column vector,\n// backed by the matrix data.\n//\n// See RowViewer for more information.\nfunc (m *Dense) RowView(i int) Vector {\n\tvar v VecDense\n\tv.RowViewOf(m, i)\n\treturn &v\n}\n\n// RawRowView returns a slice backed by the same array as backing the\n// receiver.\nfunc (m *Dense) RawRowView(i int) []float64 {\n\tif i >= m.mat.Rows || i < 0 {\n\t\tpanic(ErrRowAccess)\n\t}\n\treturn m.rawRowView(i)\n}\n\nfunc (m *Dense) rawRowView(i int) []float64 {\n\treturn m.mat.Data[i*m.mat.Stride : i*m.mat.Stride+m.mat.Cols]\n}\n\n// Slice returns a new Matrix that shares backing data with the receiver.\n// The returned matrix starts at {i,j} of the receiver and extends k-i rows\n// and l-j columns. The final row in the resulting matrix is k-1 and the\n// final column is l-1.\n// Slice panics with ErrIndexOutOfRange if the slice is outside the capacity\n// of the receiver.\nfunc (m *Dense) Slice(i, k, j, l int) Matrix {\n\tmr, mc := m.Caps()\n\tif i < 0 || mr <= i || j < 0 || mc <= j || k <= i || mr < k || l <= j || mc < l {\n\t\tpanic(ErrIndexOutOfRange)\n\t}\n\tt := *m\n\tt.mat.Data = t.mat.Data[i*t.mat.Stride+j : (k-1)*t.mat.Stride+l]\n\tt.mat.Rows = k - i\n\tt.mat.Cols = l - j\n\tt.capRows -= i\n\tt.capCols -= j\n\treturn &t\n}\n\n// Grow returns the receiver expanded by r rows and c columns. If the dimensions\n// of the expanded matrix are outside the capacities of the receiver a new\n// allocation is made, otherwise not. Note the receiver itself is not modified\n// during the call to Grow.\nfunc (m *Dense) Grow(r, c int) Matrix {\n\tif r < 0 || c < 0 {\n\t\tpanic(ErrIndexOutOfRange)\n\t}\n\tif r == 0 && c == 0 {\n\t\treturn m\n\t}\n\n\tr += m.mat.Rows\n\tc += m.mat.Cols\n\n\tvar t Dense\n\tswitch {\n\tcase m.mat.Rows == 0 || m.mat.Cols == 0:\n\t\tt.mat = blas64.General{\n\t\t\tRows:   r,\n\t\t\tCols:   c,\n\t\t\tStride: c,\n\t\t\t// We zero because we don't know how the matrix will be used.\n\t\t\t// In other places, the mat is immediately filled with a result;\n\t\t\t// this is not the case here.\n\t\t\tData: useZeroed(m.mat.Data, r*c),\n\t\t}\n\tcase r > m.capRows || c > m.capCols:\n\t\tcr := max(r, m.capRows)\n\t\tcc := max(c, m.capCols)\n\t\tt.mat = blas64.General{\n\t\t\tRows:   r,\n\t\t\tCols:   c,\n\t\t\tStride: cc,\n\t\t\tData:   make([]float64, cr*cc),\n\t\t}\n\t\tt.capRows = cr\n\t\tt.capCols = cc\n\t\t// Copy the complete matrix over to the new matrix.\n\t\t// Including elements not currently visible. Use a temporary structure\n\t\t// to avoid modifying the receiver.\n\t\tvar tmp Dense\n\t\ttmp.mat = blas64.General{\n\t\t\tRows:   m.mat.Rows,\n\t\t\tCols:   m.mat.Cols,\n\t\t\tStride: m.mat.Stride,\n\t\t\tData:   m.mat.Data,\n\t\t}\n\t\ttmp.capRows = m.capRows\n\t\ttmp.capCols = m.capCols\n\t\tt.Copy(&tmp)\n\t\treturn &t\n\tdefault:\n\t\tt.mat = blas64.General{\n\t\t\tData:   m.mat.Data[:(r-1)*m.mat.Stride+c],\n\t\t\tRows:   r,\n\t\t\tCols:   c,\n\t\t\tStride: m.mat.Stride,\n\t\t}\n\t}\n\tt.capRows = r\n\tt.capCols = c\n\treturn &t\n}\n\n// Clone makes a copy of a into the receiver, overwriting the previous value of\n// the receiver. The clone operation does not make any restriction on shape and\n// will not cause shadowing.\n//\n// See the Cloner interface for more information.\nfunc (m *Dense) Clone(a Matrix) {\n\tr, c := a.Dims()\n\tmat := blas64.General{\n\t\tRows:   r,\n\t\tCols:   c,\n\t\tStride: c,\n\t}\n\tm.capRows, m.capCols = r, c\n\n\taU, trans := untranspose(a)\n\tswitch aU := aU.(type) {\n\tcase RawMatrixer:\n\t\tamat := aU.RawMatrix()\n\t\tmat.Data = make([]float64, r*c)\n\t\tif trans {\n\t\t\tfor i := 0; i < r; i++ {\n\t\t\t\tblas64.Copy(c,\n\t\t\t\t\tblas64.Vector{Inc: amat.Stride, Data: amat.Data[i : i+(c-1)*amat.Stride+1]},\n\t\t\t\t\tblas64.Vector{Inc: 1, Data: mat.Data[i*c : (i+1)*c]})\n\t\t\t}\n\t\t} else {\n\t\t\tfor i := 0; i < r; i++ {\n\t\t\t\tcopy(mat.Data[i*c:(i+1)*c], amat.Data[i*amat.Stride:i*amat.Stride+c])\n\t\t\t}\n\t\t}\n\tcase *VecDense:\n\t\tamat := aU.mat\n\t\tmat.Data = make([]float64, aU.n)\n\t\tblas64.Copy(aU.n,\n\t\t\tblas64.Vector{Inc: amat.Inc, Data: amat.Data},\n\t\t\tblas64.Vector{Inc: 1, Data: mat.Data})\n\tdefault:\n\t\tmat.Data = make([]float64, r*c)\n\t\tw := *m\n\t\tw.mat = mat\n\t\tfor i := 0; i < r; i++ {\n\t\t\tfor j := 0; j < c; j++ {\n\t\t\t\tw.set(i, j, a.At(i, j))\n\t\t\t}\n\t\t}\n\t\t*m = w\n\t\treturn\n\t}\n\tm.mat = mat\n}\n\n// Copy makes a copy of elements of a into the receiver. It is similar to the\n// built-in copy; it copies as much as the overlap between the two matrices and\n// returns the number of rows and columns it copied. If a aliases the receiver\n// and is a transposed Dense or VecDense, with a non-unitary increment, Copy will\n// panic.\n//\n// See the Copier interface for more information.\nfunc (m *Dense) Copy(a Matrix) (r, c int) {\n\tr, c = a.Dims()\n\tif a == m {\n\t\treturn r, c\n\t}\n\tr = min(r, m.mat.Rows)\n\tc = min(c, m.mat.Cols)\n\tif r == 0 || c == 0 {\n\t\treturn 0, 0\n\t}\n\n\taU, trans := untranspose(a)\n\tswitch aU := aU.(type) {\n\tcase RawMatrixer:\n\t\tamat := aU.RawMatrix()\n\t\tif trans {\n\t\t\tif amat.Stride != 1 {\n\t\t\t\tm.checkOverlap(amat)\n\t\t\t}\n\t\t\tfor i := 0; i < r; i++ {\n\t\t\t\tblas64.Copy(c,\n\t\t\t\t\tblas64.Vector{Inc: amat.Stride, Data: amat.Data[i : i+(c-1)*amat.Stride+1]},\n\t\t\t\t\tblas64.Vector{Inc: 1, Data: m.mat.Data[i*m.mat.Stride : i*m.mat.Stride+c]})\n\t\t\t}\n\t\t} else {\n\t\t\tswitch o := offset(m.mat.Data, amat.Data); {\n\t\t\tcase o < 0:\n\t\t\t\tfor i := r - 1; i >= 0; i-- {\n\t\t\t\t\tcopy(m.mat.Data[i*m.mat.Stride:i*m.mat.Stride+c], amat.Data[i*amat.Stride:i*amat.Stride+c])\n\t\t\t\t}\n\t\t\tcase o > 0:\n\t\t\t\tfor i := 0; i < r; i++ {\n\t\t\t\t\tcopy(m.mat.Data[i*m.mat.Stride:i*m.mat.Stride+c], amat.Data[i*amat.Stride:i*amat.Stride+c])\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\t// Nothing to do.\n\t\t\t}\n\t\t}\n\tcase *VecDense:\n\t\tvar n, stride int\n\t\tamat := aU.mat\n\t\tif trans {\n\t\t\tif amat.Inc != 1 {\n\t\t\t\tm.checkOverlap(aU.asGeneral())\n\t\t\t}\n\t\t\tn = c\n\t\t\tstride = 1\n\t\t} else {\n\t\t\tn = r\n\t\t\tstride = m.mat.Stride\n\t\t}\n\t\tif amat.Inc == 1 && stride == 1 {\n\t\t\tcopy(m.mat.Data, amat.Data[:n])\n\t\t\tbreak\n\t\t}\n\t\tswitch o := offset(m.mat.Data, amat.Data); {\n\t\tcase o < 0:\n\t\t\tblas64.Copy(n,\n\t\t\t\tblas64.Vector{Inc: -amat.Inc, Data: amat.Data},\n\t\t\t\tblas64.Vector{Inc: -stride, Data: m.mat.Data})\n\t\tcase o > 0:\n\t\t\tblas64.Copy(n,\n\t\t\t\tblas64.Vector{Inc: amat.Inc, Data: amat.Data},\n\t\t\t\tblas64.Vector{Inc: stride, Data: m.mat.Data})\n\t\tdefault:\n\t\t\t// Nothing to do.\n\t\t}\n\tdefault:\n\t\tfor i := 0; i < r; i++ {\n\t\t\tfor j := 0; j < c; j++ {\n\t\t\t\tm.set(i, j, a.At(i, j))\n\t\t\t}\n\t\t}\n\t}\n\n\treturn r, c\n}\n\n// Stack appends the rows of b onto the rows of a, placing the result into the\n// receiver with b placed in the greater indexed rows. Stack will panic if the\n// two input matrices do not have the same number of columns or the constructed\n// stacked matrix is not the same shape as the receiver.\nfunc (m *Dense) Stack(a, b Matrix) {\n\tar, ac := a.Dims()\n\tbr, bc := b.Dims()\n\tif ac != bc || m == a || m == b {\n\t\tpanic(ErrShape)\n\t}\n\n\tm.reuseAs(ar+br, ac)\n\n\tm.Copy(a)\n\tw := m.Slice(ar, ar+br, 0, bc).(*Dense)\n\tw.Copy(b)\n}\n\n// Augment creates the augmented matrix of a and b, where b is placed in the\n// greater indexed columns. Augment will panic if the two input matrices do\n// not have the same number of rows or the constructed augmented matrix is\n// not the same shape as the receiver.\nfunc (m *Dense) Augment(a, b Matrix) {\n\tar, ac := a.Dims()\n\tbr, bc := b.Dims()\n\tif ar != br || m == a || m == b {\n\t\tpanic(ErrShape)\n\t}\n\n\tm.reuseAs(ar, ac+bc)\n\n\tm.Copy(a)\n\tw := m.Slice(0, br, ac, ac+bc).(*Dense)\n\tw.Copy(b)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/dense_arithmetic.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack/lapack64\"\n)\n\n// Add adds a and b element-wise, placing the result in the receiver. Add\n// will panic if the two matrices do not have the same shape.\nfunc (m *Dense) Add(a, b Matrix) {\n\tar, ac := a.Dims()\n\tbr, bc := b.Dims()\n\tif ar != br || ac != bc {\n\t\tpanic(ErrShape)\n\t}\n\n\taU, _ := untranspose(a)\n\tbU, _ := untranspose(b)\n\tm.reuseAs(ar, ac)\n\n\tif arm, ok := a.(RawMatrixer); ok {\n\t\tif brm, ok := b.(RawMatrixer); ok {\n\t\t\tamat, bmat := arm.RawMatrix(), brm.RawMatrix()\n\t\t\tif m != aU {\n\t\t\t\tm.checkOverlap(amat)\n\t\t\t}\n\t\t\tif m != bU {\n\t\t\t\tm.checkOverlap(bmat)\n\t\t\t}\n\t\t\tfor ja, jb, jm := 0, 0, 0; ja < ar*amat.Stride; ja, jb, jm = ja+amat.Stride, jb+bmat.Stride, jm+m.mat.Stride {\n\t\t\t\tfor i, v := range amat.Data[ja : ja+ac] {\n\t\t\t\t\tm.mat.Data[i+jm] = v + bmat.Data[i+jb]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\n\tvar restore func()\n\tif m == aU {\n\t\tm, restore = m.isolatedWorkspace(aU)\n\t\tdefer restore()\n\t} else if m == bU {\n\t\tm, restore = m.isolatedWorkspace(bU)\n\t\tdefer restore()\n\t}\n\n\tfor r := 0; r < ar; r++ {\n\t\tfor c := 0; c < ac; c++ {\n\t\t\tm.set(r, c, a.At(r, c)+b.At(r, c))\n\t\t}\n\t}\n}\n\n// Sub subtracts the matrix b from a, placing the result in the receiver. Sub\n// will panic if the two matrices do not have the same shape.\nfunc (m *Dense) Sub(a, b Matrix) {\n\tar, ac := a.Dims()\n\tbr, bc := b.Dims()\n\tif ar != br || ac != bc {\n\t\tpanic(ErrShape)\n\t}\n\n\taU, _ := untranspose(a)\n\tbU, _ := untranspose(b)\n\tm.reuseAs(ar, ac)\n\n\tif arm, ok := a.(RawMatrixer); ok {\n\t\tif brm, ok := b.(RawMatrixer); ok {\n\t\t\tamat, bmat := arm.RawMatrix(), brm.RawMatrix()\n\t\t\tif m != aU {\n\t\t\t\tm.checkOverlap(amat)\n\t\t\t}\n\t\t\tif m != bU {\n\t\t\t\tm.checkOverlap(bmat)\n\t\t\t}\n\t\t\tfor ja, jb, jm := 0, 0, 0; ja < ar*amat.Stride; ja, jb, jm = ja+amat.Stride, jb+bmat.Stride, jm+m.mat.Stride {\n\t\t\t\tfor i, v := range amat.Data[ja : ja+ac] {\n\t\t\t\t\tm.mat.Data[i+jm] = v - bmat.Data[i+jb]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\n\tvar restore func()\n\tif m == aU {\n\t\tm, restore = m.isolatedWorkspace(aU)\n\t\tdefer restore()\n\t} else if m == bU {\n\t\tm, restore = m.isolatedWorkspace(bU)\n\t\tdefer restore()\n\t}\n\n\tfor r := 0; r < ar; r++ {\n\t\tfor c := 0; c < ac; c++ {\n\t\t\tm.set(r, c, a.At(r, c)-b.At(r, c))\n\t\t}\n\t}\n}\n\n// MulElem performs element-wise multiplication of a and b, placing the result\n// in the receiver. MulElem will panic if the two matrices do not have the same\n// shape.\nfunc (m *Dense) MulElem(a, b Matrix) {\n\tar, ac := a.Dims()\n\tbr, bc := b.Dims()\n\tif ar != br || ac != bc {\n\t\tpanic(ErrShape)\n\t}\n\n\taU, _ := untranspose(a)\n\tbU, _ := untranspose(b)\n\tm.reuseAs(ar, ac)\n\n\tif arm, ok := a.(RawMatrixer); ok {\n\t\tif brm, ok := b.(RawMatrixer); ok {\n\t\t\tamat, bmat := arm.RawMatrix(), brm.RawMatrix()\n\t\t\tif m != aU {\n\t\t\t\tm.checkOverlap(amat)\n\t\t\t}\n\t\t\tif m != bU {\n\t\t\t\tm.checkOverlap(bmat)\n\t\t\t}\n\t\t\tfor ja, jb, jm := 0, 0, 0; ja < ar*amat.Stride; ja, jb, jm = ja+amat.Stride, jb+bmat.Stride, jm+m.mat.Stride {\n\t\t\t\tfor i, v := range amat.Data[ja : ja+ac] {\n\t\t\t\t\tm.mat.Data[i+jm] = v * bmat.Data[i+jb]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\n\tvar restore func()\n\tif m == aU {\n\t\tm, restore = m.isolatedWorkspace(aU)\n\t\tdefer restore()\n\t} else if m == bU {\n\t\tm, restore = m.isolatedWorkspace(bU)\n\t\tdefer restore()\n\t}\n\n\tfor r := 0; r < ar; r++ {\n\t\tfor c := 0; c < ac; c++ {\n\t\t\tm.set(r, c, a.At(r, c)*b.At(r, c))\n\t\t}\n\t}\n}\n\n// DivElem performs element-wise division of a by b, placing the result\n// in the receiver. DivElem will panic if the two matrices do not have the same\n// shape.\nfunc (m *Dense) DivElem(a, b Matrix) {\n\tar, ac := a.Dims()\n\tbr, bc := b.Dims()\n\tif ar != br || ac != bc {\n\t\tpanic(ErrShape)\n\t}\n\n\taU, _ := untranspose(a)\n\tbU, _ := untranspose(b)\n\tm.reuseAs(ar, ac)\n\n\tif arm, ok := a.(RawMatrixer); ok {\n\t\tif brm, ok := b.(RawMatrixer); ok {\n\t\t\tamat, bmat := arm.RawMatrix(), brm.RawMatrix()\n\t\t\tif m != aU {\n\t\t\t\tm.checkOverlap(amat)\n\t\t\t}\n\t\t\tif m != bU {\n\t\t\t\tm.checkOverlap(bmat)\n\t\t\t}\n\t\t\tfor ja, jb, jm := 0, 0, 0; ja < ar*amat.Stride; ja, jb, jm = ja+amat.Stride, jb+bmat.Stride, jm+m.mat.Stride {\n\t\t\t\tfor i, v := range amat.Data[ja : ja+ac] {\n\t\t\t\t\tm.mat.Data[i+jm] = v / bmat.Data[i+jb]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\n\tvar restore func()\n\tif m == aU {\n\t\tm, restore = m.isolatedWorkspace(aU)\n\t\tdefer restore()\n\t} else if m == bU {\n\t\tm, restore = m.isolatedWorkspace(bU)\n\t\tdefer restore()\n\t}\n\n\tfor r := 0; r < ar; r++ {\n\t\tfor c := 0; c < ac; c++ {\n\t\t\tm.set(r, c, a.At(r, c)/b.At(r, c))\n\t\t}\n\t}\n}\n\n// Inverse computes the inverse of the matrix a, storing the result into the\n// receiver. If a is ill-conditioned, a Condition error will be returned.\n// Note that matrix inversion is numerically unstable, and should generally\n// be avoided where possible, for example by using the Solve routines.\nfunc (m *Dense) Inverse(a Matrix) error {\n\t// TODO(btracey): Special case for RawTriangular, etc.\n\tr, c := a.Dims()\n\tif r != c {\n\t\tpanic(ErrSquare)\n\t}\n\tm.reuseAs(a.Dims())\n\taU, aTrans := untranspose(a)\n\tswitch rm := aU.(type) {\n\tcase RawMatrixer:\n\t\tif m != aU || aTrans {\n\t\t\tif m == aU || m.checkOverlap(rm.RawMatrix()) {\n\t\t\t\ttmp := getWorkspace(r, c, false)\n\t\t\t\ttmp.Copy(a)\n\t\t\t\tm.Copy(tmp)\n\t\t\t\tputWorkspace(tmp)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tm.Copy(a)\n\t\t}\n\tdefault:\n\t\tm.Copy(a)\n\t}\n\tipiv := getInts(r, false)\n\tdefer putInts(ipiv)\n\tok := lapack64.Getrf(m.mat, ipiv)\n\tif !ok {\n\t\treturn Condition(math.Inf(1))\n\t}\n\twork := getFloats(4*r, false) // must be at least 4*r for cond.\n\tlapack64.Getri(m.mat, ipiv, work, -1)\n\tif int(work[0]) > 4*r {\n\t\tl := int(work[0])\n\t\tputFloats(work)\n\t\twork = getFloats(l, false)\n\t} else {\n\t\twork = work[:4*r]\n\t}\n\tdefer putFloats(work)\n\tlapack64.Getri(m.mat, ipiv, work, len(work))\n\tnorm := lapack64.Lange(CondNorm, m.mat, work)\n\trcond := lapack64.Gecon(CondNorm, m.mat, norm, work, ipiv) // reuse ipiv\n\tif rcond == 0 {\n\t\treturn Condition(math.Inf(1))\n\t}\n\tcond := 1 / rcond\n\tif cond > ConditionTolerance {\n\t\treturn Condition(cond)\n\t}\n\treturn nil\n}\n\n// Mul takes the matrix product of a and b, placing the result in the receiver.\n// If the number of columns in a does not equal the number of rows in b, Mul will panic.\nfunc (m *Dense) Mul(a, b Matrix) {\n\tar, ac := a.Dims()\n\tbr, bc := b.Dims()\n\n\tif ac != br {\n\t\tpanic(ErrShape)\n\t}\n\n\taU, aTrans := untranspose(a)\n\tbU, bTrans := untranspose(b)\n\tm.reuseAs(ar, bc)\n\tvar restore func()\n\tif m == aU {\n\t\tm, restore = m.isolatedWorkspace(aU)\n\t\tdefer restore()\n\t} else if m == bU {\n\t\tm, restore = m.isolatedWorkspace(bU)\n\t\tdefer restore()\n\t}\n\taT := blas.NoTrans\n\tif aTrans {\n\t\taT = blas.Trans\n\t}\n\tbT := blas.NoTrans\n\tif bTrans {\n\t\tbT = blas.Trans\n\t}\n\n\t// Some of the cases do not have a transpose option, so create\n\t// temporary memory.\n\t// C = A^T * B = (B^T * A)^T\n\t// C^T = B^T * A.\n\tif aUrm, ok := aU.(RawMatrixer); ok {\n\t\tamat := aUrm.RawMatrix()\n\t\tif restore == nil {\n\t\t\tm.checkOverlap(amat)\n\t\t}\n\t\tif bUrm, ok := bU.(RawMatrixer); ok {\n\t\t\tbmat := bUrm.RawMatrix()\n\t\t\tif restore == nil {\n\t\t\t\tm.checkOverlap(bmat)\n\t\t\t}\n\t\t\tblas64.Gemm(aT, bT, 1, amat, bmat, 0, m.mat)\n\t\t\treturn\n\t\t}\n\t\tif bU, ok := bU.(RawSymmetricer); ok {\n\t\t\tbmat := bU.RawSymmetric()\n\t\t\tif aTrans {\n\t\t\t\tc := getWorkspace(ac, ar, false)\n\t\t\t\tblas64.Symm(blas.Left, 1, bmat, amat, 0, c.mat)\n\t\t\t\tstrictCopy(m, c.T())\n\t\t\t\tputWorkspace(c)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tblas64.Symm(blas.Right, 1, bmat, amat, 0, m.mat)\n\t\t\treturn\n\t\t}\n\t\tif bU, ok := bU.(RawTriangular); ok {\n\t\t\t// Trmm updates in place, so copy aU first.\n\t\t\tbmat := bU.RawTriangular()\n\t\t\tif aTrans {\n\t\t\t\tc := getWorkspace(ac, ar, false)\n\t\t\t\tvar tmp Dense\n\t\t\t\ttmp.SetRawMatrix(amat)\n\t\t\t\tc.Copy(&tmp)\n\t\t\t\tbT := blas.Trans\n\t\t\t\tif bTrans {\n\t\t\t\t\tbT = blas.NoTrans\n\t\t\t\t}\n\t\t\t\tblas64.Trmm(blas.Left, bT, 1, bmat, c.mat)\n\t\t\t\tstrictCopy(m, c.T())\n\t\t\t\tputWorkspace(c)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tm.Copy(a)\n\t\t\tblas64.Trmm(blas.Right, bT, 1, bmat, m.mat)\n\t\t\treturn\n\t\t}\n\t\tif bU, ok := bU.(*VecDense); ok {\n\t\t\tm.checkOverlap(bU.asGeneral())\n\t\t\tbvec := bU.RawVector()\n\t\t\tif bTrans {\n\t\t\t\t// {ar,1} x {1,bc}, which is not a vector.\n\t\t\t\t// Instead, construct B as a General.\n\t\t\t\tbmat := blas64.General{\n\t\t\t\t\tRows:   bc,\n\t\t\t\t\tCols:   1,\n\t\t\t\t\tStride: bvec.Inc,\n\t\t\t\t\tData:   bvec.Data,\n\t\t\t\t}\n\t\t\t\tblas64.Gemm(aT, bT, 1, amat, bmat, 0, m.mat)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tcvec := blas64.Vector{\n\t\t\t\tInc:  m.mat.Stride,\n\t\t\t\tData: m.mat.Data,\n\t\t\t}\n\t\t\tblas64.Gemv(aT, 1, amat, bvec, 0, cvec)\n\t\t\treturn\n\t\t}\n\t}\n\tif bUrm, ok := bU.(RawMatrixer); ok {\n\t\tbmat := bUrm.RawMatrix()\n\t\tif restore == nil {\n\t\t\tm.checkOverlap(bmat)\n\t\t}\n\t\tif aU, ok := aU.(RawSymmetricer); ok {\n\t\t\tamat := aU.RawSymmetric()\n\t\t\tif bTrans {\n\t\t\t\tc := getWorkspace(bc, br, false)\n\t\t\t\tblas64.Symm(blas.Right, 1, amat, bmat, 0, c.mat)\n\t\t\t\tstrictCopy(m, c.T())\n\t\t\t\tputWorkspace(c)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tblas64.Symm(blas.Left, 1, amat, bmat, 0, m.mat)\n\t\t\treturn\n\t\t}\n\t\tif aU, ok := aU.(RawTriangular); ok {\n\t\t\t// Trmm updates in place, so copy bU first.\n\t\t\tamat := aU.RawTriangular()\n\t\t\tif bTrans {\n\t\t\t\tc := getWorkspace(bc, br, false)\n\t\t\t\tvar tmp Dense\n\t\t\t\ttmp.SetRawMatrix(bmat)\n\t\t\t\tc.Copy(&tmp)\n\t\t\t\taT := blas.Trans\n\t\t\t\tif aTrans {\n\t\t\t\t\taT = blas.NoTrans\n\t\t\t\t}\n\t\t\t\tblas64.Trmm(blas.Right, aT, 1, amat, c.mat)\n\t\t\t\tstrictCopy(m, c.T())\n\t\t\t\tputWorkspace(c)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tm.Copy(b)\n\t\t\tblas64.Trmm(blas.Left, aT, 1, amat, m.mat)\n\t\t\treturn\n\t\t}\n\t\tif aU, ok := aU.(*VecDense); ok {\n\t\t\tm.checkOverlap(aU.asGeneral())\n\t\t\tavec := aU.RawVector()\n\t\t\tif aTrans {\n\t\t\t\t// {1,ac} x {ac, bc}\n\t\t\t\t// Transpose B so that the vector is on the right.\n\t\t\t\tcvec := blas64.Vector{\n\t\t\t\t\tInc:  1,\n\t\t\t\t\tData: m.mat.Data,\n\t\t\t\t}\n\t\t\t\tbT := blas.Trans\n\t\t\t\tif bTrans {\n\t\t\t\t\tbT = blas.NoTrans\n\t\t\t\t}\n\t\t\t\tblas64.Gemv(bT, 1, bmat, avec, 0, cvec)\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// {ar,1} x {1,bc} which is not a vector result.\n\t\t\t// Instead, construct A as a General.\n\t\t\tamat := blas64.General{\n\t\t\t\tRows:   ar,\n\t\t\t\tCols:   1,\n\t\t\t\tStride: avec.Inc,\n\t\t\t\tData:   avec.Data,\n\t\t\t}\n\t\t\tblas64.Gemm(aT, bT, 1, amat, bmat, 0, m.mat)\n\t\t\treturn\n\t\t}\n\t}\n\n\trow := getFloats(ac, false)\n\tdefer putFloats(row)\n\tfor r := 0; r < ar; r++ {\n\t\tfor i := range row {\n\t\t\trow[i] = a.At(r, i)\n\t\t}\n\t\tfor c := 0; c < bc; c++ {\n\t\t\tvar v float64\n\t\t\tfor i, e := range row {\n\t\t\t\tv += e * b.At(i, c)\n\t\t\t}\n\t\t\tm.mat.Data[r*m.mat.Stride+c] = v\n\t\t}\n\t}\n}\n\n// strictCopy copies a into m panicking if the shape of a and m differ.\nfunc strictCopy(m *Dense, a Matrix) {\n\tr, c := m.Copy(a)\n\tif r != m.mat.Rows || c != m.mat.Cols {\n\t\t// Panic with a string since this\n\t\t// is not a user-facing panic.\n\t\tpanic(ErrShape.Error())\n\t}\n}\n\n// Exp calculates the exponential of the matrix a, e^a, placing the result\n// in the receiver. Exp will panic with matrix.ErrShape if a is not square.\n//\n// Exp uses the scaling and squaring method described in section 3 of\n// http://www.cs.cornell.edu/cv/researchpdf/19ways+.pdf.\nfunc (m *Dense) Exp(a Matrix) {\n\tr, c := a.Dims()\n\tif r != c {\n\t\tpanic(ErrShape)\n\t}\n\n\tvar w *Dense\n\tif m.IsZero() {\n\t\tm.reuseAsZeroed(r, r)\n\t\tw = m\n\t} else {\n\t\tw = getWorkspace(r, r, true)\n\t}\n\tfor i := 0; i < r*r; i += r + 1 {\n\t\tw.mat.Data[i] = 1\n\t}\n\n\tconst (\n\t\tterms   = 10\n\t\tscaling = 4\n\t)\n\n\tsmall := getWorkspace(r, r, false)\n\tsmall.Scale(math.Pow(2, -scaling), a)\n\tpower := getWorkspace(r, r, false)\n\tpower.Copy(small)\n\n\tvar (\n\t\ttmp   = getWorkspace(r, r, false)\n\t\tfactI = 1.\n\t)\n\tfor i := 1.; i < terms; i++ {\n\t\tfactI *= i\n\n\t\t// This is OK to do because power and tmp are\n\t\t// new Dense values so all rows are contiguous.\n\t\t// TODO(kortschak) Make this explicit in the NewDense doc comment.\n\t\tfor j, v := range power.mat.Data {\n\t\t\ttmp.mat.Data[j] = v / factI\n\t\t}\n\n\t\tw.Add(w, tmp)\n\t\tif i < terms-1 {\n\t\t\ttmp.Mul(power, small)\n\t\t\ttmp, power = power, tmp\n\t\t}\n\t}\n\tputWorkspace(small)\n\tputWorkspace(power)\n\tfor i := 0; i < scaling; i++ {\n\t\ttmp.Mul(w, w)\n\t\ttmp, w = w, tmp\n\t}\n\tputWorkspace(tmp)\n\n\tif w != m {\n\t\tm.Copy(w)\n\t\tputWorkspace(w)\n\t}\n}\n\n// Pow calculates the integral power of the matrix a to n, placing the result\n// in the receiver. Pow will panic if n is negative or if a is not square.\nfunc (m *Dense) Pow(a Matrix, n int) {\n\tif n < 0 {\n\t\tpanic(\"matrix: illegal power\")\n\t}\n\tr, c := a.Dims()\n\tif r != c {\n\t\tpanic(ErrShape)\n\t}\n\n\tm.reuseAs(r, c)\n\n\t// Take possible fast paths.\n\tswitch n {\n\tcase 0:\n\t\tfor i := 0; i < r; i++ {\n\t\t\tzero(m.mat.Data[i*m.mat.Stride : i*m.mat.Stride+c])\n\t\t\tm.mat.Data[i*m.mat.Stride+i] = 1\n\t\t}\n\t\treturn\n\tcase 1:\n\t\tm.Copy(a)\n\t\treturn\n\tcase 2:\n\t\tm.Mul(a, a)\n\t\treturn\n\t}\n\n\t// Perform iterative exponentiation by squaring in work space.\n\tw := getWorkspace(r, r, false)\n\tw.Copy(a)\n\ts := getWorkspace(r, r, false)\n\ts.Copy(a)\n\tx := getWorkspace(r, r, false)\n\tfor n--; n > 0; n >>= 1 {\n\t\tif n&1 != 0 {\n\t\t\tx.Mul(w, s)\n\t\t\tw, x = x, w\n\t\t}\n\t\tif n != 1 {\n\t\t\tx.Mul(s, s)\n\t\t\ts, x = x, s\n\t\t}\n\t}\n\tm.Copy(w)\n\tputWorkspace(w)\n\tputWorkspace(s)\n\tputWorkspace(x)\n}\n\n// Scale multiplies the elements of a by f, placing the result in the receiver.\n//\n// See the Scaler interface for more information.\nfunc (m *Dense) Scale(f float64, a Matrix) {\n\tar, ac := a.Dims()\n\n\tm.reuseAs(ar, ac)\n\n\taU, aTrans := untranspose(a)\n\tif rm, ok := aU.(RawMatrixer); ok {\n\t\tamat := rm.RawMatrix()\n\t\tif m == aU || m.checkOverlap(amat) {\n\t\t\tvar restore func()\n\t\t\tm, restore = m.isolatedWorkspace(a)\n\t\t\tdefer restore()\n\t\t}\n\t\tif !aTrans {\n\t\t\tfor ja, jm := 0, 0; ja < ar*amat.Stride; ja, jm = ja+amat.Stride, jm+m.mat.Stride {\n\t\t\t\tfor i, v := range amat.Data[ja : ja+ac] {\n\t\t\t\t\tm.mat.Data[i+jm] = v * f\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ja, jm := 0, 0; ja < ac*amat.Stride; ja, jm = ja+amat.Stride, jm+1 {\n\t\t\t\tfor i, v := range amat.Data[ja : ja+ar] {\n\t\t\t\t\tm.mat.Data[i*m.mat.Stride+jm] = v * f\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\tfor r := 0; r < ar; r++ {\n\t\tfor c := 0; c < ac; c++ {\n\t\t\tm.set(r, c, f*a.At(r, c))\n\t\t}\n\t}\n}\n\n// Apply applies the function fn to each of the elements of a, placing the\n// resulting matrix in the receiver. The function fn takes a row/column\n// index and element value and returns some function of that tuple.\nfunc (m *Dense) Apply(fn func(i, j int, v float64) float64, a Matrix) {\n\tar, ac := a.Dims()\n\n\tm.reuseAs(ar, ac)\n\n\taU, aTrans := untranspose(a)\n\tif rm, ok := aU.(RawMatrixer); ok {\n\t\tamat := rm.RawMatrix()\n\t\tif m == aU || m.checkOverlap(amat) {\n\t\t\tvar restore func()\n\t\t\tm, restore = m.isolatedWorkspace(a)\n\t\t\tdefer restore()\n\t\t}\n\t\tif !aTrans {\n\t\t\tfor j, ja, jm := 0, 0, 0; ja < ar*amat.Stride; j, ja, jm = j+1, ja+amat.Stride, jm+m.mat.Stride {\n\t\t\t\tfor i, v := range amat.Data[ja : ja+ac] {\n\t\t\t\t\tm.mat.Data[i+jm] = fn(j, i, v)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor j, ja, jm := 0, 0, 0; ja < ac*amat.Stride; j, ja, jm = j+1, ja+amat.Stride, jm+1 {\n\t\t\t\tfor i, v := range amat.Data[ja : ja+ar] {\n\t\t\t\t\tm.mat.Data[i*m.mat.Stride+jm] = fn(i, j, v)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\tfor r := 0; r < ar; r++ {\n\t\tfor c := 0; c < ac; c++ {\n\t\t\tm.set(r, c, fn(r, c, a.At(r, c)))\n\t\t}\n\t}\n}\n\n// RankOne performs a rank-one update to the matrix a and stores the result\n// in the receiver. If a is zero, see Outer.\n//  m = a + alpha * x * y'\nfunc (m *Dense) RankOne(a Matrix, alpha float64, x, y *VecDense) {\n\tar, ac := a.Dims()\n\tif x.Len() != ar {\n\t\tpanic(ErrShape)\n\t}\n\tif y.Len() != ac {\n\t\tpanic(ErrShape)\n\t}\n\n\tm.checkOverlap(x.asGeneral())\n\tm.checkOverlap(y.asGeneral())\n\n\tvar w Dense\n\tif m == a {\n\t\tw = *m\n\t}\n\tw.reuseAs(ar, ac)\n\n\t// Copy over to the new memory if necessary\n\tif m != a {\n\t\tw.Copy(a)\n\t}\n\tblas64.Ger(alpha, x.mat, y.mat, w.mat)\n\t*m = w\n}\n\n// Outer calculates the outer product of x and y, and stores the result\n// in the receiver.\n//  m = alpha * x * y'\n// In order to update an existing matrix, see RankOne.\nfunc (m *Dense) Outer(alpha float64, x, y *VecDense) {\n\tr := x.Len()\n\tc := y.Len()\n\n\t// Copied from reuseAs with use replaced by useZeroed\n\t// and a final zero of the matrix elements if we pass\n\t// the shape checks.\n\t// TODO(kortschak): Factor out into reuseZeroedAs if\n\t// we find another case that needs it.\n\tif m.mat.Rows > m.capRows || m.mat.Cols > m.capCols {\n\t\t// Panic as a string, not a mat.Error.\n\t\tpanic(\"mat: caps not correctly set\")\n\t}\n\tif m.IsZero() {\n\t\tm.mat = blas64.General{\n\t\t\tRows:   r,\n\t\t\tCols:   c,\n\t\t\tStride: c,\n\t\t\tData:   useZeroed(m.mat.Data, r*c),\n\t\t}\n\t\tm.capRows = r\n\t\tm.capCols = c\n\t} else if r != m.mat.Rows || c != m.mat.Cols {\n\t\tpanic(ErrShape)\n\t} else {\n\t\tm.checkOverlap(x.asGeneral())\n\t\tm.checkOverlap(y.asGeneral())\n\t\tfor i := 0; i < r; i++ {\n\t\t\tzero(m.mat.Data[i*m.mat.Stride : i*m.mat.Stride+c])\n\t\t}\n\t}\n\n\tblas64.Ger(alpha, x.mat, y.mat, m.mat)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/doc.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package mat provides implementations of float64 and complex128 matrix\n// structures and linear algebra operations on them.\n//\n// Overview\n//\n// This section provides a quick overview of the mat package. The following\n// sections provide more in depth commentary.\n//\n// mat provides:\n//  - Interfaces for Matrix classes (Matrix, Symmetric, Triangular)\n//  - Concrete implementations (Dense, SymDense, TriDense)\n//  - Methods and functions for using matrix data (Add, Trace, SymRankOne)\n//  - Types for constructing and using matrix factorizations (QR, LU)\n//  - The complementary types for complex matrices, CMatrix, CSymDense, etc.\n//\n// A matrix may be constructed through the corresponding New function. If no\n// backing array is provided the matrix will be initialized to all zeros.\n//  // Allocate a zeroed real matrix of size 3×5\n//  zero := mat.NewDense(3, 5, nil)\n// If a backing data slice is provided, the matrix will have those elements.\n// Matrices are all stored in row-major format.\n//  // Generate a 6×6 matrix of random values.\n//  data := make([]float64, 36)\n//  for i := range data {\n//  \tdata[i] = rand.NormFloat64()\n//  }\n//  a := mat.NewDense(6, 6, data)\n// Operations involving matrix data are implemented as functions when the values\n// of the matrix remain unchanged\n//  tr := mat.Trace(a)\n// and are implemented as methods when the operation modifies the receiver.\n//  zero.Copy(a)\n//\n// Receivers must be the correct size for the matrix operations, otherwise the\n// operation will panic. As a special case for convenience, a zero-value matrix\n// will be modified to have the correct size, allocating data if necessary.\n//  var c mat.Dense // construct a new zero-sized matrix\n//  c.Mul(a, a)     // c is automatically adjusted to be 6×6\n//\n// Zero-value of a matrix\n//\n// A zero-value matrix is either the Go language definition of a zero-value or\n// is a zero-sized matrix with zero-length stride. Matrix implementations may have\n// a Reset method to revert the receiver into a zero-valued matrix and an IsZero\n// method that returns whether the matrix is zero-valued.\n// So the following will all result in a zero-value matrix.\n//  - var a mat.Dense\n//  - a := NewDense(0, 0, make([]float64, 0, 100))\n//  - a.Reset()\n// A zero-value matrix can not be sliced even if it does have an adequately sized\n// backing data slice, but can be expanded using its Grow method if it exists.\n//\n// The Matrix Interfaces\n//\n// The Matrix interface is the common link between the concrete types of real\n// matrices, The Matrix interface is defined by three functions: Dims, which\n// returns the dimensions of the Matrix, At, which returns the element in the\n// specified location, and T for returning a Transpose (discussed later). All of\n// the concrete types can perform these behaviors and so implement the interface.\n// Methods and functions are designed to use this interface, so in particular the method\n//  func (m *Dense) Mul(a, b Matrix)\n// constructs a *Dense from the result of a multiplication with any Matrix types,\n// not just *Dense. Where more restrictive requirements must be met, there are also the\n// Symmetric and Triangular interfaces. For example, in\n//  func (s *SymDense) AddSym(a, b Symmetric)\n// the Symmetric interface guarantees a symmetric result.\n//\n// The CMatrix interface plays the same role for complex matrices. The difference\n// is that the CMatrix type has the H method instead T, for returning the conjugate\n// transpose.\n//\n// (Conjugate) Transposes\n//\n// The T method is used for transposition on real matrices, and H is used for\n// conjugate transposition on complex matrices. For example, c.Mul(a.T(), b) computes\n// c = a^T * b. The mat types implement this method implicitly —\n// see the Transpose and Conjugate types for more details. Note that some\n// operations have a transpose as part of their definition, as in *SymDense.SymOuterK.\n//\n// Matrix Factorization\n//\n// Matrix factorizations, such as the LU decomposition, typically have their own\n// specific data storage, and so are each implemented as a specific type. The\n// factorization can be computed through a call to Factorize\n//  var lu mat.LU\n//  lu.Factorize(a)\n// The elements of the factorization can be extracted through methods on the\n// factorized type, i.e. *LU.UTo. The factorization types can also be used directly,\n// as in *Dense.SolveCholesky. Some factorizations can be updated directly,\n// without needing to update the original matrix and refactorize,\n// as in *LU.RankOne.\n//\n// BLAS and LAPACK\n//\n// BLAS and LAPACK are the standard APIs for linear algebra routines. Many\n// operations in mat are implemented using calls to the wrapper functions\n// in gonum/blas/blas64 and gonum/lapack/lapack64 and their complex equivalents.\n// By default, blas64 and lapack64 call the native Go implementations of the\n// routines. Alternatively, it is possible to use C-based implementations of the\n// APIs through the respective cgo packages and \"Use\" functions. The Go\n// implementation of LAPACK (used by default) makes calls\n// through blas64, so if a cgo BLAS implementation is registered, the lapack64\n// calls will be partially executed in Go and partially executed in C.\n//\n// Type Switching\n//\n// The Matrix abstraction enables efficiency as well as interoperability. Go's\n// type reflection capabilities are used to choose the most efficient routine\n// given the specific concrete types. For example, in\n//  c.Mul(a, b)\n// if a and b both implement RawMatrixer, that is, they can be represented as a\n// blas64.General, blas64.Gemm (general matrix multiplication) is called, while\n// instead if b is a RawSymmetricer blas64.Symm is used (general-symmetric\n// multiplication), and if b is a *VecDense blas64.Gemv is used.\n//\n// There are many possible type combinations and special cases. No specific guarantees\n// are made about the performance of any method, and in particular, note that an\n// abstract matrix type may be copied into a concrete type of the corresponding\n// value. If there are specific special cases that are needed, please submit a\n// pull-request or file an issue.\n//\n// Invariants\n//\n// Matrix input arguments to functions are never directly modified. If an operation\n// changes Matrix data, the mutated matrix will be the receiver of a function.\n//\n// For convenience, a matrix may be used as both a receiver and as an input, e.g.\n//  a.Pow(a, 6)\n//  v.SolveVec(a.T(), v)\n// though in many cases this will cause an allocation (see Element Aliasing).\n// An exception to this rule is Copy, which does not allow a.Copy(a.T()).\n//\n// Element Aliasing\n//\n// Most methods in mat modify receiver data. It is forbidden for the modified\n// data region of the receiver to overlap the used data area of the input\n// arguments. The exception to this rule is when the method receiver is equal to one\n// of the input arguments, as in the a.Pow(a, 6) call above, or its implicit transpose.\n//\n// This prohibition is to help avoid subtle mistakes when the method needs to read\n// from and write to the same data region. There are ways to make mistakes using the\n// mat API, and mat functions will detect and complain about those.\n// There are many ways to make mistakes by excursion from the mat API via\n// interaction with raw matrix values.\n//\n// If you need to read the rest of this section to understand the behavior of\n// your program, you are being clever. Don't be clever. If you must be clever,\n// blas64 and lapack64 may be used to call the behavior directly.\n//\n// mat will use the following rules to detect overlap between the receiver and one\n// of the inputs:\n//  - the input implements one of the Raw methods, and\n//  - the address ranges of the backing data slices overlap, and\n//  - the strides differ or there is an overlap in the used data elements.\n// If such an overlap is detected, the method will panic.\n//\n// The following cases will not panic:\n//  - the data slices do not overlap,\n//  - there is pointer identity between the receiver and input values after\n//    the value has been untransposed if necessary.\n//\n// mat will not attempt to detect element overlap if the input does not implement a\n// Raw method. Method behavior is undefined if there is undetected overlap.\n//\npackage mat // import \"gonum.org/v1/gonum/mat\"\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/eigen.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"gonum.org/v1/gonum/lapack\"\n\t\"gonum.org/v1/gonum/lapack/lapack64\"\n)\n\nconst (\n\tbadFact   = \"mat: use without successful factorization\"\n\tbadNoVect = \"mat: eigenvectors not computed\"\n)\n\n// EigenSym is a type for creating and manipulating the Eigen decomposition of\n// symmetric matrices.\ntype EigenSym struct {\n\tvectorsComputed bool\n\n\tvalues  []float64\n\tvectors *Dense\n}\n\n// Factorize computes the eigenvalue decomposition of the symmetric matrix a.\n// The Eigen decomposition is defined as\n//  A = P * D * P^-1\n// where D is a diagonal matrix containing the eigenvalues of the matrix, and\n// P is a matrix of the eigenvectors of A. If the vectors input argument is\n// false, the eigenvectors are not computed.\n//\n// Factorize returns whether the decomposition succeeded. If the decomposition\n// failed, methods that require a successful factorization will panic.\nfunc (e *EigenSym) Factorize(a Symmetric, vectors bool) (ok bool) {\n\tn := a.Symmetric()\n\tsd := NewSymDense(n, nil)\n\tsd.CopySym(a)\n\n\tjobz := lapack.EVJob(lapack.None)\n\tif vectors {\n\t\tjobz = lapack.ComputeEV\n\t}\n\tw := make([]float64, n)\n\twork := []float64{0}\n\tlapack64.Syev(jobz, sd.mat, w, work, -1)\n\n\twork = getFloats(int(work[0]), false)\n\tok = lapack64.Syev(jobz, sd.mat, w, work, len(work))\n\tputFloats(work)\n\tif !ok {\n\t\te.vectorsComputed = false\n\t\te.values = nil\n\t\te.vectors = nil\n\t\treturn false\n\t}\n\te.vectorsComputed = vectors\n\te.values = w\n\te.vectors = NewDense(n, n, sd.mat.Data)\n\treturn true\n}\n\n// succFact returns whether the receiver contains a successful factorization.\nfunc (e *EigenSym) succFact() bool {\n\treturn len(e.values) != 0\n}\n\n// Values extracts the eigenvalues of the factorized matrix. If dst is\n// non-nil, the values are stored in-place into dst. In this case\n// dst must have length n, otherwise Values will panic. If dst is\n// nil, then a new slice will be allocated of the proper length and filled\n// with the eigenvalues.\n//\n// Values panics if the Eigen decomposition was not successful.\nfunc (e *EigenSym) Values(dst []float64) []float64 {\n\tif !e.succFact() {\n\t\tpanic(badFact)\n\t}\n\tif dst == nil {\n\t\tdst = make([]float64, len(e.values))\n\t}\n\tif len(dst) != len(e.values) {\n\t\tpanic(ErrSliceLengthMismatch)\n\t}\n\tcopy(dst, e.values)\n\treturn dst\n}\n\n// EigenvectorsSym extracts the eigenvectors of the factorized matrix and stores\n// them in the receiver. Each eigenvector is a column corresponding to the\n// respective eigenvalue returned by e.Values.\n//\n// EigenvectorsSym panics if the factorization was not successful or if the\n// decomposition did not compute the eigenvectors.\nfunc (m *Dense) EigenvectorsSym(e *EigenSym) {\n\tif !e.succFact() {\n\t\tpanic(badFact)\n\t}\n\tif !e.vectorsComputed {\n\t\tpanic(badNoVect)\n\t}\n\tm.reuseAs(len(e.values), len(e.values))\n\tm.Copy(e.vectors)\n}\n\n// Eigen is a type for creating and using the eigenvalue decomposition of a dense matrix.\ntype Eigen struct {\n\tn int // The size of the factorized matrix.\n\n\tright bool // have the right eigenvectors been computed\n\tleft  bool // have the left eigenvectors been computed\n\n\tvalues   []complex128\n\trVectors *Dense\n\tlVectors *Dense\n}\n\n// succFact returns whether the receiver contains a successful factorization.\nfunc (e *Eigen) succFact() bool {\n\treturn len(e.values) != 0\n}\n\n// Factorize computes the eigenvalues of the square matrix a, and optionally\n// the eigenvectors.\n//\n// A right eigenvalue/eigenvector combination is defined by\n//  A * x_r = λ * x_r\n// where x_r is the column vector called an eigenvector, and λ is the corresponding\n// eigenvector.\n//\n// Similarly, a left eigenvalue/eigenvector combination is defined by\n//  x_l * A = λ * x_l\n// The eigenvalues, but not the eigenvectors, are the same for both decompositions.\n//\n// Typically eigenvectors refer to right eigenvectors.\n//\n// In all cases, Eigen computes the eigenvalues of the matrix. If right and left\n// are true, then the right and left eigenvectors will be computed, respectively.\n// Eigen panics if the input matrix is not square.\n//\n// Factorize returns whether the decomposition succeeded. If the decomposition\n// failed, methods that require a successful factorization will panic.\nfunc (e *Eigen) Factorize(a Matrix, left, right bool) (ok bool) {\n\t// TODO(btracey): Change implementation to store VecDenses as a *CMat when\n\t// #308 is resolved.\n\n\t// Copy a because it is modified during the Lapack call.\n\tr, c := a.Dims()\n\tif r != c {\n\t\tpanic(ErrShape)\n\t}\n\tvar sd Dense\n\tsd.Clone(a)\n\n\tvar vl, vr Dense\n\tvar jobvl lapack.LeftEVJob = lapack.None\n\tvar jobvr lapack.RightEVJob = lapack.None\n\tif left {\n\t\tvl = *NewDense(r, r, nil)\n\t\tjobvl = lapack.ComputeLeftEV\n\t}\n\tif right {\n\t\tvr = *NewDense(c, c, nil)\n\t\tjobvr = lapack.ComputeRightEV\n\t}\n\n\twr := getFloats(c, false)\n\tdefer putFloats(wr)\n\twi := getFloats(c, false)\n\tdefer putFloats(wi)\n\n\twork := []float64{0}\n\tlapack64.Geev(jobvl, jobvr, sd.mat, wr, wi, vl.mat, vr.mat, work, -1)\n\twork = getFloats(int(work[0]), false)\n\tfirst := lapack64.Geev(jobvl, jobvr, sd.mat, wr, wi, vl.mat, vr.mat, work, len(work))\n\tputFloats(work)\n\n\tif first != 0 {\n\t\te.values = nil\n\t\treturn false\n\t}\n\te.n = r\n\te.right = right\n\te.left = left\n\te.lVectors = &vl\n\te.rVectors = &vr\n\tvalues := make([]complex128, r)\n\tfor i, v := range wr {\n\t\tvalues[i] = complex(v, wi[i])\n\t}\n\te.values = values\n\treturn true\n}\n\n// Values extracts the eigenvalues of the factorized matrix. If dst is\n// non-nil, the values are stored in-place into dst. In this case\n// dst must have length n, otherwise Values will panic. If dst is\n// nil, then a new slice will be allocated of the proper length and\n// filed with the eigenvalues.\n//\n// Values panics if the Eigen decomposition was not successful.\nfunc (e *Eigen) Values(dst []complex128) []complex128 {\n\tif !e.succFact() {\n\t\tpanic(badFact)\n\t}\n\tif dst == nil {\n\t\tdst = make([]complex128, e.n)\n\t}\n\tif len(dst) != e.n {\n\t\tpanic(ErrSliceLengthMismatch)\n\t}\n\tcopy(dst, e.values)\n\treturn dst\n}\n\n// Vectors returns the right eigenvectors of the decomposition. Vectors\n// will panic if the right eigenvectors were not computed during the factorization,\n// or if the factorization was not successful.\n//\n// The returned matrix will contain the right eigenvectors of the decomposition\n// in the columns of the n×n matrix in the same order as their eigenvalues.\n// If the j-th eigenvalue is real, then\n//  u_j = VL[:,j],\n//  v_j = VR[:,j],\n// and if it is not real, then j and j+1 form a complex conjugate pair and the\n// eigenvectors can be recovered as\n//  u_j     = VL[:,j] + i*VL[:,j+1],\n//  u_{j+1} = VL[:,j] - i*VL[:,j+1],\n//  v_j     = VR[:,j] + i*VR[:,j+1],\n//  v_{j+1} = VR[:,j] - i*VR[:,j+1],\n// where i is the imaginary unit. The computed eigenvectors are normalized to\n// have Euclidean norm equal to 1 and largest component real.\n//\n// BUG: This signature and behavior will change when issue #308 is resolved.\nfunc (e *Eigen) Vectors() *Dense {\n\tif !e.succFact() {\n\t\tpanic(badFact)\n\t}\n\tif !e.right {\n\t\tpanic(badNoVect)\n\t}\n\treturn DenseCopyOf(e.rVectors)\n}\n\n// LeftVectors returns the left eigenvectors of the decomposition. LeftVectors\n// will panic if the left eigenvectors were not computed during the factorization.\n// or if the factorization was not successful.\n//\n// See the documentation in lapack64.Geev for the format of the vectors.\n//\n// BUG: This signature and behavior will change when issue #308 is resolved.\nfunc (e *Eigen) LeftVectors() *Dense {\n\tif !e.succFact() {\n\t\tpanic(badFact)\n\t}\n\tif !e.left {\n\t\tpanic(badNoVect)\n\t}\n\treturn DenseCopyOf(e.lVectors)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/errors.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"fmt\"\n\t\"runtime\"\n\n\t\"gonum.org/v1/gonum/lapack\"\n)\n\n// Condition is the condition number of a matrix. The condition\n// number is defined as |A| * |A^-1|.\n//\n// One important use of Condition is during linear solve routines (finding x such\n// that A * x = b). The condition number of A indicates the accuracy of\n// the computed solution. A Condition error will be returned if the condition\n// number of A is sufficiently large. If A is exactly singular to working precision,\n// Condition == ∞, and the solve algorithm may have completed early. If Condition\n// is large and finite the solve algorithm will be performed, but the computed\n// solution may be innacurate. Due to the nature of finite precision arithmetic,\n// the value of Condition is only an approximate test of singularity.\ntype Condition float64\n\nfunc (c Condition) Error() string {\n\treturn fmt.Sprintf(\"matrix singular or near-singular with condition number %.4e\", c)\n}\n\n// ConditionTolerance is the tolerance limit of the condition number. If the\n// condition number is above this value, the matrix is considered singular.\nconst ConditionTolerance = 1e16\n\nconst (\n\t// CondNorm is the matrix norm used for computing the condition number by routines\n\t// in the matrix packages.\n\tCondNorm = lapack.MaxRowSum\n\n\t// CondNormTrans is the norm used to compute on A^T to get the same result as\n\t// computing CondNorm on A.\n\tCondNormTrans = lapack.MaxColumnSum\n)\n\nconst stackTraceBufferSize = 1 << 20\n\n// Maybe will recover a panic with a type mat.Error from fn, and return this error\n// as the Err field of an ErrorStack. The stack trace for the panicking function will be\n// recovered and placed in the StackTrace field. Any other error is re-panicked.\nfunc Maybe(fn func()) (err error) {\n\tdefer func() {\n\t\tif r := recover(); r != nil {\n\t\t\tif e, ok := r.(Error); ok {\n\t\t\t\tif e.string == \"\" {\n\t\t\t\t\tpanic(\"mat: invalid error\")\n\t\t\t\t}\n\t\t\t\tbuf := make([]byte, stackTraceBufferSize)\n\t\t\t\tn := runtime.Stack(buf, false)\n\t\t\t\terr = ErrorStack{Err: e, StackTrace: string(buf[:n])}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tpanic(r)\n\t\t}\n\t}()\n\tfn()\n\treturn\n}\n\n// MaybeFloat will recover a panic with a type mat.Error from fn, and return this error\n// as the Err field of an ErrorStack. The stack trace for the panicking function will be\n// recovered and placed in the StackTrace field. Any other error is re-panicked.\nfunc MaybeFloat(fn func() float64) (f float64, err error) {\n\tdefer func() {\n\t\tif r := recover(); r != nil {\n\t\t\tif e, ok := r.(Error); ok {\n\t\t\t\tif e.string == \"\" {\n\t\t\t\t\tpanic(\"mat: invalid error\")\n\t\t\t\t}\n\t\t\t\tbuf := make([]byte, stackTraceBufferSize)\n\t\t\t\tn := runtime.Stack(buf, false)\n\t\t\t\terr = ErrorStack{Err: e, StackTrace: string(buf[:n])}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tpanic(r)\n\t\t}\n\t}()\n\treturn fn(), nil\n}\n\n// MaybeComplex will recover a panic with a type mat.Error from fn, and return this error\n// as the Err field of an ErrorStack. The stack trace for the panicking function will be\n// recovered and placed in the StackTrace field. Any other error is re-panicked.\nfunc MaybeComplex(fn func() complex128) (f complex128, err error) {\n\tdefer func() {\n\t\tif r := recover(); r != nil {\n\t\t\tif e, ok := r.(Error); ok {\n\t\t\t\tif e.string == \"\" {\n\t\t\t\t\tpanic(\"mat: invalid error\")\n\t\t\t\t}\n\t\t\t\tbuf := make([]byte, stackTraceBufferSize)\n\t\t\t\tn := runtime.Stack(buf, false)\n\t\t\t\terr = ErrorStack{Err: e, StackTrace: string(buf[:n])}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tpanic(r)\n\t\t}\n\t}()\n\treturn fn(), nil\n}\n\n// Error represents matrix handling errors. These errors can be recovered by Maybe wrappers.\ntype Error struct{ string }\n\nfunc (err Error) Error() string { return err.string }\n\nvar (\n\tErrIndexOutOfRange     = Error{\"matrix: index out of range\"}\n\tErrRowAccess           = Error{\"matrix: row index out of range\"}\n\tErrColAccess           = Error{\"matrix: column index out of range\"}\n\tErrVectorAccess        = Error{\"matrix: vector index out of range\"}\n\tErrZeroLength          = Error{\"matrix: zero length in matrix definition\"}\n\tErrRowLength           = Error{\"matrix: row length mismatch\"}\n\tErrColLength           = Error{\"matrix: col length mismatch\"}\n\tErrSquare              = Error{\"matrix: expect square matrix\"}\n\tErrNormOrder           = Error{\"matrix: invalid norm order for matrix\"}\n\tErrSingular            = Error{\"matrix: matrix is singular\"}\n\tErrShape               = Error{\"matrix: dimension mismatch\"}\n\tErrIllegalStride       = Error{\"matrix: illegal stride\"}\n\tErrPivot               = Error{\"matrix: malformed pivot list\"}\n\tErrTriangle            = Error{\"matrix: triangular storage mismatch\"}\n\tErrTriangleSet         = Error{\"matrix: triangular set out of bounds\"}\n\tErrBandSet             = Error{\"matrix: band set out of bounds\"}\n\tErrSliceLengthMismatch = Error{\"matrix: input slice length mismatch\"}\n\tErrNotPSD              = Error{\"matrix: input not positive symmetric definite\"}\n\tErrFailedEigen         = Error{\"matrix: eigendecomposition not successful\"}\n)\n\n// ErrorStack represents matrix handling errors that have been recovered by Maybe wrappers.\ntype ErrorStack struct {\n\tErr error\n\n\t// StackTrace is the stack trace\n\t// recovered by Maybe, MaybeFloat\n\t// or MaybeComplex.\n\tStackTrace string\n}\n\nfunc (err ErrorStack) Error() string { return err.Err.Error() }\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/format.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n)\n\n// Formatted returns a fmt.Formatter for the matrix m using the given options.\nfunc Formatted(m Matrix, options ...FormatOption) fmt.Formatter {\n\tf := formatter{\n\t\tmatrix: m,\n\t\tdot:    '.',\n\t}\n\tfor _, o := range options {\n\t\to(&f)\n\t}\n\treturn f\n}\n\ntype formatter struct {\n\tmatrix  Matrix\n\tprefix  string\n\tmargin  int\n\tdot     byte\n\tsqueeze bool\n}\n\n// FormatOption is a functional option for matrix formatting.\ntype FormatOption func(*formatter)\n\n// Prefix sets the formatted prefix to the string p. Prefix is a string that is prepended to\n// each line of output.\nfunc Prefix(p string) FormatOption {\n\treturn func(f *formatter) { f.prefix = p }\n}\n\n// Excerpt sets the maximum number of rows and columns to print at the margins of the matrix\n// to m. If m is zero or less all elements are printed.\nfunc Excerpt(m int) FormatOption {\n\treturn func(f *formatter) { f.margin = m }\n}\n\n// DotByte sets the dot character to b. The dot character is used to replace zero elements\n// if the result is printed with the fmt ' ' verb flag. Without a DotByte option, the default\n// dot character is '.'.\nfunc DotByte(b byte) FormatOption {\n\treturn func(f *formatter) { f.dot = b }\n}\n\n// Squeeze sets the printing behaviour to minimise column width for each individual column.\nfunc Squeeze() FormatOption {\n\treturn func(f *formatter) { f.squeeze = true }\n}\n\n// Format satisfies the fmt.Formatter interface.\nfunc (f formatter) Format(fs fmt.State, c rune) {\n\tif c == 'v' && fs.Flag('#') {\n\t\tfmt.Fprintf(fs, \"%#v\", f.matrix)\n\t\treturn\n\t}\n\tformat(f.matrix, f.prefix, f.margin, f.dot, f.squeeze, fs, c)\n}\n\n// format prints a pretty representation of m to the fs io.Writer. The format character c\n// specifies the numerical representation of of elements; valid values are those for float64\n// specified in the fmt package, with their associated flags. In addition to this, a space\n// preceding a verb indicates that zero values should be represented by the dot character.\n// The printed range of the matrix can be limited by specifying a positive value for margin;\n// If margin is greater than zero, only the first and last margin rows/columns of the matrix\n// are output. If squeeze is true, column widths are determined on a per-column basis.\n//\n// format will not provide Go syntax output.\nfunc format(m Matrix, prefix string, margin int, dot byte, squeeze bool, fs fmt.State, c rune) {\n\trows, cols := m.Dims()\n\n\tvar printed int\n\tif margin <= 0 {\n\t\tprinted = rows\n\t\tif cols > printed {\n\t\t\tprinted = cols\n\t\t}\n\t} else {\n\t\tprinted = margin\n\t}\n\n\tprec, pOk := fs.Precision()\n\tif !pOk {\n\t\tprec = -1\n\t}\n\n\tvar (\n\t\tmaxWidth int\n\t\twidths   widther\n\t\tbuf, pad []byte\n\t)\n\tif squeeze {\n\t\twidths = make(columnWidth, cols)\n\t} else {\n\t\twidths = new(uniformWidth)\n\t}\n\tswitch c {\n\tcase 'v', 'e', 'E', 'f', 'F', 'g', 'G':\n\t\tif c == 'v' {\n\t\t\tbuf, maxWidth = maxCellWidth(m, 'g', printed, prec, widths)\n\t\t} else {\n\t\t\tbuf, maxWidth = maxCellWidth(m, c, printed, prec, widths)\n\t\t}\n\tdefault:\n\t\tfmt.Fprintf(fs, \"%%!%c(%T=Dims(%d, %d))\", c, m, rows, cols)\n\t\treturn\n\t}\n\twidth, _ := fs.Width()\n\twidth = max(width, maxWidth)\n\tpad = make([]byte, max(width, 2))\n\tfor i := range pad {\n\t\tpad[i] = ' '\n\t}\n\n\tfirst := true\n\tif rows > 2*printed || cols > 2*printed {\n\t\tfirst = false\n\t\tfmt.Fprintf(fs, \"Dims(%d, %d)\\n\", rows, cols)\n\t}\n\n\tskipZero := fs.Flag(' ')\n\tfor i := 0; i < rows; i++ {\n\t\tif !first {\n\t\t\tfmt.Fprint(fs, prefix)\n\t\t}\n\t\tfirst = false\n\t\tvar el string\n\t\tswitch {\n\t\tcase rows == 1:\n\t\t\tfmt.Fprint(fs, \"[\")\n\t\t\tel = \"]\"\n\t\tcase i == 0:\n\t\t\tfmt.Fprint(fs, \"⎡\")\n\t\t\tel = \"⎤\\n\"\n\t\tcase i < rows-1:\n\t\t\tfmt.Fprint(fs, \"⎢\")\n\t\t\tel = \"⎥\\n\"\n\t\tdefault:\n\t\t\tfmt.Fprint(fs, \"⎣\")\n\t\t\tel = \"⎦\"\n\t\t}\n\n\t\tfor j := 0; j < cols; j++ {\n\t\t\tif j >= printed && j < cols-printed {\n\t\t\t\tj = cols - printed - 1\n\t\t\t\tif i == 0 || i == rows-1 {\n\t\t\t\t\tfmt.Fprint(fs, \"...  ...  \")\n\t\t\t\t} else {\n\t\t\t\t\tfmt.Fprint(fs, \"          \")\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tv := m.At(i, j)\n\t\t\tif v == 0 && skipZero {\n\t\t\t\tbuf = buf[:1]\n\t\t\t\tbuf[0] = dot\n\t\t\t} else {\n\t\t\t\tif c == 'v' {\n\t\t\t\t\tbuf = strconv.AppendFloat(buf[:0], v, 'g', prec, 64)\n\t\t\t\t} else {\n\t\t\t\t\tbuf = strconv.AppendFloat(buf[:0], v, byte(c), prec, 64)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif fs.Flag('-') {\n\t\t\t\tfs.Write(buf)\n\t\t\t\tfs.Write(pad[:widths.width(j)-len(buf)])\n\t\t\t} else {\n\t\t\t\tfs.Write(pad[:widths.width(j)-len(buf)])\n\t\t\t\tfs.Write(buf)\n\t\t\t}\n\n\t\t\tif j < cols-1 {\n\t\t\t\tfs.Write(pad[:2])\n\t\t\t}\n\t\t}\n\n\t\tfmt.Fprint(fs, el)\n\n\t\tif i >= printed-1 && i < rows-printed && 2*printed < rows {\n\t\t\ti = rows - printed - 1\n\t\t\tfmt.Fprintf(fs, \"%s .\\n%[1]s .\\n%[1]s .\\n\", prefix)\n\t\t\tcontinue\n\t\t}\n\t}\n}\n\nfunc maxCellWidth(m Matrix, c rune, printed, prec int, w widther) ([]byte, int) {\n\tvar (\n\t\tbuf        = make([]byte, 0, 64)\n\t\trows, cols = m.Dims()\n\t\tmax        int\n\t)\n\tfor i := 0; i < rows; i++ {\n\t\tif i >= printed-1 && i < rows-printed && 2*printed < rows {\n\t\t\ti = rows - printed - 1\n\t\t\tcontinue\n\t\t}\n\t\tfor j := 0; j < cols; j++ {\n\t\t\tif j >= printed && j < cols-printed {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tbuf = strconv.AppendFloat(buf, m.At(i, j), byte(c), prec, 64)\n\t\t\tif len(buf) > max {\n\t\t\t\tmax = len(buf)\n\t\t\t}\n\t\t\tif len(buf) > w.width(j) {\n\t\t\t\tw.setWidth(j, len(buf))\n\t\t\t}\n\t\t\tbuf = buf[:0]\n\t\t}\n\t}\n\treturn buf, max\n}\n\ntype widther interface {\n\twidth(i int) int\n\tsetWidth(i, w int)\n}\n\ntype uniformWidth int\n\nfunc (u *uniformWidth) width(_ int) int   { return int(*u) }\nfunc (u *uniformWidth) setWidth(_, w int) { *u = uniformWidth(w) }\n\ntype columnWidth []int\n\nfunc (c columnWidth) width(i int) int   { return c[i] }\nfunc (c columnWidth) setWidth(i, w int) { c[i] = w }\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/gsvd.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/floats\"\n\t\"gonum.org/v1/gonum/lapack\"\n\t\"gonum.org/v1/gonum/lapack/lapack64\"\n)\n\n// GSVD is a type for creating and using the Generalized Singular Value Decomposition\n// (GSVD) of a matrix.\n//\n// The factorization is a linear transformation of the data sets from the given\n// variable×sample spaces to reduced and diagonalized \"eigenvariable\"×\"eigensample\"\n// spaces.\ntype GSVD struct {\n\tkind GSVDKind\n\n\tr, p, c, k, l int\n\ts1, s2        []float64\n\ta, b, u, v, q blas64.General\n\n\twork  []float64\n\tiwork []int\n}\n\n// Factorize computes the generalized singular value decomposition (GSVD) of the input\n// the r×c matrix A and the p×c matrix B. The singular values of A and B are computed\n// in all cases, while the singular vectors are optionally computed depending on the\n// input kind.\n//\n// The full singular value decomposition (kind == GSVDU|GSVDV|GSVDQ) deconstructs A and B as\n//  A = U * Σ₁ * [ 0 R ] * Q^T\n//\n//  B = V * Σ₂ * [ 0 R ] * Q^T\n// where Σ₁ and Σ₂ are r×(k+l) and p×(k+l) diagonal matrices of singular values, and\n// U, V and Q are r×r, p×p and c×c orthogonal matrices of singular vectors. k+l is the\n// effective numerical rank of the matrix [ A^T B^T ]^T.\n//\n// It is frequently not necessary to compute the full GSVD. Computation time and\n// storage costs can be reduced using the appropriate kind. Either only the singular\n// values can be computed (kind == SVDNone), or in conjunction with specific singular\n// vectors (kind bit set according to matrix.GSVDU, matrix.GSVDV and matrix.GSVDQ).\n//\n// Factorize returns whether the decomposition succeeded. If the decomposition\n// failed, routines that require a successful factorization will panic.\nfunc (gsvd *GSVD) Factorize(a, b Matrix, kind GSVDKind) (ok bool) {\n\tr, c := a.Dims()\n\tgsvd.r, gsvd.c = r, c\n\tp, c := b.Dims()\n\tgsvd.p = p\n\tif gsvd.c != c {\n\t\tpanic(ErrShape)\n\t}\n\tvar jobU, jobV, jobQ lapack.GSVDJob\n\tswitch {\n\tdefault:\n\t\tpanic(\"gsvd: bad input kind\")\n\tcase kind == GSVDNone:\n\t\tjobU = lapack.GSVDNone\n\t\tjobV = lapack.GSVDNone\n\t\tjobQ = lapack.GSVDNone\n\tcase (GSVDU|GSVDV|GSVDQ)&kind != 0:\n\t\tif GSVDU&kind != 0 {\n\t\t\tjobU = lapack.GSVDU\n\t\t\tgsvd.u = blas64.General{\n\t\t\t\tRows:   r,\n\t\t\t\tCols:   r,\n\t\t\t\tStride: r,\n\t\t\t\tData:   use(gsvd.u.Data, r*r),\n\t\t\t}\n\t\t}\n\t\tif GSVDV&kind != 0 {\n\t\t\tjobV = lapack.GSVDV\n\t\t\tgsvd.v = blas64.General{\n\t\t\t\tRows:   p,\n\t\t\t\tCols:   p,\n\t\t\t\tStride: p,\n\t\t\t\tData:   use(gsvd.v.Data, p*p),\n\t\t\t}\n\t\t}\n\t\tif GSVDQ&kind != 0 {\n\t\t\tjobQ = lapack.GSVDQ\n\t\t\tgsvd.q = blas64.General{\n\t\t\t\tRows:   c,\n\t\t\t\tCols:   c,\n\t\t\t\tStride: c,\n\t\t\t\tData:   use(gsvd.q.Data, c*c),\n\t\t\t}\n\t\t}\n\t}\n\n\t// A and B are destroyed on call, so copy the matrices.\n\taCopy := DenseCopyOf(a)\n\tbCopy := DenseCopyOf(b)\n\n\tgsvd.s1 = use(gsvd.s1, c)\n\tgsvd.s2 = use(gsvd.s2, c)\n\n\tgsvd.iwork = useInt(gsvd.iwork, c)\n\n\tgsvd.work = use(gsvd.work, 1)\n\tlapack64.Ggsvd3(jobU, jobV, jobQ, aCopy.mat, bCopy.mat, gsvd.s1, gsvd.s2, gsvd.u, gsvd.v, gsvd.q, gsvd.work, -1, gsvd.iwork)\n\tgsvd.work = use(gsvd.work, int(gsvd.work[0]))\n\tgsvd.k, gsvd.l, ok = lapack64.Ggsvd3(jobU, jobV, jobQ, aCopy.mat, bCopy.mat, gsvd.s1, gsvd.s2, gsvd.u, gsvd.v, gsvd.q, gsvd.work, len(gsvd.work), gsvd.iwork)\n\tif ok {\n\t\tgsvd.a = aCopy.mat\n\t\tgsvd.b = bCopy.mat\n\t\tgsvd.kind = kind\n\t}\n\treturn ok\n}\n\n// Kind returns the matrix.GSVDKind of the decomposition. If no decomposition has been\n// computed, Kind returns 0.\nfunc (gsvd *GSVD) Kind() GSVDKind {\n\treturn gsvd.kind\n}\n\n// Rank returns the k and l terms of the rank of [ A^T B^T ]^T.\nfunc (gsvd *GSVD) Rank() (k, l int) {\n\treturn gsvd.k, gsvd.l\n}\n\n// GeneralizedValues returns the generalized singular values of the factorized matrices.\n// If the input slice is non-nil, the values will be stored in-place into the slice.\n// In this case, the slice must have length min(r,c)-k, and GeneralizedValues will\n// panic with matrix.ErrSliceLengthMismatch otherwise. If the input slice is nil,\n// a new slice of the appropriate length will be allocated and returned.\n//\n// GeneralizedValues will panic if the receiver does not contain a successful factorization.\nfunc (gsvd *GSVD) GeneralizedValues(v []float64) []float64 {\n\tif gsvd.kind == 0 {\n\t\tpanic(\"gsvd: no decomposition computed\")\n\t}\n\tr := gsvd.r\n\tc := gsvd.c\n\tk := gsvd.k\n\td := min(r, c)\n\tif v == nil {\n\t\tv = make([]float64, d-k)\n\t}\n\tif len(v) != d-k {\n\t\tpanic(ErrSliceLengthMismatch)\n\t}\n\tfloats.DivTo(v, gsvd.s1[k:d], gsvd.s2[k:d])\n\treturn v\n}\n\n// ValuesA returns the singular values of the factorized A matrix.\n// If the input slice is non-nil, the values will be stored in-place into the slice.\n// In this case, the slice must have length min(r,c)-k, and ValuesA will panic with\n// matrix.ErrSliceLengthMismatch otherwise. If the input slice is nil,\n// a new slice of the appropriate length will be allocated and returned.\n//\n// ValuesA will panic if the receiver does not contain a successful factorization.\nfunc (gsvd *GSVD) ValuesA(s []float64) []float64 {\n\tif gsvd.kind == 0 {\n\t\tpanic(\"gsvd: no decomposition computed\")\n\t}\n\tr := gsvd.r\n\tc := gsvd.c\n\tk := gsvd.k\n\td := min(r, c)\n\tif s == nil {\n\t\ts = make([]float64, d-k)\n\t}\n\tif len(s) != d-k {\n\t\tpanic(ErrSliceLengthMismatch)\n\t}\n\tcopy(s, gsvd.s1[k:min(r, c)])\n\treturn s\n}\n\n// ValuesB returns the singular values of the factorized B matrix.\n// If the input slice is non-nil, the values will be stored in-place into the slice.\n// In this case, the slice must have length min(r,c)-k, and ValuesB will panic with\n// matrix.ErrSliceLengthMismatch otherwise. If the input slice is nil,\n// a new slice of the appropriate length will be allocated and returned.\n//\n// ValuesB will panic if the receiver does not contain a successful factorization.\nfunc (gsvd *GSVD) ValuesB(s []float64) []float64 {\n\tif gsvd.kind == 0 {\n\t\tpanic(\"gsvd: no decomposition computed\")\n\t}\n\tr := gsvd.r\n\tc := gsvd.c\n\tk := gsvd.k\n\td := min(r, c)\n\tif s == nil {\n\t\ts = make([]float64, d-k)\n\t}\n\tif len(s) != d-k {\n\t\tpanic(ErrSliceLengthMismatch)\n\t}\n\tcopy(s, gsvd.s2[k:d])\n\treturn s\n}\n\n// ZeroRTo extracts the matrix [ 0 R ] from the singular value decomposition, storing\n// the result in-place into dst. [ 0 R ] is size (k+l)×c.\n// If dst is nil, a new matrix is allocated. The resulting ZeroR matrix is returned.\n//\n// ZeroRTo will panic if the receiver does not contain a successful factorization.\nfunc (gsvd *GSVD) ZeroRTo(dst *Dense) *Dense {\n\tif gsvd.kind == 0 {\n\t\tpanic(\"gsvd: no decomposition computed\")\n\t}\n\tr := gsvd.r\n\tc := gsvd.c\n\tk := gsvd.k\n\tl := gsvd.l\n\th := min(k+l, r)\n\tif dst == nil {\n\t\tdst = NewDense(k+l, c, nil)\n\t} else {\n\t\tdst.reuseAsZeroed(k+l, c)\n\t}\n\ta := Dense{\n\t\tmat:     gsvd.a,\n\t\tcapRows: r,\n\t\tcapCols: c,\n\t}\n\tdst.Slice(0, h, c-k-l, c).(*Dense).\n\t\tCopy(a.Slice(0, h, c-k-l, c))\n\tif r < k+l {\n\t\tb := Dense{\n\t\t\tmat:     gsvd.b,\n\t\t\tcapRows: gsvd.p,\n\t\t\tcapCols: c,\n\t\t}\n\t\tdst.Slice(r, k+l, c+r-k-l, c).(*Dense).\n\t\t\tCopy(b.Slice(r-k, l, c+r-k-l, c))\n\t}\n\treturn dst\n}\n\n// SigmaATo extracts the matrix Σ₁ from the singular value decomposition, storing\n// the result in-place into dst. Σ₁ is size r×(k+l).\n// If dst is nil, a new matrix is allocated. The resulting SigmaA matrix is returned.\n//\n// SigmaATo will panic if the receiver does not contain a successful factorization.\nfunc (gsvd *GSVD) SigmaATo(dst *Dense) *Dense {\n\tif gsvd.kind == 0 {\n\t\tpanic(\"gsvd: no decomposition computed\")\n\t}\n\tr := gsvd.r\n\tk := gsvd.k\n\tl := gsvd.l\n\tif dst == nil {\n\t\tdst = NewDense(r, k+l, nil)\n\t} else {\n\t\tdst.reuseAsZeroed(r, k+l)\n\t}\n\tfor i := 0; i < k; i++ {\n\t\tdst.set(i, i, 1)\n\t}\n\tfor i := k; i < min(r, k+l); i++ {\n\t\tdst.set(i, i, gsvd.s1[i])\n\t}\n\treturn dst\n}\n\n// SigmaBTo extracts the matrix Σ₂ from the singular value decomposition, storing\n// the result in-place into dst. Σ₂ is size p×(k+l).\n// If dst is nil, a new matrix is allocated. The resulting SigmaB matrix is returned.\n//\n// SigmaBTo will panic if the receiver does not contain a successful factorization.\nfunc (gsvd *GSVD) SigmaBTo(dst *Dense) *Dense {\n\tif gsvd.kind == 0 {\n\t\tpanic(\"gsvd: no decomposition computed\")\n\t}\n\tr := gsvd.r\n\tp := gsvd.p\n\tk := gsvd.k\n\tl := gsvd.l\n\tif dst == nil {\n\t\tdst = NewDense(p, k+l, nil)\n\t} else {\n\t\tdst.reuseAsZeroed(p, k+l)\n\t}\n\tfor i := 0; i < min(l, r-k); i++ {\n\t\tdst.set(i, i+k, gsvd.s2[k+i])\n\t}\n\tfor i := r - k; i < l; i++ {\n\t\tdst.set(i, i+k, 1)\n\t}\n\treturn dst\n}\n\n// UTo extracts the matrix U from the singular value decomposition, storing\n// the result in-place into dst. U is size r×r.\n// If dst is nil, a new matrix is allocated. The resulting U matrix is returned.\n//\n// UTo will panic if the receiver does not contain a successful factorization.\nfunc (gsvd *GSVD) UTo(dst *Dense) *Dense {\n\tif gsvd.kind&GSVDU == 0 {\n\t\tpanic(\"mat: improper GSVD kind\")\n\t}\n\tr := gsvd.u.Rows\n\tc := gsvd.u.Cols\n\tif dst == nil {\n\t\tdst = NewDense(r, c, nil)\n\t} else {\n\t\tdst.reuseAs(r, c)\n\t}\n\n\ttmp := &Dense{\n\t\tmat:     gsvd.u,\n\t\tcapRows: r,\n\t\tcapCols: c,\n\t}\n\tdst.Copy(tmp)\n\treturn dst\n}\n\n// VTo extracts the matrix V from the singular value decomposition, storing\n// the result in-place into dst. V is size p×p.\n// If dst is nil, a new matrix is allocated. The resulting V matrix is returned.\n//\n// VTo will panic if the receiver does not contain a successful factorization.\nfunc (gsvd *GSVD) VTo(dst *Dense) *Dense {\n\tif gsvd.kind&GSVDV == 0 {\n\t\tpanic(\"mat: improper GSVD kind\")\n\t}\n\tr := gsvd.v.Rows\n\tc := gsvd.v.Cols\n\tif dst == nil {\n\t\tdst = NewDense(r, c, nil)\n\t} else {\n\t\tdst.reuseAs(r, c)\n\t}\n\n\ttmp := &Dense{\n\t\tmat:     gsvd.v,\n\t\tcapRows: r,\n\t\tcapCols: c,\n\t}\n\tdst.Copy(tmp)\n\treturn dst\n}\n\n// QTo extracts the matrix Q from the singular value decomposition, storing\n// the result in-place into dst. Q is size c×c.\n// If dst is nil, a new matrix is allocated. The resulting Q matrix is returned.\n//\n// QTo will panic if the receiver does not contain a successful factorization.\nfunc (gsvd *GSVD) QTo(dst *Dense) *Dense {\n\tif gsvd.kind&GSVDQ == 0 {\n\t\tpanic(\"mat: improper GSVD kind\")\n\t}\n\tr := gsvd.q.Rows\n\tc := gsvd.q.Cols\n\tif dst == nil {\n\t\tdst = NewDense(r, c, nil)\n\t} else {\n\t\tdst.reuseAs(r, c)\n\t}\n\n\ttmp := &Dense{\n\t\tmat:     gsvd.q,\n\t\tcapRows: r,\n\t\tcapCols: c,\n\t}\n\tdst.Copy(tmp)\n\treturn dst\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/hogsvd.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"errors\"\n\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\n// HOGSVD is a type for creating and using the Higher Order Generalized Singular Value\n// Decomposition (HOGSVD) of a set of matrices.\n//\n// The factorization is a linear transformation of the data sets from the given\n// variable×sample spaces to reduced and diagonalized \"eigenvariable\"×\"eigensample\"\n// spaces.\ntype HOGSVD struct {\n\tn int\n\tv *Dense\n\tb []Dense\n\n\terr error\n}\n\n// Factorize computes the higher order generalized singular value decomposition (HOGSVD)\n// of the n input r_i×c column tall matrices in m. HOGSV extends the GSVD case from 2 to n\n// input matrices.\n//\n//  M_0 = U_0 * Σ_0 * V^T\n//  M_1 = U_1 * Σ_1 * V^T\n//  .\n//  .\n//  .\n//  M_{n-1} = U_{n-1} * Σ_{n-1} * V^T\n//\n// where U_i are r_i×c matrices of singular vectors, Σ are c×c matrices singular values, and V\n// is a c×c matrix of singular vectors.\n//\n// Factorize returns whether the decomposition succeeded. If the decomposition\n// failed, routines that require a successful factorization will panic.\nfunc (gsvd *HOGSVD) Factorize(m ...Matrix) (ok bool) {\n\t// Factorize performs the HOGSVD factorisation\n\t// essentially as described by Ponnapalli et al.\n\t// https://doi.org/10.1371/journal.pone.0028072\n\n\tif len(m) < 2 {\n\t\tpanic(\"hogsvd: too few matrices\")\n\t}\n\tgsvd.n = 0\n\n\tr, c := m[0].Dims()\n\ta := make([]Cholesky, len(m))\n\tvar ts SymDense\n\tfor i, d := range m {\n\t\trd, cd := d.Dims()\n\t\tif rd < cd {\n\t\t\tgsvd.err = ErrShape\n\t\t\treturn false\n\t\t}\n\t\tif rd > r {\n\t\t\tr = rd\n\t\t}\n\t\tif cd != c {\n\t\t\tpanic(ErrShape)\n\t\t}\n\t\tts.Reset()\n\t\tts.SymOuterK(1, d.T())\n\t\tok = a[i].Factorize(&ts)\n\t\tif !ok {\n\t\t\tgsvd.err = errors.New(\"hogsvd: cholesky decomposition failed\")\n\t\t\treturn false\n\t\t}\n\t}\n\n\ts := getWorkspace(c, c, true)\n\tdefer putWorkspace(s)\n\tsij := getWorkspace(c, c, false)\n\tdefer putWorkspace(sij)\n\tfor i, ai := range a {\n\t\tfor _, aj := range a[i+1:] {\n\t\t\tgsvd.err = ai.SolveChol(sij, &aj)\n\t\t\tif gsvd.err != nil {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\ts.Add(s, sij)\n\n\t\t\tgsvd.err = aj.SolveChol(sij, &ai)\n\t\t\tif gsvd.err != nil {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\ts.Add(s, sij)\n\t\t}\n\t}\n\ts.Scale(1/float64(len(m)*(len(m)-1)), s)\n\n\tvar eig Eigen\n\tok = eig.Factorize(s.T(), false, true)\n\tif !ok {\n\t\tgsvd.err = errors.New(\"hogsvd: eigen decomposition failed\")\n\t\treturn false\n\t}\n\tv := eig.Vectors()\n\tvar cv VecDense\n\tfor j := 0; j < c; j++ {\n\t\tcv.ColViewOf(v, j)\n\t\tcv.ScaleVec(1/blas64.Nrm2(c, cv.mat), &cv)\n\t}\n\n\tb := make([]Dense, len(m))\n\tbiT := getWorkspace(c, r, false)\n\tdefer putWorkspace(biT)\n\tfor i, d := range m {\n\t\t// All calls to reset will leave a zeroed\n\t\t// matrix with capacity to store the result\n\t\t// without additional allocation.\n\t\tbiT.Reset()\n\t\tgsvd.err = biT.Solve(v, d.T())\n\t\tif gsvd.err != nil {\n\t\t\treturn false\n\t\t}\n\t\tb[i].Clone(biT.T())\n\t}\n\n\tgsvd.n = len(m)\n\tgsvd.v = v\n\tgsvd.b = b\n\treturn true\n}\n\n// Err returns the reason for a factorization failure.\nfunc (gsvd *HOGSVD) Err() error {\n\treturn gsvd.err\n}\n\n// Len returns the number of matrices that have been factorized. If Len returns\n// zero, the factorization was not successful.\nfunc (gsvd *HOGSVD) Len() int {\n\treturn gsvd.n\n}\n\n// UTo extracts the matrix U_n from the singular value decomposition, storing\n// the result in-place into dst. U_n is size r×c.\n// If dst is nil, a new matrix is allocated. The resulting U matrix is returned.\n//\n// UTo will panic if the receiver does not contain a successful factorization.\nfunc (gsvd *HOGSVD) UTo(dst *Dense, n int) *Dense {\n\tif gsvd.n == 0 {\n\t\tpanic(\"hogsvd: unsuccessful factorization\")\n\t}\n\tif n < 0 || gsvd.n <= n {\n\t\tpanic(\"hogsvd: invalid index\")\n\t}\n\n\tif dst == nil {\n\t\tr, c := gsvd.b[n].Dims()\n\t\tdst = NewDense(r, c, nil)\n\t} else {\n\t\tdst.reuseAs(gsvd.b[n].Dims())\n\t}\n\tdst.Copy(&gsvd.b[n])\n\tvar v VecDense\n\tfor j, f := range gsvd.Values(nil, n) {\n\t\tv.ColViewOf(dst, j)\n\t\tv.ScaleVec(1/f, &v)\n\t}\n\treturn dst\n}\n\n// Values returns the nth set of singular values of the factorized system.\n// If the input slice is non-nil, the values will be stored in-place into the slice.\n// In this case, the slice must have length c, and Values will panic with\n// matrix.ErrSliceLengthMismatch otherwise. If the input slice is nil,\n// a new slice of the appropriate length will be allocated and returned.\n//\n// Values will panic if the receiver does not contain a successful factorization.\nfunc (gsvd *HOGSVD) Values(s []float64, n int) []float64 {\n\tif gsvd.n == 0 {\n\t\tpanic(\"hogsvd: unsuccessful factorization\")\n\t}\n\tif n < 0 || gsvd.n <= n {\n\t\tpanic(\"hogsvd: invalid index\")\n\t}\n\n\tr, c := gsvd.b[n].Dims()\n\tif s == nil {\n\t\ts = make([]float64, c)\n\t} else if len(s) != c {\n\t\tpanic(ErrSliceLengthMismatch)\n\t}\n\tvar v VecDense\n\tfor j := 0; j < c; j++ {\n\t\tv.ColViewOf(&gsvd.b[n], j)\n\t\ts[j] = blas64.Nrm2(r, v.mat)\n\t}\n\treturn s\n}\n\n// VTo extracts the matrix V from the singular value decomposition, storing\n// the result in-place into dst. V is size c×c.\n// If dst is nil, a new matrix is allocated. The resulting V matrix is returned.\n//\n// VTo will panic if the receiver does not contain a successful factorization.\nfunc (gsvd *HOGSVD) VTo(dst *Dense) *Dense {\n\tif gsvd.n == 0 {\n\t\tpanic(\"hogsvd: unsuccessful factorization\")\n\t}\n\tif dst == nil {\n\t\tr, c := gsvd.v.Dims()\n\t\tdst = NewDense(r, c, nil)\n\t} else {\n\t\tdst.reuseAs(gsvd.v.Dims())\n\t}\n\tdst.Copy(gsvd.v)\n\treturn dst\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/index_bound_checks.go",
    "content": "// Copyright ©2014 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// This file must be kept in sync with index_no_bound_checks.go.\n\n//+build bounds\n\npackage mat\n\n// At returns the element at row i, column j.\nfunc (m *Dense) At(i, j int) float64 {\n\treturn m.at(i, j)\n}\n\nfunc (m *Dense) at(i, j int) float64 {\n\tif uint(i) >= uint(m.mat.Rows) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(m.mat.Cols) {\n\t\tpanic(ErrColAccess)\n\t}\n\treturn m.mat.Data[i*m.mat.Stride+j]\n}\n\n// Set sets the element at row i, column j to the value v.\nfunc (m *Dense) Set(i, j int, v float64) {\n\tm.set(i, j, v)\n}\n\nfunc (m *Dense) set(i, j int, v float64) {\n\tif uint(i) >= uint(m.mat.Rows) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(m.mat.Cols) {\n\t\tpanic(ErrColAccess)\n\t}\n\tm.mat.Data[i*m.mat.Stride+j] = v\n}\n\n// At returns the element at row i.\n// It panics if i is out of bounds or if j is not zero.\nfunc (v *VecDense) At(i, j int) float64 {\n\tif j != 0 {\n\t\tpanic(ErrColAccess)\n\t}\n\treturn v.at(i)\n}\n\n// AtVec returns the element at row i.\n// It panics if i is out of bounds.\nfunc (v *VecDense) AtVec(i int) float64 {\n\treturn v.at(i)\n}\n\nfunc (v *VecDense) at(i int) float64 {\n\tif uint(i) >= uint(v.n) {\n\t\tpanic(ErrRowAccess)\n\t}\n\treturn v.mat.Data[i*v.mat.Inc]\n}\n\n// SetVec sets the element at row i to the value val.\n// It panics if i is out of bounds.\nfunc (v *VecDense) SetVec(i int, val float64) {\n\tv.setVec(i, val)\n}\n\nfunc (v *VecDense) setVec(i int, val float64) {\n\tif uint(i) >= uint(v.n) {\n\t\tpanic(ErrVectorAccess)\n\t}\n\tv.mat.Data[i*v.mat.Inc] = val\n}\n\n// At returns the element at row i and column j.\nfunc (t *SymDense) At(i, j int) float64 {\n\treturn t.at(i, j)\n}\n\nfunc (t *SymDense) at(i, j int) float64 {\n\tif uint(i) >= uint(t.mat.N) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(t.mat.N) {\n\t\tpanic(ErrColAccess)\n\t}\n\tif i > j {\n\t\ti, j = j, i\n\t}\n\treturn t.mat.Data[i*t.mat.Stride+j]\n}\n\n// SetSym sets the elements at (i,j) and (j,i) to the value v.\nfunc (t *SymDense) SetSym(i, j int, v float64) {\n\tt.set(i, j, v)\n}\n\nfunc (t *SymDense) set(i, j int, v float64) {\n\tif uint(i) >= uint(t.mat.N) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(t.mat.N) {\n\t\tpanic(ErrColAccess)\n\t}\n\tif i > j {\n\t\ti, j = j, i\n\t}\n\tt.mat.Data[i*t.mat.Stride+j] = v\n}\n\n// At returns the element at row i, column j.\nfunc (t *TriDense) At(i, j int) float64 {\n\treturn t.at(i, j)\n}\n\nfunc (t *TriDense) at(i, j int) float64 {\n\tif uint(i) >= uint(t.mat.N) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(t.mat.N) {\n\t\tpanic(ErrColAccess)\n\t}\n\tisUpper := t.isUpper()\n\tif (isUpper && i > j) || (!isUpper && i < j) {\n\t\treturn 0\n\t}\n\treturn t.mat.Data[i*t.mat.Stride+j]\n}\n\n// SetTri sets the element of the triangular matrix at row i, column j to the value v.\n// It panics if the location is outside the appropriate half of the matrix.\nfunc (t *TriDense) SetTri(i, j int, v float64) {\n\tt.set(i, j, v)\n}\n\nfunc (t *TriDense) set(i, j int, v float64) {\n\tif uint(i) >= uint(t.mat.N) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(t.mat.N) {\n\t\tpanic(ErrColAccess)\n\t}\n\tisUpper := t.isUpper()\n\tif (isUpper && i > j) || (!isUpper && i < j) {\n\t\tpanic(ErrTriangleSet)\n\t}\n\tt.mat.Data[i*t.mat.Stride+j] = v\n}\n\n// At returns the element at row i, column j.\nfunc (b *BandDense) At(i, j int) float64 {\n\treturn b.at(i, j)\n}\n\nfunc (b *BandDense) at(i, j int) float64 {\n\tif uint(i) >= uint(b.mat.Rows) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(b.mat.Cols) {\n\t\tpanic(ErrColAccess)\n\t}\n\tpj := j + b.mat.KL - i\n\tif pj < 0 || b.mat.KL+b.mat.KU+1 <= pj {\n\t\treturn 0\n\t}\n\treturn b.mat.Data[i*b.mat.Stride+pj]\n}\n\n// SetBand sets the element at row i, column j to the value v.\n// It panics if the location is outside the appropriate region of the matrix.\nfunc (b *BandDense) SetBand(i, j int, v float64) {\n\tb.set(i, j, v)\n}\n\nfunc (b *BandDense) set(i, j int, v float64) {\n\tif uint(i) >= uint(b.mat.Rows) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(b.mat.Cols) {\n\t\tpanic(ErrColAccess)\n\t}\n\tpj := j + b.mat.KL - i\n\tif pj < 0 || b.mat.KL+b.mat.KU+1 <= pj {\n\t\tpanic(ErrBandSet)\n\t}\n\tb.mat.Data[i*b.mat.Stride+pj] = v\n}\n\n// At returns the element at row i, column j.\nfunc (s *SymBandDense) At(i, j int) float64 {\n\treturn s.at(i, j)\n}\n\nfunc (s *SymBandDense) at(i, j int) float64 {\n\tif uint(i) >= uint(s.mat.N) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(s.mat.N) {\n\t\tpanic(ErrColAccess)\n\t}\n\tif i > j {\n\t\ti, j = j, i\n\t}\n\tpj := j - i\n\tif s.mat.K+1 <= pj {\n\t\treturn 0\n\t}\n\treturn s.mat.Data[i*s.mat.Stride+pj]\n}\n\n// SetSymBand sets the element at row i, column j to the value v.\n// It panics if the location is outside the appropriate region of the matrix.\nfunc (s *SymBandDense) SetSymBand(i, j int, v float64) {\n\ts.set(i, j, v)\n}\n\nfunc (s *SymBandDense) set(i, j int, v float64) {\n\tif uint(i) >= uint(s.mat.N) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(s.mat.N) {\n\t\tpanic(ErrColAccess)\n\t}\n\tif i > j {\n\t\ti, j = j, i\n\t}\n\tpj := j - i\n\tif s.mat.K+1 <= pj {\n\t\tpanic(ErrBandSet)\n\t}\n\ts.mat.Data[i*s.mat.Stride+pj] = v\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/index_no_bound_checks.go",
    "content": "// Copyright ©2014 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// This file must be kept in sync with index_bound_checks.go.\n\n//+build !bounds\n\npackage mat\n\n// At returns the element at row i, column j.\nfunc (m *Dense) At(i, j int) float64 {\n\tif uint(i) >= uint(m.mat.Rows) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(m.mat.Cols) {\n\t\tpanic(ErrColAccess)\n\t}\n\treturn m.at(i, j)\n}\n\nfunc (m *Dense) at(i, j int) float64 {\n\treturn m.mat.Data[i*m.mat.Stride+j]\n}\n\n// Set sets the element at row i, column j to the value v.\nfunc (m *Dense) Set(i, j int, v float64) {\n\tif uint(i) >= uint(m.mat.Rows) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(m.mat.Cols) {\n\t\tpanic(ErrColAccess)\n\t}\n\tm.set(i, j, v)\n}\n\nfunc (m *Dense) set(i, j int, v float64) {\n\tm.mat.Data[i*m.mat.Stride+j] = v\n}\n\n// At returns the element at row i.\n// It panics if i is out of bounds or if j is not zero.\nfunc (v *VecDense) At(i, j int) float64 {\n\tif uint(i) >= uint(v.n) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif j != 0 {\n\t\tpanic(ErrColAccess)\n\t}\n\treturn v.at(i)\n}\n\n// AtVec returns the element at row i.\n// It panics if i is out of bounds.\nfunc (v *VecDense) AtVec(i int) float64 {\n\tif uint(i) >= uint(v.n) {\n\t\tpanic(ErrRowAccess)\n\t}\n\treturn v.at(i)\n}\n\nfunc (v *VecDense) at(i int) float64 {\n\treturn v.mat.Data[i*v.mat.Inc]\n}\n\n// SetVec sets the element at row i to the value val.\n// It panics if i is out of bounds.\nfunc (v *VecDense) SetVec(i int, val float64) {\n\tif uint(i) >= uint(v.n) {\n\t\tpanic(ErrVectorAccess)\n\t}\n\tv.setVec(i, val)\n}\n\nfunc (v *VecDense) setVec(i int, val float64) {\n\tv.mat.Data[i*v.mat.Inc] = val\n}\n\n// At returns the element at row i and column j.\nfunc (s *SymDense) At(i, j int) float64 {\n\tif uint(i) >= uint(s.mat.N) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(s.mat.N) {\n\t\tpanic(ErrColAccess)\n\t}\n\treturn s.at(i, j)\n}\n\nfunc (s *SymDense) at(i, j int) float64 {\n\tif i > j {\n\t\ti, j = j, i\n\t}\n\treturn s.mat.Data[i*s.mat.Stride+j]\n}\n\n// SetSym sets the elements at (i,j) and (j,i) to the value v.\nfunc (s *SymDense) SetSym(i, j int, v float64) {\n\tif uint(i) >= uint(s.mat.N) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(s.mat.N) {\n\t\tpanic(ErrColAccess)\n\t}\n\ts.set(i, j, v)\n}\n\nfunc (s *SymDense) set(i, j int, v float64) {\n\tif i > j {\n\t\ti, j = j, i\n\t}\n\ts.mat.Data[i*s.mat.Stride+j] = v\n}\n\n// At returns the element at row i, column j.\nfunc (t *TriDense) At(i, j int) float64 {\n\tif uint(i) >= uint(t.mat.N) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(t.mat.N) {\n\t\tpanic(ErrColAccess)\n\t}\n\treturn t.at(i, j)\n}\n\nfunc (t *TriDense) at(i, j int) float64 {\n\tisUpper := t.triKind()\n\tif (isUpper && i > j) || (!isUpper && i < j) {\n\t\treturn 0\n\t}\n\treturn t.mat.Data[i*t.mat.Stride+j]\n}\n\n// SetTri sets the element at row i, column j to the value v.\n// It panics if the location is outside the appropriate half of the matrix.\nfunc (t *TriDense) SetTri(i, j int, v float64) {\n\tif uint(i) >= uint(t.mat.N) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(t.mat.N) {\n\t\tpanic(ErrColAccess)\n\t}\n\tisUpper := t.isUpper()\n\tif (isUpper && i > j) || (!isUpper && i < j) {\n\t\tpanic(ErrTriangleSet)\n\t}\n\tt.set(i, j, v)\n}\n\nfunc (t *TriDense) set(i, j int, v float64) {\n\tt.mat.Data[i*t.mat.Stride+j] = v\n}\n\n// At returns the element at row i, column j.\nfunc (b *BandDense) At(i, j int) float64 {\n\tif uint(i) >= uint(b.mat.Rows) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(b.mat.Cols) {\n\t\tpanic(ErrColAccess)\n\t}\n\treturn b.at(i, j)\n}\n\nfunc (b *BandDense) at(i, j int) float64 {\n\tpj := j + b.mat.KL - i\n\tif pj < 0 || b.mat.KL+b.mat.KU+1 <= pj {\n\t\treturn 0\n\t}\n\treturn b.mat.Data[i*b.mat.Stride+pj]\n}\n\n// SetBand sets the element at row i, column j to the value v.\n// It panics if the location is outside the appropriate region of the matrix.\nfunc (b *BandDense) SetBand(i, j int, v float64) {\n\tif uint(i) >= uint(b.mat.Rows) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(b.mat.Cols) {\n\t\tpanic(ErrColAccess)\n\t}\n\tpj := j + b.mat.KL - i\n\tif pj < 0 || b.mat.KL+b.mat.KU+1 <= pj {\n\t\tpanic(ErrBandSet)\n\t}\n\tb.set(i, j, v)\n}\n\nfunc (b *BandDense) set(i, j int, v float64) {\n\tpj := j + b.mat.KL - i\n\tb.mat.Data[i*b.mat.Stride+pj] = v\n}\n\n// At returns the element at row i, column j.\nfunc (s *SymBandDense) At(i, j int) float64 {\n\tif uint(i) >= uint(s.mat.N) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(s.mat.N) {\n\t\tpanic(ErrColAccess)\n\t}\n\treturn s.at(i, j)\n}\n\nfunc (s *SymBandDense) at(i, j int) float64 {\n\tif i > j {\n\t\ti, j = j, i\n\t}\n\tpj := j - i\n\tif s.mat.K+1 <= pj {\n\t\treturn 0\n\t}\n\treturn s.mat.Data[i*s.mat.Stride+pj]\n}\n\n// SetSymBand sets the element at row i, column j to the value v.\n// It panics if the location is outside the appropriate region of the matrix.\nfunc (s *SymBandDense) SetSymBand(i, j int, v float64) {\n\tif uint(i) >= uint(s.mat.N) {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif uint(j) >= uint(s.mat.N) {\n\t\tpanic(ErrColAccess)\n\t}\n\ts.set(i, j, v)\n}\n\nfunc (s *SymBandDense) set(i, j int, v float64) {\n\tif i > j {\n\t\ti, j = j, i\n\t}\n\tpj := j - i\n\tif s.mat.K+1 <= pj {\n\t\tpanic(ErrBandSet)\n\t}\n\ts.mat.Data[i*s.mat.Stride+pj] = v\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/inner.go",
    "content": "// Copyright ©2014 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/internal/asm/f64\"\n)\n\n// Inner computes the generalized inner product\n//   x^T A y\n// between column vectors x and y with matrix A. This is only a true inner product if\n// A is symmetric positive definite, though the operation works for any matrix A.\n//\n// Inner panics if x.Len != m or y.Len != n when A is an m x n matrix.\nfunc Inner(x Vector, a Matrix, y Vector) float64 {\n\tm, n := a.Dims()\n\tif x.Len() != m {\n\t\tpanic(ErrShape)\n\t}\n\tif y.Len() != n {\n\t\tpanic(ErrShape)\n\t}\n\tif m == 0 || n == 0 {\n\t\treturn 0\n\t}\n\n\tvar sum float64\n\n\tswitch a := a.(type) {\n\tcase RawSymmetricer:\n\t\tamat := a.RawSymmetric()\n\t\tif amat.Uplo != blas.Upper {\n\t\t\t// Panic as a string not a mat.Error.\n\t\t\tpanic(badSymTriangle)\n\t\t}\n\t\tvar xmat, ymat blas64.Vector\n\t\tif xrv, ok := x.(RawVectorer); ok {\n\t\t\txmat = xrv.RawVector()\n\t\t} else {\n\t\t\tbreak\n\t\t}\n\t\tif yrv, ok := y.(RawVectorer); ok {\n\t\t\tymat = yrv.RawVector()\n\t\t} else {\n\t\t\tbreak\n\t\t}\n\t\tfor i := 0; i < x.Len(); i++ {\n\t\t\txi := x.AtVec(i)\n\t\t\tif xi != 0 {\n\t\t\t\tif ymat.Inc == 1 {\n\t\t\t\t\tsum += xi * f64.DotUnitary(\n\t\t\t\t\t\tamat.Data[i*amat.Stride+i:i*amat.Stride+n],\n\t\t\t\t\t\tymat.Data[i:],\n\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\tsum += xi * f64.DotInc(\n\t\t\t\t\t\tamat.Data[i*amat.Stride+i:i*amat.Stride+n],\n\t\t\t\t\t\tymat.Data[i*ymat.Inc:], uintptr(n-i),\n\t\t\t\t\t\t1, uintptr(ymat.Inc),\n\t\t\t\t\t\t0, 0,\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t\tyi := y.AtVec(i)\n\t\t\tif i != n-1 && yi != 0 {\n\t\t\t\tif xmat.Inc == 1 {\n\t\t\t\t\tsum += yi * f64.DotUnitary(\n\t\t\t\t\t\tamat.Data[i*amat.Stride+i+1:i*amat.Stride+n],\n\t\t\t\t\t\txmat.Data[i+1:],\n\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\tsum += yi * f64.DotInc(\n\t\t\t\t\t\tamat.Data[i*amat.Stride+i+1:i*amat.Stride+n],\n\t\t\t\t\t\txmat.Data[(i+1)*xmat.Inc:], uintptr(n-i-1),\n\t\t\t\t\t\t1, uintptr(xmat.Inc),\n\t\t\t\t\t\t0, 0,\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn sum\n\tcase RawMatrixer:\n\t\tamat := a.RawMatrix()\n\t\tvar ymat blas64.Vector\n\t\tif yrv, ok := y.(RawVectorer); ok {\n\t\t\tymat = yrv.RawVector()\n\t\t} else {\n\t\t\tbreak\n\t\t}\n\t\tfor i := 0; i < x.Len(); i++ {\n\t\t\txi := x.AtVec(i)\n\t\t\tif xi != 0 {\n\t\t\t\tif ymat.Inc == 1 {\n\t\t\t\t\tsum += xi * f64.DotUnitary(\n\t\t\t\t\t\tamat.Data[i*amat.Stride:i*amat.Stride+n],\n\t\t\t\t\t\tymat.Data,\n\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\tsum += xi * f64.DotInc(\n\t\t\t\t\t\tamat.Data[i*amat.Stride:i*amat.Stride+n],\n\t\t\t\t\t\tymat.Data, uintptr(n),\n\t\t\t\t\t\t1, uintptr(ymat.Inc),\n\t\t\t\t\t\t0, 0,\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn sum\n\t}\n\tfor i := 0; i < x.Len(); i++ {\n\t\txi := x.AtVec(i)\n\t\tfor j := 0; j < y.Len(); j++ {\n\t\t\tsum += xi * a.At(i, j) * y.AtVec(j)\n\t\t}\n\t}\n\treturn sum\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/io.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"encoding/binary\"\n\t\"errors\"\n\t\"io\"\n\t\"math\"\n)\n\nconst (\n\t// maxLen is the biggest slice/array len one can create on a 32/64b platform.\n\tmaxLen = int64(int(^uint(0) >> 1))\n)\n\nvar (\n\tsizeInt64   = binary.Size(int64(0))\n\tsizeFloat64 = binary.Size(float64(0))\n\n\terrTooBig    = errors.New(\"mat: resulting data slice too big\")\n\terrTooSmall  = errors.New(\"mat: input slice too small\")\n\terrBadBuffer = errors.New(\"mat: data buffer size mismatch\")\n\terrBadSize   = errors.New(\"mat: invalid dimension\")\n)\n\n// MarshalBinary encodes the receiver into a binary form and returns the result.\n//\n// Dense is little-endian encoded as follows:\n//   0 -  7  number of rows    (int64)\n//   8 - 15  number of columns (int64)\n//  16 - ..  matrix data elements (float64)\n//           [0,0] [0,1] ... [0,ncols-1]\n//           [1,0] [1,1] ... [1,ncols-1]\n//           ...\n//           [nrows-1,0] ... [nrows-1,ncols-1]\nfunc (m Dense) MarshalBinary() ([]byte, error) {\n\tbufLen := int64(m.mat.Rows)*int64(m.mat.Cols)*int64(sizeFloat64) + 2*int64(sizeInt64)\n\tif bufLen <= 0 {\n\t\t// bufLen is too big and has wrapped around.\n\t\treturn nil, errTooBig\n\t}\n\n\tp := 0\n\tbuf := make([]byte, bufLen)\n\tbinary.LittleEndian.PutUint64(buf[p:p+sizeInt64], uint64(m.mat.Rows))\n\tp += sizeInt64\n\tbinary.LittleEndian.PutUint64(buf[p:p+sizeInt64], uint64(m.mat.Cols))\n\tp += sizeInt64\n\n\tr, c := m.Dims()\n\tfor i := 0; i < r; i++ {\n\t\tfor j := 0; j < c; j++ {\n\t\t\tbinary.LittleEndian.PutUint64(buf[p:p+sizeFloat64], math.Float64bits(m.at(i, j)))\n\t\t\tp += sizeFloat64\n\t\t}\n\t}\n\n\treturn buf, nil\n}\n\n// MarshalBinaryTo encodes the receiver into a binary form and writes it into w.\n// MarshalBinaryTo returns the number of bytes written into w and an error, if any.\n//\n// See MarshalBinary for the on-disk layout.\nfunc (m Dense) MarshalBinaryTo(w io.Writer) (int, error) {\n\tvar n int\n\tvar buf [8]byte\n\tbinary.LittleEndian.PutUint64(buf[:], uint64(m.mat.Rows))\n\tnn, err := w.Write(buf[:])\n\tn += nn\n\tif err != nil {\n\t\treturn n, err\n\t}\n\tbinary.LittleEndian.PutUint64(buf[:], uint64(m.mat.Cols))\n\tnn, err = w.Write(buf[:])\n\tn += nn\n\tif err != nil {\n\t\treturn n, err\n\t}\n\n\tr, c := m.Dims()\n\tfor i := 0; i < r; i++ {\n\t\tfor j := 0; j < c; j++ {\n\t\t\tbinary.LittleEndian.PutUint64(buf[:], math.Float64bits(m.at(i, j)))\n\t\t\tnn, err = w.Write(buf[:])\n\t\t\tn += nn\n\t\t\tif err != nil {\n\t\t\t\treturn n, err\n\t\t\t}\n\t\t}\n\t}\n\n\treturn n, nil\n}\n\n// UnmarshalBinary decodes the binary form into the receiver.\n// It panics if the receiver is a non-zero Dense matrix.\n//\n// See MarshalBinary for the on-disk layout.\n//\n// Limited checks on the validity of the binary input are performed:\n//  - matrix.ErrShape is returned if the number of rows or columns is negative,\n//  - an error is returned if the resulting Dense matrix is too\n//  big for the current architecture (e.g. a 16GB matrix written by a\n//  64b application and read back from a 32b application.)\n// UnmarshalBinary does not limit the size of the unmarshaled matrix, and so\n// it should not be used on untrusted data.\nfunc (m *Dense) UnmarshalBinary(data []byte) error {\n\tif !m.IsZero() {\n\t\tpanic(\"mat: unmarshal into non-zero matrix\")\n\t}\n\n\tif len(data) < 2*sizeInt64 {\n\t\treturn errTooSmall\n\t}\n\n\tp := 0\n\trows := int64(binary.LittleEndian.Uint64(data[p : p+sizeInt64]))\n\tp += sizeInt64\n\tcols := int64(binary.LittleEndian.Uint64(data[p : p+sizeInt64]))\n\tp += sizeInt64\n\tif rows < 0 || cols < 0 {\n\t\treturn errBadSize\n\t}\n\n\tsize := rows * cols\n\tif int(size) < 0 || size > maxLen {\n\t\treturn errTooBig\n\t}\n\n\tif len(data) != int(size)*sizeFloat64+2*sizeInt64 {\n\t\treturn errBadBuffer\n\t}\n\n\tm.reuseAs(int(rows), int(cols))\n\tfor i := range m.mat.Data {\n\t\tm.mat.Data[i] = math.Float64frombits(binary.LittleEndian.Uint64(data[p : p+sizeFloat64]))\n\t\tp += sizeFloat64\n\t}\n\n\treturn nil\n}\n\n// UnmarshalBinaryFrom decodes the binary form into the receiver and returns\n// the number of bytes read and an error if any.\n// It panics if the receiver is a non-zero Dense matrix.\n//\n// See MarshalBinary for the on-disk layout.\n//\n// Limited checks on the validity of the binary input are performed:\n//  - matrix.ErrShape is returned if the number of rows or columns is negative,\n//  - an error is returned if the resulting Dense matrix is too\n//  big for the current architecture (e.g. a 16GB matrix written by a\n//  64b application and read back from a 32b application.)\n// UnmarshalBinary does not limit the size of the unmarshaled matrix, and so\n// it should not be used on untrusted data.\nfunc (m *Dense) UnmarshalBinaryFrom(r io.Reader) (int, error) {\n\tif !m.IsZero() {\n\t\tpanic(\"mat: unmarshal into non-zero matrix\")\n\t}\n\n\tvar (\n\t\tn   int\n\t\tbuf [8]byte\n\t)\n\tnn, err := readFull(r, buf[:])\n\tn += nn\n\tif err != nil {\n\t\treturn n, err\n\t}\n\trows := int64(binary.LittleEndian.Uint64(buf[:]))\n\n\tnn, err = readFull(r, buf[:])\n\tn += nn\n\tif err != nil {\n\t\treturn n, err\n\t}\n\tcols := int64(binary.LittleEndian.Uint64(buf[:]))\n\tif rows < 0 || cols < 0 {\n\t\treturn n, errBadSize\n\t}\n\n\tsize := rows * cols\n\tif int(size) < 0 || size > maxLen {\n\t\treturn n, errTooBig\n\t}\n\n\tm.reuseAs(int(rows), int(cols))\n\tfor i := range m.mat.Data {\n\t\tnn, err = readFull(r, buf[:])\n\t\tn += nn\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tm.mat.Data[i] = math.Float64frombits(binary.LittleEndian.Uint64(buf[:]))\n\t}\n\n\treturn n, nil\n}\n\n// MarshalBinary encodes the receiver into a binary form and returns the result.\n//\n// VecDense is little-endian encoded as follows:\n//   0 -  7  number of elements     (int64)\n//   8 - ..  vector's data elements (float64)\nfunc (v VecDense) MarshalBinary() ([]byte, error) {\n\tbufLen := int64(sizeInt64) + int64(v.n)*int64(sizeFloat64)\n\tif bufLen <= 0 {\n\t\t// bufLen is too big and has wrapped around.\n\t\treturn nil, errTooBig\n\t}\n\n\tp := 0\n\tbuf := make([]byte, bufLen)\n\tbinary.LittleEndian.PutUint64(buf[p:p+sizeInt64], uint64(v.n))\n\tp += sizeInt64\n\n\tfor i := 0; i < v.n; i++ {\n\t\tbinary.LittleEndian.PutUint64(buf[p:p+sizeFloat64], math.Float64bits(v.at(i)))\n\t\tp += sizeFloat64\n\t}\n\n\treturn buf, nil\n}\n\n// MarshalBinaryTo encodes the receiver into a binary form, writes it to w and\n// returns the number of bytes written and an error if any.\n//\n// See MarshalBainry for the on-disk format.\nfunc (v VecDense) MarshalBinaryTo(w io.Writer) (int, error) {\n\tvar (\n\t\tn   int\n\t\tbuf [8]byte\n\t)\n\n\tbinary.LittleEndian.PutUint64(buf[:], uint64(v.n))\n\tnn, err := w.Write(buf[:])\n\tn += nn\n\tif err != nil {\n\t\treturn n, err\n\t}\n\n\tfor i := 0; i < v.n; i++ {\n\t\tbinary.LittleEndian.PutUint64(buf[:], math.Float64bits(v.at(i)))\n\t\tnn, err = w.Write(buf[:])\n\t\tn += nn\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t}\n\n\treturn n, nil\n}\n\n// UnmarshalBinary decodes the binary form into the receiver.\n// It panics if the receiver is a non-zero VecDense.\n//\n// See MarshalBinary for the on-disk layout.\n//\n// Limited checks on the validity of the binary input are performed:\n//  - matrix.ErrShape is returned if the number of rows is negative,\n//  - an error is returned if the resulting VecDense is too\n//  big for the current architecture (e.g. a 16GB vector written by a\n//  64b application and read back from a 32b application.)\n// UnmarshalBinary does not limit the size of the unmarshaled vector, and so\n// it should not be used on untrusted data.\nfunc (v *VecDense) UnmarshalBinary(data []byte) error {\n\tif !v.IsZero() {\n\t\tpanic(\"mat: unmarshal into non-zero vector\")\n\t}\n\n\tp := 0\n\tn := int64(binary.LittleEndian.Uint64(data[p : p+sizeInt64]))\n\tp += sizeInt64\n\tif n < 0 {\n\t\treturn errBadSize\n\t}\n\tif n > maxLen {\n\t\treturn errTooBig\n\t}\n\tif len(data) != int(n)*sizeFloat64+sizeInt64 {\n\t\treturn errBadBuffer\n\t}\n\n\tv.reuseAs(int(n))\n\tfor i := range v.mat.Data {\n\t\tv.mat.Data[i] = math.Float64frombits(binary.LittleEndian.Uint64(data[p : p+sizeFloat64]))\n\t\tp += sizeFloat64\n\t}\n\n\treturn nil\n}\n\n// UnmarshalBinaryFrom decodes the binary form into the receiver, from the\n// io.Reader and returns the number of bytes read and an error if any.\n// It panics if the receiver is a non-zero VecDense.\n//\n// See MarshalBinary for the on-disk layout.\n// See UnmarshalBinary for the list of sanity checks performed on the input.\nfunc (v *VecDense) UnmarshalBinaryFrom(r io.Reader) (int, error) {\n\tif !v.IsZero() {\n\t\tpanic(\"mat: unmarshal into non-zero vector\")\n\t}\n\n\tvar (\n\t\tn   int\n\t\tbuf [8]byte\n\t)\n\tnn, err := readFull(r, buf[:])\n\tn += nn\n\tif err != nil {\n\t\treturn n, err\n\t}\n\tsz := int64(binary.LittleEndian.Uint64(buf[:]))\n\tif sz < 0 {\n\t\treturn n, errBadSize\n\t}\n\tif sz > maxLen {\n\t\treturn n, errTooBig\n\t}\n\n\tv.reuseAs(int(sz))\n\tfor i := range v.mat.Data {\n\t\tnn, err = readFull(r, buf[:])\n\t\tn += nn\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tv.mat.Data[i] = math.Float64frombits(binary.LittleEndian.Uint64(buf[:]))\n\t}\n\n\tif n != sizeInt64+int(sz)*sizeFloat64 {\n\t\treturn n, io.ErrUnexpectedEOF\n\t}\n\n\treturn n, nil\n}\n\n// readFull reads from r into buf until it has read len(buf).\n// It returns the number of bytes copied and an error if fewer bytes were read.\n// If an EOF happens after reading fewer than len(buf) bytes, io.ErrUnexpectedEOF is returned.\nfunc readFull(r io.Reader, buf []byte) (int, error) {\n\tvar n int\n\tvar err error\n\tfor n < len(buf) && err == nil {\n\t\tvar nn int\n\t\tnn, err = r.Read(buf[n:])\n\t\tn += nn\n\t}\n\tif n == len(buf) {\n\t\treturn n, nil\n\t}\n\tif err == io.EOF {\n\t\treturn n, io.ErrUnexpectedEOF\n\t}\n\treturn n, err\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/lq.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n\t\"gonum.org/v1/gonum/lapack/lapack64\"\n)\n\n// LQ is a type for creating and using the LQ factorization of a matrix.\ntype LQ struct {\n\tlq   *Dense\n\ttau  []float64\n\tcond float64\n}\n\nfunc (lq *LQ) updateCond(norm lapack.MatrixNorm) {\n\t// Since A = L*Q, and Q is orthogonal, we get for the condition number κ\n\t//  κ(A) := |A| |A^-1| = |L*Q| |(L*Q)^-1| = |L| |Q^T * L^-1|\n\t//        = |L| |L^-1| = κ(L),\n\t// where we used that fact that Q^-1 = Q^T. However, this assumes that\n\t// the matrix norm is invariant under orthogonal transformations which\n\t// is not the case for CondNorm. Hopefully the error is negligible: κ\n\t// is only a qualitative measure anyway.\n\tm := lq.lq.mat.Rows\n\twork := getFloats(3*m, false)\n\tiwork := getInts(m, false)\n\tl := lq.lq.asTriDense(m, blas.NonUnit, blas.Lower)\n\tv := lapack64.Trcon(norm, l.mat, work, iwork)\n\tlq.cond = 1 / v\n\tputFloats(work)\n\tputInts(iwork)\n}\n\n// Factorize computes the LQ factorization of an m×n matrix a where n <= m. The LQ\n// factorization always exists even if A is singular.\n//\n// The LQ decomposition is a factorization of the matrix A such that A = L * Q.\n// The matrix Q is an orthonormal n×n matrix, and L is an m×n upper triangular matrix.\n// L and Q can be extracted from the LTo and QTo methods.\nfunc (lq *LQ) Factorize(a Matrix) {\n\tlq.factorize(a, CondNorm)\n}\n\nfunc (lq *LQ) factorize(a Matrix, norm lapack.MatrixNorm) {\n\tm, n := a.Dims()\n\tif m > n {\n\t\tpanic(ErrShape)\n\t}\n\tk := min(m, n)\n\tif lq.lq == nil {\n\t\tlq.lq = &Dense{}\n\t}\n\tlq.lq.Clone(a)\n\twork := []float64{0}\n\tlq.tau = make([]float64, k)\n\tlapack64.Gelqf(lq.lq.mat, lq.tau, work, -1)\n\twork = getFloats(int(work[0]), false)\n\tlapack64.Gelqf(lq.lq.mat, lq.tau, work, len(work))\n\tputFloats(work)\n\tlq.updateCond(norm)\n}\n\n// Cond returns the condition number for the factorized matrix.\n// Cond will panic if the receiver does not contain a successful factorization.\nfunc (lq *LQ) Cond() float64 {\n\tif lq.lq == nil || lq.lq.IsZero() {\n\t\tpanic(\"lq: no decomposition computed\")\n\t}\n\treturn lq.cond\n}\n\n// TODO(btracey): Add in the \"Reduced\" forms for extracting the m×m orthogonal\n// and upper triangular matrices.\n\n// LTo extracts the m×n lower trapezoidal matrix from a LQ decomposition.\n// If dst is nil, a new matrix is allocated. The resulting L matrix is returned.\nfunc (lq *LQ) LTo(dst *Dense) *Dense {\n\tr, c := lq.lq.Dims()\n\tif dst == nil {\n\t\tdst = NewDense(r, c, nil)\n\t} else {\n\t\tdst.reuseAs(r, c)\n\t}\n\n\t// Disguise the LQ as a lower triangular.\n\tt := &TriDense{\n\t\tmat: blas64.Triangular{\n\t\t\tN:      r,\n\t\t\tStride: lq.lq.mat.Stride,\n\t\t\tData:   lq.lq.mat.Data,\n\t\t\tUplo:   blas.Lower,\n\t\t\tDiag:   blas.NonUnit,\n\t\t},\n\t\tcap: lq.lq.capCols,\n\t}\n\tdst.Copy(t)\n\n\tif r == c {\n\t\treturn dst\n\t}\n\t// Zero right of the triangular.\n\tfor i := 0; i < r; i++ {\n\t\tzero(dst.mat.Data[i*dst.mat.Stride+r : i*dst.mat.Stride+c])\n\t}\n\n\treturn dst\n}\n\n// QTo extracts the n×n orthonormal matrix Q from an LQ decomposition.\n// If dst is nil, a new matrix is allocated. The resulting Q matrix is returned.\nfunc (lq *LQ) QTo(dst *Dense) *Dense {\n\t_, c := lq.lq.Dims()\n\tif dst == nil {\n\t\tdst = NewDense(c, c, nil)\n\t} else {\n\t\tdst.reuseAsZeroed(c, c)\n\t}\n\tq := dst.mat\n\n\t// Set Q = I.\n\tldq := q.Stride\n\tfor i := 0; i < c; i++ {\n\t\tq.Data[i*ldq+i] = 1\n\t}\n\n\t// Construct Q from the elementary reflectors.\n\twork := []float64{0}\n\tlapack64.Ormlq(blas.Left, blas.NoTrans, lq.lq.mat, lq.tau, q, work, -1)\n\twork = getFloats(int(work[0]), false)\n\tlapack64.Ormlq(blas.Left, blas.NoTrans, lq.lq.mat, lq.tau, q, work, len(work))\n\tputFloats(work)\n\n\treturn dst\n}\n\n// Solve finds a minimum-norm solution to a system of linear equations defined\n// by the matrices A and b, where A is an m×n matrix represented in its LQ factorized\n// form. If A is singular or near-singular a Condition error is returned.\n// See the documentation for Condition for more information.\n//\n// The minimization problem solved depends on the input parameters.\n//  If trans == false, find the minimum norm solution of A * X = b.\n//  If trans == true, find X such that ||A*X - b||_2 is minimized.\n// The solution matrix, X, is stored in place into m.\nfunc (lq *LQ) Solve(m *Dense, trans bool, b Matrix) error {\n\tr, c := lq.lq.Dims()\n\tbr, bc := b.Dims()\n\n\t// The LQ solve algorithm stores the result in-place into the right hand side.\n\t// The storage for the answer must be large enough to hold both b and x.\n\t// However, this method's receiver must be the size of x. Copy b, and then\n\t// copy the result into m at the end.\n\tif trans {\n\t\tif c != br {\n\t\t\tpanic(ErrShape)\n\t\t}\n\t\tm.reuseAs(r, bc)\n\t} else {\n\t\tif r != br {\n\t\t\tpanic(ErrShape)\n\t\t}\n\t\tm.reuseAs(c, bc)\n\t}\n\t// Do not need to worry about overlap between m and b because x has its own\n\t// independent storage.\n\tx := getWorkspace(max(r, c), bc, false)\n\tx.Copy(b)\n\tt := lq.lq.asTriDense(lq.lq.mat.Rows, blas.NonUnit, blas.Lower).mat\n\tif trans {\n\t\twork := []float64{0}\n\t\tlapack64.Ormlq(blas.Left, blas.NoTrans, lq.lq.mat, lq.tau, x.mat, work, -1)\n\t\twork = getFloats(int(work[0]), false)\n\t\tlapack64.Ormlq(blas.Left, blas.NoTrans, lq.lq.mat, lq.tau, x.mat, work, len(work))\n\t\tputFloats(work)\n\n\t\tok := lapack64.Trtrs(blas.Trans, t, x.mat)\n\t\tif !ok {\n\t\t\treturn Condition(math.Inf(1))\n\t\t}\n\t} else {\n\t\tok := lapack64.Trtrs(blas.NoTrans, t, x.mat)\n\t\tif !ok {\n\t\t\treturn Condition(math.Inf(1))\n\t\t}\n\t\tfor i := r; i < c; i++ {\n\t\t\tzero(x.mat.Data[i*x.mat.Stride : i*x.mat.Stride+bc])\n\t\t}\n\t\twork := []float64{0}\n\t\tlapack64.Ormlq(blas.Left, blas.Trans, lq.lq.mat, lq.tau, x.mat, work, -1)\n\t\twork = getFloats(int(work[0]), false)\n\t\tlapack64.Ormlq(blas.Left, blas.Trans, lq.lq.mat, lq.tau, x.mat, work, len(work))\n\t\tputFloats(work)\n\t}\n\t// M was set above to be the correct size for the result.\n\tm.Copy(x)\n\tputWorkspace(x)\n\tif lq.cond > ConditionTolerance {\n\t\treturn Condition(lq.cond)\n\t}\n\treturn nil\n}\n\n// SolveVec finds a minimum-norm solution to a system of linear equations.\n// See LQ.Solve for the full documentation.\nfunc (lq *LQ) SolveVec(v *VecDense, trans bool, b Vector) error {\n\tr, c := lq.lq.Dims()\n\tif _, bc := b.Dims(); bc != 1 {\n\t\tpanic(ErrShape)\n\t}\n\n\t// The Solve implementation is non-trivial, so rather than duplicate the code,\n\t// instead recast the VecDenses as Dense and call the matrix code.\n\tbm := Matrix(b)\n\tif rv, ok := b.(RawVectorer); ok {\n\t\tbmat := rv.RawVector()\n\t\tif v != b {\n\t\t\tv.checkOverlap(bmat)\n\t\t}\n\t\tb := VecDense{mat: bmat, n: b.Len()}\n\t\tbm = b.asDense()\n\t}\n\tif trans {\n\t\tv.reuseAs(r)\n\t} else {\n\t\tv.reuseAs(c)\n\t}\n\treturn lq.Solve(v.asDense(), trans, bm)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/lu.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/floats\"\n\t\"gonum.org/v1/gonum/lapack\"\n\t\"gonum.org/v1/gonum/lapack/lapack64\"\n)\n\nconst badSliceLength = \"mat: improper slice length\"\n\n// LU is a type for creating and using the LU factorization of a matrix.\ntype LU struct {\n\tlu    *Dense\n\tpivot []int\n\tcond  float64\n}\n\n// updateCond updates the stored condition number of the matrix. anorm is the\n// norm of the original matrix. If anorm is negative it will be estimated.\nfunc (lu *LU) updateCond(anorm float64, norm lapack.MatrixNorm) {\n\tn := lu.lu.mat.Cols\n\twork := getFloats(4*n, false)\n\tdefer putFloats(work)\n\tiwork := getInts(n, false)\n\tdefer putInts(iwork)\n\tif anorm < 0 {\n\t\t// This is an approximation. By the definition of a norm,\n\t\t//  |AB| <= |A| |B|.\n\t\t// Since A = L*U, we get for the condition number κ that\n\t\t//  κ(A) := |A| |A^-1| = |L*U| |A^-1| <= |L| |U| |A^-1|,\n\t\t// so this will overestimate the condition number somewhat.\n\t\t// The norm of the original factorized matrix cannot be stored\n\t\t// because of update possibilities.\n\t\tu := lu.lu.asTriDense(n, blas.NonUnit, blas.Upper)\n\t\tl := lu.lu.asTriDense(n, blas.Unit, blas.Lower)\n\t\tunorm := lapack64.Lantr(norm, u.mat, work)\n\t\tlnorm := lapack64.Lantr(norm, l.mat, work)\n\t\tanorm = unorm * lnorm\n\t}\n\tv := lapack64.Gecon(norm, lu.lu.mat, anorm, work, iwork)\n\tlu.cond = 1 / v\n}\n\n// Factorize computes the LU factorization of the square matrix a and stores the\n// result. The LU decomposition will complete regardless of the singularity of a.\n//\n// The LU factorization is computed with pivoting, and so really the decomposition\n// is a PLU decomposition where P is a permutation matrix. The individual matrix\n// factors can be extracted from the factorization using the Permutation method\n// on Dense, and the LU LTo and UTo methods.\nfunc (lu *LU) Factorize(a Matrix) {\n\tlu.factorize(a, CondNorm)\n}\n\nfunc (lu *LU) factorize(a Matrix, norm lapack.MatrixNorm) {\n\tr, c := a.Dims()\n\tif r != c {\n\t\tpanic(ErrSquare)\n\t}\n\tif lu.lu == nil {\n\t\tlu.lu = NewDense(r, r, nil)\n\t} else {\n\t\tlu.lu.Reset()\n\t\tlu.lu.reuseAs(r, r)\n\t}\n\tlu.lu.Copy(a)\n\tif cap(lu.pivot) < r {\n\t\tlu.pivot = make([]int, r)\n\t}\n\tlu.pivot = lu.pivot[:r]\n\twork := getFloats(r, false)\n\tanorm := lapack64.Lange(norm, lu.lu.mat, work)\n\tputFloats(work)\n\tlapack64.Getrf(lu.lu.mat, lu.pivot)\n\tlu.updateCond(anorm, norm)\n}\n\n// Cond returns the condition number for the factorized matrix.\n// Cond will panic if the receiver does not contain a successful factorization.\nfunc (lu *LU) Cond() float64 {\n\tif lu.lu == nil || lu.lu.IsZero() {\n\t\tpanic(\"lu: no decomposition computed\")\n\t}\n\treturn lu.cond\n}\n\n// Reset resets the factorization so that it can be reused as the receiver of a\n// dimensionally restricted operation.\nfunc (lu *LU) Reset() {\n\tif lu.lu != nil {\n\t\tlu.lu.Reset()\n\t}\n\tlu.pivot = lu.pivot[:0]\n}\n\nfunc (lu *LU) isZero() bool {\n\treturn len(lu.pivot) == 0\n}\n\n// Det returns the determinant of the matrix that has been factorized. In many\n// expressions, using LogDet will be more numerically stable.\nfunc (lu *LU) Det() float64 {\n\tdet, sign := lu.LogDet()\n\treturn math.Exp(det) * sign\n}\n\n// LogDet returns the log of the determinant and the sign of the determinant\n// for the matrix that has been factorized. Numerical stability in product and\n// division expressions is generally improved by working in log space.\nfunc (lu *LU) LogDet() (det float64, sign float64) {\n\t_, n := lu.lu.Dims()\n\tlogDiag := getFloats(n, false)\n\tdefer putFloats(logDiag)\n\tsign = 1.0\n\tfor i := 0; i < n; i++ {\n\t\tv := lu.lu.at(i, i)\n\t\tif v < 0 {\n\t\t\tsign *= -1\n\t\t}\n\t\tif lu.pivot[i] != i {\n\t\t\tsign *= -1\n\t\t}\n\t\tlogDiag[i] = math.Log(math.Abs(v))\n\t}\n\treturn floats.Sum(logDiag), sign\n}\n\n// Pivot returns pivot indices that enable the construction of the permutation\n// matrix P (see Dense.Permutation). If swaps == nil, then new memory will be\n// allocated, otherwise the length of the input must be equal to the size of the\n// factorized matrix.\nfunc (lu *LU) Pivot(swaps []int) []int {\n\t_, n := lu.lu.Dims()\n\tif swaps == nil {\n\t\tswaps = make([]int, n)\n\t}\n\tif len(swaps) != n {\n\t\tpanic(badSliceLength)\n\t}\n\t// Perform the inverse of the row swaps in order to find the final\n\t// row swap position.\n\tfor i := range swaps {\n\t\tswaps[i] = i\n\t}\n\tfor i := n - 1; i >= 0; i-- {\n\t\tv := lu.pivot[i]\n\t\tswaps[i], swaps[v] = swaps[v], swaps[i]\n\t}\n\treturn swaps\n}\n\n// RankOne updates an LU factorization as if a rank-one update had been applied to\n// the original matrix A, storing the result into the receiver. That is, if in\n// the original LU decomposition P * L * U = A, in the updated decomposition\n// P * L * U = A + alpha * x * y^T.\nfunc (lu *LU) RankOne(orig *LU, alpha float64, x, y *VecDense) {\n\t// RankOne uses algorithm a1 on page 28 of \"Multiple-Rank Updates to Matrix\n\t// Factorizations for Nonlinear Analysis and Circuit Design\" by Linzhong Deng.\n\t// http://web.stanford.edu/group/SOL/dissertations/Linzhong-Deng-thesis.pdf\n\t_, n := orig.lu.Dims()\n\tif x.Len() != n {\n\t\tpanic(ErrShape)\n\t}\n\tif y.Len() != n {\n\t\tpanic(ErrShape)\n\t}\n\tif orig != lu {\n\t\tif lu.isZero() {\n\t\t\tif cap(lu.pivot) < n {\n\t\t\t\tlu.pivot = make([]int, n)\n\t\t\t}\n\t\t\tlu.pivot = lu.pivot[:n]\n\t\t\tif lu.lu == nil {\n\t\t\t\tlu.lu = NewDense(n, n, nil)\n\t\t\t} else {\n\t\t\t\tlu.lu.reuseAs(n, n)\n\t\t\t}\n\t\t} else if len(lu.pivot) != n {\n\t\t\tpanic(ErrShape)\n\t\t}\n\t\tcopy(lu.pivot, orig.pivot)\n\t\tlu.lu.Copy(orig.lu)\n\t}\n\n\txs := getFloats(n, false)\n\tdefer putFloats(xs)\n\tys := getFloats(n, false)\n\tdefer putFloats(ys)\n\tfor i := 0; i < n; i++ {\n\t\txs[i] = x.at(i)\n\t\tys[i] = y.at(i)\n\t}\n\n\t// Adjust for the pivoting in the LU factorization\n\tfor i, v := range lu.pivot {\n\t\txs[i], xs[v] = xs[v], xs[i]\n\t}\n\n\tlum := lu.lu.mat\n\tomega := alpha\n\tfor j := 0; j < n; j++ {\n\t\tujj := lum.Data[j*lum.Stride+j]\n\t\tys[j] /= ujj\n\t\ttheta := 1 + xs[j]*ys[j]*omega\n\t\tbeta := omega * ys[j] / theta\n\t\tgamma := omega * xs[j]\n\t\tomega -= beta * gamma\n\t\tlum.Data[j*lum.Stride+j] *= theta\n\t\tfor i := j + 1; i < n; i++ {\n\t\t\txs[i] -= lum.Data[i*lum.Stride+j] * xs[j]\n\t\t\ttmp := ys[i]\n\t\t\tys[i] -= lum.Data[j*lum.Stride+i] * ys[j]\n\t\t\tlum.Data[i*lum.Stride+j] += beta * xs[i]\n\t\t\tlum.Data[j*lum.Stride+i] += gamma * tmp\n\t\t}\n\t}\n\tlu.updateCond(-1, CondNorm)\n}\n\n// LTo extracts the lower triangular matrix from an LU factorization.\n// If dst is nil, a new matrix is allocated. The resulting L matrix is returned.\nfunc (lu *LU) LTo(dst *TriDense) *TriDense {\n\t_, n := lu.lu.Dims()\n\tif dst == nil {\n\t\tdst = NewTriDense(n, Lower, nil)\n\t} else {\n\t\tdst.reuseAs(n, Lower)\n\t}\n\t// Extract the lower triangular elements.\n\tfor i := 0; i < n; i++ {\n\t\tfor j := 0; j < i; j++ {\n\t\t\tdst.mat.Data[i*dst.mat.Stride+j] = lu.lu.mat.Data[i*lu.lu.mat.Stride+j]\n\t\t}\n\t}\n\t// Set ones on the diagonal.\n\tfor i := 0; i < n; i++ {\n\t\tdst.mat.Data[i*dst.mat.Stride+i] = 1\n\t}\n\treturn dst\n}\n\n// UTo extracts the upper triangular matrix from an LU factorization.\n// If dst is nil, a new matrix is allocated. The resulting U matrix is returned.\nfunc (lu *LU) UTo(dst *TriDense) *TriDense {\n\t_, n := lu.lu.Dims()\n\tif dst == nil {\n\t\tdst = NewTriDense(n, Upper, nil)\n\t} else {\n\t\tdst.reuseAs(n, Upper)\n\t}\n\t// Extract the upper triangular elements.\n\tfor i := 0; i < n; i++ {\n\t\tfor j := i; j < n; j++ {\n\t\t\tdst.mat.Data[i*dst.mat.Stride+j] = lu.lu.mat.Data[i*lu.lu.mat.Stride+j]\n\t\t}\n\t}\n\treturn dst\n}\n\n// Permutation constructs an r×r permutation matrix with the given row swaps.\n// A permutation matrix has exactly one element equal to one in each row and column\n// and all other elements equal to zero. swaps[i] specifies the row with which\n// i will be swapped, which is equivalent to the non-zero column of row i.\nfunc (m *Dense) Permutation(r int, swaps []int) {\n\tm.reuseAs(r, r)\n\tfor i := 0; i < r; i++ {\n\t\tzero(m.mat.Data[i*m.mat.Stride : i*m.mat.Stride+r])\n\t\tv := swaps[i]\n\t\tif v < 0 || v >= r {\n\t\t\tpanic(ErrRowAccess)\n\t\t}\n\t\tm.mat.Data[i*m.mat.Stride+v] = 1\n\t}\n}\n\n// Solve solves a system of linear equations using the LU decomposition of a matrix.\n// It computes\n//  A * x = b if trans == false\n//  A^T * x = b if trans == true\n// In both cases, A is represented in LU factorized form, and the matrix x is\n// stored into m.\n//\n// If A is singular or near-singular a Condition error is returned. See\n// the documentation for Condition for more information.\nfunc (lu *LU) Solve(m *Dense, trans bool, b Matrix) error {\n\t_, n := lu.lu.Dims()\n\tbr, bc := b.Dims()\n\tif br != n {\n\t\tpanic(ErrShape)\n\t}\n\t// TODO(btracey): Should test the condition number instead of testing that\n\t// the determinant is exactly zero.\n\tif lu.Det() == 0 {\n\t\treturn Condition(math.Inf(1))\n\t}\n\n\tm.reuseAs(n, bc)\n\tbU, _ := untranspose(b)\n\tvar restore func()\n\tif m == bU {\n\t\tm, restore = m.isolatedWorkspace(bU)\n\t\tdefer restore()\n\t} else if rm, ok := bU.(RawMatrixer); ok {\n\t\tm.checkOverlap(rm.RawMatrix())\n\t}\n\n\tm.Copy(b)\n\tt := blas.NoTrans\n\tif trans {\n\t\tt = blas.Trans\n\t}\n\tlapack64.Getrs(t, lu.lu.mat, m.mat, lu.pivot)\n\tif lu.cond > ConditionTolerance {\n\t\treturn Condition(lu.cond)\n\t}\n\treturn nil\n}\n\n// SolveVec solves a system of linear equations using the LU decomposition of a matrix.\n// It computes\n//  A * x = b if trans == false\n//  A^T * x = b if trans == true\n// In both cases, A is represented in LU factorized form, and the matrix x is\n// stored into v.\n//\n// If A is singular or near-singular a Condition error is returned. See\n// the documentation for Condition for more information.\nfunc (lu *LU) SolveVec(v *VecDense, trans bool, b Vector) error {\n\t_, n := lu.lu.Dims()\n\tif br, bc := b.Dims(); br != n || bc != 1 {\n\t\tpanic(ErrShape)\n\t}\n\tswitch rv := b.(type) {\n\tdefault:\n\t\tv.reuseAs(n)\n\t\treturn lu.Solve(v.asDense(), trans, b)\n\tcase RawVectorer:\n\t\tif v != b {\n\t\t\tv.checkOverlap(rv.RawVector())\n\t\t}\n\t\t// TODO(btracey): Should test the condition number instead of testing that\n\t\t// the determinant is exactly zero.\n\t\tif lu.Det() == 0 {\n\t\t\treturn Condition(math.Inf(1))\n\t\t}\n\n\t\tv.reuseAs(n)\n\t\tvar restore func()\n\t\tif v == b {\n\t\t\tv, restore = v.isolatedWorkspace(b)\n\t\t\tdefer restore()\n\t\t}\n\t\tv.CopyVec(b)\n\t\tvMat := blas64.General{\n\t\t\tRows:   n,\n\t\t\tCols:   1,\n\t\t\tStride: v.mat.Inc,\n\t\t\tData:   v.mat.Data,\n\t\t}\n\t\tt := blas.NoTrans\n\t\tif trans {\n\t\t\tt = blas.Trans\n\t\t}\n\t\tlapack64.Getrs(t, lu.lu.mat, vMat, lu.pivot)\n\t\tif lu.cond > ConditionTolerance {\n\t\t\treturn Condition(lu.cond)\n\t\t}\n\t\treturn nil\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/matrix.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/floats\"\n\t\"gonum.org/v1/gonum/lapack\"\n\t\"gonum.org/v1/gonum/lapack/lapack64\"\n)\n\n// Matrix is the basic matrix interface type.\ntype Matrix interface {\n\t// Dims returns the dimensions of a Matrix.\n\tDims() (r, c int)\n\n\t// At returns the value of a matrix element at row i, column j.\n\t// It will panic if i or j are out of bounds for the matrix.\n\tAt(i, j int) float64\n\n\t// T returns the transpose of the Matrix. Whether T returns a copy of the\n\t// underlying data is implementation dependent.\n\t// This method may be implemented using the Transpose type, which\n\t// provides an implicit matrix transpose.\n\tT() Matrix\n}\n\nvar (\n\t_ Matrix       = Transpose{}\n\t_ Untransposer = Transpose{}\n)\n\n// Transpose is a type for performing an implicit matrix transpose. It implements\n// the Matrix interface, returning values from the transpose of the matrix within.\ntype Transpose struct {\n\tMatrix Matrix\n}\n\n// At returns the value of the element at row i and column j of the transposed\n// matrix, that is, row j and column i of the Matrix field.\nfunc (t Transpose) At(i, j int) float64 {\n\treturn t.Matrix.At(j, i)\n}\n\n// Dims returns the dimensions of the transposed matrix. The number of rows returned\n// is the number of columns in the Matrix field, and the number of columns is\n// the number of rows in the Matrix field.\nfunc (t Transpose) Dims() (r, c int) {\n\tc, r = t.Matrix.Dims()\n\treturn r, c\n}\n\n// T performs an implicit transpose by returning the Matrix field.\nfunc (t Transpose) T() Matrix {\n\treturn t.Matrix\n}\n\n// Untranspose returns the Matrix field.\nfunc (t Transpose) Untranspose() Matrix {\n\treturn t.Matrix\n}\n\n// Untransposer is a type that can undo an implicit transpose.\ntype Untransposer interface {\n\t// Note: This interface is needed to unify all of the Transpose types. In\n\t// the mat methods, we need to test if the Matrix has been implicitly\n\t// transposed. If this is checked by testing for the specific Transpose type\n\t// then the behavior will be different if the user uses T() or TTri() for a\n\t// triangular matrix.\n\n\t// Untranspose returns the underlying Matrix stored for the implicit transpose.\n\tUntranspose() Matrix\n}\n\n// UntransposeBander is a type that can undo an implicit band transpose.\ntype UntransposeBander interface {\n\t// Untranspose returns the underlying Banded stored for the implicit transpose.\n\tUntransposeBand() Banded\n}\n\n// UntransposeTrier is a type that can undo an implicit triangular transpose.\ntype UntransposeTrier interface {\n\t// Untranspose returns the underlying Triangular stored for the implicit transpose.\n\tUntransposeTri() Triangular\n}\n\n// Mutable is a matrix interface type that allows elements to be altered.\ntype Mutable interface {\n\t// Set alters the matrix element at row i, column j to v.\n\t// It will panic if i or j are out of bounds for the matrix.\n\tSet(i, j int, v float64)\n\n\tMatrix\n}\n\n// A RowViewer can return a Vector reflecting a row that is backed by the matrix\n// data. The Vector returned will have length equal to the number of columns.\ntype RowViewer interface {\n\tRowView(i int) Vector\n}\n\n// A RawRowViewer can return a slice of float64 reflecting a row that is backed by the matrix\n// data.\ntype RawRowViewer interface {\n\tRawRowView(i int) []float64\n}\n\n// A ColViewer can return a Vector reflecting a column that is backed by the matrix\n// data. The Vector returned will have length equal to the number of rows.\ntype ColViewer interface {\n\tColView(j int) Vector\n}\n\n// A RawColViewer can return a slice of float64 reflecting a column that is backed by the matrix\n// data.\ntype RawColViewer interface {\n\tRawColView(j int) []float64\n}\n\n// A Cloner can make a copy of a into the receiver, overwriting the previous value of the\n// receiver. The clone operation does not make any restriction on shape and will not cause\n// shadowing.\ntype Cloner interface {\n\tClone(a Matrix)\n}\n\n// A Reseter can reset the matrix so that it can be reused as the receiver of a dimensionally\n// restricted operation. This is commonly used when the matrix is being used as a workspace\n// or temporary matrix.\n//\n// If the matrix is a view, using the reset matrix may result in data corruption in elements\n// outside the view.\ntype Reseter interface {\n\tReset()\n}\n\n// A Copier can make a copy of elements of a into the receiver. The submatrix copied\n// starts at row and column 0 and has dimensions equal to the minimum dimensions of\n// the two matrices. The number of row and columns copied is returned.\n// Copy will copy from a source that aliases the receiver unless the source is transposed;\n// an aliasing transpose copy will panic with the exception for a special case when\n// the source data has a unitary increment or stride.\ntype Copier interface {\n\tCopy(a Matrix) (r, c int)\n}\n\n// A Grower can grow the size of the represented matrix by the given number of rows and columns.\n// Growing beyond the size given by the Caps method will result in the allocation of a new\n// matrix and copying of the elements. If Grow is called with negative increments it will\n// panic with ErrIndexOutOfRange.\ntype Grower interface {\n\tCaps() (r, c int)\n\tGrow(r, c int) Matrix\n}\n\n// A BandWidther represents a banded matrix and can return the left and right half-bandwidths, k1 and\n// k2.\ntype BandWidther interface {\n\tBandWidth() (k1, k2 int)\n}\n\n// A RawMatrixSetter can set the underlying blas64.General used by the receiver. There is no restriction\n// on the shape of the receiver. Changes to the receiver's elements will be reflected in the blas64.General.Data.\ntype RawMatrixSetter interface {\n\tSetRawMatrix(a blas64.General)\n}\n\n// A RawMatrixer can return a blas64.General representation of the receiver. Changes to the blas64.General.Data\n// slice will be reflected in the original matrix, changes to the Rows, Cols and Stride fields will not.\ntype RawMatrixer interface {\n\tRawMatrix() blas64.General\n}\n\n// A RawVectorer can return a blas64.Vector representation of the receiver. Changes to the blas64.Vector.Data\n// slice will be reflected in the original matrix, changes to the Inc field will not.\ntype RawVectorer interface {\n\tRawVector() blas64.Vector\n}\n\n// A NonZeroDoer can call a function for each non-zero element of the receiver.\n// The parameters of the function are the element indices and its value.\ntype NonZeroDoer interface {\n\tDoNonZero(func(i, j int, v float64))\n}\n\n// A RowNonZeroDoer can call a function for each non-zero element of a row of the receiver.\n// The parameters of the function are the element indices and its value.\ntype RowNonZeroDoer interface {\n\tDoRowNonZero(i int, fn func(i, j int, v float64))\n}\n\n// A ColNonZeroDoer can call a function for each non-zero element of a column of the receiver.\n// The parameters of the function are the element indices and its value.\ntype ColNonZeroDoer interface {\n\tDoColNonZero(j int, fn func(i, j int, v float64))\n}\n\n// TODO(btracey): Consider adding CopyCol/CopyRow if the behavior seems useful.\n// TODO(btracey): Add in fast paths to Row/Col for the other concrete types\n// (TriDense, etc.) as well as relevant interfaces (RowColer, RawRowViewer, etc.)\n\n// Col copies the elements in the jth column of the matrix into the slice dst.\n// The length of the provided slice must equal the number of rows, unless the\n// slice is nil in which case a new slice is first allocated.\nfunc Col(dst []float64, j int, a Matrix) []float64 {\n\tr, c := a.Dims()\n\tif j < 0 || j >= c {\n\t\tpanic(ErrColAccess)\n\t}\n\tif dst == nil {\n\t\tdst = make([]float64, r)\n\t} else {\n\t\tif len(dst) != r {\n\t\t\tpanic(ErrColLength)\n\t\t}\n\t}\n\taU, aTrans := untranspose(a)\n\tif rm, ok := aU.(RawMatrixer); ok {\n\t\tm := rm.RawMatrix()\n\t\tif aTrans {\n\t\t\tcopy(dst, m.Data[j*m.Stride:j*m.Stride+m.Cols])\n\t\t\treturn dst\n\t\t}\n\t\tblas64.Copy(r,\n\t\t\tblas64.Vector{Inc: m.Stride, Data: m.Data[j:]},\n\t\t\tblas64.Vector{Inc: 1, Data: dst},\n\t\t)\n\t\treturn dst\n\t}\n\tfor i := 0; i < r; i++ {\n\t\tdst[i] = a.At(i, j)\n\t}\n\treturn dst\n}\n\n// Row copies the elements in the ith row of the matrix into the slice dst.\n// The length of the provided slice must equal the number of columns, unless the\n// slice is nil in which case a new slice is first allocated.\nfunc Row(dst []float64, i int, a Matrix) []float64 {\n\tr, c := a.Dims()\n\tif i < 0 || i >= r {\n\t\tpanic(ErrColAccess)\n\t}\n\tif dst == nil {\n\t\tdst = make([]float64, c)\n\t} else {\n\t\tif len(dst) != c {\n\t\t\tpanic(ErrRowLength)\n\t\t}\n\t}\n\taU, aTrans := untranspose(a)\n\tif rm, ok := aU.(RawMatrixer); ok {\n\t\tm := rm.RawMatrix()\n\t\tif aTrans {\n\t\t\tblas64.Copy(c,\n\t\t\t\tblas64.Vector{Inc: m.Stride, Data: m.Data[i:]},\n\t\t\t\tblas64.Vector{Inc: 1, Data: dst},\n\t\t\t)\n\t\t\treturn dst\n\t\t}\n\t\tcopy(dst, m.Data[i*m.Stride:i*m.Stride+m.Cols])\n\t\treturn dst\n\t}\n\tfor j := 0; j < c; j++ {\n\t\tdst[j] = a.At(i, j)\n\t}\n\treturn dst\n}\n\n// Cond returns the condition number of the given matrix under the given norm.\n// The condition number must be based on the 1-norm, 2-norm or ∞-norm.\n// Cond will panic with matrix.ErrShape if the matrix has zero size.\n//\n// BUG(btracey): The computation of the 1-norm and ∞-norm for non-square matrices\n// is innacurate, although is typically the right order of magnitude. See\n// https://github.com/xianyi/OpenBLAS/issues/636. While the value returned will\n// change with the resolution of this bug, the result from Cond will match the\n// condition number used internally.\nfunc Cond(a Matrix, norm float64) float64 {\n\tm, n := a.Dims()\n\tif m == 0 || n == 0 {\n\t\tpanic(ErrShape)\n\t}\n\tvar lnorm lapack.MatrixNorm\n\tswitch norm {\n\tdefault:\n\t\tpanic(\"mat: bad norm value\")\n\tcase 1:\n\t\tlnorm = lapack.MaxColumnSum\n\tcase 2:\n\t\tvar svd SVD\n\t\tok := svd.Factorize(a, SVDNone)\n\t\tif !ok {\n\t\t\treturn math.Inf(1)\n\t\t}\n\t\treturn svd.Cond()\n\tcase math.Inf(1):\n\t\tlnorm = lapack.MaxRowSum\n\t}\n\n\tif m == n {\n\t\t// Use the LU decomposition to compute the condition number.\n\t\tvar lu LU\n\t\tlu.factorize(a, lnorm)\n\t\treturn lu.Cond()\n\t}\n\tif m > n {\n\t\t// Use the QR factorization to compute the condition number.\n\t\tvar qr QR\n\t\tqr.factorize(a, lnorm)\n\t\treturn qr.Cond()\n\t}\n\t// Use the LQ factorization to compute the condition number.\n\tvar lq LQ\n\tlq.factorize(a, lnorm)\n\treturn lq.Cond()\n}\n\n// Det returns the determinant of the matrix a. In many expressions using LogDet\n// will be more numerically stable.\nfunc Det(a Matrix) float64 {\n\tdet, sign := LogDet(a)\n\treturn math.Exp(det) * sign\n}\n\n// Dot returns the sum of the element-wise product of a and b.\n// Dot panics if the matrix sizes are unequal.\nfunc Dot(a, b Vector) float64 {\n\tla := a.Len()\n\tlb := b.Len()\n\tif la != lb {\n\t\tpanic(ErrShape)\n\t}\n\tif arv, ok := a.(RawVectorer); ok {\n\t\tif brv, ok := b.(RawVectorer); ok {\n\t\t\treturn blas64.Dot(la, arv.RawVector(), brv.RawVector())\n\t\t}\n\t}\n\tvar sum float64\n\tfor i := 0; i < la; i++ {\n\t\tsum += a.At(i, 0) * b.At(i, 0)\n\t}\n\treturn sum\n}\n\n// Equal returns whether the matrices a and b have the same size\n// and are element-wise equal.\nfunc Equal(a, b Matrix) bool {\n\tar, ac := a.Dims()\n\tbr, bc := b.Dims()\n\tif ar != br || ac != bc {\n\t\treturn false\n\t}\n\taU, aTrans := untranspose(a)\n\tbU, bTrans := untranspose(b)\n\tif rma, ok := aU.(RawMatrixer); ok {\n\t\tif rmb, ok := bU.(RawMatrixer); ok {\n\t\t\tra := rma.RawMatrix()\n\t\t\trb := rmb.RawMatrix()\n\t\t\tif aTrans == bTrans {\n\t\t\t\tfor i := 0; i < ra.Rows; i++ {\n\t\t\t\t\tfor j := 0; j < ra.Cols; j++ {\n\t\t\t\t\t\tif ra.Data[i*ra.Stride+j] != rb.Data[i*rb.Stride+j] {\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\tfor i := 0; i < ra.Rows; i++ {\n\t\t\t\tfor j := 0; j < ra.Cols; j++ {\n\t\t\t\t\tif ra.Data[i*ra.Stride+j] != rb.Data[j*rb.Stride+i] {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\t}\n\tif rma, ok := aU.(RawSymmetricer); ok {\n\t\tif rmb, ok := bU.(RawSymmetricer); ok {\n\t\t\tra := rma.RawSymmetric()\n\t\t\trb := rmb.RawSymmetric()\n\t\t\t// Symmetric matrices are always upper and equal to their transpose.\n\t\t\tfor i := 0; i < ra.N; i++ {\n\t\t\t\tfor j := i; j < ra.N; j++ {\n\t\t\t\t\tif ra.Data[i*ra.Stride+j] != rb.Data[i*rb.Stride+j] {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\t}\n\tif ra, ok := aU.(*VecDense); ok {\n\t\tif rb, ok := bU.(*VecDense); ok {\n\t\t\t// If the raw vectors are the same length they must either both be\n\t\t\t// transposed or both not transposed (or have length 1).\n\t\t\tfor i := 0; i < ra.n; i++ {\n\t\t\t\tif ra.mat.Data[i*ra.mat.Inc] != rb.mat.Data[i*rb.mat.Inc] {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\t}\n\tfor i := 0; i < ar; i++ {\n\t\tfor j := 0; j < ac; j++ {\n\t\t\tif a.At(i, j) != b.At(i, j) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\treturn true\n}\n\n// EqualApprox returns whether the matrices a and b have the same size and contain all equal\n// elements with tolerance for element-wise equality specified by epsilon. Matrices\n// with non-equal shapes are not equal.\nfunc EqualApprox(a, b Matrix, epsilon float64) bool {\n\tar, ac := a.Dims()\n\tbr, bc := b.Dims()\n\tif ar != br || ac != bc {\n\t\treturn false\n\t}\n\taU, aTrans := untranspose(a)\n\tbU, bTrans := untranspose(b)\n\tif rma, ok := aU.(RawMatrixer); ok {\n\t\tif rmb, ok := bU.(RawMatrixer); ok {\n\t\t\tra := rma.RawMatrix()\n\t\t\trb := rmb.RawMatrix()\n\t\t\tif aTrans == bTrans {\n\t\t\t\tfor i := 0; i < ra.Rows; i++ {\n\t\t\t\t\tfor j := 0; j < ra.Cols; j++ {\n\t\t\t\t\t\tif !floats.EqualWithinAbsOrRel(ra.Data[i*ra.Stride+j], rb.Data[i*rb.Stride+j], epsilon, epsilon) {\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\tfor i := 0; i < ra.Rows; i++ {\n\t\t\t\tfor j := 0; j < ra.Cols; j++ {\n\t\t\t\t\tif !floats.EqualWithinAbsOrRel(ra.Data[i*ra.Stride+j], rb.Data[j*rb.Stride+i], epsilon, epsilon) {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\t}\n\tif rma, ok := aU.(RawSymmetricer); ok {\n\t\tif rmb, ok := bU.(RawSymmetricer); ok {\n\t\t\tra := rma.RawSymmetric()\n\t\t\trb := rmb.RawSymmetric()\n\t\t\t// Symmetric matrices are always upper and equal to their transpose.\n\t\t\tfor i := 0; i < ra.N; i++ {\n\t\t\t\tfor j := i; j < ra.N; j++ {\n\t\t\t\t\tif !floats.EqualWithinAbsOrRel(ra.Data[i*ra.Stride+j], rb.Data[i*rb.Stride+j], epsilon, epsilon) {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\t}\n\tif ra, ok := aU.(*VecDense); ok {\n\t\tif rb, ok := bU.(*VecDense); ok {\n\t\t\t// If the raw vectors are the same length they must either both be\n\t\t\t// transposed or both not transposed (or have length 1).\n\t\t\tfor i := 0; i < ra.n; i++ {\n\t\t\t\tif !floats.EqualWithinAbsOrRel(ra.mat.Data[i*ra.mat.Inc], rb.mat.Data[i*rb.mat.Inc], epsilon, epsilon) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\t}\n\tfor i := 0; i < ar; i++ {\n\t\tfor j := 0; j < ac; j++ {\n\t\t\tif !floats.EqualWithinAbsOrRel(a.At(i, j), b.At(i, j), epsilon, epsilon) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\treturn true\n}\n\n// LogDet returns the log of the determinant and the sign of the determinant\n// for the matrix that has been factorized. Numerical stability in product and\n// division expressions is generally improved by working in log space.\nfunc LogDet(a Matrix) (det float64, sign float64) {\n\t// TODO(btracey): Add specialized routines for TriDense, etc.\n\tvar lu LU\n\tlu.Factorize(a)\n\treturn lu.LogDet()\n}\n\n// Max returns the largest element value of the matrix A.\n// Max will panic with matrix.ErrShape if the matrix has zero size.\nfunc Max(a Matrix) float64 {\n\tr, c := a.Dims()\n\tif r == 0 || c == 0 {\n\t\tpanic(ErrShape)\n\t}\n\t// Max(A) = Max(A^T)\n\taU, _ := untranspose(a)\n\tswitch m := aU.(type) {\n\tcase RawMatrixer:\n\t\trm := m.RawMatrix()\n\t\tmax := math.Inf(-1)\n\t\tfor i := 0; i < rm.Rows; i++ {\n\t\t\tfor _, v := range rm.Data[i*rm.Stride : i*rm.Stride+rm.Cols] {\n\t\t\t\tif v > max {\n\t\t\t\t\tmax = v\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn max\n\tcase RawTriangular:\n\t\trm := m.RawTriangular()\n\t\t// The max of a triangular is at least 0 unless the size is 1.\n\t\tif rm.N == 1 {\n\t\t\treturn rm.Data[0]\n\t\t}\n\t\tmax := 0.0\n\t\tif rm.Uplo == blas.Upper {\n\t\t\tfor i := 0; i < rm.N; i++ {\n\t\t\t\tfor _, v := range rm.Data[i*rm.Stride+i : i*rm.Stride+rm.N] {\n\t\t\t\t\tif v > max {\n\t\t\t\t\t\tmax = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn max\n\t\t}\n\t\tfor i := 0; i < rm.N; i++ {\n\t\t\tfor _, v := range rm.Data[i*rm.Stride : i*rm.Stride+i+1] {\n\t\t\t\tif v > max {\n\t\t\t\t\tmax = v\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn max\n\tcase RawSymmetricer:\n\t\trm := m.RawSymmetric()\n\t\tif rm.Uplo != blas.Upper {\n\t\t\tpanic(badSymTriangle)\n\t\t}\n\t\tmax := math.Inf(-1)\n\t\tfor i := 0; i < rm.N; i++ {\n\t\t\tfor _, v := range rm.Data[i*rm.Stride+i : i*rm.Stride+rm.N] {\n\t\t\t\tif v > max {\n\t\t\t\t\tmax = v\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn max\n\tdefault:\n\t\tr, c := aU.Dims()\n\t\tmax := math.Inf(-1)\n\t\tfor i := 0; i < r; i++ {\n\t\t\tfor j := 0; j < c; j++ {\n\t\t\t\tv := aU.At(i, j)\n\t\t\t\tif v > max {\n\t\t\t\t\tmax = v\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn max\n\t}\n}\n\n// Min returns the smallest element value of the matrix A.\n// Min will panic with matrix.ErrShape if the matrix has zero size.\nfunc Min(a Matrix) float64 {\n\tr, c := a.Dims()\n\tif r == 0 || c == 0 {\n\t\tpanic(ErrShape)\n\t}\n\t// Min(A) = Min(A^T)\n\taU, _ := untranspose(a)\n\tswitch m := aU.(type) {\n\tcase RawMatrixer:\n\t\trm := m.RawMatrix()\n\t\tmin := math.Inf(1)\n\t\tfor i := 0; i < rm.Rows; i++ {\n\t\t\tfor _, v := range rm.Data[i*rm.Stride : i*rm.Stride+rm.Cols] {\n\t\t\t\tif v < min {\n\t\t\t\t\tmin = v\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn min\n\tcase RawTriangular:\n\t\trm := m.RawTriangular()\n\t\t// The min of a triangular is at most 0 unless the size is 1.\n\t\tif rm.N == 1 {\n\t\t\treturn rm.Data[0]\n\t\t}\n\t\tmin := 0.0\n\t\tif rm.Uplo == blas.Upper {\n\t\t\tfor i := 0; i < rm.N; i++ {\n\t\t\t\tfor _, v := range rm.Data[i*rm.Stride+i : i*rm.Stride+rm.N] {\n\t\t\t\t\tif v < min {\n\t\t\t\t\t\tmin = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn min\n\t\t}\n\t\tfor i := 0; i < rm.N; i++ {\n\t\t\tfor _, v := range rm.Data[i*rm.Stride : i*rm.Stride+i+1] {\n\t\t\t\tif v < min {\n\t\t\t\t\tmin = v\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn min\n\tcase RawSymmetricer:\n\t\trm := m.RawSymmetric()\n\t\tif rm.Uplo != blas.Upper {\n\t\t\tpanic(badSymTriangle)\n\t\t}\n\t\tmin := math.Inf(1)\n\t\tfor i := 0; i < rm.N; i++ {\n\t\t\tfor _, v := range rm.Data[i*rm.Stride+i : i*rm.Stride+rm.N] {\n\t\t\t\tif v < min {\n\t\t\t\t\tmin = v\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn min\n\tdefault:\n\t\tr, c := aU.Dims()\n\t\tmin := math.Inf(1)\n\t\tfor i := 0; i < r; i++ {\n\t\t\tfor j := 0; j < c; j++ {\n\t\t\t\tv := aU.At(i, j)\n\t\t\t\tif v < min {\n\t\t\t\t\tmin = v\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn min\n\t}\n}\n\n// Norm returns the specified (induced) norm of the matrix a. See\n// https://en.wikipedia.org/wiki/Matrix_norm for the definition of an induced norm.\n//\n// Valid norms are:\n//    1 - The maximum absolute column sum\n//    2 - Frobenius norm, the square root of the sum of the squares of the elements.\n//  Inf - The maximum absolute row sum.\n// Norm will panic with ErrNormOrder if an illegal norm order is specified and\n// with matrix.ErrShape if the matrix has zero size.\nfunc Norm(a Matrix, norm float64) float64 {\n\tr, c := a.Dims()\n\tif r == 0 || c == 0 {\n\t\tpanic(ErrShape)\n\t}\n\taU, aTrans := untranspose(a)\n\tvar work []float64\n\tswitch rma := aU.(type) {\n\tcase RawMatrixer:\n\t\trm := rma.RawMatrix()\n\t\tn := normLapack(norm, aTrans)\n\t\tif n == lapack.MaxColumnSum {\n\t\t\twork = getFloats(rm.Cols, false)\n\t\t\tdefer putFloats(work)\n\t\t}\n\t\treturn lapack64.Lange(n, rm, work)\n\tcase RawTriangular:\n\t\trm := rma.RawTriangular()\n\t\tn := normLapack(norm, aTrans)\n\t\tif n == lapack.MaxRowSum || n == lapack.MaxColumnSum {\n\t\t\twork = getFloats(rm.N, false)\n\t\t\tdefer putFloats(work)\n\t\t}\n\t\treturn lapack64.Lantr(n, rm, work)\n\tcase RawSymmetricer:\n\t\trm := rma.RawSymmetric()\n\t\tn := normLapack(norm, aTrans)\n\t\tif n == lapack.MaxRowSum || n == lapack.MaxColumnSum {\n\t\t\twork = getFloats(rm.N, false)\n\t\t\tdefer putFloats(work)\n\t\t}\n\t\treturn lapack64.Lansy(n, rm, work)\n\tcase *VecDense:\n\t\trv := rma.RawVector()\n\t\tswitch norm {\n\t\tdefault:\n\t\t\tpanic(\"unreachable\")\n\t\tcase 1:\n\t\t\tif aTrans {\n\t\t\t\timax := blas64.Iamax(rma.n, rv)\n\t\t\t\treturn math.Abs(rma.At(imax, 0))\n\t\t\t}\n\t\t\treturn blas64.Asum(rma.n, rv)\n\t\tcase 2:\n\t\t\treturn blas64.Nrm2(rma.n, rv)\n\t\tcase math.Inf(1):\n\t\t\tif aTrans {\n\t\t\t\treturn blas64.Asum(rma.n, rv)\n\t\t\t}\n\t\t\timax := blas64.Iamax(rma.n, rv)\n\t\t\treturn math.Abs(rma.At(imax, 0))\n\t\t}\n\t}\n\tswitch norm {\n\tdefault:\n\t\tpanic(\"unreachable\")\n\tcase 1:\n\t\tvar max float64\n\t\tfor j := 0; j < c; j++ {\n\t\t\tvar sum float64\n\t\t\tfor i := 0; i < r; i++ {\n\t\t\t\tsum += math.Abs(a.At(i, j))\n\t\t\t}\n\t\t\tif sum > max {\n\t\t\t\tmax = sum\n\t\t\t}\n\t\t}\n\t\treturn max\n\tcase 2:\n\t\tvar sum float64\n\t\tfor i := 0; i < r; i++ {\n\t\t\tfor j := 0; j < c; j++ {\n\t\t\t\tv := a.At(i, j)\n\t\t\t\tsum += v * v\n\t\t\t}\n\t\t}\n\t\treturn math.Sqrt(sum)\n\tcase math.Inf(1):\n\t\tvar max float64\n\t\tfor i := 0; i < r; i++ {\n\t\t\tvar sum float64\n\t\t\tfor j := 0; j < c; j++ {\n\t\t\t\tsum += math.Abs(a.At(i, j))\n\t\t\t}\n\t\t\tif sum > max {\n\t\t\t\tmax = sum\n\t\t\t}\n\t\t}\n\t\treturn max\n\t}\n}\n\n// normLapack converts the float64 norm input in Norm to a lapack.MatrixNorm.\nfunc normLapack(norm float64, aTrans bool) lapack.MatrixNorm {\n\tswitch norm {\n\tcase 1:\n\t\tn := lapack.MaxColumnSum\n\t\tif aTrans {\n\t\t\tn = lapack.MaxRowSum\n\t\t}\n\t\treturn n\n\tcase 2:\n\t\treturn lapack.NormFrob\n\tcase math.Inf(1):\n\t\tn := lapack.MaxRowSum\n\t\tif aTrans {\n\t\t\tn = lapack.MaxColumnSum\n\t\t}\n\t\treturn n\n\tdefault:\n\t\tpanic(ErrNormOrder)\n\t}\n}\n\n// Sum returns the sum of the elements of the matrix.\nfunc Sum(a Matrix) float64 {\n\t// TODO(btracey): Add a fast path for the other supported matrix types.\n\n\tr, c := a.Dims()\n\tvar sum float64\n\taU, _ := untranspose(a)\n\tif rma, ok := aU.(RawMatrixer); ok {\n\t\trm := rma.RawMatrix()\n\t\tfor i := 0; i < rm.Rows; i++ {\n\t\t\tfor _, v := range rm.Data[i*rm.Stride : i*rm.Stride+rm.Cols] {\n\t\t\t\tsum += v\n\t\t\t}\n\t\t}\n\t\treturn sum\n\t}\n\tfor i := 0; i < r; i++ {\n\t\tfor j := 0; j < c; j++ {\n\t\t\tsum += a.At(i, j)\n\t\t}\n\t}\n\treturn sum\n}\n\n// Trace returns the trace of the matrix. Trace will panic if the\n// matrix is not square.\nfunc Trace(a Matrix) float64 {\n\tr, c := a.Dims()\n\tif r != c {\n\t\tpanic(ErrSquare)\n\t}\n\n\taU, _ := untranspose(a)\n\tswitch m := aU.(type) {\n\tcase RawMatrixer:\n\t\trm := m.RawMatrix()\n\t\tvar t float64\n\t\tfor i := 0; i < r; i++ {\n\t\t\tt += rm.Data[i*rm.Stride+i]\n\t\t}\n\t\treturn t\n\tcase RawTriangular:\n\t\trm := m.RawTriangular()\n\t\tvar t float64\n\t\tfor i := 0; i < r; i++ {\n\t\t\tt += rm.Data[i*rm.Stride+i]\n\t\t}\n\t\treturn t\n\tcase RawSymmetricer:\n\t\trm := m.RawSymmetric()\n\t\tvar t float64\n\t\tfor i := 0; i < r; i++ {\n\t\t\tt += rm.Data[i*rm.Stride+i]\n\t\t}\n\t\treturn t\n\tdefault:\n\t\tvar t float64\n\t\tfor i := 0; i < r; i++ {\n\t\t\tt += a.At(i, i)\n\t\t}\n\t\treturn t\n\t}\n}\n\nfunc min(a, b int) int {\n\tif a < b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc max(a, b int) int {\n\tif a > b {\n\t\treturn a\n\t}\n\treturn b\n}\n\n// use returns a float64 slice with l elements, using f if it\n// has the necessary capacity, otherwise creating a new slice.\nfunc use(f []float64, l int) []float64 {\n\tif l <= cap(f) {\n\t\treturn f[:l]\n\t}\n\treturn make([]float64, l)\n}\n\n// useZeroed returns a float64 slice with l elements, using f if it\n// has the necessary capacity, otherwise creating a new slice. The\n// elements of the returned slice are guaranteed to be zero.\nfunc useZeroed(f []float64, l int) []float64 {\n\tif l <= cap(f) {\n\t\tf = f[:l]\n\t\tzero(f)\n\t\treturn f\n\t}\n\treturn make([]float64, l)\n}\n\n// zero zeros the given slice's elements.\nfunc zero(f []float64) {\n\tfor i := range f {\n\t\tf[i] = 0\n\t}\n}\n\n// useInt returns an int slice with l elements, using i if it\n// has the necessary capacity, otherwise creating a new slice.\nfunc useInt(i []int, l int) []int {\n\tif l <= cap(i) {\n\t\treturn i[:l]\n\t}\n\treturn make([]int, l)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/offset.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build !appengine\n\npackage mat\n\nimport \"unsafe\"\n\n// offset returns the number of float64 values b[0] is after a[0].\nfunc offset(a, b []float64) int {\n\tif &a[0] == &b[0] {\n\t\treturn 0\n\t}\n\t// This expression must be atomic with respect to GC moves.\n\t// At this stage this is true, because the GC does not\n\t// move. See https://golang.org/issue/12445.\n\treturn int(uintptr(unsafe.Pointer(&b[0]))-uintptr(unsafe.Pointer(&a[0]))) / int(unsafe.Sizeof(float64(0)))\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/offset_appengine.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//+build appengine\n\npackage mat\n\nimport \"reflect\"\n\nvar sizeOfFloat64 = int(reflect.TypeOf(float64(0)).Size())\n\n// offset returns the number of float64 values b[0] is after a[0].\nfunc offset(a, b []float64) int {\n\tva0 := reflect.ValueOf(a).Index(0)\n\tvb0 := reflect.ValueOf(b).Index(0)\n\tif va0.Addr() == vb0.Addr() {\n\t\treturn 0\n\t}\n\t// This expression must be atomic with respect to GC moves.\n\t// At this stage this is true, because the GC does not\n\t// move. See https://golang.org/issue/12445.\n\treturn int(vb0.UnsafeAddr()-va0.UnsafeAddr()) / sizeOfFloat64\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/pool.go",
    "content": "// Copyright ©2014 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"sync\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\nvar tab64 = [64]byte{\n\t0x3f, 0x00, 0x3a, 0x01, 0x3b, 0x2f, 0x35, 0x02,\n\t0x3c, 0x27, 0x30, 0x1b, 0x36, 0x21, 0x2a, 0x03,\n\t0x3d, 0x33, 0x25, 0x28, 0x31, 0x12, 0x1c, 0x14,\n\t0x37, 0x1e, 0x22, 0x0b, 0x2b, 0x0e, 0x16, 0x04,\n\t0x3e, 0x39, 0x2e, 0x34, 0x26, 0x1a, 0x20, 0x29,\n\t0x32, 0x24, 0x11, 0x13, 0x1d, 0x0a, 0x0d, 0x15,\n\t0x38, 0x2d, 0x19, 0x1f, 0x23, 0x10, 0x09, 0x0c,\n\t0x2c, 0x18, 0x0f, 0x08, 0x17, 0x07, 0x06, 0x05,\n}\n\n// bits returns the ceiling of base 2 log of v.\n// Approach based on http://stackoverflow.com/a/11398748.\nfunc bits(v uint64) byte {\n\tif v == 0 {\n\t\treturn 0\n\t}\n\tv <<= 2\n\tv--\n\tv |= v >> 1\n\tv |= v >> 2\n\tv |= v >> 4\n\tv |= v >> 8\n\tv |= v >> 16\n\tv |= v >> 32\n\treturn tab64[((v-(v>>1))*0x07EDD5E59A4E28C2)>>58] - 1\n}\n\nvar (\n\t// pool contains size stratified workspace Dense pools.\n\t// Each pool element i returns sized matrices with a data\n\t// slice capped at 1<<i.\n\tpool [63]sync.Pool\n\n\t// poolSym is the SymDense equivalent of pool.\n\tpoolSym [63]sync.Pool\n\n\t// poolTri is the TriDense equivalent of pool.\n\tpoolTri [63]sync.Pool\n\n\t// poolVec is the VecDense equivalent of pool.\n\tpoolVec [63]sync.Pool\n\n\t// poolFloats is the []float64 equivalent of pool.\n\tpoolFloats [63]sync.Pool\n\n\t// poolInts is the []int equivalent of pool.\n\tpoolInts [63]sync.Pool\n)\n\nfunc init() {\n\tfor i := range pool {\n\t\tl := 1 << uint(i)\n\t\tpool[i].New = func() interface{} {\n\t\t\treturn &Dense{mat: blas64.General{\n\t\t\t\tData: make([]float64, l),\n\t\t\t}}\n\t\t}\n\t\tpoolSym[i].New = func() interface{} {\n\t\t\treturn &SymDense{mat: blas64.Symmetric{\n\t\t\t\tUplo: blas.Upper,\n\t\t\t\tData: make([]float64, l),\n\t\t\t}}\n\t\t}\n\t\tpoolTri[i].New = func() interface{} {\n\t\t\treturn &TriDense{mat: blas64.Triangular{\n\t\t\t\tData: make([]float64, l),\n\t\t\t}}\n\t\t}\n\t\tpoolVec[i].New = func() interface{} {\n\t\t\treturn &VecDense{mat: blas64.Vector{\n\t\t\t\tInc:  1,\n\t\t\t\tData: make([]float64, l),\n\t\t\t}}\n\t\t}\n\t\tpoolFloats[i].New = func() interface{} {\n\t\t\treturn make([]float64, l)\n\t\t}\n\t\tpoolInts[i].New = func() interface{} {\n\t\t\treturn make([]int, l)\n\t\t}\n\t}\n}\n\n// getWorkspace returns a *Dense of size r×c and a data slice\n// with a cap that is less than 2*r*c. If clear is true, the\n// data slice visible through the Matrix interface is zeroed.\nfunc getWorkspace(r, c int, clear bool) *Dense {\n\tl := uint64(r * c)\n\tw := pool[bits(l)].Get().(*Dense)\n\tw.mat.Data = w.mat.Data[:l]\n\tif clear {\n\t\tzero(w.mat.Data)\n\t}\n\tw.mat.Rows = r\n\tw.mat.Cols = c\n\tw.mat.Stride = c\n\tw.capRows = r\n\tw.capCols = c\n\treturn w\n}\n\n// putWorkspace replaces a used *Dense into the appropriate size\n// workspace pool. putWorkspace must not be called with a matrix\n// where references to the underlying data slice have been kept.\nfunc putWorkspace(w *Dense) {\n\tpool[bits(uint64(cap(w.mat.Data)))].Put(w)\n}\n\n// getWorkspaceSym returns a *SymDense of size n and a cap that\n// is less than 2*n. If clear is true, the data slice visible\n// through the Matrix interface is zeroed.\nfunc getWorkspaceSym(n int, clear bool) *SymDense {\n\tl := uint64(n)\n\tl *= l\n\ts := poolSym[bits(l)].Get().(*SymDense)\n\ts.mat.Data = s.mat.Data[:l]\n\tif clear {\n\t\tzero(s.mat.Data)\n\t}\n\ts.mat.N = n\n\ts.mat.Stride = n\n\ts.cap = n\n\treturn s\n}\n\n// putWorkspaceSym replaces a used *SymDense into the appropriate size\n// workspace pool. putWorkspaceSym must not be called with a matrix\n// where references to the underlying data slice have been kept.\nfunc putWorkspaceSym(s *SymDense) {\n\tpoolSym[bits(uint64(cap(s.mat.Data)))].Put(s)\n}\n\n// getWorkspaceTri returns a *TriDense of size n and a cap that\n// is less than 2*n. If clear is true, the data slice visible\n// through the Matrix interface is zeroed.\nfunc getWorkspaceTri(n int, kind TriKind, clear bool) *TriDense {\n\tl := uint64(n)\n\tl *= l\n\tt := poolTri[bits(l)].Get().(*TriDense)\n\tt.mat.Data = t.mat.Data[:l]\n\tif clear {\n\t\tzero(t.mat.Data)\n\t}\n\tt.mat.N = n\n\tt.mat.Stride = n\n\tif kind == Upper {\n\t\tt.mat.Uplo = blas.Upper\n\t} else if kind == Lower {\n\t\tt.mat.Uplo = blas.Lower\n\t} else {\n\t\tpanic(ErrTriangle)\n\t}\n\tt.mat.Diag = blas.NonUnit\n\tt.cap = n\n\treturn t\n}\n\n// putWorkspaceTri replaces a used *TriDense into the appropriate size\n// workspace pool. putWorkspaceTri must not be called with a matrix\n// where references to the underlying data slice have been kept.\nfunc putWorkspaceTri(t *TriDense) {\n\tpoolTri[bits(uint64(cap(t.mat.Data)))].Put(t)\n}\n\n// getWorkspaceVec returns a *VecDense of length n and a cap that\n// is less than 2*n. If clear is true, the data slice visible\n// through the Matrix interface is zeroed.\nfunc getWorkspaceVec(n int, clear bool) *VecDense {\n\tl := uint64(n)\n\tv := poolVec[bits(l)].Get().(*VecDense)\n\tv.mat.Data = v.mat.Data[:l]\n\tif clear {\n\t\tzero(v.mat.Data)\n\t}\n\tv.n = n\n\treturn v\n}\n\n// putWorkspaceVec replaces a used *VecDense into the appropriate size\n// workspace pool. putWorkspaceVec must not be called with a matrix\n// where references to the underlying data slice have been kept.\nfunc putWorkspaceVec(v *VecDense) {\n\tpoolVec[bits(uint64(cap(v.mat.Data)))].Put(v)\n}\n\n// getFloats returns a []float64 of length l and a cap that is\n// less than 2*l. If clear is true, the slice visible is zeroed.\nfunc getFloats(l int, clear bool) []float64 {\n\tw := poolFloats[bits(uint64(l))].Get().([]float64)\n\tw = w[:l]\n\tif clear {\n\t\tzero(w)\n\t}\n\treturn w\n}\n\n// putFloats replaces a used []float64 into the appropriate size\n// workspace pool. putFloats must not be called with a slice\n// where references to the underlying data have been kept.\nfunc putFloats(w []float64) {\n\tpoolFloats[bits(uint64(cap(w)))].Put(w)\n}\n\n// getInts returns a []ints of length l and a cap that is\n// less than 2*l. If clear is true, the slice visible is zeroed.\nfunc getInts(l int, clear bool) []int {\n\tw := poolInts[bits(uint64(l))].Get().([]int)\n\tw = w[:l]\n\tif clear {\n\t\tfor i := range w {\n\t\t\tw[i] = 0\n\t\t}\n\t}\n\treturn w\n}\n\n// putInts replaces a used []int into the appropriate size\n// workspace pool. putInts must not be called with a slice\n// where references to the underlying data have been kept.\nfunc putInts(w []int) {\n\tpoolInts[bits(uint64(cap(w)))].Put(w)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/product.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport \"fmt\"\n\n// Product calculates the product of the given factors and places the result in\n// the receiver. The order of multiplication operations is optimized to minimize\n// the number of floating point operations on the basis that all matrix\n// multiplications are general.\nfunc (m *Dense) Product(factors ...Matrix) {\n\t// The operation order optimisation is the naive O(n^3) dynamic\n\t// programming approach and does not take into consideration\n\t// finer-grained optimisations that might be available.\n\t//\n\t// TODO(kortschak) Consider using the O(nlogn) or O(mlogn)\n\t// algorithms that are available. e.g.\n\t//\n\t// e.g. http://www.jofcis.com/publishedpapers/2014_10_10_4299_4306.pdf\n\t//\n\t// In the case that this is replaced, retain this code in\n\t// tests to compare against.\n\n\tr, c := m.Dims()\n\tswitch len(factors) {\n\tcase 0:\n\t\tif r != 0 || c != 0 {\n\t\t\tpanic(ErrShape)\n\t\t}\n\t\treturn\n\tcase 1:\n\t\tm.reuseAs(factors[0].Dims())\n\t\tm.Copy(factors[0])\n\t\treturn\n\tcase 2:\n\t\t// Don't do work that we know the answer to.\n\t\tm.Mul(factors[0], factors[1])\n\t\treturn\n\t}\n\n\tp := newMultiplier(m, factors)\n\tp.optimize()\n\tresult := p.multiply()\n\tm.reuseAs(result.Dims())\n\tm.Copy(result)\n\tputWorkspace(result)\n}\n\n// debugProductWalk enables debugging output for Product.\nconst debugProductWalk = false\n\n// multiplier performs operation order optimisation and tree traversal.\ntype multiplier struct {\n\t// factors is the ordered set of\n\t// factors to multiply.\n\tfactors []Matrix\n\t// dims is the chain of factor\n\t// dimensions.\n\tdims []int\n\n\t// table contains the dynamic\n\t// programming costs and subchain\n\t// division indices.\n\ttable table\n}\n\nfunc newMultiplier(m *Dense, factors []Matrix) *multiplier {\n\t// Check size early, but don't yet\n\t// allocate data for m.\n\tr, c := m.Dims()\n\tfr, fc := factors[0].Dims() // newMultiplier is only called with len(factors) > 2.\n\tif !m.IsZero() {\n\t\tif fr != r {\n\t\t\tpanic(ErrShape)\n\t\t}\n\t\tif _, lc := factors[len(factors)-1].Dims(); lc != c {\n\t\t\tpanic(ErrShape)\n\t\t}\n\t}\n\n\tdims := make([]int, len(factors)+1)\n\tdims[0] = r\n\tdims[len(dims)-1] = c\n\tpc := fc\n\tfor i, f := range factors[1:] {\n\t\tcr, cc := f.Dims()\n\t\tdims[i+1] = cr\n\t\tif pc != cr {\n\t\t\tpanic(ErrShape)\n\t\t}\n\t\tpc = cc\n\t}\n\n\treturn &multiplier{\n\t\tfactors: factors,\n\t\tdims:    dims,\n\t\ttable:   newTable(len(factors)),\n\t}\n}\n\n// optimize determines an optimal matrix multiply operation order.\nfunc (p *multiplier) optimize() {\n\tif debugProductWalk {\n\t\tfmt.Printf(\"chain dims: %v\\n\", p.dims)\n\t}\n\tconst maxInt = int(^uint(0) >> 1)\n\tfor f := 1; f < len(p.factors); f++ {\n\t\tfor i := 0; i < len(p.factors)-f; i++ {\n\t\t\tj := i + f\n\t\t\tp.table.set(i, j, entry{cost: maxInt})\n\t\t\tfor k := i; k < j; k++ {\n\t\t\t\tcost := p.table.at(i, k).cost + p.table.at(k+1, j).cost + p.dims[i]*p.dims[k+1]*p.dims[j+1]\n\t\t\t\tif cost < p.table.at(i, j).cost {\n\t\t\t\t\tp.table.set(i, j, entry{cost: cost, k: k})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// multiply walks the optimal operation tree found by optimize,\n// leaving the final result in the stack. It returns the\n// product, which may be copied but should be returned to\n// the workspace pool.\nfunc (p *multiplier) multiply() *Dense {\n\tresult, _ := p.multiplySubchain(0, len(p.factors)-1)\n\tif debugProductWalk {\n\t\tr, c := result.Dims()\n\t\tfmt.Printf(\"\\tpop result (%d×%d) cost=%d\\n\", r, c, p.table.at(0, len(p.factors)-1).cost)\n\t}\n\treturn result.(*Dense)\n}\n\nfunc (p *multiplier) multiplySubchain(i, j int) (m Matrix, intermediate bool) {\n\tif i == j {\n\t\treturn p.factors[i], false\n\t}\n\n\ta, aTmp := p.multiplySubchain(i, p.table.at(i, j).k)\n\tb, bTmp := p.multiplySubchain(p.table.at(i, j).k+1, j)\n\n\tar, ac := a.Dims()\n\tbr, bc := b.Dims()\n\tif ac != br {\n\t\t// Panic with a string since this\n\t\t// is not a user-facing panic.\n\t\tpanic(ErrShape.Error())\n\t}\n\n\tif debugProductWalk {\n\t\tfmt.Printf(\"\\tpush f[%d] (%d×%d)%s * f[%d] (%d×%d)%s\\n\",\n\t\t\ti, ar, ac, result(aTmp), j, br, bc, result(bTmp))\n\t}\n\n\tr := getWorkspace(ar, bc, false)\n\tr.Mul(a, b)\n\tif aTmp {\n\t\tputWorkspace(a.(*Dense))\n\t}\n\tif bTmp {\n\t\tputWorkspace(b.(*Dense))\n\t}\n\treturn r, true\n}\n\ntype entry struct {\n\tk    int // is the chain subdivision index.\n\tcost int // cost is the cost of the operation.\n}\n\n// table is a row major n×n dynamic programming table.\ntype table struct {\n\tn       int\n\tentries []entry\n}\n\nfunc newTable(n int) table {\n\treturn table{n: n, entries: make([]entry, n*n)}\n}\n\nfunc (t table) at(i, j int) entry     { return t.entries[i*t.n+j] }\nfunc (t table) set(i, j int, e entry) { t.entries[i*t.n+j] = e }\n\ntype result bool\n\nfunc (r result) String() string {\n\tif r {\n\t\treturn \" (popped result)\"\n\t}\n\treturn \"\"\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/qr.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n\t\"gonum.org/v1/gonum/lapack/lapack64\"\n)\n\n// QR is a type for creating and using the QR factorization of a matrix.\ntype QR struct {\n\tqr   *Dense\n\ttau  []float64\n\tcond float64\n}\n\nfunc (qr *QR) updateCond(norm lapack.MatrixNorm) {\n\t// Since A = Q*R, and Q is orthogonal, we get for the condition number κ\n\t//  κ(A) := |A| |A^-1| = |Q*R| |(Q*R)^-1| = |R| |R^-1 * Q^T|\n\t//        = |R| |R^-1| = κ(R),\n\t// where we used that fact that Q^-1 = Q^T. However, this assumes that\n\t// the matrix norm is invariant under orthogonal transformations which\n\t// is not the case for CondNorm. Hopefully the error is negligible: κ\n\t// is only a qualitative measure anyway.\n\tn := qr.qr.mat.Cols\n\twork := getFloats(3*n, false)\n\tiwork := getInts(n, false)\n\tr := qr.qr.asTriDense(n, blas.NonUnit, blas.Upper)\n\tv := lapack64.Trcon(norm, r.mat, work, iwork)\n\tputFloats(work)\n\tputInts(iwork)\n\tqr.cond = 1 / v\n}\n\n// Factorize computes the QR factorization of an m×n matrix a where m >= n. The QR\n// factorization always exists even if A is singular.\n//\n// The QR decomposition is a factorization of the matrix A such that A = Q * R.\n// The matrix Q is an orthonormal m×m matrix, and R is an m×n upper triangular matrix.\n// Q and R can be extracted using the QTo and RTo methods.\nfunc (qr *QR) Factorize(a Matrix) {\n\tqr.factorize(a, CondNorm)\n}\n\nfunc (qr *QR) factorize(a Matrix, norm lapack.MatrixNorm) {\n\tm, n := a.Dims()\n\tif m < n {\n\t\tpanic(ErrShape)\n\t}\n\tk := min(m, n)\n\tif qr.qr == nil {\n\t\tqr.qr = &Dense{}\n\t}\n\tqr.qr.Clone(a)\n\twork := []float64{0}\n\tqr.tau = make([]float64, k)\n\tlapack64.Geqrf(qr.qr.mat, qr.tau, work, -1)\n\n\twork = getFloats(int(work[0]), false)\n\tlapack64.Geqrf(qr.qr.mat, qr.tau, work, len(work))\n\tputFloats(work)\n\tqr.updateCond(norm)\n}\n\n// Cond returns the condition number for the factorized matrix.\n// Cond will panic if the receiver does not contain a successful factorization.\nfunc (qr *QR) Cond() float64 {\n\tif qr.qr == nil || qr.qr.IsZero() {\n\t\tpanic(\"qr: no decomposition computed\")\n\t}\n\treturn qr.cond\n}\n\n// TODO(btracey): Add in the \"Reduced\" forms for extracting the n×n orthogonal\n// and upper triangular matrices.\n\n// RTo extracts the m×n upper trapezoidal matrix from a QR decomposition.\n// If dst is nil, a new matrix is allocated. The resulting dst matrix is returned.\nfunc (qr *QR) RTo(dst *Dense) *Dense {\n\tr, c := qr.qr.Dims()\n\tif dst == nil {\n\t\tdst = NewDense(r, c, nil)\n\t} else {\n\t\tdst.reuseAs(r, c)\n\t}\n\n\t// Disguise the QR as an upper triangular\n\tt := &TriDense{\n\t\tmat: blas64.Triangular{\n\t\t\tN:      c,\n\t\t\tStride: qr.qr.mat.Stride,\n\t\t\tData:   qr.qr.mat.Data,\n\t\t\tUplo:   blas.Upper,\n\t\t\tDiag:   blas.NonUnit,\n\t\t},\n\t\tcap: qr.qr.capCols,\n\t}\n\tdst.Copy(t)\n\n\t// Zero below the triangular.\n\tfor i := r; i < c; i++ {\n\t\tzero(dst.mat.Data[i*dst.mat.Stride : i*dst.mat.Stride+c])\n\t}\n\n\treturn dst\n}\n\n// QTo extracts the m×m orthonormal matrix Q from a QR decomposition.\n// If dst is nil, a new matrix is allocated. The resulting Q matrix is returned.\nfunc (qr *QR) QTo(dst *Dense) *Dense {\n\tr, _ := qr.qr.Dims()\n\tif dst == nil {\n\t\tdst = NewDense(r, r, nil)\n\t} else {\n\t\tdst.reuseAsZeroed(r, r)\n\t}\n\n\t// Set Q = I.\n\tfor i := 0; i < r*r; i += r + 1 {\n\t\tdst.mat.Data[i] = 1\n\t}\n\n\t// Construct Q from the elementary reflectors.\n\twork := []float64{0}\n\tlapack64.Ormqr(blas.Left, blas.NoTrans, qr.qr.mat, qr.tau, dst.mat, work, -1)\n\twork = getFloats(int(work[0]), false)\n\tlapack64.Ormqr(blas.Left, blas.NoTrans, qr.qr.mat, qr.tau, dst.mat, work, len(work))\n\tputFloats(work)\n\n\treturn dst\n}\n\n// Solve finds a minimum-norm solution to a system of linear equations defined\n// by the matrices A and b, where A is an m×n matrix represented in its QR factorized\n// form. If A is singular or near-singular a Condition error is returned.\n// See the documentation for Condition for more information.\n//\n// The minimization problem solved depends on the input parameters.\n//  If trans == false, find X such that ||A*X - b||_2 is minimized.\n//  If trans == true, find the minimum norm solution of A^T * X = b.\n// The solution matrix, X, is stored in place into m.\nfunc (qr *QR) Solve(m *Dense, trans bool, b Matrix) error {\n\tr, c := qr.qr.Dims()\n\tbr, bc := b.Dims()\n\n\t// The QR solve algorithm stores the result in-place into the right hand side.\n\t// The storage for the answer must be large enough to hold both b and x.\n\t// However, this method's receiver must be the size of x. Copy b, and then\n\t// copy the result into m at the end.\n\tif trans {\n\t\tif c != br {\n\t\t\tpanic(ErrShape)\n\t\t}\n\t\tm.reuseAs(r, bc)\n\t} else {\n\t\tif r != br {\n\t\t\tpanic(ErrShape)\n\t\t}\n\t\tm.reuseAs(c, bc)\n\t}\n\t// Do not need to worry about overlap between m and b because x has its own\n\t// independent storage.\n\tx := getWorkspace(max(r, c), bc, false)\n\tx.Copy(b)\n\tt := qr.qr.asTriDense(qr.qr.mat.Cols, blas.NonUnit, blas.Upper).mat\n\tif trans {\n\t\tok := lapack64.Trtrs(blas.Trans, t, x.mat)\n\t\tif !ok {\n\t\t\treturn Condition(math.Inf(1))\n\t\t}\n\t\tfor i := c; i < r; i++ {\n\t\t\tzero(x.mat.Data[i*x.mat.Stride : i*x.mat.Stride+bc])\n\t\t}\n\t\twork := []float64{0}\n\t\tlapack64.Ormqr(blas.Left, blas.NoTrans, qr.qr.mat, qr.tau, x.mat, work, -1)\n\t\twork = getFloats(int(work[0]), false)\n\t\tlapack64.Ormqr(blas.Left, blas.NoTrans, qr.qr.mat, qr.tau, x.mat, work, len(work))\n\t\tputFloats(work)\n\t} else {\n\t\twork := []float64{0}\n\t\tlapack64.Ormqr(blas.Left, blas.Trans, qr.qr.mat, qr.tau, x.mat, work, -1)\n\t\twork = getFloats(int(work[0]), false)\n\t\tlapack64.Ormqr(blas.Left, blas.Trans, qr.qr.mat, qr.tau, x.mat, work, len(work))\n\t\tputFloats(work)\n\n\t\tok := lapack64.Trtrs(blas.NoTrans, t, x.mat)\n\t\tif !ok {\n\t\t\treturn Condition(math.Inf(1))\n\t\t}\n\t}\n\t// M was set above to be the correct size for the result.\n\tm.Copy(x)\n\tputWorkspace(x)\n\tif qr.cond > ConditionTolerance {\n\t\treturn Condition(qr.cond)\n\t}\n\treturn nil\n}\n\n// SolveVec finds a minimum-norm solution to a system of linear equations,\n//  Ax = b.\n// See QR.Solve for the full documentation.\nfunc (qr *QR) SolveVec(v *VecDense, trans bool, b Vector) error {\n\tr, c := qr.qr.Dims()\n\tif _, bc := b.Dims(); bc != 1 {\n\t\tpanic(ErrShape)\n\t}\n\n\t// The Solve implementation is non-trivial, so rather than duplicate the code,\n\t// instead recast the VecDenses as Dense and call the matrix code.\n\tbm := Matrix(b)\n\tif rv, ok := b.(RawVectorer); ok {\n\t\tbmat := rv.RawVector()\n\t\tif v != b {\n\t\t\tv.checkOverlap(bmat)\n\t\t}\n\t\tb := VecDense{mat: bmat, n: b.Len()}\n\t\tbm = b.asDense()\n\t}\n\tif trans {\n\t\tv.reuseAs(r)\n\t} else {\n\t\tv.reuseAs(c)\n\t}\n\treturn qr.Solve(v.asDense(), trans, bm)\n\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/shadow.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\nconst (\n\t// regionOverlap is the panic string used for the general case\n\t// of a matrix region overlap between a source and destination.\n\tregionOverlap = \"mat: bad region: overlap\"\n\n\t// regionIdentity is the panic string used for the specific\n\t// case of complete agreement between a source and a destination.\n\tregionIdentity = \"mat: bad region: identical\"\n\n\t// mismatchedStrides is the panic string used for overlapping\n\t// data slices with differing strides.\n\tmismatchedStrides = \"mat: bad region: different strides\"\n)\n\n// checkOverlap returns false if the receiver does not overlap data elements\n// referenced by the parameter and panics otherwise.\n//\n// checkOverlap methods return a boolean to allow the check call to be added to a\n// boolean expression, making use of short-circuit operators.\nfunc checkOverlap(a, b blas64.General) bool {\n\tif cap(a.Data) == 0 || cap(b.Data) == 0 {\n\t\treturn false\n\t}\n\n\toff := offset(a.Data[:1], b.Data[:1])\n\n\tif off == 0 {\n\t\t// At least one element overlaps.\n\t\tif a.Cols == b.Cols && a.Rows == b.Rows && a.Stride == b.Stride {\n\t\t\tpanic(regionIdentity)\n\t\t}\n\t\tpanic(regionOverlap)\n\t}\n\n\tif off > 0 && len(a.Data) <= off {\n\t\t// We know a is completely before b.\n\t\treturn false\n\t}\n\tif off < 0 && len(b.Data) <= -off {\n\t\t// We know a is completely after b.\n\t\treturn false\n\t}\n\n\tif a.Stride != b.Stride {\n\t\t// Too hard, so assume the worst.\n\t\tpanic(mismatchedStrides)\n\t}\n\n\tif off < 0 {\n\t\toff = -off\n\t\ta.Cols, b.Cols = b.Cols, a.Cols\n\t}\n\tif rectanglesOverlap(off, a.Cols, b.Cols, a.Stride) {\n\t\tpanic(regionOverlap)\n\t}\n\treturn false\n}\n\nfunc (m *Dense) checkOverlap(a blas64.General) bool {\n\treturn checkOverlap(m.RawMatrix(), a)\n}\n\nfunc (s *SymDense) checkOverlap(a blas64.General) bool {\n\treturn checkOverlap(generalFromSymmetric(s.RawSymmetric()), a)\n}\n\n// generalFromSymmetric returns a blas64.General with the backing\n// data and dimensions of a.\nfunc generalFromSymmetric(a blas64.Symmetric) blas64.General {\n\treturn blas64.General{\n\t\tRows:   a.N,\n\t\tCols:   a.N,\n\t\tStride: a.Stride,\n\t\tData:   a.Data,\n\t}\n}\n\nfunc (t *TriDense) checkOverlap(a blas64.General) bool {\n\treturn checkOverlap(generalFromTriangular(t.RawTriangular()), a)\n}\n\n// generalFromTriangular returns a blas64.General with the backing\n// data and dimensions of a.\nfunc generalFromTriangular(a blas64.Triangular) blas64.General {\n\treturn blas64.General{\n\t\tRows:   a.N,\n\t\tCols:   a.N,\n\t\tStride: a.Stride,\n\t\tData:   a.Data,\n\t}\n}\n\nfunc (v *VecDense) checkOverlap(a blas64.Vector) bool {\n\tmat := v.mat\n\tif cap(mat.Data) == 0 || cap(a.Data) == 0 {\n\t\treturn false\n\t}\n\n\toff := offset(mat.Data[:1], a.Data[:1])\n\n\tif off == 0 {\n\t\t// At least one element overlaps.\n\t\tif mat.Inc == a.Inc && len(mat.Data) == len(a.Data) {\n\t\t\tpanic(regionIdentity)\n\t\t}\n\t\tpanic(regionOverlap)\n\t}\n\n\tif off > 0 && len(mat.Data) <= off {\n\t\t// We know v is completely before a.\n\t\treturn false\n\t}\n\tif off < 0 && len(a.Data) <= -off {\n\t\t// We know v is completely after a.\n\t\treturn false\n\t}\n\n\tif mat.Inc != a.Inc {\n\t\t// Too hard, so assume the worst.\n\t\tpanic(mismatchedStrides)\n\t}\n\n\tif mat.Inc == 1 || off&mat.Inc == 0 {\n\t\tpanic(regionOverlap)\n\t}\n\treturn false\n}\n\n// rectanglesOverlap returns whether the strided rectangles a and b overlap\n// when b is offset by off elements after a but has at least one element before\n// the end of a. off must be positive. a and b have aCols and bCols respectively.\n//\n// rectanglesOverlap works by shifting both matrices left such that the left\n// column of a is at 0. The column indexes are flattened by obtaining the shifted\n// relative left and right column positions modulo the common stride. This allows\n// direct comparison of the column offsets when the matrix backing data slices\n// are known to overlap.\nfunc rectanglesOverlap(off, aCols, bCols, stride int) bool {\n\tif stride == 1 {\n\t\t// Unit stride means overlapping data\n\t\t// slices must overlap as matrices.\n\t\treturn true\n\t}\n\n\t// Flatten the shifted matrix column positions\n\t// so a starts at 0, modulo the common stride.\n\taTo := aCols\n\t// The mod stride operations here make the from\n\t// and to indexes comparable between a and b when\n\t// the data slices of a and b overlap.\n\tbFrom := off % stride\n\tbTo := (bFrom + bCols) % stride\n\n\tif bTo == 0 || bFrom < bTo {\n\t\t// b matrix is not wrapped: compare for\n\t\t// simple overlap.\n\t\treturn bFrom < aTo\n\t}\n\n\t// b strictly wraps and so must overlap with a.\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/solve.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack/lapack64\"\n)\n\n// Solve finds a minimum-norm solution to a system of linear equations defined\n// by the matrices a and b. If A is singular or near-singular, a Condition error\n// is returned. See the documentation for Condition for more information.\n//\n// The minimization problem solved depends on the input parameters:\n//  - if m >= n, find X such that ||A*X - B||_2 is minimized,\n//  - if m < n, find the minimum norm solution of A * X = B.\n// The solution matrix, X, is stored in-place into the receiver.\nfunc (m *Dense) Solve(a, b Matrix) error {\n\tar, ac := a.Dims()\n\tbr, bc := b.Dims()\n\tif ar != br {\n\t\tpanic(ErrShape)\n\t}\n\tm.reuseAs(ac, bc)\n\n\t// TODO(btracey): Add special cases for SymDense, etc.\n\taU, aTrans := untranspose(a)\n\tbU, bTrans := untranspose(b)\n\tswitch rma := aU.(type) {\n\tcase RawTriangular:\n\t\tside := blas.Left\n\t\ttA := blas.NoTrans\n\t\tif aTrans {\n\t\t\ttA = blas.Trans\n\t\t}\n\n\t\tswitch rm := bU.(type) {\n\t\tcase RawMatrixer:\n\t\t\tif m != bU || bTrans {\n\t\t\t\tif m == bU || m.checkOverlap(rm.RawMatrix()) {\n\t\t\t\t\ttmp := getWorkspace(br, bc, false)\n\t\t\t\t\ttmp.Copy(b)\n\t\t\t\t\tm.Copy(tmp)\n\t\t\t\t\tputWorkspace(tmp)\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tm.Copy(b)\n\t\t\t}\n\t\tdefault:\n\t\t\tif m != bU {\n\t\t\t\tm.Copy(b)\n\t\t\t} else if bTrans {\n\t\t\t\t// m and b share data so Copy cannot be used directly.\n\t\t\t\ttmp := getWorkspace(br, bc, false)\n\t\t\t\ttmp.Copy(b)\n\t\t\t\tm.Copy(tmp)\n\t\t\t\tputWorkspace(tmp)\n\t\t\t}\n\t\t}\n\n\t\trm := rma.RawTriangular()\n\t\tblas64.Trsm(side, tA, 1, rm, m.mat)\n\t\twork := getFloats(3*rm.N, false)\n\t\tiwork := getInts(rm.N, false)\n\t\tcond := lapack64.Trcon(CondNorm, rm, work, iwork)\n\t\tputFloats(work)\n\t\tputInts(iwork)\n\t\tif cond > ConditionTolerance {\n\t\t\treturn Condition(cond)\n\t\t}\n\t\treturn nil\n\t}\n\n\tswitch {\n\tcase ar == ac:\n\t\tif a == b {\n\t\t\t// x = I.\n\t\t\tif ar == 1 {\n\t\t\t\tm.mat.Data[0] = 1\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\tfor i := 0; i < ar; i++ {\n\t\t\t\tv := m.mat.Data[i*m.mat.Stride : i*m.mat.Stride+ac]\n\t\t\t\tzero(v)\n\t\t\t\tv[i] = 1\n\t\t\t}\n\t\t\treturn nil\n\t\t}\n\t\tvar lu LU\n\t\tlu.Factorize(a)\n\t\treturn lu.Solve(m, false, b)\n\tcase ar > ac:\n\t\tvar qr QR\n\t\tqr.Factorize(a)\n\t\treturn qr.Solve(m, false, b)\n\tdefault:\n\t\tvar lq LQ\n\t\tlq.Factorize(a)\n\t\treturn lq.Solve(m, false, b)\n\t}\n}\n\n// SolveVec finds a minimum-norm solution to a system of linear equations defined\n// by the matrix a and the right-hand side column vector b. If A is singular or\n// near-singular, a Condition error is returned. See the documentation for\n// Dense.Solve for more information.\nfunc (v *VecDense) SolveVec(a Matrix, b Vector) error {\n\tif _, bc := b.Dims(); bc != 1 {\n\t\tpanic(ErrShape)\n\t}\n\t_, c := a.Dims()\n\n\t// The Solve implementation is non-trivial, so rather than duplicate the code,\n\t// instead recast the VecDenses as Dense and call the matrix code.\n\n\tif rv, ok := b.(RawVectorer); ok {\n\t\tbmat := rv.RawVector()\n\t\tif v != b {\n\t\t\tv.checkOverlap(bmat)\n\t\t}\n\t\tv.reuseAs(c)\n\t\tm := v.asDense()\n\t\t// We conditionally create bm as m when b and v are identical\n\t\t// to prevent the overlap detection code from identifying m\n\t\t// and bm as overlapping but not identical.\n\t\tbm := m\n\t\tif v != b {\n\t\t\tb := VecDense{mat: bmat, n: b.Len()}\n\t\t\tbm = b.asDense()\n\t\t}\n\t\treturn m.Solve(a, bm)\n\t}\n\n\tv.reuseAs(c)\n\tm := v.asDense()\n\treturn m.Solve(a, b)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/svd.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack\"\n\t\"gonum.org/v1/gonum/lapack/lapack64\"\n)\n\n// SVD is a type for creating and using the Singular Value Decomposition (SVD)\n// of a matrix.\ntype SVD struct {\n\tkind SVDKind\n\n\ts  []float64\n\tu  blas64.General\n\tvt blas64.General\n}\n\n// Factorize computes the singular value decomposition (SVD) of the input matrix\n// A. The singular values of A are computed in all cases, while the singular\n// vectors are optionally computed depending on the input kind.\n//\n// The full singular value decomposition (kind == SVDFull) deconstructs A as\n//  A = U * Σ * V^T\n// where Σ is an m×n diagonal matrix of singular vectors, U is an m×m unitary\n// matrix of left singular vectors, and V is an n×n matrix of right singular vectors.\n//\n// It is frequently not necessary to compute the full SVD. Computation time and\n// storage costs can be reduced using the appropriate kind. Only the singular\n// values can be computed (kind == SVDNone), or a \"thin\" representation of the\n// singular vectors (kind = SVDThin). The thin representation can save a significant\n// amount of memory if m >> n. See the documentation for the lapack.SVDKind values\n// for more information.\n//\n// Factorize returns whether the decomposition succeeded. If the decomposition\n// failed, routines that require a successful factorization will panic.\nfunc (svd *SVD) Factorize(a Matrix, kind SVDKind) (ok bool) {\n\tm, n := a.Dims()\n\tvar jobU, jobVT lapack.SVDJob\n\tswitch kind {\n\tdefault:\n\t\tpanic(\"svd: bad input kind\")\n\tcase SVDNone:\n\t\tjobU = lapack.SVDNone\n\t\tjobVT = lapack.SVDNone\n\tcase SVDFull:\n\t\t// TODO(btracey): This code should be modified to have the smaller\n\t\t// matrix written in-place into aCopy when the lapack/native/dgesvd\n\t\t// implementation is complete.\n\t\tsvd.u = blas64.General{\n\t\t\tRows:   m,\n\t\t\tCols:   m,\n\t\t\tStride: m,\n\t\t\tData:   use(svd.u.Data, m*m),\n\t\t}\n\t\tsvd.vt = blas64.General{\n\t\t\tRows:   n,\n\t\t\tCols:   n,\n\t\t\tStride: n,\n\t\t\tData:   use(svd.vt.Data, n*n),\n\t\t}\n\t\tjobU = lapack.SVDAll\n\t\tjobVT = lapack.SVDAll\n\tcase SVDThin:\n\t\t// TODO(btracey): This code should be modified to have the larger\n\t\t// matrix written in-place into aCopy when the lapack/native/dgesvd\n\t\t// implementation is complete.\n\t\tsvd.u = blas64.General{\n\t\t\tRows:   m,\n\t\t\tCols:   min(m, n),\n\t\t\tStride: min(m, n),\n\t\t\tData:   use(svd.u.Data, m*min(m, n)),\n\t\t}\n\t\tsvd.vt = blas64.General{\n\t\t\tRows:   min(m, n),\n\t\t\tCols:   n,\n\t\t\tStride: n,\n\t\t\tData:   use(svd.vt.Data, min(m, n)*n),\n\t\t}\n\t\tjobU = lapack.SVDInPlace\n\t\tjobVT = lapack.SVDInPlace\n\t}\n\n\t// A is destroyed on call, so copy the matrix.\n\taCopy := DenseCopyOf(a)\n\tsvd.kind = kind\n\tsvd.s = use(svd.s, min(m, n))\n\n\twork := []float64{0}\n\tlapack64.Gesvd(jobU, jobVT, aCopy.mat, svd.u, svd.vt, svd.s, work, -1)\n\twork = getFloats(int(work[0]), false)\n\tok = lapack64.Gesvd(jobU, jobVT, aCopy.mat, svd.u, svd.vt, svd.s, work, len(work))\n\tputFloats(work)\n\tif !ok {\n\t\tsvd.kind = 0\n\t}\n\treturn ok\n}\n\n// Kind returns the matrix.SVDKind of the decomposition. If no decomposition has been\n// computed, Kind returns 0.\nfunc (svd *SVD) Kind() SVDKind {\n\treturn svd.kind\n}\n\n// Cond returns the 2-norm condition number for the factorized matrix. Cond will\n// panic if the receiver does not contain a successful factorization.\nfunc (svd *SVD) Cond() float64 {\n\tif svd.kind == 0 {\n\t\tpanic(\"svd: no decomposition computed\")\n\t}\n\treturn svd.s[0] / svd.s[len(svd.s)-1]\n}\n\n// Values returns the singular values of the factorized matrix in decreasing order.\n// If the input slice is non-nil, the values will be stored in-place into the slice.\n// In this case, the slice must have length min(m,n), and Values will panic with\n// matrix.ErrSliceLengthMismatch otherwise. If the input slice is nil,\n// a new slice of the appropriate length will be allocated and returned.\n//\n// Values will panic if the receiver does not contain a successful factorization.\nfunc (svd *SVD) Values(s []float64) []float64 {\n\tif svd.kind == 0 {\n\t\tpanic(\"svd: no decomposition computed\")\n\t}\n\tif s == nil {\n\t\ts = make([]float64, len(svd.s))\n\t}\n\tif len(s) != len(svd.s) {\n\t\tpanic(ErrSliceLengthMismatch)\n\t}\n\tcopy(s, svd.s)\n\treturn s\n}\n\n// UTo extracts the matrix U from the singular value decomposition, storing\n// the result in-place into dst. U is size m×m if svd.Kind() == SVDFull,\n// of size m×min(m,n) if svd.Kind() == SVDThin, and UTo panics otherwise.\nfunc (svd *SVD) UTo(dst *Dense) *Dense {\n\tkind := svd.kind\n\tif kind != SVDFull && kind != SVDThin {\n\t\tpanic(\"mat: improper SVD kind\")\n\t}\n\tr := svd.u.Rows\n\tc := svd.u.Cols\n\tif dst == nil {\n\t\tdst = NewDense(r, c, nil)\n\t} else {\n\t\tdst.reuseAs(r, c)\n\t}\n\n\ttmp := &Dense{\n\t\tmat:     svd.u,\n\t\tcapRows: r,\n\t\tcapCols: c,\n\t}\n\tdst.Copy(tmp)\n\n\treturn dst\n}\n\n// VTo extracts the matrix V from the singular value decomposition, storing\n// the result in-place into dst. V is size n×n if svd.Kind() == SVDFull,\n// of size n×min(m,n) if svd.Kind() == SVDThin, and VTo panics otherwise.\nfunc (svd *SVD) VTo(dst *Dense) *Dense {\n\tkind := svd.kind\n\tif kind != SVDFull && kind != SVDThin {\n\t\tpanic(\"mat: improper SVD kind\")\n\t}\n\tr := svd.vt.Rows\n\tc := svd.vt.Cols\n\tif dst == nil {\n\t\tdst = NewDense(c, r, nil)\n\t} else {\n\t\tdst.reuseAs(c, r)\n\t}\n\n\ttmp := &Dense{\n\t\tmat:     svd.vt,\n\t\tcapRows: r,\n\t\tcapCols: c,\n\t}\n\tdst.Copy(tmp.T())\n\n\treturn dst\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/symband.go",
    "content": "// Copyright ©2017 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\nvar (\n\tsymBandDense *SymBandDense\n\t_            Matrix           = symBandDense\n\t_            Symmetric        = symBandDense\n\t_            Banded           = symBandDense\n\t_            RawSymBander     = symBandDense\n\t_            MutableSymBanded = symBandDense\n\n\t_ NonZeroDoer    = symBandDense\n\t_ RowNonZeroDoer = symBandDense\n\t_ ColNonZeroDoer = symBandDense\n)\n\n// SymBandDense represents a symmetric band matrix in dense storage format.\ntype SymBandDense struct {\n\tmat blas64.SymmetricBand\n}\n\n// MutableSymBanded is a symmetric band matrix interface type that allows elements\n// to be altered.\ntype MutableSymBanded interface {\n\tSymmetric\n\tBandwidth() (kl, ku int)\n\tSetSymBand(i, j int, v float64)\n}\n\n// A RawSymBander can return a blas64.SymmetricBand representation of the receiver.\n// Changes to the blas64.SymmetricBand.Data slice will be reflected in the original\n// matrix, changes to the N, K, Stride and Uplo fields will not.\ntype RawSymBander interface {\n\tRawSymBand() blas64.SymmetricBand\n}\n\n// NewSymBandDense creates a new SymBand matrix with n rows and columns. If data == nil,\n// a new slice is allocated for the backing slice. If len(data) == n*(k+1),\n// data is used as the backing slice, and changes to the elements of the returned\n// SymBandDense will be reflected in data. If neither of these is true, NewSymBandDense\n// will panic. k must be at least zero and less than n, otherwise NewBandDense will panic.\n//\n// The data must be arranged in row-major order constructed by removing the zeros\n// from the rows outside the band and aligning the diagonals. SymBandDense matrices\n// are stored in the upper triangle. For example, the matrix\n//    1  2  3  0  0  0\n//    2  4  5  6  0  0\n//    3  5  7  8  9  0\n//    0  6  8 10 11 12\n//    0  0  9 11 13 14\n//    0  0  0 12 14 15\n// becomes (* entries are never accessed)\n//     1  2  3\n//     4  5  6\n//     7  8  9\n//    10 11 12\n//    13 14  *\n//    15  *  *\n// which is passed to NewBandDense as []float64{1, 2, 3, 4, ...} with k=2.\n// Only the values in the band portion of the matrix are used.\nfunc NewSymBandDense(n, k int, data []float64) *SymBandDense {\n\tif n < 0 || k < 0 {\n\t\tpanic(\"mat: negative dimension\")\n\t}\n\tif k+1 > n {\n\t\tpanic(\"mat: band out of range\")\n\t}\n\tbc := k + 1\n\tif data != nil && len(data) != n*bc {\n\t\tpanic(ErrShape)\n\t}\n\tif data == nil {\n\t\tdata = make([]float64, n*bc)\n\t}\n\treturn &SymBandDense{\n\t\tmat: blas64.SymmetricBand{\n\t\t\tN:      n,\n\t\t\tK:      k,\n\t\t\tStride: bc,\n\t\t\tUplo:   blas.Upper,\n\t\t\tData:   data,\n\t\t},\n\t}\n}\n\n// NewDiagonal is a convenience function that returns a diagonal matrix represented by a\n// SymBandDense. The length of data must be n or data must be nil, otherwise NewDiagonal\n// will panic.\nfunc NewDiagonal(n int, data []float64) *SymBandDense {\n\treturn NewSymBandDense(n, 0, data)\n}\n\n// Dims returns the number of rows and columns in the matrix.\nfunc (s *SymBandDense) Dims() (r, c int) {\n\treturn s.mat.N, s.mat.N\n}\n\n// Symmetric returns the size of the receiver.\nfunc (s *SymBandDense) Symmetric() int {\n\treturn s.mat.N\n}\n\n// Bandwidth returns the bandwidths of the matrix.\nfunc (s *SymBandDense) Bandwidth() (kl, ku int) {\n\treturn s.mat.K, s.mat.K\n}\n\n// T implements the Matrix interface. Symmetric matrices, by definition, are\n// equal to their transpose, and this is a no-op.\nfunc (s *SymBandDense) T() Matrix {\n\treturn s\n}\n\n// TBand implements the Banded interface.\nfunc (s *SymBandDense) TBand() Banded {\n\treturn s\n}\n\n// RawSymBand returns the underlying blas64.SymBand used by the receiver.\n// Changes to elements in the receiver following the call will be reflected\n// in returned blas64.SymBand.\nfunc (s *SymBandDense) RawSymBand() blas64.SymmetricBand {\n\treturn s.mat\n}\n\n// DoNonZero calls the function fn for each of the non-zero elements of s. The function fn\n// takes a row/column index and the element value of s at (i, j).\nfunc (s *SymBandDense) DoNonZero(fn func(i, j int, v float64)) {\n\tfor i := 0; i < s.mat.N; i++ {\n\t\tfor j := max(0, i-s.mat.K); j < min(s.mat.N, i+s.mat.K+1); j++ {\n\t\t\tv := s.at(i, j)\n\t\t\tif v != 0 {\n\t\t\t\tfn(i, j, v)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// DoRowNonZero calls the function fn for each of the non-zero elements of row i of s. The function fn\n// takes a row/column index and the element value of s at (i, j).\nfunc (s *SymBandDense) DoRowNonZero(i int, fn func(i, j int, v float64)) {\n\tif i < 0 || s.mat.N <= i {\n\t\tpanic(ErrRowAccess)\n\t}\n\tfor j := max(0, i-s.mat.K); j < min(s.mat.N, i+s.mat.K+1); j++ {\n\t\tv := s.at(i, j)\n\t\tif v != 0 {\n\t\t\tfn(i, j, v)\n\t\t}\n\t}\n}\n\n// DoColNonZero calls the function fn for each of the non-zero elements of column j of s. The function fn\n// takes a row/column index and the element value of s at (i, j).\nfunc (s *SymBandDense) DoColNonZero(j int, fn func(i, j int, v float64)) {\n\tif j < 0 || s.mat.N <= j {\n\t\tpanic(ErrColAccess)\n\t}\n\tfor i := 0; i < s.mat.N; i++ {\n\t\tif i-s.mat.K <= j && j < i+s.mat.K+1 {\n\t\t\tv := s.at(i, j)\n\t\t\tif v != 0 {\n\t\t\t\tfn(i, j, v)\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/symmetric.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n)\n\nvar (\n\tsymDense *SymDense\n\n\t_ Matrix           = symDense\n\t_ Symmetric        = symDense\n\t_ RawSymmetricer   = symDense\n\t_ MutableSymmetric = symDense\n)\n\nconst (\n\tbadSymTriangle = \"mat: blas64.Symmetric not upper\"\n\tbadSymCap      = \"mat: bad capacity for SymDense\"\n)\n\n// SymDense is a symmetric matrix that uses dense storage. SymDense\n// matrices are stored in the upper triangle.\ntype SymDense struct {\n\tmat blas64.Symmetric\n\tcap int\n}\n\n// Symmetric represents a symmetric matrix (where the element at {i, j} equals\n// the element at {j, i}). Symmetric matrices are always square.\ntype Symmetric interface {\n\tMatrix\n\t// Symmetric returns the number of rows/columns in the matrix.\n\tSymmetric() int\n}\n\n// A RawSymmetricer can return a view of itself as a BLAS Symmetric matrix.\ntype RawSymmetricer interface {\n\tRawSymmetric() blas64.Symmetric\n}\n\n// A MutableSymmetric can set elements of a symmetric matrix.\ntype MutableSymmetric interface {\n\tSymmetric\n\tSetSym(i, j int, v float64)\n}\n\n// NewSymDense creates a new Symmetric matrix with n rows and columns. If data == nil,\n// a new slice is allocated for the backing slice. If len(data) == n*n, data is\n// used as the backing slice, and changes to the elements of the returned SymDense\n// will be reflected in data. If neither of these is true, NewSymDense will panic.\n//\n// The data must be arranged in row-major order, i.e. the (i*c + j)-th\n// element in the data slice is the {i, j}-th element in the matrix.\n// Only the values in the upper triangular portion of the matrix are used.\nfunc NewSymDense(n int, data []float64) *SymDense {\n\tif n < 0 {\n\t\tpanic(\"mat: negative dimension\")\n\t}\n\tif data != nil && n*n != len(data) {\n\t\tpanic(ErrShape)\n\t}\n\tif data == nil {\n\t\tdata = make([]float64, n*n)\n\t}\n\treturn &SymDense{\n\t\tmat: blas64.Symmetric{\n\t\t\tN:      n,\n\t\t\tStride: n,\n\t\t\tData:   data,\n\t\t\tUplo:   blas.Upper,\n\t\t},\n\t\tcap: n,\n\t}\n}\n\n// Dims returns the number of rows and columns in the matrix.\nfunc (s *SymDense) Dims() (r, c int) {\n\treturn s.mat.N, s.mat.N\n}\n\n// Caps returns the number of rows and columns in the backing matrix.\nfunc (s *SymDense) Caps() (r, c int) {\n\treturn s.cap, s.cap\n}\n\n// T implements the Matrix interface. Symmetric matrices, by definition, are\n// equal to their transpose, and this is a no-op.\nfunc (s *SymDense) T() Matrix {\n\treturn s\n}\n\nfunc (s *SymDense) Symmetric() int {\n\treturn s.mat.N\n}\n\n// RawSymmetric returns the matrix as a blas64.Symmetric. The returned\n// value must be stored in upper triangular format.\nfunc (s *SymDense) RawSymmetric() blas64.Symmetric {\n\treturn s.mat\n}\n\n// SetRawSymmetric sets the underlying blas64.Symmetric used by the receiver.\n// Changes to elements in the receiver following the call will be reflected\n// in b. SetRawSymmetric will panic if b is not an upper-encoded symmetric\n// matrix.\nfunc (s *SymDense) SetRawSymmetric(b blas64.Symmetric) {\n\tif b.Uplo != blas.Upper {\n\t\tpanic(badSymTriangle)\n\t}\n\ts.mat = b\n}\n\n// Reset zeros the dimensions of the matrix so that it can be reused as the\n// receiver of a dimensionally restricted operation.\n//\n// See the Reseter interface for more information.\nfunc (s *SymDense) Reset() {\n\t// N and Stride must be zeroed in unison.\n\ts.mat.N, s.mat.Stride = 0, 0\n\ts.mat.Data = s.mat.Data[:0]\n}\n\n// IsZero returns whether the receiver is zero-sized. Zero-sized matrices can be the\n// receiver for size-restricted operations. SymDense matrices can be zeroed using Reset.\nfunc (s *SymDense) IsZero() bool {\n\t// It must be the case that m.Dims() returns\n\t// zeros in this case. See comment in Reset().\n\treturn s.mat.N == 0\n}\n\n// reuseAs resizes an empty matrix to a n×n matrix,\n// or checks that a non-empty matrix is n×n.\nfunc (s *SymDense) reuseAs(n int) {\n\tif s.mat.N > s.cap {\n\t\tpanic(badSymCap)\n\t}\n\tif s.IsZero() {\n\t\ts.mat = blas64.Symmetric{\n\t\t\tN:      n,\n\t\t\tStride: n,\n\t\t\tData:   use(s.mat.Data, n*n),\n\t\t\tUplo:   blas.Upper,\n\t\t}\n\t\ts.cap = n\n\t\treturn\n\t}\n\tif s.mat.Uplo != blas.Upper {\n\t\tpanic(badSymTriangle)\n\t}\n\tif s.mat.N != n {\n\t\tpanic(ErrShape)\n\t}\n}\n\nfunc (s *SymDense) isolatedWorkspace(a Symmetric) (w *SymDense, restore func()) {\n\tn := a.Symmetric()\n\tw = getWorkspaceSym(n, false)\n\treturn w, func() {\n\t\ts.CopySym(w)\n\t\tputWorkspaceSym(w)\n\t}\n}\n\nfunc (s *SymDense) AddSym(a, b Symmetric) {\n\tn := a.Symmetric()\n\tif n != b.Symmetric() {\n\t\tpanic(ErrShape)\n\t}\n\ts.reuseAs(n)\n\n\tif a, ok := a.(RawSymmetricer); ok {\n\t\tif b, ok := b.(RawSymmetricer); ok {\n\t\t\tamat, bmat := a.RawSymmetric(), b.RawSymmetric()\n\t\t\tif s != a {\n\t\t\t\ts.checkOverlap(generalFromSymmetric(amat))\n\t\t\t}\n\t\t\tif s != b {\n\t\t\t\ts.checkOverlap(generalFromSymmetric(bmat))\n\t\t\t}\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tbtmp := bmat.Data[i*bmat.Stride+i : i*bmat.Stride+n]\n\t\t\t\tstmp := s.mat.Data[i*s.mat.Stride+i : i*s.mat.Stride+n]\n\t\t\t\tfor j, v := range amat.Data[i*amat.Stride+i : i*amat.Stride+n] {\n\t\t\t\t\tstmp[j] = v + btmp[j]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\n\tfor i := 0; i < n; i++ {\n\t\tstmp := s.mat.Data[i*s.mat.Stride : i*s.mat.Stride+n]\n\t\tfor j := i; j < n; j++ {\n\t\t\tstmp[j] = a.At(i, j) + b.At(i, j)\n\t\t}\n\t}\n}\n\nfunc (s *SymDense) CopySym(a Symmetric) int {\n\tn := a.Symmetric()\n\tn = min(n, s.mat.N)\n\tif n == 0 {\n\t\treturn 0\n\t}\n\tswitch a := a.(type) {\n\tcase RawSymmetricer:\n\t\tamat := a.RawSymmetric()\n\t\tif amat.Uplo != blas.Upper {\n\t\t\tpanic(badSymTriangle)\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tcopy(s.mat.Data[i*s.mat.Stride+i:i*s.mat.Stride+n], amat.Data[i*amat.Stride+i:i*amat.Stride+n])\n\t\t}\n\tdefault:\n\t\tfor i := 0; i < n; i++ {\n\t\t\tstmp := s.mat.Data[i*s.mat.Stride : i*s.mat.Stride+n]\n\t\t\tfor j := i; j < n; j++ {\n\t\t\t\tstmp[j] = a.At(i, j)\n\t\t\t}\n\t\t}\n\t}\n\treturn n\n}\n\n// SymRankOne performs a symetric rank-one update to the matrix a and stores\n// the result in the receiver\n//  s = a + alpha * x * x'\nfunc (s *SymDense) SymRankOne(a Symmetric, alpha float64, x *VecDense) {\n\tn := x.Len()\n\tif a.Symmetric() != n {\n\t\tpanic(ErrShape)\n\t}\n\ts.reuseAs(n)\n\tif s != a {\n\t\tif rs, ok := a.(RawSymmetricer); ok {\n\t\t\ts.checkOverlap(generalFromSymmetric(rs.RawSymmetric()))\n\t\t}\n\t\ts.CopySym(a)\n\t}\n\tblas64.Syr(alpha, x.mat, s.mat)\n}\n\n// SymRankK performs a symmetric rank-k update to the matrix a and stores the\n// result into the receiver. If a is zero, see SymOuterK.\n//  s = a + alpha * x * x'\nfunc (s *SymDense) SymRankK(a Symmetric, alpha float64, x Matrix) {\n\tn := a.Symmetric()\n\tr, _ := x.Dims()\n\tif r != n {\n\t\tpanic(ErrShape)\n\t}\n\txMat, aTrans := untranspose(x)\n\tvar g blas64.General\n\tif rm, ok := xMat.(RawMatrixer); ok {\n\t\tg = rm.RawMatrix()\n\t} else {\n\t\tg = DenseCopyOf(x).mat\n\t\taTrans = false\n\t}\n\tif a != s {\n\t\tif rs, ok := a.(RawSymmetricer); ok {\n\t\t\ts.checkOverlap(generalFromSymmetric(rs.RawSymmetric()))\n\t\t}\n\t\ts.reuseAs(n)\n\t\ts.CopySym(a)\n\t}\n\tt := blas.NoTrans\n\tif aTrans {\n\t\tt = blas.Trans\n\t}\n\tblas64.Syrk(t, alpha, g, 1, s.mat)\n}\n\n// SymOuterK calculates the outer product of x with itself and stores\n// the result into the receiver. It is equivalent to the matrix\n// multiplication\n//  s = alpha * x * x'.\n// In order to update an existing matrix, see SymRankOne.\nfunc (s *SymDense) SymOuterK(alpha float64, x Matrix) {\n\tn, _ := x.Dims()\n\tswitch {\n\tcase s.IsZero():\n\t\ts.mat = blas64.Symmetric{\n\t\t\tN:      n,\n\t\t\tStride: n,\n\t\t\tData:   useZeroed(s.mat.Data, n*n),\n\t\t\tUplo:   blas.Upper,\n\t\t}\n\t\ts.cap = n\n\t\ts.SymRankK(s, alpha, x)\n\tcase s.mat.Uplo != blas.Upper:\n\t\tpanic(badSymTriangle)\n\tcase s.mat.N == n:\n\t\tif s == x {\n\t\t\tw := getWorkspaceSym(n, true)\n\t\t\tw.SymRankK(w, alpha, x)\n\t\t\ts.CopySym(w)\n\t\t\tputWorkspaceSym(w)\n\t\t} else {\n\t\t\tswitch r := x.(type) {\n\t\t\tcase RawMatrixer:\n\t\t\t\ts.checkOverlap(r.RawMatrix())\n\t\t\tcase RawSymmetricer:\n\t\t\t\ts.checkOverlap(generalFromSymmetric(r.RawSymmetric()))\n\t\t\tcase RawTriangular:\n\t\t\t\ts.checkOverlap(generalFromTriangular(r.RawTriangular()))\n\t\t\t}\n\t\t\t// Only zero the upper triangle.\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tri := i * s.mat.Stride\n\t\t\t\tzero(s.mat.Data[ri+i : ri+n])\n\t\t\t}\n\t\t\ts.SymRankK(s, alpha, x)\n\t\t}\n\tdefault:\n\t\tpanic(ErrShape)\n\t}\n}\n\n// RankTwo performs a symmmetric rank-two update to the matrix a and stores\n// the result in the receiver\n//  m = a + alpha * (x * y' + y * x')\nfunc (s *SymDense) RankTwo(a Symmetric, alpha float64, x, y *VecDense) {\n\tn := s.mat.N\n\tif x.Len() != n {\n\t\tpanic(ErrShape)\n\t}\n\tif y.Len() != n {\n\t\tpanic(ErrShape)\n\t}\n\tvar w SymDense\n\tif s == a {\n\t\tw = *s\n\t}\n\tw.reuseAs(n)\n\tif s != a {\n\t\tif rs, ok := a.(RawSymmetricer); ok {\n\t\t\ts.checkOverlap(generalFromSymmetric(rs.RawSymmetric()))\n\t\t}\n\t\tw.CopySym(a)\n\t}\n\tblas64.Syr2(alpha, x.mat, y.mat, w.mat)\n\t*s = w\n}\n\n// ScaleSym multiplies the elements of a by f, placing the result in the receiver.\nfunc (s *SymDense) ScaleSym(f float64, a Symmetric) {\n\tn := a.Symmetric()\n\ts.reuseAs(n)\n\tif a, ok := a.(RawSymmetricer); ok {\n\t\tamat := a.RawSymmetric()\n\t\tif s != a {\n\t\t\ts.checkOverlap(generalFromSymmetric(amat))\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tfor j := i; j < n; j++ {\n\t\t\t\ts.mat.Data[i*s.mat.Stride+j] = f * amat.Data[i*amat.Stride+j]\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tfor j := i; j < n; j++ {\n\t\t\ts.mat.Data[i*s.mat.Stride+j] = f * a.At(i, j)\n\t\t}\n\t}\n}\n\n// SubsetSym extracts a subset of the rows and columns of the matrix a and stores\n// the result in-place into the receiver. The resulting matrix size is\n// len(set)×len(set). Specifically, at the conclusion of SubsetSym,\n// s.At(i, j) equals a.At(set[i], set[j]). Note that the supplied set does not\n// have to be a strict subset, dimension repeats are allowed.\nfunc (s *SymDense) SubsetSym(a Symmetric, set []int) {\n\tn := len(set)\n\tna := a.Symmetric()\n\ts.reuseAs(n)\n\tvar restore func()\n\tif a == s {\n\t\ts, restore = s.isolatedWorkspace(a)\n\t\tdefer restore()\n\t}\n\n\tif a, ok := a.(RawSymmetricer); ok {\n\t\traw := a.RawSymmetric()\n\t\tif s != a {\n\t\t\ts.checkOverlap(generalFromSymmetric(raw))\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tssub := s.mat.Data[i*s.mat.Stride : i*s.mat.Stride+n]\n\t\t\tr := set[i]\n\t\t\trsub := raw.Data[r*raw.Stride : r*raw.Stride+na]\n\t\t\tfor j := i; j < n; j++ {\n\t\t\t\tc := set[j]\n\t\t\t\tif r <= c {\n\t\t\t\t\tssub[j] = rsub[c]\n\t\t\t\t} else {\n\t\t\t\t\tssub[j] = raw.Data[c*raw.Stride+r]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tfor j := i; j < n; j++ {\n\t\t\ts.mat.Data[i*s.mat.Stride+j] = a.At(set[i], set[j])\n\t\t}\n\t}\n}\n\n// SliceSquare returns a new Matrix that shares backing data with the receiver.\n// The returned matrix starts at {i,i} of the receiver and extends k-i rows\n// and columns. The final row and column in the resulting matrix is k-1.\n// SliceSquare panics with ErrIndexOutOfRange if the slice is outside the capacity\n// of the receiver.\nfunc (s *SymDense) SliceSquare(i, k int) Matrix {\n\tsz := s.cap\n\tif i < 0 || sz < i || k < i || sz < k {\n\t\tpanic(ErrIndexOutOfRange)\n\t}\n\tv := *s\n\tv.mat.Data = s.mat.Data[i*s.mat.Stride+i : (k-1)*s.mat.Stride+k]\n\tv.mat.N = k - i\n\tv.cap = s.cap - i\n\treturn &v\n}\n\n// GrowSquare returns the receiver expanded by n rows and n columns. If the\n// dimensions of the expanded matrix are outside the capacity of the receiver\n// a new allocation is made, otherwise not. Note that the receiver itself is\n// not modified during the call to GrowSquare.\nfunc (s *SymDense) GrowSquare(n int) Matrix {\n\tif n < 0 {\n\t\tpanic(ErrIndexOutOfRange)\n\t}\n\tif n == 0 {\n\t\treturn s\n\t}\n\tvar v SymDense\n\tn += s.mat.N\n\tif n > s.cap {\n\t\tv.mat = blas64.Symmetric{\n\t\t\tN:      n,\n\t\t\tStride: n,\n\t\t\tUplo:   blas.Upper,\n\t\t\tData:   make([]float64, n*n),\n\t\t}\n\t\tv.cap = n\n\t\t// Copy elements, including those not currently visible. Use a temporary\n\t\t// structure to avoid modifying the receiver.\n\t\tvar tmp SymDense\n\t\ttmp.mat = blas64.Symmetric{\n\t\t\tN:      s.cap,\n\t\t\tStride: s.mat.Stride,\n\t\t\tData:   s.mat.Data,\n\t\t\tUplo:   s.mat.Uplo,\n\t\t}\n\t\ttmp.cap = s.cap\n\t\tv.CopySym(&tmp)\n\t\treturn &v\n\t}\n\tv.mat = blas64.Symmetric{\n\t\tN:      n,\n\t\tStride: s.mat.Stride,\n\t\tUplo:   blas.Upper,\n\t\tData:   s.mat.Data[:(n-1)*s.mat.Stride+n],\n\t}\n\tv.cap = s.cap\n\treturn &v\n}\n\n// PowPSD computes a^pow where a is a positive symmetric definite matrix.\n//\n// PowPSD returns an error if the matrix is not  not positive symmetric definite\n// or the Eigendecomposition is not successful.\nfunc (s *SymDense) PowPSD(a Symmetric, pow float64) error {\n\tdim := a.Symmetric()\n\ts.reuseAs(dim)\n\n\tvar eigen EigenSym\n\tok := eigen.Factorize(a, true)\n\tif !ok {\n\t\treturn ErrFailedEigen\n\t}\n\tvalues := eigen.Values(nil)\n\tfor i, v := range values {\n\t\tif v <= 0 {\n\t\t\treturn ErrNotPSD\n\t\t}\n\t\tvalues[i] = math.Pow(v, pow)\n\t}\n\tvar u Dense\n\tu.EigenvectorsSym(&eigen)\n\n\ts.SymOuterK(values[0], u.ColView(0))\n\n\tvar v VecDense\n\tfor i := 1; i < dim; i++ {\n\t\tv.ColViewOf(&u, i)\n\t\ts.SymRankOne(s, values[i], &v)\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/triangular.go",
    "content": "// Copyright ©2015 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/lapack/lapack64\"\n)\n\nvar (\n\ttriDense *TriDense\n\t_        Matrix            = triDense\n\t_        Triangular        = triDense\n\t_        RawTriangular     = triDense\n\t_        MutableTriangular = triDense\n\n\t_ NonZeroDoer    = triDense\n\t_ RowNonZeroDoer = triDense\n\t_ ColNonZeroDoer = triDense\n)\n\nconst badTriCap = \"mat: bad capacity for TriDense\"\n\n// TriDense represents an upper or lower triangular matrix in dense storage\n// format.\ntype TriDense struct {\n\tmat blas64.Triangular\n\tcap int\n}\n\n// Triangular represents a triangular matrix. Triangular matrices are always square.\ntype Triangular interface {\n\tMatrix\n\t// Triangular returns the number of rows/columns in the matrix and its\n\t// orientation.\n\tTriangle() (n int, kind TriKind)\n\n\t// TTri is the equivalent of the T() method in the Matrix interface but\n\t// guarantees the transpose is of triangular type.\n\tTTri() Triangular\n}\n\n// A RawTriangular can return a view of itself as a BLAS Triangular matrix.\ntype RawTriangular interface {\n\tRawTriangular() blas64.Triangular\n}\n\n// A MutableTriangular can set elements of a triangular matrix.\ntype MutableTriangular interface {\n\tTriangular\n\tSetTri(i, j int, v float64)\n}\n\nvar (\n\t_ Matrix           = TransposeTri{}\n\t_ Triangular       = TransposeTri{}\n\t_ UntransposeTrier = TransposeTri{}\n)\n\n// TransposeTri is a type for performing an implicit transpose of a Triangular\n// matrix. It implements the Triangular interface, returning values from the\n// transpose of the matrix within.\ntype TransposeTri struct {\n\tTriangular Triangular\n}\n\n// At returns the value of the element at row i and column j of the transposed\n// matrix, that is, row j and column i of the Triangular field.\nfunc (t TransposeTri) At(i, j int) float64 {\n\treturn t.Triangular.At(j, i)\n}\n\n// Dims returns the dimensions of the transposed matrix. Triangular matrices are\n// square and thus this is the same size as the original Triangular.\nfunc (t TransposeTri) Dims() (r, c int) {\n\tc, r = t.Triangular.Dims()\n\treturn r, c\n}\n\n// T performs an implicit transpose by returning the Triangular field.\nfunc (t TransposeTri) T() Matrix {\n\treturn t.Triangular\n}\n\n// Triangle returns the number of rows/columns in the matrix and its orientation.\nfunc (t TransposeTri) Triangle() (int, TriKind) {\n\tn, upper := t.Triangular.Triangle()\n\treturn n, !upper\n}\n\n// TTri performs an implicit transpose by returning the Triangular field.\nfunc (t TransposeTri) TTri() Triangular {\n\treturn t.Triangular\n}\n\n// Untranspose returns the Triangular field.\nfunc (t TransposeTri) Untranspose() Matrix {\n\treturn t.Triangular\n}\n\nfunc (t TransposeTri) UntransposeTri() Triangular {\n\treturn t.Triangular\n}\n\n// NewTriDense creates a new Triangular matrix with n rows and columns. If data == nil,\n// a new slice is allocated for the backing slice. If len(data) == n*n, data is\n// used as the backing slice, and changes to the elements of the returned TriDense\n// will be reflected in data. If neither of these is true, NewTriDense will panic.\n//\n// The data must be arranged in row-major order, i.e. the (i*c + j)-th\n// element in the data slice is the {i, j}-th element in the matrix.\n// Only the values in the triangular portion corresponding to kind are used.\nfunc NewTriDense(n int, kind TriKind, data []float64) *TriDense {\n\tif n < 0 {\n\t\tpanic(\"mat: negative dimension\")\n\t}\n\tif data != nil && len(data) != n*n {\n\t\tpanic(ErrShape)\n\t}\n\tif data == nil {\n\t\tdata = make([]float64, n*n)\n\t}\n\tuplo := blas.Lower\n\tif kind == Upper {\n\t\tuplo = blas.Upper\n\t}\n\treturn &TriDense{\n\t\tmat: blas64.Triangular{\n\t\t\tN:      n,\n\t\t\tStride: n,\n\t\t\tData:   data,\n\t\t\tUplo:   uplo,\n\t\t\tDiag:   blas.NonUnit,\n\t\t},\n\t\tcap: n,\n\t}\n}\n\nfunc (t *TriDense) Dims() (r, c int) {\n\treturn t.mat.N, t.mat.N\n}\n\n// Triangle returns the dimension of t and its orientation. The returned\n// orientation is only valid when n is not zero.\nfunc (t *TriDense) Triangle() (n int, kind TriKind) {\n\treturn t.mat.N, TriKind(!t.IsZero()) && t.triKind()\n}\n\nfunc (t *TriDense) isUpper() bool {\n\treturn isUpperUplo(t.mat.Uplo)\n}\n\nfunc (t *TriDense) triKind() TriKind {\n\treturn TriKind(isUpperUplo(t.mat.Uplo))\n}\n\nfunc isUpperUplo(u blas.Uplo) bool {\n\tswitch u {\n\tcase blas.Upper:\n\t\treturn true\n\tcase blas.Lower:\n\t\treturn false\n\tdefault:\n\t\tpanic(badTriangle)\n\t}\n}\n\n// asSymBlas returns the receiver restructured as a blas64.Symmetric with the\n// same backing memory. Panics if the receiver is unit.\n// This returns a blas64.Symmetric and not a *SymDense because SymDense can only\n// be upper triangular.\nfunc (t *TriDense) asSymBlas() blas64.Symmetric {\n\tif t.mat.Diag == blas.Unit {\n\t\tpanic(\"mat: cannot convert unit TriDense into blas64.Symmetric\")\n\t}\n\treturn blas64.Symmetric{\n\t\tN:      t.mat.N,\n\t\tStride: t.mat.Stride,\n\t\tData:   t.mat.Data,\n\t\tUplo:   t.mat.Uplo,\n\t}\n}\n\n// T performs an implicit transpose by returning the receiver inside a Transpose.\nfunc (t *TriDense) T() Matrix {\n\treturn Transpose{t}\n}\n\n// TTri performs an implicit transpose by returning the receiver inside a TransposeTri.\nfunc (t *TriDense) TTri() Triangular {\n\treturn TransposeTri{t}\n}\n\nfunc (t *TriDense) RawTriangular() blas64.Triangular {\n\treturn t.mat\n}\n\n// Reset zeros the dimensions of the matrix so that it can be reused as the\n// receiver of a dimensionally restricted operation.\n//\n// See the Reseter interface for more information.\nfunc (t *TriDense) Reset() {\n\t// N and Stride must be zeroed in unison.\n\tt.mat.N, t.mat.Stride = 0, 0\n\t// Defensively zero Uplo to ensure\n\t// it is set correctly later.\n\tt.mat.Uplo = 0\n\tt.mat.Data = t.mat.Data[:0]\n}\n\n// IsZero returns whether the receiver is zero-sized. Zero-sized matrices can be the\n// receiver for size-restricted operations. TriDense matrices can be zeroed using Reset.\nfunc (t *TriDense) IsZero() bool {\n\t// It must be the case that t.Dims() returns\n\t// zeros in this case. See comment in Reset().\n\treturn t.mat.Stride == 0\n}\n\n// untranspose untransposes a matrix if applicable. If a is an Untransposer, then\n// untranspose returns the underlying matrix and true. If it is not, then it returns\n// the input matrix and false.\nfunc untransposeTri(a Triangular) (Triangular, bool) {\n\tif ut, ok := a.(UntransposeTrier); ok {\n\t\treturn ut.UntransposeTri(), true\n\t}\n\treturn a, false\n}\n\n// reuseAs resizes a zero receiver to an n×n triangular matrix with the given\n// orientation. If the receiver is non-zero, reuseAs checks that the receiver\n// is the correct size and orientation.\nfunc (t *TriDense) reuseAs(n int, kind TriKind) {\n\tul := blas.Lower\n\tif kind == Upper {\n\t\tul = blas.Upper\n\t}\n\tif t.mat.N > t.cap {\n\t\tpanic(badTriCap)\n\t}\n\tif t.IsZero() {\n\t\tt.mat = blas64.Triangular{\n\t\t\tN:      n,\n\t\t\tStride: n,\n\t\t\tDiag:   blas.NonUnit,\n\t\t\tData:   use(t.mat.Data, n*n),\n\t\t\tUplo:   ul,\n\t\t}\n\t\tt.cap = n\n\t\treturn\n\t}\n\tif t.mat.N != n {\n\t\tpanic(ErrShape)\n\t}\n\tif t.mat.Uplo != ul {\n\t\tpanic(ErrTriangle)\n\t}\n}\n\n// isolatedWorkspace returns a new TriDense matrix w with the size of a and\n// returns a callback to defer which performs cleanup at the return of the call.\n// This should be used when a method receiver is the same pointer as an input argument.\nfunc (t *TriDense) isolatedWorkspace(a Triangular) (w *TriDense, restore func()) {\n\tn, kind := a.Triangle()\n\tif n == 0 {\n\t\tpanic(\"zero size\")\n\t}\n\tw = getWorkspaceTri(n, kind, false)\n\treturn w, func() {\n\t\tt.Copy(w)\n\t\tputWorkspaceTri(w)\n\t}\n}\n\n// Copy makes a copy of elements of a into the receiver. It is similar to the\n// built-in copy; it copies as much as the overlap between the two matrices and\n// returns the number of rows and columns it copied. Only elements within the\n// receiver's non-zero triangle are set.\n//\n// See the Copier interface for more information.\nfunc (t *TriDense) Copy(a Matrix) (r, c int) {\n\tr, c = a.Dims()\n\tr = min(r, t.mat.N)\n\tc = min(c, t.mat.N)\n\tif r == 0 || c == 0 {\n\t\treturn 0, 0\n\t}\n\n\tswitch a := a.(type) {\n\tcase RawMatrixer:\n\t\tamat := a.RawMatrix()\n\t\tif t.isUpper() {\n\t\t\tfor i := 0; i < r; i++ {\n\t\t\t\tcopy(t.mat.Data[i*t.mat.Stride+i:i*t.mat.Stride+c], amat.Data[i*amat.Stride+i:i*amat.Stride+c])\n\t\t\t}\n\t\t} else {\n\t\t\tfor i := 0; i < r; i++ {\n\t\t\t\tcopy(t.mat.Data[i*t.mat.Stride:i*t.mat.Stride+i+1], amat.Data[i*amat.Stride:i*amat.Stride+i+1])\n\t\t\t}\n\t\t}\n\tcase RawTriangular:\n\t\tamat := a.RawTriangular()\n\t\taIsUpper := isUpperUplo(amat.Uplo)\n\t\ttIsUpper := t.isUpper()\n\t\tswitch {\n\t\tcase tIsUpper && aIsUpper:\n\t\t\tfor i := 0; i < r; i++ {\n\t\t\t\tcopy(t.mat.Data[i*t.mat.Stride+i:i*t.mat.Stride+c], amat.Data[i*amat.Stride+i:i*amat.Stride+c])\n\t\t\t}\n\t\tcase !tIsUpper && !aIsUpper:\n\t\t\tfor i := 0; i < r; i++ {\n\t\t\t\tcopy(t.mat.Data[i*t.mat.Stride:i*t.mat.Stride+i+1], amat.Data[i*amat.Stride:i*amat.Stride+i+1])\n\t\t\t}\n\t\tdefault:\n\t\t\tfor i := 0; i < r; i++ {\n\t\t\t\tt.set(i, i, amat.Data[i*amat.Stride+i])\n\t\t\t}\n\t\t}\n\tdefault:\n\t\tisUpper := t.isUpper()\n\t\tfor i := 0; i < r; i++ {\n\t\t\tif isUpper {\n\t\t\t\tfor j := i; j < c; j++ {\n\t\t\t\t\tt.set(i, j, a.At(i, j))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\t\tt.set(i, j, a.At(i, j))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn r, c\n}\n\n// InverseTri computes the inverse of the triangular matrix a, storing the result\n// into the receiver. If a is ill-conditioned, a Condition error will be returned.\n// Note that matrix inversion is numerically unstable, and should generally be\n// avoided where possible, for example by using the Solve routines.\nfunc (t *TriDense) InverseTri(a Triangular) error {\n\tif rt, ok := a.(RawTriangular); ok {\n\t\tt.checkOverlap(generalFromTriangular(rt.RawTriangular()))\n\t}\n\tn, _ := a.Triangle()\n\tt.reuseAs(a.Triangle())\n\tt.Copy(a)\n\twork := getFloats(3*n, false)\n\tiwork := getInts(n, false)\n\tcond := lapack64.Trcon(CondNorm, t.mat, work, iwork)\n\tputFloats(work)\n\tputInts(iwork)\n\tif math.IsInf(cond, 1) {\n\t\treturn Condition(cond)\n\t}\n\tok := lapack64.Trtri(t.mat)\n\tif !ok {\n\t\treturn Condition(math.Inf(1))\n\t}\n\tif cond > ConditionTolerance {\n\t\treturn Condition(cond)\n\t}\n\treturn nil\n}\n\n// MulTri takes the product of triangular matrices a and b and places the result\n// in the receiver. The size of a and b must match, and they both must have the\n// same TriKind, or Mul will panic.\nfunc (t *TriDense) MulTri(a, b Triangular) {\n\tn, kind := a.Triangle()\n\tnb, kindb := b.Triangle()\n\tif n != nb {\n\t\tpanic(ErrShape)\n\t}\n\tif kind != kindb {\n\t\tpanic(ErrTriangle)\n\t}\n\n\taU, _ := untransposeTri(a)\n\tbU, _ := untransposeTri(b)\n\tt.reuseAs(n, kind)\n\tvar restore func()\n\tif t == aU {\n\t\tt, restore = t.isolatedWorkspace(aU)\n\t\tdefer restore()\n\t} else if t == bU {\n\t\tt, restore = t.isolatedWorkspace(bU)\n\t\tdefer restore()\n\t}\n\n\t// TODO(btracey): Improve the set of fast-paths.\n\tif kind == Upper {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tfor j := i; j < n; j++ {\n\t\t\t\tvar v float64\n\t\t\t\tfor k := i; k <= j; k++ {\n\t\t\t\t\tv += a.At(i, k) * b.At(k, j)\n\t\t\t\t}\n\t\t\t\tt.SetTri(i, j, v)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tfor j := 0; j <= i; j++ {\n\t\t\tvar v float64\n\t\t\tfor k := j; k <= i; k++ {\n\t\t\t\tv += a.At(i, k) * b.At(k, j)\n\t\t\t}\n\t\t\tt.SetTri(i, j, v)\n\t\t}\n\t}\n}\n\n// ScaleTri multiplies the elements of a by f, placing the result in the receiver.\n// If the receiver is non-zero, the size and kind of the receiver must match\n// the input, or ScaleTri will panic.\nfunc (t *TriDense) ScaleTri(f float64, a Triangular) {\n\tn, kind := a.Triangle()\n\tt.reuseAs(n, kind)\n\n\t// TODO(btracey): Improve the set of fast-paths.\n\tswitch a := a.(type) {\n\tcase RawTriangular:\n\t\tamat := a.RawTriangular()\n\t\tif kind == Upper {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tts := t.mat.Data[i*t.mat.Stride+i : i*t.mat.Stride+n]\n\t\t\t\tas := amat.Data[i*amat.Stride+i : i*amat.Stride+n]\n\t\t\t\tfor i, v := range as {\n\t\t\t\t\tts[i] = v * f\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tts := t.mat.Data[i*t.mat.Stride : i*t.mat.Stride+i+1]\n\t\t\tas := amat.Data[i*amat.Stride : i*amat.Stride+i+1]\n\t\t\tfor i, v := range as {\n\t\t\t\tts[i] = v * f\n\t\t\t}\n\t\t}\n\t\treturn\n\tdefault:\n\t\tisUpper := kind == Upper\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif isUpper {\n\t\t\t\tfor j := i; j < n; j++ {\n\t\t\t\t\tt.set(i, j, f*a.At(i, j))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\t\tt.set(i, j, f*a.At(i, j))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// copySymIntoTriangle copies a symmetric matrix into a TriDense\nfunc copySymIntoTriangle(t *TriDense, s Symmetric) {\n\tn, upper := t.Triangle()\n\tns := s.Symmetric()\n\tif n != ns {\n\t\tpanic(\"mat: triangle size mismatch\")\n\t}\n\tts := t.mat.Stride\n\tif rs, ok := s.(RawSymmetricer); ok {\n\t\tsd := rs.RawSymmetric()\n\t\tss := sd.Stride\n\t\tif upper {\n\t\t\tif sd.Uplo == blas.Upper {\n\t\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\t\tcopy(t.mat.Data[i*ts+i:i*ts+n], sd.Data[i*ss+i:i*ss+n])\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tfor j := i; j < n; j++ {\n\t\t\t\t\tt.mat.Data[i*ts+j] = sd.Data[j*ss+i]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif sd.Uplo == blas.Upper {\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tfor j := 0; j <= i; j++ {\n\t\t\t\t\tt.mat.Data[i*ts+j] = sd.Data[j*ss+i]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tfor i := 0; i < n; i++ {\n\t\t\tcopy(t.mat.Data[i*ts:i*ts+i+1], sd.Data[i*ss:i*ss+i+1])\n\t\t}\n\t\treturn\n\t}\n\tif upper {\n\t\tfor i := 0; i < n; i++ {\n\t\t\tfor j := i; j < n; j++ {\n\t\t\t\tt.mat.Data[i*ts+j] = s.At(i, j)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tfor j := 0; j <= i; j++ {\n\t\t\tt.mat.Data[i*ts+j] = s.At(i, j)\n\t\t}\n\t}\n}\n\n// DoNonZero calls the function fn for each of the non-zero elements of t. The function fn\n// takes a row/column index and the element value of t at (i, j).\nfunc (t *TriDense) DoNonZero(fn func(i, j int, v float64)) {\n\tif t.isUpper() {\n\t\tfor i := 0; i < t.mat.N; i++ {\n\t\t\tfor j := i; j < t.mat.N; j++ {\n\t\t\t\tv := t.at(i, j)\n\t\t\t\tif v != 0 {\n\t\t\t\t\tfn(i, j, v)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := 0; i < t.mat.N; i++ {\n\t\tfor j := 0; j <= i; j++ {\n\t\t\tv := t.at(i, j)\n\t\t\tif v != 0 {\n\t\t\t\tfn(i, j, v)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// DoRowNonZero calls the function fn for each of the non-zero elements of row i of t. The function fn\n// takes a row/column index and the element value of t at (i, j).\nfunc (t *TriDense) DoRowNonZero(i int, fn func(i, j int, v float64)) {\n\tif i < 0 || t.mat.N <= i {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif t.isUpper() {\n\t\tfor j := i; j < t.mat.N; j++ {\n\t\t\tv := t.at(i, j)\n\t\t\tif v != 0 {\n\t\t\t\tfn(i, j, v)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor j := 0; j <= i; j++ {\n\t\tv := t.at(i, j)\n\t\tif v != 0 {\n\t\t\tfn(i, j, v)\n\t\t}\n\t}\n}\n\n// DoColNonZero calls the function fn for each of the non-zero elements of column j of t. The function fn\n// takes a row/column index and the element value of t at (i, j).\nfunc (t *TriDense) DoColNonZero(j int, fn func(i, j int, v float64)) {\n\tif j < 0 || t.mat.N <= j {\n\t\tpanic(ErrColAccess)\n\t}\n\tif t.isUpper() {\n\t\tfor i := 0; i <= j; i++ {\n\t\t\tv := t.at(i, j)\n\t\t\tif v != 0 {\n\t\t\t\tfn(i, j, v)\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tfor i := j; i < t.mat.N; i++ {\n\t\tv := t.at(i, j)\n\t\tif v != 0 {\n\t\t\tfn(i, j, v)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/gonum/mat/vector.go",
    "content": "// Copyright ©2013 The Gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage mat\n\nimport (\n\t\"gonum.org/v1/gonum/blas\"\n\t\"gonum.org/v1/gonum/blas/blas64\"\n\t\"gonum.org/v1/gonum/internal/asm/f64\"\n)\n\nvar (\n\tvector *VecDense\n\n\t_ Matrix  = vector\n\t_ Vector  = vector\n\t_ Reseter = vector\n)\n\n// Vector is a vector.\ntype Vector interface {\n\tMatrix\n\tAtVec(int) float64\n\tLen() int\n}\n\n// TransposeVec is a type for performing an implicit transpose of a Vector.\n// It implements the Vector interface, returning values from the transpose\n// of the vector within.\ntype TransposeVec struct {\n\tVector Vector\n}\n\n// At returns the value of the element at row i and column j of the transposed\n// matrix, that is, row j and column i of the Vector field.\nfunc (t TransposeVec) At(i, j int) float64 {\n\treturn t.Vector.At(j, i)\n}\n\n// Dims returns the dimensions of the transposed vector.\nfunc (t TransposeVec) Dims() (r, c int) {\n\tc, r = t.Vector.Dims()\n\treturn r, c\n}\n\n// T performs an implicit transpose by returning the Vector field.\nfunc (t TransposeVec) T() Matrix {\n\treturn t.Vector\n}\n\n// Len returns the number of columns in the vector.\nfunc (t TransposeVec) Len() int {\n\treturn t.Vector.Len()\n}\n\n// TVec performs an implicit transpose by returning the Vector field.\nfunc (t TransposeVec) TVec() Vector {\n\treturn t.Vector\n}\n\n// Untranspose returns the Vector field.\nfunc (t TransposeVec) Untranspose() Matrix {\n\treturn t.Vector\n}\n\nfunc (t TransposeVec) UntransposeVec() Vector {\n\treturn t.Vector\n}\n\n// VecDense represents a column vector.\ntype VecDense struct {\n\tmat blas64.Vector\n\tn   int\n\t// A BLAS vector can have a negative increment, but allowing this\n\t// in the mat type complicates a lot of code, and doesn't gain anything.\n\t// VecDense must have positive increment in this package.\n}\n\n// NewVecDense creates a new VecDense of length n. If data == nil,\n// a new slice is allocated for the backing slice. If len(data) == n, data is\n// used as the backing slice, and changes to the elements of the returned VecDense\n// will be reflected in data. If neither of these is true, NewVecDense will panic.\nfunc NewVecDense(n int, data []float64) *VecDense {\n\tif len(data) != n && data != nil {\n\t\tpanic(ErrShape)\n\t}\n\tif data == nil {\n\t\tdata = make([]float64, n)\n\t}\n\treturn &VecDense{\n\t\tmat: blas64.Vector{\n\t\t\tInc:  1,\n\t\t\tData: data,\n\t\t},\n\t\tn: n,\n\t}\n}\n\n// SliceVec returns a new Vector that shares backing data with the receiver.\n// The returned matrix starts at i of the receiver and extends k-i elements.\n// SliceVec panics with ErrIndexOutOfRange if the slice is outside the capacity\n// of the receiver.\nfunc (v *VecDense) SliceVec(i, k int) Vector {\n\tif i < 0 || k <= i || v.Cap() < k {\n\t\tpanic(ErrIndexOutOfRange)\n\t}\n\treturn &VecDense{\n\t\tn: k - i,\n\t\tmat: blas64.Vector{\n\t\t\tInc:  v.mat.Inc,\n\t\t\tData: v.mat.Data[i*v.mat.Inc : (k-1)*v.mat.Inc+1],\n\t\t},\n\t}\n}\n\n// Dims returns the number of rows and columns in the matrix. Columns is always 1\n// for a non-Reset vector.\nfunc (v *VecDense) Dims() (r, c int) {\n\tif v.IsZero() {\n\t\treturn 0, 0\n\t}\n\treturn v.n, 1\n}\n\n// Caps returns the number of rows and columns in the backing matrix. Columns is always 1\n// for a non-Reset vector.\nfunc (v *VecDense) Caps() (r, c int) {\n\tif v.IsZero() {\n\t\treturn 0, 0\n\t}\n\treturn v.Cap(), 1\n}\n\n// Len returns the length of the vector.\nfunc (v *VecDense) Len() int {\n\treturn v.n\n}\n\n// Cap returns the capacity of the vector.\nfunc (v *VecDense) Cap() int {\n\tif v.IsZero() {\n\t\treturn 0\n\t}\n\treturn (cap(v.mat.Data)-1)/v.mat.Inc + 1\n}\n\n// T performs an implicit transpose by returning the receiver inside a Transpose.\nfunc (v *VecDense) T() Matrix {\n\treturn Transpose{v}\n}\n\n// Reset zeros the length of the vector so that it can be reused as the\n// receiver of a dimensionally restricted operation.\n//\n// See the Reseter interface for more information.\nfunc (v *VecDense) Reset() {\n\t// No change of Inc or n to 0 may be\n\t// made unless both are set to 0.\n\tv.mat.Inc = 0\n\tv.n = 0\n\tv.mat.Data = v.mat.Data[:0]\n}\n\n// CloneVec makes a copy of a into the receiver, overwriting the previous value\n// of the receiver.\nfunc (v *VecDense) CloneVec(a Vector) {\n\tif v == a {\n\t\treturn\n\t}\n\tv.n = a.Len()\n\tv.mat = blas64.Vector{\n\t\tInc:  1,\n\t\tData: use(v.mat.Data, v.n),\n\t}\n\tif r, ok := a.(RawVectorer); ok {\n\t\tblas64.Copy(v.n, r.RawVector(), v.mat)\n\t\treturn\n\t}\n\tfor i := 0; i < a.Len(); i++ {\n\t\tv.SetVec(i, a.AtVec(i))\n\t}\n}\n\n// VecDenseCopyOf returns a newly allocated copy of the elements of a.\nfunc VecDenseCopyOf(a Vector) *VecDense {\n\tv := &VecDense{}\n\tv.CloneVec(a)\n\treturn v\n}\n\nfunc (v *VecDense) RawVector() blas64.Vector {\n\treturn v.mat\n}\n\n// CopyVec makes a copy of elements of a into the receiver. It is similar to the\n// built-in copy; it copies as much as the overlap between the two vectors and\n// returns the number of elements it copied.\nfunc (v *VecDense) CopyVec(a Vector) int {\n\tn := min(v.Len(), a.Len())\n\tif v == a {\n\t\treturn n\n\t}\n\tif r, ok := a.(RawVectorer); ok {\n\t\tblas64.Copy(n, r.RawVector(), v.mat)\n\t\treturn n\n\t}\n\tfor i := 0; i < n; i++ {\n\t\tv.setVec(i, a.AtVec(i))\n\t}\n\treturn n\n}\n\n// ScaleVec scales the vector a by alpha, placing the result in the receiver.\nfunc (v *VecDense) ScaleVec(alpha float64, a Vector) {\n\tn := a.Len()\n\n\tif v == a {\n\t\tif v.mat.Inc == 1 {\n\t\t\tf64.ScalUnitary(alpha, v.mat.Data)\n\t\t\treturn\n\t\t}\n\t\tf64.ScalInc(alpha, v.mat.Data, uintptr(n), uintptr(v.mat.Inc))\n\t\treturn\n\t}\n\n\tv.reuseAs(n)\n\n\tif rv, ok := a.(RawVectorer); ok {\n\t\tmat := rv.RawVector()\n\t\tv.checkOverlap(mat)\n\t\tif v.mat.Inc == 1 && mat.Inc == 1 {\n\t\t\tf64.ScalUnitaryTo(v.mat.Data, alpha, mat.Data)\n\t\t\treturn\n\t\t}\n\t\tf64.ScalIncTo(v.mat.Data, uintptr(v.mat.Inc),\n\t\t\talpha, mat.Data, uintptr(n), uintptr(mat.Inc))\n\t\treturn\n\t}\n\n\tfor i := 0; i < n; i++ {\n\t\tv.setVec(i, alpha*a.AtVec(i))\n\t}\n}\n\n// AddScaledVec adds the vectors a and alpha*b, placing the result in the receiver.\nfunc (v *VecDense) AddScaledVec(a Vector, alpha float64, b Vector) {\n\tif alpha == 1 {\n\t\tv.AddVec(a, b)\n\t\treturn\n\t}\n\tif alpha == -1 {\n\t\tv.SubVec(a, b)\n\t\treturn\n\t}\n\n\tar := a.Len()\n\tbr := b.Len()\n\n\tif ar != br {\n\t\tpanic(ErrShape)\n\t}\n\n\tvar amat, bmat blas64.Vector\n\tfast := true\n\taU, _ := untranspose(a)\n\tif rv, ok := aU.(RawVectorer); ok {\n\t\tamat = rv.RawVector()\n\t\tif v != a {\n\t\t\tv.checkOverlap(amat)\n\t\t}\n\t} else {\n\t\tfast = false\n\t}\n\tbU, _ := untranspose(b)\n\tif rv, ok := bU.(RawVectorer); ok {\n\t\tbmat = rv.RawVector()\n\t\tif v != b {\n\t\t\tv.checkOverlap(bmat)\n\t\t}\n\t} else {\n\t\tfast = false\n\t}\n\n\tv.reuseAs(ar)\n\n\tswitch {\n\tcase alpha == 0: // v <- a\n\t\tif v == a {\n\t\t\treturn\n\t\t}\n\t\tv.CopyVec(a)\n\tcase v == a && v == b: // v <- v + alpha * v = (alpha + 1) * v\n\t\tblas64.Scal(ar, alpha+1, v.mat)\n\tcase !fast: // v <- a + alpha * b without blas64 support.\n\t\tfor i := 0; i < ar; i++ {\n\t\t\tv.setVec(i, a.AtVec(i)+alpha*b.AtVec(i))\n\t\t}\n\tcase v == a && v != b: // v <- v + alpha * b\n\t\tif v.mat.Inc == 1 && bmat.Inc == 1 {\n\t\t\t// Fast path for a common case.\n\t\t\tf64.AxpyUnitaryTo(v.mat.Data, alpha, bmat.Data, amat.Data)\n\t\t} else {\n\t\t\tf64.AxpyInc(alpha, bmat.Data, v.mat.Data,\n\t\t\t\tuintptr(ar), uintptr(bmat.Inc), uintptr(v.mat.Inc), 0, 0)\n\t\t}\n\tdefault: // v <- a + alpha * b or v <- a + alpha * v\n\t\tif v.mat.Inc == 1 && amat.Inc == 1 && bmat.Inc == 1 {\n\t\t\t// Fast path for a common case.\n\t\t\tf64.AxpyUnitaryTo(v.mat.Data, alpha, bmat.Data, amat.Data)\n\t\t} else {\n\t\t\tf64.AxpyIncTo(v.mat.Data, uintptr(v.mat.Inc), 0,\n\t\t\t\talpha, bmat.Data, amat.Data,\n\t\t\t\tuintptr(ar), uintptr(bmat.Inc), uintptr(amat.Inc), 0, 0)\n\t\t}\n\t}\n}\n\n// AddVec adds the vectors a and b, placing the result in the receiver.\nfunc (v *VecDense) AddVec(a, b Vector) {\n\tar := a.Len()\n\tbr := b.Len()\n\n\tif ar != br {\n\t\tpanic(ErrShape)\n\t}\n\n\tv.reuseAs(ar)\n\n\taU, _ := untranspose(a)\n\tbU, _ := untranspose(b)\n\n\tif arv, ok := aU.(RawVectorer); ok {\n\t\tif brv, ok := bU.(RawVectorer); ok {\n\t\t\tamat := arv.RawVector()\n\t\t\tbmat := brv.RawVector()\n\n\t\t\tif v != a {\n\t\t\t\tv.checkOverlap(amat)\n\t\t\t}\n\t\t\tif v != b {\n\t\t\t\tv.checkOverlap(bmat)\n\t\t\t}\n\n\t\t\tif v.mat.Inc == 1 && amat.Inc == 1 && bmat.Inc == 1 {\n\t\t\t\t// Fast path for a common case.\n\t\t\t\tf64.AxpyUnitaryTo(v.mat.Data, 1, bmat.Data, amat.Data)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tf64.AxpyIncTo(v.mat.Data, uintptr(v.mat.Inc), 0,\n\t\t\t\t1, bmat.Data, amat.Data,\n\t\t\t\tuintptr(ar), uintptr(bmat.Inc), uintptr(amat.Inc), 0, 0)\n\t\t\treturn\n\t\t}\n\t}\n\n\tfor i := 0; i < ar; i++ {\n\t\tv.setVec(i, a.AtVec(i)+b.AtVec(i))\n\t}\n}\n\n// SubVec subtracts the vector b from a, placing the result in the receiver.\nfunc (v *VecDense) SubVec(a, b Vector) {\n\tar := a.Len()\n\tbr := b.Len()\n\n\tif ar != br {\n\t\tpanic(ErrShape)\n\t}\n\n\tv.reuseAs(ar)\n\n\taU, _ := untranspose(a)\n\tbU, _ := untranspose(b)\n\n\tif arv, ok := aU.(RawVectorer); ok {\n\t\tif brv, ok := bU.(RawVectorer); ok {\n\t\t\tamat := arv.RawVector()\n\t\t\tbmat := brv.RawVector()\n\n\t\t\tif v != a {\n\t\t\t\tv.checkOverlap(amat)\n\t\t\t}\n\t\t\tif v != b {\n\t\t\t\tv.checkOverlap(bmat)\n\t\t\t}\n\n\t\t\tif v.mat.Inc == 1 && amat.Inc == 1 && bmat.Inc == 1 {\n\t\t\t\t// Fast path for a common case.\n\t\t\t\tf64.AxpyUnitaryTo(v.mat.Data, -1, bmat.Data, amat.Data)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tf64.AxpyIncTo(v.mat.Data, uintptr(v.mat.Inc), 0,\n\t\t\t\t-1, bmat.Data, amat.Data,\n\t\t\t\tuintptr(ar), uintptr(bmat.Inc), uintptr(amat.Inc), 0, 0)\n\t\t\treturn\n\t\t}\n\t}\n\n\tfor i := 0; i < ar; i++ {\n\t\tv.setVec(i, a.AtVec(i)-b.AtVec(i))\n\t}\n}\n\n// MulElemVec performs element-wise multiplication of a and b, placing the result\n// in the receiver.\nfunc (v *VecDense) MulElemVec(a, b Vector) {\n\tar := a.Len()\n\tbr := b.Len()\n\n\tif ar != br {\n\t\tpanic(ErrShape)\n\t}\n\n\tv.reuseAs(ar)\n\n\taU, _ := untranspose(a)\n\tbU, _ := untranspose(b)\n\n\tif arv, ok := aU.(RawVectorer); ok {\n\t\tif brv, ok := bU.(RawVectorer); ok {\n\t\t\tamat := arv.RawVector()\n\t\t\tbmat := brv.RawVector()\n\n\t\t\tif v != a {\n\t\t\t\tv.checkOverlap(amat)\n\t\t\t}\n\t\t\tif v != b {\n\t\t\t\tv.checkOverlap(bmat)\n\t\t\t}\n\n\t\t\tif v.mat.Inc == 1 && amat.Inc == 1 && bmat.Inc == 1 {\n\t\t\t\t// Fast path for a common case.\n\t\t\t\tfor i, a := range amat.Data {\n\t\t\t\t\tv.mat.Data[i] = a * bmat.Data[i]\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tvar ia, ib int\n\t\t\tfor i := 0; i < ar; i++ {\n\t\t\t\tv.setVec(i, amat.Data[ia]*bmat.Data[ib])\n\t\t\t\tia += amat.Inc\n\t\t\t\tib += bmat.Inc\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\n\tfor i := 0; i < ar; i++ {\n\t\tv.setVec(i, a.AtVec(i)*b.AtVec(i))\n\t}\n}\n\n// DivElemVec performs element-wise division of a by b, placing the result\n// in the receiver.\nfunc (v *VecDense) DivElemVec(a, b Vector) {\n\tar := a.Len()\n\tbr := b.Len()\n\n\tif ar != br {\n\t\tpanic(ErrShape)\n\t}\n\n\tv.reuseAs(ar)\n\n\taU, _ := untranspose(a)\n\tbU, _ := untranspose(b)\n\n\tif arv, ok := aU.(RawVectorer); ok {\n\t\tif brv, ok := bU.(RawVectorer); ok {\n\t\t\tamat := arv.RawVector()\n\t\t\tbmat := brv.RawVector()\n\n\t\t\tif v != a {\n\t\t\t\tv.checkOverlap(amat)\n\t\t\t}\n\t\t\tif v != b {\n\t\t\t\tv.checkOverlap(bmat)\n\t\t\t}\n\n\t\t\tif v.mat.Inc == 1 && amat.Inc == 1 && bmat.Inc == 1 {\n\t\t\t\t// Fast path for a common case.\n\t\t\t\tfor i, a := range amat.Data {\n\t\t\t\t\tv.setVec(i, a/bmat.Data[i])\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tvar ia, ib int\n\t\t\tfor i := 0; i < ar; i++ {\n\t\t\t\tv.setVec(i, amat.Data[ia]/bmat.Data[ib])\n\t\t\t\tia += amat.Inc\n\t\t\t\tib += bmat.Inc\n\t\t\t}\n\t\t}\n\t}\n\n\tfor i := 0; i < ar; i++ {\n\t\tv.setVec(i, a.AtVec(i)/b.AtVec(i))\n\t}\n}\n\n// MulVec computes a * b. The result is stored into the receiver.\n// MulVec panics if the number of columns in a does not equal the number of rows in b\n// or if the number of columns in b does not equal 1.\nfunc (v *VecDense) MulVec(a Matrix, b Vector) {\n\tr, c := a.Dims()\n\tbr, bc := b.Dims()\n\tif c != br || bc != 1 {\n\t\tpanic(ErrShape)\n\t}\n\n\taU, trans := untranspose(a)\n\tvar bmat blas64.Vector\n\tfast := true\n\tbU, _ := untranspose(b)\n\tif rv, ok := bU.(RawVectorer); ok {\n\t\tbmat = rv.RawVector()\n\t\tif v != b {\n\t\t\tv.checkOverlap(bmat)\n\t\t}\n\t} else {\n\t\tfast = false\n\t}\n\n\tv.reuseAs(r)\n\tvar restore func()\n\tif v == aU {\n\t\tv, restore = v.isolatedWorkspace(aU.(*VecDense))\n\t\tdefer restore()\n\t} else if v == b {\n\t\tv, restore = v.isolatedWorkspace(b)\n\t\tdefer restore()\n\t}\n\n\t// TODO(kortschak): Improve the non-fast paths.\n\tswitch aU := aU.(type) {\n\tcase Vector:\n\t\tif b.Len() == 1 {\n\t\t\t// {n,1} x {1,1}\n\t\t\tv.ScaleVec(b.AtVec(0), aU)\n\t\t\treturn\n\t\t}\n\n\t\t// {1,n} x {n,1}\n\t\tif fast {\n\t\t\tif rv, ok := aU.(RawVectorer); ok {\n\t\t\t\tamat := rv.RawVector()\n\t\t\t\tif v != aU {\n\t\t\t\t\tv.checkOverlap(amat)\n\t\t\t\t}\n\n\t\t\t\tif amat.Inc == 1 && bmat.Inc == 1 {\n\t\t\t\t\t// Fast path for a common case.\n\t\t\t\t\tv.setVec(0, f64.DotUnitary(amat.Data, bmat.Data))\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tv.setVec(0, f64.DotInc(amat.Data, bmat.Data,\n\t\t\t\t\tuintptr(c), uintptr(amat.Inc), uintptr(bmat.Inc), 0, 0))\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tvar sum float64\n\t\tfor i := 0; i < c; i++ {\n\t\t\tsum += aU.AtVec(i) * b.AtVec(i)\n\t\t}\n\t\tv.setVec(0, sum)\n\t\treturn\n\tcase RawSymmetricer:\n\t\tif fast {\n\t\t\tamat := aU.RawSymmetric()\n\t\t\t// We don't know that a is a *SymDense, so make\n\t\t\t// a temporary SymDense to check overlap.\n\t\t\t(&SymDense{mat: amat}).checkOverlap(v.asGeneral())\n\t\t\tblas64.Symv(1, amat, bmat, 0, v.mat)\n\t\t\treturn\n\t\t}\n\tcase RawTriangular:\n\t\tv.CopyVec(b)\n\t\tamat := aU.RawTriangular()\n\t\t// We don't know that a is a *TriDense, so make\n\t\t// a temporary TriDense to check overlap.\n\t\t(&TriDense{mat: amat}).checkOverlap(v.asGeneral())\n\t\tta := blas.NoTrans\n\t\tif trans {\n\t\t\tta = blas.Trans\n\t\t}\n\t\tblas64.Trmv(ta, amat, v.mat)\n\tcase RawMatrixer:\n\t\tif fast {\n\t\t\tamat := aU.RawMatrix()\n\t\t\t// We don't know that a is a *Dense, so make\n\t\t\t// a temporary Dense to check overlap.\n\t\t\t(&Dense{mat: amat}).checkOverlap(v.asGeneral())\n\t\t\tt := blas.NoTrans\n\t\t\tif trans {\n\t\t\t\tt = blas.Trans\n\t\t\t}\n\t\t\tblas64.Gemv(t, 1, amat, bmat, 0, v.mat)\n\t\t\treturn\n\t\t}\n\tdefault:\n\t\tif fast {\n\t\t\tfor i := 0; i < r; i++ {\n\t\t\t\tvar f float64\n\t\t\t\tfor j := 0; j < c; j++ {\n\t\t\t\t\tf += a.At(i, j) * bmat.Data[j*bmat.Inc]\n\t\t\t\t}\n\t\t\t\tv.setVec(i, f)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\n\tfor i := 0; i < r; i++ {\n\t\tvar f float64\n\t\tfor j := 0; j < c; j++ {\n\t\t\tf += a.At(i, j) * b.AtVec(j)\n\t\t}\n\t\tv.setVec(i, f)\n\t}\n}\n\n// reuseAs resizes an empty vector to a r×1 vector,\n// or checks that a non-empty matrix is r×1.\nfunc (v *VecDense) reuseAs(r int) {\n\tif v.IsZero() {\n\t\tv.mat = blas64.Vector{\n\t\t\tInc:  1,\n\t\t\tData: use(v.mat.Data, r),\n\t\t}\n\t\tv.n = r\n\t\treturn\n\t}\n\tif r != v.n {\n\t\tpanic(ErrShape)\n\t}\n}\n\n// IsZero returns whether the receiver is zero-sized. Zero-sized vectors can be the\n// receiver for size-restricted operations. VecDenses can be zeroed using Reset.\nfunc (v *VecDense) IsZero() bool {\n\t// It must be the case that v.Dims() returns\n\t// zeros in this case. See comment in Reset().\n\treturn v.mat.Inc == 0\n}\n\nfunc (v *VecDense) isolatedWorkspace(a Vector) (n *VecDense, restore func()) {\n\tl := a.Len()\n\tn = getWorkspaceVec(l, false)\n\treturn n, func() {\n\t\tv.CopyVec(n)\n\t\tputWorkspaceVec(n)\n\t}\n}\n\n// asDense returns a Dense representation of the receiver with the same\n// underlying data.\nfunc (v *VecDense) asDense() *Dense {\n\treturn &Dense{\n\t\tmat:     v.asGeneral(),\n\t\tcapRows: v.n,\n\t\tcapCols: 1,\n\t}\n}\n\n// asGeneral returns a blas64.General representation of the receiver with the\n// same underlying data.\nfunc (v *VecDense) asGeneral() blas64.General {\n\treturn blas64.General{\n\t\tRows:   v.n,\n\t\tCols:   1,\n\t\tStride: v.mat.Inc,\n\t\tData:   v.mat.Data,\n\t}\n}\n\n// ColViewOf reflects the column j of the RawMatrixer m, into the receiver\n// backed by the same underlying data. The length of the receiver must either be\n// zero or match the number of rows in m.\nfunc (v *VecDense) ColViewOf(m RawMatrixer, j int) {\n\trm := m.RawMatrix()\n\n\tif j >= rm.Cols || j < 0 {\n\t\tpanic(ErrColAccess)\n\t}\n\tif !v.IsZero() && v.n != rm.Rows {\n\t\tpanic(ErrShape)\n\t}\n\n\tv.mat.Inc = rm.Stride\n\tv.mat.Data = rm.Data[j : (rm.Rows-1)*rm.Stride+j+1]\n\tv.n = rm.Rows\n}\n\n// RowViewOf reflects the row i of the RawMatrixer m, into the receiver\n// backed by the same underlying data. The length of the receiver must either be\n// zero or match the number of columns in m.\nfunc (v *VecDense) RowViewOf(m RawMatrixer, i int) {\n\trm := m.RawMatrix()\n\n\tif i >= rm.Rows || i < 0 {\n\t\tpanic(ErrRowAccess)\n\t}\n\tif !v.IsZero() && v.n != rm.Cols {\n\t\tpanic(ErrShape)\n\t}\n\n\tv.mat.Inc = 1\n\tv.mat.Data = rm.Data[i*rm.Stride : i*rm.Stride+rm.Cols]\n\tv.n = rm.Cols\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/LICENSE",
    "content": "See the gonum LICENSE file at https://github.com/gonum/license.\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/align.go",
    "content": "// Copyright ©2017 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plot\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// Align returns a two-dimensional row-major array of Canvases which will\n// produce tiled plots with DataCanvases that are evenly sized and spaced.\n// The arguments to the function are a two-dimensional row-major array\n// of plots, a tile configuration, and the canvas to which the tiled\n// plots are to be drawn.\nfunc Align(plots [][]*Plot, t draw.Tiles, dc draw.Canvas) [][]draw.Canvas {\n\to := make([][]draw.Canvas, len(plots))\n\n\tif len(plots) != t.Rows {\n\t\tpanic(fmt.Errorf(\"plot: plots rows (%d) != tiles rows (%d)\", len(plots), t.Rows))\n\t}\n\n\t// Create the initial tiles.\n\tfor j := 0; j < t.Rows; j++ {\n\t\tif len(plots[j]) != t.Cols {\n\t\t\tpanic(fmt.Errorf(\"plot: plots row %d columns (%d) != tiles columns (%d)\", j, len(plots[j]), t.Rows))\n\t\t}\n\n\t\to[j] = make([]draw.Canvas, len(plots[j]))\n\t\tfor i := 0; i < t.Cols; i++ {\n\t\t\to[j][i] = t.At(dc, i, j)\n\t\t}\n\t}\n\n\ttype posNeg struct {\n\t\tp, n float64\n\t}\n\txSpacing := make([]posNeg, t.Cols)\n\tySpacing := make([]posNeg, t.Rows)\n\n\t// Calculate the maximum spacing between data canvases\n\t// for each row and column.\n\tfor j, row := range plots {\n\t\tfor i, p := range row {\n\t\t\tif p == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tc := o[j][i]\n\t\t\tdataC := p.DataCanvas(o[j][i])\n\t\t\txSpacing[i].n = math.Max(float64(dataC.Min.X-c.Min.X), xSpacing[i].n)\n\t\t\txSpacing[i].p = math.Max(float64(c.Max.X-dataC.Max.X), xSpacing[i].p)\n\t\t\tySpacing[j].n = math.Max(float64(dataC.Min.Y-c.Min.Y), ySpacing[j].n)\n\t\t\tySpacing[j].p = math.Max(float64(c.Max.Y-dataC.Max.Y), ySpacing[j].p)\n\t\t}\n\t}\n\n\t// Calculate the total row and column spacing.\n\tvar xTotalSpace float64\n\tfor _, s := range xSpacing {\n\t\txTotalSpace += s.n + s.p\n\t}\n\txTotalSpace += float64(t.PadX) * float64(len(xSpacing)-1)\n\tvar yTotalSpace float64\n\tfor _, s := range ySpacing {\n\t\tyTotalSpace += s.n + s.p\n\t}\n\tyTotalSpace += float64(t.PadY) * float64(len(ySpacing)-1)\n\n\tavgWidth := vg.Length((float64(dc.Max.X-dc.Min.X) - xTotalSpace) / float64(t.Cols))\n\tavgHeight := vg.Length((float64(dc.Max.Y-dc.Min.Y) - yTotalSpace) / float64(t.Rows))\n\n\tmoveVertical := make([]vg.Length, t.Cols)\n\tfor j := t.Rows - 1; j >= 0; j-- {\n\t\trow := plots[j]\n\t\tvar moveHorizontal vg.Length\n\t\tfor i, p := range row {\n\t\t\tc := o[j][i]\n\n\t\t\tif p != nil {\n\t\t\t\tdataC := p.DataCanvas(c)\n\t\t\t\t// Adjust the horizontal and vertical spacing between\n\t\t\t\t// canvases to match the maximum for each column and row,\n\t\t\t\t// respectively.\n\t\t\t\tc = draw.Crop(c,\n\t\t\t\t\tvg.Length(xSpacing[i].n)-(dataC.Min.X-c.Min.X),\n\t\t\t\t\tc.Max.X-dataC.Max.X-vg.Length(xSpacing[i].p),\n\t\t\t\t\tvg.Length(ySpacing[j].n)-(dataC.Min.Y-c.Min.Y),\n\t\t\t\t\tc.Max.Y-dataC.Max.Y-vg.Length(ySpacing[j].p),\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tvar width, height vg.Length\n\t\t\tif p == nil {\n\t\t\t\twidth = c.Max.X - c.Min.X - vg.Length(xSpacing[i].p+xSpacing[i].n)\n\t\t\t\theight = c.Max.Y - c.Min.Y - vg.Length(ySpacing[j].p+ySpacing[j].n)\n\t\t\t} else {\n\t\t\t\tdataC := p.DataCanvas(c)\n\t\t\t\twidth = dataC.Max.X - dataC.Min.X\n\t\t\t\theight = dataC.Max.Y - dataC.Min.Y\n\t\t\t}\n\n\t\t\t// Adjust the canvas so that the height and width of the\n\t\t\t// DataCanvas is the same for all plots.\n\t\t\to[j][i] = draw.Crop(c,\n\t\t\t\tmoveHorizontal,\n\t\t\t\tmoveHorizontal+avgWidth-width,\n\t\t\t\tmoveVertical[i],\n\t\t\t\tmoveVertical[i]+avgHeight-height,\n\t\t\t)\n\t\t\tmoveHorizontal += avgWidth - width\n\t\t\tmoveVertical[i] += avgHeight - height\n\t\t}\n\t}\n\treturn o\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/axis.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plot\n\nimport (\n\t\"image/color\"\n\t\"math\"\n\t\"strconv\"\n\t\"time\"\n\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// Ticker creates Ticks in a specified range\ntype Ticker interface {\n\t// Ticks returns Ticks in a specified range\n\tTicks(min, max float64) []Tick\n}\n\n// Normalizer rescales values from the data coordinate system to the\n// normalized coordinate system.\ntype Normalizer interface {\n\t// Normalize transforms a value x in the data coordinate system to\n\t// the normalized coordinate system.\n\tNormalize(min, max, x float64) float64\n}\n\n// An Axis represents either a horizontal or vertical\n// axis of a plot.\ntype Axis struct {\n\t// Min and Max are the minimum and maximum data\n\t// values represented by the axis.\n\tMin, Max float64\n\n\tLabel struct {\n\t\t// Text is the axis label string.\n\t\tText string\n\n\t\t// TextStyle is the style of the axis label text.\n\t\t// For the vertical axis, one quarter turn\n\t\t// counterclockwise will be added to the label\n\t\t// text before drawing.\n\t\tdraw.TextStyle\n\t}\n\n\t// LineStyle is the style of the axis line.\n\tdraw.LineStyle\n\n\t// Padding between the axis line and the data.  Having\n\t// non-zero padding ensures that the data is never drawn\n\t// on the axis, thus making it easier to see.\n\tPadding vg.Length\n\n\tTick struct {\n\t\t// Label is the TextStyle on the tick labels.\n\t\tLabel draw.TextStyle\n\n\t\t// LineStyle is the LineStyle of the tick lines.\n\t\tdraw.LineStyle\n\n\t\t// Length is the length of a major tick mark.\n\t\t// Minor tick marks are half of the length of major\n\t\t// tick marks.\n\t\tLength vg.Length\n\n\t\t// Marker returns the tick marks.  Any tick marks\n\t\t// returned by the Marker function that are not in\n\t\t// range of the axis are not drawn.\n\t\tMarker Ticker\n\t}\n\n\t// Scale transforms a value given in the data coordinate system\n\t// to the normalized coordinate system of the axis—its distance\n\t// along the axis as a fraction of the axis range.\n\tScale Normalizer\n}\n\n// makeAxis returns a default Axis.\n//\n// The default range is (∞, ­∞), and thus any finite\n// value is less than Min and greater than Max.\nfunc makeAxis(orientation bool) (Axis, error) {\n\tlabelFont, err := vg.MakeFont(DefaultFont, vg.Points(12))\n\tif err != nil {\n\t\treturn Axis{}, err\n\t}\n\n\ttickFont, err := vg.MakeFont(DefaultFont, vg.Points(10))\n\tif err != nil {\n\t\treturn Axis{}, err\n\t}\n\n\ta := Axis{\n\t\tMin: math.Inf(1),\n\t\tMax: math.Inf(-1),\n\t\tLineStyle: draw.LineStyle{\n\t\t\tColor: color.Black,\n\t\t\tWidth: vg.Points(0.5),\n\t\t},\n\t\tPadding: vg.Points(5),\n\t\tScale:   LinearScale{},\n\t}\n\ta.Label.TextStyle = draw.TextStyle{\n\t\tColor:  color.Black,\n\t\tFont:   labelFont,\n\t\tXAlign: draw.XCenter,\n\t\tYAlign: draw.YBottom,\n\t}\n\tvar xalign, yalign = draw.XCenter, draw.YTop\n\tif orientation == vertical {\n\t\txalign, yalign = draw.XRight, draw.YCenter\n\t}\n\ta.Tick.Label = draw.TextStyle{\n\t\tColor:  color.Black,\n\t\tFont:   tickFont,\n\t\tXAlign: xalign,\n\t\tYAlign: yalign,\n\t}\n\ta.Tick.LineStyle = draw.LineStyle{\n\t\tColor: color.Black,\n\t\tWidth: vg.Points(0.5),\n\t}\n\ta.Tick.Length = vg.Points(8)\n\ta.Tick.Marker = DefaultTicks{}\n\n\treturn a, nil\n}\n\n// sanitizeRange ensures that the range of the\n// axis makes sense.\nfunc (a *Axis) sanitizeRange() {\n\tif math.IsInf(a.Min, 0) {\n\t\ta.Min = 0\n\t}\n\tif math.IsInf(a.Max, 0) {\n\t\ta.Max = 0\n\t}\n\tif a.Min > a.Max {\n\t\ta.Min, a.Max = a.Max, a.Min\n\t}\n\tif a.Min == a.Max {\n\t\ta.Min--\n\t\ta.Max++\n\t}\n}\n\n// LinearScale an be used as the value of an Axis.Scale function to\n// set the axis to a standard linear scale.\ntype LinearScale struct{}\n\nvar _ Normalizer = LinearScale{}\n\n// Normalize returns the fractional distance of x between min and max.\nfunc (LinearScale) Normalize(min, max, x float64) float64 {\n\treturn (x - min) / (max - min)\n}\n\n// LogScale can be used as the value of an Axis.Scale function to\n// set the axis to a log scale.\ntype LogScale struct{}\n\nvar _ Normalizer = LogScale{}\n\n// Normalize returns the fractional logarithmic distance of\n// x between min and max.\nfunc (LogScale) Normalize(min, max, x float64) float64 {\n\tlogMin := log(min)\n\treturn (log(x) - logMin) / (log(max) - logMin)\n}\n\n// Norm returns the value of x, given in the data coordinate\n// system, normalized to its distance as a fraction of the\n// range of this axis.  For example, if x is a.Min then the return\n// value is 0, and if x is a.Max then the return value is 1.\nfunc (a Axis) Norm(x float64) float64 {\n\treturn a.Scale.Normalize(a.Min, a.Max, x)\n}\n\n// drawTicks returns true if the tick marks should be drawn.\nfunc (a Axis) drawTicks() bool {\n\treturn a.Tick.Width > 0 && a.Tick.Length > 0\n}\n\n// A horizontalAxis draws horizontally across the bottom\n// of a plot.\ntype horizontalAxis struct {\n\tAxis\n}\n\n// size returns the height of the axis.\nfunc (a horizontalAxis) size() (h vg.Length) {\n\tif a.Label.Text != \"\" { // We assume that the label isn't rotated.\n\t\th -= a.Label.Font.Extents().Descent\n\t\th += a.Label.Height(a.Label.Text)\n\t}\n\n\tmarks := a.Tick.Marker.Ticks(a.Min, a.Max)\n\tif len(marks) > 0 {\n\t\tif a.drawTicks() {\n\t\t\th += a.Tick.Length\n\t\t}\n\t\th += tickLabelHeight(a.Tick.Label, marks)\n\t}\n\th += a.Width / 2\n\th += a.Padding\n\n\treturn h\n}\n\n// draw draws the axis along the lower edge of a draw.Canvas.\nfunc (a horizontalAxis) draw(c draw.Canvas) {\n\ty := c.Min.Y\n\tif a.Label.Text != \"\" {\n\t\ty -= a.Label.Font.Extents().Descent\n\t\tc.FillText(a.Label.TextStyle, vg.Point{X: c.Center().X, Y: y}, a.Label.Text)\n\t\ty += a.Label.Height(a.Label.Text)\n\t}\n\n\tmarks := a.Tick.Marker.Ticks(a.Min, a.Max)\n\tticklabelheight := tickLabelHeight(a.Tick.Label, marks)\n\tfor _, t := range marks {\n\t\tx := c.X(a.Norm(t.Value))\n\t\tif !c.ContainsX(x) || t.IsMinor() {\n\t\t\tcontinue\n\t\t}\n\t\tc.FillText(a.Tick.Label, vg.Point{X: x, Y: y + ticklabelheight}, t.Label)\n\t}\n\n\tif len(marks) > 0 {\n\t\ty += ticklabelheight\n\t} else {\n\t\ty += a.Width / 2\n\t}\n\n\tif len(marks) > 0 && a.drawTicks() {\n\t\tlen := a.Tick.Length\n\t\tfor _, t := range marks {\n\t\t\tx := c.X(a.Norm(t.Value))\n\t\t\tif !c.ContainsX(x) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tstart := t.lengthOffset(len)\n\t\t\tc.StrokeLine2(a.Tick.LineStyle, x, y+start, x, y+len)\n\t\t}\n\t\ty += len\n\t}\n\n\tc.StrokeLine2(a.LineStyle, c.Min.X, y, c.Max.X, y)\n}\n\n// GlyphBoxes returns the GlyphBoxes for the tick labels.\nfunc (a horizontalAxis) GlyphBoxes(*Plot) []GlyphBox {\n\tvar boxes []GlyphBox\n\tfor _, t := range a.Tick.Marker.Ticks(a.Min, a.Max) {\n\t\tif t.IsMinor() {\n\t\t\tcontinue\n\t\t}\n\t\tbox := GlyphBox{\n\t\t\tX:         a.Norm(t.Value),\n\t\t\tRectangle: a.Tick.Label.Rectangle(t.Label),\n\t\t}\n\t\tboxes = append(boxes, box)\n\t}\n\treturn boxes\n}\n\n// A verticalAxis is drawn vertically up the left side of a plot.\ntype verticalAxis struct {\n\tAxis\n}\n\n// size returns the width of the axis.\nfunc (a verticalAxis) size() (w vg.Length) {\n\tif a.Label.Text != \"\" { // We assume that the label isn't rotated.\n\t\tw -= a.Label.Font.Extents().Descent\n\t\tw += a.Label.Height(a.Label.Text)\n\t}\n\n\tmarks := a.Tick.Marker.Ticks(a.Min, a.Max)\n\tif len(marks) > 0 {\n\t\tif lwidth := tickLabelWidth(a.Tick.Label, marks); lwidth > 0 {\n\t\t\tw += lwidth\n\t\t\tw += a.Label.Width(\" \")\n\t\t}\n\t\tif a.drawTicks() {\n\t\t\tw += a.Tick.Length\n\t\t}\n\t}\n\tw += a.Width / 2\n\tw += a.Padding\n\n\treturn w\n}\n\n// draw draws the axis along the left side of a draw.Canvas.\nfunc (a verticalAxis) draw(c draw.Canvas) {\n\tx := c.Min.X\n\tif a.Label.Text != \"\" {\n\t\tsty := a.Label.TextStyle\n\t\tsty.Rotation += math.Pi / 2\n\t\tx += a.Label.Height(a.Label.Text)\n\t\tc.FillText(sty, vg.Point{X: x, Y: c.Center().Y}, a.Label.Text)\n\t\tx += -a.Label.Font.Extents().Descent\n\t}\n\tmarks := a.Tick.Marker.Ticks(a.Min, a.Max)\n\tif w := tickLabelWidth(a.Tick.Label, marks); len(marks) > 0 && w > 0 {\n\t\tx += w\n\t}\n\n\tmajor := false\n\tfor _, t := range marks {\n\t\ty := c.Y(a.Norm(t.Value))\n\t\tif !c.ContainsY(y) || t.IsMinor() {\n\t\t\tcontinue\n\t\t}\n\t\tc.FillText(a.Tick.Label, vg.Point{X: x, Y: y}, t.Label)\n\t\tmajor = true\n\t}\n\tif major {\n\t\tx += a.Tick.Label.Width(\" \")\n\t}\n\tif a.drawTicks() && len(marks) > 0 {\n\t\tlen := a.Tick.Length\n\t\tfor _, t := range marks {\n\t\t\ty := c.Y(a.Norm(t.Value))\n\t\t\tif !c.ContainsY(y) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tstart := t.lengthOffset(len)\n\t\t\tc.StrokeLine2(a.Tick.LineStyle, x+start, y, x+len, y)\n\t\t}\n\t\tx += len\n\t}\n\n\tc.StrokeLine2(a.LineStyle, x, c.Min.Y, x, c.Max.Y)\n}\n\n// GlyphBoxes returns the GlyphBoxes for the tick labels\nfunc (a verticalAxis) GlyphBoxes(*Plot) []GlyphBox {\n\tvar boxes []GlyphBox\n\tfor _, t := range a.Tick.Marker.Ticks(a.Min, a.Max) {\n\t\tif t.IsMinor() {\n\t\t\tcontinue\n\t\t}\n\t\tbox := GlyphBox{\n\t\t\tY:         a.Norm(t.Value),\n\t\t\tRectangle: a.Tick.Label.Rectangle(t.Label),\n\t\t}\n\t\tboxes = append(boxes, box)\n\t}\n\treturn boxes\n}\n\n// DefaultTicks is suitable for the Tick.Marker field of an Axis,\n// it returns a reasonable default set of tick marks.\ntype DefaultTicks struct{}\n\nvar _ Ticker = DefaultTicks{}\n\n// Ticks returns Ticks in the specified range.\nfunc (DefaultTicks) Ticks(min, max float64) []Tick {\n\tif max <= min {\n\t\tpanic(\"illegal range\")\n\t}\n\n\tconst suggestedTicks = 3\n\n\tlabels, step, q, mag := talbotLinHanrahan(min, max, suggestedTicks, withinData, nil, nil, nil)\n\tmajorDelta := step * math.Pow10(mag)\n\tif q == 0 {\n\t\t// Simple fall back was chosen, so\n\t\t// majorDelta is the label distance.\n\t\tmajorDelta = labels[1] - labels[0]\n\t}\n\n\t// Choose a reasonable, but ad\n\t// hoc formatting for labels.\n\tfc := byte('f')\n\tvar off int\n\tif mag < -1 || 6 < mag {\n\t\toff = 1\n\t\tfc = 'g'\n\t}\n\tif math.Trunc(q) != q {\n\t\toff += 2\n\t}\n\tprec := minInt(6, maxInt(off, -mag))\n\tvar ticks []Tick\n\tfor _, v := range labels {\n\t\tticks = append(ticks, Tick{Value: v, Label: strconv.FormatFloat(v, fc, prec, 64)})\n\t}\n\n\tvar minorDelta float64\n\t// See talbotLinHanrahan for the values used here.\n\tswitch step {\n\tcase 1, 2.5:\n\t\tminorDelta = majorDelta / 5\n\tcase 2, 3, 4, 5:\n\t\tminorDelta = majorDelta / step\n\tdefault:\n\t\tif majorDelta/2 < dlamchP {\n\t\t\treturn ticks\n\t\t}\n\t\tminorDelta = majorDelta / 2\n\t}\n\n\t// Find the first minor tick not greater\n\t// than the lowest data value.\n\tvar i float64\n\tfor labels[0]+(i-1)*minorDelta > min {\n\t\ti--\n\t}\n\t// Add ticks at minorDelta intervals when\n\t// they are not within minorDelta/2 of a\n\t// labelled tick.\n\tfor {\n\t\tval := labels[0] + i*minorDelta\n\t\tif val > max {\n\t\t\tbreak\n\t\t}\n\t\tfound := false\n\t\tfor _, t := range ticks {\n\t\t\tif math.Abs(t.Value-val) < minorDelta/2 {\n\t\t\t\tfound = true\n\t\t\t}\n\t\t}\n\t\tif !found {\n\t\t\tticks = append(ticks, Tick{Value: val})\n\t\t}\n\t\ti++\n\t}\n\n\treturn ticks\n}\n\nfunc minInt(a, b int) int {\n\tif a < b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc maxInt(a, b int) int {\n\tif a > b {\n\t\treturn a\n\t}\n\treturn b\n}\n\n// LogTicks is suitable for the Tick.Marker field of an Axis,\n// it returns tick marks suitable for a log-scale axis.\ntype LogTicks struct{}\n\nvar _ Ticker = LogTicks{}\n\n// Ticks returns Ticks in a specified range\nfunc (LogTicks) Ticks(min, max float64) []Tick {\n\tif min <= 0 {\n\t\tpanic(\"Values must be greater than 0 for a log scale.\")\n\t}\n\n\tval := math.Pow10(int(math.Log10(min)))\n\tmax = math.Pow10(int(math.Ceil(math.Log10(max))))\n\tvar ticks []Tick\n\tfor val < max {\n\t\tfor i := 1; i < 10; i++ {\n\t\t\tif i == 1 {\n\t\t\t\tticks = append(ticks, Tick{Value: val, Label: formatFloatTick(val, -1)})\n\t\t\t}\n\t\t\tticks = append(ticks, Tick{Value: val * float64(i)})\n\t\t}\n\t\tval *= 10\n\t}\n\tticks = append(ticks, Tick{Value: val, Label: formatFloatTick(val, -1)})\n\n\treturn ticks\n}\n\n// ConstantTicks is suitable for the Tick.Marker field of an Axis.\n// This function returns the given set of ticks.\ntype ConstantTicks []Tick\n\nvar _ Ticker = ConstantTicks{}\n\n// Ticks returns Ticks in a specified range\nfunc (ts ConstantTicks) Ticks(float64, float64) []Tick {\n\treturn ts\n}\n\n// UnixTimeIn returns a time conversion function for the given location.\nfunc UnixTimeIn(loc *time.Location) func(t float64) time.Time {\n\treturn func(t float64) time.Time {\n\t\treturn time.Unix(int64(t), 0).In(loc)\n\t}\n}\n\n// UTCUnixTime is the default time conversion for TimeTicks.\nvar UTCUnixTime = UnixTimeIn(time.UTC)\n\n// TimeTicks is suitable for axes representing time values.\ntype TimeTicks struct {\n\t// Ticker is used to generate a set of ticks.\n\t// If nil, DefaultTicks will be used.\n\tTicker Ticker\n\n\t// Format is the textual representation of the time value.\n\t// If empty, time.RFC3339 will be used\n\tFormat string\n\n\t// Time takes a float64 value and converts it into a time.Time.\n\t// If nil, UTCUnixTime is used.\n\tTime func(t float64) time.Time\n}\n\nvar _ Ticker = TimeTicks{}\n\n// Ticks implements plot.Ticker.\nfunc (t TimeTicks) Ticks(min, max float64) []Tick {\n\tif t.Ticker == nil {\n\t\tt.Ticker = DefaultTicks{}\n\t}\n\tif t.Format == \"\" {\n\t\tt.Format = time.RFC3339\n\t}\n\tif t.Time == nil {\n\t\tt.Time = UTCUnixTime\n\t}\n\n\tticks := t.Ticker.Ticks(min, max)\n\tfor i := range ticks {\n\t\ttick := &ticks[i]\n\t\tif tick.Label == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\ttick.Label = t.Time(tick.Value).Format(t.Format)\n\t}\n\treturn ticks\n}\n\n// A Tick is a single tick mark on an axis.\ntype Tick struct {\n\t// Value is the data value marked by this Tick.\n\tValue float64\n\n\t// Label is the text to display at the tick mark.\n\t// If Label is an empty string then this is a minor\n\t// tick mark.\n\tLabel string\n}\n\n// IsMinor returns true if this is a minor tick mark.\nfunc (t Tick) IsMinor() bool {\n\treturn t.Label == \"\"\n}\n\n// lengthOffset returns an offset that should be added to the\n// tick mark's line to accout for its length.  I.e., the start of\n// the line for a minor tick mark must be shifted by half of\n// the length.\nfunc (t Tick) lengthOffset(len vg.Length) vg.Length {\n\tif t.IsMinor() {\n\t\treturn len / 2\n\t}\n\treturn 0\n}\n\n// tickLabelHeight returns height of the tick mark labels.\nfunc tickLabelHeight(sty draw.TextStyle, ticks []Tick) vg.Length {\n\tmaxHeight := vg.Length(0)\n\tfor _, t := range ticks {\n\t\tif t.IsMinor() {\n\t\t\tcontinue\n\t\t}\n\t\tr := sty.Rectangle(t.Label)\n\t\th := r.Max.Y - r.Min.Y\n\t\tif h > maxHeight {\n\t\t\tmaxHeight = h\n\t\t}\n\t}\n\treturn maxHeight\n}\n\n// tickLabelWidth returns the width of the widest tick mark label.\nfunc tickLabelWidth(sty draw.TextStyle, ticks []Tick) vg.Length {\n\tmaxWidth := vg.Length(0)\n\tfor _, t := range ticks {\n\t\tif t.IsMinor() {\n\t\t\tcontinue\n\t\t}\n\t\tr := sty.Rectangle(t.Label)\n\t\tw := r.Max.X - r.Min.X\n\t\tif w > maxWidth {\n\t\t\tmaxWidth = w\n\t\t}\n\t}\n\treturn maxWidth\n}\n\nfunc log(x float64) float64 {\n\tif x <= 0 {\n\t\tpanic(\"Values must be greater than 0 for a log scale.\")\n\t}\n\treturn math.Log(x)\n}\n\n// formatFloatTick returns a g-formated string representation of v\n// to the specified precision.\nfunc formatFloatTick(v float64, prec int) string {\n\treturn strconv.FormatFloat(v, 'g', prec, 64)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/doc.go",
    "content": "// Copyright ©2017 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package plot provides an API for setting up plots, and primitives for\n// drawing on plots.\n//\n// Plot is the basic type for creating a plot, setting the title, axis\n// labels, legend, tick marks, etc.  Types implementing the Plotter\n// interface can draw to the data area of a plot using the primitives\n// made available by this package.  Some standard implementations\n// of the Plotter interface can be found in the\n// gonum.org/v1/plot/plotter package\n// which is documented here:\n// https://godoc.org/gonum.org/v1/plot/plotter\npackage plot // import \"gonum.org/v1/plot\"\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/labelling.go",
    "content": "// Copyright ©2017 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// This is an implementation of the Talbot, Lin and Hanrahan algorithm\n// described in doi:10.1109/TVCG.2010.130 with reference to the R\n// implementation in the labeling package, ©2014 Justin Talbot (Licensed\n// MIT+file LICENSE|Unlimited).\n\npackage plot\n\nimport (\n\t\"math\"\n)\n\nconst (\n\t// dlamchE is the machine epsilon. For IEEE this is 2^{-53}.\n\tdlamchE = 1.0 / (1 << 53)\n\n\t// dlamchB is the radix of the machine (the base of the number system).\n\tdlamchB = 2\n\n\t// dlamchP is base * eps.\n\tdlamchP = dlamchB * dlamchE\n)\n\nconst (\n\t// free indicates no restriction on label containment.\n\tfree = iota\n\t// containData specifies that all the data range lies\n\t// within the interval [label_min, label_max].\n\tcontainData\n\t// withinData specifies that all labels lie within the\n\t// interval [dMin, dMax].\n\twithinData\n)\n\n// talbotLinHanrahan returns an optimal set of approximately want label values\n// for the data range [dMin, dMax], and the step and magnitude of the step between values.\n// containment is specifies are guarantees for label and data range containment, valid\n// values are free, containData and withinData.\n// The optional parameters Q, nice numbers, and w, weights, allow tuning of the\n// algorithm but by default (when nil) are set to the parameters described in the\n// paper.\n// The legibility function allows tuning of the legibility assessment for labels.\n// By default, when nil, legbility will set the legibility score for each candidate\n// labelling scheme to 1.\n// See the paper for an explanation of the function of Q, w and legibility.\nfunc talbotLinHanrahan(dMin, dMax float64, want int, containment int, Q []float64, w *weights, legibility func(lMin, lMax, lStep float64) float64) (values []float64, step, q float64, magnitude int) {\n\tconst eps = dlamchP * 100\n\n\tif dMin > dMax {\n\t\tpanic(\"labelling: invalid data range: min greater than max\")\n\t}\n\n\tif Q == nil {\n\t\tQ = []float64{1, 5, 2, 2.5, 4, 3}\n\t}\n\tif w == nil {\n\t\tw = &weights{\n\t\t\tsimplicity: 0.25,\n\t\t\tcoverage:   0.2,\n\t\t\tdensity:    0.5,\n\t\t\tlegibility: 0.05,\n\t\t}\n\t}\n\tif legibility == nil {\n\t\tlegibility = unitLegibility\n\t}\n\n\tif r := dMax - dMin; r < eps {\n\t\tl := make([]float64, want)\n\t\tstep := r / float64(want-1)\n\t\tfor i := range l {\n\t\t\tl[i] = dMin + float64(i)*step\n\t\t}\n\t\tmagnitude = minAbsMag(dMin, dMax)\n\t\treturn l, step, 0, magnitude\n\t}\n\n\ttype selection struct {\n\t\t// n is the number of labels selected.\n\t\tn int\n\t\t// lMin and lMax are the selected min\n\t\t// and max label values. lq is the q\n\t\t// chosen.\n\t\tlMin, lMax, lStep, lq float64\n\t\t// score is the score for the selection.\n\t\tscore float64\n\t\t// magnitude is the magnitude of the\n\t\t// label step distance.\n\t\tmagnitude int\n\t}\n\tbest := selection{score: -2}\n\nouter:\n\tfor skip := 1; ; skip++ {\n\t\tfor _, q := range Q {\n\t\t\tsm := maxSimplicity(q, Q, skip)\n\t\t\tif w.score(sm, 1, 1, 1) < best.score {\n\t\t\t\tbreak outer\n\t\t\t}\n\n\t\t\tfor have := 2; ; have++ {\n\t\t\t\tdm := maxDensity(have, want)\n\t\t\t\tif w.score(sm, 1, dm, 1) < best.score {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\n\t\t\t\tdelta := (dMax - dMin) / float64(have+1) / float64(skip) / q\n\n\t\t\t\tconst maxExp = 309\n\t\t\t\tfor mag := int(math.Ceil(math.Log10(delta))); mag < maxExp; mag++ {\n\t\t\t\t\tstep := float64(skip) * q * math.Pow10(mag)\n\n\t\t\t\t\tcm := maxCoverage(dMin, dMax, step*float64(have-1))\n\t\t\t\t\tif w.score(sm, cm, dm, 1) < best.score {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\n\t\t\t\t\tfracStep := step / float64(skip)\n\t\t\t\t\tkStep := step * float64(have-1)\n\n\t\t\t\t\tminStart := (math.Floor(dMax/step) - float64(have-1)) * float64(skip)\n\t\t\t\t\tmaxStart := math.Ceil(dMax/step) * float64(skip)\n\t\t\t\t\tfor start := minStart; start <= maxStart; start++ {\n\t\t\t\t\t\tlMin := start * fracStep\n\t\t\t\t\t\tlMax := lMin + kStep\n\n\t\t\t\t\t\tswitch containment {\n\t\t\t\t\t\tcase containData:\n\t\t\t\t\t\t\tif dMin < lMin || lMax < dMax {\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\tcase withinData:\n\t\t\t\t\t\t\tif lMin < dMin || dMax < lMax {\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\tcase free:\n\t\t\t\t\t\t\t// Free choice.\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tscore := w.score(\n\t\t\t\t\t\t\tsimplicity(q, Q, skip, lMin, lMax, step),\n\t\t\t\t\t\t\tcoverage(dMin, dMax, lMin, lMax),\n\t\t\t\t\t\t\tdensity(have, want, dMin, dMax, lMin, lMax),\n\t\t\t\t\t\t\tlegibility(lMin, lMax, step),\n\t\t\t\t\t\t)\n\t\t\t\t\t\tif score > best.score {\n\t\t\t\t\t\t\tbest = selection{\n\t\t\t\t\t\t\t\tn:         have,\n\t\t\t\t\t\t\t\tlMin:      lMin,\n\t\t\t\t\t\t\t\tlMax:      lMax,\n\t\t\t\t\t\t\t\tlStep:     float64(skip) * q,\n\t\t\t\t\t\t\t\tlq:        q,\n\t\t\t\t\t\t\t\tscore:     score,\n\t\t\t\t\t\t\t\tmagnitude: mag,\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\tif best.score == -2 {\n\t\tl := make([]float64, want)\n\t\tstep := (dMax - dMin) / float64(want-1)\n\t\tfor i := range l {\n\t\t\tl[i] = dMin + float64(i)*step\n\t\t}\n\t\tmagnitude = minAbsMag(dMin, dMax)\n\t\treturn l, step, 0, magnitude\n\t}\n\n\tl := make([]float64, best.n)\n\tstep = best.lStep * math.Pow10(best.magnitude)\n\tfor i := range l {\n\t\tl[i] = best.lMin + float64(i)*step\n\t}\n\treturn l, best.lStep, best.lq, best.magnitude\n}\n\n// minAbsMag returns the minumum magnitude of the absolute values of a and b.\nfunc minAbsMag(a, b float64) int {\n\treturn int(math.Min(math.Floor(math.Log10(math.Abs(a))), (math.Floor(math.Log10(math.Abs(b))))))\n}\n\n// simplicity returns the simplicity score for how will the curent q, lMin, lMax,\n// lStep and skip match the given nice numbers, Q.\nfunc simplicity(q float64, Q []float64, skip int, lMin, lMax, lStep float64) float64 {\n\tconst eps = dlamchP * 100\n\n\tfor i, v := range Q {\n\t\tif v == q {\n\t\t\tm := math.Mod(lMin, lStep)\n\t\t\tv = 0\n\t\t\tif (m < eps || lStep-m < eps) && lMin <= 0 && 0 <= lMax {\n\t\t\t\tv = 1\n\t\t\t}\n\t\t\treturn 1 - float64(i)/(float64(len(Q))-1) - float64(skip) + v\n\t\t}\n\t}\n\tpanic(\"labelling: invalid q for Q\")\n}\n\n// maxSimplicity returns the maximum simplicity for q, Q and skip.\nfunc maxSimplicity(q float64, Q []float64, skip int) float64 {\n\tfor i, v := range Q {\n\t\tif v == q {\n\t\t\treturn 1 - float64(i)/(float64(len(Q))-1) - float64(skip) + 1\n\t\t}\n\t}\n\tpanic(\"labelling: invalid q for Q\")\n}\n\n// coverage returns the coverage score for based on the average\n// squared distance between the extreme labels, lMin and lMax, and\n// the extreme data points, dMin and dMax.\nfunc coverage(dMin, dMax, lMin, lMax float64) float64 {\n\tr := 0.1 * (dMax - dMin)\n\tmax := dMax - lMax\n\tmin := dMin - lMin\n\treturn 1 - 0.5*(max*max+min*min)/(r*r)\n}\n\n// maxCoverage returns the maximum coverage achievable for the data\n// range.\nfunc maxCoverage(dMin, dMax, span float64) float64 {\n\tr := dMax - dMin\n\tif span <= r {\n\t\treturn 1\n\t}\n\th := 0.5 * (span - r)\n\tr *= 0.1\n\treturn 1 - (h*h)/(r*r)\n}\n\n// density returns the density score which measures the goodness of\n// the labelling density compared to the user defined target\n// based on the want parameter given to talbotLinHanrahan.\nfunc density(have, want int, dMin, dMax, lMin, lMax float64) float64 {\n\trho := float64(have-1) / (lMax - lMin)\n\trhot := float64(want-1) / (math.Max(lMax, dMax) - math.Min(dMin, lMin))\n\tif d := rho / rhot; d >= 1 {\n\t\treturn 2 - d\n\t}\n\treturn 2 - rhot/rho\n}\n\n// maxDensity returns the maximum density score achievable for have and want.\nfunc maxDensity(have, want int) float64 {\n\tif have < want {\n\t\treturn 1\n\t}\n\treturn 2 - float64(have-1)/float64(want-1)\n}\n\n// unitLegibility returns a default legibility score ignoring label\n// spacing.\nfunc unitLegibility(_, _, _ float64) float64 {\n\treturn 1\n}\n\n// weights is a helper type to calcuate the labelling scheme's total score.\ntype weights struct {\n\tsimplicity, coverage, density, legibility float64\n}\n\n// score returns the score for a labelling scheme with simplicity, s,\n// coverage, c, density, d and legibility l.\nfunc (w *weights) score(s, c, d, l float64) float64 {\n\treturn w.simplicity*s + w.coverage*c + w.density*d + w.legibility*l\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/legend.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plot\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// A Legend gives a description of the meaning of different\n// data elements of the plot.  Each legend entry has a name\n// and a thumbnail, where the thumbnail shows a small\n// sample of the display style of the corresponding data.\ntype Legend struct {\n\t// TextStyle is the style given to the legend\n\t// entry texts.\n\tdraw.TextStyle\n\n\t// Padding is the amount of padding to add\n\t// between each entry in the legend.  If Padding\n\t// is zero then entries are spaced based on the\n\t// font size.\n\tPadding vg.Length\n\n\t// Top and Left specify the location of the legend.\n\t// If Top is true the legend is located along the top\n\t// edge of the plot, otherwise it is located along\n\t// the bottom edge.  If Left is true then the legend\n\t// is located along the left edge of the plot, and the\n\t// text is positioned after the icons, otherwise it is\n\t// located along the right edge and the text is\n\t// positioned before the icons.\n\tTop, Left bool\n\n\t// XOffs and YOffs are added to the legend's\n\t// final position.\n\tXOffs, YOffs vg.Length\n\n\t// ThumbnailWidth is the width of legend thumbnails.\n\tThumbnailWidth vg.Length\n\n\t// entries are all of the legendEntries described\n\t// by this legend.\n\tentries []legendEntry\n}\n\n// A legendEntry represents a single line of a legend, it\n// has a name and an icon.\ntype legendEntry struct {\n\t// text is the text associated with this entry.\n\ttext string\n\n\t// thumbs is a slice of all of the thumbnails styles\n\tthumbs []Thumbnailer\n}\n\n// Thumbnailer wraps the Thumbnail method, which\n// draws the small image in a legend representing the\n// style of data.\ntype Thumbnailer interface {\n\t// Thumbnail draws an thumbnail representing\n\t// a legend entry.  The thumbnail will usually show\n\t// a smaller representation of the style used\n\t// to plot the corresponding data.\n\tThumbnail(c *draw.Canvas)\n}\n\n// NewLegend returns a legend with the default\n// parameter settings.\nfunc NewLegend() (Legend, error) {\n\tfont, err := vg.MakeFont(DefaultFont, vg.Points(12))\n\tif err != nil {\n\t\treturn Legend{}, err\n\t}\n\treturn Legend{\n\t\tThumbnailWidth: vg.Points(20),\n\t\tTextStyle:      draw.TextStyle{Font: font},\n\t}, nil\n}\n\n// Draw draws the legend to the given draw.Canvas.\nfunc (l *Legend) Draw(c draw.Canvas) {\n\ticonx := c.Min.X\n\tsty := l.TextStyle\n\ttextx := iconx + l.ThumbnailWidth + sty.Rectangle(\" \").Max.X\n\tif !l.Left {\n\t\ticonx = c.Max.X - l.ThumbnailWidth\n\t\ttextx = iconx - l.TextStyle.Rectangle(\" \").Max.X\n\t\tsty.XAlign--\n\t}\n\ttextx += l.XOffs\n\ticonx += l.XOffs\n\n\tenth := l.entryHeight()\n\ty := c.Max.Y - enth\n\tif !l.Top {\n\t\ty = c.Min.Y + (enth+l.Padding)*(vg.Length(len(l.entries))-1)\n\t}\n\ty += l.YOffs\n\n\ticon := &draw.Canvas{\n\t\tCanvas: c.Canvas,\n\t\tRectangle: vg.Rectangle{\n\t\t\tMin: vg.Point{X: iconx, Y: y},\n\t\t\tMax: vg.Point{X: iconx + l.ThumbnailWidth, Y: y + enth},\n\t\t},\n\t}\n\tfor _, e := range l.entries {\n\t\tfor _, t := range e.thumbs {\n\t\t\tt.Thumbnail(icon)\n\t\t}\n\t\tyoffs := (enth - sty.Rectangle(e.text).Max.Y) / 2\n\t\tc.FillText(sty, vg.Point{X: textx, Y: icon.Min.Y + yoffs}, e.text)\n\t\ticon.Min.Y -= enth + l.Padding\n\t\ticon.Max.Y -= enth + l.Padding\n\t}\n}\n\n// Rectangle returns the extent of the Legend.\nfunc (l *Legend) Rectangle(c draw.Canvas) vg.Rectangle {\n\tvar width, height vg.Length\n\tsty := l.TextStyle\n\tentryHeight := l.entryHeight()\n\tfor i, e := range l.entries {\n\t\twidth = vg.Length(math.Max(float64(width), float64(l.ThumbnailWidth+sty.Rectangle(\" \"+e.text).Max.X)))\n\t\theight += entryHeight\n\t\tif i != 0 {\n\t\t\theight += l.Padding\n\t\t}\n\t}\n\tvar r vg.Rectangle\n\tif l.Left {\n\t\tr.Max.X = c.Max.X\n\t\tr.Min.X = c.Max.X - width\n\t} else {\n\t\tr.Max.X = c.Min.X + width\n\t\tr.Min.X = c.Min.X\n\t}\n\tif l.Top {\n\t\tr.Max.Y = c.Max.Y\n\t\tr.Min.Y = c.Max.Y - height\n\t} else {\n\t\tr.Max.Y = c.Min.Y + height\n\t\tr.Min.Y = c.Min.Y\n\t}\n\treturn r\n}\n\n// entryHeight returns the height of the tallest legend\n// entry text.\nfunc (l *Legend) entryHeight() (height vg.Length) {\n\tfor _, e := range l.entries {\n\t\tif h := l.TextStyle.Rectangle(e.text).Max.Y; h > height {\n\t\t\theight = h\n\t\t}\n\t}\n\treturn\n}\n\n// Add adds an entry to the legend with the given name.\n// The entry's thumbnail is drawn as the composite of all of the\n// thumbnails.\nfunc (l *Legend) Add(name string, thumbs ...Thumbnailer) {\n\tl.entries = append(l.entries, legendEntry{text: name, thumbs: thumbs})\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/palette/hsva.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Copyright ©2011-2013 The bíogo Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage palette\n\nimport (\n\t\"image/color\"\n\t\"math\"\n)\n\n// HSVA represents a Hue/Saturation/Value/Alpha color.\n// H, S, V and A are valid within [0, 1].\ntype HSVA struct {\n\tH, S, V, A float64\n}\n\n// HSVAModel converts any color.Color to an HSVA color.\nvar HSVAModel = color.ModelFunc(hsvaModel)\n\nfunc hsvaModel(c color.Color) color.Color {\n\tif _, ok := c.(HSVA); ok {\n\t\treturn c\n\t}\n\treturn rgbaToHsva(c.RGBA())\n}\n\n// Convert r, g, b, a to HSVA\nfunc rgbaToHsva(r, g, b, a uint32) HSVA {\n\tred := float64(r)\n\tblue := float64(b)\n\tgreen := float64(g)\n\n\tmax := math.Max(red, green)\n\tmax = math.Max(max, blue)\n\tmin := math.Min(red, green)\n\tmin = math.Min(min, blue)\n\tchroma := max - min\n\n\tvar hue float64\n\tswitch {\n\tcase chroma == 0:\n\t\t// This should really be math.NaN() since we have a 0 length vector,\n\t\t// but 0 seems to be the convention and it may simplify imports in\n\t\t// dependent packages.\n\t\thue = 0\n\tcase max == red:\n\t\thue = math.Mod((green-blue)/chroma, 6)\n\tcase max == green:\n\t\thue = (blue-red)/chroma + 2\n\tcase max == blue:\n\t\thue = (red-green)/chroma + 4\n\t}\n\n\thue /= 6\n\n\tvar s float64\n\tif chroma != 0 {\n\t\ts = chroma / max\n\t}\n\n\treturn HSVA{\n\t\tH: math.Mod(math.Mod(hue, 1)+1, 1),\n\t\tS: s,\n\t\tV: max / math.MaxUint16,\n\t\tA: float64(a) / math.MaxUint16,\n\t}\n}\n\n// RGBA allows HSVAColor to satisfy the color.Color interface.\nfunc (c HSVA) RGBA() (r, g, b, a uint32) {\n\tvar red, green, blue float64\n\n\ta = uint32(math.MaxUint16 * c.A)\n\n\tif c.V == 0 {\n\t\treturn\n\t}\n\n\tif c.S == 0 {\n\t\tr, g, b = uint32(math.MaxUint16*c.V), uint32(math.MaxUint16*c.V), uint32(math.MaxUint16*c.V)\n\t\treturn\n\t}\n\n\tchroma := c.V * c.S\n\tm := c.V - chroma\n\n\tif !math.IsNaN(c.H) {\n\t\thue := math.Mod(c.H, 1) * 6\n\t\tx := chroma * (1 - math.Abs(math.Mod(hue, 2)-1))\n\t\tswitch math.Floor(hue) {\n\t\tcase 0:\n\t\t\tred, green = chroma, x\n\t\tcase 1:\n\t\t\tred, green = x, chroma\n\t\tcase 2:\n\t\t\tgreen, blue = chroma, x\n\t\tcase 3:\n\t\t\tgreen, blue = x, chroma\n\t\tcase 4:\n\t\t\tred, blue = x, chroma\n\t\tcase 5:\n\t\t\tred, blue = chroma, x\n\t\t}\n\t} else {\n\t\tred, green, blue = 0, 0, 0\n\t}\n\n\tr, g, b = uint32(math.MaxUint16*(red+m)), uint32(math.MaxUint16*(green+m)), uint32(math.MaxUint16*(blue+m))\n\n\treturn\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/palette/palette.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Copyright ©2013 The bíogo Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package palette provides basic color palette handling.\npackage palette // import \"gonum.org/v1/plot/palette\"\n\nimport (\n\t\"errors\"\n\t\"image/color\"\n\t\"math\"\n)\n\n// Palette is a collection of colors ordered into a palette.\ntype Palette interface {\n\tColors() []color.Color\n}\n\n// DivergingPalette is a collection of colors ordered into a palette with\n// a critical class or break in the middle of the color range.\ntype DivergingPalette interface {\n\tPalette\n\n\t// CriticalIndex returns the indices of the lightest\n\t// (median) color or colors in the DivergingPalette.\n\t// The low and high index values will be equal when\n\t// there is a single median color.\n\tCriticalIndex() (low, high int)\n}\n\n// A ColorMap maps scalar values to colors.\ntype ColorMap interface {\n\t// At returns the color associated with the given value.\n\t// If the value is not between Max() and Min(), an error is returned.\n\tAt(float64) (color.Color, error)\n\n\t// Max returns the current maximum value of the ColorMap.\n\tMax() float64\n\n\t// SetMax sets the maximum value of the ColorMap.\n\tSetMax(float64)\n\n\t// Min returns the current minimum value of the ColorMap.\n\tMin() float64\n\n\t// SetMin sets the minimum value of the ColorMap.\n\tSetMin(float64)\n\n\t// Alpha returns the opacity value of the ColorMap.\n\tAlpha() float64\n\n\t// SetAlpha sets the opacity value of the ColorMap. Zero is transparent\n\t// and one is completely opaque. The default value of alpha should be\n\t// expected to be one. The function should be expected to panic\n\t// if alpha is not between zero and one.\n\tSetAlpha(float64)\n\n\t// Palette creates a Palette with the specified number of colors\n\t// from the ColorMap.\n\tPalette(colors int) Palette\n}\n\n// DivergingColorMap maps scalar values to colors that diverge\n// from a central value.\ntype DivergingColorMap interface {\n\tColorMap\n\n\t// SetConvergePoint sets the value where the diverging colors\n\t// should meet. The default value should be expected to be\n\t// (Min() + Max()) / 2. It should be expected that calling either\n\t// SetMax() or SetMin() will set a new default value, so for a\n\t// custom convergence point this function should be called after\n\t// SetMax() and SetMin(). The function should be expected to panic\n\t// if the value is not between Min() and Max().\n\tSetConvergePoint(float64)\n\n\t// ConvergePoint returns the value where the diverging colors meet.\n\tConvergePoint() float64\n}\n\n// Hue represents a hue in HSV color space. Valid Hues are within [0, 1].\ntype Hue float64\n\nconst (\n\tRed Hue = Hue(iota) / 6\n\tYellow\n\tGreen\n\tCyan\n\tBlue\n\tMagenta\n)\n\nvar (\n\t// ErrOverflow is the error returned by ColorMaps when the specified\n\t// value is greater than the maximum value.\n\tErrOverflow = errors.New(\"palette: specified value > maximum\")\n\n\t// ErrUnderflow is the error returned by ColorMaps when the specified\n\t// value is less than the minimum value.\n\tErrUnderflow = errors.New(\"palette: specified value < minimum\")\n\n\t// ErrNaN is the error returned by ColorMaps when the specified\n\t// value is NaN.\n\tErrNaN = errors.New(\"palette: specified value == NaN\")\n)\n\n// Complement returns the complementary hue of a Hue.\nfunc (h Hue) Complement() Hue { return Hue(math.Mod(float64(h+0.5), 1)) }\n\ntype palette []color.Color\n\nfunc (p palette) Colors() []color.Color { return p }\n\ntype divergingPalette []color.Color\n\nfunc (p divergingPalette) Colors() []color.Color { return p }\n\nfunc (d divergingPalette) CriticalIndex() (low, high int) {\n\tl := len(d)\n\treturn (l - 1) / 2, l / 2\n}\n\n// Rainbow returns a rainbow palette with the specified number of colors, saturation\n// value and alpha, and hues in the specified range.\nfunc Rainbow(colors int, start, end Hue, sat, val, alpha float64) Palette {\n\tp := make(palette, colors)\n\thd := float64(end-start) / float64(colors-1)\n\tc := HSVA{V: val, S: sat, A: alpha}\n\tfor i := range p {\n\t\tc.H = float64(start) + float64(i)*hd\n\t\tp[i] = color.NRGBAModel.Convert(c)\n\t}\n\n\treturn p\n}\n\n// Heat returns a red to yellow palette with the specified number of colors and alpha.\nfunc Heat(colors int, alpha float64) Palette {\n\tp := make(palette, colors)\n\tj := colors / 4\n\ti := colors - j\n\n\thd := float64(Yellow-Red) / float64(i-1)\n\tc := HSVA{V: 1, S: 1, A: alpha}\n\tfor k := range p[:i] {\n\t\tc.H = float64(Red) + float64(k)*hd\n\t\tp[k] = color.NRGBAModel.Convert(c)\n\t}\n\tif j == 0 {\n\t\treturn p\n\t}\n\n\tc.H = float64(Yellow)\n\tstart, end := 1-1/(2*float64(j)), 1/(2*float64(j))\n\tc.S = start\n\tsd := (end - start) / float64(j-1)\n\tfor k := range p[i:] {\n\t\tc.S = start + float64(k)*sd\n\t\tp[k+i] = color.NRGBAModel.Convert(c)\n\t}\n\n\treturn p\n}\n\n// Radial return a diverging palette across the specified range, through white and with\n// the specified alpha.\nfunc Radial(colors int, start, end Hue, alpha float64) DivergingPalette {\n\tp := make(divergingPalette, colors)\n\th := colors / 2\n\tc := HSVA{V: 1, A: alpha}\n\tds := 0.5 / float64(h)\n\tfor i := range p[:h] {\n\t\tc.H = float64(start)\n\t\tc.S = 0.5 - float64(i)*ds\n\t\tp[i] = color.NRGBAModel.Convert(c)\n\t\tc.H = float64(end)\n\t\tp[len(p)-1-i] = color.NRGBAModel.Convert(c)\n\t}\n\tif colors%2 != 0 {\n\t\tp[colors/2] = color.NRGBA{0xff, 0xff, 0xff, byte(math.MaxUint8 * alpha)}\n\t}\n\n\treturn p\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/palette/reverse.go",
    "content": "// Copyright ©2017 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage palette\n\nimport (\n\t\"image/color\"\n)\n\n// Reverse reverses the direction of ColorMap c.\nfunc Reverse(c ColorMap) ColorMap {\n\treturn reverse{ColorMap: c}\n}\n\n// reverse is a ColorMap that reverses the direction of the ColorMap it\n// contains.\ntype reverse struct {\n\tColorMap\n}\n\n// At implements the ColorMap interface for a Reversed ColorMap.\nfunc (r reverse) At(v float64) (color.Color, error) {\n\treturn r.ColorMap.At(r.Max() - (v - r.Min()))\n}\n\n// Palette implements the ColorMap interface for a Reversed ColorMap.\nfunc (r reverse) Palette(colors int) Palette {\n\tc := r.ColorMap.Palette(colors).Colors()\n\tc2 := make([]color.Color, len(c))\n\tfor i, j := 0, len(c)-1; i < j; i, j = i+1, j-1 {\n\t\tc2[i], c2[j] = c[j], c[i]\n\t}\n\treturn palette(c2)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plot.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plot\n\nimport (\n\t\"image/color\"\n\t\"io\"\n\t\"math\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strings\"\n\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\nvar (\n\t// DefaultFont is the name of the default font for plot text.\n\tDefaultFont = \"Times-Roman\"\n)\n\n// Plot is the basic type representing a plot.\ntype Plot struct {\n\tTitle struct {\n\t\t// Text is the text of the plot title.  If\n\t\t// Text is the empty string then the plot\n\t\t// will not have a title.\n\t\tText string\n\n\t\t// Padding is the amount of padding\n\t\t// between the bottom of the title and\n\t\t// the top of the plot.\n\t\tPadding vg.Length\n\n\t\tdraw.TextStyle\n\t}\n\n\t// BackgroundColor is the background color of the plot.\n\t// The default is White.\n\tBackgroundColor color.Color\n\n\t// X and Y are the horizontal and vertical axes\n\t// of the plot respectively.\n\tX, Y Axis\n\n\t// Legend is the plot's legend.\n\tLegend Legend\n\n\t// plotters are drawn by calling their Plot method\n\t// after the axes are drawn.\n\tplotters []Plotter\n}\n\n// Plotter is an interface that wraps the Plot method.\n// Some standard implementations of Plotter can be\n// found in the gonum.org/v1/plot/plotter\n// package, documented here:\n// https://godoc.org/gonum.org/v1/plot/plotter\ntype Plotter interface {\n\t// Plot draws the data to a draw.Canvas.\n\tPlot(draw.Canvas, *Plot)\n}\n\n// DataRanger wraps the DataRange method.\ntype DataRanger interface {\n\t// DataRange returns the range of X and Y values.\n\tDataRange() (xmin, xmax, ymin, ymax float64)\n}\n\nconst (\n\tvertical   = true\n\thorizontal = false\n)\n\n// New returns a new plot with some reasonable\n// default settings.\nfunc New() (*Plot, error) {\n\ttitleFont, err := vg.MakeFont(DefaultFont, 12)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tx, err := makeAxis(horizontal)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\ty, err := makeAxis(vertical)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tlegend, err := NewLegend()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tp := &Plot{\n\t\tBackgroundColor: color.White,\n\t\tX:               x,\n\t\tY:               y,\n\t\tLegend:          legend,\n\t}\n\tp.Title.TextStyle = draw.TextStyle{\n\t\tColor:  color.Black,\n\t\tFont:   titleFont,\n\t\tXAlign: draw.XCenter,\n\t\tYAlign: draw.YTop,\n\t}\n\treturn p, nil\n}\n\n// Add adds a Plotters to the plot.\n//\n// If the plotters implements DataRanger then the\n// minimum and maximum values of the X and Y\n// axes are changed if necessary to fit the range of\n// the data.\n//\n// When drawing the plot, Plotters are drawn in the\n// order in which they were added to the plot.\nfunc (p *Plot) Add(ps ...Plotter) {\n\tfor _, d := range ps {\n\t\tif x, ok := d.(DataRanger); ok {\n\t\t\txmin, xmax, ymin, ymax := x.DataRange()\n\t\t\tp.X.Min = math.Min(p.X.Min, xmin)\n\t\t\tp.X.Max = math.Max(p.X.Max, xmax)\n\t\t\tp.Y.Min = math.Min(p.Y.Min, ymin)\n\t\t\tp.Y.Max = math.Max(p.Y.Max, ymax)\n\t\t}\n\t}\n\n\tp.plotters = append(p.plotters, ps...)\n}\n\n// Draw draws a plot to a draw.Canvas.\n//\n// Plotters are drawn in the order in which they were\n// added to the plot.  Plotters that  implement the\n// GlyphBoxer interface will have their GlyphBoxes\n// taken into account when padding the plot so that\n// none of their glyphs are clipped.\nfunc (p *Plot) Draw(c draw.Canvas) {\n\tif p.BackgroundColor != nil {\n\t\tc.SetColor(p.BackgroundColor)\n\t\tc.Fill(c.Rectangle.Path())\n\t}\n\tif p.Title.Text != \"\" {\n\t\tc.FillText(p.Title.TextStyle, vg.Point{X: c.Center().X, Y: c.Max.Y}, p.Title.Text)\n\t\tc.Max.Y -= p.Title.Height(p.Title.Text) - p.Title.Font.Extents().Descent\n\t\tc.Max.Y -= p.Title.Padding\n\t}\n\n\tp.X.sanitizeRange()\n\tx := horizontalAxis{p.X}\n\tp.Y.sanitizeRange()\n\ty := verticalAxis{p.Y}\n\n\tywidth := y.size()\n\n\txheight := x.size()\n\tx.draw(padX(p, draw.Crop(c, ywidth, 0, 0, 0)))\n\ty.draw(padY(p, draw.Crop(c, 0, 0, xheight, 0)))\n\n\tdataC := padY(p, padX(p, draw.Crop(c, ywidth, 0, xheight, 0)))\n\tfor _, data := range p.plotters {\n\t\tdata.Plot(dataC, p)\n\t}\n\n\tp.Legend.Draw(draw.Crop(c, ywidth, 0, xheight, 0))\n}\n\n// DataCanvas returns a new draw.Canvas that\n// is the subset of the given draw area into which\n// the plot data will be drawn.\nfunc (p *Plot) DataCanvas(da draw.Canvas) draw.Canvas {\n\tif p.Title.Text != \"\" {\n\t\tda.Max.Y -= p.Title.Height(p.Title.Text) - p.Title.Font.Extents().Descent\n\t\tda.Max.Y -= p.Title.Padding\n\t}\n\tp.X.sanitizeRange()\n\tx := horizontalAxis{p.X}\n\tp.Y.sanitizeRange()\n\ty := verticalAxis{p.Y}\n\treturn padY(p, padX(p, draw.Crop(da, y.size(), 0, x.size(), 0)))\n}\n\n// DrawGlyphBoxes draws red outlines around the plot's\n// GlyphBoxes.  This is intended for debugging.\nfunc (p *Plot) DrawGlyphBoxes(c *draw.Canvas) {\n\tc.SetColor(color.RGBA{R: 255, A: 255})\n\tfor _, b := range p.GlyphBoxes(p) {\n\t\tb.Rectangle.Min.X += c.X(b.X)\n\t\tb.Rectangle.Min.Y += c.Y(b.Y)\n\t\tc.Stroke(b.Rectangle.Path())\n\t}\n}\n\n// padX returns a draw.Canvas that is padded horizontally\n// so that glyphs will no be clipped.\nfunc padX(p *Plot, c draw.Canvas) draw.Canvas {\n\tglyphs := p.GlyphBoxes(p)\n\tl := leftMost(&c, glyphs)\n\txAxis := horizontalAxis{p.X}\n\tglyphs = append(glyphs, xAxis.GlyphBoxes(p)...)\n\tr := rightMost(&c, glyphs)\n\n\tminx := c.Min.X - l.Min.X\n\tmaxx := c.Max.X - (r.Min.X + r.Size().X)\n\tlx := vg.Length(l.X)\n\trx := vg.Length(r.X)\n\tn := (lx*maxx - rx*minx) / (lx - rx)\n\tm := ((lx-1)*maxx - rx*minx + minx) / (lx - rx)\n\treturn draw.Canvas{\n\t\tCanvas: vg.Canvas(c),\n\t\tRectangle: vg.Rectangle{\n\t\t\tMin: vg.Point{X: n, Y: c.Min.Y},\n\t\t\tMax: vg.Point{X: m, Y: c.Max.Y},\n\t\t},\n\t}\n}\n\n// rightMost returns the right-most GlyphBox.\nfunc rightMost(c *draw.Canvas, boxes []GlyphBox) GlyphBox {\n\tmaxx := c.Max.X\n\tr := GlyphBox{X: 1}\n\tfor _, b := range boxes {\n\t\tif b.Size().X <= 0 {\n\t\t\tcontinue\n\t\t}\n\t\tif x := c.X(b.X) + b.Min.X + b.Size().X; x > maxx && b.X <= 1 {\n\t\t\tmaxx = x\n\t\t\tr = b\n\t\t}\n\t}\n\treturn r\n}\n\n// leftMost returns the left-most GlyphBox.\nfunc leftMost(c *draw.Canvas, boxes []GlyphBox) GlyphBox {\n\tminx := c.Min.X\n\tl := GlyphBox{}\n\tfor _, b := range boxes {\n\t\tif b.Size().X <= 0 {\n\t\t\tcontinue\n\t\t}\n\t\tif x := c.X(b.X) + b.Min.X; x < minx && b.X >= 0 {\n\t\t\tminx = x\n\t\t\tl = b\n\t\t}\n\t}\n\treturn l\n}\n\n// padY returns a draw.Canvas that is padded vertically\n// so that glyphs will no be clipped.\nfunc padY(p *Plot, c draw.Canvas) draw.Canvas {\n\tglyphs := p.GlyphBoxes(p)\n\tb := bottomMost(&c, glyphs)\n\tyAxis := verticalAxis{p.Y}\n\tglyphs = append(glyphs, yAxis.GlyphBoxes(p)...)\n\tt := topMost(&c, glyphs)\n\n\tminy := c.Min.Y - b.Min.Y\n\tmaxy := c.Max.Y - (t.Min.Y + t.Size().Y)\n\tby := vg.Length(b.Y)\n\tty := vg.Length(t.Y)\n\tn := (by*maxy - ty*miny) / (by - ty)\n\tm := ((by-1)*maxy - ty*miny + miny) / (by - ty)\n\treturn draw.Canvas{\n\t\tCanvas: vg.Canvas(c),\n\t\tRectangle: vg.Rectangle{\n\t\t\tMin: vg.Point{Y: n, X: c.Min.X},\n\t\t\tMax: vg.Point{Y: m, X: c.Max.X},\n\t\t},\n\t}\n}\n\n// topMost returns the top-most GlyphBox.\nfunc topMost(c *draw.Canvas, boxes []GlyphBox) GlyphBox {\n\tmaxy := c.Max.Y\n\tt := GlyphBox{Y: 1}\n\tfor _, b := range boxes {\n\t\tif b.Size().Y <= 0 {\n\t\t\tcontinue\n\t\t}\n\t\tif y := c.Y(b.Y) + b.Min.Y + b.Size().Y; y > maxy && b.Y <= 1 {\n\t\t\tmaxy = y\n\t\t\tt = b\n\t\t}\n\t}\n\treturn t\n}\n\n// bottomMost returns the bottom-most GlyphBox.\nfunc bottomMost(c *draw.Canvas, boxes []GlyphBox) GlyphBox {\n\tminy := c.Min.Y\n\tl := GlyphBox{}\n\tfor _, b := range boxes {\n\t\tif b.Size().Y <= 0 {\n\t\t\tcontinue\n\t\t}\n\t\tif y := c.Y(b.Y) + b.Min.Y; y < miny && b.Y >= 0 {\n\t\t\tminy = y\n\t\t\tl = b\n\t\t}\n\t}\n\treturn l\n}\n\n// Transforms returns functions to transfrom\n// from the x and y data coordinate system to\n// the draw coordinate system of the given\n// draw area.\nfunc (p *Plot) Transforms(c *draw.Canvas) (x, y func(float64) vg.Length) {\n\tx = func(x float64) vg.Length { return c.X(p.X.Norm(x)) }\n\ty = func(y float64) vg.Length { return c.Y(p.Y.Norm(y)) }\n\treturn\n}\n\n// GlyphBoxer wraps the GlyphBoxes method.\n// It should be implemented by things that meet\n// the Plotter interface that draw glyphs so that\n// their glyphs are not clipped if drawn near the\n// edge of the draw.Canvas.\n//\n// When computing padding, the plot ignores\n// GlyphBoxes as follows:\n// If the Size.X > 0 and the X value is not in range\n// of the X axis then the box is ignored.\n// If Size.Y > 0 and the Y value is not in range of\n// the Y axis then the box is ignored.\n//\n// Also, GlyphBoxes with Size.X <= 0 are ignored\n// when computing horizontal padding and\n// GlyphBoxes with Size.Y <= 0 are ignored when\n// computing vertical padding.  This is useful\n// for things like box plots and bar charts where\n// the boxes and bars are considered to be glyphs\n// in the X direction (and thus need padding), but\n// may be clipped in the Y direction (and do not\n// need padding).\ntype GlyphBoxer interface {\n\tGlyphBoxes(*Plot) []GlyphBox\n}\n\n// A GlyphBox describes the location of a glyph\n// and the offset/size of its bounding box.\n//\n// If the Rectangle.Size().X is non-positive (<= 0) then\n// the GlyphBox is ignored when computing the\n// horizontal padding, and likewise with\n// Rectangle.Size().Y and the vertical padding.\ntype GlyphBox struct {\n\t// The glyph location in normalized coordinates.\n\tX, Y float64\n\n\t// Rectangle is the offset of the glyph's minimum drawing\n\t// point relative to the glyph location and its size.\n\tvg.Rectangle\n}\n\n// GlyphBoxes returns the GlyphBoxes for all plot\n// data that meet the GlyphBoxer interface.\nfunc (p *Plot) GlyphBoxes(*Plot) (boxes []GlyphBox) {\n\tfor _, d := range p.plotters {\n\t\tgb, ok := d.(GlyphBoxer)\n\t\tif !ok {\n\t\t\tcontinue\n\t\t}\n\t\tfor _, b := range gb.GlyphBoxes(p) {\n\t\t\tif b.Size().X > 0 && (b.X < 0 || b.X > 1) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif b.Size().Y > 0 && (b.Y < 0 || b.Y > 1) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tboxes = append(boxes, b)\n\t\t}\n\t}\n\treturn\n}\n\n// NominalX configures the plot to have a nominal X\n// axis—an X axis with names instead of numbers.  The\n// X location corresponding to each name are the integers,\n// e.g., the x value 0 is centered above the first name and\n// 1 is above the second name, etc.  Labels for x values\n// that do not end up in range of the X axis will not have\n// tick marks.\nfunc (p *Plot) NominalX(names ...string) {\n\tp.X.Tick.Width = 0\n\tp.X.Tick.Length = 0\n\tp.X.Width = 0\n\tp.Y.Padding = p.X.Tick.Label.Width(names[0]) / 2\n\tticks := make([]Tick, len(names))\n\tfor i, name := range names {\n\t\tticks[i] = Tick{float64(i), name}\n\t}\n\tp.X.Tick.Marker = ConstantTicks(ticks)\n}\n\n// HideX configures the X axis so that it will not be drawn.\nfunc (p *Plot) HideX() {\n\tp.X.Tick.Length = 0\n\tp.X.Width = 0\n\tp.X.Tick.Marker = ConstantTicks([]Tick{})\n}\n\n// HideY configures the Y axis so that it will not be drawn.\nfunc (p *Plot) HideY() {\n\tp.Y.Tick.Length = 0\n\tp.Y.Width = 0\n\tp.Y.Tick.Marker = ConstantTicks([]Tick{})\n}\n\n// HideAxes hides the X and Y axes.\nfunc (p *Plot) HideAxes() {\n\tp.HideX()\n\tp.HideY()\n}\n\n// NominalY is like NominalX, but for the Y axis.\nfunc (p *Plot) NominalY(names ...string) {\n\tp.Y.Tick.Width = 0\n\tp.Y.Tick.Length = 0\n\tp.Y.Width = 0\n\tp.X.Padding = p.Y.Tick.Label.Height(names[0]) / 2\n\tticks := make([]Tick, len(names))\n\tfor i, name := range names {\n\t\tticks[i] = Tick{float64(i), name}\n\t}\n\tp.Y.Tick.Marker = ConstantTicks(ticks)\n}\n\n// WriterTo returns an io.WriterTo that will write the plot as\n// the specified image format.\n//\n// Supported formats are:\n//\n//  eps, jpg|jpeg, pdf, png, svg, and tif|tiff.\nfunc (p *Plot) WriterTo(w, h vg.Length, format string) (io.WriterTo, error) {\n\tc, err := draw.NewFormattedCanvas(w, h, format)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tp.Draw(draw.New(c))\n\treturn c, nil\n}\n\n// Save saves the plot to an image file.  The file format is determined\n// by the extension.\n//\n// Supported extensions are:\n//\n//  .eps, .jpg, .jpeg, .pdf, .png, .svg, .tif and .tiff.\nfunc (p *Plot) Save(w, h vg.Length, file string) (err error) {\n\tf, err := os.Create(file)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer func() {\n\t\te := f.Close()\n\t\tif err == nil {\n\t\t\terr = e\n\t\t}\n\t}()\n\n\tformat := strings.ToLower(filepath.Ext(file))\n\tif len(format) != 0 {\n\t\tformat = format[1:]\n\t}\n\tc, err := p.WriterTo(w, h, format)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t_, err = c.WriteTo(f)\n\treturn err\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/barchart.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"errors\"\n\t\"image/color\"\n\t\"math\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// A BarChart presents grouped data with rectangular bars\n// with lengths proportional to the data values.\ntype BarChart struct {\n\tValues\n\n\t// Width is the width of the bars.\n\tWidth vg.Length\n\n\t// Color is the fill color of the bars.\n\tColor color.Color\n\n\t// LineStyle is the style of the outline of the bars.\n\tdraw.LineStyle\n\n\t// Offset is added to the X location of each bar.\n\t// When the Offset is zero, the bars are drawn\n\t// centered at their X location.\n\tOffset vg.Length\n\n\t// XMin is the X location of the first bar.  XMin\n\t// can be changed to move groups of bars\n\t// down the X axis in order to make grouped\n\t// bar charts.\n\tXMin float64\n\n\t// Horizontal dictates whether the bars should be in the vertical\n\t// (default) or horizontal direction. If Horizontal is true, all\n\t// X locations and distances referred to here will actually be Y\n\t// locations and distances.\n\tHorizontal bool\n\n\t// stackedOn is the bar chart upon which\n\t// this bar chart is stacked.\n\tstackedOn *BarChart\n}\n\n// NewBarChart returns a new bar chart with a single bar for each value.\n// The bars heights correspond to the values and their x locations correspond\n// to the index of their value in the Valuer.\nfunc NewBarChart(vs Valuer, width vg.Length) (*BarChart, error) {\n\tif width <= 0 {\n\t\treturn nil, errors.New(\"Width parameter was not positive\")\n\t}\n\tvalues, err := CopyValues(vs)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &BarChart{\n\t\tValues:    values,\n\t\tWidth:     width,\n\t\tColor:     color.Black,\n\t\tLineStyle: DefaultLineStyle,\n\t}, nil\n}\n\n// BarHeight returns the maximum y value of the\n// ith bar, taking into account any bars upon\n// which it is stacked.\nfunc (b *BarChart) BarHeight(i int) float64 {\n\tht := 0.0\n\tif b == nil {\n\t\treturn 0\n\t}\n\tif i >= 0 && i < len(b.Values) {\n\t\tht += b.Values[i]\n\t}\n\tif b.stackedOn != nil {\n\t\tht += b.stackedOn.BarHeight(i)\n\t}\n\treturn ht\n}\n\n// StackOn stacks a bar chart on top of another,\n// and sets the XMin and Offset to that of the\n// chart upon which it is being stacked.\nfunc (b *BarChart) StackOn(on *BarChart) {\n\tb.XMin = on.XMin\n\tb.Offset = on.Offset\n\tb.stackedOn = on\n}\n\n// Plot implements the plot.Plotter interface.\nfunc (b *BarChart) Plot(c draw.Canvas, plt *plot.Plot) {\n\ttrCat, trVal := plt.Transforms(&c)\n\tif b.Horizontal {\n\t\ttrCat, trVal = trVal, trCat\n\t}\n\n\tfor i, ht := range b.Values {\n\t\tcatVal := b.XMin + float64(i)\n\t\tcatMin := trCat(float64(catVal))\n\t\tif !b.Horizontal {\n\t\t\tif !c.ContainsX(catMin) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t} else {\n\t\t\tif !c.ContainsY(catMin) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tcatMin = catMin - b.Width/2 + b.Offset\n\t\tcatMax := catMin + b.Width\n\t\tbottom := b.stackedOn.BarHeight(i)\n\t\tvalMin := trVal(bottom)\n\t\tvalMax := trVal(bottom + ht)\n\n\t\tvar pts []vg.Point\n\t\tvar poly []vg.Point\n\t\tif !b.Horizontal {\n\t\t\tpts = []vg.Point{\n\t\t\t\t{catMin, valMin},\n\t\t\t\t{catMin, valMax},\n\t\t\t\t{catMax, valMax},\n\t\t\t\t{catMax, valMin},\n\t\t\t}\n\t\t\tpoly = c.ClipPolygonY(pts)\n\t\t} else {\n\t\t\tpts = []vg.Point{\n\t\t\t\t{valMin, catMin},\n\t\t\t\t{valMin, catMax},\n\t\t\t\t{valMax, catMax},\n\t\t\t\t{valMax, catMin},\n\t\t\t}\n\t\t\tpoly = c.ClipPolygonX(pts)\n\t\t}\n\t\tc.FillPolygon(b.Color, poly)\n\n\t\tvar outline [][]vg.Point\n\t\tif !b.Horizontal {\n\t\t\tpts = append(pts, vg.Point{X: catMin, Y: valMin})\n\t\t\toutline = c.ClipLinesY(pts)\n\t\t} else {\n\t\t\tpts = append(pts, vg.Point{X: valMin, Y: catMin})\n\t\t\toutline = c.ClipLinesX(pts)\n\t\t}\n\t\tc.StrokeLines(b.LineStyle, outline...)\n\t}\n}\n\n// DataRange implements the plot.DataRanger interface.\nfunc (b *BarChart) DataRange() (xmin, xmax, ymin, ymax float64) {\n\tcatMin := b.XMin\n\tcatMax := catMin + float64(len(b.Values)-1)\n\n\tvalMin := math.Inf(1)\n\tvalMax := math.Inf(-1)\n\tfor i, val := range b.Values {\n\t\tvalBot := b.stackedOn.BarHeight(i)\n\t\tvalTop := valBot + val\n\t\tvalMin = math.Min(valMin, math.Min(valBot, valTop))\n\t\tvalMax = math.Max(valMax, math.Max(valBot, valTop))\n\t}\n\tif !b.Horizontal {\n\t\treturn catMin, catMax, valMin, valMax\n\t}\n\treturn valMin, valMax, catMin, catMax\n}\n\n// GlyphBoxes implements the GlyphBoxer interface.\nfunc (b *BarChart) GlyphBoxes(plt *plot.Plot) []plot.GlyphBox {\n\tboxes := make([]plot.GlyphBox, len(b.Values))\n\tfor i := range b.Values {\n\t\tcat := b.XMin + float64(i)\n\t\tif !b.Horizontal {\n\t\t\tboxes[i].X = plt.X.Norm(cat)\n\t\t\tboxes[i].Rectangle = vg.Rectangle{\n\t\t\t\tMin: vg.Point{X: b.Offset - b.Width/2},\n\t\t\t\tMax: vg.Point{X: b.Offset + b.Width/2},\n\t\t\t}\n\t\t} else {\n\t\t\tboxes[i].Y = plt.Y.Norm(cat)\n\t\t\tboxes[i].Rectangle = vg.Rectangle{\n\t\t\t\tMin: vg.Point{Y: b.Offset - b.Width/2},\n\t\t\t\tMax: vg.Point{Y: b.Offset + b.Width/2},\n\t\t\t}\n\t\t}\n\t}\n\treturn boxes\n}\n\n// Thumbnail fulfills the plot.Thumbnailer interface.\nfunc (b *BarChart) Thumbnail(c *draw.Canvas) {\n\tpts := []vg.Point{\n\t\t{c.Min.X, c.Min.Y},\n\t\t{c.Min.X, c.Max.Y},\n\t\t{c.Max.X, c.Max.Y},\n\t\t{c.Max.X, c.Min.Y},\n\t}\n\tpoly := c.ClipPolygonY(pts)\n\tc.FillPolygon(b.Color, poly)\n\n\tpts = append(pts, vg.Point{X: c.Min.X, Y: c.Min.Y})\n\toutline := c.ClipLinesY(pts)\n\tc.StrokeLines(b.LineStyle, outline...)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/boxplot.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"errors\"\n\t\"math\"\n\t\"sort\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// fiveStatPlot contains the shared fields for quartile\n// and box-whisker plots.\ntype fiveStatPlot struct {\n\t// Values is a copy of the values of the values used to\n\t// create this box plot.\n\tValues\n\n\t// Location is the location of the box along its axis.\n\tLocation float64\n\n\t// Median is the median value of the data.\n\tMedian float64\n\n\t// Quartile1 and Quartile3 are the first and\n\t// third quartiles of the data respectively.\n\tQuartile1, Quartile3 float64\n\n\t// AdjLow and AdjHigh are the `adjacent' values\n\t// on the low and high ends of the data.  The\n\t// adjacent values are the points to which the\n\t// whiskers are drawn.\n\tAdjLow, AdjHigh float64\n\n\t// Min and Max are the extreme values of the data.\n\tMin, Max float64\n\n\t// Outside are the indices of Vs for the outside points.\n\tOutside []int\n}\n\n// BoxPlot implements the Plotter interface, drawing\n// a boxplot to represent the distribution of values.\ntype BoxPlot struct {\n\tfiveStatPlot\n\n\t// Offset is added to the x location of each box.\n\t// When the Offset is zero, the boxes are drawn\n\t// centered at their x location.\n\tOffset vg.Length\n\n\t// Width is the width used to draw the box.\n\tWidth vg.Length\n\n\t// CapWidth is the width of the cap used to top\n\t// off a whisker.\n\tCapWidth vg.Length\n\n\t// GlyphStyle is the style of the outside point glyphs.\n\tGlyphStyle draw.GlyphStyle\n\n\t// BoxStyle is the line style for the box.\n\tBoxStyle draw.LineStyle\n\n\t// MedianStyle is the line style for the median line.\n\tMedianStyle draw.LineStyle\n\n\t// WhiskerStyle is the line style used to draw the\n\t// whiskers.\n\tWhiskerStyle draw.LineStyle\n\n\t// Horizontal dictates whether the BoxPlot should be in the vertical\n\t// (default) or horizontal direction.\n\tHorizontal bool\n}\n\n// NewBoxPlot returns a new BoxPlot that represents\n// the distribution of the given values.  The style of\n// the box plot is that used for Tukey's schematic\n// plots is ``Exploratory Data Analysis.''\n//\n// An error is returned if the boxplot is created with\n// no values.\n//\n// The fence values are 1.5x the interquartile before\n// the first quartile and after the third quartile.  Any\n// value that is outside of the fences are drawn as\n// Outside points.  The adjacent values (to which the\n// whiskers stretch) are the minimum and maximum\n// values that are not outside the fences.\nfunc NewBoxPlot(w vg.Length, loc float64, values Valuer) (*BoxPlot, error) {\n\tif w < 0 {\n\t\treturn nil, errors.New(\"Negative boxplot width\")\n\t}\n\n\tb := new(BoxPlot)\n\tvar err error\n\tif b.fiveStatPlot, err = newFiveStat(w, loc, values); err != nil {\n\t\treturn nil, err\n\t}\n\n\tb.Width = w\n\tb.CapWidth = 3 * w / 4\n\n\tb.GlyphStyle = DefaultGlyphStyle\n\tb.BoxStyle = DefaultLineStyle\n\tb.MedianStyle = DefaultLineStyle\n\tb.WhiskerStyle = draw.LineStyle{\n\t\tWidth:  vg.Points(0.5),\n\t\tDashes: []vg.Length{vg.Points(4), vg.Points(2)},\n\t}\n\n\tif len(b.Values) == 0 {\n\t\tb.Width = 0\n\t\tb.GlyphStyle.Radius = 0\n\t\tb.BoxStyle.Width = 0\n\t\tb.MedianStyle.Width = 0\n\t\tb.WhiskerStyle.Width = 0\n\t}\n\n\treturn b, nil\n}\n\nfunc newFiveStat(w vg.Length, loc float64, values Valuer) (fiveStatPlot, error) {\n\tvar b fiveStatPlot\n\tb.Location = loc\n\n\tvar err error\n\tif b.Values, err = CopyValues(values); err != nil {\n\t\treturn fiveStatPlot{}, err\n\t}\n\n\tsorted := make(Values, len(b.Values))\n\tcopy(sorted, b.Values)\n\tsort.Float64s(sorted)\n\n\tif len(sorted) == 1 {\n\t\tb.Median = sorted[0]\n\t\tb.Quartile1 = sorted[0]\n\t\tb.Quartile3 = sorted[0]\n\t} else {\n\t\tb.Median = median(sorted)\n\t\tb.Quartile1 = median(sorted[:len(sorted)/2])\n\t\tb.Quartile3 = median(sorted[len(sorted)/2:])\n\t}\n\tb.Min = sorted[0]\n\tb.Max = sorted[len(sorted)-1]\n\n\tlow := b.Quartile1 - 1.5*(b.Quartile3-b.Quartile1)\n\thigh := b.Quartile3 + 1.5*(b.Quartile3-b.Quartile1)\n\tb.AdjLow = math.Inf(1)\n\tb.AdjHigh = math.Inf(-1)\n\tfor i, v := range b.Values {\n\t\tif v > high || v < low {\n\t\t\tb.Outside = append(b.Outside, i)\n\t\t\tcontinue\n\t\t}\n\t\tif v < b.AdjLow {\n\t\t\tb.AdjLow = v\n\t\t}\n\t\tif v > b.AdjHigh {\n\t\t\tb.AdjHigh = v\n\t\t}\n\t}\n\n\treturn b, nil\n}\n\n// median returns the median value from a\n// sorted Values.\nfunc median(vs Values) float64 {\n\tif len(vs) == 1 {\n\t\treturn vs[0]\n\t}\n\tmed := vs[len(vs)/2]\n\tif len(vs)%2 == 0 {\n\t\tmed += vs[len(vs)/2-1]\n\t\tmed /= 2\n\t}\n\treturn med\n}\n\n// Plot draws the BoxPlot on Canvas c and Plot plt.\nfunc (b *BoxPlot) Plot(c draw.Canvas, plt *plot.Plot) {\n\tif b.Horizontal {\n\t\tb := &horizBoxPlot{b}\n\t\tb.Plot(c, plt)\n\t\treturn\n\t}\n\n\ttrX, trY := plt.Transforms(&c)\n\tx := trX(b.Location)\n\tif !c.ContainsX(x) {\n\t\treturn\n\t}\n\tx += b.Offset\n\n\tmed := trY(b.Median)\n\tq1 := trY(b.Quartile1)\n\tq3 := trY(b.Quartile3)\n\taLow := trY(b.AdjLow)\n\taHigh := trY(b.AdjHigh)\n\n\tbox := c.ClipLinesY([]vg.Point{\n\t\t{x - b.Width/2, q1},\n\t\t{x - b.Width/2, q3},\n\t\t{x + b.Width/2, q3},\n\t\t{x + b.Width/2, q1},\n\t\t{x - b.Width/2 - b.BoxStyle.Width/2, q1},\n\t})\n\tc.StrokeLines(b.BoxStyle, box...)\n\n\tmedLine := c.ClipLinesY([]vg.Point{\n\t\t{x - b.Width/2, med},\n\t\t{x + b.Width/2, med},\n\t})\n\tc.StrokeLines(b.MedianStyle, medLine...)\n\n\tcap := b.CapWidth / 2\n\twhisks := c.ClipLinesY([]vg.Point{{x, q3}, {x, aHigh}},\n\t\t[]vg.Point{{x - cap, aHigh}, {x + cap, aHigh}},\n\t\t[]vg.Point{{x, q1}, {x, aLow}},\n\t\t[]vg.Point{{x - cap, aLow}, {x + cap, aLow}})\n\tc.StrokeLines(b.WhiskerStyle, whisks...)\n\n\tfor _, out := range b.Outside {\n\t\ty := trY(b.Value(out))\n\t\tif c.ContainsY(y) {\n\t\t\tc.DrawGlyphNoClip(b.GlyphStyle, vg.Point{X: x, Y: y})\n\t\t}\n\t}\n}\n\n// DataRange returns the minimum and maximum x\n// and y values, implementing the plot.DataRanger\n// interface.\nfunc (b *BoxPlot) DataRange() (float64, float64, float64, float64) {\n\tif b.Horizontal {\n\t\tb := &horizBoxPlot{b}\n\t\treturn b.DataRange()\n\t}\n\treturn b.Location, b.Location, b.Min, b.Max\n}\n\n// GlyphBoxes returns a slice of GlyphBoxes for the\n// points and for the median line of the boxplot,\n// implementing the plot.GlyphBoxer interface\nfunc (b *BoxPlot) GlyphBoxes(plt *plot.Plot) []plot.GlyphBox {\n\tif b.Horizontal {\n\t\tb := &horizBoxPlot{b}\n\t\treturn b.GlyphBoxes(plt)\n\t}\n\n\tbs := make([]plot.GlyphBox, len(b.Outside)+1)\n\tfor i, out := range b.Outside {\n\t\tbs[i].X = plt.X.Norm(b.Location)\n\t\tbs[i].Y = plt.Y.Norm(b.Value(out))\n\t\tbs[i].Rectangle = b.GlyphStyle.Rectangle()\n\t}\n\tbs[len(bs)-1].X = plt.X.Norm(b.Location)\n\tbs[len(bs)-1].Y = plt.Y.Norm(b.Median)\n\tbs[len(bs)-1].Rectangle = vg.Rectangle{\n\t\tMin: vg.Point{X: b.Offset - (b.Width/2 + b.BoxStyle.Width/2)},\n\t\tMax: vg.Point{X: b.Offset + (b.Width/2 + b.BoxStyle.Width/2)},\n\t}\n\treturn bs\n}\n\n// OutsideLabels returns a *Labels that will plot\n// a label for each of the outside points.  The\n// labels are assumed to correspond to the\n// points used to create the box plot.\nfunc (b *BoxPlot) OutsideLabels(labels Labeller) (*Labels, error) {\n\tif b.Horizontal {\n\t\tb := &horizBoxPlot{b}\n\t\treturn b.OutsideLabels(labels)\n\t}\n\n\tstrs := make([]string, len(b.Outside))\n\tfor i, out := range b.Outside {\n\t\tstrs[i] = labels.Label(out)\n\t}\n\to := boxPlotOutsideLabels{b, strs}\n\tls, err := NewLabels(o)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tls.XOffset += b.GlyphStyle.Radius / 2\n\tls.YOffset += b.GlyphStyle.Radius / 2\n\treturn ls, nil\n}\n\ntype boxPlotOutsideLabels struct {\n\tbox    *BoxPlot\n\tlabels []string\n}\n\nfunc (o boxPlotOutsideLabels) Len() int {\n\treturn len(o.box.Outside)\n}\n\nfunc (o boxPlotOutsideLabels) XY(i int) (float64, float64) {\n\treturn o.box.Location, o.box.Value(o.box.Outside[i])\n}\n\nfunc (o boxPlotOutsideLabels) Label(i int) string {\n\treturn o.labels[i]\n}\n\n// horizBoxPlot is like a regular BoxPlot, however,\n// it draws horizontally instead of Vertically.\n// TODO: Merge code for horizontal and vertical box plots as has been done for\n// bar charts.\ntype horizBoxPlot struct{ *BoxPlot }\n\nfunc (b horizBoxPlot) Plot(c draw.Canvas, plt *plot.Plot) {\n\ttrX, trY := plt.Transforms(&c)\n\ty := trY(b.Location)\n\tif !c.ContainsY(y) {\n\t\treturn\n\t}\n\ty += b.Offset\n\n\tmed := trX(b.Median)\n\tq1 := trX(b.Quartile1)\n\tq3 := trX(b.Quartile3)\n\taLow := trX(b.AdjLow)\n\taHigh := trX(b.AdjHigh)\n\n\tbox := c.ClipLinesX([]vg.Point{\n\t\t{q1, y - b.Width/2},\n\t\t{q3, y - b.Width/2},\n\t\t{q3, y + b.Width/2},\n\t\t{q1, y + b.Width/2},\n\t\t{q1, y - b.Width/2 - b.BoxStyle.Width/2},\n\t})\n\tc.StrokeLines(b.BoxStyle, box...)\n\n\tmedLine := c.ClipLinesX([]vg.Point{\n\t\t{med, y - b.Width/2},\n\t\t{med, y + b.Width/2},\n\t})\n\tc.StrokeLines(b.MedianStyle, medLine...)\n\n\tcap := b.CapWidth / 2\n\twhisks := c.ClipLinesX([]vg.Point{{q3, y}, {aHigh, y}},\n\t\t[]vg.Point{{aHigh, y - cap}, {aHigh, y + cap}},\n\t\t[]vg.Point{{q1, y}, {aLow, y}},\n\t\t[]vg.Point{{aLow, y - cap}, {aLow, y + cap}})\n\tc.StrokeLines(b.WhiskerStyle, whisks...)\n\n\tfor _, out := range b.Outside {\n\t\tx := trX(b.Value(out))\n\t\tif c.ContainsX(x) {\n\t\t\tc.DrawGlyphNoClip(b.GlyphStyle, vg.Point{X: x, Y: y})\n\t\t}\n\t}\n}\n\n// DataRange returns the minimum and maximum x\n// and y values, implementing the plot.DataRanger\n// interface.\nfunc (b horizBoxPlot) DataRange() (float64, float64, float64, float64) {\n\treturn b.Min, b.Max, b.Location, b.Location\n}\n\n// GlyphBoxes returns a slice of GlyphBoxes for the\n// points and for the median line of the boxplot,\n// implementing the plot.GlyphBoxer interface\nfunc (b horizBoxPlot) GlyphBoxes(plt *plot.Plot) []plot.GlyphBox {\n\tbs := make([]plot.GlyphBox, len(b.Outside)+1)\n\tfor i, out := range b.Outside {\n\t\tbs[i].X = plt.X.Norm(b.Value(out))\n\t\tbs[i].Y = plt.Y.Norm(b.Location)\n\t\tbs[i].Rectangle = b.GlyphStyle.Rectangle()\n\t}\n\tbs[len(bs)-1].X = plt.X.Norm(b.Median)\n\tbs[len(bs)-1].Y = plt.Y.Norm(b.Location)\n\tbs[len(bs)-1].Rectangle = vg.Rectangle{\n\t\tMin: vg.Point{Y: b.Offset - (b.Width/2 + b.BoxStyle.Width/2)},\n\t\tMax: vg.Point{Y: b.Offset + (b.Width/2 + b.BoxStyle.Width/2)},\n\t}\n\treturn bs\n}\n\n// OutsideLabels returns a *Labels that will plot\n// a label for each of the outside points.  The\n// labels are assumed to correspond to the\n// points used to create the box plot.\nfunc (b *horizBoxPlot) OutsideLabels(labels Labeller) (*Labels, error) {\n\tstrs := make([]string, len(b.Outside))\n\tfor i, out := range b.Outside {\n\t\tstrs[i] = labels.Label(out)\n\t}\n\to := horizBoxPlotOutsideLabels{\n\t\tboxPlotOutsideLabels{b.BoxPlot, strs},\n\t}\n\tls, err := NewLabels(o)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tls.XOffset += b.GlyphStyle.Radius / 2\n\tls.YOffset += b.GlyphStyle.Radius / 2\n\treturn ls, nil\n}\n\ntype horizBoxPlotOutsideLabels struct {\n\tboxPlotOutsideLabels\n}\n\nfunc (o horizBoxPlotOutsideLabels) XY(i int) (float64, float64) {\n\treturn o.box.Value(o.box.Outside[i]), o.box.Location\n}\n\n// ValueLabels implements both the Valuer\n// and Labeller interfaces.\ntype ValueLabels []struct {\n\tValue float64\n\tLabel string\n}\n\n// Len returns the number of items.\nfunc (vs ValueLabels) Len() int {\n\treturn len(vs)\n}\n\n// Value returns the value of item i.\nfunc (vs ValueLabels) Value(i int) float64 {\n\treturn vs[i].Value\n}\n\n// Label returns the label of item i.\nfunc (vs ValueLabels) Label(i int) string {\n\treturn vs[i].Label\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/colorbar.go",
    "content": "// Copyright ©2017 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"image\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/palette\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// ColorBar is a plot.Plotter that draws a color bar legend for a ColorMap.\ntype ColorBar struct {\n\tColorMap palette.ColorMap\n\n\t// Vertical determines wether the legend will be\n\t// plotted vertically or horizontally.\n\t// The default is false (horizontal).\n\tVertical bool\n\n\t// Colors specifies the number of colors to be\n\t// shown in the legend. If Colors is not specified,\n\t// a default will be used.\n\tColors int\n}\n\n// colors returns the number of colors to be shown\n// in the legend, substituting invalid values\n// with the default of one color per point.\nfunc (l *ColorBar) colors(c draw.Canvas) int {\n\tif l.Colors > 0 {\n\t\treturn l.Colors\n\t}\n\tif l.Vertical {\n\t\treturn int(c.Max.Y - c.Min.Y)\n\t}\n\treturn int(c.Max.X - c.Min.X)\n}\n\n// check determines whether the ColorBar is\n// valid in its current configuration.\nfunc (l *ColorBar) check() {\n\tif l.ColorMap == nil {\n\t\tpanic(\"plotter: nil ColorMap in ColorBar\")\n\t}\n\tif l.ColorMap.Max() == l.ColorMap.Min() {\n\t\tpanic(\"plotter: ColorMap Max==Min\")\n\t}\n}\n\n// Plot implements the Plot method of the plot.Plotter interface.\nfunc (l *ColorBar) Plot(c draw.Canvas, p *plot.Plot) {\n\tl.check()\n\tcolors := l.colors(c)\n\tvar pImg *Image\n\tdelta := (l.ColorMap.Max() - l.ColorMap.Min()) / float64(colors)\n\tif l.Vertical {\n\t\timg := image.NewNRGBA64(image.Rectangle{\n\t\t\tMin: image.Point{X: 0, Y: 0},\n\t\t\tMax: image.Point{X: 1, Y: colors},\n\t\t})\n\t\tfor i := 0; i < colors; i++ {\n\t\t\tcolor, err := l.ColorMap.At(l.ColorMap.Min() + delta*float64(i))\n\t\t\tif err != nil {\n\t\t\t\tpanic(err)\n\t\t\t}\n\t\t\timg.Set(0, colors-1-i, color)\n\t\t}\n\t\tpImg = NewImage(img, 0, l.ColorMap.Min(), 1, l.ColorMap.Max())\n\t} else {\n\t\timg := image.NewNRGBA64(image.Rectangle{\n\t\t\tMin: image.Point{X: 0, Y: 0},\n\t\t\tMax: image.Point{X: colors, Y: 1},\n\t\t})\n\t\tfor i := 0; i < colors; i++ {\n\t\t\tcolor, err := l.ColorMap.At(l.ColorMap.Min() + delta*float64(i))\n\t\t\tif err != nil {\n\t\t\t\tpanic(err)\n\t\t\t}\n\t\t\timg.Set(i, 0, color)\n\t\t}\n\t\tpImg = NewImage(img, l.ColorMap.Min(), 0, l.ColorMap.Max(), 1)\n\t}\n\tpImg.Plot(c, p)\n}\n\n// DataRange implements the DataRange method\n// of the plot.DataRanger interface.\nfunc (l *ColorBar) DataRange() (xmin, xmax, ymin, ymax float64) {\n\tl.check()\n\tif l.Vertical {\n\t\treturn 0, 1, l.ColorMap.Min(), l.ColorMap.Max()\n\t}\n\treturn l.ColorMap.Min(), l.ColorMap.Max(), 0, 1\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/conrec.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"math\"\n)\n\ntype point struct {\n\tX, Y float64\n}\n\ntype line struct {\n\tp1, p2 point\n}\n\nfunc sect(h, p [5]float64, v1, v2 int) float64 {\n\treturn (h[v2]*p[v1] - h[v1]*p[v2]) / (h[v2] - h[v1])\n}\n\n// conrecLine performs an operation with a line at a given height derived\n// from data over the 2D box interval (i, j) to (i+1, j+1).\ntype conrecLine func(i, j int, l line, height float64)\n\n// conrec is a Go translation of the C version of CONREC by Paul Bourke:\n// http://paulbourke.net/papers/conrec/conrec.c\n//\n// conrec takes g, an m×n grid function, a sorted slice of contour heights\n// and a conrecLine function.\n//\n// For full details of the algorithm, see the paper at\n// http://paulbourke.net/papers/conrec/\nfunc conrec(g GridXYZ, heights []float64, fn conrecLine) {\n\tvar (\n\t\tp1, p2 point\n\n\t\th      [5]float64\n\t\tsh     [5]int\n\t\txh, yh [5]float64\n\n\t\tim = [4]int{0, 1, 1, 0}\n\t\tjm = [4]int{0, 0, 1, 1}\n\n\t\t// We differ from conrec.c in the assignment of a single value\n\t\t// in cases (castab in conrec.c). The value of castab[1][1][1] is\n\t\t// 3, but we set cases[1][1][1] to 0.\n\t\t//\n\t\t// axiom: When we have a section of the grid where all the\n\t\t// Z values are equal, and equal to a contour height we would\n\t\t// expect to have no internal segments to draw.\n\t\t//\n\t\t// This is covered by case g) in Paul Bourke's description of\n\t\t// the CONREC algorithm (a triangle with three vertices the lie\n\t\t// on the contour level). He says, \"... case g above has no really\n\t\t// satisfactory solution and fortunately will occur rarely with\n\t\t// real arithmetic.\" and then goes on to show the following image:\n\t\t//\n\t\t// http://paulbourke.net/papers/conrec/conrec3.gif\n\t\t//\n\t\t// which shows case g) in the set where no edge is drawn, agreeing\n\t\t// with our axiom above.\n\t\t//\n\t\t// However, in the iteration over sh at conrec.c +44, a triangle\n\t\t// with all vertices on the plane is given sh = {0,0,0,0,0} and\n\t\t// then when the switch at conrec.c +93 happens, castab resolves\n\t\t// that to case 3 for all values of m.\n\t\t//\n\t\t// This is fixed by replacing castab/cases[1][1][1] with 0.\n\t\tcases = [3][3][3]int{\n\t\t\t{{0, 0, 8}, {0, 2, 5}, {7, 6, 9}},\n\t\t\t{{0, 3, 4}, {1, 0, 1}, {4, 3, 0}},\n\t\t\t{{9, 6, 7}, {5, 2, 0}, {8, 0, 0}},\n\t\t}\n\t)\n\n\tc, r := g.Dims()\n\tfor i := 0; i < c-1; i++ {\n\t\tfor j := 0; j < r-1; j++ {\n\t\t\tdmin := math.Min(\n\t\t\t\tmath.Min(g.Z(i, j), g.Z(i, j+1)),\n\t\t\t\tmath.Min(g.Z(i+1, j), g.Z(i+1, j+1)),\n\t\t\t)\n\n\t\t\tdmax := math.Max(\n\t\t\t\tmath.Max(g.Z(i, j), g.Z(i, j+1)),\n\t\t\t\tmath.Max(g.Z(i+1, j), g.Z(i+1, j+1)),\n\t\t\t)\n\n\t\t\tif dmax < heights[0] || heights[len(heights)-1] < dmin {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tfor k := 0; k < len(heights); k++ {\n\t\t\t\tif heights[k] < dmin || dmax < heights[k] {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfor m := 4; m >= 0; m-- {\n\t\t\t\t\tif m > 0 {\n\t\t\t\t\t\th[m] = g.Z(i+im[m-1], j+jm[m-1]) - heights[k]\n\t\t\t\t\t\txh[m] = g.X(i + im[m-1])\n\t\t\t\t\t\tyh[m] = g.Y(j + jm[m-1])\n\t\t\t\t\t} else {\n\t\t\t\t\t\th[0] = 0.25 * (h[1] + h[2] + h[3] + h[4])\n\t\t\t\t\t\txh[0] = 0.50 * (g.X(i) + g.X(i+1))\n\t\t\t\t\t\tyh[0] = 0.50 * (g.Y(j) + g.Y(j+1))\n\t\t\t\t\t}\n\t\t\t\t\tif h[m] > 0 {\n\t\t\t\t\t\tsh[m] = 1\n\t\t\t\t\t} else if h[m] < 0 {\n\t\t\t\t\t\tsh[m] = -1\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsh[m] = 0\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/*\n\t\t\t\t   Note: at this stage the relative heights of the corners and the\n\t\t\t\t   centre are in the h array, and the corresponding coordinates are\n\t\t\t\t   in the xh and yh arrays. The centre of the box is indexed by 0\n\t\t\t\t   and the 4 corners by 1 to 4 as shown below.\n\t\t\t\t   Each triangle is then indexed by the parameter m, and the 3\n\t\t\t\t   vertices of each triangle are indexed by parameters m1,m2,and m3.\n\t\t\t\t   It is assumed that the centre of the box is always vertex 2\n\t\t\t\t   though this isimportant only when all 3 vertices lie exactly on\n\t\t\t\t   the same contour level, in which case only the side of the box\n\t\t\t\t   is drawn.\n\n\t\t\t\t      vertex 4 +-------------------+ vertex 3\n\t\t\t\t               | \\               / |\n\t\t\t\t               |   \\    m-3    /   |\n\t\t\t\t               |     \\       /     |\n\t\t\t\t               |       \\   /       |\n\t\t\t\t               |  m=2    X   m=2   |       the centre is vertex 0\n\t\t\t\t               |       /   \\       |\n\t\t\t\t               |     /       \\     |\n\t\t\t\t               |   /    m=1    \\   |\n\t\t\t\t               | /               \\ |\n\t\t\t\t      vertex 1 +-------------------+ vertex 2\n\t\t\t\t*/\n\n\t\t\t\t// Scan each triangle in the box.\n\t\t\t\tfor m := 1; m <= 4; m++ {\n\t\t\t\t\tm1 := m\n\t\t\t\t\tconst m2 = 0\n\t\t\t\t\tvar m3 int\n\t\t\t\t\tif m != 4 {\n\t\t\t\t\t\tm3 = m + 1\n\t\t\t\t\t} else {\n\t\t\t\t\t\tm3 = 1\n\t\t\t\t\t}\n\t\t\t\t\tswitch cases[sh[m1]+1][sh[m2]+1][sh[m3]+1] {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tcontinue\n\n\t\t\t\t\tcase 1: // Line between vertices 1 and 2\n\t\t\t\t\t\tp1 = point{X: xh[m1], Y: yh[m1]}\n\t\t\t\t\t\tp2 = point{X: xh[m2], Y: yh[m2]}\n\n\t\t\t\t\tcase 2: // Line between vertices 2 and 3\n\t\t\t\t\t\tp1 = point{X: xh[m2], Y: yh[m2]}\n\t\t\t\t\t\tp2 = point{X: xh[m3], Y: yh[m3]}\n\n\t\t\t\t\tcase 3: // Line between vertices 3 and 1\n\t\t\t\t\t\tp1 = point{X: xh[m3], Y: yh[m3]}\n\t\t\t\t\t\tp2 = point{X: xh[m1], Y: yh[m1]}\n\n\t\t\t\t\tcase 4: // Line between vertex 1 and side 2-3\n\t\t\t\t\t\tp1 = point{X: xh[m1], Y: yh[m1]}\n\t\t\t\t\t\tp2 = point{X: sect(h, xh, m2, m3), Y: sect(h, yh, m2, m3)}\n\n\t\t\t\t\tcase 5: // Line between vertex 2 and side 3-1\n\t\t\t\t\t\tp1 = point{X: xh[m2], Y: yh[m2]}\n\t\t\t\t\t\tp2 = point{X: sect(h, xh, m3, m1), Y: sect(h, yh, m3, m1)}\n\n\t\t\t\t\tcase 6: // Line between vertex 3 and side 1-2\n\t\t\t\t\t\tp1 = point{X: xh[m3], Y: yh[m3]}\n\t\t\t\t\t\tp2 = point{X: sect(h, xh, m1, m2), Y: sect(h, yh, m1, m2)}\n\n\t\t\t\t\tcase 7: // Line between sides 1-2 and 2-3\n\t\t\t\t\t\tp1 = point{X: sect(h, xh, m1, m2), Y: sect(h, yh, m1, m2)}\n\t\t\t\t\t\tp2 = point{X: sect(h, xh, m2, m3), Y: sect(h, yh, m2, m3)}\n\n\t\t\t\t\tcase 8: // Line between sides 2-3 and 3-1\n\t\t\t\t\t\tp1 = point{X: sect(h, xh, m2, m3), Y: sect(h, yh, m2, m3)}\n\t\t\t\t\t\tp2 = point{X: sect(h, xh, m3, m1), Y: sect(h, yh, m3, m1)}\n\n\t\t\t\t\tcase 9: // Line between sides 3-1 and 1-2\n\t\t\t\t\t\tp1 = point{X: sect(h, xh, m3, m1), Y: sect(h, yh, m3, m1)}\n\t\t\t\t\t\tp2 = point{X: sect(h, xh, m1, m2), Y: sect(h, yh, m1, m2)}\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tpanic(\"cannot reach\")\n\t\t\t\t\t}\n\n\t\t\t\t\tfn(i, j, line{p1: p1, p2: p2}, heights[k])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/contour.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"image/color\"\n\t\"math\"\n\t\"sort\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/palette\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// Contour implements the Plotter interface, drawing\n// a contour plot of the values in the GridXYZ field.\ntype Contour struct {\n\tGridXYZ GridXYZ\n\n\t// Levels describes the contour heights to plot.\n\tLevels []float64\n\n\t// LineStyles is the set of styles for contour\n\t// lines. Line styles are are applied to each level\n\t// in order, modulo the length of LineStyles.\n\tLineStyles []draw.LineStyle\n\n\t// Palette is the color palette used to render\n\t// the heat map. If Palette is nil or has no\n\t// defined color, the Contour LineStyle color\n\t// is used.\n\tPalette palette.Palette\n\n\t// Underflow and Overflow are colors used to draw\n\t// contours outside the dynamic range defined\n\t// by Min and Max.\n\tUnderflow color.Color\n\tOverflow  color.Color\n\n\t// Min and Max define the dynamic range of the\n\t// heat map.\n\tMin, Max float64\n}\n\n// NewContour creates as new contour plotter for the given data, using\n// the provided palette. If levels is nil, contours are generated for\n// the 0.01, 0.05, 0.25, 0.5, 0.75, 0.95 and 0.99 quantiles.\n// If g has Min and Max methods that return a float, those returned\n// values are used to set the respective Contour fields.\n// If the returned Contour is used when Min is greater than Max, the\n// Plot method will panic.\nfunc NewContour(g GridXYZ, levels []float64, p palette.Palette) *Contour {\n\tvar min, max float64\n\ttype minMaxer interface {\n\t\tMin() float64\n\t\tMax() float64\n\t}\n\tswitch g := g.(type) {\n\tcase minMaxer:\n\t\tmin, max = g.Min(), g.Max()\n\tdefault:\n\t\tmin, max = math.Inf(1), math.Inf(-1)\n\t\tc, r := g.Dims()\n\t\tfor i := 0; i < c; i++ {\n\t\t\tfor j := 0; j < r; j++ {\n\t\t\t\tv := g.Z(i, j)\n\t\t\t\tif math.IsNaN(v) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tmin = math.Min(min, v)\n\t\t\t\tmax = math.Max(max, v)\n\t\t\t}\n\t\t}\n\t}\n\n\tif len(levels) == 0 {\n\t\tlevels = quantilesR7(g, defaultQuantiles)\n\t}\n\n\treturn &Contour{\n\t\tGridXYZ:    g,\n\t\tLevels:     levels,\n\t\tLineStyles: []draw.LineStyle{DefaultLineStyle},\n\t\tPalette:    p,\n\t\tMin:        min,\n\t\tMax:        max,\n\t}\n}\n\n// Default quantiles for case where levels is not explicitly set.\nvar defaultQuantiles = []float64{0.01, 0.05, 0.25, 0.5, 0.75, 0.95, 0.99}\n\n// quantilesR7 returns the pth quantiles of the data in g according the the R-7 method.\n// http://en.wikipedia.org/wiki/Quantile#Estimating_the_quantiles_of_a_population\nfunc quantilesR7(g GridXYZ, p []float64) []float64 {\n\tc, r := g.Dims()\n\tdata := make([]float64, 0, c*r)\n\tfor i := 0; i < c; i++ {\n\t\tfor j := 0; j < r; j++ {\n\t\t\tif v := g.Z(i, j); !math.IsNaN(v) {\n\t\t\t\tdata = append(data, v)\n\t\t\t}\n\t\t}\n\t}\n\tsort.Float64s(data)\n\tv := make([]float64, len(p))\n\tfor j, q := range p {\n\t\tif q == 1 {\n\t\t\tv[j] = data[len(data)-1]\n\t\t}\n\t\th := float64(len(data)-1) * q\n\t\ti := int(h)\n\t\tv[j] = data[i] + (h-math.Floor(h))*(data[i+1]-data[i])\n\t}\n\treturn v\n}\n\n// naive is a debugging constant. If true, Plot performs no contour path\n// reconstruction, instead rendering each path segment individually.\nconst naive = false\n\n// Plot implements the Plot method of the plot.Plotter interface.\nfunc (h *Contour) Plot(c draw.Canvas, plt *plot.Plot) {\n\tif h.Min > h.Max {\n\t\tpanic(\"contour: invalid Z range: min greater than max\")\n\t}\n\n\tif naive {\n\t\th.naivePlot(c, plt)\n\t\treturn\n\t}\n\n\tvar pal []color.Color\n\tif h.Palette != nil {\n\t\tpal = h.Palette.Colors()\n\t}\n\n\ttrX, trY := plt.Transforms(&c)\n\n\t// Collate contour paths and draw them.\n\t//\n\t// The alternative naive approach is to draw each line segment as\n\t// conrec returns it. The integrated path approach allows graphical\n\t// optimisations and is necessary for contour fill shading.\n\tcp := contourPaths(h.GridXYZ, h.Levels, trX, trY)\n\n\t// ps is a palette scaling factor to scale the palette uniformly\n\t// across the given levels. This enables a discordance between the\n\t// number of colours and the number of levels. Sorting is not\n\t// necessary since contourPaths sorts the levels as a side effect.\n\tps := float64(len(pal)-1) / (h.Levels[len(h.Levels)-1] - h.Levels[0])\n\tif len(h.Levels) == 1 {\n\t\tps = 0\n\t}\n\n\tfor i, z := range h.Levels {\n\t\tif math.IsNaN(z) {\n\t\t\tcontinue\n\t\t}\n\t\tfor _, pa := range cp[z] {\n\t\t\tif isLoop(pa) {\n\t\t\t\tpa.Close()\n\t\t\t}\n\n\t\t\tstyle := h.LineStyles[i%len(h.LineStyles)]\n\t\t\tvar col color.Color\n\t\t\tswitch {\n\t\t\tcase z < h.Min:\n\t\t\t\tcol = h.Underflow\n\t\t\tcase z > h.Max:\n\t\t\t\tcol = h.Overflow\n\t\t\tcase len(pal) == 0:\n\t\t\t\tcol = style.Color\n\t\t\tdefault:\n\t\t\t\tcol = pal[int((z-h.Levels[0])*ps+0.5)] // Apply palette scaling.\n\t\t\t}\n\t\t\tif col != nil && style.Width != 0 {\n\t\t\t\tc.SetLineStyle(style)\n\t\t\t\tc.SetColor(col)\n\t\t\t\tc.Stroke(pa)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// naivePlot implements the a naive rendering approach for contours.\n// It is here as a debugging mode since it simply draws line segments\n// generated by conrec without further computation.\nfunc (h *Contour) naivePlot(c draw.Canvas, plt *plot.Plot) {\n\tvar pal []color.Color\n\tif h.Palette != nil {\n\t\tpal = h.Palette.Colors()\n\t}\n\n\ttrX, trY := plt.Transforms(&c)\n\n\t// Sort levels prior to palette scaling since we can't depend on\n\t// sorting as a side effect from calling contourPaths.\n\tsort.Float64s(h.Levels)\n\t// ps is a palette scaling factor to scale the palette uniformly\n\t// across the given levels. This enables a discordance between the\n\t// number of colours and the number of levels.\n\tps := float64(len(pal)-1) / (h.Levels[len(h.Levels)-1] - h.Levels[0])\n\tif len(h.Levels) == 1 {\n\t\tps = 0\n\t}\n\n\tlevelMap := make(map[float64]int)\n\tfor i, z := range h.Levels {\n\t\tlevelMap[z] = i\n\t}\n\n\t// Draw each line segment as conrec generates it.\n\tvar pa vg.Path\n\tconrec(h.GridXYZ, h.Levels, func(_, _ int, l line, z float64) {\n\t\tif math.IsNaN(z) {\n\t\t\treturn\n\t\t}\n\n\t\tpa = pa[:0]\n\n\t\tx1, y1 := trX(l.p1.X), trY(l.p1.Y)\n\t\tx2, y2 := trX(l.p2.X), trY(l.p2.Y)\n\n\t\tpt1 := vg.Point{X: x1, Y: y1}\n\t\tpt2 := vg.Point{X: x2, Y: y2}\n\t\tif !c.Contains(pt1) || !c.Contains(pt2) {\n\t\t\treturn\n\t\t}\n\n\t\tpa.Move(pt1)\n\t\tpa.Line(pt2)\n\t\tpa.Close()\n\n\t\tstyle := h.LineStyles[levelMap[z]%len(h.LineStyles)]\n\t\tvar col color.Color\n\t\tswitch {\n\t\tcase z < h.Min:\n\t\t\tcol = h.Underflow\n\t\tcase z > h.Max:\n\t\t\tcol = h.Overflow\n\t\tcase len(pal) == 0:\n\t\t\tcol = style.Color\n\t\tdefault:\n\t\t\tcol = pal[int((z-h.Levels[0])*ps+0.5)] // Apply palette scaling.\n\t\t}\n\t\tif col != nil && style.Width != 0 {\n\t\t\tc.SetLineStyle(style)\n\t\t\tc.SetColor(col)\n\t\t\tc.Stroke(pa)\n\t\t}\n\t})\n}\n\n// DataRange implements the DataRange method\n// of the plot.DataRanger interface.\nfunc (h *Contour) DataRange() (xmin, xmax, ymin, ymax float64) {\n\tc, r := h.GridXYZ.Dims()\n\treturn h.GridXYZ.X(0), h.GridXYZ.X(c - 1), h.GridXYZ.Y(0), h.GridXYZ.Y(r - 1)\n}\n\n// GlyphBoxes implements the GlyphBoxes method\n// of the plot.GlyphBoxer interface.\nfunc (h *Contour) GlyphBoxes(plt *plot.Plot) []plot.GlyphBox {\n\tc, r := h.GridXYZ.Dims()\n\tb := make([]plot.GlyphBox, 0, r*c)\n\tfor i := 0; i < c; i++ {\n\t\tfor j := 0; j < r; j++ {\n\t\t\tb = append(b, plot.GlyphBox{\n\t\t\t\tX: plt.X.Norm(h.GridXYZ.X(i)),\n\t\t\t\tY: plt.Y.Norm(h.GridXYZ.Y(j)),\n\t\t\t\tRectangle: vg.Rectangle{\n\t\t\t\t\tMin: vg.Point{X: -2.5, Y: -2.5},\n\t\t\t\t\tMax: vg.Point{X: +2.5, Y: +2.5},\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t}\n\treturn b\n}\n\n// isLoop returns true iff a vg.Path is a closed loop.\nfunc isLoop(p vg.Path) bool {\n\ts := p[0]\n\te := p[len(p)-1]\n\treturn s.Pos == e.Pos\n}\n\n// contourPaths returns a collection of vg.Paths describing contour lines based\n// on the input data in m cut at the given levels. The trX and trY function\n// are coordinate transforms. The returned map contains slices of paths keyed\n// on the value of the contour level. contouPaths sorts levels ascending as a\n// side effect.\nfunc contourPaths(m GridXYZ, levels []float64, trX, trY func(float64) vg.Length) map[float64][]vg.Path {\n\tsort.Float64s(levels)\n\n\tends := make(map[float64]endMap)\n\tconts := make(contourSet)\n\tconrec(m, levels, func(_, _ int, l line, z float64) {\n\t\tpaths(l, z, ends, conts)\n\t})\n\tends = nil\n\n\t// TODO(kortschak): Check that all non-loop paths have\n\t// both ends at boundary. If any end is not at a boundary\n\t// it may have a partner near by. Find this partner and join\n\t// the two conts by merging the near by ends at the mean\n\t// location. This operation is done level by level to ensure\n\t// close contours of different heights are not joined.\n\t// A partner should be a float error different end, but I\n\t// suspect that is is possible for a bi- or higher order\n\t// furcation so it may be that the path ends at middle node\n\t// of another path. This needs to be investigated.\n\n\t// Excise loops from crossed paths.\n\tfor c := range conts {\n\t\t// Always try to do quick excision in production if possible.\n\t\tc.exciseLoops(conts, true)\n\t}\n\n\t// Build vg.Paths.\n\tpaths := make(map[float64][]vg.Path)\n\tfor c := range conts {\n\t\tpaths[c.z] = append(paths[c.z], c.path(trX, trY))\n\t}\n\n\treturn paths\n}\n\n// contourSet hold a working collection of contours.\ntype contourSet map[*contour]struct{}\n\n// endMap holds a working collection of available ends.\ntype endMap map[point]*contour\n\n// paths extends a conrecLine function to build a set of contours that represent\n// paths along contour lines. It is used as the engine for a closure where ends\n// and conts are closed around in a conrecLine function, and l and z are the\n// line and height values provided by conrec. At the end of a conrec call,\n// conts will contain a map keyed on the set of paths.\nfunc paths(l line, z float64, ends map[float64]endMap, conts contourSet) {\n\tzEnds, ok := ends[z]\n\tif !ok {\n\t\tzEnds = make(endMap)\n\t\tends[z] = zEnds\n\t\tc := newContour(l, z)\n\t\tzEnds[l.p1] = c\n\t\tzEnds[l.p2] = c\n\t\tconts[c] = struct{}{}\n\t\treturn\n\t}\n\n\tc1, ok1 := zEnds[l.p1]\n\tc2, ok2 := zEnds[l.p2]\n\n\t// New segment.\n\tif !ok1 && !ok2 {\n\t\tc := newContour(l, z)\n\t\tzEnds[l.p1] = c\n\t\tzEnds[l.p2] = c\n\t\tconts[c] = struct{}{}\n\t\treturn\n\t}\n\n\tif ok1 {\n\t\t// Add l.p2 to end of l.p1's contour.\n\t\tif !c1.extend(l, zEnds) {\n\t\t\tpanic(\"internal link\")\n\t\t}\n\t} else if ok2 {\n\t\t// Add l.p1 to end of l.p2's contour.\n\t\tif !c2.extend(l, zEnds) {\n\t\t\tpanic(\"internal link\")\n\t\t}\n\t}\n\n\tif c1 == c2 {\n\t\treturn\n\t}\n\n\t// Join conts.\n\tif ok1 && ok2 {\n\t\tif !c1.connect(c2, zEnds) {\n\t\t\tpanic(\"internal link\")\n\t\t}\n\t\tdelete(conts, c2)\n\t}\n}\n\n// path is a set of points forming a path.\ntype path []point\n\n// contour holds a set of point lying sequentially along a contour line\n// at height z.\ntype contour struct {\n\tz float64\n\n\t// backward and forward must each always have at least one entry.\n\tbackward path\n\tforward  path\n}\n\n// newContour returns a contour starting with the end points of l for the\n// height z.\nfunc newContour(l line, z float64) *contour {\n\treturn &contour{z: z, forward: path{l.p1}, backward: path{l.p2}}\n}\n\nfunc (c *contour) path(trX, trY func(float64) vg.Length) vg.Path {\n\tvar pa vg.Path\n\tp := c.front()\n\tpa.Move(vg.Point{X: trX(p.X), Y: trY(p.Y)})\n\tfor i := len(c.backward) - 2; i >= 0; i-- {\n\t\tp = c.backward[i]\n\t\tpa.Line(vg.Point{X: trX(p.X), Y: trY(p.Y)})\n\t}\n\tfor _, p := range c.forward {\n\t\tpa.Line(vg.Point{X: trX(p.X), Y: trY(p.Y)})\n\t}\n\n\treturn pa\n}\n\n// front returns the first point in the contour.\nfunc (c *contour) front() point { return c.backward[len(c.backward)-1] }\n\n// back returns the last point in the contour\nfunc (c *contour) back() point { return c.forward[len(c.forward)-1] }\n\n// extend adds the line l to the contour, updating the ends map. It returns\n// a boolean indicating whether the extension was successful.\nfunc (c *contour) extend(l line, ends endMap) (ok bool) {\n\tswitch c.front() {\n\tcase l.p1:\n\t\tc.backward = append(c.backward, l.p2)\n\t\tdelete(ends, l.p1)\n\t\tends[l.p2] = c\n\t\treturn true\n\tcase l.p2:\n\t\tc.backward = append(c.backward, l.p1)\n\t\tdelete(ends, l.p2)\n\t\tends[l.p1] = c\n\t\treturn true\n\t}\n\n\tswitch c.back() {\n\tcase l.p1:\n\t\tc.forward = append(c.forward, l.p2)\n\t\tdelete(ends, l.p1)\n\t\tends[l.p2] = c\n\t\treturn true\n\tcase l.p2:\n\t\tc.forward = append(c.forward, l.p1)\n\t\tdelete(ends, l.p2)\n\t\tends[l.p1] = c\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n// reverse reverses the order of the point in a path and returns it.\nfunc (p path) reverse() path {\n\tfor i, j := 0, len(p)-1; i < j; i, j = i+1, j-1 {\n\t\tp[i], p[j] = p[j], p[i]\n\t}\n\treturn p\n}\n\n// connect connects the contour b with the receiver, updating the ends map.\n// It returns a boolean indicating whether the connection was successful.\nfunc (c *contour) connect(b *contour, ends endMap) (ok bool) {\n\tswitch c.front() {\n\tcase b.front():\n\t\tdelete(ends, c.front())\n\t\tends[b.back()] = c\n\t\tc.backward = append(c.backward, b.backward.reverse()[1:]...)\n\t\tc.backward = append(c.backward, b.forward...)\n\t\treturn true\n\tcase b.back():\n\t\tdelete(ends, c.front())\n\t\tends[b.front()] = c\n\t\tc.backward = append(c.backward, b.forward.reverse()[1:]...)\n\t\tc.backward = append(c.backward, b.backward...)\n\t\treturn true\n\t}\n\n\tswitch c.back() {\n\tcase b.front():\n\t\tdelete(ends, c.back())\n\t\tends[b.back()] = c\n\t\tc.forward = append(c.forward, b.backward.reverse()[1:]...)\n\t\tc.forward = append(c.forward, b.forward...)\n\t\treturn true\n\tcase b.back():\n\t\tdelete(ends, c.back())\n\t\tends[b.front()] = c\n\t\tc.forward = append(c.forward, b.forward.reverse()[1:]...)\n\t\tc.forward = append(c.forward, b.backward...)\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n// exciseLoops finds loops within the contour that do not include the\n// start and end. Loops are removed from the contour and added to the\n// contour set. Loop detection is performed by Johnson's algorithm for\n// finding elementary cycles.\nfunc (c *contour) exciseLoops(conts contourSet, quick bool) {\n\tif quick {\n\t\t// Find cases we can guarantee don't need\n\t\t// a complete analysis.\n\t\tseen := make(map[point]struct{})\n\t\tvar crossOvers int\n\t\tfor _, p := range c.backward {\n\t\t\tif _, ok := seen[p]; ok {\n\t\t\t\tcrossOvers++\n\t\t\t}\n\t\t\tseen[p] = struct{}{}\n\t\t}\n\t\tfor _, p := range c.forward[:len(c.forward)-1] {\n\t\t\tif _, ok := seen[p]; ok {\n\t\t\t\tcrossOvers++\n\t\t\t}\n\t\t\tseen[p] = struct{}{}\n\t\t}\n\t\tswitch crossOvers {\n\t\tcase 0:\n\t\t\treturn\n\t\tcase 1:\n\t\t\tc.exciseQuick(conts)\n\t\t\treturn\n\t\t}\n\t}\n\n\twp := append(c.backward.reverse(), c.forward...)\n\tg := graphFrom(wp)\n\tcycles := cyclesIn(g)\n\tif len(cycles) == 0 {\n\t\t// No further work to do but clean up after ourselves.\n\t\t// We should not have reached here.\n\t\tc.backward.reverse()\n\t\treturn\n\t}\n\tdelete(conts, c)\n\n\t// Put loops into the contour set.\n\tfor _, cyc := range cycles {\n\t\tloop := wp.subpath(cyc)\n\t\tconts[&contour{\n\t\t\tz:        c.z,\n\t\t\tbackward: loop[:1:1],\n\t\t\tforward:  loop[1:],\n\t\t}] = struct{}{}\n\t}\n\n\t// Find non-loop paths and keep them.\n\tg.remove(cycles)\n\tpaths := wp.linearPathsIn(g)\n\tfor _, p := range paths {\n\t\tconts[&contour{\n\t\t\tz:        c.z,\n\t\t\tbackward: p[:1:1],\n\t\t\tforward:  p[1:],\n\t\t}] = struct{}{}\n\t}\n}\n\n// graphFrom returns a graph representing the point path p.\nfunc graphFrom(p path) graph {\n\tg := make([]set, len(p))\n\tseen := make(map[point]int)\n\tfor i, v := range p {\n\t\tif _, ok := seen[v]; !ok {\n\t\t\tseen[v] = i\n\t\t}\n\t}\n\n\tfor i, v := range p {\n\t\te, ok := seen[v]\n\t\tif ok && g[e] == nil {\n\t\t\tg[e] = make(set)\n\t\t}\n\t\tif i < len(p)-1 {\n\t\t\tg[e][seen[p[i+1]]] = struct{}{}\n\t\t}\n\t}\n\n\treturn g\n}\n\n// subpath returns a subpath given the slice of point indices\n// into the path.\nfunc (p path) subpath(i []int) path {\n\tpa := make(path, 0, len(i))\n\tfor _, n := range i {\n\t\tpa = append(pa, p[n])\n\t}\n\treturn pa\n}\n\n// linearPathsIn returns the linear paths in g created from p.\n// If g contains any cycles linearPaths will panic.\nfunc (p path) linearPathsIn(g graph) []path {\n\tvar pa []path\n\n\tvar u int\n\tfor u < len(g) {\n\t\tfor ; u < len(g) && len(g[u]) == 0; u++ {\n\t\t}\n\t\tif u == len(g) {\n\t\t\treturn pa\n\t\t}\n\t\tvar curr path\n\t\tfor {\n\t\t\tif len(g[u]) == 0 {\n\t\t\t\tcurr = append(curr, p[u])\n\t\t\t\tpa = append(pa, curr)\n\t\t\t\tif u == len(g)-1 {\n\t\t\t\t\treturn pa\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif len(g[u]) > 1 {\n\t\t\t\tpanic(\"contour: not a linear path\")\n\t\t\t}\n\t\t\tfor v := range g[u] {\n\t\t\t\tcurr = append(curr, p[u])\n\t\t\t\tu = v\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\treturn pa\n}\n\n// exciseQuick is a heuristic approach to loop excision. It does not\n// correctly identify loops in all cases, but those cases are likely\n// to be rare.\nfunc (c *contour) exciseQuick(conts contourSet) {\n\twp := append(c.backward.reverse(), c.forward...)\n\tseen := make(map[point]int)\n\tfor j := 0; j < len(wp); {\n\t\tp := wp[j]\n\t\tif i, ok := seen[p]; ok && p != wp[0] && p != wp[len(wp)-1] {\n\t\t\tconts[&contour{\n\t\t\t\tz:        c.z,\n\t\t\t\tbackward: path{wp[i]},\n\t\t\t\tforward:  append(path(nil), wp[i+1:j+1]...),\n\t\t\t}] = struct{}{}\n\t\t\twp = append(wp[:i], wp[j:]...)\n\t\t\tj = i + 1\n\t\t} else {\n\t\t\tseen[p] = j\n\t\t\tj++\n\t\t}\n\t}\n\tc.backward = c.backward[:1]\n\tc.backward[0] = wp[0]\n\tc.forward = wp[1:]\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/errbars.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"math\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// DefaultCapWidth is the default width of error bar caps.\nvar DefaultCapWidth = vg.Points(5)\n\n// YErrorBars implements the plot.Plotter, plot.DataRanger,\n// and plot.GlyphBoxer interfaces, drawing vertical error\n// bars, denoting error in Y values.\ntype YErrorBars struct {\n\tXYs\n\n\t// YErrors is a copy of the Y errors for each point.\n\tYErrors\n\n\t// LineStyle is the style used to draw the error bars.\n\tdraw.LineStyle\n\n\t// CapWidth is the width of the caps drawn at the top\n\t// of each error bar.\n\tCapWidth vg.Length\n}\n\n// NewYErrorBars returns a new YErrorBars plotter, or an error on failure.\n// The error values from the YErrorer interface are interpreted as relative\n// to the corresponding Y value. The errors for a given Y value are computed\n// by taking the absolute value of the error returned by the YErrorer\n// and subtracting the first and adding the second to the Y value.\nfunc NewYErrorBars(yerrs interface {\n\tXYer\n\tYErrorer\n}) (*YErrorBars, error) {\n\n\terrors := make(YErrors, yerrs.Len())\n\tfor i := range errors {\n\t\terrors[i].Low, errors[i].High = yerrs.YError(i)\n\t\tif err := CheckFloats(errors[i].Low, errors[i].High); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\txys, err := CopyXYs(yerrs)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn &YErrorBars{\n\t\tXYs:       xys,\n\t\tYErrors:   errors,\n\t\tLineStyle: DefaultLineStyle,\n\t\tCapWidth:  DefaultCapWidth,\n\t}, nil\n}\n\n// Plot implements the Plotter interface, drawing labels.\nfunc (e *YErrorBars) Plot(c draw.Canvas, p *plot.Plot) {\n\ttrX, trY := p.Transforms(&c)\n\tfor i, err := range e.YErrors {\n\t\tx := trX(e.XYs[i].X)\n\t\tylow := trY(e.XYs[i].Y - math.Abs(err.Low))\n\t\tyhigh := trY(e.XYs[i].Y + math.Abs(err.High))\n\n\t\tbar := c.ClipLinesY([]vg.Point{{x, ylow}, {x, yhigh}})\n\t\tc.StrokeLines(e.LineStyle, bar...)\n\t\te.drawCap(&c, x, ylow)\n\t\te.drawCap(&c, x, yhigh)\n\t}\n}\n\n// drawCap draws the cap if it is not clipped.\nfunc (e *YErrorBars) drawCap(c *draw.Canvas, x, y vg.Length) {\n\tif !c.Contains(vg.Point{X: x, Y: y}) {\n\t\treturn\n\t}\n\tc.StrokeLine2(e.LineStyle, x-e.CapWidth/2, y, x+e.CapWidth/2, y)\n}\n\n// DataRange implements the plot.DataRanger interface.\nfunc (e *YErrorBars) DataRange() (xmin, xmax, ymin, ymax float64) {\n\txmin, xmax = Range(XValues{e})\n\tymin = math.Inf(1)\n\tymax = math.Inf(-1)\n\tfor i, err := range e.YErrors {\n\t\ty := e.XYs[i].Y\n\t\tylow := y - math.Abs(err.Low)\n\t\tyhigh := y + math.Abs(err.High)\n\t\tymin = math.Min(math.Min(math.Min(ymin, y), ylow), yhigh)\n\t\tymax = math.Max(math.Max(math.Max(ymax, y), ylow), yhigh)\n\t}\n\treturn\n}\n\n// GlyphBoxes implements the plot.GlyphBoxer interface.\nfunc (e *YErrorBars) GlyphBoxes(plt *plot.Plot) []plot.GlyphBox {\n\trect := vg.Rectangle{\n\t\tMin: vg.Point{\n\t\t\tX: -e.CapWidth / 2,\n\t\t\tY: -e.LineStyle.Width / 2,\n\t\t},\n\t\tMax: vg.Point{\n\t\t\tX: +e.CapWidth / 2,\n\t\t\tY: +e.LineStyle.Width / 2,\n\t\t},\n\t}\n\tvar bs []plot.GlyphBox\n\tfor i, err := range e.YErrors {\n\t\tx := plt.X.Norm(e.XYs[i].X)\n\t\ty := e.XYs[i].Y\n\t\tbs = append(bs,\n\t\t\tplot.GlyphBox{X: x, Y: plt.Y.Norm(y - err.Low), Rectangle: rect},\n\t\t\tplot.GlyphBox{X: x, Y: plt.Y.Norm(y + err.High), Rectangle: rect})\n\t}\n\treturn bs\n}\n\n// XErrorBars implements the plot.Plotter, plot.DataRanger,\n// and plot.GlyphBoxer interfaces, drawing horizontal error\n// bars, denoting error in Y values.\ntype XErrorBars struct {\n\tXYs\n\n\t// XErrors is a copy of the X errors for each point.\n\tXErrors\n\n\t// LineStyle is the style used to draw the error bars.\n\tdraw.LineStyle\n\n\t// CapWidth is the width of the caps drawn at the top\n\t// of each error bar.\n\tCapWidth vg.Length\n}\n\n// Returns a new XErrorBars plotter, or an error on failure. The error values\n// from the XErrorer interface are interpreted as relative to the corresponding\n// X value. The errors for a given X value are computed by taking the absolute\n// value of the error returned by the XErrorer and subtracting the first and\n// adding the second to the X value.\nfunc NewXErrorBars(xerrs interface {\n\tXYer\n\tXErrorer\n}) (*XErrorBars, error) {\n\n\terrors := make(XErrors, xerrs.Len())\n\tfor i := range errors {\n\t\terrors[i].Low, errors[i].High = xerrs.XError(i)\n\t\tif err := CheckFloats(errors[i].Low, errors[i].High); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\txys, err := CopyXYs(xerrs)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn &XErrorBars{\n\t\tXYs:       xys,\n\t\tXErrors:   errors,\n\t\tLineStyle: DefaultLineStyle,\n\t\tCapWidth:  DefaultCapWidth,\n\t}, nil\n}\n\n// Plot implements the Plotter interface, drawing labels.\nfunc (e *XErrorBars) Plot(c draw.Canvas, p *plot.Plot) {\n\ttrX, trY := p.Transforms(&c)\n\tfor i, err := range e.XErrors {\n\t\ty := trY(e.XYs[i].Y)\n\t\txlow := trX(e.XYs[i].X - math.Abs(err.Low))\n\t\txhigh := trX(e.XYs[i].X + math.Abs(err.High))\n\n\t\tbar := c.ClipLinesX([]vg.Point{{xlow, y}, {xhigh, y}})\n\t\tc.StrokeLines(e.LineStyle, bar...)\n\t\te.drawCap(&c, xlow, y)\n\t\te.drawCap(&c, xhigh, y)\n\t}\n}\n\n// drawCap draws the cap if it is not clipped.\nfunc (e *XErrorBars) drawCap(c *draw.Canvas, x, y vg.Length) {\n\tif !c.Contains(vg.Point{X: x, Y: y}) {\n\t\treturn\n\t}\n\tc.StrokeLine2(e.LineStyle, x, y-e.CapWidth/2, x, y+e.CapWidth/2)\n}\n\n// DataRange implements the plot.DataRanger interface.\nfunc (e *XErrorBars) DataRange() (xmin, xmax, ymin, ymax float64) {\n\tymin, ymax = Range(YValues{e})\n\txmin = math.Inf(1)\n\txmax = math.Inf(-1)\n\tfor i, err := range e.XErrors {\n\t\tx := e.XYs[i].X\n\t\txlow := x - math.Abs(err.Low)\n\t\txhigh := x + math.Abs(err.High)\n\t\txmin = math.Min(math.Min(math.Min(xmin, x), xlow), xhigh)\n\t\txmax = math.Max(math.Max(math.Max(xmax, x), xlow), xhigh)\n\t}\n\treturn\n}\n\n// GlyphBoxes implements the plot.GlyphBoxer interface.\nfunc (e *XErrorBars) GlyphBoxes(plt *plot.Plot) []plot.GlyphBox {\n\trect := vg.Rectangle{\n\t\tMin: vg.Point{\n\t\t\tX: -e.LineStyle.Width / 2,\n\t\t\tY: -e.CapWidth / 2,\n\t\t},\n\t\tMax: vg.Point{\n\t\t\tX: +e.LineStyle.Width / 2,\n\t\t\tY: +e.CapWidth / 2,\n\t\t},\n\t}\n\tvar bs []plot.GlyphBox\n\tfor i, err := range e.XErrors {\n\t\tx := e.XYs[i].X\n\t\ty := plt.Y.Norm(e.XYs[i].Y)\n\t\tbs = append(bs,\n\t\t\tplot.GlyphBox{X: plt.X.Norm(x - err.Low), Y: y, Rectangle: rect},\n\t\t\tplot.GlyphBox{X: plt.X.Norm(x + err.High), Y: y, Rectangle: rect})\n\t}\n\treturn bs\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/functions.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// Function implements the Plotter interface,\n// drawing a line for the given function.\ntype Function struct {\n\tF func(x float64) (y float64)\n\n\t// XMin and XMax specify the range\n\t// of x values to pass to F.\n\tXMin, XMax float64\n\n\tSamples int\n\n\tdraw.LineStyle\n}\n\n// NewFunction returns a Function that plots F using\n// the default line style with 50 samples.\nfunc NewFunction(f func(float64) float64) *Function {\n\treturn &Function{\n\t\tF:         f,\n\t\tSamples:   50,\n\t\tLineStyle: DefaultLineStyle,\n\t}\n}\n\n// Plot implements the Plotter interface, drawing a line\n// that connects each point in the Line.\nfunc (f *Function) Plot(c draw.Canvas, p *plot.Plot) {\n\ttrX, trY := p.Transforms(&c)\n\n\tmin, max := f.XMin, f.XMax\n\tif min == 0 && max == 0 {\n\t\tmin = p.X.Min\n\t\tmax = p.X.Max\n\t}\n\td := (max - min) / float64(f.Samples-1)\n\tline := make([]vg.Point, f.Samples)\n\tfor i := range line {\n\t\tx := min + float64(i)*d\n\t\tline[i].X = trX(x)\n\t\tline[i].Y = trY(f.F(x))\n\t}\n\tc.StrokeLines(f.LineStyle, c.ClipLinesXY(line)...)\n}\n\n// Thumbnail draws a line in the given style down the\n// center of a DrawArea as a thumbnail representation\n// of the LineStyle of the function.\nfunc (f Function) Thumbnail(c *draw.Canvas) {\n\ty := c.Center().Y\n\tc.StrokeLine2(f.LineStyle, c.Min.X, y, c.Max.X, y)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/glyphbox.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"image/color\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// GlyphBoxes implements the Plotter interface, drawing\n// all of the glyph boxes of the plot.  This is intended for\n// debugging.\ntype GlyphBoxes struct {\n\tdraw.LineStyle\n}\n\nfunc NewGlyphBoxes() *GlyphBoxes {\n\tg := new(GlyphBoxes)\n\tg.Color = color.RGBA{R: 255, A: 255}\n\tg.Width = vg.Points(0.25)\n\treturn g\n}\n\nfunc (g GlyphBoxes) Plot(c draw.Canvas, plt *plot.Plot) {\n\tfor _, b := range plt.GlyphBoxes(plt) {\n\t\tx := c.X(b.X) + b.Rectangle.Min.X\n\t\ty := c.Y(b.Y) + b.Rectangle.Min.Y\n\t\tc.StrokeLines(g.LineStyle, []vg.Point{\n\t\t\t{x, y},\n\t\t\t{x + b.Rectangle.Size().X, y},\n\t\t\t{x + b.Rectangle.Size().X, y + b.Rectangle.Size().Y},\n\t\t\t{x, y + b.Rectangle.Size().Y},\n\t\t\t{x, y},\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/grid.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"image/color\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\nvar (\n\t// DefaultGridLineStyle is the default style for grid lines.\n\tDefaultGridLineStyle = draw.LineStyle{\n\t\tColor: color.Gray{128},\n\t\tWidth: vg.Points(0.25),\n\t}\n)\n\n// Grid implements the plot.Plotter interface, drawing\n// a set of grid lines at the major tick marks.\ntype Grid struct {\n\t// Vertical is the style of the vertical lines.\n\tVertical draw.LineStyle\n\n\t// Horizontal is the style of the horizontal lines.\n\tHorizontal draw.LineStyle\n}\n\n// NewGrid returns a new grid with both vertical and\n// horizontal lines using the default grid line style.\nfunc NewGrid() *Grid {\n\treturn &Grid{\n\t\tVertical:   DefaultGridLineStyle,\n\t\tHorizontal: DefaultGridLineStyle,\n\t}\n}\n\n// Plot implements the plot.Plotter interface.\nfunc (g *Grid) Plot(c draw.Canvas, plt *plot.Plot) {\n\ttrX, trY := plt.Transforms(&c)\n\n\tvar (\n\t\tymin = c.Min.Y\n\t\tymax = c.Max.Y\n\t\txmin = c.Min.X\n\t\txmax = c.Max.X\n\t)\n\n\tif g.Vertical.Color == nil {\n\t\tgoto horiz\n\t}\n\tfor _, tk := range plt.X.Tick.Marker.Ticks(plt.X.Min, plt.X.Max) {\n\t\tif tk.IsMinor() {\n\t\t\tcontinue\n\t\t}\n\t\tx := trX(tk.Value)\n\t\tif x > xmax || x < xmin {\n\t\t\tcontinue\n\t\t}\n\t\tc.StrokeLine2(g.Vertical, x, ymin, x, ymax)\n\t}\n\nhoriz:\n\tif g.Horizontal.Color == nil {\n\t\treturn\n\t}\n\tfor _, tk := range plt.Y.Tick.Marker.Ticks(plt.Y.Min, plt.Y.Max) {\n\t\tif tk.IsMinor() {\n\t\t\tcontinue\n\t\t}\n\t\ty := trY(tk.Value)\n\t\tif y > ymax || y < ymin {\n\t\t\tcontinue\n\t\t}\n\t\tc.StrokeLine2(g.Horizontal, xmin, y, xmax, y)\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/heat.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"image/color\"\n\t\"math\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/palette\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// GridXYZ describes three dimensional data where the X and Y\n// coordinates are arranged on a rectangular grid.\ntype GridXYZ interface {\n\t// Dims returns the dimensions of the grid.\n\tDims() (c, r int)\n\n\t// Z returns the value of a grid value at (c, r).\n\t// It will panic if c or r are out of bounds for the grid.\n\tZ(c, r int) float64\n\n\t// X returns the coordinate for the column at the index x.\n\t// It will panic if c is out of bounds for the grid.\n\tX(c int) float64\n\n\t// Y returns the coordinate for the row at the index r.\n\t// It will panic if r is out of bounds for the grid.\n\tY(r int) float64\n}\n\n// HeatMap implements the Plotter interface, drawing\n// a heat map of the values in the GridXYZ field.\ntype HeatMap struct {\n\tGridXYZ GridXYZ\n\n\t// Palette is the color palette used to render\n\t// the heat map. Palette must not be nil or\n\t// return a zero length []color.Color.\n\tPalette palette.Palette\n\n\t// Underflow and Overflow are colors used to fill\n\t// heat map elements outside the dynamic range\n\t// defined by Min and Max.\n\tUnderflow color.Color\n\tOverflow  color.Color\n\n\t// NaN is the color used to fill heat map elements\n\t// that are NaN or do not map to a unique palette\n\t// color.\n\tNaN color.Color\n\n\t// Min and Max define the dynamic range of the\n\t// heat map.\n\tMin, Max float64\n}\n\n// NewHeatMap creates as new heat map plotter for the given data,\n// using the provided palette. If g has Min and Max methods that return\n// a float, those returned values are used to set the respective HeatMap\n// fields. If the returned HeatMap is used when Min is greater than Max,\n// the Plot method will panic.\nfunc NewHeatMap(g GridXYZ, p palette.Palette) *HeatMap {\n\tvar min, max float64\n\ttype minMaxer interface {\n\t\tMin() float64\n\t\tMax() float64\n\t}\n\tswitch g := g.(type) {\n\tcase minMaxer:\n\t\tmin, max = g.Min(), g.Max()\n\tdefault:\n\t\tmin, max = math.Inf(1), math.Inf(-1)\n\t\tc, r := g.Dims()\n\t\tfor i := 0; i < c; i++ {\n\t\t\tfor j := 0; j < r; j++ {\n\t\t\t\tv := g.Z(i, j)\n\t\t\t\tif math.IsNaN(v) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tmin = math.Min(min, v)\n\t\t\t\tmax = math.Max(max, v)\n\t\t\t}\n\t\t}\n\t}\n\n\treturn &HeatMap{\n\t\tGridXYZ: g,\n\t\tPalette: p,\n\t\tMin:     min,\n\t\tMax:     max,\n\t}\n}\n\n// Plot implements the Plot method of the plot.Plotter interface.\nfunc (h *HeatMap) Plot(c draw.Canvas, plt *plot.Plot) {\n\tif h.Min > h.Max {\n\t\tpanic(\"contour: invalid Z range: min greater than max\")\n\t}\n\tpal := h.Palette.Colors()\n\tif len(pal) == 0 {\n\t\tpanic(\"heatmap: empty palette\")\n\t}\n\t// ps scales the palette uniformly across the data range.\n\tps := float64(len(pal)-1) / (h.Max - h.Min)\n\n\ttrX, trY := plt.Transforms(&c)\n\n\tvar pa vg.Path\n\tcols, rows := h.GridXYZ.Dims()\n\tfor i := 0; i < cols; i++ {\n\t\tvar right, left float64\n\t\tswitch i {\n\t\tcase 0:\n\t\t\tright = (h.GridXYZ.X(1) - h.GridXYZ.X(0)) / 2\n\t\t\tleft = -right\n\t\tcase cols - 1:\n\t\t\tright = (h.GridXYZ.X(cols-1) - h.GridXYZ.X(cols-2)) / 2\n\t\t\tleft = -right\n\t\tdefault:\n\t\t\tright = (h.GridXYZ.X(i+1) - h.GridXYZ.X(i)) / 2\n\t\t\tleft = -(h.GridXYZ.X(i) - h.GridXYZ.X(i-1)) / 2\n\t\t}\n\n\t\tfor j := 0; j < rows; j++ {\n\t\t\tvar up, down float64\n\t\t\tswitch j {\n\t\t\tcase 0:\n\t\t\t\tup = (h.GridXYZ.Y(1) - h.GridXYZ.Y(0)) / 2\n\t\t\t\tdown = -up\n\t\t\tcase rows - 1:\n\t\t\t\tup = (h.GridXYZ.Y(rows-1) - h.GridXYZ.Y(rows-2)) / 2\n\t\t\t\tdown = -up\n\t\t\tdefault:\n\t\t\t\tup = (h.GridXYZ.Y(j+1) - h.GridXYZ.Y(j)) / 2\n\t\t\t\tdown = -(h.GridXYZ.Y(j) - h.GridXYZ.Y(j-1)) / 2\n\t\t\t}\n\n\t\t\tx, y := trX(h.GridXYZ.X(i)+left), trY(h.GridXYZ.Y(j)+down)\n\t\t\tdx, dy := trX(h.GridXYZ.X(i)+right), trY(h.GridXYZ.Y(j)+up)\n\n\t\t\tif !c.Contains(vg.Point{X: x, Y: y}) || !c.Contains(vg.Point{X: dx, Y: dy}) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tpa = pa[:0]\n\t\t\tpa.Move(vg.Point{X: x, Y: y})\n\t\t\tpa.Line(vg.Point{X: dx, Y: y})\n\t\t\tpa.Line(vg.Point{X: dx, Y: dy})\n\t\t\tpa.Line(vg.Point{X: x, Y: dy})\n\t\t\tpa.Close()\n\n\t\t\tvar col color.Color\n\t\t\tswitch v := h.GridXYZ.Z(i, j); {\n\t\t\tcase v < h.Min:\n\t\t\t\tcol = h.Underflow\n\t\t\tcase v > h.Max:\n\t\t\t\tcol = h.Overflow\n\t\t\tcase math.IsNaN(v), math.IsInf(ps, 0):\n\t\t\t\tcol = h.NaN\n\t\t\tdefault:\n\t\t\t\tcol = pal[int((v-h.Min)*ps+0.5)] // Apply palette scaling.\n\t\t\t}\n\t\t\tif col != nil {\n\t\t\t\tc.SetColor(col)\n\t\t\t\tc.Fill(pa)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// DataRange implements the DataRange method\n// of the plot.DataRanger interface.\nfunc (h *HeatMap) DataRange() (xmin, xmax, ymin, ymax float64) {\n\tc, r := h.GridXYZ.Dims()\n\tswitch c {\n\tcase 1: // Make a unit length when there is no neighbour.\n\t\txmax = 0.5\n\t\txmin = -0.5\n\tdefault:\n\t\txmax = h.GridXYZ.X(c-1) + (h.GridXYZ.X(c-1)-h.GridXYZ.X(c-2))/2\n\t\txmin = h.GridXYZ.X(0) - (h.GridXYZ.X(1)-h.GridXYZ.X(0))/2\n\t}\n\tswitch r {\n\tcase 1: // Make a unit length when there is no neighbour.\n\t\tymax = 0.5\n\t\tymin = -0.5\n\tdefault:\n\t\tymax = h.GridXYZ.Y(r-1) + (h.GridXYZ.Y(r-1)-h.GridXYZ.Y(r-2))/2\n\t\tymin = h.GridXYZ.Y(0) - (h.GridXYZ.Y(1)-h.GridXYZ.Y(0))/2\n\t}\n\treturn xmin, xmax, ymin, ymax\n}\n\n// GlyphBoxes implements the GlyphBoxes method\n// of the plot.GlyphBoxer interface.\nfunc (h *HeatMap) GlyphBoxes(plt *plot.Plot) []plot.GlyphBox {\n\tc, r := h.GridXYZ.Dims()\n\tb := make([]plot.GlyphBox, 0, r*c)\n\tfor i := 0; i < c; i++ {\n\t\tfor j := 0; j < r; j++ {\n\t\t\tb = append(b, plot.GlyphBox{\n\t\t\t\tX: plt.X.Norm(h.GridXYZ.X(i)),\n\t\t\t\tY: plt.Y.Norm(h.GridXYZ.Y(j)),\n\t\t\t\tRectangle: vg.Rectangle{\n\t\t\t\t\tMin: vg.Point{X: -5, Y: -5},\n\t\t\t\t\tMax: vg.Point{X: +5, Y: +5},\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t}\n\treturn b\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/histogram.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"image/color\"\n\t\"math\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// Histogram implements the Plotter interface,\n// drawing a histogram of the data.\ntype Histogram struct {\n\t// Bins is the set of bins for this histogram.\n\tBins []HistogramBin\n\n\t// Width is the width of each bin.\n\tWidth float64\n\n\t// FillColor is the color used to fill each\n\t// bar of the histogram.  If the color is nil\n\t// then the bars are not filled.\n\tFillColor color.Color\n\n\t// LineStyle is the style of the outline of each\n\t// bar of the histogram.\n\tdraw.LineStyle\n}\n\n// NewHistogram returns a new histogram\n// that represents the distribution of values\n// using the given number of bins.\n//\n// Each y value is assumed to be the frequency\n// count for the corresponding x.\n//\n// If the number of bins is non-positive than\n// a reasonable default is used.\nfunc NewHistogram(xy XYer, n int) (*Histogram, error) {\n\tif n <= 0 {\n\t\treturn nil, errors.New(\"Histogram with non-positive number of bins\")\n\t}\n\tbins, width := binPoints(xy, n)\n\treturn &Histogram{\n\t\tBins:      bins,\n\t\tWidth:     width,\n\t\tFillColor: color.Gray{128},\n\t\tLineStyle: DefaultLineStyle,\n\t}, nil\n}\n\n// NewHist returns a new histogram, as in\n// NewHistogram, except that it accepts a Valuer\n// instead of an XYer.\nfunc NewHist(vs Valuer, n int) (*Histogram, error) {\n\treturn NewHistogram(unitYs{vs}, n)\n}\n\ntype unitYs struct {\n\tValuer\n}\n\nfunc (u unitYs) XY(i int) (float64, float64) {\n\treturn u.Value(i), 1.0\n}\n\n// Plot implements the Plotter interface, drawing a line\n// that connects each point in the Line.\nfunc (h *Histogram) Plot(c draw.Canvas, p *plot.Plot) {\n\ttrX, trY := p.Transforms(&c)\n\n\tfor _, bin := range h.Bins {\n\t\tpts := []vg.Point{\n\t\t\t{trX(bin.Min), trY(0)},\n\t\t\t{trX(bin.Max), trY(0)},\n\t\t\t{trX(bin.Max), trY(bin.Weight)},\n\t\t\t{trX(bin.Min), trY(bin.Weight)},\n\t\t}\n\t\tif h.FillColor != nil {\n\t\t\tc.FillPolygon(h.FillColor, c.ClipPolygonXY(pts))\n\t\t}\n\t\tpts = append(pts, vg.Point{X: trX(bin.Min), Y: trY(0)})\n\t\tc.StrokeLines(h.LineStyle, c.ClipLinesXY(pts)...)\n\t}\n}\n\n// DataRange returns the minimum and maximum X and Y values\nfunc (h *Histogram) DataRange() (xmin, xmax, ymin, ymax float64) {\n\txmin = math.Inf(1)\n\txmax = math.Inf(-1)\n\tymax = math.Inf(-1)\n\tfor _, bin := range h.Bins {\n\t\tif bin.Max > xmax {\n\t\t\txmax = bin.Max\n\t\t}\n\t\tif bin.Min < xmin {\n\t\t\txmin = bin.Min\n\t\t}\n\t\tif bin.Weight > ymax {\n\t\t\tymax = bin.Weight\n\t\t}\n\t}\n\treturn\n}\n\n// Normalize normalizes the histogram so that the\n// total area beneath it sums to a given value.\nfunc (h *Histogram) Normalize(sum float64) {\n\tmass := 0.0\n\tfor _, b := range h.Bins {\n\t\tmass += b.Weight\n\t}\n\tfor i := range h.Bins {\n\t\th.Bins[i].Weight *= sum / (h.Width * mass)\n\t}\n}\n\n// Thumbnail draws a rectangle in the given style of the histogram.\nfunc (h *Histogram) Thumbnail(c *draw.Canvas) {\n\tymin := c.Min.Y\n\tymax := c.Max.Y\n\txmin := c.Min.X\n\txmax := c.Max.X\n\n\tpts := []vg.Point{\n\t\t{xmin, ymin},\n\t\t{xmax, ymin},\n\t\t{xmax, ymax},\n\t\t{xmin, ymax},\n\t}\n\tif h.FillColor != nil {\n\t\tc.FillPolygon(h.FillColor, c.ClipPolygonXY(pts))\n\t}\n\tpts = append(pts, vg.Point{X: xmin, Y: ymin})\n\tc.StrokeLines(h.LineStyle, c.ClipLinesXY(pts)...)\n}\n\n// binPoints returns a slice containing the\n// given number of bins, and the width of\n// each bin.\n//\n// If the given number of bins is not positive\n// then a reasonable default is used.  The\n// default is the square root of the sum of\n// the y values.\nfunc binPoints(xys XYer, n int) ([]HistogramBin, float64) {\n\txmin, xmax := Range(XValues{xys})\n\tif n <= 0 {\n\t\tm := 0.0\n\t\tfor i := 0; i < xys.Len(); i++ {\n\t\t\t_, y := xys.XY(i)\n\t\t\tm += math.Max(y, 1.0)\n\t\t}\n\t\tn = int(math.Ceil(math.Sqrt(m)))\n\t}\n\tif n < 1 || xmax <= xmin {\n\t\tn = 1\n\t}\n\n\tbins := make([]HistogramBin, n)\n\n\tw := (xmax - xmin) / float64(n)\n\tfor i := range bins {\n\t\tbins[i].Min = xmin + float64(i)*w\n\t\tbins[i].Max = xmin + float64(i+1)*w\n\t}\n\n\tfor i := 0; i < xys.Len(); i++ {\n\t\tx, y := xys.XY(i)\n\t\tbin := int((x - xmin) / w)\n\t\tif x == xmax {\n\t\t\tbin = n - 1\n\t\t}\n\t\tif bin < 0 || bin >= n {\n\t\t\tpanic(fmt.Sprintf(\"%g, xmin=%g, xmax=%g, w=%g, bin=%d, n=%d\\n\",\n\t\t\t\tx, xmin, xmax, w, bin, n))\n\t\t}\n\t\tbins[bin].Weight += y\n\t}\n\treturn bins, w\n}\n\n// A HistogramBin approximates the number of values\n// within a range by a single number (the weight).\ntype HistogramBin struct {\n\tMin, Max float64\n\tWeight   float64\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/image.go",
    "content": "// Copyright ©2016 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"image\"\n\t\"math\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// Image is a plotter that draws a scaled, raster image.\ntype Image struct {\n\timg            image.Image\n\tcols           int\n\trows           int\n\txmin, xmax, dx float64\n\tymin, ymax, dy float64\n}\n\n// NewImage creates a new image plotter.\n// Image will plot img inside the rectangle defined by the\n// (xmin, ymin) and (xmax, ymax) points given in the data space.\n// The img will be scaled to fit inside the rectangle.\nfunc NewImage(img image.Image, xmin, ymin, xmax, ymax float64) *Image {\n\tbounds := img.Bounds()\n\tcols := bounds.Dx()\n\trows := bounds.Dy()\n\tdx := math.Abs(xmax-xmin) / float64(cols)\n\tdy := math.Abs(ymax-ymin) / float64(rows)\n\treturn &Image{\n\t\timg:  img,\n\t\tcols: cols,\n\t\trows: rows,\n\t\txmin: xmin,\n\t\txmax: xmax,\n\t\tdx:   dx,\n\t\tymin: ymin,\n\t\tymax: ymax,\n\t\tdy:   dy,\n\t}\n}\n\n// Plot implements the Plot method of the plot.Plotter interface.\nfunc (img *Image) Plot(c draw.Canvas, p *plot.Plot) {\n\ttrX, trY := p.Transforms(&c)\n\txmin := trX(img.xmin)\n\tymin := trY(img.ymin)\n\txmax := trX(img.xmax)\n\tymax := trY(img.ymax)\n\trect := vg.Rectangle{\n\t\tMin: vg.Point{X: xmin, Y: ymin},\n\t\tMax: vg.Point{X: xmax, Y: ymax},\n\t}\n\tc.DrawImage(rect, img.transformFor(p))\n}\n\n// DataRange implements the DataRange method\n// of the plot.DataRanger interface.\nfunc (img *Image) DataRange() (xmin, xmax, ymin, ymax float64) {\n\treturn img.xmin, img.xmax, img.ymin, img.ymax\n}\n\n// GlyphBoxes implements the GlyphBoxes method\n// of the plot.GlyphBoxer interface.\nfunc (img *Image) GlyphBoxes(plt *plot.Plot) []plot.GlyphBox {\n\treturn nil\n}\n\n// transform warps the image to align with non-linear axes.\nfunc (img *Image) transformFor(p *plot.Plot) image.Image {\n\t_, xLinear := p.X.Scale.(plot.LinearScale)\n\t_, yLinear := p.Y.Scale.(plot.LinearScale)\n\tif xLinear && yLinear {\n\t\treturn img.img\n\t}\n\tb := img.img.Bounds()\n\to := image.NewNRGBA64(b)\n\tfor c := 0; c < img.cols; c++ {\n\t\t// Find the equivalent image column after applying axis transforms.\n\t\tcTrans := int(p.X.Norm(img.x(c)) * float64(img.cols))\n\t\t// Find the equivalent column of the previous image column after applying\n\t\t// axis transforms.\n\t\tcPrevTrans := int(p.X.Norm(img.x(maxInt(c-1, 0))) * float64(img.cols))\n\t\tfor r := 0; r < img.rows; r++ {\n\t\t\t// Find the equivalent image row after applying axis transforms.\n\t\t\trTrans := int(p.Y.Norm(img.y(r)) * float64(img.rows))\n\t\t\t// Find the equivalent row of the previous image row after applying\n\t\t\t// axis transforms.\n\t\t\trPrevTrans := int(p.Y.Norm(img.y(maxInt(r-1, 0))) * float64(img.rows))\n\t\t\tcrColor := img.img.At(c, img.rows-r-1)\n\t\t\t// Set all the pixels in the new image between (cPrevTrans, rPrevTrans)\n\t\t\t// and (cTrans, rTrans) to the color at (c,r) in the original image.\n\t\t\t// TODO: Improve interpolation.\n\t\t\tfor cPrime := cPrevTrans; cPrime <= cTrans; cPrime++ {\n\t\t\t\tfor rPrime := rPrevTrans; rPrime <= rTrans; rPrime++ {\n\t\t\t\t\to.Set(cPrime, img.rows-rPrime-1, crColor)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn o\n}\n\nfunc maxInt(a, b int) int {\n\tif a > b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc (img *Image) x(c int) float64 {\n\tif c >= img.cols || c < 0 {\n\t\tpanic(\"plotter/image: illegal range\")\n\t}\n\treturn img.xmin + float64(c)*img.dx\n}\n\nfunc (img *Image) y(r int) float64 {\n\tif r >= img.rows || r < 0 {\n\t\tpanic(\"plotter/image: illegal range\")\n\t}\n\treturn img.ymin + float64(r)*img.dy\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/johnson.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\n// johnson implements Johnson's \"Finding all the elementary\n// circuits of a directed graph\" algorithm. SIAM J. Comput. 4(1):1975.\n//\n// Comments in the johnson methods are kept in sync with the comments\n// and labels from the paper.\ntype johnson struct {\n\tadjacent graph // SCC adjacency list.\n\tb        []set // Johnson's \"B-list\".\n\tblocked  []bool\n\ts        int\n\n\tstack []int\n\n\tresult [][]int\n}\n\n// cyclesIn returns the set of elementary cycles in the graph g.\nfunc cyclesIn(g graph) [][]int {\n\tj := johnson{\n\t\tadjacent: g.clone(),\n\t\tb:        make([]set, len(g)),\n\t\tblocked:  make([]bool, len(g)),\n\t}\n\n\t// len(j.adjacent) will be the order of g until Tarjan's analysis\n\t// finds no SCC, at which point t.sccSubGraph returns nil and the\n\t// loop breaks.\n\tfor j.s < len(j.adjacent)-1 {\n\t\t// We use the previous SCC adjacency to reduce the work needed.\n\t\tt := newTarjan(j.adjacent.subgraph(j.s))\n\t\t// A_k = adjacency structure of strong component K with least\n\t\t//       vertex in subgraph of G induced by {s, s+1, ... ,n}.\n\t\tj.adjacent = t.sccSubGraph(2) // Only allow SCCs with >= 2 vertices.\n\t\tif len(j.adjacent) == 0 {\n\t\t\tbreak\n\t\t}\n\n\t\t// s = least vertex in V_k\n\t\tfor _, v := range j.adjacent {\n\t\t\ts := len(j.adjacent)\n\t\t\tfor n := range v {\n\t\t\t\tif n < s {\n\t\t\t\t\ts = n\n\t\t\t\t}\n\t\t\t}\n\t\t\tif s < j.s {\n\t\t\t\tj.s = s\n\t\t\t}\n\t\t}\n\t\tfor i, v := range j.adjacent {\n\t\t\tif len(v) > 0 {\n\t\t\t\tj.blocked[i] = false\n\t\t\t\tj.b[i] = make(set)\n\t\t\t}\n\t\t}\n\n\t\t//L3:\n\t\t_ = j.circuit(j.s)\n\t\tj.s++\n\t}\n\n\treturn j.result\n}\n\n// circuit is the CIRCUIT sub-procedure in the paper.\nfunc (j *johnson) circuit(v int) bool {\n\tf := false\n\tj.stack = append(j.stack, v)\n\tj.blocked[v] = true\n\n\t//L1:\n\tfor w := range j.adjacent[v] {\n\t\tif w == j.s {\n\t\t\t// Output circuit composed of stack followed by s.\n\t\t\tr := make([]int, len(j.stack)+1)\n\t\t\tcopy(r, j.stack)\n\t\t\tr[len(r)-1] = j.s\n\t\t\tj.result = append(j.result, r)\n\t\t\tf = true\n\t\t} else if !j.blocked[w] {\n\t\t\tif j.circuit(w) {\n\t\t\t\tf = true\n\t\t\t}\n\t\t}\n\t}\n\n\t//L2:\n\tif f {\n\t\tj.unblock(v)\n\t} else {\n\t\tfor w := range j.adjacent[v] {\n\t\t\tj.b[w][v] = struct{}{}\n\t\t}\n\t}\n\tj.stack = j.stack[:len(j.stack)-1]\n\n\treturn f\n}\n\n// unblock is the UNBLOCK sub-procedure in the paper.\nfunc (j *johnson) unblock(u int) {\n\tj.blocked[u] = false\n\tfor w := range j.b[u] {\n\t\tdelete(j.b[u], w)\n\t\tif j.blocked[w] {\n\t\t\tj.unblock(w)\n\t\t}\n\t}\n}\n\nfunc min(a, b int) int {\n\tif a < b {\n\t\treturn a\n\t}\n\treturn b\n}\n\n// tarjan implements Tarjan's strongly connected component finding\n// algorithm. The implementation is from the pseudocode at\n//\n// http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm?oldid=642744644\n//\ntype tarjan struct {\n\tg graph\n\n\tindex      int\n\tindexTable []int\n\tlowLink    []int\n\tonStack    []bool\n\n\tstack []int\n\n\tsccs [][]int\n}\n\n// newTarjan returns a tarjan with the sccs field filled with the\n// strongly connected components of the directed graph g.\nfunc newTarjan(g graph) *tarjan {\n\tt := tarjan{\n\t\tg: g,\n\n\t\tindexTable: make([]int, len(g)),\n\t\tlowLink:    make([]int, len(g)),\n\t\tonStack:    make([]bool, len(g)),\n\t}\n\tfor v := range t.g {\n\t\tif t.indexTable[v] == 0 {\n\t\t\tt.strongconnect(v)\n\t\t}\n\t}\n\treturn &t\n}\n\n// strongconnect is the strongconnect function described in the\n// wikipedia article.\nfunc (t *tarjan) strongconnect(v int) {\n\t// Set the depth index for v to the smallest unused index.\n\tt.index++\n\tt.indexTable[v] = t.index\n\tt.lowLink[v] = t.index\n\tt.stack = append(t.stack, v)\n\tt.onStack[v] = true\n\n\t// Consider successors of v.\n\tfor w := range t.g[v] {\n\t\tif t.indexTable[w] == 0 {\n\t\t\t// Successor w has not yet been visited; recur on it.\n\t\t\tt.strongconnect(w)\n\t\t\tt.lowLink[v] = min(t.lowLink[v], t.lowLink[w])\n\t\t} else if t.onStack[w] {\n\t\t\t// Successor w is in stack s and hence in the current SCC.\n\t\t\tt.lowLink[v] = min(t.lowLink[v], t.indexTable[w])\n\t\t}\n\t}\n\n\t// If v is a root node, pop the stack and generate an SCC.\n\tif t.lowLink[v] == t.indexTable[v] {\n\t\t// Start a new strongly connected component.\n\t\tvar (\n\t\t\tscc []int\n\t\t\tw   int\n\t\t)\n\t\tfor {\n\t\t\tw, t.stack = t.stack[len(t.stack)-1], t.stack[:len(t.stack)-1]\n\t\t\tt.onStack[w] = false\n\t\t\t// Add w to current strongly connected component.\n\t\t\tscc = append(scc, w)\n\t\t\tif w == v {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// Output the current strongly connected component.\n\t\tt.sccs = append(t.sccs, scc)\n\t}\n}\n\n// sccSubGraph returns the graph of the tarjan's strongly connected\n// components with each SCC containing at least min vertices.\n// sccSubGraph returns nil if there is no SCC with at least min\n// members.\nfunc (t *tarjan) sccSubGraph(min int) graph {\n\tif len(t.g) == 0 {\n\t\treturn nil\n\t}\n\tsub := make(graph, len(t.g))\n\n\tvar n int\n\tfor _, scc := range t.sccs {\n\t\tif len(scc) < min {\n\t\t\tcontinue\n\t\t}\n\t\tn++\n\t\tfor _, u := range scc {\n\t\t\tfor _, v := range scc {\n\t\t\t\tif _, ok := t.g[u][v]; ok {\n\t\t\t\t\tif sub[u] == nil {\n\t\t\t\t\t\tsub[u] = make(set)\n\t\t\t\t\t}\n\t\t\t\t\tsub[u][v] = struct{}{}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif n == 0 {\n\t\treturn nil\n\t}\n\n\treturn sub\n}\n\n// set is an integer set.\ntype set map[int]struct{}\n\n// graph is an edge list representation of a graph.\ntype graph []set\n\n// remove deletes edges that make up the given paths from the graph.\nfunc (g graph) remove(paths [][]int) {\n\tfor _, p := range paths {\n\t\tfor i, u := range p[:len(p)-1] {\n\t\t\tdelete(g[u], p[i+1])\n\t\t}\n\t}\n}\n\n// subgraph returns a subgraph of g induced by {s, s+1, ... , n}. The\n// subgraph is destructively generated in g.\nfunc (g graph) subgraph(s int) graph {\n\tfor u := range g[:s] {\n\t\tg[u] = nil\n\t}\n\tfor u, e := range g[s:] {\n\t\tfor v := range e {\n\t\t\tif v < s {\n\t\t\t\tdelete(g[u+s], v)\n\t\t\t}\n\t\t}\n\t}\n\treturn g\n}\n\n// clone returns a deep copy of the graph g.\nfunc (g graph) clone() graph {\n\tc := make(graph, len(g))\n\tfor u, e := range g {\n\t\tfor v := range e {\n\t\t\tif c[u] == nil {\n\t\t\t\tc[u] = make(set)\n\t\t\t}\n\t\t\tc[u][v] = struct{}{}\n\t\t}\n\t}\n\treturn c\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/labels.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"errors\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\nvar (\n\t// DefaultFont is the default font for label text.\n\tDefaultFont = plot.DefaultFont\n\n\t// DefaultFontSize is the default font.\n\tDefaultFontSize = vg.Points(10)\n)\n\n// Labels implements the Plotter interface,\n// drawing a set of labels at specified points.\ntype Labels struct {\n\tXYs\n\n\t// Labels is the set of labels corresponding\n\t// to each point.\n\tLabels []string\n\n\t// TextStyle is the style of the label text. Each label\n\t// can have a different text style.\n\tTextStyle []draw.TextStyle\n\n\t// XOffset and YOffset are added directly to the final\n\t// label X and Y location respectively.\n\tXOffset, YOffset vg.Length\n}\n\n// NewLabels returns a new Labels using the DefaultFont and\n// the DefaultFontSize.\nfunc NewLabels(d XYLabeller) (*Labels, error) {\n\txys, err := CopyXYs(d)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif d.Len() != len(xys) {\n\t\treturn nil, errors.New(\"Number of points does not match the number of labels\")\n\t}\n\n\tstrs := make([]string, d.Len())\n\tfor i := range strs {\n\t\tstrs[i] = d.Label(i)\n\t}\n\n\tfnt, err := vg.MakeFont(DefaultFont, DefaultFontSize)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tstyles := make([]draw.TextStyle, d.Len())\n\tfor i := range styles {\n\t\tstyles[i] = draw.TextStyle{Font: fnt}\n\t}\n\n\treturn &Labels{\n\t\tXYs:       xys,\n\t\tLabels:    strs,\n\t\tTextStyle: styles,\n\t}, nil\n}\n\n// Plot implements the Plotter interface, drawing labels.\nfunc (l *Labels) Plot(c draw.Canvas, p *plot.Plot) {\n\ttrX, trY := p.Transforms(&c)\n\tfor i, label := range l.Labels {\n\t\tpt := vg.Point{X: trX(l.XYs[i].X), Y: trY(l.XYs[i].Y)}\n\t\tif !c.Contains(pt) {\n\t\t\tcontinue\n\t\t}\n\t\tpt.X += l.XOffset\n\t\tpt.Y += l.YOffset\n\t\tc.FillText(l.TextStyle[i], pt, label)\n\t}\n}\n\n// DataRange returns the minimum and maximum X and Y values\nfunc (l *Labels) DataRange() (xmin, xmax, ymin, ymax float64) {\n\treturn XYRange(l)\n}\n\n// GlyphBoxes returns a slice of GlyphBoxes,\n// one for each of the labels, implementing the\n// plot.GlyphBoxer interface.\nfunc (l *Labels) GlyphBoxes(p *plot.Plot) []plot.GlyphBox {\n\tbs := make([]plot.GlyphBox, len(l.Labels))\n\tfor i, label := range l.Labels {\n\t\tbs[i].X = p.X.Norm(l.XYs[i].X)\n\t\tbs[i].Y = p.Y.Norm(l.XYs[i].Y)\n\t\tsty := l.TextStyle[i]\n\t\tbs[i].Rectangle = sty.Rectangle(label)\n\t}\n\treturn bs\n}\n\n// XYLabeller combines the XYer and Labeller types.\ntype XYLabeller interface {\n\tXYer\n\tLabeller\n}\n\n// XYLabels holds XY data with labels.\n// The ith label corresponds to the ith XY.\ntype XYLabels struct {\n\tXYs\n\tLabels []string\n}\n\n// Label returns the label for point index i.\nfunc (l XYLabels) Label(i int) string {\n\treturn l.Labels[i]\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/line.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"image/color\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// Line implements the Plotter interface, drawing a line.\ntype Line struct {\n\t// XYs is a copy of the points for this line.\n\tXYs\n\n\t// LineStyle is the style of the line connecting\n\t// the points.\n\tdraw.LineStyle\n\n\t// ShadeColor is the color of the shaded area.\n\tShadeColor *color.Color\n}\n\n// NewLine returns a Line that uses the default line style and\n// does not draw glyphs.\nfunc NewLine(xys XYer) (*Line, error) {\n\tdata, err := CopyXYs(xys)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &Line{\n\t\tXYs:       data,\n\t\tLineStyle: DefaultLineStyle,\n\t}, nil\n}\n\n// Plot draws the Line, implementing the plot.Plotter\n// interface.\nfunc (pts *Line) Plot(c draw.Canvas, plt *plot.Plot) {\n\ttrX, trY := plt.Transforms(&c)\n\tps := make([]vg.Point, len(pts.XYs))\n\n\tfor i, p := range pts.XYs {\n\t\tps[i].X = trX(p.X)\n\t\tps[i].Y = trY(p.Y)\n\t}\n\n\tif pts.ShadeColor != nil && len(ps) > 0 {\n\t\tc.SetColor(*pts.ShadeColor)\n\t\tminY := trY(plt.Y.Min)\n\t\tvar pa vg.Path\n\t\tpa.Move(vg.Point{X: ps[0].X, Y: minY})\n\t\tfor i := range pts.XYs {\n\t\t\tpa.Line(ps[i])\n\t\t}\n\t\tpa.Line(vg.Point{X: ps[len(pts.XYs)-1].X, Y: minY})\n\t\tpa.Close()\n\t\tc.Fill(pa)\n\t}\n\n\tc.StrokeLines(pts.LineStyle, c.ClipLinesXY(ps)...)\n}\n\n// DataRange returns the minimum and maximum\n// x and y values, implementing the plot.DataRanger\n// interface.\nfunc (pts *Line) DataRange() (xmin, xmax, ymin, ymax float64) {\n\treturn XYRange(pts)\n}\n\n// Thumbnail the thumbnail for the Line,\n// implementing the plot.Thumbnailer interface.\nfunc (pts *Line) Thumbnail(c *draw.Canvas) {\n\tif pts.ShadeColor != nil {\n\t\tpoints := []vg.Point{\n\t\t\t{c.Min.X, c.Min.Y},\n\t\t\t{c.Min.X, c.Max.Y},\n\t\t\t{c.Max.X, c.Max.Y},\n\t\t\t{c.Max.X, c.Min.Y},\n\t\t}\n\t\tpoly := c.ClipPolygonY(points)\n\t\tc.FillPolygon(*pts.ShadeColor, poly)\n\n\t\tpoints = append(points, vg.Point{X: c.Min.X, Y: c.Min.Y})\n\t} else {\n\t\ty := c.Center().Y\n\t\tc.StrokeLine2(pts.LineStyle, c.Min.X, y, c.Max.X, y)\n\t}\n}\n\n// NewLinePoints returns both a Line and a\n// Points for the given point data.\nfunc NewLinePoints(xys XYer) (*Line, *Scatter, error) {\n\ts, err := NewScatter(xys)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tl := &Line{\n\t\tXYs:       s.XYs,\n\t\tLineStyle: DefaultLineStyle,\n\t}\n\treturn l, s, nil\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/palettethumbnailer.go",
    "content": "// Copyright ©2017 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"image/color\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/palette\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// PaletteThumbnailers creates a slice of plot.Thumbnailers that can be used to\n// add legend entries for the colors in a color palette.\nfunc PaletteThumbnailers(p palette.Palette) []plot.Thumbnailer {\n\tcolors := p.Colors()\n\tthumbnailers := make([]plot.Thumbnailer, len(colors))\n\tfor i, c := range colors {\n\t\tthumbnailers[i] = paletteThumbnailer{color: c}\n\t}\n\treturn thumbnailers\n}\n\n// paletteThumbnailer implements the Thumbnailer interface\n// for color palettes.\ntype paletteThumbnailer struct {\n\tcolor color.Color\n}\n\n// Thumbnail satisfies the plot.Thumbnailer interface.\nfunc (t paletteThumbnailer) Thumbnail(c *draw.Canvas) {\n\tpts := []vg.Point{\n\t\t{X: c.Min.X, Y: c.Min.Y},\n\t\t{X: c.Min.X, Y: c.Max.Y},\n\t\t{X: c.Max.X, Y: c.Max.Y},\n\t\t{X: c.Max.X, Y: c.Min.Y},\n\t}\n\tpoly := c.ClipPolygonY(pts)\n\tc.FillPolygon(t.color, poly)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/plotter.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package plotter defines a variety of standard Plotters for the\n// plot package.\n//\n// Plotters use the primitives provided by the plot package to draw to\n// the data area of a plot. This package provides some standard data\n// styles such as lines, scatter plots, box plots, labels, and more.\n//\n// New* functions return an error if the data contains Inf, NaN, or is\n// empty. Some of the New* functions return other plotter-specific errors\n// too.\npackage plotter // import \"gonum.org/v1/plot/plotter\"\n\nimport (\n\t\"errors\"\n\t\"image/color\"\n\t\"math\"\n\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\nvar (\n\t// DefaultLineStyle is the default style for drawing\n\t// lines.\n\tDefaultLineStyle = draw.LineStyle{\n\t\tColor:    color.Black,\n\t\tWidth:    vg.Points(1),\n\t\tDashes:   []vg.Length{},\n\t\tDashOffs: 0,\n\t}\n\n\t// DefaultGlyphStyle is the default style used\n\t// for gyph marks.\n\tDefaultGlyphStyle = draw.GlyphStyle{\n\t\tColor:  color.Black,\n\t\tRadius: vg.Points(2.5),\n\t\tShape:  draw.RingGlyph{},\n\t}\n)\n\n// Valuer wraps the Len and Value methods.\ntype Valuer interface {\n\t// Len returns the number of values.\n\tLen() int\n\n\t// Value returns a value.\n\tValue(int) float64\n}\n\n// Range returns the minimum and maximum values.\nfunc Range(vs Valuer) (min, max float64) {\n\tmin = math.Inf(1)\n\tmax = math.Inf(-1)\n\tfor i := 0; i < vs.Len(); i++ {\n\t\tv := vs.Value(i)\n\t\tmin = math.Min(min, v)\n\t\tmax = math.Max(max, v)\n\t}\n\treturn\n}\n\n// Values implements the Valuer interface.\ntype Values []float64\n\nvar (\n\tErrInfinity = errors.New(\"Infinite data point\")\n\tErrNaN      = errors.New(\"NaN data point\")\n\tErrNoData   = errors.New(\"No data points\")\n)\n\n// CheckFloats returns an error if any of the arguments are NaN or Infinity.\nfunc CheckFloats(fs ...float64) error {\n\tfor _, f := range fs {\n\t\tswitch {\n\t\tcase math.IsNaN(f):\n\t\t\treturn ErrNaN\n\t\tcase math.IsInf(f, 0):\n\t\t\treturn ErrInfinity\n\t\t}\n\t}\n\treturn nil\n}\n\n// CopyValues returns a Values that is a copy of the values\n// from a Valuer, or an error if there are no values, or if one of\n// the copied values is a NaN or Infinity.\nfunc CopyValues(vs Valuer) (Values, error) {\n\tif vs.Len() == 0 {\n\t\treturn nil, ErrNoData\n\t}\n\tcpy := make(Values, vs.Len())\n\tfor i := 0; i < vs.Len(); i++ {\n\t\tcpy[i] = vs.Value(i)\n\t\tif err := CheckFloats(cpy[i]); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn cpy, nil\n}\n\nfunc (vs Values) Len() int {\n\treturn len(vs)\n}\n\nfunc (vs Values) Value(i int) float64 {\n\treturn vs[i]\n}\n\n// XYer wraps the Len and XY methods.\ntype XYer interface {\n\t// Len returns the number of x, y pairs.\n\tLen() int\n\n\t// XY returns an x, y pair.\n\tXY(int) (x, y float64)\n}\n\n// XYRange returns the minimum and maximum\n// x and y values.\nfunc XYRange(xys XYer) (xmin, xmax, ymin, ymax float64) {\n\txmin, xmax = Range(XValues{xys})\n\tymin, ymax = Range(YValues{xys})\n\treturn\n}\n\n// XYs implements the XYer interface.\ntype XYs []struct{ X, Y float64 }\n\n// CopyXYs returns an XYs that is a copy of the x and y values from\n// an XYer, or an error if one of the data points contains a NaN or\n// Infinity.\nfunc CopyXYs(data XYer) (XYs, error) {\n\tcpy := make(XYs, data.Len())\n\tfor i := range cpy {\n\t\tcpy[i].X, cpy[i].Y = data.XY(i)\n\t\tif err := CheckFloats(cpy[i].X, cpy[i].Y); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn cpy, nil\n}\n\nfunc (xys XYs) Len() int {\n\treturn len(xys)\n}\n\nfunc (xys XYs) XY(i int) (float64, float64) {\n\treturn xys[i].X, xys[i].Y\n}\n\n// XValues implements the Valuer interface,\n// returning the x value from an XYer.\ntype XValues struct {\n\tXYer\n}\n\nfunc (xs XValues) Value(i int) float64 {\n\tx, _ := xs.XY(i)\n\treturn x\n}\n\n// YValues implements the Valuer interface,\n// returning the y value from an XYer.\ntype YValues struct {\n\tXYer\n}\n\nfunc (ys YValues) Value(i int) float64 {\n\t_, y := ys.XY(i)\n\treturn y\n}\n\n// XYZer wraps the Len and XYZ methods.\ntype XYZer interface {\n\t// Len returns the number of x, y, z triples.\n\tLen() int\n\n\t// XYZ returns an x, y, z triple.\n\tXYZ(int) (float64, float64, float64)\n\n\t// XY returns an x, y pair.\n\tXY(int) (float64, float64)\n}\n\n// XYZs implements the XYZer interface using a slice.\ntype XYZs []struct{ X, Y, Z float64 }\n\n// Len implements the Len method of the XYZer interface.\nfunc (xyz XYZs) Len() int {\n\treturn len(xyz)\n}\n\n// XYZ implements the XYZ method of the XYZer interface.\nfunc (xyz XYZs) XYZ(i int) (float64, float64, float64) {\n\treturn xyz[i].X, xyz[i].Y, xyz[i].Z\n}\n\n// XY implements the XY method of the XYer interface.\nfunc (xyz XYZs) XY(i int) (float64, float64) {\n\treturn xyz[i].X, xyz[i].Y\n}\n\n// CopyXYZs copies an XYZer.\nfunc CopyXYZs(data XYZer) (XYZs, error) {\n\tcpy := make(XYZs, data.Len())\n\tfor i := range cpy {\n\t\tcpy[i].X, cpy[i].Y, cpy[i].Z = data.XYZ(i)\n\t\tif err := CheckFloats(cpy[i].X, cpy[i].Y, cpy[i].Z); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn cpy, nil\n}\n\n// XYValues implements the XYer interface, returning\n// the x and y values from an XYZer.\ntype XYValues struct{ XYZer }\n\n// XY implements the XY method of the XYer interface.\nfunc (xy XYValues) XY(i int) (float64, float64) {\n\tx, y, _ := xy.XYZ(i)\n\treturn x, y\n}\n\n// Labeller wraps the Label methods.\ntype Labeller interface {\n\t// Label returns a label.\n\tLabel(int) string\n}\n\n// XErrorer wraps the XError method.\ntype XErrorer interface {\n\t// XError returns two error values for X data.\n\tXError(int) (float64, float64)\n}\n\n// Errors is a slice of low and high error values.\ntype Errors []struct{ Low, High float64 }\n\n// XErrors implements the XErrorer interface.\ntype XErrors Errors\n\nfunc (xe XErrors) XError(i int) (float64, float64) {\n\treturn xe[i].Low, xe[i].High\n}\n\n// YErrorer wraps the YError method.\ntype YErrorer interface {\n\t// YError returns two error values for Y data.\n\tYError(int) (float64, float64)\n}\n\n// YErrors implements the YErrorer interface.\ntype YErrors Errors\n\nfunc (ye YErrors) YError(i int) (float64, float64) {\n\treturn ye[i].Low, ye[i].High\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/polygon.go",
    "content": "// Copyright ©2016 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"image/color\"\n\t\"math\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// Polygon implements the Plotter interface, drawing a polygon.\ntype Polygon struct {\n\t// XYs is a copy of the vertices of this polygon.\n\t// Each item in the array holds one ring in the\n\t// Polygon.\n\tXYs []XYs\n\n\t// LineStyle is the style of the line around the edge\n\t// of the polygon.\n\tdraw.LineStyle\n\n\t// Color is the fill color of the polygon.\n\tColor color.Color\n}\n\n// NewPolygon returns a polygon that uses the default line style and\n// no fill color, where xys are the rings of the polygon.\n// Different backends may render overlapping rings and self-intersections\n// differently, but all built-in backends treat inner rings\n// with the opposite winding order from the outer ring as\n// holes.\nfunc NewPolygon(xys ...XYer) (*Polygon, error) {\n\tdata := make([]XYs, len(xys))\n\tfor i, d := range xys {\n\t\tvar err error\n\t\tdata[i], err = CopyXYs(d)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn &Polygon{\n\t\tXYs:       data,\n\t\tLineStyle: DefaultLineStyle,\n\t}, nil\n}\n\n// Plot draws the polygon, implementing the plot.Plotter\n// interface.\nfunc (pts *Polygon) Plot(c draw.Canvas, plt *plot.Plot) {\n\ttrX, trY := plt.Transforms(&c)\n\tps := make([][]vg.Point, len(pts.XYs))\n\n\tfor i, ring := range pts.XYs {\n\t\tps[i] = make([]vg.Point, len(ring))\n\t\tfor j, p := range ring {\n\t\t\tps[i][j].X = trX(p.X)\n\t\t\tps[i][j].Y = trY(p.Y)\n\t\t}\n\t\tps[i] = c.ClipPolygonXY(ps[i])\n\t}\n\tif pts.Color != nil && len(ps) > 0 {\n\t\tc.SetColor(pts.Color)\n\t\tvar pa vg.Path\n\t\tfor _, ring := range ps {\n\t\t\tpa.Move(ring[0])\n\t\t\tfor _, p := range ring {\n\t\t\t\tpa.Line(p)\n\t\t\t}\n\t\t\tpa.Close()\n\t\t}\n\t\tc.Fill(pa)\n\t}\n\n\tfor _, ring := range ps {\n\t\tif len(ring) > 0 && ring[len(ring)-1] != ring[0] {\n\t\t\tring = append(ring, ring[0])\n\t\t}\n\t\tc.StrokeLines(pts.LineStyle, c.ClipLinesXY(ring)...)\n\t}\n}\n\n// DataRange returns the minimum and maximum\n// x and y values, implementing the plot.DataRanger\n// interface.\nfunc (pts *Polygon) DataRange() (xmin, xmax, ymin, ymax float64) {\n\txmin = math.Inf(1)\n\txmax = math.Inf(-1)\n\tymin = math.Inf(1)\n\tymax = math.Inf(-1)\n\tfor _, ring := range pts.XYs {\n\t\txmini, xmaxi := Range(XValues{ring})\n\t\tymini, ymaxi := Range(YValues{ring})\n\t\txmin = math.Min(xmin, xmini)\n\t\txmax = math.Max(xmax, xmaxi)\n\t\tymin = math.Min(ymin, ymini)\n\t\tymax = math.Max(ymax, ymaxi)\n\t}\n\treturn\n}\n\n// Thumbnail creates the thumbnail for the Polygon,\n// implementing the plot.Thumbnailer interface.\nfunc (pts *Polygon) Thumbnail(c *draw.Canvas) {\n\tif pts.Color != nil {\n\t\tpoints := []vg.Point{\n\t\t\t{X: c.Min.X, Y: c.Min.Y},\n\t\t\t{X: c.Min.X, Y: c.Max.Y},\n\t\t\t{X: c.Max.X, Y: c.Max.Y},\n\t\t\t{X: c.Max.X, Y: c.Min.Y},\n\t\t}\n\t\tpoly := c.ClipPolygonY(points)\n\t\tc.FillPolygon(pts.Color, poly)\n\n\t\tpoints = append(points, vg.Point{X: c.Min.X, Y: c.Min.Y})\n\t\tc.StrokeLines(pts.LineStyle, points)\n\t} else {\n\t\ty := c.Center().Y\n\t\tc.StrokeLine2(pts.LineStyle, c.Min.X, y, c.Max.X, y)\n\t}\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/quartile.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"image/color\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\nvar (\n\t// DefaultQuartMedianStyle is a fat dot.\n\tDefaultQuartMedianStyle = draw.GlyphStyle{\n\t\tColor:  color.Black,\n\t\tRadius: vg.Points(1.5),\n\t\tShape:  draw.CircleGlyph{},\n\t}\n\n\t// DefaultQuartWhiskerStyle is a hairline.\n\tDefaultQuartWhiskerStyle = draw.LineStyle{\n\t\tColor:    color.Black,\n\t\tWidth:    vg.Points(0.5),\n\t\tDashes:   []vg.Length{},\n\t\tDashOffs: 0,\n\t}\n)\n\n// QuartPlot implements the Plotter interface, drawing\n// a plot to represent the distribution of values.\n//\n// This style of the plot appears in Tufte's \"The Visual\n// Display of Quantitative Information\".\ntype QuartPlot struct {\n\tfiveStatPlot\n\n\t// Offset is added to the x location of each plot.\n\t// When the Offset is zero, the plot is drawn\n\t// centered at its x location.\n\tOffset vg.Length\n\n\t// MedianStyle is the line style for the median point.\n\tMedianStyle draw.GlyphStyle\n\n\t// WhiskerStyle is the line style used to draw the\n\t// whiskers.\n\tWhiskerStyle draw.LineStyle\n\n\t// Horizontal dictates whether the QuartPlot should be in the vertical\n\t// (default) or horizontal direction.\n\tHorizontal bool\n}\n\n// NewQuartPlot returns a new QuartPlot that represents\n// the distribution of the given values.\n//\n// An error is returned if the plot is created with\n// no values.\n//\n// The fence values are 1.5x the interquartile before\n// the first quartile and after the third quartile.  Any\n// value that is outside of the fences are drawn as\n// Outside points.  The adjacent values (to which the\n// whiskers stretch) are the minimum and maximum\n// values that are not outside the fences.\nfunc NewQuartPlot(loc float64, values Valuer) (*QuartPlot, error) {\n\tb := new(QuartPlot)\n\tvar err error\n\tif b.fiveStatPlot, err = newFiveStat(0, loc, values); err != nil {\n\t\treturn nil, err\n\t}\n\n\tb.MedianStyle = DefaultQuartMedianStyle\n\tb.WhiskerStyle = DefaultQuartWhiskerStyle\n\n\treturn b, err\n}\n\n// Plot draws the QuartPlot on Canvas c and Plot plt.\nfunc (b *QuartPlot) Plot(c draw.Canvas, plt *plot.Plot) {\n\tif b.Horizontal {\n\t\tb := &horizQuartPlot{b}\n\t\tb.Plot(c, plt)\n\t\treturn\n\t}\n\n\ttrX, trY := plt.Transforms(&c)\n\tx := trX(b.Location)\n\tif !c.ContainsX(x) {\n\t\treturn\n\t}\n\tx += b.Offset\n\n\tmed := vg.Point{X: x, Y: trY(b.Median)}\n\tq1 := trY(b.Quartile1)\n\tq3 := trY(b.Quartile3)\n\taLow := trY(b.AdjLow)\n\taHigh := trY(b.AdjHigh)\n\n\tc.StrokeLine2(b.WhiskerStyle, x, aHigh, x, q3)\n\tif c.ContainsY(med.Y) {\n\t\tc.DrawGlyphNoClip(b.MedianStyle, med)\n\t}\n\tc.StrokeLine2(b.WhiskerStyle, x, aLow, x, q1)\n\n\tostyle := b.MedianStyle\n\tostyle.Radius = b.MedianStyle.Radius / 2\n\tfor _, out := range b.Outside {\n\t\ty := trY(b.Value(out))\n\t\tif c.ContainsY(y) {\n\t\t\tc.DrawGlyphNoClip(ostyle, vg.Point{X: x, Y: y})\n\t\t}\n\t}\n}\n\n// DataRange returns the minimum and maximum x\n// and y values, implementing the plot.DataRanger\n// interface.\nfunc (b *QuartPlot) DataRange() (float64, float64, float64, float64) {\n\tif b.Horizontal {\n\t\tb := &horizQuartPlot{b}\n\t\treturn b.DataRange()\n\t}\n\treturn b.Location, b.Location, b.Min, b.Max\n}\n\n// GlyphBoxes returns a slice of GlyphBoxes for the plot,\n// implementing the plot.GlyphBoxer interface.\nfunc (b *QuartPlot) GlyphBoxes(plt *plot.Plot) []plot.GlyphBox {\n\tif b.Horizontal {\n\t\tb := &horizQuartPlot{b}\n\t\treturn b.GlyphBoxes(plt)\n\t}\n\n\tbs := make([]plot.GlyphBox, len(b.Outside)+1)\n\n\tostyle := b.MedianStyle\n\tostyle.Radius = b.MedianStyle.Radius / 2\n\tfor i, out := range b.Outside {\n\t\tbs[i].X = plt.X.Norm(b.Location)\n\t\tbs[i].Y = plt.Y.Norm(b.Value(out))\n\t\tbs[i].Rectangle = ostyle.Rectangle()\n\t\tbs[i].Rectangle.Min.X += b.Offset\n\t}\n\tbs[len(bs)-1].X = plt.X.Norm(b.Location)\n\tbs[len(bs)-1].Y = plt.Y.Norm(b.Median)\n\tbs[len(bs)-1].Rectangle = b.MedianStyle.Rectangle()\n\tbs[len(bs)-1].Rectangle.Min.X += b.Offset\n\treturn bs\n}\n\n// OutsideLabels returns a *Labels that will plot\n// a label for each of the outside points.  The\n// labels are assumed to correspond to the\n// points used to create the plot.\nfunc (b *QuartPlot) OutsideLabels(labels Labeller) (*Labels, error) {\n\tif b.Horizontal {\n\t\tb := &horizQuartPlot{b}\n\t\treturn b.OutsideLabels(labels)\n\t}\n\tstrs := make([]string, len(b.Outside))\n\tfor i, out := range b.Outside {\n\t\tstrs[i] = labels.Label(out)\n\t}\n\to := quartPlotOutsideLabels{b, strs}\n\tls, err := NewLabels(o)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tls.XOffset += b.MedianStyle.Radius / 2\n\tls.YOffset += b.MedianStyle.Radius / 2\n\treturn ls, nil\n}\n\ntype quartPlotOutsideLabels struct {\n\tqp     *QuartPlot\n\tlabels []string\n}\n\nfunc (o quartPlotOutsideLabels) Len() int {\n\treturn len(o.qp.Outside)\n}\n\nfunc (o quartPlotOutsideLabels) XY(i int) (float64, float64) {\n\treturn o.qp.Location, o.qp.Value(o.qp.Outside[i])\n}\n\nfunc (o quartPlotOutsideLabels) Label(i int) string {\n\treturn o.labels[i]\n}\n\n// horizQuartPlot is like a regular QuartPlot, however,\n// it draws horizontally instead of Vertically.\ntype horizQuartPlot struct{ *QuartPlot }\n\nfunc (b horizQuartPlot) Plot(c draw.Canvas, plt *plot.Plot) {\n\ttrX, trY := plt.Transforms(&c)\n\ty := trY(b.Location)\n\tif !c.ContainsY(y) {\n\t\treturn\n\t}\n\ty += b.Offset\n\n\tmed := vg.Point{X: trX(b.Median), Y: y}\n\tq1 := trX(b.Quartile1)\n\tq3 := trX(b.Quartile3)\n\taLow := trX(b.AdjLow)\n\taHigh := trX(b.AdjHigh)\n\n\tc.StrokeLine2(b.WhiskerStyle, aHigh, y, q3, y)\n\tif c.ContainsX(med.X) {\n\t\tc.DrawGlyphNoClip(b.MedianStyle, med)\n\t}\n\tc.StrokeLine2(b.WhiskerStyle, aLow, y, q1, y)\n\n\tostyle := b.MedianStyle\n\tostyle.Radius = b.MedianStyle.Radius / 2\n\tfor _, out := range b.Outside {\n\t\tx := trX(b.Value(out))\n\t\tif c.ContainsX(x) {\n\t\t\tc.DrawGlyphNoClip(ostyle, vg.Point{X: x, Y: y})\n\t\t}\n\t}\n}\n\n// DataRange returns the minimum and maximum x\n// and y values, implementing the plot.DataRanger\n// interface.\nfunc (b horizQuartPlot) DataRange() (float64, float64, float64, float64) {\n\treturn b.Min, b.Max, b.Location, b.Location\n}\n\n// GlyphBoxes returns a slice of GlyphBoxes for the plot,\n// implementing the plot.GlyphBoxer interface.\nfunc (b horizQuartPlot) GlyphBoxes(plt *plot.Plot) []plot.GlyphBox {\n\tbs := make([]plot.GlyphBox, len(b.Outside)+1)\n\n\tostyle := b.MedianStyle\n\tostyle.Radius = b.MedianStyle.Radius / 2\n\tfor i, out := range b.Outside {\n\t\tbs[i].X = plt.X.Norm(b.Value(out))\n\t\tbs[i].Y = plt.Y.Norm(b.Location)\n\t\tbs[i].Rectangle = ostyle.Rectangle()\n\t\tbs[i].Rectangle.Min.Y += b.Offset\n\t}\n\tbs[len(bs)-1].X = plt.X.Norm(b.Median)\n\tbs[len(bs)-1].Y = plt.Y.Norm(b.Location)\n\tbs[len(bs)-1].Rectangle = b.MedianStyle.Rectangle()\n\tbs[len(bs)-1].Rectangle.Min.Y += b.Offset\n\treturn bs\n}\n\n// OutsideLabels returns a *Labels that will plot\n// a label for each of the outside points.  The\n// labels are assumed to correspond to the\n// points used to create the plot.\nfunc (b *horizQuartPlot) OutsideLabels(labels Labeller) (*Labels, error) {\n\tstrs := make([]string, len(b.Outside))\n\tfor i, out := range b.Outside {\n\t\tstrs[i] = labels.Label(out)\n\t}\n\to := horizQuartPlotOutsideLabels{\n\t\tquartPlotOutsideLabels{b.QuartPlot, strs},\n\t}\n\tls, err := NewLabels(o)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tls.XOffset += b.MedianStyle.Radius / 2\n\tls.YOffset += b.MedianStyle.Radius / 2\n\treturn ls, nil\n}\n\ntype horizQuartPlotOutsideLabels struct {\n\tquartPlotOutsideLabels\n}\n\nfunc (o horizQuartPlotOutsideLabels) XY(i int) (float64, float64) {\n\treturn o.qp.Value(o.qp.Outside[i]), o.qp.Location\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/sankey.go",
    "content": "// Copyright ©2016 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"fmt\"\n\t\"image/color\"\n\t\"math\"\n\t\"sort\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/tools/bezier\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// A Sankey diagram presents stock and flow data as rectangles representing\n// the amount of each stock and lines between the stocks representing the\n// amount of each flow.\ntype Sankey struct {\n\t// Color specifies the default fill\n\t// colors for the stocks and flows. If Color is not nil,\n\t// each stock and flow is rendered filled with Color,\n\t// otherwise no fill is performed. Colors can be\n\t// modified for individual stocks and flows.\n\tColor color.Color\n\n\t// StockBarWidth is the widths of the bars representing\n\t// the stocks. The default value is 15% larger than the\n\t// height of the stock label text.\n\tStockBarWidth vg.Length\n\n\t// LineStyle specifies the default border\n\t// line style for the stocks and flows. Styles can be\n\t// modified for individual stocks and flows.\n\tLineStyle draw.LineStyle\n\n\t// TextStyle specifies the default stock label\n\t// text style. Styles can be modified for\n\t// individual stocks.\n\tTextStyle draw.TextStyle\n\n\tflows []Flow\n\n\t// FlowStyle is a function that specifies the\n\t// background color and border line style of the\n\t// flow based on its group name. The default\n\t// function uses the default Color and LineStyle\n\t// specified above for all groups.\n\tFlowStyle func(group string) (color.Color, draw.LineStyle)\n\n\t// StockStyle is a function that specifies, for a stock\n\t// identified by its label and category, the label text\n\t// to be printed on the plot (lbl), the style of the text (ts),\n\t// the horizontal and vertical offsets for printing the text (xOff and yOff),\n\t// the color of the fill for the bar representing the stock (c),\n\t// and the style of the outline of the bar representing the stock (ls).\n\t// The default function uses the default TextStyle, color and LineStyle\n\t// specified above for all stocks; zero horizontal and vertical offsets;\n\t// and the stock label as the text to be printed on the plot.\n\tStockStyle func(label string, category int) (lbl string, ts draw.TextStyle, xOff, yOff vg.Length, c color.Color, ls draw.LineStyle)\n\n\t// stocks arranges the stocks by category.\n\t// The first key is the category and the seond\n\t// key is the label.\n\tstocks map[int]map[string]*stock\n}\n\n// StockRange returns the minimum and maximum value on the value axis\n// for the stock with the specified label and category.\nfunc (s *Sankey) StockRange(label string, category int) (min, max float64, err error) {\n\tstk, ok := s.stocks[category][label]\n\tif !ok {\n\t\treturn 0, 0, fmt.Errorf(\"plotter: sankey diagram does not contain stock with label=%s and category=%d\", label, category)\n\t}\n\treturn stk.min, stk.max, nil\n}\n\n// stock represents the amount of a stock and its plotting order.\ntype stock struct {\n\t// receptorValue and sourceValue are the totals of the values\n\t// of flows coming into and going out of this stock, respectively.\n\treceptorValue, sourceValue float64\n\n\t// label is the label of this stock, and category represents\n\t// its placement on the category axis. Together they make up a\n\t// unique identifier.\n\tlabel    string\n\tcategory int\n\n\t// order is the plotting order of this stock compared\n\t// to other stocks in the same category.\n\torder int\n\n\t// min represents the beginning of the plotting location\n\t// on the value axis.\n\tmin float64\n\n\t// max is min plus the larger of receptorValue and sourceValue.\n\tmax float64\n\n\t// sourceFlowPlaceholder and receptorFlowPlaceholder track\n\t// the current plotting location during\n\t// the plotting process.\n\tsourceFlowPlaceholder, receptorFlowPlaceholder float64\n}\n\n// A Flow represents the amount of an entity flowing between two stocks.\ntype Flow struct {\n\t// SourceLabel and ReceptorLabel are the labels\n\t// of the stocks that originate and receive the flow,\n\t// respectively.\n\tSourceLabel, ReceptorLabel string\n\n\t// SourceCategory and ReceptorCategory define\n\t// the locations on the category axis of the stocks that\n\t// originate and receive the flow, respectively. The\n\t// SourceCategory must be a lower number than\n\t// the ReceptorCategory.\n\tSourceCategory, ReceptorCategory int\n\n\t// Value represents the magnitute of the flow.\n\t// It must be greater than or equal to zero.\n\tValue float64\n\n\t// Group specifies the group that a flow belongs\n\t// to. It is used in assigning styles to groups\n\t// and creating legends.\n\tGroup string\n}\n\n// NewSankey creates a new Sankey diagram with the specified\n// flows and stocks.\nfunc NewSankey(flows ...Flow) (*Sankey, error) {\n\tvar s Sankey\n\n\ts.stocks = make(map[int]map[string]*stock)\n\n\ts.flows = flows\n\tfor i, f := range flows {\n\t\t// Here we make sure the stock categories are in the proper order.\n\t\tif f.SourceCategory >= f.ReceptorCategory {\n\t\t\treturn nil, fmt.Errorf(\"plotter: Flow %d SourceCategory (%d) >= ReceptorCategory (%d)\", i, f.SourceCategory, f.ReceptorCategory)\n\t\t}\n\t\tif f.Value < 0 {\n\t\t\treturn nil, fmt.Errorf(\"plotter: Flow %d value (%g) < 0\", i, f.Value)\n\t\t}\n\n\t\t// Here we initialize the stock holders.\n\t\tif _, ok := s.stocks[f.SourceCategory]; !ok {\n\t\t\ts.stocks[f.SourceCategory] = make(map[string]*stock)\n\t\t}\n\t\tif _, ok := s.stocks[f.ReceptorCategory]; !ok {\n\t\t\ts.stocks[f.ReceptorCategory] = make(map[string]*stock)\n\t\t}\n\n\t\t// Here we figure out the plotting order of the stocks.\n\t\tif _, ok := s.stocks[f.SourceCategory][f.SourceLabel]; !ok {\n\t\t\ts.stocks[f.SourceCategory][f.SourceLabel] = &stock{\n\t\t\t\torder:    len(s.stocks[f.SourceCategory]),\n\t\t\t\tlabel:    f.SourceLabel,\n\t\t\t\tcategory: f.SourceCategory,\n\t\t\t}\n\t\t}\n\t\tif _, ok := s.stocks[f.ReceptorCategory][f.ReceptorLabel]; !ok {\n\t\t\ts.stocks[f.ReceptorCategory][f.ReceptorLabel] = &stock{\n\t\t\t\torder:    len(s.stocks[f.ReceptorCategory]),\n\t\t\t\tlabel:    f.ReceptorLabel,\n\t\t\t\tcategory: f.ReceptorCategory,\n\t\t\t}\n\t\t}\n\n\t\t// Here we add the current value to the total value of the stocks\n\t\ts.stocks[f.SourceCategory][f.SourceLabel].sourceValue += f.Value\n\t\ts.stocks[f.ReceptorCategory][f.ReceptorLabel].receptorValue += f.Value\n\t}\n\n\ts.LineStyle = DefaultLineStyle\n\n\tfnt, err := vg.MakeFont(DefaultFont, DefaultFontSize)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\ts.TextStyle = draw.TextStyle{\n\t\tFont:     fnt,\n\t\tRotation: math.Pi / 2,\n\t\tXAlign:   draw.XCenter,\n\t\tYAlign:   draw.YCenter,\n\t}\n\ts.StockBarWidth = s.TextStyle.Font.Extents().Height * 1.15\n\n\ts.FlowStyle = func(_ string) (color.Color, draw.LineStyle) {\n\t\treturn s.Color, s.LineStyle\n\t}\n\n\ts.StockStyle = func(label string, category int) (string, draw.TextStyle, vg.Length, vg.Length, color.Color, draw.LineStyle) {\n\t\treturn label, s.TextStyle, 0, 0, s.Color, s.LineStyle\n\t}\n\n\tstocks := s.stockList()\n\ts.setStockRange(&stocks)\n\n\treturn &s, nil\n}\n\n// Plot implements the plot.Plotter interface.\nfunc (s *Sankey) Plot(c draw.Canvas, plt *plot.Plot) {\n\ttrCat, trVal := plt.Transforms(&c)\n\n\t// Here we draw the flows.\n\tfor _, f := range s.flows {\n\t\tstartStock := s.stocks[f.SourceCategory][f.SourceLabel]\n\t\tendStock := s.stocks[f.ReceptorCategory][f.ReceptorLabel]\n\t\tcatStart := trCat(float64(f.SourceCategory)) + s.StockBarWidth/2\n\t\tcatEnd := trCat(float64(f.ReceptorCategory)) - s.StockBarWidth/2\n\t\tvalStartLow := trVal(startStock.min + startStock.sourceFlowPlaceholder)\n\t\tvalEndLow := trVal(endStock.min + endStock.receptorFlowPlaceholder)\n\t\tvalStartHigh := trVal(startStock.min + startStock.sourceFlowPlaceholder + f.Value)\n\t\tvalEndHigh := trVal(endStock.min + endStock.receptorFlowPlaceholder + f.Value)\n\t\tstartStock.sourceFlowPlaceholder += f.Value\n\t\tendStock.receptorFlowPlaceholder += f.Value\n\n\t\tptsLow := s.bezier(\n\t\t\tvg.Point{X: catStart, Y: valStartLow},\n\t\t\tvg.Point{X: catEnd, Y: valEndLow},\n\t\t)\n\t\tptsHigh := s.bezier(\n\t\t\tvg.Point{X: catEnd, Y: valEndHigh},\n\t\t\tvg.Point{X: catStart, Y: valStartHigh},\n\t\t)\n\n\t\tcolor, lineStyle := s.FlowStyle(f.Group)\n\n\t\t// Here we fill the flow polygons.\n\t\tif color != nil {\n\t\t\tpoly := c.ClipPolygonX(append(ptsLow, ptsHigh...))\n\t\t\tc.FillPolygon(color, poly)\n\t\t}\n\n\t\t// Here we draw the flow edges.\n\t\toutline := c.ClipLinesX(ptsLow)\n\t\tc.StrokeLines(lineStyle, outline...)\n\t\toutline = c.ClipLinesX(ptsHigh)\n\t\tc.StrokeLines(lineStyle, outline...)\n\t}\n\n\t// Here we draw the stocks.\n\tfor _, stk := range s.stockList() {\n\t\tcatLoc := trCat(float64(stk.category))\n\t\tif !c.ContainsX(catLoc) {\n\t\t\tcontinue\n\t\t}\n\t\tcatMin, catMax := catLoc-s.StockBarWidth/2, catLoc+s.StockBarWidth/2\n\t\tvalMin, valMax := trVal(stk.min), trVal(stk.max)\n\n\t\tlabel, textStyle, xOff, yOff, color, lineStyle := s.StockStyle(stk.label, stk.category)\n\n\t\t// Here we fill the stock bars.\n\t\tpts := []vg.Point{\n\t\t\t{catMin, valMin},\n\t\t\t{catMin, valMax},\n\t\t\t{catMax, valMax},\n\t\t\t{catMax, valMin},\n\t\t}\n\t\tif s.Color != nil {\n\t\t\t// poly := c.ClipPolygonX(pts) // This causes half of the bar to disappear. Is there a best practice here?\n\t\t\tc.FillPolygon(color, pts) // poly)\n\t\t}\n\t\ttxtPt := vg.Point{X: (catMin+catMax)/2 + xOff, Y: (valMin+valMax)/2 + yOff}\n\t\tc.FillText(textStyle, txtPt, label)\n\n\t\t// Here we draw the bottom edge.\n\t\tpts = []vg.Point{\n\t\t\t{catMin, valMin},\n\t\t\t{catMax, valMin},\n\t\t}\n\t\tc.StrokeLines(lineStyle, pts)\n\n\t\t// Here we draw the top edge plus vertical edges where there are\n\t\t// no flows connected.\n\t\tpts = []vg.Point{\n\t\t\t{catMin, valMax},\n\t\t\t{catMax, valMax},\n\t\t}\n\t\tif stk.receptorValue < stk.sourceValue {\n\t\t\ty := trVal(stk.max - (stk.sourceValue - stk.receptorValue))\n\t\t\tpts = append([]vg.Point{{catMin, y}}, pts...)\n\t\t} else if stk.sourceValue < stk.receptorValue {\n\t\t\ty := trVal(stk.max - (stk.receptorValue - stk.sourceValue))\n\t\t\tpts = append(pts, vg.Point{X: catMax, Y: y})\n\t\t}\n\t\tc.StrokeLines(lineStyle, pts)\n\t}\n}\n\n// stockList returns a sorted list of the stocks in the diagram.\nfunc (s *Sankey) stockList() []*stock {\n\tvar stocks []*stock\n\tfor _, ss := range s.stocks {\n\t\tfor _, sss := range ss {\n\t\t\tstocks = append(stocks, sss)\n\t\t}\n\t}\n\tsort.Sort(stockSorter(stocks))\n\treturn stocks\n}\n\n// stockSorter is a wrapper for a list of *stocks that implements\n// sort.Interface.\ntype stockSorter []*stock\n\nfunc (s stockSorter) Len() int      { return len(s) }\nfunc (s stockSorter) Swap(i, j int) { s[i], s[j] = s[j], s[i] }\nfunc (s stockSorter) Less(i, j int) bool {\n\tif s[i].category != s[j].category {\n\t\treturn s[i].category < s[j].category\n\t}\n\tif s[i].order != s[j].order {\n\t\treturn s[i].order < s[j].order\n\t}\n\tpanic(fmt.Errorf(\"plotter: can't sort stocks:\\n%+v\\n%+v\", s[i], s[j]))\n}\n\n// setStockRange sets the minimum and maximum values of the stock plotting locations.\nfunc (s *Sankey) setStockRange(stocks *[]*stock) {\n\tvar cat int\n\tvar min float64\n\tfor _, stk := range *stocks {\n\t\tstk.sourceFlowPlaceholder = 0\n\t\tstk.receptorFlowPlaceholder = 0\n\t\tif stk.category != cat {\n\t\t\tmin = 0\n\t\t}\n\t\tcat = stk.category\n\t\tstk.min = min\n\t\tif stk.sourceValue > stk.receptorValue {\n\t\t\tstk.max = stk.min + stk.sourceValue\n\t\t} else {\n\t\t\tstk.max = stk.min + stk.receptorValue\n\t\t}\n\t\tmin = stk.max\n\t}\n}\n\n// bezier creates a bezier curve between the begin and end points.\nfunc (s *Sankey) bezier(begin, end vg.Point) []vg.Point {\n\t// directionOffsetFrac is the fraction of the distance between begin.X and\n\t// end.X for the bezier control points.\n\tconst directionOffsetFrac = 0.3\n\tinPts := []vg.Point{\n\t\tbegin,\n\t\tvg.Point{X: begin.X + (end.X-begin.X)*directionOffsetFrac, Y: begin.Y},\n\t\tvg.Point{X: begin.X + (end.X-begin.X)*(1-directionOffsetFrac), Y: end.Y},\n\t\tend,\n\t}\n\tcurve := bezier.New(inPts...)\n\n\t// nPoints is the number of points for bezier interpolation.\n\tconst nPoints = 20\n\toutPts := make([]vg.Point, nPoints)\n\tcurve.Curve(outPts)\n\treturn outPts\n}\n\n// DataRange implements the plot.DataRanger interface.\nfunc (s *Sankey) DataRange() (xmin, xmax, ymin, ymax float64) {\n\tcatMin := math.Inf(1)\n\tcatMax := math.Inf(-1)\n\tfor cat := range s.stocks {\n\t\tc := float64(cat)\n\t\tcatMin = math.Min(catMin, c)\n\t\tcatMax = math.Max(catMax, c)\n\t}\n\n\tstocks := s.stockList()\n\tvalMin := math.Inf(1)\n\tvalMax := math.Inf(-1)\n\tfor _, stk := range stocks {\n\t\tvalMin = math.Min(valMin, stk.min)\n\t\tvalMax = math.Max(valMax, stk.max)\n\t}\n\treturn catMin, catMax, valMin, valMax\n}\n\n// GlyphBoxes implements the GlyphBoxer interface.\nfunc (s *Sankey) GlyphBoxes(plt *plot.Plot) []plot.GlyphBox {\n\tstocks := s.stockList()\n\tboxes := make([]plot.GlyphBox, 0, len(s.flows)+len(stocks))\n\n\tfor _, stk := range stocks {\n\t\tb1 := plot.GlyphBox{\n\t\t\tX: plt.X.Norm(float64(stk.category)),\n\t\t\tY: plt.Y.Norm((stk.min + stk.max) / 2),\n\t\t\tRectangle: vg.Rectangle{\n\t\t\t\tMin: vg.Point{X: -s.StockBarWidth / 2},\n\t\t\t\tMax: vg.Point{X: s.StockBarWidth / 2},\n\t\t\t},\n\t\t}\n\t\tlabel, textStyle, xOff, yOff, _, _ := s.StockStyle(stk.label, stk.category)\n\t\trect := textStyle.Rectangle(label)\n\t\trect.Min.X += xOff\n\t\trect.Max.X += xOff\n\t\trect.Min.Y += yOff\n\t\trect.Max.Y += yOff\n\t\tb2 := plot.GlyphBox{\n\t\t\tX:         plt.X.Norm(float64(stk.category)),\n\t\t\tY:         plt.Y.Norm((stk.min + stk.max) / 2),\n\t\t\tRectangle: rect,\n\t\t}\n\t\tboxes = append(boxes, b1, b2)\n\t}\n\treturn boxes\n}\n\n// Thumbnailers creates a group of objects that can be used to\n// add legend entries for the different flow groups in this\n// diagram, as well as the flow group labels that correspond to them.\nfunc (s *Sankey) Thumbnailers() (legendLabels []string, thumbnailers []plot.Thumbnailer) {\n\ttype empty struct{}\n\tflowGroups := make(map[string]empty)\n\tfor _, f := range s.flows {\n\t\tflowGroups[f.Group] = empty{}\n\t}\n\tlegendLabels = make([]string, len(flowGroups))\n\tthumbnailers = make([]plot.Thumbnailer, len(flowGroups))\n\ti := 0\n\tfor g := range flowGroups {\n\t\tlegendLabels[i] = g\n\t\ti++\n\t}\n\tsort.Strings(legendLabels)\n\n\tfor i, g := range legendLabels {\n\t\tvar thmb sankeyFlowThumbnailer\n\t\tthmb.Color, thmb.LineStyle = s.FlowStyle(g)\n\t\tthumbnailers[i] = plot.Thumbnailer(thmb)\n\t}\n\treturn\n}\n\n// sankeyFlowThumbnailer implements the Thumbnailer interface\n// for Sankey flow groups.\ntype sankeyFlowThumbnailer struct {\n\tdraw.LineStyle\n\tcolor.Color\n}\n\n// Thumbnail fulfills the plot.Thumbnailer interface.\nfunc (t sankeyFlowThumbnailer) Thumbnail(c *draw.Canvas) {\n\t// Here we draw the fill.\n\tpts := []vg.Point{\n\t\t{c.Min.X, c.Min.Y},\n\t\t{c.Min.X, c.Max.Y},\n\t\t{c.Max.X, c.Max.Y},\n\t\t{c.Max.X, c.Min.Y},\n\t}\n\tpoly := c.ClipPolygonY(pts)\n\tc.FillPolygon(t.Color, poly)\n\n\t// Here we draw the upper border.\n\tpts = []vg.Point{\n\t\t{c.Min.X, c.Max.Y},\n\t\t{c.Max.X, c.Max.Y},\n\t}\n\toutline := c.ClipLinesY(pts)\n\tc.StrokeLines(t.LineStyle, outline...)\n\n\t// Here we draw the lower border.\n\tpts = []vg.Point{\n\t\t{c.Min.X, c.Min.Y},\n\t\t{c.Max.X, c.Min.Y},\n\t}\n\toutline = c.ClipLinesY(pts)\n\tc.StrokeLines(t.LineStyle, outline...)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/scatter.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotter\n\nimport (\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// Scatter implements the Plotter interface, drawing\n// a glyph for each of a set of points.\ntype Scatter struct {\n\t// XYs is a copy of the points for this scatter.\n\tXYs\n\n\t// GlyphStyleFunc, if not nil, specifies GlyphStyles\n\t// for individual points\n\tGlyphStyleFunc func(int) draw.GlyphStyle\n\n\t// GlyphStyle is the style of the glyphs drawn\n\t// at each point.\n\tdraw.GlyphStyle\n}\n\n// NewScatter returns a Scatter that uses the\n// default glyph style.\nfunc NewScatter(xys XYer) (*Scatter, error) {\n\tdata, err := CopyXYs(xys)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &Scatter{\n\t\tXYs:        data,\n\t\tGlyphStyle: DefaultGlyphStyle,\n\t}, err\n}\n\n// Plot draws the Scatter, implementing the plot.Plotter\n// interface.\nfunc (pts *Scatter) Plot(c draw.Canvas, plt *plot.Plot) {\n\ttrX, trY := plt.Transforms(&c)\n\tglyph := func(i int) draw.GlyphStyle { return pts.GlyphStyle }\n\tif pts.GlyphStyleFunc != nil {\n\t\tglyph = pts.GlyphStyleFunc\n\t}\n\tfor i, p := range pts.XYs {\n\t\tc.DrawGlyph(glyph(i), vg.Point{X: trX(p.X), Y: trY(p.Y)})\n\t}\n}\n\n// DataRange returns the minimum and maximum\n// x and y values, implementing the plot.DataRanger\n// interface.\nfunc (pts *Scatter) DataRange() (xmin, xmax, ymin, ymax float64) {\n\treturn XYRange(pts)\n}\n\n// GlyphBoxes returns a slice of plot.GlyphBoxes,\n// implementing the plot.GlyphBoxer interface.\nfunc (pts *Scatter) GlyphBoxes(plt *plot.Plot) []plot.GlyphBox {\n\tglyph := func(i int) draw.GlyphStyle { return pts.GlyphStyle }\n\tif pts.GlyphStyleFunc != nil {\n\t\tglyph = pts.GlyphStyleFunc\n\t}\n\tbs := make([]plot.GlyphBox, len(pts.XYs))\n\tfor i, p := range pts.XYs {\n\t\tbs[i].X = plt.X.Norm(p.X)\n\t\tbs[i].Y = plt.Y.Norm(p.Y)\n\t\tr := glyph(i).Radius\n\t\tbs[i].Rectangle = vg.Rectangle{\n\t\t\tMin: vg.Point{X: -r, Y: -r},\n\t\t\tMax: vg.Point{X: +r, Y: +r},\n\t\t}\n\t}\n\treturn bs\n}\n\n// Thumbnail the thumbnail for the Scatter,\n// implementing the plot.Thumbnailer interface.\nfunc (pts *Scatter) Thumbnail(c *draw.Canvas) {\n\tc.DrawGlyph(pts.GlyphStyle, c.Center())\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotter/volcano_example.go",
    "content": "// Generated code do not edit. Run `go generate volcano_example.go`.\n\n// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//go:generate ./volcano\n\n//+build ignore\n\npackage main\n\nimport (\n\t\"image/color\"\n\n\t\"gonum.org/v1/gonum/mat\"\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/palette\"\n\t\"gonum.org/v1/plot/plotter\"\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\ntype deciGrid struct{ mat.Matrix }\n\nfunc (g deciGrid) Dims() (c, r int)   { r, c = g.Matrix.Dims(); return c, r }\nfunc (g deciGrid) Z(c, r int) float64 { return g.Matrix.At(r, c) }\nfunc (g deciGrid) X(c int) float64 {\n\t_, n := g.Matrix.Dims()\n\tif c < 0 || c >= n {\n\t\tpanic(\"index out of range\")\n\t}\n\treturn 10 * float64(c)\n}\nfunc (g deciGrid) Y(r int) float64 {\n\tm, _ := g.Matrix.Dims()\n\tif r < 0 || r >= m {\n\t\tpanic(\"index out of range\")\n\t}\n\treturn 10 * float64(r)\n}\n\nfunc main() {\n\tvar levels []float64\n\tfor l := 100.5; l < volcano.Matrix.(*mat.Dense).Max(); l += 5 {\n\t\tlevels = append(levels, l)\n\t}\n\tc := plotter.NewContour(volcano, levels, palette.Rainbow(len(levels), (palette.Yellow+palette.Red)/2, palette.Blue, 1, 1, 1))\n\tquarterStyle := draw.LineStyle{\n\t\tColor:  color.Black,\n\t\tWidth:  vg.Points(0.5),\n\t\tDashes: []vg.Length{0.2, 0.4},\n\t}\n\thalfStyle := draw.LineStyle{\n\t\tColor:  color.Black,\n\t\tWidth:  vg.Points(0.5),\n\t\tDashes: []vg.Length{5, 2, 1, 2},\n\t}\n\tc.LineStyles = append(c.LineStyles, quarterStyle, halfStyle, quarterStyle)\n\n\th := plotter.NewHeatMap(volcano, palette.Heat(len(levels)*2, 1))\n\n\tp, err := plot.New()\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tp.Title.Text = \"Maunga Whau Volcano\"\n\n\tp.Add(h)\n\tp.Add(c)\n\n\tp.X.Padding = 0\n\tp.Y.Padding = 0\n\t_, p.X.Max, _, p.Y.Max = h.DataRange()\n\n\tname := \"example_volcano\"\n\n\tfor _, ext := range []string{\n\t\t\".eps\",\n\t\t\".pdf\",\n\t\t\".svg\",\n\t\t\".png\",\n\t\t\".tiff\",\n\t\t\".jpg\",\n\t} {\n\t\tif err := p.Save(4, 4, name+ext); err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t}\n}\n\n// Data extracted from RDatasets volcano data for the Maunga Whau volcano topographic data.\nvar volcano = deciGrid{mat.NewDense(87, 61, []float64{\n\t100, 100, 101, 101, 101, 101, 101, 100, 100, 100, 101, 101, 102, 102, 102, 102, 103, 104, 103, 102, 101, 101, 102, 103, 104, 104, 105, 107, 107, 107, 108, 108, 110, 110, 110, 110, 110, 110, 110, 110, 108, 108, 108, 107, 107, 108, 108, 108, 108, 108, 107, 107, 107, 107, 106, 106, 105, 105, 104, 104, 103,\n\t101, 101, 102, 102, 102, 102, 102, 101, 101, 101, 102, 102, 103, 103, 103, 103, 104, 105, 104, 103, 102, 102, 103, 105, 106, 106, 107, 109, 110, 110, 110, 110, 111, 112, 113, 114, 116, 115, 114, 112, 110, 110, 110, 109, 108, 109, 109, 109, 109, 108, 108, 108, 108, 107, 107, 106, 106, 105, 105, 104, 104,\n\t102, 102, 103, 103, 103, 103, 103, 102, 102, 102, 103, 103, 104, 104, 104, 104, 105, 106, 105, 104, 104, 105, 106, 107, 108, 110, 111, 113, 114, 115, 114, 115, 116, 118, 119, 119, 121, 121, 120, 118, 116, 114, 112, 111, 110, 110, 110, 110, 109, 109, 109, 109, 108, 108, 107, 107, 106, 106, 105, 105, 104,\n\t103, 103, 104, 104, 104, 104, 104, 103, 103, 103, 103, 104, 104, 104, 105, 105, 106, 107, 106, 106, 106, 107, 108, 110, 111, 114, 117, 118, 117, 119, 120, 121, 122, 124, 125, 126, 127, 127, 126, 124, 122, 120, 117, 116, 113, 111, 110, 110, 110, 109, 109, 109, 109, 108, 108, 107, 107, 106, 106, 105, 105,\n\t104, 104, 105, 105, 105, 105, 105, 104, 104, 103, 104, 104, 105, 105, 105, 106, 107, 108, 108, 108, 109, 110, 112, 114, 115, 118, 121, 122, 121, 123, 128, 131, 129, 130, 131, 131, 132, 132, 131, 130, 128, 126, 122, 119, 115, 114, 112, 110, 110, 110, 110, 110, 109, 109, 108, 107, 107, 107, 106, 106, 105,\n\t105, 105, 105, 106, 106, 106, 106, 105, 105, 104, 104, 105, 105, 106, 106, 107, 109, 110, 110, 112, 113, 115, 116, 118, 119, 121, 124, 126, 126, 129, 134, 137, 137, 136, 136, 135, 136, 136, 136, 135, 133, 129, 126, 122, 118, 116, 115, 113, 111, 110, 110, 110, 110, 109, 108, 108, 108, 107, 107, 106, 106,\n\t105, 106, 106, 107, 107, 107, 107, 106, 106, 105, 105, 106, 106, 107, 108, 109, 111, 113, 114, 116, 118, 120, 121, 122, 123, 125, 127, 129, 130, 135, 140, 142, 142, 142, 141, 140, 140, 140, 140, 139, 137, 134, 129, 125, 121, 118, 116, 114, 112, 110, 110, 110, 111, 110, 109, 109, 108, 108, 107, 107, 106,\n\t106, 107, 107, 108, 108, 108, 108, 107, 107, 106, 106, 107, 108, 108, 110, 113, 115, 117, 118, 120, 122, 124, 125, 127, 128, 129, 131, 134, 135, 141, 146, 147, 146, 146, 145, 144, 144, 144, 143, 142, 141, 139, 135, 130, 126, 122, 118, 116, 114, 112, 112, 113, 112, 110, 110, 109, 109, 108, 108, 107, 106,\n\t107, 108, 108, 109, 109, 109, 109, 108, 108, 107, 108, 108, 110, 111, 113, 116, 118, 120, 123, 125, 127, 129, 130, 132, 134, 135, 137, 139, 142, 146, 152, 152, 151, 151, 150, 149, 148, 148, 146, 145, 143, 142, 139, 135, 131, 127, 122, 119, 117, 115, 115, 115, 114, 112, 110, 110, 109, 109, 108, 107, 107,\n\t108, 109, 109, 110, 110, 110, 110, 109, 109, 108, 110, 110, 113, 116, 118, 120, 122, 125, 127, 129, 133, 136, 138, 140, 141, 142, 148, 150, 151, 156, 158, 159, 158, 157, 158, 158, 154, 151, 149, 148, 146, 144, 141, 137, 134, 130, 125, 122, 120, 118, 117, 117, 115, 113, 111, 110, 110, 109, 108, 107, 107,\n\t109, 110, 110, 111, 111, 111, 111, 110, 110, 110, 112, 114, 118, 121, 123, 125, 127, 129, 133, 137, 141, 143, 145, 146, 148, 150, 154, 156, 159, 161, 162, 163, 164, 163, 164, 164, 160, 157, 154, 151, 149, 146, 144, 140, 137, 133, 129, 126, 124, 121, 119, 118, 116, 114, 112, 111, 110, 109, 108, 107, 106,\n\t110, 110, 111, 113, 112, 111, 113, 112, 112, 114, 116, 119, 121, 124, 127, 129, 133, 138, 143, 146, 149, 149, 151, 153, 154, 157, 159, 160, 163, 165, 166, 167, 168, 168, 168, 168, 166, 162, 159, 157, 154, 152, 149, 144, 140, 136, 133, 131, 128, 125, 122, 119, 117, 115, 113, 111, 110, 109, 108, 107, 106,\n\t110, 111, 113, 115, 114, 113, 114, 114, 115, 117, 119, 121, 124, 126, 129, 133, 140, 145, 150, 154, 155, 155, 157, 159, 161, 162, 164, 165, 167, 168, 169, 170, 172, 174, 172, 172, 171, 169, 166, 163, 161, 158, 153, 148, 143, 140, 137, 134, 131, 128, 125, 120, 118, 116, 114, 112, 110, 109, 108, 107, 105,\n\t111, 113, 115, 117, 116, 115, 116, 117, 117, 119, 121, 124, 126, 128, 132, 137, 143, 151, 156, 161, 161, 162, 163, 165, 166, 167, 168, 170, 171, 173, 175, 177, 179, 178, 177, 176, 176, 174, 171, 169, 165, 161, 156, 152, 148, 144, 140, 138, 135, 131, 127, 123, 119, 117, 115, 113, 111, 110, 108, 106, 105,\n\t114, 115, 117, 117, 117, 118, 119, 119, 120, 121, 124, 126, 128, 131, 137, 143, 150, 156, 160, 163, 165, 168, 170, 171, 172, 173, 174, 175, 177, 179, 180, 182, 183, 183, 183, 183, 180, 178, 177, 172, 168, 164, 160, 156, 152, 148, 144, 141, 138, 134, 130, 126, 121, 117, 114, 112, 110, 110, 108, 106, 104,\n\t116, 118, 118, 118, 120, 121, 121, 122, 122, 123, 125, 128, 130, 134, 141, 147, 152, 156, 160, 165, 168, 170, 174, 176, 179, 180, 181, 181, 182, 182, 183, 184, 186, 187, 187, 184, 184, 181, 180, 176, 172, 168, 165, 161, 157, 153, 149, 145, 142, 138, 133, 129, 125, 120, 115, 111, 110, 110, 108, 106, 104,\n\t118, 120, 120, 121, 122, 123, 124, 124, 125, 126, 127, 129, 132, 135, 142, 149, 153, 157, 161, 166, 170, 174, 178, 180, 182, 183, 184, 184, 185, 186, 186, 187, 189, 189, 189, 189, 189, 186, 182, 179, 175, 171, 168, 165, 162, 157, 152, 149, 145, 141, 137, 131, 125, 120, 116, 111, 110, 110, 108, 106, 104,\n\t120, 121, 122, 123, 124, 125, 126, 127, 127, 128, 130, 132, 134, 137, 142, 151, 155, 158, 162, 169, 172, 176, 181, 183, 184, 186, 187, 188, 189, 189, 189, 189, 190, 190, 191, 190, 190, 188, 186, 183, 180, 175, 171, 168, 165, 161, 157, 152, 149, 145, 141, 134, 127, 121, 116, 112, 110, 110, 108, 106, 104,\n\t120, 122, 125, 126, 126, 127, 128, 129, 130, 130, 132, 134, 136, 139, 145, 152, 157, 160, 167, 172, 175, 178, 181, 185, 186, 188, 190, 191, 192, 193, 193, 192, 192, 191, 192, 191, 191, 190, 190, 187, 184, 181, 177, 172, 169, 165, 161, 156, 152, 147, 143, 139, 131, 123, 119, 115, 111, 110, 108, 106, 105,\n\t121, 124, 126, 128, 129, 129, 130, 131, 132, 133, 135, 137, 139, 143, 150, 154, 159, 164, 170, 173, 176, 179, 184, 186, 189, 190, 191, 192, 193, 194, 195, 194, 193, 192, 191, 191, 191, 191, 190, 190, 188, 184, 181, 177, 173, 169, 165, 160, 155, 149, 145, 142, 136, 129, 123, 118, 114, 110, 108, 108, 107,\n\t122, 125, 127, 130, 130, 131, 133, 134, 135, 136, 137, 140, 143, 147, 154, 158, 162, 166, 171, 174, 177, 181, 186, 189, 190, 190, 191, 192, 191, 191, 190, 189, 188, 189, 190, 190, 191, 190, 190, 190, 189, 186, 184, 181, 177, 173, 169, 164, 158, 152, 148, 144, 140, 134, 125, 118, 115, 111, 110, 108, 107,\n\t122, 125, 128, 130, 132, 133, 135, 136, 137, 139, 140, 143, 147, 152, 157, 161, 164, 168, 172, 175, 179, 182, 186, 190, 190, 190, 190, 189, 187, 184, 184, 183, 182, 182, 183, 183, 183, 184, 185, 186, 187, 186, 185, 184, 181, 177, 173, 169, 163, 157, 149, 145, 141, 136, 130, 119, 116, 112, 110, 108, 106,\n\t123, 126, 129, 131, 133, 135, 137, 138, 139, 141, 143, 147, 150, 156, 161, 164, 167, 170, 173, 177, 181, 184, 187, 188, 190, 189, 187, 185, 183, 179, 176, 174, 174, 174, 174, 174, 176, 177, 179, 180, 182, 183, 182, 181, 181, 180, 176, 171, 166, 160, 152, 147, 142, 138, 133, 126, 121, 115, 110, 106, 105,\n\t124, 127, 130, 132, 135, 137, 138, 140, 142, 144, 147, 149, 154, 157, 161, 165, 168, 171, 175, 178, 181, 184, 186, 187, 187, 184, 184, 181, 179, 175, 171, 169, 168, 168, 168, 169, 170, 172, 174, 177, 178, 179, 180, 181, 181, 180, 179, 174, 167, 161, 155, 148, 144, 139, 134, 128, 121, 115, 110, 106, 105,\n\t123, 128, 131, 133, 136, 138, 140, 142, 144, 146, 149, 151, 154, 157, 160, 164, 168, 172, 175, 178, 181, 183, 184, 184, 185, 183, 180, 177, 174, 170, 167, 165, 164, 164, 164, 165, 166, 168, 171, 175, 176, 178, 180, 181, 180, 180, 179, 177, 170, 163, 157, 150, 144, 139, 134, 128, 121, 115, 110, 108, 107,\n\t123, 127, 131, 134, 136, 138, 140, 142, 144, 147, 149, 151, 154, 157, 160, 164, 168, 171, 174, 178, 180, 181, 181, 182, 183, 181, 178, 173, 169, 166, 163, 161, 161, 160, 160, 161, 163, 165, 168, 173, 176, 178, 179, 180, 181, 180, 180, 175, 173, 166, 159, 152, 145, 139, 134, 127, 121, 115, 110, 109, 108,\n\t120, 124, 128, 131, 134, 137, 139, 142, 144, 146, 149, 151, 153, 156, 160, 163, 167, 171, 174, 178, 180, 180, 180, 180, 180, 180, 175, 171, 167, 162, 160, 158, 157, 157, 157, 158, 159, 162, 166, 170, 175, 177, 178, 180, 181, 181, 180, 178, 175, 169, 160, 154, 148, 140, 134, 128, 121, 115, 110, 110, 109,\n\t118, 121, 125, 129, 132, 134, 137, 140, 142, 145, 147, 149, 151, 155, 159, 163, 166, 169, 173, 177, 179, 180, 180, 180, 180, 179, 174, 169, 166, 161, 158, 156, 154, 153, 153, 154, 156, 159, 163, 169, 173, 175, 178, 180, 181, 180, 180, 179, 175, 170, 160, 154, 149, 142, 135, 128, 122, 116, 111, 110, 110,\n\t117, 120, 121, 125, 129, 132, 135, 138, 140, 143, 145, 147, 149, 153, 157, 160, 163, 166, 171, 174, 177, 179, 180, 180, 180, 179, 172, 168, 164, 160, 157, 154, 151, 149, 150, 150, 154, 158, 164, 169, 174, 178, 180, 180, 180, 180, 178, 177, 175, 170, 161, 153, 148, 142, 135, 129, 123, 116, 113, 112, 110,\n\t115, 118, 120, 122, 126, 130, 133, 136, 138, 141, 143, 145, 148, 151, 154, 157, 160, 163, 168, 171, 174, 177, 179, 179, 179, 176, 171, 167, 164, 160, 156, 153, 149, 148, 149, 151, 155, 158, 163, 170, 173, 177, 179, 180, 180, 180, 178, 175, 173, 171, 162, 154, 147, 141, 136, 130, 124, 117, 115, 112, 110,\n\t114, 116, 118, 120, 122, 127, 131, 133, 136, 138, 141, 143, 146, 148, 151, 154, 157, 160, 164, 168, 171, 174, 178, 178, 179, 177, 173, 169, 165, 161, 157, 154, 151, 149, 150, 152, 155, 159, 166, 171, 175, 177, 179, 180, 180, 179, 176, 174, 171, 168, 159, 151, 146, 141, 135, 129, 124, 119, 116, 113, 110,\n\t115, 114, 116, 118, 120, 122, 127, 129, 132, 136, 139, 141, 143, 146, 148, 151, 153, 156, 160, 164, 167, 172, 174, 176, 177, 176, 173, 170, 166, 162, 159, 157, 154, 153, 154, 155, 158, 161, 169, 172, 174, 176, 178, 178, 178, 178, 175, 172, 169, 162, 156, 149, 144, 140, 134, 128, 123, 118, 115, 112, 110,\n\t113, 113, 114, 116, 118, 120, 122, 125, 129, 133, 136, 138, 141, 143, 146, 149, 150, 153, 156, 160, 165, 170, 173, 176, 176, 176, 173, 172, 169, 165, 163, 160, 158, 157, 158, 159, 161, 166, 170, 170, 173, 175, 176, 178, 176, 173, 171, 168, 164, 158, 153, 146, 140, 137, 132, 127, 121, 117, 113, 111, 110,\n\t111, 112, 113, 114, 116, 118, 120, 122, 126, 130, 133, 136, 139, 142, 145, 147, 148, 151, 155, 158, 163, 168, 173, 176, 177, 177, 176, 174, 171, 169, 166, 164, 161, 161, 162, 164, 165, 167, 170, 170, 171, 173, 173, 173, 170, 168, 165, 163, 160, 155, 149, 143, 138, 134, 130, 125, 119, 116, 112, 110, 109,\n\t110, 112, 113, 113, 114, 116, 118, 120, 123, 127, 131, 134, 137, 141, 143, 145, 148, 150, 154, 157, 161, 166, 171, 176, 178, 178, 178, 176, 174, 172, 170, 167, 167, 167, 166, 168, 170, 169, 168, 167, 168, 168, 168, 168, 167, 165, 163, 160, 156, 152, 146, 140, 136, 131, 128, 122, 118, 114, 110, 110, 109,\n\t109, 110, 111, 112, 114, 116, 118, 119, 120, 124, 128, 131, 136, 140, 142, 145, 147, 150, 153, 157, 160, 165, 170, 174, 178, 179, 179, 178, 178, 176, 174, 171, 170, 170, 170, 168, 167, 166, 164, 163, 161, 162, 163, 163, 163, 161, 160, 157, 153, 148, 142, 136, 130, 127, 124, 120, 117, 113, 110, 110, 109,\n\t108, 109, 111, 112, 114, 116, 117, 118, 120, 121, 125, 128, 132, 138, 142, 144, 147, 149, 153, 156, 160, 164, 170, 174, 178, 180, 180, 179, 179, 178, 176, 172, 170, 170, 170, 168, 166, 164, 162, 160, 157, 156, 157, 158, 158, 156, 153, 151, 149, 144, 139, 130, 127, 124, 121, 118, 115, 112, 110, 110, 109,\n\t108, 109, 111, 113, 114, 116, 117, 118, 119, 120, 122, 126, 130, 135, 139, 143, 147, 149, 152, 156, 160, 164, 169, 173, 177, 180, 180, 180, 180, 179, 178, 174, 170, 170, 168, 167, 165, 163, 161, 157, 154, 153, 152, 152, 152, 149, 148, 147, 144, 140, 134, 128, 125, 122, 119, 117, 114, 110, 110, 109, 109,\n\t107, 108, 111, 112, 114, 115, 116, 117, 119, 120, 121, 124, 128, 133, 137, 141, 145, 149, 152, 156, 160, 164, 168, 172, 176, 179, 180, 180, 180, 179, 178, 174, 170, 168, 166, 165, 163, 161, 158, 154, 150, 149, 148, 146, 145, 143, 143, 143, 140, 136, 130, 126, 123, 120, 118, 115, 112, 110, 110, 109, 109,\n\t107, 108, 110, 112, 113, 113, 115, 116, 118, 120, 122, 125, 128, 132, 136, 140, 145, 148, 150, 155, 160, 164, 167, 170, 174, 177, 179, 179, 178, 176, 176, 173, 169, 166, 164, 163, 161, 159, 155, 152, 148, 145, 143, 141, 140, 139, 139, 138, 136, 132, 128, 124, 121, 118, 116, 114, 111, 110, 110, 109, 108,\n\t107, 108, 109, 111, 113, 114, 116, 117, 119, 120, 122, 125, 128, 132, 137, 141, 144, 146, 149, 152, 157, 162, 166, 168, 171, 173, 175, 175, 173, 172, 172, 171, 168, 165, 162, 160, 158, 156, 153, 149, 145, 142, 139, 138, 137, 136, 135, 133, 131, 129, 126, 122, 119, 117, 114, 112, 110, 110, 109, 108, 107,\n\t108, 109, 110, 112, 114, 115, 116, 117, 119, 120, 122, 126, 129, 133, 137, 141, 143, 146, 148, 151, 155, 160, 164, 167, 168, 169, 170, 170, 169, 168, 167, 168, 166, 163, 160, 158, 155, 153, 150, 147, 143, 140, 137, 136, 134, 133, 132, 130, 129, 127, 125, 121, 118, 115, 112, 110, 110, 110, 108, 107, 107,\n\t109, 110, 111, 113, 115, 116, 117, 118, 120, 121, 123, 126, 129, 133, 138, 141, 143, 146, 148, 150, 155, 159, 163, 165, 166, 167, 168, 168, 166, 165, 164, 161, 160, 159, 158, 155, 152, 149, 147, 144, 141, 138, 135, 134, 132, 130, 129, 128, 126, 124, 122, 120, 117, 113, 111, 110, 110, 110, 108, 107, 107,\n\t110, 111, 112, 113, 116, 117, 118, 119, 120, 122, 125, 127, 130, 133, 138, 141, 143, 146, 148, 150, 154, 159, 162, 163, 164, 166, 166, 166, 165, 163, 161, 159, 157, 156, 155, 153, 150, 146, 143, 140, 138, 136, 133, 132, 130, 129, 128, 125, 124, 122, 120, 119, 117, 114, 111, 110, 110, 109, 108, 107, 107,\n\t111, 112, 113, 114, 116, 117, 118, 119, 120, 123, 125, 128, 130, 134, 139, 141, 144, 146, 148, 151, 154, 158, 161, 164, 166, 167, 168, 166, 165, 163, 161, 158, 156, 154, 152, 150, 146, 142, 139, 137, 135, 133, 131, 130, 129, 128, 127, 125, 123, 121, 120, 118, 116, 113, 111, 110, 110, 109, 108, 107, 106,\n\t111, 112, 113, 115, 117, 118, 118, 120, 121, 124, 126, 128, 131, 135, 139, 142, 144, 146, 148, 151, 155, 160, 164, 165, 168, 169, 169, 168, 166, 163, 160, 158, 156, 153, 151, 148, 145, 142, 139, 137, 135, 132, 130, 129, 127, 126, 125, 124, 123, 120, 120, 117, 116, 114, 112, 110, 110, 108, 107, 106, 106,\n\t112, 113, 114, 116, 117, 118, 119, 120, 122, 124, 127, 129, 132, 135, 139, 142, 144, 146, 149, 152, 157, 162, 167, 169, 170, 170, 170, 168, 165, 163, 161, 159, 157, 155, 151, 148, 145, 141, 139, 136, 134, 132, 130, 128, 127, 126, 124, 123, 122, 120, 119, 117, 116, 114, 112, 111, 109, 107, 106, 106, 105,\n\t113, 114, 115, 116, 117, 119, 119, 120, 122, 125, 127, 129, 132, 135, 139, 142, 144, 147, 149, 154, 159, 164, 169, 170, 170, 170, 170, 170, 168, 165, 163, 161, 158, 155, 151, 148, 145, 142, 139, 137, 135, 132, 131, 128, 126, 125, 124, 122, 121, 120, 119, 117, 115, 113, 111, 110, 109, 106, 105, 105, 104,\n\t113, 114, 115, 117, 118, 119, 120, 121, 123, 125, 127, 130, 132, 135, 139, 142, 145, 148, 150, 156, 161, 166, 170, 170, 170, 170, 170, 170, 169, 166, 163, 161, 159, 155, 151, 148, 146, 143, 140, 138, 135, 134, 132, 130, 127, 125, 123, 121, 120, 120, 119, 116, 114, 112, 110, 110, 108, 106, 105, 104, 104,\n\t114, 115, 116, 117, 118, 119, 120, 121, 123, 126, 128, 130, 133, 136, 139, 142, 145, 148, 152, 157, 161, 166, 168, 170, 170, 170, 170, 168, 166, 164, 163, 160, 159, 155, 151, 148, 146, 143, 141, 138, 136, 134, 132, 130, 128, 125, 123, 121, 120, 120, 118, 116, 113, 111, 110, 110, 109, 106, 105, 104, 104,\n\t115, 116, 117, 118, 119, 120, 121, 121, 123, 126, 128, 131, 134, 136, 139, 142, 145, 149, 152, 157, 161, 163, 164, 166, 168, 167, 166, 164, 163, 161, 160, 158, 156, 152, 149, 147, 144, 143, 141, 139, 136, 134, 132, 130, 128, 125, 122, 120, 120, 119, 117, 115, 113, 110, 110, 109, 107, 106, 105, 104, 104,\n\t115, 116, 117, 118, 119, 120, 121, 122, 123, 125, 128, 131, 134, 137, 139, 142, 145, 149, 152, 156, 159, 159, 160, 162, 162, 161, 161, 160, 159, 158, 157, 155, 153, 150, 148, 146, 145, 143, 142, 140, 137, 134, 131, 129, 126, 124, 122, 120, 119, 117, 115, 113, 111, 110, 109, 109, 107, 106, 105, 104, 104,\n\t114, 115, 116, 116, 118, 119, 120, 121, 122, 126, 129, 132, 135, 137, 140, 143, 146, 149, 152, 155, 156, 157, 158, 159, 159, 159, 158, 158, 157, 155, 153, 151, 150, 149, 147, 146, 145, 144, 142, 141, 138, 135, 132, 128, 125, 122, 120, 118, 117, 115, 113, 112, 110, 109, 108, 108, 106, 105, 105, 104, 104,\n\t113, 114, 115, 116, 117, 118, 119, 120, 123, 126, 129, 132, 135, 138, 140, 143, 146, 148, 151, 153, 154, 156, 157, 157, 157, 157, 156, 155, 154, 152, 150, 149, 148, 147, 146, 145, 144, 142, 141, 140, 139, 136, 132, 129, 125, 121, 118, 116, 115, 113, 111, 110, 109, 108, 108, 107, 106, 105, 104, 104, 104,\n\t112, 113, 114, 115, 116, 117, 119, 120, 122, 126, 130, 133, 136, 138, 141, 143, 146, 148, 150, 152, 154, 155, 155, 155, 155, 155, 154, 152, 152, 150, 148, 147, 146, 145, 145, 143, 142, 141, 140, 140, 140, 137, 133, 129, 125, 120, 117, 115, 111, 110, 110, 109, 108, 107, 107, 106, 105, 105, 104, 104, 103,\n\t111, 112, 114, 115, 116, 117, 118, 120, 122, 125, 131, 134, 137, 139, 142, 144, 146, 148, 150, 152, 153, 153, 153, 153, 153, 153, 153, 151, 149, 147, 146, 144, 144, 143, 143, 142, 141, 140, 140, 140, 140, 138, 134, 130, 123, 120, 118, 111, 110, 110, 110, 108, 107, 106, 108, 105, 105, 104, 104, 103, 103,\n\t111, 112, 113, 115, 115, 116, 117, 119, 121, 126, 131, 135, 138, 140, 142, 144, 146, 148, 150, 151, 151, 151, 151, 151, 151, 151, 151, 150, 148, 146, 144, 142, 141, 141, 142, 141, 140, 140, 140, 140, 140, 140, 136, 132, 126, 120, 115, 110, 110, 110, 109, 107, 106, 105, 107, 105, 104, 104, 104, 103, 103,\n\t112, 113, 113, 114, 115, 116, 117, 119, 122, 127, 132, 135, 139, 141, 143, 145, 147, 149, 150, 150, 150, 150, 150, 150, 150, 150, 150, 149, 147, 144, 142, 141, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 137, 133, 128, 120, 117, 110, 110, 110, 108, 106, 105, 105, 106, 105, 104, 104, 103, 103, 103,\n\t112, 113, 114, 114, 116, 117, 118, 120, 122, 128, 132, 136, 139, 141, 144, 146, 147, 149, 150, 150, 150, 150, 150, 150, 150, 150, 150, 149, 146, 143, 141, 140, 140, 139, 139, 139, 140, 140, 140, 140, 140, 140, 137, 133, 129, 121, 118, 110, 110, 109, 107, 106, 105, 105, 105, 104, 104, 103, 103, 103, 102,\n\t112, 114, 114, 115, 116, 117, 119, 120, 122, 128, 133, 136, 140, 142, 144, 146, 148, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 148, 145, 142, 140, 138, 138, 138, 137, 138, 140, 140, 140, 140, 140, 140, 137, 134, 130, 122, 118, 110, 110, 108, 106, 105, 103, 104, 104, 104, 104, 103, 103, 102, 102,\n\t113, 114, 115, 116, 116, 117, 118, 120, 123, 129, 133, 137, 140, 142, 144, 146, 149, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 147, 143, 141, 139, 137, 136, 136, 135, 136, 138, 140, 140, 140, 140, 139, 136, 134, 130, 123, 119, 113, 109, 108, 106, 104, 103, 104, 104, 104, 103, 103, 102, 102, 101,\n\t114, 115, 115, 116, 117, 118, 118, 120, 123, 129, 133, 137, 140, 143, 145, 147, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 148, 145, 142, 139, 138, 136, 135, 134, 134, 134, 136, 138, 137, 138, 139, 137, 134, 132, 125, 122, 117, 114, 109, 107, 105, 103, 102, 104, 104, 103, 103, 102, 102, 101, 101,\n\t114, 115, 116, 117, 117, 119, 118, 120, 123, 128, 132, 136, 139, 142, 145, 148, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 147, 144, 141, 139, 136, 135, 134, 133, 132, 132, 134, 134, 134, 134, 135, 133, 131, 128, 124, 120, 116, 113, 110, 107, 104, 102, 102, 103, 103, 103, 102, 102, 102, 101, 100,\n\t115, 116, 116, 117, 118, 119, 119, 120, 124, 128, 132, 136, 139, 142, 145, 148, 150, 150, 150, 150, 150, 150, 150, 150, 150, 149, 146, 143, 140, 138, 135, 134, 133, 131, 131, 131, 131, 131, 131, 131, 130, 127, 124, 122, 119, 117, 115, 112, 109, 106, 104, 101, 102, 103, 103, 102, 102, 102, 101, 100, 100,\n\t115, 116, 117, 118, 118, 119, 120, 123, 125, 128, 131, 135, 138, 141, 145, 148, 150, 150, 150, 150, 150, 150, 150, 150, 150, 147, 145, 142, 139, 137, 134, 132, 131, 130, 129, 128, 128, 128, 128, 128, 126, 123, 121, 119, 116, 114, 112, 110, 108, 105, 103, 101, 103, 103, 103, 102, 102, 101, 100, 100, 100,\n\t116, 117, 118, 118, 119, 120, 122, 123, 125, 128, 131, 134, 137, 141, 145, 148, 149, 150, 150, 150, 150, 150, 150, 150, 148, 145, 143, 141, 138, 135, 133, 130, 129, 128, 127, 126, 125, 125, 125, 124, 123, 120, 118, 116, 114, 111, 109, 107, 106, 104, 102, 100, 101, 101, 102, 102, 101, 100, 100, 100, 100,\n\t116, 117, 118, 119, 120, 121, 123, 124, 126, 128, 130, 133, 137, 140, 144, 145, 147, 148, 149, 150, 149, 149, 147, 146, 144, 141, 139, 136, 133, 131, 129, 128, 127, 126, 125, 124, 123, 123, 122, 121, 120, 118, 116, 114, 112, 108, 107, 105, 103, 102, 100, 100, 100, 100, 101, 101, 100, 100, 100, 100, 100,\n\t117, 118, 119, 119, 120, 121, 123, 124, 126, 128, 129, 131, 135, 139, 142, 143, 145, 146, 147, 147, 147, 146, 144, 142, 140, 138, 135, 133, 130, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 115, 114, 112, 110, 106, 105, 102, 101, 100, 100, 100, 100, 100, 100, 100, 100, 99, 99, 99, 99,\n\t117, 118, 119, 120, 120, 121, 123, 124, 125, 126, 128, 129, 132, 137, 140, 142, 143, 143, 144, 144, 144, 143, 141, 139, 137, 135, 133, 130, 128, 127, 126, 125, 123, 122, 121, 120, 119, 117, 116, 115, 114, 112, 111, 108, 107, 105, 100, 100, 100, 100, 100, 100, 100, 99, 99, 99, 99, 99, 99, 99, 98,\n\t116, 117, 118, 120, 120, 121, 122, 123, 124, 125, 126, 128, 130, 134, 139, 140, 141, 141, 141, 141, 141, 140, 138, 136, 134, 133, 131, 129, 127, 125, 124, 123, 122, 120, 119, 118, 117, 116, 114, 112, 111, 108, 109, 106, 106, 100, 100, 100, 100, 100, 99, 99, 99, 99, 99, 99, 99, 98, 98, 98, 97,\n\t114, 115, 116, 117, 119, 119, 120, 121, 122, 123, 125, 127, 129, 133, 136, 134, 134, 136, 138, 138, 137, 137, 135, 133, 132, 130, 129, 127, 125, 124, 122, 121, 120, 119, 117, 116, 115, 114, 112, 110, 109, 108, 107, 105, 105, 100, 100, 100, 100, 99, 99, 99, 98, 98, 98, 98, 98, 97, 97, 97, 97,\n\t112, 113, 114, 115, 116, 116, 117, 119, 120, 122, 124, 126, 127, 129, 129, 128, 127, 129, 132, 133, 133, 133, 133, 131, 129, 127, 126, 125, 124, 122, 121, 119, 118, 117, 116, 114, 113, 112, 110, 109, 108, 106, 106, 105, 100, 100, 100, 98, 98, 98, 98, 98, 98, 97, 97, 97, 97, 97, 97, 97, 96,\n\t109, 111, 112, 112, 113, 113, 113, 114, 116, 119, 121, 123, 124, 125, 124, 123, 123, 123, 125, 127, 129, 129, 128, 128, 127, 125, 124, 123, 122, 121, 119, 118, 117, 116, 114, 113, 112, 110, 109, 108, 107, 106, 105, 100, 100, 100, 97, 97, 97, 97, 97, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96,\n\t106, 107, 108, 108, 109, 110, 110, 112, 113, 114, 117, 119, 120, 121, 119, 117, 117, 117, 118, 120, 123, 124, 125, 125, 125, 123, 121, 120, 120, 119, 118, 117, 116, 115, 114, 113, 111, 109, 109, 107, 106, 105, 100, 100, 100, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,\n\t104, 105, 105, 106, 106, 107, 108, 108, 109, 109, 111, 115, 116, 114, 113, 112, 111, 110, 111, 113, 116, 119, 122, 122, 122, 121, 120, 119, 118, 118, 117, 116, 115, 114, 113, 112, 111, 108, 108, 106, 105, 100, 100, 100, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,\n\t102, 103, 103, 104, 104, 105, 106, 106, 107, 108, 109, 111, 112, 110, 109, 108, 108, 108, 108, 109, 110, 112, 116, 117, 117, 118, 118, 118, 117, 116, 116, 115, 114, 113, 112, 111, 110, 107, 107, 105, 100, 100, 100, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,\n\t101, 102, 103, 103, 104, 105, 105, 106, 106, 107, 108, 109, 109, 107, 106, 106, 105, 105, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 115, 115, 114, 113, 112, 111, 110, 108, 108, 106, 105, 100, 100, 100, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,\n\t100, 101, 102, 102, 103, 103, 104, 104, 105, 106, 106, 107, 106, 106, 106, 105, 105, 104, 103, 103, 104, 105, 107, 108, 110, 111, 111, 112, 112, 113, 113, 112, 111, 110, 108, 107, 106, 105, 100, 100, 100, 98, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,\n\t100, 101, 101, 102, 102, 103, 103, 104, 104, 105, 105, 105, 105, 106, 105, 105, 104, 103, 102, 101, 102, 103, 104, 106, 107, 110, 111, 111, 111, 112, 112, 112, 110, 107, 107, 106, 105, 102, 100, 100, 99, 98, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 95,\n\t99, 100, 101, 102, 102, 103, 103, 103, 104, 104, 104, 104, 103, 104, 104, 104, 104, 102, 101, 101, 102, 103, 104, 105, 107, 110, 111, 111, 111, 111, 111, 111, 108, 106, 105, 105, 102, 101, 100, 99, 99, 98, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 95, 95,\n\t99, 100, 100, 101, 101, 102, 102, 102, 103, 103, 103, 103, 102, 103, 103, 104, 103, 102, 101, 101, 101, 102, 103, 104, 106, 109, 110, 111, 111, 111, 110, 110, 107, 105, 103, 104, 100, 100, 99, 99, 98, 98, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95,\n\t99, 100, 100, 100, 101, 101, 101, 102, 102, 103, 102, 102, 101, 102, 102, 103, 103, 101, 101, 100, 101, 101, 102, 103, 105, 109, 110, 110, 111, 110, 110, 109, 106, 105, 100, 102, 100, 99, 99, 99, 98, 98, 97, 97, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 94,\n\t99, 99, 99, 99, 100, 100, 101, 101, 102, 102, 101, 101, 101, 101, 101, 102, 102, 101, 100, 100, 101, 101, 101, 103, 104, 107, 109, 109, 110, 110, 109, 108, 105, 102, 100, 100, 99, 99, 99, 98, 98, 98, 97, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 94, 94, 94, 94, 94, 94,\n\t98, 99, 99, 99, 99, 100, 100, 101, 101, 102, 101, 100, 100, 100, 101, 101, 101, 100, 100, 100, 100, 101, 101, 101, 103, 106, 107, 109, 109, 109, 109, 107, 104, 101, 100, 99, 99, 99, 98, 98, 98, 97, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94,\n\t98, 98, 98, 99, 99, 99, 100, 100, 101, 101, 100, 100, 99, 99, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 102, 105, 106, 109, 108, 109, 107, 105, 102, 100, 100, 99, 99, 98, 98, 98, 97, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,\n\t97, 98, 98, 98, 99, 99, 99, 100, 100, 100, 100, 100, 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 103, 104, 105, 106, 105, 104, 101, 100, 100, 99, 99, 98, 98, 97, 97, 97, 96, 96, 96, 95, 95, 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,\n\t97, 97, 97, 98, 98, 99, 99, 99, 100, 100, 100, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, 101, 101, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 99, 99, 98, 97, 97, 97, 96, 96, 96, 95, 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,\n})}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotutil/add.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotutil\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/plotter\"\n\t\"gonum.org/v1/plot/vg\"\n)\n\ntype combineXYs struct{ xs, ys plotter.Valuer }\n\nfunc (c combineXYs) Len() int                    { return c.xs.Len() }\nfunc (c combineXYs) XY(i int) (float64, float64) { return c.xs.Value(i), c.ys.Value(i) }\n\ntype item struct {\n\tname  string\n\tvalue plot.Thumbnailer\n}\n\n// AddStackedAreaPlots adds stacked area plot plotters to a plot.\n// The variadic arguments must be either strings\n// or plotter.Valuers.  Each valuer adds a stacked area\n// plot to the plot below the stacked area plots added\n// before it.  If a plotter.Valuer is immediately\n// preceeded by a string then the string value is used to\n// label the legend.\n// Plots should be added in order of tallest to shortest,\n// because they will be drawn in the order they are added\n// (i.e. later plots will be painted over earlier plots).\n//\n// If an error occurs then none of the plotters are added\n// to the plot, and the error is returned.\nfunc AddStackedAreaPlots(plt *plot.Plot, xs plotter.Valuer, vs ...interface{}) error {\n\tvar ps []plot.Plotter\n\tvar names []item\n\tname := \"\"\n\tvar i int\n\n\tfor _, v := range vs {\n\t\tswitch t := v.(type) {\n\t\tcase string:\n\t\t\tname = t\n\n\t\tcase plotter.Valuer:\n\t\t\tif xs.Len() != t.Len() {\n\t\t\t\treturn errors.New(\"X/Y length mismatch\")\n\t\t\t}\n\n\t\t\t// Make a line plotter and set its style.\n\t\t\tl, err := plotter.NewLine(combineXYs{xs: xs, ys: t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\tl.LineStyle.Width = vg.Points(0)\n\t\t\tcolor := Color(i)\n\t\t\ti++\n\t\t\tl.ShadeColor = &color\n\n\t\t\tps = append(ps, l)\n\n\t\t\tif name != \"\" {\n\t\t\t\tnames = append(names, item{name: name, value: l})\n\t\t\t\tname = \"\"\n\t\t\t}\n\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"AddStackedAreaPlots handles strings and plotter.Valuers, got %T\", t))\n\t\t}\n\t}\n\n\tplt.Add(ps...)\n\tfor _, v := range names {\n\t\tplt.Legend.Add(v.name, v.value)\n\t}\n\n\treturn nil\n}\n\n// AddBoxPlots adds box plot plotters to a plot and\n// sets the X axis of the plot to be nominal.\n// The variadic arguments must be either strings\n// or plotter.Valuers.  Each valuer adds a box plot\n// to the plot at the X location corresponding to\n// the number of box plots added before it.  If a\n// plotter.Valuer is immediately preceeded by a\n// string then the string value is used to label the\n// tick mark for the box plot's X location.\n//\n// If an error occurs then none of the plotters are added\n// to the plot, and the error is returned.\nfunc AddBoxPlots(plt *plot.Plot, width vg.Length, vs ...interface{}) error {\n\tvar ps []plot.Plotter\n\tvar names []string\n\tname := \"\"\n\tfor _, v := range vs {\n\t\tswitch t := v.(type) {\n\t\tcase string:\n\t\t\tname = t\n\n\t\tcase plotter.Valuer:\n\t\t\tb, err := plotter.NewBoxPlot(width, float64(len(names)), t)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tps = append(ps, b)\n\t\t\tnames = append(names, name)\n\t\t\tname = \"\"\n\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"AddBoxPlots handles strings and plotter.Valuers, got %T\", t))\n\t\t}\n\t}\n\tplt.Add(ps...)\n\tplt.NominalX(names...)\n\treturn nil\n}\n\n// AddScatters adds Scatter plotters to a plot.\n// The variadic arguments must be either strings\n// or plotter.XYers.  Each plotter.XYer is added to\n// the plot using the next color, and glyph shape\n// via the Color and Shape functions. If a\n// plotter.XYer is immediately preceeded by\n// a string then a legend entry is added to the plot\n// using the string as the name.\n//\n// If an error occurs then none of the plotters are added\n// to the plot, and the error is returned.\nfunc AddScatters(plt *plot.Plot, vs ...interface{}) error {\n\tvar ps []plot.Plotter\n\tvar items []item\n\tname := \"\"\n\tvar i int\n\tfor _, v := range vs {\n\t\tswitch t := v.(type) {\n\t\tcase string:\n\t\t\tname = t\n\n\t\tcase plotter.XYer:\n\t\t\ts, err := plotter.NewScatter(t)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\ts.Color = Color(i)\n\t\t\ts.Shape = Shape(i)\n\t\t\ti++\n\t\t\tps = append(ps, s)\n\t\t\tif name != \"\" {\n\t\t\t\titems = append(items, item{name: name, value: s})\n\t\t\t\tname = \"\"\n\t\t\t}\n\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"AddScatters handles strings and plotter.XYers, got %T\", t))\n\t\t}\n\t}\n\tplt.Add(ps...)\n\tfor _, v := range items {\n\t\tplt.Legend.Add(v.name, v.value)\n\t}\n\treturn nil\n}\n\n// AddLines adds Line plotters to a plot.\n// The variadic arguments must be either strings\n// or plotter.XYers.  Each plotter.XYer is added to\n// the plot using the next color and dashes\n// shape via the Color and Dashes functions.\n// If a plotter.XYer is immediately preceeded by\n// a string then a legend entry is added to the plot\n// using the string as the name.\n//\n// If an error occurs then none of the plotters are added\n// to the plot, and the error is returned.\nfunc AddLines(plt *plot.Plot, vs ...interface{}) error {\n\tvar ps []plot.Plotter\n\tvar items []item\n\tname := \"\"\n\tvar i int\n\tfor _, v := range vs {\n\t\tswitch t := v.(type) {\n\t\tcase string:\n\t\t\tname = t\n\n\t\tcase plotter.XYer:\n\t\t\tl, err := plotter.NewLine(t)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tl.Color = Color(i)\n\t\t\tl.Dashes = Dashes(i)\n\t\t\ti++\n\t\t\tps = append(ps, l)\n\t\t\tif name != \"\" {\n\t\t\t\titems = append(items, item{name: name, value: l})\n\t\t\t\tname = \"\"\n\t\t\t}\n\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"AddLines handles strings and plotter.XYers, got %T\", t))\n\t\t}\n\t}\n\tplt.Add(ps...)\n\tfor _, v := range items {\n\t\tplt.Legend.Add(v.name, v.value)\n\t}\n\treturn nil\n}\n\n// AddLinePoints adds Line and Scatter plotters to a\n// plot.  The variadic arguments must be either strings\n// or plotter.XYers.  Each plotter.XYer is added to\n// the plot using the next color, dashes, and glyph\n// shape via the Color, Dashes, and Shape functions.\n// If a plotter.XYer is immediately preceeded by\n// a string then a legend entry is added to the plot\n// using the string as the name.\n//\n// If an error occurs then none of the plotters are added\n// to the plot, and the error is returned.\nfunc AddLinePoints(plt *plot.Plot, vs ...interface{}) error {\n\tvar ps []plot.Plotter\n\ttype item struct {\n\t\tname  string\n\t\tvalue [2]plot.Thumbnailer\n\t}\n\tvar items []item\n\tname := \"\"\n\tvar i int\n\tfor _, v := range vs {\n\t\tswitch t := v.(type) {\n\t\tcase string:\n\t\t\tname = t\n\n\t\tcase plotter.XYer:\n\t\t\tl, s, err := plotter.NewLinePoints(t)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tl.Color = Color(i)\n\t\t\tl.Dashes = Dashes(i)\n\t\t\ts.Color = Color(i)\n\t\t\ts.Shape = Shape(i)\n\t\t\ti++\n\t\t\tps = append(ps, l, s)\n\t\t\tif name != \"\" {\n\t\t\t\titems = append(items, item{name: name, value: [2]plot.Thumbnailer{l, s}})\n\t\t\t\tname = \"\"\n\t\t\t}\n\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"AddLinePoints handles strings and plotter.XYers, got %T\", t))\n\t\t}\n\t}\n\tplt.Add(ps...)\n\tfor _, item := range items {\n\t\tv := item.value[:]\n\t\tplt.Legend.Add(item.name, v[0], v[1])\n\t}\n\treturn nil\n}\n\n// AddErrorBars adds XErrorBars and YErrorBars\n// to a plot.  The variadic arguments must be\n// of type plotter.XYer, and must be either a\n// plotter.XErrorer, plotter.YErrorer, or both.\n// Each errorer is added to the plot the color from\n// the Colors function corresponding to its position\n// in the argument list.\n//\n// If an error occurs then none of the plotters are added\n// to the plot, and the error is returned.\nfunc AddErrorBars(plt *plot.Plot, vs ...interface{}) error {\n\tvar ps []plot.Plotter\n\tfor i, v := range vs {\n\t\tadded := false\n\n\t\tif xerr, ok := v.(interface {\n\t\t\tplotter.XYer\n\t\t\tplotter.XErrorer\n\t\t}); ok {\n\t\t\te, err := plotter.NewXErrorBars(xerr)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\te.Color = Color(i)\n\t\t\tps = append(ps, e)\n\t\t\tadded = true\n\t\t}\n\n\t\tif yerr, ok := v.(interface {\n\t\t\tplotter.XYer\n\t\t\tplotter.YErrorer\n\t\t}); ok {\n\t\t\te, err := plotter.NewYErrorBars(yerr)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\te.Color = Color(i)\n\t\t\tps = append(ps, e)\n\t\t\tadded = true\n\t\t}\n\n\t\tif added {\n\t\t\tcontinue\n\t\t}\n\t\tpanic(fmt.Sprintf(\"AddErrorBars expects plotter.XErrorer or plotter.YErrorer, got %T\", v))\n\t}\n\tplt.Add(ps...)\n\treturn nil\n}\n\n// AddXErrorBars adds XErrorBars to a plot.\n// The variadic arguments must be\n// of type plotter.XYer, and plotter.XErrorer.\n// Each errorer is added to the plot the color from\n// the Colors function corresponding to its position\n// in the argument list.\n//\n// If an error occurs then none of the plotters are added\n// to the plot, and the error is returned.\nfunc AddXErrorBars(plt *plot.Plot, es ...interface {\n\tplotter.XYer\n\tplotter.XErrorer\n}) error {\n\tvar ps []plot.Plotter\n\tfor i, e := range es {\n\t\tbars, err := plotter.NewXErrorBars(e)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbars.Color = Color(i)\n\t\tps = append(ps, bars)\n\t}\n\tplt.Add(ps...)\n\treturn nil\n}\n\n// AddYErrorBars adds YErrorBars to a plot.\n// The variadic arguments must be\n// of type plotter.XYer, and plotter.YErrorer.\n// Each errorer is added to the plot the color from\n// the Colors function corresponding to its position\n// in the argument list.\n//\n// If an error occurs then none of the plotters are added\n// to the plot, and the error is returned.\nfunc AddYErrorBars(plt *plot.Plot, es ...interface {\n\tplotter.XYer\n\tplotter.YErrorer\n}) error {\n\tvar ps []plot.Plotter\n\tfor i, e := range es {\n\t\tbars, err := plotter.NewYErrorBars(e)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbars.Color = Color(i)\n\t\tps = append(ps, bars)\n\t}\n\tplt.Add(ps...)\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotutil/errorpoints.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage plotutil\n\nimport (\n\t\"math\"\n\t\"sort\"\n\n\t\"gonum.org/v1/plot/plotter\"\n)\n\n// ErrorPoints holds a set of x, y pairs along\n// with their X and Y errors.\ntype ErrorPoints struct {\n\tplotter.XYs\n\tplotter.XErrors\n\tplotter.YErrors\n}\n\n// NewErrorPoints returns a new ErrorPoints where each\n// point in the ErrorPoints is given by evaluating the\n// center function on the Xs and Ys for the corresponding\n// set of XY values in the pts parameter.  The XError\n// and YError are computed likewise, using the err\n// function.\n//\n// This function can be useful for summarizing sets of\n// scatter points using a single point and error bars for\n// each element of the scatter.\nfunc NewErrorPoints(f func([]float64) (c, l, h float64), pts ...plotter.XYer) (*ErrorPoints, error) {\n\n\tc := &ErrorPoints{\n\t\tXYs:     make(plotter.XYs, len(pts)),\n\t\tXErrors: make(plotter.XErrors, len(pts)),\n\t\tYErrors: make(plotter.YErrors, len(pts)),\n\t}\n\n\tfor i, xy := range pts {\n\t\txs := make([]float64, xy.Len())\n\t\tys := make([]float64, xy.Len())\n\t\tfor j := 0; j < xy.Len(); j++ {\n\t\t\txs[j], ys[j] = xy.XY(j)\n\t\t\tif err := plotter.CheckFloats(xs[j], ys[j]); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\tc.XYs[i].X, c.XErrors[i].Low, c.XErrors[i].High = f(xs)\n\t\tif err := plotter.CheckFloats(c.XYs[i].X, c.XErrors[i].Low, c.XErrors[i].High); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tc.XYs[i].Y, c.YErrors[i].Low, c.YErrors[i].High = f(ys)\n\t\tif err := plotter.CheckFloats(c.XYs[i].Y, c.YErrors[i].Low, c.YErrors[i].High); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\n\treturn c, nil\n}\n\n// MeanAndConf95 returns the mean\n// and the magnitude of the 95% confidence\n// interval on the mean as low and high\n// error values.\n//\n// MeanAndConf95 may be used as\n// the f argument to NewErrorPoints.\nfunc MeanAndConf95(vls []float64) (mean, lowerr, higherr float64) {\n\tn := float64(len(vls))\n\n\tsum := 0.0\n\tfor _, v := range vls {\n\t\tsum += v\n\t}\n\tmean = sum / n\n\n\tsum = 0.0\n\tfor _, v := range vls {\n\t\tdiff := v - mean\n\t\tsum += diff * diff\n\t}\n\tstdev := math.Sqrt(sum / n)\n\n\tconf := 1.96 * stdev / math.Sqrt(n)\n\treturn mean, conf, conf\n}\n\n// MedianAndMinMax returns the median\n// value and error on the median given\n// by the minimum and maximum data\n// values.\n//\n// MedianAndMinMax may be used as\n// the f argument to NewErrorPoints.\nfunc MedianAndMinMax(vls []float64) (med, lowerr, higherr float64) {\n\tn := len(vls)\n\tif n == 0 {\n\t\tpanic(\"MedianAndMinMax: No values\")\n\t}\n\tif n == 1 {\n\t\treturn vls[0], 0, 0\n\t}\n\tsort.Float64s(vls)\n\tif n%2 == 0 {\n\t\tmed = (vls[n/2+1]-vls[n/2])/2 + vls[n/2]\n\t} else {\n\t\tmed = vls[n/2]\n\t}\n\n\tmin := vls[0]\n\tmax := vls[0]\n\tfor _, v := range vls {\n\t\tmin = math.Min(min, v)\n\t\tmax = math.Max(max, v)\n\t}\n\n\treturn med, med - min, max - med\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotutil/main.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\nimport (\n\t\"math/rand\"\n\n\t\"gonum.org/v1/plot\"\n\t\"gonum.org/v1/plot/plotter\"\n\t\"gonum.org/v1/plot/plotutil\"\n)\n\nvar examples = []struct {\n\tname   string\n\tmkplot func() *plot.Plot\n}{\n\t{\"example_errpoints\", Example_errpoints},\n\t{\"example_stackedAreaChart\", Example_stackedAreaChart},\n}\n\nfunc main() {\n\tfor _, ex := range examples {\n\t\tdrawEps(ex.name, ex.mkplot)\n\t\tdrawSvg(ex.name, ex.mkplot)\n\t\tdrawPng(ex.name, ex.mkplot)\n\t\tdrawTiff(ex.name, ex.mkplot)\n\t\tdrawJpg(ex.name, ex.mkplot)\n\t\tdrawPdf(ex.name, ex.mkplot)\n\t}\n}\n\nfunc drawEps(name string, mkplot func() *plot.Plot) {\n\tif err := mkplot().Save(4, 4, name+\".eps\"); err != nil {\n\t\tpanic(err)\n\t}\n}\n\nfunc drawPdf(name string, mkplot func() *plot.Plot) {\n\tif err := mkplot().Save(4, 4, name+\".pdf\"); err != nil {\n\t\tpanic(err)\n\t}\n}\n\nfunc drawSvg(name string, mkplot func() *plot.Plot) {\n\tif err := mkplot().Save(4, 4, name+\".svg\"); err != nil {\n\t\tpanic(err)\n\t}\n}\n\nfunc drawPng(name string, mkplot func() *plot.Plot) {\n\tif err := mkplot().Save(4, 4, name+\".png\"); err != nil {\n\t\tpanic(err)\n\t}\n}\n\nfunc drawTiff(name string, mkplot func() *plot.Plot) {\n\tif err := mkplot().Save(4, 4, name+\".tiff\"); err != nil {\n\t\tpanic(err)\n\t}\n}\n\nfunc drawJpg(name string, mkplot func() *plot.Plot) {\n\tif err := mkplot().Save(4, 4, name+\".jpg\"); err != nil {\n\t\tpanic(err)\n\t}\n}\n\n// Example_errpoints draws some error points.\nfunc Example_errpoints() *plot.Plot {\n\trnd := rand.New(rand.NewSource(1))\n\n\t// Get some random data.\n\tn, m := 5, 10\n\tpts := make([]plotter.XYer, n)\n\tfor i := range pts {\n\t\txys := make(plotter.XYs, m)\n\t\tpts[i] = xys\n\t\tcenter := float64(i)\n\t\tfor j := range xys {\n\t\t\txys[j].X = center + (rnd.Float64() - 0.5)\n\t\t\txys[j].Y = center + (rnd.Float64() - 0.5)\n\t\t}\n\t}\n\n\tplt, err := plot.New()\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tmean95, err := plotutil.NewErrorPoints(plotutil.MeanAndConf95, pts...)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tmedMinMax, err := plotutil.NewErrorPoints(plotutil.MedianAndMinMax, pts...)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tplotutil.AddLinePoints(plt,\n\t\t\"mean and 95% confidence\", mean95,\n\t\t\"median and minimum and maximum\", medMinMax)\n\tif err := plotutil.AddErrorBars(plt, mean95, medMinMax); err != nil {\n\t\tpanic(err)\n\t}\n\tif err := plotutil.AddScatters(plt, pts[0], pts[1], pts[2], pts[3], pts[4]); err != nil {\n\t\tpanic(err)\n\t}\n\n\treturn plt\n}\n\ntype stackValues struct{ vs []plotter.Values }\n\nfunc (n stackValues) Len() int { return n.vs[0].Len() }\nfunc (n stackValues) Value(i int) float64 {\n\tsum := 0.0\n\tfor _, v := range n.vs {\n\t\tsum += v.Value(i)\n\t}\n\treturn sum\n}\n\n// An example of making a stacked area chart.\nfunc Example_stackedAreaChart() *plot.Plot {\n\tp, err := plot.New()\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tp.Title.Text = \"Example: Software Version Comparison\"\n\tp.X.Label.Text = \"Date\"\n\tp.Y.Label.Text = \"Users (in thousands)\"\n\n\tp.Legend.Top = true\n\tp.Legend.Left = true\n\n\tvals := []plotter.Values{\n\t\tplotter.Values{0.02, 0.015, 0, 0, 0, 0, 0},\n\t\tplotter.Values{0, 0.48, 0.36, 0.34, 0.32, 0.32, 0.28},\n\t\tplotter.Values{0, 0, 0.87, 1.4, 0.64, 0.32, 0.28},\n\t\tplotter.Values{0, 0, 0, 1.26, 0.34, 0.12, 0.09},\n\t\tplotter.Values{0, 0, 0, 0, 2.48, 2.68, 2.13},\n\t\tplotter.Values{0, 0, 0, 0, 0, 1.32, 0.54},\n\t\tplotter.Values{0, 0, 0, 0, 0, 0.68, 5.67},\n\t}\n\n\terr = plotutil.AddStackedAreaPlots(p, plotter.Values{2007, 2008, 2009, 2010, 2011, 2012, 2013},\n\t\t\"Version 3.0\",\n\t\tstackValues{vs: vals[0:7]},\n\t\t\"Version 2.1\",\n\t\tstackValues{vs: vals[0:6]},\n\t\t\"Version 2.0.1\",\n\t\tstackValues{vs: vals[0:5]},\n\t\t\"Version 2.0\",\n\t\tstackValues{vs: vals[0:4]},\n\t\t\"Version 1.1\",\n\t\tstackValues{vs: vals[0:3]},\n\t\t\"Version 1.0\",\n\t\tstackValues{vs: vals[0:2]},\n\t\t\"Beta\",\n\t\tstackValues{vs: vals[0:1]},\n\t)\n\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\treturn p\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/plotutil/plotutil.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package plotutil contains a small number of utilites for creating plots.\n//\n// This package is under active development so portions of it may change.\npackage plotutil // import \"gonum.org/v1/plot/plotutil\"\n\nimport (\n\t\"image/color\"\n\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/draw\"\n)\n\n// DefaultColors is a set of colors used by the Color function.\nvar DefaultColors = SoftColors\n\nvar DarkColors = []color.Color{\n\trgb(238, 46, 47),\n\trgb(0, 140, 72),\n\trgb(24, 90, 169),\n\trgb(244, 125, 35),\n\trgb(102, 44, 145),\n\trgb(162, 29, 33),\n\trgb(180, 56, 148),\n}\n\nvar SoftColors = []color.Color{\n\trgb(241, 90, 96),\n\trgb(122, 195, 106),\n\trgb(90, 155, 212),\n\trgb(250, 167, 91),\n\trgb(158, 103, 171),\n\trgb(206, 112, 88),\n\trgb(215, 127, 180),\n}\n\nfunc rgb(r, g, b uint8) color.RGBA {\n\treturn color.RGBA{r, g, b, 255}\n}\n\n// Color returns the ith default color, wrapping\n// if i is less than zero or greater than the max\n// number of colors in the DefaultColors slice.\nfunc Color(i int) color.Color {\n\tn := len(DefaultColors)\n\tif i < 0 {\n\t\treturn DefaultColors[i%n+n]\n\t}\n\treturn DefaultColors[i%n]\n}\n\n// DefaultGlyphShapes is a set of GlyphDrawers used by\n// the Shape function.\nvar DefaultGlyphShapes = []draw.GlyphDrawer{\n\tdraw.RingGlyph{},\n\tdraw.SquareGlyph{},\n\tdraw.TriangleGlyph{},\n\tdraw.CrossGlyph{},\n\tdraw.PlusGlyph{},\n\tdraw.CircleGlyph{},\n\tdraw.BoxGlyph{},\n\tdraw.PyramidGlyph{},\n}\n\n// Shape returns the ith default glyph shape,\n// wrapping if i is less than zero or greater\n// than the max number of GlyphDrawers\n// in the DefaultGlyphShapes slice.\nfunc Shape(i int) draw.GlyphDrawer {\n\tn := len(DefaultGlyphShapes)\n\tif i < 0 {\n\t\treturn DefaultGlyphShapes[i%n+n]\n\t}\n\treturn DefaultGlyphShapes[i%n]\n}\n\n// DefaultDashes is a set of dash patterns used by\n// the Dashes function.\nvar DefaultDashes = [][]vg.Length{\n\t{},\n\n\t{vg.Points(6), vg.Points(2)},\n\n\t{vg.Points(2), vg.Points(2)},\n\n\t{vg.Points(1), vg.Points(1)},\n\n\t{vg.Points(5), vg.Points(2), vg.Points(1), vg.Points(2)},\n\n\t{vg.Points(10), vg.Points(2), vg.Points(2), vg.Points(2),\n\t\tvg.Points(2), vg.Points(2), vg.Points(2), vg.Points(2)},\n\n\t{vg.Points(10), vg.Points(2), vg.Points(2), vg.Points(2)},\n\n\t{vg.Points(5), vg.Points(2), vg.Points(5), vg.Points(2),\n\t\tvg.Points(2), vg.Points(2), vg.Points(2), vg.Points(2)},\n\n\t{vg.Points(4), vg.Points(2), vg.Points(4), vg.Points(1),\n\t\tvg.Points(1), vg.Points(1), vg.Points(1), vg.Points(1),\n\t\tvg.Points(1), vg.Points(1)},\n}\n\n// Dashes returns the ith default dash pattern,\n// wrapping if i is less than zero or greater\n// than the max number of dash patters\n// in the DefaultDashes slice.\nfunc Dashes(i int) []vg.Length {\n\tn := len(DefaultDashes)\n\tif i < 0 {\n\t\treturn DefaultDashes[i%n+n]\n\t}\n\treturn DefaultDashes[i%n]\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/tools/bezier/bezier.go",
    "content": "// Copyright ©2013 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package bezier implements 2D Bézier curve calculation.\npackage bezier // import \"gonum.org/v1/plot/tools/bezier\"\n\nimport \"gonum.org/v1/plot/vg\"\n\ntype point struct {\n\tPoint, Control vg.Point\n}\n\n// Curve implements Bezier curve calculation according to the algorithm of Robert D. Miller.\n//\n// Graphics Gems 5, 'Quick and Simple Bézier Curve Drawing', pages 206-209.\ntype Curve []point\n\n// NewCurve returns a Curve initialized with the control points in cp.\nfunc New(cp ...vg.Point) Curve {\n\tif len(cp) == 0 {\n\t\treturn nil\n\t}\n\tc := make(Curve, len(cp))\n\tfor i, p := range cp {\n\t\tc[i].Point = p\n\t}\n\n\tvar w vg.Length\n\tfor i, p := range c {\n\t\tif i == 0 {\n\t\t\tw = 1\n\t\t} else if i == 1 {\n\t\t\tw = vg.Length(len(c)) - 1\n\t\t} else {\n\t\t\tw *= vg.Length(len(c)-i) / vg.Length(i)\n\t\t}\n\t\tc[i].Control.X = p.Point.X * w\n\t\tc[i].Control.Y = p.Point.Y * w\n\t}\n\n\treturn c\n}\n\n// Point returns the point at t along the curve, where 0 ≤ t ≤ 1.\nfunc (c Curve) Point(t float64) vg.Point {\n\tc[0].Point = c[0].Control\n\tu := t\n\tfor i, p := range c[1:] {\n\t\tc[i+1].Point = vg.Point{p.Control.X * vg.Length(u), p.Control.Y * vg.Length(u)}\n\t\tu *= t\n\t}\n\n\tvar (\n\t\tt1 = 1 - t\n\t\ttt = t1\n\t)\n\tp := c[len(c)-1].Point\n\tfor i := len(c) - 2; i >= 0; i-- {\n\t\tp.X += c[i].Point.X * vg.Length(tt)\n\t\tp.Y += c[i].Point.Y * vg.Length(tt)\n\t\ttt *= t1\n\t}\n\n\treturn p\n}\n\n// Curve returns a slice of vg.Point, p, filled with points along the Bézier curve described by c.\n// If the length of p is less than 2, the curve points are undefined. The length of p is not\n// altered by the call.\nfunc (c Curve) Curve(p []vg.Point) []vg.Point {\n\tfor i, nf := 0, float64(len(p)-1); i < len(p); i++ {\n\t\tp[i] = c.Point(float64(i) / nf)\n\t}\n\treturn p\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/draw/canvas.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage draw // import \"gonum.org/v1/plot/vg/draw\"\n\nimport (\n\t\"fmt\"\n\t\"image/color\"\n\t\"math\"\n\t\"strings\"\n\n\t\"gonum.org/v1/plot/vg\"\n\t\"gonum.org/v1/plot/vg/vgeps\"\n\t\"gonum.org/v1/plot/vg/vgimg\"\n\t\"gonum.org/v1/plot/vg/vgpdf\"\n\t\"gonum.org/v1/plot/vg/vgsvg\"\n)\n\n// A Canvas is a vector graphics canvas along with\n// an associated Rectangle defining a section of the canvas\n// to which drawing should take place.\ntype Canvas struct {\n\tvg.Canvas\n\tvg.Rectangle\n}\n\n// TextStyle describes what text will look like.\ntype TextStyle struct {\n\t// Color is the text color.\n\tColor color.Color\n\n\t// Font is the font description.\n\tFont vg.Font\n\n\t// Rotation is the text rotation in radians, performed around the axis\n\t// defined by XAlign and YAlign.\n\tRotation float64\n\n\t// XAlign and YAlign specify the alignment of the text.\n\tXAlign XAlignment\n\tYAlign YAlignment\n}\n\n// XAlignment specifies text alignment in the X direction. Three preset\n// options are available, but an arbitrary alignment\n// can also be specified using XAlignment(desired number).\ntype XAlignment float64\n\nconst (\n\t// XLeft aligns the left edge of the text with the specified location.\n\tXLeft XAlignment = 0\n\t// XCenter aligns the horizontal center of the text with the specified location.\n\tXCenter XAlignment = -0.5\n\t// XRight aligns the right edge of the text with the specified location.\n\tXRight XAlignment = -1\n)\n\n// YAlignment specifies text alignment in the Y direction. Three preset\n// options are available, but an arbitrary alignment\n// can also be specified using YAlignment(desired number).\ntype YAlignment float64\n\nconst (\n\t// YTop aligns the top of of the text with the specified location.\n\tYTop YAlignment = -1\n\t// YCenter aligns the vertical center of the text with the specified location.\n\tYCenter YAlignment = -0.5\n\t// YBottom aligns the bottom of the text with the specified location.\n\tYBottom YAlignment = 0\n)\n\n// LineStyle describes what a line will look like.\ntype LineStyle struct {\n\t// Color is the color of the line.\n\tColor color.Color\n\n\t// Width is the width of the line.\n\tWidth vg.Length\n\n\tDashes   []vg.Length\n\tDashOffs vg.Length\n}\n\n// A GlyphStyle specifies the look of a glyph used to draw\n// a point on a plot.\ntype GlyphStyle struct {\n\t// Color is the color used to draw the glyph.\n\tcolor.Color\n\n\t// Radius specifies the size of the glyph's radius.\n\tRadius vg.Length\n\n\t// Shape draws the shape of the glyph.\n\tShape GlyphDrawer\n}\n\n// A GlyphDrawer wraps the DrawGlyph function.\ntype GlyphDrawer interface {\n\t// DrawGlyph draws the glyph at the given\n\t// point, with the given color and radius.\n\tDrawGlyph(*Canvas, GlyphStyle, vg.Point)\n}\n\n// DrawGlyph draws the given glyph to the draw\n// area.  If the point is not within the Canvas\n// or the sty.Shape is nil then nothing is drawn.\nfunc (c *Canvas) DrawGlyph(sty GlyphStyle, pt vg.Point) {\n\tif sty.Shape == nil || !c.Contains(pt) {\n\t\treturn\n\t}\n\tc.SetColor(sty.Color)\n\tsty.Shape.DrawGlyph(c, sty, pt)\n}\n\n// DrawGlyphNoClip draws the given glyph to the draw\n// area.  If the sty.Shape is nil then nothing is drawn.\nfunc (c *Canvas) DrawGlyphNoClip(sty GlyphStyle, pt vg.Point) {\n\tif sty.Shape == nil {\n\t\treturn\n\t}\n\tc.SetColor(sty.Color)\n\tsty.Shape.DrawGlyph(c, sty, pt)\n}\n\n// Rectangle returns the rectangle surrounding this glyph,\n// assuming that it is drawn centered at 0,0\nfunc (g GlyphStyle) Rectangle() vg.Rectangle {\n\treturn vg.Rectangle{\n\t\tMin: vg.Point{X: -g.Radius, Y: -g.Radius},\n\t\tMax: vg.Point{X: +g.Radius, Y: +g.Radius},\n\t}\n}\n\n// CircleGlyph is a glyph that draws a solid circle.\ntype CircleGlyph struct{}\n\n// DrawGlyph implements the GlyphDrawer interface.\nfunc (CircleGlyph) DrawGlyph(c *Canvas, sty GlyphStyle, pt vg.Point) {\n\tvar p vg.Path\n\tp.Move(vg.Point{X: pt.X + sty.Radius, Y: pt.Y})\n\tp.Arc(pt, sty.Radius, 0, 2*math.Pi)\n\tp.Close()\n\tc.Fill(p)\n}\n\n// RingGlyph is a glyph that draws the outline of a circle.\ntype RingGlyph struct{}\n\n// DrawGlyph implements the Glyph interface.\nfunc (RingGlyph) DrawGlyph(c *Canvas, sty GlyphStyle, pt vg.Point) {\n\tc.SetLineStyle(LineStyle{Color: sty.Color, Width: vg.Points(0.5)})\n\tvar p vg.Path\n\tp.Move(vg.Point{X: pt.X + sty.Radius, Y: pt.Y})\n\tp.Arc(pt, sty.Radius, 0, 2*math.Pi)\n\tp.Close()\n\tc.Stroke(p)\n}\n\nconst (\n\tcosπover4 = vg.Length(.707106781202420)\n\tsinπover6 = vg.Length(.500000000025921)\n\tcosπover6 = vg.Length(.866025403769473)\n)\n\n// SquareGlyph is a glyph that draws the outline of a square.\ntype SquareGlyph struct{}\n\n// DrawGlyph implements the Glyph interface.\nfunc (SquareGlyph) DrawGlyph(c *Canvas, sty GlyphStyle, pt vg.Point) {\n\tc.SetLineStyle(LineStyle{Color: sty.Color, Width: vg.Points(0.5)})\n\tx := (sty.Radius-sty.Radius*cosπover4)/2 + sty.Radius*cosπover4\n\tvar p vg.Path\n\tp.Move(vg.Point{X: pt.X - x, Y: pt.Y - x})\n\tp.Line(vg.Point{X: pt.X + x, Y: pt.Y - x})\n\tp.Line(vg.Point{X: pt.X + x, Y: pt.Y + x})\n\tp.Line(vg.Point{X: pt.X - x, Y: pt.Y + x})\n\tp.Close()\n\tc.Stroke(p)\n}\n\n// BoxGlyph is a glyph that draws a filled square.\ntype BoxGlyph struct{}\n\n// DrawGlyph implements the Glyph interface.\nfunc (BoxGlyph) DrawGlyph(c *Canvas, sty GlyphStyle, pt vg.Point) {\n\tx := (sty.Radius-sty.Radius*cosπover4)/2 + sty.Radius*cosπover4\n\tvar p vg.Path\n\tp.Move(vg.Point{X: pt.X - x, Y: pt.Y - x})\n\tp.Line(vg.Point{X: pt.X + x, Y: pt.Y - x})\n\tp.Line(vg.Point{X: pt.X + x, Y: pt.Y + x})\n\tp.Line(vg.Point{X: pt.X - x, Y: pt.Y + x})\n\tp.Close()\n\tc.Fill(p)\n}\n\n// TriangleGlyph is a glyph that draws the outline of a triangle.\ntype TriangleGlyph struct{}\n\n// DrawGlyph implements the Glyph interface.\nfunc (TriangleGlyph) DrawGlyph(c *Canvas, sty GlyphStyle, pt vg.Point) {\n\tc.SetLineStyle(LineStyle{Color: sty.Color, Width: vg.Points(0.5)})\n\tr := sty.Radius + (sty.Radius-sty.Radius*sinπover6)/2\n\tvar p vg.Path\n\tp.Move(vg.Point{X: pt.X, Y: pt.Y + r})\n\tp.Line(vg.Point{X: pt.X - r*cosπover6, Y: pt.Y - r*sinπover6})\n\tp.Line(vg.Point{X: pt.X + r*cosπover6, Y: pt.Y - r*sinπover6})\n\tp.Close()\n\tc.Stroke(p)\n}\n\n// PyramidGlyph is a glyph that draws a filled triangle.\ntype PyramidGlyph struct{}\n\n// DrawGlyph implements the Glyph interface.\nfunc (PyramidGlyph) DrawGlyph(c *Canvas, sty GlyphStyle, pt vg.Point) {\n\tr := sty.Radius + (sty.Radius-sty.Radius*sinπover6)/2\n\tvar p vg.Path\n\tp.Move(vg.Point{X: pt.X, Y: pt.Y + r})\n\tp.Line(vg.Point{X: pt.X - r*cosπover6, Y: pt.Y - r*sinπover6})\n\tp.Line(vg.Point{X: pt.X + r*cosπover6, Y: pt.Y - r*sinπover6})\n\tp.Close()\n\tc.Fill(p)\n}\n\n// PlusGlyph is a glyph that draws a plus sign\ntype PlusGlyph struct{}\n\n// DrawGlyph implements the Glyph interface.\nfunc (PlusGlyph) DrawGlyph(c *Canvas, sty GlyphStyle, pt vg.Point) {\n\tc.SetLineStyle(LineStyle{Color: sty.Color, Width: vg.Points(0.5)})\n\tr := sty.Radius\n\tvar p vg.Path\n\tp.Move(vg.Point{X: pt.X, Y: pt.Y + r})\n\tp.Line(vg.Point{X: pt.X, Y: pt.Y - r})\n\tc.Stroke(p)\n\tp = vg.Path{}\n\tp.Move(vg.Point{X: pt.X - r, Y: pt.Y})\n\tp.Line(vg.Point{X: pt.X + r, Y: pt.Y})\n\tc.Stroke(p)\n}\n\n// CrossGlyph is a glyph that draws a big X.\ntype CrossGlyph struct{}\n\n// DrawGlyph implements the Glyph interface.\nfunc (CrossGlyph) DrawGlyph(c *Canvas, sty GlyphStyle, pt vg.Point) {\n\tc.SetLineStyle(LineStyle{Color: sty.Color, Width: vg.Points(0.5)})\n\tr := sty.Radius * cosπover4\n\tvar p vg.Path\n\tp.Move(vg.Point{X: pt.X - r, Y: pt.Y - r})\n\tp.Line(vg.Point{X: pt.X + r, Y: pt.Y + r})\n\tc.Stroke(p)\n\tp = vg.Path{}\n\tp.Move(vg.Point{X: pt.X - r, Y: pt.Y + r})\n\tp.Line(vg.Point{X: pt.X + r, Y: pt.Y - r})\n\tc.Stroke(p)\n}\n\n// New returns a new (bounded) draw.Canvas.\nfunc New(c vg.CanvasSizer) Canvas {\n\tw, h := c.Size()\n\treturn NewCanvas(c, w, h)\n}\n\n// NewFormattedCanvas creates a new vg.CanvasWriterTo with the specified\n// image format.\n//\n// Supported formats are:\n//\n//  eps, jpg|jpeg, pdf, png, svg, and tif|tiff.\nfunc NewFormattedCanvas(w, h vg.Length, format string) (vg.CanvasWriterTo, error) {\n\tvar c vg.CanvasWriterTo\n\tswitch format {\n\tcase \"eps\":\n\t\tc = vgeps.New(w, h)\n\n\tcase \"jpg\", \"jpeg\":\n\t\tc = vgimg.JpegCanvas{Canvas: vgimg.New(w, h)}\n\n\tcase \"pdf\":\n\t\tc = vgpdf.New(w, h)\n\n\tcase \"png\":\n\t\tc = vgimg.PngCanvas{Canvas: vgimg.New(w, h)}\n\n\tcase \"svg\":\n\t\tc = vgsvg.New(w, h)\n\n\tcase \"tif\", \"tiff\":\n\t\tc = vgimg.TiffCanvas{Canvas: vgimg.New(w, h)}\n\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"unsupported format: %q\", format)\n\t}\n\treturn c, nil\n}\n\n// NewCanvas returns a new (bounded) draw.Canvas of the given size.\nfunc NewCanvas(c vg.Canvas, w, h vg.Length) Canvas {\n\treturn Canvas{\n\t\tCanvas: c,\n\t\tRectangle: vg.Rectangle{\n\t\t\tMin: vg.Point{X: 0, Y: 0},\n\t\t\tMax: vg.Point{X: w, Y: h},\n\t\t},\n\t}\n}\n\n// Center returns the center point of the area\nfunc (c *Canvas) Center() vg.Point {\n\treturn vg.Point{\n\t\tX: (c.Max.X-c.Min.X)/2 + c.Min.X,\n\t\tY: (c.Max.Y-c.Min.Y)/2 + c.Min.Y,\n\t}\n}\n\n// Contains returns true if the Canvas contains the point.\nfunc (c *Canvas) Contains(p vg.Point) bool {\n\treturn c.ContainsX(p.X) && c.ContainsY(p.Y)\n}\n\n// ContainsX returns true if the Canvas contains the\n// x coordinate.\nfunc (c *Canvas) ContainsX(x vg.Length) bool {\n\treturn x <= c.Max.X+slop && x >= c.Min.X-slop\n}\n\n// ContainsY returns true if the Canvas contains the\n// y coordinate.\nfunc (c *Canvas) ContainsY(y vg.Length) bool {\n\treturn y <= c.Max.Y+slop && y >= c.Min.Y-slop\n}\n\n// X returns the value of x, given in the unit range,\n// in the drawing coordinates of this draw area.\n// A value of 0, for example, will return the minimum\n// x value of the draw area and a value of 1 will\n// return the maximum.\nfunc (c *Canvas) X(x float64) vg.Length {\n\treturn vg.Length(x)*(c.Max.X-c.Min.X) + c.Min.X\n}\n\n// Y returns the value of x, given in the unit range,\n// in the drawing coordinates of this draw area.\n// A value of 0, for example, will return the minimum\n// y value of the draw area and a value of 1 will\n// return the maximum.\nfunc (c *Canvas) Y(y float64) vg.Length {\n\treturn vg.Length(y)*(c.Max.Y-c.Min.Y) + c.Min.Y\n}\n\n// Crop returns a new Canvas corresponding to the Canvas\n// c with the given lengths added to the minimum\n// and maximum x and y values of the Canvas's Rectangle.\n// Note that cropping the right and top sides of the canvas\n// requires specifying negative values of right and top.\nfunc Crop(c Canvas, left, right, bottom, top vg.Length) Canvas {\n\tminpt := vg.Point{\n\t\tX: c.Min.X + left,\n\t\tY: c.Min.Y + bottom,\n\t}\n\tmaxpt := vg.Point{\n\t\tX: c.Max.X + right,\n\t\tY: c.Max.Y + top,\n\t}\n\treturn Canvas{\n\t\tCanvas:    c,\n\t\tRectangle: vg.Rectangle{Min: minpt, Max: maxpt},\n\t}\n}\n\n// Tiles creates regular subcanvases from a Canvas.\ntype Tiles struct {\n\t// Cols and Rows specify the number of rows and columns of tiles.\n\tCols, Rows int\n\t// PadTop, PadBottom, PadRight, and PadLeft specify the padding\n\t// on the corresponding side of each tile.\n\tPadTop, PadBottom, PadRight, PadLeft vg.Length\n\t// PadX and PadY specify the padding between columns and rows\n\t// of tiles respectively..\n\tPadX, PadY vg.Length\n}\n\n// At returns the subcanvas within c that corresponds to the\n// tile at column x, row y.\nfunc (ts Tiles) At(c Canvas, x, y int) Canvas {\n\ttileH := (c.Max.Y - c.Min.Y - ts.PadTop - ts.PadBottom -\n\t\tvg.Length(ts.Rows-1)*ts.PadY) / vg.Length(ts.Rows)\n\ttileW := (c.Max.X - c.Min.X - ts.PadLeft - ts.PadRight -\n\t\tvg.Length(ts.Cols-1)*ts.PadX) / vg.Length(ts.Cols)\n\n\tymax := c.Max.Y - ts.PadTop - vg.Length(y)*(ts.PadY+tileH)\n\tymin := ymax - tileH\n\txmin := c.Min.X + ts.PadLeft + vg.Length(x)*(ts.PadX+tileW)\n\txmax := xmin + tileW\n\n\treturn Canvas{\n\t\tCanvas: vg.Canvas(c),\n\t\tRectangle: vg.Rectangle{\n\t\t\tMin: vg.Point{X: xmin, Y: ymin},\n\t\t\tMax: vg.Point{X: xmax, Y: ymax},\n\t\t},\n\t}\n}\n\n// SetLineStyle sets the current line style\nfunc (c *Canvas) SetLineStyle(sty LineStyle) {\n\tc.SetColor(sty.Color)\n\tc.SetLineWidth(sty.Width)\n\tvar dashDots []vg.Length\n\tfor _, dash := range sty.Dashes {\n\t\tdashDots = append(dashDots, dash)\n\t}\n\tc.SetLineDash(dashDots, sty.DashOffs)\n}\n\n// StrokeLines draws a line connecting a set of points\n// in the given Canvas.\nfunc (c *Canvas) StrokeLines(sty LineStyle, lines ...[]vg.Point) {\n\tif len(lines) == 0 {\n\t\treturn\n\t}\n\n\tc.SetLineStyle(sty)\n\n\tfor _, l := range lines {\n\t\tif len(l) == 0 {\n\t\t\tcontinue\n\t\t}\n\t\tvar p vg.Path\n\t\tp.Move(l[0])\n\t\tfor _, pt := range l[1:] {\n\t\t\tp.Line(pt)\n\t\t}\n\t\tc.Stroke(p)\n\t}\n}\n\n// StrokeLine2 draws a line between two points in the given\n// Canvas.\nfunc (c *Canvas) StrokeLine2(sty LineStyle, x0, y0, x1, y1 vg.Length) {\n\tc.StrokeLines(sty, []vg.Point{{x0, y0}, {x1, y1}})\n}\n\n// ClipLinesXY returns a slice of lines that\n// represent the given line clipped in both\n// X and Y directions.\nfunc (c *Canvas) ClipLinesXY(lines ...[]vg.Point) [][]vg.Point {\n\treturn c.ClipLinesY(c.ClipLinesX(lines...)...)\n}\n\n// ClipLinesX returns a slice of lines that\n// represent the given line clipped in the\n// X direction.\nfunc (c *Canvas) ClipLinesX(lines ...[]vg.Point) (clipped [][]vg.Point) {\n\tvar lines1 [][]vg.Point\n\tfor _, line := range lines {\n\t\tls := clipLine(isLeft, vg.Point{X: c.Max.X, Y: c.Min.Y}, vg.Point{X: -1, Y: 0}, line)\n\t\tlines1 = append(lines1, ls...)\n\t}\n\tfor _, line := range lines1 {\n\t\tls := clipLine(isRight, vg.Point{X: c.Min.X, Y: c.Min.Y}, vg.Point{X: 1, Y: 0}, line)\n\t\tclipped = append(clipped, ls...)\n\t}\n\treturn\n}\n\n// ClipLinesY returns a slice of lines that\n// represent the given line clipped in the\n// Y direction.\nfunc (c *Canvas) ClipLinesY(lines ...[]vg.Point) (clipped [][]vg.Point) {\n\tvar lines1 [][]vg.Point\n\tfor _, line := range lines {\n\t\tls := clipLine(isAbove, vg.Point{X: c.Min.X, Y: c.Min.Y}, vg.Point{X: 0, Y: -1}, line)\n\t\tlines1 = append(lines1, ls...)\n\t}\n\tfor _, line := range lines1 {\n\t\tls := clipLine(isBelow, vg.Point{X: c.Min.X, Y: c.Max.Y}, vg.Point{X: 0, Y: 1}, line)\n\t\tclipped = append(clipped, ls...)\n\t}\n\treturn\n}\n\n// clipLine performs clipping of a line by a single\n// clipping line specified by the norm, clip point,\n// and in function.\nfunc clipLine(in func(vg.Point, vg.Point) bool, clip, norm vg.Point, pts []vg.Point) (lines [][]vg.Point) {\n\tvar l []vg.Point\n\tfor i := 1; i < len(pts); i++ {\n\t\tcur, next := pts[i-1], pts[i]\n\t\tcurIn, nextIn := in(cur, clip), in(next, clip)\n\t\tswitch {\n\t\tcase curIn && nextIn:\n\t\t\tl = append(l, cur)\n\n\t\tcase curIn && !nextIn:\n\t\t\tl = append(l, cur, isect(cur, next, clip, norm))\n\t\t\tlines = append(lines, l)\n\t\t\tl = []vg.Point{}\n\n\t\tcase !curIn && !nextIn:\n\t\t\t// do nothing\n\n\t\tdefault: // !curIn && nextIn\n\t\t\tl = append(l, isect(cur, next, clip, norm))\n\t\t}\n\t\tif nextIn && i == len(pts)-1 {\n\t\t\tl = append(l, next)\n\t\t}\n\t}\n\tif len(l) > 1 {\n\t\tlines = append(lines, l)\n\t}\n\treturn\n}\n\n// FillPolygon fills a polygon with the given color.\nfunc (c *Canvas) FillPolygon(clr color.Color, pts []vg.Point) {\n\tif len(pts) == 0 {\n\t\treturn\n\t}\n\n\tc.SetColor(clr)\n\tvar p vg.Path\n\tp.Move(pts[0])\n\tfor _, pt := range pts[1:] {\n\t\tp.Line(pt)\n\t}\n\tp.Close()\n\tc.Fill(p)\n}\n\n// ClipPolygonXY returns a slice of lines that\n// represent the given polygon clipped in both\n// X and Y directions.\nfunc (c *Canvas) ClipPolygonXY(pts []vg.Point) []vg.Point {\n\treturn c.ClipPolygonY(c.ClipPolygonX(pts))\n}\n\n// ClipPolygonX returns a slice of lines that\n// represent the given polygon clipped in the\n// X direction.\nfunc (c *Canvas) ClipPolygonX(pts []vg.Point) []vg.Point {\n\treturn clipPoly(isLeft, vg.Point{X: c.Max.X, Y: c.Min.Y}, vg.Point{X: -1, Y: 0},\n\t\tclipPoly(isRight, vg.Point{X: c.Min.X, Y: c.Min.Y}, vg.Point{X: 1, Y: 0}, pts))\n}\n\n// ClipPolygonY returns a slice of lines that\n// represent the given polygon clipped in the\n// Y direction.\nfunc (c *Canvas) ClipPolygonY(pts []vg.Point) []vg.Point {\n\treturn clipPoly(isBelow, vg.Point{X: c.Min.X, Y: c.Max.Y}, vg.Point{X: 0, Y: 1},\n\t\tclipPoly(isAbove, vg.Point{X: c.Min.X, Y: c.Min.Y}, vg.Point{X: 0, Y: -1}, pts))\n}\n\n// clipPoly performs clipping of a polygon by a single\n// clipping line specified by the norm, clip point,\n// and in function.\nfunc clipPoly(in func(vg.Point, vg.Point) bool, clip, norm vg.Point, pts []vg.Point) (clipped []vg.Point) {\n\tfor i := 0; i < len(pts); i++ {\n\t\tj := i + 1\n\t\tif i == len(pts)-1 {\n\t\t\tj = 0\n\t\t}\n\t\tcur, next := pts[i], pts[j]\n\t\tcurIn, nextIn := in(cur, clip), in(next, clip)\n\t\tswitch {\n\t\tcase curIn && nextIn:\n\t\t\tclipped = append(clipped, cur)\n\n\t\tcase curIn && !nextIn:\n\t\t\tclipped = append(clipped, cur, isect(cur, next, clip, norm))\n\n\t\tcase !curIn && !nextIn:\n\t\t\t// do nothing\n\n\t\tdefault: // !curIn && nextIn\n\t\t\tclipped = append(clipped, isect(cur, next, clip, norm))\n\t\t}\n\t}\n\treturn\n}\n\n// slop is some slop for floating point equality\nconst slop = 3e-8 // ≈ √1⁻¹⁵\n\nfunc isLeft(p, clip vg.Point) bool {\n\treturn p.X <= clip.X+slop\n}\n\nfunc isRight(p, clip vg.Point) bool {\n\treturn p.X >= clip.X-slop\n}\n\nfunc isBelow(p, clip vg.Point) bool {\n\treturn p.Y <= clip.Y+slop\n}\n\nfunc isAbove(p, clip vg.Point) bool {\n\treturn p.Y >= clip.Y-slop\n}\n\n// isect returns the intersection of a line p0→p1 with the\n// clipping line specified by the clip point and normal.\nfunc isect(p0, p1, clip, norm vg.Point) vg.Point {\n\t// t = (norm · (p0 - clip)) / (norm · (p0 - p1))\n\tt := p0.Sub(clip).Dot(norm) / p0.Sub(p1).Dot(norm)\n\n\t// p = p0 + t*(p1 - p0)\n\treturn p1.Sub(p0).Scale(t).Add(p0)\n}\n\n// FillText fills lines of text in the draw area.\n// pt specifies the location where the text is to be drawn.\nfunc (c *Canvas) FillText(sty TextStyle, pt vg.Point, txt string) {\n\ttxt = strings.TrimRight(txt, \"\\n\")\n\tif len(txt) == 0 {\n\t\treturn\n\t}\n\n\tc.SetColor(sty.Color)\n\n\tif sty.Rotation != 0 {\n\t\tc.Push()\n\t\tc.Rotate(sty.Rotation)\n\t}\n\n\tcos := vg.Length(math.Cos(sty.Rotation))\n\tsin := vg.Length(math.Sin(sty.Rotation))\n\tpt.X, pt.Y = pt.Y*sin+pt.X*cos, pt.Y*cos-pt.X*sin\n\n\tnl := textNLines(txt)\n\tht := sty.Height(txt)\n\tpt.Y += ht*vg.Length(sty.YAlign) - sty.Font.Extents().Ascent\n\tfor i, line := range strings.Split(txt, \"\\n\") {\n\t\txoffs := vg.Length(sty.XAlign) * sty.Font.Width(line)\n\t\tn := vg.Length(nl - i)\n\t\tc.FillString(sty.Font, pt.Add(vg.Point{X: xoffs, Y: n * sty.Font.Size}), line)\n\t}\n\n\tif sty.Rotation != 0 {\n\t\tc.Pop()\n\t}\n}\n\n// rotatePoint applies rotation theta (in radians) about the origin to point p.\nfunc rotatePoint(theta float64, p vg.Point) vg.Point {\n\tif theta == 0 {\n\t\treturn p\n\t}\n\tx := float64(p.X)\n\ty := float64(p.Y)\n\n\treturn vg.Point{\n\t\tX: vg.Length(x*math.Cos(theta) - y*math.Sin(theta)),\n\t\tY: vg.Length(y*math.Cos(theta) + x*math.Sin(theta)),\n\t}\n}\n\n// Width returns the width of lines of text\n// when using the given font before any text rotation is applied.\nfunc (sty TextStyle) Width(txt string) (max vg.Length) {\n\ttxt = strings.TrimRight(txt, \"\\n\")\n\tfor _, line := range strings.Split(txt, \"\\n\") {\n\t\tif w := sty.Font.Width(line); w > max {\n\t\t\tmax = w\n\t\t}\n\t}\n\treturn\n}\n\n// Height returns the height of the text when using\n// the given font before any text rotation is applied.\nfunc (sty TextStyle) Height(txt string) vg.Length {\n\tnl := textNLines(txt)\n\tif nl == 0 {\n\t\treturn vg.Length(0)\n\t}\n\te := sty.Font.Extents()\n\treturn e.Height*vg.Length(nl-1) + e.Ascent\n}\n\n// Rectangle returns a rectangle giving the bounds of\n// this text assuming that it is drawn at (0, 0).\nfunc (sty TextStyle) Rectangle(txt string) vg.Rectangle {\n\tw := sty.Width(txt)\n\th := sty.Height(txt)\n\txoff := vg.Length(sty.XAlign) * w\n\tyoff := vg.Length(sty.YAlign) * h\n\t// lower left corner\n\tp1 := rotatePoint(sty.Rotation, vg.Point{X: xoff, Y: yoff})\n\t// upper left corner\n\tp2 := rotatePoint(sty.Rotation, vg.Point{X: xoff, Y: h + yoff})\n\t// lower right corner\n\tp3 := rotatePoint(sty.Rotation, vg.Point{X: w + xoff, Y: yoff})\n\t// upper right corner\n\tp4 := rotatePoint(sty.Rotation, vg.Point{X: w + xoff, Y: h + yoff})\n\n\treturn vg.Rectangle{\n\t\tMax: vg.Point{\n\t\t\tX: max(p1.X, p2.X, p3.X, p4.X),\n\t\t\tY: max(p1.Y, p2.Y, p3.Y, p4.Y),\n\t\t},\n\t\tMin: vg.Point{\n\t\t\tX: min(p1.X, p2.X, p3.X, p4.X),\n\t\t\tY: min(p1.Y, p2.Y, p3.Y, p4.Y),\n\t\t},\n\t}\n}\n\nfunc max(d ...vg.Length) vg.Length {\n\to := vg.Length(math.Inf(-1))\n\tfor _, dd := range d {\n\t\tif dd > o {\n\t\t\to = dd\n\t\t}\n\t}\n\treturn o\n}\n\nfunc min(d ...vg.Length) vg.Length {\n\to := vg.Length(math.Inf(1))\n\tfor _, dd := range d {\n\t\tif dd < o {\n\t\t\to = dd\n\t\t}\n\t}\n\treturn o\n}\n\n// textNLines returns the number of lines in the text.\nfunc textNLines(txt string) int {\n\ttxt = strings.TrimRight(txt, \"\\n\")\n\tif len(txt) == 0 {\n\t\treturn 0\n\t}\n\tn := 1\n\tfor _, r := range txt {\n\t\tif r == '\\n' {\n\t\t\tn++\n\t\t}\n\t}\n\treturn n\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/font.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Some of this code (namely the code for computing the\n// width of a string in a given font) was copied from\n// github.com/golang/freetype/ which includes\n// the following copyright notice:\n// Copyright 2010 The Freetype-Go Authors. All rights reserved.\n\npackage vg\n\nimport (\n\t\"errors\"\n\t\"io/ioutil\"\n\t\"path/filepath\"\n\t\"sync\"\n\n\t\"gonum.org/v1/plot/vg/fonts\"\n\n\t\"golang.org/x/image/math/fixed\"\n\n\t\"github.com/golang/freetype\"\n\t\"github.com/golang/freetype/truetype\"\n)\n\nvar (\n\t// FontMap maps Postscript/PDF font names to compatible\n\t// free fonts (TrueType converted ghostscript fonts).\n\t// Fonts that are not keys of this map are not supported.\n\tFontMap = map[string]string{\n\n\t\t// We use fonts from RedHat's Liberation project:\n\t\t//  https://fedorahosted.org/liberation-fonts/\n\n\t\t\"Courier\":             \"LiberationMono-Regular\",\n\t\t\"Courier-Bold\":        \"LiberationMono-Bold\",\n\t\t\"Courier-Oblique\":     \"LiberationMono-Italic\",\n\t\t\"Courier-BoldOblique\": \"LiberationMono-BoldItalic\",\n\n\t\t\"Helvetica\":             \"LiberationSans-Regular\",\n\t\t\"Helvetica-Bold\":        \"LiberationSans-Bold\",\n\t\t\"Helvetica-Oblique\":     \"LiberationSans-Italic\",\n\t\t\"Helvetica-BoldOblique\": \"LiberationSans-BoldItalic\",\n\n\t\t\"Times-Roman\":      \"LiberationSerif-Regular\",\n\t\t\"Times-Bold\":       \"LiberationSerif-Bold\",\n\t\t\"Times-Italic\":     \"LiberationSerif-Italic\",\n\t\t\"Times-BoldItalic\": \"LiberationSerif-BoldItalic\",\n\t}\n\n\t// loadedFonts is indexed by a font name and it\n\t// caches the associated *truetype.Font.\n\tloadedFonts = make(map[string]*truetype.Font)\n\n\t// FontLock protects access to the loadedFonts map.\n\tfontLock sync.RWMutex\n)\n\n// A Font represents one of the supported font\n// faces.\ntype Font struct {\n\t// Size is the size of the font.  The font size can\n\t// be used as a reasonable value for the vertical\n\t// distance between two successive lines of text.\n\tSize Length\n\n\t// name is the name of this font.\n\tname string\n\n\t// This is a little bit of a hack, but the truetype\n\t// font is currently only needed to determine the\n\t// dimensions of strings drawn in this font.\n\t// The actual drawing of the strings is handled\n\t// separately by different back-ends:\n\t// Both Postscript and PDF are capable of drawing\n\t// their own fonts and draw2d loads its own copy of\n\t// the truetype fonts for its own output.\n\t//\n\t// This isn't a necessity--some future backend is\n\t// free to use this field--however it is a consequence\n\t// of the fact that the current backends were\n\t// developed independently of this package.\n\n\t// font is the truetype font pointer for this\n\t// font.\n\tfont *truetype.Font\n}\n\n// MakeFont returns a font object.  The name of the font must\n// be a key of the FontMap.  The font file is located by searching\n// the FontDirs slice for a directory containing the relevant font\n// file.  The font file name is name mapped by FontMap with the\n// .ttf extension.  For example, the font file for the font name\n// Courier is LiberationMono-Regular.ttf.\nfunc MakeFont(name string, size Length) (font Font, err error) {\n\tfont.Size = size\n\tfont.name = name\n\tfont.font, err = getFont(name)\n\treturn\n}\n\n// Name returns the name of the font.\nfunc (f *Font) Name() string {\n\treturn f.name\n}\n\n// Font returns the corresponding truetype.Font.\nfunc (f *Font) Font() *truetype.Font {\n\treturn f.font\n}\n\n// SetName sets the name of the font, effectively\n// changing the font.  If an error is returned then\n// the font is left unchanged.\nfunc (f *Font) SetName(name string) error {\n\tfont, err := getFont(name)\n\tif err != nil {\n\t\treturn err\n\t}\n\tf.name = name\n\tf.font = font\n\treturn nil\n}\n\n// FontExtents contains font metric information.\ntype FontExtents struct {\n\t// Ascent is the distance that the text\n\t// extends above the baseline.\n\tAscent Length\n\n\t// Descent is the distance that the text\n\t// extends below the baseline.  The descent\n\t// is given as a negative value.\n\tDescent Length\n\n\t// Height is the distance from the lowest\n\t// descending point to the highest ascending\n\t// point.\n\tHeight Length\n}\n\n// Extents returns the FontExtents for a font.\nfunc (f *Font) Extents() FontExtents {\n\tbounds := f.font.Bounds(fixed.Int26_6(f.Font().FUnitsPerEm()))\n\tscale := f.Size / Points(float64(f.Font().FUnitsPerEm()))\n\treturn FontExtents{\n\t\tAscent:  Points(float64(bounds.Max.Y)) * scale,\n\t\tDescent: Points(float64(bounds.Min.Y)) * scale,\n\t\tHeight:  Points(float64(bounds.Max.Y-bounds.Min.Y)) * scale,\n\t}\n}\n\n// Width returns width of a string when drawn using the font.\nfunc (f *Font) Width(s string) Length {\n\t// scale converts truetype.FUnit to float64\n\tscale := f.Size / Points(float64(f.font.FUnitsPerEm()))\n\n\twidth := 0\n\tprev, hasPrev := truetype.Index(0), false\n\tfor _, rune := range s {\n\t\tindex := f.font.Index(rune)\n\t\tif hasPrev {\n\t\t\twidth += int(f.font.Kern(fixed.Int26_6(f.font.FUnitsPerEm()), prev, index))\n\t\t}\n\t\twidth += int(f.font.HMetric(fixed.Int26_6(f.font.FUnitsPerEm()), index).AdvanceWidth)\n\t\tprev, hasPrev = index, true\n\t}\n\treturn Points(float64(width)) * scale\n}\n\n// AddFont associates a truetype.Font with the given name.\nfunc AddFont(name string, font *truetype.Font) {\n\tfontLock.Lock()\n\tloadedFonts[name] = font\n\tfontLock.Unlock()\n}\n\n// getFont returns the truetype.Font for the given font name or an error.\nfunc getFont(name string) (*truetype.Font, error) {\n\tfontLock.RLock()\n\tf, ok := loadedFonts[name]\n\tfontLock.RUnlock()\n\tif ok {\n\t\treturn f, nil\n\t}\n\n\tbytes, err := fontData(name)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tfont, err := freetype.ParseFont(bytes)\n\tif err == nil {\n\t\tfontLock.Lock()\n\t\tloadedFonts[name] = font\n\t\tfontLock.Unlock()\n\t} else {\n\t\terr = errors.New(\"Failed to parse font file: \" + err.Error())\n\t}\n\n\treturn font, err\n}\n\n// fontData returns the []byte data for a font name or an error if it is not found.\nfunc fontData(name string) ([]byte, error) {\n\tfname, err := fontFile(name)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tfor _, d := range FontDirs {\n\t\tp := filepath.Join(d, fname)\n\t\tdata, err := ioutil.ReadFile(p)\n\t\tif err != nil {\n\t\t\tcontinue\n\t\t}\n\t\treturn data, nil\n\t}\n\n\tdata, err := fonts.Asset(fname)\n\tif err == nil {\n\t\treturn data, nil\n\t}\n\n\treturn nil, errors.New(\"vg: failed to locate a font file \" + fname + \" for font name \" + name)\n}\n\n// FontDirs is a slice of directories searched for font data files.\n// If the first font file found is unreadable or cannot be parsed, then\n// subsequent directories are not tried, and the font will fail to load.\n//\n// The default slice contains, in the following order, the values of the\n// environment variable VGFONTPATH if it is defined, then the vg\n// source fonts directory if it is found (i.e., if vg was installed by\n// go get).  If the resulting FontDirs slice is empty then the current\n// directory is added to it.  This slice may be changed to load fonts\n// from different locations.\nvar FontDirs []string\n\n// FontFile returns the font file name for a font name or an error\n// if it is an unknown font (i.e., not in the FontMap).\nfunc fontFile(name string) (string, error) {\n\tvar err error\n\tn, ok := FontMap[name]\n\tif !ok {\n\t\terrStr := \"Unknown font: \" + name + \".  Available fonts are:\"\n\t\tfor n := range FontMap {\n\t\t\terrStr += \" \" + n\n\t\t}\n\t\terr = errors.New(errStr)\n\t}\n\treturn n + \".ttf\", err\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/font_syscall.go",
    "content": "// Copyright ©2017 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !js\n\npackage vg\n\nimport (\n\t\"go/build\"\n\t\"os\"\n\t\"path/filepath\"\n)\n\nconst (\n\t// importString is the import string expected for\n\t// this package.  It is used to find the font\n\t// directory included with the package source.\n\timportString = \"gonum.org/v1/plot/vg\"\n)\n\nfunc init() {\n\tFontDirs = initFontDirs()\n}\n\n// InitFontDirs returns the initial value for the FontDirectories variable.\nfunc initFontDirs() []string {\n\tdirs := filepath.SplitList(os.Getenv(\"VGFONTPATH\"))\n\n\tif pkg, err := build.Import(importString, \"\", build.FindOnly); err == nil {\n\t\tp := filepath.Join(pkg.Dir, \"fonts\")\n\t\tif _, err := os.Stat(p); err == nil {\n\t\t\tdirs = append(dirs, p)\n\t\t}\n\t}\n\n\tif len(dirs) == 0 {\n\t\tdirs = []string{\"./fonts\"}\n\t}\n\n\treturn dirs\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/fonts/fonts.go",
    "content": "// Copyright ©2016 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package fonts provides the Liberation fonts from https://fedorahosted.org/liberation-fonts/\npackage fonts // import \"gonum.org/v1/plot/vg/fonts\"\n\n//go:generate go run mk-fonts.go\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/fonts/liberation_fonts_generated.go",
    "content": "// Automatically generated by vg/fonts/mk-fonts.go\n// DO NOT EDIT.\n\n// Copyright ©2016 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// Digitized data copyright (c) 2010 Google Corporation\n//         with Reserved Font Arimo, Tinos and Cousine.\n// Copyright (c) 2012 Red Hat, Inc.\n//         with Reserved Font Name Liberation.\n//\n// This Font Software is licensed under the SIL Open Font License,\n// Version 1.1.\n\n// Code generated by go-bindata.\n// sources:\n// AUTHORS\n// ChangeLog\n// LICENSE\n// LiberationMono-Bold.ttf\n// LiberationMono-BoldItalic.ttf\n// LiberationMono-Italic.ttf\n// LiberationMono-Regular.ttf\n// LiberationSans-Bold.ttf\n// LiberationSans-BoldItalic.ttf\n// LiberationSans-Italic.ttf\n// LiberationSans-Regular.ttf\n// LiberationSerif-Bold.ttf\n// LiberationSerif-BoldItalic.ttf\n// LiberationSerif-Italic.ttf\n// LiberationSerif-Regular.ttf\n// README\n// TODO\n// DO NOT EDIT!\n\npackage fonts\n\nimport (\n\t\"bytes\"\n\t\"compress/gzip\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"time\"\n)\n\nfunc bindataRead(data []byte, name string) ([]byte, error) {\n\tgz, err := gzip.NewReader(bytes.NewBuffer(data))\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"Read %q: %v\", name, err)\n\t}\n\n\tvar buf bytes.Buffer\n\t_, err = io.Copy(&buf, gz)\n\tclErr := gz.Close()\n\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"Read %q: %v\", name, err)\n\t}\n\tif clErr != nil {\n\t\treturn nil, err\n\t}\n\n\treturn buf.Bytes(), nil\n}\n\ntype asset struct {\n\tbytes []byte\n\tinfo  os.FileInfo\n}\n\ntype bindataFileInfo struct {\n\tname    string\n\tsize    int64\n\tmode    os.FileMode\n\tmodTime time.Time\n}\n\nfunc (fi bindataFileInfo) Name() string {\n\treturn fi.name\n}\nfunc (fi bindataFileInfo) Size() int64 {\n\treturn fi.size\n}\nfunc (fi bindataFileInfo) Mode() os.FileMode {\n\treturn fi.mode\n}\nfunc (fi bindataFileInfo) ModTime() time.Time {\n\treturn fi.modTime\n}\nfunc (fi bindataFileInfo) IsDir() bool {\n\treturn false\n}\nfunc (fi bindataFileInfo) Sys() interface{} {\n\treturn nil\n}\n\nvar _authors = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\x54\\x8e\\xc1\\x4a\\x03\\x41\\x0c\\x86\\xef\\xf3\\x14\\xff\\xb1\\x05\\xf5\\x01\\x44\\x84\\x52\\x0f\\xf5\\x20\\xbb\\x74\\xf5\\x01\\xd2\\xd9\\xd0\\x1d\\x19\\x93\\x25\\x93\\x59\\xf1\\xed\\x1d\\x65\\x2e\\xcd\\x25\\x21\\xe1\\xcb\\xf7\\x1f\\x3e\\xde\\x4f\\xc3\\x79\\x0a\\xe1\\x58\\xcd\\x58\\x1c\\x47\\x15\\xb7\\x74\\xa9\\xae\\x56\\xb0\\x2b\\x6a\\xce\\x33\\x28\\xaf\\x0b\\x5d\\xd8\\x53\\xa4\\x9c\\x7f\\xf6\\x8f\\x01\\xb8\\xc7\\x68\\xb4\\x25\\xc1\\x44\\xbe\\x56\\x67\\xe0\\x69\\x2d\\x7d\\x24\\x87\\xf1\\xbc\\xb4\\x36\\xab\\x23\\xea\\xd7\\x73\\x03\\xfe\\x6a\\x34\\xfd\\xe4\\xe8\\x18\\xbe\\x85\\x0d\\xbb\\xee\\xdc\\xf7\\xeb\\xb9\\x99\\x4e\\xe4\\x77\\x78\\x95\\xf8\\x10\\xc2\\x68\\xbc\\x25\\xad\\xe5\\x26\\x52\\xf8\\x57\\x4f\\xce\\x1b\\xe3\\x8d\\xdc\\xb9\\xa8\\x74\\x7c\\xb0\\x74\\x4d\\x42\\x19\\x2f\\x5c\\xd2\\xb5\\x09\\xfa\\xfe\\x50\\x22\\xcb\\xcc\\xd6\\xff\\xfe\\x06\\x00\\x00\\xff\\xff\\x6b\\x62\\x5b\\x06\\xf2\\x00\\x00\\x00\")\n\nfunc authorsBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_authors,\n\t\t\"AUTHORS\",\n\t)\n}\n\nfunc authors() (*asset, error) {\n\tbytes, err := authorsBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"AUTHORS\", size: 242, mode: os.FileMode(420), modTime: time.Unix(1459927769, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _changelog = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\x9c\\x52\\xc1\\x6e\\xdb\\x3a\\x10\\xbc\\xfb\\x2b\\x16\\xc9\\xe5\\xbd\\x20\\x71\\x25\\xc3\\x76\\x1c\\xa0\\x28\\x20\\xc4\\x75\\x92\\x22\\x41\\x8c\\x5a\\xfd\\x00\\x8a\\x5c\\x5b\\x8b\\xd2\\x24\\x41\\xae\\xec\\xb8\\x5f\\xdf\\xa5\\xe4\\xa6\\x39\\xf7\\x20\\x88\\x5c\\xee\\x0c\\x67\\x67\\x78\\x05\\x75\\xdb\\xc1\\xab\\x66\\x28\\xa6\\x30\\x29\\xca\\x09\\xac\\xa3\\x3a\\x90\\x83\\x8d\\xe2\\xd0\\x31\\xc2\\xe7\\x90\\xce\\xab\\xaa\\x86\\x88\\xa6\\x55\\x0c\\xcb\\xd7\\x1a\\xb4\\xdf\\x7f\\x19\\xdd\\xc0\\x77\\x4c\\xde\\x1e\\xd0\\xc0\\xc5\\x83\\x3d\\x85\\x36\\xc1\\x91\\xb8\\x85\\x7d\\x67\\x99\\x82\\x45\\xe8\\x1c\\x69\\x6f\\x10\\xd0\\xc9\\x8f\\xdc\\x2e\\x01\\xb9\\x96\\x1a\\x62\\x48\\x5d\\x93\\x90\\x59\\x6a\\x17\\x70\\xb9\\x98\\x95\\xb7\\x77\\xc5\\x47\\xba\\xa1\\x54\\x5e\\xe7\\xc5\\x74\\x5e\\x94\\xa0\\xdc\\x50\\x5c\\x4c\\x66\\xd2\\xb7\\xf2\\xd6\\xfa\\xa3\\x80\\xe1\\xa1\\xda\\xac\\x81\\x55\\x23\\x97\\x1d\\x30\\x26\\xf2\\x0e\\x54\\x82\\x80\\x11\\x9e\\xa9\\xc1\\xa8\\x38\\x57\\xbc\\x35\\x7f\\x4e\\xc7\\xf0\\x5f\\xe5\\x98\\x6e\\x94\\x25\\x95\\x32\\x81\\xa1\\x94\\xd1\\xe6\\x7f\\xa1\\xad\\x8c\\x91\\xbb\\x53\\x17\\x82\\x8f\\x0c\\x5b\\x1f\\x61\\x83\\xb1\\x21\\xe5\\x60\\x37\\x4c\\x97\\x4b\\x47\\xfa\\x49\\x01\\x0d\\x29\\xb8\\x9c\\xcf\\x6e\\x17\\xd3\\x3b\\x01\\x3e\\x39\\x78\\xf1\\xce\\xa7\\xa0\\x34\\x4a\\x93\\xe3\\x74\\x0d\\x94\\x56\\xf4\\x86\\x66\\x4d\\xac\\x5b\\xe8\\x47\\x46\\x86\\x83\\xc0\\x92\\x8e\\x14\\x06\\xfa\\xdd\\x60\\x01\\xc8\\x69\\x44\\xed\\x77\\x8e\\x7e\\x89\\x00\\x19\\xe0\\x2f\\x9b\\x64\\x21\\xf6\\xf3\\x69\\x8c\\x6f\\x38\\x1a\\x5d\\xc1\\x2a\\x12\\x7c\\xeb\\x2c\\x14\\xf3\\x7f\\xc9\\xeb\\xc9\\x11\\x93\\xb2\\xef\\x5e\\xf9\\xed\\x47\\x9f\\x7a\\xe5\\xd0\\xa8\\x24\\x22\\x64\\xab\\xa3\\x4f\\xda\\xc7\\xf3\\x44\\xef\\x98\\x72\\x3c\\x29\\xc7\\x39\\xad\\x7b\\xef\\xa4\\xc6\\xd2\\x5c\\xd7\\x2b\\xd8\\x92\\xc5\\x9c\\x2f\\x7b\\xd8\\xac\\x96\\xe7\\xad\\x6c\\x1a\\x04\\x1f\\xd0\\x41\\xf2\\x5d\\xd4\\x38\\x16\\xdc\\x8f\\x60\\x94\\x08\\xbc\\xf7\\xe1\\x14\\x69\\xd7\\x72\\x1f\\xee\\x33\\x69\\x74\\x09\\x7b\\x9c\\xf4\\x64\\xb3\\xb6\\xa9\\x3e\\x05\\xec\\xbd\\x13\\x9e\\xe2\\x5a\\xd4\\x27\\x56\\xd6\\xf6\\x69\\x7f\\xdd\\x37\\x68\\x4c\\x6f\\x5e\\x02\\x95\\x9f\\x03\\x9a\\x4c\\x5e\\x35\\xf2\\x84\\xf2\\xfc\\x07\\x65\\xbb\\xde\\xbe\\xc7\\x47\\x54\\xa6\\x4a\\x42\\xcf\\x9f\\x96\\xd8\\xff\\x87\\xc3\\x21\\xcf\\xbd\\x12\\xcd\\xf2\\x65\\xaa\\x17\\xe4\\x48\\x3a\\x9b\\x15\\xc4\\x91\\x86\\x2c\\x89\\xf1\\xa3\\xd1\\xef\\x00\\x00\\x00\\xff\\xff\\xa0\\xa2\\xfc\\xc6\\x26\\x03\\x00\\x00\")\n\nfunc changelogBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_changelog,\n\t\t\"ChangeLog\",\n\t)\n}\n\nfunc changelog() (*asset, error) {\n\tbytes, err := changelogBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"ChangeLog\", size: 806, mode: os.FileMode(420), modTime: time.Unix(1459927769, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _license = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\x94\\x57\\x5d\\x8f\\xdb\\xba\\x11\\x7d\\x2e\\x7f\\xc5\\x20\\x0f\\x45\\x16\\x50\\x36\\x1f\\xfd\\x02\\xf2\\x72\\xa1\\xd8\\xf2\\xae\\x70\\xbd\\xb2\\xaf\\xac\\x4d\\x9a\\x47\\x59\\xa2\\x6d\\x36\\x92\\xa8\\x52\\x94\\x1d\\xf7\\xd7\\xf7\\x0c\\x29\\xf9\\x6b\\xb7\\xb7\\x2d\\x10\\x20\\x5e\\x89\\x33\\x73\\xe6\\xcc\\xcc\\x19\\x6a\\xaa\\xb6\\xca\\xaa\\x7f\\xc9\\x92\\xca\\xdc\\xe6\\x54\\xe8\\xf6\\x68\\xd4\\x76\\x67\\xe9\\x6d\\x71\\x47\\x9f\\x3e\\x7c\\xfc\\x40\\x0f\\x5a\\x6f\\x2b\\x49\\x13\\x6d\\x5a\\x6d\\x72\\xab\\x74\\x23\\xfe\\x70\\x50\\x76\\x47\\xa9\\xec\\xa4\\xd9\\xc3\\x72\\xa6\\x1b\\x4b\\xa1\\x51\\xb5\\x0e\\x28\\x53\\x8d\\xee\\x28\\x6f\\x4a\\x18\\xf4\\x9d\\x6a\\xe4\\xbd\\x98\\xdc\\xfa\\xfc\\x04\\xd3\\x92\\x1e\\x73\\x1b\\x50\\xdc\\x14\\xf7\\xaf\\xba\\x4b\\xf2\\x5a\\xd2\\x5c\\xad\\xa5\\x0f\\x79\\x2f\\x44\\xb6\\x53\\x9d\\x7f\\xb7\\xd2\\x1b\\x7b\\xc8\\x8d\\x24\\x3c\\xa8\\x54\\x21\\x9b\\x0e\\x56\\x7d\\x53\\x4a\\x43\\x76\\x27\\x69\\x15\\xcf\\x69\\xd1\\xca\\xc6\\x1f\\x9e\\xfb\\x03\\x81\\xf8\\x2a\\x4d\\x07\\x4f\\xf4\\xf1\\xfe\\xe3\\xe8\\x6d\\x30\\x66\\x3f\\x48\\x5c\\xc1\\xcb\\x5a\\x56\\xfa\\x10\\x38\\xfc\\x78\\x98\\x57\\x9d\\xa6\\x7c\\x9f\\xab\\x2a\\x5f\\x83\\x02\\x07\\x33\\xa7\\x59\\xf8\\x1b\\xe5\\xf6\\xb3\\xd8\\x59\\xdb\\x7e\\x7e\\xff\\xbe\\x2b\\x8c\\x6a\\x6d\\x77\\xdf\\xa9\\xea\\x5e\\x9b\\xed\\xfb\\xc5\\x6c\\x2e\\x84\\xc3\\xb0\\x8c\\x12\\x9a\\x2d\\x92\\x8c\\xe6\\xf1\\x24\\x4a\\x56\\x11\\x5d\\x40\\xa0\\x77\\xf4\\xe9\\xaf\\x34\\x93\\x6b\\xd3\\xe7\\xe6\\x08\\x56\\x3e\\xfc\\x4d\\x88\\x65\\x1a\\x85\\x4f\\x5f\\xe6\\x11\\x65\\x48\\x63\\xab\\x11\\x9e\\xf4\\xc6\\xe5\\xf4\\x22\\x1f\\x7a\\x8b\\x38\\x77\\xc4\\x2c\\x58\\x4d\\x9d\\x55\\x75\\x5f\\xe5\\x56\\x8a\\x83\\x36\\x55\\x79\\x50\\xa5\\xa4\\x52\\xee\\x91\\x4c\\x5b\\x4b\\x18\\xc1\\x4b\\xa1\\x2b\\x64\\xe1\\x2a\\xb8\\x97\\xb4\\x61\\x57\\xad\\xd1\\xff\\x90\\x85\\xed\\x02\\xe7\\xa2\\x6f\\x51\\x5f\\xeb\\xa2\\xf1\\x5b\\x51\\x18\\xe9\\xa8\\x27\\xb9\\xd9\\xe0\\x85\\x83\\x92\\x17\\x79\\x29\\x6b\\x55\\x38\\x82\\x2a\\xd5\\x6c\\x7b\\x85\\xd0\\x05\\x9c\\xd7\\x75\\xdf\\xa0\\x91\\x64\\xe7\\xc9\\x83\\x43\\x78\\xdf\\x03\\x87\\xc8\\x69\\x63\\xa4\\x74\\x4f\\x35\\x67\\xb1\\x31\\x28\\x2d\\x60\\xfe\\x20\\xd5\\xd0\\x61\\xa7\\x8a\\x9d\\x8b\\xd7\\x51\\x9d\\x1f\\xc1\\x3f\\x75\\x3b\\x24\\x55\\xfa\\x12\\xd4\\xec\\x04\\x7f\\xa8\\x46\\xb4\\xb9\\xb1\\x0d\\xf8\\xdb\\xa9\\xd6\\x17\\x42\\x03\\xa9\\xe9\\x5c\\x29\\xc1\\xcf\\x6c\\x8e\\x6a\\xa1\\x76\\x9d\\x4b\\xe0\\xd4\\x15\\xde\\x33\\xd0\\xc0\\x71\\x8f\\x07\\x01\\xa8\\xea\\x4b\\xc5\\x3f\\x6a\\x5d\\xaa\\x8d\\xf2\\x91\\x04\\x22\\x22\\x13\\xa3\\xd6\\xbd\\x65\\x2b\\x00\\xae\\x8e\\x94\\xa3\\x43\\x74\\xb3\\xe5\\xff\\xe1\\xf4\\xe8\\xc8\\x6e\\xb4\\xa5\\x4e\\x57\\xe8\\x94\\x23\\x3f\\xac\\x3b\\x59\\xed\\x25\\x50\\x64\\x03\\x6d\\xc8\\x5f\\x35\\x45\\x85\\x18\\x6c\\xd8\\x1c\\x51\\x06\\xa3\\xf6\\x9e\\x74\\x4e\\x1a\\xef\\x8b\\xbc\\x61\\x38\\x6b\\x74\\x6c\\xc5\\x40\\x64\\xbd\\x96\\x65\\x89\\x5f\\x37\\x28\\x80\\xeb\\xbd\\x36\\x3e\\x9a\\x6f\\x3d\\xb8\\xeb\\xc6\\xde\\x1f\\xe8\\x05\\xd5\\xbb\\xdc\\xba\\x57\\x66\\x18\\x20\\xd1\\x80\\xe0\\xee\\x84\\x96\\xd3\\x66\\xb4\\xb7\\x40\\xee\\x89\\x4e\\xa0\\x1d\\xdb\\xe7\\x03\\x5d\\x20\\x76\\xfa\\x80\\xfe\\x31\\x0e\\x2d\\x7b\\x01\\x60\\x23\\x2b\\x99\\x9f\\x47\\x8d\\x43\\xba\\x1a\\x90\\x3d\\xb6\\x92\\xbb\\x63\\x60\\xdd\\x3b\\x46\\x32\\xff\\xec\\x95\\x91\\xae\\xff\\xd0\\x40\\xe7\\x52\\xe0\\x59\\x8e\\xd2\\x8f\\x03\\x7b\\x31\\x87\\xa5\\x06\\x6e\\x8e\\x96\\xb7\\x2d\\xf8\\xb7\\x5a\\x38\\x06\\x75\\xd1\\x3b\\x2f\\xae\\x23\\x39\\x7e\\xc7\\xe4\\xda\\x13\\x78\\xed\\xe6\\x5e\\x99\\xcb\\x0c\\xd0\\x17\\x24\\xc4\\x34\\x9a\\xc5\\x49\\x9c\\xc5\\x8b\\x64\\x25\\xde\\x5c\\x69\\xc7\\x1b\\xc0\\xd8\\xa0\\x7f\\x18\\x10\\x7b\\xea\\xa4\\x9b\\x92\\x8d\\xaa\\x00\\xe1\\x94\\xa9\\x2f\\x32\\x9d\\x14\\x4c\\x3c\\xa2\\x18\\xd2\\xbc\\xed\\xee\\x5e\\x83\\xcf\\x24\\x16\\xb0\\x34\\xc0\\x5e\\xe7\\xe6\\x07\\xd7\\xb0\\xc3\\x60\\x15\\xbb\\x7b\\xaf\\x37\\xdc\\xe1\\xbe\\x3b\\x10\\x50\\xf7\\xa6\\x90\\x3e\\x60\\x80\\x66\\x50\\xa8\\xf2\\x20\\x25\\xbe\\x1a\\x43\\xd6\\xa3\\xfc\\xbd\\x79\\xa9\\x8f\\x97\\x39\\x30\\x51\\xbe\\xee\\x5d\\x2b\\x8b\\xa1\\xb1\\x7d\\x70\\xca\\x37\\xd6\\x4b\\xa3\\x38\\xcb\\x7b\\x07\\xc7\\xae\\x36\\xc8\\x85\\xbd\\x2f\\xf0\\x58\\x35\\x79\\x35\\x6a\\xd4\\x2d\\x3f\\x2c\\x1f\\xd0\\x0a\\xd6\\x03\\xd0\\x74\\x2d\\xc3\\x98\\xfe\\x56\\x37\\xf0\\xd5\\x09\\x84\\xbc\\x6c\\xe1\\x5b\\xfe\\xe8\\xc4\\x1f\\xc7\\x7c\\x1a\\x27\\xf0\\x95\\x98\\x37\\xa3\\x53\\x43\\x77\\xd8\\x5b\\x5e\\xba\\xc1\\xb2\\xd8\\x34\\x25\\x8a\\x64\\xf1\\x47\\x20\\x78\\x48\\xfa\\x35\\x84\\xc8\\xf6\\xfc\\x80\\x7e\\x61\\x65\\x61\\xbd\\xe0\\xce\\x70\\x22\\xa3\\xa1\\xde\\xbf\\xb8\\x66\\x1a\\xf4\\xf4\\x0c\\xf9\\xa4\\xb0\\x37\\x04\\x04\\x1c\\xae\\xd8\\xe5\\xcd\\x96\\x5d\\xa2\\x81\\xeb\\xdc\\xb5\\x9a\\xc0\\x63\\x16\\xca\\xb1\\x05\\xaf\\xa9\\x60\\xe4\\xd4\\xc8\\x03\\xc9\\x66\\xaf\\x8c\\x6e\\x98\\x61\\x4e\\x35\\xec\\xed\\x4e\\x9b\\x97\\x09\\x76\\x6a\\xdb\\xf0\\x94\\x49\\x0e\\x23\\xf9\\x17\\xe6\\x7a\\x0b\\x85\\xac\\xf9\\xb7\\x95\\xc5\\xae\\x51\\x05\\x40\\x1d\\x8c\\x42\\x0d\\x39\\x53\\x3f\\x72\\x2d\\xbc\\x68\\x97\\x19\\x52\\x69\\x4e\\x7c\\x0f\\xc5\\xba\\xc2\\x84\\xf0\\x62\\x19\\xa5\\x4f\\xf1\\x6a\\x85\\x39\\xa0\\x3f\\xd2\\x64\\x91\\x4c\\x87\\x99\\x10\\x4b\\x69\\x6a\\xd5\\xb9\\xa5\\x84\\xfe\\x84\\x67\\x89\\xf4\\x10\\xbf\\xb1\\xac\\x4c\\x4e\\xb8\\x79\\x77\\x40\\x92\\xb7\\x32\\x18\\x61\\x0f\\xc1\\xf5\\xda\\x62\\x8e\\x9d\\xce\\xb9\\xc6\\x1a\\x99\\xbc\\x8a\\xee\\x8c\\x20\\x41\\x5e\\x78\\x8f\\x81\\xbb\\x61\\x40\\x7c\\xa5\\x73\\xe8\\xa4\\x6f\\x90\\xe2\\xe3\\xb5\\xfe\\xf9\\x3d\\x02\\x79\\xad\\xae\\x94\\x1a\\x73\\x77\\xfa\\xd3\\xed\\xec\\xee\\x32\\xac\\x38\\x87\\x45\\x47\\xf0\\x72\\x1b\\x29\\xd9\\x68\\xde\\x0e\\x0c\\x16\\x7c\\x95\\x8a\\x1b\\xb9\\xfb\\x2c\\xc4\\xc7\\x3b\\x4a\\xa4\\xf2\\x2a\\xf6\\xa2\\x98\\x8d\\x1e\\x54\\x6e\\x43\\x0a\\xb5\\x57\\xb0\\x83\\xe4\\xf6\\x28\\xc7\\xb9\\x7d\\x02\\xac\\x26\\xa2\\x73\\xf7\\xc0\\xe4\\xb6\\xad\\x31\\xde\\xe3\\x6a\\x1b\\x16\\x07\\xbc\\xc9\\x6a\\x83\\xc2\\x7c\\xba\\xfb\\x7d\\xcb\\x57\\x29\\x1d\\xbd\\x8d\\x0b\\x84\\xe3\\xff\\x1f\\x9b\\x23\\xb8\\x59\\x1d\\x32\\x87\\x44\\x70\\x55\\xd8\\x0f\\x37\\x13\\x8a\\xea\\xb7\\x28\\xae\\x0b\\x7b\\x79\\x71\\x25\\x84\\x32\\x43\\xe9\\xfc\\x7e\\xbf\\xd0\\xbd\\x7b\\x96\\x7b\\xc8\\x9f\\xdf\\x6b\\xec\\x65\\xd0\\xb8\\x92\\x06\\x6a\\x59\\x88\\x2c\\xcc\\xde\\xe5\\xd8\\xa7\\x18\\x12\\xf9\\xd3\\x8e\\xc2\\xb7\\xeb\\xeb\\xbc\\x79\\x07\\x61\\x2f\\xdd\\x15\\x6b\\x87\\x1f\\x3c\\x20\\x98\\x33\\xe7\\xc7\\xe3\\x68\\x81\\xb8\\x35\\x0a\\x8a\\x85\\xdc\\x8b\\x1d\\x26\\xe5\\x6c\\x51\\x4b\\x9b\\xbb\\xab\\x2b\\x88\\xab\\xca\\xce\\xe5\\xcb\\x76\\x1c\\xc3\\x7b\\x59\\x83\\x5e\\x5c\\xb1\\xbc\\xb4\\x5f\\xed\\x74\\xdd\\xc9\\xd1\\x6c\\x58\\xca\\x90\\x7d\\x05\\xf5\\xde\\x2b\\x79\\x38\\xcb\\x17\\xda\\xd7\\xa0\\x58\\x7f\\x42\\xaf\\xe8\\x17\\x35\\xfa\\xcf\\x25\\x82\\x99\\x7b\\x73\\x25\\xdc\\x0c\\x88\\xb5\\xdb\\xaf\\x10\\x20\\xea\\x48\\xfe\\x6c\\xc1\\xa4\\xb2\\x6e\\xc8\\x2d\\x6e\\x48\\xed\\xd5\\x50\\x0e\\xd3\\x38\\x80\\xf1\\x45\\x32\\xd8\\xf5\\x2d\\xf7\\x31\\x32\\xb9\\x15\\x57\\x2e\\x87\\xe2\\x1d\\xc6\\xfd\\x30\\x28\\x76\\xc3\\xb7\\x19\\xec\\x54\\x1e\\x17\\x3f\\x10\\xec\\x07\\x94\\xd6\\x8e\\x19\\x86\\xce\\xcb\\x83\\x59\\x69\\xf9\\x1a\\xd1\\x5c\\x88\\x09\\x67\\xcf\\xeb\\xf4\\xcf\\x77\\xee\\xbe\\xd0\\x0c\\xe0\\x87\\xb4\\x5f\\x91\\xf6\\x61\\x1f\\x93\\xd7\\xbc\\x8b\\xb3\\x63\\xfe\\x27\\x96\\x70\\xd5\\xc3\\x78\\x0f\\xd7\\x0b\\x77\\x4f\\xf1\\xf7\\xc6\\x5a\\xf3\\xfc\\xcb\\xa6\\xd4\\x06\\x1c\\xf2\\x14\\x96\\xb8\\x8b\\x58\\xe5\\x76\\xac\\xeb\\xd3\\xdb\\x2a\\xe0\\xf4\\xcf\\x42\\xb6\\x6e\\xdc\\xf3\\xe2\\x47\\xa3\\x0f\\x98\\x8c\\xad\\x1c\\xb4\\x7e\\x10\\x48\\x9c\\x3b\\xa3\\x61\\x2f\\xaf\\x81\\xf7\\xdd\\x7d\\x85\\xde\\xf8\\x21\\xf2\\x77\\x8c\\xdb\\x6a\\x39\\x22\\x4f\\x05\\x03\\x4f\\x7f\\xf1\\x3c\\xdd\\xa8\\xe0\\x49\\xb4\\xe0\\xed\\x2c\\x61\\xc1\\x6b\\x9b\\x0a\\x87\\xfb\\xce\\x11\\x05\\x56\\x2e\\xc7\\x1a\\x65\\xc1\\x85\\x0a\\xa5\\x7c\\x79\\xf7\\xf0\\x6a\\xc9\\x76\\x23\\x9d\\x17\\x86\\xec\\xea\\xf6\\xce\\x76\\x39\\xbb\\xf4\\x3f\\x5d\\xd5\\xd8\\xcb\\xef\\xdf\\xd6\\xe8\\xbf\\xdc\\xd6\\x6e\\xeb\\xcf\\x9b\\x89\\x44\\xc6\\xbb\\x29\\x09\\x79\\x21\\x5d\\x7f\\x95\\xad\\x25\\x64\\x96\\x43\\xf4\\x68\\x12\\x4e\\x6f\\xaf\\x15\\x3e\\x05\\x36\\x74\\xb1\\xc7\\x47\\x89\\x1a\\x25\\xfd\\x74\\xeb\\x85\\x2c\\x0c\\x57\\xc0\\x78\\x35\\x99\\x87\\xf1\\x53\\x94\\x8a\\xec\\x31\\xf2\\xdf\\x63\\xab\\xc5\\x2c\\xfb\\x16\\xa6\\x11\\xc5\\x2b\\x5a\\xa6\\x8b\\xaf\\xf1\\x34\\x9a\\xd2\\x9b\\x70\\x85\\xbf\\xdf\\x04\\xf4\\x2d\\xce\\x1e\\x17\\xcf\\x19\\xe1\\x44\\x1a\\x26\\xd9\\x77\\x7c\\x5c\\x50\\x98\\x7c\\xa7\\x5f\\xe3\\x64\\x1a\\x88\\xe8\\xef\\xf8\\x4a\\x5b\\xad\\x68\\x91\\x52\\xfc\\xb4\\x9c\\xc7\\xd1\\x14\\x5f\\xb1\\xc9\\x64\\xfe\\x3c\\x8d\\x93\\x07\\xfa\\x02\\xbb\\x64\\xc1\\x5f\\x7c\\x4f\\x71\\x06\\xa7\\xd9\\xc2\\x99\\x0e\\xae\\xe2\\x08\\x76\\x33\\x01\\x2c\\x93\\x47\\xfc\\x19\\x7e\\x89\\xe7\\x71\\xf6\\x3d\\xa0\\x59\\x9c\\x25\\xec\\x73\\x06\\xa7\\x21\\x2d\\xc3\\x34\\x8b\\x27\\xcf\\xf3\\x30\\xa5\\xe5\\x73\\xba\\x5c\\xe0\\xc3\\x31\\x4c\\xa6\\x70\\x9b\\xc4\\xc9\\x2c\\x45\\x94\\xe8\\x29\\x4a\\x32\\x01\\x54\\x93\\xc5\\xf2\\x7b\\x1a\\x3f\\x3c\\x66\\x01\\x8c\\x32\\x3c\\xc4\\xf7\\x77\\x1a\\x4e\\xa3\\xa7\\x30\\xfd\\x35\\x60\\x84\\x0b\\xa4\\x9c\\x92\\x3b\\x82\\x5b\\x79\\x9c\\xc0\\x09\\x45\\x5f\\x23\\xa6\\xe0\\x31\\x9c\\xcf\\x09\\xaf\\xc5\\xc9\\x09\\x3d\\x2e\\xe6\\x53\\x1c\\xff\\x12\\x01\\x7e\\xc8\\x9f\\xa1\\x0e\\x0f\\xe0\\x3b\\x02\\x03\\x9a\\x86\\x4f\\xe1\\x43\\xb4\\x3a\\x3b\\xe6\\x63\\x3e\\x05\\x71\\xa6\\x80\\x0d\\x1e\\xa2\\x24\\x4a\\xc3\\x79\\x40\\xab\\x65\\x34\\x89\\xf9\\x07\\xb8\\x8b\\xd3\\x68\\x92\\x39\\xb2\\xc0\\x37\\xb2\\x9f\\x3b\\x88\\xb8\\x8d\\xac\\xa2\\xdf\\x9e\\xf1\\x00\\xe7\\xc4\\x10\\x02\\x45\\x78\\x8c\\x5c\\x08\\x60\\x0e\\xf1\\x6f\\xc2\\xed\\x41\\x2e\\xe5\\x04\\x29\\xb2\\x9f\\x6c\\x91\\x66\\x27\\x28\\xdf\\xe2\\x55\\x14\\x50\\x98\\xc6\\x2b\\x40\\x10\\xb3\\x74\\x01\\xb8\\x5c\\x43\\x58\\x70\\xd5\\x9f\\xc1\\x21\\x17\\x2c\\x19\\xf0\\x72\\x5d\\xf8\\xd9\\xcb\\x8e\\xc0\\x29\\xb6\\xf6\\x5e\\xf1\\xfd\\x10\\xce\\xe1\\x70\\xc5\\x30\\x5e\\x9c\\x45\\x7f\\xfd\\x3b\\x00\\x00\\xff\\xff\\x68\\xbf\\x26\\x59\\x3e\\x11\\x00\\x00\")\n\nfunc licenseBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_license,\n\t\t\"LICENSE\",\n\t)\n}\n\nfunc license() (*asset, error) {\n\tbytes, err := licenseBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LICENSE\", size: 4414, mode: os.FileMode(420), modTime: time.Unix(1459927769, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _liberationmonoBoldTtf = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\xe4\\xbd\\x77\\x60\\x54\\xc5\\xfa\\xff\\x3f\\x73\\xce\\xd9\\xdd\\xf4\\x64\\xd3\\x43\\x42\\x76\\x37\\x21\\xa1\\x04\\x08\\x10\\xba\\x94\\x05\\x92\\x10\\x40\\x3a\\x48\\x96\\x96\\x84\\x26\\x22\\x55\\x8a\\x15\\x09\\x8a\\x52\\x04\\x41\\x01\\x45\\x41\\x8a\\xa2\\xa0\\x82\\x84\\x5e\\xa4\\x89\\xa8\\xa0\\x22\\x28\\x36\\x14\\x05\\x01\\x89\\x5e\\x15\\x50\\xd1\\xeb\\x15\\xd8\\xfc\\x5e\\xb3\\x7b\\x96\\x44\\x3e\\x78\\xef\\xfd\\x7c\\xbf\\xbf\\xff\\xbe\\x5c\\x9f\\xcc\\x39\\x33\\xf3\\xb4\\xf7\\xf3\\xcc\\xcc\\x33\\x87\\x72\\x85\\x14\\x42\\x44\\xf3\\xc3\\x10\\xce\\xfc\\xfc\\x3e\\x5d\\x4b\\x9c\\x25\\xbf\\x08\\x63\\xe8\\x68\\x7a\\x53\\x3a\\xe6\\xe6\\xe5\\xdf\\xfb\\xe5\\xf8\\x0f\\x79\\x9f\\xc5\\xfb\\xac\\x8e\\x3d\\xba\\xf7\\x3e\\x7e\\xee\\x93\\x0e\\xc2\\x18\\x16\\x25\\x44\\x4e\\x9b\\x8e\\xbd\\xfb\\xb6\\xaf\\xb5\\xf9\\xce\\x22\\x61\\x3c\\xdd\\x43\\x08\\x3d\\xad\\x7b\\xef\\xec\\x46\\xf2\\xe0\\x9e\\x56\\x42\\xc8\\xb5\\xcc\\x2f\\x1e\\x3a\\xa6\\x64\\x7c\\x87\\x94\\x94\\x4f\\x84\\xa8\\x39\\x52\\x08\\x6b\\xfd\\xa1\\x53\\x26\\x39\\x67\\x77\\x78\\xa0\\x99\\x10\\xb7\\x14\\x08\\xa1\\xbd\\x36\\x62\\xfc\\xed\\x63\\x1e\\x2c\\xd9\\x66\\x17\\xa2\\xde\\x12\\x21\\x6c\\x5b\\x6e\\x2f\\x99\\x38\\x5e\\xc4\\x8b\\x60\\xf4\\x0d\\x84\\x3f\\xea\\xf6\\xd1\\xf7\\x8e\\x68\\x3a\\xf3\\x5a\\x98\\x10\\xbc\\xeb\\x4b\\x96\\x8c\\x1c\\x5e\\x32\\xec\\xaa\\x7d\\xc6\\x04\\xe4\\xd7\\x65\\xbc\\xe9\\x48\\x3a\\x82\\x86\\x59\\x5b\\xf0\\x3e\\x8c\\xf7\\x1a\\x23\\xc7\\x4c\\xba\\xe7\\x4b\\xcb\\xd6\\xf6\\xc8\\x0e\\x12\\x22\\xa3\\x78\\xf4\\xb8\\xa1\\x25\\xf6\\x87\\xa6\\x3b\\x85\\x68\\xfd\\x07\\xef\\xc3\\xc6\\x94\\xdc\\x33\\x3e\\xfc\\xa2\\x71\\x80\\xf9\\xca\\x1f\\xe7\\xd8\\x92\\x31\\xc3\\xfb\\x2c\\x5c\\x74\\x54\\xe8\\x57\\x2e\\x0b\\x11\\xfa\\xfa\\xf8\\x71\\x13\\x27\\xb5\\x3a\\xb4\\xb8\\x8e\\x30\\x6c\\x65\\x42\\x0c\\x78\\x75\\xfc\\x5d\\xc3\\xc7\\x47\\xd6\\x5c\\x3d\\x5b\\x88\\x26\\xb7\\x0a\\x61\\xf9\\xd3\\x87\\x95\\x26\\xc4\\xaf\\x0d\\x33\\x9f\\x2c\\x8a\\x6c\\xf5\\x9b\\xe6\\x40\\x0d\\xbf\\xde\\x5f\\x58\\xbd\\x63\\xa0\\xbd\\x9a\\x71\\xf5\\x9a\\x65\\xa1\\xed\\x3b\\xe6\\xaa\\x41\\xe9\\x9b\\xc0\\x4f\\xeb\\xcb\\xd7\\x9e\\x01\\xe4\\x23\\x57\\x33\\xfe\\xbc\\xcf\\xb2\\xd0\\xec\\xbf\\xfe\\x2b\\xb8\\x50\\xf5\\x04\\x17\\xca\\x34\\x51\\x20\\x06\\x09\\x2b\\x5a\\xa2\\x44\\xb6\\x00\\x05\\xfd\\x84\\x6e\\x17\\x3a\\xa3\\xba\\x71\\x44\\xdb\\x2d\\x2c\\xd8\\xf1\\xac\\x25\\x07\\x91\\xd5\\xfd\\xad\\x5e\\x22\\x46\\x68\\xd1\\x41\\x16\\xcd\\x66\\x0b\\xd6\\x34\\x8b\\x66\\x18\\xa7\\x45\\x48\\x85\\x5b\\xdc\\x53\\x11\\xd0\\xde\\xb0\\x5d\\xef\\x0e\\xc2\\x29\\x9c\\xde\\x74\\x8b\\xdd\\xdb\\x47\\x59\\xa2\\xdd\\x5e\\x2c\\xe4\\xbe\\x53\\xff\\xc4\\x9e\\x96\\x96\\x3c\\x85\\x84\\x88\\x30\\x8e\\x88\\x69\\x6a\\x36\\xad\\x49\\xf2\\x63\\xda\\x3f\\xa1\\x5b\\xa0\\x3c\\xb3\\x3f\\x91\\xfe\\xaf\\xa1\\x42\\x28\\x87\\xf7\\x93\\xd0\\x70\\x9e\\x35\\x28\\x17\\xfa\\x94\\x77\\x0f\\x34\\x19\\x9a\\x03\\xdd\\x0f\\x0d\\x82\\x3a\\x42\\x23\\xa1\\xa9\\xd0\\xc3\\xd0\\x18\\xe8\\x2e\\xff\\x7c\\x99\\xef\\x97\\x71\\x9d\\x3a\\x43\\x75\\x4d\\x7d\\xb3\\xa1\\x1e\\xd0\\x4c\\xf3\\x79\\x8d\\xf9\\xae\\x64\\x3f\\x07\\x8d\\x80\\x66\\x41\\xc7\\xa1\\xa1\\xe6\\xbc\\x02\\xb3\\xaf\\xc0\\xe4\\xc9\\x84\\x5a\\x43\\xd3\\x21\\xbd\\xd2\\x3f\\xdf\\x73\\x3f\\xf4\\x2b\\x5b\\x07\\x40\\x5e\\xa8\\x9e\\x71\\xa4\\xe2\\x0a\\x7d\\xea\\x7d\\x14\\x34\\x17\\x1a\\x0b\\x95\\x40\\xc3\\x4c\\xbf\\x1e\\x80\\xe6\\x43\\x53\\xcc\\xf7\\xf5\\xe6\\x73\\x9e\\xa9\\x7f\\xa0\\xc9\\xa7\\x78\\xde\\x86\\xee\\x85\\x56\\x99\\x63\\x0e\\x28\\x14\\x6a\\x68\\xda\\xa5\\xfc\\x38\\x80\\xbe\\xb3\\xb4\\x3b\\xa0\\xa2\\x2a\\xd8\\x0f\\x81\\x3a\\x99\\x3e\\xba\\xcc\\x39\\x77\\xd2\\xba\\x4c\\x39\\xef\\x42\\x33\\xa0\\x3e\\x7e\\xec\\x55\\x9f\\xcf\\xf6\\x4c\\x33\\x26\\x71\\x50\\x10\\x34\\xce\\xf4\\x7d\\x62\\x65\\x7c\\x64\\x0c\\xed\\x59\\x93\\x5f\\x42\\x9a\\x69\\xd7\\x03\\x55\\xf0\\xb9\\x19\\xf5\\x30\\x31\\xad\\x4a\\xcf\\xdd\\x40\\x11\\x55\\xe2\\x70\\x23\\x29\\x5f\\xea\\x9b\\xf6\\x54\\x25\\xdd\\x94\\x55\\x6a\\xe2\\x7e\\x33\\x8a\\x35\\x63\\x31\\xec\\x06\\x9a\\x72\\x03\\xf5\\xa9\\x12\\x87\\x1b\\x69\\xb8\\xd9\\xce\\xbc\\x81\\x32\\xcd\\x98\\x66\\x9a\\x7e\\x8e\\xba\\x49\\xdb\\xc3\\xd4\\xff\\x77\\xad\\x92\\x93\\x62\\xfa\\x3f\\xd0\\xf4\\x67\\xd8\\x7f\\xd1\\xf6\\x30\\x71\\xff\\xbb\\x76\\x8e\\x69\\x9b\\x8a\\x51\\xb0\\x89\\xf1\\x94\\xff\\xa2\\x55\\xb9\\xf3\\x8a\\x89\\xf9\\x66\\xc3\\xbf\\x26\\xd6\\x9b\\x74\\xdc\\x9c\\x53\\xb5\\xcd\\xab\\xf2\\x2e\\xcc\\xf6\\x46\\x9c\\x02\\xa4\\xc6\\x27\\x54\\x89\\xf3\\xc0\\x9b\\xb4\\xa9\\x26\\x1e\\xca\\xcf\\xb7\\xcd\\xf6\\x85\\x2a\\xef\\x0a\\xeb\\x7b\\xff\\x4d\\xab\\xd6\\xec\\x2a\\xb3\\x6d\\x0c\\xb5\\x81\\x36\\x18\\xfe\\x7c\\x99\\xf9\\xbf\\x68\\x95\\xad\\x2a\\xb7\\x75\\x53\\xb6\\xb9\\xee\\x7d\\xb8\\xde\\xd0\\xfa\\xf6\\x82\\x48\\xa3\\x72\\xef\\x99\\x6b\\x3e\\x5b\\xcc\\x78\\x28\\x1a\\x62\\xc6\\x58\\x98\\x98\\x95\\x98\\x6d\\x6f\\xd3\\xf7\\xce\\xe6\\xd8\\x46\\x73\\xbe\\xd2\\xd7\\xc5\\xa8\\x5c\\x1f\\x81\\x38\\x04\\xf6\\x0c\\x78\\x2a\\x8e\\x19\\x7f\\x5d\\x33\\x03\\x4d\\x9f\\xb3\\x4c\\x59\\x8b\\x4c\\x7b\\xdc\\x86\\x7f\\x0f\\x55\\x79\\xb3\\xcb\\xc4\\x47\\x54\\xc1\\x29\\xe0\\x73\\x23\\xc3\\xbf\\x1f\\x2a\\xdd\\x51\\x50\\x37\\xe8\\x51\\xa8\\x9a\\x39\\xa6\\xf2\\xf5\\x21\\xe8\\x3e\\xc3\\xbf\\x26\\xa6\\x99\\x63\\xf4\\xc9\\x1f\\xa1\\x04\\xbf\\x9f\\xbe\\x7d\\x28\\xcd\\xa4\\x84\\x2a\\x18\\x58\\xcd\\x56\\xe9\\x6b\\x61\\x54\\xae\\x91\\x40\\xee\\x05\\x7c\\xf8\\x6f\\x63\\x34\\xcc\\xb8\\xf9\\xba\\x8b\\x35\\xf5\\x64\\x18\\x95\\xeb\\x21\\x80\\xdf\\x8d\\xf9\\x56\\xcd\\x94\\xb3\\xf9\\x26\\x36\\x2b\\x3e\\x8f\\x89\\x61\\xd5\\x1c\\xae\\xaa\\xa7\\xbe\\x29\\x47\\xbd\\xe7\\x54\\x19\\x57\\xfb\\x67\\x4f\\xa3\\x72\\xbd\\xe6\\x9b\\x54\\xd5\\xd7\\x9c\\x2a\\x76\\x74\\x35\\xdf\\x03\\x79\\x5e\\x74\\x43\\x6c\\x6e\\xcc\\x6f\\x25\\x4b\\x9d\\x6b\\x81\\x75\\x3e\\xc7\\x9c\\xe3\\x36\\xb1\\x0d\\xe4\\x68\\xc0\\x9e\\x80\\x1d\\x7f\\xb7\\xee\\x02\\x6d\\x20\\xdf\\x55\\xbe\\xaa\\x33\\x78\\xa9\\x89\\x51\\x35\\xa3\\x72\\x2f\\xaf\\x69\\xf8\\xf7\\xcb\\x20\\xd3\\x3e\\xa5\\x27\\xde\\x9c\\x1b\\xc0\\x25\\xd6\\xd4\\xa9\\xf6\\x1e\\xb5\\x97\\x4c\\x36\\x75\\x94\\x98\\x73\\x1e\\x35\\xdb\\x4c\\xd3\\x6f\\xd5\\x3f\\xd7\\xa4\\x7b\\xcc\\xfe\\x12\\xa3\\xf2\\x0c\\x55\\xd4\\xc0\\xf0\\xd7\\x01\\xc5\\x50\\xb6\\x69\\xdf\\x9d\\x66\\x9c\\x1e\\x30\\xed\\x6f\\x02\\xd9\\x0c\\x7f\\xbe\\xcf\\x37\\x2a\\xcf\\xdc\\xbb\\xab\\x60\\xaf\\xe8\\x94\\xe1\\xcf\\xe5\\x2e\\x26\\xb1\\xa6\\x2a\\x5e\\x34\\xb1\\x9e\\x65\\xca\\x52\\x39\\xdf\\xc6\\x7c\\x5e\\x54\\x85\\xde\\x36\\xe9\\x0f\\x68\\x61\\x15\\xec\\xd5\\xba\\x38\\x69\\xd2\\x59\\xb3\\xef\\x80\\x19\\x2f\\xb5\\xa7\\x75\\x36\\xfe\\x7a\\x9e\\xd7\\x34\\xed\\x55\\xfc\\xb9\\xa6\\x8f\\xf7\\x98\\xf1\\x1a\\x6f\\xea\\xbd\\xcb\\xc4\\x6d\\xbe\\x69\\x6f\\x0f\\x13\\xbb\\xdb\\xa1\\x96\\xd0\\xe7\\x26\\x46\\x01\\x1e\\x85\\x65\\x1d\\xc3\\xbf\\x0f\\xa8\\x7a\\xa1\\x2f\\x54\\xcb\\xf4\\xe3\\x36\\x53\\x3f\\x75\\x98\\x6f\\x2d\\xb0\\x3e\\x2a\\xa8\\xd5\\x64\\x92\\x49\\xef\\x41\\x0b\\x4c\\xea\\x00\\x05\\xf6\\xaa\\x1f\\xfd\\xf5\\x9b\\xaa\\xeb\\xe4\\x27\\x55\\xe8\\xb2\\x49\\x0e\\x3f\\x5d\\xaf\\xc5\\xda\\x98\\xf4\\xbb\\x9f\\x34\\x7c\\x97\\xd8\\x23\\xe7\\xfb\\xe9\\xc6\\x77\\x9f\\xde\\xf7\\xaa\\xc8\\x2b\\xab\\x42\\x35\\x20\\x03\\xfa\\x02\\x9a\\x04\\xad\\x46\\xe6\\x69\\x7f\\xee\\x48\\xce\\x0a\\xa9\\xf2\\xec\\x7b\\x64\\x12\\x73\\x49\\x9d\\x29\\x2e\\x98\\xf6\\x4c\\xba\\x09\\x4d\\xf4\\x93\\xb2\\x49\\xe9\\x57\\x7c\\xd7\\xd7\\xf5\\x5b\\x26\\x2d\\x86\\xda\\x81\\xcb\\x3e\\x93\\x2e\\x9b\\xfd\\x2f\\xdf\\x40\\xa9\\x26\\xb5\\x14\\xe2\\x1a\\x77\\x15\\x6f\\x89\\x10\\x15\\x33\\x85\\xb8\\x3a\\x98\\x67\\xac\\xbb\\xc6\\x5d\\xc6\\xbb\\x9c\\xbe\\x89\\xb4\\xaf\\x43\\x91\\x3c\\xbb\\x69\\xeb\\xfa\\xe7\\x55\\x6c\\x83\\x9a\\xfb\\xdf\\xbd\\x6a\\xee\\x3a\\xde\\xc7\\x56\\x92\\x88\\xa5\\xad\\x6d\\x52\\x2e\\x54\\xcc\\x1c\\xc5\\xf7\\x23\\x34\\x0f\\xea\\x64\\x12\\x77\\x08\\x6f\\x6f\\xda\\x78\\xff\\x9d\\xc0\\xa7\\x6f\\x97\\x5f\\x57\\xc5\\x23\\x3c\\x5f\\xa1\\x2d\\xf0\\xeb\\x53\\xfc\\xde\\x8d\\xd0\\x13\\x26\\x3d\\xed\\xd7\\x5d\\x71\\x07\\xed\\x51\\x6c\\x3e\\x48\\xfb\\x96\\xf9\\x8e\\xcd\\xd7\\x14\\x4f\\x2a\\xef\\x56\\x68\\xae\\xa9\\x1f\\x5b\\xbc\\xdc\\x73\\x2a\\xb2\\xa1\\x65\\xcc\\xd9\\xcc\\x7b\\x2f\\xbf\\x6e\\xef\\x4a\\xbf\\xed\\x5e\\x35\\xf6\\x82\\xa9\\x2f\\x9c\\xe7\\xd6\\x26\\xdf\\xf3\\xd0\\xb7\\xfe\\x79\\x5e\\x2f\\x7d\\xdc\\x8f\\xae\\x61\\x77\\xc5\\x38\\xbf\\x4f\\xde\\x37\\x4d\\xb9\\xe3\\xfc\\xe4\\x3d\\x45\\xfb\\x38\\x82\\x95\\x0f\\x1d\\x4c\\x8c\\x1a\\x42\\xbd\\xff\\x9e\\xbc\\x8f\\xfb\\x7d\\xac\\x58\\x45\\x3b\\xdf\\xf4\\xf7\\x35\\x53\\x37\\xb6\\x5e\\xbb\\xc8\\x58\\x1d\\x3f\\x79\\x67\\xf8\\x6d\\x14\\x27\\xa0\\xfe\\xd0\\x51\\x73\\xfd\\x8d\\xf5\\xb7\\xea\\x8e\\x21\\xbf\\xe4\\xf9\\x5f\\x66\\xbe\\x51\\x07\\x57\\x1c\\x36\\xe9\\xdd\\x2a\\xcf\\x87\\xcd\\xfd\\x25\\x70\\xfe\\xab\\x33\\x3c\\xda\\x7c\\x0e\\xec\\xc3\\x6d\\x8c\\xca\\x73\\x5c\\xe5\\x6c\\xe0\\xde\\x31\\xd1\\x5c\\xdf\\x73\\xcc\\x31\\xb5\\x07\\xa8\\x3d\\x5e\\xed\\xc3\\xc1\\xa6\\xcc\\xfa\\xe6\\x5e\\xf4\\x9c\\xd9\\xaf\\xf6\\x7e\\xb5\\x0f\\x8e\\x33\\xf5\\x3e\\x6e\\xf6\\xa9\\x96\\xf5\\x22\\x6e\\x35\\xc7\\xd7\\x9a\\x73\\x1e\\x32\\xe7\\xa9\\x35\\xdf\\xc1\\xdc\\x3f\\xd4\\x9e\\xb0\\xcc\\xdc\\x63\\x92\\x0d\\x7f\\x0d\\xbd\\xc2\\xdc\\x5f\\x4a\\x4d\\x59\\xb5\\x4d\\x52\\x35\\x61\\x76\\x15\\x5d\\x03\\xcd\\x36\\xdb\\xdc\\x87\\xd4\\xba\\xa3\\xfe\\xf1\\xce\\xf2\\xb7\\xbe\\xf1\\xfa\\xa6\\x2d\\x81\\x73\\x25\\x50\\xef\\xaa\\x33\\x4b\\xed\\xf1\\xdc\\x33\\x7c\\x7b\\x9f\\x3a\\x43\\xd4\\xde\\xd1\\xd1\\xbf\\xee\\xae\\xd7\\xe1\\x4f\\x40\\x4e\\xc3\\x7f\\x9e\\x0d\\x86\\x42\\x20\\xc3\\xf4\\x6d\\x80\\xe9\\xd7\\xbb\\xa6\\x0e\\x8f\\x29\\x7b\\x72\\x15\\x7d\\x77\\x9b\\xf8\\xcf\\x37\\x75\\x2b\\xbc\\x5b\\x19\\x95\\x67\\x58\\x80\\x02\\xf7\\x91\\xaa\\xb5\\x57\\xa6\\x51\\x59\\x77\\xa9\\xb3\\x4b\\xd5\\x71\\x5d\\xcd\\x39\\x81\\x38\\x59\\x8d\\xca\\xf3\\x75\\x4e\\x95\\xb8\\x47\\x99\\xcf\\x16\\x13\\xd7\\x59\\x26\\xa9\\x39\\x11\\xa6\\x1d\\x73\\x6e\\x88\\x79\\x0f\\x33\\xe6\\xd6\\x2a\\x31\\x9f\\x63\\xe2\\xe1\\x31\\x49\\xd5\\xf1\\xdd\\x4d\\xd9\\xea\\x7c\\x57\\x7b\\xb9\\xba\\x83\\x8d\\x32\\x6d\\x54\\xf3\\x7f\\x35\\x75\\x0c\\x33\\xe7\\x0f\\x31\\xfb\\x03\\x14\\x5d\\x45\\xff\\x40\\xb3\\x0d\\xdc\\x55\\xc7\\x9a\\x7e\\x37\\x34\\xe9\\x31\\x13\\xe3\\xee\\x26\\x05\\x99\\xbc\\xb3\\x4d\\x7d\\xf9\\x66\\x7c\\x02\\x67\\x73\\x88\\xa9\\x5f\\xe5\\x8e\\xaa\\x53\\x02\\xe7\\xec\\x64\\x13\\x8b\\x81\\xa6\\x6f\\x01\\x5b\\x02\\xf7\\xd8\\xb6\\x7e\\x5b\\x2b\\xbc\\x66\\x9f\\xd2\\xd1\\xc5\\xc4\\x40\\xe5\\x87\\x5a\\x37\\xb9\\x26\\x06\\xca\\x8e\\x96\\xa6\\x6e\\x85\\xd9\\x72\\xa3\\xb2\\xce\\xae\\x5a\\xbf\\x04\\x55\\x69\\x23\\x4d\\x0a\\x8c\\xb7\\x35\\xe5\\x99\\x7a\\x7d\\x35\\xac\\xca\\xb5\\xea\\xec\\x05\\x6a\\xcf\\x60\\xdf\\xaa\\x78\\xd4\\x4f\\xd7\\x0e\\xb3\\x9f\\x67\\x40\\x77\\x56\\x89\\x61\\xac\\x89\\xe3\\x2c\\x13\\x3b\\x75\\x36\\xa8\\x5a\\x42\\xad\\xa7\\x49\\xe6\\x9c\\x99\\xa6\\x4d\\x9a\\x99\\x03\\x37\\xc6\\x21\\x90\\x37\\x1e\\xb3\\xb5\\x57\\xe9\\x57\\x98\\x4d\\x30\\x2a\\x6b\\x7a\\xb5\\x2e\\xee\\x36\\x2a\\xd7\\x4f\\x6b\\xb3\\xd5\\x4d\\x7c\\x02\\xad\\x30\\xb1\\x51\\x6b\\x44\\xe5\\x91\\xca\\x9d\\xde\\x66\\x3b\\xc6\\xb8\\x5e\\x27\\xaa\\xbb\\xbe\\xaa\\x3d\\x02\\xad\\x2f\\xc7\\x03\\xb6\\x2a\\xbb\\xd5\\xba\\x56\\x39\\x14\\x57\\xc5\\xc7\\x39\\x66\\x3e\\x04\\xd6\\xe7\\x50\\x93\\x02\\x77\\xbe\\x9b\\xd5\\xdf\\x55\\xeb\\xcd\\xaa\\xed\\x8d\\xb8\\xd4\\x37\\xfb\\x03\\xf8\\x06\\xda\\xbf\\xab\\x4f\\x55\\xee\\x8f\\x30\\x7d\\xcc\\xbc\\x49\\xab\\x6c\\x54\\x79\\xab\\xd6\\xa2\\xca\\xc7\\xee\\xa6\\xad\\x81\\xf8\\x28\\xfb\\x1a\\x56\\x69\\xd5\\xbe\\x5a\\x62\\xe6\\x48\\x8c\\x89\\x9f\\x6e\\xca\\x53\\xb9\\x2b\\x4d\\x52\\xfa\\xbb\\x98\\x71\\x50\\x76\\x84\\x9b\\x79\\xa0\\x6a\\xba\\x87\\x4d\\xcc\\xa2\\x8d\\xbf\\xd6\\xb8\\xa1\\xfe\\x6f\\x9a\\x72\\x35\\x74\\x5c\\x08\\x8d\\x33\\x5d\\x6e\\x82\\x38\\xe7\\x24\\xe7\\xad\\xbc\\xc5\\x7c\\xe6\\xcc\\x95\\x65\\xe6\\xb3\\x22\\x07\\x67\\xd1\\x40\\x5a\\xf5\\xcd\\xf2\\x0d\\x53\\x46\\x60\\x9e\\x39\\x2e\\x0f\\x9b\\xcf\\x13\\xcc\\xf1\\xb7\\xaa\\xf0\\x2b\\xb9\\x9c\\x7d\\x5a\\x02\\xad\\xfa\\xce\\x79\\x9b\\x9f\\x7c\\xef\\xab\\x4d\\x32\\xe7\\xaa\\x3e\\x5f\\xff\\xdd\\xe6\\x33\\x7b\\xba\\x2c\\x50\\x63\\xd4\\x54\\x49\\x81\\x71\\x55\\xef\\x55\\x79\\x4e\\x67\\x5c\\xad\\x1b\\x6a\\x46\\xdf\\x7e\\xbc\\xcd\\xf0\\xd7\\xb2\\x60\\x23\\x4f\\xf9\\x6b\\x49\\x5f\\xce\\x0d\\xf1\\xbf\\xfb\\xee\\x91\\xf3\\xcd\\xbc\\x1e\\xe3\\x5f\\xeb\\xbe\\x7e\\x55\\x3f\\x47\\x99\\xf9\\x3b\\xc1\\x8c\\x6b\\x5b\\x33\\x06\\xf7\\x9b\\x7c\\xea\\x2e\\xd6\\x0c\\xfa\\xb8\\x92\\xe4\\x12\\xc3\\xff\\xdd\\x2b\\xac\\x4a\\xbe\\xa9\\xb3\\x48\\xad\\x8b\\x17\\xcc\\x1c\\xa1\\x3e\\x15\\xcf\\x98\\x39\\xaa\\xd6\\xb7\\x3a\\xfb\\xd4\\x77\\x80\\x56\\x46\\xe5\\x19\\xb6\\xc2\\xd4\\xdd\\xc4\\x94\\xa1\\x6a\\xf4\\xd1\\x86\\xbf\\xe6\\x55\\xa4\\x72\\xbf\\xba\\x49\\xaf\\x98\\x7c\\x2a\\xde\\xbd\\x0c\\xff\\x99\\x18\\xa8\\xe3\\x03\\x79\\xab\\xea\\x42\\xb5\\xc7\\x5d\\x33\\x71\\x79\\xcc\\x94\\x11\\x66\\xce\\xe3\\xae\\x50\\x41\\x9d\\x2b\\x3e\\x32\\xe7\\xaa\\x7a\\xe3\\x1f\\x90\\xfa\\xbe\\x46\\xcd\\x2d\\x8e\\x80\\xb9\\xfa\\x26\\xaa\\x64\\x7c\\x63\\xd6\\xd4\\xd3\\xfc\\xfd\\x3e\\x52\\x79\\x76\\xc9\\x5f\\x0f\\xfb\\xce\\xbe\\xf7\\xa1\\x83\\xc8\\xfc\\x8c\\x3e\\x75\\xe7\\x39\\x65\\xb6\\xf5\\xfd\\xad\\x8f\\xe2\\x4d\\x6a\\x62\\x52\\x90\\x59\\x2b\\xab\\xef\\xb3\\x7d\\xfc\\x63\\xe2\\xb2\\xf9\\x6d\\xef\\xb2\\xf9\\x6c\\x33\\xeb\\x72\\x35\\x76\\xd1\\x3f\\xcf\\x57\\x2b\\xab\\x1a\\xdd\\x62\\x3e\\xff\\x69\\x62\\xf2\\x95\\x29\\x6f\\x91\\x39\\xff\\xfb\\x2a\\x73\\xfe\\x59\\x39\\x47\\x7d\\x93\\xa8\\xd8\\x6e\\xae\\x0d\\xd6\\x55\\xc5\\x21\\x68\\xb7\\xd9\\xa7\\xf0\\x55\\xfb\\x81\\xba\\xdf\\xa9\\x3d\\x44\\xdd\\xa3\\x26\\x9a\\xf5\\x7c\\x81\\x3f\\xcf\\x64\\xb1\\x9f\\x7c\\x71\\xca\\x34\\x31\\x9d\\x5b\\x29\\xcf\\xb7\\xbe\\x89\\xb1\\xbc\\xcf\\xa8\\xfc\\xa6\\xaa\\xc6\\xd5\\x7d\\x41\\x9d\\x47\\x1d\\xcd\\x78\\x35\\x34\\xe3\\xa5\\xf4\\x34\\x35\\x49\\xed\\x3f\\xea\\xbe\\x5d\\xea\\xcf\\x0f\\x75\\xd7\\xf0\\xd5\\x81\\xca\\x87\\xbe\\xfe\\x71\\x1f\\x26\\x31\\xa6\\xdf\\x97\\x4d\\x2c\\x67\\x9b\\x14\\x64\\xde\\x9f\\xb6\\xf8\\xb1\\xf0\\xe1\\xc1\\xb3\\x54\\x6b\\x09\\xff\\xe4\\xdb\\xe6\\xbd\\x43\\xe1\\xa8\\xea\\x41\\x55\\x2f\\xbe\\x63\\xae\\x13\\x85\\xf9\\x93\\x7e\\x5f\\x65\\x7f\\x3f\\xee\\x0a\\x67\\x1f\\x8e\\xe9\\x50\\x8a\\xf9\\xac\\xd6\\xc5\\xb7\\xd0\\x6b\\x3c\\xe3\\xbb\\xcc\\xe2\\xac\\x7a\\xd2\\x4f\\x15\\xf7\\xd2\\xae\\x80\\xde\\xbe\\x81\\x0a\\xfd\\xe4\\xbb\\x2f\\xf8\\xea\\x69\\xe3\\xaf\\xdf\\x03\\xe6\\xde\\xa4\\xad\\xfa\\x5d\\xb2\\xe4\\xbf\\x68\\xff\\xdb\\xef\\x95\\x6b\\xcc\\x38\\xdd\\xf8\\x7d\\xf2\\x3f\\xb5\\x37\\x7e\\x9f\\x0c\\x7c\\xc7\\xb9\\xb1\\xbd\\xd9\\xb7\\xc9\\xaa\\xed\\x50\\x33\\x2f\\x6e\\x6c\\xff\\xee\\x5b\\x65\\x80\\xfe\\xd3\\xf7\\x92\\xc0\\x19\\x39\\xab\\x0a\\x8e\\x6f\\xff\\x9b\\xf6\\x3f\\x7d\\xbf\\xbc\\xd9\\x77\\xcc\\x9b\\xb5\\xff\\xed\\x37\\x32\\x75\\x96\\x39\\xaa\\xb4\\x81\\xef\\x9a\\xff\\x4d\\x5b\\xf5\\x9c\\x0c\\x7c\\x17\\xfa\\x9b\\x6f\\xa0\\xbe\\x58\\xad\\x32\\x79\\xd5\\xbc\\x51\\xe6\\x77\\xd1\\xc0\\x59\\x78\\xb3\\x6f\\xe3\\x37\\x7e\\x33\\xfb\\x3f\\x6d\\xff\\x53\\xee\\xa9\\x3b\\x4a\\xdb\\x7f\\x33\\x7e\\x63\\x8e\\xfd\\xbb\\x98\\xe7\\xfc\\x87\\xf1\\xff\\xa6\\xfd\\xdf\\x7e\\x8b\\xae\\x1a\\xcb\\xcc\\x7f\\xd3\\xe6\\xff\\x07\\x32\\x7f\\x3f\\xc6\\xfb\\x82\\x49\\xdb\\x4d\\xfa\\xd9\\x4f\\xbe\\xf3\\xe5\\x26\\x54\\x91\\xed\\xa7\\x6b\\x2f\\xff\\x95\\x7c\\x75\\xd6\\xbf\\xa1\\xbf\\xe3\\xf3\\xa6\\xf9\\xc9\\x57\\xd7\\xfe\\x1b\\xaa\\x68\\xfd\\x1f\\xf8\\x6f\\xf6\\x7b\\x35\\x50\\x05\\x71\\xad\\xe0\\xdc\\xbc\\xf6\\xad\\x9f\\xbc\\x13\\xfc\\xe4\\x3b\\xbf\\xff\\x0d\\x79\\xa9\\x19\\xae\\x51\\xc7\\x5c\\xe3\\x6c\\xbc\\xa6\\x72\\x21\\xfb\\xdf\\x93\\xd2\\x71\\x33\\x3d\\xde\\xe1\\x7e\\xba\\x8e\\x7b\\x00\\xcb\\x00\\x36\\x01\\x1f\\x03\\x36\\x07\\x6c\\x08\\xc8\\xfe\\xbf\\x8d\\xe3\\xff\\x6d\\x5c\\xfe\\xff\\xf2\\xfb\\xdf\\xd8\\x5e\\x71\\xa2\\xf2\\xd9\\x57\\x03\\xfd\\xee\\x6f\\xd5\\xf7\\x36\\xdf\\x37\\xb7\\x9b\\xd8\\xed\\x55\\x35\\x43\\xb3\\xca\\xf6\\xfa\\x3d\\x4a\\x98\\x3c\\x7f\\x97\\x4b\\xe6\\x5d\\xfe\\x3a\\x5f\\x55\\x9e\\x1b\\xf3\\xa0\\xd4\\xa8\\xfc\\xfe\\xa1\\x48\\xf7\\x93\\xf7\\x29\\xe6\\x5b\\xfc\\xb8\\xf9\\xf6\\x38\\x45\\x2b\\xfe\\x06\\x9f\\xae\\xd0\\x96\\xca\\xd6\\x77\\xc7\\xa0\\x46\\x13\\x27\\x39\\x87\\x3f\\x85\\x9c\\xd0\\x67\\x9c\\xc7\\xaa\\x46\\xac\\x07\\x3d\\xcf\\xbc\\xdf\\x4d\\xba\\xe2\\xff\\xbd\\x57\\x39\\xc1\\x7f\\xe6\\x4b\\xf5\\x4d\\x77\\xb6\\x51\\x79\\x3f\\x54\\xf5\\xcd\\x3a\\x3f\\x49\\x75\\xd7\\xb9\\xc5\\x94\\xd5\\x95\\x36\\x3a\\x40\\x7e\\xff\\x02\\xdf\\x6c\\x7d\\xbf\\xaf\\xab\\x6a\\x18\\x55\\xd3\\x6c\\x33\\xef\\x7e\\x9c\\xc7\\xf2\\xb3\\x2a\\x3c\\x51\\x26\\xd9\\xfd\\xfc\\xb2\\x63\\x65\\xfd\\xe8\\xab\\x51\\x7e\\x32\\x9f\\xd5\\x59\\x10\\xf8\\x76\\xa2\\x7e\\x7f\\x45\\x7d\\x8b\\x09\\xfc\\x3e\\xbf\\xf2\\x25\\x70\\xc6\\xb8\\xcc\\xdc\\x56\\x75\\x97\\xaa\\x73\\x5a\\x57\\x99\\x13\\x6d\\xf2\\x5f\\xff\\xfd\\x61\\x74\\x06\\x7e\\x0f\\x45\\x7d\\x93\\x8a\\xaf\\x22\\x47\\x61\\xa7\\xbe\\xff\\xa8\\x7a\\xef\\x35\\x53\\xbf\\xfa\\x26\\xc0\\x9d\\xac\\xe2\\x73\\x08\\xbb\\x7c\\xdf\\xfb\\x95\\x6f\\xaa\\x0e\\x9b\\xf2\\x3f\\x5b\\xdf\\x73\\x57\\x53\\xef\\x48\\x53\\xfe\\x70\\x13\\x03\\x55\\x7b\\xab\\x3b\\x81\\xaa\\xed\\x1a\\x9b\\xfa\\xa9\\xcd\\x7c\\xf5\\xa0\\xf2\\x6d\\x92\\x51\\xf9\\xbd\\x49\\xe1\\x4f\\x1d\\xa7\\xa9\\xef\\xbe\\xef\\xf9\\xe3\\xa5\\x9e\\x15\\x05\\x9e\\xab\\xb6\\x37\\x92\\x1c\\xe5\\x1f\\x53\\xad\\xa2\\xaa\\x63\\xff\\xdb\\xfe\\xff\\x86\\x6e\\xfc\\x7d\\x78\\x6d\\xc4\\x0d\\x7d\\x6a\\x6d\\xa8\\xfb\\xc6\\x48\\x3f\\x5d\\xff\\x5e\\xd2\\xd8\\x6c\\xd5\\x3d\\x3d\\x70\\xa7\\x1a\\x69\\xe2\\x9f\\xe1\\x27\\xa9\\xfa\\x93\\x4d\\xaa\\xc6\\xbb\\xc2\\x50\\xd5\\xda\\x4a\\x47\\x89\\xd9\\xce\\xa0\\x5f\\xfd\\xbe\\x91\\xca\\x61\\xf5\\x5d\\x9d\\xbb\\x93\\x24\\x96\\x15\\x3f\\x1a\\x95\\xdf\\x4a\\xd5\\xf9\\x7d\\x87\\x51\\x59\\x43\\x04\\xea\\xb9\\x40\\x5d\\x51\\x60\\xfc\\xb5\\x6e\\xc9\\xf5\\xf7\\xfb\\xee\\x39\\xb5\\x69\\x87\\x90\\x3b\\x6d\\xa1\\xf5\\xac\\x81\\x3f\\x14\\xd1\\x5f\\xe1\\x27\\x79\\x3c\\x40\\xf4\\xaf\\x56\\x84\\xee\\x3f\\x54\\xde\\x43\\xf5\\xcd\\xb1\\x8f\\x2b\\xfd\\x90\\xa7\\xb8\\xd7\\xaa\\x7b\\xfc\\xab\\x86\\xff\\x4e\\xa8\\xf2\\xb6\\xbd\\x99\\xab\\x55\\xee\\xaf\\xbe\\x7b\\xa9\\xda\\x47\\x54\\x3d\\x9f\\x70\\x03\\x25\\x55\\xa1\\xc0\\xdd\\xd8\\x94\\x21\\xd5\\x1a\\x28\\x37\\xfc\\xf7\\x62\\xf5\\x3c\\xb5\\x52\\xae\\xef\\xfb\\x57\\xe0\\x3e\\x1c\\xb8\\x0b\\xdf\\xe4\\x1e\\xec\\xbb\\x37\\xdf\\x6a\\xf2\\xa9\\x39\\x35\\x85\\xb8\\xfa\\x3d\\xfe\\x5f\\xa3\\xbd\\xea\\xff\\xb3\\x38\\x52\\xfd\\x5e\\xe6\\x51\\x7f\\x2b\\xf7\\x18\\xbe\\xdf\\xdb\\x94\\xac\\x51\\xd9\\xcb\\x6c\\x15\\x6e\\xca\\x1e\\x37\\xd4\\xc1\\xfc\\x1e\\xcf\\x5d\\x43\\x4c\\xa1\\xfd\\x00\\xfa\\x97\\xd9\\xfe\\x64\\xb6\\x07\\x20\\xe5\\xef\\x51\\xf3\\x3d\\xd0\\x77\\xa0\\xca\\xdc\\x0f\\x0c\\x7f\\xed\\xf4\\x9f\\xce\\xae\\xff\\x70\\xe6\\xff\\xfb\\x33\\x5a\\xfc\\x87\\x5f\\xa6\\x0d\\x81\\x6f\\x70\\x05\\xe6\\xef\\x21\\xe4\\xd1\\xb2\\xf7\\x7a\\x55\\x1e\\xec\\x86\\x3e\\x82\\xbe\\x84\\xce\\x42\\x1f\\x43\\x5f\\x40\\xdb\\x85\\xb8\\x76\\xc1\\xdf\\xfa\\xfc\\x7a\\xa7\\x0a\\xa9\\xf7\\x05\\x8c\\x1f\\xf1\\xb7\\x3e\\x5a\\x0e\\x95\\x9a\\xad\\xfa\\x0e\\xd9\\xd7\\x9f\\xb3\\x15\\xdf\\xfa\\x49\\xad\\x9f\\x0a\\xee\\xec\\x15\\x2a\\xe7\\xd4\\x77\\xa8\\xc0\\xb7\\x25\\xc3\\x8c\\xbb\\xa2\\x9a\\x55\\x48\\xc5\\x3c\\x09\\x17\\x0e\\x42\\x67\\x15\\xf1\\xde\\x89\\x56\\x37\\x29\\xc5\\xff\\xe7\\xb2\\x8c\\x1a\\xbe\\x3f\\xd7\\xa5\\xde\\x0d\\x43\\xfd\\x59\\x31\\xaf\\x28\\x15\\x56\\xf1\\xa0\\x78\\x50\\x6b\\xaa\\x8f\\xd3\\x27\\xeb\\x0f\\xea\\x73\\xf4\\xb9\\xfa\\x2a\\xfd\\x03\\x4b\\x8c\\xa5\\xba\\xe5\\x1d\\xcb\\x3f\\x2c\\x97\\xab\\xbf\\x9b\\xba\\x34\\x75\\x79\\xea\\xbf\\x1c\\x71\\x8e\\xea\\x8e\\x3c\\x47\\x57\\x47\\x3f\\x87\\xc7\\x31\\xc0\\x31\\xc8\\x31\\xd5\\xb1\\xc5\\x71\\xd0\\x71\\xdc\\xf1\\xa5\\xe3\\xa2\\xe3\\xb2\\xc3\\xeb\\x8c\\x74\\xc6\\x39\\xd3\\x9c\\x99\\xce\\xfa\\xce\\x06\\xce\\xc6\\xce\\x96\\xce\\x56\\xce\\x36\\xce\\x5c\\xe7\\x60\\xe7\\x38\\xe7\\x34\\xe7\\x22\\xe7\\x56\\xe7\\x25\\x97\\xc5\\x15\\xe3\\x4a\\x70\\xa5\\xb9\\x32\\x5d\\xf5\\x5d\\xdd\\x5c\\x7d\\x5c\\x83\\x5d\\x33\\x5c\\x8b\\x5d\\x6b\\xd3\\xb4\\x34\\x6b\\x5a\\x64\\x5a\\x74\\x5a\\x5c\\x5a\\xb5\\x34\\x47\\x5a\\xed\\xb4\\xac\\xb4\\x82\\xb4\\x92\\xb4\\xe1\\xe9\\x5a\\x7a\\x54\\xba\\x2b\\x43\\x64\\x68\\x19\\x61\\x19\\x51\\x19\\xb1\\x19\\x89\\x19\\x29\\x19\\x35\\x32\\xea\\x66\\x34\\xce\\x68\\x95\\x31\\x3a\\xa3\\x34\\x63\\x46\\xc6\\xac\\x8c\\xb9\\x19\\x0b\\x33\\x56\\x65\\xac\\xcb\\xd8\\x94\\xb1\\x2b\\x63\\x77\\xc6\\xc1\\x8c\\xf7\\x33\\x8e\\x66\\x9c\\xc8\\x38\\x9f\\xd9\\x2a\\xd3\\x9d\\xd9\\x3e\\xb3\\x38\\x73\\x68\\xe6\\x88\\xcc\\x3b\\x33\\xc7\\xd5\\x1d\\x53\\xf7\\xee\\xfa\\x09\\x6b\\x5c\\x6b\\xe6\\x5e\\xd1\\xae\\x34\\xbd\\xd2\\xea\\x4a\\x9b\\x2b\\xed\\xae\\xe4\\x5e\\xe9\\xee\\x4d\\xaf\\xa8\\xf0\\xfd\\x69\\xb4\\x95\\x5a\\x73\\x7d\\x92\\x7e\\x9f\\x3e\\x03\\xff\\x1f\\xd7\\x5f\\xd0\\x8f\\x59\\xaa\\x59\\x9e\\xb0\\x1c\\xb3\\x5c\\xaa\\x2e\\xaa\\x7b\\xf1\\x7f\\xa5\\x43\\x38\\x12\\x1d\\x4e\\x47\\x81\\xa3\\x87\\xe9\\x7f\\x91\\xa3\\xd4\\xb1\\xcd\\xf1\\xb6\\xe3\\x53\\xc7\\x57\\x8e\\x5f\\x1c\\xbf\\x3b\\xc3\\x9c\\xd1\\xce\\x04\\xfc\\xaf\\x83\\xff\\x8d\\x9c\\x2d\\xae\\xfb\\x3f\\x0a\\xff\\x17\\x38\\x57\\x9a\\xfe\\xc7\\x9b\\xfe\\x77\\x75\\xf5\\x76\\x0d\\xc0\\xff\\x05\\xd7\\xfd\\xb7\\xe3\\x7f\\x52\\x5a\\xaa\\xe9\\x7f\\x71\\xda\\x30\\x9f\\xff\\xce\\xbf\\xf1\\xbf\\xc7\\x75\\xff\\x17\\x64\\xac\\xcc\\x78\\xe5\\xba\\xff\\xef\\xe2\\xff\\xe7\\xf8\\xdf\\xf2\\xba\\xff\\xc3\\x33\\x47\\xe1\\x7f\\x71\\xdd\\x09\\xf8\\x9f\\xb0\\x66\\xd6\\x15\\x79\\xa5\\xfa\\x95\\xe6\\xf8\\xef\\xbe\\xd2\\xe1\\x4a\\xbe\\xd7\\x59\\x51\\x51\\x71\\xb6\\xe2\\x40\\xc5\\x1b\\x15\\x7b\\x2a\\x76\\x56\\x6c\\xa9\\xd8\\x5c\\xb1\\xa9\\x62\\x63\\x45\\x59\\xc5\\x2b\\x15\\xcd\\x2a\\xb2\\x2b\\xea\\x7c\\xe7\\x28\\xff\\xb1\\xfc\\x1f\\xe5\\xdf\\x97\\x9f\\x2d\\xff\\xa6\\xfc\\x54\\xf9\\x57\\xe5\\x5f\\x96\\x7f\\x51\\x7e\\xa2\\xfc\\xf3\\xf2\\xcf\\xca\\x3f\\x29\\xff\\xb8\\xfc\\x78\\xf9\\x87\\xe5\\xc7\\xca\\x3f\\x28\\x3f\\x52\\xbe\\xbf\\x7c\\x6f\\xf9\\x9e\\xf2\\x5d\\xe5\\xdb\\xcb\\xb7\\x95\\x6f\\x2d\\xdf\\x58\\x5e\\x56\\xbe\\xa1\\xfc\\x95\\xf2\\x27\\xca\\x1f\\x2d\\xbf\\xbb\\xfc\\xf6\\xf2\\x81\\xe5\\x69\\xe5\\x11\\xe5\\xf2\\x7c\\xc5\\xf9\\xdf\\xce\\xff\\x72\\xfe\\x87\\xf3\\x47\\xce\\x1f\\x3e\\xff\\xe6\\xf9\\xe5\\xe7\\x17\\x9e\\x9f\\x7e\\xbe\\xd6\\xf9\\x8c\\xf3\\xd5\\xcf\\xa7\\x9c\\xaf\\x76\\x3e\\xe1\\x7c\\xec\\xf9\\xd0\\xf3\\x21\\xdf\\x5e\\xf8\\xf6\\xb3\\x6f\\x3f\\xf9\\xb6\\xc5\\xb7\\x75\\xbf\\xad\\x7e\\xb6\\xed\\xd9\\x36\\x67\\x9b\\x9c\\x6d\\x74\\x36\\xfb\\x6c\\xdd\\xb3\\xb5\\xcf\\xa6\\x9d\\x4d\\x3e\\x1b\\x7b\\x36\\xfc\\xcc\\x9f\\x67\\xca\\xcf\\x9c\\x3b\\xf3\\xcd\\x99\\xaf\\xcf\\x7c\\x79\\xe6\\xe8\\x99\\x77\\xce\\x1c\\x38\\xf3\\xfa\\x99\\x5d\\x67\\x36\\x9f\\x79\\xed\\xcc\\xba\\x33\\xab\\xcf\\x2c\\x39\\x93\\x77\\xa6\\xfd\\x99\\x76\\x67\\x6a\\x9c\\x49\\x3b\\xe3\\x3a\\x93\\x7a\\x26\\xf9\\x64\\xd6\\xc9\\x5a\\x5f\\xcc\\x2e\\x99\\x53\\x52\\x23\\xbc\\x2c\\xfc\\xa9\\xf0\\xc5\\xe1\\x8b\\xc2\\x17\\x86\\x3f\\x19\\xfe\\x44\\xc8\\x1b\\x37\\xfe\\xa9\\xc8\\xff\\xe7\\x7e\\x59\\xb5\\x10\\xd5\\x48\\xf1\\x3f\\x90\\x90\\xea\\xcf\\x9d\\xfa\\x7e\\x69\\xff\\x41\\x86\\x9f\\x53\\x17\\x86\\xb0\\xb0\\x9b\\xd8\\x44\\x90\\x08\\x16\\x21\\x22\\x54\\x84\\x89\\x70\\x11\\x21\\x22\\x45\\x94\\xb0\\x8b\\x68\\x11\\x23\\x62\\x45\\x9c\\x88\\x17\\x09\\x22\\x91\\xbd\\xaa\\x9a\\x48\\x66\\x17\\xaa\\x2e\\x52\\x85\\x83\\xd5\\xe7\\x12\\x69\\x22\\x5d\\xd4\\x10\\x19\\x22\\x93\\x33\\xa9\\x96\\xa8\\x2d\\xea\\x88\\x2c\\x51\\x57\\xd4\\x13\\xf5\\x45\\xb6\\x68\\x20\\x1a\\x8a\\x46\\x22\\x47\\x34\\x16\\x4d\\x44\\x53\\xd1\\x4c\\x34\\x17\\x2d\\x44\\x4b\\x6a\\xd7\\x56\\xa2\\xb5\\x68\\x23\\xda\\x0a\\xb7\\x68\\x27\\xda\\x8b\\x0e\\x22\\x57\\xe4\\x89\\x7c\\xd1\\x91\\x9d\\xbb\\x93\\xe8\\x2c\\xba\\x88\\x5b\\x45\\x57\\xd1\\x4d\\x74\\xa7\\x42\\xec\\x29\\x7a\\x89\\xde\\xa2\\x8f\\xe8\\x2b\\x6e\\x13\\xfd\\x44\\xa1\\xf0\\x88\\xfe\\x62\\x80\\x18\\x28\\x06\\x89\\xc1\\xa2\\x48\\x14\\x8b\\x12\\xec\\x7f\\x54\\xcc\\x14\\xb3\\xc5\\x63\\x62\\xa1\\x58\\x22\\x96\\x8b\\x17\\xc4\\xf3\\x62\\xb5\\x78\\x49\\xbc\\x28\\xd6\\x88\\x97\\xc5\\xab\\xe2\\x15\\xb1\\x4e\\xac\\x17\\x1b\\xc4\\x6b\\xa2\\x4c\\x6c\\x14\\x9b\\xc5\\x56\\xb1\\x45\\x6c\\x13\\x3b\\xc4\\x76\\xb1\\x5b\\xbc\\x2e\\xf6\\x88\\xbd\\xb6\\xaf\\xc4\\x5d\\x62\\x98\\x18\\x2e\\xee\\xb0\\x9d\\x12\\xf7\\x88\\x55\\x62\\xbc\\xb8\\x33\\x28\\x81\\x53\\x71\\x54\\x50\\x33\\x31\\x4b\\x3c\\x1b\\xd4\\x48\\x4c\\x0c\\x6a\\x11\\xd4\\x52\\xdc\\x2e\\xee\\x0e\\xaa\\x13\\x54\\x2f\\xa8\\xae\\x3e\\x21\\xa8\\x89\\x18\\x2d\\x1e\\xd0\\xfb\\x8b\\xb5\\x62\\x97\\x98\\x2e\\x86\\x8a\\xb1\\x41\\x0d\\x65\\x9f\\xa0\\xa6\\x41\\x59\\x62\\x8c\\x98\\x6a\\x3b\\x2d\\x86\\x88\\x87\\xc4\\x23\\xe2\\x69\\x19\\x2b\\xe3\\x6c\\x1f\\xda\\x3e\\xb2\\x9d\\xb0\\x7d\\x61\\xfb\\xc4\\xf6\\xa9\\xd8\\x19\\x74\\x8f\\x78\\x43\\xb6\\xb4\\x5d\\x08\\x0a\\xb2\\xfd\\xc3\\xf6\\x43\\xd0\\xc6\\xa0\\x4d\\xb6\\xaf\\xc5\\xbd\\xb6\\xcf\\x6c\\x5f\\xda\\xce\\x8b\\x19\\x62\\xae\\x78\\x58\\xcc\\x13\\x73\\xc4\\x7c\\xb1\\x40\\x3c\\xc1\\xc9\\xb7\\x58\\x3c\\x85\\x87\\x8b\\xc4\\x32\\xf1\\x9c\\x58\\x2a\\x7e\\xd5\\x66\\x6a\\xcf\\x89\\x09\\xda\\x33\\xda\\xb3\\xda\\x52\\x71\\x9f\\xb6\\x5c\\x5b\\xa6\\xcd\\x12\\xc2\\xdd\\x71\\x40\\x7f\\x4f\\x61\\xdf\\x3e\\xbd\\x7b\\xf5\\xec\\xd1\\xbd\\x5b\\xd7\\x5b\\xbb\\x74\\xee\\x54\\xd0\\x31\\x3f\\x2f\\xb7\\x43\\xfb\\x76\\xee\\xb6\\x6d\\x5a\\xb7\\xba\\xa5\\x65\\x8b\\xe6\\xcd\\x9a\\x36\\x69\\xd8\\x20\\xbb\\x7e\\xbd\\xba\\xb5\\x6a\\x66\\x66\\xd4\\x48\\x4f\\x73\\x39\\x12\\x63\\xed\\x51\\x91\\x11\\xe1\\xa1\\x21\\xc1\\x41\\x36\\xab\\xc5\\xd0\\x35\\x29\\xea\\x3a\\xcb\\x64\\x71\\x5e\\x99\\x9e\\xe1\\xb4\\xe7\\x97\\xa4\\xe7\\xa5\\x97\\x14\\xd4\\xab\\xeb\\xcc\\x4b\\x1c\\x99\\x5b\\xaf\\x6e\\x5e\\x7a\\x7e\\x71\\x99\\xb3\\xc4\\x59\\x46\\x63\\x64\\xa6\\x17\\x14\\xf8\\xba\\xd2\\x4b\\xca\\x9c\\xc5\\xce\\xb2\\x4c\\x9a\\x92\\x2a\\xdd\\xc5\\x65\\x6e\\x66\\x8e\\xb8\\x61\\xa6\\xdb\\x3f\\xd3\\x7d\\x7d\\xa6\\x8c\\x72\\xb6\\x12\\xad\\x94\\x8a\\x74\\x67\\xd9\\x91\\xdc\\x74\\xe7\\x0e\\xd9\\xbf\\x67\\x21\\xcf\\xf3\\x72\\xd3\\x3d\\xce\\xb2\\x9f\\x7c\\xcf\\x5d\\x7d\\xcf\\x46\\xa6\\xef\\x25\\x9c\\x17\\x97\\x0b\\x0e\\x9f\\x55\\xca\\x5a\\x67\\x5e\\x59\\xfe\\x94\\x91\\x73\\xf2\\x8a\\xb1\\x51\\x6e\\x0c\\x0d\\xe9\\x90\\xde\\x61\\x78\\x48\\xbd\\xba\\x62\\x63\\x48\\x28\\x8f\\xa1\\x3c\\x95\\xd5\\x4a\\x1f\\xbf\\x51\\xd6\\x6a\\x23\\x7d\\x0f\\x5a\\xad\\xbc\\x96\\x1b\\x35\\x11\\x14\\xae\\xd4\\xe2\\x69\\x5e\\xc9\\xb0\\xb2\\x1e\\x3d\\x0b\\xf3\\x72\\x93\\x5d\\x2e\\x4f\\xbd\\xba\\x9d\\xca\\x22\\xd2\\x73\\x7d\\x43\\xa2\\x83\\x4f\\x64\\x99\\xb5\\x43\\x99\\xcd\\x27\\xd2\\x79\\x87\\x32\\x5d\\x3c\\xe6\\xdc\\x58\\x77\\xff\\x9c\\xb9\\x3b\\xa2\\xc4\\x90\\xe2\\xac\\xb0\\x61\\xe9\\xc3\\x4a\\x06\\x16\\x96\\xe9\\x25\\xf0\\xce\\xd1\\xf3\\xe6\\xcc\\x99\\x59\\x66\\xcf\\x2a\\xab\\x9d\\x9e\\x5b\\x56\\xfb\\xbe\\x73\\x89\\x78\\x3e\\xbc\\xac\\x6e\\x7a\\x6e\\x5e\\x59\\x96\\x92\\xda\\xa5\\xd7\\x75\\x3d\\x5d\\x2a\\x55\\xca\\x32\\x4b\\x06\\xc7\\xc5\\x9c\\xdf\\x04\\xee\\xa4\\xff\\xf4\\xe3\\x5f\\x7b\\x4a\\xcc\\x1e\\x6b\\x46\\xd4\\x6f\\x42\\x3d\\x96\\x69\\x1d\\xca\\x64\\xaf\\x42\\x97\\xfa\\x95\\x9c\\x0f\\xd6\\x73\\xe6\\xe4\\xa7\\x3b\\xf3\\xe7\\x14\\xcf\\x29\\xd9\\x51\\x51\\x3a\\x24\\xdd\\x19\\x95\\x3e\\x67\\x63\\x58\\xd8\\x9c\\xf1\\x79\\xc0\\x2d\\x7a\\x14\\x22\\x62\\x47\\xc5\\xae\\xc7\\x92\\xcb\\xf2\\xe7\\x7a\\xca\\xa2\\x8a\\x47\\xca\\x96\\x1e\\xd3\\xf5\\xfc\\x5e\\x5d\\xca\\x62\\x7a\\x0e\\x28\\x2c\\xd3\\x32\\xf2\\x9d\\x23\\x4b\\xe8\\xe1\\xbf\\xb6\\xe9\\xae\\xe6\\xc9\\x2e\\xfb\\xf5\\x39\\x3d\\xfe\\x6e\\x58\\x00\\x0b\\xe0\\x80\\xb0\\xcb\\xa5\\x60\\x78\\x6c\\x87\\x5b\\x0c\\xe1\\xa5\\xac\\xb4\\x67\\xa1\\xff\\xdd\\x29\\x86\\x24\\x6f\\x12\\xee\\xec\\x2c\\x4f\\x99\\x56\\xac\\x46\\xf6\\x07\\x46\\xe2\\xfa\\xaa\\x91\\xd2\\xc0\\xc8\\x75\\xf6\\xe2\\x74\\x62\\xdb\\xa5\\x77\\xe1\\x9c\\x32\\x23\\xa3\\xd3\\xb0\\xf4\\x3c\\x10\\x7f\\xac\\xa4\\xac\\x74\\x08\\xd9\\x35\\x4a\\x05\\x26\\x3d\\xaa\\x2c\\xe2\\xf7\\x64\\x57\\xfa\\x9c\\x68\\xbb\\xb3\\x45\\xb6\\xc7\\x37\\xd7\\x89\\x55\\x9d\\x86\\xdd\\xe1\\x2c\\xb3\\x64\\x02\\x12\\x5c\\x55\\x19\\xc8\\x1b\\xc5\\x32\\x27\\xca\\xf7\\x12\\xf1\\xbb\\xbf\\xf9\\x29\\x19\\x05\\x99\\xf6\\x68\\x67\\x8b\\x74\\xc4\\x28\\x39\\x79\\xe9\\x79\\xc5\\xe6\\x7f\\x53\\x46\\x26\\x22\\xc0\\x09\\xd0\\x05\\x59\\xfe\\x44\\xe8\\x53\\x58\\xe6\\xce\\xe5\\xc1\\x5d\\x62\\x46\\x2c\\x6f\\x63\\x83\\x6c\\x38\\x4a\\x8a\\x09\\xd8\\x1d\\xb9\\xbe\\x60\\x96\\x65\\xa7\\x8f\\x2f\\x8b\\x4d\\x6f\\x7f\\x3d\\xba\\xca\\xac\\xbc\\x3b\\x7a\\x17\\xfa\\x58\\x4c\\xb6\\xb2\\xd8\\x0e\\x65\\xa2\\x78\\xa8\\xc9\\x55\\x96\\x9d\\xe7\\x5b\\x57\\xce\\xbc\\x39\\xc5\\xb9\\x7e\\x13\\x94\\xac\\xf4\\x9e\\x85\\x3b\\x45\\x4e\\xc5\\xe9\\x8d\\x8d\\x9d\\xc9\\x9b\\xd5\\xd6\\xe9\\xc9\\x55\\x93\\xe3\\x3b\\x90\\x65\\x99\\x79\\x73\\x0a\\x87\\x8d\\x28\\x73\\x14\\x27\\x0f\\x63\\xdd\\x8d\\x70\\x16\\x26\\xbb\\xca\\xdc\\x1e\\x22\\xec\\x49\\x2f\\x1c\\xee\\x51\\x69\\x07\\x42\\xb5\\x4f\\x27\\xfb\\x92\\xc3\\xe3\\xcb\\x95\\x3e\\x85\\x5d\\x7a\\xa7\\x77\\xe9\\xd9\\xbf\\xb0\\xb9\\x69\\x88\\x7f\\x40\\x89\\x33\\x32\\xf2\\x6e\\x10\\x93\\x5e\\x98\\xec\\x17\\x43\\x02\\x96\\x05\\x65\\x04\\x39\\x0b\\xb5\\x64\\xdd\\xc3\\xc4\\x28\\x3a\\x9c\\xf9\\x3c\\xa4\\xb7\\x6f\\xc5\\xcf\\x32\\x5b\\x46\\x10\\x14\\x05\\xe0\\xbe\\x5e\\x95\\xb8\\xed\\x5b\\x39\\x0b\\x65\\xb2\\x08\\xcc\\xc6\\x8c\\xb2\\xda\\xce\\xbc\\xe1\\xb9\\xe6\\x3c\\xf5\\xfe\\x17\\xa1\\x16\\x95\\x4e\\x1d\\x0a\\x02\\xd2\\xac\\xea\\x15\\x39\\x1d\\x0a\\x92\\x5d\\x1e\\x97\\xff\\x57\\xbd\\xba\\x1a\\xc3\\x4e\\x53\\x31\\x1c\\x41\\x0a\\xd4\\x82\\xc0\\x10\\xdb\\x14\\x03\\x41\\xe4\\x67\\x87\\x02\\x5f\\x97\\xc2\\x32\\x51\\x25\\xbd\\xb3\\x30\\x7d\\x78\\xba\\x27\\x7d\\xa4\\xb3\\xcc\\xdd\\xa3\\x50\\xf9\\xa6\\xe0\\xf1\\xa1\\x6c\\x82\\xe1\\xc3\\xdc\\x8c\\x55\\x9f\\xbf\\xbc\\x55\\x01\\x0b\\x98\\x84\\x8b\\xe1\\xc0\\x8b\\x02\\xb3\\x2c\\x3f\\x2b\\xb9\\x2a\\xb8\\x65\\x1d\\x7d\\xef\\xd7\\x5f\\x0b\\x6e\\x18\\xee\\x14\\x18\\x76\\xce\\x09\\x4a\\xef\\xd2\\x7b\\x8e\\x12\\x9e\\x6e\\x0a\\x14\\x58\\xde\\xa9\\x4c\\xa8\\x14\\x76\\x37\\xb7\\x27\\xfb\\xf6\\x02\\xb5\\xa0\\xd3\\xd9\\x7b\\x9d\\x51\\x2c\\x69\\xdf\\x82\\x9e\\xb3\\xd1\\xed\\x56\\x8b\\x79\\x64\\x4b\\x25\\x24\\xbd\\xd3\\xb0\\x39\\xe9\\xbd\\x0b\\x5b\\xf9\\x66\\xb3\\x9f\\x4c\\x4d\\xbe\\x4f\\xe9\\x8a\\x16\\x5d\\x64\\x97\\x3e\\xed\\xeb\\xd5\\x65\\x6b\\x6b\\xbf\\x31\\x5d\\xce\\xea\\xb9\\xd1\\x2d\\x67\\xf5\\xee\\x5f\\xb8\\x33\\x8a\\x1a\\x79\\x56\\x9f\\xc2\\x4d\\x9a\\xd4\\x3a\\x14\\xb7\\xf7\\x6c\\xac\\xc1\\x58\\xe1\\x4e\\x27\\x87\\x86\\xaf\\x57\\x53\\xbd\\xaa\\x53\\xbd\\x38\\xd5\\x8b\\x92\\xd4\\x8b\\x97\\x20\\xdf\\xfc\\xe4\\x9d\\x6e\\x21\\x4a\\x7d\\xa3\\x86\\xaf\\xc3\\xf7\\x3e\\x74\\x87\\x14\\xbe\\xbe\\xa0\\x40\\x9f\\x14\\x43\\x77\\x68\\xfe\\xbe\\x28\\xbf\\xa2\\x4c\\x9f\\x22\\x37\\x35\\xc8\\xd0\\x1d\\x86\\x7f\\xc4\\x1d\\x98\\x6d\\xd0\\x17\\xe4\\xef\\x2b\\xf5\\xf5\\xf9\\x7e\\x6d\\x14\\x0a\\x32\\x77\\x88\\xc5\\x1d\\xe4\\x0e\\x76\\x87\\x69\\xe1\\x5a\\xf2\\x46\\xa9\\xba\\x36\\xd1\\xb3\\x4b\\xfd\\x9d\\x17\\x29\\x36\\x87\\xc9\\x70\\x99\\xbc\\x11\\xae\\x5e\\xbe\\xee\\x1d\\xb2\\x74\\x63\\xb0\\x3b\\xd9\\x3f\\xa3\\x94\\x19\\x6e\\xbf\\x85\\xb3\\xfa\\x56\\xaa\\xee\\xdb\\xbf\\x70\\x33\\x15\\x8d\\x4c\\xf6\\xfd\\x44\\x51\\x7b\\xf5\\x8b\\x74\\x49\\x1c\\x49\\xb0\\x39\\x56\\xf2\\x9c\\xc3\\x54\\xa2\\x3c\\xe0\\x19\\x39\\xa7\\xd8\\xa3\\x16\\x9b\\x88\\x27\\x34\\xfc\\x27\\xcb\\x64\\x7a\\x1b\\xc2\\x94\\xde\\x06\\x43\\xac\\x61\\x65\\x21\\xe9\\xc3\\xdb\\x97\\x85\\xa6\\xb7\\x57\\xfd\\x6d\\x55\\x7f\\x5b\\x7f\\xbf\\x55\\xf5\\xdb\\x48\\x51\\x19\\x2f\\x61\\x2f\\x25\\xf6\\x3d\\xca\\xa4\\xca\\x80\\x01\\x85\\x2e\\x96\\xa4\\xb3\\xda\\xe1\\xe4\\x39\\x51\\x3f\\xa9\\x48\\x79\\xd8\\x54\\xe6\\x44\\x7d\\x5b\\xaf\\x5d\\x96\\xec\\x2d\\xa4\\xec\\x2a\\xfa\\xca\\x5e\\x66\\x7b\\x9b\\xec\\x43\\xa5\\xe5\\x90\\x7d\\x69\\xb9\\xb4\\xc8\\xee\\x22\\x47\\x76\\xa3\\xff\\x56\\x5a\\xc6\\xc5\\x6a\\x7e\\x5e\\x86\\x34\\xd9\\x5a\\xb4\\x96\\xad\\x18\\x69\\x05\\x67\\x4b\\xda\\x5b\\x78\\x57\\x6d\\x13\\xd9\\x78\\x53\\xa9\\x43\\xb4\\xab\\x27\\x1b\\x8b\\x28\\x48\\xf3\\x51\\x7d\\x46\\x72\\x44\\x81\\x6c\\x84\\x8c\\x52\\x7e\\x4a\\xc8\\xdf\\xdb\\x10\\xbe\\x06\\xf4\\x46\\xf2\\x53\\x42\\xfe\\xde\\x6c\\x7a\\x69\\x85\\x93\\x9f\\xc5\\x10\\x55\\x24\\x3f\\xd5\\x1b\\xe3\\x9b\\xa4\\xe8\\xbb\\x43\\xd6\\xdb\\xd4\\x5a\\x35\\x75\\x37\\x8b\\x52\\x47\\x69\\xbb\\x24\\x99\\x0b\\xbb\\xa2\\x36\\xb0\\x77\\x90\\xed\\x45\\x05\\xe6\\xb7\\x37\\xdf\\xdb\\xc1\\xe6\\xa6\\x75\\x9b\\xef\\x6d\\x11\\xdf\\xc6\\x9d\\xdc\\x37\\xea\\x9a\\xfc\\x39\\xbf\\x95\\xe3\\x52\\x7e\\x85\\xa3\\xed\\xc5\\x71\\x17\\xb5\\xee\\x3f\\x16\\xfd\\xa8\\x65\\xff\\xd0\\xf6\\x07\\x6d\\x97\\xcc\\x62\\x4e\\x9d\\x6d\\x7d\\xff\\xd1\\xfa\\xfb\\xbe\\xdf\\xc9\\x76\\x76\\x59\\x1b\\x73\\x04\\x3f\\xa5\\xd8\\xe0\\xfb\\xe9\\xe4\\x67\\x0f\\xa8\\x18\\xd2\\x31\\xbf\\xb6\\x3b\\x5e\\x96\\x95\\xcb\\x69\\xe7\\xe7\\x9f\\x5f\\x71\\x5e\\x3f\\xfa\\xad\\x74\\x7f\\xeb\\xac\\x91\\x7f\\xf1\\x9c\\xdc\\x21\\x6b\\xb9\\x13\\xcf\\x46\\x39\\x8a\\xcf\\xca\\x33\\xa7\\xab\\x39\\xbe\\x39\\x5d\\xcb\\x71\\xaa\\xf5\\xd7\\x7d\\xbf\\x6a\\xad\\xf7\\xfd\\x5e\\xb6\\x0b\\x97\\x75\\x7c\\x7e\\xd6\\x41\\x58\\x1d\\xb0\\xa9\\xc3\\x81\\x5b\\x87\\xec\\x8c\\x94\\x75\\xdc\\x0e\\xb9\\xe1\\x6b\\x79\\x52\\xaf\\x70\\xac\\x38\\xbe\\xe1\\xb8\\x76\\xf8\\x50\\x2b\\x47\\xe4\\x21\\xc7\\x21\\xed\\xe0\\x9b\\xd5\\x1c\\xee\\x37\\x63\\x12\\xf3\\x77\\x48\\xd7\\xa6\\x03\\xad\\x1c\\x3b\\xa4\\xd3\\x1d\\xbc\\x9f\\xc1\\x7d\\xb2\\x78\\x1f\\xea\\xac\\xee\\xea\\x7b\\x6b\\x39\\xb2\\xf7\\xca\\x3d\\xbb\\xab\\x39\\x22\\x77\\x3b\\x76\\x4f\\xdb\\x3d\\x7f\\xb7\\xb1\\x6b\\x67\\x35\\x47\\xf7\\xed\\xd3\\xb6\\x6b\\x91\\x7b\\xa5\\x05\\x6c\\x2c\\x62\\x05\\xb4\\x41\\x5a\\xdc\\xa1\\xc6\\xb1\\xcd\\x32\\x72\\xb3\\xdc\\xa4\\x37\\x42\\x56\\xf2\\xe6\\x57\\x0a\\x1c\\x8e\\x76\\x09\\x32\\x45\\x64\\x43\\x9a\\xe8\\xce\\xcf\\x22\\x68\\x1c\\xb4\\x01\\xda\\x07\\x1d\\x85\\x2e\\x42\\x15\\x50\\x90\\x70\\xcb\\x14\\xb7\\xbd\\x7a\\xcd\\xfc\\xb2\\xf5\\xad\\x1c\\x3d\\xd6\\x17\\xaf\\x3f\\xbd\\xfe\\xd2\\x7a\\xc3\\xbd\\x43\\xa6\\x6e\\x8a\\x8a\\xc9\\xdf\\x59\\xb1\\x5f\\x56\\x77\\xc7\\x85\\x45\\xe6\\xbf\\xfa\\x0a\\xc3\\xaf\\x14\\xbf\\x72\\xfa\\x95\\x4b\\xaf\\x18\\x2f\\x37\\x5a\\xdb\\x17\\x13\\x6b\\x8a\\xf9\\xd0\\x0a\\x68\\x83\\xac\\xe9\\x4e\\x33\\xc4\\xda\\xa8\\xb5\\xce\\xb5\\xfa\\xca\\x65\\xb5\\x1c\\x3d\\x56\\x14\\xaf\\xd0\\x96\\x2f\\xe5\\xe2\\xbc\\xac\\xc7\\x32\\xad\\x74\\xe9\\x82\\xa5\\x97\\x96\\xea\\x0d\\xda\\x45\\xc8\\x1a\\x28\\xac\\x01\\x5c\\xea\\x83\\x44\\x91\\x4c\\x27\\x16\\xd3\\x7c\\x3f\\x37\\xc8\\x74\\x77\\x8a\\x8c\\x7a\\xb6\\xf4\\xd9\\x05\\xcf\\xea\\x0b\\x9e\\x91\\x4b\\x9e\\xae\\xe5\\x28\\x7e\\x5a\\x8e\\x7b\\xea\\xe8\\x53\\xa7\\x9e\\xd2\\x17\\x3c\\x25\\xf7\\xc8\\x8e\\x32\\x8f\\xca\\xdf\\x21\\xf3\\x65\\xde\\xa6\\x61\\xa4\\x4d\\xb2\\x8c\\x82\\xb1\\x3b\\x3f\\xa7\\x41\\x9a\\x68\\xe0\\x7b\\xdf\\xe7\\xfb\\x39\\x9e\\x9f\\x0b\\x7c\\xbd\\xc7\\x7c\\xef\\x91\\xe6\\xac\\x0d\\x32\\xca\\x1d\\xaf\\x47\\x2e\\x6e\\xbb\\x58\\x8b\\x5c\\x24\\x23\\x17\\x65\\x2f\\x6a\\xbb\\x68\\xda\\xa2\\x15\\x8b\\x2e\\x2e\\xb2\\xee\\x90\\xd1\\xee\\xea\\x73\\x6b\\x3a\\x16\\x3e\\x59\\xd3\\xb1\\x80\\xf6\\xe2\\x3c\\x19\\x39\\xd7\\x31\\x57\\x53\\x3f\\xb2\\xe7\\xae\\x98\\x6b\\x44\\xee\\x96\\x76\\xd4\\xdb\\x85\\x56\\xb1\\xdf\\x1d\\x32\\x27\\x32\\x3a\\xbf\\xfb\\x4c\\x59\\xf4\\x10\\x41\\xab\\xe6\\x8e\\xb9\\xbb\\xae\\x63\\xca\\xc4\\x5a\\x8e\\xc9\\x13\\x93\\x1c\\x93\\xa0\\x89\\x3d\\xa2\\x1d\\x7b\\x64\\x92\\x8c\\xe7\\x2e\\xe3\\x90\\x89\\x32\\x7e\\x53\\x5d\\xc7\\xb4\\x7d\\xbc\\xce\\x87\\x56\\x40\\x3a\\x38\\xc4\\x6d\\x4a\\x4a\\x21\\x0f\\x62\\xdd\\x0d\\xf2\\xeb\\x3a\\xc6\\xe7\\x37\\x72\\x8c\\x83\\xc6\\x92\\xcf\\xd5\\x64\\x62\\xdf\\xa4\\x9c\\xc4\\xbe\\xb6\\x1c\\xbd\\xaf\\x95\\x14\\x1a\\x52\\x54\\xc3\\x51\\x02\\x15\\x43\\x45\\x3d\\x92\\x1c\\xe3\\x77\\xc9\\x10\\xd2\\x2d\\x64\\xab\\x36\\x38\\xbf\\x86\\xa3\\xfb\\x0e\\x19\\xe3\\x4e\\x92\\x03\\xf3\\x93\\x1c\\x03\\xfa\\x37\\x72\\xf4\\xcf\\xaf\\xe6\\x88\\x69\\x14\\xdd\\xd7\\x22\\xf5\\xbe\\x46\\x23\\x9d\\x65\\x16\\xe4\\x76\\x25\\x3b\\x1d\\x91\\xba\\xec\\x8d\\x55\\xbd\\xa0\\x9e\\x3d\\x52\\x1d\\xdd\\xf2\\x53\\x1d\\xb7\\xe6\\xd7\\x77\\x4c\\x63\\xbf\\x86\\x73\\x87\\x8c\\xd8\\x9c\\x5f\\xcb\\x41\\xe0\\xc3\\xdc\\xe3\\x42\\x23\\xf2\\x3b\\xe7\\xa7\\x38\\x2e\\x76\\xaa\\xe8\\xa4\\xf5\\xe8\\x24\\x3b\\xe5\\x87\\x3a\\xda\\x16\\x74\\x2f\\xd0\\x0a\\xf2\\xe3\\x1d\\x1d\\xf3\\x63\\x1c\\x91\\xf9\\xd3\\xf2\\x2f\\xe6\\x57\\xe4\\x1b\\x29\\xc3\\x92\\xfb\\x26\\xc8\\xb8\\xbe\\xf1\\x8d\\xe2\\xfa\\xda\\x65\\x64\\xdf\\xa8\\x46\\x91\\x7d\\xb9\\x07\\xf4\\x55\\x7b\\x85\\x23\\xb2\\x6d\\x64\\x51\\xe4\\xb4\\x48\\x23\\x32\\x32\\x3b\\xb2\\x7b\\xe4\\xb8\\xc8\\xf9\\x91\\xa7\\x22\\x2b\\x22\\x6d\\x6d\\xe9\\xbb\\x18\\xa9\\x8f\\x13\\x6c\\x50\\xb2\\x34\\x5e\\x5a\\x00\\x70\\xc1\\xc6\\x3e\\xbd\\xb3\\xb2\\xba\\xec\\xb0\\x55\\x50\\x53\\x06\\xf7\\x18\\x50\\x26\\x67\\x95\\x65\\xf4\\x56\\x3f\\xdd\\x3d\\xfb\\x97\\x59\\x67\\x95\\x89\\xbe\\xfd\\x07\\x14\\x6e\\x94\\xf2\\x71\\xcf\\x23\\xf3\\xe6\\x89\\xf6\\xd5\\xbb\\x94\\x35\\xea\\x5d\\x58\\x56\\x5c\\xdd\\xd3\\xa5\\x6c\\x18\\x0f\\x6e\\xf5\\x50\\xca\\x43\\x54\\xf5\\x8d\\xf1\\xa2\\xbd\\x67\\xe2\\xa4\\x89\\x93\\x26\\x67\\xf9\\x7f\\xc9\\x49\\x59\\x59\\x93\\xb2\\x26\\xf2\\x33\\x4b\\x64\\x4d\\xf2\\x75\\x4d\\xf4\\xf5\\xab\\x07\\xe1\\x7f\\x0e\\xbc\\xfb\\x86\\x84\\xff\\x75\\xe2\\x44\\x86\\x11\\xa4\\x3a\\x27\\x4d\\x9c\\x38\\x71\\xd2\\xa4\\xc9\\x93\\x27\\xab\\x7e\\xba\\xd4\\xeb\\x64\\x46\\x79\\xe2\\x99\\x3e\\x25\\x7c\\x62\\x96\\x4f\\xcb\\xc4\\x89\\x92\\x91\\x2c\\x5f\\x2f\\xfc\\xec\\x45\\x4a\\xb4\\x98\\xc4\\xbb\\x50\\x8c\\x7e\\x55\\x6a\\xcc\\x2f\\xd7\\x67\\x19\\xda\\xc4\\x44\\xe9\\x17\\x12\\xb0\\xd0\\x27\\x2c\\xf0\\x5f\\x56\\xc0\\xd0\\x44\\x21\\x2c\\xef\\x73\\x7b\\x9e\\x6a\\xc9\\xe3\\x56\\xdd\\xcd\\xf7\\xf3\\x2f\\xbf\\x8c\\x96\\x9c\\x02\\x77\\xfb\\xff\\xcc\\xb7\\xfa\\x59\\x31\\xc4\\xff\\xec\\xed\\x57\\xf1\\xcf\\xff\\xf3\\xcf\\x05\\xff\\xf3\\x97\\xff\\xef\\xa3\\x92\\xe3\\x99\\xe2\\x67\\xf1\\xb5\\xd4\\xc4\\x49\\x69\\x70\\x57\\xbe\\x24\\xfe\\x10\\x6f\\x70\\x63\\x3e\\xae\\xbe\\xfb\\x56\\xf9\\x54\\x50\\x53\\x3a\\xa4\\x14\\x97\\x98\\x73\\x4e\\x5c\\x16\\x27\\xc5\\xa1\\x9b\\x4b\\x45\\x5e\\x98\\xcc\\xf0\\x3d\\x7e\\x28\\xbe\\x16\\xe5\\xe2\\x6d\\x6e\\xb2\\x37\\x9b\\xe7\\xe5\\x3c\\xd3\\xc4\\x37\\x62\\x96\\x9c\\x21\\xb6\\xc9\\x45\\xb2\\x3f\\xf8\\xc5\\x8a\\x2f\\x99\\xfd\\x0a\\x65\\xe4\\x72\\x51\\x2a\\x26\\x1b\\x2b\\x8d\\x37\\xa5\\x4b\\x9e\\x93\\x17\\xc4\\x7a\\x79\\x8b\\x6c\\xa8\\x3d\\xa5\\x8d\\x95\\x11\\xe2\\x8c\\x36\\xfd\\xaf\\xb2\\xbc\\xbf\\x54\\x5c\\x40\\xd2\\x05\\xb9\\x80\\x9f\\xdf\\xcb\\x25\\xca\\x72\\xcb\\x74\\x3d\\x89\\x13\\xba\\x8d\\x98\\xa9\\xbd\\xa8\\xf5\\x15\\xef\\x61\\x73\\xb1\\x36\\x4f\\x1b\\xc3\\xd1\\xf4\\x3e\\x67\\xa5\\x90\\x03\\xc4\\x34\\xf1\\xb4\\x29\\x60\\xa2\\x98\\x7a\\x83\\x79\\x99\\xdc\\xde\\x97\\x8a\\xe1\\x7f\\xed\\x27\\x56\\x61\\x5a\\xd7\\x8a\\x5f\\xc5\\x36\\xb1\\x5f\\xbc\\x2b\\xbe\\xe0\\x8e\\x3f\\x97\\xfb\\xf9\\xca\\xab\\x67\\xae\\x6e\\xac\\xb8\\x8c\\xfe\\x8b\\x58\\x20\\xb4\\x24\\x19\\x27\\x43\\x4c\\x96\\xbd\\x01\\x5e\\xeb\\xcb\\xfa\\x78\\x6d\\xb7\\x16\\x74\\xed\\x19\\xee\\xf5\\x4f\\x88\\xae\\xfc\\x6f\\x98\\x18\\x26\\x8f\\x89\\xcf\\xa4\\xd3\\x3b\\x06\\xeb\\xf6\\x73\\xd7\\x3f\\x26\\xee\\xa5\\xbc\\x19\\x6a\\x70\\x5d\\x65\\x53\\x3d\\x05\\x3e\\x63\\xc4\\xf3\\x62\\xb4\\x78\\x52\\x6c\\x15\\xaf\\x88\\xcf\\x65\\x1f\\x69\\x15\\xcf\\x8a\\x45\\x32\\x57\\xe6\\x55\\xd4\\x15\\x4b\\xcd\\xbf\\x30\\xac\\x8b\\xf3\\x96\\x55\\x96\\x87\\x44\\x98\\xe5\\x3d\\x11\\x75\\x35\\xb5\\xe2\\x57\\xed\\x8a\\x88\\x34\\xe2\\x85\\xcd\\x7b\\x5c\\xec\\xf3\\x8e\\xf4\\xeb\\xd7\\x87\\x8a\\xd0\\x6b\\x91\\x15\\xbf\\x55\\xdc\\x53\\x71\\xc9\\xfb\\x7b\\xc5\\x19\\x5d\\xd7\\xee\\x37\\x92\\x2c\\x2f\\x5a\\x36\\x59\\xde\\xf4\\xd9\\x37\\xdd\\xb8\\x5b\\xc4\\x19\\x27\\x7c\\x19\\xf7\\x96\\x77\\x9a\\x78\\x98\\x58\\xfc\\x82\\x05\\x9f\\x5c\\x77\\xbf\\xe0\\x06\\x52\\x7f\\x6f\\xfb\\x2a\\xfe\\x36\\x47\\xfa\\x5c\\xf2\\xb6\\x14\\x84\\x96\\xf8\\xb2\\x5b\\x58\\xeb\\x42\\xf4\\xd9\\x6a\\x41\\x8b\\xa0\\x63\\xfe\\x7c\\x0b\\x6a\\x0c\\x8d\\xa7\\x92\\x6b\\x00\\xad\\x16\\x22\\xa4\\x50\\x88\\xd0\\x1e\\xd0\\x49\\x21\\xc2\\xe0\\x0d\\x1f\\x06\\x91\\x59\\x11\\xc8\\x8e\\x9c\\x04\\xf1\\x1c\\xe5\\x84\\x66\\x09\\x61\\x37\\x20\\xbc\\x89\\x46\\x46\\x0c\\x32\\x63\\x6b\\x40\\xdf\\x09\\x11\\xc7\\x58\\xdc\\x1f\\x42\\xc4\\xd3\\x26\\xa0\\x23\\x01\\xde\\x44\\xc6\\x12\\x89\\x45\\x12\\x3c\\x49\\x33\\xa0\\x83\\x42\\x54\\x43\\x6f\\x35\\xf4\\x24\\x17\\x43\\xa7\\x85\\x48\\x41\\x46\\x75\\x64\\xa5\\x32\\x27\\x15\\x1b\\x52\\x77\\x08\\xe1\\x48\\x81\\x90\\xe9\\xbc\\x07\\xba\\x24\\x84\\xab\\x0f\\x84\\x9d\\x2e\\xe6\\xa7\\x61\\x73\\x1a\\x3a\\xd2\\x98\\x97\\x76\\x59\\x88\\x74\\xe6\\xd5\\x40\\x46\\x06\\x32\\x32\\xce\\x91\\x32\\x2b\\x85\\xa8\\x09\\x7f\\x4d\\x30\\xa9\\xf5\\x00\\x04\\x7f\\x6d\\x74\\xd6\\x66\\xed\\xd6\\xc9\\x15\\x22\\x0b\\x00\\xb2\\xe0\\xaf\\x4b\\x5b\\x77\\xbf\\x10\\xf5\\x18\\xab\\x07\\x5f\\x7d\\xe4\\x65\\xbb\\xa1\\xdd\\x42\\x34\\xc0\\xee\\x06\\xf8\\xdc\\x70\\x99\\x10\\x8d\\xb0\\xa9\\x51\\x99\\x10\\x39\\xf8\\x9c\\x03\\x36\\x8d\\x6f\\x85\\x98\\xdf\\xf8\\xb2\\xff\\xef\\x98\\x37\\x05\\xdb\\x66\\xd8\\xd4\\x0c\\xdb\\x9a\\xe3\\x73\\x73\\xf4\\xb6\\x44\\x4e\\x4b\\x70\\xbf\\x05\\xbe\\x56\\xe8\\x6a\\xcd\\x9c\\xd6\\xf0\\xb7\\xc6\\x9f\\x36\\xeb\\x20\\xf4\\xb6\\x25\\x76\\x6d\\xcf\\xa9\\x0b\\x80\\x10\\xed\\xc0\\xb8\\x1d\\x73\\xdb\\x63\\x5f\\x7b\\xc6\\xdb\\x63\\x43\\x87\\x56\\xd0\\x16\\x21\\x72\\xe1\\xcd\\xc5\\x96\\xbc\\x30\\x08\\x7d\\x79\\xd8\\x94\\x3f\\x10\\x42\\x7e\\x3e\\xf3\\xf2\\xf1\\xab\\x23\\xfe\\x76\\xc4\\xce\\x8e\\xf0\\x16\\xe0\\x4f\\x01\\x76\\x16\\xc0\\x53\\x40\\x3c\\x3a\\xc1\\xdf\\x89\\xf9\\x9d\\x98\\xdf\\x89\\xf9\\x9d\\x98\\xdf\\x99\\x58\\x76\\x26\\x3f\\x3a\\x63\\x6b\\x17\\x72\\xa4\\x0b\\xe3\\x5d\\x18\\xef\\xc2\\x78\\x17\\xf0\\xba\\x95\\x7c\\xe8\\x4a\\x3e\\x75\\xc5\\xe6\\xae\\xc8\\xea\\x8a\\xac\\xae\\xcc\\xed\\xc6\\xdc\\x6e\\xd8\\xd9\\x1d\\x9b\\xbb\\x83\\x57\\x77\\xec\\xef\\x11\\x0b\\x61\\x77\\x0f\\x7c\\xeb\\x81\\xfe\\x9e\\xf0\\xf7\\x62\\x77\\xed\\x85\\x7f\\xbd\\xf0\\xab\\x17\\xf1\\xe8\\x45\\xde\\xf5\\x26\\x27\\x7a\\xc3\\xdf\\x1b\\x5d\\xbd\\xd1\\xd5\\x87\\xf9\\x7d\\x88\\x69\\x9f\\x8f\\x85\\xaa\\x2a\\x45\\x5f\\xc6\\xfa\\xa2\\xb7\\x2f\\xb2\\xfb\\x62\\xf7\\x6d\\xf0\\xf4\\xa3\\xbf\\x1f\\xfd\\xfd\\xe8\\xef\\x47\\x7f\\x3f\\xf0\\x28\\xe4\\xb9\\x90\\xe7\\x42\\xf4\\x17\\x12\\x7b\\x0f\\xba\\x3c\\xe8\\xf2\\xa0\\xcb\\x03\\x36\\x1e\\xfc\\xf2\\xc0\\xdf\\x1f\\xbf\\xfb\\x93\\x37\\xfd\\xc9\\xbb\\xfe\\xd8\\xdc\\x9f\\xf8\\x0c\\x00\\xc3\\x01\\xe0\\x3a\\x90\\xeb\\xd8\\x40\\x30\\x18\\x84\\xed\\x83\\xb0\\x7d\\x10\\x98\\x0d\\xc2\\xce\\x41\\xf0\\x0e\\xc2\\xcf\\xc1\\xf0\\x0e\\x06\\xcf\\xc1\\xd8\\x38\\x98\\x98\\x0e\\xfe\\x5c\\x88\\x22\\xf2\\xa5\\x08\\x4c\\x8a\\xc0\\xa4\\x08\\x4c\\x8a\\xc0\\xa4\\x08\\x3d\\xc5\\x60\\x5f\\x4c\\x5c\\x8a\\xc9\\xb5\\x12\\xf2\\xa6\\x04\\x19\\x43\\xb0\\x6f\\x08\\xf6\\x0d\\xc1\\xbe\\xa1\\xd8\\x37\\x14\\xfb\\x86\\x22\\x6b\\x28\\xfe\\x0e\\x85\\x6f\\x28\\x31\\x18\\x06\\xdf\\x30\\x6c\\x1e\\x4e\\xde\\x0f\\xc7\\xbe\\xe1\\xd8\\x37\\x02\\xfb\\x46\\x90\\xc7\\x23\\xc0\\x68\\x04\\xb8\\xdc\\xce\\xd8\\xed\\xc8\\xba\\x9d\\xf1\\xdb\\xb1\\x61\\x24\\x36\\x8c\\x24\\xd7\\x46\\x82\\xc1\\x48\\xd6\\xf9\\x1d\\xbc\\xdf\\x81\\xcc\\x3b\\x98\\x3b\\x8a\\xb9\\xa3\\xc0\\x6a\\x14\\x3e\\x8f\\xc2\\xe7\\x51\\x60\\x75\\x27\\x6b\\x6c\\x34\\x7a\\x46\\x13\\xd7\\xd1\\xe8\\x1c\\x83\\x2d\\x63\\xb0\\x65\\x0c\\x7a\\xc7\\xe0\\xd7\\x18\\xd6\\xe1\\x58\\xe6\\x8d\\x63\\x7c\\x1c\\xe3\\xe3\\x19\\x1f\\x4f\\xee\\x8e\\xc7\\xc7\\xf1\\xf8\\x38\\x1e\\x5b\\xc7\\xe3\\xe3\\x04\\xfc\\x9a\\x80\\xdc\\x09\\xe8\\x9c\\x00\\xdf\\x04\\x62\\x73\\x17\\xb1\\xb9\\x0b\\x7d\\x77\\xd1\\x7f\\x17\\xbe\\xdd\\x45\\xff\\x5d\\xd8\\x38\\x11\\xdb\\x26\\x81\\xed\\x24\\xf0\\x9b\\x04\\x26\\x93\\xc8\\x89\\x49\\xf4\\x4f\\xc6\\xd6\\xc9\\xf8\\x36\\x99\\xd8\\x4f\\x46\\xdf\\x64\\xf2\\x64\\x0a\\x72\\xa7\\x60\\xcf\\x14\\xf0\\x9f\\x02\\xfe\\x53\\xc0\\x6e\\x0a\\xf8\\xdf\\x0d\\xfe\\x77\\x83\\xc1\\xdd\\xcc\\xbd\\x1b\\x1c\\xef\\x06\\xc7\\x7b\\x88\\xd5\\x3d\\xc4\\xea\\x1e\\xe6\\xde\\xc3\\x3e\\x72\\x2f\\x72\\xef\\x43\\xfe\\xfd\\xc8\\xbd\\x1f\\x7b\\x1e\\xc0\\x8e\\xa9\\xd8\\x3f\\x15\\x3c\\x1e\\x1c\\x2d\\xc4\\x34\\x6c\\x9b\\x46\\xac\\xa7\\x81\\x6b\\x29\\xef\\xd3\\xd1\\x3d\\x9d\\x79\\x0f\\x21\\xe3\\x21\\x74\\x3f\\x8c\\x0d\\x33\\xf0\\x75\\x06\\xb6\\x3d\\x02\\xcf\\xa3\\xd8\\xf1\\x28\\xba\\x67\\x12\\x83\\x99\\xbc\\xcf\\x62\\xfe\\x2c\\xfc\\x9f\\x8d\\xdc\\xd9\\xac\\xf5\\x39\\xe0\\xf4\\x18\\xbc\\x8f\\x61\\xe3\\x63\\xe0\\x36\\x17\\xdb\\xe6\\x91\\x0f\\xf3\\x58\\x03\\x8f\\xb3\\xff\\xcc\\x47\\xd7\\x02\\xb0\\x5e\\x40\\xac\\x9e\\x00\\xff\\x27\\xb1\\xff\\x49\\xf4\\x2e\\xa4\\x6f\\x21\\xf1\\x59\\x04\\xef\\x62\\x62\\xb4\\x18\\xec\\x9f\\xa2\\xef\\x29\\xf8\\x9e\\x86\\x6f\\x09\\x18\\x2c\\x01\\xeb\\x67\\x18\\x7f\\x86\\x79\\xcf\\xc2\\xb7\\x14\\x6c\\x97\\x82\\xe7\\x32\\x64\\x3e\\xc7\\xf3\\x73\\xe8\\x5e\\x8e\\x1d\\xcb\\xb1\\x63\\x05\\xfd\\x2b\\xb1\\x7b\\x25\\x38\\xac\\xa4\\x7f\\x15\\xb9\\xb7\\x0a\\x9e\\x55\\xc4\\x66\\x15\\x76\\xaf\\xc2\\xe6\\xe7\\xe1\\x7b\\x1e\\xbf\\x5f\\x60\\x3d\\xac\\x06\\x87\\xd5\\xe0\\xf7\\x22\\x7b\\xce\\x8b\\xe8\\x7c\\x09\\x1b\\x5e\\x02\\xdf\\x97\\xf0\\xf7\\x25\\xec\\x7b\\x09\\x3f\\x5e\\xc2\\xe6\\x97\\xc0\\xe6\\x25\\x62\\xbd\\x06\\x0c\\xd7\\x20\\x7f\\x0d\\xb9\\xb3\\x86\\xdc\\x5b\\x83\\xbe\\x35\\x8c\\xad\\xb9\\xe4\\x3f\\x6a\\xd6\\xc2\\xbb\\x96\\x58\\xad\\x25\\x06\\x2f\\xf3\\xfc\\x32\\xfa\\x5f\\xc6\\x96\\x57\\xe0\\x79\\x15\\x1b\\x5f\\x25\\x17\\x5e\\xc5\\x9f\\x57\\xc1\\x77\\x1d\\xe7\\xc8\\x3a\\x62\\xb4\\x0e\\x3f\\xd7\\xa9\\x77\\xb0\\x5e\\x07\\xc6\\xeb\\xf1\\x7f\\x3d\\x36\\xae\\x27\\xe7\\x5e\\xc3\\xe6\\x0d\\xe8\\xd9\\x40\\x3c\\x37\\x80\\x6d\\x19\\x3c\\x65\\xe8\\xda\\x48\\xbc\\x37\\x12\\x83\\x4d\\xf8\\xb6\\x09\\xc5\\x9b\\xe0\\xdd\\x8c\\xed\\x9b\\xe9\\xdb\\x8c\\x6d\\x9b\\xc1\\x78\\x33\\xfd\\x9b\\xe1\\xd9\\xcc\\xfc\\x2d\\xcc\\xdf\\x42\\x3c\\xb6\\x30\\x7f\\x0b\\x58\\x6c\\x41\\xee\\x16\\xb0\\xd8\\x82\\x8e\\xad\\xac\\xf7\\xad\\xf0\\x6d\\x25\\x37\\xb7\\x62\\xcf\\x56\\xec\\xdf\\x8a\\xfd\\x5b\\xc1\\x65\\x1b\\xf1\\xde\\xc6\\x9a\\xda\\x86\\xed\\xdb\\xb0\\x7d\\x1b\\x98\\x6d\\x03\\xab\\x6d\\x8c\\x6d\\x87\\x6f\\x3b\\x32\\xb7\\xa3\\x6f\\x07\\xbe\\xee\\x00\\xff\\x9d\\xe0\\xb3\\x13\\xb9\\xbb\\xb0\\xff\\x75\\x6c\\xdd\\x4d\\x9e\\xef\\x61\\xce\\x1e\\x62\\xb1\\x17\\x39\\x7b\\x91\\xb3\\x97\\x18\\xef\\x05\\xd7\\xbd\\xd8\\xb0\\x17\\xfb\\xf6\\x81\\xcd\\x3e\\xe6\\xee\\x23\\x97\\xf7\\x91\\x3b\\xfb\\xc0\\x60\\x3f\\x6b\\x64\\x3f\\x3e\\xec\\xc7\\x87\\xfd\\xcc\\x79\\x83\\xe7\\x03\\x9c\\x95\\x6f\\x12\\x93\\x83\\xe0\\xf9\\x16\\x32\\xde\\x46\\xe7\\xdb\\xf8\\xf6\\x0e\\xf8\\x1f\\x42\\xc6\\x21\\xf4\\x1e\\x06\\x87\\x77\\xb1\\xe7\\x5d\\x6c\\x79\\x8f\\x79\\xef\\xe3\\xef\\x11\\x7c\\x38\\x02\\xa6\\x1f\\xd0\\x1e\\x65\\x3d\\x1c\\x45\\xe6\\x31\\xfa\\x3f\\xc4\\xd6\\x0f\\xf1\\xe3\\x23\\xe4\\x1e\\xc7\\xb6\\xe3\\xe8\\xfe\\x98\\x58\\x7f\\x82\\x8f\\x9f\\x62\\xf7\\x67\\xcc\\xfd\\x8c\\x3c\\xf9\\x1c\\x39\\x27\\xc0\\xe7\\x04\\x76\\x7d\\x41\\x0e\\x7e\\x89\\x2d\\x27\\x99\\xff\\x15\\x32\\xbf\\x22\\x67\\xbe\\x26\\x36\\xa7\\xc0\\xec\\x34\\x3e\\x9c\\x66\\xfe\\x37\\xd8\\xf0\\x0d\\x72\\xcf\\xe0\\xe3\\x59\\xf2\\xf7\\x2c\\xcf\\xe7\\xb0\\xfb\\x5b\\xf0\\xfa\\x16\\xfe\\xf3\\x60\\x7c\\x1e\\xbe\\x72\\x72\\xa3\\x9c\\x9c\\xfa\\x0e\\x6c\\xbe\\x27\\x3e\\xdf\\xe3\\xe7\\x3f\\x88\\xf5\\x0f\\xf8\\xf2\\x23\\xfe\\xff\\x48\\x0c\\x7e\\x82\\xef\\x27\\x78\\x2e\\x10\\xb3\\x8b\\xd8\\x74\\x89\\x79\\x97\\x98\\xf7\\x33\\x73\\x7e\\x86\\xef\\x17\\xf2\\xf4\\x17\\x72\\xe7\\x57\\x70\\xfd\\x95\\xf7\\xcb\\xe8\\xb8\\x4c\\x7e\\xfd\\x06\\x36\\xbf\\x23\\xe3\\x77\\xec\\xfa\\x27\\x6b\\xe7\\x9f\\xc8\\xfa\\x03\\x7b\\xfe\\x85\\xcd\\xff\\x02\\xf7\\x3f\\x91\\x7b\\x05\\x9f\\xae\\xd0\\x7f\\x95\\xbe\\xab\\xf4\\x5d\\xc3\\xd6\\x6b\\xe0\\xea\\x25\\x8f\\xbc\\x07\\x7d\\x7f\\xaf\\x53\\x72\\x17\\x96\\xe2\\xa0\\x90\\xf2\\x56\\xe8\\x63\\x21\\xb5\\xd1\\xd0\\x6a\\xca\\xb9\\x61\\x42\\x1a\\x4e\\xe8\\x92\\x90\\x16\\xe6\\x59\\x63\\xa1\\x52\\x68\\xbf\\x90\\xb6\\x05\\x42\\x06\\x0d\\x14\\x92\\xfa\\x49\\x95\\x98\\x32\\xb4\\xae\\x90\\x61\\x7d\\x84\\x0c\\xef\\x21\\x64\\x44\\x73\\x21\\x23\\x91\\x15\\x45\\x6b\\x67\\xcc\\x3e\\x49\\xc8\\x68\\x64\\x46\\x23\\x27\\x06\\xbe\\xd8\\x02\\x08\\xde\\xd8\\xab\\x42\\xc6\\x8d\\x84\\x1e\\x80\\x78\\xa6\\x6e\\x92\\x09\\x41\\x10\\x3a\\x12\\x98\\x4b\\xe8\\x64\\x22\\x77\\xee\\x44\\xe6\\x26\\xae\\x85\\x2e\\x53\\xd4\\x63\\x2b\\x75\\x94\\xac\\xc6\\x58\\x35\\xf8\\xaa\\xcd\\x85\\x96\\x41\\x3f\\x0a\\x99\\xcc\\x58\\x32\\xbc\\xc9\\xf8\\x92\\xcc\\xdc\\x94\\x5a\\x10\\xf2\\x53\\xe0\\x4d\\xf9\\x5c\\xc8\\xea\\x06\\x84\\x4d\\xd5\\xb1\\xa5\\x3a\\x73\\xaa\\xa3\\x33\\x35\\x17\\x42\\x46\\xea\\x31\\x21\\x1d\\xf8\\xe7\\x60\\xbe\\x63\\x11\\x84\\x3c\\x27\\xbe\\x3b\\xdf\\x17\\xd2\\x05\\x8f\\x6b\\x87\\x90\\x69\\x61\\x10\\x98\\xa4\\x21\\x2f\\xbd\\x31\\xc4\\xdc\\x1a\\x89\\x10\\xbe\\xd7\\x40\\x77\\x0d\\xfc\\xac\\xc1\\xbc\\x1a\\xc8\\xcd\\x70\\x43\\xf7\\x40\\x65\\xd0\\x1f\\x42\\x66\\xc2\\x9b\\x09\\x3e\\x99\\xc8\\xab\\xc9\\x73\\x4d\\xf0\\xa9\\x89\\xde\\x9a\\xbc\\xd7\\x42\\x7e\\x2d\\x6c\\xaa\\xb5\\x5b\\xc8\\xda\\xf8\\x5b\\x1b\\xbf\\x6a\\xd3\\x5f\\x07\\x7b\\xeb\\x20\\xb7\\x0e\\x72\\xeb\\xac\\x83\\xc0\\x24\\x0b\\x9f\\xb2\\x18\\xcf\\xe2\\x3d\\xeb\\x34\\x84\\x9f\\x75\\xc1\\xa7\\x2e\\x7e\\xd7\\x25\\x66\\x75\\xbf\\x13\\xb2\\x1e\\xf2\\xeb\\xa1\\xbf\\xde\\x12\\x88\\xf1\\xfa\\xd8\\x5a\\x1f\\xcc\\xeb\\xa3\\xa3\\xfe\\x4a\\x08\\xbe\\x6c\\x74\\x66\\x23\\x27\\x7b\\x0b\\x84\\xaf\\x0d\\x88\\x63\\x03\\xfc\\x69\\x80\\xef\\x0d\\x88\\x6f\\x03\\xfa\\x1a\\xe2\\x5b\\x43\\xf0\\x69\\xc8\\xbc\\x86\\xcc\\x6b\\x78\\x4e\\xc8\\x46\\x60\\xd4\\x08\\x3f\\x1a\\xe1\\x5b\\x23\\xfa\\x1a\\x61\\x53\\x0e\\x76\\xe6\\x20\\x2f\\x87\\xd8\\xe6\\x80\\x6b\\xe3\\x14\\x08\\x9c\\x1a\\x13\\xcf\\xc6\\xe0\\xd1\\x04\\x9e\\x26\\xd8\\xdd\\x04\\x9e\\x26\\xf8\\xd5\\x14\\x1f\\x9b\\x12\\xc3\\xa6\\xf8\\xdb\\x14\\xdc\\x9b\\xc1\\xdf\\x0c\\x5d\\xcd\\xf0\\xb5\\x19\\x79\\xd6\\x0c\\xbe\\x66\\xe0\\xd6\\x0c\\x5f\\x9a\\xd3\\xdf\\x1c\\xac\\x9a\\xf3\\xde\\x1c\\x9b\\x5a\\x60\\x4f\\x0b\\xec\\x69\\x81\\xaf\\x2d\\x90\\xd5\\x12\\xbb\\x5b\\x62\\x77\\x4b\\x6c\\x69\\x89\\x2d\\xb7\\x10\\xb3\\x5b\\xb0\\xef\\x16\\x64\\xdc\\x42\\x5f\\x2b\\xec\\x6a\\x85\\x4d\\xd4\\x9d\\xb2\\x35\\x32\\x5a\\xe3\\xbb\\x1b\\x39\\xed\\xb0\\xb1\\x1d\\xf3\\xda\\x81\\x63\\x3b\\xe2\\xd3\\x1e\\xfb\\xda\\x17\\x42\\xc4\\xb6\\x3d\\x73\\x3a\\x30\\xde\\x01\\x9e\\x5c\\x62\\x9b\\x0b\\xfe\\xb9\\xc8\\xa0\\xfe\\x94\\x79\\xe8\\xcb\\x83\\x2f\\x0f\\xdb\\xf3\\xc9\\xd5\\x7c\\xe4\\xe7\\x63\\x5f\\x3e\\x76\\xe7\\x93\\x87\\xf9\\xe8\\xc8\\x67\\x6e\\x3e\\xf9\\x46\\x5d\\x2a\\x3b\\x32\\xb7\\x23\\xf6\\x75\\x3c\\x04\\x9d\\x84\\xb0\\xb1\\x00\\x1f\\xa8\\x51\\x65\\x01\\xf3\\x0b\\x98\\x5f\\x00\\xde\\x9d\\xc0\\xa3\\x33\\x31\\xea\\x8c\\x0d\\x9d\\x89\\x41\\x17\\x30\\xe9\\xc2\\x7b\\x17\\x30\\xbd\\x95\\xf6\\x56\\x72\\x8a\\x7a\\x54\\x76\\x45\\x66\\x37\\x62\\xdd\\x1d\\x9b\\xba\\xe3\\x5f\\x77\\x74\\x75\\x67\\xcd\\x52\\x83\\xca\\x1e\\xe4\\x53\\x0f\\x64\\x52\\x83\\xca\\x1e\\xd8\\xd7\\x13\\x1d\\x3d\\x99\\xdb\\x13\\x19\\x3d\\xe1\\xeb\\x89\\x8c\\x5e\\xf8\\xd0\\x0b\\xfc\\x7a\\x31\\xb7\\x17\\x36\\xf6\\x02\\xe3\\xde\\xcc\\xeb\\xcd\\xbc\\xde\\xcc\\xeb\\x43\\xdc\\xfa\\x20\\xbb\\x2f\\xf3\\xfa\\x62\\x73\\x5f\\x78\\x6e\\xc3\\xe7\\xdb\\xc8\\xb1\\xdb\\xc0\\xf4\\x36\\x74\\xde\\x06\\x3e\\xfd\\x88\\x4b\\x3f\\xf8\\x0b\\x79\\xf7\\x90\\x6b\\xd4\\x9b\\xb2\\x3f\\xfe\\x0d\\x60\\xce\\x40\\x6c\\x1f\\x08\\x8e\\x83\\x88\\xf3\\x20\\xe2\\x31\\x08\\x39\\x83\\xe1\\x1f\\x8c\\x9f\\x45\\xf4\\x17\\x83\\x75\\x31\\x36\\x97\\x90\\x8f\\x43\\x98\\x33\\x04\\x7b\\x87\\x82\\xf3\\x50\\xc6\\x86\\xd1\\x37\\x1c\\x3f\\x87\\x13\\xdb\\x11\\xe4\\x2f\\x35\\xa0\\xbc\\x1d\\x9c\\x6f\\x27\\x87\\xd5\\x3f\\x00\\x75\\x3b\\x76\\x8f\\x04\\xab\\x3b\\x68\\x47\\xd1\\x3f\\x0a\\xf9\\xa3\\xc0\\x93\\x9a\\x4f\\xde\\xc9\\xf3\\x68\\xe4\\x8d\\x26\\x37\\xc6\\x30\\x7f\\x0c\\x18\\x8c\\x25\\x86\\x63\\xc9\\xdb\\x71\\xec\\x4b\\xe3\\x19\\x1f\\x8f\\xef\\x13\\xb0\\x7d\\x02\\xeb\\xe0\\x2e\\x7c\\x9d\\x88\\xde\\x89\\xd8\\x35\\x09\\xdc\\x27\\x81\\xd1\\x64\\x7c\\x9a\\x82\\x1d\\x77\\xa3\\xeb\\x9e\\x1a\\x10\\x7d\\xf7\\xf2\\x7e\\x1f\\xfc\\xf7\\x81\\xc5\\xfd\\xe8\\x7e\\x80\\x78\\x4c\\xc5\\xc7\\xa9\\x60\\x3e\\x95\\x39\\x53\\xd1\\x35\\x15\\x7b\\x1f\\x84\\xe7\\x41\\xb0\\x7c\\x10\\x2c\\x1f\\x04\\xcb\\x07\\xd1\\x31\\x8d\\x71\\xea\\x2f\\x39\\x8d\\xb8\\x97\\x32\\xaf\\x14\\x7b\\x4a\\x89\\x51\\x29\\x79\\x3f\\x1d\\xb9\\xd3\\xd1\\xf7\\x10\\x7e\\x3e\\xc4\\xf3\\x43\\xac\\x95\\x87\\xd0\\xf7\\x10\\x7a\\xa8\\xcd\\xe4\\x0c\\xe4\\xcd\\x80\\xef\\x11\\xec\\x7e\\x04\\x1f\\x1f\\x21\\x2e\\x8f\\x80\\xf1\\x23\\xcc\\x79\\x14\\x39\\x8f\\x82\\xf5\\xa3\\xf0\\xce\\x44\\xee\\x4c\\xc6\\xa9\\xd7\\xe4\\x6c\\xf2\\x76\\x36\\xf9\\x33\\x9b\\xbc\\x98\\x83\\x4f\\x73\\x90\\x3f\\x87\\x18\\xcf\\x21\\x3e\\x8f\\x81\\xd7\\x63\\xe0\\xf4\\x18\\x7e\\x3f\\x86\\xac\\xc7\\xf0\\x85\\xe3\\x42\\xce\\x05\\xb3\\xb9\\xe8\\x98\\x8b\\xbc\\xb9\\xe8\\x9b\\x87\\xaf\\xf3\\xe0\\x7f\\x9c\\xb9\\x8f\\x83\\xdd\\x7c\\x62\\xb7\\x80\\xf1\\x05\\xc8\\x7a\\x02\\xff\\x9e\\xc0\\xbf\\x27\\xc9\\xf9\\x85\\xc8\\x5b\\x08\\x16\\x0b\\xb1\\x69\\x21\\x36\\x2d\\x82\\x77\\x31\\xf3\\x9f\\x82\\xef\\x29\\xe6\\x3c\\x0d\\xcf\\xd3\\xd8\\xb7\\x04\\x8c\\x97\\xe0\\xf3\\x12\\xe2\\xbc\\x04\\x3b\\x9e\\x81\\xef\\x19\\x62\\xf0\\x0c\\xb1\\x7e\\x86\\x78\\x3c\\x4b\\xfe\\x3c\\x8b\\xce\\x67\\xf1\\x7f\\x29\\xb9\\xb1\\x94\\xd8\\x2e\\x63\\xce\\x32\\x30\\x7c\\x0e\\xfc\\x9e\\x83\\x77\\x39\\xfe\\xae\\x40\\xce\\x0a\\xe6\\xac\\xc0\\x8e\\x95\\x8c\\xaf\\xc4\\xaf\\x55\\xc8\\x59\\x05\\x5e\\xcf\\x93\\xaf\\xcf\\xe3\\xfb\\xf3\\xd8\\xf5\\x3c\\xf6\\xbe\\x40\\xff\\x0b\\x60\\xb8\\x1a\\xbe\\xd5\\xe4\\xc3\\x6a\\xfc\\x59\\x8d\\x7d\\x2f\\x82\\xc9\\x4b\\xe8\\x7b\\x89\\x98\\x50\\xdb\\xc9\\xb5\\xe4\\xf6\\x5a\\x9e\\x5f\\x26\\x8f\\x5f\\x01\\xc3\\x57\\xf0\\xe5\\x55\\xf4\\xae\\xc3\\x9e\\xf5\\xc8\\x5c\\x8f\\x8c\\xd7\\x78\\xdf\\x00\\x5f\\x19\\x79\\xbc\\x89\\x39\\x9b\\xf0\\x71\\x33\\x72\\xb7\\xe0\\xe7\\x56\\x72\\x75\\x2b\\xf9\\xb3\\x8d\\x7e\\x6a\\x27\\xb9\\x0d\\x1f\\xb7\\x63\\xff\\x0e\\xd6\\xfc\\x4e\\x6c\\xdf\\x89\\x8d\\xaf\\x33\\x6f\\x37\\xba\\x76\\x63\\xfb\\x6e\\xde\\xf7\\x80\\xfd\\x5e\\xf2\\x87\\xfa\\x48\\xee\\xc5\\xa6\\x7d\\x8c\\xef\\x03\\x27\\xea\\x22\\xb9\\x1f\\xdb\\xde\\x40\\x27\\x35\\x90\\x3c\\xc8\\xf3\\x5b\\xe4\\xd8\\x5b\\xf0\\xbd\\x8d\\xfe\\x77\\xe0\\x79\\x87\\xf9\\x87\\xf0\\xf1\\x10\\x98\\x1c\\x26\\x6e\\x87\\xc1\\xf9\\x5d\\x70\\x79\\x17\\x4c\\xde\\x63\\xde\\xfb\\xe4\\xd1\\x11\\xf8\\x3f\\x20\\x1f\\x8f\\x22\\xe3\\x18\\x38\\x1d\\xa3\\xff\\x43\\x9e\\x3f\\x02\\x9f\\x8f\\xf0\\xe1\\x38\\x79\\x75\\x9c\\x73\\xe1\\x63\\xec\\xfd\\x98\\x78\\x7c\\x42\\x4c\\x3f\\xe1\\xfd\\x53\\x78\\x3f\\x43\\xcf\\xe7\\xd8\\x73\\x02\\xdd\\x5f\\xe0\\x3f\\xb5\\x90\\xfc\\x92\\xe7\\x2f\\x19\\xfb\\x12\\x39\\x27\\x91\\x71\\x12\\xdd\\x5f\\x11\\xa7\\xaf\\xd8\\xbb\\xbe\\x66\\xcf\\xfe\\x1a\\x7d\\xa7\\x68\\x4f\\x21\\xfb\\x34\\xbc\\xa7\\x91\\xf9\\x0d\\x98\\x9f\\x21\\xfe\\x67\\xc0\\xf7\\x2c\\x76\\x9e\\x25\\x3f\\xce\\x81\\x1b\\xb5\\x91\\xfc\\x96\\xf6\\x3c\\x7e\\x9d\\x47\\xee\\x79\\xfc\\x29\\x47\\xde\\x77\\xe4\\xee\\x77\\xd8\\xfc\\x3d\\xb6\\x7d\\x0f\\xff\\x3f\\xc8\\x8b\\x1f\\xd0\\xff\\x03\\x6b\\xe8\\x47\\x30\\xfe\\x91\\xbe\\x9f\\x78\\xfe\\x09\\x9d\\x3f\\x11\\xaf\\x0b\\xc8\\xbc\\x00\\xe6\\x17\\xf0\\xe1\\x02\\xd8\\x5e\\x00\\xbf\\x0b\\xe8\\xbf\\x80\\x1f\\x17\\xc1\\xe9\\x22\\xf2\\x2f\\x92\\x9b\\x17\\x19\\xbf\\x48\\x4c\\x2e\\x82\\xed\\x25\\x78\\x2e\\xc1\\x73\\x09\\xfd\\x97\\x98\\xf7\\x33\\xf1\\xf9\\x19\\x7b\\x7f\\x66\\x1d\\x50\\x67\\xc9\\x9f\\x89\\xcd\\x2f\\xe4\\xcd\\x2f\\xc4\\xf3\\x57\\xf0\\xfa\\x15\\x7d\\xbf\\xb2\\x4e\\x2f\\x23\\xef\\x32\\x36\\x5c\\x26\\xa6\\xd4\\x5d\\xf2\\x32\\x76\\x5e\\x26\\xe7\\x7e\\xc3\\xb7\\xdf\\x58\\x4b\\xbf\\xd1\\xf7\\x1b\\xba\\x7f\\x47\\xde\\xef\\xc4\\xe3\\x77\\x64\\xfd\\x8e\\x8e\\x7f\\x92\\x37\\x7f\\xa0\\xef\\x0f\\x74\\xfd\\x0b\\x59\\x7f\\x12\\xb7\\x3f\\x79\\xbe\\x02\\xde\\x57\\x98\\x77\\x15\\xcc\\xae\\x61\\xe7\\x35\\xe6\\x7a\\xc1\\xb7\\x62\\xa4\\xd0\\x84\\x13\\xfa\\x58\\x68\\xf2\\x1e\\xa1\\x69\\x41\\xd0\\x4a\\xa8\\x0c\\xda\\x2f\\x34\\xdd\\x0d\\x1d\\x84\\x18\\xd7\\xcf\\x09\\xcd\\x98\\x25\\x34\\x4b\\x5d\\xa8\\x15\\x74\\x2b\\x34\\x10\\x1a\\x0d\\x1d\\x13\\x9a\\x75\\x18\\xb4\\x5a\\x68\\xb6\\x58\\x68\\x11\\x04\\x9f\\xed\\x47\\xa1\\x05\\x4d\\x82\\xd6\\x42\\xcc\\x09\\xae\\x01\\x15\\x42\\xe8\\x0d\\xde\\x21\\xb4\\x90\\x07\\x20\\xe6\\x84\\xa2\\x27\\x14\\xbd\\xa1\\xef\\x43\\x97\\x85\\x16\\x56\\x0b\\xc2\\x9e\\xb0\\x75\\xd0\\x6e\\xa1\\x85\\xa3\\x33\\x1c\\x9d\\xe1\\xf0\\x85\\x2f\\x81\\x90\\x17\\x0e\\x7f\\x04\\xba\\x22\\x98\\x17\\x59\\x00\\x31\\x2f\\x8a\\x39\\x51\\xe8\\x8b\\x42\\x97\\x1d\\x3d\\xf6\\x52\\x88\\xb9\\x76\\x74\\x44\\xa3\\x3b\\x1a\\x79\\xd1\\xdf\\x09\\x2d\\x26\\x0c\\x6a\\x0e\\x61\\x73\\x0c\\xb6\\xc6\\x30\\x3f\\x16\\xdf\\x63\\xfb\\x40\\x73\\x21\\x6c\\x8f\\x43\\x67\\x1c\\xfe\\xc5\\xd3\\x1f\\x8f\\x8e\\x04\\x78\\x12\\x78\\x4f\\x60\\x6e\\x22\\x7d\\x89\\xd8\\x9e\\x08\\x26\\x49\\xb4\\x49\\x5b\\x84\\x56\\x8d\\xf1\\x6a\\x33\\xa0\\xab\\x42\\x4b\\x1e\\x2f\\x34\\x6a\\x41\\x2d\\xa5\\x18\\x3a\\x24\\xb4\\xea\\xf0\\x53\\xfb\\x69\\xa9\\xb4\\xd4\\x7c\\x9a\\x03\\x9c\\x9c\\x0d\\x20\\x30\\x76\\x25\\x42\\xcc\\x49\\x43\\x76\\x1a\\xe3\\x69\\xd8\\x93\\x06\\xfe\\x69\\xa7\\x85\\x96\\x8e\\xcd\\xe9\\xc8\\xac\\xc1\\xdc\\x8c\\x1e\\x42\\xcb\\xc4\\xa6\\x4c\\x7c\\xcc\\xc4\\xa7\\x9a\\xbc\\xd7\\xc4\\xce\\x5a\\xcc\\xaf\\x6d\\x40\\xf8\\x5d\\x9b\\xb9\\xb5\\xc1\\xaf\\x0e\\x72\\xea\\x60\\x5b\\x1d\\x9e\\xb3\\x18\\xcb\\x02\\x07\\xae\\xa4\\x5a\\x5d\\xe2\\x58\\x0f\\x5d\\xf5\\xf1\\xb1\\x3e\\xe3\\xd9\\xc8\\xca\\x06\\xc7\\x06\\xe0\\xd7\\xe0\\x73\\xa1\\x35\\xc4\\xe6\\x86\\xe0\\x42\\xed\\xa5\\x35\\x22\\xae\\x39\\xbc\\x53\\x67\\x69\\x39\\x8c\\xe7\\x80\\x27\\xa5\\xbd\\x46\\x7d\\xa5\\x51\\x57\\x69\\x4d\\x54\\x8b\\xac\\xa6\\xf8\\xd3\\x14\\x3b\\x9b\\xe2\\x4b\\xb3\\xc6\\x10\\xb6\\x35\\xcf\\x85\\x90\\xdf\\x82\\x98\\xb6\\x04\\x2b\\xea\\x25\\xad\\x25\\xb1\\xbd\\x05\\x3c\\x6e\\x81\\xe7\\x16\\xb0\\x68\\x05\\xf6\\xad\\xd0\\xd9\\x1a\\xff\\xa9\\x93\\xb4\\x36\\xc8\\x68\\x43\\x6c\\xdb\\x46\\x41\\x8c\\xbb\\xd1\\xef\\xfe\\x43\\x68\\xed\\xd0\\x4d\\xcd\\xa4\\xb5\\xa7\\xed\\xc0\\x1c\\xae\\x1d\\x5a\\x2e\\xf8\\xe5\\xc1\\x43\\x1d\\xa4\\x51\\xf3\\x68\\x1d\\xf1\\xaf\\x00\\xfc\\x0b\\xc0\\xa3\\x13\\x7c\\x9d\\xb1\\xbb\\x33\\x78\\x74\\x26\\xd6\\x5d\\xc0\\xe7\\x56\\xf0\\xbb\\x75\\x99\\xd0\\xba\\xa2\\xab\\x2b\\xb6\\x74\\xc5\\xf6\\x6e\\xc4\\xba\\x1b\\xb1\\xec\\x8e\\xdc\\xee\\xe4\\x4e\\x0f\\xfa\\x7b\\xe0\\x77\\x4f\\xf8\\x7b\\x31\\xbf\\x17\\xb6\\xf4\\xc6\\x9f\\xde\\xc4\\xa1\\x0f\\x31\\xee\\xb3\\x00\\x42\\x6f\\x1f\\x78\\xfb\\xe0\\x4b\\x5f\\xd6\\x42\\x5f\\x64\\xde\\x46\\xee\\xde\\x86\\xac\\xdb\\xe0\\xef\\x07\\x56\\x85\\xbc\\x7b\\x88\\x4d\\x7f\\x64\\x0c\\x00\\xb3\\x81\\x8c\\x0d\\x42\\xe6\\x60\\xb0\\x1e\\x4c\\x3c\\x8a\\xb0\\xa9\\x18\\xbf\\x4b\\xd0\\x35\\x04\\x99\\x43\\xf0\\x75\\x28\\xf2\\x86\\xa1\\x67\\x38\\xb8\\x0d\\x67\\xfe\\x08\\xda\\x11\\x97\\x84\\x76\\x3b\\xfd\\x23\\x99\\x77\\x07\\x7a\\xa8\\x37\\xb4\\x3b\\xd1\\x31\\x1a\\xbc\\x47\\xe3\\xef\\x18\\x72\\x6c\\x2c\\x3a\\xc6\\xb1\\x7e\\xc7\\x21\\x6f\\x3c\\xf8\\x4f\\xc0\\xa6\\xbb\\x52\\x20\\x30\\x9e\\x88\\xee\\x49\\xe4\\xd4\\x64\\x6c\\x9a\\x02\\x6e\\x53\\xd0\\x73\\x0f\\xb9\\x70\\x2f\\x38\\xdd\\x0b\\x66\\xf7\\x81\\xcf\\xfd\\xf0\\xdf\\x0f\\xef\\x03\\xd8\\x31\\x95\\xb9\\x53\\x99\\xf3\\x20\\xfd\\xd3\\xe8\\x9f\\x06\\xf6\\xa5\\xc4\\xae\\x14\\x99\\xd3\\xe1\\x9b\\x8e\\xde\\xe9\\xe4\\xcd\\x43\\xf4\\x3d\\x84\\x2f\\x0f\\xa1\\xff\\x21\\xf2\\xe9\\x61\\xb0\\x79\\x18\\x1c\\x67\\x80\\xd5\\x0c\\x78\\x1f\\xc1\\xff\\x47\\x88\\xfd\\xa3\\xe4\\xe2\\x4c\\xf4\\xce\\x04\\xff\\x59\\xc4\\x63\\x16\\x7d\\xb3\\xf1\\x65\\x0e\\xcf\\x73\\xb0\\xef\\x31\\x74\\xce\\x25\\x7e\\x73\\x89\\xe3\\x3c\\xf4\\xcd\\x43\\xce\\x3c\\xe4\\x51\\x03\\x68\\xea\\xaf\\xf2\\xcf\\x87\\x6f\\x01\\xf9\\xbe\\x00\\x99\\x0b\\x88\\xcf\\x13\\x60\\xf2\\x04\\x7d\\x4f\\x10\\xe3\\x27\\xc0\\xf1\\x49\\x64\\x3f\\xc9\\xdc\\x27\\xc1\\xe6\\x49\\x64\\x2f\\x64\\xee\\x42\\x7c\\x5e\\x48\\xae\\x2c\\x44\\xce\\x22\\x64\\x2c\\x42\\xee\\x22\\xe2\\xbb\\x08\\x5b\\x17\\x11\\xcf\\x45\\x60\\xb4\\x08\\xfc\\x17\\x63\\xc3\\x62\\xfc\\x5d\\x8c\\x3f\\x8b\\x89\\xe9\\x62\\x70\\x5e\\x8c\\xcc\\xa7\\xc0\\xee\\x29\\xf4\\x3c\\x45\\xbc\\x9e\\x42\\xd7\\x53\\xe8\\x7d\\x0a\\xd9\\x4f\\x93\\x37\\x4f\\xa3\\xeb\\x69\\xb0\\x78\\x1a\\xfd\\x4f\\x83\\xdf\\x12\\xf0\\x58\\x02\\x0e\\x4b\\xc8\\x63\\x6a\\x0d\\x6d\\x09\\x18\\x3c\\x83\\xce\\x67\\xc8\\xf9\\x67\\x78\\x7e\\x96\\xe7\\x67\\xd1\\xff\\x2c\\xb2\\x9f\\x45\\xf6\\x52\\x64\\x2f\\x25\\x2f\\x96\\xd1\\xbf\\x0c\\x79\\xcb\\x18\\x5b\\x86\\xbd\\xcb\\x88\\xe5\\x32\\xd6\\xcc\\x32\\x78\\x9e\\x03\\xdb\\xe7\\xe8\\x7b\\x0e\\x3d\\xcb\\x89\\xeb\\x72\\x6c\\x5f\\x8e\\xed\\xcb\\xb1\\x7d\\x39\\xb6\\x2f\\xc7\\xf6\\x15\\xac\\x8f\\x15\\xf4\\xaf\\x20\\x5f\\xa8\\x49\\xb4\\x95\\xc8\\x59\\x09\\xcf\\x4a\\xe4\\xac\\x04\\xcb\\x95\\xf4\\xaf\\x62\\xce\\x2a\\x7c\\x5c\\x45\\x2c\\x56\\x31\\xb6\\x0a\\x79\\xab\\xc8\\xdb\\x55\\xe8\\x58\\x85\\x8c\\xe7\\xb1\\xe1\\x79\\x6c\\x78\\x1e\\xde\\xe7\\x91\\xf5\\x3c\\xfe\\x3e\\x8f\\x8e\\xe7\\xd1\\x41\\x1d\\xa3\\xbd\\x80\\x5f\\x2f\\x10\\x8f\\x17\\x90\\xf7\\x02\\x79\\xb8\\x1a\\x5b\\x56\\x13\\xab\\xd5\\xf4\\xad\\xc6\\xd6\\xd5\\xe4\\xcc\\x8b\\xe4\\xc4\\x8b\\x60\\xfe\\x22\\xb8\\xbc\\x88\\xee\\x17\\xc1\\xfd\\x45\\x70\\x7f\\x91\\x1c\\x7a\\x89\\xfe\\x97\\xd0\\xfb\\x12\\xfd\\x2f\\x31\\xff\\xa5\\x93\\x42\\x5b\\x83\\x4d\\x6b\\xc0\\x76\\x0d\\xb8\\xae\\x41\\xcf\\x1a\\xec\\x58\\x8b\\xae\\xb5\\xe8\\x5f\\x8b\\x8f\\x6b\\xd1\\xbf\\x96\\xfe\\xb5\\xf4\\xbf\\xcc\\xdc\\x97\\xc9\\xdb\\x97\\xd9\\x2f\\x5e\\xc6\\xf6\\x97\\xb1\\xe3\\x65\\x74\\xbe\\x82\\xdd\\xaf\\xe0\\xd7\\x2b\\xc4\\xee\\x15\\x30\\x7f\\x05\\x7d\\xaf\\xd2\\xf7\\x2a\\x7e\\xbc\\x4a\\xdf\\xab\\xe4\\xdc\\xab\\xd8\\xf1\\x2a\\xfa\\xd6\\x91\\xe7\\xeb\\xf0\\x63\\x1d\\x6b\\x66\\x1d\\x73\\xd7\\x11\\x87\\x75\\xd8\\xb6\\x1e\\xfe\\xf5\\xc4\\x61\\x3d\\x7b\\xd8\\x7a\\x6c\\x5b\\x8f\\x8c\\xd7\\xc0\\xf1\\x35\\xf4\\xbd\\xc6\\xdc\\xd7\\xb0\\xef\\x35\\x62\\xfc\\x1a\\x7e\\x6f\\xc0\\xbe\\x0d\\x60\\xb8\\x81\\xfe\\x0d\\xe4\\xeb\\x06\\x30\\xdc\\x40\\xec\\xcb\\x88\\x65\\x19\\x78\\x94\\x81\\x47\\x19\\xef\\x1b\\xc9\\xa1\\x8d\\xe4\\xca\\x46\\x64\\x6d\\x64\\xdd\\x6c\\x62\\x7c\\x13\\x7c\\x9b\\xc8\\x8d\\x4d\\xd8\\xbf\\x09\\x9b\\x36\\x81\\xfd\\x26\\xf2\\x60\\x33\\x32\\x37\\x63\\xd7\\x66\\x64\\x6e\\x66\\x6c\\x33\\x63\\x9b\\x19\\xdb\\xcc\\xd8\\x16\\xc6\\xb6\\x30\\xb6\\x05\\xbf\\xb7\\xe0\\xcb\\x16\\xec\\xdb\\x82\\xcc\\x2d\\x8c\\x6d\\xc5\\x9f\\xad\\xe4\\xfc\\x56\\xf0\\xda\\x4a\\xbc\\xb6\\x62\\xcf\\x56\\x70\\xd9\\xca\\xf8\\x56\\x74\\x6e\\x43\\xe7\\x36\\x74\\x6e\\x43\\xe7\\x36\\xe4\\x52\\x17\\x6a\\xdb\\x90\\xbb\\x0d\\x9f\\xb7\\x33\\xb6\\x9d\\xb1\\xed\\x8c\\x6d\\xc7\\xe6\\xed\\xf8\\xb8\\x9d\\xf1\\xed\\xf8\\xb9\\x1d\\xbc\\x77\\x20\\x7b\\x07\\x18\\xee\\x20\\x96\\x3b\\xc0\\x65\\x07\\x78\\xed\\x20\\x16\\x3b\\xc8\\xfd\\x9d\\x60\\xb3\\x93\\x78\\xee\\x24\\x9e\\x3b\\x19\\xdb\\xc9\\xd8\\x4e\\x7c\\xdd\\x49\\x9e\\xed\\x02\\xfb\\x5d\\xd8\\xb4\\x0b\\x9b\\x76\\x61\\xd3\\x2e\\xd6\\xd3\\x2e\\xb0\\xd8\\xc5\\xf8\\x2e\\xec\\xda\\x05\\x36\\xaf\\x13\\xcb\\xd7\\xd9\\x1b\\x5e\\x87\\xff\\x75\\xf8\\x5f\\x27\\xce\\xaf\\x33\\xfe\\x3a\\xfc\\xbb\\xc9\\xa1\\xdd\\xc4\\x63\\x37\\xfc\\xbb\\xf1\\x79\\x37\\xe3\\xbb\\xf1\\x79\\x37\\xb1\\xde\\x0d\\xfe\\x7b\\xd0\\xbd\\x07\\xdd\\x7b\\x88\\x17\\x35\\xac\\xb6\\x07\\xbb\\xf7\\x10\\x83\\x3d\\xc4\\x77\\x2f\\xba\\xf7\\xa2\\x7b\\x2f\\xbc\\x7b\\xd1\\xbd\\x17\\x3c\\xf6\\xb2\\xbf\\xec\\x25\\xce\\x7b\\xb1\\x7b\\x2f\\x7e\\xef\\x63\\x8d\\xee\\x83\\x7f\\x1f\\x79\\xb7\\x8f\\xfc\\xd8\\x87\\x0c\\xea\\x5e\\x6d\\x1f\\xfa\\xf7\\xa1\\x7f\\x3f\\xfa\\xf7\\xa3\\x7f\\x3f\\xb1\\xdc\\x0f\\x36\\xfb\\xc1\\x66\\x3f\\x3a\\xf6\\x83\\xcd\\x7e\\xb0\\xd9\\x8f\\x9e\\x37\\xd0\\xf3\\x06\\x7a\\xde\\x40\\xcf\\x1b\\xe8\\x79\\x03\\x3d\\x6f\\xa0\\xe7\\x0d\\x6c\\x7c\\x03\\x1d\\x07\\xd0\\x71\\x00\\x1d\\x07\\xd0\\x71\\x00\\x1d\\x07\\xd0\\x71\\x00\\x1c\\x0e\\x80\\xc3\\x01\\xf4\\x1c\\x40\\xcf\\x9b\\xe8\\x79\\x13\\x3d\\x6f\\xa2\\xe7\\x4d\\x72\\xfd\\x4d\\x74\\xbc\\x89\\x1f\\x6f\\x22\\xff\\x4d\\x62\\x7b\\x10\\xfc\\x0f\\xa2\\xe3\\x20\\xb1\\x3f\\x48\\x0c\\x0e\\xa2\\xe7\\x20\\xf1\\x3f\\x08\\xd6\\x07\\x89\\xc3\\x41\\xfc\\x79\\x0b\\x2c\\xde\\x42\\xcf\\x5b\\x60\\xf1\\x16\\x3a\\xde\\x42\\xc7\\x5b\\xe8\\x78\\x0b\\x1d\\x6f\\x81\\xf5\\x5b\\x60\\xfd\\x36\\x7a\\xde\\x46\\xcf\\xdb\\xe8\\x79\\x1b\\x3d\\x6f\\xa3\\xe7\\x6d\\xf4\\xbc\\x8d\\x9e\\x77\\xf0\\xe3\\x1d\\x74\\xbc\\x83\\x8e\\x77\\xd0\\xf1\\x0e\\x3a\\xde\\x41\\xc7\\x3b\\xe0\\xfd\\x0e\\x98\\x51\\xe7\\x6b\\x87\\xf0\\xe5\\x10\\xeb\\xe0\\x10\\x7e\\x1c\\x62\\xed\\x1e\\x42\\xfe\\x21\\xe4\\x1f\\x42\\xfe\\x21\\xe4\\x1f\\x46\\xfe\\x61\\x72\\xe9\\x30\\xf1\\x3c\\x8c\\x8e\\xc3\\x60\\x76\\x98\\x5c\\x3b\\x8c\\x8c\\xc3\\xc8\\x38\\xcc\\x9c\\x77\\x89\\xf7\\xbb\\xe4\\xd2\\xbb\\xe8\\x78\\x17\\x3b\\xdf\\x05\\xef\\x77\\xb1\\xe1\\x5d\\x6c\\x78\\x17\\xbc\\xde\\x63\\x2f\\x79\\x8f\\x5c\\x7c\\x0f\\xfd\\xef\\x31\\xf6\\x1e\\x38\\xbf\\x87\\xee\\xf7\\x91\\xfb\\x3e\\x18\\xbf\\x0f\\xcf\\xfb\\xec\\xa1\\xef\\xe3\\xf7\\xfb\\x60\\x77\\x04\\xbb\\x8f\\xc0\\x73\\x04\\x9e\\x23\\xe4\\xc8\\x11\\xec\\x3a\\xc2\\xf8\\x11\\xf4\\x1d\\x21\\xef\\x3f\\xc0\\xa7\\x0f\\xc0\\xe4\\x03\\x62\\xf7\\x01\\x76\\x7c\\x80\\xad\\x47\\xe1\\x39\\x0a\\xcf\\x51\\x78\\x8e\\xc2\\x73\\x14\\x9e\\xa3\\xf0\\x1c\\x45\\xe6\\x51\\x64\\x1e\\x63\\xfc\\x18\\x58\\x1e\\x23\\x27\\x8f\\x81\\xc1\\x31\\xd6\\xd1\\x31\\xec\\xfb\\x10\\x8c\\x3f\\xc4\\xb7\\x0f\\xe1\\xf9\\x10\\x9e\\x0f\\xe1\\xf9\\x10\\x9e\\x0f\\xe1\\xf9\\x08\\x9e\\x8f\\x90\\xf9\\x11\\x32\\x3f\\x62\\xfc\\x23\\xc6\\x3f\\x02\\x9f\\x8f\\x58\\x63\\x1f\\xb1\\x86\\x8e\\xe3\\xf7\\x71\\xfc\\x3e\\x8e\\xcc\\xe3\\xd8\\x72\\x1c\\xde\\xe3\\xf8\\x7d\\x9c\\xf1\\xe3\\x8c\\x7f\\xcc\\xd8\\xc7\\xc4\\xec\\x63\\xec\\xfb\\x84\\x5c\\xf9\\x84\\x98\\x7e\\x0a\\xcf\\xa7\\xc4\\xeb\\x53\\xec\\xff\\x94\\x78\\x7d\\x0a\\x1e\\x9f\\x62\\xcb\\xa7\\x9c\\x8f\\x9f\\xa2\\xf3\\x53\\xfc\\xfb\\x8c\\x39\\x9f\\xb1\\x2e\\x3e\\x63\\xfe\\xe7\\xf0\\x7f\\x4e\\x6e\\x7e\\x8e\\xcc\\xcf\\xc1\\xf2\\x04\\xbc\\x27\\xc0\\xec\\x04\\xbc\\x27\\x88\\xf5\\x09\\xf4\\x9d\\x60\\xec\\x04\\xfa\\xbe\\x00\\xff\\x2f\\xb0\\xfd\\x4b\\x62\\xf4\\x25\\x3e\\x72\\x9f\\xd2\\xbe\\x44\\xf7\\x49\\xfc\\x38\\x09\\x66\\x27\\xe1\\x3b\\xc9\\x1e\\x74\\x92\\x7c\\x3e\\x49\\x3e\\x9f\\x24\\x9f\\x4f\\x12\\x87\\xaf\\xc0\\xe0\\x2b\\xfc\\xfc\\x0a\\xff\\xbe\\x42\\xe7\\xd7\\x3c\\x7f\\x4d\\xac\\xbf\\x46\\xce\\xd7\\xe8\\xff\\x1a\\xfd\\x5f\\x23\\xe7\\x6b\\x62\\x7d\\x8a\\x7c\\x38\\x45\\xdc\\x4e\\x81\\xd9\\x29\\xe6\\x9c\\x82\\x87\\x3b\\x99\\x76\\x8a\\x9c\\x3e\\x8d\\xcd\\xa7\\x91\\xf9\\x0d\\x63\\xdf\\xc0\\xfb\\x0d\\xf6\\x7d\\x43\\xac\\xbf\\x61\\xec\\x0c\\xfe\\x9e\\x21\\x6f\\xce\\x60\\xdf\\x19\\xfc\\x38\\xcb\\x9c\\xb3\\xc8\\x3e\\x8b\\xbe\\x73\\xe4\\xe7\\x39\\x30\\x3c\\x87\\x9c\\x6f\\xb1\\xfb\\x5b\\x64\\x70\\x6f\\xd3\\xce\\x93\\x17\\xe7\\xd1\\xcd\\xfd\\x4d\\x2b\\x47\\x57\\x39\\xcf\\xdf\\xe3\\xff\\xf7\\xe4\\xea\\xf7\\xea\\x99\\x7c\\xf8\\x07\\x31\\xfd\\x07\\x72\\x7e\\xc0\\xa6\\x1f\\xc0\\xfb\\x07\\xfc\\xfb\\x11\\x7f\\x7f\\x24\\x1e\\x3f\\x82\\xe7\\x4f\\xec\\xaf\\x3f\\x31\\xff\\x27\\x70\\xba\\xc0\\x9c\\x0b\\x60\\x72\\x81\\xfc\\xbe\\x00\\x66\\x17\\xd0\\x7d\\x01\\xbc\\x2f\\xb2\\x16\\x2f\\x22\\x8b\\xfb\\x9a\\xf6\\x33\\x7e\\xfe\\x42\\x9e\\xfe\\x8a\\xed\\x97\\xf1\\xe1\\x37\\xb0\\xfa\\x27\\x78\\xfc\\x81\\x7d\\xff\\xc2\\x97\\x3f\\xb1\\xef\\x4f\\x64\\x5c\\x81\\xf7\\x2a\\x3a\\xae\\x61\\xbb\\x97\\xe7\\x8a\\xcf\\x85\\x2e\\x7e\\x14\\xba\\xfc\\x58\\xe8\\xdc\\xa3\\x74\\x9d\\x77\\xa3\\x0c\\x3a\\x28\\x74\\x6b\\x10\\xc4\\xbb\\x8d\\xfe\\xa0\\xdd\\x42\\x0f\\x9e\\x21\\xf4\\x90\\x02\\xa1\\x87\\x86\\x09\\x3d\\xac\\x39\\xb4\\x08\\x62\\x2c\\x0c\\xfe\\x70\\x37\\xf4\\x00\\xb4\\x43\\xe8\\x11\\x89\\x50\\x2d\\x68\\x01\\xc4\\x58\\x64\\x1f\\x08\\x99\\x51\\xb9\\x10\\x7a\\xec\\x73\\x85\\x1e\\x3d\\x0c\\xba\\x24\\xf4\\x98\\x56\\x10\\xba\\x62\\x2e\\x0b\\x3d\\xd6\\x80\\x6e\\x85\\xd6\\x0a\\x3d\\x6e\\x19\\x84\\xee\\x78\\xc6\\xe3\\xe1\\x4d\\x60\\x3c\\x71\\x9d\\xd0\\x93\\x78\\x4f\\x42\\x67\\x35\\x64\\x55\\xdb\\x22\\xf4\\x64\\x01\\x15\\x43\\xd8\\x97\\x8c\\xbc\\x14\\x27\\x84\\xec\\x14\\x64\\xa4\\x7c\\x27\\xf4\\xea\\x75\\x21\\xec\\xaa\\x7e\\x48\\xe8\\xa9\\xd8\\x95\\x3a\\x12\\x7a\\x5f\\xe8\\x8e\\x1a\\xd0\\x68\\xe8\\x98\\xd0\\x9d\\xd8\\xea\\x5c\\x02\\xfd\\x21\\x74\\x57\\x0f\\x08\\xf9\\x69\\x8c\\x73\\xc7\\xd1\\xd3\\x90\\x91\\x8e\\xcf\\xe9\\x2b\\x85\\x5e\\x23\\x0a\\x2a\\x85\\xce\\x09\\x3d\\x03\\xde\\x0c\\xec\\xe3\\x8e\\xa3\\x67\\x62\\x7f\\x4d\\xf0\\xa8\\x89\\xcd\\xb5\\xe0\\xab\\x85\\xac\\x5a\\x57\\x85\\x5e\\x7b\\x96\\xd0\\xeb\\xf0\\x5e\\x07\\x3b\\xb3\\xc6\\x43\\xc8\\xc8\\x42\\x1f\\xf7\\x1b\\xbd\\x6e\\x03\\x08\\xbb\\xb3\\x91\\xd5\\x14\\x9b\\x5b\\x35\\x86\\x78\\x6f\\x05\\x7e\\xad\\xd0\\xd9\\x1a\\xff\\x5a\\xc3\\xd3\\x1a\\x9e\\xd6\\xf0\\xb4\\x01\\x9b\\x36\\xf0\\xb4\\x01\\x83\\xb6\\x60\\xdd\\x6e\\x35\\x04\\xb6\\xed\\xb1\\xb7\\x3d\\x6d\\x07\\xe6\\xe6\\x62\\x77\\x1e\\xbe\\xe5\\xe3\\x6b\\x47\\xb0\\x2f\\xc0\\xc6\\x4e\\xf0\\x75\\x02\\xbf\\xce\\x29\\x10\\xb8\\x74\\x46\\x5f\\x17\\xe6\\xdc\\xca\\xdc\\xae\\x8c\\x77\\xc3\\x96\\x6e\\xe8\\xe8\\x0e\\xee\\x3d\\x88\\x6b\\xcf\\x81\\x42\\xef\\x05\\x66\\xbd\\x88\\x53\\x6f\\x64\\xf6\\x06\\x93\\x3e\\xc4\\xbd\\x0f\\xf8\\xf7\\xc5\\xbe\\xbe\\x60\\x7c\\xdb\\x24\\xa1\\xf7\\x03\\xb3\\x7e\\xf8\\x5f\\x88\\x1d\\x1e\\xf8\\x3c\\x8c\\xf5\\x27\\x5f\\xfa\\x17\\x42\\xc8\\xeb\\x8f\\x4d\\x03\\xb0\\x77\\x00\\x3a\\x06\\xa0\\x6b\\x60\\x2c\\xc4\\xf3\\x40\\x9e\\x07\\x11\\x87\\x41\\xd8\\x32\\x08\\x5c\\x06\\x21\\x8f\\xfb\\x86\\x3e\\x18\\x1d\\x83\\x79\\x1f\\x8c\\x7d\\x45\\xe4\\x55\\x31\\x36\\x14\\xa3\\xa7\\x18\\x3c\\x8a\\xc1\\xb2\\x04\\x1d\\x25\\xf8\\x50\\x42\\x7f\\x09\\xf3\\x4b\\xb0\\xb7\\x04\\x5b\\x4b\\x90\\x59\\x42\\x7c\\x4b\\xc8\\xa9\\x92\\x93\\x42\\x1f\\x02\\x96\\x43\\x90\\x3d\\x94\\xb9\\x43\\xf1\\x61\\x28\\xbc\\xc3\\x88\\xcd\\x30\\x6c\\x1a\\xc6\\xf8\\x70\\x7c\\x1a\\x4e\\x6e\\x0c\\xe7\\x79\\x04\\x98\\x8f\\x40\\xef\\x08\\x6c\\xba\\x1d\\xbe\\xdb\\x91\\x77\\x3b\\xfa\\x6e\\xc7\\xd7\\x91\\xc4\\x7c\\x24\\x32\\x47\\x32\\xef\\x0e\\xf0\\xbe\\x83\\xfe\\x51\\xc4\\x72\\x14\\x31\\x1d\\x45\\xbc\\xef\\x44\\xff\\x9d\\xd8\\x7b\\x27\\x58\\xde\\xc9\\xfc\\xd1\\xe8\\x1b\\x4d\\xcc\\x46\\xa3\\x73\\x0c\\x79\\x32\\x86\\xf1\\x31\\xe4\\xc1\\x18\\x62\\x39\\x16\\xac\\xc6\\xe2\\xd3\\x58\\xe2\\x38\\x0e\\x3f\\xc6\\xe1\\xd7\\x38\\x9e\\xc7\\xd3\\x4e\\xc0\\xfe\\x09\\xf0\\xdf\\x45\\x5c\\x27\\x32\\x36\\x91\\xe7\\x49\\xd8\\x32\\x89\\xdc\\x9b\\x84\\xac\\xc9\\x60\\x35\\x99\\x9c\\x9b\\x0c\\x9e\\x53\\xb0\\x69\\x0a\\x36\\xdd\\x0d\\x96\\x77\\xe3\\xe3\\xdd\\xc4\\xf5\\x1e\\xc6\\xef\\x61\\xee\\xbd\\xf4\\xdd\\xcb\\xfb\\x7d\\xc4\\xf3\\x3e\\x64\\xde\\x47\\x6c\\xee\\xc7\\xd7\\xfb\\xb1\\xfb\\x01\\xfa\\x1e\\x80\\x97\\xbb\\x93\\xfe\\x00\\xf6\\x4e\\x25\\x4e\\x53\\xb1\\x75\\x2a\\x72\\xa7\\x92\\x2b\\x0f\\x62\\xef\\x83\\xc4\\xed\\x41\\x30\\x7a\\x10\\x7f\\xa7\\x21\\x73\\x1a\\x6b\\x76\\x1a\\xf3\\xa7\\x21\\xa7\\x14\\x7b\\x4a\\x59\\x37\\xa5\\xc8\\x2f\\xc5\\x8e\\xe9\\xf8\\x33\\x1d\\xfd\\xd3\\x57\\xfe\\x17\\x04\\x56\\x0f\\x91\\x1b\\x0f\\xe1\\xd7\\xc3\\x60\\x30\\x83\\x7c\\x9c\\x81\\x2d\\x33\\xb0\\xe3\\x11\\xec\\x7b\\x04\\x79\\x8f\\x62\\xff\\x4c\\x74\\xce\\xe4\\x7d\\x16\\xb1\\x9a\\x85\\xdf\\xb3\\xb1\\x6f\\x36\\xfa\\xe6\\x80\\xfd\\x1c\\x6c\\x7a\\x0c\\x3c\\x1f\\x63\\x8d\\x73\\x0f\\xd3\\xe7\\x82\\xe9\\x3c\\xf2\\x7e\\x1e\\xbe\\x3d\\xce\\xf8\\xe3\\xd8\\x38\\x9f\\x76\\x3e\\x71\\x5d\\x00\\xff\\x02\\xe6\\x3f\\x01\\x1e\\x4f\\x30\\xf7\\x09\\x7c\\x78\\x02\\x79\\x4f\\xe2\\xc3\\x93\\xc4\\xe3\\x49\\x78\\x17\\x92\\x3f\\x0b\\xf1\\x67\\x21\\x36\\x2d\\xc2\\xef\\x45\\x60\\xbf\\x88\\x3c\\x5c\\x4c\\x7c\\x17\\xd3\\xbf\\x18\\x39\\x8b\\x91\\xfd\\x14\\x3c\\x4f\\x91\\x3f\\x4f\\x93\\x5f\\x4b\\x0c\\xf5\\xff\\x57\\x21\\x34\\xf5\\xff\\xa9\\xa0\\x4f\\xd7\\x98\\x2d\\x6c\\x22\\xd5\\x1d\\x66\\x15\\x36\\x9d\\xdd\\x31\\xd8\\x22\\xad\\x42\\x64\\x1f\\xc9\\x3e\\x62\\x8f\\x96\\x2d\\x5a\\xd8\\x73\\xec\\x39\\x0d\\x1b\\xe4\\xd8\\x5d\\x76\\xdd\\x65\\x77\\x4d\\xd3\\xb5\\xe9\\x5e\\x58\\xb5\\x4b\\xd7\\xa2\\xb4\\x71\\xde\\x68\\xc1\\x3e\\xcf\\x7e\\xcb\\x86\\x6c\\xc9\\xf3\\xc9\\xc9\\x71\\x27\\xe9\\x36\\x9b\\x66\\x18\\x41\\xc1\\x91\\x52\\x86\\xea\\x52\\xf2\\x6c\\x59\\x3e\\xc0\\x88\\xd6\\x74\\xd1\\xb6\\x6d\\x96\\x3d\\x5a\\xb4\\x48\\xcc\\x2e\\x1a\\x3c\\x48\\x09\\xb7\\xe7\\xf8\\x84\\xcb\\x74\\xdd\\x25\\x51\\xa0\\x7d\\x71\\xde\\x29\\x33\\xbd\\x5f\\x48\\xa7\\x7c\\x45\\x5f\\xfa\\xe7\\xeb\\x32\\xc2\\xfb\\x8b\\xfa\\x3b\\x85\\x7f\\xea\\xb7\\xea\\x9f\\x58\\x8e\\xf8\\xe4\\x67\\xb8\\xed\\xba\\xa6\\xd9\\xac\\xd6\\xa0\\x60\\x8e\\x41\\xf1\\xdc\\x00\\xab\\x26\\x44\\xdb\\x9c\\x2c\\xbb\\xc8\\xb9\\x51\\x22\\xa4\\xbf\\xf6\\x4e\\x86\\x8c\\xf1\\xda\\xf9\\x69\\xd7\\x6f\\xd5\\xa6\\x5f\\x9b\\xe6\\xff\\xa3\\x7c\\x9a\\xfa\\xf7\\x2c\\x8c\\x05\\xd8\\x9c\\x2c\\x1c\\xe2\\xb0\\xbb\\x59\\x50\\xf5\\x94\\x38\\x23\\x36\\x38\\x3a\\x32\\x22\\xd4\\x08\\x89\\x89\\x77\\xa4\\xda\\x0c\\x6b\\x82\\x21\\x45\\x92\\x91\\x68\\x89\\x89\\xb5\\x58\\x63\\xad\\x21\\x2e\\x7b\\x58\\x58\\x70\\x88\\x5e\\x2d\\x41\\x4f\\x0c\\x49\\x74\\xba\\x82\\x8c\\xb0\\xf0\\xb0\\x1d\\xd2\\xe1\\x0e\\xf6\\x54\\x97\\xe1\\x29\\x22\\xca\\x1e\\xa5\\xde\\x9a\\x7a\\x92\\xe2\\xec\\xd3\\xc2\\xe7\\x87\\xaf\\x08\\xdf\\x17\\x7e\\x34\\xfc\\x54\\xb8\\xb5\\x7b\\x78\\x51\\xb8\\x16\\xee\\x8e\\xab\\x5e\\xb0\\xcf\\x7e\\xd4\\x7e\\xca\\xae\\xdb\\xdd\\x8e\\xb4\\x02\\xbb\\x3b\\xa6\\x7a\\x41\\xb8\\x3d\\xdc\\x6e\\x49\\x88\\xd1\\x43\\x2c\\x22\\x3b\\xa7\\x6d\\x4e\\x74\\x8b\\x16\\xd9\\xd9\\x59\\x59\\x13\\xb2\\x06\\x4d\\xc0\\x0f\\xe5\\x52\\xce\\xf5\\xd6\\x17\\x8a\\x84\\x1c\\x9f\\x7f\\xf6\\x68\\x7f\\x58\\xec\\xd1\\x09\\x2d\\xaa\\x12\\x7e\\xeb\\x39\\x71\\x2e\\x3d\\x3d\\x46\\x51\\x7a\\x93\\x1c\\xc8\\x15\\x93\\xa3\\x2b\\x52\\xfd\\xae\\x18\\x7d\\x7b\\xde\\x4f\\xde\\x5f\\xba\\x2d\\xed\\xee\\x7d\\xaf\\xdb\\x33\\xdd\\x5e\\xfb\\x20\\xff\\xac\\xd4\\xbb\\x3f\\xd3\\x4d\\x36\\xe6\\xc7\\xce\\x6b\\x85\\xf9\\xb2\\x49\\xbe\\xde\\xc1\\xbb\\x7b\\xb1\\xf7\\x29\\x39\\x4a\\xd1\\x62\\x99\\xbb\\x48\\x8e\\xf5\\x3e\\xa9\\x68\\x91\\x77\\xb7\\xcc\\x55\\x7f\\xb0\\x4f\\xe4\\x55\\xf4\\x35\\x4a\\x2d\\x5f\\x89\\x4c\\x51\\x4f\\x34\\x16\\x6b\\xdc\\xd9\\xc9\\x69\\x39\\xba\\x11\\x9e\\x58\\x8f\\x48\\x5b\\xe2\\x44\\x48\\x70\\x70\\xed\\x38\\x47\\x6a\\x6a\\x7d\\x11\\x27\\x9a\\x34\\x8d\\x74\\x38\\x1c\\xd9\\x8e\\x22\\x87\\x11\\xee\\x70\\x58\\x45\\x88\\xac\\xae\\x87\\xec\\xa8\\xd8\\xef\\xce\\x0a\\x8b\\x2e\\x08\\x09\\x49\\xb4\\x36\\x8a\\xa8\\x17\\x31\\xd9\\x93\\x56\\xaf\\x5e\\xed\\xfa\\x89\\x56\\x57\\xcd\\xc4\\x9a\\x53\\x3c\\xc9\\x89\\x49\\x49\\x89\\xb6\\x9c\\x70\\x6b\\xf8\\x44\\x8f\\xc5\\xa2\\x5b\\x13\\x89\\x6f\\x4e\\xb6\\x82\\x21\\xb1\\x6d\\x4e\\xb6\\xdd\\x8c\\x75\\x0b\\x85\\x81\\xf9\\x98\\x98\\x9d\\xa5\\x32\\xaa\\x45\\xb6\\x3f\\xad\\xfc\\x59\\x10\\x80\\x4a\\xa1\\x96\\xa0\\x72\\x22\\xd6\\x6a\\x8b\\x4b\\x6f\\x52\\x5f\\xd6\\xcc\\x48\\x95\\x09\\xf6\\xfa\\x32\\xbd\\xbe\\xd6\\xa4\\x71\\xd3\\x66\\x4d\\x72\\xe2\\x78\\xb7\\x64\\xd6\\xb4\\x27\\x34\\x32\\xe2\\xa5\\x35\\x2e\\x96\\x57\\xd9\\x98\\x79\\xf6\\xa6\\x46\\xe9\\xaf\\x17\\xc6\\x7c\\x76\\x29\\x53\\x8a\\x98\\x09\\x77\\xe8\\x89\\xc6\\xaa\\xd5\\x9e\\x33\\x5f\\x8e\\x79\\xf3\\xa3\\xfa\\xde\\x3f\\x52\\x9f\\x0b\\xad\\x2e\\x6b\\x3e\\x79\\x6d\\xd3\\xf6\\xd4\\x56\\x83\\x64\\xe7\\x1a\\x79\\x93\\xbe\\x92\\xb3\\xb7\\xbe\\x13\\xbc\\x61\\x5d\\xd0\\xeb\\x6f\\x64\\x4f\\xb8\\x23\\x44\\xce\\xd4\\x2c\\x19\\xc3\\x97\\x8e\\x7f\\x69\\x6b\\xf0\\xa3\\x8f\\xda\\x56\\xec\\xa8\\xb9\\x2e\\xce\\xbb\\x52\\x2b\\x7e\\x5d\\x9b\\x1e\\xf1\\x64\\xbd\\x16\\xb5\\x52\\xbd\\x2d\\x1b\\xb5\\xad\\xe5\\xf2\\x3e\\x11\\xa9\\xfe\\xa0\\xa7\\x10\\x15\\x97\\x8d\\x0f\\x2c\\x3d\\x41\\x37\\x42\\x24\\x89\\x1a\\x22\\x5b\\x0c\\x76\\x37\\x15\\x52\\xd3\\xa5\\x1e\\x96\\x92\\x95\\x96\\x96\\x91\\x12\\x69\\xb5\\xc6\\x85\\xa5\\x34\\x0c\\x6b\\x50\\xad\\xd6\\x36\\x8f\\xa3\\xda\\xf6\\x01\\x8e\\xfa\\xb4\\x49\\xc1\\x89\\xdb\\x3c\\x46\\xf0\\x76\\x16\\x18\\xad\\x4d\\xb3\\x0a\\xe0\\x62\\x9d\\x65\\x65\\x89\\x44\\xf5\\xd3\\x2e\\xaf\\x43\\x51\\x35\\x75\\x58\\xd1\\xe9\\x32\\x27\\xc3\\x69\\x8f\\xb5\\xa6\\xa7\\x65\\x02\\x83\\x6c\\x9c\\x99\\x9e\\x86\\xef\\xf1\\x39\\x8d\\x2c\\x37\\xed\\xfd\\x71\\x83\\xbe\\x7a\\xe3\\xd5\\x27\\x64\\xf2\\x93\\xf3\\xe6\\x3d\\x39\\x57\\x6a\\x4d\\x9a\\x37\\x6f\\xd1\\xb2\\xd9\\x18\\x2d\\xe3\\xc6\\x1e\\x4b\\xa7\\x20\\x6f\\xd9\\x9a\\xd7\\xd6\\xbd\\xbc\\xe6\\x65\\x6f\\xd9\\x9d\\x83\\x07\\x8c\\x1d\\x3d\\x68\\xc5\\x8d\\x1d\\xbe\\x3f\\x20\\x2a\\x12\\x2b\\x7e\\x32\\xde\\xb2\\x74\\x15\\x69\\xa2\\xae\\x68\\x2e\\xc6\\xbb\\x5b\\xe9\\x19\\xe9\\x7a\\xaa\\x25\\x2e\\x35\\x2a\\xbd\\x49\\x84\\x35\\xa7\\x5e\\x68\\x8e\\xc5\\x12\\x1a\\x53\\x4b\\x44\\xc7\\x88\\x98\\x16\\x2d\\x53\\xd3\\xe3\\xa2\\x0c\\x67\\x46\\x44\\x96\\xde\\x24\\x28\\x3a\\xda\\x19\\x94\\x90\\xe5\\xcc\\xea\\xe9\\x49\\x71\\xc6\\x07\\x35\\xe8\\xe9\\x09\\x32\\x44\\x5b\\xe5\\x71\\x65\\x46\\xe0\\xa8\\xfa\\x4f\\xad\\x0c\\x73\\x17\\x0b\\xac\\x9a\\xc0\\x62\\x89\\x21\\xf8\\xca\\xc9\\x9c\\x46\\xf1\\x71\\xe4\\x46\\x7c\\x42\\xd3\\x66\\x09\\x34\\x39\\x8d\\x9a\\xc5\\xe1\\x7e\\x4d\\x05\\x41\\x46\\x66\\xcd\\x08\\xe9\\x73\\x3f\\xc6\\x44\\x22\\xa1\\x8d\\x96\\xb8\\x6a\\x5e\\xc7\\xd7\\x5f\\x7b\\x66\\xc7\\xca\\x23\\x45\\x77\\x77\\x71\\xbd\\x5f\\x67\\x42\\xdf\\x3e\\x2d\\x6a\\x64\\xb6\\x58\\x39\\x77\\xf5\\x9b\\x1f\\x97\\x6b\\x33\\x57\\xdc\\x9e\\xdb\\x79\\xec\\xb0\\x91\\xcb\\xdb\\xb4\\xed\\xdc\\xb5\\xf1\\xb0\\x1e\\x75\\xe5\\x84\\x69\\x9f\\x77\\x78\\x7c\\xea\\xa2\\x17\\x9e\\x7d\\x68\\xc4\\x6b\\x45\\x2f\\xcd\\x5a\\xbc\\x21\\xf9\\xa7\\xb7\\x3b\\xd9\\x0f\\xc6\\x4d\\xbc\\xff\\x70\\x8b\\xb2\\x1d\\xb5\\x26\\xe5\\x0f\\x19\\xaf\\xcf\\x6d\\x96\\xd7\\x3b\\xb7\\xb0\\x24\\xbb\\xa5\\xfa\\x4b\\x2c\\x5f\\xb3\\x55\\x5d\\xf4\\xed\\x77\\x89\\xee\\x50\\x76\\x3b\\xc3\\xa2\\x36\\x3a\\xb5\\xcf\\x65\\xf9\\xf7\\x38\\xff\\x06\\xa7\\xbd\\x1b\\xd8\\xd6\\xe0\\x29\\xf4\\xf6\\xd3\\x9f\\xb5\\xbc\\x2f\\xc2\\x45\\x9a\\x3b\\x52\\x84\\x87\\x5b\\x6d\\xb6\\x10\\x5d\\x8f\\x88\\x64\\x2b\\x4f\\x26\\x21\\xae\\xef\\x8d\\xfe\\xed\\x31\\x53\\xb3\\x47\\x45\\x37\\x73\\x59\\x55\\x93\\xa0\\x4d\\x7f\\x6e\\xee\\xdc\\xe7\\x64\\xd2\\xf2\\xf9\\x8f\\xaf\\xf0\\xf6\\x3b\\x23\\x0f\\xc8\\x44\\x16\\xc0\\x1b\\xdf\\x9c\\xf3\\xb6\\xf2\\x5e\\xf0\\x5e\\xf4\\xb6\\xfd\\x1e\\xf9\\x39\\xc8\\x9f\\x1c\\x90\\xcf\\xf6\\x1b\\x4e\\x00\\x43\\x42\\xfe\\x4e\\x7e\\xd3\\x68\\x7b\\x94\\x56\\xd3\\x15\\xaf\\x1a\\x9b\\xcc\\x59\\x39\\x6f\\x81\\x92\\xff\\xd8\\x63\\xcb\\xbd\\xfd\\xfe\\x21\\xf7\\xc9\\x68\\x19\\x23\\xdf\\x3a\\x73\\xd6\\xdb\\xc6\\xfb\\xa3\\xf7\\x1f\\xde\\x36\\xe7\\x84\\x14\\x27\\xb5\\x0f\\xf5\\x9f\\x2d\\xef\\x91\\xfd\\x45\\xee\\x16\\xd6\\x70\\x2d\\x22\\x24\\x22\\x3c\\x3c\\x32\\x4a\\x0b\\x09\\x91\\xa1\\x22\\x6c\\x72\\xd8\\x23\\x61\\x9a\\x1e\\x6c\\x04\\x4d\\x0b\\x9d\\x1f\\xaa\\x85\\x06\\x59\\x83\\xc3\\x42\\x2d\\xe1\\x16\\x61\\x73\\xda\\x1a\\xd8\\xc6\\xdb\\x4a\\x6d\\x0b\\x6c\\x38\\x1c\\xae\\x4e\\x82\\xec\\x41\\x39\\x44\\x37\\x7b\\x90\\x0a\\xf5\\xa0\\xeb\\x59\\x6f\\x5a\\x17\\xad\\xf6\\xc8\\x66\\x09\\xb6\\x04\\x5b\\x4d\\x5b\\xcd\\x66\\x35\\x9b\\x25\\xe8\\x39\\xda\\x81\\x1f\\x72\\xff\\xdc\\xb5\\xe3\\xc9\\xc5\\xbb\\xf6\\xfe\\x99\\x7b\\x31\\xfa\\x33\\x63\\xe7\\xc8\\xb7\\x5a\\x7f\\x72\\xef\\xd5\\xab\\xf7\\x1f\\x6f\\xfd\\xd6\\x48\\x19\\x8d\\x6d\\xc3\\xc5\\x2a\\x63\\xa4\\xb1\\x51\\x84\\x8a\\x96\\xee\\xd4\\x60\\x29\\xad\\x9a\\x66\\x09\\xb1\\x84\\x84\\x85\\x1b\\xda\\x06\\x8f\\x30\\x2c\\xc6\\x7a\\x4f\\xb0\\xc5\\x62\\xdb\\xe0\\xb1\\x6c\\x56\\x21\\x12\\x39\\x7e\\xf2\\xe5\\x5d\\xf4\\xf5\\x23\\xc9\\x9e\\x6e\\x77\\x35\\x71\\x61\\x8c\\x2b\\x4e\\xfb\\xf4\\x8c\\x77\\x82\\x9c\\x7f\\x46\\x3e\\xa9\\xb5\\xf0\\x8e\\x94\\x4b\\x4e\\xcb\\x25\\xde\\x91\\xa7\\xd5\\x1f\\xad\\x96\\x9a\\x77\\xb1\\x76\\x5e\\x66\\x11\\xfb\\x6a\\xee\\x70\\x42\\x6e\\x58\\xa4\\xbe\\x6c\\x80\\x21\\x97\\x0e\\x10\\x59\\x95\\xd1\\x8f\\x71\\x31\\xf3\\x65\\x79\\x8b\\xf7\\x30\\xd3\\x9f\\xba\\x36\\xca\\xf7\\xc7\\xb2\\x65\\xae\\x7c\\x46\\x9f\\xa5\\xcd\\x83\\x37\\xde\\x1d\\xc2\\xbd\\xc7\\x22\\xc5\\x2e\\x8f\\xdc\\x6d\\xa6\\x8d\\x72\\xbd\\x89\\x2b\\x4e\\xe6\\x6a\\xcc\\xbb\\x7c\\x99\\xf9\\x9f\\x72\\x10\\xfe\\x53\\x36\\x34\\xf3\\x4c\\xe9\\x12\\x4a\\x4f\\x74\\x95\\x3c\\xe3\\xc8\\xb7\\xcb\\x4f\\xa5\\x4b\\x36\\x54\\xff\\x72\\x3b\\x58\\x78\\x2a\\x7e\\x34\\xee\\x22\\x0f\\x74\\x91\\xe2\\x0e\\xd3\\xd9\\xa0\\x84\\xa6\\xf4\\x88\\x18\\x33\\x09\\xcc\\xdd\\x25\\x41\\xe6\\x48\\x8f\\xde\\xe4\\xdc\\xd5\\xa3\\xb1\\x96\\xd3\\x7f\\x3a\\xfd\\xeb\\x7d\\x32\\xbc\\xfd\\x2c\\xfd\\xc1\\xb1\\x9a\\x48\\x15\\x7d\\xdc\\x0d\\xaa\\xa7\\x84\\xc5\\xc6\\x5a\\xc3\\x84\\x55\\x38\\x9c\\x91\\xc9\\x32\\xd9\\x1d\\x99\\xe2\\x48\\x99\\x9f\\xb2\\x22\\x65\\x5f\\xca\\xd1\\x14\\x6b\\xb8\\x9e\\x92\\xa2\\x07\\x07\\x47\\x4d\\xf2\\x04\\xdb\\xf4\\xc4\\x49\\x1e\\x3d\\xc9\\xbf\\xc6\\x2b\\x6b\\x88\\x6a\\x47\\x26\\x5c\\xd7\\xa9\\x76\\xb6\\x86\\xea\\x6f\\xf4\\xa4\\xa7\\xa9\\xac\\x76\\x35\\x8a\\x56\\x7b\\x78\\x7a\\x9a\\x5a\\xbf\\xa9\\x32\\xa7\\x51\\xd3\\x0c\\x36\\x7a\\xa3\\x5f\\x85\\xb8\\xfc\\xdb\\xbf\\x7e\\x95\\xfa\\x9f\\xbf\\x78\\xcf\\xd7\\x29\\xec\\x75\\xdb\\xc0\\xda\\x59\\xfd\\x7b\\x4d\\x1a\\xe6\\xdd\\xf3\\x99\\xf6\\x82\\x77\\xbd\\x77\\x99\\x1c\\x2a\\xfb\\xc8\\x62\\xd9\\xcf\\xbb\\xda\\xfb\\x62\\xd9\\x91\\xc1\\x83\\x8f\\x94\\xbd\\xf6\\xc1\\xe0\\x2f\\x66\\xfd\\xeb\\x5f\\xf8\\x3e\\x07\\x88\\xa6\\x50\\x33\\x44\\x88\\xd6\\x6e\\x47\\x78\\x98\\x55\\x86\\xc8\\x30\\x96\\x67\\x64\\x94\\x6e\\x0d\\xb1\\x59\\x27\\x7a\\x58\\x72\\xd6\\x30\\x29\\xe4\\x44\\x8f\\xda\\x84\\x03\\x07\\x96\\xcf\\x5c\\x1f\\x9e\\x09\\x39\\xe6\\xd6\\x4b\\x1a\\x44\\xc8\\xf4\\x26\\x8d\\x9a\\x36\\x03\\xdf\\xb8\\xc5\\xf2\\x91\\x9a\\xdf\\x97\\x3e\\x76\\xb2\\x39\\xf2\\x3a\\x7c\\xa8\\xdf\\xdf\\x6b\\xfc\\xa7\\xf7\\xdd\\x79\\x65\\xee\\x87\\x3e\\xbc\\xef\\x47\\x67\\x5f\\x30\\xab\\xae\\xf0\\x4a\\x96\\x32\\x22\\x32\\x25\\x28\\x2e\\x32\\x2e\\xd5\\x11\\x19\\xe1\\x88\\xc8\\x8e\\x28\\x8a\\x18\\x17\\x61\\x89\\xd6\\x23\\xdc\\x61\\x91\\x05\\x11\\x11\\xd1\\xc9\\xd1\\xa1\\x93\\x3c\\xd1\\x36\\x99\\x2c\\x92\\x27\\x57\\x31\\xc2\\x44\\x2c\\xab\\xa8\\xea\\xf9\\x68\\x9a\\xd2\\x46\\x36\\x6b\\xc3\\x39\\xa8\\x76\\x37\\x5b\\x46\\x1b\\x69\\x6e\\x86\\x11\\xd2\\xe6\\x8a\\xbb\\xbf\\xd1\\xce\\x8d\\x73\\x7a\\x65\\x0f\\x1e\\xd0\\xbf\\x28\\xc2\\xfb\\x6d\\xe2\\x6f\\xc7\\xbf\\xf0\\xce\\x9e\\x7d\\xe0\\xd1\\x54\\xed\\xf1\\x37\\xc7\\x7e\\xb5\\x60\\xc2\\x6d\\x3d\\xeb\\x14\\xf4\\x2a\\x29\\x89\\x3a\\xf8\\xc1\\x3b\\x6b\\xc6\\x1c\\xbd\\xf3\\xa9\\x19\\xb9\\xe5\\xbe\\x3c\\x14\\x83\\x2a\\xbe\\x37\\x86\\x63\\x73\\x6d\\x71\\x8f\\x3b\\x37\\x33\\xdd\\x6e\\xb7\\x8a\\xe4\\x94\\x14\\x9b\\x35\\x2e\\x3d\\x5d\\xc5\\xba\\x4e\\x96\\x4d\\xcf\\x8c\\x4a\\x76\\xd8\\xed\\x51\\x93\\x3d\\x6d\\xed\\xdd\\xed\\xf3\\xed\\x2b\\xec\\xaa\\x36\\xb2\\xea\\xe1\\xf6\\xea\\x76\\x2d\\xdc\\xb0\\xdb\\x75\\x87\\x83\\x88\\x3b\\x6c\\x7a\\xf0\\xe4\\x9b\\xc4\\xbd\\x68\\x90\\xef\\x99\\xb5\\xd5\\xe2\\x26\\xe7\\xbd\\x6f\\x91\\xc7\\x1a\\xe9\\x69\\x35\\x6a\\x66\\xb0\\x73\\x37\\xc5\\xb9\\x2c\\xd9\\xc4\\xff\\xe0\\xf3\\xb2\\x69\\x8d\\x9c\\x46\\xa9\\x52\\xb9\\xc9\\xc9\\x6f\\x0c\\xf7\\xfe\\x7c\\xf1\\xbc\\xf7\\xd7\\x04\\x99\\x9a\\xf4\\xd1\\x1d\\x53\\x9e\\x98\\x39\\x64\\xe0\\x7d\\x0f\\x8f\\x19\\x70\\xdb\\xf8\\x20\\x6f\\x79\\xbc\\xd4\\x8f\\x2f\\x3a\\x31\\x71\\xd9\\x13\\xcf\\x6d\\x91\\xf7\\xec\\xf9\\xe8\\xf0\\xde\\xa4\\xdd\\xc3\\xfb\\xf5\\x1b\\x78\\x76\\x50\\xef\\x2e\\xc5\\x3d\\x0b\\x63\\x37\\x1f\\xe8\\xff\\xc2\\x9d\\xf7\\xaf\\x4e\\x31\\xa2\\x5f\\xf6\\xd5\\x94\\x1d\\xcd\\x9a\\x32\\x84\\x25\\xd4\\xca\\x5d\\xdd\\x6e\\x89\\x66\\xa7\\x08\\x92\\x16\\x19\\x13\\x2b\\x0c\\xbb\\x31\\xd1\\x13\\x64\\x89\\xb0\\xda\\xed\\xd2\\x6a\\x95\\xea\\x90\\x8e\\x6e\\xc1\\x21\\x95\\x73\\xbd\\x74\\xad\\xba\\x7f\\xb2\\xea\\x5c\\x4d\\x24\\x9b\\x45\\x9c\\xe4\\x90\\xb2\\xda\\xa4\\x4b\\xff\\xd8\\x7b\\x99\\xea\\xb5\\xb7\\x6c\\xb9\\xdb\\xdb\\xdc\\xa6\\x55\\xcb\\xf5\\xee\\x97\\x8b\\xa5\\xc3\\xfb\\x8d\\x74\\x1c\\xd7\\x7b\\x5f\\x7d\\xf5\\x43\\x6d\\x74\\xd3\\x07\\xa3\\x9b\\x8f\\xf2\\xb6\\xf3\\xc7\\x60\\x24\\x6b\\x6d\\x28\\xb6\\x54\\x17\\x1e\\x77\\xdd\\x04\\x9b\\x48\\x4a\\x8c\\x89\\x89\\x8b\\x8d\\x0d\\xb2\\x45\\xa8\\x62\\xdf\\x11\\x1b\\x14\\x1b\\x64\\x24\\x27\\xdb\\x27\\x7b\\x92\\x93\\x8d\\xb8\\xb8\\xc4\\x89\\x9e\\x38\\xab\\x41\\xee\\x18\\x7f\\xc5\\xda\\xd7\\xd0\\x66\\x5f\\x5f\\x66\\x81\\xff\\xfc\\x20\\x93\\xc5\\x69\\x99\\xaa\\x9e\\x0a\\xa0\\x6b\\x73\\xc5\\xb8\\xa8\\x34\\xd5\\x99\\x6a\\x0c\\x9d\\xfa\\xd3\\xca\\x8f\\x2b\\x52\\x65\\x52\\xfc\\xf8\\xbe\\xa3\\xef\\x9b\\x32\\x6a\\x72\\x67\\xef\\x85\\x86\\x7a\\xf7\\x6b\\x65\\x09\\x23\\x9e\\x39\\xfc\\xb3\\x7c\\x7b\\xee\\x67\\x77\\xef\\xdb\\x9a\\xd0\\xbf\\x57\\xe9\\xe4\\x91\\x53\\x07\\x68\\x57\\x3e\\xf4\\xee\\xea\\xff\\x4f\\x1f\\x8e\\x53\\xb1\\x7d\\x00\\xf9\\x93\\x20\\xd2\\x45\\x3f\\x77\\xfd\\xe8\\xd4\\x54\\x6b\\x78\\x58\\x58\\x22\\xa9\\x53\\x23\\x83\\x43\\x21\\x2e\\x2e\\x99\\x15\\x16\\x17\\x15\\xe7\\x8c\\xd3\\x83\\xf5\\x38\\x7e\\x04\\x47\\xfa\\xf6\\x08\\xd7\\xcd\\xf6\\x08\\xf3\\xa9\\x6a\\x9e\\xd8\\xfd\\xd5\\x60\\x7a\\x9a\\xb0\\x47\\x09\\x2c\\xa5\\xf8\\x53\\x67\\xbb\\x2f\\xf9\\x2d\\x95\\x15\\x4f\\x53\\x63\\x80\\xf7\\xe4\\x6f\\xde\\x9f\\x65\\xe4\\xd5\\xcd\\x47\\xb3\\xbc\\xff\\xcc\\x9c\\x71\\x57\\x69\\xbd\\x95\\xc3\\x77\\x9e\\xf6\\x9e\\x1f\\x57\\xd2\\x7f\\xe2\\x94\\xc1\\x83\\x46\\xcb\\xbd\\x27\\xfe\\x25\\xc7\\xc9\\x3c\\x39\\x44\\x16\\x2e\\x7f\\x29\\xe3\\xb1\\x13\\x1f\\x76\\xe9\\xf1\\xfd\\x07\\x63\\xee\\x1f\\x37\\x60\\xc2\\xb2\\x52\\x5f\\x1c\\x1e\\x26\\x27\\x72\\x7d\\x39\\x51\\xd7\\x1d\\xa7\\x73\\x2d\\xb2\\xa9\\x7f\\xf5\\x24\\x34\\x4c\\x04\\x05\\x07\\x4d\\xf6\\x04\\x5b\\xf5\\x44\\xdf\\xad\\xe8\\x7a\\x0a\\xf8\\x0e\\x0c\\xcc\\x0b\\x21\\x07\\xa2\\xa2\\x25\\x27\\x86\\x91\\x5b\\x71\\xcc\\xfb\\xe5\\x45\\x29\\xae\\xe5\\xea\\x6f\\x18\\x23\\xbc\\xab\\xaf\\xfd\\x5e\\x21\\xa4\\xa1\\xa5\\xcb\\x66\\xe5\\xfe\\x7d\\x75\\x0c\\x78\\x15\\x83\\x57\\x12\\x95\\x54\\x3d\\x71\\x9b\\x3b\\x2b\\x3e\\x24\\xbc\\x5a\\x4c\\x6a\\x78\\x4c\\xb8\\xa8\\x6d\\x4d\\x07\\xb6\\xfa\\xd9\\xf1\\x21\\x21\\xae\\x4c\\x57\\xe6\\x14\\x8f\\xcb\\xa5\\x47\\x45\\xa5\\x4c\\xf1\\x44\\xd9\\xf4\\xac\\x29\\x37\\xc2\\xe5\\xdf\\xaa\\x72\\x6e\\xac\\x98\\xfc\\x3b\\xab\\x6f\\x45\\xf9\\x0a\\xe6\\xfa\\xb2\\xb2\\x6a\\x62\\x05\\xc9\\xc6\\xe9\\x69\\x7f\\xa9\\x91\\x14\\x74\\xc5\\xde\\xdf\\x2f\\xfe\\xe4\\xfd\\x75\\x45\\xe9\\x84\\x79\\xff\\x3a\\x79\\xf6\\x9f\\x8f\\xdf\\x35\\x73\\x99\\x77\\xf7\\xce\\x6d\\x45\\x9e\\xed\\xae\\x71\\x63\\x86\\x8f\\xfd\\x72\\xd4\\x28\\xf9\\xe0\\xee\\x4f\\x3f\\xde\\x5d\\xba\\x29\\xce\\x48\\x7a\\x69\\xec\\xea\\x03\\xbb\\xd7\\x8d\\x5a\\x9b\\x60\\xc4\\xbf\\x26\\xcf\\x6c\\xda\\x34\\xa0\\xd8\\x3b\\x66\\xf8\\x1d\\xe3\\x86\\x9e\\x1a\\xed\\xcb\\x87\\xbb\\xf0\\xaf\\x57\\x65\\x3e\\x50\\x7d\\xa4\\x46\\x87\\x25\\x26\\xb2\\xca\\x6a\\x64\\xd8\\x6c\\xc1\\x91\\x91\\xae\\x89\\x9e\\xc8\\x48\\x47\\x64\\x76\\x24\\xf9\\x10\\x19\\x19\\xa7\\xc7\\x25\\x4f\\xf2\\xc4\\xb1\\x77\\xfc\\xe7\\x7c\\xb0\\x5f\\x5f\\x72\\xea\\xe0\\xc8\\xf4\\x6f\\x18\\xcd\\x7c\\x69\\xdd\\xa4\\x31\\xdb\\x84\\xf8\\x4b\\x3e\\xf4\\xf2\\xfe\\x5c\\xb1\\xeb\\x78\\x5d\\x19\\x54\\x73\\xde\\x5d\\x0f\\x6b\\x99\\xeb\\x87\\x6d\\xff\\x5a\\x1a\\xdf\\x5d\\x96\\xc2\\xfb\\xd9\\x94\\x81\\x03\\xc6\\x8c\\x19\\x38\\x60\\x8a\\xb6\\xd3\\xfb\\xa2\\xf7\\xf1\\x15\\xeb\\x32\\x16\\x7e\\xf8\\x61\\x97\\xbe\\xbf\\x1f\\xfb\\xe4\\xb2\\x77\\xcb\\x8a\\xfb\\x16\\x4f\\x1f\\x3b\\x7a\\xe6\\x64\\x75\\x57\\xf6\\x9d\\xb9\\x46\\x6b\\xdf\\x5d\\xb6\\x96\\x3b\\xd6\\xa6\\xeb\\x86\\x20\\x17\\x2c\\xc6\\xd2\\x01\\x96\\xc8\\xeb\\xc7\\xaf\\xdf\\xe2\\xeb\\xd7\\x59\\xdf\\x29\\x6c\\x9e\\xc4\\xde\\x53\\xfe\\xd3\\x58\\x0f\\x33\\xcf\\x64\\x4d\\xe6\\x7b\\x17\\xeb\\x75\\xae\\xcb\\x8c\\xb7\\x1a\\x86\\xee\\x93\\x69\\x5b\\x36\\x20\\xc8\\xb2\\x74\\x80\\x14\\x50\\xa4\\xf0\\xdd\\x06\\xaa\\x5c\\x91\\x95\\x3c\\x55\\x47\\x20\\xcf\\x9b\\xef\\xab\\x25\\xfc\\x22\\xaf\\xcc\\xf6\\x57\\x14\\xaa\\xee\\x99\\x6a\\xa8\\x7f\\x8f\\xcf\\x2a\\xda\\xba\\x6b\\x70\\xdb\\xb6\\x0a\\xab\\x2d\\x48\\x0a\\xc3\\xd0\\x2c\\x6d\\xad\\xe3\\xac\\xf3\\xad\\x1b\\xac\\xfb\\xac\\x47\\xad\\x56\\xab\\xee\\xd4\\x64\\xa4\\x46\\x2d\\x90\\x3d\\x68\\x90\\xaf\\x00\\x6b\\xd1\\x3a\\x3b\\x27\\xa7\\x4a\\x39\\x10\\x63\\x97\\x71\\xc1\\x32\\x6e\\xb8\\xa1\\x5f\\xdd\\xa7\\xb7\\xd3\\x0c\\xd9\\x5e\\xce\\x3c\\xe7\\x7d\\xdd\\xbb\\xfb\\xac\\x8a\\xef\\x70\\x99\\x8e\\x9e\\xda\\x3e\\xfb\\x7b\\xb9\\x9b\\x1b\\xe6\\x77\\x08\\xc3\\xb2\\xde\\x53\\x64\\x8c\\x33\\x4e\\x19\\x7a\\xa4\\xe1\\xe0\\x61\\xbe\\x61\\x04\\xeb\\x5c\\xca\\xd7\\x7b\\xa2\\xa4\\x53\\x8e\\x97\\x0b\\xa4\\xe1\\x94\\x6e\\xb9\\x52\\xee\\x97\\xc7\\xd8\\x65\\xd1\\x3e\\x01\\xe4\\x54\\x90\\x27\\x64\\x55\\x55\\xae\\xaa\\x1e\\x08\\xed\\x57\\xae\\x19\\xba\\xde\\xf9\\xd4\\xa9\\x6b\\x27\\xbe\\xfa\\xca\\xbf\\x4f\\x56\\xfa\\xd8\\xda\\x9d\\x1e\\xf0\\xd1\\x6a\\xd1\\x34\\xdd\\x69\\xc8\\x48\\x43\\x1a\\xb2\\xad\\x18\\x27\\xe6\\x8b\\x0d\\x62\\x9f\\x38\\x2a\\xd4\\x87\\x91\\x41\\x8d\\x94\\x97\\x37\\x7a\\xd8\\xac\\x49\\xb0\\x6c\\x22\\xed\\xc3\\x75\\xf7\\xd5\\xfd\\x86\\x3e\\xf5\\xac\\xfa\\x2b\\x73\\xe7\\xbc\\xf7\\x7a\\xf7\\xe2\\x5f\\x67\\xf6\\x00\\x8f\\x6f\\x7d\\x56\\x17\\xc5\\xee\\xc6\\x54\\xaa\\xd5\\xab\\x55\\x8b\\x0d\\x17\\x1c\\x0b\\xb1\\xa9\\x8e\\xf1\\x36\\x19\\x69\\x73\\xd8\\xb4\\x50\\xdd\\x66\\x4b\\xa8\\x56\\x2d\\x79\\xf9\\x80\\x6a\\xd1\\xee\\x18\\x19\\x19\\x43\\x71\\x11\\x13\\x93\\x90\\x10\\x55\\xe4\\x49\\x30\\xcc\\x93\\x5c\\xf9\\x36\\xa8\\x4a\\x32\\x0f\\xaa\\xb2\\x54\\x03\\x71\\x65\\x53\\xa6\\x18\\x76\\xa9\\x73\\x5d\\x56\\x3d\\xf1\\x0c\\x15\\x71\\xc3\\x53\\xaf\\xef\\x92\\x47\\x2c\\xde\\xdf\\xac\\xa3\\x4a\\x26\\xf4\\xba\\x6f\\xe8\\xf0\\xd9\\x61\\xde\\xb3\\xc9\\x32\\xf1\\xf4\\x77\\x32\\xf6\\x5a\\x27\\x8e\\x99\\x2f\\xda\\x8d\\x2e\\x1a\\x5b\\x3c\\xea\\xf6\\x17\\x3a\\x74\\x1d\\x7a\\x4b\\xd7\\x41\\x53\\x4a\\xc2\\xde\\x3b\\x73\\xec\\xca\\x14\\xff\\xa7\\x18\\x7c\\xa9\\xeb\\xfd\\xd6\\x78\\x91\\xfa\\xaf\\xb5\\xe8\\x24\\x1e\\x72\\x77\\xaa\\xd5\\x34\\x37\\x22\\x31\\x39\\xb9\\x4d\\x82\\xc5\\x05\\x34\\x96\\x88\\xa6\\x96\\xce\\x5d\\x52\\xf3\\x43\\xf3\\x3f\\xf1\\xd4\\xaf\\xcf\\x31\\x1f\\x1a\\xed\\xfe\\xc4\\x93\\x10\\x1f\\x1d\\x19\\xea\\x08\\x2d\\x0a\\x1d\\x17\\x3a\\x2d\\xd4\\x12\\x2a\\xa2\\x71\\x2c\\x34\\x3a\\x34\\xba\\x51\\xcb\\x96\\x35\\x3e\\xf1\\xb4\\x14\\x8d\\xb2\\x3e\\xf1\\x34\\x12\\xd9\\xd7\\x97\\xa9\\x3a\\x6f\\xf0\\x8d\\x5a\\xc5\\xfc\\xf8\\xe1\\xbb\\xe0\\xfb\\xb7\\xc8\\x04\\xff\\x21\\x54\\xb9\\x8d\\x47\\x69\\xe9\\x69\\xad\\x65\\xb3\\x74\\x73\\xc9\\x46\\xab\\x7d\\x29\\x21\\xa7\\x59\\x8e\\xee\\x5f\\xb3\\xd1\\x4d\\xd4\\x04\\xab\\x16\\x17\\x15\\xad\\x16\\x76\\x82\\x6f\\x9a\\xd6\\x24\\x2a\\x1a\\x40\\xe2\\xa3\\x2d\\x8d\\x7d\\xf5\\x61\\x14\\x43\\xd1\\xc6\\x8b\\x2f\\xce\\x9d\\xaf\\x59\\x6b\\x3c\\xd8\\x69\\xd4\\xdd\\x25\\x6b\\x6e\\x6f\\xdf\\x27\\xc2\\xe2\\x9a\\x39\\xb4\\x56\\x6c\\xf5\\xce\\x83\\x3e\\x2e\\x5b\\xfc\\xf5\\xdd\\xdf\\xbe\\x39\\xf8\\xb5\\xe1\\x1d\\x27\\x7e\\x7e\\xf7\\x8b\\x57\\x1e\\x7d\\x56\\xa6\\xee\\x5e\\xfe\\xfd\\x83\\xde\\x6e\\x63\\x5a\\x0d\\x69\\x3e\\x38\\xff\\xf6\\xe6\\xda\\xaf\\xde\\x4f\\xbd\\x2b\\x9e\\x0b\\xae\\x39\\x78\\xdc\\xa1\\x9d\\xab\\x64\\xea\\x8b\\xfd\\x6e\\x7b\\xda\\x6b\\xf9\\x28\\x37\\x2d\\x4d\\x3a\\x2e\\xc9\\x48\\xd9\\xed\\x84\\xf7\\x81\\x8b\\xde\\xf7\\xbd\\x4f\\xe7\\x17\\x96\\x0c\\xed\\x7f\\x40\\x8e\\xb9\\x20\\x53\\xe5\\xeb\\x3f\\x6f\\xf5\\x6e\\xdd\\xfd\\xe6\\xec\\xf3\\xf7\\x7a\\xaf\\xac\\x53\\x7f\\x45\\xd4\\xfc\\xf7\\xb3\\x8c\\x23\\x9c\\x17\\x36\\xaa\\xcc\\xae\\xee\\xe4\\x50\\x8e\\x0c\\x8b\\xcd\\x1a\\x46\\x19\\x41\\x91\\x1d\\x64\\xd1\\x23\\xa3\\x42\\xf5\\x12\\xcf\\xf0\\x20\\x19\\xb4\\xa3\\xe2\\x98\\x3b\\x2c\\x38\\xa2\\x20\\xc8\\x1a\\x1a\\x6a\\x65\\x17\\x61\\xdf\\x68\\xd4\\x56\\x95\\x14\\x59\\x6a\\x8f\\xf3\\x23\\xc5\\xce\\xdd\\xa8\\x11\\xad\\xda\\xc0\\x6b\\x4b\\xdd\\xa5\\xbb\\xa4\\x8b\\xda\\x8e\\xbb\\x63\\xa6\\x71\\xc4\\xfb\\xc5\\x40\\x6f\\xf3\\x81\\xde\\x13\\xf2\\x75\\x59\\xb8\\x2e\\x28\\x6b\\xa2\\xbc\\x75\\x72\\x6d\\xd9\\xd9\\xbb\\xcd\\x92\\xb7\\xad\\xce\\x1a\\xef\\x28\\xb9\\xec\\x79\\x56\\xe4\\x6c\\xec\\x79\\xde\\x57\\xf3\\xc6\\xf9\\xb3\\x37\\x2c\\x39\\x32\\x38\\xd8\\x10\\x31\\xd4\\x0d\\xf1\\xc2\\xa0\\x94\\x08\\x8b\\xa9\\x16\\x53\\xad\\xc4\\xf3\\x58\\xcc\\xd2\\x18\\x2d\\x3c\\xa6\\x3a\\x3f\\x8c\\x98\\x18\\xc3\\x62\\x89\\x2e\\xf1\\x58\\x74\\x23\\xb9\\xc4\\x63\\x44\\xdf\\xb8\\x07\\x0f\\xba\\x5e\\x13\\x9b\\x5b\\xb0\\xef\\xd4\\xf3\\x97\\x14\\xd6\\x74\\x76\\x3b\\xff\\xd9\\xa2\\x8e\\x96\\x2c\\x69\\xf7\\x1d\\x2c\\xb4\\xae\\x46\\xc6\\xf3\\x7f\\x7c\\x79\\x6d\\x97\\x16\\xfe\\xc5\\x37\\x33\\x66\\xbf\\xba\\xd9\\xfb\\xe8\\x9a\\x0f\\x8f\\xbf\\xd8\\x73\\xd4\\xf0\\x3f\\xa5\\x3c\\x24\\xa7\\x6f\\x7d\\xdf\\x92\\xb7\\x61\\xf5\\xc4\\xe7\\xaa\\x47\\xaf\\x95\\xfb\\x56\\x7a\\xdf\\xf0\\x8e\\x2b\\x2c\\xf2\\xce\\x51\\x6b\\xbc\\x07\\xe7\\xc7\\x22\\xd6\\x5f\\x9c\\xe8\\xe6\\xae\\x27\\x42\\xed\\x51\\x51\\x16\\x6b\\xa8\\x35\\x3e\\x21\\x3c\\xb6\\xc8\\xe3\\x60\\x63\\xb5\\x87\\x1b\\x51\\x6c\\x1f\\x96\\x28\\xcb\\x02\\xcb\\x31\\x8b\\x11\\xaa\\x5b\\x2c\\x41\\x41\\x7a\\x91\\x27\\x28\\xa6\\xca\\xb2\\x9b\\xa0\\xae\\x96\\x59\\x55\\xcb\\x08\\x65\\xad\\xfa\\x5a\\x60\\xd1\\x5c\\x4e\\x2a\\x09\\x97\\x2a\\x24\\xb8\\x71\\x38\\xe5\\x03\\x73\\x1f\\x7b\\xbe\\x9b\\xb4\\x3f\\xe2\\x9d\\xee\\x2d\\xf7\\x9e\\xd0\\x9a\\xef\\xba\\x72\\x8b\\xf7\\x52\\xf5\\x49\\x5d\\xbc\\x97\\xb4\\x97\\xbf\\xb9\\x7c\\xb9\\xb1\\xb7\\x50\\x0e\\x97\\x85\\xda\\xc6\\x83\\x6f\\xb4\\x1f\\x35\\x99\\x98\\xcf\\x04\\x63\\xf5\\xb7\\xb3\\x83\\x44\\x94\\x3a\\x13\\x22\\x8c\\x60\\x80\\xb5\\x47\\x5b\\xc2\\x8b\\x14\\x82\\x11\\x45\\x55\\x11\\xbc\\xbe\\xe1\\x70\\x60\\xd5\\x06\\x13\\xa7\\x90\\x3e\\x70\\x72\\x9c\\xc6\\x54\\x12\\xec\\xac\\x77\\x80\\xbc\\x43\\x16\\xc8\\x3c\\xef\\x67\\xaf\\xee\\x6d\\x3d\\x42\\xba\\xb5\\xf5\\xde\\x6d\\xde\\xe7\\x2c\\x79\\xde\\xed\\xde\\x8d\\x67\\x3f\\xbc\\xfa\\xb0\\xc2\\x43\\xc5\\xf4\\x3e\\xf4\\x85\\x8a\\x12\\x77\\x0b\\x9b\\x1e\\x62\\x09\\x0e\\x16\\x82\\xeb\\xac\\x25\\xa8\\xc8\\x93\\x6d\\x91\\xa7\\x2c\\x17\\x2d\\x9a\\xbe\\xde\\xb2\\xc7\\xa2\\xb5\\xb6\\xc8\\xfa\\x16\\x69\\x44\\x5a\\x64\\xa8\\xc5\\xc2\\xed\\x50\\x1a\\x45\\x1e\\xa9\\x8b\\xe0\\x22\\x8f\\xf8\\x1f\\x41\\x2d\\x1a\\x34\\x08\\xaa\\xb2\\xf3\\xfa\\xca\\x06\\x75\\xdd\\x75\\x99\\x34\\x5b\\x3f\\x74\\xad\\x48\\x1b\\x76\\x6d\\x99\\xf6\\xae\\x85\\xcd\\x71\\xf7\\x39\\xef\\xab\\xe7\\x94\\x3d\\x6b\\xb0\\xa7\\x17\\xf6\\x04\\x8b\\x5b\\xdd\\xf5\\x55\\xc1\\x6c\\xb1\\x5a\\x83\\x42\\x42\\x95\\xb2\\x48\\xd9\\x56\\x76\\x97\\x45\\x72\\x9a\\x9c\\x2f\\xad\\x61\\xba\\x74\\x27\\x54\\x2f\\x90\\xd2\\x42\\x11\\x55\\xe4\\xb1\\xe9\\x96\\xe8\\xca\\x4f\\xca\\x59\\xfe\\xb3\\xfd\\xba\\x6e\\xdf\\x09\\xa7\\xd4\\xf2\\x53\\x7e\\xa0\\x8d\\xb9\\xb6\\xd0\\x7b\\x42\\x7f\\xd5\\x28\\xf1\\x96\\x9e\\xf3\\xea\\xa8\\x37\\xf3\\x62\\x24\\x79\\x51\\x8d\\x95\\x56\\x3b\\xca\\x12\\x1a\\x12\\x12\\x2f\\x2c\\x5c\\x55\\x92\\x12\\x4b\\x3c\\x49\\x49\\x9a\\xcd\\x46\\x00\\xdc\\xa1\\x32\\x32\\x54\\x6d\\x58\\xa1\\x36\\x43\\x8b\\x29\\xf2\\x68\\x31\\xe6\\x87\\xa6\\xca\\x3c\\xf6\\xd5\\x4d\\x55\\xd3\\x22\\xc3\\x9a\\x7e\\x3d\\x21\\x2a\\xab\\x87\\x66\\x4d\\x54\\x31\\x37\\xf2\\xd7\\x3f\\xbd\\x57\\xbc\\x5f\\x68\\xf5\\xb7\\x9c\\x6b\\xea\\xbd\\xd0\\x64\\xc6\\xcc\\x69\\x8f\\xce\\x6e\\x32\\xa1\\x8e\\xf7\\x82\\xe6\\xdc\\x79\\x84\\x52\\xb2\\x9b\\xb6\\x71\\xd7\\x9e\\xa6\\x6f\\x7d\\xfe\\xf3\\xa9\\x5f\\x6a\\xa5\\xfd\\xf0\\x85\\xef\\x8c\\x52\\xf7\\xce\\x0e\\xbe\\x78\\x75\\x72\\xd7\\x09\\x12\\x22\\x54\\x55\\x0d\\xa1\\x46\\x78\\x98\\x4d\\x2b\\xf6\\x9c\\xb4\\xc9\\xf7\\x6c\\x72\\x89\\x4d\\x0e\\xb4\\xc9\\x2e\\x36\\x59\\xc7\\x26\\x29\\x89\\x2c\\x81\\xfd\\x20\\xa7\\x05\\x87\\x95\\xfa\\x95\\x55\\x75\\xb5\\x99\\x25\\x45\\xe0\\x7f\\x7a\\x8a\\x77\\x31\\xdb\\x40\\x4d\\x79\\xa7\\xac\\xa9\\xb5\\xb9\\x76\\xc0\\x92\\x77\\xed\\x27\\x2d\\xe6\\xcf\\xd7\\x95\\xee\\xe7\\xd0\\xdd\\xd0\\xa7\\xbb\\x85\\x3b\\x45\\xa8\\xd8\\x18\\x41\\x46\\x70\\x70\\x58\\x38\\x95\\x2c\\xe9\\x62\\x8b\\xd6\\x43\\x45\\x28\\xe9\\xa0\\x57\\xde\\x35\\xab\\x7c\\x89\\x37\\x0f\\x60\\x33\\x05\\xb8\\xf6\\xba\\x9e\\xd3\\x17\\x79\\x0f\\xcb\\x66\\x57\\x47\\xcb\\x66\\xde\\xc3\\x84\\xe1\\xea\\xc3\\xe7\\xce\\xe9\\x53\\xfd\\x67\\xf1\\x88\\x8a\\x1f\\xf5\\x2b\\xe8\\xb2\\x8b\\x46\\xee\\x64\\x43\\x0f\\x8d\\xd0\\x23\\xa2\\x63\\xc2\\xc3\\x8a\\x3c\\xe1\\x54\\x06\\x45\\x1e\\xa7\\xd1\\xc0\\xd0\\x0c\\x43\\x7d\\x6a\\xe0\\x08\\xbe\\x71\\x3d\\x58\\x2a\\x2f\\x22\\xbe\\xef\\x2c\\xb1\\x56\\xad\\xf1\\xc1\\x1f\\x53\\x65\\x7a\\x6c\\xff\\xb6\\x9d\\x6e\\xf3\\x1e\\xd7\\x7a\\xff\\x12\\xfb\\xc5\\xfb\\x59\\x53\\x26\\x4d\\x19\\xab\\xad\\x29\\xbf\\x7a\\xef\\x17\\x7f\\xf8\\x74\\xce\\x32\\xf7\\xdb\\x50\\xd1\\xc1\\x9d\\x1e\\x22\\x83\\xf5\\xe0\\x50\\x9b\\xe6\\x83\\x37\\x2c\\xbc\\x48\\x93\\x5d\\xa9\\x6a\\xa4\\x2d\\x84\\xc2\\x83\\xbd\\x37\\x54\\xa8\\x85\\x98\\x93\\xc3\\x7f\\xd1\\x09\\x2d\\xaa\\x1c\\xbe\\xd7\\x3f\\x3f\\xb8\\xa4\\xcd\\x87\\xa8\\x74\\x05\\x4b\\x7d\\x82\\x77\\xcf\\x34\\x1f\\xac\\x5b\\x64\\x3f\\x6f\\x63\\x79\\x4a\\xab\\xf7\\xb8\\xb7\\x04\\x6c\\x5f\\xd6\\xfa\\x5d\\xdb\\x73\\xd5\\xeb\\xf7\\xf9\\x38\\xfa\\x87\\xa0\\xdf\\x22\\x1c\\xee\\x08\\xca\\x36\\x0b\\x97\\x3d\\xaa\\x9f\\xca\\x05\\x66\\x2a\\xf1\\xff\\x16\\x8c\\x2b\\xee\\x38\\x21\\x1a\\x69\\xc9\\xbb\\xb2\\xe2\\x9c\\x9f\\x7f\\x28\\xfc\\xa3\\xe0\\x4f\\x62\\x6f\\xab\\x1d\\xcf\\x66\\x16\\x12\\x11\\x11\\x69\\xb3\\xc6\\x26\\x25\\xc8\\x04\\xc4\\x25\\x25\\xc5\\x46\\xea\\xd5\\x92\\xf5\\x90\\x90\\xa8\\xf8\\x58\\x19\\x4b\\x85\\x11\\xa5\\x47\\x5e\\x4f\\x0d\\xff\\x07\\xb2\\xca\\x63\\x75\\x50\\xe0\\x22\\x3d\\x48\\x25\\x48\\xe3\\x66\\x9a\\x4d\\x4f\\xd7\\x33\\x6b\\x26\\xc4\\xc7\\xa9\\x8f\\x57\\x31\\xea\\x0b\\x69\\x0c\\xe9\\x32\\x37\\xea\\x96\\xa8\\x07\\xbe\\x78\\xb0\\x7a\\xb6\\xcd\\x76\\x52\\x0e\\x98\\x19\\x99\\x10\\x1b\\x3b\\x4b\\x76\\xd7\\x87\\xdd\\x71\\xd0\\xfb\\x75\\x8e\\xb7\\xae\\xfc\\x78\\xf4\\xf7\\xc3\\xee\\x28\\xbe\\xba\\x8c\\x5d\\x27\\x3c\\x7b\\xc7\\xd2\\x2e\\xf2\\xb2\\x3f\\x97\\xd4\\x3e\\x97\\x8f\\xad\\xe1\\xa2\\x81\\x3b\\xde\\x26\\x39\\xd9\\xb8\\x09\\x85\\x86\\x59\\xc2\\x22\\x58\\x62\\x56\\x3d\\xc8\\xe2\\x33\\x0c\\xcb\\x72\\xfe\\x82\\x6c\\x8e\\x4a\\x57\\x89\\x0d\\xf8\\x2f\\x33\\x9b\\xa8\\xdf\\x28\\xfa\\xd1\\x5b\\x9a\\xe2\\xad\\x90\\x3d\\xe5\\xec\\x14\\x29\\xf5\\x5f\\xae\\x8e\\xb8\\x36\\x1e\\x4c\\x7e\\xfd\\xe1\\x21\\x6d\\xa5\\x52\\xc5\\x9e\\x5a\\xc0\\xda\\x7e\\xc4\\xf7\\xad\\x29\\x4e\\xed\\xa9\\x51\\xbe\\xaf\\x4c\\xf1\\x09\\xc1\\xec\\xa6\\xc1\\x86\\xce\\x42\\xd6\\x63\\x6e\\xba\\xa7\\xfa\\xb6\\x72\\xf5\\x53\\x46\\xa5\\xa7\\xd9\\xfd\\x65\\xff\\x23\\xde\\xef\\xbc\\x7f\\xf2\\xbf\\x72\\x99\\x24\\xad\\xfc\\x2f\\xd1\\xfb\\xc9\\xaf\\x97\\xef\\xbf\\xf7\\xde\\xfb\\xb4\\x35\\xde\\x35\\xde\\xe5\\x5c\\xfe\\x3c\\xfc\\xaf\\xbf\\xf7\\x25\\xef\\x1a\\xf9\\x9e\\xb7\\xc9\\xf9\\x9f\\x7e\\xf2\\x9f\\xe5\\xb3\\xcc\\xef\\x45\\xa1\\x22\\x56\\x34\\x76\\x57\\xb3\\x5b\\xad\\xb6\\x30\\x0e\\xf6\\xb8\\x78\\x8b\\x9d\\x9d\\xdd\\x62\\x0d\\x0a\\xa2\\xb6\\x0b\\xd2\\xad\\x55\\x77\\xb1\\x2a\\xcb\\xd4\\x5f\\xcb\\x65\\xf9\\x3e\\x06\\x38\\x0d\\x8b\\x7f\\x9b\\xc7\\x9c\\x29\\xf7\\x95\\xaf\\x7a\\x8b\\xc4\\x3a\\x2d\\xa5\\x0c\\xf7\\x7e\\xf6\\xf0\\xc3\\x4b\\x56\\xce\\xb8\\x4f\\x5f\\xfa\\xe8\\x7b\\x63\\xbd\\x35\\x2c\\x79\\x27\\x3e\\x1d\\x33\\xc8\\x5b\\x34\\xc6\\x87\\x81\\x77\\x8c\\xb1\\x00\\x0c\\xe2\\x85\\x93\\x0a\\xde\\xa5\\x47\\x44\\x88\\x64\\x7b\\x02\\x1b\\x48\\x84\\x5d\\x77\\xa5\\xc5\\x26\\x15\\x79\\x62\\x8d\\x88\\xd4\\x12\\x8f\\x1e\\x11\\x13\\x6a\\x2d\\xf1\\x84\\xfa\\x6b\\xb0\\x9c\\x00\\x2a\\x09\\x81\\x6f\\xa6\\x66\\xa1\\x65\\x53\\xab\\xcb\\xf7\\x6d\\x3c\\xb3\\xa6\\xfa\\x80\\x7c\\x23\\x4a\\x6f\\xec\\x4c\\x7f\\xf0\\x8e\\x7a\\xdd\\x1e\\x9c\\xb4\\xfa\\xd3\\xf6\\x87\\x3e\\xba\\x09\\x56\\xa7\\xbd\\xeb\\x72\\x4a\\x3c\\xe1\\xef\\xa6\\xec\\x3c\\x5e\\x47\\x16\\xca\\xba\\xff\\x13\\x34\\xcd\\x77\\x36\\xbd\\xe7\\xcb\\x91\\x38\\x76\\xe5\\xcc\\x30\\x56\\xa4\\x08\\x0f\\x8f\\x08\\x8e\\x61\\x4d\\x06\\x1b\\x09\\xf1\\x61\\x31\\x5a\\x8c\\x56\\xe4\\x89\\x89\\x11\\x54\\x18\\xea\\x7c\\x0c\\x37\\xcc\\xac\\xf9\\xcb\\x1d\\xf6\\x2f\\xb7\\xbb\\xc0\\xda\\x4c\\xf7\\x23\\xa9\\x4a\\x8b\\x60\\xf3\\xd4\\x6c\\xa4\\x4f\\xf3\\x7e\\xbd\\x1e\\x30\\x2f\\xc8\\x20\\x69\\x5d\\xf4\\xb0\\x1c\\xe4\\x7d\\xe2\\x81\\x59\\x6b\\xcb\\xae\\x6a\\xfa\\xb5\\x6b\\x96\\xbc\\x0f\\x0e\\xcc\\xde\\x5f\\xf3\\xda\\xeb\\xfa\\xcb\\x83\\x3d\\xde\\x59\\xbe\\xf5\\x96\\x49\\x5e\\xcd\\x03\\xd3\\x5a\\xa2\\x87\\x3b\\x2b\\x5c\\xa4\\x24\\xbb\\xe2\\xb8\\x8f\\xc6\\x25\\x0b\\xa3\\x4e\\xed\\x70\\x97\\x9e\\x98\\x98\\x3a\\xc4\\x23\\x52\\xa4\\xfa\\x76\\x99\\x68\\xe8\\x21\\x25\\x9e\\x52\\xb5\\x21\\xab\\x64\\xcb\\xf1\\xef\\x59\\x39\\xd7\\x2f\\xa1\\x2d\\xae\\x2f\\xbc\\x40\\xb4\\x0d\\x97\\xfa\\x66\\x15\\xf8\\x9a\\x52\\xb3\\xbe\\xee\\xbb\\x83\\x5e\\x3f\\x45\\x52\\x65\\x42\\xaa\\x66\\xcc\\xf3\\x7e\\xe9\\xbd\\xf2\\x83\\xf7\\xf3\\x3a\\xb2\\x7a\\xc2\\x93\\xd3\\x66\\x4c\\x1b\\x7f\\xe7\\x67\\x1b\\x47\\xb5\\x90\\x49\\xe7\\x4f\\x5f\\xcd\\xf0\\x9e\\xa9\\xbb\\x67\\xd4\\xf8\\xa6\\x83\\xe6\\xef\\x7e\\x77\\xb0\\x9c\\xb9\\xff\\xcb\\xb7\\xf7\\x64\\x0c\\x1e\\xd3\\xc7\\xd3\\x7e\\x40\\xb5\\xc6\\x5d\\x8b\\xa7\\xf7\\xd8\\xf0\\xfe\\xc6\\x5d\\xd5\\xb7\\x77\\xef\\xdc\\xb0\\x5d\\xbd\\x8c\\xfa\\x13\\x56\\x2a\\x7f\\x5a\\x9b\\xdf\\xac\\x6c\\x22\\xd3\\x1d\\x6d\\xe5\\x16\\xa5\\x69\\xc1\\x41\\xea\\x9b\\xb6\\xc2\\x56\\x46\\x57\\xf9\\x38\\xf1\\x97\\x6f\\x53\\xae\\x38\\xed\\x4f\\xef\\x09\\xef\\x28\\xa3\\xb7\\x51\\x72\\x65\\x85\\x51\\xa2\\xfe\\xce\\x87\\x98\\x0e\\x36\\xb7\\xfa\\xf6\\xef\\x0c\\xb7\\xdd\\x62\\x84\\x47\\x18\\x6a\\xff\\x36\\xfc\\xf5\\x42\\xe0\\xdc\\xfc\\xcb\\x96\\xad\\x25\\x49\\x97\\x3f\\x7d\\xd4\\xb2\\x8e\\xd2\\xb4\\x7e\\xbf\\x9f\\x96\\x35\\x7b\\x8e\\x18\\x39\\x58\\xd6\\xfc\\x67\\xac\\x0c\\x93\\x89\\x7a\\x93\\xab\\x1f\\x6c\\x78\\xe2\\xd9\\x32\\xbd\\xd6\\xd5\\x2f\\xbc\\x67\\xbc\\x3f\\x28\\x9b\\x75\\x33\\x47\\x42\\xd4\\x3e\\x22\\x85\\xd5\\x1a\\xa2\\x6b\\xc1\\x21\\x5a\\x48\\x68\\x98\\x35\\x24\\x58\\xd7\\x74\\x69\\x6e\\x70\\x39\\x39\\x2d\\xfe\\x7a\\x3f\\x52\\x45\\xb0\\x54\\xfb\\x58\\x5b\\x6e\\xbe\\x9a\\xd7\\xfb\\x89\\xb7\\x81\\x6c\\xfc\\x7d\\x72\\x76\\x5c\\xce\\x77\\x92\\x43\\xee\\xea\\xbf\\x0a\\x37\\xdd\\xb6\\x45\\xb7\\x99\\xff\\x4e\\xad\\x41\\x41\\x49\\x6d\\x30\\xd2\\x7d\\x4b\\x42\\x88\\x0c\\x09\\x0e\\x4a\\x20\\x92\\xe1\\x09\\x6c\\xb1\\x89\\x51\\x32\\xca\\x48\\x64\\xf5\\x89\\xb8\\xc4\\x24\\x99\\x54\\xad\\x5a\\x9c\\x11\\x1e\\x6c\\x49\\x4e\\x89\\x0b\\xb7\\x1b\\xb1\\xe1\\x32\\x3c\\x2a\\xaa\\x5a\\x12\\x86\\x04\\xd9\\xfc\\x86\\x34\\xf2\\x9b\\x92\\xdd\\x62\\x50\\x4e\\xe5\\x6e\\x3b\\xc8\\xbf\\xdd\\x0e\\xf2\\xff\\xb0\\xfb\\x76\\x5c\\xb5\\xd7\\x46\\x4a\\xb6\\x5c\\xd3\\xc4\\x9c\\x18\\x22\\xde\\x4c\\xed\\xb9\\xfa\\x9f\\x7f\\xb8\\x1b\\xd5\\x4a\\xaf\\xdb\\xed\\x8f\\xe3\\x52\\xf7\\x84\\x19\\x91\\xb5\\x86\\xbe\\x39\\x34\\x3c\\x26\\x41\\xb3\\x86\\xf4\\x91\\xba\\x0c\\xdd\\xb3\\x65\\xe1\\x46\\xef\\x21\\xce\\x96\\x4e\\xc5\\xaf\\xdc\\xba\\x56\\xf6\\xf6\\xae\\xaf\\xd7\\x6f\\x7c\\xf2\\xaa\\x6e\\xda\\xf6\\x80\\x2f\\xfe\\x33\\xae\\x8b\\xbb\\x66\\x88\\x2d\\xd4\\x2a\\x0d\\x61\\x09\\xa2\\xe8\\x0b\\xb5\\x5a\\xa8\\xf4\\x42\\xf5\\xf0\\x30\\x69\\x84\\xd8\\x0c\\x6b\\x50\\xb0\\xfe\\xff\\x31\\xf6\\x1d\\x80\\x55\\x14\\xe9\\xe3\\x33\\x3b\\x5b\\x5e\\xdf\\x7d\\xfb\\x7a\\x49\\x79\\x29\\x2f\\x81\\x00\\x81\\xbc\\x84\\x10\\x5a\\x1e\\x4a\\xaf\\x09\\x7d\\x09\\x10\\x12\\x20\\x20\\x1d\\x94\\x2a\\x0a\\xa2\\x54\\x05\\xec\\x4a\\x15\\x3c\\x95\\x72\\x54\\x09\\x82\\xa8\\xd8\\x4e\\x45\\x05\\x04\\xeb\\xd9\\x4e\\x4f\\x8a\\x05\\x29\\xbf\\xb3\\x0b\\x59\\xfe\\x33\\xb3\\xfb\\x5a\\x88\\x77\\x7f\\x23\\x31\\xc4\\xd9\\xef\\x7d\\x3b\\xf3\\xcd\\xd7\\x0b\\x87\\xc8\\x2f\\x08\\xde\\x9e\\xa2\\x72\\x4f\\xc4\\xd3\\x84\\x83\\xb5\\x4c\\xbf\\x4f\\x46\\x18\\xff\\x17\\x3d\\xa6\\x9e\\x56\\x4f\\xa9\\xc7\\xf0\\x4d\\x1e\\x0d\\xdb\\x41\\x01\\x5f\\xfc\\xb6\\xea\\x60\\xf8\\x11\\xbc\\xa8\\x3a\\x98\\xb7\\x98\\x3b\\xd5\\x81\\x70\\x4f\\xc3\\x92\\x86\\x32\\x4d\\x66\\x91\\xf3\\x7b\\x9b\\xea\\xbb\\x5d\\x31\\xcd\\x61\\xf9\\x6a\\xc0\\x7a\\x05\\xcb\\x62\\xd2\\x33\\x19\\x79\\x04\\x48\\x78\\xd8\\x66\\x96\\xc9\\x74\\x38\\x4e\\x30\\x20\\x56\\x23\\x43\\x0f\\x3e\\xc2\\xc2\\x82\\x48\\xaa\\x6e\\x61\\xd7\\xf5\\x3c\\x2a\\x70\\x43\\xcc\\x1f\\xea\\x67\\xf8\\x44\\x4b\\x30\\x67\\xc1\\xdf\\x99\\x16\\x0d\\x1f\\x32\\x2d\\x90\\xaf\\xe1\\x1d\\xa6\\xad\\xf6\\xb9\\xc3\\xf0\\xe7\\xce\\xa2\\x7a\\x66\\x49\\xd4\\x6f\\xc0\\x6f\\x0e\\x04\\x46\\x30\\x61\\xc5\\x4e\\xa3\\x76\\xac\\x79\\x62\\x8d\\x06\\xca\\x8d\\x35\\x19\\xdd\\x31\\x4b\\x88\\xa7\\x84\\x38\\xe4\\x5c\\x30\\xc4\\xce\\xba\\x7a\\x8e\\x79\\xa2\\x61\\x37\\x7a\\xa6\\xa1\\x86\\x39\\x76\\x1a\\xad\\xfe\\xf6\\xc4\\xb5\\xe9\\x34\\x06\\x33\\x5b\\x1d\\x86\\xde\\xc3\\xf6\\x31\\xf5\\xee\\x70\\x80\\x11\\x80\\x60\\x30\\x42\\xf6\\x17\\x05\\x1f\\x03\\xf7\\x8b\\x42\\x82\\x65\\x37\\x48\\x1d\\x5d\\x3d\\x86\\xb3\\x99\\x11\\xea\\x3e\\x58\\xa1\\x0e\\x13\\x66\\x1f\\xfd\\xd3\\xf0\\x32\\xc5\\xb9\\x0a\\xdf\\xa9\\xdb\\x62\\xf1\\x16\\x80\\x18\\x7c\\xda\\x1c\\x7b\\x63\\xbc\\x85\\x83\\x11\\x88\\xee\\xbb\\xf6\\xde\\x59\\x54\\x12\\x0b\\xb8\\x40\\xa0\\x62\\x5c\\x86\\x37\\xc6\\x85\\xc3\\xb8\\x70\\xf8\\xff\\x36\\x8d\\x8b\\xa3\\x84\\xde\\x6e\\xbb\\x8a\\xd1\\xd8\\x87\\xd1\\x19\\xf6\\x32\\xf7\\xfb\\xd1\\xdf\\xef\\xd5\\xf6\\xaf\\x25\\xc3\\xb0\\x8b\\xb8\\xbb\\xb0\\x20\\x2d\\x88\\x3a\\x30\\x16\\x90\\xc7\\x5b\\xc8\\x23\\x1e\\x1f\\x12\\xfe\\xdf\\xec\\xb3\\x34\\x4e\\x5f\\xd4\\xf8\\xca\\x19\\x99\\x6c\\x18\\x82\\x68\\xbd\\x7a\\x44\\x7d\\xf1\\x0c\\x5c\\x0e\\x6f\\x82\\x2b\\x19\\x86\\xe4\\x8f\\xa0\\x45\\xd7\\x48\\x32\\x06\\xbc\\x7e\\xf5\\x7a\\x0e\\x7b\\xfa\\xfa\\x3d\\xf8\\x1d\\x5d\\x51\\x4c\\x81\\x00\\xbf\\xdf\\x0b\\x78\\xbf\\x0a\\xb5\\xe0\\x75\\x9b\\xd6\\x02\\xde\\x73\\x8e\\xfd\\xf8\\x8b\\x31\\x63\\xb4\\x38\\x57\\x15\\xbb\\x05\\x29\\xdc\\xb3\\x58\\x67\\xf2\\x46\\xcd\\x04\\x0d\\x01\\xa0\\xfb\\xaa\\xc0\\xc3\\xc9\\xf1\\xd1\\xdc\\x92\\x90\\xc7\\xc5\\xec\\x55\\x77\\x41\\xe6\\x1a\\xbb\\xe5\\xdb\\x82\\x9f\\x32\\x34\\x99\\x3c\\x09\\xef\\xe7\\x7a\\xb6\\x3f\\x08\\x83\\x36\\xd8\\x9a\\x95\\x72\\x84\\x36\\x6d\\x5c\\x36\\xb1\\x05\\x42\\xa2\\x0b\\x45\\x8a\\xf2\\x08\\xed\\x65\\x4a\\x8e\\x9e\\x79\\x42\\x54\\xb4\\x41\\x33\\xb2\\x09\\x36\\xc1\\x0e\\xec\\xe6\\x4a\\xc5\\x2e\\x79\\x5b\\x81\\x56\\x15\\x4a\\x26\\x16\\xa7\\xe5\\x45\\x49\\x71\\x15\\xdd\\x5d\\xe1\\x97\\x4e\\x14\\xa4\\x30\\x74\\x4d\\x27\\x2d\\x29\\x6e\\x5b\\x1e\\x77\\xc3\\xc8\\xc4\\xb0\\xa5\\xfc\\xae\\xd4\\x65\\x43\\x44\\x8e\\x66\\xdb\\xa0\\x43\\xb0\\x31\\xd4\\x67\\x5a\\x02\\x0f\\x6d\\xda\\x77\\xfa\\xd4\\x57\\xdd\\xfb\\xf7\\xea\\x66\\x50\\x3f\\x6f\\x0b\\x1f\\x78\\xe7\\x93\\x66\\xad\\x33\\xd3\\x7d\\xf9\\xf9\\x2d\\xd3\\x27\\x8d\\x37\\xf1\\xe5\\x5b\\x5f\\x5f\\x36\\xa2\\xb2\\xf9\\xbc\\x9a\\x25\\xce\\xbf\\x6f\\xd8\\xbe\\x17\\xb1\\xa5\\x13\\x26\\xf5\\xaa\\xb0\\xc1\\x2e\\x6f\\xbe\\xa2\\xce\\xab\\xea\\xc6\\x3f\\xce\\x9b\\x78\\x76\\xe2\\xf8\\x99\\xe3\\x18\\x23\\xc3\\x84\\x7a\\x95\\x3f\\xbe\\x6e\\x36\\x7d\\xe7\\xfb\\xf0\\x3b\\x4f\\xc1\\x74\\xe0\\x01\\x39\\xa0\\x5d\\x34\\xcd\\xeb\\x60\\x59\\x94\\x61\\x45\\xd6\\xdc\\xb0\\x14\\xac\\x50\\x1c\\x92\\xdb\\x94\\x55\\xa1\\xf0\\x26\\x09\\x9f\\xa2\\x8b\\x24\\x0f\\x44\\xf4\\x48\\x7a\\x92\\x10\\xc5\\xea\\x27\\x65\\xd1\\x42\\x84\\x78\\xc9\\x65\\xbb\\x93\\xa1\\xd8\\x63\\x49\\xea\\x70\\x26\\xbc\\xff\\xfc\\x7d\\x06\\xe8\\x63\\x98\\x66\\x4f\\x4f\\x3f\\x72\\xec\\xc3\\x43\\x13\\x37\\xb5\\x64\\x8d\\xbc\\xb5\\xa4\\xa6\\x7c\\xcc\\x2d\\x13\\xc6\\xd5\\xce\\x5c\\x31\\x8e\\xfd\\x5a\\x9d\\xf3\\x6c\\xd5\\x38\\x7c\\x4b\\x7f\\x52\\xd5\\x93\\x63\\x6b\\x42\\xb3\\xfd\\x4c\\xf6\\xbc\\x67\\x94\\xc3\\x87\\x0f\\xbd\\xf4\\x8a\\x46\\x63\\xd3\\x30\\xae\\x43\\xf0\\xf9\\x78\\x41\\xf7\\x68\\x58\\x44\\x26\\xa7\\xd3\\xe8\\x42\\x2e\\x9f\\x9f\\xb7\\x56\\x28\\x19\\x98\\x0d\\x9b\\x78\\x09\\x38\\x25\\x27\\x63\\x45\\x4e\\x27\\x00\\xf6\\x0a\\x85\\x1c\\x47\\xdc\\x48\\x6f\\xc2\\x46\\xe7\\x12\\x5e\\x7e\\x12\\x0e\\xb4\\x13\\x67\\x4f\\x29\\x67\\x63\\x98\\x19\\xbf\\xaa\\x3f\\x43\\xdb\\xef\\x2f\\xff\\x99\\xa9\\x9e\\xb3\\x8c\\x19\\xfe\\xe9\\x97\\x15\\x53\\xac\\xd0\\x2f\\xde\\xf5\\xbe\\x13\\xe6\\x62\\xfe\\x65\\x81\\x05\\xaf\\xec\\xb0\\x0d\\x1a\\x8b\\x4d\\xa3\\x55\\xe3\\xc7\\x59\\xa7\\xef\\xa9\\xa6\\x7b\\x59\\x83\\xf1\\xeb\\xa2\\xef\\x65\\xfb\\x68\\x5a\\xba\\xc9\\x8b\\x1c\\x0e\\xa7\\xc9\\x99\\x1b\\x76\\x00\\x6b\\xa0\\x42\\x91\\xac\\x92\\x10\\xaa\\x50\\x90\\xe0\\xa6\\x7b\\x19\\x89\\x6b\\x54\\xc9\\x2a\\x2d\\x66\\x9e\\xad\\x60\\x09\\xf5\\x59\\x91\\x58\\x25\\x75\\x59\\xe5\\xe1\\xdd\\x75\\x7a\\x92\\x12\\x2e\\x3a\\x43\\xd4\\x06\\x9b\\x21\\x25\\x1b\\x27\\x1f\\x38\\xf9\\xde\\x4b\\x93\\x37\\x37\\x67\\x18\\xe8\\x33\\xa8\\x67\\x66\\x8c\\x1d\\x37\\xe1\\x96\\x31\\x9d\\x6b\\x4b\\xc4\\xf9\\xf9\\x93\\x15\\xcc\\xeb\\x10\\x34\\xc2\\xfc\\x9a\\xd1\\xcf\\xc2\\xd5\\x57\\x33\\xc7\\xad\\x60\\xb2\\x76\\x1f\\x7d\\xe1\\xd0\\xe1\\x43\\xca\\x33\\x14\\xdf\\x71\\x18\\xdf\\x5b\\xf0\\x7e\\xba\\x40\\x10\\x0c\\x89\\xb6\\xf4\\x59\\x2c\\x48\\x76\\xf8\\xcd\\x66\\xac\\x4f\\xa5\\xa5\\xcb\\xb2\\x00\\x7c\\x96\\x4a\\x45\\xf4\\x65\\xf8\\x18\\x09\\xf9\\x7c\\x40\\x10\\xdc\\x95\\x8a\\x20\\x01\\x51\\xdf\\xd8\\xbf\\x70\\x9d\\x27\\xab\\x2d\\x64\\x83\\x8b\\x09\\x55\\x00\\xbb\\x2b\\xa4\\x59\\xba\\x1c\\xcf\\x22\\x4c\\xef\\xf8\\x25\\x99\\x59\\xd7\\xd4\\x4b\\x77\\x5d\\xfa\\xdb\\x45\\xc8\\x37\\x64\\xdd\\x3d\\xab\\xf7\\x2c\\x27\\x34\\x96\\x5e\\x07\\xfb\\x26\\x2c\\x60\\xe1\\x71\\xe1\\x76\\x27\\x6c\\x06\\xad\\xf5\\xbf\\x2f\\x56\\xff\\xa1\\x7e\\x69\\x78\\x68\\x57\\xf9\\x4d\\x9e\\xd5\\xeb\\xd0\\xfe\\x7b\\x6f\\x9f\\xb7\\x86\\xd0\\xc2\\x6c\\x6a\\x1b\\xfd\\x80\\x71\\x8f\\x44\\xfd\\x0e\\x1a\\x77\\xb7\\xb8\\x3d\\x26\\x8c\\x9b\\x09\\x12\\x15\\x05\\xd3\\x2e\\x27\\x42\\x6d\\x9b\\x63\\xf7\\x31\\x76\\xf4\\x71\\x45\\x85\\x86\\x2a\\x3c\\x2e\\xb2\\xad\\x69\\x10\\xab\\x2d\\xab\\xd5\\xef\\xae\\x63\\xd8\\x9f\\xbf\\xfb\\xc4\\xf6\\x47\\x17\\xd7\\x8e\\x82\\x2f\\xa0\\x85\\xd7\\xee\\x41\\x0b\\x8f\\x0e\\xda\\xb3\\x37\\x78\\xd8\\x51\\x39\\xbe\\xec\\x28\\xdd\\xb7\\x85\\x6a\\x7f\\x76\\x04\\xdb\\x07\\x64\\x81\\x56\\x60\\x40\\x34\\x9f\\x45\\xa8\\x99\\x9c\\xed\\x35\\x99\\x32\\xe5\\xcc\\xc2\\xd6\\x41\\xd1\\x15\\xae\\x50\\xbc\\x2e\\x89\\x65\\x45\\x20\\xb6\\xa8\\x50\\x2c\\xa2\\x0b\\x08\\x95\\x58\\xf1\\x8b\\x67\\xa1\\xd0\\x9d\\xba\\xf1\\xe4\\x35\\xcc\\xe2\\xa6\\x2a\\xf1\\x5c\\xf2\\x49\\x44\\x50\\xdc\\xb6\\x34\\xc4\\x63\\x0e\\xc1\\xa3\\xa4\\xb0\\x03\\x33\\xf1\\xc8\\x0f\\x01\\xe8\\x13\\x47\\x77\\x19\\x3f\\x91\\x61\\x46\\x5d\\x38\\xf0\\xe6\\xc9\\x57\\x6e\\xd9\\xdc\\x82\\x33\\x72\\xd0\\xc4\\x5f\\x77\\xcf\\xa8\\x19\\x77\\xcb\\x94\\xea\\xba\\xa9\\x6a\\xff\\xf5\\x2b\\x43\\x5d\\xfa\\x3e\\xb0\\xb6\\xc3\\xad\\x6f\\x41\\x0f\\xa6\\x0a\\x1e\\x66\\xd4\\x8c\\xce\\x9e\\xe7\\x98\\xb2\\xe6\\xda\\xbf\\xcf\\x5c\\x41\\xff\\x7a\\xea\\xc8\\xc1\\xbd\\x7b\\x76\\xbc\\xa8\\xdd\\xb3\\xb5\\x78\\x6f\\x2b\\x30\\x1d\\xbb\\xb1\\x0e\\xe5\\x71\\x4a\\x92\\xdd\\x20\\x08\\x76\\x8f\\x57\\x06\\x76\\xc1\\x05\\x2c\\xc8\\x32\\x50\\x41\\x52\\x3c\\x86\\x5d\\x9e\\x6a\\x95\\x68\\x51\\x62\\xbc\\xbd\\x1a\\x92\\xd4\\xe2\\x75\\x0a\\xf0\\xa9\\xb2\\x5d\\x73\\xb7\\x6f\\x57\\xbf\\xab\\x1c\\x59\\x77\\x07\\xb1\\x95\\x0c\\xa8\\x76\\xe1\\x8c\\xe3\\x1f\\x36\\x0c\\x64\\xa6\\x3e\\x36\\x77\\xef\\xca\\x86\\x97\\xb8\\xe3\\xea\\xe4\\xa9\\x13\\x35\\x3e\\x3c\\x07\\x7f\\xfe\\xed\\xf8\\xf3\\x8d\\x58\\xd3\\x6f\\x1f\\xcd\\xb0\\xe2\\x03\\x35\\x01\\xc4\\x71\\xd8\\x14\\x34\\x0d\\xaa\\x32\\x03\\x83\\x50\\xa1\\x18\\x44\\xc0\\x22\\x7c\\xca\\xc8\\x15\\x17\\xc9\\xf1\\xc0\\x88\\x47\\xe3\\x4a\\xb9\\xba\\x5b\\xa1\\x24\\x84\\x19\\xbe\\x0b\\xf9\\x61\\xcd\\xd5\\xab\\xf0\\x5e\\xf5\\x5f\\x4c\\x07\\x82\\xc1\\xd1\\xa3\\x47\\x99\\xa3\\x47\\x5f\\x7f\\xef\\x3d\\xed\\x33\\x89\\x6c\\x1e\\x83\\x3f\\xd3\\x8e\\x29\\xaa\\x38\\x1a\\x90\\xad\\x56\\x7c\\x6a\\xd8\\x28\\x74\\xc8\\x83\\xaa\\x1c\\x40\\xc2\\x74\\x25\\x89\\xac\\x69\\xa0\\xc2\\xc6\\x04\\x23\\x68\\x44\\x52\\x9c\\x1e\\xf0\\x2c\\x71\\xc7\\xdc\\x0c\\xf4\\x53\\xc7\\xcc\\x3c\\xbd\\x72\\xc0\\x53\\x2d\\x57\\x2c\\x9a\\x36\\x52\\xdd\\xcc\\x2c\\x24\\x9f\\x6c\\xbd\\xeb\\xf9\\x5a\\xbf\\xfd\\xfd\\xac\\xc9\\x53\\xd1\\x2c\\x1d\\x01\\x08\\x76\\xe3\\x77\\x7e\\x08\\x7f\\xbe\\x19\\x44\\xa3\\x99\\x98\\x95\\x21\\xaa\\x83\\xc5\\x9c\\x39\\x26\\x01\\x32\\xac\\xd1\\x20\\x72\\xc0\\x8c\\x55\\x66\\x97\\xa6\\x38\\x96\\x47\\x3c\\x8d\\x8c\\x19\\xcd\\x1c\\x4b\\x71\\x34\\x8c\\x51\\xbf\\x9a\\x4f\\x8d\\xd3\\x25\\xb0\\x95\\x7a\\x0f\\x5c\\x07\\x7f\\x18\\xac\\x4e\\xe2\\x8e\\x5f\\xdb\\x03\\x5f\\x51\\x47\\x34\\x4c\\xa1\\x9f\\x9d\\xd8\\xef\\x16\\x44\\x67\\xc6\\xd7\\x87\\x33\\x99\\xe9\\x26\\x83\\x1b\\x36\\x39\\x49\\xdb\\x4f\\xec\\x6f\\xf2\\xde\\xe2\\x7d\\x65\\x2b\\x8e\\x52\\xb8\\xdd\\xf0\\xe3\\x4b\\x30\\x7f\\xc9\\x23\\xb7\\xc4\\x9d\\x97\\x07\\x40\\xba\\x51\\x34\\x18\\x8c\\x19\\xe9\\xc6\\xf4\\xfc\\x66\\xfe\\xec\\x4a\\xc5\\xef\\x77\\xb8\\x45\\xd1\\xe1\\x60\\x2b\\xb1\\xa8\\xb1\\x88\\x19\\x46\\xed\\xdd\\x74\\xc3\\x02\\x7f\\xa5\\x5a\\xbd\\x71\\x57\\x70\\x9c\\xbc\\xb2\\xed\\xc5\\x79\\x11\\x8f\\x8b\\x4a\\x1e\\x7c\\x47\\x74\\xea\\xcb\\x8e\\xfd\\x6f\\xf8\\x4b\\x6e\\x51\\xa4\\xc3\\x39\\xfe\\x34\\xcf\\x64\\x4d\\xec\\x3f\\x7c\\x98\\x83\\xc9\\x9f\\x3e\\x64\\x4e\\xdd\\x59\\xf2\\x5b\\xe6\\xc1\\x47\\x6e\\x7b\\x71\\x5d\\xc3\\x11\\x34\\xe8\\xa5\\xe6\\x8b\\x5a\\xd7\\x8d\\x1a\\x33\\x6e\\xd2\\x88\\x5d\\xa7\\x1b\\x0a\\xc9\\xef\\xb7\\x6e\\x6d\\xd8\\xa6\\xdd\\x05\\xe2\\x97\\xa8\\x60\\x07\\x60\\x99\\x53\\x18\\xf5\\xd8\\x31\\xf2\\xc0\\x6b\\xf4\\xfa\\xfc\\x76\\xd6\\xc5\\x0e\\x54\\x5c\\x92\\x55\\xd4\\x50\\x4e\\x8d\\xd3\\xea\\x5e\\xb4\\xf8\\x15\\xc0\\xf6\\x5a\\x28\\x1d\\x52\\x2c\\x33\\x7d\\x10\\xb5\\xeb\\x37\\x7a\\x22\\xbe\\x05\\xd8\\x86\\xb2\\x20\\x13\\x8b\\x6f\\x06\\xac\\x60\\x26\\xaf\\xbe\\x67\\xff\\xf2\\x86\\x17\\x51\\xcf\\x61\\xd3\\x5b\\x38\\x9e\\xce\\x58\\x38\\x43\\x1d\\xd3\\x50\\x89\\xe9\\x72\\x24\\xe6\\xd1\\x33\\xf1\\x1e\\x9a\\xf0\\x6d\\xc4\\x9a\\x9a\\x9d\\x37\\x63\\x15\\xcb\\xe3\\x35\\xda\\x2a\\x14\\xa3\\x84\\x9c\\xf8\\x6c\\xdc\\x4d\\xfa\\x2a\\xf4\\x00\\x76\\x26\\x4c\\x8e\\x51\\xce\\x54\\xaf\\x5c\\xff\\x55\\xbd\\x02\\x6d\\x2a\\x63\\x54\\x3f\\xab\\x9b\\xbf\\x70\\xea\\xf4\\xa9\\x0b\\x67\\x30\\xe9\\x58\\xe4\\x7e\\x8e\\x05\\x9b\\x15\\x0b\\xb6\\x9c\\x86\\x53\\xaf\\xec\\xdd\\xf7\\xf2\\xab\\xfb\\xf7\\x6a\\xf7\\xe2\\x3e\\x75\\x18\\x3b\\x05\\xbf\\xbf\\x07\\xe4\\x82\\xce\\xd1\\x8c\\x0c\\x93\\x97\\xa5\\x32\\x2d\\x2f\\xec\\x11\\x1d\\x01\\x29\\x68\\xc5\\x5a\\x82\\xd5\\x8d\\xb2\\x04\\xac\\x26\\x08\\x52\\xb2\\x7a\\xec\\x2d\\x6f\\x24\\xd7\\xa0\\xbe\\x05\\x45\\x24\\xf3\\x8b\\xaa\\x08\\x1e\\xb2\\x37\\x79\\x30\\x49\\x4b\\xb0\\x41\\xb8\\x91\\x37\\xb2\\xad\\xb7\\x4e\\xae\\x3f\\xa1\\x0b\\x36\\xf5\\x5b\\x03\\x4c\\x2b\\xae\\x8e\\x8e\\xaf\\xa3\\x92\\x8d\\x6d\\xef\\xba\\x33\\xad\\xba\\x4e\\x7d\\x5f\\x55\\xd5\\xdf\\xd4\\x8f\\xb1\\x6c\\x53\\x47\\xb3\\xbf\\x8d\\x5b\\xd1\\xf0\\xaf\\xb9\\x5b\\x87\\x1c\\x7d\\xee\\xf0\\x61\\x22\\xdc\\xb0\\x2c\\xc6\\x78\\x77\\xc1\\x78\\xbb\\x41\\x36\\xe8\\x18\\x4d\\xf7\\xc8\\x58\\xaf\\x41\\xb9\\xe9\\x56\\x6b\\x4e\\xae\\x5b\\x94\\xb0\\x30\\x96\\x25\\xc9\\x14\\x22\\xaa\\x8d\\x1b\\x05\\x6e\\x10\\xc6\\xda\\x55\\xa2\\x5c\\x04\\xd2\\x13\\x2c\\x4d\\x12\\xc8\\x94\\x15\\x23\\x9a\\x40\\x14\\xdb\\xd8\\x2e\\x06\\xf5\\x5b\\x5d\\xb7\\xf9\\xf8\\xe0\\xa9\\x5a\\xd6\\x82\\x12\\xaa\\x0d\\xdb\\x7e\\xc5\\xb8\\xab\\x46\\xf8\\x24\\x56\\x6e\\x60\\x18\\x5a\\xc1\\x75\\xd8\\xe6\\x8d\\x16\\x73\\xad\\x0d\\xff\\x4a\\x52\\x6e\\x20\\x78\\x13\\xd3\\x59\\x19\\x3e\\x67\\x27\\x68\\x16\\x75\\xda\\x78\\x5e\\x10\\x9c\\x2e\\xb7\\x4d\\x96\\x99\\x81\\x18\\x53\\xb3\\xc8\\x53\\xe5\\x2b\\x85\\xc6\\x48\\xaa\\x5e\\x12\\x7d\\xe9\\xd4\\xef\\x61\\xcb\\x66\\x8c\\xdb\\x78\\x48\\xfd\\x2e\\xe0\\x83\\x62\\x8e\\x89\\x2d\\xda\\xb9\\x62\\x62\\x1d\\xaa\\x70\\xfc\\xf8\\xaa\\xda\\x9b\\x79\\xa9\\xef\\xc9\\xb1\\x4b\\x6a\\x57\\xcc\\xb0\\x6b\\xb4\\x3d\\x1f\\xd3\\x16\\xa1\\xed\\x7c\\x30\\x3c\\x5a\\x24\\xf0\\x21\\x67\\xc0\\x6f\\x05\\xc0\\xef\\xe4\\xd9\\x66\\xcd\\x43\\x56\\x0f\\xf2\\xa4\\x57\\x28\\x63\\x02\\x50\\x0c\\x64\\x04\\x18\\x13\\x0a\\x04\\x3c\\x12\\x32\\x61\\x3e\\x28\\x64\\x62\\xd3\\x48\\x20\\x74\\x97\\xec\\xb6\\xf8\\x4b\\xbf\\x05\\x39\\xe9\\xd2\\x84\\xdf\\x82\\xd1\\xf2\\x03\\x3c\\x42\\x6c\\xff\\x3c\\xe9\\x98\\xc5\\xa8\\xd7\\xcf\\x7c\\x75\\x31\\xef\\x37\\xd7\\x84\\xc5\\x73\\xa6\\x0c\\x9b\\x78\\xe9\\x99\\x61\\x97\\x3f\\x7f\\xf5\\x42\\xda\\x1f\\x96\\xd1\\x75\\xe3\\xc6\\xf5\\xab\\x5a\\xf4\\xc6\\xdc\\x1e\\xb0\\xe3\\xa6\\x03\\xab\\x1f\\xc9\\xed\\x17\\xed\\x18\\x2d\\xee\\xe4\\x2a\\xac\\xbc\\x6b\\xf4\\x86\\xdd\\x8f\\xae\\xf1\\xdf\\xd4\\x25\\xd2\\xb1\\xb0\\x54\\xf6\\x97\\xf6\\x9d\\x4b\\xdf\\x69\\xeb\\xf5\\x9f\\x58\\x33\\x37\\x18\\xdf\\xd7\\xb6\\xd1\\x00\\x8f\\xf9\\xa8\\xd7\\x6b\\xf7\\xf9\\x9d\\xf8\\xba\\x38\\xdd\\x46\\xc8\\x40\\x7c\\xe2\\x0c\\xcb\\x32\\x22\\x88\\xa7\\x0b\\x37\\x56\\x0d\\x48\\x6e\\xb4\\x16\\x99\\x70\\x6a\\x4e\\x2d\\x72\\xf2\\x58\\x25\\x83\\x3d\\xb7\\x1d\\x1c\\xbe\\x0f\\xde\\xa5\\x2e\\x0a\\xf5\\xbe\\x79\\xe1\\xdd\\x6b\\xe6\\x44\\x17\\xfd\\x7d\\x18\\x56\\x0e\\xa0\\x5f\\x3d\\x7f\\xb4\\xe1\\xd2\\xf0\\x4e\\xd9\\x81\\x23\\x1e\\x63\\xb7\\x87\\x96\\x6a\\x7c\\x03\\xef\\x6d\\x47\\xb6\\x3d\\xa6\\x3f\\xcc\\x37\\x80\\x9b\\xb0\\x3d\\xb7\\xd1\\xe3\\x15\\x65\\x19\\xf3\\x0d\\xd9\\x6d\\x75\\x19\\x80\\xd8\\x34\\xdf\\x80\\x09\\xa7\\x87\\xd3\\x13\\x0a\\x97\\x64\\xd3\\x7c\\x5b\\x3b\\xdc\\xa2\\x0c\\x1a\\x31\\x9b\\x68\\x79\\x3f\\x5b\\xb8\\xc9\\x5f\\x3e\\xb5\\x8b\\x6d\\xdf\\xb0\\x75\\xd5\\x43\\xfb\\x97\\x33\\x5d\\xaf\\x1d\\x5e\\x35\\xf1\\xfe\\x1e\\x17\\x4e\\x9f\\x64\\xf6\\xd2\\xcf\\xc6\\xe6\\x0c\\xbb\\x03\\x7f\\xb6\\x09\\x14\\x45\\x3d\\xc4\\x07\\xc2\\x18\\x4d\\x88\\xa1\\x3e\\x10\\x48\\x9c\\x20\\x22\\x20\\x8a\\x11\\x71\\x55\\x13\\x32\\x6f\\xda\\x0b\\xd2\\x19\\x3a\\x42\\x88\\x57\\xf7\\xa9\\xb7\\xc0\\x66\\xa7\\xc5\\x76\\x7c\\xa7\\xaf\\x61\\x18\\x7f\\xe2\\x83\\x45\\xc7\\xbc\\xef\\x69\\x79\\xf2\\x90\\xcc\\x96\\x67\\x5f\\xc3\\x9f\\xe3\\x01\\x7d\\xa3\\xb9\\x58\\xed\\x72\\x60\\x11\\x69\\x10\\xac\\x56\\xd6\\x81\\x8c\\x6e\\x0f\\x7e\\x5b\\x9f\\xc3\\x8a\\x39\\xa4\\xe8\\x71\\x9b\\x30\\xdf\\x17\\x60\\x4c\\x70\\x69\\x1e\\x8f\\x48\\x3c\\x99\\x44\\xf6\\xc4\\xf3\\x9b\\x22\\x45\\xba\\xaf\\xc3\\x46\\x7c\\x1d\\x11\\x87\\xdb\\x55\\xea\\xc0\\xdf\\x3d\\xc5\\x6d\\x1d\\x11\\x96\\xfd\\x79\\xad\\x8f\\x81\\xce\\x8d\\x3f\\x1d\\x3a\\x3b\\xc8\\xe1\\xdc\\xf4\\xea\\x7d\\xa2\\xcd\\x39\\xf2\\x1b\\xf8\\x49\\x85\\xdb\\xd8\\x47\\xf5\\x90\\xfd\\x78\\xbc\\x77\\x6f\\x78\\x49\\x2d\\x2b\\x2a\\xef\\xfc\\x24\\x53\\x43\\x71\\x6c\\x83\\x71\\xdc\\x80\\x71\\x34\\x83\\x07\\xa2\\xa3\\x9a\\xf6\\x6f\\xfc\\x2c\\xc0\\xe7\\x84\\xf3\\x02\\xf3\\x88\\x00\\xe7\\x08\\xcb\\x04\\x66\\xa0\\x00\\xbb\\x0b\\xb0\\x58\\x80\\x6e\\x01\\x5e\\x85\\xf0\\x79\\xf8\\x3d\\x64\\xd6\\x43\\x38\\x1f\\xae\\x84\\x4c\\x07\\x58\\x85\\x89\\x88\\x38\\x44\\x8c\\x06\\xbe\\x3b\\x37\\x94\\xab\\xe3\\x10\\x27\\x9a\\x11\\x13\\x7b\\xb7\\x51\\xf8\\xe5\\x88\\xff\\x3f\\xe9\\x9f\\xff\\xe5\\x25\\x09\\x50\\x41\\x3d\\x49\\xfd\\x53\\xfd\\x5d\\xfd\\x08\\x3e\\xaa\\xde\\x01\\x0b\\xff\\xef\\x0a\\x6c\\x83\\xff\\xbb\\x0e\\xae\\x50\\xe7\\x31\\x85\\x8c\\x99\\x38\\x92\\x1b\\x7e\\x6f\\x38\\xa9\\xed\\x7b\\x18\\xf3\\xb6\\x67\\xf0\\x3b\\xb9\\x40\\x55\\xd4\\xc9\\x18\\x1d\\xc8\\x66\\x93\\xcd\\x26\\xbb\\x6c\\x92\\xdd\\x9e\\x45\\x78\\xe3\\x6c\\xc4\\x52\\x0d\\x88\\x72\\x4f\\xc6\\x26\\xdb\\x18\\x23\\x6b\\x33\\x19\\x8d\\x0e\\xb7\\x6c\\x37\\x9b\\x44\\xc0\\x0d\\x8a\\xdb\\xf6\\x91\\x58\\xb6\\x16\\x51\\xdf\\xab\\x67\\x26\\x13\\x02\\xcd\\x89\\xcf\\xca\\x2b\\xc9\\x80\\xd8\\xd4\\x28\\xa5\\x04\\x51\\x8a\\xd1\\x84\\x98\\x3d\\x77\\x9b\\xd4\\x37\\x12\\xe9\\x38\\xa0\\x3c\\x4f\\x8d\\xc2\\x66\\x47\\xf3\\x3b\\x19\\x2b\\xeb\\x61\\x58\\x8d\\x56\\x1c\\x55\\x87\\x59\\x8f\\x71\\x28\\x3c\\xfc\\x16\\xb6\\xb0\\xe1\\xff\\xa6\\xfe\\x3b\\x17\\xe6\\x32\\x8e\\xab\\xab\\x4f\\x3e\\x09\\xe2\\x71\\x2a\\xcc\\xbb\\x35\\xff\\x8a\\xc0\\x42\\x23\\xc3\\x43\\xde\\x44\\x82\\xd3\\x08\\x2b\\x55\\x22\\x14\\x80\\x30\\x50\\x01\\xae\\xbf\\xf4\\xaf\\x44\\x62\\xee\\x15\\xd7\\x2a\\xa6\\x7d\\xc3\\x65\\x54\\xd9\\xf0\\x36\\x33\\xf1\\x2d\\x66\\xfb\\xbb\\x6f\\x37\\x8c\\x3c\\x81\\xe1\\xbf\\x86\\xf7\\xc4\\x85\\x75\\x98\\x6c\\x4c\\x8b\\x79\\x3e\\xe4\\x76\\xa7\\x1b\\xcc\\xe9\\x08\\x65\\x4b\\x48\\xca\\xc9\\xf5\\x19\\x04\\x83\\xf0\\x8b\\x62\\xc0\\x4a\\xa3\\x28\\xff\\xa2\\x88\\x00\\x84\\x52\\x5c\\x1c\\x37\\xf8\\x86\\x3d\\x71\\xff\\x11\\xb9\\x7a\\x98\\x6d\\x95\\x74\\x86\\xf8\\xbf\\x6d\\x23\\x21\\x17\\x65\\xb9\\x5a\\x72\\x13\\x31\\xd7\\x3b\\x40\\x17\\x73\\x72\\xd9\\xd6\\x69\\x73\\xe7\\x4f\\xd9\\xb4\\x0a\\xf6\\x78\\xb1\\xaa\\xf2\\xd6\\x91\\xd5\\x33\\x2a\\xab\\x5e\\x54\\x87\\x6d\\x5a\\x03\\x7b\\xce\\x9a\\xc9\\xbc\\xce\\xcd\\x9c\\x09\\x7b\\x3e\\xb8\\xee\\xe8\\xc4\\x5b\\xd4\\x0f\\xaa\\x57\\x39\\x58\\xf7\\xca\\x51\\xea\\x07\\x93\\x26\\x50\\x1f\\x0e\\x3c\\xa3\\x96\\x31\\xdf\\x53\\x1f\\x8e\\xf3\\x10\\x03\\x21\\xcd\\x97\\x05\\x85\\xe5\\x71\\x5f\\x05\\xd1\\xe3\\xce\\x40\\x5e\\x2d\\x13\\x1e\\xfa\\x7d\\x2a\\x7e\\xcf\\xc3\\xf8\\x3d\\xcd\\xf4\\x3d\\x7b\\x47\\xc3\\x46\\xaf\\x95\\xf3\\x06\\x38\\x94\\x29\\x03\\x90\\x99\\x93\\x6b\\x0a\\x04\\x03\\xc1\\x5f\\x94\\x40\\xc0\\x01\\x1c\\xf8\\x35\\x1d\\x8d\\x3d\\x39\\x4d\\xbe\\x26\\x79\\x4b\\x07\\xcd\\x80\\xb4\\xeb\\xf9\\x5b\\x76\\x9a\\x13\\xa9\\xbb\\x23\\x3c\\x98\\xfd\\x91\\xf7\\xcd\\x3e\\x8c\\x5f\\x6d\\x46\\xf5\\xa8\\x59\\xf8\\xd5\\x60\\x8f\\x55\\x9b\\xa6\\xcc\\x9f\\x3b\\x6d\\xcb\\x72\\x75\\xd8\\xcb\\x13\\x26\\xc1\\x96\\xa3\\x56\\xba\\x59\\xe7\\xaa\\xd1\\xb0\\xe5\\x2d\\x13\\x8f\\xae\\x7b\\x50\\x3d\\x3c\\x73\\x26\\xf7\\x3a\\x33\\x73\\x96\\x7a\\x78\\xf5\\x66\\x72\\xf6\\xd5\\x98\\xe3\\x4e\\x45\\x3d\\x69\\x8c\\xbd\\x04\\x53\\xa2\\x07\\x48\\xfb\\x88\\x6e\\x19\\x05\\x15\\x60\\x0c\\x38\\x05\\x38\\x23\\x02\\x40\\x36\\x9b\\xb9\\x7d\\x8a\\x68\\xae\\x36\\xef\\x35\\x23\\x92\\x13\\x32\\xdd\\xbc\\xd6\\xfc\\x84\\xf9\\x65\\xf3\\x65\\xb3\\x60\\xa6\\xe9\\x3b\\x24\\xdd\\x83\\xda\\x9a\\x91\\x78\\xce\\x32\\x89\\x36\\x10\\xef\\x49\\x09\\xb1\\xe3\\x62\\xdc\\x1a\\xd5\\xf6\\x79\\xa0\\xcf\\xf2\\xa1\\x3d\\xe6\\x76\\x99\\xb9\\xf9\\x96\\x95\\xf7\\x8c\\x6b\\xb9\\x6c\\x56\\x74\\x36\\xc3\\x36\\xf7\\x17\\x16\\xb4\\xfc\\x68\\x70\\x61\\x2b\\xef\\xc8\\xcf\\x5b\\xe4\\x00\\x3a\\xb1\\x8f\\xfe\\x23\\xf1\\x74\\xba\\x21\\x03\\x3f\\x54\\xff\\xc3\\xfc\\xc9\\x96\\xd2\\x5c\\xa3\\x02\\x7c\\xb3\\xb0\\xca\\x20\\x08\\x58\\xe3\\x03\\x02\\x12\\xf8\\xcd\\x55\\x82\\x88\\xb6\\x27\\xa2\\x31\\xc9\\x6e\\xef\\x88\\x83\\xd6\\x28\\xc1\\x9f\\xcf\\x67\\xaa\\x9f\\xe1\\xdb\\xf0\\x35\\xb3\\xfa\\xda\\x78\\xae\\x9b\\xfa\\x1f\\x68\\x23\\xef\\x5f\\x7b\\xfd\\x1f\\xec\\xad\\xdc\\x38\\xcc\\x97\\x67\\x47\\xbb\\x38\\x0c\\x06\\xc9\\xe8\\x71\\xbb\\x91\\x91\\x4d\\xb3\\xb2\\xd6\\xcc\\xd0\\x0c\\x0f\\x14\\x31\\x97\\x46\\x51\\x54\\x81\\xb6\\xa0\\x7d\\x08\\xef\\x06\\x16\\xbd\\x48\\x12\\x24\\xff\\x1c\\x7c\\x86\\x12\\xc4\\x24\\x2c\\xd9\\x05\\x93\\x20\\x80\\x39\\x0a\\xc6\\x07\\x14\\x26\\x0a\\x5e\\xf4\\xcd\\x88\\x3b\\x9a\\xe2\\xcc\\x46\\xd6\\x72\\x3b\\x74\\xfc\\xa8\\x57\\x03\\x92\\x0a\\x97\\x30\\x16\\xbf\\x72\\xac\\xac\\x25\\x26\\x81\\x99\\xdb\\x87\\xcf\\xb5\\xc1\\x80\\xfb\\xeb\\x67\\x9f\\xfc\\xe4\\xca\\x85\\x2f\\x9e\\xdc\\xf1\\x59\\x50\\x3d\\x2f\\xce\\x18\\xbe\\x70\\xf1\\x52\\x58\\x3a\\x75\\x9c\\x65\\xdd\\xbb\\xae\\x97\\x5f\\x72\\x41\\xe9\\xc2\\x77\\xd0\\xef\\x3b\\x7c\\xd8\\xf1\\xc2\\x63\\xb6\\xaa\\xb1\\x87\\x9f\\xda\\xf3\\x1c\\x7e\\xb7\\x5e\\xf8\\x5e\\x6f\\xe4\\x46\\x80\\x30\\x78\\x24\\x9a\\x19\\x74\\x04\\x32\\x32\\x2c\\x86\\x30\\x00\\x4e\\x87\\xc1\\x91\\x97\\x0f\\xc2\\x52\\xb8\\x75\\x38\\x1a\\xae\\x08\\x2f\\x0e\\xf3\\x12\\x0a\\x13\\xbe\\x64\\x32\\xda\\x7a\\x86\\xc3\\x59\\xe9\\x26\\xb3\\x89\\xcc\\x3a\\x68\\xa6\\x04\\xca\\xcd\\x70\\x86\\x73\\xb1\\xf3\\x15\\x27\\x12\\x9d\\x19\\xce\\x42\\x27\\x32\\x22\\xb3\\xd3\\xec\\x64\\x25\\xc9\\x43\\x72\\x11\\xb9\\x2c\\x36\\xeb\\x56\\x85\\x4d\\x4d\\x58\\x8e\\xbf\\x2f\\x15\\xe1\\xf2\\x0d\\x09\\xcc\\x89\\x8c\\x7e\\x2c\\xbd\\x43\\xf8\\xf6\\x76\\x22\\x72\\x3d\\x45\\xf5\\x20\\x16\\x7f\\x88\\xc4\\x7b\\x42\\x78\\x7b\\xd8\\x8d\\x19\\xef\\x3f\\xd6\\x10\\xad\\xeb\\xf3\\xe2\\xb3\\x1f\\x7f\\xb8\\xe3\\xb5\\x16\\xdf\\xbb\\x06\\xde\\x54\\x55\\x01\\xd3\\xd5\\x6f\\x06\\x8e\\x83\\xcb\\x26\\x4e\\xb6\\xc3\\xc9\\xbb\\x5e\\x3e\\xd1\\xfe\\xfe\\x5b\\x06\\xee\\x7c\\xf3\\xed\\xf7\\x56\\xad\\x2b\\xec\\xd7\\xfd\\xd6\\x3b\\xf6\\xee\\xac\\x98\\xf0\\x60\\xbb\\xb1\\xa3\\x89\\xbe\\x59\\x07\\x76\\xb2\\x75\\xec\\x2e\\x7c\\xdb\\xf2\\x30\\x87\\xf3\\xf9\\x10\\x0a\\x02\\xbb\\xd9\\x9c\\x65\\x03\\xb6\\xfc\\x66\\xae\\x8c\\xdd\\x8a\\x4b\\x10\\x72\\x77\\x2b\\x02\\x8d\\xa3\\x49\\xff\\x88\\xab\\x1c\\xde\\xc2\\xd8\\x29\\x39\\x8a\\x49\\xd1\\x01\\x21\\xe4\\x52\\x8f\\xe0\\x76\\x39\\x49\\x21\\x02\\xa9\\x35\\x11\\xf2\\x4a\\xc3\\xa5\\x4e\\x77\\xdc\\x8f\\x76\\xa0\\xe3\\xd2\\x4d\\x77\\x8f\\x9f\\x3b\\xbf\\x76\\xf9\\xe6\\x15\\x1d\\xdb\\x2f\\xdb\\xbc\\x74\\xdc\\xfc\\x05\\xb5\\xcb\\x37\\x2d\\x6f\\xff\\xcd\\x82\\x61\\x43\\x6e\\x5f\\x30\\x74\\xe8\\xed\\xcc\\xae\\x79\\xe3\\x97\\x6e\\x5c\\xda\\xa1\\xc3\\xf2\\xcd\\xcb\\xc7\\xce\\x9b\\x33\\x76\\xe9\\x96\\xe5\\x1d\\xca\\x56\\x6e\\x5e\\x39\\x76\\xc1\\xd0\\xdb\\x17\\x0e\\x19\\x7a\\xfb\\x02\\x7c\\x6e\\x21\\x7c\\x6e\\x7f\\xe7\\xba\\x61\\xfd\\x64\\x76\\xb4\\x33\\xc3\\xf3\\xb2\\x5b\\x34\\x9b\\x65\\x97\\xdb\\xed\\x34\\x1a\\x1c\\x32\\x0b\\x0c\\x06\\xab\\x5d\\x66\\x8d\\x46\\xaf\\x47\\x30\\x5b\\xcc\\x73\\x15\\xac\\xd2\\x8a\\x92\\x38\\x57\\x71\\x02\\x69\\x86\\x04\\x2d\\x92\\x45\\x32\\x38\\x5c\\x6e\\x24\\xf3\\x06\\xaf\\xee\\x80\\x2f\\x2b\\x2c\\x8c\\x65\\x65\\xd9\\x13\\x35\\x77\\x89\\xb2\\x34\\xf2\\x3d\\x29\\x89\\x95\\x6c\\x3e\\xfd\\x2a\\xd1\\xbf\\xa8\\x2c\\x44\\x05\\xd0\\xa9\\xee\\x81\\x03\\xd5\\x3d\\xea\\x15\\xea\\xef\\xde\\x87\\xff\\xbe\\x18\\x4b\\x9e\\x2c\\xac\\x3b\\x87\\x98\\x03\\x0f\\x3e\\xf9\\xd0\\x8f\\x3f\\x3e\\xf4\\xe4\\x83\\xcc\\x83\\x0d\\xdf\\x31\\x5e\\x7c\\x67\\x35\\xfe\\xb9\\x47\\xaf\\xff\\x93\\x04\\x86\\x61\\x21\\x34\\x18\\x39\\xc0\\x01\\x48\\x7c\\xe1\\xe5\\x85\\x14\\xb3\\xc6\\xc9\\x8d\\x31\\xb6\\xfa\\x27\\xe4\\x99\\xa7\\x90\\xe9\\xda\\xaf\\x57\\x1f\\x41\\xe6\\x6b\\xbf\\x68\\x36\\xcf\\xe4\\xeb\\x43\\xd8\\xa1\\xdc\\x09\\x10\\x01\\x9d\\xc1\\xf2\\x68\\x5f\\x57\\x27\\x4f\\x41\\xab\\x52\\xb9\\x4d\\x7a\\x1a\\x8b\\x72\\x3c\\xa6\\x36\\x6d\\xd2\\x3c\\x88\\x2d\\x28\\x96\\xcb\\x0a\\x0a\\xe4\\xf2\\x68\\xa7\\x7c\\x57\\xa9\\xad\\x95\\xab\\x55\\x08\\xf8\\x43\\x95\\x0a\\x48\\x97\\xd2\\x5f\\x49\\x3f\\x95\\xfe\\x75\\x3a\\x67\\x42\\xe9\\xe9\\x7e\\xe2\\xf9\\xb9\\x8d\\xbd\\x87\\x65\\x0a\\x59\\xc8\\xb2\\x18\\x3a\\x49\\x4f\\x20\\x4a\\x73\\x61\\x72\\xac\\x4f\\x17\\xc4\\x31\\xf9\\x9b\\x50\\xa0\\x13\\xba\\x02\\x4c\\x52\\x99\\x69\\xac\\x8f\\x96\\x25\\xb9\\x68\\x31\\x56\\x5c\\xbd\\x6e\\x05\\xf3\\x68\\xfe\\x6d\\x29\\xfd\\x8e\\x4d\\xbf\\x3c\\x6d\\x75\\x5b\\x66\\xf6\\x6b\\x17\\x02\\x97\\xad\\xb3\\x46\\xcc\\xb8\\xa5\\xed\\xd8\\xbb\\xb7\\x6f\\x1d\\x32\\x6d\\xd8\\xc1\\xab\\xdf\\x7f\\xf5\\x7f\\x79\\x17\\x9d\\xb7\\xdf\\xbe\\xe0\\xce\\xd6\\x13\\x9e\\x3f\\xf9\\xf7\\x69\\x13\\x46\\xd4\\x5e\\x80\\x1f\\xcc\\xdd\\xfd\\x6a\\xdb\\x71\\x2b\\x5e\\xe7\\x4e\\xac\\x5e\\xea\\xeb\\x7c\\x73\\x87\\x2e\\xcd\\xca\\x0a\\xd2\\xc2\\x03\\x17\\x0c\\x1b\\xb5\\x36\\x30\\x60\\xff\\xb6\\xfd\\xf7\\x3e\\x92\\x5b\\xd1\\xa7\\x4b\\x45\\xeb\\x8e\\x2d\\x5b\\xb4\\xd9\\x38\\x63\\xd4\\xe2\\xec\\xf0\\x8a\\xc1\\x8f\\x3c\\x75\\xed\\x8d\\x1e\\x7d\\x43\\x9e\\x25\\xcd\\x4a\\x9b\\x67\\xd0\\x61\\x03\\x0c\\x0c\\xb1\\xaf\\xa3\\x5d\\xdc\\xe6\\x78\\x5d\\x26\\x66\\xa2\\xa4\\xee\\x13\\x8b\\x37\\xb8\\xba\\x8a\\x05\\x8f\\xe8\\x7e\\xf2\\xe4\\x73\\xc1\\x5c\\x29\\x84\\xff\\x30\\x6f\\x9f\\x69\\x98\\xfd\\x35\\xfb\\xfa\\xe7\\xf8\\x1f\\x2d\\x87\\x39\\x03\\x84\\xd9\\xdd\\xd4\\x1f\\x15\\x06\\x45\\x60\\x51\\xb4\\x1f\\x26\\x51\\x83\\xd3\\x86\\x9c\\xc8\\xd3\\x32\\x23\\xcf\\x93\\xe1\\x29\\x8e\\x60\\x59\\x67\\x7f\\x5b\\xe1\\xcd\\x6f\\x2b\\x46\\x5e\\xc4\\x0f\\x5c\\x06\\xd7\\x01\\x0b\\xa2\\x56\\x7b\\x4f\\xc0\\x4b\\xfc\\x0c\\x7e\\x31\\xff\\x35\\x7f\\x85\\xe7\\xb1\\xa0\\xe1\\x01\\x1f\\xc8\\xce\\x6e\\x7e\\x4c\\xc9\\x06\\x81\\xd6\\xc7\\x94\\xc0\\xe9\\x24\\xf1\\xa8\\x73\\x95\\x02\\x4c\\xc7\\x05\\x29\\x7a\\xb9\\x9c\\x6c\\xc6\\x66\\x69\\x85\\x61\\x1e\\x21\\x6e\\x59\\x93\\xdc\\x41\\x88\\xe5\\x45\\x76\\x56\\x0e\\xe1\\xaf\\x24\\xa1\\x52\\x16\\x88\\x8d\\xab\\x19\\x8c\\x32\\x73\\xdb\\xf6\\xe7\\x9f\\xdd\\xfe\\xe9\\xd0\\x55\\x6d\\x66\\x55\\x8f\\x9b\\x3c\\x6a\\x66\\xfb\\xbb\\x72\\x37\\xc0\\x13\\x6b\\xd4\\xdf\\xf7\\xef\\x57\\xff\\x58\\xbb\\x06\\x1a\\xf7\\xed\\x83\\xc6\\x35\\x77\\x5e\\xfe\\xec\\x93\\xcb\\x57\\x3e\\xfe\\xf4\\x0a\\xec\\x77\\xe6\\xdd\\x77\\xfe\\x75\\xba\\x60\\xd1\\xba\\x07\\xd7\\x3c\\xb5\\xbe\\xf9\\xcc\\xdb\\xe1\\xae\\x33\\xea\\xf3\\x3b\\xfe\\x0e\\xbb\\x7f\\xf3\\x0d\\xec\\xfe\\xf7\\x9d\\xea\\x0b\\x67\\x61\\x26\\x2c\\x57\\x5f\\x55\\xbf\\x56\\xbf\\x54\\x5f\\x87\\x9d\\x30\\xcd\\xbe\\xc3\\xdc\\x8d\\x1a\\xb8\\xad\\xf8\\x5e\\x17\\x80\\x61\\xd1\\x2c\\xab\\xcd\\xd6\\x1c\\x65\\x08\\xb9\\xb9\\x2e\\xe4\\x6a\\xd1\\x52\\x08\\x9f\\x55\\xac\\x51\\x8b\\xd4\\xd3\\x2a\\x58\\x49\\xc8\\xc2\\x74\\x4e\\xb1\\x1f\\x86\\xcd\\xa2\\x46\\x6f\\x16\\xc8\\x3a\\xaf\\x04\\xc1\\x77\\x37\\x86\\x2d\\x0a\\x0a\\x9a\\xf2\\x4d\\xea\\x21\\x0b\\x22\\x73\\xf3\\x74\\x67\\x0b\\xde\\x00\\x3d\\xf0\\x9f\\xcd\\xe7\\x11\\xb7\\xa5\\x40\\xca\\x6a\\xe0\\x4b\\x33\\xee\\x7e\\xea\\xc9\\x1d\\x73\\x3b\\x75\\x12\\x3e\\x77\\x3e\\x77\\xff\\xc6\\x3d\\xae\\x70\\xbb\\x9b\\xbb\\x55\\x8e\\xe6\\xd1\\xa0\\xaa\\xee\\xe3\\x26\\x8d\\xef\\xc1\\xdc\\xbd\\x60\\xda\\x6d\\x77\\x30\\x4c\\xeb\\x95\\x25\\xa5\\xe6\\xe9\\x0b\\x56\\x2e\\x55\\x2f\\x97\\xb6\\xe3\\xee\\x70\\x0d\\xee\\xbe\\xe9\\xb1\\xa9\\x7d\\x33\\x10\\x2a\\x6d\\x5f\\x83\\xdf\\xeb\\x1e\\xb0\\x9a\\xed\\x85\\x76\\x01\\x03\\xb0\\x83\\x81\\xd1\\x7c\\xa3\\xdd\\x6e\\xb1\\x5a\\x4d\\x98\\x3d\\x21\\x96\\xe5\\x21\\x14\\x4d\\x26\\xd9\\x61\\x41\\x3c\\xba\\x58\\x65\\xc4\\x47\\x7b\\xb1\\x4a\\x34\\x9b\\x18\\xc8\\x5f\\x06\\x9d\\x88\\x7a\\x1b\\x89\\xc4\\x2a\\xae\\x92\\x6b\\xd0\\x22\\x49\\xa9\\xdd\\xb9\\xd8\\xae\\x8b\\xb8\\x10\\x74\\x85\\x62\\x3f\\x20\\x85\\xb8\\x80\\x2f\\xa9\\x10\\x34\\x74\\x52\\x55\\xc8\\xfc\\x88\\x7f\\x5a\\x0d\\x6f\\xe9\\x01\\xa7\\xe7\\xaa\\x0f\\xaa\\x8f\\x65\\x27\\xfd\\x48\\x64\\xfb\\x60\\x8c\\xdf\\x30\\xe4\\xa3\\x39\\x3a\\x12\\xe0\\x18\\x92\\xa3\\x03\\xf6\\x2a\\x2c\\xdc\\xad\\xb0\\xa4\\xe2\\xab\\x20\\x9e\\xa3\\x93\\x4b\\x83\\x67\\x68\\xee\\xb5\\x2f\\x59\\xb4\\x1a\\xee\\xfa\\xba\\xe1\\x36\\xac\\x83\\xc4\\xea\\xb2\\xb0\\x0e\\x22\\x91\\x50\\x6c\\x9c\\xd6\\x45\\x90\\x06\\x72\\xb1\\xf5\\x72\\x6f\\xb4\\x32\\x68\\xb7\\x3b\\x7c\\x52\\x5a\\x5a\\xba\\x2f\\xcb\\xe1\\x70\\xfa\\x9c\\xa0\\x05\\x96\\xb0\\x06\\x50\\x14\\x91\\x9c\\x41\\x39\\x4b\\x3e\\xa6\\xb8\\x42\\xc7\\x14\\x22\\x3a\\x07\\x38\\xab\\x9d\\xd3\\x9d\\xdc\\x80\\xac\\xea\\x2c\\x86\\xd4\\x40\\x30\\x46\\xe4\\xcc\\x72\\xb9\\xb2\\x9c\\x88\\xb5\\x58\\x9a\\x1d\\x53\\x2c\\x80\\x2d\\x3c\\xa6\\xb0\\x49\\x14\\xef\\x21\\x27\\xad\\x09\\xd2\\x02\\xdd\\xe5\\xd6\\xb8\\x22\\x32\\x56\\x39\\x43\\x8d\\xf9\\x54\\x12\\xc7\\x26\\x1a\\xc9\\xfd\\xd1\\x12\\x32\\x1d\\x48\\xcb\\xc7\\x6c\\xcb\\x25\\x11\\x3e\\xbb\\xbb\\x31\\x91\\xab\\x13\\x8f\\xde\\xf6\\x18\\x8c\\xac\\x79\\x6c\\xfc\\x90\\xcf\\x0e\\xed\\x5b\\xb0\\xac\\x62\\x30\\xcc\\x8a\\xd1\\x3d\\xf3\\x47\\x23\\x32\\x6f\\x58\\x00\\x7b\\xa9\\x87\\x50\\xf9\\x9d\\xd3\\xeb\\x96\\x38\\xd4\\x1d\\x4c\\xc5\\x22\\xf5\\xbb\\xfe\\x63\\x53\\x69\\xff\\xfa\\xf5\\xeb\\x57\\xb9\\x5d\\xec\\x69\\xde\\x22\\x0b\\xe0\\x26\\x00\\xf8\\x15\\x94\\xff\\x84\\x51\\x00\\x6d\\xe3\\x1e\\x00\\x16\\xe0\\x05\\x65\\x51\\x93\\x15\\x00\\x07\\xcf\\xfb\\xfc\\xc8\\x4d\\x0a\\xb1\\x2d\\x0a\\x40\\xad\\x11\\xe3\\x42\\x24\\xf7\\x09\\xff\\x62\\xbf\\x62\\xd2\\xe5\\x72\\x2c\\x51\\x30\\x9e\\x30\\xad\\x15\\xbb\\x52\\x52\\x17\\x92\\x5c\\x69\\x68\\xdb\\x0b\\xcb\\xee\\x79\\x71\\xc8\\x43\\xc3\\x97\\x1f\\xd9\\x3c\\xaa\\x7b\\x8f\\xea\\xda\\xae\\x37\\x8f\\x61\\x87\\x2e\\x79\\xfe\\xb9\\xa5\\x43\\x1f\\x1c\\xf4\\xfc\\x92\\xee\\x63\\x6a\\xba\\x75\\x1b\\x5b\\x4b\\xf2\\xd7\\xf1\\xa1\\x4e\\x64\\x7f\\xc5\\xf6\\xa7\\x08\\x46\\x45\\x3d\\x5a\\x85\\xa0\\xd9\\xc2\\x8a\\x66\\xd6\\x2c\\x61\\x5a\\xde\\xad\\x58\\xbc\\x2c\\x73\\x18\\x06\\xa3\\xe6\\xa4\\x72\\x41\\xf2\\x77\\x8b\\xf2\\x0a\\x99\\x1c\\xcd\\xa1\\x45\\x1c\\xe4\\x48\\xf6\\x7c\\xbc\\x7a\\x30\\xc5\\xdb\\xd7\\x64\\x11\\x21\\x49\\x69\\x67\\x3e\\xfe\\x5a\\x9d\\x0e\\x1f\\xf8\\x1a\\x3e\\x48\\x32\\xdb\\x99\\xd7\\xd5\\xbf\\xc3\\x21\\x5f\\xc1\\xc1\\xea\\xae\\xaf\\x1a\\x3a\\x7d\\x45\\xc6\\xcc\\x63\\xcb\\x25\\x82\\xde\\xe2\\xd6\\xe0\\x1d\\x1a\\x14\\xcd\\xf6\\xf0\\x76\\x37\\x84\\x26\\xb3\\xdd\\xec\\xf3\\x6f\\x31\\xed\\x33\\x31\\xa2\\x29\\xc3\\xf4\\x84\\x09\\x5b\\xc8\\x26\\x93\\xcd\\x6d\\x33\\x9c\\x57\\x6c\\x87\\x61\\xc1\\x21\\xe8\\x06\\xee\\x6f\\x15\\xf0\\x7d\\xa3\\xf2\\xb1\\xa4\\x7c\\xf3\\x58\\x50\\x10\\x96\\xb4\\xa5\\x59\\xe6\\xd9\\x59\\x31\\x56\\xe1\\xd4\\x4a\\xc7\\xa0\\xab\\xfc\\xdd\\xea\\x81\\x63\\xc6\\x5a\\xce\\x8a\\x07\\xd7\\x6e\\xdc\\x55\\xbf\\xb4\\xc2\\x0e\\x77\\x30\\x91\\x35\\x2b\\x17\\x75\\x1c\\x51\\x38\\xf9\\x56\\x7e\\xce\\x7d\\x4b\\x66\\x3f\\x74\\xeb\\x90\\x2e\\xe1\\x27\\x31\\x8e\\x06\\x26\\x0f\\xbd\\xc6\\xad\\xc6\\x77\\x61\\x61\\xb4\\x63\\x56\\x86\\xcd\\xc6\\x01\\xaf\\xcf\\xc7\\x73\\x26\\x7c\\xe3\\xc2\\x79\\x5e\\xaf\\x2d\\x18\\x74\\x9d\\x57\\x30\\xbf\\x23\\x7c\\x3e\\x93\\xc7\\xe8\\xf2\\x3c\\xb6\\x87\\xad\\xe7\\x15\\x8b\\x2d\\x68\\x3b\\x6e\\xfb\\xc2\\xc6\\x1a\\xf1\\xdf\\x51\\x10\\x23\\x7f\\x10\\xe1\\xb7\\x40\\x3f\\x68\\xe4\\x2f\\x97\\x25\\x85\\xad\\xa8\\xee\\x58\\xd6\\xb8\\xfc\\x23\\x92\\x5c\\x33\\xc6\\x67\\x67\\xe6\\x95\\xe2\\xa3\\x2f\\x29\\x4e\\x29\\x18\\xcb\\x8b\\x97\\xc5\\x61\\x95\\x1a\\xbd\\xb6\\xef\\x49\\xf5\\xf9\\xd0\\xbf\\x2c\\x0b\\xe6\\xfd\\xed\\xa6\\x8e\\x7d\\x7a\\xb7\\x8d\\xb4\\xe9\\xc4\\x7d\\x86\\xdf\\xf2\\xe1\\xbf\\x0f\\x1d\\x55\\x3d\\x09\\x65\\xdc\\x76\\xcf\\xcf\\xe2\\xb4\\x99\\x53\\x1e\\x6e\\xd7\\xa6\\x55\\x71\\x49\\xb1\\x6d\\xe6\\xa2\\x05\\x63\\xfb\\x4c\\x72\\x30\\xe6\\x89\\xd4\\x16\\x9c\\xce\\x6e\\x41\\x53\\x63\\xb1\\x6b\\x2c\\x31\\x79\\x81\\x63\\xee\\xab\\xe2\\x52\\x62\\xd7\\x25\\xa5\\x21\\x17\\x07\\xa7\\x5f\\x83\\x8c\\xba\\x8b\\xdd\\x92\\xf1\\x53\\x81\\x5e\\x57\\x77\\x97\\x3a\\x86\\xed\\x8f\\xed\\xeb\\x34\\x50\\x4a\\x4c\\x7f\\xd9\\xce\\xf9\\x7c\\x7e\\xbb\\x3f\\x3d\\xc3\\x67\\x17\\xc5\\x80\\xc1\\x35\\x50\\x31\\x73\\x06\\x3d\\xee\\x48\\x29\\xa8\\x3c\\xd2\\x38\\xeb\\xb3\\x15\\xd2\\x7c\\x4d\\x79\\xd9\\x5a\\x3e\\x1d\\x0d\\x87\\x6a\\x6e\\x28\\x74\\x13\\xe4\\x58\\x84\\xfa\\x6f\\x2f\\x1e\\xe6\\x61\\x59\\x12\\x4f\\x38\\x5c\\xb3\\x00\\xfa\\x0c\\x96\\x16\\x25\\x6d\\x5d\\xc7\\x5b\\x37\\x2f\\xe8\\xa9\\xae\\xe6\\x3e\\x6b\\xf8\\x9b\\x7a\\x76\\xdb\\xfd\\xcc\\x4d\\xd7\\x0e\\x2f\\x99\\x41\\x70\\xba\\x55\\x7d\\x91\\xad\\xc2\\x3a\\xa6\\x08\\x0a\\xa3\\x6e\\x8e\\xe7\\x4d\\x0c\\x03\\x4d\\x50\\xb2\\x03\\x96\\x95\\x48\\xbe\\x0c\\xe2\\x21\\xe9\\x6d\\x70\\x62\\x54\\x12\\xdf\\xd1\\x39\\x8d\\x3d\\x9b\\x7e\\x69\\xa2\\x36\\xe4\\x42\\xff\\xdc\\xf8\\xfa\\x86\\x1d\\xaf\\xbd\\xb1\\x87\\x99\\xcd\\x3e\\xf7\\x27\\xcf\\xfd\\xf9\\x27\\x8f\\x8e\\x3e\\xbf\\x73\\xc7\\xcb\\x6b\\x09\\x0f\\xfd\\x18\\x6e\\x65\\x7e\\x65\\xde\\xc7\\xba\\x68\\x6b\\xad\\x0e\\x55\\xbd\\x19\\x92\\x8c\\x31\\x27\\x68\\x1f\\xf5\\xda\\x25\\x49\\x16\\x45\\x0e\\x13\\x0c\\x70\\xb9\\x25\\x64\\x78\\x48\\x91\\x50\\x26\\x62\\x10\\xb6\\x45\\x0e\\x58\\xa5\\x9e\\x08\\x5f\\x7c\\xaa\\x8f\\x25\\xe5\\x8e\\xe8\\xf1\\x1c\\xa2\\x7c\\x97\\xd0\\x13\\x27\\xc5\\x6b\\xa5\\x11\\x92\\x73\\x7e\\x71\\xe3\\x43\\x2d\\xdb\\x65\\xb7\\x59\\xd9\\xee\\xa6\\xb0\\xad\\xdb\\xda\\xfc\\xd1\\x55\\xd7\\x47\\x8f\\xe1\\xe7\\x08\\xdd\\x30\\xc7\\x7b\\xa5\\x8e\\x1b\\xa8\\xe5\\x20\\x38\\xf0\\xbd\\xda\\xcf\\x2d\\x01\\x36\\x70\\x53\\xd4\\x6d\\xb5\\x58\\x18\\x2c\\xa8\\x4c\\xf1\\x5a\\xd0\\xf3\\xa4\\x16\\xf4\\x30\\x6c\\x7e\\x88\\x94\\x83\\x9e\\x4b\\xba\\x4a\\xc9\\xe5\\xa0\\x49\\x55\\x0c\\x25\\x91\\x58\\x41\\x68\\x84\\xd4\\xfc\\x39\\x7e\\xf4\\xdc\\x1f\\xed\\xb9\\x2a\\xe3\\xf8\\x17\\xf8\\xca\\x30\\x72\\x61\\xd7\\xf5\\x7d\\x3b\\x36\\x94\\xaf\\x21\\x7a\\xeb\\x19\\xac\\x03\\x5c\\xc0\\x3a\\x80\\x19\\x6b\\x4a\\x05\\x51\\xab\\x4c\\xf3\\x1a\\x3d\\x5e\\xa3\\xf8\\xad\\x62\\xc4\\xe2\\xfe\\x20\\x72\\x7e\\xab\\xa0\\xef\\x9a\\x08\\x17\\xc4\\x4a\\xfa\\x93\\x98\\x1c\\xe1\\x71\\x17\\x4e\\x1f\\x3e\\x70\\xfc\\xc4\\xa1\\x23\\xef\\x9c\\xef\\x3e\\x74\\x48\\xbf\\xf5\\xc3\\xfa\\xb1\\x8e\\x23\\x1f\\x7f\\xf2\\xfc\\x0b\\x1f\\x9c\\x7c\\x65\\xde\\xac\\x5b\\xe7\\x5e\\xbe\\xad\\x91\\x7c\\x1e\\x1c\\x6d\\x66\\x16\\x45\\xa3\\xcd\\x6a\\xb5\\x1b\\x19\\xde\\xc8\\x03\\x0e\\xab\\x7c\\xd8\\xb2\\x77\\xd8\\x0d\\x8c\\xe1\\x62\\x95\\x0d\\x4b\\xc7\\x8b\\x55\\x92\\x68\\x16\\x78\\xe6\\xaf\\x05\\x74\\xf2\\x37\\xad\\x78\\x06\\xa2\\x92\\x08\\x74\\xc1\\x48\\xec\\x87\\x7b\\x20\\x50\\x2f\\x41\\xac\\xe0\\x9d\\xc3\\x3f\\xfc\\x88\\x2f\\x82\\xba\\x1a\\x4b\\x65\\x38\\x2d\\x57\\x7d\\xa0\\x07\\x15\\xd0\\xb1\\x1f\\x89\\x8d\\x4f\\xc2\\x59\\x4f\\x73\\xdd\\xe4\\x3c\\xc3\\x0f\\xea\\x8b\\xd8\\xd6\\x0f\\x0b\\x97\\xbe\\x07\\x76\\xc1\\x70\\x11\\xba\\x1b\\x9e\\x03\\x99\\x51\\x19\\x31\\x76\\x2f\\x62\\x16\\x39\\xa0\\x03\\x8c\\x01\\xb0\\x02\\x3f\\x60\\x1f\\x35\\xaa\\xc4\\x3e\\xaa\\xa4\\x04\\x94\\xe3\\x3f\\x04\\x06\\x29\\xb5\\x7e\\x5e\\x87\\xf1\\x92\\x06\\xe3\\x33\\x02\\xe3\\x02\\x8c\\x36\\xd4\\x83\\x60\\x54\\x62\\x44\\x2f\\x23\\x16\\xc0\\x82\\x46\\x10\\x30\\x00\\xfa\\xbc\\x99\\xe6\\x8b\\x55\\xe2\\xe7\\x7f\\x54\\xdf\\xd4\\x9e\\x2f\\xd1\\x70\\xe8\\x84\\x71\\x68\\x11\\xf5\\x23\\xa6\\x90\\xe0\\x50\\x08\\xa5\\x42\\x58\\x08\\xeb\\x9b\\xc3\\x27\\x9a\\xc3\\xe6\\x60\\x06\\x85\\x54\\xa2\\x01\\x8b\\xe3\\x43\\xe3\\xcf\\x5f\\xb3\\xf7\\xe2\\xbb\\x4e\\x6a\\x86\\x86\\x47\\x5b\\x59\\xb5\\xa2\\x21\\xbd\\x64\\x08\\xf0\\x90\\xf0\\x40\\x4f\\x5a\\x5a\\x70\\x73\\x55\\x9a\\x38\\xc0\\x01\\x41\\x72\\xb5\\xd0\\x8e\\xbf\\xa8\\x16\\x8a\\xfb\\x0d\\xe8\\xd6\\x17\\xe1\\x7d\\xc7\\x42\\xaf\\xb4\\x6d\\x69\\xc8\\xa6\\xe9\\x73\\xb1\\xd8\\x3d\\x96\\xff\\xc4\\x78\\x5a\\xd8\\x72\\xc8\\xba\\x7b\\x38\\x68\\xe6\\x27\\x8e\\xd5\\x4b\\x85\\x60\\x5a\\x50\\xfd\\xee\\xab\\xef\\xd4\\x1f\\x99\\x43\\xea\\x57\\x63\\xb4\\x4a\\xa1\\xba\\x27\\xbb\\xc5\\x2a\\x85\\x8e\\xff\\xfb\\x14\\xbb\\x8a\\x38\\x44\\x34\\xbf\\x0b\\x7b\\x82\\x7f\\x5a\\x0e\\x83\\x1c\\xac\\xb6\\x0b\\xe0\\xe6\\xeb\\x7f\\x03\\x3f\\x01\\x57\\x3d\\x23\\x72\\x61\\xe6\\xf0\\xf5\\xc7\\xea\\x25\\x07\\x07\\x72\\x61\\x41\\x09\\xc0\\xff\\xc6\\xd7\\x3f\\x13\\x5f\\x3f\\x07\\x8c\\x02\\x3f\\x03\\x47\\xd4\\x4c\\x1f\\x18\\x27\\xca\\x89\\xd5\\x20\\xb1\\x7e\\x47\\x6c\\x3d\\xb3\\x1c\\xff\\x42\\x5b\\x2f\\xe1\\xf5\\xc0\\x25\\xfe\\x8f\\xf5\\x64\\xd8\\xcc\\xe5\\x38\\x7c\\xe0\\xcd\\x69\\x72\\xfd\\xe2\\x38\\x3e\\xa4\\xc4\\xfe\\x1b\\xe0\\x89\\x5a\\x11\\x79\\x00\\x31\\xc0\\x61\\xd7\\x9e\\x20\\x8f\\xa4\\x3c\\xb3\\x26\\xfe\\x19\\x1b\\xb0\\x5d\\x73\\x37\\xb8\\xe9\\x59\\xc4\\xc8\\xd4\\x2b\\xe2\\x4e\\xeb\\xb9\\x4f\\x86\\x8b\\x65\\xa8\\xfd\\x55\\x92\\x7b\\xb6\\x96\\x61\\xa6\\xfe\\x57\\x52\\xca\\x83\\x09\\x95\\x89\\x61\\x8e\\xa9\\xa7\\x00\\xeb\\x03\\xf8\\x5f\\xfc\\xa3\\x56\\x17\\xf4\\x32\\xe5\\xb3\\x4e\\x70\\x5b\\xb4\\xbb\\xc1\\x62\\x71\\x8a\\x0e\\x68\\x67\\x18\\x84\\xec\\xa2\\x89\\xb7\\xf1\\x6e\\x97\\x60\\x67\\xed\\xb5\\x8a\\x03\\xd6\\x2a\\x06\\x73\\xad\\x52\\x6e\\x80\\xe5\\x86\\x01\\x86\\x97\\x0d\\xef\\x19\\x58\\xbf\\x01\\x22\\xd1\\x00\\xad\\x9c\\x03\\x1b\\x55\\x22\\x8b\\x44\\x4b\\xad\\x22\\x32\\x88\\x26\\xb3\\x6b\\x72\\xb2\\xac\\x50\\x2f\\xe1\\x98\\x59\\x50\\x90\\x5c\\x6a\\x25\\x27\\xc5\\x4c\\x48\\xf1\\x50\\xbc\\x96\\x23\\x64\\xcf\\x16\\x50\\x84\\x99\\xd8\\x50\\xa7\\x5e\\x85\\xb7\\xa1\\x1c\\xf5\\x5d\\xd8\\x4c\\xfd\\x04\\x8e\\x6c\\xd8\\xd1\\xbe\\x55\\xed\\x3b\\xf0\\x6e\\xf5\\x0e\\xae\\xdb\\x3b\\xea\\xa6\\x63\\xea\\x82\\x77\\xd8\\xc5\\xc7\\xd4\\x07\\xc9\\xfe\\x54\\xa8\\x37\\x93\\x3a\\x1c\\xbc\\x3f\\x61\\xba\\xa7\\x0b\\x60\\x2d\\x7e\\x2d\\xf3\\x73\\xd0\\x11\\x70\\x9b\\x79\\xba\\xfd\\x74\\x1f\\x69\\x7d\\x0a\\xa5\\x85\\x7c\\x9d\\x76\\x9e\\xc7\\x67\\xeb\\xaa\\x87\\x16\\x2e\\x0c\\x0f\\x5f\\x7f\\xb0\\xde\\x2a\\x01\\x53\\x12\\xed\\x34\\x5e\\x3f\\x07\\x54\\x69\\xb4\\x40\\x1f\\xe8\\x61\\x11\\x13\\xab\\x93\\xe0\\xef\\x88\\xad\\xd7\\x69\\x07\\xc3\\xb7\\x52\\xf8\\xe7\\xea\\x65\\x4b\\x13\\xf0\\x17\\xc7\\xe1\\x4f\\xc2\\x67\\xf0\\x0d\\xf0\\x3d\\xc7\\x10\\xf8\\x0c\\x7e\\xe2\\x8f\\x7a\\xc9\\xa6\\x3d\\xa1\\x51\\x03\\x7e\\x86\\xd6\\x4d\\x50\\x9c\\x5a\\xe8\\xef\\xb0\\x37\\xf9\\x1d\\x9e\\x24\\xef\\x00\\x93\\x3e\\xa3\\xf1\\xfa\\x39\\x60\\x42\\xd2\\x3b\\x4c\\xc3\\xef\\x00\\x53\\xde\\x41\\x5b\\xbf\\x23\\xb6\\x3e\\x41\\xff\\xf4\\x25\\x00\\x7e\\x83\\xa6\\xd6\\x2f\\x8e\\xc3\\x8f\\xd3\\xb3\\xfe\\x12\\x00\\xbf\\x01\\x4c\\xa6\\x67\\x4c\\x73\\x36\\xfc\\xcc\\x2a\\x32\\x83\\x10\\x6b\\x8f\\x03\\xa3\\x05\\x0e\\xab\\xec\\x76\\x1b\\x58\\x2b\\xb6\\x60\\x7c\\x7e\\x17\\x2f\\xf0\\x35\\x8a\\x4c\\x2b\\x17\\x25\\x24\\x08\\xac\\xd1\\x68\\xaf\\x56\\x8c\\x88\\x75\\x57\\x37\\x51\\xf0\\x15\\x49\\xb1\\xb4\\x63\\x6e\\x3b\\x5a\\xc1\\x94\\x8d\\x65\\x5f\\xa2\\x8a\\xc9\\x95\\x4d\\x2a\\x99\\x56\\x69\\x95\\x4c\\xcb\\x96\\x25\\xd5\\x32\\xbd\\xf7\\x5e\\xbc\\x9a\\x89\\x29\\xfe\\x9c\\x69\\xab\\x15\\x34\\xa9\\x7b\\x3e\\x57\\xf7\\x91\\xf7\\xa3\\xb5\\x05\\x74\\x3f\\xda\\xa4\\xde\\x6f\\x68\\x23\\xfb\\xe1\\xc9\\xe6\\x2c\\x29\\xfb\\x41\\xeb\\x03\\xe8\\x7e\\x17\\xe9\\xe7\\xb3\\x93\\x9e\\x0f\\xe3\\xa6\\xfc\\x69\\x73\\xbd\\xc7\\xcf\\x27\\xf3\\xa7\\xc6\\xeb\\xe7\\x80\\x5a\\x9d\\xdf\\x90\\x07\\x6e\\x71\\xfb\\x78\\xd0\\x04\\xfc\\x1d\\xb1\\xf5\\x49\\xfc\\xc9\\x43\\xf8\\x4d\\xd0\\xfd\\x3f\\xd6\\x27\\xf8\\x13\\x81\\x0f\\x32\\x0a\\x9a\\x5c\\xbf\\x38\\x8e\\xcf\\x24\\xcc\\x6b\\x74\\xfe\\xe4\\x26\\xfc\\x09\\xf9\\xbd\\x7c\\x0a\\x7f\\x22\\xf5\\x35\\x60\\x3b\\x5b\\xc7\\xee\\xc4\\xb2\\x2a\\x37\\x2a\\x33\\xbc\\x89\\xc5\\x12\\xdd\\x60\\xb1\\x92\\x42\\xda\\x57\\x20\\x82\\xc0\\x57\\x38\\x2a\\xd6\\xb4\\xa4\\x8c\\x88\\x07\\x87\\x11\\x96\\x1a\\x21\\xb6\\x67\\x04\\x23\\xac\\x83\\xe3\\xd4\\x2d\\x9b\\xe1\\x18\\x38\\x66\\xb3\\xba\\x85\\x7e\\x53\\x37\\xc2\\xee\\xf8\\xd7\\x63\\x36\\xaa\\x4f\\x92\\xbf\\x6f\\x56\\x9f\\xdc\\x02\\x6b\\xd5\\xf5\\x18\\x8f\\x56\\xd7\\x3f\\x62\\x37\\x72\\xb3\\x81\\x03\\x04\\x40\\x16\\xa8\\x8e\\x96\\xb8\\x3d\\xe9\\x19\\x6c\\xd0\\x29\\x8b\\x9c\\x81\\x05\\x41\\xc1\\xe4\\xb4\\x03\\x13\\xc8\\xce\\xf1\\xa4\\xbb\\x33\\xd8\\x90\\xcf\\x1a\\xaa\\x56\\x38\\x83\\x2c\\xb2\\x56\\x24\\x49\\x56\\x16\\xf9\\xaa\\x15\\xac\\xdf\\xd3\\x8c\\x79\\x2d\\xf2\\x4c\\xda\\xf5\\x68\\x96\\x6c\\x52\\xb8\\x28\\xd1\\xf3\\x4a\\x02\\x21\\xcd\\x83\\x4a\\x4a\\x12\\x34\\xcf\\x2a\\x2c\\xce\\x83\\x44\\x9a\\xe5\\x3a\\x3d\\x24\\x80\\xae\\x55\\x70\\x7c\\xb2\\x6c\\xd2\\xac\\xbb\\x6f\\x21\\x75\\x09\\x1f\\x2e\\x9d\\x34\\x6b\\xc9\\x64\\xf5\\x23\\x9b\\x3a\\xb1\\xf3\\xec\\xf9\\x0b\\x54\\x9f\\x0d\\x3e\\xd6\\x71\\xf6\\xcf\\x5a\\x39\\xc7\\xdc\\x35\\x7d\\xb0\\x15\\x9b\\x47\\x8a\\x13\\x6e\\x5d\\xd3\\x67\\xf7\\x1e\\xf5\\x9f\\x53\\x07\\x37\\xfc\\x6b\\xd6\\xc5\\xf3\\x73\\x7b\\x33\\xa1\\xc9\\x64\\xef\\x69\\x9e\\x3b\\xa5\\x85\\x76\\x3a\\xed\\x3c\\xa1\\xdd\\x6d\\x99\\xde\\xed\\x87\\xea\\x1d\\x6e\\x64\\x4b\\xa2\\x9d\\xc6\\xeb\\xe7\\x80\\xa1\\xfa\\x5d\\x25\\x0f\\x8c\\x92\\x5d\\x89\\xd5\\x20\\xb1\\x7e\\x47\\x6c\\x7d\\xd2\\xdd\\x76\\x10\\x5a\\xf6\\xca\\x4d\\xae\\x5f\\x1c\\x87\\x9f\\x74\\xb7\\x65\\x7a\\xb7\\xdd\\x4e\\xed\\x89\\x24\\x59\\x45\\x73\\xb0\\x29\\x4e\\x1d\\x75\\x9c\\xc6\\xeb\\x9f\\x61\\xc4\\x9f\\x31\\xd5\\x68\\x61\\x0d\\x89\\xcf\\xd0\\xeb\\x32\\x56\\xd2\\xba\\x0c\\x37\\x68\\x1b\\x0d\\x3a\\x4c\\x3c\\x4f\\x5b\\x49\\x78\\xbc\\x9c\\xa3\\x56\\x31\\xc9\\xb5\\x0a\\x69\\x89\\xc3\\xeb\\xd5\\x2c\\x7a\\x27\\xb3\\xd4\\x0c\\xd2\\x44\\x35\\x8b\\x2b\\x52\\x94\\x54\\xcf\\xb2\\xf2\\x8e\\xef\\x37\\x7e\\x42\\x0a\\xa5\\xde\\xfd\\x13\\x3a\\xd5\\x4f\\xee\\xbd\\x7d\\xe7\\xb3\\xb7\\xde\\xcb\\x1c\\xbc\\xf3\\xd8\\xf4\\xeb\\x80\\xeb\\x76\\xe1\\xcb\\xe3\\xe3\\x6f\\x55\\x7b\\xce\\xc3\\xf4\\xbb\\x98\\xe4\\xee\\x72\\xc7\\xf1\\x0d\\xef\\x19\\xcd\\xe5\\xd2\\x5b\\xda\\x3d\\x61\\x7b\\x38\\xc3\\x02\\xb0\\x42\\x94\\x51\\x14\\xb1\\xb4\\xf4\\xa0\\x6c\\x94\\xed\\x1f\\xa4\\x64\\x83\\x0c\\x17\\x32\\x26\\xd2\\x66\\xca\\x53\\x88\\x27\\xa9\\xad\\x81\\xae\\x16\\xe7\\x95\\xc4\\x53\\x17\\x88\\x86\\x1c\\xaf\\x9b\\xa6\\x69\\x17\\x39\\xd4\\xf4\\xb3\\xb1\\x24\\x8b\\xc1\\xcd\\xae\\x7f\\xfb\\xc8\\x83\\xb7\\x15\\x2d\\x2f\\xac\\xec\\xdd\\x77\\xd4\\x8e\\xd2\\xb2\\x4e\\x45\\xa3\\x86\\x4f\\x98\\xa2\\x7e\\x0b\\xae\\x5f\\x39\\x79\\x29\\x54\\xd4\\xa1\\x28\\xd4\\x6c\\xd1\\x76\\xd8\\xee\\xc9\\x9d\\x05\\x27\\x3d\\x39\\xdd\\xca\\x8a\\x95\\x4e\\x53\\xd7\\xb5\\x1d\\x5d\\xd4\\xb6\\xb2\\x65\\x97\\xfe\\x8b\\x56\\x5f\\x33\\xa3\\xcb\\x3f\\xfc\\x54\\xbf\\xa1\\xed\\x90\\xae\\x6d\\x5b\\x36\\x73\\xfa\\x5a\\x8e\\xbe\\x83\\x9e\\x05\\xcd\\x49\\xe6\\x9e\\xc5\\x67\\xd1\\x15\\x9f\\x05\\x0f\\x6e\\xc6\\x9a\\x3e\\xe6\\x44\\x45\\x76\\xc2\\x89\\xea\\xea\\x23\\x6d\\x91\\x3f\\xe5\\xbc\\x1b\\xaf\\x9f\\xd3\\x0f\\x50\\x4e\\x41\\x1e\\x28\\x2b\\x2a\\x49\\xac\\x8e\\xaf\\x3d\\x18\\x5b\\xcb\\x2c\\xbf\\x44\\x61\\x47\\x28\\xec\\x0f\\xea\\xdb\\x15\\x35\\x09\\xfb\\x48\\x7c\\xfd\\xa6\\xdf\\x93\\x70\\xf9\\xa2\\xbe\\x43\\x8f\\x26\\xd7\\x6f\\x8e\\xe3\\x32\\xe9\\x0a\\xc0\\x92\\x11\\x91\\x07\\x10\\x7e\\xe2\\xa3\\xfa\\xb6\\xc5\\xda\\x13\\x49\\xb4\\x47\\x9f\\xe1\\xcd\\xf1\\xcf\\xd8\\xf0\\xbb\\xf6\\x4c\\x89\\xf6\\xcc\\x17\\x71\\xac\\xe2\\xbc\\x0b\\x01\\x27\\x7e\\xe6\\x30\\xdb\\x1f\\x34\\x07\\x25\\xa0\\x13\\x58\\x1e\\xed\\x91\\x91\\x99\\x59\\xe0\\xcc\\xb1\\x15\\xb5\\x07\\xc0\\x5b\\x24\\x18\\x0c\\x1d\\x9a\\x37\\x2f\\x72\\xa2\\xce\\xe5\\x82\\xd0\\xaa\\x08\\xb4\\x07\\x95\\x8a\\xb7\\x7d\\x75\\xfb\\xe9\\xed\\x19\\x31\\x03\\xeb\\xca\\x19\\xed\\x33\\xda\\x67\\xd9\\xdb\\x06\\xb3\\x82\\x95\\x4a\\x38\\x27\\x4b\\x62\\x5b\\xd9\\x5b\\x55\\x2a\\x36\\xb3\\xdd\\x4d\\x55\\x20\\xcd\\x34\\x8b\\x37\\x96\\xd3\\xe3\\x4e\\xf6\\x78\\xdc\\x29\\x51\\x0c\\xa5\\x0b\\xaf\\xb8\\x52\\xa4\\x2b\\xcd\\x5a\\x5d\\x79\\x9e\\x5e\\x84\\x9e\\xc8\\xf8\\xce\\x93\\x31\\x43\\x6a\\x4b\\xb2\\xa1\\x5c\\x1c\\x5d\\x49\\x3d\\xa7\\x30\\x8b\\xf8\\x48\\x5a\\x41\\xe6\\x05\\xa5\\x6f\\xc7\\xa8\\xf4\\x6c\\xee\\xd6\\xdb\\x6e\\x5d\\x9a\\x55\\xb4\\x79\\xdc\\xed\\xcb\\x9f\\x7a\\xe6\\xa1\\x8e\\xed\\xda\\x44\\x0c\\xa7\\xf2\\xa0\\x73\\x5f\\x8f\\x21\\x5b\\x9f\\xd9\\x71\\xad\\x65\\xb3\\x70\\xff\\xe9\\x75\\xa3\\x7a\\x31\\x73\\xf2\\x7b\\xb6\\x60\\x60\\x4b\\x43\\x37\\x78\\x96\\x79\\x64\\x77\\xdf\\x2e\\x2d\\xef\\x5b\\x31\\x6d\\xc1\\x9c\\x59\\xbb\\x1f\\xd9\\x75\\x08\\xb1\\xa5\\xa3\\xa6\\xf4\\xee\\x65\\x87\\xed\\xee\\xbd\\x57\\x3d\\xa7\\x7e\\x51\\xf0\\x7c\\xb4\\xd7\\xae\\xe9\\x6d\\x11\\x1a\\xc5\\x58\\xba\\xcc\\x1e\\xb8\\xf4\\x6e\\xba\\xef\\xd3\\xb0\\xfe\\x35\\x84\\xed\\x8f\\xf7\\xbd\\xbb\\xae\\x7f\\x55\\x6a\\xfa\\x97\\x9c\\xee\\x43\\xae\\x84\\xfe\\x45\\x73\\x86\\x29\\x7d\\xf5\\xd4\\xe8\\x71\\x3f\\xa5\\x81\\x34\\x4a\\x03\\x4f\\xd7\\xa7\\x87\\x50\\xaa\\x3e\\xd5\\x78\\xfd\\x9c\\xe9\\x1a\\x3d\\x92\\x07\\xe6\\xa4\\x65\\xa2\\x64\\x5d\\x4a\\x5b\\x7b\\x30\\xb6\\x96\\x59\\x2e\\x68\\x6b\\xd3\\xf1\\x5a\\x21\\x3b\\xad\\x89\\xb5\\x9b\\xe3\\x70\\x27\\x61\\x43\\x93\\x4a\\xb8\\x34\\x42\\x28\\x86\\x50\\x06\\x4a\\xd5\\xb9\\xb4\\x1c\\x47\\x82\\xc7\\x4f\\x1a\\xde\\x2f\\x11\\xbc\\xa1\\xc9\\x4e\\xb8\\xf2\\x13\\xf5\\x66\\x1b\\x4a\\xd5\\x89\\x1a\\xaf\\x9f\\x33\\x91\\xe2\\x42\\x1f\\x18\\x65\\xb2\\xa2\\x64\\xfd\\x4c\\x5b\\x7b\\x30\\xb6\\x96\\x59\\x6e\\xa2\\xb0\\xcd\\x14\\xf6\\xef\\xf5\\x92\\xa9\\x49\\xd8\\x9b\\xe3\\xb0\\x27\\x35\\x03\\x1a\\x47\\xc6\\xc0\\x19\\xe8\\xb1\\x59\\x50\\xb2\\xb6\\xc5\\x80\\xc1\\xf8\\x5d\\xa7\\x73\\x9f\\x03\\x3f\\xc8\\x05\\x93\\xa2\\x1d\\x80\\x57\\x72\\xb0\\xb2\\xdf\\x25\\x1b\\xfd\\x8c\\x2d\\x10\\x60\\x42\\x46\\x23\\x13\\xce\\x93\\x80\\xc3\\xcb\\xda\\x7d\\x3e\\x97\\x25\\xbd\\x42\\x01\\x16\\xc9\\x12\\xb5\\x54\\x58\\x58\\x23\\xb2\\xd8\\x2d\\xf6\\x6c\\x17\\xe0\\xb3\\x2b\\x14\\xde\\x1d\\x73\\x7d\\x69\\x2a\\xbd\\x66\\x08\\xca\\x29\\x59\\xa4\\x72\\x19\\x0d\\x39\\x51\\xe1\\x09\\xec\\x2e\\x22\\x3f\\x41\\x49\\x31\\x88\\x14\\x79\\xc2\\x54\\x8e\\x92\\x44\\xb3\\x52\\x8f\\x9e\\x82\\x4c\\x1c\\x44\\xa8\\x18\\x76\\x50\\xaf\\x5c\\x07\\xbf\\x61\\x53\\xdc\\x71\\xad\\x7f\\xbb\\xb2\\xc1\\x17\\xfa\\x1d\\x19\\xbe\\x13\\xe6\\x8e\\x89\\xfe\\x31\\xe8\\xa9\\x49\\xf3\\xee\\x98\\xfe\\xd5\\xa2\\x19\\xec\\x7f\\xd4\\x57\\xd4\\xc9\\xac\\xfa\\x8b\\xfa\\x2f\\x68\\xb8\\x70\\x09\\xf2\\xce\\xb9\\xb5\\x75\\x1b\\x06\\xf4\\xb8\\xa5\\x75\\xab\\xa9\\xeb\\xaf\\x6d\\xdc\\xf2\\xc8\\x63\\x9b\\xd5\\x13\\x0f\\xc7\\x74\\xb5\\x0a\\xca\\x63\\x2a\\x35\\x1e\\x63\\xd2\\xf6\\xdd\\x87\\x37\\x93\\xcd\\x6a\\x65\\xf5\\x24\\xed\\x3b\\xcd\\x8d\\xa4\\x67\\x34\\x50\\x3b\\xd3\\x23\\x94\\x16\\x3d\\x94\\x16\\xf7\\xd4\\x7b\\x03\\x8d\\xf4\\xa2\\xc6\\xeb\\xe7\\x8c\\xd7\\xe8\\x8b\\x3c\\x30\\xa5\\x91\\x4e\\xa7\\xad\\x3d\\x18\\x5b\\x4b\\xe5\\x2c\\x59\\xeb\\xc5\\x6b\\x41\\x9a\\xa7\\x89\\xb5\\x47\\xe2\\x6b\\x37\\x81\\x04\\x5c\\x90\\xd9\\xa2\\x89\\xb5\\x9b\\xe3\\x38\\x10\\x79\\x4c\\xe9\\xd6\\x43\\xe8\\x16\\x04\\x7c\\x29\\x9a\\x19\\xc2\\x92\\x77\\x27\\x3b\\x11\\xeb\\x65\\x24\\x8e\\x46\\x7a\\xcc\\x65\\x21\\xb3\\x19\\x18\\x0c\\x3c\\xc7\\x73\\x16\\xab\\xc1\\xb8\\x47\\x61\\x0d\\x7b\\x15\\xe2\\x36\\x86\\x60\\x8f\\xc2\\x41\\xbd\\xcf\\x5c\\x41\\x41\\xc1\\x0d\\x3d\\xe6\\x4a\\x22\\xd4\\x2d\\x4c\\xff\\x7b\\xe9\\x52\\xc3\\x4a\\x16\\x35\\x2c\\xbb\\x84\\x5e\\xfd\\xfe\\x7b\\x75\\xde\\xd7\\x5f\\xab\\x33\\xbf\\xff\\x9e\\xf2\\x52\\x2d\\xdf\\xb4\\x82\\xea\\x67\\xd9\\x40\\x89\\x16\\xb9\\x33\\x3c\\xe9\\x37\\xe8\\x67\\x39\\xb9\\x71\\xfd\\xac\\x42\\xd3\\xcf\\x90\\x64\\x95\\x90\\x0f\\xd3\\x18\\xcd\\x0b\\xa4\\xba\\xd9\\xff\\xd2\\xcc\\xf4\\xd8\\x76\\x09\\xa9\\xc0\\xa0\\x9a\\x19\\x97\\xaa\\x99\\xf1\\x34\\x5f\\xf5\\xd8\\xe2\\x21\\x63\\xaa\\x27\\x42\\x9b\\x7a\\x62\\xe1\\x80\\xda\\x61\\x75\\xea\\x67\\x66\\xf5\\xf6\\xd2\\xa9\\x0b\\x67\\xa8\\xed\\x4c\\xf0\\xee\\x92\\xe9\\x0b\\xa7\\x6a\\xe9\\xab\\x35\\x35\\xfd\\x27\\xaf\\xfd\\x81\\x24\\xb0\\x0e\\x53\\xfa\\xd7\\xde\\xf7\\xeb\\xa0\\x5e\\x6a\\xaf\\x61\\x7b\\x5f\\x1f\\x1c\\x85\\xcf\\xf5\\xdb\\x47\\xe8\\x8a\\xe4\\xe3\\xd1\\xb3\\x1f\\xae\\xd1\\xca\\x93\\xf4\\x8e\\x7a\\xe8\\x1d\\xdd\\x80\\x69\\xc5\\x95\\x6a\\x03\\x34\\x5e\\x3f\\x67\\x84\\x46\\x87\\xe4\\x81\\x3a\\x8f\\x3f\\xb1\\x3a\\xbe\\xf6\\x60\\x6c\\x6d\\x8c\\x56\\x20\\xa6\\x15\\xc8\\xa5\\x79\\x9a\\x58\\xbb\\x39\\x0e\\x57\\x3f\\x7f\\x86\\x00\\x66\\x20\\x17\\xf0\\x69\\xab\\xe3\\x7c\\x8b\\xe6\\x7a\\x51\\x3c\\x46\\x6a\\x78\\x4c\\xd6\\x60\\xbb\\x31\\xec\\x5b\\xdd\\x3e\\x93\\x1c\\xc7\\x9a\\x01\\x6b\\xf1\\xda\\x09\\x58\\x07\\x72\\x82\\x0c\\x52\\x7f\\xe2\\x87\\x0e\\x87\\xd3\\x65\\x74\\x1a\\x33\\x43\\x8e\\x80\\x25\\xad\\x42\\x11\\x2d\\x6e\\xde\\x83\\x55\\x1f\\x9e\\x84\\x9a\\x9a\\xac\\x3f\\xa1\\xba\\x98\\x83\\x94\\xf2\\xb4\\x4d\\x4a\\xd3\\x25\\xee\\x60\\x52\\xcc\\xab\\xc7\\x3e\\xd6\\x42\\x1f\\xcb\\x4e\\x7f\\xff\\xc0\\xbb\\x1f\\xbc\\x34\\xf6\\x89\\x96\\x3c\\xaf\\x7e\\xcb\\xbc\\x74\\x6a\\xfc\\xad\\xb7\\x8e\\x9d\\x3a\\x9e\\x3b\\xae\\x8e\\xdb\\xfe\\x96\\xfa\\x99\\xfa\\xbb\\xfa\\xab\\xfa\\xd1\\xf8\\xaa\\xf4\\xc7\\xd5\\x1a\\xf4\\x0e\\x9c\\xfc\\xfa\\xbe\\xbd\\x47\\x5f\\x02\\x89\\xf7\\xd9\\x1c\\x7f\\x9f\\x49\\x9c\\xfe\\xfe\\x6e\\xfa\\xfe\\x7e\\xaf\\xf6\\x46\\xf1\\xf7\\xd7\\xfc\\x26\\x75\\x71\\xbf\\xc9\\x2a\\xc0\\x40\\x33\\xbd\\x5d\\x76\\xa2\\xbe\\x8a\\x52\\x23\\xdf\\x8c\\xa6\\x73\\x54\\xc5\\xf5\\x87\\x55\\x7f\\x50\\x9e\\x50\\x4c\\x79\\xc2\\x97\\xf5\\x45\\x91\\x46\\x3a\\x4a\\x63\\xdf\\xcf\\xba\\xb8\\x2d\\x46\\x7d\\x3f\\xb2\\xaf\\x49\\xf8\\x09\\x9d\\x69\\xdd\\xc5\\x24\\x1d\\xe8\\x74\\x7d\\x49\\xc7\\xc6\\xf0\\xd5\\x5a\\x52\\x5f\\x19\\x87\\xbf\\x11\\x3e\\x85\\xef\\xb1\\x14\\x35\\x31\\x92\\x0b\\x96\\xbb\\x5c\\x90\\xb0\\xfa\\x51\\x9a\\x9f\\x70\\x12\\xde\\x9b\\xf5\\x54\\x06\\x77\\xd5\\xd7\\xe2\\xc3\\x06\\xb6\\xe7\\x01\\x73\\x7d\\x57\\x7d\\x59\\x99\\x9f\\x42\\x26\\xbe\\x12\\xd2\\xb3\\x84\\xea\\xe7\\x61\\x5d\\x3f\\xbf\\x47\\xd7\\xcf\\xb1\\x79\\x07\\x17\\xbb\\x7d\\xba\\xc3\\x24\\x86\\x03\\xad\\x9b\\xa2\\x34\\xd4\\x5d\\xa3\\xa1\\xba\\x04\\x4f\\x9d\\xe5\\x0b\\xea\\xe2\\x5d\\xa3\\x4f\\x0d\\xf6\\x8e\\x18\\x6c\\x4c\\xcb\\x4e\\x1d\\x36\\xb6\\x4d\\xa1\\x21\\xe8\\x6e\\x12\\xf6\\xc1\\x18\\xec\\x38\\xed\\xfb\\x09\\xed\\x67\\xf8\\x9a\\x80\\x3d\\x32\\x0e\\x7b\\x3d\\x48\\x07\\xeb\\xe3\\x78\\xcb\\x6e\\x6f\\x93\\xb0\\x5f\\x8b\\xc3\\x5e\\xef\\x4c\\xe0\\xed\\xf3\\x05\\xfe\\x2b\\xde\\x2b\\x80\\x3d\\x69\\x4f\\x38\\x6f\\xfa\\xff\\xc0\\x7b\\xc5\\xb5\\x04\\x6c\\x18\\x08\\xa5\\xc0\\xa6\\x3d\\x58\\x28\\xec\\x3c\\x0d\\xf6\\xf5\\x33\\x9a\\x3f\\xc0\\x4e\\xfd\\x01\\xc7\\xea\\x1d\\x3e\\x36\\x41\\x25\\x08\\x04\\x31\\xec\\xf7\\x68\\xbe\\x42\\x0e\\xd6\\x49\\xfb\\x44\\xc3\\xb9\\x8e\\xfc\\xfc\\x16\\xe9\\x26\\x0f\\x92\\x65\\x87\\xc9\\x51\\xd0\\xa2\\x79\\x34\\x0f\\xc8\\xb4\\x24\\x4c\\xfc\\xab\\x92\\xb0\\x72\\xff\\x89\\xd4\\x46\\x07\\x34\\x0c\\x95\\x28\\x0d\\x2b\\xd1\\x32\\xd1\\x63\\x95\\x61\\x89\\x64\\xf4\\xce\\x10\\x96\\x38\\x22\\x2e\\xc4\\x2c\\x26\\x05\\x62\\x77\\x0d\\x7e\\xf8\\xc0\\xc1\\x4d\\x7f\\x1f\\xca\\xe0\\xab\\x62\\x50\\x2f\\x36\\xef\\xd5\\xaa\\x67\\x65\\x45\\x8f\\x96\\x7d\\x0a\\xe0\\xf0\\xb4\\x6f\\xe7\\x6b\\x55\\x62\\xc5\\x57\\xb1\\x81\\xdf\\xea\\xe5\\x78\\x8d\\xd8\\x9c\\xad\\x83\\x5f\\xdb\\xb7\\xe3\\xcd\\x91\\x4f\\x33\\x2f\\x86\\xe0\\x4d\\xb9\\xea\\x6b\\x64\\x0f\\x74\\x7f\\x8f\\xcc\\x83\\x07\\xa9\\xcd\\x47\\xe4\\xc4\\xf3\\xf8\\x1d\\x33\\xf0\\x1b\\xce\\x8a\\x16\\xf9\\x33\\x45\\x83\\x37\\x13\\x05\\xc3\\x62\\x10\\xa6\\x89\\x69\\x05\\x2d\\xa0\\xcf\\xef\\xab\\x54\\xd2\\xfd\\x7e\\x39\\x08\\x64\\xac\\x7b\\xb8\\x81\\x2c\\xc9\\x99\\xf2\\x3e\\xf9\\x15\\xf9\\x94\\xcc\\x4b\\x88\\xfa\\x35\\x6d\\x46\\x4b\\x4f\\x59\\xb2\\xe4\\x57\\x28\\x06\\x8b\\x9b\\x8d\\x6f\\x40\\x01\\xf5\\x0a\\x69\\x31\\xba\\x46\\x2d\\x10\\x49\\x3e\\x11\\xb5\\xcd\\xb2\\x49\\x72\\x74\\xea\\x6e\\x90\\x42\\x39\\x2d\\x95\\xc8\\x15\\x81\\x09\\x05\\x85\\x7d\\x7e\\xa9\\x41\\xbd\\xa2\\x55\\xcb\\x1d\\x3c\\x7e\\xe2\\x65\\xad\\xa8\\xe0\\x3c\\xf4\\x43\\xdf\\x52\\xb5\\x6e\\xf2\\xc4\\x09\\xe3\\xde\\x1e\\x3f\\x83\\xdd\\x78\\xad\\x62\\xdc\\x0a\\x6d\\x3f\\x42\\x2a\\xe4\\x61\\xa0\\x66\\xf4\\xfb\\xa3\\x76\\x2c\\x5f\\x7e\\xed\\xc4\\xf6\\x03\\x7b\\x0f\\xa8\\x5b\\x8f\\xc4\\x7d\\x7d\\x75\\x71\\xdf\\xe0\\x2a\\x20\\x63\\x5e\\x84\\xa5\\x88\\x8d\\xda\\xf6\\xbf\\xd5\\x5b\\xac\\xe0\\x46\\x1d\\xb5\\x2a\\xae\\xcf\\xae\\x62\\x34\\xbd\\x20\\x83\\xb0\\xba\\xb4\\x74\\x74\\xa3\\x1f\\x31\\xe1\\x77\\x5c\\x17\\xf3\\x3b\\x5a\\x74\\xbf\\xa3\\xe8\\x6e\\x02\\x76\\x42\\x57\\x5e\\xc7\\x26\\xf4\\x6a\\x94\\x99\\xd7\\x04\\xec\\x91\\x71\\xd8\\xeb\\x31\\xec\\xf5\\xc9\\xb0\\x2d\\xb6\\x26\\x60\\x1f\\x8b\\xc3\\x5e\\xcf\\xf0\\x71\\xd8\\x4c\\x5a\\x46\\x2a\\x6c\\xcc\\xb3\\x16\\x50\\xfe\\x96\\xaf\\xf3\\xac\\x3e\\x1a\\xcf\\x82\\x98\\x67\\x39\\x1c\\x26\\x93\\xce\\xb3\\xc6\\xe1\\x75\\xb7\\x50\\xde\\xa6\\xc1\\xdc\\xd8\\x59\\xe3\\x6c\\xea\\x2b\\xf5\\x39\\x39\\x0e\\x87\\x66\\x60\\x34\\xb1\\x0f\\x2b\\x30\\xb7\\x4c\\xda\\x87\\x2b\\xf5\\x36\\xe7\\x7f\\xdd\\x87\\x15\\x7f\\x24\\xd9\\x23\\x7f\\xd4\\x67\\xe4\\x36\\xb2\\x47\\x68\\x5f\\x1f\\x0a\\xbf\\x79\\x23\\xff\\x49\\x10\\x7f\\x80\\x29\\x14\\x68\\xc4\\xef\\x69\\xad\\x1f\\x85\\xdf\\x5b\\xe3\\x6f\\xbf\\x51\\xf8\\xad\\x29\\xfc\\x9f\\xea\\x4b\\x0a\\xe5\\xb4\\xff\\x0a\\x7f\\x1d\\xe6\\x07\\x1a\\xfc\\x00\\x86\\x6f\\x4d\\xcf\\xfd\\x1f\\xf0\\xd7\\x69\\xf0\\x0b\\x29\\xfc\\xff\\xd4\\x17\\x95\\x35\\x09\\x7f\\x64\\x1c\\xfe\\x7a\\xac\\x8d\\xad\\x8f\\xc3\\x77\\x06\\xd2\\x9a\\x84\\xff\\x5a\\x1c\\xfe\\xfa\\x64\\xf8\\x3f\\xd5\\x17\\xb6\\x69\\x0c\\x5f\\xed\\x40\\xfa\\x1e\\xe9\\xf0\\x79\\xc3\\x39\\xcd\\x0a\\x64\\x03\\xe9\\x3a\\xe0\\x18\\x4c\\x3e\\x3d\\x06\\xd3\\xf0\\xdd\\x75\\x0a\\xb3\\x0d\\x85\\xa9\\xd6\\x17\\x35\\xde\\x13\\xda\\xa3\\x88\\xee\\x49\\x41\\xd3\\xfe\\x68\\xd6\\x94\\xe2\\x4f\\xa2\\xf5\\x87\\xfc\\x0e\\xda\\x9b\\xa4\\x53\\x34\\xa4\\x57\\x20\\x7a\\xd3\\xec\\x6c\\x28\\x2b\\x2d\\xe3\\xbe\\x2a\\x5f\\x1a\\x27\\xa3\\x26\\x6b\\x11\\xb5\\xca\\x64\\xcf\\xff\\x2c\\x47\\x74\\x65\\xe7\\x65\\x0b\\xd9\\x25\\xb9\\x91\\x1b\\x0b\\x13\\x99\\xd2\\x27\\xde\\x65\\x3f\\xd8\\x02\\x99\\x73\\x37\\x94\\x28\\x76\\x53\\xff\\x33\\x75\\x22\\xd3\\x2f\\xb8\\x6c\\x59\\xf0\\x4f\\x82\\x27\\x89\\x0b\\xbe\\xc3\\x75\\xc3\\xba\\xb2\\x07\\x0c\\x8b\\x06\\x3c\\x66\\x84\\x0c\\x02\\xeb\\xb4\\x00\\x20\\x89\\x0e\\xd6\\xe1\\xf5\\x79\\x98\\x31\\x8a\\x5b\\xe6\\x05\\xfe\\x30\\x34\\x47\\x6d\\x8a\\x68\\x16\\x48\\x7b\\x69\\xab\\x31\\xd1\\x81\\x89\\xa4\\x26\\xea\\x9d\\xec\\xe2\\x29\\xa1\\x7a\\x96\\x92\\xa6\\x8c\\x69\\x5d\\x98\\x48\\xee\\x2a\\x4d\\x95\\x74\\x11\\x2f\\x38\\x51\\xe3\\xb5\\xbe\\x4c\\x2b\\x56\\x68\\x9d\\x99\\x96\\x2f\\x57\\x3f\\x55\\x1f\\x21\\xfd\\x99\\xd0\\x8f\\xdb\\xf7\\xe3\\x7f\\xb6\\x5f\\x73\\xa2\\xa2\\x23\\x47\\x34\\xdf\\xae\\x51\\xaf\\xe7\\x4c\\x07\\xa3\\xa3\\xc5\\x3e\\x43\\xc0\\xab\\x6d\\x68\\xa6\\xcb\\x69\\xb7\\x67\\x64\\x06\\x1c\\x4e\\x47\\xa5\\xe2\\x75\\x92\\xbd\\xc4\\xc4\\x8a\\x48\\x78\\x7c\\x06\\x5a\\x8c\\x38\\x27\\x72\\x12\\xb9\\x44\\x36\\x1a\\x6f\\x6d\\x2c\\xc1\\xb3\\x51\\xc0\\x56\\x8e\\xe9\\x8d\\x94\\x2b\\xdf\\xb8\\xdd\\x3a\\xe6\\x24\\xd3\\xb6\\x71\\x15\\xe8\\xb2\\x65\\xd0\\x07\\x5b\\xa8\\x1f\\x1a\\x50\\x7b\\xba\\xd1\\x0b\\x98\\x6e\\x74\\xa3\\xcf\\xb1\\x1b\\x31\\xe3\\xdd\\xb1\\x7a\\xea\\xc4\\x26\\x62\\x19\\x9a\\xef\\x3b\\xce\\x0f\\xae\\xd7\\xbb\\x42\\xe0\\x46\\x5b\\xfc\\x48\\xdc\\x16\\xdf\\x04\\x93\\xec\\xfc\\xcb\\xf5\\x8e\\x0c\\xd4\\x54\\xec\\xa3\\x2e\\x0e\\x3f\\xae\\x5f\\x52\\xa6\\x0e\\x31\\x47\\x6f\\xca\\x76\\xaf\\x8a\\xc3\\x5f\\x65\\xa0\\xf0\\x2d\\x14\\xfe\\xd7\\xf5\\x26\\x33\\x6f\\xfc\\xaf\\xb1\\x98\\x46\\x7c\\xfd\\x3a\\xe1\\xeb\\xff\\xcd\\x97\\xb0\\xce\\x99\\xf0\\x3b\\x40\\xab\\x33\\xc5\\xef\\xb0\\x09\\xf3\\xd4\\x36\\x94\\xf7\\xb6\\xd0\\x78\\xaa\\x95\\xde\\x55\\x8b\\x18\\xd0\\x41\\x12\\x78\\x78\\xcd\\xed\\xdc\\x71\\xbc\\xa6\\xaf\\xb6\\xa6\\x1d\\x59\\xc3\\xe4\\xda\\xd3\\x50\\x7c\\x8d\\x86\\xe3\\xc8\\x38\\x8e\\x9a\\x7c\\x88\\xc5\\x97\\x80\\xc5\\x96\\xbc\\x07\\xb1\\x7a\\x51\\x5a\\xcb\\xd1\\xb8\\x5e\\xf4\\xc6\\xa2\\xdc\\xff\\x9f\\x7a\\x51\\xe6\\xa8\\x56\\x57\\xdd\\x0b\\xf3\\xb6\\xe5\\x74\\x56\\x88\\x13\\xdc\\x1c\\xcd\\x21\\x55\\xc7\\x50\\x14\\x65\\xd2\\x29\\x05\\x13\\x95\\x54\\xad\\x00\\x3b\\x62\\xcd\\xd5\\xca\\x22\\xc3\\x5a\\x03\\x63\\x30\\xb0\\x0e\\x86\\xf8\\x93\\x63\\x45\\x68\\x05\\x29\\xed\\xbe\\xb5\\xde\\x62\\xf6\\x50\\x72\\xeb\\xaf\\x6c\\xfc\\xe9\\x52\\x2f\\x18\\x54\\xcf\\x32\\x6f\\xed\\xde\\x6f\\x87\\x06\\x73\\x61\\x71\\xab\\x1c\\x95\\x09\\x72\\xdd\\xfe\\x7c\\xc1\\xf9\\xec\\x3b\\xe1\\xba\\x21\\xa3\\xa7\\x32\\xaf\\x7c\\x7b\\x6d\\xbe\\xda\\x8a\\xe4\\xe2\\xed\\xc4\\x7b\\x97\\x46\\x6b\\x33\\x04\\x7c\\xc3\\x03\\xa0\\x57\\x34\\xd7\\xe7\\x96\\xdc\\x4c\\x1a\\x8f\\x10\\xc7\\xf8\\x3d\\x8c\\x27\\x98\\xc6\\x7a\\x7d\\xde\\x41\\x0a\\xe7\\x03\\x8c\\x5b\\xb4\\xc8\\x03\\x15\\x4b\\x80\\x16\\x9d\\x53\\x8c\\xca\\x6f\\x08\\x6d\\xc5\\x30\\x23\\xdd\\xf9\\x48\\x79\\x30\\x6c\\x54\\x34\\x4c\\x7f\\xf7\\x3a\\xe1\\x43\\xe4\\x0f\\x33\\x22\\x51\\x3c\\x0c\\xfd\\xe4\\x37\\x6c\\xfb\\xd7\\xdf\\x7b\\xef\\xcf\\x5f\\xe3\\x05\\xc4\\x6c\\x6b\\x5a\\x3f\\x8c\\xcf\\xb0\\x0e\\xef\\xdd\\x00\\x4a\\x67\\x2d\\x75\\x1e\\x3b\\x2f\\x29\\x2e\\xb0\\xe7\\x86\\xb8\\xc0\\x01\\xfc\\x6e\\x9d\\x09\\x9d\\x19\\xbe\\xd7\\xe4\\xda\\x04\\x8d\\xce\\x1c\\x98\\xce\\x9e\\xf6\\xca\\x42\\xb2\\xcf\\x62\\x05\\x96\\x09\\x9a\\x0d\\xd3\\x2a\\x2e\\x13\\xa8\\x84\\x7f\\xae\\xde\\x22\\xb2\\xe6\\xb8\\xec\\xde\\x8d\\xd7\\x3d\\x44\\x69\\xad\\x7f\\xea\\xba\\x57\\x92\\xd6\\xc5\\x6a\\x9d\\x69\\x4d\\x56\\xa7\\x68\\x06\\x34\\x19\\x10\\xad\\x73\\x36\\x02\\x33\\x6b\\xb6\\x58\\x69\\xa9\\xb3\\xc1\\x60\\xe4\\xc4\\xa4\\x52\\xe7\\x88\\x36\\x99\\x21\\x91\\x5f\\x46\\x7d\\x08\\xff\\xbd\\xd0\\xf9\\xe3\\xc1\\xea\\x9d\\x6c\\x7b\\xd2\\x72\\x4c\\xed\\xde\\xb0\\x98\\xe0\\x47\\xfb\\xa9\\xf1\\xdb\\x30\\x7e\\x85\\x9a\\xdd\\x74\\x7d\\x33\\xf8\\x85\\xdc\\x45\\x9e\\xde\\xc5\\x59\\xf5\\xbc\\x11\\xb0\\x49\\xf6\\x34\\xa5\\x73\\x2c\\x87\\x8c\\x40\\x04\\xdd\\xa2\\x59\\x56\\x93\\x49\\xe0\\x58\\x96\\x23\\xdd\\x36\\x39\\x4e\\xb2\\x5b\\x16\\x8b\\x1c\\xa5\\x7a\\xd4\\x54\\x29\\xba\\xa6\\xbf\\x13\\x5c\\x31\\x87\\x2f\\x94\\xcb\\x8a\\x0a\\x1b\\x95\\xa4\\x93\\x44\\xae\\x94\\xa2\\xf4\\x8f\\x69\\x52\\x17\\xbe\\x0f\\xe8\\xed\\xa3\\x03\\x69\\x66\\x17\\xc1\\x19\\xef\\x69\\x2d\\xdd\\xfb\\x42\\x6d\\x4f\\x4d\\xfa\\x9e\\x9e\\x4a\\x60\\xab\\xdd\\xf3\\x0e\\xfa\\x3d\\x1f\\x90\\xba\\xf7\\xdf\\xd5\\xc7\\xbd\\x95\\xf1\\x3d\\x88\\xc3\\x13\\x0c\\xe7\\x60\\x94\\xdb\\x06\\x9c\\x07\\xa0\\x01\\xc1\\xc3\\x90\\x4b\\x00\\xd5\\x73\\x57\\x48\\x0d\\xf7\\x7e\\x0d\\xee\\x7b\\x64\\xfd\\xb7\\xd8\\x7e\\xd5\\x20\\xc3\\x17\\xe3\\x90\\x6f\\x84\\x8b\\x79\\xc8\\x91\\x86\\xc1\\x84\\x1b\\x2d\\xe3\\x0d\\x31\\x34\\x63\\xfc\\xed\\xa1\\x38\\x9e\\x78\\x1d\\xdc\\xa2\\xad\\x1b\\x63\\xc2\\x6f\\xa6\\xaf\\xd3\\xfb\\x12\\x4d\\xa1\\x31\\xa5\\x7e\\xd1\\x3c\\x24\\x08\\xc0\\x64\\x32\\xda\\x44\\x33\\x6f\\xe1\\x38\\xbc\\xdd\\x56\\xab\\xc5\\x12\\x35\\x8a\\x3d\\x59\\x0b\\x6b\\x81\\xf8\\x58\\xaa\\x15\\x93\\x0c\\xe3\\x33\\x84\\x68\\xfa\\xb2\\x76\\xd9\\x8a\\xb4\\x0c\\xfa\\x44\\x79\\xa7\\x83\\x14\\xf3\\x7a\\x38\\x9a\\xa5\\x20\\xe4\\x7d\\x09\\xf3\\x7e\\x1d\\xa9\\xee\\x61\\x26\\x5e\\x9b\\xb9\\xb0\\x86\\x79\\x80\\xa9\\x6f\\x38\\xb7\\xf8\\xe0\\x7e\\x75\\xcb\\x59\\xb8\\x33\\x7a\\x10\\x24\\xd7\\xc6\\xdb\\xb1\\x84\\x2f\\xe2\\x00\\x6b\\xb0\\xb2\\xc8\\x68\\x94\\x1d\\xc0\\x8a\\x4c\\x2c\\x24\\x75\\x4a\\x03\\x68\\xf7\\x5a\\xce\\x88\\xcc\\xd0\\x0c\\x05\\x89\\xb6\\x0a\\x00\\xa4\\x03\\x62\\x85\\x22\\xb8\\x9a\\x2a\\x5a\\xd1\\x1d\\xae\\xb1\\x36\\x05\\x50\\x47\\xa7\\x84\\x20\\x94\\xab\\xb1\\xc7\\x0f\\x06\\xa9\\x9f\\x69\\x94\\xf1\\x8f\\x21\\x98\\x17\\x60\\xea\\x40\\xcf\\xcd\\xdf\\xb0\\xbd\\xe1\\xfd\\xa3\\x47\\xe1\\xea\\x19\\xeb\\xb7\\xc0\\x3f\\x8e\\xc6\\xe3\\xda\\xdb\\x62\\x71\\x6d\\x8c\\xeb\\x02\\x4c\\xcf\\x31\\xd9\\x75\\x97\\xcd\\xde\\x28\\xae\\xad\\xf9\\x56\\x9f\\xd5\\x7d\\xab\\x64\\xfd\\x4a\\x90\\xb0\\x7a\\xef\\xf5\\x05\\x13\\xde\\x55\\x6d\\x3d\\xa6\\xa9\\xee\\xf4\\x4c\\xdb\\x68\\x34\\xf5\\x6f\\x9d\\xa6\\x3e\\xaf\\x8f\\xc3\\x8e\\xad\\xab\\x60\\x07\\xc4\\x7c\\xb6\\x86\\x73\\xe7\\xf4\\x75\\x9f\\xd5\\xc7\\x61\\x36\\x15\\x87\\x5f\\x71\\xfd\\x9a\\x26\\x0b\\x35\\xfb\\xe9\\x5a\\xbd\\xe4\\xe6\\x2c\\x8d\\xec\\xee\\x0a\\x2a\\x0b\\x35\\x5f\\x30\\xc9\\xec\\xc5\\xab\\x7d\\x54\\xd6\\x5e\\xad\\x0f\\x84\\x92\\xf1\\xd5\\xf3\\x60\\xb6\\x72\\xdd\\x81\\x17\\x6b\\x3a\\x3d\\xa2\\xd9\\x81\\x60\\x30\\xdd\\xe7\\x33\\x02\\xaf\\xd7\\x48\\x0a\\xf7\\x8d\\x99\\x19\\xbe\\x68\\x00\\xd9\\x59\\x27\\x3b\\x50\\x71\\x36\\xaa\\xdc\\x4f\\xbe\\xaf\\xf6\\xb2\\xa4\\x04\\xf1\\x26\\xaa\\xf8\\x69\\x7b\\x73\\xac\\x84\\x39\\xb0\\x16\\x86\\x56\\xf6\\x1c\\x30\\x62\\x6e\\xbc\\x96\\x7f\\xea\\xe7\\x1b\\xb6\\x5e\\xad\\x56\\x20\\x3c\\xc8\\x4c\\x5e\\x73\\xf7\\x81\\xa5\\x89\\x82\\xfe\\x1f\\x3f\\x3c\\xde\\x50\\x89\\xce\\xe8\\x06\\x35\\x04\\x33\\xa9\\x4f\\x5f\\x01\\xd9\\xa0\\x4f\\xb4\\x19\\x8b\\x90\\xc9\\x47\\xca\\xea\\x43\\xce\\x50\\x4e\\xae\\x2f\\x2d\\xcd\\x56\\xad\\xa4\\xb1\\x6e\\xe4\\x94\\x81\\x50\\xa3\\x48\\x2c\\xe9\\x6e\\x89\\x52\\xba\\x5b\\xde\\x50\\x37\\xac\\xe5\\x4d\\x72\\x89\\x62\\x10\\xbb\\x56\\x4e\\xef\\xa2\\xc3\\xb9\\xdc\\x7a\\x87\\x04\\x1f\\x94\\x18\\xc4\\x2f\\x78\\x3c\\xef\\xb4\\x94\\x97\\x55\\x98\\xd7\\x7d\\x64\\xf9\\x92\\xfe\\xea\\xa7\\x2c\\xcc\\x34\\xb3\\xc5\\x27\\xa6\\x1f\\xd8\\xb5\\xdf\\x39\\x77\\x79\\xd7\\xf6\\xcd\\xe7\\x3f\\x0e\\x67\\x6f\\x5f\\xb8\\xf0\\xcd\\xa9\\x0d\\x1d\\x58\\x03\\xec\\x34\\x7f\\xc9\\xfc\\x47\\x7f\\x52\\xaf\\xab\\x0f\\xa8\\xbf\\xa9\\x24\\xa3\\x6e\\x39\\x96\\x1d\\xa4\\x6e\\x3c\\x04\\xda\\x45\\xd3\\x43\\x1e\\x49\\x10\\x0c\\x06\\x4f\\x10\\x65\\x67\\xf9\\xd3\\x07\\x29\\xfe\\x80\\xe4\\x74\\x22\\xb2\\xc3\\x16\\xd1\\x10\\xaf\\x5a\\x4f\\x74\\x0d\\xd4\\x15\\xf3\\xbf\\xe8\\x8d\\xa0\\x85\\x5c\\x3d\\x18\\xff\\xa6\\xba\\x24\\x3c\\xb0\\x66\\x5c\\xf7\\x48\\xef\\xe2\\xa6\\x9a\\x25\\x5c\\x3b\\xbd\\x76\\xbd\\xf1\\x4d\\xb6\\x4b\\x4d\\x3c\\xff\\xa1\\x2e\\x9e\\x2f\\x91\\xf0\\x19\\x7a\\x89\\xcf\\xd0\\xed\\x69\\x32\\x2e\\x50\\x15\\xf7\\xdf\\xc7\\xec\\x74\\x1f\\x0d\\xc7\\x78\\x9b\\xc8\\xf5\\x48\\xe4\\x62\\x24\\xfc\\x85\\x34\\x17\\xc3\\x97\\xd9\\x24\\xec\\x44\\x1c\\x61\\x5d\\x72\\x6c\\xc0\\x1f\\xba\\x01\\xf6\\xda\\x24\\xd8\\x9b\\x61\\x4b\\x0c\\x3b\\x91\\xb7\\x31\\xd7\\x93\\xc9\\x37\\xce\\x2b\\x23\\xf0\\x9f\\x8c\\xc3\\x27\\xcf\\x44\\x53\\x22\\x0a\\xab\\xbc\\xa1\\x46\\xb9\\x1e\\x0c\\x48\\xbf\\x7e\\x95\\x7d\\x81\\xeb\\x83\\xc9\\x29\\x1d\\x4c\\x8f\\xde\\x1c\\x64\\xad\\x76\\xbb\\xdb\\x61\\x16\\xdd\\x2c\\x97\\x91\\x69\\x95\\x6a\\x95\\x72\\x2b\\x2c\\xb7\\x0e\\xa0\\x43\\xca\\x58\\xbf\\x15\\x22\\xd1\\x8a\\x2d\\x35\\xab\\x15\\x18\\x8d\\x96\\x5a\\xc5\\x88\\x04\\x5f\\xad\\x22\\x20\\xe8\\xac\\x25\\x0d\\xd1\\xec\\xb5\\x89\\x7e\\xbf\\x89\\xbe\\x28\\x89\\xbe\\xbf\\x33\\x53\\x0f\\x3e\\x24\\xe8\\x23\\x58\\x3c\\x89\\x7c\\xb1\\xdc\\xa2\\x52\\xbb\\x9e\\x5a\\xcf\\x0c\\xeb\\x7f\\xfd\\xc7\\x8b\\x10\\x84\\x23\\x4c\\x2b\\xf5\\x2d\\x3a\\xc3\\xa2\\xb6\\x61\\x40\\xbb\\x60\\xb8\\xe5\\xc2\\xc9\\x33\\x39\\x38\\x10\\x8e\\x84\\xa3\\x61\\x57\\x5e\\xcf\\x1e\\x3b\\xca\\xa3\\x97\\xf8\\xf3\\xbf\\xff\\xf9\\x7f\\x5a\\x1c\\x98\\xf8\\xdd\\xea\\xd9\\xfe\\xb4\\x06\\xaf\\x25\\x98\\x1b\\xed\\x94\\x65\\x77\\x5b\\x82\\xd8\\x8e\\x0d\\x06\\xed\\x05\\x05\\x01\\x5e\\x10\\x02\\xf6\\x40\\xab\\x42\\x9e\\xb7\\x39\\x9b\\x83\\x4a\\x45\\x6c\\x9e\\xd1\\x9c\\x91\\x50\\xf3\\xe6\\x36\\x67\\x7e\\x86\\x33\\xa3\\x42\\xf1\\xba\\x9d\\x12\\xca\\xb5\\xe5\\x56\\x28\\x16\\x93\\xad\\xa9\\xe8\\xef\\x5f\\x0c\\x09\\xb0\\xcb\\x89\\xd4\\x01\\xbd\\xf1\\xb3\\x1e\\xf6\\xcd\\x8b\\x37\\xf0\\xf1\\xb4\\x8d\\x64\\xda\\x5d\\xb9\\x49\\x25\\x04\\x30\\x8b\\xc6\\x79\\xbf\\xe8\\xdf\\x3d\\x52\\x6c\\x7b\\x36\\xeb\\xf1\\xc9\\xcf\\x55\\x0e\\x3a\\xb4\\x69\\xfb\\xce\\x27\\x5f\\x18\\x30\\x64\\x0f\\x2c\\x6f\\x18\\xd6\\xb3\\x7f\\xaf\\xf2\\xf2\\x9b\\x07\\xf6\\x86\\x63\\x96\\xf3\\xd0\\x60\\x68\\x0b\\xcf\\x3e\\xb4\\xed\\x26\\x12\\xd9\\x3d\\x74\\x08\\x86\\xa0\\x1d\\x7a\\xa0\\x6f\\xff\\xfe\\x86\\x57\\x0b\\xda\\xbf\\x74\\xe8\\xf9\\x17\\x5e\\x3c\\xf2\\x0a\\xd3\\x5c\\xbd\\x6f\\x56\\xcc\\x87\\xf2\\x2e\\x95\\x0b\\x25\\x3a\\x9f\\xef\\xa9\\xc9\\x05\\x4a\\xa3\\x16\\xb7\\x8f\\xb5\\xa6\\xd0\\x28\\xed\\x3d\\x41\\xe5\\xc2\\x10\\xcd\\x3f\\xac\\x68\\x52\\xc1\\x85\\x19\\x6d\\x0f\\x97\\xd7\\x0c\\x52\\xfc\\x3d\\x1d\\x48\\x7f\\x45\\x1d\\x36\\xe6\\xf5\\x0d\\xba\\x87\\xfa\\x40\\x7d\\x1c\\x2e\\x59\\xf7\\x37\\xbc\\xae\\x8c\\xfa\\x7b\\x86\\x68\\x7a\\x86\\x7a\\x45\\xd7\\x1b\\xd4\\xd3\\xf5\\x31\\x98\\x71\\x5c\\x77\\xc4\\x70\\xc5\\x32\\xe1\\x62\\x72\\xae\\xd5\\xce\\x7a\\x6f\\x7a\\x02\\xdb\\x38\\xae\\x07\\x63\\xb8\\x32\\x2b\\x9c\\x54\\x26\\xb8\\x74\\x99\\xe0\\x49\\x33\\xa7\\xde\\x3f\\xda\\x93\\x93\\xee\\x45\\x5b\\x7d\\x2f\\xe6\\xe9\\x32\\xb2\\x19\\x16\\x3a\\xf7\\x35\\x6b\\xd1\\xe8\\xbe\\xd2\\x9e\\x18\\x74\\x2f\\x86\\x6a\\x7b\\x31\\x54\\xdb\\x8b\\x66\\xf8\\x03\\xaa\\x9b\\xa5\\xc6\\xf2\\x34\\xd8\\x3b\\x62\\xb0\\xb1\\xce\\xcd\\xea\\x3a\\x77\\x73\\x0c\\xdb\\x5e\\xd8\\xac\\x49\\xd8\\x07\\x63\\xb0\\x99\\xe5\\xa2\\x06\\xbb\\xb9\\xbd\\xd1\\x6a\\x1a\\x27\\xb9\\x99\\xf4\\x12\\x8d\\xe3\\xbd\\x00\\xf6\\xd5\\x3c\\x31\\xae\\x56\\xb1\\x85\\x1a\\x4c\\xbc\\x4e\\x93\\xbd\\x43\\xf5\\x75\\x43\\xb5\\x75\\xce\\xd4\\x75\\x8d\\x71\\x5d\\x11\\xf7\\xc1\\x90\\x7d\\xb0\\x16\\xb4\\xf9\\x1f\\xb8\\xae\\xe0\\x12\\xfb\\x20\\x24\\xaf\\xc6\\x6b\\x3b\\xe1\\xb3\\xbe\\x9f\\xd2\\x44\\xa9\\x46\\x13\\xff\\xd4\\xe5\\xff\\xfb\\xf5\\x06\\x33\\xcb\\xc7\\x69\\x62\\x2b\\x5e\\x67\\xe6\\x06\\xe3\\x75\\xc3\\xb4\\x75\\x1c\\xc5\\x54\\xf4\\x05\\xa1\\x14\\xb3\\x45\\x69\\xcf\\x51\\x8a\\x67\\x69\\x23\\x3c\\x0d\\xc4\\x16\\x35\\x49\\x6c\\xaa\\x1f\\xbf\\xf8\\xfa\\x4f\\xc4\\xd7\\x4e\\x60\\x3e\\xa4\\xe9\\xa7\\xaf\\x25\\x69\\x09\\x4c\\x59\\x7d\\x1c\\x38\\x79\\x02\\x82\\xce\\x7a\\x4f\\x53\\x11\\x74\\x8f\\x66\\x1b\\xad\\x56\\x9e\\xb1\\xd9\\x20\\xb6\\x5f\\x79\\x5e\\xb2\\x03\\x0b\\x69\\x28\\xcd\\x1a\\x8c\\x06\\xcc\\xd9\\x8c\\x46\\xce\\xaa\\x35\\x11\\x8f\\x79\\xa1\\x53\\xeb\\xc8\\xe2\\x5d\\xe9\\x69\\x62\\x62\\x48\\xcb\\x55\\xa4\\xbd\\x4f\\xcf\\x9e\\x55\\x3f\\x3d\\x73\\x46\\x9d\\xcc\\x0e\\x64\\x6b\\xd4\\x6d\\x47\\x1b\\x9e\\x63\\x7a\\x1f\\x85\\xca\\xd9\\xb3\\x54\\x9f\\xdc\\x8b\\xf1\\xf5\\x71\\x83\\x41\\x26\\xa8\\x8b\\x16\\x8b\\x66\\xb3\\xcf\\x66\\x92\\xe5\\x4c\\x86\\xcc\\xc9\\xf0\\x65\\x86\\xb2\\xec\\xb4\\x45\\x89\\x0d\\x0b\\x2c\\x37\\x62\\x18\\x37\\x1f\\x74\\x57\\x28\\x41\\xb7\\x95\\xe3\\xb9\\x0a\\xc5\\xc4\\x1b\\x0c\\x7c\\xe3\\xc6\\x25\\x4d\\x24\\x51\\x26\\xea\\xdb\\x62\\xfd\\x4c\\x4a\\xe2\\x3d\\x4d\\x34\\x4f\\x4c\\x6a\\x5f\\x93\\xc1\\x4f\\x3f\\xfd\\xb4\\xde\\xd9\\xa4\\x51\\x77\\x13\\xf8\\xe3\\xd1\\xf7\\xb5\\xfe\\x26\\xef\\x1f\\x5d\\x92\\xd4\\xe0\\xa4\\x89\\x3c\\xb4\\x44\\x4e\\x25\\xc9\\x5b\\x03\\x81\\xbc\\x46\\xf6\\xa6\\x16\\xf7\\x3c\\x12\\x8f\\x91\\x12\\xbf\\x4c\\x2c\\x9e\\xca\\x65\\xb6\\x48\\x89\\x91\\x6a\\xb0\\xeb\\xe2\\xb0\\x13\\x3e\\x19\\x27\\xf1\\xc9\\xc8\\x8e\\x26\\x61\\x57\\xc5\\x61\\xeb\\xf2\\x9b\\x92\\x00\\xef\\xf1\\x36\\x01\\x3b\\x81\\x77\\x5c\\x7e\\x6b\\x78\\xbb\\x82\\x4d\\xc2\\x4e\\xc4\\x76\\x75\\xf9\\x4d\\xf1\\x66\\xfd\\xa1\\xff\\x0a\\x7b\\x03\\x5e\\xbb\\x19\\x74\\x7c\\x96\\x81\\x4d\\xe5\\x78\\xbb\\xe2\\x39\\xde\\x00\\xff\\x86\\x49\\xe4\\xee\\x95\\x90\\xfa\\x81\\x58\\x76\\x77\\x1c\\x07\\x9a\\x13\\xa5\\xe1\\xb0\\x21\\x16\\x33\\xf6\\x13\\x05\\x85\\x8d\\x45\\x98\\xe3\\x31\\x53\\x82\\xc7\\xa4\\x24\\x3c\\x36\\x43\\x83\\xa6\\x47\\xe8\\x39\\x7f\\x03\\x1d\\xc1\\x1b\\x72\\xfe\\xc8\\x67\\x4c\\x88\\xbf\\x27\\x79\\x86\\x4b\\x89\\x4c\\x0f\\xf6\\x86\\x92\\x3f\\x45\\xcb\\x2d\\xc4\\x7a\\x60\\x5f\\x7a\\xef\\xdb\\x69\\xbe\\xa5\\x0e\\xf4\\x3e\\xb7\\x77\\x85\\xf4\\x4d\\xa4\\xb6\\xc1\\x30\\xb6\\x17\\xdb\\x3e\\x0e\\x77\\x23\\x0c\\x11\\x39\\x70\\x08\\xc2\\x48\\x5a\\x9a\\x55\\xe3\\xec\\x25\\x7a\\x1c\\xf6\\x38\\xc5\\xb9\\x7d\\x13\\x7e\\x79\\x10\\x0a\\x18\\x53\\xe3\\xaa\\xb4\\xf7\\x0c\\xc5\\x77\\x44\\x4a\\xdc\\x91\\x9c\\x39\\x48\\xf7\\x1a\\x93\\xf3\\x44\\xb4\\x7c\\xc6\\x1d\\xb1\\x7c\\xc6\\x24\\xd8\\x26\\x02\\x5b\\x34\\x26\\xe7\\x33\\xc6\\x63\\xd4\\x07\\x63\\x31\\xea\\x38\\x6c\\x72\\xe6\\x20\\xe8\\x4e\\xc4\\xdc\\xe3\\xb0\\x17\\xc7\\x73\\x25\\x93\\xf2\\x2b\\x8d\\x34\\xbf\\xd2\\x6a\\xd6\\xa0\\x27\\xed\\x1b\\xed\\x35\\x4b\\x65\\x52\\x27\\x5d\\x26\\xd5\\xe9\\x32\\x89\\xe0\\x33\\xdd\\x64\\x85\\xe0\\x06\\xff\\x79\\x09\\x95\\x49\\xa3\\x34\\x99\\x34\\x24\\xe1\\x13\\x1c\\x6b\\xb2\\x02\\x43\\x12\\x3e\\x1a\\xec\\x91\\x31\\xd8\\xd8\\x0e\\xb7\\xea\\xbe\\x3c\\x02\\x5b\\x34\\x59\\x9a\\x84\\xfd\\x5a\\x0c\\x36\\xb3\\xbe\\x21\\x01\\x9b\\x35\\x59\\x9a\\x80\\xbd\\x23\\x0e\\x7b\\x05\\x30\\x25\\xed\\xa3\\xc5\\x22\\x37\\x09\\xfb\\x60\\x1c\\xf6\\x0a\\x98\\x80\\x6d\\xb0\\xc8\\x09\\xd8\\xa4\\x37\\xae\\xde\\xcf\\xd1\\x4a\\x7a\\xdd\\x5b\\xac\\x56\\x4e\\xb4\\x59\\x5c\\x08\\xdb\\xd0\\x08\\x36\\xea\\x75\\x0f\\x13\\x4d\\x1b\\x49\\x5e\\xc2\\xec\\x58\\xb7\\x46\\xf5\\x3b\\x76\\xb5\\xde\\xa7\\xf1\\xea\\x6a\\xaa\\xe7\\x8a\\x7a\\x6f\\xd3\\x0c\\x50\\x00\\xc6\\x46\\x8b\\xf9\\xcc\\x4c\\x29\\x6c\\x34\\xb0\\x1e\\x4f\\x46\\x1a\\x0c\\x48\\x81\\x96\\x2d\\x4c\\x46\\x6b\\x36\\xb6\\xd2\\x33\\x40\\x46\\xa5\\xc2\\x02\\x8f\\xd1\\x0a\\x80\\xd5\\xe8\\x61\\x99\\x80\\xcb\\xd1\\xac\\x42\\x71\\xb8\\xc9\\x58\\x4d\\x2d\\x63\\xca\\x53\\x56\\x58\\x58\\x58\\x98\\xea\\xfd\\xa6\\xbe\\xfa\\x88\\xfe\\x8d\\xfa\\x16\\x62\\xae\\x6e\\x21\\xb5\\xcd\\x19\\xe9\\x31\\x41\\xdc\\x8f\\xc9\\xbd\\xd8\\xc4\\xa5\\xd0\\x47\\x26\\x2a\\xb1\\x6c\\x9b\\xa7\\x66\\x3c\\xff\\xea\\xbb\\xaf\\x4c\\xdd\\xd0\\x8c\\x33\\x72\\xea\\x65\\xc3\\x52\\xd4\\xae\\x76\\xd2\\xb4\\xf1\\x75\\x93\\xa7\\xd4\\x72\\x5d\\xee\\xbd\\x77\\xe7\\x03\\xfb\\x66\\x8c\\x51\\x2f\\xa8\\xd7\\xd4\\x3f\\xd4\\xf3\\xe3\\x47\\x65\\x2f\\xb0\\x8f\\x5a\\x8f\\xb6\\x34\\xcc\\x79\\xf6\\xa9\\x67\\x77\\xef\\xda\\xb5\\x1b\\xd0\\xde\\x25\\x80\\x7d\\x84\\xf6\\xf9\\x0f\\x81\\x7c\\x30\\x28\\xda\\xdc\\x64\\x08\\x67\\x64\\xb0\\x1e\\x67\\x16\\x9b\\x65\\xf5\\xe3\\x2d\\x6d\\xd6\\x3c\\x9c\\x5e\\xa3\\x84\\xcd\\x61\\x33\\x2b\\xe5\\xf2\\x12\\x8f\\x6d\\x4a\\xc4\\x66\\x24\\x4f\\x5f\\x89\\x27\\x37\\x16\\xc4\\x0b\\x81\\x62\\x92\\xa4\\xa8\\x28\\x36\\x7a\\x85\\x8c\\xf2\\xf2\\x08\\x5a\\x49\\x5e\\x6c\\x0a\\x4b\\x2c\\x55\\x57\\xaf\\xfe\\x65\\x1f\\xf9\\xfd\\x73\\x75\\x5a\\xb0\\x3c\\xe3\\xe3\\xf4\\x75\\x8f\\x41\\x45\\x1f\\xc6\\xf2\\xc9\\xa4\\xf1\\xdd\\xfb\\x1d\\xab\\xdc\\x96\\x96\\xf1\\x34\\x99\\xc5\\xc2\\x4e\\x9f\\x16\\x19\\x64\\xbf\\x65\\xcc\\x5d\\x0f\\xe8\\x33\\x59\\x66\\x92\\x69\\x2c\\xcc\\xe5\\x2d\\xea\\xab\\x20\\x96\\x4f\\xbc\\x82\\xce\\x95\\x71\\x83\\xce\\xd1\\x4c\\xd1\\x68\\x44\\x00\\x79\\xbc\\x9c\\xd3\\x69\\xe3\\x1c\\x35\\x0a\\xc7\\xd9\\xa0\\xcd\\x59\\xa3\\xd8\\x64\\x7d\\xe4\\x48\\x4a\\x7f\\x1b\\x48\\x3b\\x6a\\xd0\\xb1\\xc7\\xa4\\x7a\\x8c\\x9a\\x18\\x5a\\x9a\\x2e\\xcc\\x0e\\xc5\\xe6\\xa1\\xac\\x42\\x8f\\x34\\x3c\\x78\\xe9\\xe2\\xb5\\xdb\\x2f\\x6e\\x55\\x4d\\xcc\\x87\\xab\\x56\\x3d\\xbe\\x19\\xda\\x10\\x77\\xd3\\x59\\xf5\\xbb\\x4f\\x5e\\x5f\\xfc\\xfa\\x14\\xb8\\x63\\xd4\\x2d\\xea\\x94\\xe4\\xfe\\xb8\\x3e\\x10\\x06\\x95\\xd1\\x02\\xbf\\x41\\x70\\x63\\xb2\\x08\\x89\\x22\\x07\\x50\\x5e\\xbe\\x9c\\x5e\\xa1\\xc8\\x6e\\xa3\\xc1\\x8d\\xbf\\x80\\xc5\\x92\\x83\\x2d\\x07\\x09\\xf1\\x03\\x15\\xbd\\x5b\\x6e\\x4a\\x63\\x01\\x7b\\x24\\xc9\\x06\\xa6\\x64\\xa3\\x37\\xce\\x4d\\x22\\x98\\xbf\\x6c\\x9d\\x8b\\xba\\x35\\x7c\\x18\\x6f\\x30\\x47\\x9a\\xe7\\x26\\x77\\x98\\x23\\xcd\\x73\\x3f\\x3a\\xa8\\x37\\xcf\\xbd\\xae\\xbe\\x37\\xb6\\xa6\\xc5\\x5c\\x6b\\x4a\\xf3\\x5c\\xcd\\x37\\x12\\xdb\\xd3\\xe2\\xa8\\xdf\\xec\\x74\\x0a\\x9c\\x08\\x38\\xe0\\xf1\\x9a\\xf1\\x96\\x9a\\x89\\xff\\x8a\\xc3\\x7b\\xca\\xc9\\xf1\\xea\\xd8\\x82\\x46\\xdd\\xfb\\xe8\\x06\\xda\\xf3\\x4a\\x72\\x09\\x4d\\xb8\\xb9\\xd8\\x64\\x99\\x15\\x74\\x0f\\x57\\xc2\\xf1\\x7d\\x2e\\x5f\\xbc\\xa6\\x7e\\xb4\\x6a\\xd5\\xba\\x27\\xa0\\x0d\\xee\\xc5\\x9b\\x88\\xf6\\xae\\xcd\\x39\\xa3\\xb2\\x9f\\xbc\\x1d\\xdb\\x4b\\x4e\\xdf\\x4b\\x3f\\xb6\\xcf\\x7a\\x47\\xc3\\x01\\xa3\\xc1\\x83\\x2f\\x1b\\xc8\\x92\\x80\\x94\\xdf\\xcc\\x91\\x41\\x6e\\x9c\\xc9\\xe8\\xc1\\x5f\\x00\\x0b\\x86\\x0a\\xc5\\x2a\\xf1\\x7a\\xd3\\xe1\\xc6\\x7b\\xa8\\xa3\\x95\\xb4\\x89\\x14\\xad\\xff\\xb9\\x8b\\x6b\\xe1\\xa8\\x3e\\xff\\x65\\x17\\xd1\\xa8\\xb5\\x39\\xa7\\xe2\\x5d\\x88\\x9b\\xda\\xc8\\xc4\\xbc\\x20\\x92\\xe9\\xee\\x07\\xbc\\xdd\\x6c\\xb6\\x7b\\x3d\\x32\\x27\\x73\\x36\\xa3\\xcd\\x59\\xad\\xd8\\x1c\\x46\\x86\\x4c\\x91\\x68\\xd4\\x54\\x22\\x96\\x8b\\x47\\x7b\\x33\\x86\\xf4\\x69\\x9a\\x99\\xa4\\x26\\x21\\x36\\x57\\x0e\\x4d\\x54\\xaf\\xf4\\xbd\\x35\\x4d\\xbd\\xd2\\xfe\\xea\\x0b\\x4c\\x3b\\xf5\\x0b\\xf5\\xff\\xbe\\xbc\\x5a\\x06\\xed\\x5d\\x8f\\xde\\xb9\\x9c\\xd9\\x01\\xdf\\x9e\\x3d\\xe9\\xa6\\x97\\xdf\\x6c\\x18\\xa0\\xee\\x55\\x1f\\x3e\\xf1\\x79\\xf1\\xcf\\xbf\\x82\\x18\\x2e\\x27\\xf8\\x69\\x78\\x37\\xfb\\x44\\xf3\\x81\\xd5\\x11\\x0a\\x18\\x42\\x56\\x36\\xbf\\x59\\x20\\xcd\\x93\\x56\\xab\\x78\\x24\\x21\\xcb\\xe1\\xc8\\x12\\x90\\x59\\x92\\x72\\xab\\x15\\x89\\x35\\xa3\\x6a\\xc5\\xec\\x68\\x5c\\xfc\\x4f\\x7a\\xd1\\x24\\x8d\\xcf\\xd2\\xed\\xd7\\xce\\x90\\x74\\x0c\\xca\\xa6\\x28\\x16\\xb9\\x3d\\x7a\\xe3\\x1c\\x9d\\xe9\\x6a\\x8d\\x83\\xe0\\xc2\\x3b\\x97\\xb6\\xe9\\x59\\x9a\\x05\\xed\\xdd\\x7f\\x78\\xae\\xe1\\x43\\x7c\\xe8\\xee\\x0e\\xc3\\xda\\xde\\xbe\\xb2\\x55\\xa5\\x2d\\x23\\x27\\x3f\\xa8\\x5e\\xc9\\x1a\\xde\\x75\\xf9\\x6c\\x66\\xc7\\xc5\\xef\\x5a\\x8e\\x9a\\x54\\xfc\\xd5\\xdb\\xcc\\x4b\\x70\\x14\\x1c\\xec\\x0a\\x64\\x6d\\x58\\x6e\\xe1\\x8e\\x5b\\xda\\x0d\\x51\\xdf\\xb8\\x69\\xe1\\xd8\\xef\\x69\\x7f\\x24\\xfc\\x1e\\x5c\\x6b\\x90\\x8b\\xa9\\xa2\\xb9\\x2f\\x97\\x77\\x38\\x72\\xad\\x19\\x6c\\x5e\\x38\\x18\\x1a\\xa4\\x64\\x04\\x07\\x2a\\x19\\x92\\x05\\xf8\\x7c\\xc0\\x82\\x24\\xb7\\x1b\\x55\\x28\\x6e\\x49\\x32\\x56\\x28\\x92\\xbb\\xf1\\x9b\\x68\\xcd\\x16\\xe2\\xaf\\x91\\xd4\\x9f\\x91\\xbe\\x4b\\xbc\\x93\\x2e\\x6d\\x93\\xa8\\x37\\xfd\\x65\\x7e\\x10\\x07\\xf4\\x1c\\x3b\\x5c\\xa9\\xab\\xe8\\x6f\\x85\\x7e\\xef\\xa5\\x57\\x2f\\xfd\\xfa\\xe7\\xa5\\xfc\\x89\\xf9\\x86\\x4d\\x6b\\xfa\\xf4\\x6b\\x9f\\xde\\xa1\\x84\\xf9\\x64\\xc2\\x80\\xcd\\x27\\x4e\\xec\\x18\\x3f\\xce\\x7a\\xf0\\x2d\\xe8\\xa7\\x66\\x77\\xa6\\xcb\\x7e\\xf7\\x52\\xfb\\xdb\\x96\\x6e\\x3d\\xaf\\x80\\xa6\\x72\\x63\\xc8\\x5d\\xdb\\x43\\xe3\\xc2\\x41\\x50\\x1e\\xcd\\x34\\x19\\x7c\\x2c\\x6b\\x75\\x62\\x3e\\x9c\\x96\\x6e\\xc6\\x1c\\x58\\xf2\\xe2\\xd3\\xd0\\x78\\xb0\\x2f\\xa9\\x20\\x2a\\xd5\\xaf\\x40\\xcc\\x0b\\xca\\x79\\x25\\xd0\\x88\\xf3\\xc6\\xeb\\xa1\\x8a\\xda\\xb2\\x7b\\xd4\\x5f\\x7f\\x53\\xef\\x8e\\xb1\\xdb\\x2e\\x30\\x03\\xa6\\xab\\x9f\\x2c\\x7d\\xd8\\xd5\\x79\\xe1\\x6d\\xcc\\x6e\\xf5\\xa0\\xba\\x39\\xc1\\x6a\\xd5\\x23\\xea\\x9e\\xf3\\x27\\xaf\\xdd\\x7d\\x5e\\xf3\\x01\\x75\\xd3\\x67\\x4f\\x92\\x59\\x1a\\xe5\\xd1\\x90\\x8d\\x35\\xd8\\xed\\x58\\xfc\\x99\\x58\\xe4\\xf6\\x08\\x98\\x23\\x08\\x02\\x34\\x9b\\x4d\\x98\\x60\\x10\\x94\\x6a\\xb4\\xc6\\xf7\\x29\\x4d\\xc4\\x12\\x49\\xef\\x24\\x9a\\x45\\x87\\x3f\\x76\\x80\\xb4\\xff\\x00\\x74\\x86\\x22\\x76\\x92\\xbd\\xd9\\x55\\x35\\x5d\\x56\\xcf\\x37\\xfc\\x78\\xa9\\xe1\\x57\\xd4\\xa6\\xa1\\x25\\xb4\\x6d\\x7e\\x7c\\xd5\\xaa\\xef\\xde\\x7a\\xfd\\x13\\xe8\\x3d\\xfb\\xe7\\x51\\xf8\\xcc\\x49\\xf8\\xf0\\x2d\\x20\\xb9\\x6f\\x36\\xe1\\xb1\\xfd\\xa2\\xcd\\x32\\x4d\\x7e\\xd9\\x8e\\x90\\xc7\\xe3\\x34\\x61\\x16\\xeb\\x72\\x0e\\x54\\x5c\\x00\\xb1\\x76\\xd6\\x8e\\xd9\\x42\\x1a\\x61\\x0b\\x02\\x11\\xda\\xee\\x1b\\x39\\x6c\\x0a\\x83\\x8d\\xfc\\x45\\x2b\\xed\\x12\\x3a\\x00\\xa8\\x71\\x33\\x6d\\xde\\xc8\\x96\\x6c\\x9a\\x14\\x6f\\xa6\\xad\\x46\\x98\\xf3\\xc9\\xed\\xb4\\x5d\\x77\\xa6\\xa5\\xb4\\xd3\\x3e\\xfc\\x91\\x96\\x2a\\xb5\\xeb\\xe5\\x78\\x3b\\x6d\\xb2\\xa7\\xea\\x70\\x76\\x05\\xdb\\x1f\\xc8\\x20\\x00\\x4a\\xa3\\x19\\x0e\\xe0\\xb1\\x58\\x78\\x03\\xe2\\x00\\x9f\\x16\\x94\\x5c\\x98\\x64\\x25\\x5e\\x18\\xa4\\xf0\\x01\\xe4\\xaf\\xd4\\x82\\x45\\x49\\x7d\\x84\\x13\\xb7\\x8f\\x11\\x38\\x12\\x0c\\x80\\xa4\\x87\\x0f\\xe1\\x12\\x64\\x8e\\x4a\\x26\\xe9\\xb2\\x82\\x79\\xed\\x57\\x27\\x61\\xd5\\xb5\\xf1\\x8c\\x4f\\xad\\x19\\x33\\xe3\\xae\\xdf\\x77\\x42\\x03\\xf4\\xaa\\x9f\\xfd\\x7a\\x1d\\x2c\\xba\\x0d\\x22\\x26\\xff\\x5f\\xea\\x37\\xd9\\x0d\\xf5\\xef\\xc2\\x82\\x6e\\x3f\\xee\\xd8\\xf6\\xc7\\x32\\xf5\\x9c\\xfa\\x0b\\x1c\\xaf\\x6e\\xd8\\x77\\x18\\xdf\\xb1\\x41\\xfa\\x79\\x9b\\x41\\x97\\x68\\x88\\xe1\\x4d\\xd0\\x64\\xb1\\x1a\\x58\\x16\\x42\\xab\\xc0\\x57\\xe3\\xd3\\x66\\xf4\\xd3\\x66\\x30\\x93\\x60\\x1a\\x9f\\x36\\x8c\\xbb\\xb9\\xb4\\x5e\\x44\\x76\\x3d\\x88\\x85\\xff\\xb0\\x5d\\xaf\\xb5\\x63\\xb6\\x36\\x6c\\x64\\xc6\\x35\\xb4\\x25\\x61\\xd4\\xb3\\xb0\\xeb\\x59\\x38\\xe4\\x2c\\x88\\xcd\\xd9\\x59\\x86\\x79\\x25\\x87\\xf7\\xa3\\x4b\\x34\\xcb\\xc7\\x30\\x12\\x72\\xbb\\x4d\\x12\\x4a\\x0b\\x7a\\xf1\\xc7\\x78\\x8d\\x5e\\xa3\\xc3\\xea\\x00\\x64\\x62\\x8b\\x15\\x23\\x61\\x6d\\xcc\\x35\\x53\\x3d\\x87\\xb9\\x45\\x8e\\x50\\x3a\\x74\\xc4\\x98\\xa7\\x3e\\x8a\\xc7\\x5e\\x5c\\x4a\\xbc\\x68\\x13\\x4f\\xa5\\xab\\x59\\xe2\\x1d\\x43\\x07\\x4e\\xc8\\x56\\x7f\\xef\\xfc\\xf5\\x6b\\x98\\x1b\\x65\\xa9\\xe7\\xb1\\xca\\x74\\x55\\xfd\\x4e\\x40\\x06\\xeb\\x8a\\x0f\\xe1\\xb0\\x9d\\xbb\\xd1\\xe6\\xda\\x09\\xbd\\x5e\\xdc\\xa5\\xde\\xab\\x6e\\x57\\x5f\\x51\\x9f\\x80\\x35\\x30\\xda\\xbf\\xc3\\x8e\\x03\\x84\\x97\\xf6\\xc6\\xb8\\xae\\xe3\\x14\\xac\\x3f\\xf5\\x8f\\xb6\\x74\\x1b\\x33\\x10\\x32\\xf2\\x01\\x31\\xcc\\x37\\x6f\\xe6\\x0b\\x56\\xc7\\x9a\\xa0\\xe7\\xfa\\x24\\xc9\\x97\\x8b\\xb0\\xa4\\xc7\\x37\\xc4\\xc2\\x82\\xac\\xc4\\xec\\x92\\x94\\x6e\\x2a\\xc9\\x07\\xca\\x69\\x83\\x51\\xc9\\x69\\x92\\xa6\\x29\\x89\\xae\\x6b\\x1d\\xa0\\x2b\\x89\\x41\\xf1\\x2c\\x33\\xe8\\xaa\\xfa\\x9f\\x8d\\x5b\\x1e\\xbb\\x0b\\x72\\xe7\\x3f\\x86\\xa0\\xbb\\xfa\\x73\\xde\\xc2\\x89\\x53\\x26\\x2c\\x58\\xd7\\xa1\\xc3\\xb3\\x4b\\x6e\\x5d\\x7c\\xeb\\x83\\x85\\xd0\\xd0\\x4d\\xfd\\xde\\xf9\\xcf\\xd7\\xee\\xd8\\xe4\\x0d\\x3f\\x30\\x7f\\xc7\\xb1\\x67\\x4f\\x74\\xba\\x73\\xfc\\xd0\\xaa\\x9a\\x01\\x67\\x7a\\x8f\\x19\\x53\\x3b\\xeb\\xae\\x51\\x6f\\xef\\xd7\\x62\\x67\\xd8\\x7e\\x19\\x48\\xf9\\x4f\\xe7\\x68\\x08\\x72\\x9c\\x24\\x23\\xc9\\xc4\\x3a\\x5d\\x54\\x5d\\x82\\xf8\\xa2\\xe3\\x2d\\xb7\\x23\\xb3\\xd5\\x60\\xad\\x56\\x0c\\x81\\xc6\\x83\\xa0\\x93\\x89\\x51\\x6b\\x83\\x1a\\x6b\\x84\\x40\\x95\\x15\\x6d\\x5e\\xda\\x63\\xcf\\x94\\x0d\\x6f\\xe7\\x68\\x97\\xa3\\x4f\\x4d\\x6b\\x38\\x73\\xec\\x55\\xe7\\x17\\xd6\\x6e\\xc3\\xb8\\xe9\\xfa\\xec\\xa9\\xfd\\x18\\x07\\x85\\xce\\x65\\xbd\\x39\\x1a\\xb2\\x4a\\x16\\x93\\x20\\x98\\x25\\xb3\\xc5\\xe2\\xf1\\xfa\\x4c\\x56\\xc9\\x3a\\x47\\x11\\x24\\x09\\x2b\\x21\\x68\\x8e\\xe2\\x14\\xcc\\x81\\x44\\x5b\\xbd\\x46\\x8e\\x8c\\x58\\xfb\\x0d\\xba\\x69\\x22\\x0c\\x09\\x21\\x14\\x72\\x64\\x97\\x46\\x4a\\xb5\\x86\\xcf\\x6c\\xf3\\xc0\\x98\\xcc\\x8a\\xee\\x36\\x27\\x6c\\x95\\xa3\\x9e\\xfe\\x4e\\xfd\\xf6\\xbb\\x53\\xb9\\xa7\\x02\\x81\\x7f\\xec\\xed\\xf9\\x80\\x8f\\x5d\\x66\\xb4\\xb6\\xed\\x35\\xf9\\xe8\\xd5\\xb1\\xec\\xa6\\xa3\\xcb\\x1f\\xbd\\xd7\\x67\\x4a\\xc8\\xcc\\xd1\\x98\\xd3\\x0c\\x8b\\x16\\x66\\x01\\xa3\\x3b\\xc8\\x71\\x39\\x6e\\x20\\x71\\xf9\\x79\\x92\\x6c\\x95\\x6b\\x15\\xab\\x90\\x9b\\x53\\xa3\\xe4\\x7a\\x8c\\xd8\\x84\\x44\\x8c\\x20\\x60\\x16\\x2d\\xb0\\x4c\\x46\\x62\\xba\\x5b\\xe2\\xa4\\xf5\\x4e\\x6e\\x49\\xd2\\x33\\x65\\xc2\\x9b\\xa7\\x24\\xd9\\x52\\xf9\\xeb\\x69\\x6f\\xd3\\x86\\xce\\x5b\\x59\\x55\\x98\\x11\\xca\\xf3\\x93\\xa1\\x6f\\x2b\\xee\\xbc\\x61\\xe8\\x5b\\x36\\xb7\\x71\\x99\\xfd\\xb8\\xa5\\x58\\x51\\xcf\\xb4\\x7d\\xe3\\x8b\\x8b\\xfa\\xf4\\x37\\x06\\x20\\xbc\\xc7\\xef\\xd2\\x99\\x3a\\xe9\\x64\\x02\\x9b\\xcf\\xc6\\xd9\\x0d\\xb2\\x6c\\xb7\\x21\\xc0\\x02\\x17\\xe3\\x62\\xcc\\xc0\\x1c\\xc4\\xba\\x5d\\x00\\x91\\x09\\x6c\\x45\\x89\\x7b\\x05\\x0b\\x0b\\xe5\\x04\\xbe\\x0e\\xd2\\x77\\x0d\\xd2\\x99\\xd7\\x5a\\x85\\x52\\xa9\\xa3\\x38\\x9c\\x47\\xe6\\x4e\\x50\\xbd\\x04\\x16\\xc3\\x12\\xbc\\xfd\\x6d\\xd4\\x92\\xba\\x2e\\x4f\\x3f\\xfa\\xf0\\x33\\x1d\\x26\\x9e\\x4b\\x6b\\xd3\\xd2\\x65\\x2e\\xc8\\xca\\x6a\\xc1\\x75\\xbb\\x76\\x0a\\xb5\\xbe\\xfa\\xf6\\xf3\\xcf\\xb6\\x5f\\xba\\xfa\\x81\\x25\\xe5\\xdb\\x5f\\x52\\xe7\\xe7\\x2a\\x23\\x06\\x96\\xb5\\x09\\xb4\\x6e\\xd9\\x82\\xd2\\x41\\x1f\\xbc\\xdf\\x4b\\x30\\x6f\\xcf\\x25\\x33\\xd4\\xec\\x92\\x68\\x36\\x5b\\x7c\\x2c\\xca\\xcc\\xce\\x46\\x16\\x14\\xce\\x0b\\x89\\x2e\\x03\\x6d\\xa3\\x0d\\x2c\\x2e\\x80\\x25\\x7d\\x6c\\xae\\x40\\x79\\xcc\\xe4\\xf3\\x24\\x12\\x60\\xf5\\xa1\\x19\\x9d\\x60\\x29\\x61\\xdd\\x3e\\x98\\x8d\\x7f\\x29\\x42\\x2d\\xae\\x95\\xa6\\x2b\\x2d\\x25\\xf8\\x77\\x4e\\x1e\\x75\\x7c\\x62\\x3b\\xca\\xcd\\xbf\\xfd\\xdc\\x39\\x06\\xa1\\x82\\x11\\x3d\\xa7\\x4f\\x6f\\x55\\x92\\x53\\xe0\\x38\\xbb\\xdd\\x79\\xf9\\xe2\\xa3\\x0f\\x0e\\xe8\\xa8\\x1e\\xd3\\xfa\\xcd\\xdf\\x31\\x7c\\x55\\xed\\xdb\\x9f\\x5c\\x7a\\xfc\\x96\\x36\\x35\\xd3\\x99\\x05\\x0d\\x6b\\xce\\xfe\\x9e\\x94\\xb3\\x43\\xe5\\xb9\\xf6\\x0e\\xb1\\x39\\x77\\x0e\\x30\\x34\\xda\\x02\\x9b\\xf3\\x06\\xbb\\x95\\xb7\\x8a\\x08\\x98\\x20\\x80\\x4e\\x97\\x20\\x4a\\x22\\x16\\xe3\\x98\\x9c\\x81\\xc1\\x62\\xb6\\x60\\x26\\x2a\\x23\\x07\\x70\\xdc\\x38\\xf7\\xae\\x11\\x75\\xc7\\xba\\xde\\x16\\xe9\\x43\\xf0\\xa8\\x1b\\x91\\x86\\x81\\xa9\\x2b\\x91\\x0c\\xc3\\xfb\\xc7\\x7f\\xfe\\x03\\x3b\\x5e\\x9b\\x02\\x3b\\xfe\\xf4\\x93\\xfa\\x8f\\xf8\\x58\\x44\\xc2\\x5f\\x61\\xd7\\xf8\\x7c\\xba\\x11\\xc0\\x09\\xa2\\xd1\\x90\\x84\\x10\\xeb\\xc0\\xe2\\xdb\\x25\\x3b\\x25\\x58\\xab\\x48\\x0e\\xc9\\xc1\\xda\\x91\\xc9\\x22\\x58\\x08\\x01\\x6b\\xd3\\xe9\\x74\\x74\\xb4\\x0a\\x4c\\x62\\x28\\xc9\\xb1\\x9b\\xae\\xa5\\x52\\x10\\xa2\\xd5\\xc9\\x35\\x79\\x4a\\x5d\\xdf\\x1e\\x23\\xba\\x06\\x22\\xc5\\x29\\xb3\\xea\\xd0\\x87\\x70\\x19\\xbe\\xf1\\xc5\\x3d\\xd5\\x9f\\xf4\\x91\\x75\\xb1\\x1e\\xf6\\x1f\\xe1\\x43\\x8c\\x46\\x45\\x19\\xe3\\xe3\\x76\\xba\\xcc\\x90\\xe5\\x3d\\x5e\\x19\\x1e\\x86\\xd6\\xa8\\x5d\\x91\\x65\\xd6\\x21\\x9a\\x6d\\x06\\xdb\\x20\\xda\\x5b\\xde\\x95\\x8c\\x53\\x0a\\xe7\\xd1\\xf0\\xd1\\xee\\x8f\\xc6\\x30\\x93\\xb3\\x3c\\xf6\\xae\\xaf\\x19\\x22\\xf7\\x71\\x75\\x2a\\x4d\\xe9\\x6a\\xcf\\x1e\\x58\\xf5\\xb8\\xfd\\x6d\\x4e\\xe8\\xde\\x03\\x23\\xa3\\x75\\xb7\\x4f\\x8e\\xdf\\x0f\\x88\\x36\\x03\\x58\\x0f\\x33\\x32\\x46\\xb3\\xc8\\x0a\\x9c\\xc0\\xc9\\x0e\\x64\\xb6\\x98\\x49\\xb1\\x94\\xe5\\xbf\\x86\\xed\\x53\\x8e\\x2d\\x76\\x6a\\xa4\\xeb\\x67\\xea\\x81\\x91\\xb8\\xfd\\xbf\\xff\\xad\\x45\\xed\\xbf\\xfa\\x8a\\xc6\\xec\\xdb\\xbf\\xa0\\x96\\x1f\\x3d\\x0a\\x5f\\x7d\\x01\\x7e\\x78\\x54\\xef\\x87\\xbf\\x89\\xf6\\xf6\\x1a\\x16\\x6d\\xc9\\x40\\xc1\\xca\\x63\\x7c\\x6c\\x10\\x70\\x16\\x83\\xc1\\x62\\x97\\x4c\\xa2\\x49\\xb4\\xd8\\x58\\xa1\\x52\\x61\\x39\\x96\\xb3\\x31\\x36\\x58\\xa9\\xd8\\x24\\xa3\\xc5\\x45\\xdd\\x10\\x91\\x14\\xb9\\x98\\x62\\x56\\x24\\xdd\\xe5\\xdc\\xbc\\x10\\x29\\xa5\\xa1\\xbd\\x14\\x61\\x1e\\x37\\x19\\x06\\x07\\xc2\\xe6\\xb9\\x07\\x7b\\xbf\\x00\\x3f\\xc2\\x36\\xcd\\x6f\\xd7\\x81\\xfa\\x09\\x7c\\x5c\\x54\\xbf\\x65\\x97\\xcf\\x3f\\x3e\\xa6\\xff\\xee\\x8a\\xab\\x37\\xa3\\xb4\\x6b\\x67\\xd8\\xc2\\x6c\\x52\\x43\\xab\\xcd\\xc5\\xeb\\x86\\xed\\x89\\x5e\\xd1\\x6c\\xc9\\x04\\xc3\\x82\\x2d\\x6c\\xb3\\x64\\xa6\\x59\\xd2\\x9a\\xe5\\xbb\\x25\\xd1\\xe3\\xf1\\xe7\\x19\\xd2\\x11\\x9b\\xed\\xcf\\xae\\x55\\x1c\\x56\\xbf\\x9c\\x1c\\x21\\x23\\x4e\\xf2\\x78\\x0f\\x43\\xbd\\x88\\x96\\xea\\xaf\\xb1\\x6e\\xd6\\xf8\\x62\\x7a\\xb2\\x0b\\xa1\\x36\\x8c\\x37\\x4f\\x9f\\xc9\\x4b\\x7e\\xab\\xfd\\x6f\\xe6\\x9f\\xd9\\xd8\\x5a\\xff\\x91\\x3f\\xcd\\x41\\xda\\xaa\\x7f\\x84\\x83\\x69\\x36\\x75\\xd0\\x9c\\xba\\x0b\\x59\\xad\\x22\\xed\\x30\\x9f\\x19\\xbb\\x6e\\xc6\\xfe\\xa7\\x50\\xe5\\xd5\\x27\\x63\\xcd\\xfa\\xa7\\x0c\\xdf\\x75\\x1a\\x7d\\x71\\x6d\\xec\\xa6\\x29\\x5b\\xb7\\xa2\\x71\\xe4\\x9e\\x5e\\x3f\\x85\\xf9\\x21\\x99\\x21\\xe8\\x21\\x1d\\xdf\\x65\\x8f\\x91\\x85\\xa2\\xe8\\xf4\\x20\\x1f\\x26\\x3f\\x19\\x02\\x97\\x44\\x6f\\xc3\\x18\\x45\\x08\\x80\\xd8\\xec\\x32\\x52\\xa5\\xa4\\xb7\\x87\\xf4\\x94\\xc5\\x95\\x46\\x32\\x4f\\x30\\x45\\xe8\\x25\\x4d\\x16\\x9c\\xbf\\xbe\\x77\\x15\\xbe\\x0c\\xb9\\xc9\\xf3\\x05\\xdb\\x9e\\xde\\xec\\x3c\\x6f\\xed\\x38\\x86\\x1b\\x9f\\x34\\x66\\x90\\xc6\\xc9\\x87\\xd3\\x38\\xb9\\x07\\x94\\x44\\x03\\xc0\\x23\\xe1\\x53\\xc6\\xc6\\xad\\xcf\\xab\\x25\\x20\\xd8\\xb1\\x19\\x63\\x11\\x8d\\x2e\\xd2\\xa0\\x57\\x0b\\x32\\x94\\x37\\x1e\\x21\\x9b\\x94\\x7b\\xd0\\xd4\\x00\\x01\\x43\\x22\\x32\\x8e\\x3f\\xc9\\x11\\x0b\\x8a\\xaf\\x9a\\xa8\\xc7\\xc4\\xaf\\xee\\x00\\x89\\x7e\\x00\\xdc\\x08\\x99\\x67\\x1f\\x8f\\xe9\\x65\\x1c\\xe4\\xee\\xc2\\x7c\\x23\\x13\\xdc\\x14\\xcd\\x74\\x39\\x80\\x55\\x0a\\x70\\x80\\xcb\\x0a\\x59\\x24\\x93\\xd5\\x64\\xc5\\x52\\x0f\\x9b\\x28\\x36\\x2c\\xf6\\xd2\\x13\\x62\\xef\\xcd\\x24\\xf1\\xa1\\xe7\\xb1\\xe9\\x1d\\xc3\\xb1\\x45\\x9b\\xa9\\x8f\\x34\\x6d\\x5b\\x82\\xb9\\x32\\xed\\x4c\\x99\\x32\\x1b\\x7d\\x54\\xc3\\xaf\\x2a\\x16\\x76\\x8c\\xf9\\xad\\x2b\\x91\\x3e\\x23\\x3f\\x1a\\x36\\x58\\x50\\x3f\\x9a\\x30\\x6f\\xde\\xc4\\x89\\xf3\\xe6\\x4d\\x60\\xb6\\x35\\x90\\x11\\xf9\\x0a\\x73\\xe0\\x9d\\x77\\xba\\xcf\\x84\\xec\\xfb\\x77\\xbe\\xdc\\x71\\x40\\xf4\\xbb\\x33\\xe7\\xcf\\x9d\\xbb\\x74\\x49\\xd3\\xab\\x49\\x8c\\xfb\\x37\\xac\\x57\\x3b\\x40\\x06\\xd1\\x26\\x9c\\x66\\x86\\x33\\xf8\\xed\\x0c\\x99\\xd7\\x67\\x60\\x38\\x86\\xb3\\xf1\\x36\\x6c\\x17\\xd8\\xdc\\xbc\\x08\\x3c\\xf8\\x3a\\x4b\\x49\\x95\\xdd\\x4d\\x23\\x9c\\xe9\\x88\\x23\\x1a\\x33\\x0e\\x92\\x7d\\x73\\x4c\\x6f\\x78\\x32\\x30\\x78\\xdc\\x87\\xd5\\x75\\x76\\xf5\\xab\\xef\\xaf\\xab\\xf0\\xa0\\x72\\xcb\\x94\\xd1\\xa3\\x6a\\xa7\\x8f\\x66\\xfb\\xab\\xf6\\xe8\\x63\\x18\\xc9\\x27\\xde\\x6a\\xf5\\x83\\x0a\\x73\\xb0\\x9a\\x69\\x85\\xd9\\x0d\\xa7\\x5e\\xde\\xb7\\xef\\xe5\\x97\\x0e\\x1e\\xc0\\xb8\\x16\\x63\\x3e\\x74\\x27\\xd6\\x23\\xed\\xd8\\xf6\\xeb\\x11\\xb5\\x78\\xc4\\x60\\x10\\x59\\xcc\\xc8\\x9c\\x96\\x6e\\x39\\x0c\\xdb\\x46\\x5d\\x06\\x5b\\xad\\x62\\x30\\x00\\x23\\xcb\\x3b\\x6b\\x15\\x9e\\x05\\xfe\\xda\\x84\\x0a\\xa9\\xfb\\x5d\\x12\\xce\\x4e\\x6a\\x04\\xd2\\x59\\x78\\x5a\\x0c\\x39\\x37\\x42\\xbb\\x62\\x09\\x3c\\xc2\\xc8\\x62\\x01\\x8d\\x7f\\x57\\xca\\x98\\xbe\\xbf\\xf8\\xf3\\x3f\\xef\\x98\\x0a\\x7b\\xf6\\x3d\\x5f\\x67\\x5c\\x3e\\x24\\xb3\\xcd\\xf8\\x19\\xf3\\x26\\x87\\xd3\\x1c\\x70\\x22\\x1c\\x0c\\xcb\\xe1\\xcc\\x9b\\x3a\\xfe\\xe1\\xe1\\x2e\\x5f\\x33\\x3a\\x6a\\xd9\\x7b\\x7c\\xd7\\xc1\\xbf\\xcf\\xa9\\xbf\\x49\\xda\\xbe\\x16\\xa8\\x53\\xd9\\xfb\\xd8\\x7e\\x78\\xc3\\x02\\x58\\xeb\\x6d\\x0e\\x90\\xcf\\x27\\x39\\x8d\\x92\\x31\\x2d\\x68\\xb5\\xf2\\x36\\x1b\\x33\\x10\\xb3\\x1f\\xb3\\xbf\\x42\\x31\\xdb\\xf1\\x1f\\x89\\x27\\xd5\\x7d\\x64\\x7f\\x49\\x19\\xe9\\x9b\\x05\\x9a\\xcd\\x9a\\xb0\\x12\\x52\\x51\\x26\\x0d\\xbc\\xf4\\xad\\x0d\\x51\\xbc\\x61\\xac\\x55\\x26\\x0a\\xa3\\xdd\\x33\\xca\\xb7\\x54\\xfe\\xf8\\x2b\\xfc\\xee\\xd1\\x05\\x30\\xa3\\x77\\xc3\\xaa\\x65\\xf3\\x66\\xdf\\xd9\\x26\\x17\\xfa\\x31\\x3a\\xbf\\x5f\\x3b\\x5b\\xd0\\x06\\x06\\xa1\\x8b\\x29\\xec\\xda\\xf1\\xcf\\x7c\\x2e\\xbf\\xfe\\xf5\\x97\\x5e\\x34\\x33\\x5f\\x18\\x63\\x76\\xf5\\x3a\\x7c\\xbf\\x5d\\x58\\xdf\\xe9\\x16\\xcd\\x71\\x07\\xc8\\x30\\x60\\x60\\x31\\x89\\x40\\xcc\\xcc\\x08\\x60\\xe5\\x36\\x60\\x0d\\x58\\x79\\x59\\xf6\\x57\\x2b\\xb2\\xa1\\x46\\x91\\xf5\\xe9\\x99\\x29\\xf6\\x44\\x59\\x22\\x69\\x99\\xfa\\x35\\x59\\xda\\x75\\x20\\xc5\\xb3\\x99\\xd4\\x7e\\x60\\x9d\\xfa\\xdb\\xe5\\x3e\\xea\\x99\\x5c\\x62\\x60\\xff\\xed\\x31\\x58\\xa5\\x42\\x5e\\xfd\\x64\\xfe\\xdd\\xe9\\xe1\\xbb\\x67\\xa2\\x0d\\xa7\\x2f\\xa9\\x39\\x09\\xfb\\xfa\\xe3\\x4f\\xc9\\x6c\\xcd\\x69\\x04\\xcf\\x87\\xc9\\xcc\\x0c\\x2c\\x07\\xd3\\xb1\\xfe\\x30\\x34\\xda\\x32\\x43\\x26\\x63\\xa0\\xc2\\x26\\x53\\xd0\\x89\\x5a\\xb6\\x0a\\xa6\\xdb\\xbd\\x60\\xa0\\xe2\\x05\\xce\\x00\\x8b\\xec\\xf8\\xcb\\x2a\\x10\\x27\\xb4\\xd5\\x2d\\x34\\xd3\\x27\\x68\\x34\\x72\\x1a\\xc6\\x47\\x23\\xc6\\xd8\\x3c\\x25\\xe1\\xac\\x34\\xd8\\xc4\\x2c\\x0d\\xcd\\x4b\\xd3\\x0a\\xa2\\x94\\x91\\x1a\\x4c\\xe1\\x3d\\x8d\\x26\\x6a\\xec\\xdd\\xd8\\x66\\x81\\x47\\xee\\xb3\\x21\\x69\\xac\\x46\\xc3\\xdd\\x57\\x1a\\x4d\\xd5\\xe0\\x47\\xae\\x5c\\x67\\xe1\\x3e\\xe0\\x84\\x86\\x40\\xd2\\x68\\x0d\\xe2\\x9f\\x55\\xdf\\x61\\x5f\\xa4\\x31\\x54\\x0f\\xe8\\x10\\xcd\\x94\\xcc\\x2e\\x92\\xbf\\xc9\\xda\\xb0\\x5c\\xf5\\x79\\x5d\\x0c\\xd6\\x37\\x9c\\xd5\\x8a\\x4b\\x70\\x09\\x2c\\xc9\\xd5\\xc3\\x67\\xf0\\x66\\x52\\xd3\\x07\\x4f\\xc2\\xa5\\x68\\xd4\\xa6\\x6e\\xba\\x22\\x8d\\xe7\\x6e\\xde\\xa1\\xbe\\xf1\\x20\\x69\\xfa\\xf0\\x16\\x19\\xbc\\xf9\\xb7\\x87\\xe1\\x34\\x75\\x0b\\x1d\\xbc\\xa9\\xbe\\xc3\\x3c\\xa4\\xfe\\x8d\\xeb\\xf6\\xcc\\x7b\\xaf\\xde\\xff\\x46\\x4e\\x43\\x31\\x5b\\x16\\x9f\\xbd\\x19\\xc5\\x3c\\x62\\x1b\\xd6\\x85\\x9a\\x13\\x2f\\xad\\xc9\\x9d\\x0e\\x80\\xe4\\xce\\x65\\x5b\\x14\\xa4\\x9b\\xf2\\x1d\\x20\\x07\\xda\\x51\\x4e\\x4e\\x7e\\x7e\\xa8\\x46\\xc1\\x7f\\x13\\xa1\\x15\\x91\\xa1\\x33\\x56\\x2c\\xc5\\x92\\x87\\xe7\\x27\\x7e\\xd2\\x93\\x06\\x63\\xca\\x88\\xa3\\xb8\\x33\\x2a\\xed\\xcc\\x68\\x7d\\xe0\\x88\\xf1\\x59\\x84\\xf1\\xb5\\x31\\xa9\\x7d\\xb1\\x32\\x73\\xa2\\x05\\xbd\\xc7\\x2f\\xb8\\xff\\xa1\\x11\\x25\\xd3\\x27\\xbf\\xd4\\x42\\xfd\\x26\\xf7\\xda\\xd7\\xe7\\xa1\\xaf\\x6c\\xf2\\x81\\x0f\\xa7\\x4e\\x5b\\x74\\xcf\\xa2\\x07\\x3d\\x30\\xad\\xb9\\xfa\\xcf\\x0b\\x58\\xe7\\xff\\x1c\\x2e\\xef\\x35\\x73\\x48\\x79\\xeb\\xbc\\x70\\x8b\\x2e\\x6d\\x7a\\x0f\\x38\\x94\\x76\\x64\\xff\\xf1\\xbd\\x15\\x4b\\xaa\\xfb\\x47\\x02\\x55\\x5d\\x94\\xc1\\x53\\x47\\xe7\\xbe\\xf4\\xe6\\xe7\\xf8\\x9d\\xee\\xc0\\xef\\x34\\x98\\xce\\xe7\\x50\\xa2\\x45\\x41\\x60\\x70\\x65\\xbb\\x44\\xc0\\x36\\x6b\\x6e\\x08\\xca\\x61\\x90\\x25\\x65\\x31\\x26\\x94\\x95\\x15\\x0e\\x67\\x54\\x28\\x61\\xf7\\x18\\x1b\\x14\\x6d\\x19\\x36\\xfc\\x2b\\x9b\\x4d\\x96\\xcd\\x64\\xbe\\x49\\xa3\\x4e\\x5f\\x7f\\xf9\\x6e\\x98\\x49\\x74\\x86\\x8d\\xda\\x19\\x26\\x77\\xfd\\xa2\\x99\\x2c\\x39\\x77\\x0c\\x7c\\x74\\xe7\\xcc\\x11\\xfd\\xc6\\x8d\\xab\\x1b\\x6d\\xf9\\x23\\xed\\xc2\\xab\\x9f\\x5f\\x1e\\xfe\\xcc\\x8f\\xe3\\xab\\xa6\\xce\\x5e\\x34\\xd1\\xf5\\x5b\\xf8\\xc7\\x7f\\x7f\\xa3\\xaa\\xb0\\xe3\\x98\\xc5\\x83\\x72\\xfc\\x72\\x69\\x61\\xc7\\xc8\\x4d\\x5d\\xfc\\x6b\\x1e\\xdd\\xbd\\xa1\\xfa\\xae\\x8a\\x42\\x57\\xa7\\xe2\\x2e\\x1d\\xca\\xfb\\xe7\\x3e\\xbc\\xe6\\x59\\x4d\\x1e\\x61\\x69\\x4d\\xf4\\x0c\\x99\\x47\\x83\\x29\\x3d\\x1d\\x51\\x87\\xa1\\xcf\\xb8\\xf7\\xb1\\xde\\x98\\x05\\x7a\\x46\\xa5\\x34\\xbb\\x5d\\xf0\\x00\\x20\\x58\\x51\\x4e\\xb6\\x53\\x94\\xfd\\x44\\x75\\xb4\\xe2\\xf7\\xb1\\x18\\x45\\xe3\\x40\\x45\\x0c\\xa0\\x4c\\xfc\\x9b\\x67\\x89\\x8f\\x3d\\x1e\\xbc\\xf0\\xa6\\xda\\x0b\\xda\\x8b\\x69\\x79\\x7a\\xa4\\x93\\x1d\\xe9\\x4f\\x8b\\xe5\\x26\\xb1\\x6f\\x92\\x3b\\x69\\x1f\\xb9\\x73\\xf2\\xb6\\x6d\\x73\\x1d\\xfd\\xe4\\xae\\xb3\\xd4\\x43\\x2d\\x8a\\x95\\x89\\xf3\\x22\\x39\\x39\\x45\\x45\\x39\\x39\\x11\\x8e\\x1f\\x3d\\xed\\xb5\\xa3\\x57\\x27\\xad\\x16\\xb8\\x0f\\xec\\xb0\\x17\\xbb\\xdf\\x3d\\xa3\\x2a\\xbf\\xb0\\x30\\x1f\\xff\\x21\\x33\\x46\\xd4\\x3a\\x3a\\x63\\x24\\x04\\x06\\x45\\x5b\\x90\\x19\\x23\\xa1\\x80\\xdd\\x6e\\x70\\x63\\x53\\x3b\\x2b\\xdb\\xe3\\x73\\xfa\\x06\\x29\\xce\\x34\\xb7\\x24\\x05\\x99\\xa0\\x8d\\x44\\xef\\xf5\\xb1\\x23\\x74\\xe8\\xc8\\x9b\\xa9\\x91\\xfb\\xf2\\x54\\xf3\\x31\\xd2\\xe4\\x00\\x92\\x84\\x2e\\xd2\\x09\\x0a\\xa9\\x93\\x48\\x32\\x7b\\x77\\x5d\\x78\\xf7\\xe3\\x1b\\xfb\\x56\\xf5\\x0c\\xcf\\xe9\\x77\\xef\\xb6\\x01\\x49\\xe3\\x48\\x3a\\x67\\x05\\xd4\\x63\\x6b\\xb7\\x38\\xdf\\x16\\x57\\x17\\x33\\xfd\\xd7\\xdc\\xa5\\xe7\\xd4\\x92\\xdc\\x07\\x09\\x44\\xa2\\x5e\\x9b\\x28\\x9a\\x59\\x46\\x30\\x0b\\xb2\\x9d\\xe3\\x4c\\xa2\\x6c\\x05\\x26\\x50\\xad\\x98\\xe2\\x36\\x0b\\x96\\x44\\xc9\\xec\\x92\\xb0\\x9c\\x04\\x8f\\xa4\\xb3\\xd3\\xe1\\x88\\xa5\\x98\\x2d\\x6e\\x7b\\x18\\x0d\\x51\\x27\\xa9\\x9f\\xb2\\x35\\x63\\x28\\x27\\xbc\\xf3\\xe1\\xb3\\x64\\xe8\\x6b\\x62\\x16\\xcb\\x47\\x20\\x07\\xef\\x53\\x81\\x39\\x28\\xbb\\xdd\\x28\\x07\\xe6\\x38\\x83\\x6c\\x38\\x37\\x18\\xcc\\x64\\x32\\xb1\\x68\\xc9\\x74\\x9b\\xcd\\x64\\x98\\x3a\\x66\\x7d\\xc0\\x45\\xf7\\x49\\xa6\\xb3\\x59\\x52\\x77\\x29\\x75\\xb8\\x5c\\x72\\x62\\x43\\xc2\\x2f\\x6d\\x83\\xb4\\xa1\\xfb\\x8d\\x43\\x5b\\x9e\\x3a\\xfa\\x7a\\xf9\\xcc\\x87\\xef\\x5e\\x18\\xed\\x9d\\x1d\\xdf\\xb2\\x35\\x73\\xa2\\xda\\x6e\\xf5\\x38\\xb0\\xd5\\xe0\\x3d\\x12\\xc8\\xec\\xd0\\x25\\xaa\\x6f\\xda\\x11\\x8f\\x91\\xec\\x16\\x9d\\x7f\\x8b\\xf9\\xf8\\xfd\\xd4\\xbe\\x6e\\x1d\\xf5\\x41\\x8b\\x0d\\x9b\\x09\\xac\\x43\\x06\\x36\\xd1\\x56\\xad\\x88\\x88\\x67\\x8d\\x58\\xe4\\x18\\x03\\x8d\\x46\\x56\\x78\\xca\\x12\\x43\\x5c\\xb4\\xbe\\xc8\\x25\\x7a\\x5e\\x48\\xdb\\x68\\xa0\\x6b\\x55\\xef\\x9d\\xbb\\xf5\\xc9\\xb8\\xb3\\x07\\xf4\\xb3\\x7e\\xe1\\x3c\\xfc\\x0f\\x76\\xcd\\x59\\xdd\\x67\\x72\\x17\\xd6\\xcb\\x72\\xb1\\x5e\\x16\\x04\\x7d\\xa2\\x76\\x87\\x9b\\x47\\xa2\\xc5\\x8f\\xfc\\x69\\xe9\\x78\\xe3\\xd2\\x45\\x1f\\xa9\\x21\\x92\\x15\\x51\\x04\\x56\\x47\\xd4\\x69\\x45\\xa9\\xa3\\x73\\xcb\\x3f\\x26\\xf9\\xab\\x65\\x31\\x5f\\x9d\\x1c\\x77\\x9f\\x50\\x9b\\x39\\x65\\x92\\x2e\\xbe\\xeb\\xba\\xee\\xe3\\x92\\x18\\xa6\\xec\\x87\\x93\\x30\\xaf\\xeb\\x10\\x65\\x00\\xcc\\x1b\\x34\\xb0\\xee\\xe3\\x65\\x6b\\xbf\\x72\\xaa\\x30\\x4c\\x26\\xeb\\x1e\\x58\\xbd\\x69\\x37\\xca\\x57\\xcb\\x1d\\x4b\\xc6\\x61\\x85\\xe7\\xc8\\xe7\\xe9\\x5f\\xaa\\x5f\\x92\\x24\\x2e\\x3a\\xdb\\x86\\x0b\\xb2\\xed\\xf1\\xb9\\x0e\\x8f\\xba\\x84\\x60\\xd0\\xe4\\xb2\\xd9\\x61\\xb6\\x2b\\x3b\\x9c\\x6b\\xb5\\xdb\\xc3\\xc1\\x34\\x93\\x93\\x5c\\x59\\x97\\x92\\x66\\xb2\\xd9\\x4c\\x69\\xc8\\x27\\x1a\\x72\\xc4\\x4c\\xac\\xf3\\x66\\xba\\x7d\\xf1\\xda\\x88\\x88\\x16\\x52\\xa5\\x9b\\x96\\x40\\x39\\xa9\\x99\\x6d\\x53\\xf8\\x3a\\xdd\\xa4\\xe6\\x33\\x6e\\x3c\\xc0\\x2d\\xdd\\x7b\\x0e\\x1a\\x0d\\x7d\\x43\\xc6\\x8c\\xff\\x70\\xcd\\xa3\\x1c\\x52\\x7f\\x66\\x05\\xc8\\xb5\\x5b\\x35\\x71\\xfd\\xe3\\x64\\x18\\xcc\\x53\\xf3\\xb7\\x3d\\xc0\\x74\\x6d\\xf8\\x5d\\x5a\\x35\\x09\\xbf\\xc0\\x4b\\x5f\\xa4\\xbd\\x32\\x6c\\x7a\\x0b\\xdf\\xfd\\xad\\x6e\\x9f\\x71\\xf4\\xdf\\xcc\\x5e\\xfc\\x1e\\x45\\xd7\\x2f\\xb0\\xeb\\xf1\\xf9\\x66\\x63\\x7b\\x35\\x0b\\xd9\\x2c\\x7c\\xba\\x37\\xe4\\x0e\\xb8\\xbd\\xbc\\xcd\\xc8\\xe7\\xe6\\x78\\x2d\\x64\\x9e\\x06\\x16\\x66\\x41\\x24\\xe3\\x9b\\x21\\x3b\\xe2\\xf3\\xfb\\x80\\x66\\xe9\\x24\\xcf\\x39\\xca\\xd5\\x5a\\x04\\xd9\\xc9\\x7c\\x90\\x3c\\xd6\\xee\\x64\\xc8\\xc1\\x33\\x25\\x52\\x2e\\x4f\\x46\\x69\\xd8\\x29\\x2f\\x65\\xea\\xe6\\xad\\x19\\x36\\x09\\x5e\\x9e\\x11\\x9d\\x05\\xa5\\x35\\x57\\xd7\\x3d\\x7e\\x6d\\x0d\\x94\\xa6\\x45\\x6f\\x83\\x97\\x27\\x0d\\x5b\\x73\\xf2\\xe4\\xa1\\x65\\x27\\xa7\\xc1\\xd6\\x67\\xcd\\x9f\\xaa\\x0f\\xef\\x50\\xaf\\xae\\x59\\x03\\xf9\\xed\\x70\\xca\\xa7\\xe6\\xb3\\xea\\xa9\\x69\\xc7\\x57\\x1c\\x3a\\x49\\xe6\\xb9\\x63\\x79\\xb0\\x99\\x1b\\x0e\\xfc\\x64\\xe6\\xa1\\xd7\\xc5\\xda\\x6c\\x46\\x17\\x0a\\x04\\xdd\\x3a\\x7e\\x46\\xc1\\x22\\x54\\x13\\xb7\\x64\\x53\\x2c\\x91\\xa2\\x28\\x53\\x83\\x82\\x4c\\xcb\\xc8\\xc4\\x6a\\x03\\xc9\\x4d\\xd4\\x28\\x83\\x19\\xb2\\x6c\\x56\\x41\\xcf\\x61\\x05\\x5d\\x47\\xac\\x81\\x7d\\x67\\xa8\\x67\\xaf\\x5e\\x82\\x79\\x63\\x3e\\x98\\x85\\xb5\\x5b\\xff\\xaa\\x3b\\x31\\x91\\xaa\\x39\\xea\\x32\\xf5\\xfe\\x67\\xa0\\x08\\x5d\\x84\\x32\\xb6\\xad\\xd3\\xe8\\x55\\x9b\\xd5\\x3b\\x02\\x5b\\x53\\xf9\\x51\\x19\\x32\\x0c\\x6b\\x61\\xad\\x22\\x8f\\xbf\\x18\\x13\\xcb\\x6a\\xb5\\x39\\x54\\xee\\xcb\\x65\\xc4\\xe3\\x54\\x16\\x6f\\xbe\\x1f\\x0a\\xd0\\x42\\x31\\xad\\x81\\xba\\xc0\\x3c\\x81\\x2d\\xd3\\x55\\xb0\\xe4\\xfd\\xd5\\x2d\\xe7\\x8c\\xdf\\xb4\\x7a\\x6a\\xf7\\xf6\\xcd\\xcb\\x5c\\xf0\\x4f\\x95\\x87\\x7f\\xa2\\x3e\\x0d\\xef\\xc0\\x99\\x77\\x8c\\xba\\xeb\\xf9\\xce\\xc5\\xa5\\xda\\x67\\x4a\\xea\\x30\\x8e\\xf8\\x18\\x32\\x89\\xc7\\xcb\\xe6\\x62\\xdc\\x4c\\x20\\x60\\x71\\x23\\x04\\xdc\\xa2\\x68\\xb7\\xd8\\x07\\x29\\x96\\x00\\xe0\\x06\\x2a\\x20\\x45\\x38\\x50\\x5e\\x56\\x46\\xfd\\x5e\\x5a\\x2f\\x7d\\xfd\\xa3\\x21\\xcd\\xd1\\xa4\\x56\\x5e\\x39\\x1d\\x7b\\x24\\x93\\x31\\x37\\x9d\\x21\\xbb\\xe9\\xce\\x79\\xd5\\xed\\xda\\xb6\\x88\\x48\\xea\\xf8\\x7e\\x47\\x1f\\x1d\\xdf\\xb7\\xa4\\xc5\\xf0\\xda\\x5c\\x59\\x1d\\x0c\\x9b\\xed\\xb4\\xf4\\x37\\x1b\\x2b\\xdf\\x6f\\xf1\\x08\\xf7\\x51\\xef\\x7f\\xe4\\x74\\x28\\xbc\\xda\\xfd\\xc4\\xdf\\xac\\xc7\\x0c\\x83\\xc6\\xb5\\x66\\x0b\\x55\\x2e\\x4b\\x6d\\x68\\x46\\x06\\xdf\\x3c\\x70\\xdf\\x1d\\x18\\xd7\\xfe\\xfa\\x4c\\x61\\x3b\\xb6\\xa7\\xf3\\xa0\\xd9\\x46\\x18\\x08\\x32\\x60\\xa5\\x9f\\x05\\xb2\\x43\\xc4\\x46\\x7e\\xad\\x62\\xe1\\x38\\x68\\x34\\x1a\\x48\\x77\\x3c\\x28\\x55\\x37\\x8e\\xb3\\x34\\xf6\\x3b\\x14\\xc5\\xe7\\x0c\\x3b\\x08\\x4b\\x41\\x98\\xdf\\x69\\xf3\\x86\\x61\\x58\\x3d\\x0d\\x5f\\xfd\\x96\\x0c\\x1d\\xfe\\x03\\x5c\\x57\\x67\\xa8\\x17\\x98\\x63\\xa7\\xe1\\xda\\x37\\x60\\xd9\\xb7\\x27\\xd4\\xdd\\x6f\\xa8\\xcb\\xe9\\xde\\x2d\\xd3\\x67\\xf0\\x50\\x7c\\x4c\\x56\\xab\\x19\\x9f\\x94\\xc0\\x4b\\xa4\\xe4\\xcf\\x21\\xdb\\x30\\x47\\xa9\\x54\\xcc\\x2c\\x19\\xfd\\x20\\x0c\\x22\\xa5\\x5c\\xe2\\x20\\x6d\\x20\\x4f\\x93\\xf8\\x44\\xf4\\x00\\x7b\\xa4\\xc4\\x91\\x5d\\x12\\x2a\\x25\\xe8\\x08\\x11\\x57\\x48\\x08\\xb9\\x56\\x7d\\xf2\\x39\\x9c\\x71\\x92\\x8c\\xe8\\x39\\xf5\\x2f\\x75\\xf5\\xfb\\xcc\\xc4\\xb7\\x20\\xdc\\xff\\xeb\\xbb\\x6f\\xff\\xbe\\xff\\xea\\x09\\xed\\x0c\\xfd\\x6a\\x2d\\xbb\\x01\\xef\\x4b\\x80\\x44\\x9e\\x4c\\x3e\\x9f\\xcb\\xee\\x16\\x65\\x24\\x04\\xd3\\xdc\\x62\\x8d\\xc2\\xba\\x59\\x37\\x70\\x38\\xe4\\x6a\\xc5\\x81\\x00\\xa6\\x67\\x80\\xcd\\xa6\\xbf\\x88\\x0b\\x10\\x99\\x94\\x98\\x89\\xde\\x0a\\x16\\xc4\\x66\\x30\\xb3\\xd8\\xd8\\x07\\x4c\\xe5\\x27\\xea\\x85\\x3e\\x90\\x69\\xbb\\x76\\xc2\\xd6\\x07\\x86\\x3c\\xf3\\xf8\\x62\\xb8\\xb5\\xa1\\x3f\\xeb\\x57\\xc3\\x10\\x41\\x46\\x3d\\xae\\xd6\\x3e\\xf7\\xea\\xf8\\xbb\\x67\\x6e\\xdb\\x39\\x6d\\x45\\xf9\\xb7\\x70\\x1b\\xde\\xa7\\x96\\x16\\xf5\\x8f\\x1f\\xd5\\x8b\\xea\\x7b\\x04\\xc7\\x22\\x8c\\xe3\\x01\\x8a\\xe3\\x4d\\xd1\\x2c\\x6c\\x54\\x20\\x24\\x98\\x79\\x93\\x8f\\x4f\\x0b\\xf2\\xb6\\x1a\\xc5\\xcb\\x7b\\x79\\xbc\\x4f\\x66\\x32\\xa2\\x1f\\xb8\\xfe\\x2b\\x92\\x14\\x4d\\x12\\xa7\\x00\\xb9\\xa4\\x6e\\x33\\x44\\xbc\\xfe\\xc9\\x8a\\x23\\xb3\\x50\\xfd\\x41\\x3d\\x0e\\x59\\x08\\xd5\\x30\\xeb\\x6f\\xe8\\x0f\\xb7\\x2e\\x7e\\xfc\\xe9\\xa1\\x0f\\x6c\\x9d\\x70\\x7f\\x09\\x64\\xfa\\xa8\\x17\\xd4\\x5a\\x88\\xcd\\x94\\x4b\\x90\\xb3\\xc0\\x0f\\x4e\\x7c\\xab\\x2a\\xdf\\x96\\x2f\\x9f\\xfe\\xf7\\x67\\x66\\x2d\\x19\\xff\\xea\\x73\\x74\\x26\\xae\\xda\\x9f\\x9d\\x48\\x7b\\xc1\\xb6\\x8b\\xa6\\x7b\\x4d\\x26\\x9b\\x6c\\x75\\xda\\x59\\x21\\xe0\\x47\\x2e\\xe4\\x12\\x44\\x51\\x1e\\x84\\x45\\x86\\x00\\xb0\\x7c\\x0d\\xde\\x18\\x93\\xd6\\x36\\x91\\x8b\\x75\\x76\\x05\\xc4\\xf9\\x1b\\x47\\x92\\xc7\\xe2\\x61\\xd1\\xb0\\x5b\\x4d\\xd0\\xe5\\x55\\x1b\\x4e\\xfd\\xac\\x9e\\xfb\\xd7\\x3b\\xea\\xc3\\x68\\x59\\xc3\\xbb\\xb0\\xa2\\xee\\xd0\\x93\\xff\\x57\\x3d\\xc9\\xfa\\xdc\\x5b\\x90\\xff\\xea\\xd8\\x7f\\x9c\\x70\\xce\\xeb\\xef\\xaa\\x1b\\x5f\\x7a\\x60\\x83\\x7a\\x91\\x9e\\xef\\x12\\x3a\\x1f\\xb5\\x3d\\xd6\\xc5\\x3b\\x45\\x43\\xb6\\xb4\\x1c\\x41\\x70\\x3b\\x5c\\x7e\\x5f\\x1a\\x30\\xb4\\x28\\x68\\xee\\x68\\xee\\x40\\x1e\\x8f\\x7b\\x90\\xe2\\x11\\x51\\x5e\\x85\\x82\\xfe\\x02\\x2d\\x8a\\x18\\x41\\x4a\\x0b\\x83\\xd1\\xbe\\x6b\\x49\\x27\\x4c\\xdc\\xd5\\xc9\\x3a\\x2a\\x3b\\x22\\x4b\\x3d\\xf3\\xe9\\xe2\\x13\\xb7\\x8e\\x39\\x70\\x64\\xda\\x84\\xa2\\x49\\xcf\\xd4\\xc1\\xc2\\x86\\xf3\\x68\\x99\\xfa\\xcc\\xa9\\x83\\xca\\xbe\\xf7\\xe6\\x8c\\x9f\\x36\\xae\\x76\\x81\\x79\\xec\\xc6\\x03\\x7d\\xd7\\x8e\\x1b\\xb6\\xa8\\xa2\\xb9\\xb7\\x53\\x8b\\x96\\x85\\xce\\xfb\\xa1\\xfd\\xdd\\xbf\\xa9\\x9f\\x72\\xcb\\xee\\xad\\x9c\\x3b\\xb8\\x28\\xad\\x53\\xb3\\x76\\x37\\x8d\\x1c\\xae\\xd1\\xe8\\x02\\x7c\\x57\\x86\\x60\\xde\\x96\\x45\\xea\\x33\\x4c\\x1e\\xd2\\xb3\\x1a\\x65\\xf2\\xbe\\x80\\x27\\xcb\\x90\\x93\\x1d\\xa4\\x77\\xd7\\xc7\\x49\\x9c\\x04\\x9c\\x4e\\x6b\\x8d\\xe2\\x64\\x41\\x66\\x75\\x22\\x0f\\x3e\\x1e\\x90\\x4c\\xd2\\x09\\x22\\xda\\x6d\\x69\\x4b\\xae\\x8a\\x6e\\x4b\\x68\\x91\\x2c\\xda\\x18\\x1d\\x5f\\x1d\\x6c\\x50\\x84\\x5c\\xb7\\x57\\x3c\\xaf\\xfe\\x0a\\x2f\\x0c\\xbd\\x39\\x67\\x74\\xd5\\x88\\x6a\\x9b\\x7a\\xce\\xfb\\xcb\\x07\\x9f\\xa9\\x33\\x26\\xaa\\x6f\\x3c\\x3a\\xa8\\x83\\x9d\\x59\\xf3\\xfa\\xde\\xdd\\x2f\\xf7\\xea\\xdb\\x2b\\xa7\\xe7\\xc0\\x9a\\x1a\\xe9\\x1f\\x27\\xdf\\xda\\x76\\xdf\\x92\\x97\\xe7\\x0e\\xe8\\x9d\\xff\\x2d\\xc1\\x79\\x3c\\x96\\x0f\\xa3\\xb8\\xee\\x58\\x3e\\x74\\x8f\\xe6\\xfa\\x6d\\xac\\xd7\\x69\\x30\\x30\\x5e\\x1b\\x1b\\x08\\xb2\\xde\\x1a\\x45\\x64\\x45\\xd6\\x0c\\xcc\\xf6\\x1a\\xc5\\xec\\x40\\x7e\\xe0\\xaf\\x49\\x71\\x50\\x37\\x19\\x72\\x23\\x7e\\x69\\xcd\\x3a\\x63\\x43\\xe4\\xa6\\xc5\\x54\\x67\\x6c\\x30\\x4f\\x43\\x1f\\x35\\x5c\\xcc\\xc1\\x1a\\x9b\\xa0\\xfe\\xa9\\x5e\\x3b\\xa5\\x5e\\xf5\\x41\\x7f\\x7e\\xfd\\xdc\\xc9\\xf3\\xef\\x55\\xcf\\xec\\xe1\\xba\\x9f\\xfb\\xe6\\xcb\\x8f\\x2e\\xfd\\xf4\\xce\\x73\\xd6\\x3d\\xf3\\xee\\x9c\\x37\\x8b\\xe6\\xe4\\x42\\xb0\\x08\\xe3\\x57\\x85\\xe9\\x22\\x40\\xf0\\x0b\\x60\\x63\\xd1\\x85\\xf1\\xf3\\x89\\x6c\\x30\\x8d\\xf5\\x55\\x28\\x12\\x2b\\xb1\\x16\\x60\\x91\\x2b\\x14\\x0b\\x19\\xc9\\x18\\xc0\\xdc\\x47\\xfc\\xff\\xc2\\x4f\\x4f\\xee\\x69\\x84\\xe0\\x7d\\xe8\\x7e\\x95\\xab\\xf8\\xcf\\xef\\xb7\\x7e\\xba\\xf9\\x4d\\xf5\\xf7\\x1c\\x28\\x66\\xbf\\x3b\\x66\\xe6\\xe2\\x25\\xea\\xd7\\x4f\\xb0\\xed\\xdf\\x3d\\x7c\\x78\\xdf\\xe4\\x2d\\xc3\\x0f\\x6c\\x90\\xb7\\xf4\\x1f\\x32\\x72\\x10\\x9c\\xa9\\xf3\\x25\\x9a\\xf3\\xdc\\x0e\\x84\\x49\\xac\\x22\\x43\\xc6\\x9a\\x7d\\x18\\x7a\\xc3\\xc8\\x20\\xf3\\xf9\\x79\\x98\\x4b\\x31\\xae\\x60\\x85\\xe2\\xfa\\x6f\\xea\\x7c\\x2a\\x72\\x58\\x3f\\x2d\\x8d\\x90\\x82\\xed\\xf8\\xc4\\x96\\x1b\\x67\\x21\\xfe\\x6d\\xe5\\x63\\xc3\\xf7\\x9d\\x38\\x91\\x57\\xb9\\x7a\\xcf\\xc3\\x49\\x43\\x10\\x67\\x4f\\x1d\\x36\\xf1\\xc2\\x76\\x05\\x2b\\xa8\\xaa\\x7a\\xb4\\x5f\\x5e\\x51\\x76\\x66\\xfe\\xc0\\x3b\\xab\\xf5\\x01\\x88\\x1d\\xba\\x14\\x77\\x72\\xb5\\x1a\\x76\\xff\\x64\\x62\\x3b\\x2d\\xc1\\x3a\\xea\\x22\\xb6\\x12\\xeb\\xf4\\x3e\\xd2\\xf9\\xdd\\x0e\\x3c\\x46\\x96\\xe5\\x00\\x17\\xf0\\x9b\\x8c\\x46\\xde\\xe3\\xb2\\x3a\\x68\\x22\\x8d\\xc8\\x51\\x2f\\x63\\xac\\xa9\\x46\\xa3\\xd4\\x1e\\x09\\x70\\x44\\xa3\\xd7\\x47\\x48\\xa6\\x43\\x8e\\x36\\xfb\\xb1\\xb7\\x95\\xd9\\x45\\xea\\x93\\xea\\x02\\xf5\\x5b\\x68\\x14\\x38\\x36\\xb2\\x63\\xe6\\x92\\xe7\\xaa\\xd5\\x6f\\x3e\\x9b\\xb1\\xf0\\x87\\x2f\\x98\\x8d\\xea\\x1b\\x6a\\xcd\\xa6\\x93\\xdc\\x99\\x92\\xe9\\x55\\x63\\xa6\\xbd\\xb5\\x09\\x8a\\x7b\\xef\\x6b\\xd8\\x3d\\x0f\\x6a\\x73\\xfc\\xe1\\x8f\\x18\\xb9\\x7f\\xeb\\x73\\xcd\\xb0\\x9e\\x40\\xe6\\xd2\\xe3\\xdb\\x71\\x22\\xd6\\xc7\\x9e\\x8c\\x29\\x80\\x3f\\xfe\\xc2\\x1d\\xff\\xb3\\x98\\xfa\\xa2\\x20\\x36\\xf8\\xd0\\x73\\x7a\\xad\\x6d\\x46\\xd4\\x8a\\x00\\xab\\x4d\\xa4\\x87\\x5a\\xa9\\xfc\\x89\\xa2\\xa4\\x7e\\xe5\\x21\\x5d\\xef\\x82\\x9e\\x2b\\x2f\\x5f\\x21\\x20\\x28\\x18\\x08\\x6a\\xf1\\x9d\\x9d\\x8c\\x61\\x38\\xc0\\x80\\x68\\x9e\\x68\\x60\\x2d\\x16\\x3b\\xb4\\x62\\xbb\\x06\\x6f\\x87\\xd3\\x25\\x38\\x80\\xa3\\x56\\x61\\x81\\x59\\x94\\xc4\\x5a\\xc5\\x20\\xe1\\x1d\\x93\\x18\\x2b\\x71\\x4e\\x68\\x45\\xf8\\xa9\\x73\\x8b\\x62\\xba\\x68\\x44\\x1b\\x49\\xe8\\xd0\\xc6\\x2a\\xe8\\xcd\\x8d\\xb5\\xd0\\x77\\x2d\\x5c\\xf5\\x0b\\x5c\\xa5\\xce\\x21\\x7f\\x7e\\xd1\\xfe\\xc3\\x76\\x80\\x0f\\xa8\\xd3\\x4f\\xab\\xbf\\x9e\\x56\\x67\\xc2\\xb5\\xa7\\xa1\\x89\\xda\\xbb\\xf0\\x43\\xfc\\x82\\x7f\\xd2\\x78\\x12\\x4b\\xed\\xdf\\x2c\\xbc\\x1f\\x32\\xbf\\x43\\xca\\x33\\x76\\x63\\x68\\x55\\x36\\x3c\\x80\\x17\\x1a\\xf0\\x37\\x2e\\x0c\\xf4\\x5c\\x79\\xb2\\x86\\xe1\\x0e\\x4a\\x79\\xcc\\x0a\\x58\\x40\\xd7\\xd4\\xeb\\x6b\\xec\\xf1\\x35\\x1e\\xac\\x87\\xb7\\xe2\\x8e\\xd3\\x35\\x34\\xa3\\x1e\\x1e\\x4c\\x5d\\x83\\xe9\\xa3\\xe2\\xfa\\x15\\xf6\\x0e\\x2c\\xc7\\x38\\xbc\\x2b\\xad\\xa3\\x7e\\xb3\\x8d\\x1c\\x86\\x83\\xb4\\xac\\xb4\\x63\\xad\\xc3\\xee\\xb0\\x40\\x04\\x50\\x82\\x75\\x45\\x52\\x92\\x11\\x22\\xf4\\xad\\x4b\\xe3\\x0e\\x7c\\x62\\x87\\x56\\x5c\\x84\\x25\\x3d\\x73\\x5a\\x0d\\xee\\xf1\\xf1\\x33\\xfb\\x07\\xfa\\xb9\\x6e\\x57\\x9f\\x38\\x7b\\xd6\\x3e\\x7f\\x32\\x5a\\x73\\x6d\\xfe\\x7f\\xbe\\x60\\x69\\x1d\\x4e\\x05\\xa6\\xc9\\x71\\x34\\xce\\xe1\\xc0\\x54\\xd9\\x2f\\x5a\\x20\\x99\\xcd\\x0e\\xe0\\x71\\x3a\\x39\\x9f\\x95\\x50\\xa6\\x5d\\xaa\\xad\\xb2\\x03\\x17\\x72\\x7a\\xaa\\x15\\xa7\\x6c\\xb3\\xd6\\x2a\\x36\\x91\\x37\\x20\\x43\\x8d\\x82\\x02\\x29\\xd3\\x9c\\x75\\x2f\\x6e\\xb2\\x75\\xcc\\x25\\x3b\\xe6\\xb1\\xe6\\x91\\x47\\xda\\x99\\x51\\x34\\xd9\\x71\\xdb\\x9e\\x9c\\xd6\\xad\\xcf\\xe0\\xf6\\x9d\\x3f\\x84\\xcf\\x9f\\x3d\\x7b\\xf5\\x47\\x8c\\xa8\\xf5\\xd8\\x87\\x99\\x9f\\x65\\xcc\\xaa\\xd3\\x06\\x2d\\x5f\\x45\\x14\\x5d\\x8a\\x23\\x8f\\x71\\xbc\\x4d\\x9f\\x31\\x9d\\x06\\x46\\x46\\x8b\\xb1\\x1e\\x62\\x03\\x9c\\xd5\\x66\\x0b\\x38\\x38\\x01\\x31\\x42\\x7a\\x86\\xd9\\x54\\x5b\\x65\\x06\\xc1\\x00\\xb6\\xe1\\x45\\xa7\\xdb\\xee\\x1e\\xa8\\xd8\\x03\\x7f\\x31\\x15\\x39\\xc5\\x0d\\x51\\xd0\\xd8\\x36\\xa0\\x73\\x8d\\x08\\xb2\\x1c\\x46\\x16\\x35\\x7a\\x01\\xf8\\xcf\\x0f\\x1b\\x46\\x5c\\xfc\\x7f\\xa4\\xfd\\x07\\x7c\\x14\\xd5\\xfa\\x3f\\x8e\\x9f\\x33\\x67\\x66\\xb6\\x97\\xd9\\xdd\\xd9\\xde\\x37\\xc9\\xa6\\x87\\x64\\x53\\x48\\x20\\x64\\x09\\x84\\x5e\\x52\\x40\\x58\\x11\\xe9\\x45\\x7a\\xef\\x88\\x74\\x50\\x8a\\x52\\x54\\x8a\\xa2\\xa2\\x82\\x0a\\x52\\x6d\\x20\\x45\\xe4\\x82\\x0a\\x28\\xb6\\xcb\\x55\\xaf\\xe5\\x2a\\x5e\\xef\\xb5\\x7b\\xf5\\x5a\\x20\\x19\\xfe\\xe7\\xcc\\xcc\\xb6\\x04\\xef\\xf7\\xf3\\x7f\\xfd\\xcc\\xcb\\x10\\x96\\xc9\\x99\\xe7\\x9c\\xf3\\x9c\\xa7\\x9d\\xe7\\x79\\x3f\\xcf\\xc2\\xcd\\xf0\\x85\\x2f\\x61\\xca\\x0c\\xa4\\x3e\\xca\\x6f\\x91\\x72\\xef\\xe4\\x24\\x40\\xda\\x9e\\xaa\\x80\\x8d\\x58\\x50\\x0c\\x45\\x21\\x15\\x6b\\x30\\x99\\x6c\\x2c\\xa2\\xed\\x0e\\xb5\\x96\\xd7\\x0e\\x8b\\xf1\\x66\\x16\\x1a\\x15\\x34\\xc2\\xbe\\x81\\x49\\xec\\xdb\\x1f\\xa9\\xac\\xac\\x69\\x75\\x57\\x2d\\x9e\\x25\\x84\\xf9\\x39\\x62\\xc6\\x7f\\x49\\xdf\\x66\\xb8\\x79\\xc9\\xd9\\xef\\x56\\xbc\\x5a\\x9e\\xd8\\x69\\xea\\xf3\\x16\\x2f\\x53\\xd7\\x82\\x97\\xee\\xda\\xf1\\xb4\\x0d\\x47\\x62\\x1e\\x78\\x03\\x5e\\x4b\\xac\\x0c\\x81\\x17\\xdc\\x12\\x2d\\x74\\xda\\x6c\\x76\\xaf\\x8b\\xd3\\x6a\\x2d\\x00\\xe8\\x59\\x97\\x9d\\xf1\\xf9\\xb1\\x5b\\xe5\\x76\\x20\\xde\\x6e\\x32\\x71\\x23\\x87\\x98\\x80\\x41\\x3f\\x12\\xdb\\x25\\x48\\x25\\x6f\\x79\\x4a\\xf1\\x58\\x44\\x74\\x1a\\x52\\x5d\\x7d\\x2e\\xb9\\xf1\\x59\\xad\\x77\\x3e\\x41\\x3d\\xdd\\x70\\xf8\\xfe\\xca\\x05\\xe1\\xa5\\x3d\\xda\\x17\\x2e\\x83\\xb3\\x7f\\xfe\\xb9\\x65\\xa6\\x48\\xbf\\xee\\xd4\\xc7\\x6e\\xdb\\x07\\xc5\\x93\\x26\\xc5\\x39\\x20\\x75\\x1a\\x84\\xf6\\x4a\\x99\\x57\\xcd\\xd8\\x0b\\x0c\\x13\\x3c\\x62\\xbd\\x52\\xa9\\x32\\x83\\x0c\\x9f\\x2f\\x6c\\xb1\\x04\\x1c\\x40\\xc5\\x64\\xe7\\x64\\x66\\x34\\x0d\\xc9\\x04\\x36\\x77\\x63\\xcc\\xe6\\xc4\\xff\\xbb\\x8c\\x46\\xec\\x79\\x69\\x03\\xd8\\xdd\\xa9\\x8f\\x05\\xb5\\x06\\xa0\\x92\\xba\\xa9\\x26\\x6e\\x79\\x6b\\x12\\x81\\xf1\\xd6\\x93\\x68\\xd5\\xb7\\xba\\x3c\\x52\\xe2\\x80\\x37\\xe5\\xe8\\x3f\\x32\\x0a\\x4a\\xbb\\xfc\\x87\\xfd\\x86\\xed\\xb6\\xfc\\x77\\x38\\x3f\\xce\\x16\\x1b\\xe0\\xcc\\xab\\x57\\x49\\x65\\xe9\\xd3\\x1b\\xc8\\x45\\xcf\\xe3\\xfd\\x86\\x88\\x6d\\xa2\\xd3\\xb9\\x1c\\xdc\\x0c\\xd7\\x4c\\x55\\x07\\x39\\x51\\x36\\x10\\x08\\xfc\\xb8\\xfc\\x68\\x8d\\x65\\xb6\\x46\\x7a\\x22\\x22\\x4a\\x8f\\xb6\\xd8\\x15\\x89\\x31\\x08\\x6c\\x4b\\x7c\\x0c\\xe9\\x7e\\xf5\\x48\\x02\\xaf\\x62\\x8d\\x55\\x20\\x4f\\x68\\xe2\\x63\\xb4\\xaa\\x97\\x4c\\xd2\\x61\\x4b\\x8e\\xd1\\xba\\x46\\x52\\xa6\\xc3\\x1e\\x1f\\xa3\\x55\\x5d\\x45\\x92\\x0e\\x73\\x72\\x8c\\xd6\\x75\\x1a\\x6b\\x7e\\x13\\x9f\\x48\\x1f\\x43\\x91\\x17\\x1f\\x43\\xf9\\x0b\\x35\\x16\\x8f\\xa1\\x7d\\x0e\\x51\\x50\\xa2\\x24\\xad\\xd6\\x62\\xbb\\x34\\x8e\\x31\\x0b\\x4c\\xf8\\x0d\\x18\\x15\\xaa\\x5e\\xd0\\x03\\x4b\\x93\\x78\\xca\\x29\\xe3\\xfc\\x57\\xec\\x33\\x2b\\x8e\\xe3\\x69\\x3b\\xce\\x17\\xc9\\x71\\x00\\x19\\xa7\\x0b\\x9c\\x4c\\xea\\x04\\x6e\\x32\\xce\\xaf\\xff\\x93\\x9e\\x8f\\x5a\\x8d\\x53\\x07\\x75\\x64\\x3d\\x6f\\x32\\xce\\x6f\\xd4\\xe4\\xf8\\x38\\xbe\\xb6\\xe3\\xfc\\xad\\xd5\\x38\\xb5\\xe0\\x94\\x3c\\x8e\\x88\\xa3\\x44\\xf7\\x33\\xb1\\x94\\x33\\xc9\\x3f\\xe2\\xb8\\x19\\x69\\xeb\\x45\\x23\\xca\\x92\\x3a\\xae\\x84\\xd7\\xbb\\x5d\\xe2\\x21\\x32\\xee\\x8f\\x64\\x87\\x7a\\x41\\x33\\x5e\\xaf\\x5b\\xa2\\x15\\x74\\x75\\x34\\x2f\\xaf\\x47\\x75\\xd4\\xe3\\xc1\\xdf\\x9c\\x2e\\xfc\\xcd\\x66\\xc3\\xdf\\x78\\xbe\\x47\\xf5\\x5d\\x46\\x23\\xfe\\x49\\x6f\\xc0\\xdf\\xb4\\x5a\\xfc\\x4d\\xa5\\xea\\x51\\x8d\\xa8\\x72\\x2e\\x8b\\x6e\\x05\\x0e\\x2c\\x56\\x4e\\x70\\x79\\xf1\\xff\\xca\\x6e\\x4a\\xdf\\xef\\x22\\x7d\\xea\\xa3\\x48\\x66\\xf0\\xb2\\xb6\\xb4\\x51\\xdb\\x7f\\x7a\\x5d\\xa4\\xcd\\x84\\x69\\xeb\\x12\\x8d\\xa0\\x4a\\x42\\x5b\\x25\\xa1\\xad\\x92\\xd0\\x56\\x49\\x68\\xab\\x24\\xb4\\x55\\x12\\xda\\x2a\\x09\\x6d\\x95\\x84\\xb6\\x4a\\x42\\x5b\\x25\\xc1\\xf8\\xc3\\x03\\xa7\\x12\\x22\\xd3\\x71\\x8a\\x9d\\x8c\\xdf\\xb1\\x06\\x48\\x33\\x7f\\x11\\x2a\\x44\\xee\\x4d\\xf2\\xa6\\x88\\x4f\\xcc\\x90\\x7a\\xa6\\xbd\\xf2\\x33\\xed\\x44\\xfe\\x45\\x9d\\xe3\\x7a\\x5a\\xca\\x4b\\x7a\\x55\\xf4\\x37\\x46\\x47\\x79\\xbf\\xdb\\x6d\\xb1\\xa8\\xbc\\x2e\\x97\\x9e\\x02\\xb4\\x8a\\x0e\\x65\\x20\\xb7\\xc7\\x4d\\xe2\\x7f\\xee\\x18\\xf0\\x04\\xfc\\x23\\x62\\x9e\\x80\\xc1\\x10\\xf0\\x20\\x56\\xa3\\xe1\\x86\\x61\\x9f\\x9d\\xc5\\x8a\\x94\\x6d\\x9b\\x9e\\x74\\x93\\x5a\\x85\\x44\\xfd\\x35\\x31\\x4b\\xe3\\x89\\x4a\\x56\\x5b\\xeb\\xe4\\x24\\x29\\x41\\x69\\xc8\\x90\\x78\\x8a\\xd2\\xd1\\xab\\xe5\\xa9\\xb9\\x49\\xdf\\x42\\x0b\\xc9\\x4f\\x82\\xaf\\x6c\\x99\\x25\\xa7\\x28\\x1d\\x3b\\x11\\xcf\\x4c\\xd2\\x6c\\xe9\\x43\\x72\\x93\\x32\\xb1\\x0f\\xb8\\x97\\xee\\x8d\\x7d\\xc0\\x72\\x30\\x25\\x5a\\x56\\xac\\xc9\\xcb\\xe1\\x28\\xca\\xe1\\x76\\x78\\x82\\x9a\\x5c\\xb6\\xa2\\x7d\\x08\\xbf\\xdb\\x9f\\xd5\\x10\\xf3\\x63\\x5f\\x4a\\x59\\x2a\\x82\\x88\\x9a\\x94\\x0c\\x76\\xa6\\x0d\\xfa\\xc2\\xfa\\x98\\xde\\xe8\\xc9\\x05\\xb9\\x2f\\x42\\xdd\\x91\\x98\\x53\\xac\\xd2\\x4f\\x6a\\xd7\\x64\\xdc\\xb0\\xad\\xd9\\x2d\\x3b\\x59\\x81\\x8a\\xb2\\x8a\\x74\\x5c\\x38\\xec\\xd7\\x06\\xb0\\xd4\\xc5\\x6e\\x16\\xf9\\xdc\\x8f\\xa4\\x98\\x41\\x45\\x20\\xf5\\xd6\\x37\\x13\\xd9\\x20\\x45\\x15\\xef\\x9b\\x78\\xe8\\xb5\\x37\\x4f\\xdf\\xf1\\x70\\x3e\\x83\\x8d\\x4f\\x35\\x0b\\x07\\x0e\\x0f\\xfc\\xfa\\xba\\x30\\xbb\\x14\\x3a\\x34\\x4d\\xf5\\x3d\\x47\\x9a\\x9b\\x7f\\x43\\xce\\x69\\x23\\x46\\xdf\\x31\\x71\\xf8\\xa8\\x69\\x99\\x1d\\x66\\xf6\\x1e\\x00\\x35\\x5f\\x41\\x16\\xfa\\x46\\xdc\\x1e\\x9a\\x67\\x9e\\xb4\\xa1\\xf9\\x1f\\x81\\xa1\\x4f\\xed\\x03\\x37\\x02\\xa5\\x65\\xf5\\xfd\\xa8\\xb5\\x8f\\x1f\\x7b\\xee\\xc0\\x7d\\x0f\\xef\\x05\\x37\\xc3\\x06\\x4b\\xca\\x31\\x77\\x92\\x57\\x5a\\xe3\\x81\\x49\\x72\\x8c\\xe0\\x8d\\x49\\x72\\x4c\\xcc\\xf9\\x61\\xf7\\xca\\x58\\x2c\\xe2\\x18\\xf8\\xd3\\x14\\x99\\x8c\\xd7\\x5e\\xcc\\xc3\\x61\\x9f\\x02\\x1a\\xbc\\x74\\xfd\\xa3\\x39\\x50\\xad\\x46\\x62\\xc7\\x6b\\xf1\\x96\\x4e\\xa3\\xe7\\x69\\x9b\\xd5\\x64\\x36\\xde\\xa5\\x63\\x44\\xac\\x15\\x95\\xd2\\xc0\\xa0\\x14\\xac\\x95\\x9a\\x88\\xad\\xd2\\xf8\\x89\\xf3\\x52\\x5a\\x2f\\xf7\\x04\\xc2\\x40\\x0a\\xe6\\x0a\\x15\\xca\\x2c\\x8b\\xd8\\x88\\x8f\\xd3\\x06\\x7c\\x45\\xb8\\xfd\\x4b\\x41\\x78\\xe4\\x5d\\xfa\\xc2\\x2e\\x31\\x33\\x07\\x2b\\xdc\\x32\\x29\\x23\\x87\\xd9\\xfc\\x87\\x67\\xd5\\x2a\\x8f\\x9c\\x97\\x80\\x75\\xef\\x4a\\xb1\\xc6\\xb5\\x84\\x74\\xe1\\xa5\\x76\\x8e\\x96\\x3e\\xbf\\x0d\\x7f\\x3e\\x5d\\xac\\x1d\\x6e\\x4c\\xfb\\x5c\\x7c\\x9e\\x1d\\x8b\\x4f\\x32\\xfe\\xc4\\x98\\x5e\\xdd\\x8f\\x4f\\x53\\x2e\\x23\\xaf\\x91\\xf8\\xfb\\xcc\\x90\\xc4\\x73\\xd2\\x28\\x77\\x53\\x64\\x0c\\x31\\xf6\\x44\\xf6\\x00\\xce\\x4f\\xdf\\x03\\x4f\\x72\\x0f\\x08\\x56\\xdd\\xed\\x64\\x0f\\xa8\\xa6\\x44\\xed\\x2b\\xd9\\xa5\\xf8\\x1e\\x10\\xec\\x9c\\x9a\\x14\\xec\\x9c\\x35\\xe3\\x25\\x6d\\x24\\x9d\\x66\\x44\\x6c\\x77\\xfa\\x75\\x6c\\x9f\\x91\\x9e\\x48\\x2e\\xd0\\x2b\\x1a\\xd6\\xd3\\x4e\\xb3\\x0a\\xf0\\x0e\\x93\\xc3\\x0a\\xcc\\x34\\xeb\\xf6\\x38\\xac\\x56\\x1d\\xa3\\x1b\\x16\\xb3\\x31\\xc8\\xe2\\xc4\\x9e\\xba\\x7e\\x58\\xcc\\x2c\\x66\\x68\\x49\\x5e\\x88\\x3d\\xfe\\x43\\x2b\\x63\\x0d\\x1a\\x29\\xf1\\x82\\xd4\\x84\\xe2\\x37\\xd4\\x30\\x10\\xef\\x8b\\x4d\\xcd\\x38\\xf8\\x78\\xf3\\xdf\\x8f\\x1d\\xfb\\x47\\xa7\\x7e\\xd0\\xde\\xa5\\x04\\xb5\\x6f\\xd9\\x09\\xfb\\x0a\\x1f\\x51\\x59\\xc2\\x11\\x38\\x8a\\xda\\x2f\\xbc\\x20\\xec\\x64\\xea\\x84\\x97\\x84\\x03\\x3f\\x9e\\x6d\\x5e\\xfe\\xa5\\x50\\x71\\x11\\x6d\\xfa\\xea\\x7c\\xf3\\x1d\\x40\\xa6\\xf7\\x99\\x04\\xbd\\x8d\\xd1\\x02\\x3d\\xad\\x02\\x0e\\x93\\xc5\\xee\\xb2\\xf3\\x26\\x40\\xe8\\xb5\\xf3\\x56\\x7e\\x64\\xcc\\x6a\\x20\\x34\\x33\\xc8\\x8c\\x27\\x32\\x32\\x66\\xa2\\x09\\xd9\\x62\\xfa\\xba\\x2c\\x68\\xec\\x29\\xc5\\x44\\xad\\xe9\\x0e\\x05\\xd2\\xe8\\x36\\x27\\xda\\x79\\x53\\x33\\xf6\\xec\\x16\\xae\\x7d\\xf5\\xd2\\xc1\\xcf\\x3b\\xf5\\x85\\xb6\\x2e\\x25\\x3f\\x41\\x87\\x20\\xc0\\x3f\\x84\\xaf\\x61\\x3b\\x4c\\xf5\\x01\\xe1\\x71\\x4c\\xf5\\x71\\x61\\xff\\x6f\\x27\\x9a\\x97\\xff\\x53\\x28\\x3f\\x43\\xed\\xbf\\x70\\xb6\\x65\\xd0\\x25\\xd1\\x86\\xc7\\xfe\\x0f\\x7d\\x58\\xb4\\x3b\\x5d\\x20\\x13\\xcb\\xcd\\x0a\\x2b\\xcb\\x69\\xa0\\x3e\\xe4\\xf6\\x06\\x33\\x83\\x3e\\xb7\\x9e\\x65\\xb3\\xc2\\x41\\x9f\\xdf\\xd7\\x14\\xf3\\x1b\\x3c\\x21\\x77\\xa8\\x29\\xe6\\xe6\\xb5\\x00\\x6a\\x90\\x4a\\x65\\xa9\\x8f\\xa9\\x44\\xbc\\x62\\xd4\\x26\\x8f\\xbc\\xa6\\xed\\x7d\\x4e\\x4a\\x42\\x79\\x4a\\x45\\xbf\\x98\\xd2\\x24\\x22\\x61\\x4b\\x97\\x15\\x30\\x31\\x27\\x78\\x2f\\x1d\\x19\\x32\\x71\\xd1\\xc2\\x19\\x7d\\x2b\\x2e\\x32\\x6f\\xe5\\x67\\xd6\\xe7\\x64\\x84\\x0b\\x08\\xc8\\x26\\x3e\\x23\\xbf\\x0a\\xef\\xc2\\xee\\xe5\\xbd\\x60\\x0e\\x16\\x1a\\x0a\\x98\\x5b\\x0b\\xcf\\x5c\\xf7\\x3f\\x30\\x90\\x0a\\xee\\x3f\\x29\\x6c\\x78\\xf1\\x85\\x4b\\xc2\\xea\\x57\\xa8\\x67\\x2f\\x9c\\x69\\x19\\x78\\x29\\x55\\x66\\x3c\\x19\\x97\\x19\\x32\\xd6\\x2b\\xe6\\x36\\x7f\\x6b\\x99\\x71\\x38\\x2e\\x33\\xc0\\x9c\\xd9\\xa2\\xcc\\x28\\x95\\xf8\\x11\\x82\\xd8\\x8d\\xef\\xc4\\xda\\x1f\\x17\\x89\\x6b\\xb0\\x2a\\xbb\\xc5\\xc2\\x3b\\x00\\xc7\\x73\\x2a\\x92\\x88\\x6d\\x1e\\x1e\\xb3\\x2b\\xec\\x0a\\xde\\x69\\x45\\xbc\\x49\\x87\\x46\\xc4\\x74\\xf1\\x2b\\x25\\x29\\x78\\xdf\\xca\\x8a\\x8d\\xe3\\x1b\\x88\\x8e\\x82\\x74\\xc9\\x56\\x0d\\x49\\x52\\x8a\\xf8\\xaf\\xd4\\x8f\\xd9\\xf9\\xf9\\xe1\\x9f\\x3a\\xaf\\x5f\\xbc\\x60\\x65\\xe5\\xf1\\x9f\\x7e\\x3a\\xfe\\x0d\\x3c\\xbd\\x6e\\xd6\\xe8\\x9d\\xd4\\x6d\\x2d\\xfb\\x9e\\x7f\\x63\\xc8\\xad\\xe7\\x8f\\xcd\\x69\\x39\\x83\\xa5\\xc1\\x77\\x94\\x59\\xcc\\x23\\xd8\\x82\\xfd\\x98\\x5b\\xc5\\xfd\\xcb\\x8f\\x5a\\xec\\xa4\\x6f\\x04\\x87\\xfd\\x7f\\xb7\\x47\\x67\\x21\\xe9\\xe0\\x4a\\xa4\\x78\\x11\\x2a\\xe5\\x02\\xa0\\xf4\\x6e\\x11\\x14\\x69\\x67\\x4d\\xdc\\x71\\x39\\x60\\x21\\x9b\\xd5\\x9d\\x28\\x7a\\x71\\xff\\x1d\\xc2\\xbf\\x85\\x8f\\xa1\\xb1\\x76\\xdb\\xd4\\xf9\\xc7\\xc7\\x0a\\x57\\x86\\x4c\\x1c\\xb7\\xf0\\xc4\\xf6\\x06\\xd4\\xe5\\x49\\xe1\\xc7\\xbf\\x9f\\x9e\\xf3\\x15\\x7b\\xe8\\xc9\\xb1\\x03\\xd7\\xfc\\xf6\\xe2\\x53\\x4f\\x3e\\xb4\\xb4\\x25\\x63\\xce\\x81\\xab\\x29\\xd8\\x34\\x7b\\xb0\\x4f\\x5e\\x0b\\x8e\\x02\\x88\\x57\\xb1\\xb8\\x8d\\x4f\\x9e\\x8e\\x9f\\xc3\\x82\\x2e\\x4f\\x8b\\xe7\\xde\\x2b\\xad\\x33\\x1d\\xb7\\xb9\\xf1\\x7c\\x6c\\xd8\\xa7\\xcc\\x01\\x5b\\xa2\\x7e\\xa7\\xcb\\xe5\\xb1\\xdb\\xbd\\x1a\\x2f\\x20\\xf7\\x57\\x0c\\x47\\x67\\x68\\x14\\x4a\\x1a\\x29\\x35\\x1c\\x40\\x4c\\x5e\\x6e\\x98\\x14\\x02\\x7b\\x4d\\x7c\\x8f\\x70\\x38\\xa0\\x0f\\x6c\\x8a\\x79\\xf4\\x1e\\xbd\\xca\\xc9\\xb0\\x16\\x76\\x44\\x8c\\xb7\\x58\\xd0\\x18\\x0e\\x72\\x2f\\xde\\xb8\\x2c\\x36\\x80\\xe2\\x28\\x95\\x41\\x89\\x3d\\x3a\\x31\\xed\\x2e\\x42\\x52\\xef\\x86\\xc6\\x2b\\xd3\\xed\\x45\\xf2\\x56\\x91\\x1f\\xd3\\xdc\\x4f\\xe2\\x4a\\x25\\xfa\\xea\\xc9\\xdb\\xa7\\x80\\x01\\x84\\xbf\\xa0\\xdc\\xf1\\x0d\\x19\\x20\\xfe\\x6b\\x16\\x12\\x01\\xa9\\x6c\\xa9\\x3d\\x2e\\x07\\xb7\\x83\\x4f\\x08\\x1f\\x0e\\x16\\x0a\\x6f\\x11\\x3e\\x80\\x4f\\x14\\xaf\\x9c\\x3c\\x75\\xf9\\x4f\\x8a\\xc8\\x38\\xd8\\x79\\x6c\\xfe\\xdc\\x7f\\x11\\xac\\xaa\\xca\\xf6\\x45\\x85\\x55\\x55\\x85\\x45\\xed\\xe9\\x33\\x3d\\xcb\\xaf\\x9f\\x80\\x0a\\xe1\\x0f\\xba\\x36\\xd2\\x37\\x36\\x65\\xaa\\x70\\xce\\xfb\\xb4\\x70\\x09\\x46\\x56\\x53\\x16\\xdf\\x95\\xbc\\x0b\\x3f\\xf9\\xc3\\x59\\x81\\x40\\x56\\x18\\xa4\\xd8\\x8c\\x4f\\xc9\\x76\\x59\\x98\\xda\\x71\\xe3\\xb7\\x1b\\x93\\x45\\xde\\x9e\\x05\\x7e\\x03\\x39\\x51\\x8e\\xee\\x65\\xed\\x80\\xa8\\xee\\x46\\x7a\\x78\\xaf\\xbe\\xd8\\x08\\x24\\xf6\\xe0\\x47\\xc9\\xc6\\x0f\\x22\\x38\\x55\\x99\\xf1\\xd7\\xd2\\xa4\\xfd\\xb5\\x27\\x6e\\x7f\\xe1\\x31\\xfe\\x2b\\x62\\x7a\\x51\\x3c\\xc1\\x8f\\x80\\xe8\\x28\\x6f\\x47\\xa9\\xf8\\x11\\x92\\x2d\\x76\\x58\\xb6\\xc5\\xf0\\x59\\x99\\x22\\xd6\\xa4\\xa2\\x4e\\x5c\\x16\\x9a\\xd3\\xa9\\xb3\\x25\\x27\\xe5\\x59\\xb1\\x57\\x8d\\x38\\xf6\\x76\\x79\\xec\\xd1\\x52\\x9d\\x2e\\x0a\\x31\\x59\\x68\\x72\\x28\\x4b\\xc1\\xfd\\x09\\xbe\\xfc\\x31\\x69\\xec\\xd1\\xd2\\xd8\\x19\\x78\\xec\\x89\\x19\\x61\\x75\\xdb\\x9e\\x66\\x27\\xe2\\xf6\\x2b\\x75\\x99\\x72\\x80\\x9f\\x44\\xfb\\xd5\\x92\\xb0\\x5f\\x23\\x52\\x4f\\x13\\x53\\x1c\\x0f\\xfa\\x32\\xa5\\x90\\x6d\\xdc\\x6a\\x2e\\xfe\\x4c\\x2b\\x3f\\x8f\\x7a\\x07\\xdb\\xc1\\x7f\\x25\\xa7\\xdf\\xd9\\xda\\xcf\\x7b\\x37\\x31\\xce\\x3b\\x54\\xa3\\xe4\\x61\\x55\\x27\\x63\\x49\\x53\\x45\\xdc\\xd5\\x13\\x09\\xdc\\xd5\\xcb\\x54\\x17\\x91\\x9e\\x84\\x3b\\x82\\x9f\\x69\\x10\\xb1\\x56\\x2f\\xca\\x58\\xab\\xe4\\x99\\x4c\\x99\\x9e\\xec\\x04\\x3d\\xad\\xf1\\x5b\\xdf\\xa1\\x16\\x88\\xf4\\xc0\\x14\\x7f\\x4f\\xc2\\x6c\\x7d\\x2b\\x31\\xce\\x3b\\xd4\\x84\\x1b\\xcd\\x84\\x9e\\xec\\x24\\x3d\\xdd\\x44\\xdf\\xf3\\x04\\xe6\\x8e\\xcb\\xd8\\x23\\xf9\\x89\\x93\\x72\\xb1\\xd5\\xf8\\x68\\xd2\\x09\\x7a\\xba\\x49\\xb9\\xbd\\xf2\\x33\\x64\\xc5\\x7f\\x8e\\x3f\\x93\\xa0\\xa7\\x35\\xfe\\x62\\x7c\\x7d\\x52\\xe9\\x91\\x7c\\xd8\\xb7\\x64\\x1f\\x56\\xa4\\x59\\xa4\\x87\\xa0\\x8a\\xc4\\x9f\\x91\\xfc\\xd8\\x13\\x09\\x6c\\x9e\\xcb\\x54\\x40\\xde\\xaf\\x40\\xda\\x7e\\x4d\\x17\\xd7\\xa7\\xb1\\xd5\\x7e\\x05\\x13\\xf4\\xc8\\xfe\\x30\\xa6\\x59\\xa4\\x04\\xd3\\x5c\\x22\\xc9\\x19\\xd4\\xda\\x1f\\x7e\\x37\\x31\\xce\\x3b\\xa2\\x6f\\x83\\xd7\\x27\\x98\\xa4\\xa7\\xaf\\x88\\x9b\\x72\\x22\\x81\\x9b\\x72\\x53\\x7a\\x44\\xac\\x94\\x8b\\x71\\x0c\\x96\\x04\\x3d\\x14\\xf4\\xa7\\xed\\x57\\x2a\\xfe\\x4a\\x82\\x7f\\x02\\x49\\x7a\\x24\\xcc\\x95\\xb7\\x12\\xe3\\xbc\\x23\\x22\\x77\\x11\\x1d\\x94\\xa4\\x67\\x98\\xe8\\xa3\\x4b\\xfb\\x15\\x11\\xf7\\xab\\x7d\\x9b\\xfd\\xaa\\x16\\x7d\\xf4\\x8b\\x09\\x2c\\x80\\xcb\\x14\\x27\\xd3\\x93\\x5c\\x1f\\xd9\\xd7\\x4f\\x59\\x9f\\xf6\\xd2\\xfa\\xd0\\xad\\x7d\\xfd\\x77\\xc5\\x67\\x62\\xe2\\xbe\\x0f\\x96\\x9f\\x49\\xd2\\x93\\x25\\x64\\xa6\\xe2\\xa7\\x50\\x5f\\x51\\x33\\x6e\\x7c\\x4b\\xd0\\x09\\x8c\\xc5\\x25\\xe9\\xf8\\x29\\x99\\xa9\\xf8\\x29\\xf8\\xb9\\x59\\xd2\\x73\\x6c\\xfa\\x73\\xd5\\x42\\x65\\x0a\\xc6\\x09\\x79\\x8e\\x18\\xa5\\xf8\\x39\\xc6\\xc8\\x31\\x8a\\xe4\\x73\\x8f\\xe2\\xf1\\x92\\x18\\x27\\xe4\\xb9\\x45\\xf2\\x7b\\x03\\x41\\xc8\\x25\\xf1\\xed\\xba\\x09\\xb3\\xe9\\x69\\x58\\xf7\\x91\\x5c\\xeb\\x2c\\x8e\\xcd\\x32\\xd8\\xb4\\xda\\x10\\x00\\x06\\xd6\\x43\\x67\\xe7\\x70\\xa6\\x11\\x31\\x43\\x96\\x8f\\xe3\\x58\\x9f\\xcf\\x39\\x2c\\xe6\\xa3\\x59\\xc5\\xf0\\x18\\x2b\\xb6\\x28\\x8e\\xfb\\x3c\\x58\\xb0\\xdf\\x44\\x33\\xeb\\x29\\x9a\\x29\\xeb\\x84\\xc8\\xe5\\x02\\xcb\\x94\\x95\\x67\\xc8\\x79\\x5d\\x8a\\x70\\x79\\xa0\\x44\\xac\\xf0\\x50\\x58\\xe9\\x69\\x3d\\xd7\\x7c\\x24\\xbc\\x23\\xfc\\xfa\\xf5\\xaf\\x9b\\x1b\\xfc\\xae\\x07\\x05\\xc3\\x33\\xd0\\xf2\\x6c\\xaf\\x55\\xf3\\x8e\\x2f\\x7a\\xed\\x0c\\xac\\x7f\\xec\\xe7\\xe5\\x15\\x0d\\x6b\\x60\\xbb\\xd1\\x4f\\x6f\\x58\\x32\\xae\\xf2\\xbb\\xb2\\xa1\\x77\\x2c\\xab\\xef\\x3c\\x33\\x38\\x68\\xf5\\x67\\xc5\\xc3\\x07\\x8c\\x6f\\x1a\\x36\\x79\\xd7\\xc6\\xdf\\x46\\xbe\\x34\\x77\\xd8\\xc2\\xfe\\x52\\xde\\xdd\\x1e\\xa1\\x81\\xee\\x4a\\xf7\\xc3\\xa7\\xbd\\x77\\x34\\x1c\\xb4\\x2b\\x8c\\x7e\\xe0\\xf1\\xe8\\xcc\\x66\\xbf\\x02\\xe5\\xe4\\x06\\x43\\x8d\\x31\\xbf\\x51\\x1d\\x0c\\xda\\xd5\\x76\\x47\\x63\\xcc\\xee\\x56\\xa3\\xfa\\x98\\xda\\x98\\x76\\xa7\\xdc\\x76\\x22\\x09\\x78\\xb0\\x94\\xe6\\xba\\xd2\\x7d\\x1f\\x4d\\xe6\\x54\\x2e\\xcf\\xae\\x13\\x8d\\x4a\\x27\\x8c\\x6c\\x9a\\xc5\\x7f\\xe9\\xf8\\xed\\xc4\\x87\\xbf\\x76\\xae\\xed\\xd8\\x7d\\xf2\\x79\\xe1\\x45\\xe1\\x9f\\xaf\\xc1\\xf0\\x7a\\x8f\\xed\\x69\\x61\\xe4\\xb4\\x27\\x27\\xbd\\xd8\\x87\\xba\\xda\\x30\\x62\\xd0\\x80\\xf2\\x0d\\xbb\\x4e\\xef\\x1b\\xb9\\xac\\x22\\x7b\\xd7\\x98\\x45\\x27\\xef\\x1e\\xeb\\xff\\xc0\\x30\\xea\\xe1\\x3b\\x8a\\x87\\xba\\xea\\xba\\xff\\xd5\\xec\\x77\\xd7\\x8d\\xbd\\x19\\x4e\\x71\\xdb\\x78\\x57\\x2b\\x6c\\xe2\\xba\\x68\\x48\\xa9\\xb0\\x12\\x78\\x62\\xbf\\x83\\x53\\xd0\\xc1\\x00\\xb0\\x5a\\x91\\x92\\xe3\\xdd\\x5e\\xe7\\x5d\\xf6\\xa8\\x09\\x25\\xd0\\x89\\x09\\x1c\\x24\\xf6\\xa8\\x4a\\x2a\\x6b\\x22\\xf2\\xed\\x4b\\x6a\\xbe\\xd7\\x9f\\x60\\x14\\x27\\xbc\\xab\\xb6\\x18\\xc5\\x70\\x70\\xdc\\xbd\\x22\\x18\\xc5\\x97\\xde\\x6d\\x83\\x51\\x5c\\x2c\\x7b\\x59\\x10\\xdc\\x8d\\x7d\\x95\\x2e\\x62\\x8e\\x46\\x71\\x54\\x34\\xb0\\x4c\\x9c\\x82\\x33\\x5b\\x4c\\x2e\\x1d\\x22\\x26\\x96\\x5a\\x81\\x8d\\x2c\\x09\\xe4\\xa6\\xa6\\x55\\x27\\x08\\x79\\x17\\x44\\x77\\x8f\\x8f\\xd3\\x88\\xdc\\x03\\x06\\x4f\\x6a\\x22\\xb9\\x99\\x15\\x9b\\xfa\\x1d\\x3f\\x2d\\x7c\\x40\\xdd\\xb8\\xfc\\xf8\\xa2\\x66\\x15\\x53\\x37\\xbe\\x43\\xed\\x2f\\xdf\\x5f\\xfb\\x94\\xd8\\xe5\\x04\\x3f\\x83\\xdc\\xe5\\x04\\xb1\\xcc\\xad\\x04\\xf3\\xa2\\xd1\\x6c\\xbb\\x5a\\x17\\xf2\\xfb\\xbc\\x26\\x10\\x89\\xe8\\x0b\\x18\\x46\\x6f\\xd2\\xd9\\x99\\xaa\\x0e\\x91\\x0a\\x75\\xa9\\xd5\\xe4\\x6d\\xe7\\x6a\\x47\\x35\\xc5\\xda\\x59\\x03\\xc0\\x95\\x55\\x1f\\x73\\x19\\xb5\\x7a\\xad\\x5e\\xc9\\xf3\\xb9\\xe4\\xb2\\x4d\\x59\\x51\\x2f\\x95\\xa8\\xa5\\x5e\\xab\\xa6\\xa5\\x77\\xd7\\x10\\xbc\\xbe\\x54\\x77\\x23\\x01\\xc7\\x90\\x59\\x2e\\x31\\x4f\\x28\\x18\\x36\\x60\\x7a\\x43\\x85\\xb0\\x2c\\xb5\\x14\\xb4\\x2c\\xcc\\x45\\x24\\xeb\\x9d\\xa0\\xc4\\xcb\\x1c\\x17\\x11\\x03\\x03\\x48\\xdf\\xe5\\xb6\\x45\\xeb\\xb7\\xdf\\x79\\xff\\xbc\\xc2\\xc0\\x8e\\xad\\x50\\xa5\\xf6\\xcc\\xec\\x7b\\xcf\\xb6\\x47\\x36\\xf5\\x18\\x99\\x09\\xff\\xf5\\xcf\\x6e\\x75\\xab\\x56\\x76\\xe9\\x09\\xff\\x92\\xef\\xf3\\xf7\\x70\\x40\\x4d\\xef\\x5c\\x5f\\xfe\\xfa\\xc8\\x9e\\x7b\\xee\\x7b\\x72\\x79\\xf7\\x92\\xd9\\xff\\x0c\\xee\\xcf\\x18\\x3e\\x0a\\x66\\x40\\x2d\\xd4\\xc1\\xcc\\x01\\xd3\\xdd\\xb5\\xf0\\xcb\\xe6\\x41\\x07\\x4e\\x08\\xeb\\x85\\x7b\\xcf\\x0b\\x7c\\x65\\xa4\\xa4\\x20\\xd2\\x5d\\xba\\xf3\\x12\\x73\\x56\\xd7\\x33\\x5b\\xb1\\xef\\xd2\\x0e\\x0c\\x89\\x96\\xe4\\xb9\\x50\\x50\\x69\\xc8\\xe2\\x79\\x83\\x49\\x03\\xbc\\x41\\x97\\xb2\\xb8\\x44\\xab\\x19\\x19\\xd3\\x66\\x9a\\xbc\\x5e\\x26\\x9b\\xc9\\x1e\\x19\\x63\\x18\\x7b\\x66\\x26\\x18\\x19\\xcb\\x44\\xf6\\xc2\\x91\\x31\\xbb\\xb9\\x75\\x51\\x2e\\xc0\\x8b\\x60\\x37\\x9e\\x6b\\x7d\\x01\\x01\\xe5\\x86\\xbe\\x44\\x16\\x94\\x89\\xd7\\xcd\\x3c\\x39\\x4f\\x74\\xc0\\x2f\\x96\\x26\\x96\\x91\\x2b\\xf6\\xf2\\x08\\x2c\\x0d\\x24\\x12\\xe0\\x43\\x4d\\xf5\\x5f\\x4e\\x9f\\xd9\\x34\\xf0\\xef\\xdf\\x7d\\xbb\\x76\\x95\\xf0\\xb9\\xf0\\xbb\\xf0\\x9b\\xf0\\xf9\\xdd\\x4b\\xe7\\xcd\\xf8\\xee\\x7d\\xd8\\x5d\\xf8\\x75\\xd1\\xf2\\x65\\xab\\x57\\x2c\\xa2\\x57\\x75\\xef\\xfd\\xec\\xd0\\xc9\\xe3\\x06\\x9f\\x3b\\x73\\xf4\\xdf\\xfd\\x69\\xcf\\xb3\\xf7\\x9c\\xff\\xf0\\xef\\xaf\\xae\\x39\\xec\\xa6\\x33\\xb6\\x8d\\x7d\\x70\\x7f\\xf3\\xa0\\x8f\\x67\\x4c\\x5d\\x38\\x73\\x86\\x34\\xd7\\x4a\\x3c\\xd7\\xcd\\xcc\\x4a\\x90\\x85\\xe7\\xda\\x18\\xcd\\x2f\\x42\\x46\\xb5\\xcd\\x93\\x93\\x91\\xe1\\xf1\\x3b\\x75\\xac\\x1a\\xe1\\xb9\\x06\\x58\\xd6\\x9c\\x6f\\xce\\xaf\\x8f\\x99\\xcd\\x5a\\xe0\\xd4\\xe9\\x5c\\x5a\\x04\\xc2\\xf5\\x89\\x92\\x30\\x19\\x3e\\x37\\x3e\\xcd\\x56\\x53\\x64\\x52\\xa6\\x92\\x69\\x93\\xd3\\x02\\x44\\xe9\\x17\\xae\\xa0\\xe5\\xee\\xdc\\x78\\xc6\\x99\\x7e\\xb9\\x7b\\x9b\\x85\\x1a\\x2b\\x5c\\x13\\x3e\\xb8\\x67\\xc5\\xcc\\xf9\\x30\\x77\\x42\\xb7\\x76\\x77\\xce\\x6c\\x1a\\xdd\\xae\\xa8\\xfb\\x04\\x98\\xbb\\x60\\xc6\\x8a\\x7b\\x84\\x0f\\x84\\x6b\\x50\\xbd\\x7a\\xf9\\xd2\\xb5\\x96\\x8f\\x4e\\xad\\x3a\\xe2\\xa4\\xf3\\x1f\\x9b\\xf4\\xdf\\xf9\\xf7\\x56\\x0c\\xeb\\x3a\\x6f\\x52\\xf9\\x6d\\x8d\\xb5\\xc3\\xdb\\xdf\\x3b\\xff\\xbf\\x93\\x76\\xe7\\xd1\\xce\\xa3\\x2b\\x4f\\x7d\\xf4\\xf2\\x2f\\x53\\x66\\x4c\\x9b\\xf6\\x8b\\x24\\xd7\\x07\\x09\\xdf\\xd0\\xbb\\xb0\\xaf\\x65\\x02\\x55\\x51\\xaf\\x02\\x50\\xac\\x51\\xa3\\x61\\x11\\xa0\\xcd\\x16\\x16\\xd1\\xf8\\xc8\\xd1\\x08\\x2a\\x48\\x5a\\x8b\\x8e\\x5c\\xcb\\x9c\\xbd\\xa9\\xa7\\x49\\xd2\\x04\\x64\\x4f\\x52\\xdc\\xac\\x30\\xde\\xb8\\xd0\\x20\\x6a\\x17\\xc9\\xee\\x69\\x19\\x01\\xf7\\x6c\\x3f\\x9a\\xfb\\x85\\x6f\\xe5\\xdb\\x68\\xfd\\x57\\x97\\x9a\\xa7\\xde\\xbb\\x62\\xc2\\x9d\\x81\\xa6\\xc8\\x14\\xe9\\xac\\x7f\\x43\\x2f\\xa6\\xab\\xfe\\xe4\\xdd\\x4d\\x31\\xda\\x40\\xde\\xdd\\x14\\x13\\x6b\\xbe\\xff\\xff\\x78\\xf7\\xdd\\x54\\x15\\x49\\xe7\\x69\\x79\\x1d\\x8e\\x7c\\xfc\\xe9\\xd0\\xc7\\xbe\\x95\\xe7\\xa9\\xbd\\x17\\x5e\\x6f\\xb9\\xed\\xce\\x45\\xf2\\xbb\\x13\\x76\\xe8\\xe4\\x84\\x1d\\x4a\\x30\\xa4\\x9f\\x21\\x76\\x84\\xa9\\xb5\\x1d\\x7a\\x26\\x71\\xdf\\xb0\\xfd\\x3b\\xd1\\xaa\\x29\\x8b\\xc7\\x55\\xd6\\x0a\\x5d\\x92\\xbd\\x04\\x8c\\x04\\xcb\\xec\\xa8\\x1c\\x8f\\xe9\\x92\\xec\\x1d\\x20\\x7e\\xde\\x2b\\x69\\x93\\x89\\x31\\xe0\\x92\\xd6\\x31\\x6a\\x57\\x6a\\x8c\\x5a\\xb4\\xa7\\xc4\\x38\\x70\\x63\\x3c\\xf6\\x2d\\x46\\x61\\x03\\xb0\\x14\\x34\\x45\\xab\\xe9\\x20\\x89\\x03\\x07\\x49\\x1c\\x38\\x48\\xe2\\xc0\\x41\\x12\\x07\\x0e\\x92\\x38\\x70\\x90\\xc4\\x81\\x83\\x24\\x0e\\x1c\\x24\\x71\\xe0\\x20\\x89\\x03\\x07\\xf1\\xe0\\x62\\x8c\\x3a\\xd9\\xab\\xa9\\x4d\\x80\\xfa\\x26\\xb4\\xfd\\x91\\x88\\x4f\\x07\\x13\\xf6\\x50\\x3a\\x5d\\x61\\xea\\x2c\\xbd\\x47\\x98\\x93\\xa0\\xac\\x38\\x1a\\x44\\x91\\xa8\\xd3\\xd3\\x23\\x12\\xc5\\x54\\x44\\x08\\x01\\x11\\x42\\x40\\x44\\x6e\\x15\\x15\\x6f\\x2c\\x55\\x16\\x0f\\x4a\\xa7\\xe0\\x53\\x6e\\x49\\xd8\\xa9\\x64\\x1f\\xde\\x21\\xab\\xec\\x68\\x6d\\x5f\\x9e\\x49\\xdc\\xb7\\x6c\\x97\\xac\\x4b\\x67\\xda\\x9d\\x4d\\x0a\\xed\\xc9\\xd8\\xba\\xed\\x4f\\x68\\xcf\\xc2\\x63\\xbc\\x9e\\xa0\\x9c\\xc4\\xd6\\xbd\\x64\\x4d\\xbd\\x64\\x4d\\xbd\\x64\\x4d\\xbd\\x64\\x4d\\xbd\\x64\\x4d\\xbd\\x64\\x4d\\xbd\\x64\\x4d\\xbd\\x64\\x4a\\x5e\\x32\\x25\\x2f\\x99\\x52\\xdb\\xd8\\xba\\x84\\xad\\x34\\x39\\x8e\\xad\\x24\\x8e\\x4e\\x62\\xeb\\x04\\x96\\x3c\\x69\\xe7\\x11\\xac\\xa6\\xb1\\x32\\x56\\x13\\x79\\x26\\x4f\\xd2\\xd9\\x8e\\xe4\\x1d\\xf8\\x48\\xfc\\xcc\\x4c\\xf1\\x8e\\xcf\\x07\\xfa\\x46\\xb3\\x2c\\xd0\\xe9\\x34\\x19\\x8d\\xac\\x56\\xcf\\xea\\x03\\x7e\\xa3\\xd3\\x89\\x74\\x2a\\x08\\x6d\\x66\\x1b\\x3e\\x22\\x36\\xab\\x19\\xa8\\x3c\\xf5\\x52\\x5a\\x6f\\x42\\xcb\\xd8\\x8b\\xa4\\xf0\\x67\\x9b\\x26\\xd9\\x90\\x4b\\xe8\\x18\\xd2\\x1e\\xad\\xbc\\x82\\x64\\xa5\\x4a\\x9a\\x44\\x54\\x24\\x94\\x76\\xe6\\xbd\\x7b\\x5f\\x7e\\xeb\\x99\\xb1\\x2f\\x8e\\x98\\xb6\\xb7\\x78\\x91\\x9b\\xda\\xd2\\xbb\\x53\\x87\\xb9\\x19\\xdc\\xc2\\x9e\\x35\\xbd\\x99\\x8b\\xd7\\x76\\x37\\xec\\xb9\\x67\\xe3\\xde\\x68\\x9f\\x55\\x0f\\x74\\x5f\\xda\\x6b\\x09\\xd3\\xfd\\x8f\\x97\\x23\\x95\\x91\\xfc\\x48\\xf7\\x4a\\x49\\x66\\x0e\\x15\\x06\\xd0\\xaf\\x8a\\xf9\\xff\\xa5\\x60\\x72\\xb4\\x4a\\xa7\\x50\\x68\\x54\\x4a\\x5f\\x00\\x84\\x2d\\x85\\x85\\x19\\x39\\x0e\\x47\\x46\\x38\\xa0\\xc4\\x16\\x51\\x61\\x46\\x61\\x86\\x3b\\x3f\\xdf\\xda\\x14\\xcb\\xb7\\xfa\\x5d\\xbe\\x12\\x77\\x49\\x7d\\xcc\\xed\\xd2\\x19\\x8d\\xa8\\x31\\x66\\x34\\x6a\\x5a\\xa1\\xb0\\x92\\xef\\x37\\xc9\\xb6\\x4a\\x6a\\x4f\\x29\\x4d\\xd3\\x28\\x5f\\x53\\x16\\xc1\\x88\\x4d\\x56\\xfe\\x69\\x53\\xed\\x04\\x2b\\x42\\x59\\xd5\\x50\\x32\\x11\\x24\\xad\\x49\\x75\\x99\\xde\\xb1\\xf7\\xbf\\x29\\xf4\\xa9\\xd2\\xbc\\xb8\\xdf\\x5d\\x6b\\x3a\\x0c\\xc4\\x2a\\x74\\x71\\xef\\x99\\xe5\\xdd\\x9e\\x41\\xce\\x59\\x94\\x05\\xbe\\x90\\xe7\\xab\\x2e\\x83\\xda\\xce\\x21\\x5f\\x3e\\x6c\\x07\\x8b\\xa0\\xe7\\x99\\xf5\\xe4\\x16\\x73\\xe3\\xa8\\x57\\x63\\x4b\\xde\\xbd\\xd4\\xf2\\x45\\x21\\xd1\\xa1\\xe5\\x9d\\xe6\\x2e\\x50\\xe6\\xbe\\xdc\\xf3\\xae\\x67\\x84\\xc1\\x95\\x91\\x61\\xed\\x6b\\x65\\x5d\\xb9\\x03\\x30\\xf4\\x83\\xcc\\x00\\xe0\\xc1\\xab\\x71\\x5b\\xb4\\xc8\\xed\\xf5\\x62\\x8f\\xcf\\xc6\\x99\\x39\\x96\\x27\\x39\\xa7\\xb9\\x39\\x5c\\x28\\x84\\xf4\\x2a\\x0f\\x6f\\xe5\\xeb\\x63\\x28\\xd0\\x14\\x43\\x48\\xe5\\xb4\\x5b\\x0d\\x2a\\x6c\\x52\\xa8\\xe4\\x2c\\xc6\\x73\\xc4\\xfa\\x92\\x5a\\x58\\xa7\\x6e\\x67\\x02\\xeb\\xa8\\x24\\xc5\\x1c\\x23\\xf3\\x2c\\x84\\xf1\\x3d\\x4d\\xa4\\xe4\\x4b\\xf3\\x95\\xa6\\xdb\\xb5\\x7a\\x5e\\xd3\\xf6\\xc3\\xe7\\x76\\xd4\\x2f\\x1e\\x57\\x4f\\x76\\xd7\\x49\\x72\\x79\\xe0\\x56\\x61\\x22\\x1c\\xdf\\xad\\x64\\x65\\x3f\\xd3\\x94\\xfa\\xb2\\x6e\\x94\\x27\\x3f\\xf3\\xa9\\xb5\\xeb\\x9f\\x76\\x97\\x74\\x22\\x9b\\x5c\\x37\\x1c\\x4e\\x96\\x33\\xf4\\x8f\\x45\\x2a\\x87\\x55\\x74\\xe9\\x40\\xec\\x25\\x92\\x77\\x74\\x44\\xb6\\x97\\x2a\\xb0\\x25\\x50\\x94\\x6d\\xf4\\xb2\\x6c\\xc4\\xe3\\x56\\x2a\\x43\\x0e\\xbb\\xcd\\xaa\\x2a\\x00\\x40\\xa5\\x31\\xd2\\xed\\x2b\\x9d\\xa0\\x5d\\x96\\x19\\xcf\\xc8\\x6f\\x36\\x96\\xe7\\xea\\xb0\\x85\\x84\\x74\\x56\\x95\\xd4\\x37\\x47\\xaa\\x66\\x94\\xfe\\x48\\xb9\\x10\\x49\\x47\\xa8\\x82\\x72\\xb1\\x10\\x1f\\x2a\\x0b\\xb1\\x29\\xa8\\x18\\xc4\\x16\\x92\\x9b\\x7e\\xc1\\x84\\x49\\x94\\x02\\x56\\x4a\\x1f\\xb9\\x77\\x65\\xbf\\xd9\\x5e\\x78\\x80\\xea\\x74\\xe0\\xce\\x55\\xeb\\x57\\x76\\x9b\\xed\\x87\\xf0\\x38\\x45\\x75\\xde\\xb3\\x74\\x4d\\x4b\\x53\\x8f\\xee\\xf7\\xac\\xad\\xeb\\x03\\xff\\xde\\xb5\\x47\\xcf\\xde\\xbd\\x7b\\xac\\xa7\\x02\\xc2\\x7f\\x85\\xbf\\x8e\\xbe\\xfd\\xd9\\x83\\x67\\x61\\x26\\xd4\\x10\\x3b\\xe8\\xd6\\x31\\xde\\xe1\\xf0\\x94\\x30\\xf2\\xe0\\x65\\xe1\\x43\\xe1\\xfa\\xfe\\x53\\xc4\\x1a\\x3a\\x77\\xe0\\xc5\\xc3\\xa7\\x8f\\x1c\\x38\\x01\\xc4\\x58\\xae\\x53\\x98\\x42\\x1f\\xc1\\x7e\\x44\\x7c\\x0d\\x0a\\x0b\\x80\\x87\\x61\\x4a\\xdc\\x0a\\x71\\x0d\\x74\\x1a\\xb5\\x2a\\xdb\\x6c\\x56\\x01\\x54\\xd9\\xde\\x69\\x28\\xca\\xb2\\x92\\x35\\xb0\\x1a\\xcb\\x72\\x8d\\x78\\x0d\\x54\\x88\\x60\\xc1\\x44\\xce\\xfd\\x8f\\x25\\x68\\xb3\\x06\\xa4\\x5e\\x2a\\xc4\\x55\\xa4\\x82\\x83\\xe0\\x55\\x88\\x48\\x30\\xc9\\xa9\\x6b\\x90\\x6c\\x7b\\x46\\x1f\\x59\\xb3\\x74\\x4f\\x67\\x8a\\x3a\\x0e\\xa1\\x7f\\x76\\xb7\\x95\\xeb\\x57\\xdd\\x79\\xa0\\x13\\x75\\x00\\x7a\\x66\\xf7\\x5f\\x79\\x6f\\x4b\\x53\\x9f\\xba\\xb5\\xf7\\x74\\xeb\\x09\\xff\\xbe\\xbe\\x47\\xef\\x3e\\x3d\\x7a\\x74\\xa5\\x1c\\xd8\\x66\\xfa\\xe8\\xf2\\x41\\x61\\x24\\x3c\\x35\\xc2\\x33\\xe6\\x56\\xb1\\x54\\x50\\x03\\x33\\xcf\\x1e\\x7c\\x76\\xe8\\x18\\xe1\\x8a\\xf0\\x9f\\x43\\xe7\\x84\\x7b\\x85\\xf5\\x27\\x0e\\xc1\\xd9\\x27\\x0e\\x3c\\x77\\xf2\\xb0\\xb8\\x06\\xe0\\xc6\\x7d\\xf4\\x25\\xcc\\x07\\x3a\\x60\\x01\\x36\\xd0\\x3f\\x9a\\x6d\\xe5\\xf4\\xc8\\x6c\\xd6\\xab\\x55\\xb4\\x86\\xd2\\xd8\\x6d\\xf8\\x1c\\x50\\x34\\xed\\xe0\\xac\\x56\\x76\\x44\\xcc\\x6a\\xd5\\x00\\x3d\\xd4\\x22\\x15\\xa3\\x21\\x11\\xc1\\x37\\x31\\x77\\x8b\\xec\\x9d\\x48\\xa8\\x97\\x03\\x80\\xf2\\x2a\\xe0\\x79\\x9b\\x23\\x48\\x8c\\xfc\\x85\\x2a\\x42\\x30\\xa0\\xd0\\x43\\x14\\x31\\x67\\x99\\x15\\x11\\xd4\\x71\\xc3\\xee\\x9f\\x61\\x93\\xf0\\xe1\\x6d\\xc2\\xe1\\xef\\x77\\x77\\xdc\\x0b\\x8f\\xc3\\xc1\\xfb\\xd8\\xbc\\xd9\\xdc\\x9b\\xb9\\xa3\\x46\\x3f\\x48\\x9f\\x83\\xac\\xd0\\xe9\\xfa\\xaf\\xb0\\x97\\xd0\\x7d\\x2a\\x53\\xf7\\xbc\\x6f\\xbf\\x30\\x06\\x2e\\x7e\\x40\\x78\\xfc\\xc5\\x78\\x2e\\xca\\x7d\\xf4\\x16\\x11\\xbb\\xc5\\x0f\\x1a\\xa2\\xb9\\x6a\\x9a\\x02\\x36\\x3d\\xe7\\x34\\x9b\\x8d\\x9c\\xc7\\x46\\xb1\\xc1\\x80\\x9e\\xd3\\xaa\\x90\\x0a\\xf1\\x06\\x6d\\x94\\xf7\\x0d\\x8b\\xd9\\x79\\x5a\\xcc\\x52\\x4f\\x54\\x95\\x02\\xa7\\xdd\\xf8\\xa6\\x54\\x84\\x5b\\xd9\\xca\\x90\\xc7\\x34\\x5b\\x6d\\x8c\\xd8\\x13\\xb0\\x82\\xa1\\x48\\x23\\xe7\\x10\\x69\\xe4\\x4c\\xfa\\x38\\x47\\xa0\\xd8\\x23\\xd0\\x8f\\xbe\\x1a\\x5e\\x2c\\xfc\\x68\\x12\\x36\\xd6\\x4e\\x7a\\xac\\x1f\\xe4\\x56\\x0a\\x4b\\x0f\\x2d\\xb8\\x65\\xf7\\xea\\xdd\\x54\\xfb\\xe5\\x63\\x63\\xbb\\x5b\\x0c\\x2e\\x38\\xaa\\xb8\\x5a\\xf8\\x91\\x7e\\x6f\\xf8\\xae\\xda\\xb2\\x96\\x5b\\x7a\\xfd\\x52\\x2a\\x0c\\xae\\x7b\\xe4\\xda\\x61\\x38\\x89\\x3a\\x54\\xf2\\x78\\xf3\\xc7\\xeb\\x46\\x51\\x9b\\xb2\\xc8\\x3c\\xc2\\x58\\x47\\x4c\\x16\\x7b\\xa4\\x64\\x82\\x5b\\xa3\\x05\\x01\\x8a\\x62\\x0c\\x5a\\x6d\\x90\\x41\\x9c\\x8f\\x56\\xe8\\x5d\\x0a\\x57\\x56\\xd8\\xc2\\x71\\x61\\x1a\\x38\\x4d\\x4e\\x13\\x50\\xab\\x33\\xea\\x63\\x3a\\xec\\xc9\\xda\\x92\\x06\\x6a\\xb2\\x40\\xd6\\x78\\x36\\xa5\\xa4\\x41\\x6e\\x7a\\x18\\xb7\\x53\\x83\\x61\\x14\\x32\\x93\\x6e\\xd4\\x98\\xe1\\xf0\\x86\\x90\\xab\\x57\\xa9\\xe9\\x61\\x05\\xa3\\xa7\\xa4\\x49\\x05\\xa9\\x69\\x33\\x87\\xfe\\x75\\xf7\\x1f\\x87\\xa1\\xfe\\xf7\\xfe\\x5d\\x5f\\xdd\\xfd\\xc9\\xf6\\x0c\\xe1\\x4b\\xc6\\x20\\xfc\\xa3\\xb0\\xae\\x7e\\x92\\x0e\\x3a\\x0d\\x77\\x5d\\x16\\x76\\x99\\x20\\xeb\\x09\\x7e\\x60\\x09\\x08\\xbd\\xa0\\xb0\\x01\\x96\\x62\\x77\\x23\\x8f\\x83\\x1b\\x85\\xca\\x11\\xa7\\xf4\\xa1\\x8c\\x96\\xc3\\x19\\x63\\x46\\xeb\\xa6\\x3e\\x3b\\x8c\\x2a\\x9f\\xd8\\x87\\x72\\xa8\\xb0\\x6d\\x38\\x40\\xc2\\xe7\\xc7\\xbc\\x55\\x8d\\x6d\\x43\\x8d\\x86\\xa6\\x54\\x40\\x0b\\xb4\\x7a\\x83\\x9a\\x42\\x14\\x81\\x73\\x46\\x80\\x41\\x40\\x93\\xcc\\x04\\x4b\\xef\\xbd\\x65\\xaa\\x2c\\x29\\x29\\x91\\x52\\xc2\\xc4\\x62\\x77\\x39\\x19\\xee\\xdd\\x25\\x4b\\x60\\x18\\x4e\\x11\\x36\\x51\\xe3\\xa9\\x86\\x0b\\x54\\x4e\\xcb\\x95\\x0b\\xc2\\xe6\\xab\\x64\\x3d\\x95\\x98\\x2f\\xce\\x8b\\x77\\x33\\x66\\x50\\x11\\xf5\\x98\\x38\\x8a\\x52\\x20\\x9d\\x51\\x8f\\x54\\x2c\\x6b\\xe1\\xb1\\x92\\x55\\xab\\x86\\xc5\\xf4\\x5a\\x35\\x62\\x49\\x40\\xfb\\xa2\\x9c\\x49\\x99\\x92\\x2c\\x4b\\x76\\x1f\\x91\\x8b\\xc6\\x90\\x08\\x37\\x53\\x11\\x51\\x44\\x78\\xa6\\x22\\x84\\xae\\x7c\\x8c\\xad\\xf3\\xbf\\xed\\x86\\x17\\x84\\x09\\x68\\x43\\x6c\\x77\\x2c\\x28\\x4c\\xa8\\xaa\\xa2\\x47\\x08\\x07\\x9b\\x7f\\x80\\x8d\\x42\\x0d\\xf5\\x22\\x65\\xbf\\xba\\x7a\\xf5\\xd5\\x58\\x4c\\xae\\xa9\\x21\\xb9\\x49\\x58\\x87\\xb6\\x07\\x13\\xa2\\x55\\x45\\x0a\\x85\\x25\\x18\\x76\\xb9\\x80\\x3e\\xa8\\xaf\\xaa\\x54\\xb8\\xc2\\x5c\\x61\\x5e\\x71\\x5e\\x53\\xac\\xd8\\x55\\xc4\\x43\\x00\\x8d\\xd0\\x0f\\x31\\xab\\x42\\x1e\\xf2\\x61\\xbc\\xd5\\xf5\\xb1\\xb0\\x35\\xcb\\xca\\xd9\\xeb\\x63\\x5c\\x9b\\x92\\xe2\\x44\\x4d\\x5d\\x7a\\x7f\\x01\\xd9\\xa5\\xaf\\x81\\xa9\\x39\\x9e\\x52\\x8d\\x92\\x22\\x8e\\xfb\\x62\\xa3\\x45\\x57\\x24\\x0f\\x86\\x6d\\xd2\\x2d\\x34\\x2f\\xa9\\x9a\\xac\\x70\\xd6\\xd2\\xdd\\x15\\x7b\\x27\\x90\\xdc\\xcf\\xab\\xcf\\xc6\\x7e\\xf8\\xe8\\x95\\x6f\\x3c\\x7f\\x68\\x6f\\x1f\\x3b\\x7a\\x74\\xdf\\x5b\\x21\\xf5\\xd4\\x60\\xe1\\xc6\\x17\\x66\\x4b\\xfb\\x9a\\x58\\x95\\xb9\\xaf\\x69\\x50\\xb4\\x71\\xf5\\x9d\\x8b\\xfa\\x8f\\xe6\\x9f\\x7e\\xa0\\xdb\\x40\\x31\\x1f\\xb4\\xa0\\x61\\xe9\\xf0\\x1d\\xfb\\xef\\xdf\\xe0\\xac\\xed\\x1c\\xe9\\xd8\\xae\\xc2\\x54\\x3e\\x60\\xc5\\xc8\\x87\\x8e\\xc0\\xce\\xbd\\xaa\\x15\\xcc\\xeb\\x5c\\xa7\\xb9\\x7b\\xc7\\x8f\\xb1\\xc4\\xe3\\x01\\x35\\xd8\\x47\\xb0\\x83\\xd2\\xa8\\x07\\x20\\x05\\xc5\\x1a\\x58\\xa7\\xc3\\xa0\\x33\\xe9\\x1a\\x63\\x26\\x97\\xe4\\x25\\x10\\x1f\\x01\\xa4\\xe1\\x13\\xc9\\x3e\\x42\\xd2\\x3b\\x20\\x09\\xad\\x30\\x5e\\xe0\\x14\\xc6\\x53\\x4b\\xf8\\x08\\xb5\\xcb\\xeb\\xfb\\xcd\\xaa\\xcc\\xae\\x1a\\x14\\xbd\\x75\\xf7\\xa0\\x21\\xeb\\x7a\\xca\\xbe\\x82\\x7e\\xc2\\x98\\xd1\\x03\\xb5\\x1f\\x71\\xe3\\x27\\x4f\\x1b\\x4d\\xe8\\xb0\\x62\\x7e\\x3c\\xc2\\xdc\\x8f\\xe9\\xa8\\x8a\\x62\\xa5\\x8d\\x8c\\x46\\xab\\x1a\\x39\\x9c\\x58\\xc6\\x59\\x46\\xc4\\x54\\x24\\x2d\\xcf\\x2a\\x62\\x02\\x59\\x25\\x37\\x29\\x91\\xfe\\x9b\\x0e\\x55\\x16\\xaf\\xe4\\x53\\x64\\x96\\x67\\x44\\xfc\\x40\\xcc\\x09\\xc7\\x3c\\x63\\xa5\\xda\\x3d\\xf1\\xdc\\x8e\\x1d\\x8b\\x77\\x06\\x84\\xe6\\x2a\\x98\\xfd\\x77\\x4c\\x6e\\xe7\\xe9\\x97\\xd7\\x08\\x1f\\x54\\x52\\xc1\\x23\\x7b\\xee\\x7b\\x74\\xf2\\x82\\xee\\x2f\\x5f\\x14\\x3e\\x6e\\x5e\\xf5\\xcd\\x2e\\x97\\x70\\x94\\x2a\\xd2\\x49\\xbc\\xb2\\x03\\xd3\\xc4\\x61\\x1d\\xc4\\x83\\xa2\\xa8\\x95\\x66\\x18\\xa3\\x0a\\xb3\\xaf\\xd5\\x66\\x30\\x30\\xd8\\x25\\xc5\\x7e\\xa9\\x91\\xe1\\x93\\x40\\x35\\x29\\xb6\\xa0\\x88\\x8f\\xa8\\x90\\x4a\\x95\\x52\\xf3\\xba\\x69\\xee\\xfe\\x4d\\xc2\\x57\\xbb\\x16\\x76\\x1b\\x50\\x3b\\x50\\x25\\x7c\\xe3\\xfc\\xcf\\xa1\\x77\\xbe\\xa2\\x1e\\x5b\\xf7\\x6a\\x81\\xf0\\x21\\xdc\\xc7\\xcc\\x5f\\x32\\x75\\xf6\\xa8\\x26\\xfd\\x63\\xe7\\xff\\x11\\xc7\\x70\\x7c\\x4c\\xf4\\x1b\\x89\\x04\\x5a\\x10\\xed\\x12\\x72\\xda\\xdd\\x6e\\x13\\x54\\xb1\\x3e\\x9f\\xd1\\xac\\x35\\x6a\\xb3\\xc2\\x2a\\x5b\\xc8\\x65\\x02\\x26\\xec\\xf8\\x83\\x90\\x6d\\x44\\x6c\\x6d\\x68\\x5b\\x88\\x52\\x87\\x9c\\x21\\x0a\\x93\\x0f\\x4d\\x08\\x84\\x40\\xc8\\x48\\x19\\xdd\\x23\\x62\\x46\\x13\\x15\\x1c\\x11\\xa3\\x50\\xab\\xb0\\x09\\xe6\\x59\\xcc\\xb5\\xc9\\xac\\x90\\xca\\x54\\x73\\x56\\x3c\\xde\\xe4\\xd0\\x91\\x5c\\xca\\x64\\xcc\\x4d\\x84\\x7d\\xcc\\x24\\xb7\\xb6\\x62\\x22\\x73\\x20\\x8e\\xf3\\xb8\\x96\\xd2\\x49\\xd8\\x8e\\xbf\\x7f\\xd4\\x72\\x6c\\x2d\\x9a\\x3f\\x61\\xcc\\xb5\\xfd\\xfb\\x21\\x7c\\xad\\x61\\xcf\\xdb\\xef\\x3e\\x41\\x29\\x51\\xb5\\x8c\\xec\\x78\\xf7\\x73\\x17\\x61\\xd7\\x5b\\x06\\x0f\\xeb\\x79\\xf6\\x8e\\x24\\xbe\\xa3\\x45\\xec\\x1d\\x58\\x87\\xb5\\x9c\\x87\\xd8\\xe3\\xb4\\xcb\\x65\\x81\\x26\\xc6\\x6e\\x57\\x2b\\xb5\\x26\\xad\\xd7\\xe7\\xd4\\x58\\x80\\x65\\x64\\x4c\\x49\\x03\\x60\\xa0\\x0c\\xfc\\xb0\\x98\\xc1\\xcc\\x92\\xc9\\x44\\x12\\x65\\x28\\x09\\x59\\x11\\xef\\x97\\x15\\xb7\\x5b\\xcd\\xa2\\x68\\xe2\\x44\\x30\\x15\\x9e\\xe8\\x79\\x8a\\x2b\\x0b\\x41\\xd2\\x5a\\x3b\\x80\\x4f\\x9e\\x65\\x32\\x16\\x56\\x8b\\x61\\x78\\xf2\\xe4\\xdf\\x84\\x5f\\x3f\\x9b\\x4c\\xf5\\x1e\\x7f\\xbb\\xb0\\xbc\\x01\\x95\\x50\\x66\\x72\\x21\\xd9\\xf2\\xdd\\x85\\x1e\\xc2\\xe7\\xc2\\x37\\x58\\x94\\xda\\x07\\x09\\x93\\xb6\\x1f\\xec\\x35\\xe0\\xc0\\x7d\\x52\\xfe\\x0e\\xde\\x9b\\x97\\xc4\\x7a\\xd5\\xbe\\xa2\\x9e\\x5e\\x7b\\x63\\x13\\xf6\\x53\\x2f\\x8a\\x7d\\xbf\\x9c\\xe0\\xde\\x68\\x83\\x41\\xa5\\xc2\\xea\\x58\\x69\\x36\\x6b\\x2c\\x76\\x3b\\x47\\x21\\x9d\\x03\\x39\\x68\\x2c\\x63\\xdd\\x2e\\xad\\x8d\\xb1\\x0d\\x8b\\x19\\x9d\\x16\\x27\\xe6\\xe5\\x22\\x0b\\xfc\\xd4\\xf2\\x83\\x85\\x42\\xfb\\x2d\\x27\\x2c\\x54\\xb5\\x05\\x16\\x5a\\x20\\x6d\\xb0\\x40\\x0d\\x63\\xb1\\x00\\x95\\x82\\x41\\xb4\\x09\\x70\\xc3\\x62\\x94\\x98\\x29\\x2d\\xca\\x1b\\xd1\\x62\\x95\\x70\\xf4\\xf1\\xff\\xd3\\x5b\\xc1\\x8f\\xc6\\xf5\\x4b\\x49\\xaa\\x01\\x4f\\x20\\xf6\\xb1\\x86\\xe7\\x24\\x89\\x19\\x42\\x11\\x1e\\xeb\\x7c\\x1e\\x46\\xcc\\x01\\x0e\\xeb\\xfd\\xc7\\xca\\x76\\x97\\xcd\\x41\\xaa\\xda\\xdd\\xb5\\xee\\x75\\x0f\\x7f\\x27\\x3c\\xfe\\x24\\x35\\xbe\\xa5\\xfc\\xbd\\x87\\x85\\x0d\\x63\\xc6\\x4c\\x99\\xc2\\xd4\\x61\\xc1\\x29\\x61\\xcc\\x20\\x0f\\xec\\xda\\xa2\\xbc\\x2c\\xb2\\x25\\x50\\x91\\xde\\x7d\\xa2\\x6e\\xcc\\xc0\\xd6\\x77\\x3e\\x18\\x16\\x2d\\x0d\\xe6\\xe4\\x28\\x32\\x2d\\x16\\xb7\\xc2\\x40\\x33\\x05\\x85\\x7a\\xc0\\xe7\\x04\\x73\\x1a\\x62\\xd9\\x41\\x43\\xd0\\x17\\xa4\\x8c\\xc8\\x15\\x74\\x05\\x81\\x46\\xe3\\x6b\\x88\\x19\\xb1\\xdd\\xea\\x02\\xf6\\xa4\\x9a\\x14\\x1b\\x35\\x25\\x18\\x92\\x6b\\x6d\\xae\\x25\\x94\\x24\\xcc\\xe2\\x4a\\xc5\\x2a\\x31\\xa2\\x25\\x4d\\x1e\\x6c\\xb9\\xc4\\x91\\xfc\\x10\\x89\\xd3\\xb9\\x20\\xf6\\x42\\x18\\x8b\\xad\\x82\\x9a\\xb1\\x6a\\xec\\x87\\xbb\\x21\\x78\\x62\\xe9\\xf7\\xbb\\x3b\\xb5\\x3f\\xbd\\xfb\\x83\\xf9\\x0b\\x04\\xb0\\xb4\\x7a\\x48\\xaf\\x19\\x16\\xa8\\x2a\\xbb\\x71\\x64\\xdc\\x02\\x7a\\xe3\\x9d\\xa7\\x94\\xed\\x6f\\x15\\x2e\\xaa\\x4a\\x2c\\x79\\x42\\x94\\xd2\\x6f\\x81\\x39\\x47\\x7f\\xbf\\x4b\\x0b\\xef\\x16\\xba\\x74\\x17\\xfe\\x7d\\x46\\x29\\xfc\\x5e\\x51\\x53\\x6b\\xbb\\x67\\x07\\x3a\\x74\\xcf\\x42\\x88\\x84\\x96\\xe9\\x3d\\x5e\\x3a\\x58\\x51\\x38\\x46\\x94\\x09\\x63\\xc5\\x3e\\xa1\\x04\\x5b\\xb5\\x3e\\x9a\\x6d\\x44\\x36\\xac\\xb2\\xd4\\x3c\\x76\\x15\\x6d\\x4e\\x97\\x55\\xab\\xd3\\x12\\x20\\x14\\x1a\\x7f\\x01\\x8e\\xf4\\xa7\\xe2\\xa4\\x8a\\x25\\x73\\x9b\\x22\\xfe\\xb4\\x34\\x2c\\xa2\\x24\\xe4\\xc2\\x4c\\xb9\\x78\\xa9\\x5a\\xac\\x65\\x25\\x59\\xe5\\x62\\xb5\\x00\\x4b\\x95\\x9e\\xfb\\xb7\\x0f\\x86\\x2c\\xb7\\xd6\\xf4\\xbc\\xe5\\xa7\\x9f\\x84\\x77\\xa9\\xa6\\x5b\\x6f\\xfd\\x8f\\xe5\\xa3\\x0b\\x79\\x73\\x66\\xcd\\x99\\xf2\\xed\\x85\\x1f\\xbf\\x12\\x72\\x2e\\x7c\\xf9\\xe1\\xef\\xe4\\x2c\\xcd\\x16\\x06\\xa1\\x0f\\x44\\xfb\\xcb\\x43\\x50\\x65\\x6c\\x1a\\xda\\xc9\\x9b\\x39\\xce\\x43\\x01\\x5a\\x43\\x7b\\x7d\\x2e\\x67\\xd3\\x10\\x17\\x40\\x66\\x8b\\x19\\x8b\\x74\\x8b\\x45\\x69\\xb7\\x63\\x8b\\xc5\\x6e\\x50\\xea\\x1b\\xd3\\xc3\\xaa\\x72\\x6d\\x97\\x3d\\x09\\x41\\x22\\xf7\\xa0\\x13\\xd1\\xb7\\x08\\xd2\\x4d\\x7a\\xa7\\x2a\\x99\\x5e\\xd2\\xaf\\x0a\\x0d\\x9f\\x3f\\x7f\\xd6\\xe5\\xd5\\x72\\x9f\\xaa\\x05\\x0b\\x84\\x87\\xa9\\x45\\x62\\xf7\\xaa\\x4d\\x17\\x84\\xfc\\xa5\\xc7\\x46\\x48\\x9d\\xaa\\xe0\\x89\\x0b\\x5f\\x4b\\xd9\\xa9\\x14\\xc9\\xe3\\x61\\x6c\\xcc\\xad\\x98\\xe6\\x4c\\x82\\x46\\xe7\\x41\\x08\\x1b\\xe3\\x2a\\x4e\\x15\\xce\\x32\\x20\\xad\\x9f\\x94\\x30\\xb2\\xce\\x11\\x31\\xd6\\x6c\\xc5\\x72\\x60\\x78\\x0c\\xb4\\xc9\\x09\\x6f\\x55\\xbd\\x40\\x30\\xa1\\xb0\\x1a\\x12\\x01\\xe1\\x88\\x69\\x28\\x97\\xde\\xea\\x21\\x3e\\xf8\\x89\\xc6\\x12\\xf4\\xd0\\x9d\\x0f\\x0c\\x5b\\xfc\\x5f\\xe1\\x07\\xe8\\x83\\xcc\\x53\\x77\\x2e\\x29\\x2e\\xab\\xf6\\x76\\xcd\\x9a\\xd9\\x72\\xb9\\x66\\x62\\xa8\\x76\\xce\\xec\\xc5\\x73\\x84\\x41\\x2f\\x9c\\x1c\\x54\\x01\\x27\\xc1\\xee\\xb0\\x1f\\x9c\\x3c\\xaa\\xdf\\xb5\\x1d\\xfd\\xfb\\xea\\xfe\\xa9\\xd2\\x50\\xd3\\x4b\\xda\\x51\\x3f\\xc4\\x7e\\xb8\\xfa\\xa9\\xb8\\xde\\x23\\x30\\xed\\x3a\\x6c\\x4f\\xf8\\x41\\x01\\x89\\xff\\x07\\x3c\\x06\\x03\\xf6\\x4a\\xb2\\x31\\x43\\x14\\x15\\xfa\\x0d\\xce\\xcc\\xfa\\x98\\xd3\\x68\\xc9\\xab\\x8f\\x59\\xac\\x4a\\x56\\xcb\\x92\\x7e\\x60\\x7f\\x4e\\xbd\\x6c\\xe5\\x60\\x3f\\x3b\\x4e\\x31\\x29\\x6b\\x95\\x53\\xd7\\xb8\\x52\\xd1\\x27\\x29\\x2d\\xaf\\x40\\x29\\xdd\\x5d\\xcb\\xe9\\xce\\xca\\xf2\\x8e\\x84\\xf2\\xc0\\xde\\x7b\\x64\\x28\\xd3\\xf7\\x5e\\xb8\\x3c\\x92\\x56\\xb1\\x49\\x24\\x53\\xba\\x6a\\xcd\\xe8\\xe6\\xfb\\xea\\x7b\\x13\\xf2\\x0f\\x9c\\xfd\\xc7\\x90\\xd1\\x30\\x0b\\xea\\x04\\x58\\xf2\\x97\\xc0\\x6c\\x67\\xcb\\x27\\x29\\xb0\\xb0\\x32\\xa6\\x86\\x84\\x21\\xe6\\x00\\xbd\\xa3\\x99\\x2a\\x93\\x89\\xb5\\xe9\\xf5\\xa4\\xef\\x9a\\x53\\xad\\x66\\x59\\x97\\x4a\\xc7\\x11\\x99\\x44\\x7c\\x0f\\x8d\\xc1\\x44\\x59\\x87\\x25\\xf4\\x4a\\x24\\x6e\\x21\\x26\\x0a\\x78\\xb9\\x48\\xf2\\x2e\\x8a\\xa8\\x11\\x09\\xd6\\x01\\x06\\x44\\x98\\x87\\x50\\x1c\\xdd\\x61\\x2d\\xfc\\x9e\\xc0\\x3a\\x6c\\x59\\x0e\\x87\\x0a\\x47\\x85\\x4f\\xf6\\x0b\\x1f\\xac\\x45\\xb7\\x89\\xf0\\x0e\\xd4\\xbf\\xa8\\xa1\\x6f\\xbd\\xb2\\xf6\\x74\\xb8\\xe5\\x38\\x85\\x5a\\x5a\\x28\\x04\\x9f\\x4c\\xe0\\x3b\\x90\\xda\\xc5\\x4a\\xb1\\xb7\\x47\\xf7\\x68\\x86\\x82\\xe7\\xf5\\x8c\\x4a\\xa5\\x56\\x9b\\xb4\\x7a\\x3d\\x70\\x7b\\x1c\\x54\\x63\\xcc\\x61\\x54\\xe2\\xf3\\xd8\\x14\\x63\\x74\\x3a\\xb5\\xc9\\xa0\\xe6\\x53\\x80\\xfb\\x53\\xb9\\x3a\\x25\\x2a\\x2e\\x05\\xfc\\xe3\\xe0\\xfd\\xc4\\x58\\x8b\\x57\\xc0\\xd8\\xe8\\xca\\x69\\xa3\\x97\\xec\\x73\\x6f\\xdc\\x21\\xfc\\x6b\\xd6\\x2c\\x97\\x03\\x1a\\x32\\xd4\\x74\\xc9\\xd3\\x6b\\xc6\\x8f\\x45\\xf5\\xe6\\x47\\xef\\xc6\\x36\\x2e\\x9c\\x7c\\x61\\x65\\x9f\\x37\\x47\\x2d\\x1b\\xb9\\x66\\x1a\\x97\\x58\\xc7\\x4b\\xe2\\x3a\\x5a\\xb0\\xf7\\x6a\\xd1\\x9a\\x19\\xc6\\xc2\\x6a\\x58\\x15\\x07\\x21\\xc0\\xde\\x8f\\xd5\\xa4\\xa0\\x49\\xae\\x87\\x5d\\x63\\xea\\x41\\xd3\\xac\\xd6\\x82\\xb0\\x01\\x3c\\x32\\xa6\\xc7\\x9e\\x04\\x6b\\xd4\\x4a\\x40\\x25\\x12\\x86\\x92\\xac\\xda\\x48\\x40\\x3f\\x61\\x0e\\x27\\x02\\x14\\xd2\\x59\\x14\\x8b\\x68\\x31\\xc9\\xe1\\x80\\x2d\\x50\\x11\\x80\\x15\\x21\\x7a\\xce\\xa0\\x37\\x85\\x6b\\xd8\\xb5\\xfe\\xe3\\xe2\\xc0\\x46\\x58\\xd6\\x0b\\x9e\\xeb\\x03\\xcb\\x5a\\x76\\xcc\\xfd\\x8e\\x7e\\xf1\\x82\\x50\\xd3\\xf2\\x1e\\x95\\x0f\\x5f\\xb9\\xb0\\x7e\\xfd\\xfa\\x96\\x37\\x3e\\x21\\xb4\\x8a\\x31\\x33\\xb1\\x0e\\x2b\\x80\\x65\\x79\\x3b\\xca\\xe5\\xe7\\xec\\x76\\xb3\\x9a\\xb7\\xf2\\x2e\\x14\\xf4\\x39\\x1c\\x00\\x84\\x82\\x6e\\x8e\\x0b\\xfa\\x25\\xb9\\x61\\x27\\x82\\xc3\\x69\\x35\\x10\\xc0\\xc0\\xa6\\x14\\xc0\\xc0\\x54\\x7a\\xa5\\x5c\\x35\\x49\\x82\\xdb\\x12\\x52\\x4e\\x4e\\x34\\x45\\x7a\\xe2\\x71\\x97\\xf9\\x20\\x81\\x95\\x45\\x98\\x70\\x14\\x30\\xe3\\x2f\\x58\\x6e\\xaa\\x08\\x59\\xe9\\xc2\\x69\\xa7\\x7f\\xef\\x30\\x75\\xf3\\xe8\\x09\\x7d\\x22\\x91\\x8e\\xfd\\x6b\\xc2\\xdf\\x5e\\x98\\xb3\\x04\\xe6\\x4c\\x86\\x43\\xc7\\xc1\\xac\\x96\\x8b\\x74\\x3f\\xe3\\x9b\\xa5\\x48\\x7d\\xa1\\x65\\xcd\\xe6\\xad\\x3d\\x74\\xaf\\x31\\x28\\x6b\\xf0\\x1d\\x54\\xe9\\x05\\xd8\\x4e\\xb8\\x0c\\xdb\\x35\\xef\\xb6\\x43\\x6b\\xe9\\x16\\x32\\x27\\x72\\xf7\\x3e\\x0a\\xf3\\x07\\xe9\\x2d\\x15\\x8b\\x16\\xe5\\xa3\\xb0\\x52\\x19\\xb2\\x38\\x2d\\x06\\x44\\x47\\x4a\\xf4\\x9c\\x22\\xac\\x68\\x88\\x65\\x84\\x42\\xfe\\x70\\x98\\xf3\\xfb\\xed\\x0d\\x31\\xbf\\x91\\xd3\\x34\\xc4\\x38\\x2b\\x28\\x4c\\x22\\x06\\xa5\\xdd\\x4a\\x72\\x92\\x9e\\x6a\\x85\\x39\\x20\\x5a\\x46\\x86\\x44\\xf9\\x26\\x76\\x4a\\xb3\\xca\\xe4\\xa2\\xea\\x4e\\x48\\x0c\\xa5\\x74\\x82\\x12\\x56\\x08\\x39\\xb1\\xc8\\xfa\\xd0\\xc1\\xb7\\x2f\\x7f\\xda\\xad\\x5f\\xcf\\x3a\\x25\\xcc\\x2c\\x17\\xa6\\xbe\\x71\\x25\\xa7\\x9d\\xdf\\xeb\\xc8\\xce\\x2e\\xf0\\x4e\\x18\\xa3\\x66\\x6b\\x1e\\x7d\\x75\\xd5\\xad\\x0d\\xb9\\xf3\\x46\\x2c\\xa3\\xfb\\x3d\\xb3\\x63\\xef\\x01\\x44\\x57\\x8c\\x9b\\xd0\\xb3\\x5e\\x2f\\x9c\\x3a\\x77\\x1a\\xae\\x19\\x52\\xc7\\x3e\\xc8\\xaa\\x59\\x7a\\xfc\\x98\\xe9\\xa3\\x5b\\x7e\\xa3\\xa8\\x40\\xcf\\x9a\\x07\\xb7\\xcd\\x8e\\xe3\\xa5\\xe2\\xb9\\xda\\x41\\x90\\x64\\x74\\x79\\xcd\\x0e\\xa0\\xd3\\x29\\x54\\x0a\\x33\\x0a\\x65\\xe8\\xf0\\x81\\x30\\x5a\\xad\\x6e\\x11\\x26\\xd7\\x4f\\x60\\x72\\xd5\\x3c\\x32\\xc4\\x6b\\xbf\\x24\\x95\\xc4\\xb5\\xbe\\x81\\x94\\xd3\\x63\\xe5\\x8e\\xca\\xc9\\x0c\\x37\\x73\\x22\\x0e\\x82\\x32\\xd5\\x2c\\x54\\xb3\\x4a\\xe1\\x47\\x46\\x45\\x0f\\xfe\\xf1\\xc8\\xab\\x6f\\x1d\\xff\\xec\\x16\\x34\\x71\\xfc\\x85\\x37\\xc6\\x4e\\x41\\x1b\\xf3\\x26\\xf2\\x77\\xdc\\xd7\\xb2\\x6f\\xf4\\x1a\\xe3\\x5d\\xfe\\xb3\\xd8\\xc6\\x52\\x41\\x03\\x0c\\x9d\\x12\\xb6\\x1c\\x3a\\x4e\\x02\\x3d\\x67\\x13\\x38\\xda\\x98\\x66\\x07\\x36\\x53\\x6b\\xa3\\x01\\xa7\\x43\\xab\\x35\\xf9\\x58\\x13\\x9b\\x91\\xc9\\x1b\\x8c\\x3c\\x70\\x68\\x1d\\x2a\\x24\\x06\\x5e\\xad\\x88\\xf4\\xc3\\x4e\\xc3\\xc1\\x21\\x09\\x91\\xad\\x7a\\xd4\\xc3\\x24\\xf6\\x4d\\x02\\x5f\\x5d\\xc2\\xc8\\x32\\x93\\xad\\x11\\xc3\\x97\\x70\\x5f\\xf6\\xae\\xa9\\x2f\\xbf\\xf9\\xea\\x91\\x1f\\x07\\xd3\\x2a\\x46\\xf8\\x51\\x49\\x66\\xa0\\x86\\x53\\xc6\\xbe\\x71\\x61\\xfc\\x44\\xb4\\x71\\xe8\\x48\\xe1\\xef\\xc2\\x7f\\x84\\x5f\\x85\\x0f\\xcf\\x86\\x16\\x1b\\xd7\\x8c\\xa6\\x06\\xdc\\x77\\x87\\x79\\x6a\\x8e\\xb0\\xe5\\xc8\\x59\\x38\\x0d\\xce\\x7c\\x59\\x92\\x8f\\x12\\xfe\\xf7\\xfb\\x78\\xa5\\x8b\\xc8\\x4d\\x7d\\x48\\xaf\\x73\\xbb\\x83\\xb9\\x3c\\xaf\\x08\\xa2\\x76\\xc5\\x7e\\xde\\xad\\xb7\\x9b\\xec\\x61\\xd2\\x3a\\xc8\\x54\\x40\\x30\\x57\\x90\\xba\\x31\\x09\\x4c\\x92\\x92\\x53\\xd8\\x0a\\xbe\\xc7\\x9c\\x40\\xea\\x09\\x05\\x3d\\xb0\\x2d\\x6e\\x35\\x9e\\x0e\\x4c\\x85\\xae\\xde\\x72\\x70\\xa7\\x73\\x45\\xc8\\xd4\\x60\\x5c\\xda\\x0a\\xbe\\x1a\\xcf\\x0a\\xf2\\x49\\xc1\\x7f\\x64\\xed\\x36\\xb5\\xe2\\x5d\\x46\\xb1\\xb8\\x53\\x2b\\x10\\xeb\\x35\\xa3\\x61\\x45\\x8a\\xe0\\x87\\x60\\x1e\\x9e\\xd7\\x30\\x91\\x87\\xca\\xa3\\x4e\\xb5\\xd5\\x48\\x5b\\x69\\xa7\\x83\\x31\\x30\\x06\\x20\\xfb\\x3a\\x40\\x99\\xb4\\xd9\\x5a\\x01\\xce\\xc9\\x46\\x1a\\xf6\\x59\\x45\\xf3\\x45\\x5c\\x6c\\xc9\\xe5\\x21\\x3a\\x98\\x1a\\xba\\xf2\\xed\\xbb\\x0c\\xd0\\xa9\\x9b\\x54\\xff\\xf1\\x07\\x83\\x87\\x6b\\x85\\x2f\\x7d\\xcd\\x27\\x7f\\x87\\x7a\\xe1\\x17\\xcb\\xb0\\x67\\xa7\\xea\\x46\\x8f\\x81\\x73\\xe0\\x44\\xec\\xf8\\x3c\\x75\\x5a\\x78\\x5f\\xf8\\x05\\x8b\\xad\\x8f\\x44\\x99\\x74\\xe3\\x0c\\x3d\\x10\\xd3\\xe3\\x11\\x51\\xa0\\xb3\\x83\\x46\\x23\\xed\\xb5\\x5a\\xd5\\x2e\\x8a\\x06\\x6c\\x56\\xd8\\xec\\x6f\\x8a\\xb9\\x38\\xb3\\xc6\\xac\\x71\\x28\\x1c\\x19\\xf5\\x31\\x8f\\xc3\\xaa\\xd0\\x27\\xe1\\x92\\x92\\xa1\\x97\\x64\\x32\\x81\\x44\\x65\\x05\\x09\\xdf\\x92\\x60\\x8b\\x55\\x02\\x5e\\xe5\\x6c\\xc9\\x4b\\x61\\xac\\x9a\\xf0\\x29\\x55\\x60\\x76\\xc9\\xaa\\xea\\xd5\\x11\\xea\\x7f\\x3f\\x75\\xcd\\x2f\\x7c\\xa9\\x1d\\x3e\\xf8\\x03\\xea\\xa9\\x27\\x8f\\xbc\\xfc\\xdb\\x95\\x93\\x1b\\x8b\\xaa\\xa9\\xfb\\x76\\x4f\\x5a\\xd0\\x79\\xfd\\xf1\\x58\\xac\\x69\\xce\\x4e\\x12\\x65\\x39\\xfd\\x94\\xbe\\x69\\x94\\xb0\\xb5\\xdb\\xcc\\x8d\\x2b\\x1e\\x3a\\x32\\xb1\\x7a\\x30\\xbc\\x6d\\xd4\\x9c\\x61\\x12\\xaf\\x10\\xdb\\x20\\x84\\x6d\\x31\\x0f\\xc8\\xc5\\x5a\\x2a\\x33\\x43\\xe1\\x35\\xe8\\x3d\\x1e\\x9b\\x49\\x61\\xca\\xcb\\x77\\x5a\\x1a\\x49\\x6b\\x34\\x00\\xf5\\xb4\\x5a\\x1d\\x20\\x59\\x10\\x34\\x66\\x1b\\x3a\\x7d\\x81\\x6b\\x52\\x11\\xe0\\xe4\\xa6\\xa9\\xad\\xe0\\x8b\\x49\\x6e\\x40\\xd2\\x56\\x30\\xa7\\xa1\\x18\\x07\\xd3\\x30\\x8c\\xa1\\x63\\x69\\x51\\x95\\x6b\\x5a\\xd9\\x93\\x3b\\xa8\\x04\\x8e\\xf1\\xc1\\x34\\x14\\x63\\xb8\\xfe\\x8f\\xcf\\x16\\x6b\\xdf\\x65\\xb4\\xfb\\x0f\\x50\\x53\\x13\\x50\\xc6\\x92\\x7c\\xf9\\x09\\xf3\\x7c\\x00\\x14\\x8a\\x59\\x1d\\x04\\x8d\\xd9\\xe1\\xcb\\x56\\xfb\\xd4\\xed\\x8a\\xac\\xae\\xc6\\x98\\x15\\x20\\x9a\\xe6\\x14\\x32\\x48\\xbb\\x22\\xef\\x26\\x68\\xcc\\x5c\\x8a\\xd2\\x4d\\xa0\\xdd\\xdf\\x0c\\x8d\\x39\\x15\\x22\\xf5\\xff\\x85\\xca\\xbc\\x6d\\x6b\\x9f\\x41\\x55\\xae\\xf2\\x82\\xff\\x85\\xcc\\x3c\\x6b\\xe3\\x66\\xee\\x5d\\x6d\\x79\\x97\\xe6\\xf1\\x6d\\xf1\\x99\\xe5\\x1a\\x17\\x4c\\xaa\\x1b\\x9f\\xe5\\x6c\\x87\\x16\\x9b\\x38\\x66\\x33\\xd2\\x22\\x8f\\xd7\\x81\\x95\\x01\\x2d\\xa3\\xfc\\x62\\x05\\x68\\x30\\x58\\x1b\\x62\\x06\\x23\\x50\\xb4\\x3a\\x03\\x22\\x82\\x52\\x2b\\x16\\x63\\x92\\x18\\x04\\x01\\x91\\xd5\\xb0\\x10\\x32\\x02\\xe2\\xa4\\x10\\x60\\xe2\\x21\\x87\\x6e\\x80\\x72\\xa8\\xb2\\xcc\\xe8\\x35\\x63\\x79\\x4b\\x10\\xb2\\xdf\\x3d\\xfe\\xfd\\x5d\\xc2\\x0f\\x2d\\x63\\x16\\x2a\\xe0\\x45\\xb4\\xc0\\xb2\\x7d\\x9d\\xad\\xb6\\x66\\xdf\\x66\\x25\\x0c\\xc1\\x8e\\x4b\\xff\\x38\\x8c\\xcf\\xc3\\x5f\\xd1\\xa1\\x8d\\x73\\x17\\xac\\x6b\\x4d\\x6f\\x6d\\x34\\xa8\\x75\\x38\\x10\\x32\\xab\\x31\\xb5\\x4e\\x8d\\xc6\\xd9\\x10\\xd3\\x98\\x34\\x26\\x05\\x50\\x60\\x4a\\xf1\\xf2\\x1b\\x52\\xd4\\x58\\x22\\x5a\\x22\\xf6\\x42\\x30\\x25\\xa3\\x25\\x40\\xb2\\xe2\\x01\\x57\\x16\\x48\\x84\\x4d\\xcc\\xa4\\x0e\\xc2\\x8b\\x09\\x6d\\x86\\x26\\xec\\x42\\x7d\\x27\\x5c\\xa3\\x3e\\x59\\x8e\\xa9\\xb5\\x08\\xbf\\x55\\x40\\x70\\x10\\xbb\\x4f\\x42\\xa9\\x62\\x21\\xdd\\x4f\\xb8\\x22\\xfc\\x8c\\xbd\\x26\\xd8\\x11\\x86\\x94\\x9b\\xf7\\x61\\x7f\\x69\\xfd\\xb6\\xe6\\xfe\\xf7\\x2c\\x9c\\xb7\\x41\\x5a\\xdb\\x76\\x98\\xd6\\x37\\xc5\\xf8\\x7d\\x0e\\x18\\x19\\x8d\\xd8\\x73\\xf3\\x9c\\x59\\x59\\x34\\xe2\\xfc\\x1c\\x96\\xf4\\x79\\x61\\x87\\x12\\x1f\\xd7\\x2c\\x0e\\x71\\xd8\\x3e\\xa6\\x91\\x12\\xf9\\x7c\\xf8\\x1b\\x0f\\xf8\\x10\\x49\\xf2\\x00\\x9e\\x86\\x34\\xe2\\xa5\\xf2\\x15\\xb9\\x2f\\x76\\xa2\\xa1\\x43\\xc2\\x7e\\x13\\x5d\\x12\\xcc\\x3d\\x15\\x72\\xfc\\xcc\\x26\\xc6\\xa0\\xe2\\xee\\x7e\\x26\\x39\\xe6\\xe4\\x7e\\x0a\\x4f\\xac\\x8c\\xf1\\x42\\xb8\\x6b\\xdd\\xf1\\xcc\\x67\\xed\\xda\\x02\\xbf\\x3f\\xe2\\x29\\x1d\\x3a\\x7a\\xfc\\x64\\xe7\\xeb\\x2f\\x1d\\x3e\\x06\\xbf\\x31\\x76\\x29\\x6d\\xf0\\x7f\\x55\\xf4\\xdc\\x92\\x6e\\x5d\\x84\\x5f\\x94\\x51\\xba\\xdf\\xd3\\x07\\xb2\\xb6\\xf4\\x28\\xb5\\x59\\x8e\\xb6\\x9f\\x3d\\xdd\\x2e\\xfc\\x57\\xf8\\x14\\x96\\xc3\\x1c\\xe5\\x98\\xbb\\x46\\xdf\\x63\\xdb\\xbe\\xae\\x39\\xf6\\xc8\\xfe\\xce\\x6b\\x97\\x8b\\xb2\\x73\\x39\\x9e\\xeb\\x64\\x3c\\xd7\\x4c\\x30\\x30\\x5a\\xe4\\x36\\x86\\x54\\x2a\\xa3\\xd6\\xcf\\x23\\x36\\x9c\\xa5\\xf5\\xf9\\x7d\\xfe\\x86\\x18\\xc5\\x5a\\xcd\\x06\\x9f\\xcf\\x87\\x99\\xc9\\xe7\\x63\\xcd\\x66\\x47\\x03\\x16\\xa8\\x2c\\xa8\\x8f\\xb1\\x6d\\x98\\xc9\\x54\\x69\\xaa\\x4c\\x35\\x34\\x24\\xa4\\x16\\x3c\\x27\\x3a\\x14\\x4c\\xa6\\x34\\x64\\x44\\xfc\\xc9\\x00\\x62\\x84\\x97\\x5a\\xe5\\xcd\\x79\\xf9\\xc1\\xdd\\xa3\\x85\\x3f\\xb6\\xfe\\x53\\x68\\x3e\\xbe\\xfe\\xae\\x3d\\x50\\xfb\\x0f\\x58\\xfa\\xe0\\xf3\\x45\\x0f\\x0c\\x98\\x30\\xeb\\xd5\\xf7\\x5f\\xfb\\x68\\xfa\\xde\\x87\\xd6\\x8d\\x1b\\xbb\\x77\\xeb\\x84\\x7b\\x35\\x94\\x6e\\xe3\\xf0\\x65\\x8f\\x9c\\x58\\xd8\\xa9\\x7b\\x97\\x8a\\x5e\\xbd\\x0f\\x35\\xf6\\xaf\\xeb\\x4b\\xe6\\x31\\x1c\\xcf\\xa3\\x57\\x7c\\x1e\\xc8\\xa3\\xb6\\x86\\x38\\xd6\\x61\\xf5\\xe0\\x79\\x38\\x14\\xac\\x82\\xc5\\x06\\x93\\xdf\\x68\\x36\\x28\\x7c\\x0a\\x3c\\x0f\\x85\\xc2\\x6f\\xf6\\x03\\x72\\xeb\\x62\\xd6\\x91\\xd9\\xfc\\xdf\\xe6\\x21\\xa7\\x9c\\xc4\\xa3\\x74\\x24\\x0d\\x2d\\x25\\x1b\\x83\\x94\\xec\\x57\\x58\\xa9\\x41\\x23\\xa6\\x7f\\x7c\\xee\\x9d\\x73\\xb3\\x26\\x0c\\x7c\\xa0\\xf0\\xf9\\x07\\x61\\xe9\\xa7\\x50\\xff\\xe4\\xd2\\x0d\\xc7\\x84\\xeb\\x5f\\xde\\x2f\\x5c\\x1b\\xbd\\xfb\\xc1\\xbd\\x7d\\xeb\\xfa\\x37\\x1e\\xea\\xd5\\xbb\\xa2\\x4b\\xf7\\x4e\\x0b\\x4f\\xec\\x5a\\x3e\\x62\\x83\\x8e\\xd2\\xdc\\x77\\xc7\\xd6\\xbd\\x63\\xc7\\xad\\x7b\\x88\\xcc\\xa3\\x08\\xcf\\x03\\x1b\\x8a\\xa0\\x1d\\x18\\x13\\x6d\\xaf\\x2c\\xcc\\x36\\xb8\\x10\\xaf\\xc9\\x75\\x15\\x06\\x15\\x25\\xc5\\xd9\\xf6\\xdc\\x5c\\xad\\x46\\x8b\\x8f\\xb7\\x0f\\x4b\\x2b\\x1a\\x68\\x2d\\x3e\\xb7\\xd6\\xe7\\x76\\xfb\\xb4\\x08\\xd8\\xed\\xa6\\x86\\x98\\xdd\\x08\\xd8\\xf4\\x53\\x2e\\xb3\\x9f\\x08\\x3d\\x9d\\x27\\xcf\\xa9\\x32\\x15\\xc5\\x41\\xec\\xb2\\x89\\x45\\x54\\xea\\xe4\\xe4\\x5c\\x35\\xcc\\x94\\xc4\\x95\\xb3\\x49\\xce\\xb2\\x3c\\x51\\x16\\xee\\xdd\\x76\\x22\\xf4\\x45\\xc6\\xb4\\xc5\\x63\\x97\\x2f\\x1c\\x5d\\x54\\xbd\\x48\\xff\\xa9\\xf9\\xfc\\x43\\x33\\x1e\\xcb\\xba\\xdf\\xe4\\xbc\\xad\\x7d\\x5d\\xc7\\x9c\\x95\\x1d\\x07\\xcf\\x77\\x97\\xac\\x9c\\xb2\\xfc\\x2d\\xcb\\x23\\x5b\\xf2\\x1f\\xdf\\x78\\x4b\\xaf\\x43\\x5d\\xeb\\x3b\\x76\\xb9\\xd7\\x7a\\xdf\\xce\\x81\\x3d\\xbd\\xf3\\xee\\xcf\\x3b\\x6a\\x0d\\x0d\\x1f\\x7c\\x7b\\x80\\xd2\\x6f\\xb8\\xe3\\x81\\xfd\\xd2\\xdd\\xb0\\xbc\\x77\\x26\\x90\\x01\\xea\\xa3\\xf9\\x28\\x68\\xb4\\xaa\\x5c\\x2e\\xab\\x5d\\x1b\\x64\\x32\\xb3\\xec\\x3a\\xec\\x0a\\x61\\x01\\xa6\\xf3\\xe9\\xf0\\xd6\\xe9\\x74\\x66\\xcc\\x85\\xf5\\x31\\x9f\\xd5\\x0c\\x6e\\xb6\\x75\\xe9\\xdb\\x96\\x48\\x18\\xb2\\x46\\x52\\xb7\\x2f\\x2c\\xa6\\x83\\x48\\x69\\x78\\x92\\xaf\\x4d\\x2d\\x5f\\xbc\\x6e\\xcd\\x82\\xfa\\xa1\\x43\\x57\\xcc\\x19\\xd6\\xd8\\xe7\\xd8\\x8f\\x57\\x17\\xaf\\x99\\xf1\\xee\\xba\\x66\\xe1\\x33\\xe8\\x45\\x3b\\x4e\\x9c\\x3e\\x70\\xbe\\x7f\\x74\\x40\\xf7\\xe7\\xeb\\xfa\\x77\\xec\\x72\\x64\\xd7\\x82\\x0b\\x65\\xba\\x15\\x13\\x46\\x6d\\x6f\\x80\\x05\\x90\\x81\\x34\\x94\\x70\\x95\\x27\\x0a\\xf5\\xf4\\x60\\xec\\x87\\xf0\\xd8\\x06\\x71\\x03\\x93\\x09\\x29\\x2c\\x0a\\x06\\xd9\\xac\\x88\\xb7\\xf0\\xf8\\xac\\x58\\x78\\x35\\x96\\x6a\\x6a\\x37\\x34\\xc4\\x41\\xa3\\x5a\\xc3\\x69\\x64\\x4a\\x17\\x11\\x7c\\xb2\\x82\\xb6\\x1a\\x06\\xca\\xa8\\x28\\xb4\\x43\\x70\\x03\\x24\\x1a\\x03\\xd5\\x9d\\x44\\x8b\\x9a\\x57\\x9c\\x6c\\x92\\xbb\\x03\\x55\\x9e\\xc4\\xeb\\xb7\\x48\\xe8\\xc7\\x68\\xb1\\x8e\\x23\\x77\\xeb\\xb7\\x46\\xdb\\x15\\x99\\x73\\xb0\\x50\\xf5\\x67\\x65\\x21\\x33\\x2a\\x2b\\xf7\\x04\\x1b\\x63\\x1e\\xa0\\xd5\\xe9\\x9c\\xd8\\x94\\xce\\x27\\xa6\\x34\\x4d\\x03\\xa3\\xb1\\x04\\x9b\\xd3\\x3c\\xc0\\x8e\\x04\\x70\\xa7\\xad\\x61\\x2b\\x9d\\x17\\xbf\\xc0\\x90\\x83\\x13\\x89\\x18\\x4f\\x45\\xba\\xee\\x4b\\x45\\x5b\\xb6\\xb0\\x28\\x15\\x7f\\x74\\xfc\\xb1\\xaf\\x5d\\xd0\\x61\\xb8\\xbd\\xf3\\x98\\xf1\\x14\\x95\\xbf\\x67\\xf6\\x91\\x73\\x52\\x45\\x1a\\x0c\\x4b\\x0a\\xf0\\x86\\x95\\x54\\xa0\\x4d\\x1a\\x36\\x76\\xb2\\xd0\\x6f\\xfb\\xda\\x40\\xe7\\x3e\\xf7\\x6d\\xec\\x30\\x73\\xf8\\x38\\x68\\xc3\\x6a\\x50\\x2c\\x45\\xc3\\x36\\x78\\x50\\x54\\x83\\xd7\\x1f\\xfa\\xe2\\x47\\xf4\\x09\\xa9\\x42\\x7b\\xf6\\xa9\\x97\\x13\\xb5\\x22\\x74\\x6f\\x13\\x4b\\x6a\\x45\\xf0\\x1e\\x90\\x3c\\x8e\\xde\\xa2\\xdd\\xd5\\x29\\x1a\\xb0\\x69\\x3c\\x58\\xb1\\x43\\x12\\x38\\xa2\\x60\\x53\\xcc\\xa4\\xa7\\x28\\xa5\\x5e\\xcf\\x13\\x1c\\x50\\xa5\\x13\\xbb\\x7e\\xd6\\x56\\x99\\x9b\\x69\\x18\\x37\\xa4\\xbb\\x3a\\x76\\xf4\\x44\\x60\\xfe\\xa4\\xbd\\x25\\x39\\x4a\\xa8\\xd3\\xf3\\xf0\\xd5\\x61\\x4b\\xb7\\xde\\x2a\\x5c\\x17\\xbe\\x84\\xb6\\x3f\\x5e\\xfe\\x2e\\x4f\\xf8\\x5a\\x7b\\xcb\\xe0\\xef\\x96\\x2f\\x2b\\xeb\\x5a\\x0d\\xc7\\xbc\\x2d\\x54\\xb5\\x2f\\x76\\xc1\\x20\\x56\\xe2\\x1a\\x98\\xff\\xd4\\x9e\\x70\\x53\\x83\\xb0\\xe7\\xd8\\x41\\xbd\\x57\\xe4\\xf5\\x32\\xcc\\x27\\x0f\\x88\\xb8\\x45\\x6e\\x50\\x1c\\x75\\xda\\x54\\x26\\xc4\\x21\\xc0\\x6b\\x55\\x3a\\x85\\xc7\\xcb\\x1b\\x58\\xa3\\xce\\xc0\\x3a\\x31\\xc3\\xb8\\x13\\x81\\x89\\x54\\x29\\x04\\x6d\\xd6\\x24\\xb4\\xb9\\x04\\x8c\\x4c\\x12\\x48\\xe5\\x1a\\x07\\x6b\\x97\\x91\\xfb\\x77\\x3d\\x7c\\xb8\\x73\\xa3\\xb0\\x1c\\xe6\\x60\\xce\\x34\\xc0\\x2c\\x21\\xbb\\x28\\xfb\\x96\\xfc\\xdc\\xdc\\x02\\x68\\x98\\x7f\\x68\\xcc\\xa6\\x87\\x77\\xaf\\xaf\\x3a\\xb4\\x05\\x75\\x68\\xd9\\x46\\x8d\\xbb\\x5e\\x57\\xbc\\xba\\xdb\\xa3\\x43\\x4b\\x3b\\x54\\x11\\xba\\x14\\x04\\x4b\\x1e\\xaf\\x9d\\x06\\x14\\x80\\xaa\\xa8\\x4f\\xa5\\x47\\xf9\\xc1\\xfc\\x6c\\x4e\\x6f\\x63\\x0b\\x8b\\x32\\x2d\\x0e\\x6c\\xf1\\xb1\\x6e\\xad\\xdf\\x61\\xd4\\x02\\x82\\x69\\x92\\x24\\xae\\xd5\\x2d\\x86\\x8c\\x1d\\x26\\x26\\xad\\xd9\\xfc\\x84\\xca\\xb0\\x94\\xb3\\x1b\\x29\\xf1\\xc1\\x8a\\x04\\x52\\x96\\x01\\x12\\x08\\x11\\x6a\\x42\\x66\\x61\\xa8\\x5d\\x71\\xb0\\x20\\x4b\\x78\\xa3\\x64\\xf4\\x80\\x9c\\x58\\xfd\\x2d\\xdd\\x17\\x6f\\x7a\\xa9\\xa9\\x67\\xf7\\xbc\\xe5\\xb7\\x6f\\x5a\\xdc\\xfd\\x96\\xfa\\x58\\xce\\x80\\x5e\\x25\\xce\\x7d\\xed\\x72\\x42\\x43\\xfb\\xd4\\x0f\\x09\\xe4\\xb4\\x3b\\xfd\\x7b\\xc7\\xf5\\x87\\x9e\\x19\\xdc\\xfd\\xdc\\x94\\x47\\xd6\\xac\\x69\\xea\\x3b\\xe5\\x5c\\xf7\\xc1\\xcf\\x2c\\x9b\\x34\\xac\\xe0\\x77\\xb2\\xff\\x8b\\x85\\x29\\x74\\x27\\xbc\\xb6\\x62\\x3f\\x1b\\x15\\x6b\\x35\\x98\\xcd\\x26\\xd6\\x64\\xb3\\x9b\\x5d\\x56\\x00\\x90\\x51\\x61\\x10\\x93\\x58\\x93\\xc4\\x73\\x91\\x56\\xe1\\xb7\\x4c\\x19\\x8c\\x2d\\x05\\x61\\x2e\\xc0\\x95\\x56\\xa0\\x1c\\x31\\x69\\x15\\xda\\x49\\xd2\\x2a\\x69\\x67\\xaf\\xfc\\xdb\\xa2\\x69\\x17\\xdf\\xa3\\x9e\\x6d\\xd9\\x4c\\x32\\x55\\xa9\\x2e\\xd7\\x4a\\xe1\\xd6\\xc9\\xe3\\x45\\x1e\\x14\\x73\\x6a\\x45\\x7b\\xb3\\x3a\\xea\\xd7\\xa8\\x29\\xec\\x82\\x58\\x2c\\x6e\\x35\\x0a\\x05\\xed\\x3e\\x82\\x94\\x8a\\x28\\x8a\\xd5\\x58\\x78\\xd6\\x80\\x17\\xd4\\x98\\x4a\\x49\\x2b\\x6c\\x08\\x68\\x91\\x3c\\xa9\\xf4\\x64\\xda\\x14\\x57\\x8b\\x87\\x7b\\x95\\x74\\x5a\\x32\\xed\\xe1\\xed\\xb2\\x5f\\x45\\x57\\x4c\\x1e\\x9f\\x9e\\x4a\\x4b\\x1f\\x5d\\xfb\\xa0\\xe4\\x4c\\x89\\x34\\x92\\x9e\\xc7\\x98\\xc6\\x3c\\xd0\\x2d\\x9a\\x45\\x01\\x0f\\x66\\x3c\\xb5\\x3a\\xcb\\xe8\\xa5\\xf3\\x0b\\x82\\x39\\x8d\\xb1\\xa0\\x48\\xa4\\x97\\xd7\\x99\\x1b\\x63\\x3a\\x17\\xeb\\x48\\x52\\x2a\\xdd\\xa5\\xa6\\x11\\x2b\\xd7\\x30\\x25\\x88\\x4d\\x22\\x1b\\x94\\xfd\\x3f\\xc8\\xde\\xf9\\x44\\xbb\\x59\\xee\\xaa\\xa2\\xbb\\xfe\\x8c\\x78\\xf4\\xec\\x3e\\x0d\\xfb\\xae\\x76\\x11\\x75\\xa6\\xed\\x1c\\xa8\\x14\\x2c\\x74\\x1e\\xdc\\x16\\x2d\\xe6\\x01\\x4d\\x9b\\x52\\xf0\\xd0\\xad\\x36\\xb3\\xa9\\x29\\x66\\x06\\x04\\x15\\xbd\\x29\\x05\\x15\\xdd\\xf0\\xbf\\x50\\xd1\\x13\\x66\\xbe\\x29\\x11\\xf6\\x69\\x0d\\x8d\\x9e\\x08\\x14\\x3b\\x3f\\xf9\\x44\\x82\\x47\\xff\\xe4\\x13\\xb1\\xe1\\xbd\\x1c\\x24\\xfe\\xed\\xe4\\x49\\xa8\\x8a\\x47\\x87\\xc9\\x5a\\xcf\\xbd\\xf1\\x2d\\xfa\\x50\\xcc\\x63\\xcc\\x8a\\x5a\\x54\\x34\\x4b\\x1b\\x90\\xc5\\xac\\xc0\\x1a\\x4c\\x61\\x00\\xba\\xc6\\x54\\x5d\\x1d\\x47\\xb0\\x22\\x28\\x51\\x22\\x2a\\x4b\\x02\\xfd\\x11\\xd1\\xcb\\x77\\xf7\\x16\\xae\\x52\\xa5\\xb6\\x48\\x51\\xe3\\xe8\\xda\\x61\\x96\\xa6\\xdd\\x1b\\x29\\xcd\\xc9\\x96\\xba\\xbe\\x51\\xaf\\xed\\x6f\\x0e\\x7d\\x02\\xd7\\x1f\\xbf\\x47\\x43\\x90\\x73\\x14\\xb4\\x4a\\x05\\x58\\x08\\xa0\\x56\\x47\\xe6\\xdb\\x88\\xe7\\x8b\\x34\\x40\\xd3\\x98\\x86\\x42\\x94\\x06\\x0e\\x13\\x07\\xee\\x97\\x7b\\xfa\\x8b\\x80\\xfd\\x12\\x5c\\xbf\\x70\\x96\\xae\\xba\\xda\\xb2\\xe1\\xea\\x55\\x6a\\x46\\x6a\\x0f\\x79\\x07\\x18\\x14\\x2d\\x04\\x4a\\x25\\xaf\\x53\\xd1\\x3a\\x93\\x4d\\xc3\\x3a\\x5d\\x26\\x85\\x02\\xeb\\x64\\x05\\x1f\\xe5\\xf5\\xa4\\x27\\x0c\\xaf\\x91\\x02\\xf4\\x62\\x27\\x81\\xfa\\x98\\xa6\\xf5\\x92\\x9f\\x15\\xd3\\x25\\x2e\\x89\\x8d\\x27\\x52\\x15\\x21\\x01\\x70\\x8d\\x88\\x77\\x90\\x22\\x2d\\x58\\x94\\x84\\xb0\\x18\\x91\\x30\\xe9\\xc3\\xc1\\x25\\xc3\\xee\\x90\\xd6\\x3d\\xd7\\xbd\\x74\\xe4\\x18\\x11\\x99\\x5e\\x43\\xe5\\x57\\xde\\x3f\\x87\\x11\\x86\\x9e\\x3c\\x49\\x79\\xa8\\x82\\x8a\\x7b\\x17\\xb0\\x70\\xed\\xc9\\x14\\x1e\\xc1\\x46\\x39\\x18\\x16\\x8d\\xb8\\xf4\\x98\\x49\\x6c\\x26\\x15\\x43\\xa9\\xf4\\x16\\x05\\xeb\\xf5\\x21\\xb5\\x4d\\x8d\\x15\\xa0\\xcd\\xee\\xe0\\xb0\\x55\\x6b\\xe3\\x6c\\x9c\\x82\\xe7\\x2d\\xd8\\x8a\\xff\\xf3\\x96\\xf7\\x69\\xc8\\x3a\\xb6\\x44\\x14\\x36\\x9d\\x4d\\x44\\xf1\\x2c\\x75\\x10\\xc2\\x4e\\x62\\x90\\xb7\\x44\\x90\\x73\\xee\\x5c\\x89\\x6c\\xd3\\xbc\\xad\\x9b\\x67\\xdb\\x24\\x96\\x31\\x0d\\x1f\\x4e\\x3d\\x78\\x48\\xb8\\x82\\x79\\x26\\x77\\xd3\\xb4\\x19\\x9b\\xa0\\xff\\x64\\xf3\\xc5\\xc7\\xeb\\x07\\x90\\x75\\xfe\\x14\\x9f\\x51\\x5a\\xc4\\x9d\\xc1\\x7c\\xa3\\x01\\x3a\\xc0\\x20\\xce\\xa8\\xd7\\x91\\x7e\\xaa\\x4a\\x2a\\xed\\xc2\\x23\\xce\\x37\\x29\\xae\\xb4\\xb4\\x58\\x92\\xcb\\xfc\\xc4\\xc3\\xe4\\x65\\x03\\x44\\xdf\\xf8\\x99\\x43\\xcc\\x90\\x93\\x12\\x5f\\x2e\\x13\\x6e\\xa1\\x77\\x89\\xfe\\x7d\\x13\\xb6\\xb8\\x3c\\x1e\\xc0\\x3a\\x5c\\x0c\\xaf\\x52\\x31\\x0e\\x03\\x60\\xbc\\xa4\\x4b\\x95\\x88\\x5e\\xe5\\x62\\xdc\\xc8\\xdd\\x14\\x73\\xb2\\x2c\\x76\\xd8\\x0c\\x50\\xee\\x61\\x46\\xf2\\xfe\\x53\\xd1\\xa2\\x5a\\x65\\xde\\x91\\xcc\\x0a\\xc2\\x4a\\x22\\xb2\\x19\\x08\\xc5\\xdb\\x82\\x95\\x91\\xa0\\x79\\x19\\x0c\\x70\\xcb\\xf0\\x59\\x79\\x4d\\xb8\\xf2\\xd4\\xcb\\xc2\\x07\\xbf\\x1e\\xba\\x56\\x0e\\x61\\xdf\\xed\\xcb\\xe6\\xec\\x38\\xe4\\x80\\x36\\x61\\x3c\\x73\\x51\\x98\\xf2\\xaa\\xb0\\xc9\\xf3\\xef\\xe7\\xff\\x2d\\xfc\\x67\\xcd\\xd2\\x8e\\xf7\\x6c\\xda\\xb1\\x79\\xd5\\x09\\x78\\x5b\\xf3\\x7d\\x12\\xdd\\xa4\\x07\\xc7\\x1a\\xcc\\xe7\\x61\\xd2\\xf3\\xd6\\xef\\x21\\xb8\\xfe\\x46\\xb5\\x5a\\x9f\\x45\\x4a\\x4d\\x12\\xb8\\xfe\\x06\\x82\\xeb\\xdf\\x40\\x70\\xfd\\xf9\\x74\\x5c\\x7f\\xae\\x2d\\xda\\xe5\\xff\\x1d\\xd4\\x3f\\xb3\\x24\\xd2\\xe1\\xcb\\x04\\xa8\\xff\\x20\\x33\\x95\\x3d\\x75\\xe0\\x9c\\xb1\\x57\\xc9\\xc7\\x74\\x55\\xcb\\x94\\xad\\xb3\\x5e\\xde\\x46\\x75\\x6b\\xde\\x1f\\x07\\xf5\\x9f\\x70\\xeb\\xbe\\xb7\\xa9\\xb7\\xc9\\xe7\\x8f\\x3e\\x4a\\x4a\\x7b\\x30\\xed\\x78\\x4f\\x97\\x89\\x58\\xa3\\x3d\\xa2\\x19\\x1e\\x27\\x0c\\xe9\\x14\\x1a\\x8d\\x5a\\x1d\\x72\\xa2\\xcc\\x2c\\xb3\\x4e\\x6b\\xb1\\xd8\\x32\\x94\\x2e\\x03\\xed\\xb7\\x61\\xb7\\xcb\\x68\\xb3\\x8a\\xad\\x64\\xfe\\x8c\\xf8\\xb6\\xd4\\x87\\xb8\\xff\\x07\\xe9\\x6f\\xff\\x2f\\xba\\xaf\\x79\\xa8\\xc1\\x37\\xa3\\x9a\\xd0\\x5d\\x27\\xd2\\xdd\\x0f\\x14\\x13\\x5e\\x31\\x10\\xe4\\xff\\x62\\x60\\xcd\\xc8\\xf1\\x7a\\x33\\x80\\x8a\\x2e\\x89\\x04\\xc2\\xf5\\xb1\\x80\\xab\\x80\\x36\\xd3\\x0d\\x31\\xa7\\x19\\x13\\x6e\\x34\\x18\\x54\\x09\\x28\\x19\\x89\\xee\\x14\\x14\\xdc\\xd4\\xac\\xa8\\x9b\\xe0\\xc8\\xc8\\xdd\\xfd\\x6d\\xff\\x43\\xa1\\xc0\\xff\\xca\\x5b\\xc1\\x52\\xc1\\x3b\\xfa\\x26\\x66\\xb4\\x72\\xad\\xa8\\x50\\x96\\x92\\x7f\\xa4\\x36\\x6d\\x9e\\xf3\\xf2\\xb6\\x96\\x63\\xa8\\x29\\x75\\x3b\\x9a\\xdf\\xda\\xf3\\x98\\x86\\x3d\\xa5\\x5d\\x4c\\x5d\\xdb\\x3c\\xe7\\xd1\\x47\\x5b\\xf6\\x88\\xf3\\xbb\\xf1\\x04\\xd1\\x87\\x74\\x7f\\xac\\xb3\\x3b\\x45\\xfd\\xac\\xd5\\xea\\xa6\\x02\\x7a\\x5d\\x40\\x17\\x0c\\x39\\xb0\\xca\\x76\\xb8\\x14\\x2c\\x4b\\xe9\\x79\\xb5\\xa9\\x31\\xa6\\x36\\x52\\x71\\xfb\\x3d\\xa1\\x06\\x2b\\x53\\xd0\\x1a\\xcc\\x69\\xad\\x0d\\x12\\x13\\x4b\\x99\\xc2\\xc6\\xd4\\x3e\\x07\\xff\\x22\\xad\\x0f\\x1e\\xd9\\x2d\\x51\\x9d\\xd2\\xeb\\xa0\\xa5\\x81\\x9a\\x28\\x36\\x40\\x18\\xb7\\x7f\\x0f\\x51\\x81\\x8b\\xc5\\xfe\\x0b\\x83\\x98\\xaa\\x38\\x8d\\x01\\x97\\xd5\\xa0\\x50\\x68\\x94\\x56\\x65\\x28\\xe8\\xb5\\x37\\xc6\\xbc\\x2e\\x33\\x6a\\xc4\\xde\\x10\\x5e\\x78\\xa5\\x9c\\x23\\x2b\\xd1\\x07\\xec\\xe9\\x7d\\x18\\x12\\xe5\\x48\\x6d\\xfa\\x30\\xa4\\x48\\x8f\\x9b\\xb4\\x64\\x90\\xa3\\x6f\\x3b\\x65\\xba\\x52\\x1b\\x33\\x34\\xb7\\x88\\xa2\\x65\\xdf\\x41\\x89\\x57\\x08\\xa6\\x43\\x37\\xcc\\xe3\\x3a\\x50\\x18\\xe5\\x35\\x58\\x0d\\x51\\x0c\\xc3\\x02\\xd6\\xa0\\x57\\x51\\xac\\x56\\x61\\x80\\xac\\x84\\x2f\\x94\\xcc\\x34\\x8a\\x9f\\xc3\\x1c\\x48\\x5a\\x55\\x84\\xa4\\x06\\x15\\x11\\xba\\x9b\\xf0\\x1f\\x21\\xaa\\xbe\\x06\\xb3\\xe1\\x93\\xea\\x6b\\xd4\\x6f\\xe3\\xc7\\xb6\\x5c\\xc1\\xcc\\xca\\xaf\\x6e\\xa4\\x4c\\x62\\xde\\x82\\x98\\xb3\\x8d\\x79\\x52\\x8d\\x2d\\x00\\x3b\\xc1\\x00\\x35\\xf0\\x3c\\xd0\\x5b\\xad\\xf8\\x5d\\x4e\\x87\\xde\\x5a\\x1f\\x13\\x11\\xc4\\x8d\\x48\\xaf\\x47\\x2a\\x95\\x46\\xac\\x90\\x37\\xd5\\x27\\x8c\\xbf\\x34\\x87\\x31\\x8d\\x0c\\xd2\\xa3\\x4e\\x74\\x09\\x23\\x7e\\x46\\x0a\\x7b\\x21\\x29\\xa8\\x44\\x4f\\x17\\x7e\\xbc\\xf1\\xab\\xf0\\x23\\xd4\\x0b\\x94\\xaa\\xe5\\xfa\\xe4\\x29\\x1a\\x78\\x46\\x33\\x7e\\xce\\x84\\xa9\\x7a\\xa1\\x56\\x3f\\x89\\xf2\\x0a\\x3f\\x0b\\x1f\\xc1\\x4c\\xa8\\x83\\x5a\\x98\\xf1\\xca\\xca\\x7b\\xef\\x5b\\xd1\\xe2\\x5b\\x74\\xf7\\x5a\\xd1\\x56\\x29\\xc1\\xb4\\x3e\\x81\\x69\\x25\\x75\\x56\\x77\\x44\\x3b\\x60\\xb3\\xd4\\xa6\\x26\\xbd\\x9a\\xac\\x1c\\xaf\\x65\\x82\\x01\\x82\\x6b\\x09\\xac\\x6a\\x8d\\xc1\\xe0\\x33\\x60\\x8a\\x0d\\x06\\xab\\xc6\\x6a\\x6e\\x8a\\x59\\x79\\x8d\\xbe\\x29\\x86\\xb7\\xd3\\x51\\x1f\\x53\\x1a\\x29\\x5f\\x7d\\x8c\\xb2\\xa6\\xc3\\x4b\\xb5\\x89\\x58\\xa4\\x41\\x87\\x64\\x26\\xef\\x3e\\xca\\xe2\\xdd\\xb2\\xf1\\x97\\x39\\x91\\x05\\x4a\\x8d\\xbd\\x65\\xfa\\x81\\x93\\x27\\x8e\\x4e\\x1d\\x40\\xd5\\x08\\x4f\\xc1\\x22\\xe1\\x6d\\x38\\xa8\\xe5\\x15\\xf8\\x64\\xbf\\xae\\xb5\\x3d\\x9e\\x2d\\xeb\\x09\\xb3\\xf0\\x54\\xf0\\x64\\xba\\x14\\x5d\\xf8\\xf4\\xc2\\xef\\x97\\x28\\x2f\\x9c\\xba\\xf7\\xfc\\x89\\xe7\\xf0\\x7c\\x3a\\xe1\\xf9\\x6c\\xc4\\xf3\\xb1\\x80\\x1c\\xd0\\x35\\x1a\\x44\\x61\\xad\\xca\\x64\\xb7\\xab\\xc2\\x28\\x37\\xcf\\xe7\\xf7\\x63\\x81\\x86\\xfd\\x98\\x10\\x36\\x71\\xdc\\x21\\x2b\\x8f\\xdd\\x05\\xde\\x08\\x52\\x5d\\x5e\\x4c\\x71\\x7a\\xcd\\x4b\\x8a\\x8f\\x5e\\x8d\\xd5\\x68\\xdc\\x59\\x0f\\xfb\\x41\\xfc\\xa2\\x3e\\x24\\x23\\x60\\x63\\x47\\x7d\\xdc\\x5d\\x8f\\xe4\\x67\\x86\\xcb\\xaf\\x46\\x72\\x33\\x0a\\x76\\xac\\x82\\x6a\\xe8\\xeb\\xbf\\x69\\xd8\\xa8\\xc9\\x36\\x64\\x9b\\x3c\\xea\\xf6\\x4d\\xf5\\xd0\\x89\\xee\\xfe\\xe4\\xe8\\x43\\x07\\x9e\\x5c\\xf1\\xd0\\x43\\xcb\\xf6\\xbe\\x7c\\xef\\xcb\\x7f\\x3d\\x2b\\xbc\\x26\\x7c\\xfe\\xe8\\xf7\\x8b\\x17\\xce\\x9c\\xb9\\xf0\\xae\\x1f\\x77\\x62\\xbf\\xac\\x54\\xe4\\x1f\\x11\\x57\\x83\\xe4\\xf4\\x91\\xa6\\x25\\x7d\\xa2\\x59\\x9c\\xc5\\x40\\xd3\\x0e\\x2d\\xc3\\x00\\xab\\x0a\\x90\\xb6\\x11\\xc0\\xec\\xd4\\x62\\x4f\\xcc\\xa0\\x35\\x5a\\x1c\\xa4\\x5f\\x04\\x62\\xad\\x8c\\xeb\\x66\\xe9\\xc9\\xad\\x01\\xf6\\x48\\xdb\\x3b\\xcc\\xc8\\x59\\x54\\x59\\xa9\\xa9\\x02\\x4f\\x90\\x86\\xc6\\x30\\x57\\x0e\\xb1\\x43\\xc4\\xb1\\xf4\\xf4\\x2b\\x6f\\xbc\\x7f\\xee\\x83\\xf7\\xdf\\x78\\x1f\\x3e\\x2a\\xfc\\xbe\\x6d\\x5b\\x4b\\x73\\x63\\xd7\\xfb\\x29\\xef\\xf7\\xc2\\xe7\\x5e\\x61\\x14\\xdc\\xe9\\x86\\x81\\xef\\xbf\\x83\\x1e\\x2f\\x5c\\x25\\x2c\\x2c\\x17\\x74\\xb0\\xa8\\x73\\x8b\\xbf\\x0e\\xe6\\x3d\\x74\\x38\\x40\\xfd\\xbd\\xbb\\x78\\xbe\\xb6\\xe0\\xb5\\x57\\xe0\\xf3\\x65\\x01\\xf9\\x51\\x2b\\xa3\\xd7\\x2b\\x81\\x92\\xb7\\x9a\\xb0\\x45\\x60\\xb2\\xea\\x0d\\x06\\x56\\xcb\\x93\\xae\\xea\\xad\\xa5\\x53\\x71\\xbb\\x8a\\xb8\\x3f\\x43\\x60\\xa7\\xe5\\x05\\x0d\\x6f\\x99\\x36\\x7a\\xe7\\x0b\\xd0\\xee\\x72\\x08\\x3f\\xc5\\xef\\x84\\xbf\\x36\\x7f\\xfb\\x0a\\x7c\\xbe\\xa5\\x4b\\xca\\x7d\\xb0\\xfc\\x4e\\xbc\\x56\\x89\\x77\\x2a\\x81\\x95\\x4f\\x7b\\x27\\xf8\\xff\\xfa\\x4e\\xd4\\xe3\\xfa\\xa1\\xf4\\x77\\xe2\\xfd\\x39\\x81\\xe7\\xe9\\x24\\x59\\x15\\x8c\\xd9\\x8c\\xe7\\xa9\\x43\\x6e\\x97\\x85\\xc7\\xfb\\x65\\x67\\xed\\xf8\\xe5\\x76\\xab\\x56\\x6d\\x54\\x37\\xc6\\x8c\\x2e\\x71\\xca\\xad\\x0c\\xb5\\x54\\xa7\\x34\\x49\\x48\\x8a\\x89\\x94\\x46\\x8e\\x24\\xdf\\x1e\\xdd\\x94\\xba\\x08\\xd7\\xa7\\x2e\\x20\\x82\\xed\\xc9\\xa3\\x30\\x22\\x12\\x05\\xc1\\x39\\x4c\\x53\\xa5\\xc8\\xf7\\x78\\x1d\\xf4\\x2c\\x8b\\xed\\x5d\\x79\\xed\\x8d\\x06\\xbd\\x5e\\xa1\\x31\\x28\\x5c\\x37\\x5b\\x07\\x98\\x10\\xb8\\xad\\x6e\\xe5\\x77\\xbe\\x20\\xfc\\xab\\xd5\\x85\\xfc\\xb7\\xaf\\x34\\x3f\\x4a\\x8f\\x4d\\xac\\x44\\xf2\\x9d\\x5e\\x6c\\xd7\\xbb\\xed\\x1a\\x16\\x0f\\x04\\x38\\xbf\\xcf\\x8d\\xdf\\xea\\x36\\x3a\\xec\\x76\\x3d\\x6f\\xd0\\x63\\x03\\x5f\\xef\\x02\\x6d\\xd5\\x92\\x2c\\xf0\\x65\\x25\\x94\\x32\\xf7\\xb6\\x84\\xc4\\x05\\x7c\\x1b\\x72\\x5a\\x7e\\x95\\xc5\\x3b\\x52\\xa7\\xed\\x0f\\x76\\xb8\\xe9\\x2a\\x4c\\x97\\x16\\x84\\xa3\\x26\\x86\\x65\\xb5\\x3a\\xec\\x86\\xb0\\x6a\\x35\\x45\\xb4\\x24\\xdb\\x36\\xb7\\x50\\xa4\\x43\\x54\\x8a\\x62\\x66\\x0b\\x5d\\x39\\x70\\xbd\\x70\\x0c\\x7b\\x4d\\x6e\\x58\\xb0\\x7d\\x18\\xea\\x6b\\x13\\xce\\xb7\\xbc\\x4f\\xe5\\x42\\x13\\x34\\x39\\xc4\\xf1\\x37\\x0b\\x83\\xd0\\xfb\\xe2\\xf8\\x99\\x51\\x0e\\x6b\\x60\\xa0\\xd7\\x69\\xb5\\x94\\xc2\\x45\\xe1\\x1d\\xa7\\x8c\\x89\\xb4\\xde\\xc4\\xe8\\xe6\\xf2\\x88\\x1f\\x88\\xc3\\x07\\x82\\x8a\\xcd\\xc3\\xb6\\xc3\\x02\\xe8\\x16\\xbe\\x12\\x8e\\xad\\x1f\\x48\\x97\\x39\\x84\\xef\\x85\\xef\\x9b\\x0b\\xd0\\x7b\\xb0\\x92\\xe4\\x7e\\x88\\xb5\\xb1\\x7b\\x44\\x1d\\x65\\x01\\x95\\x51\\x2f\\xa7\\xd0\\x43\\x48\\x51\\x6a\\x85\\x86\\xb6\\xf2\\x7a\\xec\\xc2\\xe8\\xf5\\x14\\x42\\x16\\xec\\xc3\\x18\\xb4\\x14\\x9f\\x92\\xab\\x97\\x7e\\x57\\x42\\x32\\x17\\xe4\\xec\\x42\\xd2\\x9f\\x8a\\x84\\x50\\xf3\\x20\\x7c\\x5c\\xf8\\x27\\xfc\\xea\\x87\\x6f\\x66\\x4f\\x87\\xb5\\xc2\\x1b\\xc2\\x8f\\xa7\\x2e\\x9f\\xb8\\x74\\x1a\\x1e\\x11\\xfa\\xd2\\x55\\x3b\\x1f\\x9e\\x7b\\xbf\\x5b\\xc8\\x81\\x47\\xf6\\x6d\\x7d\\x40\\xba\\x67\\xc8\\x22\\x35\\xba\\x32\\x1d\\x9d\\xa3\\x19\\x9c\\x02\\x58\\x2c\\x08\\x11\\x3a\\x78\\xab\\xce\\x90\\x12\\xf3\\xa4\\x21\\x76\\x6b\\xcd\\x0d\\x31\\x9a\\x4f\\xa6\\xab\\xa4\\xb5\\x66\\x4c\\xd0\\x13\\x8f\\x0c\\x41\\x1b\\xf1\\x3b\\x3a\\x40\\x94\\x03\\x9d\\x82\\x83\\xd0\\x23\\x9c\\x84\\xe5\\xd0\\x28\\xd2\\x43\\xad\\x86\\x47\\xae\\x9f\\x13\\xe9\\x81\\x57\\x84\\xbe\\x32\\x3d\\x10\\x2c\\x90\\xf3\\x8b\\x4b\\xc0\\xa8\\x68\\x65\\xb8\\xd8\\xa9\\x63\\x03\\x01\\x73\\xbe\\xae\\x98\\x89\\x94\\xe6\\xe5\\x14\\xe6\\x34\\xc6\\x0a\\x5d\\xac\\x33\\xc3\\x98\\x81\\xea\\xb1\\x61\\x88\\x65\\xb1\\x1a\\x01\\x90\\x61\\x35\\x62\\x27\\x6f\\x9a\\x05\\xfa\\x2c\\x45\\x16\\xca\\x62\\x31\\xe2\\xbd\\x89\\x14\\x0d\\x1d\\x2a\\x92\\x99\\x88\\xc8\\x56\\xde\\xa4\\x38\\xef\\xff\\x90\\x57\\x8c\\x0f\\x28\\x6f\\x49\\xb6\\x1e\\x80\\xd3\\x65\\x38\\xd9\\x3f\\x49\\x29\\xde\\x3a\\x02\\xb3\\xf1\\xa0\\xfe\\x4f\\xee\\x80\\x11\\x19\\x59\\xf6\\xe6\\x99\\xc4\\x85\\xb3\\x16\\x6b\\x2f\\x71\\xfb\\x0f\\xc0\\x21\\xd2\\xbc\\xff\\x8e\\x79\\xed\\x67\\xe6\\x3d\\x6c\\x47\\x14\\x45\\xed\\x2a\\x2b\\xb2\\x1a\\x91\\xd3\\x41\\x3a\\x28\\x36\\xc6\\x74\\x80\\xc6\\x16\\x45\\x63\\x6a\\xe2\\x56\\x5a\\x6b\\x84\\x64\\x16\\x59\\xda\\xe5\\x1f\\x0b\\xe7\\xe6\\xdd\\x66\\xa9\\xe8\\x51\\x5b\\xfd\\xf2\\x99\\x58\\x6d\\x6e\\xdf\\xee\\xb5\\xc7\\x84\\x41\\x7a\\xc5\\xfb\\x7c\\xfd\\x6c\\x7a\\xec\\x6b\\xcf\\x99\\xaf\\xf0\\x83\\x27\\x5e\\x7f\\xf0\\xfc\\xf3\\xe9\\xef\\xf7\\x83\\xee\\xd1\\x2c\\xe8\\xf3\\xe9\\x4d\\x4a\\xa3\\xc9\\x6f\\x67\\x02\\x41\\x3d\\x20\\xf7\\x14\\x9c\\x9f\\x77\\xb8\\x78\\x57\\x63\\x8c\\x77\\x29\\xd5\\x0c\\x3e\\x00\\x0c\\x00\\x69\\x35\\x50\\x6d\\x83\\xc9\\x91\\x34\\x7a\\xa4\\x4c\\xbc\\x44\\xca\\x5b\\x35\\x0c\\x41\\xc5\\xbb\\x71\\xca\\x76\\xec\\x38\\x76\\x46\\x26\\xf6\\xdd\\x93\\x68\\x9b\\x4c\\x5d\\xf3\\xb2\\x93\\xf9\\xe7\\x9f\\x97\\x48\\x36\\x60\\x1a\\xbf\\xc0\\x34\\xfe\\x48\\xf7\\x95\\xd6\\x08\\x19\\x6d\\x46\\x15\\x72\\x38\\x09\\x4a\\x7f\\x63\\x4c\\x6b\\x24\\xc9\\x6d\\xff\\x6b\\x8d\\xca\\x12\\x58\\xfd\\xa2\\x45\\x2f\\x67\\x5b\\xa3\\x5b\\x5f\\x39\\xde\\xa5\\x5b\\x8f\\xdc\\x2e\\x4d\\xaf\\x9c\\x70\\x54\\x14\\x75\\xa9\\xe8\\x2c\\x0c\\x7a\\xee\\x35\\xea\\x1f\\x13\\x07\\xf3\\x57\\xcc\\x47\\x5f\\x6f\\x09\\x0c\\xea\\x91\\xc5\\xbf\\xcf\\xcb\\x67\\x45\\xac\\x8d\\x7b\\x4f\\xc4\\xa2\\xe9\\x11\\xcd\\xf2\\xda\\xb5\\x7a\\xbd\\x27\\xc3\\x64\\x64\\x8d\\x19\\x76\\x3a\\x37\\xcf\\x15\\x6e\\x8a\\x71\\x1e\\x97\\x8b\\x47\\x7c\\x00\\x5b\\x1c\\x2e\\xa4\\x4c\\xc9\\x5d\\x90\\x4e\\x6f\\xea\\x75\\x7a\\x9c\\x05\\xd3\\x36\\x4d\\x81\\x19\\x30\\x2c\\x49\\x48\\xf1\\x73\\x46\\x8a\\xf7\\x8a\\x3c\\x49\\xad\\x8f\\x2f\\x97\\x7b\\x51\\xf1\\xde\\x69\\x23\\x5f\\x1a\\xbd\\xef\\xcd\\x97\\xf7\\xde\\x3b\\x53\\x58\\xd9\\xa7\\x53\\x8f\\x45\\x5c\\xc6\\xdc\\x0e\\x35\\xbd\\xe8\\x41\\xf1\\xb5\\xeb\\x39\\xaf\\x61\\x69\\xf7\\x07\\x56\\xf5\\xad\\xd9\\xbb\\x71\\xdd\\x93\\x0d\\x5f\\x95\\xb5\\xef\\x56\\x5a\\x50\\x52\\x29\\xee\\xf5\\x19\\x7c\\xe6\\xf3\\x99\\x11\\x78\\x1d\\xb1\\x1d\\xaf\\x62\\x00\\x42\\x14\\xc5\\x28\\x8c\\xb4\\xc3\\x89\\x14\\x04\\x90\\x15\\x28\\x95\\x16\\xc6\\xa2\\xaf\\x8f\\x59\\xe8\\xd4\\x0c\\xed\\x48\\xdb\\xe3\\x43\\x92\\x91\\x24\\xf8\\x5e\\x31\\xa7\\x4e\\x51\\x26\\xc1\\x07\\xf1\\x68\\x25\\xe9\\xa8\\x22\\x2c\\x81\\x4b\\x03\\xbd\\xba\\x88\\xed\\x41\\x96\\xec\\x1b\\x00\\xff\\x76\\x12\\x0b\\x26\\xe7\\x49\\xca\\x34\\xb8\\x3a\\x44\\xfa\\x82\\xd4\\xdd\\xbf\\x4c\\xa4\\xe7\\x51\\x61\\xb0\\xd8\\xff\\xc5\\x0e\\xca\\xa2\\x6e\\xd2\\xff\\xc5\\x6e\\x54\\xda\\x21\\x26\\x47\\xa4\\xc1\\xf5\\x27\\x00\\xd1\\x29\\xd1\\x9a\\xd6\\x1d\\x5e\\x52\\xba\\x95\\xa4\\x36\\x76\\x49\\x74\\x29\\x11\\x2b\\xc6\\x9a\\x9b\\xd2\\xda\\x93\\xe0\\xfd\\x75\\x63\\x1b\\x63\\x9f\\x98\\xc7\\x15\\x02\\x03\\xa3\\xf9\\x30\\x10\\x70\\x5a\\x29\\x9f\\xcf\\xc8\\xa8\\x14\\x2a\\xab\\x9d\\xce\\xc8\\x34\\x72\\x7e\\xa5\\xdd\\x61\\x6f\\x88\\x31\\x90\\x73\\x38\\x74\\xc8\\x65\\x30\\xbb\\xb1\\xcf\\x63\\xd5\\x25\\xda\\x70\\x60\\xa1\\x58\\x99\\xcc\\xe1\\x4a\\x0d\\xcf\\x24\\xe5\\xa3\\x74\\x14\\xe4\\xd6\\x1b\\xe4\\x44\\x88\\xe9\\xaa\\x1c\\xc9\\xae\\x24\\x59\\xd5\\xf0\\x11\\xb8\\x10\\x3a\\xe6\\xcd\\x8b\\xf7\\xdf\\x98\\xf8\\xf1\\xe3\\xfb\\x26\\x4e\\x84\\x7f\\x89\\xcd\\xa2\\x84\\x95\\x31\\xba\\x4a\\x18\\x07\\xb7\\x09\\xe3\\x0e\\x09\\x52\\xf3\\x8d\\x6f\\xde\\x7e\\x73\\xcc\\x21\\xb8\\xad\\x79\\xc5\\xfe\\x95\\xfc\\xdd\\x9b\\xa5\\xb3\\x4c\\x7a\\xef\\xae\\xc0\\xf3\\x28\\x01\\x1d\\xa3\\xfe\\x90\\xd1\\x6b\\x2d\\x44\\x39\\xd8\\x76\\xc1\\x32\\xc5\\xc1\\x46\\x4a\\xa1\\xc3\\xe9\\x68\\x8a\\x15\\x3b\\x0d\\xda\\xac\\x94\\x30\\xfa\\xcd\\x50\\xc6\\x88\\xf8\\x26\\x31\\x72\\x79\\x35\\x09\\x6c\\x7c\\x39\\x51\\x30\\x65\\x12\\x44\\x38\\x15\\x37\\x93\\x45\\xd9\\xd9\\x01\\xd2\\x2b\\x46\\xd4\\x16\\xb6\\x2f\\x5c\\xf9\\x9f\\xed\\x3b\\xbf\\x5b\\x66\\xcb\\x28\\xcd\\xaa\\x1d\\xf9\\xc6\\x6d\\x33\\x43\\xb9\\xa1\\x15\\xd3\\xa7\\x2d\\x0f\\xe5\\x84\\x66\\x0c\\x7d\\x1d\\x4d\\x2d\\xe2\\xfb\\x8e\\xbb\\xb3\\x6e\\xdd\\x5b\\x93\\x27\\x5d\\xbc\\xb7\\xf4\\xb6\\xc6\\x01\\xd5\\x8e\\xa2\\x0b\\x13\\x86\\x16\\x0d\\x1f\\x37\\xab\\x76\\xc9\\xce\\x6d\\xcb\\xa2\\x33\\xef\\x18\\x59\\x18\\x9b\\x22\\xcd\\x83\\xe0\\x92\\x34\\x62\\xfd\\xeb\\x04\\xed\\xa3\\x1e\\x0e\\x69\\x55\\x2a\\x1b\\xc2\\xf6\\x97\\x95\\x37\\xa8\\x0d\\xac\\xa1\\x29\\xc6\\x5a\\x6d\\xd2\\xa1\\x37\\xa6\\xe6\\x84\\xd6\\xa4\\x57\\x34\\x58\\x79\\xe2\\x4d\\x25\\x02\\xea\\x92\\x3f\\x4c\\x18\\x15\\x29\\x76\\xef\\x15\\x7e\\xfb\\xe3\\xbb\\xbf\\x43\\xc7\\xed\\xa3\\xfe\\xd1\\xb5\\xce\\xdc\\xcf\\x94\\x79\\x27\\xdd\\xef\\xf2\\x57\\xc2\\x73\\xc2\\x23\\x1f\\x7e\\x43\\xad\\x6d\\xd9\\xb4\\x69\\x09\\x3c\\xbf\\x6a\\xba\\x92\\xbe\\xac\\x10\\x7b\\xdd\\xfa\\xf0\\xb9\\x79\\x0a\\xaf\\xab\\x1a\\x04\\xa3\\x46\\xb5\\x8a\\x06\\xb4\\x12\\x69\\xb4\\xb4\\x52\\x65\\x80\\xca\\x78\\x9c\\x41\\xde\\x72\\xe2\\x4b\\xa2\\xac\\x30\\x81\\x82\\x82\\x01\\xfa\\x29\\xe1\\xc3\\x0f\\x8a\\x1d\\x86\\xf6\\x6f\\x0b\\x57\\xe0\\x03\\xb0\\x9e\\x9a\\xbe\\x79\\x74\\xfb\\x33\\x2d\\x9b\\xf0\\x50\\xe2\\x3c\\x35\\x78\\xdc\\x33\\xe2\\x9d\\x41\\x49\\xd4\\xae\\xb5\\xa9\\x4c\\x34\\x02\\x3a\\x08\\x68\\x95\\x49\\xa5\\x57\\x28\\x74\\xbc\\xde\\x00\\x75\\x71\\x97\\xb5\\x48\\xbc\\xb7\\x87\\x45\\x91\\x22\\xb9\\x61\\x44\\x20\\x84\\xb2\\xca\\x14\\x28\\x84\\xc2\\x16\\x16\\x85\\xcc\\x11\\x33\\x69\\xc8\\x6e\\x8e\\xd0\\x67\\x3e\\x1f\\xc2\\x7b\\xd6\\xbd\\xf2\\x90\\xc5\\x78\\xcb\\xd5\\x17\\x7e\\xde\\xe2\\x44\\xd0\\xb8\\xed\\x17\\x6a\\xd8\\xb6\\x9e\\xd3\\x85\\x4a\\xf8\\x43\\xcf\\x8e\\x1b\\x5b\\xee\\xc6\\xbc\\x54\\xd0\\xe0\\x50\\x77\\x80\\xbf\\x4b\\x74\\x84\\x89\\x4d\\xc2\\x7c\\x81\\xad\\xdb\\xdc\\x28\\xaf\\x46\\x98\\x0e\\xab\\x4d\\xaf\\x02\\x1a\\x13\\x8f\\x18\\xc0\\x60\\x07\\x11\\xa6\\xa4\\x2a\\x56\\xca\\x15\\x2c\\xb0\\x44\\x6e\\x17\\x44\\x60\\xb0\\xe4\\x19\\xe3\\xc5\\x5d\\x33\\xa1\\x4f\\xbd\\xb5\\x63\\xff\\x4e\\xd9\\xf0\\xb4\\x70\\xe5\\x64\\x76\\xb5\\xbd\\xf6\\xa8\\xf0\\x21\\x3c\\x5d\\x7f\\x92\\xf9\\x42\\xf7\\x9a\\x32\\x6b\\xd0\\x84\\xeb\\x6f\\x53\\x86\\xc9\\xff\\xb8\\xfd\\xdb\\x96\\xef\\xe8\\x99\\x6f\\x3e\\x26\\xbe\\xbf\\x0c\\xbf\\x9f\\xdc\\x4b\\x29\\x81\\x37\\x8a\\x9d\\x0a\\x0a\\xb0\\x08\\xaf\\x32\\x83\\xcf\\xbd\\x58\\x92\\x59\\x99\\x10\\xe7\\x22\\x5c\\x22\\x36\\x30\\x38\\xf8\\x91\\x70\\x2b\\xcc\\x81\\x2a\\xec\\x83\\x65\\x09\\x43\\xe1\\x8b\\xd4\\x32\\x61\\x00\\xdc\\xd7\\x72\\xa7\\xd0\\x43\\xae\\xcd\\x61\\x7c\\xa2\\x9f\\x82\\xa5\\xb5\\x59\\xab\\x37\\xa9\\xb1\\xd2\\x32\\x19\\xb4\\xd8\\xb4\\x31\\x19\\x8c\\x98\\x81\\x8c\\x06\\x9d\\x59\\x8b\\xdd\\x5c\\x2d\\x4f\\x53\\x0a\\x6c\\x35\\x2a\\x5c\\xe9\\x3a\\x2d\\x5d\\xa5\\x25\\x23\\x9c\\xd2\\xa1\\x4d\\x40\\x05\\xd2\\x65\\xb2\\xce\\x6f\\x69\\x8c\\x57\\xed\\x50\\xe3\\x6f\\x95\\xf4\\x7b\\x5f\\xb9\\x5e\\x87\\xc8\\x97\\xae\\x37\\xca\\xe8\\x97\\x31\\x3d\\x36\\x10\\x20\\x77\\xcc\\x6a\\xc4\\xa8\\xec\\x1c\\xa7\\xf2\\x6a\\xc8\\x4c\\x95\\xc1\\x90\\xde\\x55\\x8f\\xed\\x3e\\xa4\\x50\\xb1\\x0a\\xb6\\x29\\xa6\\x30\\x78\\x69\\x35\\x52\\x37\\xc5\\x6c\\x3c\\x41\\xc6\\x96\\xea\\x31\\x53\\x9b\\xdf\\xb6\\x4a\\x9b\\x21\\x9d\\x10\\x24\\x82\\x22\\xf1\\x92\\xdb\\x3c\\x48\\x72\\xb2\\xa4\\xbc\\xdc\\x92\\x72\\x18\\x53\\x16\\x08\\xcf\\xc3\\xaf\\x85\\x1a\\xea\\x03\\xc1\\x71\\x60\\xe5\\xa1\\x29\\x8b\\xd7\\x3f\\xf7\\xec\\xc7\\xc5\\x15\\xf0\\x9d\\x2c\\x97\\xab\\xaa\\xc7\\xb4\\x48\\x87\\xe1\\xe6\\x38\\xbd\\x6f\\x6e\\x59\\xb7\\xe4\\x9e\\x6d\\xb7\\xcc\\x86\\xdf\\x84\\x32\\x2b\\x46\\xe7\\x89\\xfb\\x23\\xe2\\x38\\x8a\\xfe\\x50\\x34\\x1a\\xd0\\x2b\\x54\\x3a\\xc4\\x71\\x3a\\x85\\xda\\xc6\\xb8\\xdc\\x98\\x4f\\x2d\\x1a\\x0b\\x20\\xe2\\x5a\\xa7\\xd6\\xa8\\x49\\xcc\\xa0\\xf5\\xed\\x46\\x3a\\xb5\\xc9\\x50\\x6c\\x59\\x32\\x48\\x2b\\x26\\xfe\\x50\\x4d\\xcb\\x26\\x3e\\xfe\\xdc\\x58\\xd8\\xd4\\xf2\\x1a\\x5a\\x25\\x6c\\xfd\\xcb\\xe7\\xc2\\xbf\\xff\\xf3\\x8e\\xf0\\x87\\x1d\\xf2\\x9a\\xb9\\xff\\x5a\\xfb\\xd0\\x7d\\x6b\\x4e\\xc0\\x21\\x17\\x5e\\x15\\x36\\x9b\\xbf\\x39\\xf9\\x9d\\xf0\\xeb\\x1b\\x47\\x74\\x43\\xa6\\xe0\\xb5\\x9d\\x87\\x69\\xdb\\x88\\x69\\xf3\\x61\\xdd\\x3c\\x38\\x5a\\x8c\\xe5\\x34\\x67\\xb6\\xe9\\x5c\\x58\\x7c\\xbb\\x6c\\x99\\x9c\\x45\\xa9\\xc8\\xcd\\xb3\\x59\\x78\\x0b\\x26\\x0c\\x6b\\x69\\x3b\\xa7\\xa3\\x00\\xd2\\x70\\x1a\\x8e\\xe6\\x0d\\x74\\xa8\\x3e\\x46\\x27\\x5c\\x97\\xca\\xa2\\x22\\x42\\x65\\x5e\\x1b\\x79\\x28\\xb9\\x0f\\x61\\x56\\x12\\x85\\x44\\x37\\xb7\\xa2\\x1f\\xab\\xee\\x4c\\x31\\xef\\x9c\\xac\\x37\\xba\\xe0\\xc8\\xbc\\xff\\xec\\xdd\\xe7\\x27\\x9c\\x3f\\xb5\\xfb\\xe8\\xb3\\xcf\\x4f\\x4b\\xce\\xa6\\x7d\\xfb\\xe2\\xe6\\x0f\\xa7\\x36\\xde\\xdf\\xf7\\xee\\x95\\x0d\\x5d\\x85\\x51\\x45\\x95\\xb3\\x1a\\xee\\x1b\\x72\\xef\\xb6\\xbb\\xd6\\x6d\\x48\\xce\\xeb\\x8e\\x09\\xdd\\x7a\\x3d\\xde\\xbe\\x76\\xc0\\xca\\x0a\\x71\\xdd\\x27\\xe0\\x73\\x31\\x9d\\xb9\\x15\\xeb\\xc7\\x92\\xa8\\xd3\\x0e\\x14\\x16\\x0b\\xd0\\x63\\xcb\\x87\\xb6\\x35\\xc6\\x68\\x1a\\xbb\\x62\\xd8\\x1a\\xe3\\x68\\x90\\xa2\\xa9\\xd3\\x3a\\xff\\x72\\x29\\x79\\x8f\\x62\\x5d\\x57\\x09\\xe0\\x49\\x74\\x00\\x5e\\x2a\\xec\\x18\\x98\\xb3\\x6c\\xde\\xa2\\x41\\x77\\x69\\x85\\x9f\\xbc\\xd0\\xf8\\x97\\xdf\\xa1\\xfb\\xca\\x61\\x2a\\xa2\\x65\\x9f\\x78\\x68\\xcd\\xea\\x69\\x03\\xba\\xec\\x3e\\x27\\xfc\\xfb\\xda\\x79\\xe1\\x6b\\xaf\\x70\\x58\\xa4\\x63\\x1a\\xa6\\x63\\x6e\\x9c\\x0e\\x8e\\xb6\\x63\\x41\\x48\\x63\\x3a\\x2c\\xb0\\x31\\x66\\xb1\\x28\\x80\\x42\\xdf\\x48\\x3a\\x23\\xff\\x29\\x1d\\x24\\x18\\x01\\xd2\\x5a\\xb6\\x13\\xd3\\x86\\x83\\x7f\\x1c\\xfa\\x1b\\x74\\xfd\\x71\\x16\\x72\\x5e\\xe1\\x27\\xed\\xd2\\x5b\\x16\\xcf\\x5d\\x36\\x27\\x58\\x9d\\x0f\\xfb\\x79\\xa1\\xed\\xdc\\x1f\\xd0\\x7e\\x6e\\x77\\x97\\xa6\\xe9\\x6b\\x56\\x3f\\xf4\\x04\\xab\\x6d\\xb9\\x94\\xb8\\x63\\x1f\\xc5\\xd4\\x61\\x3a\\x48\\x1f\\x31\\x1b\\x47\\xd3\\x36\\x52\\xeb\\x06\\xb1\\x2a\\x80\\x50\\x61\\x47\\x22\\x21\\xd6\\x84\\x7f\\x96\\x76\\xab\\xce\\x59\\x4d\\x49\\x56\\x4b\\xae\\x0b\\x47\\x7d\\x78\\xe8\\x6f\\xc2\\x97\\x7f\\x9c\\x15\\x7e\\xf0\\x42\\x43\\x92\\x0a\\xa6\\x4e\\x38\\xe2\\x15\\xbe\\x3e\\xff\\x87\\xf0\\xaf\\x14\\x3a\\xa8\\x12\\x91\\x8e\\x19\\x98\\xe7\\x48\\x8e\\xa5\\x9b\\xdc\\xf5\\xea\\xdd\\x2c\\xef\\xe6\\x3d\\x5e\\x8b\\xc2\\xa2\\x70\\x20\\x07\\x57\\x1f\\x73\\xb8\\x90\\xba\\x75\\xea\\x6d\\x7a\\xce\\xa7\\x39\\xe5\\x66\\x5f\\xae\\x5a\\x10\\xeb\\x56\\x49\\xf4\\x6f\\x06\\xd4\\xff\\x12\\x4f\\xa0\\x9c\\x3e\\x7d\\xea\\xdc\\x78\\xa9\\xea\\xaa\\x5f\\x85\\xdf\\x29\\x1b\\x34\\xc2\\xb0\\x98\\x39\\xf9\\xd0\\x41\\xa1\\x68\\xff\\x33\\x52\\x75\\x2a\\xcc\\x84\\xac\\x84\\x59\\xf1\\x0d\\xbd\\x92\\x89\\x89\\x88\\xae\\x37\\xb0\\x47\\x87\\xbd\\x65\\xca\\x09\\x5c\\x51\\x8e\\xba\\x61\\x83\\x1b\\x6d\\x70\\x89\\x0d\\xf6\\xb7\\x41\\x83\\x0d\\xda\\x00\\x37\\x94\\xfc\\x57\\x26\\xd5\\x8c\\x93\\x7b\\x63\\x82\\x77\\xa2\\x07\\x0e\\x10\\x04\\x4d\\xd1\\x02\\xaf\\xda\\x42\\x1b\\x9c\\x4e\\xbd\\x5e\\x41\\xab\\xe9\\x8c\\x90\\xc2\\x10\\x34\\x04\\xb1\\x4b\\x18\\x8f\\x11\\xea\\x81\\xde\\x89\\x3d\\x55\\x1e\\x38\\xea\\xa5\\x5b\\xbd\\xff\\x99\\x06\\x23\\x35\\x18\\x49\\x2b\\x85\\x83\\x12\\xa6\\x0c\\xe9\\x43\\xc3\\xc5\\x2f\\x67\\x36\\x52\\x1d\\x4f\\x5c\\x1e\\xd9\\x34\\x71\\xea\\xfb\\xcf\\xb6\\x6c\\x85\\xe6\\x77\\x06\\xf7\\xcd\\xcb\\xed\\x71\\xfb\\x3b\\x1f\\xcf\\x1e\\x37\\x6c\\xf1\\xc7\\x74\\xd5\\xdd\\xf7\\x0c\\x5b\\xe0\\x74\\xaf\\x1e\\x7d\\xf7\\xa3\\xd4\\x52\\x47\\x79\\xbb\\xa2\\x32\\x7b\\x4b\\xfb\\xee\\x3d\\xbb\\xd5\\x8a\\xbd\\x3b\\x30\\x5f\\x4c\\x95\\x73\\x78\\xba\\x45\\x33\\xd5\\x1e\\x92\\xc5\\x63\\x55\\xf8\\x83\\x1e\\x26\\x33\\xcb\\x8f\\x85\\xaa\\xa2\\x21\\xc6\\xb2\\x66\\x6c\\xb9\\xe1\\xcd\\xb9\\x59\\xf2\\xce\\x9f\\x66\\xee\\xf0\\x29\\x09\\x3c\\x61\\x31\\x23\\x43\\x16\\x03\\x15\\xc4\\x4e\\xa7\\x7a\\xf6\\x68\\xbc\\x7d\\xee\\xca\\xdb\\x86\\xd6\\x2f\\x58\\xb3\\x6e\\x3e\\xa4\\xa1\\x57\\xf8\\xf4\\xfa\\xc6\\xb7\\xa7\\xaf\\x5d\\x74\\xf5\\x27\\xb4\\xa3\\x4b\\xc7\\xfe\\x75\\xcf\\xf7\\x68\\x8a\\xf6\\xff\\xcb\\xa1\\xd3\\x27\\x8e\\x08\\xef\\x0b\\xd7\\x85\\x6b\\xc2\\x7b\\x4d\\xdb\\x47\\x4c\\x58\\xa1\\x2b\\xbb\\xb0\\xf0\\x61\\x49\\xf7\\xd6\\xdf\\xf8\\x96\\xc9\\x60\\xda\\x61\\x7f\\x1c\\x5b\\x9e\\x8c\\xd5\\xa5\\xd1\\x64\\xf9\\x8d\\x46\\x9d\\x15\\x85\\xb3\\x31\\xfd\\xc1\\xa6\\x98\\x47\\xaf\\xc3\\x1a\\xd8\\xe5\\xd0\\xeb\\xf1\\x04\\xc4\\xfa\\x0c\\xb3\\xb2\\x09\\xdb\\x9e\\x6d\\xc0\\xbf\\x80\\xbd\\xe8\\x66\\x77\\x83\\xa9\\x88\\xd4\\x62\\x6a\\x09\\x8c\\xa7\\x96\\xd8\\x4c\\xf1\\xc4\\x19\\x0f\\x44\\xdd\\xec\\xcf\\x2f\\x5e\\xb1\\xf1\\xee\\x2e\\x43\\xf2\\xdf\\x80\\x57\\x16\\x7c\\xb5\\x4c\\xf8\\x5d\\x78\\x0f\\x66\\x37\\x2f\\x1e\\x6f\\x80\\x19\\xbd\\xfb\\x56\\x79\\x3b\\x94\\x51\\x57\\x1e\\x3f\\xb4\\xf7\\xe0\\x31\\xde\\xb6\\xf4\\x6d\\xa1\\xaa\\x47\\x47\\xc2\\x74\\x50\\x09\\x8b\\x2a\\xa0\\x83\\x7b\\x5d\\x5b\\xd7\\xe3\\x0a\\x48\\xd4\\x97\\x74\\x17\\xef\\x82\\x2b\\xa3\\x5e\\xa8\\x52\\xa9\\x29\\x96\\x65\\xd4\\x8c\\x56\\x07\\x95\\xf5\\xb1\\x25\\x70\\x23\\xb6\\xe9\\xa1\\x1a\\x69\\x0c\\xac\\x3a\\x61\\xd9\\xb4\\x8d\\x83\\xcb\\xc5\\x87\\x22\\x3e\\xf2\\x23\\xf8\\x77\\xec\\xc2\\xbf\\x84\\xe9\\xc2\\x3f\\xb1\\xdd\\x82\\xb5\\xfc\\xf5\\x73\\xf0\\x2d\\xa1\\x58\\xb2\\xa1\\x10\\x18\\x87\\x7d\\xc3\\x66\\xe6\\x22\\xde\\x7b\\x12\\xe1\\xae\\x8f\\xe6\\x79\\xd5\\x66\\xbd\\xd3\\x69\\x05\\x88\\x42\\x46\\x35\\x1d\\x08\\x02\\x9d\\x1b\\x2f\\x20\\x72\\xf3\\x16\\x73\\xd3\\x10\\x0b\\x9e\\x39\\xf6\\x69\\x0d\\x0a\\x5b\\xbd\\xa4\\xf4\\x53\\x1b\\x26\\xb4\\x5a\\x3d\\xd9\\x99\\x8d\\xbb\\xaf\\x89\\x6b\\x55\\x72\\x05\\x2f\\x96\\x42\\x12\\x33\\xd9\\x8a\\x86\\xef\\xdc\\xf9\\xe6\\xd9\\x27\\xce\\x9c\\x7e\\x69\\x6c\\xbc\\x60\\x4b\\x18\\xd6\\xaf\\x6a\\xc6\\xc6\\x8e\\x97\\x2e\\x99\\xce\\xbd\\x7d\\x60\\xcb\\x7d\\x8f\\x51\\x07\\xc8\\x95\\xfc\\x35\\xff\\xc0\\x01\\x55\\xb3\\xda\\xd5\\xe0\\x35\\xaa\\x12\\xa6\\xd0\\x7e\\x71\\x8d\\x0a\\xa2\\x56\\xb2\\x3e\\x50\\xad\\x51\\xa9\\x19\\x5a\\xa7\\x55\\x40\\x15\\x59\\x1b\\x72\\x7b\\x75\\x2e\\x3d\\xff\\x46\\xea\\xf3\\x5a\\x11\\xc7\\x8c\\x86\\x70\\x32\\x0c\\xcc\\x27\\xf9\\x20\\xc2\\x9d\\xc2\\x3b\\x70\\x91\\x30\\x0e\\x2f\\x8e\\x75\\x00\\xbc\\xff\\x5a\\x29\\x6a\\x14\\xa2\\xf0\\x49\\x6a\\x8b\\xb4\\x1f\\x7f\\x03\\x04\\xf9\\xbc\\x0a\\x30\\xc0\\x17\\xd5\\xd3\\x10\\x02\\x56\\x41\\x19\\x20\\xdd\\x14\\x83\\x72\\x3c\\x27\\x11\\xc5\\xca\\x11\\x97\\x9d\\x56\\x35\\xbf\\x05\\x1d\\x94\\x9d\\xae\\x6a\\xde\\x1c\\xcf\\xc5\\x86\\xcc\\xfb\\x58\\xd6\\xe5\\x80\\x7e\\xd1\\x6c\\x8f\\x11\\x62\\xe9\\x91\\xa1\\x06\\xea\\xbc\\x5c\\xb9\\x45\\x27\\x49\\x62\\x36\\x2a\\x74\\xba\\x80\\x98\\xc4\\x1c\\x26\\x49\\xcc\\xd0\\x75\\x93\\x24\\x66\\x90\\xd6\\x2d\\x87\\x6c\\x33\\xa9\\xa4\\x4c\\xad\\xd1\\x4a\\x89\\x1b\\x60\\xf3\\x25\\xb5\\x58\\xab\\x52\\xf8\\x2a\\xb5\\x48\\xeb\\x99\\x9d\\x84\\x25\\x23\\x1d\\xa1\\xf0\\x4d\\x22\\x67\\x5f\\x18\\x04\\x1f\\x3b\\x9c\\x2c\\xd1\\x82\\x05\\xab\\x1f\\xc0\\x7c\\x59\\xd5\\xaf\\x65\\x5b\\x5a\\xbe\\x7e\\x5c\\xa7\\xfa\\xc1\\xc8\\x68\\x07\\x25\\xef\\xf0\\x78\\xa0\\xd7\\xe0\\xf7\\xba\\x78\\x26\\x18\\x60\\xec\\x8d\\x31\\xb7\\x1f\\xf8\\xb1\\x94\\x00\\xfa\\x25\\xcc\\x46\\x62\\x81\\xfa\\x40\\x11\\x58\\x82\\x25\\x24\\xa3\\x22\\xb6\\x30\\x30\\x79\\x79\\x93\\xa6\\x31\\x66\\xa2\\x53\\xec\\x06\\x52\\xc3\\x5e\\xc9\\xc9\\x35\\xa5\\x69\\x56\\xa3\\xf9\\xcf\\x94\\xb0\\x74\\x1d\\x52\\x16\\xb8\\x13\\xf6\\xbf\\xa9\\x32\\x86\\xfd\\x84\\xc3\\xc2\\x97\\xc2\\x21\\x18\\x84\\x5c\\x5b\\xb5\\x9c\\x7f\\x6c\\xfc\\xf8\\x54\\xbd\\xec\\x07\\xe3\\xa3\\xd5\\x76\\x46\\xe3\\x23\\xd8\\x00\\x80\\xe3\\x90\\x06\\x05\\x82\\x2e\\x25\\xd6\\x8a\\x0c\\xcb\\xd4\\xc7\\x7c\\xac\\x69\\x89\\x6b\\xa3\\x8b\\x32\\xb0\\x3e\\xb6\\x88\\x5d\\xc2\\x6e\\x64\\xf1\\x64\\x5c\\xac\\x8b\\xd5\\x23\\x31\\x27\\x8d\\x46\\x09\\xd5\\x1d\\x2f\\xc9\\x6f\\x35\\x9d\\xe4\\x0d\\x5e\\xa6\\x48\\x36\\xfe\\xfa\\x13\\xa5\\x1e\\xa0\\x47\\x09\\x87\\x30\\xe5\\x78\\x06\\x37\\xd7\\xee\\xfd\\xc7\\x8f\\x1f\\x7f\\x2c\\xbf\\xad\\x8a\\x17\\x7e\\x90\\xce\\x33\\xa9\\x3f\\x7a\\x44\\xac\\x09\\xf6\\xe0\\x79\\x0d\\x8d\\x46\\xfc\\x46\\x4e\\xef\\xf3\\x69\\xa0\\xc5\\xc1\\xb2\\x16\\xa3\\x99\\x0e\\x06\\x8c\\x5e\\xbd\\x17\\xdb\\x73\\x3e\\x88\\x80\\xde\\xa0\\x05\\x2a\\x9b\\x78\\xc3\\xe6\\x12\\x1b\\xc9\\x70\\xad\\x2a\\xee\\x89\\x5f\\x88\\x1d\\xa6\\xf4\\xee\\xb0\\x89\\xdb\\xdf\\x74\\x10\\x6a\\x09\\x72\\x3a\\x51\\xaa\\x63\\xe6\\x20\\x7c\\x9f\\xad\\x9c\\x33\\x63\\xe1\\x8a\\xd9\\xa3\\x3b\\x9c\\x85\\xbf\\x0a\\x07\\xe1\\xc4\\x96\\xc2\\xf2\\xb2\\x71\\x63\\x23\\x95\\xaf\\xc0\\xac\\x01\\xe3\\xc5\\x0a\\x1d\\x23\\x0c\\x0e\\xc5\\xee\\xc8\\x94\\xbf\\xb4\\x0c\\xbe\\x44\\x85\\xf6\\x9d\\x26\\x95\\x3a\\xa7\\x29\\xd4\\xb2\\x87\\xdc\\x60\\x53\\x20\\x57\\xb8\\x85\\x7e\\x00\\xcf\\xa7\\x08\\x54\\x82\\xbb\\xa2\\xdd\\xcb\\xd8\\x76\\x5a\\x0d\\x2c\\xc8\\x33\\x14\\x15\\xb9\\xcd\\xe1\\x1c\\x2e\\x64\\xb5\\x72\\x61\\x37\\x64\\xd9\\xaa\\x0e\\x1e\\x6c\\x3d\\x10\\xd6\\x73\\x71\\xb9\\x86\\xdc\\xa6\\x58\\xb6\\xd9\\x1c\\x6e\\x88\\x69\\xcc\\x78\\x96\\x06\\x83\\x0e\\xa8\\x22\\xe2\\x2c\\x2b\\xd2\\x91\\xb6\\x53\\xa6\\xf7\\xe7\\x29\\x11\\xc9\\x22\\x88\\xd4\\x09\\x87\\xc5\\x19\\xa3\\x10\\x51\\xc9\\x54\\x5a\\x3f\\x2d\\x6c\\xdd\\x9a\\x43\\x9c\\xc5\\x07\\xf9\\x14\\x58\\xbf\\x5f\\x15\\x9d\\x56\\x2c\\x5c\\xb3\\x61\\xd9\\xac\\x1a\\xf8\\x0e\\x3c\\xfa\\x9c\\x6e\\xca\\xfc\\x93\\x0f\\xcf\\x7a\\xcc\\x7f\\xca\\xd9\\x31\\xb3\\xae\\x53\\xd3\\xc8\\x8c\\x7d\\x57\\x68\\xf8\\x7e\\xc7\\x0e\\xb3\\x66\\x56\\xd6\\xc4\\x26\\xc3\\x6c\\xac\\x19\\x74\\x30\\x73\\x4c\\x3e\\x7c\\x41\\x98\\x72\\x4a\\xd8\\xe0\\xff\\xfa\\xf0\\xbf\\x85\\xff\\xac\\xbe\\xab\\x5b\\xbf\\xba\\xcd\\xdb\\x37\\xde\\xfd\\x12\\x1c\\xde\\xb2\\x78\\x5e\\x0f\\x1b\\x4f\\x85\\x9e\\x79\\x85\\x2c\\xd8\\x19\\xb1\\x3e\\xba\\xf4\\x46\\x0e\\xbd\\x57\\xac\\x8f\\x0e\\x83\\x5c\\x10\\x01\\x4b\\xa3\\xdd\\xf3\\x1c\\xb9\\x5c\\x3b\\xb3\\x1b\\x7b\\x6f\\x39\\x39\\x5a\\x5f\\x48\\xa1\\xf0\\x79\\x81\\x99\\x73\\x28\\xca\\x4a\\xb9\\x6c\\x43\\x76\\x53\\xcc\\x5a\\x50\\x1f\\xa3\\x72\\xa0\\xd6\\x60\\xb5\\x42\\xb2\\x4c\\x72\\x49\\x48\\x66\\x7d\\xcc\\x43\\x5b\\x8b\\xdb\\x99\\xa0\\xa9\\x29\\xe6\\x26\\xa2\\x2e\\x22\\x7b\\x51\\x67\\x93\\xeb\\x46\\x7c\\x6a\\xa2\\x38\\x5b\\xb7\\x0e\\x8e\\xa4\\x5e\\x0c\\xb7\\x61\\x11\\xd9\\xc9\\x32\\xe6\\x41\\x45\\x18\\x1a\\x13\\xbc\\xe2\\x22\\x35\\x30\\xa2\\xbb\\x45\\x7d\\x2e\\xbc\\xc0\\x94\\xdd\\x3e\\x62\\xd2\\xd4\\xf1\\x03\\x4a\\x9e\\x81\\x4f\\x0a\\xdf\\xd4\\x57\\xcc\\xeb\\xda\\xbd\\xe1\\xbb\\x9a\\x8a\\xad\\xc2\\xe7\\x83\\x07\\x34\\xe5\\x15\\x3e\\xfd\\xdd\\xcf\\x66\\x73\\x86\\xd3\\x54\\xe2\\xef\\x71\\x9b\\x08\\x71\\xa8\\x82\\x39\\x4d\\xf0\\x6d\\x61\\xca\\xf9\\x96\\x5b\\x8f\\x3e\\xbb\\x65\\xae\\xf0\\xf7\\x2b\\xb9\\xd4\\x65\\x38\\x89\\x2c\\xcd\\x1b\\xf0\\x8f\\x96\\xe7\\xa8\\xde\\x2d\\x87\\x7a\\x34\\xf4\\xca\\x93\\xe2\\x55\\xc5\\x78\\xb1\\x76\\x31\\xed\\xb1\\x37\\x59\\x0a\\x86\\x47\\xcb\\x40\\x71\\xb1\\xcf\\xa5\\x2b\\xc8\\xe4\\x79\\x16\\x16\\xb8\\x3c\\x6c\\x59\\x79\\x3b\\x8f\\xd7\\x83\\xa5\\x71\\xa6\\xd7\\xee\\x07\\x51\\xe0\\x35\\xd8\\x4b\\xb1\\xef\\xc3\\x13\\xab\\xd4\\xa7\\x28\\x52\\x50\\x0a\\x05\\x92\\x22\\xe5\\x09\\xd5\\xe7\\x34\\x92\\xae\\xb7\\x95\\xad\\xa1\\xda\\x45\\x65\\x1c\\x48\\x0b\\x8f\\x4b\\x1d\\xd8\\x8c\\x39\\x62\\x64\\x55\\xec\\xcc\\x06\\xa5\\xa6\\x91\\x62\\x24\\xbd\\x22\\x44\\x8c\\x59\\x38\\x0d\\x76\\xec\\xda\\x73\\xd3\\x7e\\xfe\\x35\\x65\\xe7\\x2e\\x5d\\xba\\xf0\\x39\\xbd\\x9f\\x99\\x17\\x15\\x9e\\x12\\x8c\\xb7\\x8f\\x1d\\x35\\x39\\xba\\x09\\x7e\\xd2\\xa7\\xc2\\xdf\\xe9\\xce\\xb9\\xa3\\xcb\\x0d\\xcb\\xc3\\x39\\x74\\x15\\xff\\xc0\\x3a\\x77\\x6d\\x6d\\xa4\\x63\\x20\\xdb\\x69\\x2d\\x1e\\xb8\\x6a\\xb4\\x70\\x76\\xf5\\x5a\\x6a\\xd2\\x49\\xe1\\xfa\\xd6\\xc2\\xf2\\x50\\x51\\x28\\x23\\xb3\\xcf\\xec\\x41\\x35\\xe5\\x2d\\x9f\\xf5\\x8f\\xe2\\xb9\\x0f\\xc4\\xb6\\xf7\\x9b\\xcc\\x7b\\x80\\xf4\\x6d\\x18\\x19\\x2d\\x55\\xe7\\xe7\\x2b\\x50\\x8e\\x26\\x23\\xc3\\x64\\xb7\\x7b\\x11\\x43\\x17\\xb5\\xf3\\x05\\x5c\\x81\\xc6\\x98\\xcb\\x65\\xb2\\x18\\xb0\\x5f\\xa0\\x54\\xb2\\x06\\x90\\x27\\x8a\\x41\\x35\\xfe\\x29\\x9c\\xcc\\x7a\\x8b\\x24\\x5a\\x9a\\xde\\xcc\\xe7\\x8f\\x24\\x53\\xd4\\xe5\\x69\\xf2\\x91\\xf4\\x1a\\x9b\\xd4\\x90\\x36\\x5b\\x51\\x52\\xc1\\x91\\xa9\\xc3\\xcf\\x16\\xad\\x22\\xe8\\x55\\xaf\\xbc\\x7c\\x66\\x70\\x17\\x31\\xf4\\x1e\\x0f\\x6f\\x0f\\x77\\x66\\x04\\x5f\\xe9\\x68\\xc2\\x33\\xbb\\xf3\\xa4\\x20\\x78\\x52\\xe2\\xf0\\x52\\x9c\\xdb\\xe6\\xfc\\xab\\x92\\x3a\\xd8\\xf2\\x79\\xff\\xde\\xd2\\x1e\\x67\\x63\\x39\\xb8\\x13\\xef\\xb1\\x12\\xcb\\x8d\\x19\\xd1\\x1a\\x50\\x42\\xe7\\xe7\\xfb\\xcd\\x36\\x1b\\x41\\xf5\\xf4\\x7b\\xf8\\x8a\\xac\\x12\\x65\\x87\\xaa\\x22\\x0a\\xdb\\x87\\x05\\x65\\x61\\x2c\\x4d\\xca\\x0c\\x65\\x8a\\xfa\\x58\\x99\\x35\\x94\\x8b\\xed\\x9b\\x90\\xd1\\xaa\\x37\\xe8\\xeb\\x63\\x66\\x83\\x41\\xe5\\x6c\\x8c\\xa9\\xd2\\xa7\\x7c\\x36\\xcd\\x70\\x6c\\x8b\\x1b\\x2b\\x45\\xa7\\x09\\x1c\\x19\\x9e\\x5d\\xea\\x02\\xf0\\x21\\xd9\\x55\\x09\\x65\\xc9\\x0d\\x41\\x44\\xae\\xe0\\xf8\\x64\\x2d\\x98\\x1e\\xa2\\x37\\x6e\\xad\\x18\\x00\\x0b\\xfa\\x4e\\x68\\xd9\\x39\\x6e\\xc1\\xd0\\x71\\x1d\\x1f\\x5d\\xbf\\xde\\x6e\\x32\\xe4\\xdb\\xa0\\xf7\\x2f\\x87\\x37\\x3c\\x6f\\xfe\\x46\\xd9\\xbe\\x78\\xc9\\x1d\\xe3\\x57\\xde\\x7d\\xf8\\xe1\\xbb\\xa7\\x95\\x4c\\x82\\xde\\x51\\x73\\x86\\x9d\\xbe\\x7f\\x91\\xb8\\x2a\\x27\\x5b\\xfe\\x56\\xd7\\xa9\\x28\\xff\\xf6\\xf5\\xd0\\x00\\xb3\\xff\\xb2\\xdb\\x38\\x60\\x94\\xb0\\x35\\x3f\\x76\\xef\\xf2\\x1d\\xcf\\x4d\\xab\\x8e\\x60\\x7d\\xd7\\x09\\xef\\xfd\\x52\\x2c\\x1f\\x8a\\xf1\\xce\\x97\\x15\\xfb\\x7c\\x19\\x7e\\xca\\xe5\\x72\\x5b\\x54\\x2a\\x43\\x9e\\xdb\\x1f\\x64\\x4b\\x22\\x79\\x05\\xd9\\x58\\x1e\\x64\\x03\\xaf\\x2d\\x18\\x0a\\x62\\xc1\\xe0\\x2f\\x0e\\x19\\xdc\\x7e\\xde\\x68\\xd2\\x9a\\x48\\x05\\x39\\x63\\x4c\\xdc\\xd5\\x8a\\x96\\x67\\x5a\\x60\\xa5\\x75\\x6a\\x10\\xb4\\xda\\x6e\\x92\\x05\\x14\\x87\\x73\\x13\\xbf\\xca\\x52\\x59\\xc2\\x03\\xa9\\x7d\\x34\\x9d\\x35\\xae\\x6e\\xd1\\x92\\x69\\xb3\\xbd\\xc3\\xcc\\xd5\\xae\\x9a\\x3b\\x3a\\xd4\\x7d\\x3a\\xf8\\x93\\x71\\xe3\\xa6\\x4d\\xab\\xee\\x5d\\xca\\x87\\x9d\\x74\\x95\\x7b\\x58\\x9f\\xae\\x57\\x5e\\x6f\\xa1\\x0f\\x3d\\x63\\x60\\xff\\xc6\\x2f\\xa6\\x8e\\x40\\xcf\\xe1\\x55\\x2d\\x2f\\x93\\xb4\\x7a\\xb4\\xe8\\xe4\\xf4\\x2d\\xeb\\x2d\\xc7\\x4c\\xd1\\xce\\x03\\xf1\\x5c\\x6f\\xc1\\xfb\\xbf\\x03\\xcf\\x35\\x0f\\xf4\\x8e\\xe6\\xa2\\xbc\\x3c\\xe0\\xe1\\x54\\x99\\x99\\xa4\\x7f\\x66\\x7e\\x41\\x36\\x8b\\x27\\x69\\x55\\x79\\x80\\xc5\\x82\\xb5\\x9e\\xcf\\x5e\\x64\\xa7\\xec\\x76\\x8b\\x31\\x9e\\x21\\x17\\x29\\x4a\\xb9\\xf8\\x4a\\xf7\\xc3\\xc8\\x1f\\x89\\x36\\xaf\\xad\\xee\\xbe\\x48\\x68\\xda\\x8b\\xa4\\x6d\\xe4\\x6f\\xf9\\xa3\\xf7\\x3b\\x93\\xa7\\x8d\\xc8\\xec\\x3d\\x65\\xc9\\x8c\\xe8\\xeb\\xfb\\xb7\\x9d\\xf1\\x7d\\x6a\\xac\\xed\\xb9\\xa6\\xbc\\xe3\\xf8\\xcd\\x93\\xdb\\x5f\\xbd\\xfc\\xed\\x3e\\xe6\\xe2\\xf5\\x21\\xd5\\x5d\\x2b\\xea\\xb2\\x22\\x61\\x7f\\x56\\xfd\\xdc\\xc1\\x0f\\x1e\\xdc\\xba\\xd1\\xd9\\xad\\x7a\\x6a\\x51\\x99\\x29\\x50\\xd6\\x7f\\x71\\xc3\\xa3\\x07\\x46\\xf5\\x27\\x7c\\x4c\\xb0\\xfe\\x49\\x7f\\x38\\x25\\xb6\\x76\\x3b\\x46\\x7d\\x2c\\x52\\xab\\x81\\x86\\x51\\x32\\x00\\x69\\x75\\xd8\\x0c\\x51\\x61\\xd3\\xdc\\x00\\x81\\x9a\\x05\\xac\\xac\\xb9\\xe3\\xc0\\x7a\\xe9\\x92\\x28\\xde\\x43\\x8f\\x68\\x68\\x0e\\xae\\xfe\\x92\\xfa\\x4c\\xb0\\x53\\xc6\\xe6\\xdf\\xe1\\x17\\x24\\x69\\xef\\xf5\\x96\\xdb\\x2e\\xa1\\xa9\\x2d\\xb7\\x50\\x4f\\x8b\\x67\\x67\\xb0\\xfc\\x4e\\x1e\\x6b\\x91\\xa1\\xd1\\x76\\x3e\\x95\\x26\\x40\\x3b\\xcd\\xd9\\xb9\\x3c\\x9f\\xed\\x0c\\xa8\\x98\\xbc\\xfc\\xec\\x40\\x8e\\x0f\\x2a\\xcd\\x9a\\x80\\xd3\\xeb\\xa3\\x35\\x4a\\x94\\xe1\\xc3\\x5f\\x06\\x9b\\x97\\x37\\x00\\x8b\\x0a\\x10\\xbf\\x44\\x6e\\xda\\x40\\x6a\\xb0\\x4d\\x49\\xd7\\xa4\\x6d\\x60\\x28\\x24\\x85\\x3e\\x43\\x28\\x62\\xae\\x20\\xe1\\x57\\xb3\\x8f\\xc0\\x83\\xa5\\x7c\\x5a\\x93\\xf8\\xf0\\xf4\\xf9\\x99\\x66\\xad\\xc6\\x3e\\xeb\\xfc\\xa1\\x43\\x93\\x55\\x8c\\x62\\xce\\x1b\\x53\\x4d\\xaa\\xe9\\xcf\\x1e\\x3d\\x3f\\x53\\x63\\x91\\x3f\\xe5\\x54\\xd3\\xa5\\x0f\\x91\\x15\\x2e\\xaf\\x19\\x58\\x3e\\x5c\\x58\\x42\\x3d\\x2f\\xa8\\x8a\\x5d\\x7e\\x78\\x8f\\xb0\\xa6\\xbe\\x08\\xfe\\x76\\xad\\x14\\x2e\\xcf\\x9a\\x12\\xff\\x87\\x21\\x19\\x70\\x9e\\xf4\\xb9\\x24\\x33\\x48\\xbf\\x1a\\x1f\\x9e\\xb7\\x02\\x3b\\xe5\\x5d\\xa3\\x41\\x5a\\xab\\x65\\x74\\xd8\\x05\\x03\\x4a\\x9d\\x12\\x1b\\x51\\x1a\\x62\\x0f\\xea\\xf1\\x17\\xab\\xd2\\xf1\\x2c\\x6a\\x8c\\xb1\\x30\\x99\\x4a\\x2f\\x81\\x6b\\xb4\\xc6\\x5f\\x92\\x00\\x07\\x92\\xff\\xd3\\xbe\\xef\\x85\\x09\\xdf\\xa3\\x19\\xd2\\x77\\xf4\\x25\\x54\\x09\\xbf\\xc1\\xaf\\x30\\x51\\xe2\\x9f\\xa2\\x7d\\x9d\\x49\\x7a\\xbd\\xd3\\x75\\x58\\x87\\x47\\xa3\\x7e\\x27\\xf0\\x7a\\x3d\\x16\\x85\\x42\\xe7\\xf1\\xe8\\xfc\\x3e\\xaf\\xcb\\x65\\xd0\\x49\\x69\\x13\\x46\\xc6\\xd6\\x18\\x63\\xac\\xa9\\xbd\\xa5\\x6b\\xe2\\x58\\x2c\\x89\\x1d\\x67\\x4a\\x2b\\x88\\xb3\\xea\\x20\\xb2\\xc8\\x00\\xc5\\x0b\\x3c\\x0f\\x4c\\x26\\xc7\\xa3\\xbb\\xe9\\x82\\xe5\\xe3\\x85\\x4b\\xeb\\x4a\\xa2\\xfe\\x19\\x83\\x9f\\x3a\\xd0\\xb3\\x67\\xe3\\x30\\xc8\\x0a\\xd7\\x2c\\x77\\x74\\x1d\\xda\\x1f\\xbb\\x8d\\x75\\xdb\\x8d\\xca\\xf7\\x3c\\x1f\\xbc\\x7f\\x6c\\xcb\\xda\\x67\\xd6\\x53\\xb5\\xd7\\x3c\\x62\\xbe\\xdd\\x35\\x4c\\xdf\\x45\\x4c\\x5f\\x26\\x3e\\x57\\x59\\x3e\\x37\\x42\\xea\\x50\\x28\\x9c\\x65\\x53\\xab\\x8d\\x59\\x1e\\x83\\x51\\x67\\xd6\\x91\\x5c\\x36\\x85\\x83\\x04\\x92\\x42\\x01\\x10\\x68\\x6c\\x0d\\x9b\\x21\\x25\\xde\\x40\\xb9\\x80\\x4e\\x02\\x6b\\x90\\xb1\\x33\\xe2\\x09\\x0e\\x29\\xd4\\x1a\\xe3\\xd9\\x9d\\x62\\xf4\\x98\\xce\\xb8\\x7f\\x77\\xce\\xac\\x7e\\xab\\x37\\x4c\\xc8\\x8a\\x06\\x26\\xf5\\xdc\\xba\\x6d\\x6e\\x6d\\xff\\xff\\xcc\\x2d\\xe9\\x33\\x44\\x18\\xf4\\xe1\\xdb\\x93\\x7a\\x55\\xfc\\xed\\x35\\x4c\\xb4\\x59\\x7d\\xc5\\xf7\\xe1\\x7b\\xc7\\x84\\x2f\\x0e\\xac\\xa5\\x6a\\xaf\\x7f\\xf6\\xb5\\xef\\x03\\x1f\\xe9\\x7d\\xe9\\x80\\x5f\\xa3\\xa3\\x2c\\x30\\x2a\\x50\\x9e\\x88\\x22\\x4a\\x7a\\x83\\x4a\\x9f\\x29\\xb0\\x8f\\xd2\\x39\\xca\\x29\\xb1\\x69\\xe4\\x31\\x18\\x8c\\x46\\xbb\\x02\\x05\\xfc\\x4e\\xbb\\xe5\\x45\\x18\\x79\\x0e\\x90\\xfa\\x40\\xe3\\x71\\x58\\x88\\x4f\\x1f\\x82\\xc5\\xb2\\xc7\\xcd\\x91\\xae\\x17\\xad\\x32\\xb6\\xe2\\xe8\\xd9\\x21\\xae\\x34\\x9e\\x10\\x29\\x25\\xce\\x67\\x91\\xca\\x6a\\x03\\x36\\x85\\xc3\\xb3\\x1b\\xe6\\x2e\\x3c\\xb9\\xa2\\xdb\\x80\\x53\\xf3\\xef\\xb0\\x0d\\xb6\\x64\\x65\\x0f\\xa6\\x10\\xdd\\x77\\x50\\xff\\x07\\x36\\x08\\x6e\\xf8\\xcc\\xeb\\x8b\\x87\\x09\\xe3\\x51\\xfd\\xf0\\xc9\\x4a\\x7a\\xab\\x2a\\x16\\x89\\x55\\x03\\x0a\\x5e\\x00\\x27\\x11\\xc5\\x10\\xfc\\x51\\x23\\x28\\x8a\\xe2\\x73\\xaf\\x41\\x7a\\x56\\xcf\\x99\\xb4\\x2f\\xc2\\x76\\x87\\x95\\x0a\\xfa\\x38\\x14\\x7b\\x76\\xc1\\x12\\x91\\xae\\x44\\x41\\x84\\x44\\x0f\\x69\\xf1\\x18\\x0c\\x97\\xd9\\xe2\\xbd\\x14\\xa9\\x2e\\xa7\\x5e\\xed\\x95\\x1b\\x2a\\x09\\x9d\\x1a\\xc5\\x4c\\xde\\xb4\\xe9\\x7a\\x03\\xbb\\x0e\\x15\\x75\\x41\\x99\\xcd\\xcf\\x8c\\x9e\\x8c\\xd7\\xe7\\x5e\\xbc\\x16\\xd5\\xf4\\xcf\\x78\\x7d\\x0a\\x12\\xeb\\x73\\x2f\\xfc\\x08\\x7f\\x76\\x15\\x58\\x40\\xfb\\xa8\\x51\\x01\\x91\\x59\\xa9\\xd4\\x21\\x9d\\x95\\x57\\x28\\x95\\xb4\\x85\\xd0\\x60\\xd4\\x6b\\x8e\\xc1\\x22\\x40\\xe3\\xf5\\x21\\x9d\\x1d\\x6b\\x52\\xc0\\x2c\\xe3\\x19\\x8b\\x24\\x31\\x37\\xde\\x2a\\x3f\\x7e\\xdd\\x8e\\xda\\x33\\xcf\\xd3\\x34\\x44\\x99\\xbd\\xa3\\x19\\xb6\\xec\\xdc\\xee\\xf5\\xf4\\xd5\\x96\\x97\\x56\\x17\\xe8\\xe7\\xbb\\x27\\xd5\\xa9\\x9f\\xd4\\xcc\\x9b\\x03\\xe7\\x88\\xef\\xef\\x02\\x4e\\x60\\x26\\xbd\\x0a\\x9c\\xa0\\x22\\x6a\\x74\\xe8\\xb5\\x5a\\xc8\\x42\\x33\\x72\\xb9\\x75\\x7a\\x3d\\xe7\\xc4\\xef\\x7f\\x8e\\x41\\x2a\\xab\\x85\\x7b\\x11\\x93\\x80\\xdf\\x7e\\xb6\\xa4\\x24\\x4e\\x40\\x12\\x6b\\x30\\x25\\x75\\xa6\\x1a\\xa6\\x11\\x41\\x7d\\x33\\x28\\x2b\\xc8\\x37\\xb9\\x26\\x8e\\x41\\x81\\xfa\\xba\\xb0\\xa5\\x5d\\x90\\xd0\\xd1\\xfc\\xc6\\x60\\xe5\\x56\\x5a\\x39\\x73\\xf9\\xfb\\x23\\xfb\\x68\\x9e\\x50\\xcf\\x9b\\x0d\\xe7\\x8a\\xb2\\x01\\x02\\xbc\\x3e\\x97\\x30\\x2d\\x24\\xdf\\xa3\\x3c\\x6a\\xc1\\x24\\xa8\\x39\\x96\\xc2\\xe2\\x98\\xe6\\xad\\x16\\xa4\\xd3\\xa9\\xa1\\xe6\\x38\\x6c\\x07\\xf4\\x40\\x4d\\x16\\x23\\x22\\x83\\x52\\xa4\\xc7\\xc4\\xb0\\x10\\x8b\\x63\\x59\\x45\\x38\\x24\\x25\\x9d\\x50\\x9d\\x5f\\x7a\\xf7\\xa3\\x5e\\x8d\\x7b\\xb7\\x0b\\x47\\x4f\\xc3\\x65\\xeb\\x96\\xae\\x47\\x87\\x61\\x89\\x70\\x94\\x9b\\x38\\x70\\xf6\\x78\\xea\\x9a\\xf0\\xa6\\x70\\x64\\xc2\\x1d\\x62\\x1e\\x2f\\xfc\\x9a\\x5e\\x83\\xdf\\x6f\\x06\\xb9\\xcf\\xa9\\xcc\\x16\\x9e\\xd1\\x91\\xd7\\x99\\x80\\x0a\\xb6\\x3b\\x6a\\xd4\\x68\\xa0\\xf2\\x45\\xf1\\xbd\\x11\\xc2\\x9b\\x35\\xd2\\x26\\x88\\xe2\\xb5\\x10\\x8a\\x97\\x5c\\x58\\xbc\\x62\\x39\\x6a\\xc3\\xdf\\xd0\\xb9\\x37\\x66\\x6b\\x2c\\x8e\\xa5\\x6f\\x9c\\x3a\\x3a\\xdf\\x35\\xf3\\xd2\\x74\\xb7\\x7a\\xe6\\x21\\xf8\\x35\\x7c\\xbb\\x68\\x1c\\x3b\\x45\\x80\\xd4\\x35\\xbc\\x13\\xf0\\xb4\\x10\\x5d\\x15\\xa1\\xcc\\xe4\\xbd\\xdf\\xe2\\x3d\\xf8\\x4c\\x7c\\x6f\\x30\\xaa\\x37\\x2a\\x28\\xbc\\xf3\\xbc\\x42\\x4b\\x63\\xa7\\x0a\\xbf\\xb1\\x1d\\x7e\\x23\\x5e\\xf6\\xc4\\x9d\\x56\\xa6\\xc4\\x70\\x15\\x90\\xdc\\xa6\\x11\\xc9\\x8d\\xcf\\x34\\x7c\\xb4\\x5b\\x49\\x6d\\xa7\\xae\\x41\\xe1\\xe3\\x37\\x66\\xe6\\xb8\\x15\\xe5\\x93\\x5f\\x13\\x3e\\x6e\\x7f\\xe7\\x09\\xd5\\x7a\\xa6\\x76\\x04\\xf5\\xb3\\xb0\\x7d\\xe1\\x34\\xe7\\x9b\\xf0\\x8e\\xe6\\x8f\\xef\\x9d\\x25\\xf6\\xa8\\xfd\\x04\\xf5\\xa1\\x7e\\x60\\x2e\\x99\\x58\\xa0\\x16\\x31\\xaf\\xae\\xa1\\x3e\\xe8\\x7d\\xf1\\xef\\x8c\\xc8\\x13\\xef\\xa3\\x1a\\xea\\x77\\x66\\x29\\xfe\\x57\\x5f\\x54\\xa7\\x52\\xe2\\x4f\\xb5\\x1a\\xb5\\x92\\xfc\\x09\\x6a\\x2e\\x92\\xd6\\xfa\\x72\\x81\\x2e\\x39\\x01\\xa5\\xe5\\x15\\x11\\x3d\\xe4\\x23\\x1c\\x7c\\xbf\\xb4\\xfd\\x0b\\x9d\\xea\\x96\\xa0\\x9a\\x57\\xe7\\xbf\\xd4\\xb7\\xdf\\x9e\\x1e\\xc2\\xf5\\xf4\\xb1\\x3c\\x51\\xad\\x3c\\x96\\x52\\x49\\xde\\x43\\x86\\x8a\\x9f\\x26\\x3c\\x12\\x09\\xbd\\x86\\x3a\\xc1\\xb2\\x10\\x47\\xfd\\x2e\\x8d\\xc4\\x2c\\x95\\x47\\x82\\x0c\\x00\\x6d\\xc6\\xa2\\x80\\x8a\\x51\\x69\\x35\\x14\\x25\\x8e\\xf5\\x66\\xda\\x58\\x5c\\x08\\xdb\\x09\\x21\\xd2\\xad\\x88\\xfa\\x65\\x49\\x5d\\xa7\\x17\\xda\\x97\\x32\\x4b\\x85\\xeb\\x3d\\xf6\\xf6\\xed\\xf7\\xfc\\xc2\\x57\\xa5\\xb1\\x7e\\xa1\\xe7\\x52\\x1f\\x60\\xed\\xa2\\x05\\xce\\xa8\\x9a\\xd1\\x22\\x95\\x56\\xa5\\xd3\\xb3\\x5a\\x50\\xf4\\x66\\x6a\\x66\\x1a\\x31\\x42\\x24\\x18\\x75\\x36\\x04\\x7f\\x29\\x2b\\x1e\\x7b\\xc7\\xa2\\x85\\x13\\xe8\\x6f\\x0a\\x32\\xfa\\xcf\\x19\\x3f\\xf4\\xf6\\x71\\xad\\xc7\\x51\\x21\\x05\\x16\\x24\\x78\\x1c\\xd0\\x6a\\x1c\\x29\\x65\\x82\\x27\\xf6\\x4b\\x84\\xfa\\x60\\xc2\\xc2\\xc5\\xe3\\xc7\\x16\\x97\\xd1\\x73\\xc7\\xdd\\x7e\\xfb\\xb8\\x39\\xfd\\x33\\x0a\\xf0\\x38\\x3e\\xcc\\xfb\\xfb\\x99\\x3d\\xe2\\x3d\\xab\\x59\\xa3\\xb5\\x02\\xc6\\x64\\x02\\x5a\\x64\\xc3\\x2e\\x11\\xd2\\x68\\x94\\x86\\x63\\xa4\\x8e\\x52\\x96\\x01\\x45\\x95\\xad\\x6e\\xac\\x20\\x27\\x57\\xa8\\xa6\\xf5\\x51\\xe0\\x61\\x73\\x4e\\xc9\\x03\\x3d\\x7b\\x97\\xf5\\x56\\x1d\\xb6\\x3c\\x7d\\xe7\\xee\\x03\\x2b\\x66\\x62\\x26\\xdc\\xa6\\xfb\\x68\\xcc\\x80\\x9e\\xd5\\x85\\x33\\x96\\x1f\\xdb\\x7f\\xcf\\x31\\x4b\\x4b\\xda\\xbb\\xdb\\x45\\x4d\\x1c\\x6d\\x15\\xef\\x4e\\x6c\\x76\\x48\\x30\\x18\\xcc\\x7a\\x45\\xca\\xab\\x25\\x25\\x9c\\x7a\\x67\\x21\\x03\\xca\\xa7\\x78\\x5f\\x58\\x18\\x70\\x94\\x75\\xc6\\xca\\x03\\xbb\\xef\\x7c\\xda\\x72\\x58\\x85\\x5f\\xdf\\xf3\\x81\\x92\\x1c\\xf8\\x75\\x8b\\xf9\\xf8\\x3d\\xfb\\x8f\\x2d\\x9f\\x51\\xd8\\xa9\\xc7\\x80\\x31\\x1f\\xe9\\x84\\x71\\x22\\xef\\x8d\\x01\\x8b\\xe9\\xf1\\x34\\xe1\\x3d\\x5f\\xab\\xbf\\x07\\x44\\x5d\\xdd\\x09\\xbc\\x49\\x6f\\xa0\\xdf\\x06\\x2c\\xc8\\x8a\\x72\\x88\\x66\\x19\\x2c\\x26\\x00\\x45\\x23\\x85\\x92\\x62\\x69\\x08\\x8a\\x22\\x62\\xb7\\xe8\\x94\\xc2\\xb0\\xcc\\x90\\x0a\\x86\\x60\\x80\\xde\\xf0\\x85\\xf0\\xb2\\x70\\xfc\\x2a\\x5c\\x0d\\x6b\\xdf\\x44\\xd1\\xe6\\xd3\\x34\\xba\\xc9\\x78\\x78\\x30\\x9a\\x61\\x59\\x9a\\xc2\\xe3\\x31\\xe8\\xe6\\xe3\\x05\\x60\\x44\\x05\\x23\\x48\\x21\\x9c\\x14\\xe6\\x5f\\x85\\x75\\xb0\\xeb\\x17\\x6f\\xd2\\xa8\\xf9\\x34\\x8a\\x8a\\xe3\\xfd\\x4a\\xef\\x42\\x57\\x98\\xe7\\x80\\x0a\\xd8\\xa3\\x1a\\xc8\\xb2\\x6a\\x0d\\xa5\\x5a\\x37\\x84\\xda\\x02\\xa4\\x2c\\x43\\x71\\x8d\\xf8\\x50\\x38\\xa4\\x08\\x95\\x65\\x46\\xd0\\x95\\x5d\\x17\\xe8\\x77\\x1f\\x81\\xd4\\x97\\xf4\\x71\\xf7\\xaa\\x55\\xee\\x6b\\xa0\\xed\\x18\\x2a\\x8a\\x52\\x6b\\x80\\x62\\xdd\\x10\\x90\\x36\\x46\\xa2\\x43\\x04\\xf5\\x71\\xbc\\x1f\\x04\\xbd\\x2b\\xde\\x5f\\x0f\\x40\\xca\\x4d\\x8f\\xa1\\x0e\\x8a\\x3d\\xb5\\xad\\xcf\\x43\\xb1\\x07\\x37\\xf5\\x22\\xec\\x9e\\xd2\\x85\\x1b\\xdb\\x49\\x11\\xea\\xe0\\x96\\x2d\\xf4\\x18\\x48\\xf8\\xb6\\x94\\x3e\\x82\\x1e\\x64\\x86\\x90\\xe7\\xb1\\xd6\\x83\\x34\\x83\\xc0\\xc6\\x18\\xda\\x2a\\xbf\\x92\\xc8\\x35\\x11\\x01\\x99\\x1a\\xdd\\xb2\\x93\\x19\\xb2\\x57\\x3a\\x33\\x1b\\xe9\\xc3\\xa8\\x1a\\xbf\\x83\\xc1\\xe7\\x4f\\x4d\\x21\\x84\\x4f\\x1e\\xab\\x60\\xd2\\xde\\x23\\x33\\x85\\x39\\xc0\\x33\\x70\\xe3\\x3e\\x48\\x09\\x5f\\xd1\\x87\\x5d\\xe0\\x46\\xd6\\x2f\\x6d\\x7e\\x1f\\x30\\x0c\\x29\\xa3\\xc3\\x07\\xa6\\xed\\xef\\x67\\x96\\x05\\x6c\\x3c\\xb5\\x57\\xf8\\x8a\\xf8\\x2b\\x87\\x7f\\xc9\\xba\\xe1\\x92\\xe6\\x28\\x0c\\xa2\\x0e\\xde\\x38\\x89\\x69\\x36\\xcb\\x73\\x44\\xa0\\xa8\\xcd\\x04\\x85\\x41\\x78\\x82\\x22\\xbd\\xa5\\xc2\\x4b\\xe8\\xc1\\x1b\\x23\\xf0\\xf3\\xdc\\x73\\xe2\\x14\\xc9\\xfe\\xca\\xd3\\x63\\x12\\xd3\\xdb\\xb5\\x57\\xa4\\x4d\\x98\\x84\\xaa\\x6f\\xac\\xc2\\xb4\\x71\\xcf\\x41\\x9a\\x90\\x25\\x0f\\x5d\\xd9\\x8a\\x1e\\x61\\x52\\x9c\\x9e\\xb4\\xdf\\x01\\xa8\\xd5\\xef\\xa4\\xae\\x81\\x30\\x49\\x5e\\x03\\x62\\x6f\\x60\\x23\\x87\\xae\\x12\\x7b\\x9f\\x67\\x47\\x4d\\x0c\\x84\\x58\\x66\\xe0\\xe3\\x86\\x94\\x2a\\xc8\\xd2\\x3c\\xb9\\xaa\\xaa\\x91\\x72\\xff\\x53\\x1a\\x31\\x12\\x33\\x1d\\x06\\x08\\xa6\\xef\\xf0\\x39\\xc3\\x61\\xb9\\xf0\\xc6\\xf0\\x39\\x74\\x95\\xf0\\x1e\\xcc\\xbf\\x7e\\x4e\\x2c\\xaf\\xc6\\xb4\\x5c\\x40\\x7a\\x79\\x5c\\x47\\x54\\x8d\\x17\\x07\\x21\\x9a\\x81\\x64\\xb4\\x12\\x69\\x2c\\x11\\x48\\x01\\x0f\\x23\\x0e\\x21\\xfd\\xb2\\x24\\x07\\xc1\\x28\\xea\\x03\\xf8\\xdd\\xff\\x96\\x83\\x99\\x37\\x95\\x83\\x57\\x12\\x62\\xb0\\xf5\\x38\\x2a\\x44\\x26\\xa5\\xd7\\x25\\xe4\\x60\\xfc\\x2c\\xdd\\x54\\x0e\\x8e\\x4a\\x88\\x41\\x3c\\xce\\x41\\xf0\\x2c\\xf2\\x50\\x6a\\xbc\\x3a\\xfe\\xa8\\x8e\\xc5\\x1b\\x0c\\x81\\x52\\xc5\\x62\\x29\\x8f\\xf7\\xee\\x62\\x24\\xc5\\xf4\\x21\\x27\\xb3\\x4c\\x84\\x71\\x46\\x1e\\x61\\xf3\\xfc\\x45\\xf3\\x9e\\x5d\\xf4\\xd9\\x67\\xd2\\x5a\\xa4\\x8d\\x41\\x61\\xce\\x66\\xf0\\x18\\x90\\x61\\x14\\x78\\x7f\\x2e\\x96\\xa4\\x8d\\x01\\x45\\x78\\xec\\xb2\\x00\\xf2\\xcc\\x5b\\x34\\x1f\\x4e\\x86\\x1b\\x3e\\xfb\\x6c\\x51\\xda\\x18\\x1a\\x90\\x1b\\x35\\xab\\x01\\xc5\\x28\\x30\\xc3\\x63\\x7f\\x10\\x0f\\xa3\\x66\\x59\\x15\\xd9\\x69\\xd1\\xf8\\x90\\xa0\\xb0\\x6c\\xb2\\x29\\x24\\x8d\\x26\\x53\\x85\\x47\\xc4\\x64\\x41\\xeb\\xf8\\xf1\\x8b\\xe6\\xcd\\x23\\x63\\x66\\x60\\x4d\\xbb\\x17\\x7e\\x28\\xf1\\x23\\x45\\xf6\\x07\\x14\\x95\\xc8\\xfc\\x22\\xde\\xd8\\x64\\x50\\x2b\\xae\\x89\\x93\\x80\\x90\\xc6\\x32\\xe1\\x35\\x2c\\x13\\x34\\x98\\x4b\\x2c\\x34\\x52\\xa9\\x91\\x5a\\xab\\xc3\\xaf\\x45\\x58\\x30\\xb0\\xf7\\xc5\\x44\\xe1\\x90\\x76\\x5f\\x21\\x25\\x5b\\x46\\xc4\\xd8\\x47\\x84\\xa2\\x46\\x3f\\x7a\\x54\\xb3\\xdb\\x70\\x70\\xf0\\x60\\xfd\\xe3\\x41\\x7a\\xd7\\x7d\\x2b\\xe7\\x57\\xd5\\x08\\x5f\\xe3\\x71\\x3f\\xa4\\x7f\\xa6\\x7e\\x66\\xce\\x60\\x1a\\xb0\\xac\\x21\\xa0\\xfb\\x98\\x8a\\xa6\\x18\\x04\\xa9\\xb2\\x86\\x90\\xf2\\x21\\x74\\xd0\\x3f\\x8b\\x45\\x9a\\x14\\x9c\\x45\\x2f\\x42\\x83\\x59\\x0d\\xa6\\xc5\\x06\\x6e\\x8f\\xd6\\x6a\\x01\\x30\\xb1\\xac\\xdd\\xa1\\x32\\x6c\\x8a\\x19\\x54\\x3e\\x55\\x91\\x6a\\x98\\x6a\\xaa\\x6a\\x89\\x8a\\x35\\x20\\x55\\x54\\xa5\\xed\\x81\\x77\\x9f\\xdf\\x14\\x2b\\x42\\xfd\\x11\\x65\\x40\\x45\\xa8\\x06\\xff\\xb0\\x04\\x6d\\x44\\xbb\\xd0\\x29\\xa4\\x44\\x51\\xab\\xa3\\x07\\x5e\\xbc\\xbc\\xa1\\xd3\\xc5\\xc2\\xc6\\xbc\\x78\\x89\\x49\\xa2\\xac\\x97\\x8d\\xe7\\x17\\x5a\\x15\\x69\\xfd\\xe9\\x96\\x4f\\x9d\\xb6\\x8c\\x74\\xa5\\xbb\\x47\\xea\\x43\\x57\\x58\\xc9\\x74\\x1d\\x34\\x7d\\xfa\\xa0\\xd8\\x94\\xa9\\x83\\x93\\x0d\\xe7\\x48\\x7e\\xf1\\x20\\x94\\x8d\\xbd\\x6a\\x0e\\x14\\x46\\x8d\\xac\\x42\\x61\\x34\\xaa\\x11\\x32\\x99\\x59\\xa0\\xdb\\x10\\x03\\x2f\\xde\\x38\\x7d\\x44\\x6d\\xec\\x81\\x97\\x9d\\x34\\xed\\x2e\\x4a\\xbc\\x37\\xa9\\xa3\\x45\\x63\\x46\\x42\\xe8\\x63\\xa9\\xfb\\xa6\\xde\\x39\\xa8\\xfb\\xb6\\x9a\\xda\\xe2\\x82\\x72\\xbc\\x7a\\x83\\x26\\xdd\\xd6\\x7b\\x55\\x66\\xee\\xcc\\xb2\\xdc\\x88\\x6b\\x6d\\x80\\xc8\\xed\\xcf\\xf0\\x1e\\x7d\\xcb\\x1c\\x13\\x73\\x3e\\x1d\\x4a\\x95\\x85\\x57\\xf1\\x0e\\xa7\\x05\\x7b\\xb4\\x1b\\x63\\x40\\x7b\\xef\\x10\\xc0\\x6d\\x8c\\x29\\xc9\\x46\\x95\\xe4\\xb5\\xdd\\xaa\\x42\\x8a\\x28\\xeb\\x90\\x98\\x93\\x48\\x89\\x7b\\xa6\\xa7\\x90\\x2e\\x3f\\x36\\xa0\\xb7\\xb7\\x20\\x5f\\xb5\\x56\\x3b\\x75\\x6c\\xc1\\xad\\x03\\x7a\\x7a\\x8a\\xf2\\x95\\xab\\x95\\xa5\\xc3\\xe8\\x5d\\xa1\\xbc\\x50\\x51\\xed\\xce\\x25\\xf8\\x8f\\xb2\\x8e\\x53\\x67\\x54\\x89\\xbe\\x34\\xa0\\x1f\\x46\\x23\\x31\\x8f\\x30\\x78\\x67\\x32\\xa3\\x9c\\x5a\\xa1\\xa0\\x21\\x8c\\x73\\x89\\x42\\x7a\\xb3\\xfc\\x5e\\x79\\x79\\xcd\\xa1\\x32\\xac\\x42\\x6c\\xe2\\xf7\\x0d\\xff\\x3f\\xd2\\xde\\x03\\xbe\\xe9\\xe2\\x7d\\x1c\\xbf\\x7b\\xcf\\xec\\xbd\\x9a\\x74\\xa5\\xe9\\x2e\\x50\\x68\\x3a\\x59\\x0d\\xa3\\xec\\xd1\\x16\\x04\\x02\\x42\\x29\\x7b\\xef\\x3d\\x64\\xcb\\x10\\x01\\x71\\x7c\\x50\\xa6\\x38\\xc0\\x81\\xca\\x10\\x51\\x11\\x14\\x11\\x07\\x28\\x4e\\x14\\x54\\x44\\x41\\x1c\\x38\\x50\\x71\\xd2\\x5c\\xfe\\xcf\\xdd\\x3b\\x49\\xd3\\x82\\x9f\\xcf\\xff\\xfb\\xfa\\xd1\\x57\\xd3\\x24\\xdc\\xfb\\xee\\xb9\\xbb\\xe7\\x9e\\x75\\xcf\\x58\\xf7\\xe5\\x95\\x01\\xf0\\x2b\\x6c\\x4b\\xfb\\x3d\\xef\\x07\\xf8\\x65\\xeb\\x97\\x8c\\xc7\\xf0\\x4f\\xf3\\x65\\x34\\xee\\xe3\\x39\\x35\\xb2\\x98\\x8d\\x58\\xd4\\x02\\xd5\\x3c\\x55\\x10\\xa3\\x85\\xf1\\x99\\x58\\xf2\\xb1\\x4c\\xd3\\x03\\x27\\x9a\\x4a\\xca\\x73\\x3b\\x64\\x56\\x2c\\x58\\x3a\\x6f\\x59\\x82\\xba\\x3b\\xcf\\x95\\xac\\xee\\xd9\\x92\\x26\\x57\\x19\\x56\\xeb\\x33\\x29\\x67\\xd2\\xc6\\xfb\\xf9\\x43\\xe2\\x8f\\x00\\xa9\\x09\\x54\\x44\\xbd\\x0e\\xa3\\x84\\xfc\\x68\\x97\\x25\\x59\\x25\\xce\\x12\\xa7\\xec\\x94\\xb3\\x64\\x6c\\xbb\\xf2\\xdd\\xd8\\x6f\\xbf\\x1d\\xfb\\x1d\\xbc\\x5e\\xe1\\xb7\\xff\\xf6\\xf3\\xf8\\x9f\\x7e\\x9e\\x70\\xf5\\xa7\\x89\\xbf\\x5c\\x83\\xf9\\x7e\\x87\\x0e\\xf1\\x17\\x41\\x4e\\x36\\x83\\xb6\\xd2\\x2c\\x60\\x77\\x20\\x1b\\xd0\\x2b\\x9a\\x1f\\x40\\xad\\x17\\x3c\\x89\\x36\\xa3\\x4b\\x32\\xe9\\xa3\\x02\\x73\\xec\\x5a\\xd2\\xe2\\x2c\\x2b\\x60\\xce\\xd4\\x71\\x89\\x01\\xfc\\x1e\\xec\\xc7\\x85\\x59\\x4a\\xa5\\x1c\\xee\\x7c\\xa7\\xdc\\x99\\x13\\xc7\\xcd\\xcb\\x6c\\x4b\\x42\\x6f\\xee\\x7d\\xfe\\x75\\xf2\\x72\\xeb\\x96\\x2d\\x93\\x52\\xb8\\xdd\\x4b\\xa7\\xa7\\x8f\\x9a\\x3a\\x6d\\x64\\xf6\\xd4\\x99\\x5c\\x67\\xd2\\x0b\\xef\\xab\\x7b\\xbc\\xd3\\xc4\\x19\\xe5\\xbd\\x72\\x18\\x2f\\x92\\xf1\\x15\\xee\\x04\\xc8\\x7d\\x40\\x6f\\x81\\xf6\\xf3\\xc0\\x8b\\x5e\\x00\\x1d\\x51\\x11\\x93\\x62\\x07\\x09\\x36\\x9b\\x93\\x8f\\xe2\\x2b\\x82\\xe3\\x3a\\x3d\\x7b\\x2e\\xd0\\xf5\\x9e\\x15\\x7e\\x45\\x39\\x20\\xe3\\x99\\xbd\\x36\\x3d\\x42\\x6e\\x9b\\x24\\xe4\\xe6\\x79\\xf5\\x7c\\xb2\\xc7\\x79\\x08\\xb7\\xd8\\xa7\\x91\\xf9\\x88\\xa6\\x55\\xee\\x6f\\x9c\\xda\\x40\\x31\\xf1\\x95\\xfc\\xbb\\x57\\x78\\x32\\xe7\\x4c\\xe6\\xf8\\x67\\xf7\\xfd\\x67\\xd3\\x4e\\xf7\\x6e\\x43\\x97\\x7e\\x7d\\x2b\\xda\\x54\\x6c\\x9e\\xd9\\x66\\xfb\\xa6\\x15\\xdb\\x6c\\x8f\\xab\\x03\\x1d\\x3b\\x76\\x4c\\xf4\\x57\\xe4\\x4e\\x1a\\x5f\\xc6\\xbd\\x31\\x75\\xc1\\xb0\\x71\\xee\\xe2\\xa6\\x4d\\xf2\\x32\\xf2\\x0c\\xa9\\xa5\\xb7\\x76\\x9c\\x38\\x6f\\xfc\\x70\\x4b\\xf3\\xa6\\xe9\\x79\\xee\\x14\\x9b\\x49\\xe3\\x6a\\x39\\x88\\xc9\\x62\\x3f\\x81\\x5c\\x08\\x7a\\x09\\xe8\\xab\\xcd\\x39\\xc6\\x52\\x41\\x77\\x88\\xc8\\x8a\\x16\\x89\\x63\\xfe\\xb1\\x18\\x34\\x0a\\x7e\\x00\\xe3\\xe9\\xae\\x00\\x20\\x1e\\xc6\\x92\\xcc\\xe4\\xa8\\xfc\\x28\\xda\\x51\\x2f\\x40\\x16\\x6f\\x3b\\x60\\x3f\\x39\\x8d\\x2f\\x89\\xde\\x27\\x1a\\x3c\\x47\\x69\\xb4\\x01\\xf1\\xc0\\x9b\\xb1\\x4a\\xcd\\x83\\xc6\\x2a\\xd3\\x87\\x23\\x95\\xb3\\x28\\x61\\x8d\\x3e\\x6f\\xf6\\x2b\\x3d\\xb4\\xd8\\xcf\\xbf\\xfb\\x04\\xae\\x6a\\xdc\\x87\\x5e\\xa4\\x83\\xdf\\xac\\x0b\\xbf\\xff\\x26\\x7d\\x70\\xb7\\x3f\\xc1\\x6d\\xfe\\x7f\\xec\\x03\\xb7\\x7b\\x82\\xbf\\x70\\xc3\\x1a\\x70\\x80\\x0d\\x54\\x2a\\xa2\\xb2\\x46\\x7e\\x6c\\x0d\\x72\\xb0\\xf2\\x24\\x49\\x84\\x07\\x9f\\x10\\x99\\x6c\\x8b\\xa7\\xc3\\x73\\x03\\xf9\\x29\\xca\\x73\\xb0\\x68\\x58\\x96\\x14\\x19\\x34\\x3f\\xfe\\xc2\\xdb\\x6f\\xf6\\xf2\\x03\\x49\\xc2\\x4c\\x3c\\x8d\\x9f\\x12\\xe2\\xe2\\x9f\\x93\\xa9\\xbe\\x08\\xbc\\x11\\xce\\xbb\\x5a\\x05\\xb2\\x27\\xac\\x62\\x1c\\xd0\\x51\\xbc\\xf1\\xb2\\x82\\xad\\xb4\\x8f\\x75\\x33\\xa1\\x13\\xbc\\x88\\x2c\\xe1\\xa7\\x90\\x25\\xb0\\xbf\\x7f\\x84\\x7e\\xe1\\x3f\\x0e\\xcb\\xac\\xc6\\xbc\\xf9\\xaf\\x21\\x8c\\xd6\\x17\\x0a\\x8f\\xf3\\x9b\\xa4\\x44\\x26\\x9f\\x24\\x07\\x74\\x02\\x02\\xfe\\x80\\xa1\\x77\\x5e\\x12\\xeb\\xc9\\x40\\xb4\\x67\\x1a\\x0a\\x0f\\x3b\\xbb\\x29\\xb4\\x85\\x0a\\x52\\xdc\\x08\\x71\\xe3\\x1a\\xb2\\x6e\\x0d\\xa3\\x4d\\xdf\\x01\\xdd\\xbf\\x08\\xba\\x9a\\x1a\\xb4\\xda\\x66\\x01\\x40\\x73\\x18\\x06\\x81\\x3e\\x8f\\xcc\\x76\\x9b\\x6c\\x36\\x5b\\xd4\\x06\\x81\\xf5\\x57\\x0f\\xac\\x92\\xf9\\xb2\\x40\\x49\\xb0\\xed\\x2b\\x06\\x45\\xd0\\x2b\\xc6\\xde\\xf1\\x17\\x5b\\xb4\\x3e\\xb4\\x62\\x11\\x4e\\x21\\x39\\x05\\xad\\x0e\\x2e\\x83\\x37\\xc2\\x2b\\xb3\\x0e\\xf6\\xdb\\x7d\\x1f\\x16\\x5e\\x5e\\xb8\\xbf\\x9a\\xfe\\x8d\\xf8\\xe5\\x92\\xcd\\x9c\\x2f\\x7c\\x18\\xe4\\x7b\\x90\\x43\\x78\\x51\\xc4\\x2a\\xe0\\xfa\\x02\\x17\\x15\\xec\\x23\\xa1\\x36\\xbc\\xdf\\x59\\x02\\xd2\\x54\\xe9\\xde\\x45\\xbd\\x7b\\x2f\\xda\\x4b\\x36\\x63\\xef\\xb6\\x6d\\xe4\\x8b\\x1b\\x9f\\xc7\\x22\\x06\\xc5\\x00\\x16\\x18\\x18\\x75\\xdc\\xf3\\xa2\\xd5\\x97\\x25\\xfb\\xac\\x78\\x9a\\xf2\\x7c\\x47\\xf2\\xc5\\xb6\\x6d\\x58\\xd1\\x57\\x5e\\x03\\xf1\\xf3\\x72\\xf8\\x37\\x78\\x3e\\x31\\xa0\\x05\\xd9\\x43\\x12\\x25\\x95\\xac\\x48\\x9e\\xf1\\x12\\x95\\x33\\xc3\\x2e\\x3b\\xed\\x19\\xaf\\x29\\x03\\x1f\\x51\\xfa\\xb9\\xe1\\x79\\x80\\x1c\\x56\\x1f\\x66\\x00\\x1a\\x70\\xfe\\x3b\\xf1\\xbb\\xaa\\xc7\\x45\\x25\\x59\\x45\\x22\\xbe\\xac\\x0c\\xfd\\x57\\xa4\\x03\\x0e\\xdd\\x0b\\x32\\xb2\\x2d\\x7c\\x86\\xf1\\x6a\\xd8\\x3f\\x0b\\x88\\x72\\x12\\x72\\x25\\xd8\\x79\\xa3\\xba\\xf1\\xfe\\x89\\xff\\xc2\\x6b\\x39\\xdb\\xc4\\xea\\xca\\x29\\x53\\x2a\\xab\\x26\\x0d\\xf3\\xe7\\xe6\\xb6\\x68\\x91\\x9b\\xeb\\xff\\xae\\x7a\\xd2\\x84\\xbe\\x7d\\x26\\x4c\\xac\\xce\\x2d\\x2c\\xcc\\xcd\\x2b\\x2e\\x56\\xd6\\xba\\x1d\\x7a\\x15\\xff\\x8c\\x3f\\x8f\\xc9\\xcc\\x74\\x99\\xa2\\xf2\\x6f\\x53\\x4c\\x65\\x66\\x3c\\x90\\xc9\\xcc\\xaf\\x46\\x44\\x66\\xc4\\x85\\x8f\\xa2\\x57\\xb9\\x2f\\xd8\\x33\\x5a\\x0a\\x9f\\x2c\\x62\\x8d\\x46\\x8f\\x75\\x2a\\x5e\\x8a\\xac\\x31\\xf6\\x33\\x93\\x25\\x74\\x51\\xc2\\xc4\\x6e\\x3f\\x7b\\xfd\\x84\\xf5\\xf3\\x79\\x7d\\x6f\\x4a\\x8f\\x37\\xf4\\x87\\x34\\x12\\xcf\\xeb\\xa5\\x9b\\xf6\\x97\\xc1\\x44\\x72\\xaf\\x22\\x98\\xb7\\x60\\x82\\x79\\xe8\\x6f\\xf6\\xe7\\x55\\x26\\x9e\\x47\\xf5\\x94\\xf0\\x35\\x72\\x27\\xf7\\x6c\\xf8\\x5e\\x94\\x40\\x71\\xc0\\xe1\\x51\\xbb\\x2d\\x6a\\x64\\x17\\xf5\\xb0\\x7e\\xc7\\x3f\\x3f\\xee\\x67\\x3d\\xc6\\xb3\\x70\\x2e\\x8e\\x85\\xe3\\x2b\\xd9\\x95\\x3d\\x3a\\x7a\\x32\\x72\\x34\\x0b\\x54\\x79\\x7d\\x3b\\xe6\\x54\\x77\\xef\\xe0\\x6e\\x92\\xae\\x9e\\x27\\x36\\xe9\\x4b\\xee\\xf4\\xe5\\xf8\\xf2\\x03\\xa3\\x46\\xb7\\x4a\\xcb\\x4d\\x6b\\x59\\x38\\x6c\\x6c\\x1b\\x7a\\x4e\\x5e\\xc3\\xc7\\xf0\\xd7\\x4c\\x6f\\x63\\xa7\\x19\\x09\\xa0\\xda\\xca\\x2a\\x35\\xf5\\xe3\\xe0\\xe0\\x84\\x9c\\x62\\x1a\\x77\\x1c\\x03\\xa7\\xae\\x35\\xf0\\xfb\\x1a\\x4e\\x25\\x17\\x70\\xaa\\xb0\\x8f\\x86\\x0b\\x84\\x4c\\xd4\\xc9\\x46\\xd9\\x93\\xc7\\x84\\xc5\\x9c\\xc4\\x68\\x11\\xc0\\x2e\\x00\\xfe\\xc3\\xb6\\xe0\\xc5\\x80\\x3e\\xee\\x53\\xf5\\xf8\\x0b\\x2b\\x00\\x92\\xea\\x63\\x78\\xf0\\x77\\x33\\xc4\\x53\\x53\\x3f\\xbd\\xe1\\x39\\xca\\xd6\\xe0\\x39\\x71\\x31\\xa0\\xad\\x3b\\xfe\\xdc\\x30\\x59\\x99\\x93\\x66\\x7c\\x87\\x07\\x0b\\x8b\\x3f\\x9d\\x4a\\x9f\\x23\\x63\\x39\\x29\\xfc\\xac\\xf2\\x1c\\x07\\x3a\\x9d\\x24\\x73\\x37\\x3c\\xe7\\xa4\\x17\\x73\\xde\\xc7\\x66\\x7c\\x47\\x1e\\xea\\x0e\\x4f\\xa1\\xc6\\xcf\\x51\\x29\\x1f\\x9e\\xbb\\x01\\x4e\\xcc\\x24\\x7c\\x4e\\x22\\x0f\\x7d\\x37\\x83\\x8c\\x05\\x40\\x31\\x4a\\x06\\xf9\\xce\\x14\\xfe\\x30\\x42\\x9d\\xe0\\x5c\\x50\\xfd\\x40\\xc0\\x12\\x1f\\x7f\\xc2\\x23\\x74\\x0f\\xc6\\x2c\\xf2\\xf3\\xa6\\x90\\x61\\x27\\xde\\xf3\\x10\\x9c\\xab\\x85\\xe7\\xcf\\xb3\\xb1\\xa3\\x7d\\x44\\xe8\\x2e\\x1d\\x5b\\x51\\x25\\xe3\\x47\\xa6\\x4f\\xb3\\x67\\xb9\\x4a\\xf6\\x28\\xf3\\x89\\xea\\xcf\\x4d\\x45\\x9b\\x81\\xa6\\x65\\x07\\xcc\\x2a\\x8c\\x65\\x6a\\x7c\\x12\\x91\\x46\\x8b\\x55\\x2a\\x50\\x78\\x60\\xb3\\xf2\\xfd\\xf5\\x37\\x04\\xac\\x84\\x86\\xe8\\x75\\xfa\\xf8\\x22\\xab\\x5f\\xf6\\x72\\x53\\xc9\\xe0\\x47\\x67\\xbe\\xf6\\xda\\xcc\\x47\\xf1\\x43\\x2f\\xfc\\x8c\\x3d\\x06\\xec\\xf9\\x19\\xe1\\xd0\\x47\\x52\\x7a\\x78\\x99\\xdc\\x16\\xba\\x31\\x1e\\x00\\x20\\x16\\x23\\xba\\x72\\x38\\x3f\\xa6\\x05\\x93\\x9f\\x18\\xce\\x4b\\xe9\\x0c\\xe1\\x31\\xa9\\x95\\xd2\\x91\\x31\\xd2\\x1e\\x38\\x4d\\xb4\\x7d\\x41\\x54\\xe3\\x24\\xb5\\x0c\\xa3\\xa5\\xf4\\x08\\x36\\x03\\xcf\\x0e\\xaf\\x14\\xb6\\x73\\x63\\xc4\\x67\\x4d\\x32\\xb7\\x92\\xdc\\xa5\\xd8\\x9d\\xeb\\x86\\x48\\xbe\\x70\\x8a\\x9c\\x07\\x38\\x0e\\x72\\x9e\\x03\\xb0\\x1b\\x70\\x1c\\xe5\\x1f\\xf7\\x7f\\x5e\\x70\\x5c\\x19\\xfd\\xa6\\xe8\\x4d\\x6e\\xf9\\x57\\xf4\\x96\\x7c\\x37\\xa2\\x37\\xc0\\xfb\\xb6\\x98\\x8e\\x5b\\x30\\xfc\\x56\\xed\\xa5\\xfa\\xb1\\x5f\\xb1\\x2c\\x90\\xb7\\x99\\x65\\xe1\\x14\\xd5\\xbd\\x43\\xbb\\xa5\\x00\\xd7\\x4e\\x5a\\xc7\\xda\\x30\\x9d\\x48\\xd1\\x41\\x42\\xbb\\x85\\xfb\\xa5\\x40\\xaf\\x5e\\xac\\x9f\\x6d\\xc2\\x63\\x78\\x98\\xf8\\x03\\xd2\\x23\\xc3\\x01\\x8d\\xb0\\x58\\xa6\\xcd\\x00\\x55\\x5a\\x34\\xe7\\xa9\\xd6\\xa3\\x88\\xa4\\x20\\xbb\\x73\\xff\\x39\\xa2\\x7d\\xc8\\x34\\xa6\\x73\\xe7\\xb1\\x86\\x87\\x2d\\xcf\\x0b\\x8f\\x1d\\xbc\\xb3\\x67\\xb0\\x7f\\xef\\x7b\\x9e\\x66\\xf7\\x2a\\xd3\\x85\\xdf\\xd0\\x5a\\xa6\\xfb\\xc4\\xc6\\xe1\\x61\\x9c\\x3b\\x63\\xaa\\x0e\\xe2\\xc8\\x8b\\xc2\\x2f\\xb8\\x53\\xe4\\x3c\\x1a\\x0e\\x80\\xb6\\x27\\xd0\\x86\\x6c\\x2f\\xad\\x45\\x0c\\xa1\\xec\\x13\\xcf\\x86\\x66\\x9e\\x11\\x7e\\xf9\\x14\\xfe\\xb1\\xb5\\x24\\x46\\xf1\\xc1\\xf0\\xc7\\xd2\\xdf\\x20\\x97\\x02\\x4e\\x1a\\x01\\x21\\x0c\\xa2\\xc0\\x71\\xb2\\xde\\xc8\\x28\\xae\\xe9\\x04\\x8d\\x88\\x60\\x34\\x83\\x2f\\x8c\\xe4\\x7a\\x52\\xec\\x73\\xa0\\x51\\x7f\\x73\\x77\\x61\\xa9\\xb6\\x64\\xca\\x9d\\xf7\\x0c\\x18\\x72\\xdf\\x3a\\xa9\\xba\\xad\\x6a\\x94\\xb6\\x77\\xd7\\xa2\\x2e\\x72\\xeb\\x39\\x40\\xdb\\x02\\xc2\\x22\\x74\\x54\\x24\\x8c\\x96\\x1b\\x0e\\x18\\xd5\\x2f\\xdb\\xe9\\x02\\xb2\\x59\\x5b\\xff\\x85\\x76\\x1f\\xbd\\x81\\x74\\x8b\\xe5\\x37\\xa1\\xdd\\x1c\\x69\\x22\\xec\\xc0\\xeb\\xd8\\x79\\xd7\\x42\\xdf\\x6a\\x58\\x51\\xca\\xa2\\xe0\\xd0\\xb2\\x53\\x6e\\xf5\\xdb\\xad\\xec\\x95\\xbc\\x10\\xd5\\x12\\x76\\xa4\\x61\\x4d\\x1e\\x09\\xd3\\xd7\\x86\\x38\\xb5\\x2a\\x8a\\x53\\xe1\\x83\\xc2\\x48\\xd4\\x2d\\xb2\\xd7\\x94\\xe3\\xbd\\x4d\\x15\\x0e\\xb3\\xbf\\x5b\\xc4\\xe8\\xc4\\xe8\\x7f\\x29\\xb4\\x79\\x23\\xb2\\xbe\\xba\\xfd\\x20\\xb2\\x28\\x36\\x37\\x58\\x1b\\x68\\x49\\x4d\\x38\\xa5\\x1b\\x36\\x60\\xb4\\x61\\x03\\x7d\\x82\\xdc\\x4f\\x9f\\x6a\\x0c\\xab\\xcc\\x2d\\xd6\\x8a\\x51\\x58\\xf9\\x22\\xbf\\xd5\\xee\\xc3\\xec\\xb5\\xed\\x95\\x2f\\xd7\\x85\\x9a\\xc0\\x8b\\xf8\\x60\\x1e\\xf9\\x23\\x0d\\x63\\xfa\\x4a\\x9f\\xdf\\x2d\\x6c\\xc1\\x03\\xa4\\xa7\\xa9\\xde\\x8d\\x6c\\xcf\\x19\\x64\\x59\\x8b\\xb8\\x97\\x05\\x46\\x6a\\xfc\\x65\\x14\\x23\\x29\\x16\\x34\\xc4\\xa3\\x55\\xd8\\xb6\\xf6\\x9e\\xe7\\x01\\x95\\x86\\x56\\x74\\x19\\x02\\xa8\\xb4\\x57\\xbc\\x70\\xfa\\x34\\x39\\xbc\\x67\\x7d\\x2f\\xf8\\xb7\\xe9\\x61\\x65\\xdf\\x9f\\x14\\x1e\\xc6\\x7d\\xc5\\x0f\\x18\\x4e\\x22\\x79\\xb1\\xa0\\x8d\\xee\\x8e\\x39\\xaa\\xda\\x31\\x2b\\x74\\xc7\\x91\\x86\\xad\\x96\\x7d\\x1b\\x36\\xec\\xb3\\x6c\\x35\\x8c\\x10\\x03\\x55\\xdd\\x37\\x6c\\xdf\\xbe\\xa1\\x7b\\x95\\xb2\\x66\\x93\\xf8\\x72\\x74\\x17\\xb3\\x69\\xeb\\xf6\\x33\\xbb\\x38\\xa5\\x22\\x14\\xa2\\x98\\x61\\x7d\\xe3\\xcd\\xec\\xea\\x0d\\x9e\\x53\\xab\\x61\\x69\\x94\\xe7\\xac\\xf5\\x66\\xf4\\xbb\\x6e\\x62\\x45\\x8f\\x7f\\x8e\\xca\\xaa\\x6a\\xb5\\x88\\x39\\x0e\\x24\\x84\\x7c\\x66\\xd7\\x8f\\xf2\\x98\\x98\\xf9\\xfc\\xce\\x9b\\x58\\xcf\\x31\\xb2\\xf1\\xe5\\xb8\\xe4\\xc6\\xb1\\xe3\\x4c\\xf8\\xb8\\xe4\\xc6\\xc1\\x71\\x38\\x87\\x4c\\x40\\x1f\\x33\\x7b\\x99\\x66\\x1f\\x5a\\xcc\\x53\\xca\\x05\\xa3\\x31\\x32\\xd7\\xbe\\x91\\x6d\\xed\\xe6\\x6d\\x79\\x46\\xe2\\x3e\\x6e\\x68\\x53\\xc3\\xe1\\x8e\\xa4\\x3f\\xda\\x11\\x3e\\xce\\x30\\x4a\\xe4\\x04\\x85\\xf1\\x03\\xd7\\x31\\x2b\\xc6\\x98\\x1d\\x0b\\x2e\\x5c\\x68\\xcd\\x4c\\x44\\xd0\\x76\\x28\\xb4\\x3d\\x1c\\x69\\x8b\\xa5\\x58\\x5b\\x99\\x95\\x3c\\xf1\\x99\\xd3\\x2f\\x5c\\x58\\xd0\\x9a\\x99\\x82\\x60\\x7f\\x57\\x0a\\x2f\\xe0\\xb9\\xd2\\x46\\x06\\x03\\x43\\x54\\xe5\\x74\\xb0\\xbc\\x45\\x73\\x1f\\x0a\\xed\\xe5\\x7e\\x85\\x06\\x65\\xdb\\x19\\xbc\\x3f\\x70\\x7f\\x03\\x2e\\x28\\x6b\\x22\\x08\\x92\\x26\\xba\\x8f\\x6c\\x39\\x68\\xd6\\x42\\xd9\\x36\\x7e\\xfa\\x42\\x2c\\x3f\\x79\\x98\\x5f\\x62\\x58\\x36\\x1e\\x0b\\xef\\x1f\\xfe\\x3c\\x09\\x9e\\xbb\\x93\\xf4\\x42\\xd3\\xc2\\x9f\\x20\\x1d\\xa5\\x8f\\xb0\\x0f\\xef\\xc0\\x8a\\xc4\\x5b\\xc9\\xa6\\x45\\x8c\\x64\\xa4\\x57\\xbd\\x95\\x8c\\x8e\\xd7\\x15\\xe6\\x71\\x30\\xbc\\x9f\\x51\\x29\\x50\\x01\\xa8\\x80\\x78\\x4a\\xa1\\x52\\x11\\xab\\xd8\\x41\\x72\\xf7\\xbc\\x05\\xb3\\x49\\x7f\\x66\\x15\\x6b\\xd8\\x1e\\xa8\\x1a\\x63\\x57\\x8a\\x24\\x1a\\xb1\\x80\\x1d\\x9c\\xbd\\x60\\x1e\\x9e\\xf8\\x66\\xc4\\xfe\\x15\\xee\\x0c\\xed\\x0f\\x41\\x7b\\xa0\\x3d\\x01\\x6a\\x3b\\x53\\x6b\\x40\\xbf\\x50\\x33\\x1e\\x19\\x75\\x1c\\x8d\\x33\\x76\\x1d\\x9a\\xcf\\xfe\\x91\\x37\\xa7\\x4d\\x9b\\x3a\\x77\\x2e\\x3d\\x1b\\x7d\\xc8\\x19\\xbc\\x27\\xbc\\x5e\\xa1\\xfb\\x9c\\x42\\xf7\\xe1\\x94\\x91\\x3e\\xa0\\x87\\x9c\\x79\\xfe\\x79\\x36\\x86\\x03\\x18\\xab\\x0b\\x8d\\x80\\xf3\\xa3\\xd9\\xa7\\xa1\\x5b\\x41\\xd7\\x37\\x23\\x2e\\x12\\xb7\\x0d\\xe8\\xcc\\x5b\\x95\\x34\\x68\\x4b\\x46\\xec\\xdd\\xfb\\x04\\x4b\\xf6\\x72\\x88\\xf1\\x70\\x04\\xbc\\x98\\x8b\\x3c\\xcb\\x53\\xd6\\x75\\x4a\\x79\\x36\\xee\\x2a\\x32\\x9a\\xb6\\xe0\\xd1\\x2d\\x23\\x0e\\x45\\x82\\xf4\\xf7\\x32\\x7e\\x38\\x9d\\x6c\\x44\\x6b\\xc3\\xb5\\x26\\x59\\xf5\\x0b\\xfa\\x00\\x29\\xf4\\xf0\\x05\\x32\\x0d\\x57\\x84\\x7b\\x46\\xe8\\x3e\\x88\\x61\\x22\\x05\\xda\\x1f\\x4f\\xf7\\x27\\x50\\xba\\x4f\\xa6\\x45\\xe9\\x3e\\xd0\\x67\\x58\\xa3\\xa3\\x11\\x59\\xdb\\x70\\x80\\x8a\\xd8\\x2e\\x64\\x3a\\x5f\\x40\\x21\\x71\\xfe\\xff\\xa6\\xcf\\x37\\x88\\xd6\\x38\\xbc\\x82\\x94\\xa1\\x79\\xe1\\x7d\\x20\\x67\\xe8\\xf6\\xcb\\x82\\x5a\\x03\\x9d\\x9e\\xf2\\xb3\\x3e\\x99\\x36\\x54\\xe4\\x9f\\x97\\xe7\\x5f\\x3d\\x64\\xc2\\xef\\xa7\\xba\\xce\\x6c\\x33\\xa2\\xd3\\x69\\x46\\x8b\\xae\\x93\\xc1\\xd8\\x12\\xfe\\x15\\x20\\x01\\x3a\\xc2\\xeb\\xed\\x8c\\xf5\\x44\\x64\\xfc\\xc8\\x75\\x2c\\x65\\x3e\\x25\\x2c\\x73\\x3d\\xb6\\x1c\\x79\\xf2\\xd6\\xaa\\x9e\\x3d\\xfb\\xd5\\xce\\x2f\\xef\\x98\\x6c\\x4b\\xcf\\xcc\\x4d\\x98\\xbb\\xf6\\xd4\\xc8\\x69\\xfa\\xf9\\xda\\x66\\x79\\x7d\\x6d\\xe3\\x05\\x95\\xc8\\x8f\\x52\\xf0\\xac\\x0b\\xcc\\xf1\\x14\\xbc\\x33\\xc3\\x3a\\xeb\\x91\\xac\\xac\\xb3\\xf5\\x06\\x5b\\x59\\xd1\\xe4\\xdb\\x2a\\x4a\\xb7\\x15\\xf8\\x63\\xa6\\xb2\\xf6\\x73\\x33\\x73\\x46\\xe6\\x47\\x4c\\x65\\x94\\x37\\x40\\x3f\\xdd\\x98\\xed\\x1e\\x78\\x2f\\x1f\\xcf\\x1b\\x62\\xf6\\x7a\\xb2\\x12\\xde\\xce\\x65\\xb2\\x1d\\x9c\\x63\\x6a\\x17\\x57\\x38\\x03\\xcd\\x36\\x49\\x93\\x87\\xc1\\x99\\x23\\x7d\\x76\\x72\\xbf\\x92\\xfe\\xe7\\xcf\\xe3\\x85\\xd0\\x7e\\x2f\\xd9\\x8e\\x7b\\x87\\x17\\x21\\x1b\\xf2\\x04\\xb4\\x16\\xbd\\x9e\\x07\\xd1\\xd9\\x48\\xe3\\xe8\\x40\\x8e\\xa9\\xaf\\x4e\\x21\\xb2\\x1b\\x69\\xb6\\x1d\\x7e\\x40\\x0f\\xe5\\x05\\xf7\\xe6\\x86\\x0f\\x18\\x58\\x52\\x32\\x68\\xe0\\x88\\x31\\xb7\\x0e\\x1c\\x7e\\xeb\\xc0\\x25\\x63\\x67\\xb7\\x69\\xb3\\x60\\xc4\\x54\\xf8\\x47\\x71\\x84\\xdc\\x45\\x24\\x3c\\x2d\\x9c\\x48\\x75\\x63\\xf2\\xe4\\x5f\\xd3\\x19\\x7c\\x77\\x11\\x15\\x7c\\x97\\x0c\\xfb\\x92\\x1e\\xb0\\x22\\x2d\\x2d\\x65\\xbc\\x58\\xe4\\x02\\x46\\x4b\\x17\\xc4\\x99\\x38\\x40\\xc7\\xfc\\xc1\\x79\\xc0\\x96\\xca\\x58\\x8d\\x8c\\xf8\\x7b\\x1f\\x3c\\x2d\\x7a\\xef\\x43\\xd2\\xeb\\xef\\x7d\\xc8\\x7f\\x88\\x19\\x0f\\x0a\\x67\\x01\\xfe\\x40\\x7f\\x1a\\x3d\\xaf\\x93\\xd4\\x20\\xd0\\xb1\\xfe\\x68\\xfa\\x00\\x44\\xfb\\xa3\\x95\\xc4\\x23\\xfd\\xf1\\x71\\xf6\\x5d\\x75\\x9c\\x79\\x97\\x98\\xa3\\xe6\\x5d\\xe8\\x73\\x37\\x19\\x8b\\x07\\x84\\x57\\x33\\x9e\\xa4\\x8d\\x97\\x93\\x64\\x85\\x19\\x45\\xac\\x8e\\xdc\\xfa\\x43\\xd6\\x87\\x0d\\x43\\xba\\x54\\x0c\\x35\\x3d\\xa4\\x7d\\x61\\xf6\\xa6\\x55\\x81\\x2e\\x5d\\x02\\x8b\\x1e\\x54\\xf6\\x7c\\x2c\\xb9\\x9d\\x9b\\x19\\x7e\\x10\\xb9\\x50\\x46\\x40\\x6b\\x77\\xab\\x13\\xcc\\xa2\\x4d\\xb7\\x58\\xc5\\xcc\\xa7\\x6a\\x3d\\x33\\x9f\\x16\\x50\\xb8\\x62\\x13\\xbd\\xa9\\x35\\x13\\xdf\\xf7\\x6f\\xd6\\x4c\\x72\\x7b\\x63\\x6b\\x26\\x26\\xa7\\xc9\\x0b\\xd8\\x1f\\x1e\\x06\\xf8\\x91\\x18\\x30\\x62\\x24\\x20\\xc5\\x64\\xcc\\x23\\x9e\\x62\\xcb\\xe0\\xc1\\x6f\\xc3\\x58\\x05\\xca\\xb5\\x0d\\x39\\x4d\\x65\\xc7\\x6d\\xbb\\xe9\\x3e\\x85\\x8e\\x87\\xd3\\xb9\\x07\\xc2\\xcb\\x4d\\x32\\x6a\\x1f\\x7a\\x33\\x72\\x96\\x5f\\xab\\x0b\\xe1\\xd2\\x70\\x9b\\x88\\x8c\\x01\\x12\\x1c\\x17\\x39\\x0d\\xcc\\xb2\\x4d\\xa9\\xd0\\x6b\\xdc\\xf4\\xd0\\x9d\\xdc\\x74\\x32\\xed\\xe4\\x49\\x72\\xc7\\x9b\\x6f\\x02\\x4d\\x18\\x8b\\xde\\xe6\\x66\\xe2\\x6f\\x41\\x9e\\xd9\\x4a\\x56\\xd7\\x35\\x63\\xfb\\xf3\\x22\\x0a\\xe3\\x0a\\xfc\\x3e\\xc3\\x59\\x66\\xcf\\x51\\x6c\\x1e\\xb8\\x22\\x34\\x8b\\x5b\\x83\\xc2\\x1f\\x50\\xd9\\xf5\\x20\\x0a\\x73\\x37\\x69\\xc3\\x55\\x5c\\x9f\\x2a\\xac\\x57\\xda\\x90\\xe4\\xf0\\xf7\\xf8\\x6b\\xfe\\xc9\\x78\\xdc\\xcf\\xc0\\x4e\\xf8\\x9e\\x2f\\xbe\\xab\\xee\\xd4\\x52\\x3e\\xf7\\xde\\x3a\\xda\\x2e\\x2c\\x85\\x3f\\x46\\xff\\x44\\xe4\\x27\\xba\\xfb\\xd0\\x4e\\xc6\\x7e\\xfc\\x0f\\xf6\\xbd\\x47\\xbe\\xca\\x11\\x7f\\xff\\x47\\xab\\xec\\xcf\\x5a\\xe0\\x19\\x53\\x23\\x3c\\x43\\xa7\\xf0\\x0c\\x3e\\xfe\\x86\\x66\\x46\\xe4\\x82\\x86\\x1c\\xab\\xbf\\xa1\\x69\\x7c\\xbe\\x62\\x2a\\x53\\xbd\\xa6\\x84\\xe7\\x36\\xd0\\x94\\x38\\xc6\\x57\\x0f\\x87\\x4f\\x47\\xd6\\x51\\x56\\x9e\\x60\\xe7\\x9f\\xba\\x36\\x15\\xf9\\xec\\x87\\xc9\\x2a\\x3c\\x67\\xd8\\x01\\x78\\x60\\x0e\\xf9\\xfe\\xc0\\x01\\x3a\\xc6\\x33\\x64\\x27\\xae\\x0c\\x2f\\x45\\x0e\\x7a\\x0f\\x85\\x74\\xbc\\x4a\\x65\\x96\\x16\\x5b\\xa9\\x24\\xec\\xfe\\xac\\x00\\xb0\\xe5\\x04\\x7d\\x9c\\xb9\\xf2\\xf9\\x0a\\x63\\x38\\xc3\\x12\\xf5\\x3b\\xbf\\x54\\xe7\\x78\\x6f\\x1d\\x3e\\x30\\x2d\\x57\\x3d\\xc5\\x30\\xb2\\xc7\\xa0\\x92\\x92\\x7e\\x3d\\xc7\\xe8\\xc9\\xc7\\x69\\xee\\xa9\\x53\\xdd\\x69\\x95\\x83\\xda\\xb4\\x19\\x18\\x91\\x99\\xf2\\x85\\x79\\xe8\\x7d\\x29\\x19\\xce\\x8d\\xfc\\x8c\\x88\\x12\\xa8\\xd8\\x23\\x67\\xc9\\x59\\x11\\x33\\xf2\\xfb\\x83\\x67\\xce\\x18\\x3c\\x67\\xce\\xe0\\x19\\x33\\x07\\xcf\\x12\\x3e\\x1e\\x3c\\x77\\xee\\xe0\\x99\\x33\\x07\\xcf\\x9e\\x3d\\x78\\x26\\x7b\\x76\\x8b\\x30\\x09\\x8d\\x90\\xa6\\x02\\x6e\\xab\\xf6\\x0a\\x26\\x20\\x67\\x54\\x2a\\x6f\\x8b\\x29\\xd3\\x50\\x02\\xca\\x59\\xfc\\x35\\x8d\\x1b\\x1f\\xd1\\xac\\x67\\xcf\\xcc\\xe6\\x9e\\x54\\x4f\\x70\\x72\\x66\\x53\\x77\\x8a\\x5b\\xfc\\xbc\\xa0\\x4d\\xaa\\x18\\x94\\xdd\\xa9\\xd6\\x16\\x25\\xad\\x93\\xdb\\x75\\x57\\x0d\\x92\\x5c\\x69\\xb6\\x16\\xa5\\x34\\x3f\\x6c\\x68\\xbf\\x94\\xce\\xf5\\x90\\x93\\x23\\xfc\\x43\\x90\\x16\\xe3\\xd8\\xc9\\xa3\\x18\\x47\\xaf\\x77\\x42\\xfb\\x85\\xfb\\xaf\\x8f\\x06\\x9d\\x26\\xbd\\x57\\xaf\\x27\\x99\\x5a\\x03\\xeb\\x55\\x2d\\xec\\x43\\x88\\xc9\\xb6\\x20\\x33\\x2b\\x7b\\xce\\x33\\x89\\xe8\\xde\\xf8\\xdb\\x4f\\xe8\\x0c\\x54\\xfd\\xa7\\x1a\\xb6\\x33\\x33\\x69\\xa8\\xc1\\x25\\x2b\\x26\\x3b\\x84\\x27\\x71\\xad\\x78\\x00\\xf4\\x3a\\xcb\\x41\\xd0\\xea\\x16\\x47\\xd4\\x3a\\x37\\xe8\\x75\\x94\\x6e\\xdf\\x4c\\xa9\\xfb\\xcf\\xbf\\xea\\x74\\xc2\\x93\\x37\\xd3\\xe9\\x40\\x86\\x5c\\x03\\x32\\xe4\\x29\\x5a\\xb8\\xef\\x80\\x0c\\x0c\\x4a\\xf1\\xe5\\x60\\x4a\\x49\\xc4\\x5c\\x77\\x57\\x8b\\xd6\\xcc\\x48\\x27\\xaa\\xe7\\xee\\xeb\\x1b\\x31\\xce\\xf1\\x24\\x5f\\xd8\\x8e\\xdf\\x13\\x2f\\xc1\\x1c\\xd4\\xd4\\xc7\\xe7\\x39\\x9a\\xdd\\x4f\\x8a\\xa8\\xb0\\x11\\x17\\x2f\\x26\\xe1\\xc1\\x02\\x28\\x1c\\x77\\x6d\\x05\\xc6\\x9f\\x63\\xcf\\xd9\\xba\\x21\\x67\\x84\\xed\\x5e\\x9c\\x9e\\x41\\x2e\\x98\\x18\\xfb\\xc5\\x61\\xc0\\x52\\xf4\\x60\\x78\\x09\\xf4\\xa3\\xdb\\x0f\\x64\\x58\\xcf\\x0c\\x0e\\x94\\x47\\x3a\\xea\\x83\\xa0\\xfd\\x15\\x76\\x97\\xc1\\xdb\\xa4\\xa8\\xcb\\x2d\\x3b\\xbf\\xf5\\x3a\\xa5\\xe5\\xda\\xaa\\xce\\x1b\\xd9\\x39\\x10\\x1e\\x07\\xb9\\x2e\\x8b\\x61\\x35\\x2f\\xc7\\x34\\x90\\xc6\\x7c\\x46\\x78\\x9c\\xf1\\x19\\x8e\\xe8\\x01\\xc1\\xaf\\x86\\x6f\\x8b\\xec\\xad\\x28\\x2c\\x66\\x04\\x85\\xed\\xad\\x08\\x8f\\xd0\\x5f\\xa2\\xe7\\x2f\\xd6\\x25\\xf1\\x17\\x7f\\x18\\x37\\xee\\xa5\\x71\\xe3\\xe0\\xec\\xb4\\x01\\xf8\\x5e\\x65\\xfc\\x4e\\xe1\\x66\\xb1\\xd3\\x46\\xf5\\x1c\\xca\\xf9\\xca\\xd6\\xac\\xa9\\x5b\\xb3\\x86\\x32\\x3f\\x45\\xcd\\x61\\x72\\xec\\x58\\x98\\x13\\xb5\\x89\\x00\\x5c\\x8a\\x31\\xe4\\x6d\\xe5\\xd2\\x06\\x20\\x7b\\x90\\x1a\\x5d\\xc8\\x58\\x66\\x3e\\x81\\x39\\xec\\x14\\x66\\xe1\\xe1\\x92\\x1a\\x25\\x51\\x3f\\x06\\x9d\\x51\\x63\\x36\\x7b\\x10\\xc7\\xd9\\xf4\\x9a\\xc5\\x89\\x62\\xc2\\xbd\\xf4\\x06\\x01\\xd6\\xa3\\xa0\\xc0\\x52\\x56\\xe6\\x57\\xac\\x5f\\x7c\\x66\\x6c\\xe7\\xe9\\x29\\x71\\x44\\x36\\x1f\\x58\\xa3\\x9c\\x55\\x99\\x61\\x8f\\x6e\\x7f\\x49\\x9f\\x56\\x35\\x2d\\xd3\\x9c\\x11\\x04\\xa8\\x28\\x18\\x50\\x31\\x44\\xf4\\x99\\x18\\x0e\\xe4\\x8d\\x29\\x1a\\x65\\x62\\x58\\xd0\\x64\\x5e\\x31\\xdd\\xcf\\xaf\\x85\\x2b\\x38\\x41\\xce\\x83\\x39\\x26\\x21\\x2f\\xf2\\x05\\x8c\\x0e\\x9d\\x90\\xa0\\x36\\x0b\\xf0\\x93\\x92\\x82\\xb8\\x64\\x2a\\x2c\\xf8\\xcd\\x8a\\xcf\\x88\\x72\\x41\\x0a\\xea\\x9a\\xdd\\x79\\x53\\x24\\x94\\xe1\\x7f\\x2a\\xd6\\xf8\\x53\\x03\\x6d\\x8a\\x1d\\xa9\\x29\\xf2\\x08\\x95\\xaf\\x7d\\xb1\\xb7\\x5d\\x9b\\x22\\xbb\\x2f\\x51\\x55\\x2b\\xfa\\x3a\\xfc\\xb6\\x46\\xba\\xeb\\x81\\x07\\xae\\x26\\x7a\\x13\\xb3\\x0a\\xfa\\xf7\\xca\\x4f\\xf4\\x7a\\x9a\\xe5\\xf6\\xa9\\x6a\\x7e\\xf0\\x81\\x07\\x14\\x9a\\xbf\\x03\\x70\\xab\\x56\\xfa\\x0c\\xf0\\xde\\x4f\\xbd\\x83\\x14\\x83\\x46\\x7e\\x4a\\x56\\x13\\x9f\\x5b\\x31\\x6b\\x7c\\x78\\x9e\\x19\\x37\\xfe\\xed\\x10\\xf0\\xff\\xc7\\xa3\\x51\\xf1\\xaf\\xff\\x23\\x7e\\xd8\\xf8\\xd0\\x90\\x93\\x37\\x39\\x46\\xb0\\x87\\x84\\x0c\\xc3\\x5c\\x98\\x9e\\x23\\xd3\\xb3\\xb2\\x80\\xd5\\xbc\\x44\\x45\\xce\\x53\\x05\\x14\\xaf\\x64\\x20\\xaf\\x59\\x25\\x76\\x7f\\x11\\xe6\\xd6\\x7d\\xbb\\x6e\\xdd\\xb7\\xdf\\x1f\\x58\\xb0\\xe0\\xc0\\xc1\\x05\\x0b\\x28\\x9e\\xf4\\x60\\xb2\\xfc\\x29\\x50\\x17\\x00\\x1b\\x41\\xec\\xa0\\x2c\\x25\\x72\\x7a\\x7c\\x25\\x20\\xcf\\x97\\xd2\\x96\\xa4\\xff\\x37\\xeb\\xd6\\x51\\xa3\\xa0\\x2b\\xe4\\x80\\x05\\xfa\\x9e\\xd1\\x0e\\x7a\\xee\\xec\\xac\\xee\\x4a\\x53\\x54\\x84\\xda\\xa0\\x0a\\xd4\\x1d\\x55\\xa1\\x20\\xaa\\x45\\x63\\xd1\\x54\\x34\\x17\\x2d\\x41\\xab\\xd1\\x5d\\xe8\\x7e\\xb4\\x15\\x3d\\x88\\x76\\xe1\\xd6\\x81\\x5d\\x0f\\x74\\x79\\xf4\\xd1\\x87\\xa6\\xcd\\x1a\\xb7\\x74\\xe9\\xa4\\xdb\\x3b\\xed\\xac\\xde\\xb8\\xb1\\xdf\\x7d\\xc5\\x6b\\xd6\\xb4\\x5c\\x27\\x6f\\x6f\\x36\\x6f\\x5e\\xc1\\x6d\\x8e\\x61\\xc3\\xdc\\xa3\\xa4\\x6d\\x86\\x81\\x03\\x2d\\x43\\x92\\xdb\\xb6\\x4d\\x6b\\x9f\\x99\\xcb\\xf7\\xec\\x99\\xdb\\x7e\\xc8\\xb6\\x51\\xb7\\x6d\\x5f\\x77\\xdf\\xce\\xdb\\x67\\xe9\\x7b\\x6c\\xee\\xfa\\x90\\x16\\xf7\\x46\\x9a\\xde\\x7c\\x8f\\x87\\x7a\\xec\\xd6\\x6e\\x7e\\x74\\xc1\\xe2\\xca\\x87\\x47\\xac\\x5d\\x3b\\x66\\xc3\\xad\\xf7\\xdc\\x33\\x74\\x53\\x60\\xf9\\xf2\\x8e\\xab\\xb2\\x67\\xcc\\x68\\x32\\x27\\x75\\xc2\\x84\\xf4\\x29\\xa6\\xbe\\x7d\\x6d\\x03\\x70\\x57\\x57\\x69\\x69\\x62\\xeb\\xe6\\x85\\x8b\\x1f\\xde\\xb0\\x69\\xd5\\x9c\\x29\\x03\\xba\\xb6\\x2e\\x2c\\x6c\\xdd\\x75\\xc0\\x94\\x39\\xab\\x36\\x6d\\x78\\x78\\xb1\\xb6\\xdb\\x8e\\x5e\\x8f\\x3e\\xba\\xbd\\xe7\\x43\\xba\\x2d\\x32\\xdf\\xb9\\xb3\\x4a\\xe8\\x46\\xd7\\x8d\\x62\\xd8\\x89\\x82\\xc8\\x1b\\x8b\\x13\\xb0\\x2e\\xf6\\xcf\\x5c\\x1f\\x31\\xf3\\xdf\\x5f\\xcc\\x7e\\xd3\\xf1\\x02\\xe6\\x39\\xeb\\x8c\\x04\\x58\\x58\\xe2\\x02\\x4d\\x6e\\xd2\\xc9\\x4d\\xde\\x47\\xdd\\x22\\xd9\\xa9\\x15\\xa9\\xbc\\x00\\xa7\\x3d\\xc3\\xe6\\x4b\\x2b\\x2a\\xf4\\x17\\x64\\x45\\xfe\\x5a\\x23\\x7f\\x9d\\x91\\xbf\\x38\\xf2\\x57\\x6e\\xf4\\x99\\x7a\\x14\\x00\\x45\\x62\\x3a\\x1d\\xfe\\x1f\\x6d\\x1b\\x7f\\xce\\x68\\x34\\x56\\x74\\xec\\x0c\\x6a\\x69\\xf1\\x52\\xd8\\x80\\xef\\xfb\\xb9\\xef\\x27\\x5e\\xc0\\x3d\\x43\\x2f\\xd1\\x70\\x38\\xae\\xc3\\xc4\\x89\\xe4\\xae\\xc2\\xd2\\xd2\\xc2\\x7b\\x0b\\xcb\\xca\\x0a\\xff\\x2e\\x29\\x2e\\x2d\\x4a\\xa7\\x1f\\x09\\x48\\xfb\\x25\\xc5\\x4f\\x95\\x16\\x15\\x95\\x72\\xfd\\x4a\\x8a\\x8b\\x4b\\xea\\x96\\x5f\\x98\\x88\\x7b\\x0a\\x2b\\xc9\\xfe\\x0b\\x13\\xeb\\xd4\\xc5\\xf0\\x8f\\x5b\\x43\\x5f\\xef\\x2b\\x2a\\x2d\\x2d\\x0a\\x3d\\x56\\x54\\x5a\\x5c\\xe2\\xa3\\x9f\\xf1\\x5b\\xf4\\x41\\x12\\xa4\\xcf\\xfc\\x4d\\x1f\\xbf\\x8f\\x7e\\x4b\\x36\\x4c\\x9c\\xc8\\xa7\\xd3\\x11\\x43\\x87\\xc9\\xfe\\x89\\x17\\x84\\x65\\x9f\\x4d\\x9c\\x38\\xb1\\x6e\\x3a\\xee\\x75\\x37\\xb4\\x6b\\x02\\xbf\\xe4\\x3d\\xe8\\xe7\\x6b\\x78\\x83\\xef\\x83\\x37\\x03\\xe1\\x4d\\x68\\x1a\\x1d\\xfc\\xfa\\x67\\xb8\\xeb\\x3f\\x85\\x13\\x3f\\xe3\\x3e\\x2e\\xf6\\xb7\\x0c\\xb5\\x2d\\x2a\\x2a\\x79\\xa0\\xb0\\xb0\\x8c\\x4b\\x8d\\xb4\\x0e\\x85\\x4b\\x4a\\x8a\\x2e\\x43\\x43\\xf2\\x7e\\x69\\x61\\x59\\x2e\\xfc\\x37\\xf4\\x59\\x37\\x7d\\xe2\\x44\\xdc\\xf5\\x33\\x45\\x76\\x98\\x2c\\x8c\\x47\\x1b\\x24\\x19\\xce\\x8e\\x66\\x5f\\xe4\\x5a\\x06\\x48\\x82\\xc8\\x6e\\x53\\x36\\x28\\x97\\x29\\x62\\x62\\xf4\\x3a\\x86\\xea\\xe7\\xc2\\x6c\\x34\\x8d\\xf9\\xf7\\xa9\\xf6\\x32\\x77\\x96\\x7f\\xd1\\xcf\\xe3\\x9c\\xf9\\x18\\x3d\\x7a\\x55\\xf8\\x08\\xb7\\x03\\x7a\\x44\\x6d\\x4e\\xa0\\x41\\xab\\x8c\\x46\\xac\\x15\\x5e\\x8e\\x0a\\x05\\xe6\\x7a\\xb3\\x13\\x15\\xcb\\x15\\x05\\x11\\x44\\xa1\\x35\\x38\\x61\\xfd\\xfa\\xc7\\x55\\xf7\\x0c\\xed\\xde\\x6d\\xd8\\xdd\\xdc\\x53\\xc2\\x47\\xa7\\x4f\\x73\\xf2\\xe6\\x55\\x9d\\x2a\\xab\\x2a\\x96\\x3e\\xa8\\xc8\\x3e\\xa4\\x1a\\xbd\\x1f\\xfe\\x03\\x64\\x1f\\x90\\xaf\\x54\\x2a\\x59\\x0b\\xba\\x3c\\x56\\x2b\\xaa\\x12\\xf3\\x17\\xfa\\x2f\\xd2\\x10\\x79\\x3a\\x5e\\x1a\\x82\\xb5\\x00\\x3a\\xb2\\x81\\xdd\\x35\\xc5\\xad\\x85\\xac\\xdc\\x4c\\xdd\\xd5\\xe8\\x66\\x0a\\x35\\x6a\\x1f\\xb9\\x92\\x02\\x8e\\xdb\\x60\\xed\\xfe\\xaa\\x6f\\xcf\\x91\\x2f\\x80\\xbb\\x6d\\x66\\xed\\x29\\xb7\\xd7\\xe8\\xf5\\xa2\\x4e\\x4d\\x1f\\x3b\\x7f\\xa2\\xc0\\xc2\\x16\\xc0\\xae\\x3c\\x5b\\xa2\\x5c\\xa7\\x29\\x3d\\x7c\\xbf\\xf7\\xb6\\xca\\x5e\\x8b\\xf7\\x46\\x3a\\x9a\\x15\\xbb\\x5a\\x83\\xf1\\xd7\\xc1\\x5e\\x4c\\x8f\\xee\\x85\\xee\\x46\\xb9\\x77\\xda\\x8d\\x0e\\x9a\\xcc\\x56\\x70\\x5d\\xd8\\x84\\x9f\\x16\\x7b\\xc0\\x9a\\xe9\\xf7\\x4b\\x88\\xf9\\xee\\x28\\x36\\xee\\x38\\x25\\x1d\\x3f\\x5d\\x98\\x99\\x59\\x48\\x7f\\x85\\x5f\\x95\\xbf\\x85\\x6c\\xcc\\x0e\\x30\\xe7\\x23\\xe1\\xd7\\x90\\x01\\x79\\x03\\x66\\x41\\xe4\\x0d\\x7a\\xb5\\xac\\x52\\x69\\x38\\x8d\\x91\\x33\\x89\\x06\\xe0\\x70\\x91\\x82\\x88\\xd4\\x35\\x37\\xea\\xc4\\xc0\\xd6\\x3e\\xcb\\xdf\\x64\\xaa\\x77\\x4e\\x70\\x40\\xa7\\x2e\\xc1\\x41\\x73\\xbc\\xd3\\x54\\xa3\\x8f\\x16\\xd4\\x24\\x8d\\x6a\\x39\\x77\\x6e\\xab\\x91\\x49\\x35\\x05\\xcb\\x29\\xff\\x7c\\x12\\xd6\\xa7\\x2a\\x7c\\x06\\x59\\x51\\x0a\\xca\\x43\\x05\\x01\\x87\\x51\\x14\\xdd\\xa9\\xa9\\x28\\x53\\x63\\x43\\x4e\\x9f\\x4f\\x9f\\x94\\x93\\x23\\xf3\\x66\\x3d\\xdb\\xdb\\x88\\xd9\\x25\\x62\\x4a\\x8e\\x46\\x7e\\x29\\xb5\\xad\\x62\\x19\\xb9\\x1a\\x5b\\x1b\\xe2\\xaa\\xfa\\x17\\xe3\\xaa\\x89\\xd5\\xb7\\x96\\x94\\xdc\\x4a\\xcd\\x0f\\x83\\x8b\\x8b\\x07\\xc7\\x99\\x20\\xc8\\xb9\\x38\\x63\\x44\\xfb\\xf6\\xd4\\x1c\\xd1\\xbe\\x7d\\xcc\\x20\\x91\\x17\\x7f\\xe7\\x17\\x6e\\x01\\xd2\\xcf\\x69\\x69\\x54\\xc4\\xb7\\x0a\\xa4\\x3f\\x09\\x74\\x34\\x41\\x96\\x25\\x4e\\xb9\\xff\\xc0\\x34\\xf5\\x75\\xbe\\x62\\x37\\xe1\\x7d\\x25\\x5e\\xab\\x5f\\x3e\\x5d\\x33\\xb5\\x35\\xf9\\x03\\x5e\\xc4\\xc7\\xc8\\xc7\\x2f\\xe1\\x9c\\x97\\x68\\x3f\\x7d\\x48\\x7f\\xf1\\x76\\xd0\\x45\\x80\\x1f\\x3d\\x27\\x4b\\x7a\\xa4\\x89\\x5e\\xd8\\xb1\\x19\\xc2\\xd4\\x24\\xc1\\x9b\\x9a\\x0e\\xfa\\xae\\xe0\\x2f\\x48\\x2f\\x11\\x6f\\x1f\\x46\\x26\\x92\\xcf\\xc8\\x39\\x32\\xb1\\xf6\\xb9\\x11\\x58\\x73\\xed\\x07\\x9c\\xdb\\xb3\\xc9\\xd1\\x23\\x2f\\xbf\\x74\\xdb\\x84\\x99\\x33\\x59\\x7f\\xc2\\x71\\xf1\\x76\\xa9\\x1d\\x93\\x07\\x01\\x3f\\x63\\xba\\xcd\\xff\\xee\\x46\\x6a\\xd7\\xb0\\x9f\\x83\\x82\\x47\\x1c\\x10\\x7f\\x5f\\xc1\\x83\\xce\\xb9\\x47\\x78\\xe3\\x7a\\xa9\\x38\\x80\\xe5\\x02\\x02\\xd8\\x0f\\x0b\\x9e\\xf0\\x90\\x98\\x9d\\x1b\\xda\\xc8\\xd1\\x36\\x3b\\x77\\x2a\\xeb\\x44\\xe1\\x59\\x21\\x89\\x34\\x7b\\x6a\\x40\\x8b\\x8c\\x82\\xd6\\x08\\x3f\\x56\\x50\\xa2\\xf3\\xdd\\xa7\\x22\\x5e\\xb4\\x4c\\x73\\xce\\x48\\x8f\\x69\\x41\\xa2\\x10\\x31\\x3e\\x0b\\xf6\\x79\\xe4\\x13\\xf2\\xf1\\xbc\\x81\\xb7\\x9a\\x9e\\x33\\xbf\\xbd\\x71\\x1e\\xce\\xc1\\xd9\\xf3\\x82\\x83\\xe9\\x07\\xe1\\x9d\\x8e\\x1d\\x3b\\x77\\x5f\\xf5\\xb4\\xf2\\xda\\x60\\xde\\x86\\x03\\xbc\\x26\\x4e\\xdf\\xc7\\x99\\xd0\\xb3\\x00\\xf2\\x78\\xba\\x37\\x55\\x70\\x0a\\xa7\\x2b\\xc9\\xc7\\xdf\\xff\\x4a\\x7e\\x1f\\xf9\\x5c\\x2d\\xbe\\x07\\x67\\xe0\\x74\\x7c\\xf7\\x30\\xe1\\xf8\\xec\\xe9\\xe3\\x17\\xbd\\xf4\\xf2\\xd1\\x23\\x11\\x98\\xc9\\x30\\xfe\\xbd\\x88\\x5c\\x01\\xbb\\x41\\x6f\\xcd\\xdf\\x2e\\x53\\x66\\x57\\xe4\\x94\\x8b\\xbc\\x7b\\xf8\\xab\\xeb\\xd6\\xd5\\x99\\x9e\\x59\\x70\\xf0\\xc0\\x02\\x6a\\x23\\x59\\x87\\x3f\\xc5\\x33\\x68\\x3c\\x83\\x38\\x2c\\xb4\\x52\\xf1\\x0f\\x21\\x7b\\xe1\\xbb\\x6a\\xf6\\xdd\\x98\\xd0\\x66\\x45\\x1f\\x0f\\x3f\\x88\\xbf\\x47\\x43\\x59\\x8c\\x85\\x8c\\x1c\\x47\\x90\\x88\\x9b\\xb3\\x70\\x86\\x58\\x58\\x45\\xb9\\x22\\x18\\xf2\\xb0\\x26\\x35\\x47\\x8f\\x1e\\xa5\\xa1\\x13\\x75\\x0b\\xb9\\x7f\\x42\\x12\\xf4\\xb7\\x3e\\x36\\xc6\\x54\\xa5\\x3f\\x36\\xc6\\x67\\x30\\xc6\\x25\\xf8\\x6e\\x76\\xec\\xbb\\xa7\\xa0\\xdd\\x2d\\xac\\xdd\\x8b\\xb1\\xef\\x76\\x42\\xbb\\xa1\\x34\\x1e\\x45\\x1c\\x1d\\x81\\x05\\x93\\xfd\\xf8\\x7b\\xdc\\x0b\\x26\\x67\\x43\\xde\\xe7\\x91\\x19\\x17\\x3c\\x4b\\x73\\x4a\\xde\\x34\\xfc\\x84\\x19\\x6f\\x1b\\xc5\\x9b\\xf8\\xcd\\xf2\\x5d\\xf5\\x31\\x26\\x47\\x45\\xa1\\xc7\\x80\\xf8\\xd8\\x12\\xc1\\x41\\x2e\\xfe\\x87\\x8d\\x1d\\xfa\\x19\\x7f\\xcf\\xd9\\x18\\x3c\\x93\\xa3\\x63\\x87\\x73\\x61\\x1d\\x3e\\x16\\x7e\\x83\\xf3\\x9e\\xb8\\xd7\\xa8\\x39\\x84\\x5b\\xec\\x97\\x25\\x89\\x7f\\x01\\x96\\x43\\xf1\\x1b\\x62\\x41\\x2f\\x30\\x2c\\xcd\\xf3\\xed\\x50\\xf2\\x7c\\x47\\x43\\x39\\xdf\\x13\\x0f\\xaa\\x69\\x2c\\x47\\x86\\x83\\xc6\\x72\\x40\\xdf\\x9d\\x57\\x36\\xed\\x32\\x28\\x12\\xca\\x41\\xd6\\x28\\xf7\\x7c\\xb9\\xf8\\x73\\xf4\\x89\\xf8\\x1f\\x18\\x73\\x56\\x6c\\x0d\\x96\\xc3\\x7c\\x6f\\x63\\x6b\\x35\\x2f\\xb6\\x06\\x2b\\xe1\\xbb\\xb9\\xc2\\x25\\xca\\x43\\x0e\\x60\\x99\\x57\\x89\\x34\\xcc\\x81\\xfa\\xa5\\x46\\xa3\\x2a\\x80\\x96\\x59\\xb5\\xd8\\xa7\\xc6\\xd4\\x4d\\x42\\x8d\\x1f\\x7f\\x62\\xcf\\x49\\xac\\x0f\\xa3\\x77\\xb6\\x6e\\x39\\x1d\\x46\\xd8\\x08\\x8f\\xdb\\xc8\\x0f\\xc0\\xac\\xa6\\xfc\\xfd\\x37\\xd9\\x48\\x66\\x50\\x1a\\x7b\\x56\\xd8\\xc7\\x55\\x2b\\x77\\x34\\xfb\\xc5\\xc5\\x1c\\xa8\\x84\\xcc\\xb8\\x4f\\xd5\\x39\\xf9\\xec\\x6c\\xcc\\x5d\\xaa\\xf7\\x03\\x46\\x03\\xc9\\x04\\xfc\\x41\\xc4\\xb6\\x1f\\x51\\xff\\xe0\\xc0\\xdb\\x01\\xcb\\x4a\\xf0\\x07\\xb3\\x09\\xb9\\x34\\xcf\\x13\\xbd\\xbb\\x44\\xa7\\x81\\x46\\xbe\\x1d\\x5e\\x62\\x92\\x79\\x49\\x71\\x75\\x85\\xef\\x22\\xf5\\x0c\\x2d\\x12\\x47\\x93\\x1f\\x72\\x68\\x12\\xad\\xdb\\x2c\\xf4\\xa2\\xb6\\x23\\x34\\x28\\x50\\x6c\\x05\\xfd\\x58\\xd6\\x27\\xc8\\x09\\x49\\xc9\\x18\\x6d\\x1b\\x64\\xc4\\x8b\\x30\\x67\\xc4\\x29\\x38\\x1f\\xde\\x84\\xb1\\xa8\\xe3\\x5d\\xd8\\x60\\xc0\\x2e\\x5e\\xd0\\x68\\xcc\\x2c\\x12\\xdb\\xde\\xb0\\x38\\x9f\\x52\\x13\\xaa\\x66\\xc8\\xe0\\xa9\\x79\\xe6\\x06\\x15\\x20\\xe8\\xc5\\x3b\\x9f\\xd6\\xb0\\xe6\\x8d\\x29\\x92\\x16\\x87\\xe3\\x30\\x77\\xcf\\x1f\\xe4\\x5a\\x7c\\x69\\xc1\\xcf\\xa3\\x79\\x71\\xf0\\x36\\x6c\\x22\\x57\\x49\\x2f\\x96\\x8f\\xa4\\xbe\\xae\\x20\\x59\\xa3\\xe4\\xc6\\xa1\\x73\\x88\\xd6\\x68\\x8c\\xcc\\xc1\\xc0\\x53\\xe7\\x30\\x95\\x5b\\x95\\x9c\\x74\\xf3\\x39\\xa8\\xb1\\xd5\\x0a\\x1a\\x83\\xe0\\x74\\x9a\\x2a\\x83\\x4e\\x93\\xa0\\xfb\\x3f\\xcd\\xe1\\x5f\\xca\\x39\\xe2\\x0f\\x30\\x37\\xe7\\xdf\\x2a\\x3a\\x46\\x27\\xf1\\x2f\\x85\\x1d\\xc3\\x61\\xdc\\x89\\xdc\\xcb\\xe7\\x0a\\x6d\\x4c\\x12\\x4a\\x66\\x87\\xfb\\x53\\x61\\x2f\\x6f\\x91\\x6c\\xf4\\x8e\\xff\\x59\\x38\\xfb\\x92\\xc8\\xbd\\x88\\x8d\\x68\\x10\\x10\\x00\\x53\\x9c\\x9f\\x39\\xd3\\xf8\\xf1\\xa7\\xc5\\x18\\xbf\\x23\\xec\\xf5\\xe2\\xf6\\x19\\x84\\xde\\xd0\\xfe\\x0d\\xcf\\x7e\\x24\\x0d\\x8d\\xe8\\x2c\\x25\\x01\\x97\\x1a\\x34\\x68\\xa4\\x91\\x34\\x7a\\x49\\x6f\\x30\\xea\\x64\\x49\\xbe\\x73\\x90\\x5e\\x92\\x38\\xf1\\x10\\xed\\xec\\xed\\xb2\\xfc\\xf8\\xba\\xdb\\x91\\x08\\x3d\\xd6\\xb9\\xbf\\xde\\x9c\\xc0\\x09\\xad\\x7e\\x7c\\x96\\x2c\\x7d\\x03\\xf7\\x78\\x83\\x8e\\xb4\\x2e\\x83\\xcc\\x4a\\x3e\\x0f\\xff\\x28\\x4e\\x21\\x56\\xd3\\xb7\\x93\\x25\\x13\\xa5\\x23\\x64\\x96\\xf9\\x52\\x92\\x1d\\x2e\\x40\\x39\\x01\\x2b\\x67\\xe6\\xb9\\x1d\\x16\\xbc\\xd8\\x82\\xa7\\x58\\xb0\\xc9\\x82\\x91\\x05\\x1f\\x0a\\x2f\\x3a\\x60\\xb1\\x48\\x52\\x06\\xce\\x8b\\xa4\\x28\\x2a\\x2f\\xa2\\xf3\\x3d\\x83\\x1f\\xe4\\xfe\\xe0\\xa8\\x2d\\x30\\x27\\xe0\\xe6\\xa8\\x83\\x3a\\xc2\\x9b\\x07\\xe5\\xa3\\x72\\x34\\x59\\xc9\\xcf\\x81\\x02\\x56\\x27\\x33\\x9f\\x0e\\xae\\x77\\xb6\\xa5\\x0e\\x1d\\x67\\x70\\x2a\\x7e\\x10\\xb7\\x20\\xca\\x1d\\x74\\xf8\\x4d\\x80\\x65\\x93\\x58\\x01\\xe7\\xd3\\x8c\\xa6\\x04\\x12\\x0c\\x46\\x23\\x32\\xeb\\x74\\x48\\xe6\\xd5\\x1a\\x0d\\xb2\\x8a\\x6a\\x35\\x42\\x5a\\x8b\\xd5\\x60\\x3e\\x84\\x8d\\x81\\x94\\x41\\x80\\xcb\\xa2\\xaa\\x26\\x68\\x14\\x6b\\x44\\xce\\xc5\\x8b\\xa2\\x1a\\x63\\xa1\\x26\\x88\\x79\\xa4\\xae\\x09\\xd2\\xea\\xf2\\x8d\\x33\\x1f\\x21\\xbf\\x92\\xfc\\x2a\\x12\\x41\\x66\\x89\\x45\\x8f\\x5a\\x22\\xf9\\xeb\\x22\\x75\\x4e\\x68\\x24\\xab\\xb2\\x37\\x9d\\xf9\\xec\\x50\\x18\\x1f\\x27\\xad\\xb9\\xdc\\xeb\\x2d\\xe8\\x3e\\x89\\x15\\xd1\\xd2\\xf1\\x5f\\x45\\x36\\x2c\\x06\\xf7\\xc6\\x08\\xdc\\xe3\\x02\\x34\\xf7\\x35\\x80\\xad\\x02\\x60\\xb5\\x82\\x55\\xe6\\x79\\x41\\x88\\x02\\x9d\\x06\\x40\\x8b\\x32\\x37\\x34\\xf8\\x99\\x8c\\x4f\\xca\\x78\\x93\\x8c\\x6f\\x95\\x71\\x77\\x19\\xe7\\xca\\x58\\x96\\xd5\\x22\\x2f\\x50\\xb8\\x0b\\xca\\xfd\\x65\\xf9\\x6c\\x7d\\xe3\\x81\\x8e\\xc2\\xec\\x67\\x0e\\x16\\x51\\x88\\xeb\\x53\\xf1\\x30\\x88\\xf9\\x79\\xe4\\x6b\\xf2\\x2d\\x76\\x61\\x0f\\x76\\x5d\\x2f\\xa1\\x10\\x73\\x6d\\x43\\xc7\\xc4\\x0a\\x5a\\xfa\\xff\\x9f\\x17\\xeb\\x81\\x06\\x9a\\xf9\\x16\\xc0\\xfc\\x94\\xd8\\xc9\\x94\\x89\\x9a\\x2c\\x64\\xfb\\x1e\\xfa\\x19\\xf6\\xdd\\x1b\\xd0\\x63\\x03\\x8f\\xb7\\x1b\\xf1\\x64\\x23\\xae\\x31\\xc2\\x8e\\x7f\\x73\\xc0\\x68\\xd4\\xe9\\x94\\x1d\\x57\\xf6\\x9b\\x0f\\xbf\\x09\\x67\\x76\\xaf\\x38\\x10\\xe6\\xeb\\x80\\x53\\xdb\\x31\\x60\\xd6\\xa1\\x04\\xb7\\xdb\\x9c\\xe8\\x74\\x9a\\x25\\x24\\x25\\x27\\x25\\x24\\xd2\\xc9\\x1a\\x07\\x25\\xf0\\x6a\\x43\\x4d\\x50\\x2d\\xf0\\xb6\\x9a\\x20\\x6f\\x6d\\x50\\x30\\x36\\x1a\\x4c\\x18\\x43\\xd8\\x58\\x7a\\xfd\\x02\\x84\\x4d\\xf5\\xc2\\x1b\\x9b\\x96\\xb0\\x97\\x84\\x7e\\xbb\\x46\\x42\\x98\\xbf\\xf6\\x2b\\x16\\xc8\\x47\\x27\\x87\\x8d\\x1b\\x37\\x6c\\xd8\\xd8\\xba\\x0e\\x6c\\x86\\xbb\\x40\\x9e\\xbc\\x1f\\x8f\\xc6\\x7d\\xe1\\xa7\\x86\\xec\\x24\\x4f\\xe0\\x93\\x5f\\x5f\\xbe\\xfc\\xe3\\x8f\\x9c\\xb7\\xf1\\x1e\\xd1\\xda\\xd5\\x2a\\x90\\x68\\x7b\\x06\\x4c\\x3a\\xb5\\x5a\\x10\\x24\\x4e\\x45\\x13\\x3c\\x9b\\x8c\\x5a\\x03\\x05\\xd8\\x3e\\x08\\x36\\x4c\\xe2\\x03\\xa8\\x92\\xde\\x41\\x60\\x95\\x2c\\x0a\\x3c\\x66\\x45\\xab\\xfd\\x2c\\x15\\x12\\x85\\xb7\\x7e\\x33\\x2c\\x65\\x05\\x91\\xe8\\x02\\x96\\xf5\\xc7\\x83\\xbd\\x91\\x3d\\x58\\x4c\\xbe\\x02\\x6e\\x9b\\xf2\\xe2\\x51\\x9c\\xf2\\x4f\\x1d\\x85\\x10\\x1f\\x21\\xed\\xf1\\x11\\x7e\\x65\\xe8\\x51\\x6e\\x20\\xd9\\x1a\\x03\\x4a\\x81\\xe9\\x14\\xac\\x63\\x06\\x48\\xc1\\x63\\x03\\x1e\\x59\\xe7\\x4e\\xd1\\xa5\\xa8\\x93\\x92\\x9c\\x20\\x04\\x1b\\x9b\\xe6\\x64\\xf2\\x99\\x6a\\xde\\x68\\x6c\\x92\\x9c\\x9d\\x47\\xc1\\x73\\x0e\\xca\\xe6\\x53\\x25\\xc9\\xaa\\xb6\\xa2\\x9a\\xa0\\x55\\x48\\x52\\xab\\x00\\xd1\\x53\\x54\\x16\\x54\\xee\\x6f\\x98\\xd4\\xaf\\x9c\\x96\\x93\\x8c\\x96\\x05\\x89\\x45\\xed\\x5a\\xea\\x7d\\xb0\\x59\\x26\\x65\\x33\\x50\\x86\\x02\\x27\\x4b\\x46\\x4f\\xc5\\x67\\x0b\\x4d\\x7d\\x53\\xdc\\x0a\\x03\\xfe\\x53\\x33\\x70\\xa6\\xc8\\x26\\xc3\\xbd\\x3c\\x61\\x49\\xf5\\x50\\x92\\x3f\\xae\\x7c\\xf4\\x82\\x95\\xcb\\xae\\xdc\\xb5\\xfe\\x87\\xe5\\xb7\\x2f\\x1c\\x17\\x18\\x45\\xf2\\x87\\x56\\x2f\\xae\\xdb\\xc2\\x68\\xd7\\xec\\xb7\\x0f\\xdd\\xf5\\xf1\\x08\\x72\\xee\\x92\\x76\\x12\\xf6\\x1c\\x7e\\x1c\\x0b\\xeb\\xee\\x24\\x75\\x4f\\x1c\\x26\\x5f\\x4f\\xd2\\x5e\\xc2\\x99\\x23\\xce\\x6c\\x3c\\x78\\xfa\\xde\\xc8\\xa4\\x81\\xde\\xcc\\x06\\xdc\\x59\\x26\\x0d\\xb5\\x64\\xf2\\xe3\\x80\\xde\\x48\\x7c\\xd9\\x6f\\x08\\x65\\x05\\x5c\\x3c\\x87\\x8d\\xe6\\x4c\\x78\\xdd\\x60\\xc7\\x26\\x3b\\x46\\x76\\xdc\\xca\\xee\\x11\\xe4\\x08\\xde\\x15\\x15\\xa1\\x3c\\xfa\\x12\\xa3\\x57\\x15\\x16\\x89\\xd2\\x2b\\xf8\\xbc\\x1a\\x3e\\xef\\x64\\x9f\\x33\\x98\\xce\\xb3\\x17\\x61\\x61\\x0e\\xec\\x33\\x8d\\xb5\\x31\\xf0\\x02\\x16\\x28\\xf9\\xad\\x09\\x8a\\x3c\\x6f\\x41\\xf5\\xa5\\x67\\xe9\\x25\\x15\\x3d\\x36\\xc2\\x9c\\xd0\\x50\\x72\\x16\\x8e\\xf5\\xf5\\x1d\\x62\\x47\\xc6\\x53\\x2d\\xd0\\xdf\\x61\\xf6\\xbc\\x01\\x15\\x1d\\x44\\xbc\\x86\\x37\\x81\\xc8\\x12\\x7e\\x37\\x60\\x55\\x1b\\xbb\\x68\\x04\\x38\\x1d\\x48\\x12\\xa4\\xa1\\x41\\xc1\\xc2\\x01\\xa9\\x61\\x39\\xc0\\x91\\xb2\\xd0\\x79\\x91\\x40\\x45\\x9a\\x65\\xdb\\xee\\xcd\\xe0\\x33\\xf3\\xb1\\x01\\xa4\\x0c\\x0b\\x7e\\x12\\x07\\xf1\\x23\\xd7\\xfb\\xf1\\xcb\\xbf\\x68\\xe2\\x56\\xe3\\x12\\xe7\\x67\\x5f\\x09\\xc3\\xaf\\x6f\\xfd\\xea\\x1a\\x37\\x6e\\xcd\\x9c\\x2c\\xcd\\x27\\x5d\\x43\\x9b\\x22\\xf3\\x98\\xc7\\xe6\\x91\\xcd\\xe6\\xd5\\x1f\\x3e\\x4f\\x63\\x9f\\xdb\\xb0\\xcf\\x34\\x37\\x79\\x07\\xf6\\x99\\xfa\\xab\\xf3\\x4a\\xad\\x05\\xc0\\x1d\\x1e\\x19\\x91\\x87\\xd6\\xb9\\xe0\\x91\\xc3\\xe4\\x00\\xa6\\xae\\x11\\x12\\x93\\x78\\xae\\x36\\xa8\\xe3\\x13\\x79\\xce\\xc4\\xf3\\xbc\\xac\\xd7\\x5b\\x6b\\x82\\x7a\\x41\\x4e\\xa8\\x09\\xca\\xd6\\xff\\x52\\xe7\\x82\\xc9\\x3f\\x00\\x7a\\x91\\x68\\x42\\x5e\\x96\\x87\\x0c\\x5e\\x71\\x7c\\x30\\x82\\x8b\\x6c\\xe5\\xce\\x01\\x7a\\xff\\x41\\x7e\\x27\\x5f\\xe1\\x64\\xac\\xc5\\x1a\\x9a\\x57\\x6d\\xcd\\xc2\\x85\\x77\\xdc\\xb1\\x70\\xfe\\x5a\\xde\\x7a\\xe6\\xcc\\x04\\x76\\x1a\\xc7\\xe2\\x6a\\x5c\\x85\\x87\\x91\\x07\\xc9\\x93\\xe7\\x7f\\xbc\\xfa\\xe9\\xa7\\x7f\\xfd\\x46\\xe7\\xc0\\x6a\\x51\\xb1\\x39\\x34\\x61\\x73\\x5a\\x15\\xdb\\x4b\\x26\\x14\\x83\\x6c\\x8a\\x84\\xe7\\x61\\xed\\x35\\x28\\x3b\\xe0\\x40\\xbc\\xcc\\xeb\\xb4\\x9c\\x6c\\x91\\xd3\\x64\\x5e\\x86\\xc5\\xd6\\x08\\x3c\\x23\\x8f\\x05\\x94\\x40\\x0e\\x8e\\x2c\\xb6\\x1f\\x16\\x9b\\xa6\\x38\\x95\\x64\\xde\\x86\\x41\\x9c\\xc3\\x2f\\x90\\x77\\xff\\xf2\\xc9\\x26\\xf7\\x5f\\x62\\x05\\x50\\xbc\\xda\\x85\\xed\\x6a\\x07\\xd7\\x6d\\x87\\xb1\\x86\\x43\\xdf\\xe3\\xd8\\x58\\xcd\\xd9\\xd8\\x34\\xf7\\x41\\x27\\xf6\\xb9\\x05\\x5b\\xcf\\xe9\\xf0\\x79\\x20\\x8c\\x4d\\x65\\x75\\x2d\\xad\\x74\\xc7\\xcb\\x48\\x10\\x64\\xb5\\x46\\xd0\\xeb\\xb4\\x9a\\x9a\\x20\\x90\\x06\\x2c\\x88\\x74\\xdf\\x31\\x1a\\x4a\\xb9\\x4c\\xa3\\x1c\\x75\\x31\\x7f\\x75\\x6b\\xe4\\xae\\x8d\\x87\\x85\\x5c\\xc9\\x1f\\xad\\x6b\\xca\\x7f\\x73\\x57\\xa8\\x95\\x50\\x75\\xed\\xda\\xf5\\xa7\\xaf\\x5d\\xe3\\xb3\\x2f\\x5d\\x42\\x4a\\x3e\\xc0\\x1f\\x84\\x15\\xe2\\x40\\x18\\x5f\\xc9\\x5b\\x18\\xd9\\x5f\\x18\\xdd\\x17\\x30\\x03\\xcb\\x13\\x64\\x41\\xad\\x12\\x81\\x55\\xc4\\xb8\\x42\\x7c\\xe9\\x80\\x28\\xd9\\xe7\\x13\\x41\\x9a\\x3a\\xcb\\x3f\\x2f\\x54\\x5d\\x7f\\x9a\\x4e\\x18\\xc5\\xd6\\x75\\x16\\x9b\\x9b\\x9f\\xf5\\x3d\\x02\\x3e\\xaf\\x80\\xbe\\x75\\xa8\\x57\\x20\\x4b\\xd6\\x68\\x30\\xa7\\xe2\\xb1\\xa4\\xd5\\xaa\\x30\\xaf\\x37\\x00\\x82\\x08\\xf2\\xd0\\xa0\\x5a\\xc5\\x71\\xb0\\xc2\\x18\\x6b\\x90\\x66\\xa8\\xc2\\x3f\\x19\\xf3\\x51\\xea\\xf4\\x28\\xef\\x6f\\x48\\xb1\\xe0\\x2f\\x52\\xd3\\xa9\\x02\\xbe\\x63\\xaf\\x7d\\x04\\x7e\\x8b\\x74\\xe6\\x3f\\x08\\xdd\\x86\\xc7\\x92\\x59\\xdc\\x85\\xef\\xf1\\xe7\\xf8\\xde\\xef\\xae\\x91\\xe7\\x6f\\x27\\x53\\x22\\x32\\x2d\\x60\\xb2\\xb0\\x81\\xc1\\x55\\xc2\\x3e\\xd3\\x30\\x9c\\x37\\xd9\\xe7\\xd6\\x6c\\x0f\\xd4\\xe1\\xdf\\x85\\xd7\\xc4\\xde\\x40\\xa3\\x53\\xe0\\x14\\xf4\\x0b\\xe4\\xd9\\xc5\\x94\\x94\\x74\\x9a\\x43\\x04\\x84\\xc2\\x54\\xa3\\xdb\\x98\\x9b\\x93\\xac\\x49\\xd7\\x0c\\x0b\\x8a\\xe9\\x0e\\x6b\\x86\\x75\\x58\\x50\\xc8\\x48\\x87\\x1f\\xb5\\x4d\\x00\\x9a\\x58\\x5e\\x1e\\x4b\\x95\\x10\\x57\\x8a\\xab\\x9e\\xd9\\xc7\\xea\\xb6\\xd1\\x24\\x4a\\x66\\xc6\\x5b\\x94\\x7c\\x81\\x96\\x56\\x34\\x9e\\xdd\\x5f\\x40\\x73\\x50\\xe6\\xc1\\x4c\\x6c\\x8e\\x56\\xd8\\x4c\\xd3\\x85\\x1e\\x9f\\x56\\x6b\\x75\\x0f\\x9a\\x4a\\x9a\\xb8\\x56\\x7c\\x34\\x33\\x74\\x5e\\xf7\\x93\\xee\\x7c\\x88\\x84\\x4e\\xb9\\x48\\x93\\xa9\\x83\\xdc\\xd6\\xa1\\xd3\\xb9\\xc3\\x2b\\xb6\\x87\\xf6\\x3c\\x16\\x3a\\xfa\\xde\\x92\\xef\\x36\\x7c\\x85\\xc5\\xdd\\xbb\\xc9\\xf5\\xaf\\xce\\x93\\x4b\\xef\\x71\\xaf\\xaf\\xdc\\xcd\\xf5\\xd9\\x86\\x1a\\xd2\\xab\\x56\\x6c\\x2f\\x9a\\xb1\\xfc\\x40\\x15\\x70\\x66\\xdb\\x06\\x52\\x34\\xb2\\x19\\x63\\x03\\x67\\x77\\xb9\\x38\\x99\\x4f\\x4c\\x42\\xbc\\x81\\xaf\\x0d\\x9a\\x41\\xb0\\x71\\x18\\x55\\x51\\xd6\\x63\\x29\\x6b\\x94\\xe4\\x3b\\x16\\xfb\\xea\\x03\\x28\\x39\\xa5\\x9c\\x53\\x2b\\xcc\\x04\\x03\\x25\\x1c\\x9f\\xf3\\x71\\xe7\\x7f\\xd6\\x7c\\x7e\\xee\\xe7\\x5b\\x27\\xaa\\x7f\\x56\\x4f\\xbc\\xf5\\xe7\\x73\\x9f\\xe3\\x3b\\xc9\\x74\\x7c\\x27\\xd6\\x84\\xf0\\x5e\\xd2\\x7d\\xcb\\x1a\\xee\\xd3\\x50\\xc6\\x9a\\x2d\\xf8\\x59\\xd2\\x3b\\x44\\xfe\\x50\\x6c\\x45\\x80\\x85\\xc2\\x03\\x40\\x4f\\x7c\\x2c\\xa7\\x89\\xc1\\xeb\\xf0\\x38\\x5c\\x49\\xb2\\xce\\xa0\\x52\\xa5\\x67\\x24\\x23\\xc9\\x24\\x01\\x2d\\x91\\x24\\xb5\\xc5\\x02\\xcc\\xc7\\x22\\x78\\x18\\xf3\\x49\\xba\\x91\\xf9\\x00\\x45\\x69\\x10\\x26\\x1b\\xcf\\x6b\\xd2\\xcd\\x51\\x56\\x63\\x12\\xe3\\x38\\x0d\\x37\\x6a\\xce\\xba\\xfe\\xe3\\x88\\x79\\x46\\x60\\x12\\xb9\\xba\\xee\\xfa\\xfd\\x9b\\xea\\xd6\\x91\\xab\\xd3\\x02\\x53\\x88\\x79\\x5c\\xff\\x75\\xc2\\xec\\x77\\x9e\\xbb\\xfd\\x9d\\x49\\xe4\\xdd\\x4b\\xda\\xb3\\x78\\xc2\\x63\\x58\\x5c\\xb7\\x8e\\xfc\\xb3\\x9b\\xdc\\x73\\x16\\x78\\x4b\\xf3\\x49\\xa7\\x56\\x3d\\xf7\\x4e\\x94\\xae\\x48\\x8f\\x81\\x0c\\xdb\\x84\\xca\\xb0\\x34\\x8f\\x1c\\xa6\\xfe\\x3b\\x7a\\x0e\\xeb\\xc4\\x4c\\x0e\\x23\\x93\\x01\\x81\\x0a\\x92\\xa7\\xb0\\x11\\x54\\x8f\\x7b\\xec\\x99\\xd6\\x8d\\x9f\\x51\\xb3\\x67\\xf4\\x5a\\x41\\xd5\\xe8\\x99\\x4e\\xb4\\x06\\xaf\\x64\\x03\\xde\\x35\\x8c\\xf1\\xae\\x52\\x78\\xd4\\x1a\\xd0\\x72\\x19\\xe6\\x4c\\x2e\\x27\\x23\\x5b\\x32\\xd1\\xf6\\xd0\\x9c\\xb6\\x65\\xf5\\x93\\x59\\xdb\\x51\\x4a\\xdb\\x4a\\xd6\\x16\\x67\\x9a\\x33\\x71\\xaf\\xcc\\x1c\\x50\\x6a\\xeb\\xdb\\x4e\\x26\\x03\\x84\\xbe\\xac\\xed\\x98\\x06\\x6d\\x13\\xa0\\xed\\xc8\\x84\\x44\\x9d\\x33\\xae\\xad\\xc2\\x3f\\x6d\\x31\\xfe\\x59\\x9a\\xac\\xb4\\x05\\xee\\x89\\x9d\\x46\\x8b\\xa8\\x8f\\x6b\\xbb\\x8e\\xe6\\x64\\x65\\xbc\\x76\\x96\\xc2\\x6b\\x7f\\x41\\x28\\x39\\xa0\\x06\\x2e\\xeb\\x60\\xbc\\xf6\\x50\\xf8\\xc2\\x81\\xc4\\x34\\xe0\\x9c\\x38\\x2f\\xc6\\x62\\x29\\x0f\\xec\\x14\\xa9\\x35\\xec\\x02\\x1e\\xdb\\x31\\x90\\xe6\\xb0\\x5b\\x75\\x28\\xc5\\x68\\x4a\\x31\\x25\\x48\\x76\\x29\\x33\\xc3\\x61\\x37\\x1a\\xd5\\x69\\x95\\x41\\x9d\\xda\\xc4\\x27\\x56\\x06\\x11\\x2d\\x9e\\xe4\\x57\\x72\\x18\\xa1\\x58\\xae\\x10\\x7f\\x7c\\xfd\\xab\\x8c\\x06\\x45\\x61\\x8b\\x4b\\xbc\\x12\\xd0\\x75\\x5a\\xfb\\x05\\xc7\\xa5\\xd2\\xe7\\xab\\xdb\\x3e\\xb9\\xf0\\xc3\\xf7\\x2e\\x7e\\xb6\\xec\\xa5\\xe6\\x7c\\x42\\x01\\x56\\x17\\x8c\\xd7\\xa5\\x8e\\x21\\xbf\\xb6\\x70\\x10\\xe7\\x2d\\x43\\x83\\x8b\\x2d\\x8e\\x99\\x03\\x46\\xf5\\xff\\x71\\xe5\\x3c\\x6c\\xc5\\x09\\x38\\x11\\xbb\\x57\\xcc\\x5b\\x30\\x79\\x10\\x79\\x79\\x3a\\x39\\xf9\\xe7\\x9c\\x99\\xb8\\xd9\\xf1\\xc7\\xdf\\xda\\xb5\\xef\\xf0\\x3e\\x80\\x7f\\x1d\\xe9\\x2f\\xdc\\xcd\\xea\\xfb\\xe5\\x82\\x4e\\xd9\\xcc\\x89\\xac\\x1e\\xb3\\x39\\xd9\\x93\\xac\\xc9\\x50\\xab\\x81\\xbc\\x35\\xc9\\xb3\\x7a\\xdc\\x1e\\x77\\x65\\xd0\\xe3\\x31\\x64\\x1b\\xbc\\x7d\\x82\\x06\\xa4\\xf6\\x64\\x64\\xf3\\xd9\\x95\\x40\\x6c\\x1d\\x31\\x8c\\x6e\\x9c\\x80\\x34\\x42\\x4a\\x62\\x7a\\x56\\xc4\\x8e\\x9a\\xe5\\x73\\xc4\\x4a\\x59\\xd2\\xea\\xc1\\x9c\\x48\\xeb\\x09\\x33\\xcc\\x66\\x16\\x0c\\xe6\\x5a\\x29\\xdc\\x7d\\xf9\\xa3\\xc7\\x57\\xa8\\x55\\xe4\\xf2\\xdf\\x7f\\x7e\\xf0\\xc5\\x47\\xb7\\xae\\xeb\\x45\\x7e\\xda\\xf5\\xc0\\x9c\\x49\\xfd\\xfa\\x4c\\x1d\\x91\\xbf\\xaa\\xdd\\xe4\\x69\\xf8\\xde\\x93\\xe7\\x87\\x0c\\x9a\\x4c\\x3e\\x16\\x9f\\xfc\\xf1\\xb3\\xfd\\x8f\\xff\\x3d\\xc8\\x3a\\x76\\xc7\\xad\\x0b\\x97\\x9f\\x70\\x4c\\x1d\\xd1\\x27\\xb8\\x66\\x53\\x28\\x35\\x3d\\x7f\\x09\\x3b\\xa7\\xe9\\x80\\x2b\\x8f\\x08\\x2d\\x91\\x09\\xb5\\x0f\\x64\\x82\\x42\\xa4\\x13\\x45\\x9d\\xc5\\x1c\\xcd\\x84\\xb8\\x1d\\xfd\\x8c\\xa4\\x0d\\xd0\\x4c\\x00\\xf2\\x6e\\x56\\x79\\xf4\\x3a\\x51\\x30\\xd2\\x4b\\x51\\x7f\\xb9\\x22\\xb3\\x0e\\x9e\\x5a\\xef\\xa8\\x0d\\xfb\\xd2\\x16\\x97\\x58\\xbd\\x58\\x92\\xbd\\xb4\\x36\\x88\\x35\\x19\\x73\\xa3\\xa5\\x2c\\xcb\\x27\\x38\\x8b\\x8c\\x1a\\x94\\x4a\\xce\\x7b\\x3b\\x92\\x2a\\x9c\\x7b\\xd1\\x90\\x79\\xb8\\xd9\\xf6\\x62\\x6e\\xfe\\xf5\\xba\\x8b\\xd7\\x3f\\x3f\\x23\\xe4\\x87\\x16\\xe7\\x3e\\xc1\\xf0\\xa4\\x07\\xe0\\xc9\\x3c\\x58\\x67\\x2d\\xe8\\xbd\\xdd\\x02\\x4e\\x37\\x8f\\xf4\\x1e\\x4f\\xb2\\x19\\x50\\xcd\\xe5\\x4a\\x4d\\xf1\\x24\\x27\\x25\\x57\\x06\\xdd\\xfc\\x21\\xac\\x0f\\xe8\\x82\\xbc\\x5b\\x9d\\x84\\xec\\x6a\\x56\\x0a\\x3d\\x9a\\x9e\\x31\\xaf\\x3e\\x4a\\xaf\\xac\\xcc\\xa2\\x28\\xeb\\x65\\x8c\\x42\\x67\\x45\\x3c\\xac\\x8a\\xf9\\x2c\\x1c\\xab\\xc7\\x5c\\x04\\xe7\\x8b\\x32\\xd6\\x01\\x83\\x26\\xdc\\x79\\xdf\\x82\\x29\\x0b\\x96\\x2e\\xbf\\x1b\\x77\\x58\\x36\\x7d\\xc9\\x1f\\x0f\\xd7\\x91\\xef\\xf0\\x7b\\xe4\\x0d\\xfe\\x16\\xfc\\xcd\\xa4\\x13\\x13\\x0a\\x3e\\xde\\x7a\\xd7\\x8e\\x2d\\xfc\\x31\\x99\\x7c\\x3a\\x3b\\x74\\xff\\x3d\\x5f\\xdf\\x86\\xd5\\x3f\\xe0\\xdb\\x76\\xe0\\x96\\x77\\x47\\x6a\\x1c\\xd6\\xd7\\x36\\x9f\\x1c\\x68\\xe9\\xb0\\xdb\\x39\\x3e\\xd1\\x64\\xd2\\xa5\\xf8\\xd4\\xbc\\x3a\\x2b\\x53\\x9f\\x92\\xca\\xbc\\x9a\\xe0\\x98\\x70\\x88\\x55\\x3a\\x47\\x0e\\xac\\xe5\\x1d\\x8e\\x84\\x94\\x14\\x2b\\xfa\\xd7\\x32\\xe7\\xb1\\xca\\x2b\\x11\\x2a\\xa8\\x94\\xd3\\x56\\x0e\\x82\\xbf\\x3e\\xa8\\xfe\\xff\\xb9\\xea\\xf9\\xf1\\x0f\\xff\\x77\\xd5\\x73\\x3a\\xc7\\xdd\\x64\\xb2\\x30\\x1e\\xf6\\x26\\x0d\\x64\\x99\\x24\\x59\\xef\\x4e\\x45\\xf6\\x54\\x7d\\x92\\x5d\\xf0\\xa5\\xa7\\xb2\\x04\\x74\\x66\\xa1\\x3a\\x68\\x36\\x6b\\x92\\x91\\xe6\\x10\\x56\\x31\\xe6\\x99\\xdf\\x38\\xbf\\x36\\x45\\x70\\x9a\\x52\\x8e\\xf9\\xb7\\x66\\xd5\\xa7\\xa5\\x6a\\xcb\\x95\\x14\\xc9\\x34\\xc5\\x36\\x68\\x4f\\xef\\xe6\\x0d\\x7f\\xf0\\xf5\\x47\\x5a\\xf9\\x9e\\x2b\\x69\\x36\\x7e\\xcd\\xf3\\xcf\\x04\\xbb\\xae\\xff\\xfa\\xcc\\x59\\xb2\\x8b\\x2f\\x27\\xaf\\x91\\x57\\xf1\\xa3\\x6d\\xbb\\xb4\\xf0\\xe5\\xad\\x9f\\xd3\\xe1\\x99\\xd2\\x6e\\xb7\\x96\\x67\\x35\\xcd\\x4c\\xc9\\xad\\xbd\\x6b\\xdc\\xd0\\xd7\\xdf\\xff\\x65\\xaf\\x2c\\x1f\\x39\\x42\\xae\\x91\\x4e\\x14\\x56\\x46\\xff\\x18\\xbd\\xc9\\x0e\\x58\\x91\\xcb\\xa4\\x52\\xa9\\x5d\\xea\\x04\\xb7\\xc9\\x66\\xd2\\x19\\xd5\\xb4\\x0c\\x57\\x79\\x79\\x79\\x79\\x7c\\xf2\\x17\\xca\\xfd\\x6e\\x52\\xae\\x8e\\xda\\x2c\\xf9\\x36\\xdd\\x6e\\x9d\\x3c\\x9f\\x5c\\x4e\\xc7\\x7a\\xb3\\x9d\\x0f\\xec\\x9e\\xff\\x04\\xad\\x64\\x91\\x74\\xf7\\x8c\\x5d\\x1b\\x42\\x2f\\xf2\\x7d\\xe6\\x4f\\xc8\\x1a\\x9b\\x33\\x65\\xf0\\xb3\\x6f\\x5c\\x67\\x86\\x5b\\x9e\\xe5\\x27\\xee\\x2a\\x9e\\x04\\x99\\xd3\\x82\\x12\\x50\\x79\\x20\\xd5\\x69\\x30\\x20\\x87\\xd1\\x08\\x8a\\xac\\xc7\\xed\\x30\\x56\\x06\\x1d\\x0e\\xad\\x5a\\x6d\\xad\\x0a\\xaa\\x11\\xaf\\xad\\x6a\\x5c\\x28\\xee\\xc6\\x2a\\x71\\x5c\\x84\\xd0\\xa5\\xb2\\xd2\\x11\\xc9\\x9c\\x55\\x29\\x16\\x27\\x74\\xfd\\xfb\\xe7\\x4b\\xd7\\xff\\xfa\\x11\\x7f\\x45\\x12\\x46\\x4c\\xe2\\x49\\x0d\\x57\\x1c\\x6c\\x3f\\x7c\\x12\\x8f\\x77\\xf2\\xe3\\xb8\\xcf\\xc9\\xdd\\x64\\x01\\x5e\\x86\\x27\\xe1\\x89\\x78\\xc9\\x3f\\x1f\\x5f\\xff\\x66\\xf3\\x27\\x93\\x85\\x69\\xbf\\x7f\\xfe\\x59\\x84\\x37\\x33\\x9a\\xcf\\x72\\x40\\x37\\x0f\\xb8\\x74\\x7a\\x95\\xc4\\xeb\\x41\\x2b\\xa1\\x79\\xf3\\x24\\xd0\\xcd\\x11\\xd2\\xf4\\x51\\x32\\xe7\\x29\\x02\\x5b\\x5e\\x7c\\xaa\\x1e\\x31\\x52\\xf5\\x93\\xe5\\xaa\\x71\\x4a\\x7c\\xda\\xf1\\x93\\xb4\\x60\\xec\\xb2\\x89\\x5d\\xb7\\xcf\\xb3\\xbd\\xf4\\x06\\xad\\x16\\xdb\\xe4\\x89\\x09\\x8b\\x0e\\x33\\xfe\\x46\\x73\\x54\\xdd\\x2d\\xb4\\x04\\x59\\xe5\\x1f\\x36\\x6e\\x07\\xf8\\x4c\\xfd\\xcf\\x5d\\xa0\\x31\\xe7\\x5a\\x44\\x20\\x9d\\xa0\\xe7\\x6b\\x5b\\x89\\xdd\\x45\\x2e\\x5f\\xc4\\xbc\\x51\\x4c\\x11\\x39\\xb5\\x20\\x22\\x97\\xcb\\x86\\x6c\\x46\\x9a\\x6e\\x56\\xa3\\xc6\\x34\\x51\\x18\\x95\\xd1\\x63\\xe7\\x02\\x0e\\x43\\xcd\\xe0\\xc1\\xb1\\x00\\x91\\x32\\x56\\x86\\x01\\x50\\x89\\x2a\\x47\\x5e\\xc0\\x28\\x1c\\x89\\x0d\\x00\\x54\\x13\\xd6\\x91\\x73\\x6b\\xdd\\x39\\xb2\\xb1\\xab\\xeb\\x20\\xf9\\x18\\x9f\\xd3\\xb5\\xed\\x5a\\xd6\\xbc\\x69\\xf3\\x5b\\x46\\x8d\\x5a\\x39\\xa2\\x10\\xbf\\xdd\\xef\\xb1\\xbc\\x96\\x9f\\x94\\x92\\x3e\\xfc\\x4f\\xce\\x6d\\xb7\\x5a\\x8f\\x25\\x77\\xda\\x74\\x1f\\x83\\xf3\\x76\\xa0\\xf7\\x7d\\x60\\x7d\\x92\\x68\\x8d\\x5b\\x31\\x21\\xc1\\x6d\\xb4\\x58\\xcc\\x6e\\x73\\x4a\\x72\\x82\\xd9\\x68\\xf4\\xa8\\xec\\xd5\\x41\\xad\\xa8\\x52\\x32\\x73\\xfa\\xfd\\xb1\\x72\\x14\\xf1\\xfb\\xe6\\x6d\\xc6\\x17\\xb1\\xb2\\x1f\\x11\\x6a\\xee\\x35\\x9b\\xa2\\xa5\\xc1\\x9c\\x7c\\x67\\x2c\\x0a\\x3c\\xdf\\x6b\\x77\\x61\\x7f\\xa7\\x20\\xd0\\x24\\xc2\\x87\\x6a\\xe7\\xe1\\x04\\x95\\xae\\x49\\x51\\xb1\\xfd\\x54\\xf3\\xdc\\xbc\\x2e\\x64\\xb9\\x78\\x31\\xf4\\x10\\xb9\\xb4\\x6b\\x03\\xd7\\xbe\\xee\\xd0\\xd2\\x29\\x14\\x26\\xd0\\xe2\\x84\\x1e\\x6c\\xcf\\xd2\\x03\\x26\\x8d\\x2c\\x22\\x24\\x9a\\x8c\\xb2\\xa0\\x93\\x44\\xa3\\x60\\x8f\\x08\\x76\\xd1\\x25\\xf1\\x2b\\xb5\\xe1\\x40\\x93\\xc1\\xc5\\x96\\x22\\xc0\\x67\\x87\\xd0\\xe3\\xcc\\x33\\xa0\\x63\\x4d\\xc4\\x39\\xd8\\x32\\xb9\\xb6\\x05\\x76\\x15\\xf0\\xbd\\xf6\\x93\\xd2\\x0f\\x84\\x96\\x75\\xcf\\x6e\\xc3\\xee\\x6d\\x2b\\x27\\x0d\\x83\\x31\\xb6\\x44\\xce\\x78\\x3e\\x0a\\x06\\x9a\\x64\\xa7\\x25\\x26\\xe4\\xe5\\xa5\\x64\\x24\\x66\\xd8\\xf5\\xb4\\x00\\x99\\x9d\\xa6\\x1d\\xa0\\x99\\xf6\\x5c\\x79\\x4d\\xf2\\x9a\\x28\\x07\\x3e\\xcf\\x9c\\x67\\xd6\\xf8\\xea\\x8f\\x3c\\xc8\\xcb\\x4a\\xf1\\xff\\x38\\x42\\x6c\\x56\\xe2\\x11\\x81\\xd1\\x45\\x4a\\x38\\xdf\\x8c\\x04\\xa4\\x2b\\xc4\\x0b\\x68\\x98\\x48\\x9d\\x87\\x94\\xb2\\xde\\x76\\x03\\x87\\x8f\\x15\\x4e\\x5c\\xf2\\xd6\\x4b\\x8c\\x1e\\x8c\\xde\\xf7\\xc4\\xae\\x01\\x58\\xf3\\xd3\\x9e\\x0f\\xf6\\x6c\\x21\\x97\\x86\\xf2\\x49\\xbf\\x7d\\x7e\\xf0\\xe7\\x73\\xa7\\xc7\\xe0\\x5d\\x6d\\x7b\\x17\\x38\\x52\\x37\\x2d\\x56\\xa8\\x42\\x46\\x41\\x66\\xba\\x77\\xe0\\x9d\\xe3\\x9e\\xb8\\x92\\x26\\xeb\\x56\\x0e\\xef\\xb3\\x38\\x59\\x25\\x1f\\x79\\xde\\x3c\\xfa\\xd6\\xea\\x5b\\xf4\\x47\\x93\\xbb\\xd2\\x3a\\x02\\xf5\\x35\\x1d\\x1d\\x34\\x2b\\x80\\x59\\xd2\\x22\\x09\\x39\\x5d\\x6a\\x03\\x4b\\xbb\\x6a\\x6b\\x50\\xbe\\xb1\\x3e\\x0e\\xaa\\xbe\\x60\\x63\\xbc\\x0e\\xdb\\xa0\\x5c\\x23\\x39\\x37\\x6a\\xee\\x82\\x89\\x93\\x27\\x2e\\x98\\xd2\\xb0\\x4e\\x63\\xe8\\xdd\\x97\\x9f\\x7e\\xe6\\xe8\\x2b\\x7b\\x9f\\x56\\xce\\x9f\\x27\\x52\\x83\\x26\\x15\\x55\\x04\\xd2\\x90\\x5e\\x4e\\xd1\\xa7\\x38\\xd3\\x40\\x78\\x70\\x3a\\xbd\\x69\\x16\\xab\\x01\\x39\\x93\\x9d\\x95\\xc1\\x64\\xa3\\xd5\\xae\\x16\\x2a\\x63\\x09\\x1d\\x15\\xc3\\x00\\x66\\x45\\x16\\xe8\\x52\\xe6\\xc7\\x59\\x60\\x58\\xaa\\x46\\x25\\x92\\xbc\\xc8\\xec\\xa3\\x96\\x17\\x6f\\xb1\\xa5\\x0d\\x56\\x6a\\xa0\\xf8\\x81\\xc5\\xfd\\x99\\xde\\x3c\\x35\\x3d\\xa9\\x76\\xec\\x8a\\x85\\xbf\\x65\\xe4\\x90\\x2f\\x9b\\xe7\\x95\\x8d\\x4b\\x4a\\x1a\\x97\\xcf\\x7f\\xc0\\x2f\\x08\\xed\\xef\\x52\\xa2\\x7d\\xca\\xbb\\xf6\\x2e\\x6e\\xfa\\x82\\x3f\\xc9\\xbd\\xdb\\x5e\\xc1\\xb5\\x67\\x96\\xdb\\x4d\\x27\\x0c\\xc6\\x23\\x94\\x27\\x2f\\x86\\xb3\\x30\\x56\\xe8\\x0d\\xf2\\x81\\x07\\x15\\x05\\x3c\\x66\\xe4\\x00\\x6a\\xca\\xea\\x16\\x5a\\x69\\x0e\\x68\\xb5\\xc7\\x91\\xc0\\x27\\xdc\\x28\\xe8\\xc4\\x93\\x56\\x9a\\x72\\x36\\xcb\\xe7\\xa4\\xa4\\x95\\x1a\\xfc\\x2d\\xa2\\xc9\\x97\\x96\\xa0\\x54\\xe5\\x12\\xc6\\xfe\\xf4\\xe2\\xee\\xa9\\x5a\\x2d\\x39\\x8b\\x0d\\xdf\\x6d\\xbc\\xb8\\x90\\x9c\\x7b\\xeb\\xfd\\x16\\xf3\\x5a\\x57\\x8d\\xe0\\x84\\x9f\\xc8\\x99\\xd5\\xcf\\x90\\x8d\\xfc\\x4f\\xbf\\x61\\xe7\\x3a\\x72\\x6d\\x17\\x5e\\x44\\x9e\\x26\\x57\\x5b\\x75\\x38\\xaa\\xac\\xe1\\x76\\xc0\\xd5\\xfe\\xb0\\x87\\x5e\\x54\\x1a\\x70\\x7b\\x14\\x0c\\xf5\\xa5\\x99\\x79\\xca\\x85\\x12\\x34\\x09\\x20\\x29\\x24\\x26\\x26\\x98\\x22\\x98\\xe9\\xcf\\x8f\\xa7\\xaf\\x0c\\x29\\x19\\x60\\x0e\\xa7\\xe2\\xa9\\x18\\x87\\x89\\x54\\xa3\\x60\\xa5\\xe3\\x0d\\x18\\x3f\\x3c\\xef\\xd1\\x17\\xd7\\x77\\x0d\\xb4\\xd8\\xd7\\xba\\x68\\xc2\\xae\\x8d\\xbb\\x2a\\x37\\xfc\\xb2\\xf5\\xfb\\xad\\x1b\\x17\\xac\\xe8\\x31\\xb7\\x0b\\xfe\\x74\\xf4\\x8c\\xac\\x26\\x3d\\x66\\x0c\\x6a\\xf9\\x50\\xa7\\x6e\\x43\\x5b\\x66\\x15\\x67\\xa7\\x7a\\xa6\\xef\\xbb\\x6d\\x1f\\xee\\xb8\\xf3\\x89\\x2d\\x4b\\xc7\\xbd\\xc3\\xe4\\x99\\x4a\\xd8\\xe7\\xd7\\x98\\x6c\\x45\\x29\\x49\\x92\\xd5\\x6c\\x4e\\x71\\x49\\x7a\\x0d\\x20\\x5b\\x72\\x8a\\x1a\\xd0\\x8c\\xd5\\x0b\\x35\\xb2\\x6c\\xc6\\x51\\x84\\x6b\\x64\\xca\\xa4\\x40\\x0a\\x0a\\xda\\xe5\\x50\\x37\\x68\\x7b\\x32\\x16\\x0b\\xb3\\x28\\x70\\x11\\xec\\x1b\\x47\\xbe\\xfd\\xb5\\x8e\\xfc\\x80\\xdb\\xe0\\x66\\x9c\\x66\\xe5\\x82\\x01\\x95\\x80\\x82\\xc5\\x03\\xd6\\xf6\\x9c\\x33\\x6e\\xda\\x5c\\xfc\\xd6\\x17\\x61\\xec\\xc1\\x22\\x60\\x60\\xda\\x11\\x49\\x98\\x7a\\xa6\\xfb\\x27\\x87\\x82\\xbb\\xa6\\x3c\\xbd\\xf7\\x09\\x58\\xbf\\xc5\\xe1\\x2b\\x42\\x33\\x80\\x8d\\xd6\\x57\\x70\\x99\\xd5\\x6a\\xad\\x96\\x77\\x3a\\x23\\xd5\\x98\\x1c\\x34\\xe5\\x07\\xab\\x1c\\x5e\\x1e\\x57\\xae\\x3c\\x02\\x14\\x53\\xc2\\x22\\x78\\xa5\\x94\\xdb\\x89\\x95\\xfb\\xc3\\x0b\\xaa\\xef\\x71\\xb8\\xc6\\x17\\x72\\x7f\\x92\\x5d\\xa5\\x15\\x59\\x81\\xd4\\x45\\x99\\x0f\\x6d\\xe4\\x17\\xb8\\xf4\\x27\\x74\\xe6\\x23\\xa1\\xc3\\x5d\\xca\\x55\\xcf\\xa9\\x0d\\x2b\\xee\\xe0\\x96\\xc0\\xf8\\x4c\\x97\\x80\\xf1\\xed\\xa8\\x69\\xc0\\x6e\\xb5\\x58\\x8c\\x46\\xa4\\x92\\x91\\xec\\x74\\x58\\x68\\xf9\\xfc\\x3e\\xf5\\xe5\\xf3\\x6f\\xe0\\x88\\xa8\\x41\\xe9\\xfc\\x42\\x0e\\xc8\\x9b\\x45\\x18\\x4e\\x42\\xe1\\xab\\x17\\x71\\x42\\xcd\\x84\\x19\\x23\\xba\\xb7\\xc0\\xc9\\x85\\x1d\\xb8\\x56\\xe4\\x33\\xf2\\xd1\\xe7\\xdf\\xd2\\x1a\\x3f\\xab\\x56\\x1f\\xf9\\x6a\\x0a\\x76\\xf5\\x1f\\x43\\xbe\\xa5\\xfb\\x92\\x03\\x38\\xfd\\x90\\x50\\x0d\\xfc\\xd9\\x07\\x72\\x66\\x86\\xc9\\x2b\\x08\\x56\\xbd\\x28\\xaa\\xdd\\x6e\\xea\\x92\\x9e\\xa1\\x4f\\x72\\x26\\x55\\x05\\x75\\x3a\\xa7\\xc9\\x6b\\x95\\xac\\xac\\x20\\xa7\\x10\\x5f\\x90\\x33\\xbf\\xf1\\x0d\\x09\\x5d\\x98\\x02\\xc6\\xac\\x95\\x7a\\x9c\\xa0\\x97\\x96\\x38\\x15\\x1a\\xc6\\xe4\\x78\\x4b\\xc4\\x97\\x00\\xf4\\x53\\xe1\\xa1\\xdf\\xbf\\x3a\\xf7\\xf9\\x0f\\x27\\x3e\\xb0\\x0f\\x1e\\x35\\x65\\xd2\\x13\\x0f\\xef\\x38\\x76\\x25\\xd0\\xaa\\xac\\x74\\xee\\x74\\xae\\x88\\xfc\\x4a\\x3e\\x32\\x90\\xb1\\xf8\\x5e\\x2d\\x4e\\xc3\\xf2\\xb7\\xd8\\x51\\xb8\\xdf\\xf5\\xe6\\xb6\\x17\\x9e\\x53\\x71\\xce\\x13\\xa7\\xc8\\xe7\\x7f\\xec\\x39\\x32\\x61\\x7e\\xe8\\x8a\\xf4\\x86\\x82\\xff\\x39\\x20\\x85\\xec\\x11\\x2a\\x41\\x52\\x1e\\x10\\x30\\xa8\\xd4\\x82\\xd1\\x2e\\x68\\x92\\x6c\\x1a\\x5b\\x6a\\x8a\\x70\\x28\\xfc\\x72\\xc0\\xa7\\x33\\x76\\x41\\x02\\x36\\x06\\xe0\\x2f\\x73\\x99\\x01\\xc1\\x47\\x10\\x64\\x9b\\x55\\xab\\xf1\\xc0\\xbe\\xba\\xfb\\x28\\x05\\x95\\x18\\xef\\x62\\xce\\x59\\x54\\xd8\\x8c\\x19\\xef\\x22\\xb9\\x1e\\xe0\\xac\\x3a\\x8b\\x41\\xa0\\x57\\x63\\x6f\\x3c\\x83\\xe5\\x18\\x83\\xc5\\xe2\\xe8\\x59\\x0f\\xe8\\xdc\\xde\\xcd\\x38\\x87\\xac\\xc6\\x5b\\xc9\\x87\\xaf\\xea\\x8b\\x45\\x75\\xa1\\xe1\\x0c\\xf9\\x10\\x1f\\x9f\\x5d\\x14\\x28\\xce\\xc8\\xc9\\xce\\xbe\\x45\\xa8\\x9c\\x48\\xf6\\x37\\xe9\\xd6\\x0e\\x57\\x84\\x7a\\xd5\\xbd\\x8b\\x9f\\xf1\\xac\\xb3\\x27\\x2d\\x4a\\x22\\xdd\\xf9\\x36\\xbf\\x4d\\x18\\x95\\x63\\x3a\\x9a\\x4c\\xe7\\xd2\\x15\\xf6\\x63\\xb9\\xd8\\x1a\\x70\\xb1\\x5d\\x20\\x15\\x69\\xb5\\x0e\\x9d\\xce\\x04\\xc0\\x5a\\x4d\\xb2\\xc9\\x9d\\xe0\\xe4\\x45\\xb3\\x11\\x39\\xf4\\x8e\\xca\\xa0\\x46\\xdf\\xb0\\x56\\x75\\x79\\x23\\x83\\x8c\\xa2\\x82\\x28\\x26\\x0c\\x89\\x6e\\x05\\xad\\x70\\x4f\\xcd\\x19\\x4e\\xb3\\x9f\\x3b\\xd3\\xbd\\xb7\\xef\\x97\\x77\\x3f\\xbb\\xf0\\xe9\\x87\\xbf\\xf4\\x1d\\x77\\xfe\\x19\\xdc\\x66\\xc9\\x78\\x6e\\x68\\x68\\xc3\\xdf\\x17\\x39\\x32\\x1e\\xdf\\xcb\\x7f\\x73\\x8d\\x9b\\x12\\x7a\\xf0\\x3f\\xeb\\x44\\xe1\\x0e\\xb6\\xbe\\xf9\\x34\\x37\\x39\\xd0\\xbd\\x2c\\xd4\\x37\\x90\\x63\\xd2\\xf0\\x0e\\x6f\\x42\\x82\\xc1\\xe1\\xd0\\xa4\\xa4\\x64\\x68\\x32\\xb2\\x73\\x9c\\x4e\\xab\\xde\\x6b\\xd0\\x1b\\xaa\\x82\\x69\\x7a\\x53\\xa2\\x55\\xa6\\x68\\x82\\x68\\x3d\\x12\\xbf\\xbf\\x41\\xa9\\xbc\\xfa\\xc2\\x94\\x51\\x10\\x95\\x63\\x2d\\x46\\xab\\xcd\\xb2\\xe2\\xad\\x4e\\xc9\\xdc\\xa8\\x2c\\xad\\x29\\xab\\x84\\x99\\xd0\\xf9\\x71\\x23\\x97\\x26\\x88\\x09\\x4b\\x47\\xae\\xdb\\x7d\\xf4\\x91\\x94\\x7b\\xda\\x14\\xe5\\x97\\x7d\\x51\\x96\\x5f\\xd4\\xe6\\x9e\\x94\\x47\\x8e\\xee\\xb6\\xad\\x9a\\x3b\\x77\\x15\\x4e\\xf9\\xe7\\x17\\x5c\\x96\\xfa\\x54\\x1e\\x59\\xb3\\xeb\\xc9\\x83\\x0f\\x9c\\x3f\\x7f\\xff\\x73\\x4f\\xee\\xc2\\xb3\\xf2\\x9e\\xf2\\x92\\x37\\x7f\\xfd\\x87\\x7c\\x19\\xd5\\xf1\\xc5\\x6d\\x51\\x1d\\x1f\\x8d\\xbb\\x84\\x90\\x2f\\xe0\\x60\\x26\\x72\\x0e\\x6f\\xb0\\xe2\\xc5\\x56\\x1c\\xb0\\xe2\\x7c\\xab\\xb9\\xde\\x42\\xce\\xac\\x14\\x51\\x9d\\x9f\\x3d\\x3b\\x2b\\xf6\\x6c\\xc2\\x41\\xa6\\xf1\\x53\\x85\\xff\\xfd\\x03\\x6e\\x57\\x44\\xe1\\xaf\\xb7\\x6b\\x30\\xfe\\xca\\x6c\\x0a\\x53\\x1a\\xd8\\x35\\x9c\\xf0\\x4c\\x0f\\xa7\\x5b\\x69\\xdf\\xc0\\xa6\\x60\\x8b\\xd9\\x14\\xa2\\xf6\\x07\\xe8\\x1f\\x27\\x3a\\x12\\x1a\\xb4\\x65\\x7b\\xc2\\xda\\xce\\x53\\xda\\x96\\x28\\x6d\\xb3\\xa1\\x6d\\xa7\\xec\\x3c\\x4d\\x46\\xb4\\x2d\\xad\\x15\\x01\\x6d\\x6f\\x13\\x3f\\x02\\xca\\x9b\\x8d\\x0a\\x61\\x0f\\x9b\\x5a\\xf3\\xf3\\x7d\\x0e\\x87\\x4b\\x4a\\xd6\\xe7\\x20\\xa4\\x97\\xf8\\xa2\\x62\\x4f\\x93\\xea\\xa0\\x29\\xb3\\x2a\\xe8\\xf2\\x98\\x3c\\x26\\x5e\\xa3\\x01\\xd5\\x4c\\x83\\xf8\\x82\\x3e\\x0d\\x85\\x72\\x7a\\x01\\x5c\\x96\\x97\\xd7\\x30\\x55\\xb6\\x3f\\x4a\\x9a\\x53\\x11\\x1c\\xf6\\xf4\\x68\\x4a\\x64\\x45\\xcf\\x54\\x72\\x09\\x2b\\x39\\xc2\\x19\\x97\\xb3\\xc6\\xcb\\x0b\\xb7\\x91\\x5f\\x2f\\x93\\x7f\\xc8\\xc5\\x7b\\x70\\xf6\\x0b\\x9b\\x9e\\x39\\xf2\\x50\\xd5\\xd6\\x7c\\x97\\x4f\\x28\\xd9\\x33\\xf8\\xf3\\xab\\xe4\\xb3\\x05\\x81\\x69\\x29\\xf6\\xe1\\x5d\\xca\\x7b\\x25\\xcc\\x9e\\x38\\x72\\xe1\\xfc\\xd1\\x93\\x67\\xe2\\xcd\\x27\\x2f\\xe1\\xdb\\xf1\\xf8\\xcb\\xb8\\xea\\x95\\xd9\\x13\\xe6\\xae\\xce\\x4c\\x6e\\xbe\\xa3\\x65\\x45\\x5a\\x69\\xd7\\x2f\\xb9\\x25\\x6d\\x9a\\xa5\\x5b\\xdc\\xbe\\xba\\xd3\\x63\\x66\\xcc\\x1c\\x3d\\x72\\xf6\\x54\\xc6\\x73\\x5c\\x30\\xef\\xdd\\x30\\xef\\x26\\xa8\\x08\\x8d\\x0f\\xb4\\xf2\\xa8\\x9c\\x3a\\x7f\\x66\\xd3\\xb4\\xb4\\x3c\\x8c\\x70\\xa6\\x4e\\x65\\x96\\x8a\\x4b\\xcc\\x06\\x9b\\xa1\\x4f\\x10\\xa7\\x35\\x4d\\x03\\x09\\xae\\x29\\xb2\\x99\\x6c\\xa0\\x9c\\xda\\x9a\\xda\\x9a\\x8a\\x39\\x39\\xcd\\xab\\x83\\x39\\x48\\x4c\\xee\\x13\\x97\\xb0\\xb5\\xbe\\x54\\x40\\xb4\\x50\\x40\\xc3\\x82\\x59\\xd1\\x04\\x50\\x12\\xa7\\x38\\x50\\x95\\xb0\\x08\\x29\\x29\\x52\\x85\\xd1\\x26\\x2b\\x13\\x6f\\x8b\\x4b\\xd2\\xd2\\x99\\x7b\\x55\\xaa\\xd9\\xef\\x8d\\x2e\\x88\\xb0\\x7b\\xba\\x6e\\xdd\\x37\\xf7\\x3f\\x7f\\xc4\\x68\\x6c\\x69\\xef\\xe8\\xec\\x3f\\x61\\xcc\\x34\\xa3\\xb1\\x53\\x79\\xaf\\x05\\x3d\\x85\\x47\\xc9\\x5f\\x4b\\xce\\xed\\xc1\\x8f\\x4e\\x27\\x77\\x57\\xdf\\xd2\\xb1\\xe7\\x4e\\xee\\xf5\\x4b\\xe4\\xa9\\x47\\xee\\x58\\x91\\xdb\\xad\\x6b\\x7a\\x81\\xc3\\x7c\\xa2\\x60\\x74\\xb0\\x49\\xf7\\xee\\x4d\\x2b\\x8a\\x6f\\xfb\\xfb\\x81\\x31\\x2f\\x2d\\xde\\xf9\\x7a\\xe8\\xf8\\xb1\\xdd\\x9d\\x3a\\x8d\\x9a\\xa3\\xd0\\x47\\x23\\xc8\\xcb\\x1f\\x89\\x41\\x64\\x43\\xb9\\x01\\x07\\xe6\\x04\\xce\\xae\\x77\\x68\\xcc\\x43\\x83\\x1a\\x41\\xa2\\xb5\\x10\\x05\\x9e\\xa3\\xe6\\x50\\x20\\x74\\x30\\x43\\xac\\x88\\xa8\\xd1\\xab\\x37\\x6c\\x55\\x42\\x4e\\x15\\x35\\x5a\\xe6\\x5e\\x27\\xe7\\xc8\\x24\\xf8\\x9a\\x7b\\xb4\\xcd\\xc2\\x7e\\x5d\\xc6\\xb4\\x99\\x93\\x94\\x6e\\x73\\xe7\\x25\\x73\\xcd\\x42\\xef\\x73\\xcd\\x78\\x67\\xe8\\x2d\\x3c\\x6a\\xc9\\xf0\\x92\\xea\\x6d\\x29\\x96\\x7c\\x76\\xb7\\x42\\x56\\xb1\\xb1\\x4f\\x01\\x9e\\x2e\\x45\\x34\\x8b\\x6b\\x8b\\xd0\\xd3\\xec\\x5c\\x30\\x98\\xa4\\xbb\\x95\\xef\\x15\\x1b\\x21\\xfa\\x1d\\x69\\x0e\\x70\\x38\\x51\\xcc\\xa4\\xc7\\x87\\x9e\\x1d\\xa5\\x5e\\xb4\\x45\\xe2\\xca\\xd8\\x7e\\x36\\x83\\xfd\\xdc\\xce\\xf8\\x24\\xcd\\x0e\\x9d\\x95\\x21\\xa6\\x24\\x3a\\x2c\\x16\\x7b\\x22\\x27\\x8a\\x4d\\x9b\\xa4\\x25\\x18\\x41\\xf6\\xd2\\xea\\x74\\xc6\\xa4\\x24\\xa4\\x32\\x3a\\x72\\x78\\x3b\\xb2\\xf7\\x51\\xea\\xf4\\x28\\xf9\\xae\\x95\\x6a\\x72\\xe6\\x1b\\xcb\\x3a\\xd2\\xd4\\x05\\x8e\\x48\\x35\\x80\\x28\\x21\\x2a\\xf1\\x59\\x6f\\xac\\x8e\\xed\\x35\\xe0\\x16\\xc2\\xd8\\xda\\x51\\xbb\\xd6\\x47\\x28\\xd1\\xfa\\x5d\\xa3\\x47\\xfc\\x10\\x23\\x44\\xad\\xfc\\xa4\\x8b\\xbf\\xa5\\xd0\\xf2\\xe4\\x43\\xef\\xfd\\x45\\xbe\\x63\\x04\\xc9\\xf9\\xd7\\x07\\x0f\\x92\\xbb\\x28\\x31\\x5a\\xbe\\x9c\\x12\\xa3\\x79\\x47\\x8b\\x8b\\x8f\\x2a\\xb6\\xa6\\xfe\\xc2\\x6e\\xa1\\x1d\\x2a\\x40\\xb7\\x04\\xf2\\xcd\\x62\\x73\\x77\\x93\\xd4\\x54\\xa7\\x3b\\x53\\xe4\\xb4\\xb2\\xbf\\x30\\x25\\xa9\\x69\\x52\\x75\\xb0\\xa9\\x3d\\x2b\\xc7\\x97\\x53\\x1d\\xf4\\x79\\xec\\x88\\x73\\x18\\x35\\x2a\\x56\\x74\\xd8\\xc8\\xd9\\x63\\xd9\\xbc\\x61\\xab\\x6e\\xac\\xdc\\xa6\\xcc\\x09\\xf8\\x14\\xd5\\x77\\x68\\x09\\xd0\\xfa\\xec\\x8d\\x4e\\xec\\x95\\x94\\x2a\\x86\\x25\\x0d\\x13\\xb9\\x53\\x85\\xa3\\x84\\xbf\\x85\\xb8\\xc8\\x27\\x03\\x86\\x97\\x94\\x66\\x67\\x27\\x39\\x86\\xe6\\x2c\\x5a\\x93\\x5e\\x2c\\xe2\\x2f\\x70\\xd9\\x80\\xf1\\x25\\xad\\x72\\xda\\xad\\xdc\\xc6\\x82\\x26\\x3b\\x75\\x1f\\x34\\x2c\\xc8\\x1d\\x0d\\xb5\\xbb\\x1d\\x07\\x1f\\x9d\\x3c\\xc2\\xf0\\xa5\\xca\\xb0\\x7f\\x77\\xf7\\xc7\\x96\\x72\\xdc\\xa9\\x95\\xe4\\xfe\\x87\\xa7\\x0c\\x4f\\x20\\xaf\\x3d\\xff\\x10\\x8d\\xaa\\x6c\\xd7\\xba\\x9b\\xf3\\xa9\\xb5\\x8f\\x9f\\x62\\x7b\\xd7\\x05\\xe6\\xbb\\x42\\x1c\\x08\\x3a\\x9b\\x0b\\xf9\\x03\\x6e\\xa3\\x20\\x8a\\xc8\\x0a\\xc2\\xb3\\x3b\\x41\\x67\\xae\\x09\\xea\\x04\\xc9\\x51\\x0b\\xc2\\x85\\x25\\x52\\xed\\x3b\\x4e\\xdf\\x88\\xfa\\x98\\x50\\x81\\x82\\xd6\\xd4\\x8a\\x5c\\x9d\\xd1\\x0a\\x04\\x0a\\x11\\x59\\xf1\\xe6\\xcb\\xe4\\xec\\xb1\\x93\\x38\\x01\\x4b\\xf0\\xe3\\x22\\x1f\\xfd\\x76\\x6d\\xfe\\xdc\\xb9\\xf3\\xb8\\x5d\\x80\\xaa\\x8f\\x37\\x23\\x03\\xf1\\x23\\x4d\\x71\\x7f\\x9c\\x85\\x83\\x78\\x20\\x79\\x94\\xec\\xc2\\x27\\x49\\xd1\\xe5\\x1f\\x7f\\xa4\\x30\\x31\\xfc\\x02\\xb9\\x59\\x4f\\x3d\\xfc\\x03\\x6e\\x9a\\x3c\\x49\\x30\\xa8\\x05\\xb5\\xdb\\x23\\x9b\\x41\\xe4\\x33\\x61\\x27\\x88\\x3e\\x58\\x31\\x92\\xdc\\x14\\x26\\x5a\\xe2\\x8b\\x2a\\x41\\x66\\x5a\\x5f\\x2c\\x9e\\xb2\\xe1\\x4f\\x0f\\xbd\\xce\\xb4\\xa0\\x57\\x5f\\xe8\\x4f\\xd5\\xa0\\xf1\\x53\\x17\\x4e\\xa6\\x85\\x5a\\xd2\\x71\\xf2\\x45\\x45\\x09\\xfa\\x8a\\x7c\\x9d\\x45\\x06\\xf3\\xaf\\xbf\\xfc\\xf4\\xd3\\x2f\\x1f\\x3e\\xf8\\x14\\x3b\\xa7\\x95\\x30\\xfe\\x9d\\xb0\\x46\\x0e\\x54\\x1c\\x48\\x34\\xc5\\x72\\x66\\x5a\\x71\\x6d\\x50\\x2b\\x5b\\xad\\x48\\x96\\xf5\\x35\\xb4\\xe2\\x98\\xa5\\xbe\\xe2\\x58\\x7c\\x09\\xfa\\x48\\xcd\\x31\\x5a\\xeb\\x59\\x70\\x8a\\x31\\x60\\x4a\\xcc\\x9c\\xfa\\xdd\\xef\\x70\\x26\\x0a\\x7f\\x80\\xc5\\x00\\xa9\\x6b\\xfb\\xce\\xac\\xb5\\x0f\\xde\\xd7\\xa6\\x1d\\x0a\\x7b\\x71\\xe6\\x97\\x18\\xe3\\x82\\x17\\xde\\xe9\\xfc\\xcd\\xc1\\x7b\\xb7\\x3f\\x66\\x23\\x7a\\x06\\xc7\\x24\\x58\\x97\\x9e\\xb0\\x2e\\x4d\\x00\\x8e\\x24\\xbb\\x0a\\xa5\\x18\\x52\\x32\\x55\\x42\\xd3\\x66\\x46\\x3b\\xe2\\xd3\\xb5\\xe9\\xb9\\xd5\\xc1\\x74\\x8f\\xd6\\x02\\x87\\xcd\\x14\\xef\\x1c\\x14\\x07\\x87\\x48\\x53\\x49\\xf1\\x45\\x0d\\xaa\\x7d\\xb1\\x54\\x52\\x3c\\x2d\\xa3\\x49\\x83\\x47\\x19\\x2f\\xe0\\x5b\\x04\\xfa\\xef\\xd9\\xbf\\xa8\\x67\\x9c\\x7f\\xd3\\xf8\\x49\\xb9\\x95\\x53\\x3b\\x77\\x5b\\x33\\x3e\\xd0\\x65\\xf1\\xfe\\x59\\x47\\x3e\\xec\\xf6\\xc9\\xa0\\xf9\\xb3\\x46\\xe4\\x36\\x77\\xe6\\x76\\x9a\\xfc\\xf4\\x32\\xac\\xc2\\xd9\\xcc\\xcf\\xe9\\xb1\\x9d\\xb7\\x4c\\xa8\\x68\\xe2\\x70\\xe6\\x77\\x99\\x74\\x4b\\xbb\\x65\\x83\\x5b\\x34\\xff\\x36\\x31\\xa3\\x35\\x83\\x7d\\x17\\xac\\x61\\x35\\xf3\\x17\\x69\\x19\\x48\\x46\\x5a\\x35\\x75\\x11\\xd1\\x4a\\xbc\\x5e\\xa7\\xe6\\x6a\\x82\\x20\\xd2\\xaa\\x01\\xf1\\x54\\xf4\\xce\\x5a\\xb0\\xc4\\x17\\x7f\\x69\\x54\\xd6\\xb9\\x88\\x5d\\x01\\xb2\\x6b\\x6c\\xde\\x46\\x5e\\x20\\x67\\xf9\\x27\\x42\\x0b\\xb8\\x89\\xb8\\xfd\\x8b\\x84\\xa7\\x8e\\x2a\\x8b\\x49\\x2d\\x8c\\xb5\\x16\\xd6\\xa9\\x2d\\xab\\x67\\x04\\x63\\xd1\\x91\\x90\\x56\\xd6\\x0a\\xbc\\x4e\\xaf\\xe6\\x2a\\x63\\x63\\x01\\xfb\\x30\\x32\\x91\\xf9\\x5f\\xc6\\xca\\x88\\x1f\\xab\\x37\\xe9\\x4d\\x7e\\xe2\\xf7\\x85\\x86\\x72\\x33\\x07\\x1c\\x0d\\x05\\xc4\\x8b\\x27\\xc9\\x64\\x32\\x8f\\xce\\xcb\\x0e\\xb4\\x6f\\x1f\\xe0\\x46\\x1e\\xad\\xf4\\x95\\xe5\\x31\\x8b\\x5a\\x24\\x7a\\x1c\\xa9\\x52\\x93\\xa6\\xa9\\xc9\\xe9\\xc9\\xb5\\xc1\\x5c\\x5b\\x9e\\x1d\\x7e\\x0c\\xe9\\x02\\xa5\\x13\\xb5\\x41\\x83\\x15\\xd5\\x13\\x89\\xfc\\xfc\\xc6\\x45\\x2e\\xa8\\x17\\xab\\x1c\\x0b\\xb5\\x8d\\x14\\xe0\\xb5\\x96\\xe0\\xac\\xe2\\x92\\x28\\xd9\\x28\\x8a\\x91\\x0d\\x2c\\x4c\\xf7\\x38\\x72\\x3d\\x4d\\x9b\\xa6\\xb4\\xf6\\xce\\x4c\\x99\\xb9\\xae\\x58\\x1d\\xea\\x96\\x6e\\xf7\\x38\\xd3\\x23\\xdf\\xcc\\x5e\\x6b\\x49\\xe2\\xf6\\x09\\x67\\x5f\\x5e\\x1a\\xfe\\xa3\\x5b\\x65\\x47\\xcb\\x47\\x1a\\xed\\xe2\\x51\\x77\\xe3\\xaa\\xe2\\xd0\\x9b\\xc6\\xad\\x0f\\xac\\xc6\\x78\\x6c\\xe4\\xcb\\x11\\x6d\\x9f\\x7e\\x86\\x33\\xb1\\x7d\\x2a\\x62\\xfe\\x48\\x34\\x4e\\x05\\x78\\x92\\x8a\\x26\\x52\\xe5\\x64\\x41\\xd0\\x68\\x55\\x02\\x2d\\x5e\\xc1\\x49\\x88\\x91\\xb9\\x46\\xd5\\xec\\xd4\\xd8\\x67\\xf5\\x16\\x61\\x3f\\xef\\x15\\x36\\x91\\x73\\xdf\\x5f\\xa8\\x7b\\x1b\\xe7\\x7c\\xff\\x3d\\xdf\\x92\\x4f\\xae\\xfb\\x8a\\x1b\\xd7\\x02\\x98\\xcb\\x32\\xda\\xb7\\x8a\\x04\\x41\\x86\\x1e\\x08\\xfa\\x40\\x7e\\xc0\\xe3\\x34\\x18\\xdc\\x28\\xc1\\x9c\\x2c\\xc9\\x29\\xa9\\x48\\x74\\x27\\xb9\\x44\\x8d\\xd9\\xa3\\xe1\\x29\\xf7\\x8b\\x18\\xcb\\x9d\\xf5\\x85\\x36\\xb1\\x62\\x31\\xa3\\xf1\\x3a\\x82\\x85\\x52\\x9a\\x92\\xb6\\x5c\\x1b\\x2c\\x66\\x65\\x64\\x66\\x89\\x59\\xdc\\x9e\\xec\\xf1\\xdd\\xd7\\x6e\\xd9\\x3e\\xf5\\xde\\xad\\xc1\\x97\\x70\\xfa\\x76\\xb2\\x90\\x6c\\x96\\x9e\\x79\\x65\\x20\\x79\\x62\\x08\\xde\\xe6\\x68\\x4a\\xba\\x8c\\xe4\\xdf\\xe8\\x5e\\xf1\\xc8\\xfe\\x51\\x83\\xfc\\xbf\\x91\\x0a\\xf2\\x3d\\x99\\x4a\\xaa\\x3f\\xb0\\x2c\\xfa\\xf5\\xb8\\x70\\xea\\xe0\\xcf\\x93\\xfa\\xff\\xbd\\x8f\\xc2\\x96\\x42\\xfa\\x09\\xeb\\xc4\\x0f\\xe0\\x8c\\xe7\\x04\\x5c\\xc8\\x6c\\xe6\\x44\\xbb\\xac\\x11\\xd4\\x3a\\xb5\\xd3\\xa5\\x11\\x55\\xbc\\xa0\\xb7\\x7b\\xf4\\x48\\xe1\\xc6\\x31\\xa8\\x32\\x0a\\xb3\\x22\\x20\\x64\\x64\\x66\\x94\\xc0\\xf9\\xa7\\xf4\\x46\\xb4\\xf0\\xcb\\x9c\\x64\\x79\\x0d\\xde\\x91\\xd6\\x92\\xd4\\x0e\\xc1\\xd3\\xde\\x20\\x5b\\x77\\xe1\\xb1\\x78\\xeb\\xb1\\x54\\x37\\xf9\\xac\\xcf\\xc2\\xf5\\xcb\\x5f\\x7c\\xe3\\x9d\\x41\\x43\\x4e\\x1d\\x7d\\xfe\\xf8\\xbc\\xd7\\xd6\\x91\\x1d\\x24\\x8d\\x3c\\x35\\x91\\x7c\\x31\\xad\\x06\\xbb\\x29\\x1c\\x9d\\x01\\x77\\x17\\xc1\\x39\\xc9\\x45\\x9d\\x03\\x19\\x36\\x73\\x92\\x5b\\xcc\\xcc\\xf4\\xb9\\xcd\\x48\\xcc\\x6b\\x22\\x69\\xb5\\x86\\x74\\x8f\\x85\\x4f\\x75\\x1a\\x9c\\xc3\\x82\\x6a\\xc0\\x24\\x5c\\xa3\\xa4\\x83\\xaf\\xaf\\xa5\\xe1\\xf7\\x37\\x48\\xd9\\x1d\\xb9\\x9c\\xa7\\xac\\x84\\x45\\x46\\x47\\x94\\x60\\x7f\\x44\\x31\\x6d\\xf0\\x06\\xfe\\xaf\\x33\\x6f\\x6d\\xd7\\x3c\\x6b\\x54\\xd5\\xfa\\xe2\\x82\\xe9\\xd5\\x33\\x66\\x5e\\xc9\\x69\\xd6\\xb4\\xe4\\xfb\\xac\\xe6\\x4d\\x4a\\x7f\\x68\\x3a\\x38\\x48\\xfa\\x7f\\x53\\xbd\\x6c\\x46\\x55\\xb7\\x9d\\x95\\xd5\\xc7\\xde\\xe1\\xdf\\xac\\x9b\\x74\\xf7\\x92\\x6d\\xcb\\xf8\\x15\\x75\\x93\\xd6\\xaf\\xa0\\x7f\\xff\\x79\\x79\\xfb\\x0b\\xb7\\x28\\x72\\x4d\\x3b\\x98\\xc3\\x52\\x38\\x7f\\xb9\\xa8\\x67\\x20\\xdb\\xe3\\xf2\\xa5\\xea\\x34\\x1a\\x84\\xb2\\x53\\x5d\\x22\\xcc\\x02\\x24\\x01\\x8b\\x3d\\xc7\\x9b\\x60\\xcc\\x48\\xb2\\x03\\x33\\x35\\xda\\x1d\\xa2\\x04\\x67\\xf1\\xc6\\x69\\x34\\x9c\\x07\\x5b\\x6f\\x0a\\xa3\\x57\\x99\\x0e\\x93\\x07\\x32\\xeb\\x27\\x14\\xcd\\x6c\\x1f\\xf9\\x2b\\x2c\\xf5\\x8f\\x1f\\x5d\\x77\\x9c\\x57\\x75\\x03\\x24\\x1c\\x77\\x6b\\xbf\\x61\\xd6\\xf4\\xc9\\xb7\\x4e\\x9c\\xf1\\xf5\\xa0\\xfc\\x56\\x97\\x06\\x35\\x6f\\x79\\x49\\xb3\\xe3\\xa5\\x7e\\x6f\\x8f\\xbb\\x7d\\xe7\\xa8\\x91\\xe3\\xa6\\xcf\\x18\\xfb\\xd1\\x49\\xee\\xe9\\xd0\\x83\\xe4\\xe2\\xee\\x65\\x5c\\x15\\xfd\\xfb\\xd4\\x1a\\xae\\x23\\xcc\\xa3\\x2f\\xf3\\x4f\\xe8\\x87\\xdc\\xb4\\x3e\\x35\\x32\\x8a\\x6a\\xb5\\x4a\\x65\\x37\\xf2\\x9e\\x44\\x87\\xcb\\xea\\xaa\\x0d\\x5a\\x05\\x1d\\x5f\\x1b\\xd4\\xe8\\x74\\x92\\xda\\x22\\xf1\\xca\\xa9\\x28\\x8b\\x26\\xe5\\x6f\\x74\\xa7\\xc0\\xe8\\x3d\\x25\\x25\\x8a\\xfc\\xc9\\xdc\\x7d\\xa9\\x05\\x47\\xc2\\x0b\\x47\\xce\\x1b\\x3a\\x14\\x67\\x91\\xb3\\xf7\\x2d\\x7f\\xf7\\xfc\\xd8\\x97\\x67\\xb7\\xee\\xe9\\xcb\\x74\\x0c\\xe8\\xca\\x3f\\xb2\\x68\\x41\\x31\\x37\\xf2\\x9f\\x17\\x39\\x63\\xe0\\xea\\xe5\\x15\\xc7\\xc6\\x99\\xdf\\x97\\xc7\\xd1\\x9c\\x65\\x00\\x53\\xa1\\xf8\\x21\\x4a\\x44\\x6d\\x02\\xa9\\x56\\x29\\x01\\xa1\\xc4\\x44\\xd0\\x14\\x92\\x92\\xdd\\x48\\x6f\\x54\\x1b\\xab\\x83\\x82\\xa3\\x3a\\x88\\xd5\\x02\\x8d\\xd4\\xa4\\x27\\x95\\x8a\\x56\\x79\\x91\\x2a\\x01\\xf1\\x20\\x29\\x85\\xf7\\x12\\xb0\\xc9\\x1b\\x49\\xaa\\x2f\\xc5\\xd5\\x32\\xe0\\x3d\\x6d\\xb7\\x0f\\x23\\x4f\\xe0\\x76\\x9e\\x25\\xe9\\x2d\\xf3\\x03\\xe5\\xfd\\xfa\\xd5\\x4c\\xc1\\x09\\xdc\\xb0\\xd9\\x13\\xf1\\x0e\\xdc\\x09\\x4f\\xd1\\xc8\\x1f\\xeb\\x7a\\x76\\x3c\\xb7\\xeb\\xbe\\x43\\xf7\\x72\\xf9\\xff\\x14\\xd2\\x3d\\xbf\\x8b\\xe9\\xc7\\x15\\xc0\\xb1\\xcb\\x02\\x49\\x6a\\x51\\x94\\xac\\xc8\\x68\\x35\\xba\\x3d\\x56\\xdb\\xb0\\xa0\\xd5\\xa3\\xe3\\x6a\\x83\\x6a\\x58\\x28\\x19\\x44\\x89\\x06\\x0b\\x15\\x57\\x81\\x8d\\xca\\x12\\x70\\xc8\\xd9\\x2a\\xd1\\xf5\\xb1\\x30\\x83\\x12\\xec\\x76\\x5b\\x8e\\x1f\\x78\\x71\\xe4\\x40\\x72\\x16\\x67\\x75\\x5f\\x52\\x79\\xf2\\x6b\\xf2\\x0e\\xf9\\x80\\x4c\\xc0\\xd5\\xd3\\x56\\x55\\xe7\\xe1\\x76\\x78\\x8e\\x3f\\x34\\x4f\\xac\\x20\\x96\\xd4\\x24\\x72\\x82\\x5c\\x24\\x1b\\xc9\\xaa\\xb7\\xdb\\x2d\\x7a\\x8f\\xca\\x11\\xa9\\x40\\x9b\\x9f\\x13\\x66\\xa3\\x1c\\xe4\\x47\\x55\\x81\\x66\\xb9\\x5e\\x8f\\x80\\x04\\x2e\\x2b\\xdf\\x6b\\x94\\x0b\\x8b\\xac\\xba\\xea\\x60\\x72\\xd3\\x3e\\xc1\\xac\\xe4\\x74\\x6b\\xb2\\x35\\xd9\\x98\\x9e\\x5e\\x50\\x19\\xcc\\x49\\x37\\x19\\xed\\xb2\\xab\\xbe\\x6c\\x67\\xf9\\x89\\xb8\\x7a\\x99\\xf1\\x2a\\x16\\x23\\xd4\\x0e\\x3b\\xbd\\xfb\\xc8\\x8a\\x84\\x38\\xc7\\x22\\xe2\\x8b\\xea\\xc3\\x34\\x1c\\xce\\xe2\\x12\\x65\\xf7\\x69\\x23\\xe1\\xb9\\x66\\x7d\\x5b\\x5f\\xfe\\x74\\xde\\xf0\\x56\\xc5\\xce\\xaa\\x73\\x15\\xf3\\xbb\\xb6\\x1a\\x58\\x59\\xed\\x1f\\xda\\x9f\\x7b\\xec\\xd1\\x3d\\xc7\\xfe\\x3a\\x33\\x78\\x4f\\x87\\xe2\\xe2\\xd0\\xe4\\x6e\\xdd\\x57\\x8f\\x4f\\x9d\\x52\\x71\\x80\\x3f\\xdb\\x79\\xc8\\xac\\x2d\\xe4\\x0a\\xf9\\xa2\\x2c\\xcd\\x39\\x64\\xe0\\x86\\xea\\x8c\\xa6\\x19\\x0f\\x3d\\xd3\\x69\\xfa\\x5d\\x4b\\xb6\\x1e\\x68\\xd5\\xbc\\x53\\x2f\\xf2\\x48\\xb3\\xb2\\x79\\x4d\\x0b\\x94\\x33\\x17\\x80\\xb9\\x6e\\x05\\xda\\xda\\x1c\\xb5\\x0a\\xa4\\xa6\\xe7\\x69\\x1c\\xa0\\xa3\\x9a\\x1c\\x79\\x42\\x41\\x0b\\x8d\\x31\\x3b\\x59\\x68\\x66\\x6d\\xe6\\xad\\x0d\\x36\\xb3\\x5a\\xf5\\xb0\\x1d\\xc2\\x4d\\xc5\\x03\\x46\\x2b\\x0a\\xdb\\xf2\\x40\\x5a\\x15\\x46\\xc3\\x5c\\x85\\x05\\x2a\\x19\\x44\\x39\\x12\\x13\\xb6\\x33\\xa8\\x65\\x9c\\x46\\x5a\\x04\\xf2\\xba\\x8d\\x9c\\xb7\\xe1\\xee\\x81\\x45\\x93\\xc7\\xbf\\xd4\\x84\\x7c\\x95\\x51\\x77\\xe1\\x32\\x4e\\x28\\x1b\\xbf\\xff\\xc3\\x89\\x93\\x16\\x2d\\x5f\\xbf\\xde\\x90\\x86\\xb9\\x5c\\x2f\\xf9\\x84\\xfc\\x4e\\xae\\x93\\x4f\\xf1\\xca\\xae\\x53\\x6f\\x29\\x6f\\x9e\\x95\\xd9\\xa4\\x5d\\x8b\\x6e\\xbd\\x9f\\x4b\\x7a\\x61\\xef\\xa9\\xa7\\x2b\\x97\\xd6\\xf4\\xf2\\x7b\\x06\\xb5\\x0b\\xf6\\xed\\x3f\\x24\\xa5\\xb0\\x4d\\xf7\\x0e\\x33\\xcb\\x0e\\xbc\\xa1\\xe4\\x59\\x42\\x43\\x98\\x3d\\x60\\x20\\xd0\\x90\\x92\\x40\\x72\\xba\\x64\\x4a\\x4c\\x44\\x0e\\x49\\xc8\\x6b\\x92\\x9b\\x6e\\x37\\x09\\x09\\x7c\\x82\\xb5\\x4f\\x30\\x41\\xe0\\xb3\\xaa\\x1b\\x28\\xc2\\x0d\\x84\\x1d\\x7a\\x01\\x9f\\x9a\\x5e\\xf4\\x3f\\x66\\x54\\x22\\x0c\\x58\\xf8\\xcc\\x7c\\xc0\\x9b\\x93\\xff\\x3e\\x9b\\xf5\\x5b\\xa6\\xbd\\x3a\\xbf\\x4d\\x73\\xef\\xd9\\x63\\xff\\x3e\\x87\\xc1\\x95\\x79\\x85\\x14\\xe7\\x80\\xd0\\x09\\xc7\\x59\\x0d\\x3c\\x1f\\xea\\x12\\xc8\\xf6\\x99\\xbd\\x26\\xc9\\x64\\x40\\x69\\x56\\xb3\\x47\\x95\\x9e\\xa1\\x71\\x26\\x39\\x6b\\x83\\xb2\\x1b\\xb9\\xd3\\x78\\xb3\\x90\\x24\\x58\\x8c\\x3e\\xb3\\xaf\\x36\\x68\\xb6\\xc4\\x29\\x43\\xce\\xc6\\xaa\\x10\\xcd\\x9a\\xaa\\x10\\x0c\\x26\\xb1\\x19\\x31\\xf5\\x57\\x53\\x2e\\x91\\x24\\x25\\xc3\\x94\\xd3\\xaa\\xc5\\xdc\\x68\\x4f\\x60\\xd9\\xec\\x0d\\x73\\x3a\\xfb\\xaa\\xf2\\x8a\\x5a\\x79\\x87\\xe2\\xda\\xba\\x02\\x3c\\xb4\\x26\\xb5\\x75\\x51\\x5e\\x95\\xaf\\xf3\\x9c\\x0d\\xb3\\x96\\xb5\\xfb\\xfd\\xdc\\x39\\xa1\\x4b\\xd1\\x6d\\x35\\xa3\\x8e\\x25\\xe6\\x67\\x97\\xbf\\x14\\x9a\\xfa\\xd6\\x5b\\xdc\\xfa\\x97\\xca\\xb3\\xf3\\x13\\x8f\\x8d\\x1a\\xb2\\xa8\\xae\\x1f\\x7e\\x90\\x30\\xff\\x74\\x01\\xe6\\xf0\\x2e\\xc8\\x99\\xc9\\xc8\\x0b\\xe7\\x26\\x2f\\x35\\xc1\\x94\\xa2\\xf7\\x4a\\xb4\\x9c\\x99\\xc5\\x24\\xa6\\xf9\\xd4\\x0e\\x0f\\xd0\\x18\\xd9\\x85\\x5c\\x29\\xbc\\x49\\xf0\\x98\\xf4\\x16\\xb3\\x21\\xd5\\x94\\x5a\\x19\\x34\\xd9\\xa3\\xd3\\xc8\\xf7\\xdf\\x38\\x91\\x58\\xb0\\x64\\x49\\x3d\\xf5\\x8b\\x9f\\x4b\\x74\\x2a\\xbc\\x97\\x1b\\xd7\\xbd\\xed\\xc2\\xaa\\x4d\\xb3\\x3b\\xf7\\xeb\\x5a\\xda\\x3d\\xad\\x0a\\xf7\\xad\\xeb\\x88\\xfb\\x54\\xa6\\xf6\\x2c\\xed\\xda\\xaf\\xf3\\xec\\x4d\\x55\\x0b\\xdb\\x76\\x7f\\x09\\xcf\\xe3\\xbb\\x8c\\xea\\xdb\\x63\\xec\\xc9\\xce\\x85\\xcd\\xa7\\x11\\xff\\x91\\x23\\xf8\\xed\\x69\\xcd\\x8a\\x3b\\x9f\\x1c\\xdb\\xa3\\x2f\\x71\\x2b\\xfe\\x3d\\xca\\x5d\\xfd\\x32\\x90\\x65\\x9c\\x28\\x0d\\xb5\\x0b\\xa4\\x89\\xc9\\xc9\\x66\\x97\\x56\\x8b\\xcc\\xbc\\x2f\\x5d\\xe5\\x01\\x59\\xd3\\xa0\\x52\\x39\\x0c\\x0e\\x3c\\x34\\xe8\\x40\\x06\\x6f\\x8d\\x22\\x9a\\xc5\\xdf\\x6e\\x37\\x12\\x3e\\x59\\x71\\x71\\xe6\\x3e\\x6f\\x8f\\x38\\x0b\\x5a\\x8a\\xd3\\xbd\\x7e\\x3e\\xa6\\x5f\\xa4\\x0a\\xb6\\xbb\\x8e\\x7f\\x39\\xd5\\x52\\xb2\\x7d\\xc8\\x8f\\x58\\x26\\x5f\\x93\\x10\\x09\\x93\\x6f\\x07\\xbc\\x80\\x5b\\x63\\x4f\\xcd\\x03\\xab\\xd7\\xac\\x5d\\xbd\\x76\\x25\\xb6\\x0b\\x9f\\xfb\\xa7\\x4d\\xcb\\xf3\\x93\\xef\\x68\\xfd\\xd5\\x0b\\xb8\\x1a\\x97\\xa1\\x30\\xee\\x78\\xb8\\x5f\\x5d\\xc5\\xb6\\xbb\\xef\\xd9\\xba\\xe3\\x21\\x05\\xff\\x07\\xb1\\x18\\x81\\x3e\\xb0\\x03\\xe5\\x01\\xe0\\x1a\\x4e\\x10\\x66\\x13\\x25\\x21\\xcd\\x97\\xe8\\x4e\\x71\\x57\\x06\\x53\\x52\\x78\\xb5\\x5a\\xd7\\xe7\\xc6\\xab\\x20\\xe5\\x02\\xa1\\x21\\xf2\\x44\\xad\\xf3\\x5e\\xbf\\x1d\\xa6\\x10\\xab\\x96\\xcf\\x64\\x49\\xba\\xe4\\x42\\x0d\\xf9\\xe5\\xef\\x6b\\xe4\\x2f\\xbc\\x0b\\xaf\\x3b\\x7d\\xf4\\xc4\\xcb\\xd3\\xcb\\x16\\xde\\x36\\x65\\xce\\xf0\\x21\\x1d\\x3b\\x0c\\xaf\\x3d\\xfe\\x0e\\x9e\\x7f\\xe4\\x3d\\x9c\\x86\\x05\\x9c\\x82\\xd3\\x4e\\xe7\\x0f\\xdf\\x32\\xf1\\x81\\x47\\x86\\x0c\\xa9\\xea\\x6f\\x7f\\xc3\\xfe\\x2c\\xbb\\xc7\\x06\\x5c\\x19\\x2c\\x2e\\x01\\x38\\x3b\\x06\\x00\\xc9\\x9d\\xc9\\x5a\\xad\\x47\\x27\\x21\\xa4\\x73\\xf2\\x69\\x3e\\x8d\\xc1\\x6d\\xa8\\x09\\x26\\xbb\\x79\\x9b\\xcd\\xed\\xd6\\x25\\x0a\\xba\\x28\\xf1\\x37\\xfb\\xcd\\x37\\x71\\xf0\\x52\\xdc\\x4b\\xd8\\x4d\\x07\\xf5\\x57\\xf3\\x9a\\xd9\\xba\\x52\\xb4\\x8f\\x14\\x3b\\x35\\x53\\x68\\x07\\x1b\\xd4\\x7b\\x0c\\x6d\\x7b\\x65\\x90\\x2f\\x33\\x7b\\x96\\x1b\\xf6\\x68\\xf4\\xbb\\xef\\xcf\\xc2\\x29\\x99\\x5b\\x1f\\xe6\\x9d\\xa9\\x13\\x93\\x72\\x4a\\x93\\xca\\x4b\\xeb\\xb6\\xf1\\xc3\\xca\\xda\\x26\\x95\\xe6\\x78\\x27\\x24\\x3d\\xb0\\x11\\xb7\\x25\\xc7\\x1e\\xa0\\xb0\\x52\\xff\\x6f\\x8e\\xf9\\x6e\\xf4\\x0a\\x64\\x4a\\x3c\\xaf\\x92\\x65\\x41\\x4b\\x1d\\xec\\x05\\xad\\x4e\\x2f\\xc3\\x1f\\xc4\\xd3\\x3a\\x44\\x6a\\x49\\x80\\x1f\\x4e\\x23\\x2a\\x2a\\xbd\\xbf\\x81\\x8f\\x9d\\xab\\x91\\x41\\xb7\\x20\\x9a\\xb3\\x5d\\x2c\\x12\\x79\\x2f\\x9f\\x61\\xe7\\x7e\\x70\\x7c\\xe9\\x20\\x57\\xb0\\xdb\\x89\\x5b\\x38\\xb1\\x87\\xef\\x5f\\xf7\\x18\\xdf\\xdf\\x41\\xac\\x78\\x07\\x19\\x6a\\x25\\x8a\\x3f\\x0b\\xb5\\x7f\\x09\\xed\\x50\\x36\\x6a\\x1f\\x48\\x37\\x8b\\x99\\xee\\x54\\xa7\\x5b\\xe4\\xb4\\x52\\x4e\\x6e\\x4a\\x92\\x0f\\x64\\x22\\x9f\\xe3\\x7f\\x19\\x16\\x1a\\xc8\\xde\\xff\\xdd\\xa0\\xe0\\x8c\\x28\\x11\\xff\\xd5\\x8c\\x40\\xbf\\x72\\x0e\\xcf\\x58\\xb4\\xe6\\xbf\\x58\\x10\\xa2\\xdf\\x50\\xc3\\x01\\x87\\x40\\x1c\\x14\\x16\\x00\\x8d\\x48\\x42\\x59\\xa8\\x34\\x90\\x24\\xf9\\x7c\\x2e\\xe0\\x38\\x06\\x17\\x9f\\x9d\\x23\\xf1\\x1e\\x8f\\xb7\\x32\\xe8\\x31\\x19\\x3d\\x7c\\x26\\xab\\x82\\x19\\xbd\\x1c\\xbc\\xa1\\xaa\\x31\\xad\\x80\\x9d\\x99\\x45\\x99\\x66\\x32\\x76\\xfa\\x58\\x89\\xd5\\x66\\x98\\x63\\x17\\x98\\x8a\\x17\\x2e\\x93\\x4f\\x85\\x05\\xe4\\xda\\xe5\\x71\\xbb\\x9b\\x18\\xfb\\x3f\\xf9\\xfc\\xcc\\xbb\\xbb\\xab\\xaf\\x35\\xa9\\xed\\xb5\\xeb\\xcb\\xe5\\xe5\\xd8\\x52\\x87\\x39\\x6c\\x25\\x17\\xe6\\xcf\\xba\\xbe\\x60\\x1a\\xe1\\x72\\x43\\xe4\\x93\\xee\\x6d\\x67\\xce\\x6c\\x51\\x3a\\x7d\\x6a\\xa2\\x43\\x3d\\xf8\\x39\\x9c\\x8f\\x5d\\x80\\xb7\\xed\\xc9\\xb7\\xe4\\xda\\x8b\\xbb\\xc9\\xd6\\x67\\x9e\\x65\\x36\\xae\\x48\\x0c\\x91\\x45\\x42\\x9d\\xd8\\xe7\\x99\\xa4\\x3f\\x3f\\x94\\xda\\xb3\\x50\\xcf\\x86\\x7e\\xaa\\xc2\\x26\\xb6\\x5f\\xb7\\x02\\xde\\xf4\\x63\\xf5\\xfb\\x3b\\x07\\xb2\\x78\\x49\\x32\\xda\\x34\\x80\\x1c\\xbc\\xdd\\xc1\\x83\\xe4\\x6a\\xe4\\x53\\x14\\x9f\\x63\\x9d\\xc5\\x82\\xfa\\x04\\x2d\\x46\\x9d\\x9a\\x16\\xf2\\xbf\\x99\\xcf\\x71\\x83\\x72\\xce\\x34\\x8a\\x30\\x99\\x5d\\x50\\xa5\\x46\\xae\\xce\\xb8\\xff\\xac\\x5c\\xaa\\xe7\\xbc\\xa1\\x0b\\xc6\\x25\\x2b\\xf0\\x51\\x92\\x43\\x7e\\x23\\xdf\\x63\\x27\\xd6\\xe1\\x8f\\xf9\\xc9\\x73\\xe6\\x9c\\x9c\\x35\\xfd\\x24\\xb6\\x60\\x2d\\xfc\\x58\\x4e\\x46\\x7c\\x24\\x68\\xed\\xd8\\x28\\x5c\\x6a\\x64\\x36\\x18\\x44\\xd1\\x88\\x00\\x2e\\x93\\x11\\xe0\\x32\\xa5\\x98\\x00\\x2e\\x93\\x49\\x8d\\xd5\\x1a\\xa0\\x14\\x76\\x96\\xfb\\xfd\\x66\\xd5\\xb1\\x1b\\xea\\x0a\\x11\\x68\\xa8\\x94\\x5d\\x02\\xb2\\x36\\x6c\\xc9\\x6c\\xfc\\x31\\xd6\\x63\\x07\\xf9\\x8e\\x5c\\x23\\x39\\xf8\\xe8\\x8a\\x25\\xc6\\xd0\\x05\\xce\\xab\\x5f\\xba\\x92\\x9f\\x7c\\x92\\xfc\\x04\\xec\\xfd\\x77\\xf2\\xd3\\xc9\\xe9\\xb3\\x4e\\xce\\x9d\\x1d\\xf1\\xe9\\x5e\\xcd\\x7c\\x3f\\x77\\xb0\\xb5\\x5c\\x0f\\x78\\x32\\x9a\\xad\\xed\\xcb\\xec\\x33\\xbd\\x6f\\xbc\\x87\\xf9\\x00\\x67\\xb2\\xcf\\x0d\\x7c\\x94\\x61\\x4e\\xad\\xa1\\xfd\\x5d\\xcc\\x96\\x58\\x10\\x70\\x71\\x20\\x47\\xda\\x2d\\x16\\xb3\\x64\\x76\\x38\\x2d\\x76\\x3b\\x67\\x94\\x8d\\x92\\x47\\xc7\\xca\\x67\\x96\\x2b\\x0e\\x5e\\x8d\\x5c\\x1a\\x7c\\x3c\\x0b\\xe1\\xa3\\x6e\\x5d\\x4e\\x4b\\x89\\x95\\xa6\\x43\\x2e\\x2c\\xe1\\x3e\\xfe\\xe8\\x7b\\xd3\\x0f\\x78\\xdc\\x52\\x63\\x13\\x75\\x46\\xca\\x42\\x3c\\xe2\\x07\\x0b\\x3f\\x73\\xf3\\xa8\\xeb\\x17\\xc5\\x8b\\x24\\x25\\xff\\x4a\\x5f\\xac\\x1d\\x8e\\xbf\\xbc\\x7e\\x82\\x9b\\x31\\x7a\\x8b\\xc2\\x37\\x10\\xc0\\xb0\\x53\\xe8\\x0d\\xb2\\x6c\\x3a\\xea\\x11\\xc8\\x72\\xa3\\x54\\xad\\x5a\\xd2\\xeb\\x2d\\xc0\\xc7\\x0d\\x99\\x19\\x8e\\xa4\\xca\\xa0\\xc3\\xa4\\x33\\xd1\\xca\\xcd\\x6a\\xb3\\x99\\x37\\x78\\xf8\\xb4\\x7a\\x1a\\x1c\\x75\\x5d\\x8d\\x8b\\xf8\\x60\\x2e\\x81\\xf1\\xd7\\xcc\\x8e\\x24\\x4c\\x33\\xd0\\x79\\x69\\x7a\\xaf\\xe8\\x7d\\x33\\x45\\xf6\\x04\\xcc\\x0c\\x67\\x3b\\xaf\\xbf\\x77\\x78\\xbe\\x20\\xec\\xdf\\x4f\\xce\\xce\\x99\\x83\\x6d\\x3f\\x6e\\x23\\x77\\x92\\x73\\x6b\\x67\\x7e\\x36\\x7d\\xe3\\xe8\\xa9\\x9c\\xf0\\x0b\\x39\\xbb\\xba\\x75\\xd9\\x9c\\xe3\\x13\\x27\\x1e\\xe7\\x5e\\xba\\x86\\x1d\\x77\\x93\\xdf\\x1e\\xdc\\xfb\\x0e\\xbd\\x77\\xbe\\xed\\x85\\xf8\\xf5\\xc5\\x5d\\x1a\\xac\\x77\\x26\\x5d\\x6f\\x56\\x83\\x3d\\x9b\\x73\\xa3\\xec\\xbd\\xd8\\x45\\xaf\\xe0\\x5c\\x09\\x09\\x5d\\x5c\\x01\\x97\\x0b\\x5e\\x4c\\x66\\x78\\xd1\\xeb\\xe1\\x45\\xad\\xee\\x02\\x1a\\x70\\x1e\\xfd\\x57\\xd4\\xb0\\x0f\\xda\\x27\\xed\\x23\\x7c\\x95\\x4b\\xfc\\x3f\\xf6\\xc1\\x7c\\xfd\\xa5\\x47\\x01\\x8e\\x6c\\xd6\\x47\\x87\\xf0\\xf3\\xe8\\x1a\\x52\\xed\\xc7\\x66\\x66\\x56\\x8e\\x6b\\xb3\\x38\\xd6\\x86\\xda\\x9e\\xbf\\x62\\x37\\x39\\xcc\\xa5\\xf5\\x50\\xf8\\xeb\\x03\\xb0\\x05\\x9a\\xb8\\x9b\\x1c\\x0c\\xcf\\xfd\\x20\\x3c\\x08\\x7a\\x87\\x17\\x4d\\x09\\x04\\x04\\x9e\\x37\\x6b\\xb5\\x29\\x29\\x16\\x5f\\x82\\xd3\\x6c\\xb6\\x59\\x2c\\xc0\\x2f\\x0d\\xb5\\x41\\x94\\xb8\\x23\\x91\\x43\\x89\\xa6\\x44\\x38\\x0f\\x89\\x89\\xb2\\xdd\\x65\\xb3\\xdb\\x6a\\x82\\x76\\x1e\\x0e\\xac\\x5c\\x1b\\x34\\x09\\xa9\\x42\\x73\\x81\\x17\\x04\\x04\\xfc\\xbf\\x40\\x29\\x42\\x5a\\x1e\\xbb\\x19\\x8b\\x85\\xd5\\x45\\xee\\x54\\x2c\\xf5\\xae\\x90\\x62\\x2c\\x45\\x7b\\x1b\\x46\\xab\\x98\\xea\\x42\\x5d\\xc3\\x99\\xfa\\x42\\xab\\xad\\xf1\\xf3\\xe7\\x6d\\xca\\x7a\\xcf\\x94\\x99\\x92\\xe1\\x28\\xeb\\x31\\x6d\\x03\\xf9\\x93\\xfc\\xc8\\xf7\\x22\\xef\\x74\\x3b\\xd8\\xf3\\x91\\xbb\\x6d\\xb3\\x57\\x76\\x6c\\x99\\x3b\\x61\\x6e\\xc6\\xfa\\x21\\x81\\xd0\\x22\\xa1\\xf6\\xd2\\x25\\xf2\\x49\\x5e\\xcb\\x53\\xe7\\xbb\\x91\\xf6\\x74\\x2d\\x58\\x4c\\x87\\xb4\\xcb\\x92\\xc9\\x57\\xb0\\xb5\\x98\\x85\\xd6\\xa2\\xdf\\xd9\\x4d\\x92\\x24\\x66\\xe2\\x91\\x92\\x5a\\x88\\xdd\\x3a\\x29\\x36\\x4a\\x65\\x8f\\x90\\x0b\\x0d\\x0b\\xb4\\x14\\x25\\xb3\\xc9\\x41\\x63\\xb1\\x5c\\x26\\x49\\x70\\x27\\x38\\x50\\x4d\\xd0\\xe1\\xe0\\xf5\\x7a\\x98\\xb5\\xd1\\x8c\\x75\\xbc\\xd9\\xac\\x17\\x54\\x7c\\x4d\\xb0\\xb9\\x18\\x10\\xb9\\x54\\xb1\\xb9\\xf8\\x8c\\x78\\x55\\xa4\\x46\\x31\\x2b\\x2b\\xc3\\x3a\\x95\\x69\\xe2\\x71\\xbe\\x7d\\x8d\\xcb\\x36\\x32\\xc7\\x88\\x12\\x91\\x63\\xc4\\xc2\\x1b\\xb5\\x25\\xf2\\x5e\\x3b\\x5e\\x60\\xbe\\x73\\xee\\xce\\x5e\\xd8\\xbc\\x82\\x2c\\x21\\xdf\\x90\\xb3\\x5c\\xe9\\x0b\\xd7\\x5b\\x91\\xab\\x49\\x33\\xba\\xff\\x94\\x86\\x57\\x73\\xa5\\x7b\\x9e\\xbb\\x56\\x48\\x06\\xe0\\x91\\x78\\x00\\xb7\\xf7\\xf8\\x2b\\xed\\xc7\\xcd\\x24\\x8f\\x5f\\x52\\xee\\xe3\\x32\\x01\\xfe\\x3b\\x19\\x5d\\x28\\x46\\x37\\x8b\\x9b\\x50\\xfc\\x9d\\x17\\xc7\\xfb\\x3b\\x03\\x6e\\xfc\\x77\\x7f\\xe7\\x51\\xe1\\x1f\\xf8\\xeb\\xac\\x8f\\xa6\\xec\\x5c\\x8b\\xe1\\xab\\xc2\\x51\\xc0\\x15\\x17\\x60\\xcb\\x2d\\x81\\x3c\\x7b\\x72\\xb2\\x20\\x59\\xad\\x69\\x82\\xa0\\x4b\\x00\\x3d\\x3a\\xcd\\xa7\\xb3\\x27\\x0d\\x0b\\xda\\xed\\xc9\\x56\\xab\\x04\\xda\\x3d\\xaf\\x31\\x0e\\x0d\\x6a\\xac\\x42\\xf2\\xb0\\xa0\\x80\\xf2\\xe3\\xe2\\xb8\\xd8\\x8a\\x60\\x7a\\x69\\x5a\\x66\\x8e\\x8f\\x36\\x52\\xc4\\x17\\x10\\x5c\\x7c\\x7c\\x7d\\x61\\x34\\x4a\\x84\\x94\\x48\\x7d\\xc5\\x03\\x5f\\x38\\xfa\\xed\\xf1\\x73\\xab\\xb2\\x0c\\x1b\\xd7\\xb6\\x4a\\x36\\x64\\x15\\x95\\xca\\x7e\\xae\\x58\\x7f\\xe8\\xe2\\x97\\xc3\\xfb\\x98\\x9d\\x95\\x43\\xf1\\x8e\\xe7\\xbf\\x11\\x26\\x87\\x5a\\xff\\xf2\\x96\\xf9\\xa2\\x3c\\x7f\\x39\\x3f\\x36\\xf4\\xe3\\xb9\\xc3\\x23\\xa6\\x91\\xaa\\xf1\\x14\\x7e\\xe0\\x4e\\xc2\\x73\\x00\\xbf\\x05\\xb9\\x51\\xcf\\x40\\xa6\\x56\\x96\\x8d\\x2e\\x97\\x4e\\x10\\x54\\x56\\x95\\x27\\xd1\\x8a\\x50\\xa2\\x53\\xd2\\x4a\\xc3\\x82\\x46\\xd8\\x77\\xbd\\x9a\\x57\\xb9\\x00\\x70\\xc5\\x5b\\x5d\\x29\\xaa\\x18\\xf1\\xa9\\xc7\\xfe\\x7a\\xa8\\xfd\\x51\\x01\\x46\\x81\\x9b\\x45\\x3d\\xb3\\x9f\\x7a\\x88\\x85\\xe7\\xae\\x9d\\xfd\\xf0\\xe2\\xe5\\xcb\\x17\\x2f\\x1b\\x4e\\x7e\\xf5\\xc5\\x94\\x1a\\xbd\\xf5\\x4d\\xbc\\xe3\\x95\\x2f\\xb8\\x09\\xa1\\x7b\\x94\\x20\\xbb\\xd0\\x8f\\x9f\\x1c\\xa9\\x9d\\x42\\x46\\x2a\\x78\\x48\\x7d\\xff\\xe9\\x79\\x74\\xa0\\x0e\\x81\\x0c\\x07\\x06\\xf6\\xe3\\xb2\\x9a\\xcd\\x4e\\x95\\x0b\\x59\\x6d\\xd6\\x9a\\xa0\\xa0\\xaf\\x0d\\x36\\x17\\xa6\\x08\\x8b\\xe9\\x81\\x53\\xd9\\x78\\x33\\x03\\xb0\\x9c\\x55\\xdd\\x8f\\x40\\x67\\x61\\x86\\xfc\\x88\\x38\\x68\\xae\\x0f\\xcb\\x8e\\x3b\\x61\\x5c\\x22\\x3b\\x42\\xa4\\xac\\xc7\\xc2\\x15\\xca\\xa1\\x12\\x6a\\xc9\\x39\\x38\\x3d\\x17\\x88\\x0e\\x9f\\x59\\x3f\\xa4\\x5b\\x68\\x25\\x3d\\x50\\xd1\\x18\\xa2\\x37\\xd8\\x39\\x7a\\x2b\\x72\\x8e\\x16\\x45\\xce\\x91\\x15\\xce\\x51\\x47\\xab\\x03\\x69\\xeb\\xcf\\x51\\x24\\x8e\\xa4\\x33\\xa5\\x53\\xfc\\x1b\\x0d\\xe9\\x94\\xb5\\x9e\\x4e\\x49\\x80\\xab\\xc7\\xa8\\x1f\\x3d\\xff\\x01\\x6d\\xa3\\xba\\x0c\\x5a\\xdf\\xe5\\x58\\x9f\\x3a\\xa7\\x57\\x63\\x68\\x70\\x36\\xd7\\x00\\x3f\\xe9\\xc0\\x6c\\xdf\\xc0\\xd3\\x64\\x2d\\x42\\x2a\\x91\\x53\\x71\\x7a\\x9d\\xcc\\xf3\\x1a\\x8e\\x13\\x87\\x06\\x39\\x0b\\xf2\\xd4\\x97\\x82\\xbd\\x31\\x88\\x37\\x16\\xf1\\xf8\\x3d\\xd9\\x81\\xb3\\xf0\\x78\\x9c\\x45\\x1e\\x24\\xfd\\xf1\\x63\\x62\\xc5\\xf5\\xa7\\x85\\xaa\\x7f\\x5e\\x24\\xfd\\xd1\\x0d\\x71\\x62\\x80\\x2f\\x74\\xee\\x9b\\x59\\x0c\\x8c\\x9d\\x7a\\x79\\x4a\\x48\\x6d\\xb1\\x08\\x7a\\x50\\xef\\x1c\\x4e\\xb5\\xb9\\x26\\xa8\\x56\\x5b\\x62\\x36\\x77\\xd8\\x19\\xcb\\xbf\\x7a\\x79\\x32\\x87\\x1a\\xd0\\x22\\x22\\xe6\\xf0\\x02\\x87\\x18\\xc3\\xe6\\xcd\\xe4\\xca\\xb5\\xd0\\x5f\\xfc\\xbe\\xd0\\x4c\\x8c\\xaf\\xfe\\x4d\\xce\\xdc\\xb1\\xe6\\x89\\xbd\\x6b\\x97\\xe1\\x1d\\xc7\\xce\\x8b\\x15\\x17\\xc9\\xbb\\xef\\x9e\\x18\\xdc\\x8f\\xfc\\xa7\\x5f\\xe3\\x98\\xb5\\x28\\x7d\\xa3\\x9f\\x29\\x7d\\x03\\x58\\x4d\\x64\\x8c\\xf0\\x0c\\xc0\\x6a\\x00\\x58\\x3b\\x07\\x7c\\x3c\\x67\\x57\\x9b\\xf5\\xb4\\xd2\\xb8\\x9a\\x66\\x19\\x97\\x9d\\x0e\\xbd\\xb9\\x36\\xa8\\x07\\x59\\x52\\x25\\xaa\\x6a\\x83\\xa2\\x45\\xe6\\x98\\xdb\\x94\\xbf\\x3c\\x56\\x34\\x57\\x81\\xb7\\x81\\xbd\\xd0\\x1f\\x29\\x14\\xea\\x2f\\xa6\\xc2\\x00\\x0f\\x07\\x53\\xe2\\x64\\x01\\x3f\\x7d\\x35\\x14\\xb8\\xba\\xa8\\x77\\x1f\\x7b\\x29\\xb7\\xec\\xf7\\xa3\\x29\\xa6\\x76\\xed\\x2e\\x84\\x56\\xe1\\x4d\\x64\\x0c\\x37\\x67\\x06\\x4e\\x3e\\xc1\\xe9\\xaf\\x6f\\xe6\\x57\\x90\\x7d\\x4f\\x92\\x6f\\xa6\\xd5\\xf3\\xa5\\x68\\x9c\\x1a\\xec\\xa7\\x48\\x71\\x0a\\x60\\x4d\\x43\\x33\\x03\\xad\\x12\\x53\\x52\\x92\\xac\\x69\\x69\\x48\\x16\\x04\\x93\\x09\\x21\\x29\\x39\\x39\\xc9\\xe9\\x72\\x25\\x25\\xa5\\xeb\\xb4\\x5a\\x51\\x4a\\x94\\x53\\x04\\x59\\x30\\x79\\xb1\\x09\\x0f\\x0b\\x5a\\x17\\x99\\xd6\\x83\\x4c\\x66\\x72\\x9a\\xb5\\x7c\\xb2\\xa4\\x04\\x76\\x81\\x18\\x43\\xc3\\x2c\\xe9\\x2c\\x22\\xbe\\x72\\xd4\\x7d\\xce\\x5f\\x1f\\x71\\xa4\\x50\\x97\\xd8\\x4e\\x28\\xb6\\x3b\\xe0\\x3c\\xbc\\xd7\\xda\\x0c\\x67\\xf1\\x7e\\x2a\\xea\\xc0\\x7f\\x51\\xaf\\x76\\x3f\\xd0\\x1d\\x19\\xe6\\x29\\xf9\\xcc\\xf8\\x4f\\xb1\\x50\\xda\\x1f\\x46\\xa1\\xcc\\xae\\xce\\xc9\\x57\\x07\\xa4\\x77\\x2e\\xf9\\xa2\\xb8\\x4b\\xfa\\x80\\xab\\x93\\x9d\\x5d\\x33\\x43\\x61\\xb4\\xbf\\xb9\\x91\\x6b\\x6f\\x91\\x42\\x8f\\x72\\x6f\\xe5\\xac\\xae\\xc4\\x73\\xc9\\x89\\x45\\xd3\\x4c\\x5c\\xab\\xd0\\x6b\\xa6\\x29\\x4b\\x70\\x4b\\xb2\\xb2\\x6a\\x55\\x4e\\xa8\\x98\\x1b\\xe8\\x0a\\x1d\\x89\\xfa\\x02\\xce\\x11\\x83\\x20\\xe9\\x4f\\x08\\x94\\xc2\\xe4\\x78\\x6f\\xb2\\x21\\xd9\\x62\\xb0\\xe4\\x08\\xbc\\x26\\x9d\\x4f\\xcf\\xce\\xf1\\x1a\\x0d\\x46\\x50\\xf4\\x8c\\x46\\xd9\\x63\\x04\\x81\\x95\\x77\\x3a\\x3d\\x1e\\x7b\\x6d\\xd0\\x23\\x20\\x19\\x98\\x8c\\x80\\x1b\\xf0\\x56\\xc5\\x65\\x57\\x71\\x17\\x6f\\x14\\x68\\x60\\x69\\x10\\xd0\\x2d\\xa6\\xa5\\x2b\\x91\\xeb\\x91\\x22\\xf0\\xfe\\xd4\\x88\\x15\\xa7\\x38\\x9d\\x59\\x71\\xa8\\xe7\\x02\\x75\\x93\\xe7\\x86\\x5c\\x20\\xe7\\xdb\\x61\\x55\\xce\\x03\\x73\\xe6\\x2e\\xd9\\xfe\\x58\\x45\\x05\\xce\\x9a\\x3d\\xea\\x54\\x37\\x72\\xad\\x2d\\x4e\\x78\\xf7\\x73\\xec\\x5a\\xbf\\xfa\\x9e\\xdd\\x2b\\xff\\xb0\\x3d\\xbf\\x67\\xf0\\xd4\\x49\\x63\\x6e\\x19\\x78\\xcb\\xc5\\x67\\x7b\\xd6\\x9c\\x6f\\x73\\xe8\\xd8\\x89\\x07\\x66\\xef\\xf2\\x39\\x1e\\x9d\\x3f\\xe3\\x45\\x25\\xff\\xa9\\x72\\xf6\\x61\\x5f\\xf5\\xa8\\x75\\x20\\x4d\\x52\\xab\\x55\\x7a\\x8e\\xc3\\x2a\\x6c\\x34\\x78\\x74\\xdd\\x75\\x83\\x74\\xbc\\x4e\\xc2\\xbc\\xda\\x26\\x76\\x14\\xfb\\x8a\\xbc\\xc8\\xb6\\x6f\\x30\\xdd\\xbf\\xc1\\x8d\\xa4\\x50\\x3f\\x75\\xfc\\x92\\x31\\x3d\\xb0\\x85\\x25\\x78\\x15\\xc6\\x89\\x78\\x35\\xae\\x22\\xe1\\x44\\xb2\\x18\\x28\\xe6\\xd0\\xa5\\x57\\x04\\xfd\\x3f\\x2f\\x72\\x1b\\x46\\xd5\\xd5\\x19\\xe2\\x69\\xce\\x63\\x51\\x9a\\x03\\xf4\\x04\\x01\\x3d\\xb1\\x1f\\xc0\\x06\\x20\\x27\\x87\\xc2\\xe1\\x03\\x96\\x44\\x24\\xc7\\x28\\x8a\\x12\\x37\\xf7\\x06\\xe3\\x03\\x15\\x01\\xaf\\x46\\xaf\\xd7\\x72\\x66\\xb3\\xc5\\x62\\x05\\x74\\x93\\xb4\\x5a\\x9b\\x46\\xcf\\x01\\x92\\xd5\\x04\\x39\\xce\\xa2\\xb5\\x88\\x88\\x8f\\x44\\x57\\x2b\\x76\\x4c\\xa0\\xaf\\xd4\\x3b\\x33\\xba\\xc8\\x0a\\x3e\\x01\\x8b\\x2a\\xf0\\x60\\x2f\\xc5\\x1e\\xec\\xa5\\x17\\x05\\x66\\xef\\x1a\\x9c\\xb9\\x70\\xd3\\x33\\xb8\\xc5\\x95\\xdc\\xe9\\x49\\xf8\\x75\\xf2\\x2c\\x79\\xcc\\xd2\\x3d\\x81\\x9c\\x03\\xf8\\x3f\\x45\\x61\\x9c\\x49\\x56\\xb7\\x5f\\x6d\\x0f\\x59\\xb8\\x41\\x3a\\x7b\\xe8\\x04\\x5b\\x3b\\x03\\xf0\\xd6\\x2e\\x00\\x93\\x0d\\xe5\\x07\\x9c\\x18\\x84\\x2f\\x9b\\xd5\\x6a\\x77\\xd8\\x2c\\x66\\x3c\\x34\\x68\\xe6\\x25\\xdd\\xd0\\xa0\\x14\\x17\\x0d\\x1d\\x09\\x28\\x56\\xee\\x76\\x7c\\xbc\\x06\\xd7\\x5f\\x7a\\x33\\xb1\\xdd\\xcb\\x37\\x79\\xaf\\x45\\xd6\\xc8\\x6d\\x77\\xf8\\x5a\\xa9\\x0d\\xde\\x96\\x15\\x6d\\x12\\x3b\\x70\\x57\\xc9\\x25\\xa1\\x8a\\xdc\\x4e\\xde\\x27\\x6f\\xdf\\xae\\x95\\xfe\\x94\\xa7\\x61\\xeb\\x27\\xf8\\xcf\\x68\\xfc\\x5f\\xe3\\x58\\xc7\\x06\\xb1\\xa3\\xff\\x3b\\xf6\\x50\\x06\\x76\\x74\\xb3\\xd8\\xc3\\x46\\x61\\xe7\\xff\\x3f\\x62\\x0f\\x6f\\xa2\\xe3\\x34\\x88\\x01\\xa4\\xe5\\x0f\\x28\\xff\\x60\\xfb\\x97\\x1f\\x70\\xf0\\x3a\\x8d\\xc1\\xa0\\xb1\\x59\\x41\\x6f\\x54\\x23\\xbd\\x86\\x47\\xd2\\xd0\\x20\\xb2\\xc6\\x2a\\x21\\x2b\\x45\\x4f\\xa3\\x5e\\xe4\\x4c\\xe4\\x64\\x62\\x05\\xa6\\x1e\\x6f\\xd8\\xc0\\xe1\\x56\\x9d\\xd7\\xe6\\x56\\x07\\x3b\\x77\\x0a\\xb6\\x0a\\xd5\\x61\\x3f\\x0e\\x62\\x11\\xe7\\x91\\xf4\\xf6\\xd3\\x36\\xda\\x7c\\x09\\x7f\\xe4\\x0e\\x58\\xc8\\x2f\\x08\\xcd\\xe5\\x56\\x5e\\xff\\x7b\\xfd\\x8a\\xb6\\x14\\x96\\x48\\xbc\\x21\\xd0\\xdd\\xc6\\x3c\\xa3\\x55\\x8c\\x57\\xbd\\xcd\\x78\\x55\\x61\\x20\\x01\\x24\\x48\\xb5\\x5a\\x92\\x44\\x4e\\x61\\x56\\x6a\\xf1\\xe6\\xcc\\x8a\\x2d\\x52\\xd4\\xcd\\x37\\xba\\x54\\x7e\\x33\\xff\\x41\\xdd\\x73\\xc0\\xad\\xda\\xe2\\xac\\xe7\\xea\\x99\\xd5\\xf5\\xa7\\x43\\xc3\\xd9\\x1d\\x51\\x64\\xfd\\x2d\\x28\\x33\\x60\\x31\\x23\\x93\\xc9\\x06\\xc7\\x4d\\x00\\x12\\xaf\\x37\\xa9\\x58\\xcc\\x2b\\xc3\\x59\\x4a\\x0b\\x23\\x25\\x8d\\xd9\\x85\\x45\\xbd\\x57\\x65\\x09\\xdb\\x8d\\xf6\\x2f\\xd5\\xbc\\x72\\x18\\x27\\x0e\\x1a\\xfd\\x9f\\x51\\x30\\xd2\\x37\\x9e\\xf4\\x2b\\x57\\xf1\\x31\\xd2\\x67\\xc3\\x0a\\x2f\\xf7\\x20\\xdd\\x1d\\x8c\\x82\\xac\\xf6\\x36\\x9d\\x4f\\x8b\\x80\\x53\\xa5\\x05\\x2a\\xcd\\xd3\\xdc\\x50\\x3a\\x35\\x4d\\x3a\\xcc\\x23\\xbe\\xb6\\x3e\\xee\\xb3\\x3c\\xba\\xd4\\xfe\\xb2\\xe8\\x41\\xae\\xff\\x09\\xfe\\xb2\\xeb\\xca\\xae\\x5f\\x60\\x0e\\x9b\\x85\\x91\\xf4\\x97\\xed\\x3d\\xed\\x9f\\xd6\\x6f\\x86\\xfe\\x8d\\xa8\\x6d\\x20\\x59\\x16\\x0c\\x70\\x1a\\xb5\\x2a\\x10\\xae\\xe1\\x20\\x9b\\x0c\\x1e\\x3a\\x8a\\xb6\\xe1\\x30\\x6c\\x9c\\xf2\\x68\\x04\\x50\\x3c\\xd5\\x88\\xff\\xf1\\x45\\x06\\x1c\\x70\\xbe\\x7e\\xc8\\xeb\\x2b\\x43\\x77\\xe0\\xc7\\x80\\x57\\xd2\\x6a\\x60\\x0f\\x33\\x3a\\xe5\\x40\\x6d\\x02\\x29\\x7a\\xab\\x55\\xa3\\x32\\xf0\\x2a\\xde\\xe9\\xd2\\x5b\\xe8\\x0a\\x5a\\xb5\\x2c\\x7a\\x97\\x57\\x59\\x6b\\x83\\xaa\\x7f\\x63\\xeb\\xca\\x76\\xa5\\x0a\\x2c\\xd0\\x88\\x89\\x55\\xe6\\x58\\x98\\x28\\xb7\\x18\\x23\\x9c\\xbe\\x2a\\xfc\\x38\\x59\\x1f\\x46\\x5c\\x16\\xae\\x5a\\xb4\\xb4\\xb2\\xf7\\xc2\\x15\\x7c\\xa7\\xcf\\x5e\\xbe\\xed\\xd5\\xb1\\x20\\x5a\\x11\\x4c\\x86\\xde\\x3a\\x9e\\x4c\\x1e\\xc7\\xe2\\x49\\x7a\\x03\\x3c\\xb7\\xb1\\x18\\x66\\x2b\\x72\\xd2\\x18\\x4f\\xe0\\x71\\x1a\\x20\\x45\\x76\\x8d\\x4d\\x93\\xe0\\xe2\\x8c\\xc3\\x80\\x16\\x99\\x90\\xc6\\x04\\xc2\\xb5\\xc6\\xe2\\x88\\x50\\xa4\\x86\\x00\\xd5\\xbb\\x62\\x5b\\x99\\xf4\\xc9\\xaa\\xfa\\xd6\\x87\\xad\\x02\\x0b\\xef\\xfd\\x4f\\xf1\\xc9\\xaf\\xae\\x9d\\x25\\x57\\xf1\\xf7\\xb5\\x03\\x8b\\x5a\\x0d\\x1e\\xc0\\x55\\xfc\\xf3\\x0f\\x95\\x40\\x3f\\x79\\xe1\\x95\\x2f\\xf0\\x96\\xd1\\xe3\\xc8\\xc8\\x1a\\x72\\x1a\\xa0\\xe0\\x18\\xbf\\xde\\xcc\\xf6\\xdc\\x02\\x12\\x57\\x82\\xca\\x64\\x12\\x75\\xc0\\xb4\\xad\\x36\\x95\\xb1\\x26\\xa8\\x52\\x99\\x24\\x5e\\x04\\xfa\\x28\\x5a\\x62\\x1a\\x7b\\x63\\x67\\x70\\x65\\x45\\xa8\\xf0\\x2b\\x16\\x7a\\x61\\xec\\x54\\x61\\xf3\\xd2\\x7f\\x9e\\x20\\x76\\x9c\\x75\\xee\\x3a\\x76\\x90\\x33\\xe4\\xca\\x93\\xfb\\xb0\\x11\\x3f\\xb2\\xe8\\xc8\\x18\\x80\\xe0\\xcf\\x0f\\x5f\\x3f\\x44\\xee\\x04\\x5c\\x28\\x83\\x73\\xbd\\x90\\xe9\\x60\\xa3\\x03\\xad\\x38\\x97\\x8b\\xfa\\x86\\xe8\\x55\\x16\\xbd\\xc5\\x9d\\x80\\x41\\x05\\xc3\\xd8\\xae\\x35\\xd9\\x6b\\x82\\x26\\x6b\\xaa\\x95\\x43\\x56\\x93\\x75\\x83\\xf5\\x5d\\xab\\xa0\\xb5\\xc2\\x3b\\xa3\\x0c\\x5c\\x53\\x96\\xb5\\x5a\\x01\\xf6\\x4d\\x40\\xf5\\x3c\\x12\\xd4\\x30\\x45\\x01\\x8d\\xdf\\x3c\\x26\\x1d\\x17\\x44\\x1c\\x22\\xb8\\x68\\x56\\x97\\x54\\xe6\\x81\\xc3\\x67\\x28\\xe4\\xe1\\x0d\\xbc\\x3a\\xed\\xa7\\x1e\\xd3\\x93\\xc8\\xd5\\x56\\x75\\xcf\\x73\\xa5\\xe4\\x2c\\xa8\\x63\\x4b\\x56\\x60\\x73\\xaf\\x9d\\x73\\xef\\x34\\x73\\xa5\\x97\\x70\\xbf\\x99\\xe3\\xda\\x1f\\x7b\\x35\\xd4\\x9b\\xec\\x26\\x9b\\xf1\\xee\\xc2\\x6b\\xcf\\xed\\x61\\x72\\x18\\xad\\xf3\\xbf\\x11\\xe6\\x60\\x41\\xc9\\xa0\\x63\\x64\\x25\\xe8\\x10\\xb2\\x5a\\x0c\\x06\\xa3\\x55\\x32\\x4a\\xa9\\x29\\x26\\xde\\x68\\xb1\\xe8\\x87\\x05\\x2d\\x96\\x44\\x5e\\x9d\\x38\\x2c\\xa8\\xb6\\xf2\\x8e\\x61\\x41\\x5e\\x68\\x88\\x63\\x71\\x11\\x91\\x51\\x26\\x43\\x61\\x75\\x2b\\x97\\x7a\\x34\\x5a\\x88\\x57\\x54\\x0d\\xd1\\x44\\x4d\\xe7\\xa0\\xab\\xd2\\x3d\\xde\\x66\\x3a\\xb6\\xfb\\xc0\\x89\\x63\\x87\\xf6\\x1c\\xd5\\x0d\\xff\\xe6\\x1b\\x6e\\x74\\xc7\\x2e\\xdd\\xda\\x57\\x74\\xea\\xdc\\x89\\x26\\x03\\xc2\\xd9\\x00\\xe6\\x2e\\xb2\\x97\\x6c\\xc4\\x01\\xec\\x0d\\xed\\x87\\x55\\x7f\\x65\\x30\\x56\\x5f\\xfa\\x8e\\xd4\\x91\\xeb\\xbf\\xff\\x0e\\x70\\xe3\\x08\\x3d\\xa1\\x39\\x2f\\xbb\\x04\\xd2\\xf5\\xb0\\x9e\\xc8\\xac\\xd1\\xa8\\xd5\\x4e\\x84\\x0c\\x02\\x36\\xe9\\x4c\\x3a\\x58\\x79\\x13\\x50\\x7a\\xd0\\x42\\x64\\x5e\\xaf\\x89\\x88\\x5f\\xf1\\x01\\x8f\\x4c\\xf2\\xca\\x8f\\x00\\xad\\x44\\xda\\xb3\\x70\\xb5\\x1c\\x66\\x8b\\xc6\\x56\\x9b\\x12\\x24\\x8d\\xf1\\xe0\\x65\\xf7\\x60\\x09\\x24\\x83\\x9f\\xc8\\xd9\\x3d\\xe4\\xbc\\xaf\\xee\\x99\\xdd\\xab\\x16\\x70\\x15\\x59\\x2f\\xaf\\x3e\\xf6\\x0e\\x70\\x76\\x3e\\x14\\xe2\\x1f\\x7b\\x05\\xcf\\x09\\x52\\xfa\\x3a\\x0e\\xd6\\xf3\\x01\\x66\\x6b\\x54\\x72\\x2d\\x80\\x4e\\x2a\\x2c\\x16\\xcf\\xc3\\x59\\xf1\\xa1\\x5e\\x81\\x6c\\x8f\\x0d\\x19\\x0c\\x19\\x5e\\x51\\xb4\\xd9\\x32\\xd2\\xbd\\x5a\\x2d\\x5f\\x09\\xea\\x1b\\x36\\xd2\\x32\\xc0\\x6e\\xb7\\xa7\\x3a\\xe8\\xc6\\x66\\x55\\x65\\xd0\\xec\\xb8\\x59\\x6a\\x17\\x73\\xa4\\xd8\\xa7\\xa2\\x30\\xb1\\x18\\xc2\\xa8\\xf3\\x15\\x0f\\x0b\\x6d\\x8b\\xde\\x51\\x94\\x14\\xd3\\x5a\\xef\\x06\\x4e\\x6e\\x8b\\xf9\\x81\\x63\\xa6\\xff\\x32\\x79\\xea\\x82\\x29\\x7b\\x7e\\xbc\\x4c\\xfe\\x20\\x7f\\x91\\xbf\\xc2\\x68\\x16\\xf9\\xe4\\xed\\x37\\x7e\\x26\\x2f\\xaf\\xaf\\xce\\x16\\x9a\\x7f\\x84\\x7f\\x7f\\x64\\x37\\xd9\\xbf\\xfd\\xf1\\x9d\\xdc\\xb3\\xb0\\xb6\\x7f\\x87\\xc9\\x6f\\xb8\\x13\\xee\\x86\\x79\\xdc\\xfe\\xc5\\xcc\\x6c\\xdb\\x15\\x57\\xbb\\x8a\\xf1\\x3b\\x17\\x6d\\xd9\\xc6\\xce\\x3d\\xe5\\xa1\\x93\\x58\\xbc\\x8f\\x13\\xa5\\xa2\\xca\\x40\\xb6\\x55\\x2d\\x1a\\x39\\x2e\\x29\\x49\\x9f\\x40\\x05\\x77\\x7d\\x9a\\x57\\x4c\\x70\\x26\\x38\\xab\\x82\\x09\\x09\\x46\\x83\\xc1\\x55\\x15\\x34\\x18\\xf5\\xc6\\xaa\\xa0\\xde\\xde\\x98\\x24\\x35\\x88\\x35\\x8d\\xd9\\x57\\x70\\x2a\\x75\\x91\\xb6\\x47\\x4b\\x7c\\xc7\\x04\\xc1\\x84\\xc8\\x3b\\x1f\\x37\\x0f\\x9f\\x59\\x3c\\xfd\\xf6\\x3b\\x7e\\xfe\\x34\\x74\\x19\\xbb\\x5f\\x5c\\x3e\\x61\\xda\\xea\\x67\\x76\\xcf\\x1b\\x39\\x74\\x9a\\xd0\\x92\\xfc\\x32\\x64\\xbe\\x5d\\x36\\x2d\\x9d\\xb0\\x75\\xb3\\xd0\\xb2\\x6e\\x66\\x87\\xca\\x5b\\x3a\\xe2\\x67\\x48\\x5d\\xcb\\xae\\x1d\\xda\\x2a\\x74\\xfb\\x37\\x80\\xbd\\x09\\xc0\\x1e\\xc9\\x99\\x21\\xb0\\x94\\x45\\x95\\x41\\x6a\\xd6\\xbd\\x59\\xce\\x8c\\x26\\xa1\\x2f\\xc9\\x65\\xa1\\xe5\\x91\\xba\\xe5\\x82\\x52\\x8f\\xd1\\x00\\xfa\\xca\\x36\\x78\\x4f\\x85\\x85\\x2e\\x01\\x37\\xaf\\xc6\\x3a\\x83\\x60\\x36\\x99\\x04\\x9d\\x5a\\x90\\x64\\xd9\\x66\\xd5\\xe1\\xca\\xa0\\xce\\x68\\x96\\x40\\x4d\\x09\\xa8\\x81\\x3a\\x8b\\xb0\\x8f\\xa2\\xbd\\x9e\\x07\\x44\\xe5\\x8b\\x06\\x76\\x15\\x1f\\x27\\x7b\\x45\\x45\\x61\\xa1\\x76\\x03\\x78\\xc7\\xfd\\xf3\\x64\\x87\\x91\\xb8\\x2f\\x51\\xff\\xbe\\xb0\\xcb\\x98\\x7c\\x6e\\xe7\\xc6\\xdf\\x81\\xa1\\x87\\x5f\\x3a\\x02\\xca\\x4a\\xbf\\x29\\xf8\\x31\\x3c\\xbc\\x6e\\x79\\xe8\\x71\\xbc\\x89\\xf1\\xf2\\x11\\x80\\x5b\\x63\\x19\\xae\\x75\\x61\\x73\\xa4\\x7c\\xe2\\x14\\xc0\\xe8\\x45\\x77\\x06\\x2a\\x13\\x12\\x13\\xdd\\xe6\\xd4\\x54\\xaf\\xc4\\xf3\\x06\\x83\\xd7\\x2b\\x7a\\x3c\\x6e\\xad\\xc6\\x66\\xd7\\xd8\\xd3\\xdc\\x6e\\x9f\\x20\\x26\\x48\\x89\\xbc\\xc4\\x1b\\x52\\x60\\x33\\xab\\x82\\xe6\\xde\\x86\\x1a\\xc3\\x17\\x86\\x9f\\x0d\\x42\\xb9\\x81\\xbe\\x5d\\x64\\x58\\x6f\\x38\\x6a\\x38\\x6d\\x90\\x0d\\x06\\xc1\\x66\\xd4\\x18\\xbd\\x1e\\x1a\\xcf\\x15\\x29\\x5c\\x98\\x3f\\x78\\x6a\\x63\\xf5\\xc5\\xec\\xcf\\xb7\\xc4\\x78\\xdb\\x8d\\xfa\\x0b\\x2d\\x5e\\xca\\xfb\\x30\\x53\\x5f\\x9c\\xd4\\xf1\\xdd\\x5c\\x5c\\x8e\\x99\\xf2\\x82\\x99\\xe9\\x04\\xce\\x5a\\xc8\\xed\\x31\\xbc\\xf2\\x27\\xe6\\x5c\\x1d\\xec\\xab\\xae\\xf5\\xeb\\x3a\\xe4\\xc3\\x21\\x5d\\xfb\\x5d\\x5b\\x65\\xef\\x64\\xc7\\xdc\\x9f\\xaf\\x18\\x3c\\xee\\x0f\\xf1\\x39\\x93\\x48\\xcc\\x5c\\x85\\x65\\xa4\\x1f\\x77\\xff\\xf1\\xa4\\x80\\x0f\\x93\\x8e\\xc2\\xc9\\x1f\\xc9\\xb3\\xc5\\x23\\x4c\\xa1\\x17\\xf1\\xcf\\xa2\\x89\\x64\\xd2\\x35\\x18\\x06\\x6b\\xd2\\x49\\xe8\\x05\\x92\\xd8\\xc2\\x40\\x85\\xc3\\xe9\\xe4\\x52\\x93\\x74\\x49\\x40\\x0d\\xb2\\x79\\x4e\\x9d\\xce\\xa5\\x67\\x65\\x1b\\x1d\\x29\\x0e\\x4e\\xcd\\x3b\\x1c\\x56\\xbd\\xdb\\x5a\\x15\\x4c\\xd5\\x23\\xde\\xc4\\x0f\\xe5\\x9f\\xe1\\x5f\\xe6\\x45\\x35\\x35\\xeb\\x4b\\x7a\\x1d\\xe0\\xac\\x5e\\x72\\x9b\\x90\\x54\\xa9\\x04\\x1d\\xc6\\xb8\\x46\\x34\\xf0\\xb5\\x2c\\x3e\\x08\\xf6\\xe6\\xca\\x4c\\x2a\\x1f\\x2b\\xe7\\xe8\\x2b\\x8a\\xdc\\xbf\\x35\\xa8\\xe0\\xcd\\xae\\xd5\\xb9\\x1e\\x64\\x42\\xbf\\x5f\\xcc\\xb7\\x0f\\x1d\\x35\\x73\\xcb\\x4b\\xfb\\x36\\x8f\\x1b\\x32\\x61\\x96\\xea\\x47\\x77\\xe8\\xbd\\xd3\\xd7\\x16\\xce\\x5f\\x7c\\x3f\\xf9\\xdd\\x86\\x0b\\x9b\\x74\\x1b\\xd8\\x3b\\xd0\\xb7\\xc7\\xde\\xce\\x3d\\x5b\\x77\\xe8\\x5e\\xe1\\xb8\\xe7\\xfe\\x07\\x16\\x0d\\x5b\\xea\\xe6\\x0c\\xeb\\xc7\\xdc\\xff\\x04\\xaa\\x97\\x6d\\x61\\xdf\\x8d\\xb4\\x72\\xa6\\xa8\\x52\\xc9\\xb2\\x51\\x8f\\x40\\x97\\x36\\x9b\\x74\\x82\\x5e\\xb6\\x8b\\xac\\x54\\x30\\x2d\\xf0\\x1d\\x4b\\xb2\\x54\\x1f\\xa4\\x25\\x45\\x14\\x17\\x2a\\x61\\x9a\\xf1\\x06\\x83\\x84\\x1f\\xc7\\x49\\xa4\\xce\\x20\\x91\\xe1\\xe4\\x43\\x38\\x57\\xe9\\xcd\\xde\\xca\\xe2\\xae\\x5f\\x3f\\xc1\\x25\\x16\\x6c\\xf4\\x84\\x44\\xa1\\x65\\x4c\\xd6\\x7e\\x15\\xf4\\x97\\x6f\\xa9\\xcf\\x3b\\xd3\\x5f\\xa8\\x35\\xc4\\xe4\\xcc\\xc2\\xc8\\x96\\x6c\\x94\\x1a\\xe9\\x2e\\x6b\\x00\\x36\\x33\\xea\\x17\\x28\\xd0\\x80\\xea\\x02\\x34\\x19\\xce\\x8b\\x4e\\x4b\\xd3\\x5c\\x81\\xea\\x62\\xe4\\x8c\\x95\\xc1\\xde\\x5c\\x0d\\xf7\\x05\\xf7\\x33\\x27\\x2c\\xe2\\xd6\\x73\\x47\\xb9\\xd3\\x9c\\xc0\\x71\\x66\\xad\\x5d\\x8a\\x02\\x9e\\x1f\\x61\\x89\\x65\\xf5\\x91\\x48\\x91\\x15\\x57\\x94\\x19\\x6a\\x75\\xe3\\xe9\\x4c\\x40\\xaf\\xa0\\xba\\x8c\\x7b\\xd8\\xc4\\x4e\\x3b\\x70\\xf2\\x0f\\x45\\x9d\\xf1\\x7c\\xd0\\x1f\\x3e\\xef\\xd5\\x99\\x1e\\x66\\xd2\\xb1\\x62\\x1a\\x16\\xc9\\xb2\\x5b\\xfc\\xa1\\x93\\xf8\\x4c\\x02\\xe9\\x40\\xe1\\xb3\\x00\\xbe\\xd0\\xb5\\xb3\\x82\\x6c\\xee\\xe2\\xcc\\xc8\\x6a\\xb6\\x6a\\xe0\\x98\\x98\\x81\\x36\\x98\\x8d\\xb2\\xbe\\x92\\x7a\\x86\\x30\\x0a\\x11\\x75\\x5f\\xb1\\xd4\\xe7\\x27\\xf1\\x69\\xb0\\xe2\\x95\\xa4\\x28\\x32\\x00\\x09\\x9f\\xf3\\x47\\x51\\x79\\x97\\x49\\x83\\xd3\\x6b\\x9c\\x09\\x79\\xa5\\xad\\x5a\\x75\\xe4\\xae\\xf3\\x0b\\xc8\\x1c\\xf2\\xe1\\xfd\\x1d\\x54\\xe2\\x51\\xf5\\x18\\xdc\\x1c\\xff\\x76\\xfd\\x04\\x1d\\x97\\xe9\\x2f\\xec\\xde\\xa3\\x63\\x20\\x95\\xc6\\x72\\x62\\x10\\xbe\\x25\\xb3\\x4a\\x14\\x25\\xb3\\xe4\\x74\\xd8\\x39\\x4e\\x2b\\x19\\x55\\xb2\\xd1\\x02\\xea\\x83\\x5d\\x89\\x6e\\xaf\\x77\\x92\\x6a\\x18\\x60\\xd2\\xf0\\x26\\xc4\\xe1\\x2c\\x29\\x8e\\xdd\\x84\\xbc\\xfd\\xca\\x15\\xd3\\x3b\\xb8\\xf3\\x9d\\x09\\x89\\x5a\\xab\\x73\\x15\\x6e\\xf7\\x8e\\x85\\xbf\\x7b\\xf3\\xa8\\x10\\x10\\xf1\\xd0\\xc5\\x41\\x5f\\x76\\xbb\\x67\\x08\\x97\\x04\\x5b\\xbb\\x91\\x5d\\x84\\xd4\\xe3\\x91\\x16\\x95\\x05\\x92\\xa9\\x4f\\x8f\\x06\\xf4\\x61\\x2c\\xc1\\x81\\xa0\\x41\\x7f\\x8b\\xd4\\xeb\\x69\\x51\\x21\\x09\\xdb\\xe5\\xfa\\x7d\\x51\\x88\\x5a\\x3c\\x49\\x8b\\x33\\x5f\\x09\\x1d\\xc8\\x65\\x32\\x9f\\x00\\xad\\xc6\\x2b\\x84\\x96\\xd7\\x4f\\xe0\\xd3\\xa4\\x05\\x6c\\x43\\x5f\\xfc\\x64\\x5c\\x4c\\x06\\xa3\\x5f\\xd5\\x0d\\xc6\\x67\\x3a\\x1a\\x8c\\x0c\\xfa\\xad\\x5a\\x25\\x0b\\x34\\xea\\x4b\\x52\\x2e\\x81\\xe2\\x75\\x34\\xdc\\x68\\x14\\x3a\\x02\\xbf\\x80\\x11\\x6c\\xe8\\x9b\\xfa\\x84\\x4e\\x10\\x40\\xef\\x41\\x7d\\x6e\\xbc\\x03\\xa4\\xbe\\xb5\\x30\\xd6\\x10\\x36\\x56\\xb3\\x80\\x83\\x13\\x04\\x51\\x16\\x0d\\xb2\\x28\\xaa\\x55\\x82\\x9d\\x97\\x91\\x5c\\x19\\x73\\x58\\x8f\\x2a\\xaf\\x79\\x91\\x82\\x18\\x56\\xc5\\x45\\xd4\\x3b\\x89\\xbf\\x0a\\xba\\xe1\\x65\\x72\\x2f\\xe3\\x12\\xfc\\x02\\x6a\\xd3\\x86\\x31\\x1f\\x65\\xb1\\xc5\\xb7\\x32\\x7e\\xd9\\x02\\x3e\\x6f\\x11\\x69\\xce\\x4d\\x17\\x4a\\xa1\\xfc\\x32\\xc9\\xec\\x72\\x19\\xa8\\xdc\\x97\\x90\\x60\\x43\\x5a\\x9b\\xd6\\x9b\\x6a\\x44\\x89\\x82\\x41\\x00\\x0a\\x6c\\x30\\x25\\x81\\x44\\x5f\\x15\\x74\\xaa\\x1c\\x72\\x7c\\x3c\\x51\\x3d\\x08\\x71\\x7b\\xee\\x8f\\xc5\\x0a\\x82\\x92\\x64\\x35\\xb3\\x04\\x57\\x25\\xf0\\x9f\\x4a\\x86\\x2b\\xea\\x01\\x9d\\x65\\x6e\\x8b\\x71\\xea\\x94\\xc9\\x33\\xc6\\x7f\\xf1\\xc9\\x1f\\xd7\\xce\\x9d\\x3e\\xfb\\xfb\\x1f\\x9f\\x7c\\x31\\x61\\xfa\\xe4\\x29\\x5c\\xf2\\x96\\xe3\\x89\\xdc\\x6f\\xc9\\x87\\xaf\\x6f\\xc1\\xf7\\xdb\\x70\\xe6\\xb5\\x5f\\xb1\\xcf\\x89\\x97\\x92\\xdb\\x9c\\xe4\\xfc\\x6f\\xd7\\xc8\\x39\\x1b\\x19\\xcd\\xbf\\xbe\\xf5\\xa5\\xa4\\x90\\x3e\\xf1\\x55\\xba\\x6e\\x2d\\xa8\\x6c\\xcd\\xe6\\x34\\x88\\xad\\xdb\\x1d\\xc0\\x07\\x0f\\x32\\x1c\\x29\\x0e\\xe8\\x34\\x6a\\xa6\\x5f\\x81\\x1e\\xab\\xa3\\x51\\x8d\\x01\\xad\\x88\\x8d\\x54\\xfb\\x81\\xd5\\xb3\\xc7\\x94\\xac\\xf2\\xc6\\x4a\\x56\\x54\\x5f\\xf4\\x99\\xef\\x00\\xcc\\x18\\x89\\xdd\\x1b\\x7f\\x07\\x9e\\xbd\\x9c\\xee\\x9d\\xc2\\xda\\xa2\\x7e\\x06\\x14\\x17\\x2c\\xa8\\x69\\xc0\\xa1\\x95\\x65\\x95\\xca\\x86\\x2c\\x16\\xab\\xcd\\xc0\\x57\\x07\\x0d\\x06\\x75\\x14\\x07\\xcb\\xa2\\xe1\\x93\\x96\\x7a\\x92\\x46\\xe5\\x61\\x36\\x84\\xac\\x04\\x9f\\xe2\\x95\\xdb\\x5a\\x8e\\x1e\\x41\\xcb\\x28\\xde\\x72\\xff\\xe6\\x8d\\x3b\\x00\\x03\\x6f\\xdb\\x62\\x4a\\xc2\\xbf\\x00\\x42\\x6e\\x4f\\x2e\\x7d\\xe4\\x3e\\x7c\\x10\\xc6\\x63\\x3a\\x0d\\x9b\\x57\\x51\\x20\\x01\\x66\\x85\\x54\\x2a\\x2d\\xad\\xa1\\xcd\\x34\\x47\\x36\\xa9\\xaa\\xf8\\x49\\xc5\\xe9\\xc1\\x0a\\x8f\\x8b\\x57\\xe6\\x7a\\x7f\\xf6\\xf6\\x67\\xef\\x7c\\x06\\x73\\x9a\\xcf\\xaf\\xa0\\xbf\\xff\\x1f\\x67\\x7f\\x02\\x18\\x55\\x91\\xfd\\x8f\\xa3\\xb7\\xee\\xd6\\x7b\\xdf\\xbe\\xb7\\xfb\\xf6\\x9e\\x4e\\x3a\\x9d\\x4e\\x67\\x21\\xe9\\x24\\x9d\\x85\\x24\\x90\\x34\\xfb\\x1e\\x92\\xb0\\x36\\x5b\\x12\\x44\\x40\\x16\\x05\\x11\\x51\\x76\\x45\\x50\\x14\\x05\\x77\\x41\\x44\\x60\\x40\\x05\\x37\\x40\\x54\\xc6\\x05\\x57\\xc0\\x0d\\x57\\x1c\\x45\\x9d\\x41\\xbf\\xa3\\xa2\\xb8\\x01\\xe3\\x36\\x40\\x17\\xaf\\xaa\\xee\\xed\\x2d\\x01\\x7f\\xf3\\xfe\\x93\\x31\\xe9\\x0e\\xe9\\x5b\\xa7\\x4e\\x9d\\x3a\\x75\\x4e\\x9d\\x73\\x3e\\x07\\xef\\x78\\x3c\\xa7\\xe1\\x88\\x77\\xaf\\x11\\x3d\\xdd\\x37\\x2a\\x9a\\x4d\\xa9\\x51\\x4c\\xd8\\x79\\xc4\\x0c\\x34\\xe1\\xc1\\x0c\\x99\\xa3\\xa5\\x1c\\xc8\\xb4\\x01\\x2f\\xe4\\x41\\x2a\\xc3\\xf6\\xfb\\x38\\x35\\xf0\\xb9\\x45\\xf1\\xa7\\x08\\x43\\x69\\x4a\\x8b\\xb1\\x6f\\xd0\\xd8\\xf8\\x6e\\x18\\xf9\\x90\\x22\\x63\\x34\\x99\\xf4\\x1a\\x46\\xe3\\xb0\\x1b\\x65\\x5c\\x58\\x68\\x42\\xb6\\x73\\x73\\x4c\\x8f\\x54\\x5e\\x4b\\x4c\\xd3\\xc5\\x60\\x4b\\x69\\x5d\\x52\\x82\\xa7\\x18\\x68\\xc8\\x85\\x74\\x25\\x8d\\x34\\xfa\\xd0\\x0f\\xdf\\x9d\\xfa\\x0a\\xb6\\xc0\\x5f\\xe8\\xe2\\xb1\\x8b\\xaf\\xba\\x6c\\x55\\x8c\\x5e\\x75\\xd7\\xb6\\x2d\\x8f\\x33\\x8b\\xf7\\xc3\\xa1\\x30\\x34\\x78\\xd4\\x90\\x5e\\x64\\x4f\\x24\\xf4\\x5e\\xd2\\x77\\xb4\\x39\\x18\\x41\\xd0\\xe8\\x0d\\x06\\x8d\\x43\\xe3\\x72\\xea\\xd1\\x91\\xac\\xd7\\x1b\\x64\\xad\\xa0\\x31\\xb4\\xc4\\x6c\\x98\\x92\\x64\\x38\\xa3\\x38\\xd3\\x68\\x4c\\x27\\x25\\x92\\x22\\x84\\xd4\\xcb\\xac\\xfe\\xf0\\xc0\\xe1\\x37\\xe1\\xd1\\xd3\\x39\\x93\\x5b\\x87\\x4d\\xf5\\xd3\\x16\\xc0\\xd1\\x37\\x6e\\xd8\\xf6\\x37\\xb4\\x39\\xe1\\x30\\x98\\xdf\\x38\\x7e\\x44\\x23\\x0c\\x61\\x7d\\xa1\\xc4\\x7f\\xb1\\xff\\xb8\\x40\\xa5\\x09\\xf9\\x8f\\x02\\x83\\xa9\\x61\\x34\\xb2\\x4d\\xa5\\x46\\x21\\x26\\xc1\\x95\\xae\\xfe\\x63\\x92\\x21\\x69\\xec\\xd8\\xf0\\x9f\\x13\\x67\\xfe\\x2f\\xfe\\x33\\x32\\x53\\x97\\x2f\\x9c\\xb7\\xea\\x05\\x7a\\xd5\\xfa\\x07\\x37\\x3f\\x81\\x86\\x47\\xbc\\x68\\x1a\\x31\\x38\\x4a\\xe4\\x01\\xfb\\x06\\xc3\\x48\\x4e\\xc5\\xfc\\x68\\x3f\\xbd\\x46\\xe3\\xb0\\x88\\xa2\\x0e\\x20\\xb6\\x64\\xfb\\x94\\x68\\xbe\\xc5\\xa4\\x8b\\x82\\x66\\x80\\xbc\\x1d\\x0b\\x68\\x07\\xbb\\xc0\\xcb\\xe0\\x4b\\x70\\x12\\x68\\x74\\xb8\\xa1\\x32\\xab\\x43\\x06\\xa6\\x4e\\xc7\\xda\\xdc\\x48\\x41\\xba\\xed\\x36\\x74\\x54\\xd9\\x2c\\x5d\\x0d\\x6d\\x25\\xa2\\x89\\xaf\\x5e\\x13\\x96\\x4a\\x6d\\x52\\x57\\x5b\\x95\\xdb\\x56\\x35\\xec\\x9f\\x0e\\x16\\x8a\\xd3\\x32\\xa6\\x12\\xa0\\xd0\\xcb\\x2e\\xd3\\xc0\\xb7\\x41\\x95\\x66\\xfa\\xd4\\x0c\\xc0\\xd0\\xdf\\x6f\\xf8\\x70\\x39\\x98\\x6e\\x9a\\x72\\xe9\\xf5\\xf7\\xee\\xbf\\x75\\x49\\x06\\x58\\x68\\xfb\\xe3\\x09\\x7c\\x9d\\xed\\x68\\x6e\\xd8\\xaf\\x1c\\x8e\\x3c\\x05\\x13\\x00\\x2e\\x64\\x92\\x58\\x2c\\xd9\\x2e\\x8d\\x26\\x27\\x5b\\x14\\x2c\\x32\\x65\\x46\\x7a\\x82\\xb2\\xb3\\x7a\\x5c\\x46\\x69\\x67\\xbd\\xcd\\x31\\xd6\\x72\\x61\\xc7\\x32\\xb1\\xe2\\x09\\xcf\\x32\\xd2\\x90\\x74\\x2d\\xf3\\x43\\xc4\\xb5\\x04\\xa9\\x24\\x27\\x1e\\x54\\xaf\\x74\\xbc\\xba\\xe9\\xb1\\x43\\x2f\\xef\\x7d\\xf8\\x80\\x71\\xc5\\xc9\\x93\\x60\\x56\\xe3\\xb0\\x61\\x0d\\xf5\\x83\\x87\\xf7\\xa1\\x6f\\xfb\\xfc\\x1b\\xe4\\xcd\\xff\\x09\\x7f\\x83\\x9f\\x9f\\xf9\\x1e\\x1f\\x46\\xf1\\xff\\x7b\\x69\\xd7\\x53\\x2f\\xbc\\xb2\\x6b\\x1f\\xc9\\x1f\\x55\\x75\\x8e\\x89\\xb2\\xe1\\xf8\\x89\\x48\\xf3\\x36\\xa3\\xd1\\x60\\xa0\\x78\\x9c\\xfa\\x81\\x64\\xa3\\x25\\x86\\x71\\x59\\x75\\xc8\\xa5\\xd1\\x09\\xc6\\xe4\\x81\\xd4\\x25\\x05\\x8b\\xd0\\x88\\x6f\\xeb\\x48\\x1e\\x53\\x04\\x6b\\x22\\x6b\\x20\\x57\\x46\\xde\\x24\\x7d\\x09\\x3c\\x09\\x0f\\x83\\xde\\x57\\x2e\\xf8\\xcf\\x09\\xf0\\x13\\xfc\\x96\\x3e\\x78\\xf8\\xc5\\x7f\\x80\\xa7\\xe0\\x30\\xf0\\x89\\x67\\xe3\\xd5\\x1b\\x36\\x22\\x8d\\xf4\\x14\\xf8\\xf4\\xde\\xbb\\x13\\xb6\\x3d\\xb7\\x47\\xca\\xc7\\xb6\\xbd\\xc8\\x53\\x7d\\x76\\x53\\x94\\xf6\\x29\\x3a\\x57\\xc4\\x51\\xa9\\xe4\\xbf\\x6f\\x4a\\xfe\\x3b\\xbe\\x99\\x71\\x44\\x4d\\x0c\\x9d\\x85\\x61\\x8f\\x28\\x7f\\x36\\x93\\x19\\x37\\xd7\\xa3\\xb3\\xa8\\x19\\x9d\\x45\\xf8\\x4e\\xbf\\x07\\xed\\x14\\x34\\x9a\\x60\\xd0\\xe2\\x76\\x08\\x82\\xcd\\x6a\\xb1\\x14\\x16\\xb8\\x25\\xab\\x84\\x0e\\x1f\\x6b\\x96\\xdf\\x6f\\x68\\x8d\\x51\\x7e\\x8b\\x3f\\xc7\\x3f\\xc7\\xbf\\xdc\\x8f\\x4c\\x62\\xab\\xdf\\xea\\x47\\x8b\\x85\\xfe\\xcf\\x8e\\x48\\xa6\\x9f\\x2b\\xd5\\x0c\\x09\\xc7\\x34\\x92\\xd6\\x8a\\x3e\\xa2\\xe2\\x2a\\xa8\\x50\\x7b\\xb9\\xa1\\x2a\\x07\\x4e\\x32\\x4e\\x42\\x99\\xe0\\xae\\x72\\xe8\\x08\\x45\\x5f\\x36\\x4d\\x02\\xd0\\xc4\\xc6\\x33\\xe5\\x53\\xfa\\x47\\x06\\x57\\x8e\\x8c\\x4d\\x5d\\x02\\x8f\\xaf\\x5c\\x89\\x7c\\xbe\\x6e\\xf0\\x88\\x96\\xad\\x7d\\x6c\\xc1\\x23\\x8f\\xdc\\x0e\\xc7\\xe8\\x0e\\xb2\\xbd\\x3a\\xe8\\x2b\\x1f\\x58\\xfe\\xe4\\xea\\xf8\\x37\\xec\\xfd\\x3b\\x6f\\xbc\\x71\\xe7\\x9a\\xd9\\xd3\\x17\\xcf\\x79\\xe7\\xc8\\xb9\\x33\\x6b\\x37\\xe0\\x73\\x8a\\xf8\\x77\\x98\\x5f\\xcc\\xbf\\xd5\\xb8\\xdf\\x9d\\xaa\\x55\\xca\\x8b\\xf9\\x60\\x6e\\x97\\xf8\\xf9\\x72\\xc4\\xbf\\x69\\x64\\xef\\x2d\\x8a\\x0e\\x74\\xb1\\x4e\\x8f\\xc7\\x60\\xf0\\x49\\xa2\\x88\\x5c\\xc3\\x6c\\x5f\\x94\\x69\\x46\\x3c\\x4c\\xfa\\x05\\x5f\\x32\\x27\\x19\\x0d\\xf6\\x0d\\x3c\\x94\\xd3\\x83\\x1c\\x76\\x29\\x5b\\x42\\x1e\\x84\\x24\\xc9\\x4e\\x27\\xf2\\xe6\\xe5\\xe6\\x98\\xd9\\xa2\\xa5\\x9a\\x63\\xda\\xbf\\x46\\xcb\\x99\\x9b\\xcc\\x2a\\x48\\x08\\x33\\xc6\\xca\\x21\\x00\\xc3\\x81\\x4c\\xe0\\x61\\x35\\x57\\x88\\xbe\\x41\\xc1\\x18\\xbe\\xee\\xc3\\x15\\x99\\xe0\\xc3\\x53\\xa7\\x6b\\x40\\x15\\x7c\\x5b\\x33\\xfd\\x31\\x05\\x63\\x38\\x03\\x7a\\x78\\xf1\\x6d\\xfb\\xef\\x59\\xa1\\xd8\\x57\\xd7\\xa2\\x39\\x36\\x13\\x1b\\x68\\x34\\x79\\x7f\\x35\\xe2\\xd1\\x22\\x92\\x9b\\x33\\x34\\xed\\x3d\\x96\\xa1\\xff\\x28\\x32\\x54\\x48\\x29\\x11\\x76\\x3d\\x2e\\xa4\\x75\\x98\\x8d\\x4c\\x5a\\x84\\xbd\\x73\\xde\\x14\\x89\\xaf\\xff\\x48\\xfc\\x4d\\x37\\x15\\xa0\\x86\\x46\\x0b\\x28\\x41\\xf4\\x78\\x5c\\xd9\\xb2\\x8c\\x34\\x68\\x50\\xe3\\xf2\\xb4\\xc4\\x5c\\xc8\\x24\\x6d\\xc1\\x10\\x3c\\x82\\x80\\xf8\\x23\\x08\\x9c\\xbe\\x25\\xb3\\x88\\x53\\xd9\\xe3\\x04\\xcb\\x33\\xc3\\x2f\\x66\\x94\\xea\\x24\\xa5\\x46\\x53\\x89\\xa8\\x2b\\x2a\\xd6\\x9a\\x54\\xf3\\x3b\\x0a\\xac\\x75\\xb3\\xaf\\x09\\x06\\xad\\x59\\xc5\\x05\\x1e\\x53\\x15\\xed\\xad\\xfc\\xf0\\xc0\\xbb\\x6f\\x24\\x75\\x3e\\x32\\xbb\\x1b\\xde\\x7f\\x6a\\x88\\x61\\xa7\\xb6\\xfb\\xcd\\xeb\\xe8\\xe1\\x70\\xe8\\x86\\x6d\\xdb\\xb6\\x21\\x57\\xba\\xbc\\x71\\xdc\\x88\\x46\\x5c\\x73\\xa6\\xfa\\xca\\xf8\\x72\\x7b\\x58\\x34\\xdf\\x8c\\xd4\\xbc\\x64\\xb5\\x6a\\x1c\\x0c\\x23\\xe0\\x7b\\xb9\\x2c\\xaf\\x47\\x67\\xd6\\xb5\\xc4\\x24\\xb3\\xd9\\x6a\\x31\\x0a\\x1a\\x74\\x10\\x18\\x32\\x0e\\xa3\\x94\\xc8\\x2b\\x49\\x81\\x69\\xc4\\x27\\x68\\x4d\\x86\\xd7\\x53\\xc7\\x02\\x53\\xa5\\x10\\xf9\\xca\\xe9\\xd3\\xaf\\x24\\x0e\\xa7\\x55\\x98\\x32\\xf0\\x19\\xcc\\xc7\\xa7\\x03\\x56\\x06\\x30\\x44\\x68\\x04\\xc8\\xae\\xa2\\xc8\\x9e\\xf5\\x51\\x13\\xa2\\x11\\x97\\xd6\\xe3\\xb4\\x58\\x44\\xe4\\xdc\\xc9\\x36\\x51\\xcc\\xc9\\xf6\\x58\\x6d\\x88\\x28\\xa7\\x8d\\x31\\xa2\\xfd\\xca\\x60\\x61\\xcd\\x61\\xe6\\x30\\xcb\\x19\\xce\\xc6\\xd8\\x18\\xe4\\xb4\\x88\\x84\\x5c\\x65\\x9f\\x66\\x56\\xc9\\x62\\x21\\x4c\\x28\\x2a\\x72\\x8f\\xa4\\xee\\x42\\xff\\x85\\x37\\x29\\xd8\\x46\\x76\\x21\\xfc\\xae\\x65\\x02\\xde\\x9c\\xab\\x56\\xa9\\x9b\\x93\\xa9\\xc3\\xfb\\x2f\\xbe\\x90\\xee\\x77\\xef\\x02\\xb2\\x2d\\x37\\xee\\xb8\\xf1\\xc6\\x1d\\xb7\\xce\\x9e\\x9e\\x8c\\xc7\\xdc\\x4c\\xf6\\xe3\\x09\\x22\\x5b\\x57\\x4f\\x51\\x76\\xa3\\x84\\x76\\xe3\\x40\\x49\\x4e\\x45\\xe1\\x93\\xfe\\xe4\\x9e\\x84\\x3f\\x49\\xf5\\xd9\\x84\\x75\\x1d\\x90\\x13\\xba\\x8e\\xd8\\xd5\\xd8\\xdf\\xc4\\xab\\x86\\xfd\\x4d\\x63\\xaa\\x1e\\xdb\\xe8\\xce\\xd3\\x4b\\xe9\\xfe\\x26\\xb2\\xb1\\xfa\\xa8\\x76\\x9c\\x91\\xd3\\xea\\x31\\xa6\\xa5\\x16\\x98\\x8c\\x06\\x6c\\x5e\\xe9\\x79\\x5a\\xc0\\x10\\xca\\xcd\\x31\\x40\\x85\\x2f\\x6c\\x9e\\x16\\xa6\\x1c\\x98\\x00\\xf8\\x11\\x6e\\xc2\\xbe\\x0b\\x70\\xc3\\x4d\\xd8\\x44\\x5d\\xc9\\x2c\\x3a\\x7b\\x10\\x4e\\x27\\xfa\\xa3\\x11\\xc9\\xfe\\x6d\\x5c\\x0c\\xd9\\xc7\\xc3\\xa3\\x85\\xd6\\x1c\\xb3\\x81\\x2f\\x2a\\x32\\x94\\xbb\\x73\\x38\\xc4\\x4a\\xa6\\x94\\x69\\x8b\\xb9\\xa8\\x60\\x88\\x2a\\x35\\x1a\\x43\\x59\\xa5\\xac\\x45\\x17\\xd2\\xb5\\xc5\\x02\\x21\\x6b\\x12\\x8f\\x44\\xa9\\x81\\xbd\\x60\\x15\\x2c\\x50\\xeb\\xf4\\x24\\x1c\\xf4\\x40\\x36\\x3d\\x3a\\xe9\\xaa\\x2c\\xa9\\xcb\\x03\\xe5\\xd8\\xc3\\x15\\x07\\x18\\x83\\x89\\xa4\\x50\\x83\\x57\\xdd\\x5e\\xb3\\x3f\\xab\\xbc\\x38\\x92\\x77\\x3c\\x2f\\x52\\x5c\\x9e\\x9d\\x6d\\xf6\\xba\\x57\\x16\\xcd\\x18\\xb2\\x7e\\xdd\\xc3\\x9b\\xae\\xeb\\xe8\\x58\\xbe\\xf9\\xe1\\xde\\x2b\\x27\\x0f\\x99\\x51\\xc4\\x36\\x7a\\x9c\\x5f\\xfc\\x74\\x04\\xc2\\x05\\x20\\x00\\xff\\xb9\\x00\\xf0\\xaf\\x01\\xd3\\x9b\\x4e\\xcf\\x9d\\x3d\\x86\\xc0\\x97\\xe1\\x3a\\xb8\\x15\\x6e\\x59\\xb2\\x04\\x5c\\x02\\xc6\\xe1\\xb8\\xe0\\x4d\\x43\\x7a\\x24\\xee\\x94\\x16\\x23\\x7e\\x3a\\xa8\\xfe\\xd1\\x3c\\xa3\\x41\\xaf\\x33\\x49\\x22\\xcf\\x59\\x1d\\x32\\xf2\\x50\\xad\\x1a\\x8b\\x68\\x32\\x68\\x9c\\x2e\\xab\\xc9\\xa4\\xd1\\x3b\\x44\\x83\\xc0\\xeb\\x89\\xd0\\x75\\x2d\\xe7\\x89\\xa4\\x42\\x10\\xb8\\xc2\\x57\\x13\\x40\\xee\\x7a\\x00\\x44\\xac\\x68\\x7b\\x33\\x11\\x6b\\xb5\\x58\\x19\\x62\\xc7\\xe6\\xcd\\x5a\\xfd\\x71\\x53\\x8f\\x61\\x47\\xe0\\xd9\\x1f\\xfe\\xd6\\xad\\xa7\\x69\\xf4\\xf7\\x5b\\x67\\x04\\xd8\\xba\\xe5\\x6b\\x5e\\x80\\x37\\x9d\\x01\\x7d\\xdf\\x40\\x54\\x9c\\xfb\\x70\\xca\\x2f\\x57\\x80\\x59\\xe7\\x3e\\x38\\x06\\xfc\\xf7\\x12\\xbb\\xf6\\x3c\\x54\\xf2\\x0c\\xc8\\x3e\\x6e\\x8e\\x16\\x6a\\x59\\xa7\\x53\\x02\\x16\\xde\\x6a\\x35\\x5a\\x8c\\xde\\x2c\\xad\\xa3\\x2d\\xa6\\x91\\x28\\x09\\xa7\\xf4\\x68\\xd1\\x17\\xb2\\xa9\\x9c\\x6d\\x31\\x8b\\x44\\x33\\xe9\\x85\\x80\\x89\\xdd\\x91\\x32\\xea\\x12\\x2d\\xad\\xf0\\x2e\\xc0\\xa9\\x7b\\x44\\xff\\xe0\\x84\\x88\\x40\\x2a\\x66\\x72\\x14\\x84\\xbe\\xfa\\xea\\xf9\\x93\\xff\\x85\\x3f\\xfc\\x0a\\x1b\\x8e\\x32\\x0b\\x6f\\xb9\\xf9\\xd2\\x99\\x6b\\x56\\xb0\\x8f\\xdf\\x77\\xdf\\xfe\\x17\\xdf\\x7f\\xf5\\xd5\\x7f\\x31\\xbf\\xc4\\x1f\\x27\\xd9\\x10\\x44\\x57\\xe6\\x13\\x7c\\xd2\\x77\\x28\\x11\\x69\\xcb\\xa6\\x68\\x81\\x96\\xc5\\x2e\\xbf\\xc0\\xdb\\xed\\x06\\xc1\\xe0\\xf1\\x6a\\xdd\\x2d\\x31\\xad\\x56\\xa0\\x04\\x74\\x08\\x0b\\x32\\x4d\\x69\\x44\\x4a\\x44\\xe6\\x10\\xf1\\x71\\xba\\x20\\xf5\\x75\\xa6\\xd2\\xaa\\x16\\x2e\\xca\\xb8\\x00\\x96\\xd8\\xa1\\x49\\x7d\\x93\\x0f\\x68\\x24\\xc0\\x75\\xf0\\xe0\\x54\\xf0\\xcf\\x3f\\xbe\\x81\\xcb\\x20\\xa4\\xbd\\x45\\xd7\\x5f\\x73\\xd5\\xca\\x62\\xb6\\x0e\\xdc\\x01\\x2f\\xdf\\xff\\x1b\\x7c\\xf5\\xc1\\x9d\\x48\\x2d\\x46\\x06\\xb5\\x0c\\x25\\x38\\x65\\x97\\x9c\\x3f\\xc1\\x3e\\xcb\\x8d\\x45\\xe7\\xe2\\xd0\\x68\\x91\\x44\\x19\\x44\\x93\\xc9\\x6c\\x36\\x38\\x79\\x74\\x2a\\xca\\xde\\xb6\\x98\\xcc\\x8a\\xc6\\xf6\\x18\\x27\\xba\\x5c\\x22\\xc7\\x98\\x05\\xc6\\x2c\\xe1\\xbc\\x32\\xad\\x35\\x61\\x15\\x90\\xd6\\x4c\\x89\\xbb\\x92\\x34\\x73\\x48\\xa9\\x89\\x71\\xd0\\xfe\\x64\\x2c\\x20\\xe2\\x4e\\x15\\xb4\\xd3\\xf7\\x4d\\x18\\x37\\xa5\\xe6\\xdd\\x71\\xf0\\xe7\\x67\\x0f\\x0b\\x57\\x1f\\x3b\\x76\\xad\\x74\\x68\\xcf\\xca\\xa7\\xf2\\x0f\\x5b\\x87\\x94\\xef\\xa2\\x1f\\xfe\\xea\\xd7\\x3f\\x6a\\xe1\\x38\\x10\\x06\\x41\\x05\\xe7\\x1b\\x08\\xc0\\xf1\\xfa\\x4b\\x03\\xa7\\xe1\\x7e\\x59\\xd4\\x10\\xb4\\x0f\\xef\\x43\\xe7\\x78\\x80\\x9a\\x16\\xad\\x65\\x02\\x01\\xca\\x2a\\xda\\x6c\\xac\\xdf\\xa0\\xd7\\xbb\\x3d\\x1e\\x3f\\xc5\\xe4\\x05\\x09\\x70\\x91\\x5d\\x63\\xc6\\x95\\xc4\\xb6\\x5c\\x9c\\xbb\\x29\\x32\\xb8\\x01\\x25\\xed\\x66\\x90\\xef\\xe5\\x66\\x80\\x40\\x2e\\x78\\x08\\xe5\\xaa\\xa2\\x4c\\x41\\x78\\xa7\\x0a\\x19\\x92\\xfe\\x0f\\xf9\\x91\\x51\\x8d\\x8f\\x24\\x44\\x31\\xa4\\x49\\xee\\x35\\x8d\\x2c\\xd2\\x21\\xdf\\x74\\xd8\\x3f\\x7a\\xe8\\x9e\\xd7\\x5c\\x3f\\xea\\xfa\\xf6\\xec\\x3f\\x94\\x3b\\x71\\x82\\x6b\\xea\\x5f\\x3b\\x4c\\xf7\\x83\\xf4\\xee\\xfd\\xdb\\x3f\\xb4\\xb7\\x23\\x55\\x3f\\xe8\\xe8\\xe9\\xfd\\x3b\\x2d\\x23\\x2f\\xb9\\x79\\xf9\\xfe\\xd5\\xeb\\x2e\\xbd\\x54\\x78\\xec\\x3d\\xea\\xfc\\x67\\xb0\\x9e\\xe4\\xa3\\xaa\\x38\\xde\\x18\\x6b\\xbd\\x6f\\xd4\\x6f\\xa2\\x69\\x23\\xc3\\x31\\x1a\\x34\\x27\\x2b\\xaf\\xd1\\x48\\x80\\x33\\x72\\x1d\\x31\\x41\\x6b\\x34\\x6a\\xb4\\x8c\\x81\\xd1\\x48\\xe4\\x6a\\x96\\x28\\x94\\x54\\xc2\\x57\\x24\\x89\\x71\\x45\\xee\\x99\\xf1\\x61\\xc4\\x60\\xf0\\x2d\\x24\\x1b\\x74\\xc8\\x0c\\x98\\x9c\\xbe\\xc7\\x07\\xdc\\x08\\x8f\\x82\\xe7\\xc1\\x58\\xf0\\x1c\\xfc\\x0c\\xf6\\xfb\\x6d\\x96\\x99\\x2f\\x02\\x5f\\xc1\\x6c\\xfc\\x1f\\x8e\\x75\\xd3\\x2f\\x81\\xeb\\x86\\x67\\x3f\\x8c\\xe8\\xc1\\x35\\xa2\\xf7\\x12\\x9d\\x2a\\x22\\xa9\\x08\\xd2\\xc8\\x57\\x34\\x1a\\x80\\x81\\xe1\\x19\\xc9\\xaa\\xc1\\x68\\xdd\\x00\\x5f\\x7e\\xe3\\xcb\\x46\\xa3\\xc9\\xc8\\xb0\\xd8\\x81\\x95\\x55\\x9a\\x6a\\x95\\x3a\\xaa\\xcc\\x3c\\x34\\x35\\x11\\x8d\\xa4\\x02\\x10\\x9a\\xb0\\x48\\x30\\x91\\x52\\x10\\xe2\\x69\\x6a\\xe0\\x2c\\xf8\\x3d\\x58\\x8b\\xbc\\x9e\\x15\\xf0\\xfb\\x99\\x03\\x0f\\xf3\\x9f\\x17\\x74\\x73\\x68\\xc1\\x78\\xb8\\x9d\\xdc\\x20\\xa1\\x9f\\xb4\\xfd\\xea\\x65\\xed\\x7e\\xcc\\xa7\\x06\\x95\\x4f\\x56\\xca\\x45\\x8d\\x89\\x96\\x20\\xe7\\x82\\xb1\\x5a\\x29\\x1b\\x2b\\x1b\\x0c\\x46\\x2d\\xbe\\x9e\\xa7\\x38\\xb7\\x46\\xe3\\x31\\xeb\\x25\\x46\\xea\\x88\\xd9\\x1c\\x1c\\x83\\xd8\\x08\\x18\\x8b\\x51\\x9b\\x00\\x59\\x26\\xe5\\x72\\x64\\xc9\\x09\\x7d\\x48\\x7c\\xd3\\x5c\\xea\\xd4\\x6a\\x5b\\x23\\x88\\x52\\x85\\x87\\x01\\x6b\\x00\\xfd\\x25\\x13\\xd2\\xf0\\x0d\\x47\\x7e\\x5c\\xff\\x07\\x68\\x3c\\xd2\\x51\\xf6\\x48\\x64\\xf2\\x47\\x73\\x9f\\x05\\x8f\\xec\\xaa\\xcf\\xe2\\x4c\\x48\\x42\\x17\\xd2\\xab\\xce\\x3c\\x9f\\x60\\x25\\xfe\\x0f\\xb1\\x32\\xbc\\x25\\x30\\x16\\xd3\\xdc\\x17\\xd1\\xbc\\x83\\xdc\\x37\\xba\\xa8\\xc9\\xd1\\x0a\\x85\\x66\\x85\\x64\\x4c\\x31\\x4b\\x69\\x28\\xb7\\x47\\x9b\\xa0\\x1a\\xf9\\x74\\x4e\\x86\\x93\\x19\\x99\\xe1\\x04\\x20\\x60\\xc2\\xe5\\x04\\xe1\\x0a\\x67\\x2b\\x92\\xb4\\x2b\\xbc\\x4d\\x6c\\xb9\\x8a\\x0c\\xf2\\xfd\\x9d\\xc8\\xc7\\x9c\\xee\\xfb\\xf1\\x07\\xeb\\x31\\xfe\\xc6\\x47\\xad\\x35\\x1b\\xab\\x47\\x1c\\x99\\xfc\\x00\\xb8\\xeb\\xa1\\xee\\x36\\xce\\x82\\x7c\\xa2\\x2f\\xe8\\x3c\\x85\\xd5\\x89\\xff\\x68\\xfb\\xd1\\x09\\x39\\x43\\x88\\x1e\\x4b\\xc4\\xd7\\x5d\\x94\\x17\\xf3\\x5c\\x16\\x6c\\x1e\\x8b\\xc5\\x0d\\x68\\xaf\\xc9\\xac\\xd5\\xe9\\x4c\\xb4\\xdb\\xc6\\xf9\\xb2\\x18\\x8a\\xc5\\xb1\\x7d\\xb7\\xc5\\x64\\xd2\\x99\\xcd\\xde\\x8e\\x98\\x99\\x91\\x69\\x9d\\x22\\xa7\\x09\\x04\\x77\\x95\\xeb\\x9d\\x40\\x3b\\xd4\\x2c\\xc0\\x80\\xa8\\x36\\x65\\x21\\xf7\\xd2\\x18\\x1e\\x53\\xc9\\x08\\x44\\xce\\x08\\xfd\\xc5\\x0f\\x86\\x21\\x2d\\xa7\\x1e\\x7f\\x00\\x1e\\x62\\xce\\xc0\\x43\\x9b\\x1e\\x3d\\x35\\x62\\xf0\\xf5\\x8f\\xc0\\xdd\\x74\\x28\\x7e\\x94\\x0e\\x5d\\x3f\\x1f\\xbe\\x0f\\x22\\xef\\x9f\\xd6\\xd2\\x03\\xe3\\xfb\\x74\\xa7\\xdf\\x43\\xde\\x56\\xd9\\xfc\\xeb\\x91\\x79\\x5c\\x8b\\x68\\x4f\\xdc\\xf1\\x38\\xd1\\x59\\x31\\x32\\xda\\x8d\\xe3\\x3d\\x46\\x0a\\xb8\\xcd\\x66\\x97\\xcd\\x64\\xb5\\xba\\x80\\xc1\\xc8\\xf3\\xde\\x2c\\x27\\x6d\\xa0\\x91\\xe5\\x6a\\x36\\x18\\x78\\xa3\\xd1\\x33\\x22\\x66\\x14\\x6c\\x40\\xb9\\x81\\xcd\\x24\\xbd\\x2b\\xe5\\xf8\\x16\\x56\\xcc\\xcd\\x02\\x01\\x5c\\xef\\x49\\xc8\\xa6\\xc9\\x9b\\x7c\\x74\\xf0\\xfb\\xe9\\x23\\x5f\\x1c\\xfe\\x62\\xf8\\xdd\\x33\\xe1\\x2f\\xcc\\xd3\\xf0\\xe7\\x19\\x77\\x35\\x7f\\x31\\x7d\\xea\\x9c\\xc7\\xe0\\xa3\\xe0\\xbe\\xef\\x9f\\x3c\\xda\\xb1\\xfd\\x32\\x3d\\xf8\\x0e\\x3a\\xf5\\xd3\\xb7\\x5e\\x7a\\xf4\\xc9\\xb9\\xd7\\xec\\x06\\xf9\\x98\\xd7\\x75\\x6a\\xfe\\x27\\xae\\xcb\\xba\\x24\\x5a\\x45\\x67\\x65\\xf9\\x1c\\x4e\\xbf\\x87\\x15\\x25\\x4d\\x36\\x97\\x83\\x3c\\xd3\\x9c\\x6c\\x89\\x61\\x9d\\x3e\\x6d\\x6e\\xc0\\x62\\xf5\\xd2\\x48\\x3d\\xf3\\xd9\\x34\\xcd\\x3a\\x25\\xa3\\x4f\\x62\\xfd\\x1d\\x31\\x96\\xa1\\x18\\xf5\\xea\\x5a\\x81\\xf7\\xcf\\x64\\x7a\\x9a\\x9c\\x27\\x43\\xf1\\x7e\\x06\\x6d\\xc6\\x24\\xbb\\xd1\\x77\\x75\\x19\\x6a\\x70\\x90\\xc6\\x1a\\xa8\\x7b\\x17\\x74\\x7c\\xcb\\xe4\\x9f\\xd2\\x2e\\x5d\\xfd\\x6e\\x7d\\xe4\\xad\\xca\\xda\\x77\\x43\\x77\\xbf\\x4b\\x1f\\x5d\\x78\\x0a\\x49\\xfd\\x67\\x74\\x7e\\x92\\xe5\\xf3\\x6e\\x48\\x2d\\xc6\\x9d\\xf3\\xe3\\x07\\x98\\x3e\\x20\\xa0\\xdc\\xb5\\xf4\\xc7\\xdd\\x4e\\x09\\x8e\\x61\\x0e\\x92\\xff\\x2a\\x01\\xc9\\x3d\\xc7\\xe7\\x88\\x14\\x90\\xb2\\xdd\\x2e\\x97\\x2d\\xdb\\x07\\x2c\\x22\\x6f\\xd4\\xf9\\x73\\xb3\\x68\\xbd\\xcf\\x26\\x08\\xfa\\x11\\xc8\\x6f\\x30\\x22\\x83\\x77\\x44\\x4c\\x14\\x4c\\x82\\x1b\\x39\\x3a\\xea\\x75\\x78\\xba\\xef\\x4d\\x66\\x91\\x39\\xab\\xe4\\x8a\\xf0\\x64\\x11\\x6a\\x94\\x53\\x47\\x99\\x9f\\xb2\\x2e\\x61\\x34\\x21\\x66\\xda\\x8b\\xb7\\xec\\xf7\\x2d\\xda\\xbf\\x1f\\x4c\\x3e\\x42\\x9f\\x3c\\xa2\\x1d\\xb5\\x20\\xba\\xff\\xd6\\xf6\\xc5\\xbf\\x81\\xfb\\xf4\\xc7\\x9e\\x3c\\x3a\\x6e\\x24\\xbc\\x16\\xa9\\x6a\\x27\\x59\\x9b\\x69\\xdb\\x2f\\x39\\xfa\\xe4\\x31\\xfd\\x41\\x20\\x92\\xfc\\x6b\\xd8\\xc1\\xde\\xce\\x3f\\x85\\x64\\xea\\xf6\\x68\\x56\\x96\\x7e\\x40\\x4d\\xaf\\x5e\\x7d\\xf3\\x1b\\xca\\xfd\\xa5\\x61\\x8a\\xea\\x26\\xcb\\xa5\\xe5\\xf9\\x03\\xb8\\x96\\xe6\\xee\\x75\\x55\\x75\\xfb\\x80\\x21\\x5a\\x12\\xab\\x12\\xc2\\x40\\xc7\\x84\\xa3\\xe5\\xac\\xc6\\xd4\\x11\\xeb\\xeb\\xcf\\xcd\\xf5\\x63\\x34\\x89\\xdc\\xe2\\xe2\\x5c\\x8d\\x81\\x95\\x1a\\x4a\\x4b\\x0b\\x27\\xc7\\x4a\\x59\\x89\\x6e\\x8b\\x49\\xfb\\x40\\x75\\xc2\\x47\\xa2\\x70\\x60\\x1a\\xb7\\x7b\\x51\\x6e\\x73\\xf0\\x2f\\xdd\\xff\\x44\\xce\\xe4\\xeb\\x17\\x12\\xc1\\xc4\\xfe\\xe1\\x6c\\xc8\\x6f\\xa2\\xf1\\x01\\xe5\\xaf\\xc4\\x15\\x60\\x6a\\x09\\xb2\\x52\\x16\\x89\\x13\\xeb\\x12\\xe5\\x60\\x41\\x29\\x88\\xac\\xaf\\x8c\\xfa\\x3c\\x05\\x06\\x91\\x24\\xda\\xd1\\x1a\\x33\\x0d\\x86\\x5d\\x59\\x36\\x75\\xf6\\x95\\xf5\\xab\\xef\\x61\\xe0\\xc9\\x41\\xb9\\xe3\\x67\\x2f\\xea\\x75\\xc7\\xae\\xd1\\xdb\\x0f\\x6d\\x5e\\x10\\xdd\\xf0\\xb7\\xda\\xda\\x3b\\x6e\\x59\\x30\\xfd\\xed\\x21\\x30\\x3e\\x1d\\x78\\x76\\xbf\\xbc\\x66\\xaa\\xaf\\xb5\\xa1\\xbd\\x6e\\x98\\xe4\\x94\\x5c\\xa6\\x49\\x0f\\x3c\\x79\\xd3\\xaa\\xb5\\x5b\\xeb\\x67\\xfd\\xfd\\x95\\xeb\\x3b\\x4a\\xa7\\x8d\\xcc\\xce\\xcf\\xde\\x7a\\xe7\\xc4\\x40\\x51\\xe0\\x91\\x35\\x33\\xae\\xef\\x27\\x99\\x43\\x7d\\xbb\\x4f\\x1e\\xfd\\xf9\\xc4\\xf6\\xb1\\x13\\x7f\\xa9\\x07\\x35\\x8d\\x60\\x0c\\x7c\\xf1\\x93\\xc6\\xda\\x21\\xa3\\x5d\\xb2\\xf3\\x09\\xff\\x9e\\xe5\\x8b\\x76\\xf8\\x6d\\x0f\\x2d\\x1f\\xbf\\x62\\x74\\x95\\x49\\xef\\x28\\x42\\xfc\\xde\\x84\\x7c\\x80\\xa1\\xdc\\xad\\x54\\x33\\xb5\\x21\\xda\\x58\\xe7\\x71\\x50\\x46\\x77\\x61\\x56\\x37\\x4b\\xb8\\xac\\x4c\\xab\\xed\\x17\\x88\\x44\\x2c\\x59\\x6e\\x8a\\x6b\\x69\\x0d\\x1b\\x4d\\xbd\\x07\\x8d\\x88\\xe1\\x10\\x9e\\xd0\\x1b\\x58\\x98\\xfe\\xbd\\x4d\\x76\\xbb\\xa9\\x77\\x7f\\xb6\\xc9\\xdd\\xd4\\x73\\x44\\xac\\xc9\\x93\\x97\\xef\\xcf\\xc7\\x68\\xbd\\xd6\\x98\\x5f\\xf0\\xa0\\x15\\xf1\\x44\\xb3\\x2c\\x85\\x6e\\x1c\\x09\\x74\\x27\\x2f\\xfc\\x53\\x1c\\x4e\\x6f\\xb8\\x43\\xbc\\xf9\\xf4\\x9a\\xa6\\x8c\\xac\\xcd\\x08\\x66\\xbc\\x23\\xc1\\x65\\x64\\x17\\x64\\xc4\\xfc\\x6a\\x32\\xd8\\x9c\\xe0\\xb2\\xac\\xe4\\x33\\x26\\x6a\\x53\\x95\\x25\\x23\\x7d\\xbc\\xc9\\x9a\\x6d\\xea\\xbf\\x68\\xfd\\xc2\\xe1\\x25\\xd5\\xb3\\x56\\xde\\xb3\\xb2\\x69\\xe0\\xf0\\x0e\\xed\\x4f\\xd6\\xb5\\x57\\xec\\x39\\x78\\xfb\\x8c\\xfc\\xa6\\xfa\\x69\\x0d\\xcd\\xa2\\x27\\xdb\\x33\\x7e\\xe6\\xb5\\x4b\\x16\\xad\\xba\\xb3\\xe5\\xb1\\x87\\x57\\x4f\\xec\\x59\\x5b\\x3e\\xa2\\x65\\x4c\\xf5\\x15\\x0b\\xf9\\x13\\xc8\\x04\\x09\\x35\\x0c\\x9c\\xd0\\x67\\xd5\\x43\\x37\\x4c\\x9a\\xdf\\xcf\\xeb\\xc8\\xad\\x2a\\xaa\\xe9\\xe9\\x21\\x11\\xc4\\x61\\x7d\\xec\\x73\\xd7\\x64\\x81\\xfe\\xf0\\xf0\\x6b\\xfd\\xab\\x9b\\x62\\xee\\xd2\\xfb\\xb3\\x57\\x4d\\x24\\xf1\\xc4\\xeb\\xa7\\x8c\\xbb\\xae\\xd9\\x25\\xd7\\x57\\xe6\\x95\\x79\\x73\\xbd\\x6b\\x57\\x07\\x42\\xe8\\xc7\\xa6\\x44\\x8e\\x37\\xc6\\x73\\xcf\\xa2\\xa2\\xd1\\x6c\\x87\\xdb\\x0a\\x00\\xc6\\x0e\\x76\\xbb\\x75\\xd9\\x3e\\xec\\x77\\xa2\\xa3\\xd5\\x6a\\xb1\\xd0\\x4e\\x51\\xa7\\x00\\x18\\xa5\\xa9\\x9a\\x14\\x10\\x73\\x32\\x3c\\x84\\x55\\x7b\\x29\\xa0\\x43\\x11\\xab\\x8f\\xbe\\x00\\xa4\\xfb\\x15\\x77\\x76\\x8c\\x0f\\xfd\\x32\\xda\\x9b\\x1f\\xe9\\x96\\x09\\xec\\xde\\xfe\\x36\\x38\\x78\\x08\\x0e\\xb9\\x6d\\x46\\x69\\x0a\\xd9\\x1d\\xc2\\x3f\\x48\\x7e\\x2e\\x92\\x8d\\xd5\\x44\\xaf\\xf7\\x88\\x66\\xb1\\x1a\\x05\\xad\\x4d\\xd4\\x68\\x44\\xb7\\xcb\\x91\\x0e\\xd4\\x66\\x4c\\x0f\\xac\\x74\\xa5\\xad\\x13\\x4c\\x5b\\x32\\xd7\\x96\\xfe\\x7c\\x70\\x53\\x10\\xc3\\xb4\\x1d\\x78\\xd7\\x3b\\xe8\\xd4\\x20\\x69\\xcc\\xa8\\x7f\\xed\\x02\\x75\\x8b\\xe7\\xa5\\x41\\xb5\\xd1\\x5f\\xff\\x89\\xa1\\xda\\x36\\xdc\\x46\\x33\\xab\\x15\\xcc\\x5d\\x35\\xff\\x10\\xd9\\x4c\\x4e\\x2a\\x48\\xb5\\x46\\x8b\\xf2\\x90\\x69\\x92\\xe3\\x70\\xf0\\x14\\x9f\\x1f\\x72\\x18\\x7d\\xc8\\x8a\\xce\\x43\\x46\\x74\\x7b\\xcc\\xe7\\xf2\\xb9\\x74\\x8c\\x4e\\x6e\\xc3\\xc9\\x35\\xb9\\x6d\\x99\\xc9\\x35\\x0a\\x4c\\x09\\xd5\\x09\\xe9\\x5f\\x51\\xd6\\x69\\x0d\\x2c\\x82\\xa4\\xc1\\xad\\x06\\x79\\x8c\\x56\\x1e\\x90\\x9a\\xf4\\x1a\\xf4\\x9e\\xa9\\x1e\\x08\\x9c\\x04\\x8c\\xc7\\x05\\x8f\\xc3\\x33\\xe8\\xeb\\x3b\\xfa\\xa9\\xc2\\xc1\\xfd\\xa2\\xbe\\xca\\x3a\\xf7\\xc7\\xef\\xe4\\x96\\xc2\\x97\\x8a\\xa3\\x3d\\x7a\\x97\\x96\\x94\\x7a\\xfe\\xf1\\xb6\\xbf\\x3b\\xfd\\x70\\x02\\x9a\\x07\\x7d\\x6d\\x02\\x93\\x9f\\xf6\\x05\\x7d\\x7e\\x78\\x3b\\x18\\xe4\\x06\\x4d\\xe8\\xa5\\x17\\x4c\\x85\\x2f\\x67\\x93\\xb9\\xa5\\xb0\\x4a\\x5d\\x54\\x01\\x35\\x2e\\x5a\\xea\\xf4\\xfb\\xa9\\x90\\x24\\x71\\x14\\x57\\x58\\x24\\x59\\xdc\\x96\\xe6\\x58\\xc8\\xed\\xcf\\x36\\x64\\x37\\xc7\\x9c\\x06\\x37\\xfa\\xd2\\xd2\\xda\\x3c\\x7c\\x3f\\x46\\xcb\\xcd\\x31\\xda\\xd2\\x69\\x7e\\x17\\xee\\x66\\xa0\\xce\\xd1\\xaf\\x5e\\x47\\x53\\xea\\xb4\\x14\\x83\\xbb\\x5a\\xe9\\x4a\\xaf\\x20\\x99\\xd5\\xf0\\x13\\x68\\x1d\\x04\\x66\\x78\\xf2\\x77\\x08\\x7f\\x01\\xd7\\x97\\x36\\xd4\\xf6\\xaa\\x08\\x15\\xeb\\x2e\\x9f\\x73\\xc9\\x74\\x73\\x19\\x68\\x2c\\x1b\\xd8\\xd0\\x3d\\xa7\\xbc\\x52\\x3f\\x67\\xce\\xf8\\x19\\x96\\x02\\xda\\x47\\x97\\xc1\\x2f\\xe0\\xaf\\x2a\\x14\\xea\\x5d\\x4e\\x9f\\xd3\\xb4\\x61\\xed\\x82\\xe5\\x02\\x3c\\xe5\\xcc\\x72\\x5a\\xee\\x5f\\x73\\xf5\\xf5\\x66\\x2c\\x53\\x0c\\x45\\x71\\x45\\x1c\\x0e\\xff\\x57\\x45\\xdd\\x14\\xe0\\x79\\x81\\x16\\x9c\\x0c\\x4d\\x3b\\x2c\\x56\\xa3\\x95\\x00\\x25\\x01\\x5a\\x69\\x5f\\x20\\xa9\\x25\\x9a\\xaa\\xd9\\xad\\xde\\x51\\x17\\x02\\x80\\x63\\xb1\\xd5\\x35\\x9d\\x80\\xbb\\x5e\\x85\\x1f\\xc3\\x59\\xa0\\xf2\\x71\\x7f\\x61\\x41\\xce\\xd8\\xfc\\x75\\x2b\\x5b\\x56\\x0f\\x58\\xe7\\x2e\\xf1\\x66\\x85\\xec\\xe8\\x08\\x5d\\xb4\\xe4\\xf8\\xb1\\x95\\x60\\xe6\\xa6\\x75\\xfd\\x5b\\xd7\\xe7\\x14\\xd5\\x36\\x61\\x0c\\x15\\x44\\x47\\x2e\\xe2\\xb5\\x8d\\xaa\\x56\\xe8\\x30\\xd3\\x66\\x3b\\xa2\\x43\\x46\\xe3\\x0b\\xa2\\x51\\x6c\\x8d\\x19\\x69\\x0b\\x90\\x13\\x82\\x8d\\x87\\xbf\\x20\\x21\\x8d\\x0a\\x82\\x98\\xa2\\xe6\\x35\\xf4\\xe7\\x70\\x17\\x5c\\x02\\x0a\\x5f\\x14\\xba\\xe7\\x16\\x5c\\xd6\\xfd\\xee\\x55\\xb3\\x16\\x5d\\x55\\x11\\x2c\\xa9\\xb2\\x23\\xeb\\xef\\x6f\\x15\\x6f\\x5c\\x7d\\x1d\\xe8\\xfd\\xe8\\x8d\\xfd\\x3e\\xca\\xea\\x19\\x55\\xfb\\x08\\x70\\x45\\xfc\\x8b\\x52\\x3e\\x4b\\xfa\\x67\\xd1\\xef\\xd3\\xd9\\xd4\\x29\\xca\\xbd\\x1b\\x97\\x68\\x4d\\x8d\\xea\\x7d\\x1e\\x5a\\x08\\xd2\\x20\\x57\\xc1\\x0b\\x03\\x0a\\x66\\x18\\xa1\\x1b\\xe3\\x8d\\xb1\\x41\\xf5\\x33\\x2e\\x24\\x3b\\xca\\x67\\x3a\\xa2\\x7a\\xaf\\x8b\\x36\\xa3\\xcf\\xe4\\x88\\xc9\\xcf\\xe0\\x2e\\x2f\\x68\\x1f\\xef\\x47\\x7b\\x46\\x46\\xf6\\x4e\\x37\\x6a\\x48\\xb4\\xc0\\x28\\xe9\\xf4\\xb4\\x3d\\xb7\\xc0\\xeb\\xcd\\x45\\xe6\\x23\\x57\\x5a\\x22\\xea\\x85\\xec\\x60\\x5b\\x2c\\x9b\\x75\\x15\\xb5\\xc5\\x5c\\x56\\x06\\x49\\xdc\\x64\\xe5\\x4e\\x3a\\xe5\\xb5\\xa9\\x00\\x9d\\x8e\\x54\\x3e\\x8a\\x72\\x0d\\xad\\x5c\\x26\\x62\\x45\\x8c\\x33\\xa4\\x70\\xfa\\x49\\x0a\\xc9\\xba\\x42\\x52\\xab\\xba\\x31\\x9c\\x08\\x63\\xad\\xeb\\x1e\\x71\\x58\\xb3\\x9c\\x8e\\x57\\x0f\\x8d\\xb3\\xea\\x65\\x9b\\xfe\\xc0\\x0b\\xa1\\xf9\\xf0\\xbf\\xeb\\xd7\\xad\\xbb\\xf7\\xde\\xdb\\xef\\xb8\\xe7\\xf5\\x8a\\x48\\x55\\xd9\\xa5\\x95\\xe5\\x70\\x8c\\xf4\\x8e\\x18\\x18\\xb4\\x88\\x0d\\xc7\\xcd\\xeb\\x86\\x7e\\xf3\\xcd\\xd0\\xb3\\x7b\\x3f\\x7f\\x81\\x6d\\x85\\x4f\\xc1\\x75\\xb8\\xe2\\x09\\xed\\xa6\\xb1\\x68\\x27\\x3d\\xf2\\xc3\\xbf\\xbe\\xfa\\x0e\\x16\\x7f\\x9b\\x98\\x1f\\x5a\\x4b\\x11\\x69\\xd2\\x42\\x6a\\x78\\xb4\\xd8\\x68\\x46\\xf3\\x93\\x7c\\x79\\x4e\\xa7\\x8f\\xd6\\x99\\xb9\\xe2\\x22\\xa5\\x8e\\xd6\\x48\\xe9\\xe5\\x10\\x46\\x91\\x37\\xe9\\x05\\x3c\\xc5\\x11\\x69\\x53\\x4c\\x58\\xa1\\x19\\x0e\\x76\\x97\\x39\\x7a\\x48\\x7a\\x0d\\xd3\\x75\\x7e\\x24\\x4c\\x42\\x3f\\xd1\\xbb\\x22\\xe8\\x29\\x8c\\x84\\x3c\\xe7\\x5f\\x5b\\x7f\\xd3\\x2b\\xbf\\x97\\xaf\\xfe\\xe4\\xae\\xeb\\x97\\xde\\x75\\xd7\\x75\\x37\\xac\\xdd\\x1b\\x29\\xee\\x56\\x55\\x55\\x50\\x52\\x05\\xc7\\x98\\xde\\xd0\\x06\\xc7\\xcc\\x64\\xc3\\xe7\\x3e\\x67\\x82\\x67\\xf7\\x7e\\xf2\\x32\\x73\\x08\\xc6\\xe1\\x07\\xa0\\x0c\\xd0\\x80\\x01\\x25\\x78\\x0f\\x3d\\xf4\\xe6\\x81\\x9d\\x8f\\x1f\\x78\\x5b\\xc1\\x15\\x3b\\x7f\\x33\\xd2\\x77\\x2f\\xa0\\xb5\\x0b\\x52\\xb5\\x51\\xb7\\xdd\\x99\\x97\\xe7\\xcd\\xc9\\xa1\\x7c\\x06\\xca\\x10\\xca\\xcf\\x75\\xe7\\xba\\x6d\\x3c\\xa3\\x13\\xcd\\x36\\xdc\\x4f\\xe8\\x70\\x38\\x72\\x58\\x75\\x0d\\x93\\x95\\x2f\\x91\\x24\\xba\\x98\\x92\\x52\\x91\\x87\\xc8\\xae\\x51\\xb6\\x0e\\x0b\\x2c\\x21\\xd2\\x0b\\x55\\xb4\\x38\\x48\\x27\\x54\\x76\\xe5\\xee\\x9d\\xae\\xcb\\x7a\\xf7\\x9e\\xe1\\x82\\x0f\\xef\\x79\\x04\\xbf\\x9a\\xee\\x02\\x13\\xe0\\xc7\\x6d\\x0d\\x63\\xc6\\xf4\\x6c\\x6b\\x6f\\x18\\x35\\xb2\\xb1\\x83\\x7e\\x18\\xfe\\x08\\x77\\xd7\\xd5\\x0e\\x18\\x58\\x7b\\x0d\\x9d\\x07\\x44\\x30\\xa4\\xb6\\xfb\\xc0\\xfe\\xb5\\x57\\xc5\\xff\\x05\\x0a\\x96\\xf4\\xa8\\x5f\\x02\\x8f\\xc2\\x4f\\xae\\xaf\\xab\\x5f\\x41\\xf0\\xc7\\xce\\xdf\\x8d\\xf4\\xd9\\x5d\\x18\\x0b\\x88\\xaa\\x8b\\xba\\x1d\\xee\\x50\\xc8\\x17\\x08\\x50\\x7e\\x23\\x65\\x2c\\x2e\\x92\\x05\\x6f\\x10\\x7d\\x49\\xbc\\x8e\\x91\\xa8\\x70\\x92\\xf2\\x64\\x2e\\x4a\\x1a\\xf1\\xb6\\x04\\xf1\\x4a\\x40\\x3e\\x41\\x7d\\x65\\x3e\\x21\\x9f\\xc0\\x30\\x62\\xfa\\x1b\\x00\\x3b\\xf7\\xe9\\xc7\\x1d\\xe3\\xba\\xd7\\xc6\\x1c\\x3b\\xf6\\x3d\\xbb\\xd7\\x35\\x22\\x52\\xde\\xea\\x02\\x57\\xc0\\xcf\\x0a\\x4b\\x6a\\x47\\x8f\\xec\\x5e\\x5a\\xd8\\x56\\x33\\x6c\\x68\\x4d\\x24\\x4c\\xfb\\x3e\\x83\\x27\\x4a\\xcb\\xea\\xeb\\xcb\\x8a\\x81\\xf3\\xf3\\x2f\\x80\\xbd\\x5b\\x41\\x59\\x38\\x7f\\x28\\x2c\\x5e\\xfc\\x40\\x61\\xef\\xc6\\xa2\\x8d\\xd7\\x9e\\x1d\\x5e\\x53\\x53\\xb0\\x85\\xe8\\x64\\x72\\x1f\\xa9\\xf9\\x0e\\xe9\\x09\\x1f\\x35\\x8c\\xba\\x29\\x9a\\x13\\xec\\xef\\x75\\x85\\x7b\\xf4\\xa0\\xaa\\x87\\xb9\\x0c\\xfd\\x35\\x4d\\xc3\\x2b\\x72\\x07\\xa3\\xd3\\xa5\\x2a\\xbb\\x08\\x7d\\xf5\\x19\\xec\\x76\\x21\\xb3\\x74\\x6f\\xcc\\x3d\\xd8\\xac\\xc1\\xf6\\x69\\x4e\\xcc\\x3c\\x18\\x83\\x2e\\xe6\\xd8\\x18\\x89\\xb1\\x81\\x28\\x30\\xd4\\xca\\x83\\xd9\\x5e\\x7d\\xba\\x15\\xf4\\x29\\x68\\x8b\\x35\\xf6\\x49\\x5c\\x5c\\x4a\\x48\\xf0\\x0e\\x46\\x0e\\x56\\xb8\\x2d\\x87\\x91\\x35\\x64\\x79\\x1d\\x6d\\x36\\xcb\\xc1\\xce\\x9a\\xbc\\x13\\x88\\x42\\xbe\\x82\\x5c\\x21\\x07\\x48\\x1b\\x5b\\x1f\\xed\\x00\\x0d\\x00\\x57\\xc2\\xca\\x36\\x0d\\x93\\x6c\\x0a\\x50\\x51\\xa3\\x40\\x8c\\xfe\\xe5\\x3d\\x27\\xdb\\x20\\x0d\\x58\\x35\\x7c\\xd4\\xa2\\xe8\\x94\\xf6\\x3d\\x6f\\x6c\\x58\\xb1\\x3d\\x32\\x7e\\x74\\xff\\xf8\\x93\\x0e\\xd7\\x8c\\x6f\\x8b\\x1e\\x27\\x37\\xa0\\x75\\xd5\\x13\\x63\\xb1\\x49\\xd5\\x75\\x17\\xbd\\x00\\xe5\\xa7\\x57\\xd6\\xf6\\x28\\x9f\\x37\\x6d\\xe7\\x3f\\xa6\\xe4\\x94\\x78\\x59\\x38\\x25\\x30\\xa1\\xe8\\xb1\\x35\\x0b\\x5a\\xe1\\xeb\\xf8\\x62\\xf4\\xf8\\x2f\\xef\\xbf\\xff\\xcb\\x67\\xff\\x8f\\x2b\\x51\\xc4\\xeb\\xbe\\x88\\xd7\\xab\\xf9\\x13\\x54\\x80\\xea\\x4e\\xf5\\xa6\\xae\\x8a\\xf6\\xd4\\x19\\x8d\\x61\\x2e\\x5a\\xdb\\xc3\\xe3\\x74\\xe6\\x65\\x67\\xf7\\xe8\\xc9\\xb1\\x7d\\xfa\\x56\\x14\\xb7\\xc4\\x2a\\x1a\\x82\\xe1\\x5a\\xf4\\xa5\\x6d\\x68\\xe8\\xd9\\x12\\x6b\\xa0\\x70\\x4b\\x99\\xd6\\x98\\x57\\x6b\\xa1\\x68\\x49\\x46\\x07\\x4a\\x6b\\x2c\\x97\\x4e\\x60\\x54\\x13\\xde\\xa6\\x37\\x9a\\x51\\x38\\x8a\\x78\\xdc\\xf5\\x1a\\x0a\\xd9\\x2a\\x98\\x2f\\x55\\x68\\x67\\xcb\\x89\\x4d\\x9d\\x9e\\x6d\\x86\\x81\\xa9\\x02\\xb9\\x7f\\xcd\\x7b\\x7a\\xea\\xd0\\x49\\x3b\\xde\\xfb\\xe2\\xc5\\x8e\\xe6\\x41\\xcd\\x79\\xbd\\xeb\\x2b\\x06\\x85\\x9a\\x07\\xb5\\xb6\\xed\\xff\\xfc\\xbd\\x1d\\x6d\\x60\\xcd\\x45\\xf9\\x5c\\xdc\\x08\\x22\\x7f\\xe2\\x58\\xd3\\xb7\\xf7\\xec\\x7a\\x6e\\x47\\x4e\\x75\\x59\\xfe\\x8e\\xe7\\x76\\xdf\\xfd\\x2d\\x3c\\x02\\x7f\\xfb\\x2f\\x7c\\x97\\x5b\\x7a\\x61\\xf6\\xa2\\xf3\\x80\\xc8\\x27\\xbf\\x00\\x9d\\x07\\x16\\x52\\xf3\\x72\\x86\\x9e\\x0a\\x9c\\xe4\\x16\\x9f\\xea\\x59\\x51\\x94\\x13\\x04\\x3d\\xc8\\xf1\\x01\\x12\\x75\\x79\\xe4\\xde\\x99\\x6b\\x43\\x7f\\x2f\\xaa\\x7f\\xdf\\xaa\\xc6\\xf3\\xac\\x01\\xa7\\x81\\x0e\\x02\\x25\\x12\\x0a\\x12\\xf1\\xbc\\x65\\x48\\xb7\\x3e\\x4c\\xce\\x8e\\x9e\\x51\\x1f\\xaf\\xd1\\x58\\x28\\x83\\xc5\\xe0\\xb0\\x73\\x8c\\x28\\x6a\\x49\\x21\\x2c\\xae\\x80\\xc5\\xe9\\xf1\\x24\\xbb\\x26\\x2d\\x00\\x25\\xa6\\xd7\\xdf\\xa5\\x41\\x37\\x61\\x84\\xc3\\x44\\xa9\\x6b\\x0e\\x78\\x74\\xcd\\x2d\\x03\\x7a\\xc2\\xa3\\x87\\x3f\\xa2\\xbb\\x3f\\x7f\\xb6\\x8e\\x54\\xb8\\xc2\\x93\\xf4\\x8e\\xaf\\x7e\\x75\\xc4\\x67\\x81\\x87\\xc2\\x60\\x3c\\xc8\\xa5\\x77\\x1f\\xda\\xdf\\x7b\\xc6\\x7c\\x15\\x1b\\x69\\x0e\\xd2\\xf3\\x38\\x5b\\xdf\\x87\\x0b\\x73\\x59\\x3d\\xab\\x77\\x38\\x65\\xab\\xc1\\x00\\x34\\xca\\x45\\x24\\xb0\\x36\\xc7\\x54\\x44\\xc3\\x0b\\xd0\\xd2\\x09\\xd7\\x30\\xd9\\x90\\x54\\x85\\x11\\xb4\\xfe\\xfd\\xcd\\xf4\\x56\\xa4\\x8b\\xe6\\x0d\\xad\\x83\\x63\\xc0\\xe6\\x5c\\xe0\\xf9\\x77\\x5a\\x07\\xd2\\x27\\x5e\\xb4\\xc7\\x6f\\x26\\xbc\\xc9\\x42\\x14\\x3c\\xc9\\xbd\\x43\\x59\\xa9\\xb2\\xa8\\x4b\\xb2\\x5a\\x2d\\xb4\\x89\\x31\\x6a\\x79\\x9d\\xde\\xac\\x33\\x9a\\x2c\\x2c\\xa5\\x95\\x6d\\xa4\\x2e\\x33\\x7c\\x01\\x08\\x55\\x4d\\x50\\xc3\\x69\\x82\\x4c\\xc0\\x1a\\xac\\xe1\\x6a\\xd0\\x7f\\xd6\\x08\\xc3\\x3e\\x59\\x01\\x17\\x75\\x07\\x37\\x44\\xe0\\xe2\\xf1\\xff\\x9d\\x01\\x17\\x56\\x80\\x1b\\xbb\\xe3\\xef\\xab\\x66\\x9e\\x59\\xc8\\xac\\xfe\\xa4\\xe3\\x93\\x8e\\x4f\\x3b\\xe0\\x46\\xb0\\x05\\xfd\\xc0\\x6f\\xc0\\x76\\xe8\\x23\\x6b\\x04\\xb7\\xb0\\xe3\\x40\\x1b\\xa2\\x43\\xa6\\x7c\\x51\\x23\\x06\\x1e\\x45\\x86\\x3a\\x6b\\x5d\\x6e\\xd6\\x52\\xe1\\x08\\x6e\\x9c\\x0e\\x92\\x31\\x02\\x7c\\x8d\\x2d\\x27\\x3b\\x78\\xfb\\xd5\\x36\\xde\\x6d\\x03\\x2a\\xe0\\xe3\\xfd\\x23\\x55\\x7d\\xfb\\x54\\x83\\x11\\xfd\\x23\\x15\\x03\\xb8\\x11\\x55\\xfd\\x8c\\x35\\x3d\\xfa\\x54\\xd7\\xf4\\x31\\x56\\xf7\\xec\\x87\\xc7\\xf8\\x1b\\xfb\\x06\\xb8\\x94\\xfb\\x37\\x25\\x51\\xc1\\x3d\\x92\\x56\\x87\\x0b\\xd6\\x8d\\xa2\\x6d\\xa0\\x4e\\xab\\xa5\\xe8\\xa8\\xb0\\x1c\\x37\\xa4\\xfd\\xc2\\x7d\\x18\\xed\\xab\\xc3\\xc5\\xa4\\x4f\\xb8\\x15\\xc3\\xaa\\xd3\\xc4\\x29\\x56\\xfc\\xaf\\x73\\xe6\\x6b\\x43\\x4d\\xb1\\xa9\\x8d\\x6d\\x53\\xab\\xc6\\x8f\\x1c\\x15\\x9e\\xbf\\x90\\x63\\xdf\\xb8\\xa1\\xb0\\xa2\\xf0\\xef\\xd9\\x79\\xd9\\x2b\\x49\\x2f\\x86\\xf3\\xab\\xd8\\x11\\xd4\\x22\\x82\\x99\\xe7\\x8d\\x1a\\x18\\x9d\\x8e\\xa3\\x69\\x03\\x03\\x96\\xf3\\xb8\\xff\\x73\\xda\\x2c\\x98\\x88\\x1c\\xb0\\x61\\x7f\\xae\\x6a\\xe1\\x6f\\xb3\\x26\\xad\\x8e\\x14\\x73\\xef\\xbc\\xd7\\x7f\\x4a\\xc3\\xfc\\x81\\x5d\\x9e\\x81\\x7b\\x6c\\x53\\x94\\x41\\xa3\\x5b\\xce\\x76\\x7a\\x86\\x15\\x79\\x23\\x81\\x6a\\xbc\\x65\\x17\\x15\\x47\\x56\\x4f\\x9a\\xf5\\x1b\\xd7\\x34\\x68\\x7e\\xcf\\x29\\xfd\\xdf\\x43\\xcf\\x88\\xbf\\xc9\\x5d\\x4e\\x37\\xf0\\x3f\\x63\\x9d\\x1f\\x35\\xea\\x0d\\x06\\xd9\\x40\\x51\\x76\\x8d\\xd9\\x00\\x48\\x83\\xec\\xe4\\x3d\\x70\\x57\\x2d\\x6c\\x77\\x20\\xc7\\x86\\x6e\\xb0\\xc7\\x1e\\x9d\\x39\\x67\\xdd\\xa0\\x25\\xd7\\xec\\x39\\xf1\\xf7\\xa1\\xdb\\xaf\\xba\\x6a\\x73\\x8c\\xbb\\x3c\\x52\\xa7\\x6c\\xe0\\xd2\\xea\\xea\\x08\\x92\\x8c\\x73\\x41\\xb8\\x93\\xf9\\x9c\\x7b\\x16\\xd1\\x69\\x25\\xd8\\x1f\\xe5\\x54\\x3d\\xd5\\x8f\\x1a\\x4e\\x6d\\x89\\x8e\\x2a\\x1f\\x5e\\x32\\xc4\\xd5\\xab\\xd7\\x90\\xe1\\x4c\\xbd\\x50\\x63\\xad\\x69\\xce\\xea\\xa7\\x0b\\xf5\\x0b\\x59\\xb9\\x40\\xc0\\x6a\\x6d\\xf1\\x05\\xfa\\x33\\x43\\x1a\\xfa\\xe4\\x0c\\x1c\\x18\\x1c\\xa6\\x17\\x2a\\x98\\x1a\\x63\\x65\\xa5\\x58\\x4b\\x71\\x05\\x4c\\x89\\xcd\\x45\\x17\\x15\\x69\\xc2\\x43\\xfa\\x0c\\xab\\xa9\\x2d\\x71\\x85\\xc3\\xae\\x92\\xda\\x9a\\x61\\x7d\\x86\\x68\\x3d\\xbd\\x7a\\xd8\\x3d\\x14\\x69\\x82\\x4e\\x2e\\xe3\\xc9\\xff\\x12\\xd2\\xe8\\x50\\xef\\x37\\x1c\\x91\\xb4\\xdf\\x80\\xcc\\x1b\\x2c\\x7c\\xb5\\xec\\xa8\\x48\\x4e\\xba\\x12\\xa3\\x74\\x21\\x83\\x4e\\xb6\\x26\\x5f\\x81\\xbf\\x7c\\xc5\\x5c\\xe0\\x77\\xc1\\xe4\\x2b\\xfa\\xdc\\x95\\x57\\x4e\\x3b\\x7a\\x54\\x24\\xdf\\xcf\\xdd\\x4a\\x7e\\xd0\\x25\\xe4\\xc7\\x99\\x95\\xe4\\xc7\\x31\\xe5\\x77\\xb7\\x93\\x1f\\x71\\x17\\xf9\\xc1\\xbc\\x7e\\xf7\\xdd\\x18\\x7f\\x97\\x27\\x3f\\xe8\\x9f\\xc9\\x8f\\x33\\xdf\\x92\\x1f\\x6c\\x7e\\xfa\\xbf\\x9d\\xfb\\x92\\xfc\\xf8\\x95\\x7c\\x47\\x72\\xa6\\x3d\\x37\\x13\\x5e\\xc7\\x3c\\xc8\\x1d\\xef\\xc2\\xfb\\xdd\\xd1\\x0e\\x9b\\xa7\\xbe\\x47\\x8f\\xbe\\xb5\\x7d\\x38\\xad\\x20\\x8a\\x7a\\xe4\\x91\\x6b\\xfa\\x97\\x77\\x1b\\x32\\xac\\x89\\x0d\\xe7\\x87\\x42\\xe1\\x72\\x8d\\x5e\\xdb\\xa7\\xda\\xd3\\x4b\\xef\\xcc\\xcd\\x6d\\x71\\x36\\x6b\\x75\\xd1\\x3e\\x65\\xd1\\x92\\x70\\xb8\\xc0\\x2b\\xbb\\x62\\x81\\x60\\xd0\\x57\\x57\\x53\\x51\\x3b\\x7c\\x98\\x5e\\xd4\\xf5\\xe9\\x57\\xe0\\xf1\\xfa\\x6a\\x87\\x0d\\x16\\xc5\\xc1\\xc3\\x6a\\x7d\\x5e\\x4f\\x41\\xbf\\x3e\\x3a\\x03\\x27\\x70\\xc8\\xd4\\x49\\x5b\\x85\\x70\\x38\\x9c\\x0a\\x39\\xe1\\x13\\x1f\\x9d\\x52\\x96\\x83\\x78\\x1f\\x89\\x91\\x64\\x93\\x7c\\x75\\x75\\x32\\x2f\\x45\\x94\\xb5\\x70\\xc8\\x09\\x39\\x16\\x71\\x47\\x8d\\x08\\x2f\\x47\\xe4\\x44\\xe6\\x6c\\x55\\x24\\x18\\x51\\x30\\xe9\\xe4\\x00\\x83\\x05\\x53\\x93\\x1f\\xd2\\x84\\x30\\x46\\x54\\xa8\\xc6\\xee\\xa8\\x71\\x30\\xc8\\xa8\\xd2\\x84\\xaa\\x6b\\x42\\x35\\x18\\x49\\xaa\\xc6\\xc1\\x6b\\x1c\\x9a\\x7e\\x6e\\xef\\x94\\xde\\x43\\xc8\\xb7\\xf8\\x8c\\x85\\x7d\\x27\\x16\\x8e\\x6d\\xb9\\x9f\\x7d\\x4c\\x7d\\xd1\\x73\\x74\\x59\\x58\\x3f\\x40\\xa8\\xad\\xba\\xfc\\x5c\\x3f\\xf4\\x52\\xd7\\x1f\\xbd\\xbc\\xc2\\x38\\xba\\x7c\\x44\\xf9\\x80\\x59\\x75\\x55\\x97\\x33\\x1f\\x8d\\x2e\\x1b\\x59\\x3e\\xe0\\xf2\\xda\\xaa\\xd9\\xf5\\xe4\\x13\\xcd\\x1b\\xd9\\x7f\\xa9\\x2f\\xe2\\x5e\\xf2\\xcc\\x4a\\xf2\\x1d\\xfe\\x31\\x06\\xfd\\x61\\xff\\xd9\\xdd\\xd1\\x67\\x34\\xe4\\x33\\xb3\\xf1\\x33\\x1b\\x94\\xc7\\xe3\\x27\\xdd\\x34\\xba\\xbc\\x14\\x8f\\x54\\x3d\\x9b\\xd8\\xc0\\x37\\xc1\\xe9\\xec\\xcb\\xfc\\x0e\\x64\\xdf\\x07\\xa8\\x09\\xd1\\x2c\\x74\\xf8\\x18\\x2d\\x16\\xad\\xc1\\x64\\xa2\\x72\\x74\\x5a\\x4a\\x9b\\x17\\xe4\\x2c\\x26\\x60\\xd2\\xb6\\xc7\\x4c\\x92\\xe1\\x79\\x50\\x8d\\x63\\x96\\xc8\\xf6\\xd2\\xc7\\x24\\x29\\xdb\\xce\\x03\\xb5\\x0a\\xee\\x60\\x45\\x6d\\x38\\x05\\x9f\\x93\\xcc\\x78\\x4e\\x60\\x0e\\x54\\x54\\x54\\xa4\\x55\\x9c\\x46\\xc8\\x85\\x7e\\x65\\x0d\\xb0\\xe2\\xb6\\xcf\\x11\\xec\\x22\\x23\\x16\\x45\\xcc\\x74\\xa2\\x0a\\xf5\\xda\\x6f\\xcf\\x6c\\xac\\xf6\\xc2\\xe5\\x2b\\x6f\\xdd\\x3d\\x8a\\xfb\\x92\\x09\\xf4\\x6d\\x1a\\xd6\\x37\\x97\\xf9\\x92\\x1b\\xb9\\x2b\\x51\\x9a\\x7a\\xf6\\xc9\\xf8\\x55\\xe0\\x3e\\xa5\\x3c\\x95\\x5b\\xd5\\x63\\xfe\\x95\\xb5\\xbd\\xbc\\xde\\xde\\xdd\\xe7\\x5e\\xdd\\x43\\xa9\\x29\\x47\\x73\\x7a\\x95\\x7b\\x0d\\x49\\x20\\xb9\\xc5\\x70\\xb2\\x40\\xd2\\x1b\\x35\\x96\\x5c\\x83\\x56\\x6b\\x31\\x4a\\x6c\\x7e\\x28\\x2b\\x6a\\xb3\\x59\\xfd\\x4e\\x8a\\xb5\\x18\\x39\\xab\\x20\\xc9\\x7a\\xa3\\x51\\xd3\\x9c\\x00\\xc4\\xb1\\x1c\\x54\\xf0\\x94\\x48\\xbc\\x1b\\x89\\x4b\\xc6\\xf9\\x12\\x49\\xcb\\x40\\x57\\x27\\x42\\xb2\\xd0\\x83\\x9d\\xe6\\x92\\xc8\\x4a\\x5f\\xf6\\xe9\\xa9\\xbf\\x4d\\x54\\x12\\xd3\\xc1\\x3f\\xbb\\xcc\\x27\\x99\\xab\\xae\\x64\\x91\\x26\\xf3\\xd5\\xa7\\x76\\x9a\\x12\\x9a\\x93\\x8d\\x9c\\x87\\x4a\\xcc\\x78\\x68\\x34\\x24\\x98\\x0c\\x4e\\xa7\\x96\\x67\\xad\\x14\\x4b\\x79\\xb3\\x04\\x47\\x5b\\xcc\\xcc\\x6b\\xf8\\xc9\\x31\\x83\\x46\\x40\\x5f\\xac\\x8e\\x61\\x9d\\xa9\\x72\\xf9\\x34\\x70\\xa8\\xb4\\xda\\xba\\xc4\\x6c\\x94\\x18\\x71\\x55\\x22\\x6c\\x9c\\x51\\x3a\\xff\\x24\\x2e\\x9d\\xff\\xf7\\xfc\\xf9\\x20\\x84\\x2c\\x4a\\xbb\\x52\\x3c\\xff\\xf2\\x41\\xa5\\x78\\x9e\\x39\\xb2\\xeb\\x95\\x57\\x76\\x6d\\x55\\xcb\\xe7\\x13\\x3d\\x5a\\xef\\x51\\xe3\\xc5\\x88\\x46\\x3b\\x2d\\x0a\\x26\\x49\\xd2\\x6b\\x79\\x9a\\xf7\\x7a\\x44\\x77\\x4b\\xcc\\xa2\\xd5\\x69\\x5b\\x62\\x26\\x9d\\x88\\xbe\\x70\\xb3\\x18\\xa9\\x25\\xc6\\xcb\\x17\\xa5\\x31\\x12\\x49\\xf4\\xa9\\x03\\x6a\\x90\\x38\\x49\\x65\\x5a\\xd2\\xe2\\xdf\\x71\\x94\\x38\\xfe\\x31\\xa2\\xcf\\xbd\\x66\\xcd\\x11\\x1c\\x27\\xfe\\x98\\xbe\\x11\\x47\\x88\\xd9\\x7b\\x77\\xde\\x72\\xcb\\xce\\xf8\\x49\\x58\\xa0\\xc4\\x89\\x69\\x52\\x03\\x7b\\x0b\\xa9\\xdf\\xf7\\x20\\x4f\\x3d\\x68\\xd3\\xe9\\x1c\\x4e\\xda\\xed\\x74\\x23\\x8f\\x95\\xd2\\x23\\x36\\xb2\\x2e\\xbd\\xc1\\xa6\\x6d\\x8b\\xd9\\x6c\\xe8\\x60\\xb2\\xe2\\xea\\x44\\x7d\\x1a\\x5c\\x72\\x67\\xd9\\xae\\x55\\x63\\x56\\x98\\x85\\x68\\x7b\\x87\\x78\\x02\\x07\\xe6\\xcf\\x61\\x13\\xec\\x43\\xbb\\x1f\\xf9\\x7d\\x57\\x8f\\x9a\\x71\\xff\\xd2\\x59\\x77\\x1c\\x80\\x47\\xc1\\x97\\x00\\x00\\x13\\xfc\\x64\\xc5\\x8a\\xfb\\x36\\x77\\x2f\\x5a\\x7d\\xff\\x2a\\x96\\xb9\\x7f\\xd3\\xdc\\x19\\xf7\\x2e\\x2d\\x81\\x79\\x5c\\xbf\\xa3\\xff\\x98\\x3d\\x11\\xb6\\xe9\\x6f\\xbe\\xf7\\x46\\x27\\xa6\\x15\\xe7\\x82\\x6f\\x61\\x87\\x23\\x4a\\x4b\\xa8\\x71\\xd1\\xb0\\xd7\\x8e\\x0b\\xd6\\x9d\\xb9\\x41\\x7d\\xc8\\x28\\x08\\x26\\x53\\x28\\x18\\x70\\x72\\xa5\\x61\\x8f\\x60\\x76\\x7a\\xf2\\x44\\x8d\\x2d\\x47\\xcc\\xc1\\x25\\x58\\x4c\\x91\\xa6\\x08\\x9b\\x6a\\x54\\x06\\xb4\\x37\\x32\\xd2\\x6b\\x1b\\xbb\\x06\\x50\\x22\\x0a\\x4a\\x8a\\xac\\x66\\x26\\x2a\\x93\\x20\\xd9\\x89\\xa4\\xc7\\x4c\\x08\\xb7\\x18\\x52\\x67\\x41\\x6e\\x85\\xcd\\x00\\x6c\\x64\\x0d\\x6c\\xd9\\x96\\x99\\x7b\\x0f\\x8f\\xbe\\xe5\\xa6\\x5b\\x9b\\x26\\xcd\\xdc\\x54\\x44\\xd3\\xf0\\xb8\\x16\\x64\\x55\\xb6\\x45\\xab\\x0a\\x57\\xdf\\xd4\\x6e\\xbe\\xac\\xbd\\x61\\x72\\x15\\x5b\\x27\\x5c\\x5b\\xd0\\x36\\x15\\x7e\\x08\\xe1\\xa9\\xdb\\x6f\\xb9\\x79\\x4d\\x41\\xc7\\xa4\\x3d\\x70\\x12\\xfb\\xc7\\x94\\x9b\\xe2\\xff\\x5a\\xb0\\x65\\x94\\x77\\xf5\\xcd\\x1d\\xfd\\xdb\\xf7\\xed\\x8b\\x3d\\xa4\\xd8\\xc1\\x07\\x28\\xc0\\x2e\\x40\\x3a\\x48\\x43\\x55\\xe0\\xfe\\xb2\\x8c\\x9a\\x43\\x8f\\xf1\\xaa\\x39\\xa9\\x1d\\xcc\\x01\\xf8\\x02\\xe6\\xe5\\xa7\\x72\\xf3\\x07\\xe2\\x14\\x98\\xb9\\x8d\\x9d\\x52\\xea\\x95\\xec\\x6c\\x66\\xc9\\x99\\xf8\\x7c\\xdc\\x33\\x18\\x4c\\x89\\xef\\x53\\xdb\\x06\\xa3\\x67\\x1f\\x43\\x6b\\x2e\\x73\\x1f\\xa2\\x67\\xe7\\x47\\xad\\xf8\\xc1\\xe8\\xf9\\x5a\\x9d\\x92\\xa0\\xcf\\xc9\\x00\\xc3\\xe5\\x26\\x1e\\x27\\x66\\x3e\\x2f\\xe7\\xb7\\xf8\\xd7\\x38\\x43\\x1f\\xdc\\x17\\xdf\\xa9\\x96\\x54\\x91\\xfe\\x51\\x4a\\x1f\\x63\\x13\\xce\\x48\\x66\\x34\\x1a\\xa3\\x5e\\xab\\xe5\\x28\\x46\\x30\\xf3\\x7a\\x83\\x7e\\x72\\x0c\\x17\\xc5\\x99\\x4c\\x34\\x32\\xdd\\x19\\x6d\\x9a\\xec\\x64\\x44\\xdf\\x22\\xc9\\x9a\\x2d\\x92\\x95\\x8f\\x01\\x96\\x70\\xbf\\x63\\x50\\x0f\\x91\\x90\\xac\\x5e\\x8d\\x31\\xa2\\xb7\\xbf\\x11\\x7f\\x8d\\xee\\xf9\\x06\\xdd\\x48\\xc6\\xbc\\x4a\\xad\\x03\\xc3\\x63\\xfa\\x38\\x75\\x50\\xca\\x2c\\xe0\\x21\\x9b\\x13\\x43\\x36\\xc7\\x4c\\x82\\x56\\xee\\x3a\\x64\\x6d\\x5a\\xf2\\x3d\\x1a\\x0f\\x6d\\x9e\\xc4\\x98\\xdd\\xe2\\x5f\\xbd\\xf8\\x22\\xfc\\x76\\xd9\\x32\\xb6\\x6e\\x3f\\x3c\\xf1\\x12\\x8c\\x81\\x87\\x5f\\x02\\x47\\xd4\\xfa\\x6a\\xdc\\x97\\x36\\x9b\\xea\\x17\\x0d\\x38\\x68\\x03\\xeb\\xf3\\x49\\xd9\\x86\\x6c\\x7f\\x8e\\x55\\xd6\\xba\\x71\\x75\\x2a\\x95\\x2d\\x09\\x72\\x47\\x4c\\xf0\\x50\\x4c\\x1b\\x4e\\xe4\\x4a\\x5e\\x62\\x91\\x3c\\xe3\\xd4\\xb0\\x6a\\x6c\\x87\\x94\\x1f\\x60\\x4b\\x15\\xfb\\x78\\x44\\xc2\\xb0\\xe7\\xac\\x64\\x6e\\x69\\x44\\xff\\xcd\\xcc\\x9a\\xf8\\xfd\\x7d\\xfb\\xb7\\x56\\x7c\\xf2\\xcb\\xe2\\x6f\\xef\\x5f\\xfe\\xfe\\xf0\\x67\\x07\\x5f\\x7d\\xe6\\xb2\\x05\\x3d\\xc7\\x97\\xe3\\xe5\\xfc\\x37\\x7c\\x3f\\xdf\\x25\\xc0\\x5d\\xf0\\xdd\\x8f\\xe0\\xe1\\x2d\\xcd\\x97\\x2c\\x1e\\x09\\xde\\x7a\\xef\\xbd\\xa0\\x3f\\xfe\\x18\\xe1\\xcd\\x8d\\x04\\x87\\xbd\\x8e\\xf2\\x51\\x03\\xa3\\x41\\x07\\x3a\\xb6\\x5c\\x56\\x2b\\x6f\\xa3\\x6c\\x39\\xd9\\x1e\\xe4\\xaa\\x7a\\x3c\\x36\\x59\\x76\\xb6\\xc6\\x64\\xc1\\x26\\x6b\\xf4\\x8c\\x7e\\x44\\x8c\\x49\\xde\\x4a\\x5d\\x30\\x55\\x5c\\x81\\xf0\\x25\\x88\\x6f\\xaa\\x73\\x6a\\x51\\x88\\x24\\x8b\\x45\\xba\\xa1\\xb1\\x73\\xe1\\xef\\xbf\\xdc\\xff\\x51\\xbf\\x83\\x95\\x93\\xfb\\xcc\\xbb\\xea\\xf3\\xda\\x85\\x5e\\xf8\\x2d\\x63\\x87\\xec\\x9c\\x65\\x77\\x7e\\x7a\\xf5\\x25\\x7f\\xc2\\x1f\\x47\\x8f\\x5a\\x58\\x91\\xb7\\x7e\\x1b\\xe8\\x86\\xc8\\x5e\\xcf\\xd6\\x9d\\x80\\x3f\\x14\\x2c\\xf8\\x46\\xb9\\xf3\\x9f\\xce\\x7e\\x81\\xf8\\x9a\\x4f\\x4d\\x8c\\x5a\\x9d\\x2c\\x92\\xcb\\xac\\x5c\\x3f\\xe0\\x74\\x46\\x74\\xe0\\x06\\xf3\\x0c\\xc1\\x7d\\xa0\\x3a\\x9a\\x05\\x74\\xb2\\x0e\\xc9\\x11\\x2f\\x23\\x6d\\xee\\x94\\x65\\xca\\x6b\\xb7\\x30\\x9c\\x41\\xa2\\x72\\xdb\\x93\\xdd\\xf3\\x23\\x69\\xed\\x67\\x95\\xb9\\x80\\x70\\x58\\xc1\\xb2\\x54\\x02\\x88\\x18\\x5d\\x23\\xf0\\x97\\x00\\x1c\\x38\\xf7\\x9e\\x79\\xe3\\xa9\\x32\\xe1\\x58\\x06\\x06\\x47\\x60\\x70\\xd5\\xb1\\xca\\x21\\x01\\x05\\x83\\xe3\\xa1\\x99\\x6f\\x11\\x78\\x8d\\xce\\x28\\x1c\\x57\\x99\\x31\\x0a\\x87\\x69\\x5e\\x02\\x85\\x03\\x16\\xe1\\xd3\\x18\\xe7\\x5d\\xe1\\xf9\\xa1\\xb5\\x08\\x52\\x73\\xa2\\x6e\\x31\\x2f\\xcf\\x1c\\x74\\xe5\\xe4\\x04\\x19\\x9e\\xe5\\xb2\\x64\\xaf\\x37\\xa4\\xe7\\x5c\\x7c\\x0e\\x63\\x26\\x8d\\x27\\xb3\\x62\\x01\\xa5\\x8a\\xcf\\xcc\\xa3\\x2f\\x7d\\x56\\x36\\x41\\x8c\\x94\\x71\\xe1\\x5e\\x90\\x53\\xf3\\xb1\\x94\\xc3\\x38\\xe3\\x60\\xc0\\x77\\xee\\x4a\\xf1\\x9e\\x18\\x89\\x48\\x8e\\xb4\\x22\\xf1\\x8b\\x96\\xeb\\x91\\xa9\\xfe\\x75\\xc9\\x9e\\x3b\\x6a\\x7f\\xfc\\xd2\\xb7\\x7a\\xfe\\x75\\xcd\\x5e\\xc3\\x38\\x09\\x2e\\x8c\\xef\\x00\\xf7\\xa5\\xea\\xf6\\x3c\\x48\\xf6\\x30\\xe6\\x48\\x25\\x75\\x4d\\xb4\\xa7\\xdb\\x18\\xd1\\x97\\x14\\xf9\\x7c\\x7a\\x23\\x97\\xc7\\x09\\xf6\\x32\\xa1\\xac\\xaa\\xba\\xc4\\xed\\xf1\\xa0\\x0d\\x23\\x78\\xb2\\x3d\\x18\\xe6\\xce\\x13\\x08\\x78\\x2c\\x4c\\x24\\x14\\xb1\\x76\\xc4\\x22\\xd6\\x90\\xbf\\x23\\x16\\x62\\x8d\\x56\\x5e\\x4b\\x6b\\xf7\\x01\\xc3\\x9e\\x18\\x9d\\x26\\x9a\\x54\\x7a\\x14\\x2f\\x91\\x92\\x9b\\xea\\x2a\\x94\\x8c\\xff\\x70\\x36\\xbf\\x5a\\xcb\\x55\\x55\\x19\\xca\\xff\\x5f\\xb0\\x48\\x78\\x8d\\x9d\\xfe\\x1e\\xfe\\xda\\xad\\x23\\xa7\\x6f\\xd3\\x0a\\xd3\\xfb\\xf0\\x54\\x03\\xd0\\x16\\xdc\\xbd\\xf4\\xa2\\xa8\\x24\\x5f\\x1f\\xf4\\xec\\x3b\\x25\\x89\\xb7\\x65\\xdd\\x5f\\xdc\\x43\\xbb\\x6f\\xfb\\xc4\\xcb\\xe7\\x5e\\x08\\x9f\\xe4\\xfe\\x4f\\xdd\\x4a\\x8e\\xe1\\x64\\xc4\\x13\\x5c\\xcb\\x58\\x49\\x2d\\x88\\xf6\\x36\\xd3\\x85\\x48\\x55\\xe4\\x06\\x02\\x06\\x43\\x7e\\xbe\\x44\\xd1\\x65\\x2e\\x56\\x53\\x55\\x9d\\x6b\\x16\\x4a\\x22\\x2d\\xb1\\x12\\x0f\\xe7\\xe4\\x9c\\x85\\xde\\x42\\x64\\x12\\x14\\xda\\x05\\x73\\x4b\\x4c\\x10\\xb2\\x05\\xc4\\x27\\x41\\xa0\\xbd\\x5e\\xb9\\x25\\xe6\\xb5\\xe0\\x8b\\xa6\\xf4\\x82\\xe2\\xf4\\x10\\x4c\\x17\\xa8\\xc6\\xc4\\xf6\\xe5\\x2a\\x43\\x79\\xff\\x4b\\x1d\\x23\\x86\\x46\\x4e\\x72\\x8f\\xee\\x69\\x82\\x2b\\x5a\\xd2\\x8b\\x1a\\xa7\\x2d\\xd4\\xa5\\x8a\\x1a\\xdf\\x7c\\xd6\\x93\\x60\\xd9\\xc2\\xe2\\x1e\\x7a\\x50\\x98\\x5e\\xe0\\x38\\xb8\\x7f\\x7a\\x81\\xe3\\x0d\\xdb\\x6d\\x33\\x7a\\x11\\x86\\x51\\x89\\xdc\\xce\\xc3\\x04\\x6b\\x6a\\x70\\x34\\x60\\x36\\xd1\\xb2\\x6c\\xb7\\x8b\\x7a\\xde\\xc4\\x39\\x1d\\x76\\x89\\xb6\\xb5\\xc5\\x68\\x51\\x81\\x1e\\xb0\\x18\\x26\\xc7\\x2c\\x92\\x19\\xe9\\x80\\x3d\\x2a\\x20\\x4a\\x52\\x41\\xa9\\x68\\x24\\xe9\\x4d\\x47\\x52\\x60\\x28\\x44\\xbc\\x3b\\x01\\xa2\\x04\\xae\\xf5\\x81\\x11\\xd7\\x9e\\x19\\x0d\\x77\\xc8\\xfd\\x3d\\xe9\\x88\\x28\\xdd\\xef\\xb0\\xc7\\x3f\\xc0\\x42\\x4c\\x8f\\x37\\xd9\\xe2\\x07\\x55\\xfa\\x9e\\x46\\x7b\\xd6\\x4e\\xf5\\x8f\\xe6\\x63\\xea\\x04\\xb3\\x59\\x63\\x90\\xec\\x9c\\xc3\\x69\\x97\\x69\\x5b\\x73\\x8c\\x46\\x46\\x1a\\x4d\\x53\\xc8\\x65\\x33\\x22\\x0b\\x23\\x51\\xdf\\xa8\\x6e\\xcd\\x8b\\xd0\\x46\\x6a\\x1b\\x93\\x7b\\xaf\\x53\\x81\\xa3\\xab\\xb6\\xe8\\xec\\xa3\\x6f\\xad\\xed\\x5c\\xe1\\x58\\xd0\\xdb\\x07\\x6f\\x26\\xfb\\x4b\\x29\\x73\\x4c\\xc3\\x90\\x71\\x21\\x2b\\xbe\\x44\\xc1\\x2a\\x60\\x6d\\x36\\x83\\xcb\\xe2\\xf2\\xb8\\x2d\\x34\\xb2\\x79\\x69\\x79\\x32\\x3a\\xc6\\x27\\xc7\\x6c\\x12\\xad\\xe1\\x38\\x0d\\x2d\\xd9\\x38\\xd1\\x25\\xe9\\x55\\xf4\\x06\\xd5\\x15\\x2c\\x2e\\x4e\\x00\\xa1\\x25\\xb3\\xb8\\x12\\x74\\xd6\\x10\\x9d\\x68\\x4d\\xa0\\xca\\xa0\\xa3\\x51\\x21\\x35\\xbf\\x22\\x7c\\x99\\x35\\xf4\\x8a\\xca\\x49\\x0c\\x2d\\x13\\xbf\\x2c\\x52\\xaa\\x30\\x32\\x00\\xd6\\xc1\\xcf\\xdd\\xb5\\xa0\\xaf\\xc2\\x4d\\x09\\x1c\\xfa\\x03\\x2c\\xb7\\x2b\\xbc\\x54\\xeb\\x46\\x33\\xe9\\x45\\xe4\\xba\\x3d\\x06\\x44\\x2f\\xe2\\xa5\\xac\\xf0\\xd3\\x46\\xb3\\x98\\x5e\\x96\\xc6\\xf4\\xca\\x7a\\xb5\\x34\\x31\\x83\\xde\\x2e\\xf0\\x67\\x09\\x7a\\x13\\xbc\\x45\\xf4\\x8a\\x09\\x7a\\xdd\\xdd\\xbc\\x23\\xaa\\xfa\\xa9\\xcc\\x25\\xe5\\xa3\\xff\\x1e\\xe1\\x0f\\x29\\xdc\\xe5\\x40\\x25\\xfc\\xc1\\x9f\\x60\\x71\\xfc\\x6d\\xf0\\x0e\\x7c\\x01\\xd4\\xf3\\x84\\xc5\\x6a\\x9c\\x1c\\xcb\\xa7\\x9b\\x1a\\x11\\x2d\\xd2\\xb2\\x0e\\x87\\x13\\x27\\xa2\\x9a\\x44\\x37\\x70\\x3a\\x3d\\xa2\\xe8\\xd5\\x5a\\xac\\x76\\xd6\\x49\\x63\\x38\\x68\\x9c\\x90\\x4a\\xd1\\x92\\x53\\x32\\xe2\\x54\\xd4\\x48\\x7a\\x4a\\xb9\\x83\\x44\\xf0\\xa4\\xa4\\x61\\x9c\\x38\\xf9\\x45\\xd5\\x5e\\x4f\\x2f\\x77\\x25\\xa2\\x2a\\x06\\x56\\x83\\xd0\\xed\\xb7\\x57\\xcc\\x99\\xfe\\x0a\\xe8\\x76\\x6e\\x71\\x18\\x1c\\x86\\x2f\\xc1\\xad\\x52\\x73\\x16\\xfc\\x6c\\x35\\xfb\\xcc\\xda\\xb5\\xbb\\xe0\\xb9\\x39\\x7f\\x03\\x65\\x70\\xd9\\x8b\\x81\\xb8\\x97\\x1e\\x6b\\x70\\xc6\\xdf\\x66\\xf9\\x04\\x56\\xca\\x20\\xe4\\x63\\xb8\\x71\\x85\\x8e\\x9e\\x77\\xb9\\x18\\x60\\xd5\\xda\\xed\\x6e\\x8b\\xcd\\x6d\\xf3\\x78\\xf5\\x56\\xa7\\x9d\\x15\\x64\\xb7\\xac\\x43\\x36\\x23\\x72\\x2e\\x68\\x9a\\x15\\x04\\x96\\x52\\x10\\x7d\\x93\\x69\\xcc\\x8e\\x8c\\x38\\x08\\xf2\\x4e\\x15\\x2b\\x25\\xe9\\x5d\\x20\\x5b\\x25\\x41\\x2d\\x3e\\x49\\xfd\\x1f\\x2f\\x5e\\x02\\x9c\\xb7\\xdd\\x56\\x5e\\xda\\xbd\\x68\\x29\\x90\\xde\\xed\\x56\\x07\\x1a\\xe0\\x57\\xdf\\x67\\x57\\xc2\\xe3\\xaa\\x8f\\xf1\\x11\\x9d\\x37\\x72\\x14\\x00\\x70\\x45\\x6b\\x59\\xfc\\x00\\x78\\xcb\\x00\\x7b\\x65\\xf0\\x56\\xa6\\xfa\\x44\\x73\\x91\\x24\\xc8\\x26\\x8b\\xc5\\x0c\\x64\\xd9\\x61\\xd7\\x99\\xcd\\x0e\\xd6\\x64\\xb1\\xb2\\xb4\\x20\\x4b\\x5a\\x86\\x06\\x48\\x96\\x99\\x44\\x1f\\x39\\x95\\x9b\\x0a\\x3f\\x53\\xb8\\x7d\\x88\\xbe\\xb4\\xad\\x95\\x60\\xe4\\xd9\\xb3\\x34\\x5b\\xb7\\xa8\\xef\\x83\\x40\\xfa\\x28\\x30\\x3d\\x0b\\x6c\\x80\\xff\\x80\\x6f\\x0b\\x7d\\x9c\\xf0\\x0f\\xb6\\xe3\\xeb\\xf8\\xe7\\xd7\\x2d\\xc5\\xbb\\xbe\\xe7\\x1a\\x47\\x06\\x0e\\x92\\x88\\xe8\\x7a\\x97\\x60\\xb2\\xf6\\x8a\\xfa\\x11\\x4d\\xc0\\xcc\\x5a\\xad\\x36\\x60\\x93\\xf5\\x66\\xb3\\xcc\\x9a\\x24\\x0b\\x22\\xcb\\x26\\xeb\\x04\\x1a\\xb4\\xc6\\x68\\xa1\\x33\\x59\\x52\\x5a\\x55\\x27\\x3a\\x78\\x31\\x28\\x4b\\x27\\x7e\\x81\\x71\\xf0\\x59\\xfa\\x92\\xb2\\x70\\xf7\\xc2\\x74\\x76\\x45\\x90\\x99\\xd4\\x7c\\x02\\x96\\xd1\\xc1\\x51\\x23\\xba\\xf2\\x0a\\xeb\\xa1\\x17\\x08\\x46\\x4d\\xdf\\xa8\\x1f\\xa3\\x06\\x62\\xcc\\x40\\x8c\\x6c\\x65\\x11\\x0d\\x7c\\x7b\\xcc\\x60\\x60\\x31\\x5c\\xa0\\xc4\\xa2\\xdd\\xce\\x4a\\x34\\xc9\\x36\\x4a\\xd0\\x55\\x1b\\x2e\\xce\\x58\\x4f\\x62\\xc3\\x91\\x4a\\x86\\xb4\\xb2\\xde\\x17\\xce\\x3c\\x84\\x61\\x91\\x14\\x64\\xba\\x97\\x88\\x0a\\x6c\\x50\\x52\\x73\\x69\\xeb\\xd9\\x85\\x54\\x92\\x86\\x7d\\xa4\\xd6\\xb1\\x57\\x57\\x1a\\x9a\\x15\\x1a\\x90\\x8d\\xcd\\x0a\\x68\\x17\\x63\\x70\\x81\\x83\\xff\\xff\\x10\\xb0\\xef\\xd4\\xa6\\x44\\x5d\\x31\\x70\\xef\\xc7\\xee\\x7e\\xaa\\xb4\\xf8\\xdc\\x0d\\x64\\x7c\\x5c\\xdb\\xf2\\x77\\xe2\\x5b\\x34\\x46\\x73\\x34\\x0c\\xc3\\x6a\\x29\\xca\\x60\\x62\\x4d\\x66\\x41\\x43\\xb7\\xc7\\x34\\xc8\\xad\\xd7\\x19\\xdb\\x62\\x3a\\x86\\x63\\x28\\x96\\x40\\x12\\x5e\\xd4\\x84\\x4d\\x8d\\xeb\\x47\\xe2\\x4c\\x6f\\x83\\xff\\x25\\x53\\xd7\\xd0\\xf2\\xcf\\xa9\\x69\\x7f\\x7d\\xf6\\x41\\x65\\xde\\x73\\xd1\\xb8\\x2f\\x10\\xff\\x62\\x50\\x34\\x1f\\x18\\x0c\\x46\\x1a\\xf9\\x34\\x1a\\xa3\\x06\\x43\\x61\\x00\\xe4\\x61\\x08\\x20\\x1b\\xa0\\x73\\x19\\x00\\x46\\x6b\\x94\\x19\\xbe\\x35\\xc6\\x08\\x29\\xec\\x27\\xf5\\x5c\\xee\\x4c\\x01\\x50\\xc7\\x56\\x41\\x01\\x6f\\x01\\xd9\\xb4\\xf4\\x27\\xfc\\x16\\x12\\x88\\x0a\\x3c\\xe7\\x13\\xe7\\x76\\x29\\x0c\\x50\\x68\\xc0\\x3d\\x9e\\x9e\\x24\\x3e\\xc7\\xb0\\x68\\x01\\xc3\\x6a\\x70\\x53\\x6f\\x17\\x32\\xe7\\x59\\x26\\xc7\\x6f\\xb3\\x5b\\xec\\xe8\\x70\\xf4\\xe8\\xbd\\x93\\x63\\x7a\\x3d\\xcb\\x71\\xf4\\xe4\\x58\\x92\\x07\\xe9\\x35\\x39\\x5d\\xd0\\xba\\x49\\xc5\\x3b\\x59\\x87\\xf4\\xea\\xbb\\x1a\\xb5\\xe3\\x25\\x06\\x6b\\x04\\x3f\\x3f\\xff\\x03\\xbd\\x2e\\x67\\x58\\xcd\\xda\\x6d\\xef\\xef\\x9d\\xfc\\x40\\xcf\\x67\\xca\\x86\\x0e\\x6f\\xe9\\xd7\\xb3\\x32\\xc2\\xde\\x7a\\x76\\x1e\\xd7\\x0f\\xba\\xdc\\xf9\\x70\\x3d\\x3c\\x04\\x5f\\x85\\xf7\\x36\\x5f\\x32\\x7d\\xe4\\xaf\\x27\\xfe\\x0d\\x40\\x4d\\x7c\\x4c\\x92\\x66\\xdc\\x7f\\x36\\x1b\\x57\\x12\\x39\\x9c\\x1e\\xab\\x55\\x83\\xfb\\x40\\xd9\\x9c\\x88\\xe6\\x2c\\x4b\\x73\\x2c\\x2b\\xcb\\xe9\\x72\\xd9\\x9b\\x63\\x2e\\xc1\\xe6\\x94\\xb5\\x7a\\x16\\xb1\\x92\\xed\\x12\\x14\\x4f\\x03\\x2e\\x4d\\xfa\\x1f\\x4a\\x44\\xb6\\x26\\x85\\x81\\x4e\\x26\\x81\\xa7\\x81\\xbb\\x60\\xb2\\x8f\\x4d\\xde\\x7b\\xf5\\xe4\\x1b\\xba\\x3f\\x14\\x1e\\x3c\\x62\\xd0\\xe0\\x5e\\xc5\\xf5\\x5f\\x3f\\xff\\x0d\\x7d\\x43\\x5b\\xf4\\x9e\\x47\\xdb\\xb7\\xfe\\xb0\\xb8\\xd7\\x90\\xa5\\x03\\x9f\\xda\\x79\\xdf\\x06\\x37\\xbc\\x52\\xa9\\x2c\\x87\\x42\\x16\\x3c\\x49\\xee\\x90\\x06\\x9c\\xff\\x91\\xfd\\x83\\xbb\\x07\\xe3\\x66\\x51\\x93\\xa2\\xe5\\x46\\xc6\\xab\\xd3\\x85\\xca\\x29\\x2a\\x18\\x62\\x4a\\x73\\xed\\xa5\\xf6\\xea\\xaa\\x62\\xbe\\x2d\\x56\\x5c\\xec\\x96\\xdc\\xd9\\x6d\\x31\\xb7\\x44\\x05\\xa5\\x60\\x47\\x4c\\xb2\\x56\\x96\\x9b\\xcb\\xdb\\xd2\\xba\\x02\\x29\\x57\\xa9\\xaf\\x77\\x46\\xfc\\x49\\xe6\\xf1\\x56\\x90\\xfa\\x9c\\xaa\\x44\\xf4\\x1e\\xf0\\x4a\\x4c\\x34\\x3f\\xbd\\x2d\\x2c\\x29\\x16\\x51\\xbb\\x8c\\x10\\x9b\\x2c\\x52\\x51\\xc3\\x4c\\xc9\\xad\\x2c\\x28\\xed\\x56\\x59\\x07\\xfe\\xde\\x7b\\xe6\\x0d\\xed\\xd3\\xd7\\x6d\\x3f\\x73\\xd3\\xb2\\x1f\\xb6\\x4e\\x1c\\x3d\\xba\\xbc\\x62\\xe1\\xb2\\x1d\\x0f\\xce\\x19\\x76\\xdb\\xe4\\xb5\\x77\\x77\\x0f\\x3b\\xe6\\x0e\\x04\\x5c\\xf5\\x97\\x53\\xd6\\x2f\\xbc\\x61\\xed\\xb4\\xcf\\xe0\\x87\\x79\\x95\\x95\\x4f\\x81\\xde\\x6f\\x7d\\x0d\\xc6\\xec\\xca\\xff\\xd8\\xf2\\xc7\\xb9\\x93\\xe7\\xa9\\xcf\\x4e\\xac\\xff\\x76\\x2e\\x3c\\x3d\\xfd\\x64\\x5b\\x58\\xb9\\x3f\\xc3\\xbd\\x1b\\x1f\\x67\\x87\\x21\\xdf\\xab\\x8c\\x8a\\x45\\xc3\\xa1\\x3c\\x63\\x71\\xb1\\x33\\xa7\\xb4\\x54\\x76\\x32\\x3e\\x49\\xe3\\xd3\\x54\\x94\\x7b\\x0a\\x5b\\x90\\xbf\\xc8\\xea\\xf5\\xc8\\x6f\\xd4\\x5b\\x4a\\x65\\x16\\x99\\xa0\\xac\\x9d\\xca\\x49\\xe1\\x69\\xa4\\x05\\x3a\\x2f\\x32\\x6d\\x8e\\x4c\\x14\\xf7\\x32\\x4c\\x4d\\xd3\\x1e\\x51\\x6a\\x2a\\x49\\x13\\x3f\\xa4\\xbf\\x35\\x66\\x40\\x2e\\xed\\x6d\\x76\\x47\\x03\\x60\\xbe\\x1c\\xd9\\x34\\x66\\xda\\x9f\\xf0\\x97\\xef\\xde\\x1d\\x35\\x72\\xb0\\xab\\x6c\\xe4\\xe4\\x35\\xcb\\x8a\\x6b\\x6e\\x59\\xba\\x7c\\xf5\\xd8\\x6e\\x57\\x66\\x83\\x8a\\x91\\x9b\\x06\\x0d\\x2c\\xf2\\x67\\x87\\x6c\\x81\\x00\\xc8\\x03\\x9a\\x38\\xa8\\x0d\\xbc\\x66\\x7d\\x75\\xcb\\xee\\xd7\\xa2\\xcf\\x36\\x3f\\xf9\\xdc\\x2b\\x3b\\x77\\xde\\x61\\xb5\\xec\\x77\\x98\\x69\\xcd\\xdf\\x9f\\x1d\\xb0\\xad\\x9b\\xff\\x61\\x4a\\xc9\\xf3\\x1c\\x43\\x70\\x76\\x03\\xd4\\xa8\\x68\\xbe\\xd6\\xe6\\xb3\\xd9\\x19\\x17\\x2f\\x50\\x94\\x8b\\x77\\x05\\xf3\\xb8\\x6c\\x2e\\xdb\\xee\\xf1\\xe4\\xb6\\xc5\\x3c\\x2c\\x3a\\x38\\x91\\x03\\x6f\\xb7\\x1a\\x25\\xe2\\x80\\x18\\x3d\\x5d\\xe6\\xa9\\x34\\x15\\x49\\x16\\xf2\\x3b\\xd2\\xe2\\x8d\\x1c\\xcd\\xa5\\x19\\xd0\\xd8\\xfd\\xc8\\x88\\x3e\\x2e\\x5e\\x73\\x0b\\x06\\xd9\\xbd\\x06\\xbe\\x9a\\x34\\x9d\\x2d\\x7f\\xc6\\x3b\\x87\\x22\\x7f\\xad\\x84\\x2b\\xf2\\x67\\x34\\x2a\\x0e\\x46\\xce\\x60\\x07\\x98\\x02\\x1a\\x12\\x41\\x49\\x2a\\xd1\\x4f\\x6c\\x14\\xf2\\x27\\x82\\x58\\x2f\\xf8\\x45\\xd1\\x8d\\x6b\\xf8\\x0c\\x0e\\xce\\x91\\x1f\\xf2\\xe5\\xb5\\xc4\\x7c\\x1e\\xbb\\xd1\\x6e\\x74\\x6b\\x49\\x32\\xa4\\xac\\x45\\x9a\\x59\\xab\\x7a\\x0d\\x9d\\x7d\\x05\\x55\\x3f\\xd7\\xaa\\xe6\\x14\\x87\\xe9\\xcd\\x08\\x54\\xe2\\x34\\x9a\\x1a\\x0e\\x1d\\xad\\xe9\\x6e\\x41\\x9b\\xf9\\xdb\\x78\\x7a\\xdc\\xf2\\x9f\\xa4\\xbc\\x51\\x7c\\x6d\\x7d\\xca\\x1f\\x28\\xaf\\xd6\\x83\\x5c\\x98\\x16\\xc4\\x84\\x37\\x5f\\x3a\\xc5\\x74\\xcb\\x5b\\xde\\xc9\\xc3\\x12\\x6e\\x00\\x9a\\x47\\x4f\\x74\\xb6\\xac\\x53\\x7b\\x8b\\x79\\x00\\xcf\\xb0\\x3c\\xab\\xd5\\x6b\\xf5\\x46\\x13\\xa5\\xd5\\x69\\xb1\\x52\\xe7\\x41\\x7b\\x8c\\x97\\xd8\\xd4\\xc9\\x96\\x9e\\x8b\\x98\\x04\\x0a\\x88\\x28\\x7a\\x00\\xe3\\xcb\\x9e\\x59\\x7c\\x66\\x07\\x9c\\xc1\\x8e\\x60\\x3b\\xce\\xdd\\x89\\x1d\\x70\\x82\\x26\\xab\\xf2\\x6c\\x3a\\xc1\\x89\\x30\\x50\\xf5\\x51\\x59\\x8b\\xd4\\xb6\\x41\\xaf\\xe7\\x19\\xde\\x68\\xd2\\x30\\x2c\\x83\\x74\\x90\\x60\\x40\\xa3\\x3c\\x0d\\xb4\\x24\\x9c\\xdb\\x98\\x86\\x25\\x9d\\x44\\x85\\x51\\xd3\\x90\\x15\\xa4\\x68\\x34\\x26\\xbd\\xf8\\x6f\\xf0\\x6e\\x0c\\x1e\\xb1\\xf0\\x14\\xb3\\x78\\xff\\xfe\\x78\\xef\\xf8\\x4e\\x25\\xc7\\x8a\\x7d\\x93\\xe0\\xf2\\x29\\xfd\\xd3\\xaa\\xd0\\x5a\\xdd\\x4b\\xea\\xf5\\xf3\\xa2\\x16\\x23\\xda\\x75\\x7a\\x3d\\x6d\\x36\\xf1\\xbc\\x0e\\x19\\x11\\x1e\\x05\\x2d\\x2f\\x15\\x2b\\xc6\\xb3\\x21\\x59\\x5e\\xd8\\x00\\x47\\x2f\\x8f\\xc0\\x0e\\x92\\xdb\\x65\\x6c\\x7c\\x1d\\xd9\\x2c\\xa3\\x31\\x1a\\x1f\\x5b\\x17\\xdf\\x5d\\xf1\\x46\\xd9\\xfb\\xf4\\xa0\\xb3\\x07\\x31\\x7c\\xac\\x9a\\xe3\\x86\\xc7\\xa4\\xcc\\xb8\\xdf\\x11\\xcb\\x51\\x46\\xda\\xc8\\xe9\\x34\\x9c\\xde\\xac\\x37\\x0b\\x16\\x46\\xa3\\xd5\\xb4\\xc5\\x8c\\x14\\x3a\\xbe\\x4c\\x7a\\x86\\x93\\x94\\xce\\x08\\x99\\x79\\x9d\\xc9\\x96\\x13\\x11\\x05\\x13\\xa3\\x2a\\x42\\x60\\x0a\\x99\\x6b\\x4e\\xc1\\x75\\xf0\\x33\\x78\\xe7\\x4f\\x70\\x17\\xa8\\x02\\xdd\\x40\\x19\\xa8\\x62\\xf8\\x6f\\xe2\\xc7\\x68\\xff\\x37\\x74\\x63\\xfc\\x2d\\xba\\x9a\\xca\\x98\\xa3\\x44\\x45\\xa3\\x39\\x06\\x41\\x00\\x16\\x93\\x45\\x62\\xf0\\x4c\\x6d\\x56\\x8b\\x87\\xe7\\x29\\x34\\x59\\xb3\\x44\\xe1\\x0e\\x77\\xa4\\xee\\x21\\x55\\x3a\\xd7\\x98\\x46\\x00\\xa1\\x20\\xe2\\x4f\\xcd\\x9f\\x14\\x2e\\x56\\xf9\\x37\\x82\\xee\\x99\\x6c\\x40\\xef\\xdf\\x80\\xc7\\xe1\\x1b\\xe9\\xac\\x78\\xe5\\xbb\\xef\\x54\\xdb\\x1d\\xad\\xf3\\x87\\xc4\\x66\\xaa\\x8d\\x66\\x99\\x04\\x33\\x67\\xd0\\xea\\x34\\xe8\\x90\\x07\\x9c\\x81\\x33\\xb0\\x46\\x1d\\xa3\\x41\\xf6\\x52\\x7b\\x57\\x7b\\x09\\xf9\\x19\\x20\\x1c\\x09\\x13\\xf8\\x30\\x62\\xa7\\xe8\\x08\\x0b\\xc8\\xff\\xd9\\x0f\\xcf\\xf4\\x82\\x1f\\xc0\\xf7\\xe1\\x1b\\xe0\\x6d\\x38\\x09\\x74\\x47\\x96\\x26\\x0f\\xaa\\xd1\\x81\\x5d\\xf9\\x2b\\x16\\x32\\xf0\\x13\\xb4\\xd2\\x87\\xe8\\xa5\\xb0\\x15\\x3c\\x11\\xbf\\x1e\\x96\\x10\\x3a\\xea\\x10\\x1d\\xb7\\xa8\\x18\\x11\\xf9\\x82\\x99\\xe5\\x39\\x2d\\x6d\\x30\\xea\\xcd\\x3a\\xd1\\x62\\x40\\x87\\x75\\x4b\\x8c\\xd3\\x72\\x5a\\xa0\\xe3\\x05\\x56\\x16\\x00\\x30\\x26\\xc5\\x2e\\x11\\x69\\x09\\xa7\\xd7\\xa2\\x63\\xc1\\x33\\x10\\x62\\x3c\\xf8\\x3b\\x12\\x3e\\x66\\x43\\xfd\\x39\\x08\\x3f\\x06\\x6b\\xe0\\x8d\\x20\\x7c\\xfc\\x5b\\x50\\x8e\\x7e\\x6a\\xaf\\x3f\\x05\\x6e\\x82\\xd7\\xd0\\x61\\xda\\x80\\xf3\\x3e\\xe3\\x7f\\xc2\\x35\\xf1\\x9d\\x98\\x16\\x16\\xd1\\x72\\x40\\xb5\\x23\\xed\\x06\\x2d\\xcd\\x71\\x7a\\x81\\x35\\xe9\\x4d\\xa2\\x45\\xcb\\x9a\\x58\\x12\\xc6\\xc2\\xd7\\x6c\\x3a\\x64\\xc2\\x08\\x6d\\x31\\x9e\\xb8\\x8a\\xc9\\xfb\\xc0\\xd4\\xcd\\xa5\\x62\\xc8\\x29\\xed\\x3d\\x93\\xd0\\x1f\\xc8\\x96\\x60\\xe9\\xe7\\xf6\\x03\\x07\\xc8\\xba\\xfd\\x4c\\xdc\\xfc\\x31\\xd7\\xef\\xeb\\x73\\x77\\x12\\xb8\\x48\\xb2\\xfd\\x14\\xdc\\x4c\\x34\\xfe\\x2b\\x2a\\x2f\\x6c\\x02\\x8b\\x09\\x30\\x19\\xf4\\x26\\xbd\\x45\\xc4\\xe3\\x23\\xa9\\xc0\\xa3\\x1b\\x4c\\x32\\x1e\\xbf\\x39\\xc6\\x67\\x56\\xcb\\x51\\x91\\x4c\\xc7\\xa4\\xeb\\xf8\\x3c\\x7d\\xc3\\xd3\\x20\\x8a\\xe1\\x47\\xce\\xfd\\x82\\xdc\\x76\\xb4\\x13\\x13\\x10\\x24\\xcc\\x62\\x4a\\xe9\\x6b\\x36\\x9d\\xe0\\x87\\xe3\\x3c\\x8e\\x2c\\xb3\\xdd\\xca\\xb2\\x06\\x1a\\x18\\x80\\xc3\\x29\\x6a\\x3b\\x62\\xa2\\xc8\\xda\\x8c\\x0c\\x6b\\xef\\x24\\x13\\x5d\\x2d\\xd8\\x84\\xfd\\xda\\x05\\xce\\x92\\x7d\\xe9\\xcc\\x8e\\xa6\\xe7\\x47\\xbd\\xf6\\x1c\\xf0\\x8e\\x9b\\xbe\\x79\\x22\\x08\\x29\\x52\\x71\\x3c\\x3b\\xe7\\xa7\\x9f\\x93\\xa8\\x96\\x67\\xd5\\xfe\\xfc\\x23\\x10\\x2d\\xb7\\x93\\xbb\\x85\\x86\\xa8\\x03\\xad\\x3f\\xf2\\x2e\\x8c\\x06\\xd9\\xe0\\x70\\x32\\x12\\xb2\\x21\\x19\\xb3\\xc6\\x2e\\x18\\xb1\\x26\\x32\\xeb\\x9a\\x63\\x66\\x99\\xba\\x98\\x3d\\x9f\\x0e\\x90\\xa2\\xe8\\xbf\\x04\\x48\\xca\\xcc\\x4d\\xa5\\xa3\\xae\\x04\\xae\\x85\\xa7\\xb6\\x8e\\xde\\xb0\\x5a\\x45\\x49\\x31\\xe5\\x80\\x53\\x0a\\x47\\x92\\x48\\x29\\xe9\\x58\\x9e\\x4e\\xe4\\x37\\x76\\x93\\x29\\x0a\\x31\\xc6\\xc2\\x71\\x4e\\x93\\xde\\xa9\\x77\\xbb\\x2c\\x18\\x62\\x9f\\x47\\xff\\x31\\xc8\\xb0\\x04\\x16\\xab\\x28\\x5a\\x2d\\x80\\xe3\\xec\\x06\\x35\\xbe\\x99\\xf2\\xcc\\x3b\\x25\\xd0\\x29\\x16\\x26\\x4e\\xbe\\xae\\xd2\\x24\\x18\\x45\\x2e\\x1f\\x15\\xe8\\xcf\\x41\\xb1\\xcb\\x46\\x60\\x56\\x8d\\x6c\\xbf\\xec\\x92\\x46\\x0c\\xfe\\x99\\x65\\x81\\xf1\\x5f\\x19\\x85\\x55\\x6b\\x56\\xb2\\xe0\\x14\\x94\\x34\\x0e\\x05\\x06\\x14\\xd1\\x38\\x1b\\xd1\\xd8\\x8b\\xdc\\x1f\\x8c\\x8e\\x96\\xeb\\x4c\\x26\\x0d\\x5a\\x2f\\x49\\x32\\x02\\xa7\\xd1\\xe9\\x71\\x5b\\xa4\\x11\\x31\\x56\\x6e\\x8d\\xb1\\xd6\\x11\\x31\\x9d\\xb9\\x25\\x66\\x61\\x35\\x3a\\x0e\\xa9\\x3e\\x34\\x0d\\x93\\xde\\x25\\x98\\x94\\x36\\x30\\x29\\x4a\\x2f\\x44\\x2a\\x48\\x27\\xcf\\x2f\\x0a\\x40\\x0e\\x54\\xa9\\xac\\x5c\\x39\\x7c\\xe8\\x15\\x91\\xa9\\x38\\xeb\\x7a\\x48\\xd3\\x15\\x95\\xc3\\x14\\x66\\x0e\\x19\\x4e\\x83\\x18\\x7c\\x42\\xeb\\x53\\x80\\x67\\xbc\\xee\\xb7\\xf7\\xea\\x54\\xec\\x19\\x7c\\xd7\\xb1\\x86\\xc4\\x23\\xab\\xa3\\x5e\\x60\\xb1\\x88\\x3a\\xad\\xa8\\x45\\x4e\\x24\\xf6\\xcf\\x4c\\x1d\\x31\\xc0\\x02\\x56\\x94\\x18\\x9d\\x28\\x25\\x0b\\xba\\x8b\\x3b\\x21\\x90\\x88\\x19\\x25\\xdc\\xf8\\x8a\\x1d\\xec\\x26\\x58\\xa9\\xf0\\x6b\\x8c\\x95\\x8a\\xef\\xfe\\xa1\\x0b\\xa3\\xa5\\xc2\\x06\\xf0\\x38\\x92\\xab\\x78\\x1b\\xd7\\x4f\\xc9\\xb3\\x5a\\xab\\xd4\\x98\\xa3\\x73\\x87\\xd4\\x77\\x9d\\x3f\\x8b\\x6c\\xbb\\x17\\x90\\xbd\\x93\\x8d\\xac\\xbb\\x09\\xd1\\x70\\x80\\xa2\\x1c\\x46\\xa3\\x90\\xc7\\x67\\x65\\x15\\x84\\x6c\\x92\\x20\\x84\\x28\\xa3\\xc3\\xd8\\x1e\\x0b\\x20\\xab\\x41\\x14\\x1d\\x1c\\xa3\\x73\\xbb\\x73\\x90\\x7d\\xcb\\xe2\\xb6\\x9e\\x3a\\x2b\\xd5\\xe9\\xb6\\x55\\x4c\\x41\\xd0\\x27\\xaf\\x34\\x12\\xb7\\xcc\\x92\\x6a\\x23\\x60\\x78\\x48\\xd2\\xf7\\xd6\\x81\\x0d\\x3c\\x87\\x5b\\x0d\\xa0\\x91\\x96\\x29\\xa5\\x80\\xce\\x66\\x77\\x0d\\x1e\\xe3\\x05\\xfa\\x8a\\x0f\\xf7\\x9e\\x38\\x6d\\x59\\xb2\\xd4\\xf1\\x82\\xd5\\x99\\xef\\xfa\\xf3\\xf0\\x71\\x68\\x84\\x25\\x23\\x26\\x9a\\xc1\\x4a\\x7e\\x32\\xdd\\x1d\\xde\\xd7\\x32\\xb7\\xe4\\x8d\\xdd\\x20\\x00\\xca\\xe4\\x87\\x57\\x8f\\x68\\xcb\\xae\\xef\\x5e\\xd2\\xc3\\x8c\\x0c\\x09\\x3f\\x7c\\x19\\x7e\\x75\\x7d\\x2f\\xba\\x6e\\xdb\\x9e\\x27\\x1e\\x41\\xf6\\x8e\\x01\\xcd\\x6f\\x15\\xc1\\x7d\\xc8\\xa3\\x26\\x47\\x2b\\x73\\x3d\\x7e\\x59\\x36\\x31\\x26\\x9b\\x5e\\xcb\\xd9\\xb8\\xfc\\xa0\\xcc\\x98\\x98\\x96\\x98\\xdf\\x24\\x98\\xb2\\x4d\\xc8\\x4d\\x73\\x9b\\x34\\x1a\\x93\\x9b\\xa1\\x2c\\x16\\x5f\\x0b\\x46\\x93\\x74\\xa6\\x1b\\xb0\\x69\\x57\\xca\\x19\\xd9\\xeb\\xc9\\x78\\x26\\x31\\x62\\xe9\\x50\\x5e\\x72\\x6e\\x8a\\xe3\\x24\\xfb\\x15\\x9b\\x0f\\xd9\\xae\\xea\\x1c\\x8f\\x7c\\xf0\\xbd\\x11\\xc6\\x83\\x7b\\xb3\\x02\\x25\\xae\\xef\\x5e\\xf9\\xe0\\x8b\\xf8\\xae\\x31\\x23\\xe7\\x66\\x01\\x5d\\xcd\\xc7\\x77\\x0f\\x69\\x61\\x40\\x23\\x3f\\xd2\\x06\\xb8\\xdf\\x35\\x47\\x47\\x2e\\x2c\\xeb\\x5d\\x5e\\x5c\\xc2\\x1c\\xf9\\x37\\x7c\\x07\\x7e\\xac\\xdd\\xb0\\xfd\\x3a\\xc7\\xfa\\x5b\\x99\\xdd\\xab\\x96\\xaf\\x58\\x41\\xd6\\x0e\\x9e\\x22\\x6b\\x97\\x4b\\x15\\x52\\x97\\x45\\xab\\xf3\\x29\\xca\\x2d\\xe8\\x0d\\x82\\x41\\x0a\\xf1\\x39\\x39\\xc5\\x45\\x0e\\x59\\x92\\x8a\\x28\\xc1\\x8d\\x8e\\xb1\\x7c\\x37\\xe7\\xb6\\xd9\\xdc\\x68\\xf9\\xb2\\xb2\\x02\\x6d\\xb1\\x2c\\xd6\\x10\\x35\\x5a\\x75\\xb8\\x69\\x9f\\x1a\\x16\\x71\\x1f\\xfe\\x7f\\xac\\x62\\x5a\\xb8\\x20\\xb1\\x90\\xd8\\xb3\\xca\\xff\\x9f\\xd6\\xb2\\xe0\\xce\\xa5\\x47\\xf6\\xbf\\xf9\\xd7\\x8b\\xf9\\xc0\\x5e\\x0f\\xfc\\x13\\xa0\\xf3\\xc1\\x07\\x9c\\x7f\\xb5\\xa4\\x78\\x4d\\xd1\\xbc\\xf1\\x9a\\x62\\x99\\xbd\\x32\\xda\\x33\\xcf\\x13\\x40\\x6b\\xea\\xcb\\xce\\x36\\x31\\x8c\\xb2\\xae\\x05\\x21\\x65\\x5d\\x03\\x5d\\xd7\\x35\\x07\\xaf\\x6b\\x36\\x15\\x45\\xa6\\xa5\\x33\\x85\\xb9\\xe4\\x76\\x5a\\x0e\\xff\\xe5\\x0a\\x67\\x38\\x2a\\xa5\\xe0\\xa2\\x6b\\x8c\\xd5\\x99\\x55\\x9d\\xfd\\xbc\\xad\\xcf\\x5e\\x70\\x95\\x47\\xfe\\xdf\\x7b\\x53\\xd4\\x65\\x36\\x7a\\xe0\\x67\\x17\\x5c\\xe6\\x53\\xc5\\xf0\\x2c\\xfb\\x18\\x5e\\xe8\\x0b\\xf4\\xca\\x20\\xf8\\xf4\\xfc\\x2f\\x52\\x3e\\x73\\x90\\xe4\\x4a\\x9e\\x45\\x3b\\xf9\\xac\\x92\\x5b\\x19\\x2a\\xe1\\xb3\\x82\\x20\\xd0\\x35\\xb7\\xf2\\x1d\\xee\\x57\\xf4\\xf7\\xdf\\x12\\x3c\\x85\\xb3\\x6a\\x66\\x25\\x95\\xdf\\x8d\\x73\\x67\\x64\\x56\\x2a\\x31\\xc1\\x57\\x90\\xb2\\xc8\\xc1\\xf7\\x28\\x46\\x8f\\x47\\x8b\\xaf\\x00\\x81\\x2c\\xc8\\xb9\\x7e\\xc9\\x89\\x1c\\x5a\\x0f\\x8b\\xb6\\x3f\\xcb\\x22\\x4b\\x49\\xa9\\x86\\x20\\x47\\x4e\\x5a\\xab\\xc7\\x48\\x52\\x4e\\x08\\xb2\\x42\\xe2\\xaa\\xdd\\x2e\\xe1\\x9e\\x6a\\x29\\xc7\\xbc\\x14\\x14\\x03\\xb0\\x0b\\x7e\\x96\\xb8\\x75\\x2f\\xbe\\xb1\\xf8\\xc4\\x7f\\x91\\xb9\\xf6\\xf5\\x3d\\xff\\x99\\x78\\xbc\\xed\\xee\\x6d\\xf7\\x4d\\x7e\\xf4\\xaa\\xd9\\xa9\\xbb\\xf7\\xbe\\xb7\\xdb\\xbd\\xf0\\xc7\\x1f\\xe1\\xa7\\x70\\x1f\\x8e\\x62\\xbe\\x75\\xe0\\xda\\xed\\xa3\\x95\\x73\\xf2\\x36\\x44\\xef\\x7d\\x48\\xef\\x13\\x7a\\x7d\\x94\\x20\\xd0\\x4e\\x9b\\x4d\\x27\\xd3\\x88\\x5e\\x27\\xc6\\xcb\\x70\\xca\\x59\\x76\\x41\\x96\\x79\\x64\\x39\\xf1\\x9e\\x0b\\x1c\\x93\\x89\\x90\\x3e\\x92\\x6b\\x56\\xec\\x74\\x79\\xa0\\x24\\x25\\x24\\x6e\\xe8\\xe8\\xaf\\xc0\\xb3\\x37\\xfe\\xbe\\x79\\xc9\\x4b\\xc3\\x9e\\x19\\x79\\xf5\\xda\\x95\\xf7\\x6d\\xdb\\x8a\\x6f\\xa4\\x12\\x37\\x75\\xb9\\xf4\\xe8\\x4a\\xd8\\xb0\\xf5\\x87\\xc5\\xbd\\x5b\\xe7\\x0f\\xd8\\xf3\\xe8\\xd6\\x87\\x21\\x3a\\x8d\\x52\\x17\\x76\\x3d\\x09\\x86\\x3a\\x3a\\xd3\\xdf\\x26\\xe7\\x68\\xcf\\xa8\\xe8\\xb0\\x3b\\x9d\\x36\\xab\\xd6\\xea\\x72\\x3b\\xad\\xed\\x31\\xa7\\x64\\xc7\\xc6\\x8d\\x31\\x0d\\x4e\\x5d\\x4a\\x85\\x86\\xd3\\xb9\\x7b\\x11\\x44\\x75\\x92\\x50\\x73\\x21\\x54\\xf5\\x15\\xdf\\x9e\\xd9\\x38\\xfe\\x02\\xc0\\xea\\x8a\\xe5\\x45\\x78\\x28\\x63\\xbb\\x8f\\xd4\\x53\\xf5\\x8d\\xba\\x28\\xbb\\x53\\x46\\x86\\xa6\\x1d\\x79\\x86\\x2e\\x2b\\xf2\\x78\\xac\\x04\\xea\\x75\\x44\\xcc\\x89\\xe8\\x7b\\x56\\x67\\x07\\x72\\x27\\xcf\\x27\\xb9\\xf4\\x49\\x4d\\x8f\\x9c\\x9f\\x00\\x6d\\x66\\x32\\x80\\x12\\x11\\x79\\xcc\\x83\\xd7\\x9e\\xac\\x0b\\x57\\xf6\\x6f\\xeb\\x97\\x42\\x4b\\xfc\\x6d\\xe5\\xa7\\xc8\\x29\\x82\\x97\\x1e\\xbf\\x6b\\x74\\x5e\\x12\\x30\\x11\\x5b\\x20\\x84\\xae\\x9b\\xd4\\xbe\\x1a\\x0e\\x9c\\x2f\\xc0\\xd3\\x34\\x63\\xd1\\x38\\x1c\\x7a\\x8b\\xde\\xe9\\x32\\xd9\\x3a\\x62\\x26\\x0f\\x71\\xfb\\x78\\x46\\xcb\\x32\\xcc\\x85\\x44\\x31\\xa5\\xb1\\x52\\x57\\x7a\\xaa\\x10\\x2a\\x11\\x2e\\x05\\xed\\x5d\\x6d\\xb8\\x71\\x1a\\xc2\\x15\\xff\\x68\\x3d\\xe1\\x9f\\x5e\\xbb\\x60\\x6e\\xda\\xf5\\xe6\\x76\\xa4\\x7c\\x1e\\x6f\\xbe\\x64\\x69\\x41\\xe9\\x27\\x9f\\x53\\x6a\\xef\\xe9\\x3e\\xc4\\x2e\\xeb\\x13\\xcd\\xd3\\xd8\\xed\\x7a\\x44\\x97\\x85\\xd1\\x33\\x4e\\x87\\xc9\\xda\\x4c\\x68\\x6a\\x8e\\x2d\\xe3\\xd7\\xf2\\x34\\x21\\x4c\\x41\\x9b\\x25\\x20\\xaa\\x5d\\x36\\x49\\x27\\xca\\x6c\\x69\\xdb\\x83\\x29\\x84\\x4b\\xc8\\x75\\xe7\\x0a\\xe0\\x86\\x27\\xe0\\x9f\\x8a\\xcc\\xdd\\xba\\x3c\\xed\\xd6\\x33\\xff\\x3c\\xfc\\x1d\\x8b\\xda\\x13\\x4f\\xa6\\xee\\x5f\\x8f\\x12\\xdb\\xbd\\x7f\\x34\\xd7\\xc4\\x32\\x1c\\x07\\x28\\xa3\\x56\\xab\\xa3\\x90\\x23\\x61\\xd4\\xb4\\xc7\\x8c\\x46\\xce\\xac\\x67\\x74\\x12\\x47\\xb5\\xc7\\x38\\x89\\xb9\\xc8\\x25\\x70\\x5a\\x76\\x4b\\x50\\x49\\xd1\\x4a\\x12\\xc8\\xf6\\xb9\\x07\\x49\\xd2\\xb5\\x29\\x8e\\x11\\xeb\\x35\\xc5\\x29\\x15\\x2b\\xf0\\x10\\xb1\\xdf\\x47\\x44\\xf3\\x28\\x93\\x96\\x65\\x05\\xa3\\x0e\\x00\\xce\\x64\\xe2\\x90\\x0b\\x81\\xa1\\x8f\\xb5\\xd9\\x5a\\xc4\\x2d\\xad\\x16\\xe8\\x79\\x81\\x93\\x05\\xe2\\x4a\\x1b\\xd3\\x04\\x2a\\x79\\x2b\\x9a\\x26\\x52\\x0a\\xda\\x8e\\xe2\\x53\\xa7\\xd0\\xe7\\x91\\x3c\\x6d\\xb9\\x36\\xc5\\x25\\x24\\x47\\xe9\\x57\\xc2\\x8a\\x3f\\x83\\xed\\xf9\\x3e\\xc4\\x9e\\x1f\\x10\\x15\\x74\\x66\\xbb\\x5d\\xb4\\xda\\x6c\\xbc\\xc8\\x8b\\x0e\\xa7\\x0d\\xef\\x36\\x11\\xf7\\xf7\\x35\\x1a\\x25\\x8d\\x24\\xb7\\xc7\\x24\\x09\\xa3\\xfe\\x65\\x5e\\x8a\\xa6\\xa8\\x20\\xba\\x1f\\xad\\x57\\x17\\xa3\\x9e\\x94\\x19\\x33\\xde\\x0c\\xbb\\x7e\\xc7\\x99\\xc5\\x9d\\xac\\xfa\\x33\\xcf\\xc3\\xe9\\xf4\\x1a\\x4c\\xd3\\x48\\x44\\x93\\x93\\xc8\\xcf\\xd0\\x68\\x9e\\x19\\x59\\xd2\\x76\\x40\\xd3\\x06\\xbb\\xc1\\xee\\x70\\x5a\\xb4\\xad\\xa9\\xae\\x6e\\x94\\xcd\\x28\\x60\\x60\\x45\\xec\\x6a\\xec\\x4e\\x22\\x92\\x76\\x65\\x8f\\x4a\\x18\\xe9\\x82\\x52\\xa5\\xda\\xf6\\xfe\\xa4\\xc9\\xcf\\x5c\\x7d\\x6a\\x21\\x31\\xef\\x81\\x53\\x31\\xf7\\x31\\xac\\xf0\\x57\\x8a\\x69\\xaf\\xda\\xfb\\x67\\x95\\xb8\\xc6\\x25\\x70\\x3a\\x47\\x91\\x3e\\x5b\\xc3\\xa2\\x76\\x3f\\x4b\\x01\\x90\\xed\\x33\\x89\\xa2\\xe4\\x93\\x02\\xb9\\x4e\\x23\\xcb\\xe8\\xac\\x7e\\xcc\\x32\\xb3\\x4e\\x07\\xbc\\x56\\x46\\x92\\x80\\xaf\\x3d\\x06\\xa4\\x34\\x85\\xda\\x28\\xa6\\x62\\x43\\x69\\x62\\xe4\\xc7\\xe9\\x8a\\x1a\\x5e\\x83\\xd6\\x2b\\x3f\\x0c\\x1c\\x09\\xd0\\xd2\\x6c\\xa0\\xa0\\x96\\xe2\\x75\\x7c\\xa1\\x4c\\xe0\\xb3\\x42\\x8b\\x3f\\x5b\\xea\\x2b\\xe4\\x68\\xe3\\x17\\x60\\xfc\\x8d\\x82\\x95\\xe5\\x6c\\xc2\\x4d\\x60\\x38\\x12\\x39\\x66\\xca\\x8a\\xed\\xbe\\x07\\xee\\x86\\xdd\\xc0\\x91\\x29\\x9f\\xb8\\xb2\\x1f\\x9d\\x7c\\x6e\\x23\\x32\\x6e\\x4d\\x55\\xeb\\xfc\\xfe\\xd5\\xf5\\xe0\\x57\\xac\\xc6\\x54\\xfa\\xd9\\x5f\\x88\\xfd\\xdf\\x14\\x75\\xba\\x6c\\xa2\\xdd\\x8e\\x3b\\xcb\\x79\\x70\\x87\\x39\\xde\\xed\\xa1\\x5d\\x06\\x06\\x68\\xc8\\xa2\\x9b\\xec\\x62\\x73\\xcc\\x2e\\xe3\\x56\\x73\\x32\\xa9\\xa3\\x6b\\x8c\\xa8\\x2d\\x2b\\x1c\\x29\\xbc\\x5c\\xf5\\x22\\x27\\x72\\x41\\xa4\\xd5\\x44\\x12\\x66\\x17\\xb4\\x55\\x24\\x84\\x7f\\x2b\\xe9\\x8a\\xb8\\xaa\\x26\\x28\\xde\\x31\\x6d\\x63\\x06\\x26\\xd7\\xf0\\x54\\x7f\\x06\\x7e\\xa7\\x94\\x4f\\x91\\x5a\\x3b\\xdd\\x20\\x20\\xa2\\xdf\\xa2\\xd3\\x99\\xa6\\x24\\x17\\x47\\x05\\x69\\x21\\xf3\\x2c\\x27\\x78\\xe3\\xdc\\xd3\\xe8\\xef\\xfb\\xe2\\xb3\\x9c\\x5e\\xff\\x13\\x45\\xd9\\xff\\x8e\\x8c\\xc1\\x0f\\xa2\\xba\\xaa\\x1e\\x8c\\x27\\x48\\x57\\xa4\\x8e\\xf3\\xe4\\xf3\\x97\\x27\\x9e\\x9f\\xea\\xab\\xc5\\xd0\\x94\\x0d\\x69\\x83\\x20\\x43\\xdb\\x53\\x85\\x7c\\xe9\\x63\\x6c\\x4a\\x8c\\x41\\xcd\\x38\\x89\\x2b\\xf9\\x18\\x7a\\xdf\\xf9\\x23\\x51\\x7d\\x4d\\x15\\x1a\\x84\\xa1\\x6b\\xd3\\x2a\\xf9\\x12\\xe3\\xbc\\x44\\x6c\\x94\\x9b\\xc8\\x7b\\x1b\\x7a\\xc6\\x3e\\x82\\xbf\\xfa\\x48\\x5a\\xef\\xb7\\x1d\\x89\\xde\\x6f\\xf4\\x7a\\xf4\\x81\\x5f\\x31\\xe5\\xe0\\xfc\\x37\\x51\\x9d\\x60\\x07\\x86\\x20\\x6e\\xf4\\xa5\\x50\\x9e\\xc4\\xbb\\x7b\\x3a\\x81\\x77\\x47\\xaf\\x67\\x89\\xcd\\x42\\xb3\\x39\\x21\\xc6\\x10\\xc4\\xa8\\x77\\xea\\x24\\xd5\\xde\\x1f\\xab\\xb8\\x71\\x16\\x1e\\xb4\\xa4\\xe3\\x64\\x5b\\x78\\xda\\x9d\\xec\\x0d\\xb2\\x8a\\x9f\\x23\\xe5\\xe3\\x7f\\x47\\x3c\\xee\\x8f\\x04\\x57\\x45\\xcf\\xa3\\xfc\\xd9\\x76\\x0b\\x9a\\x4e\\xa0\\x33\\x0f\\x92\\x78\\x7b\\xf8\\x19\\xe9\\x78\\x7b\\x54\\x6e\\x8e\\x81\\x41\\x9f\\xc8\\x4b\\x63\\x40\\xd2\\x26\\x9b\\x93\\xb0\\xc9\\x52\\x63\\xd0\\x80\\x2a\\xc8\\x47\\x46\\x19\\x0d\\x8a\\x3a\\x8f\\xa1\\xd8\\x65\\x9b\\x12\\x76\\x59\\x62\\x0c\\xf4\\x89\\x50\\x10\\x19\\x66\\x34\\x28\\xcc\\x1c\\x83\\xf4\\xe9\\x21\\x63\\x1c\\x52\\xc7\\xd0\\x26\\x3e\\x61\\x2d\\x29\\x66\\xf2\\xd0\\x27\\xc2\\x9d\\xc7\\x20\\xf8\\xd8\\x64\\x8c\\xe3\\xca\\x18\\x27\\x12\\x55\\x99\\xe7\\xa2\\xfa\\x6e\\x45\\x34\\xfe\\x50\\x69\\xfa\\x5a\\xa2\\xbd\\x54\\x8a\\xb1\\x1c\\x49\\xee\\xc0\\x80\\x68\\xd0\\x89\\x36\\x3b\\xcd\\x1b\\x5d\\x76\\x9e\\xf5\\xb8\\x1d\\x8c\\x1d\\xb9\\xf9\\x26\\xbb\\xc9\\x8e\\x0e\\x16\\x81\\x78\\x80\\xae\\xb4\\x2c\\xb6\\xf4\\x12\\xe6\\x54\\xee\\xaf\\x92\\xc5\\x46\\x6a\\xe0\\xa9\\x00\\xee\\xf9\\x93\\x34\\xaf\\xaa\\x80\\x7f\\x35\\xf3\\x3b\\x7c\\xe7\\xb1\\x27\\xe0\\xa7\\xe7\\x7f\\x84\\x5f\\xf5\\x03\\xda\\x09\\x3f\\x5e\\xb3\\xf6\\xc1\\x1d\\xf5\\xc0\\x15\\xbf\\x9c\\xeb\\x77\\x00\\x7e\\xea\\x3b\\xbc\\xf9\\x18\\x84\\x2f\\x1e\\x9a\\x18\\xbf\\x76\\xda\\xbc\\x79\\xbb\\x81\\x03\\xaf\\x0d\\x3a\\x83\\x27\\x61\\x8c\\x5a\\x7a\\xc4\\x85\\xfa\\xeb\\xe8\\x06\\x03\\x3f\\xe8\\xa3\\x58\\xb8\\xa2\\x05\\x68\\x83\\x6a\\x0f\\xc2\\xe4\\x1e\\x52\\xf0\\xc7\\xa6\\xaa\\xf8\\x63\\xf8\\xef\\xcb\\x54\\x8b\\x58\\xb0\\xa2\\x53\\x20\\x88\\x21\\x76\\xd3\\xff\\x5e\\x79\\xfe\\x1c\\x4b\\x48\\x59\\x55\\x91\\xc7\\xe3\\x50\\x72\\xd4\\x48\\x53\\x3a\\x0b\\xc7\\x04\\x01\\xc5\\x26\\xd9\\x9e\\x7a\\xfe\\xa6\\x24\\xbe\\x59\\x6a\\x5d\\x65\\x2b\\x7a\\x3c\\x0d\\x1c\\x99\\xeb\\x4a\\x6a\\xc7\\xf1\\xba\\xe2\\xde\\x35\\x9d\\xe4\\xd3\\xe3\\xe2\\xf1\\x1e\\xcd\\xea\\xbc\\xae\\xa4\\x26\\x9b\\xec\\xd1\\xd6\\x4e\\xf2\\xe9\\x75\\x93\\x4f\\xf8\\xd2\\x17\\x35\\xbd\\x3e\\xdd\\xa2\\xc4\\xd4\\x6d\\x66\\x33\\x85\\x6c\\x3b\\x9e\\xe2\\x1d\\x76\\x2b\\x5a\\x4a\\xab\\xcd\\x6a\\x63\\x74\\xa4\\x6f\\x18\\xcb\\x18\\xdb\\x62\\x8c\\xb5\\xcb\\xa2\\x66\\x16\\x6b\\x83\\xb4\\x82\\x74\\x50\\x61\\xf5\\x4b\\xd6\\x5c\\xc6\\x4f\\xb3\\x2b\\xe1\\x77\\xa4\\xf6\\xfc\\x38\\x70\\x91\\x5a\\x74\\x67\\xfc\\xff\\x3e\\x76\\xc3\\x1c\\xf7\\x27\\x87\\xfd\\xe0\\x73\\x3f\\xad\\x16\\x9b\\x83\\x98\\x52\\x7c\\x7e\\xee\\x08\\x98\\x03\\xd7\\x31\\x9b\\xe0\\xf3\\xa0\\x5f\\xa7\\x5a\\x73\\x11\\xd9\\xa3\\x83\\xa2\\x21\\x19\\xd1\\x68\\x47\\xb4\\xf2\\x94\\xcb\\x2d\\x0b\\xc8\\x86\\x90\\xb3\\x65\\x74\\x42\\xca\\x32\\x22\\x56\\x6a\\xc6\\x1d\\x92\\x0d\\x5d\\x3a\\x24\\xa7\\x8e\\xc8\\x74\\x6a\\x55\\xd4\\xc5\\x1c\\x80\\x21\\x50\\x7d\\x40\\x75\\xd3\\xd8\\xb9\\xf0\\xe4\\xf9\\xdf\\xe1\\x49\\x60\\x86\\xb4\\x2e\\xfe\\xf3\\xac\\x39\\x46\\x18\\x35\\xcd\\x9a\\x35\\x73\\xb6\\x09\\xbc\\x6c\\x9c\\x4e\\xfb\\xd4\\xc2\\x71\\x13\\x72\\x44\\xf3\\xce\\x4d\\x5a\\x71\\xc7\\xba\\x95\\xf4\\x57\\xcb\\x6f\\xbe\\x65\\x59\\x6a\\xdd\\x52\\x72\\x41\\xfa\\xc9\\xba\\xa2\\x66\\x16\\x2d\\x83\\x59\\x8b\\x24\\x83\\x02\\x29\\xc9\\x50\\xd6\\x3a\\xb9\\x6e\\xec\\xfa\\xf4\\x75\\x63\\x19\\xca\\xe7\\x45\\xeb\\xc6\\x32\\x39\\x99\\xb2\\x41\\x7a\\x8e\\x90\\x3d\\xff\\xcf\\xce\\x7a\\xc5\\xe0\\xf3\\x4a\\x26\\x5c\\x54\\xdd\\x59\\x36\\x08\\xce\\x2c\\x91\\xbf\\xb8\\x32\\xc6\\x2f\\x69\\x7b\\x3e\\xe0\\xa7\\x1c\\xe8\\x43\\xc1\\x4e\\xfa\\x5b\\xe9\\x79\\x37\\x35\\xd1\\xf3\\x8e\\xbe\\x99\\x42\\x03\\x90\\x3d\\xc1\\xda\\x65\\xdc\\xef\\xce\\x9e\\xb9\\x87\\x14\\x8c\\xbe\\xa9\\x2a\\x46\\x1f\\xd9\\x73\\x09\\xaf\\xd2\\xe5\\xc4\\x08\\x7d\\xae\\xcc\\x3d\\xa4\\x3c\\x7f\\x4e\\xe2\\xf9\\xaa\\xee\\x52\\xa8\\xfa\\x33\\xaa\\x77\\xda\\xf5\\xb8\\x3e\\xdc\\x9d\\x51\\x53\\xae\\x8c\\xb1\\x29\\x81\\x03\\x48\\xcd\\xe0\\xd4\\x99\\x73\\x1e\\x17\\x1a\\x82\\x06\\x59\\x99\\xbc\\x52\\xc6\\x78\\x28\\x39\\xc6\\x40\\x30\\x3b\\xc1\\xab\\x49\\xb2\\xaf\\xf3\\x00\\xe9\\xf3\\x78\\x3a\\x31\\x0f\\x7a\\x13\\xf5\\x5b\\xe2\\x33\\x51\\xa7\\xbf\\xcb\\x28\\xe4\\x33\\xe4\\x3e\\x94\\xcc\\xe5\\x13\\x65\\x2e\\xd4\\x0f\\xc9\\xb9\\xc4\\xf1\\x5c\\xb4\\x52\\x97\\xb9\\x5c\\x91\\xd4\\x09\\x7f\\x64\\xea\\x04\\x93\\xd3\\x2e\\xe9\\xf0\\x9f\\xa7\\x8f\\x02\\xa8\\xdd\\xc8\\x9e\\xc1\\xb9\\xd2\\x3a\\xaa\\x22\\xea\\x40\\x36\\x0c\\x85\\xac\\x66\\xbd\\x81\\x22\\xd7\\x6e\\x8c\\x96\\x69\\x8f\\x69\\x25\\x3e\\x2d\\xde\\x95\\x68\\x57\\xa9\\x46\\x87\\xe4\\xc4\\x6d\\x2f\\x4e\\x8e\\xbe\\xfb\\xcc\\xab\\xe4\\xb6\\x1d\\xd9\\xeb\\xeb\\xb9\\xbe\\xb8\\x37\\x06\\x7a\\x36\\xce\\x89\\xd6\\x51\\xe5\\x51\\xa7\\x56\\x87\\xe3\\x67\\x40\\x6f\\x60\\x68\\x0e\\x99\\x9b\\x18\\x2f\\x91\\x4f\\x8f\\x32\\x74\\x7a\\x34\\xb6\\xc2\\x95\\xa7\\x83\\xfb\\x1f\\x61\\x6a\\xe3\\x5f\\x2d\\x3b\\x45\\xae\\xd2\\x89\\xcb\\x86\\xe6\\x49\\x30\\x97\\x08\\x6f\\x3e\\xcf\\x94\\x57\\x24\\xe1\\x59\\x1e\\xbd\\x03\\x49\\x78\\x76\\xe7\\x35\\x50\\x7a\\x7b\\x61\\xde\\x9c\\xed\\xb4\\x27\\xb2\\x3c\\x5a\\xf2\\x89\\x4c\\xde\\x14\\x90\\xdc\\xd1\\x7e\\x94\\x87\\x1a\\x1d\\x2d\\xf1\\x48\\x92\\x8b\\xd7\\xeb\\x81\\x8b\\xd1\\x3a\\x5c\\xac\\x37\\x4b\\xe7\\xa1\\x3c\\x93\\x63\\x3c\\x52\\x20\\x7a\\x8a\\x76\\x49\\x56\\x59\\xc9\\xb6\\xa6\\xb9\\x54\\x9a\\x50\\xb2\\xd7\\x76\\xa7\\x12\\xe6\\xa4\\xb2\\xc0\\xc0\\x48\\x6a\\x8e\\x79\\x44\\x29\\x4b\\x24\\x9e\\x6c\\x4f\\x9c\\x07\\x5b\\xb0\\x9a\\x39\\xa4\\x24\\x9c\\x5f\\xf1\\xc0\\xf6\\xb2\\xab\\xbc\\x75\\xe1\\x5b\\x6e\\x5a\\x4d\\x9f\\xa3\\x07\\x7d\\x0d\\xef\\x7f\\x03\\x96\\xed\\xde\\xfd\\xa8\\x81\\x7f\\xd7\\xb8\\x64\\x1c\\x1d\\x51\\xf2\\xcf\\x11\\xad\\x98\\xd7\\x1e\\x8c\\x7e\\xe4\\x14\\x04\\x3b\\xa3\\xd1\\xb8\\xed\\x14\\x67\\xb3\\x23\\x5a\\x79\\xa7\\xcb\\x89\\x94\\x97\\x4b\\xd0\\x64\\x6b\\x68\\x1d\\xa3\\x71\\x69\\x5c\\x76\\x8f\\x87\\x6e\\x8e\\x79\\x04\\xbb\\x6c\\x91\\x8c\\x48\\xbf\\x19\\x3b\\xe5\\x5c\\x63\\x4d\\x9c\\x7e\\x3d\\x95\\x41\\x77\\x22\\x49\\xbd\\x0b\\xd1\\xc9\\x94\\xf5\\x51\\x2b\\x37\\x12\\x9a\\xaf\\xbb\\x26\\x99\\xba\\xfe\\xe2\\xee\\xe7\\xb6\\x1a\\xf8\\xe7\\x8c\\x4b\\x66\\x27\\x72\\xd8\\x71\\x7f\\xe4\\x0f\\x09\\x7f\\xfb\\x45\\x03\\x48\\xff\\x72\\x4e\\xa7\\x64\\x95\\x1c\\x06\\x8a\\xca\\x12\\xbd\\xb2\\xe4\\x14\\x58\\xd1\\x6e\\x65\\x44\\x89\\xd7\\x32\\xda\\x8e\\xf4\\xac\\xf0\\x54\\xfa\\x55\\x24\\x92\\x76\\x63\\xc8\\x61\\x6a\\x94\\xbb\\x00\\x74\\xec\\x87\\x98\\x54\\xc4\\xcc\\x07\\xd8\\x0f\\xb7\\xaf\\x9b\\x37\\xaa\\x2e\\x3c\\xa0\\xae\\xa4\\xc7\\xcf\\x17\\x08\\x9d\\x5d\\xd6\\xa7\\x74\\xdd\\xca\\xbb\\xc4\\x8f\\x8c\\x45\\x25\\xa5\\xd3\\x27\\x82\\xab\\xd2\\x43\\x68\\xf1\\xff\\xbb\\xec\\x66\\xcc\\x63\\x8c\\xbb\\x7f\\x3f\\xe1\\x71\\xbf\\x68\\x90\\xa5\\x79\\xca\\xaa\\x73\\xb9\\xb4\\xe8\\xcc\\x60\\x68\\xcc\\x64\\x1d\\x43\\xb1\\x34\\x6b\\xb3\\x8b\\xf6\\xd6\\x98\\xe8\\xd1\\xb0\\x6a\\xdb\\xf7\\xc6\\x64\\xfa\\x5d\\xca\\x52\\x51\\xd8\\xa8\\x4b\\x84\\xd0\\x80\\xd5\\x47\\xcb\\xe9\\xc4\\x87\\xe8\\x29\\xf0\\x4f\\xf8\\x31\\xb8\\x07\\x2e\\x01\\xe1\\x53\\x27\\x41\\x39\\x5c\\x72\\xbc\\xb9\\x3e\\xf4\\xd0\\xdd\\x1d\\x68\\x0a\\xfd\\x2a\\x86\\x76\\x8a\\xab\\xbd\\x36\\x7b\\xea\\x15\\xd5\\xb7\\xae\\x47\\xd4\\x57\\xf6\\xa8\\xbe\\x3c\\x23\\xaf\\x4d\\xa4\\xc6\\x46\\x4b\\xf4\\x26\\x0d\\x0b\\x44\\x9a\\x11\\x2c\\x3a\\x9e\\x65\\x4d\\x16\\x46\\x30\\x08\\x92\\xc1\\x6a\\x12\\x05\\x96\\xa2\\xf5\\x22\\x25\\x4e\\x8e\\x69\\x28\\x8a\\x36\\x0a\\x12\\xd7\\x25\\x6d\\xb0\\x36\\x09\\xfd\\x81\\xa6\\x20\\xa5\\x47\\x67\\x71\\x48\\x14\\xc3\\x51\\x23\\xf1\\x55\\x5f\\x5c\\x09\\x74\\xf0\\x89\\x24\\x53\\xb7\\x03\\x09\\x7e\\x04\\x1e\\x84\\x6f\\xa9\\xb1\\xca\\x7b\\xe0\\x17\\x4c\\x94\\xe6\\x08\\x4f\\xcf\\xbe\\x1d\\xbf\\x85\\xc4\\x29\\x71\\x5d\\xb3\\xda\\x0b\\x00\\xd1\\x3a\\x22\\x5a\\x44\\x03\\x8b\\x46\\xaf\\x67\\x4d\\x3a\\x93\\x45\\x64\\x05\\x1e\\x5f\\x33\\xa7\\x11\\x3a\\x42\\x25\\x54\\xe6\\x70\\xd2\\x5b\\x57\\x42\\x3b\\x67\\x5f\\x57\\x28\\x64\\x7a\\x32\\xc8\\x5c\\x08\\x58\\x78\\x50\\xe5\\xeb\\xeb\\x40\\x0f\\xff\\x0b\\x86\\xc3\\xf7\\x90\\x29\\x81\\x39\\x3e\\x0c\\x9e\\xa3\\xef\\x02\\x0f\\x61\\xc6\\xc2\\x71\\x6f\\xc3\\x1a\\xcc\\x69\\xf0\\xa6\\x92\\x9f\\x82\\xac\\x26\\xb6\\xaf\\xda\\x0f\\xac\\x32\\xea\\x36\\x52\\xac\\x20\\x68\\x28\\x0d\\xb2\\x67\\x90\\x35\\xc3\\xe0\\xd6\\x3c\\xe6\\x36\\xa4\\x2f\\x39\\x86\\xba\\x20\\xac\\x26\\x22\\xa5\\x32\\xaf\\x9e\\xdc\\xf5\\xe5\\x96\\x82\\xa0\\xcd\\x8f\\x94\\x5b\\x4e\\x05\\xb0\\x9f\\xfd\\x0c\\x84\\xa0\\xfc\\xe8\\x99\\xeb\\x41\\x11\\x10\\xf6\\x3c\\x06\\x7f\\x00\\xdb\\x5f\\x3b\\x42\\xeb\\xce\\x3c\\x3f\\x7d\\xff\\xa2\\xe7\\xc1\\x3c\\x45\\x77\\x75\\xa0\\x33\\xa7\\x17\\xf1\\xe7\\x06\\x10\\x5a\\x84\\xf3\\xdf\\x11\\x7c\\x52\\x3d\\x15\\xc4\\x55\\x15\\x94\\xc3\\xc6\\xf3\\xa2\\xc7\\x27\\xfa\\xf2\\x43\\x7e\\x57\\x47\\xcc\\x6f\\xb5\\x6a\\x27\\xc7\\xbc\\x56\\xaf\\xd5\\x2c\\x33\\x06\\xc6\\x8c\\xac\\x69\\x73\\xb2\\x3f\\x9d\\x12\\xea\\x49\\xbb\\x27\\x4a\\x46\\x52\\x49\\xc5\\x7f\\x4f\\x5c\\xd0\\xab\\xde\\x40\\x58\\xfc\\x98\\x74\\x4b\\xa4\\xc2\\x05\\x30\\x82\\x51\\x20\\xb7\\x94\\x8e\\xd7\\x37\\xf6\\x1f\\x39\\x31\\x36\\x09\\xd4\\xd4\\x5f\\xde\\x74\\xc7\\x46\\xf0\\xcc\\xd0\\x13\\x13\\x27\\xfd\\xb8\\x65\\xc7\\xc8\\xe9\\x0d\\xd9\\xe0\\xd1\\x25\\x73\\xee\\xb8\\xe6\\x8d\\x85\\xf0\\xbe\\x4b\\x07\\x7d\\xf9\\x1e\\xd8\\x02\\x7e\\x3b\\xb7\\x08\\x9e\\x07\\x00\\x2c\\x81\\xb7\\xfc\\xf1\\x7d\\x51\\x4f\\xa5\\x47\\xab\\x15\\xcd\\xe5\\x2d\\xee\\x1d\\xca\\x4f\\x95\\xe2\\x8c\\x91\\x02\\x49\\x30\\x9b\\x72\\x73\\x79\\xa7\\x87\\xf7\\x84\\xcb\\x7c\\x72\\x6b\\xcc\\x67\\xb7\\x50\\x2e\\x17\\x32\\xbc\\x82\\xd8\\xf0\\xa2\\x8a\\x99\\x62\\xd5\\xf4\\x4a\\x4f\\xee\\x69\\xcc\\x24\\x5f\\x89\\x88\\x92\\xb0\\x0f\\x41\\x26\\xb1\\x3b\\x22\\x55\\x21\\x31\\x92\\x98\\x92\\xa2\\xaa\\x4a\\x41\\x1a\\x5e\\x49\\x03\\xa0\\x3b\\x8a\\xd6\\x4f\\x5a\\xbb\\xe9\\x81\\xf5\\x63\\x6f\\xc8\\x03\\xe0\\x04\\x5d\\xd8\\x2d\\x5c\\xf2\\xf5\\x3d\\x5b\\x47\\x5d\\x3e\\xa0\\x61\\xfc\\xe8\\xe1\\x83\\xfb\\xb7\\x44\\x5a\\xc2\\x6f\\x4f\\xbd\\x16\\x64\\x03\\x0b\\xb0\\x02\\x5f\\x7b\\x9b\\xaf\\x1d\\xbc\\x72\\xf6\\xd7\\x3b\\x2f\\x5f\\x72\\xc3\\x4f\\xdf\\xfc\\x78\\xb2\\x68\\x38\\x38\\xf4\\xf0\\x73\\x8f\\x1d\\xdc\\xf7\\xec\\xb8\\x47\\x49\\x5c\\x1b\\xad\\xc9\\x9b\\x5c\\x8c\\x2a\\xc2\\x88\\xb1\\x79\\x82\\xdf\\x26\\xd8\\xd0\\x79\\xe0\\xe1\\x8a\\xbb\\xe5\\x09\\x16\\x0b\\xb2\\x7d\\x2d\\x8c\\xdb\\xcd\\x58\\x18\\xad\\xcf\\xe7\\xe8\\x88\\xf9\\x58\\x2d\\xd5\\x91\\x84\\x38\\x4d\\x05\\x05\\x32\\xca\\x08\\x12\\x59\\x25\\xc1\\xe4\\x02\\xe0\\x82\\xeb\\x34\\xac\\xb5\\xf4\\x94\\x79\\x1f\\x70\\xf8\\x68\\x66\\x19\\x5e\\x8c\\xad\\xf7\\x99\\xb8\\xa1\\x97\\x84\\xfd\\xfd\\x47\\xf6\\xaa\\xe9\\x3f\\xd2\\xf7\\x45\\xf8\\xe0\\x83\\x7b\\x5f\\x9c\\x36\\x6d\\xfe\\x65\\x3a\\xad\\x1c\\x78\\x29\\xb1\\x20\\x2f\\x9f\\x98\\x38\\xec\\xdf\\x33\\xc7\\x0f\\x6a\\x9d\\x32\\x27\\xb2\\xff\\x85\\xdd\\x8f\\xcf\\xdb\\x92\\xe7\\x5c\\x70\\xd5\\x35\\xe3\\x4b\\xd5\\x3c\\x8e\\xf3\\x3f\\xb0\\xcf\\x90\\x9e\\x47\\x2d\\x51\\x44\\x95\\x44\\x99\\x59\\x8f\\xcf\\xc7\\x52\\x3a\\x36\\x54\\x20\\x52\\x00\\x50\\x2d\\x31\\xe0\\xd5\\x6a\\xbd\\x80\\xf1\\x1b\\xfc\\xce\\xd6\\x98\\xdf\\x6e\\xe0\\x5b\\x62\\x06\\xcb\\xc5\\x66\\x94\\x01\\xc5\\x4d\\x72\\xfe\\x03\\xb9\\x9a\\x90\\xe4\\x4f\\x26\\xfc\\x3b\\xd4\\x2e\\xe8\\x89\\x73\\xa5\\x14\\x80\\xc0\\x75\\x93\\xae\\x59\\xe6\\xf9\\x29\\x02\\x2e\\x7d\\xfc\\xe0\\x92\\x45\\x4b\\x97\\x09\\x62\\xb0\\xa8\\x30\\xf4\\xf5\\xba\\xad\\x8f\\x6c\\xf2\\xd9\\x2e\\x03\\x9f\\xec\\xee\\x39\\x66\\xd9\\x3a\\x3b\\x28\\xb9\\x67\\x05\\xce\\xed\\x37\\x4e\\x1e\\x77\\xc9\\x90\\x05\\x37\\xa3\\xc5\\x39\\x75\\xf3\\xc3\\x97\\x0f\\x53\\x63\\xfd\\x6f\\xa1\\x35\\xf1\\x23\\x3d\\x18\\xcc\\xf6\\x39\\x65\\x9d\\xd7\\xef\\x47\\x9e\\x87\\xe0\\xf3\\x09\\x81\\x5c\\x27\\xcb\\x71\\x6c\\x5b\\x8c\\x33\\x73\\x66\\xbf\\xe4\\xf7\\xb6\\xc7\\xfc\\x52\\x36\\xbe\\x2c\\x94\\x8c\\x1d\\x31\\x89\\x4d\\xde\\x3e\\xa7\\x3c\\x93\\xc4\\xca\\x64\\xd4\\xb5\\x74\\x02\\xbf\\x4b\\x2b\\xe5\\xc8\\x52\\x52\\xff\\x99\\x3a\\xe4\\x6a\\xd6\\xdf\\xbb\\x6e\\xd1\\xac\\x23\\x43\\xe1\\xaf\\xfd\\x81\\xfc\\x8f\\xe3\\xc0\\x79\\xdb\\xcd\\x77\\x3d\\x3c\\xf7\\xcc\\x3d\\xa0\\xfd\\xd2\\xd8\\xbf\\xdb\\xa7\\x8c\\x6f\\xff\\xa3\\xe7\\xbb\\x07\\x0e\\x3d\\x72\\xdd\\x63\\x01\\xfb\\xce\\x55\\xed\\xc9\\x3b\\xf3\\xf9\\x88\\x7e\\xdc\\xcb\\xc1\\x8f\\x6d\\x10\\x97\\xdb\\xcd\\xd9\\x75\\x3e\\xe0\\xcf\\xc9\\x01\\x3a\\xce\\xc2\\xe5\\x06\\x5c\\xc8\\x64\\xe3\\x5a\\x62\\xbc\\xc0\\x0b\\xc0\\x6a\\x35\\xb6\\xc4\\xac\\x16\\x3f\\x00\\xbe\\x0c\\xc3\\xaa\\x33\\xf9\\xe9\\xc5\\x18\\xca\\xc5\\xd9\\x45\\x2b\\x30\\x08\\xfd\\xcc\\x84\\xcd\\xab\\xb6\\x24\\xa0\\xe2\\x5c\\xc7\\x9f\\xd9\\xfb\\xcf\\x25\\x8b\\x96\\xdc\\xbd\\xe0\\x14\\xa8\\x51\\x8b\\x2b\\x86\\xf5\\xb1\\xdf\\xb9\\xe1\\xfe\\xa5\\x78\\x01\\x4c\\xb7\\xce\\xbc\\x12\\x99\\x68\\x80\\x02\\x68\\x2f\\x1c\\x42\\xfa\\x29\\x80\\x73\\x70\\x28\\x41\\x70\\xf3\\x3a\\x5d\\x5e\\xd0\\xad\\xd1\\x38\\x72\\x73\\xc5\\xf6\\x58\\x2e\\xe3\\xc8\\x6a\\x8f\\x39\\xac\\xe4\\x66\\x34\\xad\\xa1\\xab\\xba\\xb7\\x41\\x86\\x95\\xa9\\xf4\\x60\\x10\\x55\\xf9\\x77\\x81\\x00\\x43\\x13\\x20\\x3b\\x15\\x97\\x08\\x87\\x7e\\x2a\\x0b\\x8a\\x4b\\x42\\x3f\\xae\\x7f\\xf8\\xd1\\x3b\\xda\\x43\\x79\\xe1\\x7e\\xb3\\xc6\\x90\\xd0\\x44\\xa4\\x7b\\xa9\\xbf\\x96\\x16\\xc1\\xcb\\x77\\x5e\\x3e\\x7f\\x0d\\x16\\xf9\\xb3\\xdf\\x7c\\x0a\\xb4\\xf4\\x6a\\xb8\\x0a\\x6e\\xfb\\x72\\x41\\x25\\x0e\\x52\\x4c\\xf8\\x06\\x78\\xc1\\x1f\\x8a\\xbc\\x03\\xa4\\x97\\x5e\\x26\\x31\\x9e\\x1e\\x51\\x9f\\x98\\xe3\\x70\\xe7\\xb8\\xfd\\xb9\\x4e\\x27\\x2f\\x08\\x00\\xa3\\xcc\\x67\\xd9\\x5a\\x63\\x59\\x3c\\x8f\\xdc\\x40\\x5e\\xd5\\x45\\xe9\\x10\\x1b\\x09\\x3d\\x8f\\xc3\\x26\\x4a\\xff\\xa6\\x54\\x54\\x22\\x43\\x07\\xe5\\x57\\xd1\\x03\\xc6\\xe4\\xd5\\xf6\\x9e\\xdc\\xd1\\x5a\\xef\\x2a\\xae\\xad\\x2b\\xaf\\xa3\\xb5\\xaa\\xe2\\x79\\xf4\\x1e\\x66\\x31\\xdc\\x0f\\x9f\\xda\\x3b\\xcc\\xf4\\x92\\xee\\x32\\x90\\x4d\\x33\\xf1\\x55\\x09\\x65\\xf3\\xcf\\xdf\\x94\\x7c\\x56\\xc4\\xd7\\x65\\x24\\x56\\x81\\x7d\\x6b\\x8b\\x45\\xa6\\x4c\\x26\\x91\\xd5\\x88\\x1a\\xa7\\xcb\\x26\\xb4\\xc7\\x6c\\x9c\\x8d\\x13\\xed\\x12\\x32\\x9a\\xf4\\x74\\x47\\x4c\\x6f\\xa5\\xd2\\x13\\x8a\\xba\\x66\\x40\\x83\\x34\\xcd\\x9e\\x2f\\x56\\x25\\x91\\xe5\\xe9\\x4f\\x89\\x4a\\x7f\\x62\\xfd\\xf3\\x3f\\xfc\\xf0\\xfc\\x09\\xf0\\x72\\x4a\\x87\\xff\\x13\\x30\\x57\\x27\\xaf\\xe2\\x55\\x9c\\xe4\\xeb\\x09\\x8e\\xf7\\xb0\\x68\\x21\\x90\\xd1\\xb9\\x6c\\xb5\\xda\\xf5\\x26\\xbb\\xc9\\xe9\\x02\\xb6\\x54\\x5a\\xb2\\x01\\x18\\xec\\x8c\\x43\\xc0\\xf7\\xa1\\xad\\x31\\xc1\\x9e\\x41\\x56\\x9a\\x17\\x9d\\x46\\x99\\xa8\\x1e\\x3c\\x84\\x6f\\x16\\x7f\\x6e\\x3e\\x31\\x30\\x45\\x50\\x76\\xe0\\xeb\\xb6\\xf2\\xaa\\xaf\\xe1\\xfe\\x27\\x37\\x1e\\xf8\\x46\\xb9\\x87\\x8f\\xaf\\x82\\xe7\\x6f\\x58\\xf2\\xd3\\x37\\x30\\xef\\xcb\\xd3\\x22\\xbe\\x9c\\x57\\x7b\\xe7\\x4e\\x27\\xbd\\x73\\x8b\\x92\\xf7\\x18\\x43\\xf0\\x3d\\x21\\x1d\\x20\\x7c\\x34\\xa1\\xf7\\x9b\\x49\\x6e\\x44\\x7d\\x34\\x4b\\x02\\xc0\\x64\\x12\\x38\\xad\\xa0\\xb5\\xda\\x28\\x01\\x6b\\x6a\\x9e\\xd7\\xe3\\x68\\x4b\\x8a\\x85\\x99\\x55\\x93\\xa9\\xae\\x40\\x84\\x81\\x7e\\x11\\x13\\x58\\xa5\\xe4\\xfc\\x5d\\xb1\\xe6\\x56\\xe0\\x84\\xe3\\x8e\\x7d\\x04\\x0f\\x30\\x9b\\xd8\\x8e\\x78\\x5b\\x82\\x79\\x30\\xef\\xdb\\xdf\\xe9\\xf5\\x24\\x01\\x50\\xe9\\x0f\\xb6\\x92\\xdc\\xcf\\xf7\\x88\\x66\\x19\\xcc\\x34\\xcb\\xda\\x6d\\x66\\x9b\\xd3\\x61\\x34\\x22\\x2b\\x47\\xdb\\x8a\\xeb\\x84\\xed\\x94\\x3d\\xbd\\x5d\\x54\\xa6\\xa0\\x25\\x2b\\x79\\x90\\x19\\x6e\\x53\\xd5\\x66\\x02\\xda\\x44\\x0c\\x48\\x0c\\xf5\\x9f\\xec\\x7e\\x3d\\xc6\\xb5\\x00\\xcf\\x91\\x6f\\x4e\\x7e\\xf2\\x1f\\x6c\\x82\\xf7\\x9d\\x79\\x69\\xf9\\xbc\\xdb\\x7e\\xfa\\xe6\\xb7\\xe3\\xff\\x82\\x60\\x2f\\xe6\\xc9\\x60\\x44\\xc3\\x7a\\x2e\\x26\\xf1\\xa0\\x95\\xf0\\x68\\x05\\x7a\\x3f\\x9b\\xf0\\xc8\\x4b\\x29\\x71\\xc4\\x31\\xa4\\x17\\x73\\x36\\xe2\\x91\\x0f\\xb8\\x5c\\xd9\\xd9\\x56\\xab\\xce\\x9f\\xe3\\xf6\\xda\\x91\\xa6\\xb4\\x7b\\x2e\\xdc\\x92\\xb9\\x13\\xdc\\xde\\x85\\xa3\\x88\\x29\\xb7\\xa1\\xba\\xea\\x42\\xc1\\xc4\\xb5\\x0f\\x07\\xaf\\x0c\\xf4\\xf5\\xf5\\xac\\xba\\x50\\xa7\\xe6\\x1b\\x5e\\x7f\\xc2\\xa8\\xfd\\xd6\\x34\\x6c\\x38\\xe1\\xa3\\x1a\\x27\\xcb\\xc6\\x71\\x59\\xca\\xe9\\xf4\\xf9\\x24\\x49\\xeb\\xcf\\x71\\x79\\x64\\x4f\\x6b\\x4c\\xf6\\x58\\xa8\\xe6\\x98\\x45\\xd0\\x1b\\x49\\x5c\\xd6\\x9e\\x81\\xe7\\xd6\\x85\\xce\\xce\\xb1\\xc4\\x74\\x22\\x45\\x3a\\xd2\\x39\\xa6\\x78\\xf6\\x9e\\xcd\\x0a\\x91\\x35\\x5d\\x22\\x8b\\x67\\x1f\\x7a\\xf7\\x79\\xa3\\xf6\\x43\\x53\\x53\\x13\\xb3\\x0b\\xdf\\xdf\\xc0\\xd9\\xec\\x3a\\x22\\x8b\\x95\\x8a\\x2d\\x87\\x68\\xee\\x45\\xfa\\x67\\x8c\\x4c\\xde\\x69\\xbf\\x43\\xee\\xb4\\xeb\\xc8\\x7b\\xe4\\x00\\xb1\\xaf\\x92\\xde\\x58\\xe3\\xf0\\x3a\\x80\\x47\\xe0\\x32\\x26\\x70\\xfe\\x6d\\xca\\x46\\xf9\\xa3\\x56\\x91\\x33\\x9b\\xf5\\xc7\\xd0\\xe1\\x0b\\x70\\x0b\\x9f\\x76\\xc0\\x02\\x0b\\x15\\x7e\\x67\\xe2\\xc4\\x0a\\x9c\\x43\\x89\\xb9\\xad\\xe8\\x71\\x82\\x44\\x5b\\x5d\\x53\\x15\\xc1\\x75\\x74\\x4c\\x60\\x5a\\x7e\\x59\\x24\\x34\\xa5\\xf7\\x80\\x69\\x03\\xfb\\xc0\\x65\\xe1\\xea\\xd2\\xd2\\xea\\x70\\xf9\\xa8\\x89\\x86\\x49\\x93\\x0c\\x13\\x47\\xe1\\xfb\\x30\\xb0\\x8d\\x6b\\x62\\x42\\xfc\\x0b\\x68\\x6c\\x07\\xd2\\xd9\\x05\\x51\\xbb\\xac\\xd3\\x09\\x02\\x03\\x9e\\x64\\x7e\\x61\\xce\\x33\\x0c\\x13\\xd5\\x99\\x06\\x32\\x1e\\xff\\x3e\\x24\\x2a\\x8d\\x91\\x77\\x8a\\x27\\xce\\xad\\x50\\xb6\\xa9\\x9a\\x34\\x8d\\x59\\x55\\x93\\xf6\\x5a\\x93\\xf6\\x1a\\x6c\\x2b\\xcd\\xc9\\x2d\\x2d\\xcd\\xcd\\x29\\xfd\\x26\\xf1\\xe2\\xca\\x12\\xf4\\xa2\\x2c\\x27\\xa7\\x84\\xbf\\x22\\xa7\\xa4\\x44\\xf9\\xa5\\xf2\\xf3\\x49\\xfc\\x1a\\xfd\\x1b\\x9e\\xf7\\x47\\x5c\\x13\\x7d\\x86\\x3f\\x87\\x68\\x32\\xec\\xa6\\x78\\x32\\xf4\\x3b\\x18\\x3a\\xc8\\x81\\xbe\\x02\\x35\\x21\\xf4\\x45\\x9f\\xd9\\x88\\xfe\\xb7\\x6b\\x01\\xfe\\xbe\\x91\\x3f\\x37\\x3a\\xf9\\x3f\\x6c\\x67\\xd2\\x36\\xf4\\xf9\\x67\\xd4\\x39\\xe5\\x46\\xad\\xba\\xce\\xd3\\x11\\xe4\\xb4\\xe9\\x64\\xce\\x25\\x9d\\x7e\\xda\\x81\\x28\\x2b\\x0b\\x07\\x72\\x4a\\x18\\x44\\x72\\x59\\x18\\x59\\xef\\xfc\\xec\\xdc\\x92\\x12\\x34\\x0f\\x4c\\x2e\\xfe\\x5d\\x29\\xe1\\xe1\\x1e\\xc4\\x43\\x97\\x3a\\x9e\\x07\\xf3\\xd0\\xc5\\x38\\xff\\x7a\\xd0\\xd7\\x2d\\xaf\\x67\\x8e\\x2b\\xa7\\xd3\\x80\\xe4\\x92\\xbe\\x16\\x71\\xa6\\xac\\x0c\\x73\\x26\\xc7\\x1f\\xc6\\xac\\x3b\\x74\\x45\\x6a\\x70\\x85\\x98\\xd2\\x52\\x70\\x39\\xbc\\x03\\xf1\\xeb\\x35\\x24\\x27\\xfa\\xf3\\x4f\\x50\\x1a\\xca\\xfc\\x0c\\xc5\\x5a\\x90\\x33\\x4a\\x61\\xd1\\xc0\\x8e\\xb1\\x3d\\x22\\xe3\\x83\\xa7\\xfc\\xca\\x69\\x0f\\xec\\x6c\\x1d\\x3f\\x63\\xc6\\x96\\xdb\\xd0\\xdf\\xbf\\xc7\\x8d\\xa5\\x21\\xff\\x08\\xc5\\x20\\xfe\\x32\\x80\\x90\\x75\\x18\\xf3\\x17\\xf1\\x15\\xde\\x77\\xef\\xbd\\x3c\\xf5\\xc8\\x23\\x8f\\xe0\\x75\\xa8\\xe7\\x9a\\x99\\xdb\\xf9\\x15\\xc8\\x06\\xc9\\x89\\x9a\\x44\\x2f\\x65\\xf0\\xa2\\x2f\\xc1\\x01\\x1c\\xea\\x9a\\x4c\\x54\\x6e\\x38\\x94\\x1a\\x5f\\x64\\x5b\\x3b\\x34\\xf9\\x55\\x09\\x38\\x20\\xc5\\x9d\\xad\\xb1\\xa7\\x2c\\xba\\xb7\\xbd\\xf9\\x75\\x9e\\xd9\\xad\\xbd\\x2b\\x46\\x96\\x16\\xd4\\xe4\\xe0\\x37\\xb3\\x5a\\x1a\\x2a\\x9a\\xab\\x4b\\xcb\\xf9\\xda\\xfc\\x60\\xd4\\x3e\\x30\\xff\\x9a\\x5e\\xad\\xf5\\x7d\\x6b\\xc3\\xe4\\x4d\\xc1\\xd5\\xbd\\x5a\\x2b\\x87\\x34\\x16\\x62\\x3a\\x5e\\x43\\xfc\\xd5\\xf3\\xcb\\xd0\\xfc\\xc4\\x67\\x04\\x36\\x1b\\xcf\\x4f\\x25\\x40\\x69\\x5a\\x5b\\x85\\x38\\x47\\x6f\\x9c\\x3b\\xfd\\xfe\\xc7\\xb8\\xa6\\x09\\xd3\\x67\\x6f\\xbe\\x1d\\x7d\\xe6\\x00\\xe2\\x09\\x7f\\xfe\\x38\\xc5\\x51\\xda\\xdd\\x80\\x45\\xec\\xc0\\x5b\\x24\\x54\\x13\\xd1\\x30\\xfc\\xda\\x3d\\x7b\\xd6\\xee\\x81\\xcb\\xf6\\xee\\xdd\\x4b\\xd1\\x60\\x17\\xfa\\xbb\\xac\\xf3\\xa7\\xd1\\xb3\\xad\\x94\\xf4\\xac\\x46\\x13\\x65\\x00\\x23\\x1a\\xa8\\x70\\x04\\xcd\\x2e\\xac\\x5c\\x2d\\x60\\x1b\\x89\\x4b\\x5b\\x1f\\x26\\x6b\\xe7\\xa6\\x69\\x57\\x9d\\xa7\\x12\\x2b\\xd3\\x7a\\xeb\\xd6\\x19\\x97\\x4d\\x30\\xaa\\x8b\\xd2\\x99\\x5e\\x26\\x9b\\x41\\xbe\\xb5\\xc2\\xe4\\x89\\xca\\xa2\\x63\\x8c\\x35\\xf0\\xda\\xa3\\x1b\\xa7\\x5d\\xc9\\x35\\xad\\xdb\\x32\\x7b\\xfa\\x84\\xf3\\xe7\\x13\\x9f\\xb1\\xf0\\xec\\x47\\x58\\x86\\x41\\x36\\x7a\\xff\\x04\\x79\\x86\\x40\\xd9\\xa3\\x3a\\x83\\xf2\\x1c\\xad\\xf2\\xa0\\x8a\\xc3\\x13\\x2b\\x52\\x8f\\xf2\\xab\\x3f\\xe9\\xa9\\x8f\\x6d\\x9c\\x3a\\x0f\\x0e\\x56\\x1e\\xbc\\x76\\xeb\\xec\\x4b\\xdb\\xc8\\xd3\\xb1\\x9a\\xa1\\x26\\x70\\xf5\\xec\\x5c\\x4d\\x21\\x85\\xb3\\xbd\\x8b\\xa9\\x1a\\xa4\\x51\\x2c\\x2e\\x86\\x09\\x87\\x0b\\x41\\xa1\\xb5\\xaa\\x4a\\xd7\\x1c\\x00\\x01\\x2a\\x3c\\x11\\x1f\\x2f\\xaf\\x4f\\xec\\xb2\\xc5\\x43\\x48\\x34\\xf2\\x6b\\xd2\\x5a\\x62\\x71\\x49\\x40\\x0a\\x65\\xc1\\x35\\xe9\\x68\\x90\\xaf\\x2c\\x8d\\xc5\\x96\\x2f\\x1d\\x5f\\x5f\\x3a\\xb6\\x75\\xac\\xf7\\x9a\\x9a\\x82\\x82\\xba\\x1e\\xf9\\xc1\\x3a\\xf8\\x91\\x17\\xbd\\x0f\\xd7\\x4d\\x58\\xb2\\x74\\x7c\\x6c\\xe9\\xb5\\x75\\x79\\xf9\\x3d\\xea\\x0a\\xf2\\xbb\\xf3\\xad\\xb1\\xa5\\x4b\\xc6\\x8d\\x5b\\xe2\\x1c\\x3b\\x72\\x6c\\x59\\x7d\\x41\\xf7\\xda\\x50\\xa8\\xb6\\x7b\\x41\\x7d\\x19\\x7a\\xeb\\x5c\\x32\\x2e\\xb6\\x74\\x69\\xac\\xa0\\x7b\\x5d\\x3e\\xfa\\x1d\\xe2\\xc9\\x5c\\xae\\x9e\\x99\\xa0\\xce\\x41\\x8e\\xea\\x5d\\x61\\xb4\\x56\\xd6\\x66\\x1d\\xd0\\x61\\xca\\x5f\\x9f\\x58\\xf1\\xd7\\x34\\x83\\x27\\x10\\x5d\\x4b\\x17\\x8f\\xaf\\x2b\\x1b\\x3d\\x72\\xac\\x67\\x41\\xf7\\x02\\xfc\\xe0\\xfc\\x3a\\x4c\\x00\\xfe\\x07\\x4c\\x40\\xb7\\xc6\\x82\\xee\\xf8\\xf7\\xdd\\x89\\x5d\\x08\\x5e\\x41\\x6b\\x60\\xe4\\x37\\xe0\\x48\\x01\\xda\\xc2\\x2c\\xab\\x13\\x30\\x80\\xaa\\x2a\\x7a\\x58\\xef\\xe2\\x1b\\x31\\x32\\x16\\xb9\\x13\\x53\\x8c\\x3d\\xc6\\x38\\x66\\x4c\\xae\\x63\\xca\\x14\\xbd\\xbf\\x2c\\x9f\\xdf\\x50\\x31\\x76\\xaa\\x7e\\x2a\\x18\\x7a\\xb3\\xb1\\xa4\\xa6\\x22\\x43\\xa7\\x5b\\xb1\\x4e\\xa7\\xcd\\x1c\\x77\\x8c\\x45\\x0e\\x64\\x94\\x6d\\x66\\xdb\\x59\\x96\\x95\\xf4\\x44\\xf2\\x26\\x2a\\x3a\\x1d\\x71\\x59\\x0e\\x54\\x95\\x02\\x62\\x41\\xaa\\xa6\\x24\\x13\\xb8\\x65\\x5a\\x53\\xfd\\x94\\x50\\xa4\\x2c\\x7f\\xda\\xd4\\x9d\\xf2\\x84\\x09\\xa6\\x29\\x4d\\xe5\\xe5\\x55\\x65\\x65\\x55\\xe5\\xe4\\xf9\\xaf\\xc1\\x6d\\x48\\x17\\xfc\\x13\\xc9\\xbd\\xf9\\x69\\x06\\xf1\\x8c\\x26\\xaa\\x00\\x67\\x95\\xe1\\x74\\xfa\\x2a\\x46\\x0f\\xff\\xfe\\x79\\x00\\x1e\\x9a\\xf1\\x9e\\xba\\x47\\xb4\\x17\\xdc\\x23\\xda\\xb5\\x7b\\xf7\\xae\\xdd\\xab\\xec\\x91\\x74\\xfd\\x62\\x79\\x96\\xc5\\x08\\xcd\\x48\\xa0\\xa9\\x30\\x91\\xc1\\xc4\\xfe\\x60\\xf4\\x58\\xea\\x5a\\xd7\\x6e\\x9e\\x31\\x63\\xbc\\x22\\xbf\\xe8\\x33\\x4f\\x90\\xcf\\x08\\x94\\x2b\\x6a\\x34\\xb2\\xac\\x41\\xf9\\xa4\\x80\\x3e\\x8a\\xe5\\xb7\\x22\\x71\\x73\\x87\\x3f\\xee\\x57\\x7f\\xd2\\x53\\xf1\\x63\\xc0\\x33\\x8f\\x3e\\x90\\x78\\x18\\xfa\\x36\\x73\\x1c\\xa2\\xe1\\x4d\\xf4\\x3c\\xfa\\xfc\\x9f\\xe8\\x79\\xc6\\xbd\\x51\\x64\\x57\\x71\\x8a\\x86\\x03\\x5c\\x55\\x4d\\x28\\x28\\x6b\\x18\\x1a\\xfe\\xfb\\xb6\\x9d\\xc0\\xb7\\x16\\xee\\x89\\x34\\xdb\\xbf\\x8c\\x0c\\x75\\x65\\xec\\xa9\\xf7\\x09\\x4d\\x9d\\xe4\\xc7\\x1a\\x36\\x01\\x93\\xab\\x59\\x03\\x34\\x29\\xf9\\xf9\\x0b\\xb9\\x66\\xb2\\x3d\\x63\\x47\\x8e\\xae\\xe8\\x3e\\x7e\\xf1\\xd2\\xd8\\x98\\xe5\\x0b\\x90\\x50\\xd6\\x75\\x2f\\x2c\\x40\\x02\\xdc\\xd8\\x0d\\x0b\\x2b\\x96\\x21\\x2c\\xac\\xb5\\x21\\x45\\x7e\\xd0\\xf8\\xea\\x5a\\xa3\\xf1\\x8f\\x92\\xb5\\x39\\x80\\xe8\\xd1\\xf2\\xcf\\x20\\x7e\\x1b\\x76\\xb3\\x20\\x79\\xae\\xa5\\xb3\\x9c\\x6b\\xc2\\x2c\\x4f\\xea\\x90\\x1b\\xd1\\xdf\\x8a\\x4f\\x63\\xb1\\x63\\x68\\xf5\\xf8\\x98\\x48\\xea\\xf7\\x12\\x4b\\xc9\\xdf\\x88\\xd7\\x12\\xcf\\x55\\x59\\x23\\x34\\xd6\\x61\\x32\\xb6\\xaa\\xbb\\xd1\\xfb\\xf7\\xc8\\xdc\\xd7\\x72\\x8b\\x98\\x9e\\x68\\xee\\xf8\\x8c\\xb2\\x3c\\x23\\xe3\\xad\\x23\\xe8\\x88\\xb0\\x75\\x3a\\x01\\x33\\xb6\\xcc\\x5a\\x65\\xcb\\x8c\\x5f\\x8c\\xb6\\x4b\\x61\\xf7\\xba\\x50\\x6a\\xbb\\xe0\\xa9\\x2a\\x5b\\x85\\xa6\\x1d\\x70\\x19\\xfd\\xcc\\xf9\\x9f\\xc9\\xb3\\x1d\\x18\\x89\\x4f\\x06\\x51\\x79\\xb3\\x4c\\xcb\\x3a\\x86\\x8c\\x80\\x0f\\x59\\xee\\x22\\x87\\x1d\\xed\\x08\\x2b\\x26\\x41\\x18\\x1d\\x6d\\x58\\x83\\x96\\x4c\\x26\\x6f\\xc9\\x29\\x97\\x38\\x62\\x29\\x0e\\xd4\\xa2\\xf9\\xdd\\xa9\\x8e\\x81\\x34\\x15\\x55\\x4f\\x85\\xa2\\x72\\xc4\\xe3\\xa9\\xa5\\xfc\\x20\\xea\\xdf\\xec\\xa7\\xfd\\x25\\xb2\\x4e\\x08\\xe9\\x18\\x34\\x24\\xc1\\x74\\x7b\\x27\\x61\\xaa\\x70\\xff\\x83\\xa9\\x12\\xbc\\x98\\x09\\x53\\x9b\\xb0\\x5c\\xbe\\x45\\x2f\\xc8\\xe9\\x3b\\xaf\\x54\\xa1\\xb7\\x14\\x0c\\x4e\\xfc\\x8a\\x2e\\xcb\\xf1\\x97\\xe2\\x69\\xb4\\x23\\xb2\\xd5\\xbf\\x2f\\x4d\\x37\\x6a\\x7e\\x51\\x7f\\x47\\xac\\x06\\x7c\\x46\\x30\\x60\\x34\\x9a\\xcf\\x7c\\x34\\x1f\\x86\\x48\\x63\\x56\\x14\\xad\\x31\\xb0\\x52\\x2e\\x10\\x75\\x6d\\x76\\xd1\\x2e\\x93\\x46\\x65\\x1c\\x51\\x32\\x1c\\x72\\x2f\\x6a\\x2e\\xc2\\x3f\\x30\\x1a\\x0c\\xac\\x21\\x83\\xa4\\xd9\\x0a\\x5b\\x67\\xcf\\x8e\\xa6\\xb8\\xa8\\x1c\\x4b\\x69\\x63\\xe2\\xb3\\x2e\\x1b\\xe9\\x1f\\x11\\xe7\\xbc\\x31\\x0e\\x2a\\x0b\\x44\\xb3\\x36\\x67\\xd1\\x59\\xea\\xb9\\x47\\x46\\x55\\xee\\x6a\\x02\\x68\\xe4\\xc0\\xc5\\xc7\\x3e\\x70\\x05\\x18\\x38\\x73\\x6b\\xe7\\xd1\\xe1\\x8f\\x57\\xce\\x9e\\x7d\\xe5\\x9e\\xce\\x04\\x00\\x24\\x27\\xdb\\x90\\x9c\\xf4\\x46\\x6b\\xa8\\xdd\\x4d\\x44\\x23\\x53\\xf2\\x52\\xa2\\x00\\x4f\\xab\\x1f\\x26\\xf7\\xaf\\x60\\x1b\\xd2\\x69\\x85\\xe7\\xfb\\x92\\xb5\\x37\\xef\\xc5\\x06\\x2a\\xfe\\x70\\xe4\\xaf\\xec\\x50\\xb0\\x2d\\x61\\xb2\\x1d\\x4f\\x92\\xf5\\xab\\x6a\\xb3\\xe5\\x26\\x59\\x82\\xed\\x5f\\xc4\\x93\\xc2\\xa4\\x5c\\xa1\\x75\\xf0\\x24\\x05\\x2a\\x6d\\xa0\\xae\\x32\\xfc\\x17\\x46\\x6f\\xae\\x32\\xce\\xf1\\x84\\xa0\\x5c\\x15\\x26\\xa4\\xe4\\x84\\x15\\xc9\\x56\\x06\\xc7\\x7f\\xf4\\x24\\x16\\x13\\x22\\xe1\\x68\\xbf\\x9f\\x77\\xa1\\xfd\\xbb\\x02\\xc9\\x83\\x71\\x2f\\xa3\\x41\\x0a\\x0e\\xeb\\x24\\x34\\x24\\xbe\\xbd\\x7e\\x0d\\x0c\\x80\\x7f\\x5f\\x32\\x23\\x4d\\xbf\\xaf\\x40\\x6b\\xc8\\xef\\xa2\\xa9\\x70\\x6a\\x91\\xe8\\xf2\\xcb\\xc1\\x80\\x19\\x70\\xdb\\xfc\\x19\\x18\\x33\\x94\\x76\\x70\\x4e\\xfa\\x19\\x6e\\x1f\\x9e\\x57\\xd4\\xcc\\x0c\\xd7\\x2d\\xd3\\x3d\\xa8\\x7b\\x4f\\xc7\\x52\\xca\\x69\\x39\\xf1\\x02\\xac\\x57\\x68\\xe4\\xa6\\x67\\x97\\x2b\\xdb\\x0e\\x3f\\xe3\\x21\\x64\\x47\\xf7\\x27\\x76\\x38\\xa3\\xdb\\x07\\x46\\x20\\xfd\\x73\\xd1\\xcf\\xfd\\x9e\\xf8\\x1c\\x03\\x16\\x20\\x9e\\x8e\\x3c\\x7f\\x52\\xe5\\xa9\\x27\\x6a\\x92\\x05\\xc1\\xe3\\x51\\x98\\xaa\\xaa\\x84\\x0a\\x49\\x91\\xec\\xb4\\x67\\x39\\x2e\\xf2\\x1a\\x2c\\x48\\xec\\xb3\\x07\\x12\\xdc\\xdb\\x9c\\x78\\xd1\\xae\\x6e\\xac\\x41\\x8a\\xae\\x28\\x1b\\x98\\x32\\xcb\\x31\\xfd\\xf4\\x5c\\xfa\\x19\\xc6\\x8c\\xe8\\x30\\x3f\\xc3\\x50\\xba\\x32\\x1d\\xad\\x53\\xb8\\xda\\x75\\x0a\\x58\\xea\\xe8\\xfd\\x81\\x92\\x12\\x64\\xed\\x97\\xe0\\xcf\\x86\\x91\\xac\\x6e\\x22\\xeb\\xa1\\xdd\\x4d\\xd1\\x8a\\xac\\x22\\xa7\\x8a\\x0e\\x5f\\x01\\xb7\\x1d\\x3b\\xa6\\xd8\\x07\\x03\\xd9\\x6b\\x99\\x15\\xdc\\x50\\xf4\\x37\\xe2\\xd3\\x34\\xc3\\xa1\\xa3\\x91\\x0a\\x2b\\xbe\\x25\\xce\\xbc\\x44\\x0b\\x37\\x10\\x83\\xf1\\x70\\x43\\x3f\\x22\\xfa\\x7c\\x00\\xa3\\xe7\\x76\\xa3\\x3f\\xb1\\x3c\\x4b\\x21\\xed\\xab\\x45\\x0a\\x38\\xb1\\x10\\xc9\\x35\\xe6\\x76\\xcf\\xc0\\x63\\xbb\\x60\\x3b\\xbd\\x47\\xf3\\x09\\xfa\\x5b\\xeb\\x33\\x14\\xc3\\xb0\\x1c\\x40\\x67\\x66\\x58\\x49\\x1e\\x53\\x6e\\x48\\x68\\xd7\\x7a\\xd8\\xae\\x5b\\xf0\\xfb\\x6a\\x65\\x9e\\x5c\\x2f\\xb4\\xd6\\x5f\\xa1\\x79\\x22\\xd9\\x09\\xab\\xf6\\xd0\\x45\\x17\\xea\\xf6\\xc4\\x42\\xa9\\x9f\\xfd\\xff\\xb2\\xc6\\x34\\xf8\\x18\\x6d\\xcc\\x3f\\xd9\\x9e\\x88\\x46\\x0d\\xd2\\x24\\x46\\xdc\\x67\\x88\\x61\\x74\\x5a\\x4c\\xeb\\x3e\\xd0\\x84\\x4c\\xd4\\x83\\x15\\xc9\\xfe\\x94\\x4a\\xcd\\x3b\\x69\\xa4\\xfb\\x31\\x6e\\x14\\x07\\x02\\xa0\\x1c\\xbe\\xc7\\x18\\xf1\\x77\\x42\\x03\\xef\\x40\\x34\\x3c\\x43\\xf4\\x02\\xa3\\xbb\\xa0\\x5e\\x50\\x56\\x88\\x9f\\x8a\\x09\\xc8\\xc5\\x2b\\x44\\x3e\\x07\\x67\\x20\\x7d\\xa2\\xfd\\x1f\\xf4\\xc9\\xbe\\x34\\x7d\\x02\\x70\\xeb\\x18\\xe6\\x23\\x74\\x26\\x9b\\xa9\\x8a\\xa8\\xde\\x60\\x36\\xf3\\x26\\xc6\\x22\\xb0\\x9a\\x5e\\x7a\\x30\\x92\\x8a\\x51\\x2c\\x18\\x86\\xfe\\xc5\\x40\\x5e\\x9b\\xf1\\x54\\xd2\\x7b\\x77\\xe1\\x11\\x1a\\x40\\x3d\\x90\\x95\\xc6\\x86\\x68\\xe1\\x02\\x4d\\x8f\\xec\\x7b\\xf3\\xc5\\xa9\\xfd\\xc1\\xd6\\x78\\x33\\x7d\\xf2\\xc5\\x0f\\xc6\\x9f\\xbe\\xea\\x59\\x58\\x7d\\x1a\\x8f\\xb3\\x0c\\x4e\\x66\\x86\\x9e\\xdf\\x44\\xe9\\xd0\\x5e\\xe5\\xf1\\x5e\\xe5\\x02\\x0e\\x64\\xd0\\xd5\\xa0\\x0d\\xcb\\x0c\\xdd\\x2b\\xad\\xb6\\xec\\x01\\x87\\xbf\\xdf\\x2c\\xcb\\x9b\\x6f\\x54\\xee\\x21\\x5d\\xc8\\x50\\xdf\\x87\\xe8\\x72\\x51\\x83\\xa3\\x3e\\xc1\\x65\\xa6\\xcc\\xbc\\xc6\\x48\\x9b\\x90\\x2e\\xb0\\xda\\x6c\\x94\\xc6\\xc4\\x7a\\xdc\\x46\\x5a\\xc0\\xc7\\x83\\xed\\x79\\x44\\x18\\xc6\\xdc\\x18\\x96\\xe8\\xc4\\x4f\\x02\\x75\\x89\\x2b\\x5e\\xb5\\x94\\x56\\xed\\x67\\x0f\\x1a\\x40\\x23\\xf0\\x6b\\xcc\\x34\\x01\\xa6\\xa0\\x19\\xbf\\xb5\\x81\\xae\\x69\\x42\\x93\\x98\\x5d\\x5a\\x6e\\xb2\\x02\\xa3\\x4d\\x5f\\x39\\x69\\x1a\\x68\\x82\\x87\\x60\\xa3\\xd3\\xe3\\x1e\\x08\\x4f\\x0e\\xca\\xab\\x6e\\x1a\\xc8\\x1e\\x8d\\xbf\\x57\\x71\\xff\\xea\\xcf\\x7f\\xba\\x74\\xc3\\x2d\\x53\\x21\\x4b\\xef\\xb5\\x44\\x57\\xc1\\x5c\\xb0\\x69\\xef\\xad\\x23\\x03\\x88\\xd6\\xa1\\x88\\xd6\\x65\\x88\\x56\\x81\\xaa\\x8e\\x1a\\x0c\\x3c\\x9a\\xa2\\x96\\x15\\x2d\\x80\\x7a\\x9e\\xf0\\x0d\\x80\\x61\\x4f\\xf1\\x7a\\x9d\\x5e\\x79\\xa7\\x23\\x5c\\x4c\\xe6\\x72\\x2b\\x7c\\xb4\\x56\\xf9\\x73\\x58\\x17\\xae\\xf4\\xac\\x22\\x55\\x46\\x8b\\xc0\\x48\\x5c\\x45\\xbd\\xf2\\xec\\x61\\x7a\\xf3\\x8a\\x4d\\xcc\\xf1\\xd3\\xbf\\xc2\\x13\\x30\\x70\\xfa\\x34\\x78\\xee\\xc9\\x35\\x68\\xbc\\x67\\xd0\\x78\\x0e\\x34\\x9e\\x9b\\xea\\x1e\\x15\\x4d\\x66\\x0d\\x6f\\x76\\xd9\\x78\\xd6\\xeb\\xd1\\xda\\x6c\\x6e\\x8d\\x79\\x3f\\x1a\\xc1\\x8d\\x4e\\x4f\\x3c\\x9a\\x1b\\x33\\x25\\xd9\\x56\\x33\\xc9\\x14\\xdc\\x48\\xd3\\x47\\x3b\\x30\\x42\\x07\\xa3\\xf1\\xd7\\x34\\xd0\\x8d\\xa0\\x14\\xe3\\xf4\\x82\\xd7\\x2e\\x5b\\xd8\\x1a\\x2d\\xdd\\x0d\\xff\\x33\\xa5\\xba\\x3c\\xe8\\xad\\x82\\x3f\\x15\\xe6\\x0d\\x9e\\x3f\\xad\\x39\\x2b\\xd2\\x6b\\xf0\\x8d\\xec\\xd1\\xfc\\x31\\x7f\\x7b\\x29\\xce\\x83\\xfd\\x82\\xbf\\x6e\\xc2\\x9f\\x7b\\xb7\\x6f\\x9c\\x98\\xed\\x5c\\xb5\\xa1\\xe1\\x34\\x59\\xaf\\x10\\xa2\\xe9\\x0a\\x44\\x93\\x86\\x2a\\x89\\xea\\x70\\xf9\\x2b\\x8f\\x76\\x00\\xb2\\xeb\\x9a\\x9e\\xc2\\xc5\\xbc\\xcf\\x27\\xa5\\x29\\xd5\\xf7\\x5d\\x99\\x3a\\xae\\x5c\\xc0\\x3a\\x9b\\xf9\\x18\\x9e\\x8e\\xb7\\xb3\\x03\\x37\\xa0\\xd9\\x9e\\x46\\x4a\\xa6\\x19\\x3d\\x6f\\x09\\x7a\\x1e\\xb6\\x09\\xaa\\xb0\\x45\\xc0\\xb1\\x7a\\xc0\\x32\\xa2\\x85\\xa6\\x0d\\x1c\\xc0\\x73\\x34\\x50\\x8a\\x8c\\x1a\\xd2\\xe7\\x98\\x36\\x45\\xfc\\x64\\x40\\xd8\\x89\\x06\\xc8\\xb1\\x8b\\x60\\x1e\\x3c\\x05\\x04\\x64\\x29\\x9e\\xbe\\x7e\\x0b\\x5a\\x43\\x23\\x08\\x9d\\xa1\\x4f\\xc7\\xcd\\xf4\\x07\\xeb\\x97\\x9c\\x3e\\x0d\\xbf\\x43\\xeb\\x84\\x54\\x19\\xfd\\x33\\x19\\xd3\\xf5\\x34\\x43\\xd3\\x48\\x89\\x3d\\x87\\x9e\\xcd\\xe0\\x15\\x6b\\x4c\\x6a\\x1c\\xdc\\x02\\xf0\\x18\\x10\\xe0\\x29\\xf6\\xe8\\xd9\\x90\\xb2\\x87\\x90\\xac\\x32\\x7b\\xd9\\x33\\x94\\x89\\xaa\\x8b\\xda\\x71\\x57\\x7f\\x23\\xb2\\xa3\\x79\\x5e\\x23\\x98\\x69\\x83\\x11\\xfd\\xbb\\xc6\\x68\\xc2\\x0f\\xd2\\x90\\x07\\x91\\x95\\x90\\x52\\x00\\x8d\\xa9\\x3a\\x33\\x8c\\x62\\x8f\\xab\\xcc\\xaa\\x6b\\x82\\x22\\xb3\\x77\\x56\\xff\\x1a\\x78\\x6a\\x64\\x07\\x7c\\x84\\x75\\xc1\\xb3\\x81\\x40\\xc7\\xc4\\xf8\\x4e\\x7a\\xec\\xac\\x3b\\x8b\\xe6\\x01\\x3e\\x51\\x83\\x37\\x15\\xd1\\x6a\\x42\\xfc\\xd6\\x73\\xbc\\xc9\\x68\\xe4\\x05\\xb3\\x89\\xc7\\x8c\\xd1\\x20\\x46\\x63\\xc6\\x68\\x92\\x8c\\x49\\xbf\\x98\\x4f\\x94\\x5a\\x60\\x81\\xf3\\x33\\x63\\xaf\\x7f\\xf0\\x05\\x78\\x1a\\xbc\\x05\\x0a\\x80\\x06\\x9e\\xa6\\x9f\\xd8\\xb1\\xee\\x9c\\x8b\\x3d\\xfa\\x1b\\xfc\\x21\\x5e\\xae\\xec\\x43\\x9c\\xd3\\xb8\\x8c\\xfd\\x99\\xf2\\x52\\xf5\\x51\\xa3\\xc9\\xc5\\x33\\x8c\\xe4\\x62\\x7c\\x59\\xb2\\xa5\\x97\\x91\\x0c\\x22\\x83\\xa1\\x64\\x5d\\x29\\x24\\xd9\\xf8\\x3d\\x05\\x86\\xa7\\x42\\x46\\xc9\\xb5\\xe0\\x72\\xf2\\xf1\\x0d\\xb1\\x12\\x71\\x54\\x42\\x44\\x55\\x58\\x39\\x49\\xb2\\x85\\xe6\\xe9\\x56\\xf8\\xdf\\xef\\x81\\x70\\xc9\\xf2\\x99\\x57\\x47\\x9a\\x62\\xb1\\x49\\x13\\x6f\\xbc\\x63\\xe7\\xa8\\x39\\xbf\\xd9\\x7e\\x07\\x76\\xfa\\xab\\x78\\x70\\xcb\\xd2\\xa6\\xad\\x1f\\xed\\x7a\\xa4\\xf6\\xb7\\xee\\xd7\\x40\\xf8\\x3e\\x3c\\x0b\\x3f\\xbb\\x15\\xaf\\x15\\xdd\\x5f\\x5d\\x2b\\x4f\\x54\\x4f\\x16\\x4b\\xc0\\xa7\\xc8\\x3e\\x3c\\xe7\\xc3\\x13\\x2f\\xb4\\x5a\\xf1\\xd9\\x78\\x3e\\x4d\\x70\\x19\\x9b\\x8d\\x3e\\x67\\xa0\\xf2\\x9f\\x41\\x47\\x09\\x62\\x1c\\x12\\xa6\\x16\\x6c\\x42\\x64\\xf2\\x4c\\x65\\x19\\x79\\x44\\x52\\x84\\xd8\\x6c\\x78\\x6a\\xe5\\x03\\x10\\xb7\\x0b\\x0f\\x9d\\x41\\x0f\\x6a\\xbd\\x7f\\xd1\\xe9\\x53\\xf0\\x38\\x7e\\x2e\\xae\\xf5\\xab\\x47\\xcf\\xc5\\x51\\x71\\xbd\\x99\\xc5\\xed\\x65\\x6d\\x56\\xc1\\xac\\xea\\x51\\x01\\x3d\\x96\\x45\\x96\\xbb\\xb2\\x0b\\xd2\\xf4\\x68\\x72\\x59\\x2c\\x54\\x21\\xa8\\xf2\\x63\\xb7\\x56\\x1d\\x4d\\x64\\xeb\\xe1\\x7b\\xf0\\x03\\xb8\\x17\\x34\\xec\\xdd\\xb9\\x73\\x17\\xdc\\x0f\\xc6\\xd1\\xad\\xf4\\x48\\xf8\\x29\\x3c\\x72\\xfa\\xe9\\x67\\x3d\\xcf\\xed\\x3d\\x1d\\x7f\\x02\\x63\\xa2\\x9c\\x3f\\xc0\\x4e\\xe0\\xaf\\x23\\xbb\\xc4\\xc0\\x18\\x75\\x02\\x6f\\xe4\\x45\\x0b\\x25\\xf4\\xd2\\x81\\x66\\x34\\x9b\\xc1\\x58\\xe1\\xaa\\x8a\\x67\\x58\\x22\\xe2\\x90\\x12\\xbd\\xf2\\xb2\\x9a\\x3c\\xaa\\xaa\\x32\\x40\\x12\\xfd\\x73\\xd0\\xe7\\xb8\\x1f\\x41\\x0e\\x88\\x1e\\x83\\x2c\\xb0\\x01\\x19\\xbc\\x0a\\x4b\\xe1\\xe4\\xe3\\x93\\x40\\xf5\\x73\\x7b\\xe8\\x0d\\x70\\x2c\\x5c\\x00\\xdf\\x82\\xf9\\x8b\\x48\\xfc\\x3a\\x21\\x7f\\x3c\\x3a\\x1f\\xd0\\x8c\\x75\\x94\\x16\\x50\\xc0\\x22\\xd0\\x89\\x93\\x83\\x06\\x38\\xf2\\xa8\\x55\\x35\\xe0\\x05\\x66\\x8c\\xb7\\x67\\x0e\\x4b\\x4e\\x42\\xdc\\xd2\\x89\\x9d\\x7a\\x4e\\xa3\\x88\\x61\\x5c\\x06\\xff\\xec\\xbe\\x10\\xe9\\x92\\xff\\xc0\\xef\\x81\\x33\\x6e\\x00\\xfb\\xe7\\xaf\\xec\\x89\\x65\\x91\\xf4\\x23\\x9d\\xce\\x1e\\x43\\xda\\x6d\\x74\\xd4\\xee\\xb2\\x3b\\xb4\\x9c\\x64\\x75\\x3a\\x1c\\x56\\x2b\\xcf\\x31\\x5e\\x8f\\xdd\\xe5\\xe2\\x1d\\x68\\x74\\x2c\\x8b\\x26\\x55\\x16\\x87\\x22\\xfa\\x34\\x60\\xe4\\x9e\\x98\\x95\\x27\\x27\\x71\\x24\\x05\\x00\\x29\\x66\\x36\\x35\\x53\\x3a\\x6a\\x63\\x89\\x14\\x89\\x12\\x26\\x9d\\xa2\\x80\\x01\\xf8\\xad\\xd5\\x35\\x8c\\xdf\\x51\\x4d\\x7f\\x74\\xdf\\x13\\xc3\\xe3\\xdb\\xc0\\x50\\x77\\x43\\x63\\xe3\\x88\\x5e\\x7d\\xaf\\x85\\xc7\\x6e\\xaa\\xe8\\xf6\\x27\\x28\\x1e\\x37\\x8b\\x3d\\x76\\x0d\\xfc\\xf3\\xbb\\xf8\\xea\\xd3\\x60\\xce\\x93\\x1b\\x7a\\x0d\\xd9\\x0a\\xbf\\x83\\x2e\\x9a\\x7f\\x61\\x26\\xd8\\xb4\\x6d\\x1f\\xd1\\x0f\\xc7\\x90\\x4f\\x78\\x21\\xbd\\xd2\\x72\\x11\\xbd\\xf2\\x5f\\x15\\x6f\\xf4\\x4f\\xa4\\x57\\x76\\x92\\x73\\x05\\x9d\\xcd\\x0c\\x85\\x6c\\x19\\xa4\\xff\\xf4\\x3a\\x95\\xc3\\x7a\\xc2\\x61\\xba\\x2b\\x87\\x13\\x8a\\x55\\x99\\x06\\x09\\xcb\\xe2\\xfb\\xef\\x9d\\xf1\\x26\\xb0\\x2d\\x6f\\x64\\xcb\\xd6\\x8f\\x1f\\xdb\\xd9\\x84\\xb6\\xfc\\x8d\\xf3\\xca\\x4f\\x4f\\xf8\\xf0\\x79\\xb4\\x96\\x16\\xb4\\xc7\\x91\\x7a\\xa7\\x44\\x2a\\x87\\xea\\x17\\x95\\x24\\x86\\x91\\x59\\xd1\\xab\\x97\\x45\\xbd\\x98\\xeb\\x97\\x58\\x8e\\x55\\x47\\xe4\\x88\\x35\\xe0\\x54\\xad\\x81\\xe1\\xd4\\x85\\x62\\x08\\x4a\\xb8\\xd2\\x8a\\x94\\x58\\x00\\x1f\\x6a\\xa2\\x8c\\x91\\x34\\x73\\x68\\x11\\xf0\\x59\\x40\\xd9\\xfe\\x44\\xc2\\x27\\xd7\\x97\\xbd\\x48\\xf7\\x40\\xc4\\x59\\x66\\x7e\\xf7\\x22\\x3c\\x7e\\x0e\\x8c\\xee\\x79\\xed\\xea\\xb6\\x4b\\xbb\\xdd\\xbe\\x9d\\x9e\\x77\\xc9\\x27\\x75\\xa7\\xe3\\xf0\\x9b\\xe6\\x5f\\xe0\\xc9\\x55\\x20\\x04\\x7a\\x81\\x3b\\x67\\x9c\\x29\\x79\\xfb\\x89\\x01\\x5b\\xf6\\x0e\\xde\\x78\\x13\\xc1\\x36\\x38\\xff\\x01\\x7b\\x1f\\xd1\\x7d\\xd1\\xa8\\xcc\\xd1\\xb4\\xce\\xc4\\x32\\x5a\\x9d\\x89\\xd1\\x31\\x82\\x19\\x27\\xef\\x98\\xa8\\xfd\\x60\\x14\\xa2\\xd1\\x84\\xb6\\x80\\x16\\xf1\\x79\\x58\\xb2\\xd4\\xa4\\x36\\xdd\\x2e\\x50\\xc4\\x1f\\x37\\x13\\xac\\x96\\x44\\xbf\\x85\\xa6\\xb8\\x2a\\x00\\x6e\\x87\\x0f\\x80\\x20\\x08\\xcd\\x9b\\x04\\x1c\\x47\\x60\\x00\\x36\\x7d\\xce\\x86\\x99\\xb7\\xcf\\x3d\\x31\\x11\\xdc\\x02\\x66\\xc0\\xbc\\xf8\\xb7\\xe7\\x31\\x7a\\x30\\xde\\x77\\x68\\xfb\\x4f\\x20\\x6b\\xd3\\x13\\xe9\\x45\\x33\\xc7\\x1a\\xcc\\xac\\x59\\xb4\\x18\\xcc\\xfb\\xc0\\xc8\\xbd\\x31\\x83\\x41\\xe0\\xb0\\x5a\\x11\\xa8\\xd4\\xfe\\x4f\\x85\\xd0\\x52\\xf8\\x15\\x18\\x32\\x18\\xeb\\x61\\x51\\x81\\xe2\\x95\\xfd\\x22\\x1d\\x00\\x95\\x80\\x83\\xa7\\x6f\\xd8\\xfe\\xd0\\xaf\\x71\\xc8\\x1e\\xfd\\x09\\xfe\\x74\\xf6\\x21\\x36\\xf8\\xe4\\x5d\\xf0\\xed\\x53\\x8c\\x53\\x91\\x8b\\xa9\\x68\\x1f\\xcc\\x47\\x63\\xcb\\x54\\x53\\xd4\\xac\\xd1\\xca\\x66\\x4e\\xab\\x15\\xcd\\xa2\\xc3\\xce\\x69\\xd1\\xe8\\xcf\\xc4\\x38\\x4e\\xd4\\xe9\\x12\\x8b\\x86\\xf7\\xbd\\x48\\x49\\xe4\\xb5\\x98\\x26\\x26\\x9d\\x33\\x73\\x08\\x31\\x49\\x32\\x70\\xb6\\xb1\\x6c\\xc1\\x32\\x94\\x23\\x32\\x53\\xee\\x78\\x60\\xff\\x7f\\xe2\\xe7\\xc0\\x07\\x20\\x1f\\x6d\\xc8\\xfb\\x61\\x07\\x58\\x8f\\x94\\xd1\\xce\\xcd\\x0f\\xc0\\x5f\\x4f\\xd3\\x27\\xe1\\xcf\\xf0\\x58\\x6b\\xfc\\xb1\\xd3\\x60\\x0a\\xe9\\xdd\\x8c\\xf8\\x32\\x03\\xd1\\x86\\xbb\\xfc\\x4b\\x06\\xf4\\x1b\\xc1\\x82\\x8e\\x42\\x60\\x61\\xec\\x32\\x6d\\x30\\xd8\\xf6\\x81\\xd1\\x4f\\x23\\xee\\x00\\x81\\xc7\\x5b\\x00\\x90\\x2d\\x10\\x49\\xc5\\x15\\x1d\\xe9\\xc4\\x10\\xf1\\x45\\x7b\\xcf\\x07\\x1c\\xc4\\x6a\\xc3\\xb5\\x8d\\xf4\\x3d\\xf0\\x54\\xb0\\xe3\\x55\\x50\\xdd\\x34\\xed\\xff\\xc7\\xda\\x7b\\xc0\\x47\\x55\\x65\\x8f\\xe3\\xef\\xbe\\x3a\\x7d\\xe6\\x4d\\x6f\\xc9\\xb4\\xcc\\xa4\\x17\\x32\\x29\\x84\\x96\\x01\\xe9\\x25\\x24\\xa1\\x0e\\x20\\xbd\\x48\\x91\\x5e\\xa4\\x37\\x41\\x94\\xa2\\x02\\x0a\\x58\\x50\\x50\\x41\\x50\\x91\\x0e\\xd2\\xb1\\x50\\x44\\x6c\\xab\\xb8\\xbb\\xba\\xba\\x2e\\xba\\xae\\xac\\xae\\xee\\x82\\x9d\\x79\\xf9\\x9f\\x7b\\xdf\\x9b\\xc9\\x24\\xe0\\x7e\\xf7\\xf3\\xff\\xfc\\x76\\x74\\x91\\xe4\\xcd\\x7d\\xe7\\x9e\\x7b\\xfa\\x3d\\xa5\\xaf\\xb1\\x5f\\x8d\\xd1\\x86\\xec\\x4e\\xdb\\xf9\\xab\\xe0\\x64\\x6d\\x1d\\xbb\\x64\\x3f\\xca\\x9a\\xb5\\xed\\xec\\x9c\\xcc\\xd5\\x2f\\xfd\\x2c\\x7d\\x79\\xed\\x1f\\x45\\x24\\x1f\\x05\\x70\\x35\\x87\\xd0\\x76\\x87\\x98\\xdd\\x04\\x82\\x42\\xd4\\x68\\x39\\x96\\x45\\x5a\\x91\\xb5\\x98\\x4d\\x00\\x99\\x86\\x3d\\x75\\x3b\\x46\\x8a\\x36\\x93\\x10\\x44\\x3e\\x60\\x7c\\xa0\\x74\\x1b\\x92\\xbd\\xfb\\xb7\\xaf\\xe8\\xa7\\x13\\x26\\xd4\\x11\\xcd\\x6f\\xdf\\x56\\x6b\\x47\\x36\\x9b\\xa1\\xdd\\xec\\x51\\xa8\\xe4\\x3f\\xcc\\x57\\x09\\xc9\\xb7\\x6c\\xde\\x57\\x5f\\xaf\\x7d\\xec\\xae\\x1c\\x69\\x16\\x91\\x99\\xf3\\x01\\x37\\x73\\x89\\x1c\\xb0\\x00\\x76\\xac\\x5a\\xda\\xa8\\x42\\xb4\\x85\\x56\\x31\\x36\\xab\\x4e\\xab\\xa5\\xc1\\xbb\\xa1\\x31\\xd1\\xb0\\x94\\x25\\xcd\\x5c\\x92\\x89\\x46\\x4c\\x37\\xdf\\x08\\x76\\x70\\xc5\\x11\\xce\\x1a\\x01\\x99\\x2d\\x56\\x98\\xb1\\x4e\\x0d\\x20\\x50\\xe5\\x51\\xda\\x09\\xf2\\xe7\\xcf\\xd2\\xa7\\x5b\\xb7\\x4c\\x5d\\x2d\\x19\\xe8\\x5f\\x7f\\x5b\\xc1\\xce\\x47\\x9f\\x9d\\xfd\\x58\\x3a\\x21\\xf5\\x9d\\x8d\\x7c\\xdd\\x11\\xf7\\xc7\\xa9\\x83\\x64\\x3a\\xaa\\x01\\xdc\\xdc\\xa2\\x0b\\x6b\\xfe\\x8b\\x2e\\x04\\x99\\x7d\\x7b\\x5d\\x48\\xbf\\x97\\xd4\\x84\\x78\\x5d\\x47\\xc3\\x8f\\xc4\\x76\\xf7\\x82\\xed\\xee\\xb6\\x58\\x39\\x5e\\x47\\xe9\\xbd\\x7a\\xb7\\xd7\\xe3\\x71\\xf3\\x56\\x36\\x33\\x43\\x47\\x51\\x6e\\x0b\\xe7\\xc1\\x78\\x77\\x2b\\xa2\\xda\\x9d\\xc2\\x7b\\x53\\x4b\\x35\\xad\\xa7\\x0c\\xb6\\x52\\xa3\\x8c\\x81\\x36\\x22\\x87\\x3c\\xba\\x3e\\xca\\xd0\\x06\\xc4\\x06\\x98\\x28\\x1a\\xdb\\xae\\x65\\xa6\\x4a\\x77\\xc3\\xa5\\x69\\x79\\xd7\\xd8\\xda\\x80\\xe5\\x99\\x13\\xc3\\x2d\\x65\\x3f\\x44\\xdd\\x63\\xcf\\x48\\x47\\xa4\\x3f\\x9d\\xfa\\x85\\x5e\\xab\\xef\\xb0\\x7a\\xc3\\x67\\xd2\\xee\\x07\\x9f\\xbf\\xd3\\x69\\xfe\\xb4\\xff\\xc9\\xd7\\x69\\x4f\\xe2\\x1b\\xe9\\xb7\\x86\\x35\\xd5\\xec\\x55\\x80\\xb7\\x12\\xf0\\x30\\x0d\\xe0\\xc5\\x35\\x99\\x26\\x64\\xb1\\x38\\x55\\x82\\xc1\\x29\\x38\\xdd\\x2e\\x95\\xc5\\x62\\x95\\x4d\\x57\\x0b\\x18\\xb2\\x7a\\x44\\xa3\\xe3\\x29\\xe5\\xd6\\xa4\\x73\\x75\\xd3\\xc9\\x6a\\x58\\xf2\\xd9\\x53\\x5c\\x6d\\x35\\x24\\x73\\x95\\x3e\\x7a\\x84\\xb6\\x22\\xff\\x6f\\xd2\\xbf\\x97\\x3d\\x36\\xa2\\xc3\\x86\\x47\\x3a\\x8a\\x35\\xed\\xc1\\xda\\xbd\\x2e\\x7d\\x95\\x88\\xd2\\x17\\x9f\\x5e\\x94\\xb8\\x71\\xf4\\xd2\\xc0\\xff\\xdc\\xfd\\x14\\xb9\\xff\\xfc\\x00\\x64\\xff\\xaf\\xec\\x9f\\x4c\\xd9\\x1c\\x8b\\x00\\x5f\\x26\\x81\\x63\\x25\\x9c\\xfd\\x70\\xfb\\xdf\\xa9\\x1a\\x7f\\x47\\x77\\x66\\x7e\\x26\\xbf\\x53\\x21\\x4d\\xfa\\xef\\x80\\xb4\\x37\\xb3\\x3c\\x13\\x05\\x5b\\x81\\xa1\\xcc\\x07\\xc1\\x45\\x47\\xf4\\x51\\xb0\\x0f\\xaa\\x71\\xe7\\x78\\x4c\\x50\\x21\\x4b\\x80\\xee\\x79\\xf0\\x7e\\x64\\x66\\x79\\x5a\\xd6\\xf1\\x47\\x59\\x9e\\x35\\x93\\xe7\\x05\\xca\\x79\\x44\\x40\\x6a\\x15\\x87\\x78\\xf9\\x4b\\x78\\x06\\x86\\xe2\\xdc\\xc3\\xf7\\x2c\\xf0\\x2f\\xba\\xfb\\xd0\\x03\\xc8\\xfc\\x51\\x72\\x81\\xc4\\x0a\\xbc\\x08\\x4d\\x01\\x7c\\xa4\\xcf\\x88\\x40\\x69\\xa8\\xfc\\x98\\x4d\\xa3\\xe2\\x28\\x0e\\x7c\\x73\\x0d\\xd3\\x27\\xae\\xd1\\x70\\x6a\\xde\\x88\\x94\\x36\\xba\\x44\\x08\\x28\\xed\\x04\\x09\\xab\\x65\\x07\\x04\\x60\\x36\\x2d\\xcd\\x9e\\x95\\xae\\xdd\\x29\\x45\\x06\\x4a\\xdf\\xa3\\x9d\\x68\\xb0\\x61\\xfb\\x53\\x3f\\xfd\\xc4\\xb6\\x4a\\xac\\x43\\xfb\\xa5\\x1a\\x65\\x9e\\xf3\\xbb\\xa4\\x0e\\xd2\\x42\\x0d\\x8b\\x95\\xab\\xf5\\x7a\\x60\\x6b\\x4a\\xd0\\x52\\x0c\\x8b\\x9b\\x04\\x5a\\x2d\\x74\\x7d\\x5c\\xad\\xeb\\x13\\x37\\xaa\\x7d\\x6a\\xda\\xc4\\x58\\xd4\\x16\\x35\\x65\\xe6\\x38\\x55\\x9f\\x38\\x67\\x64\\x6d\\x94\\xbe\\x8f\\x5c\\x97\\x9e\\xac\\xb0\\x35\\x27\\x93\\x7e\\xf3\\xf3\\xd3\\x66\\x2f\\x44\\x93\\x9e\\x3b\\x99\\xa9\\x6c\\x4b\\x7e\\x10\\xfc\\x9d\\xee\\xf1\\xe6\\x40\\xe9\\x23\\xb4\\x9a\\xc9\\x96\\x9e\\x47\\xf9\\xd2\\x87\\x68\\x76\\x62\\xbe\\xfe\\x3e\\xa4\\x96\\x00\\xc8\\xb7\\xae\\x5e\\xba\\x7e\\x19\\xfd\\x05\\x74\\xca\\x14\\x52\\x6f\\xa1\\xd4\\x69\\x51\\x79\\x54\\x39\\xd5\\x96\\x1a\\x15\\x8b\\xe6\\xfb\\x4b\\x5d\\x2e\\x44\\xb5\\x6a\\x65\\x6d\\xad\\xca\\xb5\\xe6\\x56\\xb7\\xf3\\x56\\x44\\x2a\\xea\\xe2\\xce\\xd6\\x79\\xad\\xeb\\xe2\\xa5\\x79\\xbe\\x3c\\x41\\xc8\\xf3\\x31\\xda\\x60\\xc4\\x5e\\xc4\\x6a\\xd9\\xba\\xb8\\x88\\xf3\\xca\\xd2\\xda\\x43\\x16\\x37\\xe9\\x38\\x9c\\xde\\x12\\x46\\x29\\x9f\\x47\\x4d\\x12\\x9a\\x1c\\xc9\\xb4\\x26\\x23\\x52\\xe6\\x1a\\xe1\\xa1\\xe1\\xf2\\x18\\xa8\\xf2\\xb0\\x72\\x65\\x5e\\xd9\\x0e\\x21\\xcc\\x5e\\x81\\x4c\\x44\\x8b\\xf1\\x9e\\x6d\\x62\\xa6\\xfd\\xe1\\x6d\\x33\\x67\\xac\\x08\\x96\\x6e\\x1d\\x3d\\xff\\xbe\\x67\\x77\\x6c\\x68\\xd3\\xb2\\x45\\x54\\xf5\\x6e\\xb6\\xf4\\xcd\\xde\\x2e\\xfd\\xb6\\xed\\xd8\\xc5\\xfc\\x21\\x37\\x52\\x33\\x65\\xec\\x9d\\xdd\\x12\\x0f\\xe4\\x74\\x2d\\xa0\\xa5\\x3f\\xa8\\x3a\\xd1\\xfd\\xe9\\x47\\x5e\\xea\\xd9\\xbe\\x70\\xcd\\xaa\\xc9\\xf3\\x66\\x4f\\x7f\\xe9\\x91\\x17\\x8f\\x30\\x6c\\xe5\\x9d\\x93\\xba\\x77\\x13\\xa5\\x0b\\xab\\x57\\x23\\x0f\\xca\\xca\\x7f\\x25\\xd6\\xed\\xc5\\x29\\x15\\x0c\\x73\\x67\\xe2\\x46\\xfb\\x59\\xf5\\x2b\\x96\\x13\\xfc\\x14\\xe3\\xbe\\xfc\\xa4\\xdf\\x23\\x9e\\xc8\\x31\\x32\\x16\\x45\\x99\\x99\\x94\\x3b\\x2b\\x4b\\xb0\\xd8\\x6c\\x8c\\x56\\x2d\\x30\\x42\\x6e\\x4e\\x08\\xa9\\x35\\xea\\x3e\\x71\\xb7\\xc5\\xa8\\xf1\\x69\\x70\\x35\\xb0\\x46\\xd0\\xe9\\x5c\\xb5\\x71\\x9d\\x51\\xc8\\xaa\\x8d\\x0b\\xb6\\xe6\\xb5\\x29\\x8d\\x63\\x79\\x9b\\x8d\\x7a\\x90\\xd3\\x32\\x48\\x78\\x44\\xee\\x33\\xae\\xa4\\xe0\\x45\\xc3\\x98\\x6b\\x6d\\x80\\x1d\\x0b\\xb1\\x9e\\xc8\\x7c\\x81\\x8d\\x27\\x66\\x1f\\xde\\x9f\\x38\\x39\\x73\\x26\\xcd\\x5c\\x3e\\x52\\x99\\xff\\xb6\\x34\\xbf\\x66\\xec\\xfe\\xfd\\x23\\xeb\\x3d\\x39\\xfd\\x87\\x3e\\xf7\\xec\\xd2\\x21\\xe8\\x4c\\x8b\\xe5\\xf7\\xae\\x42\\x67\\x2e\\xa1\\x97\\xe7\\x2d\\x69\\xdb\\x3f\\xb4\\xa0\\x43\\xf4\\x87\\x36\\xd2\\xbd\\xa5\\x2d\\x1d\\xd2\\x2f\\x6d\\x09\\x5f\\x4e\\x86\\xb3\\xef\\x47\\x6a\\xf4\\x3a\\x13\\xde\\x7a\\x06\\xf6\\x3a\\x1a\\xf6\\xaa\\x02\\xcd\\x94\\x13\\xb3\\xea\\x38\\x91\\xe2\\x28\\x8b\\x19\\x99\\x6a\\xe3\\xc8\\x88\\x73\\x7c\\x29\\xdb\\xad\\x36\\x73\\x94\\xe8\\x65\\x2b\\x15\\xca\\x4e\\xd6\\xcc\\x3f\\x83\\x0e\\x80\\x54\\xd2\\x49\\xff\\xb8\\x69\\x5e\\xb5\\x6c\\xc1\\xd2\\x2d\\x6c\\x2b\\xe9\\x9f\\xe0\\x22\\x49\\x9f\\x5e\\x7c\\x69\\xf7\\x8b\\x3b\\x48\\xff\\x3f\\x9a\\xaa\\x82\\x77\\x4d\\x26\\xfd\\xae\\x70\\xc7\\xd7\\x7c\\x87\\xcd\\xe5\\xd2\\x21\\x8d\\x89\\xd7\\xf0\\x6e\\x8f\\x53\\x47\\x01\\x77\\xd8\\x8c\\x94\\x8f\\x02\\x6c\\x52\\x94\\x86\\xd6\\xb8\\x80\\x35\\xe5\\x96\\xba\\xc6\\x5b\\xb0\\xd9\\x44\\xdc\\x25\\x0b\\xce\\x52\\x60\\x01\\x22\\x39\\x05\\x32\\x32\\xa3\\xa1\\x6a\\x66\\x0a\\x3c\\xa9\\xcf\\x4c\\xda\\x48\\x40\\x3c\\x76\\x8c\\x5e\\x8d\\x5e\\x56\\xc0\\x44\\x67\\x7e\\xc2\\x80\\x7e\\x75\\xe9\\x27\\x90\\xc3\\x1f\\x02\\x9c\\x66\\xd2\\x0f\\xac\\x4b\\x2c\\xc2\\xa9\\xe1\\xc0\\x29\\x8d\\x86\\xd2\\xeb\\x30\\xb7\\x1a\\x39\\x1f\\x07\\x00\\x72\\x1c\\xc8\\x31\\xb6\\x0f\\xc6\\x91\\xba\\x09\\x8e\\x9a\\x96\\x22\\x01\\x1b\\x97\\x2a\\x08\\x4b\\x71\\xeb\\x87\\x8c\\x2f\\xf1\\x3d\\xba\\x2a\\x65\\xd0\\x45\\x0a\\x6b\\x62\\x5d\\xb5\\x05\\xce\\xc5\\x05\\x3c\\x99\\x4d\\x0d\\x89\\x45\\x03\\xc1\\xa0\\x3e\\x53\\xd4\\x84\\xc3\\xa2\\xde\\xc9\\x70\\x39\\xb9\\x41\\xbd\\xc1\\xa0\\xaf\\x8b\\x1b\\x0d\\x3e\\x03\\xbc\\x9b\\x35\\x38\\x1c\\x06\\x16\\x1c\\x4e\\x8f\\xb5\\x2e\\xee\\x01\\x21\\xf3\\x3b\\x0d\\x4b\\x6e\\x97\\xea\\xc9\\x35\\x56\\xc2\\xff\\xd7\\x5e\\xcf\\x74\\xdd\\x81\\x4f\\x72\\xff\\x2d\\x4e\\xec\\x56\\x1b\\xbf\\x25\\xdf\\x70\\xc9\\x96\\x7f\\x5b\\x9f\\xde\\x98\\xde\\xd1\\x39\\x2d\\xe9\\xd0\\xf0\\xe0\\x5d\\x9b\\x5e\\x82\\xb3\\x9e\\x2d\\x4d\\x66\\xe7\\x93\\x7a\\x13\\x3d\\x55\\x19\\xf3\\xf1\\x88\\x51\\xe9\\xb5\\xbc\\x5a\\x6d\\x34\\xe8\\xf4\\x7d\\x06\\xeb\\xc0\\x86\\xa7\\x11\\x29\\x3d\\xe1\\x6b\\xe3\\x6a\\x5b\\xb3\\x3e\\x7a\\xe0\\x8a\\x38\\x94\\x5e\\xa9\\x72\\x49\\x06\\x67\\x0b\\x94\\xa3\\x8f\\xa4\\xa7\\x58\\x4e\\x9a\\x85\\x82\\x89\\x37\\x70\\xdf\\x1d\\xb9\\xb1\\xda\\xa9\\xd7\\xde\\xc1\\xf1\\x4a\\xea\\xe1\\x86\\x6f\\x98\\x0f\\xe1\\x7d\\x26\\xf0\\x51\\x9c\\x5a\\xb5\\xda\\xc0\\x18\\x44\\x33\\xcb\\x52\\x3a\\x9d\\x16\\xcf\\xf7\\x6e\\x8e\\xa4\\xa6\\x59\\x82\\x18\\x2b\\xa4\\x13\\x78\\xb9\\x88\\x9b\\xc6\\xc2\\xf6\\x73\\x0e\\xbf\\x96\\x89\\xac\\xc6\\x3b\\xda\\xac\\xfa\\x91\\x36\\x7d\\x6c\\x7d\\x72\\x77\\x60\\x70\\xf7\\xe3\\x34\\xfb\\x56\\x22\\x74\\xf4\\x15\\xc2\\x47\\x2f\\x01\\x8d\\x6c\\x20\\x79\\x41\\xbf\\x12\\x5b\\xe3\\x65\\x10\\x1c\\x3f\\x90\\x9e\\xa0\\x2d\\x63\\x5e\\x95\\x4e\\xc7\\x21\\x30\\xb9\\xe1\\xa8\\x8c\\xb4\\x4a\\x0d\\x0e\\x81\\x1a\\x81\\xb0\\x03\\x02\\x47\\xe9\\xe3\\x3b\\xcc\\x55\\x69\\x75\\x08\\xc4\\xaa\\x11\\xca\\x71\\x05\\x77\\xa5\\x4d\\x10\\x03\\xcc\\x0f\\x89\\x56\\x4b\\x96\\x20\\xe3\\xf5\\xeb\\xe8\\x08\\x7a\\xb8\\xf7\\xdf\\x6a\\xd1\\x39\\xe9\\xf0\\x83\\x7f\\x5f\\x27\\xbd\\x4a\\xde\\xd7\\x06\\xde\\x8f\\x7b\\x45\\xd9\\xa8\\x68\\xcc\\x69\\x33\\x9b\\x45\\x5c\\xf5\\x2c\\xf2\\x0e\\x30\\x6f\\x69\\xa3\\x60\\x34\\xf3\\x36\\x1d\\x92\\x15\\x5a\\x75\\x54\\x8e\\x43\\xa6\\x9b\\x06\\x8d\\x05\\xce\\x60\\xd4\\x92\\x2c\\x30\\x52\\xdc\\xfc\\xd1\\x87\\xd7\\x4c\\xdf\\xa0\\x09\\xcb\\x8c\\x05\\xea\\xb0\\x6f\\x21\\x1a\\xfd\\x8d\\x99\\x99\\xf5\\xf8\\xd8\\xc4\\x1a\\xe0\\x66\\x5f\\xf1\\x3f\\xfb\\x22\\xed\\x28\\xf4\\xf9\\x6f\\xe7\\xe8\\x99\\xe3\\x9e\\x20\\x30\\xac\\x03\\x18\\xee\\x24\\x3a\\x2f\\x2f\\x66\\xd1\\x23\\x83\\x8e\\x13\\x0c\\x82\\x49\\x64\\x75\\x06\\xce\\x68\\x54\\x19\\x92\\xfa\\xb4\\xaa\\x69\\x23\\x0b\\x65\\x1a\\x4c\\x40\\x99\\x04\\x83\\x36\\x1a\\x78\\x74\\x06\\x65\\x48\\x37\\x0d\\xbc\\xd4\\x4b\\xfa\\x00\\xde\\xe5\\x2e\\x7a\\x33\\x9b\\xe1\\xe0\\x45\\x91\\xd2\\xf5\\x9e\\x9b\\xbf\\x91\\x1c\\x42\\xa5\\x46\\x10\\xf0\\x2d\\xe7\\xc7\\x3d\\x25\\xf7\\xf8\\x31\\xf1\\xb4\\x2d\\x1b\\xcb\\x96\\xf2\\x86\\xdf\\xd8\\x4d\\x6c\\x3b\\x0a\\x77\\x91\\xf3\\xc7\\x0c\\x46\\xb5\\x15\\xb0\\x6e\\x77\\x88\\x80\\x07\\xa5\\x5d\\x74\\x7a\\x94\\x83\\x88\\x09\\xb9\\x92\\x11\\x67\\xc9\\x98\\x02\\x78\\x70\\x01\\x3d\\x06\\x09\\xa0\\x3a\\x3f\\x90\\x7e\\x05\\x91\\xf0\\x21\\xd8\\xd7\\xc6\\xb3\\x7b\\xd0\\x94\\x43\\x27\\xd9\\x76\\xd2\\x27\\x92\\x94\\x90\\xfe\\x8a\\xfc\\x88\\x41\\x6a\\xe4\\x90\\xfe\\xbc\\xe8\\x9e\\x06\\x6a\\xe1\\x6c\\xc4\\xc8\\x76\\x66\\x39\\x95\\x0b\\xef\\x36\\xe1\\x29\\xc0\\x31\\x51\\xa4\\x34\\x7a\\x3d\\xcf\\x5b\\x29\\xc6\\xe5\\x56\\xdb\\x8c\\xb8\\xf5\\x6b\\xb4\\xb8\\xe9\\xc0\\x44\\x4b\\x19\\x7e\\x37\\x66\\x36\\x06\\x47\\xa1\\x02\\x7e\\xdc\\x53\\x86\\x29\\xa2\\xcb\\xc1\\xe3\\xe3\\x9b\\x37\\x46\\x9c\\xb2\\x67\\x18\\x6d\\xf8\\x11\\x64\\xd7\\x7f\\x70\\x57\\x45\\xe4\\x49\\x76\\x55\\x94\\xfe\\x6e\\x5c\\x82\\xaf\\xd0\\x89\\x3e\\xdf\\x03\\xfa\\xfc\\x3e\\xb0\\x3c\\xdc\\x54\\x10\\x4f\\xbd\\xb7\\x67\\x1a\\x1d\\x8e\\x8c\\x4c\\x8e\\xe5\\xcd\\xa2\\x98\\xa5\\xe2\\xfd\\x8c\\x4b\\xaf\\x67\\x78\\x26\\x94\\x65\\x36\\x82\\x8f\\x96\\xe9\\x30\\xb2\\x94\\x55\\xd0\\x18\\x3d\\x22\\xe6\\x89\\x73\\x51\\xf8\\x27\\xd9\\xed\\xa6\\x69\\x4a\\xb2\\xb9\\x31\\x70\\x46\\x01\\x81\\x64\\x97\\x3b\\x2a\\xa2\\x18\\x77\\x82\\xc3\\x96\\xcd\\x33\\x41\\x01\\x01\\xda\\x50\\x69\\x25\\xc2\\xd7\\xf1\\xf4\\x78\\xe9\\x17\\xe9\\xc3\\xf8\\x82\\x8f\\xd6\\x7f\\x83\\x38\\x94\\xdf\\x67\\xfa\\xdb\\xeb\\xae\\x0f\\xe9\\x82\\x2e\\x77\\x92\\x1e\\x1e\\xda\\x51\\x2a\\xeb\\x7a\\x44\\x8b\\xb2\\x10\\x7d\\xe6\\xde\\x69\\x47\\xde\\x98\\x2d\\xfd\\x55\\x4a\\x9c\\x5f\\x3e\\xe6\\xe8\\xd1\\x69\\x8c\\x57\\x94\\xc6\\xb7\\x99\\x84\\x28\\x49\\x63\\x42\\x9b\\xda\\x8d\\xbd\\x77\\xb1\\xbc\\x27\\x2f\\x9c\\xef\\x41\\x90\\x87\\x1e\\x90\\x88\\x85\\xa0\\x83\\x4b\\x83\\x3a\\xbb\\xdd\\xeb\\xa5\\xf2\\xf2\\xc4\\x7c\\xc1\\x2d\\xba\\x8b\\x8b\\xec\\x56\\x9f\\x2e\\x6c\\xf0\\xe5\\x38\\x73\\x6a\\xe3\\x9e\\x7c\\x90\\x84\\xbc\\x87\\xd7\\x58\\x9d\\xf6\\x30\\xa3\\x61\\x6a\\xe3\\x06\\x4d\\xba\\x89\\xa2\\xf4\\xd3\\x6a\\x56\\x9a\\x12\\x35\\xa7\\x95\\xa6\\xa0\\x34\\x41\\x88\\x47\\x78\\xa6\\x66\\x53\\xfa\\xc5\\x72\\x2e\\xfd\\xfe\\xbd\\x14\\x9b\\x24\\xe8\\x46\\x4d\\xe7\\x68\\x99\\x61\\x7f\\x70\\xf3\\xc4\\xc3\\x75\\x7d\\x8e\\x3c\\xf9\\xfc\\xee\\xed\\xc7\\x7b\\xf7\\xdb\\x23\\x9d\\xa5\\x77\\x75\\xad\\xe9\\x56\\x5d\\x7d\\x47\\x7d\\x77\\xe9\\xe9\\xfb\\x78\\xe9\\x67\\x55\\x05\\xdd\\x7f\\xc3\\xce\\x0e\\xd8\\x08\\x39\\x72\\x44\\xfa\\x4c\\xfa\\x4e\\xfa\\x5a\\xfa\\x6a\\xdf\\x3e\\xba\\x3a\\xbf\\xd5\\xc9\\x23\\xaf\\x1c\\x3f\\x71\\xec\\x4c\\xe2\\x8a\\xb4\\x66\\x3a\\xd1\\x8f\\x93\\x60\\xcf\\x23\\xc8\\xdc\\xfc\\x5c\\xaa\\x5b\\x2c\\x4b\\x25\\x08\\xd9\\xd9\\x5a\\xd6\\x11\\x08\\x58\\xdc\\xac\\x3b\\x2f\\xdf\\x2e\\x64\\x19\\x8d\\x59\\xb8\\xed\\x3f\\x65\\xd6\\x1a\\xa9\\xcc\\x46\\x89\\xa6\\xb4\\xf3\\xa0\\x9a\\x46\\x73\\x53\\x22\\x9f\\xf4\\x53\\xad\\x2c\\x87\\x3f\\x02\\xf2\\x46\\x02\\x8d\\x83\\xc9\\xb3\\x93\\xfb\\xc2\\x27\\x38\\xf6\\xf1\\x2f\\xe7\\xad\\x9c\\x3a\\xf4\\x1e\\xa4\\x9a\\x3e\\x66\\xe4\\x24\\xa4\\x9a\\x3b\\x74\\xfa\\x8a\\x79\\x5f\\x3c\\x39\\x75\\xe1\\xa2\\x29\\x53\\x17\\x2c\\xb0\\x8e\\x3b\\x39\\x6f\\xc5\\x61\\x17\\x1b\\x79\\x75\\xea\\xb2\\xc5\\x8b\\x97\\x4d\\x3f\\x1b\\x66\\x5d\\x47\\xee\\x9d\\x77\\x72\\xdc\\xf1\\x25\\xf3\\xa6\\xcc\\x9e\\x33\\x79\\xfe\\x62\\xe0\\x85\\x4e\\x74\\x26\\xbb\\x0a\\xce\\x4d\\x47\\x65\\xc6\\xf4\\xe0\\xca\\x19\\xf0\\x1d\\x14\\x9e\\xba\\x22\\x57\\x22\\x98\\x5e\\x4f\\xda\\xeb\\xca\\x6c\\xeb\\x00\\xbc\\xdc\\x2f\\x76\\x6a\\xca\\x5a\\x74\\x26\\xa6\\x20\\xc0\\xd6\\xbf\\xcf\\xee\\x91\\x1e\\x26\\x3c\\xd6\\x09\\x70\\xb3\\x8a\\xf6\\xca\\xeb\\xea\\x60\\x5d\\x4e\\xa7\\x56\\xd3\\xa0\\x3b\\xec\\xcd\\xd6\\x45\\x84\\x99\\x03\\xf2\\xea\\x08\\x08\\xeb\\x1e\\xdc\\xd3\\xfb\\x2b\\xa0\\x4d\\xe0\\x60\\xda\\x2b\\x3d\\xbc\\xe7\\xac\\xf4\\x3d\\xf0\\x72\\x1e\\x8e\\x5f\\xd3\\xd4\\x1a\\x90\\x61\\xab\\x00\\xe7\\x1a\\xe0\\x9e\\xb2\\x98\\xdb\\x28\\x68\\x11\\xa2\\x05\\xda\\x66\\xd5\\x52\\x75\\x71\\xe2\\x0c\\x5b\\xea\\xe2\\x8c\\x5c\\x3e\\x76\\xdb\\x3a\\x22\\x12\\xc4\\x96\\xaf\\xb7\\xc2\\x01\\xc5\\xe8\\x40\\x3b\\xa4\\xbf\\xd3\\xbe\\xaf\\x7e\\xbc\\x7e\\x4d\\xfa\\x05\\xa9\\x46\\x0c\\x19\\x37\\xf6\\x67\\xb4\\x1e\\x14\\x62\\xab\\x3d\\x3b\\x9f\\xdb\\xf3\\xf2\\x90\\xae\\x35\\x03\\xc9\\x79\\xe3\\x99\\x8d\\xad\\x88\\xce\\xb0\\x52\\x77\\xc4\\x02\\x8c\\x28\\xd2\\xbc\\x15\\x14\\x16\\xaf\\xb5\\xd9\\x19\\x0b\\x00\\x54\\x17\\xb7\\x58\\x68\\xd0\\x99\\x75\\x71\\xb5\\x51\\x47\\xdb\\xa8\\x26\\x4d\\x90\\xa9\\xaa\\xe6\\x3d\\x6f\\x70\\x41\\x95\\xdc\\x3b\\x17\\x8b\\x57\\x0b\\xee\\x99\\xdb\\x1a\\xd1\\xc3\\x61\\xbb\\x97\\x51\\x87\\xe9\\x73\\xae\\x5f\\x43\\x5f\\x01\\x5c\\x67\\x2e\\x9f\\x7c\\x17\\x1d\\x90\\x7a\\xa1\\x8f\\x3c\\x4f\\xcc\\x7e\\xec\\x89\\xdf\\xce\\x81\\x6d\\xf4\\xc7\\x4d\\x8f\\x34\\x83\\xa7\\x7d\\xcc\\x4f\\x59\\xad\\x8c\\x46\\x14\\xb5\\x60\\xef\\xda\\x6d\\x1a\\xa3\\x5e\\x0f\\x70\\xe8\\xf5\\x2c\\xd2\\x1a\\x59\\xc0\\x09\\x6b\\x6b\\x46\\x7b\\xb7\\xed\\x68\\x4d\\x92\\x76\\x70\\x68\\xcb\\x21\\x43\\xc3\\xf8\\x91\\x5b\\x72\\x7d\\x7d\\xe3\\x9e\\x69\\xd2\\x29\\x14\\x45\\xa6\\x57\\xdf\\x3d\\x79\\xf9\\x0c\\x7d\\x1f\\x3a\\xf0\\xdb\\xb9\\x27\\x1e\\x9b\\xf3\\xb8\\x07\\x94\\x7c\\xaf\\x17\\x1f\\xd9\\x24\\xcb\\xd5\\xdd\\x00\\x4f\\x90\\xf8\\x6c\\xb9\\x31\\x0b\\x8b\\x4d\\x2e\\x0a\\xa9\\xd4\\x9c\\x8d\\x11\\x88\\x3a\\x37\\xa6\\x5d\\xe2\\xa4\\x9a\\xa4\\x5a\\xe4\\x21\\x41\\x81\\xdd\\xcc\\x3d\\xd2\\x7b\\xd2\\xdf\\xa5\\xf7\\xd8\\x56\\xa7\\x6e\\xde\\xcb\\x2c\\xc0\\x3a\\x63\\x1d\\xd0\\xd0\\x28\\xac\\xb3\\x99\\xd9\\x64\\xfd\\xee\\x54\\x01\\xbb\\x85\\x55\\x83\\xdc\\xce\\x8f\\x59\\x05\\x4a\\xd4\\x9b\\x18\\xab\\xd5\\x84\\x05\\x37\\xe5\\xb4\\x99\\x04\\x01\\xcf\\xac\\x14\\xa3\\xd5\\x4d\\x7a\\x64\\xe3\\x37\\x90\\x39\\x21\\xf8\\xd4\\x2b\\x2a\\x71\\xc7\\x47\\xd9\\x62\\x0a\\x05\\xba\\xd3\\xc3\\x50\\xc6\\xcb\\xf7\\x27\\x4e\\x30\\x5d\\x07\\x4c\\x29\\xb0\\x3c\\xe7\\x5b\\x30\\xf5\\x83\\xb7\\x12\\x75\\xa8\\xe3\\xd9\\xb1\\x0b\\x91\\x8b\\x63\\xa4\\x1b\\x8c\\x86\\xad\\x7a\\x71\\xce\\x8b\\x47\\x41\\xbe\\xd5\\xc3\\xbb\\xb7\\x91\\x77\\x7b\\x29\\x3f\\xd5\\x33\\x16\\x61\\x7c\\x1e\\x8f\\x57\\x70\\x02\\x10\\x4e\\x93\\xd5\\xef\\xb5\\x7a\\x83\\x81\\x0c\\x7f\\x7d\\xdc\\xeb\\xaa\\x8f\\x67\\x78\\x33\\xbc\\x2a\\xca\\x29\\x26\\x21\\x2a\\x8e\\x36\\x6d\\x10\\x68\\x4e\\xc3\\x3b\\x96\\x64\\xbf\\x07\\x20\\x92\\xeb\\x44\\x43\\x68\\x11\\xa0\\x1e\\x20\\x95\\xfe\\x41\\x7b\\x1b\\x21\\x95\\x16\\x4a\\x1f\\x7c\\x0c\\xff\\xbb\\x0d\\xbc\\xe8\\xee\\x3f\\xd1\\xab\\xaf\\x10\\x9c\\x75\\x6b\\x70\\xb0\\x9b\\xb9\\x22\\x2a\\x42\\x75\\x8c\\xf9\\x99\\x60\\xd0\\xea\\xb6\\x8b\\x0e\\x87\\xde\\x94\\x29\\x80\\x93\\xef\\x66\\x72\\xb2\\xed\\x91\\x08\\x45\\xa9\\x7c\\x99\\x4d\\xa0\\x2d\\x6e\\x54\\x2d\\xd1\\xb4\\x7f\\x7e\\x0f\\x99\\x42\\x12\\x62\\x91\\xfc\\x3a\\x3b\\xd0\\x0d\\xa3\\x76\\xcf\\x03\\xe9\\xa8\\xfd\\x66\\xd1\\xe4\\x8f\\x2e\\x26\\xea\\xf0\\x2f\\x9e\\x5a\\x93\\x78\\x99\\xde\\xf5\\x6c\\xff\\x09\\x29\\xa8\\xcb\\x1e\\x9f\\xf4\\x73\\x39\\x5f\\xf9\\xd8\\x9c\\xad\\x3b\\x90\\xe3\\xd9\\xfa\\xf1\\x1c\\xb1\\x19\\x7c\\x40\\x4f\\xbb\\x88\\xcd\\x16\\xbf\\x35\\xb7\\x5b\\xe9\\xe1\\x50\\x4e\\xfe\\x7e\\x27\\xd9\\xeb\\x2a\\xa0\\x17\\x15\\xdb\\x06\\x74\\x50\\xaf\\x58\\x8e\\x55\\xe3\\x34\\xd9\\x6c\\x06\\x46\\x34\\x38\\xd9\\x0c\\xaf\\xd1\\x66\\xc0\\xed\\xae\\x0d\\xac\\x81\\x32\\x5b\\x45\\x33\\xf8\\x49\\xe6\\x66\\x36\\x26\\xd1\\x35\\xcd\\x1a\\x63\\x88\\xb2\\x09\\xd4\\xc4\\x08\\xcf\\x47\\xe5\\x95\\xd8\\xce\\xe5\\x64\\x79\\x4c\\xc7\\x14\\xc3\\x3b\\x3e\\x7a\\xd4\\x9c\\x11\\x5f\\x4b\\x36\\xa6\\x5c\\xfa\\x6a\\xfb\\x9a\\x29\\x97\\x65\\x93\\xbb\\x6f\\xcd\\xe0\\xda\\x27\\x3f\\x79\\xfb\\xd8\\x75\\xc7\\x93\\x9b\\xc6\\x6c\\xed\\x27\\xf3\\xc9\\xae\\x86\\x6f\\xd9\\x2c\\xb6\\x37\\x15\\xa2\\x6a\\x62\\xd9\\x3e\\xb3\\x57\\xad\\xe6\\xf5\\x94\\x93\\x77\\x66\\x85\\xbd\\x9a\\x98\\x5e\\xe3\\x63\\x6c\\xb8\\x5a\\x83\\xb1\\xe1\\x56\\x0a\\x36\\x13\\x13\\x68\\xd6\\x3b\\x81\\xf4\\xac\\x76\\x54\\xb9\\x4d\\x97\\xd3\\xf5\\x62\\x69\\x63\\xeb\\x23\\xac\\x3c\\x92\\x15\\x62\\x8d\\x7e\\x02\\x56\\x19\\xd1\\xd2\\x4a\\x36\\x2b\\xe3\\xe3\\x03\\x7f\\xf8\\x70\\xcd\\xc2\\x2d\\xf7\\xed\\x78\\xd4\\xfb\\x0b\\xf9\\xcb\\xda\\x05\\xeb\\xd7\\xc1\\x5f\\x90\\xb8\\x76\\xd3\\xf6\\x8d\\x13\\x1e\\xd0\\x8c\\x69\\x5b\\xb3\\x7c\\xb9\\x1b\\xff\\x65\\xe2\\x1a\\xcd\\x98\\x76\\xdd\\x71\\x2b\\x43\\x80\\x5b\\x0d\\xf8\\x7d\\x0d\\x74\\x45\\x3e\\xd5\\x2a\\x96\\x91\\x09\\x4e\\xa1\\xc1\\xc2\\xf2\\x11\\x3e\\x52\\x50\\x98\\x69\\xa0\\x0c\\xac\\xdd\\x14\\xd4\\xb0\\x9a\\xfa\\x78\\x0e\\x6b\\x4f\\xa9\\x72\\x39\\x0c\\xd7\\x58\\xf6\\xd5\\xa2\\x24\\x4c\\xe6\\x71\\x2b\\xf8\\xac\\x46\\xd9\\x60\\x46\\x29\\xf9\\x06\\x06\\x64\\x54\\xaa\\xd8\\x2a\\x1d\\x24\\xe1\\x99\\x1e\\x9b\\x5b\\xf2\\xe8\\xe0\\x47\\x17\\xc6\\xb2\\x86\\x16\\x95\\xc6\\x5c\\x15\\x53\\x2a\\x0b\\xbc\\x9f\\x1d\\x3f\\xfe\\x59\\x46\\x61\\xf9\\x94\\x0a\\x57\\xac\\xb4\\x68\\x58\\x28\\xb6\\x60\\xd3\\xa0\\x47\\x5b\\xbc\\xd3\\xbe\\x57\\xbf\\x2e\\x7f\\xca\\xc8\\x2b\\x0a\\xf5\\xb8\\xef\\x8e\\xde\\x03\\x4b\\x37\\x1c\\x39\\xba\\xbe\\x74\\x50\\x6d\\xec\\xbe\\x1e\\xa1\\xa2\\xbc\\x8c\\x3f\\x75\\xe9\\x5b\\x43\\xe0\\x4f\\x00\\xbd\\xb0\\x20\\x9f\\x38\\x2a\\x23\\x66\\x60\\x58\\x8a\\x15\\x78\\x0e\\x54\\x12\\x09\\xe8\\x34\\x56\\x44\\x2a\\xb3\\xcb\\x44\\x96\\x95\\x2c\\xb8\\x99\\xff\\x29\\x79\\x38\\x1a\\xd0\\x1b\\xbe\\xaf\\xbf\\xc2\\xb6\\x02\\x1b\\xb6\\x17\\xce\\x6f\\xa1\\x56\\xc3\\xdf\\x3b\\x10\\x79\\x17\\x8a\\x89\\x34\\xe2\\x78\\x44\\xe6\\xba\\xe1\\xd1\\x6b\\x34\\x9f\\x94\\xfe\\x8d\\x46\\x6c\\x72\\x52\\x42\\x07\\x10\\x73\\x0b\\xf1\\xca\\xbf\\x9d\\x93\\x3b\\xd8\\xe3\\xb5\\x15\\xbd\\x66\\xe6\\xb9\\x4a\\x02\\xab\\x4e\\xa6\\x75\\xb0\\x10\\xdb\\xc5\\x32\\xb1\\x5b\\xe4\\xd4\\xeb\\x05\\xab\\x28\\x88\\x5e\\x8f\\xd6\\xe0\\x34\\x00\\xe5\\x3a\\x9d\\x7a\\x17\\x67\\x56\\x1a\\xa3\\xa6\\xd5\\xf2\\x36\\x9f\\x80\\xde\\x8e\\x26\\xdd\\xa6\\x70\\x2f\\xc8\\x80\\x58\\x84\\xc8\\x7d\\x2a\\x1e\\x97\\x15\\xa0\\xff\\xd1\\xb7\\x2e\\x88\\x2c\\x43\\x2e\\xbf\\x0c\\xaa\\xf6\\x2f\\xc8\\x12\\xaa\\xef\\x83\\x75\\x29\\x2a\\xbe\\x7b\\x2d\\x52\\x4b\\x5f\\x1d\\x3d\\x37\\x94\\x96\\x4e\\xa2\\x3b\\xe8\\x3f\\x22\\x16\\xfc\\xb7\\x9f\\x97\\xcc\\x2c\\x47\\x74\\x29\\x86\\x0d\\xf7\\xeb\\x8c\\x91\\x78\\x4b\\x7e\\xcc\\x4e\\x59\\xb5\\x56\\x9b\\xdd\\x0c\\x78\\x34\\x1b\\x75\\x06\\x15\\x40\\xa6\\xb2\\xcb\\xbd\\xb0\\xd2\\x1b\\xcf\\xc9\\x51\\xb0\\xe6\\x55\\x22\\x4c\\xe4\\xd7\\xe6\\x95\\x21\\x0d\\xb7\\x16\\x84\\x9c\\xc3\\xba\\x77\\x03\\xba\\xc6\\x56\\x71\\x97\\x70\\xee\\x2a\\x55\\x1e\\x33\\x6b\\x68\\x9a\\x05\\xcd\\x2f\\xb0\\x82\\xde\\x40\\x6b\\x34\\xac\\x8a\\x3b\\x8e\\x0a\\x70\\x4c\\x0f\\x15\\xa5\\x4a\\x9b\\x9b\\x77\\x17\\xc9\\x0e\\x08\\x21\\x14\\x55\\x23\\x81\\x09\\xd0\\xcc\\x8c\\x7e\\xd2\\xfa\\x7e\\x17\\xd0\\x9d\\xdf\\xa2\\x21\\x52\\x51\\xfe\\x30\\x64\\x7d\\x00\\x5d\\x93\\x24\\xe6\\xf3\\x9b\\x3e\\xa6\\xeb\\x43\\xd2\\xdf\\xd0\\x53\\x14\\xdd\\x70\\x09\\xfd\\x93\\x63\\xb8\\xb7\\x40\\x71\\x59\\x41\\xa2\\x64\\xa8\\xf5\\x7a\\x2b\\x8e\\x10\\x5a\\x58\\xd6\\x60\\xb0\\xb3\\x36\\x95\\x28\\x72\\xb4\\x45\\xa7\\xc6\\xb1\\x41\\xee\\x24\\xbc\\x1e\\xbf\\x5c\\x0f\\x08\\x2a\\x22\\xd3\\x8d\\x92\\x89\\xfd\\xe4\\x93\\x16\\x13\\x94\\xb3\\x02\\x31\\x2c\\x4a\\x84\\x01\\x1c\\x66\\x14\\x12\\x98\\x28\\xdd\\x41\\x7a\\x7b\\xd6\\xbb\\xe8\\x13\\x26\\x26\\x85\\x88\\xc2\\xff\\x25\\x51\\x9d\\xd7\\x7e\\xd9\\xb7\\xe8\\x9f\\x18\\xb0\\xa7\\x7f\\x7d\\x42\\xfa\\xe1\\x69\\xa6\\xeb\\x06\\xe9\\x4b\\x6c\\x6f\\xbf\\x0f\\xf8\\x08\\x01\\x3e\\xf4\\x20\\xc1\\x32\\xa8\\xb6\\x31\\xbb\\xc5\\xe3\\xd1\\xaa\\x0c\\x06\\xd6\\x41\\xb1\\x54\\xa6\\x4f\\xeb\\x76\\x5b\\x2c\\xac\\x99\\x60\\xc5\\xd3\\x04\\x2b\\xe6\\xaa\\x5b\\xeb\\xc5\\x14\\xd1\\x2d\\xd7\\x5d\\xa2\\xc6\\x38\\x16\\xbe\\xf1\\x2f\\x65\\x43\\xaf\\xef\\x91\\x02\\xe8\\x30\\x1a\\x3d\\xe8\\xce\\x99\\xf3\\xa4\\x86\\xfa\\xba\\x2f\\xff\\xde\\xaf\\x57\\xcb\\xb3\\x0d\\x88\\x3f\\xc6\\x70\\xf7\\x6d\\x64\\x3e\\xff\\xa5\\xdf\\x4c\\x9b\\x61\\x3e\\xea\\xde\\xb1\\xe5\\x8f\\x6d\\xa5\\x27\\xd7\\x48\\x57\\x01\\xbe\\x5d\\x00\\x5f\\x0f\\x80\\xcf\\x0c\\x62\\x22\\x08\\xd8\\xcb\\xf4\\x39\\x1c\\xa2\\xc5\\x62\\x52\\xb1\\x06\\x30\\x8e\\x79\\x13\\x6f\\x0a\\x65\\xd9\\x45\\x9e\\xf7\\x19\\x04\\x81\\xcd\\x54\\x63\\x38\\x1d\\x4d\\xe0\\x94\\x55\\x4e\\x7a\\x7f\\x78\\xa2\\x2e\\x1b\\xe1\\x25\\xb1\\x37\\x80\\x59\\x00\\x0d\\x69\\x17\\xca\\xb2\\xb1\\x4e\\x62\\x92\\xb0\\xb3\\x2d\\x30\\xd0\\x95\\x95\\x18\\xec\\xf2\\x95\\x3d\\x4b\\x2f\\x2e\\x91\\xce\\x00\\xbc\\x2d\\x65\\xe0\\x31\\xd8\\x68\\xff\\x56\\xf4\\xf0\\x2f\\x77\\xb6\\xde\\xda\\xa6\\xc7\\x54\\x07\\x68\\xd6\\x16\\x18\\x7a\\xb9\\x56\\xfd\\x1d\\x80\\x3d\\x0c\\xb0\\xe3\\x18\\x5b\\x58\\xbe\\x95\\x67\\x29\\xb3\\x45\\x4f\\xb0\\x69\\x48\\x41\\x99\\xce\\xdb\\x56\\x9a\\xe8\\x44\\x56\\x48\\x8d\\x16\\x0d\\xdf\\xbc\\x22\\x2d\\x40\\x83\\x6f\\x20\\xe1\\xcd\\x6d\\x1b\\xd7\\xed\\x5e\\xb2\\x85\\xf9\\xdb\\x57\\xd2\\x77\\xcc\\xe7\\xd2\\x3f\\x9f\\x7e\\x3e\\x31\\xe2\\x28\\xe6\\xa3\\x6b\\xe8\\x1a\\xf3\\x13\\xbc\\x47\\x4b\\xb5\\x88\\x99\\x94\\xb8\\x15\\xa5\\xd1\\xe9\\x55\\x1c\\xc7\\x22\\xfc\\x2e\\x75\\x92\\x98\\xa2\\x29\\x72\\x4e\\x46\\xa8\\x2c\\x62\\x23\\xf5\\x5c\\xa3\\xff\\x9d\\xf8\\x88\\xa6\\x24\\x8a\\xee\\x04\\x2b\\x7e\\xbe\\xed\\x97\\x6d\\xd2\\x6f\\xdb\\x60\\xfd\\x2b\\xf0\\xb7\\xab\\x64\\xfd\\x68\\x4c\\x54\\xb1\\x94\\x96\\xa7\\x69\\x2d\\xa5\\xd5\\xe9\\xc1\\x36\\x53\\x11\\x94\\xa3\\x5b\\x5f\\x90\\x8a\\xa4\\x5b\\xca\\x71\\xf7\\x78\\xf2\\x11\\xaf\\xd0\\x9d\\x60\\x75\\x0a\\xde\\xf2\\x6f\\x74\\x6d\\x1b\\xe2\\xe0\\x15\\x37\\x7d\\x44\\x4e\\x3d\\x84\\x3e\\x66\\xdb\\x70\\xf8\\xce\\x06\\xb8\\xd2\\xcd\\x19\\x2c\\x8c\\xca\\xa0\\x02\\x57\\x96\\xb7\\xf2\\x56\\xad\\x43\\x3c\\x8e\\x70\\x9e\\x99\\x16\\x15\\x27\\x63\\x0b\\xc5\\xc5\\x69\\x31\\x55\\x2c\\x9e\\x40\\xda\\xe3\\xec\\x4b\\xd2\\x8a\\x1b\\x0f\\xd0\\x88\\xfa\\x2d\\x82\\x3c\\x16\\x1b\\x1c\\x9c\\xf9\\xbd\\x36\\xe4\\x5e\\x43\\xdb\\xbb\\xfd\\xb0\\xea\\xda\\xcd\\xc4\\xb7\\xa8\\x6e\\xc8\\xd1\\x8c\\x45\\x83\\x56\\x3f\\xf2\\x28\\xbd\\xa8\\x28\\x72\\xff\\x63\\xd2\\x86\\xda\\x3b\\x91\\xfe\\xc7\\x1f\\x10\\x2f\\x25\\xaa\\xba\\xf7\\xde\\xfb\\xfc\\xce\\x57\\x08\\x4c\\x97\\x61\\xdf\\x0d\\x64\\xdf\\x00\\x53\\x72\\xce\\x0c\\x0b\\xfb\\xa6\\xf1\\x8c\\x99\\xff\\x41\\x52\\x90\\x9e\\x81\\x51\\xd2\\x8e\\x9b\\xa9\\x94\\x86\\x5e\\xb8\\x80\\xb6\\x5f\\x40\\xd7\\xd0\\x6e\\xa9\\x3f\\x9c\\xdf\\x2c\\xb4\\x5a\\xde\\x3b\\x4d\\xa3\\x6b\\xf4\\x25\\x78\\x0f\\xbe\\x9f\\x97\\x73\\x0c\\x8f\\xe1\\xa5\\xf1\\xc2\\xd5\\x4d\\x32\\x0d\\xe9\\x8b\\xf8\\x5c\\xe0\\x5b\\x08\\x7c\\xa6\\x4f\\x98\\xc7\\xe1\\x3b\\x26\\xb0\\x91\\x75\\x8d\\x71\\x2f\\xad\\x0e\\x43\\x85\\x33\\x74\\x8a\\x95\\xe3\\x48\\xa7\\xae\\x54\\xd3\\xc9\\x64\\xb8\\x6b\\xe0\\xa3\\x4f\\xbb\\xce\\x3b\\xa7\\xb5\\x69\\x77\\x1a\\xdd\\xf7\\x02\\xfa\\x64\\xd5\\x06\\xdf\\xa6\\xfa\\x1a\\x5a\\xfd\\x4c\\x22\\xfe\\xc4\\x8b\\xb2\\x8d\\xf1\\x39\\xd0\\xf0\\x68\\x82\\x83\\x96\\x31\\x1b\\xe0\\x40\\x03\\xaf\\x66\\xf1\\x84\\x1f\\x9d\\xa0\\x41\\x34\\x7b\\xab\\xc0\\x4c\\x36\\x06\\x6c\\x1c\\x21\\xa1\\x26\\xdd\\x83\\xb1\\xec\\x52\\x23\\xb0\\xce\\x9f\\x9f\\x03\\x78\\xd8\\x7b\\x4d\\x1a\\x07\\xbb\\xbc\\x86\\x2e\\x0c\\x95\\x1e\\x05\\x64\\xb4\\x43\\xaf\\x4a\\x43\\x12\\xaf\\xc9\\xf7\\x44\\x3e\\xd8\\xe5\\x35\\x78\\x27\\x47\\x65\\x1e\\xc6\\x73\\x0c\\x78\\x81\\x50\\x31\\x93\\x24\\xb2\\x46\\x05\\x8b\\x91\\x6b\\x43\\xbe\\x8b\\x18\\x85\\x80\\x98\\x63\\x8f\\x13\\x98\\x17\\x03\\xcc\\xbd\\xe0\\xfb\\x4e\\xaa\\x2a\\x66\\x01\\x69\\x6b\\x60\\x29\\xca\\x69\\x70\\xba\\xdc\\x16\\x60\\x41\\xb5\\xdd\\x78\\x14\\x15\\xec\\x17\\x28\\xc3\\x51\\x02\\xb2\\x12\\x27\\xbb\\xf5\\xec\\xca\\xaa\\x91\\x16\\x85\\xb4\\xa9\\x3e\\x86\\x3e\\x54\\x8d\\xb0\\xae\\x79\\x9c\\x47\\x5d\\x5f\\x5a\\xf7\\x52\\x37\\x9a\\xdf\\x8f\\xf4\\x2f\\x18\\x03\\x66\\xff\\x2e\\x78\\xf0\\x1a\\x3d\\x68\\x66\\x2f\\x87\\xf4\\x73\\xe2\\x0a\\x9d\\x87\\x54\\x9e\\xbb\\xfa\\x25\\x76\\x30\\x9f\\x27\\x3e\\xac\\x58\\xd1\\x79\\x1a\\x5d\\xac\\xd0\\x78\\x92\\x9e\\xf4\\x00\\x97\\x1e\\xb1\\x2c\\xa7\\x51\\xa9\\xf4\\x9c\\xde\\x60\\xd4\\xb6\\x57\\x13\\x26\\xe2\\xe1\\xff\\x39\\x80\\x4a\\x95\\x12\\xfe\\xd1\\xea\\x66\\x70\\xa9\\x11\\x01\\x27\\x8a\\x22\\xb8\\x18\\x9b\\xb1\\x4a\\xc3\\x74\\xfb\\xbf\\x44\\x3b\\x75\\xfb\\x01\\x82\\xc4\\x82\\xca\\xc4\\x61\\x40\\x43\\x62\\x66\\x0d\\xdd\\xfe\\x76\\xef\\xc4\\xe1\\x6b\\x70\\x9f\\x55\\x94\\xca\\x60\\x54\\xc3\\x3b\\x8b\\x40\\x09\\xe2\\x77\\x22\\xfc\\xde\\xdf\\x7f\\xa7\\x05\\x97\\x7d\\xcb\\x13\\xf4\\xca\\x2a\\xd1\\xe5\\xfd\\x3a\\xb4\\xf3\\xcb\\xfd\\x3a\\x69\\x18\\xc6\\x79\\xe2\\x74\\xcd\\x4c\\x86\\xb9\\xe9\\xa3\\xbb\\x57\\x2e\\x48\\x30\\xb2\\xdc\\x5b\\x8e\\xfe\\xc2\\x76\\xe7\\x3e\\x26\\x39\\xc7\\x20\\xf7\\xcc\\x3c\\xbc\\x85\\x72\\xba\\x8c\\x6a\\xcc\\xc5\\x36\\x8a\\x51\\xb8\\xb8\\x89\\xdc\\xa3\\x08\\xd7\\x52\\xd1\\x52\\x2a\\xbd\\xce\\x83\\xed\\x2e\\xdd\\xfc\\xfc\\x6a\\x03\\xd5\\xf0\\xc5\\x55\\x84\\xde\\xda\\x78\\xef\\x8a\\x8d\\x8f\\x2c\\xbf\\x6f\\x3d\\xf3\\xd7\\x6f\\xa5\\x6b\\xc8\\xfa\\xdd\\xf7\\x48\\x2b\\x5d\\xff\\xd7\\x33\\x87\\x0e\\x3c\\xf7\\xec\\x89\\x23\\xf0\\xde\\xef\\x81\\x27\\xfe\\xc2\\x7d\\x0a\\x3e\\x4a\\x0b\\x6a\\x78\\x2c\\xd7\\x6c\\xb1\\x64\\x67\\xdb\\xfd\\x3e\\x5f\\x61\\x21\\x70\\x55\\xc8\\xa8\\x55\\x87\\xd4\\x5e\\xbb\\xdd\\x1b\\x2d\\xb5\\xf8\\x7c\\x66\\xbf\\x3f\\x2f\\x0f\\x1b\\x9d\\xba\\x62\\xd7\\x31\\x00\\x48\\x07\\xa0\\x25\\x8b\\xa1\\x53\\xf1\\xa1\\x46\\x42\\x4e\\x2a\\x8d\\x34\\x02\\x49\\xc2\\x08\\xf6\\x71\\x79\\x7a\\x08\\x3d\\x69\\x39\\xcb\\x1e\\xb9\\x45\\xd9\\x0d\\x2e\\xc6\\xaa\\xae\\x6a\\x53\\xdf\\xad\\x47\\xed\\xdc\\x47\\x76\\xd5\\xd6\\xf5\\x1b\\xfd\\xda\\x81\\xbd\\xe7\\x47\\xf6\\xad\\xaf\\xd9\\xf5\\xd0\\x1f\\x87\\x0e\\xe8\\x3b\\xe8\\xd0\\xc0\\xfe\\x5c\\xb8\\xaa\\xac\\xba\\x7d\\xa7\\x9a\\x35\\xf7\\xad\\x5d\\xd0\\xe3\\x1e\\x0f\\x6d\\x9e\\x37\\xee\\xfe\\x27\\x9f\\x5c\\x35\\x62\\xb1\\x99\\x71\\x4d\\xeb\\x3c\\x7e\\x51\\x62\\x4c\\x6d\\x6d\\xbf\\x9a\\x17\\xfb\\xe2\\x3c\\x7c\\x16\\x68\\xdc\\x05\\xe7\\xaa\\x01\\xcd\\x58\\x14\\x33\\x19\\x39\\x0e\\x0f\\x8a\\xa6\\x2c\\x56\\xd6\\x68\\xe4\\x0d\\x02\\x16\\x20\\x3c\\x11\\x20\\xcd\\x05\\x13\\x51\\x7b\\xf9\\x78\\x26\\x5e\\x00\\xd7\\xd4\\x28\\x5a\\xc6\\x75\\xfc\\x99\\x7f\\x5d\\x44\\x2f\\xbf\\x78\\xec\\xcd\\x03\\xef\\x7c\\x18\\xef\\xcb\\x3e\\xbc\\xe1\\xb0\\xb4\\x9d\\xf9\\xfc\\xd9\\xc7\\x9e\\x94\\x4e\\x0d\\xc6\\x67\\xfa\\x26\\xbc\\xaf\\x1d\\xa1\\x23\\x1b\\x9e\\x96\\xa2\\x33\\x18\\xf4\\x6a\\x33\\xc8\\x2a\\x35\\xeb\\xb0\\xeb\\x68\\xda\\x6c\\x66\\xc5\\xdb\\x09\\xc4\\xe8\\x2d\\xfd\\x79\\x99\\x90\\xfc\\x6a\\x8c\\x30\\x3c\\xe0\\x87\\xb8\\x80\\xcc\\x90\\x4f\\xff\\x79\\x11\\x7d\\xf6\\xd2\\xd1\\xa9\\xa3\\x10\\xf3\\xeb\\x5e\\x09\\x6c\\x82\\x78\\x3d\\x48\\x87\\xb9\\xd2\\x7d\\xcc\\xe7\\x5b\\x1e\\x1c\\xb7\\xc9\\x2d\\x0d\\xa3\\xf7\\x3d\\x28\\xfd\\xb9\\x2f\\xa6\\xe9\\xb7\\x00\\x16\\x8a\\xd8\\x70\\x39\\xc0\\x47\\x60\\xc1\\xf1\\x3c\\x0b\\x44\\x0d\\x0c\\x85\\xb7\\x4d\\xcb\\xdb\\x6e\\x3c\\x3e\\x99\\x9d\\x95\\x69\\x30\\x6f\\x5e\\x94\\x2e\\x31\\x65\\x5c\\xde\\xcd\\x33\\x4c\\x6c\\xdb\\x36\\x59\\xc6\\xbd\\x8e\\x3e\\x01\\x71\\x7e\\x49\\xd6\\xd2\\x3c\\xa3\\x33\\x32\\x46\\xd0\\xd2\\x6c\\x52\\x73\\x16\\xdf\\x12\\x46\\x0e\\x12\\xe6\\x4b\\x6b\\x89\\x40\\x0f\\x39\\xf7\\xfe\\xc5\\x19\\x23\\xee\\x9e\\x7e\\xf1\\x73\\xf4\\xc9\\xf9\\xe3\\xf4\\xdd\\x89\\x67\\x16\\x4e\\x5f\\x3a\\x8b\\xee\\x9f\\xd8\\x7a\\xf2\\x5d\\x92\\x3b\\xf6\\x11\\xc0\\xfc\\x23\\xbc\\xc3\\x0d\\xd8\\x33\\xea\\x59\\x3b\\xa3\\x71\\xb9\\xdd\\x5e\\xad\\x46\\xe3\\xe1\\x4c\\xf8\\x45\\x2e\\x4a\\x83\\x0a\\x0e\\x3a\\xf4\\x7a\\xa4\\x56\\xe4\\x92\\x48\\x62\\xf8\\x4a\\x8b\\x25\\x12\\x92\\x25\\x75\\xdc\\x40\\x56\\x46\\x40\\x22\\x13\\xb5\\xe0\\x89\\x28\\x51\\x4b\\x26\\x63\\xc3\\xa9\\x08\\x0d\\xff\\x5a\\xa6\\xf6\\x99\\xdc\\xcb\\xfe\\xf5\\xe3\\xa5\\x7b\\x4a\\x99\\xc2\\x85\\x7f\\x9d\\x2b\\x88\\x06\\x4d\\xf9\\xcc\\x4b\\x20\\x17\\xda\\x45\\x76\\xa8\\xfa\\x2e\\x49\\xbc\\x0a\\xdc\\xfa\\xd1\\x75\\xf3\\x67\\x74\\x7e\\xe2\\xbb\\xe0\\xc0\\xda\\x36\\xdc\\x75\\x3a\\x97\\xd4\\x74\\x08\\xe8\\x63\\xe6\\x5b\\xf6\\x3a\\xe1\\x9b\\x1e\\x31\\x97\\x3d\\x2b\\x4b\\x68\\xd1\\xc2\\x9b\\x6f\\x64\\xbc\\x4c\\xb4\\xd4\\x60\\x30\\xe7\\xf0\\x61\\x33\\xcf\\x6b\\xcd\\x47\\x51\\x8b\\x43\\x1e\\x57\\x51\\x51\\x80\\x3a\\x4a\\x90\\x82\\xe7\\x01\\x12\\x15\\x43\\xac\\xc0\\xe2\\x26\\x5e\\x64\\x12\\x4f\\x65\\xe0\\x9b\\x35\\xbd\\x6b\\x92\\xdb\\xe9\\xda\\x64\\x13\\x3e\\xc4\\x5b\\xc0\\x8f\\x53\\x18\\x09\\x7d\\x3d\\xe1\\x9e\\x87\\x1f\\x7e\\xaa\\x65\\x59\\x45\\x0b\\xfe\\xbc\\x79\\xdb\\xfd\\xf7\\x3f\\x66\\x8f\\x58\\xed\\xa2\\xc7\\xe3\\xb3\\x76\\xed\\x04\\xfe\\x50\\xdb\\x91\\xf1\\xea\\x92\\x9c\\xce\\x43\\xd0\\xc7\\x73\\xa6\\xcc\\x5c\\xc8\\x30\\xd9\\xf5\\xed\\x4b\\x5b\\x69\\xa6\\xce\\x58\\xb3\\x52\\xba\\x56\\xd1\\x9a\\x9b\\xc4\\x0a\\x2c\\xd3\\xad\\xeb\\x26\\x34\\x95\\x66\\xaa\\xda\\x54\\x94\\x4f\\xe9\\x0d\\x74\\xfb\\x19\\xec\\xed\\x0d\\x65\\x6f\\xdd\\x62\\x9e\\xec\\x2c\\x9b\\x07\\x36\\xe6\\x61\\x4a\\xa3\\x42\\x76\\x38\\x2b\\x2b\\x90\\x9d\\x6d\\x0e\\x14\\x79\\x3c\\x2e\\x2a\\x00\\xbb\\xdb\\x6f\\xc0\\x9b\\x2c\\x56\\xb4\\x82\\x6c\\xc1\\x90\\xdd\\x89\\xe9\\xc6\\x06\\xb1\\x36\\x9a\\x5e\\x63\\x2b\\xad\\x82\\xe5\\xc4\\xd2\\x76\\x0c\\xe9\\x7c\\x53\\xc1\\x54\\xa6\\x86\\x7b\\xd1\\x57\\xc9\\xce\\xca\\x5a\\xfe\\x1f\\x3b\\x63\\xaf\\x2b\\x3b\\xab\\xe9\\xa4\\xec\\x0c\\xd9\\xd3\\x76\\x26\\x3d\\x94\\xda\\x59\\xf2\\xdc\\xf0\\xde\\x9c\\x60\\x19\\x57\\xc5\\x8c\\x2e\\x0a\\x5c\\x3b\\x56\\x9d\\x09\\x7e\\x44\\x56\\xc8\\x6b\\x3f\\x8d\\x5a\\x50\\x7e\\xca\\x04\\xdb\\xd1\\x20\\x5c\\x09\\x52\\x22\\xf7\\xbf\\xbd\\xe5\\xfa\\x14\\x81\\xb0\\x8a\\xf2\\x70\\x2c\\x8e\\x10\\xd0\\x56\\x28\\x55\\x70\\xe7\\x20\\xa2\\x8b\\xb4\\x7f\\x60\\x18\\x15\\x7b\\x88\\xe3\\x5f\\x61\\x04\\xa6\\xdd\\x4b\\x8b\\xd7\\xad\\xbf\\x7f\\x7b\\x1b\\xa6\\xb6\\xd7\\xe6\\x4d\\x3d\\xfa\\xb0\\x93\\xc4\\xa1\\xea\\x36\\x33\\xa5\\x21\\xde\\x07\\x84\\xc1\\xee\\xd5\\xef\\x9c\\x38\\xf6\\x87\\xfb\\xa4\\x86\\x05\\x2b\\xa4\\x5f\\xa5\\xc4\\x03\\xd8\\xbf\\x28\\x02\\xbb\\x6e\\x2b\\xc1\\x7f\\x29\\x55\\x45\\x0d\\x8b\\x05\\x2b\\xc3\\xf9\\x3a\\x9d\\xaf\\xa2\\x22\\xb3\\xc4\\x22\\x64\\x0a\\xad\\x5a\\x3b\\x8d\\xd1\\xa8\\xdb\\x6c\\xb7\\xbb\\xb5\\xf9\\x95\\x99\\xf9\\xf0\\x71\\xc3\\x09\\x1c\\xa6\\xb3\\x83\\xc1\\x2c\\x5c\\x5a\\xdc\\x02\\xd3\\x19\\x21\\xb4\\x26\\x7e\\x50\\xa3\\x51\\x9f\\x8a\\xe6\\xcb\\xe7\\xe2\\xa8\\x68\\x9e\\x62\\x40\\xc2\\x04\\x78\\x57\\x6d\\x51\\x80\\x1c\\x50\\x76\\x05\\x87\\x13\\x0d\\xda\\x31\\x70\\x38\\x4a\\x7f\\x48\\x34\\xe7\\xfd\\x7e\\x03\\xcf\\x4e\\x9a\\xbf\\x79\\xc3\\xb3\\x2d\\x5b\\x57\\x95\\x73\\xe7\\xcd\\xcf\\x3e\\xb0\\xb1\\x26\\xbe\\xf6\\xa9\\x9d\\xe8\\x8f\\x7d\\x3a\\x8f\\x75\\x1f\\xec\\x49\\xdf\\xe8\\x32\\xea\\xde\\xea\\x42\\x67\\x59\\xe2\\x83\\x58\\x77\\x56\\xfa\\x1b\\xdf\\x83\\xbd\\xbe\\x7d\\xfb\\x9c\\x29\\xb3\\x17\\xd0\\xf8\\xb4\\xca\\x5a\\x6a\\xa6\\x4d\\xef\\xd9\\xf3\\xe3\\xf7\\x0c\\x13\\xa6\\x0c\\x36\\xbd\\xbb\\x7a\\x66\\x9d\\x9f\\x51\\x79\\x8a\\xc3\\x15\\xe5\\x89\\xef\\x07\\x0f\\xbd\\x73\\x88\\x72\\x5e\\x9f\\x30\\x6f\\x80\\x6d\\x66\\x83\\x73\\x81\\xf3\\xf2\\x9a\\x8c\\x78\\x44\\xb9\\x1d\\x64\\x78\\x20\\xe8\\xb2\\xe0\\xf3\\xd2\\xa3\\x52\\x72\\x5a\\xbe\\xa4\\x92\\xac\\x4e\\x3f\\x2f\\x65\\x14\\xbd\\x5c\\xc5\\x1d\\xb2\\x0a\\x21\\x22\\x7d\\x84\\x68\\xb3\\xea\\x48\\xe6\\x8d\\xf5\\xab\\x6a\\xa7\\x67\\xd0\\xea\\x63\\xfc\\x69\\x86\\x69\\xbf\\x7b\\xe9\\xda\\xf3\\xdd\\x7b\\xf5\\xaa\\x83\\x03\\x63\\x26\\x1c\\xff\\x43\\xd7\\xf6\\x35\\x85\\x3d\\x46\\x31\\x77\\x49\\x9f\\x2c\\xd8\\x70\\xf9\\xc4\\xb2\\x85\\x2b\\x96\\xcc\\x5f\\xd9\\x04\\x36\\xdc\\x69\\xc2\\xe0\\x51\\xdb\\x4d\\x46\\x86\\xb1\\xd8\\xd4\\x36\\x7f\\x40\\x04\\x53\\xa1\\x14\\x24\\x94\\x0e\\x20\\xcc\\x00\\xb5\\x52\\xac\\xd8\\xa6\\xd1\\x46\\x53\\x21\\x9a\\x9a\\xd7\\xde\\x94\\x86\\xa2\\xd9\\x58\\x3e\\x3a\\x98\\x46\\x52\\xd2\\xa5\\x11\\x11\\x4d\\x9f\\xe6\\x5f\\xed\\x5d\\x83\\x09\\x09\\x5d\\x03\\xfa\\x79\\xe0\\x9d\\x13\\xc7\\xdf\\xbb\\x6f\\x11\\xb2\\xdf\\x7c\\xc8\\xfe\\x10\\x5a\\x36\\x6f\\xa5\\xf4\\x9b\\x74\\x73\\x0d\\xc1\\x9d\\x1d\\x68\\xfd\\x08\\xd0\\x11\\xf6\\x03\\x5b\\xc7\\xec\\x76\\xad\\x96\\x61\\x3c\\x6e\\x87\\xa8\\x56\\x7b\\xb4\\x76\\xbf\\x5a\\xd7\\xd5\\x6e\\xc7\\x39\\xb6\\x2d\\xf6\\x9b\\x0c\\x49\\xe9\\x84\\x45\\x53\\x7e\\xfa\\x68\\x8b\\x46\\x99\\x04\\x08\\xcb\\x40\\xf2\\x18\\x07\\x07\\x9f\\x9c\\xd4\\x31\\x79\\xe7\\xbe\\x83\\x3b\\x9f\\xda\\x29\\xe5\\xf4\\xea\\x39\\xc6\\x73\\xb0\\xe7\\x7f\\x3a\\x74\\xa7\\x51\\x26\\xdf\\x03\\x7d\\x7c\\xf9\\xb5\\x13\\x6f\\x7d\\xfc\\x1e\\x3f\\x71\\x36\\x9c\\x2c\\xfd\\xf8\\xf0\\x38\\x39\\xce\\x66\\x30\\x95\\xc7\\x44\\xad\\xdd\\xce\\x30\\x6e\\x0f\\x86\\xc9\\xed\\xd0\\x68\\x30\\x38\\xc5\\x32\\x38\\x2d\\x92\\xe0\\xdc\\x02\\x4d\\xb2\\x3e\\xa6\\x91\\x36\\x2d\\x32\\x45\\xd2\\xc3\\x64\\x68\\xd0\\x1f\\x15\\x68\\x52\\x54\\x97\\x0e\\x4d\\x62\\x8c\\x4c\\x5c\\x08\\x95\\x03\\x2c\\x9b\\x08\\x9f\\x75\\x8a\\x79\\xe0\\xed\\x9e\\x4c\\x26\\xcc\\xe4\\x64\\x0b\\x3c\\x6f\\xf2\\xf0\\x1e\\x37\\xc6\\x90\\xdb\\x6d\\x15\\xf5\\x18\\x45\\x59\\x81\\x46\\x14\\x61\\x1c\\x5d\\xae\\x42\\xc5\\x98\\xc7\\x64\\x53\\x47\\x51\\x98\\x4d\\xac\\x18\\x90\\x67\\x29\\x67\\x8a\\xd4\\xb7\\x2b\\xbc\\xc5\\xd3\\x13\\x1f\\x7e\\x6e\\x54\\x7d\\x4d\\xed\\xa3\\xf3\\x16\\x3e\\x21\\x6e\\xe3\\x62\\x2d\\x5b\\x94\\x0f\\x1e\\x33\\x79\\x50\\xdb\\x8a\\xe2\\xee\\xfa\\x67\\x5b\\xa1\\x8f\\x67\\x4c\\xec\\x71\\x97\\x96\\x31\\x0e\\xea\\x30\\x68\\xe6\\xe4\\x71\\xc6\\xe2\\x8a\\xe2\\xbc\\x8a\\xe8\\x82\\x8a\\xd6\\x85\\x2d\\xdb\\xb4\\xf4\\xfd\\x39\\x1d\\xee\\x30\\x70\\x84\\xd5\\xe7\\xf7\\xeb\\x32\\x4c\\x26\\x9d\\x83\\xa1\\xd5\\x21\\x3a\\x14\\xc9\\xb6\\x5b\\xdc\\x18\\x60\\x9e\\x49\\x03\\x58\\x6c\\x36\\x4f\\x10\\xc3\\xfa\\x5f\\x73\\x1b\\x92\\xa9\\x0d\\x23\\xfe\\xd3\\xea\\x59\\x7d\\xf7\\xe2\\x8a\\xb6\\xf1\\x29\\xe3\\xe2\\xe5\\x2d\\x5a\\xc6\\xb8\\x6d\\xe6\\xc7\\x17\\xce\\x7f\\xe4\\xf9\\xbe\\x13\\x9f\\x43\\x1f\\xff\\xd9\\x07\\x30\\x15\\xb6\\xaa\\x5c\\x10\\xad\\xc8\\x2b\\x2e\\x2f\\x31\\x8e\\x9b\\x3c\\x65\\xe0\\xda\\x08\\x52\\x8f\\xe9\\x3e\\x71\\x1e\\x9c\\xb5\\x8a\\x3a\\xca\\xbc\\x0e\\x70\\xfa\\xa9\\x3c\\xaa\\x6d\\xcc\\x18\\x61\\x02\\x4e\\x9d\\x4e\\x63\\xce\\xc8\\x34\\x67\\xe6\\x17\\x78\\x8e\\x83\\x74\\xcd\\xa2\\x6c\\xa8\\xc5\\x41\\x81\\xa5\\x72\\x8c\\xb2\\x06\\x7f\\x1d\\x83\\x5b\\x9d\\x8a\\x92\\x44\\x95\\x51\\x55\\xe1\\x54\\x14\\xb8\\x2d\\xaa\\x4c\\x67\\x15\\x2c\\x87\\x05\\x30\\x26\\x08\\xb3\\xc8\\x16\\xe3\\xe8\\x55\\xdb\\xad\\xa7\\xb5\\x77\\x54\\xd4\\xf4\\xa0\\xe9\\x76\\x7b\\x96\\xad\\xd9\\x70\\xff\\xb6\\xb6\\x2c\\xc7\\x1e\\x62\\x0f\\xf3\\x75\\x3d\\xb6\\x6c\\xee\\x59\\x77\\x74\\xe2\\x48\\x47\\x51\\xd9\\xa8\\x71\\x39\\x3d\\xd6\\x5c\\x38\\x76\\xf2\\xe2\\xfd\\xe2\\x70\\xf5\\xde\\xc4\\xe5\\x1d\\xcf\\xd0\\xc7\\xe6\\x2c\\x93\\x7e\\x5e\\x46\\xe8\\x94\\x16\\xa8\\x77\\xe8\\x73\\xec\\x17\\x24\\x8f\\x2e\\x1c\\x53\\x83\\xf7\\xce\\x81\\x17\\xa7\\x12\\x8e\\xa2\\x92\\xfd\\x0c\\xcd\\x13\\x68\\xaf\\x5c\\xae\\x4e\\xab\\x11\\xc3\\x03\\x8f\\x2c\\x60\\x32\\xd1\\xe7\\x4e\\x9f\\x3e\\x8d\\x46\\xac\\x5f\\xcf\\x2c\\x4f\\xf0\\xf4\\xaf\\xb8\\x0f\\x05\\x36\\xfa\\x41\\x4e\\x68\\xa9\\x36\\xe0\\x5b\\x69\\x65\\x8f\\x50\\x76\\x08\\x11\\x78\\xc5\\xaa\\x93\\x80\\x09\\x0e\\x95\\x36\\xda\\x81\\xc9\\x54\\x77\\xc5\\x14\\x53\\x1a\\xfc\\x23\\x26\\xcd\\x27\\x14\\xdf\\xa8\\x87\\xb7\\xf0\\x6f\\x4b\\x09\\x60\\xa9\\x6b\\x28\\xde\\x5a\\xfa\\x1b\\x6b\\x4f\\xec\\x42\\x6d\\xa4\\x2b\\x52\\x31\\xee\\xa3\\x0f\\xb6\\xd3\\x5c\\xc0\\x7d\\x16\\xd5\\x2e\\x66\\x31\\x08\\x82\\x36\\x8b\\xa2\\x54\\x19\\x5e\\x95\\x37\\x1c\\xf1\\x33\\x8c\\xd3\\x7c\\x0c\\x18\\x4c\\x0b\\x7b\\xc9\\xc0\\x0d\\x01\\x64\\x9f\\x2e\\x3d\\xf9\\x41\\x8e\\x6a\\x2b\\x4e\\x1d\\xa9\\x15\\x03\\x3f\\x26\\x3b\\x6a\\xb7\\x45\\xc9\\x9d\\x6f\\x54\\x31\\x4b\\x42\\xe4\\x97\\x82\\x48\\x6b\\xa7\\xb4\\xee\\x7a\\x9a\\x3f\\xa2\\xa6\\x43\\x13\\xba\\x3d\\x1f\\x66\\x83\\xe3\\xfb\\xde\\x3d\\xf5\\xd4\\xd4\\x96\\x5d\\xc1\\xc7\\x44\\x2f\\x5e\\x9c\\x37\\x52\\x1a\\x47\\xd7\\xce\\xaa\\xe8\\x5a\\x3b\\xb0\\x66\\x47\\x9f\\x3e\\x9b\\xd7\\x4a\\x5e\\xf8\\xe9\\xf4\\x11\\xd2\\x50\\xe2\\xbb\\xda\\xa9\\x53\\x20\\x13\\x6e\\x10\\x29\\x6a\\xb4\\x81\\xf1\\x64\\xa4\\x05\\x21\\xc3\\x98\\xe1\\x0f\\x68\\x5c\\x27\\x00\\x4e\\x33\\xe0\\xc7\\x88\\x8a\\xf6\\xb3\\x98\\xa4\\xcb\\x09\\x49\\xa7\\xcb\\x78\\x05\\xff\\xe1\\x60\\x76\\xb9\\x03\\x1b\\x97\\xb7\\xc2\\x8b\\x0d\\x28\\x9e\\xbe\\x71\\x47\\x8b\\x50\\x69\\x68\\x79\\xc7\\xfe\\xa7\\xf9\\xc3\\x6a\\x26\\x7b\\x56\\xdd\\xac\\x85\\x63\\x4f\\x09\\xab\\x99\\xe2\\x8e\\xe8\\xca\\xc5\\xb9\\xa3\\x52\\x20\\xf6\\x7e\\xf4\\xa1\\xc4\\xab\\x63\\x27\\xc9\\x7e\\xd9\\x0d\\xe0\\xb5\\x3f\\x01\\x1e\\x71\\xae\\x04\\x58\\xba\\x22\\xf1\\xcb\\xec\\x0e\\xec\\x97\\xb5\\xa0\\xac\\xb7\\xf7\\xcb\\x9a\\xd5\\xdf\\x13\\xe3\\x8d\\xf9\\xd3\\x1b\\xfb\\x5e\\x78\\xfd\\x8d\\x97\\x0f\\x9c\\x3a\\xdf\\xbf\\x7e\\x4f\\xdf\\xba\\x7d\\xcc\\x5d\\xaf\\x7c\\xf0\\xe1\\xd1\\xa3\\x7f\\x78\\xf3\\xec\\xaa\\x79\\x92\\xb4\\x70\\x15\\xae\\x9f\\x86\\x77\\x1d\\x83\\x77\\xd9\\xa9\\xc2\\x98\\xc1\\xc0\\xa8\\xad\\x8c\\xd5\\xe1\\x64\\xf5\\xac\\x5e\\x2b\\xe2\\xb7\\x09\\x8d\\x11\\x8a\\xaa\\xe2\\x5b\\x62\\x14\\x98\\x3b\\x44\\x53\\xfa\\xb5\\x03\\x7d\\xe7\\x7d\\x07\\x4c\\x67\\x54\\xdd\\x2b\\x36\\x6d\\x9c\\x29\\x9e\\xb5\\xec\\x5e\\xb1\\xe3\\xd8\\x11\\xf4\\xf1\\xfa\\x79\\x9a\\x2e\\x5d\\x80\\x35\\x1b\\x96\\x68\\x66\\x3d\\xf0\\xee\\x99\\xe3\\x97\\x65\\x7b\\xfe\\x06\\x33\\x1a\\xf6\\xf9\\x2f\\x70\\x6e\\x03\\x31\\x9d\\x8e\\x12\\x78\\xf9\\x3e\\x5a\\xc3\\x10\\x49\\x1c\\x55\\xae\\x8c\\x93\\x39\\x19\\xc4\\x60\\x08\\x91\\xcd\\xdd\\x78\\x7d\\xaf\\xbc\\x27\\x66\\xf4\\xd1\\xf7\\xdf\\x3c\\x83\\x37\\x43\\xd6\\xc3\\x78\\x63\\xc6\\xc8\\xeb\\x51\\x3a\\x8e\\x97\\xef\\xa1\\x69\\xb5\\x6c\\x2b\\x36\\x59\\x0f\\x77\\xf3\\xaa\\x28\\x8f\\xca\\x78\\x43\\x27\\xf6\\xd4\\xf7\\x3f\\x7f\\xea\\xc0\\xbe\\xd7\\x98\\x31\\x92\\x34\\x6f\\xd5\\x99\\x37\\xdf\\x3f\\x8a\\x75\\x2d\\xd0\\xc8\\x1b\\x40\\x23\\x58\\xd7\\x82\\x1d\\xe0\\x31\\x09\\x6a\\xb5\\x9e\\xd8\\x01\\xfe\\x80\\x53\\xb1\\x03\\x4a\\xc0\\x0e\\x28\\xa7\\x32\\xff\\x07\\x3b\\xc0\\x91\\x22\\x0f\\x72\\x4a\\xa6\\x46\\x33\\x60\\xe3\\x4a\\x30\\x03\\x58\\xf6\\x34\\x7f\\x4c\\xc5\\xc4\\x5e\\x58\\xb6\\xe6\\x3c\\x08\\x8c\\xda\\x9e\\x5b\\x98\\x09\\x27\\xdf\\xef\\x1a\\x5b\\x2a\\x7d\\xc2\\xcc\\x19\\x51\\x93\\xd3\\x77\\xcd\\x3b\\xc7\\x11\\x5a\\x33\\x6f\\xc1\\x4a\\x42\\xbf\\x0f\\xa2\\xbf\\x30\\x6d\\xb9\\x4d\\x94\\x05\\xe8\\xd7\\xa2\\x35\\x9b\\xf5\\x3c\\x8b\\x0b\\x1c\\xf4\\x56\\x9b\\x8e\\x65\\xd5\\x02\\x07\\x32\\xe3\\x80\\x68\\x34\\x2a\\xf2\\x58\\xc4\\x29\\x24\\x0a\\xa7\\xa5\\x77\\x55\\x45\\x41\\x1c\\x62\\x8a\\x56\\x46\\xc9\\x98\\x70\\x7c\\x5d\\x64\\xe3\\xe9\\x27\\xf6\\xde\\x39\\xae\\xcd\\x9c\\x35\\x6b\\xfa\\xda\\xf3\\x3a\\xa3\\xbf\\x9c\\x46\\xaf\\xae\\x3c\\x70\\x60\\xa5\\x34\\xf3\\x6e\\xcd\\x3c\\xb9\\xae\\x00\\x98\\xff\\x13\\xe0\\x9d\\x2f\\x00\\x2f\\x25\\x31\\x3d\\x6f\\x30\\xa8\\xb5\\xc8\\xaa\\xb5\\x3a\\xec\\x82\\x0d\\x4b\\x15\\x86\\x12\\x89\\x9f\\xae\\x58\\x1e\\xe9\\xe8\\x48\\x4e\\xbe\\x23\\xce\\x98\\x23\\x14\\x51\\x2c\\x10\\x11\\x7d\\x98\\xe4\\x90\\xae\\xcf\\xcd\\x5c\\xc4\\x7e\\x21\\xf5\\x03\\xde\\x40\\x9b\\x13\\x7b\\x67\\x56\\x74\\xed\\xfd\\xdc\\xc6\\x87\\x90\\xdc\\x07\\xec\\x3b\\xd4\\xc0\\x7c\\xca\\x1e\\x05\\x5a\\x2d\\x88\\x59\\x18\\x23\\xf8\\xb6\\x66\\x01\\x94\\xba\\xd3\\x41\\xd9\\xb1\\xb4\\x51\\xc9\\x75\\xe7\\xc5\\xd1\\xe6\\x9d\\x3a\\x03\\xa5\\xe5\\x72\\x3a\\x3a\\xde\\x5e\\xea\\xb6\\xf5\\x3b\\xf4\\xe4\\xab\\xb3\\x86\\x49\\xb3\\xe8\\x36\\x93\\x2b\\xba\\x76\\xef\\xd7\\xf3\\xa1\\xd5\\x52\\x01\\xfd\\xfa\\xaa\\x2e\\xf1\\x73\\xfc\\x49\\x35\\x93\\x33\\xb7\\xef\\xdc\\x65\\x44\\xa6\\x7d\\x0c\\x32\\xed\\x0b\\x90\\x69\\xb1\\x98\\x39\\x13\\x85\\x42\\x1e\\x2d\\xd9\\xb1\\x47\\x1b\\x8e\\x64\\x09\\x5e\\x40\\xf3\\x41\\xc6\\xef\\x37\\x3b\\x8f\\x35\\xee\\x99\\x78\\x84\\x69\\xc5\\x53\\xb2\\x3c\\xbd\\x75\\xef\\xc4\\xe0\\x0d\\x29\\x2e\\x49\\x54\\x99\\x0f\\x42\\xbf\\x3a\\xa5\\xaa\\x7b\\x9a\\x54\\x0b\\x8f\\xaf\\x53\\xa4\\x1a\\xa0\\xa5\\x2f\\x46\\xcb\\x96\\xc4\\x5e\\x45\\xaa\\x0d\\xac\\xd9\\xbc\\x16\\xe1\\x9f\\x4e\\x1f\\x81\\xb6\\x03\\xac\\x5f\\xe3\\xf8\\x2f\\xc0\\xaa\\xa6\\xbc\\x87\\x68\\xb5\\x46\\xab\\xa2\\xb1\\xbe\\xc3\\x99\\x90\\x69\\x01\\x6c\\xec\\x9c\\x22\\xc5\\x29\\xa5\\x3f\\xf8\\x42\\xfa\\xe5\\xe2\\xd2\\x12\\xce\\xb2\\xed\\x3c\\xf8\\x9f\\xbf\\x4a\\xfd\\xf7\\xda\\xdb\\xe3\\x46\\x25\\x88\\xba\\x04\\xfb\\x46\\x44\\xdf\\xb7\\x8f\\x99\\xdc\\x80\\x72\\x9d\\x89\\xe5\\xfd\\xbc\\x3f\\x92\\xed\\xd6\\x59\\x80\\x3f\\x63\\x5a\\x2a\\x43\\xad\\x66\\x75\\x3e\\x41\\x08\\xb2\\x8a\\x2f\\x96\\xcc\\x6b\\xa9\\x6e\\x76\\x05\\x88\\x94\\x2b\\x40\\x20\\x76\\x7c\\x01\\x98\\x9a\\x1e\\x0c\\xc6\\xbf\\x43\\x36\\xed\\xe4\\xdb\\x3f\\x6f\\x64\\x7c\\xf9\\xd8\\x7e\\xf9\\xb1\\x96\\x95\\xd9\\xe1\\x1e\\xa5\\xe1\\x2d\\x8b\\x16\\x6d\\x09\\x97\\xf6\\x08\\x67\\x57\\xb6\\x6d\\x9d\\xdf\\x77\\x5c\\xf9\\xf8\\x08\\xbd\\xa0\\xa8\\x6d\\x45\\x74\\x4b\\xb4\\x55\\xd9\\xf0\\xb6\\x43\\x0b\\xef\\x5a\\xba\\xf4\\xae\\xc2\\x21\\xd5\\xc3\\xcb\\x5a\\xc1\\x8f\\x2a\\xe4\\x58\\x3e\\xe2\\x80\\x67\\x2f\\x70\\x0d\\x40\\x9b\\xb9\\x54\\x57\\xf0\\x91\\x79\\xb5\\xda\\xe2\\x13\\x43\\xbe\\x90\\xc6\\x0b\\x7c\\x9b\\x97\\x6f\\xf1\\x81\\xf1\\xc2\\x44\\x0c\\x27\\x89\\x05\\x5f\\x0e\\x16\\x61\\x92\\x73\\x9b\\xdf\\x96\\x54\\x29\\xa1\\xa4\\x24\\x0b\\x67\\x87\\xc0\\x16\\x05\\x16\\x56\\x26\\x1f\\x67\\x22\\xae\\xd1\\x96\\x49\\x39\\x90\\xcc\\x85\\xed\\xeb\\x67\\x0e\\xe2\\xb9\\x33\\xbb\\x76\\x6d\\xdc\\xb2\\xe9\\xae\\x19\\x89\\x44\\xe6\\xe0\\x92\\x9a\\xba\\x69\\x53\\x07\\xf4\\x6a\\x5d\\xdd\\xbd\\x0b\\x23\\xac\\x7d\\xaa\\xc3\\x1d\\x3d\\xde\\x63\\x1a\\x9e\\x7f\\x6c\\xe9\\xac\\xbd\\xd5\\xb6\\x87\\x3f\\x72\\x86\\x86\\xd5\\xf6\\x1f\\xb6\\xda\\x54\\xdb\\x39\\xda\\x79\\xc8\\x54\\x42\\xe7\\x5f\\xc3\\x1e\\xbe\\x80\\x73\\x34\\x91\\xdb\\x08\\x13\\x4e\\x6e\\x35\\x8b\\x9c\\xe1\\x38\\x80\\x8b\\xe3\\x1c\\x25\\x58\\x1e\\x37\\x46\\x6f\\x71\\x62\\x2d\\x4e\\x13\\x6c\\x47\\x5b\\xa2\\x88\\x07\\x67\\xa3\\xf2\\xeb\\x37\\x1f\\xd2\\xb8\\x68\\xc6\\x60\\xdc\\x78\\x41\\xba\\x11\\xb3\\xbe\\xe1\\x2a\\x00\\xda\\x69\\xeb\\x9b\\xe9\\x77\\xb4\\xaf\\x42\\x5f\\x26\\xf2\\x5f\\x7a\\x76\\xe7\\x1a\\xac\\x67\\x7e\\x05\\x79\\xf9\\x3e\\xe0\\x4a\\x8d\\xa7\\xd9\\xc6\\x1c\\x9c\\x43\\xab\\x75\\x3a\\x6d\\x1e\\xca\\x68\\x33\\x7a\\x33\\x18\\x87\\xc3\\xec\\xd2\\x68\\xb5\\xae\\xe3\\x80\\x29\\x15\\xe8\\x43\\x45\\xe9\\x28\\x46\\x71\\x93\\x3c\\x69\\x39\\x3d\\x2b\\x5b\\x91\\x67\\xd9\\x8e\\x54\\x7c\\xcd\\x14\\xce\\x2e\\x0f\\xd8\\x18\\x7d\\xfb\\x2e\\xe7\\xfa\\xf6\\x7a\\x69\\xd0\\xe8\\x4f\\x7a\\x0f\\xbc\\xb0\\xf3\\xa5\\x13\\xa8\\xcd\\x07\\x74\\x47\\x26\\xd6\\x7b\\x6d\\xf7\\x9e\\x9f\\x8e\\x9d\\xc6\\x58\\xb9\\xb7\\x7b\\xec\\x9b\\xf3\\xf4\\xab\\xc7\\x77\\x20\\xc3\\xd4\\x4f\\xc7\\xad\\xc4\\xb0\\xed\\xa6\\x4e\\xb0\\x41\\xa0\\x3f\\x17\\x58\\x72\\xb1\\x98\\x68\\xf2\\xb1\\xac\\x45\\xcf\\x71\\x6a\\x37\\x40\\x1b\\x08\\x7a\\x1d\\xd8\\x96\\x00\\x3f\\xe7\\x90\\xcf\\x62\\xe1\\x18\\x5e\\x26\\xc0\\xcb\\x98\\xf3\\xaa\\x9b\\xb0\\xbf\\x02\\x9c\\x15\\xcf\\x80\\x13\\xe5\\x3c\\x2b\\x07\\x89\\x63\\x38\\xe4\\x83\\xc4\\x62\\xd8\\x26\\x56\\xb0\\xc1\\x53\\xfb\\xb7\\xef\\x3d\\xbc\\xfe\\x29\\x63\\x75\\xe7\\xc1\\xb5\\xb3\\x17\\x2f\\x79\\xf2\\xf8\\x88\\xbe\\x87\\x98\\xd9\\x67\\xdf\\x53\\x4b\\x9f\\xa3\\x0c\\xf5\\xc5\\x13\\x2f\\x9f\\xf5\\x2e\\x32\\xad\\x9d\\xb6\\x7c\\x19\\x87\\xe6\\xae\\x79\\xe8\\xad\\x97\\x11\\xf5\\x8c\\xb4\\x4a\\x23\\xeb\\xb1\\xbf\\xc0\\x79\\x7d\\x07\\x7a\\xc2\\x43\\xb5\\x04\\x5e\\x51\\x59\\x2c\\x66\\x41\\x6d\\x56\\x7b\\x33\\xf4\\x2c\\xaf\\x01\\xa3\\xa7\\x1c\\x5c\\xb1\\x92\\xfd\\x2e\\x47\\xca\\xc1\\x48\\x4f\\xba\\x4c\\xca\\x86\\x52\\x38\\x41\\x5c\\xb7\\x82\\x42\\x4c\\x31\\x2e\\x38\\x0f\\xa1\\x22\\x9a\\xf8\\x19\\x68\\x46\\xf5\\x80\\x71\\x9a\\x9c\\xf1\\x6f\\x36\\x20\\xd7\\x5b\\x2b\\x5c\\x4e\\x36\\x24\\xae\\x79\\x0b\\x45\\x67\\xe5\\x45\\x5c\\x5e\\x8f\\xa7\\x15\\x7b\\xa3\\xf7\\xa7\\x79\\x23\\xbf\\x94\\xdc\\x89\\x33\\xa8\\x45\\x87\\x8e\\xc6\\xc1\\x21\\xe9\\x0a\\xdd\\xed\\xa7\\xce\\x3e\\xed\\x4a\\x3b\\xd5\\xd0\\x40\\x0b\\x0d\\xf7\\xd0\\xe7\\x98\\xb5\\x26\\x81\\x89\\xd0\\x63\\x13\\xeb\\x48\\x9f\\x9b\\x8d\\x0d\\xf7\\x30\\xed\\xe9\\xa5\\xf0\\xb3\\x42\\x7a\\x82\\xf2\\x33\\x7b\\xc3\\x04\\xe6\\x08\\x3d\\xdd\\x24\\x70\\x73\\x28\\x4a\\xfe\\x19\\xf5\\x35\\x3c\\x77\\x95\\xfc\\x6c\\x9e\\xfc\\x33\\xcc\\x5f\\x52\\x2d\\x73\\x81\\x79\\x98\\xf0\\x57\\x2c\\x66\\xf3\\x52\\x0a\\x77\\x51\\x98\\xd3\\x34\\x94\\x26\\x3f\\x0f\\xf3\\x56\\x47\\xe0\\xad\\xf6\\x84\\xb7\\xaa\\x65\\xde\\x4a\\xd3\\x02\\xe6\\xc6\\x08\\x67\\xf8\\xff\\x15\\x5f\\x6d\\xf9\\xbf\\xd9\\x0a\\xef\\x47\\xea\\xc9\\x7c\\x41\\xf6\\xb3\\x30\\xb9\\x1f\\xea\\x27\\x69\\x32\\x73\\x85\\x9e\\x0f\\x67\\x17\\x01\\x6d\\x26\\x7a\\xf5\\x14\\x1f\\x0c\\xda\\x29\\x7b\\x4e\\x36\\x13\\x0e\\x1b\\x7c\\xae\\x63\\xe8\\x0e\\xca\\x80\\x62\\xb7\\x09\\xd0\\x36\\xaa\\xf6\\x4c\\x1a\\x3b\\x5e\\x21\\x52\\x0b\\x9a\\x94\\x6e\\xe9\\x7e\\xfe\\x95\\x57\\x9e\\xee\\x36\\x3b\\x53\\xdd\\x6e\\xce\\xd2\\x39\\x33\\x84\\x5d\\x99\\x5d\\xa2\\x1b\\x0e\\xd4\\x9f\\x7d\\xf1\\xd0\\xc9\\x0b\\x75\\xfd\\xfb\\xc5\\xfb\\xd6\\xed\\x45\\xaa\\x17\\x2e\\x95\\xe5\\xd5\\xf6\\x0e\\x0e\\x98\\x60\\x31\\xf2\\xe3\\xaf\\xfd\\x70\\xfe\\xca\\xc9\\xc3\\x73\\x66\\x4c\\x5a\\x34\\x7b\\x21\\x81\\x7b\\xb7\\xd4\\x8b\\x0d\\xd2\\xf7\\x02\\xdc\\x8b\\x01\\xee\\x87\\xc9\\xcf\\xfe\\x02\\x7b\\xf9\\x8e\\x5e\\x06\\x3f\\x5b\\x92\\xda\\x4b\\xbe\\x52\\x37\\xe2\\x87\\xbd\\xf4\\x8d\\x15\\xa8\\x45\\x83\\x81\\xcf\\xca\\xb4\\xf3\\xf6\\xec\\x1c\\x4b\\xa0\\x36\\x6e\\x31\\x85\\x1c\\x75\\xf1\\x8c\\x50\\x46\\x88\\x32\\x0a\\x46\\x5a\\xc7\\xea\\xea\\xf1\\x40\\x78\\x77\\xf3\\x81\\xf0\\xd1\\x5b\\x7a\\x5e\\x27\\xa9\\x94\\x8c\\x83\\xf7\\x93\\x26\\xa8\\x76\\xd2\\x0c\\xd5\\x56\\x11\\xf5\\x2b\\x73\\x16\\x09\\x63\\x31\\x41\\xec\\xa1\\x33\\xb3\\x5f\\xac\\xef\\xf2\\xba\\x74\\xea\\xed\\x56\\xad\\x96\\x1e\\xaf\\x59\\x86\\xaa\\xa5\\x9c\\x64\\x36\\xe6\\xf4\\xfb\\x78\\xa4\\x52\\xb5\\xb4\\x3e\\xf3\\x0c\\x7a\\x8a\\x7e\\x39\\xb1\\xed\\xb1\\xe5\\x28\\x83\\x1e\\xd6\\x73\\x78\\xe2\\x6c\\xbe\\x92\\x85\\xc9\\xec\\x90\\xd6\\x4e\\x23\\xb2\\xbc\\xe1\\x08\\xec\\x67\\x12\\xf7\\x16\\x55\\x44\\xb5\\xa6\\xee\\x8c\\x15\\xdb\\x2a\\x2a\\xb2\\x8a\\x33\\xbc\\xa6\\xfc\\x7c\\xbd\\x8a\\x06\\x85\\xdc\\xb6\\x4d\\x5e\\x34\\x3b\\x5a\\x1b\\xcf\\xb6\\x67\\x54\\x05\\xaa\\x6a\\xe3\\x2e\\x95\\xde\\xaa\\x82\\x8f\\x21\\x00\\xce\\x3c\\x49\\x49\\x48\\xce\\x13\\x10\\xa3\\xb7\\x14\\x61\\xc9\\x51\\xb5\\xa4\\x1d\\x14\\x05\\xb5\\x9c\\x0d\\x4e\\x45\\xa8\\x1d\\x1d\\x75\\x80\\xc4\\x02\\x9b\\xbe\\x32\\x6a\\xa0\\xf3\\x51\\xb6\\x4d\\x88\\xca\\xd3\\x24\\xad\\xb4\\x1c\\xcd\\xe1\\x05\\x8b\\x35\\x45\\xa0\\x41\\x7e\\x8d\\x4a\\x1d\\xce\\xd5\\x2c\\x50\\xe5\\xf7\\xed\\x68\\x46\\x2e\\x5d\\x41\\x96\\x7a\\x1e\\x57\\xd0\\xb7\\x93\\x46\\x4b\\xd3\\xb9\\xcf\\x4d\\x39\\x76\\xe1\\xca\\xa1\\xbb\\x9e\\x2c\\x64\\x75\\x8c\\xbe\\x7c\\x44\\xf5\\xf0\\xf1\\xe3\\x46\\x8f\\x9c\\xb6\\x6a\\x34\\xf3\\x1b\\x2a\\x8e\\x8d\\x1d\\xd7\\x1a\\xf5\\x3c\\x8a\\x5a\\x95\\x8d\\x1c\\xdf\\x16\\xb5\\xdc\\x3f\\x78\\xb4\\xf4\\x67\\xe9\\x7a\\x83\\xf4\\xce\\xa8\\x11\\x05\\x73\\xf4\\x74\\xe8\\x9e\\x1d\\xf1\\xa3\\x47\\x8f\\x9c\\x3c\\x83\\xcf\\x75\\x44\\xc3\\x37\\x9c\\x03\\xf0\\x50\\x42\\xb5\\xa5\\x86\\xc6\\x8a\\x5d\\x95\\x95\\x9a\\x16\\x3e\\xb3\\xc8\\x30\\x45\\xd9\\xc1\\x12\\x4d\\x49\\xbb\\xea\\x7c\\x57\\x46\\xc4\\x05\\x1f\\xbd\\x9f\\x32\\x95\\xe9\\xcb\\x6a\\xe3\\x7a\\x13\\xd3\\x4a\\x68\\x55\\x1b\\x17\\x9a\\xa6\\x66\\xa4\\x8d\\x58\\x10\\x6f\\x8f\\x88\\x00\\x0e\\x0b\\x35\\x69\\x0c\\x9e\\x5d\\x5e\\x8c\\x14\\xcc\\xf8\\x10\\xa0\\x26\\x9a\\x42\\x0d\\x98\\x31\\x28\\xbd\\x43\\x38\\xd3\\x82\\x57\\xb3\\xe5\\x4f\\x4e\\x38\\xf0\\xf6\\x3b\\x27\\x27\\x6e\\xcd\\xa3\\x69\\x94\\x86\\x1a\\xe4\\xd2\\xa6\\x70\\xa3\\x51\\x49\\x57\\xa7\\x8e\\x1a\\x3d\\x6e\\xfc\\xf0\\x76\\x23\\xcb\\x6d\\x8b\\x32\\x26\\xc6\\x51\\x01\\x49\\x2f\\xcd\\x19\\x31\\x74\\xff\\x4e\\xa4\\x20\\x07\\xf5\\x7a\\x45\\x46\\xce\\xcd\\xe9\\xa3\\x57\\xd1\\xc1\\x17\\x4f\\x1f\\x3f\\x72\\xf4\\x48\\x7c\\x07\\xee\\xf3\\x0c\\x4e\\xeb\\x48\\xee\\x1a\\xd0\\x45\\x3c\\x56\\x58\\x20\\x20\\xa3\\xd1\\x97\\xe1\\xb1\\x9b\\xc2\\x45\\x26\\xa6\\xb8\\x44\\x74\\xbb\\x79\\xa4\\xd3\\xd9\\x79\\xde\\x67\\x0a\\xe5\\xd4\\xc6\\x43\\x88\\xf2\\xfa\\xbc\\xb5\\xf1\\x02\\x9f\\xd1\\x44\\x52\\x67\\x9a\\x74\\x88\\x7d\\x3d\\x79\\x57\\xa4\\x24\\xbf\\x45\\x53\\x56\\xbb\\x18\\x6d\\x24\\x02\\x3c\\xe5\\x2e\\x45\\x1e\\xe4\\x92\\x9c\\x44\\x02\\x6c\\x72\\x25\\x54\\xc0\\x46\\xaf\\x45\\x69\\x27\\x8f\\xa4\\x7f\\x34\\x6e\\xbc\\x01\\xe0\\xfd\\xf8\\xd2\\x53\\xcf\\x3f\\xba\\x64\\xe4\\x9d\\xe8\\x38\\xb3\\x40\\xba\\x47\\x39\\x72\\x69\\x07\\x3a\\x9f\\xdc\\xa9\\xf7\\x54\\x9f\\x3d\\x2f\\x7b\\x8f\\x5a\\xea\\xc6\\x54\\x9d\\xa2\\x98\\x86\\x0b\\x14\\xc5\\x71\\xc0\\xc7\\x05\\x54\\x39\\xd5\\x8e\\x9a\\x16\\x6b\\x55\\x94\\x9b\\x9b\\x15\\xc8\\x29\\x2c\\x28\\x68\\x49\\x55\\x98\\xc9\\x04\\x3f\\x8e\\xa3\\x72\\x98\\x58\\x75\\x69\\x9b\\xec\\xbc\\xba\\x40\\x51\\x86\\xdd\\xc4\\xf0\\xb5\\xba\\x0a\\x97\\x59\\x67\\x54\\x87\\x74\\xba\\x90\\x9a\\xe1\\x8c\\xc6\\x5c\\x8a\\x94\\xcc\\x45\\xab\\x95\\x0a\\x30\\x9c\\x4a\\x60\\xfa\\xb6\\x14\\xa7\\xbb\\x7f\\x5b\\x5a\\x9c\\xb6\\xe5\\x46\\x8f\\x20\\x59\\xbf\\x16\\xc9\\x06\\x75\\x09\\xfb\\xc5\\x91\\x25\\xf0\\x59\\x1c\\x8a\\x4b\\xab\\xf8\\xe0\\x19\\x08\\x23\\x86\\xdc\\x16\\x67\\xbb\\x90\\x43\\x11\\xd1\\x61\\xbb\\xf2\\x5f\\xe8\\x87\\x05\\xdd\\xbe\\xb4\\xa0\\x29\\x9d\\xdb\\xf2\\xef\\xf1\\x74\\x70\\x7c\\xaf\\x81\\x03\\x2c\\x74\\xce\\x94\\x7e\\xb3\\xc7\\x5a\\xe8\\xc9\\x5c\\xc7\\x56\\x5f\\xbc\\xf1\\x46\\xb8\\x34\\xda\\x5a\\x8a\\x0f\\xbe\\x2b\\x5c\\x9a\\xd7\\x0a\\x5d\\xb2\\xab\\x25\\x3b\\xfa\\xd0\\x5b\\x32\\x79\\x9d\\xed\\x95\\x93\\x79\\x8b\\x4b\\xc6\\xde\\x39\\x7c\\xf4\\x84\\x41\\x2f\\xbe\\xf7\\x5c\\x66\\xf4\\xee\\x87\\xac\\xd2\\x46\\x34\\x2f\\x22\\x0d\\xa7\\x6b\\xb3\\xc7\\x6f\\x98\\xbd\\x6d\\x5b\\x3b\\x8d\\xd9\\xb1\\x61\\xf6\\x2a\\x2c\\x1f\\x4e\\x00\\x9e\\x7c\\x6c\\x6f\\xb0\\x51\\x8b\\xa9\\xf1\\xb1\\xca\\x08\\x9c\\xb9\\xd9\\xa8\\x13\\x72\\x29\\x2a\\x98\\x19\\x16\\xc2\\x25\\x2d\\xec\\x85\\xf5\\x6e\\x53\\x56\\x5d\\x26\\xaa\\xcb\\xe5\\xea\\x22\\xaa\\x3a\\x63\\x6e\\x66\\x24\\x60\\xd4\\x65\\x06\\x8c\\xc6\\x40\\xa6\\x8e\\x15\\x70\\x4e\\x20\\xc9\\xdb\\x52\\xe6\\x4c\\x63\\xd3\\xa6\\xca\\xf4\\xad\\xfc\\xa9\\xfe\\xb6\\x34\\xc5\\x22\\x62\\x92\\x47\\x14\\xec\\x00\\x7e\\x02\\x62\\x30\\x85\\xa0\\x00\\x18\\x3c\\x49\\xd4\\xb4\\x43\\x95\\x51\\x93\\x20\\x82\\x65\\xab\\xa0\\x83\\x69\\x39\\xf4\\xee\\x07\\x5a\\x4b\\x5f\\xf9\\xcb\\xe9\\x05\\x77\\x8f\\x55\\x21\\x1d\\xce\\xda\\xdc\\x3e\\x67\\xf7\\xde\\xcc\\x28\\xbd\\xe0\\x9d\\xc4\\xe0\\x11\\xe7\\xc6\\x0e\\x1e\\x32\\x68\\x2a\\x1a\\x68\\xc8\\x8b\\x9a\\xa4\\x42\\xf4\\x73\\x59\\xeb\\xc5\\xeb\\xd5\\xcf\\x3d\\x70\\x97\\xe5\\x39\\xdf\\xfc\\x69\\xef\\xbe\\x7b\\x00\\x95\\x57\\x49\\x37\\xed\\xd2\\xcb\\xf4\\x22\\x6f\\x07\\x73\\xdd\\xa3\\xf7\\xad\\x26\\xb2\\x51\\x1a\\xc0\\x4e\\x82\\xbd\\x17\\x51\\x6d\\xa8\\xb1\\xb1\\x68\\xb1\\xc5\\xcc\\xf8\\x7c\\x45\\xf9\\x11\\xbf\\xb3\\xa2\\x42\\xe3\\xd7\\xb4\\x6d\\x67\\xc9\\xcc\\x8c\\x04\\xf3\\xf2\\x1c\\x11\\xf8\\xe8\\xfd\\x1e\\x53\\x54\\x0f\\xa2\\x52\\x6f\\x67\\xaa\\x04\\x10\\x95\\x82\\x09\\x67\\xe7\\xfe\\x8e\\x5c\\x68\\x76\\x1b\\xa8\\xc8\\x07\\x60\\x89\\xe4\\x2e\\xe5\\xd4\\x7b\\xec\\xd2\\xa6\\x0b\\xca\\x40\\x79\\x23\\x8b\\x94\\x65\\xa3\\x34\\x21\\x69\\x40\\xe8\\x09\\x56\\xcb\\x96\\x6c\\x9b\\x78\\xf0\\xb2\\x22\\x1a\\xd2\\xd8\\x45\\xfa\\xaa\\x91\\x5b\\x54\\x28\\xa3\\x6c\\x58\\x6c\\xcc\\x58\\x22\\x19\\xd8\\x56\\xc6\\xb9\\x39\\xc3\\xc6\\x4a\\xef\\x4b\\x92\\xf4\\x93\\x74\\x05\\x64\\xc3\\x11\\x85\\x77\\xea\\x4e\\x29\\x9c\\xc3\\x3c\\x3d\\x7a\\x55\\xe2\\xd3\\x39\\xdb\\xfa\\x9d\\x3a\\x7c\\xf4\\x28\\x91\\x0d\\x38\\x47\\xba\\x8a\\xe4\\x2c\\xf6\\x88\\xe5\\x86\\x35\\x9c\\xd9\\x1c\\xcc\\x74\\x59\\x2c\\x54\\x41\\x61\\x2e\\x5d\\x1f\\xcf\\x35\\x19\\xb8\\xba\\x78\\xa6\\xb5\\x2e\\xee\\x32\\x80\\xfb\\x92\\x61\\x70\\xb1\\x96\\xa0\\xd1\\x82\\xe5\\x82\\x42\\x02\\xf9\\x4d\\xf4\\x5e\\x4a\\x1a\\x90\\x40\\x65\\xf4\\xf6\\x02\\x81\\x64\\xc0\\x2a\\xbc\\xe1\\x60\\xab\\xa6\\x8e\\x5e\\x7b\\xc0\\xa4\\xf9\\x1d\\x71\\xe0\\x71\\x21\\x63\\x96\\x86\\x2d\\xdd\\xbd\\xea\\xae\\xb1\\x4c\\xad\\xe5\\x8d\\x17\\x6e\\x11\\x06\\x77\\xf6\\x7c\\x7b\\xd4\\xb2\\x91\\xab\\xa6\\x8a\\xb2\\x6d\\xe9\\x21\\x39\\xdf\\x35\\x54\\x90\\xea\\x1c\\x8b\\xf8\\xdc\\x0c\\x63\\xd4\\xb0\\xac\\x35\\x94\\x45\\x79\\xea\\xe2\\x06\\xbe\\x2e\\xae\\xa1\\x0c\\x99\\x99\\x06\\x0a\\x7e\\x68\\x36\\x3b\\xea\\xe3\\x66\\x53\\x32\\xb7\\x51\\xa9\\x33\\x6b\\xcc\\x42\\x4e\\x0d\\xaa\\xcd\\x4e\\x07\\xde\\x4c\\x05\\x4a\\x1d\\x02\\xce\\xf1\\x4f\\x9e\\x25\\x1d\\x69\\x7a\\x26\\x02\\xf2\\xa2\\xc8\\x63\\xc3\\x50\\xbf\\xb5\\xd2\\xb1\\xe4\\xb1\\x21\\x00\\xf9\\x55\\xf4\\x42\\x52\\x7e\\xb1\\x88\\x77\\xfd\\xc3\\x21\\x9d\\xef\\x23\\x9f\\x0f\\x86\\xbb\\x04\\x74\\xf7\\xc3\\x40\\x9f\\x15\\x54\\x6d\\x2c\\x2f\\xcf\\xc9\\x67\\x84\\xca\\xcb\\xf5\\xfa\\x28\\x45\\x79\\x32\\x98\\xca\\x96\\x7a\\xa6\\xd4\\x53\\x62\\x71\\x72\\x42\\x5e\\x96\\x5f\\xc8\\x12\\xb2\\x98\\xec\\x5a\\xbf\\x49\\x53\\x8b\\xd3\\x5e\\x81\\xef\\x64\\x52\\x04\\x5e\\xc4\\x43\\x54\\xc4\\x26\\xf3\\x74\\x64\\xab\\x8b\\x0d\\xa5\\x67\\xe8\\x82\\x47\\x99\\x0d\\x34\\x46\\x98\\x31\\xd2\\x3c\\x0a\\x8e\\xbb\\x02\\x94\\x56\\x46\\xad\\x82\\x9d\\xad\\x95\\x1a\\xae\\x7e\\xf6\\x6d\\xf6\\x4f\\xb6\\x71\\x4b\\x66\\xdd\\x3d\\x68\\xcc\\xc6\\x1d\\x55\\xa1\\x3c\\x9b\\xb0\\xbc\\x75\\x37\\xd3\\x77\\x1f\\x9f\\xfd\\x67\\xc6\\x2f\\xba\\xa1\\x63\\x47\\x8f\\xee\\x7e\\xe7\\x9a\\x83\\x55\\x1d\\xd9\\xe5\\x03\\x1d\\xa8\\xcd\\x93\\x07\\xd6\\x3e\\x12\\xee\\x15\\x6b\\xdd\\xbe\\xac\\xad\\x2d\\xa3\\x2c\\x68\\xc9\\x6e\\x35\\x74\\x89\\xbb\\xa0\\xcd\\xe3\\x2f\\x3d\\xba\\xce\\xdd\\xa1\\x7d\\xb4\\x4d\\x51\\xa5\\x35\\xb3\\x45\\x68\\xf2\\x4b\\x77\\x54\\xc8\\x67\\x35\\xa1\\xe1\\x3a\\xab\\xe5\\xfa\\x82\\x9e\\x1e\\x16\\x8b\\xda\\xc4\\x60\\xd0\\x63\\xc9\\x31\\xe8\\x34\\x5c\\x49\\x4e\\x49\\x69\\x0b\\x1f\\xd8\\x5e\\x6a\\xaa\\x2e\\xce\\xf9\\xd4\\x6e\\xb7\\xda\\xc7\\xb1\\x05\\xfa\\x82\\x08\\xa8\\x25\\xbb\\x55\\xa7\\xd7\\xd5\\xc6\\x45\\xa3\\xde\\x88\\x4b\\x7d\\x1a\\xb5\\xd3\\xad\\xe7\\x87\\x0d\\x33\\xe5\\x10\\x53\\xe7\\x67\\x09\\x95\\x47\\x95\\xd1\\x48\\x3e\\x94\\xa4\\xcf\\x62\\x99\\xfb\\x2a\\x6d\\x06\\xd9\\x22\\x45\\x9d\\x55\\x8d\\x9a\\x78\\xe7\\xa1\\x81\\x7b\\xd1\\x52\\x69\\x71\\x3a\\x0f\\xd2\\xc1\\x1e\\xed\\x17\\x2c\\x5f\\x37\\x3b\\xb6\\x7a\\x67\\xef\\x74\\xb5\\x84\\xdc\\xd2\\xdf\\x4f\\x49\\x73\\x91\\xc2\\x77\\xa8\\x7b\\xb5\\xdf\\x73\\xcc\\xa1\\xae\\x59\\xb7\\x14\\xef\\x77\\x9e\\x9c\\x8f\\x4d\\x85\\xa8\\x49\\x31\\x8f\\xc5\\x6a\\x0c\\xd0\\x26\\x5e\\xe5\\x0e\\x06\\xa9\\xb0\\x2a\\xcb\\x62\\x12\\x4d\\x7d\\xe2\\xf6\\xcc\\xba\\xb8\\xd5\\x7f\\x14\\xe9\\xf7\\xc7\\x0d\\x34\\xfc\\x11\\xcb\\x88\\xeb\\xd8\\xba\\xb8\\xca\\x6e\\x35\\xb8\\x74\\x3a\\x97\\xc1\\x6a\\x57\\xf1\\x94\\x68\\x44\\x01\\x2a\\xd0\\x27\\x35\\xf8\\xdb\\x99\\xe4\\x45\\x79\\xee\\xbf\\x32\\xf7\\xdc\\xac\\x5c\\x26\\x80\\xb1\\x56\\x2e\\xb3\\x23\\xde\\x7f\\xa9\\x83\\x24\\x67\\x23\\xbb\\xc2\\x9b\\xb8\\x87\\x6d\\xc0\\xf6\\x00\\x12\\x0a\\x1c\\xc9\\x1d\\x57\\xcf\\x7f\\x23\\xf1\\x1d\\x53\\x27\\x25\\xda\\x04\\x93\\x1b\\xee\\xb2\\xf6\\x3c\\x7d\\xd7\\x79\\xd4\\x5a\\x43\\x36\\x1a\\xf8\\xe7\\xa5\\x8b\\xd2\\x5b\\x26\\xb2\\xc5\\x9c\\x7f\\x5d\\x96\\x63\\xb0\\x33\\xa4\\x3a\\xb6\\x8e\\xcc\\x92\\x28\\xc4\\x59\\xdb\\x39\\x8c\\x18\\x04\\xe7\\x38\\xd3\\x2b\\x7a\\x8b\\x8b\\xbc\\x1e\\x47\\xd8\\x1a\\xae\\x8d\\x5b\\xbd\\xda\\x7c\\x43\\x7e\\x6d\\x9c\\x65\\x29\\x03\\x25\\xd4\\xc5\\x29\\xb9\\x86\\xa6\\x58\\xe9\\x53\\xe1\\x6c\\x52\\xfe\\x90\\x54\\xb3\\xe4\\x32\\xc9\\xc1\\xc9\\xf4\\x49\\xee\\x04\\x53\\xe2\\x14\\x6c\\xcb\\x00\\x8e\\x25\\x67\\x59\\xd2\\xea\\x99\\xe8\\x31\\xc7\\xae\\x79\\xa4\\xaf\\x8c\\x43\\xdb\\x8f\\xb9\\x8b\\xa6\\xef\\xfc\\xe7\\x81\\x73\\x6f\\x9f\\x19\\xbf\\xb5\\x80\\x53\\x73\\xd2\\x8f\\x3c\\xd5\\x60\\x9f\\x3a\\x62\\xf4\\xf8\\x49\\xc3\\xc6\\xde\\xcd\\xd6\\x3c\\x76\\x7f\\xa0\\x7d\\xcf\\x87\\x1f\\xdc\\x73\\x5e\\xfa\\x5a\\x4a\\x48\\xbf\\x4a\\x9f\\x8f\\x18\\x1a\\xba\\xc7\\x32\\x69\\x1d\\xe3\\xbb\\xfa\\xfd\\xcd\\xe0\\xb3\\xc7\\x0e\\xbd\\xbc\\x67\\xd7\\x09\\x1c\\xbf\\x73\\xa2\\x3f\\x31\\x87\\xd8\\x63\\x94\\x16\\xdf\\x20\\xe2\\x5c\\x39\\x9c\\x33\\x47\\x52\\xc5\\xc8\\x19\\x19\\xe2\\x3e\\xa1\\x58\\xa8\\x16\\x18\\x41\\x50\\xf3\\xb8\\x2d\\x36\\x18\\x0b\\x78\\x58\\xf2\\x7f\\xc9\\x9a\\xa3\\x6f\\x4a\\x1f\\x1c\\x3d\\x8a\\x0a\\x5e\\x41\\x7f\\x42\\x51\\xe9\\x32\\xfd\\xb9\\xf4\\x25\\xf2\\x24\\x7c\\x80\\xc7\\xae\\xa0\\xa7\\x56\\x02\\x8d\\x78\\xa9\\x1c\\x8c\\xc7\\x90\\xc0\\xeb\\xf5\\x0c\\x45\\xb9\\x33\\x34\\x66\\xb7\\x39\\x37\\xcf\\x64\\xa7\\x28\\x3f\\x60\\x8e\\xb2\\xab\\xec\\xc0\\x0d\\x76\\x8f\\x4a\\xe8\\x13\\x57\\x19\\x9b\\x77\\x1f\\xa1\\x9a\\x97\\x84\\x91\\x4b\\x64\\xec\\x6b\\x55\\x93\\x22\\x54\\x0e\\x77\\xd2\\xb6\\x9b\\x6d\\x56\\x85\\xe0\\xcb\\xcc\\x28\\xbd\\xbb\\xb2\\xde\\x97\\x51\\xfe\\xc7\\xc4\\x05\\x66\\xa5\\xf4\\x73\\xa0\\xc5\\x13\\x87\\x57\\xfe\\xb2\\x7d\\xfb\\xcf\\xcb\\x6f\\xd0\\x6d\\xee\\x5f\\xb5\\xea\\xfe\\x35\\x2b\\xee\\x5d\\x4b\\x77\\x51\\x17\\x58\\x0b\\x42\\x0f\\x5d\\x7a\\xed\\xb0\\x23\\x23\\x60\\xed\\x28\\x7d\\xbf\\x7d\\xcb\\xf7\\xcb\\x56\\x7c\\xbb\\xe5\\x04\\xf8\\xbb\\xed\\x9e\\x7c\\xf6\\xb9\\x27\\x9e\\xde\\xf5\\xbc\\xd2\\x6f\\xae\\xe1\\x4d\\x76\\x37\\xf7\\x2b\\x55\\x46\\xcd\\x8e\\xc5\\x4a\\x55\\x2a\\xa1\\xac\\xc4\\x68\\x2c\\x34\\xe5\\x39\\x9d\\xde\\x70\\xc0\\xec\\xcb\\x29\\x28\\x08\\x85\\x32\\x7d\\x5e\\x93\\xc0\\x57\\x94\\x97\\x44\\x22\\x59\\x2d\\x8a\\xa8\\xfc\\x50\\x2d\\x55\\x56\\x26\\x16\\x78\\x59\\x55\\x4e\\x96\\x31\\xd3\\x5a\\xeb\\xb6\\x99\\x54\\x36\\x6d\\x2d\\x2e\\xb9\\xfa\\x16\\x8c\\x8f\\x6f\\x5f\\x97\\xd3\\xf1\\xc0\\x2a\\xab\\x3e\\x07\\xb4\\x93\\x5e\\x13\\x9c\\x92\\x7b\\x8d\\x21\\xdb\\xd4\\x35\\x88\\x49\\xb9\\x73\\x60\\x08\\xf1\\xdb\\x48\\xff\\xe6\\x50\\x65\\x24\\x3d\\xa2\\x8b\\x33\\xc2\\x2c\\x51\\x24\\xd0\\xa7\\x73\\xa6\\xf5\\x9d\\xbf\\xfc\\xc2\\xfd\\x5d\\x7b\\x5f\\x38\\xa2\\xef\\x6a\\x71\\x98\\x7b\\xf6\\xef\\x5a\\x98\\x3f\\x73\\x9c\\x76\\xc4\\xc4\\xea\\x85\\xab\\x57\\x1f\\xbb\\xb0\\x6f\\x96\\xf4\\x47\\x96\\x19\\x39\\x7f\\xda\\x87\\x97\\x12\\xf5\\xf4\\x50\\x94\\xf1\\xc2\\xda\\xc4\\x49\\x7a\\xac\\xf4\\xd2\\x28\\x15\\xbf\\x27\\x58\\x58\\x77\\xb6\\xb2\\x0d\\xbd\\xe8\\x94\\x24\\x9d\\x92\\xc6\\xa3\\x81\\xf4\\x83\\x70\\xbe\\xdd\\x12\\x7f\\x99\\x25\\xc7\\x83\\x87\\x53\\x14\\x73\\x37\\xa9\\xc7\\xc6\\xb5\\xbd\\x48\\x0d\\x54\\xa3\\x52\\xe9\\xf4\\x82\\x96\\xd2\\xf6\\x89\\x03\\x01\\xd1\\x6a\\x1b\\x2e\\x11\\xaf\\x4e\\xcf\\x59\\x6f\\xd4\\x47\\x84\\x82\\x6c\\x58\\xa3\\x86\\xd0\\xf0\\xb9\\xc8\\x35\\x7f\\xbe\\xf4\\xd5\\x5c\\x7a\\x3d\\x7a\\x5e\\x1a\\x78\\x49\\xaa\\x42\\xe7\\x89\\xef\\x9e\\x7c\\x87\\x99\\xe7\\x1e\\x93\\x6b\\x2a\\x81\\xae\\x8e\\x81\\x7e\\xc9\\x04\\x47\\x30\\x9f\\x1a\\x13\\x2b\\xd3\\xe8\\xf5\\xba\\xdc\\x40\\x4e\\xd0\\xc6\\xd8\\xed\\x99\\x1e\\x97\\xc3\\x11\\xd0\\x31\\x85\\x05\\x99\\xc6\\xa0\\xde\\xe5\\x76\\xf5\\x89\\xe7\\x68\\xdc\\x0e\\x8f\\xc5\\x67\\xf2\\xd5\\xc6\\x4d\\x76\\x06\\xac\\x43\\x62\\x04\\x35\\xb1\\x80\\x8a\\x95\\x1e\\x00\\xa9\\xae\\x73\\xe9\\xae\\x91\\x98\\x6e\\x00\\x81\\xb2\\xb7\\xc9\\x81\\x5b\\x1c\\xd6\\x27\\xa9\\xc9\\x60\\x05\\xe2\\x81\\x9b\\xa9\\x11\\x96\\x49\\x8b\\x67\\xfb\\x05\\x73\\x9f\\x3e\\xd6\\x4b\\xcf\\x13\\xab\\x47\\xfa\\x6a\\xc9\\x12\\x15\\xfa\\xfe\\x05\\x8f\\x34\\xc9\\x38\\x61\\x40\\xcd\\x54\\x11\\x6d\\x30\\x8c\\x51\\xcc\\x9c\\x9f\\x3f\\xb8\\xf4\\x97\\xef\\xc0\\xc6\\x91\\x86\\x32\\x23\\x2e\\x5d\\x1a\\xbd\\xea\\xe6\\x34\\xa4\\x5f\\xbc\\x8e\\xfe\\x62\\xcd\\x92\\x95\\x2b\\x81\\x8f\\x22\\xa0\\x4f\\x77\\x90\\x1c\\x7c\\x0f\\xd5\\x3b\\x96\\x6d\\x41\\xc8\\xe8\\x72\\xa9\\x4d\\x4e\\x27\\xa5\\xd3\\xa8\\x29\\x75\\x86\\xd7\\x85\\x34\\x5a\\x4d\\x9f\\xb8\\xc5\\xa8\\xd5\\x72\\xa2\\xde\\xc8\\xd9\\xea\\xe3\\x5c\\x5a\\xf9\\xe1\\xef\\xf5\\x37\\x90\\xdb\\x1b\\x24\\x2f\\xb7\\x49\\x8e\\xb5\\x3c\\xcc\\x9b\\x64\\x5c\\x58\\xed\\xec\\x8e\\xc1\\x37\\xbf\\xfa\\x32\\x31\\x7c\\x38\\x72\\xa1\\x0d\\xc8\\x35\\x38\\xf1\\xda\\x5d\\xc3\\x91\\x74\\xf7\\x38\\x74\\xc5\\xf8\\xd7\\xdf\\x7e\\xbe\\x6a\\xbc\\x84\\xb6\\x48\\xe3\\xf0\\xbf\\x52\\xee\\x43\\x0b\\x96\\xdf\\x4f\\x64\\xa7\\x2e\\x35\\x1b\\x06\\x57\\xcb\\x97\\xda\\xc2\\x61\\xa3\\x46\\x6d\\x36\\x64\\xb8\\x10\\x45\\xf9\\xec\\x59\\x2e\\x83\\x4e\\xad\\xca\\xc9\\xcd\\x30\\x9a\\x8c\\x7d\\xe2\\x61\\x19\\x6c\\x9f\\x0d\\xc0\\x76\\x9b\\x8c\\x5c\\xa0\\xf6\\x76\\x60\\x37\\xab\\xd1\\x49\\x25\\x31\\x84\\xb0\\xc4\\x07\\xf5\\x0f\\x70\\x93\\x46\\x52\\xa0\\xf0\\x30\\xf2\\x71\\xd0\\x31\\x04\\x87\\xa4\\x64\\x8d\\xb0\\x67\\x6a\\xe8\\x65\\xff\\x79\\xe4\\x89\\x6b\\xf7\\xa2\\xda\\x29\\x2d\\xee\\xbd\\x8a\\xde\\xee\\xdd\\x43\\x8f\\xfe\\x6e\\xe8\\x51\\x83\\xde\\xbe\\x7a\\x6f\\x8b\\xbb\\x13\\x3b\\xc6\\x2d\\xd0\\x4a\\x59\\x9a\\x25\\x68\\xcf\\xea\\xb7\\x26\\x4e\\x78\\x73\\xdd\\xa5\\x75\\xe3\\xde\\x3a\\x5f\\x75\\x4f\\xb7\\x6e\\xf7\\x54\\x9d\\x7f\\x6b\\xdc\\x3a\\x29\\x7a\\xff\\xdc\\xb9\\xf7\\xcb\\x7a\\x01\\xcf\\x9a\\xc7\\x31\\x89\\x10\\x68\\xf9\\x78\\xac\\x38\\xcb\\xc6\\x73\\x7e\\x3f\\x4d\\x99\\xdc\\xf9\\x7a\\xbd\\x9b\\x62\\x5a\\x94\\xfa\\x72\\xbc\\xb8\\xe0\\xd5\\x6b\\xb7\\x3b\\x2d\\xce\\xfa\\xb8\\xc5\\xc3\\x17\\x69\\x8a\\x6a\\xe3\\x1a\\xdc\\x34\\x81\\xc4\\x24\\xd2\\x49\\xae\\xf9\\xc6\\x92\\xa6\\x36\\x8e\\x47\\x04\\xc4\\x54\\xe8\\x41\\x68\\x1c\\x78\\xd7\\x16\\x09\\xb7\\x0f\\x43\\x20\\x97\\x12\\x71\\x88\\x3f\\xf9\\x5c\\x8f\\x01\\xad\\x8a\\x97\\xb6\\xbc\\x35\\xf0\\xc0\\xfe\\x55\\x9a\\xad\\x44\\x1a\\xfe\\xfe\\xe8\\xb7\\xfb\\x5e\\x10\\xff\\xa0\\x5b\\xd8\\x91\\xbd\\x25\\xe2\\x40\\x62\\x0e\\xb0\\xcf\\xdd\\xb0\\xcf\\x20\\xf8\\x56\\x83\\x62\\x25\\xb4\\x27\\xe4\\x77\\xd9\\x6d\\x42\\xae\\xc1\\x20\\x78\\x18\\x70\\x82\\x80\\xf1\\xea\\xe3\\x99\\x1e\\x07\\x65\\x8d\\x88\\x20\\xb8\\x45\\x93\\x50\\xa0\\x2d\\xa8\\x8d\\x6b\\xed\\xac\\xab\\xb1\\xf6\\x30\\x7d\\xab\\xd5\\x4d\\xb6\\x9a\\x6c\\x95\\xc2\\xe1\\x59\\x88\\xb7\\xc6\\x1c\\x88\\x52\\x51\\xf6\\x6c\\x69\\x12\\x63\\x28\\x5e\\xba\\xb8\\x79\\x94\\xc1\\x35\\x8d\\xec\\x38\\x2b\\x15\\x52\\x78\\x6f\\x61\\xdf\\xe6\\x51\\x05\\xb4\\xf6\\xd7\\x7f\\x48\\x0d\\x64\\xc7\\xf4\\xf5\\x54\\x28\\x81\\xcc\\x8c\\x1a\\x40\\x62\\x09\\x41\\xaa\\x4f\\xac\\x90\\xd1\\xfb\\x11\\xb2\\x88\\x2a\\xa3\\x51\\x1f\\x74\\xb1\\x59\\x21\\x87\\xb7\\x36\\xee\\x40\\x94\\x68\\x16\\x6b\\xe3\\x7e\\xb3\\xd1\\x88\\xea\\xe2\\x46\\x9b\\x5a\\xcb\\x6b\\xeb\\xe3\\xbc\\x27\\x7d\\x40\\x4a\\xb4\\x69\\xa7\\xce\\x54\\x38\\x05\\x35\\x6e\\x43\\x9e\\xfa\\x78\\xbb\\xd8\\xc1\\x44\\xe5\\xc0\\xee\\x6f\\x1e\\x2b\\x48\\xb4\\x54\\x40\\x5e\\xd8\\x97\\x59\\x90\\x1e\\x22\\x80\\xf3\\xc9\\x91\\x6a\\xd8\\xb7\\xd8\\x1e\\x54\\x94\\x8a\\x01\\x1d\\x16\\xb9\\xb5\\x39\\x81\\x16\\x2d\\xca\\x80\\x97\\x42\\xad\\x19\\x8b\\xa5\\x43\\xfb\\xa2\\x50\\x7e\\x7d\\xa4\\xa4\\x3e\\xc0\\x06\\x22\\xf0\\xa1\\x32\\x8c\\x2d\\x6b\\xed\\xa6\\x76\\xb5\\x26\\x9b\\x50\\x07\\xba\\x18\\x5b\\xd9\\xf0\\x51\\xba\\x1c\\x60\\x6f\\x17\\x15\\xcb\\x81\\xfd\\x54\\xb1\\x62\\xd3\\x5b\\x5e\\x92\\x03\\xd1\\xe4\\x8c\\x94\\x6c\\xb4\\x80\\xb2\\x3f\\x6c\\x7c\\xb6\\x25\\x82\\x84\\x29\\x4b\\x65\\xa0\\x94\\x56\\xa0\\xbf\\xed\\x78\\xdf\\x9d\\x30\\xf4\\x6d\\x3d\\xf8\\x4e\\x9a\\x2e\\x78\\x7c\\xf8\\xf6\\x7d\\xc7\\x5e\\x1c\\xfe\\x60\\x98\\x53\\x33\\xdf\\xf3\\xa8\\x78\\xfc\\xca\\xac\\xdc\\x4c\\x73\\x86\\xb5\\xef\\x97\\xd6\\x92\\x7e\\x95\\x83\\x87\\x8e\\xe8\\x3f\\x64\\xa4\\x54\\xb3\\xe5\\x01\\x62\\xc7\\xb4\\x9e\\x31\\x7e\\x28\\xf2\\x50\\x0d\\x48\\x40\\x99\\xa3\\x07\\x97\\x4d\\xd5\\x4c\\x5a\\x97\\xb8\\x26\\xbd\\xf1\\xc6\\x26\\xed\\x1f\\x04\\xa6\\xa4\\xf7\\xf0\\xf0\\xd5\\xef\\x99\\x4f\\xa7\\x3f\\x51\\x7b\\xe4\\xa5\\x97\\x9f\\x3f\\x41\\x74\\xf3\\x4b\\x70\\x96\\x1b\\x80\\x66\\x9d\\x54\\x5d\\xac\\x40\\x2b\\x08\\x2a\\xbb\\xc1\\xc0\\xe9\\x69\\x51\\xe4\\x54\\x8c\\xcb\\xad\\x35\\x70\\xa0\\x97\\xd4\\x40\\xb1\\x40\\xb9\\x56\\x8f\\xce\\xa8\\xa6\\x54\\x36\\xd6\\xd8\\x48\\xad\\xd5\\xd5\\xb7\\x19\\x3f\\x99\\x94\\xfd\\x84\\x50\\x49\\x49\\x55\\x40\\xc4\\xa3\\x11\\x53\\xe7\\xca\\x38\\x97\\x56\\x49\\x9f\\xcd\\x25\\xb3\\x95\\x97\\xa1\\x22\\xe9\\x5e\\x94\\x3b\\x95\\x1c\\x28\\x50\\x21\\xba\\xd6\\x57\\x9a\\xc0\\xbd\\x75\\x73\\x0f\\x3a\\x23\\x0d\\x92\\xfc\\xca\\x69\\x12\\x9d\\x39\\x4f\\x1a\\xc0\\xf4\\x01\\x58\\x71\\x3f\\x0c\\x97\\x41\\x60\\x69\\x35\\xab\\x16\\xcd\\x46\\x4a\\x07\\xc0\\xe9\\x3c\\x1c\\xc5\\x0a\\xb5\\x8d\\x80\\x35\\xed\\xa6\\xa2\\x00\\x93\\xce\\x23\\xe8\\xea\\xd2\\xe7\\x40\\x73\\x3e\\xf9\\x5c\\x8c\\xbc\\x97\\x7b\\xeb\\xd7\\xdf\\xa4\\x6f\\x94\\x97\\x21\\xaa\\x93\\x34\\x81\\xbd\\x0c\\xb6\\x6c\\x19\\x35\\x34\\x56\\x6a\\x04\\xd5\\xac\\xb6\\x97\\x95\\x51\\x05\\x99\\x79\\x7e\\x7f\\x66\\x98\\x52\\x73\\xe5\\x15\\x91\\x9c\\x50\\x4e\\x7d\\x3c\\x54\\x50\\x00\\xf6\\x7a\\x81\\xcd\\x54\\xc2\\x5a\\xc0\\x4a\\x77\\x5b\\x4c\\x3a\\x23\\xa5\\xb6\\xc9\\x11\\x7c\\x45\\x35\\x92\\x5a\\xee\\x5b\\xba\\xb0\\xa5\\x5a\\x16\\xcb\\xbc\\x2a\\xdf\\x74\\x37\\x8b\\x1a\\xd9\\x94\\x11\\xa8\\x29\\x5e\\x50\\x9e\\x45\\x3f\\xe0\\x68\\xd0\\x97\\xcd\\x63\\x45\\x3d\\x56\\x6f\\x25\\x5c\\x51\\x83\\x7f\\x4b\\xaf\\xdf\\x30\\xfb\\xc4\\x96\\xc4\\x31\\xa6\\x4f\\x7a\\x7c\\x28\\x71\\xf5\\x5f\\xaf\\x3c\\x83\\xd9\\xa3\\x3d\\xfe\\xfd\\xb6\\x6d\\x89\\x9d\\xb2\\x8d\\x76\\x1f\\xa6\\x03\\xb0\\x0d\\xb2\\xb0\\xef\\xe9\\xa1\\xe9\\x8c\\x20\\x6b\\xd5\\xe9\\x4c\\x7a\\x3d\\x9b\\xc1\\x44\\xc2\\x21\\xd0\\x4b\\xf5\\x71\\xbf\\xc7\\xaa\\x72\\xaa\\xea\\xe3\\x4e\\x93\\xde\\x53\\x1f\\x37\\x19\\x59\\xbd\\x5c\\xc0\\xd7\\x44\\x6a\\xfd\\x0e\\x19\\x24\\x21\\x87\\xed\\xa6\\x42\\x3f\\x7e\\x57\\x13\\x92\\x18\\xd1\\x6b\\xe8\\x5d\\x0b\\xa5\\xaf\\x94\\x68\\xcf\\x8b\\x73\\x50\\xed\\x1d\\x49\\xa2\\xa0\\x27\\xae\\xbd\\x77\\xdf\\x7d\\xb8\\x54\\x96\\x84\\x78\\x16\\x4c\\x95\\x86\\x4b\\x5c\\x23\\x69\\x24\\x75\\x0c\\x81\\xbf\\x94\\x1a\\x1c\\x2b\\x09\\xfb\\xcc\\x8c\\xdf\\x9f\\x15\\xd0\\x3b\\x0a\\x34\\x1a\\x47\\x80\\x89\\x96\\x65\\x19\\x03\\x1e\\xb7\\x3d\\x33\\xd7\\x99\\x5b\\x1b\\x77\\xda\\x2d\\x36\\x13\\x28\\x7b\\x93\\x87\\x29\\x16\\x8a\\x6f\\xb5\\x6a\\x14\\xe9\\x5b\\x7d\\x1b\\x2d\\x93\\x16\\xd0\\x69\\xaa\\x62\\xf8\\x94\\x65\\xf3\\xfb\\x81\\x9c\\xa4\\x9a\\xf1\\x66\\x28\\xa6\\xcd\\xef\\xc5\\x6e\\x6e\\x6c\\xfc\\x22\\xa9\\x69\\x88\\x79\\xc3\\xfe\\xd4\\x3c\\x66\\xf3\\x2c\\xec\\xb7\\x8a\\xf8\\x5a\\x75\\xb1\\x5c\\x95\\xd9\\x6c\\xa5\\x9c\\x7a\\xbd\\xd5\\xc3\\xf3\\x56\\x6b\\x30\\x44\\x79\\x68\\x1f\\x5d\\x1f\\xf7\\x99\\x9c\\x46\\x2b\\x0f\\xde\\xa4\\xcd\\x60\\xd2\\x9a\\xea\\xe3\\xda\\x26\\xf2\\x97\\xfc\\x67\\x72\\x28\\x72\\x32\\x84\\x25\\xdf\\x3d\\xcb\\x47\\xd5\\x4c\\x0c\\x37\\x8f\\xd8\\x3c\\x71\\x64\\xb6\\xb2\\x9d\\x8d\\xcd\\x22\\x34\\xdf\\x9c\\x95\\xa4\\x94\\x14\\xa6\\x4f\\xa6\\x05\\x67\\x10\\x35\\x17\\xe0\\xae\\x85\\x73\\x2a\\xa5\\xfa\\xc6\\xf2\\xb8\\xfc\\x7c\\x93\\x23\\x33\\x4b\\x03\\x8a\\x31\\x5a\\xe6\\xc8\\x0f\\x88\\x61\\x31\\xac\\x0f\\x04\\xc0\\x16\\x08\\x98\\xf4\\x56\\x1c\\x7a\\xc3\\xa3\\x79\\xeb\\xd3\\x46\\xf3\\x36\\x2d\\xf0\\xad\\xaa\\x4a\\x4f\\x5d\\x6e\\x3a\\xa2\\x57\\x39\\x91\\xb4\\x88\\x07\\x7d\\x4b\\x9c\\x83\\x85\\xc3\\x64\\x6b\\x89\\x04\\x28\\x5e\\x3a\\xf1\\x81\\xb4\\x40\\xc7\\xbf\\x76\\x0c\\x48\\x0b\\x70\\xf4\\x1c\\x8c\\x98\\x9d\\xf1\\x5e\\xf2\\x8e\\x46\\x85\\x1a\\x23\\x1c\\xc5\\x75\\x4b\\x87\\xa6\\x42\\x1b\\xc5\\x95\\xe6\\x8a\\x3e\\x2b\\x46\\xc9\\xfc\\xd4\\x05\\xf6\\x69\\xe7\\x3e\\x00\\x0f\\xae\\x6f\\xac\\x20\\xc3\\x1e\\x89\\x30\\x6a\\x53\\x28\\xe4\\x54\\x3b\\x73\\xf3\\x3c\\x99\\xe0\\xe4\\x87\\xfb\\xc4\\x3d\\x76\\x8f\\x9d\\xd2\\x9b\\xcc\\x7a\\x73\\x7d\\x5c\\x4f\\xb1\\x3c\\xc5\\xd7\\xc7\\x29\\x4f\\xd3\\xe6\\x77\\x72\\xb5\\x75\\x7e\\xd3\\x1c\\x2a\\x9c\\xda\\xd3\\x38\\x39\\xac\\x51\\x35\\x36\\x6a\\x16\\x65\\xcc\\x2a\\xd0\\xe7\\xdf\\xf2\\x87\\x58\\x2b\\xbb\\x76\\x68\\x7b\\xe2\\xd5\\x81\\x77\\xe4\\xf5\\xea\\xd2\\x01\\x1d\\x5d\\xb9\\xbe\\x4b\\x7e\\xa0\\x2c\\xaf\\xf0\\xcf\\xc7\\xa4\\x01\\x06\\xe1\\x43\\x5b\\xed\\x2c\\x76\\xec\\x85\\x43\\x96\\x8f\\x6c\\x03\\x27\\xde\\xfc\\xa3\\xf4\\xd4\\x8e\\xcd\\x9a\\xb3\\xea\\x36\\x2d\\x1f\\x9f\\x7e\\xfe\\x30\\xde\\x87\\x0f\\xf6\\xb1\\x8b\\xcc\\xdf\\x6b\\x1f\\xf3\\x0b\\x94\\xc5\\x62\\xd4\\xd1\\xb4\\xc3\\xe8\\x70\\xba\\x2c\\x06\\xbb\\xd1\\x68\\xa0\\xea\\xe2\\x06\\x9b\\x4a\\xc3\\x69\\xc0\\x74\\x6e\\xaa\\xde\\xcd\\x55\\x69\\xcd\\x38\\x09\\xd0\\xe1\\x26\\x14\\x15\\x40\\x01\\x0b\\x6e\\x9b\\x66\\x09\\x30\\x3d\\x9e\\x51\\xce\\x40\\x3a\\x02\\xae\\x52\\xee\\x7b\\xc6\\x96\\x7c\\xdb\\xbf\\xa2\\xc8\\xc1\\x14\\x11\\xb1\\xad\\x12\\xeb\\x4b\\x2f\\x38\\xdf\\xa1\\x97\\x26\\xe7\\x24\\x3f\\x09\\x30\\x39\\xa9\\x5e\\xb1\\x3c\\xb5\\xa0\\xe5\\xec\\x06\\x9a\\xd6\\x63\\x95\\x25\\xb0\\x2e\\x77\\x52\\x59\\x69\\x55\\x9c\\x81\\x65\\x75\\x6a\\xa3\\xd0\\x54\\x63\\x61\\xbf\\xb1\\x99\\xa4\\x4a\\x17\\x54\\xa9\\xa1\\xc9\\xe9\\xfa\\xaa\\x70\\x69\\x47\\x65\\x7e\\x6f\\xda\\xc4\\x64\\x64\\x5f\\x91\\x54\\x1e\\xcd\\xe6\\x25\\x2f\\x4b\\x8a\\x26\\x44\\x3d\\x00\\xb0\\x96\\x13\\x1f\\xa4\\x73\\x2c\\x6c\\xe0\\x34\\x1a\\x33\\xa5\\x33\\x5a\\x28\\xd6\\x6e\\x33\\x13\\x5b\\xde\\x64\\xd4\\x5b\\x74\\x96\\x3e\\x71\\x9d\\xed\\x16\\x52\\xbf\\x8d\\x48\\x6d\\x46\\xe1\\x81\\x72\\xe2\\xc9\\xa3\\x00\\x18\\x77\\x32\\x02\\x13\\x1d\\xe9\\x56\\x38\\x72\\x93\\xb8\\x48\\xdf\\xa5\\xd0\\x6b\\xdf\\xf3\\xf4\\xf3\\x97\\x2e\\x26\\xe4\\xbc\\x5e\\x6a\\x82\\x34\\x80\\xbb\\x97\\xc4\\x7a\\x2b\\xf0\\x24\\xef\\x2c\\x9f\\xdb\\x9a\\xc3\\x57\\xb4\\x30\\x30\\x4c\\x45\\x8e\\x9b\\x6d\\x59\\x19\\x76\\xd4\\xc6\\xc3\\xf6\\x4c\\x6f\\xc0\\x5b\\x1f\\x0f\\x78\\xb8\\xc2\\xba\\x38\\xa7\\xe7\\xf4\\x94\\xc9\\xa4\\xa9\\x8b\\x9b\\x4c\\x54\\xb4\\x59\\xcb\\x29\\x42\\x9e\\x4d\\xda\\x5c\\xa5\\x07\\x1e\\x49\\x5b\\x80\\x72\\x53\\xb8\\x52\\xc9\\x5a\\x0d\\x93\\x59\\xac\\x4a\\x91\\x84\\x9c\\x39\\x45\\x5c\\x28\\xec\\x8d\\x18\\x90\\x45\\x30\\xd0\\x24\\x35\\xb4\\x1c\\x1d\\x79\\x72\\x2f\\xda\\xf6\\x59\\xe7\\x9a\\x6e\\x9d\\x54\\xd2\\xc7\\x95\\xe8\\xa1\\x37\\x3f\\xca\\x2d\\xf1\\x67\\x2e\\x2d\\x6e\\x35\\xa0\\xc7\\x8e\\x27\\x3a\\x77\\x52\\xf1\\xd5\\xdb\\x5e\\x5b\\x39\\xa8\\x2e\\xef\\x9e\\x11\\xcb\\xac\\x2f\\x3c\\x8e\\xea\\xd4\\x6c\\xe5\\xb8\\x09\\xdd\\x6a\\x0d\\xa8\\xfd\\xb9\\x33\\xd2\\x3d\\x83\\x3b\\xf1\\xbf\\x2e\\xd4\\xfd\\x41\\x7c\\x71\\x6f\\x57\\xd3\\xa8\\x3e\\xd3\\x46\\xd3\\x6a\\x9a\\x0e\\x74\\xab\\xde\\xbc\\x65\\x96\\x8c\\x83\\x0a\\xc0\\xc1\\xc3\\x80\\x83\\x10\\x55\\x04\\xdc\\x59\\x18\\xcc\\x70\\xda\\xec\\xf6\\x2c\\x13\\x93\\xa7\\x56\\x33\\x4e\\xa6\\xa4\\xd8\\xeb\\xf6\\xb9\\x41\\x7a\\x7a\\xcc\\x46\\x5d\\x76\\x6d\\x5c\\x67\\xe2\\x0b\\xc8\\x70\\x3f\\x7b\\x5d\\x63\\x53\\x34\\xca\\xd9\\xc4\\xca\\x70\\x54\\x35\\x06\\x1e\\x92\\x37\\x82\\x7c\\xba\\xe1\\x57\\x19\\x90\\x05\\x6a\\xe3\\x9e\\x95\\x41\\xc1\\x24\\x6f\\xbc\\x08\\xcc\\xf3\\xc1\\x0d\\x27\\xdf\\xfe\\xd3\\xf9\\x19\\x3b\\x0b\\x59\\x13\\xd2\\xf2\\xd3\\x94\\xbd\\xae\\x99\\x35\\x7d\\xda\\xe4\\xbf\\x4c\\x99\\x07\\xb6\\xf9\\xeb\\x28\\x1b\\x0c\\x73\\x3d\\x0a\\x0f\\x1f\\x36\\xb0\\xcf\\xb8\\xdd\\x89\\xd5\\xd2\\xcf\\xf2\\x26\\x7b\\xd1\\xa1\\x97\\x4f\\x1e\\x39\\x21\\x3d\\xf4\\x9a\\xb2\\x37\\x3f\\xf7\\x21\\x78\\x91\\xa5\\x54\\xbf\\x58\\x81\\x2b\\x1c\\xf6\\xe7\\xe0\\x6b\\x4f\\x7f\\x91\\xc6\\xaf\\x29\\x8b\\xba\\xbc\\x76\\x2f\\x48\\x1f\\x4a\\x9f\\x8f\\x2f\\x3c\\x85\\x12\\x7c\\xdd\\x99\\x15\\xa4\\x82\\x4d\\x24\\xcf\\xed\\x27\\x2d\\x36\\xe6\\xbf\\x61\\xa7\\x97\\x6f\\x72\\xdd\\x29\\xcb\\x20\\x59\\xae\\xca\\x9b\\x34\\x20\\xd4\\xb8\\x41\\x76\\xf8\\x8e\\xc7\\x1b\\x37\\x48\\xd3\\x2f\\x3f\\x36\\xa2\\x9f\\xb9\\x87\\xad\\x6d\\x25\\xec\\xd2\\x33\\x55\\x4a\\x6e\\x52\\x1a\\xf0\\xd2\\xcb\\x89\\xb4\\x6d\\xee\\x9f\\xfe\\xc0\\x66\\xf1\\x22\\x27\\x74\\xee\\xf2\\x5b\\x29\\x6c\\x95\\xd3\\x31\\x6f\\x25\\x37\\x4a\\xce\\x71\\x34\\xec\\xd5\\x03\\xe7\\x98\\x49\\x85\\x41\\xe7\\x17\\x99\\xbd\\x5e\\x46\\x13\\xc4\\xc9\\xf3\\x6a\\xac\\x89\\x35\\x76\\xab\\xcb\\x5a\\x1f\\x77\\x79\\x82\\x5a\\x20\\xdd\\xa0\\x29\\x48\\xf1\\xbc\\xaf\\x2e\\xce\\x9b\\x28\\xc3\\x7f\\x21\\x62\\x50\\x88\\x69\\xf9\\x16\\xb2\\x3e\\xe4\\x82\\xb8\\xa9\\x16\\x56\\xf9\\xf2\\xb5\\x7d\\x25\\x97\\x7e\\x90\\xa9\\x1c\\xfb\\xa1\\x37\\xa4\\x5f\\x91\\xe6\\xc6\\xd7\\x3f\\x26\\xba\\xcf\\x9a\\xf4\\x08\\xec\\x02\\x9f\\x61\\x6c\\xc7\\x13\\x63\\x17\\x8d\\x9a\\xc8\\xa0\\x67\\x55\\x93\\xad\\x20\\xf3\\x6c\\x48\\x87\\xfc\\xd2\\x25\\xe9\\x8a\\x6a\\xeb\\xb6\\xa5\\x0e\\xe9\\x31\\xf9\\x08\\x47\\xe4\\x30\\xfb\\x1e\\x58\\x40\\x5a\\x48\\x80\\xcc\\x18\\x06\\xfb\\xca\\x87\\x7d\\x45\\xa9\\x39\\xb1\\xf6\\x9e\\x16\\x2d\\x0a\\x4c\\x11\\x87\\x46\\xe0\\xf9\\xcc\\x4c\\x86\\xd1\\x44\\x98\\xf2\\x32\\xc1\\xe3\\xce\\xcf\\x2d\\xca\\xad\\x8f\\x17\\x79\\xdc\\x1e\\xf0\\xaf\\x80\\x5e\\x69\\x13\\x53\\x9a\\xe5\\x16\\x45\\x77\\x56\\x29\\x4b\\x81\\x25\\x50\\x07\\xc7\\x4b\\x05\\x6e\\xd7\\x45\\x8f\\xb4\\xd1\\x6b\\x6c\\xe7\\xd1\\xac\\x3b\\x96\\xe2\\x62\\x06\\xb3\\xfe\\x87\\x0c\\x79\\x85\\x91\\x15\\x34\\xd0\\xf1\\xef\\xa5\\x1f\\xb7\\x2c\\x99\\xbf\\xf0\\xfa\\xbb\\xef\\xdf\\x74\\x7f\\xab\\x5a\\x30\\x76\\xe8\\x84\\x27\\xf7\\x1e\\xdf\\x3a\\x6b\\xec\\xf0\\x95\\xe2\\x77\\xed\\xee\\x90\\x91\\x31\\xc1\\xfa\\xc2\\x96\\xf1\\xeb\\x0c\\xb4\\x7b\\xd9\\xc8\\xc5\\x8f\\x6d\\xd9\\x68\\xef\\xdc\\xfd\\x8e\\x36\\xbd\\xba\\xec\\xeb\\xd9\\x37\\xd6\\x7b\\x70\\xb7\\x02\\x69\\x4d\\xbb\\x6a\\x05\\x21\\x80\\x87\\x25\\x20\\x3b\\x47\\x03\\x1e\\x4a\\x31\\x1e\\x9c\\x0c\\x13\\xd2\\xe7\\xaa\\xbc\\x05\\x85\\x85\\x36\\x5b\\x49\\x89\\x57\\x0f\\x36\\x5d\\x81\\xd3\\xe5\\x72\\xc2\\xfe\\x5d\\x3e\\x17\\xec\\x9f\\x36\\xba\\x82\\x41\\x97\\x91\\x66\\xa9\\x48\\x04\\x0e\\x3a\\x62\\x12\\x38\\x0d\\x57\\x1f\\xd7\\x78\\x28\\x73\\xf3\\x74\\x8d\\x66\\xd8\\xb8\\xa5\\xa9\\x60\\xd2\\x97\\xe3\\x82\\xd9\\x8d\\x72\\xaa\\x5c\\xfc\\x1f\\xba\\x0c\\xb2\\xf4\\x84\\xf5\\xe3\\x95\\x83\\xff\\xb7\\xb8\\x72\\xf8\\xd8\\x59\\x4f\\x9c\\xdc\\xff\\xf8\\x84\\xa1\\xe3\\xe6\\xa9\\xbf\\x75\\x27\\xde\\x7b\\xe7\\x06\\xee\\x35\\x28\\xfd\\x68\\xcd\\x1d\\x2f\\x9f\\x3c\\xba\\x3b\\xbd\\xe9\\x60\\xf7\\xce\\xf6\\x8d\\x5b\\x1e\\x5b\\xac\\x34\\x1d\\xdc\\xf2\\x82\\x4c\\xe7\\x6d\\x80\\x1e\\x54\\xc4\\xd6\\xcb\\xa6\\x86\\xc5\\x4a\\x9d\\x59\\x59\\x26\\x87\\x96\\xe1\\xec\\x5c\\x4e\\x6e\\x38\\xd3\\x6e\\xcf\\x71\\x84\\xeb\\xe2\\x8c\\x23\\x23\\xc3\\xc1\\xe0\\x0e\\x4b\\xc1\\xba\\xb8\\xc5\\xae\\x51\\xe9\\x41\\x99\\xe8\\x3d\\x94\\xa7\\x36\\x19\\x62\\xbf\\x65\\xeb\\xf9\\xa9\\x82\\x8d\\x94\\x0f\\x4b\\x02\\xed\\x96\\x68\\xda\\xc1\\x96\\x8b\\x74\\x00\\xb7\\x30\\x95\\x4b\\x38\\xc2\\xed\\x68\\x0b\\x89\\xd8\\xa1\\x6f\\xdf\\xbe\\x66\\x38\\x9e\\x55\\xee\\xcc\\xad\\x6c\\xb9\\x79\\xd9\\x6c\\xe9\\xaf\\x57\\x3e\\xa2\\xeb\\x07\\x0c\\x1c\\x95\\x2d\\xfd\\x94\\x37\\xe9\\xf1\\xa9\\x9b\\x05\\xe9\\x8c\\xaa\\x07\\x5b\\xf3\\x5b\\x03\\x95\\x88\\x77\\xa9\\x80\\x9d\\x3e\\x71\\x06\\x75\\x90\\x7e\\x42\\xf9\\xa8\\x4c\\xb5\\xe7\\xe1\\xa5\\x8e\\x49\\xb3\\x3a\\xdd\\xec\\x8d\\x78\\x4c\\xf1\\x34\\xfa\\x33\\x99\\x03\\x8b\\xfd\\x3a\\xdc\\xa3\\x29\\x68\\xa5\\x28\\xd1\\xa0\\x13\\x68\\xd0\\x06\\x76\\xb3\\xd8\\x67\\xb0\\x99\\x4a\\xda\\x19\\x3c\\xab\\x66\\xeb\\xe3\\xea\\xe6\\x66\\x6c\\xfa\\x5d\\x81\\x6c\\x65\\x34\\x92\\x25\\xb8\\x7c\\x61\\x5c\\x1b\\x79\\x7d\\xa2\\x72\\x28\\x8f\\xe0\\x3e\\x8b\\xc8\\x75\\x30\\x25\\x3d\\xd9\\x56\\xa4\\xdd\\x22\\xd0\\xdb\\x3d\\x00\\xc7\\x30\\xa2\\x17\\xba\\xc5\\xc2\\x4e\\x6d\\x30\\x83\\xe3\\xcc\\x41\\x73\\x56\\x38\\xa9\\x0f\\x70\\xe7\\x01\\x9b\\xd1\\xc6\\xd4\\xc6\\x6d\\x76\\x23\\xf8\\x9a\\x46\\x53\\x33\\x21\\x72\\x8b\\xc8\\x24\\xfe\\x82\\x9c\\xef\\xcd\\x63\\xe4\\x45\\x4b\\xb1\\x24\\x09\\x35\\xa5\\x2a\\xf4\\x78\\x5a\\xff\\xbb\\xa5\\xef\\x2f\\x97\\x1b\\xe3\\x2d\\x4e\\x02\\x8c\\x46\\xf5\\x19\\x85\\x26\\xa2\\xd9\\x72\\xdf\\x3c\\xe9\\x63\\x30\\x44\\x6e\\x48\\x1f\\x56\\xcd\\x55\\xe8\\x67\\xbb\\x2c\\x33\\xbe\\x06\\xd8\\x29\\xb0\\x37\\xfd\\x54\\xc7\\x58\\x88\\x31\\x78\\x0c\\x01\\xab\\x9a\\xa2\\x82\\x01\\x4f\\x86\\x33\\xa3\\x3e\\x2e\\x32\\x7d\\xe2\\x46\\x51\\xd4\\x3a\\x29\\x15\\xa7\\xe5\\xd2\\x3d\\x01\\x12\\x5f\\x4e\\x0b\\x30\\x8b\\x0a\\x19\\x00\\x3d\\xa7\\x42\\xe4\\x80\\xc6\\x5b\\x4c\\x4d\\x86\\xda\\xf4\\xa4\\x66\\xb2\\xb9\\xb7\\x69\\x40\\x74\\xc7\\x13\\x4d\\x0c\\x4c\\xcd\\xe1\\x03\\xa6\\x91\\x2a\\x16\\x03\\xf7\\x3a\\x18\\x97\\x4c\\x89\\x62\\x5c\\xca\\x70\\xf6\\x03\\x38\\xaf\\x83\\x3d\\x94\\x45\\xf5\\x88\\x65\\xa3\\x90\\x46\\xf0\\x3a\\xcc\\x3a\\x9d\\x37\\xc4\\x84\\x23\\xaa\\x2c\\xa3\\x97\\xf5\\xc3\\x01\\xfb\\xed\\x2e\\xb0\\x36\\x5c\\x36\\xd1\\x68\\x35\\x62\\x4b\\xae\\xf9\\x58\\x5d\\x67\\x75\\x53\\xdb\\x8d\\xa4\\x09\\xcb\\x10\\x12\\xff\\x3e\\x4d\\x2a\\x85\\x64\\xd3\\x42\\xc6\\xf3\\xe4\\x9e\\x3d\\x7b\\x4d\\x46\\xae\\xc5\\x49\\xb2\\xdd\\xc8\\x0a\\x88\\xab\\x5a\\x36\\xe6\\xd9\\x17\\xc1\\xbe\\xdc\\xf6\\xf8\\xb2\\x23\\x4b\\xe9\\x8e\\x37\\xe7\\x4b\\x3f\\x29\\x04\\xdb\\xcb\\xf5\\x50\\xd1\\xe2\\x49\\xef\\xbd\\x4d\\xbf\\x0c\\x70\\x83\\xae\\x61\\x87\\x02\\xdc\\x11\\xd0\\xaa\\xc5\\x5a\\xb7\\xdb\\x10\\x36\\xeb\\x79\\x5e\\xb4\\x5a\\xfd\\x61\\x26\\x3b\\xc7\\x97\\x11\\xcc\\xc0\\x3c\\xd8\\x27\\xae\\x35\\xc3\\x9f\\x94\\x56\\x4b\\x31\\x8c\\x31\\xe8\\x31\\x1a\\xfa\\xe0\\xd6\\x76\\x72\\x7b\\x4c\\x72\\x41\\x97\\x9f\\x7f\\x8b\\xe9\\x29\\x53\\xad\\x22\\x5a\\xc8\\x50\\x01\\xd9\\xaa\\x63\\x45\\x7c\\x69\\x9b\\x6d\\x4b\\x67\\x46\\x34\\x57\\x33\\x77\\xd8\\xcc\\x69\\xd5\\x4b\\xb7\\x8c\\x45\\xd5\\x89\\x4f\\x98\\x95\\xd2\\x23\\x68\\xa7\\xf4\\xdb\\xf7\\xcf\\x2f\\xeb\\xd5\\x55\\x26\\x97\\xef\\xfa\\x8f\\x1f\\x3c\\xb6\\x5b\\x7d\\xf8\\x24\\x42\\x97\\x5e\\x93\\xbe\\xcd\\x93\\xce\\xbf\\xfe\\x69\\x6d\\x61\\xdb\\x98\\x6e\\x17\\xa6\\x96\\xe2\\xf4\\xda\\x4a\\x07\\x48\\x94\\xaa\\x98\\x31\\xc3\\xec\\x04\\x27\\x5a\\xcd\\xb3\\x66\\x78\\x9d\\xc7\\x76\\x1a\\x1e\\xf2\\x51\\x46\\xd4\\x82\\x52\\xa3\\x12\\xb9\\xd2\\x25\\x3d\\x29\\xbd\\x11\\xe7\\x56\\x9e\\x54\\xe9\\x35\\xe6\\xe7\\xcb\\xee\\x30\\x83\\xe1\\x25\\x14\\x8f\\x2e\\x0a\\x1c\\x2e\\xad\\xd4\\x34\\x56\\x56\\xca\\x05\\x71\\xf4\\x48\\xb1\\xde\\xd6\\x66\\x26\\x7a\\xd6\\xfb\\x40\\x69\\x77\\xb9\\xb0\\x12\\xa1\\xf9\\x2b\\x11\\x8f\\x98\\x07\\x7e\\xaf\\xbe\\xc2\\xa2\\xb1\\x68\\x74\\x3c\\xae\\xaf\\x30\\xfd\\x97\\xfa\\x8a\\xa4\\xba\\xc2\\x55\\x46\\x26\\x25\\xc1\\x8e\\x9e\\xba\\xe3\\xc8\\x2b\\x3b\\x57\\xec\\xb2\\x9e\\x15\\x67\\x6e\\xdc\\x54\\xd1\\x5d\\x75\\xc6\\x74\\x00\\x7d\\x7c\\xf9\\xf8\\xe9\\xf7\\x1e\\x98\\xa5\\x59\\xd2\\x20\\xfd\\xdc\\xa5\\x8b\\x66\\xee\\x06\\x92\\xdb\\x7b\\x8a\\xf9\\x03\\xfb\\x1f\\xca\\x0b\\xd4\\xd9\\x3d\\x96\\x19\\xf0\\x22\\x33\\x93\\xa1\\x75\\x38\\x18\\x0e\\xb1\\xe1\\x88\\x37\\x10\\x70\\xfb\\x74\\x56\\x33\\x7c\\x54\\x21\\xca\\x7d\\x1c\\x60\\x30\\x52\\x2a\\x52\\x75\\x81\\x7b\\x4d\\x12\\x58\\xaa\\x9a\\x24\\x46\\x25\\x45\\x40\\x76\\xb3\\x3b\\x76\\xd1\\xd1\\x88\\xad\\x30\\xee\\x40\\x05\\x08\\x43\\x77\\xcf\\xc8\\xaa\\xc8\\x3d\\xba\\x6b\\xc5\\x2e\\xcb\\x19\\x55\\x87\\x36\\x1b\\xd0\\xec\\xc9\\xf3\\x96\\xec\\x5a\\xbf\\x64\\x24\\x9a\\x35\\xb9\\x6b\\xbf\\xc2\\x61\\x8b\\xd1\\xa9\\x09\\x55\\xb1\\xbe\\x93\\x4f\\xbe\\xbf\\x7a\\x86\\xa6\\x55\\xe7\\x06\\xaa\\x45\\xdd\\xe8\\xa1\\x93\\x17\\xf7\\x5c\\xd3\\xb9\\xcf\\x1d\\xa9\\xfa\\x17\\x5e\\x47\\xb9\\x01\\xf6\\xfe\\xb1\\x2c\\x03\\x05\\x26\\xbb\\x45\\xb4\\xb1\\x8c\\x5f\\xad\\xa6\\xc3\\x1e\\x86\\x89\\x84\\x29\\xe0\\x28\\x8b\\xc5\\x96\\x69\\xd0\\x39\\x75\\x4e\\xde\\x64\\xc3\\x49\\xca\\x21\\x52\\xf2\\x98\\xea\\x3b\\x22\\xc3\\x6f\\x4a\\xce\\xd4\\x12\\xd3\\x8a\\xd1\\x60\\x1f\\x76\\xd1\\xd6\\x58\\x33\\xe3\\x88\\x64\\x0b\\xe5\\x95\\x11\\x38\\x7c\\x47\\xa5\\x4d\\x29\\xeb\\xc2\\x89\\x9b\\xcc\\x95\\xd7\\xf7\\xbe\\xf8\\xc6\\x6b\\xfb\\xba\\x46\\x0a\\x5a\\x9d\\x9b\\xd6\\x69\\xe2\\xf9\\x0e\\xf9\\x47\\x3a\\xca\\xa5\\x34\\xdc\\x98\\x2f\\xa4\\x2f\\xe8\\x57\\xde\\x39\\xf1\\xcc\\xf6\\x63\\x8e\\x11\\x9d\\xfa\\x2f\\x6b\\xd1\\xb2\\x63\\x20\\x50\\xbb\\x22\\xb1\\x6f\\xda\\x98\\x2b\\x77\\x4d\\x21\\x77\\x56\\x4a\\xcd\\x9c\\x99\\xe7\\x26\\x92\\x98\\xdf\\xfd\\xe8\\x1a\\xd3\\x91\\xd4\\x6e\\xb6\\x89\\x99\\xf4\\x36\\x1b\\xd8\\x19\\xb4\\x05\\x21\\xd6\\x61\\x37\\xea\\x35\\x47\\x51\\xe9\\x41\\x8a\\x65\\x2d\\xdc\\x31\\xa0\\x54\\xfa\\x77\\x2a\\x09\\xa2\\xc9\\x1a\\x79\\x72\\xe3\\x94\\x16\\x47\\x8e\\xda\\xe8\\x03\\xa7\\x26\\x4d\\x9a\\x38\\xb1\\xac\\x93\\xd7\\x5b\\x9e\\xf5\\x30\\x3b\\x34\\xb1\\x86\\x9e\\xb9\\xb2\\x76\\xfc\\x28\\xed\\x12\\xa1\\xa8\\xb0\\xed\\x4a\\xf2\\x7e\\xea\\x6d\\xa6\\x23\\xa9\\xdb\\xa8\\x8c\\x39\\xac\\x3a\\x46\\x10\\x28\\xb3\\x99\\xd3\\x71\\x76\\x07\\x63\\xb3\\xf1\\x56\\x2b\\x40\\x81\\x8e\\xe2\\xf4\\xf2\\xd7\\x4b\\xc9\\x84\\x6c\\xb1\\x49\\xf1\\x46\\x6a\\xd2\\x3c\\xae\\x14\\x49\\x79\\xe6\\xf8\\xb6\\x91\\x76\\xa7\\xbf\\x9a\\xa9\\x45\\x1b\\xa5\\x49\\x2b\\xa5\\x77\\x95\\x77\\xa3\\x8c\\x95\\x80\\x0b\\xa5\\x2e\\x0f\\x70\\x31\\x89\\xe0\\xc2\\x05\\xb8\\x38\\x08\\xb8\\xb0\\xe2\\x5e\\x38\\x56\\x83\\xd9\\x2c\\xaa\\x79\\x91\\xb7\\xdb\\x18\\xad\\x56\\x30\\x1f\\x87\\xed\\x1b\\x29\\x01\\xce\\x14\\xe7\\x66\\xdd\\x9a\\x76\\xdb\\xa4\\x66\\x02\\xff\\x19\\x12\\x2b\\xe9\\x9f\\xb3\\x67\\xd5\\xcd\\x99\\x7f\\xea\\xde\\xce\\x7d\\x4f\\x9f\\xe6\\x98\\xad\\x03\\x7b\\x6f\\x5a\\x87\\x70\\x25\\xc9\\xc2\\x61\\x68\\xf3\\x6f\\xd7\\x50\\xc6\\x26\\x92\\xbf\\x7c\\x10\\xde\\xeb\\xe2\\x70\\x6f\\x39\\x23\\x15\\x8b\\x99\\x8c\\x82\\x56\\x4b\\xeb\\x58\\x10\\x19\\xb4\\xda\\x24\\xea\\xf4\\x70\\x0a\\x87\\x35\\x34\\x2d\\x30\\x0c\\x39\\x07\\xb9\\x7e\\x56\\xc6\\x45\\xf5\\xe5\\xa6\\xd8\\x90\\x4f\\xa2\\x3c\\xaa\\xa0\\x84\\xc1\\x93\\xee\\xf8\\xfa\\xfa\\xd3\\x7d\\xe1\\xfd\\xe8\\x1a\\xea\\xb6\\x12\\xb7\\x79\\x5f\\x29\\x1d\\x61\\x96\\xaf\\x5f\\x4f\\xf4\\x05\\x2d\\xa0\\x6b\\x4a\\x7d\\x9f\\x32\\xdf\\x85\\x39\\x86\\x8a\\xe4\\x84\\xfe\\xc6\\xfe\\x31\\xb0\\x19\\x5a\\x38\\x7d\\x9a\\xfd\\x22\\xc1\\xff\\xff\\xfc\\x8e\\xbc\\x47\\xf8\\x8e\\x96\\x2a\\x8b\\x59\\xf0\\x06\\xe5\\xfd\\xe9\\xf4\\xbf\\xb3\\xb3\\x5b\\x2e\\xf6\\x1b\\x77\\xa5\\xec\\x28\\x7d\\x3f\\xa4\\xff\\x2b\\x30\\xda\\x29\\x66\\x2b\\xe0\\x11\\xdb\\x39\\x99\\x60\\x63\\xd8\\xbc\\xa2\\xe0\\x74\\x32\\x3a\\x2b\\xbe\\x87\\x65\\x74\\x3e\\xbf\\x86\\xe7\\xf5\\x6e\\xd2\\xbb\\x04\\x4f\\x15\\x29\\x05\\xe9\\x52\\x02\\x84\\x47\\x91\\x5a\\xba\\xea\\xea\\xcb\\xd5\\xcd\\xc8\\x2b\\x59\\xac\\x13\\x26\\x2c\\xd9\\x5a\\x21\\x34\\x7c\\x9d\\x00\\x78\\x95\\xef\\x16\\x30\\x53\\xd2\\xa1\\xa9\\xf7\\x2e\\x5b\\xd4\\xf9\\xf4\\x84\\x09\\x6b\\x4b\\x4f\\x4b\\x5f\\x96\\x67\\xf7\\x1a\\x99\\x7b\\x6a\\xde\\xf8\\xb1\\x33\\xe8\\x09\\x89\\x47\\x1f\\xd6\\xad\\x5d\\xcf\\xbe\\xbc\\x7e\\xfd\\x6f\\x9f\\xb4\\x69\\x9d\\x5b\\x1f\\xc0\\x3d\\xdb\\xd0\\x11\\x80\\xd3\\x0e\\x70\\xea\\x29\\xff\\x61\\x2d\\xc3\\xf3\\x06\\x23\\x0b\\x67\\xbc\\x5f\\xa3\\x4a\\x95\\xf5\\x29\\xc6\\x82\\xfc\\xea\\xa4\\x5f\\x0b\\x92\\x76\\xc3\\xc4\\x69\\xa7\\x07\\x46\\x82\\xb6\\x3e\\xa7\\xa6\\x2f\\x67\\x7b\\xfe\\xf6\\xf2\\x40\\xd5\\x46\\xdc\\x58\\x08\\xd6\\x3c\\x07\\x6b\\x0a\\x64\\xef\\x05\\x31\\xad\\x41\\x60\\x59\\xd1\\x4c\\xab\\x8d\\x94\\xee\\x24\\xac\\x88\\x6b\\x2a\\x85\\x54\\x4d\\x65\\x34\\x9a\\xba\\x57\\xc1\\xe6\\x28\\x36\\xe1\\xa2\\x8d\\x61\\x70\\x5a\\x3f\\x70\\xea\\xe9\\x3e\\xd3\\x26\\x84\\xdb\\xfb\\x51\\xff\\x81\\xad\\x59\\xfb\\xcd\\xf1\\x87\\x96\\x4f\\xd7\\x6d\\x54\\xc1\\x3b\\x66\\xc0\\x19\\x0e\\x82\\x33\\xc4\\xbd\\x75\\x58\\x84\\x28\\x5e\\x20\\xc5\\x3c\\x6c\\xb2\\x98\\x47\\x4c\\x9b\\x3b\\x15\\x15\\x03\\xcc\\x20\\xc9\\x75\\x1a\\xe5\\xe0\\x22\\x9e\\xc4\\xa3\\xd8\\x36\\xe9\\x4b\\x9d\\x62\\xe7\\xb2\\x37\\xa8\\x42\\x90\\xfe\\xa4\\x16\\x33\\x80\\x27\\x00\\xaa\\x22\\x1e\\x95\\xa7\\xa8\\x38\\x2b\\x98\\x09\\xbb\\x3f\\x98\\xcb\\x30\\x0e\\xf1\\xa4\\x5c\\x94\\x09\\x1b\\x53\\xa5\\x80\\x4e\\x17\\x3b\\x4a\\x85\\xc7\\x6d\\xeb\\x32\\x2b\\xd2\\xca\\x32\\xe5\\x54\\x78\\x2c\\x13\\x92\\xd5\\x90\\x8d\\x05\\x9a\\x1d\\x36\\xe2\\xfa\\xcc\\x09\\x7d\\xee\\x9e\\x3a\\x6d\\x82\\x63\\x80\\xd5\\x9f\\x3d\\x70\\x6a\\xcb\\xee\\xcd\\xaa\\x34\\x77\\xee\\xec\\x57\\xbf\\x79\\x5d\\xe2\\xef\\xcb\\x67\\x08\\xdc\\x23\\xaa\\x81\\xe8\\xab\\x8b\\x33\\x86\\xcb\\xb5\\x9a\\xd4\\x00\\xea\\x24\\x3b\\x1b\\x70\\x41\\x2a\\x41\\xdc\\xc8\\xe7\\x73\\xa8\\x79\\x8d\\x46\\xed\\x50\\x07\\x82\\x7e\\xc1\\x09\\x12\\x2b\\xa6\\x66\\xb4\\x22\\xe3\\xf5\\x1a\\x34\\x56\\x52\\x09\\x82\\x6b\\xdd\\x1c\\x69\\x7b\\x10\\x6f\\x53\\x83\\x15\\x12\\x6f\\x53\\x7f\\x05\\x1e\\xc2\\x1b\\xb8\\xfe\\xea\\x58\\x78\\x62\\xb7\\x5d\\x21\\x36\\x3c\\xbe\\x7e\\xd2\\xd4\\x53\\x53\\x5a\\x75\\x4b\\xd5\\x5e\\xfd\\xf6\\x27\\x74\\xac\\x7f\\x97\\x1d\\x03\\x6b\\xb6\\xac\\x41\\x5f\\xc2\\xcf\\x66\\x0e\\x23\\x46\\x2b\\xa2\\x2e\\x02\\xbe\\x59\\xc0\\xb7\\x1f\\x57\\x1d\\x73\\x36\\x9b\\x87\\xf6\\x1b\\xf4\\x7e\\x7d\\x20\\x98\\xe9\\x75\\xe2\\x12\\x10\\x03\\x2a\\x3a\\xc0\\x89\\xa2\\x1a\\xd7\\xad\\xd0\\x84\\x7b\\xa3\\xa2\\x8c\\xeb\\xf4\\x36\\x0f\\xb8\\x8e\\x26\\xbd\\x82\\x34\\xa4\\xa0\\x32\\x0d\\xb9\\x68\\x7c\\xaa\\x92\\xf4\\xf4\\xf2\\x8e\\xfd\\xa7\\x4f\\x70\\x0c\\xb4\\x06\\x23\\x03\\xd9\\x56\\xc9\\x3a\\x52\\x52\\xe7\\x3a\\x77\\x94\\xd4\\x62\\xf9\\x0c\\x15\\x0b\\x98\\x94\\x6d\\xd5\\xf3\\x00\\x1f\\x4f\\xe0\\xab\\x8e\\x89\\x7e\\x1b\\xd8\\x7b\\x1a\\x95\\x20\\xd8\\xdc\\x4c\\x30\\xe0\\x72\\x64\\x00\\x35\\x1c\\xd0\\xd3\\xb4\\x88\\x2b\\x5f\\x35\\x00\\x9d\\xa0\\x58\\x4a\\x49\\x42\\x70\\x54\\xa5\\xc5\\x4c\\x92\\x34\\x50\\x8c\\xd2\\x6b\\x5d\\x93\\xe9\\x66\\x91\\x72\\x7a\\xd7\\xf2\\x2e\\x7d\\x4f\\xd3\\xcc\\x61\\x35\\x4d\\x44\\xf2\\xc0\\x6c\\xbf\\xad\\x8f\\x7b\\xe2\\x54\\xe6\\x51\\x90\\xc5\\xf8\\xb8\\xc7\\x74\\xc6\\x90\\x6e\\x7a\\x30\\xf1\\xf9\\x40\\xd5\\x23\\xac\\x6a\\xc6\\x72\\x45\\x1f\\x1c\\x80\\x33\\xd6\\xe1\\xfe\\x47\\xb8\\x57\\xba\\x46\\xad\\xa6\\x78\\x4a\\x6f\\xc0\\x3d\\x97\\x40\\x21\\x02\\x48\\x25\\xa4\\x53\\x8e\\x3a\\xc9\\x01\\xb7\\xf6\\x3f\\x42\\xa1\\x64\\xd3\\xa5\\x6c\\x31\\xca\\x1c\\xd8\\x27\\x1d\\xe7\\x77\\xbf\\x86\\xa2\\xfc\\x6e\\x60\\x0b\\x47\\xf7\\xae\\xd2\\x7c\\x60\\x8e\\xff\\x6c\\x41\\xb3\\x70\\xfe\\x48\\x63\\x8d\\xad\\x09\\xc4\\xd2\\x1d\\xb1\\x4c\\xa3\\xc5\\x42\\x19\\xac\\x56\\x9e\\xe2\\x1d\\x76\\xeb\\x14\\xc3\\x62\\xc3\\x83\\x06\\xc6\\x80\\xcb\\xf1\\xc1\\x6a\\xd3\\x91\\xca\\x5b\\x31\\x55\\x79\\x8b\\x13\\xbc\\xee\\xbc\\x45\\x6c\\xa6\\xd5\\xe0\\x86\\x83\\x42\\x20\\xc2\\x94\\x56\\x06\\xec\\x8d\\x35\\xb8\\xd2\\xc3\\x8f\\xd9\\xd0\\x00\\xcb\\xd6\\xcd\\x0e\\xe9\\x25\\x4f\\xaa\\x12\\xb7\\xfd\\x6b\\xaf\\x25\\x7e\\x79\\xe5\\x15\\x92\\xd3\\xb2\\x1e\\xce\\xa8\\x35\\xc8\\x15\\x91\\x72\\x82\\xd5\\xda\\x33\\x26\\xba\\xec\\x1a\\x51\\xf4\\x0a\\x78\\xdc\\x81\\x9e\\xd5\\xfb\\x03\\x2a\\x6c\\x24\\xd8\\x32\\x32\\x34\\xc2\\x51\\xd4\\xe2\\xa0\\xdd\\xeb\\x35\\xa1\\x63\\xa4\\xcb\\x43\\x79\\x9a\\xb5\\x90\\x56\\xca\\xae\\x58\\xb8\\x58\\xac\\x2a\\xc5\\x4f\\x00\\x2a\\x29\\xce\\x12\\x44\\x4b\\x59\\x24\\x5b\\x6c\\x87\\xc2\\xb8\\x14\\x0a\\xa4\\x9d\\x66\\xef\\x85\\xd7\\x0e\\xbd\\x72\\xe8\\xb5\\x0b\\x7b\\x0f\\xc4\\x07\\x0d\\x18\\x92\\xf8\\x7c\\xc8\\x80\\x41\\xf1\\x53\\x28\\x83\\xff\\x60\\xff\\xc1\\xf7\\x78\\xa4\\x97\\xae\\xf3\\xef\\x1d\\xdc\\xf7\\x21\\x2f\\x5d\\xa5\\x77\\x2d\\x5e\\xc4\\x27\\x7e\\x16\\x56\\xcc\\xbd\\x67\\xa5\\x40\\xab\\xf8\\x45\\x44\\x26\\x3a\\xa9\\x93\\xcc\\x21\\xc0\\x67\\x0b\\xc0\\xa5\\x33\\x92\\xef\\x72\\xe9\\x74\\x25\\x66\\xde\\x5f\\xe2\\x2f\\x8d\\xf2\\x2e\\x63\\x5e\\x4e\\x61\\x98\\x62\\x42\\xb8\\xd1\\x82\\xdd\\x62\\x94\\xcb\\x7b\\x31\\xb0\\xa5\\x60\\x69\\x98\\xab\\xaa\\x6e\\xad\\x26\\x4b\\xcb\\xed\\xbc\\x35\\xa3\\x93\\x56\\x06\\xc8\\xa7\\xb9\\xc6\\xe8\\x8c\\xa1\\x6b\\xff\\xbe\\x9d\\x62\\x1d\\x2e\\xac\\x78\\x6a\\xf3\\x8a\\xad\\xd6\\xdd\\xea\\x58\\xc7\\x8e\\x1d\\xa3\\xd5\\x2f\\xcd\\x6c\\xbb\\x7f\\xd3\\xe8\\x8e\\x03\\x43\\x59\\xed\\x8b\\x27\\x4e\\xa5\\xcf\\x56\\x14\\x16\\xe4\\x47\\x0a\\xf4\\x91\\x29\\x23\\xef\\x9e\\x3f\\x71\\x94\\xa5\\xa4\\x30\\x2b\\x2f\\x90\\xad\\x8f\\xb4\\x19\\xdc\\x65\\xda\\x02\\x7f\\x5d\\x5c\\xfd\\xb0\\x6e\\xc6\\xf2\\x1b\\x78\\x3f\\x83\\xc0\\x5e\\x99\\x01\\x67\\x81\\x7b\\xc6\\x1b\\x68\\xb5\\xda\\x64\\xb7\\xbb\\x5d\\x1c\\x43\\x99\\x4d\\xd8\\x46\\xc0\\xe0\\x03\\xe8\\x69\\x95\\xf8\\x61\\xd9\\x1e\\x6a\\x87\\x9a\\x5e\\x62\\x58\\x79\\xf4\\x5a\\x2c\\x37\\xaf\\xc0\\x1f\\x16\\x97\\xdc\\x1b\\xcb\\xf5\\x96\\x95\\x14\\x2d\\x3d\\x6a\\x7c\\xd4\\xe8\\x29\\x6d\\xc7\\xb8\\xd7\\x2d\\xd2\\x6f\\x36\\xc6\\xba\\xdd\\xfc\\x62\\x9d\\x8c\\xc3\\x07\\x41\\xaf\\xe0\\x9a\\xde\\x0c\\xaa\\x4b\\xcc\\x62\\xa4\\xed\\x7a\\x51\\xf4\\x80\\x1a\\x55\\xd9\\xed\\x2a\\x5f\\xa6\\x97\\x72\\x01\\x97\\x1e\\x32\\xa9\\x54\\x7a\\xad\\x1a\\xab\\x02\\x4b\\x92\\x1c\\xcf\\x35\\x11\\xd8\\xc9\\x36\\x8f\\x29\\x95\\x03\\x18\\x6c\\x5e\\xe3\\x9b\\xd4\\x3f\\x9d\\x6a\\xeb\\x06\\xa6\\x6a\\x7d\\xc7\\x4d\\xac\\x6a\\x59\\x8c\\x7a\\x8f\\xca\\xa7\\x87\\x0d\\x6d\\xac\\xf9\\xfd\\x64\\xcc\\x54\\xc3\\x3a\\xad\\x1c\\xbb\\xb9\\x84\\x3e\\x61\\x11\\xf0\\xa8\\x0b\\x7c\\xad\\x91\\xb1\\x1c\\x1f\\xf2\\xfb\\x9d\\x56\\x3a\\xc3\\x9a\\x61\\x17\\x38\\xb5\\x5a\\xab\\x35\\x18\\x04\\xbb\\x10\\x0c\\xf9\\x00\\x60\\x0e\\x39\\x62\\xc0\\x3b\\x0e\\x87\\x8e\\x71\\xe1\\xa2\\x60\\x77\\xd3\\xa2\\x60\\xcc\\x40\\xe9\\x1d\\x1f\\x1b\\xef\\xec\\xd2\\xab\\x2e\\x89\\x07\\x4c\\xac\\x00\\x47\\xa8\\x98\\x84\\x69\\x95\\x14\\x25\\x62\\x0f\\x04\\x6c\\x56\\xf4\\x07\\x94\\x71\\xba\\xbe\\x9e\\x3f\\x42\\xf3\\x4c\\xd7\\xe7\\x66\\x2f\\xe8\\xd6\\x0d\\x75\\xb8\\x63\\x80\\x74\\x15\\xc4\\xf5\\x5f\\x91\\x5f\\xfa\\xeb\\xc2\\x03\\x33\\x2b\\x3c\\x0b\\x9e\\x7b\\xe4\\xc1\\x2e\\x0b\\x91\\x3f\\xb1\\x66\\x72\\x3f\\xab\\xe1\\x22\\xa9\\x93\\xfd\\x84\\xd4\\xc9\\x02\\x30\\x31\\xa7\\x9b\\xc9\\xcb\\xa3\\x7c\\x06\\x55\\x38\\x6c\\x36\\x30\\x36\\x90\\x05\\xc5\\x25\\xc8\\x66\\x2b\\xb4\\x63\\x14\\x07\\x53\\x9d\\x0c\\x53\\xc6\\x8a\\xb9\\x31\\xb0\\x86\\xe9\\x14\\x1b\\x25\\x0a\\x3d\\x02\\xeb\\x57\\x02\\xc9\\x92\\x19\\x4e\\xb8\\xbb\\x2d\\x9d\\x6c\\x3b\\x46\\x2e\\xeb\\x5a\\x23\\xe6\\x6a\\xfb\\x42\\x5f\\xc4\\xf7\\xf6\\xce\\x17\\xce\\xf5\\x33\\x15\\x76\\xb8\\x3f\\xd6\\xcb\\x99\\xe1\\x1c\\x5d\\x57\\x3b\\xca\\xe9\\x75\\xf6\\x6e\\xb7\\x8a\\xed\\x17\\x30\\x56\\x74\\x1b\\xd8\\xe2\\x91\\x17\\x5f\\x7c\\x64\\xdc\\x0a\\x97\\x39\\xf0\\x60\\xcf\\x58\\xe0\\x8e\\xee\\x75\\xc5\\x83\\xee\\x9e\\x38\\xa4\\xb0\\xae\\x47\\xc7\\x40\\xfb\\x1e\\x78\\x0e\\x2f\\xc8\\xad\\x5d\\x00\\xfb\\x2d\\x3d\\xb0\\x4a\\xfe\\xe7\\x1e\\x58\\x63\\x9e\\xdd\\x7a\\xba\\x55\\xf7\\xee\\xad\\x4e\\x3f\\x8d\\x3e\\x7e\\x74\\x2b\\xfa\\x50\\x6a\\x77\\x27\\xfc\\x0f\\xbd\\x2a\\xe5\\x6f\\x7d\\x94\\xd0\\xa1\\x17\\xde\\xb1\\x8f\\xd4\\x5e\\x16\\xc7\\xb4\\x76\\x9d\\x4e\\x2d\\x32\\x6a\\xc6\\xed\\xd1\\x9c\\xc2\\x3d\\x11\\x88\\x93\\x65\\x85\\xc7\\x5a\\x90\\x57\\x55\\x37\\x6d\\x59\\x96\\xec\\x93\\x92\\x7c\\x67\\xb2\\xd5\\x12\\xa2\\xdf\\x9d\\x36\\xf5\\xe0\\xee\\x67\\x36\\xc2\\x9b\\xb7\\x14\\x17\\x15\\x06\\x6d\\x71\\xf6\\xfa\\x23\\xdb\\xbe\\xfe\\xe5\\x89\\x67\\xd1\\x45\\xa9\\xfb\\xf0\\x11\\xa8\\xfd\\x88\\x5e\\xaa\\x0d\\x9c\\x40\\x35\\xab\\x63\\x56\\xd3\\x1a\\x2d\\xa3\\xc6\\x0e\\x01\\x9f\\x2c\\x7d\\x4d\\xd5\\x31\\x47\\x51\\x88\\x01\\xcf\\x8d\\x09\\xa1\\x9f\\xbf\\x40\\xc2\\xc5\\xa5\\x39\\xaa\\xe8\\xca\\xf3\\xd8\\x08\\x46\\xbb\\xd7\\x64\\xed\\x91\\x70\\x0f\\x32\\x54\\x0d\\x6b\\xad\\x25\\x6b\\xe5\\xc6\\x74\\x02\\x03\\x76\\x30\\x48\\x78\\x58\\x92\\x60\\x4c\\x48\\xb5\\xc3\\x14\\x9b\\x8c\\xc0\\x48\\x5e\\x45\\xd9\\xe0\\xeb\\x83\\xa4\\x57\\x69\\x51\\x7a\\x1e\\xcd\\x45\\xd7\\xd6\\xa0\\xcf\\x1e\\x5c\\x2b\\x85\\x1e\\xc2\\x30\\x7e\\x09\\xf2\\xee\\x1f\\xb0\\xae\\x15\\x4f\\x9d\\xd5\\x70\\x66\\x83\\x81\\xb2\\x18\\x75\\x94\\xce\\x6e\\x33\\x9a\\x70\\x51\\x38\\x4b\\x0b\\x16\\x5d\\x5a\\x7f\\x11\\xb1\\x79\\xeb\\xe6\\x34\\xe1\\x95\\xba\\xfa\\x62\\xba\\x0d\\x08\\x46\\xee\\x28\\x9a\\x38\\x45\\xea\\x8a\\xa6\\x48\\x2f\\xd1\\x11\\x69\\x03\\x7a\\x10\\xed\\x1a\\x48\\xc4\\x52\\x25\\x7e\\xfd\\x3a\\x29\\x4b\\xe6\\xc5\\x3d\\x68\\x30\\x9b\\x09\\xef\\xb7\\x83\\xf5\\xdd\\x29\\xe6\\x50\\x73\\x5e\\xa4\\x62\\x59\\x44\\x31\\xb4\\xc3\\x44\\x9b\\x7c\\x7e\\x97\\x1e\\xb4\\x28\\x0f\\x90\\x1c\\xf2\\xaa\\xd5\\x76\\x2b\\x2d\\x83\\x72\\x8e\\x48\\x8a\\x34\\x8f\\x4a\\x21\\x67\\x02\\x51\\x65\\x12\\x8e\\x68\\x32\\x0c\\x9c\\x8f\\x78\\x81\\xa8\\x7b\\x01\\x9c\\xfa\\x3d\\x59\\xd2\\x27\\x49\\xa8\\x76\\xd4\\x3f\\xd8\\x6f\\xe0\\xb8\\x45\\x33\\x5e\\x71\\x17\\xa0\\xa1\\x15\\x81\\xd6\\xd9\\x53\\xba\\xa3\\x1d\\x1d\\x15\\xfc\\xac\\x98\\x35\\x7a\\xe0\\x98\\xf1\\xc5\\xc3\\xd1\\xa0\\xd2\\x8a\\x4a\\x7c\\x06\\x3a\\xc0\\xd5\\x19\\x80\\x15\\xf7\\x54\\x73\\x3b\\x0c\\x1a\\x41\\xaf\\x66\\xc0\\x14\\x12\\x18\\x8f\\xd7\\x20\\x38\\xe1\\x43\\x59\\xf5\\x1a\\x8d\\x96\\xb8\\x9e\\x00\\xcc\\xeb\\xa5\\x4a\\x29\\x4a\\x7a\\x1a\\x2c\\xe9\\x1c\\x9a\\xd6\\x8e\\x9b\\x49\\xd6\\x18\\xe3\\x5b\\x71\\x7a\\x48\\xbc\\xdb\\xe4\\x85\\x9d\\xfe\\x2e\\x2d\\xa2\\xc7\\xfc\\xb4\\x6a\\xf3\\x2b\\xbb\\x1e\\xdc\\x2f\\x9e\\x50\\xf7\\x43\\x9d\\x46\\x4c\\x19\\x33\\x62\\xc5\\x0f\\x0f\\x3e\\x20\\x35\\x18\\x77\\x2e\\x7f\\xf6\\xf4\\xba\\xc5\\xea\\x2e\\x5d\\x64\\xff\\x25\\x1f\\x68\\x7c\\x3b\\x27\\x51\\x1a\\xd0\\xff\\x76\\x80\\xcb\\x61\\xd5\\xeb\\x29\\x8b\\xc1\\x00\\xd4\\xe1\\x74\\x18\\x8a\\x2d\\xd5\\x16\\xda\\x62\\x61\\x44\\x15\\x0e\\x2c\\x68\\xd3\\x15\\xff\\xad\\x7a\\x1f\\x67\\x6f\\xd3\\xa2\\x29\\x50\\x6a\\x4e\\x66\\x80\\x32\\xb8\\x08\\x72\\xfb\\xb3\\x8f\\x6f\\x78\\x0e\\xb5\\x7d\\xf6\\x51\\xe9\\xd5\\x05\\x42\\x03\\x45\\xb7\\xaf\\x5e\\xc2\\x80\\xb3\\xdf\\x86\\xf9\\x97\\x74\\x5d\\xfa\\x15\\xb1\\xc8\\x48\\x9b\\xa4\\x5f\\x12\\xa3\\x51\\xdf\\x67\\xf6\\x31\\x41\\xe9\\xe8\\x73\\xcf\\x00\\x5c\\xd2\\x7a\\x76\\x07\\x9a\\xcc\\xf7\\x03\\xbb\\x1f\\x4f\\xe6\\x31\\x1d\\x12\\x78\\x46\\xab\\xc1\\x39\\xd8\\xa5\\x97\\xf1\\x21\\x61\\x37\\xd3\\x62\\xab\\x04\\x9f\\x88\\x83\\x7f\\x0f\\x7d\\xdb\\x3a\\x7a\\x21\\x91\\x75\\x01\\xbe\\xf3\\x40\\x58\\x9a\\x1e\\x78\\xef\\xd3\\x4f\\xe1\\x1f\\xea\\x7f\\x58\\x87\\x29\\xb7\\x44\\x6d\\x4c\\x58\\x59\\x67\\x46\\xeb\\x6f\\x0f\\x49\\xeb\\x2f\\xa0\\x9e\\xb0\\x52\\x00\\xad\\x0b\\x4b\\xb3\\x95\\x95\\x50\\xc3\\x5c\\xa9\\x86\\x1a\\xd8\\xb0\\x93\\xca\\xa7\\x0c\\x07\\xed\\x56\\x2b\\x96\\x09\\x6f\\x45\\x4d\\xe7\\xc8\\xad\\x7d\\x79\\x59\\x3b\\x5a\\x16\\x6f\\xf8\\x4f\\x52\\xad\\x2c\\xd7\\xf0\\x92\\x6c\\x6c\\x59\\x04\\x3a\\x06\\x0e\\x1b\\xe1\\x0f\\xfb\\xe1\\x9f\\x70\\x7e\\xb8\\xa0\\xa8\\x54\\x15\\xed\\x1c\\x8d\\xd6\\x18\\x0d\\x3d\\x40\\x14\\xde\\x25\\xd5\\xf8\\x3c\\x46\\xbb\\x09\\x1b\\xa3\\x06\\x8b\\xa8\\xb7\\x99\\x4d\\x2a\\xb3\\xad\\xc4\\x1b\\x76\\xe1\\x3c\\x71\\x96\\x75\\x05\\x8c\\xc0\\x53\\x2a\\x33\\x38\\x3d\\xd2\\x53\\xec\\x87\\x68\\x05\\x8f\\xdb\\x3d\\x58\\x8f\\x20\\x51\\xd4\\xe9\\x34\\x4b\\x78\\xaa\\xd8\\xfd\\x56\\x54\\x24\\x43\\xf1\\xf1\\x14\\x56\\x9c\\x44\\x5f\\x1e\\x05\\xbe\\x6a\\x47\\xb7\\x46\\x68\\x45\\x45\\xbb\\x09\\x77\\x4d\\xaa\\xbe\\x67\\xe1\\xa1\\xc9\\xb9\\x83\\x46\\xcf\\xb8\\x23\\xc2\\x55\\xfa\\xb2\\x7c\\x4f\\x6d\\x58\\x12\\xcc\\x09\\xc2\\x7a\\xe7\\xd8\\x17\\x50\\x2b\\xee\\x0a\\xe0\\x47\\x77\\x80\\x5e\\x02\\x7f\\x14\\x47\\xdd\\x6f\\x61\\x6f\\xaa\\xd2\\xc1\\x05\\xa4\\x73\\xa8\\xf5\\xf7\\xdd\\xa4\\x7f\\x4a\\xdb\\xb8\\x3e\\xcb\\x37\\x6c\\xa6\\x9a\\x3d\\xcf\\x32\\x4b\\x10\\xbc\\xfb\\x32\\xf1\\xbe\\xc2\\x95\\x8e\\x00\\x6a\\x25\\x6d\\x93\\xfe\\xd9\\xed\\x7b\\xd4\\x9a\\x7d\\x61\\xf3\\x86\\xe5\\xcd\\x9f\\xe7\\xd0\\x12\\x06\\x3f\\x4f\\x7a\\xff\\x73\\x42\\x36\\x5e\\x7f\\x18\\xb2\\x75\\xfb\\x5e\\x7a\\x83\\xbb\\x72\\x9b\\xe7\\x11\\xb7\\x84\\xc6\\x7b\\x23\\xcf\\x0b\\xd9\\x61\\xbc\\xfe\\x1b\\xdf\\x77\\x43\\x36\\x34\\x8c\\x2b\\x52\\xe0\\x19\\xc8\\x9e\\x46\\xcf\\x73\\xdf\\x81\\x08\\xf3\\xc4\\xb4\\x3c\\xe2\\x68\\x04\\x1f\\x6a\\x09\\x8b\\xbf\\x97\\xac\\xe4\\x82\\xaf\\x3b\\x2a\\xe1\\x7d\\x42\\x58\\xda\\xfe\\xf9\\x77\\xa8\\xa2\\xfb\\x37\\x5f\\x48\\x6f\\x72\\xdf\\xcd\\x9f\\xb3\\x65\\xc3\\xd2\\x45\\x8f\\x11\\xbf\\xa0\\xe9\\x3a\\x88\\x07\\x99\\x01\\x1f\\x81\\xc0\\x9b\\xbe\\x0e\\x97\\x0d\\x70\\x38\\x2a\\xd1\\xf3\\xd2\\x9b\\x5f\\x7c\\xd3\\x1d\\x55\\x7c\\xf7\\x39\\x37\\xe4\\xb1\\x45\\x4b\\x37\\x6c\\x99\\x33\\x9f\\xac\\xd3\\xb0\\x56\\x1a\\x40\\xcd\\x6c\\x78\\x13\\xf4\\x92\\x0e\\x3c\\x09\\x4a\\x05\\x64\\xf2\\x3a\\x7c\\x91\\x11\\xb3\\xa3\\x4a\\x9e\\x8d\\x12\\xa9\\x9a\\xca\\x0c\\xe5\\x90\\xa1\\x30\\xcf\\xaa\\x71\\x89\\x59\\x65\\xd2\\x00\\xe4\\xe8\\x57\\x93\\x53\\xc8\\x8d\\xe1\\xaa\\xaa\\x9e\\x80\\x75\\xa6\\xb0\\x13\\xa9\\x87\\xe0\\x9c\\x79\\x4a\\xb5\\x0f\\xc1\\xa9\\xbc\\x0d\\x6b\\x84\\x6d\\x82\\xc3\\x16\\x7e\\x18\\x05\\xb6\\x6e\\x95\\x3e\\xe3\\xfa\\xef\\x5b\\xdc\\xbb\\xf7\\xe2\\x7d\\x14\\x2d\\x7d\\x06\\xdf\\x7e\\xbc\\xe1\\x3a\\x76\\x13\\x28\\x57\\x4c\\xa3\\x11\\xb4\\x2a\\x01\\x3e\\xe4\\x6b\\x18\\x76\\xd3\\xeb\\x78\\x02\\x26\\x50\\x78\\x65\\x76\\x39\\xe7\\x60\\xa2\\x8e\\xca\\x28\\x23\\x7d\\xb6\\x75\\x2b\\x0a\\xec\\xdd\\xb7\\xa4\\xa6\\x76\\xd1\\xbe\\x9f\\xe5\\xa5\\x5e\\x90\\x57\\x26\\x75\\xd5\\x94\\x34\\x80\\xbd\\xcc\\x75\\x32\\x47\\x28\\x10\\xb4\\xa2\\x40\\xff\\x9d\\x1e\\x0b\\xfb\\xd3\\x1f\\x61\\x68\\xca\\x66\\xe4\\xa8\\x30\\xca\\x2f\\x2f\\xc7\\xcf\\x4d\\x80\\xe7\\x1e\\x63\\x6b\\xe0\\xb9\\x8e\\xca\\x73\\x78\\x66\\x85\\x69\\x1f\\x43\\x1f\\x6d\\xb8\\x7e\\xb0\\x65\\x29\\xe3\\x91\\x1f\\xc5\\xcf\\xde\\x0f\\x06\\xfc\\x76\\x7e\\x23\\x3c\\x1b\\x26\\xcf\\x62\\xd4\\xbf\\x4f\\xd9\\x5f\\xa1\\x98\\x86\\xf7\\x62\\x6a\\x5f\\x00\\x96\\x65\\x02\\x5c\\x84\\xca\\x2f\\x87\\xaf\\xe0\\xde\\xf0\\x72\\xdd\\x33\\x3c\\xdf\\x09\\x4f\\x66\\x84\\xe7\\x37\\x53\\x1a\\xbc\\x0e\\x70\\xf5\\x76\\x02\\x1b\\x59\\x47\\xf5\\x6f\\xa6\\x0a\\x56\\x32\\xe0\\x75\\xde\\x3d\\x48\\x96\\x51\\xbe\\x0f\\xcf\\xa5\\xbe\\x4f\\x9e\\x6b\\x25\\x3f\\x47\\x37\\x5c\\x3b\\x18\\xc9\\xa1\\xf4\\xca\\x73\\xf7\\x4b\\xc7\\xd2\\xd7\\xa3\\xff\\x43\\x4f\\x4b\\xae\\xf7\\xde\\xc1\\x80\\x3f\\x6d\\xbd\\x63\\xe9\\xeb\\xc1\\x73\\xe3\\xe0\\x39\\xed\\x61\\x5a\\x9d\\x93\\x2d\\x2f\\x26\\xd7\\xd7\\xd7\\x4a\\x77\\xb0\\x1b\\xf9\\x1d\\xf0\\x5c\\x04\\xe0\\xce\\xa6\\xe6\\xa1\\x91\\xf8\\x79\\x6a\\x36\\x75\\x2f\\x75\\x83\\xf2\\xc6\\xcc\\x28\\x9f\\x8b\\x20\\x8b\\xc7\\xae\\xe5\\xc3\\x68\\x49\\x7e\\x31\\xfe\\x23\\xbf\\x1c\\xbe\\x9d\\x2f\\xe3\\x69\\x32\\x7c\\xbf\\x1f\\xb7\\x1f\\xbe\\xdf\\x59\\xf9\\x7e\\x1d\\x7c\\x9f\\xa7\\x66\\xc3\\x11\\x58\\x80\\x3a\\x8b\\xc4\\x08\\x9a\\x5e\\x54\\xca\\xd8\\xc8\\x2b\\xf3\\xc9\\x39\\xdc\\x87\\xe7\\xbf\\x13\\xdc\\x66\\x37\\xc5\\x2d\\xdd\\xf0\\x45\\x4c\\x6d\\xb6\\xc2\\x26\\x68\\x6b\\x1a\\x6e\\x47\\x00\\x6e\\xdb\\x93\\xbd\\x80\\x22\\x30\\xf1\\xf4\\x63\\xab\\x79\\xf2\\xee\\xfb\\x00\\x67\\x0b\\x09\\x2e\\xb2\\x9b\\xe2\\x96\\x6e\\xb8\\x7a\\x90\\x2c\\xa3\\x7c\\x1f\\x9e\\x4b\\x7d\\x9f\\x3c\\xd7\\x5a\\xc6\\x85\\x3d\\x92\\xa3\\x71\\x34\\xe2\\xe2\\x3e\\xc0\\x59\\xda\\x7a\\x80\\xb3\\x49\\xc9\\xf5\\xbe\\x38\\x68\\xb5\\xa4\\xad\\x77\\x2c\\x7d\\x3d\\x78\\x6e\\xa0\\xbc\\x9e\\x2e\\x27\\xbb\\xe9\\x7a\\x55\\x4d\\xd6\\xfb\\x8a\\xd0\\xa5\\x02\\x9f\\xcb\\x9d\\xb6\\x5e\\x55\\x93\\xf5\\xbe\\xa2\\xa7\\xca\\xeb\\x65\\x16\\x16\\x35\\x5d\\x4f\\xd5\\x64\\xbd\\x7f\\x91\\xf7\\x2a\\xf0\\x39\\xcd\\x69\\xeb\\xa9\\x9a\\xac\\xf7\\x2f\\xba\\x46\\x5e\\xcf\\x56\\x10\\x49\\x5f\\x0f\\xd3\\xf8\\x3c\\x21\\x1f\\x9e\\xcb\\x21\\x78\\xb9\\x49\\xe0\\x73\\xef\\xa3\\xd1\\xd1\\x86\\x2f\\x63\\x1a\\xab\\x0d\\x69\\xc3\\x34\\xb2\\x90\\x93\\xc0\\x47\\x81\\xd7\\x1e\\x0d\\x67\\x31\\x9e\\xc7\\x6b\\x77\\xc5\\xe7\\x4d\\x9f\\x65\\x3a\\x34\\xac\\x13\\x05\\x75\\x77\\x64\\x6d\\xf8\\x81\\x72\\xc4\\xf4\\x0c\\x1d\\x11\\x23\\x0c\\x8d\\x42\\x59\\x8c\\x56\\x66\\x27\\xc2\\x52\\xb7\\x7b\\x5f\\xa2\\xe9\\xfb\\xc0\\x37\\xc0\\xef\\xb3\\xfd\\xd7\\xf7\\xbd\\xca\\xac\\x52\\xde\\x97\\xf9\\x7f\\xbf\\x0f\\xf0\\x30\\x8f\\xe0\\x2b\\x47\\xc1\\xc3\\x12\\x19\\x5f\\xa8\\xe1\\x97\\x83\\x16\\x3d\\xd2\\x2a\\xf8\\x1a\\x0d\\xcf\\x8d\\x27\\x72\\xa1\\xab\\xf2\\xdc\\x24\\x19\\x5f\\x54\\x56\\xa6\\xbc\\x68\\x72\\xbd\\x95\\x4d\\xd6\\xfb\\x37\\xda\\x40\\x9e\\x43\\x94\\x2d\\x80\\xd2\\x9e\\x1b\\x0d\\xcf\\xa5\\xaf\\xf7\\x6f\\x34\\x47\\x59\\x2f\\x52\\xda\\x74\\xbd\\x3b\\xd8\\x79\\xfc\\x2e\\x79\\x3d\\xc2\\x3b\\xbb\\xc9\\xf3\\x5b\\xe0\\xd7\\x37\\x28\\xdb\\x41\\x1a\\x04\\x0c\\x46\\xcd\\xc1\\xac\\x7c\\x4a\\x93\\xc6\\x3f\\xa3\\xe1\\x7b\\xe3\\xb9\\x43\\x49\\x9c\\xc0\\xf7\\xe6\\x61\\x9e\\x23\\xdf\\x03\\x9e\\xa3\\x4b\\xc5\\x08\\xcd\\x94\\xb7\\x61\\xd2\\xbf\\xb3\\x13\\x70\\x5f\\x4f\\x78\\x2e\\x57\\xe1\\xb9\\x4c\\xe0\\x39\\xcc\\xa1\\x2a\\xad\\x5e\\x50\\x87\\x91\\x3e\\xc9\\x70\\xb2\\xad\\x4a\\xea\\xf5\\xf9\\xf9\\xe0\\x5b\\xb9\\xa8\\x1e\\xb1\\x1c\\x0b\\xc2\\x17\\x1f\\xac\\xdd\\xe5\\xb2\\xe9\\x59\\x3d\\xf8\\x15\\xc6\\xda\\x38\\xc5\\x72\\x6c\\xed\\xff\\xc7\\xdb\\x7b\\xc0\\x47\\x55\\x65\\x01\\xe3\\xf7\\xbe\\x3a\\x6f\\x7a\\x9f\\xc9\\x4c\\x92\\xc9\\x64\\xd2\\x3b\\x19\\x92\\x10\\x5a\\x46\\x01\\x41\\x44\\x41\\x8a\\x30\\xd2\\x41\\x01\\xb1\\x50\\x44\\x40\\x2c\\x20\\xa0\\x58\\xd1\\x00\\x16\\x54\\x14\\x5c\\x15\\x50\\x01\\x97\\x2e\\x16\\x5c\\xc5\\x0a\\xd8\\x57\\x45\\xb1\\xac\\x65\\x75\\x6d\\xb0\\xae\\x95\\x30\\x2f\\xff\\x73\\xef\\x2b\\xf3\\x66\\x92\\xe8\\xee\\xff\\xfb\\x7e\\x1f\\x30\\x61\\x72\\xdf\\x79\\xe7\\x9e\\x7b\\xfa\\xb9\\xf7\\xbd\\x7b\\x93\\x1e\\x9e\\x67\\xcc\\xdc\\xe2\\xc0\\xb6\\x00\\x13\\x20\\xc7\\x29\\xd5\\x8e\\xd7\\xdf\\x19\\xaa\\xcc\\x5c\\x05\\x89\\xeb\\x27\\x6c\\x74\\x78\\xa0\\x9e\\x6c\\x52\\xc0\\xdc\\x22\\x7f\\x9d\\xf9\\x34\\xbd\\x6c\\xc6\\x39\\xcc\\xb7\\x29\\x1f\\xf3\\xad\\xe1\\x41\\x7a\\xe6\\x6f\\xaf\\xbf\\x4e\\xfc\\x16\\xe8\\xc5\\x0c\\xe1\\x62\\x18\\x4f\\x05\\x19\\x0f\\xe8\\x43\\x14\\x8b\\x74\\x3c\\xe6\\xfc\\x3c\\x3e\\x54\\x8c\\xf3\\x0d\\xe3\\x01\\xf8\\x2b\\xe5\\xb3\\xb8\\x73\\xf9\\xb1\\x00\\x3f\\x58\\x85\\x6f\\x04\\xfd\\x21\\xdc\\x72\\xd6\\x77\\x73\\xe7\\x15\\x13\\xa6\\x19\\xe1\\xc9\\xb9\\x35\\xfd\\x84\\x1b\\x01\\xbe\\x52\\xf7\\x51\\x2f\\x53\\xfc\\xc8\\xe6\\xe0\\x41\\x88\\x8e\\x4c\\x7e\\xdd\\x0a\\xf0\\xc3\\x84\\x8b\\x21\\x2f\\x0d\\x91\\x67\\x08\\xfc\\x5e\\xa7\\xd3\\x15\\x0a\\x98\\x44\\x31\\xe0\\x82\\x94\\x39\\x10\\x1c\\x91\\x0c\\x24\\xdc\\xac\\xc9\\xe5\\x43\\x56\\xd6\\x3a\\x5c\\x39\\xba\\x4b\\x59\\x4a\\x6e\\x09\\xbd\\x56\\x99\\xf9\\xf0\\x47\\xfa\\x85\\xb1\\x68\\xfa\\xb1\\xe5\\xa8\\xcb\\x2b\\x7a\\x48\\xa6\\xff\\x60\\xf3\\x63\\x0b\\x36\\x6d\\x92\\xbf\\x3e\\x7b\\xdc\\xb4\\xab\\xc8\\x93\\x04\\xa6\\x9e\\x38\\x87\\x9d\\x72\\xe5\\xec\\xc3\\x6f\\xa7\\x86\\x33\\x17\\xdf\\xb9\\x60\\xdb\\x0d\\xa9\\xa7\\xf9\\x01\\xf2\\x8f\\x17\\xcf\\x60\\x7a\\xbf\\xfe\\x3a\\x1d\\x0b\\xf8\\xbf\\x7e\\x54\\x6f\\x2b\\x0d\\x7e\\x92\\xe8\\xad\\x32\\x14\\x6d\\xcc\\xb7\\x02\\xdc\\x30\\xea\\x37\\xce\\x50\\xe1\\xfa\\xab\\x70\\xc1\\x90\\x5b\\x2c\\xce\\xe2\\xcd\\x6c\\x0d\\x9f\\x74\\x1a\\x26\\xe7\\xa6\\x83\\x2d\\x32\\x18\\xb9\\x08\\xc6\\x0c\\xa7\\x41\\x73\\xf7\\x0c\\xfe\\x90\\xb5\\x87\\x12\\x03\\x87\\xc2\\x2e\\x2e\\x52\\x10\\xcc\\x0d\\xe7\\x0e\\x4f\\x06\\xc2\\x5d\\x73\\xa9\\xbe\\xe3\\x1b\\x45\\x5d\\x72\\x0a\\x0a\\x7a\\x5f\\x94\\xac\\x42\\x74\\xe0\\x16\\x2e\\xff\\x3c\\x75\\xd9\\xa7\\x5d\\x30\\xac\\x8e\\x1c\\xd6\\xa4\\x8c\\x11\\x6c\\x4c\\xe7\\x99\\x53\\x40\\x8b\\x46\\x6a\\x3c\\xea\\x97\\xe6\\x11\\x69\\x1f\\xa2\\xf2\\x44\\x76\\x19\\x79\\xcc\\x1c\\xa3\\xb9\\x05\\xe1\\x9d\\xc3\\x9f\\xc9\\x63\\x97\\x91\\xc7\\x00\\xb7\\x44\\x85\\x0b\\x45\\x8d\\x3c\\x5e\\x07\\x3e\\xa4\\x1b\\xc5\\x57\\xa5\\xfa\\x90\\xb9\\xba\\xaf\\x51\\x62\\xb0\\x02\\x37\\x1f\\xe0\\xae\\xa0\\xf8\\x86\\xa8\\x70\\xd7\\x69\\x31\\xe1\\x87\\x9d\\x81\\x18\\xc7\\xa8\\x3e\\x6e\\x1d\\xf0\\xbf\\x1b\\xf5\\xbd\\x14\\x9f\\xe9\\x67\\x66\\x32\\xc0\\x85\\x13\\x0e\\x70\\x9d\\x28\\x68\\x03\\x94\\xf0\\x25\\xa0\\x48\\x8d\\x8a\\x4d\\xc3\\x0f\\xf7\\x5d\\x21\\x7c\\x06\\xf7\\xfd\\x07\\xc6\\x5b\\x82\\x66\\xbe\\x4a\\x24\\xde\\x0f\\x8f\\x42\\xbd\\x50\\x75\\x22\\x9f\\x0d\\x24\\x9c\\xce\\x41\\x81\\x84\\xc3\\x01\\x3f\\xac\\xd6\\x41\\x01\\x06\\x9b\\xc1\\xfb\\xe0\\x80\\xdd\\xca\\x62\\xdd\\x1d\\xbb\\x2a\\x2b\\x35\\x7a\\xaf\\x07\\x7c\\x87\\x85\\x8d\\x80\\xaf\\x06\\x29\\x98\\x6e\\x53\\xbc\\x16\\xee\\x6d\\x73\\x12\\x46\\xb9\\x32\\xed\\x8a\\x9e\\x09\\x2a\\x6c\\x86\\x7a\\xce\\x85\\x06\\x26\\x8a\\xb1\\xd9\\xcc\\x9a\\x24\\x49\\x79\\xfd\\x95\\xb3\\x58\\x9d\\x9c\\xc7\\xad\\x1c\\x96\\xc0\\xdb\\x97\\x58\\x79\\xd6\\xe4\\x40\\x9c\\xf2\\xf2\\xc3\\xc7\\xa1\\xc3\\x86\\xb7\\x42\\x54\\xff\\xa3\\x3c\\x4f\\x17\\x4d\\xbf\\x13\\xc2\\x40\\x65\\xea\\xe3\\xd9\\x49\\x99\\x6f\\x83\\xac\\x3d\\xf9\\xf5\\x49\\xcc\\xc8\\x8f\\x29\\xef\\x82\\x0c\\x48\\x35\\x90\\x77\\x41\\x52\\x17\\xf1\\x77\\x46\\xfe\\x53\\xf9\\x95\\x3a\\x0e\\xb0\\x15\\x25\\xe7\\xac\\xc9\\xcc\\x3d\\x70\\xfb\\x93\\x3b\\x35\\xb3\\x22\\x67\\x9a\\x02\\xdc\\x6a\\x2a\\x9f\\xb3\\x54\\xb8\\x41\\x1a\\xdc\\x3b\\x46\\xb8\\xeb\\x21\\xa7\\x30\\xe0\\x83\\x9c\\xe2\\x3e\\x0d\\xee\\xa9\\x9d\\x0e\\xbb\\x01\\xdf\\x3e\\x23\\x3e\\x23\\xdc\\x8b\\x46\\xb8\\xb7\\xa1\\xdf\\x29\\x14\\x5f\\xad\\xda\\xef\\x45\\xaa\\xfe\\x88\\x12\\xe6\\x8d\\xfa\\xb3\\x4a\\xd5\\x9f\\xa1\\x2a\\xdc\\x24\\x05\\xce\\x6b\\xb1\\x29\\xca\\xa3\\xc0\\x51\\x7c\\xd4\\xdf\\xd6\\x92\\x98\\x03\\xfe\\x73\\x24\\x70\\x91\\xc0\\x5f\\xa8\\xca\\x0f\\x49\\x26\\xcc\\x15\\x63\\xc9\\x28\\x3f\\x56\\xc1\\x0f\\x76\\x4f\\x2a\\x5a\\x17\\x1a\\x9a\\x28\\xb7\\x22\\x97\\x8b\\xb7\\x8b\\x76\\x6c\\x63\\x31\\xeb\\x71\\x9b\\xc4\\x61\\x49\\x13\\x6b\\x33\\x9f\\x9d\\xb4\\x21\\xbb\\x63\\x44\\xd2\\xce\\x22\\x8e\\x85\\xb0\\xc2\\x6a\\x2f\\x96\\x3b\\x5f\\x4c\\x3f\\x0f\\x9a\\x79\\x34\\x1b\\x99\\x22\\x8f\\xfa\\xa2\\xca\\x11\\x28\\xe4\\xa0\\x1e\\xe2\\x1e\\xd9\\x10\\x9e\\xdc\\xd6\\x86\\x6f\\x92\\x3f\\x66\\x7a\\xc9\\x21\\xe6\\xbc\\xd4\\xbd\\x87\\x71\\xce\\x33\\xcf\\x3c\\xc3\\xbe\\xf2\\x0c\\x2e\\xdb\\xf4\\xdb\\x61\\xfa\\xa8\\x15\\x1d\\xcf\\x3e\\x23\\x7f\\x80\\x8f\\x9b\\x34\\x3e\\xfe\\xbc\\x13\\x46\\xc2\\xab\\x7c\\x9c\\x0f\\x70\\x06\\xfe\\x00\\xdc\\x5f\\x34\\xdf\\x69\\xcd\\xe4\\x8f\\x29\\x03\\xdf\\x0f\\x69\\xb9\\xfc\\xb4\\xd3\\x26\\x1a\\xf0\\x99\\x32\\xf0\\xfd\\xc0\\xac\\x51\\xf0\\x99\\x5c\\x16\\x23\\xbe\\xa9\\xa0\\xf7\\x33\\xa9\\x9d\\xd4\\xa9\\x76\\x32\\x53\\xe5\\xf3\\xb9\\xe1\\x7c\\x67\\x4e\\x31\\x8e\\x64\\xc6\\x37\\xc8\\xf2\\xb9\\xa5\\x34\\x0f\\x1f\\xa6\\xe6\\xef\\x2b\\x55\\xf8\\xb5\\xe5\\x55\\xd6\\xfc\\x62\\x5c\\x9d\\x19\\xdf\\x14\\xfc\\x6b\\x34\\xfc\\x6a\\x0e\\x4e\\xe5\\x18\\xce\\x23\\xf8\\xf3\\x3a\\xc3\\xff\\x9c\\x82\\x9f\\xe4\\xe0\\x48\\xc5\\x03\\xf2\\x9d\\x49\\xc7\\x5d\\x47\\xea\\x1e\\xc5\\x0e\\x08\\x3c\\xb4\\x2f\\xa5\\x39\\xd0\\xb0\\x8c\\x76\\x92\\xfb\\x9f\\x46\\xfb\\xed\\xa6\\xf6\\xeb\\x55\\xfb\\xf5\\x3a\\x5c\\x82\\x2d\\xd3\\xfe\\x55\\xf8\\x61\\xb4\\x5f\\x5a\\x57\\xd0\\x7e\\xfd\\x84\\xab\\x6d\\x09\\x29\\x94\\x6b\\x0b\\x16\\xe3\\xdc\\xf4\\xc0\\xd4\\x9a\\xe0\\x34\\x4a\\x4f\\xb7\\xcc\\x7e\\x49\\x6c\\xe3\\x86\\x2a\\x78\\x68\\x7b\\x3f\\x3d\\xe7\\x37\\xc0\\x83\\x7c\\xe7\\xeb\\xed\\x06\\x78\\x68\\xbf\\x51\\xcf\\xc1\\x8d\\xf0\\x34\\x57\\x54\\xdb\\x8d\\xf0\\x5a\\xfb\\x20\\xc8\\x53\\xae\\x15\\x8e\\xbb\\xc9\\x1e\\xed\\xc4\\xbe\\x64\\x66\\x5a\\xfb\\x0b\\xc8\\xbc\\x93\\x65\\x94\\x04\\xa5\\x41\\x3b\\x87\\x57\\xb4\\x01\\xcc\\x70\\x6a\\x5b\\xfd\\xf0\\x3c\\x34\\x0d\\x78\\x73\\x80\\xdb\\x28\\x5f\\x81\\x4c\\x3b\\xd8\\x7c\\x3a\\xc4\\x4e\\xf1\\xb5\\x53\\x7c\\xd6\\x5d\\x9c\\x8e\\x50\\x81\\xa3\\x38\\x85\\x57\\x75\\x9c\\x24\\x46\\x9f\\xab\\xe3\\x8c\\x27\\xc0\\xdd\\x87\\x89\\xeb\\x0e\\x13\\xd7\\x1d\\x4e\\xd8\\x6c\\x83\\xc2\\x4b\\xc0\\x7f\\x87\\x13\\x66\\x0b\\xfc\\x90\\xa4\\x41\\x61\\x2e\\x42\\x7b\\x75\\xd1\\xfd\\x1c\\xf4\\x9c\\x3a\\xbb\\xff\\x93\\xfa\\x78\\xf2\\x32\\xc7\\x23\\x1c\\xd0\\xfb\\x3e\\x15\\xdd\\x86\\xf2\\x95\\x1c\\x0d\\x72\\xae\\xbc\\x84\\x9b\\x51\\x62\\x05\\x0b\\x3d\\xb0\\xb8\\x20\\x22\\x20\\x35\\x51\\x75\\x29\\xb9\\x6a\\x76\\x1f\\x29\\xda\\x07\\xcd\\xf5\\x51\\x24\\x1f\\xa0\\x59\\x26\\x92\\x91\\x5f\\xe8\\x7d\\xbe\\x60\\xe0\\xe1\\x7c\\xb5\\xcf\\xfa\\xff\\xaa\\x4f\\x12\\x97\\xe6\\x53\\x7b\\x8b\\xab\\xf6\\x36\\x51\\xcd\\xa6\\x1b\\xfd\\x39\\x26\\x28\\x48\\x43\\x99\\x7a\\xa9\\xbc\\x53\\x4c\\xec\\x6d\\x84\\x52\\xef\\x5e\\xac\\x40\\x4f\\x2c\\xad\\x08\\x98\\x8b\\x99\\x4a\\x5d\\x29\\x75\\xdc\\x6b\\x34\\xdc\\xc6\\x7a\\xf7\\xab\\x84\\xe4\\x0f\\x12\\xf4\\x41\\xe3\\x5c\\x02\\xc5\\xfd\\x9c\\x86\\x9b\\xb9\\xbb\\x5e\\xc1\\x9d\\x5b\\x5a\\x4e\\x70\\x97\\x1b\\x71\\x93\\x9a\\xea\\x20\\xc5\\xdd\\x90\\x8d\\xfb\\xa9\\x84\\x14\\xc8\\xe1\\x6d\\xc5\\x4c\\x8e\\x01\\xf7\\x8b\\x64\\xaf\\x1d\\x8a\\x7b\\x94\\x82\\xbb\\xbb\\xe2\\x25\\xc2\\xfe\\xa0\\xc5\\x5b\\x8c\\x83\\x19\\xb8\\xc1\\x66\\x0e\\x52\\x5d\\x6f\\x50\\x63\\xc3\\x68\\x2d\\xb7\\x38\\xb2\\x93\\xa2\\x56\\x71\\x02\\x5c\\x33\\xb5\\xf5\\x51\\x0a\\x1c\\x33\\x56\\xf3\\x7d\\xa6\\x9d\\x0a\\x5e\\x75\\xee\\x02\\xf0\\xd1\\x7a\\xa7\\x41\\x8d\\x21\\x2d\\xb8\\x9f\\x8e\\xd7\\xb4\\x43\\x65\\x02\\xe5\\x2f\\xc5\\x49\\xf3\\xf5\\x51\\x2a\\xec\\x84\\xf6\\x9f\\x29\\xee\\xf1\\x14\\x56\\xa5\\x54\\xad\\xa3\\xf6\\x19\\xe9\\x04\\x5b\\x5d\\x9b\\xce\\x81\\x72\\x82\\x06\\x3a\\xf7\\x19\\xe9\\x54\\xeb\\x7b\\xf0\\xbd\\x7c\\x30\\xa0\\x10\\xa9\\xc8\\x96\\xbc\\xb7\\x7f\\x8b\\x70\\x1f\\xc0\\x35\\xea\\x3c\\x3d\\x4a\\xb9\\x64\\xab\\xa8\\x22\\x8a\\x53\\x95\\xa9\\x0b\\x97\\x03\\xbc\\xe2\\xa3\\xce\\xd1\\x7d\\x14\\xf5\\xa4\\x2a\\xb4\\x91\\xa7\\x25\\x30\\xae\\x5b\\xf8\\x73\\x35\\xdc\\xe9\\x5c\\xdc\\xaa\\x00\\xeb\\x38\\x75\\x7f\\x75\\x4e\\x56\\xce\\x9e\\x09\\xa7\\xd0\\x7a\\x5c\\xc3\\x27\\x21\\x66\\xb9\\x62\\x2b\\x0c\\x1e\\x51\\x59\\x03\\x90\\x0c\\xae\\xcb\\xb6\\x15\\x85\\xde\\x0f\\x34\\xdc\\x70\\xcf\\x4a\\x79\\x9b\\x72\\xcf\\x70\\xed\\x1e\\x57\\xd6\\x3d\\xd9\\xfd\\x60\\xcd\\x26\\x19\\x6c\\x8b\\xd7\\xd2\\x7b\\xba\\x75\\xda\\x8f\\xf0\\x96\\xd2\\x0f\\xd4\\xee\\xc0\\x17\\xec\\x04\\xfe\\x80\\x3d\\xa0\\xda\\x44\\x14\\x57\\x25\\xdc\\xee\\x41\\x55\\x09\\x8b\\x05\\x7e\\x98\\xcd\\xf0\\x03\\xdc\\x4e\\x15\\x03\\x81\\x8a\\x11\\x6b\\x1b\\x0c\\x06\\x4a\\xb3\\x47\\x8d\\x77\\x9a\\x5c\\x14\\x7c\\xe8\\xa8\\xce\\x1b\\xd0\\x89\\xaa\\xb4\\xfe\\x50\\xfe\\x69\\x32\\x71\\x96\\x10\\xd8\\x0c\\x48\\x3a\\x3e\\x80\\xeb\\x03\\xf6\\x70\\x1b\\xb5\\x9f\\xa6\\xec\\x38\\x28\\x59\\x78\\x48\\xc8\\x2d\\x99\\xb2\\xde\\x40\\xf6\\x0b\\xa2\\x75\\xe1\\x68\\x15\\xde\\xac\\xd6\\x85\\xa1\\x50\\x2e\\xe3\\x82\\x70\\x94\\x09\\xdf\\x07\\xe8\\xb8\\x8d\\xea\\x66\\x53\\x96\\x1c\\x15\\xf4\\x3a\\x5e\\x80\\xb3\\xf0\\x23\\x35\\xbc\\xaa\\x4d\\x00\\x5c\\xb5\\x82\\x36\\x8d\\x6f\\x9f\\x11\\x9f\\x3e\\xf7\\x84\\x91\\xc5\\x9c\\x89\\x6f\\x9f\\x11\\x1f\\xc0\\xa9\\x79\\x46\\x4d\\x6e\\x38\\x13\\x9f\\x29\\x03\\xdf\\x0f\\xcc\\x14\\xad\\x6e\\x91\\x32\\xf1\\x99\\x32\\xf0\\xe9\\x70\\xa1\\x82\\x90\\x11\\xdf\\x35\\xf2\\x5c\\x6e\\x08\\xc5\\xd7\\x83\\xc2\\x7d\\xa9\\xce\\xc5\\x42\\x95\\x11\\xf0\\x71\\x0e\\x7d\\x2e\\x76\\x05\\xc0\\xf5\\xe6\\x7a\\x02\\xdc\\x18\\x15\\x6e\\xba\\x0a\\xc7\\xe7\\x86\\xfc\\x56\\x1d\\xee\\x1a\\xa8\\x6f\\x8c\\xf8\\xb4\\xb9\\x14\\x48\\x53\\x4a\\x15\\x74\\xda\\xdc\\xd8\\x75\\x19\\xf8\\xfe\\x8d\\x67\\xab\\xb6\\x5d\\x50\\xa5\\xa0\\xd3\\xe8\\x33\\x65\\xe0\\x4b\\x8f\\x37\\xc7\\x93\\x89\\xcf\\x94\\x81\\xef\\x07\\xdd\\x57\\xe4\\x07\\x33\\xf0\\x81\\x8e\\x0f\\xa1\\x76\\xd1\\xc3\\x10\\xdf\\x95\\x5a\\x38\\x54\\x02\\x18\\x19\\x1c\\xca\\xb6\\x8b\\x15\\x70\\x4f\\x6f\\x11\\x2b\\xb8\\xd5\\x78\\xaf\\xc4\\xe6\\x6d\\x10\\x9b\\x21\\x56\\x61\\xb5\\x96\\x2a\\x06\\x53\\xe0\\x4b\\xe2\\x3e\\x6b\\x66\\xac\\xca\\xea\\x53\\x62\\x68\\x9f\\x4a\\x2d\\x07\\x51\\x98\\x54\\x74\\x79\\xb9\\x9c\\xbd\\x58\\x29\\xe3\\xd2\\xb5\\x1c\\xed\\x97\\xe6\\x04\\xb4\\x5f\\x04\\x19\\x25\\x18\\x02\\x8d\\xcb\\xd4\\x2a\\xd8\\xc2\\xb4\\x4f\\x65\\x69\\x5c\\x21\\xbe\\xba\\x99\\x8e\\x1f\\xea\\x47\\x74\\x4c\\xb1\\x0b\\x6f\\x01\\x63\\x2e\\xc6\\xde\\x4c\\x3d\\xa7\\xe7\\x00\\xf3\\xfb\\x00\\x3e\\x49\\x7d\\xe0\\x3a\\xcd\\x07\\xaa\\xd0\\x46\\x1f\\xc8\\xea\\x71\\xa5\\x39\\xcb\\x26\\xac\\x76\\xc6\\x9c\\xe6\\x6d\\x04\\xe0\\x36\\x53\\x19\\x24\\xff\\x10\\x0e\\xfe\\x70\\x87\\x68\\xec\\xee\\x49\\x73\\xdf\\x7e\\xed\\x7f\\x45\\x3f\\x23\\xdf\\x4e\\x1c\\xa6\\xf3\\x67\\x0f\\xed\\xcc\\x8d\\x48\\x21\\xc3\\x5c\\x18\\x3d\\xa3\\x98\\xc6\\xee\\x73\\x69\\xec\\xee\\x07\\x0e\\x09\\xa0\\x21\\xa2\\x00\\xf4\\x95\\x3b\\x73\\x72\\xa5\\x80\\x06\\x6d\\xc0\\xbf\\x59\\xc7\\x3f\\x1f\\x4d\\x47\\xbf\\x2a\\x51\\x13\\x3a\\x98\\x15\\xce\\x4f\\x63\\x47\\x9d\\xe1\\x9f\\x3f\\x41\\xe1\\x05\\xe9\\xe0\\xfc\\x60\\x38\\x8d\\x5d\\xc7\\x7d\\x8d\\x8e\\x7b\\x26\\xc2\\xe8\\x73\\x45\\x7f\\x00\\x39\\x83\\x71\\x24\\x4f\\xc1\\x6e\\x98\\xd7\\x54\\xf0\\xdf\\xa7\\xe3\\x9f\\x89\\xd5\\xd9\\x97\\x20\\x29\\xbd\\x71\\x6e\\x48\\xe9\\x41\\xb9\\x43\\xef\\x63\\x8d\\xd6\\x87\\xd1\\xc7\\xe5\\x52\\xda\\xb3\\xe6\\xca\\x14\\xfc\\xcf\\x69\\xf8\\xd3\\xf1\\x2c\\x87\\xd2\\x1e\\x36\\xca\\x12\\x81\\x8c\\x0e\\x51\\x59\\xf6\\xcc\\x92\\x51\\xae\\xc6\\x16\\x05\\x27\\xc0\\x3d\\x47\\x65\\x79\\x6e\\x16\\x5c\\x8e\\xc6\\x10\\x9d\\xd7\\x87\\x29\\xad\\xbd\\xb2\\x69\\xb5\\x39\\xd8\\xac\\x79\\x37\\x80\\x87\\x2c\\x9c\\xbb\\x87\\xd2\\x3a\\x36\\x93\\x56\\x15\\x3a\\x83\\x56\\x8a\\x7b\\xb6\\x86\\x3b\\x6b\\xde\\x8a\\xed\\x38\\x6f\\xa5\\xe3\\xbf\\x4f\\xc3\\x4f\\x6c\\x26\\xeb\\x0e\\x43\\xa4\\x54\\xed\\xe6\\x15\\x4a\\x7f\\xef\\x6c\\xfa\\xcd\\x56\\xce\\x54\\x8c\\xad\\x99\\xf4\\x97\\x40\\xae\\xf7\\x30\\xa5\\x7f\\x5c\\x26\\xfd\\x81\\x1c\\xb3\\xbb\\x18\\xe7\\x18\\xe9\\x07\\xcf\\xcb\\xcd\\x15\\x1e\\x05\\xd8\\x3e\\x94\\xfe\\xfe\\xb8\\x42\\x85\\x0e\\xbb\\x2c\\x8c\\x54\\x8c\\x9d\\x7c\\x87\\x39\\xcc\\x06\\x3a\\x4f\\x3c\\x9e\\xe2\\x5e\\xa1\\x42\\x8b\\x2e\\x0b\\x26\\xd0\\x19\\xb8\\x41\\x3e\\x73\\xa9\\x1c\\xfb\\x64\\xce\\xfd\\x59\\x2d\\x36\\x82\\x5a\\xc7\\x09\\x70\\x0d\\x54\\x8e\\xe3\\x33\\xe5\\x28\\x58\\x6c\\xd8\\x00\\x37\\x1a\\xe2\\x8f\\x01\\x1f\\xc4\\x9f\\x25\\x7a\\xdd\\x9c\\x89\\x6f\\x9f\\x11\\x9f\\x52\\x7f\\x11\\x38\\xd1\\x66\\x35\\xe2\\xbb\\x95\\xd4\\x63\\x86\\x79\\x33\\x5a\\x8f\\x29\\xf3\\x66\\x39\\xc6\\x79\\x33\\x25\\x3e\\xaf\\xd4\\xe2\\x14\\x95\\xd7\\x71\\x45\\x62\\xce\\x7c\\x12\\x49\\x19\\x5c\\x90\\x2d\\x63\\xaa\\xef\\x82\\x4f\\xd7\\xf7\\x7b\\x20\\xa6\\x2b\\x32\\xce\\x0f\\x82\\x6e\\x32\\xaa\\xc6\\xeb\\x32\\xa6\\x32\\x13\\x2c\\xba\\xcc\\xee\\x31\\xab\\x3a\\x61\\xce\\xf5\\x83\\xd0\\x18\\x55\\x6a\\x3a\\xfc\\x4c\\xf0\\xbb\\x77\\x0b\\xe5\\x6e\\x65\\xdd\\x51\\x60\\x16\\x1f\\x2f\\x53\\x32\\xf4\\x77\\x12\\x52\\xdf\\x5e\\x6c\\xb8\\x98\\xe9\\x6b\\x28\\xce\\x19\\xac\\xcc\\xbd\\xcf\\xa1\\x33\\x26\\xd5\\x09\\xbf\\xd5\\xe6\\xb2\\xf3\\x76\\x1b\\xeb\\xf6\\xd8\\x7c\\x0e\\x3b\\x9b\\x60\\x4d\\xc3\\x92\\x2c\\x47\\x5e\\xea\\x09\\x05\\x9d\\x1f\\x1f\\x4e\\xef\\x12\\x41\\xcf\\x1b\\x33\\xbc\\x8c\\x4f\\xa7\\x8b\\x2f\\xd3\\xe6\\xd3\\xe5\\xaf\\x1f\\xc2\\x39\\xec\\x8f\\xea\\x44\\xfa\\xc9\\x32\\xfe\\x01\\x3a\\x17\\x02\\xfe\\x86\\xac\\xaf\\xed\\xe0\\xcf\\x45\\x31\\x34\\x30\\x11\\x0b\\x38\\xa3\\x51\\xde\\x6e\\x0f\\x16\\x98\\x51\\x10\\x15\\x15\\x47\\xf3\\xe0\\x7b\\x5e\\x9e\\x7b\\x62\\x32\\x8f\\x0b\\xba\\x59\\xd3\\xe4\\x24\\xeb\\xd1\\x77\\x38\\xa1\\x5b\\xbd\\xb9\\x3b\\xec\\xf3\\xa6\\x6d\\xbe\\x4f\\x0e\\x0f\\x50\\x1e\\xff\\xf0\\xd0\\x8d\\x28\\xe8\\x2c\\xad\\xb2\\xbd\\x08\\xce\\xc7\\xdc\\x8e\\xff\\x7c\\x9a\\xbc\\xaa\\xba\\x65\\xd8\\x1b\\x0b\\x6e\\x38\\xe5\\xcd\\x21\\xd3\\x46\\x4f\\xab\\x95\\x8f\\x5c\\xf2\\xd5\\x9e\\xfb\\x8e\\x5d\\x23\\xcb\\x1b\\xd6\\xe2\\x0d\\x6f\\x7f\\x96\\xf3\\x61\\xe0\\xad\\xc9\\xe7\\x6e\\xc7\\xc1\\xe1\\x03\\x6f\\x69\\x3d\\xf9\\x1f\\x36\\xf7\\xb5\\x1f\\xaf\\xbe\\x7a\\xbd\\x7c\\x38\\xb2\\x0d\\x69\\xbe\\x47\\x5f\\xf7\\x35\\xd4\\xfa\\x33\\xa1\\x5d\\x5f\\xe7\\x35\\xb4\\x2b\\xf6\\xff\\xbb\\x5b\\x5b\\x27\\x7e\\x95\\x5d\\xa1\\xd4\\x1d\\xf9\\xe9\\xbc\\x91\\xca\\x8a\\x6f\\x53\\x65\\x25\\x9a\\x7e\\x64\\x2f\\x50\\x60\\x12\\xe9\\xd8\\x48\\xf1\\x88\\x26\\x0d\\x8f\\x54\\x4f\\x73\\x1c\\x52\\x03\\x87\\xf5\\x1a\\x98\\xe0\\xb9\\x5f\\x28\\xd1\\xf0\\x48\\x3d\\x75\\x18\\x45\\xd6\\x0d\\x9d\\xe0\\x89\\xeb\\x30\\xe9\\x5a\\x3a\\x4e\\x75\\x27\\x8d\\xa7\\x97\\x0e\\x93\\xc8\\xc2\\x23\\xea\\x78\\xba\\xeb\\x30\\x25\\x19\\xf4\\xdc\\x2d\\x5c\\xa6\\xe3\\xe9\\xad\\xc3\\xf4\\xe8\\x92\\x9e\\x06\\x1d\\xa6\\x36\\x0b\\x8f\\xce\\x1f\\xa9\\x8f\\x0e\\x33\\x3c\\x8d\\x87\\xc8\\x85\\xfa\\x29\\x22\\x97\\x52\\x85\\xff\\xd4\\x5f\\xb9\\x94\\x3c\\xc3\\x67\\xe0\\x37\\x91\\x15\\xf5\\x51\\xfd\\x69\\x9e\\xbe\\x22\\x2d\\x31\\x03\\xaf\\xcd\\x3a\\x4d\\x8d\\x7a\\x7f\\xbe\\x2c\\x9a\\x4e\\xe8\\x34\\xf5\\x65\\xce\\x57\\x61\\xea\\xb3\\xc6\\x96\\xc6\\xd3\\xf4\\x5f\\xe0\\x69\\xf9\\x2f\\xf0\\xf4\\xd0\\xf1\\x38\\x32\\xf1\\x88\\x8c\\x8e\\x27\\xa1\\xc3\\xf4\\xef\\x12\\x4f\\x73\\x57\\x78\\xa8\\xbe\\x2a\\x78\\x4e\\x61\\xa6\\xaa\\x30\\x43\\xfe\\x94\\xd7\\xa7\\x63\\x49\\xe1\\xb5\\xa7\\x6b\\x5e\\xaf\\xcd\\xe2\\x35\\xa9\\xcf\\xf5\\xf5\\x4d\\x83\\xdd\\x9c\\x07\\xed\\xfa\\x7a\\x26\\x6d\\x3f\\x33\\xbd\\x9e\\x4b\\xe9\\x2b\\xcb\\xb0\\x27\\x1c\\x4e\\xf7\\x49\\xd7\\x6f\\xa9\\x3d\\x0d\\x52\\xed\\xe9\\x2a\\xc5\\x9e\\x2a\\x0d\\xf5\\x3b\\xc5\\xb3\\x59\\xc7\\xb3\\x0e\\x79\\x21\\xd7\\x04\\x3c\\xbe\\x6c\\x3c\\xfb\\x54\\x3c\\x90\\x5f\\x7a\\x29\\x96\\x12\\xad\\x8e\\x23\\x38\\x6e\\xa2\\xba\\x5b\\xa6\\xda\\xe4\\x22\\xca\\x2b\\x48\\x8a\\x74\\x7e\\x12\\x1c\\x3b\\xa8\\x2d\\x0d\\x52\\x6d\\x72\\x91\\xca\\xcf\\x72\\x9d\\x9f\\xd3\\xe9\\x1a\\x75\\x1a\\x4f\\x9c\\xb9\\x5c\\xc5\\x13\\xd2\\xf1\\xb4\\xd0\\x35\\xe9\\x34\\x9e\\x5e\\xcc\\x5c\\x15\\x4f\\xa5\\x8e\\x47\\x59\\xeb\\x16\\x75\\x3c\\xdd\\x75\\x7a\\x62\\x19\\xf4\\xcc\\xa6\\x36\\x39\\x48\\xb5\\x49\\x0d\\x4f\\x2c\\x0b\\x4f\\x9a\\x9e\\x06\\x9d\\x9e\\xaa\\x0c\\x3c\\x17\\x08\\x3a\\x8f\\xc1\\x26\\xcf\\x55\\xf1\\xf4\\x49\\xe3\\x21\\xb2\\xa5\\x7a\\x42\\xd7\\x9a\\xc1\\x16\\x13\\x6a\\xfc\\xbe\\x4c\\x91\\x99\\xdd\\xc0\\x6b\\x22\\x6f\\x7d\\x7d\\x19\\x6c\\xd2\\xab\\x48\\xbd\\xaf\\xaa\\x27\\x74\\x2d\\x89\\xca\\xbd\\x4a\\x95\\xfb\\xa5\\x1d\\xe4\\x4e\\xd7\\x8d\\xa8\\xdc\\xff\\x93\\xe1\\x47\\x8d\\xf3\\x36\\xeb\\xa0\\x1f\\x7d\\x8d\\xcb\\xa0\\x6f\\xe9\\x35\\x89\\x21\\x6a\\xfb\\x68\\x65\\xee\\x11\\xda\\xaf\\xa5\\x73\\x27\\xf5\\x19\\xf0\\xe3\\xa0\\x7d\\x0e\\xd5\\xcf\\xe1\\x19\\xed\\xca\\x3c\\xe2\\xef\\xda\\x3c\\x62\\xda\\xdf\\x17\\xa7\\xe9\\xa4\\xf3\\x86\\x94\\xce\\xe1\\x99\\xfe\\xbe\\x38\\x6b\\xce\\x95\\xca\\xa0\\x3e\\xcb\\xdf\\x17\\x66\\xcc\\x79\\x2a\\xfe\\x7e\\x78\\x96\\xbf\\x4f\\xcb\\x32\\x1b\\x4f\\xda\\xdf\\x17\\x65\\xf8\\xfb\\x39\\x06\\x3c\\x69\\x7f\\x5f\\x9c\\x85\\x47\\xd4\\xf1\\xa4\\xfd\\x7d\\x75\\xd6\\x1c\\xec\\x65\\x3a\\x9e\\xb4\\xbf\\xcf\\xeb\\x92\\x9e\\xb4\\xbf\\x6f\\xcc\\xc2\\xa3\\xf3\\xc7\\xe0\\xef\\x9b\\xd2\\x78\\x88\\x5c\\xa8\\x6e\\xd5\\x77\\xee\\xef\\x73\\x0d\\xfc\\x26\\xb2\\xa2\\xba\\x35\\xbc\\x53\\x7f\\x0f\\x34\\xf1\\x98\\xd4\\x72\\xca\\x73\\x48\\x50\\x1b\\x5f\\xad\\xc8\\xa3\\x24\\x53\\x66\\xbf\\x92\\xfa\\x0a\\x4f\\x55\\xea\\xab\\x99\\x06\\x89\\xe9\\x38\\x1e\\xd6\\x71\\x9c\\x4a\\x9e\\x7e\\xf8\\x13\\x1c\\xfd\\x1e\\xed\\x0c\\xc7\\xef\\x1a\\x0e\\xd0\\x9d\\x35\\x0a\\x8e\\xba\\x6c\\x1c\\xed\\x2a\\x0e\\xa2\\x3b\\x33\\x11\\x47\\x60\\x6a\\x32\\x74\\x07\\xf0\\x6c\\xd6\\xf1\\xac\\x6b\\xff\\x9a\\xfa\\x36\\xa6\\x22\\x1b\\xcf\\x3e\\x8d\\x16\\x66\\xdd\\xa7\\xb4\\xa7\\x72\\x9d\\x16\\x79\\x15\\x8f\\xf9\\x6b\\x14\\x1c\\x94\\x5b\\x65\\x3a\\x2f\\x7f\\x25\\x7a\\x4f\\xee\\xa3\\xed\\xb9\\xea\\x1c\\xc7\\xaa\\xf4\\x1c\\x47\\xd6\\x1a\\x88\\x3e\\xa7\\x41\\xdb\\x6b\\x0d\\x73\\x18\\xbf\\xeb\\x73\\x22\\xba\\x3d\\x47\\xd3\\x34\\xd2\\xb9\\x03\\x6a\\x27\\x63\\x32\\xed\\xd9\\x60\\x27\\x80\\x87\\x2f\\xa6\\xb2\\x9b\\xa3\\xca\\x6e\\xa5\\x02\\x53\\x98\\x81\\x87\\xcf\\xa5\\x7c\\x9f\\xab\\xc8\\x6e\\x06\\x85\\xa8\\xd0\\xc6\\xaa\\xe0\\x78\\x58\\xc5\\x21\\x48\\xa7\\x5e\\x6e\\xc0\\xd0\\xe1\\x7e\\x52\\xeb\\xab\\xfe\\xab\\x22\\x9b\\x8e\\xdf\\x35\\x3a\\x60\\x3c\\xd3\\x51\\xf6\\xfc\\xa0\\x82\\xa7\\x4d\\xc3\\x03\\xe3\\x39\\x5d\\x81\\x89\\x67\\xe3\\xd9\\xac\\xe3\\x59\\xd7\\xfe\\x95\\x12\\x97\\x4a\\xb2\\xf1\\xec\\xd3\\xc6\\xc3\\xac\\xfb\\x9c\\x62\\xa9\\xd1\\xc7\\x03\\xb2\\x2b\\xa6\\xb2\\x9b\\xa3\\xf2\\x3c\\xa4\\xc9\\x82\\xcf\\x25\\xb2\\x20\\xf7\\xd1\\x76\\x27\\x4a\\xd7\\x8f\\x9b\\xb5\\xfa\\x11\\xc6\\xf7\\x38\\xfa\\x95\\xcc\\x4e\\x48\\x74\\x2e\\xe3\\xc1\\x9d\\x66\\x1b\\xa9\\x22\\xf5\\xf9\\x03\\xa5\\x7e\\xdc\\xae\\xd5\\x22\\xa8\\xdf\\x0b\\x74\\x2e\\xc3\\x4f\\xe7\\x32\\x9e\\xd8\\x19\\x08\\x91\\x2a\\xd2\\x30\\x37\\x41\\xe6\\x5e\\x5e\\xa1\\xba\\xd1\\x3b\\x43\\x37\\x28\\x1e\\xaa\\x1b\\xe3\\x94\\x76\\x6e\\xa5\\x81\\x9e\\xdf\\xf5\\x7a\\xf6\\x55\\x76\\x9e\\xea\\xc7\\xd3\\x3c\\x50\\x68\\x68\\x53\\x69\\x20\\xbc\\x9c\\xa6\\xc0\\x14\\x65\\xce\\x27\\x19\\xc6\\xa5\\xce\\x27\\x01\\x8c\\x3b\\x1b\\xcf\\x3e\\xbd\\xae\\x5a\\xa7\\x60\\x89\\x68\\xbc\\x3c\\x0d\\x74\\xf0\\x90\\x50\\xe7\\x2e\\x61\\xa9\\x2d\\x89\\xad\\xd8\\x8e\\xce\\xa3\\xb6\\x94\\xee\\x27\\x1b\\xe6\\x20\\xfa\\x4e\\x81\\xa9\\xec\\x1a\\x66\\x3d\\xc5\\x43\\x7c\\x5a\\x85\\xee\\xd3\\xb2\\x61\\xb6\\xe8\\x30\\x95\\x5d\\xc2\\x6c\\xc0\\x83\\xff\\x14\\xcf\\x56\\x1d\\x26\\x0b\\x8f\\xb8\\x48\\x87\\x79\\x00\\x9d\\xe8\\x1c\\x8f\\x01\\x66\\x9b\\x0e\\x53\\x99\\x99\\x53\\xd2\\xb8\\x49\\xeb\\x21\\xb1\\xb5\\x7d\\x74\\x3a\\x87\\x36\\xb4\\x1f\\x54\\xda\\xe5\\xbf\\x64\\xb5\\xaf\\x27\\x2d\\x9d\\xb4\\x6f\\x51\\xdb\\xf7\\x64\\xb5\\x6f\\x20\\x2d\\x9d\\xb4\\x6f\\x55\\xdb\\xff\\x4d\\x73\\x5c\\xbf\\xde\\xfe\\x80\\x9c\\xea\\xb4\\x7d\\x9b\\xd2\\x8e\\x96\\xc1\\x18\\x2f\\xa6\\xbc\\x9a\\xa6\\xca\\x57\\xa2\\xb2\\xc3\\x06\\xd9\\x65\\xc3\\x1c\\xc4\\x01\\x05\\xa6\\xaa\\x6b\\x98\\xf5\\xb8\\x88\\xf2\\x8a\\xc1\\x69\\x5e\\x65\\xc3\\x6c\\xd1\\x61\\xaa\\xba\\x84\\xd9\\x80\\x4f\\xfd\\x53\\x3c\\x5b\\x71\\x8f\\x6c\\x3c\\xed\\xb5\\x24\\x87\\xa3\\xfc\\x29\\x53\\xe4\\x22\\x0f\\x20\\x74\\x76\\x68\\x3f\\x28\\x8f\\x20\\xed\\xa9\\xcd\\x59\\xed\\xeb\\x49\\x4b\\x27\\xed\\x5b\\xba\\x68\\xdf\\xd0\\x45\\xfb\\x56\\xa5\\x1d\\xcd\\x92\\xc7\\x70\\x23\\x29\\xcd\\x33\\x54\\x3e\\x27\\x14\\x1e\\x1a\\xd6\\x99\\xb3\\x61\\x0e\\xe2\\x2a\\x05\\x26\\xd2\\x35\\x8c\\x66\\x47\\x8c\\x8a\\xa8\\xa1\\x13\\x98\\x2d\\x3a\\x4c\\xa4\\x4b\\x98\\x0d\\x78\\xc2\\x9f\\xe2\\xd9\\xaa\\xc3\\x64\\xe1\\x11\\x27\\xeb\\x30\\x0f\\x00\\xcd\\x67\\x74\\x86\\xc7\\x00\\xb3\\x4d\\x87\\x89\\x64\\xc8\\xab\\x1f\\xe5\\x5b\\x65\\x07\\x79\\x19\\xdb\\x8d\\xf2\\x32\\xb6\\x1b\\xe5\\x65\\x6c\\xdf\\xd2\\x45\\xfb\\x86\\x2e\\xda\\x55\\x79\\xc9\\x85\\xa4\\x9d\\xda\\x4b\\xa5\\x6a\\x47\\x35\\x9d\\xb6\\x6f\\x53\\xda\\xd1\\x02\\xd0\\xc9\\x65\\x94\\x57\\x33\\x15\\xf9\\xa2\\xe7\\x15\\xd9\\x79\\xd3\\xb2\\xcb\\x86\\x39\\x88\\xde\\x54\\x60\\x7c\\x5d\\xc3\\xac\\x47\\xc7\\x55\\x9e\\x7b\\x75\\x7e\\x66\\xc3\\x6c\\x41\\x1f\\xab\\x30\\xbe\\x2e\\x61\\x36\\xe8\\x30\\x5d\\xe3\\xd9\\xda\\x15\\x1e\\x2a\\xbb\\x99\\xaa\\x9f\\x3c\\xa4\\xca\\xce\\xdb\\x25\\xcc\\x36\\x1d\\x46\\xc7\\xd3\\x4e\\xd6\\xfc\\xba\\x51\\x3e\\x57\\xa9\\xf2\\x1d\\xa1\\xcb\\xd7\\xd8\\x6e\\x94\\xaf\\xb1\\xdd\\x28\\x5f\\x63\\xfb\\x96\\x2e\\xda\\x37\\x74\\xd1\\x6e\\x94\\x6f\\x37\\x2a\\xc7\\xaa\\x0e\\xf2\\x35\\xb6\\x6b\\xf2\\x55\\x72\\xf2\\x3a\\x2d\\x27\\x07\\xfb\\xcd\\x53\\x62\\x5c\\xae\\x2b\\xb3\\xae\\x31\\xc0\\x1c\\xc4\\x51\\x05\\x26\\xaf\\x6b\\x98\\xf5\\xd8\\xad\\xc6\\x94\\x5c\\x57\\x66\\xfe\\x9f\\x86\\xd9\\xa2\\xc3\\xe4\\x75\\x09\\xb3\\x01\\xd7\\xff\\x29\\x9e\\xad\\xb8\\x5b\\x36\\x9e\\xf6\\x1b\\x48\\x3d\\x42\\xf9\\x53\\xaf\\xca\\xe5\\x7e\\x2a\\x97\\xc5\\x59\\xed\\x07\\x95\\x78\\x94\\xfa\\x32\\xab\\x7d\\x7d\\xea\\xcb\\x4e\\xdb\\xb7\\x28\\xed\\xf2\\x9c\\xac\\xf6\\x0d\\xf2\\x9c\\x4e\\xdb\\xb7\\x2a\\xed\\x68\\x25\\xb4\\x4f\\xa5\\x3a\\x39\\x5f\\xb5\\xa3\\x94\\x62\\x23\\xe1\\x34\\x0f\\xb3\\x61\\x0e\\x42\\xb6\\x46\\x61\\x72\\xbb\\x86\\x59\\x8f\\xbe\\x52\\x75\\x3b\\xac\\xf3\\x27\\x1b\\x66\\x8b\\x0e\\x93\\xdb\\x25\\x8c\\x96\\x6f\\xfc\\x11\\x9e\\xad\\x3a\\x4c\\x16\\x1e\\x6a\\x23\\xf3\\x55\\x3b\\xfa\\x5e\\xb5\\x91\\x70\\x97\\x30\\xdb\\x74\\x18\\x1d\\x8f\\xfc\\x77\\x92\\xd3\\x51\\xbe\\xf5\\x56\\xe4\\x92\\xfa\\x9d\\xf2\\xbf\\x34\\xab\\x7d\\x0b\\x69\\x81\\xf6\\x5e\\x59\\xed\\x5b\\x49\\x0b\\xb4\\x93\\xf9\\x84\\x57\\xa8\\x9e\\x2b\\xed\\xdb\\xd4\\x38\\x55\\x0b\\x34\\xac\\xa7\\x63\\x59\\x94\\x99\\x0f\\x54\\xa7\\x79\\x9b\\x0d\\xa3\\xe7\\x03\\x35\\x5d\\xc3\\xa4\\xf3\\x81\\x6a\\x7d\\xbc\\xd9\\x30\\xe9\\x7c\\xa0\\xa6\\x4b\\x98\\x0d\\xff\\x05\\x9e\\xad\\x5d\\xe1\\xa1\\xbc\\x5d\\xa4\\xc6\\x29\\xb7\\xca\\xdb\\xea\\x2e\\x61\\xb6\\xe9\\x30\\x3a\\x9e\\xf6\\xc5\\xc0\\xb7\\xbb\\x09\\x3f\\xd9\\x73\\x55\\x7b\\xb9\\x5d\\xb1\\x97\\xac\\x76\\xdd\\x5e\\xb2\\xda\\x75\\x7b\\xc9\\x6a\\xd7\\xed\\x25\\xab\\x5d\\xb7\\x97\\xac\\x76\\xd5\\x5e\\xe4\\xf3\\x49\\x3b\\x91\\xa3\\xda\\xfe\\x40\\x17\\xed\\xdb\\x54\\xfb\\x52\\x72\\x63\\xaf\\x9e\\xd3\\xee\\x47\\xad\\x4a\\x8d\\xdd\\x21\\x9f\\xd7\\x60\\x04\\xb6\\xc7\\xbf\\x0d\\x10\\x7a\\xfe\\xe5\\xd5\\xf3\\xaf\\xfd\\xe8\\x13\\xa5\\x6a\\xe8\\x90\\x33\\x6a\\x30\\x80\\xa3\\xca\\x00\\xa1\\xe7\\x16\\x5e\\x3d\\x27\\xd8\\x0f\\xb9\\x35\\xea\\x34\\x1f\\xd2\\x60\\x00\\xc7\\x48\\x03\\x84\\x1e\\xbf\\xbc\\x7a\\xdc\\xd9\\x8f\\xf6\\x2a\\x38\\x3a\\xc4\\x5c\\x0d\\x06\\x70\\xfc\\x64\\x80\\xd0\\x7d\\xa4\\x57\\xf7\\x91\\x1a\\x1d\\x1d\\xfd\\xba\\x06\\x03\\x38\\x0a\\x0d\\x10\\xba\\xfd\\x7b\\x75\\xbb\\xdd\\x8f\\xde\\x52\\xe7\\xe6\\xb2\\xfd\\x91\\x06\\x03\\x38\\x4e\\x1a\\x20\\x74\\x1d\\xf6\\xea\\xba\\xb7\\x1f\\xfd\\x53\\xc1\\xd1\\xc1\\xee\\x34\\x18\\xc0\\xd1\\x68\\x80\\x20\\x72\\x83\\x5a\\x4e\\xaf\\x7b\\x9c\\xa5\\xe0\\x3b\\x21\\x77\\x70\\x89\\xac\\xc0\\xe4\\x76\\x94\\x71\\x16\\xec\\x41\\xf4\\xda\\x7f\\x0d\\xbb\\x1e\\x68\\x4b\\xc3\\x66\\xd5\\x4c\\x59\\xb0\\x5b\\xfe\\x07\\xd8\\x0d\\x24\\xdf\\xfd\\x2f\\x61\\xb7\\xfe\\x19\\xac\\xb8\\x58\\x87\\x7d\\x00\\xf8\\x70\\xc1\\x7f\\x09\\xbb\\xed\\x0f\\x60\\x95\\x77\\x1e\\x0f\\x39\\x4b\\xe1\\xea\\x7c\\xfa\\x64\\x7e\\x56\\xcd\\xd7\\xc5\\x75\\xbd\\xf6\\x53\\xae\\x6b\\xeb\\x06\\x4a\\xed\\xe7\\x24\\x7d\\x2d\\xe9\\xf4\\xfa\\x96\\xac\\xeb\\x7b\\xb2\\xae\\xd3\\x5a\\x90\\x5e\\x9f\\xdf\\xe9\\xf5\\xad\\x59\\xd7\\xff\\x4d\\xae\\xeb\\x35\\x60\\xa9\\x52\\x1b\\xfe\\xc1\\xf5\\x6d\\x99\\xd7\\xc1\\x1e\\x47\\x83\\x3d\\x9e\\xa5\\xd8\\x23\\xd1\\x2f\\x90\\xc1\\x52\\xc2\\x2b\\x1c\\x54\\x74\\x35\\xcf\\x68\\xbb\\x99\\xb0\\x07\\xb3\\x61\\xf3\\xb3\\x61\\xeb\\x74\\x58\\x5a\\xd3\\xe8\\xb0\\xc4\\xff\\xe6\\x19\\x6a\\x89\\x4c\\xd8\\x2d\\x1d\\x60\\xf3\\xbb\\x84\\xa5\\x35\\xce\\x7f\\x89\\x77\\x6b\\x07\\xd8\\x2c\\xbc\\x54\\x67\\x14\\x58\\x52\\xf3\\x5c\\xf0\\x47\\x78\\x0d\\xb0\\xdb\\x3a\\xc0\\xe6\\xa7\\x6b\\x20\\x80\\x4d\\xd7\\x22\\xa5\\x4a\\x0d\\x94\\xe6\\x7f\\x87\\xeb\\x34\\x57\\x4e\\x5f\\x4f\\x6d\\xce\\xba\\x4e\\x73\\xe6\\x3f\\xb8\\xbe\\xe5\\x4f\\xae\\x6f\\xf8\\x93\\xeb\\x5b\\xf5\\xeb\\x17\\x2b\\xb9\\x33\\xb9\\xae\\xd7\\x46\\xa5\\x4a\\x4e\\x6d\\xd0\\xaf\\xec\\xeb\\xdb\\x32\\xaf\\x23\\x32\\x3e\\x88\\xe3\\x69\\xfb\\xc9\\xca\\x41\\x98\\x5e\\x06\\x5f\\xd8\\x05\\xac\\x96\\x8b\\x74\\x02\\xab\\xf8\\x4d\\xaa\\x5f\\x45\\xaa\\xef\\x98\\xaf\\xad\\xeb\\xa4\\x73\\x80\\x2c\\xd8\\x2d\\x1d\\x60\\xab\\xbb\\x84\\xdd\\xf0\\x3f\\xe0\\xdd\\xfa\\x67\\x78\\xb5\\x3c\\x84\\xea\\x17\\xe4\\x21\\x7f\\x84\\xd7\\x00\\xbb\\xad\\x03\\x6c\\x75\\x3a\\x77\\x21\\xef\\x62\\xeb\\x39\\x44\\xa9\\x92\\xbb\\x18\\xf4\\x2b\\xfb\\xfa\\x41\\xdd\\xff\\x28\\xf2\\xff\\x32\\xeb\\x3a\\xcd\\x65\\xfe\\xe0\\xfa\\x96\\xcc\\xeb\\xf2\\x9c\\xac\\xeb\\x34\\xb7\\xf9\\x83\\xeb\\x5b\\xb3\\xae\\x9f\\x4f\\xae\\xeb\\x39\\x4d\\xa9\\x92\\xeb\\xfc\\xc1\\xf5\\x6d\\x99\\xd7\\x95\\xbc\\x86\\xac\\x83\\x28\\x79\\x0d\\xb3\\xf6\\xd5\\xcc\\xf5\\x07\\xe5\\xfa\\x58\\x2d\\x37\\x92\\x06\\xa3\\x63\\xed\\x3f\\x13\\x88\\xb2\\xec\\x58\\xe8\\xd5\\xe3\\xc5\\x7e\\xb4\\x8d\\xc0\\x42\\x1f\\x53\\x3a\\x8f\\x9b\\x64\\xad\\x80\\xc2\\x12\\x98\\xba\\xce\\x70\\x28\\xed\\x24\\x9e\\xf7\\xa6\\x2b\\x37\\xf1\\x4c\\x7a\\xf6\\xe9\\xf4\\x2a\\x73\\xb3\\x4c\\x4d\\x46\\xbc\\xd7\\xae\\x3b\\x4b\\xc8\\x75\\x97\\xda\\x0b\\x81\\xd3\\xf3\\x02\\xe5\\x19\\x8c\\x47\\xf5\\x75\\xef\\xd3\\xd5\\x35\\x22\\x75\\xd9\\x3b\\x3d\\x5f\\x29\\x4c\\xd3\\x60\\x98\\x1b\\x11\\x83\\x2d\\x04\\x26\\x3d\\x57\\xdc\\x7e\\x84\\xc2\\x78\\xf5\\x39\\xc4\\xfd\\xed\\x3d\\x0d\\xf7\\xea\\xed\\x6c\\x0f\\xf9\\x32\\x43\\x3c\\xd4\\x9f\\x15\\x51\\x75\\x12\\xa3\\x6f\\xb8\\x2a\\xfc\\x06\\x7f\\x08\\x99\\x51\\x5e\\xc2\\x6a\\xc2\\xbc\\x84\\x25\\xab\\x45\\xe2\\xe1\\x5a\\xcb\\xa1\\x8c\\x3d\\x79\\xc8\\x06\\x5c\\xb1\\xbe\\xb8\\x21\\xd6\\x80\\xdf\\x28\\x6c\\xbc\\xa9\\xb6\\xc7\\x4c\\xfe\\xd0\\xcd\\x67\\x2c\\x1a\\xda\\x3c\\xa3\\xe5\\x59\\xc0\\xf3\\x8b\\x3c\\x1a\\xff\\xd4\\x7e\\x0d\\xb2\\xa1\\xf2\\x84\\x0d\\x59\\x2c\\x64\\xd7\\x42\\xab\\xd5\\x64\\x37\\xb1\\xf4\\x24\\x4d\\x13\\xdd\\x44\\x98\\x3e\\x2f\\xa3\\x6e\\x6d\\x4a\\x8f\\x52\\x30\\xec\\x14\\x1c\\xc7\\x77\\xf9\\x82\\xf6\\x68\\x55\\xc3\\xa0\\x51\\x0f\\x7c\\x1d\\x0d\\x08\\xcb\\x2d\\x67\\x0f\\x54\\xf6\\xa0\\xcc\\xa4\\x91\\x97\\x4c\\x58\\xc2\\x16\\xeb\\xff\\x4e\\x63\\xfb\\x4f\\xdc\\x63\\xcc\\x2e\\x7e\\x27\\xca\\x41\\xb9\\x09\\x8b\\x3f\\x2c\\x85\\x7c\\xbc\\x6d\\x89\\x5b\\x42\\xa8\\xf6\\x40\\x3c\\xf4\\x51\\xfd\\x01\\x7a\\x62\\x27\\xd9\\x7e\\xa8\\x86\\xd1\\xcf\\xea\\x24\\xe7\\xe4\\xd3\\x53\\x3a\\xf1\\xb7\\x65\\xc3\\x86\\xf4\\x0f\\x6b\\x27\\x74\\x96\\x0f\\x3f\\xa3\\x5f\\x48\\x3d\\x9b\\x93\\x7b\\x2c\\x56\\x1e\\xa3\\xc7\\x72\\x16\\x56\\x14\\xaa\\xa7\\xc9\\x22\\xc4\\x42\\x7f\\x9f\\x31\\xbb\\x44\\x37\\xf4\\x97\\x87\\xa2\\xa8\\x47\\x22\\x27\\x5f\\x0a\\xf9\\xf3\\xf2\\x62\\x51\\xa9\\x10\\x3a\\x75\\xbb\\x6d\\xe1\\x48\\x84\\xd0\\x90\\x1f\\x42\\xb5\\xf1\\xa3\\xd0\\x3f\\x7d\\x43\\xaf\\x36\\xee\\x24\\x94\\xd4\\xab\\x27\\x5b\\x75\\x45\\x0f\\xab\\xbd\\xe1\\xd9\\x35\\x5d\\x63\\x5f\\x48\\x5d\\xf6\\x9c\\x60\\xce\\x26\\x4e\\x7e\\x9f\\xbc\\xe5\\xa9\\xc7\\x59\\xaf\\x16\\x0f\\x95\\x38\\x68\\xcc\\xbb\\xab\\xb2\\xf2\\x02\\x4e\\xcb\\x21\\xd4\\x98\\xd9\\x25\\x0e\\xad\\x3e\\x60\\xaa\\x32\\x6a\\x0c\\x6a\\x1f\\x33\\x14\\xfb\\x31\\x2b\\xeb\\x5a\\xe9\\xeb\\xa3\\xd3\\xd7\\xd3\\x78\\x54\\x38\\xa6\\x56\\x85\\x93\\x5f\\xa6\\xcf\\x4a\\x78\\xf5\\x39\\xdd\\xfd\\x72\\x39\\xb5\\x87\\xa6\\xcc\\x76\\xb6\\x07\\x39\\x70\\x43\\x85\\xef\\x47\\xdb\\x2b\\x3b\\xc0\\x1b\\xda\\x35\\x78\\x7a\\x5e\\x48\\xfa\\xbd\\x57\\xcd\\x4e\\x18\\x80\\xae\\x62\\x96\\x53\\x1d\\x74\\xa2\\xb2\\x84\\x97\\xc7\\x92\\xc3\\x6a\\x92\\x38\\x97\\xbb\\xce\\x82\\x2d\\xfc\\x12\\x1b\\x79\\xda\\xa4\\xa5\\xfe\\x40\\xe8\\xe8\\x81\\xf1\\xda\\xde\\x83\\xdd\\xea\\x3c\\x06\\x85\\x64\\x1b\\xa2\\x1e\\xdf\\x3f\\x15\\xad\\x64\\xc2\\x1f\\x61\\x3c\\x20\\xad\\x9b\\xf2\\x93\\xb8\\xa0\\x58\\x3e\\x1a\\xcd\\xea\\xa7\\x92\\xf4\\x63\\xb2\\x48\\x76\\xc9\\xde\\x45\\x3f\\x74\\xef\\xb4\\x66\\xb2\\x39\\x8e\\xb1\\xab\\x06\\x4f\\xd4\\xc7\\xaa\\x5d\\xe1\\xbe\\x03\\x30\\xfe\\xc8\\xd8\\x55\\x14\\x17\\x15\\xcb\\x9f\\x92\\xf3\\xb8\\x7f\\x82\\xbe\\x76\\x89\\x7e\\xe8\\xab\\x08\\x35\\x25\\x72\\xc0\\xf6\\x4d\\x92\\xc9\\x1b\\x8d\\x96\\x78\\x8b\\xbd\\x16\\x4b\\x5e\\x1e\\x5f\\xe0\\x0c\\xf2\\x12\\x08\\xa0\\x25\\x7e\\x14\\xd4\\x53\\x57\\x4d\\x77\\xb3\\xb6\\xe9\\x59\\x86\\xcd\\x15\\x77\\x6e\\x37\\x6f\\xaa\\x84\\xa0\\x2e\\xf5\\x34\\x4d\\xdd\\xa9\\x1d\\x0d\\x49\\xab\\x1b\\x69\\xac\\x98\\xa9\\xc4\\x8a\\xd7\\xa9\\xee\\x38\\x32\\x6a\\x4f\\x1a\\x2b\\x66\\xaa\\xb1\\xe2\\x4b\\x1a\\x2b\\xb0\\x3b\\xab\\xf6\\x14\\xfb\\x29\\x30\\xe4\\x3d\\xde\\xc3\\x8a\\xa6\\xaf\\xc7\\xb5\\x34\\x32\\x2b\\xc8\\xfe\\x00\\x96\\xed\\x81\\xdc\\x5d\\xc1\\x52\\xbd\\x55\\x68\\x5b\\xf7\\xa8\\xe1\\x29\\x0f\\x1d\\x97\\x5b\\xaf\\x8b\\x6f\\x47\\xef\\x83\\x04\\xad\\xbb\\x58\\xfd\\x1d\\x13\\xf5\\x59\\x10\\xfa\\x4c\\xc9\\x66\\xfd\\x99\\x12\\x65\\x0f\\x04\\xc0\\x64\\x4d\\xc7\\x05\\x05\\x66\\x9a\\x0e\\xa3\\xc5\\x05\\x9c\\x8e\\x1d\\x54\\xdf\\xbb\\x51\\xbd\\xae\\xea\\xa0\\xef\\x86\\x76\\x45\\xdf\\x3b\\xe8\\x9b\\xc7\\x2a\\x39\\x78\\x86\\x01\\xe5\\x96\\xdc\\x2e\\x8b\\x85\\xb1\\x09\\x8a\\x93\\x8d\\x37\\xd7\\x1a\\xf6\\x32\\x20\\x4e\\xc9\\xe3\\x8b\\x79\\xfd\\x81\\x58\\x0d\\xee\\x83\\x55\\xd5\\x9e\\xd9\\xa3\\xf6\\xa6\\x6e\\xa5\\x9a\\x6a\\x3f\\xdb\\x32\\xa3\\x79\\xc0\\xd5\\x67\\xdf\\xac\\xab\\x76\\x56\\x5f\\xe5\\x09\\x37\\xe9\\x48\\x55\\xee\\xce\\xba\\xd2\\x8e\\x94\\x32\\xf6\\xa4\\x68\\xb6\\xd2\\x93\\xa6\\xd9\\xe9\\x9e\\x34\\xcd\\xce\\xd6\\xed\\x86\\x44\\x90\\x91\\x24\\x1e\\xe3\\xb4\\x6a\\x0b\\xa0\\xda\\x02\\x43\\x55\\xfb\\xa3\\x2c\\xd5\\xd6\\x77\\x6a\\x48\\xf7\\xdb\\x95\\x66\\xab\\x84\\xfc\\x91\\x66\\x6b\\xd4\\x75\\xd0\\x6c\\x6d\\x1e\\x82\\xea\\xf5\\x7c\\x45\\xaf\\x8f\\x50\\xdd\\xf1\\x67\\xcc\\x65\\x50\\xbd\\x9e\\xaf\\xe8\\x35\\x46\\x8a\\x5e\\xe7\\x64\\xcd\\x65\\x50\\x5d\\x9d\\xaf\\xe6\\x40\\x0f\\xe1\\x5a\\xf2\\x9c\\xf6\\xeb\\xc8\\x38\\x5b\\xd9\\x09\\x6c\\x09\\x81\\xa1\\x7a\\x6d\\x57\\xf5\\xda\\x6f\\x80\\x25\\x67\\x7f\\x5c\\x40\\x6b\\xc6\\xb9\\x6a\\xde\\x5f\\x89\\x96\\x12\\x4f\\x1c\\x4d\\xf7\\x9d\\x0d\\x73\\x10\\xf0\\x50\\x98\\xc2\\x2c\\xfa\\xa8\\x7d\\x28\\x63\\x5c\\xf7\\x7d\\xe6\\x9a\\xb6\\x42\\x93\\x5b\\x9f\\xaf\\xb9\\x1d\\x7d\\xa7\\xd9\\x47\\x93\\xd1\\x3e\\x94\\xf5\\xf3\\x47\\xb5\\xf5\\x73\\x3d\\x6f\\x52\\xdf\\xb7\\x36\\xc0\\x3c\\xa2\\xc3\\x90\\x3d\\x31\\xfa\\x67\\xda\\x90\\x7c\\x07\\x85\\xf1\\xea\\x73\\xad\\xfb\\x53\\xbf\\x52\\xfb\\xe0\\x33\\xdb\\xc1\\x3e\\x2a\\xf4\\x35\\x91\\xf9\\xb4\\xce\\x8a\\xa7\\xd7\\x44\\xa0\\x27\\x0b\\x77\\x3f\\xbb\\x85\\xff\\x42\\xdd\\xab\\xac\\x2c\\xe1\\xb2\\x61\\xb3\\x00\\xce\\x52\\xb2\\x93\\xed\\xb9\\xcd\\x02\\xd0\\x52\\x7b\\x38\\x6e\\xd8\\x30\\x5a\\xdd\\xae\\x81\\xda\\x4a\\x93\\x16\\xbb\\x4f\\x10\\x63\\x99\\x73\\xe4\\xe4\\x84\\x77\\xb9\\xfb\\x15\\x3b\\x71\\xd2\\x1d\\x18\\x3a\\xc3\\x8f\\xcc\\x02\\xf7\\xe7\\xf8\\xa9\\x85\\x14\\x6b\\xf8\\x87\\x11\\x13\\xc1\\x61\\xa5\\x03\\xc5\\x3c\\x94\\x0e\\x68\\x5e\\x75\\x3f\\xf7\\x57\\xfc\\xae\\xe0\\x85\\x3e\\x42\\xbb\\x30\\x27\\x88\\x3c\\xf3\\x24\\x76\\xa0\\xb1\\x88\\xc7\\x74\\xdf\\x09\\x75\\xc7\\x42\\x4a\\x31\\xbe\\xf8\\x35\\x8c\\x1b\\x01\\xbe\\x6f\\xb1\\xfc\\x4c\\x54\\xaf\\xa1\\xbc\\x7a\\xad\\xb3\\x1f\\x1d\\x55\\x33\\xde\\xf9\\x1d\\xe7\\xca\\x08\\x2c\\x79\\x97\\x8f\\xc2\\x66\\xd7\\x98\\x3a\\x0e\\xa5\\x9d\\xe4\\x0e\\x4d\\x28\\x5d\\x35\\x6a\\x73\\x6d\\x54\\x87\\x16\\x19\\x9f\\x8b\\xe8\\xa6\\x5f\\x27\\x78\\xb4\\xeb\\x86\\xdc\\x5b\\xa5\\xa4\\x4e\\x85\\x6b\\x3f\\x93\\x3e\\x0f\\xe7\\xd5\\xd7\\x39\\xf6\\xcb\\x5b\\xa9\\x8c\\x77\\x66\\xb6\\x83\\xec\\x8f\\xd0\\xf6\\x33\\xc9\\xbc\\x2d\\xa5\\xef\\xdc\\x4c\\xf8\\xcc\\x76\\x0d\\x1e\\xd5\\xd3\\x9a\\xe9\\x5c\\xbd\\x5d\\xcb\\xb1\\xdf\\xe3\\xee\\x67\\xf2\\xa8\\x2c\\x5d\\xbb\\x58\\x24\\x2a\\xb2\\x53\\xd9\\xeb\\xa1\\x02\\x7b\\x8f\\xc8\\x49\\x93\\x10\\xbd\\xe7\\x28\\xe4\\xbc\\xcf\\x69\\x39\\xaf\\xe2\\xbd\\x2c\\x56\\x46\\x48\\xe7\\xbc\\x1d\\xbd\\x14\\x7e\\x4e\\xf1\\x47\\x69\\xa7\\x03\\x39\\xef\\xbb\\xf2\\x31\\x54\\xc1\\x8b\\xa0\\x51\\xae\\x5d\\x98\\x61\\x38\\xf0\\xc2\\xb5\\xb5\\xf4\\xe0\\x19\\xe8\\xdb\\x15\\x73\\x55\\x8c\\xe4\\xc5\\xdf\\xbf\\x16\\x82\\x64\\x3f\\xb4\\x02\\x80\\xfd\\x94\\xbf\\x0e\\xd9\\xd1\\x69\\x89\\x42\\x0b\\x32\\x5b\\xad\\x16\\x24\\x70\\x88\\xe7\\x58\\xec\\xb0\\xb1\\x16\\xde\\xce\\x30\\x26\\x96\\x37\\x99\\x78\\x96\\xc5\\x92\\x88\\x01\\x51\\x5c\\x39\\x54\\x43\\xdf\\x0b\\x15\\xc7\\x03\\xf5\\x86\\xad\\xf7\\x3d\\x31\\x97\\x58\\xda\\x54\\xda\\x14\\x68\\x0a\\x88\\x01\\xb1\\xb4\\x62\\xe4\\xe2\\xa6\\xcd\\x9b\\xd5\\x7f\\x8b\\xe5\\x63\\x7c\\x72\\x49\\xd3\\xa6\\x8d\\x3d\\x1e\\x79\\xa4\\xc7\\xc6\\x4d\\x4d\\x4b\\xa8\\x4e\\xb6\\xbf\\x27\\x1f\\xc3\\x3b\\x80\\x06\\x33\\xaa\\x4b\\xf8\\x24\\x86\\x47\\x26\\x16\\xd8\\xc5\\x0b\\x16\\x4e\\xc4\\xf0\\x57\\x30\\x0b\\x88\\x1c\\xff\\xaa\\xec\\xf2\\x86\\xe9\\x1e\\xdf\\xca\\x1e\\xac\\xc0\\x0a\\xe8\\x2b\\x06\\x43\\x8a\\x96\\x36\\xe1\\x1d\\x9f\\x34\\x2d\\xff\\x6d\\x38\\x1e\\xbc\\xbc\\x89\\xdb\\xfc\\x61\\xd3\\x55\\x27\\x2e\\xe6\\x3f\\xbb\\xaa\\x07\\xd9\\x3b\\x6e\\x08\\x8c\\xb1\\x8c\\xe2\\xaf\\x4a\\x78\\x4c\\x9c\\x20\\xb1\\xac\\x20\\x20\\x48\\xad\\x58\\x89\\x95\\x30\\x1d\\x14\\xc5\\x6e\\x40\\x4e\\xc5\\x04\\x88\\x61\\x04\\x30\\x8e\\x68\\xd9\\xf0\\xdf\\x96\\x37\\x7d\\x02\\xf8\\xf1\\x60\\x18\\xc2\\xea\\xab\\x9a\\x3e\\xfc\\xa8\\xc7\\x55\\x54\\x66\\xd5\\xf8\\x59\\x6e\\x3d\\x73\\x13\\xf0\\xda\\x97\\x90\\x18\\xe0\\x1b\\x46\\x4f\\x24\\x01\\x63\\xa5\\x2e\\xeb\\xa8\\xaf\\x9a\\xbb\\x14\\x3f\\x7b\\xf0\\x20\\x85\\x7f\\x00\\x3f\\xc0\\x55\\x30\\x17\\x03\\xbc\\x3f\\x61\\x46\\x2c\\xc7\\x53\\xf8\\xa7\\xd3\\xb6\\x47\\x6e\\x78\\x80\\xbd\\x1e\\x3f\\x40\\x6e\\xc0\\xed\\xbf\\x00\\xfc\\xbb\\x1a\\x3c\\xcb\\x23\\x2e\\x0d\\xaf\\x08\\x14\\x4c\\xd5\\x67\\xe6\\x3e\\xfd\\xff\\x07\\xcf\\xb4\\xb7\\x81\\xfe\\xbe\\xd9\\xbe\\x1c\\xe0\\x45\\xd4\\x98\\xb0\\x89\\x2c\\x2b\\x71\\x60\\x41\\x1c\\xff\\x64\\x92\\xdb\\xdb\\xfe\\x6c\\xc2\\x2e\\x39\\x07\\x01\\x8e\\x27\\x93\\x98\\xec\\x93\\x4b\\x06\\x56\\x89\\x82\\xe4\\x74\\x44\\xac\\x6f\\x2c\\x29\\x92\\x83\\xed\\xc9\\x87\\x7b\\xb7\\xad\\x82\\x7b\\xf7\\xe8\\xa4\\x49\\x87\\x27\\x4d\\x22\\xfb\\x69\\xce\\x62\\x27\\xb0\\xe3\\x41\\x9f\\x59\\x14\\x4c\\x58\\x10\\x28\\x22\\xcf\\xe2\\x75\\x63\\x41\\xb4\\xca\\x60\\xa9\\x2a\\xb3\\x51\\xcc\\x8e\\xdf\\x0c\\x19\\x43\\x13\\x7f\\x28\\xb5\\x8a\\xb9\\x84\\xdc\\x37\\x07\\xee\\x9b\\xa8\\xdd\\x47\\x52\\x08\\x1e\\xb3\\xeb\\xc6\\xe2\\x8c\\xfb\\x3c\\x51\\x80\\xdb\\x8c\\x07\\xc8\\xaf\\xb0\\x13\\x98\\x4b\\x52\\xab\\xe8\\x1e\\xaa\\xf2\\xed\\x6c\\x35\\x66\\xe1\\xbe\\x50\\xc2\\x9c\\xbe\\x6f\\x2f\\x2e\\xcd\\xbe\\xb3\\x85\\xde\\x29\\xdf\\xae\\xdc\\x49\\xee\\x9d\\x0d\\x7d\\x4e\\xd0\\xfa\\x24\\xfb\\x5f\\xf2\\x0c\\x5a\\x37\\x96\\x31\\xf6\\x29\\xe1\\xa8\\x87\\xd9\\x28\\xbf\\x82\\x07\\x6c\\xd6\\xfa\\x64\\xd0\\x0d\\xec\\x04\\xee\\x54\\x7a\\x9f\\x88\\x8a\\x13\\x2e\\x0e\\x14\\x0b\\x2c\\x46\\x12\\x30\\x19\\xaa\\x48\\xc6\\x6a\\x3c\\x4a\\x5e\\x1b\\x72\\x14\\x3e\\xcc\\x02\\x3a\\x6c\\x66\\xa9\\x61\\xf4\\x0a\\x07\\x08\\xde\\x1b\\x01\\x6f\\xbf\\x34\\x5e\\x20\\x44\\xe0\\x38\\x93\\x24\\xb2\\x64\\x48\\x3c\\xee\\x0c\\xaf\\x87\\x9c\\xee\\x08\\x78\\x47\\xd1\\xc1\\xa5\\xae\\x36\\x70\\x47\\x1b\\x27\\xe0\\x95\\xd7\\x70\\xfd\\x30\\x43\\xf1\\x96\\x26\\x9c\\x0a\\x5e\\xc9\\xa4\\xe1\\xa5\\xbc\\xfa\\xef\\x30\\xcb\\x6b\\x74\\xcc\\xe0\\x07\\x17\\x01\\xbd\\xbd\\xc9\\xdc\\xbb\\xf8\\x7e\\xbb\\x99\\x7a\\xce\\xf7\\x11\\xd9\\xe1\\x93\\xe8\\xfc\\x63\\xed\\x95\\x5c\\x01\\x8c\\xc5\\x02\\x1a\\x16\\x32\\x23\\xe2\\x4f\\x58\\x51\\xb4\\xda\\x2c\\x1c\\xcf\\xed\\x4f\\x9a\\x79\\x91\\x7f\\x6e\\xac\\x88\\x98\\xbd\\xb8\\x10\\x29\\xa7\\xfb\\xe9\\xfd\\x07\\xb4\\x08\\x1a\\x63\\xf9\\x06\\x9e\\x8d\\xb2\\xc5\\x3e\\xe6\\x15\\xff\\x3d\\x7e\\xf9\\x11\\x7c\\x4e\\x2e\\x6a\\xcf\\xc5\\xa3\\xd9\\x67\\xdb\\x2e\\xe4\\x6e\\x0f\\x1f\\xca\\xc3\\x0b\\xe5\\xeb\\xf3\\x0e\\xa9\\xfd\\x55\\x73\\x51\\xe8\\xcf\\x87\\x26\\x27\\xf2\\xac\\xa2\\xe4\\x10\\x59\\x9e\\xe7\\x3c\\x0c\\x72\\x32\\x2c\\xc7\\xf9\\x03\\x56\\x8f\\xdb\\xb3\\x3f\\x69\\x73\\x3b\\xdd\\x4f\\xe2\\x28\\xc4\\x3e\\x27\\x2e\\x4c\\x98\\x4d\\x98\\xc1\\xfb\\x93\\x22\\x78\\xcb\\xbd\\x38\\xba\\x7d\\x2c\\x87\\x90\\x4e\\x4a\\xb0\\x23\\x51\\xae\\x38\\xfd\\x8f\\xec\\x38\\x09\\x74\\xc5\\x81\\xae\\x62\\xd6\\x03\\x3f\\x3c\\x31\\x0f\\x34\\x78\\x18\\x2c\\x3f\\x86\\x47\\x3a\\xdf\\x73\\xe2\\x0b\\xe4\\x3b\\x43\\x21\\x3c\\x43\\xbe\\x0b\\x7e\\x91\\x1f\\xc5\\xa3\\x42\\xec\\x3b\\x84\\xd8\\xf3\\xe4\\x7b\\xf3\\x0e\\x85\\xe5\\x8d\\xf2\\x23\\xf0\\x9b\\x7c\\x2f\\x3e\\x0f\\x7e\\xc3\\xe7\\x80\\x1e\\x9e\\x82\\x97\\xb2\\x37\\xb1\\xaf\\x01\\xaf\\x8a\\x77\\x21\\x41\\xb0\\xda\\x58\\x62\\x85\\x16\\xb0\\x3d\\x76\\x98\\x84\\x1d\\x12\\x96\\x50\\xed\\xf8\\xf1\\x87\\xd3\\xea\\x6c\\xd8\\xcd\\x9d\\xbd\\x69\\xeb\\xe5\\x0b\\x1e\\x7b\\x74\\xe1\\xa2\\x2d\\xcc\\xe6\\xcb\\xb7\\x6e\\x59\\xb4\\xe8\\xd1\\x47\\x69\\xde\\x42\\xd6\\xa0\\xef\\xc1\\xdd\\xa8\\xcc\\x2d\\xa8\\x5b\\x22\\x20\\x72\\x1c\\x6b\\x31\\x21\\xd6\\xc4\\x5a\\x6d\\x10\\x65\\x10\\xbe\\x67\\xac\\x89\\x43\\x6e\\x72\\xcc\\x84\\xf1\\xf4\\x7d\\x7d\\xef\\x20\\x57\\xfa\\x2f\\xbb\\x16\\x33\\xa9\\x61\\x18\\xc1\\x87\\xc1\\xdd\\xe4\\xd7\\xb5\\x8f\\xee\\xc7\\xb9\\x37\\x21\\xe6\\xf9\\xf6\\x70\\x10\\x78\\x04\\xc4\\x32\\x48\\x71\\xab\\x4a\\x69\\x4c\\x1c\\xb5\\xaf\\x62\\x04\\x3e\\xca\\x2d\\x25\\xde\\x79\\x28\\xf8\\xe6\\x33\\xc1\\x37\\x97\\xab\\xf7\\x60\\x90\\x0e\\xc4\\x1e\\x70\\x32\\xf1\\x5a\\xed\\x1e\\xdc\\x10\\x85\\xbb\\xe4\\x33\\xf1\\xd1\\x11\\xdc\\xd2\\xa1\\x27\\xf2\\xf9\\xd5\\x4a\\xcc\\x70\\xc3\\x7d\\x3f\\xf0\\xcb\\x60\\x44\\xf9\\x09\\x2b\\x98\\x1c\\xcf\\x9a\\x30\\xcf\\xb3\\x60\\x71\\xc4\\x99\\xeb\\xae\\x5c\\xf1\\xe2\\xa4\\xdf\\x1f\\x0e\\x8c\\x3c\\x80\\x8f\\xb2\\x6f\\xb6\\xe5\\x73\\x9f\\xe1\\xed\\x19\\x38\\x2c\\x24\\x2e\\x98\\x79\\x13\\xd8\\x07\\xcf\\xb0\\x56\\xc0\\x63\\x36\\xb3\\x92\\xc0\\xd2\\x60\\x47\\x70\\x19\\x02\\x83\\x01\\xa3\\x2f\\xaa\\x61\\x95\\x2f\\xc3\\x37\\x69\\x98\\x87\\xca\\xdf\\x66\\xe2\\xae\\x49\\x78\\xb1\\x20\\x98\\x58\\x8b\\xc5\\x24\\x49\\x56\\x48\\xe4\\x40\\x1a\\x12\\xcb\\x91\\x41\\xea\\xc8\\x0d\\xa7\\xe6\\xb0\\x74\\x6b\\x1f\\xda\\x43\\xec\\x07\\x7c\\x13\\xa0\\x3e\\x0a\\x7d\\x70\\x11\\xec\\x1b\\x2a\\x9f\\x45\\xba\\x20\\xe3\\x17\\xe9\\x9c\\xdf\\x21\\xc0\\xcf\\x22\\x07\\x0a\\xa3\\x52\\xc8\\x54\\x5b\\xd0\\x19\\xe8\\xde\\xc4\\x04\\x86\\x05\\x2d\\x62\\x9b\\x6a\\x8a\\x8b\\xcb\\x22\\x11\\xdb\\x69\\x7d\\x12\\x7d\\x9a\\x9a\\xce\\x04\\x73\\xf4\\xdb\\x6c\\x43\\xba\\xf7\\xdb\\x9d\\xec\\xd9\\x7d\\xef\\xd8\\x9e\\xa7\\xc3\\xff\\x39\\x4b\\x18\\xec\\x64\\x0a\\x18\\x06\\xc4\\xe0\\x40\\x8b\\x11\\x63\\x05\\x69\\x31\\x50\\x31\\x16\\x76\\xdb\\x9d\\xcc\\xad\\xdc\\x9d\\x2c\\xcc\\xdd\\x3b\\xb6\\x30\\xc7\\x9c\\xb3\\x3b\\xc9\\x99\\xf7\\x8e\\xe5\\x3c\\xf0\\xff\\x51\\x30\\x8a\\x4a\\xba\\x2f\\x51\\xa5\\x7e\\x00\\xdb\\xc4\\x09\\xe3\\xe7\\x8c\\x9f\\x43\\x5b\\x0c\\x03\\x89\\xeb\\xc7\\x6d\\xbb\\xb4\\x69\\x03\\x4f\\x0c\\xc7\\xd3\\x1b\\x6f\\x77\\x6f\\x34\\x1c\\x98\\xdf\\xe8\\xe9\\xa2\\xbd\\x2b\\xf8\\x07\\xd7\\x33\\xc9\\x07\\x52\\xdf\\x5f\\x36\\x6b\\xc1\\x9c\\x79\\xf3\\xe6\\xbe\\x5c\\x58\\x5d\\x53\\x5a\\x5a\\x5d\\x56\\xb6\\x2b\\xbb\\x01\\x3f\\xda\\xa1\\x65\\x0b\\x33\\x1a\\x2f\\xbe\\x7d\\xf5\\xed\\x77\\xdd\\xbd\\x7a\\xcd\\x1a\\xf9\\xfd\\x89\\xa7\\x8f\\x1a\\x71\\xf6\\xe8\\x31\\xf2\\xe0\\x0e\\x4d\\x78\\x61\\x87\\x26\\x25\\x56\\x7c\\xcc\\x0e\\x61\\x8e\\xf1\\x87\\xd5\\x58\\x41\\x0e\\xbb\\x61\\xf0\\xfa\\x64\\x46\\xac\\xc0\\x31\\x36\\xca\\xbc\\xfa\\x52\\x31\\x76\\x01\\xec\\x35\\xe4\\x9c\\x2b\\x76\\x08\\xfb\\x77\\x7a\\x8f\\x88\\x8a\\xc0\\xef\\xb2\\xac\\x28\\x08\\x92\\x89\\xc7\\xe4\\x56\\x01\\xcc\\xc4\\xe0\\x74\\x75\\x0c\\xe4\\xc3\\x6e\\x05\\x2c\\x1e\\xd9\\xa5\\xe1\\x4a\\x2d\\x66\\xae\\x01\\x7f\\x7b\\x3e\\x3b\\x84\\x9b\\xc9\\x1f\\x06\\x7f\\xfb\\x95\\x4c\\xde\\x27\\x28\\x11\\xbf\\xa2\\x5e\\xf7\\x2b\\x7c\\x05\\xa5\\xf1\\x3c\\x74\\x0b\\x3b\\x92\\x7d\\x0c\\x99\\xc0\\xde\\x83\\xc8\\x64\\x22\\xa6\\x85\\xb1\\x04\\x45\\xc4\\xf7\\x63\\x19\\xd0\\x47\\xf4\\xfd\\x58\\xe1\\x18\\xea\\x43\\x3d\\x5b\\xbc\\x52\\x77\\xf6\\xca\\x19\\x01\\xb8\\x01\\xc7\\x7d\\x2c\\xf6\\x31\\xd3\\x64\\x19\\x33\\xdf\\xc9\\x18\\xdd\\x82\\x2f\\x18\\x88\\x67\\x15\\xcb\\xab\\xe4\\x3b\\x63\\x14\\xff\\x42\\xc0\\x3f\\x83\\xe2\\x8f\\x27\\x72\\x18\\xc0\\xc7\\x73\\xe4\\xd4\\x19\\xc9\\xcc\\x98\\xbe\\x1f\\x2b\\x0a\\xc0\\x14\\xe8\\xa7\\x93\\x0e\\x14\\x55\\x28\\x26\\x73\\x63\\x71\\xec\\x03\\x3c\\x18\\xc9\\xdf\\x61\\x46\\x96\\x6f\\x89\\xe1\\x0b\\xf0\\x25\\xc5\\x72\\xeb\\x40\\xf9\\x4e\\xc4\\xa1\\xdd\\xa0\\xdf\\x7e\\x7e\\x80\\xea\\xb3\\x1c\\xa8\\x5f\\xa2\\xc0\\xe2\\x70\\x40\\x7a\\xca\\x41\\xe8\\x60\\x38\\xce\\xe5\\x94\\x30\\x66\\x38\\x1b\\xcf\\xf1\\xf7\\x8d\\xb5\\x72\\x6e\\x33\\xe8\\x3d\\xd9\\xf9\\x5a\\x3d\\x61\\x33\\x58\\x9b\\x0e\\x60\\x2e\\x3d\\x8e\\x11\\x96\\x92\\x3d\\xd0\\xb4\\xff\\x9f\\xfa\\x67\\x01\\x2e\\x91\\x3f\\xc0\\x05\\x4c\\x81\\xf6\\x0d\\x3f\\xc2\\xde\\x73\\xe2\\x49\\x6c\\x97\\x7f\\x4c\\x7f\\x23\\xf9\\x7f\\x1b\\xff\\x18\\xf7\\xa6\\x60\\x75\\x8b\\xe8\\x54\\x08\\x99\\xd7\\xd3\\x38\\x43\\xf6\\x97\\xac\\xa0\\x34\\xe6\\x82\\x0f\\xc2\\x0c\\xc4\\x50\\x48\\x1b\\x04\\x14\\x54\\xcf\\x3c\\x52\\xf5\\x3e\\x4a\\xf4\\xfe\\xf4\\x07\\x98\\xcf\\x36\\x00\\x2c\\xdc\\x82\\xdf\\x03\\x47\\xf3\\xab\\x1a\\xdb\\xc9\\xd8\\x4e\\x4f\\x94\\x58\\x4d\\x88\\xe3\\x1c\\x16\\x18\\x9b\\xcb\\x69\\xb3\\xde\\x37\\xd6\\x66\\xe3\\x24\\xc9\\x74\\xdf\\x58\\xc9\\x41\\xc6\\xc7\\xb9\\x31\\xba\\x4f\\x49\\x80\\x90\\xe1\\x3c\\xee\\x60\\xad\\xc6\\xd7\\xb8\\xb6\\xf7\\x38\\x19\\x95\\xf1\\xf3\\x1e\\x39\\x5e\\x20\\xfd\\xe1\\xb6\\xe3\\x90\\xfc\\xcf\\xb6\\xb3\\xc8\\x79\\x8c\\xc0\\x03\\xf8\\x2e\\xcf\\x26\\xdf\\x33\\x7d\\xaa\\x03\\xf5\\x4f\\x14\\x08\\x66\\xb3\\xc9\\xca\\x3a\\xb0\\xc3\\xca\\xda\\xa0\\x0e\\xe5\\x59\\x64\\x73\\x82\\x04\\x40\\xc6\\x1c\\xc9\\x12\\x89\\xff\\x72\\x29\\x1e\\x4c\\x73\\x61\\xc4\\x59\\xaa\\xc1\\x51\\xf1\\x64\\x71\\x57\\x0c\\xd2\\xc2\\x18\\x3d\\xa0\\x89\\x78\\xb3\\x03\\xe0\\x2a\\x0f\\x1c\\xd0\\xbc\\x19\\x38\\x4a\\xdd\\x9f\\x31\\x7a\\xdf\\xac\\xea\\x31\\x45\\x51\\x02\\x8e\\x48\\x66\\xb3\\xd5\\xc4\\x41\\x2c\\xe6\\x49\\x2e\\xfb\\x07\\x1e\\x93\\x75\\x29\\x2e\\x73\\x1d\\xee\\x29\\xbf\\x78\\x36\\x71\\x99\\xa4\\x0f\\x79\\x1d\\xde\\xae\\x3b\\x4d\\xdc\\xee\\x84\\x3e\\x8e\\x43\\x1f\\x34\\x3e\\x11\\x37\\x29\\x70\\x58\\xab\\x8c\\xc8\\x1b\\xbc\\xe0\\xd8\\xc1\\xde\\x2a\\x46\\xbe\\x88\\x3f\\x7d\\x11\\xd2\\xfc\\x12\\x7c\\x89\\xbc\\x2a\\x7d\\xdf\\x8d\\x48\\x20\\xb1\\x46\\xc0\\x10\\xda\\x44\\xa0\\x0d\\x62\\x45\\x87\\x58\\x43\\x68\\x08\\x63\\xc0\\x70\\xfc\\xb8\\x1a\\x0f\\x9e\\x90\\x07\\xd2\\xf1\\xb9\\x00\\xc7\\x31\\xa8\\x41\\x04\\xa8\\x42\\x2a\\x12\\x6e\\xce\\x64\\x36\\x63\\x91\\xe7\\xa1\\x14\\x01\\x3a\\x2c\\x26\\x4a\\x88\\x3e\\xae\\x7a\\x55\\x69\\x29\\x49\\xa4\\x00\\x69\\x2a\\x15\\x03\\x15\\x23\\x5f\\x38\\x76\\xec\\x85\\x91\\x57\\x5f\\x7d\\x35\\xd0\\xc6\\xef\\xfa\\xe8\\xa3\\x5d\\xbb\\xe6\\xcc\\x99\\x6d\\x94\\x9b\\x0d\\xea\\x27\\xbf\\x49\\x30\\xb3\\x36\\x6c\\x86\\xda\\xcd\\x62\\x97\\x6c\\x64\\x86\\x8d\\xb3\\xa4\\xa3\\x8d\\xca\\xbc\\x80\\xb6\\x95\\xa4\\x22\\x23\\xa3\\x84\\x82\\xba\\x80\\xe4\\x7b\\x75\\xf9\\x60\\x3c\\x90\\x11\\xd9\\x0d\\xdc\\x3a\\xd0\\xed\\x5e\\x89\\x7c\\x14\\x74\\x9a\\x4c\\x52\\x50\\x0a\\xe5\\x40\\x34\\x73\\x7a\\xbd\\xdc\\x17\\xc9\\x89\\x5e\\xec\\x25\\x15\\x02\\x39\\x01\\xb3\\xb6\\xbe\\xb6\\x72\\x3c\\x31\\x44\\xb7\\xba\\xf4\\x93\\x3e\\x77\\x41\\xdb\\xb1\\x12\\x86\\x15\\xcf\\x67\\xf4\\x43\\x99\\x98\\x1f\\x6a\\x7a\\xf7\\x3d\\x7d\\x3b\\xf7\\x30\\x18\\x11\\xc3\\xc6\\xa6\\x0e\\xbe\\xe4\\x42\\x46\\xc4\\x4b\\x46\\xf7\\x9b\\x34\\x56\\xde\\x80\\xdb\\x6f\\x62\\xc3\\x85\\xb5\\xa7\\xf4\\xbc\\xe8\\x72\\x79\\x28\\xd8\\x22\\x16\\xdb\\x2f\\x60\\xbf\\x67\\xae\\x71\\x8a\\xfc\\x14\\x84\\x52\\xf4\\x9d\\x0d\\xec\\x87\\xb6\\x3d\\xb4\\x6d\\x86\\xd6\\x86\\x7e\\x6a\\x9f\\xc1\\x1e\\x61\\x96\\x40\\xdb\\x1c\\x68\\xbb\\x85\\xb6\\x7d\\xdf\\xbe\\x80\\xfd\\x84\\x99\\x03\\x95\\x7a\\x1d\\x33\\x4d\\x69\\x83\\x7b\\x67\\xc0\\xbd\\x04\\xee\\x02\\x05\\x8e\\x9c\\x77\\x4e\\xf6\\x60\\xe4\\xd7\\xa2\\x08\\x9a\\x90\\xa8\\x77\\xe5\\x98\\xf3\\xf2\\xbc\\x28\\x10\\x86\\x82\\x2d\\x9f\\xcb\\x2f\\x88\\xfa\\x82\\x53\\x92\\xb9\\xd8\\x8b\\xa7\\x24\\x73\\xbc\\x16\\x9f\\xd7\\xeb\\x03\\xcb\\x45\\xa2\\x7d\\x4a\\x12\\x02\\x73\\xde\\x94\\x24\\x49\\xa5\\xc0\\x4a\\x9d\\x07\\xd2\\x07\\xbf\\xba\\x8c\\xbb\\xc3\\xba\\xb5\\x83\\x28\\xeb\\x49\\x72\\x55\\xc8\\x34\\x74\\xa7\\x87\\x3a\\xf3\\xfa\\x81\\xbf\\x24\\xb9\\x50\\xff\\x32\\xec\\xfb\\x27\\x7e\\xfd\\xc7\\xb6\\x7f\\x86\\x64\\xd9\\x72\\xce\\xd9\\xd3\\x2f\\x9d\\x76\\x29\\x73\\x99\\x7c\\x09\\xc9\\x2b\\xf1\\x16\\xbc\\x08\\xc7\\x7e\\xfd\\x15\\xdb\\xb7\\xdf\\x69\\x3b\\x63\\xec\\x23\\x1b\\x9e\\x78\\x1c\\x5f\\xb0\\xef\\xf1\\x7d\\xcf\\xee\\x03\\x2b\\x1a\\xd6\\xde\\xca\\xad\\x01\\x1f\\x93\\x8b\\x0a\\x21\\x3b\\xb8\\x23\\xd1\\xc3\\x2a\\x49\\x96\\x82\\x40\\x89\\x2f\\x28\\x3a\\x9d\\x85\\x79\\x82\\xc0\\x45\\xb8\\xc2\\x60\\x20\\x84\\x72\\x4d\\x0c\\x68\\x8a\\x27\\xc6\\x78\\x98\\xf2\\x32\\xc9\\x6a\\x77\\xb8\\x8b\\x51\\xc8\\x14\\xe4\\x82\\x85\\x13\\x93\\x4e\\x80\\xd8\\x8b\\x2d\\x09\\x77\\x32\\xe8\\x09\\xe4\\x26\\x7c\\x1e\\xb1\\x64\\x52\\x52\\x8c\\x4c\\x4c\\x8a\\x3c\\x34\\xef\\x4e\\x8a\\x1c\\x6f\\x06\\xeb\\x6c\\x39\\x50\\xaf\\xa6\\x05\\xa1\\x43\\xf5\\x6a\\xae\\x4c\\xc6\\x6d\\x3c\\x36\\x2d\\xe3\\xbc\\x63\\x3d\\x0c\\x94\\xb8\\x9c\\xc5\\x4d\\x71\\xd1\\x1f\\xa0\\x3f\\x44\\xb6\\xb1\\x89\\x67\\x78\\x31\\xd6\\x54\\x52\\x2a\\xc6\\x70\\x49\\x29\\xeb\\x0f\\xb0\\xde\\x80\\x47\\xc0\\x3d\\xbf\\x61\\x72\\xc3\\xd7\\xe6\\xb5\\xd4\\x14\\x5f\\xdb\\x38\\xa7\\xe9\\xd7\\x87\\x2e\\x69\\xc6\\xae\\x6b\\xe4\\x5b\\x7d\\xd7\\x06\\x7a\\xc5\\xf3\\xaf\\x65\\x9c\\x95\\x3d\\x0f\\x56\\xf7\\xfa\\x20\\xb8\\x6e\\xd7\\x90\\xcd\\x78\\x27\\xb3\\xde\\x79\\xe9\\x15\\x16\\xef\\xdd\\x9f\\x4f\\xd9\\xde\\x3b\\x75\\x7a\\xcd\\xde\\xee\\xf2\\x79\\x96\\x71\\x53\\x25\\xf7\\xd5\\xdc\\xda\\xb8\\xe3\\xe4\\xa6\\x2a\\x1b\\x7e\\x6d\\xd9\\x24\\xe6\\xde\\xd3\\xa8\\x9c\\xc9\\x9e\\xba\\x6b\\xf8\\x73\\x51\\x19\\x1a\\x9f\\xa8\\xf3\\xf3\\x50\\xbb\\xe5\\x4b\\x4e\\x67\\x2c\\x07\\xe5\\xe7\\xe4\\x57\\x94\\xdb\\xdc\\x13\\x93\\x45\\xa6\\x20\\x6b\\x2b\\x20\\x27\\xb2\\x87\\x0b\\x0a\\x4a\\x27\\x26\\x0b\\x38\\xc6\\x1f\\xf6\\x4f\\x4a\\x86\\xa1\\xa0\\xa8\\x35\\x1c\\xf0\\x4b\\x93\\x21\\x32\\xd0\\x4a\\xe3\\xf9\\x7b\\xca\\xc6\\x8d\\xe4\\xf4\\x85\\x80\\x7a\\x18\\x19\\x99\\x4f\\xd6\\x76\\x01\\x26\\xe3\\x8d\\x16\\x20\\x72\\x28\\x83\\x22\\xfe\\x02\\x7c\\xe5\\xd5\\xe2\\xbf\\x2d\\x5c\\x71\\xe3\\xc0\\x78\\x3c\\xdc\\xbb\\x6e\\xd8\\xd4\\x73\\xeb\\xb1\\xeb\\x5a\\xf9\\x1a\\xf9\\x2b\\xf9\\x08\\xd3\\xe3\\xc9\\xb6\\x9e\\xf2\\xf1\\xbc\\x79\\x67\\xc8\\xc7\\x99\\xcd\\xf2\\xa1\\x8b\\x70\\xf1\\x5f\\xc6\\x2e\\x9f\\x3a\\x77\\x5c\\x8d\\xe3\\x5b\\xc7\\xee\\x7b\\x7c\\x8d\\x0f\\x74\\x97\\xc7\\xe0\\xf3\\xf1\\x18\\xe6\\xaf\\x2f\\x3d\\x73\\xea\\xcc\\xcb\\xc8\\xf8\\x8a\\x41\\x8f\\x2f\\x82\\xb8\\xe3\\x42\\xc9\\x84\\x8b\\xc7\\x92\\xc4\\x8a\\x4e\\xbb\\xd9\\x69\\x76\\x7b\\x4c\\x56\\x9b\\x95\\x08\\x37\\x94\\xe4\\x6d\\x98\\x9b\\x92\\x74\\xd8\\x30\\xb8\\x7a\\x6c\\xc3\\x92\\xc3\\x81\\xe0\\x57\\x56\\x72\\xa3\\x96\\x16\\x63\\x9a\\x67\\xac\\x82\\x94\\x3d\\x29\\xe3\\xda\\x01\\x38\\x8a\\xb2\\x12\\x27\\xdc\\x40\\x94\\x17\\xbf\\xc6\\x5c\\x95\\x5a\\x46\\x7c\\xb1\\xfc\\xf9\\xcd\\x37\\xb3\\x4f\\x72\\x97\\xc9\\x8f\\xbf\\xf1\\xcc\\xed\\x24\\x9b\\xb8\\x9d\\xdd\\xfa\\x06\\xd0\\x35\\x16\\xe8\\x7a\\x10\\xf8\\x5e\\x87\\xee\\x4f\\x84\\x73\\x82\\x85\\x25\\xa5\\x05\\x45\\x45\\x64\\x6f\\x50\\x8b\\x0b\\xbc\\x56\\x49\\x90\\x05\\xd3\\x40\\xa8\\xbe\\x8e\\x54\\x3f\\xcd\\xe0\\x57\\xea\\xea\\xb8\\x52\\x8b\\xd5\\xb2\\x20\\x59\\x64\\x8d\\x39\\x9c\\x8e\\x05\\xc9\\x02\\x67\\x8b\\x15\\x23\\x2b\\xb6\\x3a\\x9c\\xd8\\xc1\\x5a\\x9d\\x39\\x39\\x4e\\x2b\\x5b\\xe5\\xf3\\xe5\\xce\\x4f\\xfa\\x44\\xbe\\x8a\\xab\\xba\\x34\\xc9\\x05\\x51\\x87\\x03\\x98\\x61\\x18\\x13\\xc6\\x8f\\x57\\xac\\x51\\xf9\\xe9\\xa6\\x71\\x94\\x4e\\x67\\xb8\\x03\\xe9\\xc3\\x56\\xd3\\x67\\x49\\xda\\x71\\x2c\\xda\\xd0\\x97\\xa1\\x47\\xfa\\x34\\x68\\x07\\x5a\\x6a\\x07\\x3d\\x91\\x9d\\x9c\\x95\\xbf\\x5e\\x3b\\x16\\xa3\\xf5\\x8d\\x4d\\xdc\\x83\\x91\\xb7\\xee\\x4c\\x0d\\x4e\\x36\\x47\\x9e\\xda\\xbe\\x7d\\xfb\\xbb\\xef\\x6c\\x7e\\xae\\xea\\x5f\\xbe\\xe1\\xa7\\x8e\\x1d\\x86\\xf3\\xe5\\xcf\\xc8\\x27\\xda\\x6f\\x38\\xbe\\x72\\xc6\\x85\\x2e\\x7c\\xe1\\x63\\xfb\\x0f\\xd7\\x9f\\x32\\xee\\x34\\xe1\\xf6\\xd9\\xb7\\x27\\x5e\\x79\\xfd\\xc6\\xb5\\xb5\\x67\\x9e\\x76\\xe9\\x55\\xe5\\xf0\\x1b\\x77\\xea\\xc4\\x01\\xd5\\x53\\x27\\x00\\x9f\\x06\\xb4\\xf7\\xe6\\x96\\xf2\\xe5\\xa8\\x1c\\x0d\\x4b\\x54\\x38\\x91\\x24\\xd9\\xcc\\x25\\xb8\\x34\\xa7\\xa0\\x20\\x12\\x29\\x0a\\x94\\x9a\\xf9\\x8a\\xca\\x22\\xde\\xcb\\x4f\\x49\\x86\\x9c\\x5e\\xd0\\x30\\x36\\x68\\x73\\x94\\x16\\x20\\xb3\\x9b\\x9e\\x2d\\xd7\\xf2\\x22\\x3d\\x12\\x28\\x6b\\x0b\\xe1\\xb8\\x36\\x6f\\x1c\\xc0\\x0d\\xba\\x37\\x06\\xd5\\x0c\\xa8\\x67\\xa4\\x05\\x3c\\x71\\x51\\x3b\\xd4\\x0d\\x4c\\x10\\x24\\xca\\x7e\\x89\\x9d\\xc5\\xf5\\xf1\\x5e\\x5f\\x0a\\x6f\\x0a\\x4c\\xe1\\x05\\x67\\x8e\\x18\\xed\\x7d\\xf0\\x2f\\x63\\x85\\xf9\\xd3\\xbe\\x28\\x28\\xbb\\xea\\x8b\\x8b\\x0f\\x30\\xab\\x0e\\xac\\x9e\\xff\\xd4\\xda\\xd4\\x3e\\x76\\xc4\\xd3\\x15\\x8b\\xeb\\xa6\\x8d\\x1f\\x3d\\x16\\xdf\\xf2\\xe1\\x63\\x6f\\xa6\\x6a\\x99\\x55\\xd7\\x2d\\x32\\xc9\\x6f\\xa6\\x6e\\xef\\x27\\xff\\x4e\\xe2\\x08\\xaf\\xbe\\x97\\x35\\x00\\x6a\\x96\\x02\\xd0\\xcd\\x32\\x54\\x89\\xee\\x49\\x54\\x84\\xfc\\xfe\\xd2\\x48\\xae\\xc7\\x13\\xf4\\x7a\\x4b\\x8a\\xf2\\x0a\\xb9\\x68\\x45\\x34\\xaf\\x8c\\x43\\x0e\\xd0\\x84\\x72\\x8b\\xe8\\x40\\x8e\\xaa\\xea\\xf2\\x4a\\xb7\\xdd\\x1f\\xf0\\x13\\x85\\xb5\\x25\\x8b\\x73\\x2d\\x81\\xa2\\x88\\x39\\x54\\x12\\x0e\\x87\\x48\\x8b\\x27\\x59\\x2a\\xb2\\xe1\\x40\\xb8\\xac\\x2c\\x1c\\x60\\xb1\\xd3\\xeb\\xe6\\xb1\\x92\\x0d\\x6a\\x53\\x95\\x2a\\x13\\xd4\\x3c\\x89\\xa6\\xa4\\xe9\\xf3\\x4a\\xe3\\x69\\xd1\\x2b\\x07\\x08\\x52\\x20\\x35\\xa0\\x47\\x3d\\x71\\x17\\x8d\\x8f\\xf4\\x54\\xaa\\x28\\x1b\\x53\\x74\\x9c\\x2c\\xb9\\xc6\\x4b\\x63\\x01\\xbe\\xb4\\x21\\x16\\xc0\\x81\\x38\\x2e\\x8d\\xad\\xc0\\x67\\x6f\\x79\\x16\\xe3\\x15\\xf0\\x47\\x7e\\xf8\\xde\\x97\\xe5\\x76\\xf8\\x82\\xaf\\xbf\\xbe\\x69\\x04\\x83\\x9f\\x65\\x97\\x34\\xc9\\xb3\\xad\\x51\\xfc\\xb2\\x25\\xc4\\x5e\\x81\\x5f\\x95\\x1b\\xc9\\x67\\xd3\\xaa\\x4d\\xf2\\x74\\xbc\\x96\\x7c\\xc8\\xd7\\x17\\x57\\xf5\\x1b\\x7a\\x5e\\xcd\\x2a\\xfc\\xd7\\x05\\xa9\\xa7\\xc9\\x3e\\xc5\\x1c\\xaa\\x6e\\xff\\x85\\xdb\\x07\\xbc\\x92\\x50\\x35\\x6a\\x40\\x83\\xd1\\x13\\x89\\xda\\x58\\x61\\xa1\\x19\\xd5\\xf4\\x6a\\x69\\xe9\\x71\\x7a\\x63\\xe3\\xe9\\x7d\\xfa\\xf7\\xcf\\x75\\x39\\x9d\\xe5\\xb9\\xb9\\xa7\\xd7\\xb0\\x82\\xdf\\x6f\\x8e\\x93\\x03\\xe9\\x84\\x21\\x67\\x94\\xfb\\x23\\xb6\\x53\\x3c\\x36\\xcf\\x5e\\x1c\\x48\\x58\\x92\\xa7\\xd9\\x5c\\x2e\\x5b\\x4e\\xdf\\xc1\\x3d\\x06\\xc3\\xef\\xdb\\x93\\x91\\x12\\xd2\\x1c\\x4a\\xc6\\x62\\x91\\x48\\xaf\\xe6\\x1e\\x3d\\xb8\\x38\\xb7\\x20\\x19\\x8f\\x8b\\x82\\x58\\xbf\\x20\\x09\\x55\\x49\\x10\\xb5\\xa4\\xf3\\x4b\\xb0\\x1e\\xc8\\x1a\\x20\\xb7\\xab\\xad\\x54\\x77\\xa5\\x56\\x43\\x99\\x2b\\x7d\\x1e\\x9a\\x2b\\xcd\\xc0\\x20\\xcd\\x0a\\xc9\\x47\\x77\\xf3\\xb5\\xca\\x2c\\x45\\x25\\x39\\x0e\\x36\\x5e\\x80\\xd5\\xc3\\x70\\xfc\\x5d\\x9f\\x9b\\xe6\\xc7\\x64\\xff\\x14\\x10\\x85\\x27\\xf3\\x34\\x30\\xf5\\x68\\xf4\\xd3\\x1e\\x69\\x2d\\xdf\\xf5\\x16\\x24\\x24\\xf3\\x66\\x8c\\x19\\x32\\xcd\\x32\\xdf\\xd5\\x23\\x14\\xac\\xae\\x1b\\x9c\\xb8\\x60\\x78\\xbf\\xc9\\xa6\\x05\\x7c\\xc4\\xe3\\x0b\\x36\\xc4\\x17\\x9f\\x7c\\x77\\xe0\\x68\\x67\\xf0\\x8e\\x9a\\x61\\xbd\\xc6\\x2e\\x5b\\xd6\\xb3\\x3a\\x1c\\xef\\x3e\\x72\\x02\\xfb\\xeb\\x43\\x07\\x52\\x73\\xf9\\x01\\x6d\\xb3\\x47\\x5e\\x38\\xf1\\x2c\\xd7\\x98\\x52\\x6f\\x51\\xdf\\x68\\x7c\\x6a\\xf3\\xd9\\x13\\x26\\x9e\\x6e\\x2d\\xaa\\x8c\\x84\\x8a\\x9b\\x63\\xa3\\x99\\xb7\\x26\\x26\\xe5\\xcb\\xe5\\x13\\x17\\xae\\x5c\\x79\\xa1\\xbc\\xe6\\x2c\\xf1\\x42\\xcb\\xf0\\xa1\\xf8\\x7a\\x3a\\x8f\\x12\\xa1\\xcf\\x03\\x0d\\x40\\x76\\xe4\\x87\\x2a\\x60\\x6e\\xa2\\xaf\\x97\\x65\\xad\\xd8\\x2e\\x49\\x8e\\x9e\\x79\\xd5\\xd5\\x0e\\xc8\\xfe\\xe3\\x45\\x01\\x2e\\xd0\\xaf\\x7f\\xf7\\x9e\\x45\\xf9\\x5c\\xa8\\x2e\\x14\\x05\\xbb\\xf4\\x58\\xbd\\x5e\\x66\\x62\\xb2\\xae\\x69\\x4a\\xb2\\x8e\\xa4\\x4a\\x3c\\xef\\x99\\x98\\x84\\x6c\\x9a\\x73\\x13\\x0d\\x55\\xf9\\xdc\\x52\\x69\\xf4\\x53\\xfa\\xde\\x32\\x81\\x74\\xcd\\x44\\xd5\\x91\\xa8\\x1f\\x28\\xa0\\x72\\xf4\\x7d\\xdc\\xc3\\xaa\\x7c\\xc2\\xfa\\x01\\x43\\x0a\\x53\\x6b\\x71\\x9c\\x9e\\xe5\\x65\\x64\\x6b\\x3e\\x8e\\xe0\\x7c\\xd0\\xc4\\xf5\\xf5\\xaf\\xe3\\xe2\\x7b\\xef\\x19\\x37\\xc8\\xf2\\xcc\\x4f\\xcd\\x89\\x01\\x83\\xe7\\xb1\\x05\\x77\\x5d\\xb7\\xec\\xd6\\xc0\\x76\\x6b\\xbc\\x47\\xf7\\xba\\xea\\xfe\\x35\\x78\\xd4\\xa8\\xea\\x5b\\xae\\x9d\\x77\\xb3\\x73\\x97\\x54\\x59\\x5a\\x5d\\xe5\\x8a\\xd5\\x97\\x4e\\x3c\\xb7\\x8e\\x61\\x53\\x29\\x7e\\xc0\\xe1\\xe7\\x5b\\xf7\\x96\\xa6\\x9e\\x64\\x37\\x4f\\x48\\xca\\xd7\\xcb\\x23\\xef\\xdd\\x79\\xdd\\x5d\\x75\\xe7\\xf4\\xed\\x79\\x6a\\x53\\x4b\\xd0\\x5d\\x78\\xf6\\xe5\\xc9\\x7b\\x1f\\xbb\\xe3\\xa6\\xc2\\x33\\x7b\\xc5\\x7b\\x17\\x55\\xe5\\x7b\\x9d\\x25\\xa3\\x16\\x13\\x73\\x17\\x74\\x9b\\x27\\x67\\xe9\\x57\\x83\\xc7\\x6f\\x40\\x3d\\xd0\\xae\\x44\\x1f\\x9e\\x29\\xa8\\xa9\\xb2\\x98\\xe2\\x21\\xbb\\xcf\\xe7\\xef\\x51\\x19\\x41\\x98\\xe7\\x9a\\xfc\\x56\\x6b\\x51\\x61\\x7d\\x43\\x69\\xa8\\xb6\\x2e\\x6c\\x2a\\xab\\x6a\\xb2\\x73\\x6e\\x57\\x81\\xab\\xb9\\x67\\xb9\\xc8\\x71\\xcd\\x0d\\x8d\\x3d\\x9a\\xe2\\xf5\\x61\\x7f\\x41\\xb4\\x80\\x98\\xbd\\x35\\x59\\x53\\x59\\xea\\x89\\x96\\x17\\xbb\\x21\\x6b\\x24\\x0d\\xde\\xa4\\xc3\\x22\\x41\\x16\\x51\\x97\\x1f\\x85\\x44\\x9e\\x0f\\xe6\\xbb\\x6d\\x3c\\x9b\\x3e\\x69\\xd9\\xa5\\x9a\\xbb\\x62\\xff\\x86\\xaf\\xf1\\x78\\xba\\xa8\\x70\\xab\\xc7\\x4d\\xb9\\x9b\\x33\\x93\\x16\\x25\\x1d\\x2f\\x05\\xdb\\x67\\xc1\\x27\\x34\\xc5\\x03\\x71\\x4f\\x94\\x05\\xdd\\x14\\xe1\\xc3\\xc6\\xd8\\xd2\\x98\\x08\\x3f\\x21\\x97\\x6e\\x6c\\x8a\\x45\\x70\\x71\\xcc\\x1f\\x88\\x37\\x05\\xe2\\xa5\\x01\\xfa\\x5b\\x53\\x6c\\x51\\xe1\\x98\\x3e\\x7d\\x30\\x5b\\x7f\\x88\\x7f\\x9e\\x3b\\x54\\x87\\xd9\\xbe\\x2d\\xc9\\xc2\\x2b\\x6e\\xef\\xfb\\x5b\\x22\\x36\\x2b\\x76\\xea\\x6f\\x2d\\x6b\\xd8\\x8b\\x05\\xf7\\x8a\\x1a\\xa7\\xbc\\xe6\\x5a\\xb7\\x58\\xeb\\xdc\\x15\\x71\\xb4\\x61\\x8e\\xc1\\xb2\\xc4\\x30\\x4c\\xcf\\x0f\\x36\\xe1\\x1b\\xe4\\x05\\x0e\\x07\\xf9\\xb9\\xe9\\x83\\x4d\\x90\\xfc\\x59\\xc0\\xc5\\xfc\\x8c\\x57\\x6d\\x1a\\xb8\\xfa\\xde\\xbe\\x1f\\xdc\\x36\\xb8\\x6f\\xdf\\x53\\xfe\\x63\\x36\\x73\\xd8\\x86\\x18\\xe0\\x31\\xe2\\x1e\\xe3\\x8e\\x40\\x0d\\x97\\x0f\\x19\\x4d\\x80\\x17\\x3c\\x4e\\xc1\\x19\\xb6\\xd9\\x83\\xe1\\xb0\\xbd\\x20\\xe2\\x72\\x39\\x04\\xc1\\xe9\\xc8\\x39\\xc5\\x81\\xcf\\x44\\x76\\x7c\\x16\\x80\\x59\\xf1\\x39\\x28\\x89\\xc8\\xef\\x4e\\xe4\\xa1\\xdf\\x9d\\xd0\\xae\\x17\\x9a\\x50\\xc8\\x36\\x03\\xe3\\x6a\\x0d\\x53\\x82\\xda\\x53\\x20\\xf5\\xf9\\x18\\x82\\x84\\x72\\x7c\\x3a\\xa8\\x25\\x3d\\x0a\\x97\\x1e\\x2c\\x18\\x77\\x39\\x85\\x18\\xde\\xfa\\xd8\\xfe\\x31\\x6f\\xd7\\x5e\\xb8\\xe0\\x9e\\x37\\x71\\xf3\\xdb\\x0f\\xce\\xbf\\xa0\\xf2\\xcd\\xc3\\xbf\\x70\\x47\\x2e\\xf8\\xfa\\x90\\xfc\\xcf\\xdf\\x56\\xdf\\x99\\x68\\x3b\\xc9\\x1d\\x69\\x2b\\x65\\xa3\\xa9\\x9d\\x2d\\x6b\\x6e\\x67\\xee\\x4d\\x0d\\x97\\xdf\\x4a\\x91\\x67\\xfd\\xe5\\x3b\\xb9\\x27\\xe8\\xda\\xeb\\xdb\\x74\\x6d\\xf8\\x4d\\x84\\x4e\\xfe\\x8c\\xc4\\xed\\x4c\\x75\\x00\\xb5\\x34\\x28\\xf3\\xc9\\x03\\xe9\\x7e\\x45\\xe7\\x42\\xec\\xd8\\x95\\x98\\x06\\x09\\x4e\\x99\\x29\\x2f\\x57\\xcc\\x35\\xc5\\x70\\x99\\x3d\\x50\\xc6\\x7a\\x4c\\x9e\\xea\\x2a\\x4c\\x73\\x84\\x0a\\x67\\x89\\xcf\\xef\\x5b\\x90\\x8c\\xf9\\x23\\xce\\x6d\\xce\\xfd\\x4e\\xb6\\xc5\\x39\\x8b\\x7e\\x79\\xdd\\xc9\\x6f\\xf3\\x63\\x87\\x7f\\x9b\\x7f\\xbf\\xff\\x75\\xff\\x31\\x3f\\x6f\\x65\\x9d\\x7e\\xa7\\xdf\\x12\\x0a\\x15\\x5c\\x96\\x74\\xe4\\x45\\xf2\\x6a\\xf3\\x58\\x33\\x9b\\x97\\x17\\x12\\x2d\\xdc\\x65\\x49\\x93\\x45\\x84\\x34\\x64\\x37\\x64\\x21\\xa2\\x68\\xc9\\x01\\x7d\\x02\\xbf\\x18\\x27\\xcc\\x89\\x2b\\x59\\x51\\xc6\\x44\\x98\\x31\\xb5\\x50\\x98\\x16\\xd0\\x83\\xae\\xcb\\xad\\x1e\\x85\\x4b\\x2d\\x95\\x9c\\x93\\x1e\\x2b\\x2c\\x22\\x2a\\x55\\xd2\\xd0\\x04\\x3f\\x1b\\x8b\\x20\\x33\\x54\\x0c\\x56\\x84\\x8c\\x82\\x9c\\x4e\\x15\\x65\\xaf\\x92\\x6f\\x0a\\x5f\\x3d\\x69\\xe8\\xb2\\xfe\\xcb\\xc6\\xbc\\xb1\\xe2\\x3d\\xf9\\xbb\\xe2\\x35\\xcb\\x58\\x76\\xd9\\xea\\x22\\xec\\xfa\\xf8\\xe7\\x8d\\xcb\\xfa\\x2c\\x3f\\x73\\xfc\\xc2\\x20\\x9e\\x2b\\x2f\\x64\\x39\\xbc\\x02\\xbf\\x7e\\xf9\\xb2\\x3e\\x8d\\x7b\\xcf\\x3e\\xfb\\xf7\\xaf\\x6e\\x3b\\x8d\\x1f\\xba\\xf2\\x1f\\x3f\\xaf\\x7c\\xb5\\x5b\\xe2\\xca\\xcb\\x6e\\xf1\\x35\\x57\\x14\\x28\\xbc\\xcb\\x51\\x6d\\xd1\\x83\\x06\\x25\\x62\\x9c\\xd3\\x69\\xb2\\x40\\x89\\xed\\xc1\\x2e\\x97\\x57\\xb4\\x5a\\x7d\\x76\\x8b\\x07\\x81\\x7b\\x22\\x33\\x39\\x8c\\xcd\\xe5\\x16\\x18\\xcd\\x7a\\x6a\\x55\\x53\\xa1\\x46\\xa2\\x3e\\xa5\\xa6\\xe4\\x7f\\x60\\x14\\x34\\x42\\x62\\xba\\x1d\\x39\\x56\\xf6\\x99\\x8f\\xe5\\xcc\\xc2\\xa5\\xb5\\xf8\\x5a\\x3c\\x1a\\x12\\xd2\\x75\\xf2\\x2e\\x28\\x57\\x1e\\x94\\x9f\\x5e\\x2c\\x1f\\x99\\xc5\\xd6\\x32\\xfe\\xd4\\x37\\xe4\\xf3\\x6d\\xea\\x29\\xa6\\x7a\\xa5\\x3c\\x99\\xe9\\x4f\\xe8\\xa2\\x7b\\x92\\x02\\x5d\\x01\\x34\\x3d\\xd1\\xe8\\xb4\\x92\\x4c\\xd5\\x6d\\x37\\xb3\\xa2\\x5f\\x34\\x5b\\xbd\\x7c\\x30\\x07\\x79\\x7d\\xde\\x89\\x49\\x9b\\xcb\\x29\\x0a\\x2c\\x63\\xb1\\xf2\\x90\\xf5\\x09\\x8c\\xd5\\x29\\x30\\x8c\\xe0\\xb4\\x72\\x66\\x1f\\x4b\\x72\\x1e\\xf5\\xbc\\xff\\x5a\\xc2\\xe7\\xe6\\x66\\xb7\\x6a\\xbd\\x99\\x67\\x28\\xa4\\xcf\\xd2\\xf7\\x15\\xfb\\x78\\xf2\\x71\\x45\\x1b\\xf8\\x86\\x62\\xf2\\x21\\x33\\xaf\\x3e\\xe6\\x04\\x1e\\x26\\x3f\\x4e\\x3e\\xf2\\x11\\xf9\\x28\\x2e\\xa2\\x9f\\x99\\xdc\\x08\\x6e\\xf2\\xeb\\xcb\\xbe\\x5d\\xf6\\x10\\x7c\\xe4\\x7f\\x3d\\x38\\xf7\\xdb\\xb9\\x0f\\xc1\\x07\\x9f\\xfa\\xc5\\x17\\x6a\\x5e\\x23\\x5f\\xcd\\xbd\\xcc\\x7f\\x04\\x79\\x76\\x23\\x3a\\x05\\x0d\\x85\\xfc\\xf6\\xb6\\x44\\xfe\\xa8\\xe2\\x82\\x53\\x2b\\x86\\x0d\\xae\\xf1\\x0d\\x6c\\x91\\xf8\\x9e\\x00\\x36\\xb0\\xa6\\xb6\\x6c\\x58\\x81\\x69\\xdc\\xf8\\xa6\\x31\\x79\\x63\\xc0\\x63\\xed\\x4c\\x0e\\x2e\\xab\\x29\\xa3\\x5f\\xdc\\x35\\x8e\\xde\\xf0\\x65\\x7b\\x32\\x36\\x9c\\xb8\\x32\\x7f\\xb2\\xa6\\xc2\\x11\\x2b\\xe6\\xf9\\xe2\\x98\\xa3\\xa2\\x46\\xc8\\x8b\\x4b\\x6c\\x9e\\x3b\\xa7\\x3f\\x85\\xc8\\x51\\xca\\xcb\\x96\\xf8\\x8b\\xb5\\xea\\x80\\x6b\\x95\\xe8\\x6c\\x48\\xd0\\x03\\xcd\\xae\\x8c\\xc9\\x58\\x6d\\xa9\\xa0\\x94\\x15\\xc4\\x58\\x63\\x93\\x87\\xa6\\x7a\\xd8\\xef\\xf6\\x79\\x19\\xd2\\x9a\\x3e\\x62\\x3e\\x84\\x9b\\x04\\x72\\x10\\x62\\x53\\xac\\x2f\\xd3\\x14\\x17\\x44\\x7a\\x9c\\x9d\\x12\\x99\\x8b\\x21\\x68\\xbb\\x5d\\xdd\\x99\\x52\\x3b\\x66\\x19\\xb1\\x34\\x3d\\x1b\\xdb\\xc4\\xbd\\x3c\\x6a\\x72\\x63\\xac\\xc0\\xeb\\xd8\\xea\\xf7\\xb4\\x78\\x2f\\x98\\x32\\xf2\\xfc\\xd4\\x45\\xcb\\xd7\\x9c\\xf7\\xe0\\x94\\x8b\\xa6\\x9c\\x3a\\xae\\x31\\x91\\x88\\xc7\\x0a\\x07\\x0e\\xae\\xbb\\x7e\\x5a\\xd5\\xfd\\xa3\\xc4\\x3e\\x25\\xb5\\x05\\xa7\\x15\\xf5\\xc6\\x4f\\x45\\x8a\\xab\\x0b\\xca\\x73\\x53\\xc3\\x86\\xf4\\x99\\x7a\\x55\\xbf\\xc6\\xfc\\x9e\\xd5\\x0d\\x0d\\x4b\\x0b\\x8a\\xbc\\x41\\x9f\\x3d\\x54\\xc9\\xe3\\xea\\xd5\\x77\\x57\\xca\\xbf\\x5d\\x56\\xd7\\xfb\\x46\\xfc\\xce\\xea\\xbb\\xd7\\xb0\\x57\\xd8\\xe5\\xa3\\xdf\\xbd\\x2c\\xaf\\x7c\\x67\\xd6\\xac\\x11\\x67\\x9d\\x36\\xd9\\xc3\\x44\\xf0\\xa9\\xa3\\xc3\\xfd\\x7b\\x46\\x9b\\xcd\\xa3\\xca\\x62\\xae\\x5e\\xf3\\xdb\\x72\\xee\\x9e\\xb3\\x61\\xee\\x92\\x51\\xe7\\x5f\\x92\\xc4\\xab\\x71\\xc9\\xf3\\xd8\\x6c\\xef\\xff\\x93\\xfc\\xa5\\xfc\\xe8\\xea\\xea\\xc2\\xa6\\xf2\\xba\\xf2\\x21\\x67\\x90\\xf5\\xaf\\x6a\\x79\\x34\\x37\\x15\\xea\\xe2\\x18\\xaa\\x45\\xe3\\x12\\xc1\\x22\\xb6\\x22\\x10\\x88\\x3a\\xf2\\xc4\\x7c\\xb3\\xd7\\x9b\\x9f\\xc7\\x86\\x59\\x36\\xdc\\xad\\x2e\\x2f\\x87\\x88\\xc0\\x97\\xcc\\x0b\\x27\\x50\\x29\\x94\\xf3\\xb9\\x89\\xb0\\x3b\\xe8\\xb1\\xb9\\xa7\\x24\\x6d\\x61\\x75\\x23\\xb8\\xd0\\xe1\\x5a\\xba\\x17\\xdd\\xe1\\xca\\xac\\xf3\\x36\\xf5\\xb2\\x81\\x1e\\xae\\x89\\x59\\x8f\\xdf\\xa7\\x9f\\x42\\x4f\\x12\\x1e\\xb6\\x54\\x8c\\xe2\\x40\\x13\\x63\\x9c\\xd1\\x8e\\xe0\\xa6\\x46\\x36\\xf4\\xf0\\x5f\\xc2\\x4d\\x8f\\xcc\\xad\\x7a\\xf0\\x9e\\xe5\\xe3\\x46\\x9f\\x71\\xa9\\xbd\\xe7\\xdd\\x77\\xf4\\x97\\x7f\\xc0\\xdc\\xc6\\x25\\xc9\\xee\\xdb\\xda\\xe2\\x65\\x15\\xd5\\xe5\\x79\\x55\\x09\\xfe\\xd0\\xe6\\x3b\\x2a\\xa7\\x2d\\x97\\xef\\x93\\xcf\\x5f\\x7b\\xc1\\xaa\\xdb\\xdc\\x1f\\x95\\xcc\\x0f\\x8e\\xfa\\x51\\x3e\\xfe\\xb7\\x87\\xf1\\xb7\\x4f\\x1f\\xc1\\x4d\\x1f\\x4d\\xba\\x7f\\xbb\\x7c\\xa0\\x47\\xcf\\x96\\xee\\xd7\\xde\\x77\\xf1\\x45\\x77\\xd3\\x3c\\xd2\\xad\\xda\\x7c\\x08\\x45\\x50\\x11\\x54\\x12\\xb7\\x25\\xce\\x84\\x8c\\xbb\\xb8\\x28\\x1f\\x32\\x6e\\x5c\\x52\\x58\\x98\\x1b\\x89\\x84\\xbd\\x36\\xc1\\xe4\\x35\\x55\\x54\\xda\\x63\\x7e\\xbf\\x25\\x3f\\x10\\x4a\\x48\\x79\\xa1\\x90\\x00\\xce\\x15\\xe7\\xb0\\x08\\x79\\x99\\x22\\xa8\\x84\\x51\\x91\\xb3\\xa8\\xa0\\x68\\x52\\xd1\\xec\\x22\\xde\\xc6\\x16\\x15\\x31\\x5e\\x37\\x53\\x3e\\x31\\x49\\x7c\\x04\\x61\\x09\\x38\\x09\\xcd\\x1b\\x06\\xc9\\x37\\xc5\\xd2\\x42\\xce\\xd7\\xea\\x95\\x9c\\x5a\\xdf\\x30\\x4f\\x4b\\xb4\\xeb\\xd3\\x69\\x36\\x78\\x90\\x7a\\x2e\\x00\\x91\\x34\\x40\\xc2\\xa9\\x9d\\x04\\x14\\x35\\xcd\\xe6\\x4b\\xc1\\xab\\x88\\xf5\\x4d\\x51\\x9f\\x2b\\x0a\\xd9\\x8e\\x7b\\x3e\\xfe\\xf4\\x15\\x8c\\xab\\x66\\x8d\\xc1\\x4c\\x72\\x5e\\xfd\\x6f\\x4f\\xbe\\x20\\x1f\\x99\\x3f\\x7f\\x3e\\xdb\\x8b\\x95\\xcf\\xc7\\xf7\\xb4\\x5d\\xd5\\x22\\x3f\\x88\\x47\\x26\\xae\\xbc\\x8b\\x6b\\xc2\\xf6\\x1b\\xae\\xbd\\x3c\\x56\\x77\\xf9\\x75\\xb7\\xc9\\x45\\xcc\\x8f\\x97\\x8f\\x28\\x2b\\x1b\\xf1\\x58\\x3c\\x8e\\x17\\x96\\xd3\\xe7\\x74\\xa1\\xee\\xaf\\xe7\\x66\\x80\\x1e\\xf8\\x51\\x2e\\xc4\\xcc\\xd9\\x89\\xb2\\x02\\x57\\xbe\\xcf\\xce\\xb2\\x39\\x16\\x8e\\x43\\x01\\x13\\x32\\xc5\\x0a\\x7d\\x79\\x93\\x93\\x3e\\xb7\\xcf\\x0d\\x35\\x69\\x68\\x52\\xd2\\x02\\xee\\xc7\\x6e\\xb1\\xd0\\x92\\xd9\\x95\\xb4\\x70\\x39\\xf9\\x7c\\x3e\\x24\\x72\\x1e\\x06\\x4a\\x67\\x46\\xdd\\x1e\\xd0\\xb0\\x58\\xa8\\x47\\x85\\xca\\xec\\x53\\x8e\\xe9\\x21\\x96\\xc5\\x82\\xe8\\x8b\\x35\\x94\\x30\\x2e\\xa7\\x9b\\x3c\\x18\\x94\\x4f\\x8e\\x21\\x29\\x75\\x45\\x79\\x27\\x39\\xe4\\x18\\xbb\\x1a\\x9b\\x1a\\xb8\\x19\\x6f\\x1d\\xdd\\x78\\xe4\\x9b\\xcf\\xfe\\xb1\\x71\\xcd\\xcb\\x8d\\xf2\\x0f\\x15\\xe7\\xe0\\xad\\x29\\xcf\\x5d\\x23\\x06\\xe0\\x96\\x91\\x43\\x9e\\xd8\\xe1\\x7f\\xe6\\xb9\\x22\\x3c\\x13\\x97\\xe2\\x9e\\xf8\\xec\\xc8\\xe5\\x97\\xd9\\xb7\\xef\\x6c\\xbc\\xa3\\x48\\x5e\\xd2\\x57\\xde\\x78\\x2e\\x7b\\x7e\\xf9\\x07\\xf2\\x2e\\xf9\\x35\\x6b\\xaf\\x6f\\xc9\\xd3\\x51\\xaa\\xec\\x03\\xb4\\xe2\\xba\\x22\\x11\\xf5\\x33\\x5e\\xaf\\x2f\\xcc\\x49\\xa2\\xe8\\xca\\x09\\xe5\\x71\\x18\\x99\\x6c\\x6e\\x9f\\x2f\\xea\\xb0\\xd8\\x6c\\x85\\x7a\\x89\\x25\\x25\\x83\\x96\\x40\\xd8\\xac\\xa6\\x55\\xee\\x64\\xae\\xc8\\x06\\x20\\x1c\\xc2\\x0f\\x1e\\xaa\\xab\\x08\\x9f\\x55\\x5d\\x29\\xa1\\xc1\\x18\\x22\\xa8\\x11\\xb8\\x33\\x4e\\xad\\xf1\\x40\\x88\\x8b\\x7a\\xe0\\x2f\\x48\\x19\\x84\\xec\\x21\\x29\\x5a\\xd4\\x13\\x6b\\x28\\x87\\xda\\xa9\\x29\\x5e\\x52\\x2a\\x3c\\xd2\\xff\\x07\\x5c\\x7c\\x07\\x1e\\x73\\x3b\\x2e\\xfe\\xa1\\xdf\\xa3\\xf3\\xe6\\xc9\\x1f\\x4c\\x95\\x4f\\x9b\\x2a\\x1f\\xb9\\xf4\\x52\\xfc\\x04\\x1e\\xd7\\xf3\\xeb\\xda\\x1b\\x7a\\x49\\x2e\\xc6\\xf4\\xda\\x26\\xfc\\x92\\xdc\\xbc\\xe9\\xb5\\x4d\\xf2\\x7a\\x3c\\x89\\x7c\\xe0\\xeb\\x67\\xb5\\xe3\\x21\\x86\\x20\\xc8\\x0b\\x0e\\x43\\x5e\\x50\\x8b\\x56\\x24\\xf2\\xf3\\x73\\x72\\x02\\x79\\x66\\x73\\xa0\\x2c\\x58\\xcb\\x17\\x16\\xd6\\x60\\x18\\x6f\\x4d\\x4d\\x30\\xc0\\xd6\\x75\\x33\\xe5\\x84\\x72\\xe8\\xf4\\x15\\x1f\\x62\\xf2\\x23\\xf9\\x64\\x84\\xe1\\x64\\x6d\\xc4\\xe9\\x0d\\x95\\x46\\x2a\\x43\\x91\\x50\\xc4\\x5b\\x59\\x59\\x3c\\x25\\x59\\xc9\\x79\\x6d\\x93\\x93\\x5e\\x5d\\xb4\\xfa\\x0c\\x8f\\x72\\x76\\x71\\x46\\x94\\x0f\\x64\\x9c\\xf8\\x64\\x38\\x73\\x93\\x28\\xb3\\x1a\\xcb\\xa9\\xa3\\xe4\\x05\\x2e\\x56\\x50\\xa4\\x44\\x7b\\x72\\x3e\\x68\\x23\\x2d\\xc1\\xc5\\x62\\xe2\\x8e\\x39\\x9f\\xc8\\x1d\\xde\\x14\\x5f\\x73\\x16\\x7e\\xfa\\xe4\\xa3\\x9e\\xc5\\xcb\\x17\\xaf\\x0a\\xe0\\xbc\\x0a\\xf9\\xfd\\x6f\\xe5\\x36\\xf9\\x43\\xf6\\xf4\\xdb\\x46\\xbd\\x2a\\x9f\\xcd\\xf6\\xb5\\xcf\\xba\\xf0\\xe9\\x2a\\xf9\\xb3\\xe2\\x93\\x9f\\xfe\\x13\\x4c\\x93\\xdd\\xbe\\x29\\x31\\x24\\x67\\x53\\x41\\x69\\x72\\xe4\\xc5\\x13\\x8a\\x9f\\x7e\\xf1\\xc3\\x67\\x1b\\x37\\x9d\\x9f\\xd8\\x14\\x2a\\x1a\\x3c\\x74\\x4f\\xde\\xbe\\xbf\\x1e\\xda\\x56\\x0d\\x3e\\x8f\\xe8\\xfa\\x1a\\xba\\x1e\\x1e\\x02\\x4d\\xaf\\xf0\\xdb\\x4d\\x5e\\x6f\\x90\\xf7\\xf9\\xcc\\xac\\x8b\\x75\\x85\\x73\\x05\\xde\\x87\\x12\\x1e\\xdf\\x94\\xa4\\xc7\\x63\\xcb\\xe1\\x73\\x26\\x25\\x9d\\x16\\xa7\\x05\\x99\\x78\\x72\\x2c\\x2b\\xa9\\xb6\\x79\\x0e\\x05\\x27\\x25\\x91\\x1d\\x3e\\x84\\x19\\x9a\\xa2\\xbb\\x55\\xf5\\xa6\\x2a\\x4f\\x5d\\xa1\\xf3\\xb0\\xfe\\x78\\x72\\xfa\\x44\\x6f\\x9e\\x28\\x39\\x79\\x38\\x8d\\xf3\\x10\\x15\\xa7\\x33\\x7c\\x90\\x31\\x83\\xa2\\x0b\\x4c\\xdd\\xbf\\x7e\\xc5\\x9f\\x6e\\xc4\\xdd\\x2f\\x96\\x8f\\x57\\x9d\\x3f\\xbb\\x37\\x76\\x5d\\x21\\x3f\\xb3\\x71\\xe7\\xce\\x9d\\xf6\\x5c\\x3c\\x11\\xf7\\x66\\x2e\\x8f\\x2f\\x58\\x50\\x26\\x6f\\x3a\\x75\\x7d\\xed\\xc9\\xab\\x2b\\x9e\\xe9\\x2e\\x2f\\x2d\\x79\\x86\\x5d\\x20\\xdf\\x32\\x94\\x5d\\x34\\x90\\x3e\\x93\\x35\\x8e\\x73\\x33\\x73\\x44\\xab\\x53\\x44\\x36\\x79\\x09\\x3e\\x85\\xfa\\x3a\\xd4\\xfe\\x13\\xe8\\xc0\\x30\\x64\\x46\\x5e\\x54\\x83\\xea\\xd1\\xa6\\xc4\\x79\\xe5\\x65\\x65\\xe1\\xdc\\x5c\\x5f\\x6d\\x5d\\xb7\\xfa\\xba\\xfa\\x42\\x04\\x19\\xb0\\x05\\x15\\xa2\\x78\\xf7\\x6e\\x42\\x6d\\x30\\x11\\xc6\\x28\\xec\\x0c\\x17\\x84\\x27\\x85\\xdf\\x08\\xf3\\x16\\x36\\x1c\\x8e\\x44\\x82\\xbb\\x93\\x8e\\x48\\x24\\xd2\\x12\\x61\\x2d\\x6c\\xa4\\xb8\\xb8\\x1a\\x7e\\x2d\\x8f\\x94\\xd7\\x96\\xc3\\xaf\\xe5\\xe5\\xc5\\xa2\\x64\\xdb\\x9d\\x44\\x92\\x53\\xaa\\x93\\xa0\\x41\\x62\\x59\\xf7\\xee\\x24\\x9b\\xa3\\xce\\xf7\\x12\\x07\\xa8\\xe7\\x85\\x5a\\x03\\xad\\xa1\\x49\\x72\\xa8\\xaf\\x0a\\x29\\xa9\\xa0\\x7a\\xa2\\xad\\x96\\x8e\\xe8\\x0b\\xf9\\x05\\xac\\x33\\x56\\xa8\\x9c\\x84\\x8c\\x15\\xad\\x09\\x28\\x07\\xd6\\x6b\\x15\\x1d\\x13\\x2b\\x24\\x6b\\xa9\\xdc\\xe1\\x95\\x4b\\x96\\xdc\\x70\\xed\\xf5\\xd8\\xbc\\x69\\xca\\xb4\\x86\\xda\\xda\\x86\\x93\\xd7\\x34\\x77\\x2b\\x29\\x32\\x6f\\xb0\\x2f\\x9d\\xbc\\xe2\\x96\\x9b\\x57\\x4c\\x5c\\xe4\\xfd\\x8b\\xc5\\x9d\\xeb\\xbb\\xe0\\xe1\\x1b\\x99\\xfd\\x2b\\xf0\\x9a\\x57\\xde\\x7b\\xef\\x95\\xb7\\xdf\\x92\\xc7\\xe2\\x42\\xf9\\xe3\\x9b\\x57\\xdd\\xc9\\x3c\\x78\\xeb\\xaa\\x11\\xe7\\x48\\xcb\\xfe\\xf2\\xc9\\x0b\\xaf\\xbe\\xbf\\xea\\x5a\\xcb\\xb0\\xee\\x39\\x6d\\x0d\\xe0\\x29\\x18\\x74\\x2f\\xd8\\x91\\x87\\xbf\\x1d\\x72\\xc5\\x42\\x74\\x5e\\xa2\\x9e\\xe5\\x38\\x6f\\x48\\x2a\\x08\\x06\\x6d\\x16\\xc9\\x2b\\x15\\xc5\\x6c\\xd6\\x02\\x8b\\x75\\x58\\xd2\\x1c\\xb0\\x58\\x02\\x05\\x81\\x61\\x49\\xb6\\x80\\x2d\\x10\\x5c\\xae\\xbc\\xb3\\x93\\x2e\\x51\\x40\\xc3\\x93\\x82\\x3f\\xcb\\x64\\x14\\x0e\\xb8\\x9b\\x69\\x83\\x3e\\xeb\\xa2\\xac\\x71\\x04\\xc9\\xf4\\x40\\x31\\x79\\xb8\\x96\\x89\\x92\\x57\\x42\\xc4\\x86\\x26\\x7a\\x30\\x39\\x44\\x4d\\x46\\xf4\\x79\\x69\\x84\\xf4\\xb9\\xfa\\x62\\xe6\\x89\\x61\\xa3\\x02\\xab\\x46\\xca\\xbb\\x36\\xdf\\xbf\\x7c\\xf9\\x5b\\xfb\\x37\\x3e\\xf9\\xfb\\x67\\xdf\\x35\\x36\\x5f\\x36\\x73\\xd1\\xf3\\x33\\x2f\\x94\\x47\\x6e\\xfc\\xcb\\xc3\\x75\\xcf\\xd7\\xe1\\xeb\\x76\\x3e\\x75\\xcf\\xca\\x67\\xe5\\x2f\\xce\\x7a\\x65\\x37\\x7b\\xdb\\x80\\x91\\x6b\\xe4\\xc7\\x2b\\x77\\x80\\x4e\\xf8\\x41\\x31\\x9e\\xa0\\x75\\x7b\\x10\\xe2\\x5f\\x19\\x9a\\x9a\\x88\\x97\\x44\\xbc\\x5e\\x5b\\x8e\\x0d\\x59\\xad\\x42\\x05\\xd1\\xf4\\x9c\\x52\\x87\\xe0\\x28\\xaf\\xf0\\xe7\\xee\\x4e\\xba\\x0b\\x77\\x27\\xfd\\x6e\\xbf\\xbb\\x44\\xc2\\x82\\x55\\x64\\x8b\\x4b\\x76\\x27\\x8b\\x8b\\x91\\x40\\xca\\x75\\x48\\xfc\\x89\\x74\\xdd\\x24\\xb7\\x6c\\xa6\\x39\\x97\\xf1\\xb0\\x37\\x65\\xbd\\xdb\\xad\\xcc\\xf7\\x46\\xd9\\x80\\x7a\\xc6\\x3f\\x3d\\x63\\x9a\\x4a\\xd7\\xe5\\x84\\x71\\x89\\xc6\\xd5\\x6d\\xb2\\x59\\xed\\x23\\x27\\x58\\x76\\xfd\\xb3\\x98\\x31\\x6d\\x60\\x06\\x2d\\x5c\\xf6\\xf3\\xef\\x4b\\x16\\x6c\\x2e\\x2e\\x29\\x2f\\x8d\\x15\\x57\\x97\\xc8\\xef\\xe3\\x1d\\xec\\xf2\\x31\\xcd\\x17\\xa7\\x16\\xf1\\x03\\x4e\\xce\\x5b\\x3f\\x97\\x59\\x74\\xe2\\x49\\x66\\xfb\\x1b\\x7b\\x20\\xd5\\xbf\\xee\\xc9\\x83\\x37\\x5c\\xbe\\xe0\\xa6\\x15\\x57\\x5e\\x99\\xfa\\xfb\\xbd\\xf7\\x52\\xdd\\x8f\\xa0\\x12\\x6e\\x0b\\xd8\\xb9\\x03\\xec\\xbc\\x10\\xb4\\x7f\\x7c\\xa2\\x3e\\x06\\x25\\x9f\\x3b\\x10\\x76\\x87\\x51\\x39\\xc4\\xb4\\xba\\x5a\\x67\\xe4\\xe5\\x64\\xbe\\xe7\\x65\\x52\\xe4\\x49\\xac\\xdb\\x99\\x9f\\xef\\x74\\xb3\\x9c\\x95\\xab\\x7a\\x39\\xc9\\x59\\xad\\x25\\x2f\\x27\\xad\\xa8\\xc3\\xca\\x05\\x51\\xe1\\x8c\\x63\\x88\\xa8\\xda\\x12\\x85\\x65\\x38\\x28\\x5f\\xc8\\xe2\\x05\\xd4\\x2d\\x9c\\x1b\\xeb\\x53\\x13\\x31\\x4f\\x77\\x3a\\x2f\\xd1\\xc8\\xab\\x47\\x0e\\xbb\\x21\\x6f\\xe4\\xb6\\xac\\x94\\x7f\\xdf\\xfe\\xb8\\xfc\\xfb\\x6d\\x2b\\xb1\\xf4\\xf8\\xe3\\x58\\x5a\\x99\\x1a\\x7c\\x27\\x8e\\xaf\\xbc\\xf3\\x2f\\x4b\\x57\\x3e\\xbe\\xe8\\xba\\x61\\x23\\xb1\\xfd\\xd8\\x07\\xef\\x1d\\x3b\\xfe\\xee\\x91\\xe3\\xcc\\xef\\x5f\\xc8\\xfb\\x36\\x3f\\x82\\xfb\\x7f\\xf9\\x19\\x3e\\xed\\xd1\\x47\\xe4\\x27\\xe5\\xe7\\xe5\\x3d\\x6c\\xcb\\xd5\\xb3\\x66\\xaf\\xc5\\xe2\\x62\\xf9\\xeb\\xb3\\xa6\\xe2\\x02\\xdc\\x22\\xff\\x4d\\xfe\\x54\\xfe\\x48\\x7e\\x1e\\xf7\\xa1\\xcf\\x99\\xb3\\x83\\xb9\\xdd\\xfc\\x41\\x24\\x42\\x3c\\x9f\\x92\\x68\\xf0\\xb8\\x4d\\xa6\\xa0\\x2d\\x14\\x08\\x04\\x83\\x8c\\xcd\\x62\\xb7\\xdb\\x44\\xb2\\x6c\\x67\\x63\\xf2\\xf3\\xc8\\x09\\x7e\\xaf\\x24\\x4d\\x76\\x4f\\x90\\x2b\\x60\\x12\\xcc\\x30\\x88\\x71\\x4e\\x9f\\x25\\xc7\\xc7\\x42\\x0e\\xdf\\x42\\x4a\\xb5\\x03\\xe3\\x03\\xf5\\x86\\x59\\x6e\\xcd\\x9b\\xab\\xd5\\x84\\x2a\\x5e\\x32\\x58\\xb2\\xb8\\x89\\xfb\\x62\\x48\\x5e\\x62\\xae\\x26\\x52\\xfd\\x97\\x06\\x88\\xc0\\x3d\\x7e\\xdc\\x6b\\xdd\\x7d\\xf8\\x23\\xbc\\x8c\\x09\\x5e\\xbb\\x67\\x05\\x1b\\xba\\x7e\\xf2\\xf5\\x21\\x76\\xc5\\x9e\\x95\\x76\\x7e\\xa0\\xcc\\xe2\\xd4\\xf2\\xe5\\xf2\\x61\\xe7\\x59\\x38\\x99\\x5a\\x8c\\x27\\x8f\\x19\\x23\\xdf\\x8f\\x27\\x8f\\x1e\\x2d\\xdf\\xcf\\x5c\\x23\\xdf\\x5c\\x04\\x31\\xac\\x9e\\xee\\x33\\x40\\xf6\\x25\\x3e\\x3b\\x51\\x29\\x5a\\x83\\x79\\x9c\\x5f\\x62\\xed\\xd1\\xb0\\xdf\\xee\\x2f\\x2a\\xce\\x47\\x02\\x54\\x3c\\x4e\\x56\\x10\\x24\\xb7\\x1b\\x4d\\x4c\\xba\\xb9\\xb0\\x64\\x92\\x26\\x26\\xf3\\x4c\\x6e\\xf5\\xa9\\x2d\\x7d\\x65\\x98\\x24\\x60\\x86\\xa7\\x84\\x21\\x14\\x93\\x97\\x8a\\xe8\\xfc\\x1a\\x54\\x39\\x90\\xe7\\x17\\xb9\\xba\\xbb\\x89\\x9d\\xb9\\x7d\\x4e\\xbe\\xb1\\x17\\xf6\\x45\\xc1\\xc8\\x20\\x18\\x31\\xd3\\x16\\xae\\x1c\\x3d\\x53\\x76\\xcd\\x4b\\x5c\\x22\\x1f\\x5f\\xd9\\xb6\\xf6\\xae\\x93\\x2b\\xe5\\xe3\\x73\\x13\\xb3\\x65\\xd7\\xcc\\xd1\\x2b\\xb9\\x05\\xaf\\xed\\xb9\\xee\\xb5\\x4b\\xe4\\x37\\xbe\\xb0\\x1c\\xc1\\x17\\x6d\\xc6\\xfc\\xca\\x95\\xf2\\x89\\x4d\\xf2\\x9a\\x23\\x96\\x2f\\x70\\xdd\\x25\\x87\\xae\\xdf\\xf3\\x1a\\x7d\\xc6\\x6c\\x42\\xfb\\x27\\xdc\\x32\\x6e\\x10\\x58\\x5b\\x04\\x9d\\x9b\\x08\\xe6\\xf9\\xac\\xb9\\x76\\x3b\\x68\\x59\\xb4\\x00\\x79\\x9d\\x5e\\x46\\x62\\xc1\\xf6\\x5c\\xb9\\xb6\\xbd\\x18\\x3c\\x69\\x6e\\xae\\xcb\\x64\\x82\\x70\\x6c\\xdb\\x99\\x34\\x39\\x91\\x8b\\xbe\\x38\\x86\\x8c\\x0e\\x84\\x2e\\x72\\xab\\x23\\x32\\xcc\\x37\\x92\\x57\\xc9\\x0a\\x4b\\xc8\\x91\\xce\\x98\\x0e\\x22\\xea\\xd2\\x6a\\x6a\\x86\\x2d\\x24\\x25\\x68\\x09\\x33\\xf7\\xbe\\x1f\\x97\\x2f\\xff\\xfd\\xce\\xbb\\x7e\\x5c\\x91\\xc2\\x55\\x57\\x0d\\x58\\xb4\\xed\\xcc\\xe9\\x83\\x96\\x6f\\xbc\\xe8\\x86\\xa9\\xf8\\xa3\\x19\\xd1\\xd5\\x98\\xbd\\xef\\x21\\x79\\xd5\\x2a\\xf9\\xe7\\x47\\xe5\\xcd\\x85\\xb5\\x17\\x5d\\xd9\\x67\\xce\\x65\\x7d\\xd9\\xe3\\x43\\xe4\\x5f\\xb0\\xe9\\x2c\\xb0\\x25\\x2b\\xf8\\xc0\\xbf\\x81\\xcf\\x28\\x43\\x55\\xa8\\x3b\\x6a\\x42\\x0b\\x13\\x2d\\xe5\\x61\\x1b\\x6a\\x04\\x37\\x5b\\x59\\xd9\\xd4\\xbd\\x06\\x58\\x59\\xe3\\xeb\\x86\\x50\\xb7\\xe6\\x1e\\xb6\\x42\\x36\\x58\\xdd\\x2d\\x37\\x12\\x8c\\xec\\x4e\\x36\\xd6\\xee\\x4e\\x76\\x0b\\x36\\x36\\x06\\xbb\\xb1\\x95\\x0d\\xf5\\x6c\\x15\\x5b\\xe9\\x16\\xcd\\xac\\x79\\xb7\\xb2\\x83\\x34\\x15\\x50\\x8b\\x96\\x38\\x55\\x2a\\x29\\x44\\x7a\\x22\\x55\\x4b\\x8d\\xb5\\x25\\x60\\xba\\xa4\\x5f\\x9c\\x39\\xb9\\x57\\x83\\x4b\\x3b\\x99\\xdb\\x0b\\xe4\\x63\\x16\\xc7\\x24\\xc8\\xa4\\xc4\\x98\\x27\\xee\\xc1\\x6c\\x9c\\xfb\\xdb\\xcd\\x4b\\x16\\x2f\\xf5\\xae\\x35\\x37\\xf4\\xe9\\x15\\x2f\\x1c\\x68\\x59\\x38\\xa2\\x7a\\xe9\\x55\\x17\\x2d\\x75\\xdd\\x23\\x36\\x94\\xd5\\x75\\x73\\xe5\\x4f\\xba\\x72\\xf2\\xce\\xd4\\xad\\x63\\x98\\xd9\\xb2\\x54\\xf7\\x64\\xdd\\x1d\\x6f\\x6c\\x7c\\x4d\\xfe\\xb8\\xff\\x0d\\x6f\\xce\\xbc\\x62\\xca\\xd4\\xdc\\xc6\\xaa\\x8a\\x8a\\x82\\x72\\x1f\\x1b\\xed\\x31\\xaa\\xd7\\x05\\xf3\\xa7\\x4d\\xf2\\x34\\x16\\x15\\x56\\x04\\x72\\xbd\\xb9\\xd1\\x59\\x5c\\xf8\\xc4\\x93\\xfc\\x80\\x94\\x7f\\xff\\x7e\\xe6\\x9b\\x94\\x9f\\x19\\x28\\x7f\\x0f\\x3a\\xbb\\x15\\x74\\x36\\x8f\\xeb\\x89\\x24\\x54\\x9f\\xc8\\x11\\x59\\x96\\x3c\\x9e\\x88\\x2d\\x66\\x81\\x1f\\x91\\x14\\x04\\x6c\\x72\\x60\\x66\\x44\\x12\\xfb\\xf4\\x2a\\x41\\xab\\x98\\x94\\xd9\\x83\\x72\\x70\\x82\\x0d\\xf4\\x40\\x33\\x2e\\xef\\x64\\x2b\\x33\\x2a\\xf5\\x36\\x53\\x8d\\x43\\x07\\x3f\\x39\\x88\\x5f\\x20\\xeb\\xb5\\xdd\\xda\\xbf\\xe7\\x21\\x2a\\x39\\x4b\\x4d\\xdf\\xc8\\xdf\\xd1\\xe7\\x5c\\x7e\\x38\\x4e\\xf6\\xdb\\xfb\\x0e\\x3f\\x96\\xda\\x49\\xe6\\x85\\xdc\\x39\\xca\\xbc\\x10\\xc0\\xf6\\xa5\\xb0\\x67\\x03\\xec\\xb7\\x9d\\xc3\\x16\\xa5\\x61\\x71\\xfb\\xaf\\xdc\\xf3\\xfc\\x00\\x37\\xc1\\xfb\\x94\\x02\\xbb\\x87\\xc0\\x1e\\xc7\\x3d\\x53\\x7b\\x50\\x5d\\x22\\x97\\x63\\x99\\xf2\\x20\\xfc\\x70\\x94\\xe3\\x72\\x7c\\xbf\\x05\\xdf\\x6a\\xc1\\x16\\x34\\x09\\xe1\\x61\\x30\\x60\\xd7\\xf8\\xf1\\x0d\\xca\\x87\\xbc\\xaa\\xd0\\xa2\\xbe\\xaf\\xd0\\xfe\\x3e\\xe0\\xfc\\x96\\x3f\\x1b\\x70\\x7e\\x27\\xaf\\x56\\x70\\x9e\\x54\\x70\\x4e\\x01\\x9c\\xc1\\x84\\x0d\\xd0\\x0d\\x0c\\xa2\\x59\\xe4\\x79\\x2b\\x05\\x49\\xfa\\xde\\xef\\xe9\\xbd\\x84\\x9e\\x1f\\xe4\\x75\\x5d\\xdc\\xdb\\xab\\xf3\\x7b\\x91\\xa8\\x8f\\xe5\\x98\\xfc\\x92\\x72\\xef\\x7d\\xe9\\xb1\\xf4\\x4e\\x14\\xc3\\xbd\\x95\\x74\\x2c\\x95\\x50\\x59\\xdd\\x6f\\xc3\\xb7\\xda\\xf0\\x44\\x1b\\x1e\\x6a\\xc3\\x2d\\x36\\x5c\\x6b\\xc3\\x36\\x34\\x9b\\xe2\\x24\\x63\\x22\\x7f\\xb2\\xc6\\x85\\x16\\x82\\x2d\\x4c\\xe4\\xce\\x72\\x0b\\x8c\\x8f\\xce\\x21\\x99\\xd0\\x79\\xdc\\x01\\xa6\\x3f\\x7d\\xde\\x00\\x32\\x45\\x5e\\x62\\x18\\xde\\xca\\x3b\\xec\\x2c\\x4a\\x58\\xd0\\x5e\\xcc\\x6c\\x4f\\x9a\\x2c\\xa8\\xf6\\xb0\\x92\\x14\\x1a\\x27\\x0e\\xa1\\x08\\xf0\\x07\\x62\\x25\\xa5\\x0d\\x8d\\x64\\x66\\x21\\xea\\xfb\\xaa\\xb9\\xef\\xa0\\xc5\\xb7\\xde\\xba\\x78\\x50\\xdf\\x66\\xf6\\x23\\x5c\\xde\\x6f\\xe9\\xed\\xa7\\x17\\x9d\\x7e\\xfb\\xd2\\x7e\\xe7\\x28\\xcf\\x1c\\xcc\\x6f\\x7f\\x9e\\x3d\\x87\\x5b\\x0c\\xfd\\x94\\x24\\x5c\\x92\\xd5\\xca\\xd8\\x6c\\x0e\\xbb\\x15\\x59\\xa4\\x59\\x0c\\x66\\x78\\x54\\x7b\\x60\\x3c\\x39\\x81\\xdf\\xf8\\xa0\\xaa\\x20\\x12\\xd4\\xfe\\x80\\x0f\\x32\\xcd\\x18\\xd3\\x2b\\x8d\\x90\\x5d\\x9f\\xee\\xea\\x64\\xac\\xe3\\x18\\x04\\x46\\x92\\x04\\xc1\\xea\\xb0\\x4b\\xd6\\x04\\x59\\x16\\x85\\x31\\x30\\x36\\x54\\xfb\\x1a\\x1d\\xc3\\x6b\\x99\\x63\\xc0\\x25\\xa5\\xa4\\x0b\\x3a\\x8f\\x12\\x6d\\x60\\xbf\\x34\\x62\\xc6\\x8b\\x33\\x06\\x91\\x35\\x06\\x08\\x53\\x92\\xc5\\x42\\xc7\\xc0\\x4c\\x92\\xb0\\x24\\x74\\x32\\x86\\xe2\\xc6\\x26\\x82\\x1a\\x98\\x04\\x9e\\x3a\\xce\\xb4\\xa6\\xf1\\x3d\\x60\\xe4\\x96\\x51\\x0e\\x01\\x74\\x6a\\x22\\xa4\\xc9\\xc1\\x6d\\xf7\\x41\\xc9\\xea\\x0e\\xe6\\xd8\\x4d\\x16\\x1f\\xa3\\x4a\\xe4\\xaf\\x49\\x10\\x88\\x22\\x8f\\x7a\\xf8\\x97\\xf1\\x7c\\x67\\x67\\x92\\x31\\x8c\\xd0\\x20\\x23\\x46\\x4e\\x7f\\x37\\x48\\x4b\\xff\\x62\\x1c\\x6f\\x00\\xf4\\x2e\\xcf\\x61\\x32\\x59\\xad\\x01\\x2f\\xc3\\x04\\x02\\x39\\x41\\x6b\\xc0\\x3e\\xc9\\x87\\x7d\\x6e\\x0b\\xd2\\xe4\\x77\\x88\\x8e\\x9d\\xfe\\xd4\\x5e\\x10\\xd6\\x0b\\x27\\xa3\\x24\\x0d\\x1c\\x31\\xc8\\x54\\xff\\x62\\x94\\x6d\\x8a\\x49\\x7f\\x27\\xb1\\x08\\xe8\\x19\\x44\\xe9\\x61\\xa1\\xfe\\x1d\\x9d\\xc8\\x15\\x50\\x4e\\x4e\\xd8\\x86\\xdd\\x6e\\xa7\\x33\\x1c\\xce\\xcb\\x75\\x86\\xdd\\x28\\x07\\x3b\\xd8\\x1c\\x7f\\x02\\xb1\\xc0\\xa7\\x84\\x35\\x89\\x90\\xdf\\xc1\\xd9\\x66\\x09\\x58\\x90\\x34\\x0a\\xe3\\x0a\\xeb\\x0e\\x41\\x04\\xca\\x20\\x55\\x0f\\x44\\xe4\\x1c\\xc6\\x2e\\x08\\xc6\\xf3\\xf1\\xa7\\x72\\xc1\\x0b\\x1d\\xa9\\x9e\\x31\\x8c\\x1b\\xd3\\x35\\xdd\\xe8\\xcc\\xf6\\x2f\\xb9\\x39\\xfc\\x0b\\x10\\x41\\xab\\xd0\\x59\\x89\\xd2\\x10\\x92\\x0a\\xbc\\xa5\\x92\\x97\\xac\\x05\\xd6\\x14\\xc4\\xec\\x31\\x48\\xb6\\xed\\x76\\x21\\x2f\\x14\\xca\\xcb\\x83\\x14\\x3c\\x0f\\x09\\x15\\xc3\\x0c\\x89\\x37\\xc9\\xb7\\x5d\\xda\\x91\\xc4\\x19\\xab\\x74\\x44\\x7f\\xbd\\x66\\xac\\x16\\x14\\xe4\\x59\\x04\\x7f\\x20\\xae\\x54\\xa1\\x82\\xd8\\x04\\x61\\xc5\\x8d\\x49\\x54\\xb1\\x63\\x9a\\xa1\\xba\\xb9\\x39\\x3d\\x2f\\x5d\\xff\\xda\\x95\\xcf\\xbc\\x7e\\xf6\\x4d\\xfb\\xe6\\x4e\\x5f\\x5f\\x2c\\x88\\xb7\\xaf\\xe9\\x77\\x47\\xf7\\xea\\x39\\xf7\\xfd\\xf3\\x57\\xf9\\x1b\\xcf\\xc2\\xb3\\x92\\xab\\xc7\\x4d\\x3c\\xe7\\x9a\\x57\\xd8\\xcd\\x4b\\xe4\\x97\\x65\\x79\\xeb\\xb8\\x83\\x4f\\xcc\\xff\\x75\\xe7\\xe4\\xb1\\x83\\xcf\\x0c\\x3d\\xfc\\xd7\\xfa\\x92\\x37\\x4e\\x97\\xbf\\x49\\x7d\\x3d\\x78\\xf2\\xe5\\x5f\\xcf\\x1b\\x77\\x01\\x84\\x00\\x86\\xce\\x45\\x3d\\x05\\x71\\x95\\xa7\\x6f\\x9c\\xd8\\x19\\x72\\xb8\\xa9\\x1d\\x09\\x2c\\x62\\x1d\\x4e\\xf3\\xde\\xf6\\x37\\x12\\x1e\\xc9\\x31\\xc8\\xcc\\x61\\x70\\x26\\x02\\x27\\x4c\\x4a\\x42\\x89\\xa7\\xac\\xe5\\xaa\\x8b\\x36\\x6e\\xc3\\xe3\\x15\\x6a\\x2e\\xd6\\x84\\xa3\\x90\\xbe\\x14\\xb3\\x25\\xb5\\x30\\x2c\\x91\\x75\\xe3\\xc7\\x70\\x12\\x3f\\xd4\\x76\\x0e\\xbb\\xfc\\x93\\xaa\\x90\\x84\\x9b\\x02\\x47\\x3f\\xe3\\xa6\\xb6\\xad\\xfb\\xec\\x27\\x66\\xe6\\x8d\\x0b\\x4b\\xcd\\xef\\x9f\\x9e\\xba\\x4b\\x99\\x0b\\x9f\\x21\\x37\\x73\\x53\\x81\\x16\\x11\\x15\\x26\\x9c\\x2c\\x87\\x44\\x4e\\x34\\x49\\x3c\\x33\\x29\\xc9\\xc3\\x2f\\xa8\\xb6\\xbe\\xa5\\xd2\\xf8\\xa2\\xb9\\xf6\\x00\\xf4\\xe9\\xf2\\x69\\xf2\\x11\\xb6\\x4d\\x6e\\x16\\x82\\xbf\\x7f\\x2d\\x5a\\x7f\\xfb\\x89\\xe2\\xf2\\x03\\xae\\x67\\x01\\x97\\x05\\xf2\\xb6\\x52\\x13\\xc3\\x98\\x31\\x79\\x95\\x02\\x0b\\x66\\x6c\\xb6\\xda\\x58\\x96\\x03\\xdc\\x13\\x93\\xd0\\x2e\\x71\\x2c\\xc6\\x20\\x45\\xc8\\xda\\x10\\xd2\\x52\\x9b\\x16\\x65\\x42\\x41\\x7f\\x55\\x5e\\x9f\\xbb\\x55\\xd6\\x0b\\x3c\\x0d\\x12\\xa9\\x14\\xa2\\x12\\x8e\\xfa\\xfc\\xcc\\x84\\xd4\\x6e\\x6e\\x3c\\xc4\\x5e\\x67\\xea\\x28\\xdb\\x24\\x37\\xaf\\x67\\xbe\\x61\\xbe\\xb9\\xeb\\xf3\\xd4\\xf9\\xa9\\x73\\xbe\\x00\\x3a\\xce\\x67\\x9a\\xb9\\x19\\x50\\x8f\\x1a\\xde\\x2f\\xd9\\x92\\xc4\\x3b\\x32\\xdf\\x2f\\x39\\x1f\\x62\\x41\\xf3\\xa7\\x9f\\x12\\xdf\\xae\\x3e\\xc3\\xe8\\x14\\xc4\\x1f\\xa8\\xbf\\x7a\\x17\\x6f\\x60\\x7e\\x61\\xde\\x82\\xfb\\xcb\\x13\\x21\\xfa\\x0e\\x05\\x79\\x3a\\xbc\\x16\\xb5\\x40\\xe8\\x59\\x8c\\x6e\\x05\\xb9\\x25\\x3c\\x81\\x41\\x84\\xf4\\xf1\\xe9\\x87\\x5d\\xc9\\x93\\x86\\xef\\x42\\x4e\\xbe\\x41\\x79\\x12\\x9c\\xf0\\xa3\\x77\\xfb\\x57\\xdc\\x83\\xc2\\x48\\xf0\\x51\\xb5\\x09\\x3f\\x46\\x82\\x60\\xe2\\x19\\xd1\\xc4\\x98\\x24\\x33\\xcf\\x6c\\x49\\xf2\\x3c\\x54\\x8a\\xe4\\x39\\x31\\x3d\\x1b\\x48\\x8b\\x93\\x8f\\x61\\x32\\x51\\x84\\xe3\\xcc\\x23\\x9b\\xe4\\x1f\\xf7\\xe2\\xa6\\x0f\\xf1\\xbd\\xfb\\x72\\x98\\x1f\\x1f\\x4e\\x5d\\x0b\\x75\\x3d\\x99\\xbb\\xf3\\xa0\\x03\\xdc\\x3e\\xf6\\x7d\\xa8\\x4f\\x8b\\x50\\x1d\\x9a\\x9c\\x68\\xae\\xb4\\x79\\x84\\x42\\x84\\x04\\x1b\\xdb\\xad\\x3e\\x54\\xe6\\x2c\\xdb\\x92\\xcc\\x2d\\x16\\x8a\\x3d\\xac\\x39\\xd0\\xe2\\xc4\\x0e\\xe7\\x2c\\xe7\\xad\\x4e\\xa8\\xd4\\x9d\\x91\\x1a\\x73\\xcd\\x96\\x24\\xdb\\x62\\x1e\\x6a\\x66\\xcc\\x09\\x29\\x38\\xc8\\x0c\\xc3\\x98\\x13\\x4f\\x17\\xe8\\xca\\x8c\\x55\\xd6\\xf3\\x12\\x5a\\x69\\x5e\\x6a\\x67\\xd2\\x45\\x38\\x35\\x9c\\xe2\\x42\\x51\\x5b\\x72\\x4d\\x3f\\xba\\x55\\xdf\\xc8\\xed\\x5b\\xbf\\x74\\xf2\\x8d\\x03\\x7b\\x8c\\x3a\\xbf\\xcf\\xb5\\xf7\\xdf\\x7f\\xed\\xb8\\x9b\\x06\\xf5\\x1c\\x31\\xb1\\xe7\\x6d\\xf7\\xc9\\x2f\\x4e\\x9b\\x56\\x3b\\xa1\\x6f\\xcf\\x7e\\xfd\\xe4\\x09\\x3d\\x47\\xd5\\xf7\\x3e\\x7d\\x50\\xdf\\xf8\\x58\\x66\\xe0\\xa6\\x0f\\x67\\xdf\\x30\\x65\\x5c\\xb7\\x37\\x77\\x3f\\xfa\\xfe\\x65\\x2b\\x2f\\x98\\x58\\xff\\x76\\xc9\\x91\\xf3\\x2f\\x5d\\x38\\x69\\xda\\xa5\\xaf\\x2f\\x39\\xf7\\xaa\\xf1\\x53\\xe7\\x5d\\x44\\xf9\\xd9\\x1d\\x44\\x71\\x17\\xf7\\x12\\xf0\\x3f\\x6f\\x0f\\xc3\\xf3\\x2c\\x79\\x73\\x6f\\x2f\\xe6\\xb6\\x27\\x79\\xf2\\x72\\x97\\xc6\\x44\\x65\\x2a\\xd5\\x17\\xed\\x3e\\x81\\x13\\xda\\xee\\xe5\\x5e\\x6a\\xbb\\x93\\x3c\\x43\\x72\\x6f\\xbb\\xcc\\xd5\\x71\\x26\\xe0\\x5b\\x61\\x42\\xf2\\x90\\xa9\\x11\\x8b\\x8f\\x77\\xc0\\xdd\\x3b\\x92\\xbc\\x45\\x79\\x5c\\x8f\\xbe\\x06\\x4b\\x11\\x04\\x94\\xe3\\x4a\\xe8\\xda\\x9e\\xf6\\xb4\\xde\\xbd\\xf3\\xde\\x5c\\xba\\xec\\xed\\x05\\xd3\\x0f\\xac\\x7f\\xe0\\x59\\x86\\x41\\x77\\x1c\\xbb\\x76\\xf9\\x8f\\x6b\\x64\\xc4\\x30\\xcf\\x7c\\xf1\\xd9\\x73\\x32\\xa5\\xef\\x25\\xd0\\x7f\\x81\\xff\\x1c\\xfc\\x7e\\x49\\xc2\\xed\\xf0\\xf9\\x38\\xa8\\xbf\\x72\\xac\\xae\\xe1\\x50\\x51\\x0a\\xc3\\xa9\\xaa\\xa3\\xf4\\xe3\\xaa\\x94\\xa9\\x85\\x25\\xca\\x9c\\xb8\\xcb\\x78\\x7e\\x8b\\x57\\xc0\\x53\\x2a\\xc7\\x79\\x4f\\x6d\\xb8\\xe7\\x9d\\x67\\xc6\\xf4\\xab\\x1f\\x70\\xe6\\xb0\\xb7\\xe5\\x66\\xbb\\x78\\x24\\xe7\\x05\\x6e\\xf5\\xce\\x57\\x3c\\x1f\\xe6\\x9c\\x3f\\xa1\\xed\\xc2\\xdd\\x2f\\x29\\xef\\xb2\\x4c\\xc4\\x6e\\xee\\x62\\xae\\x09\\xf9\\xc0\\x47\\xee\\x4b\\xe4\\x45\\xa4\\x0a\\x8f\\xe4\\xa9\\xae\\xf1\\x97\\x3e\\x9e\\xcc\\x47\\x7e\\x3c\\xdb\\xbf\\xc4\\x7f\\x9b\\x1f\\x0c\\x01\\x4a\\x5d\\x3f\\x7d\\x8e\\xc8\\x99\\x3b\\xc8\\xef\\x2f\\x8f\\x46\\xc3\\x8f\\x27\\x87\\x46\\xb1\\x23\\x5a\\x1b\\x6d\\x89\\x4e\\x8c\\xde\\x1a\\xbd\\x3f\\xba\\x2d\\xfa\\x49\\xb4\\x3d\\x2a\\x39\\xd8\\x28\\x72\\x3e\\x9e\\x34\\xc1\\x88\\x66\\xa3\\x25\\xe8\\x36\\x32\\x81\\x0a\\x77\\x23\\x72\\x77\\x21\\xdc\\x8d\\x90\\xdb\\x62\\xe1\\x1f\\x4f\\x3a\\x2c\\xf8\\x98\\x05\\xbf\\x61\\xc1\\x0e\\x4b\\xc4\\xd2\\x62\\x59\\x6c\\xb9\\xd5\\x72\\xbf\\x45\\xb0\\x90\\x57\\x33\\xc6\\xcf\\xa1\\x9e\\x0a\\x06\\x4b\\x34\\x6a\\x2e\\x59\\x27\\xa4\\xba\\x95\\xd5\\x6a\\xf4\\x2c\\xc0\\x09\\xea\\x7e\\x1b\\xa8\\x6a\\xd1\\xfd\\x31\\xec\\x98\\xcd\\x6c\\x25\\x8a\\x46\\x9b\\xa7\\x9c\\xd1\\x7a\\xc6\\xf2\\x64\\xbf\\xf9\\xa7\\x5d\\xb2\\xa1\\xe1\\xca\\x95\\x97\\x0f\\xbd\\x6e\\x6e\\xcb\\xc2\\x91\\xd0\\x76\\xcd\\xb8\\x81\\x0b\\x4e\\x99\\x73\\xdf\\x88\\xf5\\x43\\xa6\\x9d\\x96\\x7b\\xdd\\xdc\\xc4\\x65\\xcc\\x4f\\xe5\\xa1\\xda\\xd2\\x6e\\x7f\\x1f\\x99\\x53\\x57\\x39\\xee\\xc3\\xea\\x98\\x9c\\x5f\\x15\\xaa\\xae\\xac\\xfe\\xfb\\xc8\\x9a\\x50\\x81\\x6d\\xdc\\x87\\x55\\x45\\x54\\x6e\\x63\\x51\\x31\\x37\\x97\\xaf\\x04\\xdd\\xb8\\x38\\x31\\x90\\x33\\x79\\x1c\\x26\\x87\\xd7\\xe7\\x34\\x49\\xa6\\x2d\\x49\\x1b\\xe4\\x2a\\x48\\x1a\\x26\\xcd\\x06\\x06\\x48\\x05\\x52\\x9d\\xb4\\x44\\x5a\\x2f\\x3d\\x2e\\x1d\\x97\\x44\\x0b\\x2b\\xb9\\x78\\x8e\\x07\\xc7\\x82\\xd1\\x44\\x6e\\x16\\xf7\\x09\\xc7\\x3a\\xb8\\x08\\xd7\\x02\\x5f\\x6f\\x85\\xf2\\x1a\\xd8\\x30\\x87\\xcc\\x95\\xa4\\xed\\xaa\\xd6\\x95\\x19\\x89\\xc8\\x8b\\x7b\\x31\\x65\\x3e\\x18\\x3e\\x71\\x36\\xee\\x8b\\xb2\\x51\\x1f\\x83\\xaf\\xf9\\xfb\\x35\\x6f\\xe2\\x3e\\x0f\\xcb\\x79\\xcc\\xb0\\x6b\\xdf\\x5e\\xf6\\xa3\\xbc\\xe1\\x61\\x86\\xc7\\x31\\x59\\xfe\\x08\\x0f\\xfe\\x84\\x3c\\x24\\xfe\\x89\\xbc\\xfb\\x23\\x65\\xfe\\x7e\\x1e\\xfa\\x89\\x1b\\xcd\\x0d\\x53\\x9f\\xa1\\x4e\\x26\\xac\\x26\\x0e\\x59\\x44\\x06\\x31\\x56\\x9b\\x64\\xda\\x8b\\xd1\\xee\\x24\\x79\\x7f\\x92\\xe3\\xe1\\xeb\\x8e\\x24\\x87\\x21\\x09\\x42\\x09\\x5f\\x72\\x16\\xbe\\x1f\\x6f\\xc3\\xaf\\xe3\\x63\\x98\\x1f\\x86\\xb1\\x03\\x47\\x30\\x83\\xa9\\xd0\\x54\\xed\\xd4\\x9f\\xa9\\xd6\\x5f\\xae\\xa5\\xe7\\x09\\xa9\\x9f\\x79\\xec\\xe7\\x27\\xf3\\x94\\x0f\\xfb\\xd4\\x9a\\x35\\xa9\\x1e\\x6b\\xd6\\xe0\\xf3\\xd6\\xac\\xa1\\xba\\x48\\x9e\\x67\\x1b\\xcf\\xbb\\xe9\\xf3\\xbd\\x67\\x25\\x6a\\x80\\x1a\\x89\\x11\\x90\\x60\\xb1\\x8a\\xc0\\x49\\x31\\x88\\xe9\\x03\\xc3\\x0e\\x21\\x22\\x2c\\x16\\x6e\\x85\\xc0\\xc6\\xd6\\x31\\x09\\x66\\x12\\xc3\\x3a\\x98\\x08\\x03\\x16\\x05\\x24\\xc4\\x6b\\xc7\\x83\\x09\\xf6\\xa9\\x8d\\xc7\\xd3\\xa7\\x3e\\xab\\x24\\xb8\\xb0\\x4f\\xc2\\x94\\x82\\xb1\\x1c\\x73\\xf2\\x59\\x36\\xd1\\x26\\x73\\x88\\x59\\x80\\x4f\\xc1\\xe7\\x7e\\x2e\\x7f\\x2d\\xff\\xeb\\x73\\xf9\\xf3\\x4f\\x3e\\x01\\x1a\\x66\\x01\\x0d\\x73\\x54\\x1a\\x86\\x24\\xaa\\xb3\\x69\\x10\\x78\\x86\\x61\\xeb\\xb8\\x04\\x37\\x49\\x11\\x17\\xc3\\x41\\x2d\\x11\\xa1\\x5e\\x9d\\x84\\xbb\\xf1\\xf5\\x84\\x8a\\xce\\x29\\x20\\x01\\x08\\xbb\\x08\\x05\\xb3\\xd8\\xc4\\xc9\\x67\\x81\\x0a\\xb8\\x05\\xe7\\x7d\\x8e\\x03\\x38\\xf8\\xb9\\xfc\\xb0\\xbc\\x3f\\x75\\xc3\\x27\\x9f\\x28\\xef\\x97\\x01\\x0d\\xa7\\x72\\xbd\\xe0\\xb2\\x84\\x9a\\x12\\x2e\\x9e\\xbc\\x4c\\xca\\x99\\x2d\\x0e\\x53\\xc4\\xc4\\xd8\\x78\\xc6\\x44\\xbd\\x0e\\x83\\x78\\x9a\\x94\\x6a\\x6e\\x01\\x19\\x6b\\xfb\\x6e\\x75\\x71\\x97\\x84\\x5d\\xc5\\x51\\xf8\\x79\\x23\\x3e\\x8a\\x8f\\x9e\\xbc\\x87\\x75\\xcb\\x0b\\xe4\\x05\\xcc\\x15\\xf8\\x59\\x39\\x91\\xba\\x76\\x14\\x83\\xf0\\x5c\\x79\\xa5\\x12\\x67\\x2e\\x45\\x3b\\xb9\\xd1\\xcc\\x8f\\xe0\\x17\\x2b\\xf6\\x60\\x86\\x63\\xc8\\x9b\\xb6\\x44\\xd6\\xb6\\xa4\\x83\\x6d\\x61\\x8f\\xb1\\x2c\\xdb\\x82\\x31\\x91\\x71\\xed\\xf8\\xb4\\x93\\xc4\\xae\\x98\\x07\\x44\\x2a\\xac\\xc6\\xec\\xe7\\xcc\\x24\\x79\\x24\\xd3\\x97\\x3c\\xe7\\xcd\\xe4\\xa7\\xd6\\x72\\x8c\\xb0\\x19\\x6c\\x21\\x37\\x61\\x21\\x3e\\x00\\x92\\x20\\xa7\\x85\\x3a\\xd8\\xc3\\x87\\xd3\\x5b\\xd8\\x60\\xf0\\x8b\\xee\\xb8\\xfa\\x62\\x0a\\xdd\\x24\\xc0\\xc7\\x6c\\x6b\\x7d\\xf0\\xf6\\xd3\\xce\\xaf\\x8f\\x95\\x56\\xe6\\x85\\xfd\\xf1\\xca\\xd4\\x5a\\x31\\xff\\x5f\\x58\\x3a\\xbd\\x47\\x69\\xb7\\xa2\\xca\\xa2\\x3b\\x37\\x2a\\xb4\\x1e\\x4c\\xad\\x65\\xb6\\x51\\xfc\\xa1\\x84\\xd9\\xc4\\x78\\x3c\\x1d\\xd0\\x13\\xec\\x71\\x97\\x57\\x0f\\x34\\x74\\xdf\\x81\\x06\\x26\\xbf\\xf5\\xe1\\xd5\\x06\\xec\\xc2\\xe6\\xdf\\x3e\\xfb\\x5e\\x6e\\x33\\x60\\xc7\\xed\\xbf\\x30\\x95\\xdc\\x7b\\xcc\\x53\\xe4\\x9d\\x94\\x5d\\x60\\x33\\x8a\\xc6\\x6f\\x4f\\xe2\\x93\\xd9\\x6f\\x7e\\xfe\\x83\\xa9\\x6c\\x6d\\xa5\\xf4\\x90\\xf1\\x52\\x7a\\x48\\xae\\x20\\x31\\x2c\\x79\\x79\\x41\\x46\\x27\\xd4\\x97\\x17\\x5c\\x0a\\x2d\\x31\\xe8\\xbc\\x55\\xd8\\xfc\\xcb\\x71\\x95\\x3f\\xa4\\x0f\\x1e\\xe2\\x88\\x99\\xe3\\x79\\x01\\x8b\\x9c\\x4c\\xf2\\x66\\xe8\\x08\\x9d\\x54\\x72\\x4f\\x75\\x3f\\x05\\xf2\\x90\\x83\\x2f\\x4a\\xee\\x66\\x9e\\x48\\xbd\\xdf\\xca\\x3c\\xd5\\xda\\x76\\x09\\x7d\\x06\\xff\\x17\\xd2\\xa7\\x86\\x83\\xe5\\x38\\x11\\x72\\x3f\\xd9\\x48\\xac\\x11\\x07\\x4b\\x5f\\x84\\x32\\x33\\x4f\\xb4\\x02\\xd1\\x27\\x3e\\xe2\\x56\\xa9\\x74\\x93\\xb1\\x02\\xdd\\x3c\\x8a\\x90\\x58\\x28\\xb0\\x22\\x43\\xec\\x7c\\x67\\x12\\xd4\\xf2\\x04\\x7d\\x78\\x4d\\x27\\x82\\x46\\x43\\x18\\x02\\x53\\x96\\x1a\\x28\\x6c\\x3e\\xe9\\x69\\x55\\x79\\x45\\xc7\\x4d\\x69\\x00\\xa3\\x20\\x34\\x9c\\xa0\\x28\\xb6\\x13\\x14\\x1d\\x69\\x88\\x03\\x0d\\x65\\x84\\x06\\xf6\\xfb\\xb6\\xa5\\x3a\\xef\\x28\\x0d\\x22\\xe4\\x49\\x56\\x46\\x10\\x44\\xd1\\xc4\\x4a\\x82\\x9c\\x45\\x48\\x1a\\x51\\x9a\\x1a\\xca\\x52\\xa0\\xe7\\xfd\\x56\\x4a\\x90\\x91\\x2f\\x14\\x5f\\x69\\x02\\xec\\x44\\x80\\xea\\xc3\\xc4\\xcb\\xec\\x89\\x2c\\xd6\\x68\\xe8\\x74\\xc2\\x62\\x94\\x34\\x85\\xb6\\x5f\\x8e\\x73\\xab\\x54\\x5c\\x54\\x4e\\x22\\xaa\\x48\\xd8\\x79\\x48\\xbd\\x18\\x09\\x03\\x32\\xf2\\x66\\x9d\\x41\\x29\\xc8\\x5c\\x94\\xfe\\x38\\x87\\xa2\\x1d\\x94\\xdb\\xdc\\x3f\\x88\\xc0\\x40\\x49\\xda\\x2e\\xa1\\x0c\\x57\\x75\\x8b\\xd2\\x46\\xf0\\x31\\x8c\\x49\\x00\\x7c\\xec\\x09\\x1e\\xff\\x09\\x3e\\x17\\x19\\x2f\\xe5\\x5c\\x19\\xa5\\x8f\\xb2\\x5f\\xa3\\x0f\\xf0\\x59\\x50\\x43\\xc2\\xc3\\x4b\\x12\\x63\\x36\\x5b\\x05\\x1b\\xb6\\x4a\\x30\\x5e\\x93\\x42\\x24\\x64\\x26\\x04\\xab\\x3a\\xa7\\x99\\xc6\\x1b\\x37\\xa2\\x8e\\xaa\\xa3\\xa7\\xcc\\xd4\\x7a\\xa0\\x54\\x33\\xed\\xbf\\xe0\\x05\\xdc\\x7b\\xec\\x6c\\x1a\\x1f\\x6a\\x12\\x66\\x91\\x64\\xde\\x18\\xb8\\xc0\\x51\\xf9\\xf0\\x29\\x8d\\xf4\\x36\\xad\\x64\\x4a\\xbf\\xcf\\xcc\\xaa\\xee\\x1e\\x38\\xd1\\x16\\x01\\x7b\\xf9\\xa4\\xb5\\x55\\xbe\\x4b\\xb1\\x19\\x06\\xcf\\x4c\\xad\\x65\\xa7\\x52\\x9b\\x11\\x51\\x01\\xd4\\x2f\\x2c\\x38\\x1c\\xc1\\x24\\x89\\x0c\\xb0\\x17\\x44\\x5e\\xdf\\x92\\x11\\xe4\\x40\\x3e\\xf4\\x33\\xb3\\xb5\\x15\\xcf\\x50\\xec\\x48\\x72\\xa6\\x6d\\x09\\xe8\\x93\\x50\\x73\\xc2\\x01\\xc9\\x92\\x24\\x99\\x2d\\x02\\x79\\x13\\x44\\xe6\\x44\\x4a\\x22\\x97\\xd2\\x2c\\xab\\x2d\\xfd\\x34\\x96\\xfa\\x98\\xb2\\x86\\x5e\\x7b\\xec\\x5a\\x35\\x33\\xca\\x07\\x76\\x76\\xeb\\x7b\\xad\\x27\\x0b\\x89\\xf7\\x9a\\xa9\\xea\\x01\\xd4\\x8c\\x09\\x9b\\x68\\xe2\\x58\\x13\\x6b\\x46\\x16\\x46\\x90\\x04\\x40\\xbc\\x2b\\x29\\x9d\\x34\\xb1\\xb2\\x56\\x5a\\x69\\x09\\xa0\\xb2\\x6a\\xa9\\xbe\\x7f\\xe8\\xe2\\xde\\x93\\x6f\\x06\\x74\\xd4\\x7c\\xb9\\x55\\x6d\\x97\\xf0\\x31\\x95\\x07\\x94\\x76\\x1e\\x24\\xd8\\x2b\\x61\\xe7\\x78\\x8b\\x99\\x87\\x2a\\xc7\\x84\\xb1\\x4d\\x90\\x00\\xf5\\x9e\\xa4\\x90\\xb2\\xa4\\x3d\\x83\\x4a\\x7f\\x5c\\x63\\x72\\xba\\x1f\\x4a\\xbb\\xfa\\x73\\x26\\x7b\\x71\\xaa\\x08\\xb8\\xc4\\xf0\\xd0\\x25\\x0c\\xe2\\xc4\\x3e\\x6e\\x96\\x32\\x0e\\xc5\\x36\\x28\\xaf\\x9a\\x12\\x76\\x91\\x31\\x99\\xcc\\x16\\x08\\x58\\x66\\x51\\xd6\\xa4\\xd9\\xa6\\x49\\x33\\xd5\\x19\\xab\\x14\\x91\\x36\\x44\\x55\\x67\\x02\\x4c\\x02\\x87\\x82\\x17\\xc0\\xb8\\x4e\\x94\\xb3\\x1f\\x2b\\xf8\\xd9\\xa9\\x94\\x4f\\x35\\x09\\xa7\\xc2\\x27\\x0b\\x32\\x03\\x73\\x84\\x8e\\x16\\x93\\xc1\\x28\\x56\\x7b\\x51\\xd3\\x65\\x66\\x2f\\x26\\x7c\\x52\\xbc\\x94\\x62\\x38\\x8c\\x82\\x37\\xcd\\x27\\x41\\x64\\xb0\\x88\\x21\\x3f\\xe1\\x38\\xab\\x59\\xa2\\x94\\x9b\\x53\\x74\\x08\\xbb\\x60\\x08\\x22\\x56\\x64\\x91\\x56\\xc6\\x34\\x9f\\xc8\\xca\\x4a\\x03\\x26\\x3f\\xa2\\xec\\xd4\\xd6\\x54\\x11\\xc3\\xb7\\xca\\x37\\x33\\x3c\\x3b\\xfb\\x44\\x39\\x7f\\x1a\\x1d\\x45\\x2b\\xf5\\x49\\x44\\xe7\\x41\\x37\\x09\\x9f\\x6c\\xc4\\x85\\x80\\x4e\\x99\\x58\\xd6\\x22\\x28\\x9d\\x09\\x29\\xcd\\x3b\\xb5\\xe9\\xde\\xa9\\x32\\x4b\\xa3\\xf4\\x37\\x4f\\x54\\x1f\\xa5\\xfa\\xcd\\x97\\x60\\x70\\xca\\x9c\\xdc\\x4c\\xd5\\x17\\x48\\xe0\\x0b\\x2c\\x26\\x5e\\x62\\x78\\xc6\\xcc\\xc2\\x17\\x9a\\x72\\x31\\xa6\\x93\\x82\\x6a\\x05\\x95\\x19\\x0a\\xa5\\x58\\x2b\\x7c\\x67\\xde\\x6a\\xc5\\xf3\\x4e\\xae\\x6e\\x7d\\x8f\\xfa\\x3e\\xee\\xea\\x93\\x1e\\xa2\\x4f\\x2a\\xdd\\x2a\\x9f\\x18\\x1e\\xf0\\x99\\xac\\x36\\x33\\xcb\\xda\\x4c\\x16\\x4a\\xb1\\xa9\\x8d\\x92\\xbe\\x2b\\xc9\\xa4\\xd4\\x0e\\x3a\\xe5\\x13\\xed\\x46\\xfd\\x39\\xb3\\x95\\x39\\x7a\\x72\\x35\\x58\\x1d\\x9e\\x97\\x6a\\x13\\x36\\xb7\\x4d\\x6c\\xe5\\xeb\\x61\\x1c\\xca\\x1e\\x09\\x0b\\xa8\\xaf\\xa5\\xfa\\x24\\x09\\x0c\\x63\\x31\\x53\\x7d\\x3a\\xf1\\x3f\\xeb\\x53\\x5c\\xd5\\xa7\\x32\\x45\\x9f\\xd8\\xe6\\x13\\xaf\\x29\\xfe\\x92\\xfa\\x08\\xaa\\x4f\\x10\\x9d\\xc8\\x4b\\x6d\\xd8\\x6c\\xe2\\x4e\\x40\\x57\\x38\\x1d\\x65\\x3a\\xea\\x13\\x56\\x70\\xc2\\x5f\\x76\\x2a\\xd0\\x3e\\x4f\\x51\\x29\\xe2\\xd6\\xd8\\xef\\x15\\x9f\\x46\\xf1\\xaa\\x7c\\x32\\x59\\xc8\\xcb\\x72\\xa0\\x4f\\x18\\x2b\\xfa\\xb4\\x27\\x69\\x6e\\x13\\xb8\\x13\\x5a\\x1f\\xa9\\xae\\xed\\x8e\\x74\\x13\\x8d\\x2b\\xfa\\x74\\x72\\x35\\x73\\xb4\\x55\\x16\\x5b\\x53\\x6d\\x78\\x1e\\x8c\\x82\\xdb\\x70\\xb2\\xb1\\x35\\x33\\xc6\\x59\\x50\\x5f\\x18\\x07\\x78\\x69\\x8b\\x05\\xac\\x1c\\xa4\\x62\\x96\\xff\\x48\\xa5\\xb2\\xfc\\x54\\x86\\x5a\\xe9\\xc1\\x4f\\x0b\\x80\\x2f\\xa9\\xde\\x4a\\xf7\\x2b\\x34\\xce\\x90\\xb7\\xd4\\x1d\\x66\\xc8\\xe7\\x05\\x8b\\x60\\x65\\x6d\\x16\\x35\\xb0\\x82\\xfc\\x4f\\x9a\\xd2\\xf2\\xd7\\x79\\x97\\x11\\x5d\\x69\\xd2\\x42\\xd4\\x0c\\xfc\\x08\\xf1\\xdb\\x6a\\x94\\xa5\\x7e\\x97\\xd5\\xfb\\x80\\x92\\x06\\x39\\xd0\\xc0\\x84\\xcb\\xce\\xf3\\x2e\\x84\\x1d\\x92\\x64\\x35\\x61\\x93\\xd3\\x65\\x75\\xd0\\xf1\\x58\\xdb\\xa8\\x1b\\x4e\\x48\\xe0\\x87\\xcd\\xcc\\x09\\x09\\xc9\\x54\\xab\\xb5\\x65\\xa9\\x8c\\x95\\x41\\x25\\x25\\x8c\\x7b\\x94\\x80\\xa4\\x68\\x5f\\x5b\\x6b\\xeb\\x7b\\xd4\\x93\\x51\\xf5\\x4b\\xad\\x95\\x9c\\xa0\\x80\\x27\\x0b\\x25\\x27\\x55\\x41\\x43\\xbc\\xb7\\xa0\\xde\\x09\\x97\\x44\\x98\\x6b\\xb5\\x81\\x12\\x42\\x0c\\xfc\\x63\\x35\\x34\\xea\\x61\\x86\\x22\\xc6\\x74\\x55\\xd4\\x74\\xf1\\x97\\xe3\\xec\\xc7\\x48\\xf7\\x43\\x3a\\x5f\\xdd\\x90\\x5d\\x58\\xcc\\x82\\xd9\\x86\\xac\\x16\\x5e\\x36\\x75\\x48\\x31\\xe2\\x46\\x9d\\x34\\xe4\\x19\\x84\\xaf\\x66\\xd0\\x49\\x1a\\xc9\\xf4\\x7c\\x83\\xbb\\x1a\\xd8\\x8a\\x58\\xbd\\x0f\\x9d\\xaf\\x82\\xd9\\x2c\\x59\\x58\\xc6\\xc2\\x38\\x5d\\x36\\x51\\x74\\xda\\x6d\\x74\\x4c\\xf6\\x94\\x49\\xe5\\xab\\xa9\\xcd\\x92\\x8e\\x99\\x9d\\x98\\xb3\\x31\\x80\\x92\\x22\\x91\\x7a\\x3f\\x90\\x2b\\x91\\x29\\x51\\xd5\\x56\\xea\\x02\\x95\\x88\\x0a\\x1a\\xab\\x38\\x41\\x46\\xc9\\x2d\\xc0\\xe7\\x92\\xb1\\x26\\x12\\x0e\\xc8\\x7e\\x6c\\x56\\xd6\\x62\\xb1\\x99\\x08\\x6f\\x4d\\x4a\\xd7\\x52\\x9b\\x31\\x19\\x4a\\xe9\\x0b\\x73\\xe9\\x24\\xc0\\x95\\x99\\x13\\xa9\\xd9\\x00\\x68\\x6c\\xea\\x7d\\xee\\x1f\\xc0\\x5e\\x10\\x25\\xfb\\x31\\xe1\\x03\\x32\\xe6\\x5b\\x16\\xd4\\x3d\\xe1\\x91\\xcc\\x02\\x6f\\xe6\\x41\\x69\\x91\\xd5\\x0c\\xec\\xed\\x90\\x74\\xa9\\x36\\xef\\xca\\x88\\x22\\x7a\\xc0\\x85\\x5e\\x94\\x88\\xab\\xe6\\x5f\\x6a\\x0e\\xc6\\xea\\xe3\\xe2\\xd5\\x37\\x86\\xdd\\x64\\x85\\x0d\\x9b\\x5d\\x4e\\x9b\\xc9\\xe4\\xb2\\xb3\\xac\\xd3\\x61\\xa7\\x2e\\xd8\\xd1\\x26\\xb1\\x1c\\x4b\\xbf\\x0a\\x5c\\xca\\xa2\\xea\\xad\\xb6\\x34\\x6c\\x18\\x5f\\xba\\x98\\x01\\xbe\\xc6\\x15\\xcb\\xf1\\x41\\x94\\x69\\xa3\\x7c\\x55\\x94\\x97\\xe1\\xdb\\x22\\x20\\xd7\\x8f\\xc9\\x78\\xf9\\xf7\\x5a\\x5b\\xb5\\xbc\\x4a\\xd5\\x25\\xc2\\x5f\\x86\\xb1\\x59\\x2d\\xa2\\x98\\xc9\\xdf\\x94\\x31\\x39\\x6c\\xfb\\x43\\xfe\\x52\\x7b\\xa1\\xfc\\xa5\\x89\\x9c\\x9a\\x70\\xb1\\xcd\\x60\\x27\\x6a\\xd2\\x95\\xce\\x3f\\x29\\x7f\\x41\\x7b\\x25\\x46\\xb2\\x5a\\x80\\xbf\\x22\\x7b\\x42\\xea\\x90\\x84\\x76\\xca\\x5f\\xb5\\x57\\xe8\\x85\\x3a\\x55\\x3c\\x4f\\x77\\xab\\x4a\\x4e\\xca\\xea\\xe3\\xd2\\xf9\\x6b\\xb2\\xf0\\xa0\\xbc\\x2e\\xa7\\x83\\xe3\\x5c\\x56\\x49\\x72\\x92\\x55\\x21\\x60\\xaa\\x2d\\x45\\x36\\xfc\\x52\\xa2\\x1d\\x78\\x5b\\x3d\\xda\\x75\\xc9\\x5f\\x3d\\x26\\x35\\x44\\xc9\\x30\\xa9\\x67\\x4a\\xb5\\xa9\\x4a\\x2c\\xdf\\xcc\\xfd\\x83\\x3a\\x41\\xf6\\x55\\xd0\\x61\\x70\\xc2\\xad\\xc6\\xfc\\xd8\\x83\\xce\\x49\\x84\\x6c\\x92\\xcb\\x25\\x30\\x6e\\xb7\\xcf\\xeb\\x30\\x9b\\x7d\\x88\\xe7\\xbd\\x2e\\x70\\x11\\x56\\x8e\\x3a\\x89\\x3d\\x49\\x89\\x6f\\x73\\x6a\\x29\\xb3\\x8d\\xe8\\xb2\\x4a\\x4b\\x46\\xe6\\x9c\\x7e\\x72\\x21\\x9e\\x15\\xbe\\x74\\xb7\\xac\\x7b\\x0f\\xdd\\x39\\xab\\x5e\\x44\\xf5\\xd0\\xd4\\x95\\x64\\xd0\\x76\\x7a\\xc2\\xef\\x36\\x9b\\x1d\\x16\\x8f\\x48\\xdd\\xb4\\x97\\xf3\\xd9\\xbc\\x12\\x6f\\xa3\\x86\\x9e\\xb0\\x24\\xdd\\x8c\\xfd\\x24\\xf8\\x6d\\xa7\\x66\\xe1\\x99\\x0f\\x90\\x37\\xa7\\xdf\\xb1\\x4b\\x7b\\x6e\\x65\\x5b\\x8d\\x86\\x74\\xa2\\x40\\x4d\\x41\\xbe\\x99\\xc8\\x4c\\xf5\\xe2\\x8a\\x45\\x50\\xd9\\xd1\\x47\\x1b\\x75\\x7a\\x88\\xdc\\x5c\\x28\\x80\\xa6\\x24\\x42\\x5e\\x41\\x08\\x88\\xbc\\xcb\\xc5\\x38\\x45\\x67\\x4e\\x90\\xb5\\xdb\\x73\\x7c\\x92\\x14\\xe4\\x7d\\x7e\\x1f\\xe5\\x18\\xe3\\x6f\\x73\\x28\\x22\\x4c\\x98\\x93\\x56\\x73\\xca\\x25\\xc8\\x6e\\x9d\\x48\\x03\\xf3\\xb2\\x84\\x99\\x4d\\x2e\\x6b\\x34\\x9c\\xb8\\xea\\x9c\\x88\\x68\\xdf\\x33\\x18\\x90\\x2a\\x66\\x2a\\xe2\\x13\\xfb\\x14\\x43\\xa2\\xee\\x8a\\xce\\x07\\x20\\xe6\\x52\\xee\\x30\\xf5\\x99\\xee\\xdd\\x08\\x6a\\x76\\xe6\\x04\\x42\\xb5\\x2d\\x6a\\xb5\\x8e\\xc9\\x8a\\xf8\\xe1\\xb6\\x38\\x77\\x18\\xa0\\x1a\\x15\\x78\\x18\\x2b\\xfc\\x96\\x86\\x27\\xd6\\x5d\\xdb\\x01\\x1e\\xa0\\x3e\\x48\\xc3\\x53\\xfc\\x9e\\x3d\\x2a\\x7e\\x19\\xb5\\x74\\xec\\x80\\x84\\x27\\x15\\x9e\\x99\\xae\\xc1\\xe3\\xce\\xe0\\x99\\xe9\\x04\\x44\\x85\\x67\\xa6\\xe9\\xf8\\x5d\\xbb\\x31\\xe2\\xd3\\xe0\\xf5\\x1a\\xf6\\x34\\x34\\x22\\x7b\\x10\\xa7\\xda\\xb8\\xe9\\x6a\\xed\\x44\\xac\\xcc\\x43\\x9f\\x4a\\x8d\\xa0\\x18\\x2a\\x45\\x95\\xa8\\x16\\xc5\\x51\\x13\\xea\\x85\\x5a\\x50\\x3f\\x34\\x10\\x9d\\x81\\x86\\xa2\\x11\\x68\\x34\\x1a\\x8b\\x26\\xa2\\xa9\\x68\\x3a\\xba\\x10\\xcd\\x42\\x97\\xa2\\x05\\xe8\\x0a\\xb4\\x18\\x2d\\x43\\x2b\\xd0\\x4d\\xe8\\x56\\xfc\\x6a\\x62\\xa6\\xbd\\xe4\\xb4\\x73\\x16\\xf1\\x97\\x5c\\xe2\\x28\\x1d\\x38\\xfa\\x0a\\x7e\\x96\\x90\\xdf\\x78\\xd6\\x8d\\xfc\\xb4\\x69\\x62\\xa4\\x69\\xe8\\x4d\\xfc\\x74\\x77\\x45\\xdf\\x73\\xaf\\xe6\\xe7\\xce\\xf5\\x54\\xb6\\x8c\\x5d\\xcc\\x5f\\x6a\\x2e\\xec\\x39\\x78\\x25\\x3f\\x65\\x8a\\x25\\xd6\\xeb\\x8c\\x5b\\xf9\\xa9\\x53\\x2f\\x9d\\x3e\\x8b\\xbb\\x70\\x01\\x13\\xaa\\x1f\\x7e\\x1d\\x3f\\x73\\x26\\x1b\\x8e\\x8f\\x58\\xc1\\x5f\\x78\\xe1\\x6d\\x81\\xda\\x7e\\x13\\x97\\xf1\\x0b\\xfc\\x35\\xa7\\x4e\\x58\\xca\\x2f\\x98\\x3f\\xbf\\x75\\xfa\\xd4\\x0b\\x67\\x5c\\xb8\\x17\\x73\\xe0\\xda\\xce\\x9b\\x34\\x63\\xe2\\xd8\\xd1\\x23\\x47\\x2b\\xbf\\x8d\\x1b\\x33\\x72\\xe8\\x19\\x23\\x86\\x8d\\x50\\x7e\\x1b\\x32\\x68\\x58\\xbf\\x96\\x81\\xfd\\x07\\x2a\\xbf\\x25\\x7a\\xf7\\xef\\xd5\\x14\\xaf\\x8b\\x2b\\xbf\\xf5\\xe8\\x5e\\x57\\x5b\\x59\\x5a\\x54\\xaa\\xfc\\x56\\x55\\x56\\x14\\x8b\\x84\\x83\\x61\\xe5\\xb7\\x82\\xdc\\x60\\xc0\\xe3\\x20\\x89\\x07\\xf9\\xcd\\xeb\\x04\\x7f\\xca\\x92\\xda\\x89\\xfc\\x06\\xf1\\x63\\xd9\\xe2\\x2b\\x16\\x5e\\x41\\x7e\\x8b\\x24\\x97\\x5c\\xb9\\x70\\xc6\\xc8\\x61\\xfd\\xeb\\x8a\\x82\\x56\\xb4\\x70\\x21\\xb2\\x06\\x8b\\xea\\xfa\\x0f\\x1b\\x39\\xc3\\xbc\\x7c\\xde\\xec\\x8b\\x66\\x5d\\xa4\\xdc\\xb1\\xe0\\xd2\\x59\\xb7\\xde\\xb4\\x62\\xf9\\x0a\\xf8\\x6d\\x67\\xf2\\xe6\\xeb\\x97\\x9f\\x40\\x9a\\xe9\\x05\\xb5\\x97\\x38\\xdc\\xca\\x83\\x5d\\xea\\x9f\\x0e\\xcf\\xef\\xfe\\x9f\\xfe\\x4f\\xd4\\x25\\xa0\\xee\\x31\\x10\\x88\\xd3\\x2f\\x64\\x5d\\x45\\xfd\\xda\\xd9\\x7f\\xdd\\xea\\xc8\\x1b\\x96\\xc5\\xea\\x87\\xff\\x1f\\xbf\\x8b\\x5d\\xb4\\x07\\xba\\x80\\x31\\xb6\\xe3\\x2e\\xbe\\x4f\\x9f\\x8e\\xef\\x56\\x3e\\xa9\\xb5\\xd3\\xa6\\xe1\\xbb\\x95\\x4f\\x5b\\xfb\\x9f\\xb7\\x1f\\x56\\x9a\\x4e\\x1e\\x9a\\x36\\x8d\\x99\\x3e\\x7d\\xba\\x3c\\x4d\\xf9\\x1c\\x4e\\x43\\x1f\\xee\\xb4\\x95\\xdc\\xd0\\x19\\x3e\\xbe\\x6c\\x0a\\xf9\\x33\\x79\\x52\\xfa\\xcf\\xd4\\x8e\\xdf\\x27\\x93\\x3f\\x53\\x26\\x90\\x3f\\x53\\xe8\\x77\\xa5\\x59\\xfc\\x9e\\xde\\x8c\\x63\\xf4\\x37\\x44\\xce\\x36\\x06\\x1b\\x7c\\xed\\xff\\x9e\\x0d\\xa2\\xd5\\xe8\\x4e\\x74\\x0f\\xba\\x1f\\xfd\\x05\\x6d\\x44\\x8f\\xa2\\x6d\\x68\\x07\\xda\\x83\\x9e\\x44\\xfb\\xd1\\xf3\\xe8\\x25\\x74\\x10\\xbd\\x8e\\xde\\x46\\xef\\xa1\\x0f\\xd1\\x27\\xe8\\x73\\xf4\\x15\\xfa\\x16\\x1d\\x43\\xff\\x41\\xbf\\xa2\\x36\\xd4\\x8e\\x59\\x28\\x85\\x2d\\xd8\\x81\\x3d\\x38\\x80\\xc3\\x38\\xc2\\x5a\\x76\\x30\\xf5\\x53\\x1e\\xde\\x8b\\xcd\\xbb\\xf9\\x77\\xdf\\x65\\xe3\\x53\\x37\\xd2\\x37\\x30\\xf8\\xf7\\xf2\\xcf\\x5a\\xb9\\xf5\\x17\\xfe\\xe3\\x8f\\x23\\x43\\x6f\\xdd\\xf6\\x2b\\xff\\x89\\xd0\\x38\\xed\\x81\\xbd\\xd8\\xbe\\x9b\\x7f\\xeb\\x2d\\xb1\\x69\\xfa\\x5f\\xf6\\x62\\x07\\x00\\xbd\\x5d\\x38\\xfc\\xea\\xed\\x27\\xf8\\xcf\\x3e\\x8b\\x8d\\x58\\xbc\\xa3\\x8d\\xff\\xdc\\xdc\\x73\\xe6\\x7d\\x7b\\xb1\\x7b\\x37\\xff\\xda\\x6b\\x96\\x5e\\x17\\xde\\xbf\\x17\\x7b\\x00\\xe8\\xf5\\x92\\x73\\x96\\xee\\x96\\xf9\\x7f\\xfe\\xb3\\x74\\xf4\\xb2\\x3d\\xed\\xfc\\x57\\xf6\\xbe\\x97\\xdc\\xbd\\x17\\xfb\\x77\\xf3\\xaf\\xbe\\xea\\x68\\x99\\x75\\xcf\\x5e\\x1c\\xd8\\xc5\\x1f\\xac\\x38\\xf7\\xba\\x7d\\x7b\\x31\\xb3\\x9b\\xff\\xe6\\x9b\\xca\\xb1\\x2b\\x9e\\xdc\\x8b\\xd9\\x5d\\xfc\\xb7\\xee\\x53\\xe7\\xde\\xb1\\x17\\x87\\x76\\xf3\\x2f\\xbe\\xe8\\xe9\\x77\\xe9\\x9d\\x7b\\x71\\x78\\x17\\xff\\x52\\xcd\\x84\\x1b\\x9f\\xd9\\x8b\\x85\\xdd\\xfc\\x0f\\x3f\\xd4\\x4e\\xbc\\x69\\xff\\x5e\\x2c\\x26\\x22\\xfc\\xb1\\x63\\x2f\\x7d\\x7b\\xf0\\xab\\xd7\\x3f\\x7f\\xfb\\x93\\xf7\\xcc\\x1f\\x3e\\x1f\\x1a\\xbc\\xe8\\x91\\x1f\\xf9\\x0f\\x3e\\x08\\x9f\\x71\\xc5\\xa3\\xff\\xe1\\x3f\\xfc\\x70\\x2f\\x2e\\xd8\\x11\\x18\\xb8\\x60\\xf5\\x5e\\x1c\\xd9\\xc5\\x3f\\xef\\x3f\\x6d\\xfe\\xaa\\xbd\\x38\\x7f\\x07\\xff\\xfc\\x73\\xcf\\xed\\xc5\\xd1\\x84\\xf4\\xfc\\x4b\\x07\\x5f\\x7f\\x9b\\x7f\\xef\\x9d\\xf7\\x88\\x1d\\xbb\\x92\\xcf\\x1e\\x78\\xf9\\xd0\\x1b\\xfc\\x3b\\xdb\\x76\\xec\\x79\\x72\\x3f\\xff\\xe8\\xa6\\x47\\x95\\xd6\\xc7\\x1e\\xdf\\xb9\\xf7\\x29\\x7e\\xd3\\xea\\x3b\\xef\\xb9\\xff\\x2f\\xfc\\xc6\\x07\\x37\\x2a\\xad\\xb7\\xad\\xb9\\xeb\\xde\\xf5\\xfc\\x83\\x8b\\x97\\xad\\xb8\\xe9\\x56\\x5e\\xf5\\x16\\xae\\xe4\\x95\\x4b\\x96\\x5f\\x7f\\x33\\xbf\\x70\\xfa\\x85\\xb3\\x2e\\x5d\\xc0\\x4f\\x9d\\x34\\x55\\x69\\x3d\\x6f\\xc6\\x45\\xb3\\xe7\\xf1\\x93\\x86\\x8e\\x18\\x3d\\x76\\x22\\x7f\\xc6\\xa0\\x33\\x94\\xd6\\x21\\xc3\\x46\\x8e\\x19\\xc7\\x0f\\x6a\\xea\\xd5\\xd2\\x6f\\x20\\xaf\\x7a\\x2d\\x57\\xb2\\x7b\\x8f\\xde\\x89\\xfe\\x7c\\x5d\\x24\\x56\\x5a\\x59\\xcb\\xab\\xfe\\xca\\x95\\xcc\\x2d\\x28\\x2a\\xab\\xe2\\x83\\xa2\\xc5\\xe1\\x09\\xf0\\xaa\\xa7\\xb2\\x24\\x39\\x93\\xd5\\xe9\\xe5\\xd1\\xaf\\x6d\\xed\\x4f\\x10\\xe1\\xee\\xe0\\xff\\x73\\xfc\\x3f\\x74\\xb2\\xff\\xa7\\xdf\\x4e\\x3e\\x81\\x11\\xc0\\x04\\xf8\\xe3\\xef\\x6c\\x7a\\x70\\xe1\\xa4\\x41\\x75\\x41\\x74\\xfc\\x38\\x0a\\xd6\\x0d\\x9a\\xb4\\xf0\\xc1\\x4d\\xef\\x98\\xf7\\x62\\x53\\x42\\x3a\\xfa\\xe9\\x17\\x5f\\x7f\\xc7\\xbf\\xff\\xe1\\xfb\\x70\\xcf\\x9e\\xe4\\x27\\x9f\\x7f\\xf5\\xed\\x31\\xfe\\xc3\\x53\\x3c\\x69\\x0d\\x81\\x00\\x66\\xc1\\x26\\xf8\\x70\\x28\\x89\\xad\\xd8\\x89\\xbd\\x38\\x88\\x73\\xa1\\x95\\x16\\x84\\x01\\xe2\\x7b\\x02\\xe0\\xe2\\xd4\\x2f\\x59\\x2e\\x4e\\x6d\\xfd\\xbf\\xf6\\xff\\xff\\xee\\xe2\\xfe\\xfb\\xff\\xc8\\x1a\\xae\\x2f\\xd6\\xd4\\xc9\\x87\\xff\\x7f\\xd0\\x5e\\x9c\\xd5\\xa6\\x39\\xd5\\xd2\\x4e\\x3e\\x62\\x17\\x78\\x02\\xff\\x23\\x3c\\xfe\\x1f\\xdb\\x89\\xe3\\xcc\\xfc\\xd7\\x06\\xce\\xf8\\x70\\xe6\\xbf\\x93\\xe7\\xff\\x1f\\x40\\x51\\x37\\xad\\xc3\\x80\\x67\\x66\\xef\\xee\\x00\\x37\\xad\\x03\\xb2\\x8e\\x74\\x75\\x84\\x69\\x6b\\xff\\x6f\\x68\\x50\\x9d\\xfe\\x94\\x0e\\xae\\x7f\\x52\\x17\\x61\\xa0\\xcb\\xf6\\xc9\\xe9\\x3f\\x4a\\x78\\x98\\x60\\x08\\x12\\x93\\x0d\\xa1\\x22\\x23\\x60\\x4c\\x31\\x86\\x0d\\xe5\\x0f\\x39\\x27\\x1b\\xf2\\x3d\\x12\\x3b\\x06\\xa0\\xd3\\xd1\\x99\\xe8\\x6c\\x34\\x0a\\x25\\xd1\\x78\\x34\\x19\\x9d\\x8f\\x2e\\x40\\x17\\xa3\\x39\\xe8\\x32\\x74\\x39\\xba\\x0a\\x5d\\x83\\xae\\x45\\x37\\xa0\\x5b\\x50\\x2b\\xba\\x1d\\xad\\x45\\xeb\\xd0\\x06\\xf4\\x10\\xda\\x8c\\xb6\\xa0\\xbf\\xa2\\x5d\\xe8\\x09\\xf4\\x34\\xfa\\x1b\\x7a\\x01\\xbd\\x82\\x0e\\xa3\\x37\\xd1\\xdf\\xd1\\x11\\xf4\\x11\\xfa\\x07\\xfa\\x12\\xfd\\x0b\\x7d\\x8f\\xfe\\x8d\\x7e\\x46\\xbf\\xa3\\x14\\xc6\\x98\\xc7\\x12\\xb6\\x61\\x17\\xf6\\xe1\\x1c\\x9c\\x87\\xa3\\xac\\x2b\\x71\\x61\\xe8\\xbc\\x85\\x0f\\x7d\\xc1\\xbf\\xf0\\x82\\xea\\x74\\xce\\xb8\\xb0\\xf5\\xd1\\xe3\\xfc\\xc1\\x83\\x83\\x66\\x5c\\xbf\\xe9\\x67\\xfe\\xe5\\xfc\\x49\\x57\\x6c\\xf8\\x94\\xff\\xdb\\xdf\\xc2\\xe7\\x5f\\xfe\\xc0\\x97\\xfc\\x73\\x43\\x67\\xdd\\xb4\\xed\\x3b\\xfe\\xf5\\xd7\\x87\\x5c\\xb4\\xf2\\xb1\\x7f\\xf3\\x87\\x0a\\xc7\\x2d\\x5e\\x77\\x94\\x7f\\xfa\\xe9\\xc8\\xe4\\x2b\\xef\\xfb\\x07\\xff\\xcc\\x88\\x4b\\x57\\xef\\xf8\\x9a\\x7f\\xfb\\xed\\x61\\xb3\\x6f\\x7e\\xfc\\x7b\\xfe\\x8d\\x92\\x31\\xcb\\xd6\\xbe\\xcf\\x3f\\xf1\\x44\\x6c\\xfc\\x92\\xbb\\x3f\\xe2\\xf7\\xfd\\xda\\xfe\\x34\\x44\\x26\\x07\\x2e\\x00\\xcf\\x12\\xc0\\x81\\x84\\x34\\x72\\xde\\x9a\\x9d\\xff\\xe2\\xdf\\xa9\\x38\\xf9\\x34\\xb8\\x35\\x1b\\xf5\\x38\\x3e\\xec\\x4b\\x38\\x4b\\x93\\xcb\\xef\\x38\\xc2\\xef\\xae\\x23\\x3e\\x92\\xef\\xdf\\xff\\xb7\\x67\\xc0\\xc7\\x99\\xc0\\x2d\\x45\\x01\\x20\\x88\\x83\\x09\\xcb\\xee\\x77\\xf6\\xbd\\xf1\\xcc\\xa1\\xe7\\x5e\\x66\\xcd\\x18\\x82\\x51\\xc2\\x39\\x70\\xfa\\x8a\\x8d\\x3f\\xf1\\x2f\\xbd\\xc4\\x4b\\x36\\x97\\x0f\\xca\\xd6\\xbd\\xb8\\x30\\x61\\xa9\\xa9\\x6f\\xec\\xd9\\xf7\\x54\\x01\\xa1\\xca\\xd4\\x33\\x98\\xc3\\x66\\x9c\\x07\\xb7\\xbb\\xe1\\x6f\\x2c\\x61\\x55\\xfd\\xac\\xbf\\xdf\\xab\\xaf\\xbd\\x05\\x91\\x6a\\x07\\xff\\x22\\xf3\\x22\\xcd\\xea\\x9e\\x78\\xfa\\x6f\\x2f\\xec\\xc5\\xbe\\x5d\\x3c\\xb3\\xf7\\xa9\\x67\\x0f\\xec\\xc5\\xde\\x1d\\x3c\\xbf\\x91\\xa7\\x97\\x12\\x8f\\x6e\\xdb\\x01\\x41\\x71\\x17\\xbf\\xb1\\xe5\\x91\\xad\\xdb\\x21\\x52\\xee\\xe0\\x1f\\x16\\x1e\\xa6\\x97\\xd6\\xae\\xdb\\xf0\\xd0\\x5e\\x6c\\xdb\\xc5\\x0b\\x10\\x2c\\x1e\\xdc\\x8b\\xad\\x3b\\x78\\x69\\x85\\x44\\x2f\\xf5\\xbe\\xa9\\x15\\xa2\\x92\\xb8\\x8b\\x5f\\xd1\\xeb\\xc6\\xdb\\x20\\x2a\\x09\\x3b\\xf8\\xeb\\xcc\\xd7\\xd1\\x4b\\x0b\\xaf\\x58\\xbc\\x8c\\x86\\x41\\xf3\\x82\\x45\\x57\\x2f\\x85\\xd8\\xb8\\x83\\xb7\\x4d\\xb7\\x29\\x81\\xa0\\x07\\x44\\x96\\x76\\x7e\\x7a\\xd3\\xcc\\x4b\\xe6\\xca\\xfc\\x34\\xfb\\xb4\\xff\\x8f\\xb7\\xf7\\x00\\x8c\\xaa\\xd8\\x1a\\xc7\\xe7\\xcc\\xcc\\xbd\\x5b\\xb3\\xbd\\x64\\x93\\xdd\\xcd\\x26\\x9b\\x42\\x48\\x48\\xc2\\x2e\\x21\\x84\\x96\\xa5\\x85\\x2e\\xbd\\x2c\\x3d\\x95\\x04\\x42\\x12\\x92\\x90\\x48\\x93\\xde\\x2c\\x20\\x20\\x8a\\x0d\\x51\\x51\\x6c\\x88\\x05\\x04\\xf5\\x89\\x3e\\x0b\\xea\\x13\\xec\\x5d\\x11\\x54\\x14\\x7b\\x2f\\x4f\\x21\\x37\\xff\\x99\\xbb\\x77\\x93\\x4d\\xc4\\xf7\\x7d\\xff\\xdf\\xf7\\xfd\\x7e\\xd9\\xec\\xee\\xdc\\xbd\\x33\\xe7\\x9c\\x39\\x73\\xe6\\x4c\\xb9\\x67\\xce\\x89\\xfc\\x3a\\x7d\\xd6\\xbc\\xf2\\x0b\\x82\\x81\\x0d\\x2f\\x65\\xe7\\x05\\xf3\\x70\\xb3\\x32\\x94\\x8c\\x1e\\x37\\xe9\\x77\\x61\\x78\\x70\\xd4\\x25\\x13\\x7f\\x13\\x8a\\x2d\\xc5\\x32\\xf0\\x77\\x99\\xd6\\x3f\\x0a\\xee\\xc3\\x82\\xe5\\x9d\\x0f\\x4e\\x7f\\xca\\x06\\xd6\\x87\\x05\\xfb\\x2f\\x76\\xf9\\x56\\xde\\x17\\xdf\\xfc\\xc0\\x06\\xcc\\x90\\x5b\\xf8\\x05\\xef\\x17\\x37\\x69\\xe7\\x1b\\x86\\x5b\\x7e\\xf9\\xc5\\x32\\xdc\\x30\\x5f\\xbb\\x49\\xdc\\x8f\\xb5\\x8e\\xa1\\x6c\\xb4\\x64\\x83\\xf6\\xc3\\xc2\\xf3\\xf0\\x3c\\x2b\\xf1\\x48\\x18\\xa4\\x5c\\x36\\x68\\xb0\\xc1\\x95\\x0d\\x3d\\x8e\\x9f\\xe5\\x61\\x24\\xc1\\x9b\\x92\\xde\\x5d\\x70\\xa0\\xe8\\xa8\\x20\\x9b\\xc6\\xfd\\xdf\\x1e\\x1c\\xe2\\x4d\\xc7\\x9d\\x81\\x88\\x93\\xad\\xff\\x6b\\x23\\x04\\x5b\\x5d\\x05\\xf3\\xfd\\x17\\x79\\x07\\xed\\x17\\x7b\\xfb\\xed\\x41\\xf3\\x45\\xde\\xd0\\x25\\xa3\\x93\\xfd\\x96\\x11\\xf3\\x56\\x75\\xb9\\x2f\\xb0\\xdf\\x0a\\x62\\xaf\\xd9\\x3b\\x99\\xbd\\x55\\xf9\\x7e\\x7b\\x1a\\xfb\\xb6\\xb2\\x6f\\x7f\\xcc\\xbb\\x6b\\xf9\\xff\\xf2\\x7e\\x17\\xfc\\xd0\\xf5\\x5a\\xa1\\x91\\x97\\xf3\\x00\\xc3\\xab\\xc0\\xec\\xf4\\xcd\\xee\\x13\\xf6\\xa6\\x2f\\x9f\\x0f\\x54\\x76\\xfc\\xcd\\xef\\x78\\xc5\\xfe\\x9d\\xdf\\x1d\\xfd\\x39\\x56\\x25\\x2b\\xbf\\xb5\\xb6\\x45\\xcb\\x5d\\x38\\x31\\x1f\\x82\\x4c\\x2f\\xb3\\xf9\\x78\\x3b\\xa8\\xf6\\x82\\x5d\\xaf\\x3b\\x00\\x61\\x88\\x51\\xe9\\xf8\\xa4\\x7c\\x6f\\x3e\\xff\\xe7\\xb9\\xe5\\x37\\xff\\x6c\\xbd\\x1e\\x52\\x4a\\xf8\\xbf\\x7f\\x1e\\x24\\x97\\xca\\xff\\x31\\x6a\\xf7\\x9f\\xa5\\xd2\\xe9\\x79\\xd2\\xa9\\xc8\\xff\\x1c\\xf6\\x29\\x2e\\x88\\xde\\x7a\\xaa\\xeb\\xf8\\xf0\\x54\\x34\\xf1\\x4c\\x47\\x79\\xe9\\xf4\\x5f\\xd4\\x7f\\xc7\\x4f\\xed\\xb9\\xc4\\x93\\x51\\x95\\x9f\\xa2\\x24\\x18\\x56\\x86\\xa0\\x44\\x06\\xfa\\x4c\\x04\\x4c\\x69\\xa4\\x68\\x24\\x3b\\xcb\\x28\\xef\\x31\\xb4\\xa0\\x25\\x74\\x2a\\x9d\\x1c\\xf1\\x35\\x2e\\xa0\\xce\\xbe\\xc6\\x93\\xcd\\xc9\\x2d\\xe4\\xf4\\x85\\x64\\x3a\\xf9\\x02\\x8f\\x73\\xc2\\xcd\\x09\\x5f\\xa2\\x2f\\xca\\x6b\\x8f\\xec\\x90\\x56\\x20\\x22\\xc6\\x44\\xa3\\x26\\xdc\\x18\\xe4\\xe1\\x30\\x41\\xb4\\x93\\x51\\x48\\xcc\\x73\\x54\\x0e\\xc8\\x6a\\x4e\\x36\\x63\\xfa\\xe2\\xf9\\x82\\x31\\xb4\\x27\\xff\\xa2\\x2b\\xcf\\xbf\\x42\\x7b\\xca\\xcf\\xa4\\xaa\\x60\\x15\\x29\\x27\\xcb\\xf9\\xbe\\xc5\\x23\\x7c\\xdf\\x42\\x60\\x98\\x72\\x4f\\xb6\\x1b\\x31\\x70\\xf7\\x80\\xe5\\x12\\x85\\x0b\\xb0\\x0a\\x2e\\xf0\\xe7\\x0c\\x1d\\xf9\\x55\\x28\\x2f\\xa4\\x55\\x01\\xdf\\xa4\\x55\\x6b\\x90\\x8a\\xe1\\x3f\\x1c\\x46\\x38\\x84\\x45\\x99\\x12\\xac\\xd8\\x4c\\x9f\\xe8\\x64\\xad\\xa5\\x78\\x1b\\x8c\\x80\\x1c\\x23\\xdd\\xc4\\xa1\\x4a\\xe3\\xa1\\x54\\xda\\x13\\xb1\\xc9\\x2e\\xa6\\xcf\\xe1\\x94\\xbf\\xe5\\x87\\x9a\\x3e\\x71\\x7e\\x08\\x4e\\x91\\xf8\\x59\\x1f\\x23\\x0a\\xd0\\x27\\xe8\\xfd\\x8c\\x5a\\xfb\\x11\\xee\\xa7\\x1d\\x11\\x68\\xcf\\x6d\\x2e\\xec\\x99\\x57\\xa0\\x01\\x23\\x9e\\x8e\\xa7\\x06\\xe8\\x8a\\xf3\\xeb\\xb9\\x0d\\x60\\xdb\\x67\\x8c\\x7f\\xf7\\xb1\\xfc\\x0c\\x36\\xe5\\xce\\x75\\x63\\x60\\x6b\\xa0\\x17\\xbd\\xee\\x7c\\x35\\xbd\\xaf\\x75\\x4f\\xeb\\x8d\\x11\\x7b\\x13\\x23\\xcb\\xff\\x04\\x2d\\x51\\xe0\\x33\\x5a\\xba\\xc0\\xd7\\x60\\xfa\\x44\\xeb\\x3d\\xad\\x77\\xd1\\x92\\xf3\\xeb\\xe9\\x8a\\x48\\x19\\xcc\\xca\\x5c\\xaf\\xe0\\xe8\\x5c\\x82\\x3f\\x87\\x04\\x7a\\x3d\\x47\\x71\\xbe\\x10\\x57\\xb0\\x1c\\xb5\\xac\\x3d\\xe7\\x0a\\x77\\xca\\xf1\\x0a\\x86\\x86\\x12\\x29\\x11\\x59\\xfd\\xd5\\xa2\\xa0\\xc2\\x1a\\x01\\x0b\\x5a\\x1d\\xfb\\x14\\x89\\x5a\\xa5\\x02\\xb6\\x44\\xc8\\x7c\\x10\\x64\\x07\\x0d\\x85\\x03\\x72\\x0b\\x2d\\x85\\xc1\\x4e\\x3e\\x86\\xdb\\xed\\x8c\\x92\\xfd\\x1a\\x08\\x6a\\x28\\xbe\\xbe\\x4a\\x1a\\x00\\xcf\\x54\\xc1\\x71\\x49\\x25\\x9d\\xe6\\x8e\\x25\\xf0\\x6b\\xf8\\xad\\xd6\\x1e\\xf0\\xb1\\x94\\x24\\x59\\xe0\\x3b\\x6e\\x67\\x74\\x3b\\xba\\x8d\\x76\\xa7\\x99\\x88\\x5b\\x30\\xb1\\x36\\x8c\\x57\\xab\\x4d\\x08\\xf9\\x92\\xf5\\x36\\xb9\\x0d\\xf5\\x7a\\x4a\\xdd\\x72\\x1b\\x52\\xa4\\xd8\\xa1\\xc5\\xda\\x1e\\x5a\\xa3\\x26\\x8e\\x36\\x6e\\x07\\x9d\\x03\\x05\\x36\\x6e\\x5e\\xc7\\xcf\\x3f\\x45\\x6c\\x9f\\x6f\\xbf\\xf4\\xb5\\xa5\\xcb\\x5e\\x5f\\xba\\xf4\\xb5\\xe5\\xcb\\x5e\\xbd\\x74\\x6a\\xe9\\xfe\\xb2\\xd2\\xbb\\xcb\\x4b\\xef\\x2d\\x2d\\xb9\\xbb\\x14\\x97\\xf3\\xdf\\xdf\\x60\\xb7\\x2e\\xbd\\xf4\\xd5\\x65\\xa5\\x77\\x97\\xcc\\xbb\\xa7\\x94\\xdd\\x29\\xe5\\x81\\xf8\\x50\\x15\\x9a\\x4a\\x2b\\xe8\\x44\\x26\\x55\\x46\\xb6\\xaa\\x4e\\x62\\x2b\\xea\\x5c\\xb6\\x9a\\x2e\\x62\\x2b\\xe9\\x71\\x6c\\x15\\x3d\\x97\\xad\\xa0\\xeb\\x58\\x7f\\x59\\xc5\\x66\\x15\\x7d\\xc6\\x57\\x55\\x4d\\xae\\xe9\\x73\\xe9\\xa5\\xfd\\x57\\x74\\xab\\xaf\\xcf\\x6e\\xf2\\xcd\\x9b\\x97\\x5a\\xae\\x1e\\x31\\x42\\x3f\\x06\\x85\\x42\\x74\\xa8\\x29\\x2f\\xcf\\xd6\\xab\\xd7\\xd0\\x31\\xe5\\x4d\\x2b\\x6a\\x54\\xf1\\xd3\\x67\\xb9\\xe3\\x67\\xc5\\xaf\\x5e\\x73\\x49\\x73\\x43\\xf3\\x51\\x70\\x3d\\x12\\x1e\\xd5\\x50\\x7c\\xd9\\xb2\\xcb\\xe4\\xe4\\xe0\\x65\\xbd\\x6b\\x17\\xd4\\xca\\xc9\\xc0\\x02\\xef\\x9c\\x19\\x73\\xe4\\x64\\xc2\\x0c\\xc7\\xd4\\x89\\x53\\xe5\\xa4\\x65\\xa2\\x38\\xb0\\xef\\x40\\x39\\x89\\xfb\\x1a\\x72\\xba\\xe7\\xb0\\x64\\xc8\\x11\\xd6\\x76\\x6f\\x58\\xb6\\x60\\xc6\\xc4\\xbe\\xdd\\xbb\\xf7\\x9d\\x38\\x63\\xc1\\xb2\\x06\\x55\\x69\\x7a\\x29\\x1b\\xbf\\x5d\\x87\\xc2\\xa5\\xe9\\xe9\\x29\\x2c\\xf1\\x50\\x38\\xdd\\xf4\\x97\\xa3\\x80\\xb9\\xed\\x8e\\x0c\\xff\\x5b\\x9f\\xed\\x2d\\xec\\x2c\\x8c\\x75\\xa9\\xf6\\x37\\x1f\\xdc\\xce\\xd6\\x9f\\x92\\xdf\\x2b\\x18\\xc8\\x50\\xbe\\xad\\xca\\xb7\\x53\\xf9\\x8e\\xde\\x57\\x75\\xb9\\xee\\xfa\\xdd\\xf5\\x7e\\xd7\\xeb\\xb4\\x2e\\xf0\\xa3\\xf8\\xc8\\x47\\xbd\\xfa\\xf4\\xe9\\x75\\x0d\\xff\\xf8\\xbd\\x20\\xbf\\x20\\x3f\\x95\\xa7\\xa4\\x82\\xde\\xec\\xef\\x40\\x41\\x7e\\x7e\\x01\\x9e\\xc8\\x3f\\x5b\\x13\\xf8\\x0f\\x78\\x5d\\x7b\\xde\\xd6\\xfb\\x7b\\xf5\\xe9\\xdd\\x5b\\xce\\x0c\\x2f\\xf0\\x7b\\xd2\\x2c\\xfe\\xf9\\x3b\\xcf\\x7c\\x0d\\x4f\\x91\\x6b\\xd9\\x47\\x36\\xbb\\x92\\xde\\x28\\x28\\xc8\\xff\\x94\\x5d\\xc0\\x4e\\x96\\x98\\xc1\\x81\\xb5\\xb0\\x0f\\x78\\xb4\\x77\\xb0\\xb0\\x75\\x28\\x4b\\x5d\\xdf\\xab\\x57\\x1f\\xec\\x56\\x32\\x49\\x84\\x25\\xce\\xf2\\x62\\x6f\\xf5\\xe9\\xd5\\xa7\\x3b\\x4b\\xc8\\x67\\xad\\xb6\\xd0\\x24\\xf2\\x27\\x8a\\x63\\xfd\\x53\\x4b\\x0d\\x46\\x55\\x4c\\x5c\\x09\\xd9\\x23\\x8f\\x0d\\xf9\\x53\\x10\\x3f\\x16\\x87\\x2b\\x6b\\xdf\\x6b\\x90\\xa4\\x23\\x8f\\x48\\x52\\xdd\\x3b\\xe4\\xcf\\xa6\\xf7\\x17\\x1c\\x91\\x24\\x20\\x8f\\xd4\\xbc\\xd5\\xc2\\xfa\\x0f\\xf7\\x0b\\x78\\x17\\x5d\\x27\\x5b\\x53\\x7b\\x43\\x7a\\xaa\\x67\\x0a\\xc8\\x0e\\x36\\x13\\x5b\\x4e\\x33\\x80\\x0c\\x64\\xf4\\x59\\x1c\\x37\\xc7\\x4b\\x36\\x43\\x97\\x1e\\x92\\x46\\xd7\\x5d\\xa0\\xcd\\x2f\\xb5\\x34\\x9f\\x6c\\x6e\\x3e\\xc1\\x3e\\x97\\xd0\\x75\\xe7\\x57\\xe2\\x41\\xcd\\x27\\x9a\\x59\\x9a\\xfd\\xd8\\xc2\\xbd\\xdb\\xc6\\xe2\\xf0\\xcb\\x5e\\x4f\\x6d\\x7a\\xb7\\xcd\\xcd\\x30\\xa5\\x41\\xaa\\xda\\x07\\xa6\\x78\\x86\\xeb\\xd4\\xcb\\xec\\xbf\\xcb\\x03\\x6a\\x19\\x63\\x97\\x3e\\x9a\\x71\\x11\\x0a\\x26\\x94\\xde\\x53\\x52\\xc2\\x3a\\xa0\\xfc\\x39\\xf6\\xaf\\xe4\\xb4\\xdf\\x63\\x9f\\xb1\\xa4\\xb1\\x31\\xa0\\x16\\x36\\x90\\x39\\x64\\x09\\xe3\\xa3\\x8b\\xeb\\x0f\\x9b\\xca\\xc0\\xba\\x6d\\x42\\x22\\x71\\xca\\xfa\\x83\\x68\\x43\\x5a\\xb3\\xac\\x3f\\xb4\\x17\\x1d\\x03\\x64\\xcb\\xbf\\x88\\xe7\\x32\\x67\\xa7\\x13\\xbd\\x64\\xce\\x75\\x25\\x43\\xeb\\x87\\xee\\xac\\x98\\x3f\\x7c\\xd4\\x98\\xca\\xe2\\xe2\\xca\\xd2\\x51\\x63\\xe7\\xe2\\x95\\x0b\\xaf\\x1a\\xd4\\x30\\x6c\\xfe\\xf6\\x51\\xc3\\xe7\\x17\\x57\\x56\\x16\\x0f\\xaf\\xa8\\x96\\x7d\\xc6\\x24\\x22\\x4c\\x1f\\xa4\\xbb\\x65\\x1d\\x96\\xc5\\x34\\xc5\\x30\\xb4\\x22\\x64\\x4b\\xf7\\x65\\x07\\x8a\\x02\\xbe\\x61\\x14\\x31\\x9d\\x36\\x9c\\x29\\xb5\\xe2\\x81\\x7d\\x8e\\xb6\\x9d\\x39\\xa2\\x89\\x1b\\xd1\\xa7\\x4f\\xbf\\x7e\\x83\\xe4\\xd9\\x71\\x7e\\xa6\\x3f\\x93\\x3f\\xc0\\x30\\x85\\x73\\xfd\\xfd\\x42\\x7a\\xd3\\x88\\x7e\\xfe\\x7e\\x7e\\xd6\\x88\\x36\\xf9\\xe4\\x92\\xac\\xfa\\xd8\\x97\\x1e\\xe5\\x9e\\x88\\x75\\x44\\xd1\\xee\\x1f\\x86\\x69\\xc3\\x8e\\xc7\\x1b\\x8a\\x97\\x06\\xae\\x15\\x23\\x07\\x79\\xed\\xca\\xc1\\xde\\xae\\x5a\\xb1\\x40\\x39\\x97\\xcd\\x8d\\xe1\\xd3\\x62\\xd2\\xa0\\x9c\\xbc\\x94\\x79\\x92\\x91\\x78\\x33\\x98\\xf6\\xec\\x01\\xe3\\x9e\\x9b\\xa5\\x1f\\xf6\\xec\\x91\\x7e\\xb8\\xb9\\xe8\\xca\\x9f\\xaf\\xba\\xf2\\xe7\\x2b\\xaf\\xfc\\x89\\x7d\\x5e\\xf5\\x4d\\xa6\\xc7\\xd3\\xbd\\xbb\\xc7\\x93\\x09\\x0f\\x47\\x53\\x52\\x55\\xdf\\x95\\x97\\x8c\\x5f\\x51\\xd8\\xb7\\xfe\\x95\\xe1\\x8d\\xd3\\x72\\xf0\\xd8\\x3d\\x60\\xba\\x39\\x5a\\x98\\x03\\x63\\xc5\\xae\\xfa\\xe5\\x0a\\x5e\\xfe\\x97\\xb8\\x48\\x91\\x68\\xd1\\x4c\\xe9\\xa7\\x4b\\xfa\\xf6\\x1b\\xdb\\xf3\\xc1\\x6e\\x43\\x87\\x21\\x1a\\xc3\\x4f\\xee\\x11\\x3d\\x1f\\x95\\x86\\xac\\xee\\x14\\x87\\xa9\\x9b\\x29\\x25\\x87\\xaa\\x91\\xba\\x00\\xf5\\x4e\\xb2\\xba\\xac\\x91\\x67\\x94\\x69\\xae\\xdc\\xfc\\xfc\\x40\\x20\\x9b\\xaf\\x4e\\xec\\x61\\xa3\\x0b\\x8c\\x8c\\xeb\\xe3\\x02\\x75\\x81\\x55\\x01\\xc1\\x15\\x70\\x05\\x38\\xf3\\x9e\\xe5\\x87\\xbc\\x67\\x2b\\x07\\xf8\\xa3\\x4a\\xad\\xc3\\x51\\xe4\\xc5\\x78\\x16\\x39\\xb0\\x1f\\x39\\x4e\\x23\\xc4\\xa4\\x81\\x5b\\x72\\x16\\x64\\xc8\\xc7\\x6e\\xfe\\xca\\x22\\xc8\\xba\\x08\\x5b\\x72\\x7a\\x4c\\x6b\\x18\\xf9\\x4a\\x7d\\x5f\\xc6\\x9d\\x71\\x2b\\x0b\\xff\\xc2\\x16\\xe8\\x1d\\xc3\\x07\\xfe\\x2d\\x6d\\x1a\\x3a\\x34\\xf3\\xc1\\x9e\\x9c\\x21\\xac\\x7f\\x27\\xb4\\x6d\\xa4\\x0f\\x51\\xaf\\xec\\x19\\x7e\\x6e\\xc8\\xda\\x2d\\x35\\x39\\x99\\xe4\\xc4\\x99\\x4c\\x4e\\x51\\x4c\\x20\\xa4\\x57\\xbe\\x33\\x8b\\xc9\\x08\\x5b\\x21\\x39\\x9d\\xa6\\xe4\\xd4\\x64\\x59\\x5e\\xc4\\x9e\\x91\\x13\\x50\\xa4\\x5e\\x04\\x51\\x8c\\x4b\\x4a\\x85\\x54\\x94\\x3b\\x3b\\xc8\\x0d\\x93\\xb3\\xa2\\x0f\\x10\\x3a\\x79\\x0a\\x0f\\x2a\\x16\\x02\\x56\\x67\\x6f\\xee\\xc4\\xc4\\xc1\\x43\\xbe\\x38\\xf8\\xe6\\x8f\\xc8\\x23\\xbf\\x44\\x3c\\x9c\\x64\\xa8\\x32\\x0a\\xd2\\x33\\x64\\x77\\x17\\x19\\xd6\\x18\\x86\\x9c\\xd9\\x37\\x6d\\xfe\\x88\\xca\\x69\\x77\\x04\\xef\\x28\\xd6\\x7c\\xf9\\xa5\\x76\\x18\\x4b\\x4c\\xab\\x1c\\x31\\x7f\\xda\\xbe\\xe0\\xbe\\x61\\xda\\x2f\\xbe\\xd0\\x14\\xef\\xbb\\xe9\\x8e\\x4b\\x2f\\xbd\\x63\\x7f\\x73\\xf3\\x7e\\x72\\xc5\\x1d\\xc3\\xb4\\x5f\\x7e\\xa9\\x29\\x8e\\xc9\\x53\\xac\\xf9\\xe2\\x0b\\xed\\x30\\x96\\x88\\x40\\x91\\x96\\x35\\xef\\xe7\\x59\\xf7\\xcb\\x76\\x24\\xfd\\x51\\x31\\xb9\\x9a\\x5e\\x83\\x1c\\x28\\x85\\xc9\\x80\\xc3\\xe9\\x10\\x8c\\x56\\x2b\\xd8\\x3c\\x66\\x9d\\x4e\\xb0\\x11\\x7f\\xaa\\xcd\\xe2\\x40\\x0e\\xbe\\xcd\\x1b\\x36\\xb2\\xec\\x38\\x81\\x57\\x5b\\x17\\x36\\xb0\\x92\\x7a\\x82\\xd5\\x6a\\x9f\\xdc\\xf1\\xd5\\xf2\\x34\\x54\\xf6\\xe0\\x10\\x50\\x24\\x20\\x1a\\x1b\\xc1\\x59\\xd8\\xa9\\xfa\\x6c\\x25\\x12\\xf5\\x62\\xc8\\xfd\\xf2\\x71\\x87\\x85\\x7c\\x79\\x13\\x5b\\x5b\\x98\\xfe\\x55\\xc3\\x35\\x07\\x97\\x2f\\x3f\\x78\\x4d\\xc3\\x57\\x5f\\x8d\\xf8\\x2a\\x7b\\xfd\\x9c\\xb9\\xeb\\xd6\\xcf\\x99\\xb9\\x09\\x2e\\xfd\\x97\\xe1\\x9e\\xfa\\xe5\\x07\\x0f\\x2e\\xaf\\xbb\\xc7\\xf8\\xaf\\x11\\x5f\\x7d\\x85\\xfb\\xce\\x59\\xbf\\x71\\xd6\\xec\\x0d\\x6b\\xf9\\x1c\\x67\\x1f\\x6a\\xa0\\x94\\xbc\\x8e\\xec\\x28\\x19\\xd5\\x84\\xe2\\x1d\\x28\\x4e\\x54\\xab\\xf5\\x3a\\x9d\\x41\\x40\\x6e\\x13\\x32\\xa5\\xf8\\x05\\x03\\xb1\\x5a\\x5d\\x9c\\x7c\\x57\\x38\\xcf\\x0a\\x56\\x22\\xc6\\xe9\\x54\\x21\\x6e\\x6b\\x9d\\xab\\x26\\x1a\\xa2\\x56\\x13\\x92\\x24\\x57\\x86\\xa0\\x0e\\x6b\\xfc\\x84\\x93\\x27\\x0a\\x0b\\x4d\\xcf\\x2a\\x7e\\xcb\\x3a\\xfb\\x72\\x55\\xce\\x80\\x58\\x65\\xc5\\x06\\xb9\\x90\\xec\\x34\\xe7\\x02\\x28\\xfd\\xbc\\x20\\xa6\\x42\\xfb\\x0e\\x2e\\xaf\\x9c\\x00\\xf0\\x09\\x86\\xd1\\xce\\x02\\x9b\\xd4\\x16\\xe2\\x95\\x1b\\xd1\\x5e\\xad\\x9b\\x96\\x1f\\x0c\\x01\\xd8\\x0a\\x9c\\xd2\\x61\\xfc\\x89\\xd4\\x36\\xa1\\x92\\x57\\xb1\\xbd\\x66\\x7c\\x9e\\x59\\xc9\\xc6\\x86\\x4a\\x7a\\x2f\\xab\\x59\\x5e\\x28\\x41\\x6f\\x17\\x4d\\x76\\x73\\xa2\\x90\\xe2\\xd7\\xc4\\xeb\\xed\\xf6\\xa4\\xf8\\xdc\\xf8\\xa2\\x78\\x12\\x1f\\x6f\\xe2\\x93\\xcf\\xc2\\xdc\\xd9\\xca\\xd1\\x7b\\x99\\xf1\\x5c\\xfb\\xf2\\xe3\\x10\\x11\\x9a\\x32\\x18\\x4d\\xf6\\xe4\\x7c\\x46\\x56\\xd4\\x45\\x46\\x01\\x53\\x58\\x78\\xf5\\xd6\\x45\\x6b\\xab\\x37\\x97\\xf5\\x5f\\x9f\\x76\\x70\\x7b\\xab\\x6f\\xfb\\xc1\\xf4\\xf5\\xfd\\xca\\x37\\x95\\x6d\\x5e\\xb4\\x95\\xde\\x3b\\xf5\\xad\\xa9\\x95\\xd7\\x8d\\xab\\x59\\x5b\\x98\\xb5\\xe1\\xba\\x3e\\x7d\\xae\\xdb\\x90\\x55\\xb8\\xb6\\x66\\xec\\x8e\\x45\\x53\\xde\\x99\\x22\\xd3\\x55\\xc2\\xe8\\x5a\\xc8\\xe8\\xea\\xce\\xe9\\x32\\x27\\xe8\\xec\\x09\\x0e\\x9f\\x90\\x95\\x6d\\xf0\\x98\\x13\\x12\\xb8\\x5b\\xb8\\x22\\x0f\\xf1\\x78\\xec\\x17\\xa7\\x4b\\x1e\\xad\\x44\\x55\\x41\\x54\\x31\\xfe\\x95\\xb8\\xa0\\x93\\x4b\\x0a\\x1f\\x9b\\xa7\\xac\\x18\\x3a\\x24\\x58\\xb0\\xe9\\xae\\xcd\\x65\\x03\\x36\\x2b\\x44\\xa6\\x6e\\x2a\\x2a\\xdf\\x74\\xd7\\xa6\\x82\\xe0\\x90\\xa1\\x2b\\xe8\\xbd\\x03\\x16\\x85\\x86\\x6c\\x48\\x25\\x5b\\x16\\xd7\\xac\\xed\\x97\\x19\\x21\\x35\\xb3\\xdf\\xda\\x9a\\x86\\xcd\\x24\\x75\\xc3\\x90\\xd0\\xa2\\x01\\x9c\\x87\\x6d\\x6d\\x8c\\x87\\x55\\x28\\x81\\xc7\\x1e\\xb2\\xc5\\xe9\\x05\\x9a\\xe8\\xd6\\xc8\\xf3\\x75\\x4e\\x52\\xcf\\x3c\\xa1\\x57\\x7a\\x46\\xf4\\x84\\x7c\\xc4\\xd5\\x36\\x27\\x90\\x18\\xb0\\x1d\\x8f\\x69\\x59\\xff\\xf5\\x90\\x86\\x50\\x78\\xbb\\x57\\xf4\\xee\\x98\\x1e\\x6a\\x18\\xf2\\x75\\x4d\\xb8\\x37\\x0c\\x7d\\x6d\\x0f\\x78\\x6e\\x2d\\x6e\\x08\\xad\\x2b\\x2b\\x5f\\x1b\\x6a\\x1c\\x76\\xab\\xf4\\xe9\\x86\\x8d\\x2d\\x3d\\x39\\x5f\\xd6\\x33\\x5c\\x23\\xd8\\x5a\\x45\\xc7\\xd7\\x05\\xa2\\x3e\\x4e\\x4b\\x23\\x78\\x22\\x47\\xca\\x2c\\xd6\\xa0\\xc5\\x6a\\xc7\\xc4\\x8f\\xd7\\xff\\xf1\\xa9\\xfe\\xd3\\x3f\\xf8\\x07\\x9e\\x42\\xc0\\x2d\\xbb\\x00\\x3e\\x4b\\xa4\\xb3\\xd2\\x71\\xe8\\xcb\\xd7\\x6a\\x09\\x28\\x9e\\xdc\\x4d\\x2b\\x91\\x1b\\xa5\\x86\\x8c\\x16\\x95\\x2a\\x8e\\xb8\\xe2\\x5c\\x1e\\xaf\\x68\\xe5\\x01\\x02\\x73\\x83\\x27\\x73\\x83\\x9d\\x1d\\x86\\xcb\\x4e\\x09\\x32\\xcc\\x1d\\x51\\x4e\\x9c\\xe6\\xa0\\xd2\\xfc\\x2a\\x62\\xf3\\x67\\xd6\\xce\\xd8\\x3c\\x75\\xd8\\xcc\\x2d\\x93\\xfa\\x76\\x4f\\xd7\\x2f\\x9d\\x36\\xb6\\x20\\x0f\\x4c\\xe9\\x8d\\x83\\xaa\\xee\\xf0\\xb6\\xde\\x33\\xb4\\x6c\\x68\\x9f\\x41\\xe5\\x4e\\x32\\xb4\\x69\\x79\\xf8\\x8e\\xca\\x11\\x9b\\x83\\xbc\\x4f\\xd5\\xb7\\xbd\\x4e\\xfb\\xb3\\x39\\x09\\x7f\\xe6\\x75\\x59\\x68\\xb4\\xdb\\xa1\\xd3\\x99\\x3d\\x6a\\xb5\\xcb\\xec\\xf2\\x25\\x6f\\xd1\\x82\\xd6\\xbd\\xd9\\x0d\\xf3\\xdd\\x30\\xd9\\x0d\\xee\\x2d\\x1a\\xd0\\x78\\x32\\x3c\\x60\\xf7\\x00\\xf5\\x80\\x27\\x7e\\x69\\xd2\\x96\\x24\\x9c\\xe4\\x6c\\x71\\x6e\\x72\\xe2\\xa9\\x4e\\x70\\xc6\\x23\\x51\\xb4\\x6d\\xf1\\x82\\x37\\xde\\x50\\x64\\x03\\x1b\\xd3\\x95\\x8c\\xfa\\xd9\\x96\\x42\\x36\\x79\\x0a\\x72\\x17\\xc3\\xfc\\x5f\\xfe\\x56\\xbe\\x62\\xcf\\x61\\xca\\x27\\xfb\\xdb\\x6b\\x24\\x74\\xaa\\x5f\\x1a\\x3f\\x05\\x95\\x96\\x2f\\x90\\x39\\x91\\x8a\\xb5\\xfe\\x10\\xad\\x22\\xbe\\x72\\xb3\\xd4\\x17\\x9b\\x5a\\x7f\\xc8\\x96\\x6b\\x06\\x0f\\x4f\\x68\\xfd\\x38\\x5a\\xcb\\x21\\xe5\\x17\\xc6\\x0f\\x2d\\xc3\\xff\\x9e\\x70\\xe9\\x04\\x5e\\xcf\\x5d\\x6d\\x09\\xb4\\x40\\x38\\x21\\xd7\\x73\\x43\\xa8\\x38\\x1e\\x25\\x38\\x30\\x76\\x5b\\x49\\x92\\x45\\x14\\x8d\\x3a\\x55\\x9c\\x46\\xa3\\x62\\x0b\\xee\\x64\\x9f\\xd3\\x69\\x75\\xb8\\x3c\\x46\\x8b\\x57\\xef\\x4e\\x00\\xaa\\x4b\\x12\\xd4\\x7a\\x8b\\xc7\\x41\\x4d\\x71\\xea\\x24\\x9a\\x40\\x13\\x35\\xa6\\xb8\\x44\\x8d\\x26\\x31\\xce\\x44\\x6d\\x2a\\xc2\\x16\\x70\\xcf\\x1e\\x8f\\x7a\\xd8\\x73\\xfe\\xc5\\x3f\\x26\\x7f\\x05\\x72\\xbb\\x3a\\xda\\xeb\\xf0\\xb7\\xa7\\x32\\xfb\\x59\\x4d\\xfd\\x66\\xee\\xe2\\x85\\xbf\\x83\\xac\\xa6\\x41\\x73\\x81\\x5d\\x65\\x2e\\x10\\xd8\\x0d\\x5a\\xf0\\xfa\\x3c\\xe9\\xe9\\x79\\xaf\\xb3\\xbf\\x79\\x30\\x90\\x7f\\x4b\\x2f\\x4b\\x4f\\xc3\\xde\\x52\\xf6\\xe1\\xbc\\x4e\\xba\\x01\\x8a\\xc2\\x0f\\x85\\xe1\\x8b\\xd9\\x0f\\xcd\\x86\\x42\\xe9\\xbb\\x9d\\xb0\\x48\\x7a\\xac\\xf4\\xa1\\x52\\xc9\\x5d\\xba\\x05\\xce\\xee\\x94\\xe2\\x99\\x8c\\x8e\\x62\\x7d\\xb7\\x54\\x18\\xc6\\xf4\\x65\\x59\\x28\\x60\\x37\\x9b\\x8d\\x6a\\xaa\\xd7\\x1b\\x45\\xad\\x36\\xce\\x0a\\xc6\\x38\\xa3\\xd3\\xa1\\x33\\x5b\\xcc\\xa5\\x61\\xb5\\x45\\x65\\x47\\xf6\\xd2\\x30\\x77\\x8c\\x66\\x41\\x46\\x6c\\xd4\\xcf\\x0d\\x1b\\x2d\\xdc\\x8d\\x59\\x8c\\x97\\xa7\\xbf\\xae\\x63\\x82\\x96\\xd8\\x63\\xbf\\x8a\\xdb\\xc3\\x0e\\x3f\\xed\\x8a\\xbf\\xb2\\x51\\x5b\\x20\\x03\\x16\\x4a\\xbb\\xf8\\x1b\\x57\\x5d\\x58\\xbc\\x65\\xcb\\x16\\xf2\\x27\\x8c\\x96\\x0e\\xff\\xf3\\xf1\\x7f\\xbe\\x77\\x16\\x9e\\xf8\\xe7\\xe3\\x11\\x3b\\xda\\x39\\x08\\x91\\x3a\\xd6\\x3e\\x56\\x34\\x39\\xd4\\xdd\\x6a\\x34\\x9a\\x21\\x2e\\x4e\\xcf\\x63\\x2e\\x30\\x92\\x6d\\x76\\x9d\\xd1\\x64\\x1c\\x1f\\x56\\x9b\\x54\\x56\\x64\\x1d\\xcf\\x08\\x65\\xda\\x1e\\xe1\\x38\\x3b\\x0f\\x31\\x52\\xa4\\x04\\x42\\xeb\\x4c\\x5f\\xd4\\xef\\x5c\\xe4\\x3b\\x62\\xa3\\xd2\\xe1\\xb5\\x38\\x42\\x1a\\xcc\\x59\\x0e\\xae\\x95\\xec\\x4f\\x3a\\xb7\\x7c\\xf9\\x72\\x46\\xd5\\xeb\\x52\\x0e\\xa3\\x4a\\x1a\\x12\\xa1\\x0a\\xda\\xbe\\x51\\xf8\\x97\\x80\\x46\\x87\\xe2\\xac\\x86\\xf8\\x78\\x9d\\x88\\x90\\x2b\\xd1\\xed\\x34\\xca\\x6e\\x07\\x75\\x38\\xe2\\x6b\\x59\\xd4\\x59\\x9c\\x4e\\x8b\\x4e\\xa4\\x48\\x4f\\x50\\xfc\\xdc\\xa8\\xb7\\xfb\\xa8\\xf3\\xc5\\x0e\\xaf\\x38\\x11\\x31\\x0f\\x9a\\x95\\x30\\x9a\\xfd\\xf8\\x39\\xd1\\x48\\x1c\\x4d\\xd9\\xc1\\x9b\\xfd\\x0d\\x75\\xf7\\x0c\\x61\\x8b\\x3a\\x7b\\xda\\x28\\x0b\\x64\\xa8\\xbb\\xe5\\xc4\\x6d\\x52\\x2d\\x9e\\x6f\\xc5\\x55\\xf8\\xad\\xc0\\xc8\\xcb\\xaa\\x8a\\xe0\\x78\\xeb\\x93\\x81\\x91\\x37\\x6f\\x96\\x2e\\x3f\\x1b\\x39\\xef\\x87\\xe4\\xb8\\x8c\\xdc\\x8f\\x4f\\x22\\x1a\\x1f\\xca\\x8c\\xb7\\x09\\x82\\x56\\x2d\\x3a\\x8c\\x46\\x24\\x22\\xb7\\x27\\x9e\\xce\\x0d\\x3b\\xd5\\x1a\\x75\\x69\\xd8\\xa6\\x89\\x67\\x2f\\x51\\xa7\\xb3\\xce\\x0d\\xeb\\x88\\x68\\xf9\\x6b\\xc3\\x66\\xc5\\x7a\\x12\\x51\\x46\\x71\\x1b\\x8d\\x7a\\x9d\\x33\\x27\\xfb\\xa8\\xc0\\x7d\\xeb\\xca\\x43\\x39\\x3f\\xd1\\xd9\\x2c\\x7d\\xff\\xe3\\x73\\xd2\\x7b\\x9b\\x37\\xc3\\x19\\x00\\x88\\x93\\xde\\x59\\xb7\\x6e\\xf7\\xdb\\x6f\\xef\\x5d\\xbf\\x8c\\xdc\\xf8\\xf2\\x8f\\x52\\x2a\\xc9\\x7d\\x09\\x46\\xbf\\xf7\\xf6\\xa2\\xd9\\x95\\x2f\\xd5\\x2f\\x8a\\xd0\\xba\\x45\\x9a\\x46\\x5f\\x62\\xb4\\xc6\\x23\\x1f\\x9a\\x12\\xca\\x72\\xba\\x5c\\x36\\xaf\\x86\\x10\\xa3\\x31\\x39\\x3e\\xde\\x66\\x4b\\x71\\x62\\xaf\\x17\\xcf\\x0d\\x7b\\xbd\\xc8\\x64\\xf2\\xcc\\x0d\\x9b\\x88\\x5a\\xd4\\x8b\\xf3\\xc2\\xfa\\x44\\x64\\x51\\x62\\x60\\x75\\x76\\x7f\\xd2\\xc9\\xa0\\x36\\x22\\x7f\\xc9\\xe0\\x37\\xdb\\x94\\xc3\\x82\\xb2\\x67\\x64\\x46\\x35\\xd7\\x8a\\x9a\\xa8\\xfb\\x64\\xb2\\x4a\\xfa\\xe8\\x40\\xfe\\x00\\xef\\xd0\\xd4\\x65\\xfe\\xbb\\xb7\\xc3\\x77\\xa0\\x06\\xf1\\x9a\\x75\\x30\\x5b\\xda\\xbe\\x62\\xf3\\x5d\\x0f\\x5c\\xc0\\xa4\\xf5\\xd4\\xb8\\xb1\\x71\\x9f\\xab\\xf5\\x0f\\x3c\\x27\\x2c\\x7d\\xe5\\x9f\\x5b\\x9e\\x6a\\x77\\xed\\xcb\\xe6\\xd2\\x0b\\x22\\xb1\\xe0\\x65\\x8f\\xbd\\x01\\xb6\\x36\\xd9\\x19\\x9a\\x90\\x81\\xba\\xe7\\x65\\xf6\\xec\\x2d\\x18\\x4d\\xa6\\xb8\\x82\\x1e\\x3d\\xf2\\xe3\\x44\\xa1\\x67\\x1e\\x52\\x5b\\x73\\xb4\\xc4\\x45\\xfa\\x24\\x5b\\xad\\x85\\x7d\\x32\\x12\\x7b\\x0b\\x42\\xcf\\x09\\x61\\x21\\x93\\xbd\\x35\\x82\\xc6\\xab\\xf7\\x3a\\x26\\x84\\xbd\\x0e\\x53\\xfe\\xc4\\xb0\\xc9\\x68\\x40\\x7a\\x71\\x42\\x58\\x6f\\xea\\x9e\\x87\\xf2\\x26\\x46\\xbc\\xbc\\x28\\xde\\xc3\\xe2\\x8b\\xba\\x78\\x8c\\x52\\x8e\\x93\\x44\\xce\\x5c\\x75\\x38\\x43\\x8e\\x7d\\xb1\\xf1\\x8d\\x0d\\xa6\\xa6\\x34\\xab\\x01\\x54\\x69\\x96\\x64\\xa7\\x35\\x48\\x1c\\x2e\\x50\\x38\\x42\\xf8\\xf0\\xcb\\x7d\\xaf\\x11\\x3f\\x7b\\xb3\\x41\\x44\\x90\\xe3\\x08\\xf4\\xca\\x50\\x15\\x40\\xd3\\x65\\x57\\xc2\\xad\\xfd\\x07\\x0f\\x54\\x49\\x1f\\x14\\xc0\\xd5\\x86\\x69\\xb7\\xcf\\xfa\\x35\\x33\\xcf\\xe7\\x75\\x75\\xeb\\xd6\\xc3\\xbb\\xa0\\x42\\x2b\\x66\\x2f\\x9e\\x30\\xe7\\x76\\x78\\x7d\\xce\\xf0\\xd1\\x33\\xa4\\x3b\\x12\\xfa\\x4d\\x81\\x99\\xd6\\x6e\\xfd\\x8c\\xe6\\x7d\\x57\\xc2\\x04\\x0d\\xe8\\x84\\xd1\\x23\\x0c\\x30\\x08\\x60\\x95\\xb4\\x60\\x8c\\xf4\\x91\\x74\\xe9\\xcc\\x61\\xe2\\x6e\\x51\\x2b\\xd2\\xaa\\x8a\\x71\\x55\\x56\\x69\\x1e\\xd9\\x83\\xa5\\xe3\\xce\\xed\\xb3\\x9b\\x87\\xa7\\x83\\x98\\x0c\\xaa\\x51\\x3d\\x1f\\xe6\\x86\\x5e\\xa8\\x9a\\xf1\\x73\\x25\\xe3\\xa7\\x97\\xcd\\x78\\x66\\x85\\x72\\xb4\\x3e\\x9f\\x4d\\xa3\\x77\\xb9\\xdd\\x5e\\x7d\\x92\\x68\\x30\\x24\\x02\\xe3\\x94\\x3f\\x25\\x31\\xd1\\x69\\x1e\\x1f\\x76\\x3a\\x28\\xc5\\x6a\\x94\\x1c\\x07\\x18\\xc6\\x87\\xb5\\x22\\x36\\x76\\x98\\xf0\\x70\\xff\\x29\\x11\\x0b\\xeb\\x98\\x3e\\x16\\x95\\x8b\\x48\\xcf\\x67\\x02\\xcc\\x54\\x53\\x50\\x3e\\x55\\xe9\\x87\\xe8\\xb9\\x51\\xee\\xf9\\xd3\\x0f\\xe9\\xf9\\x50\\xe0\\x87\\x11\\xfb\\x0f\\x4f\\x7f\\xe0\\xe9\\xc7\\x6e\\x7f\\xcc\\xdd\\x24\\xfd\\x22\\x4c\\x9e\\xbc\\x62\\xdd\\xd6\\xe6\\xd0\\xb6\\x19\\xaf\\xdf\\x0e\\x34\\x03\\xe2\\x17\\x2e\\x24\\x2b\\x8e\\xf1\\xd0\\x30\\xb0\\x43\\xaa\\x3d\\xd6\\xfa\\xd8\\xe8\\xc2\\xc4\\xc7\\x9c\\x9a\\x2c\\xa9\\x10\\x07\\x47\\xae\\x84\\xa1\\x5f\\x44\\xe6\\x6f\\x97\\x4b\\x55\\xf4\\x2e\\x26\\xdf\\x46\\x54\\x1d\\xea\\x15\\xa7\\xd7\\xaa\\x8c\\x46\\xa2\\xe7\\xfb\\xb9\\x7a\\x62\\x36\\x89\\x30\\x2f\\xfc\\x0f\\x11\\xee\\x15\\xe1\\x52\\x11\\xfa\\x8b\\x40\\x72\\x45\\x88\\x13\\x41\\x47\\xd9\\xd8\\x43\\x8d\\xda\\x79\\x4c\\xdd\\xc6\\x1d\\x85\\xde\\x87\\xd4\\x94\\xf0\\x41\\xa5\\x28\\x58\\x14\\xe3\\xb6\\x68\\xf6\\x5c\\xee\\x83\\x24\\xa6\\x87\\xb6\\x9f\\xfb\\x81\\x8e\\x30\\x64\\xdc\\x20\\xd9\\x4f\\xdc\\xd2\\x2e\\xe9\\x3d\\xae\\x6f\\x21\\xa3\\xe2\\xcf\\x1d\\x78\\x60\\xeb\\xd3\\xc2\\xb0\\xd6\\x6f\\xb1\\xf5\\xfc\\xc1\\xd6\\x26\\xd8\\x2d\\xd3\\xb9\\x8d\\xd1\\xf9\\x0c\\xe3\\x7b\\x02\\x2a\\x0e\\xf9\\xb5\\x9a\\x04\\xd6\\xf9\\xb8\\xa3\\x5b\\x8d\\xc6\\xee\\x4e\\x74\\x20\\xbb\\x1d\\x99\\xb4\\x7a\\xbd\\x6a\\x7c\\x58\\x6f\\x27\\xa6\\x89\\x61\\x62\\x6a\\xb7\\xb4\\x36\\x1d\\x37\\x07\\xa3\\x0e\\xdb\\x38\\x05\\xed\\x7e\\xda\\x94\\x90\\x25\\x32\\x05\\xd1\\x03\\xd2\\x9c\\x24\\x9b\\x0a\\xf6\\x15\\xde\\xd7\\x72\\xd7\\x5d\\x8d\\x3f\\xde\\x30\\x61\\x56\\x25\\xd3\\xb2\\xe0\\x52\\x93\\xd2\\x15\\xf5\\x27\\xdf\\x90\\x4c\\xad\\xf7\\xc0\\x6e\\xbc\\xe8\\xba\\x96\\x83\\x5b\\x5a\\x9f\\x10\\x4e\\x48\\x0b\\x17\\x55\\x31\\xda\\x36\\x33\\xda\\x4e\\xca\\x3c\\x1c\\x1c\\x4a\\xd4\\xc4\\xc5\\xa9\\x3b\\x18\\xa8\\x41\\x40\\x49\\x2c\\xab\\x54\\x9d\\x59\\xe5\\x8c\\xf5\\xbd\\x1e\\x1d\\x5e\\x39\\x15\\x90\\xac\\x01\\x99\\x34\\x9c\\xb3\\x4a\\xe6\\xcd\\x21\\x98\\x26\\xf5\\x82\\xe1\\xbb\\xff\\x2c\\x93\\xbd\\xed\\x32\\x06\\xdd\\x8d\\xa7\\xb5\\x3e\\xd1\\xfa\\x93\\xc2\\x22\\x46\\xc7\\x01\\x46\\xc7\\x95\\xb2\\xdf\\xb0\\xe2\\x50\\xaa\\x51\\x6b\\x50\\x53\\xaa\\xc3\\x58\\x30\\x18\\x04\\xb3\\x49\\xa7\\xc6\\x84\\x0a\\xa2\\xc6\\x28\\x22\\xc1\\x6e\\x04\\xd0\\x8f\\x8f\\xba\\xf2\\x31\\x1d\\x2f\\xe2\\xfc\\x71\\x16\\x76\\xe2\\x91\\xb2\\x8f\\xdb\\x99\\x1a\\x72\\x63\\x3f\\xe9\\xf4\\x52\\xce\\x10\\x58\\x0b\\x39\\xd2\\x7a\\xf0\\xd7\\xfd\\x08\\x5f\\x4d\\x96\\x16\\x08\\x27\\x2e\\xdc\\x0f\\x4f\\x49\\x33\\xa4\\xee\\xad\\xf7\\x44\\x68\\x99\\xc6\\x68\\x69\\x90\\xfd\\x28\\xf4\\x0b\\x79\\x04\\x00\\x0d\\x22\\xa2\\x16\\xd1\\x38\\xbd\\x46\\x54\\x89\\x73\\xc3\\x2a\\x42\\xb5\\x44\\x3b\\x37\\x4c\\x2c\\xc0\\xb8\\x12\\xa3\\x2a\\x63\\xdd\\x30\\x2a\\x56\\xcd\\xfc\\x98\\x83\\x1d\\x92\\x69\\xc3\\x9f\\x17\\x4e\\xe3\\x5b\\x5a\\x0f\\x90\\x3b\\x5b\\x4b\\xf0\\x0b\\x52\\x15\\xec\\x7e\\x8d\\x5c\\x75\\xee\\xe4\\x85\\xba\\xa8\\x1c\\xe7\\xd3\\xbe\\x0c\\x5f\\x9f\\x90\\x87\\xe8\\x74\\x2a\\x3e\\x04\\x03\\xd5\\xc7\\xa9\\xa8\\x40\\x27\\x85\\x05\\x23\\x56\\x83\\x7a\\x52\\x58\\xc7\\x2b\\x7d\\xfc\\xe2\\xc8\\x32\\x21\\x8a\\x8a\\xd5\\x74\\x68\\x6b\\x31\\xee\\xdb\\xfa\\x3d\\x99\\xd0\\xfa\\x22\\xae\\xfa\\xf1\\x79\\x7c\\xd7\\x4b\\x2f\\xb6\\xce\\x92\\x37\\xe4\\x31\\x1a\\xd1\\xf6\\x0d\\x1d\\x22\\xcc\\x60\\xe3\\x57\\x02\\xf7\\x94\\x84\\x2c\\x86\\x78\\xd1\\x20\\xba\\x13\\xf5\\x44\\x63\\x9f\\x1b\\xd6\\x50\\x62\\x2c\\xe1\\x7e\\xa2\\x2c\\xb1\\x07\\x29\\xa2\\xcb\\x33\\x1e\\x29\\x26\\x9f\\x4d\\x12\\x91\\xd9\\x84\\x92\\x03\\xce\\x02\\x36\\x79\\x62\\x23\\xa9\\x59\\xd9\\x79\\x22\\x8b\\x2e\\xbb\\xf5\\x57\\xe9\\x7b\\x48\\x02\\xe1\\xee\\xcb\\x56\\xf5\\x94\\x74\\x45\\x0b\\xfd\\x83\\x9b\\x97\\xac\\x6c\\x9e\\x50\\x01\\x35\\x30\\x1c\\x2e\\x81\\x45\\x65\\x97\\xfc\\xf9\\xf8\\x0b\\x81\\x3c\\xfc\\x7d\\xf8\\xfb\\xb3\\xa7\\xff\\x2d\\xf3\\x3a\\x09\\x21\\x61\\x0e\\xbd\\x84\\xcd\\x97\\x72\\x42\\x4e\\xad\\x46\\xe3\\xb0\\x3b\\xe3\\xd4\\x1a\\x2b\\x99\\x18\\xb6\\x9a\\x34\\x46\\x75\\xdc\\xa4\\xb0\\x5a\\xf1\\xda\\x54\\x14\\x1d\\x84\\x94\\x63\\x95\\x11\\x1f\\xd5\\x7c\\x67\\xde\\xea\\x70\\x16\\x81\\xec\\x4d\\xd8\\x49\\xff\\x74\\x65\\x7a\\xba\\xf5\\xb4\\x49\\xef\\x4a\\x0f\\x48\\xd5\\x90\\xf9\\x9a\\xb1\\x4f\\x4a\\xb7\\xcd\\xdd\\xb7\\x2f\\x5e\\xb6\\x91\\xf4\\xb3\\x98\\x33\\xfb\\xb4\\x12\\xda\\xb7\\x75\\x7b\\xe0\\x85\\xe6\\x35\\xb0\\x65\\xcd\\x8a\\xc9\\x11\\x1b\\x55\\x46\\xc3\\x14\\xc6\\x93\\x34\\x14\\x0c\\x25\\x24\\x65\\x68\\xd4\\xea\\x74\\x5f\\x8a\\x3b\\x65\\x6e\\xd8\\x4d\\x69\\x9c\\x83\\x98\\xcd\\x2a\\x35\\x01\\x95\\xec\\x2b\\x9f\\xa9\\x3e\\x67\\x61\\x51\\x8c\\x69\\x2e\\x17\\x34\\x92\\x41\\xb8\\xeb\\xb5\\xa0\\x95\\x2d\\x09\\x0a\\x7a\\x17\\x58\\x83\\x8c\\xa0\\x82\\xa8\\x7f\\x63\\xa7\\x4a\\x3e\\x41\\x4f\\x5e\\x3f\\x1b\\x32\\x8d\\xb2\\x5e\\x7e\\xf6\\x8d\\x3f\\xc2\\xa2\\x56\\xf0\\xd8\\xcb\\x0e\\x96\\x65\\x98\\xb0\\xa8\\x0d\\x58\\x16\\x2f\\x2e\\x2c\\xeb\\x5f\\x92\\x15\\x9f\\x90\\xa8\\x03\\xdd\\x00\\x08\\x8e\\x6b\\x7d\\x93\\xf5\\x90\\x91\\xb9\\xf7\\xe6\\xc6\\x5f\\x39\\x0e\\x26\\x49\\x07\\xae\\x99\\x97\\x78\\xeb\\x25\\x70\\xff\\xee\\x8d\\xdd\\x32\\x1e\\x4a\\x0a\\x0e\\x96\\x69\\xd6\\x31\\x9a\\xa7\\x32\\xbe\\xf9\\x51\\x41\\xc8\\xed\\x4e\\x63\\x9c\\x4b\\xa5\\x71\\x56\\xa2\\x36\\x79\\x7c\\x2e\\xdf\\xc4\\xb0\\xcb\\x64\\x32\\xa9\\x35\\x46\\xe0\\xcc\\x0b\\x46\\x14\\xb6\\x2c\\x31\\xce\\xc2\\x58\\xba\\xd3\\x33\\x8c\\x20\\x13\\xee\\xb0\\xf7\\xea\\xcd\\xc8\\x76\\xf6\\x6a\\x27\\x3a\\xc2\\x5d\\xf2\\xe1\\x99\\x6d\\x36\\x95\\xe8\\xbc\\xe6\\xf4\\x91\\xf7\\x27\\x59\\x93\\x76\\x1c\\xb8\\xd2\\x63\\x2f\\x70\\x94\\xce\\x29\\xae\\x0e\\x96\\xdb\\xdc\\xe6\\x64\\xbf\\x0e\\xde\\x09\\xa5\\x25\\x8c\\x93\\x7a\\x30\\xae\\xde\\xba\\x7b\\xa4\\x58\\x03\\xcf\\x49\\x85\\x8b\\x47\\x5e\\x0f\\x75\\xdb\\x1b\\x33\\xb3\\xee\\x35\\x5b\\x0a\\x06\\x46\\xe6\\x22\\x43\\xd9\\xbc\\xe9\\x6e\\x46\\xaf\\x8b\\x51\\x3c\\x31\\x94\\xeb\\x50\\xa9\\x92\\xe2\\xac\\x09\\x09\\x29\\x5a\\xa2\\x61\\x4c\\xd6\\x90\\xd4\\x34\\x93\\x7b\\x42\\xd8\\x64\\xd2\\xaa\\xc7\\x87\\x53\\xd8\\x78\\x9d\\xa2\\x65\\x9d\\x8e\\x88\\x68\\x52\\x58\\xb4\\x13\\x23\\x8a\\x6a\\x9c\\xac\\xe8\\xe1\\x97\\x8e\\xa9\\xbf\\xec\\xbd\\x37\\x6d\\xa0\\x1c\\x20\\x94\\xf0\\xb0\\xbf\\xe9\\x1d\\xfb\\x20\\x4e\\x87\\x93\\xf4\\x52\\xdc\\x1b\\xf7\\xc6\\xf3\\x8c\\x83\\xde\\x80\\x74\\x69\\xb6\\xf4\\xc0\\x3f\\x96\\x0e\\xb8\\x4c\\x9b\\xb4\\x73\\xcd\\x82\\x35\\x93\\x4b\\x7a\\x27\\x78\\xa7\\x07\\xdc\\x89\\x06\\xd3\\xe8\\x57\\xfa\\xbd\\x89\\x67\\x9d\\x3f\\x0e\\x3f\\xf4\\xd8\\xd3\\xdd\\x3b\\x75\\x7c\\xf3\\x96\\x65\\x95\\xb3\\x57\\x17\\x6c\\x1f\\xd7\\x88\\x67\\x8f\\x48\\xf3\\x78\\xbb\\xe7\\xf6\\x54\\xc6\\x1d\\x56\\x17\\xa7\\xec\\xb3\\xa5\\x28\\x94\\xc6\\xd5\\x25\\x22\\x1a\\x35\\x1f\\x6f\\x3e\\x14\\xe1\\x25\\x11\\x76\\x8b\\x30\\x4b\\x84\\xd1\\x22\\x74\\xe7\\x7b\\x58\\x44\\x51\\x9a\\xac\\x0d\\x22\\x9e\\xad\\xba\\x3e\\xc8\\xe3\\x2f\\xea\\x6c\\xbd\\x81\\x6b\\x4a\\x5c\\x19\\x1d\\x40\\xf8\\xfc\\x5c\\xc5\\xf0\\xa8\\x99\\x5e\\x50\\xa1\\x1e\\xa1\\x78\\x10\\x04\\x11\\x8b\\x1a\\x35\\xd0\\xf1\\xe1\\x55\\xb0\\x8d\\x8d\\xcb\\x20\\xaa\\x8c\\xa2\\x5d\\x01\\xdd\\xc5\\x4d\\x8c\\x1c\\x07\\x07\\x27\\xc3\\x39\\xc9\\x25\\x7d\\x4e\\xfb\\x4a\\x93\\x9f\\x94\\x7a\\x32\\x48\\x18\\x65\\xb2\\xfe\\x7f\\x3b\\x9d\\xc8\\x26\\x3e\\x3e\\x2e\\x39\\x71\\x5e\\xad\\xc9\\x24\\x3a\\xd9\\xe4\\x35\\x39\\xc5\\x96\\x30\\x21\\x6c\\x33\\x69\\x4c\\x5e\\x13\\x31\\x8d\\x0f\\x13\\x47\\xcc\\x99\\x89\\x18\\xf7\\xc1\\xdc\\xae\\x9a\\x75\\x7f\\x1f\\x32\\xf7\\xb2\\x70\\xa7\\xa0\\xb2\\x37\\x3f\\xce\\x70\\x8b\\xb2\\x07\\x6d\\x1e\\x08\\xf4\\x76\\x36\\x2b\\x39\\x2b\\x9d\\x92\\xce\\x1d\\x7f\\xc3\\x3e\\xbb\\xb2\\xbe\\xf6\\xde\\x7d\\x7b\\x9f\\xfe\\x3a\\xd4\\xaf\\xb0\\xcf\\xd2\\x46\\x9c\\x2f\\x7d\\x28\\x7d\\x00\\x09\\x90\\xf0\\x05\\x38\\x7a\\x3d\\x1c\\xff\\xe2\\x9e\\xc7\\x8e\\xa8\\xb1\\xf3\\xf8\\x09\\xe9\\xd4\\x6f\\x07\\x8e\\xd5\\x2c\\x6f\\xfd\\x5a\\x7c\\x01\\x61\\x28\\x45\\x63\\xc9\\x02\\xf2\\xa1\\x12\\xab\\xd0\\x48\\x11\\xf7\\xab\\xa0\\xd6\\x88\\x8c\\x52\\x1e\\x4c\\x3a\\x1a\\x8b\\x39\\xa6\\xd2\\xf9\\x69\\x76\\xf9\\x5d\\x8a\\xd5\\xad\\xff\\xc6\\x6a\\x9c\\xfd\\xcb\\x3f\\x7e\\x69\\xad\\x60\\x1f\\xf2\\xf9\\xa3\\x22\\xf2\\x38\\x7a\\x46\\x89\\x77\\xe7\\x0b\\xc5\\x51\\x41\\x50\\xb3\\x8e\\xaf\\x11\\x58\\x03\\x01\\xca\\x3d\\x59\\x98\\x1b\\x8c\\x39\\x7d\\x6b\\xf5\\x9b\\x83\\x84\\xcd\\x61\\x9e\\xb9\\xfc\\xf2\\x53\\xfb\\xf7\\x93\\xc7\\xb1\\x59\\xba\\xfb\\x26\\x59\\x8e\\xdb\\x0e\\x90\\xdf\\xe0\\x4e\\x25\\x86\\x62\\x4a\\xc8\\x20\\xc8\\x41\\xe2\\x80\\x4d\\x6b\\x31\\x66\\x8b\\x91\\x4e\\x80\\x2c\\x72\\xfc\\xe6\\xfc\\x20\\xc9\\x00\\xe7\\xe4\\xfd\\xfb\\xd3\\x4b\\xe0\\xd2\\x12\\x21\\xef\\x26\\xa9\\x7b\\x29\\x2c\\x29\\x63\\xb0\\xa4\\x7f\\xd3\\x99\\xa0\\xe9\\xa0\\x49\\x0e\\x06\\x27\\xaa\\xa9\\x06\\x88\\x4a\\x44\\xb9\\xc1\\x13\\x81\\x8e\\x19\\x77\\x04\\x92\\xd3\\x9e\\x9c\\xcf\\x20\\x1d\\x6e\\xfd\\x9e\\xc1\\xf9\\x76\\xfd\\x7a\\x04\\x0a\\x8c\\xc7\\x90\\xc0\\xfd\\x05\\x70\\x99\\x20\\x08\\xa9\\x04\\xee\\x51\\x22\\x78\\x22\\xa6\\x46\\x7c\\x70\\xc8\\x0f\\x82\\xa6\\xf5\\x7b\\xb8\\x62\\x23\\x9d\\xb9\\xfe\\x03\\x2e\\xc7\\x6d\\xa4\\x95\\x9c\\x54\\x0d\\x45\\x1a\\xce\\x61\\x4c\\x88\\xc0\\xa0\\x68\\x75\\x3c\\x84\\xa9\\xba\\x3d\\x84\\x69\\xfb\\xb8\\x2a\\x0b\\xab\\x3c\\xa4\\x05\\x81\\x9c\\x94\\xbe\\xba\\x55\\xfa\\x12\\x26\\xa6\\xc2\\x74\\xe1\\x94\\xe4\\x83\\x33\\x6e\\xb6\\xbc\\x3c\\xf4\\x17\\x98\\x6a\\x81\\xdb\\x66\\x32\\x98\\x6c\\x34\\xc7\\x2a\\x7c\\x11\\x98\\x1a\\xf0\\x43\\xe4\\x10\\x08\\x83\\x79\\x57\\xaa\\x74\\x3f\\x38\\x6f\\x05\\x87\\x30\\x52\\x3a\\x04\\xa3\\xdd\\xdc\\x6b\\x15\\xdf\\x4b\\x7d\\x83\\xdc\\x89\\xff\\x50\\x45\\xf8\\x94\\x19\\xb2\\x60\\xca\\xe3\\x2f\\xaa\\x35\\xc0\\xa7\\x27\\x3c\\x32\\x21\\x89\\x78\\x9f\\x89\\x7a\\x2e\\x6a\\x1f\\x7f\\x23\\x11\\x16\\xf1\\x7b\\xd1\\xb8\\x8a\\xc2\\x78\\xbc\\xe2\\xfc\\xfb\\x72\\x34\\x45\\x74\\x11\\xb8\\x22\\x80\\xc0\\x44\\x42\\x8d\\x31\\x50\\x2a\\x32\\xb8\\x70\\x71\\xb8\\xc9\\x4c\\x53\\x72\\xb8\\x7f\\x48\\xef\\xfb\\x3e\\x4f\\x90\\xce\\x30\\x28\\x2b\\xe0\\x1e\\xe9\\x27\\xe0\\xbb\\xb7\\x6f\\x00\\x83\\xa9\\xb4\\x69\\x76\\x14\\xa6\\x5a\\xc3\\x60\\xaa\\x54\\x0c\\x26\\xa8\\x8e\\x42\\x36\\x2a\\xfa\\xef\\x80\\x85\\x0e\\xb0\\xac\\x9d\\xf7\\xb1\\x76\\xee\\xc5\\xda\\x59\\x83\\xd2\\x43\\x26\\x2e\\xbd\\x1a\\x8d\\x16\\x78\\xac\\x46\\x41\\xe0\\xe1\\x78\\x4f\\x14\\xe6\\xf2\\x89\\x4f\\xa4\\xc1\\xa3\\xbe\\x0f\\x14\\x2b\\x17\\x69\\x1f\\xbe\\xfa\\xd3\\x8d\\xb7\\x6e\\x14\\x1e\\x5b\\xff\\xfc\\xf3\\x1f\\x70\\x58\\x0c\\x60\\x2f\\x98\\xcb\\x60\\x75\\x0b\\x99\\x45\\x42\\x54\\x98\\x01\\x53\\xe9\\x58\\xa5\\x19\\x99\\x1a\\x1e\\xdf\\x9f\\xc1\\x50\\x1e\\xd1\\xb7\\x3b\\x31\\x88\\xd8\\xc7\\xd8\\x93\\xa5\\x7d\\x0c\\xd4\\xa7\\xad\\xf5\\x30\\xf7\\x83\\xe7\\x9f\\x5f\\x2f\\x9f\\xc7\\xf9\\xb7\\x54\\x83\\x1f\\x6c\\xdb\\xc9\\xba\\x66\\x7c\\x48\\x83\\xd4\\x54\\x45\\x61\\x35\\xe6\\x12\\x9c\\x70\\x32\\x20\\x8f\\xd7\\xbc\\x31\\x32\\xb8\\x57\\x48\\xfc\\xe0\\x27\\x97\\x35\\x7f\\xda\\xfa\\xb4\\x54\\xb3\\x6b\\x17\\x64\\xf0\\x36\\x78\\x07\\x0c\\xf8\\x77\\xa6\\x99\\x38\\xbf\\x92\\x58\\x1f\\x90\\xdb\\x56\\xa3\\x16\\xb8\\xa7\\x40\\x36\\x74\\x3d\\x1b\\x88\\x65\\x51\\x97\\x88\\x92\\xc4\\xc7\\x97\\x08\\xad\\xdf\\x45\\xa2\\x47\\x62\\x3e\\x23\\x20\\x7b\\x69\\xa6\\x0c\\x8b\\x3f\\x4f\\x54\\x74\\x06\\xc2\\xdc\\x1d\\x0c\\xef\\x4e\\xb1\\xda\\x42\\x71\\xa9\\x92\\x83\\x1b\\x5a\\xb7\\xe2\\x06\\x32\\xea\\xf4\\xe9\\xd6\\xf7\\x4e\\x9d\\x92\\xf7\\x45\\xde\\x80\\xd7\\x59\\x1b\\xae\\x91\\x6d\\x39\\x78\\xb7\\xa0\\x40\\x62\\x6d\\x39\\x78\\x58\\x55\\x59\\xa6\\xe0\\x75\\x72\\x90\\xe7\\x7f\\x93\\x14\\x29\\x6d\\x6e\\x3b\\x12\\xc9\\xcf\\x37\\x49\\x3a\\x17\\x78\\xe7\\x8c\\x1f\\xd2\\x58\\xbe\\xab\\x64\\x2f\\x70\\x88\\x0e\\x12\\xbe\\x62\\x73\\x1e\\x17\\xf2\\xa0\\x71\\xa1\\x4c\\xbd\\xd3\\xca\\x7a\\x2e\\x4e\\x70\\x3a\\x3d\\x0e\\xec\\xf0\\x26\\x25\\x26\\x4c\\x9a\\x99\\x88\\xb4\\x46\\xb6\\xf2\\x02\\xee\\x2b\\x76\\x7c\\x38\\xde\\x2a\\x18\\x9d\\x20\\x0f\\xe6\\xc1\\x60\\xc7\\x8a\\xb5\\xd3\\x31\\x50\\xb9\\xb1\\x22\\x5c\\x8a\\x46\\x08\\x8b\\xc6\\x78\\x0b\\xf2\\x89\\x61\\x72\\x1a\\xaf\\xf0\\x73\\xd2\\x17\\x3b\\x76\\xdc\\xb3\\x7b\\x7e\\xd5\\xa4\\x81\\x05\\x3d\\x4f\\xc3\\xcd\\x7c\\x46\\xcc\\xdf\\x64\\xc5\\x85\\xf5\\x6c\\xd1\\xb5\\xf8\\xa6\\xdb\\xdd\\x47\\xad\\xc3\\x26\\x4d\\x3b\\x76\\x61\\x3d\\xed\\xfb\\xcc\\x2b\\xaf\\xb0\\x31\\x23\\x96\\xde\\xc1\\xa1\\x64\\xbd\\x43\\xa6\\xd6\\xe1\\xc2\\xae\\x84\\x44\\x67\\x27\\x32\\x19\\x95\\x0e\\x85\\xca\\x0e\\x22\\x3b\\x87\\xa2\\xfb\\x3b\\x02\\xb9\\xec\\x77\\x21\\x6e\\xfd\\x45\\xa9\\x12\\x4e\\xfc\\xd9\\x4b\\xf6\\x9f\\x09\\xa7\\x21\\x1d\\x7f\\x47\\xdf\\xb3\\xa4\\xf3\\xb0\\xc9\\x66\\x15\\xfd\\x19\\x21\\xe9\\x30\\x1b\\x2b\\x8d\\x30\\x5c\\x05\\x53\\x54\\xc0\\x56\\x43\\x3e\\x55\\xbd\\x0a\\x1f\\x6d\\x6b\\x0b\\xe9\\x55\\x2a\\x4c\\xd2\\x40\\x35\\x5e\\x35\\x8f\\x49\\xc5\\x6c\\x73\\x3e\\x64\\xc9\\x6e\\x26\\x79\\xfb\\x19\\x84\\x3b\\xc9\\x31\\xf1\\x53\\x14\\xc7\\xda\\x5b\\xe4\\xae\\x2d\\xb5\\xe4\\x28\\x4c\\x62\\xb5\\x38\\x39\\x3b\\xd0\\xee\\x14\\x3b\\x18\\x79\\xf2\\x40\\x8e\\x3d\\x72\\xdb\\x6d\\x8f\\x9c\\x1c\\x35\\x68\\xc0\\x38\\xf1\\xd3\\x1b\\x6e\\xdf\\x7f\\xed\\x90\\xe9\\x53\\x87\\xb5\\xb5\\xa1\\x7b\\xd1\\xb5\\xd4\\x4f\\xdf\\x33\\x65\\x08\\x6a\\xe9\\x04\\x42\\xfc\\x1b\\xf2\\x65\\xaa\\xbe\\x63\\x28\\x56\\x72\\xd9\\xc6\\x2a\\x35\\x2c\\x51\\x83\\x59\\x0d\\x3e\\x35\\x30\\x9a\\x0e\\xa9\\x35\\x44\\x4c\\x8b\\xd2\\xc1\\x60\\xe4\\xb7\\xbd\\x46\\x77\\xb3\\xfa\\x88\\x82\\x59\\xf6\\x79\\xc9\\xe3\\xa4\\x1c\\xe5\\xd7\\xb4\\x4d\\xbe\\x66\\x33\\x3f\\x7a\\x39\\xc3\\x21\\x0a\\x38\\x91\\x5f\\x8f\\x67\\xd7\\x2b\\xe5\\xfc\\x44\\xbe\\xbf\\x8d\\x5d\\xf7\\x93\\xaf\\xb5\\xf2\\xf5\\xe2\\xb6\\xe7\\xe8\\x2c\\x71\\x0d\\xbb\\xd6\\xc9\\xd7\\x8b\\xe4\\xe7\\x1d\\xfc\\xbe\\x5e\\xbe\\xbe\\x84\\x5d\\x27\\xc9\\xd7\\x4e\\xf9\\xba\\x80\\xfb\\xee\\x91\\xaf\\x5d\\xf2\\x3c\\x67\\x32\\xbc\\x48\\x5b\\x68\\x0b\\xeb\\x4d\\xdd\\x42\\x7a\\x36\\x4e\\x46\\xe6\\x39\\x18\\xf0\\x51\\x98\\xf2\\x50\\x18\\xe8\\x51\\x18\\x8d\\x8a\\x9e\\x8d\\x59\\x8a\\xc4\\x4c\\x68\\x5a\\xce\\x9f\\x82\\x4d\\x60\\x86\\x2b\\xe0\\x45\\x36\\x55\\xb9\\x4f\\x9a\\xcc\\xe0\\x3b\\xdb\\x7e\\xa3\\x47\\x85\\x8f\\x59\\x7b\\xc5\\xcb\\x9c\\xf9\\x37\\xf0\\x35\\x40\\xf7\\x50\\x12\\x78\\xa6\\x7b\\x36\\x7b\\x70\\xba\\x07\\x9a\\x3d\\x30\\xcc\\x73\\xd8\\x83\\x6d\\x9e\\x67\\x3d\\xbf\\x78\\x48\\xb2\\xc7\\x6f\\xb5\\x45\\x58\\xb4\\x98\\xb5\\xd9\\xc5\\x60\\x48\\xdc\\x1f\\x68\\x46\\xc8\\x06\\x9e\\x2d\\x9e\\x47\\x3d\\x58\\xe5\\x69\\xf1\\x60\\xbb\\x67\\x8a\\x07\\xa7\\x78\\x18\\x93\\xbf\\x38\\xe4\\xf1\\x27\\xba\\x15\\x26\\x9b\\x15\\xbf\\xab\\x9d\\x60\\x98\\x32\\x22\\x74\\xc8\\xf2\\x53\\xd9\\xa6\\x42\\xd7\\x86\\x06\\xfe\\x17\\xf4\\x60\\x7d\\x36\\x3c\\x9a\\x0d\\x19\\xd9\\xd3\\xb2\\xdf\\xc9\\x26\\xbd\\xb3\\x8b\\xb3\\xb1\\x3d\\x1b\\xd6\\x67\\xc3\\xd3\\xd9\\xf0\\x71\\x36\\xc3\\xfa\\x69\\xa8\\x47\\x76\\xb6\\x60\\x4d\\xc3\\xd9\\x73\\xb3\\x61\\x51\\x36\\xcc\\xca\\x86\\x97\\xb2\\xa1\\x47\\x36\\xbc\\x93\\x0d\\x77\\x66\\xc3\\xb5\\xd9\\x77\\x66\\xe3\\xc3\\xd9\\x40\\xb2\\xa1\\x30\\x1b\\x8c\\xd9\\x80\\x78\\xf5\\xf8\\xff\\xec\\xc5\\x8b\\xdb\\x45\\x53\\x16\\x8b\\x68\\xcd\\x7b\\xe6\\x5d\\x8c\\x6e\\x5e\\xf7\\x18\\xba\\x1d\\x9d\\x79\\x30\\x8c\\x71\\x81\\x44\\xb8\\x10\\x4a\\x95\\xd9\\xf0\\xff\\x98\\xf0\\x28\\xdd\\xae\\x36\\x97\\x2c\\xc7\\xe9\\x5c\\x8e\\xcd\\x22\\xfd\\xee\\x2b\\x84\\x8c\\x0f\\x42\\xc2\\xd1\\xb6\\xf0\\xa1\\x84\\x04\\x83\\x35\\x2d\\xcb\\x2c\\xcb\\xbf\\x8b\\x8d\\x72\\xb1\\xf9\\xbe\\x67\\xf9\\x52\\x43\\x26\\x60\\xd5\\x81\\x62\\xcf\\x46\\x0f\\x16\\x3c\\x30\\x99\\xd7\\x27\\x7c\\xc8\\xe3\\xe1\\xc5\\x62\\x71\\x28\\x7d\\x25\\x52\\x96\\xf1\\xa4\\xed\\x46\\x09\\xd0\\x68\\x36\\x6f\\xbe\\xd2\\x0f\\xe5\\x7e\\x98\\xe1\\x07\\xa7\\xbf\\x9b\\x1f\\xb7\\xf8\\xa1\\xd8\\x0f\\x82\\x9f\\x41\\x39\\x10\\x4a\\xf4\\xfb\\x19\\x18\\xf0\\x9b\\xfc\\xab\\xfd\\x57\\xfb\\xf7\\xfb\\x5f\\xf5\\x0b\\x21\\xff\\x78\\xff\\x3c\\x7f\\xbd\\x9f\\xa2\\xd9\\xb1\\x15\\xca\\xe7\\x91\\x20\\x39\\x8d\\x63\\x18\\x9e\\x55\\xb2\\xce\\x41\\x0a\\x9e\\x81\\x6d\\x07\\xb9\\x17\\x16\\x98\\x6e\\x85\\xe1\\xd6\\x23\\x56\\x6c\\xb7\\x6e\\xb0\\x32\\x95\\xf3\\xc3\\x21\\xab\\x15\\xe9\\x65\\x1a\\xe5\\xc2\\xac\\x2c\\x8f\\x27\\xed\\x94\\xcb\\x82\\x52\\xd6\\xcc\\xe0\\x2d\\x0d\\x4d\\x87\\x23\\x5e\\x10\\xbd\\xf0\\xb6\\x17\\x86\\x79\\x37\\x78\\xef\\xf0\\x7e\\xe6\\xa5\\x36\\x2f\\x4c\\xf4\\x02\\xf2\\xfa\\xbc\\x79\\xde\\x79\\x5e\\xda\\xe2\\x05\\xd2\\xe4\\x05\\xec\\xf6\\x7a\\xe3\\x5d\\x69\\xe0\\xad\\x62\\xd7\\x0b\\xd9\\x75\\x8e\\x17\\x4e\\x78\\x41\\xe5\\x85\\x8d\\x5e\\xd8\\xe5\\x85\\x7d\\xde\\x37\\xbd\\x78\\x22\\x2b\\x80\\x8d\\xde\\x22\\x2f\\xd3\\x73\\xb3\\x65\\xf9\\x99\\x3d\\x77\\xf1\\xdc\\xc5\\xbc\\x36\\x73\\x23\\x1b\\x5b\\xfc\\x37\\x4e\\x54\\x8c\\x4e\\x49\\xe7\\x3a\\x45\\xa6\\x69\\x5c\\xdb\\x7c\\xe4\\x09\\xd9\\x61\\xba\\x0e\\x8e\\xe8\\xa0\\x58\\x07\\x76\\xdd\\x06\\x1d\\xf6\\xeb\\x74\\x4c\\x7f\\x76\\xe8\\xaa\\xa8\\xee\\x49\\xe7\\xba\\x47\\x2e\\xd7\\xc6\\xca\\x25\\x84\\x34\\xf8\\x88\\x15\\x8a\\xad\\x1b\\x39\\x0b\\x7e\\x61\\x2c\\x20\\x02\\x2f\\x24\\xb7\\x11\\x77\\x92\\x4e\\x06\\xca\\xb8\\xe8\\xf8\\x48\\x99\\x74\\xc6\\xbb\\x81\\xa1\\x74\\xae\\xaf\\x1f\\x91\\xf5\\xf5\\x7a\\x15\\xf8\\x55\\x3b\\x55\\x3f\\xab\\xc8\\x04\\x15\\x20\\xa6\\xab\\xcf\\xa8\\x88\\x53\\x05\\xc4\\xaa\\x62\\x5a\\xa7\\x6d\\xf6\\x21\\x15\\x5b\\x13\\xa5\\xb5\\x57\\x83\\xd5\\x8c\\xeb\\x04\\x36\\xf8\\x93\\x73\\xf4\\x4f\\x06\\x57\\x08\\xca\\x70\\xa5\\x57\\x19\\x2d\\xf9\\x21\\x1f\\xdc\\x69\\x03\\xb0\\x4d\\xb7\\x81\\x68\\x2b\\xb6\\x35\\xdb\\x88\\xdd\\xb6\\xc1\\x76\\x87\\xed\\xb0\\x8d\\xfa\\x6c\\x79\\xb6\\x79\\x36\\x72\\xb4\\xed\\xba\\x43\\x36\\x9b\\x5a\\x1d\\x95\\x24\\x14\\xa9\\x5b\\x29\\x5b\\x23\\xad\\xa2\\xdf\\xb1\\xba\\xa9\\x64\\x39\\xfc\\xf9\\x8f\\x83\\x4c\\x0e\\xcd\\xb0\\xd9\\x07\\x2d\\xbe\\xfd\\x3e\\x5c\\xec\\x7b\\xc4\\x87\\xa7\\xfa\\x98\\x08\\xfd\\x74\\xc8\\xe7\\x13\\xe2\\x14\\xb6\\x44\\xea\\x88\\x8b\\x95\\x3a\\xaa\\xa3\\x75\\x44\\xf7\\xa1\\x21\\x87\\xe0\\x17\\x2d\\x68\\x8f\\xb6\\x9d\\x79\\xd8\\x91\\x30\\x82\\x7f\\x87\\xf4\\x06\\xeb\\x08\\x9f\\x16\\x4c\\x6c\\xe8\\xd4\\xca\\xc2\\x68\\xd4\\x32\\xad\\xcd\\x46\\xa8\\x24\\x15\\xac\\x52\\x6d\\xe3\\x83\\xd4\\x62\\x45\\x00\\xb3\\xb2\\x3a\\xe4\\x6f\\xa5\\xb4\\x8a\\x5e\\x22\\xc3\\xd7\\xe4\\x46\\xe0\\x6f\\x66\\x75\\x4d\\x66\\x72\\x9e\\x60\\xbc\\xdc\\x88\\x1f\\x35\\xc2\\x74\\x23\\x0c\\x31\\x82\\xcf\\x08\\x26\\xa3\\x11\\x8b\\x11\\xda\\x22\\xf5\\x8a\\x8e\\x0f\\xe9\\x7c\\x7c\\xe0\\xf5\\xba\\xf7\\x20\\x1a\\x14\\xca\\x81\\xe9\\x0e\\x68\\x71\\x40\\xa5\\x03\\x86\\x39\\xc0\\xe2\\x80\\x7f\\x3a\\x00\\x39\\x7c\\x8e\\x3c\\xc7\\xd5\\x0e\\xda\\xcb\\xe1\\xd0\\x1a\\xd2\\xc0\\xb1\\xca\\xb1\\xcd\\xf1\\x8a\\x83\\xcc\\x73\\xc0\\xdf\\xf4\\x8b\\xe8\\x58\\x93\\xce\\xc7\\x1a\\x0e\\xfb\\x66\\x13\\xf2\\x87\\x12\\x60\\x28\\xef\\x12\\x79\\x56\\xb0\\x59\\xc1\\x6f\\x05\\x64\\x9d\\x67\\xc5\\xa9\\x4c\\x2a\\x62\\xe9\\x6a\\x93\\x18\\x5d\\x55\\xf4\\x34\\x2b\\x1b\\x17\\x29\\x3b\\xf8\\x20\\x2a\\x64\\x65\\x6f\\x4f\\x7d\\x24\\x15\\xaf\\x4f\\x85\\xb2\\x54\\x18\\x92\\xba\\x33\\x15\\xf7\\x4c\\x05\\x7f\\x2a\\x58\\x52\\x19\\xbb\\x7e\\x0b\\x69\\x53\\x53\\x55\\xea\\x34\\x48\\x65\\x97\\xa8\\x13\\x45\\x11\\x7a\\x98\\x46\\x27\\xf7\\xc8\\x75\\x35\\x2a\\xf2\\x59\\xc6\\x64\\xad\\x3b\\xd3\\x91\\xc3\\xad\\xe0\\xb0\\x3e\\x62\\xc5\\x53\\x78\\x3f\\xbd\\xdd\\xfa\\xa9\\x15\\xfb\\xac\\x0c\\xe2\\x27\\x4c\\x58\\xa9\\x26\\x4a\\x96\\xac\\x53\\x4c\\x4c\\x0e\\x36\\xc9\\xbc\\x36\\x45\\xe8\\x32\\x1c\\x64\\x6b\\xe6\\x6e\\x78\\x73\\x2a\\xa8\\x52\\x87\\xa7\\xe2\\x47\\x52\\xa1\\x3c\\xf5\\x50\\x2a\\x6e\\x4a\\x05\\x6b\\x2a\\x7c\\x9a\\x0a\\xab\\x53\\xc1\\x97\\xfa\\x54\\x2a\\x46\\xa9\\xa9\\x76\\x37\\x03\\xb5\\x58\\x7e\\xcd\\x8e\\xf6\\xb5\\xc5\\xac\\xed\\x66\\xc9\\xf0\\x2c\\x11\\x78\\x97\\x6d\\x64\\x1a\\x2a\\x11\\x5a\\xac\\x70\\xa7\\xf5\\x6d\\xeb\\xe7\\x56\\xe2\\xb4\\x1e\\xb6\\xe2\\x5f\\xac\\x30\\xcd\\xba\\xce\\x8a\\x0b\\x38\\x59\\x1f\\x84\\x12\\xac\\x56\\x51\\x97\\x06\\xd6\\x3a\\xeb\\x2d\\x56\\xfc\\xb8\\xf5\\x25\\x2b\\x36\\x5a\\x73\\xad\\x45\\xd6\\x57\\xad\\x5c\\x47\\x2d\\xee\\xa8\\xba\\xdc\\xc6\\xdc\\xa6\\x61\\x89\\x5c\\x6f\\xab\\x32\\x36\\xac\\x61\\xf5\\x9e\\xc9\\xea\\xfd\\xa7\\x0b\\x2a\\x5d\\xcd\\xae\\xb7\\x5d\\x44\\x70\\xc1\\x30\\x17\\x4c\\x72\\xad\\x73\\xb1\\x3e\\xf5\\x74\\x28\\xdd\\xe5\\x42\\x42\\x1a\\xb8\\xc6\\xb9\\xea\\x5c\\xf8\\x32\\x17\\xcc\\x76\\xc1\\x95\\x2e\\xd8\\xe8\\x82\\xdb\\x5d\\xf0\\xaa\\x0b\\x5a\\x5c\\x4c\\xf5\\xb8\\xd8\\x94\\x96\\x2b\\x11\\xae\\xe7\\x17\\x47\\x91\\x2e\\x8e\\x69\\x7f\\xca\\xf0\\xb6\\xc8\\x78\\x95\\x31\\xa9\\xad\\x9b\\xf4\\x3b\\x9b\\xdb\\x26\\xc3\\xa3\\x89\\xb0\\x24\\xf1\\x8e\\x44\\x6c\\x4b\\x04\\x5b\\xe2\\xd0\\x44\\x9c\\x92\\x08\\x25\\x3c\\xe2\\x09\\xfb\\xcf\\x4b\\x1c\\x9f\\xc8\\x3a\\xe1\\x57\\x21\\x47\\x62\\x22\\x9f\\x9d\\x25\\x8e\\x4b\\x9c\\x9b\\x88\\xef\\x48\\x84\\xa2\\xc4\\x50\\xe2\\xd5\\x89\\x04\\xcd\\x56\\x84\\x6d\\xb1\\xd2\\xd9\\x23\\xb8\\x96\\x33\\x3e\\x2e\\x95\\x71\\x39\\x22\\x7c\\x14\\xdf\\x45\\x23\\x43\\x36\\x3c\\xda\\x09\\x5b\\x9c\\x30\\xdd\\x09\\xf1\\xce\\x02\\x27\\x6e\\x76\\x1e\\x77\\xb2\\xfa\\xbd\\x1f\\xf2\\x38\\x9d\\xc8\\x98\\x86\\x9d\\x45\\x4e\\xc8\\x75\\xc2\\x72\\xe7\\x15\\x4e\\x7c\\xad\\x13\\xee\\x70\\x1e\\x76\\xe2\\x37\\x9d\\x10\\xd1\\x91\\x1d\\x12\\xa4\\xe0\\x88\\xce\\x8d\\xd2\\xf9\\xdc\\x48\\xae\\xcf\\x14\\xa5\\x9f\\x5d\\x6e\\x04\\x17\\xef\\x65\\x47\\x8d\\x78\\xa8\\xdc\\xcf\\xf4\\x5d\\xfb\\x99\\x3c\\x4e\\xcb\\x65\\xe3\\x63\\xc6\\xe7\\x45\\x6c\\x9e\\xa3\\xf7\\xc1\\xa3\\x3e\\xc8\\xf0\\x4d\\xf3\\xbd\\xe3\\x23\\xbd\\x7d\\xc5\\x3e\\x6c\\xf7\\xc1\\x7a\\x1f\\x3c\\xed\\x83\\x8f\\x7d\\x91\\xf1\\x97\\x29\\x14\\x36\\x24\\xf9\\xe6\\xfa\\x60\\x91\\x0f\\x66\\xf9\\xe0\\x25\\x1f\\xf4\\xf0\\xc1\\x3b\\x4c\\x97\\xf9\\xe0\\x5a\\xdf\\x9d\\x3e\\x7c\\xd8\\x07\\x6c\\xe1\\x53\\xe8\\x03\\xa3\\xef\\x3f\\x8c\\xbf\\xb1\\xf3\\xb9\\x74\\x3e\\x9f\\x93\\xe9\\x28\\x60\\x75\\x18\\x1b\\xca\\x84\\xe9\\x6e\\xf8\\xdd\\x0d\\xa2\\x1b\\xee\\x74\\x1f\\x77\\x63\\x8b\\x7b\\x89\\x7b\\x83\\x9b\\x0c\\x71\\x43\\xa1\\x1b\\xd2\\xdc\\x40\\xde\\x76\\x43\\xb9\\xfb\\x90\\x1b\\x33\\xf6\\xfd\\x11\\xd2\\xba\\xdd\\xea\\xb8\\x34\\x70\\xcf\\x77\\x2b\\x1d\\x6d\\xee\\xec\\x18\\xf5\\x2b\\xcf\\xc3\\xd9\\xe2\\xeb\\x3b\\xb1\\x98\\xe1\\x61\\x52\\x60\\x12\\xe9\\x8f\\x28\\x66\\xac\\x14\\x1e\\x54\\xc6\\x4a\\x91\\xfe\\xf6\\xac\\x3c\\xee\\x5b\\xe5\\xc1\\xd1\\x02\\x42\\x74\\xdc\\x97\\xf5\\x92\\x9c\\x2f\\xa2\\x97\\x7e\\x7b\\x42\\xce\\xe7\\x38\\xda\\x76\\xec\\x90\\xc3\\x6e\\xb4\\x44\\xf3\\xc9\\xb2\\x2d\\xe7\\xb3\\x46\\xf2\\x3d\\x2d\\xe7\\x73\\x1d\\x6d\\x7b\\xfc\\x90\\x2b\\x5e\\x13\\x27\\xe7\\x63\\xf3\\x56\\xb6\\xb0\\xa4\\x0f\\x88\\xdb\\x90\\x19\\x8d\\x08\\x25\\x22\\x41\\x10\\x8d\\x04\\xcc\\x26\\xad\\x8e\\x02\\xe8\\x4c\\xc4\\x6a\\xc1\\xd4\\x28\\x8a\\x66\\xaa\\x7d\\x02\\xc6\\x22\\x33\\x5c\\xc2\\x4a\\x50\\x96\\x2a\\x92\\x1f\\xb5\\xb0\\x59\\xac\\xec\\x2f\\x3e\\xfa\\xa4\\xcf\\xe2\\x54\\x76\\x5f\\xe4\\xf8\\x82\\x03\\xa1\\x08\\x92\\x55\\x06\\x50\\x41\\xf2\\x3f\\x76\\x81\\x61\\x14\\x94\\xe7\\x66\\x33\\x8d\\x69\\x77\\x99\\x16\\xaf\\x83\\x89\\xd2\\x33\\x34\\x19\\xd7\\x4a\\xa3\\x5a\\xdf\\xca\\x5c\\x79\\xcf\\x07\\x3f\\xdc\\xf6\\x7e\\xa3\\x24\\x32\\x7a\\x2e\\x7c\\x49\\x9f\\x44\\x54\\x0c\\xb0\\xf5\\xb6\\xf9\\xb0\\xc0\\x68\\xd0\\x70\\xbf\\xe3\\x51\\x9b\\x79\\x7f\\x0a\\x55\\xf9\\x7b\\xa7\\x26\\x07\\x29\\xfd\\x5a\\x3a\\x32\\x67\\xc3\\xa5\\x70\\x19\\xc4\\xc5\\x0b\\x47\\x9a\\xd7\\x1e\\x3b\\xcc\\xd6\\xd6\\xad\\xf4\\x49\\x12\\xaf\\x94\\x65\\xdc\\xd5\\x41\\x4c\\x59\\x12\\xf4\\x51\\xa7\\x3f\\x3d\\x35\\x0b\\x48\\x3c\\xe8\\x61\\xd5\\xa5\\x1b\\xe6\\x48\\x47\\xbe\\x66\\x98\\x0e\\x1f\\x5b\\xdb\\xcc\\xf0\\x5e\\xa0\\x8c\\xe1\\xc2\\xab\\x6c\\x5d\\xc3\\xd6\\xe5\\x6c\\x89\\x64\\x60\\x3a\\x51\\xa7\\x66\\x4b\\xd9\\x40\\x61\\xd4\\x9c\\xde\\x1c\\x31\\xab\\x54\\xf9\\xe5\\xdd\\xf3\\x79\\x0f\\x14\\xcf\\x5c\\x3c\\xd0\\xb2\\xc3\\xf7\\xe1\\x63\\x2d\\xef\\xd0\\xf3\\xce\\x4c\\x67\\x4e\\x60\\xdb\\x4a\\x99\\xa7\\x88\\x3e\\x4b\\x04\\x06\\xcb\\xc0\\xfd\\x46\\xb2\\x61\\x91\\x69\\x55\\xa2\\x22\\x3a\\x6e\\x2e\\x63\\xee\\x80\\x16\\xb1\\xc2\\x0c\\xca\\x5e\\x8a\\x33\\x4a\\x1e\\x1c\\xb6\\x7e\\xad\\xed\\x1a\\xd7\\xa2\\x87\\x96\\x5d\\x72\\x60\\xba\\x70\\x63\\x7c\\xf7\\x5e\\x43\\x2a\\x17\\xe7\\xa7\\xd8\\xf9\\x9a\\xeb\\x61\\xa9\\x1f\\x89\\x6b\\xdb\\xc3\\x7d\\x09\\x1f\\x66\\xeb\\x75\\x91\\xfb\\x56\\x32\\x3e\\x32\\x13\\x61\\x53\\xc4\\x17\\x69\\xd4\\x55\\x34\\xe4\\x5b\\x93\\xed\\x04\\x1e\\x0e\\x03\\x1c\\x96\\xfa\\x25\\xc3\\xe0\\x34\\xe9\\x69\\x4e\\xcf\\x2b\\x74\\x2f\\x69\\x15\\x9e\\x61\\x6d\\x9c\\x15\\xd2\\xc7\\x19\\x04\\x6a\\xa0\\x56\\x4b\\x9c\\xc0\\x9d\\x7a\\x5a\\x18\\x18\\xcd\\xd6\\x30\\xba\\x06\\x45\\x42\\xda\\x76\\x72\\x73\\x9b\\x03\\x3c\\xe8\\x3f\\x37\\x29\\xe5\\x64\\xe2\\xf9\\x5b\\x1f\\x9c\\x2c\\x9c\\x21\\xfe\\xa1\\x97\\x8c\\x1d\\x9a\\x42\\xce\\x08\\x93\\xee\\xa7\\x7b\\x07\\x34\\xd7\\x17\\x0e\\x72\\xbb\\x07\\xf7\\xa9\\x6b\\x19\\x20\\xef\\x07\\x3c\\x4c\\xab\\x49\\x1c\\x5b\\xdf\\x0b\\x28\\xfe\\x30\\x22\\xa2\\xec\\xe9\\xd1\\xf8\\xd0\\x4c\\xbe\\xc8\\xbf\\x18\\x99\\xb4\\x3a\\x4a\\x26\\x2b\\xfb\\x04\\x7d\\x9c\\x38\\x45\\xaf\\x5c\\x96\\xa0\\x88\\xc7\\x64\\x56\\x56\\x88\\x2d\\x6b\\x27\\xc9\\xf9\\x4c\\xf7\\x87\\xa5\\xb6\\xc3\\xa2\\x37\\x59\\x3a\\x96\\x06\\x03\\xe5\\xf5\\xd7\\xc3\\xd2\\x34\\xb2\\x87\\xf6\\x65\\x75\\xec\\x1e\\xb2\\x9b\\x54\\xd6\\x38\\xb6\\x12\\xb3\\x58\\xb9\\x55\\x86\\xc9\\x48\\xb5\\x13\\xc3\\x34\\x11\\x75\\xda\\x05\\x90\\x77\\x1c\\x05\\x5b\\xc4\\xc0\\x33\\x5f\\x5e\\xae\\xca\\xee\\xb5\\xf6\\x2c\\x7e\\x6d\\xcb\\xb8\\x7d\\x3d\\x36\\xaf\\xaa\\x9d\\x25\\xed\\xc1\\x2b\\xe2\\xd6\\x3c\\x5a\\x9a\\x60\\x7e\\x3d\\x65\\xe1\\x22\\xd2\\x70\\x8c\\xd3\\x38\\x0c\\x8f\\xc5\\xfc\\x19\\xa0\\x16\\xe5\\x86\\x9c\\x1a\\x15\\xd1\\x6a\\x75\\x7a\\xcd\\x47\\x48\\x45\\x28\\x39\\x17\\x66\\x7d\\x83\\x52\\xd5\\x87\\x3c\\xe2\\xa8\\x12\\x58\\xaf\\x28\\x6a\\xec\\x11\\x89\\x4b\\x9e\\xcf\\x5b\\xdc\\xec\\xc7\\x06\\xeb\\xca\\xc2\\xbe\\xab\\x5d\\x87\\x9f\\xa4\\x9b\\xd2\\xf3\\xef\\x18\\x1c\\x68\\x95\\xbd\\x97\\x4e\\xc4\\x63\\xc9\\x52\\x61\\x02\\x72\\xb3\\xbe\\x98\\x9a\\x00\\x89\\x56\\x95\\xd5\\x1b\\x67\\x00\\x83\\xc7\\x6b\\x8c\\x83\\x0c\\x12\\x17\\x67\\x4a\\x30\\x69\\xce\\x86\\x4d\\xa7\\x20\\x01\\x25\\x7c\\x1e\\x46\\x1f\\xa1\\xa2\\xae\\x31\\x64\\x3a\\xc7\\xfd\\xe1\\xbc\\x66\\x8d\\xc7\\x6d\\xb2\\x64\\xc9\\xcd\\x88\\xec\\xf5\\x1b\\xa8\\x2a\\xd9\\x0e\\x13\\x93\\xea\\x27\\x8c\\x2b\\x1a\\xe7\\xcb\\x70\\xa8\\x0e\\xf9\\xfe\\x5c\\xb7\\x2e\\x67\\xf8\\x94\\xf1\\xa1\\x38\\x98\\x83\\xc7\\x6e\\x1b\\xd1\\xd4\\x33\\x6f\\x4c\\xee\\x4c\\x26\\x84\\xda\\xef\\x1a\\x2a\\x06\\xcc\\x18\\xd6\\xbb\\x67\\x20\\xe9\\x7a\\x14\\xa9\\x7f\\x21\\xd9\\xc2\\x68\\xec\\x86\\x56\\x85\\x46\\x24\\xba\\xdd\\x62\\x5a\\x8a\\x39\\xc5\\x6e\\xb6\\x77\\x57\\x89\\x7a\\x24\\xa2\\xcc\\xee\\x89\\x89\\xe6\\xf8\\xa4\\xf8\\xb3\\xe1\\x34\\x93\\x39\\x24\\xef\\x20\\x9c\\x51\\x51\\xa4\\x32\\xa9\\x7c\\xaa\\xa7\\x54\\xaf\\xaa\\x04\\x0d\\x51\\xa9\\xb4\\x26\\xb3\\xe9\\x6c\\xd8\\x6c\\xd6\\x26\\x9d\\x22\\xda\\xb3\\x61\\x72\\x3a\\x36\\xd4\\x88\\x52\\x91\\xc5\\x66\\x25\\xfe\\x54\\x7c\\xd7\\x50\\xb6\\x96\\x58\\xa3\\x6e\\x25\\xd0\\x4a\\x3e\\x37\\xa1\\xc8\\x6f\\xb7\\x76\\x54\\x65\\x44\\x1e\\xfa\\x72\\xeb\\x4e\\x36\\xf9\\xdf\\xb2\\x7b\\xe3\\xaa\\x6d\\xf1\\x27\\xd5\\xdd\\xb3\\x26\\x0e\\x1a\\x91\\x99\\x36\\xb4\\xb7\\xd7\\x9f\\x9d\\x22\\x3c\\x6d\\xda\\xbc\\x76\\xc5\\xc6\\x21\\xc3\\x26\\x8e\\x26\\xae\\xea\\x96\\x85\\x2b\\x13\\xfa\\x16\\x55\\x05\\xf3\\xd6\\xe5\\xf5\\xe9\\xd1\\xbd\\x4f\\x6f\\x7d\\x43\\xc3\\xa2\\x39\\x83\\x27\\x26\\x88\\x96\\xb2\\xc8\\xfe\\x67\\x26\\x1e\\x43\\xb6\\xc9\\xed\\x6e\\x46\\x43\\x42\\x3e\\xa3\\xbc\\xfd\\xa7\\x51\\xf3\\x0d\\x11\\xc1\\x6a\\x41\\xac\\x4b\\x7d\\x1e\\x56\\x0b\\x3a\\xd1\\x60\\x00\\xf1\\x43\\xf8\\x28\\xf2\\xa4\\x81\\x1f\\x9c\\xe9\\xb0\\xf8\\xe1\\x72\\xc0\\x6a\\xa3\\x98\\xaf\\xd8\\xfd\\xf9\\x7c\\x7f\\xd8\\x1c\\xb4\\x73\\x2f\\xf8\\xc1\\xfc\\x5e\\x64\\xc0\\x93\\xd2\\xbd\\x30\\xe8\\x8d\\x89\\xd2\\xaf\\x99\\x3d\\x67\\x3f\\x88\\xbf\\xd9\\xbb\\x77\\x17\\x3c\\x2b\\x0d\\xbc\\x0e\\xfe\\x31\\x7a\\xf2\\xc6\\xe3\\xbd\\x22\\x76\\x48\\xe3\\x71\\x88\\x5c\\xc6\\xe8\\x70\\xb3\\x79\\x4a\\x0f\\xa6\\xac\\x9c\\x16\\x8b\\x8d\\x4d\\x7a\\x1c\\x2a\\xa6\\x17\\x90\\xe8\\xf5\\x30\\xee\\x5a\\xad\\x4c\\x4e\\xce\\x86\\x13\\x12\\xb4\\x36\\x9b\\xf3\\xf3\\xb0\\xed\\xc3\\x58\\x26\\x77\\x0a\\x14\\x6e\\xe9\\x88\\x13\\xdc\\x6e\\xaa\\xf2\\x17\\xde\\x2a\\x21\\xef\\xb8\\x07\\xde\\x64\\x15\\x17\\x20\\x72\\xd9\\xf6\\x75\\x4b\\xb7\\x5a\\x9f\\x57\\xa7\\x25\\x67\\xa6\\xa5\\xe5\\xf6\\x4e\\x38\\xda\\x03\\x5e\\x96\\xde\\x34\\x65\\xcf\\x99\\xdf\\x42\\x86\\x2c\\xdb\\x52\\x33\\xdf\\x98\\x9f\\x59\\x14\\x1a\\x50\\xd0\\x0d\\x1e\\xb9\\xfe\\xb6\\x9c\\xcb\\x64\\xba\\x43\\x4c\\xb6\\xaf\\x62\\x74\\xeb\\x51\\x4e\\xc8\\x41\\x05\\x41\\xab\\xd1\\xc6\\x69\\x98\\x9a\\x8d\\x43\\x5a\\x9d\\xf6\\xf3\\xb0\\xee\\x43\\xfa\\x91\\xf2\\x74\\x38\\x6a\\x44\\x12\\xdd\\x49\\x37\\x60\\xbb\\xbf\\x17\\x93\\x62\\xde\\x3b\\xaf\\x5a\\x3b\\xa3\\xdb\\x4b\\x39\\xe5\\xcd\\xd2\\x32\\x3c\\x96\\x1e\\xbd\\xe7\\xce\\xbb\\x1b\\x16\\x3d\\x78\\x70\\xc7\\xf5\\x88\\xc0\\x10\\xc6\\x17\\x2e\\x97\\x5a\\xe4\\x40\\xb9\\x9c\\x37\\xbe\\xec\\x4c\\xc1\\xef\\xf7\\x64\\xb2\\x71\\x40\\xe7\\x74\\xf6\\x34\\x7b\\x3c\\x79\\x3d\\xb3\\x7d\\x3e\\xb5\\x41\\x6d\\x38\\x1b\\x56\\xab\\x6d\\xe9\\xe9\\xe4\\x6c\\x38\\xfd\\x54\\x82\\x8d\\x71\\xaa\\x2b\\x6f\\xf8\\xb3\\x53\\x85\\x8e\\x08\\x5f\\x64\\x73\\xf2\\x68\\x38\\x11\\x39\\xc4\\x99\\xbc\\xc3\\x65\\x8d\\x39\\x49\\x50\\xa0\\x98\\x04\\x16\\x74\\x36\\x2e\\x66\\xeb\\xce\\xbb\\x12\\xbb\\x0d\\x4e\\x4d\\x4a\\xf1\\xd9\\xb3\\xb3\\xbb\\x67\\x75\\xcf\\xe9\\xd1\\xed\\xc4\\x35\\x5b\\xb7\\xed\\xda\\x56\\xd4\\x7f\\xdb\\x65\\x6b\\xb7\\xf6\\x1b\\x34\\x7e\\x10\\x6d\\xec\\xd6\\x6b\\x56\\x76\\x6e\\x96\\xf4\\x7b\\x61\\xcf\\x9e\\xfd\\x86\\x06\\x72\\x0a\\x1b\\x9b\\x5b\\x16\\x5f\\xed\\x27\\x49\\x93\\xfb\\xcf\\x58\\x50\\x3d\\xab\\xff\\x64\\x0f\\xb1\\x44\\x62\\xac\\x48\\x7b\\xa5\\x1d\\x6d\\x8f\\xb6\\x95\\xc8\\x3e\\x7c\\xf8\\x89\\xb2\\xab\\x66\\xf2\\x53\\x6f\\x20\\x87\\x65\\xe3\\x9b\\xb4\\xd2\\x5e\\x70\\x49\\x3b\\x5e\\x79\\x85\\xe7\\xf5\\xd3\\xbb\\xda\\xde\\x16\\xce\\x33\\x89\\xf5\\x72\\xbd\\x6f\\x10\\x90\\x56\\xc0\\xaa\\xd5\\x7a\\x03\\xdf\\x6e\\x3e\\x11\\x80\\xdc\\xdc\\xa8\\xef\\x57\\xa6\\x1e\\xa2\\xca\\x81\\x5b\\x81\\x07\\x7a\\xbf\\xb6\\x65\\x48\\xbe\\xae\\x7f\\xe8\\x86\\x9b\\x1f\\x59\\xd1\\x7f\\x9c\\x30\\xa5\\x8f\\xb6\\x46\\x3f\\x61\\x74\\xbd\\x3d\\x50\\xcb\\xcf\\xc1\\x35\\xb3\\x11\\x6e\\xb9\\x1c\\x3f\\x28\\x2f\\x14\\x8f\\x04\\x95\\x40\\x00\\x88\\x4e\\xab\\x56\\x8d\\x0f\\xab\\x8d\\x88\\x12\\x3a\\x3e\\x4c\\xec\\x31\\xba\\xa9\\x3d\\x56\\x52\\xcf\\xbc\\x34\\x26\\x44\\x3c\\x76\\x10\\x6b\\xcb\\x04\\x28\\x39\\x7f\\x1e\\xae\\x90\\x3e\\xc2\\xfd\\x8e\\x1d\\x3b\\x86\\x8f\\x1d\\xe3\\x7e\\xbd\\xa4\\x97\\x85\\xc7\\x20\\xa0\\xca\\x52\\xfc\\x9d\\x58\\x1e\\xd1\\x69\\xb0\\x28\\x0a\\xfc\\x11\\x0d\\xe3\\xff\\x89\\x40\\xc4\\x5e\\x46\\x60\\x6f\\x1e\\x67\\x14\\x54\\x7b\\x19\\x3f\\xf6\\xee\\x7d\\x09\\x97\\xb7\\xde\\x24\\x3c\\xb6\\x7b\\xf7\\xee\\xf7\\x2e\\x67\\x30\\xfe\\x60\\x30\\xcc\\x0c\\x06\\x3f\\xe7\\x16\\xc7\\xe4\\xcd\\x06\\x84\\x88\\x3a\\x9d\\x56\\x64\\x9d\\x43\\x6b\\x50\\xeb\\xf5\\x04\\xe9\\x54\\xf2\\x2e\\x77\\xd0\\x1c\\xec\\xea\\xe3\\x0c\\xec\\x2a\\x7f\\x7e\\x81\\x55\\xc1\\x02\\xe6\\x73\\xd7\\x6e\\xfa\\x26\\x82\\x45\\x95\\x65\\xba\\xde\\x70\\xa3\\xb4\\x8d\\xa1\\x41\\x7f\\xa1\\xd5\\xc4\\xf1\\xb0\\xf5\\x29\\x32\\x30\\xe1\\xb6\\x98\\x4c\\xa2\\x41\\xdf\\x99\\xf2\\x40\\x74\\xe8\\x8f\\xda\\xaf\\x29\\x18\\x0a\\x82\\x0c\\x61\\x46\\x7e\\xd0\\x19\\xad\\x8c\\x74\\xe3\\xab\\xcf\\xbc\\x76\\xe3\\x75\\x91\\xea\\x68\\xb7\\x5d\\xa5\\x1f\\xc2\\x71\\x7d\\xcb\\x70\\x09\\xed\\x75\\x4a\\x0f\\x99\\xe2\\xb0\\x5e\\xaf\\x16\\x34\\x1a\\xa3\\x56\\x14\\x09\\x62\\x7d\\x29\\xb6\\x3e\\x51\\xbf\\x61\\x4e\\x3b\\x03\\x1d\\xf5\\x9f\\xe3\\xd9\\x74\\xed\\x39\\xed\\xde\\xbd\\x50\\xcb\\xab\\x72\\xa3\\xe1\\x7a\\xd3\\x7b\\x72\\x4d\\x70\\xa7\\x7a\\xb8\\x43\\x3a\\xf9\\x48\\x26\\x55\\x47\\x9f\\x8c\\xf1\\xc7\\x12\\x72\\xe8\\xbf\\xc8\\x73\\x35\\xde\\x82\\xe3\\x18\\x95\\xab\\x14\\x9e\\x33\\x8e\\x73\\x18\\x4f\\x0b\\x87\\xa1\\x48\\x86\\x91\\xc8\\x46\\x60\\x1b\\x8e\\x27\\xfa\\x78\\xb5\\x29\\xa4\\x31\\x8c\\x30\\x99\\x6c\\x36\\x02\\x4f\\xe9\\x69\\x44\\xea\\x18\\xa8\\xdc\\xac\\x60\\x10\\x72\\x83\\xb9\\x8a\\x4b\\x59\\x21\\x25\\xe2\\x38\\xdf\\xcf\\x83\\x34\\x38\\x1d\\xca\\xac\\x48\\x7a\\x99\\x23\\x80\\x07\\x83\\x93\\xa7\\xa4\\xf6\\xe8\\xa1\\x9e\\xa9\\xcb\\x1a\\x53\\x54\\x30\\x69\\x52\\x4a\\x5e\\x96\\x38\\x4b\\xdf\\x7d\\xb4\\x2a\\xeb\\xf2\\x6f\\xd2\\xd3\\xfc\\xdd\\x26\\x8e\\xe8\\x96\\x96\\x9e\\x9e\\x36\\x61\\x54\\x46\\xa4\\x7f\\x14\\xd0\\xcd\\xf0\\xa2\\x30\\x97\\xc9\\x0e\\x93\\x79\\xd6\\xf5\\xf5\\x54\\xad\\x46\\xac\\xe9\\x31\\x6f\\x87\\xe0\\xc9\\xe8\\x83\\x1f\\xd9\\xa1\\x3d\\x8f\\xbe\\x25\\xbf\\xe1\\xc5\\x19\\x19\\xb9\\x6f\\xe7\\x76\\x63\\xef\\x8c\\x19\\xc2\\xdc\\x77\\xea\\xd8\\xdf\\x3b\\x91\\xe7\\xd7\\x91\\xb9\\xd3\\x2f\\x91\\x79\\x21\\xd5\\x1a\\x8c\\x1a\\x61\\x35\\x3f\\xc3\\x15\\x48\\x50\\x9e\\x91\\x44\\x27\\x4a\\xdc\\x8e\\x8d\\xcf\\x92\\x2a\\x37\\x1f\\x9c\\x21\\x9e\\xd1\\x1e\\x38\\xa0\\x3d\\x23\\x86\\x1f\\xa4\\x7b\\xc7\\x5c\\xb5\\xfc\\xf9\\xe7\\x97\\x6d\\x1d\\x23\\xf3\\xf9\\x45\\x99\\xcf\\x82\\xec\\x45\\x58\\x23\\x30\\x71\\x64\\x22\\xa2\\x23\\x3c\\x5a\\x81\\x55\\x6f\\x19\\x41\\x48\\x11\\x1a\\x87\\xe6\\xa2\\x83\\xe8\\x49\\x96\\x87\\x3b\\x5e\\x1c\\x8e\\x8a\\x4e\\x9e\\x98\\x5d\\x98\\xdb\\xc9\\xdd\\xb1\\xdc\\xa8\\xfc\\x21\\x65\\x22\\x6b\\x50\\x3c\\xa4\\xf5\\x26\\x5c\\x1e\\x69\\x4f\\x69\\x4f\\xa4\\x2d\\x62\\xf1\\xe4\\x1d\\x02\\x15\\x15\\xff\\x06\\x85\\x4a\\x1d\\x83\\x22\\xda\\x22\\xb2\\xfc\\xf3\\x10\\x39\\xb2\\xec\\x4b\\x0f\\xf3\\x66\\x88\\x88\\xfe\\xbb\\x97\\xa3\\x4e\\x6d\\xed\\x44\\x1e\\xd4\\x2f\\xe4\\x75\\xd9\\x6c\\x49\\x6e\\xb5\\xda\\x4b\\xad\\x7a\\xbd\\x29\\x21\\x81\\x9f\\x05\\x18\\x17\\x7f\\x4b\\xfc\\xc1\\x78\\x21\\xde\\xa4\\x46\\x47\\xa1\\x18\\x15\\x05\\x64\\x14\\x66\\x1e\\x96\\x3c\\xf6\\xd1\\xf1\\x45\\x1b\\xde\\x2a\\x13\\xb0\\xea\\x6f\\xda\\x7d\\x12\\xa3\\x49\\x38\\xdc\\xb9\\xe5\\xa1\\x99\\x53\\x17\\xe9\\x93\\x1d\\xb4\\x71\\x4b\\xea\\x82\\x90\\xd3\\xad\\xf6\\x78\\x7c\\xf1\\x2e\\x46\\x64\\xb2\\xcb\\xe3\\xb1\\x51\\xbd\\xde\\x9b\\xa8\\x36\\x29\\x64\\x05\\x4e\\x04\\x38\\x4d\\x81\\x58\\x35\\x10\\xfc\\x5b\\xca\\x0a\\x94\\x2e\\xfb\\x77\\xb4\\x8d\\x8c\\x74\\xe0\\xae\\xe4\\x7d\\x14\\x51\\x18\\x98\\xe9\\xa5\\x3f\\x61\\x9a\\xdc\\x47\\x34\\xfc\\x79\\xb8\\x1a\\x04\\x4a\\x79\\x6f\\xd3\\xf2\\xa7\\xd8\\x28\\xf7\\xc3\\xc0\\xb3\\x1d\\x87\\xbc\\x98\\x5c\\xf1\\xa7\\xea\\x6c\\x9e\\xe6\\xcf\\xb7\\xce\\x67\\xbd\\xf6\\x98\\x74\\xe0\\xda\\x9f\\xc5\\x9d\\xbb\\x4d\\xd2\\x69\\x36\\x91\\x44\\x9d\\xfb\\xad\\x1e\\xf5\\x0f\\xf9\\x18\\x24\\x36\\xac\\x6a\\xe2\\x44\\x41\\x30\\x50\\x6d\\x48\\x67\\x1d\\xa1\\xd5\\xea\\xf5\\x90\\x4b\\x8a\\xc8\\x38\\x42\\x88\\x5a\\x0e\\x8f\\x14\\xe9\\x7e\\x31\\x78\\xda\\x9f\\x97\\x47\\xf5\\xd0\\x84\\xbd\\x7b\\x8b\\x23\\x2a\\x88\\x61\\x7b\\x37\\xa2\\x80\\xba\\xea\\xe5\\x82\\x50\\x82\\xa0\\xa5\\xac\\x77\\x71\\xea\\xb5\\x71\\xdc\\xde\\xa2\\x1d\\x8d\\x4e\\x66\\x2d\\x6b\\xf0\\x40\\x67\\xb6\\x46\\x1e\\x6d\\x46\\x38\\xa8\\xea\\xaa\\xbc\\x19\\xaa\\xdd\\xbb\\xcf\\x5d\\x1e\\xe9\\x73\\xd1\\xf1\\xc5\\x8c\\xc2\\xa1\\x3c\\xc4\\x4d\\x5e\\xb0\\x46\\x67\\xa4\\x2a\\x41\\x50\\x59\\x2d\\x44\\xa7\\xd7\\x4d\\x0a\\x23\\xa3\\x3e\\x49\\x8f\\x4d\\x44\\xaf\\x57\\x99\\x94\\x49\\xbe\\x5a\\xa5\\x1e\\x1f\\x56\\xd9\\xff\\x3a\\x27\\x8e\\x31\\x0a\\xb7\\x74\\x58\\x9c\\xc9\\x86\\xd6\\xf2\\x60\\xc4\\x9f\\xaf\\xc9\\x03\\xd2\\xe9\\xd3\\x91\\x21\\xe9\\xd4\\x29\\x3e\\x28\\xe1\\x1d\\x2f\\x49\\xbf\\x1f\\x3b\\x06\\x9a\\x97\\xbe\\x3a\\x16\\x59\\xa3\\x17\\xb7\\x7d\\x43\\x4f\\xa8\\x06\\x58\\xd2\\x49\\x29\\x7f\\xa6\\xa0\\xda\\x8b\\x7e\\x80\\xc5\\x66\\x95\\x66\\x14\\xa0\\xb6\\x5f\\x51\\xea\\x11\\x82\\x73\\x43\\x16\\xcb\\x88\\x5c\\xde\\xd9\\xe2\\x4c\\xa6\\x11\\xb9\\x21\\xad\\x7e\\x44\\x2e\\x2d\\x34\\xa7\\xa3\\xac\\x7c\\x73\\x56\\x56\\x96\\x12\\x9f\\xad\\x2b\\x9c\\x5b\\x61\\xd4\\xff\\x0a\\x9c\\x03\\xe8\\xf3\\xff\\x15\\x38\\xf7\\x43\\xe8\\x7f\\x00\\xe7\\x36\\x05\\x4e\\x3a\\xbe\\xfe\\x95\\xdf\\xcd\\x2a\\xd5\\x5e\\xa0\\xf0\\x36\\x4a\\x0c\\x99\\x29\\xe9\\xc7\\xc1\\xf4\\x0b\\x69\\xb4\\x23\\xfa\\xe1\\xb4\\x68\\xe9\\xfc\\xfc\\xbf\\x2f\\x7b\\x2b\\xa4\\xfc\\x1f\\x97\\x3d\\x80\\x3e\\xfc\\x3f\\x2e\\x7b\\x3f\\xfa\\xe3\\xbf\\x51\\xb6\\x85\\x95\\x5d\\xa7\\x1a\\xc8\\xca\\x2e\\x50\\xe4\\xa1\\x15\\x1a\\x38\\xdf\\xd8\\xcd\\xdf\\x18\\xdf\\x30\\xb8\\x78\\x61\\x57\\x94\\x6f\\x2e\\xce\\x37\\x17\\xf1\\x77\\xe5\\x5b\\x57\\x38\\xb7\\x42\\xea\\xff\\x0a\\x9c\\x03\\xe8\\xcb\\xff\\x15\\x38\\xf7\\x43\\xda\\xff\\x00\\xce\\x6d\\x0a\\x9c\\x76\\x79\\x40\\x7f\\x46\\x78\\x4b\\xb0\\x8f\\x83\\xf1\\x71\\xde\\xfa\\xc0\\x78\\x31\\xde\\xde\\xd6\\xc1\\x13\\x5e\\xca\\x2c\\x72\\x18\\xbc\\x2c\\x06\\x1b\\x2f\\x6b\\xe3\\x65\\x6d\\xc4\\xf7\\x9f\\xcb\\x1e\\xf8\\x1f\\x94\\xbd\\xff\\xff\\x47\\xd9\\xad\\xac\\x6c\\x99\\xdc\\x8f\\x9a\\x15\\x79\\xf8\\x35\\xd2\\x8f\\xd0\\x8f\\x0a\\xdf\\x22\\x15\\x8e\\xf2\\xcd\\xc7\\xf9\\xe6\\x23\\xdd\\xbb\\xf2\\xad\\x2b\\x1c\\xde\\x0b\\xfe\\x37\\xe0\\xb4\\xeb\\x87\\xff\\x21\\x9c\\xfb\\xff\\x47\\xf4\\xdc\\xa6\\xc0\\x61\\xf2\\xf0\\x6d\\x44\\x3f\\xa4\\x46\\xe5\\x21\\x9b\\x83\\xc9\\xe6\\xbc\\xcd\\x06\\xc7\\xc5\\x78\\x7b\\x5b\\x0c\\x4f\\x06\\x47\\xda\\xe5\\x5b\\xa5\\x5d\\x12\\x78\\xd9\\x04\\x5e\\x36\\x81\\x64\\xfc\\xe7\\xb2\\x07\\x40\\xec\\x5c\\xd6\\xcd\\xcb\\xba\\x79\\x59\\xf7\\x7f\\x55\\x96\\xd7\\xfd\\xbf\\x5b\\x56\\x1e\\xc7\\x38\\xdf\\xf8\\xee\\x2e\\xe3\\xd7\\x10\\xd8\\x84\\xae\\x45\\xea\\x87\\xb1\\x15\\xf3\\x7c\\x8a\\x5d\\xfe\\x34\\xd9\\xc6\\xd8\\x8d\\x8a\\x42\\x3e\\xb6\\x78\\xa5\\x16\\x8b\\x15\\x59\\xbd\\x1e\\x87\\xc1\\xe5\\x32\\xcc\\x0d\\xbb\\xa8\\x8d\\x58\\x2d\\x82\\x0a\\xab\\x4a\\xc2\\x38\\xb1\\x23\\x24\\x6d\\x6c\\x68\\x6e\\x65\\x44\\x13\\x4c\\xc9\\x29\\xd1\\x9d\\xac\\x0e\\x33\\x77\\x3b\\xdf\\x09\\xb1\\xd8\\xe9\\x10\\x69\\xe1\\xf4\\x9a\\x71\\x79\\xe5\\xe3\\x26\\x94\\x4c\\xae\\x90\\xde\\x03\\x5b\\xde\\x0d\\x15\\x07\\x5e\\xb4\\x48\\xd5\\xd6\\xd7\\x75\\xf5\\xab\\x48\\xf2\\x6d\\xdb\\x6e\\x58\\x7f\\xe1\\x3e\\x61\\xd8\\x9d\\x33\\xe7\\x49\\xdf\\x9d\\x8b\\x8c\\xc3\\x9b\\x18\\x6d\\xc5\\xf2\\x99\\x98\\x81\\xa1\\x24\\xab\\x43\\xd0\\x6a\\xd9\\xb0\\x6b\\x42\\xa6\\x04\\x97\\x4e\\x6f\\xe5\\x11\\xe1\\x89\\xc9\\x22\\xaa\\x88\\xaa\\x34\\x4c\\x3a\\x48\\x0b\\xb6\\x5b\\x98\\x07\\xdb\\x8d\\x20\\x05\\xbe\\x36\\x66\\x0b\\x91\\x40\\xef\\x01\\xfc\\x74\\x2a\\xa7\\x0b\\xd8\\x2a\\xd9\\x9c\\x4c\\x8b\\xd7\\x6c\\x2c\\x2f\\x0e\\x8e\\xc8\\x97\\x32\\xdc\\x52\\x1b\\x4c\\x80\\x75\\x2a\\x23\\xc0\\xea\\xdd\\xdb\\x35\\xc7\\x69\\x51\\xd9\\x40\\xf2\\xc3\\x85\\xca\\xd6\\x7a\\x61\\xd8\\x85\\x27\\x07\\x9c\\x19\\x00\\xe7\\x38\\x4d\\x23\\xda\\x7e\\xa6\\x1b\\x19\\xbf\\x3c\\x8c\\x5f\\x49\\x16\\x83\\xc7\\x63\\x14\\xe3\\x8d\\xf1\\xde\\x24\\x64\\x44\\xc6\\x44\\x53\\x22\\x99\\x1b\\x4e\\xb4\\xda\\xb5\\x73\\xc3\\x76\\x6a\\x22\\xa8\\xcb\\x29\\x95\\x18\\xd3\\x4c\\xbe\\x90\\x94\\x37\\x37\\x06\\xc8\\xcb\\x79\\xd1\\xc3\\x3d\\x34\\x71\\x5e\\xf9\\xcc\\x76\\x6e\\xb1\\x49\\xa0\\xc4\\xb7\\xbc\\xae\\x79\\xe9\\xc2\\xb5\\x0d\\x9b\\xa4\\x37\\x7f\\xec\\xf7\\xcc\\x4a\\x78\\x5d\\xfa\\x55\\xfa\\x51\\x1a\\xb7\\x00\\x5e\\x58\\x5d\\xfb\\xd9\\xd9\\xe9\\xaf\\xdc\\xb5\\x67\\xf5\\x23\\x78\\x3f\\xe3\\x57\\xeb\\x8d\\x13\\xa5\\x3b\\xa4\\x7b\\x61\\x2f\\x9f\\x93\\x9d\\x46\\xf3\\x21\\x99\\xd4\\xca\\xfb\\x10\\xfe\\x90\\xc6\\x2c\\x08\\x4e\\x1d\\x8a\\x37\\xa8\\x1f\\x87\\x7e\\xc8\\x86\\x08\\x0c\\x40\\x8a\\xc3\\xf6\\x40\\xc7\\x2e\\x96\\x2f\\x12\\x41\\xbd\\x53\\xa4\\xf1\\xe4\\xab\\x77\\x48\\x67\\xae\\xb8\\x7e\\xe7\\x15\\x87\\x7b\\x0c\\x28\\xca\\xcd\\x1d\\x30\\x20\\x17\\xbe\\x7e\\xe2\\x79\\x58\\xff\\xc2\\xe3\\x4f\\x3e\\xbb\\xad\\xb6\\x66\\xfb\\xf6\\x85\\xf5\\xb2\\x3d\\xd9\\x30\\xb4\\x18\\x3d\\x4e\\xca\\x90\\xc8\\x63\\xe3\\x20\\x51\\xc4\\x58\\xc5\\x6d\\xf2\\x1e\\x93\\x4f\\x6f\\xf6\\xe7\\x07\\x10\\xda\\xad\\xd3\\x7a\\xe6\\xc9\\xe7\\xf8\\x82\\x66\\xf1\\x9f\\xaf\\xdd\\xb1\\x18\\xcf\\x58\\x74\\xf9\\xf2\\x56\\xd9\\x5e\\xee\\x43\\xd4\\x00\\x69\\x8c\\xe6\\x44\\x1e\\x1b\\x27\\x51\\x65\\xb1\\x78\\x5c\\x7a\\xe4\\xd6\\x69\\x8c\\x9c\\x68\\x57\\x04\\x4e\\xa0\\x48\\x9e\\xba\\x07\\xa2\\x47\\x06\\xd2\\x3a\\x36\\x16\\xdb\\x77\\xdb\\x0c\\xc0\\xb7\\xfb\\x93\\xed\\xd2\\x87\\x9e\\x05\\x0b\\x4a\\x82\\xf3\\x66\\x98\\x1e\\x31\\xef\\x58\\xb1\\xf9\\xea\\xee\\x63\\xe6\\x66\\x8f\\xb7\\x41\\x43\\xc3\\xe2\\x7e\\x8d\\xe3\\x47\\x15\\x27\\x4d\\xad\\x50\\x37\\x34\\x2e\\x9e\\xdf\\x73\\xf2\\xb8\\x61\\xbe\\x90\\xef\\x0a\\x79\\xdd\\xf6\\x06\\xaa\\x84\\x1e\\x8c\\x86\\x14\\xd6\\xae\\x8e\\x24\\x8b\\x05\\x25\\xbb\\x44\\x83\\x5f\\x87\\x50\\x6a\\xb2\\xc1\\x60\\x34\\x92\\x78\\xbb\\xfb\\x28\\xf4\\x7b\\x48\\xa3\\x22\\x47\\x65\\x1e\\x72\\xdb\\x2e\\x6e\\x20\\x69\\x89\\x1a\\x69\\x07\\xf8\\x0a\\x3b\\x76\\xef\\x8a\\xc7\\xaa\\xeb\\x25\\xef\\x0a\\x76\\xd9\\x14\\x54\\x39\\xa0\\xc7\\x35\\x3b\\x37\\xee\\x8d\\x3b\\x62\\xac\\xa9\\xbf\\x7a\\x70\\xd1\\x9a\\x60\\xcf\\x1e\\x85\\xf4\\xb0\\xf1\\xfa\\x65\\xeb\\x76\\x6d\\xbc\\x1e\\x86\\x57\\x2d\\x5d\\xba\\xc8\\xb8\\x60\\xee\\xcc\\x2b\\xc2\\x99\\x39\\x81\\xdc\\xb8\\xaa\\xa6\\xda\\xb9\\xab\\x7a\\x24\\xb3\\xb6\\xfd\\x07\\xe3\\xd3\\x50\\xc6\\x6b\\x7e\\xf4\\xb5\\x7f\\xc8\\xa9\\x06\\x30\\xc5\\xe9\\xb0\\x56\\x6b\\xe1\\x3e\\xc7\\xd9\\x3c\\x55\\x6d\\x34\\xe2\\x38\\x91\\xb3\\x1e\\x47\\x58\\x6f\\x91\\x17\\x3c\\x1d\\x93\\xe0\\x00\\x27\\x92\\xcf\\xb7\\x63\\x36\\xff\\xf2\\x0b\\x44\\x55\\xf0\\xdd\\x03\\xd2\\x76\\x98\\xf1\\x74\\x8d\\x74\\x0e\\xe2\\x8f\\xbe\\x02\\xaa\\x5d\\xbb\\x96\\xc3\\xc7\\x52\\xda\\x1a\\x98\\xef\\x73\\xfb\\xdb\\x38\\x7f\\x5e\\x67\\x72\\x95\\xcb\\x70\\x27\\xa2\\x60\\xc8\\xe4\\x14\\x2d\\x16\\xb7\\x5d\\x8f\\x90\\xc7\\xe8\\x72\\x11\\x87\\xf5\\x28\\xf4\\xed\\xc4\\x19\\x4b\\xd4\\xb2\\x36\\xba\\x9e\\x89\\xe1\\xc9\\x5f\\xb6\\xf3\\x20\\x77\\xff\\x55\\x2b\\xaf\\xb7\\x1e\\xb2\\x95\\xf5\\x19\\x3c\\xb0\\x70\\x40\\x8f\\x7b\\xbd\\xf0\\xbb\\x74\\x7f\\x5c\\xdf\\xb1\\x4b\\xb7\\x42\\xfd\\xf2\\xad\\x35\\xd5\\x86\\x19\\xa1\\x01\\xbd\\x8b\\x72\\xe1\\x81\\x35\\x37\\xa6\\x5d\\xce\\x65\\xfc\\x03\\x46\\x4b\\x3a\\x6b\\x2b\\x7e\\xce\\xbd\\x20\\x64\\x75\\x9b\\x45\\x31\\x25\\x4e\\xaf\\x77\\x20\\xe4\\x77\\x59\\xad\\xc4\\x18\\xa7\\xe1\\x82\\x93\\xd4\\x2e\\xed\\x5d\\xe8\\x89\\xa1\\x28\\x1a\\x18\\x9b\\x53\\xf4\\x97\\x2e\\x90\\xbe\\x6b\\xc3\\x35\\x37\\xef\\xbd\\xb6\\x7c\\x8d\\xe7\\x80\\x7d\\x68\\xb3\\xb6\\x7f\\x75\\xfd\\xfa\\xc3\\x05\\x05\\x3d\\xfb\\x0e\\x60\\x2b\\x6d\\x58\\xb8\\xf4\\x8a\\xc7\\x8e\\xbe\\xf4\\xaf\\x29\\x95\\xf6\\x91\\xcf\\x0f\\x5c\\xd7\\x54\\x10\\xea\\x93\\xdb\\xef\\x92\\x50\\x64\\x0f\\xe0\\x53\\xd6\\x4e\\x1e\\xc6\\x2b\\x3d\\x4a\\x0d\\xe9\\xf8\\x5e\\xa3\\x56\\xaf\\x41\\x71\\x5a\\x1d\\x6f\\x19\\x21\\xd2\\x32\\x4a\\x07\\xfc\\xcb\\x0e\\x23\\x78\\x5a\\xe6\\x05\\x9e\\x08\\x96\\xad\\x94\\x96\\xe2\\xbe\\xf8\\x93\\xbb\\x8f\\x3e\\x38\\xa7\\xe4\\xc0\\x83\\xfb\\xaf\\x90\\xd7\\x96\\x6f\\xb2\\x7a\\x67\\xb1\\x7a\\x3b\\x91\\x0f\\x65\\xa2\\xb1\\x21\\xaf\\x26\\x2d\\xcd\\xad\\xd7\\x8b\\x48\\xec\\x6e\\x4f\\x4e\\x46\\xf1\\x4c\\x6a\\x51\\x96\\x5d\\xa3\\xf1\\xfb\\xbd\\x5e\\x92\\x20\\xf7\\x9e\\x8c\\x76\\x26\\x28\\xc2\\x1a\\xbb\\x22\\x52\\xf6\\x9c\\x02\\xe6\\x58\\x7e\\x14\\xc4\\x6e\\x1f\\x7a\\x81\\x6f\\xcd\\xd9\\x6d\\xf2\\x5e\\xa3\\x92\\x80\\xac\\x9b\\xb6\\x6d\\xdd\\x33\\xa6\\x7f\\x61\\xff\\xab\\x2e\\xdf\\xb4\\x63\\x40\\xc1\\xc0\\x51\\x27\\xe7\\xcd\\x9d\\x97\\x97\\x6b\\x6d\\xaa\\x6b\\x1c\\x94\\x0b\\xa3\\x17\\xb5\\x34\\xd7\\x0c\\x2e\\xb1\\xda\\xa7\\x17\\xcc\\xaa\\x5b\\x50\\x96\\x1f\\xb6\\x9b\\xc3\\x20\\xce\\x98\\x31\\xaf\\x87\\xf4\\x43\\xf5\\xc2\\xc6\\x10\\x6b\\xbf\\xf7\\x95\\xf6\\xb3\\xb1\\x7a\\xe4\\x87\\xcc\\x76\\x94\\x28\\x9a\\x4c\\xc9\\xac\\xaf\\xa5\\xc4\\x31\\xc2\\xe3\\xad\\x5d\\x3b\\x9a\\x25\\xd6\\xe2\\x3b\\xb2\\x8e\\xeb\\x90\\xa7\\x82\\x68\\x3b\\xfa\\x48\\xa7\\xc6\\xbb\\xed\\xda\\x45\\xab\\xdd\\xf7\\xc5\\x0f\\x6f\\xd1\\xf7\\xa9\\xaf\\x5b\\xbb\\xfb\\x4a\\xe8\\x76\\xac\\x28\\xaf\\x67\\x41\\x7e\\x30\\xaf\\x08\\x7e\\xff\\xd7\\xf1\\x19\\x15\\x8e\\x4b\\x9e\\x1a\\xb8\\x65\\xc9\\xb2\\x8d\\xd2\\xf7\\x83\\x46\\x0d\\x2e\\xcc\\x1f\\xde\\x4f\\x5e\\xd3\\x1e\\x11\\x76\\x62\\xb3\\x4a\\x8d\\x04\\xa6\\xd0\\x7b\\x87\\xdc\\x82\\x4a\\x0f\\x7a\\x13\\x06\\x30\\x6b\\x8d\\x86\\x24\\x03\\xe6\\x67\\x9d\\x20\\xa4\\x89\\x1b\\x01\\x7a\\xb6\\x9e\\x0d\\x3e\\x9b\\x55\\x98\\x6b\\x3a\\x39\\x3b\\xd0\\x61\\x46\\x5e\\x28\\x2f\\xed\\x54\\xfe\\x7c\\xbe\\x4b\\xe2\\x67\\xdf\\xd6\\x20\\xf4\\x79\\xef\\x93\\x79\\x4d\\xd5\\x1f\\xe0\\x8f\\xaa\\xce\\x9c\\x50\\xa9\\xf5\\x0f\\x68\\x0f\\xda\\xee\\xbe\\xdb\\xc6\\x6d\\x85\\x71\\xeb\\x77\\xc2\\x4e\\x18\\xa1\\xe0\\xeb\\x15\\x4a\\x34\\x00\\x51\\xab\\xd9\\xac\\x9f\\x98\\x30\\xa6\\x1c\\x0f\\xd5\\xf1\\x20\\x80\\x58\\x94\\x37\\xd8\\x18\\x26\\x8e\\xb1\\x13\\x36\\x62\\x97\\x57\\xcd\\x41\\xab\\x82\\xef\\xd5\\x79\\x9f\\xbc\\xf7\\xd6\\x89\\x33\\x55\\x1f\\xe1\\x0f\\xaa\\xc5\\xa9\\xda\\x07\\xf4\\x93\\xa4\\x9f\\x38\\x3a\\xb9\\x6e\\x3b\\xe0\\x49\\x15\\xdf\\x2b\\x4c\\x60\\xfa\\xc3\\x1b\\x67\\xb0\\x18\\x04\\xe2\\xd4\\x38\\x13\\x91\\x46\\xe3\\xb6\\xbb\\xac\\xab\\x8d\\x06\\x03\\x56\\x71\\xac\\x2a\\x87\\x55\\xae\\x1d\\xdf\\x9d\\x48\\x30\\x9d\\xec\\xa8\\x9f\\x62\\x39\\x18\\xdd\\xaf\\xe5\\x7e\\x0b\\xf8\\x7e\\xad\\xaa\\xa3\\xb2\\x93\\xfb\\x05\\xbb\\xd9\\xfa\\x0e\\xd9\\x3d\\xa4\\xf7\\x80\\xd1\\x66\\xa5\\xd2\\xe2\\x5e\\xbf\\x29\\x64\\x9b\\x97\\xdd\\xc7\\x79\\xc9\\x9b\\xd1\\xaa\\xcb\\xfb\\x38\\x3b\\xa1\\x88\\xd5\\x9d\\xcb\\x73\\x9f\\x50\\x62\\x92\\xcd\\xe6\\x4b\\x54\\xab\\x7d\\xf1\\x6e\\x93\\x9a\\xcd\\x47\\xdc\\xc8\\x46\\xf5\\x9c\\x18\\x7d\\x82\\x8f\\xef\\x03\\x66\\x05\\x02\\x91\\x93\\xcc\\xb1\\x1a\\xed\\xef\\xb6\\x4a\\x8c\\x6c\\xa5\\x5f\\x10\\x64\\x6d\\xf0\\x77\\x7b\\x25\\x4f\\x5c\\x77\\xe3\\x6b\\xcf\\xbc\\x7a\\xa3\\x58\\xdc\\x79\\xaf\\xa4\\x7e\\x88\\xfe\\xaa\\x6d\\x5a\\x46\\xdb\\xf3\\xc2\\x2e\\x28\\x54\\x69\\x59\\xbb\\x58\\xb9\\x27\\x22\\x6c\\x36\\xdb\\x05\\x8d\\xc6\\x46\\xb8\\xcf\\xb2\\x38\\x93\\x76\\xb5\\x88\\x72\\x13\\x3e\\x0c\\x04\\x8f\\xf3\\xa8\\xc9\\xb1\\xd4\\x44\\xda\\x9e\\xc9\\x66\\x30\\xfa\\x7c\\x15\\xfc\\x9f\\x9c\\x5a\\x1b\\x5e\\x73\\x87\\x65\\xa1\\x79\\xc1\\xe4\\xc9\\x55\\xe6\\x85\\x8e\\xdb\\x55\\x5a\\xfd\\x0e\\xed\\xc7\\x1b\\x9a\\x86\\x16\\xf4\\x19\\x72\\xe9\\x1a\\x99\\x17\\xb1\\xf8\\xba\\x85\\xcc\\xc0\\xf0\\x51\\x86\\x0f\\x63\\x51\\x88\\x41\\xf7\\xac\\xb9\\x33\\x36\\xb9\\xed\\xad\\x9d\\xb0\\xcd\\x5a\\x7b\\xea\\x13\\x5f\\x27\\x6c\\x62\\xb3\\x76\\x87\\x5e\\xba\\x22\\x06\\x5d\\x0c\\xbe\\x38\\x36\\x93\\x09\\x84\\x1c\\x89\\x3a\\x27\\xb1\\x5a\\xbd\\x06\\x9d\\x2e\\xc9\\xe4\\x4e\\x4c\\x44\\x76\\xa2\\x53\\xb6\\x19\\x4f\\x05\\x38\\xd2\\x60\\xa0\\x73\\x07\\x24\\x9d\\x70\\x92\\x18\\x79\\x60\\x23\\x5e\\x00\\x3a\\xe1\\x2f\\x53\\x24\\x62\\xd4\\x48\\xff\\x68\\x61\\x57\\x94\\x0c\\x30\\xc8\\x32\\x91\\xd7\\xab\\x40\\x91\\x85\\x5d\\x4c\\x16\\xb4\\x48\\x87\\x52\\xf9\\x4e\\xb6\\x26\\x39\\x39\\x9d\\xd8\\x6c\\x69\\x36\\x8f\\x5e\\xef\\x33\\xc7\\x53\\xf5\\x6a\\x39\\xfe\\x2f\\xe3\\xc1\\xb3\\x81\\xc0\\x5f\\xb6\\xf1\\xd2\\xa3\\xdb\\x9f\\x50\\x20\\x07\\x58\\x8c\\x08\\x83\\x1c\\x0c\\x91\\x0b\\x03\\x54\\x6e\\x30\\x4c\\xf1\\x6c\\xd9\\xe4\\x99\\x62\\x5f\\xe3\\xf2\\x0f\\x1d\\x34\\x20\\x71\\x82\\x79\\x26\\x93\\x81\\x50\\x6a\\x71\\xa8\\x5f\\x02\\x17\\x08\\x5d\\xf7\\x31\\xc2\\xae\\x05\\xb3\\x27\\x4d\\x2a\\x2f\\xfb\\xc0\\xea\\xb0\\xf6\\x1f\\x54\\xe8\\x63\\x5f\\x49\\x9e\\x50\\xbf\\x24\\x46\\xdb\\xd5\\xf4\\x16\\x5c\\x28\\xa6\\xcb\\x7d\\x94\\xd1\\xd6\\xa1\\x13\\xf8\\xa6\\x56\\x48\\x6b\\x58\\xcd\\x1f\\xd4\\x07\\x13\\x4e\\x15\\x26\\xbc\\x6c\\xee\\xd2\\x3b\\x3b\\xeb\\x02\\x08\\xc2\\xbc\\xf7\\x5e\\x6e\\x5a\\x76\\xcb\\x4b\\xf4\\x8d\\xbd\\x80\\x3f\\x13\\xd3\\x99\\x32\\x78\\xd4\\xfd\\xd4\\x53\\x6e\\x18\\xc8\\x74\\xc1\\x49\\x7a\\x0b\\x34\\x77\\xe0\\x89\\xd5\\x05\\x5a\\x21\\xa4\\x17\\x57\\x1b\\xb4\\x7f\\x87\\x27\\xaa\\x05\\x40\\xc1\\xf4\\x63\\xd3\\xcb\\xef\\x7d\\xf9\\x19\\xe0\\xbd\\x6f\\xd0\\x97\\x6e\\x11\\x9a\\x98\\x1a\\xe8\\x21\\x3d\\xcd\\x11\\xa1\\x48\\x7d\\x40\\x12\\x97\\x20\\x0d\\x1b\\xcd\\x73\\x42\\x76\\x67\\x3c\\xc4\\x1b\\x89\\xa8\\xb5\\x5a\\x3d\\xa2\\xdb\\x1c\\x2f\\x33\\x1b\\xa3\\xdc\\x67\\x13\\xb8\\xed\\x41\\xf4\\x60\\x4a\\xb4\\xe7\\x2b\\xf0\\xd3\\x82\\x69\\x31\\x6d\\xce\\x9f\\xd9\\x0c\\x04\\x58\\x1c\\xad\\x17\\xa0\\x31\\x03\\xf2\\x13\\x8a\\xc3\\x4f\\x0d\\x1e\\x39\\xb3\\x7b\\x3e\\x7d\\xdc\\xbd\\x71\\xa3\\xfb\\xcf\\xa2\\x6c\\xeb\\xf8\\xf8\\xfa\\xbc\\x61\\x9a\\xf4\\x39\\xd8\\x82\\xa2\\x74\\x2c\\x16\\xcf\\xcb\\xe7\\xcc\\xb2\\x43\\x56\\x8d\\xcf\\x97\\xea\\x48\\x48\\x48\\x13\\xec\\x71\\x16\\x0d\\xf2\\xa6\\xac\\xf6\\xb9\\x23\\xd5\\x7d\\x3b\\x10\\x38\\x19\\x08\\x74\\x6a\\x71\\x39\\x8c\\x66\\x97\\x66\\xb6\\xb6\\xd3\\x76\\x5d\\xb7\\xf1\\x63\\x86\\x26\\xa6\\x65\\x6a\\x57\\xa8\\xb3\\x26\\x0f\\xcd\\x9c\\x38\\x7a\\x48\\x42\\x76\\xaa\\x66\\x99\\x90\\x3d\\x79\\x57\\x94\\x44\\xe1\\x67\\x7f\\xa6\\x3f\\x37\\x54\\x39\\xbf\\x5f\\x4a\\xf7\\x94\\xbe\\xbd\\x4a\\xab\\x07\\x48\\x2f\\xc8\\x64\\x32\\xba\\xf6\\x30\\xba\\x56\\x8a\\x7f\\xca\\x11\\x42\\x52\\x43\\x46\\xbd\\x96\\x18\\x8d\\x56\\x62\\x31\\xe8\\x35\\x44\\x11\\xc3\\x53\\x81\\xb7\\x63\\x3d\\x9e\\x11\\x45\\x02\\x19\\x19\\x98\\x4d\\xa8\\x92\\xed\\x02\\xbe\\xf5\\x90\\xee\\x76\\xe3\\x03\\xd3\\xa7\\x1b\\xf6\\xa5\\x48\\x45\\x17\\x00\\x4b\\xf7\\xd1\\x5b\\xb6\\x6f\\x58\\xda\\xb7\\x48\\xfa\\x0a\\x46\\x26\\xfd\\x9c\\x75\\x8e\\xe1\\x59\\xcd\\xf0\\xcc\\xed\\xc0\\x83\\xcd\\x71\\x1a\\x56\\x73\\xab\\x51\\xaf\\xc6\\x7f\\x83\\xc7\\x47\\xe4\\x4e\\x27\\xf7\\xb9\\xb4\\xfc\\x64\\xa7\\x1d\\xa4\\x63\\x29\\xfb\\x0c\\xd3\\xa7\\x3f\\x60\\xbc\\x5d\\x77\\xe8\\x84\\x74\\x1f\\xe0\\x0b\\x0c\\xa8\\xa3\\xa8\\xef\\xd2\\x0d\\xdb\\x61\\xe4\\xb9\\xac\\x9f\\x93\\x94\\xfa\\x94\\xaa\\x30\\xc3\\x22\\xf7\\x75\\xa3\\xe0\\xd6\\x22\\xe4\\x76\\x27\\xd9\\x0d\\x82\\xe0\\x55\\x19\\x13\\xe3\\x13\\xed\\xab\\x2d\\x4c\\xc1\\x9c\\x0c\\x04\\x4d\\x6f\\x9f\\x88\\x9d\\x28\\x45\\xce\\x45\\xc5\\x3c\\x9d\\x93\\x9b\\x3a\\x10\\x5b\\xdf\\xe1\\x3b\\x7b\\xf5\\xd1\\x15\\xd4\\x5f\\x75\\xcd\\xf4\\x39\\xd7\\x6e\\x1d\\x19\\x53\\x6d\\x71\\xe6\\x40\\x75\\xa5\\x6e\\xdc\\xc8\\xfc\\x11\\x2a\\xef\\x0c\\x69\\xa5\\x52\\x79\\xa4\\xd0\\x33\\x5f\\xfc\\x83\\xb5\\x7b\\x9a\\xdc\\xd7\\x3d\\x0e\\x4f\\x7a\\xaa\\xc3\\x91\\x61\\x17\\xe2\\x34\\x16\\xe4\\xf7\\x79\\x56\\x27\\x30\\x6a\\x4e\\x05\\x03\\x9d\\x1b\\x5e\\xa6\\xe5\\xa2\\x2d\\x1f\\x4b\\xcf\\xcd\\x7f\\xdb\\xf6\\x67\\x63\\x88\\x13\\x7e\\xfc\\x4b\\xf3\\xdf\\xdf\\x4e\\x21\\x5f\\xe7\\x4d\\x11\\xae\\xc1\\x93\\x44\\xee\\xab\\xd2\\x7e\\x84\\x02\\xa8\\x44\\xb2\\x1a\\x71\\x16\\xb5\\x1f\\x14\\x89\\xb0\\xff\\x6e\\x99\\xe5\\xc2\\x35\\x32\\xa7\\xe5\\xf3\\xc8\\xc2\\x2e\\x3c\\x45\\xdc\\x2f\\x97\\xe3\\xc7\\xbb\\xba\\x96\\xb3\\xca\\xe2\\x31\\x4d\\x96\\x08\\x61\\x97\\x2c\\x08\\xf2\\x3a\\xea\\x33\\x56\\xee\\xb8\\x78\\x2f\\xeb\\x93\\xfc\\x5c\\x8e\\x28\\x6a\\xa9\\x46\\xee\\x85\\xca\\xb9\\x9c\\xce\\x7d\\x0f\\x1f\\x6f\\x17\\xe3\\x07\\x23\\x42\\xab\\xc0\\xd8\\xc9\\x60\\xdc\\x1d\\x81\\xc1\\x63\\xca\\xab\\xe8\\x6a\\x11\\x3a\\xc3\\xf0\\xa7\\x71\\x35\\x51\\xc0\\x26\\xfe\\x27\\x3e\\x93\\xa4\\x88\\x7a\\xd8\\xf9\\x87\\x67\\xe3\\x46\\x4f\\xe4\\xec\\xa7\\x91\\xd1\\x71\\x83\\x18\\x89\\x83\\x99\\x1e\\x32\\xab\\xd8\\xaa\\x02\\x11\\xa2\\x51\\x0b\\x80\\xe0\\xaa\\x99\\x72\\x98\\xfb\\x98\\x87\\xe4\\x8a\\x8d\\x07\\xf7\\x5a\\xc4\\x20\\x1e\\xf9\\xb4\\x75\\xc9\\x19\\x61\\xd7\\x07\\xec\\x4f\\xa6\\xe7\\xa4\\x30\\x1f\\xbf\\x27\\xae\\x65\\xeb\\xf7\\xf4\\x90\\xc9\\x66\\xb7\\x27\\xb8\\xd4\\x1a\\x8d\\xcb\\x26\\xe8\\x57\\x9b\\xb9\\xdb\\xa1\\x67\\x83\\xf2\\xe0\\x12\\x73\\x6e\\x0e\\xda\\x5b\\x17\\x62\\xd5\\xf7\\x9f\\xd9\\xe1\\xc9\\xa3\\xbd\\x3d\\xb2\\x35\\x5b\\xf4\\x75\\x95\\x3d\\x66\\x4c\\x1e\\xe9\\xe9\\xd9\\x5d\\xbd\\x49\\x9d\\x3f\\x4f\\x98\\xef\\xcf\\xf2\\xe7\\x0c\\xb9\\x69\\x15\\xfb\\xea\\x53\\x58\\xd7\\x58\\x18\\x39\\xf7\\xb7\\x4f\\xd8\\x45\\x44\\xb9\\xed\\x74\\xfc\\xac\\x9e\\x4a\\x90\\x9f\\x11\\xe8\\x35\\x74\\xb5\\x0a\\x62\\x4e\\x3a\\x45\\xfa\\x94\\x95\\x4f\\x14\\xec\\x4e\\xf9\\x33\\xb0\\xf5\\xe3\\xaf\\xa7\\xb3\\xb7\\xb0\\x2b\\xe5\\xfb\\xac\\xcf\\xd9\\x3b\\xc2\\xd7\\x9f\\x19\\x4f\\x8e\\xb0\\xb6\\xd1\\xf1\\xa7\\x26\\x1a\\x06\\x4b\\xcf\\x94\\x32\\x07\\x27\\x46\\x1f\\xc4\\x75\\xaa\\x43\\x8c\\x2e\\x98\\x14\\x2b\\x72\\xbb\\x3a\\x04\\x0c\\x90\\x95\\x1e\\xc3\\x2d\\x42\\x25\\xe3\\xb3\\xf1\\x10\\x20\\xca\\xbe\\xe5\\x39\\x6e\\x80\\x7b\\x7d\\xb5\\x27\\x5b\\xe5\\x87\\x9b\\x95\\x77\\x29\\xf6\\x9a\\x6d\\xcf\\xd1\\x17\\xc5\\x35\\xa6\\x74\\x41\\xb7\\x88\\x9f\\x25\\xf8\\x81\\x1f\\x39\\x95\\x6d\\x29\\x6d\\xa8\\x26\\x34\\x18\\x6f\\x4e\\x82\\xe1\\x49\\x47\\x92\\x70\\x5e\\x12\\xd8\\x92\\xc0\\x9f\\x04\\x28\\x69\\x5e\\x12\\xf6\\x25\\x25\\xf1\\x23\\x2b\\xe7\\xb8\\x09\\x2d\\x14\\x73\\x2b\\xda\\x34\\x2b\\x08\\xd6\\x0d\\xd6\\x5f\\xad\\x6c\\xa8\\xdf\\x69\\x7d\\xc6\\x4a\\x26\\x5a\\xc1\\xc7\\xad\\x7c\\x8f\\xb6\\x2d\\x09\\xe9\\xad\\x56\\x95\\x2a\\x0d\\xac\\xe3\\xf9\\x0f\\x1d\\x56\\xba\\xdc\\x84\\x34\\x3f\\x6a\\xb4\\xda\\x95\\x16\\x26\\x1e\\x32\\x2d\\x68\\x78\\xe8\\x7f\\x07\\xd1\\xc5\\xed\\xa6\\xbf\\x6f\\x6b\\x20\\x5a\\x54\\x18\\xb2\\x43\\x86\\xf1\\x1d\\x23\\x76\\x18\\x7b\\x1b\\x37\\x1a\\x89\\x60\\x84\\xa1\\xc6\\xc9\\x46\\x06\\x73\\x5a\\xc8\\x2c\\x9b\\x75\\x02\\xbb\\x7b\\xce\\xc8\\x64\\x38\\xcf\\x88\\x63\\x4c\\x9f\\xf3\\x2f\\x06\\xf3\\x5c\\xdb\\x66\\x06\\x33\\x23\\xe4\\xc4\\x1d\\xe6\\xd7\\x18\\xc6\\x1b\\x21\\xcf\\x08\\xc8\\x08\\x46\\x64\\xe6\\x25\\x39\\x84\\xfc\\x76\\xbb\\xd9\\x0c\\x06\\xe3\\x01\\x71\\x9b\\x25\\x5d\\x7d\\x46\\xe6\\xff\\x17\\xbf\\x22\\xe4\\x0a\\x19\\xf9\\xf9\\x37\\xe8\\x1f\\xdf\\x1f\\x5e\\xef\\xdf\\x1f\\x99\\xd2\\xb2\\x18\\x62\\xfe\\xd7\\xa9\\x8c\\x29\\x5a\\xe6\\xdb\\x4f\\xd8\\x1a\\x2d\\xe4\\x65\\x25\\x52\\xc3\\xa9\\x5f\\xa6\\xe2\\xf8\\xd4\\x17\\x52\\xf1\\xf0\\xd4\\x96\\x54\\x9c\\x9e\\xba\\x31\\x15\\x4f\\x49\\x4d\\x95\\x41\\xc8\\x56\\xae\\xf9\\x8a\\x2d\\x72\\x86\\xb4\\xaf\\x13\\x8c\\x6f\\xbe\\x40\\x28\\x2d\\x94\\x28\\x83\\x80\\x6e\\xa9\\x50\\xc0\\x8a\\xbf\\x93\\x4a\\x86\\xa5\\x3e\\x97\\x8a\\x67\\x76\\x02\\x80\\x2e\\x7a\\xb6\\xe8\\xff\\xc9\\xf9\\x0b\\x24\\xa2\\x67\\x59\\xdd\\x55\\x6d\\xdf\\xb1\\x7e\\xe3\\x64\\x23\\x7c\\xae\\x1c\\x27\\x26\\x2d\\x64\\xed\\x5f\\x98\\x88\\x92\\x21\\x94\\xbc\\x37\\x19\\x27\\xb3\\xd5\\xea\\x80\\x0c\\x23\\x91\\x1f\\x8e\\x73\\x33\\x85\\xd9\\x8b\\x03\\x01\\xd6\\x07\\x9c\\x31\\xee\\x22\\x63\\xdd\\x48\\xaa\\xfe\\xc6\\xa5\\xa4\\x3d\\x36\\x0f\\xeb\\x8a\\xcf\\xe6\\xa4\\xa4\\xe4\\xe4\\xf9\\x7c\\x79\\xe7\\x72\\x7c\\x72\\x22\\xa7\\x29\\x97\\x5d\\xe5\\x26\\xfb\\x72\\x71\\x5e\\x4e\\x8a\\x2f\\x2f\\x8f\\xfd\\x9c\\xe3\\x4b\\xce\\x65\\xe9\\x9c\\xe7\\xeb\\x4a\\x23\\x99\\x73\\x93\\xd9\\x8f\\xbc\\xe0\\x41\\x1f\\xbb\\xe9\\xcb\\xcb\\xf9\\x29\\xa5\\x47\\x0f\\x96\\x21\\xe7\\xa0\\x72\\x2f\\x07\\x6a\\x25\\x39\\xa6\\x34\\x45\\x9f\\x4a\\xab\\xc9\\x17\\xac\\x6e\\x44\\xf6\\x1e\\x99\\x84\\x12\\x43\\x06\\x80\\x24\\xe4\\x82\\x90\\x6b\\xaf\\x0b\\xbb\\xbc\\xb2\\x7d\\x07\\xab\\x4d\\x61\\x2e\\xab\\x0d\\xeb\\xd1\\xff\\x89\\xda\\x4f\\x61\\xb8\\xf4\\x28\\xae\\xf8\\x2b\\x5d\\xf9\\x0b\\x06\\x5e\\x9c\\x82\\x0e\\xfc\\x2a\\xb6\\x5e\\xe0\\xd1\\x78\\x64\\xfc\\x3e\\xe4\\x81\\x90\\x67\\xaf\\x07\\x7b\\x92\\x75\\x31\\xf8\\x21\\xdf\\x9f\\xcf\\x4f\\x98\\xfe\\x27\\x1a\\x60\\x42\\x2d\\x0c\\x5f\\x00\\x9b\\xff\\x4a\\x84\\xf4\\xcd\\x92\\x05\\x0b\\x96\\x3c\\x7c\\x51\\x42\\x30\\x1a\\xd9\\xf6\\x0d\\x6d\\x11\\x13\\x18\\x15\\x39\\xfc\\xa4\\x6a\\x0e\\xce\\x30\\x10\\xbb\\x4d\\xb6\\xda\\xc4\\x80\\x9c\\x5e\\x6c\\xb7\\x71\\x0b\\xd3\\x1c\\xee\\x57\\x0e\\x17\\x80\\x45\\xb0\\xa7\\x92\\x29\\xbe\\x82\\x11\\xdd\\x86\\x2c\\x1c\\x93\\xe9\\xee\\x1b\\x1e\\x50\\x5c\\xd2\\x3f\\x51\\xfa\\x01\\xae\\x70\\xe5\\x14\\x25\\x0f\\xbf\\xfc\\xc5\\x35\\xab\\x8e\\x6f\\x1a\\x3e\\x72\\xd5\\xdd\\xf3\\xa4\\x17\\xde\\xc5\\x2b\\xa5\\x77\\xe1\\xdc\\xb0\\x25\\x95\\xd3\\xbb\\xc5\\x8f\\xa9\\xde\\x38\\x69\\x70\\xfd\\x84\\x9c\\xdc\\x89\\x8d\\xa4\\x56\\xda\\xea\\x2d\\x5c\\xbd\\x63\\x72\\xcd\\xa3\\x1b\\xc7\\x0c\\x5b\\xf3\\xd8\\x92\\xda\\xfb\\xd6\\xcf\\x4d\\x86\\xbe\\x30\\xa1\\xfe\\xd8\\x68\\xde\\x3a\\x5e\\xa8\\x8d\\x78\\x8a\\x60\\x7f\\x53\\xd1\\xfd\\x4a\\x9a\\x77\\xeb\\x34\\x25\\x8d\\x11\\x85\\x22\\x25\\x4d\\x50\\x02\\x2c\\x53\\xd2\\x14\\xd9\\xe0\\x49\\x25\\x2d\\x20\\x03\\xfc\\xa4\\xa4\\x45\\x64\\xc5\\x99\\x4a\\x5a\\x85\\x96\\x91\\xa0\\x92\\x56\\x23\\x1b\\x79\\x57\\x49\\x6b\\x90\\x81\\x3f\\x4d\\x97\\xd3\\x5a\\x68\\x64\\xf3\\xad\\x48\\x5a\\x87\\xdc\\xea\\x07\\x94\\xb4\\x1e\\xe5\\x68\\xb2\\x94\\x74\\x1c\\xca\\xd7\\x1c\\x57\\xd2\\x06\\x94\\xa0\\x0d\\x30\\x4a\\x80\\xb2\\x81\\x11\\xdd\\x27\\x53\\xc5\\xd3\\xc0\\xea\\x22\\x28\\x69\\x8c\\xf8\\x29\\xc5\\x48\\x9a\\xa0\\x5e\\x30\\x54\\x49\\x53\\xd4\\x0d\\x76\\x29\\x69\\x01\\xb9\\xe1\\x4d\\x25\\x2d\\xa2\\x74\\xd6\\x02\\x91\\xb4\\x0a\\xfd\\x82\\x07\\x28\\x69\\x35\\xea\\x46\\xee\\x57\\xd2\\x1a\\xe4\\x26\\xdf\\x2a\\x69\\x2d\\xfe\\x9c\\x26\\x28\\x69\\x1d\\xea\\xa3\\x6e\\x56\\xd2\\x7a\\x34\\x4b\\x7d\\x52\\x49\\xc7\\xa1\\x05\\x9a\\x19\\x4a\\xda\\x80\\x7a\\x69\\x2e\\xa0\\xa1\\xa8\\x1a\\xcd\\x67\\xef\\x26\\xf6\\x5e\\x86\\x2a\\x50\\x39\\x5b\\xcb\\x97\\xa3\\x12\\x76\\x5d\\xc2\\x52\\x65\\xa8\\x0e\\xd5\\xa3\\xa5\\xa8\\x41\\xce\\x55\\xc5\\x7e\\xf5\\xa1\\x6e\\xec\\xd7\\x4c\\xf6\\x1d\\x40\\x79\\xa8\\x27\\x7b\\xfb\\xd0\\x70\\x96\\xab\\x8e\\xdd\\xaf\\x61\\xe5\\x7d\\x68\\x08\\x4b\\x37\\xb0\\x52\\xfc\\xb3\\x44\\x86\\x5b\\x87\\x6a\\x99\\x74\\x69\\xe5\\x3b\\xff\\x19\\x5a\\x80\\xa5\\x26\\x2a\\x54\\x8c\\x90\\x4b\\x67\\xb3\\xd4\\x48\\x56\\xbe\\x8c\\xcb\\xe7\\xd0\\xea\\xf9\\xd5\\x4d\\xd5\\xcb\\x2a\\xca\\x7d\\xe5\\x25\\x4d\\x25\\xbe\\xb2\\xba\\xfa\\xa5\\x0d\\xd5\\xf3\\xab\\x9a\\x7c\\xdd\\xca\\x32\\x7d\\x81\\xbc\\x9e\\x79\\xbe\\xe1\\x75\\x75\\xf3\\x6b\\x2a\\x7c\\x43\\xea\\x1a\\xea\\xeb\\x1a\\x4a\\x9a\\xaa\\xeb\\x6a\\x73\\xb4\\x43\\xba\\x66\\x0b\\xf8\\x26\\x32\\x10\\x23\\x4a\\x9a\\xb2\\x7d\\x23\\x6b\\xcb\\x18\\xdc\\x31\\x8c\\xa0\\x52\\x86\\x36\\x96\\x60\\x1f\\x1a\\x2b\\x7f\\xd7\\xb1\\xdb\\xd5\\xa5\\x15\\x11\\x60\\xbe\\xb1\\x75\\xb5\\xec\\x87\\xc1\\xec\\xd7\\x1a\\x46\\x24\\x1a\\x5c\\x57\\xc3\\x3e\\x07\\xa1\\x46\\x46\\x5f\\x05\\xcb\\x5c\\x2e\\x03\\xf1\\xa1\\x1e\\xec\\xfd\\x5f\\x00\\x1d\\xd4\\x58\\x56\\x51\\x5b\\x5e\\xd1\\xe0\\xeb\\xe1\\xfb\\x0b\\xfc\\xff\\x5c\\xd4\\xd7\\x81\\xbf\\x4b\\x49\\x5f\\x84\\x9e\\xa9\\x72\\xd1\\xc6\\xf6\\x82\\x01\\xc6\\xbb\\x3c\\xf6\\xca\\x61\\x1c\\x46\\x53\\x2b\\x1a\\x1a\\x79\\xfe\\x40\\x4e\\x5e\\x5e\\x4e\\xcf\\x8b\\xe3\\x8a\\x62\\xea\\x71\\x31\\x4c\\x1c\\x51\\x8f\\x08\\xa2\\x8b\\xd3\\x59\\xcd\\x50\\xfb\\x64\\xf1\\x69\\x92\\xef\\x70\\xa6\\x2c\\x62\\xdf\\x0d\\x68\\x21\\xfb\\xad\\x0e\\x55\\xfe\\xc7\\x46\\xf6\\xb1\\x7c\\x15\\xb2\\x48\\x36\\xb2\\x3b\\x15\\xf2\\x55\\xb9\\x0c\\x95\\xc3\\x9e\\xc2\\x72\\x4c\\x92\\x73\\x8d\\x97\\x4b\\x72\\xa6\\x37\\xc9\\xd8\\x6a\\xe5\\x5c\\x93\\x2f\\x82\\x71\\x1c\\xc3\\x58\\xc9\\xca\\x97\\xc9\\xe2\\x19\\xcd\\x59\\x26\\xc3\\xe6\\x62\\x1e\\x81\\x5c\\xc7\\xd2\\x55\\x4a\\xf3\\x2d\\x40\\x4b\\x64\\x21\\x6d\\x64\\x39\\x79\\xb9\\x68\\xdd\\x1a\\xb9\\x10\\xc6\\xf0\\xbc\\xba\\xd1\\x57\\xe2\\x6b\\x6a\\x28\\x29\\xaf\\x58\\x54\\xd2\\xb0\\xd0\\x57\\x57\\xd9\\x59\\xb0\\x7c\\x0d\\x15\\xf3\\xab\\x1b\\x9b\\x2a\\x1a\\xd8\\x8f\\xd5\\xb5\\xbe\\x29\\x39\\x93\\x72\\x7c\\xe3\\x4b\\x9a\\x2a\\x6a\\x9b\\x7c\\x25\\xb5\\xe5\\xbe\\xc9\\xed\\x05\\xc7\\x55\\x56\\x56\\x97\\x55\\xc8\\x3f\\x96\\x55\\x34\\x34\\x95\\xb0\\xcc\\x75\\x4d\\x55\\x4c\\x36\\x16\\x2c\\x69\\xa8\\x6e\\x2c\\xaf\\x2e\\xe3\\xd8\\x1a\\x73\\x2e\\x26\\x69\\x17\\xef\\x6d\\x1d\\xd2\\x15\\xd3\\x13\\x10\\xe3\\x1c\\xe7\\x58\\xb3\\xcc\\x87\\xb1\\x72\\x76\\x7e\\xdd\\x18\\x29\\x32\\xa9\\xa9\\xa2\\xb9\\xc2\\x37\\xb6\\xa4\\xa9\\xa9\\xa2\\x91\\x67\\x1e\\xcc\\x32\\x34\\x2a\\xcc\\x8f\\x34\\x2c\\xc7\\xb5\\x44\\x96\\xab\\x5a\\xf6\\x3b\\x6f\\xb4\\x16\\xc6\\x32\\xce\\xa0\\x2a\\x39\\x5d\\x22\\x37\\x7c\\xb9\\x0c\\x92\\xf7\\xf0\\x5a\\xa5\\x74\\x29\\xeb\\xf3\\xbe\\xff\\x88\\xdc\\xa7\\x94\\x2d\\x51\\x04\\xa8\\x56\\x16\\xbf\\x66\\xa5\\x46\\xcd\\x0a\\x36\\x2e\\x0a\\x95\\xf2\\x67\\xa3\\x8c\\xb7\\x96\\xe1\\xf0\\xb1\\x74\\x89\\xdc\\x34\\x3e\\x99\\x5a\\xde\\x6c\\x95\\x5d\\xa8\\xf0\\xc9\\x4d\\x5b\\x22\\x0b\\x4a\\x44\\x38\\x17\\xb1\\xbb\\x4d\\x72\\xde\\x32\\xf6\\x7b\\x0d\\x7b\\x2d\\x55\\xb4\\xdd\\x22\\xc6\\xcb\\x08\\xd6\\x52\\x45\\x9f\\xb5\\xc8\\xda\\xb1\\xaa\\xbd\\xfe\\xbc\\x54\\x84\\xf7\\x97\\xb0\\xef\\x96\\xe4\\x14\\x59\\x1c\\x3b\\xf3\\x26\\x22\\xe6\\x95\\x4a\\x3f\\xf4\\xc9\\xf1\\x92\\xea\\x59\\xba\\x4e\\xae\\x4b\\x94\\xa3\\x3d\\xe4\\xd6\\xe4\\xf5\\xa9\\x90\\xa9\\xe4\\xa9\\x12\\x59\\xfb\\x96\\xb2\\x12\\x35\\x32\\xde\\x08\\x5d\\x55\\xb2\\x30\\x97\\xc8\\xa2\\x58\\xa1\\x88\\x66\\x93\\x4c\\x7d\\x63\\x8c\\x48\\x47\\x04\\xd8\\x27\\xd7\\x80\\x43\\x1f\\x26\\x53\\xcb\\x75\\x6e\\x85\\xc2\\xd9\\x69\\x4c\\x57\\x8f\\xb9\\x28\\xc4\\x08\\xf7\\x62\\xbb\\x52\\xa3\\xdc\\xf5\\x9b\\x65\\x3e\\x76\\xc0\\xae\\x95\\xa9\\x2d\\x97\\x7f\\xab\\x6b\\xe7\\x34\\xcf\\x55\\xa3\\x60\\x8a\\xd4\\xb8\\x46\\x1e\\x13\\x16\\xb6\\xb7\\x52\\xa5\\x2c\\xa1\\x11\\x6e\\x96\\xcb\\xd0\\x7a\\xfc\\x0d\\xbf\\x2b\\x65\\xde\\x34\\x29\\x58\\xeb\\x64\\x8a\\xca\\xd9\\x2b\\xd2\\xee\\x11\\x09\\xab\\x63\\x65\\x97\\xc8\\xad\\x18\\xe9\\xfe\\x11\\xf9\\x6f\\xfa\\x0b\\xe7\\x4a\\x64\\xfe\\xd6\\x29\\xe5\\xea\\xd9\\x1d\\x8e\\x2b\\x42\\xcb\\xa2\\x48\\x77\\x1e\\x5c\\xd2\\xc8\\xba\\x27\\xeb\\xcc\\x43\\xea\\x96\\x34\\x56\\xd7\\x56\\x64\\xfb\\x5a\\xaa\\xaa\\xcb\\xaa\\x7c\\x2d\\x25\\x8d\\xbe\\xf2\\x8a\\xc6\\xea\\xf9\\xb5\\xec\\x76\\xe9\\x52\\x5f\\xe7\\xee\\xe1\\x63\\x77\\x4b\\x98\\x02\\xa8\\xad\\xad\\x6b\\x66\\x9d\\xab\\x99\\x15\\x6b\\xa8\\xa8\\x6c\\xa8\\x68\\xac\\xaa\\xae\\x9d\\xef\\x6b\\x2c\\xa9\\x6d\\xf4\\x35\\x56\\x34\\x54\\x57\\x2a\\x20\\x7c\\x4d\\x55\\x25\\x4d\\x5c\\x5d\\x2c\\xaa\\x68\\x6a\\xa8\\x2e\\x2b\\xa9\\xa9\\x59\\xca\\x46\\xaf\\x45\\xf5\\xac\\x68\\x29\\x1b\\xae\\x5a\\xaa\\x9b\\xaa\\x38\\xfe\\x86\\x6a\\xd6\\x63\\x2f\\xa9\\x68\\xb9\\x27\\x27\\x4a\\x0d\\xd3\\x29\\x95\\x4c\\x61\\xfb\\xaa\\x17\\xd5\\x37\\xd4\\x35\\xcb\\x84\\xf6\\x68\\x2c\\x6b\\xa8\\xa8\\xa8\\x65\\xf8\\x4a\\xca\\x4b\\x4a\\xab\\x6b\\xaa\\x9b\\x18\\xac\\xaa\\x92\\x86\\x92\\x32\\xa6\\x69\\x98\\xba\\xa9\\x2e\\x6b\\x94\\x35\\x09\\x53\\x20\\xbe\\xfa\\x92\\xda\\x1e\\xc3\\x96\\x34\\xd4\\xd5\\x57\\x30\\x62\\xa7\\x0d\\x1f\\xd3\\x91\\x91\\x91\\x17\\xd1\\x42\\x8d\\x75\\x35\\xcd\\x15\\x8d\\x72\\xee\\xda\\x8a\\x8a\\xf2\\x46\\xae\\xc5\\xca\\x59\\x55\\x6b\\x58\\x21\\x86\\xb8\\xa6\\xae\\x6e\\x21\\xaf\\x52\\x65\\x5d\\x03\\x23\\xb3\\xbc\\xa9\\xaa\\x47\\x0c\\xdd\\x95\\x75\\xb5\\x4d\\xac\\x68\\x9d\\xaf\\xa4\\xbc\\x9c\\xd5\\x9d\\x31\\xac\\xae\\x6c\\xc9\\x22\\xae\\xdf\\x98\\xce\\x69\\x8a\\x12\\x57\\x52\\xd6\\x50\\xc7\\xee\\xd5\\xd7\\x94\\x34\\x31\\x28\\x8b\\xb8\\x1e\\xab\\x92\\x7b\\x7f\\x3d\\xea\\xcb\\x56\\x15\\xb9\\x4c\\x26\\xf8\\x2b\\x47\\xd6\\x01\\xb1\\xda\\xad\\x4c\\xd1\\x6d\\x39\\x8a\\xa4\\xe4\\xb2\\x82\\x4d\\x4d\\xf5\\x7d\\x73\\x73\\x5b\\x5a\\x5a\\x72\\x4a\\x14\\x15\\x57\\xc6\\x34\\x5c\\x0e\\x23\\x2a\\xf7\\xff\\x1c\\x2c\\x17\\x96\\x7a\\x59\\xac\\x63\\x55\\x57\\x83\\x2c\\x20\\x1c\\xe6\\x22\\x26\\x38\\xff\\x11\\x75\\xd3\\xd2\\xfa\\x0a\\x45\\x58\\x1a\\x1a\\x73\\xaa\\x9a\\x16\\xd5\\x44\\x06\\xc7\\x08\\xda\\xa8\\x16\\x5d\\x12\\xa3\\xb7\\xa3\\xfd\\x69\\x12\\x1b\\xf8\\xc6\\xc8\\x83\\x54\\xbd\\xa2\\x05\\x8a\\x15\\xf9\\xf7\\x75\\x81\\xc0\\x35\\x60\\xd7\\x91\\xbd\\x67\\x64\\x4c\\x1f\\xc3\\x46\\x8f\\x5a\\x2e\\xc6\\x4b\\x64\\x9d\\xcf\\xdb\\x72\\xd2\\xc8\\x31\\xbe\\x71\\xf5\\x4c\\x4c\\x8a\\x59\\x1b\\xf9\\x94\\x0c\\xd9\\xbe\\xe8\\xe8\\xdf\\x93\\x0f\\xfd\\x9d\\xd9\\x15\\xd1\\x45\\xd5\\xec\\xba\\x49\\xae\\x78\\xa3\\xdc\\x93\\x72\\x64\\x66\\xcd\\x67\\xf7\\xc7\\x31\\xca\\xc6\\xb4\\xb3\\x81\\x09\\x61\\x75\\x7d\\x53\\x63\\x4e\\x63\\x75\\x4d\\x4e\\x5d\\xc3\\xfc\\xdc\\x71\\xc5\\x63\\x90\\xe2\\xb3\\x15\\x21\\xc9\\x8f\\x4e\\x22\\xd4\\x3e\\x87\\x6f\\xff\\xd3\\x4c\\x97\\x7f\\xc5\\x6c\\x06\\x4a\\xd9\\x5c\\x57\\x64\\xf3\\x5a\\x35\\x9b\\xc3\\xf2\\xa7\\x06\\x7a\\x36\\x37\\x35\\xb0\\xb5\\x98\\x09\\x99\\x91\\x85\\xad\\x46\\x6c\\xc8\\x8e\\x1c\\x6c\\xdd\\x19\\xcf\\x56\\xbb\\x09\\x6c\\x85\\xe6\\x46\\x1e\\xe4\\x65\\x2b\\x25\\x1f\\x4a\\x46\\x29\\x6c\\xbd\\x94\\x8a\\xd2\\x50\\x3a\\xca\\x60\\xf3\\xc7\\x4c\\xd4\\x1d\\x65\\x31\\xee\\xf4\\x60\\xb4\\xe6\\x2a\\xb3\\xc8\\x20\\xea\\x85\\xf2\\x51\\x6f\\x54\\x80\\xfa\\xa0\\x42\\x56\\xbf\\x7e\\xa8\\x3f\\x1a\\x80\\x06\\xb2\\xf5\\x6b\\x88\\x8d\\xa1\\x83\\x99\\xb6\\x1e\\xca\\xb4\\x63\\x31\\xd3\\x86\\x23\\x18\\xff\\x47\\xa1\\xd1\\xac\\x66\\x63\\x99\\x3e\\x1f\\xc7\\xa6\\x15\\x13\\xd8\\xe4\\x64\\x12\\x9b\\x48\\x4c\\x61\\xdc\\x9e\\x86\\xa6\\xa3\\x30\\x9a\\x81\\x66\\xa2\\x59\\x68\\x36\\x9a\\x83\\xe6\\xa2\\x79\\xa8\\x04\\x78\\x34\\x9a\\xf5\\x68\\x03\\x7a\\x02\\x5d\\x8b\\xbe\\x40\\x1b\\xd1\\x56\\x74\\x05\\xba\\x19\\xdd\\x8d\\xf6\\x01\\x41\\x97\\x03\\x45\\xeb\\xd0\\x4e\\xf4\\x13\\xfa\\x19\\x5d\\xc5\\xe6\\xfe\\x9b\\x41\\x44\\x1f\\xa1\\x1f\\xd1\\x1e\\x74\\x0f\\xfa\\x15\\xfd\\x82\\x7e\\x43\\xb7\\xa1\\x03\\xe8\\x45\\xf4\\x3c\\x5b\\xd7\\x94\\x32\\x8e\\x5f\\xcd\\x24\\xe2\\x25\\xd6\\xaa\\x2f\\xa0\\x7f\\xa1\\x57\\xd0\\x09\\xc6\\xb7\\x97\\xd1\\x97\\x4c\\x43\\xbd\\x81\\x5e\\x45\\xaf\\xa1\\x83\\x8c\\xf3\\x3f\\xa0\\xed\\xe8\\x6d\\xf4\\x26\\x7a\\x8b\\xb5\\xd7\\xd7\\xe8\\x5b\\xb4\\x85\\x4d\\x4f\\xaa\\x99\\x66\\xe5\\x42\\x59\\x8b\\xf6\\xb2\\xf6\\x59\\x2c\\x8f\\x2d\\x8d\\x4c\\xbe\\x9a\\x98\\x26\\x6e\\x41\\x5f\\xa1\\x4b\\xd9\\x5c\\x7e\\x29\\x5a\\x8e\\x56\\xa2\\x15\\xe8\\x28\\xba\\x15\\xad\\x42\\x97\\xa1\\xd5\\x68\\x0d\\xfa\\x06\\x7d\\x87\\x1e\\x03\\x15\\xa8\\x41\\x03\\x5a\\xd0\\x81\\x1e\\xb5\\x22\\x09\\xe2\\xc0\\x00\\x46\\x30\\xa1\\x36\\x40\\x60\\x06\\x0b\\x58\\x01\\xc0\\x06\\x76\\x70\\x80\\x13\\xe2\\xc1\\x05\\x09\\x90\\x08\\x6e\\xf0\\x80\\x97\\x2d\\x90\\xff\\x8d\\xfe\\x00\\x1f\\x24\\x43\\x0a\\xf8\\x21\\x15\\xd2\\x20\\x1d\\x32\\xa0\\x1b\\x64\\x42\\x77\\xc8\\x82\\x6c\\xe8\\x01\\x39\\x90\\x8b\\xfe\\x44\\xef\\x40\\x1e\\xf4\\x84\\x00\\x04\\xa1\\x17\\xe4\\x43\\x6f\\x28\\x80\\x3e\\x50\\xc8\\x56\\x78\\xfd\\xa0\\x3f\\x0c\\x80\\x81\\xe8\\x13\\xf4\\x29\\x14\\x41\\x08\\x06\\xc1\\x60\\x18\\x02\\x43\\x61\\x18\\x14\\xc3\\x70\\x18\\x01\\x23\\x61\\x14\\x8c\\x86\\x31\\x30\\x16\\x3d\\x80\\x1e\\x84\\x4b\\x60\\x1c\\x8c\\x87\\x09\\x30\\x11\\x26\\xc1\\x64\\x98\\x02\\x53\\x61\\x1a\\x3a\\x8f\\x2e\\xa0\\xb3\\xe8\\x33\\x98\\x0e\\x61\\x98\\x01\\x33\\x61\\x16\\xcc\\x86\\x39\\x30\\x17\\xe6\\x41\\x09\\x94\\x42\\x19\\x94\\x43\\x05\\x54\\xc2\\x7c\\xa8\\x82\\x6a\\x58\\x00\\x0b\\xa1\\x06\\x16\\xa1\\xc7\\xa1\\x16\\xea\\xa0\\x1e\\x16\\xa3\\xcf\\xd1\\x39\\x68\\x80\\x46\\x68\\x82\\x25\\xd0\\x0c\\x2d\\x70\\x29\\x2c\\x85\\x65\\xb0\\x1c\\x56\\xc0\\x4a\\xb8\\x0c\\x56\\xc1\\x6a\\x58\\x03\\x6b\\x61\\x1d\\xac\\x47\\x77\\xc2\\x06\\xd8\\x08\\x9b\\x60\\x33\\x6c\\x81\\xcb\\xe1\\x0a\\xb8\\x12\\xae\\x82\\xad\\xb0\\x0d\\xae\\x86\\xed\\xb0\\x03\\x76\\xc2\\x35\\xb0\\x0b\\xae\\x85\\xeb\\x60\\x37\\x5c\\x0f\\x37\\xc0\\x8d\\x70\\x13\\xdc\\x0c\\x7b\\xe0\\x16\\xd8\\x0b\\xb7\\xc2\\x6d\\x70\\x3b\\xec\\x83\\x3b\\xe0\\x4e\\xd8\\x0f\\x77\\xc1\\xdd\\x70\\x0f\\xdc\\x0b\\xf7\\xc1\\x01\\xb8\\x1f\\x0e\\xc2\\x03\\xf0\\x20\\x3c\\x04\\x0f\\xc3\\x21\\x38\\x0c\\x8f\\xc0\\x11\\x38\\x0a\\x8f\\xc2\\x63\\xf0\\x38\\xfc\\x03\\x9e\\x80\\x63\\xf0\\x24\\x3c\\x05\\xff\\x84\\xa7\\xe1\\x19\\x78\\x16\\x9e\\x83\\xe3\\xf0\\x3c\\xbc\\x00\\x2f\\xc2\\xbf\\xe0\\x25\\x38\\x01\\x27\\xe1\\x65\\x78\\x05\\x5e\\x85\\xd7\\xe0\\x75\\x78\\x03\\xde\\x84\\xb7\\xe0\\x6d\\x78\\x07\\xde\\x85\\xf7\\xe0\\x7d\\xf8\\x00\\x3e\\x84\\x53\\xf0\\x11\\x9c\\x86\\x33\\xf0\\x31\\x7c\\x02\\x9f\\xc2\\x59\\xf8\\x0c\\x3e\\x87\\x73\\xf0\\x05\\x7c\\x09\\x5f\\xc1\\xd7\\xf0\\x0d\\x7c\\x0b\\xdf\\xc1\\xf7\\xf0\\x03\\xfc\\x08\\x3f\\xc1\\xcf\\xf0\\x0b\\xfc\\x0a\\xbf\\xc1\\xef\\xf0\\x6f\\xf8\\x03\\xfe\\x84\\xf3\\x70\\x01\\x5a\\x41\\x82\\x36\\x8c\\x30\\x60\\x8c\\x09\\xa6\\x58\\xc0\\x22\\x56\\x61\\x35\\xd6\\x60\\x2d\\xd6\\x61\\x3d\\x8e\\xc3\\x06\\x6c\\xc4\\x26\\x6c\\xc6\\x16\\x6c\\xc5\\x36\\x6c\\xc7\\x0e\\xec\\xc4\\xf1\\xd8\\x85\\x13\\x70\\x22\\x76\\x63\\x0f\\xf6\\xe2\\x24\\xec\\xc3\\xc9\\x38\\x05\\xfb\\x71\\x2a\\x4e\\xc3\\xe9\\x38\\x03\\x77\\xc3\\x99\\xb8\\x3b\\xce\\xc2\\xd9\\xb8\\x07\\xce\\xc1\\xb9\\x38\\x0f\\xf7\\xc4\\x01\\x1c\\xc4\\xbd\\x70\\x3e\\xee\\x8d\\x0b\\x70\\x1f\\x5c\\x88\\xfb\\xe2\\x7e\\xb8\\x3f\\x1e\\x80\\x07\\xe2\\x22\\x1c\\xc2\\x83\\xf0\\x60\\x3c\\x04\\x0f\\xc5\\xc3\\x70\\x31\\x1e\\x8e\\x47\\xe0\\x91\\x78\\x14\\x1e\\x8d\\xc7\\xe0\\xb1\\xf8\\x12\\x3c\\x0e\\x8f\\xc7\\x13\\xf0\\x44\\x3c\\x09\\x4f\\xc6\\x53\\xf0\\x54\\x3c\\x0d\\x4f\\xc7\\x61\\x3c\\x03\\xcf\\xc4\\xb3\\xf0\\x6c\\x3c\\x07\\xcf\\xc5\\xf3\\x70\\x09\\x2e\\xc5\\x65\\xb8\\x1c\\x57\\xe0\\x4a\\x3c\\x1f\\x57\\xe1\\x6a\\xbc\\x00\\x2f\\xc4\\x35\\x78\\x11\\xae\\xc5\\x75\\xb8\\x1e\\x2f\\xc6\\x0d\\xb8\\x11\\x37\\xe1\\x25\\xb8\\x19\\xb7\\xe0\\x4b\\xf1\\x52\\xbc\\x0c\\x2f\\xc7\\x2b\\xf0\\x4a\\x7c\\x19\\x5e\\x85\\x57\\xe3\\x35\\x78\\x2d\\x5e\\x87\\xd7\\xe3\\x0d\\x78\\x23\\xde\\x84\\x37\\xe3\\x2d\\xf8\\x72\\x7c\\x05\\xbe\\x12\\x5f\\x85\\xb7\\xe2\\x6d\\xf8\\x6a\\xbc\\x1d\\xef\\xc0\\x3b\\xf1\\x35\\x78\\x17\\xbe\\x16\\x5f\\x87\\x77\\xe3\\xeb\\xf1\\x0d\\xf8\\x46\\x7c\\x13\\xbe\\x19\\xef\\xc1\\xb7\\xe0\\xbd\\xf8\\x56\\x7c\\x1b\\xbe\\x1d\\xef\\xc3\\x77\\xe0\\x3b\\xf1\\x7e\\x7c\\x17\\xbe\\x1b\\xdf\\x83\\xef\\xc5\\xf7\\xe1\\x03\\xf8\\x7e\\x7c\\x10\\x3f\\x80\\x1f\\xc4\\x0f\\xe1\\x87\\xf1\\x21\\x7c\\x18\\x3f\\x82\\xde\\x45\\x1f\\xe3\\x23\\xe8\\x7d\\x7c\\x14\\x3f\\x8a\\x1f\\xc3\\x8f\\xe3\\x7f\\xe0\\x27\\xf0\\x31\\xfc\\x24\\x7e\\x0a\\xff\\x13\\x3f\\x8d\\x9f\\xc1\\xcf\\xe2\\xe7\\xd0\\x07\\xe8\\x43\\x74\\x0a\\x9d\\x41\\xef\\xa1\\xd3\\xf8\\x38\\x7e\\x1e\\xbf\\x80\\x5f\\xc4\\xff\\xc2\\x2f\\xe1\\x13\\xf8\\x24\\x7e\\x19\\xbf\\x82\\x5f\\xc5\\xaf\\xe1\\xd7\\xf1\\x1b\\xf8\\x4d\\xfc\\x16\\x7e\\x1b\\xbf\\x83\\xdf\\xc5\\xef\\xe1\\xf7\\xf1\\x07\\xf8\\x43\\x7c\\x0a\\x7f\\x84\\x4f\\xe3\\x33\\xf8\\x63\\xfc\\x09\\xfe\\x14\\x9f\\xc5\\x9f\\xe1\\xcf\\xf1\\x39\\xfc\\x05\\xfe\\x12\\x7f\\x85\\xbf\\xc6\\xdf\\xe0\\x6f\\xf1\\x77\\xf8\\x7b\\xfc\\x03\\xfe\\x11\\xff\\x84\\x7f\\xc6\\xbf\\xe0\\x5f\\xf1\\x6f\\xf8\\x77\\xfc\\x6f\\xfc\\x07\\xfe\\x13\\x9f\\xc7\\x17\\x70\\x2b\\x96\\x70\\x1b\\x41\\x04\\x08\\x26\\x84\\x50\\x22\\x10\\x91\\xa8\\x08\\x8f\\x34\\xa1\\x25\\x3a\\xa2\\x27\\x71\\xc4\\x40\\x8c\\xc4\\x44\\xcc\\xc4\\x42\\xac\\xc4\\x46\\xec\\xc4\\x41\\x9c\\x24\\x9e\\xb8\\x48\\x02\\x49\\x24\\x6e\\xe2\\x21\\x5e\\x92\\x44\\x7c\\x24\\x99\\xa4\\x10\\x3f\\x49\\x25\\x69\\x24\\x9d\\x64\\x90\\x6e\\x24\\x93\\x74\\x27\\x59\\x24\\x9b\\xf4\\x20\\x39\\x24\\x97\\xe4\\x91\\x9e\\x24\\x40\\x82\\xa4\\x17\\xc9\\x27\\xbd\\x49\\x01\\xe9\\x43\\x0a\\x49\\x5f\\xd2\\x8f\\xf4\\x27\\x03\\xc8\\x40\\x52\\x44\\x42\\x64\\x10\\x19\\x4c\\x86\\x90\\xa1\\x64\\x18\\x29\\x26\\xc3\\xc9\\x08\\x32\\x92\\x8c\\x22\\xa3\\xc9\\x18\\x32\\x96\\x5c\\x42\\xc6\\x91\\xf1\\x64\\x02\\x99\\x48\\x26\\x91\\xc9\\x64\\x0a\\x99\\x4a\\xa6\\x91\\xe9\\x24\\x4c\\x66\\x90\\x99\\x64\\x16\\x99\\x4d\\xe6\\x90\\xb9\\x64\\x1e\\x29\\x21\\xa5\\xa4\\x8c\\x94\\x93\\x0a\\x52\\x49\\xe6\\x93\\x2a\\x52\\x4d\\x16\\x90\\x85\\xa4\\x06\\xdd\\x45\\x16\\x91\\x5a\\x52\\x47\\xea\\xc9\\x62\\xd2\\x40\\x1a\\x49\\x13\\x59\\x42\\x9a\\x49\\x0b\\xb9\\x94\\x2c\\x25\\xcb\\xc8\\x72\\xb2\\x82\\xac\\x24\\x97\\x91\\x55\\xe8\\x16\\xb2\\x9a\\xac\\x21\\x6b\\xc9\\x3a\\xb2\\x9e\\x6c\\x20\\x1b\\xc9\\x26\\xb2\\x99\\x6c\\x21\\x97\\x93\\x2b\\xc8\\x95\\xe4\\x2a\\xb2\\x95\\x6c\\x23\\x57\\x93\\xed\\xe8\\x3a\\xb2\\x83\\xec\\x24\\xd7\\xa0\\x1b\\xc9\\x2e\\x72\\x2d\\xb9\\x8e\\xec\\x26\\xd7\\x93\\x1b\\xc8\\x8d\\xe4\\x26\\x72\\x33\\xd9\\x43\\x6e\\x21\\x7b\\xc9\\xad\\xe4\\x36\\x72\\x3b\\xd9\\x47\\xee\\x20\\x77\\x92\\xfd\\xe4\\x2e\\x72\\x37\\xb9\\x87\\xdc\\x4b\\xee\\x23\\x07\\xc8\\xfd\\xe4\\x20\\x79\\x80\\x3c\\x48\\x1e\\x22\\x0f\\x93\\x43\\xe4\\x30\\x79\\x84\\x1c\\x21\\x47\\xc9\\xa3\\xe4\\x31\\xf2\\x38\\xf9\\x07\\x79\\x82\\x1c\\x23\\x4f\\x92\\xa7\\xc8\\x3f\\xc9\\xd3\\xe4\\x19\\xf2\\x2c\\x79\\x8e\\x1c\\x27\\xcf\\x93\\x17\\xc8\\x8b\\xe4\\x5f\\xe4\\x25\\x72\\x82\\x9c\\x24\\x2f\\x93\\x57\\xc8\\xab\\xe4\\x35\\xf2\\x3a\\x79\\x83\\xbc\\x49\\xde\\x22\\x6f\\x93\\x77\\xc8\\xbb\\xe4\\x3d\\xf2\\x3e\\xf9\\x80\\x7c\\x48\\x4e\\x91\\x8f\\xc8\\x69\\x72\\x86\\x7c\\x4c\\x3e\\x21\\x9f\\x92\\xb3\\xe4\\x33\\xf2\\x39\\x39\\x47\\xbe\\x20\\x5f\\x92\\xaf\\xc8\\xd7\\xe4\\x1b\\xf2\\x2d\\xf9\\x8e\\x7c\\x4f\\x7e\\x20\\x3f\\x92\\x9f\\xc8\\xcf\\xe4\\x17\\xf2\\x2b\\xf9\\x8d\\xfc\\x4e\\xfe\\x4d\\xfe\\x20\\x7f\\x92\\xf3\\xe4\\x02\\x69\\x25\\x12\\x69\\xa3\\xfc\\x70\\x32\\xa6\\x84\\x52\\x2a\\x50\\x91\\xaa\\xa8\\x9a\\x6a\\xa8\\x96\\xea\\xa8\\x9e\\xc6\\x51\\x03\\x35\\x52\\x13\\x35\\x53\\x0b\\xb5\\x52\\x1b\\xb5\\x53\\x07\\x75\\xd2\\x78\\xea\\xe2\\x11\\x05\\xa8\\x9b\\x7a\\xa8\\x97\\x26\\x51\\x1f\\x4d\\xa6\\x29\\xd4\\x4f\\x53\\x69\\x1a\\x4d\\xa7\\x19\\xb4\\x1b\\xcd\\xa4\\xdd\\x69\\x16\\xcd\\xa6\\x3d\\x68\\x0e\\xcd\\xa5\\x79\\xb4\\x27\\x0d\\xd0\\x20\\xed\\x45\\xf3\\x69\\x6f\\x5a\\x40\\xfb\\xd0\\x42\\xda\\x97\\xf6\\xa3\\xfd\\xe9\\x00\\x3a\\x90\\x16\\xd1\\x10\\x1d\\x44\\x07\\xd3\\x21\\x74\\x28\\x1d\\x46\\x8b\\xe9\\x70\\x3a\\x82\\x8e\\xa4\\xa3\\xe8\\x68\\x3a\\x86\\x8e\\xa5\\x97\\xd0\\x71\\x74\\x3c\\x9d\\x40\\x27\\xd2\\x49\\x74\\x32\\x9d\\x42\\xa7\\xd2\\x69\\x74\\x3a\\x0d\\xd3\\x19\\x74\\x26\\x9d\\x45\\x67\\xd3\\x39\\x74\\x2e\\x9d\\x47\\x4b\\x68\\x29\\x2d\\xa3\\xe5\\xb4\\x82\\x56\\xd2\\xf9\\xb4\\x8a\\x56\\xd3\\x05\\x74\\x21\\xad\\xa1\\x8b\\x68\\x2d\\xad\\xa3\\xf5\\x74\\x31\\x6d\\xa0\\x8d\\xb4\\x89\\x2e\\xa1\\xcd\\xb4\\x85\\x5e\\x4a\\x97\\xd2\\x65\\x74\\x39\\x5d\\x41\\x57\\xd2\\xcb\\xe8\\x2a\\xba\\x9a\\xae\\xa1\\x6b\\xe9\\x3a\\xba\\x9e\\x6e\\xa0\\x1b\\xe9\\x26\\xba\\x99\\x6e\\xa1\\x97\\xd3\\x2b\\xe8\\x95\\xf4\\x2a\\xba\\x95\\x6e\\xa3\\x57\\xd3\\xed\\x74\\x07\\xdd\\x49\\xaf\\xa1\\xbb\\xe8\\xb5\\xf4\\x3a\\xba\\x9b\\x5e\\x4f\\x6f\\xa0\\x37\\xd2\\x9b\\xe8\\xcd\\x74\\x0f\\xbd\\x85\\xee\\xa5\\xb7\\xd2\\xdb\\xe8\\xed\\x74\\x1f\\xbd\\x83\\xde\\x49\\xf7\\xd3\\xbb\\xe8\\xdd\\xf4\\x1e\\x7a\\x2f\\xbd\\x8f\\x1e\\xa0\\xf7\\xd3\\x83\\xf4\\x01\\xfa\\x20\\x7d\\x88\\x3e\\x4c\\x0f\\xd1\\xc3\\xf4\\x11\\x7a\\x84\\x1e\\xa5\\x8f\\xd2\\xc7\\xe8\\xe3\\xf4\\x1f\\xf4\\x09\\x7a\\x8c\\x3e\\x49\\x9f\\xa2\\xff\\xa4\\x4f\\xd3\\x67\\xe8\\xb3\\xf4\\x39\\x7a\\x9c\\x3e\\x4f\\x5f\\xa0\\x2f\\xd2\\x7f\\xd1\\x97\\xe8\\x09\\x7a\\x92\\xbe\\x4c\\x5f\\xa1\\xaf\\xd2\\xd7\\xe8\\xeb\\xf4\\x0d\\xfa\\x26\\x7d\\x8b\\xbe\\x4d\\xdf\\xa1\\xef\\xd2\\xf7\\xe8\\xfb\\xf4\\x03\\xfa\\x21\\x3d\\x45\\x3f\\xa2\\xa7\\xe9\\x19\\xfa\\x31\\xfd\\x84\\x7e\\x4a\\xcf\\xd2\\xcf\\xe8\\xe7\\xf4\\x1c\\xfd\\x82\\x7e\\x49\\xbf\\xa2\\x5f\\xd3\\x6f\\xe8\\xb7\\xf4\\x3b\\xfa\\x3d\\xfd\\x81\\xfe\\x48\\x7f\\xa2\\x3f\\xd3\\x5f\\xe8\\xaf\\xf4\\x37\\xfa\\x3b\\xfd\\x37\\xfd\\x83\\xfe\\x49\\xcf\\xd3\\x0b\\xb4\\x95\\x4a\\xb4\\x4d\\x40\\x02\\x08\\x58\\x20\\x02\\x15\\x04\\x41\\x14\\x54\\x82\\x5a\\xd0\\x08\\x5a\\x41\\x27\\xe8\\x85\\x38\\xc1\\x20\\x18\\x05\\x93\\x60\\x16\\x2c\\x82\\x55\\xb0\\x09\\x76\\xc1\\x21\\x38\\x85\\x78\\xc1\\x25\\x24\\x08\\x89\\x82\\x5b\\xf0\\x08\\x5e\\x21\\x49\\xf0\\x09\\xc9\\x42\\x8a\\xe0\\x17\\x52\\x85\\x34\\x21\\x5d\\xc8\\x10\\xba\\x09\\x99\\x42\\x77\\x21\\x4b\\xc8\\x16\\x7a\\x08\\x39\\x42\\xae\\x90\\x27\\xf4\\x14\\x02\\x42\\x50\\xe8\\x25\\xe4\\x0b\\xbd\\x85\\x02\\xa1\\x8f\\x50\\x28\\xf4\\x15\\xfa\\x09\\xfd\\x85\\x01\\xc2\\x40\\xa1\\x48\\x08\\x09\\x83\\x84\\xc1\\xc2\\x10\\x61\\xa8\\x30\\x4c\\x28\\x16\\x86\\x0b\\x23\\x84\\x91\\xc2\\x28\\x61\\xb4\\x30\\x46\\x18\\x2b\\x5c\\x22\\x8c\\x13\\xc6\\x0b\\x13\\x84\\x89\\xc2\\x24\\x61\\xb2\\x30\\x45\\x98\\x2a\\x4c\\x13\\xa6\\x0b\\x61\\x61\\x86\\x30\\x53\\x98\\x25\\xcc\\x16\\xe6\\x08\\x73\\x85\\x79\\x42\\x89\\x50\\x2a\\x94\\x09\\xe5\\x42\\x85\\x50\\x29\\xcc\\x17\\xaa\\x84\\x6a\\x61\\x81\\xb0\\x50\\xa8\\x11\\x16\\x09\\xb5\\x42\\x9d\\x50\\x2f\\x2c\\x16\\x1a\\x84\\x46\\xa1\\x49\\x58\\x22\\x34\\x0b\\x2d\\xc2\\xa5\\xc2\\x52\\x61\\x99\\xb0\\x5c\\x58\\x21\\xac\\x14\\x2e\\x13\\x56\\x09\\xab\\x85\\x35\\xc2\\x5a\\x61\\x9d\\xb0\\x5e\\xd8\\x20\\x6c\\x14\\x36\\x09\\x9b\\x85\\x2d\\xc2\\xe5\\xc2\\x15\\xc2\\x95\\xc2\\x55\\xc2\\x56\\x61\\x9b\\x70\\xb5\\xb0\\x5d\\xd8\\x21\\xec\\x14\\xae\\x11\\x76\\x09\\xd7\\x0a\\xd7\\x09\\xbb\\x85\\xeb\\x85\\x1b\\x84\\x1b\\x85\\xff\\x8f\\xbd\\x6f\\x01\\x93\\xa3\\x28\\xd7\\xee\\xee\\x99\\xae\\xaa\\xde\\x6c\\xee\\x21\\x02\\x46\\x08\\x01\\x11\\x11\\x63\\xa6\\xbb\\x7a\\x66\\x07\\x31\\x32\\x97\\x2a\\x48\\x08\\x49\\x0c\\x09\\xb7\\xc3\\x11\\x66\\x77\\x67\\x77\\x07\\x76\\x77\\x36\\xbb\\x33\\x49\\xc8\\xf1\\x70\\x38\\x1e\\x0e\\x72\\x38\\x1c\\x45\\x0e\\x72\\x90\\x83\\x88\\x88\\x88\\x8a\\x88\\x5c\\x22\\x62\\xc4\\x10\\x6e\\x11\\x03\\x72\\x13\\x11\\x91\\x9b\\x08\\x11\\x14\\x10\\x62\\xb8\\x08\\xc9\\x5f\\x5d\\xfd\\xee\\x4c\\xef\\xec\\x6c\\xd8\\x28\\xf8\\xeb\\xff\\xfc\\xcf\\x3e\\x5d\\xdf\\xd7\\x35\\xd5\\xf5\\x7e\\x55\\xdd\\x53\\xef\\xfb\\x75\\xcf\\xcc\\x5e\\x6c\\x7f\\xc9\\xbe\\xc4\\xfe\\xb2\\x7d\\xa9\\xfd\\x15\\xfb\\x32\\xfb\\xab\\xf6\\xe5\\xf6\\xd7\\xec\\x2b\\xec\\xaf\\xdb\\x57\\xda\\xdf\\xb0\\xbf\\x69\\x7f\\xcb\\xbe\\xca\\xfe\\xb6\\x7d\\xb5\\xfd\\x1d\\xfb\\x1a\\xfb\\xbb\\xf6\\xb5\\xf6\\x75\\xf6\\xf5\\xf6\\x0d\\xf6\\x3a\\xfb\\x7b\\xf6\\x8d\\xf6\\xf7\\xed\\x9b\\xec\\x1f\\xd8\\xeb\\xed\\x1f\\xda\\x37\\xdb\\x3f\\xb2\\x37\\xd8\\xb7\\xd8\\x1b\\xed\\x5b\\xed\\xdb\\xec\\xdb\\xed\\x3b\\xec\\x3b\\xed\\x4d\\xf6\\x8f\\xed\\xbb\\xec\\x9f\\xd8\\x9b\\xed\\xbb\\xed\\x7b\\xec\\x9f\\xda\\xf7\\xda\\xf7\\xd9\\xf7\\xdb\\x0f\\xd8\\x0f\\xda\\x3f\\xb3\\x1f\\xb2\\x7f\\x6e\\x3f\\x6c\\xff\\xc2\\x7e\\xc4\\xfe\\xa5\\xfd\\xa8\\xfd\\x2b\\xfb\\x31\\xfb\\x71\\xfb\\x09\\xfb\\x49\\xfb\\x29\\xfb\\xd7\\xf6\\xd3\\xf6\\x6f\\xec\\x67\\xec\\x67\\xed\\x2d\\xf6\\x6f\\xed\\xe7\\xec\\xe7\\xed\\xdf\\xd9\\xbf\\xb7\\x5f\\xb0\\x5f\\xb4\\x5f\\xb2\\xff\\x60\\xbf\\x6c\\xbf\\x62\\x6f\\xb5\\xff\\x68\\x6f\\xb3\\x5f\\xb5\\x5f\\xb3\\x5f\\xb7\\xdf\\xb0\\xff\\x64\\xbf\\x69\\xbf\\x65\\x6f\\xb7\\x77\\x10\\x83\\x98\\xc4\\x22\\x31\\x12\\x27\\x36\\x21\\x84\\x12\\x46\\x1c\\xd2\\x42\\x26\\x90\\x56\\x32\\x91\\x4c\\x22\\x93\\xc9\\x14\\x32\\x95\\x4c\\x23\\xd3\\xc9\\x0c\\xb2\\x1b\\x99\\x49\\xde\\x43\\x76\\x27\\x7b\\x90\\x3d\\xc9\\x7b\\xc9\\x2c\\xf2\\x3e\\xb2\\x17\\xd9\\x9b\\xcc\\x26\\xfb\\x90\\x39\\x64\\x5f\\xb2\\x1f\\x79\\x3f\\xd9\\x9f\\x7c\\x80\\x1c\\x40\\x3e\\x48\\x0e\\x24\\x1f\\x22\\x07\\x91\\x0f\\x93\\xb9\\xe4\\x23\\x64\\x1e\\x49\\x10\\x97\\x78\\x84\\x13\\x9f\\x24\\x49\\x8a\\xb4\\x91\\x34\\x39\\x98\\x7c\\x94\\x1c\\x42\\x3e\\x46\\xe6\\x93\\x8f\\x93\\x43\\x49\\x86\\x64\\x49\\x8e\\xe4\\x89\\x20\\x92\\x1c\\x46\\x0e\\x27\\x0b\\xc8\\x42\\x72\\x04\\x59\\x44\\x8e\\x24\\x8b\\xc9\\x12\\xb2\\x94\\x7c\\x82\\x2c\\x23\\x47\\x91\\xe5\\x64\\x05\\x39\\x9a\\x1c\\x43\\x8e\\x25\\xc7\\x91\\xe3\\xc9\\x3f\\x90\\x13\\xc8\\x3f\\x92\\x4f\\x92\\x13\\xc9\\x49\\xa4\\x40\\xda\\x49\\x07\\xe9\\x24\\x45\\xd2\\x45\\xba\\x49\\x0f\\x29\\x91\\x93\\xc9\\x29\\xa4\\x97\\xf4\\x91\\x7e\\x52\\x26\\x03\\x64\\x25\\x19\\x24\\x43\\xa4\\x42\\xaa\\x64\\x15\\x59\\x4d\\xd6\\x90\\x53\\xc9\\x5a\\xf2\\x4f\\xe4\\x53\\xe4\\x9f\\xc9\\x69\\xe4\\x5f\\xc8\\xe9\\xe4\\x5f\\xc9\\xa7\\xc9\\xbf\\x91\\x33\\xc8\\xbf\\x93\\x33\\xc9\\x67\\xc8\\x59\\xe4\\x3f\\xc8\\xd9\\xe4\\x3f\\xc9\\x39\\xe4\\xbf\\xc8\\x67\\xc9\\xe7\\xc8\\xb9\\xe4\\xf3\\xe4\\x3c\\xf2\\xdf\\xe4\\x7c\\xf2\\x05\\x72\\x01\\xf9\\x1f\\x72\\x21\\xf9\\x22\\xb9\\x88\\xfc\\x2f\\xb9\\x98\\x7c\\x89\\x5c\\x42\\xbe\\x4c\\x2e\\x25\\x5f\\x21\\x97\\x91\\xaf\\x92\\xcb\\xc9\\xd7\\xc8\\x15\\xe4\\xeb\\xe4\\x4a\\xf2\\x0d\\xf2\\x4d\\xf2\\x2d\\x72\\x15\\xf9\\x36\\xb9\\x9a\\x7c\\x87\\x5c\\x43\\xbe\\x4b\\xae\\x25\\xd7\\x91\\xeb\\xc9\\x0d\\x64\\x1d\\xf9\\x1e\\xb9\\x91\\x7c\\x9f\\xdc\\x44\\x7e\\x40\\xd6\\x93\\x1f\\x92\\x9b\\xc9\\x8f\\xc8\\x06\\x72\\x0b\\xd9\\x48\\x6e\\x25\\xb7\\x91\\xdb\\xc9\\x1d\\xe4\\x4e\\xb2\\x89\\xfc\\x98\\xdc\\x45\\x7e\\x42\\x36\\x93\\xbb\\xc9\\x3d\\xe4\\xa7\\xe4\\x5e\\x72\\x1f\\xb9\\x9f\\x3c\\x40\\x1e\\x24\\x3f\\x23\\x0f\\x91\\x9f\\x93\\x87\\xc9\\x2f\\xc8\\x23\\xe4\\x97\\xe4\\x51\\xf2\\x2b\\xf2\\x18\\x79\\x9c\\x3c\\x41\\x9e\\x24\\x4f\\x91\\x5f\\x93\\xa7\\xc9\\x6f\\xc8\\x33\\xe4\\x59\\xb2\\x85\\xfc\\x96\\x3c\\x47\\x9e\\x27\\xbf\\x23\\xbf\\x27\\x2f\\x90\\x17\\xc9\\x4b\\xe4\\x0f\\xe4\\x65\\xf2\\x0a\\xd9\\x4a\\xfe\\x48\\xb6\\x91\\x57\\xc9\\x6b\\xe4\\x75\\xf2\\x06\\xf9\\x13\\x79\\x93\\xbc\\x45\\xb6\\x93\\x1d\\xd4\\xa0\\x26\\xb5\\x68\\x8c\\xc6\\xa9\\x4d\\x09\\xa5\\x94\\x51\\x87\\xb6\\xd0\\x09\\xb4\\x95\\x4e\\xa4\\x93\\xe8\\x64\\x3a\\x85\\x4e\\xa5\\xd3\\xe8\\x74\\x3a\\x83\\xee\\x46\\x67\\xd2\\xf7\\xd0\\xdd\\xe9\\x1e\\x74\\x4f\\xfa\\x5e\\x3a\\x8b\\xbe\\x8f\\xee\\x45\\xf7\\xa6\\xb3\\xe9\\x3e\\x74\\x0e\\xdd\\x97\\xee\\x47\\xdf\\x4f\\xf7\\xa7\\x1f\\xa0\\x07\\xd0\\x0f\\xd2\\x03\\xe9\\x87\\xe8\\x41\\xf4\\xc3\\x74\\x2e\\xfd\\x08\\x9d\\x47\\x13\\xd4\\xa5\\x1e\\xe5\\xd4\\xa7\\x49\\x9a\\xa2\\x6d\\x34\\x4d\\x0f\\xa6\\x1f\\xa5\\x87\\xd0\\x8f\\xd1\\xf9\\xf4\\xe3\\xf4\\x50\\x9a\\xa1\\x59\\x9a\\xa3\\x79\\x2a\\xa8\\xa4\\x87\\xd1\\xc3\\xe9\\x02\\xba\\x90\\x1e\\x41\\x17\\xd1\\x23\\xe9\\x62\\xba\\x84\\x2e\\xa5\\x9f\\xa0\\xcb\\xe8\\x51\\x74\\x39\\x5d\\x41\\x8f\\xa6\\xc7\\xd0\\x63\\xe9\\x71\\xf4\\x78\\xfa\\x0f\\xf4\\x04\\xfa\\x8f\\xf4\\x93\\xf4\\x44\\x7a\\x12\\x2d\\xd0\\x76\\xda\\x41\\x3b\\x69\\x91\\x76\\xd1\\x6e\\xda\\x43\\x4b\\xf4\\x64\\x7a\\x0a\\xed\\xa5\\x7d\\xb4\\x9f\\x96\\xe9\\x00\\x5d\\x49\\x07\\xe9\\x10\\xad\\xd0\\x2a\\x5d\\x45\\x57\\xd3\\x35\\xf4\\x54\\xba\\x96\\xfe\\x13\\xfd\\x14\\xfd\\x67\\x7a\\x1a\\xfd\\x17\\x7a\\x3a\\xfd\\x57\\xfa\\x69\\xfa\\x6f\\xf4\\x0c\\xfa\\xef\\xf4\\x4c\\xfa\\x19\\x7a\\x16\\xfd\\x0f\\x7a\\x36\\xfd\\x4f\\x7a\\x0e\\xfd\\x2f\\xfa\\x59\\xfa\\x39\\x7a\\x2e\\xfd\\x3c\\x3d\\x8f\\xfe\\x37\\x3d\\x9f\\x7e\\x81\\x5e\\x40\\xff\\x87\\x5e\\x48\\xbf\\x48\\x2f\\xa2\\xff\\x4b\\x2f\\xa6\\x5f\\xa2\\x97\\xd0\\x2f\\xd3\\x4b\\xe9\\x57\\xe8\\x65\\xf4\\xab\\xf4\\x72\\xfa\\x35\\x7a\\x05\\xfd\\x3a\\xbd\\x92\\x7e\\x83\\x7e\\x93\\x7e\\x8b\\x5e\\x45\\xbf\\x4d\\xaf\\xa6\\xdf\\xa1\\xd7\\xd0\\xef\\xd2\\x6b\\xe9\\x75\\xf4\\x7a\\x7a\\x03\\x5d\\x47\\xbf\\x47\\x6f\\xa4\\xdf\\xa7\\x37\\xd1\\x1f\\xd0\\xf5\\xf4\\x87\\xf4\\x66\\xfa\\x23\\xba\\x81\\xde\\x42\\x37\\xd2\\x5b\\xe9\\x6d\\xf4\\x76\\x7a\\x07\\xbd\\x93\\x6e\\xa2\\x3f\\xa6\\x77\\xd1\\x9f\\xd0\\xcd\\xf4\\x6e\\x7a\\x0f\\xfd\\x29\\xbd\\x97\\xde\\x47\\xef\\xa7\\x0f\\xd0\\x07\\xe9\\xcf\\xe8\\x43\\xf4\\xe7\\xf4\\x61\\xfa\\x0b\\xfa\\x08\\xfd\\x25\\x7d\\x94\\xfe\\x8a\\x3e\\x46\\x1f\\xa7\\x4f\\xd0\\x27\\xe9\\x53\\xf4\\xd7\\xf4\\x69\\xfa\\x1b\\xfa\\x0c\\x7d\\x96\\x6e\\xa1\\xbf\\xa5\\xcf\\xd1\\xe7\\xe9\\xef\\xe8\\xef\\xe9\\x0b\\xf4\\x45\\xfa\\x12\\xfd\\x03\\x7d\\x99\\xbe\\x62\\x5c\\x6b\\x5c\\x47\\xb7\\xd2\\x3f\\x1a\\xeb\\x8c\\xef\\x19\\xb7\\xd1\\x6d\\xc6\\xf5\\xc6\\x0d\\xc6\\xed\\xf4\\x55\\xe3\\xd3\\xc6\\x46\\xe3\\x33\\xc6\\xb7\\xe8\\x6b\\xf4\\x75\\xfa\\x06\\xfd\\x13\\x7d\\xd3\\xb8\\x83\\xbe\\x45\\xb7\\xd3\\x1d\\xc6\\xcd\\xc6\\x8f\\x98\\xc1\\x4c\\x63\\x3d\\xb3\\x58\\x8c\\xc5\\x99\\xcd\\x08\\xa3\\x8c\\x31\\x87\\xb5\\xb0\\x09\\xac\\x95\\x4d\\x64\\x93\\xd8\\x64\\x36\\x85\\x4d\\x35\\x5e\\x65\\xd3\\xd8\\x74\\x36\\x83\\xed\\xc6\\x66\\xb2\\xf7\\xb0\\xdd\\xd9\\x1e\\x6c\\x4f\\xf6\\x5e\\x36\\x8b\\xbd\\x8f\\xed\\xc5\\xf6\\x66\\xb3\\xd9\\x3e\\x6c\\x0e\\xdb\\x97\\xed\\xc7\\xde\\xcf\\xf6\\x67\\x1f\\x60\\x07\\x18\\xe7\\xb0\\x0f\\xb2\\x03\\xd9\\x87\\xd8\\x41\\xec\\xc3\\x6c\\x2e\\xfb\\x08\\x9b\\xc7\\x12\\xcc\\x65\\x1e\\xe3\\xcc\\x67\\x49\\x96\\x62\\x6d\\x2c\\xcd\\x0e\\x36\\x2e\\x64\\x1f\\x35\\x2e\\x32\\xbe\\x68\\xbc\\xc8\\x0e\\x31\\x6e\\x35\\xbe\\x66\\x9c\\xc7\\x3e\\xc6\\xe6\\x1b\\x17\\x1b\\x5f\\x37\\x3e\\xc7\\x3e\\x6e\\x9c\\x6f\\x7c\\x81\\x1d\\xca\\x32\\x2c\\xcb\\x72\\x2c\\xcf\\x04\\x93\\xec\\x30\\x76\\x38\\x5b\\xc0\\x16\\xb2\\x23\\xd8\\x22\\x76\\x24\\x5b\\xcc\\x96\\xb0\\xa5\\xec\\x13\\x6c\\x19\\x3b\\x8a\\x2d\\x67\\x2b\\xd8\\xd1\\xec\\x18\\x76\\x2c\\x3b\\x8e\\x1d\\xcf\\xfe\\x81\\x9d\\xc0\\xfe\\x91\\x7d\\x92\\x9d\\xc8\\x4e\\x62\\x05\\xd6\\xce\\x3a\\x58\\x27\\x2b\\xb2\\x2e\\xd6\\xcd\\x7a\\x58\\x89\\x9d\\xcc\\x4e\\x61\\xbd\\xac\\x8f\\xf5\\xb3\\x32\\x1b\\x60\\x2b\\xd9\\x20\\x1b\\x62\\x15\\x56\\x65\\xab\\xd8\\x6a\\xb6\\x86\\x9d\\xca\\xd6\\xb2\\x7f\\x62\\x9f\\x32\\xbe\\xcf\\xfe\\x99\\x9d\\xc6\\xfe\\x85\\x9d\\xce\\xfe\\x95\\x7d\\x9a\\xfd\\x1b\\x3b\\x83\\xfd\\x3b\\x3b\\x93\\x7d\\x86\\x9d\\xc5\\xfe\\x83\\x9d\\xcd\\xfe\\x93\\x9d\\xc3\\xfe\\x8b\\x7d\\x96\\x7d\\x8e\\x9d\\xcb\\x3e\\xcf\\xce\\x63\\xff\\xcd\\xce\\x67\\x5f\\x60\\x17\\xb0\\xff\\x61\\x17\\xb2\\x2f\\xb2\\x8b\\xd8\\xff\\xb2\\x8b\\xd9\\x97\\xd8\\x25\\xec\\xcb\\xec\\x52\\xf6\\x15\\x76\\x19\\xfb\\x2a\\xbb\\x9c\\x7d\\x8d\\x5d\\xc1\\xbe\\xce\\xae\\x64\\xdf\\x60\\xdf\\x64\\xdf\\x62\\x57\\xb1\\x6f\\xb3\\xab\\xd9\\x77\\xd8\\x35\\xec\\xbb\\xec\\x5a\\x76\\x1d\\xbb\\xde\\xd8\\x60\\xdc\\xc2\\x6e\\x60\\xeb\\xd8\\xf7\\xd8\\x8d\\xec\\xfb\\xec\\x26\\xf6\\x03\\xb6\\x9e\\xfd\\x90\\xdd\\xcc\\x7e\\xc4\\x36\\xb0\\x5b\\xd8\\x46\\x76\\x2b\\xbb\\x8d\\xdd\\xce\\xee\\x60\\x77\\xb2\\x4d\\xec\\xc7\\xec\\x2e\\xf6\\x13\\xb6\\x99\\xdd\\xcd\\xee\\x61\\x3f\\x65\\xf7\\xb2\\xfb\\xd8\\xfd\\xec\\x01\\xf6\\x20\\xfb\\x19\\x7b\\x88\\xfd\\x9c\\x3d\\xcc\\x7e\\xc1\\x1e\\x61\\xbf\\x64\\x8f\\xb2\\x5f\\xb1\\xc7\\xd8\\xe3\\xec\\x09\\xf6\\x24\\x7b\\x8a\\xfd\\x9a\\x3d\\xcd\\x7e\\xc3\\x9e\\x61\\xcf\\xb2\\x2d\\xec\\xb7\\xec\\x39\\xf6\\x3c\\xfb\\x1d\\xfb\\x3d\\x7b\\x81\\xbd\\xc8\\x5e\\x62\\x7f\\x60\\x2f\\xb3\\x57\\xd8\\x56\\xf6\\x47\\xb6\\x8d\\xbd\\xca\\x5e\\x63\\xaf\\xb3\\x37\\xd8\\x9f\\xd8\\x9b\\xec\\x2d\\xb6\\x9d\\xed\\x70\\x0c\\xc7\\x74\\x2c\\x27\\xe6\\xc4\\x1d\\xdb\\x21\\x0e\\x75\\x98\\xe3\\x38\\x2d\\xce\\x04\\xa7\\xd5\\x99\\xe8\\x4c\\x72\\x26\\x3b\\x53\\x9c\\xa9\\xce\\x34\\x67\\xba\\x33\\xc3\\xd9\\xcd\\x99\\xe9\\xbc\\xc7\\xd9\\xdd\\xd9\\xc3\\xd9\\xd3\\x79\\xaf\\x33\\xcb\\x79\\x9f\\xb3\\x97\\xb3\\xb7\\x33\\xdb\\xd9\\xc7\\x99\\xe3\\xec\\xeb\\xec\\xe7\\xbc\\xdf\\xd9\\xdf\\xf9\\x80\\x73\\x80\\xf3\\x41\\xe7\\x40\\xe7\\x43\\xce\\x41\\xce\\x87\\x9d\\xb9\\xce\\x47\\x9c\\x79\\x4e\\xc2\\x71\\x1d\\xcf\\xe1\\x8e\\xef\\x24\\x9d\\x94\\xd3\\xe6\\xa4\\x9d\\x83\\x9d\\x8f\\x3a\\x87\\x38\\x1f\\x73\\xe6\\x3b\\x1f\\x77\\x0e\\x75\\x32\\x4e\\xd6\\xc9\\x39\\x79\\x47\\x38\\xd2\\x39\\xcc\\x39\\xdc\\x59\\xe0\\x2c\\x74\\x8e\\x70\\x16\\x39\\x47\\x3a\\x8b\\x9d\\x25\\xce\\x52\\xe7\\x13\\xce\\x32\\xe7\\x28\\x67\\xb9\\xb3\\xc2\\x39\\xda\\x39\\xc6\\x39\\xd6\\x39\\x8e\\x56\\xfb\\x4b\\xf3\\xe6\\x65\\xe6\\xc1\\xe6\\x9d\\xf2\\xaa\\xe2\\xe0\\x50\\x47\\x79\\xb0\\x18\\xeb\\xab\\x26\\x5a\\xfa\\x4a\\x9d\\x9d\\xe5\\xca\\xdc\\x79\\xf3\\x12\\x34\\xd3\\x17\\xdc\\xe7\\xec\\xa7\\x85\\xd0\\x92\\x4c\\xfb\\x60\\x71\\x55\\x91\\x14\\xb4\\xa1\\x99\\x72\\x77\\xb9\\xbf\\x78\\x0a\\x2d\\x84\\x76\\x42\\xae\\xa3\\x34\\xd8\\x51\\xed\\xeb\\xea\\x2d\\xae\\x99\\xd0\\x51\\xf7\\x5b\\x72\\xaa\\xbb\\x42\\x47\\x47\\xb1\\xbf\\xd2\\xd2\\x51\\x73\\x49\\xbe\\xa3\\x10\\x74\\xd9\\x19\\x9a\\xbc\\xea\\xbf\\x50\\xa1\\x02\\x80\\x45\\x00\\x8a\\x10\\xb0\\xa8\\x4d\\x8b\\xa8\\x77\\x54\\xac\\xb9\\x54\\x20\\x8c\\x62\\x68\\x89\\x08\\x7b\\x2c\\x6a\\x33\\xe1\\xb0\\x48\\x50\\xdd\\x91\\xa0\\x0e\\xab\\xf7\\xd5\\x5d\\x73\\x5b\\x0f\\xeb\\x28\\xf7\\xf5\\x15\\xb0\\xd3\\x1d\\xd9\\x99\\x70\\x78\\xa4\\x9f\\x9e\\xba\\x1f\\x3f\\xbc\\xbd\\x30\\x18\\xef\\x51\\x05\\x59\\x50\\x29\\xf5\\x76\\x16\\x49\\x49\\x1b\\xba\\x00\\x23\\x29\\x61\\x24\\x0b\\xc2\\x91\\x94\\xc2\\xa9\\x5b\\x80\\x98\\x4b\\xa1\\xb5\\x16\\x2c\\xb4\\x4a\\x27\\x4f\\x58\\x18\\xc1\\x38\\xb9\\xee\\xb7\\x1e\\x11\\x8d\\xea\\x94\\x11\\x3b\\xdd\\xc1\\x6d\\xf3\\xde\\x42\\x7f\\x67\\xa9\\x83\\x2c\\x2a\\x74\\x54\\x2b\\x45\\xd2\\xab\\x4d\\xeb\\xa2\\x68\\xbb\\xde\\xc8\\x0e\\x59\\x14\\x4e\\x50\\xaf\\x36\\xf1\\x45\\x6a\\xf4\\xf1\\x5e\\x55\\x90\\xc5\\xe1\\xf1\\xfd\\xe1\\xf1\\x8b\\xa3\\xc7\\xf7\\x47\\x8f\\x5f\\x1c\\x1e\\xdf\\x1f\\x4e\\x70\\x7f\\x61\\xa0\\x3c\\x54\\x19\\x2c\\x0f\\xf4\\x14\\x63\\xa2\\xbf\\x3b\\x56\\xec\\xef\\xa6\\x4b\\x30\\xf8\\x32\\x06\\xbf\\x24\\x1c\\x7c\\x59\\x9b\\x89\\x4b\\x7a\\xaa\\xfd\\xdd\\x85\\xc1\\x6a\\x5f\\x6f\\xa1\\x5a\\x99\\x58\\x8e\\xee\\x91\\x65\\x61\\x0c\\x83\\x61\\x0c\\xcb\\xa2\\x31\\x0c\\x46\\x63\\x58\\x16\\xc6\\x30\\x18\\x9a\\xa3\\xc2\\xa3\\x86\\xb4\\x99\\x70\\x54\\x64\\x1a\\x87\\x22\\xd3\\xb8\\x3c\\xda\\x5b\\x25\\xda\\xdb\\xf2\\xb0\\x9b\\x4a\\x38\\x23\\xcb\\x83\\x53\\x5a\\x09\\x4e\\xe9\\x8a\\xf0\\x94\\x56\\xc3\\x53\\xba\\x02\\xa3\\xaa\\x62\\x54\\x2b\\xc2\\x51\\x55\\xb5\\xb1\\x57\\x0c\\x96\\xfa\\xbb\\xed\\x6a\\x50\\x4e\\x5c\\x31\\x62\\x84\\xd5\\xe8\\x1e\\x5d\\x81\\x53\\x5f\\xc5\\xbb\\xe6\\x98\\x48\\xb4\\xab\\x23\\xfe\\x71\\x11\\xff\\xd4\\xba\\x4f\\x8e\\x0f\\xc7\\xba\\x56\\x9b\\x96\\xe3\\xeb\\x97\\xf1\\xda\\x9a\\x6b\\xf7\\x96\\xfb\\xbb\\x87\\xf4\\xdb\\x3b\\xd1\\x36\\x0f\\x36\\x01\\xeb\\xc2\\x7a\\xb0\\x1c\\xd6\\x87\\x4d\\xc2\\xa6\\x60\\xdb\\x60\\xd3\\xb0\\x19\\xd8\\x2c\\x6c\\x0e\\x36\\x0f\\x2b\\x60\\x65\\x68\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xdc\\x34\\x70\\xd3\\xc0\\x4d\\x03\\x37\\x0d\\xdc\\x34\\x70\\xd3\\xc0\\x4d\\x03\\x37\\x0d\\xdc\\x34\\x70\\xd3\\xc0\\x4d\\x03\\x37\\x2d\\xed\\x25\\x3d\\xe5\\x41\\x95\\xfc\\x04\\x65\\x58\\x97\\xc1\\x98\\x33\\xc0\\xce\\x00\\x3b\\x03\\xec\\x0c\\xb0\\x33\\xc0\\xce\\x00\\x3b\\x03\\xec\\x0c\\xb0\\x33\\xc0\\xce\\x00\\x3b\\x03\\xec\\x8c\\xb0\\x57\\x68\\xcc\\x6a\\x1d\\x33\\x8b\\xf1\\x66\\x81\\x9d\\x05\\x76\\x16\\xd8\\x59\\x60\\x67\\x81\\x9d\\x05\\x76\\x16\\xd8\\x59\\x60\\x67\\x81\\x9d\\x05\\x76\\x16\\xd8\\x59\\x60\\x67\\x31\\xee\\x2c\\xe6\\x3b\\x87\\xf9\\xce\\x01\\x3f\\x07\\xfc\\x1c\\xf0\\x73\\xc0\\xcf\\x01\\x3f\\x07\\xfc\\x1c\\xf0\\x73\\xc0\\xcf\\x01\\x3f\\x07\\xfc\\x1c\\xf0\\x73\\xc0\\xcf\\x01\\x3f\\x07\\xfc\\x1c\\xf0\\xf3\\xc0\\xcf\\x03\\x3f\\x0f\\xfc\\x3c\\xf0\\xf3\\xc0\\xcf\\x03\\x3f\\x0f\\xfc\\x3c\\xf0\\xf3\\xc0\\xcf\\x03\\x3f\\x0f\\xfc\\x3c\\xf0\\xf3\\xc0\\xcf\\x03\\x3f\\x0f\\xfc\\x3c\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x25\\xf0\\x25\\xf0\\x25\\xf0\\x25\\xf0\\x25\\xf0\\x25\\xf0\\x25\\xf0\\x25\\xf0\\x25\\xf0\\x65\\xba\\x25\\x13\\xac\\x25\\xe1\\xdb\\xbc\\x50\\x73\\x69\\x46\\x84\\xb6\\x50\\x0c\\x57\\xbb\\x25\\x43\\xbd\\x85\\xa1\\x9e\\xd0\\x2f\\xd7\\x7d\\xdd\\x8b\\x3b\\x6f\\x1e\\x6c\\x02\\xd6\\x85\\xf5\\x60\\x39\\xac\\x0f\\x9b\\x84\\x4d\\xc1\\xb6\\xc1\\xa6\\x61\\x33\\xb0\\x59\\xd8\\x1c\\x6c\\x1e\\x56\\xc0\\x86\\xb3\\xe1\\x26\\x80\\x9f\\x00\\x7e\\x02\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\x7e\\x02\\xf8\\x89\\x54\\xeb\\x51\\xd1\\xd5\\x7a\\x28\\xb2\\x83\\x16\\x88\\x24\\x81\\x48\\x12\\x88\\x24\\x81\\x48\\x12\\x88\\x24\\x81\\x48\\x5c\\x44\\xe2\\x22\\x12\\x17\\x91\\xb8\\x88\\xc4\\x45\\x24\\x2e\\x22\\x71\\x11\\x89\\x8b\\x99\\x70\\x31\\x13\\x2e\\x66\\xc2\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf5\\x80\\xeb\\x01\\xd7\\x03\\xae\\x07\\x5c\\x0f\\xb8\\x1e\\x70\\x3d\\xe0\\x72\\xe0\\x72\\xe0\\x72\\xe0\\x72\\xe0\\x72\\xe0\\x72\\xe0\\x72\\xe0\\x72\\x8c\\x9b\\x03\\x9f\\x03\\x9f\\x03\\x9f\\x03\\x9f\\x03\\x9f\\x03\\x9f\\x03\\x9f\\x03\\xdf\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\x03\\xdf\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\x03\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x1f\\xfc\\xef\\x82\\xff\\x5d\\xf0\\xbf\\x0b\\xfe\\x77\\xc1\\xff\\x2e\\xf8\\xdf\\x05\\xff\\xbb\\xe0\\x7f\\x17\\xfc\\xef\\x82\\xff\\x5d\\xf0\\xbf\\x0b\\xfe\\x77\\xc1\\xff\\x2e\\xf8\\xdf\\x05\\xff\\xbb\\xe0\\x7f\\x17\\xfc\\xef\\x82\\xff\\xdd\\x34\\xf0\\xa1\\x03\\x5c\\xe8\\x00\\x17\\x3a\\xc0\\x85\\x0e\\x70\\xa1\\x03\\x5c\\xe8\\x00\\x17\\x3a\\xc0\\x85\\x0e\\x70\\xa1\\x03\\x5c\\xe8\\x00\\x17\\x3a\\xc0\\x85\\x0e\\x70\\xd3\\xc0\\x47\\x9a\\xe3\\x66\\x80\\x0f\\x2d\\xe0\\x42\\x0b\\xb8\\xd0\\x02\\x2e\\xb4\\x80\\x0b\\x2d\\xe0\\x42\\x0b\\xb8\\xd0\\x02\\x2e\\xb4\\x80\\x0b\\x2d\\xe0\\x42\\x0b\\xb8\\xd0\\x02\\x2e\\xb4\\x80\\x9b\\x01\\x7e\\x06\\xf8\\x59\\xe0\\x43\\x0f\\xb8\\xd0\\x03\\x2e\\xf4\\x80\\x0b\\x3d\\xe0\\x42\\x0f\\xb8\\xd0\\x03\\x2e\\xf4\\x80\\x0b\\x3d\\xe0\\x42\\x0f\\xb8\\xd0\\x03\\x2e\\xf4\\x80\\x0b\\x3d\\xe0\\x42\\x0f\\xb8\\xd0\\x03\\x2e\\xf4\\x80\\x0b\\x3d\\xe0\\x42\\x0f\\xb8\\xd0\\x03\\x2e\\xf4\\x80\\x0b\\x3d\\xe0\\x42\\x0f\\xb8\\xe0\\x7f\\x17\\xbc\\xef\\x82\\xf7\\x5d\\xf0\\xbe\\x0b\\xde\\x77\\xc1\\xfb\\x2e\\x78\\xdf\\x05\\xef\\xbb\\xe0\\x7d\\x17\\xbc\\xef\\x82\\xf7\\x5d\\xf0\\xbe\\x0b\\xde\\x77\\xc1\\xfb\\x2e\\x78\\xdf\\x05\\x8f\\xbb\\xe0\\x71\\x17\\x3c\\xee\\x82\\xc7\\x5d\\xf0\\xb8\\x0b\\x1e\\x77\\xc1\\xe3\\x2e\\x78\\xdc\\x05\\x8f\\xbb\\xe0\\x71\\x17\\x3c\\xee\\x82\\xc7\\x5d\\xf0\\xb8\\x0b\\x1e\\x77\\xc1\\xe3\\x2e\\x78\\xdc\\x05\\x8f\\xbb\\xe0\\x71\\x17\\x3c\\xee\\x82\\xc7\\x5d\\xf0\\xb8\\x0b\\x1e\\x77\\xc1\\xe3\\x2e\\x78\\xdc\\x05\\x8f\\xbb\\xe0\\x71\\x17\\x3c\\xee\\x4a\\xe0\\x4b\\xe0\\x4b\\xe0\\x4b\\xe0\\x4b\\xe0\\x4b\\xe0\\x4b\\xe9\\x74\\x0f\\x16\\x56\\x15\\x15\\xe1\\xb5\\x3b\\x9a\\xc9\\x03\\x4f\\xbf\\xe6\\xcd\\x73\\x1d\\x9d\\x89\\x44\\x6a\\x38\\xac\\x0f\\x9b\\x84\\x4d\\xc1\\xb6\\x4d\\xec\\x29\\x97\\x4f\\x29\\xb4\\x97\\x57\\x45\\x8f\\xca\\xc0\\x66\\x61\\x73\\xb0\\x79\\x58\\x01\\x1b\\xce\\x85\\x07\\x16\\xf7\\xc0\\xe2\\x1e\\x58\\xdc\\x03\\x8b\\x7b\\x60\\x71\\x0f\\x2c\\xee\\x81\\xc5\\xbd\\x04\\xa2\\x48\\xb4\\xc1\\xa6\\x61\\x81\\x0f\\xee\\xf6\\xc0\\xdd\\x1e\\xb8\\xdb\\x03\\x77\\x7b\\xe0\\x6e\\x0f\\xdc\\xed\\x81\\xbb\\x3d\\xd7\\x6d\\x55\\xb9\\x4e\\x7b\\xb1\\xb7\\xbc\\xba\\x3e\\x28\\x10\\xb8\\x07\\x02\\xf7\\x40\\xe0\\x1e\\x08\\xdc\\x03\\x81\\x7b\\x20\\x70\\x0f\\x04\\xee\\x81\\xc0\\x3d\\x10\\xb8\\x07\\x02\\xf7\\x40\\xe0\\x1e\\x08\\xdc\\x03\\x81\\x7b\\x20\\x70\\x0f\\x04\\xee\\x81\\xc0\\x3d\\x10\\xb8\\x07\\x02\\xf7\\x40\\xe0\\x9e\\x07\\x7c\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb5\\x07\\xa2\\xf6\\x40\\xc4\\x1e\\x88\\xd8\\x03\\x11\\x7b\\x20\\x62\\x2f\\x25\\xec\\x4a\\xb9\\xbf\\x3c\\x34\\xb1\\xb3\\x54\\x1c\\x2c\\x0e\\x95\\x86\\xf4\\x5e\\x4b\\xa6\\x77\\xa0\\xa7\\xa0\\x5d\\xa7\\xd0\\x5f\\xae\\x14\\x7b\\x8b\\xa5\\x42\\xab\\x18\\x18\\x2a\\xa9\\x9c\\x5d\\x57\\x33\\x51\\xc1\\xeb\\x0b\\xca\\xf0\\x5a\\x97\\xf4\\x95\\x82\\x3b\\x0e\\xe1\\xce\\x8a\\x48\\xe3\\x96\\x25\\x7d\\xc5\\xee\\xb0\\xd1\\xd4\\x92\\x6a\\x3e\\x02\\xcb\\xd6\\x58\\xf1\\x6c\\xb1\\x52\\xb0\\x0f\\x2b\\x28\\xfd\\x4c\\x81\\x13\\x3f\\x5e\\x55\\xc5\\x14\\x8e\\xbd\\xbc\\x47\\x79\\xf1\\x00\\xc8\\x3e\\xa2\\x30\\x30\\x50\\x20\\x8b\\x0a\\x7d\\xed\\x9d\\x05\\xeb\\xc8\\xaa\\xb5\\xb8\\x6a\\x1d\\x5b\\xa2\\x40\\xb6\\x96\\x96\\x62\\xcb\\x7a\\xca\\xf6\\x51\\xa5\\xee\\xbe\\x42\\x6c\\x79\\xa1\\x4a\\x11\\x45\\x6c\\x69\\x4f\\x29\\x96\\x53\\xdb\\xd2\\xa1\\x52\\xeb\\x82\\x48\\x04\\x93\\xd1\\x60\\x78\\xbf\\xa5\\x50\\x1b\\x78\\x6b\\x31\\x3a\\xdc\\xe2\\xf0\\x70\\x4b\\xc3\\xc3\\x9d\\x51\\x1d\\x79\\x68\\x38\\x18\\x7d\\x7c\\xbc\\x3d\\x18\\x4c\\x77\\x30\\x18\\xbb\\xb3\\xd8\\x5b\\x29\\x50\\xf4\\x15\\x5f\\x1b\\x0c\\x29\\x78\\xb1\\xa2\\x87\\x14\\x74\\x66\\x9f\\xa2\\x87\\xd4\\x1b\\x0e\\xa9\\xbf\\x6a\\xad\\x29\\xd1\\x72\\x38\\x9e\\xd8\\x60\\x4f\\x99\\x0c\\x05\\x83\\x49\\xd8\\xda\\xc4\\x2a\\x6a\\x4c\\xc0\\x8d\\x0d\\xa8\\xf1\\x74\\xa8\\x4d\\xed\\xda\\xe5\\x60\\x82\\x5b\\xa3\\x73\\x3b\\xb9\\x21\\xbc\\xd6\\x72\\xf4\\xec\\x54\\xa3\\x67\\xa7\\x5c\\x3b\\x3b\\xe1\\x35\\x01\\x92\\xf4\\x40\\x92\\x1e\\x48\\xd2\\x03\\x49\\x7a\\x20\\x49\\x0f\\x24\\xe9\\x81\\x24\\x3d\\x90\\xa4\\x87\\xe4\\xd8\\x43\\x72\\xec\\x21\\x39\\xf6\\x90\\x1c\\x7b\\x48\\x8e\\x3d\\x24\\xc7\\x1e\\x48\\xd5\\x03\\xa9\\x7a\\x20\\x55\\x0f\\xa4\\xea\\x81\\x54\\x3d\\x90\\xaa\\x07\\x52\\xf5\\x40\\xaa\\x1e\\x48\\xd5\\x03\\xa9\\x7a\\x20\\x55\\x0f\\xa4\\xea\\x81\\x54\\x3d\\x90\\xaa\\x07\\x52\\xf5\\x40\\xaa\\x1e\\x48\\xd5\\x03\\xa9\\x7a\\x20\\x55\\x0f\\xa4\\xea\\x81\\x54\\x3d\\x90\\xaa\\x07\\x52\\xf5\\x40\\xaa\\x1e\\x48\\xd5\\x03\\xa9\\x7a\\x20\\x55\\x0f\\xa4\\xea\\x81\\x54\\x3d\\x90\\xaa\\x07\\x52\\xf5\\x40\\xaa\\x1e\\x48\\xd5\\x93\\x21\\x3e\\x47\\x3a\\xcc\\x91\\x0e\\x73\\xa4\\xc3\\x1c\\xe9\\x30\\x07\\x9d\\x72\\xd0\\x29\\x07\\x9d\\x72\\xd0\\x29\\x47\\x3a\\xcc\\x91\\x0e\\x73\\x10\\x29\\x07\\x91\\x72\\x10\\x29\\x07\\x91\\x72\\x10\\x29\\x07\\x91\\x72\\x10\\x29\\x07\\x91\\x72\\x10\\x29\\x07\\x91\\x72\\x10\\x29\\x07\\x91\\x72\\x10\\x29\\x07\\x91\\x72\\x10\\x29\\x07\\x91\\x72\\x10\\x29\\x07\\x91\\x72\\x10\\x29\\x07\\x91\\x72\\x10\\x29\\x07\\x91\\x72\\x10\\x29\\x07\\x91\\x72\\x24\\xc1\\x1c\\x49\\x30\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x07\\xc7\\x72\\x70\\x2c\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x07\\x07\\x73\\x70\\x30\\x07\\x07\\x73\\x70\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\x47\\x32\\xcc\\x91\\x0c\\x73\\x24\\xc3\\x1c\\xc9\\x30\\xc7\\xcd\\x71\\x8e\\x9b\\xe3\\x1c\\xc9\\x31\\xc7\\xcd\\x71\\x8e\\x24\\x99\\x23\\x49\\xe6\\x48\\x92\\x39\\x92\\x64\\x8e\\x24\\x99\\x23\\x49\\xe6\\xe0\\x7f\\x0e\\xfe\\xe7\\xe0\\x7f\\x0e\\xfe\\xe7\\xe0\\x7f\\x0e\\xfe\\xe7\\xe0\\x7f\\x0e\\xfe\\xe7\\xf9\\x36\\xa7\\xd0\\x55\\x2a\\x25\\xe6\\xb5\\x0d\\xaf\\x4c\\x50\\x00\\x1c\\x0a\\x80\\x43\\x01\\x70\\x28\\x00\\x0e\\x05\\xc0\\xa1\\x00\\x38\\x14\\x00\\x87\\x02\\xe0\\x50\\x00\\x1c\\x0a\\x80\\x43\\x01\\x70\\x28\\x00\\x0e\\x05\\xc0\\xa1\\x00\\x38\\x14\\x00\\x87\\x02\\xe0\\x50\\x00\\x1c\\x0a\\x80\\x43\\x01\\x70\\x28\\x00\\x0e\\x05\\xc0\\xa1\\x00\\x38\\x14\\x00\\x87\\x02\\xe0\\x50\\x00\\x1c\\x0a\\x80\\x43\\x01\\x70\\x28\\x00\\x0e\\x05\\xc0\\xa1\\x00\\x38\\x14\\x00\\x87\\x02\\xe0\\x50\\x00\\x1c\\x0a\\x80\\x43\\x01\\x70\\x28\\x00\\x0e\\x05\\xc0\\xa1\\x00\\x7c\\x28\\x00\\x1f\\x0a\\xc0\\x87\\x02\\xf0\\xa1\\x00\\x7c\\x28\\x00\\x1f\\x0a\\xc0\\x87\\x02\\xf0\\xa1\\x00\\x7c\\x28\\x00\\x1f\\x0a\\xc0\\x87\\x02\\xf0\\xa1\\x00\\x7c\\x28\\x00\\x1f\\x0a\\xc0\\x87\\x02\\xf0\\xa1\\x00\\x7c\\x28\\x00\\x1f\\x0a\\xc0\\x87\\x02\\xf0\\xa1\\x00\\x7c\\x30\\xba\\x0f\\x46\\xf7\\xc1\\xe8\\x3e\\x18\\xdd\\xc7\\xca\\xe1\\x63\\xe5\\xf0\\xb1\\x72\\xf8\\x58\\x39\\x7c\\xac\\x1c\\x3e\\x56\\x0e\\x1f\\x2b\\x87\\x8f\\x95\\xc3\\xc7\\xca\\xe1\\x63\\xe5\\xf0\\xb1\\x72\\xf8\\x58\\x39\\xfc\\xf4\\x30\\x0e\\xe2\\xc6\\xca\\xe1\\x63\\xe5\\xf0\\xb1\\x72\\xf8\\x58\\x39\\x7c\\xac\\x1c\\x3e\\x56\\x0e\\x1f\\x2b\\x87\\x8f\\x95\\xc3\\xc7\\xca\\xe1\\x63\\xe5\\xf0\\xb1\\x72\\xf8\\x58\\x39\\x7c\\xac\\x1c\\x3e\\x56\\x0e\\x1f\\x2b\\x87\\x8f\\x95\\xc3\\xcf\\x48\\x7b\\xa8\\xa7\\xb8\\xaa\\xd0\\xa2\\x72\\x87\\x42\\xd7\\x50\\xb1\\xbb\\xdc\\x1b\\xba\\x03\\xaa\\xe8\\x99\\xa0\\xdd\\x95\\x85\\xbe\\x42\\x65\\xc8\\xee\\x29\\x0d\\x96\\x56\\xda\\x95\\x21\\xa5\\xca\\x6d\\xdd\\xd0\\xd6\\x6d\\xc8\\xf0\\xcb\\x65\\x95\\x08\\x84\\x9d\\x66\\x33\\x64\\x65\\xb5\\xbd\\x5a\\x19\\x22\\x9d\\x85\\xee\\xe2\\x50\\x8f\\xdd\\x57\\xac\\x14\\xbb\\xed\\xbe\\xc2\\xca\\x42\\x57\\x7c\\xb0\\xd0\\x55\\x54\\x47\\x0e\\x15\\x57\\xd2\\xe0\\x8b\\x6f\\xc1\\x83\\xf1\\x21\\x6d\\xd8\\x50\\x59\\xa1\\x0e\\x55\\x57\\x3a\\xd5\\x81\\x81\\xe2\\xe0\\x89\\x41\\x55\\x6f\\x79\\x75\\x71\\x50\\x39\\x61\\xbf\\xb9\\xe4\\x84\\x10\\x6c\\xa5\\x02\\xee\\x8f\\x17\\x7a\\x8b\\x5d\\x31\\x95\\xb0\\xd8\\xdd\\xa5\\xbe\\x62\\xaf\\xdd\\xa9\\xf6\\x2b\\x56\\x4f\\x31\\xb6\\xaa\\xb0\\xca\\x5e\\x5b\\x38\\xb5\\xd4\\x1f\\x53\\xa9\\x4a\\xac\\xa2\\xb6\\x53\\xcb\\x9d\\xac\\xab\\xd4\\x5f\\xe8\\x3d\\xa5\\xd0\\x15\\x53\\x9b\\xad\\x42\\x2d\\xa2\\xaa\\xaf\\xd8\\x17\\x53\\x5b\\xb8\\xd3\\x5f\\xed\\x8f\\xa9\\x8d\\x0c\\xa9\\xd7\\x4f\\xe9\\x89\\x07\\x9d\\x50\\xfd\\xc2\\x40\\xd1\\x1a\\x28\\xb6\\x68\\xb7\\x32\\xa4\\x52\\x15\\x5b\\x97\\xb1\\x95\\x65\\x35\\x20\\x35\\xc2\\x78\\x30\\x14\\x95\\xe3\\xac\\x22\\x0a\\x7c\\x55\\x68\\x14\\x28\\x51\\x5b\\x60\\xba\\x83\\x4c\\xa6\\xc7\\x51\\x66\\xa8\\x47\\xf5\\xa9\\xa7\\x29\\x91\\x0f\\xdf\\x2b\\xca\\x26\\x60\\x5d\\x58\\x0f\\x96\\xc3\\xfa\\xb0\\x49\\xd8\\x14\\x6c\\x1b\\x6c\\x1a\\x36\\x03\\x9b\\x85\\xcd\\xc1\\xe6\\x61\\x05\\xac\\x0c\\x6d\\x02\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\x7e\\x02\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\x7e\\x02\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\x7e\\x02\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x03\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\x3e\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\x03\\xdf\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\x03\\xdf\\x07\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x1b\\xf0\\xdb\\x80\\xdf\\x06\\xfc\\x36\\xe0\\xb7\\x01\\xbf\\x0d\\xf8\\x6d\\xc0\\x6f\\x03\\x7e\\x1b\\xf0\\xdb\\x80\\xdf\\x06\\xfc\\x36\\xe0\\xb7\\x01\\xbf\\x0d\\xf8\\x6d\\xc0\\x6f\\x03\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x0e\\xf8\\x39\\xe0\\xe7\\x80\\x9f\\x03\\x7e\\x0e\\xf8\\x39\\xe0\\xe7\\x80\\x9f\\x03\\x7e\\x0e\\xf8\\x39\\xe0\\xe7\\x80\\x2f\\x81\\x13\\x6a\\xb2\\x84\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x08\\xf0\\x8c\\x00\\xcf\\x88\\x94\\x24\\xc7\\xe8\\x67\\x9d\\x64\\x75\\x68\\x8e\\x09\\x3f\\xda\\xb8\\x5a\\x1b\\xe7\\x98\\xe1\\x1b\\xec\\xce\\xea\\x61\\x2f\\x3c\\x0e\\x3c\\x23\\xc0\\x33\\x02\\x3c\\x23\\xc0\\x33\\x02\\x3c\\x23\\xc0\\x33\\x02\\x3c\\x23\\xc0\\x33\\x02\\x3c\\x23\\xc0\\x33\\x02\\x3c\\x23\\xc0\\x33\\x02\\x3c\\x23\\xc0\\x33\\x02\\x3c\\x23\\xc0\\x33\\x02\\x3c\\x23\\xc0\\x33\\x02\\x3c\\x23\\xc0\\x33\\x02\\x3c\\x23\\xc0\\x33\\x22\\x2d\\x9c\\xcc\\xf0\\xf3\\x4a\\xa7\\x30\\xec\\xb5\\x64\\x6a\\x4f\\x66\\x5b\\x0a\\x35\\x77\\x4a\\xa6\\xfe\\x51\\x4f\\x3d\\x0d\\x53\\x0a\\x8d\\x15\\x91\\x16\\x7a\\xda\\xa2\\x2d\\x74\\xc5\\x8c\\x48\\x8b\\x5a\\xc7\\x33\\x0a\\x4d\\x2a\\xa3\\x7d\\xe9\\x27\\xcb\\xd1\\xbe\\x74\\xc5\\xf4\\x48\\x8b\\xe1\\xc8\\xa7\\x17\\x46\\xd7\\x4d\\x08\\x3f\\x1a\\x1e\\x7e\\x0c\\xad\\x10\\xf1\\xc3\\x7a\\x1d\\x17\\xea\\xb5\\x3f\\x39\\xac\\xaf\\x45\\x32\\xb9\\x30\\x72\\x1f\\xc7\\xe9\\x18\\x70\\x9c\\xf6\\x27\\x85\\xf5\\xc3\\xb0\\x93\\x0a\\x23\\x76\\x1d\\x51\\xf3\\x6a\\x75\\x2d\\xa2\\x3e\\xcf\\xf5\\xfe\\x89\\x08\\x3f\\xda\\x1b\\xf6\\x3a\\x45\\x34\\x4e\\x72\\xb1\\xb1\\x42\\x34\\xce\\x7a\\xb1\\x71\\xd6\\x45\\xb3\\x59\\x2f\\x36\\x9b\\x75\\xd1\\x38\\xeb\\xc5\\xc6\\x59\\x17\\x4d\\x66\\xbd\\x38\\xba\\xae\\x65\\x41\\x7d\\x6c\\xa5\\x9a\\xeb\\x2c\\xa8\\xcd\\x42\\xa9\\xe6\\x2d\\xa9\\x79\\xe5\\xda\\xd1\\x4b\\xea\\x47\\x97\\xeb\\xd1\\x2d\\x69\\x1c\\x7a\\xb9\\xb1\\x62\\x49\\xe3\\x5c\\x94\\x1b\\xe7\\x62\\x49\\xb3\\xb9\\x28\\x37\\x9b\\x8b\\x25\\x8d\\x73\\x51\\x6e\\x9c\\x8b\\x25\\x4d\\xe6\\xa2\\xdc\\x64\\x2e\\xf4\\xc7\\x7e\\xc3\\x8f\\x4b\\x96\\xeb\\xae\\xae\\xd5\\x41\\x85\\xb5\\xda\\x9d\\xa4\\x6b\\x6b\\x41\\x4c\\x2a\\x8f\\xd8\\x0d\\x8f\\xd1\\xe0\\xe1\\x31\\xda\\x9d\\xa8\\x6b\\x87\\xd1\\x26\\x96\\xa3\\x7b\\xce\\x8a\\x9a\\x57\\xad\\xc5\\xb3\\xa2\\xde\\x61\\xb5\\xee\\xae\\xa8\\x87\\x56\\xad\\xbb\\x2b\\xea\\x51\\x56\\xeb\\x51\\xae\\x18\\x19\\x65\\x75\\x64\\x94\\x2b\\xea\\x51\\x56\\xeb\\x51\\xae\\x18\\x11\\x65\\x35\\xba\\x47\\x8e\\x0b\\x97\\xd9\\x53\\xb5\\x71\\x8e\\xab\\xc5\\x7c\\x6a\\x2d\\xe6\\xe3\\xea\\xdd\\x9f\\x5a\\x7f\\xaf\\x1c\\x17\\xbe\\x57\\x4e\\x0d\\x3f\\x06\\x1f\\xac\\x69\\x12\\x9a\\x4d\\x42\\xb3\\x49\\x68\\x36\\x09\\xcd\\x26\\xa1\\xd9\\x24\\x34\\x9b\\x84\\x66\\x93\\xd0\\x6c\\x12\\x9a\\x4d\\x42\\xb3\\x49\\x68\\x36\\x09\\xcd\\x26\\xa1\\xd9\\x24\\x34\\x9b\\x84\\x66\\x93\\xd0\\x6c\\x12\\x9a\\x4d\\x42\\xb3\\x49\\x68\\x36\\x09\\xcd\\x26\\xa1\\xd9\\x24\\x34\\x9b\\x84\\x46\\x93\\xd0\\x68\\x12\\x1a\\x4d\\x42\\xa3\\x49\\x68\\x34\\x09\\x8d\\x26\\xa1\\xc9\\x24\\x34\\x99\\x84\\x26\\x93\\xd0\\x64\\x12\\x9a\\x4c\\x42\\x93\\x49\\x68\\x32\\x09\\x4d\\x26\\xa1\\xc9\\x24\\x34\\x99\\x84\\x26\\x93\\xd0\\x64\\x12\\x9a\\x4c\\xba\\xc3\\x78\\x18\\x1f\\x34\\x99\\x84\\x26\\x93\\xd0\\x64\\x12\\x9a\\x4c\\x42\\x93\\x49\\x68\\x32\\x09\\x4d\\x26\\xa1\\xc9\\x24\\x34\\x99\\x84\\x26\\x93\\xd0\\x64\\x12\\x9a\\x4c\\x42\\x93\\x49\\x68\\x32\\x09\\x4d\\x26\\xa1\\xc9\\x24\\x34\\x99\\x84\\x26\\x93\\xd0\\x64\\x12\\x9a\\x4c\\x42\\x93\\x49\\x68\\x32\\x09\\x4d\\x26\\xa1\\xc1\\x24\\x34\\x98\\x84\\x06\\x93\\xd0\\x60\\x12\\x1a\\x4c\\x42\\x83\\x49\\x68\\x2e\\x09\\xcd\\x25\\xa1\\xb9\\x24\\x34\\x97\\x84\\xe6\\x92\\xd0\\x5c\\x12\\x9a\\x4b\\x42\\x73\\x49\\x68\\x2d\\x09\\x8d\\x25\\xfd\\xe1\\x7e\\x11\\x3f\\x34\\x95\\x84\\xa6\\x92\\xd0\\x54\\x12\\x9a\\x4a\\x42\\x53\\x49\\x68\\x2a\\x09\\x4d\\x25\\xa1\\xa9\\x24\\x34\\x95\\x84\\xa6\\x92\\xd0\\x54\\x12\\x9a\\x4a\\x42\\x53\\x49\\x68\\x2a\\x09\\x4d\\x25\\xa1\\xa9\\x24\\x34\\x95\\x84\\xa6\\x92\\xd0\\x54\\x12\\x9a\\x4a\\x42\\x53\\x49\\x68\\x2a\\x09\\x4d\\x25\\xa1\\xa9\\x24\\x34\\x95\\x84\\xa6\\x92\\xd0\\x54\\x12\\x9a\\x4a\\x42\\x53\\x49\\x68\\x2a\\x89\\x5c\\x5d\\x22\\x57\\x97\\xc8\\xd5\\x25\\x72\\x75\\x89\\x5c\\x5d\\x22\\x57\\x97\\xd0\\x50\\x12\\x1a\\x4a\\x42\\x43\\x49\\x68\\x28\\x09\\x0d\\x25\\xa1\\xa1\\x24\\x34\\x94\\x6c\\x1b\\xc6\\xc3\\x78\\xa1\\xa1\\x24\\x34\\x94\\x84\\x86\\x92\\xd0\\x50\\x12\\x1a\\x4a\\x42\\x43\\x49\\x68\\x28\\x09\\x0d\\x25\\xa1\\xa1\\x24\\x34\\x94\\x84\\x86\\x92\\xd0\\x50\\x12\\x1a\\x4a\\x22\\x57\\x97\\xc8\\xd5\\x25\\x72\\x75\\x89\\x5c\\x5d\\x22\\x57\\x97\\xc8\\xd5\\x25\\x72\\x75\\x89\\x5c\\x5d\\x22\\x57\\x97\\xc8\\xd5\\x25\\x72\\x75\\x89\\x5c\\x5d\\x22\\x57\\x97\\xc8\\xd5\\x25\\x72\\x75\\x89\\x5c\\x5d\\x22\\x57\\x97\\xc8\\xd5\\x25\\x72\\x75\\x89\\x5c\\x5d\\x22\\x57\\x97\\xc8\\xd5\\x25\\x72\\x75\\x89\\x5c\\x5d\\x22\\x57\\x97\\xc8\\xd1\\x25\\x72\\x74\\x89\\x1c\\x5d\\x22\\x47\\x97\\xc8\\xd1\\x25\\x72\\x74\\x89\\x1c\\x5d\\x22\\x47\\x97\\xc8\\xd1\\x25\\x72\\x74\\x89\\x1c\\x5d\\x22\\x47\\x97\\xc8\\xd1\\x25\\x72\\x74\\x89\\x1c\\x5d\\x22\\x37\\x97\\xc8\\xcd\\x25\\x72\\x73\\x89\\xdc\\x5c\\x22\\x37\\x97\\x39\\xe0\\xe6\\x80\\x9b\\x03\\x6e\\x0e\\xb8\\x39\\xe0\\xe6\\x81\\x9b\\x07\\x6e\\x1e\\xb8\\x79\\xe0\\xe6\\x81\\x97\\x07\\x5e\\x1e\\x78\\x79\\xe0\\xe5\\x81\\x97\\x07\\x5e\\x1e\\x38\\x79\\xe0\\xe4\\x81\\x23\\x80\\x23\\x80\\x23\\x80\\x23\\x80\\x23\\x30\\x3e\\x81\\xf3\\x2a\\x80\\x2b\\x80\\x2b\\x80\\x2b\\x80\\x2b\\x80\\x2b\\x80\\x2b\\x30\\x4e\\x01\\x7c\\x01\\x7c\\x01\\x7c\\x09\\x3c\\x09\\x3c\\x09\\x3c\\x09\\x1c\\x09\\x1c\\x09\\x1c\\x09\\x1c\\x09\\x1c\\x09\\x1c\\x09\\x1c\\x09\\x9c\\xf0\\x1e\\x88\\x3b\\x2f\\xe4\\x39\\x65\\xf3\\xb0\\xc3\\xf5\\x32\\xb4\\x21\\xaf\\x29\\xeb\\x4f\\xd4\\xbf\\x83\\xa6\\xbf\\xa6\\xd9\\xd9\\xde\\x3b\\x71\\x65\\xb5\\x1c\\xfc\\x08\\x67\\xf0\\xcd\\xcd\\x62\\x27\\xda\\xe0\\x98\\x90\\x6b\\x94\\xcd\\xc2\\x02\\xc3\\x05\\x86\\x2b\\x48\\x5f\\xa9\\x5f\\x7f\\x61\\xae\\xd8\\x51\\xee\\xc7\\xd1\\x1e\\x77\\x8a\\x6b\\x3a\\x7a\\x0b\\x7d\\xaa\\x77\\x67\\xb0\\xd0\\x19\\xfc\\xa2\\x5f\\x71\\x4d\\xf8\\x9a\\x8f\\xa8\\x92\\xe8\\x39\\x89\\x9e\\x93\\xe8\\x39\\x89\\x9e\\x93\\xc3\\xed\\xa4\\xd3\\x3f\\x54\\x1d\\x28\\x0e\\x96\\xca\\x83\\x61\\x4d\\xb8\\x3e\\x28\\x9b\\x80\\xc5\\xb8\\xc2\\xf5\\x41\\x59\\x1e\\xda\\x0c\\xda\\x65\\xd0\\x2e\\xe3\\xc6\\x7b\\x4b\\x83\\x05\\xec\\xf8\\xb0\\x49\\x32\\x50\\x1c\\x2a\\x56\\x86\\xab\\xdb\\x60\\xd3\\x64\\xa8\\xa7\\xb8\\xb2\\xd8\\x1b\\xef\\x2c\\xf7\\x77\\xc7\\x83\\xdf\\x08\\xc4\\x0b\\x08\\x2f\\x83\\xf0\\x32\\x98\\xa8\\x2c\\xc0\\xb2\\x00\\xcb\\x22\\xa8\\x2c\\x82\\xca\\x22\\xa8\\x2c\\x70\\xc3\\x87\\x97\\x6e\\x22\\x14\\x35\\x6e\\x22\\x14\\x1b\\xca\\x26\\x61\\x53\\xb1\\x25\\x3d\\x7d\\x4e\\x71\\xa8\\x52\\xea\\x2b\\x54\\x70\\x5a\\x12\\x21\\xe5\\x29\\x2b\\x58\\xb9\\xbf\\x58\\xe9\\x29\\x0d\\x76\\x3a\\x95\\xd5\\x65\\xed\\x0c\\x39\\xaa\\xaa\\x18\\xfc\\x8e\\x6f\\x4f\\x6b\\xa5\\x67\\xb0\\x08\\x7f\\x68\\x42\\x57\\x69\\xd5\\xb0\\xdf\\x3a\\xa4\\xce\\x72\\x3f\\x76\\xc2\\xae\\xda\\xb8\\x53\\x18\\x1c\\x2c\\xaf\\xee\\x2d\\x76\\x55\\xa8\\xf6\\xaa\\x03\\x2d\\xda\\xea\\xdf\\x04\\x0e\\x5f\\xec\\x2c\\xaf\\xee\\x0f\\xbd\\x76\\x05\\xe6\\xa0\\x59\\x67\\x7f\\x6b\\xcd\\x6b\\x1f\\xd2\\x6a\\xce\\xc5\\xd7\\x7e\\x5c\\x37\\xe1\\xb7\\x94\\x07\\x2b\\x3d\\xc1\\x37\\x13\\x0b\\xbd\\xad\\xa5\\xfe\\x4a\\x70\\x75\\xe9\\x1f\\x6a\\x9d\\x50\\x5c\\x59\\x2d\\xad\\x52\\x57\\x44\\x7f\\x47\\xd1\\xee\\x29\\x57\\x87\\x8a\\x13\\xd5\\xc5\\xd7\\x5b\\xee\\x0e\\x2e\\x93\\xfe\\x72\\xa5\\x25\\x68\\xac\\x74\\x65\\x6f\\x65\\xa0\\xe6\\xb6\\xeb\\xc7\\x62\\x2e\\x9e\\xb9\\xba\\x78\\xd6\\xea\\xe2\\x19\\xa9\\x8b\\x67\\xa1\\xca\\x72\\xd8\\x36\\x58\\xbc\\xee\\xa2\\x1e\\xd7\\xaf\\xef\\x61\\xdf\\xc3\\xbe\\x8f\\xe3\\x43\\x0d\\xa1\\x2c\\xfa\\x0f\\x35\\x84\\xb2\\x68\\x1f\\x6a\\x08\\x65\\x93\\xb0\\x29\\x58\\xe0\\x85\\x5a\\x42\\xd9\\x0c\\x6c\\x16\\x76\\x18\\x27\\x0f\\x2b\\x60\\xc3\\xcb\\xc7\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\x7c\\xbc\\xbb\\x7c\\xbc\\xbb\\xfc\\xe0\\xdd\\x35\\xd0\\xde\\x5b\\xee\\x38\\x85\\xaa\\x73\\x15\\x58\\x3b\\xdc\\xeb\\xed\\x0a\\xed\\x60\\x05\\xfb\\x95\\xa1\\x9e\\x42\\x67\\xd1\\xd6\\x25\\xed\\x3c\\x45\\x5b\\xa7\\xab\\xd4\\xdb\\xab\\x96\\x8a\\x72\\xf8\\x1e\\xc6\\x93\\x5b\\x17\\x4f\\x5e\\x95\\xcd\\xb6\\x84\\x2d\\x06\\xd5\\x19\\xa6\\x95\\xc1\\x52\\xa1\\xbb\\x3a\\x10\\xda\\x41\\xec\\x77\\xf6\\x87\\xb6\\xb7\\x8b\\x04\\xf9\\x56\\x6f\\x78\\xb5\\xf8\\x39\\xcc\\x4b\\x4e\\x3a\\xa5\\xfe\\x55\\xed\\x55\\xd5\\x49\\x25\\xf0\\xc2\\x36\\x2d\\xe5\\x81\\x62\\x3f\\x2a\\x87\\xfa\\x4a\\xea\\x12\\x2d\\x74\\x14\\xd5\\xb5\\xb4\\xaa\\xb6\\x13\\x1b\\xaa\\xf6\\x93\\xae\\x62\\x9f\\xba\\x9a\\xe2\\x41\\x61\\x0f\\x0d\\xa8\\x78\\xe3\\x1d\\xbd\\xd5\\x76\\xbb\\xa7\\x58\\x50\\xe8\\x9d\\xa5\\x42\\x9f\\x5a\\x98\\x26\\xf4\\x55\\x87\\x70\\x7d\\x15\\x27\\x45\\x7c\\xb5\\x42\\xe9\\x08\\x92\\xa1\\xda\\x72\\x73\\x38\\x13\\x39\\x9c\\x89\\x1c\\xce\\x44\\x0e\\x67\\x22\\x87\\x33\\x91\\xc3\\x99\\xc8\\xe1\\x4c\\xe4\\x70\\x26\\x72\\x38\\x13\\x39\\x9c\\x89\\x1c\\xce\\x44\\x0e\\x67\\x22\\x87\\x75\\x2e\\x87\\x75\\x2e\\x97\\x02\\x4e\\x0a\\x38\\x29\\xe0\\xa4\\x80\\x93\\x02\\x4e\\x0a\\x38\\xa1\\xaa\\x73\\x71\\xc7\\x38\\x93\\xaa\\xd9\\x36\\xd8\\x34\\x6c\\x06\\x36\\x0b\\x9b\\x83\\xcd\\xc3\\x0a\\x58\\x19\\xda\\x30\\x4b\\x51\\x36\\x11\\xda\\x36\\xf4\\xd7\\x86\\xfe\\xda\\xd0\\x5f\\x1b\\xfa\\x0b\\x55\\x9c\\x12\\x29\\x79\\x58\\xd1\\x1a\\x3e\\x01\\x3e\\x51\\x3f\\x2a\\x9f\\xac\\xde\\xbe\\x45\\x95\\x92\\x06\\xbf\\xfd\\x1a\\x3c\\x5a\\x66\\xc1\\x13\\xec\\xd5\\x25\\x75\\x2d\\xe9\\x67\\xd7\\x81\\x47\\x7a\\x8a\\x81\\xa1\\xa7\\x14\\xc2\\x17\\xf4\\x83\\xea\\xc0\\x6b\\x1d\\x7e\\x58\\x1d\\xec\\xb0\\xe0\\x71\\xb2\\x6e\\x57\\x29\\xac\\xd2\\xaf\\xaa\\x9e\\x4f\\x1c\\xe8\\xad\\x0e\\x05\\x3f\\x27\\x3a\\x21\\x78\\x18\\x8d\\x67\\xeb\\x2d\\xda\\xd7\\xee\\x54\\x5d\\xa5\\x1f\\xc8\\xe3\\xc5\\x29\\x91\\x1a\\x5d\\xe1\\x04\\x01\\xe9\\x50\\x5b\\x02\\x2f\\x7c\\xd8\\xae\\x2b\\xfb\\x0a\\x03\\xa5\\x95\\x4e\\x7b\\xb1\\x12\\x36\\x9f\\xa0\\x1f\\xb9\\xc3\\xd7\\xc1\\x87\\x3e\\xeb\\x29\\x86\\x8e\\xb3\\xaa\\xb0\\x0a\\x2f\\xeb\\x47\\xf1\\xa8\\xad\\x0c\\x37\\x74\\xd4\\xa4\\x84\\xde\\xa4\\xe1\\x07\\xf3\\x78\\xa1\\xe6\\x4d\\xd0\\x63\\x47\\xad\\x1a\\x38\\xbc\\xfe\\x2a\\x3a\\x6b\\x0d\\x1f\\xd2\\x87\\x3b\\x13\\xf1\\x94\\x1e\\x61\\x0c\\x3b\\x13\\xf4\\x63\\x7a\\x1c\\xb9\\xb2\\x8c\\x9e\\x5b\\x82\\xe9\\x83\\x5b\\x9f\\x02\\xa7\\x32\\x1c\\x32\\x53\\xc1\\x87\\x1f\\x67\\x50\\x03\\x0e\\x3e\\xaf\\x10\\x9c\\x8e\\xc0\\x2a\\x5a\\x0c\\x8c\\x9e\\x11\\x1d\\x9d\\x3e\\xcd\\x78\\xc0\\x20\\xf1\\x80\\x41\\xe2\\x01\\x83\\xb2\\xde\\x94\\x6a\\xf8\\x93\\xaf\\xb5\\x2f\\x57\\x4e\\xec\\x38\\x75\\x50\\xad\\x0a\\xa5\\x0e\\x7d\\x5f\\x6d\\x8a\\xfe\\x42\\x7c\\xe4\\xe5\\xa9\\x11\\x7f\\x30\\xf8\\xbc\\x76\\x91\\xa9\\xd3\\xd2\\x5b\\x1c\\x1a\\x3a\\x79\\x82\\x62\\xb2\\xae\\xe0\\x77\\x78\\x03\\xb6\\x50\\xfc\\x36\\xec\\x4f\\xd4\\xbc\\x36\\xbc\\xd7\\xda\\x55\\xae\\x0e\\xd6\\x77\\xd4\\x85\\x56\\x6b\\xa7\\x69\\xae\\xb6\\xa7\\xf9\\xae\\xb6\\x37\\x7c\\x83\\x62\\xae\\xba\\x8e\\x12\\x93\\x6a\\x77\\x26\\x82\\x5d\\x3e\\x11\\x11\\x94\\xf4\\x8b\\x93\\xd5\\xc8\\x82\\xef\\xbd\\x04\\xdf\\x8d\\x99\\xdb\\x51\\x18\\x88\\xec\\x27\\x1a\\xf6\\x73\\x0d\\xfb\\xf3\\x22\\xfb\\xa9\\x86\\xe3\\xbd\\xda\\xfe\\xf0\\x04\\x9d\\x58\\xae\\x04\\xbf\\x73\\xee\\xe8\\x89\\x9a\\xab\\x6a\\xd1\\x92\\x37\\xf4\\xc4\\x1b\\x90\\xbd\\x26\\xfb\\x6d\\x91\\xfd\\x44\\x80\\x1e\\xd9\\xcf\\x35\\xec\\xf3\\xe1\\xf6\\xad\\xed\\x85\\xc1\\xd2\\x5c\\x0c\\x7e\\xba\\x7e\\x31\\x9b\\x08\\x1b\\x24\\x82\\x4e\\xe7\\x35\\xa9\\x4b\\x34\\xd4\\xf1\\x26\\xed\\x78\\x43\\xbb\\x64\\x93\\xfe\\x92\\x4d\\xfa\\x4b\\x36\\xe9\\x2f\\xd9\\xd0\\x5f\\xba\\x49\\x7c\\xe9\\x26\\xf1\\xa5\\x9b\\xc4\\x97\\x6e\\x12\\x5f\\xba\\x49\\x7c\\xe9\\x26\\xf1\\xa5\\x9b\\xc4\\x97\\x1e\\x1d\\x5f\\xce\\x1f\\x1d\\xdf\\x88\\xba\\xc6\\x76\\xbc\\x49\\xbb\\xc6\\xfe\\x92\\x4d\\xfa\\x4b\\x36\\xe9\\x2f\\xd9\\xa4\\xbf\\x66\\xf3\\xd7\\x36\\x7c\\x91\\x35\\xa9\\x6b\\x6c\\x97\\x6c\\xd2\\x2e\\xd9\\x80\\xdb\\xd0\\xdf\\x88\\xba\\xc6\\x76\\xc9\\x26\\xed\\x74\\x7f\\xc1\\x17\\xb2\\x14\\x31\\x97\\xf4\\xed\\x4c\\x26\\xfa\\xbb\\xf5\\x9b\\x71\\xd8\\x71\\x87\\x1d\\x8f\\xad\\x2d\\x0e\\x96\\x03\\x8f\\xaa\\xe5\\x42\\x5b\\xb5\\x54\\x04\\xd6\\xd1\\xcb\\x44\\xe0\\xb1\\x60\\x89\\x08\\x9d\\x52\\xf8\\x16\\xa7\\x43\\xa5\\x35\\xba\\x8d\\x5e\\x22\\xb4\\xa7\\x97\\x07\\xdd\\xa8\\xbf\\x14\\x76\\x34\\xb9\\xe1\\x2e\\xf5\\xe4\\x86\\x7b\\xd2\\x93\\x46\\xde\\x7d\\x9e\\xdc\\x70\\x9b\\xb9\\xa5\\xfe\\xcc\\xa2\\xa5\\xfe\\x98\\xc2\\xa9\\x3d\\x95\\x68\\xa9\\x3f\\x83\\x98\\xd6\\x80\\x34\\xb7\\xb7\\x63\\x5a\\x03\\x98\\xaa\\x9a\\x3a\\x12\\x6f\\x64\\x23\\xdd\\x8f\\xaa\\x9a\\x58\\x47\\xad\\xed\\x0d\\x77\\xd0\\x5a\\xc3\\xae\\xbd\\x34\\x7c\\x18\\x0b\\xdb\\x54\\x3b\\x58\\x78\\x68\\xb5\\x63\\x62\\xbd\\xef\\xa0\\x5a\\xaf\\xdb\\xca\\x99\\x30\\xfc\\xe4\\x2c\\xa8\\x0c\\x8f\\xae\\x76\\x4c\\x8e\\xfe\\x1e\\x49\\xf0\\x42\\xb8\\x84\\xa9\\x17\\xc2\\x1f\\x36\\x39\\x71\\xb0\\xd8\\x55\\x1c\\x54\\x69\\xe6\\x14\\xcd\\x21\\x9a\\x69\\xc0\\x46\\xf5\\x8a\\x1a\\x2d\\x86\\x24\\x3c\\x71\\x78\\x57\\x7f\\x5a\\x6f\\x7a\\x8d\\x80\\xea\\x1f\\xdb\\x9b\\x54\\xab\\x6b\\xd8\\xd5\\x9f\\xd8\\x9b\\x12\\x91\\x1e\\xba\\x56\\x13\\x3c\\x48\\xb2\\xaa\\x3f\\xb4\\xa7\\xd2\\xae\\x6c\\x1e\\xbe\\x1b\\xf1\\xbd\\xc0\\x8f\\x1f\\x75\\x62\\x56\\x84\\xff\\x39\\x87\\x05\\xff\\x31\\xce\\x30\\x77\\xec\\x50\\x3e\\x7e\\xaf\\x7b\\xf3\\xc7\\x2e\\xfb\\x69\\x60\\x37\\x2d\\xfd\\xd1\\x27\\xf5\\xfe\\xe7\\x77\\xdc\\xa6\\x5f\\x09\\xfe\\xe7\\xeb\\x1a\\xe3\\x74\\xfd\\x2b\\xdf\\x53\\x0d\\x23\\x7e\\xa7\\x61\\xc6\\x37\\xc5\\xb7\\x1a\\xb1\\xf8\\x1f\\xe3\\x7f\\x54\\xfe\\xb6\\xf8\\x36\\xe5\\xbf\\x1a\\x7f\\x55\\xf9\\xaf\\xc5\\xdf\\x54\\xfe\\x5b\\xf1\\xb7\\x94\\xbf\\x3d\\xbe\\x5d\\xf9\\x3b\\xd8\\x75\\x86\\xc9\\xae\\x67\\xd7\\x1b\\x31\\x76\\x03\\x7b\\x5c\\xf9\\x4f\\xb0\\x27\\x0c\\x8b\\x3d\\xe9\\x2c\\x36\\x4c\\x67\\x89\\xf3\\x09\\xc3\\x0a\\x7e\\x7b\\x49\\xf9\\xcb\\x9d\\xa3\\x8d\\x98\\x73\\x8c\\x73\\x8c\\x11\\xfc\\x5f\\xb5\\xf0\\x37\\xc5\\xcd\\xc8\\xd6\\x62\\xcc\\x35\\x8e\\x35\\x2c\\xc5\\x22\\xbd\\xc6\\xa4\\x9e\\x62\\xfb\\xa0\\xb1\\xbb\\x6e\\x17\\xfc\\x67\\x2c\\xa3\\xe6\\xe9\\xd6\\x01\\xe9\\xa8\\x31\\x1a\\x6a\\x8c\\x3b\\xff\\xdd\\xf1\\x99\\xaa\\xcf\\xa4\\x31\\xdf\\x90\\xc6\\x62\\xe3\\x68\\xfd\\xbf\\x06\\x4e\\x37\\x3e\\x6b\\x5c\\x60\\x5c\\x62\\x5c\\x61\\xac\\x37\\x1e\\x35\\x9e\\x31\\x5e\\x30\\xb6\\x19\\xdb\\x4d\\x62\\x4e\\x32\\x67\\xaa\\x3e\\x4c\\xf5\\xf7\\x92\\xb2\\xd4\\x30\\x63\\xe7\\x86\\xfb\\xb1\\x75\\xa1\\x8d\\x9f\\x19\\xda\\x16\\xa9\\x30\\xd4\\x08\\xa6\\x0c\\x4e\\xb9\\x6d\\xea\\xcc\\xa9\\x3d\\xe1\\xde\\xd4\\xab\\xa6\\xed\\x37\\xed\\x8a\\xe9\\x07\\x84\\x7b\\xd3\\xcf\\x9b\\xfe\\xf4\\x8c\\xe4\\x8c\\xb3\\xc2\\xbd\\x19\\x9b\\x77\\x5b\\xbc\\xdb\\x1d\\x33\\x0f\\x0f\\x8f\\x9f\\x79\\x6d\\x68\\xf7\\x38\\x39\\xb4\\xb3\\x66\\xea\\x56\\x6c\\xaf\\x8d\\x7b\\xcf\\xdb\\xfb\\xec\\xbd\\x9f\\x9e\\x3d\\x7f\\xf6\\x85\\xb3\\x5f\\xde\\x67\\x91\\xae\\x9d\\xb8\\xcf\\x59\\xfb\\xdc\\xb8\\xcf\\x96\\x39\\xbb\\xcf\\x39\\x7c\\xce\\x9a\\x39\\x57\\xce\\x79\\x78\\x5f\\xb6\\x6f\\xdb\\xbe\\x3d\\xfb\\x5e\\xb8\\xef\\x26\\xfd\\xba\\xb5\\xef\\xc3\\xfb\\x91\\xb0\\x9f\\xfd\\x0e\\x0c\\xed\\xfe\\x0f\\x85\\xf6\\xc0\\x0b\\x42\\xfb\\xe1\\xfb\\xf5\\xa8\\xcc\\xc4\\x79\\xb0\\x17\\x19\\x96\\xb6\\xeb\\x0c\\xd3\\xba\\xc0\\xea\\x57\\xe5\\xc5\\x6a\\xb6\\x16\\x19\\x17\\x19\\x97\\xaa\\x59\\xb9\\xca\\xb8\\xd6\\xb8\\xd1\\xb8\\xd9\\xb8\\xcd\\xb8\\xcb\\xb8\\xd7\\x78\\x48\\xcd\\xd1\\x53\\xc6\\x16\\x35\\x4b\\x5b\\x8d\\x37\\xd4\\x41\\xc4\\x6c\\x35\\xa7\\x99\\xbb\\x9b\\x7b\\x99\\xfb\\x99\\x07\\x9a\\xf3\\xcc\\xa4\\x79\\x88\\x99\\x35\\x0f\\x37\\x17\\x9b\\xcb\\xcd\\xe3\\xcd\\x93\\xcc\\x2e\\xb3\\xd7\\x1c\\x34\\xd7\\x98\\xa7\\x99\\x67\\x98\\x67\\x9b\\xe7\\x9a\\x17\\x98\\x17\\x9b\\x97\\x99\\x57\\x9a\\x57\\x9b\\xd7\\x9b\\x37\\x99\\x1b\\xcc\\x3b\\xcc\\xcd\\xe6\\xfd\\xe6\\xc3\\xe6\\x63\\xe6\\xd3\\xe6\\x73\\xe6\\x4b\\xe6\\x36\\xf3\\x4d\\xcb\\xb2\\x98\\x35\\xc9\\x9a\\x61\\xed\\x69\\xcd\\xb6\\xf6\\xb7\\x0e\\xb2\\x5c\\xab\\xcd\\x9a\\x6f\\xe5\\xad\\x85\\xd6\\x52\\xeb\\x68\\xeb\\x84\\xe0\\x8c\\xdb\\x17\\xa8\\x72\\x86\\x2e\\x37\\xe9\\xd2\\xa8\\x97\\x56\\xb7\\xf6\\x1f\\x6d\\xac\\x37\\xcf\\x6d\\xac\\xd9\\xf1\\x54\\xa3\\x1f\\xb6\\x31\\xe3\\x91\\x96\\x7b\\x35\\x1e\\x35\\x56\\xb9\\xe3\\xb6\\x48\\xcd\\x9a\\x51\\x65\\xa7\\xfd\\x95\\x9a\\x3f\\x56\\x0f\\x4f\\xed\\xac\\xe7\\x1d\\x27\\x35\\xfa\\x4d\\xfa\\x19\\x63\\x4e\\xcc\\xcd\\x8d\\x73\\x82\\x9a\\x51\\xe8\\x98\\x87\\xf8\\x9f\\x33\\xea\\xd1\\x7d\\xa2\\xcd\\x49\\x4d\\x63\\xb6\\x0c\\x12\\xdf\\x61\\xcf\\x32\\x0c\\xb6\\x96\\xad\\x35\\xf6\\x52\\xab\\xc5\\x0d\\xc6\\xde\\xec\\x7b\\xec\\x66\\x63\\x36\\xdb\\xa0\\x56\\x8e\\x03\\x9c\\x23\\xd4\\x9a\\x71\\xb8\\x7e\\xaf\\xbd\\xa4\\xdf\\xe7\\x44\\x9d\\xdd\\x2e\\xfb\\x64\\xe5\\xcf\\x52\\xef\\x64\\xd3\\x98\\xa3\\xae\\xd3\\x60\\xed\\x30\\x63\\x5b\\x74\\xaf\\x26\\x5b\\xab\\x5b\\xbf\\x16\\x69\\x1d\\xd4\\xdf\\xa1\\xde\\xdf\\xa6\\xb1\\x59\\xb5\\x9e\\x66\\xec\\x6f\\x1c\\x64\\xb8\\x46\\x9b\\x5a\\x03\\xf2\\xc6\\x42\\x63\\xa9\\x5a\\x05\\x4e\\x30\\xda\\x8d\\x1e\\xfd\\x9f\\x18\\xd6\\xaa\\xd5\\xe0\\x4c\\xe3\\x9c\\xe0\\x38\\xeb\\xd8\\xe1\\xd2\\x3c\\xd4\\x5a\\xaf\\xfc\\xeb\\x62\\x19\\xd5\\xc7\\x2d\\xd6\\x2c\\x55\\xba\\x41\\x8d\\xe1\\xc6\\xd6\\x0e\\x97\\x68\\xbf\\xbf\\x71\\x88\\x6a\\xbf\\x31\\x72\\xec\\x8d\\xd6\\xe9\\xaa\\xbc\\xda\\xba\\x57\\x95\\xdb\\x75\\xfd\\x65\\xd6\\xf9\\xaa\\xbc\\xda\\xbc\\x73\\xb8\\x34\\xa6\\xd9\\xc4\\x6e\\xb5\\x27\\xd9\\x53\\xed\\x19\\xe1\\xef\\xe8\\xaa\\xf9\\xa8\\xff\\xa6\\x5f\\xf0\\x8b\\x7e\\x1b\\xd8\\x2d\\x7a\\x5c\\xaf\\xd4\\xc7\\x15\\x44\\xa0\\x56\\xe2\\x7b\\x0c\\x4b\\xcd\\xa0\\x7a\\xb7\\x9a\\xae\\xd9\\x66\\xce\\x37\\xf3\\xe6\\x42\\x73\\xa9\\x79\\xb4\\x79\\x82\\xd9\\x6e\\xf6\\x98\\xfd\\x66\\xc5\\x5c\\x6b\\x9e\\x6e\\x9e\\x69\\x9e\\x63\\x9e\\x67\\x5e\\x68\\x5e\\x62\\x5e\\x6e\\x7e\\xd3\\xbc\\xc6\\x5c\\x67\\xae\\x37\\x37\\x9a\\x9b\\xcc\\x7b\\xcc\\x07\\xcd\\x47\\xcc\\x27\\xcc\\x67\\xcc\\xdf\\x99\\x2f\\x9b\\xaf\\xa9\\x08\\xe3\\x56\\x8b\\x35\\xc5\\x9a\\x69\\xcd\\xb2\\xe6\\x58\\x07\\x58\\x73\\x2d\\x6e\\x1d\\x6c\\x1d\\x6a\\x49\\x6b\\x91\\xb5\\xcc\\x3a\\xd6\\xfa\\xa4\\xd5\\x69\\x9d\\x6c\\x0d\\x58\\xab\\xac\\x4f\\x59\\x9f\\xb6\\xce\\xb2\\x3e\\x6b\\x9d\\x6f\\x5d\\x64\\x5d\\x6a\\x5d\\x61\\x5d\\x65\\x5d\\x6b\\xdd\\x68\\xdd\\x6c\\xdd\\x66\\xdd\\x65\\xdd\\x6b\\x3d\\x64\\x3d\\x6a\\x3d\\x65\\x6d\\xb1\\x5e\\xb0\\xb6\\x5a\\x6f\\xc4\\x8c\\x18\\x89\\xb5\\xc6\\xa6\\xc5\\x76\\x8f\\xed\\x15\\xdb\\x2f\\x76\\x60\\x6c\\x5e\\x2c\\x19\\x3b\\x24\\x96\\x8d\\x1d\\x1e\\x5b\\x1c\\x5b\\x1e\\x3b\\x3e\\x76\\x52\\xac\\x2b\\xd6\\x1b\\x1b\\x8c\\xad\\x89\\x9d\\x16\\x3b\\x23\\x76\\x76\\xec\\xdc\\xd8\\x05\\xb1\\x8b\\x63\\x97\\xc5\\xae\\x8c\\x5d\\x1d\\xbb\\x3e\\x76\\x53\\x6c\\x43\\xec\\x8e\\xd8\\xe6\\xd8\\xfd\\xb1\\x87\\x63\\x8f\\xc5\\x9e\\x8e\\x3d\\x17\\x7b\\x29\\xb6\\x2d\\xf6\\x66\\xdc\\x8a\\xb3\\xf8\\xa4\\xf8\\x8c\\xf8\\x9e\\xf1\\xd9\\xf1\\xfd\\xe3\\x07\\xc5\\xdd\\x78\\x5b\\x7c\\x7e\\x3c\\x1f\\x5f\\x18\\x5f\\x1a\\x3f\\x3a\\x7e\\x42\\xbc\\x3d\\xde\\x13\\xef\\x8f\\x57\\xe2\\x6b\\xe3\\xa7\\xc7\\xcf\\x8c\\x9f\\x13\\x3f\\x2f\\x7e\\x61\\xfc\\x92\\xf8\\xe5\\xf1\\x6f\\xc6\\xaf\\x89\\xaf\\x8b\\xaf\\xd7\\xd7\\x86\\x0c\\x4a\\x72\\xb9\\x3a\\x37\\x5b\\x03\\xdf\\xdc\\xaa\\xfd\\xcd\\xda\\xdf\\x1c\\xf8\\xd6\\x2c\\xdd\\x66\\x96\\xf6\\x17\\x6b\\x7f\\xb1\\xf6\\x23\\xc7\\x8e\\xf0\\xa3\\x6d\\xc6\\x68\\x6f\\x3e\\xa1\\xfb\\x7f\\xa2\\x11\\xd7\\x5a\\xaf\\xdb\\x1c\\x3b\\xea\\xd8\\xb0\\x7e\\xfd\\x28\\xac\\xfd\\xb5\\xbf\\xff\\xa8\\xf6\\x03\\xda\\x1f\\xd0\\x7e\\x5e\\xfb\\xf9\\x51\\xfe\\xb1\\x11\\xac\\x68\\xfd\\x3c\\xed\\xcf\\xd3\\xb1\\x6d\\xd4\\xb1\\x6d\\xdc\\xe9\\x18\\xc7\\x9a\\x87\\x5d\\xf5\\xc7\\x98\\xe7\\xf1\\xcc\\xcf\\x88\\x38\\xa3\\xb1\\x9d\\x1d\\xe9\\x7f\\x3c\\xfe\\x38\\xe2\\x1c\\x71\\x9d\\x84\\xfe\\xe5\\xa3\\xe2\\x8f\\xce\\x6d\\x18\\xf3\\x95\\x3b\\xc5\\xba\\xb7\\xde\\x66\\x44\\xff\\x0f\\x8d\\x31\\xf6\\xb3\\x23\\xd7\\x03\\x8b\\xb4\\x89\\xf6\\x99\\x8f\\x5c\\x1b\\x63\\xf9\\xd1\\x73\\xfd\\x44\\x64\\x2c\\x67\\x8f\\xba\\xc6\\x10\\x73\\xa4\\x0c\\x7b\\x98\\x56\\xf7\\xcd\\xed\\x61\\x9f\\x75\\x3f\\xb6\\x4c\\x1f\\x7b\\x76\\xa3\\x1f\\x3d\\x5f\\x11\\x7f\\xfc\\x6c\\x30\\xb5\\xf6\\x7b\\xe8\\xc1\\xaf\\xa1\\x3f\\xa0\\x7f\\x05\\xfd\\xe1\\xf8\\xe3\\xfa\\x37\\xcf\\x9f\\x51\\x6b\\xe2\\x9f\\x94\\xf6\\x54\\xba\\x55\\x69\\xbc\\xe0\\x7f\\xf3\\x18\\xc6\\x32\\xb5\\x05\\xff\\x8f\\x26\\x50\\xb9\\x9d\\x6a\\x3b\\x59\\x6d\\x03\\x6a\\x5b\\xa5\\xb6\\x4f\\xa9\\xed\\xd3\\x6a\\x3b\\x4b\\x6d\\x9f\\x55\\xdb\\xf9\\x6a\\xbb\\x48\\x61\\x5c\\xaa\\xec\\x15\\xf5\\x39\\x7d\\xc7\\xca\\xfe\\xc8\\x79\\x9a\\xa4\\xfd\\x8b\\x6a\\xeb\\xf8\\xdc\\xff\\xbf\\x8e\\xff\\x59\\xeb\\xf8\\xe2\\x40\\xf3\\xa3\\x9c\\x17\\x29\\xbb\\xea\\x65\\xec\\xc8\\x7a\\x19\\xad\\x1f\\x51\\x9e\\xb0\\xd3\\x57\\x47\\x95\\xe6\\xe5\\x91\\x72\\x6b\\xa4\\x8c\\xd4\\x8f\\x75\\xac\\x52\\x20\\xf5\\x9a\\x7c\\xa4\\x3c\\x36\\x52\\x9e\\x5f\\x2f\\xcd\\x1b\\xeb\\xa5\\x75\\x70\\xbd\\x8c\\x6d\\xd0\\xf5\\xdb\\x1b\\xfb\\x89\\x85\\x63\\xe9\\xd5\\xfe\\x19\\xba\\xcd\\xc6\\x51\\xfd\\x8f\\x7b\\xa4\\x28\\x47\\x1f\\xc5\\x22\\x33\\xbf\\x78\\x67\\xf3\\x3c\\x9e\\xf9\\x09\\x23\\x44\\x9c\\xa3\\x71\\xef\\x1d\\xaf\\xaf\\xdf\\xbb\\x98\\xb7\\xa8\\x8f\\x38\\xcf\\x1f\\x75\\x9d\\x1c\\x5b\\xc7\\x8d\\xcd\\x8f\\xd4\\x47\\xe6\\x5f\\xa9\\xad\\xa0\\xcd\\x24\\xed\\x9f\\xad\\xfd\\x83\\x22\\x11\\x5e\\x59\\x47\\x37\\x77\\x8f\\x8c\\x71\\xb9\\x2e\\x37\\x47\\xca\\xd1\\x63\\xbf\\x32\\x12\\x43\\x4f\\xa4\\xe6\\xca\\xc6\\x79\\x1b\\x71\\xee\\x22\\x65\\xf4\\x5c\\x47\\x67\\x7b\\xc4\\xfc\\x44\\xc7\\xd2\\x15\\x19\\x4b\\x64\\x1e\\xa2\\x71\\x46\\xfb\\x1f\\x71\\x9d\\x8f\\x2e\\x97\\x37\\xf8\\xe3\\x5f\\xc7\\xf7\\x8c\\x6f\\x8a\\xdf\\x1d\\xbf\\x7f\\xc4\\x7f\\xaf\\x78\\xb2\\xc9\\xff\\xab\\x78\\x39\\xbe\\x35\\xfe\\x66\\x7c\\x7b\\xf8\\x6b\\xcd\\xc6\\x9e\\xc6\\x78\\x56\\x70\\x03\\x2b\\x78\\xf8\\x3f\\x7a\\xaf\\x55\\x5b\\xf0\\xde\\xb9\\x59\\x6d\\xb7\\xa9\\xed\\x2e\\xb5\\x05\\xf3\\xf2\\x90\\xda\\x1e\\x55\\xdb\\x53\\x2a\\x9a\\x2d\\xca\\xbe\\xa0\\xb6\\x60\\xee\\xde\\x08\\x2e\\x9d\\x51\\xef\\x81\\x19\\x63\\x94\\x63\\xb5\\x19\\xeb\\xa8\\xd1\\xed\\xc7\\xaa\\x71\\xc7\\xec\\x27\\xa6\\x73\\x20\\x33\\xd8\\x0f\\x5a\\x19\\xc1\\x9d\\x0f\\x95\\xfd\\xc7\\xb7\\x29\\xee\\xb3\\x82\\xbb\\x30\\x91\\x33\\x10\\xcc\\xfd\\xde\\xea\\xd5\\x49\\x3b\\xe3\\x4d\\xd5\\xa3\\xa5\\x7a\\x3c\\x44\\xf7\\x69\\x34\\xf4\\xf8\\x76\\xc7\\x36\\x47\\x7c\\x9b\\x18\\xf5\\x95\\x61\\xe8\\x6b\\xc2\\xd4\\xd7\\xc4\\x3e\\xef\\x76\\x8c\\x4d\\x10\\x83\\x18\\x17\\x22\\xc6\\x93\\x74\\x8f\\x53\\x54\\xb9\\xc7\\x2e\\x5c\\x99\\xc3\\xd7\\xe5\\x58\\xb3\\xde\\xd2\\xac\\xaf\\xbf\\x02\\xee\\xe4\\xb7\\x39\\xee\\x1d\\x8d\\xa0\\xe9\\xb9\\xfc\\xbf\\x1f\\xc1\\x58\\x73\\x6f\\x19\\x7c\\xc4\\x55\\x34\\xf5\\x6d\\xaf\\x9e\\x9d\\xbf\\xb7\\x82\\x91\\x70\\x8c\\x64\\xe1\\x38\\x7b\\x1c\\xeb\\xbc\\x85\\x38\\x7f\\x61\\x8c\\x63\\x5c\\xe9\\x7f\\x46\\x8c\\x4d\\xe7\\xb5\\x1e\\xe3\\x42\\xa3\\x37\\x12\\xe3\\xb4\\x3f\\xf3\\xfc\\xbd\\xfd\\xb5\\x32\\xd6\\xbc\\x07\\x11\\xb4\\xbf\\x23\\x11\\x34\\xbf\\x56\\x76\\x86\\xfb\\x57\\x1b\\x79\\xd3\\xb3\\xf9\\x57\\x18\\x79\\xb3\\x73\\x8f\\x3b\\xc4\\x97\\xfe\\x8d\\xdf\\x21\\x7e\\x29\\xc8\\xb1\\xc6\\x2a\\xad\\x55\\x61\\xd6\\xd9\\xbc\\x7e\\x44\\x7b\\x23\\xe2\\x9f\\x33\\xea\\xd8\\x4d\\x91\\x72\\xa7\\x88\\xa3\\x4b\\xf3\\x93\\x8d\\x65\\xb4\\x7e\\xcc\\x63\\x8d\\x71\\xbf\\xba\\xf3\\x96\\xa3\\xe7\\x24\\xbc\\x0b\\xc1\\x1a\\x6b\\x9a\\xf4\\x7f\\xce\\xa8\\x19\\x18\\xff\\xa8\\xb7\\x8e\\xf1\\xea\\x9a\\x20\\x1b\\x46\\x59\\xaf\\x1f\\xbf\\x96\\x8c\\xc5\\xef\\x8d\\x3f\\x11\\xff\\x8d\\x7e\\xba\\x15\\x28\\xdb\\xe0\\x5d\\xb1\\xa7\\xd2\\xc6\\xad\\x41\\x5f\\xe1\\xdd\\x87\\xd8\\x97\\xf4\\xa8\\xc2\\xeb\\xf7\\x92\\xbf\\xed\\xeb\\x37\\xbe\\xa7\\x8e\\xf8\\x8c\\xf0\\xae\\x49\\xdd\\x8f\\x6d\\x89\\xdc\\x4d\\x78\\xa4\\x5e\\x13\\xad\\x8f\\xcd\\x8e\\x94\\x03\\xcd\\xdb\\x58\\x2f\\x34\\xd6\\x8f\\x28\\xd7\\x35\\x22\\xc6\\x4e\\x08\\x4a\\x44\\x15\\xbe\\xca\\x47\\x95\\x5b\\xea\\x73\\x1d\\x8d\\x1f\\xf5\\xd1\\xa8\\x22\\x7d\\x86\\xbd\\xd9\\x33\\xea\\x47\\x45\\xfd\\xd1\\xe5\\x98\\x73\\x72\\x76\\xa4\\x3e\\xac\\xb9\\x64\\x14\\x6e\\xb4\\xfd\\x58\\x33\\xb0\\xd3\\x51\\xe3\\xa8\\x33\\x22\\xe5\\xba\\x51\\x65\\x1d\\x71\\xfc\\xd7\\xaf\\x15\\x7f\\x30\\xfe\\x73\\xfd\\x04\\xb4\\x25\\xd4\\x41\\xa6\\xbe\\xe3\\x67\\x7e\\xea\\xef\\xe7\\x9a\\x8d\\x6d\\xd1\\xd9\\xe8\\xe1\\xba\\x9c\\xad\\xb3\\x96\\xd7\\xb4\\x7f\\x99\\xf6\\xa7\\xe9\\x0c\\x71\\x7b\\xbd\\x26\\x5a\\x1f\\x3f\\xcd\\xa8\\x65\\xdf\\xe1\\xb1\\xd1\\x36\\xb1\\x65\\xba\\xe5\\x23\\x8d\\xf5\\xf1\\x6b\\xb4\\xaf\\xef\\x6f\\x58\\x2f\\x68\\x7f\\x6d\\x24\\x2f\\x8e\\xf6\\x73\\xa1\\x2e\\x5b\\x47\\x95\\x5b\\x22\\xb8\\x5b\\x1a\\x63\\x46\\x0f\\xd1\\x7e\\xba\\xea\\x88\\x23\\x22\\x8c\\x96\\x5b\\x46\\x95\\x63\\xcd\\xc9\\xaa\\xfa\\x0c\\x44\\x6b\\x30\\xae\\x51\\xb3\\x11\\x9d\\x81\\xe8\\xd8\\x31\\x03\\xa3\\x47\\x1d\\xe9\\x13\\x31\\xcc\\x8f\\xb4\\x5f\\x5f\\x2f\\xc3\\xde\\x74\\xb9\\x2b\\xd7\\xec\\x7d\\xf1\\xa7\\x47\\x5c\\xb3\\xb7\\x1b\\x07\\xa8\\xf2\\x56\\xb5\\x1f\\x66\\x6a\\xf3\\x23\\xfa\\x64\\x7a\\xed\\x88\\xb7\\xd7\\x3c\\xa6\\x31\\x53\\xff\\x0f\\xca\\xe0\\x3f\\x50\\x32\\x7b\\x82\\x3d\\xd9\\x7e\\x0f\\xbb\\x51\\x3f\\x0b\\x0b\\xfe\\x93\\x55\\xf0\\x7f\\xac\\xee\\x61\\xf7\\xb1\\x07\\xd8\\x2f\\xd8\\xa3\\xc1\\x7f\\x75\\x52\\x68\\x31\\x63\\x2f\\x63\\x3f\\xe3\\xc0\\xe0\\xc8\\x26\\x78\\x66\\xfc\\x79\\x5d\\x3e\\xfb\\x2e\\xf4\\xbc\\xf5\\x5d\\xee\\xf9\\xf9\\x77\\xad\\xe7\\xdf\\xbd\\x6b\\x3d\\xbf\\xf0\\xae\\xf5\\xfc\\xe2\\x9f\\xd1\\x73\\x70\\x25\\xce\\x19\\xe3\\x4a\\x0c\\xfb\\xdd\\xf5\\x1e\\xc3\\x48\\x87\\x7b\\x0c\\x72\\x2a\\xa2\\x55\\x74\\xa8\\xa0\\xb7\\x8e\\x38\\x7f\\xe3\\x6d\\xff\\x08\\xce\\xca\\xae\\xf5\\x3f\\xfe\\xf6\\x61\\xff\\xbf\\x1f\\x77\\xfb\\xfb\\x76\\xb1\\xfd\\xdd\\x38\\xf7\\xe3\\x6d\\xff\\x2c\\xce\\xe8\\x78\\xdb\\x3f\\xbf\\x8b\\xed\\xef\\xde\\xc5\\xf6\\xf7\\xed\\x62\\xfb\\x47\\x76\\xb1\\xfd\\x2f\\x77\\xb1\\xfd\\xd6\\x48\\xfb\\x39\\x6a\\x65\\xb5\\xd4\\x3b\\x63\\x16\\x8e\\xd8\\x2d\\xd2\\xe3\\xa3\\xc6\\xf0\\x27\\x24\\x4c\\x7b\\xea\\x38\\x5b\\xbf\\x82\\xd6\\x7f\\x2f\\xda\\xe2\\xcd\\xe0\\x73\\x1c\\xe1\\xa7\\x3c\\x94\\xb2\\x0a\\xca\\x0b\\x23\\x35\\x67\\x44\\x4a\\x5d\\x13\\x6f\\x6b\\xac\\x19\\x5d\\x2a\\x5d\\xd7\\xfc\\x58\\x32\\xaa\\xfd\\x83\\x91\\x32\\x82\\x18\\x5f\\x14\\xa9\\x19\\x18\\x55\\x6e\\x89\\xc4\\xf9\\xe6\\xdb\\xc7\\x13\\x2d\\xed\\x47\\xeb\\xfd\\x47\\x7d\\xf4\\x13\\x2d\\xc7\\x9a\\x93\\x75\\xf5\\x1a\\x8c\\x74\\xdd\\x38\\xe6\\x61\\x74\\x3c\\x2f\\x47\\xda\\x6c\\xa9\\x47\\x12\\xad\\x19\\xd1\\x4f\\xe8\\x9f\\x56\\x2f\\x23\\x6d\\x76\\x45\\x5b\\x84\\x77\\xb2\\x6a\\xda\\x22\\xfc\\x24\\x0f\\xca\\xf0\\x9a\\xdd\\xfc\\xb7\\x7d\\xcd\\x86\\x6a\\x6d\\x97\\x9f\\xb2\\x85\\xcf\\x07\\x37\\xd5\\xfd\\x26\\x4f\\x12\\xef\\x6d\\x7e\\xd4\\x88\\x67\\x52\\x7f\\x79\\x39\\x46\\xfc\\x3b\\x7f\\xb2\\x39\\xba\\x8c\\xaa\\xe8\\x5d\\x9e\\x93\\xf5\\x8d\\xe3\\x1a\\x0b\\xfd\\x2f\\x1f\\xfb\\x88\\xa7\\x5a\\x07\\xd5\\xca\\xf1\\x5f\\xb3\\x7f\\xce\\xdd\\xb7\\x3d\\x14\\x42\\x80\\x1e\\x3c\\xbd\\x1b\\x34\\x82\\xcf\\xdd\\x1a\\x46\\x90\\x0b\\x05\\x0a\\x3d\\x78\\xce\\x78\\xae\\xda\\x2e\\x50\\xdb\\xc5\\x6a\\x0b\\xd4\\x7c\\xf0\\x54\\xf0\\x6a\\xb5\\x5d\\xaf\\xb6\\x9b\\xd4\\xb6\\x41\\x6d\\x77\\xa8\\x2d\\x78\\x6a\\x77\\xbf\\xda\\x1e\\x56\\xdb\\x63\\x6a\\x7b\\x5a\\x6d\\xcf\\xa9\\xed\\x25\\xb5\\x6d\\x53\\x23\\x39\\x38\\xe0\\x98\\x71\\x95\\xbb\\x8f\\xbb\\xe5\\x2e\\x96\\xea\\x3d\\x19\\x94\\x6f\\xd4\\x4b\\xbc\\x8f\\xd7\\xfd\\x8d\\xbf\\x8f\\xc3\\x3b\\x26\\xf9\\x51\\xe5\\x78\\x3e\\xf1\\x11\\x69\\x19\\xde\\x25\\x79\\x07\\x3e\\x45\\x32\\x7e\\xf4\\x9d\\x96\\x6f\\x13\\xcf\\xfa\\x31\\xfc\\xbf\\xa0\\x34\\xcf\\x7d\\xe7\\x67\\x23\\xec\\x73\\xf8\\x73\\x44\\xba\\xe7\\x07\\xeb\\x65\\xa4\\xe5\\xf8\\xdf\\xc7\\x3b\\x7f\\x26\\x12\\xdc\\x5d\\x0c\\x3e\\x7b\\x71\\xa8\\xb1\\xab\\x9f\\x30\\x1a\\xbe\\x1b\\x37\\x56\\x79\\x55\\xc4\\xbf\\x2b\\x72\\x3f\\x69\\xec\\xa3\\xfa\\x8d\\xbf\\x17\\x2e\\x7c\\xa7\\x38\\x69\\xf4\\xaa\\xbd\\x75\\x1c\\x6d\\xce\\x35\\x9a\\x32\\xeb\\x5f\\xbf\\x1c\\xf3\\x33\\x2e\\xef\\x72\\xf9\\x0e\\x8d\\xfa\\xff\\x09\\x2e\\x8c\\x0d\\x04\\xdc\\x13\\x0b\\xde\\x9f\\x75\\x7f\\x74\\x19\\xbc\\xba\\x6e\\x8c\\x36\\x5b\\x74\\x79\\x57\\xa4\\x1c\\xbb\\x9f\\xc6\\x3e\\xc7\\xc0\\x0d\\xbe\\xbd\\x61\\x1e\\x6a\\xd4\\xef\\xaa\\xe9\\x9c\\xf0\\xad\\xa7\\x87\\xff\\xb6\\x0f\\x34\\xc9\\x11\\x83\\x36\\xc1\\x5f\\xab\\xce\\xeb\\x36\\xed\\x68\\x43\\x9e\\x67\\x18\\xe1\\xf7\\x67\\xe6\\xab\\xf9\\x8c\\x7e\\x7f\\x66\\xff\\xe0\\x1c\\x1e\\x79\\x44\\x7e\\xb6\\x31\\xe5\\xa8\\x65\\x59\\x55\\xe2\\x1b\\x34\\x56\\xed\\xdb\\x34\\xe1\\x77\\x70\\x62\\x1d\\x1d\\x7d\\x2a\\xaa\\xce\\xde\\x52\\xb7\\x31\\xab\\xb7\\xdc\\xd1\\xab\\x32\\xca\\xe0\\xec\\x5b\\xf8\\xf6\\xd0\\xf0\\x37\\x74\\x6c\\x85\\x3c\\x43\\x65\\x99\\xfb\\x19\\x07\\xa1\\xee\\x00\\x7c\\x67\\xe6\\x20\\xd8\\x43\\x82\\x4f\\xab\\xeb\\xfb\\xbe\\x7a\\xdf\\x0a\\x22\\x24\\xf6\\xaa\\xc0\\x8f\\x3d\\xa9\\xca\\x69\\xe1\\xc8\\x8d\\x78\\xf0\\x1d\\x21\\x7b\\x82\\x8e\\x5f\\x45\\x64\\x5e\\xac\\xae\\x86\\x36\\x23\\xab\\xd6\\xb4\\xa3\\x8d\\x93\\xd4\\x7a\\x5a\\x51\\x57\\xc2\\x59\\x6a\\x7d\\xbb\\x5c\\x9d\\xf1\\x0d\\xc6\\x23\\xc6\\xd3\\xc1\\x17\\x6f\\xcc\\x19\\x6a\\x15\\x3b\\xc0\\x74\\xd5\\x0a\\x26\\xcd\\xa5\\x66\\xf0\\x7d\\x96\\xb8\\xb3\\x5c\\xcd\\xe0\\x56\\xed\\xad\\xa8\\x79\\x47\\xd7\\xbc\\xa3\\x94\\xf7\\x8a\\xc6\\xbb\\xb3\\xe6\\x6d\\xaa\\x79\\x3f\\xae\\x79\\x77\\x69\\x4f\\x5d\\xef\\x46\\x2b\\x7b\\x54\\xf9\\x2f\\xb1\\x9f\\xd4\\x5e\\xdb\\x5c\\xf3\\xee\\x8e\\xb4\\xba\\x27\\xf0\\xd9\\x75\\xaa\\x7c\\x5e\\x7f\\xdf\\x6a\\x92\\x31\\x43\\xbd\\x17\\xac\\xf8\\xb3\\xce\\x91\\xaa\\x7c\\x91\\xfd\\xb4\\x76\\xd4\\xbd\\xda\\x0b\\xda\\x4c\\x31\\x66\\x3a\\x47\\x18\\xb1\\xf8\\x2b\\xf1\\x97\\x9c\\x45\\x1a\\xe5\\xbe\\x5a\\xab\\xfb\\x6b\\xde\\x03\\x35\\xef\\xc1\\x9a\\xf7\\xb3\\x9a\\xf7\\x50\\xcd\\xfb\\x79\\xcd\\x7b\\xb8\\xe6\\xfd\\x42\\x7b\\x54\\x21\\xed\\x6e\\xcc\\x56\\x67\\x67\\x9e\\x91\\x34\\x0e\\x61\\xb7\\x2a\\xcc\\xd7\\x55\\xb4\\xb7\\x6a\\xec\\xd7\\xd9\\x46\\x65\\x5f\\x53\\xfb\\x1b\\xf5\\xfe\\x6b\\xec\\x11\\x3d\\x96\\x5b\\x54\\xf9\\x3a\\xdb\\xa0\\xca\\xd7\\x74\\x5f\\xbf\\xc4\\x68\\xa9\\x7a\\x17\\xab\\xf7\\x93\\x5a\\x09\\x6c\\x23\\x66\\x53\\x75\\xd6\\x5a\\xec\\x89\\xf6\\x44\\x63\\xb2\\x3d\\xd9\\x9e\\x62\\x4c\\xb1\\xa7\\xd9\\xd3\\x8d\\x69\\xf6\\x6e\\xf6\\x1e\\xfa\\x73\\x4a\\x86\\xbe\\x96\\xe7\\xe8\\x6b\\x22\\xb8\\x46\\x82\\xeb\\xc0\\x56\\xc7\\x1a\\x76\\x8b\\x3d\\xdd\\x0e\\x3e\\x1f\\x14\\xd3\\x2b\\xc1\\xb6\\x31\\x3f\\x11\\xb1\\x50\\x5d\\x67\\x53\\x54\\x0f\\x07\\xa9\\xd8\\x0f\\xc5\\x6c\\xdf\\xae\\xe7\\xf4\\x36\\x55\\xbe\\xa0\\x63\\xfb\\x55\\x90\\x31\\x6a\\xef\\xb1\\x9a\\xf7\\x78\\xcd\\xbb\\x01\\xed\\xa2\\xb8\\xc6\\xff\\x09\\x00\\x00\\xff\\xff\\x5e\\x38\\x55\\xf3\\x74\\x9a\\x04\\x00\")\n\nfunc liberationmonoBoldTtfBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_liberationmonoBoldTtf,\n\t\t\"LiberationMono-Bold.ttf\",\n\t)\n}\n\nfunc liberationmonoBoldTtf() (*asset, error) {\n\tbytes, err := liberationmonoBoldTtfBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LiberationMono-Bold.ttf\", size: 301684, mode: os.FileMode(420), modTime: time.Unix(1459927769, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _liberationmonoBolditalicTtf = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\xe4\\xbd\\x77\\x7c\\x54\\xd5\\x16\\xf7\\xbd\\xf7\\x39\\x33\\x99\\xf4\\x5e\\x80\\x40\\x66\\x92\\x90\\x04\\x48\\x20\\x40\\x02\\x01\\x04\\x32\\x94\\x84\\x0e\\x09\\x10\\xc8\\x50\\x13\\x08\\x45\\x3a\\x26\\x34\\xa5\\x4a\\x11\\x11\\x14\\xa4\\x2a\\x48\\x51\\x54\\xec\\x41\\x51\\x8a\\xa8\\xd8\\x2b\\xf6\\x8a\\xa8\\x48\\x8b\\x05\\x7b\\x17\\x32\\xf3\\x7e\\xf7\\x39\\x67\\x20\\x72\\xf5\\x7a\\x9f\\xcf\\xf3\\xfc\\xf7\\xe6\\xde\\x35\\xfb\\x9c\\x7d\\xf6\\x5e\\xeb\\xb7\\x7e\\x6b\\xed\\x76\\x26\\x44\\x21\\x85\\x10\\xd1\\x7c\\xd8\\x84\\xab\\xb0\\x70\\x70\\xbf\\x72\\xd7\\xf2\\x3d\\xc2\\x16\\xb0\\x98\\xda\\x86\\x3d\\xba\\x17\\x14\\xce\\xfb\\x64\\xc6\\x5b\\xdc\\x6f\\xe3\\x7e\\x65\\x8f\\xa2\\x01\\x83\\xde\\xfe\\xe5\\x75\\xa7\\xb0\\x39\\x1a\\x0b\\x91\\xd3\\xb9\\xc7\\xa0\\x92\\xae\\x53\\x1b\\xf4\\x7f\\x5e\\xd8\\x3a\\x54\\x08\\xa1\\xe7\\x0e\\x18\\x94\\xdd\\x5a\\x3e\\xf7\\xc4\\xc3\\x42\\xc8\\x3d\\xb4\\x2f\\x1b\\x3b\\xb5\\x7c\\x46\\xb7\\x86\\x0d\\xdf\\x13\\x22\\x63\\x8a\\x10\\x01\\x2d\\xc6\\xce\\xae\\x72\\x4d\\x0e\\xba\\x7a\\x86\\x10\\xed\\xdf\\x15\\x42\\x7b\\x66\\xfc\\x8c\\x09\\x53\\x17\\x96\\x3f\\x16\\x25\\x44\\x73\\xf4\\x3b\\xf6\\x4d\\x28\\xaf\\x9c\\x21\\xe2\\x45\\x10\\xf6\\x68\\x23\\x22\\x27\\x4c\\x99\\x37\\xfe\\xd8\\xaa\\xb3\\x8d\\x84\\x18\\x63\\x13\\x7a\\xc7\\x03\\x13\\xc7\\x95\\x57\\x5c\\x78\\x77\\xd9\\x4c\\xf4\\x67\\xf1\\xbc\\xed\\x44\\x2a\\x82\\x3a\\xd8\\x5f\\xe7\\x1e\\xfb\\xa2\\xf1\\xc4\\xa9\\x55\\x73\\x8f\\x67\\xfc\\xf2\\x1b\\xba\\x03\\x85\\x48\\xab\\x98\\x32\\x7d\\x6c\\x79\\xc4\\xbe\\x0d\\xb4\\xed\\xb8\\x85\\xfb\\x29\\x53\\xcb\\xe7\\xce\\x08\\x6b\\x6b\\x7b\\x85\\xf6\\x2b\\x69\\xef\\x9a\\x56\\x3e\\x75\\x9c\\x6d\\xc7\\xcd\\x2f\\x09\\x7d\\xfb\\x61\\x21\\x42\\x7e\\x9b\\x31\\xbd\\xb2\\xea\\xe4\\x6b\\x03\\x1b\\x09\\xfd\\xde\\x7d\\x42\\x0c\\x3f\\x38\\xe3\\xaa\\x71\\x33\\xee\\x6a\\xf0\\x12\\x4d\\xdb\\x14\\x41\\xd0\\xb5\\x06\\x57\\x9a\\x10\\x2b\\xf2\\x3f\\x9b\\x32\\x3a\\xa2\\xe3\\x2f\\x9a\\x13\\x33\\xfc\\xbc\\xb6\\xbe\\x51\\x0f\\x7f\\x79\\x21\\xed\\x42\\x6d\\xc0\\x60\\xc7\\x17\\x42\\x17\\xea\\xa1\\x34\\x1a\\xf0\\x19\\x70\\x4f\\xed\\x2d\\xe8\\x38\\x7a\\x21\\xed\\x8f\\xfb\\x03\\x06\\x8b\\x0a\\x11\\x27\\xea\\xfc\\x04\\x95\\xaa\\x36\\x41\\xc3\\x64\\x8a\\xe8\\x29\\xc6\\x89\\x00\\xac\\x44\\x8a\\x6c\\x31\\x02\\x56\\x93\\xf4\\x28\\x74\\x49\\xa1\\xdb\\x8e\\x6a\\x87\\x85\\x5d\\x08\\xfb\\xad\\xf6\\x1c\\x91\\x24\\x1b\\x19\\x65\\x91\\x5e\\x2e\\xc6\\x6b\\xd1\\x81\\x76\\xcd\\xe1\\x08\\xd2\\x34\\x7b\\x90\\xcd\\x76\\x42\\x04\\xfb\\xdc\\x62\\xae\\xcf\\x6f\\xbd\\x55\\x97\\x41\\xdd\\x44\\xb2\\x70\\x79\\x53\\xed\\x51\\xde\\xc1\\x0a\\x89\\x36\\xa1\\x4c\\xc8\\xa7\\x3e\\x83\\x27\\x5b\\x07\\x7b\\x81\\x62\\x42\\x84\\xdb\\x8e\\x8a\\xf5\\xaa\\x35\\xa5\\x25\\x72\\x32\\x32\\x8c\\xeb\\x7a\\x48\\x13\\xdb\\x51\\xdf\\xbb\\xc8\\x37\\xa0\\xe8\\x4c\\x7d\\x2b\\xea\\xe6\\x50\\xf6\\xa5\\x1c\\x87\\x0c\\xe4\\x3a\\x13\\x99\\x4a\\x9b\\x73\\xdc\\x5f\\x85\\x64\\x21\\xd1\\xc8\\x15\\x48\\x3c\\xd2\\x0d\\x59\\x84\\xd4\\x20\\x05\\xc8\\x28\\xb3\\xbd\\xd8\\x64\\xe9\\xf0\\xcb\\x16\\x24\\x04\\x3d\\x9b\\x29\\x5d\\xc8\\x20\\x24\\xc9\\xba\\xc6\\xb6\\x18\\x8c\\x24\\x23\\xb9\\x48\\x6f\\xc4\\x89\\x4c\\xa2\\xfd\\x9f\\x56\\x3b\\x7f\\x5d\\x6f\\xab\\x8f\\x0d\\x79\\x10\\xb9\\x12\\xd9\\x69\\xb5\\xdd\\x6c\\x5e\\xfb\\xbe\\xa5\\x3c\\x08\\x0e\\x85\\xb3\\xab\\xe5\\xe7\\x04\\x7c\\xb4\\x73\\x9d\\x83\\xa4\\x22\\x23\\x91\\x7e\\x96\\x5d\\xda\\x8a\\xc6\\x48\\x3a\\x12\\x46\\xdb\\x67\\x28\\xbb\\x5b\\xd7\\x27\\xad\\x7a\\x38\\xf1\\x7d\\x68\\x96\\x62\\x9d\\xf5\\xfc\\x0c\\x32\\x02\\x59\\x89\\x78\\x78\\xfe\\x12\\xf2\\xbe\\xe5\\xc7\\x03\\xd8\\x3f\\xc5\\xfd\\x05\\xae\\xcb\\x2c\\xee\\xf3\\x28\\xe1\\xdf\\xf7\\x35\\x65\\x27\\x8b\\x5f\\xda\\x88\\xfa\\x94\\x77\\x9a\\xfe\\x49\\x85\\x71\\x81\\x89\\x4b\\x71\\x6f\\xf8\\x7c\\x3f\\xd7\\xe9\\x26\\x8f\\x52\\xb5\\x6d\\x8f\\x10\\x0f\\xdf\\x8b\\xd4\\x3d\\xcd\\xf5\\x93\\x5c\\x6f\\xa5\\x4c\\x40\\x3a\\x50\\xd7\\x16\\xc9\\xb0\\x62\\xdc\\xd9\\xe4\\x4f\\x71\\xf3\\x4f\\x62\\xc4\\xc2\\x75\\x99\\xe4\\x5e\\x26\\x31\\x75\\xe2\\x70\\xb9\\x8c\\x47\\xcf\\xab\\x56\\x2c\\xea\\xca\\x4e\\x4b\\x57\\x82\\xc5\\xfb\\xdf\\x88\\xef\\xb8\\x15\\x8b\\xc1\\x97\\x49\\xd8\\x65\\x72\\xc5\\xa5\\x38\\xfc\\x87\\xa8\\xfc\\x72\\x58\\xb1\\xa8\\x23\\x2a\\x16\\xbe\\x77\\xac\\x72\\xb3\\x65\\xef\\xb2\\xd2\\xf0\\x7d\\xe4\\x7f\\x29\\x93\\x2c\\xdd\\xca\\xff\\x02\\xcb\\x9f\\xc1\\xff\\x43\\x39\\xd8\\xca\\xa9\\x7f\\x2a\\x93\\x2d\\x7f\\xfc\\x65\\xae\\xe5\\xe7\\xbf\\x94\\xbe\\x13\\x94\\x5d\\x4c\\xde\\x8d\\x3c\\x75\\x5a\\xb9\\xa8\\x64\\x92\\xd5\\xb6\\x4e\\x69\\xf0\\xeb\\xbf\\x97\\x56\\x99\\x64\\xd9\\xbc\\xbc\\x2c\\x45\\x42\\xad\\xeb\\xde\\x16\\xb7\\x97\\x97\\x89\\x88\\x66\\xf9\\xb9\\xce\\x2c\\x8d\\x31\\xe2\\xbf\\xb7\\x59\\x58\\xfe\\xa9\\x54\\x63\\xf6\\x8c\\x55\\xce\\x45\\x1e\\x42\\xee\\xb2\\x99\\xf9\\x32\\xe2\\xff\\xa0\\x54\\x3e\\x31\\xe6\\x8c\\xf1\\xfe\\xbe\\xed\\xd2\\xb8\\x4f\\xfe\\xcf\\x52\\x2a\\x9f\\x52\\xad\\x7e\\x2e\\xeb\\xda\\x5f\\xf6\\xaf\\x13\\xeb\\x18\\xab\\x8d\\x1a\\x3b\\xfd\\x2c\\xae\\x55\\x5d\\x0f\\x33\\x66\\xbe\\x9e\\xc8\\x2f\\x56\\x0c\\x77\\x5a\\x7e\\xfb\\xc7\\x87\\x3f\\x0e\\x61\\x16\\xe7\\x11\\x94\\xf5\\xea\\x70\\xe9\\xe7\\xaf\\xb5\\xcd\\x1c\\x97\\x23\\xac\\xf9\\xc4\\x65\\x71\\xda\\x87\\xfb\\xf3\\x60\\x2d\\xb4\\x5d\\x9a\\x57\\xfc\\x3c\\x31\\x77\\x89\\xa1\\x48\\x3b\\x13\\x97\\x61\\x7b\\x6f\\x1d\\x3f\\xef\\x41\\x3e\\x32\\x39\\xf6\\xd5\\xda\\xcc\\xf9\\xb9\\xab\\xe5\\x17\\x98\\x7c\\x2f\\x98\\xf3\\x85\\x9a\\x1f\\x58\\x74\\x8d\\x35\\xc0\\x57\\x6c\\x09\\x31\\xf3\\xd5\\x58\\x72\\x9b\\x59\\x2a\\x7c\\x75\\xc7\\xcc\\xc5\\x1c\\xf4\\xfb\\xf0\\xbf\\xc6\\x68\\xe8\\xdf\\x8f\\x3b\\x83\\x1f\\x38\\xf4\\xdd\\x6b\\xbb\\x34\\x1e\\xfc\\xfc\\x5d\\x96\\x6f\\x3e\\x72\\xdd\\xf7\\xa3\\x99\\xeb\\xbe\\x83\\x96\\xfc\\x71\\xa9\\x9f\\xef\\x7b\\xcb\\x77\\x2b\\x87\\x2f\\xb7\\x63\\xcc\\x4b\\x8e\\xbf\\x19\\xf7\\x97\\x8f\\xd7\\xcb\\xc7\\xdb\\xe5\\x79\\x5f\\x27\\xdf\\x8d\\xf2\\x72\\x5f\\x2f\\xcb\\x6f\\x83\\xbf\\x1f\\x6c\\x7f\\x1d\\xe7\\x2a\\x0f\\x1b\\xda\\x8c\\x75\\xf3\\x62\\xec\\x2e\\xc7\\xf3\\x4f\\xe3\\xce\\x5f\\x5a\\xf9\\xee\\x7b\\xde\\xe2\\xa1\\xd8\\x8c\\xb9\\xcf\\x6b\\xf9\\xcc\\x5a\\xee\\x23\\xbe\\x6a\\x1d\\xf6\\x5d\\x4f\\xd9\\xde\\xb2\\xcd\\xba\\x2e\\x9e\\xb1\\xc6\\x0a\\x79\\xef\\xbb\\xcf\\xb4\\xe9\\xeb\\x67\\xbb\\x34\\x97\\xf4\\xb2\\x38\\x27\\x0f\\x45\\x05\\x32\\xcc\\x6a\\xbf\\xc0\\xcc\\x4f\\x63\\xbc\\x58\\x6b\\xa7\\xef\\x75\\x2b\\x17\\x95\\xb8\\xad\\xfc\\x64\\x6d\\x32\\xc6\\x53\\xa2\\x89\\x47\\x5d\\xfb\\x1e\\xb1\\xe2\\xdb\\xd8\\xd2\\xa1\\xf6\\x05\\xa3\\x4d\\xdc\\x06\\x2f\\xd6\\x9a\\x2b\\x1e\\xaf\\xc3\\x3d\\x22\\xaf\\xb2\\xf4\\x45\\x9b\\xa2\\xc6\\x9a\\xf7\\x1b\\xab\\xbd\\xd3\\xe2\\xa2\\xa1\\x85\\x47\\x5d\\x37\\xab\\x23\\x6a\\xcd\\x9b\\x8d\\xdc\\x84\\xbc\\x61\\xf9\\x3f\\x00\\x1d\\xbf\\x5e\\xc2\\x22\\x15\\x07\\x6a\\x7d\\x3a\\x6c\\xf2\\x62\\x8c\\x73\\xb5\\x76\\x32\\x3e\\x7c\\x8f\\x21\\xb7\\x23\\xac\\xab\\x62\\xbb\\x15\\xa7\\x8f\\xad\\x3c\\x54\\xe3\\x1f\\xee\\xc5\\x0e\\xa4\\x8d\\xd5\\xaf\\xc2\\xc2\\x55\\x64\\xf9\\xd8\\x88\\x76\\xa7\\xac\\x18\\x4f\\xb7\\xf0\\x35\\x45\\x86\\x20\\xb1\\x66\\x3f\\x9f\\xcf\\x8a\\xf7\\x2d\\x36\\x73\\x5d\\xe9\\x68\\xc6\\xce\\xc8\\xe3\\xd9\\x56\\x2e\\xa9\\xb9\\x62\\x38\\xf2\\xa7\\x29\\x92\\x6b\\x79\\x2b\\x02\\xd7\\x92\\x39\\x4a\\xc6\\x51\\xcf\\xd8\\x16\\x8c\\x01\\x6d\\x3f\\xf7\\x6f\\x53\\x86\\x5b\\xc2\\x3c\\xa2\\x91\\x9b\\xda\\x0d\\xd4\\xcf\\x44\\xd4\\x1c\\x72\\xa7\\x15\\xd3\\x5a\\xd3\\x07\\x59\\x89\\xdc\\x41\\x9b\\x1b\\x29\\x1f\\xa5\\x8c\\x44\\xf2\\xb9\\x56\\xfb\\x15\\xd5\\x4f\\xad\\x7b\\x1f\\x50\\xc2\\x89\\x46\\x6c\\x24\\x5c\\xc8\\x23\\x08\\x7a\\xe5\\x06\\x44\\xe5\\xc5\\x39\\xab\\xaf\\xda\\x5f\\xa9\\xb8\\xb1\\xc7\\x93\\x23\\xcd\\x9c\\x91\\x70\\x21\\x47\\x5b\\xb8\\x7f\\x42\\x5a\\x50\\xff\\xbe\\x89\\x45\\x56\\xfd\\x8d\\x54\\x5a\\xc2\\x3e\\x49\\x92\\x37\\x32\\x85\\xf6\\x51\\xd6\\xf8\\x56\\xfb\\xce\\x20\\x2b\\x37\\x9b\\x9b\\xf9\\xeb\\x9b\\x8f\\xa8\\xfd\\xa7\\x6a\\x4b\\x2e\\xcb\\xde\\xe6\\x98\\x33\\x64\\x8c\\x25\\x8f\\x0a\\xe1\\x65\\xf7\\xe5\\x6b\\xc6\\x36\\x78\\x99\\x10\\xb5\\xe9\\x5c\\x73\\xae\\xf0\\xce\\xa6\\x2c\\x35\\xf7\\xe9\\xbe\\x9e\\xdc\\xff\\x4a\\xf9\\x21\\xe5\\x3d\\x54\\x9c\\x46\\x9a\\x70\\x7f\\x2f\\xf7\\x1f\\x53\\x8e\\x36\\xfb\\xfb\\xee\\xb6\\xe4\\x33\\x9e\\xf7\\xe3\\xd9\\x2e\\x84\\x73\\x8b\\x77\\x27\\xb2\\x9b\\xfa\\x42\\xea\\x13\\xb8\\xfe\\x01\\x59\\x83\\x1c\\x44\\x6e\\xc7\\x66\\x35\\xe5\\x28\\x9e\\xcf\\xa7\\x7c\\x16\\xb1\\x21\\x77\\x21\\x6f\\x23\\xdd\\x90\\x87\\x90\\x3f\\x69\\xf7\\x2a\\x25\\x76\\xbd\\xef\\x9b\\xf8\\xbc\\x9f\\x52\\xf7\\x3d\\xfd\\x06\\x70\\x7d\\x48\\x88\\x0b\\xf4\\xa9\\x7d\\x81\\xfb\\xa7\\xb9\\x57\\xbe\\x2c\\x42\\x38\\x27\\x79\\x37\\x22\\x6f\\x58\\xfd\\x39\\x03\\x79\\xc3\\x68\\xb3\\x1f\\x2c\\x11\\x5c\\x63\\xd3\\xc7\\xe9\\x46\\x2c\\xa1\\x74\\x22\\x8f\\x9a\\xf6\\x7c\\x9c\\x22\\x7c\\x01\\xf4\\x29\\xe6\\x9e\\x67\\xde\\xc7\\xb8\\x57\\xdc\\x6c\\x40\\x38\\x9b\\x79\\x27\\x22\\x4f\\xf0\\x3c\\x9e\\xfb\\x93\\xea\\x1c\\x46\\x39\\xc7\\xb4\\x6b\\xe0\\x7b\\x04\\x49\\xa5\\x5e\\xe7\\x40\\xb2\\x82\\xeb\\xfb\\x91\\x68\\xda\\xc0\\xb5\\xf7\\x73\\xea\\x93\\xb9\\xe6\\x3c\\xe8\\xbd\\x8f\\xf2\\x03\\x53\\xbc\\x9c\\x21\\xbd\\xbf\\x70\\x9d\\x82\\xdc\\x61\\x71\\x8e\\x5e\\xaf\\x7a\\x9e\\x48\\xf9\\x38\\xa2\\x78\\xce\\x46\\x3e\\x42\\x14\\xb6\\xd5\\xe8\\x1f\\xc6\\x35\\x3c\\xfa\\x56\\x9a\\x73\\xcf\\xc5\\xfd\\x22\\x73\\x89\\xa6\\x72\\x6b\\x91\\x39\\xf7\\xa9\\x7d\\xb0\\x31\\xd6\\x95\\xa4\\xd4\\xb9\\x4e\\x36\\xe7\\x97\\x8b\\x67\\x8f\\x9e\\xe6\\x9a\\x69\\xcc\\x7f\\xd6\\x3c\\x6c\\xec\\xa9\\xac\\x75\\xdc\\xc8\\x2d\\xff\\xb9\\x23\\xd8\\x9c\\x1f\\x8d\\x36\\x4e\\x2b\\xff\\xd4\\x1c\\xbf\\xd3\\x1a\\xe7\\x9b\\xcd\\xf1\\xef\\x7b\\xd9\\xea\\xaf\\xea\\xb3\\xad\\x79\\xb0\\x99\\x35\\xaf\\x4d\\x32\\xeb\\x7c\\x8c\\x4f\\xb1\\xc6\\x66\\xce\\xf7\\xea\\xf9\\x22\\xab\\xcd\\x4a\\xab\\x9d\\x5a\\xab\\x8f\\x21\\xaf\\xd8\\xcc\\x35\\x66\\xa6\\x35\\x77\\xb0\\x6e\\xfb\\x9e\\xa3\\x5c\\x68\\x33\\xcf\\x0d\\x4f\\x58\\x3a\\xd5\\x3a\\x3d\\xcd\\x66\\x9c\\x6f\\x8c\\x79\\xc5\\x6f\\xab\\xaf\\x55\\xc6\\x5a\\x3a\\xd4\\x39\\x90\\x33\\x84\\x2f\\xc8\\x2c\\x8d\\x39\\x3b\\xda\\x5a\\x87\\xfd\\xeb\\xca\\x6c\\x73\\xac\\xa9\\xb9\\xd3\\xf7\\xa6\\xcd\\x9c\\x5b\\xd5\\x1c\\x74\\x35\\xf2\\x30\\x75\\xcc\\x07\\xbe\\xe5\\x16\\x2e\\xd6\\x6d\\xdf\\x7b\\x08\\x73\\x8e\\xb1\\x77\\x69\\x6f\\x62\\x34\\xe6\\x62\\xb8\\x35\\xd6\\x11\\x35\\x3f\\xe8\\x96\\x8d\\x44\\x33\\x66\\xc6\\x1a\\xe3\\xb7\\x17\\x6e\\xf1\\xcf\\xfe\\x5c\\xed\\x53\\x14\\xdf\\xbe\\xc5\\xc8\\x30\\xdb\\xa5\\x3d\\x59\\x7f\\xdb\\xa5\\xf3\\xc8\\x4c\\x4b\\xb7\\xaa\\xb7\\xd9\\x2e\\xed\\xbb\\xd4\\x98\\xdf\\x86\\x9c\\xb6\\xda\\xf8\\xe3\\xf4\\x89\\xed\\xd2\\xfa\\x9a\\x5c\\x27\\xee\\xa5\\x96\\x5d\\xd5\\xe7\\x67\\xb3\\xad\\x21\\xaa\\xed\\x9d\\x56\\xdc\\x93\\xff\\x1a\\x73\\xc3\\xe6\\x83\\x96\\xce\\x46\\x75\\x74\\x56\\x59\\xfb\\x0f\\x44\\x30\\x6f\\xf9\\xce\\x5a\\x76\\x9c\\xd6\\x3a\\xbc\\xc5\\x8a\\xf5\\x68\\xab\\xfd\\x2a\\xea\\x86\\x98\\xb9\\xeb\\x53\\xf3\\x7e\\xab\\xbf\\xe6\\xa8\\x6f\\x4f\\x1d\\xfb\\x7d\\xad\\xba\\x0f\\x4d\\xee\\x8c\\x18\\xa8\\xb5\\x98\\xbc\\x56\\xe7\\x4c\\x23\\xbf\\xaf\\x36\\x6d\\x1a\\x76\\xfb\\x5a\\x7d\\x95\\xfd\\xae\\x26\\x56\\x23\\x3e\\xfe\\xb3\\x48\\xba\\x69\\xdf\\x58\\x8f\\xac\\x7d\\xaa\\xff\\xac\\xeb\\x63\\x4d\\xf1\\xfd\\x64\\xbb\\xb4\\x4f\\x49\\xb6\\x5d\\x3a\\xc7\\x2a\\x8e\\xd5\\x7e\\xc2\\x63\\xbb\\x78\\x1e\\x57\\x6b\\xb1\\xb1\\xd7\\x78\\xcd\\xca\\x83\\x8f\\x2d\\x1e\\x14\\x96\\xb7\\x2c\\xdb\\xaf\\x5a\\xf9\\xc7\\x9e\\xd2\\x58\\x57\\xeb\\xec\\x5f\\x8c\\x38\\xf9\\x4b\\x69\\xe5\\xaf\\xff\\xb9\\xb2\\xd7\\xd2\\xea\\xa3\\xec\\x5e\\x8b\\x90\\x17\\xa2\\x1e\\xe3\\x3f\\x0d\\x61\\x7e\\x14\\x8d\\xcc\\x37\\x36\\xde\\x69\\xcc\\x89\\xd4\\x5d\\x98\\x7c\\x29\\x86\\x86\\xff\\xd6\\x1e\\xc1\\xe0\\x6e\\x84\\x95\\xdb\\xd9\\x16\\x8f\\xaa\\x4d\\x92\\x15\\xff\\x5b\\xac\\x1c\\xb8\\x2c\\x0e\\x17\\xf5\\x4c\\xb1\\x30\\xf6\\xab\\x53\\xaf\\x78\\x0b\\xa4\\xdf\\x67\\xa6\\xa8\\x7d\\x85\\x3a\\xff\\x1a\\x6b\\xff\\x48\\x33\\x4f\\x54\\xac\\xa4\\xc2\\xa3\\xf6\\x0e\\x13\\x2c\\x9e\\x37\\x9b\\xdc\\x88\\x19\\x96\\xaf\\xe4\\x8e\\xda\\xa3\\x19\\xe5\\x5c\\x4b\\xb7\\xda\\x4b\\x34\\xb5\\xf0\\xfb\\xcb\\xdc\\x3a\\x58\\xd5\\x5c\\x95\\x66\\xe5\\xa9\\x9a\\xa3\\xbe\\xb3\\xd6\\x72\\xff\\x7c\\x57\\x65\\xe6\\x9a\\x11\\xa3\\x3f\\x2f\\xd9\\xfd\\xdb\\xfd\\xb7\\x7f\\xbf\\xa9\\xce\\x36\\x43\\x2f\\x95\\xff\\xc1\\x4b\\x98\\xb9\\xef\\xb9\\xc8\\xaf\\xbf\\xfc\\xa7\\xfd\\xa9\\xb3\\x4e\\xfe\\xbd\\xff\\x9f\\xa5\\x81\\x51\\xcd\\x29\\x3d\\xcd\\x7c\\x34\\x72\\x46\\xe1\\x5d\\x63\\xce\\xa1\\x06\\xbe\\x97\\x2e\\x95\\xc6\\xfe\\x4f\\x9d\\xc5\\xbe\\x44\\x7e\\xb7\\x70\\xaa\\xf7\\x1b\\x63\\x91\\x3d\\xe6\\x18\\x33\\xda\\x7e\\x66\\xe6\\xa5\\xe1\\x93\\xda\\x83\\xa9\\xb9\\x52\\x8d\\x35\\xb5\\xdf\\xeb\\x6f\\x71\\xb6\\xa7\\x0e\\x4e\\xe3\\xfc\\x48\\x1e\\xb1\\x06\\x69\\xf3\\x90\\x4a\\xe4\\x45\\x64\\x20\\xeb\\x4d\\x77\\xca\\x75\\x94\\xbf\\x53\\x5e\\x4f\\xd9\\x06\\x61\\xad\\xd3\\xc6\\x98\\x22\\x9f\\x44\\x5a\\x71\\xcd\\x7a\\xaa\\x95\\x71\\x4d\\x0e\\xca\\x04\\xab\\x5d\\x24\\x3a\\xa7\\x52\\xe6\\x98\\x7d\\xb5\\x42\\xf3\\xb9\\x76\\x9d\\xd5\\xb7\\xbb\\xa5\\x57\\xf5\\x9b\\x45\\x5b\\x74\\x89\\x37\\x4c\\x91\\xd7\\x20\\x81\\x48\\x53\\x24\\xdb\\x14\\xed\\x03\\x53\\xc4\\x8f\\x94\\x79\\xd4\\x2d\\x55\\xeb\\x9c\\xc2\\xac\\xf6\\x69\\xfe\\xe7\\xea\\x9d\\x1b\\xe5\\x39\\x9e\\xab\\xf1\\x7d\\x98\\xf6\\x8a\\x2f\\x35\\x67\\x9c\\xb1\\x72\\x73\\x89\\xcd\\xd8\\x93\\x4b\\xd5\\x4f\\xf1\\x12\\x60\\xc6\\x40\\x7e\\x69\\xf2\\x68\\xe4\\xdb\\x3c\\xb3\\x5e\\x9d\\xcb\\x24\\x7b\\x2c\\x63\\xae\\xa7\\xad\\xaf\\xda\\x66\\xbe\\xc3\\x52\\x6b\\xa1\\x5a\\x47\\xd8\\x8f\\x19\\xef\\xb5\\x54\\xbf\\xa9\\x56\\x5e\\xab\\x75\\xe8\\x53\\x53\\xe4\\xef\\xe6\\x7b\\x2a\\xdf\\x1d\\x56\\x6c\\xd4\\x9a\\xd9\\xc8\\x1a\\x1f\\x6a\\x5c\\x67\\x58\\x63\\x6b\\x22\\x72\\xc8\\x66\\xee\\x9f\\xd5\\x9c\\xb4\\xdc\\x5a\\x0f\\xd2\\xac\\x18\\x8d\\xb4\\xda\\xaa\\x71\\xa0\\xe6\\x08\\xdd\\x8a\\x7f\\x81\\x95\\x03\\x6a\\x0f\\xbf\\xcf\\x66\\xbe\\x83\\xfc\\xd6\\x8c\\xa9\\xef\\x2b\\x9b\\xb1\\xb6\\x18\\xe7\\x0e\\xeb\\xbd\\x9c\\x91\\xaf\\x2a\\xc7\\x6f\\x35\\x7d\\x53\\x6b\\x93\\xda\\x9f\\x1b\\x73\\xa9\\x5a\\x33\\xd9\\x5b\\xfa\\x76\\x99\\x98\\x8c\\x52\\x61\\x52\\x7b\\x65\\x35\\x7f\\x32\\xbf\\x09\\x35\\x8f\\xc0\\xb1\\xe0\\x5c\\x20\\x39\\x73\\x49\\xb5\\x66\\x7f\\x61\\xbd\\x57\\x50\\xf3\\x83\\x7a\\x87\\xa1\\xf4\\x1c\\xb4\\x70\\xa8\\x3c\\x64\\xfe\\x93\\x0a\\x97\\xda\\xd3\\xaf\\xe0\\x5a\\x33\\xdf\\xcd\\xa9\\x35\\xd1\\x38\\x33\\xaa\\x58\\x30\\xde\\x25\\x7e\\x48\\xf5\\xee\\x95\\x35\\x46\\x76\\x31\\xdb\\xcb\\x27\\xac\\xbd\\xb2\\xca\\xe3\\x0b\\xd6\\x3b\\xbf\\x2b\\xcc\\x33\\x8b\\x4c\\x33\\xf1\\x48\\xec\\x48\\x70\\xcb\\x24\\x13\\x83\\x2c\\xa7\\x54\\x67\\xb2\\x97\\xcd\\xfd\\xb7\\xac\\x67\\x61\\xe6\\x9c\\x22\\x19\\x6f\\x52\\x71\\xc0\\x3e\\x5d\\xd4\\x5a\\x9c\\xa8\\xf9\\x5e\\xed\\x45\\x4a\\x6c\\xe6\\x7e\\xda\\x67\\xf2\\x69\\xcc\\x75\\x57\\x59\\xf3\\x0b\\x7d\\x7d\\xea\\x9d\\xed\\x6f\\xd6\\x1a\\x57\\xdf\\x8a\\x93\\x5a\\x1f\\x0e\\x99\\x7b\\x7d\\xe3\\xbd\\x01\\x6d\\xe5\\x00\\x53\\x8c\\x39\\xb7\\x9e\\xd9\\xe7\\xa2\\xbe\\x11\\xd6\\x7a\\xa0\\xfa\\x3e\\x63\\xbb\\xf8\\x4e\\x55\\xb5\\x35\\xde\\x2b\\xab\\x7d\\xcf\\x4d\\x66\\xbc\\x8c\\x31\\xef\\x5f\\x77\\xfc\\x73\\xae\\x5a\\x7f\\x33\\xad\\x9c\\xcb\\x30\\xcf\\x33\\xc6\\xb5\\x7a\\xef\\x47\\x2c\\xd4\\x7b\\x1a\\xa9\\xde\\xaf\\xaa\\x39\\x5e\\x9d\\x2f\\xa4\\x75\\x86\\xf8\\xc4\\x3c\\x2b\\x09\\xf5\\x9c\\x31\\x20\\xd5\\xbb\\xd2\\x6f\\x2c\\xee\\x9e\\xa5\\x9e\\x79\\x50\\xb2\\xdf\\x92\\xcc\\xc9\\x72\\x8e\\x39\\x1e\\x0c\\x6e\\x14\\x66\\x35\\x6e\\x14\\x36\\x75\\xc6\\xde\\x8b\\xfc\\x68\\xc6\\x4e\\xae\\xe5\\x9a\\x7c\\x97\\x01\\x56\\x3c\\x55\\x9c\\xd4\\xfb\\x15\\xf6\\x56\\x32\\xca\\xe2\\x58\\xe5\\x06\\x67\\x0c\\x1f\\x73\\x81\\xaf\\x3d\\xeb\\xd4\\x19\\xca\\xa1\\x48\\x01\\x32\\xd6\\x3a\\x4f\\x8c\\x31\\xf7\\xfc\\x5e\\xe6\\x02\\xef\\xbb\\xea\\x15\\xbd\\xda\\x4f\\xdb\\xfe\\xfa\\x3e\\x20\\xf5\\x6f\\xca\\xba\\xef\\x25\\xfb\\xfd\\x0f\\xe5\\x7f\\x7b\\x4f\\xd9\\xb5\\xce\\xbd\\x3a\\x33\\xdf\\x66\\xfb\\xe7\\xf7\\x93\\x56\\x69\\xac\\x39\\x35\\xb6\\x7f\\x7e\\x6f\\xe9\\x7f\\x8f\\x73\\x79\\xf9\\x37\\xef\\x26\\xeb\\x96\\x17\\xf7\\x15\\x97\\x95\\xff\\xf8\\xae\\xd2\\x5f\\xfe\\xdb\\xfb\\x12\\xff\\x3e\\xc0\\x5f\\xd6\\x7d\\x8f\\xd3\\xc7\\x2a\\xfd\\x3c\\x29\\x9d\\xff\\xf6\\xfe\\xf2\\xef\\xde\\x63\\xaa\\xf2\\x3e\\xab\\x54\\x73\\xd3\\xcd\\xb6\\x4b\\xef\\x85\\xd4\\x3c\\xe5\\xb6\\xfd\\xf3\\x3b\\x32\\xb5\\x0f\\x5a\\x59\\xa7\\xf4\\xbf\\xd7\\xfc\\x97\\xf2\\x3f\\xd6\\x49\\xff\\x7b\\xa1\\x7f\\x78\\x07\\x6a\\x70\\x75\\xc6\\xea\\xab\\xd6\\xe1\\x1c\\x73\\xfe\\x52\\x6b\\xea\\x3f\\xbd\\x1b\\xff\\x7f\\x55\\xfe\\xcf\\xef\\xcc\\xff\\xa9\\xfc\\xb7\\x77\\x73\\xff\\xaf\\xcb\\xcb\\x63\\xe4\\x7f\\xff\\xfa\\x6f\\x65\\xdd\\x77\\xd1\\x7f\\x57\\x66\\xff\\x77\\xb9\\xf8\\x9d\\x8c\\x1a\\x0f\\xea\\x1d\\x91\\x8a\\x5f\\xaf\\x4b\\xf5\\xc6\\x79\\xe8\\x6f\\xc4\\xd8\\xaf\\x31\\xb7\\x79\\x59\\x4f\\xbc\\x57\\x5c\\x2a\\xff\\xf2\\x4e\\xec\\x6f\\xe4\\x9f\\xfa\\x79\\xcf\\x9a\\x62\\xac\\x69\\xff\\x45\\x7c\\x77\\xff\\x4b\\xff\\xbf\\xfb\\xae\\x46\\x9d\\x53\\xd4\\xda\\xc3\\x5c\\xe9\\x65\\xbd\\xf0\\x32\\xef\\x7a\\xd5\\xf9\\x41\\xb7\\x72\\xfb\\xbf\\x88\\xfa\\x0e\\xaf\\x96\\x35\\xb6\\xf6\\x28\\x7d\\xd4\\x7a\\x17\\xfb\\xdf\\xc5\\xd8\\x4f\\xbe\\xfc\\x9f\\x76\\x7c\\x4d\\x4d\\xb9\\xc8\\xbd\\x9f\\x4b\\x3f\\x37\\x7e\\x1f\\xfd\\x98\\xfd\\x18\\xfc\\xba\\xff\\x6f\\xe3\\x58\\xff\\xbf\\xcb\\xbf\\xc6\\xe5\\xff\\x95\\xdf\\xff\\x0d\\x7b\\x1d\\x91\\xd6\\x19\\xd2\\x28\\x39\\xe7\\x1a\\xef\\x2c\\xeb\\x62\\x6e\\x66\\xe1\\x66\\x9f\\xa3\\xce\\x9c\\xfe\\xd2\\x98\\x77\\xfc\\xdc\\x1d\\xf8\\x2f\\xb9\\x64\\x9d\\xe5\\x2f\\xf6\\xbb\\xd9\\x92\\x03\\x7f\\x93\\x03\\xcf\\x99\\x72\\xb1\\x6e\\xa7\\x29\\x3e\\x75\\xa6\\x5e\\x6e\\xf2\\xa6\\xde\\x5d\\x1a\\xef\\x2f\\x47\\xfe\\x03\\x47\\x21\\x96\\xbd\\x97\\x2f\\x89\\xf2\\x4d\\x72\\x9e\\xf4\\xbd\\x8f\\xb8\\xac\\xf7\\x55\\xfe\\xef\\xbb\\xd4\\x39\\xe5\\x53\\x4b\\xd4\\xfb\\x51\\xe6\\x7c\\xa9\\xf6\\xc4\\xec\\x59\\x34\\xb5\\x3f\\x55\\xf3\\xaf\\xd2\\x73\\xcc\\xdc\\xe7\\x09\\x75\\x4e\\x19\\x66\\xee\\x3d\\x7c\\x6f\\x5b\\xba\\xfa\\x51\\x46\\xfb\\xc5\\x9c\\x97\\x8d\\xef\\xdc\\xd5\\xfb\\x8e\\x83\\xd6\\x9e\\x4d\\xf1\\xa8\\xd6\\x22\\xf5\\x8e\\xa6\\xb3\\x85\\xc7\\xdf\\x27\\xd2\\x92\\x28\\xb3\\xbf\\xec\\x61\\xf6\\x33\\xf8\\x53\\x58\\xd4\\x19\\xf8\\xa8\\x55\\x0e\\x32\\x45\\xd9\\x30\\xbe\\x1b\\x38\\x69\\xed\\xd3\\x14\\x77\\xea\\xdd\\xf6\\x19\\x73\\xff\\x66\\x9c\\x19\\xd5\\x77\\xd2\\x6a\\x8d\\x56\\x67\\x04\\x61\\x71\\xeb\\x34\\xe3\\xed\\xff\\x3e\\x41\\x0c\\xc2\\x26\\x67\\x7d\\xe3\\xdd\\x93\\x8a\\xd1\\x03\\x56\\x1b\\xf5\\x3b\\x05\\xea\\x1d\\xb5\\x3a\\xc7\\xaa\\x75\\x51\\xad\\x7d\\xf5\\x4c\\x31\\xde\\x93\\x2b\\x9e\\xd5\\xfb\\x12\\xff\\x77\\xbc\\x9c\\x9b\\xe5\\xec\\xff\\x2c\\x8d\\x6b\\xeb\\x9d\\x94\\x71\\x26\\x50\\xbf\\x57\\x30\\xce\\xe2\\x40\\xbd\\xd3\\xeb\\x68\\x33\\xcf\\xc6\\x2a\\x4f\\x38\\x9f\\x0a\\xf5\\xbd\\xb7\\x7a\\xa7\\xa2\\xde\\x8d\\x57\\x59\\xe5\\x74\\x33\\x4e\\x2a\\x3f\\x35\\xb5\\x8e\\xb3\\xdf\\x54\\xef\\xfb\\xd5\\xb5\\x12\\xff\\x75\\xdd\\xf2\\x72\\x91\\x93\\xcc\\x67\\xaa\\x54\\x52\\xf7\\xd9\\xff\\x69\\xfd\\xff\\x22\\x75\\x7f\\x2f\\x43\\x89\\x36\\xfe\\xb2\\x3a\\xb5\\x27\\x55\\xe7\\x86\\x89\\xa6\\x28\\xbe\\xd4\\xf7\\x8a\\x06\\x0f\\x11\\xe6\\x33\\xe3\\xdc\\x75\\x87\\xc5\\x9b\\xda\\x8b\\xa4\\x99\\x22\\xa7\\x59\\xb9\\xab\\xa4\\x01\\xf7\\x8a\\xc3\\xdd\\x36\\xf3\\x5d\\x45\\xb9\\x55\\x2e\\xa3\\x9e\\x67\\xc6\\x3b\\x89\\x8d\\x66\\x2e\\xa8\\x77\\xf6\\xc6\\x39\\x5b\\xc5\\x37\\xc0\\x1a\\x27\\x0f\\xd8\\x2e\\xed\\x21\\xac\\xfd\\xdc\\xc5\\x7d\\x85\\x7a\\xd7\\x57\\x77\\xdf\\x52\\x6c\\xd5\\x6f\\x37\\xf3\\x40\\x9d\\x67\\x7d\\xfb\\xd8\\xdf\\x76\\xa4\\x9c\\xa8\\x84\\x3a\\x75\\x76\\x60\\xaf\\xa9\\xb9\\x4c\\x91\\x9c\\x57\\x7d\\xb1\\x8c\\x11\\xe6\\x38\\x1f\\x7b\\x25\\x79\\xbb\\xcd\\x3c\\x1f\\x91\\xa7\\x5a\\x4b\\xdb\\xc5\\xef\\xb7\\xe5\\x97\\x9c\\x6f\\x15\\x6f\\x6a\\x1c\\x92\\xf3\\xea\\x7c\\xeb\\x3f\\xd7\\xd6\\x3d\\xbf\\x1a\\xef\\x05\\xd4\\x99\\x54\\x7d\\x97\\x3a\\xf5\\xaf\\x62\\x9c\\x89\\xfd\\x72\\xf9\\xd9\\xd8\\x6e\\xe5\\x56\\x4f\\xeb\\x3c\\x55\\xe7\\x5c\\x6c\\x9c\\x1b\\xad\\xf3\\xb0\\xff\\x2c\\xfc\\x77\\xe7\\x60\\x75\\xbe\\x36\\xf4\\x36\\x35\\xdb\\x08\\xce\\x01\\xb5\\x53\\xf0\\xbf\\x9a\\x52\\xfd\\xfe\\x95\\x3a\\xe7\\xfc\\x68\\xbe\\xb3\\xd6\\xd2\\xcc\\xef\\x5b\\xd4\\x3b\\x38\\x79\\xbf\\xf5\\x3d\\xc9\\x5c\\x04\\x0e\\xe5\\x62\\xe4\\x29\\xe4\\x2a\\xf3\\x3b\\x00\\xaf\\x3a\\xcb\\xa9\\xf7\\xfa\\x0f\\xd4\\x11\\xf5\\x6e\\x5d\\xbd\\xcb\\x9f\\xc5\\x73\\xb0\\xa8\\xdf\\x7f\\xf2\\x2d\\xb7\\x64\\x96\\x25\\xea\\xdd\\xfa\\x6d\\x88\\x7a\\x8f\\xa6\\xf6\\x4e\\xff\\xb2\\x76\\xfd\\xdb\\x9a\\xff\\xdf\\xd7\\x68\\xf1\\x2f\\x3f\\x16\\x06\\xeb\\x1d\\x9c\\x68\\x0b\\x6e\\xf5\\x7d\\xc6\\x40\\xca\\xeb\\x11\\xf5\\x7d\\xcb\\x0a\\xeb\\xbb\\x91\\xa7\\xa9\\xf7\\x7f\\x4f\\xf2\\xa8\\x79\\x6e\\x52\\xdf\\x2b\\x18\\xe7\\xa7\\x6b\\x90\\xdd\\x75\\xe4\\x16\\x04\\x6e\\xbc\\x1b\\xcc\\xd2\\x90\\x01\\x48\\x3f\\xab\\x1c\\x60\\x9e\\xd3\\xa4\\x9a\\xa3\\xd4\\xba\\xa2\\xde\\x43\\xab\\xef\\xfd\\x66\\x5a\\xf9\\xfa\\xae\\xcd\\xfc\\x5e\\xd2\\xbf\\xfe\\xef\\xb1\\x44\\xe5\\x5d\\x85\\x25\\x2a\\xae\\x0f\\xe3\\x42\\x2f\\x64\\x80\\x12\\xea\\x52\\x7d\\x67\\xd5\\x6f\\x73\\xa9\\xef\\x40\\x0c\\x69\\x68\\xfe\\x6e\\x96\\xad\\xb1\\xf1\\xbb\\x5d\\xea\\xde\\x66\\x53\\xbf\\x2f\\xe6\\x15\\x8b\\x45\\x80\\x58\\x28\\x16\\x6a\\x6d\\xf5\\xe9\\xfa\\x2c\\x7d\\xa1\\xbe\\x4a\\x5f\\xad\\xef\\xd2\\x5f\\xb7\\xc7\\xd8\\x1b\\xd9\\x5f\\xb4\\x7f\\x65\\xff\\xb9\\xd1\\x2b\\x49\\x5b\\x93\\xb6\\x27\\xfd\\xe1\\x8c\\x73\\x36\\x72\\x16\\x38\\xfb\\x39\\x87\\x3a\\x3d\\xce\\xe1\\xce\\x91\\xce\\x05\\xce\\x7d\\xce\\xe7\\x9c\\xef\\x38\\x3f\\x76\\x7e\\xe7\\xfc\\xd9\\xe9\\x75\\x45\\xb8\\xe2\\x5c\\x29\\xae\\x74\\x57\\x0b\\x57\\x4b\\x57\\xae\\xab\\x83\\xab\\xa3\\xab\\xb3\\xab\\xbb\\x6b\\x94\\x6b\\xba\\x6b\\x91\\x6b\\x83\\xeb\\x51\\xd7\\xf7\\xc9\\xf6\\xe4\\x98\\xe4\\x84\\xe4\\x94\\xe4\\xf4\\xe4\\x16\\xc9\\xfd\\x93\\x07\\x27\\x8f\\x4a\\x5e\\x96\\xbc\\x31\\x79\\x4f\\x8a\\x96\\x12\\x90\\x12\\x91\\x12\\x9d\\x12\\x97\\xd2\\x20\\xc5\\x99\\xd2\\x34\\x25\\x33\\xa5\\x67\\x4a\\x79\\xca\\xb8\\x54\\x2d\\x35\\x32\\x35\\x39\\x4d\\xa4\\x69\\x69\\xa1\\x69\\x91\\x69\\xb1\\x69\\xf5\\xd2\\x1a\\xa6\\x35\\x4e\\xcb\\x4a\\xcb\\x4d\\xeb\\x98\\x36\\x25\\x6d\\x71\\xda\\xb2\\xb4\\x95\\x69\\xab\\xd3\\xd6\\xa7\\xed\\x4a\\xbb\\x3f\\xed\\xe1\\xb4\\x43\\x69\\x87\\xd3\\x9e\\x4b\\x7b\\x2d\\xed\\x8d\\xb4\\x8f\\xd2\\xce\\xa6\\x77\\x4c\\x77\\xa7\\x77\\x4d\\x2f\\x4b\\x1f\\x9b\\x3e\\x3e\\x7d\\x72\\xfa\\xf4\\xac\\xa9\\x59\\x73\\x5a\\x24\\xdc\\x9d\\x7c\\xf7\\xea\\xf3\\xda\\xf9\\xb6\\xe7\\x3b\\x9e\\xef\\x7c\\xbe\\xcb\\xf9\\xee\\xe7\\x07\\x78\\x53\\x7d\\x3e\\xe3\\x37\\xd2\\x76\\x6a\\xed\\xf4\\x2a\\xfd\\x6a\\x7d\\x19\\xfe\\xdf\\xa8\\xdf\\xa1\\xbf\\x69\\x6f\\x60\\x5f\\x67\\x7f\\xd3\\xfe\\x7d\\x23\\xd1\\xc8\\x8b\\xff\\x3b\\x9d\\xc2\\x59\\xcf\\xe9\\x72\\xf6\\x74\\x16\\x59\\xfe\\x8f\\x76\\x2e\\x76\\x3e\\xe6\\x7c\\xc1\\xf9\\xbe\\xf3\\x13\\xe7\\x8f\\xce\\x5f\\x5d\\xa1\\xae\\x68\\x57\\x02\\xfe\\x37\\xc3\\xff\\xd6\\xae\\xf6\\x17\\xfd\\x9f\\x84\\xff\\x6b\\x5d\\x3b\\x2d\\xff\\xe3\\x2d\\xff\\xfb\\x25\\x0f\\x4a\\x1e\\x8e\\xff\\x6b\\x2f\\xfa\\x1f\\x85\\xff\\xf5\\x53\\x92\\x2c\\xff\\xcb\\x52\\x2a\\x0c\\xff\\x5d\\xff\\xe0\\x7f\\xd1\\x45\\xff\\xd7\\xa6\\xed\\x4c\\xbb\\xf7\\xa2\\xff\\xaf\\xe0\\xff\\x87\\xf8\\xdf\\xe1\\xa2\\xff\\xe3\\xd2\\x27\\xe1\\x7f\\x59\\xd6\\x4c\\xfc\\x4f\\xb8\\x7b\\xe5\\x79\\x79\\xbe\\xd1\\xf9\\x76\\xf8\\xef\\x3e\\xdf\\xed\\x7c\\xa1\\xd7\\xe5\\xf3\\xf9\\x4e\\xf9\\x9e\\xf1\\x3d\\xed\\x7b\\xc2\\x77\\xd0\\xb7\\xcf\\xf7\\x88\\xef\\x61\\xdf\\x5e\\x5f\\xb5\\xef\\x5e\\x5f\\x9e\\x2f\\xdb\\xd7\\xec\\x0b\\x67\\xcd\\xb9\\x9a\\xaf\\x6a\\xbe\\xac\\x39\\x55\\xf3\\x79\\xcd\\x67\\x35\\x9f\\xd4\\x7c\\x5c\\x73\\xac\\xe6\\xa3\\x9a\\x0f\\x6b\\x3e\\xa8\\x79\\xaf\\xe6\\xdd\\x9a\\x77\\x6a\\xde\\xaa\\x79\\xb3\\xe6\\xf5\\x9a\\xa3\\x35\\x47\\x6a\\x9e\\xac\\x79\\xa2\\xe6\\x50\\xcd\\xfe\\x9a\\xc7\\x6a\\x1e\\xad\\xd9\\x5b\\x53\\x5d\\xf3\\x50\\xcd\\xbd\\x35\\xeb\\x6a\\x56\\xd4\\xcc\\xa9\\x99\\x50\\x33\\xa2\\x26\\xa5\\x26\\xbc\\x46\\x9e\\xf5\\x9d\\xfd\\xe5\\xec\\x8f\\x67\\xbf\\x3e\\x7b\\xf4\\xec\\xcb\\x67\\x9f\\x3d\\xbb\\xfd\\xec\\xfa\\xb3\\x4b\\xce\\x36\\x39\\x9b\\x76\\xb6\\xd1\\xd9\\x86\\x67\\x1b\\x9c\\x4d\\x38\\x1b\\x7b\\x36\\xe4\\x6c\\xf0\\x99\\x6f\\xcf\\x7c\\x70\\xe6\\xbd\\x33\\xed\\xcf\\x64\\x9d\\x69\\x74\\x2a\\xff\\x54\\xe7\\x53\\x6d\\x4e\\xb5\\x3e\\x95\\x7d\\x2a\\xeb\\x54\\xd3\\x53\\x29\\xa7\\x12\\x4f\\xc5\\x9e\\x0a\\x3b\\xf9\\xe7\\xc9\\x9a\\x93\\xa7\\x4f\\x7e\\x7e\\xf2\\xd3\\x93\\x1f\\x9f\\x7c\\xe3\\xe4\\x8b\\x27\\x9f\\x39\\xf9\\xf8\\xc9\\x43\\x27\\x1f\\x39\\xf9\\xe0\\xc9\\xfb\\x4f\\xee\\x3e\\xb9\\xe5\\x64\\xc1\\xc9\\xae\\x27\\xbb\\x9c\\x6c\\x7c\\x32\\xe5\\x64\\xf2\\xc9\\xa4\\x93\\x89\\xc7\\x33\\x8f\\x37\\x39\\x76\\x7d\\xf9\\xaa\\xf2\\xc6\\x61\\xd5\\x61\\x9b\\xc2\\x36\\x86\\x6d\\x08\\x5b\\x1f\\x76\\x73\\xd8\\xba\\xe0\\xa7\\xad\\xdf\\x98\\xfc\\xff\\xef\\x4f\\x80\\x16\\xac\\x0a\\x29\\xfe\\x83\\x09\\xa9\\xbe\\xc9\\x30\\x7e\\xb4\\x7f\\xd1\\x61\\xf6\\xd4\\x85\\x4d\\xd8\\x99\\x4d\\x1c\\x22\\x50\\x04\\x89\\x60\\x11\\x22\\x42\\x59\\x17\\xc2\\x45\\x84\\x88\\x14\\x51\\x22\\x5a\\xc4\\x88\\x58\\x11\\x27\\xe2\\x45\\x82\\xa8\\x27\\xea\\x8b\\x06\\x22\\x91\\x59\\xa8\\x91\\x48\\x12\\x4e\\x46\\x5f\\xb2\\x48\\x11\\xa9\\xa2\\xb1\\x48\\x13\\xe9\\x22\\x43\\x34\\x11\\x4d\\x45\\x33\\x91\\x29\\xb2\\x44\\x73\\xd1\\x42\\x64\\x8b\\x96\\xa2\\x95\\x68\\x2d\\x72\\x44\\xae\\x68\\xc3\\xcc\\x9c\\x27\\xda\\x89\\xf6\\xa2\\x83\\xb8\\x82\\x95\\xbb\\x93\\xe8\\x2c\\xf2\\x85\\x5b\\x74\\x11\\x5d\\x45\\x37\\xd1\\x5d\\x14\\x88\\x42\\xd1\\x43\\xf4\\x64\\x2e\\xec\\x2d\\xfa\\x88\\xbe\\xa2\\x9f\\xe8\\xcf\\x9c\\x58\\x24\\x8a\\xc5\\x40\\xf6\\x8a\\x83\\x45\\x89\\x18\\x22\\x86\\x8a\\x52\\xe1\\x11\\xc3\\xc4\\x70\\x66\\xc8\\x91\\x62\\x94\\x18\\x2d\\xca\\x44\\x39\\xf8\\x57\\x88\\xeb\\xc4\\xf5\\xe2\\x06\\xb1\\x5e\\x6c\\x11\\xdb\\xc5\\x1d\\xe2\\x76\\xb1\\x5b\\xdc\\x25\\xee\\x14\\x77\\x8b\\x7b\\xc4\\x7d\\xe2\\x5e\\x71\\xbf\\x78\\x40\\x3c\\x24\\x1e\\x64\\xbd\\xdc\\x2b\\x1e\\x11\\x8f\\x8a\\x7d\\xe2\\x31\\x71\\x40\\xec\\x17\\x87\\xc5\\xe3\\xe2\\x09\\xf1\\xa4\\xe3\\x13\\x71\\x15\\x6b\\xea\\x38\\x71\\xa5\\xe3\\x33\\x31\\x57\\xec\\x12\\x33\\xc4\\xe4\\xc0\\x04\\x31\\x5b\\x4c\\x0a\\xcc\\x13\\x2b\\xc5\\xad\\x81\\xad\\x45\\x65\\x60\\xfb\\xc0\\x0e\\x62\\x82\\x98\\x13\\xd8\\x2c\\xb0\\x79\\x60\\x96\\x3e\\x33\\xb0\\x8d\\x98\\x22\\xe6\\xeb\\xc3\\xc4\\x1e\\x71\\x48\\x2c\\x11\\x63\\xc5\\xb4\\xc0\\x56\\x72\\x70\\x60\\xdb\\xc0\\x4c\\x31\\x55\\x2c\\x70\\x9c\\x10\\x63\\xc4\\xb5\\x62\\xb9\\xd8\\x2c\\x63\\x65\\x9c\\xe3\\x2d\\xc7\\xdb\\x8e\\x8f\\x1c\\xc7\\x1c\\xef\\x39\\xde\\x17\\x07\\x03\\xe7\\x8a\\xa7\\x65\\x07\\xc7\\xb7\\x81\\x81\\x8e\\xaf\\x1c\\x5f\\x07\\xee\\x0d\\x7c\\xd8\\xf1\\xa9\\x98\\xe7\\xf8\\xc0\\xf1\\xb1\\xe3\\xac\\x58\\x26\\x56\\x8b\\xa5\\x62\\x8d\\x58\\x25\\x6e\\x12\\x6b\\xc5\\x3a\\x71\\xa3\\xd8\\x28\\x36\\xe1\\xe1\\x06\\xb1\\x4d\\xdc\\x26\\xb6\\x8a\\x9f\\xb4\\xeb\\xb4\\xdb\\xc4\\x4c\\xed\\x16\\xed\\x56\\x6d\\xab\\xb8\\x5a\\xdb\\xae\\x6d\\xd3\\x58\\xa1\\xdd\\x3d\\x86\\x0f\\xf3\\x94\\x96\\x0c\\x1e\\x34\\xb0\\xb8\\x68\\x40\\xff\\x7e\\x7d\\xfb\\xf4\\xee\\xd5\\xb3\\x47\\x61\\x41\\xf7\\x6e\\x5d\\xbb\\xb8\\xf3\\x3b\\x77\\xea\\x78\\x45\\x87\\xf6\\xed\\xf2\\xda\\xb6\\x69\\xd5\\x32\\xbb\\x45\\xf3\\xac\\x26\\x19\\xe9\\x69\\x8d\\x53\\x53\\x92\\x9d\\xf5\\x62\\xa3\\x22\\x23\\xc2\\xc3\\x42\\x82\\x83\\x02\\x1d\\x01\\x76\\x9b\\xae\\x49\\x91\\xe5\\xaa\\x96\\x65\\x05\\xd5\\x7a\\x9a\\x2b\\xaa\\xb0\\x3c\\xb5\\x20\\xb5\\xbc\\x67\\xf3\\x2c\\x57\\x41\\xbd\\x89\\xdd\\x9b\\x67\\x15\\xa4\\x16\\x96\\x55\\xbb\\xca\\x5d\\xd5\\x14\\xb6\\xf4\\xd4\\x9e\\x3d\\x8d\\xaa\\xd4\\xf2\\x6a\\x57\\x99\\xab\\x3a\\x9d\\xa2\\xbc\\x4e\\x75\\x59\\xb5\\x9b\\x96\\xe3\\x2f\\x6b\\xe9\\x36\\x5b\\xba\\x2f\\xb6\\x94\\x91\\xae\\x8e\\xa2\\xa3\\x32\\x91\\xea\\xaa\\x3e\\xda\\x3d\\xd5\\x75\\x40\\x0e\\x2b\\x2e\\xe5\\x7a\\x4d\\xf7\\x54\\x8f\\xab\\xfa\\x1b\\xe3\\xba\\x9f\\x71\\x6d\\x4b\\x37\\x6e\\xc2\\xb8\\x49\\x4e\\xa6\\x87\\x81\\x4a\\xa1\\x75\\x15\\x54\\x17\\xce\\x9e\\xb8\\xaa\\xa0\\x0c\\x8c\\x72\\x6f\\x48\\x70\\xb7\\xd4\\x6e\\xe3\\x82\\x9b\\x67\\x89\\xbd\\xc1\\x21\\x5c\\x86\\x70\\x55\\xdd\\x24\\x75\\xc6\\x5e\\xd9\\xa4\\xb3\\x34\\x2e\\xb4\\x26\\x05\\x1d\\xf6\\x6a\\x22\\x30\\x4c\\x99\\xc5\\xd3\\x82\\xf2\\x8a\\xea\\xa2\\xe2\\xd2\\x82\\xee\\x89\\xc9\\xc9\\x9e\\xe6\\x59\\xbd\\xaa\\xc3\\x53\\xbb\\x1b\\x8f\\x44\\x37\\x43\\x65\\x75\\x40\\xb7\\x6a\\x87\\xa1\\xd2\\x75\\xa5\\x82\\x2e\\x6e\\x70\\xed\\xcd\\x3a\\xb2\\x6a\\xf5\\x81\\x48\\x31\\xa6\\x2c\\x33\\xb4\\x22\\xb5\\xa2\\x7c\\x44\\x69\\xb5\\x5e\\x4e\\xdf\\x55\\x7a\\xc1\\xaa\\x55\\xd7\\x55\\x47\\x65\\x56\\x37\\x4d\\xed\\x5e\\xdd\\xf4\\xea\\xd3\\xf5\\xf0\\x7c\\x5c\\x75\\x56\\x6a\\xf7\\x82\\xea\\x4c\\xa5\\xb5\\xcf\\xc0\\x8b\\x76\\xfa\\x5c\\x32\\x29\\xab\\xed\\x69\\x2c\\x17\\xab\\x7e\\x11\\xb8\\x93\\xfa\\xcd\\xb9\\xbf\\xd6\\x94\\x5b\\x35\\x01\\x69\\x91\\xbf\\x08\\x75\\x59\\xad\\x75\\xab\\x96\\x03\\x4b\\x93\\xd5\\x4f\\x62\\x21\\x5c\\xaf\\x5a\\x55\\x98\\xea\\x2a\\x5c\\x55\\xb6\\xaa\\xfc\\x80\\x6f\\xf1\\x98\\x54\\x57\\x64\\xea\\xaa\\xbd\\xa1\\xa1\\xab\\x66\\x14\\x40\\xb7\\x28\\x2a\\x45\\xc5\\x01\\xdf\\xa1\\x1b\\x12\\xab\\x0b\\x57\\x7b\\xaa\\x23\\xcb\\x26\\xca\\x0e\\x1e\\xcb\\xf5\\xc2\\x81\\x7d\\xaa\\x63\\x8a\\x87\\x97\\x56\\x6b\\x69\\x85\\xae\\x89\\xe5\\xd4\\xf0\\xff\\xfc\\xd4\\xe4\\x76\\x89\\xc9\\x51\\x17\\xdb\\x14\\xfd\\xd3\\x63\\x01\\x2d\\x90\\x03\\xc3\\xc9\\xc9\\x8a\\x86\\x1b\\x0e\\xb8\\xc5\\x18\\x6e\\xaa\\x17\\x17\\x97\\x9a\\xf7\\x2e\\x31\\x26\\xf1\\x61\\xe1\\xce\\xce\\xf4\\x54\\x6b\\x65\\xea\\xc9\\x11\\xff\\x93\\xb8\\x12\\xf5\\x64\\xb1\\xff\\xc9\\xc5\\xee\\x65\\xa9\\xc4\\xb6\\xcf\\xa0\\xd2\\x55\\xd5\\xb6\\xb4\\x5e\\x15\\xa9\\x05\\x30\\x7e\\x43\\x79\\xf5\\xe2\\x31\\x64\\xd7\\x24\\x15\\x98\\xd4\\xc8\\xea\\xf0\\x5f\\x13\\x93\\x53\\x57\\x45\\x47\\xb9\\xda\\x67\\x7b\\x8c\\xb6\\x2e\\x50\\xf5\\xaa\\xb8\\xd2\\x55\\x6d\\x4f\\x87\\x24\\x7a\\xd5\\xed\\x40\\xde\\xa8\\x2e\\xab\\x22\\x8d\\x9b\\xf0\\x5f\\xcd\\xe2\\x9b\\x44\\x0c\\xa4\\x47\\x45\\xbb\\xda\\xa7\\xa2\\x46\\xe9\\x29\\x48\\x2d\\x28\\xb3\\xfe\\x3f\\x7b\\x62\\x3d\\x14\\xb8\\x20\\xba\\x67\\xa6\\x99\\x08\\x83\\x4b\\xab\\xdd\\xdd\\xb9\\x70\\x97\\x5b\\x11\\x2b\\xd8\\xdb\\x32\\x9b\\x1e\\xe5\\x65\\x04\\xec\\xca\\xee\\x46\\x30\\xab\\xb3\\x53\\x67\\x54\\xc7\\xa6\\x76\\xbd\\x18\\x5d\\x05\\xab\\xe0\\xca\\x41\\xa5\\x46\\x17\\xab\\x5b\\x75\\x6c\\xb7\\x6a\\x51\\x36\\xd6\\xea\\x55\\x9d\\x5d\\x60\\x8c\\x2b\\x57\\xc1\\xaa\\xb2\\xee\\x26\\x04\\xa5\\x2b\\xb5\\xb8\\xf4\\xa0\\xc8\\xf1\\x9d\\xd8\\x9b\\xeb\\x4a\\x7c\\x44\\x4d\\x9d\\x9e\\xee\\xaa\\x71\\x7c\\x37\\xb2\\x2c\\xbd\\x60\\x55\\x69\\xc5\\xf8\\x6a\\x67\\x59\\x62\\x05\\xe3\\x6e\\xbc\\xab\\x34\\x31\\xb9\\xda\\xed\\x21\\xc2\\x9e\\xd4\\xd2\\x71\\x1e\\x95\\x76\\x30\\xd4\\xf4\\x44\\xa2\\x91\\x1c\\x1e\\x23\\x57\\x06\\x97\\xf6\\x19\\x94\\xda\\xa7\\x78\\x58\\x69\\x3b\\x0b\\x88\\xf9\\x40\\xa9\\xb3\\xa5\\x15\\x5c\\xa6\\x26\\xb5\\x34\\xd1\\x54\\x43\\x02\\x56\\x07\\xa6\\x05\\xba\\x4a\\xb5\\x44\\xdd\\x43\\xc3\\x48\\x2a\\x5c\\x85\\x5c\\xa4\\x76\\xed\\xc8\\x67\\xb5\\x23\\x2d\\x10\\x89\\x84\\x70\\xa3\\x56\\x25\\x6e\\xd7\\x8e\\xae\\x52\\x99\\x28\\xfc\\xad\\x81\\x51\\xdd\\xd4\\x55\\x30\\xae\\xbb\\xd5\\x4e\\xdd\\xff\\x45\\xa9\\x5d\\xa5\\x53\\xb7\\x9e\\x7e\\x6d\\x01\\xea\\x16\\x3d\\xdd\\x7a\\x26\\x26\\x7b\\x92\\xcd\\x9f\\xe6\\x59\\x1a\\x8f\\x5d\\x96\\x61\\x7a\\x04\\x2a\\x52\\x7b\\xfa\\x1f\\x31\\x4d\\xf1\\x20\\x90\\xfc\\xec\\xd6\\xd3\\xa8\\x52\\x5c\\xd6\\x53\\x49\\xef\\x2a\\x4d\\x1d\\x97\\xea\\x49\\x9d\\xe8\\xaa\\x76\\x17\\x95\\x2a\\xdf\\x14\\x3d\\x06\\xcb\\x16\\x19\\x06\\xe7\\x56\\xac\\x06\\xff\\xe5\\xae\\x0e\\x59\\xd0\\x24\\x92\\x79\\xec\\xbf\\x51\\x64\\x56\\x17\\x66\\x26\\xd6\\x25\\xb7\\xba\\x87\\x71\\x7f\\xf1\\xb6\\xe7\\x65\\x8f\\x7b\\xf9\\x1f\\xbb\\x56\\x05\\xa6\\xf6\\x19\\xb4\\x4a\\x29\\x4f\\xb5\\x14\\x0a\\x90\\xf7\\xaa\\x16\\x2a\\x85\\xdd\\xed\\xa2\\x12\\x8d\\xb9\\x40\\x0d\\xe8\\x54\\xe6\\x5e\\x57\\x24\\x43\\xda\\x18\\xd0\\xab\\xf6\\xba\\xdd\\x6a\\x30\\x4f\\xec\\xa0\\x94\\xa4\\xf6\\xaa\\x58\\x95\\x3a\\xa8\\xb4\\xa3\\xd1\\x9a\\xf9\\x64\\x41\\xe2\\xd5\\xca\\x56\\xb4\\xe8\\x23\\xfb\\x0c\\xee\\xda\\x3c\\x8b\\xa9\\xad\\xeb\\xde\\x54\\xb9\\xb2\\x78\\xaf\\x5b\\xae\\x1c\\x34\\xac\\xf4\\x60\\x24\\x7b\\xe4\\x95\\x83\\x4b\\x1f\\xd6\\xa4\\xd6\\xad\\xac\\xab\\x67\\x6f\\x63\\x9e\\x95\\x1e\\x74\\xb1\\x68\\x18\\xb5\\x9a\\xaa\\x55\\x95\\xea\\xc6\\xa5\\x6e\\x94\\xa6\\x81\\xdc\\x04\\x1a\\xed\\x13\\x0f\\xba\\x85\\x58\\x6c\\x3c\\xb5\\x19\\x15\\xc6\\xfd\\xd8\\x03\\x52\\x18\\x75\\x81\\xfe\\x3a\\x29\\xc6\\x1e\\xd0\\xcc\\xba\\x48\\xd3\\x50\\xba\\x61\\xc8\\xcd\\x1e\\x64\\xec\\x01\\x9b\\xf9\\xc4\\xed\\x6f\\x6d\\xa3\\x2e\\xd0\\xac\\x5b\\x6c\\xd4\\x19\\x3f\\x7b\\x85\\xa2\\xcc\\x1d\\x6c\\x77\\x07\\xba\\x83\\xdc\\xa1\\x5a\\x98\\x96\\xb8\\x57\\xaa\\xaa\\x87\\xa9\\x39\\xa4\\xfe\\xdd\\x8b\\x14\\x8f\\x84\\xca\\x30\\x99\\xb8\\x97\\x5e\\x03\\x8d\\xea\\x03\\x72\\xf1\\xde\\x20\\x77\\xa2\\xd9\\x62\\x31\\x2d\\xdc\\x26\\xc2\\x95\\x25\\x97\\x4c\\x97\\x0c\\x2b\\x7d\\x84\\x1d\\x8d\\x4c\\x34\\x3e\\x31\\xd4\\x55\\xfd\\x90\\x2e\\xf5\\x26\\x12\\x6c\\x96\\x95\\x02\\x57\\x85\\x4a\\x94\\xf9\\x9e\\x89\\xab\\xca\\x3c\\x6a\\xb0\\x89\\x78\\x42\\xc3\\xff\\x65\\xb5\\x4c\\xed\\x4c\\x98\\x52\\x3b\\x03\\x24\\x20\\xb4\\x3a\\x38\\x75\\x5c\\xd7\\xea\\x90\\xd4\\xae\\xaa\\x3e\\x5f\\xd5\\xe7\\x9b\\xf5\\x01\\xaa\\xde\\x41\\x8a\\xca\\x78\\x49\\xf7\\xc5\\xc4\\xbe\\xa8\\x5a\\xaa\\x0c\\x18\\x5e\\x9a\\xcc\\x90\\x74\\x35\\x78\\x39\\x71\\x55\\xe4\\x37\\x2a\\x52\\x1e\\x26\\x95\\x55\\x91\\x67\\x9a\\x77\\x19\\x28\\x47\\x0a\\x29\\x87\\x8a\\x12\\x39\\xc2\\x2a\\xcb\\xe4\\x28\\x76\\x5a\\x4e\\x39\\x9a\\x92\\x43\\x8b\\xf4\\x88\\x1c\\x59\\x4a\\xfd\\x10\\x4a\\x9e\\x8b\\xdd\\x7c\\xfe\\x8c\\xb0\\xab\\x93\\xbd\\xc5\\x5a\\x44\\x13\\xa3\\xf9\\x7c\\xca\\xb8\\xf2\\xf1\\x29\\x45\\x19\\x9f\\x33\\xac\\xa7\\xba\\xd1\\x2e\\x12\\x69\\xa9\\xee\\x64\\x27\\xd1\\x49\\x76\\x44\\x5f\\x47\\xec\\x75\\xa0\\xbc\\x82\\x7b\\x55\\xb6\\xa7\\x6c\\x47\\xd9\\x8e\\xfa\\xb6\\x94\\x79\\xdc\\xab\\xb2\\x8d\\xcc\\x7d\\x78\\xb1\\x53\\x74\\x09\\x96\\xb9\\x68\\xc9\\x15\\x9a\\x21\\x2d\\x78\\x92\\x23\\x5b\\xf3\\x64\\x71\\x17\\x97\\x6c\\x4d\\x9f\\xd6\\x56\\x6d\\x2b\\xfa\\xb5\\x04\\x67\\x04\\x9f\\x12\\x31\\x6b\\xb3\\xa9\\xa5\\x14\\x2e\\x3e\\xcb\\x10\\x85\\xbe\\x85\\x71\\xc7\\xf3\\x87\\xa5\\x28\\x39\\x20\\x9b\\x3f\\xdc\\x49\\x15\\x59\\x2c\\x09\\xce\\x27\\x64\\x37\\xd9\\x55\\xf8\\x70\\xbf\\x8b\\x74\\xbb\\xdb\\xfb\\x9c\\x91\\xb5\\xf2\\x87\\xc2\\x86\\xce\\xef\\x91\\x37\\xbe\\x91\\xf9\\x5f\\xcb\\x2f\\xce\\x34\\x76\\xd6\\x9c\\x69\\xe2\\x3c\\x4b\\xb9\\xf3\\x8c\\x3c\\x72\\xe6\\xcd\\x33\\xda\\xa9\\x93\\x29\\xce\\xa2\\x93\\x65\\x27\\x4f\\x9c\\xd4\\x3f\\x3f\\x91\\xe1\\xfc\\xec\\x84\\x3c\\x2c\\x63\\x45\\x67\\x19\\x0d\\x80\\x18\\x77\\x48\\x27\\xbd\\xe4\\xb3\\x4e\\x9f\\x94\\x7c\\xda\\xe9\\x78\\x49\\x97\\x06\\x32\\x1e\\x74\\x71\\x20\\x12\\x7c\\x4a\\xf1\\x90\\xf1\\xe9\\xe2\\xb3\\x08\\x29\\x43\\x74\\x3c\\x88\\x33\\x36\\xd6\\xd1\\x30\\x17\\x0d\\xce\\xe8\\x87\\xa5\\x0e\\xc0\\x28\\x77\\x23\\xdd\\xe7\\xfc\\x44\\x1e\\x2f\\x71\\x1d\\x2f\\x3a\\xbe\\xf8\\x78\\xf5\\x71\\x5b\\xc4\\x71\\x19\\xf1\\xaa\\xf3\\x55\\xed\\xf1\\x43\\xf5\\x9d\\x2d\\x0f\\xc8\\x04\\x77\\x0b\\x59\\xb4\\x7f\\xf1\\x7e\\xed\\xcd\\x47\\x64\\xc4\\x23\\xb2\\xe8\\x81\\xb2\\x07\\x4e\\x3c\\xf0\\xfd\\x03\\xb6\\xfb\\xef\\x8d\\x74\\x16\\xdd\\x5b\\x76\\xef\\x89\\x7b\\xbf\\xbf\\xd7\\xb6\\xb3\\xf5\\x8e\\x12\\xb1\\x23\\x72\\x87\\x6b\\x87\\xbe\\xf3\\x71\\x39\\x48\\x48\\xdf\\x11\\x39\\xc8\\x1d\\x13\\x12\\x5e\\x98\\xbd\\x5d\\x16\\x6d\\x93\\x8b\\xb6\\xca\\xc5\\x5b\\xd6\\x6e\\xd9\\xb9\\x45\\x3f\\xe0\\x3b\\xe2\\x7e\\x76\\x4b\\x70\\x78\\x61\\xc4\\x66\\x99\\xbd\\x59\\x2e\\xda\\x24\\xc5\\xa6\\xc8\\x4d\\x65\\x9b\\xf4\\xd1\\xeb\\xe5\\xda\\x9b\\xe5\\x9a\\xd5\\xa1\\xce\\x88\\xd5\\xce\\xd5\\xd9\\xab\\x75\\xf7\\x75\\x52\\xac\\x88\\x5c\\x51\\xb4\\x42\\xcf\\x5e\\x9e\\xbf\\x5c\\x5b\\xb6\\x34\\xc6\\xd9\\x72\\xa9\\x5c\\x32\\xd5\\xe7\\x5c\\x0c\\xe4\\x59\\x95\\x2e\\x67\\x55\\x65\\x7d\\x67\\x65\\x51\\xb4\\xf3\\xaa\\x69\\x39\\xce\\x99\\xd3\\x7c\\xce\\xe9\\x85\\xad\\x9d\\xd3\\x90\\x06\\xb2\\x5e\\x49\\xfd\\x9c\\x7a\\x25\\x8e\\x1c\\xbd\\x24\\x80\\xb6\\x4d\\xa7\\xca\\x29\\x14\\x63\\x46\\x37\\x76\\x96\\x23\\x65\\xc8\\xe8\\xa2\\xfa\\xce\\x51\\x85\\x0d\\x9c\\x8b\\xbe\\x94\\xdf\\x7f\\x29\\x87\\x7c\\x35\\xfe\\x2b\\x2d\\xf0\\x2b\\xf9\\x55\\x61\\xbc\\x73\\xc0\\x48\\x39\\x82\\xc0\\x0c\\x47\\xcf\\xb0\\x42\\x97\\x33\\x56\\x46\\x97\\xc4\\xb4\\x8e\\x2e\\xb1\\x43\\x97\\xad\\xb5\\x5e\\x12\\xa1\\xcb\\x4d\\x9e\\xbb\\x3c\\xda\\x41\\xd9\\x43\\x16\\x3e\\xdc\\xc0\\x69\\x3b\\x20\\x0b\\xdd\\xd7\\xca\\x41\\xc0\\x18\\x88\\x14\\x17\\x25\\x39\\xdd\\x03\\x5c\\xa9\\x85\\xae\\x01\\xf5\\x93\\x0a\\xbf\\xef\\x2f\\x6f\\xea\\x27\\x7d\\xfd\\x64\\x9f\\xc2\\xa6\\xce\\x88\\xde\\xb2\\x57\\x61\\x9a\\xb3\\x67\\x61\\xaa\\xb3\\x47\\x61\\x8c\\x33\\xa2\\x70\\x51\\xe1\\x77\\x85\\xbe\\x42\\x5b\\xc3\\x8a\\xc4\\x92\\x04\\x19\\x57\\x12\\xdf\\x3a\\xae\\x24\\x4a\\x46\\x94\\x44\\xb6\\x8e\\x28\\x61\\xe3\\x5a\\x42\\x12\\x96\\x38\\x23\\xf2\\x23\\x46\\x47\\x2c\\x8a\\xb0\\x45\\x44\\x64\\x47\\x0c\\x88\\x98\\x1e\\x71\\x53\\xc4\\x67\\x11\\xbe\\x08\\x47\\x3e\\x75\\xdf\\x45\\xe8\\xd3\\x85\\x1c\\x20\\xe4\\xe2\\x78\\x69\\x97\\x07\\xe4\\xda\\xbd\\x83\\x07\\x65\\x66\\xf6\\x39\\xe0\\xf0\\xb1\\x09\\x0a\\x2a\\x1a\\x5e\\x2d\\x57\\x56\\xa7\\x0d\\x52\\x9f\\xee\\xe2\\x61\\xd5\\x01\\x2b\\xab\\x45\\xc9\\xb0\\xe1\\xa5\\x7b\\xa5\\xbc\\xd1\\xb3\\x7c\\xcd\\x1a\\xd1\\xb5\\x51\\x9f\\xea\\xd6\\x83\\x4a\\xab\\xcb\\x1a\\x79\\xfa\\x54\\x57\\x70\\xe1\\x56\\x17\\x8b\\xb9\\x88\\x6c\\xb4\\x37\\x5e\\x74\\xf5\\x54\\x56\\x55\\x56\\xcd\\xca\\x34\\x7f\\x64\\x15\\x1f\\x55\\x22\\xb3\\x6a\\x56\\xa5\\x71\\x5f\\x95\\x29\\x2b\\x85\\x71\\x29\\x91\\xca\\xcc\\x2a\\xda\\x0a\\xb3\\xa9\\xbf\\x56\\xf8\\xbb\\x56\\x66\\x56\\x56\\xaa\\xc6\\x95\\x95\\x52\\xa9\\xcc\\xe4\\xba\\x52\\xdd\\xa9\\x27\\xea\\x92\\xab\\xaa\\x4a\\xd5\\x4b\\x5d\\x56\\xf9\\xcd\\xa9\\x67\\x55\\x46\\x77\\x51\\xa9\\xb4\\x99\\x76\\x55\\x55\\xa5\\xff\\xff\\x66\\x0d\\x7d\\x2c\\x50\\x99\\xf5\\x84\\xb0\\xbf\\xc6\\x29\\x6e\\x81\\xbd\\x80\\xd3\\xdd\\x3c\\xe3\\xf3\\x2f\\x3f\\xb6\\x0e\\xcc\\x46\\x73\\x84\\xf0\\x9d\\x53\\xbf\\x59\\xe0\\xff\\x14\\xc2\\x3b\\xd4\\xf7\\xdb\\xff\\xcd\\xc1\\xf5\\xf2\\x1f\\xf3\\xdf\\x46\\xca\\xfa\\x32\\x5d\\x86\\x0b\\xaf\\x78\\x89\\x81\\x7b\\x4e\\x7c\\x2e\\xde\\x17\\xaf\\x89\\xa7\\x39\\xb1\\xbd\\x63\\xfc\\x2e\\x93\\xf1\\x63\\x7f\\x4d\\xba\\x64\\x96\\xac\\x27\\x6d\\xe2\\xac\\x4c\\x11\\xa7\\xc5\\xcf\\xe2\\xb8\\x78\\xc9\\xfc\\xf7\\x88\\x75\\x7f\\xec\\x05\\x32\\x80\\x93\\x57\\x8a\\x98\\xcc\\x67\\xa0\\x78\\x4b\\x7c\\x2a\\x6a\\xc4\\x0b\\xff\\x69\\x59\\xb5\\x13\\x37\\xc9\\x50\\xd9\\x55\\xee\\x90\\xf3\\xc5\\x4f\\xfe\\x7a\\x19\\xcd\\x1c\\x31\\x4b\\x2c\\xe6\\x0c\\x76\\x1b\\xe7\\xc7\\x37\\xc4\\x71\\x39\\x56\\x8e\\xd0\\xc6\\xc9\\x4e\\xf2\\x4a\\xf5\\x7b\\x5a\\xda\\x26\\x6d\\x9a\\x0c\\xf7\\xfe\\xe8\\xfb\\xf6\\x32\\x85\\x99\\xda\\x12\\xf1\\xb9\\x4c\\x44\\xeb\\xe7\\xe2\\x4b\\xb1\\x41\\xae\\x55\\x95\\x7a\\x7d\\xbc\\xd8\\x22\\x56\\x69\\x77\\x72\\x26\\x2c\\x13\\xaf\\x82\\x5a\\x70\\x3e\\x55\\xa7\\x3a\\x21\\x2b\\xe4\\x5c\\xb1\\x88\\xa7\\xe6\\xcf\\x74\\xb1\\x80\\x33\\x60\\xd5\\x5f\\x74\\x5e\\x2f\\x6e\\xe1\\x73\\xc1\\x5f\\x70\\x5f\\x7b\\x61\\xaf\\x08\\xf1\\xfd\\xcc\\xf9\\xf5\\x55\\x58\\x78\\x87\\x53\\xea\\x46\\x4e\\xbd\\xcb\\x69\\x79\\x4c\\xfc\\xac\\x75\\xc7\\xa6\\xd3\\xf0\\xc3\\xa6\\x7e\\x87\\xcc\\xf8\\x79\\xca\\xdf\\x37\\xe0\\x1e\\x7d\\x86\\x76\\x58\\x0b\\xac\\xbd\\x85\\xf3\\xe5\\x3a\\xce\\xd9\\xfd\\x38\\xfb\\x56\\x78\\xa7\\x7b\\x87\\xfe\\x5d\\x6c\\xec\\x05\\xb5\\x81\\x22\\xd4\\xf7\\xad\\x7d\\xd7\\x85\\x93\\x5a\\xc9\\xdf\\xb5\\xf8\\xdb\\x5e\\xaf\\x8a\\xf0\\x0b\\x49\\xbe\\x1f\\xb4\\xf3\\x22\\xc2\\x16\\x6f\\x8b\\xf7\\xbe\\x23\\x9e\\x22\\xbf\\x42\\x6b\\x03\\x7d\\xe7\\xf4\\xb1\\x22\\xa4\\x36\\xc2\\xf7\\x8b\\x6a\\xe7\\x9d\\xea\\x9d\\xaa\\x5d\\xa3\\x5d\\xe3\\x9d\\x28\\xf6\\xc8\\x0c\\x59\\x5f\\xdc\\x62\\x7b\\x4b\\x7f\\xcb\\xbe\\xc2\\xfb\\x1d\\x27\\xf2\\xfb\\x44\\x7f\\x3c\\x08\\xb7\\x2f\\x95\\xf5\\x03\\x96\\xd8\\xe6\\x88\\x38\\xdb\\x47\\x46\\x16\\x3e\\xef\\x5d\\x44\\x6c\\x8e\\x8a\\x1f\\xa5\\x26\\xde\\xbb\\x68\\xb2\\xdd\\x65\\xb2\\x18\\x39\\x42\\xff\\xd5\\x42\\x68\\xb0\\xab\\xcf\\x20\\x9f\\xe7\\x23\\xbb\\x11\\x72\\xd8\\x4e\\x1b\\xfb\\x32\\xe4\\x25\\x84\\x78\\x04\\x34\\x44\\xe0\\x4d\\xfd\\x7b\\x62\\xf5\\x6f\\x96\\x1d\\x44\\x2e\\x90\\xba\\xc0\\x13\\xec\\x3a\\x46\\x08\\x11\\x4c\\x92\\x06\\xbf\\x26\\x44\\x08\\x75\\x21\\x5f\\x08\\x11\\xba\\x07\\x41\\x4f\\x58\\x2e\\x32\\x17\\xa1\\x5d\\x78\\x13\\xe4\\x4d\\x21\\x22\\xe9\\x1f\\x89\\xfd\\xa8\\x8e\\xc8\\x61\\x21\\xa2\\xb9\\x8f\\xa6\\x7d\\xf4\\x05\\x21\\x62\\x88\\x79\\x2c\\xba\\x62\\x2b\\x10\\xda\\xc6\\x65\\x21\\x5c\\xc7\\xa1\\x2b\\xbe\\x08\\x01\\x4f\\x02\\xfd\\x12\\x8e\\x0b\\x51\\x6f\\xa2\\x10\\xf5\\xb1\\x57\\xbf\\x0c\\x79\\x57\\x88\\x06\\x5c\\x37\\xd8\\x29\\x44\\x22\\x5b\\xba\\x44\\xea\\x12\\xf7\\x21\\xbf\\x0b\\xd1\\x10\\xfd\\x0d\\x69\\xdb\\x10\\x1b\\x0d\\xdf\\x34\\x7f\\x95\\xb5\\x11\\x18\\x93\\xf0\\xc1\\x49\\x1f\\x27\\x3a\\x5d\\xf8\\xe5\\x3a\\x2d\\x44\\x72\\xb5\\x10\\x29\\x60\\x4e\\x81\\x93\\x54\\x66\\x80\\x54\\x72\\x2d\\x15\\x9e\\x1a\\xc3\\x45\\x63\\xf0\\xa5\\x71\\x9f\\x1e\\x8b\\x80\\x3b\\x03\\x6c\\x19\\xe8\\x69\\x32\\x05\\xa1\\x6c\\xda\\x12\\xa1\\x7f\\x33\\xec\\x37\\xc3\\x56\\x33\\x6c\\x67\\x72\\x9f\\xf9\\xa1\\x10\\x59\\x2b\\x85\\x68\\x8e\\xbe\\xe6\\x70\\xd0\\x1c\\x5b\\x2d\\xe8\\xdb\\x02\\x9f\\xb2\\xc1\\xd0\\x92\\xeb\\x96\\xe8\\x68\\x45\\x2c\\x5a\\x81\\xa5\\x35\\x92\\x83\\xfd\\x1c\\xec\\xe5\\x82\\x25\\x17\\xde\\xdb\\xf4\\x44\\xe0\\xb9\\x0d\\xcf\\xda\\x72\\xdf\\x16\\x3f\\xf2\\xf0\\x35\\x8f\\xb2\\x5d\\x29\\xf2\\x1c\\x02\\x07\\xed\\x69\\xdf\\x9e\\xfa\\x0e\\xd8\\xea\\x40\\x3c\\x3b\\x50\\xdf\\x01\\x1c\\x57\\xc0\\xdd\\x15\\x94\\x1d\\xb1\\xdf\\x91\\xf6\\x1d\\xb1\\xd5\\x11\\xbf\\x3a\\x52\\xd7\\x09\\xfb\\x9d\\xf0\\xbd\\x33\\xb8\\x3b\\xbb\\x11\\xf0\\x75\\x46\\x47\\x67\\xf4\\xe5\\xdb\\x10\\x74\\xe6\\x83\\x2f\\x1f\\x9f\\xdc\\x60\\x70\\xd3\\xd7\\x8d\\xff\\x6e\\xf0\\x77\\x81\\xbf\\x2e\\x7d\\x11\\xe2\\xd9\\x95\\xb8\\x75\\xc5\\xdf\\xae\\xc4\\xba\\x1b\\xba\\xba\\xa1\\xab\\x1b\\x7c\\x75\\x23\\xa7\\xba\\xbb\\x10\\x6c\\x14\\xc0\\x5d\\x01\\xf8\\x0b\\xa8\\x2f\\xa0\\xbe\\x00\\x6e\\x0a\\x43\\x85\\xe8\\x81\\x8d\\x1e\\xc4\\xac\\x07\\x7c\\xf4\\x00\\x57\\x8f\\xef\\x85\\xe8\\x49\\xdc\\x7a\\x0e\\x46\\xe0\\xbe\\x27\\xb1\\xec\\x89\\xbd\\x5e\\xf8\\xdf\\x0b\\xcc\\xbd\\xf1\\xa3\\x37\\x7e\\xf4\\x86\\xd7\\xde\\x07\\x10\\x9e\\xf5\\x41\\x6f\\x1f\\x6c\\xf4\\xc5\\x46\\x5f\\x6c\\xf7\\xc5\\x8f\\xbe\\xd8\\xe8\\x0b\\x47\\xfd\\xb0\\xd7\\x0f\\xfc\\xfd\\xc8\\xd1\\x7e\\xe8\\xee\\x4f\\x9b\\xfe\\xe4\\x78\\x7f\\x78\\xe9\\x4f\\x6e\\xf4\\x87\\xef\\xfe\\xe8\\xee\\x8f\\x9e\\x01\\x60\\x1f\\x00\\x9e\\x01\\xe8\\x1f\\x80\\xfe\\x01\\xe8\\x1f\\x40\\xbe\\x15\\xc1\\x49\\x11\\xfe\\x15\\x53\\x57\\x7c\\x3f\\x82\\xde\\x62\\xc6\\xc6\\x40\\xb8\\x1e\\x48\\x4e\\x0e\\x04\\xff\\x40\\x72\\x7d\\x20\\x3e\\x0c\\x04\\xef\\x40\\x7c\\x1b\\x48\\x0c\\x07\\xe1\\xfb\\x20\\xec\\x0c\\x82\\xa3\\x41\\xe0\\x19\\x84\\x9d\\x41\\x70\\x34\\x18\\x6e\\x07\\xe3\\xc7\\x60\\xda\\x95\\x80\\x75\\x08\\xed\\x86\\xe0\\xc3\\x10\\xf0\\x0c\\x81\\xe3\\x21\\xd8\\x1a\\x42\\x0c\\x86\\xe0\\xef\\x50\\x30\\x0d\\xa5\\xed\\x50\\xf8\\x1f\\x8a\\x1f\\xa5\\xc4\\xac\\x94\\xd8\\x96\\x92\\x77\\x1e\\xf8\\xf3\\xc0\\x95\\x07\\x0c\\x1e\\x6c\\x7b\\xb0\\x3d\\x8c\\xb6\\xc3\\xe0\\x60\\x18\\x3e\\x0c\\x23\\x0f\\x86\\x81\\x7d\\x18\\x7e\\x0c\\x03\\xf3\\x70\\xfc\\x1e\\xae\\xfe\\x5d\\x3e\\x76\\x87\\x83\\x6f\\x04\\x5c\\x8c\\x40\\xdf\\x08\\x30\\x8e\\x80\\xa7\\x91\\xe8\\x1b\\x49\\x7c\\x47\\xe1\\xcf\\x28\\xb8\\x1f\\x85\\xbd\\x51\\xf0\\x36\\x0a\\xde\\x46\\xe3\\xeb\\x68\\xf4\\x96\\x81\\xa7\\x1c\\xfc\\xe5\\xd8\\x29\\x27\\xfe\\xe5\\x8c\\xd1\\x72\\xec\\x94\\x63\\xa7\\x1c\\x5c\\xe5\\xe0\\x1a\\x83\\x9e\\x31\\x8c\\x89\\x31\\xc4\\x70\\x0c\\xbe\\x8f\\xc1\\x9f\\x31\\xc4\\x67\\x2c\\xf6\\xc6\\x62\\x6f\\x2c\\xbe\\x8e\\xc5\\xd7\\xb1\\xf8\\x3a\\x16\\x1e\\x2b\\xe8\\x5b\\x41\\xdf\\x0a\\xfa\\x8e\\xa3\\xef\\x38\\xfa\\x8e\\xa3\\xef\\x38\\x38\\x1d\\x07\\x6f\\xe3\\xe0\\x6d\\x1c\\x18\\xc6\\x83\\x61\\x3c\\xcf\\xc6\\x33\\x26\\xc6\\x93\\x97\\xe3\\xf1\\x79\\x3c\\xfe\\x8c\\xc7\\x9f\\x09\\xf4\\x9b\\xc0\\xb3\\x09\\xf4\\x9b\\x40\\xbf\\x09\\xdb\\x10\\xb0\\x4f\\xc0\\xcf\\x89\\xe0\\xbc\\x12\\xdb\\x57\\xa2\\x7f\\x12\\x78\\x27\\xe3\\xc3\\x64\\xfc\\x9b\\x82\\x0f\\x53\\x68\\x37\\x95\\xe7\\x53\\x69\\x37\\x0d\\x1d\\xd3\\xc8\\x87\\xe9\\x3c\\x9f\\x0e\\x67\\x33\\xa8\\x9f\\x01\\xae\\x99\\xf0\\x71\\x15\\x6d\\xaf\\x02\\x67\\x25\\x7c\\x57\\x12\\xc3\\x2a\\xf0\\xcf\\x62\\x0c\\xcc\\xc2\\x9f\\x59\\xf8\\x37\\x9b\\xe7\\xb3\\xc1\\x3a\\x87\\xba\\x39\\xf8\\x35\\x17\\x8c\\x73\\xe9\\x3b\\x0f\\x5f\\xe7\\x81\\x69\\x1e\\x7e\\x5e\\x0d\\xde\\x6b\\x68\\x7f\\x0d\\xf5\\xf3\\xe1\\x7c\\x01\\xf6\\x16\\xd0\\x76\\x21\\x71\\x59\\x88\\xce\\x85\\xf8\\xb8\\x88\\x36\\x8b\\x89\\xe7\\x62\\x70\\x2c\\x81\\xef\\x25\\xe4\\xdb\\xb5\\xdc\\x5f\\x0b\\x7f\\x4b\\xc1\\xbc\\x8c\\xb1\\xb6\\x8c\\x58\\x2d\\xa7\\x5c\\x4e\\x3e\\xae\\x00\\xeb\\x0a\\xec\\x5e\\x47\\x9b\\xeb\\xd0\\xbb\\x92\\x58\\x5c\\x4f\\x3e\\x5d\\x4f\\xbf\\x55\\xe4\\xf2\\x2a\\xf2\\xf7\\x06\\xf0\\xdf\\x40\\xdf\\x1b\\xf0\\x69\\x35\\x1c\\xad\\x46\\xef\\x6a\\x78\\x58\\x4d\\xff\\xd5\\xb4\\x5b\\x03\\x37\\x6b\\x28\\x6f\\x24\\x67\\x6e\\x24\\x4f\\x6e\\x22\\x66\\x6b\\xc1\\xbf\\x16\\x8e\\xd7\\x82\\x67\\x2d\\x1c\\xaf\\x85\\xe3\\xb5\\x70\\xb4\\x0e\\xdd\\xeb\\xf0\\x69\\x1d\\xfe\\xaf\\xe3\\xd9\\x3a\\x70\\xdf\\x0c\\x96\\x9b\\xc9\\xcf\\x9b\\xd1\\x77\\x33\\x1c\\xaf\\x07\\xd3\\x7a\\xfa\\xae\\x07\\xcb\\x7a\\xb0\\xad\\x27\\x8f\\x37\\xd0\\x6f\\x03\\x7d\\x36\\xe0\\xef\\x06\\xf8\\xda\\xc8\\xf5\\x26\\xf4\\x6c\\x52\\x25\\x75\\x9b\\xa8\\xdb\\x0c\\xb6\\xcd\\xd8\\xdd\\x0c\\xde\\xcd\\xd4\\x6d\\xc6\\xee\\x66\\xec\\x6e\\xc6\\xee\\x16\\xfa\\x6f\\x21\\x0f\\x6e\\x41\\xef\\xad\\xe0\\xbf\\x15\\xfc\\xb7\\x62\\x6f\\x2b\\xd8\\xb7\\x12\\x97\\xad\\xf8\\xbe\\x15\\xdb\\xdb\\x88\\xf9\\x6d\\xc4\\xe0\\x36\\xda\\xdc\\x46\\x9b\\xdb\\x68\\x73\\x1b\\xbe\\xdd\\xc6\\x78\\xba\\x0d\\x3d\\xdb\\xd1\\xb3\\x1d\\xbb\\xdb\\xd1\\xb3\\x9d\\x35\\x67\\x3b\\x9c\\x6c\\x87\\xa3\\x1d\\xe4\\xf4\\x0e\\x62\\xb3\\x83\\xb8\\xec\\x80\\xdf\\x1d\\xe4\\xc5\\x0e\\x74\\xee\\x40\\xe7\\x4e\\xe2\\xb4\\x13\\x2e\\x77\\xe2\\xe3\\x4e\\xb8\\xd9\\x89\\x4f\\x3b\\xb1\\xb3\\x93\\x98\\xee\\x22\\x27\\x77\\xc1\\xfd\\x2e\\x62\\xbc\\x0b\\x9d\\xbb\\xe0\\x79\\x17\\x7d\\x6f\\x27\\x77\\x6e\\xc7\\xde\\x1d\\xd8\\xbb\\x03\\xdc\\xbb\\x89\\xf1\\x9d\\x60\\xba\\x0b\\x5d\\x77\\xa1\\xf3\\x6e\\xb8\\xbe\\x1b\\xfd\\x77\\x73\\xbd\\x87\\xba\\x3d\\xe4\\xd5\\x1e\\xf4\\xec\\x01\\xf3\\x1e\\xfc\\xde\\x03\\xa6\\x7b\\xd0\\x79\\x0f\\xb9\\x7c\\x0f\\xfa\\xee\\xa1\\xed\\xbd\\xb4\\xbb\\x17\\x8e\\xee\\xa5\\xfe\\x5e\\x72\\xe5\\x3e\\xda\\xdc\\x8f\\xef\\x0f\\xe0\\xe3\\x83\\x60\\x7e\\x88\\xe7\\x0f\\x61\\xab\\x1a\\xee\\xaa\\x99\\xcf\\xf6\\xc2\\xed\\xc3\\xd8\\x7c\\x18\\xac\\x8f\\x60\\xef\\x11\\x74\\xec\\xa3\\xfd\\xa3\\xf8\\xff\\x28\\x3a\\x1e\\x45\\xc7\\x63\\xe4\\xd5\\x7e\\xe6\\xa0\\x03\\xc4\\xec\\x00\\xcf\\x0f\\xd2\\xf7\\x10\\x9c\\x1e\\xc2\\xc7\\xc7\\xc1\\xfe\\x38\\x7d\\x0f\\xc3\\xdf\\x13\\x45\\xe6\\xaf\\xcf\\x3f\\x49\\x9b\\xa7\\xe8\\x7f\\x84\\x98\\x1f\\xe1\\xfa\\x69\\xf8\\x78\\x86\\x76\\xcf\\x30\\x6f\\x3c\\x4b\\xce\\x3e\\x47\\xfc\\x9e\\xc3\\xef\\xe7\\xd1\\xfb\\x02\\xf9\\xf1\\x22\\xbc\\xbe\\xc8\\xf5\\x8b\\x70\\xf5\\x12\\x6d\\x5f\\xe6\\xfe\\x65\\x30\\xbe\\x42\\xbb\\x57\\xa8\\x7f\\x15\\x3b\\xaf\\xe1\\xd3\\x6b\\xf4\\x7d\\x0d\\x3c\\x47\\xf1\\xf5\\x75\\xb8\\x7b\\x9d\\x7c\\x78\\x83\\xf2\\x4d\\xda\\xbf\\xc9\\xf5\\x5b\\xe0\\x7a\\x9b\\xf8\\xbc\\x4d\\x3e\\xbc\\xc3\\x58\\x7b\\x07\\x1d\\xef\\xc2\\xf5\\x7b\\xc4\\xe5\\x3d\\xea\\xde\\xc7\\xcf\\xf7\\x99\\xaf\\x3e\\xe0\\xfe\\x03\\x7c\\xfc\\x10\\x2e\\x3f\\xa4\\xcf\\x87\\xd8\\xf8\\x08\\xdf\\x3f\\xc2\\x8f\\x63\\xd8\\xf8\\x18\\x8e\\x3e\\xe6\\xf9\\x71\\x30\\x1f\\x87\\xfb\\x4f\\xe0\\xe8\\x13\\xca\\x4f\\xc9\\x85\\xcf\\xe8\\xf3\\x19\\x7a\\x4f\\xd0\\xe6\\x04\\xb9\\x7b\\x02\\x3c\\x9f\\x83\\xed\\x73\\x72\\xe4\\x24\\xb1\\x3f\\x89\\x0f\\xa7\\xf0\\xf3\\x34\\x36\\x4e\\x13\\xa3\\x33\\x94\\x67\\x58\\xb3\\xce\\xc0\\xf5\\x59\\xfa\\xd7\\x80\\xa1\\x86\\x5c\\xff\\x02\\x6e\\xbf\\xa0\\xed\\x97\\xe0\\xff\\x12\\x9f\\xbf\\xa2\\xdd\\x57\\xe4\\xdf\\xd7\\xe8\\x3c\\x47\\x9b\\x6f\\xe0\\xf2\\x5b\\x72\\xfc\\x3b\\xae\\xbf\\x27\\x7f\\x7e\\x80\\xfb\\x1f\\x68\\xff\\x23\\x5c\\xfc\\x84\\xbf\\x3f\\xe1\\xcf\\xcf\\xf0\\xf3\\x33\\xb8\\x7e\\x81\\xfb\\x5f\\xc1\\xfa\\x2b\\xe5\\x6f\\xe0\\xfa\\x0d\\xbc\\xbf\\xc1\\xfb\\xef\\xc4\\xe0\\x77\\x70\\xfd\\x01\\x27\\x7f\\xe0\\xd7\\x1f\\xf8\\xfe\\x87\\xba\\x47\\xcf\\x9f\\xd4\\xfd\\x49\\xbb\\x3f\\xd1\\xf7\\x27\\xe3\\xf3\\x3c\\x6d\\xcf\\xd3\\xff\\x3c\\xd8\\xcf\\xc3\\x03\\xe1\\x11\\x17\\xc0\\x74\\x81\\x9c\\xb9\\x80\\x1f\\x17\\xb0\\x57\\x4b\\x5d\\x2d\\xbe\\xd6\\x8e\\x30\\x7f\\x77\\xa2\\x96\\xbe\\xb5\\x6f\\xaa\\xaf\\xd3\\x11\\x78\\xf1\\x56\\x58\\xff\\xf6\\xf2\\xb8\\xf5\\xbb\\x51\\xe8\\xf4\\xc1\\xaf\\x8f\\xd8\\xf8\\x2e\\x08\\x29\\x1a\\x23\\x5b\\x90\\x73\\x42\\xca\\x0a\\xe4\\x7e\\x84\\x7a\\xad\\x23\\xb2\\x0f\\x39\\x21\\xa4\\x3e\\x11\\x99\\x8f\\xac\\x46\\x0e\\x23\\xbf\\xb3\\x11\\xcf\\x45\\x66\\x20\\xbb\\x91\\x0f\\x85\\xb4\\xc7\\x22\\x4d\\x10\\x74\\xd8\\x9f\\x43\\x68\\x13\\x90\\x85\\x8c\\x40\\xe8\\x17\\xf0\\x85\\x90\\x0e\\xda\\x38\\x4a\\x91\\x9d\\x42\\x06\\xda\\x10\\x37\\x32\\x05\\xc1\\x7e\\x20\\x7d\\x02\\xbf\\x17\\x32\\x08\\x1d\\xea\\x6f\\xc2\\x04\\x51\\x17\\x44\\x5d\\xd0\\xcf\\x42\\xb2\\x57\\x95\\xc1\\xb4\\x0b\\x5e\\x8b\\x80\\x29\\x18\\xdd\\x21\\x2e\\x04\\xdd\\x21\\xd5\\x42\\x86\\x86\\x22\\x45\\x08\\xb6\\x43\\x57\\x22\\x47\\x84\\x0c\\x43\\x7f\\x18\\xcf\\xc3\\xc0\\xc7\\x5e\\x56\\x86\\xd7\\x43\\x06\\x23\\x60\\x09\\x3f\\x80\\x80\\x27\\xa2\\x21\\x42\\xbf\\x88\\xc5\\x08\\x7e\\x45\\xa0\\x37\\x12\\xcc\\x91\\x65\\x08\\xfd\\x22\\x5f\\x12\\x32\\x0a\\xdd\\x51\\xe0\\x89\\xc2\\x7e\\xd4\\x1e\\xf5\\x02\\x05\\x01\\x77\\xf4\\x06\\x04\\xbd\\x31\\xd8\\x89\\x69\\x87\\xe0\\x53\\x0c\\xd8\\x62\\xe8\\x13\\x73\\x5c\\xc8\\x58\\xf0\\xc5\\xc2\\x51\\x6c\\x4f\\x04\\x1c\\xb1\\xb4\\x8f\\xa5\\x7f\\xec\\x6b\\x08\\x7e\\xc6\\x81\\x27\\x0e\\x3d\\x71\\xf0\\x1a\\x87\\x0f\\x71\\xe0\\x89\\x07\\x5f\\x3c\\x3e\\xc6\\xf3\\x3c\\x01\\x1e\\x12\\xb8\\x4f\\x58\\x86\\xf0\\xac\\x1e\\xfa\\xea\\xcd\\x45\\xf0\\xad\\x1e\\x38\\xeb\\xb7\\x44\\x88\\x4b\\x7d\\xf4\\x36\\x00\\x43\\x03\\xfc\\x4a\\x44\\x5f\\x22\\xbe\\x24\\x12\\xc3\\xa4\\x2a\\x04\\x1f\\x92\\xc0\\xe8\\x24\\x96\\x4e\\xec\\x38\\xa9\\x77\\x82\\xcd\\x05\\x2e\\xf6\\xcf\\xd2\\x05\\x1e\\x17\\x71\\x4f\\xa6\\x6f\\x32\\x5c\\xa7\\xe0\\x6b\\x0a\\x36\\x53\\xb0\\x93\\xb2\\x0d\\x21\\x0f\\x52\\xc1\\x9f\\x4a\\xdf\\x54\\x70\\xa5\\xa2\\x2f\\x15\\x2c\\xa9\\xd4\\x37\\x8e\\x44\\xc8\\x9d\\xc6\\xf8\\xde\\xb8\\x2f\\x02\\x67\\x8d\\xb1\\xd9\\x18\\xfe\\x1b\\xd3\\xb7\\x31\\x3e\\xa4\\x81\\x39\\x8d\\x67\\x69\\x3c\\x4b\\xc3\\x5e\\x3a\\xf7\\xe9\\x6f\\x22\\x60\\xca\\xa0\\x7f\\x06\\xf8\\x33\\xb0\\x9d\\x41\\x3c\\x9a\\x60\\xb7\\x09\\x7d\\x9a\\xe2\\x4f\\x33\\x62\\xd0\\x0c\\x3e\\x33\\xe1\\x2d\\x13\\xff\\x33\\xa9\\xcb\\xc4\\x36\\xfb\\x72\\x99\\x85\\xbd\\x2c\\x30\\x65\\x11\\x93\\x2c\\xfa\\x37\\x47\\x67\\x73\\xb8\\x68\\x8e\\xef\\xcd\\xb1\\xdd\\x9c\\xbc\\x69\\x8e\\x5f\\xec\\xd7\\x65\\x0b\\xfc\\x6e\\x41\\x5d\\x0b\\xea\\x5a\\x80\\x39\\x1b\\xff\\xb2\\x89\\x79\\x36\\x1c\\x64\\xe3\\x77\\x4b\\xfc\\x6a\\x85\\x0f\\xad\\xc0\\xd8\\x0a\\xec\\xad\\x68\\xd7\\x8a\\x3c\\x68\\x05\\xbe\\xd6\\x70\\xda\\x1a\\x1d\\xad\\xb1\\x99\\x03\\x6f\\xb9\\xe4\\x6e\\x2e\\xf1\\x6d\\x03\\x9e\\xb6\\xf0\\xa3\\xfe\\x99\\x51\\x1e\\x98\\xda\\xd1\\xae\\x1d\\xcf\\xda\\x81\\xb1\\x3d\\x31\\x6d\\x4f\\x0e\\x76\\x20\\xa7\\x3a\\xe0\\x73\\x07\\x6c\\x5e\\x81\\x7f\\x1d\\xa9\\xef\\x48\\xdb\\x4e\\xc4\\xb4\\x13\\xed\\x3a\\x83\\xbf\\x33\\x7a\\xf3\\xf1\\xcf\\xcd\\x33\\x37\\x38\\xdd\\xb4\\x77\\xa3\\xdb\\x0d\\x76\\x37\\x39\\xd2\\x85\\xb2\\x2b\\x7d\\xbb\\x12\\xeb\\x6e\\x60\\xee\\xd6\\x1d\\x81\\xa3\\xee\\xf0\\xc6\\xbe\\x5c\\x16\\x90\\x8f\\x05\\x8c\\x8d\\x42\\xca\\x1e\\xe8\\xe8\\x01\\xfe\\x1e\\x70\\xdb\\x13\\x9f\\x7a\\xd2\\xbf\\x17\\x79\\xd0\\x8b\\xe7\\xec\\xb5\\x65\\x1f\\xea\\xfa\\x82\\xb3\\x2f\\xfe\\xf5\\xa3\\xad\\x3a\\x86\\xf6\\x27\\xe7\\xd8\\x2f\\xcb\\x22\\x38\\x29\\xc2\\xaf\\x62\\x38\\x28\\x46\\xef\\x40\\xf4\\x0d\\x44\\x0f\\x7b\\x5f\\x39\\x98\\xba\\xc1\\x60\\x1c\\x4c\\xdd\\x60\\x74\\x0c\\xc6\\x9f\\x12\\xca\\x12\\x70\\x95\\x10\\xe3\\x12\\x78\\x29\\x81\\xaf\\x21\\xf0\\x34\\x04\\x4e\\x87\\xc0\\xe9\\x50\\xf4\\x0f\\x05\\xeb\\x50\\x62\\x33\\x94\\x9c\\x29\\xe5\\xba\\x94\\x6b\\xf6\\xbb\\xd2\\x43\\xde\\x79\\xb8\\xf7\\xa0\\xcf\\x83\\x1e\\xf6\\xbc\\x92\\x3d\\xae\\x1c\\x8e\\xff\\xc3\\xf1\\x7f\\x38\\xfe\\x0f\\xc7\\xef\\x11\\x60\\x65\\x8f\\x2b\\x47\\xd0\\x7f\\x04\\x79\\x30\\x02\\xac\\x23\\xb1\\x31\\x92\\x76\\xa3\\x78\\x36\\x0a\\x9c\\xa3\\xd1\\x33\\x1a\\xbd\\xa3\\x89\\x55\\x19\\x38\\xcb\\xc0\\x59\\x86\\xde\\x32\\xf4\\x96\\x31\\x46\\xca\\xf0\\xa1\\x4c\\x3d\\x23\\xa7\\xca\\x89\\x57\\x39\\x79\\x50\\x8e\\xff\\xe5\\xdc\\x8f\\xc1\\x16\\x7b\\x5b\\x39\\x16\\x2e\\xc7\\x52\\x57\\x01\\xe6\\x0a\\x6c\\x8d\\x23\\x6e\\xe3\\xb1\\x3b\\x1e\\xdf\\xc6\\xe3\\xdb\\x04\\x62\\x39\\x91\\x67\\xec\\x43\\xe5\\x44\\x74\\x4e\\x44\\xe7\\x95\\xf0\\x32\\x89\\xf8\\x4d\\x02\\xd7\\x24\\xc6\\xcc\\x64\\x72\\x6f\\x32\\x3a\\xa6\\xd0\\x6f\\x0a\\x31\\x98\\x82\\x0f\\x53\\xe0\\x7f\\x0a\\x7c\\x4c\\x81\\x8f\\xa9\\x3c\\x9f\\x4a\\x6e\\x4e\\x25\\x16\\xd3\\xc0\\x3e\\x0d\\x9c\\xd3\\x78\\x3e\\x1d\\xbd\\xd3\\xc1\\x3a\\x03\\xfe\\x67\\x90\\x1b\\x33\\xe1\\x67\\x26\\xd8\\xae\\x22\\x3f\\x2a\\xd1\\x55\\x49\\x9e\\x57\\xd2\\xb6\\x0a\\xbf\\xab\\xc0\\xc5\\x9e\\x55\\xb2\\x67\\x95\\xb3\\xe0\\x60\\x16\\xf8\\x67\\x31\\x9e\\x66\\xc3\\xe7\\x6c\\xb8\\x98\\x8d\\xee\\x39\\xe8\\x9b\\xc3\\xb3\\x39\\x3c\\x9b\\x03\\xa7\\x73\\xc1\\x34\\x0f\\x3d\\xf3\\xd0\\x7d\\x35\\xed\\xae\\x7e\\x57\\xc8\\x6b\\xc0\\x7e\\x0d\\x36\\xe6\\xa3\\x77\\x3e\\xfd\\x16\\xc0\\xd7\\x42\\x38\\x58\\x48\\x9b\\x45\\xf4\\x5b\\x4c\\xfb\\x25\\xe4\\xc4\\xb5\\xc4\\x60\\x29\\xb8\\x97\\xc2\\xd1\\x32\\xfa\\x2c\\xa7\\xfd\\x72\\x30\\xaf\\xa0\\x6e\\x05\\xcf\\x57\\x50\\x77\\x1d\\x1c\\xac\\x64\\x5e\\x5e\\xc9\\x7c\\x77\\x3d\\x7e\\xac\\x22\\x87\\x6e\\x80\\x8f\\x1b\\x98\\x1f\\x56\\xe3\\xd3\\x6a\\xda\\xac\\x26\\x77\\xd7\\xd0\\x7e\\x0d\\x7a\\x6e\\xc4\\xf7\\x1b\\xe1\\xe1\\x46\\x62\\x71\\x23\\x58\\xd8\\xa7\\xca\\x75\\xd8\\xb9\\x99\\xe7\\xeb\\xb1\\xcb\\x7e\\x53\\x6e\\x40\\xff\\x06\\xf4\\x6c\\xc4\\xb7\\x8d\\xf4\\xd9\\x08\\xd6\\x4d\\xe4\\xfc\\x26\\xea\\x36\\xc3\\xc1\\x66\\x74\\x6f\\xa1\\xfe\\x16\\x9e\\xdf\\x4a\\xfd\\x56\\xf8\\xd8\\x4a\\xfe\\x6d\\x23\\x17\\xb6\\xc1\\xf7\\x6d\\xd4\\x6f\\x07\\xd3\\x76\\x62\\xb3\\x83\\x79\\x61\\x07\\x25\\xfb\\x3f\\xb9\\x93\\x58\\xee\\xa2\\xdc\\x85\\x8d\\xdb\\x69\\x7b\\x3b\\x6d\\xef\\x00\\xc3\\x6e\\xea\\xef\\xc4\\xb7\\xbb\\xe0\\xe0\\x2e\\x72\\xe9\\x2e\\x62\\x7c\\x17\\x31\\xbe\\x9b\\x58\\xdc\\x4d\\xbe\\xdc\\x0d\\xaf\\x7b\\xa8\\xdf\\xc3\\x58\\xbd\\x87\\x7e\\xf7\\x60\\xfb\\x5e\\xe2\\x72\\x2f\\xed\\xee\\xc3\\xfe\\x7d\\xe0\\xb9\\x1f\\xfc\\xf7\\xd3\\xe6\\x01\\xb0\\x3c\\xc0\\xfd\\x83\\x3c\\x7b\\x88\\xf1\\xf1\\x10\\x39\\xf4\\x90\\xba\\x86\\xe7\\x6a\\x74\\xed\\x45\\xe7\\x5e\\xfc\\x7d\\x98\\x76\\x0f\\xa3\\xef\\x11\\xec\\x3e\\x82\\x7f\\xfb\\xe8\\xbb\\x0f\\x3b\\x8f\\xc2\\xe1\\x63\\x60\\x7e\\x8c\\x36\\x8f\\x11\\xbf\\xc7\\xc0\\xb8\\x9f\\x71\\xba\\x9f\\x31\\xb2\\x9f\\xfc\\xdb\\x4f\\xfb\\xfd\\xc4\\x6b\\x3f\\x79\\xba\\x1f\\x3e\\xf6\\xc3\\xf5\\x7e\\x7c\\xd8\\xcf\\x98\\x3c\\x40\\xbf\\x03\\xf0\\x79\\x80\\xe7\\x07\\xc8\\x9f\\x03\\xf4\\x3f\\xc8\\xfd\\x41\\xb0\\x1d\\x44\\xef\\x41\\x78\\x38\\x48\\x9c\\x0e\\x92\\x8f\\xec\\x11\\xe5\\x21\\x7c\\x38\\xc4\\xf5\\xe3\\xe4\\xea\\xe3\\x70\\xf0\\x38\\x3e\\x3f\\x4e\\xac\\x0e\\x93\\x63\\x87\\x89\\xd1\\x61\\xf2\\xfe\\x30\\x3e\\x1c\\xc6\\xdf\\xc3\\x60\\x7d\\x02\\x1c\\x4f\\x80\\xe3\\x09\\x70\\x3c\\x41\\x5e\\x3d\\x81\\x4f\\x4f\\x12\\xe3\\x27\\x89\\xd7\\x93\\xe8\\x7d\\x0a\\x6c\\x4f\\xe1\\xfb\\x11\\xf8\\x3f\\x42\\xf9\\x34\\xb9\\xf4\\x34\\xf5\\x4f\\xd3\\xf7\\x19\\x7c\\x7f\\x16\\x2c\\xcf\\x82\\xf3\\x39\\x6c\\x3d\\x0f\\xa6\\x17\\xd0\\xf7\\x02\\xd7\\x2f\\xa2\\xef\\x45\\xec\\xbe\\x04\\x8e\\x97\\xc0\\xfd\\x12\\xf1\\x79\\x19\\x0c\\x2f\\x63\\xe3\\x65\\x78\\x78\\x19\\x3f\\xd8\\x6f\\xca\\x57\\xe0\\xe2\\x15\\xf0\\xbe\\x82\\x8e\\x57\\xb1\\xfb\\x2a\\x6d\\x5e\\x45\\xef\\x6b\\x94\\xaf\\x61\\xfb\\x35\\x72\\xf3\\x28\\xf9\\x71\\x14\\xcc\\x47\\xe1\\xe6\\x75\\xc6\\xc1\\xeb\\xf8\\xfd\\x3a\\xfa\\x5e\\x47\\xff\\x1b\\xe0\\x7c\\x03\\x9e\\xdf\\x20\\x57\\xde\\x24\\x2f\\xdf\\x84\\xf7\\xb7\\xb0\\xfd\\x16\\xfa\\xdf\\x02\\xef\\xdb\\xc4\\xff\\x6d\\xe2\\xfb\\x36\\x31\\x7b\\x1b\\x4e\\xdf\\x81\\xa3\\x77\\xc0\\xf4\\x0e\\xed\\xde\\xc5\\xc6\\xbb\\xe8\\x7e\\x17\\xdd\\xef\\x51\\xff\\x1e\\x3e\\xbe\\x47\\x9b\\xf7\\xd1\\xfd\\x01\\xcf\\x3e\\x50\\x25\\xf8\\x3e\\x84\\xd3\\x0f\\x89\\xf7\\x87\\xe8\\xfb\\x08\\xae\\x3e\\x82\\x83\\x8f\\xf0\\xe3\\x18\\x6d\\x8e\\x91\\x2b\\xc7\\xc8\\xfb\\x63\\xe8\\x3f\\x06\\x2f\\xc7\\xd0\\xfb\\x31\\x79\\xf0\\x31\\x3c\\xb3\\xa7\\x95\\x1f\\xc3\\xd3\\x71\\x30\\x1c\\x47\\xf7\\x71\\x78\\xf9\\x04\\xbc\\x9f\\xd0\\xf6\\x53\\xc6\\xf4\\xa7\\xf8\\xf7\\x29\\x7d\\x3e\\x25\\x47\\x3e\\x43\\xcf\\x67\\xf8\\x77\\x02\\x4e\\x4e\\x30\\xd7\\x9c\\xa0\\xfe\\x73\\xf2\\xfa\\x73\\x30\\x9c\\x84\\x97\\x93\\x70\\x76\\x12\\x6c\\xa7\\xa8\\x3b\\x05\\x27\\xec\\x77\\xe5\\x69\\x9e\\xb1\\xdf\\x95\\x67\\xe8\\x77\\x96\\x3c\\x39\\x8b\\xbd\\xb3\\xe8\\xaa\\x81\\x87\\x2f\\x18\\x2b\\x5f\\x90\\x97\\x5f\\x10\\xf3\\x2f\\xb0\\xf3\\x05\\x3e\\x7f\\x81\\x0f\\x5f\\xe2\\xe7\\x97\\xe8\\xfa\\x8a\\xeb\\xaf\\xc1\\xfd\\x35\\x5c\\x7f\\xcd\\x5c\\x7a\\x0e\\x7c\\xe7\\xd0\\xff\\x0d\\x5c\\x7c\\x83\\x0f\\xdf\\xc2\\xe1\\xb7\\xf4\\xfb\\x96\\x76\\xdf\\x81\\xf9\\x3b\\xda\\x7d\\x87\\xcf\\xdf\\xd1\\xf7\\x7b\\x74\\x7c\\xcf\\xf5\\x0f\\xd8\\xfe\\x11\\x3b\\x3f\\xd2\\xe6\\x27\\xec\\xff\\x84\\x8d\\x9f\\x88\\xe5\\xcf\\xf8\\xfe\\x33\\x7e\\xff\\x82\\x8f\\xbf\\xc0\\xd7\\x2f\\xe0\\xfa\\x15\\xbf\\x7e\\xa3\\xdf\\x6f\\x60\\xfa\\x8d\\x7e\\xbf\\x11\\x93\\xdf\\xb0\\xf7\\x3b\\x18\\xfe\\x80\\xc7\\x3f\\x88\\xc3\\x1f\\xf0\\xfa\\x07\\x6d\\xff\\x20\\x37\\xff\\x24\\xce\\x7f\\x62\\xeb\\x3c\\xfa\\xcf\\x93\\x3f\\x17\\xe8\\x77\\x01\\xbf\\x6b\\x29\\xd9\\x0b\\xcb\\x5a\\xe2\\xe2\\x25\\xdf\\xbc\\xc4\\xd9\\x4b\\xce\\xfa\\x68\\xef\\xa3\\x9d\\xef\\x25\\xa1\\x89\\xee\\xc8\\x4e\\xe4\\x77\\xa1\\xc9\\x89\\x42\\xd3\\xea\\x21\\x73\\x91\\x73\\x42\\xd3\\xb3\\x90\\xb5\\xc8\\x05\\xa1\\xd9\\x0e\\x08\\xcd\\x4e\\x7d\\x40\\xac\\xd0\\x1c\\x36\\x84\\x3e\\x81\\xed\\x90\\xe7\\x84\\x16\\xd4\\x13\\x39\\x21\\xb4\\xe0\\x19\\x42\\x0b\\xa1\\x4f\\x88\\x2a\\xd1\\x1d\\x5a\\x25\\xb4\\xb0\\x40\\x64\\x0a\\xf2\\xa1\\xd0\\xc2\\x9b\\x20\\xe8\\x88\\x40\\x47\\xc4\\x32\\x04\\x9b\\x91\\xb4\\x8d\\x6a\\x88\\x94\\x21\\xdf\\x0b\\x2d\\x7a\\x0b\\x82\\xed\\x18\\xda\\xc5\\xd2\\x2e\\x96\\xfb\\xd8\\xfb\\x91\\x23\\xc8\\xbb\\xc8\\x17\\x08\\x78\\xe2\\x22\\x91\\xdd\\x08\\xb8\\xe2\\x5e\\x13\\x5a\\xfc\\x36\\xa1\\x25\\x70\\x5f\\xaf\\x5a\\x68\\xf5\\xe9\\xd3\\xe0\\xb8\\xd0\\x12\\x69\\xdf\\x10\\x5c\\x8d\\x68\\x93\\x34\\x5f\\x68\\xce\\x11\\x42\\x73\\xf5\\x15\\x5a\\x32\\xf6\\x92\\xa9\\x4f\\x01\\x6b\\x0a\\x65\\xea\\x69\\xa1\\xb1\\x7f\\xd3\\x1a\\xe3\\x07\\x7b\\x35\\x2d\\x0d\\x1d\\xe9\\xe0\\xca\\xe8\\x28\\xb4\\x26\\xe0\\x6f\\xc2\\x7d\\xd3\\xc3\\x42\\x6b\\x46\\xdf\\x66\\x60\\xc9\\xc4\\x77\\xf6\\x5d\\x5a\\x73\\xfa\\x37\\xc7\\x76\\x0b\\xee\\xb3\\xd1\\x9d\\x8d\\x8f\\x2d\\xe1\\xb0\\x25\\x18\\x5b\\xe1\\x4b\\x6b\\x38\\x60\\xcf\\xa4\\xe5\\xe2\\x6b\\x1b\\xf4\\xb5\\xa5\\x4f\\x1e\\x7d\\xf2\\xf6\\x08\\xad\\xdd\\x60\\xe4\\x67\\xa1\\xb5\\xe7\\x79\\x07\\x9e\\x5f\\x81\\xdd\\x2b\\xe0\\xba\\x23\\x38\\x3a\\x82\\xa9\\x23\\xfd\\x3b\\xa1\\xb3\\x13\\xfa\\x3b\\xaf\\x44\\xe0\\x8a\\x7d\\x92\\x96\\xcf\\x75\\xfe\\x3e\\xa1\\xb9\\x89\\x81\\x7b\\x03\\x42\\xdb\\x2e\\xe0\\xec\\x82\\xfe\\xae\\x94\\x5d\\xb9\\xef\\x86\\xaf\\xdd\\xd1\\xd7\\x1d\\xde\\xd9\\x23\\x69\\x05\\x70\\x59\\x88\\xde\\x42\\xf8\\xe9\\xd1\\x12\\x81\\x97\\x9e\\xb4\\xef\\xf9\\xa6\\xd0\\x7a\\xe1\\x73\\xaf\\xd5\\x08\\x7c\\xf5\\x06\\x53\\x6f\\xb8\\xef\\x43\\xbf\\x3e\\xf8\\xd0\\x97\\x67\\x7d\\xc1\\xda\\x8f\\xbe\\xfd\\xb0\\xd5\\x0f\\x7f\\xfa\\x81\\xa3\\x3f\\x71\\xec\\x0f\\x96\\xfe\\xf8\\xdd\\x1f\\xfd\\x03\\xb0\\x3b\\x80\\x3e\\x03\\x88\\xd1\\x00\\x38\\x18\\x00\\xf6\\x22\\x62\\x57\\x44\\xbf\\xa2\\x22\\x04\\x4e\\x8a\\xb0\\x51\\x04\\x8f\\x45\\xd8\\x29\\x86\\xd3\\x62\\x78\\x60\\xaf\\xa5\\x15\\x57\\x20\\xe0\\x2d\\x46\\x57\\x31\\xb9\\x54\\xac\\x9e\\xc3\\xcb\\x40\\xf2\\x70\\x20\\x7a\\x07\\xf2\\x7c\\x20\\xb6\\x07\\xc2\\xff\\x40\\xb0\\x0d\\x22\\xee\\x83\\x72\\x11\\xb8\\x1c\\x44\\xbf\\x41\\xe0\\x1b\\x84\\x3f\\x83\\xc0\\x35\\x18\\x1b\\x83\\xb1\\x31\\x98\\xfb\\xc1\\xdc\\x97\\xc0\\x67\\x09\\xcf\\x4b\\xc0\\x55\\x82\\x3f\\x43\\xb8\\x1f\\xc2\\xfd\\x10\\xee\\x87\\x80\\x7b\\x28\\x38\\x86\\x82\\x63\\x28\\x18\\x87\\xc2\\xd1\\x50\\xf8\\x18\\x8a\\x6d\\xf6\\x69\\x5a\\xe9\\x62\\x84\\x3c\\x2a\\xc5\\x6e\\x29\\x9c\\x96\\xa2\\xcf\\x83\\x6d\\x0f\\x98\\x3c\\xf4\\xf7\\xd0\\x7f\\x18\\xfd\\x87\\xd1\\x7f\\x18\\xfd\\x87\\x91\\xeb\\xc3\\x68\\x3f\\x8c\\xf6\\xc3\\x68\\x3f\\x8c\\xf6\\xc3\\x69\\x3f\\x1c\\xac\\xc3\\xc1\\x3a\\x1c\\xbe\\x87\\x13\\xbb\\xe1\\xc4\\x7b\\x38\\x76\\x86\\x63\\x67\\x04\\x3e\\x8e\\x60\\xfc\\x8d\\xa0\\xcf\\x08\\x7c\\x1b\\x89\\x8e\\x91\\xe4\\xf1\\x48\\x62\\x3e\\x92\\xe7\\xa3\\x1a\\x23\\xc4\\x60\\x14\\xdc\\x8e\\x02\\xfb\\x28\\xe2\\x3e\\x0a\\x7e\\x47\\x91\\xff\\xa3\\xe1\\x77\\x34\\xb6\\x47\\xa3\\x7b\\x34\\xf9\\x33\\x1a\\xbf\\x46\\xd3\\x6f\\x34\\xdc\\x97\\xf1\\xac\\x8c\\x67\\x65\\xe8\\x66\\x2f\\xa8\\x95\\xc1\\x5f\\x19\\x36\\xca\\xe0\\xa0\\x9c\\x67\\xe5\\x6e\\x04\\x5e\\xd9\\x07\\x6a\\xe5\\xf0\\x55\\x4e\\x5c\\xcb\\xb1\\x3f\\x06\\xbc\\x63\\xc0\\x3b\\x06\\x9d\\x63\\xc0\\x3b\\x06\\xbc\\x63\\xc0\\x3b\\x06\\xbc\\x63\\xc0\\x33\\x16\\xbc\\x63\\xe9\\x3b\\x16\\x5d\\x63\\xf1\\xbf\\x82\\xf8\\x56\\x90\\x07\\x15\\x70\\x55\\x81\\xae\\x0a\\x74\\x55\\xc0\\x7d\\x05\\xbe\\x8f\\x63\\x8c\\x8d\\xa3\\xed\\x38\\xb8\\x1c\\x47\\x5c\\xc6\\xf1\\x6c\\x1c\\xcf\\xc6\\x61\\x67\\x3c\\xb9\\x3b\\x9e\\x1c\\x1a\\x4f\\xfc\\xc7\\xe3\\xf3\\x78\\xfa\\x8e\\x47\\xe7\\x78\\x78\\x9b\\xc0\\xb3\\x09\\x3c\\x9b\\x40\\xdf\\x09\\xe0\\x98\\x40\\x8c\\x27\\x90\\x1b\\x13\\xc8\\x8d\\x09\\x60\\x60\\x1f\\xaa\\x4d\\x24\\x06\\x13\\x99\\x2f\\x26\\x82\\xfb\\x4a\\xfa\\x5f\\x89\\xfe\\x2b\\xc9\\xed\\x2b\\xd5\\x3d\\xfa\\x27\\xe1\\xe3\\x24\\xda\\x4c\\xc2\\xc7\\x49\\x3c\\x9b\\x04\\x6f\\x93\\xc8\\xab\\xc9\\xe8\\x9e\\x0c\\x2f\\x93\\xd1\\x3b\\x19\\xce\\x26\\xe3\\xdb\\x64\\x30\\x4d\\x86\\xcf\\x29\\x70\\x3d\\x05\\x3c\\xec\\x5d\\xb5\\x29\\xc4\\x80\\xbd\\xab\\x36\\x05\\x3f\\xa6\\x52\\x3f\\x15\\x5d\\x53\\x19\\x1b\\x53\\xc9\\x91\\xa9\\x3c\\x9b\\x4a\\xfc\\xa7\\xe2\\xff\\xb4\\x50\\x04\\xbe\\xd8\\xcb\\x6a\\xd3\\xd0\\x37\\x0d\\x7d\\xd3\\xd0\\x37\\x0d\\x7d\\xd3\\xe9\\x37\\x9d\\xbc\\x60\\x6f\\xab\\x4d\\x07\\xff\\x74\\xf0\\x4f\\x07\\xc3\\x74\\x7c\\x60\\xaf\\xab\\xcd\\xe0\\xf9\\x0c\\x62\\x3b\\x83\\xf8\\xcc\\x20\\x3e\\x33\\xf0\\x7f\\x06\\x3a\\x67\\xf2\\x6c\\x26\\x3a\\x67\\xa2\\x73\\x26\\x3a\\x67\\xa2\\x73\\x26\\x31\\xbf\\x0a\\xec\\x57\\xc1\\xcb\\x55\\x60\\xbc\\x8a\\xd8\\xb0\\x3f\\xd6\\xae\\x62\\x5e\\xbb\\xea\\xb8\\xf9\\xe7\\x28\\x2a\\xd1\\x57\\x09\\xce\\x4a\\x70\\x56\\xa2\\xb3\\x92\\xbe\\x95\\xe4\\x44\\x25\\x7e\\x54\\x92\\x13\\x55\\x70\\x52\\x45\\xbc\\xaa\\xd0\\x5b\\x45\\xbc\\xaa\\xe0\\xab\\x0a\\xbe\\xaa\\xe0\\x6b\\x16\\xba\\xd9\\x57\\x6b\\xb3\\xe0\\x7c\\x16\\x9c\\xcd\\x02\\xf3\\x2c\\xf4\\xcf\\x42\\xff\\x2c\\xf4\\xcf\\x46\\xff\\x6c\\xf4\\xcf\\x06\\xef\\x6c\\x74\\xcf\\xe6\\xd9\\x6c\\xf0\\xb2\\xe7\\xd6\\xe6\\x80\\x77\\x0e\\x78\\xe7\\xa0\\x77\\x0e\\xdc\\xcd\\x81\\xef\\x39\\xe8\\x9e\\xc3\\xf3\\x39\\x70\\x31\\x07\\xfd\\x73\\xd1\\x3f\\x17\\xfd\\x73\\xd1\\x3f\\x17\\xfd\\x73\\x69\\x33\\x97\\x98\\xcc\\x3d\\xae\\xfe\\x34\\x05\\xc2\\xb3\\x79\\xe8\\x98\\x87\\x6f\\xf3\\x78\\x3e\\x0f\\xfb\\xf3\\xb0\\x31\\x0f\\xfb\\xf3\\x68\\x73\\x35\\x6d\\xae\\x26\\x6e\\x57\\xe3\\xdb\\xd5\\x3c\\xbb\\x1a\\xfd\\x57\\xe3\\xd7\\xd5\\xd8\\xbf\\x1a\\xae\\xaf\\xc1\\xb7\\x6b\\x78\\x7e\\x0d\\xf9\\x7e\\x0d\\x38\\xae\\x01\\xc7\\x35\\xd8\\xb8\\x86\\x9c\\xbb\\x06\\x0c\\xd7\\xd0\\x66\\x3e\\xf8\\xe7\\xa3\\x7f\\x3e\\xcf\\xe6\\x13\\xc3\\xf9\\xc4\\x63\\x3e\\xba\\xe7\\x13\\x8f\\x05\\xf8\\xb0\\x80\\xe7\\x0b\\xe0\\x6f\\x01\\x36\\x38\\x0f\\x68\\x0b\\xe0\\x6f\\x01\\xfc\\x2d\\xc0\\xce\\x02\\xda\\x2c\\x04\\xe3\\x42\\xf4\\x2f\\xe4\\xd9\\x42\\x9e\\x2d\\x44\\xc7\\x42\\x7c\\x58\\xc8\\xf3\\x85\\xe0\\x58\\x88\\x8d\\x45\\xcc\\xb9\\x8b\\x68\\xb3\\x88\\x36\\x8b\\xc0\\xbf\\x08\\x0e\\x16\\xf1\\x6c\\x31\\xfa\\x17\\xe3\\xdf\\x62\\xec\\x2f\\xc6\\xbf\\xc5\\xf8\\xb0\\x98\\xe7\\x8b\\xf1\\x6f\\x31\\x18\\x96\\xe0\\xdf\\x12\\xf0\\x2f\\xc1\\xf6\\x12\\x9e\\x2d\\xc1\\xbf\\x25\\xe8\\x5d\\x42\\xdf\\x25\\xe8\\xbd\\x16\\xff\\xae\\xe5\\xf9\\xb5\\xe8\\xbe\\x16\\xff\\xae\\xc5\\x87\\x6b\\xf1\\xef\\x5a\\xfc\\xbb\\x16\\xff\\xae\\x25\\x4f\\x97\\x82\\x6f\\x29\\xfc\\x2e\\x45\\xff\\x52\\xc6\\xed\\x52\\xf2\\x66\\x29\\xe3\\x76\\x29\\xd8\\x97\\x31\\x66\\x96\\xe1\\xdb\\x32\\xc6\\xcc\\x32\\xb0\\x2f\\xa3\\xdf\\x32\\xec\\x2e\\x07\\xd7\\x72\\xea\\x97\\x83\\x77\\x39\\xfe\\x70\\xb6\\xd1\\x96\\x63\\x6f\\x05\\xba\\x56\\x50\\xbf\\x02\\x5b\\x2b\\xc0\\xb3\\x82\\x67\\x2b\\xf0\\x65\\x05\\x7d\\x56\\xf0\\xfc\\x3a\\xf2\\xf0\\x3a\\xb0\\x5e\\x87\\xae\\xeb\\xe0\\xe0\\x3a\\x70\\xae\\x04\\xe3\\x4a\\xf0\\xad\\x04\\xdb\\x4a\\x7c\\x5b\\x49\\xfd\\x4a\\xb0\\xad\\xc4\\xfe\\xf5\\x3c\\xbb\\x1e\\xff\\xaf\\xa7\\xcf\\xf5\\x3c\\xbf\\x9e\\xf1\\x70\\x3d\\xb6\\xae\\x47\\xd7\\x2a\\xfc\\x5a\\x85\\x9d\\x55\\xf8\\xb3\\x0a\\x1b\\xab\\xc8\\x97\\x1b\\xc0\\x75\\x03\\xf5\\x37\\xc0\\xd7\\x0d\\x60\\xbb\\x81\\x67\\x37\\xe0\\xcf\\x0d\\xf4\\xb9\\x81\\xe7\\xab\\x99\\xa7\\x56\\xa3\\x6f\\x35\\xfe\\xac\\x66\\x4c\\xae\\x86\\xaf\\xd5\\xe4\\xf2\\x6a\\x6c\\xad\\xc1\\xd7\\x35\\x60\\x5f\\x83\\xad\\x35\\xf4\\x5d\\x03\\xc6\\x35\\x8c\\xd7\\x1b\\x99\\xab\\x6f\\x04\\xdf\\x8d\\xc4\\xf4\\x26\\xfa\\xde\\x44\\xdf\\x9b\\xe8\\x7b\\x13\\x7d\\x6f\\xa2\\xef\\x4d\\xf4\\x5d\\x8b\\xdd\\xb5\\xe4\\xc1\\x5a\\xfa\\xaf\\xa5\\xff\\x5a\\xfa\\xaf\\xe5\\xd9\\x3a\\xea\\xd6\\x11\\xab\\x75\\xf8\\x7f\\x33\\x63\\xe1\\x66\\xc6\\xc1\\xcd\\x60\\xba\\x19\\x1e\\x6f\\x66\\x6c\\xde\\x8c\\x1f\\xeb\\x89\\xfd\\x7a\\xc6\\xd7\\x7a\\xc6\\xfc\\x7a\\xea\\x37\\x80\\x71\\x03\\x7e\\x6e\\x20\\xcf\\x36\\x30\\xef\\x6e\\x44\\xc7\\x46\\x6c\\x6e\\x04\\xcf\\x46\\x30\\x6c\\xc4\\x97\\x8d\\xd8\\xdc\\x04\\xde\\x4d\\xd8\\xe3\\x7c\\xa7\\x6d\\xc2\\xde\\x26\\x9e\\x6f\\x62\\x1e\\xdc\\x4c\\xdd\\x66\\xee\\x37\\x33\\x37\\x6e\\x46\\xdf\\xe6\\xe3\\xc6\\xd7\\xdd\\xda\\x16\\x78\\xd9\\x82\\x1f\\x5b\\xe0\\x6c\\x0b\\x5c\\x6e\\x01\\xc7\\x16\\x7c\\xd8\\x02\\xd7\\xb7\\xa0\\xeb\\x16\\x9e\\xdd\\x02\\xe6\\x5b\\x89\\xd1\\xad\\xe8\\xba\\x15\\xde\\x6e\\xe5\\xd9\\xad\\x60\\xdc\\x0a\\x86\\xad\\xcc\\xc7\\x5b\\x89\\xcf\\x56\\x38\\xd9\\x0a\\x97\\xdb\\xe8\\xb3\\x0d\\x5c\\xdb\\xc0\\xb4\\x8d\\xfb\\xdb\\xe0\\xe9\\x36\\xee\\x6f\\x03\\xdb\\x76\\xf6\\x0a\\xdb\\xd1\\xb1\\x1d\\xdf\\xb7\\x33\\x87\\xec\\x80\\xb7\\x1d\\xac\\x43\\x3b\\xb8\\xde\\x05\\x07\\xbb\\x98\\x47\\x77\\xa1\\x6f\\x17\\xf9\\xb6\\x0b\\x3f\\x6f\\x07\\xdf\\xed\\x60\\xba\\x9d\\xfb\\xdb\\xc1\\x7c\\x07\\xf9\\x78\\x07\\x31\\xdd\\x0d\\x37\\xbb\\x69\\xbb\\x9b\\x3c\\xda\\x4d\\xae\\x72\\xd6\\xd4\\xee\\xc4\\xc7\\x3b\\xb1\\x71\\x17\\xf6\\xee\\x22\\xdf\\xee\\xc2\\xd6\\x5d\\x60\\xbf\\x9b\\xeb\\xbb\\xc1\\xba\\x07\\x7e\\xee\\x41\\xf7\\xbd\\x60\\xb9\\x0f\\x5f\\xee\\x27\\x87\\x1e\\xe0\\xfe\\x41\\xe6\\xbe\\x87\\xa8\\xab\\x86\\xdf\\x6a\\xf0\\xec\\xa5\\x7e\\x2f\\x98\\x1e\\x86\\xbf\\x47\\xb0\\xb9\\x8f\\x98\\x3e\\x4a\\x9b\\xc7\\xd0\\xf7\\x18\\xbc\\x1f\\xc0\\x3f\\xce\\x81\\xda\\x01\\xf4\\x1d\\xe2\\xfa\\x10\\x5c\\x3c\\x0e\\x8e\\xc3\\x70\\xcb\\x59\\x4e\\x7b\\x02\\x1e\\x9e\\x04\\xdb\\x53\\xc4\\xed\\x29\\xea\\x9f\\x82\\xbb\\xa7\\xc0\\x75\\x04\\xff\\x8e\\xc0\\xd3\\x11\\x70\\x3e\\x4d\\x5c\\x9f\\xe6\\xfe\\x69\\x62\\xf1\\x34\\xb9\\xfe\\x0c\\x76\\x9f\\x61\\x0e\\x7d\\x06\\x1e\\x9e\\x65\\xbc\\x71\\xa6\\xd3\\x9e\\xc3\\xf6\\xf3\\x60\\x7a\\x9e\\x76\\xcf\\xc3\\xe5\\xf3\\x8c\\xbd\\xe7\\xe9\\xfb\\x02\\x39\\xf5\\x02\\x78\\x5f\\xc4\\x2f\\xce\\x79\\xda\\x8b\\xe4\\xc4\\x4b\\xf8\\xfc\\x12\\x3c\\x70\\xbe\\xd3\\x5e\\xa1\\xcf\\x2b\\xf0\\xf1\\x0a\\x71\\x7a\\x95\\xfa\\x57\\xe9\\xff\\x2a\\xf5\\xaf\\x82\\x9d\\x73\\x9d\\xf6\\x1a\\x7d\\x5e\\xc3\\xbf\\xd7\\xc0\\x7d\\x14\\x5f\\x8f\\x82\\xf5\\x28\\xfa\\x8f\\x82\\xf1\\x75\\xf8\\x7a\\x1d\\x8c\\x9c\\xed\\xb4\\x37\\xc0\\xff\\x06\\xfd\\xde\\x00\\xcb\\x9b\\x70\\xf1\\x26\\xf1\\x78\\x8b\\x78\\xbf\\xc5\\xf8\\x7d\\x8b\\xb8\\xbe\\xcd\\xf3\\xb7\\xc9\\x13\\xce\\x74\\xda\\x3b\\xc4\\xe8\\x1d\\xf8\\x78\\x97\\x1c\\x7b\\x17\\xbb\\xef\\x81\\xe1\\x3d\\xfa\\xbe\\xcf\\x3c\\xf4\\x3e\\x1c\\xbf\\x8f\\x5f\\x1f\\xe0\\xd7\\x07\\x70\\xf1\\x21\\xfd\\x3e\\x44\\x17\\x67\\x39\\xed\\x23\\xc6\\xf4\\x31\\xee\\x8f\\xe1\\xd7\\xc7\\x70\\xf5\\x31\\x3a\\x3e\\xc6\\xde\\x71\\x72\\xf2\\x38\\x3e\\x1c\\x27\\x17\\x4f\\xa0\\xeb\\x2c\\x98\\xcf\\xe1\\xf3\\x39\\xee\\xcf\\xc1\\xc3\\x39\\xb0\\x7e\\x43\\x2e\\x7c\\x03\\xe7\\xdf\\xd0\\xef\\x1b\\xfa\\x7d\\x4b\\xae\\x7c\\x4b\\xbf\\x6f\\xc1\\xff\\x1d\\xba\\x7f\\x00\\xeb\\x0f\\xd8\\xfc\\x01\\x9b\\x3f\\x52\\xfe\\x88\\xbf\\x3f\\x53\\xf7\\x0b\\x71\\xfc\\x95\\x76\\xbf\\xa2\\xe3\\x37\\x74\\xfd\\x0e\\xbe\\x3f\\xf0\\xe1\\x0f\\xf8\\xff\\x83\\xb6\\x7f\\xc2\\xd7\\x79\\xda\\x9c\\x87\\xff\\x0b\\xc4\\xe5\\x02\\xdc\\xd4\\xe2\\x57\\x2d\\x6d\\xbd\\xe4\\x82\\x6f\\xb7\\xd0\\xc5\\x08\\xe4\\x7b\\xa1\\xcb\\x95\\xc8\\xef\\x42\\xd7\\x26\\x22\\x2f\\x09\\x5d\\x6f\\x82\\xdc\\x2f\\x74\\x5b\\x3d\\xe4\\xb0\\xd0\\xed\\xa5\\x08\\xcf\\x03\\x68\\x1f\\x40\\x3f\\x47\\x3b\\x64\\x1b\\xf2\\xae\\xd0\\x03\\x43\\x91\\xee\\x48\\x15\\xb2\\x0f\\xf9\\x59\\xe8\\x41\\x6e\\x64\\x2d\\x72\\x42\\xe8\\xc1\\x2e\\x84\\x7e\\xc1\\xdc\\x07\\xbf\\x29\\xf4\\x90\\x40\\x24\\x0b\\x19\\x8c\\x5c\\x10\\x7a\\x28\\xf5\\xa1\\xaf\\x09\\x3d\\xac\\x21\\x82\\x9d\\x30\\x30\\x84\\xcd\\x45\\xc0\\x14\\xb6\\x05\\xd9\\x83\\x1c\\x40\\xc0\\xc5\\x59\\x49\\x0f\\xfb\\x42\\xe8\\xe1\\xf4\\x0f\\xa7\\x7f\\xf8\\x7c\\x04\\xfc\\x11\\x5c\\x47\\x70\\x1d\\x01\\xb6\\x08\\x30\\x45\\x62\\x23\\x12\\x4c\\x9c\\xa1\\xf4\\x48\\x74\\x44\\xa2\\x3f\\x4a\\x20\\xb9\\x48\\x05\\x82\\xcd\\xa8\\xe7\\x84\\x1e\\x6d\\x43\\xfa\\x22\\x8b\\x11\\xfc\\x8c\\x06\\x7b\\x0c\\xba\\x63\\xca\\x90\\x0d\\xc8\\x11\\xa1\\xc7\\xa2\\x27\\x96\\xf6\\xb1\\xe0\\x88\\x05\\x7f\\x2c\\x6d\\xe2\\xc0\\x1a\\x07\\xbe\\x38\\x9e\\xc7\\xc1\\x4b\\x3c\\x7c\\xc4\\x63\\x3f\\x1e\\xff\\x13\\x62\\x11\\xfa\\x24\\xc0\\x47\\x02\\x78\\xeb\\xb5\\x44\\xe8\\x57\\x9f\\xfe\\x0d\\xe0\\xa2\\xc1\\x39\\xa1\\x27\\xd2\\xbe\\x21\\xdc\\x36\\x84\\xa7\\x86\\xe8\\x6e\\x78\\x5c\\xe8\\x8d\\xe0\\xbc\\x11\\x3a\\x1a\\x71\\x9d\\x04\\x86\\x24\\x70\\x26\\xd1\\xdf\\x89\\x2d\\x27\\xd7\\x4e\\x7c\\x73\\x9e\\x16\\xba\\x8b\\x6b\\x17\\x3e\\x27\\xa3\\x37\\x19\\x9e\\x92\\xf1\\x23\\xa5\\x23\\x42\\xdf\\x14\\x7c\\x48\\x81\\xd3\\x54\\xee\\x53\\xb1\\x9f\\x4a\\x0c\\x39\\xc3\\xe9\\x8d\\xd1\\xd1\\x98\\x18\\x34\\x26\\x66\\x8d\\xd1\\x9f\\xc6\\x7d\\x1a\\x9c\\xa5\\xad\\x46\\xe8\\x9f\\x46\\x9f\\x74\\xfa\\xa4\\xa3\\x23\\x1d\\x1d\\xe9\\xdc\\x67\\xc0\\x55\\xc6\\x14\\x04\\xbb\\x19\\xc7\\xff\\x5d\\x9a\\xc0\\x6f\\x13\\xb8\\x6e\\x8a\\xee\\xa6\\xf0\\xd0\\x8c\\xb2\\x19\\x36\\x9b\\x11\\x8f\\x4c\\x62\\x9a\\x49\\xfc\\xb2\\x7a\\x22\\x70\\xd1\\x1c\\xdf\\x9b\\x13\\xd3\\x16\\xf8\\xdf\\x02\\x9e\\x5b\\x80\\x91\\x73\\xa2\\x9e\\x4d\\xd9\\x12\\xee\\x5a\\x62\\xb3\\x15\\xfd\\x5b\\x81\\xbf\\x35\\x7a\\x5b\\x17\\x21\\xc4\\x3d\\x07\\xbc\\x39\\xf0\\x9f\\x4b\\xdb\\x5c\\x38\\x68\\x83\\xbd\\x36\\xe8\\x6d\\x43\\x0c\\xda\\xc2\\x69\\x5b\\x7c\\x6e\\x5b\\x2d\\xf4\\xbc\\x48\\x84\\x5c\\xca\\xdb\\x89\\xe0\\x5f\\x3b\\x72\\xb4\\x1d\\xfe\\xb5\\xc3\\x9f\\x76\\xd4\\xb5\\x03\\x43\\x3b\\x7c\\x6c\\x0f\\xe7\\xed\\xe9\\xd7\\x1e\\x1e\\x3b\\xa0\\xb3\\x03\\xf9\\x7a\\x05\\x39\\xd3\\x91\\xfc\\xe9\\xd8\\x57\\xfd\\x77\\x15\\x38\\xff\\xaf\\xb7\\xfe\\x5b\\x00\\xba\\x70\\x88\\xb0\\x7d\\x76\\xa9\\x07\\x08\\x91\\x7d\\x34\\xff\\x68\\xab\\x96\\x39\\x51\\xc9\\x51\\x7a\\x72\\x54\\xf2\\x7a\\xfd\\xee\\x39\\xb5\\x3d\\xb4\\x83\\xf6\\x82\\x3f\\x1f\\xb7\\xbd\\x7e\\x5e\\xfd\\xf1\\x53\\xa1\\xc9\\xc9\\x00\\xdf\\x6c\\xf5\\xab\\xef\\x0e\\x91\\x76\\xb7\\xcd\\xbe\\x7d\\xb8\\x4d\\xd7\\x74\\x91\\x9f\\x93\\x9d\\x29\\x1a\\xd4\\x8b\\x7c\\xbd\\x55\\x4b\\x99\\x1a\\x93\\x2c\\x63\\x92\\x75\\xed\\xb9\\xb3\\xeb\\x65\\x7a\\xed\\xbb\\xb9\\xd2\\x95\\x2b\\xef\\xd5\\xb7\\xfe\\xf9\\xb8\\xfa\\x75\\x3b\\xa5\\x67\\x98\\xde\\xd7\\xb6\\xc6\\x7e\\xd4\\xd0\\x13\\xeb\\x0e\\xb2\\x03\\xe9\\x9e\\xe1\\x01\\x9a\\x40\\x4b\\x66\\x94\\xc8\\xb1\\x54\\x20\\xfa\\x97\\x2f\\x96\\xca\\x98\\xda\\x0d\\x7c\\x46\\xe9\\x7d\\xb5\\x25\\xb5\\x8b\\xb4\\x25\\x34\\xae\\x07\\xfe\\xb3\\xe0\\x48\\x14\\x4e\\x31\\xd8\\xdd\\x2c\\x24\\xd0\\x61\\x0b\\x0d\\x0b\\x7d\\xc8\\x93\\xd4\\x28\\x5c\\x86\\x39\\x1b\\x46\\x88\\xc8\\xa8\\xc8\\x87\\x3c\\xf5\\xe3\\xe3\\xa2\\xa3\\xc2\\xf8\\x9f\\xbd\\x5e\\x42\\x6c\\x8c\\x1e\\x1c\\x14\\x60\\x17\\xd9\\x39\\x39\\x39\\xf9\\x48\\x74\\xfb\\xf6\\xd9\\xd9\\x51\\x5c\\x18\\x06\\xf9\\xa9\\x7b\\x8d\\x7d\\x3d\\xc7\\x91\\xac\\x2b\\x00\\xa9\\x31\\xa9\\x79\\x39\\x48\\x72\\x4c\\x8e\\xae\\x44\\xd5\\x27\\xc7\\xe8\\xdf\\x2f\\xfb\\xa6\\x91\\xf7\\xc7\\x0d\\x5b\\x37\\x7a\\x5f\\xdd\\x70\\xcb\\x86\\x07\\x1b\\xbd\\xbe\\xfc\\x54\\x23\\xa9\\x6f\\xba\\x65\\xa3\\xcc\\xe5\\xe3\\x60\\xa3\\xda\\xd2\\xe5\\xb2\\xcd\\x72\\xbd\\x9b\\xf7\\xf0\\x46\\xef\\x26\\x39\\x49\\xc9\\x46\\xd9\\x7d\\x83\\x9c\\xe6\\xbd\\x59\\xc9\\x06\\xef\\x61\\xf5\\x07\\xdf\\xd4\\xbf\\xda\\x6b\\xe2\\x2b\\xb1\\x3d\\x65\\xff\\x44\\x64\\x8a\\x1c\\xd1\\x49\\xf4\\x72\\x37\\x75\\x65\\xc5\\x67\\x55\\x7a\\xea\\x25\\xb8\\x5b\\xe4\\x24\\x87\\xb4\\xcf\\x0d\\xd0\\x62\\x1b\\x49\\xad\\x91\\x0c\\xb3\\x35\\xaa\\x1f\\xef\\xe8\\x10\\xac\\x05\\x57\\x7a\\xa4\\xc8\\x0c\\xd0\\x1a\\xc0\\x56\\xce\\xd1\\xd6\\x0a\\x73\\x3d\\xae\\x46\\x8f\\x1a\\x39\\x32\\x3a\\xa1\\x7d\\x03\\xb3\\xa6\\x55\\x4b\\x7b\\x6a\\x5e\\x0b\\xd9\\x26\\x2d\\x2e\\x36\\x3e\\x21\\xa6\\x85\\x4c\\xe5\\x3a\\xb7\\xb3\\x96\\x2f\\x73\\x1c\\x49\\x32\\xc1\\xde\\x26\\x37\\x43\\x4f\\x48\\xd2\\xe2\\x62\\xc3\\x35\\x47\\x4c\\x40\\x84\\x8c\\xa5\\x32\\x26\\xb7\\x85\\x96\\xa1\\x77\\xd6\\xb4\\xb8\\xa9\\xc9\\xef\\xbd\\x26\\x83\\x46\\x8e\\xed\\xab\\x25\\xd8\\x9e\\xba\\xb5\\xcb\\x8a\\x17\\x16\\x35\\x98\\xda\\xe0\\x99\\x7d\\x41\\xde\\xef\\x37\\x16\\xc4\\xdd\\xb9\\xb6\\x7f\\xef\\x1b\\xdf\\x5e\\x3d\\xfb\\x60\\x23\\x5b\\x83\\xe6\\x83\\x7e\\x4d\\xca\\xed\\x9e\\xd1\\x73\\xc8\\xec\\xf6\\xf7\\xdd\\x1f\\xf8\\xf8\\xd3\\xd9\\x21\\x53\\xc7\\x04\\xcb\\xeb\\x34\\x7b\\x8b\\x2d\\x55\\x43\\xf6\\x5c\\xdd\\xd5\\xbe\\x62\\x85\\x63\\xd7\\x63\\x19\\x8e\\x3b\\xe3\\xbc\\x3b\\x6d\\x4d\\x07\\xce\\x1d\\x3a\\x6a\\xff\\xa2\\x1e\\x01\\xb6\\xf5\\xe1\\x37\\xa7\\xbb\\x9a\\x25\\x25\\x79\\xcb\\x1b\\xb7\\x70\\xc5\\x85\\x7a\\xd7\\x05\\xb4\\x1b\\xa7\\x7e\\xe1\\xd0\\xf7\\xae\\xef\\x67\\x7b\\x4b\\x7b\\x31\\xac\\x44\\x89\\x24\\x18\\x69\\x27\\x72\\xdd\\xc9\\xce\\xec\\xc7\\x3c\\x69\\xce\\xfd\\xc3\\xd3\\xda\\x50\\xc6\\x84\\x24\\x3e\\xe6\\xb1\\x85\\xec\\x1f\\x6e\\x8b\\xa3\\x54\\x99\\x27\\x49\\xdd\\xd6\\xf9\\x39\\xf9\\x99\\x99\\x99\\xa2\\x9e\\xfa\\x24\\x89\\x53\\x65\\x4e\\x5a\\x6b\\xe5\\x5c\\x6a\\x8a\\xf2\\x3a\\x21\\x37\\x3d\\x35\\x25\\x5c\\xc6\\xc5\\xe6\\xb4\\xee\\x2c\\xa5\\x7a\\x20\\xff\\xe6\\xc1\\xd2\\x87\\x6c\\xf7\\xed\\xbd\\xb0\\xfe\\x4c\\x76\\xd9\\x72\\xcf\\x97\\xad\\x46\\x2f\\x5f\\xdb\\x2c\\xa3\\x75\\x41\\x56\\x49\\xf3\\x1e\\x99\\xf2\\xdd\\xb3\\x43\\xee\\xa8\\xfa\\xb2\\xd5\\xc8\\xe5\\x37\\x5f\\xac\\xb3\\xf7\\x0a\\x3c\\x3e\\xe0\\x91\\x65\\xdd\\x4e\\xf7\\x3d\\xb8\\xb8\\xe3\\xb7\\xed\\x5b\\xf4\\xdc\\x7d\\xc5\\xe4\\x3e\\x3b\\xbd\\xb3\\x3f\\xb9\\xea\\xc4\\xec\\xd3\\x7d\\xf7\\x2f\\xee\\x7c\\xb1\\x4e\\xe8\\xbe\\x6f\\x7c\\xdf\\xd8\\x96\\xd9\\xfb\\x89\\xc6\\xa2\\x85\\x68\\x2f\\x46\\xb8\\xdb\\xdb\\x22\\x62\\x23\\xb4\\x30\\x3d\\x22\\x43\\x46\\x84\\x49\\x91\\x27\\x23\\xec\\x79\\x61\\x19\\x11\\xb1\\x69\\x8d\\x1c\\xce\\x00\\x67\\xf3\\x62\\x8f\\x33\\x5e\\x44\\x45\\x46\\x69\\x41\\x7a\\x54\\x54\\x40\\x62\\x62\\x7c\\x91\\x27\\x31\\x3e\\xa0\\x75\\xb1\\x27\\x80\\x71\\x66\\x78\\x19\\x15\\x2d\\xda\\xd7\\xcb\\x26\\xe4\\xc6\\x65\\x42\\x7b\\x15\\xfc\\x91\\x7c\\x90\\xb9\\xe9\\x38\\x26\\x73\\x5a\\xc7\\x2b\\x2f\\x1d\\xf1\\x09\\x6d\\xf3\\x12\\x02\\x1c\\xf1\\x39\\xad\\xf3\\x1c\\x01\\xa9\\x29\\x19\\x08\\xcf\\xa3\\x65\\x7a\\x86\\xf2\\x9a\\x6a\\xa9\\x18\\x08\\x88\\x8b\\x4d\\x80\\x98\\xaa\\xc4\\xb1\\x2f\\x2c\\x5f\\xbe\\x75\\xe8\\x63\\x0f\\xb9\\x47\\x4c\\x76\\xbf\\xe0\\xd9\\x54\\x30\\xa4\\x5d\\x93\\xf4\\x66\\xed\\xef\\xa8\\x3c\\xf0\\xe2\\xc1\\x23\\x6f\\xc8\\x3d\\x8b\\xba\\x94\\x8e\\x1f\\x3e\\x68\\x82\\x1c\\x98\\xd3\\xa6\\xa4\\x22\\xee\\xb6\\xe9\\x7a\\xc8\\xd0\\x11\\x33\\x0f\\x55\\xcc\\xbd\\x72\\xc8\\x8d\\x8b\\x7b\\xdf\\xbb\\xec\\x96\\xfb\\x12\\xbf\\x7d\\xbe\\x57\\xd4\\x73\\x71\\x95\\xd7\\x6c\\xbe\\x69\\x87\\x0c\\xf4\\xb6\\x79\\xec\\xe1\\xe6\\xeb\\x87\\xf6\\x2d\\xd6\\xef\\x6b\\x96\\x33\\xb3\\xac\\x6b\\xa7\\xae\\x53\\x85\\xd4\\x3a\\xeb\\x7d\\xf5\\xbb\\x8d\\xb1\\x1f\\xfa\\xa8\\x1a\\xf6\\x6a\\xd4\\x67\\x9a\\x23\\x5e\\xb7\\xfb\\xc7\\xb9\\x90\\xb2\\x95\\x77\\xa8\\xad\\xd8\\xfe\\x9a\\x08\\x13\\xc1\\x8f\\x30\\x3d\\x25\\x8a\\xfc\\x7c\\x5a\\x69\\x51\\xb9\\x0d\\x64\\x5e\\x72\\x40\\xb0\\x8c\\x8b\\x8c\\x91\\xcf\\x6f\\x98\\xf5\\xe9\\x3e\\x59\\xff\\xe0\\xa7\\x57\\x6d\\xf2\\x0e\\x95\\x4d\\x64\\xdb\\xd7\\x65\\x8d\\xdc\\xf2\\xca\\x3b\\xde\\x2b\\xbd\\x59\\x47\\xbd\\xaf\\x78\\x5f\\x13\\x52\\xcc\\xf1\\x0e\\xd5\\xb7\\xa0\\x27\\x1c\\x3d\\x0e\\xbf\\x9e\\x98\\xb6\\x0d\\x18\\x0f\\x5a\\x46\\x72\\x74\\x54\\x6c\\xb0\\x74\\xcc\\x79\\xe2\\xf8\\xcc\\xde\\xfd\\x64\\xfd\\x8d\\x33\\x3f\\x39\\xe4\\x1d\\xfa\\xbe\\xdc\\x24\\xdf\\x7d\\xf5\\x76\\x99\\xb5\\xcd\\xfb\\xbe\\xf7\\xf5\\x97\\xbc\\x0d\\xbd\\x63\\xdf\\x54\\x63\\x55\\xca\\xbe\\xda\\x5b\\xb6\\x72\\xf5\\x7b\\xb1\\x22\\xec\\x51\\x61\\x97\\xf6\\x30\\xb0\\x1f\\x55\\xa4\\xa7\\x25\\xd8\\x13\\x1c\\x19\\x8e\\x8c\\xbc\\x8c\\xbc\\x04\\x26\\x89\\xee\\xc2\\x97\\xe4\\xfd\\x73\\xdd\\x9b\\xe5\\x2f\\xdc\\x5e\\xf3\\xed\\xa4\\x8f\\x53\\x3f\\xb0\\x1d\\x9c\\xf8\\x7c\\xa7\\xf7\\xe6\\x5d\\xb8\\x70\\xcd\\x3b\\x9d\\x9e\\x9f\\x28\\xa3\\xc1\\x35\\x4e\\xec\\xb2\\x4d\\xb4\\xed\\x15\\x21\\x6a\\x06\\x14\\x36\\xbb\\xed\\x01\\x4f\\x90\\xfd\\x91\\x4b\\x33\\x60\\x54\\x6a\\x54\\x72\\x9b\\xe4\\x28\\x26\\xe4\\x38\\xed\\xfd\\x93\\xde\\x99\\xf2\\xa6\\x93\\xf2\\x66\\xad\\xbd\\x77\\xa2\\xdc\\x72\\x42\\x6e\\xf1\\x4e\\x3c\\x81\\x8e\\x81\\xde\\x8d\\xda\\x7e\\x99\\x09\\x97\\x21\\xfb\\xa4\\xd8\\x36\\x5c\\x8a\\x6c\\xa8\\x8c\\x91\\xc9\\x72\\xa0\\x6c\\x26\\xaf\\xf0\\xf6\\xe4\\xf9\\xa6\\xda\\x49\\x06\\xf6\\x4c\\x79\\x8b\\xbe\\x5d\\x5b\\x63\\xb5\\x7d\\xdc\\x63\\xb6\\x85\\x4b\\x87\\xcc\\xcc\\xd6\\xba\\x67\\xcb\\x5b\\x7e\\xfe\\x59\\xb5\\x53\\x7f\\x2f\\xf2\\x65\\xd9\\xca\\x68\\x27\\xe4\\xd6\\xe1\\xc2\\x68\\x97\\x4c\\x74\\xe4\\xd4\\x2b\\x64\\xf2\\x15\\x04\\x46\\xfd\\x49\\x4a\\xdf\\x39\\xdf\\x39\\x7b\\x53\\x78\\xd5\\x45\\xf8\\xa3\\x9a\\xa4\\x88\\x11\\xf9\\x8c\\xc3\\x56\\x2d\\x1d\\x32\\x47\\xc6\\xda\\x3c\\xa7\\xcf\\xdf\\x17\\x6b\\x3f\\xf1\\xa7\\x4b\\xcd\\x71\\x57\\xf9\\xce\\xd9\\xd6\\xda\\x87\\xc1\\x5b\\x43\\xe1\\x12\\xf9\\xee\\x8c\\x88\\x46\\xce\\x46\\x5a\\x58\\x23\\x77\\x44\\x92\\x33\\x29\\x3f\\x69\\x40\\xd2\\x4d\\x49\\x4f\\x25\\x05\\xc4\\xe9\\x49\\x49\\x81\\x22\\x30\\xba\\xca\\x13\\xc8\\xf2\\x52\\xe5\\x11\\xf5\\x2f\\xcf\\xf6\\x06\\x47\\x55\\x8a\\xdb\\x55\\x0e\\x37\\x90\\x6d\\x73\\x5c\\x2a\\x78\\x01\\x31\\x46\\x0a\\x6b\\x46\\x3a\\xb7\\x8d\\x96\\x79\\x39\\x0e\\xf9\\xeb\\x53\\xcf\\x97\\xef\\x39\\x77\\xa7\\x5c\\x36\\xaa\\xfa\\xe7\\x6f\\xfa\\x14\\x55\\x2e\\xab\\x18\\xd8\\x77\\xc6\\xf5\\xa3\\xbd\\xcb\\x5a\\x7e\\xd0\\x32\\xf6\\xa3\\x77\\xb6\\xca\\x9b\\x65\\xd4\\x32\\xef\\xa8\\x5b\\xbc\\x55\\xde\\x33\\xab\\xf5\\x0f\\xca\\x86\\x3f\\xea\\x2d\\x58\\x7e\\xe5\\xd0\\x17\\xe4\\x7e\\xef\\x99\\x3f\\xfe\\x30\\x62\\x2d\\xb2\\x58\\x63\\xda\\xb2\\xc6\\x84\\x8b\\xd6\\xee\\xc4\\x08\\xdd\\xa9\\x6b\\xe1\\xba\\x1e\\x1c\\xe0\\x08\\xa8\\xf4\\x38\\x1c\\x21\\xc1\\x01\\xa1\\x9a\\xd0\\x2a\\x3d\\x2c\\x45\\xf9\\xfe\\x19\\x38\\xdb\\x00\\x6a\\x8c\\xc2\\x1c\\xd6\\x0b\\x26\\x99\\xbc\\xd6\\x6d\\xf3\\x58\\x2e\\x1c\\x59\\x4d\\xe5\\xf2\\x07\\xda\\xf9\\x16\\x35\\x5b\\xfd\\x53\\x5f\\x19\\xfc\\x89\\xec\\xd6\\xf4\\x2d\\xfd\\x9a\\x41\\xd3\\xdf\\xbf\\x66\\xd2\\xf9\\xd5\\x6f\\x61\\x2b\\x1a\\x5b\\x3b\\xe1\\x27\\x51\\xb4\\x70\\xd7\\x8b\\x88\\x91\\xe1\\xb6\\x98\\x00\\x11\\x1a\\x19\\x19\\x54\\xe5\\x89\\x74\\xc8\\xfa\\xa2\\xfe\\xac\\x3a\\x86\\xd4\\x27\\xcb\\x97\\x65\\xa7\\x6d\\x5a\\x67\\x32\\x59\\x31\\xe0\\x48\\x6b\\xdb\\xd8\\x18\\xf7\\x01\\x0e\\x46\\x7e\\xb2\\x23\\x3a\\x7d\\xab\\x1c\\x79\\x78\\xdd\\x80\\x01\\xc3\\xae\\x4a\\xf6\\x7e\\xd1\\x49\\x26\\xbd\\xf3\\xd4\\x47\\x87\\xf6\\x9e\\xda\\xde\\x54\\xbb\\xb1\\xf9\\xb3\\x5f\\x7f\\xbf\\x64\\x53\\xff\\x76\\xf9\\xe5\\xe5\\x91\\xcf\\xbe\\xb1\\x7d\\xd5\\x8a\\x6f\\xe7\\xdd\\xba\\xa4\\x5b\\x8d\\xe1\\xf7\\x15\\xbe\\x2f\\x6d\\x77\\x80\\xa5\\x85\\xe8\\xe4\\x4e\\x49\\x8f\\x8e\\x8a\\x8e\\x9a\\xe5\\x89\\x88\\x76\\x46\\xef\\x88\\xd6\\x23\\xf5\\xe8\\x68\\x91\\xe8\\x74\\x12\\x1b\\xa7\\x43\\x00\\x2e\\x40\\x85\\xa8\\xb5\\x19\\x23\\x05\\xca\\x08\\x92\\xc1\\x82\\x15\\xa5\\xbc\\x34\\x73\\x6e\\x05\\x61\\x26\\x91\\x69\\xdd\\xd6\\x80\\x7a\\x11\\x69\\xb8\\x8c\\x90\\x49\\x52\\x4d\\xd4\\xf2\\xcf\\x0f\\x6b\\xa4\\x4c\\x79\\xb1\\xdf\\xdc\\xae\\x8b\\xe7\\x8d\\xc9\\x1a\\xb1\\x72\\x6b\\xe9\\xc0\\x27\\x5a\\x7b\\xbf\\x6e\\x27\\x9b\\xbd\\xfd\\xfc\\xf1\\x92\\x3d\\x55\\xf2\\xfa\\x75\\x43\\x6e\\x3d\\x96\\xf0\\xf0\\x83\\x8d\\x82\\xeb\\x47\\xdd\\xd7\\x61\\x4a\\xfb\\x82\\x3e\\xa7\\xaa\\x46\\x75\\xee\\x73\\x4f\\xec\\xbe\\xa7\\xb7\\xde\\x30\\xf4\\x8e\\xa9\\xf1\\xb6\\xa8\\xe5\\x93\\x8a\\xf7\\x2f\\x28\\x60\\x7f\\x10\\x0f\\x9f\\xd7\\x11\\xbb\\x60\\x98\\x6d\\xea\\x8e\\xd5\\x85\\x2d\\xc2\\x56\\xe9\\x89\\x0c\\xb4\\x47\\x44\\xc8\\x10\\x47\\x40\\x80\\x26\\x61\\x53\\xed\\x03\\xa2\\xdb\\x67\\xfb\\x97\\x7d\\xb5\\xe8\\x93\\xe5\\x79\\x32\\x99\\x35\\x5e\\x82\\x28\\x39\\xa6\\xad\\x7e\\x47\\x3b\\xef\\xcf\\xed\\x6a\\x17\\x35\\xd5\\x7e\\x97\\x1d\\xee\\x3a\\xdc\\xc4\\x7b\\x22\\xb0\\x5b\\x96\\x77\\x8c\\xdc\\x38\\x2c\\x49\\x3a\\xbd\\x9f\\x4b\\xe7\\x3b\\xfa\\xa0\\x0b\\xf7\\xbd\\xa5\\xb7\\x0e\\x1b\\x9a\\xe7\\xed\\x20\\x5f\\x52\\xff\\xcd\\xa8\\x6e\\xe4\\xfa\\x83\\xd8\\x4e\\x12\\x3d\\xdc\\x4d\\x22\\xa3\\x22\\xa2\\x9c\\x51\\x5a\\x88\\x3d\\x2a\\xbc\\x5e\\xf8\\x2c\\x4f\\x7c\\x44\\x3d\\x67\\x3d\\x2d\\x52\\xaf\\x57\\x2f\\x5a\\x44\\xc7\\x55\\x7a\\xa2\\x03\\x84\\xa3\\xca\\x63\\xaf\\xc3\\xa2\\x3f\\xd3\\x0d\\x4c\\x94\\x51\\x39\\x06\\x93\\x9d\\x64\\x5a\\xbc\\xc5\\x23\\xf4\\x01\\x93\\x5d\\x48\\x5b\\x83\\x42\\xcd\\x26\\xcf\\x1d\\x3d\\x2e\\x93\\xec\\xfb\\x06\\x2f\\xee\\x39\\x7a\\xd8\\xec\\xe1\\xde\\x6f\\x9f\\xd7\\x07\\x34\\xa9\\xad\\x1e\\x7a\\xf5\\xe6\\x07\\x8e\\xec\\xf2\\x9e\\x8a\\xdd\\xff\\x40\\x64\\xc2\\xfd\\x03\\x36\\xf6\\x19\\x30\\x62\\xb8\\x76\\xfe\\x2d\\xef\\xa1\\x61\\xfb\\x77\\x6c\\xf3\\x9e\\xdb\\xa4\\xfe\\xae\\xc0\\x22\\xb0\\x6e\\x26\\xd6\\x0d\\x45\\x33\\xe1\\x76\\xa7\\xc5\\xb9\\x80\\x24\\x44\\x5c\\x64\\x9c\\x2b\\x4e\\x0f\\xd2\\xe3\\xe2\\x18\\x8d\\x11\\x8c\\xc3\\x50\\x19\\x11\\x10\\xca\\x98\\xcc\\xb8\\x34\\x26\\x73\\xfc\\x81\\x36\\xd0\\x46\\xb7\\xcf\\xac\\x33\\x2c\\x5b\\xc7\\x27\\xd8\\xd9\\x71\\x90\\x91\\xfe\\x85\\x48\\x8b\\xf1\\x2f\\xb4\\x86\\x17\\x5a\\xec\\xb3\\x6f\\x8f\\xdb\\xfb\\xeb\\xf6\\x7d\\x0f\\x85\\x78\\xbf\\xb7\\x0f\\xb8\\xe2\\xaa\\x7b\\x9b\\x76\\x7c\\x68\\xdc\\xf6\\x47\\x4a\\x36\\xbf\\xb3\\x63\\xf0\\x90\\xc2\\x59\\x6e\\x4f\\xff\\x9e\\x95\\xdd\\x62\\xbf\\xfb\\xec\\x36\\x79\\xb5\\x74\\x5c\\xbb\\xfd\\xae\\xb4\\xde\\x5d\\x3e\\x7a\\xab\\x4f\\xd1\\xfd\\x9b\\x27\\x7f\\x76\\xdb\\x50\\x2d\\xa4\\xef\\xf0\\xc2\\x39\\x83\\x3c\\xd3\\x8a\\x6e\\x56\\xf9\\x4a\\xd6\\xda\\x3e\\x37\\x62\\x1d\\xe7\\x0e\\x0e\\xb4\\x07\\xd8\\x67\\x79\\x02\\x02\\xd4\\x68\\xc9\\x37\\x27\\xd2\\xa6\\x6a\\xb6\\x4d\\x66\\x9a\\x0b\\x94\\x5a\\xa8\\xf7\\xe3\\x1c\\x39\\x44\\xe6\\xd7\\x76\\x6f\\xae\\x3f\\x9d\\xe9\\x7d\\xda\\xfb\\x92\\xb4\\x6b\\x49\\xf2\\x8a\\x9a\\xcf\\xbc\\xf7\\xd4\\xfe\\x6c\\xee\\xc7\\x0a\\xe0\\x64\\xa7\\xc1\\x49\\x13\\x91\\x2b\\xb2\\xdd\\xf5\\xe2\\x1c\\x69\\x99\\x69\\x99\\xb3\\x3d\\x69\\x69\\x22\\x22\\xc2\\x39\\xdb\\x13\\xe1\\x10\\xad\\x66\\x5f\\x3e\\x39\\x19\\x85\\x3f\\xeb\\x3b\\xcb\\x7c\\x69\\xec\\xb7\\x4c\\xf7\\x03\\xcc\\x24\\x0f\\xb0\\xc5\\xe4\\x5e\\xda\\x6d\\xe8\\x75\\xae\\xe5\\x9f\\x6f\\x9f\\x1a\\x7e\\xf7\\x38\\x39\\x66\\xc2\\xca\\xdf\\x76\\xbd\\xf0\\xfe\\xc1\\x95\\x72\\xda\\xfc\\xb5\\xde\\x9f\\x8f\\x6e\\xed\\x51\\x91\\x73\\x4b\\xdf\\x2b\\x33\\x8b\\x0e\\x15\\xcf\\xea\\xb4\\x7f\\xc8\\xac\\x2b\\x62\\x77\\x6f\\x19\\xff\\xd0\\xec\\x48\\x5b\\xc2\\xb2\\xa1\\xd3\\x5e\\x9c\\xb2\\xfe\\xfa\\xeb\\xdf\\x6e\\x60\\x8b\\xba\\x6e\\xc2\\xfc\\xd3\\x57\\xdb\\x32\\x17\\x76\\x98\\xd6\\xf9\\xba\\xae\\xf3\\x6b\\xcf\\x6e\\xee\\x71\\x5d\\xcf\\xad\\xbd\\xd6\\xa9\\xf8\\x8e\\xc2\\x97\\x1b\\xf0\\xa5\\x81\\xc8\\x20\\xbe\\xe9\\xa1\\x69\\x95\\x9e\\xa0\\xd8\\x88\\x50\\x67\\x68\\x76\\x28\\xf1\\x0d\\x0d\\x15\\xb1\\xb1\\x49\\x55\\x9e\\x58\\x87\\x08\\xa8\\xf2\\x5c\\x69\\x93\\x43\\x6c\\xd2\\x66\\xe4\\xe2\\xc8\\x91\\x7f\\xcd\\x46\\x7f\\x7c\\x33\\x54\\x16\\xb6\\xcd\\x53\\xdb\\x27\\xe5\\xa6\\x66\\xcd\\xc0\\xb2\\x4e\\x74\\xdb\\xca\\x0f\\x0e\\x3d\\x1a\\x2c\\x23\\x83\\xd7\\xcc\\x7c\\xa0\\x59\\x9b\\xc7\\xc7\\x6f\\xd9\\x3b\\x68\\xfb\\x27\\x4b\\xe5\\xea\\xf1\\x8f\\x5d\\x90\\xa2\\xb4\\x5f\\x61\\x55\\xf7\\xa1\\xbd\\xa7\\x6c\\x8a\\xdd\\x79\\x5f\\xda\\xfa\\xb7\\xdf\\xec\\x3d\\x64\\xef\\xf6\\xab\\x3e\\xde\\x39\\xc8\\x3b\\x74\\x87\\x77\\x9e\\xf7\\x9b\\xd5\\xfa\\x1b\\xc3\\x27\\x16\\xdd\\x3c\\x60\\xd0\\xa8\\xed\\xe6\\x79\\x83\\xb5\\x48\\x2f\\xb7\\x75\\x32\\xce\\x09\\xf1\\xee\\x10\\xbb\\x6d\\xeb\\x70\\x7b\\x84\\x7f\\x51\\x52\\x08\\x8d\\x85\\x29\\x44\\x5e\\x5c\\x9c\\xae\\xf7\\xaf\\x50\\x7a\\xa8\\xb9\\x4e\\x69\\x62\\x93\\x77\\xa3\\x3e\\xa9\\xae\\x8e\\x6d\\xc3\\xed\\x52\\x6c\\x1d\\x2e\\x23\\x8c\\x00\\x1a\\x8b\\x20\\xfd\\x83\\x58\\x34\\xb5\\x70\\xd5\\xbd\\x76\\x82\\xb9\\x76\\x9a\\x2a\\xce\\x5f\\x6f\\xac\\xa0\\x6a\\xbd\\x5e\\x60\\x53\\x7f\\x4b\\x2b\\x40\\x34\\x74\\x47\\xe6\\x07\\xc8\\x80\\x96\\x9a\\xd4\\x22\\x6c\\xf9\\xb6\\xe9\\x36\\x1d\\xd6\\xb2\\x47\\x1e\\x1d\\xa9\\xb6\\x02\\x31\\x51\\x32\\x2e\\x48\\xc6\\x8d\\xb3\\xe9\\x17\\x9e\\xd2\\xbb\\x30\\x3a\\xbb\\xca\\xeb\\x4e\\x7b\\x1f\\xf7\\x1e\\x3e\\x05\\x96\\x71\\x32\\x15\\x1d\\x4d\\x0d\\x2c\\x5d\\xdc\\x2d\\x6d\\xf6\\x07\\x3c\\xa3\\xe9\\xff\\x99\\x4d\\x8f\\xb0\\x39\\xb9\\xb8\\xc9\\x66\\x0b\\xd2\\x6d\\x52\\x3c\\xe0\\x89\\x94\\x2e\\x39\\x43\\xae\\x95\\x36\\x97\\x74\\xcb\\x9d\\xf2\\x88\\x7c\\x53\\x82\\x3a\\x7b\\xe4\\x4c\\x05\\x99\\x88\\xcc\\x54\\xeb\\x7c\\x9b\\xe4\\x38\\x89\\x60\\xeb\\x7c\\xad\\x4d\\xd7\\x7b\\x7f\\xf6\\x59\\xed\\x47\\x9f\\x7c\\xf2\\x17\\xac\\x2e\\x77\\x74\\x80\\xbd\\x25\\x71\\xcd\\xa7\\x3a\\x42\\xcb\\xd7\\xa6\\x6b\\xba\\xe6\\x47\\xab\\x26\\xbd\\xbc\\x36\\x41\\xb2\\x8d\\x8c\\x1a\\xa7\\xbb\\x2f\\x1c\\xb1\\xe9\\x0b\\x4e\\xc9\\xee\\xb2\\xe0\\x34\\xc1\\x50\\x7f\\x4a\\x5a\\xfd\\x8b\\x26\\xdb\\x7e\\x63\\x5d\\x72\\x8a\\x0e\\x6e\\x67\\x50\\x7c\\x84\\x74\\x4a\\x2d\\x44\\x97\\x32\\xa6\\x61\\xc3\\x46\\xdb\\x87\\x37\\x64\\x3e\\x0d\\xb5\\x45\\xc4\\xc4\\x84\\x8e\\xf6\\xc4\\xd8\\xcc\\x05\\x0a\\x70\\xd6\\x70\\x30\\x80\\xaa\\x41\\x21\\x93\\x3b\\xeb\\x79\\x7f\\xbb\\x4c\\x19\\xc7\\xc4\\xad\\xde\\x5f\\x22\\x72\\x7a\\x94\\x2e\\x1d\\xdc\\xaf\\x7c\\xd4\\xb8\\x1d\\x4e\\xef\\x99\\xae\\xb2\\xfb\\x89\\xa3\\xe7\\x6e\\x5c\\xb1\\x78\\xae\\xf7\\xc6\\x5c\\x99\\x9c\\x2b\\x37\\x5d\\x31\\xaa\\xb8\\x5b\\x49\\x9b\\xf1\\x1d\\x3a\\x0e\\x98\\x35\\x26\\xf4\\xd5\\x93\\x77\\xae\\x9f\\xff\\x44\\x71\\xbf\\xab\\xbc\\x19\\xc6\\x81\\x52\\x13\\x21\\xde\\x33\\xb6\\x1a\\xf6\\x22\\x5d\\xc5\\x00\\x31\\xc5\\xed\\x16\\x49\\xef\\x79\\x84\\x08\\x0a\\xea\\xf3\\x9e\\x27\\x20\\x28\\xb2\\xe0\\x3d\\x4f\\x7c\\x7c\\x6c\\x64\\x44\\x90\\x33\\x68\\x74\\xd0\\xf4\\xa0\\x45\\x41\\xf6\\x10\\x11\\x29\\x19\\x00\\x91\\x41\\x91\\xb9\\x1d\\x3b\\xa6\\xbd\\xa7\\xfe\\x49\\x42\\xcb\\xc8\\x96\\x5a\\x90\\xbd\\x65\\x6e\\x6e\\xf3\\xf7\\x3c\\x8c\\x7a\\xbf\\x23\\xe6\\x18\\xc0\\x13\\xe5\\x8a\\x9a\\x8d\\x73\\x8c\\x47\\xc6\\x42\\xac\\x32\\x27\\x8d\\x63\\x44\\xbe\\x4c\\xb5\\x06\\x44\\xb4\\x9a\\xfb\\x1a\\xc9\\x9c\\xbc\\x1c\\xdd\\x3f\\x1a\\xa2\\x4d\\xa7\\x83\\xad\\xdb\\xbc\\x04\\xd5\\x54\\x53\\xf3\\x24\\x24\\x44\\x33\\x7d\\x07\\xa8\\x89\\x40\\xed\\x5e\\xd4\\x44\\x10\\xad\\x3b\\x67\\xd9\\x43\\x02\\x72\\x36\\xf6\\x29\\x2e\\xb9\\xe5\\xec\\x9c\\xfc\\x6e\\xf6\\xfc\\xeb\\x5e\\xe8\\xd4\\x38\\x3e\\xaa\\xcb\\x92\\xb2\\x2d\\x37\\xac\\xf8\\xe1\\x70\\xd5\\x5d\\xb7\\x8c\\x38\\x3c\\x37\\x77\\x75\\x4d\\xd5\\xab\\xc7\\x6f\\xf8\\x42\\x66\\xdf\\x7b\\xe4\\xcd\\x15\\x6f\\x8c\\x2f\\xee\\xb9\\x65\\x42\\xe7\\x96\\xe5\\xa3\\xa7\\x4e\\x9c\\xd2\\x20\\xa1\\xe5\\xb0\\xca\\x39\\x33\\xef\\x96\\xf3\\x3e\\x29\\xea\\x13\\xbd\\xd9\\x6b\\xdf\\x31\\xaf\\x61\\xfd\\xb0\\x63\\x72\\xee\\xaa\\xc3\\xef\\x56\\x7b\\x9f\\xf3\\x7a\\xf6\\xbc\\x7a\\xaa\\xb0\\xb4\\x7c\\xfc\\x50\\xd9\\xf0\\xf7\\x67\\xe5\\x59\\x39\\xe1\\x59\\xef\\x1f\\x5f\\x1d\\xf4\\x76\\x39\\xaf\\xcb\\x49\\x2f\\x7a\\x8f\\xcc\\x9b\\x5a\\xb2\\x47\\x76\\x54\\x63\\xcf\\xb7\\x99\\xd8\\x57\\x30\\xaf\\x3a\\xd8\\x01\\xd5\\x73\\x87\\x86\\xe8\\xe5\\x9e\\x90\\x90\\xc0\\x00\\x72\\x3d\\xda\\xd8\\xe8\\xb5\\x57\\xfe\\x37\\x65\\xcd\\xd4\\x93\\x65\\x32\\xa1\\xe4\\x22\\xc3\\x56\\xe1\\x3d\\xd6\\xd0\\xdb\\x6e\\x9b\\xf7\\x23\\xed\\x69\\x59\\xfa\\x46\\x64\\xa7\\xb7\\x64\\xdf\\x94\\x10\\xd9\\xdb\\xfb\\x98\\xbd\\xe0\\xb1\\xa6\\x2b\\xbd\\xbd\\xe5\\xfc\\x97\\xd4\\x1c\\xcb\\xa6\\xd0\\xb6\\x0f\\xdd\\x91\\xcc\\x36\\xa9\\xac\\x93\\x4d\\x83\\xe2\\x92\\xe2\\x92\\xca\\x3d\\xf7\\xc5\\x3d\\x1e\\xa7\\x75\\x8e\\x93\\xb6\\x66\\x71\\x52\\x8f\\x88\\x93\\x21\\x01\\x71\\x71\\x52\\xd3\\x62\\xcb\\x3d\\x9c\\xf3\\x9c\\xe5\\x1e\\xa6\\xf2\\xcb\\x76\\x84\\xa3\\xf9\\x9f\\x7f\\xc7\\xd1\\x54\\xca\\x64\\x33\\xb1\\xcc\\x3d\\x45\\x4c\\x6e\\x26\\xe7\\xf8\\xd6\\x79\\x6d\\x75\\xb5\\xfb\\xd0\\x93\\xd5\\xca\\x33\\xbe\\xf6\\x90\\x0c\\xd0\\xc2\\x1e\\x7f\\xe1\\xfe\\x3b\\xd6\\x6d\\xec\\xb9\\xfe\\xf5\\x1d\\x6b\\xde\\xea\\xfc\\xce\\x6e\\x97\\xbd\\xe1\\xb0\\xa1\\x7f\\xf6\\x94\\xb2\\xff\\xe4\\xf6\\xf6\\x82\\xa5\\xd7\\xde\\xf4\\x6a\\x72\\xe4\\xd2\\xa9\\x45\\x0f\\x2c\\xeb\\xae\\xff\\x31\\xd3\\xfb\\xf4\\x8e\\x86\\xb5\\xa7\\xba\\x16\\x7a\\x57\\x75\\xac\\x62\\x10\\x0d\\x62\\x4e\\x7d\\x9d\\x31\\x91\\xc0\\xce\\x22\\x21\\x3c\\x76\\xb4\\x27\\x32\\x4a\\x46\\x85\\xdb\\x84\\x4d\\x32\\xb7\\x38\\x1c\\xda\\x68\\x8f\\x23\\xe6\\xd2\\x48\\xc8\\xcf\\x19\\xa9\\x26\\x98\\x48\\x60\\xd8\\xb5\\x64\\x63\\x4b\\x14\\x9d\\xec\\x8a\\x31\\xd7\\x47\\x4d\\x5e\\xfb\\xd6\\xee\\xf9\\xd2\\x71\\xcc\\xbb\\xf4\\xec\\x57\\xf5\\x56\\x6a\\x6d\\xe5\\x9c\\x16\\xde\\x53\\x41\\x23\\xfa\\xce\\xba\\x7b\\x8c\\x3c\\xeb\\xfd\\xf6\\xe7\\x5c\\x6f\\xe9\\x37\\x5f\\x4c\\x99\\xaf\\xed\\xf5\\x5e\\xd3\\x75\\x72\\xd5\\x7d\\xde\\x07\\xc9\\xf5\\x24\\xb8\\x7b\\x08\\xee\\x82\\xd8\\x70\\x27\\xb8\\x43\\xb5\\xf0\\xd1\\x8a\\x9c\\x88\\xd1\\x97\\xc8\\x31\\x99\\x60\\x6a\\xd6\\x02\\x6c\\xd2\\x70\\x3d\\xc7\\x15\\xd3\\x56\\x3e\\xeb\\x1d\\xce\\x54\\x7d\\xa5\\x96\\x32\\xe5\\x59\\xef\\x39\\x19\\xbf\\x7e\\x7d\\xa7\\x07\\xc7\\xcb\\xfc\\x61\\xd1\\xf6\\x02\\x6f\\xee\\x56\\xef\\xd6\\x3f\\x16\\xeb\\xc5\\x6b\\x17\\x5f\\x58\\x2a\\x5f\\x1e\\x69\\xec\\x03\\x55\\x8c\\xbe\\xc5\\x4e\\x88\\xe8\\xb7\\xcf\\x1e\\x38\\xda\\x63\\x3f\\xe0\\x3b\\xe1\\x6e\\x1a\\xae\\xf5\\xfb\\xce\\x2e\\x8f\\xdb\\xe5\\x15\\x76\\xd9\\xcc\\x7e\\xaf\\xfd\\x90\\x5d\\xd7\\x23\\xec\\x04\\xca\\xce\\xf4\\x24\\x6d\\xa0\\xd0\\x45\\xd0\\x68\\x8f\\xf8\\x9b\\x40\\xf1\\x63\\x1c\\xce\\xa5\\xda\\xbc\\x98\\xe2\\x92\\x01\\xfa\\x4b\\x59\\xb5\\xa3\\xf3\\xb5\\x8a\\xac\\xda\\x6d\\xdd\\xb4\\x57\\xb2\\xec\\x4c\\x3e\\x87\\x4f\\x7b\\xef\\x3b\\x6d\\x60\\xe8\\x0c\\x86\\xef\\x0c\\x5f\\x93\\xdd\\x51\\x86\\x76\\x69\\x77\\x38\\x04\\x14\\xeb\\x01\\xf6\\x68\\xb5\\x85\\xf3\\x2f\\xbf\\xc6\\xee\\xcd\\x61\\xe6\\xa2\\x96\\xdf\\x47\\x9b\\x9a\\x55\\xbb\\x7e\\xac\\xf7\\x23\\xf4\\xdf\\x97\\x65\\x2b\\xf7\\x2e\\x3e\\xed\\xd5\\x51\\xad\\x74\\x0e\\x26\\x7e\\xbb\\x89\\x5f\\x23\\xf6\\xf5\\x0d\\x1b\\xd4\\x2f\\xf7\\x34\\x68\\x20\\x02\\x03\\x61\\x91\\x0d\\x77\\xa8\\x16\\x6a\\x0f\\x0d\\xb4\\x09\\xa2\\xaa\\x8e\\x33\\x97\\x6d\\x74\\xfc\\x7b\\x9c\\x68\\x63\\x02\\x4b\\xb0\\x9b\\xc7\\x0e\\x42\\xdb\\x36\\x5f\\x6d\\x30\\x74\\x9b\\x16\\xfe\\xe1\\xc9\\xa9\\xfb\\xa4\\xb6\\xe7\\x91\\x23\\xd1\\xde\\xd3\\x91\\x4b\\x67\\xdd\\x36\\xe6\\x95\\xbc\\x85\\x4d\\x5b\\x78\\xbf\\x6d\\xa6\\xb9\\xa6\\x78\\xcf\\xc6\\x9e\\x3f\\xb3\\x4b\\x2e\\xf8\\xe5\\x9a\\x03\\x4f\\xb5\\x7d\\x7e\\x97\\x77\\xfb\\x6a\\xef\\x2f\\x99\\xce\\xaf\\x8f\\xd5\\xbe\\x7d\\x54\\xe1\\x4a\\xc6\\xd7\\x13\\x06\\xdf\\x79\\xee\\x54\\x87\\x56\\xe6\\x39\\xee\\x90\\xfa\\xeb\\x0e\\x69\\xdb\\xe2\\x90\\x23\\x1c\\xd2\\x91\\x14\\xd6\\xab\\xbe\\xa3\\xa9\\x43\\xfd\\x97\\x3f\\xe1\\xfc\\xe2\\x20\\x1c\\x99\\x39\\xd2\\x18\\x04\\xd6\\x19\\x0d\\xff\\xd5\\x2e\\x56\\x6a\\x8f\\xcc\\xf0\\x6e\\x9c\\xa1\\x08\\x90\\x19\\x13\\xe4\\xe4\\x09\\x32\\xc3\\xfb\\xa7\\xd6\\xb9\\xf6\\x19\\x7b\\x41\\xed\\x37\\x5a\\xcc\\x9f\\x8f\\x9b\\x67\\x9c\\x5c\\x6c\\xbe\\x6e\\xd8\\x6c\\xec\\x8e\\x0e\\xb2\\x05\\x3a\\x88\\xb3\\x23\\x3a\\x58\\x0f\\x11\\x21\\x30\\xa0\\x9b\\x69\\x6c\\x1d\\x39\\xd4\\x06\\xd9\\x8a\\x5c\\x9e\\xb2\\xd0\\x41\\xdf\\x90\\xe5\\x7d\\xee\\x41\\xd9\\x31\\xeb\\xc2\\x94\\x2c\\xd9\\xf1\\x41\\xef\\x73\\x10\\x7c\\x61\\xe9\\xe9\\xd3\\xfa\\x02\\x43\\x77\\x6f\\x78\\xde\\x82\\xee\\x18\\x91\\xe2\\x8e\\x8a\\x0a\\x8d\\x14\\x91\\x61\\x8c\\x15\\x23\\x3b\\xec\\xc6\\x59\\xf1\\x62\\x7e\\x58\\xdb\\x26\\x75\\x56\\x30\\xe6\\xc8\\x18\\x45\\x26\\xa9\\xfb\\xe2\\x93\\x4f\\x71\\x6c\\xed\\x92\\xdf\\x6b\\x6a\\xdc\\x32\\xef\\x3b\\xcd\\xb5\\x41\\x0f\\x65\\x7a\\x3f\\x89\\x7d\\xf5\\x71\\x57\\x66\\xcc\\xc4\\xe9\\xb3\\xa7\\x69\\x77\\xd7\\x5c\\x98\\x77\\xec\\x77\\x65\\xcb\\x29\\x84\\x7d\\xa8\\xe1\\x47\\x92\\x3b\\x42\\x93\\x8e\\x60\\x5b\\x50\\x60\\x80\\x5d\\x0f\\xb1\\x99\\x3c\\xb5\\x6e\\xad\\x5e\\xf9\\x25\\x60\\x27\\x59\\x77\\x18\\x14\\xc9\\xe4\\x20\\xa9\\x07\\x7e\\x70\\x6b\\xb1\\xc9\\x50\\x95\\xd6\\x44\\x0e\\xad\\x7d\\x4e\\xf6\\xd2\\x9a\\xdf\\xe8\\x2d\\x87\\xa3\\x7b\\xb4\\xa1\\xb5\\x4f\\x5c\\xf0\\x2a\\xdd\\x9c\\x9e\\x6d\\x69\\xe8\\xb6\\xab\\x73\\xba\\x46\\x7a\\xeb\\x97\\xd2\\x3b\\xc7\\x48\\x67\\x28\\x99\\xa4\\xb4\\x1c\\xd3\\x26\\x92\\xbf\\xe7\\x77\\x18\\xb9\\xeb\\xfb\\x13\\x4c\\x0e\\xfa\\x35\\x10\\x4e\\x77\\x78\\x5c\\xa0\\x2d\\x24\\x24\\x32\\x30\\xb0\\x5e\\xa4\\x1e\\x7e\\x31\\x74\\xd1\\xed\\x39\\xdd\\xe7\\xa8\\xb8\\x75\\x96\\x79\\x9a\\x43\\x4f\\xd5\\xd3\\x33\\x02\\x28\\x38\\x79\\x24\\xc4\\x3a\\x14\\x0f\\x52\\x4f\\xbd\\x27\\xb8\\x75\\xf8\\x94\\xe4\\x0f\\x8e\\xa5\\x3a\\xf4\\x86\\x91\\xf7\\x1c\\xc7\\xce\\xf0\\x74\\x2d\\x28\\x27\\xe5\\x4b\\x39\\xc0\\xfb\\xa7\\x5e\\x91\\xf3\\x72\\x2b\\xef\\xf7\\x05\\xde\\x2c\\xf9\\x6e\\xc5\\x0f\\xc7\\x8b\\x2f\\x6c\\x63\\x30\\x87\\x65\\x67\\xae\\xd9\\x58\\x2c\\x7f\\x36\\x82\\x2c\\x8d\\xf9\\xe2\\x94\\x71\\x8e\\x05\\x47\\x88\\x2d\\x2c\\x34\\x50\\x3a\\xf4\\x70\\xf5\\x2e\\xd4\\xa4\\xc6\\xe0\\x26\\xa7\\xbd\\x49\\x4e\\x80\\x41\\x4f\\x8c\\x61\\x5b\\x5b\\x7a\\x38\\x34\\x3a\\x78\\xb1\\xd7\\x87\\xcd\\xe2\\x23\\xd1\\xf5\\xaf\\x95\\x12\\x8b\\x3f\\xae\\xda\\x9d\\x5b\\x3b\\x03\\x37\\x7f\\xfa\\x6e\\xa1\\xb6\\xd3\\xb0\\xa1\\x19\\xb1\\x3e\\xc8\\x98\\x8a\\x60\\xa7\\xc0\\x9c\\x14\\x18\\x3d\\xda\\xc3\\x28\\xaa\\x77\\x69\\x14\\x5d\\x3a\\x1e\\x98\\x6b\\x7f\\xb0\\x34\\x36\\xc3\\xe6\\xba\\xc7\\xa1\\xfd\\xcf\\xf7\\x3e\\x9e\\xb0\\x4f\\xca\\xdb\\xdf\\xfd\\x64\\xe2\\x7e\\x9f\\xf8\\xe9\\xe1\\xc9\\x5b\\x47\\xef\\x9d\\xb4\\xad\\x2c\\xb6\\xe6\\xcc\\x6e\\x79\\x8d\\xf0\\x2d\\x3b\\x79\\x6a\\xb7\\x77\\xa9\\xb7\\x76\\xb9\\xbe\\xf6\\xd7\\x87\\xbd\\xdb\\x56\\x79\\xf7\\xcb\\x71\\xca\\x2e\\x71\\xb7\\xbd\\xaa\\xfe\\x4d\\x32\\x27\\x3e\\x35\\x43\\x44\\xab\\x19\\x42\\xb3\\xd9\\xa2\\x46\\x7b\\xd8\\x0f\\x69\\x97\\xcf\\x10\\xa9\\xca\\xb9\\x8b\\x07\\x12\\x6b\\x71\\xd0\\x26\\x3e\\x3f\\xd2\\xc8\\x82\\x13\\x9f\\xd5\\x78\\x6e\\xfb\\x7c\\x4f\\xe5\\xcc\\x2d\\xc5\\x3b\\xbd\\x4d\\x03\\xe4\\x71\\x6f\\x63\\x7b\\xc1\\xee\\x1d\\x93\\xde\\xdb\\x38\\x50\\xfe\\x30\\xa0\\xbb\\x77\\xf4\\x07\\x49\\x86\\xaf\\xde\\xa9\\x86\\xaf\\xf5\\x44\\x63\\x91\\xee\\x8e\\x8d\\x4e\\x1c\\xed\\x89\\xb6\\x85\\x24\\x97\\x7b\\x44\\x48\\x4c\\x40\\x60\\x20\\xcb\\x64\\xa0\\xb9\\x7f\\x20\\x3d\\xfc\\x7b\\xd4\\x24\\x69\\xbd\\x80\\x4b\\xcf\\x68\\x1c\\x55\\x87\\x84\\xba\\x1c\\x68\\xb7\\x47\\x4c\\x9e\\x92\\x55\\x9c\\xb1\\xfc\\xaa\\x3b\\xf6\\xd5\\xf3\\xbe\\x3d\\xe1\\x11\\x29\\x76\\xbf\\xfb\\xc9\\xd2\\x6f\\xba\\xfb\\xc9\\x18\\x35\\x22\\xec\\x95\\x86\\x07\\xde\\x75\\xcb\\x85\\x77\\xca\\xab\\x85\\x6f\\xf9\\xc9\\x53\\x4f\\x7a\\x3d\\xde\\x0b\\x7a\\x51\\x1d\\x4a\\xc0\\xa7\\xe6\\xed\\x4f\\xe1\\x24\\x02\\x84\\xb9\\xee\\xc4\\x70\\xa9\\xc5\\xb1\\x26\\x89\\x38\\x19\\xc1\\x81\\x4e\\xd8\\xed\\xcc\\x6d\\x76\\xb6\\x9b\\x17\\x47\\xc6\\xa5\\x29\\xda\\x1a\\xe5\\xc9\\x7a\\x1d\\x9e\\x1c\\x31\\xba\\x9f\\x29\\x3d\\xfe\\xc9\\x07\\x2a\\x0c\\xa6\\xbe\\x3d\\x7b\\xba\\xf9\\xa8\\xd5\\xc5\\xe7\\xf6\\xcd\\x99\\xb6\\xa7\\x57\\xf5\\x85\\x34\\x4d\\xaf\\xad\\xb5\\x17\\xdc\\xb6\\xb1\\x70\\xf3\\xc2\\x91\\xf1\\xb5\\x8f\\xeb\\x1f\\xf4\\xed\\xe4\\x5d\\xa9\\xfe\\xb6\\x9f\\x8d\\xbc\\x78\\x16\\xae\\x32\\x45\\x96\\x3b\\xc1\\x15\\x12\\x2f\\xe2\\x1b\\xc2\\x53\\x03\\x19\\x66\\x6f\\x10\\x6f\\x13\\x8e\\x72\\x8f\\xed\\xe2\\x4c\\x70\\x71\\x9e\\x35\\x66\\x83\\xc6\\x19\\x69\\x8a\\x33\\xb5\\x67\\xcc\\x68\\xa1\\x19\\x47\\x0d\\x6b\\xc6\\x55\\x1b\\xab\\x24\\x69\\xbc\\xbb\\x66\\x8a\\xf8\\xf5\\x6b\\xaf\\x2f\\x40\\xa6\\xd9\\xe7\\x2f\\x1a\\xbb\\xa4\\xfb\\x33\\x9f\\xed\\x2c\\xed\\xbb\\xf3\\xf3\\xa5\\x27\\x8e\\x49\\xef\\xf1\\xc0\\x27\\x8a\\x67\\x74\\xc8\\x2e\\x5e\\x74\\xcf\\x1d\\xfd\\xb7\\x31\\x6b\\xbc\\xf0\\x44\\xda\\xa8\\xa9\\xd9\\xe5\\x1d\\x26\\xe5\\xb4\\x1f\\x3a\\x7f\\x88\\xe7\\xee\\x6b\\x0b\\xf7\\x1e\\x6a\\xb4\\xbf\\x79\\x69\\xab\\x26\\x6d\\x33\\x52\\x9a\\x8f\\x58\\x34\\x60\\xd9\\x17\\x0b\\xcc\\x39\\xf1\\x41\\xc6\\x6d\\x73\\x63\\xdf\\x53\\xdf\\x1d\\xaa\\xab\\x17\\x73\\x8a\\x30\\x4d\\x5a\\xc9\\x54\\xe7\\x4d\\x41\\xb2\\x43\\x9f\\x7c\\xcc\\xfb\\xd1\\x31\\xef\\xa4\\x2c\\xdb\\x20\\x56\\x99\\xf3\\x3b\\x6c\\xe5\\xa7\\x8d\\x35\\xe6\\x4a\\xfc\\xfe\\xd2\\xf8\\x5b\\x0c\\x64\\xa5\\x3d\\x30\\x92\\xbd\\x71\\x74\\x94\\x23\\x40\\x17\\x61\\x75\\x16\\x96\\x9c\\x9c\\xe8\\x84\\x8b\\xef\\x49\\x98\\xba\\x03\\x2e\\x4e\\x7f\\xec\\xd0\\xe5\\x57\\x2f\\x1e\\x8a\\xdf\\x21\\x33\\x76\\xc4\\x74\\xef\\x39\\x61\\x7e\\xea\\x6d\\x32\\x63\\x5b\\x7b\\xef\\x7b\\xb1\\xf7\\x3d\\x52\\x3a\\x4d\\x6f\\x73\\xe1\\xf5\\xd1\\x05\\x25\\x3d\\x36\\x3f\\xa2\\x37\\xb9\\x70\\xcc\\x7b\\xd2\\xfb\\xb5\\x81\\x7b\\x27\\xb8\\x27\\x5a\\xe7\\xe0\\xa0\\xe0\\x20\\x5d\\xd3\\x03\\xa4\\x19\\xe3\\x7c\\xe3\\x2b\\x0d\\xb5\\x55\\x8b\\x51\\xef\\x83\\x65\\xb2\\xb6\\xd1\\xfb\\xde\\x2b\\x32\\x77\\x50\\x64\\x40\\xaf\\x1c\\xb9\\x50\\xb6\\xb2\\x17\\x5c\\xf8\\x63\\xfd\\x9c\\x3b\\xc7\\xe9\\x0e\\x73\\xbe\\xb3\\x5f\\x89\\x1e\\x76\\x66\\xee\\xc8\\x48\\x5b\\x44\\x44\\xfd\\x7a\\x41\\x81\\x7a\\x6c\\xa8\\xc3\\xaf\\xce\\x9a\\x32\\xd4\\x9b\\x13\\x92\\x85\\x49\\x0b\\x43\\xea\\xe5\\x6d\\x80\\x9a\\xb2\\x72\\x92\\xa4\\x23\\x2e\\xcf\\x70\\x62\\xdd\\xef\\x11\\xf6\\x60\\xdd\\xfb\\xd5\\xef\\x39\\x52\\x6f\\x61\\x73\\xb9\\x7a\\xdc\\xf9\\x6c\\x6c\\x82\\x1e\\x98\\x91\\xf0\\xb1\\xd4\\x65\\xbb\\x2b\\x64\\x50\\x40\\xed\\x2a\\xa6\\xda\\x5e\\x83\\x1f\\x2b\\xdd\\x26\\x07\\x1d\\x3d\\x3b\\xbe\\x45\\xe2\\x9d\\xbd\\x35\\xf5\\xfb\\xdf\\x6a\\xef\\x69\\xef\\x62\\xcc\\xe7\\x2d\\xdc\\x0d\\xc3\\x64\\x23\\xa9\\xb5\\xb5\\x49\\xcd\\x11\\xcd\\xea\\x17\\xcc\\x59\\xc6\\x9c\\xdc\\x61\\xa9\\xee\\xe4\\xce\\xf6\\x42\\xe5\\xae\\x9a\\xd9\\x93\\x63\\x8c\\xf9\\xbd\\xc5\\x1b\\xde\\x19\\xde\\x97\\xb4\\x12\\xef\\x31\\xd9\\x6e\\x9f\\xf4\\xc8\\xb6\\xb5\\x1f\\xca\\x3e\\xf2\\x1b\\x6f\\x8c\\xf6\\xa2\\xb6\\xd0\\x3b\\x50\\x3e\\x58\\x7b\\x6d\\x6d\\xfb\\x8b\\xdc\\x8d\\xc7\\x5e\\xa0\\x68\\xe4\\x8e\\x88\\xb5\\x4b\\xbb\\x16\\xc8\\x5c\\xc8\\x14\\x22\\xad\\xc9\\xda\\x30\\xa0\\x38\\x8c\\x31\\x94\\x4b\\x6d\\xad\\xf7\\xd8\\x14\\xef\\x2b\\xb2\\xcd\\x93\\x72\\xbb\\x6c\\x53\\xbb\\x49\\xcb\\xd2\\xeb\\xd7\\xbe\\xa2\\xb5\\xbd\\x60\\xbc\\x43\\x53\\x7f\\x51\\xc2\\xf8\\x7e\\x2a\\x48\\xad\\x7d\\x0e\\xdd\\x9f\\x43\\x81\\x32\\xd0\\xda\\xa6\\x5d\\x7c\\x91\\x67\\x04\\x26\\xcf\\x78\\x3f\\x21\\x93\\x6d\\x41\\xe7\\xcf\\x34\\xd5\\x07\\xd4\\x3e\\xd0\\x5c\\xbf\\xab\\xc9\\x85\\x6a\\xed\\xa5\\xb7\\xf4\\x35\\x35\\x47\\x2f\\x4c\\x37\\x30\\x1e\\xf4\\x0e\\xb5\\xad\\xe0\\x8c\\xe3\\x50\\x33\\xac\\xb4\\xfd\\xe2\\x91\\x80\\xfe\\xc5\\xa3\\x5e\\x68\\x5b\\xd3\\x4c\\x8c\\x5a\\x9f\\x91\\x83\\xb2\\x52\\x1b\\xd6\\xd8\\x5b\\xed\\xfd\\x40\\x16\\xa5\\x7b\\x87\\x3a\\x66\\x3d\\xf9\\x67\\xe0\\x53\\xc6\\x3b\\xe0\\x68\\xf2\\xd2\\xf1\\x77\\xef\\x6c\\xed\\x92\\x20\\x39\\x6b\\x7f\\x3a\\xad\\x45\\x99\\x2f\\x6d\\xa5\\xe8\\x8a\\xbd\\x08\\xbf\\x3d\\x87\\xf6\\x8b\\xc7\\x91\\x18\\xa0\\xff\\xe2\\x09\\x10\\x97\\xec\\xe5\\x25\\x2b\\xe0\\xb2\\x6b\\xba\\x2c\\x92\\x4d\\xbd\\xd5\\x8d\\xb5\\x61\\xde\\x35\\xde\\xa1\\x4f\\xd9\\x7f\\x7f\\xf2\\xf7\\x1b\\x0c\\xcc\\x4d\\x34\\xcd\\x76\\xb5\\x7d\\x09\\xe7\\xd0\\x78\\x77\\x50\\x00\\x01\\x13\\x76\\x69\\x3b\\xae\\xbe\\xb7\\xca\\xc9\\x26\\x70\\x6a\\x20\\x49\\xb5\\xdc\\xe9\\x1b\\xf7\\x79\\x9b\\x9d\\xd2\\xda\\xc8\\xae\\x1f\\x6b\\x9a\\xf6\\x7d\\x6d\\xa4\\xbe\\xe8\\xc2\\x12\\x78\\x9c\\xe0\\x6b\\x6c\\x2b\\xf2\\x2d\\xb3\\xde\\x59\\x1f\\xb4\\xde\\x59\\x3b\\x20\\xeb\\x96\\x18\\xdb\\xfb\\x31\\xc7\\xcb\\xca\\x8c\\x31\\xab\\xd9\\x6d\\x3b\\xf5\\xe3\\xf6\\x87\\x59\\xa3\\x43\\xf6\\x09\\x6d\\xb5\\xf5\\xce\\x5a\\xa6\\xe5\\x25\\x27\\x38\\xf4\\x2c\\xef\\x47\\x81\\x52\\x3b\\x1a\\x60\\xdb\\x59\\x93\\xf9\\x93\\xd3\\x98\\x23\\x73\\xe0\\xa1\\xd8\\xd6\\x5f\\x34\\x17\\xed\\x44\\x67\\x77\\x4a\\x7a\\x52\\xb1\\x27\\x3d\\x3e\\xb0\\x45\\xb1\\xa7\\x99\\x08\\x94\\x21\\x7a\\x60\\x64\\x60\\xa4\\x88\\x89\\x09\\x2b\\xf6\\xc4\\x44\\x8a\\x36\\x45\\x1e\\x56\\x97\\x4b\\xbb\\x59\\xeb\\x30\\xd8\\xbe\\xee\\xb2\\x96\\x17\\x9d\\x96\\x2f\\xdb\\xb6\\xc9\\x35\\x8e\\xb7\\xd1\\xc6\\xd4\\xe9\\xb0\\xc6\\x73\\x9e\\x23\\x5c\\x57\\x87\\xc3\\x3c\\x0e\\x89\\xd2\\x11\\x6e\\x4e\\xf6\\x79\\xb2\\xf7\\x8a\\x75\\x41\\xdd\\xe5\\xae\\x13\\xc1\\xc1\\xb3\\x7a\\x0c\\xae\\xef\\xfd\\x74\\xa6\\xdc\\xf0\\xc0\\x23\\x21\\x7d\\x43\\x9c\\xe9\\x2e\\x67\\xa3\\x06\\xcd\\x9a\\xb6\\x48\\x1a\\x3d\\x58\\x0b\\x18\\xf2\\x98\\x6c\\xb6\\xe2\\xca\\x8a\\xec\\xb2\\x31\\x3b\\xe3\\x63\\xe7\\xcf\\xce\\x68\\x2e\\x4b\\xec\\xb6\\xbc\\x96\\x8d\\x17\\xf4\\x2c\\x0e\\x97\\x5d\\xd6\\xad\\x69\\xd1\\xc1\\x3b\\x37\\x2f\\x29\\x2d\\x3d\\x60\\x4b\\x40\\x70\\x80\\x6d\\x50\\x71\\xd3\\x99\\x15\\x5a\\x90\\xa6\\xe5\\xce\\xec\\x30\\xe6\\xb6\\x99\\xf8\\x99\\x8a\\x9f\\xd7\\x12\\xc3\\xfa\\xea\\xaf\\x7a\\xba\\xe3\\x02\\xe2\\x82\\xa3\\xa3\\x1b\\x15\\x79\\xa2\\xe3\\x83\\x53\\x8b\\x3c\\xc1\\x91\\x2c\\x02\\x4c\\x51\\xf9\\x6a\\x5e\\xab\\xb3\\x17\\xcb\\xc9\\x57\\xa7\\x72\\x47\\x8e\\xf5\\xf6\\x4a\\x33\\x0e\\xb7\\x19\\xc0\\x77\\xc4\\xf8\\x8f\\xb4\\xca\\xcf\\x80\\xd4\\x04\\xe7\\x8f\\xb2\\x7e\\xdf\\x34\\xad\\xc3\\x81\\x19\\xeb\\xb7\\x0c\\x58\\x7b\\x64\\xfa\\x95\\xab\\xea\\xdb\\x82\\x92\\x1d\\x13\\x06\\xf5\\x2a\\xb9\\xb6\\xef\\xc6\\xb1\\x1b\\x53\\x22\\xcb\\x56\\xdb\\x4e\\x78\\x67\\x3f\\x3c\\xbc\\xe2\\xd0\\x03\\xcb\\xbd\\xc7\\x8e\\xcf\\x1a\\x37\\xba\\xe5\\xcc\\x08\\x79\\xd3\\xa4\\x79\\x37\\xc9\\xe8\\x59\\xaf\\x3f\\x7d\\xff\\x20\\x73\\xce\\x1d\\x09\\xce\\x2a\\xe2\\x91\\xa4\\xce\\x54\\x81\\x51\\x45\\x9e\\x88\\x30\\x19\\x46\\x0c\\x1a\\xc8\\x70\\x7b\\x03\\x21\\x12\\xac\\x10\\xfc\\xe5\\x4c\\x65\\x6e\\xc5\\x0d\\x90\\x8d\\xa4\\x3d\\xcf\\xff\\x25\\x80\\x62\\xd7\\x1e\\xae\\x69\\xfa\\x6b\\xc7\\x46\\xdc\\xf7\\xff\\x51\\xf6\\x1e\\x70\\x51\\x1d\\xdb\\xe3\\xf8\\x9d\\x5b\\xb6\\xf7\\x0a\\xbb\\x0b\\xec\\x02\\xcb\\x82\\xf4\\x2e\\xa2\\xb2\\x16\\x14\\x45\\x11\\xb0\\x5e\\x11\\x11\\x54\\x2c\\xd8\\x5b\\x12\\xbb\\x31\\xf6\\x88\\x3d\\xd6\\xd8\\x4d\\x2c\\xb1\\xc6\\x9e\\x84\\x18\\x35\\x89\\x89\\x2d\\xa6\\xf7\\x98\\xa8\\x31\\xc5\\xc4\\x24\\xa6\\xaa\\x3b\\xfc\\x67\\xe6\\xde\\x2d\\xa0\\xef\\xfb\\xf9\\xfd\\xe5\\xc1\\x23\\xcb\\xdc\\x99\\x73\\xcf\\x9c\\x39\\x6d\\x4e\\xf9\\x75\\x59\\xc3\\x47\\xf0\\x3b\\xd0\\xa5\\xdf\\xa0\\xa7\\x4b\\x5f\\x28\\x9d\\xe3\\x04\\xd6\\x98\\xed\\xb7\\x4c\\x57\\xce\\xcc\\x03\\xf6\\x8b\\x23\\x1a\\x5e\\xe0\\x34\\xc6\\x4e\\x95\\x0b\\xe0\\xaf\\x13\\x3f\\x1a\\x3a\\x44\\x3d\\xfa\\x40\\x35\\xa1\\x8d\\xee\\x08\\x96\\xdf\\x10\\xce\\x6c\\x54\\x02\\xe5\\xf1\\x9a\\x6c\\x66\\xab\\x85\\xd2\\x45\\x96\\xf2\\xac\\x51\\xa6\\xd3\\xc9\\x62\\x4b\\x79\\x99\\x48\\x0d\\x86\\x3c\\x42\\x03\\x99\\x05\\x88\\xed\\x64\\x67\\xe5\\xe4\\x06\\xbc\\x00\\x04\\x26\\x6b\\x26\\xe1\\xe9\\x52\\x26\\x08\\x18\\xd2\\xf2\\x72\\xe8\\x0b\\x1a\\x8e\\xed\\xb8\\x7f\\xfc\\xb2\\xf5\\xe5\\x4b\\x5e\\x9b\\x38\\xea\\x59\\x0b\\xed\\xec\\x0e\\xc2\\xff\\x50\\xd9\\x76\\xf4\\x2a\\xea\\xf7\\x74\\xf1\\xaa\\xb6\\x13\\xfb\\x58\\x75\\x32\\xcb\\x14\\xc7\\x90\\x41\\x6f\\x1c\\x7a\\x1a\\x24\\xbd\\x3f\\x76\\x48\\xc5\\x11\\xb0\\xf4\\x81\\x33\\xff\\x30\\x7d\\x6c\\xe4\\x98\\x15\\xf0\\x87\\x91\\x57\\xf8\\x17\\x9e\\x20\\x78\\xa3\\x89\\x2d\\x83\\xf1\\x66\\xa3\\xa2\\xa9\\x1c\\x6f\\x54\\xa4\\xb6\\x8c\\xc7\\x37\\x2a\\xb4\\x8e\\x89\\x8c\\x44\\x46\\x8d\\xbd\\x8c\\x47\\x48\\x34\\x95\\xf2\\x16\\x2b\\xb0\\x62\\x0c\\x66\\x34\\xf3\\xeb\\x35\\x45\\xa3\\xd9\\xa4\\x05\\x2e\\xbf\\x14\\xe2\\x24\\xac\\x11\\xed\\xb2\\x0b\\x21\\x96\\xe6\\xae\\x7e\\xd7\\xfb\\xd0\\xbf\\x2b\\xdf\\xbc\\x64\\x02\\xbe\\x68\\x45\\x6d\\x45\\xf7\\x19\\x51\\x80\\xed\\x09\\x6f\\x4a\\x87\\xad\\x71\\x80\\x4b\\x6c\\xad\\xe9\\xda\\xf9\\x99\\xc0\\xf8\\xfe\\xc8\\x4f\\xdf\\xe9\\x57\\x2b\\xcb\\x48\\xaf\\x1b\\xdf\\xce\\x6b\\x5d\\xba\\x9e\\x39\\xbc\\x64\\x5a\\x5e\\xed\\x30\\xc2\\xbb\\xd0\\xc1\\xb7\\x71\\x3f\\x21\\x62\\x8b\\xf6\\x1a\\x14\\xda\\x52\\x5e\\xa5\\x00\\x58\\xb2\\x96\\xf2\\x46\\x0e\\x57\\xe9\\x2a\\x10\\x6e\\xbd\\xb0\\xc6\\x14\\x10\\xae\\xb9\\x18\\x26\\xab\\x14\\x63\\x4f\\x8b\\x8d\\xba\\x6b\\xfb\\xe1\\x0f\\xfb\\x1b\\x29\\x37\\xa0\\x74\\xd1\\x0f\\x2f\\x6d\\xdd\\x1e\\xbb\\x6a\\xd6\\xe0\\xd1\\x46\\x25\\x78\\xc5\\xcd\\x4c\\x7f\\xf8\\x0c\\x33\\xbd\\xa1\\xe7\\xfe\\x43\\x8e\\x93\\xc6\\x9e\\x83\\xf3\\x1a\\x08\\x6e\\x62\\x61\\x09\\x7b\\x8e\\x2d\\x46\\x98\\x49\\xa5\\xb2\\xbd\\xf6\\x08\\xad\\xc2\\xa6\\xb1\\x58\\xe2\\x10\\x32\\x74\\x2c\\xab\\xa1\\x34\\x49\\xa5\\xbc\\x86\\x92\\x96\\xf1\\x94\\x43\\xf4\\x03\\x0a\\x58\\xf1\\x1f\\x72\\x7c\\xd9\\x88\\x1d\\x9e\\x58\\x0d\\x31\\x3e\\xb2\\xb7\\x39\\xb9\\x2e\\x2d\\x60\\xb0\\x47\\x37\\x64\\x77\\xc1\\xbe\\xd3\\x17\\x69\\xe0\\xa4\\x7b\\xb4\\xbb\\x94\\x17\\x4b\\x17\\xbe\\x5e\\xb7\\x74\\x6d\\x8f\\x25\\xaf\\x4f\\xaa\\x5b\\x62\\xe5\\xd0\\x68\\x85\\x35\\x6a\\x53\\x32\\xfc\\xf0\\x54\\x79\\xd7\\xbe\\x4f\\x77\\x59\\xd7\\x77\\x41\\x11\\x2c\\x59\\xbf\\xd8\\xd5\\xae\\x1b\\x70\\x1e\\x18\\x31\\xf0\\xc8\\x9e\\x39\\x20\\xee\\xda\\xa8\\x21\\x15\\x4b\\x62\\x86\\xae\\x79\\xf8\\xed\\xad\\x5f\\xd9\\xda\\xc1\\x13\\x9f\\x85\\xbe\\x21\\x17\\x96\\xfc\\x85\\xf0\\x17\\x87\\xeb\\xde\\x10\\x9a\\x74\\x79\\x75\\x16\\x33\\x45\\x31\\x26\\xa3\\x5c\\x66\\x66\\xb4\\xe5\\x3c\\xa3\\x0b\\xaa\\x13\\x79\\x98\\x95\\x03\\x04\\x22\\xb2\\xfd\\x91\\x22\\x6f\\xcc\\x11\\x3d\\x6e\\xc4\\xe4\\x41\\x58\\x04\\x37\\xca\\xce\\x3e\\x01\\xb4\\xba\\x79\\xf0\\x87\\xa7\\xb4\\xad\\xbb\\xd5\\x6e\\x8a\\x18\\x0f\\x6f\\x03\\x27\\x08\\x2f\\x51\\x3b\\xe4\\x4c\\xcd\\xf4\\x71\\xf0\\xaf\\xc2\\x52\\x5f\\x39\\x3d\\xba\\x7b\\x66\\x61\\x97\\xfd\\x4b\\x7c\\xaf\\x71\\x97\\x60\\x5d\\xe7\\x91\\xb1\\x04\\x9f\\x6a\\x04\\x43\\x2e\\x82\\x41\\x8e\\x7e\\x73\\x7b\\x4d\\x4a\\x45\\xcf\\x0a\\x25\\x25\\x97\\x94\\xf2\\x72\\x2d\\xc5\\x31\\x5c\\x29\\xcf\\x98\\x03\\x82\\x4d\\x60\\x8d\\x6e\\xd1\\x54\\xcc\\x75\\x79\\x10\\xc7\\xa6\\x3f\\x06\\xd5\\xee\\x07\\x0f\\xdc\\x60\\xc9\\x42\\xf8\\xb5\\x9b\\xce\\xbf\\x17\\x0f\\xc2\\xe3\\x1b\\x1a\\x1a\\xe8\\x86\\x86\\x73\\x57\\x49\\x71\\x28\\xba\\xf1\\x2c\\x92\\x39\\x56\\xb4\\x86\\x1e\\x51\\x4a\\x0b\\xaf\\x45\\xae\\xb1\\x1a\\x0d\\x3d\\x2b\\x8c\\x94\\x5a\\x51\\xca\\xab\\xb5\\x94\\x04\\xbd\\x2e\\x96\\x77\\x82\\xe9\\x48\\x05\\x24\\xa8\\x11\\x6d\\x54\\x6e\\xd0\\x74\\xd4\\xd0\\xf8\\x56\\xf3\\xb3\\x1e\\xcf\\x27\\x26\\x3c\\x3d\\x73\\xec\\x38\\xf3\\x3e\\xb8\\xd9\\x4d\\x4f\\xff\\x28\\x7c\\xed\\x4d\\x30\\x05\\x2f\\x0a\\xfb\\xda\\xf4\\xef\\x47\\x8f\\x1a\\xc5\\x4c\\x68\\x78\\x70\\x6a\\xce\\xe9\\x6a\\xc9\\x0b\\xc2\\xfa\\x80\\xea\\x88\\xde\\xf1\\x1b\\xb4\\xbe\\x12\\xd9\\x4a\\x3a\\xb9\\x4c\\xab\\x90\\x22\\x6b\\x02\\x59\\x4a\\xd8\\x90\\x34\\x8b\\xba\\x86\\x95\\x60\\x39\\xd4\\x90\\xa4\\xff\\x39\\xbb\\xa8\\x87\\x80\\xc8\\x5d\\xe0\\x33\\x90\\x02\\x33\\x40\\x38\\xf8\\xa9\\x17\\x1c\\xc9\\x5d\\x7a\\x78\\x00\\x9c\\x81\\xfd\\x7d\\xa3\\xd0\\xdc\\x41\\xfc\\xd9\\xbd\\x1a\\x82\\x37\\xea\\x11\\xbc\\x85\\xe2\\x2c\\x88\\xaf\\x4f\\xe0\\xd7\\xb1\\x74\\x3e\\x42\\x15\\x5b\\xda\\x40\\xe0\\xc4\\x7d\\x77\\xd9\\x57\\xd0\\xb9\\x4f\\xa7\\xd2\\xbd\\x36\\x67\\x72\\x19\\xef\\xd4\\x39\\x4c\\x54\\x58\\x98\\xa4\\x8c\\x0f\\xd3\\x19\\xf4\\xda\\x74\\x4f\\x9c\\x52\\x21\\x42\\x9c\\x91\\xe1\\x37\\x82\\xf2\\x44\\x87\\x79\\x80\\x2c\\x62\\x8c\\x6d\\x99\\xec\\x4c\\x2d\\xc8\\x14\\xb9\\xa8\\x9f\\xe5\\xe3\\xbf\\x04\\x06\\x81\\x67\\x67\\x5b\\x23\\x22\\x33\\x06\\x45\\x8e\\xbf\\xb5\\x4b\\xaa\\x56\\xca\\xae\\x19\\xe5\\x74\\xde\\xd4\\xe2\\x7e\\x1d\\xe9\\x36\\x73\\x7a\\xf5\\x2b\\xb5\\x3c\\x7b\\x13\\xff\\x3d\\xb3\\x7f\\xd4\\x64\\x7a\\xe5\\x8c\\xac\\xb4\\xf8\\x57\\x36\\xf8\\x4e\\x33\\x3d\\xa3\\x8b\\x3b\\xa4\\x49\\x67\\xa5\\xd5\\xf5\\xab\\xaa\\x92\\x8c\\xec\\x3f\\x60\\x48\\xf1\\x04\\x5f\\xaa\\xf0\\xf7\\x6d\\xdb\\x7c\\x2f\\x52\\x7e\\x9a\\x66\\x7b\\x20\\x9a\\x76\\x78\\x35\\x06\\xca\\x6c\\x46\\xbb\\x6b\\xd6\\x69\\xb4\\x02\\xdc\\x05\\x05\\xa2\\x53\\x2f\\x94\\x8a\\x91\\x5d\\xea\\x32\\x49\\xa4\\x99\\x39\\x02\\x81\\xd3\\x57\\x9f\\xd4\\x7a\\x0b\\x87\\x6e\\xc1\\x54\\xbc\\xc3\\x25\\x01\\xc8\\x5a\\x65\\xd7\\xff\\x06\\xb4\\xda\\xf9\\x74\\x5d\\xd7\\xec\\xe2\\xce\\xfb\\x96\\xfa\\x5e\\x65\\x8a\\x5e\\xe8\\xa6\\x5b\\x91\\x73\\x07\\xde\\x6d\\x57\\x82\\x5b\\x1a\\xd3\\x54\\x37\\xc4\\x33\\x9f\\x41\\xb8\\x53\\xa3\\x95\\xb1\\x66\\x83\\xa4\\x8d\\x54\\x17\\x10\\x31\\x21\\x42\\xdd\\x10\\x4b\\x96\\xa1\\xa9\\x90\\x43\\x8e\\x4c\\xd5\\xbf\\xde\\xfb\\x6c\\x0b\\x88\\xbe\\x00\\x0e\\x1a\\xb3\\xe0\\xf1\\x51\\xe5\\x7c\\xdd\\xc2\\xd2\\x17\\x46\\x2f\\x2e\\x33\\xbd\\x77\\xee\\x24\\x18\\x74\\x02\\xce\\xe9\\x36\\x14\\xde\\x83\\x5f\\xd0\\xdf\\x0c\\xad\\x9c\\x0b\\xbf\\x9b\\x70\\x65\\x3e\\xf0\\x08\\xb4\\xfd\\x29\\xa2\\xed\\xd9\\xe8\\x7d\\xc3\\x28\\x37\\x96\\x2b\\x61\\x5a\\x93\\x5d\\xcf\\x68\\xa4\\x1a\\x07\\xe2\\x43\\x16\\x69\\x34\\x81\\x22\\x54\\xcb\\x20\\xe1\\x0e\\x68\\x2f\\x02\\x72\\x98\\x98\\x8f\\x31\\x02\\x1a\\x42\\x25\\x31\\x4d\\x73\\x46\\xd6\\x7b\\x7c\\x54\\xfd\\x86\\x45\\xbf\\xac\\x1d\\xb9\\x24\\x9c\\x76\\x96\\xc3\\xdb\\xff\\x20\\x89\\x52\\xde\\xb5\\xdf\\x9c\\x6e\\xab\\xca\\xea\\x7b\\xb0\\xad\\x64\\xed\\x6b\\x07\\x0e\\x3b\\x7b\\xe4\\x18\\x7c\\xf6\\xad\\xea\\x81\\x47\\xe0\\x40\\xf6\\x9f\\xfc\\xc3\\xbe\\x6e\\x23\\x26\\x2c\\x07\\xfa\\x89\\xef\\xad\\x82\\xf7\\x31\\x5e\\x10\\x7c\\x7b\\x11\\x7c\\x58\\x57\\x40\\xe7\\x1b\\xeb\\x09\\x66\\x89\\xc2\\xa0\\x23\\xaa\\x82\\x85\\x65\\xec\\xc8\\xa2\\xf4\\xab\\x0a\\x58\\xf4\\x21\\xe8\\xb4\\x98\\x55\\x3f\\xc2\\x1b\\x91\\x98\\x63\\x42\\xa5\\x71\\x0e\\xbb\\xd7\\x1a\\xf5\\x0f\\xbc\\x5d\\x1e\\x8b\\x35\\x85\\xd5\\xcf\\x75\\x5b\\x7e\\x76\\xec\\x88\\xf9\\x11\\x2c\\xe7\\x96\\x0e\\xeb\\x55\\xd4\\x7b\\x6e\\xf1\\x9a\\x9a\\x35\\x31\\x3a\\xb6\\x55\\xd5\\xd2\\x07\\x72\\xb0\\x1d\\xeb\\x0a\\x2f\\x3d\\x0d\\xdc\\xdf\\x3c\\x31\\x74\\x90\\x7d\\xa1\\x1a\\x4e\\xa8\\x7b\\x12\\x09\\xbd\\x31\\x97\\x1b\\x0e\\x8a\\xba\\xc2\\x0a\\x44\\x37\\x3b\\xd0\\xfe\\x59\\xa8\\x48\\x64\\x9f\\x48\\x2c\\x55\\xf4\\x58\\xa4\\x33\\x9a\\x74\\x4a\\xad\\x54\\x62\\xc6\\x36\\x5a\\xc1\\xe5\\x4a\\xc4\\x0a\\x71\\x24\\x8c\\x9f\\x6a\\xb2\\x3d\\x2e\\x8b\\x1f\\x93\\x56\\x76\\x72\\xdd\\xd0\\x8d\\xdf\\xc7\\xf5\\x86\\x3f\\x2c\\x0c\\x67\\x80\\x56\\xc2\\xb2\\xdd\\xce\\xce\\x1f\\x59\\xcd\\x94\\x1a\\x7f\\x3a\\x07\\xbb\\xd2\\xaf\\x2d\\x5c\\x3f\\xa0\\x24\\x3d\\x37\\x65\\xe1\\x38\\xbd\\xc8\\x13\\x10\\xbd\\x8c\\x42\\x78\\x49\\x42\\xd6\\x74\\xa4\\xc2\\x49\\x59\\x2c\\x08\\x33\\x5a\\x5b\\x94\\x8d\\x56\\xb0\\x36\\x8b\\x8e\\x92\\x96\\xf2\\x26\\x36\\x96\\xa5\\xd9\\xa0\\x80\\x6d\\x6a\\xcb\\x8a\\x42\\x24\\xa7\\x00\\x64\\xc5\\x09\\xc6\\x2c\\xc1\\x93\\x34\\x4b\\x10\\x6d\\x26\\x4b\\x14\\x20\\x91\\x58\\x00\\x34\\x5e\\x7f\\x5f\\x4e\\x35\\x72\\x15\\xb3\\x9f\\x78\\x42\\x45\\x97\\xf0\\x6f\\x3f\\x57\\x3a\\xfb\\xd7\\xed\\x67\\x2f\\xd3\\xb0\\xe7\\x90\\x21\\x63\\x54\\x74\\xe7\\x6e\\x75\\xcf\\x3e\\xd3\\x69\\xa1\\xcf\\x54\\xbf\\xda\\xdd\\xdd\\xdb\\xda\\x6b\\x8d\\xcf\\x32\\x26\\xb4\\xaf\\x2d\\x1e\\x7f\\xaa\\xfa\\xb9\\x7a\\x5b\\x61\\xdb\\xcc\\xd6\\xe6\\xd8\\x34\\xad\\x2d\\xb2\\xe3\\xd0\\xae\\x4f\\xbc\\x32\\x04\\xc3\\x7e\\xab\\xf1\\x1e\\x5b\\xc4\\xf5\\x42\\x22\\x2e\\xd6\\x6b\\x30\\x58\\xad\\x48\\xf2\\x5a\\x2d\\x88\\x61\\x81\\x52\\x5e\\xc2\\xd2\\x68\\x3f\\xaf\\x64\\x06\\x4d\\x11\\xec\\x20\\xc9\\xcd\\xc4\\x61\\x6e\\x52\\x57\\x33\\xe5\\x35\\x2b\\x07\\x3c\\xfb\\xa2\\xfb\\xd8\\xb2\\x43\\xb9\\x60\\x8e\\x1b\\xce\\x1a\\xa6\\x2c\\x2a\\x99\\xb6\\x28\\xd6\\x53\\xdc\\xa3\\x6f\\xe6\\xf6\\xdd\\x0a\\x24\\x7b\\x81\\x0d\\x7e\\xdf\\xe0\\xfb\\xb5\\xb5\\x35\\x27\\xd5\\x7e\\x5a\\xa2\\x92\\x73\\x13\\xa6\\x45\\x74\\x14\\xf0\\x37\\x00\\xe1\\xef\\x79\\xb6\\x15\\xa2\\x2b\\xa7\\x57\\xa7\\xa7\\x4c\\x26\\xae\\x9c\\x37\\x59\\x34\\xe6\\x70\\x85\\x1c\\x53\\x14\\xe6\\x4f\\xfe\\xb3\\x0e\\xf0\\xb2\\xa2\\x09\\x8c\\x43\\x18\\x90\\x4e\\x25\\x89\\x71\\xea\\x91\\x75\\x4c\\xcb\\xa7\\xa8\\xe6\\x54\\xac\\x0b\\x1f\\x07\\xc2\\x77\\x68\\x2c\\x0c\\xfc\\x53\\x66\\xe1\\xd6\\x7f\\x05\\xff\\xd0\\xce\\x63\\x5b\\xf9\\xb6\\x15\\x64\\xed\\x7d\\x79\\x1e\\xdd\\xf1\\xe1\\xc9\\xf6\\xeb\\xad\\x03\\xa6\\xfd\\x0c\\xf4\\x1d\\x8a\\xe9\\x83\\x78\\xed\\x85\\x88\\xc5\\x1a\\xd0\\xda\\x01\\x9b\\x58\\x2b\\xc1\\xe5\\x42\\x0b\\x84\\x18\\xc0\\xa6\\x36\\xf1\\xf3\\xf0\\xd0\\x9b\\x20\\xa1\\x9f\\x4c\\x9b\\x5f\\x00\\xca\\x41\\x1c\\x9a\\x77\\x65\\xcb\\xb3\\x4f\\x4f\\xa6\\xc7\\xa3\\x79\\x78\\x34\\x4f\\x22\\x9a\\xc7\\x82\\xf4\\x53\\xb3\\x96\\x65\\x4c\\xc8\\xba\\xd6\\x68\\x2c\\x66\\x24\\x22\\x0c\\xc4\\x30\\x36\\x37\\x35\\x8c\\x2b\\x05\\xcb\\xd8\\x83\\xf6\\x34\\x06\\x21\\x54\\x22\\x45\\x86\\xb1\\xd1\\x62\\xc6\\xf6\\x31\\xb3\\xf1\\xcf\\x4c\\x19\\x67\\x85\\x0f\\xef\\xd9\\x6f\\xc6\\xc8\\x75\\x31\\xbe\\x37\\x32\\xa5\\xba\\xf4\\x6b\\xdf\\x81\\x4f\\x6a\\xb5\\x99\\x90\\xc3\\xaf\\xb3\\xa6\\x7b\\x57\\xf0\\x2b\\xcc\\xeb\\x94\\x58\\xb2\\x9a\\xae\\x22\\xfc\\xfe\\x02\\xf6\\xc5\\xa3\\xf5\\x89\\x7f\\x13\\xb0\\x0a\\x29\\x31\\x81\\xb5\\xd8\\x04\\x36\\x37\\xf3\\x6f\\x86\\xd8\\xbf\\xe0\\x34\\x7c\\x09\\x7e\\x44\\x33\\x48\\x03\\x4e\\xdd\\x0f\\xb2\\x40\\x3a\\x0c\\x03\\x49\\x60\\x21\\x7c\\x92\\x4e\\xa5\\x95\\x70\\x33\\xa8\\xf1\\xfd\\x8b\\xbb\\xc4\\xa3\\xf9\\x3f\\x86\\x7d\\x39\\x2d\\x9a\\x3f\\x8c\\x6a\\xed\\x8d\\x69\\xd4\\x83\\x71\\xfa\\xd9\\x7a\\x7a\\xa8\\x1e\\xd8\\xf4\\x00\\xe8\\x81\\x82\\xd1\\xcb\\x2d\\xe1\\x66\\x24\\xf2\\x91\\xa4\\xef\\xc9\\xd3\\x01\\x11\\x2c\\x86\\x4d\\x92\\xe0\\x33\\x6c\\x7d\\x1b\\xa3\\x3d\\xb9\\x51\\x00\\x53\\x3a\\x42\\x6b\\x24\\x63\\xce\\xc5\\xa6\\xb2\\x06\\x2c\\xaa\\x2b\\xf2\\x64\\x64\\xf4\\x9e\\xd2\\xd2\\xfe\\x1b\\x42\\x30\\xcd\\xb2\\x36\\xfd\\x22\\x60\\x07\\x71\\xbe\\xc1\\x53\\xbf\\x80\\x7d\\xd5\\x17\\x38\\xa6\\x4f\\x75\\x1a\\x9b\\xea\\xfb\\x5d\\x1e\\xe3\\xf2\\xb1\\x6e\\xe0\\xa6\\x8d\\x0f\\x96\\x5e\\xdd\\x26\\xfa\\xc4\\x47\\x23\\xb8\\xe4\\x98\\x76\\x24\\x34\\x4b\\x23\\x35\\x5c\\x0b\\xa4\\xf8\\xcc\\x51\\xe6\\x50\\x33\\x1a\\x47\\xc2\\x88\\x46\\xb4\\xd4\\xe5\\xa1\\x1b\\x7c\\x77\\x3d\\x4c\\x99\\xc7\\xd7\\x89\\x1e\\x1e\\xff\\x36\\xbd\\xfb\\xe2\\x3b\\xbe\\x01\\xc4\\xc7\\xbe\\x1f\\xf1\\xb8\\x4b\\x48\\x06\\x27\\x52\\xc9\\x5e\\x6b\\x84\\x4a\\xa9\\x52\\xfe\\xc5\\xab\\x54\\x46\\xca\\x68\\xf9\\x8b\\x37\\x52\\x54\\x42\\x88\\x39\\x1d\\x72\\xad\\x4f\\x34\\x41\\xec\\xa3\\xc1\\x92\\xc8\\x83\\xf4\\xd2\\x5c\\x23\\x3a\\xc2\\x2e\\x29\\x61\\x2f\\x88\\x4e\\xcd\\xf8\\xba\\x49\\xb0\\xf7\\xf2\\x81\\x94\\x36\\x4c\\x99\\x29\\x2b\\x90\\xf2\\xb5\\x71\\x4f\\xcc\\xb3\\x14\\x44\\x9c\\x5a\\x02\\x3a\\xc7\\xbe\\x5a\\x51\\x6b\\xca\\x37\\xd6\\x57\\x95\\xf4\\xe6\\xf2\\x65\\x1d\\xba\\xbc\\x8a\\xac\\xf2\\xc9\\x23\\xa2\\x13\\x41\\x51\\x4c\\x4c\\xb7\\x52\\xe6\\x1c\\x37\\x6e\\x02\\x28\\x5a\\xb5\\xae\\x61\\xf8\\x08\\xf8\\x41\\xf5\\x42\\x23\\x6b\\x1a\\x51\\x1c\\x61\\x85\\x1f\\xb4\\x88\\xee\\xd0\\x5e\\xb0\\xdb\\x6f\\xc0\\x3c\\xfa\\x47\\x62\\xb7\\xcb\\x8f\\xe0\\x6e\\x0f\\xa9\\x58\\x36\\xe8\\x5d\\x7a\\x70\\x03\\x48\\x60\\x9e\\x74\\xd5\\xbf\\xa3\\x05\\xbd\\xe0\\x21\\x7a\\x3f\\x07\\x1a\\x17\\x8f\\xdf\\x4f\\xee\\x74\\x39\\x5d\\x7f\\xf1\\x4e\\x27\\x92\\xad\\xa6\\xbf\\x78\\xa4\\x35\\x82\\xff\\xf5\\x7e\\x4c\\x2e\\x39\\x75\\xe8\\xcd\\xb2\\x53\\x40\\x36\\x79\\xd1\\x44\\xa4\\x43\\x05\\xec\\x58\\x2b\\x8e\\x28\\x42\\xaf\\x1a\\xc3\\xc6\\xbd\\x5a\\x31\\xd4\\x94\\x6f\\x58\\x32\\xb8\\x7b\\x1f\\xf4\\x2a\\x4b\\x5e\\x8d\\x05\\x9d\\xa7\\xcc\\x96\\x17\\xc8\\xce\\xc4\\x3d\\xf5\\x8c\\xb9\\xc0\\xd6\\xb0\\x18\\xd9\\xff\\xc3\\x46\\x82\\xe4\\x81\\x0b\\x2d\\xac\\x61\\x54\\xd7\\x2c\\x90\\x1c\\x9d\\xf8\\x4c\\xc3\\x98\\xba\\xb8\\x24\\x78\\x32\\x3e\\x6a\\x13\\x7b\\x8e\\x9e\\x34\\x16\\x9e\\x5c\\xb4\\x5d\\xe0\\x0d\\x83\\x10\\x31\\x6c\\x67\\x8a\\xd0\\x5e\\x76\\xf0\\xa6\\x52\\xba\\xfd\\xbc\\x8c\\xa2\\xbc\\x54\\x29\\x35\\x88\\x7a\\x8f\\xe2\\xe4\\xc8\\x3a\\x35\\x28\\x95\\xdc\\x7e\\x5e\\xab\\xac\\x52\\x1e\\x54\\x32\\x51\\xca\\xb1\\xca\\x65\\xca\\x2d\\xca\\xd7\\x95\\x77\\x95\\x12\\x25\\xb9\\x0c\\x27\\xd7\\x13\\x42\\xbc\\x8c\\xa0\\xaf\\x13\\x9e\\x9f\\x9b\\x83\\xf8\\xbc\\xe0\\x73\\xd5\\x00\\xa6\\xb2\\x78\\x61\\xa7\\x59\\xbd\\x3b\\xcf\\x2c\\x4e\\x98\\xbd\\x65\\xc4\\x9c\\x39\\x95\\x09\\xf3\\xe7\\xb6\\x28\\x9a\\x41\\xb3\\x2d\\x6c\\xa9\\x2d\\x52\\x3e\\xea\\x95\\x9a\\x66\\x19\\xf0\\x45\\x12\\xd2\\x71\\x49\\x27\\x1a\\xf2\\x4f\\x27\\x21\\x5d\\x7b\\x90\\x1a\\x09\\xff\\x60\\x06\\xb3\\xb9\\xe4\\xbe\\xde\\xe6\\x55\\x51\\x12\\x2f\\x2b\\xd9\\x5c\\xc1\\x6a\\x69\\x66\\x0b\\xf1\\x06\\xfa\\x03\\x9e\\x11\\xcf\\xc4\\x24\\x4f\\x2b\\xbe\\x5f\\x05\\x3f\\xa7\\x93\\xb2\\xe1\\xf5\\x6c\\x7a\\xe9\\xc3\\xa1\\x5c\\x21\\xfc\\x03\\x68\\xd0\\x7b\\xd6\\x35\\x9e\\x67\\x77\\x72\\x43\\xa8\\x58\\xaa\\xd0\\xeb\\x36\\x1a\\x4c\\x5e\\x53\\x44\\x19\\xcf\\x87\\x03\\x65\\x38\\x08\\xd7\\x9b\\xe4\\x32\\x85\\x57\\xda\\x87\\x01\\x34\\x03\\xe4\\x0c\\xa3\\x50\\x50\\x65\\xbc\\x22\\x70\\x05\\x5d\\x99\\x89\\xd6\\xb8\\x9c\\x91\\x9a\\x99\\x89\\x83\\x32\\xc8\\xef\\x68\\x41\\xc1\\x40\\xd3\\x02\\x12\\xe3\\x8b\\x34\\x15\\x21\\xae\\x17\\xd9\\xc1\\x44\\x57\\xc2\\x5e\\x06\\x0b\\x5d\\xd2\\x6f\\xa9\\x0b\\x84\\xe7\\xc0\\xfb\\xc7\\xdd\\xdb\\xdd\\x87\\x1a\\xea\\x01\\x38\\x10\\xbb\\x3d\\x76\\xd7\\x31\\x78\\x63\\x40\\x9f\\xae\\x4f\\xf5\\xcb\\x18\\x0a\\x72\\x47\\x0f\\x51\\x6d\\x7c\\xc7\\xfc\\xfa\\x6b\\xfa\\xb7\\xf6\\xef\\x02\\x79\\x27\\x0c\\x27\\x4f\\x1a\\x4f\\xaf\\x94\\x68\\x64\\xfd\\x06\\x76\\x9c\\x7f\\xa6\\x6c\\xfc\\x24\\x4c\\x53\\x3f\\xa3\\x33\\xb8\\x8b\\xeb\\x8f\\xf4\\xb5\\x76\\xde\\x98\\x48\\xb9\\x4a\\x5e\\xc6\\xdb\\x71\\x44\\x10\\xa3\\x52\\xb1\\x3a\\x9d\\x75\\x0a\\x6f\\xd2\\x49\\xb9\\x68\\x36\\x7a\\x22\\xdf\\x29\\x0e\\xb1\\x4d\\x1c\\x58\\x55\\xe9\\x37\\xe6\\x9a\\x86\\x33\\x21\\xb8\\x11\\x09\\x61\\xc3\\xae\\x00\\x4b\\x9a\\x5c\\xe1\\x1a\\x4d\\x4a\\xae\\x42\\xb1\\x89\\xe7\\x22\\x71\\x6b\\xe8\\xd5\\xd8\\xa9\\x05\\xff\\xae\\xf3\\x79\\xe3\\xc7\\x8c\\x34\\x6b\\x5f\\x8d\\x3e\\x12\\x17\\x4f\\x35\\xbe\\xbf\\x6b\\x8f\\xfe\\x0f\\x69\\xc7\\xf6\\x15\\xb5\\x61\\xd1\\x20\\x32\\x1a\\x7e\\xa7\\xb5\\x8c\\x1d\\x05\\xe6\\x0f\\x9f\\x19\\x03\\xea\\xf6\\x9d\\xb9\\x9c\\xbb\\xa2\\xae\\x7c\\xef\\x5b\\xef\\x5e\\x99\\xb7\\x39\\xb5\\x7b\\xa7\\x89\\x33\\x0e\\xee\\x2d\\x1d\\x5d\\x9f\\x33\\x78\\x20\\xd6\\xf7\\xda\\x50\\x7b\\xd9\\xb7\\xd9\\x97\\xa8\\x08\\xaa\\x05\\xf1\\xee\\xb9\\x10\\x3d\\x99\\x80\\x8a\\x31\\x71\\x9e\\xfd\\x3c\\x47\\xe2\\x48\\x44\\x53\\x18\\x78\\x72\\xad\\x98\\x72\\x72\\xad\\x52\\x72\\x8b\\x6c\\x95\\xe2\\x78\\x59\\x1c\\xd5\\x89\\x25\\xa0\\x95\\xa8\\x5c\\x02\\x7e\\x01\\xc8\\xa9\\x7b\\x65\\xc4\\x84\\x29\\x53\\x7b\\x6f\\x9b\\xbd\\xdd\\xd6\\x32\\x7b\\xd4\\x6b\\x75\\xe3\\x9e\\x9c\\xde\\x7b\\xfb\\xcc\\x6d\\x61\\x79\\x07\\x6a\\x8a\\x6b\\x36\\xd4\\x74\\x69\\x3b\\xa9\\x1b\\xb3\\x68\\xde\\xa6\\x79\\xf9\\xf9\\x0b\\x36\\x2f\\x68\\xd3\\xb5\\xeb\\xe6\\xc2\\x79\\x5b\\x17\\xe4\\xe7\\x2d\\xda\\xbc\\xa8\\x5d\\xc7\\xee\\xdb\\x5e\\xeb\\x3a\\x68\\x7d\\x75\\xd7\\x81\\x1d\\x9e\\x10\\xce\\x41\\x39\\x92\\x2f\\x45\\x5c\\x21\\x92\\x2f\\xed\\xbc\\xd1\\x1a\\x46\\xab\\xd3\\x0e\\xe6\\x15\\x52\\xc4\\x9e\\x06\\xf3\\x6a\\x16\\x21\\x5b\\x65\\xd2\\x53\\x3a\\x9d\\xcc\\x62\\x36\\x1a\\x18\\xb9\\xcc\\x20\\xc4\\xae\\x89\\xc1\\x6b\\x57\\x2a\\x33\\x48\\xc4\\x77\\x66\\xc8\\x25\\x9d\\xf0\\x95\\x2b\\x7e\\x11\\x79\\xc0\\x14\\x01\\x93\\x03\\x1e\\x70\\x82\\x72\\xf4\\x33\\x05\\xfe\\x96\\x02\\x0f\\x39\\x40\\xa9\\x13\\xff\\x34\\x35\\x52\\xc0\\x75\\x1a\\xd4\\x23\\x21\\xf8\\xf2\\xca\\xed\\xab\\xee\\xdc\\x59\\xb5\\x7d\\x25\\xbd\\xd2\\xf7\\x03\\x1d\\x86\\xcf\\x80\\xc0\\x7b\\x0e\\x90\\x33\\x60\\x38\\xce\\x51\\x1c\\x2e\\x48\\x4b\\xa5\\xa6\\x92\\x08\\x7a\\x91\\x0d\\xf9\\x59\\xd1\\x7d\\x20\\xa1\\x77\\x32\\x8a\\x87\\x7f\\x3f\\x58\\xc3\\x28\\x1f\\xfe\\x45\\xec\\xc6\\x70\\x12\\xdf\\x7e\\x99\\xca\\x45\\xd6\\x55\\x2f\\x6f\\x16\\xeb\\x01\\x39\\xed\\x81\\xbb\\x3d\\xa0\\xdb\\x03\\x75\\x3e\\xe8\\xa8\\x00\\x8c\\x56\\x01\\x94\\x9c\\x22\\xbf\\xbd\\x87\\x8d\\xa0\\x22\\x62\\x91\\x45\\xee\\x02\\x4a\\xd6\\x15\\x81\\x8d\\xf3\\x04\\x1c\\x91\\x44\\x89\\x7a\\x55\\xaa\\x5f\\xaf\\x22\\xf1\\xce\\xe4\\x42\\x19\\x4b\\x1d\\x10\\x42\\x44\\x81\\xab\\x01\\x21\\x04\\x80\\x78\\xae\\x72\\x89\\xf6\\x95\\x9d\\x95\\x02\\x3c\\xf8\\xb0\\xe4\\xe4\\x0a\\xa1\\x59\\x48\\xab\\xf7\\x88\\x97\\x09\\x6d\\x01\\x93\\xfc\\xc6\\x55\\xfa\\x1e\\x3d\\xa4\\xff\\xb8\\xc9\\x2a\\x26\\xa9\\xff\\x13\\xeb\\xe7\\x77\\x5a\\x36\\xae\\xa0\\x78\\xee\\xfd\\x43\\xdf\\x7c\\xac\\xf8\\x93\\x1d\\x35\\x7d\\xe5\\xbc\\xa4\\x8a\\x17\\x0e\\x2d\\x7f\\x76\\x76\\xa7\\x2e\\x4f\\xff\\xfc\\xd7\\x90\\xad\\xe3\\xc6\\x27\\xf1\\x33\\xc7\\x4c\\xe2\\x2e\\x3f\\x3b\\x3f\\xbc\\xa0\\x7d\\x7e\\x3b\\x6b\\x54\\xba\\xc7\\xe1\\xee\\x54\\xd5\\x71\\xd4\\xd1\\xe8\\xa8\\xca\\x2e\\xa3\\xde\\xa8\\x5d\\xb2\\xc6\\x5d\\x5a\\xcc\\xf7\\x89\\x4b\\xf7\\x24\\x24\\xcf\\xa9\\x18\\xb5\\xcd\\xe3\\xaa\\xeb\\x50\\x7b\\xa0\\xdf\\xc3\\x1b\\x99\\xed\\x5d\\xea\\x81\\xed\\xd1\\xf8\\x48\\xae\\x02\\xe1\\x77\\x17\\x7b\\x8e\\xad\\xe0\\x36\\x0b\\xf8\\x3d\\x01\\x38\\x96\\x5b\\x5d\\x41\\xb1\\x54\\xaa\\xff\\xc8\\xe4\\x66\\xa2\\x9d\\xcc\\x94\\x32\\xdd\\x13\\x6f\\x24\\xfa\\x26\\x27\\x5e\\x4f\\x64\\xcf\\x7d\\x81\\xfe\\x91\\x58\\xb5\\x28\\x2a\\x8e\\xdd\\x8f\\xf8\\xbd\\x05\\x9d\\xce\\x0c\\x8a\\xf7\\xb6\\x42\\x42\\x4c\\xff\\x0e\\x2f\\x51\\xbe\\xc3\\xcb\\x25\\x5a\\xf4\\xe7\\xbb\\x54\\x23\\x9a\\xcb\\xab\\xd6\\x17\\x51\\x12\\x9d\\x64\\x9c\\x64\\xb6\\xe4\\xba\\xe4\\x37\\x89\\x04\\xb1\\x56\\x09\\x25\\xb1\\xc7\\xc4\\xb4\\xb8\\xc8\\xc7\\x50\\xf6\\xb4\\x8b\\xe8\\x48\\xa7\\x36\\xf7\\x70\\x26\\x56\\xea\\x33\\x13\\x45\\x20\\x88\\x0e\\xe8\\x77\\xc7\\x08\\xaa\\xa1\\x15\\x9d\\x02\\x13\\xcd\\xc6\\x44\\xc7\\xd2\\xc4\\x56\\xca\\x60\\x0d\\x52\\x1d\\x1d\\x13\\x4d\\xeb\\x75\\x86\\xcc\\x0c\\x03\\x3d\\x69\\xf7\\xa9\\x23\\xbb\\x3f\\xeb\\xb3\\x38\\x7d\\x42\\xd5\\x90\\xba\\xca\\xf1\\xad\\xe6\\xb8\\x37\\x82\\xcb\\xf5\\xf0\\xdf\\xc3\\x87\\xe1\\x7f\\xcb\\xea\\x81\\xfc\\xd0\\x21\\x20\\xaf\\x9f\\x79\\xf7\\xf3\\x4f\\xee\\xfe\\xf6\\xf1\\x67\\xbf\\x81\\xee\\x37\\x2e\\xbe\\xfb\\xf5\\xb5\\xc4\\x59\\xeb\\x57\\xd6\\xef\\xdc\\xd0\\x62\\xfc\\x34\\xf0\\xd2\\x0d\\x78\\x6a\\xcf\\x3e\\xd0\\xe9\\xbb\\xef\\x40\\xa7\\x7d\\x7b\\xe1\\x2b\\x37\\x91\\x7d\\x5d\\x00\\xdf\\x80\\xd7\\xe1\\x57\\xf0\\x1c\\x68\\x43\\xf8\\x33\\x47\\xcf\\x65\\x53\\xb8\\x6d\\xe8\\xed\\xd3\\xa9\\x56\\x5e\\x6b\\xac\\xc3\\x43\\x79\\x6e\\xf1\\xb2\\xc4\\x9b\\xbc\\xc6\\xab\\xd2\\x15\\xc9\\x34\\x32\\x8d\\xc1\\x49\\x9d\\x04\\x96\\xa3\\x06\\xd5\\x4d\\xde\\x70\\x12\\xeb\\x7e\\x44\\x71\\x21\\xc4\\x9b\\x98\\xe8\\x3f\\x32\\x44\\xbc\\xe7\\xb8\\x73\\x89\\x0b\\x57\\xea\\x09\\x98\\xc1\\x58\\x1d\\x15\\xee\\xed\\xb2\\x91\\x2a\\xea\\xc1\\x9a\\x0d\\x71\\xe1\\x82\\x6b\\xd5\\x75\\x92\\x34\\x50\\xb8\\x57\\x53\\x3d\\xd9\\xf5\\x59\\xfc\\x95\\x15\\x4b\\x56\\x48\\xb2\\x65\\xc9\\x79\\x61\\x5d\\x3a\\x94\\x75\\x06\\xcc\\xc4\\x36\\x45\\x4f\\x6a\\x24\\x23\\x7b\\x76\\x8f\\xa3\\xe7\\xf6\\xef\\x6d\\x8f\\xfc\\x95\\xa3\\x8b\\x4d\\xfd\\x47\\x29\\x47\\x4f\\x1f\\x35\\x24\\xc2\\x05\\xef\\xc6\\x85\\xa5\\x73\\x33\\xcc\\xdd\\x73\\xac\\xcf\\xaf\\x1d\\xdb\\x35\\x8a\\xa1\\xa3\\x3b\\xc6\\x75\\x26\\x67\\x65\\x06\\xb5\\x94\\x5d\\xc3\\xbc\\x44\\xc9\\x70\\xc7\\xa6\\x13\\x72\\xb4\\xc3\\xbf\\x54\\xa8\\x98\\x00\\x2d\\xb8\\x99\\x5c\\xc4\\xe7\\x81\\x11\\xe9\\xe7\\xe2\\x2f\\x8c\\xf2\\x94\\x1a\\x14\\xfd\\x2a\\x85\\xa7\\x4f\\x4b\\x7d\\x6d\\x5e\\x51\\x83\\xae\\x77\\xc8\\xef\\x4b\\xc1\\x88\\xce\\x60\\xac\\x1b\\xae\\x84\\x6b\\x63\\x42\\x7e\\x25\\xf1\\x0f\\x68\\x8d\\xbe\\x4c\\x38\\x3a\\xc7\\x56\\xaf\\x86\\xa1\\xf7\\xf3\\xa9\\x54\\x01\\x35\\x16\\x2d\\xc5\\xbc\\x4c\\x15\\x5c\\xc2\\x7c\\xd0\\x4d\\x02\\xcf\\x99\\x27\\x1e\\x7e\\xc5\\x32\\x4b\\xc1\\x4b\\xd7\\x7d\\x93\\x90\\x6c\\xf4\\xc7\\x8f\\x23\\xd9\\xa8\\xa3\\x70\\x57\\x72\\x3f\\xed\\x69\\x11\\x67\\x75\\x23\\xfc\\x57\\x78\\xf3\\x22\\x74\\x26\\x87\\xde\\x10\\x6d\\xb8\\xc0\\x9b\\x5d\\x17\\x10\\x97\\x8d\\x32\\xf5\\x30\\x55\\x99\\xc6\\x9a\\xb8\\x1e\\xd1\\x55\\xd1\\x34\\x8e\\x2b\\xa5\\xe5\\x8c\\x29\\xda\\x6c\\x8e\\x36\\x31\\xac\\x4a\\x95\\x70\\x91\\x57\\x51\\x6c\\xea\\x45\\x9e\\x0d\\x12\\x9f\\x15\\x13\\x5f\\x2a\\xd1\\x28\\x85\\xdd\\xd1\\x93\\x0d\\x6a\\x46\\x68\\x80\\x89\\xc1\\xe1\\xf1\\x42\\xb0\\x8f\\x91\\x41\\xca\\x8a\\x1e\\x1d\\x71\\x2e\\x84\\xfc\\xd8\\xfd\\xcd\\x49\\x0d\\x0e\\x6f\\x98\\xb4\\x16\\x64\\xd6\\xaf\\x1d\\xda\\xfb\\xf3\\x13\\x87\\xa6\\xce\\x2f\\xed\\x05\\xa2\\xfd\\xd4\\x47\\xff\\xd7\\x8c\\xd8\\x7c\\x53\\x41\\x17\\x78\\x82\\x29\\x98\\x39\\xb6\\xf6\\x69\\x23\\xdc\\x43\\x97\\xce\\x82\\x3f\\x94\\x0c\\x6e\\x4a\\x81\\x48\\x5f\\x78\\x89\\x7b\\x89\\x5b\\x23\\x51\\x19\\xa4\\x54\\x7b\\x50\\x28\\x59\\x48\\x68\\x32\\x8e\\xb1\\x33\\x2f\\x72\\x2b\\x28\\x15\\xd2\\xa6\\x6d\\x5e\\x35\\x63\\x39\\xc8\\x33\\x0a\\xaf\\x42\\x77\\x10\\x09\\x75\\x4a\\x50\\x19\\x2e\\x61\\x61\\x63\\x12\\x72\\x31\\x08\\xad\\x49\\xb3\\x02\\xe7\\x2a\\x87\\x79\\xf1\\x95\\xf9\\xcf\\xbc\\xda\\x7b\\x55\\xbf\\x05\\xa7\\x37\\x57\\x76\\xea\\x5c\\x55\\xd3\\xb1\\xc3\\x20\\xb6\\xcf\\xd3\\xa7\\x8e\\xcf\\xeb\\xb3\\xb2\\xe7\\xa9\\xa7\\x3b\\x0d\\xaa\\x2e\\x2c\\x1c\\x5c\\x23\\xf8\\x7f\\x87\\xa2\\x8d\\x18\\xce\\xfe\\x8d\\xec\\x02\\x2d\\x95\\xef\\x75\\xab\\xd4\\xfb\\x11\\x46\\x69\\x1d\\xed\\xa4\\x19\\x35\\x4b\\x8b\\x49\\x05\\xc5\\xd2\\x0a\\x69\\x9d\\x94\\x91\\x49\\x81\\x74\\x10\\x07\\x90\\xc4\\xab\\x44\\xaa\\x84\\x20\\x2d\\x84\\x58\\xbd\\xa6\\xc9\\x06\\x38\\xa2\\x90\\xfe\\xf8\\x3a\\x1c\\x0b\\x56\\x5c\\x07\\x2b\\x71\\x60\\x21\\x7d\\x0e\\xee\\x03\\xbd\\xbf\\x01\\xbd\\xe0\\x4b\\xdf\\xf8\\xda\\x7c\\xf3\\x8d\\x90\\x0b\\x11\\x4e\\x67\\xb2\\x2d\\xb9\\x7a\\xf4\\x96\\x39\\xde\\x48\\xbd\\x84\\xb2\\x2b\\x12\\x15\\xb4\\xc8\\xcb\\x35\\x1a\\xd9\\x2d\\x5e\\xf3\\x35\\xb0\\x50\\x96\\xef\\x79\\xea\\xab\\x50\\x4d\\x9d\\x70\\x6e\\x03\\x89\\x0a\\xcc\\xcd\\x21\\x41\\x81\\xa1\\x27\\x8e\\x04\\xae\\x83\\x70\\x47\\xe5\\xf5\\xc9\\xb5\\x3d\\x06\\x47\\xdf\\x88\\x7f\\x6f\\xe9\\xc2\\x35\\x77\\xea\\x07\\x87\\x83\\x3d\\x4e\\x3a\\xb3\\x7e\\xc9\\x8c\\xf6\\x83\\xbd\\xc5\\x13\\x25\\x4f\\x2c\\x19\\x5a\\x75\\x74\\x5e\\x69\\xa7\\x38\\x41\\x8f\\x04\\x79\\xb4\\x87\\x4d\\xe3\\x96\\x22\\x09\\xdf\\xdb\\x9b\\x15\\xa3\\x43\\xf2\\xf3\\x16\\xff\\xae\\xee\\x73\\x1d\\xad\\xd5\\x45\\xe9\\x10\\xcd\\xe9\\x74\\x94\\x36\\x3c\\x2a\\x9c\\x36\\xb3\\xe1\\x4e\\x95\\xb6\\x28\\x3c\\x22\\xc2\\x72\\x8b\\x8f\\xf8\\x9a\\x92\\xdf\\xe2\\x3b\\x4a\\x80\\x84\\xfa\\x26\\xe8\\x1a\\xa7\\x32\\x13\\x49\\xc0\\x2b\\x51\\x0a\\x2a\\x43\\xf5\\x7f\\x74\\xf6\\x4d\\x44\\x90\\x08\\x91\\xec\\xb9\\xe4\\x16\\xc4\\x0f\\xb9\\x44\\xb0\\x02\\x34\\x80\\x9e\\xb0\\x6e\\x1b\\xb8\\x0e\\x26\\x14\\x76\\x5b\\xd1\\x3e\\xa2\\x75\\xaf\\xbe\\x80\\x4f\\xef\\xac\\xfd\\x24\\xf6\\xf2\\xf2\\x67\\x56\\x8f\\x1b\\xc3\\x77\\xaf\\xda\\x4f\\x7b\\x46\\x8d\\x33\\x48\\xb4\\x9a\\x41\\x3d\\xf2\\x7b\\xae\\xee\\x9c\\xdf\\x25\\x3b\\x4b\\x33\\x7e\\x56\\x4d\\xef\\x9e\\xf3\\x2c\\xb4\\xb2\\x4f\\xeb\\x92\\xc5\\x5d\\xd1\\xfb\\xdc\\x61\\xb7\\xb2\\x51\\x8f\\xde\\x67\\xe5\\xba\\x5d\\x52\\x0e\\xdc\\x91\\xa0\\xb3\\x48\\xcb\\xe0\\x2c\\x76\\x6b\\xd4\\xbd\\xc4\\xdb\\x58\\x47\\x7b\\x1b\\x0e\\x62\\x0f\\x22\\x3b\\xc9\\x4e\\xb9\\xbd\\x06\\xbb\\x59\\x46\\x73\\x61\\x56\\x8d\\x5a\\xab\\x52\\x72\\xc6\\x72\\x9e\\x13\\xfc\\x5a\\xa9\\xfe\\xbc\\x37\\x7c\\x5f\\x41\\x2c\\x6b\\xd1\\x9d\\x04\\x5c\\x21\\x66\\xb7\\x44\\x4a\\x7f\\x26\\xd7\\x30\\x93\\xf7\\x64\\x75\\xd7\\xb2\\xc6\\x22\\x78\\x1b\\xc4\\x80\\xf0\\xc9\\xea\\xfa\\xc1\\x1b\\x6c\\xd8\\xf6\\x8e\\x65\\xc6\\x15\\x5d\\x4a\\x6b\\x31\\x11\\x2e\\xe5\\x3e\\xf7\\xed\\xe8\\x9c\\xb6\\x6b\\xdf\\xb3\\x74\\xfb\\x87\\x27\\xaf\\xc6\\x08\\x7a\\xcc\\x1b\\xf0\\x55\\xf6\\x5f\\x12\\xd7\\x17\\xef\\x95\\x4b\\xb1\\xf2\\x4d\\xb1\\x1a\\xf6\\x24\\xa0\\x8e\\xf3\\x1a\\x46\\xc2\\xd1\\x40\\xc8\\xbf\\x13\\x0e\\x36\\xc6\\x71\\x7a\\x9a\\x1c\\x2d\\x80\\xbe\\x8c\\xe2\\x59\\x70\\x49\\x59\\x1e\\x7e\\xb2\\x09\\x24\\x9c\\x83\\x9f\\x6c\\x3c\\xbd\\x7c\\xcb\\x84\\x4b\\xcf\\xd0\\x93\\x1d\\xec\\xf1\\xfb\\x12\\xee\\xfe\\x7d\\x09\\xd3\\xb0\\x68\\xe6\\xd4\\x4f\\x27\\x2c\\xc3\\xfc\\xa8\\x01\\x6c\\x63\\xc2\\xe9\\xf7\\x0d\\x12\\x59\\x1a\\xb1\\x7d\\x36\\xc2\\x0e\\xa0\\x0f\\xfa\\xcd\\x84\\x4e\\x9d\\x52\\xeb\\x45\\x6a\\xb4\\x9a\\xe2\\xea\\x79\\x21\\x52\\x18\\x69\\x2b\\xa9\\xb6\\xcb\\xc8\\xd0\\x89\\x26\\x8e\\x62\\x21\\x8c\\x1e\\x49\\x55\\x92\\x83\\x00\\x52\\x72\\xac\\xce\\x8c\\xf5\\xc9\\xed\\xe3\\x34\\x23\\x97\\xb5\\xde\\xd2\\x75\\x33\\xec\\x20\\x99\\x22\\xed\\x19\\x1e\\x49\\x9f\\xa9\\x55\\x8c\\x6e\\x5d\\x47\\xee\\x88\\x81\\x95\\xce\\x64\\xae\\x71\\x4f\\x0b\\xf9\\x20\\x24\\x11\\xe4\\x16\\xaf\\x95\\x46\\x49\\x11\\x79\\x49\\x95\\x8a\\x2f\\x55\\xe8\\xe5\\xc0\\xcd\\x00\\xb1\\x63\\xf5\\xf7\\xad\\x60\\x32\\x04\\xa2\\x18\\x7f\\x3e\\x08\\x4e\\x21\\x04\\x56\\xc7\\x9d\\x61\\xce\\xe7\\xbd\\x91\\x5d\\xd7\\xc7\\x5f\\x5a\\xf4\\xa5\\x03\\x91\\x36\\x6d\\x48\\xed\\xb8\\xa1\\xa4\\x95\\xaf\\xa0\\x1e\\xf1\\x90\\x56\\x48\\xae\\xf5\\x43\\x72\\x4d\\x4b\\x39\\x70\\x81\\xf8\\x70\\x74\\x88\\xb0\\x10\\x93\\x19\\xbf\\xe7\\x65\\x01\\x21\\x96\\x28\\xd2\\x25\\x89\\x8d\\x68\\x12\\x64\\x4f\\x62\\xec\\xa7\\xac\\xdd\\x55\\x38\\xe3\\x60\\xdd\\xc6\\x17\\x3b\\xcd\\x7a\\x79\\x95\\x37\\xbf\\x6b\\x65\\xe6\\x94\\x6e\\x55\\x59\\xf4\\xdc\\x4d\\xcf\\x56\\x9e\\x7b\\xb6\\xeb\\xaa\\xfa\\xc1\\x6f\\x2e\\x2e\\x06\\xff\\x74\\xcd\\xeb\\x7d\\xa8\\xcb\\x92\\x7e\\xc7\\x04\\x7e\\x92\\x83\\x64\\x43\\x8f\\x10\\xf9\\xc3\\x22\\xf9\\xa3\\x0e\\xea\\x22\\x05\\x00\\x20\\x4b\\xd1\\x28\\x05\\xc8\\xd8\\x16\\x7e\\xc9\\x91\\x82\\x4e\\xc7\\xa5\\xbf\\x9e\\x54\\xc3\\x53\\xb7\\xc8\\xaf\\x77\\x4e\\xab\\xe1\\x89\\xa5\\x48\\xe6\\x80\\x31\\x6e\\xb8\\xa2\\x33\\x11\\x3f\\xfe\\x5f\\x29\\x62\\x63\\x79\\x10\\xcf\\x3a\\xc4\\x15\\x1a\\x3c\\xb2\\x9f\\xe0\\xab\\xc8\\xd6\\x8a\\x93\\xfe\\xfa\\x23\\xa5\\x97\\xca\\x7e\\xa1\\x76\\xfa\\x8e\\x53\\xb1\\x5e\\x0b\\x43\\x1b\\xc2\\x18\\x5a\\x57\\xa5\\x03\\x51\\xba\\x59\\xba\\x65\\x3a\\x06\\xa8\\x07\\xa9\\xc1\\x78\\x7d\\x76\\x25\\xfa\\xce\\xa6\\x0a\\xd0\\x37\\x9e\\x07\\xe7\\x80\\x9e\\x15\\xe7\\x79\\x4d\\x98\\xe7\\x73\\x3c\\xcf\\xcf\\xd4\\x15\\xdf\\x51\\x4a\\x7b\\x82\\xd6\\x85\\xd1\\xe8\\xf4\\x83\\x4a\\x3d\\x7e\\x46\\x58\\x1b\\xc7\\x13\\x3e\\xe4\\xca\\xd0\\x33\\x77\\x70\\x7f\\x59\\xfc\\x4c\\xb6\\xb0\\xf6\\x45\\xb4\\x76\\x96\\x37\\x9a\\xa1\\xd3\\xd1\\xda\\xe9\\xda\\xf4\\xaa\\x74\\x3a\\x2a\\x1d\\x80\\xa4\\xf3\\x49\\x1f\\x26\\xd1\\x87\\x92\\xae\\x27\\xfd\\x96\\xc4\\x50\\xf1\\x51\\xf1\\x78\\xba\\xca\\xca\\x26\\xb0\\xe0\\x98\\x4c\\x78\\x9d\\x6d\\x83\\xce\\x9f\\x8d\\x8a\\xa4\\xf2\\xbc\\x91\\x52\\x13\\x22\\x18\\x25\\x32\\x21\\xf5\\x91\\x91\\x11\\x9b\\x2b\\x22\\xb5\\x94\\x1a\\xa8\\x58\\xb5\\x5e\\xaf\\xa8\\xe2\\xf5\\x5b\\x43\\x2e\\x32\\x9b\\x87\\x49\\x23\\xf6\\xe7\\x0f\\x1c\\xc6\\xf6\\x9d\\x18\\x65\\x9f\\x9b\\x43\\x8c\\xcb\\x56\\xc8\\x5c\\x5c\\x34\\x76\\x51\\x5d\\xf5\\xc0\\x21\\xdb\\xa2\\x80\\xcd\\x0b\\x5f\\xf9\\xf6\\xca\\xcf\\x51\\xed\\x87\\xed\\x5c\\x07\\xa6\\x66\\xc1\\x6f\\xb2\\xe8\\x9d\\xb5\\x3b\\x3a\\xf6\\x1c\\x5b\\xd4\\xba\\xc7\\xa4\\xc1\\xaa\\x0b\\xb7\\x76\\xad\\xc8\\x18\\x3d\\xa4\\xa2\\xb6\\x8a\\x06\\xc4\\x08\\xc5\\xef\\x2f\\xc4\\xf4\\x4a\\x76\\x19\\xe2\\x90\\x25\\x8a\\xde\\x9b\\xea\\xd0\\xf8\\x3e\\x75\\x8f\\xb2\\x78\\xd5\\xb4\\x56\\xcb\\xc5\\xd1\\xba\\x37\\x75\\x46\\x8e\\x72\\x27\\x22\\x8c\\xa1\\x6f\\x71\\xfc\\x3e\\xc9\\x0b\\x81\\xf1\\x53\\xa8\\x67\\xa9\\x3f\\x29\\xcb\\x31\\x1a\\x8f\\xd6\\x9e\\x04\\xab\\x8f\\x6a\\x0d\\xfe\\x07\\xfc\\xe3\\x17\\x4a\\xf6\\xf8\\xc7\\xd3\\x0b\\xa8\\x54\\x34\\x3e\\xec\\x38\\xad\\xd3\\xa1\\x07\\xcc\\x27\\x81\\xf5\\xa8\\x59\\x1b\\x5c\\x21\\x00\\xd3\\x95\\x90\\x67\\x9e\\xa7\\x52\\x90\\xda\\x8a\\x9e\\x21\\x20\\x85\\x9d\\x04\\xa9\\x47\\xc3\\x62\\x1f\\xf3\\xcc\\x02\\xc9\\xec\\x00\\x5c\\x23\\xa9\\x24\\xea\\x3b\\x2a\\xd2\\x6b\\x60\\xc8\\x53\\x0c\\x6d\\x2c\\x30\\x82\\x78\\xa3\\x5e\\x22\\x75\\x23\\x2d\\x36\\x9b\\x3c\\x98\\x1d\\x78\\xff\\xfa\\xc0\\x5a\\x1b\\xd1\\xf9\\x9a\\x4b\\x85\\x1f\\x67\\xe8\\x38\\x1c\\x2e\\x76\\xb2\\xf1\\xd6\\x51\\x43\\x38\\x7e\\x28\\xb0\\xb9\\x24\\x0e\\x9a\\xcb\\x26\\xf1\\x54\\x26\\x6a\\x90\\x37\\x8f\\x02\\x46\\x50\\xc3\\x9b\\x8c\\x46\\x56\\xab\\x55\\xd5\\xf0\\x32\\x65\\x0d\\x7f\\x49\\x06\\x4e\\xc9\\xc0\\x3a\\x19\\x28\\x90\\xf5\\x90\\x21\\x11\\x28\\x8b\\x92\\xd1\\x6a\\x4e\\x26\\x43\\x92\\x53\\x6b\\xd0\\xeb\\x58\\x56\\x5a\\xc3\\xb3\\xc1\\x60\\x4a\\x62\\xb8\\x05\\x23\\x62\\x05\\x12\\x08\\xe4\\x3d\\x93\\x08\\x56\\x7f\\x7c\\xac\\xcb\\x88\\x18\\x74\\x26\\xdd\\xd5\\x77\\x18\\x3e\\xa0\\xa7\\x32\\xb1\\x1e\\x78\\xb1\\x10\\x24\\x78\\xe0\\x27\\xdd\\xc0\\x00\\x8f\\x6f\\xcf\\xf5\\x56\\xbd\\xf7\\xbc\\x0b\\xe6\\xc2\\x19\\x5c\\xe1\\xbb\\xf0\\xf9\\x0b\\x70\\xea\\xbb\\xec\\xec\\x0b\\x70\\xa5\\x40\\xeb\\x3d\\x61\\x07\\x1c\\xa7\\x8c\\xde\\x35\\x8e\\xe0\\x68\\x2a\\xc0\\x4a\\x83\\xf6\\x30\\xb0\\x9d\\x6c\\xec\\x7a\\xd4\\x96\\xa0\\xd0\\x11\\x94\\x92\\xb1\\x24\\xd6\\x97\\xec\\x73\\xbc\\x48\\x17\\x3f\\xe0\\x7d\\xf6\\x22\\xb2\\x55\\x71\\x71\\x40\\x5d\\xa6\\xd6\\x51\\x74\\x90\\x2e\\x1e\\x19\\x3f\\x85\\x5a\\x4c\\xe8\\x02\\xe0\\xd1\\xaa\\x93\\x40\\x76\\x54\\xa5\\xf5\\x3f\\x10\\x1c\\xbf\\xc7\\x3f\\x5e\\xa4\\x0b\\x3c\\xbf\\x5a\\x8d\\x9e\\x30\\xd4\\x1b\\x54\\x8f\\x99\\x7f\\x76\\x60\\xfe\\x91\\x94\\x17\\xed\\xaf\\x0d\\xc7\\x76\\x62\\x80\\x68\\xa0\\x3b\\xa5\\xd3\\x08\\x4f\\xf8\\xf7\\x56\\x88\\x65\\x25\\x30\\x25\\x89\\xef\\xf0\\x75\\x93\\x77\\xe8\\xae\\xd6\\x49\\x41\\xc8\\x1a\\xcd\\xc7\\x4f\\xa1\\x9e\\x6b\\xf2\\x0e\\x36\\xf4\\x0e\\xfe\\x07\\x82\\xe3\\xf7\\xf8\\xc7\\x8b\\xef\\x10\\xe9\\x35\\x89\\xef\\x90\\x6a\\x28\\x30\\xf4\\x30\\x30\\xab\\x0d\\x2a\\xfc\\x54\\x65\\xb3\\x75\\x66\\x07\\xd6\\x11\\x68\\xd5\\xe9\\x35\\x05\\xde\\x25\\x55\\x57\\xa0\\xa3\\xf7\\xe9\\x34\\xe2\\x73\\xc2\\x1b\\x11\\xbe\\x82\\xcc\\x39\\xf6\\x55\\x44\\x7b\\x6a\\x24\\xd9\\x7b\\x78\\x33\\x2d\\x34\\xc3\\x32\\xd5\\xf8\\xce\\x9c\\x2d\\x40\\xf2\\xfe\\x75\\xf6\\x1b\\xf6\\x2e\\x2b\\xc1\\xa9\\x23\\x5b\\xd0\\x7f\\x5c\\x65\\x39\\x1d\\xc3\\xb2\\x40\\x22\\x31\\x54\\xf1\\x12\\x06\\x58\\xab\\x1e\\x13\\x2f\\x3f\\x3e\\xe0\\x27\\x48\\x00\\x24\\xb3\\xbd\\x69\\x9c\\xb8\\x34\\x46\\x88\\x15\\x7f\\x0f\\x56\\x8c\\x99\\xdf\\x62\\xfe\\x98\\x26\\xe1\\xe2\\xed\\xaf\\xb6\\xb8\\xda\\x9e\\x84\\x8c\\xd3\\x59\\x5f\\xd0\\x39\\x21\\x51\\xe3\\xf0\\xc0\\x17\\xf0\\x10\\x0e\\x1c\\x47\\xef\\x4b\\xe2\\x4d\\x09\\x9e\\xd2\\x43\\xce\\x33\\xde\\x07\\x7c\\x34\\x41\\xd8\\x4b\\x61\\xb1\\x12\\x75\\xc8\\x3e\\x90\\xd8\\x51\\xb2\\x0f\\x19\\xe2\\xbe\\x7d\\x26\\xec\\x1b\\xed\\x70\\x20\\xf4\\x44\\x14\\x45\\x38\\x19\\xe5\\xff\\x31\\x7e\\x0a\\xb5\\x42\\xe0\\x49\\x78\\xb4\\x03\\x49\\xc7\\xa3\\x8e\\x28\\xff\\x03\\xc1\\xf1\\x7b\\xfc\\xe3\\x83\\xb4\\x47\\x47\\x44\\xa0\\x27\\xa2\\x57\\x45\\x3b\\x1e\\x99\\xff\\x4a\\xc8\\xf8\\x00\\xfc\\x02\\x3c\\xee\\x7d\\xee\\xf4\\xc7\\xc0\\x33\\x3b\\x00\\xcf\\x48\\x34\\x3f\\xa1\\x55\\x86\\x3c\\xc0\\xd0\\xce\\xfd\\xce\\x48\\xe1\\x09\\x71\\x67\\x01\\x55\\x4b\\xed\\x66\\x6b\\xd9\\xbd\\x48\\x6f\\xef\\xe8\\x35\\x77\\x57\\x56\\x2a\\x47\\x2b\\x19\\x65\\x9a\\x39\\xac\\x48\\xd9\\x9e\\x29\\x67\\x6a\\x18\\x86\\x39\\xd9\\xf8\\x9e\\x37\\x0c\\x7d\\xc0\\xfc\\x09\\xc0\\xcf\\x00\\xac\\x06\\x3b\\xc1\\x79\\xc0\\x2c\\x01\\x60\\x12\\x00\\x00\\xe7\\xef\\xe0\\x7f\\x99\\x89\\xf8\\x7f\\xe9\\x69\\x46\\x39\\xc8\\x95\\x03\\xab\\x1c\\x48\\xe5\\xa0\\x16\\x0c\\x81\\x5b\\x37\\x83\\x41\\x60\\xd0\\x66\\xb8\\x95\\xfc\\x80\\x9b\\x40\\x27\\xf4\\xf1\\xa0\\x4d\\x70\\x3b\\xfe\\xef\\xcd\\x70\\xfb\\x56\\x50\\x03\\x37\\x50\\x14\\xd3\\x78\\xb1\\xf1\\x23\\x2e\\x8b\\x9b\\x4c\\x59\\xd1\\xae\\xb9\\xb1\\x77\\x4c\\x15\\x5d\\xc5\\x47\\x85\\x51\\x2a\\x96\\xb2\\x07\\x23\\x15\\x85\\xdb\\x3e\\xce\\xef\\x09\\x23\\xe1\\xab\\xa2\\x93\\x0c\\xc7\\xf1\\x02\\x72\\x15\\xc9\\x91\\xeb\\x36\\x1a\\xdc\\xff\\x64\\xec\\xbc\\x21\\xbb\\x3c\\xb5\\xc7\\x00\\xbd\\xfd\\xa3\\x31\\xf3\\x07\\xef\\x4c\\x18\\x7e\\xbc\\x91\\xfa\\xdd\\x07\\x13\\x26\\x0d\\x5f\\x5f\\xed\\xfb\\x85\\x06\\x9e\\xc9\\x23\\xd6\\x0f\\x32\\x3d\\x51\\x5f\\x7c\\x68\\xd0\\x82\\x2d\\x60\\x26\\x00\\xf3\\x26\\xd6\\x17\\xef\\x1f\\x32\\x7f\\x3b\\x9c\\x0b\\xe1\\x7c\\x66\\xba\\xef\\xeb\\x09\\x07\\x41\\xdf\\x3f\\x69\\x57\\xdd\\x3e\\xb8\\x47\\xe0\\x4f\\x24\\x9e\\x92\\xec\\x79\\x4b\\x91\\x46\\xae\\x88\\x67\\xdb\\x62\\x41\\x34\\x65\\x35\\x5b\\x6d\\x8c\\x21\\x64\\x4f\\x9a\\x8f\\x9f\\x42\\xcd\\x43\\xe3\\x4d\\x5e\\x15\\xc0\\xc3\\x2d\\xdf\\x5a\\xc2\\xfd\\xc3\\xb3\\x43\\xe6\\xdf\\xe3\\x1f\\x1f\\xc2\\x9f\\xac\\x56\\xf4\\x80\\x63\\x94\\xc3\\xf2\\x98\\xf9\\x67\\x07\\xe6\\x17\\xce\\x34\\xe1\\x4f\\x18\\x20\\x1a\\xd8\\xe6\\xda\\xc2\\x84\\x27\\x02\\xfc\\x89\\xc4\\x18\\x12\\x98\\x5a\\x8b\\x30\\xad\\x16\\x61\\x92\\xa3\\x25\\xe4\\xcf\\xc9\\x55\\x8c\\x34\\x00\\x93\\x18\\xc7\\x7b\\x88\\x9c\\x7d\\x2b\\x15\\xe3\\x35\\x02\\x63\\x0d\\x2f\\x31\\xd4\\xf0\\x00\\xd9\\x2b\\x34\\x17\\x88\\x6e\\xf6\\x7b\\x32\\x02\\xa2\\x43\\xb0\\x46\\x58\\x7f\\x7c\\x33\\x52\\x04\\x4b\\x3f\\xc9\\x10\\xa2\\xdc\\x93\\x2f\\x7e\\xf1\\xd3\\x06\\xf8\\xc3\\x33\\x63\\x27\\xec\\xed\\x73\\x84\\x7f\\xb6\\x2b\\xa0\\x1a\\x29\\xae\\xf0\\xe7\\x97\\x36\\x2f\\xb9\\xbf\\x04\\x7c\\xd3\\x6d\\x20\\x2c\\xea\\x32\\x57\\xd0\\xe3\\xad\\xe8\\xfd\\x76\\x23\\xdb\\x3e\\x13\\xdf\\x54\\x9b\\xe5\\x4e\\xca\\x19\\x56\\xca\\x3b\\x29\\x87\\xdd\\x4c\\x49\\x4a\\x79\\x9a\\xdc\\x74\\x0a\\xb1\\x4f\\xc1\\x6b\\x4e\\xd1\\xcf\\x56\\x00\\xb2\\x44\\x37\\x9b\\x98\\xf0\\xa5\\xc4\\xf1\\xe4\\x62\\xba\\x2f\\x2d\\xa8\\x37\\x56\\xa2\\x76\\xd3\\x7b\\x57\\xd5\\x25\\x24\\xcd\\xcc\\x28\\xeb\\xa7\\x64\\x26\\x77\\xec\\x5c\\xd2\\xbd\\xa4\\x73\\x49\\xc9\\x87\\x99\\x6f\\xc2\\xdb\\xe7\\x93\\x40\\xca\\xef\\xc7\\x2f\\x59\\x32\\xda\\xf7\\x4f\\x74\\x25\\x75\\x9b\\x37\\xe6\\x8a\\x29\\xf1\\x8a\\xc5\\x5d\\x98\\xe7\\x28\\xee\\x93\\x3e\\xba\\xa0\\x74\\x42\\xab\\xfc\\xaa\\x96\\x59\\x6d\\xe0\\x9f\\x0f\\x95\\xcc\\xdd\\xdb\\x7f\\x2f\\x9b\\x1d\\x57\\x51\\x56\\xd8\\xd1\\xd5\\xc2\\x6c\\xc9\\x6a\\x3b\\xb6\\x7e\\xf8\\xf9\\xa1\\x78\\x4f\\x49\\x8c\\x1f\\x77\\x04\\xe1\\xbb\\x23\\xc2\\xb7\\x84\\xea\\x50\\x4f\\x91\\x53\\x9c\\x97\\xa7\\x8f\\xa3\\x5b\\xb5\\x6e\\xd5\\x86\\x71\\x86\\xea\\x14\\x64\\xfc\\xa8\\x90\\xf1\\x53\\xba\\x53\\x98\\xab\\xe0\\xd1\\x79\\x27\\x81\\xee\\x68\\x5e\\x6b\\xff\\x03\\xc1\\xf1\\x65\\xdc\\x31\\xff\\x78\\x7a\\xc1\\xaf\\xc2\\xfc\\xad\\x5a\\xa1\\x27\\x0a\\x56\\x16\\xe4\\x3d\\x66\\xfe\\x75\\xdc\\xe9\\xc0\\xf8\\xe7\\xff\\x0d\\x81\\xa7\\xfd\\xd1\\xf6\\x25\\x8f\\x19\\x5f\\xc6\\x6d\\x0e\\xc0\\x33\\xf2\\x37\\x4a\\xe0\\x2a\\xf8\\x01\\x86\\x6e\\x73\\xa0\\x4d\\xbe\\xf0\\x84\\x5f\\x5e\\xf8\\x9f\\x91\\x28\\x03\\x6b\\x6c\\xfc\\xb7\\xc9\\x33\\xad\\x4f\\xb5\\xee\\xd0\\xf4\\x19\\xc4\\x03\\xbe\\x44\\xcf\\xbc\\x2f\\xc6\\x42\\xb6\\xa7\\xaa\\xbc\\xb9\\x59\\x54\\x1b\\xaa\\x8c\\xb7\\x55\\xb5\\x19\\xdb\\x86\\xd6\\x3a\\x91\\x1e\\xdb\\xc6\\xd9\\xc6\\x19\\xa7\\x8d\\x57\\xc5\\xe7\\x95\\xf1\\xf1\\xba\\xd8\\xc8\\x32\\x3e\\x56\\x67\\x48\\x2b\\xe3\\x0d\\x16\\x95\\xa4\\x8c\\x67\\xe5\\x26\\x39\\x2d\\x57\\x59\\x88\\xdf\\xdf\\x1f\\x97\\x13\\x70\\x25\\xfa\\x9d\\x89\\x81\\x1b\\x00\\xb3\\x3f\\xc0\\xcc\\x4a\\x63\\x03\\x54\\x8c\\x1d\\xc8\\x35\\x34\\x71\\xbe\\x61\\x37\\xbc\\x1e\\xd9\\xd4\\x9c\\x29\\x53\\xf4\\xb9\\x81\\x68\\x72\\x21\\x8c\\x28\\x8a\\x3e\\xa4\\xcd\\x6f\\xd5\\xba\\x47\\xc4\\x9e\\x39\\x77\\x27\\x8c\\x55\\x75\\x3e\\x31\\x78\\xe8\\x70\\x45\\x21\\xe8\\xba\\xda\\xd4\\xa7\\x32\\xe9\\x52\\x7a\\xc3\\xc2\\x23\\x2d\\xc6\\x6e\\x7f\\xa8\\xb4\\x3d\\x64\\x5a\\x95\\x2c\\xb3\\x2a\\x87\\xf5\\xe8\\x95\\x4a\\xff\\x1d\\xdf\\xab\\xa3\\x01\\x24\\xcb\\x92\\xc1\\x4d\\xba\\x8b\\xb7\\x6f\\x4d\\xb7\\x76\\xc9\\xf0\\xce\\xe8\\x69\\x93\\x26\\x4d\\x1a\\x99\\x92\\x03\\xaa\\x39\\x76\\x48\\xcc\\x53\\xab\\xf4\\x9b\\x36\\x2d\\x59\\x02\\x5f\\x4f\\x1f\\xbd\\xe4\\xb7\\xf2\\xbd\\xe3\\x73\\x18\\xda\\x3b\\x97\\x1e\\xdf\\x6e\\x72\\x79\\xdb\\xd4\\xe2\\x52\\x8c\\xdb\\x4a\\xa4\\x4f\\x4d\\x62\\x4b\\x10\\x6e\\x3b\\x89\\xfa\\x54\\x99\\xa0\\x4f\\xb9\\x4e\\x36\\x56\\x1f\\x75\\xa5\\x89\\x42\\x81\\xec\\x03\\x89\\xcb\\x23\\xb4\\x54\\x24\\xd0\\xde\\x61\\x61\\xaf\\x63\\x62\\xd0\\x5e\\xc7\\xb6\\x89\\xf5\\x04\\x25\\x48\\x60\\x7c\\x7d\\xc8\\xf8\\x29\\x63\\x09\\xed\\xe1\\xd1\\x31\\x98\\xf6\\x62\\xe2\\x02\\x12\\x2d\\x64\\xfe\\x63\\xfe\\xf1\\xf4\\x02\\xa9\\x30\\x7f\\x6c\\x2c\\x7a\\x22\\x61\\x51\\x42\\xcc\\x63\\xe6\\x9f\\x44\\x68\\x49\\x98\\x7f\\xa4\\x4c\\xa4\\x0b\\x0c\\x10\\x43\\x7b\\x76\\x7a\\xdc\\x4d\\x24\\x14\\x7e\\x46\\x88\\x57\\xc2\\x30\\xdd\\x13\\xde\\xe1\\x35\\xb2\\x06\\x50\\x28\\xf4\\x71\\x40\\xb9\\x44\\xa9\\x61\\x40\\x93\\x35\\xd4\\x24\\xe7\\x3e\\x38\\x7e\\xca\\x70\\xfc\\x0e\\x00\\x8f\\x56\\x9c\\x04\\xc5\\x47\\x15\\x6a\\xff\\x03\\xc1\\xf1\\x83\\xc9\\x3b\\xdc\\x13\\xde\\x41\\x21\\xcc\\xaf\\x54\\xa2\\x27\\x74\\x57\\x74\\x8a\\xc7\\xcc\\xff\\x0c\\x79\\x07\\x61\\xfe\\x91\\x09\\x14\\x92\\x58\\x72\\x9a\\x00\\x44\\x03\\xcd\\x49\\x20\\x3d\\xaa\\x51\\x09\\x0f\\x05\\xc8\\x1b\\xf1\\xd1\\x7c\\xf4\\xee\\x8b\\xb8\\x2f\\xa8\\x08\\x2a\\x91\\x2a\\xf1\\x26\\xc9\\x2d\\xc0\\x48\\x59\\xec\\xac\\x43\\x6b\\x02\\x26\\x93\\x56\\xe5\\x00\\x0a\\xc6\\xe1\\x08\\xd3\\xba\\x4a\\x79\\x3d\\xa5\\x05\\x72\\x46\\xab\\x95\\x86\\x51\\xd2\\xf8\\x52\\x5e\\x1a\\x88\\xf3\\x0c\\xdc\\x60\\x89\\xc9\\xd0\\xa9\\xb8\\xd0\\x0e\\xbe\\x79\\xb0\\xe8\\xc5\\xf0\\x58\\xc1\\x0a\\xb7\\xc6\\x11\\x11\\xe9\\x71\\x59\\xac\\x6e\\xab\\x50\\x59\\x45\\x2a\\x11\\xd3\\xbd\\xdf\\x78\\xa3\\x72\\xcf\\xef\\xeb\\xdf\\xbf\\x35\\x60\\xc7\\x8f\\x6b\\x4a\\xb2\\xa2\\xbd\\x8d\\xa9\\xef\\x74\\x7d\\x0e\\xb8\\xfb\\xb4\\x04\\x9a\\x6c\\x78\\xb6\\xcf\\xc0\\x19\\x4b\\x23\\xd5\\x87\\x46\\xcd\\x2b\\x62\\xff\\xf8\\x03\\x7e\\xba\\x1a\\x7e\\xfa\\xf6\\x88\\xb3\\x47\\x9f\\xf8\\x67\\x77\\x85\\x69\\xca\\xe0\\xda\\x8d\\x3d\\x3a\\x8f\\x48\\x4b\\x19\\xbd\\xc1\\x67\\x1f\\xd8\\x6f\\xed\\xe6\\x76\\xd9\\xaf\\x8d\\xbc\\x25\\xd0\\x19\\x8e\\xa1\\xda\\x4b\\x78\\x4a\\x99\\xc0\\x53\\x44\\x1c\\xda\\xed\\x08\\x87\\xb1\\x27\\x62\\xd3\\x94\\xd6\\x26\\x38\\x24\\xb1\\x4f\\x64\\x8f\\xca\\x85\\x3d\\x3d\\x2d\\xd0\\x0d\\x1e\\x4f\\x3b\\xda\\x23\\xc5\\x49\\xfe\\x7f\\x8e\\x9f\\x32\\x94\\xd0\\x25\\x1e\\x6d\\x3f\\x09\\xe8\\xa3\\xf6\\x48\\xff\\x03\\xa1\\xe3\\x8f\\xf9\\xc7\\x23\\x39\\x4a\\x89\\x9a\\x13\\x7a\\xc2\\x35\\xd3\\x65\\x7f\\xcc\\xfc\\x5b\\x09\\xfc\\xc2\\xf8\\xe7\\xa9\\x10\\x78\\x62\\x9f\\x8b\\x4d\\x7b\\x2c\\x3c\\x9b\\x03\\xf0\\xe0\\xca\\x26\\x84\\x8e\\xf1\\x03\\x0c\\x1d\\xb5\\x2e\\x2a\\x42\\x78\\x22\\xc8\\xdf\\xa8\\xa1\\xd4\\x5e\\x76\\x38\\xd2\\xb5\\xf0\\xfd\\x8a\\x92\\x72\\x79\\x2d\\x32\\xf9\\x01\\x9e\\x95\\x1d\\xe2\\xb1\\x73\\x14\\x50\\x07\\x78\\x0e\\xa0\\xdf\\x5f\\xa6\\x0a\\x48\\x3f\\x4d\\xb4\\xa9\\xd9\\x99\\xc4\\x07\\x4a\\xfe\\xff\\xee\\x5d\\xdf\\x02\\x96\\xf1\\x2d\\xb8\\xcb\\xbc\\xf1\\xe3\\x8f\\xf0\\xc9\\xeb\\xd7\\xe1\\xf8\\x1f\\x7f\\x14\\xea\\x04\\x48\\x11\\x2c\\x67\\xd8\\x52\\x24\\x0b\\x23\\x90\\x35\\x89\\x74\\x27\\x25\\x22\\xa1\\x48\\x2b\\xa5\\xd4\\x51\\xb6\\x60\\x30\\x59\\x33\\xdd\\xc9\\x10\\x54\\x9d\\x10\\xe1\\x34\\x53\\x9d\\xfe\\xba\\x30\\x7a\\x78\\xd9\\xa4\\xd4\\x2d\\x20\\xf6\\xad\\x2b\\x23\\xab\\xcb\\x47\\xa6\\x0c\\xd8\\xf3\\xdb\\x7b\\xd0\\x1d\\x37\\x7a\\xf8\\xfc\\x32\\x68\\x07\\x9f\\xc6\\x8d\\x1d\\x31\\xbf\\xd4\\x54\\x5d\\x5d\\x52\\xd7\\x7f\\xd6\\x29\\x50\\x7d\\xbc\\x2f\\x5f\\x52\\xd3\\x6b\\xe6\\x62\\xf8\\xe5\\x3b\\x75\\xf4\\x15\\xd8\\xa5\\xef\\x53\\x80\\xdb\\x0a\\x8e\\x77\\x9f\\x01\\x7f\\xc7\\xb8\\x22\\x71\\x37\\x64\\xef\\xfa\\x09\\x7b\\xbd\\x5d\\xa0\\x0d\\x9b\\x0d\\xd1\\x86\\xdd\\x62\\x8f\\xb4\\x28\\x9a\\xe0\\xb6\\xf9\\xf8\\x29\\xfd\\x29\\xa2\\x9d\\xe0\\xe1\\xb6\\x1b\\xb6\\x08\\xff\\xf0\\xec\\xc0\\xd8\\x63\\xfe\\xb1\\xfe\\x7d\\x16\\xe8\\xce\\x39\\xc2\\x69\\x7b\\xec\\xdc\\x9b\\x03\\x73\\x8b\\xfb\\x46\\x13\\x60\\x68\\x10\\x39\\x37\\xd2\\x21\\x3c\\x11\\xe4\\x3f\\x42\\x4c\\x0a\\x81\\x67\\x80\\x00\\x4f\\x9d\\x00\\x4f\\x38\\x5a\\x22\\x1c\\x86\\x3b\\x68\\xb3\\x9f\\xf2\\xe8\\xc6\\x0f\\x60\\x5f\\x76\\x06\\xd2\\x57\\xac\\x48\\x8b\\x4d\\xf0\\x9a\\xad\\x16\\xbb\\x26\\xba\\x94\\x67\\xf4\\x12\\x8d\\x45\\x82\\x36\\x43\\xa2\\x03\\xe4\\x12\\xb1\\x49\\xd8\\x36\\xf6\\xb7\\x30\\x38\\x96\\x30\\x34\\xc8\\xdd\\x44\\x82\\x65\\xb3\\xc4\\x83\\x2b\\x14\\x94\\xe9\\x04\\xc2\\x4b\\x63\\xd9\\x35\\xef\\x2f\\x5f\\x5b\\xba\\xf4\\x8d\\xc9\\x35\\x4b\\x22\\x24\\x46\\x45\\x19\\xbc\\xcd\\x3c\\xbb\\x69\\xe8\\xda\\x58\\x6d\\xaf\\xae\\x03\\xe7\\x94\\x70\\x97\\xe0\\x90\\xdd\\x6f\\x37\\xec\\x9f\\x0d\\x3f\\xfa\\x6c\\xd2\\x90\\x01\\xba\\xb1\\xb9\\xb0\\x9a\\xad\\x7b\\xf7\\xcc\\xcb\\x3d\\xda\\x8d\\x1e\\xb7\\x14\\x38\\x82\\xef\\xb3\\x39\\xf0\\x3e\\x23\\x39\\x11\\x07\\xe1\\xe1\\x18\\x07\\x11\\x2b\\x23\\xec\\xc2\\x2b\\x85\\xe0\\x00\\xfb\\x2b\\xc6\\x4a\\x6a\\x03\\xfe\\x8a\\xc5\\x54\\x0e\\x50\\x52\\x8a\\xa3\\xb4\\x5e\\xcf\\xc5\\x89\\xba\\xa8\\xa0\\x27\\x54\\x04\\x64\\xfe\\xe2\\xff\\x28\\x3c\\x22\\x3f\\x5f\\x1f\\xd7\\xc4\\x5f\\xb2\\x37\\xc4\\xc7\\xb2\\x9e\\xe8\\xb7\\x68\\x14\\x36\\xc9\\x42\\xe6\\x19\\x1e\\xa2\\xcf\\xac\\xff\\x85\\xcc\\x83\\x35\\x87\\xe0\\x3c\\xb0\\x06\\xe7\\x84\\x0b\\xf3\\xe8\\xa4\\xf4\\x26\\xf0\\x02\\xa5\\xc4\\xcf\\xe2\\x5a\\x4d\\x44\\x36\\x76\\x14\\x3f\\xaf\\x13\\x7c\\x10\\x58\\xb7\\x20\\x3a\\x6f\\x9c\\xa8\\xf3\\xbe\\x2c\\xd8\\xd8\\x61\\xd8\\x12\\x3c\\x09\\xe2\\x8f\\x86\\xd9\\x45\\x3f\\x04\\xa1\\x2b\\x9c\\x07\\x30\\x8f\\xec\\x79\\x27\\x61\\xcf\\x6b\\x89\\x0c\\x89\\x42\\x5b\\x1e\\x75\\x12\\x30\\x47\\xa3\\xa2\\x9b\\xca\\xc1\\x9e\\x01\\x5b\\x2d\\x4e\\xd4\\xdb\\x3b\\x90\\xf7\\x42\\x38\\x0d\\xbc\\x57\\x65\\x40\\x56\\x76\\x0a\\xd0\\x2a\\x1a\\xe1\\x74\\x06\\xdf\\x4b\\x9c\\x67\\x40\\x60\\x9e\\x0d\\x48\\x47\\xdf\\x80\\x47\\x85\\x85\\x35\\x9b\\xe7\\x6c\\x60\\x9e\\x0d\\x26\\x32\\x4f\\x54\\xd4\\x23\\xf3\\x04\\xe1\\x59\\x48\\x79\\x45\\x3b\\x02\\x4f\\x04\\x6c\\x6f\\xd9\\x9c\\xfe\\xd7\\x0d\\xcc\\x39\\x3f\\x04\\xb6\\x85\\x0f\\x85\\x73\\x84\\x27\\x05\\xae\\xbd\\xae\\xe6\\x7a\\x02\\xc9\\xfd\\x26\\xf3\\x7b\\xc4\\xf9\\xf5\\xc2\\x3e\\x9a\\x4c\\x02\\x9c\\x02\\x5f\\xe2\\x70\\x9e\\x50\\x18\\x15\\x8f\\x2c\\xd7\\x44\\xaf\\x25\\xcc\\x9c\\x98\\x60\\xa2\\x58\\xbd\\x4c\\xab\\x75\\x94\\xf2\\x5a\\x9d\\x2c\\x26\\x98\\xc3\\xe0\\x8f\\x35\\x3d\\xff\\x68\\x16\\x03\\xbe\\xee\\x6d\\x9e\\xc3\\x60\\x11\\x92\\x18\\x40\\xae\\x31\\x53\\xca\\xd0\\x56\\x0d\\xc7\\x76\\x58\\x31\\x60\\xfc\\xcc\\x39\\x1f\\xcc\\xde\\x9f\\x8a\\x13\\x19\\xb4\\x7f\\xa8\\x6c\\xcf\\xb5\\xca\\x6c\\x37\\xbe\\x63\\x76\\x6a\\xf2\\x80\\x6e\\x56\\x23\\x38\\x2e\\xad\\xb8\\x2d\\x3d\\x81\\x13\\x1a\\x6a\\x6a\\x4e\\xed\\x39\\x0a\\xa6\\x5f\\x79\\xdd\\x9f\\xce\\x70\\xb1\\xff\\xf0\\x9d\\xf0\\xeb\\xc1\\x03\\x06\\xf0\\x2f\\x3c\\x51\\x03\\x6e\\xb9\\x40\\x7b\\x37\\x3c\\x2b\\xc8\\x35\\xd1\\xef\\x61\\x90\\x50\\x2b\\x89\\x0c\\x2f\\x44\\xef\\xd4\\x07\\xbd\\x93\\x0b\\xd1\\x6d\\x7b\\x6f\\x4c\\x64\\x14\\x65\\x03\\x76\\x87\\xbd\\x8c\\x77\\x46\\x38\\x18\\xb3\\xbb\\x94\\x0f\\x93\\xab\\x29\\x33\\x52\\x55\\xcd\\xea\\xc4\\x52\\x5e\\x6d\\x61\\x71\\x4a\\x81\\x18\\xd8\\xe1\\x3f\\xef\\x99\\x7e\\xf7\\x1b\\x31\\x95\\x24\\xd2\\xc7\\xe6\\x6c\\x90\\xc4\\x03\\x64\\x44\\x81\\x26\\x01\\xac\\x5c\\xf6\\xbc\\x13\\x2a\\x1b\\xfc\\x4d\\x48\\xdd\\x58\\xbe\\xb1\\x74\\xd1\\xab\\x93\\x47\\x2d\\xb1\\xd0\\x79\\xf0\\x7b\\x17\\x62\\x61\\x20\\xdc\\x36\\xcf\\xf7\\x49\\x79\\x49\\xc5\\xf4\\x2e\\x6b\\x6a\\xd7\\x38\\x75\\xec\\xa6\\x87\\xa5\\xf9\\x87\\x85\\x24\\x8e\\xd3\\x2f\\x4d\\x07\\x9e\\x4b\\x75\\x83\\x07\\x80\\xd4\\x3d\\x0b\\x16\\xf8\\x2a\\x86\\x8c\\x58\\x00\\xef\\x8d\\x38\\xff\\xfa\\x8b\\xa5\\x41\\xbf\\x5b\\x6d\\xc0\\x2f\\xb6\\x98\\xea\\x44\\xce\\x37\\xd0\\x68\\x02\\x74\\x27\\xe8\\x6e\\x15\\x01\\x5d\\x6f\\x31\\x4d\\xce\\xa5\\xdb\\x1d\\x42\\x77\\xcd\\xfd\\x6b\\xfe\\xf3\\x4d\\x3c\\x4c\\x21\\xf3\\xcc\\x0a\\xd1\\x19\\xd7\\xb3\\x64\\x1e\\xac\\x01\\x36\\x9b\\x67\\x40\\x60\\x9e\\x0d\\x88\\xe2\\x36\\x3c\\x66\\x9e\\x49\\xdc\\x85\\xc0\\x3c\\x1b\\x18\\xc9\\xa3\\xf3\\x20\\x7e\\xf0\\x2b\\xe1\\x13\\xf1\\x22\\x3f\\x28\\x16\\xf4\\x50\\xf4\\xb9\\xa0\\x43\\x17\\xe1\\x28\\x2b\\x7a\\x53\\x5b\\xea\\xb1\\xf0\\x2f\\xa4\\x5a\\x3d\\x16\\xfe\\xb9\\x21\\xf0\\x2f\\xfc\\xef\\x51\\xf8\\x49\\x6e\\x3f\\x99\\xa7\\x45\\x88\\x1d\\x4f\\x4e\\x69\\x60\\x1e\\x92\\x17\\x42\\xe6\\xe9\\x2a\\xf0\\x83\\x7f\\xc8\\x3c\\xe9\\xe9\\xcd\\xe6\\xd9\\x1f\\x32\\xcf\\x7a\\x2a\\x43\\x3c\\xc7\\x91\\x91\\xe8\\x1c\\xbb\\xae\\xb8\\x12\\x9b\\xf8\\x80\\x9a\\xcf\\xb9\\xfe\\x1f\\x41\\x8f\\x49\\x4b\\x43\\xac\\x3d\\x73\\x63\\x66\\x1b\\x26\\xe2\\x11\\x7d\\x7c\\x27\\xc1\\x73\\x0b\\x11\\xcf\\xf1\\x02\\x9e\\xf1\\xf4\\x4d\\xe6\\x3c\\x1b\\x98\\x73\\x83\\x00\\x27\\x9e\\x32\\x38\\x0f\\xcc\\xc7\\xb5\\x0c\\x84\\x79\\x74\\x12\\x19\\x56\\x0b\\x29\\xff\\xb3\\x92\\x48\\xff\\xb3\\xb2\\x1f\\x1a\\xc9\\xb3\\x19\\x19\\x21\\xcf\\x92\\x7a\\x03\\xe4\\x1d\\x13\\x45\\x5c\\xa5\\x08\\xb8\\xc2\\xee\\x4c\\x32\\x8a\\x26\\xfa\\xe5\\x22\\xc9\\x1e\\xca\\x86\\x2b\\x17\\x7a\\x6d\\x31\\x91\\xcb\\x79\\x57\\xcc\\xd2\\x8a\\x08\\x17\\x67\\x66\\x6c\\xff\\x2b\\x07\\xa5\\x20\\x93\\xa8\\x51\\xff\\x47\\x1a\\x8a\\x34\\xc6\\x13\\x23\\x8d\\xc9\\x75\\x67\\x3e\\x3e\\x21\\x45\\x02\\xc2\\xb3\\xd4\\x0e\\x39\\xbd\\x57\\xb2\\xe5\\x30\\xfb\\xcb\\x56\\x09\\xc8\\xb8\\xf5\\xd8\\xe4\\x94\\x42\\xf8\\x47\\xe7\\x91\\xb1\\x74\\x77\\xc7\\xfc\\xf9\\x8e\\xfb\\x84\\x4f\\xb8\\x70\\xaf\\x6b\\x52\\x73\\xc0\\x4a\\xb5\\xf5\\x3a\\x2d\\x06\\x24\\xc6\\xcb\\x78\\xad\\x92\\x92\\x02\\x2d\\x23\\xb5\\x7a\\x01\\x6d\\xa5\\x07\\xf1\\x26\\xab\\x55\\x2d\\x0f\\xa9\\x63\\x42\\x38\\x03\\x8e\\xac\\x43\\xdc\\x42\\x8c\\xa5\\x12\\x8b\\x29\\x60\\x0f\\x69\\x2e\\x89\\xa4\\x92\\x66\\x4a\\x63\\x94\\x38\\xad\\xc4\\x5f\\x58\\xe1\\xdc\\x42\\xd7\\xc2\\x68\\xe0\\x89\\x06\\x75\\xf8\\xe7\\x02\\xd7\\x82\\x73\\x0b\\x63\\xe1\\x9a\\x58\\x5c\\x63\\x81\\xb9\\xb3\\xfb\\x30\\xfa\\xb7\\xfb\\xa1\\x89\\xc9\\x38\\x7d\\xda\\x9f\\xeb\\x30\\x19\\xf1\\x2f\\x27\\xe5\\xf5\\xc6\\x84\\x51\\x11\\x66\\x8b\\x19\\x59\\xd8\\x5a\\x0b\\xe2\\x58\\x16\\xc6\\x49\\x1b\\xa4\\x66\\x5a\\x53\\xce\\xa7\\xd1\\x60\\x36\\x0d\\x68\\x5a\\x1a\\x86\\xb9\\xb2\\x50\\xeb\\x07\\x3b\\x78\\x0a\\x02\\xe6\\x07\\x0e\\xfb\\xcc\\x79\\x14\\xad\\x7e\\x30\\xa5\\xf8\\x02\\x09\\x7c\\xb9\\xfe\\x37\\xa0\\xd3\\xcd\\x84\\x3f\\x8c\\x17\\x50\\x3a\\x02\\xde\\xbe\\x35\\xdf\\x35\\x1f\\xb3\\x29\\x90\\xe4\\x82\\x1f\\x6a\\x1c\\xd1\\x4c\\xab\\x3b\\xf0\\xcf\\x4e\\x25\\xbe\\xa9\\x74\\x61\\x51\\xcb\\x8e\\x5d\\x11\\x36\\x6f\\xb1\\x9b\\x10\\x7f\\xda\\x53\\xb4\\x66\\x1e\\xf5\\x18\\x5f\\xb7\\xe0\\x03\\x6d\\x7a\\x1e\\xb1\\x3d\\xb6\\x8d\\xe8\\xee\\x82\\xfd\\xf6\\x3c\\x20\\xf2\\x10\\x5b\\x63\\x01\\x1a\\x13\\xe6\\xa9\\x0d\\xcc\\xe3\\xd7\\x5f\\x42\\xf9\\x1b\\x9e\\xa7\\x1d\\xe1\\x6f\\xc2\\x3c\\x8b\\x65\\x94\\xb0\\xd2\\x23\\xf3\\x04\\xe1\\x79\\x1c\\x7f\\xc3\\xf3\\x2c\\x0b\\xb1\\x27\\xd7\\x9b\\x1e\\x03\\x0f\\xe2\\x3f\\x57\\x08\\x5f\\x4a\\x12\\xf8\\x8f\\x5a\\x38\\x2f\\x6a\\xf4\\x79\\x2e\\x77\\x09\\x7d\\xde\\x4d\\xf8\\xbc\\x25\\x15\\xb2\\xee\\x80\\xc0\\xba\\x02\\x3f\\x0c\\xf3\\x6a\\x85\\x4b\\x82\\x54\\x15\\xd8\\xa5\\xd2\\x04\\xdc\\xfd\\xd9\\xc4\\x77\\x46\\xec\\x66\\x12\\xb3\\xec\\xcf\\xf3\\x79\\x34\\x3f\\xea\\xf1\\x79\\x3e\\x42\\x5e\\x94\\x90\\x12\\x25\\xe4\\x8c\\x5c\\x47\\x72\\x2f\\x96\\xd4\\xdb\\xb5\\xe2\\xfc\\x4d\\x8b\\x9e\\x35\\x9b\\x0d\\x55\\xbc\\x99\\x61\\x35\\x55\\xbc\\x82\\x35\\xd2\\x06\\x5c\\xa4\\xa3\\x40\\x2c\\x34\\x20\\xba\\xe2\\x8c\\xe8\\x98\\x89\\xc5\\xf7\\xa4\\x62\\x46\\x79\\x4c\\xae\\x8b\\xa1\\xbf\\x07\\x0e\\x78\\x1f\\xde\\xa4\\xcf\\x6d\\x5c\\x2e\\x01\\x5a\\x36\\x3a\\x29\\x25\\xc7\\xbc\\x08\\x26\\xd3\\x8e\\x83\\x15\\xb8\\xca\\xaf\\x69\\xc9\\x9a\\xc4\\xf4\\xb8\\xc2\\xd6\\xad\\x06\\x8e\\xa6\\xcf\\xdc\\x7e\\xf8\\x14\\x4c\\xa1\\x48\\x9c\\x4f\\x3b\\x84\\x9b\\x0f\\x49\\xec\\xb1\\x14\\x41\\x41\\x2a\\x14\\x9a\\xf4\\x11\\x32\\x44\\xaf\\x4a\\x99\\x3d\\x8c\\xe5\\xd8\\x9e\\xbc\\x8d\\xa3\\x0c\\xb4\\x98\\xc7\\x17\\xcc\\xe4\\x0b\\x5c\\x33\\x90\\xf4\\x2f\\x26\\x24\\x47\\x4b\\xcc\\xd0\\x02\\xfd\\xe1\\xed\\xf7\\x41\\x38\\x49\\x04\\x7b\\x35\\x90\\xad\\xf5\\x1e\\xb0\\x05\\x53\\xb5\\xd8\\x56\\xe7\\xae\\x5e\\xfd\\xaf\\xbf\\x90\\xaf\\xc5\\xa6\\x05\\xd2\\xb5\\x04\\xbf\\x3b\\x47\\x11\\x9a\\x48\\x16\\xf9\\xd7\\x8b\\x02\\x4d\\x98\\xcd\\x7e\\x9a\\x20\\xf9\\x64\\x44\\x66\\xc8\\x7e\\x14\\x78\\x7d\\x0b\\x42\\x13\\x46\\x63\\x08\\x4d\\x44\\xc1\\x7c\\x5c\\x3b\\x04\\xcd\\x93\\xd2\\x84\\x87\\x76\\x44\\xbc\\xf5\\x1b\\x42\\x13\\x25\\xc1\\xcf\\xfd\\x39\\x62\\x24\\x16\\xdf\\xec\\x55\\xd0\\x40\\xca\\xc8\\x38\\x2d\\x2b\\xe4\\x2c\\x05\\x4b\\x8c\\x18\\xfd\\x99\\x61\\x6f\\x2d\\x2a\\x26\\x2f\\x59\\x01\\xbe\\x02\\x29\\x30\\x05\\x44\\x80\\x8f\\x7b\\xc1\\x99\\x6c\\x2b\\x5c\\xb1\\x03\\x76\\xc2\\xcd\\x4b\\xf1\\x5a\\xa4\\xc6\\x88\\xe4\\x45\\xb4\\x56\\xaa\\xa0\\x27\\x37\\x5e\\xa1\\xfe\\xc2\\x90\\x4a\\x24\\x01\\x5e\\x8c\\xe9\\xea\\x3d\\xc4\\x8b\\x71\\xd6\\x44\\xb2\\xd7\\xaa\\xd6\\xca\\xbd\\x98\\xba\\x28\\x39\\x90\\x33\\x72\\xa6\\x39\\x89\\xe1\\xd0\\x03\\x1c\\x6a\\xf4\\xf5\\xe5\\x50\\x5a\\x73\\x93\\x08\\x92\\x20\\xc5\\xbd\\x4a\\x28\\x0e\\x7e\\xef\\x8f\\x28\\x41\\xb4\\xc7\\xbc\\xd3\\x50\\x2e\\x84\\x95\\x60\\xb8\\x10\\x0e\\xdc\\x04\\x37\\xa9\\x02\\x0e\\x14\\xfe\\xf3\\x92\\x2f\\x9e\\x97\\x1e\\x4d\\x70\\x86\\xdf\\xe3\\x27\\xff\\x78\\xbd\\x54\\x76\\x8b\\xe6\\xb9\\x17\\x29\\xe9\\x11\\x20\\x63\\xfc\\x77\\xf0\\x8d\\x5f\\x92\\x3a\\x05\\xe4\\xd9\\xab\\x78\\xcc\\x6d\\xb0\\x13\\xfd\\x01\\x8d\\x51\\x51\\x81\\x7b\\x7a\\xb1\\xe6\\x8a\\xb8\\x2e\\x3e\\x77\\xd9\\xbe\\x5e\\xe2\\x19\\x3f\\x1f\\x58\\x17\\x7d\\x0e\\xec\\xbe\\x5e\\x68\\x4f\\x10\\xeb\\x61\\x53\\x89\\xaf\\xdc\\xe3\\x35\\x29\\x38\\x35\\xcd\\x2a\\xbd\\x0c\\x43\\xc9\\xe5\\x92\\x2a\\x5e\\x6e\\xc0\\x89\\xee\\x05\\x81\\x42\\x17\\xb6\\xcb\\x56\\x72\\xd7\\xce\\xb8\\xad\\x1c\\xb9\\x62\\x45\\x96\\x39\\x98\\x0a\\x3c\\x23\\x80\\x36\\x0f\\x3e\\x5b\\x48\\x0f\\x4f\\x7a\\x38\\xbe\\xe7\\xa2\\x36\\xf7\\xb8\\x42\\xdf\\xad\\xd9\\xc7\\x0e\\xc3\\xad\\x37\\xc1\\x5e\\xef\\xb1\\x09\\x81\\xb3\\xbd\\x88\\xe4\\x27\\xa6\\x79\\xc3\\x15\\x8c\\x9a\\x42\\xeb\\x00\\xa0\\x97\\xea\\x35\\xd8\\x7b\\xc4\\xca\\xa5\\xf2\\x52\\x5e\\x1a\\x92\\x98\\x10\\xba\\x60\\xae\\xb0\\x5c\\x2e\\x5e\\xd0\\x4d\\xf2\\x14\\x47\\xfe\\x94\\x0d\\x4f\\x8d\\xf2\\xef\\x45\\xf7\\xcf\\x73\\x41\\xcb\\xc1\\x24\\xd5\\x8f\\x39\\xfe\\xd4\\xc6\\xdd\\xbe\\xf7\\x1b\\x1a\\xc0\\xd2\\x71\\x1b\\xb6\\x82\\xff\\x1a\\x82\\xf7\\x6a\\x2f\\xfa\\xef\\xd5\\x90\\x2d\\xb5\\x57\\xa0\\x91\\x10\\x1b\\x0e\\xcb\\x99\\xdd\\xc4\\x7e\\x2a\\x13\\xc7\\x2c\\x12\\xac\\x1d\\x6c\\x98\\x8b\\x63\\x22\\xd1\\xde\\xdd\\x20\\xb8\\x4d\\x17\\xf6\\xee\\x5b\\xd1\\x97\\x84\\x3e\\x9f\\xce\\xf6\\x10\\x9e\\xc5\\x9f\\x8b\\x3e\\xa6\\xe6\\xf7\\x79\\x0b\\x91\\xae\\xf1\\xe7\\x63\\xd6\\x5d\\x4c\\x78\\xaf\\xe0\\x87\\x5a\\xd8\\x74\\x55\\x22\\x9b\\x91\\xe5\\xcf\\x5e\\xe6\\x3a\\x51\\xe1\\x54\\x14\\xe2\\x65\\xa6\\x28\\xaf\\x83\\xd1\\x9b\\x28\\x92\\x0d\\xa4\\xd3\\x68\\x71\\x36\\x90\\x39\\x34\\x1b\\x28\\xac\\x00\\xc7\\xeb\\x10\\x29\\xd7\\x3c\\xf9\\x2f\\x03\\xcb\\x3f\\x64\\x83\\x20\\xa6\\xc2\\x38\\x9f\\xd4\\x8e\\xef\\xbf\\xd6\\x11\\x92\\x01\\xb8\\xe1\\x8b\\x07\\xda\\xf9\\x0f\\x9d\\xd2\\xb5\\x48\\xcf\\xb8\\x47\\xd7\\x75\\xcf\\xa9\\x3f\\xbc\\x20\\x24\\x0f\\xf0\\xf7\\x76\\xa5\\xbe\\x32\\xe6\\x86\\xdf\\xda\\x00\\x94\\x0a\\xe9\\x62\\x6f\\x72\\x3c\\xd2\\xc0\\x10\\x87\\x75\\x38\\xcd\\x4e\\x5d\\x15\\xef\\x64\\xc3\\xc3\\x18\\xb3\\xa1\\x69\\x85\\x12\\xff\\x6d\\x87\\x90\\xd3\\x25\\xdc\\x76\\xe4\\x1a\\xfd\\x11\\xe1\\x08\\x42\\x3b\\x09\\xe0\\x08\\x26\\x51\\x2a\\x00\\xbd\\x7e\\xda\\x1c\\xd5\\x37\\x5c\\x64\\x74\\x5a\\x9b\\xc8\\x2e\\xa6\\xb6\\x05\\x05\\x9b\\x26\\x9a\\x17\\xc3\\xcf\\xde\\xc9\\x03\\x4e\\xce\\xac\\x62\\xbb\\xff\\x38\\x76\\xd1\\x12\\x4b\\xe7\\xac\\x1b\\xa6\\x27\\xe7\\x77\\x6c\\xd5\\x62\\xea\\x5a\\x30\\x79\\x48\\xeb\\x6e\\x2d\\x67\\xbc\\x39\\xda\\x97\\xcf\\xca\\x40\\x9b\\xac\\x05\\xde\\x69\\xab\\xeb\\x37\\xf1\\xe3\\xe1\\x0a\\xf8\\x0f\\x6c\\x14\\xf8\\x4f\\x1c\\xe2\\x69\\x38\\x6f\\x32\\x06\\x73\\x62\\x97\\xd5\\x6d\\x8b\\xec\\xc9\\x3b\\x6c\\x76\\xad\\xd4\\x60\\x60\\xca\\x79\\x83\\x4e\\xa9\\x95\\x49\\x85\\x3c\\x38\\x11\\x8f\\x81\\xc0\\xf0\\xff\\x91\\x46\\x89\\x4d\\x20\\x4f\\xae\\x95\\xbc\\x0c\\xd3\\xe7\\xb1\\x09\\x95\\x5b\\x6c\\x07\\x97\\x0f\\xe9\\xe8\\xc9\\xe8\\xd2\\xce\\xf8\\x8c\\x96\\xfe\\xe9\\xd1\\xd4\\xca\\x87\\xd7\\x96\\x6c\\x96\\xbf\\xc5\\x7a\\x6b\\xe8\\x17\\xbb\\x06\\xee\\x44\\x6b\\x03\\x77\\xa8\\x01\\xbf\\x45\\x88\\x7e\\x2b\\xf8\\xf2\\x2a\\x02\\xbe\\x3f\\xd1\\xae\\x89\\x88\\x08\\xe1\\xcd\\xcd\\xef\\x6e\\x03\\x7e\\x0b\\x7c\\xb3\\xda\\x64\\x9e\\xa0\\xcf\\x71\\x3d\\xa1\\x3d\\x3a\\x48\\x7b\\xa2\\xac\\x18\\x1f\\x32\\xcf\\x66\\x30\\x00\\xcd\\xa3\\x3a\\xc6\\x04\\x26\\x0a\\xf8\\x17\\xb9\\xde\\x81\\xb9\\xf0\\x38\\x2f\\x9a\\x0d\\x8f\\xf3\\x4f\\x27\\xd0\\xb2\\xbd\\xf1\\x01\\x97\\xca\\x15\\x23\\x8a\\x75\\x52\\x83\\xbc\\xf9\\x66\\x63\\x0d\\xaf\\x35\\xd4\\xf0\\x97\\xb4\\xe0\\x94\\x16\\xac\\xd3\\x82\\x02\\x6d\\x0f\\x2d\\xcd\\x68\\xb5\\x51\\x5a\\x5a\\xcd\\x69\\xb5\\x2a\\xb3\\x41\\xa5\\xa9\\xe1\\x55\\x4c\\x78\\xb8\\x5d\\x6e\\xaf\\xe1\\xe5\\x6c\\x58\\x98\\x05\\x58\\x6a\\x78\\x20\\x56\\x8a\\x23\\x69\\xe7\\xc2\\xff\\x05\\x1c\\xce\\x81\\x82\\x69\\x2e\\x69\\xa0\\xb0\\xaa\\x35\\x18\\x1a\\xe2\\xce\\xc8\\x35\\x8a\\x36\\x2a\\xf8\\xb5\\xc7\\xdb\\xaf\\x55\\x6f\\xfb\\x69\\xbb\\x27\\x9d\\x4e\\xf1\\xc0\\xb7\\x0b\\x41\\x94\\x07\\x7e\\xdb\\x0d\\xd4\\x78\\x7c\\x93\\x72\\x23\\x4f\\xc7\\xa6\\x8c\\x5b\\x31\\x88\\x7b\\xf7\\xda\\x66\\xf0\\x1c\\xa0\\x67\\x49\\xc4\\x48\\x91\\x06\\x09\\xf3\\x9a\\xe4\\x55\\x38\\x66\\xf1\\xef\\x88\\x3b\\xd2\\xd8\\x6f\\xc1\\x96\\xa0\\x93\\x89\\xab\\xd0\\xf7\\xf2\\xa6\\xa7\\x50\\x48\\x6d\\x4e\\x89\\x4a\\xa1\\x75\\x4c\\x4a\\x8a\\xc2\\x66\\x4b\\x2a\\xe5\\x6d\\xba\\x30\\x95\\x45\\x63\\x89\\xc6\\x09\\xf4\\x9a\\x78\\x9c\\xb4\\xaa\\x60\\x4b\\x79\\x56\\x6a\\xc2\\x45\\x59\\x9a\\xde\\xfe\\xf8\\x93\\x8d\\x43\\xeb\\x0c\\x00\\x31\\xc6\\x10\\x5f\\xfb\\xf8\\xcb\\x90\\x07\\xaf\\x7a\\x90\\x51\\x10\\x5a\\x0e\\x2a\\x5a\\xbc\\xea\\xb9\\xa6\\x1b\\x96\\xd9\\xce\\xbe\\x67\\xda\\xf5\\xe3\\xc9\\x53\\x4e\\x4e\\x9c\\xd5\\x6d\\xea\\xae\\xe1\\xaf\\x24\\x3f\\x71\\xe0\\x4e\\x84\\xcc\\x37\\xad\\xb6\\x70\\x50\\xe7\\xde\\x25\\x75\\x1d\\xc1\\xf2\\x85\\xb9\\x40\\xa6\\x8c\\x07\\x37\\xcb\\x0b\\xf6\\xb4\\xc7\\x37\\x3b\\x27\\x4e\\x6c\\x7b\\x61\\x16\\x28\\xfe\\x7a\\xe2\\xe1\\xc3\\xf0\\xcd\\x89\\x2b\\x12\\x81\\x72\\xc7\\x76\\x78\\xa8\\xe6\\xb9\\x7d\\xa0\\x00\\x50\\xb0\\x4f\\x62\\x61\\x4b\\xbf\\xcd\\xf9\\x35\\xe1\\xa7\\xd9\\x22\\xaf\\x7c\\x92\\xf0\\x53\\x3a\\xc4\\x77\\x44\\x72\\x4d\\x09\\x3f\\xed\\x2d\\xf8\\xa3\\x78\\xc2\\xd7\\xac\\xd6\\x26\\xb6\\x6e\\x3e\\xae\\xb7\\x24\\xcc\\x83\\xf9\\xa6\\x4f\\x90\\x73\\xdf\\xa1\\xcf\\x77\\x10\\x5b\\xb7\\x37\\x96\\x55\\xb2\\x5b\\xf0\\x37\\x2a\\xb8\\xee\\x1e\\xff\\xba\\x88\\x57\\xda\\x05\\x9a\\x7e\\x64\\xdd\\x63\\xfe\\x75\\x71\\xc3\\xa5\\x47\\xd6\\xc5\\xb5\\x95\\xde\\x26\\xf0\\xe7\\x88\\xf0\\xef\\x16\\xe4\\x41\\x52\\x52\\x60\\x1e\\x9c\\xbb\\x3a\\x99\\xc0\\xdf\\x47\\x80\\xbf\\x0f\\x99\\x27\\x39\\xb9\\xd9\\x3c\\xe7\\x08\\x3c\\x39\\xa2\\x1e\\x95\\x29\\xf0\\xf7\\xe4\\xe4\\x26\\xf3\\x8c\\x22\\xf0\\xf4\\x11\\xf4\\x28\\x2d\\x99\\x27\\x25\\x25\\x74\\x1e\\xd8\\x01\\xd7\\x7a\\x0a\\xc0\\x33\\x15\\x74\\x13\\xee\\xc7\\x52\\xf0\\xfd\\x58\\x4a\\x1b\\x26\\x3c\\x78\\x3f\\xd6\\x11\\x8d\\x1d\\x45\\x64\\x4d\\x1f\\x71\\x2c\\x8e\\xdc\\x34\\x1f\\x07\\xa9\\x54\\xaa\\x33\\x95\\x3e\\xd9\\xf8\\xc4\\xd1\\xd4\\xb6\\xf8\\x01\\xac\\x57\\x3f\\x06\\xc6\\x85\\x84\\x0f\\xd8\\xbc\\x3a\\xf2\\xb2\\x20\\xa5\\x20\\x05\\x7c\\x97\\x92\\xe5\\x7f\\x20\\x08\\xf3\\xb2\\x10\\x98\\x17\\x72\\x82\\x6f\\x0d\\xbf\\x3c\\x48\\x3d\\x97\\x9a\\x2d\\x02\\xe4\\x87\\xff\\x00\\xd2\\x03\\x93\\xc9\\x3e\\xe6\\x0a\\xfb\\xf8\\xa9\\x00\\xeb\\x2d\\xb4\\x8f\\x45\\x5c\\x2f\\xf4\\x79\\x5f\\xe1\\x73\\x4e\\xf8\\x9c\\xd4\\x89\\x22\\x30\\xe5\\x86\\xc0\\x84\\xb0\\x22\\x93\\x05\\xf0\\xf6\\x64\\xe3\\x3d\\xec\\x8b\\xc3\\xcf\\xae\\x12\\x74\\x9d\\xb3\\x82\\x64\\x0c\\x70\\x39\\x40\\x1d\\x14\\xeb\\x4d\\x69\\xb1\\xee\\x42\\xa9\\xd4\\xaa\\x2a\\x9e\\x95\\xc9\\x65\\xa5\\x3c\\x90\\xcb\\x39\\x35\\x83\\xcb\\x1c\\x62\\x8e\\x90\\xe9\\xaf\\x3b\\x2a\\x34\\xa7\\x88\\x11\\xac\\x3e\\xb1\\x0a\\x55\\x87\\x9b\\xee\\x9b\\x13\\xe0\\x67\\x13\\x6e\\xb8\\x6f\\x74\\x80\\x75\\x49\\x6c\\x39\\xae\\x79\\xf8\\x62\\x83\\xef\\x38\\xdd\\xb5\\x01\\xf0\\x42\\x4d\\xaa\\x17\\x1a\\xef\\xb1\\x7d\\xb8\\x5e\\xc8\\x92\\x6f\\xe9\\x8d\\x30\\xc4\\x4a\\x6c\\x51\\x51\\xd6\\x52\\x3e\\xca\\xa2\\xe6\\x24\\x48\\x73\\xd4\\x93\\xa4\\x60\\x0d\\xad\\x90\\x49\\x48\\x5a\\xf0\\xa5\\x8c\\x40\\x9d\\x53\\x7f\\xc1\\x71\\x21\\x3f\\x38\\x37\\x90\\x23\\x4c\\xbe\\x9a\\xe5\\x09\\xe7\\x82\\xe2\\x5d\\xee\\x5d\\xf1\\xbb\\x82\\xb9\\xc2\\xf1\\xe4\\xa7\\xad\\x49\\xc6\\xb0\\x1a\\xdc\\x69\\x78\\x5f\\xc8\\x19\\x7e\\xbf\\xe1\\xe9\\xd0\\xa4\\x61\\x4f\\x97\\xc7\\xc6\\x63\\x04\\xec\\x4f\\x1c\\x5d\\x21\\xe2\\x16\\xdf\\x29\\x08\\xf6\\x67\\xbf\\x50\\xfb\\x13\\xdf\\x28\\x04\\xf6\\x54\\x98\\xa7\\x36\\x30\\x4f\\xc0\\xfe\\x0c\\xf1\\xeb\\x0a\\x77\\x13\\x15\\x81\\x79\\x04\\x39\\x04\\xf0\\x95\\x55\\xb3\\x79\\x82\\xf0\\x04\\xec\\xcf\\x66\\xf0\\x84\\xde\\x89\\x08\\x72\\xe8\\x71\\xf0\\x04\\xe7\\xd9\\x88\\x38\\xee\\x66\\x4a\\x8f\\xed\\x08\\x4b\\x0f\\xcb\\x58\\xcb\\x2c\\x0b\\x43\\x91\\x08\\x30\\xff\\x7c\\xe4\\x2e\\x5f\\x98\\x6f\\x23\\x91\\x44\\x74\\x60\\x42\\x31\\x0e\\x85\\xeb\\x16\\x32\\xdf\\x66\\x90\\x4b\\xe4\\x1a\\x1d\\x00\\x2c\\x70\\xff\\xc2\\xd9\\x02\\xb0\\xe1\\x71\\x5c\\xf3\\xd9\\x04\\xf8\\x90\\x6e\\xf1\\x23\\x39\\x03\\x2d\\x05\\x3b\\x38\\x5f\\xa0\\xf5\\x01\\xe8\\xf3\\xe7\\xd9\\x56\\xc2\\xf3\\xc4\\x9f\\xe7\\xf2\\xeb\\xe9\\xdc\\x08\\xb2\\x7e\\xab\\xa6\\xfe\\x36\\xbb\\x3d\\x80\\x17\\x92\\x3b\\x4d\\xd6\\xee\\x1f\\xea\\x7f\\x0f\\x0b\\x0b\\xc1\\x8b\\x10\\x1b\\xb3\\xc7\\x1f\\x1b\\x13\\x9c\\x47\\xa1\\x08\\xd8\\x72\\xc2\\xfd\\xc9\\x31\\xff\\xfd\\x89\\x7f\\x9e\\x26\\xf8\\x15\\xe6\\x99\\x1d\\x88\\xb1\\x09\\x89\\xcb\\x41\\x87\\x29\\x8e\\x06\\xea\\x04\\xb5\\x92\\x91\\x86\\xc6\\xe5\\x08\\xb5\\xba\\x08\\x1f\\x6d\\x13\\x88\\x03\\xfc\\xab\\xe9\\xda\\xc4\\x57\\x26\\xdc\\xe7\\x57\\x0a\\x7c\\xb4\\xf7\\x23\\xbe\\x05\\x71\\x9e\\x01\\xfe\\x79\\x90\\xcd\\x92\\x28\\xf8\\xf4\\x9a\\xcd\\x33\\x9a\\xf8\\xf4\\x2a\\x05\\x9f\\x9e\\xef\\x7f\\xcd\\xb3\\x27\\x30\\xcf\\x42\\x2a\\x4f\\xf4\\x3d\\xe2\\x89\\x80\\xea\\x96\\xca\\x00\\x24\\x21\\xbe\\x47\\x3c\\xe7\\x12\\x82\\x17\\x61\\xce\\x85\\x20\\xe4\\x9e\\x5e\\xf5\\x9e\\xca\\x40\\x71\\x41\\x3e\\x47\\x01\\x6c\\x66\\x91\\x5a\\x3c\\x6a\\x34\\x4a\\xa1\\x90\\x9b\\x29\\x0e\\x47\\xf4\\x00\\x7f\\x44\\x0f\\xce\\xa7\\x13\\xd2\\xbc\\xb0\\xa6\\xd8\\x16\\x30\\x9f\\xfa\\x4b\\xed\\x7c\\x05\\x7f\\xf8\\x2e\\xfa\\x21\\xf7\\x13\\x29\\xb2\\xf3\\x60\\x29\\xbb\\x74\\xff\\x21\\x4a\\xac\\x31\\x35\\x13\\xd9\\x44\\x58\\x77\\x68\\xe3\\x75\\x59\\xe5\\x26\\xb5\\x3a\\xa6\\x94\\x57\\xab\\x69\\xbb\\xd9\\x94\\x50\\xca\\x9b\\x2c\\x34\\x25\\x8d\\xa2\\xa2\\xca\\x78\\x36\\x95\\x22\\xa6\\x58\\xa5\\xd8\\xb3\\xc6\\xaf\\xec\\x04\\x1c\\x17\\xa2\\x13\\x4b\\xd2\\xa4\\xe6\\x05\\xa9\\x3c\\xe5\\xc2\\x4e\\x0c\\x10\\x92\\x25\\xb3\\x6f\\x9e\\x1d\\x84\\xdb\\x41\\xba\\x0b\\x5e\\x4d\\x08\\x67\\x3b\\x1f\\x1f\\xb7\\x6c\\xdd\\xec\\x3b\\x9b\\x3f\\xcb\\xe0\\x64\\x2e\\x29\\xbc\\x6b\\x8b\\x3c\\x3a\\x8f\\xbe\\xd4\\xbd\\x64\\xe5\\x73\\xdd\\xcb\\x96\\xaf\\xe1\\xda\\x2d\\x59\\xb2\\xf7\\xe3\\xba\\x71\\x83\\x1a\\x4e\\x5d\\x81\\xa7\\x0e\\x9c\\x4d\\x7a\\x42\\xd9\\xff\\x79\\x66\\xab\\xef\\x9f\\x71\\x43\\xff\\xb9\\x31\\x76\\xcc\\x3f\\xc2\\x7d\\xee\\x00\\x62\\x3b\\xe1\\x7a\\x9d\\x31\\xe8\\x4d\\xba\\x79\\x93\\x24\\x1e\\xbd\\xa7\\x9a\\x0f\\x8b\\x8f\\x8a\\x8f\\xaa\\xe6\\xf7\\xc5\\xbf\\x12\\x4f\\xb7\\x8d\\x07\\x6c\\x8b\\x78\\xc0\\x68\\xe3\\x81\\x52\\x12\\xaf\\x8e\\x57\\x73\\x7a\\x86\\x73\\x56\\xf3\\x9c\\x21\\x70\\xd9\\x9b\\xda\\xb4\\x28\\xb1\\xc8\\xb0\\x71\\x26\\x22\\xe2\\xd7\\xa4\\xd1\\x8a\\xd4\\x93\\x95\\x93\\x19\\xa8\\x53\\xcc\\x89\\x71\\x5a\\x39\\x62\\xb1\\xe2\\x1c\\x76\\xe6\\x92\\xff\\xb6\\xc1\\x31\\x5f\\x39\\x5a\\xa4\\x2a\\x3e\\x67\\xce\\x1c\\x01\\xfc\\xab\\x6f\\xee\\xdf\\xb1\\x72\\x35\\xfc\\xbc\\x7f\\x9f\\x4e\\x5d\\xba\\x4f\\x9e\\xe1\\x58\\x1a\\xd1\\x36\\x6a\\x70\\x2d\\x38\\xb5\\xf0\\xed\\x91\\xec\\xd8\\x5e\\xed\\x92\\x33\\xf4\\x55\\xa7\\xcf\\x2e\\x5d\\x50\\xff\\x9a\\x4b\\xf7\\xec\\xf0\\xce\\x5d\\xe0\\xe2\\x29\\xf4\\xd6\\xa7\\xe0\\x1b\\xc3\\xc5\\x18\\xb2\\x57\\x49\\xed\\x4f\\x2b\\xae\\x55\\xc9\\x1a\\x91\\x3d\\xc3\\xaa\\x29\\xb5\\xa9\\x9a\\x57\\x1b\\x48\\x21\\xd3\\xa6\\x0d\\x65\\x12\\xc5\\x1a\\xaf\\x62\\x10\\x59\\x8c\\x2b\\x17\\xf8\\xe1\\x03\\x1e\\x66\\x4d\\x92\\x6f\\x65\\xee\\xaf\\x17\\xbe\\x5c\\x07\\x7f\\x38\\x01\\x15\\x34\\x93\\xf0\\xe4\\xd4\\x75\\x25\\x9b\\x37\\x6d\\xc6\\x35\\x7b\\x7f\\xd8\\xbb\\x6d\\xc5\\x4f\\x73\\x19\\x70\\xa1\\x7b\\x5f\\x38\\x6a\\x86\\x9f\\x2e\\x96\\x23\\xba\\xb0\\x53\\x1e\\x2a\\xd9\\x1b\\x16\\x86\\xe8\\xc2\\x14\\x85\\xc9\\x41\\x1d\\x8b\\xa8\\x43\\xc7\\x4a\\xcb\\x91\\x6d\\x45\\x89\\x17\\x35\\x4d\\x0b\\x90\\xb5\\x25\\xc6\\x9d\\x4b\\x0b\\x9a\\xd5\\x3e\\xf1\\x97\\x20\\x23\\x75\\x4f\\x10\\x4a\\x65\\x51\\xda\\x7b\\x4c\\xc7\\x04\\xdf\\x87\\x31\\xa4\\x08\\xd9\\xf2\\x8d\\x0b\\xff\\x58\\x4d\\x6a\\x90\\xc5\\x70\\xc3\\x7a\\x76\\x99\\xbb\\x75\\x4d\\xef\\xfa\\xce\\xd1\\xd3\\x7a\\xb0\\xd7\\x3f\\x3a\\x76\\xa4\\x62\\xc8\\x95\\xd7\\xde\\x86\\x07\\xcf\\x0c\\xad\\x4a\\x9f\\x22\\x07\\x7b\\xa7\\x2c\\x04\\xf6\\xaf\\xee\\xcc\\xfa\\x94\\x0a\\xc4\\xda\\xcd\\x10\\xf1\\x84\\x6f\\xf2\\x8d\\xb8\\xd6\\x35\\x27\\x67\\x38\\x53\\xe8\\xe6\\xa6\\x0a\\x69\\x5b\\x08\\x2d\\x46\\x4f\\xae\\x3b\\x13\\x63\\x29\\xb0\\x7d\\xec\\x0c\\x01\\x2b\\x27\\x46\\x4b\\xc1\\x8a\\xe2\\xc1\\x77\\x2f\\x7c\\x09\\xaf\\x3c\\x39\\x75\\x7d\\xc9\\x96\\x4d\\x9b\\x01\\xc4\\x98\\x39\\xb8\\x2c\\xf6\\x06\\x64\\xf7\\x7e\\xd8\\x04\\x3f\\x4f\\x8b\\xf8\\x41\\x7b\\x43\\xf0\\x13\\x19\\xc4\\x8f\\x44\\xc0\\xcd\\x23\\x95\\xd9\\xc8\\xca\\xcd\\x8b\\xc2\\x10\\xc4\\x10\\xbc\\x10\\x5b\\x34\\xc6\\x1a\\xf5\\xe2\\x44\\x29\\x98\\xd7\\xad\\x3b\\xc1\\xcb\\xca\\xf5\\x8b\\x7f\\x5f\\xe5\\xc7\\xcb\\xa6\\x39\\xdb\\x8b\\xba\\xf7\\x58\\x54\\x3e\\xe8\\x59\\xa6\\x72\\x59\\xec\\x7b\\xa4\\x38\\x5b\\xc3\\xa9\\x77\\xe0\\xce\\xb7\\x05\\xcc\\x3c\\xf7\\x13\\x48\\xfc\\x76\\xfc\\xb0\\xe9\\xb7\\xb0\\xce\\x50\\x82\\x60\\x7c\\x87\\xd4\\xba\\x46\\x58\\xc1\\xb5\\xae\\xf5\\x1a\\xa3\\x58\\xe3\\x9a\\x0d\\xf4\\x3d\\x21\\xf5\\xad\\x71\\x53\\x0f\\xb1\\xf0\\x1d\\xed\\x72\\x32\\x42\\xc5\\x13\\x03\\xb3\\xe1\\xda\\xce\\xe9\\xf0\\xbf\\xcf\\xc1\\x0c\\x5c\\xdf\\xda\\xf7\\x2e\\x5c\\x94\\x02\\x22\\x84\\xfa\\xd6\\xcc\\x20\\x60\\xf8\\x33\\x0b\\xec\\xc6\\xf5\\xad\\x7d\\x3d\\xc0\\x3c\\x5c\\xdf\\x1a\\x94\\x0b\\xf5\\xb5\\xb9\\x6d\\x92\\x31\\x54\\x1c\\x95\\xe6\\xb5\\x99\\xc2\\x6b\\x78\\x8b\\x49\\xe3\\xd5\\xc4\\x54\\xf1\\xba\\x08\\x27\\xa3\\x61\\x9b\\x96\\xd8\\x0e\\x2b\\xb0\\x66\\x0a\\x29\\x75\\x19\\x8f\\x96\\xd9\\xce\\xb0\\x92\\xa0\\x1c\\xb1\\x84\\x98\\xbf\\x29\\x45\\xd3\\xa2\\xdb\\x8b\\xe8\\xec\\xc1\\xdd\\x6c\\x25\\xd3\\x06\\x54\\xa4\\xc6\\xdb\\xe2\\xe2\\xe2\\x0d\\x6e\\xa3\\xf4\\xd1\\x12\\xdc\\x75\\x33\\xe8\\xc3\\x8e\\xe9\\x4f\\xe5\\xeb\\x2f\\xa9\\x32\\x2a\\xce\\xe4\\x7b\\xc5\\x62\\xdc\\x94\\x58\\xbb\\x8e\\x7b\\x89\\x4b\\xa3\\x12\\xb0\\x3d\\xae\\x31\\xf6\\xe4\\x75\\x1a\\x99\\x57\\xe6\\x28\\xe5\\xc3\\x14\\x32\\x9d\\x9b\\xa2\\xa2\\x83\\xc5\\xeb\\xc8\\x2d\\x64\\x00\\xda\\x60\\xe5\\x35\\x6b\\x76\\x68\\xad\\xb3\\xff\\x59\\xcb\\x6e\\x6a\\x1f\\xe7\\xc9\\xfa\\xe2\\xae\\x9e\\xdc\\xa8\\xac\\x22\\x5d\\xea\\xff\\xac\\x6b\\xe7\\x01\\x73\\xe7\\xe9\\xdf\\x51\\xb5\\x2e\\xfb\\x2d\\xb4\\xbc\\xdd\\x98\\x03\\x83\\x1e\\x7f\\xb7\\x3a\\x40\\xac\\x0f\\x6c\\xa4\\x22\\x70\\xb5\\x4a\\x49\\x98\\x3e\\xac\\x0a\\x71\\x6f\\xcc\\xda\\xc2\\xab\\x9a\\x50\\xbf\\xc0\\xcb\\x74\\x34\\xdb\\x8c\\x97\\x39\\x03\\x4c\\xc2\\xc0\\xde\\xd8\\x09\\x2f\\x5f\\x80\\x73\\x83\\xec\\xab\\x1d\\xf8\\x10\\x7e\\x54\\x37\\xce\\xbc\\xbf\\xed\\xc8\\x8d\\xfd\\x99\\x5a\\x08\\xe1\\xc4\\x4f\\x82\\x6c\\x0b\\xca\\x97\\xcf\\x7d\\x38\\x77\\x39\\x88\\x15\\xce\\xa1\\x47\\xac\\x81\\xad\\x46\\xb4\\x8f\\xce\\x84\\x14\\x9d\\x43\\xa9\\x14\\x28\\x95\\x8a\\x2a\\x5e\\xc9\\x00\\xdd\\x23\\x05\\xe0\\x49\\xa9\\x73\\x8c\\x46\\xca\\x45\\x54\\x61\\x39\\x30\\xe5\\x03\\x0c\\x1b\\xf3\\x05\\x54\\xbc\\xf7\\x2b\\x48\\x03\\x86\\x5f\\x73\\x7c\\x7f\\x27\\x31\\xe9\\xf0\\x81\\x6f\\xea\\xcf\\x9b\\x4b\\xd6\\x3d\\xbf\\xbd\\x61\\xf7\\x37\\x80\\x05\\x61\\x37\\xef\\x37\\x80\\x19\\xbb\\xc0\\xea\\x39\\xfe\\x9a\\x7f\\xbf\\x93\\xfa\\x6a\\x71\\x54\\x92\\x37\\xcc\\x62\\x2e\\xe7\\x2d\\x14\\xab\\x97\\x6a\\x34\\x11\\x48\\x29\\xd6\\x49\\x63\\x48\\x34\\x58\\x80\\x57\\x85\\x14\\xd3\\x42\\x84\\xd6\\xa4\\xfa\\x3f\\xb9\\x32\\xcf\\x15\\x2e\\xcd\\x63\\xa2\\xfd\\x57\\xe6\\xf4\\x05\\x23\\xdb\\xf5\\xc0\\xc8\\xe5\\xeb\\x16\\xfe\\xbc\\x01\\x57\\x68\\x52\\xe7\\xc2\\xcc\\x04\\xfa\\xf6\\x3d\\xad\\x75\\xc7\\xa6\\x67\\xb6\\x15\\x17\\x75\\x7f\\xb6\\xb7\\xac\\x7d\\x6d\\x1d\\xff\\xd6\\xe9\\x77\\x41\\xff\\x57\\xab\\x07\\x76\\x05\\xce\\x8f\\x1e\\x38\\xbb\\x6f\\xa1\\x0f\\x7c\\x03\\xaf\\xff\\x38\\x69\\xc8\\xcc\\xdb\\xe2\\x7d\\x00\\xec\\xc7\\x6e\\x44\\x76\\xba\\x91\\x8a\\x44\\xd6\\x82\\x59\\x6f\\x41\\x8a\\xbb\\x8e\\x93\\x49\\x65\\x3d\\x79\\xa9\\x9d\\x75\\x94\\xf1\\x0a\\x7c\\xf3\\x9d\\xe9\\xcf\\x64\\x14\\x72\\xc4\\x10\\x93\\x90\\x72\\xd8\\xf1\\x08\\x84\\x5a\\x11\\x84\\x6d\\x05\\x04\\x29\\xbb\\x71\\xde\\xc3\\x17\\x40\\x8b\\x98\\x87\\x43\\x3d\\xb4\\x0d\\x6e\\x2c\\x28\\xdc\\x05\\xd2\\x2f\\x7c\\xf1\\x13\\xfc\\xec\\xcc\\xf6\\x23\\x43\\xfb\\xee\\x7a\\x99\\x7e\\xe1\\x00\\xfc\\xee\\x84\\xcd\\x77\\xf4\\x22\\x48\\xcc\\x3a\\x3a\\xf9\\x1c\\xc8\\xde\\xf7\\xc5\\x27\\xbf\\xff\\xf3\\xe5\\xac\\x69\\xff\\x0a\\xf4\\x6f\\x14\\xfb\\xaf\\x28\\x29\\xaf\\xb7\\x85\\x54\\x52\\xc5\\x17\\x48\\xc7\\x4a\\x0f\\x4a\\x5f\\x97\\xb2\\x38\\x3b\\x6e\\x0b\\xfa\\xe5\\xaa\\x94\\xd3\\x31\\xe8\\xd8\\x8a\\xfb\\x48\\x23\\xb9\\x43\\x3f\\x9a\\x98\\x90\\x88\\x73\\x01\\x45\\x3f\\x35\\xfa\\x66\\xbf\\x85\\xf7\\x1f\\xb6\\x4c\\xa2\\xb7\\x15\\xf8\\x36\\x25\\xd3\\x43\\xda\\xfb\\x72\\x92\\xf0\\x2d\\xc5\\x4d\\xd0\\xf1\\x26\\xe8\\x7d\\x13\\xed\\x59\\x67\\xb4\\x67\\xc7\\x10\\x6f\\x92\\x22\\x0d\\xa8\\x85\\xd7\\xe2\\x40\\xb3\\x3a\\x94\\x0e\\xa5\\x45\\x6b\\xa1\\xaa\\x78\\x8b\\x51\\x2b\\xab\\xe2\\xb5\\x6c\\xb3\\xba\\x9d\\xf8\\xe2\\x25\\xc3\\x48\\x6a\\x1c\\x02\\x9c\\xbc\\x99\\x43\\x9a\\x30\\x60\\x8a\\xc6\\x3d\\x19\\x0a\\x80\\xe0\\x75\\x88\\x7f\\xaf\\x1a\\x46\\x73\\x25\\x40\\x51\\xfe\\x54\\xcb\\xfb\\xb5\\x00\\xbc\\xfe\\xe9\\xf7\\x7b\\xe0\\xd9\\x8f\\xaf\\x5d\\x6f\\xa1\\x61\\x64\\x92\\xbe\\x1f\\x82\\xbe\\x69\\x2d\\x46\\xac\\x66\\x36\\xd7\\x0c\\xeb\\xf2\\xc6\\x8b\\xf0\\xf7\\x07\\xb0\\x11\\x4e\\xfe\\x14\\xd0\\xbf\\x9e\\xe9\\x13\\x9b\\x96\\x30\\x62\\x03\\xc2\\x49\\x2c\\x82\\xed\\x12\\xf1\\x29\\x16\\x23\\x3d\\x22\\xdc\\x11\\xee\\x40\\x68\\x09\\x07\\x05\\xe1\\x3d\\xc2\\x5f\\x0f\\xbf\\x1a\\xce\\x32\\xda\\x70\\xa0\\x66\\xc3\\xc3\\x29\\x95\\x0a\\x49\\x18\\x9d\\x8a\\xc5\\x7c\\x42\\x0c\\xb8\\x6f\\x5e\\x3a\\xa3\\x0a\\x97\\x39\\x09\\x76\\x54\\x12\\xca\\x17\\xc4\\xba\\x48\\x93\\x1d\\x3a\\x26\\x5a\\x28\\x3a\\xe3\\xcf\\xfb\\xc3\\xdd\\xde\\x58\\xf0\\xfd\\xa7\\x3f\\x9d\\x6b\\x98\\x32\\x16\\xe4\\x53\\x8d\\x1f\\x5d\\x8f\\x80\\x3f\\x28\\x33\\xfa\\x17\\xdd\\x9f\\xf4\\x74\\x7e\\x52\\xfe\\xe2\\x15\\xde\\x0f\\xc6\\xbd\\xd8\\xed\\xef\\x3a\\xf8\\x96\\xe9\\xe0\\xb6\\x2d\\x67\\xed\\x91\\x53\\x2b\\xcf\\xdc\\x39\\x72\\xb9\\xcd\\x00\\x3e\\xe5\\xb3\\xe2\\x36\\x37\\xe2\\x7a\\xf3\\xeb\\x46\\xcf\\xaf\\x7c\\xfb\\x65\\xb2\\xb7\\x8d\\x45\\x48\\xef\\xc7\\xf5\\xf7\\x4d\\xd8\\x37\\x2a\\xd4\\xdf\\x97\\x19\\x0c\\x08\\xbf\\x06\\x06\\x57\\xcc\\x57\\xc8\\xec\\x54\\xc8\\xdd\\x53\\x48\\x19\\x7e\\xc1\\xa7\\x28\\xb8\\x48\\x43\\x2a\\xf2\\x8f\\xf0\\xbc\\xf6\\x42\\x5e\\xaf\\xc4\\x30\\x9b\\x25\\x27\\x4b\\x0f\\x34\\xfe\\xda\\xfc\\xbe\\x1b\\x17\\xde\\x30\\x7d\\xc9\\xc9\\xda\\xf7\\xe7\\xc6\\x62\\x5b\\xb5\\xf1\\x2f\\xb4\\xee\\x3d\\x22\\x77\\x52\\xbc\\x56\\xb5\\x42\\xa3\\xd5\\x94\\xf2\\x3a\\xa9\\x56\\xab\\xb4\\x9a\\x4c\\x0c\\xae\\xb7\\xa5\\x52\\xda\\xfd\\xe5\\x98\\x71\\x1a\\x69\\xb0\\xf8\\x45\\xb0\\x98\\x08\\x70\\x11\\x73\\x55\\x08\\xec\\x60\\xb7\\x47\\x54\\xd9\\x4b\\xcb\\xec\\x09\\x20\\xa5\\x0b\\xbc\\x06\\x33\\xe0\\x6d\\x70\\xe5\\xbd\\xae\\xef\\x65\\xb7\\xfc\\xea\\x70\\xd1\\x22\\x1b\\x3b\\x5f\\xa1\\xca\\xe9\\x52\\xd7\\xf0\\x60\\x30\\xfb\\x7c\\xc3\\x82\\xe7\\x96\\x84\\x29\\x85\\x3e\\x01\\xdc\\xf3\\x92\\x81\\x68\\x0f\\xf3\\xbc\\x91\\xee\\xd8\\x6a\\xdc\\xff\\x47\\xa6\\x36\\xd4\\xf0\\x5a\\x35\\xe2\\xef\\x88\\x35\\x5a\\x15\\x32\\x96\\x8a\\x0a\\x2d\\xe8\\xec\\xe7\\xed\\x8f\\x69\\x17\\x60\\x0d\\x72\\x78\\x29\\xf3\\x7f\\x74\\x0e\\x18\\x5b\\x12\\xbd\\x72\\x41\\xdf\\x54\\x4f\\x84\\x2b\\xce\\x6d\\xc8\\xc5\\x4d\\x04\\xa6\\x6c\\x7a\\x7c\\x13\\x81\\x98\\x9d\\x73\\x91\\x38\\x4a\\x1f\\x00\\x6f\\xe4\\xbc\\xb9\\x1d\\x6e\\x09\\x69\\x26\\x40\\x53\\x5b\\x91\\xad\\x84\\x6b\\x41\\x1b\\x10\\x9f\\x88\\xf4\\xea\\x68\\x8b\\x81\\x63\\x95\\x94\\xd2\\x81\\xd4\\x1a\\x3b\\x13\\xbc\\x0d\\xb1\\x92\\xdb\\x42\\x5c\\xa4\\x89\\xf4\\x27\\x12\\xf3\\xd1\\x73\\x49\\x65\\x0c\\x41\\xfc\\x6c\\x05\\xc9\\xcf\\x81\\xcb\\xa0\\xa5\\x6f\\x70\\x4e\\xec\\x85\\xfd\\x33\\x97\\x76\\x5d\\x14\\xff\\xbc\\x43\\xd5\\xda\\x1d\\xde\\x36\\x21\\x9f\\x2b\\x7c\\xf8\\x1e\\x93\\xf6\\xe0\\x9d\\x75\\xbb\\xf2\\x9e\\xdb\\x37\\xb9\\xae\\xfd\\x0b\\x27\\x5a\\xc2\\xcd\\xe9\\x55\\x31\\x3d\\xda\\x7a\\xa3\\x0b\\xdb\\x10\\xfa\\xf9\\x0e\\x9d\\x83\\x3b\\xa4\\xde\\x12\\xa2\\x1f\\x8f\\xd6\\x4c\\x85\\x87\\x2b\\xcb\\xf9\\x70\\x9d\\x9e\\xd2\\x99\\xa9\\x98\\xf2\\x40\\x94\\x64\\xc0\\x57\\x2d\\xf8\\xd6\\x11\\x91\\x07\\x6b\\x14\\x02\\x5c\\x3f\\x8b\\xe8\\x3b\\x58\\xb7\\x90\\xf8\\xaf\\x34\\x71\\x8b\\x15\\xfa\\xea\\x8c\\xd9\\x20\\x3e\\x5a\\x6b\\x8d\\x2d\\xa8\\xb4\\x8f\\xbf\\x05\\x9c\\xdf\\xf7\\x90\\xc7\\x31\\x45\\xa3\\x3b\\xed\\xb4\\xb6\\x54\\x00\\x97\\x3b\\xab\\xa3\\x63\\xda\\xad\\xa9\\xc9\\x9f\\x99\\x56\\xaf\\x2a\\xb9\\xb2\\xc3\\x1b\\xe7\\xf0\\xec\\x5a\\x25\\x14\\xb5\\xcc\\xd8\\xb1\\xb4\\xea\\xe3\\xb2\\xa7\\xe0\\x97\\xc5\\x91\\x19\\x69\\xa3\\x57\\xd3\\x53\\x7d\\xf5\\xb7\\xff\\x0a\\xb9\\xf3\\x25\\xf2\\x31\\x89\\x0a\\xed\\x91\\x60\\xc4\\x55\\x44\\xa5\\x5a\\x9d\\xb6\\x8a\\x67\\x75\\x3a\\x25\\x25\\x53\\x29\\x55\\x88\\x9d\\x19\\x68\\x23\\x65\\x0c\\x36\\x4b\\x10\\x18\\x2f\\xc9\\x6d\\xf6\\x7b\\x6b\\x88\\x42\\x8d\\x1d\\x36\\xe4\\xf2\\x87\\x38\\x6d\\xc4\\xe6\\x09\\x05\\x7f\\x24\\xfd\\xd1\\xc1\\xdf\\x40\\xa1\\xc3\\xbd\\xa4\\x7b\\x05\\xa4\\x89\\x82\\xd0\\x00\\x03\\xb3\\x39\\x20\\xd6\\x50\\x13\\xfa\\x1b\\xf4\\x47\\xe7\\xd0\\xe5\\xd5\\xeb\\x00\\xcd\\xb0\\x7a\\x46\\x8a\\x56\\x97\\x23\\x35\\x8c\\x15\\xf2\\x40\\x88\\x90\\x0e\\xde\\x3f\\x62\\xed\\x47\\xa4\\xb6\\x90\\x5e\\x07\\x0d\\xdd\\x40\\xb7\\x2e\\xbd\\x5a\\xb4\\x73\\x64\\xb6\\xd5\\x64\\x35\\xe9\\x79\\xc0\\x7c\\x08\\xe6\\x9b\\xbe\\x54\\x67\\x15\\xc1\\x7b\\xfe\\xd6\\x07\\x81\\x7a\\x98\\x1f\\x09\\xd5\\xf5\\x0d\\x78\\x5d\\xc4\\x57\\x35\\x3d\\xd1\\xc1\\x47\\x7f\\x30\\x3f\\x6e\\x5d\\x81\\xcc\\x85\\xee\\x5f\\xa1\\xc5\\x31\\x7f\\xb2\\x5f\\xda\\x30\\xb0\\xb7\\xc7\\xd8\\x5d\\x97\\x55\\xac\\x1b\\x0c\\x3e\\x0d\\xa9\\x92\\xc9\\xbe\\xbc\\x78\\x9d\\xfe\\x1d\\x4e\\xda\\xba\\x0c\\x52\\x62\\xb5\\x4c\\x2a\\xa4\\x5e\\xa6\\x9e\\x4a\\xf7\\x86\\x33\\x4a\\x95\\x12\\xe9\\x51\\x2a\\x95\\x54\\xa7\\xd3\\x22\\x5e\\x40\\x61\\xa1\\xf7\\x98\\xbb\\x36\\x3f\\xce\\x9b\\xe1\\x1b\\x1d\\xb1\\xf2\\x6f\\xdd\\xdf\\xf6\\xf5\\xdf\\xb5\\xf5\\xfd\\xc6\\xfd\\x4d\\x85\\x70\\xd5\\xd6\\xea\\x15\\x58\\xd0\\xd0\\x00\\xde\\x78\\x05\\x7c\\xd8\\x40\\x68\\xf6\\x4b\\xb4\\x6e\\x16\\xa9\\x6b\\x91\\xe0\\x35\\x2a\\xd4\\xb4\\x5c\\x65\\xd6\\x48\\xb5\\x12\\x5c\\x87\\x46\\x2b\\xe1\\x70\\xb7\\xca\\x0f\\x33\\x2e\\x67\\x20\\x53\\x4f\\x8f\\x73\\xe9\\x05\\xc7\\x98\\xd1\\xed\\x71\\xe1\\xb0\\x5e\\x72\\xed\\x0b\\x3c\\xdc\\x0d\\x80\\xac\\xb9\\x16\\xc6\\xf3\\xf1\\xef\\xfe\\x08\\x3f\\x1f\\x03\\x87\\xc2\\x4f\\xe8\\xe1\\x32\\xf8\\x1e\\xbb\\xe0\\xa9\\x4b\\x83\\x4a\\xf6\\x97\\x3e\\xe8\\xc0\\x44\\x3c\\xbc\\xc1\\xa6\\xc6\\x3c\\x89\\x9b\\x32\\x21\\x3e\\xe3\\x40\\xf4\\x95\\x86\\x23\\x57\\x4d\\x0e\\x43\\x9a\\xc2\\xcd\\x44\\x25\\x95\\xf1\\x51\\x46\\xab\\xa4\\x8c\\xb7\\x1a\\x0d\\x86\\x10\\x13\\x29\\x53\\x74\\xc4\\x05\\x8b\\xc5\\xa3\\x73\\xc0\\x98\\x63\\x0a\\x00\\xc9\\xe7\\x6f\\x13\\x68\\x45\\x84\\xff\\x10\\x18\\xc3\\x4c\\x3e\\x1a\\xe6\\x88\\x48\\xef\\x1f\\xb9\\xeb\\xce\\x67\\xa4\\x84\\xa7\\x52\\x4f\\x0f\\xd9\\xd0\\xaf\\x33\\xdd\\x76\\x66\\xcf\\xbe\\x65\\x96\\x33\\x3f\\x1f\\xb5\\xd9\\x22\\x32\\xfb\\x46\\xed\\x41\\x47\\x7a\\xf0\\x53\\x6d\\x92\\xe3\\x4e\\x3e\\xcf\\x94\\x3d\\xd8\\x4e\\x6a\\x78\\x76\\xa9\\x3d\\x57\\x35\\x88\\x1b\\xd5\\xaf\\xa2\\xb6\\xdb\\x38\\xe6\\xcb\\x87\\x83\\xe7\\xb6\\x6c\\x11\\xbb\\x6d\\x1b\\x33\\x84\\xe0\\x2a\\x0c\\xf1\\x69\\xac\\x3b\\x86\\x21\\xfb\\x40\\x63\\x01\\x7a\\x46\\xa6\\x1e\\x84\\xa5\\x82\\x51\\x8c\\xad\\x11\\x40\\xf6\\x77\\x96\\x10\\x84\\x82\\x45\\x90\\x09\\x81\\x1e\\x13\\x6a\\x83\\x62\\x49\\xc2\\xfa\\x75\\xc5\\x7d\\x92\\xdb\\x46\\xe6\\xa6\\xe9\\x80\\x0a\\x94\\xbd\\x6e\\x08\\x9f\\x2b\\x36\\x9b\\xd8\\x93\\xea\\xcb\\xf9\\x60\\x93\\xe9\\x7b\\x75\\x61\\x5f\\x6e\\xe8\\x83\\x7b\\x3f\\x3f\\x2d\\xf6\\x9c\\xc0\\xf7\\x60\\xfd\\xc8\\x3d\\x98\\x03\\xdb\\x26\\x06\\xa5\\xc5\\x22\\x29\\xc7\\x37\\x13\\x5a\\xa5\\x99\\xf4\\xf8\\x0c\\x16\\x15\\x7c\\x4c\\x01\\xd1\\xc0\\x15\\x1d\\x3d\\xfd\\xa2\\xc6\\xdb\\xb1\\x76\\x9b\\x2d\\xe4\\xc6\\xab\\xf4\\xec\\x13\\xf3\\x17\\x69\\x3f\\x45\\xd3\\x1b\\xbb\\x64\\x95\\x76\\x3c\\xb4\\x30\\x70\\xd5\\x35\\x6d\\xfc\\xc2\\x05\\xed\\x7b\\xe0\\x66\\xc8\\xfe\\xbb\\x29\\xae\\xbf\\x41\\xc2\\xae\\xa3\\xc4\\x1e\\x18\\xdc\\x1e\\x6e\\x0e\\x3a\\x2b\\xd1\\x48\\x37\\x33\\xaa\\x34\\x32\\xa3\\x82\\x92\\x61\\x41\\xd1\\x54\\x4c\\x88\\xca\\x88\\xee\\xad\\x8c\\xd0\\x4e\\x96\\x08\\xb2\\x18\\x63\\x26\\xae\\x7f\\xd1\\xbc\\x35\\xc6\\x4f\\x97\\x3f\\xa8\\x3e\\xf8\\xcf\\xf3\\x60\\xb1\\x85\\xb7\\x0c\\xc8\\xf8\\x38\\x21\\x6c\\x66\\x95\\xed\\x30\\xbc\\x79\\xfe\\x85\\xc1\\xcb\\xf9\\x5d\\x35\\x2b\\xfa\\x9b\\x6e\\xdf\\xda\\x01\\xa6\\x00\\x76\\x1e\\x1c\\xd5\\x79\\x1c\\x60\\xdf\\x9f\\x7e\\xae\\x15\\xbc\\x0f\\x67\\x9d\\x63\\x96\\xff\\x7d\\x18\\x6e\\xa9\\x87\\xc7\\xc1\\x60\\x4a\\xac\\x7b\\xca\\x55\\x93\\xba\\x99\\x31\\x94\\x1b\\x51\\x36\\xad\\x36\\x9b\\x6d\\xa5\\xbc\\x59\\xa7\\x76\\x92\\x90\\x49\\xec\\xf7\\x6d\\x5a\\x08\\x1c\\xe0\\x26\\x24\\x18\\x2a\\x5a\\x2a\\xe6\\xa2\\x63\\x6b\\xc5\\x19\\x1a\\x1b\\x69\\x60\\xbb\\xc8\\xaa\\x22\\x87\\x64\\x7c\\x94\\xd0\\xe6\\xc3\\x36\\xf0\\xc3\\xeb\\xe7\\xaf\\xf0\\x5b\\xbe\\x59\\x06\\xd6\\xc2\\x2f\\xbb\\x94\\x0c\\x7a\\xb2\\x70\\x55\\xcd\\x93\\x9d\\xe9\\xab\\xd9\\xad\\xbc\\xcf\\x21\\xc0\\xe0\\x5b\\xfc\\x1d\\xdf\\xd5\\xf3\\x8b\\x81\\xfd\\xdc\\x30\\x38\\x63\\x68\\xe5\\x7c\\xf8\\xc3\\xe4\\x2b\\xf3\\x41\\x32\\x82\\x2d\\x03\\x8e\\xe4\\x22\\x39\\x9e\\xc8\\xab\\xb4\\x53\\x94\\x1a\\x74\\xf4\\x9a\\x15\\x88\\xd7\\x98\\xa5\\xe6\\x1a\\xcc\\xe4\\x22\\x1d\\x94\\xa3\\x06\\x9d\\x7a\\x72\\x15\\x1b\\x12\\x5e\\x42\\x8a\\xa4\\x62\\x24\\xea\\x48\\x60\\xbd\\x3b\\x13\\x97\\x92\\x40\\xb4\\x66\\x0c\\xc6\\xab\\xe6\\x82\\xe7\\x0f\\x9f\\xde\\x01\\x6c\\x47\\x66\\x0c\\x02\\xbd\\xba\\xc1\\xdd\\xdf\\x03\\x4f\\xed\\x9b\\xea\\x8d\\x4b\\x1d\\x69\\x15\\xeb\\xfb\\x95\\x77\\x8d\\x73\\x1a\\xef\\xdd\\x01\\x52\\xb0\\xed\\x56\\xfb\\xd6\\xff\\x59\\xb9\\xbb\\x0f\\xe5\\xc6\\x1a\\xf6\\x99\\xf0\\x57\\xe0\\xd9\\x1d\\x2b\\xb6\\xeb\\x30\\xde\\xc2\\xe0\\x68\\xf6\\x1f\\xb6\\x3b\\xe2\\x43\\x0e\\x2a\\xd5\\x6b\\xd1\\xea\\x0c\\xb4\\x49\\x65\\x2a\\xe3\\x35\\x2a\\x9d\\xc3\\x26\\xb1\\x95\\xf1\\x8c\\xc4\\x42\\x9d\\x44\\x9c\\xba\\xa0\\x69\\xe8\\x0b\\x09\\xd6\\x32\\xc6\\x30\\xc2\\x81\\xd4\\x51\\x2e\\x0c\\x9f\\x9c\\x84\\xfa\\xeb\\x09\\x60\\xf4\\xdf\\xff\\x8c\\xdb\\xd8\\x79\\x6f\\xd9\\xab\\x97\\x80\\x17\\xc4\\xaf\\x19\\x03\\x5a\\x74\\x85\\x5f\\xc3\\xf7\\xc3\\xd2\\x0e\\xee\\xe9\\x5f\\x9d\\xee\\x41\\xcb\\xfe\\xfb\\xf0\\x66\\x62\\xfa\\xe5\\xab\\xa0\\x27\\x18\\xdf\\xb1\\xf5\\xfd\\x78\\x2e\\x4a\\xfe\\x1f\\x6c\\x9c\\x3a\\x5d\\x19\\xb0\\xdb\\xee\\x92\\x9a\\x61\\x51\\x54\\xac\\xd7\\x28\\xb7\\x1b\\xed\\x48\\x03\\xe6\\xd0\\xb7\\xd6\\xa1\\x95\\x1a\\x19\\xa9\\x70\\x71\\x40\\xb2\\x03\\x45\\x2f\\x94\\x84\\xc5\\x6d\\xb0\\x9a\\xf9\\xa1\\x82\\x2e\\x8c\\xbb\\x2b\\xe1\\xdd\\x13\\xc5\\x95\\xf0\\xc6\\x57\\x6e\\x62\\xbd\\xbd\\x75\\x1c\\x54\\x7c\\xf1\\x2d\\xbc\\x56\\x37\\x2e\\xb2\\x2c\\x6e\\xe5\\x4a\\xe6\\x8f\\x8d\\x7f\\x2e\\x80\\xb1\\x7e\\xe3\\xed\\xd8\\xdb\\x2f\\x7d\\x50\\x5e\\x04\\xab\\xe6\\xf8\\x6b\\xdb\\x22\\x39\\x11\\x49\\xb5\\xc0\\x15\\x89\\xed\\x48\\xb3\\x45\\x62\\x9e\\x32\\xdb\\x0d\\xb8\\xc2\\xad\\x8b\\x54\\xb8\\xf5\\x3c\\xa6\\xc2\\xad\\xbf\\xba\\xd4\\x23\\x9e\\x1e\\x1c\\x2b\\xe8\\x17\\x25\\x20\\xc4\\xb3\\x41\\x37\\x3c\\x63\\x4b\\xe5\\xbc\\xc7\\x47\\xad\\x58\\xbb\\xe8\\x97\\xb5\\xb8\\x7c\\xba\\x7a\\x28\\xd2\\xe5\\x5a\\xdb\\xdf\\x5b\\x5f\\xcb\\x27\\x18\\xbb\\xc3\\x77\\x37\\xcd\\xd9\\x59\\x5c\\x54\\xba\\xaa\\x98\\xf5\\xcd\\xfd\\x6d\\xe0\\xb0\\x0b\\xa7\\x2e\\xc1\\x5d\\xaf\\x0c\\xa9\\xe8\\xea\\xfb\\x5b\\x32\\x00\\x89\\x99\\x0f\\x38\\xe9\\xc3\\x65\\xdf\\x02\\xd7\\xcf\\x13\\x87\\x2e\\xbf\\x21\\xfa\\x7e\\xe0\\xbb\\x6c\\x03\\xb9\\x7f\\x21\\x3e\\x32\\x0d\\x69\\x97\\x22\\x35\\x55\\xf1\\x88\\xf8\\xa4\\x2c\\xc7\\x10\\x01\\xfb\\x56\\x53\\x4c\\x32\\xa1\\xb9\\x96\\x81\\x16\\x29\\x4e\\xfa\\xd3\\x57\\x56\\x76\\x14\\x72\\x2d\\x9d\\x6f\\x7f\\x7f\\xf3\\xea\\x2b\\x37\\x16\\x8d\\x9a\\xba\\xbb\\xcb\\x21\\xe0\\x81\\xef\\xd2\\xab\\xe0\\x0e\\xae\\xf0\\x85\\xdd\\x9b\\xf6\\xde\\x4d\\xf2\\x65\\xb1\\x55\\x5d\\x8a\\xe0\\x42\\xc2\\xc7\\xec\\x88\\x8f\\x9c\\x27\\x3d\\x52\\xe2\\xbc\\xc6\\x28\\x85\\xd1\\x9d\\x90\\x10\\x5d\\x8d\\xde\\x45\\x6b\\x34\\xaa\\x6b\\x02\\x5d\\xf5\\x42\\x6e\\x61\\x8c\\xb8\\x24\\x44\\x5b\\xa6\\x59\\x27\\x55\\x5a\\x0b\\x9a\\x95\\x8e\\xb0\\x17\\x4c\\x7c\\xf3\\xed\\xb6\\x4f\\x54\\xe6\\x0d\\xed\\xff\\x5a\\x29\\xfc\\xa1\\x0b\\x88\\xbc\\x7e\\xe9\\xf7\\xfc\\xd1\\xaf\\xbc\\x34\\x67\\xe6\\xb4\\x71\\x93\\x67\\xbd\\xd8\\x02\\x98\\x7b\\xc0\\x23\\x3f\\xdf\\x68\\x04\\x85\\x95\\x2b\\xc7\\xf4\\x4f\\xd3\\x46\\xa5\\x15\\xb5\\xf4\\x16\\x9c\\x88\\x38\\x7d\\x78\\xdf\\x9a\\x7e\\x8b\\x47\\xf2\\x89\\xce\\xc8\\xe1\\x25\\x45\\x85\\xa3\\x07\\xba\\x5f\\x7b\\xeb\\x38\\x81\\xb5\\x18\\xc1\\x5a\\x89\\x78\\x6e\\x02\\x86\\x35\\x46\\x16\\x61\\xf0\\x78\\x10\\xf3\\xf0\\x58\\x34\\x06\\x03\\x12\\xcf\\x06\\x5d\\x13\\x69\\x9c\\x97\\x29\\xc0\\x1a\\x6c\\x50\\xeb\\x69\\x96\\x07\\x2a\\xda\\x2b\\x08\\xd6\\xe2\\x9c\\xba\\xa3\\x40\\x32\\xac\\xb4\\xa2\\xff\\xd0\\xba\\xf0\\x3f\\x5b\\x02\\xc9\\xb9\\xb7\\xdf\\xed\\xf2\\xdc\\x1f\\x63\\xc6\\xd5\\x54\\x8e\\x9d\\x35\\x39\\xf6\\x6e\\x7b\\xf8\\xef\\xb7\\x6f\\x7f\\x07\\xe4\\xe5\\x33\\x07\\x14\\x66\\x9b\\xda\\xb4\\xcc\\x68\\xe1\\xed\\x60\\x5b\\xba\\x76\\xe5\\xec\\xca\\x25\\x95\\x05\\x46\\x73\\xa7\\xb6\\x99\\x59\\x05\\x25\\xee\\xd5\\xf5\\x6b\\x84\\xbb\\xd7\\x07\\xe8\\x6c\\xdc\\xc2\\x3a\\x1c\\xd3\\x0b\\xef\\x31\\xe8\\x04\\xfb\\x32\\xa3\\xb8\\xf7\\x45\\x5f\\x9b\\x52\\x67\\x30\\xa8\\xca\\x79\\x83\\x3d\\xca\\x1a\\x7e\\xb2\\xf1\\xcc\\x71\\xb9\\xaa\\x28\\xdc\\xcd\\xe0\\x56\\xce\\x1f\\x26\\x66\\x5c\\xf6\\x13\\x65\\x96\\x18\\x1e\\x21\\xde\\x5b\\x4b\\x25\\x31\\x4e\\x2c\\x56\\x31\\x7d\\xe6\\x06\\x4b\\x01\\x4a\\x40\\xa7\\x8d\\xd3\\x80\\x4e\\x7d\\x53\\x52\\x6d\\x28\\x33\\x24\\x74\\x9e\\x08\\xef\\x28\\x7f\\x4c\\xc9\\xee\\xd2\\x67\\x5a\\xbc\\x33\\xb1\\xad\\xc7\\x99\\xd4\\x96\\xfd\\x72\\xcc\\x42\\xf8\\x20\\xa7\\xf0\\xc1\\xc8\\x08\\x73\\x85\\x8c\\xfd\\x40\\x7f\\x2b\\x39\\x97\\x3d\\x6c\\xe9\\x35\\xcc\\xe9\\x69\\x95\\xec\\xf4\\xb4\\x26\\x75\\x7a\\x61\\x2d\\xa9\\xd3\\x1b\\x4b\\x65\\x79\\x35\\x91\\x51\\x51\\x5a\\x7c\\x31\\x67\\xb6\\xf5\\xe4\\xad\\x66\\xc4\\x59\\xbc\\x8a\\xd0\\x92\\xbd\\x6f\\x65\\x86\\x36\\x17\\xfa\\x1f\\x75\\x7b\\x43\\x64\\x6d\\x01\\x90\\x0a\\x37\\x73\\x4d\\x2a\\xf8\\xaa\\x8a\\x4a\\xa6\\x2f\\x6a\\xe3\\x38\\xb1\\xa9\\x47\\x2f\\x4f\\x61\\x5c\\x56\\x77\\x9d\\xa2\\xfb\\xae\\x5d\\xea\\x60\\x25\\xdf\\xb6\\x61\\x99\\xa9\\x76\\x78\\x61\\xd9\\x56\\xd3\\x3b\\xda\\xd6\\x65\\x59\\xf4\\xc4\\xa9\\xa9\\xed\\x04\\x5d\\x14\\xf1\\x1d\\x2e\\x85\\xd4\\xf8\\x71\\x78\\xd5\\x12\\x89\\x42\\x6b\\x50\\x51\\x0a\\x64\\x12\\x2a\\x02\\x1a\\xb0\\x21\\x0f\\xd7\\x05\\x0c\\x61\\x32\\xa4\\x65\\x3e\\xb8\\x58\\xde\\x15\\x31\\x95\\x4b\\x87\\x99\\xde\\xc9\\x70\\x24\\xee\\x9b\\xc3\\x56\\x77\\xe8\\x88\\x39\\xc9\\x91\\x77\\x6f\\xe2\\xd6\\x39\\x62\\xbd\\xe2\\xd7\\x10\\x1f\\xf1\\x60\\x5f\\x5a\\x54\\x74\\xb4\\xa3\\x94\\x8f\\xb6\\xc8\\x90\\xf1\\xa7\\x94\\x51\\x16\\x82\\x03\\x23\\x46\\xc1\\xe3\\x31\\x90\\x2b\\x34\\x09\\x92\\x12\\x46\\x41\\x4c\\xc0\\x60\\x15\\x63\\x51\\x29\\xc2\\x38\\xd8\\xa9\\x09\\xaf\\x3b\\xb1\\xb0\\x60\\xec\\x72\\xf7\\x8c\\xe9\\xed\\xca\\x52\\x94\\xea\\x00\\x42\\xa6\\x2d\\x8a\\x5d\\x39\\xb5\\xad\\x80\\x86\\xce\\x33\\x96\\x74\\x93\\x85\\x9d\\xb6\\x3b\\xdb\\xb6\\xf5\\xfa\\xd1\\x71\\xda\\x2a\\x27\\x68\\x00\\xd4\\x01\\x64\\x5f\\x25\\x93\\xfe\\x3e\\x4e\\xaf\\xce\\x6c\\x30\\x1a\\xaa\\x78\\x23\\x23\\x57\\x2a\\x25\\xc8\\x20\\xb0\\x37\\xad\\x4b\\x0b\\x02\\x40\\x48\\x44\\xc5\\x4c\\xb8\\xb2\\xfd\\x4e\\x9a\\x92\\x1e\\xd1\\x31\\x71\\x60\\xf1\\xde\\xf1\\x9a\\x1b\\x81\\x0e\\x42\\x93\\x63\\x6d\\xe9\\xc9\\xea\\x2f\\x4d\\x6b\\x6b\\xf3\\x3a\\xb1\\xf5\\x37\\x6f\\xa2\\xb5\\x86\\x21\\xb9\\x7d\\x05\\xe9\\x15\\x4e\\x2a\\xca\\xab\\xb5\\x86\\x45\\x18\\x29\\x3d\\xd3\\xb4\\x93\\x10\\xe6\\x4d\\x01\\x6d\\xa2\\x59\\x27\\x21\\x64\\xce\\x09\\x7a\\x85\\x16\\xd0\\x14\\xb8\\xf4\\xda\\xee\\xb0\\xad\\x20\\x6e\\x8b\\x25\\x27\\x9f\\x1f\\x1d\\xfd\\x3c\\xf0\\xf4\\xed\\x3d\\xda\\x58\\x9b\\xf9\\x71\\x42\\xec\\xc1\\xe7\\x12\\x5b\\xc2\\x3b\\xa6\\xcd\\xfb\\x2a\\x67\\xe2\\xfe\\x42\\x93\\xda\\x77\\xf5\\x6e\\x3a\\xc0\\xc4\\xc3\\x02\\xe3\\xdc\\xc1\\x48\\x76\\x9f\\xf8\\x2a\\xea\\x2b\\x24\\x9c\\xee\\x22\\x78\\xfa\\x22\\x78\\xe6\\xb1\\xad\\xa8\\x38\\xcc\\x03\\x90\\x99\\xea\\xc2\\x7a\\x97\\xca\\xa6\\xd3\\x2b\\xe2\\xb4\\x2e\\x8b\\x8d\\x38\\xad\\xcf\\x9f\\xc7\\x0a\\x72\\x68\\x55\\xe7\\x47\\xe0\\xc1\\xa6\\x9c\\x0b\\xff\\x97\\xd0\\x8b\\x9f\\x94\\x78\\x36\\xe6\\x64\\xf5\\x9a\\x1e\\x31\\x1e\\x84\\x0f\\xed\\x37\\xd5\\x32\\x34\\xe3\\xc3\\x04\\xf7\\x89\\xe7\\x73\\x74\\x12\\xf8\\x27\\xa3\\x57\\x70\\x25\\xdb\\x46\\xfc\\x65\\x9a\\x8f\\xeb\\x23\\x0f\\xce\\x2d\\x6c\\xbb\\x7b\\x39\\xdd\\xd1\\xf7\\xaf\\x6e\\x51\\x1d\\x02\\xee\\xd5\\xaf\\x22\\xe0\\x4f\\xe3\\x13\\xdd\\x4f\\xb6\\x7a\\x72\\xe2\\x2f\\xdd\\x6a\\x71\\xe9\\x67\\x04\\x67\\xcb\\xc6\\x9f\\xb9\\x5c\\xb4\\x47\\x6e\\x0c\\xa7\\xd3\\xa6\\x52\\x48\\x22\\x22\\x23\\x10\\x67\\x8f\\x64\\x8c\\x88\\x5a\\x8d\\x7e\\xa3\\x9d\\xc8\\x6a\\x52\\x0c\\xda\\x2d\\xb4\\x9b\\x32\\xe2\\xc2\\xbe\\x1e\\x6c\\x10\\x63\\xb7\\x10\\x71\\x99\\xe5\\x4a\\x70\\x35\\x5c\\xa1\\xa7\\x27\\xed\\xae\\xde\\x3e\\xe0\\x89\\x7c\\x70\\x37\\x69\\x5c\\xdb\\x09\\xbd\\xfb\\xef\\x85\\x6f\\x9c\\x7c\\xfa\\xd2\\xc4\\x8b\\xe7\\x27\\xb4\\x9d\\x94\\x04\\xee\\xe6\\x6f\\x5d\\x30\\xf2\\xca\\xf4\\xef\\x56\\x36\\xac\\x07\\x69\\x37\\x95\\xa5\\xb7\\x97\\xbc\\x05\\xdf\\x6c\\x18\\xf7\\xc1\\xe2\\x77\\xc1\\xa0\\xc5\\xca\\x9b\\xf0\\xbd\\x45\\xbe\\x97\\xe6\\xae\\x14\\xce\\x11\\xf6\\x39\\xfe\\xc3\\xf5\\xa3\\x22\\x30\\x0d\\x59\\x19\\x3d\\x02\\x4a\\x6f\\x54\\x20\\x0b\\xa7\\x8a\\x57\\xb1\\xa1\\x9d\\x14\\x30\\x64\\x39\\x06\\xbd\\x50\\xb2\\x0a\\x33\\x25\\xa4\\x4b\\x84\\xee\\x34\\x6d\\x7e\\xf1\\x44\\xef\\xbc\\x76\\x49\\x9d\\x12\\x07\\xd6\\x03\\x16\\xce\\x81\\xc3\\xae\\x9c\\x37\\xe1\\x5d\\xd6\\x15\\x7f\\xb0\\x13\\xf4\\x06\\xf2\\x5e\\xdd\\x10\\x45\\xc1\\x57\\x7d\\x37\\x7d\\x7f\\x1e\\x3d\\x56\\x3e\\x02\\xef\\x6f\\xaf\\xd6\\xfd\\xfb\\x88\\x7d\\x8f\\xca\\x90\\xec\\x31\\x22\\x1d\\x5a\\x27\\xd7\\x0e\\xe2\\xd5\\x72\\x96\\x33\\xd2\\x0c\\x60\\x18\\x40\\xd4\\x07\\xdc\\xec\\x80\\x38\\x59\\x8d\\x38\\xbc\\x4d\\x2c\\x5c\\x4e\\x78\\x39\\xa0\\x73\\xe0\\xe7\\x35\\xef\\x83\\xec\\x21\\x1f\\x74\\x9d\\x3f\\xa4\\xf7\\xdc\\xbc\\x15\\x79\\xf9\\x2d\\x3a\\x38\\x91\\xf4\\xbb\\xcf\\x14\\xfb\\xde\\x05\\xe3\\x67\\xf7\\x6f\\x5f\\x70\\xaa\\x6d\\x56\\x2e\\x94\\x0a\\xbe\\xa4\\xc3\\xb0\\xaf\\xa4\\x2d\\x3a\\xdb\\x11\\x38\\xfa\\x2f\\xcc\\x24\\x8b\\x34\\x6b\\x95\\xba\\x9e\\xbc\\x1a\\x1d\\x18\\x0e\\xf7\\x75\\xa0\\xfc\\x37\\x90\\xf8\\x87\\x9e\\xec\\x88\\x78\\x13\\x29\\x05\\xa1\\xdc\\x0c\\xb1\\x12\\x6b\\x01\\x40\\xb0\\x70\\x7d\\x66\\x0f\\x9f\\x97\\x9e\\xd3\\xad\\xa5\\x6f\\x46\\xdd\\xed\\x0d\\xb5\\x45\\x9e\\xec\\x16\\xfc\\xf8\\x3c\\xfb\\x97\\xc0\\x39\\x42\\x35\\x24\\x09\\x94\\x77\\x3e\\xc4\\x7d\\xd4\\xf5\\x7c\\xec\\xc8\\x07\\x45\\x6f\\xef\\x53\\x5f\\x90\\xf5\\x1c\\x82\\x6b\\x4c\\x87\\x55\\xff\\x50\\x43\\xaf\\x58\\x34\\x5b\\x80\\xc9\\xdf\\xa7\\x49\\x4f\\x65\\x78\\x6d\\x4a\\x99\\x9c\\xf8\\x0c\\x39\\xb6\\x86\\x57\\x71\\x1c\\x90\\x33\\xb4\\x0e\\xe8\\x42\\x1b\\x36\\x35\\x0d\\xc3\\x10\\xfb\\x36\\x05\\xca\\x4e\\x8b\\xfd\\x9b\\xc0\\x44\\x78\\x2d\\x0e\\xbc\\x01\\x62\\x85\\x36\\x4e\\xf0\\x4d\\xaa\\x31\\x0e\\x8e\\x83\\xdb\\xe9\\x0b\\xd7\\xc0\\xb2\\x37\\x41\\xde\\xed\\xcb\\x70\\xff\\x9b\\x70\\x01\\x45\\x85\\xd4\\xb7\\xd6\\xe3\\xee\\xdb\\x0a\\xa9\\x4c\\xda\\x93\\xd7\\x30\\x2c\\x53\\xc6\\x2b\\x85\\xa2\\x2e\\x07\\x59\\xd6\\xc4\\xb0\\x2c\\x25\\xd3\\x02\\x2d\\xa5\\xed\\x19\\x52\\xf4\\x3a\\x24\\x29\\x39\\x50\\xff\\x3a\\x46\\x28\\xf7\\x2a\\xe5\\x32\\xa5\\x2e\\x0e\\xd7\\xc1\\x06\\xf2\\x2f\\xa2\\xc1\\x38\\x28\\x14\\xc3\\x6e\\xa4\\xbe\\x8e\\x86\\x4b\\xa1\\x0f\\x97\\xc4\\x06\\xe0\\xf0\\xdf\\x17\\xdf\\xf9\\xf7\\xf0\\x83\\xcb\\x02\\x1e\\xf6\\xc0\\x1a\\x4e\\x4d\\xee\\x3e\\xd3\\xbc\\x56\\x93\\xde\\xa0\\x47\\xda\\x8f\\x56\\xab\\x41\\xd8\\xd0\\x52\\x06\\x86\\x42\\x24\\xc9\\x0a\\x2a\\x6e\\x46\\xc8\\x5d\\x80\\x5f\\x79\\x13\\x7a\\xb5\\x39\\xf5\\x59\\x29\\x20\\xd1\\xdf\\xca\\x0a\\x1d\\x1f\\x1d\\x05\\x0e\\x7f\\x0d\\xef\\xc7\\x02\\x8b\\x63\\x6a\\x2d\\x98\\xd1\\x6d\\xd9\\xbc\\xd9\\xc9\\xe0\\x9e\\xaf\\x24\\x99\\xb5\\xc5\\xfb\\x2e\\x5e\\xba\\x09\\x9f\\x83\\x35\\x0d\\xa7\\x86\\x3e\\x33\\x0e\\xac\\xed\\x3d\\x22\\xfd\\x36\\x78\\x11\\x21\\x26\\x59\\xfe\\xcd\\x1b\\xf0\\x1c\\xdc\\x81\\x61\\xfa\\x0c\\xc1\\x64\\x42\\x30\\xd9\\xd1\\xde\\x84\\xa9\\x10\\x2c\\x12\\x95\\x8a\\x92\\x49\\x95\\x32\\x25\\xb2\\xa8\\x98\\x30\\x8a\\x32\\x57\\xf1\\x02\\x50\\x8f\\xf8\\x5d\\x08\\x54\\x48\\xe5\\x76\\xe3\\x28\\x73\\x97\\xdf\\x3b\\xea\\x57\\x37\\xc0\\x77\\x7f\\xc0\\x1f\\x41\\x7b\\x90\\x03\\xe7\\xc4\\xb3\\xb6\\x64\\x5f\\x09\\xe8\\x91\\x3c\\xfb\\xe5\\xf3\\x43\\xa7\\xcf\\x19\\xbc\\xb3\\xf7\\xaf\\x53\\xe1\\x0d\\x58\\xf3\\xe7\\xfb\\xc0\\x03\\x8a\\x34\\xe0\\x83\\xcb\\xb7\\x21\\x7f\\xbb\\xe7\\x91\\xfa\\x69\\x4f\\xd6\\x2d\\x1a\\xfa\\x1e\\xe9\\x5b\\xc1\\xc2\\x12\\x76\\x03\\xa9\\x67\\x9f\\xec\\x0d\\xd3\\x18\\xb4\\x06\\x44\\xc3\\xe6\\x32\\xde\\xa8\\x56\\x4b\\xb4\\x5a\\x5a\\x22\\xa1\\x90\\xa0\\x76\\x34\\xa1\\x18\\x01\\x51\\x5c\\x86\\xa0\\x97\\xc5\\x12\\x1f\\x5b\\x00\\x32\\x74\\x82\\xc1\\xed\\x37\\xf2\\x81\\xa1\\x35\\xfc\\xe5\\xe2\\xc7\\xb0\\x71\\xde\\x2f\\x1b\\xe1\\x57\\x71\\xcc\\x7c\\x84\\x23\\xa0\\x74\\xd7\\xbe\\xfb\\xc1\\xef\\xef\\xa8\\x5f\\x7d\\xe3\\x93\\x97\\xb7\\xfc\\xf6\\xac\\x06\\x4c\\x39\\x77\\x11\\x6e\\x7a\\xed\\x8d\\x63\\xef\\x20\\xfc\\xf8\\x10\\x1c\\x73\\x10\\x1c\\x09\\x98\\x76\\xc3\\xcc\\x16\\x73\\x4f\\xde\\x68\\xf0\\x3a\\xd4\\x31\\x4c\\x78\\x38\\x63\\xd1\\x26\\x30\\x4c\\x5c\\x29\\xcf\\x84\\x42\\x62\\xcd\\xb3\\x5d\\x16\\x77\\x2d\\x50\\x5c\\x0c\\x90\\x32\\x1d\\x4d\\x77\\xce\\x14\\x5a\\x86\\x8c\\xf9\\xba\\x1d\\x3c\\xf7\\xc5\\xe1\\x4f\\x86\\xbe\\xf5\\xfd\\xac\\xc9\\xe9\\xc3\\xd6\\xd6\\x3a\\xc0\\x10\\xdf\\xf7\\xf1\\xcc\\x7c\\x27\\x1c\\x7d\\x7c\\xeb\\xc8\\xb7\\xef\\xcc\\x7d\\xa2\\xba\\xa2\\x66\\xa9\\x7d\\xf0\\xa6\\x97\\x57\\xcc\\x1c\\xb2\\x7c\\x40\\x9a\\xad\\x53\\x76\\xac\\x47\\xbf\\x1c\\xe8\\x2f\\xee\\x80\\x9f\\x71\\x75\\x63\\x6a\\x96\\x0f\\xcc\\x8e\\xe8\\x94\\x9e\\xd6\\x6a\\x40\\x3f\\x42\\xf3\\x06\\x44\\xf3\\xb8\\xbf\\x7a\\x34\\x95\\xe9\\xb5\\x39\\xc8\\x69\\x0b\\xe7\\x38\\x0a\\x37\\x91\\xae\\x46\\xea\\x2e\\x70\\x52\\x4e\\xb1\\xc1\\x66\\x88\\xda\\x1b\\xf0\\xec\\x64\\xe6\\xe6\\x60\\x1a\\x7f\\x4c\\x33\\x69\\x44\\xf4\\x48\\xaf\\x74\\x49\\x0d\\x71\\x13\\x3f\\x87\\x7f\\xbb\\xc1\\xcf\\xcf\\xd6\\xf6\\xe8\\xd1\\x7f\\x82\\x0b\\xfe\\xd0\\x06\\x44\\x7e\\x70\\xe6\\xd3\\xd2\\x8a\\xe1\\x6e\\xf8\\xe6\\xb6\\xa1\\xe5\\x36\\xba\\x3e\\xf9\\xdc\\xc1\\xfd\\xaf\\x0f\\x99\\xd1\\xb6\\x55\\x87\\xea\\x6a\\xdd\\xb9\\xab\\x2f\\xd4\\xf7\\xda\\xdc\\xe7\\xf5\\xd1\\xa5\\x65\\x2d\\x6e\\x0b\\xbc\\xb9\\x3d\\xe2\\xcd\\xdf\\x72\\x9d\\x10\\xed\\x25\\x79\\xad\\x6c\\x38\\xbe\\x35\\x57\\x52\\x4a\\x43\\x35\\xaf\\x53\\x1a\\x19\\x3b\\x65\\xaf\\x0e\\xf1\\xf7\\x65\\x36\\xbd\\x3b\\x27\\x46\\x81\\xc0\\xa1\\x73\\xdd\\x7e\\x35\\x11\\xd9\\x5c\\x40\\xc5\\x7c\\x94\\xec\\xfb\\x25\\x29\\xf6\\xab\\x1b\\xf0\\x34\\xfc\\xe0\\xad\\xaf\\x01\\x70\\x48\\x8f\\xae\\x58\\x38\\x72\\x12\\xbc\\xd1\\xf7\\x00\\xd7\\xe9\\xd6\\x77\\x07\\xf7\\xc0\\xdf\\xe0\\x47\\x27\\xf7\\x46\\xaa\\x0f\\xac\\x5d\\x5f\\xd1\\x9b\\x84\\x8a\\x89\\xfd\\x86\\xe7\\x91\\xda\\x8e\\x04\\x96\\x32\\x04\\x8b\\x8a\\x52\\x19\\x4a\\x79\\x9d\\xca\\x82\\x61\\x41\\x5c\\x41\\xfb\\x18\\x58\\x8c\\x7e\\x58\\x4c\\x64\\xab\\x3d\\xa1\\xb0\\xfc\\xc5\\x2c\\xf7\\x40\\x2e\\xb6\\xf4\\xea\\x57\\x0b\\x1a\\xa9\\x43\\x6f\\xdf\\xe2\\x80\\x81\\xbd\\x38\\x65\\xd6\\xc8\\xa9\\xf0\\x7a\\xd1\\x16\\xb6\\xd5\\xc5\\x93\\x6b\\x56\\x4c\\x7f\\x7d\\xe4\\xd1\\x0d\\x86\\xad\\xb5\\x55\\x1d\\xbb\\x80\\xf1\\x94\\xbf\\x0f\\x46\\x22\\xd7\\x12\\xd1\\x1b\\xa2\\x7b\\x85\\xc7\\xe8\\x64\\x2d\\x34\\x6e\\x85\\x61\\xb3\\x58\\x1e\\xaf\\x9e\\xfa\\x1d\\xcc\\x58\\x35\\xcb\\xc4\\xf9\\x53\\x92\\x40\\xe7\\x46\\x36\\xb4\\x2e\\xb3\\xd0\\x14\\x23\\xf7\\xf6\\x22\\xf7\\xda\\x45\\x87\\xd2\\x2f\\xbb\\x2f\\xeb\\x1d\\x5d\\x9e\\x59\\x3a\\xb7\\x13\\xbc\\xe6\\xfb\\xe6\\x03\\x39\\xe4\\x06\\xce\\x9c\\x3f\\xa5\\x6c\\xe0\\xf1\\xed\\x5d\\x64\\x48\\x2f\\x83\\xb0\\xa1\\xbf\\xd2\\x1e\\x1f\\x1d\\xe5\\xea\\x3c\\xa2\\xfb\\xf1\\x0f\\x9e\\x7d\\xce\\x5d\\x52\\xd0\\xa9\\x28\\x29\\xc7\\x14\\x5b\\x3c\\xbe\\xc4\\x9d\\x88\\x6c\\xd1\\xb7\\x90\\x2d\\xba\\x83\\x2d\\x23\\xbd\\xa5\\x23\\xbd\\x3a\\x85\\x95\\x65\\x24\\x1a\\x8d\\x91\\xdc\\xe3\\x69\\x25\\xc4\\x35\\xe4\\x07\\x0d\\x98\\x68\\x8a\\xc3\\x8c\\xdb\\xef\\x12\\xe2\\x84\\x58\\xf3\\x58\\x8a\\xdd\\x71\\x06\\x8e\\x81\\xc7\\xe3\\x91\\x6d\\xe9\\x06\\x72\\x4e\\xcb\\x76\\x7c\\x65\\xc2\\x96\\x83\\xf0\\x8b\\x43\\x63\\x37\\x3b\\x26\\x81\\x54\\x10\\x49\\xff\\xfb\\x23\\xdc\\x0b\\x7f\\x98\\x7e\\x85\\xbb\\x51\\x5e\\x5e\\x31\\xe8\\xe4\\xe5\\xb3\\x07\\x96\\xfa\\xf6\\xd7\\x03\\xd2\\xaf\\x01\\xdc\\x41\\x46\\xc7\\xb7\\x24\\x67\\x46\\xf1\\x32\\xa0\\x30\\x31\\xe3\\xf4\\x5a\\x7d\\xa6\\x1e\\xdc\\xf9\\x8b\\xbb\\x74\\x3f\\x0b\\xdb\\x24\\x56\\x8a\\x62\\x8e\\x8b\\x79\\x35\\x9a\\x63\\x1c\\x62\\x2c\\xa2\\xd3\\x4c\\x18\\x89\\xbf\\x80\\xf5\\xb7\\xd7\\x7f\\xc3\\xe3\\x85\\x67\\x00\\x55\\x83\\xce\\x4e\\x1d\\x7a\\xc6\\x88\\x7d\\xa2\\x52\\x23\\x65\\xac\\x41\\x8c\\x59\\xa9\\xd5\\x69\\x6b\\x70\\xa3\\x2f\\xf4\\x45\\xab\\x0d\\xd8\\x43\\x29\\x58\\xab\\x7a\\xb2\\x15\\x7a\\xf1\\xe4\\x18\\x85\\xf2\\xae\\x2e\\xf2\\x2d\\x94\\x7b\\x75\\xd5\\x80\\xc5\\x7f\\x81\\xc5\\x70\\x0a\\xfe\\xfe\\x4b\\xf8\\x3f\\x36\\x1f\\xac\\x80\\x63\\xaf\\xc1\\xbf\\xaf\\xc1\\xf1\\x60\\xd9\\x35\\xa0\\xc0\\xb5\\x36\\xeb\\x10\\xac\\x6b\\x89\\x4f\\x9c\\x25\\xf6\\x55\\x19\\xd2\\x1b\\xe6\\x49\\xf6\\xe8\\xe2\\xc0\\xcb\\xeb\\x28\\xbd\\x54\\x5e\\x08\\xbe\\x24\\xd1\\x58\\x4c\\x30\\xbe\\x9b\\x8c\\xe9\\xcd\\x1d\\x43\\x63\\x8e\\xae\\x13\\xe2\\x98\\x2e\\xfa\\xc7\\xf8\\x73\\x11\\x1a\\x57\\x20\\x5d\\x72\\x0e\\x77\\x09\\x8d\\x39\\x26\\x8e\\xf9\\x47\\x18\\x83\\x78\\xa6\\x98\\xf7\\xd2\\x78\\xbb\\xf1\\x37\\xce\\x4e\\xfa\\xef\\x1a\\x91\\xc5\\xa1\\xd5\\xcb\\xb0\\x9e\\xa4\\x6a\\xd6\\x87\\x17\\x5f\\x74\\xe2\\x9b\\x02\\x97\\x34\\x37\\x78\\x3d\\x80\\x74\\x86\\x70\\x20\\xf9\\xe5\\x73\\x90\\x9d\\x34\\x29\\x3a\\xb9\\xd7\\x40\\xf3\\xe1\\x4f\\x0e\\xa5\\x5e\\x7d\\xb9\\x67\\x18\\x69\\xd2\\x7b\\x53\\xff\\x54\\x1d\\x53\\xff\\xf0\\xa9\\xdf\\xbf\\xc2\\x15\\xc6\\x99\\xc6\\xdb\\x48\\xa7\\xb7\\x13\\xbf\\xaf\\x11\\x51\\x4e\\x86\\xd7\\x6e\\x66\\x4c\\xd6\\x2a\\xde\\x64\\xd0\\xeb\\x6a\\x2a\\xf4\\x94\\x52\\x51\\x83\\xa4\\x32\\xc5\\x55\\x87\\xf4\\xbf\\x08\\xfd\\xc6\\x32\\xc7\\x9f\\xe0\\x14\\x43\\x94\\x45\\x5c\\xb9\\x5b\\x4e\\x60\\xa2\\xab\\xc6\\xb4\\x6d\\x51\\xd8\\x2b\\xbf\\x97\\x71\\xdf\\x87\\x6e\\x70\\xea\\x23\\xcf\\x35\\xa0\\x8d\\xbf\\x19\\x7f\\xff\\x4f\\x11\\x3a\\xd8\\xd7\\xf9\\x79\\xd4\\xa4\\x21\\xa4\\x1f\\xd5\\x3b\\x1f\\xe0\\xfc\\xa6\\x07\\x8c\\xd8\\x48\\x98\\x69\\x7c\\x1e\\xc1\\x95\\x28\\xf6\\xdd\\x8a\\xc0\\xdd\\x0a\\xc3\\xc3\\x4a\\xf9\\x70\\xad\\xc6\\x58\\xce\\xeb\\x34\\x76\\xa5\\xba\\x67\\x85\\x52\\x29\\x93\\x49\\x4b\\x71\\xef\\x04\\x96\\x61\\x9b\\xe4\\x99\\x09\\x6d\\xea\\xa9\\x60\\x27\\x5a\\x37\\x29\\x26\\x8e\\x01\\xe4\\x10\\x74\\x8f\\x40\\xbc\\xfa\\x43\\xb7\\xaf\\xbf\\xfb\\x97\\x4f\\x0e\\xc4\\x82\\x55\\x60\\x59\\xfc\\xad\\x78\\x5f\\x5d\\x73\\xc8\\x85\\x36\\x54\\x57\\x71\\x56\\x56\\x28\\xd0\\xc2\\xfd\\xb4\\x7f\\xaf\\xe4\\xb8\\xa2\\x18\\xb2\\x8c\\x54\\x48\\x8f\\x30\\x4a\\x80\\x4e\\xca\\x32\\x8c\\x81\\x1c\\x83\\x02\\xdc\\x6a\\x58\\x68\\x43\\x45\\xae\\x76\\x8c\\x99\\xa0\\xe9\\x8e\\x81\\x16\\xba\\x65\\xe7\\x11\\x5e\\xf4\\x6b\\xce\\xc1\\xfb\\x35\\x4d\\xb6\\x8d\\xfe\\xce\\x17\\xc9\\x15\\xfa\\xd0\\x89\\xb9\\xff\\x4a\\xe8\\xee\\x31\\x54\\x18\\xc2\\x91\\x4c\\xec\\x1b\\x16\\x45\\x65\\x7b\\x1d\\x0e\\x6b\\x78\\x84\\x8d\\xb1\\x84\\x23\\xd3\\xac\\x06\\xf7\\x0f\\x53\\xd5\\xe0\\xfe\\x61\\xd2\\xea\\xe6\\xfd\\xc3\\x08\\xed\\x88\\x3e\\xf5\\x90\\xa4\\x8e\\xe0\\x06\\x82\\x00\\x98\\x74\\xf7\\xfc\\x89\\xd1\\x2d\\xd2\\xc7\\x3a\\x73\\x3b\\x58\\xf6\\x3d\\xed\\x06\\x93\\x3f\\x72\\x7f\\x05\\x14\\xf1\\xf7\\xe2\\x1f\\x4e\\x0b\\x81\\x18\\xf6\\x8d\\xb0\\x7c\\x66\\x76\\x8c\\x1c\\x43\\xf0\\x72\\xe6\\x4b\\x61\\x33\\x43\\x21\\xc7\\x7b\\xfa\\xb1\\x48\\x6b\\xb8\\x6e\\x7b\\x0b\\x2a\\xcf\\xeb\\x8c\\xf7\\xf4\\xac\\x88\\xa7\\xa2\\x9d\\xc8\\xde\\xd5\\x5a\\x1d\\xe5\\x7c\\xb8\\xd5\\xae\\x47\\x5a\\xb1\\x5e\\xa7\\x55\\x20\\xb8\\x15\\xe4\\xaa\\xc5\\x90\\x57\\x10\\xdc\\x4a\\x2a\\xd8\\xcb\\x4b\\x6c\\xe5\\x95\\x83\\xa0\\xcd\\xc9\\xcc\\x30\\x4b\\xa4\\xca\\xc7\\x51\\x22\\x58\\xfe\\xa4\\x35\\x33\\x67\\x48\\xf8\\xf8\\x3f\\x76\\xc4\\x72\\x3f\\x2b\\x2b\\xe6\\xbe\\x0a\\x8c\\xf3\\x63\\x02\\xbb\\x5b\\xef\\x06\\x13\\xfd\\x74\\x49\\xd7\\x3d\\xd1\\x8e\\x7f\\x79\\x1e\\x76\\x7b\\x1f\\x6f\\x5d\\x31\\xee\\xf7\\xee\\x35\\xbe\\xb2\\x47\\x49\\xd4\\x5f\\x57\\xe2\\x74\\xb0\\xae\\x04\\xe2\\x03\\x7a\\x21\\xfb\\x02\\xd7\\xfb\\x0c\\xa9\\x2b\\xb1\\x38\\xa4\\xae\\x84\\x90\\x1b\\x44\\xca\\x64\\xfd\\xaf\\xfc\\xce\\xc0\\x3c\\x81\\x5c\\x64\\x31\\xf7\\x6b\\x2b\\xf7\\x72\\x20\\xbf\\x73\\xa1\\x05\\xe2\\x11\\xb8\\x5c\\x50\\x93\\x7c\\x91\\xd3\\xc1\\x3c\\x8f\\x20\\x3c\\xb8\\xd4\\x5f\\x48\\xbe\\xc8\\xe2\\x90\\x7c\\x11\\x11\\x9e\\xff\\x2b\\xde\\x37\\x08\\x0f\\x2e\\x07\\xf7\\x3f\\xe2\\x7d\\x17\\xfe\\xd3\\x2c\\xe7\\xc9\\x3f\\x8f\\x34\\xd1\\x3f\\x8f\\xec\\x4f\\xba\\x16\\xcd\\xa3\\x39\\xce\\xd0\\x81\\x08\\xd9\\xec\\xc0\\x5c\\x92\\x0d\\x62\\x7c\\x6d\\x1c\\x35\\xf2\\x1f\\xbc\\x6a\\x57\\xd0\\x13\\x64\\x51\\xa9\\x5e\\x27\\x13\\x3b\\x2b\\x16\\xd0\\x05\\xb1\\x55\\xb1\\x63\\x63\\xd1\\xa3\\x36\\xa7\\x0d\\xe8\\xd0\\x0f\\xaf\\x8d\\x39\\x63\\x03\\x24\\xfe\\xb5\\x72\\xfc\\x04\\x34\\x55\\x65\\x95\\x18\\x2f\\xdf\\x7c\\xdd\\xbf\\xe8\\x6a\\xff\\xba\\x2e\\x57\\xb3\\x75\\xaf\\x4a\\x6e\\x04\\xd7\\x25\\x6f\\xdb\\x01\\xac\\xa3\\x5a\\x23\\xed\\xcc\\xc5\\x44\\xcf\\x8a\\x06\\xb4\\x36\\x1a\\x14\\x44\\x8f\\x8d\\xa6\\xcf\\xa0\\xdf\\x81\\xed\\x91\\x85\\xf1\\xba\\x95\\xe3\\xf1\\xca\\xe9\\x69\\x8f\\x5b\\xfb\\x6f\\xf2\\xce\\xba\\xa6\\xef\\x8c\\x86\\xfa\\x63\\x9c\\x8f\\x4b\\xbe\\x68\\xb6\\x7e\\x21\\x50\\xa3\\xfd\\x6b\\xe3\\x4d\\xf4\\xaf\\xff\\x4d\\x34\\x8d\\x21\\x58\\x16\\xbd\\x25\\xfa\\x60\\xf4\\xeb\\xd1\\x92\\xff\\x17\\x48\\x1e\\x8b\\xff\\x7f\\xe8\\xd1\\x7e\\x3c\\xc4\\xc4\\x3c\\x82\\xff\\x4f\\x9b\\xc1\\xd1\\x9e\\x5a\\x84\\xe0\\xc8\\xf7\\x26\\x34\\xc1\\xc3\\xff\\x2f\\x28\\xd0\\xdc\\x7d\\xd1\\xdc\\x4f\\xb0\\x25\\x06\\x09\\x6d\\x0b\\xd4\\x62\\x59\\x4d\\x60\\x8a\\x6d\\x42\\x13\\x2c\\x13\\xa8\\xe2\\x91\\xed\\x3f\\x37\\x83\\x24\\x1b\\x74\\x42\\x4d\\x95\\x38\\x5c\\xff\\x8d\\xd0\\x44\\x21\\xa2\\x89\\x74\\xaf\\x93\\xed\\x30\\xab\\x03\\xa2\\x89\\x0e\\x55\\x1d\\xc6\\x76\\x60\\x18\\x3a\\xcf\\x99\\x07\\x74\\xe8\\x87\\x37\\x8f\\x39\\x93\\x07\\xf2\\x9a\\xd1\\x84\\x88\\x8f\\x47\\xd6\\xfe\\x97\\xac\\x8d\\xf3\\x9b\\xfc\\x07\\x36\\x58\\x47\\x6e\\x08\\xa1\\x47\\xb2\\x36\\xbd\\xe1\\xf7\\x77\\xc8\\xda\\x5d\\xd0\\xda\\x1e\\x6f\\x38\\x53\\x30\\xab\\x00\\xad\\x5d\\x50\\x55\\x30\\xb6\\x00\\x2d\\x2d\\xae\\x4b\\x16\\xc5\\x65\\x9a\\x03\\xef\\x2e\\xd4\\xce\\x95\\x8c\\x46\\xf3\\x2c\\xa4\\x04\\xe8\\x7f\\x02\\x52\\x7c\\xda\\x82\\xf1\\xf7\\x42\\xfd\\x39\\x0e\\xc7\\xe8\\xef\\x16\\xc7\\xa4\\x09\\x3a\\x40\\xa7\\x4e\\x81\\x1c\\x09\\x5c\\x2f\\xe1\\x30\\xb2\\x19\\xdc\\x54\\x6b\\x6f\\x14\\x13\\xe5\\x8c\\x1a\\xcc\\x53\\xce\\x58\\x6f\\x6c\\x4c\\x35\\x1f\\x1b\\x8b\\xb4\\x3b\\x53\\x15\\x6f\\xd0\\xb0\\x12\\x1b\\x32\\x12\\x83\\x7e\\x1d\\x41\\x13\\x26\\x2d\\x7a\\x32\\x82\\xd7\\xc2\\x52\\xf1\\x26\\x4b\\x68\\x3e\\xd3\\x3c\\x12\\x03\\x7f\\xb1\\x7d\\x2a\\x22\\x2a\\x2c\\xf0\\xfb\\x07\\x62\\x48\\xc6\\xcb\\x67\\x0c\\x21\\x71\\x18\\x34\\xbc\\x13\\x01\\x4c\\x5a\\x12\\x8d\\x01\\xde\\x58\\x3d\\xe9\\xb2\\x18\\x8e\\x71\\xf2\\xf5\\x60\\x18\\x86\\x72\\x75\\xb7\\xcf\\x89\\x3c\\xdc\\x2b\\xf6\\x20\\xc5\\xb9\\x93\\x5e\\xaf\\xcb\\xe9\\x8c\\xa0\\x22\\x62\\xca\\xf8\\x08\\x07\\xa3\\x93\\x98\\xb4\\xea\\x04\\x1c\\xe8\\x69\\x8b\\xa3\\xbc\\x92\\x14\\xa4\\x3e\\x5b\\x49\\x02\\xe4\\x15\\xb1\\xc9\\x8f\\x3f\\xa0\\xd8\\x7f\\xb3\\x8d\\xf4\\x1b\\x57\\xf3\\x50\\xb3\\xb6\\xd8\\x8a\\xc4\\xb1\\x05\\x48\\xc5\\x17\\x63\\x2e\\x73\\x49\\xf5\\x22\\xb1\\x21\\x69\\x47\\xc6\\x9a\\x44\\xb7\\x6b\\x18\\xbe\\x6c\\xfd\\xa2\\x9f\\xd7\\x8c\\x58\\x62\\xe3\\x64\\x11\\x0a\\xa0\\xc8\\xd9\\xd1\\xdb\\x30\\xa8\\x3d\\xfc\\xf9\\x22\\x9c\\xcc\\x00\\x27\\x5d\\xd4\\x63\\x4d\\xd1\\xc3\\x7f\\x98\\x17\\x37\\xcd\\xd8\\xb6\\xa9\\x78\\x5e\\xc9\\x07\\xdd\\xcb\\x5f\\xde\\xfb\\x16\\x28\\x7a\\xa9\\xa6\\x32\\xb1\\x2e\\xec\\xfe\\xc3\\x33\\x95\\xbb\\xf7\\x53\\x8d\\xae\\x9c\\xcc\\xcd\\x8c\\xea\\x0b\\xf8\\xdf\\xbb\\x67\\x47\\x9f\\xa7\\x02\\x35\\x2c\\x4e\\x07\\x6b\\x64\\x04\\x79\\xe4\\xff\\x51\\x6b\\x63\\xe1\\x63\\x6a\\x6d\\x90\\xd8\\x06\\xc9\\x6e\\x21\\xff\\x5a\\x98\\x07\\x7d\\xda\\xb4\\x0e\\x05\\x89\\x43\\x90\\xec\\xc1\\x39\\xd7\\x54\\x8c\\xd7\\x20\\xc5\\x91\\x08\\x32\\xad\\x51\\x3b\\x5b\\xaf\\xe6\\xf0\\x0d\\x8d\\x90\\xef\\x98\\x69\\x43\\x68\\x0b\\xc6\\x22\\x88\\xdd\\x39\\x99\\x18\\x4f\\x6e\\xa6\\x15\\x9b\\x20\\xfe\\x3e\\x9d\\x12\\x10\\xbe\\xc4\\xdf\\xa7\\x73\\xe9\\xad\\x6b\\xdc\\xd6\\x53\\xec\\xad\\x2d\\x9c\\xd0\\xb1\\xb3\\xd0\\x97\\x2d\\xc4\\x20\\x70\\xab\\xfe\\x8b\\x98\\x3f\\x3f\\x42\\x78\\xd7\\xae\\xc8\\xa6\\x38\\x45\\x72\\x9b\\x32\\x84\\xbc\\x88\\x21\\xc2\\xe7\\xb8\\x67\\xe2\\x33\\x24\\xc7\\xab\\xbc\\xc9\\xe7\\x64\\xbc\\xa4\\x56\\x27\\x8c\\x8f\\xc3\\x9f\\x93\\xec\\x93\\x68\\x92\\x7d\\xc2\\xa4\\xa5\\x71\\xc1\\xf7\\x27\\x73\\x70\\x15\\x3a\\x61\\x0e\\x61\\xac\\x3f\\x0b\\x85\\x41\\x4a\\xbc\\xff\\x9c\\xb4\\x83\\x35\\xec\\x2e\\xa2\\x73\\x3f\\x25\\xe8\\xdc\\xd4\\x21\\x7f\\x96\\x6d\\xe0\\x2c\\xfd\\x81\\xe6\\x5a\\x81\\xf1\\x4d\\xf7\\x14\\xf0\\x2d\\x7d\\xa4\\x46\\x11\\xc9\\x89\\xff\\x23\\x24\\x27\\x7e\\xe1\\xf0\\x66\\x39\\xf1\\x48\\x3f\\xc1\\xfd\\x7a\\x4b\\x49\\x3f\\x74\\x1c\\x15\\x9a\\xe5\\x75\\xd8\\xad\\xe1\\x48\\x17\\x0e\\x67\\x2c\\x0e\\xb3\\x03\\xe9\\x74\\x06\\x89\\x1a\\x97\\x18\\xe6\\x34\\xc1\\x00\\xd1\\x90\\x98\\x43\\x7f\\x9c\\xa8\\x24\\x11\\x80\\x4c\\x27\\x13\\xa8\\x44\\x6a\\x40\\x27\\x4c\\xf4\\x96\\xd1\\x87\\x16\\xdd\\xac\\x7f\\x08\\x24\\x5f\\x02\\xf3\\x57\\xc9\\x69\\xe0\\x40\\x98\\xab\\x77\\x71\\x26\\xbd\\xd4\\xb7\\x29\\x1e\\x40\\xf8\\x45\\x32\\x1d\\x17\\x07\\x29\\x30\\x98\\xd9\\x09\\xff\\x83\\xdd\\x7e\\xe4\\x0a\\x61\\xef\\xda\\xea\\x87\\x73\\xdb\\x6d\\x01\\x2a\\x5f\\xda\\x25\\x66\\xe5\\xed\\xb7\\x1f\\x8e\\xf0\\xc3\\xc9\\xde\\x0f\\x85\\xd3\\x66\\x0d\\xb3\\xd6\\xf0\\x61\\x5a\\xb3\\xdd\\x64\\xaf\\x41\\xba\\xfb\\xff\\x1b\\x9c\\x31\\xae\\x50\\x38\\x69\\x63\\xa0\\x95\\x1c\\x7d\\x64\\xee\\xb7\\xcb\\x70\\x57\\xa3\\xdb\\x40\\x75\\x3d\\x09\\xc1\\x69\\x4d\\x1b\\xd8\\x3e\\xb6\\x53\\x1c\\xd8\\x0c\\xa1\\x07\\xfc\\x17\\x07\\x6b\\x41\\x5a\\x3c\\x73\\x00\\x3e\\x84\\x1d\\x7e\\x41\\x50\\xf6\\x19\\x8a\\xa0\\xac\\x3d\\x02\\x7d\\x92\\xb3\\xf4\\xfe\\x8b\\xe7\\x7d\\x7d\\x2f\\x23\\x18\\xff\\x43\\x36\\x0e\\x8d\\x74\\x3d\\x03\\xe5\\x44\\x27\\xa5\\xbd\\x37\\xd6\\x13\\xeb\\x8e\\x2d\\xe5\\xdd\\xda\\xe8\\x78\\x57\\x7c\\x29\\xef\\x32\\x6b\\x28\\xa0\\x62\\x14\\x0a\\x0b\\xee\\xc8\\xcd\\x20\\x83\\x9a\\x79\\x34\\xd2\\xb4\\x09\\xc4\\xae\\x5c\\x49\\xb0\\x42\\x13\\x89\\xf3\\x68\\x52\\xa0\\x29\\xc7\\x10\\x84\\x1f\\x78\\xa4\\xed\\x2a\\xba\\x77\\x1b\\x7e\\x70\\x54\\x59\\xa4\\xac\\xfb\\xa5\\x7b\\x0e\\x75\\x27\\xad\\x2d\\xa5\\x3c\\xcf\\x64\\x4c\\xea\\xd9\\x7a\\x2a\\xb2\\xde\\xe0\\xed\\x78\\xf0\\x77\\x1c\\x2c\\x01\\x9d\\xe3\\x73\\xba\\x2e\\xdb\\xf2\\x03\\x98\\x79\\xa9\\x7d\\x36\\xae\\xcf\\xb4\\x8a\\x67\\x54\\x9d\\xf2\\x77\\xc2\\xb7\\x16\\x15\\x65\\x1c\\x01\\x9d\\x7c\\x03\\xde\\xa0\\x0f\\x5c\\x3c\\xeb\\xeb\\x7d\\x39\\xa4\\x7e\\xcd\\x0b\\xfe\\xb3\\x4f\\x4d\\xa1\\x9e\\x11\\xf2\\x75\\xfc\\x52\\x35\\x70\\xf6\\x8f\\xf8\\xcf\\x3e\\x35\\x65\\x32\\x39\\xfb\\xd9\\xd9\\x01\\x3a\\x03\\x8d\\xbf\\x35\\xfe\\xc2\\xde\\x41\\xfb\\x17\\x41\\x22\\xe0\\x8d\\x83\\xf8\\x30\\x49\\x98\\xc4\\x6c\\xb3\\x30\\x66\\x83\\x8a\\xae\\xe6\\x55\\xfe\\x0b\\x0e\\xb1\\xca\\x2d\\xb6\\xd8\\xfd\\xb6\\x02\\x2d\\xf4\\xa5\\xcc\\x8d\\x21\\xfa\\x39\\xbe\\xfe\\x92\\xd0\\xef\\xe4\\xa6\\xe4\\x3b\\x26\\xff\\x31\\x29\\x76\\xf8\\xe6\\x99\\xf3\\x26\\x6a\\xe2\\x5e\\x19\\xf7\\x3b\\x90\\xfc\\x3e\\xec\\x95\\x61\\x3f\\x1f\\x34\\x03\\x7b\\xc5\\x98\\x95\\xf4\\x00\\xdf\\x4b\\x27\\xde\\xa9\\x18\\x3d\\x23\\x79\\xda\\xeb\\xbe\\xb3\\xe8\\xb0\\xff\\x42\\x1b\\x1f\\x4e\\x1b\\x43\\x78\\xf5\\x67\\x70\\x35\\xfb\\x26\\x92\\x31\\x3a\\x04\\x0d\\xe2\\x31\\x58\\xa6\\x68\\xd8\\x30\\xc9\\x20\\x5e\\x29\\x0f\\x0b\\x93\\xc9\\x19\\x19\\x95\\x8a\\x9d\\x68\\x06\\x7f\\xe3\\x77\\x60\\xa2\\x35\\x34\\xf1\\x1e\\x48\\x45\\xdf\\x81\\x10\\x64\\xd2\\x96\\x65\\xdf\\x2c\\x9a\\xdb\\x70\\x1f\\xde\\x4e\\x86\\x5f\\x81\\xee\\x40\\xe7\\x2c\\xdf\\x3b\\xe1\\xb9\\x7d\\xf0\\xc3\\xa2\\x1e\\xc3\\xd6\\xdb\\xea\\x4f\\x6e\\x9e\\xd8\\x3d\\x81\\x79\\x7d\\x27\\xf4\\x5d\\x7b\\x69\\xe3\\xbc\\xdb\\x92\\xc3\\x2f\\x0c\\xee\\x77\\xe3\\xc3\\x61\\xc3\\x37\\x3d\\xed\\x8b\\x1d\\x36\\x69\\xd6\\xba\\xd7\\x42\\x72\\xfd\\x75\\x62\\xce\\x3d\\xd2\\x44\\x8e\\x22\\x29\\xf8\\x68\\xce\\xfd\\xf4\\x40\\xae\\xbf\\x84\\xea\\xb0\\xb7\\x59\\x5d\\x33\\x8a\\x25\\xf2\\xfe\\x5d\\xc4\\x37\\xf5\\x54\\x18\\x9a\\x13\\x67\\xb5\\xb4\\x60\\x58\\x33\\x5b\\xcd\\x5b\\xcc\\x66\\x20\\xb5\\x7b\\xe5\\xaa\\x22\\xbb\\x3d\\x3c\\x3c\\x3a\\x7a\\x9c\\xfa\\x3d\\x35\\x8d\\x9b\\xae\\x4b\\xe3\\xe3\\x0d\\x94\\x14\\xb7\\xea\\x30\\x08\\x6d\\xfa\\xf1\\xb7\\xee\\x52\\x65\\x65\\x46\\x6a\\x46\\x6a\\x26\\x4e\\xd5\\xc9\\xfb\\xff\\x38\\xfb\\x0e\\xb8\\xa6\\xae\\xf6\\xff\\x7b\\xee\\x48\\x20\\x64\\x4f\\x92\\xb0\\x02\\x84\\xb0\\x64\\x05\\x88\\x20\\x42\\x14\\x70\\xa0\\x20\\xc3\\x41\\x54\\x44\\x70\\x21\\x88\\x0a\\x6e\\xc5\\xbd\\xb7\\x75\\x5b\\x77\\xb1\\xb5\\xad\\xd5\\xba\\x57\\xad\\x5a\\x6b\\xed\\x70\\x56\\x5b\\x3b\\xb5\\xbe\\xad\\xdd\\x7b\\xbc\\x6f\\x5b\\x35\\x87\\xff\\x39\\xe7\\xde\\x84\\x80\\xf6\\x7d\\xff\\x9f\\x5f\\xfb\\x31\\x48\\xbc\\xe7\\x9e\\xe7\\xac\\x67\\x9d\\xe7\\xf9\\x3e\\xde\\x20\\x2b\\x8c\\x90\\x83\\xd8\\xac\\xa7\\x88\\x8d\\x4e\\xcb\\xc9\\x01\\xfa\\x26\\x8a\\x21\\x28\\x13\\x86\\xd6\\x6c\\x9d\\x6c\\xc0\\xac\\x7b\\x17\\x7e\\x6c\\x85\\x09\\x4b\\xe1\\x47\\xf4\\xb4\\xa0\\xfc\\x05\\x65\\x55\\xe3\\xe0\\x67\\xda\\xdc\\xfd\\xa0\\x4b\\xac\\x46\\x2e\\x02\\x2a\\x8c\\x3e\\xb1\\x30\\x20\\x25\\x3a\\xb3\\x73\\x52\\x9c\\xb5\\xa3\\x91\\xcd\\x7d\\xf8\\x2a\\x10\\xc3\\xbf\\xd9\\xae\\x51\\xa9\\x99\\x8d\\x5d\\x06\\xf4\\x1a\\xbc\\xaf\\xc3\\x12\\x78\\x1a\\xd8\\xd7\\xd1\\x7e\\xa1\\x1f\\xc4\\x5d\\xfe\\x3a\\x24\\x34\\x3d\\xd8\\x1c\\x16\\x68\\x13\\x74\\x15\\x3e\\x37\\x14\\xeb\\x2a\\x36\\x7a\\x6b\\xcb\\xc7\\x2d\\xf5\\x64\\x4f\\xee\\xa1\\xfe\\xa4\\xe2\\x9d\\x41\\x6c\\x19\\x43\\x17\\x2b\\xd9\\xb2\\x17\\xca\\xca\\xb2\\xb2\\xac\\x0c\\x9d\\x15\\x96\\x95\\x94\\x45\\x6f\\xe5\\xa1\\x70\\x71\\xb6\\x5d\\x1c\\xa9\\x10\\x91\\xd6\\x8a\\x95\\xc7\\xe5\\x91\\x7c\\xb0\\x25\\xfc\\xde\\x06\\x56\\x3e\\x2f\\xd8\\x07\\x57\\x84\\xd7\\x59\\x0e\\x0b\\x3a\\x0b\\xda\\xdb\\x63\\x09\\xb7\\xce\\xcd\\xf5\\xe1\\xb3\\x04\\x5b\\x9b\\xbc\\xe7\\x69\\xca\\x83\\xf7\\x8c\\xdf\\xc3\\x44\\x45\\x79\\xd7\\x90\\x60\\x48\\x92\\xf7\\x9c\\xe6\\xdf\\x33\\x9c\\xbc\\xc7\\x17\\xdb\\x4b\\xa8\\x59\\xf0\\xaa\\x47\\x67\\xa3\\x6f\\xd0\\x46\\xea\\x57\\xa2\\xb3\\x99\\x4c\\xed\\x75\\xb6\\x12\\x92\\x6b\\x9a\\x27\\x3c\\x27\\x16\\x74\\xbb\\xbc\\x3c\\x9f\\x1c\\x3f\\xe1\\x7d\\xad\\x58\\x80\\x37\\xe9\\xf9\\xd4\\x6d\\x3e\\x63\\xbe\\x1d\\xa6\\xe0\\x2d\\xef\\xbb\\x6e\\xd2\\xa5\\xbc\\x95\\x94\\x9f\\xef\\xc5\\x91\\x08\\x23\\x98\\x5d\\xaf\\x7a\\x31\\xbb\\x6e\\xd0\\xb9\\x84\\x2e\\xda\\x6b\\x24\\xf9\\x62\\xcf\\x5e\\x11\\x70\\xbb\\xf0\\x73\\x56\\x81\\x2e\\x4f\\xfa\\xf0\\x93\\x31\\xcc\\x6e\\xd2\\xd3\\x09\\x5d\\xbe\\xb9\\x9a\\xfc\\xbb\\xae\\x7b\\xdf\\x75\\x93\\xae\\x6d\\x79\\x84\\xe9\\x6a\\x95\\x93\\x82\\x2d\\xf9\\xaa\\x17\\xb3\\xe7\\x06\\xd2\\xbb\\x79\\xba\\xda\\xea\\xb8\\x42\\x7c\\xa1\\x60\\x4f\\xf2\\xcf\\xf1\\x39\\x91\\x72\\xb9\\x2f\\x5d\\xed\\xb1\\x87\\x6e\\xd2\\x8b\\x1f\\xa3\\x0b\\xbf\\xab\\x90\\xd0\\xf5\\xbb\\x87\\x76\\x42\\x17\\xd0\\xeb\\xbd\\x74\\xf1\\x58\\x06\\xaf\\x7a\\x31\\x08\\x6e\\xd0\\x16\\x61\\x1d\\x6d\\xb6\\x76\\x18\\x04\\x48\\x1f\\xb8\\xe2\\xc5\\x20\\x68\\x5d\\xc7\\xa8\\x28\\x5f\\xba\\x04\\x6c\\x04\\xa5\\xe7\\x7d\\x37\\xe9\\x45\\xfc\\x3a\\xfa\\xe8\\x5f\\xfc\\xbb\\x6e\\x79\\xdf\\x75\\x93\\xe8\\xfb\\xe8\\x19\\x9b\\xad\\xcd\\x3a\\xde\\x25\\x74\\xa5\\xb5\\xa3\\x2b\\x32\\xd2\\x97\\x2e\\x3e\\x27\\xfd\\x8a\\x90\\x93\\xde\\x4a\\x17\\x0d\\xc2\\xc3\\xdb\\xaf\\xa3\\x6f\\x7e\\x3b\\xee\\xf3\\x36\\x8f\\x58\\xd7\\x2e\\xbf\\xfd\\xba\\xf7\\x5d\\x37\\xe9\\x25\\xfc\\x7c\\x79\\xd0\\xdc\\xbc\\x36\\xf8\\xab\\x4a\\x4f\\x6e\\xeb\\x0d\\xda\\x2e\\xac\\x63\\xdb\\x7d\\xcf\\xdb\\xe1\\x57\\xbc\\xb9\\xad\\x37\\x68\\x95\\x40\\x97\\xe7\\x18\\xb5\\xb1\\xe9\\xbd\\xef\\xf3\\xae\\xa3\\x4f\\xde\\x3d\\xff\\xae\\x5b\\x4a\\xcf\\xbb\\x6e\\xd2\\xae\\xb6\\xf9\\xda\\x24\\xcf\\x3d\\xa3\\x35\\xcf\\x5d\\x29\\xa6\\xbf\\xc6\\x73\\x4a\\x72\\xda\\x33\\x5a\\x73\\xda\\x7d\\xbe\\x3f\\x00\\x33\\x7c\\xf2\\xca\\x5b\\xbf\\xff\\x12\\x3d\\xdf\\x9a\\x57\\x8e\\xbf\\x27\\x31\\x36\\x2d\\xb7\\xe1\\x24\\xf6\\x1d\\x52\\x6f\\x33\\xc1\\x69\\xb0\\xca\\x14\\x4a\\x45\\x95\\x0b\\xed\\x5c\\x53\\x70\\x70\\x60\\xa5\\x2b\\x98\\xe5\\x90\\x44\\xe2\\x3c\\xf5\\xd2\\xf8\\xab\\x11\\x4f\\xec\\xbb\\x56\\x0e\\x58\\xce\\x11\\x0f\\xc8\\x35\\xb6\\x88\\x73\\xa4\\x47\\x0a\\xd7\\x24\\x62\\x5b\\xba\\x45\\x88\\xbb\\xd1\\xb3\\x7d\\x96\\xfc\\x05\\x47\\xc1\\x5d\\x09\\x40\\x07\\x74\\xcd\\x03\\xcd\\xfb\\xdc\\x7f\\xc6\\x9f\\x03\\xa9\\xef\\xf4\\x19\\x5b\\xff\\xca\\xd6\\x97\\x7e\\x07\\x7d\\x3e\\xf9\\x4f\\x48\\x7a\\x41\\x5c\\x11\\x78\\x7a\\xd3\\x2f\\x67\\xb6\\x75\\xfb\\x31\\xab\\x76\\xea\\xd3\\x43\\xab\\x62\\x07\\x2c\\xbe\\x97\\x3a\\x62\\x70\\xdd\\xb0\\xc2\\xc1\\x3b\\x57\\xff\\x79\\x72\\x7b\\xaf\\x9a\\x3e\\x5d\\x22\\xaa\\x09\\xbd\\xbf\\xc2\\x12\\xb6\\x91\\x2d\\xc2\\x36\\x8e\\xd3\\x18\\xa2\\x0c\\xb3\\x84\\x95\\xba\\x2c\\x16\\x83\\xc4\\x10\\x58\\xea\\x32\\x04\\x89\\x24\\x12\\xa6\\x04\\x29\\x36\\xed\\xe2\\x74\\xdb\\x42\\x92\\xd8\\xbc\\x97\\x38\\xf8\\x43\\x0a\\xf0\\x20\\xf0\\xbd\\x00\\x1a\\x43\\x36\\xcb\\x54\\x0e\\x29\\xee\\xb7\\x20\\xf2\\x93\\x34\\x60\\x38\\x73\\xf6\\x56\\xe9\\xf8\\xb2\\x59\\xd0\\x0d\\x57\\xc2\\xcf\\x63\\x41\\x0d\\x18\\x26\\x0f\\x38\\x06\\x4b\\x63\\xb7\\x5d\\xfd\\xac\\x3c\\x8e\\x61\\xbb\\xf5\\x76\\x95\\xa6\\xaf\\xda\\xb9\\x7d\\xf5\\xf8\\x6d\\x7d\\xf2\\xb6\\xac\\xfc\\xd7\\xb3\\x23\\xc3\\x3e\\x0a\\xf9\\xe8\\x78\\x64\\x57\\x45\\x5e\\x8f\\xdb\\xc6\\xd8\\x82\\xec\\x81\\x4f\\xc0\\xbd\\x43\\xf6\\x06\\xd3\\xd6\\xd7\\x24\\xe0\\xde\\xbd\\x87\\xe4\\xa6\\x99\\x8f\\x1e\\x88\\x08\\x9d\\x63\\x09\\xe6\\xf4\\x8c\\x99\\x91\\xe8\\x74\\x8c\\xd2\\x07\\xf0\\x8e\\xc0\\xdd\\x99\\x48\\x49\\x56\\x6f\\x4c\\xe9\\x13\\x00\\xef\\xbc\\x26\\x08\\x01\\xbc\\x5b\\xb8\\x8c\\x00\\xde\\x29\\xf3\\xf3\\x6a\\x76\\x06\\xfa\\x00\\xde\\x81\\x37\\xbc\\xc6\\x08\\xc6\\xbb\\x5b\\x30\\xa7\\x67\\x19\\xc6\\xbb\\x2b\\x4d\\xe9\\xd1\\xf5\\xe8\\x82\\x56\\xbc\\xbb\\x64\\x8f\\x61\\x02\\x28\\x0b\\xd2\\xe5\\xb7\\xa0\\xbd\\xa2\\xc3\\x35\\xf4\\x35\\x66\\x19\\x53\\xe9\\x92\\xb1\\x12\\xb1\\x9f\\x27\\xf8\\xcf\\xe3\\x99\\x26\\x9b\\x80\\x11\\x54\\x15\\x0f\\x7c\\x1c\\x53\\xe5\\xec\\x5c\\x5f\\xfb\\x06\\x1f\\xaf\\xa6\\x2d\\xd9\\x99\\x03\\x92\\xd4\\x2d\\xf0\\xc3\\x6f\\x8c\\xcc\\x3b\\xae\\xe2\\xa6\\x47\\xfe\\x5c\\x7e\\x4d\\x37\\x07\\xbc\\xd4\\x7b\\xf0\\x83\\xcf\\xd8\\xe7\\x67\\x91\\x1c\\x59\\x29\\xea\\xcf\\x89\\x74\\xd9\\x48\\xa4\\x97\\x74\\xa6\\x8a\\x9c\\xb1\\x11\\x14\\x9d\\x56\\xe6\\x0a\\x50\\x52\\x1d\\x59\\xda\\x5f\\x6b\\x31\\x84\\xd0\\xb4\\x7f\\x44\\x08\\x52\\x6b\\x43\\x94\\x86\\x04\\x52\\x6c\\xbc\\x53\\xb1\\x4b\\x21\\x97\\xfb\\xe3\\x74\\x0d\\x95\\xbd\\x4d\\xa6\\x67\\x60\\xa2\\x8a\\x44\\x51\\x1b\\x32\\x84\\x28\\x07\\x1e\\x8a\\x97\\x78\\x81\\xe5\\x40\\x6c\\x73\\x44\\xa4\\xa5\\x3a\\xda\\x18\\xbc\\x48\\xf1\\xf3\\x09\\x3e\\xcd\\x06\\xc2\\xf6\\x21\\x5a\\x2f\\xfd\\x5a\\xd1\\xa0\\xe1\\x8d\\x83\\x76\\x57\\xad\\xaf\\xb2\\x38\\xe4\\x0b\\x5e\\x03\\x41\\x71\\x4b\\x8b\\x46\\x8e\\x99\\xf2\\x66\\x53\\xaf\\xbe\\x52\\xc5\\x90\\x6f\\xe0\\x8c\\xc4\\xf8\\xbc\\x51\\x59\\xfd\\xb3\\xc6\\x75\\x01\\x49\\x61\\xa6\\xb0\\xb2\\xd0\\xce\\x71\\x71\\x19\\x2b\\xed\\xb3\\xc6\\x35\\xec\\x1f\\x32\\x3f\\xb6\\x93\\x76\\xd2\\x57\\x12\\xe7\\x0b\\x83\\x6a\\xce\\xbc\\x74\\x13\\x8c\\x3e\\x37\\xa8\\x76\\x08\\xf8\\xf2\\xd1\\x83\\xaa\\x9a\\xf5\\xf0\\xde\\x98\\xd7\\x97\\xfd\\xee\\x9e\\x65\\x8b\\xb2\\xc7\\xdb\\xbb\\x17\\xf1\\x31\\x83\\x41\\x88\\x4f\\x7c\\xc8\\x6d\\x40\\xbb\\x23\\x09\\x67\\x87\\xf8\\x89\\xab\\x5d\\x7e\\x11\\x41\\xf2\\x18\\x86\\x89\\xa9\\x76\\x31\\x8c\\x3e\\x22\\x22\\xb2\\xda\\x15\\xc1\\xe8\\x13\\xaa\\x5d\\x7a\\xcd\\xe3\\x05\\x97\\x71\\xf4\\x2f\\xd1\\x20\\xf5\\xf8\\xda\\x3c\\xc2\\xe1\\x53\\x40\\x4e\\xb8\\x97\\x4d\\xcf\\x21\\xc9\\x5a\\x91\\x76\\x71\\xb8\\x27\\xeb\\x19\\xe7\\xe0\\x7e\\x38\\xb2\\x1a\\x68\\x96\\xdb\\xce\\x5e\\xde\\xfc\\xf4\\xb0\\xc6\\xcd\\xf0\\xee\\xa5\\xcf\\xdd\\xc7\\x77\\x81\\x4a\\x17\\x30\\xfd\\x64\\xbb\\x08\\xe6\\x4d\\x6c\\x5c\\xbb\\xeb\\xf3\\xcd\\x3b\\x98\\x5b\\xf9\\x3d\\x00\\xbb\\xf0\\xd2\\xf6\\x75\\x4b\\x2e\\x25\\xb1\\xfa\\x05\\x8d\\x1b\\xef\\x4e\\x39\\xbc\\xf7\\x99\\x8f\\x2c\\x6c\\xc8\\xec\\x92\\x03\\x57\\xde\\x74\\x17\\xf5\\x2b\\x5f\\xbb\\xe4\\xd8\\x53\\xfc\\x58\\xf4\\x68\\x2c\\x9f\\x72\\x0b\\x29\\x1b\\x65\\xa7\\x72\\x9c\\x11\\x46\\x93\\x49\\x1a\\x26\\xd6\\x26\\x68\\xd1\\xf2\\x69\\xb5\\x94\\x2c\\x4c\\x5a\\x2c\\x9d\\x23\\x65\\x14\\x52\\xe0\\xcf\\x48\\xa9\\x68\\x2f\\xb2\\x35\\x0f\\xea\\xef\\xcd\\xde\\xc6\\xf7\\x55\\x38\\x02\\x29\\xd2\\x43\\xbb\\xd2\\x6a\\x90\\x0b\\x06\\x09\\xe2\\x46\\x0e\\x32\\x36\\x05\\x9f\\x67\\xc2\\xda\\x3c\\xc1\\x73\\x38\\x0f\\xeb\\xe1\\x97\\x2d\\xd4\\x2b\\x3b\\x40\\xd9\\x30\\x30\\xb5\\xa8\\xb0\\x73\\x48\\x5d\\xd5\\x82\\x8d\\xa5\\x8b\\xc6\\x36\\xed\\x5a\\x03\\x86\\x37\\x6e\\x87\\x77\\x76\\x6f\\xde\\x3b\\x79\\xec\\xa6\\xe7\\x26\\x68\\x8f\\x37\\xef\\xf8\\x28\\x98\\x0d\\x9f\\x5f\\x09\\xb4\\x6b\\xd6\\xa4\\x75\\x2f\\xcf\\xe9\\xdf\\xef\\xa9\\x05\\x43\\x7b\\xae\\x49\\xda\\x35\\x72\\xf6\\x79\\x3b\\xab\\x5d\\x36\\x7e\\xc5\\xa7\\x53\\xce\\x6c\\x5c\\x51\\x3e\\x70\\xd5\\xd2\\x21\\x95\\x42\\x7c\\x07\\xfc\\x9e\\xc4\\x77\\x68\\x71\\xfd\\x7b\\x11\\x83\\x78\\x89\\x8b\\x65\\x70\\xfd\\x70\\xa4\\xdb\\x07\\x90\\xeb\\xb6\\x8b\\xbe\\x96\\x55\\x84\\xc7\\x70\\xe2\\x17\\xc4\\x46\\xaa\\x13\\xaa\\x63\\x98\\x3e\\x7c\\x28\\xc7\\xa3\\x83\\x60\\xef\\xa2\\xcd\\x89\\x09\\x9f\\xea\\xa3\\x26\\xbc\\xcb\\xac\\xfc\\xfa\\xea\\xa3\\x71\\x53\\xea\\x52\\xd6\\xf7\\xb5\\xd8\\x4a\\xad\\xfd\\x85\\xf3\\xf8\\x3d\\x89\\xe7\\x50\\x7b\\xfa\\x2b\\x13\\xea\\x95\\x97\\xb9\\xa4\\x12\\xe2\\xde\\xb9\\xf8\\xc4\\x9a\\xe5\\x61\\x88\\x6f\\xf0\\xbd\\xf9\\x16\\x2f\\x07\\xd5\\x20\\xa2\\xff\\x6d\\xd4\\x99\\x50\\xc2\\xfc\\x9d\\x41\\xaf\\x7a\\xba\\xf2\\xea\\x71\\xf5\\x5e\\x3d\\xee\\x69\\x64\\xb7\\xec\\xc3\\x72\\x56\\xad\\x6e\\xa7\\xc7\\x5d\\xf0\\xfa\\xde\\x9f\\xe6\\x31\\x9d\\xb3\\xb2\\xda\\xe0\\xd7\\xe4\\xfa\\x62\\xb5\\x52\\xd3\\xc1\\x51\\x01\\x5b\\x34\\xd7\\x07\\xab\\x15\\x7f\\xdf\\xd8\\xaa\\x77\\x10\\x1f\\x62\\x4a\\x7b\\xff\\x65\\x1b\\xdf\\x32\\xd1\\x3d\\x88\\x0f\\xb1\\xd4\\xc7\\xa7\\x5a\\x00\\xca\\x79\\x9f\\x36\\x6b\\x9d\\x6d\\x05\\x74\\x8e\\xb5\\xd2\\x3a\\xce\\xca\\x30\\xb4\\x39\\xcc\\x0c\\x94\\xe8\\xc3\\x69\\x66\\xce\\x9b\\x81\\xf9\\x09\\x3e\\xed\\xf6\\xfd\\xfe\\xed\\xf5\\x5d\\x46\\x47\\x3f\\xa6\\x3f\\x79\\xfb\\xb5\\xd1\\x17\\xd9\\xd1\\x70\\x32\\xe9\\x79\\x28\\xea\\xb9\\x9f\\xb3\\x0b\\xe3\\x98\\xed\\x40\\x3d\\x3b\\x2a\\x1d\\xe3\\x1c\\xa8\\x63\\x9d\\xd9\\x6a\\xa6\\x53\\xcd\\x79\\xe6\\xa3\\xe6\\x8b\\xe6\\xf7\\xcc\\xf7\\xcd\\xa2\\x24\\x73\\xb1\\x79\\xbc\\x99\\xc1\\xe4\\x24\\x99\\x87\\x9a\\x0f\\x9a\\xb9\\xee\\x66\\xc0\\xe4\\x9a\\x01\\xa2\\x91\\x26\\xa4\\x55\\x36\\x36\\x54\\x36\\x34\\x34\\x92\\x42\\x70\\x6d\\xe8\\x13\\xad\\xf7\\xea\\x77\\x48\\xeb\\xa7\\x6e\\x3e\\x51\\x1f\\xbb\\xe0\\xbd\\x7b\\x78\\x9a\\xd7\\xc6\\x3c\\x37\\xa2\\x4f\\x9c\\xdf\\x56\\x1f\\xad\\xe7\\x12\\xe3\\x49\\xe3\\x8c\\x42\\xef\\x7a\\xdb\\x3b\\xbf\\x56\\xa7\\x91\\xb1\\xcc\\xb6\\xa0\\x51\\x5a\\x2a\\x2d\\xe3\\x2c\\x68\\x94\\xc2\\xdc\\x9a\\x7d\\x7d\\xb4\\x94\\x0f\\x66\\x46\\xbd\\x07\\x33\\x03\\xbd\\xc1\\x42\\x7c\\xb4\\x3e\\xd8\\x9a\\x02\\xf6\\xc6\\x48\\x01\\x7b\\x03\\x3f\\x13\\x47\\xb5\\x45\\x49\\xa1\\x5b\\xde\\x80\\x03\\x98\\x07\\x04\\x83\\x1d\\xe7\\x17\\x68\\x19\\x73\\x99\\x0b\\xa8\\x65\\x0c\\xc3\\x48\\x0c\\x94\\x04\\x87\\x80\\x4b\\x3c\\xc9\\x82\\x24\\x14\\x85\\xa4\\x7b\\xb6\\x72\\x7c\\x5c\\x39\\x21\\x1b\\x60\\x88\\x7c\\x87\\xbf\\xc0\\xd6\\xc9\\x5d\\x1c\\x7d\\x11\\xfe\\x7b\\xde\\x9a\\xd5\\xbb\\x26\\x5c\\x6b\\x1a\\xb9\\xaf\\x74\\xd9\\x72\\xd5\\xb2\\x0c\\x4e\\x09\\xc4\\x60\\x48\\x5e\\x4a\\xc6\\xbc\\x04\\x6e\\x7c\\xcf\\x9e\\xe5\\xdc\\x95\\x07\\xcd\\x25\\x8b\\xa6\\xd4\\x3f\\x3b\\xd0\\xd9\\x7b\\xd1\\x26\\xed\\xfc\\xe4\\xe0\\x90\\xdc\\x5e\\x5c\\xf7\\xbf\\xaf\\x27\\xc4\\xa5\\x74\\xb0\\x77\\xef\\x86\\x68\\xfb\\x1b\\xf6\\x65\\x7b\\xb3\\x7d\\x48\\x8d\\x93\\x6c\\x67\\x78\\x60\\x74\\x64\\x0a\\x6b\\x31\\x59\\xd2\\x8b\\x5d\\x56\\x8b\\xd9\\x94\\x54\\xe6\\x52\\xa8\\x4d\\x26\\x09\\x3a\\x38\\x18\\x40\\x4d\\xa6\\x90\\xe8\\x28\\x6f\\x4a\\x9a\\x60\\xf0\\x7b\\xc3\\x19\\x40\\xbb\\x2b\\x37\\x3e\\x26\\x0e\\xfd\\xda\\x76\\x2c\\x39\\x48\\xe6\\xa7\\xe6\\x10\\x54\\x2b\\xb1\\x9d\\x1f\\x89\\xae\\x93\\xba\\x77\\xf6\\x18\\x63\\xc3\\xb7\\xcd\\x3a\\xdd\\x67\\x21\\x51\\x1b\\x7b\\x57\\x8f\\x02\\x40\\x55\\x9b\\xd7\\x6f\\x78\\xe3\\xe0\\x9d\\x55\\xbd\\x46\\xc5\\x55\\xac\\x9b\\x54\\x40\\x03\\xad\\x05\\x8c\\xce\\xe8\\xdc\\x03\\xd0\\xc9\\xd6\\xd8\\x4e\\x20\\x09\\x24\\x0e\\xcd\\x9a\\x7b\\x78\\x11\\xbe\\x8c\\x1b\\xb5\\xfc\\xf5\\x81\\xb3\\x66\\xcf\\xec\\x5d\\xee\\xfe\\x22\\x61\\xd6\\xb8\\xf1\\x07\\x86\\xa4\\xe5\\x4c\\x99\\xbe\\x7e\\x60\\x70\\x9f\\x8a\\x7d\\x70\\x4a\\x61\\xa5\\x23\\xb7\\x37\\xe6\\xe7\\x25\\x14\\xc7\\x4e\\xe0\\xfa\\x22\\x3d\\x27\\x9e\\x4a\\x75\\x06\\x5b\\x8c\\x26\\x63\\xb1\\x8b\\xb1\\x96\\xb9\\x28\\x8d\\xdc\\xc6\\xa2\\xe5\\x08\\x09\\x32\\x29\\x24\\xb1\\x48\\x2c\\x4b\\x3c\\xb9\\xc2\\x97\\xec\\xfc\\x92\\x08\\x76\\xbd\\xa0\\xc9\\xe0\\xa1\\x24\\x00\\xef\\xba\\xa4\\x6b\\xbc\\x51\\xc6\\xa4\\xd0\\xa4\\xb0\\x3e\\x79\\x3d\\x66\\x17\\x2f\\x5c\\xd7\\xf8\\x5a\\x63\\xf1\\x94\\x8a\\x3c\\xb2\\x3e\\xac\\x5f\\xcf\\xa5\\xd6\\x4d\\x38\\xd2\\x78\\x83\\x15\\xd6\\xfd\\xdd\\x29\\x76\\x61\\x95\\x78\\x78\\x51\\x4e\\x19\\x1d\\x9c\\x10\\xb1\\x78\\xd2\\x98\\xe7\\x06\\x05\\xa5\\x64\\x0b\\xeb\\x14\\xd6\\x15\\x4c\\x12\\x22\\x8e\\xaf\\xc6\\x26\\x56\\x66\\x74\\xe9\\x41\\xb0\\x38\\x5a\\xdc\\x68\\x6f\\xbf\\x8b\\xf6\\x52\\x38\\x95\\x40\\x65\\x52\\x1d\\x9d\\x61\\x61\\xc9\\xc5\\xae\\x30\\xa5\\x89\\x0a\\x0c\\x96\\x8a\\x59\\xb9\\x0e\\x43\\x7e\\xeb\\x94\\x8e\\x38\\x79\\x5c\\xb1\\x8b\\x95\\xeb\\xc9\\x7a\\xd9\\x5b\\x15\\x4c\\x03\\x71\\x99\\xf1\\xa9\\xcf\\x7c\\x3a\\x41\\x04\\x5f\\xef\\xd4\\xeb\\x39\\xd7\\xd8\\x69\\x1e\\xfa\\x9f\\x4b\\x6d\\x55\\x27\\xac\\xa9\\xde\\x34\\x5a\\x35\\xfb\\xee\\xf8\\x57\\x26\\x16\\x55\\x4b\\x41\\xf8\\xcb\\x11\\xf4\\x88\\x03\\xe5\\x15\\x0d\\xa7\\x26\\x14\\x56\\x04\\x80\\x71\\xa7\\x6b\\xa4\\x74\\xed\\xde\\x81\\x95\\xee\\xc2\\xca\\xdc\\xd1\\x39\\x03\\xb3\\xc7\\xe5\\x82\\x3b\\x15\\x5d\\x1b\\x72\\xaa\\xbb\\xd6\\xe4\\xd2\\x7f\\xbe\\x03\\x97\\xbe\\x33\\x7c\\xc8\\x81\\x83\\x17\\x8f\\x34\\x5f\\x07\\xd3\\x2e\\x56\\x57\\xd0\\x9d\\xdd\\x5f\\xa7\\xdd\\x38\\x76\\xfb\\xca\\x32\\xf8\\xc3\\x9c\\x37\\x16\\xfe\\xe7\\x99\\x0b\\x8b\\x7e\\xde\\x7a\\x7d\\x21\\x50\\x93\\x71\\x42\\x38\\x96\\xbd\\x8e\\x74\\x67\\x0b\\x19\\x67\\x27\\x67\\xa0\\xd9\\x20\\x96\\xb2\\x72\\xa3\\x22\\xd9\\x8a\\x87\\x18\\xaa\\x53\\xe2\\x11\\xa2\\x01\\x9e\\x04\\x79\\xc7\\xd8\\x8e\\x68\\xb0\\x9e\\x84\\x49\\x6f\\xec\\xaa\\x90\\x7d\\x07\\x04\\xac\\x14\\x11\\xda\\x96\\x3e\\x43\\x25\\x4a\\xa7\\xdd\\xc7\\x3f\\xd5\\x6e\\xa8\\x18\\x4c\\x83\\xbd\\x3e\\xee\\xe8\\xd8\\xe7\\x03\\x69\\xd9\\xb0\\x33\\x0d\\x60\\xd8\\xf6\\xc1\\x23\\xc7\\x1f\\x1e\\xf3\\xb2\\x81\\x8e\\x78\\x39\\x1c\\xa4\\x2c\\x29\\x1c\\x32\\xc2\\x5d\\x98\\x9c\\xd0\\x65\\x54\\x97\\xc1\\x5d\\xea\\xb3\\xc1\\x67\\x43\\xba\\x8e\\x75\\xda\\x13\\xeb\\xa7\\xd3\\x3f\\xbc\\x05\\x97\\xbf\\x7e\\xa3\\xb7\\x1b\\xd2\\x9d\\xcf\\x1d\\xda\\xf7\\x06\\x68\\x7a\\xe3\\xe2\\xc1\\x03\\x95\\xc3\\x4e\\x7d\\x3a\\x62\\xfc\\x0a\\xf8\\xe3\\x9c\\x8b\\x0b\\x7e\\x7e\\xe1\\xcd\\x79\\x3f\\xec\\x1a\\x31\\x06\\x84\\xf0\\x6b\\xba\\xa9\\xe5\\x29\\x2e\\x12\\xad\\x29\\xce\\xed\\x0f\\xc4\\xf1\\xdd\\x38\\xb5\\x4d\\x8c\\x23\\xa9\\xb4\\x7a\\x56\\xaa\\x56\\x07\\xc8\\x81\\x94\\xf1\\xe7\\x02\\xb0\\xdf\\xe9\\x1a\\xbf\\x25\\xb1\\x6a\\x28\\x18\\x0a\\x48\\xf3\\xc3\\xee\\x26\\x80\\x16\\x12\\x58\\x70\\xaa\\x03\\x63\\x07\\x51\\x1a\\xb1\\x9d\\x79\\xed\\x7c\\x33\\x3c\\xbe\\x0c\\x7e\\x1c\\x04\\x0f\\xc3\\x33\\xcd\\xa5\\xcf\\xd3\\xaf\\x81\\xf2\\xeb\\x0a\\x79\\xd2\\xbb\\x2a\\x10\\x18\\x10\\xb2\\x64\\x33\\x7b\\x09\\x88\\x60\\xf6\\xc3\\xff\\x80\\x02\\xd8\\x7d\\x1c\\x97\\x7f\\x3c\\x22\\xa2\\x0e\\x16\\x80\\x99\\x0b\\xe0\\x89\\x93\\x7c\\xcc\\xc2\\x8f\\x02\\x5d\\x41\\x48\\x9b\\x4b\\x73\\x86\\x98\\xa8\\x30\\x36\\x94\\x53\\x2b\\xfc\\x64\\x81\\x81\\xe1\\x95\\x2e\\x33\\x13\\xc8\\xaa\\x64\\x4e\\x7f\\x99\\x0c\\xe9\\x0c\\x32\\x21\\x3f\\x1b\\x67\\xf9\\xe6\\xd8\\x2f\\x79\\x59\\x82\\xde\\xc0\\xd9\\x70\\x29\\x0f\\x3e\\xc0\\xcf\\x86\\x76\\x1b\\x56\\x80\\x70\\xc6\\x8f\\xc3\\x0e\\x74\\x06\\xbe\\xbc\\x07\\x3b\\xb6\\x48\\x05\\xbf\\x10\\x43\\x49\\x5a\\x5d\\x73\\x13\\x10\\x8f\\x81\\xef\\xbe\\x72\\x70\\xec\\xa4\\xe6\\x93\\x31\\xb1\\x60\\x06\\x18\\x3c\\x77\\xc8\\xb4\\xe6\\x47\\x43\\x00\\xf8\\x22\\xa6\\xf3\\xc4\\xfd\\x15\\xec\\x7b\\x55\\x3b\\xba\\xa6\\xb9\\xfb\\x17\\xfc\\x91\\x7a\\xfb\\x66\\xfe\\xae\\x07\\x1d\\x4f\\x8d\\x05\\xcd\\xe0\\x6a\\xca\\x9e\\x47\\x39\\x71\\x51\\xf4\\xda\\xa8\\x2d\\xf0\\x2b\\x42\\x7b\\x1d\\xe2\\xcb\\x91\\xe4\\x9c\\xe0\\x28\\xc0\\x20\\x05\\x25\\x57\\x05\\x46\\x70\\xb4\\x88\\x92\\x4a\\xa3\\xd0\\x09\\x91\\x2a\\x59\\x33\\x9a\\x7d\\xb3\\x2f\\x02\\x85\\x87\\x93\\xf1\\xb9\\xb6\\x36\\x10\\xe1\\x45\\x05\\x30\\x00\\x3b\\xd0\\x07\\x03\\x0e\\xa9\\x6b\\x40\\x2f\\x40\\x4f\\x90\\x7c\\x25\\x5a\\x47\\x33\\x13\\x06\\xc0\\xf7\\x9b\\xc1\\xe0\\xf4\\xb4\\x1d\\xc0\\x7a\\xa1\\x4f\\x17\\xa0\\x6c\\x86\\xef\\x2c\\x82\\x9f\\x8b\\xe0\\x58\\x5b\\x7e\\xf1\\x9c\\x30\\x10\\x18\\xf1\\xcc\\x97\\xf0\\x11\\x18\\x67\\x8e\\x58\\xb3\\x5b\\x6b\\x41\\x33\\x0c\\x53\\x5f\\x1c\\x76\\x1d\\x64\\xef\\x53\\x81\\xd5\\x30\\xa3\\xea\\x34\\x27\\x97\\xe9\\x23\\xdd\\x87\\x23\\x79\\x24\\x0a\\x30\\x9b\\x36\\xfa\\xc3\\x3f\\x08\\x2e\\xd9\\x10\\x1e\\xeb\\x15\\xed\\x0b\\xa4\\x33\\xf9\\xd3\\x0c\\x5d\\xed\\x12\\x33\\x18\\xcf\\x96\\x0a\\x68\\x0d\\xf0\\x69\\xf5\\x3a\\xda\\xf9\\x8c\\x4e\\x01\\x05\\xb1\\x76\\xc2\\x6c\\xdb\\xec\\x31\\xc0\\x36\\x06\\x8c\\xb5\\xc1\\xb5\\xdd\\xe9\\x9a\\x78\\xba\\xe4\\x32\\x1d\\xe3\\xfe\\xe0\\x32\\x5c\\x77\\x9f\\x5f\\xdf\\xa5\\x68\\x7d\\x31\\x3e\\x11\\xce\\x1e\\x8b\\x72\\x6a\\x35\\x94\\xbf\\xc4\\xbf\\xd2\\xa5\\x02\\x62\\x96\\x65\\xe4\\x52\\x09\\x23\\x62\\x50\\x1f\\x57\\xf0\\x86\\xf3\\xee\\x36\\x7f\\x1c\\x64\\x8c\\x66\\x86\\x54\\x03\\xc0\\xa1\\x6b\\x9c\\x23\\x82\\xed\\x0e\\x3f\\xdf\\x0c\\x3f\\xea\\x02\\xe7\\x36\\xd3\\xa5\\x35\\xb0\\xb6\\x03\\xb3\\x6a\\x42\\xf3\\x84\\xf0\\x0e\\xd0\\xd5\\x2b\\x93\\xad\\x82\\x07\\x1f\\xfd\\x0c\\x4a\\x61\\x0e\\x7d\\x92\\x0e\\xbc\\xbf\\x78\\xf1\\x7d\\x97\\x8b\\xe8\\x83\\x19\\xc8\\x5e\\xaa\\x47\\x72\\x27\\x03\\xc7\\x68\\x26\\x26\\x27\\xc7\\x95\\xb9\\x92\\xcd\\x62\\x73\\x94\\x2a\\x8a\\x2d\\x71\\x81\\x28\\xbd\\x2a\\x10\\xad\\x92\\x4a\\x29\\xb0\\x61\\x7b\\x2b\\x70\\x22\\x5f\\x6d\\xb7\\x4d\\x80\\x1c\\xb9\\xaf\\xf4\\x16\\x0a\\xe7\\xc3\\xe8\\xe2\\x80\\xcd\\xc0\\x87\\xac\\xe0\\xec\\x82\\x04\\xda\\x16\\x65\\x8b\\xca\\x38\\x1f\\xbb\\xa9\\x76\\xc9\\xa4\\xb2\\x8a\\x63\\xdb\\xcb\\x80\\xf1\\xcf\\x0b\\x57\\x69\\x58\\x3a\\xa2\\x71\\x6c\\x7e\\xbf\\xf7\\x36\\xf7\\x81\\x37\\x5b\\x34\\x9a\\xb8\\x94\\xde\\x19\\xea\\x12\\xb5\\xcd\\xd5\\xb5\\xa8\\x71\\x60\\xef\\x98\\x8e\\x65\\xaa\\x17\\x37\\x75\\xeb\\xd7\\xbd\\x3b\\x0e\\xa2\\xcb\\x1b\\x57\\x7c\\xf8\\xca\\xc6\\x55\\xa6\\x5c\\x67\\x56\\x9e\\x2d\\x59\\x9d\\xd0\\x63\\x6c\\xc9\\xd1\\xf7\\x41\\x97\\xde\\x9d\\xfc\\xd8\\xb7\\x55\\xe9\\x43\\x66\\x17\\x8c\\xa8\\xd1\\x0a\\x76\\x67\\x3d\\xa9\\x77\\x8b\\xce\\xb1\\x52\\xad\\x96\\xe1\\x6c\\x1a\\x8f\\xbe\\x2b\\x06\\x14\\x28\\xf6\\x09\\x55\\x7e\\x92\\xc6\\x8b\\xe3\\x00\\x81\\x90\\x14\\x81\\x64\\x4c\\x02\\xdd\\x46\\xf1\\xcd\\x19\\x93\\x93\\x55\\x9d\\x11\\x9d\\x15\\xeb\\xea\\xda\\x79\\x68\\x71\\x76\\x7e\\x6e\\x61\\xb2\\xa0\\x02\\xcb\\x47\\xd5\\x0c\\xef\\x27\\xfd\\x44\\x15\\xd7\\x7b\\xc8\\xe8\\xdc\\x68\\x32\\xc7\\x53\\x28\\x8c\\x7d\\xbc\\x91\\x32\\x22\\x5a\\x82\\x28\\x1d\\x62\\x28\\x94\\xdc\\xa0\\x96\\xc8\\xe5\\xe8\\xc0\\x86\\xc9\\x8b\\xe5\\x73\\xe4\\x6b\\xe4\\xac\\x42\\x0e\\xe4\\x54\\x22\\x06\\x65\\x12\\x62\\x61\\xb1\\x74\\x48\\x69\\x9b\\x98\\xc4\\xe2\\x88\\x7f\\x6c\\x19\\xeb\\xe9\\xe4\\x05\\x67\\x46\\xce\\x99\\x3f\\xeb\\x60\\xc6\\x7f\\x2a\\x41\\xe1\\xdd\\x3f\\x80\\x7c\\x1d\\x7c\\xf0\\x7c\\x17\\xf8\\x51\\xbd\\x83\\x0e\\x1f\\x75\\x76\\xfa\\xf8\\x99\\xf5\\xd3\\xbb\\x9f\\xb9\\xf2\\xdd\\xf5\\x8d\\xf0\\xeb\\xd7\\x2c\\xf0\\x28\\x9d\\x28\\xe3\\x63\\x35\\x2f\\xa0\\xbd\\x9c\\x8e\\xf8\\xb9\\x8e\\x0a\\x71\\xca\\x19\\x91\\x88\\xc3\\x51\\xad\\xc5\\x2e\\x8d\\x92\\x23\\x37\\x3a\\x9e\\x50\\x56\\x92\\x8b\\x47\\xb2\\xa5\\x69\\x5e\\x97\\xe0\\xa3\\x58\\xd9\\xf4\\x37\\x4e\\x66\\xc0\\xaf\\xcb\\x96\\x2d\\xc9\\x9b\\xda\\xb5\\xc6\\x04\\x7f\\xb2\\x02\\xf9\\xb9\\x63\\x57\\x69\\xf7\\xe1\\x5f\\xd2\\xe0\\xc7\\xe0\\x25\\x2e\\x6f\\xd5\\xa4\\x0d\\xc3\\xca\\xe4\\xcf\\xbc\\x79\\x04\\xc7\\x10\\xa1\\xbe\\x8e\\x92\\xbc\\xf4\\x30\\xa4\\xb9\\x0f\\x72\\xa6\\x06\\x69\\x34\\x46\\xca\\xdf\\x1a\\x68\\x0d\\xac\\x72\\xfd\\x42\\x01\\x66\\x9f\\xf5\\x15\\x2b\\x9d\\x6d\\x05\\x6c\\xac\\x15\\x30\\x0a\\x2b\\x08\\x10\\x21\\x0e\\x67\\x55\\xd1\\xaa\\xe0\\x2a\\x97\\x4a\\x4d\\x47\\x56\\xb9\\x68\\xa6\\x1d\\x3e\\x86\\x07\\xbb\\xaa\\x92\\x47\\xaf\\x52\\xd9\\x89\\x55\\xc7\\xa0\\xf3\\xe6\\xc1\\xab\\xd2\\x09\\x50\\x56\\x56\\x7c\\x5b\\x86\\x83\\x3a\\xc5\\x16\\x1f\\xec\\xaa\\xa5\\xbb\\x69\\xd9\\x99\\x37\\xf6\\x3f\\xf3\\xd4\\x86\\xe5\\x7f\\xef\\x76\\x9f\\xce\\x59\\xca\\xac\\x1e\\x38\\xe0\\x81\\x7c\\x7f\\xd4\\x7e\\x2d\\x00\\x18\\xba\\xea\\xdd\\xec\\x5b\\xc3\\x46\\xd2\\x7e\\x4c\\xe7\\x95\\x8b\\x57\\x9d\\x0d\\x53\\xae\\x18\\xbf\\xe4\\xcd\\x5a\\x90\\x37\\xb3\\x7b\\xcf\\x9e\\x17\\x47\\x7b\\x60\\xab\\x04\\x6c\\x24\\x3e\\xb7\\x11\\x69\\x31\\x4e\\x7d\\x50\\x80\\x9e\\xd2\\x57\\xe3\\x3c\\x5a\\x4a\\x41\\x2b\\x0c\\x95\\x2e\\x85\\x46\\x8c\\x69\\xb7\\x7b\\xd3\\xbe\\x3d\\xf8\\x0f\\x1a\\xc2\\x1a\\x34\\x24\\xe1\\x5e\\x4c\\xf3\\x79\\x12\\x48\\x15\\x03\\xe4\\x7a\\x9f\\x08\\xbc\\x82\\xfa\\x1a\\x60\\xab\\x01\\x33\\xf1\\x67\\xbd\\xad\\x5e\\xee\\x80\\xef\\xb7\\x50\\x6f\\x9d\\xd2\\xa9\\xea\\xc1\\xa3\\xda\\x99\\x61\\x72\\x38\\xdf\\x28\\xe9\\xc2\\xa4\\xd0\\x1a\\x7c\\x37\\xe4\\xfe\\xf1\\x72\\x0f\\x78\\x1f\\x7e\\x7b\\xe0\\x50\\xff\\x71\\x03\\xe0\\x98\\x1d\\x2f\\x15\\x2c\\x2c\\x8e\\xec\\xdb\\x9d\\xd8\\x5f\\xfb\\xd0\\xfc\\x17\\x93\\x1c\\xb3\\x42\\xe2\\x1b\\x09\\x6b\\x59\\xcb\\x25\\x90\\xd8\\x4c\\x03\\x3a\\x17\\x19\\xce\\x10\\xa9\\x81\\x43\\xa4\\x2a\\x4d\\x5a\\x13\\x92\\x1c\\x81\\xc8\\x96\\xf6\\x17\\x73\\x0c\\xab\\xa6\\x54\\x95\\x2e\\x1a\\xf3\\xb5\\xab\\x44\\x90\\x13\\x41\\x97\\xe1\\x13\\xc8\\x6f\\x11\\x13\\x19\\xc7\\x87\\xcc\\xa2\\x71\\x60\\x36\\x07\\xf0\\xb0\\xd0\\xb7\\x19\\x05\\xcd\\x05\\x93\\x81\\x88\\xf1\\x1f\\xdc\\x3c\\x38\\x28\\x7e\\xc5\\x9d\\x1f\\xe3\\xe1\\x9e\\x6f\\x11\\xd3\\x73\\xbf\\xfb\\xde\\x1d\\xb8\\x6a\\xfd\\xaa\\x11\\x63\\xc7\\x72\\xf9\\x88\\xfd\\xf0\\x08\\x02\\x4c\\x30\\xc8\\x73\\xfb\\xdd\\xa0\\xd8\\x96\\x42\\x24\\x27\\x44\\xa4\\xfe\\x00\\xf6\\x7a\\x25\\x51\\x85\\xce\\x58\\x05\\x65\\x48\\x88\\x4c\\x28\\x71\\xc5\\x46\\xc6\\x07\\x72\\x34\\x4b\\x25\\xc8\\x55\\x31\\x8c\\x34\\x32\\x12\\x89\\x0e\\x4b\\x89\\x0b\\x4b\\x8e\\x60\\xca\\x5b\\xc8\\x4a\\x80\\x6b\\x13\\x14\\x62\\x03\\x71\\xda\\xa8\\xbc\\x25\\x09\\x78\\x31\\xe2\\x05\\x33\\xc2\\x62\\x44\\xa7\\x55\\x00\\x0b\\xe3\\x49\\x46\\xd4\\xa0\\x2d\\x6e\\xd7\\x18\\x52\\x6d\\x62\\x3b\\x40\\x8a\\x98\\x8e\\xe6\\x16\\x56\\xc2\\xeb\\xcd\\x60\\xd4\\xd0\\x7e\\x07\\xff\\x5a\\x9b\\x9d\\x06\\x64\\xcd\\xf0\\xdd\\xed\\x5a\\xe0\\x6e\\x39\\x9a\\x32\\xb8\\x70\\x66\\x28\\x60\\x8b\\x91\\x68\\x19\\xb5\\x21\\x68\\xd5\\xc1\\xb5\\x61\\xb3\\xb7\\x42\\x51\\x5e\\xa6\\x44\\x1b\\x07\\x9d\\xb4\\xbc\\xe6\\xe8\\x2c\\xa0\\xb9\\x59\\x2b\\x05\\xcb\\x60\\x6e\\xcd\\x83\\xf2\\x91\\x7e\\xf0\\xef\\x8e\\x5d\\x9c\\x86\\xe5\\x5b\\x99\\x43\\xcb\\x67\\x00\\xe6\\x9d\\xde\\x69\\xa7\\xe1\\x0f\\xc3\\x53\\x92\\xd1\\x59\\xc4\\x76\\xd4\\x16\\x92\\x3f\\x90\\xe8\\x0c\\x0c\\x94\\x2b\\xe4\\xd5\\x38\\xa7\\x81\\xd2\\xf0\\xc9\\x5a\\x14\\x92\\x01\\x9c\\x17\\xda\\xb9\\x2d\\x7a\\x00\\x47\\x62\\xb7\\x79\\xdf\\x45\\x0e\\xc9\\x2c\\xc3\\x00\\x02\\x78\\x47\\x89\\x58\\xf0\\xe6\\xa5\\x13\\x00\\xc4\\x3b\\x73\\x7a\\x8e\\xd5\\x25\\xfc\\x6a\\xfb\\x35\\x11\\xde\\xea\\x40\\x97\\x0d\\x1e\\x68\\x1b\\xd8\\x21\\x0e\\xde\\xd1\\xde\\x3c\\x16\\x1a\\x17\\x38\\x7c\\xec\\xe4\\xb1\\x3f\\x5c\\xfe\\xe5\\x6b\\x18\\x73\\xf9\\xcb\\x8f\\xff\\xc2\\x32\\x08\\xdf\\xb9\\x07\\xa2\\xf9\\x37\\x22\\x1b\\xbd\\xa3\\x33\\xc4\\x6c\\x2a\\x1b\\x64\\xa6\\x18\\x8d\\x56\\x83\\xb4\\x72\\xad\\xd6\\x2f\\x30\\xd0\\x50\\xec\\x0a\\x54\\x08\\x98\\xfa\\x6d\\x21\\x55\\xec\\xad\\x40\\x3e\\x78\\x3f\\x90\\x7b\\xcf\\xd6\\xe8\\x3e\\x42\\x1a\\x81\\xd7\\x9f\\x32\\xcd\\x36\\x6d\\x90\\x71\\xd3\\xfd\\xc5\\x45\\x3b\\x05\\x20\\xfd\\xfe\\xd3\\x6c\\xd3\\x13\\xe0\\x0e\\x2b\\xdd\\xf4\\x47\\x0c\\x30\\xc6\\xd0\\x6b\\x2f\\xc3\\xf8\\xb9\\xa7\\xab\\x8c\\x6a\\x8c\\xa5\\x0f\\x5e\\xbd\\xfc\\xdd\\xd9\\xd7\\xaf\\x5f\\xe7\\x7d\\x40\\x3d\\x11\\x7d\\x9f\\x71\\x03\\x91\\x0e\\x64\\xc3\\x92\\x4a\\xc5\\x70\\x4a\\xb1\\x5c\\x1e\\x8e\\x6f\\x40\\xc5\\x88\\x5b\\x88\\x35\\x26\\x8a\\x32\\x0c\\x75\\x51\\x66\\xdf\\xbc\\x24\\x8f\\xb4\\xc2\\xa1\\x93\\xf8\\x94\\x09\\x5a\\x27\\xa9\\x70\\x66\\xe7\\xe1\\x7e\\x71\\xe6\\x1d\\xf0\\x02\\x15\\x2b\\x99\\xdd\\x0f\\x14\\xaa\\xda\\xa6\\xcb\\x57\\x4f\\x01\\xe7\\xe5\\x17\\xea\\x56\\x25\\xc1\\x3f\\xc4\\x83\\x42\\xba\\xc5\\x5b\\x1b\\x61\\xee\\xfc\\x8a\\xb5\\xc9\\x93\\xaa\\x76\\x0d\\x83\\x03\\x7e\\xcd\\x2c\\x18\\xe0\\x70\\x7f\\xfd\\x27\\xd8\\xfb\\xc3\\xb0\\xa2\\x07\\x5b\\xad\\xa6\\x0a\\xd9\\x57\\x7e\\x52\\xba\\xa1\\x9a\\xfe\\xd9\\x75\\x08\\x9e\\xde\\x05\\x7f\\xe4\\xf3\\xd9\\x11\\xcd\\xfb\\x90\\x6c\\x8d\\x44\\xfb\\x19\\xd1\\x1c\\xa9\\xd0\\x86\\x19\\x42\\x42\\x6c\\xc4\\xf5\\xd8\\x01\\xbb\\x1e\\x03\\x64\\x32\\xbf\\x52\\x97\\xec\\x9f\\x68\\xc6\\x90\\xdd\\x02\\x91\\xc4\\x48\\x48\\x45\\xf3\\xd9\\xa6\\xf6\\x11\\x32\\x7b\\x7c\\x31\\x9c\\xd8\\x7d\\x7e\\xa1\\x8a\\x7d\\x98\\xde\\x0e\\x83\\xab\\x66\\x2c\\x02\\xa2\\x6c\\x8c\\xad\\xb6\\x61\\xc3\\xb2\\x5f\\xd7\\xbd\\x9b\\xc9\\x8a\\x23\\xc5\\x35\\xdb\\xe6\\x3e\\xd3\\xbd\\xa8\\xcf\\xf2\\x62\\x36\\x33\\x7c\\x46\\x9f\\x47\\x4f\\x59\\x4d\\x83\\x65\\x5f\\x69\\x87\\x57\\x98\\x42\\xc1\\xc0\\x41\\xc3\\xcf\\x9f\\x78\\x1b\\x0c\\x7e\\xf3\\x8d\\xc8\\x59\\x72\\x58\\xf7\\x1d\\x7c\\xff\\x5f\\x63\\x6b\\x67\\xdd\\x27\\xfa\\x09\\xce\\x55\\xbd\\x4b\\x72\\x90\\x8c\\x38\\x33\\x4a\\xe6\\xaf\\xc2\\x1c\\xc2\\x80\\xfe\\x29\\x40\\xa1\\xa6\\xf5\\x95\\x5e\\x2e\\x6d\\xf7\\x28\\x41\\x02\\x9f\\x13\\x92\\x8f\\x2d\\x0c\\xc1\\x82\\x15\\x30\\xb8\\xc2\\xa2\\x97\\x4e\\x02\\x3f\\x7d\\x75\\xff\\xcc\\x4b\\x3f\\xc0\\xa3\\x67\\xf7\\x0f\\x87\\x1f\\x0d\\x5f\\xca\\x1c\\x99\\x5a\\x8f\\xb3\\x90\\xa3\\xe8\\x6f\\xe8\\x8a\\xe7\\xb7\\xed\\xfe\\x36\\xc5\\xfd\\x0a\\xcd\\xb8\\xdd\\x34\\x03\\xae\\x14\\x77\\x21\\x69\\xc8\\xe8\\xbc\\x0c\\xc7\\x77\\x32\\x48\\x76\\xe1\\x2c\\xf7\\xc0\\x20\\x93\\x89\\x2e\\x75\\x99\\x94\\x7e\\x52\\x99\\xb4\\xcc\\xc5\\xe9\\xd5\\x32\\x99\\x44\\xcd\\xdb\\xc5\\xe4\\x0e\\xdc\\xde\\x26\\x84\\x82\\xc8\\x50\\x2f\\x26\\xad\\x23\\x3d\\xcd\\x66\\x31\\x68\\x79\\xb3\\xc3\\xc0\\x4e\\xaa\\x1b\\x31\\xf3\\x72\\xe6\\x6a\\xdb\\xd6\\xee\\xf0\\x9b\\xee\\x13\\x6d\\x13\\x4d\\x81\\x34\\x50\\x88\\x58\\xb6\\xf7\\x85\\x45\\xb5\\x55\\x4c\\xb1\\x66\\xdb\\x6a\\xa4\\xab\\x81\\xfa\\xcb\\x0b\\x9b\\x76\\x0c\\xab\\xeb\\x91\\xbc\\x64\\xbc\\x8a\\xdf\\x93\\x03\\xb1\\x5f\\x82\\xcc\\x8b\\x96\\x20\\x63\\x30\\x48\\x6f\\xab\\x76\\xc9\\x29\\xb5\\x98\\x65\\x24\\x12\\x91\\x52\\xca\\x88\\xb0\\x93\\x9b\\x37\\x5d\\x5b\\x01\\x80\\x10\\x19\\x58\\x7b\\x63\\x10\\x21\\x88\\x0a\\x9c\\x9f\\x85\\x74\\xb7\\x3f\\x07\\xd8\\xae\\xc1\\xe6\\x31\\xf0\\xe3\\x31\\x07\\xaf\\xd8\\xfa\\xa5\\x83\\x84\\x04\\x70\\xa9\\x06\\x64\\xb9\\xa3\\x9e\\xf9\\x91\\x3d\\x79\\x19\\xe6\\xb8\\xdf\\xa3\\xe3\\xc1\\x6b\\x97\\x57\\xae\\x5c\\xe9\\x7e\\xe7\\x2e\\x5a\\x13\\xe2\\xef\\x20\\xfa\\x4d\\x18\\xb2\\xa1\\x4d\\x66\\x25\\x1b\\x1e\\xc2\\xa8\\x35\\xea\\x32\\xb4\\x2e\\x1a\\x8d\\xd8\\xa8\\x53\\x88\\xd1\\xb4\\xf8\\x8b\\x3d\\x67\\x95\\x2c\\x0d\\x4f\\x82\\x90\\xb9\\x86\\xc9\\xe0\\xb3\\xd6\\x42\\xb1\\x9e\\xe1\\xc0\\xf4\\x60\\xc1\\xa4\\xb1\\x80\\x74\\x47\\x44\\x08\\x60\\x07\\x8f\\xb7\\x9d\\x87\\x2b\\xa7\\x7f\\xb2\\xbe\\xae\\x87\\x2d\\x25\\xa5\\x73\\x79\\x51\\xa7\\x59\\x97\\x6d\\x93\\xf3\\x40\\x4c\\x0a\\xa8\\x78\\x06\\x44\\xb9\\xad\\x63\\x3b\\x5e\\x13\\x2b\\x19\\xc9\\x65\\xf7\\x92\\xeb\\xbb\\x65\\x6f\\x71\\x4c\\x74\\xff\\xd1\\x74\\xea\\x65\\x90\\x04\\x6f\\x80\\xa4\\x47\\xcd\\xbf\\x8d\\x8f\\x5c\\xc0\\xcf\\xd3\\x4c\\xc4\\xe7\\x9e\\x46\\xeb\\x16\\x47\\xa5\\x53\\x99\\xce\\x50\\x71\\x7c\\x89\\x2b\\x5a\\x1c\\x29\\x17\\xcb\\xc5\\xaa\\xc8\\xc8\\x20\\x5c\\xab\\x55\\x15\\x50\\xe2\\x52\\xe9\\x29\\x3b\\x62\\xe6\\x4a\\xaa\\x1d\\xda\\x22\\x12\\xfa\\x2a\\x75\\x06\\xd1\\x86\\xf4\\xc4\\x43\\x2b\\xa4\\x3b\\x7b\\x50\\xf4\\x84\\xbb\\x0c\\xb1\\x23\\x9b\\x80\\x42\\xe2\\x45\\x05\\x0e\\x8f\\xda\\xc2\\x2c\\x58\\xb4\\xe6\\xc1\\xef\\x9f\\xe9\\x26\\x75\\xef\\x6b\\x04\\xe1\\x93\\x61\\xc3\\xdb\\x9b\\x03\\x0a\\x25\\xe1\\xe1\\x96\\x90\\x60\\x53\\x6c\\x4c\\x42\\x48\\x6d\\x4f\\x5a\\x54\\x7c\\x12\\x7e\\xb4\\xb8\\xae\\x2a\\x69\\x68\\xf5\\x2e\\x3d\\x5b\\xb4\\xb0\\xe9\\xd2\\x7b\\x1c\\x3b\\x3a\\x7c\\x66\\x8f\\x12\\x39\\x3c\\xf7\\xc2\\x84\\xe4\\x0c\\xb0\\xa4\\x63\\x48\\x74\\xb8\\x68\\xb3\\x48\\x22\\x62\\x87\\xf4\\x8c\\x1a\\x33\\xda\\xfd\\x27\\x4d\\xc7\\x0e\\xee\\x33\\x66\\x7b\\x03\\x3f\\x3e\\x9c\\x73\\xfe\\x3c\\x1a\\x9f\\x89\\xc7\\x49\\x94\\x9b\\x94\\x06\\x43\\x08\\x3a\\xdf\\x4a\\x65\\x64\\xb1\\x4b\\x89\\x6c\\x7f\\x46\\xd1\\x1e\\x27\\x11\\xe0\\xc0\\x38\\x44\\x1e\\x29\\xf2\\xd5\\xd6\\xf2\\x27\\x0a\\xb4\\xe7\\x48\\x33\\xf5\\xa2\\x70\\x7f\\x20\\xd1\\x85\\x4f\\x94\\x98\\xe1\\x2f\\x5a\\x76\\xe6\\xaf\\xcb\\x36\\x2c\\xf9\\x61\\xcb\\xd8\\xe5\\x81\\xf6\\x9e\\x7d\\x97\\x6e\\x2f\\xe8\\x55\\xb2\\xa2\\x84\\x59\\x1d\\x3a\\x53\\x51\\xfc\\xa2\\xfb\\xa5\\xf4\\xe3\\x7e\\x9d\\xeb\\x2e\\x9e\\x39\\xf5\\x3e\\xa8\\x3c\\x55\\x5d\\xf1\\x71\\xdd\\x38\\xf8\\xf9\\x6f\\x0d\\xd5\\xb3\\x7f\\xf0\\xe8\\x2b\\x73\\xc9\\xd9\\x89\\xc5\\x28\\xce\\x06\\x85\\x4a\\x27\\xa3\\x24\\x8c\\x24\\xac\\xd8\\x25\\xd1\\x33\\x88\\x27\\x31\\xed\\x91\\x0f\\x5a\\xdd\\x2c\\xad\\x18\\xa7\\x8e\\x74\\x87\\x09\\x11\\x6e\\xc0\\xba\\x21\\x4f\\xa0\\x80\\x7a\\x00\\xfe\\xc8\\x3c\\x3c\\x6e\\xc3\\xf6\\xf9\\x5f\\xac\\xfd\\x35\\x99\\xc5\\x00\\xa7\\xbf\\x04\\x2a\\x14\\xdd\\xfa\\x20\\xd2\\x81\\x54\\x34\\xa0\\x57\\x49\\xf9\\xfc\\x82\\x6e\\xc5\\xfd\\x96\\x14\\x31\\xab\\x2b\\xaa\\xcf\\xbd\\x72\\x19\\xee\\x7a\\xf5\\x62\\xcc\\x74\\xd9\\xd0\\xce\\x7d\\xc0\\x28\\xb0\\xb1\\x44\\x62\\xaa\\x0b\\x82\\x54\\x43\\xe3\\xdc\\xbf\\x37\\x8d\\x19\\x39\\xe3\\x9b\\x56\\xec\\xc9\\xf7\\xa9\\x08\\x2a\\x11\\x57\\xb2\\x08\\xd6\\x19\\x25\\x3a\\xb9\\x0e\\x9b\\x8c\\x7a\\x79\\x3c\\xce\\x94\\xa1\\xc4\\xbe\\x29\\x99\\xed\\x38\\x27\\x9e\\x46\\x8c\\xf0\\xf3\\x24\\x7c\\x4e\\x3c\\x08\\x8c\\x1a\\xeb\\x8b\\xd9\\xb0\\x25\\x68\\xae\\x25\\x46\\x5d\\xa8\\x9e\\x67\\x48\\x6e\\x0f\\x47\\x49\\x46\\x72\\xc6\\x7c\\x63\\xa4\\x07\\x96\\x92\\x7b\\x5f\\x22\\xbe\\xc5\\x89\\x67\\xfe\\xd2\\x06\\x95\\x12\\x0d\\x85\\x79\\x73\\xd9\\xe6\\x87\\xaf\\x79\\xc1\\x29\\x01\\x5f\\x8f\\x0f\\xcd\\x79\\x30\\xc6\\x7f\\xf1\\x53\\x16\\xbb\\xa4\\x7e\\x7a\\x23\\x45\\xe9\\x85\\x5d\\xde\\x8a\\x4d\\xd9\\x5a\\xdf\\x31\\x4d\\x28\\x88\\xa3\\x16\\xb4\\xee\\x6c\\x9a\\xbe\\xc6\\x43\\x2b\\x9e\\xbf\\x85\\x4c\\x12\\x2f\\x9c\\x22\\xfc\\x16\\x59\\xb3\\x6c\\xd1\\xb5\\xf3\\x0b\\xe1\\x97\\x97\\x47\\x9f\\x7f\\x81\\xe0\\x28\\x02\\x35\\xc1\\x51\\xac\\x3f\\x50\\xc5\\xdb\\x95\\xd7\\x5a\\x2e\\x90\\xfe\\x2d\\x68\\xcd\\x9d\\xce\\xb0\\xd0\\x28\\x4b\\x24\\xad\\x43\\xba\\x9f\\x25\\xd8\\x10\\x89\\xf8\\x84\\x21\\xd8\\x2f\\x38\\xba\\xd8\\x15\\xac\\xf7\\x53\\x15\\xbb\\x64\\x7e\\xca\\x76\\x40\\x69\\x14\\x06\\x80\\x51\\x09\\x28\\x42\\xc9\\x49\\xb6\\x74\\x4f\\x75\\x50\\xde\\x02\\xe7\\x91\\x20\\x79\\x97\\x22\\x76\\x29\\x88\\xc4\\xc4\\x93\\x88\\x89\\x4f\\x19\\xdc\\x53\\xbb\\x13\\x44\\xbd\\x7a\\xf6\\x7d\\xf8\\x79\\xcf\\xf2\\x86\\xe5\\x11\\xd2\\xf3\\xcf\\x6d\\xdd\\x03\\xef\\xfc\\x76\\x7e\\x6a\\xd8\\x68\\xfa\\xf6\\x53\\x75\\x6b\\x93\\x96\\x8f\\xae\\x75\\xd5\\xe4\\x39\\x47\\xbc\\x09\\xd2\\xf7\\x9e\\x7d\\x56\\x24\\x57\\xf4\\x1c\\x72\\xfa\\x50\\xb7\\x09\\x93\\xea\\xf7\\xbf\\x57\\x17\\x36\\x09\\xd4\\xf5\\x9d\\x5c\\x99\\x47\\xce\\x16\\xd2\\x0b\\x09\\xee\\xa1\\x85\\xea\\x80\\x71\\x3b\\x4c\\x41\\x41\\x86\\x52\\x57\\x90\\x59\\x45\\x01\\x39\\x1b\\x10\\x80\\xce\\x57\\x80\\x92\\x8d\\x6d\\xf5\\x3a\\xb5\\xc3\\xed\\xb0\\x3e\\x8e\\x7c\\x08\\x7c\\x24\\x2a\\xe6\\x1e\\xbe\\x18\\x88\\x9f\\xb4\\x81\\x40\\x0c\\x2b\\x04\\x26\\x78\\x9d\\xab\\x4f\\xc8\\x8e\\x71\\xd5\\x2d\\x99\\x2b\\x5d\\xee\\x01\\x42\\x3c\\xd8\\x0a\\x83\\x78\\x18\\xac\\xfc\\xfb\\x9e\\x5e\\xd5\\x5f\\x7a\\x4b\\xd5\\x38\\x39\\xd5\\x49\\x3f\\x6c\\x45\\x43\\x24\\x98\\x8d\\xdc\\x5e\\xb4\\x87\\xb1\\x8f\\x30\\xc1\\x69\\xe4\\xb3\\x26\\x78\\xd0\\x46\\x2b\\x49\\xf6\\x8a\\x7b\\x22\\x68\\xa3\\xfd\\x1f\\x50\\x1b\\xd5\\xbe\\x00\\x6d\\xff\\x03\\xbd\\x31\\x6e\\xe0\\xd6\\xf1\\x85\\x65\\x31\\x8e\\xa0\\x74\\x87\\xec\\xc8\\x3f\\x63\\x38\\x2a\\x76\\x94\\xa8\\x6e\\x49\\xd3\\xf2\\x1e\\xd5\\xb4\\x45\\x72\\xa4\\x29\\x27\\xda\\xbb\\xd3\\x79\\x3b\\x11\\xfb\\x6d\\x8c\\x88\\x41\\x2b\\x8c\\xa1\\x46\\x5a\\xc9\\x18\\x8d\\x94\\x42\\xa1\\x47\\xbf\\xa2\\x23\\x88\\x26\\xde\\x5b\\x69\\xbd\\x4d\\x2d\\x05\\x8c\\x91\\xc6\\x23\\xac\\x22\\xf5\\x4f\\x4d\\xf1\\x47\\x90\\x65\\x10\\xe5\\x04\\xc0\\x10\\xfc\\x74\\xe8\\x73\\x33\\x90\\x89\\x47\\x16\\x34\\x3c\\x17\\xe4\\x0e\\xa7\\x73\\x41\\xce\\xd7\\xef\\x7e\\xb9\\x1b\\xde\\xf6\\x1f\\xb6\\x25\\x04\\x5c\\x11\\x55\\x69\\x9f\\x5e\\x61\\xe8\\x9a\\xb3\\x7f\\xad\\x1f\\x88\\x01\\xe9\\xf7\\xae\\xde\\x84\\x6f\\x3c\\xcf\\x1c\\x5a\\x35\\xd5\\x1a\\x3a\\x78\\x24\\xcf\\x73\\x85\\x98\\x75\\xc4\\x73\\xc3\\x31\\xb6\\xa2\\x3c\\xb4\\xc4\\x25\\x37\\xc8\\x0d\\x7e\\x94\\x9f\\xb9\\x04\\xd7\\x8e\\xd4\\xfa\\x88\\x12\\x1f\\x6c\\x45\\xdf\\xa3\\xe6\\x41\\x53\\x14\\xcc\\x5b\\x06\\xd3\\x8a\\x4e\\x1f\\x7d\\xe9\\xfa\\xe7\\x58\\xe9\\x7f\\xe3\\x8a\\x16\\xd0\\x77\\x25\\x23\\x07\\x21\\x75\\x1f\\x3e\\x2a\\x03\\x41\\x62\\xa4\\xee\\xc3\\x54\\x76\\x24\\x5b\\xf4\\xee\\xc5\\x59\\xf0\\xc7\\x9b\\xb5\\x1f\\xbe\\x8d\\xd4\\xfb\\x94\\xe4\\xba\\x06\\xa4\\xdf\\xaf\\xdc\\xf2\\xa8\\xcf\\xf2\\x19\\x19\\x23\\x47\\x21\\xda\\x8c\\x88\\xb6\\x83\\x88\\xb6\\x70\\x24\\xf1\\xb0\\x1d\\x13\\x06\\x94\\x9c\\x4d\\x19\\x65\\x42\\xdc\\x0b\\x6b\\x7c\\xe8\\xb0\\x39\\x19\\xd6\\xc8\\x98\\x4c\\x5a\\x4a\\x1b\\x81\\xf1\\x74\\xc3\\x28\\x2a\\xa4\\xc4\\x87\\x29\\x08\\x53\\x69\\xb0\\x9b\\xae\\x78\\xac\\x2e\\x3b\\x9a\\x57\\x9e\\xb1\\x39\\x08\\x87\\x70\\x18\\x08\\x43\\x13\\x4b\\x04\\xdc\\x08\\xab\\x83\\x0f\\xa3\\x50\\x6b\\x88\\x41\\x83\\x93\\xee\\xa5\\xc8\\xe6\\x38\\xce\\x85\\x85\\xa5\\xe6\\xab\\x46\\x0f\\xab\\xaa\\x60\\xb9\\x8e\\x2d\\x27\\x16\\xad\\x09\\x07\\x90\\x49\\x4c\\x2c\\xe9\\xf4\\xf9\\xba\\xb2\\x6e\\xc3\\x2c\\xf0\\x6b\\x89\\x85\\x2d\\xda\\x77\\x20\\xaa\\x39\\x2b\\x39\\xee\\x68\\xc7\\xba\\x19\\x81\\xf0\\x37\\xf8\\xf9\\x91\\xe7\\xe7\\x2f\\x1d\\x51\\x92\\x5f\\xb4\\xdc\\x00\\xa2\\x1e\\xb9\\x9e\\xd9\\xd7\\x25\\xdf\\x9e\\x3e\\x84\\xd7\\xc1\\x30\\xde\\xee\\xb3\\x68\\x6c\\x56\\x8c\\xa4\\x2d\\x0d\\x0d\\x0b\\x0d\\x43\\x3b\\x21\\x34\\x34\\x14\\x6d\\x8c\\xd0\\x50\\x91\\x41\\xa3\\x31\\x95\\xb8\\x34\\x4a\\x21\\xc9\\x58\\xdf\\x3e\\x45\\x16\\x6f\\x0e\\x1e\\x72\\xc1\\x9a\\x22\\xe0\\xaa\\xf8\\xdc\\x24\\x7b\\xb8\\x36\\xa2\\xde\\x22\\x26\\x3e\\x24\\x3a\\xe1\\x95\\x13\\x4b\\x66\\xc1\\xdf\\xd6\\xde\\xfc\\xee\\xd3\\x3d\\x60\\xdc\\x72\\x10\\xf1\\xdb\\xb6\\x6f\\xd3\\xaf\\x85\\x2d\\xeb\\x3f\\x71\\x3e\\x98\\x19\\xf1\\xc9\\x77\\x55\\xcf\\x6f\\x5f\\x51\\x57\\xbd\\x76\\x66\\xd3\\x3e\\x29\\x2d\\x99\\xd9\\x6f\\xf5\\x91\\xea\\x41\\x33\\xb2\\x7a\\xf6\\xce\\x59\\x70\\x68\\x88\\xab\\x53\\x17\\x01\\xbb\\xa6\\x9a\\xc4\\x7e\\xe4\\x38\\xc3\\x23\\x2d\\x46\\x31\\x5f\\x6f\\x4f\\x1c\\x2a\\xa6\\x31\\xe2\\xa7\\xc6\\x62\\x41\\x84\\x5a\\xf4\\x4a\\x8d\\x46\\x86\\x09\\x6f\\xb7\\x02\\x1e\\x7a\\x55\\x04\\x7c\\x81\\x6c\\x16\\x87\\xe7\\x66\\xd8\\x13\\xb2\\x22\\x5c\\x8b\\xa3\\x3d\\x15\\x86\\x2f\\x91\\x69\\xc5\\x98\\x05\\x97\\x5f\\x89\\xb8\\xf3\\xf1\\xa8\\xea\\x01\\xcf\\x3a\\x76\\xbc\\x0a\\xec\\xd7\\xbe\\x7f\\x67\\xed\\x9c\\x2d\\x4b\\xdc\\x7b\\xe1\\xe5\\xe6\\xb3\\x59\\x3b\\x9f\\x2f\\x2f\\xe8\\xd6\\xeb\\x50\\x49\\x59\\x52\\xa7\\x9e\\x59\\x33\\x5e\\x5d\\x39\\xa1\\x7e\\x8f\\x8c\\x0e\\x98\\x35\\x68\\xd4\\xce\\xf2\\xab\\x2b\\x8a\\xfa\\xe0\\x3b\\x61\\x88\\xef\\x16\\x10\\xcd\\xc9\\x54\\x3f\\x67\\x42\\xac\\x54\\x26\\x93\\x96\\xb8\\xc2\\xad\\xa1\\x88\\x67\\x44\\xcb\\x14\\xb2\\x50\\x19\\xa2\\xdc\\x1c\\x14\\x1a\\x88\\xfe\\x16\\x4a\\x69\\x03\\x03\\xd5\\x25\\xae\\x40\\x25\\x25\\x6a\\x7b\\x16\\x09\\x12\\x0f\\xaf\\x3a\\x65\\xa0\\x51\\xa8\\x32\\xf8\\x8d\\xd4\\x5a\\x1c\\xc8\\x93\\x6c\\x4b\\xc6\\xe3\\xa9\\x6a\\x4f\\x76\\x17\\xde\\x5c\\xfc\\x25\\x91\\x77\\x68\\xa0\\xd3\\x96\\x1d\\xa2\\x1f\\xe8\\xc6\\x82\\xb2\\xc1\\x8d\\xe1\\x4f\\x8d\\x77\\xcd\\x8c\\xf9\\x38\\xe9\\xf3\\x9d\\x8d\\x6b\\x03\\xb7\\x72\\xae\\xcc\\x5e\\xc6\\xf8\\x15\\x9d\\xcb\\x47\\x06\\xe4\\xad\\x18\\x58\\x3b\\xfe\\xba\\x76\\xd7\\xfa\\xf8\\x3d\\x15\\xe5\\x5d\\x32\\x0e\\xf5\\x1f\\xee\\x5a\\xa3\\x5f\\xbd\\xa3\\x5f\\xcf\\x90\\xa5\\x0b\\xe3\\x8e\\xea\\x23\\x86\\x96\\x0f\\xb1\\xd0\\x01\\x13\\x5d\\xa3\\x5f\\x1c\\xc2\\x9f\\x61\\xbc\\x97\\x86\\xa1\\x71\\xaa\\xd1\\x6e\\x72\\x38\\x43\\x02\\x65\\x52\\x3c\\x52\\x61\\x84\\x32\\x59\\xa8\\x26\\x54\\x84\\x51\\x66\\x34\\x94\\xb0\\x32\\xd4\\x63\\xeb\\x82\\x0d\\x3b\\xef\\x15\\xbe\\x67\\x6d\\x6c\\x24\\xd0\\x53\\x58\\x13\\xde\\xe0\\xa3\\xaf\\x36\\x9f\\x1d\\x35\\x74\\xc8\\xf8\\xfe\\x8d\\x91\\x4b\\xc6\\xe4\\x87\\x3d\\xf7\\x2e\\xfc\\x7a\\x54\\xe3\\x82\\x7f\\xef\\x78\\xff\\xdb\\x66\\x90\\xcc\\x6c\\x85\\x7f\\xdc\\x99\\xbd\\x7c\\x44\\x71\\x4e\\xfa\\xf1\\x92\\x81\\xc9\\x8e\\x23\\x4b\\xc7\\x7e\\xd9\\x39\\xa0\\xce\\x55\\xbb\\x7f\\xd8\\xf7\\xd7\\x2f\\x82\\xf4\\x03\\x78\\x4d\\x8e\\xc0\\x62\\x56\\x83\\xf4\\x6d\\x12\\xdd\\xcf\\xe8\\xb4\\x3a\\xb4\\xbd\\xb5\\x3a\\x89\\x02\\x09\\x75\\x49\\x10\\x50\\x50\\x39\\x5e\\x07\\x29\\x91\\x3b\\xbc\\xfb\\x57\\xec\\x8b\\x0a\\x61\\x71\\x80\\x87\\x07\\x40\\xe0\\x01\\x40\\x45\\xc2\\x16\\x65\\xb8\\xfb\\x9d\\x67\\x76\\x11\\xd4\\x7a\\x75\\x00\\xec\\x16\\x79\\x96\\x69\\x7a\\xb4\\xe0\\x6c\\xd9\\x81\\x97\\x09\\x74\\x7d\\xc6\\x59\\x32\\x3f\\x91\\xb0\\x88\\xbb\\x40\\xb0\\x66\\xec\\x54\\x96\\x33\\x2c\\xc8\\x52\\xea\\x0a\\x09\\xa2\\x02\\x02\\xe5\\x3a\\x5d\\x2c\\xbe\\x5d\\x62\\x59\\x39\\x25\\x4f\\x42\\x92\\x84\\x12\\x23\\xee\\x11\\xc4\\x07\\x3d\\x08\\x33\\xd4\\x46\\x9a\\x00\\x0f\\x37\\xd6\\xb4\\x17\\x2a\\xbe\\x28\\x8c\\x22\\xd6\\x57\\x18\\x82\\x17\\x4f\\x5e\\xa1\\x41\\x28\\xd3\\xa7\\xcb\\x95\\x8c\\x48\\xba\\xeb\\x99\\x86\\x8d\\xab\\x16\\xfc\\xb8\\x75\\xf4\\x72\\x93\\x28\\x23\\x03\\x44\\x11\\xd9\\xe2\\x70\\xc8\\x3e\\x8e\\x87\\xb7\\x4e\\x6e\\x9d\\xdd\\x5c\\x50\\x54\\xb4\\xb8\\x18\\x16\\x6d\\x5a\\x61\\xe9\\xd2\\x1b\\x84\\x1d\\x18\\x36\\xfc\\xec\\x4b\\x57\\x40\\xe9\\x89\\xea\\x0a\\x60\\x03\\xe1\\x48\\xc4\\xa4\\xe7\\x3e\\xdc\\xfe\\xc5\\x2f\\x6c\\xd5\\x27\\xf0\\xe7\\x4f\\x6b\\x87\\x4f\\xb8\\xdd\\x5a\\x03\\x94\\xed\\xa5\\x16\\xe1\\xf8\\x6b\\x01\\xbb\\x69\\x0c\\xd1\\x97\\xa2\\x9d\\x3a\\x1a\\x94\\xba\\x68\\xda\\x4f\\x2e\\xd7\\x95\\xba\\xd4\\x72\\xa5\\x9f\\xa9\\xd4\\x5b\\x12\\xd8\\x37\\x9f\\x9d\\xa4\\x0f\\xd2\\x11\\x61\\x2a\\x5e\\x35\\xe1\\x11\\xb4\\x05\\x60\\x6a\\xc6\\x74\\x3c\\x06\\xbc\\x5e\\x3e\\x76\\xc9\\xe6\\x41\\x30\\xeb\\x59\\x10\\x77\\xf6\\xf4\\xb5\\x00\\xf8\\x83\\x7f\\xef\\x3e\\xeb\\xf7\\x5d\\xeb\\xd8\\x23\\x1b\\x8c\\x78\\x17\\x66\\x66\\x26\\x9a\\xc1\\x9a\\xeb\\xa0\\xf7\\x89\\xbd\\x2f\\x44\\x0d\\xe8\\x0d\\x1f\\xdc\\xff\\x48\\x11\\x8c\\xe7\\x7e\\x23\\x2c\\xe6\\x28\\x12\\x27\\x41\\xd0\\xfb\\x94\\x94\\x4c\\xc7\\x8a\\x55\\x72\\x85\\xd8\\x84\\x64\\x76\\x90\\xc7\\xdc\\x25\\x77\\x2b\\x3e\\x3b\\x8d\\x60\\x7f\\x00\\x0b\\x48\\xb5\\x09\\xb7\\x74\\xf4\\xe7\\x19\\xe1\\x83\\x0f\\xce\\x5e\\xb4\\x71\\xe5\\x80\\x4f\\x41\\xe4\\x4a\\xb0\\x08\\xc4\\xb9\\xbb\\xc4\\x16\\x77\\xca\\x4b\\xcb\\x02\\x8a\\xdd\\xeb\\x93\\xab\\xb7\\x0d\\x9a\\x37\\xa9\\xe9\\xe2\\x54\\xa6\\x93\\x7b\\x0b\\x3d\\xea\\xe1\\xd8\\xc1\\xd3\\xc6\\xcf\\x89\\x2b\\x2d\\xe5\\xcf\\x47\\x25\\xd2\\x1f\\xac\\x68\\x3e\\x24\\x88\\x13\\x24\\x3a\\x8d\\x56\\x83\\xc1\\x14\\xad\\x33\\xa1\\xf9\\x08\\x89\\xc7\\x68\\xa9\\x16\\x93\\x32\\x00\\x31\\xaf\\x00\\x7d\\x2b\\x35\\x7c\\x36\\xb5\\x97\\x5b\\x11\\x2a\\xf4\\x62\\x01\\x46\\xc1\\xc6\\xc7\\xd9\\xa1\\x59\\x0a\\x05\\x8e\\xf4\\x56\\x6e\\x2b\\xc4\\xbc\\xd0\\x11\\x71\\x59\\x09\\x3d\\x53\\x23\\x45\\xf3\\x96\\xc5\\xf4\\x6e\\xb0\\x9b\\xfb\\x97\\x54\\x5b\\x9e\\x5a\\x37\\x70\\x4c\\x70\\x62\\xd5\\x84\\x0b\\xdd\\xe7\\x25\\xd7\\x07\\x97\\xc4\\x45\\x77\\x8f\\x9c\\x9e\\x16\\x7e\\xea\\xa5\\xec\\xf4\\x2e\\xe3\\xcb\\x87\\x21\\x86\\x77\\x7e\\x78\\xb5\\xa3\\x6e\\xea\\xda\\x7d\\xe5\\xdd\\x2f\\x8d\\xed\\xdd\\x77\\xc9\\x92\\x5d\\x19\\x69\\x97\\x82\\x63\\x6d\\xc9\\xcf\\xac\\x5a\\x65\\xdf\\xb0\\x09\\xad\\x69\\x09\\x1c\\xcb\\xee\\x25\\x76\\x6a\\xc8\\x29\\x4a\\x0f\\xf2\\x9c\\x01\\x14\\xa3\\xf1\\x53\\x90\\x9a\\xac\\xfa\\xd6\\x10\\x35\\x44\\x30\\x66\\xa0\\xaa\\x76\\xe0\\x40\\x18\\x84\\x31\\x07\\xd0\\xdf\\x95\\x5c\\x98\\x02\\x7f\\x55\\x2e\\x04\\x81\\x38\\x24\\x0d\\xd7\\x60\\x05\\x46\\x78\\x0f\\x7e\\xd5\\x47\\x16\\xe4\\xff\\x61\\xd3\\x78\\xc0\\xf6\\x2c\\xa3\\x0f\\xb8\\xd7\\xe1\\x30\\xb4\\xfd\\xcb\\xe9\\xdc\\x07\\xa9\\x60\\x43\\xf7\\xda\\x48\\xca\\x53\\xd7\\xb4\\x09\\x9d\\x21\\x2b\\x15\\xee\\x54\\x9b\\xd0\\x09\\x0a\\x36\\xa1\\x6f\\x02\\xf4\\x3a\\x56\\x55\\xea\\x62\\x7d\\x82\\xe4\\xc8\\x39\\xb1\\x3f\\x31\\x44\\x4e\\x23\\xa0\\xca\\xe0\\xd9\\xc2\\xee\\xa2\\xcf\\xd8\\x27\\x84\\xc8\\x7d\\x67\\xbe\\xfe\\xb4\\xd7\\x8a\\xe0\\xb4\\x4f\\x0a\\x8f\\x63\\x8f\\x2e\\xdd\\xcc\\xdb\\x0e\\xa6\\x5a\\x6f\\x9d\\x34\\x44\\x5b\\x22\\x46\\xf4\\x8e\\x8c\\x2b\\x75\\xd9\\x10\\xcd\\x6c\\x98\\x4e\\x86\\x13\\xa7\\x65\\x66\\xd6\\xec\\x43\\x21\\x7f\\xc5\\xd4\\x9e\\x4a\\x9e\\x4d\\x63\\x06\\xe3\\xf8\\xff\\xa0\\x77\\x7d\\xf8\\xab\\xcf\\x25\\x4f\\xd6\\xc5\\x38\\x12\\xe7\\x1a\\x96\\xfd\\x4f\\xc2\\x99\\xfd\\xfb\\xa5\\xdc\\x2d\\x69\\x13\\x7d\\xe1\\xc9\\xf4\\xd3\\x3e\\xf8\\xa7\\x3a\\x6c\\xd7\\x63\\xe7\\x83\\x86\\xc2\\x38\\xa8\\x65\\x3e\\x38\\xa8\\x8a\\xff\\x86\\x83\\xda\\xea\\x35\\xf4\\x42\\xa1\\x7a\\xdd\\x85\\xc9\\x77\\xa3\\xef\\xda\\x3d\\x70\\xa8\\x76\\xf4\\x4b\\x07\\x52\\x0a\\x92\\xd4\\xe2\\xc4\\x9e\\xc2\\x3f\\xcf\\x9e\\x05\\xfe\\x82\\x8b\\x10\\x50\\xaf\\xb4\\xfc\\xc0\\xec\\x40\\xfb\\x4c\\x8b\\x6b\\x9a\\x92\\x5c\\x73\\x85\\x9a\\xa2\\x14\\xa5\\x3e\\xde\\x61\\x41\\x2d\\x4d\\x15\\xe0\\xcf\\xbd\\xc0\\x5b\\xf4\\xa6\\xad\\x4f\\x03\\xe5\\x48\\x78\\xdf\\x4a\\xa7\\x2e\\x09\\x48\\x4c\\x2d\\x1b\\x15\\x5b\\x50\\xa1\\x9d\\x32\\x2b\\xb7\\x90\\x0e\\x38\\xeb\\xce\\xcf\\x0c\\xe9\\x10\\x65\\xf8\\xd0\\x24\\xdc\\x9f\\xe0\\x58\\xeb\\xa7\\x49\\x6d\\xcd\\x30\\xa7\\x92\\x45\\x43\\x2b\\x45\\x43\\xa3\\x03\\xa8\\x80\\x52\\x1f\\x90\\x0b\\x1f\\x58\\x5d\\xa1\\xb0\\x25\\x10\\x11\\x38\\xdd\\xe9\\x1e\\x28\\xdd\\xe9\\xf0\\x22\\x9b\\x79\\xdf\\xbd\\xea\\xfe\\x7d\\xba\\xb5\\x6e\\xa3\\x83\\xe0\\xbb\\xf7\\x74\\xda\\x34\\x7e\\x7e\\x48\\xe6\\x51\\x7e\\x4a\\x3f\\xda\\x9f\\xf1\\xd3\\x3b\\xf5\\x8a\\x12\\x74\\x5a\\xf4\\x52\\x23\\x49\\xac\\xa7\\xfc\\x91\\xa0\\x44\\x72\\xa7\\xfd\\x8c\\x5e\\xe4\\xf3\\xf2\\x48\\x5d\\xcd\\x40\\xe5\\x45\\xde\\xc9\\x60\\x97\\xd3\\x62\\x81\\x08\\x64\\xfb\\x46\\x90\\xba\\x15\\x68\\xf4\\x3d\\xa2\\x63\\x03\\x66\\x6b\\x3b\\x0f\\xeb\\x59\\xe2\\x99\\xe1\\xd1\\xd1\\xd1\\x92\\xb9\\xe6\\xe9\\xa3\\x0a\\x79\\xd0\\xd9\\x00\\x90\\xd0\\xb1\\xae\\x36\\x83\\x81\\x15\\x67\\xcf\\xd2\\xc1\\x74\\x7c\\xc7\\x95\\x4d\\x62\\xb0\\x94\\x97\\x4b\\x1e\\x5a\\xf5\\x88\\x53\\x17\\x38\\xe3\\x18\\x09\\x65\\x90\\x18\\x4a\\x5c\\xea\\x40\\x24\\xbc\\xd5\\x95\\xea\\x71\\xea\\xd5\\x6a\\x36\\x80\\x91\\xa8\\x25\\x6a\\xb1\\x4e\\x87\\x14\\x71\\x1d\\xc5\\x3e\\x69\\x0f\\x08\\xd7\\x39\\x71\\x3c\\xd3\\x6a\\xbb\\x0f\\x88\\x5e\\xd8\\x89\\x5c\\x6f\\x02\\x07\\x86\\x10\\xb7\\x33\\x29\\x53\\xc2\\xa7\\x64\\x7a\\xa8\\xcd\\x54\\x8f\\x98\\x71\\x6a\\xb1\\xa1\\x23\\x21\\x16\\xf6\\x08\\x53\\x37\\x96\\xd2\\x9b\\x0f\\xc1\\x0f\\xd0\\x9e\\x88\\x9d\\x34\\x74\\xee\\x41\\x10\\x76\\xf6\\xd1\\x95\\x3d\\xd5\\x5d\\x09\\xd6\\x45\\x23\\x1c\\xc0\\xdc\\x24\\xf7\\x1e\\x68\\x6f\\x78\\xc0\\x79\\xfd\\x68\\x24\\x50\\xcc\\xbe\\x7b\\x43\\xdb\\x06\\x87\\x0d\\xf7\\x2c\\xa2\\xb7\\x8d\\x4d\\xcc\\x8a\\x09\\x9e\\xd6\\x61\\xe9\\x7c\\x29\\x90\\xc0\\xcf\\x70\\x29\\xd2\\xeb\\xdc\\x0c\\x64\\xee\\x89\\x02\\x26\\x4d\\xb2\\xe7\\x70\\x83\\xce\\x22\\xf3\\x0f\\xaf\\x9f\\x11\\xf6\\x67\\xaf\\x92\\x1a\\x33\\x09\\x4e\\x93\\x0c\\x0d\\x5a\\x25\\x33\\x73\\x21\\x0c\\xae\\x7c\\x68\\xc6\\x70\\x3b\\x41\\x8c\\x02\\x08\\xf5\\x32\\x3c\\x80\\x3b\\xbc\\x6c\\xb6\\x03\\x72\\x7d\\xe2\\x41\\xf3\\xf2\\x98\\x4d\\x69\\xd8\\x59\\x8a\\xa8\\x60\\x8c\\x48\\x9c\\x18\\x8b\\xe8\\xb7\\xa2\\xe0\\x9a\\x05\\x1b\\xb7\\xc0\\x2f\\x4f\\xbd\\xf2\\xa7\\x11\\xc8\\x02\\x6b\\x0b\\xb6\\xed\\x5c\\xf9\\x94\\xd1\\x0a\\x06\\xc2\\x9a\\x7d\\xdc\\x15\\x38\\xf6\\x75\\xb8\\x56\\x7f\\x7a\\xf5\\xcb\\xf0\\xe7\\xf5\\x4f\\x4d\\xcd\\xca\\xef\\x76\\xe4\\x6c\\xc3\\xf0\\x57\\xc1\\xe0\\x47\\x4f\\x61\\x3c\\x1b\\x24\\x57\\xbf\\x47\\x7b\\x36\\x89\\xb2\\x3a\\xd5\\xda\\xa0\\xd0\\x24\\x89\\x55\\x21\\x8a\\xc7\\x08\\xbe\\x86\\x50\\xbd\\xda\\x27\\x32\\xe5\\xff\\x88\\xdd\\xdb\\x65\\x8e\\x21\\x38\\x24\\x65\\x68\\x48\\xc3\\x97\\xcf\\xfa\\x60\\xf7\\xe6\\xd1\\x9d\\xe7\\xf6\\x1d\\x50\\xa2\\x5f\\x71\\x1f\\xff\\xb3\\x7d\\x60\\xe8\\x24\\x36\\xd3\\x3d\\x76\\x42\\x76\\x52\\xf4\\x2b\\x4f\\xd3\\xdd\\x1e\\xed\\xf7\\x62\\xf7\\x56\\x8a\\x6a\\x07\\x62\\xec\\x5e\\xfa\\x5d\\xfe\\x9f\\x77\\xef\\xa6\\xf9\\xbb\\x69\\x35\\xe2\\x8f\\x98\\xee\\x58\\x4c\\xb7\\x5c\\x6f\\x8c\\x95\\x84\\x2a\\x44\\x51\\xc6\\xa8\\x12\\x97\\xca\\xa8\\xc7\\x5e\\xf3\\xff\\x42\\x37\\x10\\x82\\x4c\\xfe\\x37\\xcd\\xf0\\x93\\x77\\x27\\xfd\\x6f\\x7a\\x1f\\x04\\xd3\\xe5\\xff\\x48\\x2a\\xc6\\x11\\x47\\xb4\\xbe\\x82\\x64\\x75\\x27\\x2c\\xa9\\x63\\x12\\x8b\\x5d\\xf1\\x31\\x66\\xb3\\x36\\x30\\xc0\\x21\\x0a\\x44\\xf6\\x46\\x58\\xa0\\x52\\xa5\\xa0\\x02\\x84\\x24\\x50\\x01\\x07\\xca\\x63\\xea\\xb7\\x72\\xee\\x08\\x4d\\x36\\x93\\x66\\xf7\\x38\\xad\\x82\\xff\\x17\\xa3\\x07\\x2b\\xe6\\x18\\x82\\x42\\x7d\\x26\\x5e\\xe3\\x4f\\x67\\x4c\\xeb\\xed\\x1d\\xc9\\xce\\xb0\\x67\\x97\\x22\\x7e\\x6f\\x75\\x24\\xce\\x31\\xad\\x47\\x4f\\xe2\\x31\\xd1\\x6b\\xf9\\x11\\xb9\\x4f\\x33\\x65\\x64\\x05\\x66\\x27\\xd5\\xba\\xf8\\x71\\x0d\\xeb\\x3d\\xe1\\xd1\\xf5\\xbd\\xcf\\x48\\xb9\\x73\\xd2\\x99\\xf4\\x03\\x7e\\x78\\xee\\xbd\\x14\\x80\\x3f\\x0a\\xf5\\x3c\\xa3\\x90\\xee\\xab\\x31\\x63\\x2d\\xd4\\x6c\\x66\\xfd\\xe4\\x3a\\x3f\\x6d\\x29\\x06\\x75\\x51\\x50\\x9e\\x3a\\x49\\x64\\x3c\\x1a\\x0f\\x7e\\x71\\xfb\\x22\\xe0\\xbe\\x63\\xc8\\x06\\xbf\\x02\\xa9\\x46\\x82\\x05\\x13\\x90\\x2b\\x16\\xc1\\x6f\\xa7\\x2a\\x9c\\xf9\\xa3\\x77\\x19\\xe7\\x86\\x9f\\xdb\\x93\\xd8\\x10\\x1c\\x93\\xe4\\x98\\x6d\\x3a\\xaa\\xd0\\xb2\\x99\\xba\\x25\\x99\\x4d\\xe3\\xe1\\xaf\\x5d\\xfb\\xb8\\x4b\\xe8\\xba\\x9e\\x69\\x45\\xf9\\x48\\x10\\x8d\\xda\\xbf\\x37\\x40\\x74\\x4b\\x3a\\x93\\xd9\\x56\\xb0\\xd4\\x23\\x47\\xf7\\x11\\xcc\\x4f\\xa4\\x37\\x86\\x85\\x87\\x07\\x97\\xba\\xc2\\xcd\\x0a\\x8d\\x9f\\x86\\x29\\x45\\x86\\x43\\x80\\xc2\\xcf\\x27\\x58\\xce\\x8b\\x9d\\xf9\\x4f\\x78\\xcb\\xed\\xdc\\x43\\xa4\\xde\\xe8\\x93\\xd0\\x97\\x37\\x7a\\x1c\\x43\\xf3\\xa4\\x8b\\x15\\xf4\\xb7\\x45\\xf9\\x8f\\xa1\\x30\\x3f\\x72\\xf3\\x8e\\xa1\\x09\\x93\\x52\\x9d\\xf4\\xc9\\x9e\\xbc\\xfc\\x08\\x45\\xbc\\xf3\\x65\\xb4\\xa7\\x65\\x94\\xfa\\x84\\x94\\x16\\x2b\\xfc\\x81\\x08\\xef\\x0a\\x7b\\x0e\\x5f\\x89\\x1a\\x90\\x5d\\x80\\x3d\\xf0\\x68\\xb7\\xde\\x41\\xb6\\xf8\\x7b\\x0a\\x65\\xdd\\x83\\x9b\\x20\\x1a\\xe8\\x74\\x01\\xa3\\x1e\\xd0\\x7f\\xce\\xef\\xe5\\xfe\\x00\\xed\\x4b\\xdd\\xb3\\xa9\\xb4\\x1a\\xdf\\xe9\\x92\\x18\\x4b\\xb4\\xef\\x64\\x88\\x1b\\x63\\x4f\\x4d\\xb0\\x0a\\xb1\\x1b\\x85\\x2a\\x54\\xd5\\x47\\xc5\\x28\\x19\\x95\\x8a\\x0d\\x08\\x90\\x13\\x27\\x99\\xa1\\x9d\\x93\\xcc\\x5b\\xf5\\x92\\x67\\x3b\\x82\\x6b\\xcf\\xea\\xf5\\xd0\\x08\\xde\\x10\\x76\\xc1\\x56\\xf8\\xd1\\xd5\\xcb\\x77\\x77\\x81\\xf0\\x37\\x6f\\xde\\x81\\x49\\xf5\\x4b\\x6c\\xe0\\x02\\xd7\\x15\\x3e\\xac\\x5d\\x1c\\x03\\xbb\\x32\\x05\\xf4\\xcb\\xb7\\xe0\\xb9\\x97\\x3f\\xbb\\x71\\x0d\\xe4\\x3c\\x77\\x43\\xb1\\x70\\x4d\\xbc\\xb5\\xef\\x78\\x77\\xe8\\xcc\\xa5\\x9d\\x07\\x8d\\xf5\\xc4\\xa1\\x73\\x0a\\x44\\x9f\\x81\\x0a\\xa7\\x7a\\x3b\\xe3\\x94\\x9a\\x32\\x97\\x42\\x19\\xaa\\x44\\x06\\x9e\\x52\\x69\\x90\\x1a\\xb4\\x18\\x40\\x54\\xaa\\x28\\x73\\x49\\xd1\\xf1\\xa0\\xfd\\xfd\\x91\\x76\\xed\\xaf\\xa4\\xc3\\x8a\\x5d\\x74\\x3b\\x87\\xde\\x63\\x74\\x5b\\x7d\\x53\\x4c\\x3d\\xb5\\xfe\\x48\\xe4\\x9f\\x27\\x44\\x4e\\x4d\\xfb\\x0d\\x6f\\x5c\\xb4\\x66\\xd6\\xbf\\x36\\x8e\\xcf\\x97\\xd0\\x39\\xd1\\xf0\\x85\\x38\\x90\\x18\\x0d\\xdf\\x4d\\x02\\x03\\xa2\\xdd\\xaf\\xcd\\x99\\xd8\\x6b\\x7c\\xc7\\xc1\\x53\\xd7\\xa5\\xf5\\x7c\\xfb\\x95\\xeb\\xc0\\x75\\x3c\\x37\\xf1\\xf2\\x67\\x97\\xff\\xba\\x4a\\x9f\\xb8\\xbd\\xf0\\xb7\\x17\\xcf\\x83\\x28\\xc1\\x07\\xfd\\x34\\xa1\\x3d\\x8e\\x8a\\x71\\x6a\\x23\\x24\\x92\\xa8\\x40\\x95\\x28\\x0a\\x1b\\xa5\\x51\\xfa\\x40\\xa4\\x7a\\x07\\x2a\\x7d\\x20\\x1a\\x09\\xb2\\x1b\\xb1\\x48\\x05\\xe4\\xe9\\x1c\\x24\\xd0\\x3c\\xd9\\x85\\x1e\\xb3\\xd4\\xeb\\x86\\xe6\\x11\\x97\\xe9\\x03\\x63\\x8e\\x8d\\x8a\\x8d\\xea\\x17\\x14\\x7a\\x3f\\x54\\x13\\x64\\x0a\\xeb\\xe9\\x98\\x92\\xf7\\xf1\\x8f\\x93\\xae\\x4c\\xa9\\xee\\x0f\\x98\\x0e\\x0b\\x87\\x8d\\x9d\\x03\\xea\\x99\\x65\\xeb\\xe1\\x9f\\x2f\\x6c\\xde\\xb1\\x62\\xfb\\xf6\\xea\\xbc\\xcc\\x82\\x65\\x77\\x4a\\x57\\x6c\\xb9\\xf8\\xfd\\x9d\\x53\\xf0\\xca\\xfe\\xa6\\xc6\\x09\\x33\\xde\\xd8\\x0f\\xaa\\xc0\\x6a\\x72\\xbf\\xcf\\xe7\\x69\\xe3\\x3c\\x5e\\x92\\x4b\\xe9\\xd4\\xcb\\x29\\x5d\\x90\\x2c\\x08\\xc9\\x3b\\x99\\x52\\x6f\\x16\\xa1\\x8d\\xc1\\x88\\xf4\\x9c\\xb9\\x1d\\x0c\\x34\\x71\\x98\\x2b\\x29\\xbc\\xef\\x48\\x9c\\x15\\xd9\\x7a\\xb8\\xec\\x97\\x8d\\x49\\x57\\x73\\x5a\\x83\\x46\\x44\\xb3\\x0b\\xe0\\xbd\\x96\\xe2\\xf7\\x8b\\x9f\\x7e\\x71\\xd6\\xef\\x2f\\xf6\\x7e\\xbf\\x77\\xf3\\xb3\\xf0\\xcf\\x61\\xab\\x1b\\xe7\\xb8\\x3f\\xae\\x5c\\xd5\\x38\\x83\\x3e\\x80\\x74\\xf1\\xe5\\x56\\x38\\x0c\\x6c\\xd3\\xdf\\x39\\x7a\\x02\\x84\\x9f\\x36\\x82\\x45\\x70\\x86\\xfe\\xfa\\x6b\\xe7\\x3b\\xb8\\xc3\\x92\\x80\\x7f\\xf7\\x73\\x76\\xfa\\xd3\\x64\\xf8\\x08\\xef\\xff\\x58\\x34\\xa7\\x59\\xc4\\x8e\\x0e\\x42\\x56\\x95\\x48\\x57\\x4c\\x0f\\xa5\\x69\\x5a\\xa3\\x97\\xea\\x44\\xe4\\x92\\xe4\\x2a\\x8e\\xd8\\x4f\\x4e\\xf2\\xd6\\x61\\x17\\xe9\\x0c\\x16\\x9b\\xe0\\x0b\\xb5\\x95\\xd7\\x8d\\xd8\\xfa\\x55\\x54\\x3f\\x10\\xb8\\x24\\x90\\x86\\xbf\\x72\\x0c\\x7f\\x43\\xf7\\x9d\\xe6\\xbb\\xd7\\xc1\\x71\\x77\\xee\\xcc\\x73\\x5d\\xc6\\x74\\xe7\\x6f\\xe7\\xf8\\x7e\\x96\\xa1\\xb9\\x78\\x42\\x3f\\xd4\\xff\\x67\\x3f\\xcd\\x20\\xf0\\x76\\xfb\\x7e\\x98\\x1e\\x0f\\x0f\\xb5\\xed\\x07\\xcd\\x39\\x1e\\x4f\\x30\\xa9\\x20\\x26\\x0a\\xa6\\x68\\x25\\x4d\\xcb\\x19\\xda\\x69\\xd6\\xcb\\x55\\x2a\\xa4\\x15\\xaa\\xcc\\x64\\x60\\xfc\\x4c\\x9b\\xb0\\x76\\xd6\\xb6\\x63\\x71\\x1b\\xb5\\x43\\xd3\\x6e\\xa0\\x5f\\xb0\\xf5\\xbc\\x02\\x32\\x7f\\xba\\x2c\\xcb\\x77\\xb8\\x0f\\xc7\\x45\\x12\\x2d\\x64\\xcc\\x84\\xf4\\x7c\\x60\\xc7\\xc4\\x00\\x2a\\x9b\\xe0\\x8a\\x61\\xfc\\x74\\x3c\\x66\\xb1\\xbe\\x92\\x1e\\x87\\xc6\\xac\\x45\\x1c\\x50\\x6c\\xf6\\x19\\x33\\xf0\\xb2\\xbe\\x34\\x9b\\x05\\xf3\\x3c\\xe1\\x1a\\x74\\x62\\xdd\\x88\\x6d\\xf7\\xa3\\x9e\\x87\\xdf\\x7c\\x82\\xef\\x3f\\xd1\\xa8\\xbb\\x5f\\x58\\x3e\\x6a\\x38\\x53\\xac\\xf9\\xfe\\xc2\\xa3\\xdd\\xec\\xc8\\xa6\\x1d\\xc3\\x1c\\xa9\\x7d\\x62\\xe7\\x4f\\x22\\xe3\\x9e\\x2c\\xf4\\x15\\x81\\xc7\\x1d\\xa1\\xa0\\x43\\xf9\\x51\\x5b\\x94\\xc1\\x4a\\xa3\\x42\\xa6\\x54\\x4a\\x90\\x09\\x63\\x6e\\x45\\xf6\\x13\\x46\\xee\\xed\\xdc\\x7b\\xf7\\xee\\x61\\xb3\\xed\\x2f\\x64\\xd1\\xf0\\x47\\x70\\x82\\xf2\\xb5\\x64\\xbe\\x74\\x53\\xbb\\x2b\\xd9\\xef\\x5e\\x77\\xff\\x87\\x70\\x57\\x51\\x00\\x66\\xaf\\x8c\\xa4\\xf5\\x6a\\x16\\x50\\xe8\\x34\\xb0\\xcf\\x20\\xda\\xa4\\x94\\xce\\x19\\x20\\xe5\\x67\\x41\\xa2\\xc4\\x7c\\x16\\x4f\\x01\\xa1\\x21\\x2c\\x00\\x99\\x96\\x6a\\x1c\\xff\\xc8\\x4e\\x2c\\x5e\\x09\\x4f\\x65\\x8d\\x81\\x5f\\x8f\\x49\\x03\\x25\\xa0\\xc3\\x56\\x17\\x53\\x68\\x80\\x6f\\xba\\xdf\\xa7\\x63\\x81\\x1a\\xa8\\x8d\\xe8\\x7d\\xd7\\x91\\xfe\\xf8\\x0d\\x7a\\x9f\\x0a\\xbf\\x4f\\x6c\\x56\\x56\\xca\\xc6\\xc9\\x68\\x19\\x76\\xd7\\xa2\\xd7\\xe1\\xd3\\x13\\xd6\\xc6\\x64\\x14\\x3b\\xd2\\xc1\\xdf\\xa0\\xc3\\x05\\xd5\\x59\\xf8\\xcd\\x59\\xc9\\xa4\\x9d\\x2b\\x06\\xc6\\x0f\\x67\\x8b\\xbe\\xde\\xd1\\xb3\\xff\\xa3\\x0e\\xcc\\x7b\\xf6\\xd8\\x8a\\xd9\\x86\\x6f\\x8c\\x98\\x37\\xe2\\x3c\\xaf\\x59\\x68\\xef\\x48\\x91\\xd5\\x12\\xe5\\xd4\\x60\\xf8\\xac\\x12\\x5c\\x95\\x90\\x61\\xb4\\x48\\xdf\\x57\\x04\\xd0\\x3a\\x9f\\x00\\x22\\x0f\\x56\\x2f\\x32\\x26\\x90\\x60\\x25\\xb7\\xea\\x36\\xa2\\x27\\xc6\\x01\\xb0\\xa6\\x1f\\xfc\\xea\\x26\\xf8\\x1a\\xec\\xd9\\xb2\\xf2\\x2b\\xf8\\xce\\x2b\\x3b\\x6e\\x4c\\xa8\\x3b\\x7a\\x1e\\x1c\\x81\\x85\\x6c\\x26\\x84\\xcb\\x4e\\x84\\xc1\\x18\\x70\\xe4\\xa5\\xa1\\x65\\xd3\\x50\\x9f\\x7d\\x50\\x9f\\x2f\\x09\\x7d\\xe2\\x68\\x46\\xa9\\x5c\\x5a\\xe2\\x92\\xcb\\x59\\x20\\x51\\xb0\\x9a\\x12\\x17\\xc6\\xa9\\xf0\\x5c\\x17\\xfb\\xe4\\x50\\x23\\xc3\\x3c\\xdd\\x81\\x61\\x4d\\x89\\x73\\xb6\\x13\\x60\\xb2\\xfb\\x02\\xd3\\x4d\\x68\\x84\\x83\\xb7\\x2f\\xfb\\x1a\\xa4\\x9f\\xd9\\x7e\\xa3\\xb1\\xee\\xc8\\x79\\x7a\\x31\\x38\\xf2\\xf0\\x12\\xa0\\x57\\x1c\\x0f\\x05\\x1f\\xc0\\xc2\\x97\\xaa\\x4a\\xa7\\x11\\xdd\\xe8\\x3f\\x42\\x8c\\x61\\x1a\\x8e\\x82\\xe8\\x90\\x98\\x18\\x5b\\xea\\x4a\\x34\\x8b\\x4c\\x91\\xca\\x48\\xa6\\xd8\\x45\\x45\\xea\\x95\\x48\\x36\\x69\\x95\\xff\\x10\\x63\\xf8\\xbf\\x43\\x0c\\xf1\\xe5\\x53\\x5b\\xa1\\x0d\\xf2\\xb8\\x41\\x73\\x96\\x4c\\x2a\\x19\\x72\\x62\\x7b\\x29\\x30\\xfe\\xf5\\xfa\\x65\\x12\\x60\\x58\\x9f\\xdb\\x9f\\x0f\\x30\\x5c\\x5f\\x1e\\x84\\x64\\x77\\xb4\\xab\\x18\\xc9\\xee\\x5c\\x60\\x2f\\x74\\xf2\\x91\\x85\\xf9\\xe3\\xfa\\x1c\\xba\\xba\\x79\\x05\\x1f\\x59\\x98\\xa4\\xe1\\x23\\x0b\\x13\\x96\\x2b\\xfb\\x4b\\xaf\\x12\\x19\\x0e\\x06\\xe1\\xba\\x49\\x68\\x2c\\xcf\\x73\\xef\\x51\\x46\\x6c\\x4b\\xf0\\x08\\x67\\x14\\x25\\x2a\\xf5\\x41\\xed\\x22\\x3a\\x90\\xa0\\xe8\\x60\\x73\\xcb\\xf7\\xd6\\x46\\x0e\\x5e\\x89\\x1d\\xa8\\x89\\x49\\xeb\\x96\\x98\\x1d\\xad\\xfa\\xd8\\x76\\xef\\x82\\x2b\\x3b\\x36\\xb2\\x4f\\x8f\\x7e\\xea\\x4f\\x6c\\x77\\xe1\\x00\\xb9\\xf8\\x7d\\x5d\\x54\\x41\\x3f\\x76\\xe4\\x9b\\xc7\\x35\\x1f\\xe8\\x2a\\x46\\x3e\\xdc\\xfc\\xf6\\x51\\xca\\xa7\\xcf\\x30\\x8c\\xaf\\x28\\x47\\x3f\\x90\\x75\\x11\\xa6\\xd3\\x99\\x4b\\x5d\\x81\\x3a\\x33\\x87\\x4e\\x9a\\x98\\xa3\\xbc\\x93\\xd7\\xea\\x84\\x74\\xd8\\xdb\\xf4\\x8d\\xa3\\x83\\x5a\\x55\\x30\\x8c\\x6b\\x7c\\xe1\\xd6\\x11\\x1f\\x12\\x0e\\x6c\\x8d\\xdc\\xea\\x1f\\x7b\\xf7\\xac\\x97\\x40\\xed\\xad\\xb3\\xcc\\x16\\x81\\x94\\x47\\xf3\\xce\\xc6\\x5f\\x39\\xc4\\x13\\x38\\x1c\\xdb\\x54\\x11\\xe8\\x4c\\x54\\xb3\\x85\\x48\\xce\\x20\\x3b\\x58\\xa6\\x50\\x20\\x2a\\x14\\x4a\\x1c\\x8f\\x55\\xea\\x1b\\x83\\x23\\xe0\\xaf\\x7a\\xae\\xe9\\x79\\x78\\x60\\xaf\\x9e\\xc5\\x63\\x4e\\xd3\\x3b\\x77\\xed\\x94\\xad\\x96\\xd4\\xf7\\x48\\x88\\xcd\\xef\\xbb\\x7b\\x97\\x6c\\x95\\x2c\\xc5\\xde\\x35\\x2b\\x26\\x0f\\x0e\\x68\\x5a\\x90\\x99\\x4b\\xff\\xab\\xa3\\xa5\\x56\\xf7\\x81\\x06\\xff\\xdd\\x6d\\xc9\\xb5\\xd8\\x13\\x74\\xef\\xeb\\x28\\xba\\x05\\xd7\\x0f\\x1a\\x84\\xe6\\x04\\xdf\\xad\\xd9\\x9d\\x66\\xa5\\x3e\\x38\\x1e\\x89\\x65\\xa9\\x86\\x09\\x0e\\xd6\\x53\\xfa\\xa8\\x62\\x97\\x9e\\x80\\xf6\\xd2\\xad\\x37\\xc4\\xc2\\x9d\\x8a\\xa7\\xe0\\xa5\\xcf\\x9a\\x88\\x43\\x00\\x76\\x96\\xd8\\x04\\x6e\\x44\\x26\\x0d\\x4d\\x1d\\xe0\\x6d\\x05\\xe2\\x23\\x63\\x2f\\x92\\x69\\xea\\x59\\xa6\\x3e\\xa5\\x0e\\xd6\\xc6\\x95\\xfa\\x5f\\xd2\\x26\\x68\\x1b\\x5e\\x1f\\xb9\\xe1\\xe5\\x51\\xe7\\xe6\\xac\\x19\\x7e\\xc1\\xf6\\xd9\\xa3\\x95\\x5d\\xd2\\x0b\\x96\\x9a\\x82\\xeb\\x33\\x7b\\x0e\\xe0\\xde\\xe3\\x27\\xad\\x67\\x59\\x89\\x35\\xa3\\x49\\xb3\\x29\\xc2\\x19\\x51\\x98\\xb3\\x74\\xda\\xf0\\x67\\x87\\x94\\x30\\xdf\\xbc\\x7d\\xf4\\xef\\xdd\\xb1\\x49\\xdd\\xed\\x1d\\x52\\xba\\xa3\\xb5\\x3d\\x83\\xce\\x63\\x28\\x57\\xc5\\x47\\xd6\\x30\\x62\\xec\\xb9\\xa0\\xfc\\xfc\\x38\\x95\\x56\\x2b\\xc7\\x55\\xa4\\xda\\x46\\x65\\xfa\\x94\\x8e\\x89\\x20\\x45\\xc8\\x84\\x39\\x15\\x94\\x57\\x11\\x33\\x95\\x07\\x50\\x87\\xb3\\xad\\x60\\xee\\x28\\xe9\\xc6\\xa6\\xa5\\x56\\x0c\\x17\\xde\\xec\\x07\\x3e\\x3c\\x0b\\xbf\\x02\\xa6\\xb3\\xb4\\x3a\\x3b\\xb0\\x9a\\xa0\\x84\\x4f\\x33\\xe4\\xf1\\xf1\\xa0\\xb0\\x9c\\xed\\xc9\\xf5\\xa5\\x4c\\x98\\x1b\\xa8\\x75\\x3a\\x64\\x1d\\xeb\\xcc\\x4f\\x42\\xcb\\xfc\\x27\\x1c\\xf7\\x56\\x8b\\x79\\xa5\\x0f\\x7a\\xfb\\x89\\x76\\x60\\xe5\\x24\\x83\\xe2\\x51\\x59\\x1b\\x90\\x72\\xa2\\x1f\\x6a\\x90\\x9c\\x7e\\x83\\x60\\x87\\x46\\xe2\\xa8\\x9e\\x30\\xbf\\x40\\x63\\x60\\x89\\x8b\\x03\\x0a\\xa3\\x51\\xc5\\x98\\x15\\xaa\\x20\\x24\\x41\\xf5\\x52\\xcf\\x15\\x29\\x1f\\x89\\xe8\\x8d\\xa4\\xf1\\xc4\\x51\\x62\\xa0\\xee\\x74\\x4f\\x14\\x05\\x89\\x87\\xd3\\x10\\xfd\\x95\\x5c\\x21\\xf9\\x17\\x83\\x19\\xc5\\xc0\\x58\\x3c\\x35\\x7c\\x6a\\x8e\\x81\\x86\\x7f\\xf8\\x6b\\xb9\\x2d\\x9f\\x2e\\x58\\xae\\xd0\\xd6\\x85\\xd7\\x15\\x83\\xc0\\x01\\x9b\\x82\\xe0\\x42\\x65\\x57\\xc4\\x29\\x47\\x81\\x2d\\x70\\xd4\\x21\\x78\\x62\\x79\\xd0\\xc8\\x86\\xef\\x97\\x2d\\xcc\\x2d\\x1c\\x71\\x08\\x6c\\x79\\xb4\\xe0\\xc5\\x25\\x7d\\x53\\xfb\\xf6\\xc7\\x73\\x95\\x89\\x68\\xfd\\x11\\xd1\\x9a\\x4c\\x85\\x38\\x15\\x94\\xd1\\x64\\x2c\\x73\\x25\\x99\\x14\\x38\\x8e\\x5d\\xaa\\xf7\\x51\\x04\\xf1\\x2c\\x85\\xeb\\xb4\\x98\\x37\\x79\\x30\\x6c\\x59\\xcc\\xa6\\x1d\\x42\\x06\\xb1\\xc8\\x9b\\x73\\xc8\\x3b\\x39\\xd8\\x4b\\x55\\xbd\\x03\\x43\\x02\\xb7\\xc1\\xbb\\x87\\x6f\\xfc\\x18\\x91\\x96\\x9d\\x16\\x91\\x59\\x6d\\x7b\\xa7\\xb8\\x22\\x21\\xa3\\x66\\xd4\\x90\\x45\\x2f\\x69\\xb5\\xab\\xc6\\xbc\\xcd\\x8c\\x4b\\xd7\\x76\\xed\\x3f\\xca\\xb1\\xf1\\xeb\\x45\\x97\\xf6\\xe7\\x4f\\x18\\x5a\\x94\\x93\\xa2\\x89\\xba\\x5c\\xde\\x33\\xa1\\xc6\\xb5\\x6b\\xee\\x88\\xa9\\x97\\xb6\\x74\\x1e\\x37\\x3a\\x7e\\xd4\\x62\\xde\\xc6\\xa8\\x46\\x74\\xce\\x44\\xf2\\x2a\\x8c\\x3f\\x9b\\x62\\xa4\\x73\\x8b\\xf5\\x21\\xfc\\xd9\\x54\\xb6\\xc5\\xed\\xe6\\xef\\x43\\xd9\\x08\\x1f\\xb4\\x6e\\x3e\\xfa\\x80\\x9c\\x0d\\xb4\\xb1\\x98\\x89\\xb3\\x97\\xed\\x83\\xb7\\xdf\\x78\\xe3\\x8c\\x72\\x16\\x30\\x4e\\x93\\x6d\\xa9\\x78\\x6a\\xa0\\x23\\x49\\x53\\xa4\\x8b\\xb1\\xcd\\x66\\x8b\\xb6\\x3e\\xf5\\x1d\\x6c\\x7a\\x6b\\xd3\\xd6\\xae\\x25\\xf4\\x52\\xf7\\xda\\x3c\\xfb\\xd3\\xcb\\x80\\x76\\x45\\xcf\\x5e\\x62\\xee\\x86\\x58\\xc2\\xdb\\xc5\\xc7\\xd1\\xfe\\x76\\xa2\\x39\\x93\\x50\\xf2\\x63\\xac\\xbf\\x02\\xf8\\xf1\\x35\\x99\\xb0\\xad\\xc3\\x44\\xd9\\x14\\x00\\x60\\x50\\x6a\\x27\\xfc\\xb8\\x52\\x26\\x37\\x55\\xc0\\xe3\\xf0\\x03\\x7a\\x34\\x28\\xa6\\x1b\\x0a\\x5f\\xec\\x78\\xc1\\xbd\\x16\\xb5\\xc3\\xef\\x78\\x46\\xc0\\xa0\\xc6\\xba\\x9c\\x4c\\xab\\x50\\x8b\\xc5\\x72\\x09\\xab\\x50\\x00\\x39\\xff\\x2e\\x12\\xda\\x84\\xd1\\x4b\\x71\\xba\\x93\\x1c\\x57\\xbe\\xb0\\xf1\\x55\\xb9\\x34\\x38\\x1d\\x97\\x75\\x7d\\x6e\\xf6\\x97\\x89\\x2c\\x3f\\xbf\\x96\\x21\\x09\\x48\\x7d\\xfb\\x3e\\x58\\xfa\\x7b\\xa6\\x5f\\xe2\\xf7\\xbf\\xd3\\x95\\x5b\\xba\\xab\\x7a\\xc0\\x08\\x70\\xa9\\x31\\xeb\\x39\\xf7\\x6e\\xb4\\xfe\\x1d\\x6a\\x47\\x82\\x0f\\x70\\x7f\\x67\\x51\\x7f\\x7f\\x72\\x5f\\x10\\x3d\\x4a\\x26\\xf7\\xa7\\x02\\x34\\x3a\\x8a\\x2b\\xf3\\x2d\\x41\\xcc\\xbb\\x1b\\x52\\x04\\x24\\x7f\\x2c\\x8b\\xa3\\x18\\x05\\x0d\\x70\\x45\\x10\\x36\\xaf\\xae\\x47\\x54\\x5a\\x52\\xa7\\xfe\\x05\\xb9\\xbf\\xc0\\x0f\\xca\\x03\\x8c\\xca\\x41\\x89\\xf0\\x4b\\xf8\\x31\\xbd\\xa3\\xe9\\x63\\xee\\x0b\\xd9\\x5b\\x7e\\xd6\\xe2\\xc6\\x87\\xef\\xd2\\x8a\\x6c\\xa0\\x8c\\xbc\\x58\\xed\\xfe\\x91\\x9d\\x70\\x73\\x07\\x7a\\xf1\\x0e\\x8a\\x22\\xf7\\x0d\\x7e\\x78\\x9e\\x38\\x74\\xf0\\x88\\x5b\\x06\\x03\\x45\\x69\\x00\\xb9\\x52\\x60\\x40\\x63\\x3f\\xf8\\x01\\x88\\x39\\x0e\\x2a\\x40\\x94\\xfb\\x5e\\x3f\\x70\\x92\\x9e\\x07\\xfb\\x82\\x97\\xdc\\xb3\\x60\\x0f\\x21\\xde\\x7d\\x35\\x6a\\x4f\\xf2\\x56\\x30\\x3e\\x76\\x99\\x4b\\xad\\x50\\xe8\\xe4\\xba\\x32\\x97\\x5c\\xc7\\x89\\xc5\\x34\\x92\\x12\\xe6\\x27\\xc5\\xbb\\x73\\x3e\\x92\\x33\\xa7\\x15\\xfe\\x88\\x11\\x31\\xc7\\x89\\x90\\x2c\\x59\\x32\\x57\\xaa\\x70\\x97\\xfa\\xc4\\xbe\\xd3\\x35\\x19\\xdc\\x5c\\x2c\\x14\\x71\\xc4\\x43\\xa1\\x10\\xf6\\x0e\\x3f\\xd2\\x93\\x98\\x93\\x4f\\x5a\\xd2\\xd8\\x75\\x88\\x0e\\x03\\xd2\\x6e\\x90\\xb4\\x97\\x23\\xa3\\x43\\x2e\\x67\\xc4\\xfe\\x68\\xdb\\xa3\\x5d\\xa8\\x08\\x91\\x30\\x12\\x6c\\xf2\\x61\\x04\\x50\\x9c\\x9e\\xd2\\x06\\x16\\x1b\\x09\\x4e\\x43\\x2b\\x09\\x1e\\x93\\x5c\\x14\\x07\\x70\\x6c\\x09\\x1f\\xc1\\x97\\x92\\x7e\\x27\\x55\\x0b\\x8f\\xdb\\xe8\\xb1\\x30\\xc7\\x46\\x7f\\x64\\x73\\x6f\\x7c\\x79\\xcf\\xfb\\xe3\\xeb\\xc7\\xdf\\xb9\\x74\\xa7\\x67\\x37\\xda\\x1e\\x62\\x30\\x76\\x1a\\x35\\x3e\\xb3\\xdb\\xd0\\xee\\x46\\x81\\xae\\x4b\\xdb\\xc6\\x57\\xed\\x3d\\x51\\x3d\\x1a\\x3c\\x34\\x07\\xc7\\x8d\\xb7\\x93\\xfd\\x84\\x31\\xa8\\x56\\x10\\x9d\\x3d\\xd9\\x69\\xf4\\x93\\xcb\\xc5\\x58\\x03\\x0a\\x30\\xe9\\x74\\x14\\x66\\x7e\\x32\\x49\\x00\\x22\\x31\\x40\\xd1\\xfe\\xee\\xda\\x83\\x91\\xed\\x75\\xcd\\x39\\x7c\\xdd\\x76\\x69\\x0e\\x1c\\xb9\\x03\\x5e\\x7d\\x66\\xe5\\x53\\x4f\\x8f\\xb4\\x82\\x8d\\xee\\xb7\\xa2\\x99\\x45\\x51\\xb0\\x68\\xcf\\x89\\x6d\\xf0\\x5f\\xa7\\xdf\\xba\\x07\\x80\\x01\\x54\\x7f\\xf3\\xe2\\x99\\xb1\\x75\\xaf\\x82\\x41\\x97\\x5f\\x87\\xeb\\x54\\xaf\\x6e\\x79\\x11\\xfe\\xbe\\xe1\\xd4\\xde\\x60\\x99\\xa6\\x6f\\x35\\x99\\xbb\\x7f\\x0b\\x74\\x59\\x48\\x9d\\xea\\x70\\x1e\\x31\\x5b\\x12\\x53\\xe6\\xd2\\x18\\x8d\\xea\\x12\\x97\\x34\\x94\\x66\\x24\\x46\\x89\\x91\\xd5\\x2b\\x58\\x2b\\x12\\x13\\x6c\\x6b\\xb6\\x62\\x46\\xa2\\x20\\xd8\\x3c\\x09\\x72\\x51\\x36\\x7e\\x45\\xb1\\x75\\xfc\\x18\\xc1\\x22\\xb1\\xde\\x60\\x25\\xcc\\x1b\\x4f\\x2a\\xa3\\x56\\x19\\x0f\\x5c\\x38\\x7a\\xfd\\xe7\\xdb\\xcf\\x6d\\x16\\x6f\\xd8\\x39\\xbe\\x0d\\xf1\\x9d\\x92\\x83\\x93\\x1e\\xfd\\x55\\x59\\xb8\\xb1\\x62\\xfc\\xc2\\x12\\x17\\x1c\\x96\\x92\\x3e\\x71\\xfd\\xac\\x9d\\xc7\\xe6\\xd8\\x2c\\x35\\xb5\\xad\\x03\\x19\\xb8\\x3c\\x37\\xa1\\x7a\\x43\\x52\\xa7\\xbe\\x0b\\x33\\x31\\xff\\x79\\x03\\x9d\\x9f\\x53\\xdc\\x40\\xb4\\x17\\x2d\\x4e\\x15\\x6b\\x28\\x75\\xb1\\x2c\\x25\\x55\\x2a\\xfd\\x91\\xb2\\xc4\\x52\\xbe\\x02\\x8d\\x78\\xbf\\x04\\xfd\\xce\\x17\\x2a\\x9b\\xc6\\xce\\xad\\xe1\\xf5\\xb1\\xd9\\x61\\x4f\\xbd\\xfc\\x76\\xff\\x8d\\xc1\\x10\\x76\\x02\\x19\\x6f\\xbc\\xfb\\xdd\\xbc\\xef\\x57\\x74\\xa1\\xed\\x52\\xd1\\xed\\x63\\x97\\xc6\\xf5\\xcb\\xdd\\xfd\\xd6\\x47\\x6f\\x6d\\x81\\x7f\\x1c\\xd4\\xc3\\xc3\\x3c\\xdf\\xdb\\x89\\xfa\\xbd\\x45\\x62\\x84\\x51\\xbf\\x81\\x00\\xa9\\x47\\x81\\x7e\\x94\\x9f\\xba\\xd4\\x25\\xf7\\xe3\\xfb\\xf5\\xb9\\x38\\xb4\\x68\\x3c\\x49\\x45\\x21\\xc0\\x1b\\xcf\\xe4\\x01\\x14\\x07\\x6b\\xba\\xac\\x7c\\x76\\x37\\x88\\x3e\\x3b\\xef\\xf5\\x1a\\x78\\x7f\\x74\\xdf\\xcd\\xdb\\xeb\\x06\\x5a\\x9c\\x09\\x63\\x41\\x51\\xe0\\xbd\\xdd\\x27\\x41\\xe8\\xb6\\x81\\x7b\\x46\\x72\\xb9\\x01\\x7d\\x6a\\x8f\\x1d\\x99\\xd2\\x28\\x92\\xba\\x79\\x8c\\x7a\\x2a\\x0d\\xf1\\xdd\\xd1\\x5c\\x3e\\xea\\x3f\\xd4\\xa9\\x04\\x81\\xa5\\xb8\\x16\\x65\\x10\\xc3\\x13\\xa0\\x6f\\xcd\\x2c\\x25\\x25\\x28\\x5b\\xab\\x37\\x74\\x06\\x56\\x9d\\x4f\\xb5\\x16\\xb1\\x86\\x99\\xe2\\x44\\xbd\\xc3\\x0f\\x71\\xef\\x20\\xc8\\xdb\\x7b\\x3d\\x97\\x0f\\x8f\\xe0\\xfe\\xe1\\xbf\\xda\\xf5\\x4f\\xa7\\xf0\\xfd\\x6b\\xd0\\xfe\\xe1\\xe3\\xbd\\x90\\x7c\\xd2\\x22\\x01\\x5a\\xec\\x32\\x9a\\x29\\xff\\x62\\x17\\x87\\xd9\\x7e\\x8a\\x4f\\x2d\\x12\\x9f\\x18\\x2e\\x6f\\xf9\\x18\\x4e\\x00\\xac\\x72\\x20\\xbb\\x88\\xfe\\xd7\\xd9\\xf7\\xe1\\x17\\x3d\\xcb\\x27\\xac\\x0a\\x1f\\xa8\\x3c\\xe2\\xc9\\x9e\\x5a\\x78\\xf9\\x03\\x65\\x51\\x2a\\xe8\\xc6\\x16\\x9d\\xd9\\x4b\\x42\\xb6\\x76\\xbf\\x04\\x13\\x4b\\xb3\\xde\\xe1\\x33\\xa6\\x2e\\xbf\\x56\\xd0\\x0f\\x6c\\x00\\x32\\x10\\x8b\\xef\\x76\\x87\\xa3\\xb9\\x40\\x6b\\x81\\xb1\\x5f\\x4c\\x18\\x5b\\x48\\x45\\x2d\\xa0\\x4d\\x94\\xf2\\x04\\xdd\\x27\\x08\\x28\\x82\\x40\\x10\\xa5\\xaa\\xa8\\xe0\\x41\\x1f\\x19\\x72\\x47\\xf7\\x14\\xda\\xf7\\x0a\\x52\\xd9\\xdc\\xe1\\x0c\\x11\\x2b\\x23\\x94\\x11\\x25\\xad\\x8e\\x22\\x05\\xa5\\x30\\xa3\\x5f\\x75\\x24\\xda\\x5f\\xf1\\x0f\\x91\\x00\\xed\\x33\\x40\\x00\\xef\\x77\\xc1\\xc0\\xf1\\x8c\\xc7\\xa1\\xfe\\x17\\x9d\\xf5\\xc2\\xd1\\xa6\\xb1\\x03\\xfa\\x4f\\xbe\\x3a\\xc7\\xbd\\x01\\xac\\xb9\\x59\\xdd\\xdf\\x1e\\xdd\\xa3\\xd7\\xcd\\x65\\x77\\x16\\x4e\\xee\\x37\\xfe\\x0e\\x9b\\xd9\\x38\\xa1\\x76\\x53\\xb8\\x61\\x5c\\x9f\\xba\\xed\\xfd\\xe8\\xb9\\x21\\xce\\xcc\\xa8\\x38\\xb5\\xbb\\x63\\xff\\x7e\\x1d\\xd3\\xb0\\xae\\x52\\x8c\\xeb\\xc8\\x93\\xda\\xb6\\x51\\x98\\x4a\\x0b\\xe2\\x69\\x88\\x75\\x28\\x44\\xa1\\x22\\x44\\xa5\\x48\\x64\\xd6\\x9a\\x65\\xc5\\x2e\\xb3\\x5e\\x8b\\xac\\x38\\xed\\x3f\\xc7\\x2b\\x90\\x5d\\x26\\x0e\\x7f\\xcc\\x33\\x24\\x04\\xc3\\x38\\x88\\x06\\x4a\\xaf\\xeb\\x5f\\xd5\\x77\\x74\\xe4\\xa6\\xba\\xa2\\xee\\xd5\\x3b\\xcb\\x6b\\x3b\\x7f\\xf4\\xfd\\x73\\xf0\\xc6\\x85\\x73\\x1f\\xbc\\xb4\\xe6\\xd4\\xec\\x2f\\x98\\xad\\x03\\x0a\\xb2\\xd2\\x8f\\x17\\x57\\xa7\\x77\\x9d\\x76\\x77\\xed\\x82\\x45\\x47\\xbe\\xbe\\x71\\x11\\x5e\\xda\\xbf\\x75\\xfe\\xec\\x9d\\xb2\\xb8\\xe6\\x21\\x9b\\xfb\\xf1\\x77\\xe9\\xdc\\x0e\\x2e\\x89\\xb2\\xe1\\x3c\\x0f\\xb5\\xa1\\xcc\\xa5\\x55\\xcb\\x9d\\x34\\x28\\xe3\\xef\\xd4\\x43\\x4b\\x5d\\x41\\x4a\\xb9\\xd2\\x2f\\xb2\\xac\\xf5\\x52\\xbd\\x0d\\x1e\\x25\\x5f\\xac\\xba\\xed\\xe5\\xba\\xc1\\x1b\\x2b\\xa0\\x00\\xff\\xf5\\x9a\\x7d\\x6a\\xdf\\x42\\x10\\xd8\\xbb\\x87\\xcd\\x11\\x92\\xda\\x43\\x19\\xfb\\x8f\\x37\\xee\\x11\\x80\\x23\\x45\\xa0\\x3f\\x68\\xbd\\x78\\x07\\x88\\x27\\x53\\xec\\x41\\xe1\\x7e\\x4d\\x0d\\xfc\\x8a\\x5d\\xb3\\xc1\\x6a\\xa4\\x8d\\x02\\x09\\x1b\\xa0\\x10\\xf1\\x28\\xc3\\x58\\xde\\x57\\xc4\\x79\\xd4\\x3f\\xfe\\x0f\\xed\\x5f\\x06\\x56\\x97\\x81\\xc0\\x9b\\xf0\\x9b\\x81\\xb0\\x61\\x20\\x32\\x87\\x91\\x40\\x47\\xd2\\x11\\x99\\xa3\\xd7\\x61\\x32\\xd1\\x23\\x98\\x96\\x2f\\x84\\x1c\\x07\\x7c\\x5f\\x19\\x86\\xf1\\xb3\\x81\\xd4\\x2c\\x2d\\x73\\x31\\x66\\x9d\\x46\\x5d\\x36\\x48\\x43\\xf1\\xf7\\x95\\x22\\x3d\\x52\\x7d\\xcd\\x54\\x1b\\xe8\\x6c\\x4f\\x58\\x07\\xd2\\x35\\x05\\x75\\x57\\xb8\\x9c\\xc2\\x37\\x95\\x24\\x75\\x87\\xe7\\x1e\\x4c\\xe8\\xb6\\xe8\\x6d\\x11\\x0f\\x2f\\xad\\xd8\\xf3\\xdd\\xcd\\x91\\x8b\\x48\\x66\\x03\\xb9\\xaf\\x74\\x67\\x16\\xf5\\x52\\x06\\x34\\x96\\x0c\\x48\\xb9\\x7a\\xf5\\xd6\\xed\\x15\\xd3\\x0f\\x9d\\xa3\\x5f\\xc6\\x17\\x97\\x0f\\xc2\\xfa\\xf5\\xcd\\xec\\x96\\x6b\\xb3\\x0b\\x58\\x10\\x63\\xd9\\xa5\\x64\\xec\\x81\\x4e\\x7f\\x31\\xf0\\x67\\x02\\x14\\xfe\\x3a\\x11\\x5f\\xb8\\xcd\\xa3\\x73\\x68\\xf8\\x5b\\x71\\x0c\\x1b\\x09\\x6e\\x5f\\x58\\xda\\x87\\x5c\\x84\\x7f\\xfd\\x2c\\xb4\\xc1\\x9b\\xe0\\x1a\\xfc\\x1a\\x8d\\x5a\\xdf\\x17\\x6c\\x7c\\x90\\xca\\x94\\x42\\x27\\x78\\x8e\\x5e\\x8f\\xf9\\xc2\\x38\\x34\\xf8\\xb7\\xd0\\x7b\\x39\\x4a\\x75\\x82\\x56\\x00\\xb6\\xcc\\x05\\x04\\x33\\x9f\\xd4\\x4d\\xc1\\x18\\x69\\xbb\\x1e\\x5d\\xbf\\x09\\x8c\\x2f\\xd2\\x81\\x6c\\xe6\\xa3\\x75\\x42\\xee\\x02\\x77\\x82\\xd4\\x42\\xc1\\x55\\xc3\\x8d\\x7c\\xa5\\x27\\x8a\\xc5\\x49\\x17\\x61\\x24\\x76\\x31\\x0a\\xc7\\x2e\\x02\\xf3\\x13\\x62\\x17\\x81\\x45\\xed\\x68\\x9b\\xa7\\xe0\\x6b\\x87\\x02\\x9f\\x18\\x13\\x66\\x26\\xfc\\x26\\x3f\\xc9\\x37\\x49\\xa1\\x93\\xf9\\x9d\\x2d\\xa4\\x7e\\xb8\\xbd\\x87\\x02\\xce\\xf7\\xa4\\x2b\\xc0\\x01\\xa0\\xfa\\x37\\x6f\\x82\\x02\\xe8\\xb0\\x74\\x03\\xda\\x38\\x99\\x45\\x30\\xca\\x27\\x4d\\x01\\x8d\\x33\\x46\\x90\\x3b\\x61\\xd8\\x22\\xe4\\x10\\xff\\x0d\\x42\\x1a\\x30\\xbe\\x30\\xe5\\xf0\\xd0\\x43\\x74\\x32\\x95\\x0a\\x99\\xa9\\x2a\\xb6\\xd5\\x2d\\xe5\\x85\\xa0\\x27\\xf7\\x16\\x4f\\x16\\x45\\xa4\\x4e\\x13\\xbe\\x95\\x2c\\x04\\x7d\\xd2\\x9e\\x24\\x92\\xfc\\x41\\x51\\x24\\x3c\\xac\\x85\\x5f\\x6a\\xe1\\x21\\x10\\x0e\\x54\\x8f\\xc9\\xa7\\xf8\\xd3\\x35\\x35\\x98\\x3e\\x64\\x44\\xb0\\x37\\x11\\x7d\\x91\\x98\\xbe\\x50\\x3f\\x24\\x1f\\x38\\x11\\x57\\xec\\x8a\\x40\\x0c\\x24\\x54\\xa4\\x60\\x14\\xc6\\x52\\x97\\x4e\\xc1\\x32\\xad\\x92\\x8a\\x04\\x70\\x79\\xe8\\xb3\\x12\\x22\\xd0\\xff\\xff\\x45\\x70\\x59\\x58\\x39\\x3c\\x44\\x28\\x39\\x1c\\x09\\x8a\\xfc\\x57\\xec\\xf5\\x11\\x62\\x5b\\xb6\\xd6\\x0e\\x0a\\x77\\xc6\\xa7\\x81\\x3e\\x35\\x35\\x35\\xa7\\xe3\\x0d\\xff\\x6a\\x23\\xc9\\x4e\\x1c\\x9a\\xda\\x20\\x92\\xc2\\x9f\\x31\\x3f\\xd6\\x22\\x3e\\xf7\\x13\\x3a\\x27\\x5a\\x24\\x49\\x22\\xa9\\x2e\\xce\\x88\\x08\\x05\\xa5\\x0a\\x57\\x84\\x97\\xb9\\x14\\x0a\\x19\\x0f\\x05\\x19\\x48\\xa0\\x20\\x43\\x08\\x14\\xa4\\x5a\\xa8\\xfa\\xd2\\x2e\\x0c\\xdb\\xa3\\xd7\\xb5\\x83\\x83\\x24\\xd6\\x23\\x06\\x7e\\xf4\\xad\\xd1\\xa8\\x61\\x00\\x18\\x23\\x29\\x9a\\xd4\\xbb\\xac\\xfe\\x40\\xed\\x88\\xe8\\x8a\\x8b\\x7d\\x30\\xe6\\x63\\x3c\\xa8\\x8b\\x76\\x1f\\x8d\\x32\\x39\\x86\\x38\\xb2\\x52\\xaa\\xb3\\xbe\\x9a\\x04\\xb6\\xf6\\xad\\xd9\\xb7\\xf3\\x22\\x58\\x74\\xad\\x02\\x7c\\x02\\xc7\\xbe\\xe1\\x2e\\xbf\\xca\\x88\\xf3\\x73\\x37\\xc0\\x9f\\x5e\\x5e\\xf9\\x0c\\xd0\\x02\\x99\\x7b\\x2f\\x7f\\x1f\\x47\\x53\\x69\\xb0\\x3f\\xfb\\x09\\x1a\\x43\\x02\\x95\\x45\\x95\\x39\\x3b\\xc4\\x68\\x34\\xd1\\x25\\x2e\\x8d\\x46\\x69\\x32\\x59\\x8a\\x5d\\x21\\x26\\xb3\\x3a\\x4e\\x19\\x57\\x86\\x4e\\xbb\\x00\\x6d\\x99\\x42\\xc6\\x93\\xf1\\xdf\\xa0\\x2d\\xed\\x6d\\x1c\\x71\\x8f\\x41\\x5c\\x7a\\x94\\x41\\x51\\x9b\\xc2\\x11\\x71\\x80\\x58\\x55\\xed\\xe0\\x2f\\xc1\\xb0\\x36\\xa0\\x97\\x7d\\xc0\\xe7\\x56\\xf8\\x9f\\x82\\x01\\xe3\\xde\\x99\\x3b\\x63\\xa3\\xe8\\x6a\\x40\\x82\\xb5\\xaa\\xae\\x7b\\xb7\\xc8\\xc8\\x87\\xf0\\xd7\\x99\\x6d\\xf0\\x30\\x7d\\x01\\x30\\xe1\\xd8\\x73\\x70\\x95\\xfe\\xd9\\x39\\x87\\xe0\\x9d\\x3d\\x6b\\xa6\\x74\\xeb\\x93\\xf7\\xc9\\xc9\\x21\\xfd\\x4e\\x81\\xa1\\xee\\x99\\xed\\x80\\x31\\x29\\x82\\xb3\\xd8\\xd2\\x12\\xc3\\x7e\\x44\\xf2\\xeb\\x3a\\x60\\x44\\x20\\xaa\\xdc\\x99\\xac\\x4e\\x50\\x26\\xa0\\x53\\x6d\\x2f\\x76\\x25\\x52\\x06\\xa0\\x64\\x0c\\xe8\\x03\\xcd\\x07\\x2d\\x6b\\x1b\\x58\\x9d\\xae\\x01\\xc8\\x80\\x0c\\x0d\\xc1\\x3c\\xc3\\x7e\\xe5\\xf1\\x44\\x25\\xa1\\xd0\\x8f\\x07\\x9b\\x21\\x06\\x3c\\xbe\\xda\\x3e\\xaa\\xbc\\xd8\\xc6\\xb4\\x5b\\x78\\x52\\x4a\\x14\\x6b\\xf6\\xf4\\x9b\\x70\\xcd\\xe3\\x7b\\xa0\\xd7\\x80\\xad\\xdd\\xd2\\x33\\xb6\\x6c\\xce\\x19\\xba\\x72\\x47\\x9b\\xad\\x50\\x11\\xa0\\xb1\\xc7\\xa8\\x53\\xd2\\xdb\\x6f\\x89\\x03\\x47\\xab\\xfb\\x1e\\xb9\\xf4\\x41\\x2c\\x73\\xb4\\xfd\\xce\\x70\\x7f\\x10\\x5e\\x52\\x90\\xc6\\xef\\x8f\\xbe\\x68\\x52\\x5e\\xe3\\x3a\\x22\\x49\\x9e\\x41\\xa5\\x3b\\x83\\x52\\xc3\\x23\\xc2\\x8b\\x5d\\x51\\x4e\\x2a\\x42\\x11\\xab\\x30\\x33\\xe6\\x8c\\x32\\x97\\x59\\xc7\\x48\\x8b\\x5d\\x7e\\x4c\\x9b\\xb8\\x78\\xcc\\xe2\\xf8\\xa0\\x5c\\xcc\\xe7\\xd2\\xc9\\x2d\\xad\\xd8\\xd1\\xea\\x8f\\x64\\x70\\x91\\x6a\\x21\\x2f\\x85\\x54\\x15\\x01\\x64\\x1b\\x24\\x92\\x08\\x57\\x47\\x04\\xd1\\xb5\\xc0\\x47\\x20\\xab\\x5b\\xaf\\x65\\x4f\\x5d\\x05\\x69\\xd9\\xa5\\x85\\xce\\xd4\\x75\\x45\\x49\\xba\\x1b\\xd7\\xa0\\x72\\x48\\xe7\\x80\\x69\\xc3\\xac\\xf5\\x0d\\x6b\\x01\\x5d\\xd6\\xad\\x53\\x9f\\xf4\\x59\\x95\\x89\\xf3\\x6b\\xfd\\xb2\\xd8\\x4c\\xdd\\xd2\\x85\\xba\\x20\\xbd\\xc3\\xd1\\x25\\x3f\\x29\\x5d\\xd9\\x21\\xa9\\x6b\\x41\\xf2\\xc9\\x4b\\x63\\x9c\\xf1\\x1d\\xe9\\x31\\x67\\xe1\\xc3\\x0d\\xd9\\x99\\x31\\x59\\x46\\x95\\x6d\\xca\\xe0\\xde\\xd5\\xee\\x7b\\xb1\\xc1\\x3d\\xf8\\xf1\\x6d\\x41\\xfc\\x7b\\x3e\\xf7\\x1e\\x15\\x4d\\xf0\\xc1\\xc3\\x82\\x23\\x4a\\x5d\\x61\\xc1\\x66\\x95\\xbe\\xd4\\xa5\\x51\\x51\\x1d\\x88\\x9f\\x49\\x2a\\x71\\xfa\\x29\\xa8\\x98\\x52\\x97\\xcd\\x1b\\x37\\x6a\\xba\\xe6\\x5b\\xb8\\xce\\x1e\\xe7\\xad\\xd8\\x26\\x54\\x48\\xc1\\xf5\\xeb\\x5a\\xfd\\x66\\x3e\\xbe\\x44\\x91\\x23\\x05\\x3d\\x44\\x7c\\x42\\x60\\x62\\xd3\\x40\\xbf\\xa6\\xa5\\xd6\\x4d\\xcb\\x0e\\xa6\\xbc\\x16\\x3e\\xfe\\xc4\\x42\\x57\\x76\\x4c\\x54\\x61\\x8f\\x7e\\xea\\x4f\\x6d\\x77\\x5f\\x8b\\x1d\\xa8\\x89\\x4d\\xeb\\x96\\xe4\\xb4\\xa9\\x87\\xe7\\x46\\x46\\x2e\\x7c\\x6d\\xb4\\x28\\x52\\xdd\\x50\\x68\\xed\\x40\\xcf\\x3a\\x0b\\xe1\\xde\\x5d\\x65\\x5e\\xbf\\x27\\x76\\x35\\xda\\x7a\\x8f\\x36\\xdd\\xf6\\xa3\\x0f\\xba\\x3f\\x0f\\x33\\x5a\\xb3\\xf8\\x71\\xe5\\x13\\x2c\\xa8\\x8e\\x78\\x54\\x54\\x81\\x33\\x26\\x3a\\xad\\xcc\\x15\\x65\\x48\\x66\\xa2\\xa3\\x13\\x82\\x13\\xd0\\xf1\\x4d\\xd0\\x07\\x47\\x14\\xa3\\x91\\x2a\\x15\\xc2\\x10\\xd1\\x08\\xb5\\xad\\x55\\xbc\\xdb\\x55\\x26\\xf4\\x78\\x04\\x91\\xdd\\xd9\\x66\\x98\\xe2\\x08\\x8f\\x52\\xcc\\xef\\xe3\\x30\\x15\\xef\\x72\\x16\\xf3\\xce\\x4b\\x72\\xc4\\x45\\xde\\x74\\x87\\xbf\\xfb\\x55\\xfa\\x35\\x35\\x58\\x67\\x8c\\xdd\\x9d\\xb2\\xd2\\xba\\xb2\\x4e\\x62\\x36\\xf7\\x0a\\x11\\x37\\x7d\\xb9\\x09\\xa8\\x7e\\xb2\\x46\\x77\\x9b\\xac\\x9e\\x31\\xaa\\x7e\\xe2\\xe7\\x27\\x72\\x27\\xc7\\x35\\xd2\\x9a\\x82\\x8e\\xa3\\x4d\\x85\\xce\\x3c\\x6d\\xed\\xc0\\xc8\\x58\\x32\\xe6\\xb3\\xee\\x0f\\x13\\x43\\xd2\\x13\\xe3\\xc3\\x12\\x6e\\x80\\xc2\\x13\\x70\\xb3\\xb2\\xbe\\xe0\\xc7\\x17\\x5d\\x63\\x47\\x1e\\xfc\\x2c\\x33\\x7d\\x3c\\xe8\\x55\\x30\\xb9\\x92\\x8f\\x8d\\xcc\\x42\\xba\\xcb\\x41\\x74\\x7e\\xd3\\x30\\x3a\\x4c\\x7c\\x32\\x1a\\x69\\x3c\\x85\\xa8\\x40\\x52\\x38\\xcd\\xa6\\xa0\\xb9\\xb0\\x48\\x9d\\x1c\\x8d\\x53\\x25\\x37\\x73\\xe6\\x52\\x17\\xe7\\x1b\\x35\\xc6\\x07\\xb7\\xb5\\x26\\x9b\\x88\\xc4\\xff\\x14\\x55\\x20\\xc4\\x20\\x60\\xe7\\xa2\\xa7\\x2e\\xbd\\x47\\xdf\\x63\\x74\\xac\\x34\\x6d\\x62\\xfe\\xe0\\x2a\\xf5\\x86\\x88\\xb5\\x13\\x83\\x07\\xea\\x62\\x33\\x4d\\xd9\\xa6\\x45\\x9a\\xfc\\xcc\\xd1\\xc6\\x86\\xcf\\xf6\\x97\\xef\\xbf\\xbb\\x7f\\x94\\x75\\x94\\x3e\\x78\\x69\\x63\\xe7\\x1e\\xd6\\x44\\xbd\\x2d\\x4a\\xa6\\x62\\x33\\x93\\x0b\\x7a\\xe7\\x35\\x4d\\xed\\x53\\xe1\\x66\\x8f\\xbc\\x20\\x17\\x7f\\xa8\\x9b\\x49\\x1f\\xa9\\x76\\xce\\x38\\xb4\\xd8\\x7d\\x06\\x47\\xbb\\x32\\x4d\\x67\\x1b\\xd6\\xad\\xd2\\x9e\\x56\\x3b\\xbb\\xf4\\xe3\\x7d\\x45\\x3f\\x12\\xac\\xd1\\x2b\\x54\\x2c\\xce\\xf8\\xf1\\x0f\\xb6\\x69\\x18\\x91\\x4d\\x54\\xec\\x8a\\xb1\\xe9\\x71\\x5c\\x39\\x4e\\x52\\xf7\\x84\\xd0\\xf8\\x5c\\x5f\\xf2\\xd9\\x29\\x18\\x61\\xb7\\xcd\\x45\\x41\\xba\\x6f\\x34\\x79\\xeb\\x45\\x81\\x58\\x03\\xc2\\xfe\\xfe\\xba\\xd3\\xdb\\xf5\\x93\\x27\\xe7\\x8e\\x19\\x3d\\x2a\\xeb\\xb7\\xcb\\x9b\\x9f\\x63\\xef\\xb3\\x69\\x3d\\x8b\\x4a\\x73\\x6b\\xa7\\x0f\\x75\\xc0\\xbf\\xfe\\xf3\\xd3\\x26\\x05\\x77\\xe5\\xe1\\xa0\\x4e\\xdd\\x72\\x8b\\x92\\xb3\\x23\\x2c\\xdd\\x86\\xe5\\xef\\xbb\\xb2\\x61\\xb5\\xa9\\x7b\\x56\\xb7\\x9c\\xb8\\x4e\\xd6\\xb8\\xee\\x23\\xba\\x1f\\xbf\\x38\\xac\\x0f\\xde\\x8b\\x18\\x03\\xf7\\x18\\xa2\\xd7\\x0f\\x69\\x6c\\x11\\x4e\\x35\\xe7\\xcf\\xf8\\x23\\x6d\\x52\\x01\\x28\\x91\\x84\\x92\\xf8\\xe2\\x0b\\x78\\xa0\\x05\\x80\\x47\\xf6\\x31\\x48\\x56\\x84\\x7d\\x59\\x44\\xdf\\xb3\\xb9\\x37\\xd0\\xca\\x68\\x77\\xf3\\x42\\xba\\x06\\x07\\xf1\\xbc\\xed\\x1e\\x7c\\x95\\x19\\xe7\\xee\\x4f\\xbf\\x88\\xdf\\x3f\\x99\\xa2\\xb8\\x78\\x12\\x67\\x15\\x4f\\x65\\x3a\\x83\\x62\\x23\\x22\\xc2\\x82\\xa2\\xa2\\xe2\\x2c\\x5a\\xa9\\x14\\xf8\\x5b\\xd0\\xff\\x8a\\xc0\\x30\\x1d\\xa7\\xa0\\xf4\\x12\\x8a\\xe8\\xc5\\x02\\x08\\x31\\xc9\\x89\\x17\\x3e\\x48\\x5c\\x55\\x04\\x13\\x95\\xe6\\x50\\x60\\xc7\\x98\\x5d\\x93\\x03\\x34\\x76\\x0d\\x62\\x5a\\x38\\x42\\x86\\x89\\xea\\x0c\\x84\\xaf\\xf1\\xa5\\xaf\\xc6\\xa0\\x43\\xec\\xfa\\xd7\\x37\\xa3\\x19\\x10\\xab\\x3f\\xf7\\x66\\xec\\xa1\\x80\\x48\\xe5\\xa9\\xb7\\xa3\\x98\\x5b\\x07\\x60\\xdc\\x9b\\x36\\x46\\xf8\\xce\\x2a\\x3f\\xfd\\x4e\\x14\\x7d\\xeb\\x00\\xa3\\x07\\xf3\\x43\\x9c\\xe9\\xa3\\x12\\xe1\\x6c\\xfa\\x38\\xf4\\x1f\\x14\\x09\\xa6\\xc2\\x25\\x46\\x47\\x22\\xf8\\xf3\\x41\\x6a\\x9b\\x7f\\x19\\x69\\xc4\\xff\\x12\\xe5\\x02\\x7f\\x52\\x02\\x4e\\xfa\\x6d\\x34\\x26\\x31\\xb2\\xe3\\x6c\\x4e\\xad\\x1c\\xc7\\xcd\\x71\\x72\\xf4\\xbf\\xc8\\x5f\\xa6\\x13\\x31\\xa5\\x2e\\x7c\\x3d\\xeb\\xf1\\xb1\\x11\\xed\\x07\\x0f\\x00\\xa7\\x90\\x22\\xbd\\x57\\xf8\\xc9\\x4e\\xfd\\xc9\\x0e\\x6b\\xed\\x3f\\x0d\\x61\\x1a\\xe1\\xbd\\x9f\\x52\\x61\\x6d\\xea\\x4f\\x95\\x4c\\x23\\xf3\\x25\\xf0\\x87\\x7f\\x82\\xaf\\x51\\xf7\\xe4\\x27\\xaf\\x13\\xa6\\xa0\\x73\\xf3\\x0e\\x8b\\x6b\\x2c\\xa2\\xde\\x22\\xcd\\x14\\x63\\x51\\xa8\\x34\\x1a\\x19\\x0e\\x0c\\x61\\x82\\x5b\\x63\\x50\\xbd\\xf7\\x94\\x7c\\x20\\xaa\\xcf\\x8d\\x85\\x02\\x78\\xae\\x2c\\x84\\x90\\x5e\\x5e\\x01\\x67\\x34\\x9d\\xd6\\xd5\\x4d\\x99\\xa1\\xcc\\xe1\\x26\\xa4\\xe4\\x86\\xc7\\x4c\\x2d\\x5f\\xb6\\x4c\\x19\\xe7\\x5f\\x57\\x32\\x2b\\xa4\\x01\\x88\\xe0\\x27\\xf0\\x41\\x9f\\x2d\\xae\\xb2\\xb9\\x33\\x7a\\x97\\x83\\xfc\\x20\\xdd\\x68\\xa5\\xdf\\x7b\\xc1\\x6b\\x96\\x76\\xe9\\x7b\\xaf\\x57\\xf0\\xea\\xbd\\x4f\\xd1\\x5d\\x1f\\x04\\x83\\x0d\\x3c\\x7d\\x83\\x10\\x7d\\x23\\xd9\\x7c\\x3e\\x43\\x58\\xe4\\x1f\\xa5\\x30\\x18\\x8d\\x9a\\x52\\x97\\x51\\xe9\\x1f\\x5e\\xea\\xf2\\xd7\\x27\\x52\\x54\\x7c\\xe9\\x63\\x59\\xcd\\x3c\\xad\\xc2\\xcd\\x4a\\x0e\\x68\\x4b\\xb0\\x88\\xdc\\xb1\\xa8\\x7c\\xe8\\xb5\\x7b\\x83\\x5a\\x98\\x55\\xd3\\x9b\\x94\\xba\\x8e\\xb3\\x8a\\x6a\\xea\\x55\\x39\\xe2\\x32\\x79\\x4a\\x61\\x6c\\x43\\xc1\\x0f\\xea\\x78\\x49\\xa9\\x73\\x7c\\x70\\xc3\\x6f\\xd7\\x64\\x03\\x92\\xcb\\x62\\xab\\xe0\\x80\\xd5\\x8b\\xbb\\xf4\\x1d\\x53\\xe0\\xe0\\xe9\\x8f\\x30\\x0e\\xf1\\xd7\\x7e\\x10\\x0a\\xff\\xe8\\x36\\xf8\\xcb\\xd2\\xa0\\x05\\x2f\\xae\\xa2\\xbb\\x3e\\xbc\\xe7\\x8c\\x9b\\x1d\\xfa\\x51\\x28\\x3f\\x86\\x07\\xe0\\x3b\\xe6\\x01\\x5a\\xb7\\x40\\x2a\\xf8\\x14\\x15\\x08\\x52\\x8e\\xd0\\x22\\x83\\xec\\x15\\x90\\x40\\xa9\\x29\\x11\\x48\\x16\\x4c\\x36\\xec\\x6c\\xa6\\xbd\\x71\\x36\\x18\\x04\\xa8\\x95\\xe3\\xd0\\x33\\x72\\xe5\\x74\\xfa\\x8c\\xc2\\x51\\xa3\\xfd\\x06\\x9f\\x2d\\x56\\xd7\\xe4\\x4f\\x54\\x14\\x9f\\xbf\\x20\\xa2\\xe0\\xae\\xec\\xc2\\xdc\\x51\\x55\\xea\\xae\\x50\\x0b\\x9a\\x8b\\x6c\\x83\\x26\\xf6\\x85\\xfd\\x58\\x7d\\x9b\\x3e\\xc3\\x28\\xcb\\xe1\\x10\\xb3\\xf1\\x24\\xb0\\x1f\\xa1\\xd8\\x00\\x1d\\xee\\x55\\x49\\xb1\\xad\\xbd\\xf2\\xa9\\xae\\x4f\\xec\\xd5\\xcb\\xdf\\xc4\\x74\\xec\\x63\\xbd\\x3f\\xa7\\x5e\\x36\\xb1\\x63\\x07\\x53\\xa4\\xbe\\x4a\\xc3\\x56\\x3f\\x46\\x04\\x53\\x5e\\x51\\x25\\x5d\\xe5\\x3f\\x9c\\xc8\\x24\\x30\\x88\\x3a\\xc7\\x2c\\x17\\x61\\xcd\\x59\\x49\\x99\\x4f\\x51\\x52\\x90\\x74\\xd8\\x4f\\xc4\\xbe\\x02\\x08\\x82\\x38\\xb0\\xf3\\x4e\\x6a\\x3c\\x7e\\xa1\\xa0\\x91\\xc1\\x53\\x4c\\x88\\x3e\\x64\\x3e\\x67\\x86\\x83\\xbb\\xc5\\x05\\x46\\x27\\xc6\\x06\\x6c\\x3e\\xb7\\x4b\\x37\\x85\\x1b\\xbb\\x76\\xed\\xc3\\x12\\xd9\\x42\\x26\\xad\\x33\\x63\\x7d\\xb4\\x6f\\x54\\x2d\\x7a\\xc3\\xd3\\x68\\xac\\x9f\\xb1\\xbf\\x21\\xbb\\xd5\\x7c\\x34\\x40\\xa4\\xa2\\x15\\x67\\xd0\\xf8\\xfc\\x41\\x12\\x9a\\xdd\\x04\\xbe\\x60\\x91\\xe7\\x5a\\xdf\\x03\\xf9\\xc5\\xdf\\xa3\\x33\\xe7\\x53\\x82\\x9e\\x4d\\xcc\\x3f\\x57\\x2f\\x32\\x1c\\xd7\\xd2\\xc9\\x95\\x5d\\xac\\x16\\x36\\x57\\xf2\\x37\\xdc\\x48\\xf7\\x0c\\xda\\xb0\\x75\\x50\\x91\\x3f\\x7a\\xf7\\x00\\x70\\x87\\xd9\\xc6\\x7e\\x49\\xde\\x2d\\xe5\\xc8\\xbb\\x13\\x29\\x09\\x7a\\x2f\\x87\\xde\\xdf\\xfa\\x6e\\x22\\x22\\x30\\x8e\\x7b\\x84\\x10\\x22\\x01\\x26\\xfb\\xbe\\x3b\\xa1\\x1a\\xbd\\x9b\\x5e\\x21\\xf9\\x1b\\xd4\\xba\\x4f\\xa0\\x77\\x97\\x97\\xe0\\x77\\xdb\\xa8\\xb3\\xcc\\x18\\xf4\\xee\\x20\\xb4\\x46\\x3a\\xb5\\xe1\\x24\\x48\\x3d\\x0c\\x58\\xe9\\x49\\x34\\x3d\\xfe\\x22\\xf6\\x24\\xea\\x07\\x4f\\x8b\\x67\\x8d\\x22\\xbc\\xb9\\x12\\xb8\\x23\\xb1\\x6f\\x41\\xda\\x74\\xba\\x07\\x93\\x38\\x22\\x2f\\xce\\x1c\\x9a\\x12\\xb4\\x27\\x29\\xff\\xdc\\x16\\xc6\\x12\\x1d\\x1d\\x1e\\xd4\\xcd\\x51\\x3e\\x90\\xa3\\x17\\x95\\x97\\x4a\\x9e\\x45\\x1d\\xd7\\x3d\\x7a\\x27\\x34\\x28\\xd8\\x6f\\x83\\xb4\\x77\\xb9\\x36\\x81\\x5f\\x17\\x1d\\xf8\\x9e\\x6d\\x40\\xfd\\xe3\\xd8\\xa8\\xd0\\x13\\x8c\\x4c\\xa6\\xd7\\x4b\\x40\\xc0\\x2b\\x68\\x60\\x72\\x32\\x44\\xc1\\x97\\xc0\\x33\\x49\\xc4\\x10\\x89\\x6f\\x34\\xc2\\xa2\\xb1\\x07\\x78\\xb5\\x77\\x7a\\xdf\\xef\\xb7\\xe0\\x57\\x1d\\x73\\x5f\\x78\\x05\\xee\\x5d\\x73\\x2e\\xc3\\x39\\xaf\\x5f\\x61\\x7a\\xc6\\x4a\\xe6\\x08\\x48\\x81\\x47\\xd5\\x55\\xd9\\x33\\xe7\\xd0\\x0f\\xe0\\x35\\x78\\xa4\\x73\\x16\\x31\\xe1\\xd1\\xbe\\xbc\\x04\\xbe\\xe7\\xfc\\x51\\x9f\\xa8\\xc7\\x43\\x9c\\x12\\xf7\\xa5\\x43\\x7d\\x25\\x1d\\xd1\\xc8\\x80\\xff\\x49\\xd2\\xa7\\xdd\\xce\\x5f\\x80\\xb4\\xe1\\xbf\\xba\\x6c\\xcc\\x97\\x89\\x21\\x71\\xf2\\x9d\\x60\\x56\\x1f\\x7b\\xed\\x9d\\xc4\\x83\\xfe\\xfe\\x9d\\x4e\\x5f\\x0d\\x62\\x53\\x8f\\x1f\\x03\\xdf\\x83\\x77\\x53\\x4a\\x43\\xb2\\x6a\\x60\\x32\\xea\\xd0\\xb9\\x38\\x68\\x0d\\xd8\\x8a\\x7e\\x2c\\x06\\xe7\\x71\\x9f\\xbf\\x50\\x67\\xd9\\x3a\\xd2\\xa7\\xf1\\x88\\xbf\\x42\\x25\\xc1\\x33\\xcc\\xd1\\x14\\x9a\\x6f\\xa4\\xd6\\xa5\\xe4\\xd8\\xb1\\x80\\xb4\\x86\\x7b\\x54\\x35\\xd4\\x1b\\x1a\\x28\\x0e\\x91\\x94\\xd3\\x60\\x64\\x76\\x47\\x93\\x4d\\x1b\\xd9\\xb1\\x63\\xc2\\x53\\x97\\x92\\x45\\xaa\\xda\\x43\\x57\\x60\\x6e\\x2f\\xd7\\xb0\\xb3\\xb2\\x65\\x22\\x73\\x76\\x19\\xfd\\x1d\\xdc\\x6d\\x7d\\xd5\\xff\\x5b\\x50\\xf5\\xe8\\xce\\xd4\\x21\\x09\\x54\\x4b\\x0b\\x7d\\x82\\xe9\\xcd\\x86\\x71\\x57\\x95\\x22\\x4a\\x32\\x0d\\xd7\\x5d\\xbb\\xc9\\xf4\\xe6\\x38\\xf2\\x3b\\x37\\x15\\xd1\\x42\\xcb\\x99\\x1c\\x66\\x37\\x37\\x97\\x42\\x12\\xf0\\xb0\\x1f\\x47\\x51\\x89\\x57\\xf0\\x50\\x1d\\x24\\x12\\x19\\x88\\xed\\x0c\\x2d\\x8f\\x0a\\x74\\xe5\\x9f\\x28\\x1a\\x29\\x9d\\x6d\\x67\\x72\\x5e\\x6f\\x3a\\xd1\\xbb\\xe8\\xc5\\x7c\\xf8\\x90\\xf2\\x6d\\xeb\\x8f\\xdb\\x22\\x93\\x3d\\xf1\\x0a\\x46\\xad\\xc5\\x95\\x78\\x23\\x70\\x95\\x7f\\x66\\x37\\x69\\xda\\x1c\\x32\\x3b\\x85\\x9b\\x8b\\x5b\\x3e\\xbf\\x01\\x70\\xb8\\x5d\\x37\\xd4\\x6e\\x3b\\x6a\\x27\\x45\\xed\\x68\\x24\\x59\\xf8\\x76\\x0c\\xae\\xe6\\x67\\x88\\xe0\\xb3\\x32\\xb6\\xdb\\x67\\x8b\\x7a\\x9d\\xb0\\xab\\xa3\\xb8\\xb9\\xf0\\x61\\x98\\x65\\xd6\\xac\\x61\\x93\\x0b\\x06\\xbf\\x8e\\xda\\x8e\\x66\\xa7\\x30\\xd3\\x44\\x00\\xb5\\x95\\x1e\\xa1\\x19\\x89\\x3f\\x95\\x68\\xbf\\x86\\x5b\\x7b\\x30\\x4f\\x71\\x4e\\x11\\xfd\\x67\\xb9\\x61\\x50\\xcd\\x86\\x19\\x86\\xce\\x99\\x5c\\x2f\\xe7\\xe4\\x7e\\xbd\\x6b\\x67\\x4f\\x74\\xa0\\xb6\\xcb\\x51\\xdb\\xad\\x42\\x5b\\xb1\\x48\\x8a\\x06\\x9b\\x42\\x7a\\xe6\\x1d\\xef\\xc4\\xc5\\x67\\x67\\x8a\\x06\\xd5\\x6c\\x9c\\x6e\\xc8\\xce\\x28\\x67\\xa7\\x94\\x15\\xd6\\xcd\\x9e\\x9c\\x1a\\xdb\\x15\\x73\\x85\\x06\\xf0\\x1d\\x2b\\xe6\\xf6\\xa2\\x35\\x0b\\x3c\\xa6\\x63\\x98\\x00\\x7f\\xc5\\x69\\x64\\x60\\x51\\xe4\\x40\\xdb\\xed\\x19\\x04\\x81\\x47\\xe3\\xf5\\x0a\\x0b\\xd9\\x59\\x24\\xfd\\x1d\\x5c\\xee\\x13\\x63\\x77\\x4d\\xca\\xcd\\x9e\\x90\\x78\\x30\\xf6\\xd0\\x92\\x0d\\x3b\\x4e\\xae\\x4b\\x02\\xdf\\x81\\x2d\\xb2\\xcd\\x33\\xb2\\xf2\\x17\\x25\\x34\\xce\\xdf\\xb2\\xb6\\xf9\\x53\\xbd\\x1b\\xf5\\x31\\x0a\\xf5\\x11\\x8d\\xfa\\x30\\xa0\\x3e\\x80\\x16\\xc9\\x5a\\xf1\\xe3\\x7d\\x10\\x6f\\x42\\x5b\\x65\\x09\\x17\\xe7\\x06\\x7f\\xd9\\xcb\\xc7\\x7c\\x76\\x76\\xde\\xa6\\x80\\xd7\\xb8\\xce\\x69\\x15\\xc3\\x3b\\x67\\xa5\\x24\\x95\\x82\\xef\\xdc\\x8a\\xf5\\xb5\\xaf\\xff\\xd2\\x34\\x2d\\xa1\\x7b\\xce\\x92\\x69\\xf9\\x45\\x32\\x38\\x0a\\xfb\\x7a\\x9f\\xa5\\x66\\xb2\\xcf\\xb3\\x78\\x0f\\x84\\x3a\\xf1\\xef\\x03\\xd1\\xef\\x15\\xe4\\x77\\xcb\\xbf\\xb1\\x5e\\xe7\\xa6\\xae\\xb1\\x85\\xec\\xbb\\x94\\x08\\xcf\\xb1\\x88\\x01\\x68\\x8e\\x31\\x1e\\xb1\\x35\\x82\\x01\\x11\\xc0\\xc2\\x16\\x7e\\xf1\\x0c\\x34\\xde\\xa7\\xfb\\x80\\xae\\xd7\\x18\\xe7\\xa3\\xf3\\x2c\\xc3\\xdf\\x21\\x5c\\xe3\\x74\\x42\\x1b\\x11\\xc3\\x7a\\xdb\\x58\\xd0\\xf6\\x05\\x76\\xfa\\x12\\x3c\\x7b\\xee\\x7e\\x33\\xf8\\xea\\x8b\\x6b\\x2c\\xf3\\xe8\\x3c\\xe3\\x24\\x9c\\x76\\x02\\xbb\\x93\\x75\\x71\\xc7\\xd0\\xfe\\xd1\\x38\\x25\\x7e\\xec\\x1a\\x97\\xc8\\x6f\\xe5\\x20\\x5a\\x44\\xe1\\x78\\x6b\\xbc\\x91\\x22\\x08\\xcc\\x9e\\xd5\\x8e\\x1e\\xda\\x79\\x88\\xfd\\x71\\x17\\x07\\xec\\x5f\\xb2\\xaf\\x04\\x2d\\x5a\\x14\\xf4\\x80\\xb4\\x6f\\x46\\xed\\x97\\x91\\xf6\\x7a\\x67\\x80\\x98\\x01\\xcc\\xca\\x41\\x80\\x5b\\xe3\\x42\\x7d\\x7b\\xae\\x55\\xbc\\x28\\xc9\\xcc\\xc0\\x2f\\x6f\\x8a\\x08\\x10\\xb2\\x88\\xdd\\xc9\\xa3\\x1d\\x03\\x7a\\x15\\x3b\\x82\\xa9\\x21\\xf5\\x12\\xfd\\x0e\\xd1\\xa8\\xd5\\x55\\xa2\\xba\\xd8\\x99\\xf0\\xf5\\xdd\\xd6\\xb3\\x23\\xc0\\x28\\xdc\\xc7\\x31\\xf6\\x08\\x9b\\xc1\\x0d\\x42\\xcf\\x04\\x1c\\x65\\xa8\\xb5\\x2e\\x86\\xf2\\x94\\xe5\\x04\\xef\\xd3\\xc3\\xc3\\xdc\\xdb\\xb8\\x41\\xcf\\xe3\\x3d\\xad\\x64\\x0f\\x33\\xff\\x46\\xef\\xe2\\xd0\\x9e\\x66\\xe6\\xa0\\xad\\x65\\xc2\\x6f\\x43\\xba\\x87\\x98\\xa3\\x95\\xdc\\x5d\\x5c\\x8d\\xe0\\x24\\x7b\\xd8\\x4c\\xb5\\x44\\xfd\\x41\\xce\\x4e\\x0e\\x7a\\xfe\\xf5\\xc7\\x9e\\xb7\\x39\\x2c\\x06\\x31\\x13\\xf3\\x9d\\x18\\xd0\\x33\\x38\\xf6\\xf0\\x1f\\x51\\x2d\\x66\\x44\\xc3\\x50\\x38\\x80\\xce\\x6c\\x39\\x4b\\xe8\\x44\\x1f\\x1e\\x3a\\xc1\\x1f\\x88\\x4e\\x38\\x80\\xd0\\x49\\x2d\\x87\\xa7\\x18\\x65\\x4b\\x15\\x79\\x86\\xac\\x18\\xb2\\x91\\x10\\x91\\x2f\\xd1\\xc3\\x2d\\xee\\x6d\\x3b\\x9f\\x27\\xf3\\x25\\x86\\x63\\xe8\\xe5\\x2d\\x8b\\x48\\x9f\\xd4\\x1c\\xc6\\xb7\\x4f\\xf0\\x2b\\xdf\\x27\\x1c\\xc3\\xf7\\x49\\x7d\\x80\\x9e\\x3d\\xd3\\xfe\\x59\\x0d\\x19\\xcf\\x07\\xc2\\x70\\xe0\\x18\\xcf\\x70\\x10\\xef\\xae\\x46\\xe2\\xb4\\x96\\xcd\\x24\\xb5\\x27\\x65\\x47\\x45\\x88\\x9d\\x29\\x10\\x33\\x23\\x5b\\x16\\x31\\x4c\\x0d\\x62\\xd2\\x4c\\xed\\xd3\\x93\\xa3\\x86\\xc3\\x77\\x9e\\x9e\\xcc\\x66\\xc2\\xf7\\x40\\xfc\\xc3\\x4b\\x20\\x9e\\xf0\\x60\\x3a\\x95\\x91\\x0b\\x6d\\xfd\\x0f\\xf3\\xed\\xf8\\x56\\xa4\\x05\\xff\\x30\\xa1\\x7f\\x07\\x35\\x8c\\x3e\\x00\\x7e\\xfc\\xef\\x67\\x3f\\xde\\x7b\\xf6\\x81\\xa3\\xf5\\xec\\x23\\xc6\\x3b\\x8c\\xbe\\x21\\xb4\\xf5\\x39\\xfb\\x56\\xdf\\xb3\\x4f\\xcf\\xf7\\x9c\\xfd\\x61\\xad\\x47\\x1f\\xb5\\x1d\\x4d\\x1d\\xa0\\x7f\\xa2\\x25\\xb8\\xaa\\xe6\\x51\\x31\\x4d\\x73\\x00\\x73\\x49\\x92\\xb4\\x65\\xe1\\xed\\x4f\\xfa\\x36\\x5c\\x17\\x38\\x2d\\xbe\\x29\\x7e\\xea\\x81\\xa6\\x7b\\xf7\\x48\\x9b\\xf5\\xd4\\x01\\xc6\\x28\\xb4\\xa1\\x38\\x4e\\xcc\\x60\\x2e\\xc7\\x6b\\xf7\\x58\\x26\\x3b\\x2c\\x0c\\x98\\x8a\\x1a\\x4c\\x0b\\x04\\xf5\\x60\\xd5\\xbd\\x7b\\x4d\\xb8\\xcd\\x4c\\xd4\\x86\\x46\\x6d\\x02\\x28\\x83\\xd3\\x1f\\x70\\x9c\\x44\\x24\\xf2\\x3f\\x4f\\xa6\\x1e\\x63\\x81\\xf8\\x34\\xe6\\x3b\\xfd\\x6e\\xaa\\xb6\\x49\\x3b\\x2d\\x70\\x9a\\xa1\\xc9\\x30\\x15\\xe8\\x6b\\x6a\\x9a\\xa6\\x4e\\xe5\\x65\\xda\\x0f\\xd4\\x03\\x66\\x1b\\xf8\\x98\\xdf\\xd7\\x78\\xa4\\x18\\xf9\\xcd\\x22\\xfe\\x21\\x9e\\x5e\\x10\\xff\\x40\\xa0\\xef\\x18\\x3a\\x3b\\x33\\xd0\\xd9\\x91\\xe3\\xb3\\x23\\xe5\\x28\\x6e\\xe5\\x20\\xca\\xff\\x29\\x17\\xd5\\x7a\\x76\\x88\\x8a\\x6a\\xe7\\x55\\x52\\x3b\\x4d\\xff\\x6b\\xfd\\x66\\xba\\x79\\x6f\\xf9\\x70\\xd3\\x9e\\x72\\x76\\xe7\\x8c\\xc6\\x90\\x00\\xc9\\xb8\\xcc\\x1c\\xf8\\x1d\\x5e\\xbf\\x51\\xec\\xef\\xcc\\x0b\\xdc\\x05\\x72\\x46\\x28\\x7a\\xdd\\x20\\x8a\\x3f\\x23\\x0e\\x8b\\x98\\x1e\\x85\\x71\\x82\\xd8\\xdf\\x31\\x2a\\x10\\x4d\\xcb\\xd8\\x26\\xe6\\x6f\\x51\\x00\\x92\\xef\\x46\\xc4\\x79\\x54\\x62\\xd5\\x6a\\x97\\x18\\x17\\x0c\\x11\\x53\\x4e\\xca\\xb0\\x9a\\xf4\\x4d\\xee\\x32\\xe2\\xe2\\x84\\xee\\xbd\\xb0\\xa1\\x0e\\x1f\\xaf\\x29\\xfd\\xe9\\xd0\\x71\\xdd\\x16\\x96\\x56\\x8e\\x2f\\x98\\x97\\xcd\\x97\\xf7\\x48\\xeb\\xc2\\x36\\x0d\\xe8\\xd5\\xa9\\xd1\\xd9\\xb7\\x30\\xa7\\x21\\xfb\\x26\\x5f\\xc9\\x23\\x89\\xcc\\x05\\x08\\x40\\x67\\x67\\x25\\x92\\xe9\\x2a\\x4a\\x73\\x42\\xa4\\xa4\\x28\\xd9\\x1a\\xd2\\x0f\\x29\\x63\\xe9\\x61\\xfd\\x58\\xd4\\x79\\xa2\\x9b\\xc0\\xfb\\x83\\xc6\\x4d\\xaa\\xd8\\xd2\\xa7\\xc2\\xd2\\xc1\\x91\\x6d\\xca\\x87\\x03\\xfa\\x14\\xf5\\xdd\\xd5\\x21\\x61\\x71\\xaa\\x29\\xde\\xbc\\xd4\\xc2\\xbf\\xb3\\x02\\xcd\\xdd\\x2e\\xee\\x34\\xe2\\xd3\\xb1\\x4e\\x3d\\x32\\xee\\xb8\\xb5\\x2e\\x85\\x34\\x54\\x4a\\x63\\x38\\x6b\\x27\\xa5\\x5a\\xeb\\xf2\\xc7\\x93\\xde\\x9a\\xdd\\x23\\xcc\\x67\\x02\\x8d\\x15\\xd9\\x08\\x3c\\xa8\\x10\\x9a\\xcc\\xaa\\x1c\\x30\\xcb\\xe2\\x4b\\x7b\\xe7\\x85\\x24\\xa5\\x69\\x96\\x46\\x2f\\x1d\\xd5\\xa1\\x6f\\xaf\\xae\\xc1\\x29\\x76\\xed\\x62\\xeb\\x0a\\x76\\x67\\x44\\x5c\\x44\\x6a\\xe7\\x2d\\xf3\\xd0\\x8f\\x8e\\x19\\x1b\\x17\\x12\\x5c\\x16\\x76\\x07\\xab\\x43\\x6b\\xc6\\xa1\\x1d\\xa2\\x3e\\xe1\\xcf\\x50\\x88\\xe1\\x89\\x49\\x57\\x9e\\x58\\x1f\\xab\\x5d\\x6c\\x20\\x9f\\x20\\x60\\x95\\x08\\xa8\\xbe\\xf7\\x8b\\xe5\\x7f\\xb0\\x3b\\xc2\\xff\\x1d\\xf7\\x03\\xfa\\x43\\xe8\\xef\\x05\\x6a\\x98\\x4d\\x4c\\x06\\xae\\xee\\x7a\\x4c\\x41\\x01\\x7f\\x2e\\x00\\x9d\\x24\\xfb\\x95\\x14\\x7c\\x96\\xac\\x06\\x4f\\x55\\x6b\\xa4\\xca\\x25\\x02\\x31\\x7a\\x38\\x1c\\x74\\xc8\\x89\\xed\\x1e\\x1b\\xbe\\x64\\xee\\xf4\\x06\\x8e\\x2e\\x62\\x68\\xc7\\xd2\\xde\\x9d\\x0c\\xda\\xa3\\x1d\\xab\\xab\\x22\\x94\\xf8\\x7d\\x95\\x8c\\x9d\\xad\\xe2\\x7e\\x44\\x54\\x89\\x0f\\x8a\\x29\\x23\\x9e\\x57\\x2b\\xd2\\x9a\\xad\\x06\\xce\\x20\\xb6\\x71\\xa0\\x12\\x98\\x4e\\xcf\\x3c\\x0d\\x0c\\x7d\\xe1\\x37\\xaf\\xcc\\x3a\\x0d\\xbf\\x62\\x76\\xfe\\xfe\\x73\\xdd\\x4f\\x3f\\x8f\\xf9\\xe5\\xa7\\xfa\\x5f\\xff\\xe0\\xf5\\xf1\\xb3\\xec\\x60\\xa4\\x0f\\x29\\x29\\x13\\x65\\x3c\\xaa\\x97\\x73\\x0a\\x29\\x56\\xc4\\x54\\x48\\xa7\\x4d\\xa5\\x5a\\xab\\x69\\x0a\\x9e\\x1c\\xbc\\x60\\x44\\xa8\\x10\\x57\\x9d\\x8d\\xc4\\x0c\\x7d\\x9f\\xb3\\x62\\xe2\\xb0\\x31\\xdd\\xfa\\x6f\\x7c\\xa7\\x12\\x48\\xde\\x72\\x7f\\x14\\x1b\\x12\\x32\\x34\\x94\\x7e\\xe1\\xd5\\xa2\\x11\\x33\\x86\\xf6\\xcd\\x5a\\x3a\\x8a\\xee\\x0e\\x8b\\xc0\\xe1\\x47\\x15\\x99\\xc9\\xce\\x01\\x4d\\x3d\\x83\\xc3\\xf8\\x75\\xfc\\x1d\\xe9\\xe9\\x93\\x89\\x1d\\x20\\x7f\\x85\\x28\\xfe\\xbc\\xa8\\x25\\xca\\x25\\x03\\x7e\\xbf\\x78\\xee\\x0d\\x24\\x90\\xf5\\x0f\\xf1\\x1e\\x07\\x09\\xe0\\x53\\xe6\\x3f\\xec\\xaf\\x54\\x38\\x15\\x7c\\x4c\\x1a\\xcc\\x98\\x8d\\xba\\x93\\x20\\xf9\\xb0\\x44\\xcc\\x78\\xf4\\x62\\x4f\\x4e\\x8b\\xb6\\xd5\\xa1\\x4c\\x7c\\x1b\\x5e\\x71\\x1d\\x85\\x83\\x8c\\xf4\\x86\\x10\\xc0\\xbc\\x79\\xa4\\x79\\xe9\\x8e\\xa0\\x7d\\xf2\\x82\\xc2\\x4d\\xf6\\x11\\x73\\x27\\x3d\\xbf\\x7b\\xe9\\x4a\\xe5\\x3e\\x43\\xc3\\xf2\\xac\\x86\\xe9\\x35\\xf4\\xed\\x59\\x4d\\xc3\\x47\\x9b\\xec\\xc9\\x43\\x23\\xa2\\x02\\x83\\xc7\\x0d\\x1e\\x3f\\xad\\xaa\\x56\\x57\\xd1\\xcf\\x12\\x63\\x0a\\xae\\xc5\\xb2\\xfa\\x36\\x22\\xa9\\x07\\x7b\\x5f\\x29\\x66\\x92\\x68\\xec\\x69\\xc2\\x3a\\x9d\\xa0\\x37\\xa8\\x45\\xf4\\x3c\\x32\\xae\\x89\\x68\\x48\\xe5\\x44\\xb6\\xa8\\x0e\\xb1\\x88\\xc0\\xa2\\x23\\x2e\\x16\\xb1\\x85\\x44\\x52\\xdf\\x93\\xd4\\xe9\\x65\\xca\\x8f\\xc0\\xeb\\xe0\\x3e\\x67\\xd9\\xe7\\xfb\\xbc\\x98\\x32\\xf0\\xcf\\x1f\\x77\\xb1\\x2c\\x10\\x93\\x26\\xfc\\xfd\\x37\\xdf\\x4a\\x65\\xe7\\xdb\\x25\\x1f\\x61\\x6e\\xec\\x03\\x25\\xd4\\xff\\xad\\x2d\\xbd\\x68\\x1f\\xbd\\xf5\\xff\\xd8\\x16\\x74\\xd9\\xc7\\xdc\\x6b\\x37\\x46\\xcd\\x11\\x0e\\xf1\\x20\\xd4\\xfa\\x10\\x91\\xfc\\xc2\\x2d\\x19\\xdf\\x0a\\x06\\xa1\\x46\\xfb\\x38\\xe1\\xdc\\x4e\\x40\\x6d\\x06\\x32\\xe3\\x51\\x1b\\xf5\\x61\\x06\\x20\\x8b\\xa6\\xd0\\xd3\\x24\\x11\\x37\\xc1\\xc5\\x8c\\x99\\x81\\xd0\\x38\\x09\\x34\\x32\\xe3\\xdd\\x74\\xdb\\x36\\x62\\x4a\\x7f\\x48\\x04\\x50\\x93\\x63\\x2e\\x91\\x88\\xe1\\x10\\x57\\x4e\\x14\\x42\\x03\\x70\\xe9\\x63\\xbe\\xe5\\xaa\\x49\\xa8\\x29\\x98\\x0d\\xe7\\x32\\xe3\\xe1\\x5c\\xb4\\x2e\\x0e\\xf7\\xaf\\x6c\\x48\\x8b\\x58\\x89\\x2b\\xab\\x4d\\xfa\\x6b\\x08\\x91\\x93\\x47\\xd8\\x17\\xd9\\x4a\\x51\\x10\\x5f\\xa3\\x19\\x69\\x14\\x73\\x44\\x48\\x6f\\xb6\\x9b\\x88\\x1e\\x8a\\x13\\xfd\\x70\\xb5\\xc0\\x3c\\xf7\\x36\\x33\\x3d\\xbc\\x07\\xf9\\xe4\\xd6\\x2e\\x83\\xab\\x96\\xf1\\x32\\x36\\x9c\\xc9\\x61\\x57\\x10\\x7d\\x5b\\x43\\xa9\\x8f\\xcb\\x59\\x56\\x21\\x0a\\xc0\\xa2\\x1e\\x9d\\x5c\\x5e\\x38\\x60\\xad\\x1b\\x27\\xb1\\x73\\xde\\xbf\\x31\\x2f\\x9f\\x7c\\x16\\xe9\\xdf\\x20\\xd4\\xaa\\x2f\\x73\\x7f\\x7c\\x7c\\x4f\\x30\\xf9\\xbb\\xa1\\x2f\\x93\\xf3\\xe2\\x7a\\xc0\\x9e\\x6f\\x3c\\xe1\\x3a\\xb0\\x06\\xfd\\x9c\\x76\\x0c\\xcb\\x0d\\x15\\xdc\\x0a\\xf6\\xb7\\x9c\\x41\\x3a\\x1c\\xa1\\x8c\\xa5\\x31\\x65\\x58\\x8b\\xd3\\x30\\x76\\x83\\xc3\\xce\\x2c\\x9b\\x36\\x3b\\x69\\xec\\xec\\x6f\\xd1\\x53\\x96\\x1d\\x3b\\xe0\\x67\\x14\\x5f\\x53\\x7f\\x2b\\x98\\x24\\xb4\\xe1\\x68\\xa4\\x28\\x20\\x76\\x44\\xda\\x18\\x34\\x11\\x36\\x71\\x84\\xe6\\x11\\xdf\\x26\\x0f\\x7e\\xb6\\x63\\x07\\xe0\\xd7\\x81\\x8a\\x47\\x4a\\xcb\\x8c\\x96\\xdf\\x51\\x1b\\xc9\\x61\\xf6\\x3c\\xd6\\x7d\\xae\\x25\\x27\\x71\\x0a\\x80\\xb8\\x85\\x03\\xcc\\x30\\xee\\x5f\\x15\\xd8\\x12\\x20\\x9b\\xdd\\xa7\\xcf\\xec\\x43\\x24\\x9e\\x8c\\xf2\\x47\\xcf\\x97\\x0b\\xcf\\x53\\xe7\\x59\\xf4\\xfc\\x15\\x44\\x53\\x0e\\xd2\\x5c\\x38\\xb1\\xbf\\x71\\xff\\x6a\\x23\\xd5\\x22\\x85\\x03\\x3c\\x0d\\xe8\\x96\\x87\\xe8\\xf9\\x79\\x2d\\xb7\\xb1\\x1c\\x45\\x54\\xe9\\x98\\xf3\\x0a\\x7f\\xcf\\x1c\\x73\\x5a\\x6f\\x9c\\x8d\\x5e\\xec\\x23\\x54\\xc0\\xbc\\x15\\x83\\xbb\\x97\\xaf\\xa8\\xe8\\x56\\x3e\\x3c\\x26\\x32\\x39\\x3b\\x2a\\x32\\x31\\xf7\\xed\\x8a\\xf9\\x03\\xf3\\x07\\x2d\\x1c\\x58\\x16\\x1e\\xdb\\x25\\x39\\x3c\\xae\\x0b\\x4f\\x7b\\x07\\xea\\x75\\x70\\x08\\xdc\\x69\\xab\\xb7\\x59\\x79\\x1d\\xca\\xc0\\xeb\\x50\\xaf\\x13\\x15\\x0a\\xd1\\xb1\\x8f\\x7a\\x9d\\xde\\x4d\\x9e\\x0d\\x40\\x74\\xf8\\x31\\x73\\x44\\xde\\xd9\\x71\\x90\\x16\\x76\\xf2\\xb9\\x81\\x6f\\x76\\xc7\\xa7\\x35\\xff\\x06\\xfc\\x8e\\x26\\xf4\\x8e\\x5b\\x4f\\x7e\\x47\\x0e\\xc0\\xda\\x98\\x85\\xe8\\x64\\x3f\\x09\\x3a\\x99\\xfb\\x6f\\xe1\\x2f\\xaf\\x13\\xdd\\xcc\\xab\\x6f\\xb6\\xe4\\xc2\\x95\\xb4\\xa3\\x65\\x03\\x92\\xbc\\xea\\xe3\\x6a\\x7f\\x6a\\x8e\\x8e\\x93\\xa1\\x39\\xb9\\x68\\xba\\x73\\xb1\\x8d\\x6c\\xa2\\x5b\\x65\\x13\\x0d\\x32\\xa3\\x7b\\xe6\\x75\\x36\\x47\\xa6\\x04\\x36\\x85\\x64\\x0f\\xc9\\x8b\\xe9\\x95\\x97\\x65\\x8a\\x4f\\xd4\\x4c\\x37\\xe6\\x54\\xc2\\x95\\x11\\x31\\x11\\x1d\\xba\\x8e\\xa9\\xce\\x0c\\x8f\\x0d\\xcf\\x4c\\x1d\\x5e\\x93\\x85\\xe5\\xd3\\x11\\x70\\x81\\xde\\x26\\xd4\\x1f\\x97\\x1e\\xa1\\x68\\x8e\\x25\\x9b\\x93\\x8f\\x49\\x27\\x7f\\xf2\\x1d\\x20\\xcc\\x01\\x8b\\xf0\\x27\\x7b\\x18\\xc7\\x98\\xba\\x95\\xc0\\x08\\xbf\\x46\\xe7\\x2c\\x8c\\x9d\\x43\\x9f\\x25\\xe7\\x59\\x7a\\x84\\x01\\x73\\x38\\xbc\\xc8\\xe4\\x4c\\x88\\x91\\xca\\x03\\xaa\\x40\\x85\\xfe\\xdb\\xb8\\x89\\xdc\\x95\\x86\\x4f\\xd0\\xb3\\x05\\xe8\\xd9\\x57\\x3d\\xcf\\x72\\x73\\x00\\x5e\\x84\\x14\\x22\\xff\\x90\\x5e\\x45\\x37\\x4d\\x8c\\xfb\\x56\\x8f\\x64\\xf4\\x9c\\x4f\\x1a\\x48\\x2d\\x99\\xd1\\x60\\x78\\xcb\\x31\\xf2\\x2c\\xdd\\xfa\\xac\\x01\\xdf\\x1a\\x58\\x52\\xf0\\xa3\\xb0\\xb9\\xd7\\x27\\xa4\\x1e\\x3d\\x79\\x76\\xb5\\xe7\\x59\\x5f\\x1a\\xc8\\xc5\\x50\\x11\\x6c\\xc6\\x34\\xc0\\xd1\\x98\\x86\\x96\\x6a\\xa4\\x57\\xec\\x68\\x79\\x8f\\x9c\\x62\\x16\\xcc\\x11\\x31\\x9e\\xb3\\x02\\x90\\xaa\\x8b\\x2b\\x62\\xd3\\x7d\\xdd\\xf2\\x82\\x67\\xe2\\xc0\\xfe\\xb8\\x66\\xb4\\x1d\\x67\\xde\\xbd\\xcb\\xfb\\xcc\\x71\\xbb\\x09\\xa8\\x1d\\xee\\x03\\xb5\\x63\\x3c\\xb4\\x93\\x56\\x42\\x1b\\xba\\x98\\xb4\\x20\\xcf\\x1f\\x43\\x7f\\xfd\\x93\\xda\\x8a\\xce\\xbc\\xf2\\x18\\xf0\\xf3\\x63\\xce\\x8b\\x31\\x55\\xc4\\x16\\xe4\\x2c\\x86\\x08\\xc6\\x81\\xdb\\x81\\x2f\\x60\\xc5\\xd4\\x49\\xab\\x98\\x47\\x93\\xde\\x07\\xcd\\xa7\\x7f\\x06\\x66\\x39\\x30\\xff\\x4c\\xfa\\x83\\x57\\x45\\x91\\x54\\x89\\x38\\xbb\\xed\\x7e\\x65\\xc8\\xbe\\xeb\\xc9\\x6f\\x38\\x51\\x24\\xbf\\xdb\\x40\\x4b\\xac\\x28\\x12\\x28\\x1e\\x7b\\x96\\xec\\xaf\\xdb\\xc2\\xb6\\x12\\x45\\x7a\\xb6\\x14\\x92\\x45\\x0b\\xd8\\x9d\\x4c\\x2d\\x77\\x4c\\x29\\xa6\\x17\\xb7\\x10\\x88\\x3d\\x0a\\xb8\\xa3\\x44\\x11\\x94\\x49\\x1c\\x47\\xf6\\x19\\xda\\x63\\x73\\xd4\\x58\\x17\\xba\\x68\\x37\\xdd\\x49\\xb9\\x88\\xde\\xf5\\xc4\\x7d\\xf6\\xc5\\x3f\\x6e\\x33\\x51\\xc4\\xe3\\xdb\\x0c\\xd1\\x39\\x9c\\x8b\\x04\\xdf\\x0a\\x76\\x1b\\x60\\x88\\xad\\x83\\x23\\x9c\\x67\\x10\\x5b\\x87\\xbb\\x82\\xed\\x31\\x38\\x59\\xe4\\x64\\x42\\x44\\xab\\x7c\\x75\\x60\\xac\\x90\\xc2\\xc9\\x0a\\x76\\x8b\\x42\\xe4\\x2c\\x2a\\x42\\xef\\x29\\x67\\x5f\\xa0\\x43\\xb9\\x1f\\x90\\x0e\\x2c\\x3f\\x1a\\xc0\\xcd\\xf1\\x23\\x27\\x0b\\xaf\\xb8\\x06\\xc7\\x07\\xda\\x79\\x45\\x08\\x29\\x69\\x4d\\x4b\\xb6\\x31\\xcd\\xae\\x6e\\x3d\\xa6\\x07\\xed\\x49\\xfa\\x84\\x7d\\x61\\xf3\\xcc\\x84\\x42\\x57\\x79\\xd1\\xc6\\xfd\\x98\\x1f\\x50\\xec\\xef\\xa0\\x8b\\x47\\xf7\\x05\\x65\\x82\\xee\\xab\\x42\\x5d\\xe1\\x38\\x12\\x5e\\xf3\\xc5\\xe7\\xb8\\x07\\xfb\\x2b\\x80\\xc2\\xd9\\x50\\x9f\\x00\\x1c\\xcb\\xad\\x1f\\x44\\xe1\\xf3\\xc1\\xeb\\x6e\\x1a\\x07\\xd9\\x34\\xe2\\x07\\x71\\x1f\\xc5\\xb9\\x27\\xc5\\xdd\\x8e\\x63\\x7f\\xfd\\x04\\xfd\\xc7\\xaf\\xe1\\x7f\\xb8\\xdd\\xd4\\x01\\xd1\\xdf\\x94\\x1a\\x73\\x7d\\x95\\x8a\\xa3\\xfd\\x94\\xd8\\x9a\\x48\\x21\\xbb\\x80\\x69\\x13\\x51\\xae\\x40\\x87\\x20\\x45\\xb7\\x38\\x25\\xcb\\x5f\\x57\\x13\\x3f\\x7b\\x71\\x4d\\xad\\x74\\xa3\\xe1\\x69\\x91\\xcb\\xe1\\x37\\x92\\x15\\xe7\\xe7\\x64\\xf5\\xf5\\xcb\\x9a\\xca\\xd3\\xf3\\x21\\x3b\\x1b\\x54\\x72\\x50\\xe0\\x91\\x0a\\xff\\xf3\\x3a\\xc6\\x2b\\x87\\xfe\\x89\\x47\\x56\\x7a\\x79\\x64\\xb4\\x95\\xe7\\x91\\x5c\\xe5\\xe3\\x4c\\x92\\x86\\x2f\\xb0\\xbb\\xe8\\x7c\\x72\\x3e\\x31\\xcf\\xf2\\x67\\xe7\\x88\\x81\\xe7\\x74\\x30\\x11\\x0e\\x60\\x17\\x6b\\xc8\\xe7\\xdb\\xab\\xc4\\x40\\xfb\\xbd\\x5f\\x14\\xff\\x83\\xdd\\x15\\x0e\\x24\\x71\\xb0\\x05\\x7f\\xa2\\xbd\\x75\\x1f\\xed\\xad\\xcb\\x64\\x6f\\x2d\\x69\\xe9\\xc2\\xef\\x2d\\x2a\\x1a\\x19\\xe5\\x34\\x99\\x43\\xbc\\x3f\\x81\\x60\\x93\\x22\\x4b\\xf8\\x8c\\xc7\\x60\\xa7\\x5b\\x5e\\x44\\x3f\\xe7\\x08\\xf3\\x2c\\x3f\\x2a\\x62\\xe6\\x70\\xde\\xbe\\xf1\\x93\\xf8\\x4f\\xe6\\x9a\\x6e\\x6b\\x4e\\xa3\\x3f\\xb8\\x05\\xdc\\x82\\xcd\\x67\\x44\\xf3\\x27\\x88\\x66\\xb5\\x97\\x66\\x31\\x3d\\x27\\x80\\xf3\\xb6\\x73\\xd8\\x35\\x88\\x07\\x91\\xcf\\x06\\xbf\\xef\\x0f\\x88\\x57\\xb9\\x87\\x90\\x1f\\xdc\\xee\\x38\\xf8\\x9f\\x70\\x00\\xf0\\x27\\x9e\\xd3\\x4a\\x76\\x1b\\xad\\x16\\xbd\\x8c\\xfa\\xc6\\x2b\\x85\\x2c\\x59\\xbf\\x39\\x52\\xbc\\xc4\\x68\\xf3\\x5f\\x22\\xef\\xb1\\x88\\x19\\xb2\\xb3\\x78\\xa0\\x2d\\xb4\\xb3\\x52\\xa3\\x81\\x36\\xfa\\xf2\\xe2\\x4d\\x4c\\x33\\x28\\xc9\\xef\\x51\\x1f\\xbc\\x27\\xf9\\x06\\x77\\xef\\xfa\\x75\\x78\\xe6\\xa9\\x19\\x49\\x45\\xe8\\xbf\\x2d\\xcd\\xe4\\x5c\\xb2\\x7b\\xc0\\x2d\\xee\\x16\\xb2\\x8c\\x91\\x2d\\x29\\x9e\\xc3\\x4a\\x3d\\x2b\\xa5\\xf1\\xd8\\x13\\x7a\\x9d\\x38\\x02\\x69\\x9b\\xdb\\xf2\\x26\\x05\\x6d\\xef\\x70\\x73\\xcd\\xa2\\xf5\\x60\\x7b\\x5f\\xce\\x59\\xd2\\x6b\\xf5\\xae\\x15\\x8b\\x82\\x99\\x9e\\xc5\\x3c\\xef\\xd9\\xcb\\xe4\\x80\\x4c\\xc1\\xd7\\xe7\\xef\\xf1\\xf5\\x31\\xad\\xbe\\x3e\\xd7\\x3f\\xb9\\xfa\\x7c\\xda\\xfe\\x83\\xaf\\x0f\\x64\\x3e\\xd9\\xd7\\xd7\\xf2\\x19\\x6a\\x97\\xfe\\x5f\\x7d\\x7d\\x20\\xfd\\x1f\\x7c\\x7d\\x54\\x21\\x6a\\x7b\\xef\\xbf\\xf4\\x79\\xef\\xc9\\x7d\\xc2\\xdd\\x70\\x0c\\x65\\x6d\\xef\\xbb\\xe0\\x79\\xde\\xa4\\x36\\x6e\\x0e\\xf4\\x6c\\x03\\x7a\\xb6\\xff\\x63\\x3e\\x11\\xc2\\xf3\\x60\\xc3\\x63\\x8e\\x0e\\x00\\x77\\xc1\\x01\\x54\\x5c\\xcb\\x45\\x34\\x12\\xe5\\x31\\x96\\xe3\\x68\\xa2\\xbe\\x5c\\x25\\x27\\xd1\\xc0\\xf0\\xb6\\x79\\x5c\\xf7\\xa6\\xc0\\x7b\\x81\\xf7\\x0c\\x59\\x70\\xdd\\xb4\\xa6\\xa9\\xa8\\xcd\\x1e\\xd4\\x26\\xc9\\xd3\\x86\\xa6\\x45\\x3e\\x6d\\x14\\xa4\\x80\\x74\\x84\\x66\\x8b\\x01\\xb5\\x08\\x6c\\xea\\x9e\\x35\\xb5\\x69\\x1a\\xa8\\x47\\xf3\\xd6\\x8d\\x3d\\x4d\\x0f\\x10\\xad\\x7d\\x5c\\xc6\\x11\\x88\\x85\\x87\\xcd\\x9d\\xdd\\x87\\x42\\xe9\\xdf\\xd8\\xd3\\x20\\x63\\x27\\x39\\x1b\\x06\\xfa\\x6f\\xe0\\x16\\xd6\\x16\\x30\\x9e\\x79\\xe6\\x95\\x40\\xcc\\x1e\\x80\\x73\\xa6\\x1d\\x88\\x63\\xac\\x1f\\xbc\\x66\\xaa\\x5f\\xc9\\xce\\x04\\xec\\xcd\\x33\\x77\\x83\\x96\\xc8\\xe7\\xe1\\x31\\xfd\\x0a\\x31\\x37\\xfc\\x90\\xf8\\x46\\xa4\\x94\\x58\\x24\\x48\\x6d\\xc6\\xd7\\x37\\xd2\\xdb\\xe3\\x1a\\x81\\x45\\xbe\\xbe\\x11\\xb8\\x12\\x8d\\x4d\\xdd\\x72\\x84\\x8c\\x4d\\x44\\x7b\\xa5\\x26\\x01\\xf9\\x16\\xbc\\x23\\x22\\xb8\\x2e\\x70\\x7a\\x7c\\x53\\xfc\\x14\\x38\\x00\\x7b\\x47\\x00\\x3c\\x85\\xda\\x64\\x0b\\x6d\\x00\\xc7\\x31\\x73\\x88\\x4c\\x23\\x0e\\x0e\\x83\\xe0\\x1d\\x89\\x9a\\x82\\x1a\\x4c\\x0f\\x04\\xf5\\x6f\\xf3\\xbe\\x11\\xf8\\x0c\\x6a\\x13\\x83\\xda\\xf8\\xf8\\x46\\x98\\xf3\\xfe\\xbe\\xbe\\x11\\x8d\\x8f\\x6f\\x44\\x33\\x43\\x4f\\xfe\\x37\\xa0\\xff\\xe1\\xdb\\x8d\\x8d\\x0d\\xd3\\xa6\\x21\\xd9\\x74\\x10\\xde\\x06\\x09\\x2d\\xab\\x79\\x3f\\x1a\\x4d\\xf1\\xfe\\x54\\x8b\\xd8\\x7d\\x30\\x92\\x19\\x18\\x09\\x6f\\x9f\\x3a\\x85\\xfa\\x19\\x82\\xfa\\xb9\\x40\\x0d\\xa7\\x64\\xe8\\xac\\x49\\xc4\\x2c\\x2f\\x05\\xb1\\x65\\xec\\xf0\\x49\\xc6\\xca\\x01\\x17\\xc2\\xc3\\xcf\\x3e\\xeb\\x49\\x7c\\x8f\\x1c\\x7e\\xe8\\xf0\\x8b\\x24\\xc3\\xfd\\x24\\x39\\x2b\\x4d\\x48\\x66\\x4f\\x40\\xef\\x50\\x61\\x8d\\x8d\\x0b\\x20\\xef\\xb8\\xc2\\xbf\\xa3\\x6d\\x1e\\x65\\x0e\\x78\\x3d\\xd2\\x27\\x69\\x32\\x7c\\xf8\\x49\\x9f\\x1c\\xc9\\x43\\x58\\xc6\\xc2\\xd7\\xe1\\x5a\\x8a\\x6d\\xa9\\x52\\x8a\\xfd\\x7e\\xa5\\x6e\\x11\\x3e\\x48\\x43\\x16\\x36\\x52\\xa7\\x5b\\x0a\\x05\\x59\\xc2\\xb0\\x34\\xbb\\x7e\\x10\\x47\\x7b\\x65\\x09\\x23\\xc8\\x92\\x02\\x8f\\x2c\\x81\\x8d\\x1e\\x59\\x42\\xc3\\xe7\\xd0\\xf8\\x3a\\x3c\\x59\\x37\\x36\\xfc\\x03\\xdf\\xef\\xf0\\x18\\xdb\\x7f\\x4c\\x35\\x06\\xf0\\x26\\xcc\\x40\\x1c\\xf0\\x30\\xb6\\x4d\\x90\\x6d\\x25\\x3a\\xd9\\x72\\xfe\\x88\\xbf\\xb4\\x07\\xda\\x4a\\x71\\x84\\xc9\\xe0\\x03\\x8b\\x48\\x92\\x83\\x67\\x97\\x8e\\x57\\x8c\\x89\\xfe\\x77\\xa0\\x3c\\x1b\\x66\\x0c\\xef\\x76\\x7d\\x56\\xb7\\x46\\x5e\\xc6\\xe5\\xc2\\x0a\\x6a\\x61\\xcb\\x6f\\x94\\x16\\x71\\x4e\\x3f\\x8e\\x39\\xaf\\x94\\xa9\\xb1\\x53\\x82\\x9f\\x37\\x42\\x99\\x07\\x02\\xcd\\x93\\x94\\xb6\\xf0\\xee\\xe9\\xc1\\x45\\x81\\x3d\\x8a\\xab\\x46\\xd7\\x67\\xf7\\x48\\xa9\\xe8\\x51\\x3b\\xfd\\xe5\\xf1\\x0b\\x64\\x33\\x02\\x1c\\xf6\\x5c\\x6d\\x9d\\xb6\\x1f\\x7a\\xe7\\xcb\\x68\\xac\\x38\\xd4\\x1a\\xaf\\x83\\x52\\x46\\xf1\\xdb\\x2c\\xc5\\xbb\\xb3\\x7d\\xdd\\x3e\\x8b\\x2a\\xc7\\xb8\\xfa\\xee\\xe8\\x5a\\x10\\x1d\\x95\\xee\\x34\\xe7\\xc3\\x01\\xe5\\xbd\\xbb\\x2f\\x4b\\x4d\\x1a\\x9f\\x18\\x1e\\x43\\xbc\\x3e\\x00\\x3e\\x80\\x03\\x5a\\xde\\x23\\x3e\\x58\\x74\\xbe\\xbc\\x3c\\x05\\x49\\x93\\x46\\x8f\\x13\\x16\\xb8\\x2f\\xa3\\x9f\\x62\\x41\\x27\\xe4\\xd0\\x43\\xe2\\x56\\xc9\\x83\\xb6\\x19\\x3a\\x8b\\xaf\\x36\\xc7\\xc1\\xb2\\xb8\\x67\\x0a\\xe8\\xdf\\xe0\\x80\\xbb\\x77\\xc1\\x4c\\xf4\\xde\\x68\\xb8\\x93\\xba\\xda\\x32\\x9b\\x32\\xe1\\x7d\\x1d\\xa8\\x52\\x89\\x99\\x39\\x1a\\xe2\\x9d\\xc4\\x3a\\x3e\\x39\\x46\\x04\\xdb\\x4d\\x48\\x0f\\x70\\xd8\\xf9\\x0d\\x24\\xfc\\xb8\\xaa\\x9f\\x51\\x3e\\x30\\x2e\\x77\\x50\\xcf\\x62\\x71\\x0d\\xd7\\xcb\\x65\\x18\\x86\\x3f\\xe6\\xd6\\x4c\\xed\\xdc\\xb9\\x6f\\xef\\x50\\x8b\\x5e\\xdd\\xb3\\x01\\xff\\x21\\xfb\\xe8\\x36\\x14\\x81\\x57\\x5b\\x82\\xb0\\x2d\\x0a\\xb5\\x7f\\x4d\\x20\\xdf\\x4d\\x86\\x7e\\x60\\x70\\x4b\\x08\\xfa\\x2e\\xcf\\x7d\\x5f\\xf8\\xee\\x2e\\x54\\x81\\x3d\\x2d\\x36\\xf4\\x5d\\x4f\\x28\\xf9\\xab\\x89\\xe8\\x74\\xbf\\xc0\\xd1\\xd4\\xee\\x96\\xa5\\x44\\x4f\\x92\\xfa\\xea\\x49\\x62\\xec\\xd7\\x88\\x20\\xf7\\x10\\x58\\x0e\\xcd\\x5b\\xba\\x05\\x80\\x3d\\xa0\\xa4\\x47\\x7e\\x7d\\x70\\x73\\xe4\\xa7\\x53\\x56\\xcc\\xd1\\x3a\\x7b\\xf4\\x70\\xce\\xd9\\xd5\\xd2\\xd2\\xd2\\x07\\x2e\\xa2\\xd7\\xb6\\xec\\x46\\xf2\\x7c\\xbb\\xfb\\xb7\\xbf\\xbf\\x26\\x7d\\x9d\\x86\\xa7\\x41\\x4e\\x4b\\x35\\xea\\xab\\x00\\x46\\xfe\\xfd\\x08\\x7f\\xf7\\xe8\\xb9\\x96\\x48\\xa4\\x83\\x2f\\x50\\x8a\\xa9\\xae\\xee\\x1c\\x7e\\xbf\\xbb\\x2f\\x3d\\x72\\x53\\x2f\\xb4\\x74\\x16\\xec\\x0a\\x96\\x23\\x67\\xf7\\x8a\\xa0\\xd1\\x11\\xad\\x4e\\x61\\xa3\\x27\\xd8\\xdc\\x79\\xf8\\x13\\x36\\x5e\\xbe\\x0c\\x97\\xbf\\xfd\\x36\\xea\\xf3\\x35\\xea\\x2a\\xc3\\x82\\x6f\\x70\\x9f\\x70\\xf8\\xa3\\x04\\xb2\\xcf\\x16\\x50\\xc8\\x2e\\x07\\x37\\x7d\\xfd\\xe4\\x04\\x3a\\x46\\xee\\x9e\\x1c\\x43\\x2f\\xa3\\x5a\\x6e\\xa1\\xf1\\xce\\xa6\\x5a\\xe8\\x27\\x3c\\x43\\xcb\\x1f\\x36\\xc4\\xb0\\xab\\xf9\\x67\\xae\\xb5\\x7c\\x47\\xeb\\x98\\x97\\xbc\\x3a\\x28\\xb6\\x02\\x81\\x01\\x7d\\xcf\\xdc\\x9a\\xf8\\x28\\x61\\x1e\\x13\\xbb\\xe1\\xd1\\x2d\\xdc\\xdf\\x86\\x96\\x0f\\xc0\\x21\\x8f\\xae\\x4a\\x91\\xe7\\x38\\x60\\x47\\xdf\\xd3\\xbd\\xde\\x75\\x9f\\x8e\\xe1\\xfe\\xfd\\x20\\x80\\xd0\\x75\\x1d\\x16\\xb5\\x7c\\x46\\x78\\x30\\xe2\\x3b\\xfe\\x73\\x68\\xa2\\x8d\\x61\\xef\\xb6\\xd8\\xd7\\xbb\\xdd\\xec\\x75\\x6e\\xdf\\x6d\\xf5\\x6d\\xb7\\xd9\\x77\\x6d\\x6c\\x11\\x8d\\x60\\x8b\\xbc\\xda\\xde\\x14\\xa1\\xe1\\x12\\x74\\x36\\x7a\\xb6\\x5c\\x17\\xf4\\x24\\x31\\x38\\x2f\\xf2\\xea\\x7f\\x2a\\x0b\\x29\\x0d\\x20\\x86\\x4b\\x7a\\x82\\xa9\\x9b\\x23\\x8e\\x46\\xa0\\x46\\x53\\xe1\\x77\\x47\\x71\\x6e\\x2b\\x94\\xc1\\x67\\xa8\\xfd\\x2d\\xf3\\x70\\xec\\x80\\x53\\xca\\xf8\\xfb\\x53\\x6a\\xa5\\x4c\\x26\\x9a\\xa3\\x55\\x92\\xd6\\x04\\xc8\\x9b\\xec\\x5a\\x0d\\x01\\xb3\\x8a\\x70\\xa4\\x7a\\x7d\\x9e\\x06\\x3e\\xfa\\x2e\\x9b\\x8e\\xb4\\x54\\xe8\\x86\\xb1\\x3d\\xc2\\x13\\x95\\xff\\x8f\\xb1\\xef\\x80\\x8b\\xea\\xd8\\x1e\\xbe\\x73\\xcb\\x2e\\xcb\\xf6\\xc6\\x02\\x4b\\x5b\\x60\\x59\\x3a\\xc8\\x52\\x04\\x14\\xd6\\x02\\x22\\x28\\x55\\xd1\\x2b\\x22\\x25\\x76\\xec\\x8a\\xbd\\x60\\xef\\x35\\x1a\\x8d\\x1a\\x7b\\x6c\\xd1\\x58\\xa2\\xd1\\xc4\\x58\\x92\\x18\\x63\\x62\\x89\\x31\\x96\\x68\\x8c\\x1a\\x6b\\x9e\\x89\\xb1\\x44\\x93\\xf7\\x94\\x1d\\xbe\\x99\\xb9\\x77\\x17\\xd4\\xbc\\xf7\\xfd\\xf5\\x07\\xec\\xdd\\x9d\\xbd\\xf7\\xcc\\x99\\x33\\xa7\\xcc\\x69\\x43\\x7c\\x47\\x16\\x96\\x45\\xb5\\x29\\xcd\\x2b\\x85\\x97\\x83\\x7d\\x87\\xda\\x72\\x7d\\x83\\xf3\\x2a\\x5b\\xb6\\x2c\\xcd\\x97\\x12\\x3e\\x7a\\x80\\x1d\\x0b\\x66\\x4a\\x02\\xc8\\xb9\\xa2\\x5c\\x38\\x57\\x94\\xda\\xa4\\x36\\x64\\x3b\\x9b\\x52\\x90\\xb9\\xdd\\x6d\\x70\\x8f\\xb9\\x79\\x0b\\xab\\x87\\x74\\x9f\\x9f\\x3b\\x8f\\xbd\\x5c\\x3e\\x66\\x4c\\x79\\x6d\\x6d\\xf9\\xa8\\x51\\xe5\\xb5\\x58\\x1e\\xaa\\xd9\\x41\\xa0\\x85\\x64\\x28\\xe1\\x72\\x80\\x3a\\xa6\\x74\\xeb\\x4c\\x80\\xc4\\x59\\x98\\xc8\\xb1\\x32\\x16\\x8c\\x42\\x5a\\x1f\\x12\\x90\\x2d\\x74\\x31\\xc9\\xde\\xde\\x89\\x5d\\xbb\\xeb\\x62\\x12\\x7d\\xf5\\x09\\x15\\x92\\xa1\\xbc\\x87\\xbf\\x55\\xef\\x70\\x58\\x9b\\xb7\\x0d\\xf5\\x28\\x93\\xfa\\xd9\\x8c\\xed\\xed\\x41\\x71\\x05\\x91\\x84\\x8f\\x8e\\x97\\x84\\x32\\xd9\\xd2\\x00\\x91\\x26\\x39\\x16\\xaf\\x6d\\xc2\\x59\\x91\\x26\\xad\\x98\\x26\\xc7\\x63\\x4b\\xe3\\xe5\\x2c\\x0d\\xfb\\xae\\x46\\x12\\x9a\\x9f\\xbf\\x03\\x99\\x1c\\x68\\x4e\\x34\\xbb\\x97\\x9a\\xf1\\xba\\xdf\\x47\\xd0\\x4d\\x0c\\xaf\\xb8\\x7d\\xd0\\x1c\\x26\\xb3\\x7b\\xe9\\xde\\xaf\\x8f\\x15\\x7c\\x30\\x93\\xdf\\x70\\x29\\xa1\\x7b\\x07\\xb2\\x3b\\x68\\x3d\\xb7\\xef\\x9f\\x6d\\xaf\\xff\\x62\\xe3\\x7b\\xfd\\x57\\xe3\\x8b\\xdd\\xf1\\xa6\\xf1\\x85\\xec\\x51\\x66\\x0e\\xc8\\x41\\x30\\x61\\x9d\\x8c\\x95\\x00\\x41\\xcf\\xd0\\xbb\\xcf\\x9b\\x6a\\xc4\\x23\\xa6\\x30\\xef\\xce\\xcc\\x1c\\x7c\\xb4\\xf4\\xe5\\x78\\x9c\\xec\\xc3\\xc0\\x5d\\xec\\x5a\\x7a\\x3c\\x77\\x07\\xcd\\x05\\xa7\\xcd\\xfb\\x38\\x3c\\xe5\\x9e\\x9e\\x48\\xd5\\x90\\x88\\xf3\\xb2\\x63\\xaf\\x3e\\x31\\x67\\xf0\\xf4\\x80\\x55\\x14\\x61\\x6a\\xc9\\x44\\xec\\xb6\\xfa\\x0d\\x04\\x20\\x59\\x56\\xdf\\x03\\xdb\\x45\\x6b\\x2d\\x20\\xd4\\x0a\\x6f\\x6a\\x88\\x48\\x03\\x0d\\x00\\xd1\\x31\\x68\\x98\\x4c\\x74\\x63\\x8e\\x96\\xd6\\xa9\\x5c\\xf2\\x9a\\x79\\x25\\x4f\\xce\\x2e\\xed\\x64\\x55\\x84\\xfa\\x46\\xa7\\x64\\xb6\\x65\\xfd\\x36\\x18\\x60\\x43\\xa0\\x64\\x9a\\xbc\\x45\\x92\\xce\\xb8\\xa4\\x9f\\x80\\x3b\\x09\\xbb\\x9d\\x6e\\x2d\\xb1\\x09\\xa7\\x72\\xd2\\x26\\x56\\x03\\x10\\x79\\x37\\xf8\\xb7\\x9b\\x79\\xb3\\xdb\\x09\\xf3\\x26\\xbc\\xa9\\x08\\x6d\\x8e\\x81\\x0d\\x13\\xdf\\xe4\\x4d\\x1c\\xfa\\x1a\\xfe\\x71\\x8e\\x34\\x30\\xb7\\x0d\\x2f\\xff\\x6d\\x64\\x6e\\x1b\\x7f\\xef\\xdf\\xff\\x70\\xff\\xfe\\x84\\x7e\\x26\\x23\\xb8\\x3b\\x12\\x79\\x22\\x4a\\x8b\\xc6\\x5d\\xcb\\x88\\x76\\xca\\xf3\\x39\\xd9\\x73\\x3e\\x46\\x3f\\x58\\xba\\x88\\x76\\x0a\\x80\\x1f\\x23\\x5e\\x1c\\x21\\x9e\\x51\\x88\\xe7\\x24\\x67\\x88\\x80\\xc5\\x5a\\x93\\xb7\\x70\\xf4\\x01\\xfb\\xe1\\x03\\x0d\\xd0\\x10\\xc6\\x8e\\xa4\\x7d\\x25\\x32\\xca\\x1f\\xd1\\x83\\x81\\xf6\\xac\\xd3\\x4a\\x7c\\x1a\\xe9\\x81\\x74\\x50\\x10\\xa8\\x01\\xef\\x26\\xd1\\xd6\\xa5\\x71\\xcc\\x9d\\x2d\\x3b\\xc8\\xcb\\x45\\x11\\xc9\\x1d\\x0a\\x3a\\xe7\\x07\\x78\\x8b\\x34\\x91\\x6d\\xcf\\x2f\\xef\\xc4\\x85\\x68\\x08\\x59\\x44\\xf5\\x4d\\xea\\xad\\x21\\x84\\x11\\x3d\\x36\\x19\\xe7\\x6b\\x2c\\x65\\x7f\\x03\\x4f\\x90\\xed\\xcf\\xa0\\x27\\x5a\\x30\\x7f\\x08\\x08\\x62\\x69\\xca\\x57\\xa6\\xad\\xf3\\x52\\xb2\\xae\\x27\\x9f\\x48\\xd0\\x08\\xc6\\x90\\x5d\\x6a\\xfa\\x47\\x92\\xe4\\xd0\\x27\\xef\\x06\\xcc\\x09\\x60\\x83\\xd2\\x93\\x9b\\x79\\x05\\xd8\\x74\\x3d\\x7d\\x12\\x72\\x53\\x2c\\x2d\\x92\\xe3\\x8d\\x21\\x56\\x4d\\x95\\x31\\xa1\\x03\\xfc\\x17\\xfa\\x58\\xb2\\x78\\xe5\\xca\\xc7\\x7e\\x16\\xbf\\xd0\\xa4\\xae\\x1d\\xe3\\xfc\\x2c\\xe6\\xd8\\xc8\\x4e\\x85\\xf1\\x1f\\xaf\\x5c\\x89\\xb4\\x10\\x7f\\x44\\x6b\\x1d\\x25\\xd7\\xd0\\x3e\\xb0\\x53\\x81\\x0e\\x25\\xda\\x0a\\x68\\x27\\xc4\\x05\\xda\\xea\\xa2\\x43\\x7c\\x5d\\x60\\x5c\\x3a\\x6e\\xff\\x1f\\xdb\\xe2\\x9f\\x0f\\x2a\\x40\\xe1\\x7f\\xdd\\x2c\\x53\\xfe\\xeb\\x27\\xdc\\x85\\xd7\\xb7\\x11\\x3c\\xf5\\xc6\\xc6\\x02\\xb0\\x2f\\xac\\xa6\\x06\\x34\\xe0\\x7d\\x65\\x38\\xc0\\x48\\xa5\\x2c\\x38\\x26\\x93\\x08\\x2c\\x4b\\xb0\\x2d\\xa4\\x88\\x21\\xdb\\x52\\xa4\\xf6\\x94\\x01\\x7b\\xbc\\x7f\\xf5\\xae\\xc1\\xbf\\x1e\\xec\\x1b\\x3f\\x7e\\xdf\\xc7\\xe3\\x89\\x8c\\x86\\x87\\x11\\x3d\\xd9\\xd0\\xf7\\x85\\x33\\x52\\x97\\x7e\\x82\\x88\\x02\\x69\\xd4\\xcf\\x62\\xc6\\x9f\\x5b\\x39\\x3e\\x06\\x76\\xb9\\xbf\\x60\\xc1\\x7d\\xca\\xdb\\xe9\\x85\\x08\\xf0\\x01\\xe1\\x2b\\x32\\xd2\\x3b\\xcd\\x9f\\xb2\\x52\\x31\\x54\\x12\\xd5\\x92\\xca\\xa2\\xf2\\xa8\\x22\\x8a\\xa7\\xaa\\xa8\\x7e\\xd4\\x50\\x6a\\x0c\\x35\\x99\\x9a\\x4d\\x2d\\xa6\\xde\\xa5\\xde\\xa3\\xd6\\x53\\x5b\\xa8\\x7f\\xef\\x5b\\x97\\xbf\\x79\\xe3\\xe6\\x83\\x80\\xdd\\xcb\\xd7\\x8d\\x47\\x7f\\x3e\\xe6\\x0b\\x37\\xf5\\x9c\\xb7\\x68\\x1e\\x79\\xd9\\x77\\x51\\xf7\\xa5\\x2b\\x96\\xa2\\x97\\x0e\\x19\\x5f\\xb9\\xc2\\x73\\x95\\x63\\xda\\xac\\x69\\xe4\\x83\\xb6\\xb3\\xc2\\x47\\x8c\\x1e\\x21\\x7c\\x10\\x3d\\x5a\\xb1\\x3a\\x68\\xc0\\x90\\x01\\xe4\\x83\\xd0\\x21\\x9a\\x4e\\x5d\\x3b\\x09\\x1f\\x18\\xba\\x82\\xf6\\xde\\xcd\\x5b\\x34\\x47\\x57\\xfb\\x78\\xbf\\x16\\x89\\xf1\\xf8\\x6d\\x2b\\x5f\\xb7\\x69\\xd1\\x8a\\x55\\xb3\\x46\\xaf\\x1e\\xd2\\xb5\\x7d\\x8b\\xc4\\xc4\\x16\\xed\\xbb\\x0e\\x59\\x3d\\x7a\\xd6\\xaa\\x15\\x8b\\x36\\xd5\\x29\\x73\\xd7\\x76\\xdc\\x28\\x65\\xda\\xe5\\xb6\\x23\\x5f\\xf1\\x60\\x73\\x71\\x50\\xa5\\x90\\x6a\\x8e\\xdb\\xf7\\xe8\\x4c\\xa9\\x71\\x4d\\xff\\xb9\\x0a\\x33\\xe3\\x18\\x4b\\xe1\\xef\\xff\\xff\\x2a\\xca\\x95\\xb8\\x1e\\x92\\x14\\x92\\x64\\xe1\\x2c\\x49\\x16\\x10\\xa2\\xb5\\x5b\\x0d\\x21\\xc1\\x49\\x89\\xf6\\x04\\x9b\\xf8\\x57\\x2f\\xfe\\x35\\x89\\x7f\\x81\\xf8\\x57\\xfa\\xda\\x35\\x08\\x31\\x86\\x68\\x2d\\xc0\\x92\\x64\\x4f\\xb2\\x83\\xff\\xcf\\xd8\\xd7\\xaf\\xad\\xaf\\x3d\\xcb\\xf5\\x6c\\x2b\\x82\\x07\\xdd\\x11\\xc1\\xa6\\xb5\\x1b\\xed\\xf4\\x83\\x81\\x37\\x41\\x47\\xe7\\x61\\xb8\\x17\\xe4\\xd3\\x6d\\x06\\x0e\\x84\\x8b\\x13\\x9b\\x37\\x4f\\x5c\\x96\\x98\\x9a\\x9a\\xf8\\x9f\\x94\\xe4\\xe6\\x49\\xa1\\xf8\\x12\\x22\\xcd\\x37\\x25\\xf9\\xc3\\xe6\\x49\\x49\\xcd\\xe9\\xd2\\x94\\xe4\\xe4\\x94\\xfa\\x69\\x37\\x07\\x82\\x8e\\xec\\x4c\\xf8\\xd1\\xcd\\x81\\xf5\\xb2\\x64\\xf4\\x8f\\x9e\\x83\\x7f\\xbf\\x93\\xd4\\xbc\\x79\\x92\\x73\\x5b\\x52\\x73\\xc4\\xdc\\xf1\\x35\\xf8\\x16\\x7f\\x11\\xf2\\xf8\\x3b\\xff\\xc1\\x5f\\x7f\\x07\\xbf\\x0b\\x17\\x0d\\x1c\\xc8\\x84\\xe2\\x27\\x3a\\x3f\\x83\\x1f\\x0d\\xbc\\xc9\\x4e\\xbd\\x36\\x70\\xe0\\xc0\\xfa\\xe1\\x20\\xff\\x6d\\x34\\x2e\\x1a\\xfd\\xc0\\xef\\xd1\\x7d\\xee\\xa2\\x17\\xe0\\x1d\\xf4\\xa2\\x1b\\x7a\\xe1\\x1c\\x86\\x1f\\xfe\\xf2\\x1a\\x68\\xff\\x22\\x71\\xe0\\x35\\xfa\\x72\\xb2\\x3d\\xcd\\x99\\x91\\x94\\x94\\xb2\\x32\\x31\\x31\\x95\\x0e\\x12\\x47\\x3b\\x1b\\x52\\x52\\x92\\xee\\xa1\\x81\\xf0\\x7c\\xf3\\xc4\\xd4\\x48\\xf4\\x31\\xba\\x67\\xfd\\xf0\\x81\\x03\\x41\\xfb\\x6b\\x02\\xcf\\xbe\\xc5\\xd6\\x80\\x66\\x12\\x69\\x13\\x3f\\xc2\\x69\\x44\\xf3\\x82\\x5f\\x20\\x40\\xf4\\x0b\\xb0\\x35\\x2e\\xbf\\x00\\xa0\\x42\\xd9\\x51\\x20\\xf1\\xcd\\xf8\\x1f\\x7d\\x53\\x3b\\xf7\\xfe\\x3f\\x85\\xff\\x20\\x9e\\x32\\x8a\\xbd\\x08\\xfe\\x83\\x78\\x0a\\x43\\x7c\\x2f\\x4a\\xb6\\x4e\\xa6\\x25\\x22\\xff\\x92\\x70\\x16\\xcf\\xe0\\xb3\\x1d\\x72\\x0c\\x23\\xb8\\xaa\\xb1\\xca\\x43\\xe3\\x13\\xc0\\xc8\\xba\\x79\\xec\\x52\\xa6\\xa0\\x75\\xde\\x30\\xc5\\xdb\\xbe\\xa7\\xd8\\x8b\\xdf\\x7d\\x47\\x4b\\x27\\x0d\\x49\\x0c\\x4a\\xc9\\x2c\\x69\\x33\\xf1\\x7d\\xc1\\xf6\\x99\\x06\\x8b\\xa9\\x4e\\x0d\\x7f\\x21\\x3d\\x47\\x8e\\x0c\\x5c\\x80\\x55\\x9d\\x72\\x04\\x56\\x13\\x5d\\xc7\\xd6\\x44\\xd5\\x81\\xbb\\x5e\\x51\\x75\\xd0\\xf7\\x2f\\xa1\\xbd\\x6f\\x7d\\xdd\\x9f\\x62\\x12\\xfc\\x29\\xd6\\xd7\\xdd\\x29\\x68\\xfc\\x47\\x68\\x3c\\xfd\\xba\\x3f\\x05\\x08\\x78\\x83\\x1f\\xbd\\xee\\x50\\xa1\\x21\\x52\\x00\\xa9\\xdf\\xc8\\x78\\x25\\xb6\\x52\\xe4\\xb2\\x3a\\x4f\\xa5\\x52\\xfc\\x62\\xaa\\x4b\\x4c\\x0a\\x5f\\xb7\\x0a\\x5e\\x1f\\x18\\x22\\xde\\x05\\x28\\x47\\x4f\\x6c\\x36\\xb0\\xee\\x81\\xeb\\x6e\\xbb\\x9b\\xfa\\x81\\x18\\xb4\\x1e\\xfa\\x37\\x63\\xb9\\xf4\\x4d\\x35\\xde\\xc5\\xff\\x14\\xca\\x45\\x01\\x30\\x83\\x5d\\x41\\x67\\x70\\x1d\\x10\\xce\\x3c\\xf6\\xc8\\x84\\x33\\xe0\\xa6\\xe7\\x96\\x74\\x86\\x23\\xc6\\x12\\x99\\x19\\x17\\x1c\\xce\\x81\\xc8\\xcc\\xe8\\xa0\\x88\\xcc\\x28\\x61\\xee\\x3b\\x08\\x9f\\xfc\\x0a\\x47\\x14\\xee\\xe5\\x8e\\x29\\x05\\x3e\\x29\\x45\\x28\\x36\\xb9\\xd1\\x6d\\xaf\\x1e\\xab\\x9e\\x98\\xdd\\x33\\xb6\\xb2\\xe3\\xa0\\x61\\xf6\\x7e\\xda\\x3e\\x47\\x13\\x2a\\xfc\\x7b\\xa7\\x8d\\x19\\x93\\xde\\xcb\\xbf\\x22\\x61\\x1a\\xd2\\x65\\x74\\xe8\\x1e\\x47\\x91\\x0d\\xad\\xa7\\x02\\xa9\\x28\\xca\\xe2\\x50\\x99\\x42\\x42\\x94\\xfe\\x11\\x11\\x6a\\x4e\\xca\\x1c\\xd3\\x2a\\x05\\x39\\x9e\\x9a\\x9a\\xe0\\x0a\\xe8\\x16\\xcc\\xd7\\x26\\x09\\xde\\xaf\\x19\\xd8\\xd6\\x26\\xaf\\x8f\\xce\\xeb\\x5e\\x16\\xd5\\x96\\x18\\xdc\\xe5\\x11\\xad\\x7b\\x34\\x31\\xba\\xe1\\xd5\\x26\\x9e\\xa9\\xd6\\xad\\xb1\\x01\\x8e\\x7e\\xbb\\x4c\\xf0\\x04\\xf7\\x01\\x2c\\x68\\x38\\xc3\\xd6\\x21\\x7d\\xa2\\xb7\\x70\\xde\\x24\\x95\\x4a\\x8e\\xd1\\x6e\\x9f\\x01\\x40\\x8a\\x02\\x36\\x0a\\x40\\xdd\\xbb\\x43\\xab\\xe0\\x5f\\xe8\\x17\\xb7\\x0d\\x5e\\x3e\\x0c\\x22\\x0e\\x23\\xdc\\xfc\\x02\\xbb\\x70\\x06\\x64\\x47\\x90\\xb3\\x8f\\xa6\\x9e\\x26\\x4e\\xc2\\x5a\\x82\\x42\\x6d\\xe4\\xdc\\x32\\x34\\x85\\x33\\xcc\\x80\\xed\\xe0\\x35\\xf4\\x7f\\x71\\xcb\\x03\\x79\\xff\\x79\\xf2\\x07\\x70\\x54\\x47\\x1f\\x3d\\x72\\xe4\\xe8\\xc4\\x01\\x23\\x47\\xe0\\x75\\xb5\\xb0\\xc7\\x25\\x9d\\x24\\xad\\xc8\\x7d\\x24\\x54\\x9d\\x67\\xa3\\x6f\\xe4\\x95\\xfb\\x48\\x3a\\xbd\\x79\\x1f\\x49\\x2b\\xf7\\x8d\\x40\\xc3\\x05\\xf6\\x63\\xf6\\x10\\xd7\\xf5\\xf5\\x73\\x7e\\x25\\x7b\\x32\\xf0\\x65\\x73\\xae\\xeb\\x06\\xbc\\x9e\\x1f\\xc0\\xcf\\x98\\x25\\x0d\\x3d\\x9a\\xda\\x6a\\x1c\\x1a\\x03\\xbf\\x25\\x83\\x36\\xe0\\x31\\x0d\\x97\\x11\\x3c\\xed\\x24\\x1c\\x92\\x74\\xba\\x8f\\xf5\\xac\\xbc\\x4e\\x8d\\x83\\x26\\x4e\\xb8\\xf5\\x62\\x6b\\xa8\\xdb\\x46\\xe1\\x58\\xf1\\x60\\x96\\x5d\\x35\\x1a\\xde\\x86\\xb7\\x46\\xf3\\xfd\\x82\\x0e\\xc4\\x3e\\x5c\\x3c\\x1a\\x04\\x00\\xff\\xd1\\xdd\\xfa\\x05\\xa2\\x0b\\xf6\\x6c\\xdb\\xb6\\xd9\\x1d\\xe6\\xec\\x14\\x7e\\xbb\\xee\\xef\\x29\\xce\\x97\\xf1\\xac\\x93\\xba\\xed\\x63\\x10\\x86\\x6e\\xcd\\x4a\\x43\\x92\\x43\\x2d\\x41\\xac\\x89\\x2b\\x49\\x83\\x8f\\x7e\\x7b\\x06\\x6f\\x4d\\x38\\x30\\x03\\x7c\\x0a\\x42\\xd1\\xff\\x41\\x2d\\xd9\\xe3\\xa3\\x87\\x0d\\x98\\x78\\xe4\\xe8\\xd1\\x23\\x02\\x7d\\xee\\x85\\xd5\\x4c\\x3a\\x91\\xe3\\x9a\\xfd\\x68\\x01\\xd8\\x26\\x6b\\xc7\\x59\\x10\\x99\\xa6\\x58\\xe0\\x49\\xe6\\x31\\x56\\x00\\xea\\x35\\xbb\\xc7\\x7f\\xbc\\x6f\\x3c\\xb2\\xa3\\x9f\\x83\\xab\\xe0\\x34\\xfb\\x54\\x23\\xe5\\xaa\\x9d\\x7f\\x0a\\x31\\x01\\x0d\\xc1\\xe0\\x1a\\xb8\\xcc\\x3e\\x43\\xef\\xf5\\x75\\xfe\\x2e\\xd8\\xd1\\x0d\\x1b\\xc1\\x03\\x10\\x46\\xe2\\x1d\\xa4\\x94\\xd7\\x11\\x12\\x31\\xcc\\x82\\x58\\x74\\x29\\x06\\x3d\\x67\\x0a\\x6a\\x19\\x8e\\x7e\\xc8\\xf3\\x3b\\xea\\x07\\xdf\\x5d\\x78\\x74\\x11\\x8e\\x6f\\xae\\x1f\\x4f\\xbf\\x74\\x72\\xe4\\xbe\\xf0\\x2f\\xf0\\x13\\x78\\x4c\\x9e\\x35\\xd4\\xf9\\xb3\\xf8\\xac\\x50\\x70\\x8d\\x0e\\x65\\xef\\xa2\\xf7\\x46\\x39\\xff\\x2d\\xbc\\x07\\x2f\\xa3\\x71\\x6b\\xd9\\x3f\\xd1\\x7b\\x87\\x9c\\x5b\\xc5\\x71\\x66\\xf0\\x13\\x5d\\x81\\x26\\x26\\xe5\\xfa\\x40\\x0f\\x71\\xdc\\x21\\x04\\xd3\\x21\\xfc\\x1e\\x3d\\xd4\\xf9\\xb9\\xf8\\x5e\\x24\\x78\\x40\\xef\\x22\\xdf\\x1d\\xec\\xbc\\x21\\x7e\\x37\\x0e\\x8d\\x1b\\x81\\x9f\\x4b\\x8f\\x70\\x2e\\x13\\xdf\\xbb\\x02\\xae\\x83\\xf7\\xb8\\x15\\x68\\xdc\\x48\\xe7\\x6f\\xe2\\x7b\\x45\\xe0\\x37\\x3a\\x8f\\xc0\\x32\\xd6\\xf9\\x58\\xf0\\x1b\\xc0\\x79\\xe8\\xbb\\x90\\xbd\\x83\\x78\\x85\\xcf\\x3e\\x20\\x65\\x3c\\x38\\x1c\\x5d\\x82\\xd0\\xe0\\x0e\\x29\\xc6\\xd9\\xe8\\x72\\x10\\x02\\x88\\x9b\\x1b\\xe8\\xf7\\x4f\\xbc\\x71\\x1a\\xf0\\x47\\xbe\\x1e\\xf9\\xcd\\xf7\\xf0\\xe0\\x49\\xf4\\x65\\x15\\x7c\\x0a\\xe6\\x81\\x41\\xcf\\x9e\\xc1\\x05\\x50\\x88\\xb1\\x02\\xdd\\xd8\\xbd\\x8c\\xe7\\x3f\\xc7\\xfb\\x81\\x6e\\xdc\\x36\\x6c\\x9c\\x3d\\x6c\\x12\\xef\\xd7\\xb0\\x01\\x0e\\x00\\xc5\\xe2\\x39\\xb3\\x7b\\x3c\\xa7\\x06\\x96\\x14\\x2b\\x28\\x46\\x7b\\x10\\x4a\\x81\\x61\\xac\\x19\\x8d\\x46\\x73\\xc0\\xb6\\xf9\\xac\\x86\\xc9\\x1a\\x29\\x23\\xa1\\x66\\x0a\\xf3\\x72\\xf5\\xa6\\xd1\\x49\\x68\\x23\\x5e\\x4b\\x77\\xaf\\x1a\\x06\\x69\\xda\\xad\\x1c\\x61\\x93\\xd0\\xb6\\x73\\xa8\\x01\\x50\\x83\\x40\\x10\\x87\\xac\\x22\\x56\\xc1\\x00\\xc0\\xca\\xe5\\x86\\x42\\x5e\\x23\\xd7\\xf8\\xb3\\xac\\xaf\\x58\\x4e\\xf2\\x95\\xd4\\xc8\\x8a\\x1e\\xe5\\x43\\x7d\\xcf\\x94\\x13\\x07\\xad\\x1c\\x04\\xbf\\xde\\x2f\\xc6\\x95\\x90\\xc0\\x21\\xd5\\xf7\\x41\\x12\\xa0\\x93\\xfe\\x75\\xfa\\xea\\x1a\\x10\\xfa\\x85\\x50\\x6b\\xa0\\xfb\\xec\\x0e\\x9b\\x71\\xa5\\x01\\x53\\xc8\\x86\\xbb\\x60\\x0d\\xd0\\xc0\\xc7\\x30\\xff\\xc6\\xe9\\xb3\\x20\\xe3\\x03\\xb1\\xda\\xc0\\xd0\\xfb\\xcb\\x9f\\x0a\\xa5\\x06\\x70\\xfe\\x1e\\x82\\x77\\x30\\x81\\x37\\x90\\xca\\x74\\x58\\xff\\x19\\x5e\\xa3\\x8f\\x8f\\xae\\x90\\xf7\\xd1\\xb0\\xca\\x42\\x5e\\xc6\\x7a\\xb9\\x13\\xf9\\xdc\\xcd\\x28\\x5e\\x85\\x36\\x45\\x68\\xbe\\xa3\\x7b\\x2d\\x03\\x98\\x05\\x9f\\x62\\x60\\x4f\\x1f\\xb9\\x0e\\x80\\x1f\\x28\\x29\\x5c\\xb8\\x6d\\x53\\xd7\\xe1\\xfe\\xf0\\xd7\\x96\\xc0\\xf2\\xf9\\xe9\\x9f\\x57\\xc1\\x1b\\x2e\\x68\\x8f\\xae\\xf7\\x53\\x9a\\x4a\\x2a\\x80\\xfa\\xd7\\x07\\x6f\\x95\\xa8\\x36\\x7f\\x79\\xf3\\xfb\\x53\\xf0\\xc4\\x0e\\x01\\xdf\\xef\\xc0\\x65\\x4c\\x7f\\xb6\\xa5\\x46\\x82\\xb3\\x86\\x28\\x40\\x97\\xb1\\x7b\\x98\\xcb\\x12\\x03\\xf6\\x0f\\xed\\xa3\\xe8\\x65\\xee\\x18\\x37\\x6c\\xad\\xd2\\x65\\xd2\\x11\\xd8\\x4c\\x7d\\xc6\\xee\\xb1\\x80\\xd6\\x56\\xf8\\x05\\x22\\xad\\x49\\xec\\x1e\\x76\\x86\\xa4\\xd2\\x6d\\xef\\xca\\xe5\\x52\\x89\\x74\\x69\\x99\\xa7\\x44\\x82\\xbd\\x91\\x67\\xdc\\xcd\\x67\\x01\\x76\\xe0\\xba\\xed\\x5d\\x7a\\x9a\\x74\\xd6\\x43\\x29\\x84\\x70\\x56\\xd4\\xc9\\x28\\xd0\\x01\\xfd\\xc2\\xb7\\x5c\\x60\\x85\\x23\\x03\\xae\\xa3\\x7f\\xae\\x1e\\xfd\\x5c\\xb6\\xab\\x47\\x3f\\xd3\\x1c\\x52\\x0d\\x09\\x94\\x74\\x2f\\xad\\x65\\xa8\\xcc\\x24\\x81\\x36\\x8f\\x80\\xf5\\x8c\\x0f\\x7d\\x9e\\xf8\\x24\\x01\\xb5\\xaa\\x0c\\x08\\xb0\\x62\\x07\\xfc\\x91\\x74\\x10\\x94\\x0e\\xd6\\x83\\x66\\x50\\xec\\xd3\\x87\\x44\\x31\\xa7\\xe0\\xb2\\xd0\\xde\\xd0\\x52\\xf9\\x8e\\x78\\x95\\x76\\x59\\x99\\x8a\\xe1\\x3c\\x2a\\xf8\\x47\\x1c\\xb8\\xc6\\x81\\x74\\x24\\x3e\\xb9\\xed\\xdc\\xa7\\x1c\\xc3\\xa8\\x39\\x20\\x97\\x70\\x1c\\xba\\x3f\\x5b\\xc1\\x03\\xd2\\xee\\xd0\\xd5\\x4b\\xb7\\x91\\x9c\\x2a\\xca\\xd1\\x3f\\xf2\\x16\\xa9\\x94\\x2c\\x75\\x75\\xd5\\x15\\x10\\x75\\x1d\\x48\\x98\\xf0\\x18\\x67\\x43\\x26\\x38\\x1e\\x0d\\x5b\\xb4\\xa6\\x23\\xa3\\x5f\\x3e\\x15\\x51\\xc7\\x65\\xb9\\x5a\\x4c\\xde\\x12\\x71\\x28\\xc0\\x16\\x27\\xc2\\xd6\\xce\\x11\\x2d\\xc0\\x06\\x68\\x29\\x5d\\xc9\\x7b\\x5c\\x93\\x02\\xe6\\xac\\x14\\xb0\\x2b\\xa4\\xa0\\xbb\\x14\\x48\\x03\\x94\\xed\\x7d\\xa4\\x11\\x52\\x5a\\x2a\\x95\\x71\\x0c\\x8b\\xe1\\xc2\\x71\\xf4\\x71\\xe5\\x51\\xe5\\xa4\\xfd\\x68\\x63\\xf1\\x72\\x52\\x7e\\x00\\x90\\x32\\x04\\x32\\x01\\x28\\x46\\x3b\\x18\\xde\\x1d\\x0c\\x7f\\x05\\x12\\xe0\\xdd\\x07\\x98\\xfb\\x00\\x6f\\xf8\\xe2\\xe5\\xbf\\x45\\xb0\\xe8\\x0c\\xe7\\x17\\x5c\\x16\\x6e\\xdc\\xf9\\xe2\\x90\\x1b\\x32\\x4c\\x1f\\xc1\\x08\\xb6\\x3c\\x2e\\x5b\\x13\\x46\\x45\\x4f\\x20\\xeb\\xe0\\xfc\\x1a\\xad\\xc3\\x2c\\xc7\\x20\\x80\\x40\\xd4\\xca\\xe4\\xfd\\xe4\\xb4\\x8c\\xd5\\x82\\x54\\x56\\x6b\\xd0\\x86\\x6a\\x13\\xb5\\x6d\\xb5\\x9d\\xb4\\x3d\\xb5\\x23\\xb4\\xd3\\xb4\\x4b\\xb5\\x9b\\xb4\\xfb\\xb4\\xc7\\xb5\\x17\\xb4\\x77\\xb4\\xcf\\xb4\\x1a\\x61\\xc0\\x7f\\xfb\\x58\\x2d\\x7c\\xdc\\x93\\x7c\\xd0\\xf8\\xb6\\x3c\\x5e\\x3b\\x44\\xbb\\x4e\\xcb\\xd0\\x07\\x1b\\xee\\xef\\xd3\\x6a\\x3d\\x3d\\xad\\x51\\x08\\xf3\\x43\\x87\\xf5\\x28\\xef\\x81\\xbb\\xf0\\x13\\x42\\x40\\x9c\\x01\\xed\\xb9\\x7b\\x5c\\x37\\x4a\\x4d\\x99\\x11\\x2e\\x2d\\x0e\\x5d\\x80\\x65\\x59\\x59\\x00\\xe3\\xa1\\xab\\xc0\\x8d\\x4f\\xbd\\xd1\\xfa\\xe9\\x9b\\xa4\\x81\\x8b\\xb9\\xa3\\xbe\\x62\\x8f\\x28\\x4f\\x20\\xd1\\x27\\x36\\x26\\xfe\\x5a\\x05\\x4a\\xcf\\x3f\\x76\\xea\\xad\\x9d\\x4f\\x97\\x1f\\x3d\\x55\\xbd\\xeb\\xe9\\x8f\\xf3\\xf8\\x79\\x65\\xf8\\xa7\\xbe\\xb7\\x88\\x2d\\xc3\\xad\\x9b\\xef\\x81\\x89\\x40\\x36\\xeb\\xda\\xcf\\xef\\xc1\\xc9\\xf0\\xf1\\x6c\\xe6\\xfd\\x5f\\x3e\\x83\\x8b\\x67\\x3f\\xf8\\x02\\xd4\\x5e\\x76\\x21\\x4f\\x58\\xd7\\xfe\\x68\\x5d\\x3d\\x90\\x16\\x16\\xe1\\xf0\\x96\\xab\\x96\\x95\\xc9\\x99\\xcd\\x1c\\xd8\\xc7\\x21\\xb6\\xc9\\x31\\x52\\x09\\xcb\\x20\\x51\\x2e\\xac\\xa1\\xdd\\x6e\\x4a\\x2d\\x2f\\xc7\\xd0\\x45\\x00\\x3d\\x23\\x14\\x52\\x10\\x96\\xcd\\x04\\x6f\\x95\\xbe\\x07\\x02\\xb3\\x41\\x22\\x08\\x84\\x4c\\xfd\\x3e\\x11\\x06\\x70\\x84\\x99\\xe9\\xdc\\x4c\\x77\\xab\\x1f\\x43\\x87\\xba\\x1e\\x29\\xd6\\x6e\\x3c\\x89\\x70\\xc1\\x21\\x8d\\x2d\\xca\\x61\\xf2\\x95\\x54\\xf0\\xbe\\xac\\x2d\\x54\\xa9\\x51\\x69\\x2a\\xf8\\x30\\x95\\x8e\\xe6\\x96\\x95\\xb9\\xdb\\x22\\x12\\xb3\\x4f\\xa0\\x17\\xbd\\x70\\x1e\\x25\\xb4\\x36\\x37\\x61\\x97\\x56\\x82\\xc9\\x95\\xd0\\x8f\\x99\\x8d\\x34\\x25\\x39\\x1d\\x48\\x2d\\x7a\\xb4\\xc6\\x61\\x16\\x17\\xd1\\x4c\\xed\\x34\\xbd\\x93\\x7f\\x40\\x3a\\xec\\x18\\x5d\\x1a\\xf5\\x56\\x9b\\xf8\\x8d\\x20\\x78\\xfb\\xc1\\xcb\\x9f\\x7d\\x90\\x9c\\x65\\xed\\x1e\\x0d\\x53\\xd3\\xa9\\x86\\x22\\x17\\x2d\\x2d\\x9b\\x02\\x67\\xd7\\xce\\x6b\\x09\\xcf\\xdd\\x91\\x17\\x5e\\xac\\x3b\\x0d\\x8a\\x8e\\xde\\x3f\\x73\\x11\\xce\\x99\\xc2\\x49\\xee\\x80\\xf8\\xa7\\xa0\\xeb\\xd8\\xa9\\x88\\xd6\\x0e\\xa1\\x75\\x1c\\x23\\xa9\\xd4\\x85\\x31\\xfd\\xd1\\x9e\\x97\\x30\\xa9\\x48\\xc8\\xab\\x3e\\x66\\x68\\xa0\\xd3\\x69\\xc3\\xa8\\x28\\x6d\\x52\\x52\\x12\\x91\\x7d\\x02\\x6f\\xc8\\xd2\\x49\\x30\\x6f\\x40\\xdf\\x0b\\x12\\xfa\\xf9\\xea\\x70\\x97\\x5e\\xac\\x97\\xe5\\x50\\x80\\x33\\x22\\xbc\\x73\\x94\\xfa\\x00\\x47\\x57\\xf0\\x68\\x53\\xe3\\x7e\\x87\\x24\\xd6\\x1e\\xef\\x0a\\xce\\x18\\xed\\xac\\xbc\\x0a\\xaf\\x00\\x09\\xda\\x8d\\x2f\\xd7\\x71\\x6d\\x91\\xce\\xb0\\x0d\\xdd\\x63\\x12\\xf9\\x8e\\x92\\xf2\\x77\\xa8\\x94\\x34\\x27\\x61\\x24\\x95\\x3c\\xa3\\xf3\\x44\\xfa\\x3b\\x49\\x57\\x11\\x90\\x45\\x42\\x58\\x10\\x0f\\xb3\\x32\\x08\\x3b\\x12\\xcc\\x13\\x01\\x7f\\x2a\\xfa\\x65\\x69\\x34\\x33\\xb3\\xb7\\x4c\\x59\\x92\\x0c\\x77\\x70\\x59\\x2f\\xdf\\xbb\\x75\\x4b\\x47\\xf7\\x6f\\xf9\\xbd\\xf9\\xf3\\xfe\\xce\\x15\\x94\\x1b\\xc6\\x3f\\x08\\x8c\\xe1\\x64\\x0e\\x7f\\xa0\\xeb\\x7b\\xe4\\xba\\x25\\xf9\\x1c\\xaf\\xdb\\x4d\\x72\\x1d\\x45\\x68\\xba\\x15\\xc2\\xc5\\x17\\x68\\x1d\\xb1\\x1d\\x66\\xa1\\x1c\\x8e\\x48\\x86\\xae\\xe2\\xd5\\x4c\\x26\\xb3\\x8b\\x39\\xca\\xb0\\x6a\\x26\\x90\\x59\\x8b\\x5e\\x7c\\xc7\\x70\\x1a\\x86\\x61\\x58\\x85\\xc2\\x54\\xc1\\x2b\\x58\\x36\\xa0\\x82\\x67\\xf5\\xaf\\xf3\\xaa\\xa1\\xc2\\xc4\\x53\\xf4\\x02\\xd9\\x87\\x8a\\x64\\xcf\\x82\\x57\\x72\\xff\\x99\\x9c\\x48\\xf8\\x5e\\xa4\\xf1\\xf2\\xad\\x5e\\x07\\x81\\x64\\xd3\\xa5\\x3b\\xbd\\x3f\\x83\\x2f\\x01\\xd3\\xbb\\xbc\\x66\\x6b\\x75\\xcf\\xf2\\xfe\\x1f\\x54\\x33\\xfa\\x4b\\x97\\xea\\xaf\\xfc\\xf6\\xeb\\x06\\x30\\x04\\x30\\x33\\xee\\xdd\\xdb\\x08\\x17\\xc2\\xbf\\xa7\\x33\\x63\\x67\\x4d\\xdb\\x0d\\x3f\\x5d\\x3a\\x7b\\xee\\x01\\x50\\x80\\xe7\\x81\\xfb\\x10\\x9c\\x25\\xf3\\x88\\x26\\xf3\\x0a\\x44\\x7b\\xa0\\x0b\\xb9\\x26\\x7e\\x09\\x57\\xef\\x5f\\xac\\x43\\xee\\x97\\x01\\x37\\x0b\\xc3\\x99\\xb2\\x98\\x65\\x61\\xdf\\x0f\\x92\\xc2\\x9d\\xe9\\xcf\\x41\\xfc\\x3e\\x78\\xae\\x50\\x02\\x54\\xe1\\x06\\x58\\xc6\\x65\\x21\\xb6\\x54\\xd5\\xa9\\x95\\xc5\\x23\\xb2\\x3c\\xae\\x7e\\x39\\xc2\\xdf\\x0b\\x74\\x5f\\x29\\xb9\\x6f\\x3c\\x79\\x0e\\xce\\x79\\xbd\\x4d\\xae\\x9b\\x11\\xfc\\x79\\x0a\\xd7\\x44\\x07\\x94\\x53\\xed\\x1d\\xd1\\x72\\xcf\\x0a\\xfe\\x33\\x39\\x60\\x3e\\x94\\x03\\x76\\xb4\\x1c\\xb4\\x40\\x2f\\xe5\\x88\\x9b\\xaa\\x91\\x1d\\xca\\xc9\\xe5\\x2c\\x60\\xb9\\x4a\\x9e\\xd5\\x01\\xaa\\x12\\xf3\\xfc\\xd7\\x6b\\xe4\\x54\\x08\\xec\\x35\\x4a\\x08\\x6e\\xc0\\x47\\xdf\\x98\\x06\\x9e\\xc7\\x31\\x47\\xe3\\x5e\\x96\\xc6\\x31\\xf7\\xe3\\x14\\xd1\\xce\\xf4\\x68\\xb6\\xe8\\xd9\\xb3\\x97\\xbb\\x9e\\x3d\\x63\\xc2\\xef\\xdc\\xc1\\x30\\xe1\\x3e\\xba\\x9f\\x70\\xdd\\x10\\x4c\\x09\\x84\\x2e\\xc5\\x35\\x46\\x10\\x21\\x0a\\x03\\x34\\x87\\xf8\\xbb\\x04\\xb1\\x01\\x96\\x21\\x48\\xc0\\x19\\x51\\x62\\x0d\\x07\\x81\\x77\\x03\\xfa\\xa3\\xcb\\x70\\xd9\\x65\\x4c\\xa7\\xcc\\x27\\xf0\\x05\\x5b\\xf4\\x72\\x17\\xc6\\x03\\xe5\\xc2\\x2b\\x7b\\x8a\\xcc\\x57\\xa8\\xd1\\x82\\x7b\\xa1\\xde\\x45\\xf7\\x56\\xe0\\x5a\\xe3\\xe8\\x9e\\x52\\x24\\x3b\\x68\\x64\\x30\\xb2\\x0c\\xf0\\xa4\\x3c\\x2b\\x05\\x11\\x26\\x24\\x68\\xba\\x4a\\x4d\\x86\\xa4\\xc8\\xf0\\x4c\\x2c\\x00\\xa7\\xfe\\x72\\x31\\xb4\\x0d\\xbe\\x13\\xc3\\xfc\\x10\\xe7\\x9c\\x08\\x22\\x7c\\x61\\x38\\x7d\\x33\\xee\\x01\\xf8\\x19\\x2c\\xfb\\xd7\\x33\\xf8\\xc9\\x0c\\x38\\x04\\xe9\\x6b\\xd4\\x87\\x08\\xe7\\x31\\xe4\\x99\\x29\\x04\\x86\\x75\\x42\\x9f\\x51\\x74\\xdd\\x82\\xe0\\xdc\\xbf\\xe1\\x39\\xfb\\x94\\x2b\\x40\\x9a\\x40\\x08\\x3e\\x67\\x73\\x98\\xb9\\x70\\x79\\x78\\x35\\x1f\\x2c\\x67\\x23\\x8c\\x11\\xd5\\xbc\\xb7\\x51\\x8e\\xfe\\x7b\\x9a\\xbc\\xd8\\x10\\x4f\\x3d\\xd5\\x24\\x2d\\xb8\\xf1\\x28\\x8a\\x14\\x40\\x27\\x75\\x91\\x70\\xb3\\x4c\\xa1\\x46\\x21\\x9d\\x8e\\xf3\\x13\\x85\\x00\\x79\\x3a\\x0a\\x01\\x6b\\xf0\\x4a\\x07\\x7a\\xac\\xb5\\x31\\x0f\\xbb\\x74\\xd4\\x8f\\xf0\\x6d\\x3f\\x31\\xd7\\xb9\\x22\\xdc\\x7b\\xc7\\xe9\\xe2\\xd5\\x57\\x26\\x29\\x82\\xfe\\x08\\x52\\x7c\\xfa\\x5d\\xc9\\xba\\x0b\\xa3\\xbd\\xc3\\xe1\\x8e\\xd2\\x2c\\xdf\\x11\\xfa\\x82\\xba\\x76\\x8c\\xb9\\xac\\xbf\\x73\\xe7\\x90\\xcf\\x9d\\x29\\xdf\\x9f\\xdb\\x3d\\xec\\xd7\\x1d\\x65\\x5b\\xb7\\x7e\\xb6\\x63\\xc4\\xfd\\x83\\xbd\\xbf\\xa7\\x7b\\xbf\\x55\\x43\\x97\\x0c\\xf8\\x54\\xe0\\x2b\\x5c\\x2b\\x32\\x9f\\x74\\xb2\\x5e\\x3d\\xd1\\x75\\x0b\\x84\\xd3\\x00\\x2a\\xc4\\xa1\\xa5\\x18\\x2d\\x53\\xc5\\x1b\\xb4\\x5a\\xe0\\xa3\\x93\\x61\\x9e\\xd4\\x58\\xe3\\xcf\\x55\\x02\\x37\\x44\\x2f\\x74\\x8a\\x11\\xea\\xf9\\xa7\\x63\\xfb\\xc2\\x95\\xe7\\x4a\\x85\\xd0\\x5f\\x74\\x7c\\xd4\\xd1\\x13\\xae\\xd2\\x77\\x7a\\xd4\\x59\\x5d\\x94\\x2f\\x5b\\xf0\\x68\\x81\\x6c\\xd0\\x28\\xff\\xce\\x8f\\x3a\\x35\\x83\\x4f\\x7f\\x06\\xf3\\xe1\\x70\\x30\\x1f\\x74\\xcb\\xe9\\x05\\xf6\\xc0\\xbc\\x0e\\x29\\x65\\x39\\xf4\\x4f\\x4e\\xeb\\xbc\\x95\\x60\\x3f\\x2c\\x70\\xc2\\xbf\\x84\\x73\\xa0\\x6f\\x44\\xde\\x1e\\x4e\\x59\\x1d\\x7a\\x03\\x55\\xc1\\x1b\\xd8\\xe0\\x00\\x3f\\xa5\\xd4\\x53\\x86\\x68\\xdb\\x22\\xc3\\x10\\x09\\x4c\\x4a\\xe4\\xe9\\x42\\xc5\\x6f\\x17\\x37\\x0f\\xd3\\x26\\xea\\x92\\x49\\x79\\x16\\x52\\xc8\\x4c\\x60\\xe7\\xb8\\x1f\\x69\\x18\\xfd\\xd3\\x5b\\xeb\\xcb\\x5a\\xa4\\xa7\\x43\\x6d\\xf4\\x88\\x8c\\x41\\xbb\\xba\\x1d\\x05\\xf4\\x8c\\x29\\x67\\x87\\x76\\xdf\\x37\\xa9\\x36\\x73\\x48\\x34\\xd4\\xa6\\x0f\\x1a\\x9b\\xd9\\x9f\\x1d\\xb5\\x10\\x36\\x8c\\x29\\x5b\\xde\\x01\\xf3\\xf0\\xf7\\x01\\x35\\x17\\x48\\x2f\\x0f\\xef\\x7f\\x62\\xda\\x18\\xf8\\xfb\\xaf\\x5d\\xe5\\x88\\x8b\\x57\\xec\\xb9\\xd4\\x73\\xec\\x54\\x37\\x0f\\x90\\xd4\\x21\\xdd\\x2d\\x1a\\xeb\\x6e\\x54\\x7f\\xf4\\xf7\\x16\\xa5\\xd8\\x4f\\x03\\x85\\x82\\x13\\x18\\x79\\x23\\xfd\\x90\\x71\\x2d\\x5e\\x1b\\x27\\x93\\x35\\x1d\\x17\\xd7\\xf0\\x3b\\x97\\x24\\x31\\x20\\xb9\\x50\\x4d\\xe4\\x42\\x73\\x34\\xdc\\x73\\x1f\\x1d\\x11\\x21\\x48\\x05\\x32\\x86\\xf4\\x7f\\x23\\x63\\x7a\\x0b\\x63\\x0a\\xf1\\x18\\x60\\xb3\\x35\\x19\\x13\\x09\\xbb\\x22\\x5d\\x15\\x8f\\xe9\\xdb\\x74\\x4c\\x50\\x50\\x93\\x31\\x58\\x06\\xa5\\x93\\x31\\x82\\x0c\\x6a\\x1e\\x40\\xc6\\xb8\\x24\\x10\\x19\\xd3\\x1f\\xd7\\xb1\\x24\\x72\\x6a\\xa4\\x20\\xa7\\x9e\\x88\\x72\\xca\\xd7\\xb7\\x51\\x4e\\x61\\x07\\x09\\x86\\x9b\\xf4\\x02\\x0c\\x27\\xbd\\x4d\\x8d\\x1a\\xb5\\x82\\x92\\x31\\x32\\x2b\\x2e\\x26\\x2f\\x16\\xa9\\x79\\xbd\\xb7\\xa9\\xab\\xdd\\x90\\xce\\x82\\xdb\\x60\\xe1\\x5a\\xa1\\x34\\x0e\\xa6\\x30\\x59\\xc2\\x92\\xac\\x62\\x5b\\x6d\\x81\\x6d\\x33\\xa6\\x6e\\x5f\\x8e\\x87\\x7b\\xbc\\x86\\x80\\xc3\\x53\\x36\\xf9\\x30\\xf6\\x2c\\x20\\x6b\\xb7\\xd1\\x2a\\xb3\\xc2\\xa7\\x3e\\x30\\xbd\\x55\\xdb\\xae\\x5b\\xec\\x4c\\x51\\x7e\\xb7\\x11\\x1d\\x1f\\xce\\x1a\\x03\\x2a\\xca\\x86\\xd1\\xc9\\x53\\xc7\\x4f\\x1a\\x50\\x01\\x4f\\xd4\\x56\\xf5\\xf8\\x72\\xfb\\xb0\\x71\\x83\\xca\\x4a\\xbe\\xd9\\x5a\\x34\\x6f\\xf1\\x3c\\xf8\\x25\\xb1\\x99\\xcf\\xc3\\x2e\\xec\\x0e\\x64\\xe7\\x79\\xa3\\x9d\\xdb\\xda\\x11\\xaa\\xf3\\xf7\\xf3\\xf7\\x2b\\xe4\\x29\\xff\\x21\\xfe\\xb4\\x9a\\xf1\\xf7\\xa7\\xe4\\xf2\\x90\\x42\\x5e\\x4e\\x49\\x25\\x66\\x5b\\x24\\x15\\x59\\xc8\\xd3\\x42\\x6d\\x0e\\xc1\\xcc\\x7a\\xb3\\x9c\\x18\\x17\\x6c\\x0b\\xc1\\xb5\\xbc\\x81\\x68\\xac\\x90\\x62\\xb6\\xf8\\x8f\\x1e\\xb7\\x43\\x73\\x77\\xc1\\x0d\\x20\\xc5\\xd0\\xe8\\x9a\\x1d\\x43\\x65\\x72\\x43\\x1a\\xbc\\x07\\xcc\\xb1\\x20\\xe4\\xef\\x23\\x9f\\xb4\\x9e\\xd4\\x63\\xc4\\xe4\\x29\\x8f\\x7a\\x2c\\x9a\\x6e\\xab\\x18\\x97\\x39\\x7f\\xd8\\x44\\xff\\x85\\x11\\xe3\\x5b\\x97\\x8e\\xcf\\x32\\xf4\\xa8\\xa9\\x80\\x97\\xb9\\x1d\\x0f\\xaf\\xcd\\xaf\\x2b\\xd9\\x51\\x67\\xf5\\x5d\\x3d\\xa2\\x0e\\xce\\x04\\x4f\\xab\\x7b\\x9e\\xd0\\xe6\\x4d\\x6c\\x35\\x7e\\xee\\x72\\x67\\x50\\x68\\x5c\\xc1\\xbb\\x64\\xff\\xce\\x87\\x5d\\x39\\x15\\x9b\\x86\\x24\\xa8\\xd1\\x21\\x53\\x79\\xd0\\x06\\xb9\\x59\\x8d\\x8b\\x9e\\xdb\\x33\\xc5\\x56\\xc3\\x06\\x69\\x06\\xae\\x3f\\x88\\x1b\\x5a\\x5b\\x48\\x1d\\xe9\\x00\\x40\\x87\\x31\\xca\\x4c\\x2b\\x28\\x01\\x36\\xe7\\x9a\\x82\\x8a\\x08\\x78\\x3d\\x67\\xe8\\x0d\\x10\\xd9\\x07\\xb1\\x1d\\x69\\xa2\\x29\\x7c\\x59\\x36\\x3d\\xee\\x65\\xfd\\xac\\x4b\\x75\\x17\\xaf\\xb3\\x71\\xce\\x3a\\xc9\\x2c\\xb2\\xce\\x76\\x44\\x0f\\xb8\\x17\\xa8\\x02\\xf1\\x3d\\xab\\xc3\\x10\\x14\\x62\\x41\\xb8\\x0a\\xa4\\x0d\\x66\\xd6\\xdb\\x42\\x79\\xcb\\x0a\\x79\\x6f\\x71\\x9d\\xdd\\xac\\x17\\x37\\xe2\\x72\\x15\\x9b\\xd2\\xdb\\x48\\x82\\xaf\\x54\\x05\\xc4\\x72\\xa7\\x3a\\x2b\\x39\\x65\\xed\\x32\\x69\\xcc\\xce\\x6e\\x55\\xdd\\x7a\\x2e\\xc9\\xd7\\x2c\\x01\\x9e\\x79\\x25\\x2a\\xff\\x0f\\xe1\\xd3\\x4d\\x3f\\xde\\x57\\x76\\x00\\x8f\\x5e\\xfa\\x31\\x9d\\x43\\xe9\\x76\\x9b\\x56\\x87\\xaf\\xfe\\x71\\x40\\xaf\\xfe\\x7d\\x4f\\x31\\x51\\x52\\xf8\\x53\\xc9\\xa7\\xb5\\xb9\\xad\\x96\\xde\\x9d\\xf8\\xd5\\xbe\\xa4\\x76\\x60\\xe2\\x3a\\x90\\xf6\\xf6\\x11\\x82\\x07\\x57\\x6f\\xc4\\x30\\xaa\\xb3\\x23\\x41\\x19\\x64\\x09\\xb2\\x14\\xf1\\xea\\xa0\\xc0\\x20\\x5a\\xc3\\x04\\x05\\x19\\x25\\x46\\x73\\x11\\x6f\\xf3\\x06\\x46\\x6f\\xc0\\xa8\\xbd\\x81\\x27\\xe7\\x6d\\xd4\\xe0\\x2e\\x89\\x06\\x06\\xc9\\x1d\\xc0\\xe0\\x66\\x89\\x76\\xc1\\xd6\\xb1\\x0b\\x86\\xcf\\x1b\\x8b\\x6d\\x25\\x79\\x34\\x16\\x21\\x93\\x49\\x68\\x9a\\x88\\x96\\x3d\\xe8\\x95\\xa6\\x89\\xb8\\x81\\x65\\x6c\\xf7\\x63\\xa5\\xb3\\x9e\\xc0\\x6f\\xce\\xdc\\xed\\xb3\\xb7\\x0f\\xa8\\x59\\x38\\x97\\x6a\\x58\\x0b\\x92\\x86\\x9d\\x09\\x9d\\xdd\\x69\\xf8\\x34\\x30\\x21\\xe4\\xc7\\xdf\\x41\\xd7\\xad\\x45\\x1d\\xe6\\x9d\\x99\\x35\\xa1\\xdb\\x8c\\xce\\x1e\\xb4\\xe7\\xc8\\xce\\xdd\\xde\\x2d\\x3d\\x3c\\x2e\\xa3\\x5d\\x61\\x66\\xdd\\x9e\\x8a\\x1e\\xcd\\xb2\\x84\\xf3\\xd4\\x49\\x70\\x30\\xdb\\x80\\xf0\\x1d\\x4c\\x8d\\x75\\x94\\x52\\x81\\x40\\xc1\\x05\\x12\\x6a\\xbd\\x4c\\xdd\\xa7\\xfe\\xa6\\x98\\x13\\x14\\xd8\\x4f\\x81\\xcd\\x14\\x98\\x49\\x2d\\xa7\\xe8\\x64\\xaa\\x37\\x45\\xb7\\x37\\xf2\\x46\\x3a\\xca\\x08\\x7a\\x4a\\x41\\xb6\\xb4\\x54\\x4a\\x27\\x48\\xc1\\x8f\\xca\\x5f\\x95\\xff\\x56\\x32\\xdf\\x28\\xc1\\xa7\\x4a\\xb0\\x4d\\x09\\x66\\x29\\x57\\x28\\x69\\xa5\\xd4\\x48\\xb1\\x9e\\xfe\\x94\\xe7\\x41\\xc0\\xe1\\x86\\xdd\\x58\\x27\\x7f\\xf5\\x1f\\x5e\\x3f\\xa1\\xe5\\xa5\\x21\\x00\\x98\\x84\\xaa\\x95\\x36\\xb2\\x29\\x49\\x79\\x0f\\x1d\\x65\\x4d\\xc1\\xe5\\xb0\\xa4\\x2c\\xce\\x81\\xb0\\x75\\x99\\xbf\\x75\\x41\\x55\\xcb\\x6d\\xb9\\x0a\\xba\\xf7\\x86\\x15\\xef\\x76\\xfc\\x08\\x0c\\x05\\x51\\xe0\\x2a\\xdc\\x12\\xca\\x64\\x86\\x22\\xeb\\x77\\xc9\\x41\\x30\\x3c\\x22\\x29\\xdc\\x12\\x56\\xdb\\x3d\\xff\\x4c\\x5e\\x6e\\x79\\x86\\x21\\x2a\\x31\\x2c\\xb4\\x70\\x68\\xd1\\x34\\x90\\x0c\\x7a\\xfc\\x20\\x95\\x1e\\x39\\x72\\x08\\xbe\\x0f\\x6f\\x91\\x7a\\xfe\\x88\\x77\\xa1\\x35\\x0c\\xc4\\x35\\x24\\x8d\\x9e\\x3e\\x3e\\x12\\x5c\\x8c\\x41\\xa3\\x96\\x7b\\x1a\\x03\\x49\\x89\\x6f\\x7c\\xae\\xe5\\xaa\\xe5\\xd7\\xb4\\xe7\\x16\\xce\\x1d\\x6a\\xac\\xa6\\x4f\\xca\\xab\\xd0\\x53\\x4e\\xab\\x1d\\xad\\x07\\xac\\x0e\\x18\\x0a\\xef\\xbd\\xaf\\xe2\\x80\\xd2\\xd3\\x83\\x29\\x3d\\x34\\x76\\xee\\x0c\\xf5\\x75\\xf4\\x14\\xff\\x7c\\x7b\\x6e\\x8b\\x8d\\x4b\\x9d\\x87\\x98\\x92\\xb6\\x05\\x91\\x91\\xd1\\x49\\xf1\\xe1\\x43\\xca\\x47\\xd4\\xb5\\xe8\\xf8\\x72\\x26\\x92\\xf1\\xb3\\x10\\x2d\\x2d\\xe2\\x4e\\x21\\x8b\\xc6\\x44\\x6a\\xd5\\xf9\\x9b\\xf5\\x85\\xbc\\xda\\xbc\\xd6\\xbc\\xcb\\xcc\\xe8\\x18\\xb3\\x99\\xf2\\xf0\\xf0\\x2e\\xe2\\x3d\\x28\\x4a\\x5d\\xe4\\xae\\x6e\\xf3\\x7a\\x07\\x56\\x4c\\xe3\\x14\\x6e\\xc3\\x82\\x6c\\x2f\\x9b\\xab\\x1e\\x32\\x70\\x77\\xf8\\x78\\xb6\\xfb\\xb3\\xc0\\xf6\\x20\\xfb\\x57\\x30\\xac\\xd7\\x9e\\xc7\\xc3\\x7a\\xae\\x8d\\x87\\x15\\xa6\\x2c\\x60\\xad\\x5e\\x95\\x00\\x36\\x98\\xb2\\x0d\\xbf\\xdf\\x9a\\xb2\\x1e\\x8c\\x04\\xa3\\x61\\xce\\x07\\xb0\\x00\\x7e\\xb7\\xf2\\xe3\\xfa\\x7b\\xd3\\xaa\\xc6\\x4c\\x63\\x87\\x3d\\xbc\\x3b\\xa5\\xa2\\x76\\xbc\\xd0\\x73\\x8b\\x4d\\x47\\xfb\\x5e\\x4b\\x7a\\x6e\\x71\\xb8\\xe7\\x96\\x9a\\xa2\\x94\\xaf\\xf7\\xdc\\x12\\xba\\xba\\xa5\\x88\\xc5\\x85\\x11\\x05\\xd3\\xfb\\xe1\\x6e\\x65\\x2f\\xd2\\x6f\\x6b\\x9e\\xb4\\xef\\xa0\\xf2\\x99\\x1b\\x0c\\x40\\x93\\xd0\\x06\\x77\\xdb\\x8a\\x0e\\x0a\\x1c\\x30\\x60\\xd2\\x67\\x82\\xee\\x85\\x6b\\x85\\xdc\\x60\\xd3\\x90\\x9e\\x40\\xf2\\x73\\x1b\\xae\\xa2\\x6b\\x2b\\xe9\\x91\\x65\\x71\\x68\\x14\\x12\\xca\\xe0\\xe5\\xa5\\x2d\\xe1\\xbd\\x28\\x39\\xb2\\x1d\\x8c\\x82\\x66\\x27\\x36\\xbe\\x14\\xca\\x0b\\x63\\x1d\\x17\\x2b\\x5d\\xc0\\x86\\xbd\\xaf\\xa4\\xf5\\x1d\\xa2\\x25\\xd6\\x0a\\xaf\\x26\\x68\\x81\\xef\\xa8\\x20\\xf8\\x37\\xbc\\x4c\\xaf\\xf1\\xf0\\x09\\x8e\\xb3\\x26\\xc4\\x79\\x76\\xe9\\xd7\\x7b\\x4c\\x8e\\x17\\x38\\xb3\\xb6\\xc6\\x47\\x9a\\xf6\\xb3\\x1d\\x96\\x30\\x7f\\x98\\x26\\xf0\\xa1\\xfa\\x2f\\x02\\xb2\\x57\\x2e\\x25\\xcf\\xff\\x16\\xf1\\xee\\x7d\\x42\\xad\\x6a\\x87\\x8e\\x56\\x9a\\x8d\\x26\\xa5\\x5a\\x21\\x37\\x73\\xfa\\x62\\xde\\x53\\xc6\\x79\\x11\\x77\\x21\\xde\\xbe\\x99\\x76\\x52\\x9d\\xc3\\x55\\x92\\xda\\x16\\x22\\x25\\x47\\x04\\x12\\x57\\xf9\\x10\\x46\\x22\\xa5\\xaf\\xcb\\x54\\x4c\\xed\\xb6\\xc4\\x8e\\x6a\\x56\\x9f\\x0b\\xef\\x03\\x2b\\xf0\\xa9\\x55\\x2e\\x78\\x6b\\xa5\\xef\\x10\\xe0\\xb3\\x31\\x94\\x19\\x92\\x73\\x3a\\x3e\\x72\\x38\\x9c\\xc6\\xdd\\x76\\x6e\\x6c\\x17\\xff\\xfe\\x07\\xf3\\xe8\\xd6\\xf5\\x07\\xbf\\x0b\\x41\\x38\\x5f\\x8c\\x70\\xb0\\x8c\\xd4\\xca\\x54\\xed\\x97\\xd3\\x6a\\x16\\x34\\xa9\\xa7\\x2c\\xa8\\x19\\x84\\x0a\\x29\\xba\\x1c\\x3e\\xff\\x1c\\x44\\x0c\\x1a\\xb5\\x28\\x4f\\x0d\\xbc\\x75\\xf0\\x14\\x9b\\x56\\xbf\\x7f\\xfa\\x23\\x67\\x55\\xab\\xe6\\xcd\\xd3\\x4e\\x38\\x49\\x2f\\x8e\\xa1\\x68\\x7f\\xe3\\xfa\\x35\\xcd\\xa8\\x02\\x87\\xce\\x27\\x3a\\x26\\x3a\\xa6\\x90\\x8f\\x8e\\x0e\\x91\\x59\\x49\\x31\\x2c\\xea\\x60\\xc3\\x63\\x87\\x8f\\xc9\\x37\\x27\\x91\\x02\\x52\\x09\\xb8\\x27\\xf9\\x4b\\x42\\x2b\\x24\\x06\\xca\\x2f\\x5c\\x22\\x0b\\xa1\\x64\\x8d\\x3b\\x77\\xa8\\xd8\\xc2\\x4b\\x28\\x92\\x2b\\xec\\x0c\\x92\\x98\\xe6\\xde\\xb3\\xb1\\x40\\xc8\\x5b\\x0b\\x15\\x99\\x56\\x26\\xe0\\x70\\x14\\x84\\x0a\\xa8\\xf1\\x40\\xa9\\x8a\\x01\\x9b\\x07\\x2c\\xd9\\xb3\\x56\\xd8\\xc1\\x51\\x15\\xeb\\x4e\\xaf\\x59\\x00\\x74\\xfb\\xe9\\xe5\\x87\\x4f\\x7e\\x44\\xc3\\xdb\\x95\\xa1\\x8c\\x7f\\xc8\\x5f\\x4f\\x75\\xcc\\x87\\x97\\xad\\xc7\\xbf\\x9b\\x92\\x06\\xc6\\x66\\xe5\\x79\\xfb\\x8f\\xef\\x29\\x6c\\x65\\x7d\\x60\\x54\\x70\\x70\\xc4\\xac\\x21\\x13\\x6e\\x2c\\xf5\\x91\\xca\\x46\\xf0\\x15\\x8b\\x2d\\x1e\\xd2\\x23\\x9f\\x68\\x7b\\x97\\x9b\\xb3\\x72\\x14\\x47\\xcd\\x69\\xa5\\x35\\x98\\x96\\xc4\\x3e\\x39\\x88\\x96\\x8a\\x85\\xf8\\x56\\xa4\\x33\\x28\\x11\\x1e\\x83\\xb1\\xc6\\xa0\\xa1\\x7c\\x83\\x7c\\x0b\\xf9\\x80\\x20\\xb5\\xd1\\x28\\x93\\xcb\\x25\\x62\\x53\\x45\\xa1\\x76\\x4f\\x63\\xb5\\x71\\x77\\xc9\\x7a\\xec\\x2b\\x4d\\xd1\\x87\\xa0\\x6d\\x85\\xb6\\x92\\x2e\\x13\\x08\\x35\\x57\\x10\\x33\\x4a\\x1f\\xe6\\x11\\x14\\x12\\x14\\xc6\\xf6\\xe9\\x7f\\x51\\x3e\\xe6\\xcf\\xe6\\xad\\x73\\x53\\xe0\\x2f\\xfc\\xb0\\x50\\x9f\\xd4\\x81\\x16\\x5b\\x76\\x2d\\xf3\\x83\\x95\\x19\\xef\\xfc\\x28\\xdc\\x3b\\xc4\\x4f\\xfe\\xa1\\xe5\\x90\\x2d\\x9d\\x1e\\x0e\\x7f\\x86\\xf0\\xea\\x84\\xaf\\xc1\\x88\\xc3\\xd3\\x0c\\xda\\x13\\xfe\\xa4\\xbf\\x5a\\xc3\\x71\\x44\\x67\\xb5\\x6c\\x01\\xda\\x57\\xfe\\x58\\x03\\x35\\x21\\xc3\\xc2\\x80\\xeb\\xd3\\x49\\x38\\x33\\xae\\x80\\xca\\xb8\\xcb\\x75\\xd9\\x33\\x9b\\xa8\\x01\\x84\\x09\\x89\\x9d\\x96\\x55\\xa4\\xaa\\x9a\\x5c\\xe8\\x9d\\xa0\\xa3\\x4b\\xb6\\x96\\xca\\x4d\\x39\\xf0\\xca\\xf1\\x38\\x90\\xf5\\xeb\\xa7\\x97\\x0b\\xde\\x3d\\xb5\\xe4\\xed\\x0b\\x8e\\xa4\\xb0\\x81\\x2d\\xb2\\x27\\xb6\\x37\\xcc\\xde\\x0d\\x97\\x30\\x7f\\x3c\\x03\\x5e\\x37\\x4f\\x4e\\x80\\x0d\\xa7\\x87\\xd2\\x17\\x4f\\xc3\\x5d\\xf0\\x71\\x7a\\x9b\\x77\\x80\\x84\\xe0\\x6a\\x22\\xa2\\x93\\x45\\xa4\\xae\\x2c\\x8e\\xd1\\xd2\\x6a\\x83\\x7d\\x90\\x4e\\xe5\\xe7\\xa3\\x11\\xb9\\xb7\\xdd\\xdd\\xc0\\x4d\\x2c\\xb4\\x84\\x57\\x3d\\xc9\\xb5\\xe8\\x4d\\xba\\x56\\xd3\\x60\\x71\\xdf\\x79\\x6b\\x27\\x64\\xf6\\xec\\xb8\\xa9\\x7b\\x6c\\x8f\\x35\\x3b\\x97\\xf4\\x3a\\xfc\\x72\\xe1\\x6f\\xe3\\x76\\xf7\\x9e\\x52\\xbe\\xa9\\x37\\xd8\\x98\\xdb\\x3d\\xd4\\x96\\xc1\\xb7\\xed\\xfc\\x59\\x97\\xdc\\xfe\\xd9\\xfe\\xb1\\xa1\\x41\\x21\\x1b\\x26\\x0f\\x01\\x01\\xf5\\x33\\x3e\\x58\\x3d\\x65\\x15\\x6c\\x10\\xce\\x17\\x5b\\xa2\\x75\\x8b\\x25\\x7d\\x39\\x2d\\x94\\x9f\\x43\\xe5\\xe9\\xe5\\xe1\\x85\\xf9\\x0e\\x85\\x20\\xa2\\x9a\\xd4\\xf2\\x11\\xf9\\x1f\\x56\\xc4\\x2d\\xd2\\x10\\x9b\\x94\\x9c\\xe3\\xea\\x13\\x6d\\xc8\\x9c\\x71\\x37\\x38\\xfd\\xf3\\x87\\xdb\\xd5\\x5f\\x00\\xaf\\x9d\\xb4\\xa7\\x75\\xe6\\x58\\xd0\\x63\\x15\\xbc\\xb9\\x3e\\x22\\xb9\\xf8\\x9d\\x01\\x76\\xbe\\xa4\\xc7\\xc2\\x8e\\x86\\x6f\\x8f\\xce\\x04\\xc6\\x13\\x6f\\x1d\\x91\\xb0\\x6b\\x36\\xad\\x87\\xff\\x5a\\x41\\x6f\\x98\\x5a\\x53\\xb0\\xf4\\x48\\xd7\\x01\\x35\\x63\\x6f\\x09\\xf2\\xf1\\x70\\xc3\\x6f\\xec\\x72\\x04\\x8b\\x1f\\x15\\xec\\xd0\\xea\\xbd\\xbc\\x34\\x85\\xbc\\x97\\x17\\x4e\\xd1\\x2e\\xe4\\x59\\xa9\\x9a\\xca\\x7c\\xb5\\x72\\xbe\\x50\\x4f\\xdd\\xfe\\x4f\\xa5\\xf3\\xf5\\xe0\\x58\\xd1\\x3b\\x7e\\x36\\xff\\x7e\\xc9\\xf4\\xdf\\x56\\xb8\\x65\\x88\\x24\\xc9\\x1e\\xe1\\x08\\x0d\\xaa\\x8b\\x98\\x33\\x49\\x36\\x9e\\x19\\x6f\\x52\\x9d\\x50\\x68\\x8f\\x38\\x3f\\x0b\\xf0\\x6a\\x16\\xec\\x71\\x40\\xa6\\x2a\\xaf\\x0e\\x8d\\xa1\\x27\\x0b\\x30\\x10\\x1d\\x19\\xc1\\xe0\\x43\\x19\\x1c\\x32\\x03\\xd2\\xba\\x94\\x8d\\xd5\\xce\\xec\\xee\\xf2\\x6d\\xee\\x9e\\x9a\\x3a\\x91\\x3f\\xd0\\x2c\\x78\\xf6\\xcd\\xe7\\x6a\\x5c\\xd2\\x5d\\xd1\\xb1\\x73\\xaf\\x89\\x9d\\x63\\x41\\x40\\x38\\xc2\\x80\\x61\\xc5\\x7a\\x47\\x07\\x5c\\xcb\\xbd\\x45\\x6c\\x49\\xa7\\xb9\\x20\\x6d\\xf2\\xbe\\xe9\\x53\\xb6\\x5f\\x86\\x63\\x8e\\x63\\xdc\\x7b\\x93\\x1e\\x67\\xc5\\x88\\x2a\\x6d\\xb8\\x63\\xa5\\x31\\xa8\\x88\\x37\\x6a\\x3c\\xe5\\x45\\x88\\x34\\x43\\xb5\\xb4\\xb6\\x90\\xf7\\xa7\\xbd\\x80\\x28\\x24\\x9b\\x94\\x2b\\x22\\x71\\xe3\\x22\\x29\\xa0\\x39\\x23\\xfc\\x9b\\xf4\\xae\\xae\\xfc\\x98\\x3f\\x0b\\x2a\\x6a\\x06\\xd0\\xd1\\x9a\\xab\\x05\\x7b\\x0f\\x65\\x4f\\xfb\\x72\\xae\\xaa\\x64\\x52\\x87\\xf7\\xfb\\xda\\x7e\\xd8\\x34\\x69\\x7e\\xd1\\xba\\x5f\\x66\\x83\\xda\\x0e\\xa9\\x1d\\xbd\\xfb\\x0e\\x58\\xd2\\x09\\x76\\x01\\xcb\\x3c\\x4e\\xee\\xaf\\x05\\x92\\x13\\x93\\x2c\\x1f\\x19\\x56\\xd4\\x8f\\x38\\xa7\\xa0\\x4d\\x27\\x4e\\x1f\\xda\\x3a\\x15\\xde\\xb8\\x36\\xca\\x83\\xf1\\x59\\x35\\x70\\xac\\xf3\\x37\\x6e\\x2d\\x10\\x7c\\xd3\\x0d\\x83\\x90\\xa4\\x7d\\xcc\\x16\\x12\\x9e\\xad\\xe7\\xf4\\x32\\x15\\x2b\\xd5\\x7a\\x9a\\xa5\\x6a\\x5f\\x8a\\x32\\x95\\x34\\x29\\x87\\xef\\x6a\\xe6\\x8a\\x24\\x84\\xce\\x94\\x82\\x0f\\x73\\x2d\\x0c\\x6e\\x80\\x4c\\xa4\\x07\\x20\\xd2\\x03\\x0c\\xcf\\x2e\\x4a\\x6f\\x27\\x6f\\xfb\\x3b\\x88\\x80\\x0c\\xd5\\x00\\x2f\\x0c\\xf6\\xf5\\xf4\\x2e\\x85\\x17\\xe1\\x05\\xba\\x57\\x4e\\x42\\x7a\\x42\\x44\\x14\\xd3\\x85\\x2d\\x8c\\xae\\x81\\x2f\\x73\\x07\\x83\\x2a\\x67\\x7e\\xfd\\x39\\xb0\\xbb\\xb2\\x47\\xe2\\x74\\x98\\xc7\\xb4\\xfc\\x73\\x53\\x17\\xcd\\xd1\\x00\\x9c\\x73\\x82\\x70\\xf8\\x90\\x6b\\x81\\xe0\\x09\\x72\\x68\\x7c\\x19\\x56\\xa7\\xa6\\x7c\\x14\\x3e\\xc8\\x50\\x51\\x78\\x79\\x36\\xed\\xcc\\x84\\x4d\\x14\\xdc\\x3d\\x04\\x97\\x09\\x72\\xb5\\x66\\x72\\x59\\xbc\\x26\\xbd\\x9d\\x5e\\x38\\xb8\\xc6\\x7f\\xe4\\x93\\x31\\x09\\xf5\\x3f\\x15\\xdc\\x2c\\xd8\\xb7\\x4b\\x3b\\xe6\\xc9\\x48\\x75\\x56\\xfe\\xad\\xeb\\xbb\\xe9\\xf9\\xab\\xe8\\x4a\\xe7\\xa2\\xfa\\x9b\\x34\\xac\\x01\\xcb\\xe8\\x95\\x1b\\x1c\\x95\\xf4\\x10\\xe7\\xfa\\x82\\xe6\\x45\\x05\\x0c\\x3b\\x97\\xd0\\x0c\\xae\\xef\\xf9\\x21\\xe2\\x2f\\x31\\x54\\x9c\\xc3\\xc4\\xf8\\xfa\\x4a\\xd5\\x61\\x1a\\xb5\\x06\\x29\\xa7\\x6a\\x4d\\x90\\x97\\x14\\xed\\x27\\x4a\\xea\\x45\\xbd\\xd2\\x23\\xca\\xd5\\xdb\\x8a\\x6b\\x6c\\x5e\\x25\\xae\\x26\\x78\\xa5\\xd7\\x95\\x48\\x61\\x29\\x82\\xed\\x4b\\x3b\\x7b\\xf5\\xa1\\xb9\\xf8\\xf7\\x7a\\xd5\\x8c\\xc9\\x99\\xb6\\xbf\\x86\\xce\\xae\\xc9\\x6b\\x97\\xd0\\xdd\\x1c\\x75\\x23\\xca\\xab\\xa5\\x9d\\x6f\\xd5\\xdd\\x31\\x71\\xe6\\xa8\\xe3\\x86\\x59\\x63\\xc6\\xcc\\xda\\xbe\\x7e\\x12\\x30\\xff\\x3c\\xdf\\xf0\\xa1\\xe1\\x03\\x78\\xbc\\xdf\\xa2\\xcf\\x17\\x5e\\xbf\\x3e\\xa0\\xcb\\xfc\\x55\\xc0\\x56\\xf3\\x81\\xdf\\x87\\xbe\\xdf\\x6d\\xd9\\x08\\xdf\\xfd\\x86\\x72\\xdb\\x8d\\x99\\xdc\\x1a\\x97\\xdd\\x48\\xf5\\xbf\\x43\\x11\\x4b\\xd6\\x7d\\x74\\xe9\\xb2\\x1b\\xc9\\x98\\x91\\xaf\\x8c\\x71\\x9b\\x8d\\x2e\\x79\\x80\\xed\\x4f\\x2c\\x0f\\x1a\\x6d\\x5d\\xb3\\xf9\\x0d\\xfb\\xd3\\xe0\\xb6\\x3f\\x45\\x1b\\xd5\\x75\\x1b\\x32\\x86\\xe0\\x92\\x8c\\x19\\x2b\\x8c\\x49\\x21\\x63\\x62\\x63\\x5d\\x63\\x90\\x2e\\x37\\x14\\x8d\\xc1\\xb5\\x74\\xfd\\x48\\x27\\xe7\\x34\\x47\\xa0\\x6f\\x54\\x31\\x6f\\xd0\\x5a\\xb5\\xb8\\xad\\xb7\\xc9\\xd7\\xea\\x6b\\x65\\xe4\\xf2\\xc0\\x22\\x64\\xf6\\x31\\xcd\\x4a\\x5e\\x37\\x56\\xe3\\xe2\\x52\\xdd\\x25\\x60\\x81\\x81\\xb2\\x04\\xd3\\x02\\x5b\\x73\\x17\\x22\\x44\\xf4\\x41\\x76\\x13\\x43\\xf6\\x11\\xe1\\xf8\\x4c\\x93\\x00\\x00\\x76\\x08\\x3c\\x07\\xff\\xba\\xf0\\x64\\xd8\\x45\\x90\\xb4\\x6d\\xf6\\x8a\\x9f\\x0f\\x15\\x2e\\x8b\\x4a\\x6e\\x2d\\x69\\x7d\\xa4\\xdb\\x27\\xa7\\xe7\\x0c\\x6b\\x35\\x36\\x4c\\xd7\\x23\\xa7\\x6d\\x97\\x99\\x3d\\xcb\\x6a\\xdf\\xeb\\xd5\\x65\\xda\\x62\\x70\\xff\\x21\\x7c\\x0a\\x82\\x5e\\x5c\\x07\\x3d\\x5f\\x2e\\xe9\\xdd\\x6d\\xfa\\xba\\xb0\\x80\\x82\\xcf\\xab\\x52\\x73\\x3e\\xa5\\xab\\x93\\x62\\x43\\x75\\xbe\\xe1\\xf5\\xff\\xee\\xd4\\x6d\\xc9\\x88\\xe2\\xca\\x85\\x02\\x3f\\x56\\xa1\\xb9\\x3d\\x25\\x3d\\x6c\\x53\\xa9\\x96\\x8e\\x20\\xbd\\xd1\\xa8\\x2e\\xe1\\x41\\x48\\x7c\\x48\\x31\\x1f\\x1b\\x6f\\x44\\xff\\xb9\\xc8\\xc8\\xc4\\x62\\x3e\\x92\\xe2\\x02\\x4b\\x78\\xee\\xf5\\xa9\\x89\\x33\\x13\\xcb\\x0d\\x48\\xc4\\x1a\\xd8\\x2e\\xb3\\x55\\x2c\\xbc\\xa6\\x12\\x5d\\x06\\xa4\\x54\\x8d\\xd8\\x57\\xd0\\x6e\\x11\\xea\\x78\\xa1\\x39\\xb2\\xdf\\x0c\\x4f\\xfe\\x1e\\xbe\\x58\\xb5\\x69\\x93\\x4f\\xa0\\x4f\\x33\\xaf\\x76\\xe6\\xb0\\x9e\\xfd\\x4a\\x7b\\x9a\\x83\\xcc\\xc3\\x0a\\x96\\x4e\\x0a\\xfc\\x15\\x8e\\xfb\\xa9\\x0e\\xe4\\x9b\\x86\\xc3\\xb7\\x4d\\xa3\\x8a\\x2a\\xe7\\xd3\\x5f\\xff\\x02\\x3f\\x78\\xbf\\xb6\\x7f\\x78\\x71\\x5e\\x2b\\x93\\xcd\\xa4\\x39\\x91\\x50\\x98\\x17\\x9e\\xdf\\x31\\x2f\\xb4\\x7c\\x12\\xa0\\x17\\x31\\x07\\x36\\x8d\\x3f\\x31\\x08\\xae\\xaa\\x1c\\x35\\x2a\\x77\\x5b\\xb7\\xce\\x5d\\x7a\\x92\\xfd\\xb2\\x83\\xa2\\xb8\\x32\\x8e\\x17\\x7a\\xcb\\xca\\x34\\x95\\xbc\\x52\\xc6\\x1a\\x38\\xc0\\x30\\xf8\\x70\\x0a\\x57\\x11\\x26\\x85\\x15\\x89\\x3f\\xc1\\x0c\\x9a\\xf4\\xde\\xc5\\xc7\\xd6\\x3d\\xe0\\xd5\\x01\\xff\\x06\\x7e\\x4b\\x7f\\x2f\\x5c\\xc1\\xe7\\x96\\x47\\xbd\\x63\\xb2\\x18\\x7c\\x13\\x23\\xe1\\x37\\x74\\x2c\\x63\\x72\\x7e\\x0b\\x7a\\x8f\\xeb\\x97\\x56\\xb0\\x26\\x50\\x17\\xd7\\x12\\x92\\xb3\\xbe\\x06\\x19\\x79\\xd6\\x69\\x44\\x4f\\x53\\x88\\x3f\\xae\\x99\\x73\\x17\\x82\\x41\\xba\\x17\\x98\\x28\\xc1\\x0d\\x83\\x68\\x8e\\xc0\\x23\\x79\\xdb\\x35\\x86\\xea\\x4f\\x39\\xa8\\xe7\\x84\\xc2\\xfd\\xfc\\x9a\\x9e\\xe7\\x74\\x44\\xbc\\x66\\x3a\\x77\\x5a\\x23\\xa1\\x53\\x01\\x5e\\x2b\\x1d\\x92\\x9d\\x0c\\xe9\\xcd\\x10\\x4b\\xc5\\x3a\\x4c\\x56\\xb3\\xc6\\x5c\\xc8\\x2b\\x35\\x81\\x81\\x94\\x4c\\xe3\\x15\\xcd\\x98\\x08\\x47\\x14\\xfb\\x1e\\xd8\\x85\\x66\\x2b\\x3a\\xd1\\x90\\xd6\\x23\\x29\\xfa\\x7a\\xfb\\xba\\x44\\x5d\\x4a\\x88\\x5e\\x3c\\x2b\\xb1\\x8b\\x2d\\xf7\\x70\\x89\\x02\\x8b\\x84\\x5e\\xc9\\xf6\\xb3\\x55\\x45\\x0f\\x3d\\x31\\xc2\\xc5\\x00\\xc6\\x96\\xf5\\xef\\xb9\\xc0\\x16\\x14\\x5b\\x16\\xe4\\x7b\\x23\\xdc\\xa3\\x65\\x7e\\xad\\xbf\\x0f\\xcc\\xe9\\x31\\x90\\x4d\\x3b\\xd5\\x67\\xf9\\x2e\\x78\\x69\\x07\\x66\\x02\\x87\\x76\\xbe\\x03\\xd8\\xc9\\xce\\x27\\x65\\x5d\\x77\\xaf\\x9b\\x76\\xa6\\x6b\\xd0\\x42\\x10\\xb4\\xa7\\xa0\\x2e\\xb8\\x04\\xde\\x41\\x7c\\xfc\\x1a\\x9a\\xcb\\xbf\\xd9\\x56\\x68\\xff\\xd8\\x1d\\x7e\\x31\\x7e\\xc5\\x7c\\x8c\\x31\\x24\\xa2\\x98\\x0f\\x0b\\x31\\x1b\\x29\\xda\\x4b\\xed\\xa9\\x54\\x4a\\x8b\\x79\\xa5\\x9a\\x36\\xba\\x7b\\xad\\x09\\xeb\\x22\\x08\\x20\\xc4\\xcd\\x93\\x75\\xaf\\xf4\\xca\\x41\\xbb\\xc6\\x04\\x2c\\x82\\x37\\x2a\\x13\\x34\\xa9\\x84\\x99\\x2c\\xea\\xa8\\x29\\x4c\\xad\\x73\\x21\\xfc\\xf1\\xed\\x3d\\xc5\\xe1\\x91\\x2a\\x9f\\x7e\\xc1\\x3d\\x07\\x85\\x3a\\xf2\\x58\\xba\\x3f\\x48\\x5d\\x71\\xa0\\x73\\x4c\\xbc\\xae\\x65\\xe8\\xd6\\xf7\\x84\\x66\\xca\\xed\\xba\\xca\\x55\\xad\\xda\\xe5\\xf6\\xa4\\x8f\\x3a\\x5b\\x7d\\x08\\xe6\\xae\\x9f\\xa8\\xfa\\xc5\\x43\\x35\\x69\\x7c\\xce\\x9c\\x39\\x63\\x69\\xfa\\xf4\\x3e\\x38\\x68\\xfd\\x44\\xbd\\x04\\x7e\\xf5\\xc9\\x46\\xdc\\x4e\\xb9\\x55\\x8b\\x5c\\xdd\\xc4\\xaa\\xea\\x0b\\xeb\\xd0\\x7a\\xe4\\xa2\\x39\\xe1\\x7a\\xd5\\x58\\xcf\\xf3\\x73\\xa8\\x65\\x86\\x0a\\x5e\\xc6\\xd2\\xbe\\x55\\xbc\\x96\\xd6\\x01\\xb3\\xab\\xa5\\x3c\\xa9\\x09\\x80\\xfd\\x41\\x2e\\x97\\x02\\x16\\x9a\\x4d\\x5d\\x69\\xb4\\x03\\x5e\\x29\\x82\\x37\\xfb\\xec\\x03\\x60\\xc3\\x85\\x9f\\x4b\\x16\\x7c\\x33\\xb1\\x7e\\x6f\\xcd\\xaa\\x8a\\x3d\\xfd\\x57\\x57\\x22\\x71\\xb9\\x39\\x1b\\xd4\\x6e\\x02\\xe3\\xa8\\x86\\x69\\xb7\\x6f\\x2d\\x84\\xdb\\xff\\xb3\\xc6\\x8f\\x99\\xf4\\xd7\\x5e\\xb8\\x7a\\x0e\\x3c\\x00\\x7a\\x09\\x7b\\x98\\xf4\\x0d\\x24\\xfd\\xcd\\x02\\x30\\x1c\\x72\\x23\\x29\\xfe\\x6b\\x46\\x86\\x25\\x6b\\x64\\x9a\\xc2\\xc1\\xd9\\x19\\x77\\xdf\\x04\\xb4\\x0b\\x69\\xe1\\x98\\xa9\\x11\\x90\\xd9\\xa0\\x08\\xde\\x2f\\x5a\\xbe\\x60\\x2d\\x08\\x3e\\x09\\x76\\xe5\\x4e\\xf9\\xa4\\xb2\\x98\\xaf\\x99\\x55\\xb8\\x79\\xf0\\xec\\x42\\x09\\x2c\\x07\\x1b\\x02\\xcf\\xac\\x3c\\x08\\x2a\\x0f\\xc0\\xc9\\xa3\\xe1\\xdf\\x9f\\x8f\\xa3\\x3f\\xe9\\x55\\x3e\\x15\\xde\\x1a\\x76\\x76\\x26\\x08\\x27\\xfb\\x0c\\x71\\x59\\xf6\\x96\\xab\\x6f\\x84\\x11\\x54\\xf1\\x46\\x23\\x32\\x73\\xd5\\x15\\xbc\\xc2\\x83\\xf8\\x2f\\xfe\\xb9\\x7f\\x83\\xd8\\xf3\\xdd\\x5d\\xb9\\x6a\\x5d\\xc2\\xa6\\x83\\xdb\\x40\\xd2\\x97\\x17\\x7f\\x31\\xc2\\x47\\xf2\\x61\\xd5\\x0b\\x8e\\x4e\\x9b\\x90\\xd1\\xb6\\x8a\\x6a\\xf0\\xbd\\x7b\\xe0\\x28\\x48\\xd9\\x75\\xf8\\x54\\xbb\\xd1\\x83\\x7f\\xdf\\x39\\x7a\\x8a\\x01\\x8a\\x3d\\x9d\\xb5\\x62\\xdf\\x84\\x28\\x64\\x0b\\x18\\xa9\\x40\\xa9\\x89\\x95\\x87\\x60\\xe2\\xb2\\x86\\x98\\xe5\\x7a\\x12\\xf0\\xd0\\xb4\\x35\\x19\\x56\\x13\\x38\\xd7\\x31\\x84\\x18\\xde\\x80\\x01\\xc0\\x3b\\x00\\x1f\\x55\\xd0\\x42\\x37\\x78\\xb1\\x06\\x34\\x7d\\xc0\\x91\\x77\\x7e\\x63\\xe9\\x1a\\x60\\x3d\\x8c\\xc3\\x1c\\xa4\\xf9\\x1d\\xba\\x4d\\xcb\\x8a\\xe9\\x3e\\xfc\\xdd\\x41\\x2d\\x17\\x3a\\x77\\x1e\\x39\\x15\\xd3\\xe6\\xfb\\xee\\x33\\xa6\\x76\\x0a\\x8d\\xd6\\x27\\xf6\\x7a\\x6f\\xe8\\x17\\x20\\x6e\\x0b\\x8e\\x76\\xa8\\xea\\x3c\\xe0\\xc0\\xb0\\x36\\x7c\\x4b\\x6b\\xb3\\xac\\x8a\\xec\\xe1\\x9f\\x96\\xc5\\xff\\xea\\x67\\xcd\\x22\\xb0\\x66\\x20\\x1c\\x3d\\x22\\x3e\\xec\\x10\\x87\\x4e\\x46\\x57\\xf0\\x94\\x43\\x26\\x63\\x39\\xec\\x61\\x47\\x7b\\x9b\\xb8\\xdf\\x04\\x1c\\xf9\\x9e\\x16\\x6a\\xe6\\x60\\xd3\\x13\\x7b\\xe3\\x18\\xfa\\x41\\x28\\xfc\\xf4\\x2d\\xe2\\xe5\\xf8\\x20\\xda\\x39\\x3e\\x8f\\x1e\\x58\\x08\\x5a\\x1f\\x82\\x0c\\xf6\\x94\\xd7\\xc1\\x2a\\xb4\\xc7\\xce\\x21\\x3c\\x6c\\x21\\xf5\\xe7\\xc9\\xbd\\x0b\\xdd\\xf7\\x46\\x9c\\x5b\\xcd\\x9a\\x5f\\xbb\\xb7\\xb5\\xe9\\xbd\\x91\\xda\\x5a\\x30\\x1b\\xfe\\x01\\xac\\xcc\\xde\\x70\\x67\\x65\\x47\\xba\\xb6\\x43\\xd7\\xa3\\x4e\\x07\\x77\\xfb\\x14\\x1c\\x0c\\xc7\\x62\\xb8\\xfd\\x90\\x9c\\x78\\x89\\xd6\\xd6\\x46\\x45\\x38\\xbc\\x6c\\xfa\\x30\\x03\\xab\\x08\\xb0\\x58\\xcc\\x55\\xbc\\x85\\x95\\x29\\x14\\x92\\x2a\\x5e\\xa1\\x7f\\xa5\\xe1\\x0a\\x51\\xc6\\x18\\x29\\xfd\\x4a\\x7e\\x5b\\xb2\\x3e\\x05\\xd8\\x92\\xf5\\xaf\\xee\\x64\\x06\\xb0\\x2f\\x07\\x67\\x8f\\xca\\x0a\\xcc\\x8c\\xb0\\x0c\\xb5\\xf5\\x19\\xd1\\xbc\\x4a\\x5f\\x7f\\xcd\\x12\\x3d\\xb1\\xb7\\xf8\\x4e\\xaf\\x91\\x53\\x19\\x6f\\xf6\\x0a\\x3c\\xf2\\x25\\xdc\\xdf\\xaf\\xbb\\xee\\xa2\\x4c\\xd1\\xaf\\x4b\\xcc\\x69\\xa0\\x4d\\x76\\x7e\\xa3\\x9e\\x05\\xba\\x03\\xef\\xde\\xe4\\xcd\\xde\\x5d\\xcb\\xe0\\x0a\\x1a\\xd7\\x9f\\x21\\xe7\\x0e\\x17\\x48\\x4e\\x42\\x20\\xda\\x95\\xac\\x94\\x91\\x32\\xc5\\xbc\\x54\\x8a\\x8c\\x1d\\x6c\\x6d\\x93\\x52\\x22\\x44\\x80\\xe1\\x7a\\x22\\xb8\\x5d\\x0d\\x0e\\x4c\\x60\\x64\\x0f\\x40\\xd7\\xfa\\x33\\x9e\\xe0\\xeb\\x07\\x70\\x15\\x93\\xe6\\x49\\xf7\\x6f\\x86\\x78\\xf7\\xd4\\x66\\xf8\\x7e\\x63\\x21\\xcf\\xce\\x41\\x73\\x0f\\xa4\\x5a\\x39\\x82\\xfd\\x03\\x02\\x03\\x8a\\x78\\x93\\x8f\\xaf\\x4f\\x11\\x6f\\xf6\\x75\\x50\\x81\\x81\\x3a\\x4f\\x9d\\xbe\\x8a\\xd7\\x99\\x39\\x4f\\x4f\\xa6\\x92\\xf7\\x64\\x5f\\x6f\\x94\\xee\\x7b\\x36\\xa1\\x89\\x94\\x14\\x94\\x51\\x1c\\x47\\xee\\xa5\\x33\\x6a\\x68\\xca\\x92\\x92\\x41\\x23\\x7b\\xda\\x66\\x0d\\xb3\\x71\\x36\\x86\\xf2\\xe9\\x91\\x37\\xf7\\xf0\\xf8\\x59\\xef\\x6f\\xee\\xba\\xec\\xda\\x88\\x5b\\xb0\\x0b\\xbc\\x15\\xb7\\xf3\\xc2\\xfc\\x58\\x00\\xa7\\xa6\\x81\\xd3\\xb4\\x19\\x7a\\xb7\\x66\\x4e\\xe6\\x65\\xbd\\xff\\x51\\x9f\\xb2\\x84\\x0f\\xe1\\xe1\\x1f\\xe0\\x1e\\x68\\x80\\xf0\\x07\\xed\\xf8\\xc7\\xdf\\xb2\\xa7\\x3f\\x7e\\x34\\xa8\\xcb\\x7f\\xc4\\x5e\\x2a\\x7b\\x61\\x29\\x3b\\x88\\xfb\\x81\\x32\\x52\\x5e\\x0e\\x85\\x07\\xc7\\x48\\x28\\x20\\x91\\xeb\\xcd\\x72\\x4a\\x30\\xfa\\x11\\x20\\xe2\\x23\\xad\\x61\\xd6\\x14\\x96\\xd2\\x62\\x86\\xca\\x25\\xeb\\x98\\x22\\x58\\xd9\\x1c\\x9c\\xd4\\x84\\xc3\\xd4\\x54\\xf0\\xce\\x5a\\xb8\\xf7\\x0c\\x98\\x0b\\x7a\\x46\\xb6\\x2b\\x86\\xdf\\xd6\\x0c\\x06\\x8b\\x0e\\x9d\\x3c\\xdb\\xbd\\xfc\\xf4\\xd1\\x4f\\xbe\\x1c\\xf7\\xd5\\x56\\xe8\\x05\\xdf\\x9e\\xf0\\xf4\\xf7\\xe3\\x15\\xd7\\xc0\\x56\\x41\\x57\\x9f\\x0b\\xbb\\x70\\x7e\\x88\\xb6\\xe3\\x70\\xfd\\x5f\\x89\\x5c\\x15\\x11\\xa0\\x67\\x54\\xbe\\x45\\xbc\\x4a\\x2f\\xb3\\x16\\xf1\\x32\\x3d\\x05\\x2a\\x84\\x52\\xa8\\x4d\\x3b\\x33\\x08\\xc7\\x3d\\x4c\\x8a\\x05\\x73\\x6e\\xb2\\xf1\\xf0\\xaf\\xd7\\xda\\x3d\\x37\\x7d\\x09\\x54\\x74\\x48\\x6d\\x0c\\xa3\\x6f\\x93\\xe1\\x63\\x4a\\xaa\\x2d\\x5e\\xe4\\xd5\\x6a\\x6a\\xf1\\x6e\\xc3\\x67\\xbf\\xef\\xf5\\x0a\\xf0\\x8d\\xed\\x62\\xda\\xf5\\x60\\xaf\\x29\\xc0\\x8c\\x5f\\xfc\\x0e\\x5f\\x06\\x16\\x0f\\xe8\\x06\\xbb\\xdc\\xef\\x5c\\x37\\xa2\\x30\\x6f\\x43\\x61\\xf1\\xcd\\xdc\\xde\\xcc\\x37\\xf5\\x83\\x86\\xb4\\x69\\x1e\\xb1\\x61\\x12\\x33\\xbd\\x7e\\xd0\\x70\\x47\\x72\\x14\\x7e\\xf5\\xe2\\xd8\\x9a\\x43\\x9d\\xc9\\x1c\\xa6\\x8b\\x3d\\xab\\x9b\\x21\\x0b\\xc9\\xcb\\x43\\xad\\x8b\\x0e\\xf6\\x56\\x87\\x07\\xe8\\x02\\x8a\\x79\\xb9\\xce\\x0b\\xd0\\x48\\x37\\x32\\x37\\x09\\x0a\\x68\\x6c\\x5d\\x6d\\x11\\x26\\x20\\x88\\xd6\\x96\\xe0\\xd5\\x9e\\xd5\\x4d\\xab\\xb8\\x0a\\xa5\\x43\\x69\\xfa\\xf3\\xfa\\xe3\\xe1\\x8c\\x47\\x6e\\xbe\\x6f\\x10\\x93\\x30\\xa9\\x5b\\x69\\x5e\\x8b\\x29\\x65\\x85\\x9d\\x0d\\x33\\xee\\x8e\\x34\\xa6\\xc6\\x96\\xfb\\x0c\\xbf\\x83\\xfe\\xc6\\x75\\xf3\\x1f\\x7a\\xe7\\x5c\\x50\\xd7\\x71\\xb0\\xcb\\x99\\x9a\\xe9\\x1b\\xfa\\xf4\\xec\\xdd\\x47\\x53\\xdb\\xb7\\x76\\x78\\x51\\x1f\\x7a\\x97\\x73\\xfd\\x20\\xc7\\xe0\\x2d\\xd3\\xe8\\x22\\xf2\\x62\\xdb\\x42\\xba\\xed\\xcb\\x73\\xeb\\x0f\\x93\\x39\\x90\\x33\\xa6\\x9b\\x5c\\x29\\x42\\x75\\xb8\\xc3\\x68\\xf0\\xa9\\xe2\\xbd\\x0c\\xac\\x5c\\xc9\\x28\\xab\\x78\\x09\\xc3\\x48\\x3d\\x75\\x52\\x46\\xd8\\x05\\x4d\\xab\\x4a\\x8b\\xd8\\xc5\\xa5\\x71\\x25\\x8d\\x5d\\xf4\\x88\\xd9\\x0f\\x8e\\xe6\\x97\\x26\\x8e\\x6d\\x36\\x0a\\xd8\\xe0\\x0b\\x78\\xa5\\xf7\\x86\\x69\\x1f\\xee\\x9b\\xf9\\xfb\\xa2\\xac\\xdc\\x3c\\x6b\\x50\\x8f\\x91\\x4c\\x76\\x41\\xc7\\x00\\x6f\\xba\\xd7\\x8b\\x43\\xb4\\xda\\xb1\\x7f\\xc7\\xfa\\xfa\\xd9\\xda\\xf3\\xd2\\x2d\\x02\\x0d\\x6e\\x47\\x70\\xfc\\xc6\\x5d\\x40\\x52\\x29\\xd2\\x61\\x04\\xac\\x37\\x8b\\x3b\\xfa\\x50\\x7e\\x72\\x6d\\x31\\xaf\\x92\\xcb\\xfd\\x84\\x5a\\xd0\\xf6\\xb8\\xd7\\x0a\\xf3\\xeb\\x45\\xcf\\x8e\\x9e\\xb8\\x76\\x30\\x04\\x6a\\xe0\\x3e\\x7a\\x03\\xf4\\xde\\x91\\xfc\\x9e\\x2a\\xf8\\x50\\x9d\\xd9\\x0e\\xb4\\xf6\\x1d\\x13\\x11\\x99\\x12\\x37\\xc9\\x2f\\x4a\\x37\\xb9\\xfc\\xed\\xc0\\x81\\xb8\\x97\\x06\\x5d\\x3d\\xb6\\x3f\\x50\\x64\\x15\\x80\\x6c\\x30\\x44\\xe6\\x71\\x59\\xb1\\xf8\\x6a\\x79\\xcb\\x8d\\x1f\\xad\\xa4\\xe3\\x5e\\x24\\x92\\xf5\\xbd\\x88\\xd6\\x77\\x10\\xa2\\x51\\x1f\\x64\\xf3\\xeb\\x0c\\xc6\\x6a\\xde\\x60\\x56\\xd0\\x55\\x3c\\xe6\\x61\\x52\\x46\\x22\\xe8\\x83\\x71\\xa9\\x2e\\xb9\\x8d\\xf9\\x14\\x39\\xfb\\x13\\x78\\x95\\x06\\x29\\xb8\\x64\\xa1\\x75\\x4c\\xab\\x1d\\xbd\\x7a\\x4e\\xc0\\xcc\\x18\\xd8\\x2a\\x4b\\x66\\x75\\xdc\\xb0\\x6b\\x07\\x5c\\xff\\x02\\x0e\\x08\\x07\\xc5\\x1f\\x5f\\xec\\x03\\x8e\\x3f\\xb7\\x3b\\xc7\\x72\\x59\\x50\\x67\\xf1\\xbb\\x73\\x0a\\xde\\x85\\x35\\xd7\\xcf\\x2c\\x00\\x61\\xf8\\x6c\\xe8\\x00\\x39\\xb7\\x1a\\x45\\x45\\x50\\x89\\x54\\xae\\xc3\\x16\\x67\\x8b\\x89\\x30\\xd3\\xfe\\x14\\x15\\x11\\x8a\\x8b\\x1a\\xc7\\xf8\\x97\\xf0\\xfa\\x18\\x7d\\x8c\\x26\\x34\\x34\\xa1\\x90\\x0f\\xd5\\x68\\x8c\\x1e\\xa6\\x62\\x77\\x8b\\x97\\x46\\xbd\\x3b\\x0a\\x5d\\x22\\xd5\\x17\\xd7\\xce\\x16\\xea\\x67\\x03\\x89\\x54\\xec\\x41\\x23\\x58\\xbb\\x42\\x86\\x9d\\xd0\\xa0\\xa6\\x71\\x3d\\xbd\\x4c\\xc9\\x29\\x64\\xa5\\x85\\xa6\\x88\\x9c\\x32\\xb5\\x9f\\x71\\x0e\\x74\\xee\\x1e\\xd7\\x25\\x31\\xc1\\x54\\xa4\\xbb\\xea\\x7b\\x78\\x70\\x97\\xb2\\x6e\\xed\\x0a\\x47\\xb4\\x3a\\xb6\\x79\\xc5\\x96\\x69\\xcf\\x57\\x97\\x6f\\x48\\x8d\\xa8\\x74\\x46\\xb6\\x6a\\x3d\\xb7\\xce\\xd4\\xa7\\x6d\\xcf\\xbe\\xcc\\x95\\x36\\xd5\\x2d\\xfb\\x9e\\x80\\xa7\\xb6\\xa6\\x06\\x9b\\x7a\\xcc\\xdd\\x93\\xde\\x62\\xc8\\xa1\\x41\\xc3\\x47\\x0f\\x1c\\xbc\\xab\\x32\\x3d\\x3e\\xa2\\x06\\x2e\\xb3\\xc5\\x8f\\x8d\\x49\\x68\\x8d\\xd6\\xde\\x8c\\xe4\\xc5\\x71\\xc4\\x33\\x63\\x70\\x67\\xd4\\x30\\x99\\xbf\\x2e\\x2a\\x2a\\xa8\\x8a\\x8f\\xd2\\xab\\x74\\x3a\\x45\\x35\\xaf\\x7b\\x95\\x49\\xa6\\x62\\x0d\\x15\\x99\\x0d\\xc4\\xe1\\x85\\xcb\\x65\\xba\\x62\\xf7\\x54\\xb4\\x54\\xcc\\xc9\\xc5\\xc7\\xf3\\x56\\xf4\\x0e\\x6b\\x09\\x0e\\x33\\x67\\x0e\\xff\\xea\\xeb\\x77\\x6b\\x5b\\xf6\\xea\\x76\\xb8\\x10\\xfe\\xda\\x1e\\x04\\xdc\\x3c\\xfd\\x24\\x7d\\xe0\\xa1\\x1d\\x3f\\xbf\\x37\\xa4\\x76\\xe3\\x46\\x1f\\xa0\\x0d\\x85\\xdb\\xe1\\xf7\\xb7\\x1b\\x40\\x56\\xf9\\x92\\x41\\xdd\\xe2\\x6d\\xcd\\x73\\x93\\x1c\\x99\\x07\\xfc\\x3f\\xdd\\xf3\\xc1\\xb2\\xae\\x73\\xfa\\xf3\\x51\\x29\\x35\\xc5\\x39\\x59\\x7d\\x87\\x24\\xa4\\xe7\\xf1\\x5d\\xce\\x3e\\xfa\\x98\\xd0\\x6a\\x2a\\x82\\x17\\xeb\\x2e\\x91\\x18\\x5e\\x85\\x85\\xd2\\x12\\x43\\xc8\\xc8\\x22\\xcd\\x26\\xf4\\x95\\x03\\x71\\xd7\\x01\\x35\\x17\\x1c\\x9a\\xf4\\xdf\\x40\\x16\\x63\\x45\\x88\\x79\\xdd\\xe6\\x25\\x7c\\x92\\x31\\xec\\xeb\\xaf\\x37\\xd4\\x26\\xbe\\x0e\\xef\\x07\\xf3\\xda\\xcc\\x9c\\x31\\xe8\\xc4\\xc2\\xd8\\x99\\xfb\\x0c\\xfb\\xdf\\x2f\\x5f\\x3c\\xb0\\x2c\\x3e\\x3c\\x25\\x27\\xe5\\x15\\x58\\xa3\\x1c\\x45\\xcd\\xf3\\x33\\xc3\\x53\\x7e\\x8b\\xb7\\x10\\x5d\\x0f\\x99\\x11\\x5c\\x11\\x91\\x45\\xc1\\xb8\\x87\\x11\\xa5\\xd4\\x59\\x58\\x8d\\xb7\\xd9\\xec\\x55\\xc5\\x9b\\x59\\xad\\x2a\\x58\\x13\\x5c\\xc5\\x6b\\x74\\xac\\xac\\x8a\\x97\\xb2\\x6c\\x93\\x80\\xc9\\x57\\xe4\\xf2\\x2b\\xa5\\xe1\\x71\\x84\\x86\\xfb\\x8c\\x84\\x9c\\xb0\\xeb\\x19\\x40\\xff\\x60\\xed\\xb6\\x74\\xd4\\x92\\xea\\x01\\xf9\\x6d\\x92\\xb3\\x22\\xa7\\xfd\\x62\\xab\\x4f\\xb0\\x81\\x7b\\x69\\xba\\xf4\\x94\\xd6\\x35\\xc1\\xf3\\x16\\x75\\x2a\\x6f\\xed\\x97\\x3d\\x1b\\x5e\\x64\\x73\\x92\\xea\\xca\\x7b\\x7f\\x91\\x17\\xd9\\xf2\\xb0\\x73\\xe8\\xb7\\xdf\\xd2\\x0b\\x0f\\xa7\\xc5\\xe4\\x7d\\xd1\\x3b\\xbc\\x3b\\x5f\\x5f\\x0a\\xd6\\xc3\\x0a\\x41\\x3f\\x0d\\x41\\x30\\x47\\x20\\xfd\\x2c\\x80\\xb2\\x50\\xcd\\x1c\\xbe\\x32\\x2f\\xb3\\x17\\x42\\xa9\\x4e\\x19\\x88\\x20\\x97\\xb2\\x66\\x8d\\x56\\x15\\xa4\\x09\\x42\\x7a\\x9a\\xb1\\xd1\\x74\\x21\\xf9\\x3a\\xae\\x88\\xc8\\xff\\x01\\xad\\x97\\x49\\x0e\\x2c\\xf4\\xa6\\x8a\\xfc\\x05\\x05\\x2b\\xde\\x1a\\xdc\\x2e\\xb7\\x79\\xe7\\xa8\\x3e\\x2f\\xac\\xf5\\x6d\\xad\\x60\\x67\\x9a\\xa9\\x4d\\xf3\\xf6\\x3d\\x03\\x67\\xaf\\x2c\\x1a\\x14\\xab\\x7f\\x02\\xc6\\x32\\x39\\xbd\\x3b\\x75\\xe8\\x77\\xaa\\x5d\\x62\\xfc\\x30\\x68\\x3f\\x72\\x04\\x9c\\x19\\x16\\x9b\\xdc\\xee\\x54\\xbf\\x0e\\x9d\\xa0\\x2f\\x09\\x1c\\xa0\\xa9\\x1c\\x44\\x03\\xa7\\x90\\xde\\x80\\x7b\\xdf\\x21\\xce\\xe9\\xe1\\x8b\\x74\\x32\\x0f\\x0f\\x2f\\xb5\\x17\\xa8\\xe4\\xbd\\x28\\x75\\x60\\x05\\xaf\\x7e\\x35\\x68\\x48\\x28\\x6e\\x1e\\xec\\xb2\\xe0\\x85\\x0d\\x48\\x27\\x69\\x74\\xa1\\x16\\x3b\\xe2\\x1d\\x48\\xc5\\x26\\x16\\xfc\\x7b\\x8b\\x8f\\x3f\\x98\\x15\\xd1\\x6a\\x6b\\x8f\\xaf\\x2e\\x2f\\x87\\xbf\\x7c\\x7d\\xe9\\xf9\\xcf\\xe0\\x7b\\x30\\xb2\\x02\\x1e\\xbc\\x0d\\x37\\x0d\\x1f\\xb8\\xe5\\x20\\xfb\\xb3\\x7d\\xe8\\xf0\\x28\\xfb\\xe5\\x2f\\x4f\\xc3\\xef\\xd6\\x03\\xf6\\x26\\x18\\x08\\x3e\\xbd\\x58\\xbf\\xf2\\x1a\\x1c\\x5d\\x3b\\xea\\x12\\xa2\\xcd\\xf6\\x08\\xae\\x33\\x6c\\x09\\x5a\\xf1\\x28\\x87\\x57\\x40\\x50\\x10\\xb2\\xfa\\x82\\x82\\x18\\x99\\x4c\\x51\\x82\\xfd\\xe3\\xc6\\xd7\\xfc\\xe3\\xee\\x56\\xc3\\x64\\xaf\\x24\\x69\\x28\\x8b\\x5d\\x8a\\x60\\x64\\x9a\\x34\\x29\\x13\\x2c\\x73\\xb6\\x3d\\xbc\\x08\\x1f\\x7e\\xf7\\x27\\x78\\x08\\x4e\\x7e\\x17\\x7e\\xf4\\xc0\\xc7\\x73\\x2b\\x93\\xde\\xea\\x55\\xb7\\xb8\\x73\\x61\\xab\\x5c\\x5b\\x9f\\xaa\\x2d\\x7b\\xc0\\xe7\\x37\\x9f\\xdf\\xfe\\x12\\x94\\x83\\x9e\\xdf\\xf9\\xb7\\x1a\\xba\\x6d\\xfc\\xa0\\xd1\\xc3\\x6b\\x5a\\x65\\x19\\x4f\\x1a\\x17\\x0a\\xfc\\x7d\\x29\\xe2\\xef\\xef\\x70\\x93\\x11\\x2d\\x06\\x39\\xd4\\x9e\\x2a\\x6f\\x55\\x05\\xef\\xa7\\xa7\\xbd\\xbd\\x15\\xbe\\x0a\\xc4\\x48\\x71\\x3d\\x34\\xbb\\xdd\\xa5\\xf6\\x18\\x70\\x09\\x5c\\x52\\x92\\x19\\x99\\x20\\x58\\xdb\\x37\\x49\\x6d\\x62\\x17\\x26\\x06\\xc3\\xf2\\x8e\\xe3\\x7d\\x8d\\xce\\x91\\x6a\\xdd\\x0a\\x7f\\xd9\\x1a\\xd6\\xa3\\x3d\\xbd\\x9f\\xfe\\xea\\x0b\\xf4\\x8d\\xc0\\x8c\\xb0\\x69\\x73\\x19\\xbe\\xf7\\x8c\\x88\\x90\\x44\\xff\\xa4\\x90\\xfa\\x35\\x4c\\x75\\x7e\\x61\\x6c\\x44\\x40\\xd0\\x37\\xdf\\x81\\x0c\\xf8\\xc5\\x28\\x12\\xdf\\xca\\x20\\x38\\x06\\xa0\\x75\\x93\\x23\\xfd\\x5f\\xcf\\x49\\xe4\\x2c\\xc5\\xe0\\x4a\\xf4\\x9e\\x32\\x89\\x84\\x96\\x52\\xb4\\xa8\\xf3\\x89\\xb9\\x60\\xc2\\x49\\x37\\x13\\xa2\\xe7\\x52\\x38\\xf4\\x6c\\xab\\x94\\x89\\xf8\\xec\\x97\\x45\\xf0\\x7e\\x33\\x60\\x4a\\x03\\xcd\\xfa\\x82\\x80\\x66\\x4c\\x97\\xfa\\x6d\\x4c\\x17\\x2f\\xa8\\x07\\xeb\\x60\\xa5\\x1e\\x0a\\xba\\xcd\\x35\\xb4\\x06\\xd8\\x7e\\x0d\\xc7\\x3d\\x7c\\x03\\x83\\x83\\x91\\x05\\x1b\\xec\\xf5\\xbf\\x4c\\x57\\x61\\xde\\xff\\xdb\\x70\\x6d\\x54\\x8c\\xff\\x97\\xb5\\x5a\\x6c\\x8b\\x56\\xfb\\xbc\\x65\\xeb\\x39\\xe8\\x7f\\x9a\\xa8\\xc2\\x3b\\xd8\\x30\\x25\\xb4\\x6c\\x26\\xfd\\x24\\xf3\\x11\\xcd\\xc4\\x20\\xad\\x55\\x2f\\x65\\x83\\x82\\xac\\x88\\x6c\\x34\\xde\\x0a\\xb4\\xf5\\xbc\\x81\\x86\\xf1\\x3e\\xd8\\x70\\x0c\\x69\\xc7\\x8a\\x1c\\x6f\\x87\\xc1\\xac\\x37\\xb3\\x51\\x85\\xee\\xe6\\xd1\\x99\\xbe\\x67\\xa3\\xb0\\x13\\xd2\\x45\\x51\\x78\\xf9\\xc8\\xd1\\x8e\\x4d\\x6a\\xc0\\x46\\x11\\x71\\xc3\\x87\\xa4\\x24\\xe2\\x5d\\x88\\xac\\x28\\x44\\x61\\x09\\x5e\\x5c\\x62\\xe3\\x89\\xd5\\xc2\\x35\\xf0\\xce\\x47\\xfd\\x57\\x06\\xd1\\x1d\\x37\\x6c\\xa9\\xa9\\xcb\\x60\\x9f\\x81\\x98\\xee\\x39\\x93\\x76\\x0e\\x69\\x01\\x06\\x83\\xdc\\x1f\\x6f\\xc3\\x1b\\x9f\\xad\\xdf\\x59\\xdd\\x79\\xd3\\x2e\\xfa\\x83\\x63\\xf0\\xe4\\x87\\x79\\x19\\x31\\xbd\\x2b\\xc3\\x63\\xca\\x8a\\x82\\x42\\xe4\\x5e\\x3a\\x0f\\x7b\\xcf\\x4b\\xef\\x80\\xe3\\xe0\\xf9\\x8f\\x97\\x1e\\x3e\\xfd\\x65\\xe2\\xa8\\xbf\\x9a\\xc6\\xba\\x53\\xd9\\xe4\\x8c\\xe5\\x0b\\x34\\x37\\x13\\x77\\x1a\\x5d\\x77\\xa4\\x5e\\x89\\x1f\\x63\\x57\\x10\\xba\\xec\\x80\\xe8\\xe1\\x28\\xe9\\x37\\x1a\\xef\\x30\\x33\\x92\\x12\\x1e\\x87\\x01\\xd2\\x38\\x00\\x50\\xa9\\xd7\\x53\\x48\\xc2\\xaa\\x95\\x9e\\x25\\xbc\\xd2\\xf8\\x0f\\x5e\\x57\\xe2\\x5d\\x45\\xff\\xd1\\x44\\xd0\\x1f\\xb2\\x7d\\x22\\x80\\x94\\xbe\\x32\\xf3\\x5d\\x2b\\x6d\\xb1\\x39\\xd1\\xd6\\x1c\\x0f\\x8e\\x86\\xc3\\x88\\x9b\\x0f\\x90\\xe5\\xe1\\x00\\x97\\x6d\\xcc\\xe0\\x51\\x63\\x4e\\x59\\x7a\\xbd\\x75\\xea\\xfc\\x69\\xd0\\x12\\x54\\x9c\\xc2\\xcf\\x57\\xa1\\xe7\\x4f\\x76\\x3d\\x5f\\x83\\xc4\\x88\\xbb\\x11\\x9e\\x0c\\xc8\\xd0\\x93\\x65\\x46\\x80\\xa0\\x00\\x6f\\x36\\xc2\\x23\\x61\\x73\\x58\\xcf\\x40\\x0f\\xc5\\x6a\\x06\\x69\\x17\\x85\\x36\\xec\\x27\\x36\\x70\\xf9\\xe6\\x03\\xb8\\x09\\x1e\\x83\\x11\\x36\\x70\\x74\\xda\\xf2\\x70\\xe7\\x4d\\x1b\\x6d\\xa1\\x07\\x4c\\x60\\x06\\xa3\\x07\\xc3\\x2f\\xe1\\xfa\\x53\\x43\\xc6\\x9c\\xb2\\xf5\\xea\\xe9\\x8e\\xa1\\xdc\\x4d\\xe2\\xb3\\xd6\\x11\\x7c\\xfd\\x80\\xf0\\x35\\x81\\xe0\\xeb\\x18\\xf9\\xbc\\x04\\xe1\\xeb\\x2c\\x89\\xb7\\x0b\\x23\\x9f\\xbf\\x12\\x23\\x88\\x68\\xbd\\x0e\\x8d\\x7f\\x81\\xe0\\xf7\\xa2\\x7c\\x1c\\x0a\\xbd\\xd1\\x4b\\x43\\x4b\\xd5\\x12\\xb3\\x52\\x70\\x55\\x92\\x02\\xe8\\xd8\\x72\\x62\\x48\\x93\\x56\\x8b\\x1e\\xbb\\xca\\x89\\x57\\x14\\x97\\xae\\xa7\\x07\\x5d\\xcc\\xd0\\xe8\\xce\\xfc\\x0e\\xac\\xa0\\x7f\\xa8\\x44\\x56\\xd4\\xfc\\x67\\xd0\\xf3\\xfc\\xef\\x63\\xb5\\x76\\xa6\\x76\\x45\\xbf\\x97\\xb7\\xb9\\xdb\\x30\\x30\\xba\\xf3\\xcc\\xde\\x4f\\xc7\\x83\\x5f\\x5e\\x9e\\xa0\\x47\\x94\\x6f\\xc6\\x3a\\x51\\x37\\x1c\\x53\\xc3\\x16\\x50\\xde\\x48\\x52\\x24\\x3a\\xcc\\x52\\xd6\\xcb\\xcb\\xaf\\x90\\xf7\\xd2\\x28\\x34\\x5a\\x4d\\x21\\x2f\\xd3\\x6a\\x59\\x95\\x99\\xb5\\x88\\x09\\x0b\\x42\\x0f\\x46\\x7b\\x13\\xed\\xc1\\x45\\x9e\\xb6\\x10\\xa1\\x7a\\x8e\\x05\\x97\\x16\\x21\\xae\\x34\\x1d\\x87\\xb9\\x9d\\x1c\\x57\\xbf\\xd7\\xb1\\x3b\\x96\\xc3\\xe7\\xeb\\x8e\\xf6\\x60\\x65\\x96\\x8f\\xc2\\x3e\\x32\\xc2\\x2b\\xc6\\xd1\\x61\\xa3\\x67\\xc5\\x81\\xdc\\x3f\\x4e\\xbd\\x80\\x3f\\xf5\\x29\\xff\\xd9\\x91\\x54\\xb6\\x78\\xda\\x66\\x7a\\xf4\\x3e\\x78\\x7e\\xfb\\xec\\xd4\\x7d\\xc7\\x07\\x0e\\x3c\\x4e\\x1f\\xfe\\x13\\x98\\x60\\xc3\\xa5\\xba\\x65\\xd8\\xa1\\x36\\x91\\xb8\\xd3\\xc4\\x18\\xaa\\x6f\\x30\\xfe\\x40\\xce\\x2b\\xf8\\x0c\\xc3\\xf8\\x24\\xbd\\x12\\x57\\x90\\x5e\\x89\\xa0\\xc0\\x07\\xa8\\x7d\\x80\\x8f\\xbb\\x57\\x62\\x93\\xef\\x86\\xe1\\xef\\x92\\xb1\\x3c\\xed\\xf7\\x5f\\xc6\\x92\\x58\\x58\\xc9\\x66\\x74\\xdf\\x70\\x32\\xb6\\x4d\\xc3\\x27\\xd4\\x33\\x7c\\x3a\\xad\\xd5\\x0a\\xc7\\x84\\xee\\x31\\x75\\xee\\x31\\xff\\x18\\x43\\x86\\x7d\\xc5\\xe8\\xb9\\x3b\\x90\\xde\\x1b\\x42\\xb5\\x70\\xf8\\xf8\\xa9\\xaa\\x78\\x1f\\x9d\\x9f\\x9f\\x51\\xe7\\x6d\\x30\\x1a\\x2a\\x78\\x23\\xa3\\xd3\\x51\\xd2\\x2a\\x9e\\x45\\x3c\\x61\\xbf\\x5c\\x9d\\xc3\\xe2\\x40\\xf0\\x84\\x28\\x51\\xe7\\x14\\xdd\\x07\\xba\\x54\\x21\\x2a\\x41\\x3c\\x18\\x11\\x7a\\x0c\\x63\\xa7\\x25\\x0e\\xe3\\x70\\x69\\xc8\\x06\\x35\\xa0\\x19\\xd5\\xb8\\xc9\\x8a\\x1b\\x9c\\x7f\\x60\\x50\\x74\\x62\\x7c\\xf3\\x21\\x6b\\x26\\xc0\\xbf\\xaf\\xc2\\x87\\xd1\\x4c\\x7e\\x34\\x3c\\x9b\\x56\\x72\\x2c\\x7f\\xc2\\x38\\xbd\\xaa\\x8b\\x61\\xf4\\x8c\\xb6\\x69\\x91\\x65\\x80\\x4e\\x48\\x8d\\x73\\x38\\x27\\xb1\\x55\\x77\\xee\\xc0\\x1f\\xa3\\xd2\\x46\\x4e\\xef\\x58\\x9d\\x0b\\x5b\\x0b\\x78\\x26\\xf1\\xc9\\x92\\x2d\\xba\\x30\\x26\\x8b\\xcc\\x6d\\x24\\xf5\\x19\\xf5\\x1c\\xcf\\x5f\\x22\\x11\\xa6\\x86\\xe6\\x25\\xe2\\x9e\\xf2\\xa5\\xba\\x39\\x52\\xbd\\x29\\x24\\xa2\\xbd\\x41\\x85\\x77\\x83\\x37\\x5d\\xe1\\x3d\\xd8\\xfb\\x91\\x37\\x13\\xe9\\x9d\\xe6\\x4d\\xe3\\x78\\x1d\\x39\\xe7\\xed\\x2d\\xd3\\x68\\xbc\\x2a\\xf8\\x40\\x3d\\xd0\\x6b\\x58\\x4a\\x82\\xde\\x92\\xc8\\x64\\x6c\\x05\\xb6\\x4c\\x33\\xc5\\x78\\x15\\xa4\\x7a\\x94\\xbf\\x92\\xbd\\x30\\x74\\x18\\x89\\x0a\\x26\\x4a\\x33\\x47\\x0b\\x9d\\xa1\\x74\\x96\\x20\\x3d\\x39\\x32\\xc2\\x89\\x0c\\x93\\xd9\\x9a\\x9a\\x4d\\xe3\\x81\\xf4\\x2a\\x9c\\x7a\\xef\\x81\\xf7\\x2c\\x3a\\x19\\x8c\\x8a\\x85\\xb7\\x65\\xdd\\x3b\\x3c\\xec\\x05\\x66\\xc7\\xd0\\xcd\\x3b\\xce\\x5a\\xf8\\x2c\\x11\\x76\\x7d\\xf8\\xeb\\x80\\xf1\\xf4\\x1e\\x38\\xae\\x75\\xcd\\x08\\xb8\\xfd\\x8e\\x30\\x3f\\x16\\xc1\\xfe\\x25\\xd9\\x87\\xc9\\xd4\\x3f\\xc5\\x04\\xff\\x5f\\xe3\\x03\\x31\\xff\\x5b\\x41\\xbe\\x17\\x43\\xfc\\xcf\\xab\\x1b\\x1e\\xe3\\xfd\\x8f\\x6c\\x9c\\x10\\x2a\\xd9\\xe1\\xaf\\x0b\\x40\\x0a\\xb7\\x0e\\x68\\x68\\x46\\xc3\\x54\\xf1\\x5a\\x0d\\x23\\x55\\x54\\xf2\\x52\\x3d\\x08\\xac\\xe6\\x81\\x8e\\x7a\\xb5\\x47\\xa2\\xab\\x8f\\xaf\\x05\\xb7\\x11\\x72\\x77\\x74\\x20\\xdb\\x5b\\x94\\x5e\\x7a\\x77\\xe0\\x29\\xbd\\xfd\\xea\\xcf\\xb3\\xf6\\xa4\\x7f\\x3a\\x3f\\xcd\\x2f\\x5a\\x15\\x66\\xcf\\xb7\\x5e\\xa3\\x93\\xfb\\x28\\xd7\\x1e\\x98\\xf5\\xc7\\x92\\xa2\\xd6\\xda\\x4e\\xa6\\x36\\x7d\\x93\\xd9\\xc1\\xce\\x16\\x0f\\xcf\\x6a\\x6f\\x4b\\x6b\\xe7\\x30\\xfd\\x9c\\x0f\\xb7\\x2c\\x9c\\xf6\\xe7\\x74\\x70\\xb5\\x43\\x07\\x58\\xd4\\x61\\xae\\x90\\x83\\x86\\x50\\xc1\\x6e\\x43\\xb0\\x1a\\x28\\x7f\\x6c\\x71\\xfb\\xd0\\x8c\\x07\\x53\\xcd\\x2b\\x64\\x1e\\x1e\\xc0\\x53\\xc2\\x00\\xdf\\x6a\\x9e\\x25\\x21\\xa4\\xae\\xee\\xe1\\xee\\xe6\\xe1\\x04\\x42\\xdc\\x36\\xc8\\x4e\\xc2\\x47\\x89\\xe6\\xed\\x82\\x2d\\x99\\x9e\\x7c\\x61\\xcc\\xed\\x31\\xf7\\x80\\xe4\\x5e\\x9f\\xdb\\x7d\\xee\\xf5\\x51\\x7d\\x78\\x28\\xff\\xed\\x53\\x5f\\x97\\x76\\x56\\x16\\xea\\x47\\x4f\\xa0\\x07\\x38\\x97\\x0a\\x39\\x1c\\xce\\x87\\xeb\\x16\\x57\\x7f\\xb5\\x30\\x0f\\x9c\\x6b\\x57\\x0a\\x7b\\x91\\x5e\\x8b\\x43\\x11\\x3c\\x3b\\x11\\x3c\\xb8\\x9f\\xba\\x9e\\x32\\x79\\x9b\\x2a\\x78\\x56\\x5b\\xc5\\x03\\x96\\xf5\\xf4\\x66\\x0c\\x9e\\x24\\x9a\\x95\\x58\\x88\\xae\\x60\\x56\\x77\\xb4\\x50\\x88\\x18\\x4d\\xe4\\xda\\x12\\xf4\\xfc\\xd4\\xd2\\x23\\x1d\\x26\\x8c\\x37\\x54\\xc1\\x32\\x6d\\x7c\\xf3\\xf1\\x4b\\xc7\\xb9\\xf7\\x01\\x5b\\x05\\xaf\\xc6\\x34\\xaf\\x9d\\x91\\xd7\\x1b\\x2a\\xc0\\x25\\x3e\\x3a\\x35\\x2e\\xd7\\x39\\x13\\x6f\\x01\\xca\\x15\\xe3\\xce\\xb5\\x21\\x74\\xff\\xad\\x48\\xf7\\xbb\\x04\\xba\\xd7\\xeb\\xdd\\xfb\\x1e\\xc7\\x35\\xdf\\xc1\\xbc\\x81\\x39\\xf9\\x2a\\x6f\\x68\\x1c\\xd3\\xf0\\x33\\xb2\\x35\\x2b\\x24\\xdb\\xd0\\x98\\x1f\\xf0\\x18\\x8f\\x7b\\x54\\x0a\\x75\\x4f\\x88\\xd2\\x74\\xef\\x1f\\xdc\\x77\\xfa\\x26\\x39\\x8f\\xf4\\x77\\xa8\\xe4\\x66\\x29\\xc3\\x48\\x38\\x9a\\xab\\xe4\\x3d\\x69\\x1d\\xd5\\xd4\\x99\\x09\\xf4\\x62\\x96\\x0c\\xfa\\x0d\\x62\\x4b\\xe0\\x3a\\x6c\\xf9\\x5e\\x06\\x35\\x97\\xc9\\xa9\\xc0\\xfa\\x12\\xd8\\x05\\xa0\\x65\\x7c\\xb9\\x8b\\x2d\\x7a\\x71\\x08\\x76\\xa1\\xde\\xcc\\x3f\\x10\\x73\\x2e\\xae\\x90\\x98\\x76\\x2f\\x64\\x65\\x19\\x24\\xda\\x0a\\x5e\\x22\\x01\\x34\\xcd\\x55\\xf0\\x34\\x03\\x74\\x15\\x8d\\xe4\\xe8\\x3e\\x26\\x8e\\x00\\xc2\\x09\\x25\\xf1\\x96\\xb1\\xfa\\x44\\x17\\xe9\\x45\\x38\\xff\\x0d\\x24\\xcc\\xde\\x68\\x67\\x6d\\x3a\\x00\\x17\\xcf\\x2d\\x87\\x0f\\xc6\\xff\\xf5\\x41\\xf6\\x9e\\x9a\\x59\\x6d\\xb8\\xac\\xdb\\xf0\\xdc\\x86\\xc5\\xf3\\xfe\\xac\\x03\\x5f\\xce\\x83\\xcb\\x13\\x06\\x50\\x6f\\xe6\\x3e\\xb8\\x78\\x0b\\xbe\\xc6\\xbc\\x05\\xd1\\x61\\x57\\xd8\\x97\\x5d\\x83\\x60\\x53\\x21\\xa9\\x6d\\x71\\x68\\x95\\x68\\xcd\\x95\\x8c\\x91\\xf2\\xe0\\x3c\\xaa\\x78\\x4e\\x27\\xc1\\x55\\x3c\\xdc\\x76\\x14\\x6e\\x24\\xca\\x08\\xbd\\x8c\\xec\\xc9\\x3a\\x7c\\x2a\\x81\\x5b\\xa7\\xd1\\x52\\xe6\\xf8\\xae\\x71\\x8f\\x0b\\x9c\\x8e\\x82\\xc7\\xe3\\x26\\x55\\x2d\\x68\\xb1\\x86\\x9e\\x0a\\x9b\\xed\\x3a\\x5a\\xd9\\x6c\\x4c\\xe9\\x4d\\xe7\\x2c\\xb0\\x02\\xf6\\xa5\\x47\\x0f\\x06\\x96\\x93\\xb4\\xf2\\xe5\\x2a\\x66\\x3a\\xdc\\xbb\\x03\\xde\\x1f\\xf6\\x66\\xce\\x03\\x92\\xbf\\xab\\xd1\\xfa\\x97\\x13\\x5e\\xdd\\xc6\\x11\\x19\\x1c\\xe8\\x27\\x65\\x81\\x06\\x54\\xf3\\xfa\\x0a\\xcd\\x24\\xcd\\x42\\x0d\\xa3\\xd6\\xc4\\x69\\x32\\xd1\\x4b\\x16\\x5f\\xd1\\x1a\\x8d\\x49\\x2b\\x67\\x02\\x24\\x42\\x6c\\x3c\\xe9\\x0b\\x81\\x98\\x96\\x3b\\xc0\\x19\\x1f\\xa8\\x20\\x9e\\x0d\\x2c\\x20\\x16\\xd8\\x48\\xeb\\x10\\xdc\\xd3\\xcf\\xed\\x99\\x46\\x93\\x40\\xbb\\x9c\\x01\\x0b\\x86\\x70\\x71\\x12\\xf8\\x63\\x03\\x05\\x66\\x05\\xc6\\x78\\x84\\x3d\\x36\\x2b\\x9a\\xd9\\x07\\xdf\\x18\\x9c\\x51\\x99\\xbc\\xec\\xf1\\x41\\xdb\\x5b\\xb1\\xc3\\x1a\\xa8\\x0c\\x69\\xb2\\x74\\x08\\xdd\\x5a\\x27\\x71\\x6e\\xa6\\xbf\\x8d\\x98\\x5d\\x08\\xc6\\xc0\\x13\\x53\\x07\\x6a\\xe9\\x74\\xe7\\x57\\xba\\xb1\\xb5\\x20\\x0d\\xce\\x2c\\x9a\\x15\\xe1\\x4c\\xa6\\xbb\\xb1\\x06\\x27\\x89\\xa7\\x6c\\x78\\x86\\xf8\\xd2\\xc7\\x1c\\x4f\\x45\\x50\\x55\\x8e\\x8c\\x10\\x8d\\x5a\\xa3\\xae\\xe0\\xcf\\x68\\x80\\x59\\x13\\xa5\\x59\\xa5\\xf9\\x40\\xc3\\x16\\x68\\x40\\x81\\xa6\\x42\\x73\\x03\\x69\\x66\\x1a\\x0d\\x65\\x20\\x02\\x50\\xc1\\xf9\\xf8\\xfb\\x9b\\xaa\\x78\\x7f\\x96\\x92\\x56\\xf0\\x39\\x2c\\x48\\x63\\x81\\x20\\x8e\\xc4\\x3c\\x32\\x81\\x4f\\x97\\x93\\x04\\xc0\\xf2\\xa1\\xe5\\x8d\\x81\\xb4\\x61\\x36\\x6b\\x80\\xd8\\x33\\x38\\x8c\\x34\\xeb\\x4f\\x7e\\xd5\\x30\\x17\\x3a\\x0b\\x4b\\x58\\xf0\\xe4\\x46\\x43\\x20\\xf0\\xd5\\x4f\\x1f\\x55\\x3a\\x25\\x77\\xf1\\x8a\\xac\\xe8\\xac\\x2d\\x9b\\x7b\\xf1\\xa7\\x46\\x36\\x50\\x55\\x20\\xf3\\xdc\\xf1\\xa7\\x1f\\x6f\\x9e\\x30\\x7b\\x03\\xfc\\xc5\\xf0\\xe9\\x8e\\xf2\\xe1\\x03\\x52\\x6a\\x5a\\xe4\\x64\\xdf\\x1e\\xf1\\x96\\x23\\xf7\\x7a\\xcb\\x83\\x5f\\x6c\\x9c\\x51\\x77\\x2e\\xdc\\x30\\xad\\x7a\\xf4\\x75\\x5c\\x83\\x4e\\xd8\\x83\\x84\\x9e\\xcd\\x0e\\x85\\x42\\x2a\\xa1\\x01\\xa3\\x94\\x79\\x70\\x62\\x96\\x02\\x49\\x56\\x22\\x5d\\xc3\\x70\\xc0\\x18\\xee\\x93\\xaf\\x4f\\x46\\x4c\\x17\\xed\\x1b\\x30\\xc5\\x9c\\x43\\x17\\x83\\x22\\xb4\\x71\\x1a\\xea\\x34\\x85\\xce\\xcf\\x10\\x37\\xaa\\x9c\\x75\\x97\\x55\\xbe\\x38\\x44\\x2f\\x2a\\x00\\xfa\\x7a\\x55\\x63\\xee\\xc2\\x1d\\xb2\\x7f\\x4f\\x8a\\xfb\\x37\\x46\\xd8\\xbf\\x2a\\x55\\xe3\\xfe\\xc5\\xbc\\x02\\xc1\\xa0\\xc3\\x11\\xb5\\x4a\\x4f\\x44\\x0f\\x48\\x04\\xd2\\x93\\x68\\xf4\\x4f\\x2b\\xd7\\x71\\x24\\x27\\x07\\x67\\xbe\\x0d\\x75\\x45\\x41\\x59\\x98\\x04\\xb3\\x10\\xca\\x0b\\x84\\xb5\\xb7\\x00\\x1b\\x08\\xeb\\x3f\\xf1\\xe4\\xbf\\x40\\x33\\x78\\xba\\xf9\\xc2\\x00\\x90\\x04\\xf7\\xdf\\x32\\xe5\\x9a\\x07\\xc3\\xab\\x08\\xae\\x9f\\xa8\\x06\\x10\\x06\\x67\\xb7\\x9d\\xad\\x77\\xea\\xe8\\x32\\xa5\\xc1\\x79\\x42\\xb0\\x87\\xde\\x47\\x32\\xe6\\x2e\\xe1\\xdb\\x7e\\x0e\\x95\\x41\\xa7\\x45\\x26\\xb2\\x96\\x91\\xc8\\x2b\\x79\\x49\\x93\\x1c\\x32\\xd2\\x24\\xc7\\x13\\xb8\\x8a\\xb5\\x65\\xd0\\xe4\\x80\\x91\\x59\\xf9\\xfd\\xb8\\xde\\xeb\\x0e\\xcc\\xca\\xf1\\x8b\\x57\\x05\\xc5\\xb4\\xc9\\x29\\x4b\\x7b\\x9f\\x7e\\x8c\\x70\\x71\\x87\\x2d\\x82\\x33\\xe0\\x49\\x78\\x7e\\xb2\\xf6\\x6f\\x69\\x8b\\xe9\\xbf\\xee\\x03\\x7f\\xbf\\x38\\xf4\\x86\\x7e\\xfa\\x7a\\x0e\\xd0\\xff\\xcc\\x1f\\x31\\x39\\xe4\\x42\\xfe\\x88\\x3b\\x09\\xf0\\xff\\x94\\x39\\xf2\\x7a\\xde\\xc8\\x9b\\x3a\\xf3\\xab\\x39\\x1e\\x08\\x1f\\x84\\xd7\\xa2\\x67\\x6a\\xa9\\x0c\\x87\\xed\\xa9\\x02\\x30\\x17\\x14\\x77\\x14\\xf4\\x36\\x05\\x98\\xa6\\x58\\xaa\\xa0\\x29\\x85\\x46\\x41\\xcb\\x58\\x64\\x6e\\x31\\x94\\xd2\\x93\\xa1\\x70\\xc6\\x94\\xa0\\x63\\x11\\xb1\\x66\\x4a\\xc5\\x24\\x8d\\x73\\x67\\x48\\x27\\x43\\x51\\xe6\\x92\\x36\\xc1\\x68\\xa1\\xce\\xe6\\xcc\\x0c\\x9e\\x52\\x90\\x93\\x33\\xb8\\x23\\xdc\\x06\\xec\\x3f\\x81\\xa9\\x20\\xca\\xd9\\x7d\\xd2\\x8f\\x86\\x50\\xef\\xbf\\x22\\x2b\\x46\\x32\\xe3\\x9d\\x63\\xe8\\x99\\x2f\\xff\\xf3\\xc5\\x22\\x02\\x97\\x98\\x5b\\x82\\xf8\\x5a\\x17\\x17\\x0f\\x7e\\x25\\x57\\x03\\xf3\\xfb\\x8f\\x5c\\xfc\\x1e\\x71\\x7b\\x19\\xe1\\xf6\\x00\\x71\\xfb\\xa6\\xd1\\x2b\\x4d\\xf8\\x3d\\x63\\x67\\x18\\x53\\x49\\xfd\\x01\\x81\\xdf\\x67\\x20\\x7e\\x7f\\xf9\\xc0\\x94\\x46\\x6e\\xff\\x72\\x97\\xf3\\x2d\\x7c\\xdf\\x11\\x22\\xce\\x8d\\x24\\x67\\x87\\xd5\\xb0\\x55\\xbc\\x4e\\xa3\\xd1\\xcb\\x18\\xc1\\xf1\\xe7\\xce\\xfe\\x68\\x3c\\xde\\x75\\x87\\x51\\xe1\\x53\\xdd\\x8f\\x2a\\x72\\x4e\\x94\\xc3\\x33\\xfa\\x2e\\xc0\\xaf\\x44\\xd9\\xbe\\x70\\x55\\xdf\\xa9\\x58\\xae\\x80\\xfb\\xe6\\x50\\x10\\xd7\\xb1\\x02\\x7c\\x01\\x4b\\x5a\\x25\\x15\\x77\\xb4\\xd0\\xeb\\x49\\x5e\\x0f\\xc2\\xf7\\x63\\x34\\x2f\\x2d\\x99\\x87\\xaf\\x43\\x21\\xe3\\x00\\x23\\x65\\x28\\xa4\\xdd\\x34\\xa6\\xef\\xd8\\xed\\x42\\x57\\x41\\xa2\\x1e\\xe8\\xed\\x88\\x83\\x4a\\x9e\\x5c\\xdd\\x72\\xf5\\x37\\xf4\\xf3\\x04\\xbe\\x40\\xc0\\xaf\\x62\\x7b\\xe1\\x1f\\x72\\x43\\x74\\x3f\\xd8\\x85\\xdc\\x4f\\x8d\\x63\\x53\\x55\\x66\\x7c\\x47\\xb9\\x70\\x4b\\x35\\x21\\x1c\\xf7\\xc1\\x54\\xe6\\x2b\\xb7\\x65\\xb0\\x20\\x68\\x7a\\xeb\\xeb\\x5d\\xc7\\x5d\\x2f\\x69\\xbc\\xfb\\xcb\\x99\\xce\\xb9\\x60\\x1b\\x92\\x7d\\xc3\\xc9\\x59\\x09\\xe6\\x15\\x26\\x6c\\x15\\x2a\\x75\\x08\\x56\\xa5\\x46\\x49\\x2b\\x19\\xa5\\xd2\\x43\\x2e\\x97\\x55\\xf0\\x72\\xc6\\x43\\x5f\\xc5\\x7b\\xbc\\x91\\x42\\x8b\\xf5\\x4f\\x41\\xfc\\x85\\x10\\xc5\\x82\\x69\\x4c\\xfd\\xa1\\x3f\\xbd\\xf3\\xef\\x8d\\xf0\\xf2\\x31\\xb8\\xf0\\x6a\\x03\\x15\\x4d\\xdb\\xde\\x02\\xdc\\xc0\\x61\\x85\\xf9\\x05\\x95\\x33\\x72\\x98\\xec\\x5d\\xab\\x67\\x3d\\x9e\\x8a\\x94\\x0a\\x08\\xe0\\xfc\\x9c\\x62\\x38\\x38\\xa3\\x16\\xd7\\x64\\xba\\x87\\xf0\\x66\\x26\\xf9\\x4f\\x46\\xac\\x1f\\x3a\\x74\\xb4\\xa6\\x9a\\xa7\\x69\\xca\\xa4\\x50\\x68\\x91\\xde\\xa5\\xf3\\x16\\x38\\x46\\x93\\x0e\\xff\\x8d\\xea\\x55\\x88\\x05\\xb8\\x04\\x30\\x40\\x38\\xf8\\xfd\\x45\\x9f\\x64\\xa2\\x58\\x8d\\x87\\x8f\\xe9\\x56\\xef\\x26\\x15\\xa6\\x77\\x7c\\xcb\\x0e\\xfe\\x78\\x01\\x24\\x2f\\xb0\\x7a\\x25\\xaa\\x56\\x3f\\x2f\\x82\\xbd\\x5a\\xcf\\x82\\x48\\x0f\\x20\\x3a\\x00\\x96\\x75\\xf3\\xc9\\xba\\xe9\\xa9\\x18\\x87\\x1f\\x8b\\x44\\x02\\x85\\xa8\\xa5\\x8e\\x5d\\xc4\\xee\\x66\\x39\\x25\\xc3\\xb2\\xc8\\x80\\x00\\x9a\\x46\\x5d\\x40\\xe8\\x4e\\x2b\\xaa\\x02\\x02\\x24\\x6e\\x45\\x20\\x99\\x96\\x43\\x23\\x26\\xcc\\x5e\\x57\\xaf\\x3f\\x7c\\x0f\\x5e\\x59\\xfa\\x7c\\x47\\xce\\xde\\xd5\\xab\\xd0\\xd3\\xff\\xde\\xbc\\x72\\xf6\\x93\\x29\\xe0\\xe4\\x62\\x38\\x7f\\x22\\xa1\\xfb\\x40\\xb4\\x7f\\xf7\\x12\\x3b\\xa1\\xbb\\x23\\x0d\\x60\\x3b\\x01\\x80\\x0a\\xd0\\x00\\xe8\\x0a\\x30\\x18\\x3c\\x02\\x4c\\x24\\x48\\x43\\x0f\\x46\\x6f\\xca\\x39\\x00\\x74\\x72\\x1d\\xd2\\xfb\\x28\\x23\\x90\\x1b\\x75\\x7a\\xb5\\x07\\x12\\x4a\\x68\\x89\\x90\\x96\\x22\\x67\\x9b\\x1a\\x0a\\x3d\\xfe\\xc9\\x52\\x40\\x06\\xbb\\x86\\x64\\x9f\\x23\\x23\\x01\\x07\\x6e\\xb3\\x21\\x41\\x8c\\x55\\xd8\\xce\\x67\\x62\\xc0\\x6c\\xe6\\xfb\\x0e\\x33\\x92\\xa0\\xf3\\x2b\\x30\\x12\\x9c\\xee\\x7f\\x04\\x3e\\xdd\\x01\\xa7\\xd8\\x81\\xd9\\x6f\\xd3\\x98\\x3d\\x09\\x74\\xf3\\x3b\\xed\\x80\\x7a\\xe8\\xa0\\xd6\\x60\\x3a\\x4c\\xdf\\x00\\x27\\xc3\\x86\\x99\\x60\\x6b\\xe2\\xb3\\x03\\x3b\\x89\\x7e\\x82\\x7b\\x6b\\x7e\\x87\\xe0\\x47\\xda\\x09\\x55\\xe8\\x48\\x35\\xa2\\x55\\x53\\x1b\\x33\\x8d\\x83\\x8d\\x6b\\x8d\\x8f\\x8c\\x9c\\xda\\x18\\x88\\x2e\\x0a\\x8c\\x0b\\xd1\\xe5\\x51\\xe3\\x77\\xe8\\xad\\x06\\xa3\\xa7\\x86\\x31\\x1a\\xb5\\x7a\\x46\\xab\\xf3\\x44\\x06\\x80\\xa7\\x9e\\xf1\\xae\\xe6\\x19\\xb6\\x91\\x39\\x8b\\x98\\x25\\x59\\x8f\\xbe\\x40\\x0c\\x33\\x17\\xbc\\x56\\x82\\x62\\x6d\\x6d\\x12\\xa3\\x00\\xce\\xe4\\x38\\xb7\\x00\\xaf\\x6e\\x4b\\xbe\\xac\\x9d\\x33\\x47\\xf7\\xd6\\xb0\\xfb\\x40\\x72\\x7f\\x08\\x3d\\xa9\\x34\\xbb\\x7f\\xaf\\xe2\\xac\\x61\\xd5\\x8c\\x04\\x44\\x81\\x08\\x38\\xf1\\x1d\\xf8\\x16\\xbc\\xbe\\xfc\\xec\\x91\\xca\\x5a\\x27\\x62\\x32\\xce\\xcf\\x1f\\x6e\\x3c\\x03\\x03\\x16\\x6c\\xbf\\x0b\\xee\\xe2\\x39\\xac\\x10\\x79\\x04\\x8e\\x89\\x8f\\x75\\x78\\x03\\xa5\\x4e\\x89\\x73\\xc6\\x81\\x1a\\x9b\\x9f\\x32\\x99\\x1e\\x59\\x62\\x8c\\xdc\\xc5\\xa6\\x1b\\x73\\x27\\x48\\x0e\\x9e\\x2b\\x5b\\x02\\x8b\\xd1\\x10\\xa0\\x37\\x88\\xa9\\x6d\\x7d\\xc1\\xd9\\xbe\\x43\\x16\\x01\\xe5\\xd7\\xe0\\x0f\\xec\\x9c\\xea\\xb9\\x13\\x8e\\xbd\\x70\\x6d\\x77\\xfb\\xad\\xfd\\xa7\\xb4\\xa2\\xb3\\x82\\x17\\xf7\\x9b\\x75\\xbf\\x16\\x09\\x55\\xc6\\xe9\\x64\\xc6\\x2e\\x01\\xa3\\x13\\x07\\x12\\x1e\\x89\\xf3\\x50\\x8a\\xc8\\x79\\x52\\x5b\\x42\\x93\\x15\\x88\\x77\\xd3\\xdc\\x75\\xb4\\x27\\x42\\xa9\\x54\\x87\\x25\\x44\\x69\\x50\\x32\\x85\\xfc\\x3a\\x25\\x88\\x57\\x3a\\xd0\\x0e\\x55\\x1a\\xfc\\xd5\\x7e\\x99\\x7e\\xb4\\x9c\\xf1\\x33\\xc8\\x0a\\x79\\x83\\x70\\x0a\\x81\\x61\\x23\\x9d\\xec\\x87\\xba\\x0e\\x21\\x1a\\x4b\\x24\\x64\\x00\\x46\\x08\\xaf\\xc0\\x9c\\xce\\x17\\x44\\x83\\x14\\xa9\\x84\\x55\\xd1\\x52\\x1d\\x53\\x5d\\xdc\\xb5\\xcf\\xbc\\x8e\\x1f\\xd6\\xcc\\x6a\\x5f\\x0a\\x26\\x75\\xd9\\xf2\\x64\\x15\\xec\\x51\\xb3\\x17\\x78\\x82\\x39\\x4f\\x63\\xff\\x82\\x1f\\xaf\\xee\\xdd\\x2e\\x60\\x2d\\x3d\\xb9\\xaa\\x72\\xf4\\x83\\x9a\\x6f\\xc6\\xfc\\x07\\xdc\\x85\\xeb\\x67\\xc2\\xdf\\x8f\\x54\\x80\\xf5\\x2b\\xc1\\x7a\\xa0\\x59\\x9f\\x6b\\xfe\\xcd\\xbb\\x55\\x76\\xdf\\x75\\x53\\x71\\x74\\x24\\x43\\xe4\\xdc\\x1c\\x12\\x4b\\x8e\\x2d\\xbd\\x96\\x8e\\x10\\xce\\xec\\x63\\xf6\\x29\\xe2\\x2b\\xcd\\x43\\xcc\\xb4\\xda\\x1c\\x68\\xa6\\x35\\x8c\\xd9\\xac\\x52\\xab\\x7d\\x8b\\x78\\xb5\\x5a\\xa5\\x29\\xe2\\x55\\x6f\\x9c\\x79\\xb9\\xa1\\x0f\\x22\\xd5\\xc2\\xb1\\x25\\x83\\x19\\x8d\\xb9\\x51\\x93\\xd2\\x33\\xe2\\xcb\\x10\\xfa\\x36\\xd8\\xf2\\xee\\x02\\x70\\x4f\\x12\\x08\\xff\\xfc\\xc9\\x79\\xef\\x7c\\xff\\x43\\xfd\\x87\\x27\\xd6\\x8c\\xda\\xdd\\x29\\x61\\x6b\\xd5\\xc0\\x98\\xae\\x3d\\xd9\\xb4\\x6b\\x03\\x56\\xfb\\x48\\xfd\\x3e\\xf0\\x09\\x78\\x6f\\x15\\x9b\\x56\\x5f\\x1b\\x51\\x96\\x92\\x61\\x07\\xbb\\x61\\x7d\\x68\\x51\\x8c\\x3d\\x8e\\xec\\xc3\\x39\\x62\\xfc\\xbb\\x90\\x73\\x5c\\xc8\\x73\\x6a\\xd2\\x2f\\xdd\\x95\\x73\\xac\\x67\\x97\\x59\\x9d\\xbf\\xec\\x24\\xfd\\xff\\x8f\\xd4\\x4f\\x63\\x49\\xff\\x86\\x52\\xa4\\x9b\\xd7\\xa2\\x97\\x58\\x84\\x5b\\x0f\\x28\\x40\\x21\\xaf\\x50\\x6b\\x70\\x5f\\x7d\\x87\\x4c\\xc5\\x20\\x0d\\x1d\\xdd\\xa5\\x89\\xeb\\x40\\x08\\x58\\xa5\\xa5\\x16\\x4e\\xd0\\xcf\\x89\\x08\\x0b\\xd1\\x33\\x19\\x3b\\xd6\\x2d\\x02\\x9d\\x9c\\x77\\x0a\\x9e\\x8f\\x98\\x50\\x71\\x6c\\x20\\xbd\\x61\\xe7\\x92\\x11\\xcf\\x0b\\x98\\xf1\\x50\\xf6\\xf5\\x11\\xa4\\x9a\\x97\\x0e\\x07\\x07\\x41\\x51\\xfd\\x34\\xe7\\x76\\xb0\\x02\\xd1\\x48\\x27\\xf7\\x99\\x63\\x0e\\x91\\x0f\\xef\\x22\\xbe\\x19\\x85\\x60\\xb0\\x50\\x29\\x0e\\x24\\xb9\\x7c\\xfc\\x02\\x39\\x44\\xc7\\x45\\xbc\\x76\\x92\\x6a\\xa1\\x8a\\x3e\\xa4\\x3a\\xa5\\xa2\\x55\\x2a\\xd6\\xa8\\xf6\\x54\\x5b\\xcc\\xf8\\x1c\\x55\\xec\\x00\\x13\\x57\\x4e\\x6a\\x0d\\x98\\x48\\x00\\x71\\x1c\\x66\\x9b\\x44\\x0d\\x37\\xe1\\x18\\x50\\x06\\xc7\\x5d\\x11\\x25\\x9c\\x98\\xda\\x68\\xcf\\x3d\\xf6\\xf1\\x51\\xc2\\x1b\\x7f\\x83\\xe1\\xa6\\x18\\x79\\xce\\xb3\\xf0\\xe0\\xf2\\xd2\\x0b\\xa5\\x3d\\x86\\x4e\\x7b\\x76\\x32\\xa8\\x93\\xff\\xe2\\xbf\\xab\\xd4\\x01\\xbe\\xdd\\x2f\\x80\\xab\\x6a\\x09\\xd4\\xd2\\x59\\xa6\\xea\\x66\\x20\\xef\\xe1\\x29\\x16\\x7c\\x06\\xdb\\xb2\\xa7\\x1e\\xc2\\xfd\\x89\\x55\\x46\\xe7\\x21\\xf0\\x88\\xd3\\xc0\\x30\\x84\\xe7\\x66\\x08\\xfe\\x4a\\x36\\x1f\\x59\\x14\\x79\\x8e\\x68\\x8b\\x4a\\xa9\\x52\\x16\\xf1\\x04\\x54\\x95\\x8a\\x8a\\x33\\x01\\xb3\\x09\\x30\\x6a\\xd3\\x60\\x13\\x2d\\xe3\\x4c\\x66\\xb3\\xb1\\x88\\x37\\x6b\\x28\\x69\\x21\\xcf\\xba\\x43\\xd3\\x45\\x36\\x57\\x21\\x68\\xda\\x4d\\xb5\\x6c\\x77\\x6f\\xf4\\x90\\x14\\x91\\x2e\\xb0\\x2b\\xc6\\xa5\\x63\\x1b\\x45\\x25\\xfb\\xc6\\xb9\\xf3\\x8a\\x17\\x6c\\x6d\\x8f\\x41\\x73\\x17\\x7c\\x18\\x3c\\x6d\\x55\\xc7\\x4e\\x3d\\x2e\\xc5\\xff\\x9a\\x04\\x7c\\x7f\\x38\\x74\\x69\\xe5\\xd2\\x81\\x13\\xe7\\x42\\xa7\\x61\\xfd\\xdb\\xd1\\x1d\\xba\\x96\\x17\\xb5\\xc9\\xd8\\x13\\x96\\x9f\\x1c\\xdd\\x72\\x91\\xd7\\xdb\\x2b\\x27\\x0e\\xee\\xb7\\x31\\x80\\x96\\x8f\\x28\\xed\\xb9\\xb7\\x07\\xe5\\xd6\\xe5\\x76\\x20\\xbc\\xab\\x28\\xdd\\x01\\x05\\x2b\\x35\\xca\\x39\\xd2\\x10\\x2c\\x41\\x68\\x3a\\xc9\\x08\\x6a\\x2c\\xd2\\xac\\x89\\xb6\\xf4\\x9f\\xee\\x92\\x14\\x35\\x9d\\x01\\xfc\\xcf\\xc3\\xfa\\x7e\\xa6\\x70\\xe7\\x77\\xf0\\x02\\xa2\\x23\\x18\\x6a\\x3d\\x1b\\x4d\\xbf\\x7c\\x79\\x82\\xf6\\x1b\\x30\\xdc\\xc9\\xa1\\x9b\\x89\\x3a\\xe4\\x47\\xdc\\x97\\x48\\xb7\\xfe\\x15\\xc7\\x7d\\x22\\xdd\\x9a\\xc4\\x7d\\xaa\\xd5\\xee\\xb8\\x4f\\x51\\x8f\\x24\\xf9\\x31\\x81\\x0e\\xb5\\xd2\\x53\\x4d\\xab\\x0b\\x91\\xa8\\xd4\\xc8\\x8d\\x12\\x02\\x03\\xd6\\x6a\\x44\\xad\\x1a\\xd1\\x98\\xe0\\x9e\\xc6\\x8a\\x3e\\x23\\x41\\x4a\\xf5\\x9f\\xc0\\xb7\\xb4\\xf7\\xf8\\x2e\\xe7\\x41\\x00\\xfc\\x36\\x27\\x1f\\x28\\xe1\\xf9\\x93\\x45\\xed\\x4b\\xe1\\x3d\\x04\\x4e\\xdb\\xdc\\x81\\x80\\x83\\x53\\xbb\\xc6\\x3b\\x4f\\x81\\x4b\\x3e\\xb0\\x0d\\xa1\\xaf\\xad\\xf8\\x7c\\x8e\\xe4\\xe0\\xf9\\x39\\xd4\\x5a\\xb4\\x31\\xb4\\x6a\\xa9\\xb2\\x90\\xf7\\x94\\x0a\\xfd\\xec\\x5d\\x11\\x5c\\x16\\x9c\\xb5\\xd0\\x24\\xd8\\x0d\\x53\\x37\\x7d\\x6c\\xe7\\x5f\\xd3\\x46\\xf7\\x19\\x5b\\x66\\xad\\xd0\\x5b\\x7d\\x22\\xd2\\x0a\\x47\\xad\\xa7\\x5f\\x9e\\x47\\x84\\x3d\\x14\\x5e\\x5e\\xde\\xca\\x83\\x3b\\x2a\\x1b\\x04\\x92\\xc1\\xfd\\x97\\x27\\xf0\\x73\\x90\\x2e\\xcd\\xfe\\x80\\x9e\\x83\\x63\\xb4\\xd4\\xde\\x3a\\xad\\x8c\\xf6\\x50\\x1b\\xf4\\x4a\\x09\\xa0\\xa4\\x84\\x6a\\xed\\xa4\\xbf\\xa5\\x68\\x39\\x22\\xba\\xa4\\xb1\\xa1\\xab\\x37\\x19\\xa4\\x29\\xe2\\x19\\x2f\\x32\\x1d\\xe9\\x9e\\x9f\\xa7\\xd2\\x4a\\xc5\\xcc\\xb3\\xe7\\x41\\xbb\\x50\\xda\\xd3\\x27\\xd1\\xfa\\x04\\xb4\\x3a\\x7f\\xb6\\x8e\\x8b\\xd6\\x33\\x6f\\x07\\xf7\\x2f\\x74\\xb6\\x67\\xd3\\x9c\\xb7\\xb3\\x26\\x8d\\xce\\x5d\\x57\\x4c\\xfb\\x23\\xbc\\x2f\\xf1\\xdd\\xe6\\x68\\xb2\\x96\\x72\\x6c\\xab\\x30\\xac\\x8c\\x45\\xf3\\x9b\\x24\\x5b\\x28\\xa3\\x65\\x48\\xdd\\x32\\x7a\\xb8\\x91\\x5a\\xee\\xce\\x14\\x26\\x7a\\x3a\\xf9\\x61\\x77\\x9c\\x87\\xf7\\xba\\xc1\\x71\\xdd\\x10\\x6b\\x00\\xbe\\x25\\x60\\x7a\\x09\\x9b\\xf6\\xf2\\x04\\xf8\\x0e\\x36\\x43\\x18\\xed\\x04\\x76\\xfc\\x53\\x8e\\x88\\xeb\\x79\\x52\\x7c\\x8e\\xcd\\xb0\\x52\\x16\\x47\\x46\\xab\\x39\\x31\\xe5\\xe6\\xd5\\x67\\x90\\xfb\\xef\\x84\\xe3\\x04\\xd6\\xf3\\xf2\\x04\\xee\\x70\\x8d\\xb9\\x0f\\xd6\\xa1\\x7f\\x44\\x3a\\x73\\x1d\\x8b\\x74\\x6a\\xaa\\xe4\\xd5\\xda\\x3b\\xd8\\x1f\\x81\\x63\\x6d\\xd0\\x73\\xbe\\x26\\xcf\\x41\\xba\\x28\\xc7\\x1a\\x25\\x8c\\x14\\x6f\\xa6\\xa6\\xa1\\x98\\x24\\x02\\x93\\xcc\\xe5\\x32\\xf3\\xd8\\x0a\\x97\\xed\\xc4\\x0f\\x5b\\x46\\x78\\x1c\\x33\\x1e\\x3f\\xe3\\x12\\xd2\\x3f\\xd5\\x24\\x57\\xaa\\x3b\\x89\\x39\\x0e\\x46\\xcf\\xfc\\x80\\xc3\\x75\\x9f\\xfc\\x90\\x54\\x8a\\x73\\xa0\\xa5\\xa2\\x02\\x19\\x0d\\x53\\xc4\\xeb\\x35\\x9a\\x20\\xda\\x83\\x46\\x5b\\xd6\\xc3\\xcb\\x4f\\x6a\\x76\\xcf\\xc5\\xbb\\xa9\\xf6\\x6e\\x30\\xe9\\x55\\xb4\\x19\\xb8\\xa2\\xf6\\xf5\\xb8\\xbb\\x36\\xf1\\x4d\\x23\\xed\\xd1\\xc6\\x64\\x30\\x40\\xb7\\xf1\\xed\\xbe\\x33\\xdb\\x35\\x2b\\xdc\\xfd\\x79\\xd1\\xca\\xab\\xd3\\xf2\\xbe\\xcb\\xdb\\x73\\x2c\\x7f\\xed\\xd5\\x29\\x85\\x60\\xfb\\xfb\\x6f\\xe7\\x0e\\x2f\\x8a\\x04\\xab\\xd1\\x9e\\xf9\\xd3\\x77\\xf1\\xbf\\xea\\x4b\\xc1\\xbb\\xda\\x4b\\x7b\\xc6\\x02\\x70\\xbc\\x56\\x05\\xa6\\xc0\\x89\\xfa\\xef\\xf7\\x8e\\x69\\x38\\x3d\\x42\\x01\\xfb\\xb0\\x1d\\x4e\\x46\\x3a\\x95\\xba\\xee\\x4b\\x3e\\x17\\xf0\\x74\\x12\\x9f\\x63\\x90\\x39\\x94\\x11\\xbc\\x04\\x23\\xbe\\x3d\\x9f\\xac\\x77\\xf0\\x1e\\x99\\x27\\xe6\\xd7\\x0a\\x0e\\xa8\\xb1\\x56\\x8d\\x53\\x64\\x8d\\x4d\\xf2\\x62\\xb1\\x99\\xac\\x77\\x99\\x1b\\x21\\xfa\\x60\\xb4\\xc4\\x3b\\x41\\xaf\\x9d\\xe8\\x37\\xe6\\xd1\\x48\\x94\\x4c\\xc3\\xeb\\x81\\x59\\x33\\x89\\xc7\\x12\\xd7\\x95\\xd8\\x1a\\x0a\\x35\\xab\\x2e\\xc6\\xce\\x6e\\x4f\\x17\\x05\\x35\\xc9\\x34\\x97\\xba\\x32\\xb6\\x2c\\x7a\\xb1\\xf4\\x6b\\x8a\\x1e\\x3c\\xce\\xe3\\xa6\\xa7\\x0d\\xe8\\x5b\\x09\\x7c\\xce\\xc3\\xfb\\x45\\x65\\x1b\\x57\\x4f\\xac\\x93\\x75\\x46\\x54\\x34\\x31\\x66\\xb0\\xc6\\x1f\\x3c\\x41\\x54\\xb5\\x36\\xa0\\xf9\\x98\\x81\\xe1\\x31\\xe0\\x63\\xc1\\xd6\\x40\\xbc\\x81\\xbd\\x4f\\xe6\\x21\\xd8\\x1a\\x64\\x0a\\x45\\x4d\\xfa\\x83\\x13\\x5b\\x43\\xdf\\x68\\x14\\xf8\\x9e\\xbf\\xb6\\xeb\\xcc\\xae\\x6b\\xbb\\xce\\xee\\xba\\x86\\x88\\xa9\\x7e\\x1c\\x33\\x1d\\xff\\xa0\\x0d\\x88\\xee\\x85\\x70\\x72\\x9f\\xc8\\xec\\xd0\\x4f\\x28\\x15\\x42\\x89\\x0a\\xdf\\x50\\x2e\\xdc\\x51\\xed\\x46\\x8a\\xdb\\xd4\\xd0\\xbf\\x6a\\x6a\\x34\\xb9\\xf3\\xae\\xac\\x61\\x17\\x0b\\x1a\\xef\\x5e\\x3f\\xce\\xf9\\x11\\x46\\x0f\\x8e\\x07\\x45\\xf0\\x8e\\x41\\xcf\\xc0\\xb6\\x46\\x9a\\x23\\x58\\x69\\x42\\x77\\x56\\x06\\x2a\\x69\\x0d\\xb1\\x38\\xc2\\xb0\\xc5\\xa1\\x40\\x26\\x07\\x5a\\x04\\xb5\\x87\\xaa\\x88\\xf7\\x30\\x36\\xe6\\xdd\\x88\\x75\\x95\\x1a\\xad\\x0e\\xc4\\x6b\\x88\\xd5\\x21\\x6f\\x54\\x08\\xe8\\x6b\\xe7\\xce\\x4c\\xf8\\x73\\x3b\\x2c\\xda\\x09\\x1f\\x59\\xe9\\xa8\\x4e\\xdd\\xbb\\x56\\x8d\\x4b\\xe9\\x39\\x82\\xa7\\x67\\x0c\\x9b\\x38\\xe2\\x48\\x4f\\x66\\xfc\\x11\\xd8\\x01\\xda\\x62\\x2b\\x13\\x9b\\xe3\\x12\\x13\\xc8\\xe6\\x70\\xf1\\x1c\\x05\\x92\\x2e\\xbe\\x54\\x92\\x23\\x50\\xe1\\x55\\x24\\x74\\xc8\\xd3\\x10\\xc3\\x38\\x8c\\x51\\x28\\x64\\xde\\x9e\\x6a\\x93\\x4c\\x86\\xa4\\x94\\xac\\x11\\xad\\x82\\x86\\xda\\x04\\x18\\xda\\xd5\\xdd\\x57\\x04\\x85\\xd4\\x30\\x5a\\xb3\\x77\\xb7\\x63\\xe4\\xae\\xb1\\xf0\\xca\\xf9\\xa7\\x9d\\xba\\x07\\x75\\xea\\x1e\\xde\\xbe\\x93\\x05\\xec\\x3b\\x0f\\xb8\\xf3\\xf4\\xcc\\x21\\x63\\x4a\\x36\\x0d\\x4c\\x43\\x8b\\xdb\\x11\\x86\\xc5\\x0e\\x6e\\x66\\x8f\\x82\\x36\\xbc\\xbb\\x29\\xb7\\x2d\\x52\\x4a\\xd6\\xd5\\x48\\x35\\x73\\xf8\\xcb\\x91\\x18\\x54\\xcb\\x03\\xe5\\x08\\x2a\\xb9\\x46\\x8e\\xa0\\x92\\xcb\\x3d\\x3c\\x65\\x6a\\x0f\\x45\\x23\\x8a\\xde\\x84\\x88\\xa0\\xa7\\x29\\x72\\x76\\x7d\\x7f\\x69\\xca\\x7f\\xb6\\x39\\xff\\x40\\x24\\xdc\\xa9\\xfb\\xa1\\xea\\x89\\x2d\\x6a\\x46\\x7e\\x46\\xcf\\x18\\x31\\x69\\xf8\\x67\\x48\\x3f\\x22\\x88\\x29\\x4f\\x4e\\x23\\x7e\\x36\\xaa\\x35\\xe2\\x23\\xe5\\x48\\x46\\x87\\x50\\xdd\\x1c\\x69\\x32\\xa4\\xc6\\xa8\\x65\\x81\\x32\\x7a\\xb0\\x6c\\x92\\x8c\\xc6\\xaf\\x6e\\xc8\\x1e\\xc9\\x58\\x0d\\x23\\x93\\x05\\x78\\x05\\x20\\xd6\\x55\\x82\\xbe\\x11\\xe0\\xe5\\xa7\\x43\\x82\\x5b\\x57\\xa1\\xa3\\x55\\xac\\xce\\xcb\\x4b\\x8d\\xdd\\x64\\x54\\xa3\\xb0\\x7e\\xd5\\x7d\\xd1\\xc4\\x77\\x41\\x5c\\x89\\xae\\x6c\\x57\\x77\\x65\\x2c\\x57\\x94\\x1a\\xa8\\x04\\xc5\\x85\\xfd\\xa6\\x86\\xc2\\x53\\x56\\x90\\x24\\xed\\xd0\\x9d\\x94\\xc7\\x6a\\x05\\x82\\x8e\\x9c\\xbb\\xd2\\x7d\\xeb\\x6f\\x8b\\x8e\\x5d\\x03\\xa0\\xd6\\x5c\\xd8\\x63\\xf2\\x8a\\x23\\xe1\\x71\\x9d\\x2a\\xde\\x2a\\x51\\x7d\\x70\\xe4\\xdc\\xf1\\x99\\xf0\\xde\\x57\\x7d\\x3f\\x5f\\xaf\\x97\\x12\\xfb\\xe4\\x67\\x34\\x97\\x4f\\xd1\\x5c\\xbc\\x10\\xb7\\x8a\\x75\\xf8\\x50\\x3a\\xc4\\xff\\x28\\x83\\x97\\x51\\xad\\x37\\x18\\x15\\xbe\\x48\\x63\\xf3\\x22\\x1e\\x3c\\x4d\\x13\\x7f\\x03\\xc1\\x26\\x86\\xd0\\xde\\x98\\x4d\\xe4\\xb6\\x3f\\xf4\\x76\\xbd\\x2b\\xe1\\x49\\x48\\x3d\\xeb\\x30\\xbd\\xd5\\x1f\\x6b\\x67\\xbd\\xdd\\x71\\xe6\\xfe\\x81\\xf3\\x56\\x78\\x4e\\xed\\xf6\\xf8\\xfc\\xe3\\x5f\\xa3\\x92\\x72\\x2b\\xb2\\x23\\xe3\\x73\\xab\\xdb\\xd3\\x0b\\xae\\xdc\\x3f\\xbc\\x63\\x12\\x3c\\xf7\\xd3\\xe0\\xbd\\x3b\\x32\\xb3\\xb1\\x54\\x70\\x4a\\x72\\xf2\\x36\\x81\\x2e\\x65\\xed\\xda\\xac\\x83\\xfb\\x09\\x8c\\x07\\x44\\xbe\\xa1\\x46\\xfb\\x22\\x1c\\x49\\x20\\x4a\\x6d\\x52\\x17\\xf1\\x26\\x13\\x50\\x28\\x90\\x6e\\xac\\x50\\x8b\\x1e\\xce\\x26\\x51\\x14\\x82\\x07\\x9f\\xb0\\xd1\\x0c\\xda\\x6e\\xc1\\xf9\\x01\\x38\\x1c\\x0d\\x59\\x1f\\x74\\x01\\x5c\\x05\\xcf\\x80\\x35\\x7c\\x8f\\xac\\x39\\xdf\\x4d\\x05\\x0f\\x91\\xf4\\xe8\\x5c\\x7e\\xe2\\x8c\\x3f\\xbb\\xe9\\x12\\xf8\\x08\\x76\\x04\\x97\\xbd\\x46\\x74\\xed\\xb4\\xb4\\xb7\\x1d\\x71\\x93\\x8f\\xc0\\x8f\\xcb\\xad\\x43\\x5c\\x3a\\x25\\xb7\\x57\\x17\\x86\\x75\\x4a\\xad\\x84\\x6a\\xb3\\x87\\xe4\\xac\\x84\\x87\\x37\\xc9\\x47\\x11\\xc6\\xac\\x71\\x8f\\xc1\\xd5\\xa1\\x15\\xfb\\x19\\x3a\\x24\\x44\\xcc\\x7d\\x41\\x54\\x10\\x86\\xf3\\x0b\\x91\\x6c\\x88\\xa0\\xda\\x39\\x6c\\x81\\xc1\\xda\\x60\\x65\\x31\\xaf\\x09\\x46\\xfc\\x16\\xc8\\x99\\x60\\x13\\xe5\\x67\\x30\\x1a\\x8a\\x78\\x1f\\x23\\x63\\xd3\\x49\\xb5\\x46\\x8a\\x2d\\xe1\\x69\\x92\\xd4\\x25\\x84\\x5b\\xba\\xa5\\xc5\\x2b\\xda\\xbf\\xab\\xab\\x79\\x93\\x84\\x68\\xdc\\x3a\\x03\\xbb\\xc2\\x2d\\xb8\\x17\\x4c\\x32\\xc9\\xda\\xc0\\x2d\\xcf\\x6b\\x7b\\xb6\\xb5\\x25\\xb4\\x6f\\xa5\\x1f\\xab\\x49\\xcf\\xeb\\xbd\\xda\\xbf\\x1f\\xbc\\x7f\\x77\\xba\\x65\\xba\\x2f\\xf0\\x41\\x76\\x8e\\x05\\x5e\\x50\\xf9\\x5b\\xd8\\x77\\x1f\\x03\\x8d\\x66\\xb9\\xef\\x2e\\xd8\\x45\\x76\\x82\\x75\\x54\\xd3\\xc3\\x3a\\xa4\\x67\\x17\\xee\\x9c\\xeb\\xbc\\xcb\\xae\\xda\\x3e\\x73\\xe6\\xf6\\x9c\\xe5\\x53\\x7e\\x87\\xcf\\xb2\\xf3\\xeb\\x5f\\xcc\\x5d\\x43\\xe6\\x8c\\x6d\\x82\\xbd\\x18\\x2f\\xcc\\x6d\\xd1\\xdf\\xf1\\xb6\\xa0\\x8d\\x49\\x24\\x5a\\xd7\\x39\\xe7\\x60\\x84\\x97\\x19\\xe2\\x5e\\x49\\xf5\\x0b\\x44\\x7b\\xc5\\x2f\\xd0\\x8f\\x1e\\xec\\x37\\xc9\\x8f\\xc6\\xaf\\x6e\\xf8\\x3d\\xf2\\x43\\x7b\\xc5\\xcf\\xcf\\x43\\xa3\\xf1\\x41\\x1f\\x22\\xd3\\x9d\\x91\\x1b\\x81\\x51\\xa3\\xa1\\x18\\xa0\\x62\\x19\\x0f\\x0f\\xaa\\x50\\x88\\xa3\\x6b\\xf4\\xf3\\x55\\xf4\\x78\\x7d\\xaf\\x58\\x85\\xe2\\x76\\xae\\xf4\\x28\\x21\\x36\\x5c\\x2c\\xe0\\x8a\\x10\\x41\\x5a\\x4b\\xb6\\x28\\x9c\\x2c\\xd4\\xb8\\x9b\\x7e\\xfa\\x6a\\xf7\\x0f\\xfe\\x58\\x78\\xe8\\x47\\x78\\x0b\\xb4\\xef\\xda\\x6b\\x4a\\x30\\x48\\xb2\\xc2\\x53\\xb2\\x82\\x1d\\xbd\\x7a\\x2a\\x07\\x7e\\x58\\x75\\xf6\\xd8\\x74\\x60\\x3e\\xd5\\xef\\xd0\\x56\\x89\\x4a\\x9f\\x5d\\x3e\\x61\\xfe\\x91\\x94\\x98\\xae\\xe5\\x62\\x5e\\x34\\x9a\\xcb\\x00\\xa2\\x4f\\x94\\x92\\x6b\\x25\\x9a\\x7f\\x0a\\xf1\\xcf\\x77\\x70\\x5f\\x4f\\x23\\x34\\xf0\\xa7\\x40\\x03\\x11\\x42\\xfe\\x93\\xa7\\xa7\\x3b\\xff\\xe9\\xd5\\x18\\x08\\x44\\xdb\\x2b\\x45\\xfd\\xd1\\x8f\\x0a\\xa3\\xb2\\x1d\\x91\\x66\\x7f\\x64\\x9a\\x84\\x21\\x7e\\xa6\\x0d\\xd4\\x22\\x7e\\xa6\\xd5\\x68\\x11\\x3f\\xd3\\x6a\\xd5\\x66\\xa3\\x1f\\x22\\xff\\x42\\x5e\\xa3\\x56\\x73\\x9e\\x45\\xbc\\x94\\xf3\\x6a\\x0c\\x8d\\x17\\x22\\x57\\x44\\xfe\\x16\\x45\\xb4\\x6b\\x3a\\xc4\\xdd\\x76\\xdc\\xed\\x01\\xa4\\x5f\\xb1\\x0e\\xc1\\xc3\\x49\\xa9\\x15\\xe3\\x47\\x87\\x58\\x2d\\x3a\\xff\\xa8\\xc4\\x84\\xa8\\xad\\xb4\\x5f\\xa7\\x44\\xc4\\x90\\x47\\xed\\x1e\\x0d\\xaf\\xec\\xec\\x13\\xd4\\xa9\\x2c\\x3c\\xbb\\xd4\\x82\\x94\\xd1\\x8c\\x6f\\x0f\\x76\\x90\\x6f\\xf7\\x48\\x9b\\xbc\\x1c\\x6d\\x9d\\x0e\\x88\\x2f\\xbf\\x5f\\x93\\xc6\\x8c\\x77\\x36\\x8b\\x19\\x64\\x6f\\x16\\x2d\\xf8\\x02\\xff\\x14\\xf7\\xa7\\x81\\x0a\\x40\\x94\\x1d\\x61\\x08\\x28\\xe2\\x0d\\x06\\x8d\\x27\\x62\\xc6\\x68\\x32\\x42\\x0c\\x05\\xa5\\xd1\\x68\\xd0\\x4c\\x34\\x1a\\x99\\x4e\\xa5\\x56\\x1a\\x65\\x46\\x51\\x5e\\x50\\x24\\x03\\x50\\x04\\x5e\\x4c\\x68\\x25\\xa7\\x57\\x8d\\x72\\x83\\x30\\x15\\x2c\\x48\\x9b\\x70\\x6b\\x26\\xd7\\x05\\x6a\\xf7\\xcf\\xbb\\x3f\\x45\\xf2\\xe3\\xf3\\x4e\\x44\\x86\\x10\\xa0\\xe9\\x19\\x02\\x94\\xe0\\x2a\\xc4\\x5d\\x87\\x3b\\xe0\\x7d\\x0d\\x6d\\x2e\\x78\\xd1\\x3a\\x85\\x21\\x78\\x6b\\xc9\\x1a\\xfc\\xab\\xc9\\xb9\\x34\\xa6\\xe3\\x07\\x64\\xdd\\x46\\xf6\\x7c\\xb3\\x26\\x0a\\xd1\\x49\\xc9\\x98\\x5f\\x05\\x1e\\xb0\\x86\\x8c\\x31\\x18\\x1a\\xc7\\x08\\xba\\x20\\xb6\\x4d\\xb0\\x2e\\x88\\x6d\\x13\\x05\\x19\\xe3\\xe3\\xd3\\xd4\\x36\\x41\\x7a\\x84\\xa0\\x4b\\x07\\x7d\\x42\\x79\\x62\\xd5\\x4a\\x42\\xab\\x39\\x16\\x20\\x41\\x21\\x23\\x6c\\xac\\xd1\\x75\\x17\\x01\\x5c\\x5a\\x34\\x32\\x31\\xa7\\xc2\\x35\\x44\\xb9\\x9a\\x8e\\x94\\xab\\xf3\\x70\\x4d\\xc1\\x73\\xa4\\x41\\x4c\\x67\\xc6\\xbd\\x3c\\x01\\xfb\\x92\\xfb\\x26\\x22\\x3a\\xfa\\x91\\xe3\\xa9\\x44\\x2a\\xd3\\x61\\x51\\xa9\\xa2\\x12\\x12\\x98\\x0a\\x9e\\x4a\\x60\\x23\\xa2\\xa2\\x3c\\x2b\\xf8\\x28\\xbd\\x4d\\x57\\xc1\\xdb\\xf4\\x7e\\x41\\x41\\x3e\\x15\\x7c\\x50\\x63\\x14\\xa7\\xa8\\x3e\\x34\\x96\\x92\\x14\\x23\\xdd\\x5d\\x65\\xb3\\xb0\\x06\\xda\\x84\\x9d\\xbb\\xfa\\xa1\\x6b\\x68\\x77\\x25\\x5c\\x8d\\x0e\\x97\\xc2\\xa5\\x63\\x8c\\xde\\xaa\\xe8\\x92\\x56\\x5e\\x06\\xdf\\x74\\x9f\\xd4\\xfb\\xa9\\x9a\\xf8\\xe6\\xc3\\xdb\\x78\\x7b\\xa9\\x02\\x83\\xfa\\x35\\x9f\\x9b\\xd3\\x7b\\xc0\\x9c\\x5b\\x8b\\x26\\xe7\\x8c\\x9e\\x32\\x78\\xe4\\xc8\\xcb\\xb3\\xa6\\xb4\\x61\\x33\\xcd\\xde\\x5f\\xc3\\x71\\x4b\\xbb\\xf5\\x6a\\x93\\x08\\x42\\xe0\\xcf\\xa3\\x5e\\x80\\x9e\\x3b\\x5b\\x17\\x7b\\x9b\\xdf\\xce\\x68\\x7f\\xec\\x20\\xfc\\x0b\\x6a\\x5e\\x4e\\x98\\x70\\xf1\\x2c\\x08\\x03\\x07\\x7f\\x9f\\x29\\xd8\\x93\\x35\\x08\\xff\\xc7\\x11\\xde\\x7c\\xb1\\xcf\\xc6\\x43\\x23\\xf7\\xd5\\x2a\\xd4\\x7a\\x95\\x54\\x6e\\x14\\x3b\\xfb\\x8b\\xe1\\xdc\\x26\\x5c\\xf9\\x4b\\x8a\\x63\\x5c\\x70\\x77\\xff\\x64\\x3d\\xfa\\x95\\xc1\\xb4\\x04\\x36\\xf6\\x73\\xa6\\xd3\\xd6\\xed\\x17\\xd5\\xbd\\xab\\x2f\\xd8\\x7f\\xe3\\x26\\x14\\xaa\\xff\\xc5\\x46\\x16\\xb7\\x8a\\x00\\x6c\\x5a\\xb1\\xcf\\x72\\xf8\\x33\\x3c\\x73\\x0b\\xb4\\x3d\\x33\\x0a\\xe1\\xf4\\xfc\\x97\\x54\\x03\\x18\\x50\\xff\\x7d\\xe6\\xf4\\xad\\x97\\x17\\xc6\\x13\\xbf\\x3c\\x85\\x24\\x22\\xbb\\x94\\xcb\\x42\\x36\\x9e\\x19\\xc7\\x41\\x7a\\x98\\x2a\\x78\\xa9\\x9e\\xd2\\x57\\xf3\\x1c\\xe5\\x81\\xfe\\x6b\\x69\\xad\\x77\\x05\\xaf\\xd5\\xe1\\xb2\\x73\\x6f\\xa4\\xd8\\xe1\\x73\\x58\\xc4\\x8e\\x71\\x7c\\x8b\\xdd\\x7d\\x1a\\x1c\\x22\\x9e\\xc7\\x26\\x4f\\xbc\\xe2\\x0f\\x6c\\xfe\\xbf\\x58\\x7f\\xb1\\x1e\\x3a\\x7b\\x79\\x19\\x7c\\xf0\\x09\\xcc\\x38\\x7e\\x85\\xf1\\xfc\\xab\\x57\\x76\\xcd\\xa6\\x25\\xec\\xce\\x15\\x2b\\x8e\\x1c\\xde\\xba\\x7a\\xf1\\xad\\x71\\xcc\\x23\\xe7\\x99\\xb7\\xe1\\xf2\\x1a\\x41\\xff\\x41\\xb2\\x85\\x7d\\x0b\\xc9\\x11\\x2d\\xc2\\x46\\x9c\\xc3\\xc7\\xc3\\x17\\x29\\x3a\\x1e\\x6a\\x4a\\xad\\x43\\x7c\\xc3\\x48\\x53\\x52\\x2d\\xa5\\x2d\\xe4\\x05\\x7b\\x5b\\x4c\\xb2\\x6d\\x74\\xcc\\xea\\x09\\x41\\x21\\xae\\x88\\x05\\x03\\x8b\\x49\\x4c\\x3c\\x15\\x88\\x02\\x0b\\x01\\x9d\\x0f\\x7c\\xf3\\x41\\x9a\\x15\\x9e\\x88\\xef\\x0d\\xb6\\xc0\\x1b\\x10\\xc2\\x49\\x3b\\x21\\x04\\x8b\\x23\\x17\\xcd\\xed\\x3f\\x32\\x8a\\x4d\\x03\\x4b\\xe0\\xa0\\x23\\xcf\\xe1\\xcb\\x83\\xdf\\x22\\x16\\x60\\x2f\\xad\\x68\\x99\\x46\\x6c\\xd3\\x86\\x07\\xec\\x0b\\xae\\x2b\\x15\\x4c\\xc5\\x3b\\x7c\\xbd\\x03\\x2b\\x78\\x3f\\x6f\\xd6\\xa0\\xae\\x44\\x4c\\x40\\xab\\x63\\xb4\\x3a\\x4e\\x26\\x63\\x1a\\x83\\x35\\x84\\x03\\x4c\\x81\\x75\\x89\\xf1\\xeb\\x29\\xa6\\x26\\x0a\\x04\\x3e\\xa3\\xf7\\x15\\x72\\xf9\\x04\\x0d\\x82\\x7e\\xc7\\xd1\\xbc\\x77\\xaf\\x2f\\xdb\\xdf\\x9a\\xf7\\xf6\\x06\\xf5\\xc8\\x21\\x37\\x80\\xe4\\x46\\x9f\\xe1\\x79\\xcf\\x3f\\x9b\\x3e\\x97\\xf9\\xc9\\x1e\\x9f\\x3f\\xb5\\x33\\xd8\\xdc\\x7b\\xd0\\xdf\\xa9\\xe7\\x2e\\xfd\\xf8\\x6d\\x51\\x95\\x50\\xe5\\x11\\x78\\x03\\xd5\\xf1\\xa3\\x39\\xfd\\xc6\\x7e\\x06\\x57\\xe0\\xfa\\xe2\\xa2\\x8e\\x63\\x43\\x3a\\xac\\x9f\\xbf\\xc5\\x82\\xd4\\x1a\\x8b\\x97\\x14\\xe9\\x60\\x0a\\xa9\\xc6\\x18\\xc6\\x84\\x15\\xf2\\x3a\\x86\\x01\\x44\\x89\\xcf\\x6c\\x12\\x5d\\xef\\x4e\\x69\\x27\\xfc\\x47\\xd0\\xbd\\xd4\\x40\\xe8\\x84\\x82\\xd6\\xd3\\x95\\xd9\\x20\\x02\\x8f\\x60\\x0f\\x38\\x7f\\xb7\\x73\\x55\\x2b\\x40\\x6d\\x59\\xb0\\x16\\x3c\\xa2\\xfb\\x66\\xf7\\xf5\\x7f\\x60\\x7d\\xe0\\x19\\x96\\x9d\\x5a\\xe5\\xff\\x6b\\xc2\\xdf\\xab\\xdf\\xde\\xc0\\x56\\x76\\x45\\x0c\\xa9\\xfd\\x95\\xa7\\x3b\\x57\\x07\\x6a\\x6c\\x8b\\xe6\\xd4\\x1d\\x71\\x24\\xa4\\x0e\\xea\\xd5\\x4b\\xbd\\xfd\\xfb\\xb3\\x87\\x0a\\x61\\x3a\\xe2\\xa5\\xa2\\xef\\x1d\\x77\\x86\\xc6\\x1e\\x0d\\xc0\\x29\\xb8\\x2a\\x5e\\x81\\x00\\xf5\\x60\\xe4\\x8c\\x54\\x27\\x1c\\x50\\xe9\\x52\\x5d\\xb1\\xa2\\x98\\x39\\x62\\x57\\x20\\x76\\xf0\\xdb\\x6d\\x61\\x49\\x52\\x09\\x63\\x68\\x5b\\x7e\\xbf\\xbc\\xdd\\x1d\\x78\\x85\\xfe\\x1c\\x74\\xdd\\x07\\xaf\\xc2\\xb3\\xcf\\x0d\\x0a\\x75\\x28\\xf8\\x05\\x06\\xe2\\x1f\\xec\\x28\\xa3\\x8f\\xde\\x5d\\x54\\x16\\xd2\\x15\\xf3\\xee\\xd3\\xe8\\x79\\xb1\\x84\\x1f\\x69\\xf1\\xf3\\x64\\x80\\x1c\\xd3\\x29\\x18\\x0d\\x8b\\x8d\\x1b\\xe3\\x9b\\xcf\\x23\\xcf\\x62\\x08\\x53\\x8e\\x05\\x36\\x09\\xb8\\x9a\\xb3\\x0b\\xfe\\x8b\\xae\\x02\\x85\\x7b\\xe0\\xbf\\xc2\\x73\\xda\\x9c\\xa9\\xfe\\x09\\xd1\\x95\\x1a\\x94\\xc1\\xf7\\x89\\xa1\\x8f\\xfe\\xd2\\x5e\\x23\\xa6\\x95\\x87\\xa0\\x67\\x5d\\x14\\xe7\\xa6\\xa7\\x7c\\xb0\\x1e\\xa7\\xf2\\xd4\\x31\\xba\\x2a\\xde\\xc0\\x30\\xde\\x1c\\x03\\x18\\x8d\\xc2\\xc3\\x55\\x27\\xce\\xed\\x77\\x72\\xf9\\x82\\x80\\x1d\\x8b\\x01\\x32\\x57\\xfc\\x83\\xa6\\x9a\\x94\\x22\\x8d\\x02\\x92\\x0b\\x13\\x7e\\x07\\x5e\\x7f\\xa7\\x5e\\x60\\xe3\\xcb\\xb7\\x96\\xdb\\x8f\\xfe\\x70\\xf6\\x40\\x39\\x1d\\xbf\\x07\\x30\\x5d\\x10\\x15\\x8c\\xa5\\x67\\xbc\\x38\\xe4\\x9a\\x35\\xfe\\x41\\xb3\\xce\\x5d\\xff\\x1b\\x82\\xe3\\x27\\x04\\x87\\x83\\x9c\\xd9\\x34\\xc2\\x51\\x28\\xc0\\xa1\\x06\\x6a\\x0c\\x87\\xf1\\x1f\\xe0\\xc0\\x44\\x00\\x2c\\xaf\\xc1\\x11\\xd6\\x12\\x48\\xac\\xe7\\x2f\\xf6\\xff\\x1e\\x30\\x80\\xea\\xf4\\x83\\x3a\\xa5\\xcd\\xea\\x36\\xc9\\xef\\x5c\\x78\\xff\\xbd\\x36\\xa0\\x7e\\xb3\\x5a\\x83\\xb4\\xd9\\x6b\\x74\\xa8\\x80\\x06\\xd7\\x0f\\xed\\xf5\\x3c\\x23\\x38\\x0a\\xe3\\x1e\\xfb\\xc2\\x00\\xc2\\x87\\x3f\\xb2\\x68\\xa2\\x1d\\x5e\\x14\\xab\\x64\\xab\\xf8\\x00\\x8d\\x52\\x29\\x53\\xa9\\x82\\xaa\\x78\\x15\\x63\\xa2\\x65\\xc2\\x8a\\xbb\\xe2\\x96\\x9b\\x96\\x62\\xc3\\xda\\x1e\\x39\\xd6\\x41\\x4b\\x42\\x22\\x3b\\x5d\\x91\\x2c\\x8c\\xde\\x42\\x5f\\xaf\\xf9\\xad\\x46\\x9e\\x57\\xe3\\x95\\xfe\\xa4\\x45\\xe4\\x95\\x75\\x27\\x99\\x17\\xb0\\x74\\xc2\\x14\\x75\\x8b\\x27\\xe9\\x9e\\x19\\xa9\\x05\\x77\\xe1\\x1e\\xda\\xe6\\xbc\\x42\\xdb\\xa6\\x8e\\x80\\xe7\\x80\\xfd\\xfc\\x23\\x19\\x9d\\xe3\\x3c\\x28\\x5d\\xb3\\xbc\\x4d\\x1e\\x52\\x8d\\xe3\\x93\\xc2\\xdb\\x17\\x01\\x09\\x48\\x25\\xb2\\x1d\\xdb\\xd0\\x1f\\x10\\xbe\\x4b\\xe2\\x7c\\x7c\\x69\\x39\\x5d\\xc8\\x9b\\x55\\x72\\xb9\\x44\\xa1\\xf0\\x2f\\x41\\xca\\xb7\\x11\\x48\\x8c\\xff\\x04\\xa3\\x25\\x44\\x1f\\x8c\\xbb\\x58\\x66\\xd0\\x2e\\x00\\xf1\\x15\\xce\\x1e\\xb6\\x21\\xf8\\x6a\\xae\\x15\\x9c\\x89\\x09\\xbe\\x16\\xa9\\x1d\\xba\\x7d\\xc0\\x5e\\x66\\x3f\\x5c\\x38\\x69\\xbe\\x34\\xf2\\x5a\\xb0\\xc7\\xb6\\x8e\\x77\\xe1\\x07\\x60\\xc5\\xbf\\x76\\x5d\\xe9\\xb1\\xb5\\x9f\\x27\\xf8\\x15\\x7a\\x2b\\xde\\x9d\\x12\\x65\\xbb\\xb2\\x2b\\x22\\x78\\xcd\\x1e\\x9c\\x89\\x81\\x61\\xfa\\x1e\\xe1\\x2d\\x1b\\xe1\\xcd\\x42\\xce\\xfd\\x03\\xbc\\xf4\\x52\\x7d\\x15\\x1f\\x2c\\xa5\\x11\\xe7\\x91\\xd2\\x52\\x9a\\x35\\x1b\\x95\\x16\\x1d\\x1b\\x5a\\xc5\\xb3\\x0c\\x45\\x78\\xb2\\xa0\\x40\\x93\\x6a\\x7c\\x8d\\x19\\x5d\\x68\\x3d\\xb1\\x33\\x39\\xc4\\x4b\\xdb\\x04\\x75\\x21\\x7a\\x01\\xad\\xc9\\x84\\x15\\xe9\\x43\\x2e\\x9f\\xad\\x01\\x55\\xe3\\x98\\x30\\xb8\\xc6\\xe3\\x98\\xae\\xc5\\xd9\\x74\\xa5\\x2d\\xb4\\xe6\\xdb\\x9a\\xc4\\x4e\\xc6\\xf4\\xb3\\x2d\\xfc\\x32\\x96\\x0d\\x3e\\xcb\\x8c\\xfb\\xe8\\x09\\x22\\xb6\\xab\\x74\\x98\\xf3\\xa0\\x0a\\xfe\\x51\\x50\\x86\\x31\\xd8\\x36\\xb6\\x55\\x5b\\x8c\\xdf\\x19\\x43\\x31\\x7e\\xdf\\x19\\xe6\\xfc\\x8a\\x69\\x03\\x42\\x04\\x7b\\x0b\\xe7\\xd6\\x20\\x7c\\x06\\x21\\x8d\\x18\\xc1\\x1e\\x44\\xab\\x11\\x3e\\x2d\\x06\\xb5\\xda\\xb3\\x84\\x57\\xab\\x15\\x5a\\x6d\\x48\\x09\\xd2\\x99\\x94\\x6a\\x5f\\x09\\x50\\x88\\xb2\\xed\\x15\\xc3\\xc6\\x8d\\x5c\\xd2\\x22\\x34\\x59\\x30\\xb9\\x84\\x89\\x08\\x85\\x5f\\x08\\x8e\\xe3\\x10\\xe8\\x34\\x3c\\x5c\\xb0\\x20\\x32\\xf8\\x48\\xa4\\x21\\x7a\\x5c\\x87\\x23\\xe7\\x8f\\x54\\x80\\xea\\x5a\\xfa\\x31\\x3c\\xe3\\x51\\x5d\\x23\\x89\\x3d\\x12\\xec\\xd9\\x3f\\x75\\xcf\\x73\\xb0\\xc2\\xf3\\xc6\\xae\\x2b\\x15\\x05\\x70\\x0c\\xe2\\x4b\\xde\\x04\\xdd\\xf3\\xc6\\xfa\\xb4\\xf8\\x6d\\x57\\x92\\x6d\\xba\\xc7\\x09\\xa0\\x15\\xce\\x51\\x4e\\xc1\\x2a\\xf6\\x4f\\xc9\\x47\\x54\\x11\\x55\\xe5\\x68\\x96\\xef\\x57\\xcd\\xe7\\xeb\\x5a\\xa4\\xa6\\xd8\\x1d\\x59\\xd6\\x50\\x2b\\xc2\\xb2\\xd5\\x6a\\xcc\\x6c\\x66\\x77\\xc4\\xc7\\x20\\xe8\\xaa\\x78\\x3b\\xab\\xd4\\x38\\xa4\\x9a\\x2a\\x5e\\x6a\\x74\\x18\\xe9\\x0a\\xde\\x78\\x10\\xb4\\xc5\\x8a\\x1e\\x6e\\xa2\\x4f\\x7e\\x9f\\x15\\x0e\\xd7\\xf0\\xb5\\xdd\\x95\\xd2\\x87\\x2f\\x70\\x15\\x21\\x5c\\x63\\x1f\\xc7\\x1b\\x08\\xa1\\x59\\x16\\xcc\\x6b\\x45\\xb5\\x1e\\xd1\\x39\\xc9\\xd8\\xc0\\x11\\x22\\x41\\xe2\\xe1\\xb5\\xce\\x8a\\xc4\\x7b\\x63\\x96\\x81\\x1a\\x08\\x18\\x20\\x27\\x66\\x8c\\x54\\x45\\x9f\\xed\\x19\\x3f\\x60\\xc4\\xe8\\xf4\\xe1\\x63\\xa5\\xf0\\x31\\x9b\\x1e\\x5c\\x5d\\x3b\\xa5\\xd5\\xf8\\xc5\\x6f\\x7d\\x71\\x7b\\xcb\\xdc\\xbc\\xb9\\x4b\\x52\\xa3\\x52\\x41\\x76\\xaf\\xb2\\x33\\xa3\\xff\\xde\\x04\\x6c\\x83\\x8e\\x75\\x5c\\x14\\x59\\x9e\\x51\\x19\\xdd\\x43\\xe9\\x6d\\x09\\xaa\\x9b\\xb2\\x70\\xff\\xda\\x11\\x33\\x9b\\x57\\x4e\\x7b\\x7f\\xd7\\x8a\\x9e\\x31\\x23\\xb3\\x02\\xc3\\x02\\x6b\\x87\\xd8\\x22\\x2c\\x2d\\x42\\x22\\x43\\x66\\x8c\\x98\\xb4\\xb2\\xd0\\xa0\\x8c\\x2d\\xce\\x2a\\xc8\\xf9\\xe9\\x7a\\xbb\\x8e\\x8f\\xd2\\x41\\x4a\\x26\\xe8\\x02\\x0f\\x5f\\xce\\x4c\\xcd\\x2b\\xf5\\x89\\xf9\\xd0\\xef\\x9d\\x81\\x8b\\xbf\\xb4\\x6a\\x67\\x0c\\xa8\\x9a\\x53\\xde\\x3c\\x48\\xa9\\x30\\xc7\\x91\\xda\\x0f\\x48\\xef\\x3f\\xc0\\xcd\\x47\\x38\\x1c\\xe8\\x48\\x6f\\x97\\xeb\\x68\\x9d\\x5b\\xc2\\x0f\\x6e\\x0d\\xa8\\xd6\\x9a\\xd6\\xb4\\x9c\\x69\\x5d\\xe0\\x88\\x55\\x2a\\x94\\x8a\\x22\\x5e\\xa9\\xf4\\x2b\\x28\\x68\\x59\\xc2\\x17\\x98\\x53\\xd8\\x22\\x3e\\xc5\\x68\\x0d\\x0e\\x0a\\xf7\\xf5\\x73\\xf8\\x78\\xf9\\xf9\\xe9\\x8b\\x78\\x3f\\xf1\\xd0\\x40\\xc0\\x1e\\x41\\x59\\xd3\\xf4\\x01\\x11\\x93\\x38\\x28\\x41\\x40\\x35\\xc2\\xa7\\x0b\\x73\\xb1\\xb8\\xa3\\xac\\xcb\\x4c\\xb4\\x91\\xd6\\xfb\\x6f\\xa2\\xce\\x28\\x9e\\x36\\x8a\\xc9\\x3b\\x78\\x21\\x84\\x90\\x71\\x71\\x1d\\x0c\\x5d\\x56\\xee\\x18\\xd7\\x27\\xc9\\xde\\xa7\\x36\\x64\\xdb\\x92\\xd6\\x99\\xf9\\xc3\\x0c\\xbf\\x16\\xfe\\x3d\\xec\\x44\\xe7\\x45\\x89\\x5d\\x5a\\xf4\\x89\\xab\\x52\\xfa\\x06\\x86\\x8e\\xe9\\xda\\x63\\xf9\\xf2\\xe1\\xe3\\x92\\xde\\xda\\xbe\\x79\\x6d\\x75\\xa2\\xbd\\x19\\xdf\\xb5\\x7b\\xf2\\x11\\xc9\\x03\\x90\\x61\\x6b\\x9b\\x5f\\xdd\\x66\\xd8\\xac\\x23\\x43\\x17\\x16\\xfb\\x19\\x22\\xda\\x24\\x46\\x27\\x18\\xf7\\x74\\xea\\xda\\x2c\\xb9\\x63\\x1b\\xaf\\x6b\\x19\\x20\\x1b\\x9e\\xf9\\x32\\x3b\\x39\\x9f\\xf7\\x8d\\x5d\\x65\\x1e\\xde\\x71\\xf0\\x3b\\x41\\xb4\\x62\\x50\\xa7\\xfc\\xe1\\x25\\x2d\\x7d\\xbc\\x1d\\xcd\\x03\\x23\\xfc\\x82\\xfd\\xbe\\xb5\\x46\\x68\\x53\\xd1\\xdf\\x49\\x44\\x1f\\x7c\\x4f\\xac\\x5d\\xe9\\x27\\xd4\\xae\\xc4\\x11\\x92\\x06\\x3d\\xb2\\x31\\x7c\\xb4\\x32\\x86\\x26\\xa1\\x0b\\x8d\\x51\\x87\\x2e\\x86\\x29\\x44\\x52\\x19\\x02\\x40\\xd3\\xd2\\x95\\xb4\\x45\\xa8\\x5c\\x39\\xa8\\x2e\\x8d\\xa6\\x1f\\x01\\x5d\\x54\\x14\\x29\\x5d\\x39\\xa0\\xd6\\xd2\\xf9\\x51\\xa7\\xde\\x30\\x57\\xa8\\x5c\\x59\\x71\\xf2\\x26\\x2e\\x5c\\x39\\xbf\\x26\\x16\\xd7\\xad\\x9c\\xbe\\x9e\\xd4\\xad\\xfc\\x0f\\x82\\x23\\x0d\\xad\\xeb\\x53\\xc2\\x1f\\x03\\x1d\\x6a\\x1f\\x4e\\xa7\\xa6\\xbc\\x15\\xde\\xa4\\xac\\x88\\xbc\\x69\\x60\\x86\\xfd\\xf5\\xb2\\x22\\x74\\x12\\xbe\\x90\\x0a\\x45\\x45\\x96\\xd6\\x0c\\x08\\x72\\x17\\x15\\x19\\xfe\\x76\\x21\\x1b\\xff\\x24\\x86\\x71\\xb4\\xdb\\x7d\\x7d\\x37\\x3d\\x7d\\x63\\x93\\xaa\\x22\\xa0\\xe3\\x7b\\xcb\\x7a\\xe0\\xaa\\x22\\x25\\x43\\x7a\\xd1\\xcc\\x6c\\x7c\\xde\\x2c\\xc6\\xd0\\x20\\x65\\x2f\\x80\\x8a\\xc1\\x95\\x20\\xfc\\xcd\\x11\\xe6\\x0a\\xde\\x12\\xe8\\x85\\xb8\\xa1\\xc1\\xcb\\x61\\x8b\\x88\\xa0\\x3c\\x3c\\xac\\xa4\\x52\\xb4\\xae\\x49\\xa5\\x68\\x57\\x8e\\xeb\\x99\\x26\\x39\\xae\\xdc\\xeb\\x05\\x74\\xd1\\x5e\\xc4\\x59\\x85\\xa4\\x8a\\x97\\xc4\\x9a\\x40\\xb8\\x77\\x30\\x83\\x93\\x8d\\x68\\xf0\\xe2\\xe2\\x4f\\x62\\xe6\\x7b\\xdf\\x03\\x0d\\x14\\xbc\\xb6\\xe7\\x54\\x55\\x42\\x54\\x44\\xdb\\x8c\\xb4\\x80\\xf8\\x2c\\x0f\\xb0\\x2b\\x36\\xc1\\x63\\xef\\xb7\\x55\\x19\\xf6\\xa8\\xb4\\xa4\\x16\\x86\\xfb\\x77\\x5d\\x99\\xf0\\x9b\\xe0\\x54\\xe8\\x9c\\x0e\\xee\\x41\\x90\\xe3\\x13\\x60\\x0d\\x08\\xb0\\xff\\x6c\\xce\\xb0\\xff\\x05\\x8f\\x05\\xa2\\x0b\\x72\\x7e\\x2e\\xfa\\x02\\x70\\x95\\x62\\x34\\x9f\\x0e\\x8e\\x48\\x8d\\x2a\\x42\\x55\\xc8\\xdb\\xa8\\x08\\x4d\\x44\\x50\\x04\\x5a\\xe7\\x08\\x5f\\x47\\x50\\x80\\x6f\\x40\\x21\\xef\\xed\\xeb\\x4b\\x49\\xa5\\xc6\\x42\\x5e\\xaa\\xa1\\x42\\x0b\\x5f\\x2f\\xc6\\x46\\xa6\\x24\\x6e\\x86\\x84\\xa6\\x95\\x89\\x48\\x06\\xbd\\x94\\xa6\\xf4\\x64\\x3a\\x64\\x37\\x60\\x03\\xc6\\x4b\\x1a\\x2c\\x16\\x52\\x49\\x21\\x33\\x06\\xcf\\xcf\\x5d\\x11\\xd2\\xe9\\xf5\\x89\\xf0\\x63\\x95\\x2d\\x56\\x56\\xcc\\xf7\\x99\\x16\\xde\\xcc\\xe6\\x68\\xe5\\xb8\\x66\\x4f\\x94\\x6c\\xee\\x33\\xd3\\x16\\x1d\\x12\\xdf\\x36\\x25\\xd1\\xf0\\xdd\\x71\\x21\\xb9\\xbe\\x43\\x2f\\xf8\\x27\\xfc\\x89\\xae\\x51\\x26\\x37\\xeb\\x55\\x3e\\xaa\\x4e\\x6d\\xb3\\x8d\\xd0\\xc4\\x47\\x9c\\x1d\\x35\\x59\\xe5\\xed\\xef\\x8d\\x69\\x76\\x1d\\xa2\\xd9\\x9d\\xc8\\x46\\xf3\\xa6\\x4c\\x0e\\x85\\xca\\x58\\xc1\\xeb\\x54\\x2c\\xcd\\x78\\x08\\xa5\\x56\\xc5\\x5a\\x16\\xa4\\x48\\xa3\\xc9\\x88\\x48\\xf3\\x95\\x82\\x16\\x34\\x0f\\x2f\\x2e\\x00\\xb1\\x71\\x2c\\x4b\\x67\\xb5\\x59\\x9b\\xbd\\x77\\x5a\\xd1\\xb8\\x94\\x9d\\x06\\xab\\x9f\\x5f\\x33\\x1b\\x92\\x3e\\xe3\\x12\\xf6\\x0e\\x30\\x7c\\xbb\\x12\\xd4\\xac\\x5d\\x98\\x5d\\xfc\\x6e\\x50\\x64\\x4a\\x21\\x25\\xc6\\xc4\\x72\\x93\\x11\\x2e\\x0d\\xf8\\x79\\x0a\\x6d\\x31\\xaf\\x56\\x68\\x68\\xb5\\xc4\\x95\\x0f\\xe0\\x7a\\x9e\\x97\\x29\\x13\\xe8\\x1b\\x73\\xb5\\xa4\\xf4\\x50\\xb8\\x67\\x0f\\x08\\x6d\\xe7\\xa1\\xf6\\xad\\xdc\\x52\\xfa\\xf1\\xac\\x81\\x03\\xde\\x8b\\x09\\x8d\\x69\\x89\\x6c\\x69\\xe7\\xc6\\xe6\\x5f\\xa4\\x1c\\x03\\xad\\xb7\\xcc\\xcd\\xfa\\xc1\\x3f\\xad\\x8d\\xab\\xc6\\xe9\\x4e\\xc9\\x61\\x5d\\x18\\x4b\\xea\\xd8\\xd3\\xe7\\xe8\\x40\\xea\\x09\\x39\\xf5\\x08\\x0d\\x6d\\x1a\\xeb\\x4c\\x60\\xc1\\xf5\\x35\\x58\\xab\\x38\\xce\\x87\\x12\\x4e\\x47\\x5c\\xe5\\x49\\x85\\x9a\\x2d\\xe0\\xff\\x31\\xf7\\xdf\\xf1\\x51\\x15\\xdf\\xff\\x38\\x7e\\xe7\\x96\\xed\\xbd\\x66\\xd3\\x93\\xcd\\x66\\x93\\x90\\x64\\x93\\x6c\\x92\\x4d\\x42\\xc9\\x52\\x02\\x81\\x10\\x48\\xa3\\x6c\\x20\\x24\\x41\\x3a\\x24\\x80\\x34\\xa9\\xa1\\x48\\x07\\x01\\x11\\x45\\x50\\x04\\x05\\x44\\x04\\xa5\\x77\\x02\\x28\\x22\\x4a\\x53\\x14\\x11\\x1b\\x22\\xcd\\x82\\x28\\x11\\x45\\x81\\x9d\\xfc\\x66\\xe6\\xde\\xdd\\x6c\\x00\\x7d\\x7d\\x1e\\xbf\\xf7\\x3f\\x5f\\x79\\xb8\\xd9\\x6c\\xf6\\xce\\x9c\\x39\\x73\\xe6\\xcc\\x39\\x33\\xe7\\x3c\\x0f\\xf2\\xa1\\xed\\x04\\x9b\\x21\\x02\\xcd\\x3f\\xf2\\xb6\\x54\\x72\\x89\\xc3\\x62\\xaf\\xf4\\x58\\xf4\\xba\\x48\\xc4\\x31\\x56\\x21\\x55\\x53\\x5c\\xff\\xc0\\xa3\\x31\\xbf\\x17\\x4b\\xae\\x16\\xfd\\x91\\xcf\\x4e\\x86\\xe4\\x1c\\x33\\x3e\\x77\\x95\\xb8\\xaa\\xe6\\x26\\x40\\x68\\x0c\\x0c\\xdb\\x2b\\x27\\xdd\\x9e\\x6a\\x0a\\xcf\\xca\\x54\\x7d\\x98\\xf5\\xc3\\x07\\xb0\\xb6\\xa8\\x5b\\x9f\\xb3\\x4f\\xd5\\x4e\\x39\\x33\\x6b\\x40\\xed\\x94\\xb3\\x3d\\x5a\\xf5\\x6f\\x6b\\x0b\\xc6\\x2f\\xb0\\x97\\xee\\xb4\\xb6\\xd7\\x52\\xd6\\xe1\\x55\\xd1\\x0d\\x0f\\x76\\x7d\\x39\\x27\\x5b\\xcc\\x5c\\xa8\\x87\\xbf\\x41\\xdb\\x6f\\x5f\\x1c\\x06\\x5a\\xf0\\xd5\\xef\\x3f\\x1e\\x82\\x8b\\xb7\\xf5\\xab\\x3e\\x04\\xc6\\xa0\\x57\\x3c\\x8e\\x38\\x34\\x0e\\x19\\x91\\x63\\x0b\\xd5\\x82\\x4a\\x73\\x07\\xc7\\xd9\\xa2\\x93\\x62\\xad\\xea\\xe0\\x88\\x52\\x4f\\x68\\x70\\x88\\x5c\\x43\\xb0\\x1e\\x4c\\x4d\\xc9\\x11\\xbc\\x47\\x84\\x5f\\x7c\\xe0\\x9d\\x3c\\xd1\\xe9\\x3a\\xbe\\xcc\\x4c\\x53\\x4c\\x87\\xfe\\xd1\\x21\\xd2\\x73\\x46\\xef\\xa9\\xed\\x5b\\x33\\x6a\\xcf\\x88\\xaa\\x11\\xbb\\x5a\\x27\\xf4\\xc8\\xc9\\x49\\xf0\\x64\\x0f\\x79\\x7c\\x68\\x74\\xc3\\x67\\x70\\xd9\\xf1\\xe3\\x6f\\x7e\\x04\\x86\\x1d\\x3f\\xfc\\xc2\\xd2\\x6d\\xf0\\xd7\\x05\\x2f\\xec\\x00\\x61\\x0f\\xbe\\x79\\x74\\x74\\x18\\x23\\xa3\\x71\\x01\\xd2\\x2b\\x87\\x28\\x33\\xa2\\x1e\\xd9\\x7d\\xe1\\xa1\\xc1\\x48\\x1a\\x3c\\x88\\xf9\\x4c\\x5c\\x6c\\x0c\\x13\\x53\\xe5\\x31\\x52\\x8c\\xae\\xa9\\x50\\x57\\xae\\x3f\\xbe\\x1b\\x5f\\x35\\xc7\\xe2\\xe8\\x09\\x3e\\x71\\xca\\x6c\\xc2\\xf1\\x29\\x68\\x43\\x01\\xe9\\xf8\\xbc\\xc0\\x4e\\x80\\x8b\\x70\\xe5\\x1c\\x73\\x1b\\xa0\\x03\\x37\\xda\\xf6\\x51\\xdf\\x99\\xf4\\xcd\\xcb\\x71\\x93\\x72\\x73\\xcb\\xd5\\xf7\\x26\\x7f\\xbb\\xda\\x3a\\x11\\x3c\\x95\\xd1\\xbe\\x5b\\x41\\x4a\\x9b\\x7e\\x39\\xe9\\x79\\x5d\\x0a\\x52\\x72\\xfb\\xb5\\x1a\\x9f\\x9f\\xdd\\x07\\x94\\xec\\x01\\xab\\x00\\x9d\\xda\\xba\\x43\\xa7\\xac\\x1e\\x70\\xeb\\x1e\\x38\\x00\\x3e\\x4c\\xcf\\xce\\x67\\x1a\\x66\\xb7\\x4e\\x4e\\x49\\x3d\\x02\\xaf\\x56\\xcf\\x77\\x27\\xa5\\xa4\\xbe\\x07\\xc2\\x05\\x6c\\x8d\\xc6\\x15\\x48\\x8f\\xbc\\x80\\xe8\\x8f\\xc7\\xf4\\x87\\x06\\x87\\xab\\xc3\\x4b\\x3c\\x46\\x9d\\x5a\\x6d\\xb7\\x59\\xa5\\xd6\\x12\\x8f\\x88\\x91\\x1a\\x9f\\x44\\x3f\\xd0\\xd0\\x42\\x85\\xe0\\x64\\x90\\xa1\\xa1\\x84\\x51\\x84\\x03\\xce\\x47\\xbf\\x9f\\x7c\\xf6\\xd9\\xfb\\xd7\\x22\\x07\\x65\\x65\\x17\\xaa\\xa6\\x2d\\x00\\xcc\\x0f\\x91\\x15\\xce\\xd4\\xce\\xba\\xb9\\x4b\\xe1\\xd7\\x2d\\x3a\\xf6\\x2c\\x6b\\xd1\\xa7\\x30\\xb5\\x5d\\x61\\xb7\\x84\\xea\\x1e\\xf4\\x3b\\xf0\\x1e\\x5c\\x91\\x93\\xd2\\xb2\\x65\\x4a\\xd4\\x85\\xf5\\x40\\x0c\\x86\\x38\\xe3\\x52\\x1c\\xb1\\x61\\x67\\x36\\xcf\\x71\\xb4\\xcb\\xed\\x78\\x65\\xed\\x12\\xa7\\xcb\\xe5\\xfe\\x15\\xc9\\x4c\\x7a\\xe3\\x2d\\x2e\\x53\\xfc\\x23\\xf2\\x3e\\x22\\x90\\x9d\\xd0\\xc1\\x1d\\x9d\\xd0\\xb9\\x7d\\xe7\\x4a\\x4f\\x52\\xc7\\x8e\\xc1\\x21\\xed\\xc5\\x2a\\xb7\\x11\\x00\\x79\\xaa\\xa9\\x3d\\x6b\\x8d\\xec\\xde\\xaa\\x7b\\xa5\\x27\\x27\\xab\\x95\\x3e\\x60\\x04\\x27\\x9c\\x5f\\xa4\\x69\\xb1\\x42\\xd7\\x9c\\x48\\x6b\\x82\\x9b\\xe6\\x07\\xe2\\x2f\\x8c\\x83\\x81\\xe2\\xcc\\x00\\xed\\x44\\xb8\\x8a\\xaf\\x00\\x50\\xfb\\x3f\\x0f\\x77\\xc4\\xbe\\x13\\x21\\xf4\\x5d\\xce\\xa0\\xeb\\x34\\x39\\xaf\\xd3\\x98\\xb6\\x03\\xc6\\x1b\\x76\\x44\\xdd\\x59\\xdd\\x61\\x5a\\x49\\x56\\xcf\\xfc\\x5c\\x6f\\x65\\x58\\xa2\\x64\\x58\\xd4\\x8d\\x10\\x73\\xce\\xf9\\xe4\\xb2\\x84\\xff\\x3a\\xfc\\x59\\xc7\\x9f\\x14\\x65\\x25\\x56\\x8b\\x86\\xa4\\x67\\xb7\\x4c\\x1b\\x33\\xf8\\xad\\x8b\\xc9\\x99\\xb1\\x49\\x26\\x16\\x0e\\xb0\\x56\\xc4\\x6f\\x59\\x34\\xae\\xec\\xc1\\x9f\\x5d\\x4a\\xff\\xeb\\x48\\x68\\x39\\x7f\\x7c\\x74\\xa4\\x33\\xb9\\xa7\\xa2\\x52\\x10\\xdf\\x58\\xd1\\xcf\\x14\\xc6\\x59\\xee\\x48\\xe5\\xba\\x23\\x92\\x33\\x5a\\xc5\\xc5\\xa5\\xb5\\x6d\\x27\\x75\\x87\\xc9\\xa4\\xb2\\x12\\x4f\\xc7\\x70\\xa9\\xc6\\xa4\\xd7\\xd0\\x9a\\x12\\x8f\\x8d\\xa2\\x4d\\x81\\xd3\\x7e\\x42\\xd8\\x27\\x4e\\xa7\\xe1\\xca\\x95\\xb8\\xb8\\x91\\xcd\\xbf\\xec\\xc4\\xfe\\xca\\x29\\xfe\\x00\\x65\\xbe\\xa2\\x15\\x66\\xd0\\xff\\xe0\\x2c\\xcd\\xf5\\xaa\\x7c\\x76\\xf5\\xfc\\xbf\\x5f\\x4e\\xca\\x9b\\xd2\\x69\\x84\\xbd\\xb0\\x75\\x82\\x3b\\x2e\\x67\\x4c\\x87\\xf6\\xed\\x92\\x56\\xbe\\x39\\xe7\\xe7\\x79\\x55\\xf4\\x9a\\xff\\xc5\\xc7\\x16\\xb9\\x97\\xea\\x4f\\x83\\xce\\x7b\\x6e\\x4c\\xfd\\x66\\xc9\\x31\\x5b\\x6a\\x4a\\xec\\xdc\\xcb\\x73\\x06\\xf7\\xbc\\xf1\\xd5\\xb1\\x63\\x70\\xcf\\x21\\x6e\\xda\\xbf\\xb0\\x0e\\xeb\\xda\\x1c\\xc4\\x0f\\x95\\x68\\x82\\x26\\x96\\xd5\\x88\\x70\\xfc\\xf1\\x7d\\xfa\\x0d\\x10\\x84\\x4f\\x22\\x33\\x33\\xfd\\x79\\x08\\xe4\\x3c\\x8d\\xab\\x44\\xfa\\x58\\x4b\\xf1\\xdf\\x29\\xe1\\xcf\\xee\\x6d\\x36\\xff\\xd9\\xfd\\x4c\\x64\\xdb\\x78\\x91\\x2e\\x36\\xe3\\xd8\\x06\\x61\\xbf\\x92\\x30\\x38\\xd6\\x51\\x1c\\xe2\\x73\\xab\\xfc\\x67\\x38\\x3c\\x42\\x0d\\xc9\\x29\\xe4\\x81\\x61\\x68\\xb0\\x7d\\xc8\\xb0\\x4e\\x6d\\xa7\\xc3\\x4b\\x25\\x2f\\xae\\x01\\x93\\x41\\xdf\\xfd\\x9f\\x9b\\xe1\\x55\\x69\\x79\\xe1\\x8e\\x33\\xb4\\x74\\xf9\\xeb\\x66\\xef\\x08\\xb0\\x31\\xe6\\xe1\\x19\\xf0\\x06\\x38\\x73\\xfc\\x58\\xbb\\x61\\xe3\\xe0\\x16\\xbc\\x67\\xe1\\x1c\\xb6\\x97\\x08\\xa6\\x34\\xea\\x53\\xa2\\x2d\\xf2\\x28\\x25\\x1a\\x60\\x2e\\xf2\\xa0\\x4d\\xab\\x59\\x9f\\x4d\\x30\\x34\\xbe\\x2a\\x37\\xb4\\x0f\\x88\\xa6\\x77\\xf1\\xd2\\x97\\xd7\\x00\\xdb\\x7b\\x87\\xbe\\xc0\\xe5\\x6d\\x96\\xbd\\x5a\\xd5\\xb3\\xb0\\xf5\\x24\\xd8\\x0b\\xac\\x0d\\xbd\\xf8\\xf6\\x27\\x4d\\x65\\x6d\\xe0\\x3f\\x17\\xa6\\x4e\\x35\\x79\\x17\\xf0\\xe7\\x8b\\x68\\x83\\x66\\xff\\xe2\\x4e\\x23\\xfb\\x48\\xb6\\x53\\x4b\\xe1\\x68\\x4e\\x1c\\x05\\x2d\\xb6\\x89\\x39\\xb1\\x0d\\xd9\\x6b\\x36\\x17\\xe7\\x42\\xff\\x23\\x8d\\xcb\\xfe\\xd5\\x17\\x3e\\xd7\\x1f\\x8c\\xae\\x80\\x4b\\xd6\\xfe\\x73\\x10\\x2e\\xee\\x0b\\xc6\\xf6\\xc7\\xaf\\x63\\x0e\\xdf\\xff\\x92\\x99\\x7f\\xb1\\xfa\\x62\\xf5\\x97\\xd5\\xf0\\x15\\xb0\\x0e\\xfd\\xc0\\xbf\\x80\\x0d\\x30\\x1c\\xfb\\x50\\x36\\xb6\\x9c\\x06\\xa8\\x7d\\x03\\xa9\\x3a\\xc7\\xea\\x8e\\x72\\x62\\xa1\\xd2\\xae\\x50\\xf1\\x2c\\xca\\x97\\x52\\xea\\x8c\\x22\\xfe\\x0f\\x0d\\x7a\\xb4\\x81\\x5b\\x65\\x45\\x59\\x09\\x39\\x65\\x6e\\x50\\x2a\\x89\\xcb\\x8d\\x4e\\xc8\\xe1\\x06\\x67\\xf7\\x68\\xd3\\x36\\x2d\\x25\\xb7\\xc4\\xe1\\x0c\\xc3\\xf5\\xd3\\x1a\\xe3\\xd8\\x93\\xa0\\x81\\xbb\\x4a\\xda\\x95\\xca\\x64\\x8c\\x66\\x3a\\x5f\\xa5\\x9c\\x6f\\x97\\x37\\xdc\\x49\\x54\\xbd\\x60\\xcb\\x83\\x19\\xa0\\xd6\\xde\\xf3\\xa9\\xda\\xdc\\xca\\x98\\x41\\x19\\xd5\\x7d\\xfa\\x38\\x3e\\x90\\xb0\\x27\\xcd\\x35\\xf1\\x69\\xf1\\xfb\\x23\\x62\\x22\\x0e\\x25\\x3a\\x11\\x2f\\xc2\\xd8\\x52\\x90\\x46\\xf0\\x9e\\x49\\x6d\\x52\\xbe\\xdc\\x36\\x76\\x98\\xc5\\x56\\xb1\\xc1\\x6c\\x25\\x90\\x78\\xad\\xff\\x8c\\x1b\\xc1\\xb8\\xe7\\x47\\x98\\x24\\xdc\\xe9\\x73\\x96\\x9c\\x5e\\x69\\x5d\\x52\\xac\\x89\\xe8\\x59\\x5a\\x78\\x56\\x8a\\xab\\xa8\\x8a\\x48\\xbd\\x7b\\x7f\\x65\\x59\\x52\\x38\\x7c\\xa1\\x50\\x38\\x5c\\x5b\\xc8\\x96\\xe2\\xc2\\xe1\\xbd\\xf8\\xda\\x77\\xb5\\x5c\\x2d\\xc3\\x89\\x6e\\xa3\\x71\\x68\\x76\\x8b\\x55\\xd3\\x0d\\x72\\x40\\xca\\x86\\xf3\\x95\\x5b\\x9b\\x56\\x1a\\x39\\x85\\x43\\xda\\xd8\\x4c\\x5f\\x35\\x79\\xd6\\x55\\xf5\\x9f\\xd7\\x65\\xea\\x73\\x86\\x1d\\xd1\\x40\\xbf\\xbf\\xeb\\xaa\\xe1\\x43\\x5f\\xea\\xcd\\xd5\\x3a\\x73\\x5a\\xa5\\x8e\\x19\\xbc\\xf9\\x8b\\x24\\x57\\xa6\\x93\\xc5\\x73\\x2b\\x79\\x68\\x83\\x9b\\x99\\xaf\\xb9\\xbd\\xb8\\xa6\\x39\\xc1\\x50\\x4c\\xa5\\x5a\\x52\\x79\\x54\\x77\\x6a\\xa5\\x5b\\xd9\\xaa\\x6d\\xfb\\x8e\\xd6\\xf0\\x82\\x42\\x77\\x64\\x7e\\x61\\x3e\\x2e\\x55\\xa9\\xf4\\xd8\\x0a\\xd3\\xd4\\x32\\x57\\xb6\\x5b\\x91\\x9e\\x9d\\xce\\x7f\\xa2\\xcd\\x8e\\xe3\\xa8\\x24\\x87\\x9b\\x4e\\x70\\x24\\xe0\\x4f\\x54\\x1e\\xb1\\xa3\\x30\\xdb\\xe1\\xc8\\x2e\\x64\\xda\\x87\\xb4\\x6f\\x83\\x3e\\xda\\xeb\\x69\\x6f\\xb0\\x84\\xb8\\x43\\x4c\\xe8\\xfd\\x76\\x4f\\x08\\xe5\\x20\\xee\\x17\\xd2\\x29\\x3c\\x70\\x51\\x90\\xc3\\x77\\x1e\\x4c\\x3e\\xc5\\xf5\\xc0\\xff\\xed\\x17\\x0d\\xa9\\x37\\x86\\xa6\\xcd\\x68\\xd5\\xa0\\x09\\xd3\\xfb\\xdf\\x81\\xff\\x7c\\xc7\\x3c\\xe1\\x33\\x9b\\xff\\x1d\\xfd\\xf0\\xe9\\xa7\\x07\\x5f\\xba\\xa4\\x25\\xaf\\x0f\\x17\\x93\\x1f\\x74\\x12\\xf9\\x71\\x7f\\x36\\xf9\\x71\\x99\\xff\\x6c\\x19\\xf9\\xe1\\xb5\\x90\\x1f\\xcc\\xf1\\x15\\x2b\\x70\\x19\\x2f\\x11\\xf9\\x41\\xdf\\x26\\x3f\\xee\\xdf\\x20\\x3f\\xd8\\xd8\\xc0\\xbf\\x3d\\xfc\\x9e\\xfc\\xb8\\x4b\\x5e\\x79\\x9e\\x0f\\x87\\x33\\x98\\xd7\\xb8\\x9b\\x8f\\xf1\\xbc\\xbf\\x3b\\x5d\\x22\\x75\\xb7\\x4f\\x72\\x38\\xe2\\x2c\\xa1\\xc6\\x50\\xab\\xcd\\x16\\xde\\xbd\\xd0\\x95\\x93\\x96\\x23\\xd3\\x4a\\xdb\\xe7\\xc5\\x85\\x84\\x86\\x67\\x17\\xe6\\x74\\xd1\\x6a\\xbb\\xe4\\x14\\x66\\x87\\x87\\x86\\xc4\\xe5\\xb5\\x97\\x2a\\x38\\x35\\x47\\x39\\x1c\\x8f\\x14\\x02\\xc5\\x25\\xf9\\x34\\x27\\xc8\\xeb\\x59\\xfe\\x1d\\xfe\\x49\\xca\\xf4\\x91\\x63\\x90\\xcc\\x0c\\x6b\\x86\\x96\\x54\\x87\\x17\\x19\\x9d\\x46\\x22\\x43\\x19\\x26\\x67\\x86\\xd3\\x86\\x05\\xc8\\x18\\x6b\\x35\\x5a\\x19\\x2c\\x47\\xe2\\x58\\xbb\\xd8\\x8e\\x81\\x09\\x90\\x4d\\x65\\x76\\x99\\x19\\x24\\xa1\\xd8\\x3b\\xb6\\xbb\\xb0\\xfd\\xe2\\x32\\x8b\\xc4\\x66\\x71\\x5e\\x70\\xe8\\x80\\x76\\x05\\xe4\\xc5\\x3b\\x6c\\x52\\x87\\x8a\\xf8\\xde\\xc5\\xab\\xd9\\x2d\\xc2\\x9b\\xd6\\x3d\\x53\\x1c\\xb2\\x4e\\xea\\xec\\x8c\\xda\\x87\\x79\\xe8\\xad\\xb4\\x23\\x7a\\x3b\\x52\\xd1\\x33\\xb5\\x34\\xb5\\xd3\\x88\\x9c\\x8c\\x5a\\xe6\\xb3\\x9e\\x29\\x65\\xa9\\x9d\\x6a\\xb3\\x33\\x6a\\x5a\\x92\\x27\\x8a\\x5e\\x61\\xbf\\x13\\xde\\x78\\x43\\x49\\x9b\\xe9\\xe4\\x15\\xde\\xeb\\x85\\xbe\\xd8\\xb1\\x26\\x0b\\x3d\\x23\\x26\\xcf\\xd4\\xe0\\x36\\xdb\\xf0\\xcd\\xe3\\x96\\xe6\\xf5\\x4c\\x4d\\xc6\\x3d\\x65\\xd6\\x60\\xfb\\x26\\x02\\x0e\\xc1\\x39\\x26\\xc8\\x4e\\x8e\\xa1\\x5a\\xec\\x51\\x48\\x90\\x6d\\xa6\\x93\\xe3\\x50\\x1d\\x75\\xa4\\xda\\x1c\\x61\\xa6\\xcd\\x3a\\x8d\\x08\\x30\\x9c\\xaf\\xfa\\xce\\x77\\x67\\x2a\\xd2\\x72\\x85\\x62\\x4e\\x24\\xab\\x85\\x71\\x02\\xe4\\x12\\xeb\\x33\\x5d\\x52\\x10\\xe9\\x00\\xe9\\x68\\x69\\xf2\\xe8\\xac\\xb8\\x3e\\x2e\\xce\\x75\\xa1\\x67\\x05\\x77\\xc6\\xb9\\x2e\\x17\\x27\\xc2\\x57\\xee\\xff\\x92\\x39\\x3d\\x2a\\xd7\\x7b\\x08\\xac\\x84\\x7b\\x82\\x58\\xd1\\xf7\\x4c\\xbb\\xbe\\x85\\x5d\\x92\\x55\\xdf\\x5b\\x86\\x1f\\xc0\\x19\\x30\\xb3\\x7e\\x66\\x95\\x0f\\xde\\xf5\\x8e\\x05\\x2b\\xe9\\xa5\\xaf\\x7e\\xf0\\x50\\xc5\\xcd\\xd9\\xea\\x88\\xb6\\x25\\xb6\\x4a\\x0e\\x75\\xe7\\xd4\\x3e\\xd3\\x9a\\xb7\\xc7\\xf0\\xbd\\xd7\\x4e\\xee\\x7d\\x1c\\x09\\x4a\\xa5\\xbb\\x83\\xa3\\xd4\\x41\\x11\\x41\\xb4\\x94\\x09\\x0a\\xd3\\xbb\\xd5\\xac\\x4e\\xcd\\x68\\x8d\\x04\\xfe\\xd7\\x28\\x25\\xc7\\x45\\xbe\\x40\\x03\\x67\\xf0\\x77\\x69\\xc4\\x83\\x23\\x30\\xc0\\x4d\\x64\\x13\\x58\\x7b\\xbd\\xed\\x31\\xca\\xc1\\xfd\\x0a\\x9b\\x1d\\x07\\x12\\x6e\\xad\\x83\\xbb\\xee\\x34\\x54\\x0c\\x95\\x25\\xc8\\x49\\x34\\x21\\xb8\\x03\\x77\\x9b\\x19\\xd1\\xf7\\x6c\\xbb\\x0a\\x42\\x7a\\xf0\\x88\\x7a\\x1c\\x60\\xb8\\x79\\x1c\\xfd\\x80\\x8f\\x4f\\xa2\\x43\\x53\\x97\\x87\\xe0\\x20\\xc3\\x41\\x5b\\x93\\xa3\\x63\\x93\\xb3\\x1d\\x61\\x6d\\xb3\\x46\\x4e\\x68\\xed\\x8f\\x37\\x59\\x27\\xdc\\xff\\x38\\xdc\\x16\\x8d\\xb9\\xd2\\xa3\\x16\\x4b\\xc4\\xc5\\x78\\x6f\\x42\\xff\\x38\\x19\\xc3\\x05\\x55\\x7a\\x38\\x7f\\xe0\\x7b\\x76\\xc0\\xed\\x0f\\x10\\x6e\\x7c\\x5c\\xbe\\x5b\\x20\\x92\\x73\\xcf\\xdf\\xfe\\xb0\\xeb\\xf0\\x95\\x8f\\xf7\\x6a\\xfd\\x38\\xeb\\x38\\x1b\\xb0\\xdb\\xa6\\x5a\\xa7\\x46\\x00\\xd3\\xd9\\x8b\\xf0\\xdc\\x5f\\x47\\x3b\\x9e\\x58\\xff\\x3c\\xb8\\x8d\\xaf\\x7e\\x3e\\xdf\\x76\\xec\\xd8\\xb6\\xd7\\x37\\x9d\\x6d\\xba\\xff\\xc1\\xf7\\x97\\x63\\x9b\\xee\\x7f\\xb4\\xc1\\xc5\\x1e\\x8d\\x44\\x2a\\x29\\xf6\\xa8\\xa4\\x5a\\xf4\\x4f\\x24\\xa7\\x44\\xba\\x62\\x8f\\xc8\\xf8\\x44\\x7a\\x84\\x6b\\x1f\\x3f\\x41\\x72\\xff\\xfd\\x0f\\x7d\\x16\\x6c\\xc4\\x77\\x3e\\xde\\x0b\\xd7\\xa6\\x46\\x4d\\x0d\\x01\\xc1\\x21\\x8b\\xa2\\x16\\x0d\\xea\\xfb\\xf9\\xb2\\x05\\xc3\\xc6\\x5f\\xa0\\xe7\\xe2\\x5b\\x1f\\xf6\\xa5\\xcd\\x0b\\x17\\x6e\\xf6\\xfe\\x0e\\xe3\\x7a\\x54\\xe1\\xbb\\x1f\\xda\\x97\\x6f\\x43\\xa9\\xa8\\x50\\x2a\\xc2\\xad\\x31\\x48\\x2a\\x3d\\x06\\x83\\x4c\\x2e\\xd7\\xe3\\xc4\\x08\\x59\\x00\\x2e\\x1a\\xe1\\x05\\xae\\xce\\x29\\xc2\\x50\\x12\\x80\\xb0\\x81\\xcf\\x87\\x20\\xc5\\x3a\\x33\\xd9\\x53\\x2f\\xf4\\xd8\\x37\\x68\\xdc\\xb2\\x0f\\x2a\\x08\\x3a\\xcf\\xf7\\xdf\\xfc\\x0c\\x3f\\x1d\\x33\\x7a\\x65\\xf1\\xda\\xcc\\xe4\\x91\\xfb\\x47\\x88\\x94\\xcc\\x6f\\x1f\\xbe\\x32\\xec\\xa5\\x69\\x49\\x30\\x86\\xcb\\xdb\\xfa\\x45\\x8f\\xce\\xb0\\x52\\xb6\\xe0\\xa5\\xb9\\xca\\x10\\x8a\\xf6\\xc5\\xf9\\x21\\x3d\\xe3\\xc0\\xa8\\xd2\\x61\\xea\\xe0\\x10\\x33\\xab\\x97\\xe8\\xa3\\x8a\\x3c\\x7a\\x93\\x24\\xb1\\xc8\\x23\\xd1\\x3c\\x56\\x87\\x82\\x1c\\x77\\xf9\\x03\\x58\\x08\\x5d\\x3e\\xc8\\x70\\xb4\\x28\\x48\\x0c\\x0b\\xa6\\x4b\\x08\\x94\\xc5\\xd5\\x6c\\x54\\x1c\\xeb\\xde\\x33\\xe2\\xb9\\x55\\x15\\xbd\\x47\\xbd\\xf1\\x74\\x59\\xe5\\x88\\x45\\x26\\x5a\\x39\\x10\\xde\\xbc\\xa7\\x36\\xbf\\x51\\xda\\x39\\x23\\xb9\\xf6\\x8d\\xc2\\xd0\\x98\\x82\\xfc\\xee\\x0b\\xcb\\xd8\\x1c\\x89\\x69\\x7c\\x68\\xbf\\xc1\\x5f\\x1e\\x5e\\x04\\xbf\\x1f\\xbd\\x70\\xc1\\xa2\\xb8\\x01\\x7d\\xba\\x78\\xff\\x62\\xef\\x15\\xbe\\xe6\\x1d\\x34\\xbe\\x2e\\x74\\xfe\\x82\\xea\\xfc\\x6d\\x69\\x63\\x26\\x3e\\xf3\\x2d\\xda\\x2f\\xfb\\x52\\x80\\xf3\\xa0\\x75\\x2c\\xa6\\x74\\x6e\\xa9\\x18\\x57\\x64\\x13\\x33\\x58\\x92\\x72\\xcf\\x12\\x2b\\x87\\x3f\\xda\\x65\\x83\\xf3\\xee\\x8f\\xf6\\x8e\\x13\\x4a\\x3a\\x81\\x01\\xde\\x7d\\xa4\\xaa\\x93\\x0f\\xbb\\xef\\x2c\\x77\\xde\\xf7\\x7c\\x91\\x87\\x16\\xab\\x71\\x54\\x75\\xee\\xe9\\xa6\\xe7\\xf5\\xcc\\xfc\\xa2\\x3f\\xc7\\x79\\xaf\\xf1\\x31\\x92\\x60\\xa5\\x77\\xb3\\x10\\x23\\x89\\x9e\\x77\\xa0\\xfe\\x4d\\x24\\xbf\\x25\\xd6\\xad\\x17\\xc9\\xe4\\xb2\\xfe\\x1e\\x56\\x2e\\x97\\x28\\x95\\x74\\xa5\\x47\\xc9\\x48\\x02\\x26\\xd0\\xe7\\x51\\xf8\\x6a\\xc1\\x61\\x11\\xd2\\x73\\xa6\\x24\\x6f\\x55\\x7b\\xd0\\xd2\\x0e\\x3f\\x18\\x09\\x2f\\x8d\\x9c\\x6f\\x9f\\x3f\\x0a\\xe3\\xda\\x6d\\x38\\xe9\\x7d\\x9f\\x6e\\x7d\\x92\\xce\\x25\\x7d\\x54\\x08\\xb1\\xe3\\xfe\\x3e\\x8a\\x7c\\x7d\\x20\\xf3\\x4e\\x2d\\x31\\x3e\\xb1\\x0f\\x24\\x9a\\x42\\x1f\\x24\\xb4\\x3c\\xf3\\xb0\\xed\\x70\\x09\\xbc\\x51\\x52\\x67\\xab\\xeb\\xc3\\xe6\\xd4\\xc3\\x9f\\x8f\\x40\\x0f\\x78\\xf3\\x08\\xf8\\x3c\\x20\\x37\\x2a\\x92\\x4a\\x72\\x07\\x49\\x42\\x2a\\x3d\\x6c\\xa4\\x44\\x42\\x45\\xea\\xd4\\xc6\\x6a\\x8f\\x5e\\x1d\\x42\\xe1\\x9b\\x70\\x7f\\x49\\x30\\x3e\\x35\\x85\\x24\\xc5\\x93\\x14\\x55\\xe1\\xb0\\x99\\xc7\\xc9\\xc0\\x7e\\xb5\\x4e\\xeb\\x0b\\xa5\\x01\\x76\\x66\\x51\\xa2\\x77\\x75\\xcb\\x6e\\x9d\\x4b\\x9d\\x9b\\xf6\\x6f\\x86\\x67\\x0f\\x4f\\x3f\\xd2\\xfa\\x5c\\xcb\\x71\\x9b\\x8f\\x16\\xf7\\x6c\\xdd\\xdf\\x35\\x16\\x5e\\x22\\x49\\xab\\xf6\\x20\\xf5\\x2f\\xdf\\x41\\x38\\xfe\\xcb\\xa2\\xa7\\xa6\\x94\\x81\\x02\\x60\\x9d\\x31\\xd1\\x16\\xe5\\xdd\\xc2\\xf3\\x37\\x1c\\xd1\\x96\\x80\\xc6\\x1e\\x81\\x69\\x0b\\xd3\\x96\\x78\\x42\\xc2\\xc2\\x4c\\x66\\x73\\x70\\x89\\xc7\\xac\\x36\\x19\\x59\\x79\\xa9\\x47\\x82\\x11\\xfe\\x9c\\x4d\\x38\\x51\\x41\\x0e\\x4c\\x9b\\xcd\\x47\\x91\\xcf\\xf5\\x10\\xa2\\x7b\\x30\\xc9\\x04\\x04\\x26\\x61\\x25\\xbc\\x7e\\xf0\\xe5\\x63\\xae\\x6f\\x13\\x2a\\xda\\x55\\xcc\\x2b\\xd8\\x92\\x33\\x2d\\xa2\\x23\\x9a\\x5f\\xc6\\x94\\x04\\xd9\\xcc\\x67\\xea\\x0e\\x9f\\xfb\\xf2\\x10\\xfc\\xea\\xb5\\xb2\\x5e\\x93\\xd2\\x62\\xca\\xeb\\x67\\x7c\\x62\\x51\\xc3\\x97\\xd9\\x9c\\x9f\\xe1\\x2f\\x71\\xe7\\xf8\\x5c\\x55\\x38\\x84\\xe4\\xaa\\xda\\xa9\\x9c\\xfd\\x54\\x2c\\xda\\x37\\x42\\x01\\x2b\\x53\\x46\\x73\\x62\\x93\\xb8\\xbf\\xc7\\x62\\x32\\x51\\x61\\x66\\x2d\\x23\\x52\\xe8\\x28\\x6b\\x95\\xbf\\x3c\\x60\\x40\\x3d\\x20\\xb3\\x13\\x67\\x09\\xf2\\x89\\x88\\xd6\\xff\\x4c\\x54\\x25\\x31\\xfc\\x95\\x24\\x09\\xf5\\xf2\\x63\\xc9\\xaa\\xce\\xd4\\x91\\x97\\x47\\x66\\x55\\xb6\\xe6\\x93\\x55\\xbb\\x0c\\x9f\\xf6\\x71\\x77\\x3e\\x0f\\xf5\\x91\\x7c\\xd5\\x67\\x47\\xaa\\x70\\xbe\\xaa\\x6a\\xcc\\x74\\x21\\x5f\\x15\\x26\\xe0\\xfd\\x06\\xc7\\xf7\\xa3\\x71\\x24\\x22\\xfe\\xda\\xa8\\x1c\\xb7\\x89\\xb1\\x44\\x5a\\x59\\x3e\\xbc\\x5f\\xa5\\x8a\\x90\\x45\\x04\\x17\\x79\\x22\\x8c\\x61\\x68\\x47\\xd9\\x63\\x50\\xcb\\xd4\\x36\\x8e\\x0f\\x20\\x76\\x36\\x13\\xb7\\xff\\x11\\xe2\\xef\\x64\\xac\\x8f\\x87\\xf9\\x1b\\x1c\\x8a\\x4e\\x7f\\xf8\\xc3\\xfc\\xff\\xfc\\x28\\xb2\\x2c\\xac\\x7a\\xe0\\xd8\\x8f\\xbb\\xb7\\x6e\\x1e\\xea\\x6f\\xa8\\xca\\x7c\\x2c\\xd4\\x1f\\x4e\\xf2\\xbe\\x05\\x56\\x0a\\xe1\\xfe\\x38\\xd7\\x96\\xdc\\x0b\\x78\\xa8\\x4c\\x8c\\x51\\x98\\x1c\\x12\\x1c\\x12\\x5c\\xe9\\x09\\x09\\x51\\xc4\\xc4\\xc5\\x45\\x57\\x7b\\xe2\\xd8\\x0c\\x85\\x02\\x69\\x52\\x8d\\x42\\x4f\\x4b\\x9e\\xf2\\x70\\x74\\x48\\xf3\\xa8\\x1f\\x7f\\xb6\\x97\\x10\\xe5\\xaf\\x89\\xf2\\xc5\\x97\\xb7\\xc6\\x83\\xb1\\x85\\xfb\\x75\\xfb\\xbf\\xa5\\xd5\\x62\\x54\\x1b\\x7a\\x20\\x3c\\x9c\\xd8\\x2f\\x2c\\x34\\xb7\\xb0\\xc8\\x73\\xee\\x56\\x18\\x08\\xd6\\xd7\\x4d\\x9b\\xb1\\xee\\xf9\\x95\\x79\\x49\\x79\\x6f\\xbf\\x3e\\xb0\\xdc\\x97\\x61\\xfb\\xe1\\xef\\x87\\xd6\\x4e\\x99\\x3f\\xed\\x97\\x17\\xe8\\x6a\\xb8\\x4f\\xa7\\x7d\\x2e\\x6c\\xf4\\x98\\x70\\xc9\\xbe\\x0d\\x15\\xb5\\xa3\\xc7\\x3d\\x55\\xd0\\xf9\\x6a\\x6d\\xff\\xf6\\xdd\\x70\\xae\\xed\\xdb\\x73\\xe7\\xbe\\x17\\x6b\\x58\\x38\\xa8\\xf6\\x48\\x9d\\xbe\\x1d\\xbf\\x06\\x52\\xd1\\x18\\x71\\x4e\\x43\\x1a\\xe5\\x76\\x47\\x27\\xa4\\x14\\x7b\\x92\\x12\\x42\\x22\\x7d\\xd7\\x1d\\x94\\x29\\x38\\x58\\x5f\\xec\\x09\\xd6\\xd8\\x29\\x4a\\x54\\xec\\x03\\xd9\\x7f\\x7c\\x78\\xbc\\xdf\\xc7\\xc5\\x30\\x81\\x79\\x0c\\x4d\\xf7\\x19\\xcd\\xf3\\x18\\xc4\\x66\\x3f\\x2b\\x32\\xc0\\xfb\\x70\\xb6\\xf9\\x3e\\x3d\\xae\\x6a\\xf4\\xfc\\xe7\\xdf\\x8e\\x3e\\xb1\\xb1\\xa2\\xc7\\x90\\xf9\\x46\\x92\\xd2\\xb0\\xe7\\xeb\\x97\\x57\\x0c\\x9f\\xde\\xf0\\x29\\x03\\x0f\\x25\\x56\\xe0\\xf1\\x6f\\xd2\\xcb\\x40\\x7c\\x62\\x97\\xf2\\x7e\\x5d\\x3a\\xb9\\xb7\\x97\\x94\\xa5\\x67\\x17\\xe4\\x99\\x96\\xaf\\x9a\\x39\\xa6\\xe6\\xc5\\x08\\x5a\\x3e\\xd1\\xb3\\xf4\\x88\\xa9\\x27\\x3c\\x80\\x87\\xfe\\x8b\\x2f\\x96\\x87\\xe4\\xf0\\x9a\\xa9\\x34\\xb7\\xc1\\xac\\xd3\\xc9\\x8d\\x34\\x72\\x92\\x69\\x5a\\x4b\\x69\\x15\\xfd\\x3d\\x5a\\x9d\\x1a\\x49\\xde\\x0e\\x11\\x9f\\x98\\xd7\\xec\\x12\\x8f\\x64\\xd8\\xfa\\x52\\x0f\\x9a\\x4b\\x19\\x9f\\xd5\\x9b\\xfb\\xda\\x10\\x5f\\x5a\\xef\\x8d\\x89\\x63\\xef\\x77\\xef\\x19\\x90\\xd8\\x3b\\x75\\xa6\\x2f\\xb1\\xf7\\x53\\x2c\\x4a\\xfe\\xe4\\x5e\\x3e\\xb6\\xe8\\x7b\\x12\\x5f\\x8d\\xe8\\x31\\x1a\\xb5\\x32\\x3d\\xad\\x27\\x99\\x0f\\x94\\x46\\x8e\\x61\\xba\\x54\\x3c\\x3d\\xea\\x27\\xd2\\x13\\x90\\x0a\\x21\\x90\\xf3\\x78\\x3a\\xc4\\x8e\\xb7\\x91\\x90\\x2f\\x79\\x3c\\x21\\x02\\x2e\\x20\\x42\\xcd\\x27\\x45\\x34\\xe5\\x36\\x5b\\xb0\\x75\\xa2\\xd6\\x19\\x19\\x64\\x8e\\x56\\x7a\\xc4\\x2c\\x6d\\xa0\\x39\\x8e\\x36\\x30\\x5a\\x8b\\x4e\\x26\\x24\\x38\\x13\\x9b\\x5e\\xeb\\xf4\\x2f\\x44\\x44\\x84\\x8b\\xa8\\x0f\\x7f\\xaa\\xb3\\xd8\\xaa\\x17\\xf9\\xd8\\x92\\x9a\\xd9\\x6d\\x68\\xb6\\xc9\\x01\\xb8\\x80\\x94\\xe7\\xb7\\x53\\x86\\x16\\x64\\xa4\\x08\\xbc\\xb1\\x82\\xa5\\xf0\\x6b\\xb3\\x0b\\x74\\x16\\x32\\x9f\\xc1\\x87\\xf7\\xc0\\x74\\x93\\x90\\xfb\\xec\\xcf\\x0b\\x09\\xc2\\x74\\xa9\\xb4\\x06\\xc6\\x44\\x9b\\x8a\\x30\\x5d\\x7a\\x4c\\x97\\x9e\\xd1\\x04\\x19\\x65\\x42\\x32\\xc3\\x23\\x74\\xe9\\x05\\xba\\xfc\\xb9\\x22\\x72\\xc0\\x93\\x85\\xf9\\x93\\x14\\xda\\xaa\\x34\\xb3\\x75\\x79\\x40\\xca\\xc8\\xf1\\xdc\\xd2\\x36\\x56\\xbb\\xc0\\x24\\x0e\\xa4\\xc3\\x5f\\xac\\xa3\\xfc\\xa9\\x23\\xa7\\xe1\\x21\\xd0\\x52\\x44\\xd2\\x47\\x10\\x4d\\xc8\\xb6\\xe4\\x3a\\x10\\xdc\\x0a\\xa7\\x3b\\x58\\xaf\\x31\\x49\\x4c\\xfd\\x3d\\xe2\\x60\\x0a\\x99\\x74\\x2c\\x09\\x2e\\xa2\\x75\\x41\\x3a\\x05\\x8e\\x2c\\x6a\\x5e\\x4e\\xce\\x97\\xbf\\x22\\x18\\x71\\x81\\x59\\x2c\\x44\\x8a\\xf4\\xd6\\x19\\xf3\\x43\\x81\\x3d\\x74\\x59\\xf4\\xb2\\x34\\xe7\\xcc\\x05\\x0f\\x41\\x22\\xdc\\xbf\\x21\\x15\\xb4\\x86\\x47\\x7e\\x32\\x95\\x86\\xd5\\xc2\\xaf\\x4e\\xce\\x67\\xf7\\x2c\\x59\\xb2\\x0d\\x3e\\xac\\xd9\\x08\\x52\\x60\\xdd\\xd1\\x48\\x6f\\x28\\xdd\\x5b\\x61\\xf6\\x9e\\x62\\xf9\\xda\\x13\\x23\\x10\\xaf\\x36\\x91\\x9a\\x2f\\x19\\xc8\\xad\\xd5\\x07\\xc9\\x82\\x8a\\x3d\\x32\\x99\\xda\\x18\\x6c\\x94\\x02\\x1a\\x20\\xeb\\x92\\xa6\\x59\\xb5\\x9a\\xa5\\x9a\\x23\\x52\\xea\\xfc\\x99\\x35\\xc0\\x6f\\x60\\x32\\x7c\\xfa\\xb8\\x08\\x63\\x16\\x90\\x99\\x2c\\x9a\\x82\\xad\\xcb\\xa0\\x90\\xe7\\xa2\\x9e\\x1b\\x91\\x96\\x95\\xef\\xda\\x06\\x74\\xf0\\xc7\\x36\\x6d\\xcf\\xc1\\x2b\\x4b\\xa3\\xd2\\x7b\\xc1\\x9b\\x82\\x91\\xf9\\x19\\x1d\\xdb\\xab\\x08\\x00\\x38\\xab\\x2c\\xd9\\xfb\\x01\\xf8\\x58\\x0e\\xdb\\xfa\\xee\\x34\\x0a\\x48\\xfe\\x7a\\xbc\\xdb\\xa8\\x56\\xe8\\x58\\x1d\\xda\\xee\\x59\\x5a\\x65\\xd0\\x89\\x19\\x1a\\x60\\x40\\x8a\\x80\\xa8\\xc2\\x26\\x5a\\x9e\\x90\\x3d\\x3f\\xe2\\x41\\x22\\xcd\\x0e\\x1b\\x75\\xe0\\x4b\\xd4\\xfd\\xb5\\x9c\\xba\\x60\\x20\\x81\\x5f\\x1c\\x35\\xb6\\x0f\\x1a\\x09\\xef\\xb1\\xd5\\xd7\\x7c\\x09\\xf4\\x05\\xb3\\x74\\x01\\x09\\xf4\\x00\\x47\\x6d\\x72\\x49\\x24\\xd6\\x11\\xf5\\xaf\\x51\\xa2\\xfe\\x8b\\x71\\xff\\x6a\\x83\\x51\\xaa\\xa6\\x41\\x89\\x87\\x56\\x3f\\xa1\\x7f\\x9c\\xfd\\xfb\\x28\\x17\\x5e\\x84\\x7b\\x93\\xe8\\xa7\\xca\\x79\\x06\\x68\\xfd\\x0c\\x70\\xf6\\x82\\x37\\x98\\xa2\\x9f\\x61\\xca\\x13\\x46\\xef\\x5f\\xe3\\x24\\xdf\\xb9\\xab\\x3b\\x49\\x2e\\xaa\\xf2\\x9c\\x96\\x03\\xa6\\x5e\\x0e\\xd8\\x79\\x72\\xd0\\xd5\\x5f\\xf3\\x31\\x42\\x4e\\xcb\\x70\\xd5\\x47\\x95\\x14\\x99\\x70\\xac\\x1a\\xd9\\x74\\x3a\\xba\\xc9\\xb1\\xf2\\x45\\x5c\\x06\\x94\\x7d\\xc4\\x67\\x5c\\xd6\\xa6\\x92\\xba\\x0c\\xfb\\x0c\\xd2\\x3a\\x1b\\x47\\xc1\\x15\\xa3\\x78\\xac\\xcc\\xc1\\x60\\xf8\\x60\\x60\\xbf\\x72\\x84\\x68\\x1c\\x7f\\x2d\\xdd\\x07\\x93\\x9a\\xc5\\x34\\xaa\\xf1\\x7d\\x0d\\x76\\xe3\\xf8\\x68\\x7c\\x86\\x10\\x80\\xec\\x3b\\x56\\x8d\\x31\\xca\\x9e\\x44\\x40\\x40\\xc7\\xc2\\xff\\xec\\xd8\\xb1\\x77\\xba\\xaf\\x69\\x96\\x30\\x04\\x82\\xb7\\xd6\\x63\\x17\\xad\\x29\\x69\\xe8\\xe1\\xb3\\xa4\\x5f\\x25\\x9a\\x8b\\x9e\\xc4\\x76\\xed\\xec\\x4e\\xc2\\xd5\\x84\\x4f\\x8b\\x11\\x2f\\xc4\\x88\\x17\\x62\\xd0\\x15\\xbd\\xc5\\xd5\\x84\\xd5\\xe2\\x08\\x31\\xe2\\x85\\x58\\xcc\\x4a\\xa5\\x0a\\x9c\\xa8\\xca\\x31\\x4a\\x96\\xbf\\x70\\x7b\\x62\\xfd\\xcb\\x80\\xba\\xc2\\x48\\x74\\xe9\\x96\\xa3\\xe0\\x3f\\x7e\\x16\\x88\\x07\\xd3\\xc6\\xc4\\xdb\\x5f\\x35\\x8d\\xff\\xda\\x83\\xd7\\x30\\x1d\\x12\\x44\\x87\\x8d\\xd8\\xb7\\xc9\\x6e\\x8b\\x52\\x0d\\x90\\x7d\\x8b\\xeb\\x61\\x23\\x0e\\x00\\x44\\x84\\xc2\\xc8\\x88\\x4a\\x3c\\x8c\\xba\\x59\\x26\\x82\\x80\\xb2\\x20\\x74\\xc3\\x0f\\x1e\\xdc\\x2d\\x05\\x11\\xa5\\xb4\\x2e\\xe9\\xef\\x0d\\x38\\x65\\xea\\x4a\\x39\\x31\\xd7\\xf1\\x78\\x7f\\x7e\\xb8\\x8d\\x1f\\x3c\\x1f\\x8f\\x71\\x19\\xed\\xa7\\x2f\\x93\\xf8\\x17\\xec\\xfd\\x99\\xfb\\x7b\\x8c\\xda\\x10\\x9c\\x2b\\x2c\\x96\\xc9\\x58\\xa4\\xc8\\xfa\\x7b\\x38\\x86\\xe2\\xc7\\xe8\\x37\\x28\\x85\\x63\\x53\\x12\\xbe\\xd4\\x0c\\x16\\xd5\\x9f\\x90\\x26\\x60\\xe0\\x80\\xd9\\x3f\\x1c\\xfc\\xe1\\x17\\x20\\xa2\\x97\\xf6\\xb3\\x95\\xb9\\x06\\xd6\\x2c\\x6b\\xa4\\x5e\\xee\\xbf\\x38\\xe1\\xe3\\xc8\\xae\\xdd\\x67\\x17\\xc6\\x45\\x66\\xb4\\x7e\\x96\\x5d\\xfc\\x60\\x0c\\x97\\x07\\x2d\\xc1\\xb1\\xdf\\xbd\\x0f\\xef\\xc2\\xe2\\x5f\\x8a\\x9e\\x1a\\x52\\x76\\x06\\x94\\xed\\x9b\\x34\\xd2\\xe5\\xed\\xe5\\xa3\\x6f\\x38\\xb1\\x79\\x11\\x7d\\x61\\x9a\\x22\\x6c\\xf3\\x06\\x59\\x2c\\x48\\xd7\\x5a\\xd4\\x86\\x20\\x23\\x8b\\xf8\\xd3\\x64\\xf4\\x3a\\x03\\xad\\x5e\\xe1\\xd2\\x8b\\x27\\x49\\xa0\\x88\\x0f\\xb6\\x12\\xac\\xde\\xe1\\x73\\x7f\\x5b\\xd6\\x77\\x4a\\x42\\x7d\\x74\\xe7\\x71\\x93\\x53\\x1d\\x2d\\xdc\\x85\\xd7\\xb6\\x1e\\xdc\\x7a\\xfd\\x3c\\xfd\\x6c\\xd5\\x00\\xf7\\xb8\\xa9\\x00\\x9c\\x81\\xa7\\x36\\xb5\\xee\\x3e\\x2d\\xff\\xee\\x0f\\xe5\\x95\\xc1\\xf0\\x69\\x3e\\x1b\\x0c\\xaa\\xc3\\x0e\\x63\\x5f\\xb5\\x7b\\xe3\\x2d\\xf6\\x08\\xf7\\x22\\x25\\xa3\\xd2\\xa9\\x5e\\xee\\x8c\\x04\\x0e\\xf9\\x05\\x09\\x9a\\x84\\xc8\\x04\\x46\\xca\\x24\\x24\\x98\\xd5\\xe6\\xd0\\x4a\\x8f\\x25\\xd2\\x5c\\x64\\x9e\\x6e\\x5e\\x6a\\x66\\xd5\\x66\\x20\\x65\\xcc\\x6a\\x6b\\x35\\x46\\x8f\\x74\\xc8\\x1d\\x95\\x1e\\xa7\\x52\\xee\\xbf\\x70\\x09\\xf2\\xe5\\x12\\x57\\x38\\x9b\\xa7\\xfc\\xf3\\xb0\\x81\\x38\\x38\\x50\\x4f\\x2e\\x51\\xf0\\xa1\\x38\\x3e\\xa7\\x16\\x4a\\xf1\\xe0\\x43\\x6a\\x7f\\x94\\xba\\x51\\xc3\\x90\\xba\\x46\\x4c\\x72\\xc1\\x70\\x57\\x87\\x2a\\x53\\xfd\\xac\\x5e\\x4f\\x2f\\x9d\\xf3\\xc1\\xe0\\xad\\x20\\xfd\\x93\\xca\\xae\\x75\\x8e\\xd4\\x41\\x6f\\x55\\xce\\x9a\\x98\\xd0\\x7e\\xd4\\xea\\xea\\x11\\xb5\\x9f\\x99\\x9f\\x2e\\x4a\\xee\\x02\\xb8\\x3e\\x20\\x69\\x4e\\xdd\\xdd\\xd5\\x9d\\x5f\\x84\\x27\\xd3\\xd3\\xe7\\xdc\\x7b\\x1d\\x04\\x81\\x37\\x3e\\x89\\xbd\\xa0\\x59\\x0f\\x2f\\xd4\\x6f\\xd8\\x3e\\x6d\\xdb\\x28\\x40\\xef\\xac\\xde\\xfc\\x0a\\xfc\\x14\\x9e\\x75\\xdc\\x8d\\xc1\\xe3\\x1e\\x44\\xe2\\xd6\\x0b\\xa9\\x78\\x2a\\x03\\x57\\xc1\\x08\\x4f\\x2c\\xf6\\x84\\x87\\x23\\x0f\\x4c\\x53\\xe2\\x51\\xca\\x35\\xac\\x19\\x69\\x30\\x93\\xd3\\x4a\\x59\\x8b\\x3c\\x76\\xbe\\xec\\x61\\x5a\\x53\\x74\\x70\\x00\\xf4\\x3b\\x27\\x5c\\x0a\\xa5\\xf3\\x97\\x42\\x42\\xd6\\xb4\\xc9\\x29\\x94\\x87\\x20\\x21\\x3b\\x3c\\x78\\x2a\\x3e\\x8d\\xe4\\x0b\\x2d\\xb7\\x01\\xcc\\x98\\xd2\\xfc\\x8a\\x21\\x67\\x2f\\x2f\\x7b\\xf8\\x66\\xcf\\xae\\xa3\\x8c\\x29\\x79\\xe3\\x0b\\x6b\\x9e\\xd2\\x5b\\xca\\x57\\x0f\\x18\\x3c\\xe4\\xf5\\x16\\xe3\\xa3\\x63\\x5d\\xbd\\x5b\\xa4\\x5a\\xd3\\x23\\x74\\xca\\x8c\\x52\\x83\\xd5\\x7a\\xf9\\xcc\\x47\\xa0\\xdd\\x66\\xeb\\xfb\\xfa\\x49\\x37\\x46\\xcc\\x58\\x60\\x5f\\xda\\x6a\\xec\\xd7\\xb5\\x0b\\x26\\x5f\\xfa\\x48\\xaf\\xa9\\x37\\xab\\xe8\\xbe\\x03\\xf2\\x16\\xb5\\x6d\\x35\\xc2\\x90\\xf2\\x0d\\x5e\\x77\\x45\\x48\\xce\\x4e\\x91\\x7a\\xa1\\x2d\\xdc\\xe6\\x70\\x5b\\xa5\\x27\\x3a\\x9c\\x95\\x70\\x66\\x33\\xf2\\xf7\\xcc\\x7a\\x85\\xee\\x29\\x8f\\x5a\\x11\\xd2\\x1c\\x4a\\xb5\\xe9\\xba\\x82\\xa3\\x39\\xb3\\x31\\xd0\\x5e\\xb6\\xfb\\x26\\xca\\x87\\x6b\\x4f\\x83\\xba\\x21\\xc3\\xde\\x98\\x02\\xc4\\xef\\xc1\\x03\\x34\\xac\\x17\\x2c\\xe4\\x5e\\xe0\\xe8\\x89\\x83\\x20\\xef\\x22\\x7f\\x99\\xd1\\xb7\\xeb\\xf0\\xad\\x83\\xc0\\x9f\\xcb\\x9f\\xbb\\x9b\\x0e\\x67\\xc7\\xb5\\x48\\x84\\x87\\xb1\\x75\\x58\\x33\\xc4\\x62\\xd6\\xde\\xbd\\x82\\xf6\\xc9\\x0d\\xdf\\x1e\\x3f\\xd6\\x6e\\xf8\\xd8\\x8d\\xf0\\x23\\xe2\\x07\\x0b\\x78\\xf7\\x09\\x38\\x8b\\x3e\\xce\\x66\\x43\\x7e\\x8a\\x2d\\x44\\x61\\x2c\\xf2\\x68\\x15\\x1a\\x44\\x3a\\x46\\xfe\\xf7\\xd5\\xf6\\x6f\\x1e\\x80\\x0a\\x78\\x83\\xfe\\xb1\\xe4\\x06\\xda\\x57\\xd7\\x1f\\xf8\\x0d\\x5e\\xd0\\xba\\xa8\\xf7\\x91\\x8f\\x70\\x82\\x43\\xfd\\x05\\x92\\xe0\\x50\\x35\\xb3\\x68\\x23\\x49\\x7d\\x70\\xfc\\xf4\\x2a\\x36\\x74\\xf1\\x30\\xe0\\x2f\\xb5\\xc3\\xe3\\x25\\x67\\xf7\\x92\\x4c\\x87\\xfa\\x8d\\x1c\\xce\\x74\\x98\\x0b\\x6f\\x8f\\xb9\\x30\\x70\\x80\\xf2\\xb9\\x0f\\xc2\\x7b\\xc0\\xdd\\x78\\x18\\x44\\xc7\\xbe\\x83\\x6c\\xdc\\x24\\x12\\x8f\\x1a\\xe5\\x56\\xcb\\x25\\x52\\x09\\xd6\\xa1\\x22\\x50\\xe5\\x11\\xe9\\xd8\\x26\\x85\\xee\\x8b\\xb2\\x71\\xf2\\xda\\x1c\\x97\\x77\\x1c\\xbe\\x79\\x4a\\xdd\\xfd\\xee\\x6f\\x7d\\x05\\x87\\x25\\xb2\\xa5\\x89\\x6c\\xf5\\xc3\\xe5\\xd8\\x63\\x13\\xc0\\xb2\\x30\\xce\\xf9\\x10\\x92\\x7b\\x29\\xa7\\xac\\xfb\\x29\\x39\\xce\\xa7\\x13\\x31\\x2c\\x83\\xf6\\x09\\x35\\x90\\x90\\xdb\\x9e\\x80\\xd8\\x74\\x12\\xef\\xc6\\xa3\\xd5\\xa1\\x0e\\x68\\xfd\\x1b\\x5b\\xe1\\x0a\\x1b\\x49\\xc7\\x9c\\x37\\x69\\xdc\\x1d\\x66\\x4a\\x7d\\xbd\\xb7\\x9d\\x77\\x33\\x89\\xed\\x07\\xb8\\x1e\\xf3\\x75\\x2e\\x4f\\x23\\xa2\\x5a\\xd5\\xe1\\x7e\\xd6\\xc0\\x5e\\x1c\\x45\\x72\\xd8\\x8c\\x6e\\x19\\x10\\xc9\\x19\\xa5\\x94\\x56\\xf3\\x98\\x29\\x5a\\x62\\x71\\xea\\x49\\x04\\x04\\xce\\x43\\x06\\x0c\\x08\\x2a\\x3d\\x03\\xe2\\xbb\\x48\\xd4\\x2d\\x73\\x41\\x16\\x88\\xf5\\x3e\\x4b\\xe0\\xb1\\xd8\\x1c\\xef\\xf6\\xac\\xf7\\x66\\x8e\\xa3\\x4b\\x1e\\x9c\\x80\\xbd\\x50\\x9b\\x83\\xf9\\xba\\xc0\\xc8\\xd1\\x8c\\x72\\x6b\\x18\\xb1\\x44\\x5c\\xe9\\x51\\x00\\x89\\x84\\x53\\xca\\xf8\\xa3\\x9b\\x66\\x91\\x47\\x4e\\x3e\\x7d\\xd4\\xe5\\x24\\x45\\xcf\\x99\\x8d\\x77\\x92\\xe0\\xd2\\x61\\xf0\\xab\\x61\\x70\\x79\\xd2\\xaf\\x57\\x40\\x46\\x3d\\x58\\x03\\x32\\x18\\xd1\\x75\\xef\\x65\\x3a\\xea\\x3a\\x9d\\xeb\\xfd\\x98\\xce\\xe4\\xf7\\x36\\x81\\x6e\\x1d\\x8e\\x2b\\xd2\\x84\\x20\\xa2\\x55\\x3a\\x9c\\x9c\\x25\\x17\\xf1\\xc1\\xa9\\x4d\\x69\\x02\\x38\\xbd\\x89\\xc4\\x70\\x00\\x52\\x15\\x00\\x57\\x67\\x74\\x82\\x2c\\x3c\\x0e\\x4e\\x1b\\x5c\\x85\\xc6\\x61\\xf7\\x3e\\x0b\\xb2\\x62\\xe1\\xc9\\x24\\x78\\x33\\x09\\x9e\\xc4\\xa3\\xb1\\x5d\\x70\\x1d\\xc5\\xa3\\x39\\xf6\\xe3\\x8f\\x58\\x5f\\xbf\\x84\\xe6\\xb8\\x2d\\xb1\\x29\\x6c\\x6e\\x9d\\x5c\\x25\\xe1\\x58\\x56\\x21\\x65\\xc4\\xc8\\x70\\xa8\\x7a\\xcc\\x70\\xc0\\x38\\xc4\\x36\\x3e\\xf8\\x15\\xd7\\x6a\\xc2\\x48\\x37\\x7a\\x76\\xe5\\xb4\\xfb\\xdd\\x91\\xf9\\x32\\x0a\\x9e\\xa4\\x7b\\xc0\\xaf\\x40\\xd6\\x2e\\xe0\\x01\\x99\\xde\\x2f\\x2f\\xdd\\xc5\\x53\\x0e\\x7e\\x85\\x7a\\xfa\\x43\\x7a\\x1a\\x2c\\x01\\xef\\x78\\x67\\xc2\\x24\\x7e\\x0f\\xfb\\x14\\xcd\\xff\\x55\\x62\\x33\\xc4\\xee\\xa7\\xd4\\x68\\xfe\\xb5\\x12\\x4e\\x4e\\xb3\\x40\\x2a\\x52\\xb3\\x46\\xa0\\x68\\x12\\x01\\xd2\\x27\\x0f\\x5c\\xd9\\xd4\\x23\\x12\\x03\\x26\\xb5\\xe5\\x36\\xb8\\x07\\x5e\\x00\\xff\\xc0\\x5b\\xc0\\xf1\\x06\\x48\\x40\\x3e\\x41\\xf4\\xd1\\x99\\x63\\xef\\x80\\x79\\xf0\\x19\\xda\\x41\\xcb\\xe1\\x1a\\xd0\\xdf\\xfb\\x37\\x5c\\x84\\x25\\x03\\x50\\xa3\\x50\\x7f\\x9f\\x70\\x1d\\x50\\x7f\\xf1\\xb8\\xb8\\x82\\x92\\xad\\xf2\\x28\\xf9\\x03\\x73\\x29\\xda\\x9a\\xd5\\x95\\x1e\\xde\\x4f\\xf3\\xc7\\xcb\\xfb\\x8a\\xaf\\xf8\\x73\\x5b\\xd1\\xd6\\xb9\\x96\\x3e\\x90\\x58\\xbf\\x19\\x98\\xbf\\x00\\x61\\x5f\\x2c\\x43\\x43\\xf6\\xaa\\x2e\\x5d\\xe0\\x3a\\x5c\\x7b\\xf8\\x02\\x5b\\xf4\\x60\\x1b\\x91\\xee\\x2a\\x32\\x77\\x5d\\x50\\x5f\\x2b\\xc9\\xd8\\x50\\x5f\\x12\\xd4\\x57\\x91\\x47\\x69\\x6c\\xea\\x0b\\xb9\\x1c\\xcd\\x63\\xf3\\x9f\\xd4\\xd7\\x48\\xfa\\x59\\xdb\\xee\\x79\\xc0\\x4d\\x72\\x69\\xc7\\xfd\\x59\\xf4\\xf0\\xb7\\xad\\xbb\\xd9\\x1c\\x24\\xe8\\xbe\\x84\\x5a\\x66\\x0a\\xe9\\x6b\\xac\\x60\\x0f\\x5a\\x90\\x0e\\x34\\x70\\x12\\x83\\x04\\xa3\\xc6\\x1b\\x58\\xb3\\x92\\x61\\x2d\\x8f\\xcc\\x5e\\x40\\x2d\\x67\\xde\\xea\\x7a\\x02\\xa2\\x0f\\xc3\\xce\\xc1\\xab\\xb6\\xb2\\xc7\\xd1\\x1e\\xf0\\x34\\x8f\\xea\\x93\\x3a\\x64\\xf5\\xd0\\x99\\xc0\\xfe\\x05\\x3f\\x99\\x37\\x23\\x22\\x41\\x4a\\x41\\x15\\x46\\xf6\\x69\\xef\\xcc\\x1e\\x14\\x45\\xaf\\x7b\\xf0\\x2e\\xa6\\xa3\\x1f\\xa2\\x63\\x3a\\x89\\x83\\x43\\x74\\x68\\x0d\\x9c\\xa1\\xc4\\x23\\xe1\\x38\\x8d\\x34\\x58\\xdd\\xe4\\x7b\\x3e\\x4e\\x07\\x08\\x28\\xce\\xc8\\xeb\\x8e\\xa6\\x74\\xdf\\xcf\\x0b\\xd8\\x67\\x53\\x2b\\x46\\x55\\x01\\xcb\\xd6\\x49\\xc8\\x26\\x7c\\xbd\\xb8\\xef\\x86\\xf9\\x93\\x67\\xf1\\x19\\xbf\\x16\\x53\\x8d\\x2a\\x02\\xdc\\xe1\\x39\\x81\\xd3\\x7e\\xc7\\x8f\\x8c\\x4b\\x06\\x7b\\x02\\xf0\\x8c\\x42\\xf0\\x79\\x1b\\x6a\\x9e\\x11\\xeb\\xc5\\xd5\\x9e\\x20\\x93\\x9e\\xd3\\x1b\\x0c\\x7a\\x8e\\xb1\\x28\\x04\\x64\\xa3\\x47\\x3c\\xbc\\x28\\x3d\\x8e\\xfb\\x75\\x89\\x03\\x18\\x62\\xf6\\x39\\x7c\\xf4\\xce\\xca\\x6e\\x15\\x69\\x43\\x1d\\xa5\\x3e\\x96\\x24\\x56\\x56\\x0f\\xad\\x1a\\xd8\\x7e\\x26\\x8f\\x75\\x14\\xa6\\x81\\xde\\xbb\\x8c\\x8f\\x2b\\x1d\\xd2\\x32\\x07\\xb2\\xe0\\x0e\\xd4\\x49\\x4c\\x3c\\xea\\x11\\xa0\\x9e\\x41\\x34\\x6d\\x26\\x39\\x5e\\x49\\x6e\\xb3\\x56\\x8d\\x98\\x53\\xea\\x91\\x49\\x38\\x3d\\x27\\x12\\x71\\x7a\\x46\\x25\\x0f\\x55\\xab\\x08\\x56\\x80\\x2e\\x80\\x26\\x7f\\xe5\\x43\\x1f\\x15\\x48\\x38\\xd4\\xb4\\xd5\\xe5\\x67\\xcf\\xed\\x02\\x76\\x46\\xfb\\x91\\xed\\xd2\\x46\\x0a\\xf9\\xd0\\x45\\x65\\xf6\\x91\\xd6\\xcc\\x42\\x1f\\x87\\xcc\\x86\\x5a\\x06\\x78\\xe0\\x3b\\xe2\\x08\\x3e\\x33\\x3a\\x34\\xf8\\xd4\\x2e\\xa9\\xc0\\x25\\x9f\\x2f\\x8c\\xf1\\x7c\\x4c\\x54\\xb0\\x5b\\x29\\x20\\x25\\x1a\\x4d\\x8c\\xdc\\xd8\\x84\\x94\\xd8\\x0c\\x25\\x31\\xaa\\x09\\x25\\x11\\xd0\\xdd\\xfa\\x15\\x9c\\xf0\\xbc\\xfa\\xa2\\xbe\\x17\\xbc\\x56\\xaa\\x4c\\x1b\\xbc\\x7a\\xc8\\x2c\\xfe\\x64\\x1a\\x5a\\x42\\xad\\x2f\\xbf\\x54\\x50\\x05\\xdb\\x80\\xad\\xed\\xd3\\x72\\x06\\x45\\x79\\x2b\\x09\\x7c\\x50\\x63\\x23\\xa5\\x47\\xfd\\x0d\\xc5\\x35\\x91\\xa8\\x82\\x5f\\xb1\\x4d\\x12\\x8f\\x6c\\x92\\x5f\\xd1\\xde\\x1d\\xc3\\x57\\x52\\xd7\\xa0\\x4d\\xbc\\xd2\\x13\\x62\\x72\\xc7\\xc5\\xc9\\xc3\\xf1\\x56\\x1e\\xce\\x8a\\x91\\xfb\\x50\\xe9\\x91\\xeb\\x1f\\x29\\xcb\\x11\\x7c\\xda\\x27\\x3b\\x22\\xff\\xee\\xc7\\xf3\\x84\\x2f\\x1f\\x64\\xc6\\x3c\\xd3\\x51\\xc2\\x71\\x90\\xbf\\xea\\x2a\\x6d\\xd2\\x4d\\xef\\x32\\x38\\x0d\\x80\\xf2\\x86\\xdd\\xef\\xbf\\xaf\\xac\\x1a\\x68\\x8d\\xdc\\xe3\\x48\\x2a\\x00\\xce\\xd3\\xfb\\x3f\\x8e\\x35\\xc2\\x65\\x45\\x93\\x5c\\x60\\xb6\\xb2\\x13\\x9d\\xd5\\x3f\\xbf\\xbe\\x78\\x74\\xd2\\xc7\\xef\\x9e\\xfa\\xa2\\xb4\\x52\\x3b\\x63\\x70\\xab\\x09\\x05\\x11\\x7d\\xdb\\xb4\\xd1\\x01\\x29\\x88\\xf9\\xf9\\xcb\\x82\\xef\\x5c\\x74\\xce\\xca\\xfa\\xa2\\x56\\x83\\x9f\\xc2\\xf7\\x30\\x68\\x0c\\x2f\\x13\\xac\\xe6\\x16\\x78\\x0c\\x16\\x4e\\xc3\\x15\\x7b\\x62\\xe5\\x6e\\x8d\\x86\\xd2\\xeb\\xad\\x38\\xe3\\x1f\\xed\\x46\\x61\\x45\\xcd\\x50\\xe8\\x9b\\x8f\\x81\\x7b\\x94\\x70\\xfe\\x7e\\xdb\\x40\\x72\\x16\\xb1\\x95\\xa2\\x02\\x7a\\xff\\x08\\x06\\xef\\x3c\\x28\\xab\\x19\\x15\\x92\\xf5\\xb6\\xab\\x5d\\x5b\\xa0\\x7f\\xff\\x8d\\x77\\x41\\xb8\\x77\\x9b\\x7a\\xca\\x28\\x17\\xe0\\xca\\xfe\\x88\\x29\\x18\\x11\\x0c\\x72\\xc5\\x0e\\xc3\\xb1\\x03\\x2d\\xf3\\xe8\\x3e\\x3d\\xe2\\xaa\\xc6\\xa6\\x94\\x65\\xb5\\x61\\x3f\\xbf\\x7a\\x74\\x5f\\xcd\\xcc\\xa2\\xdc\\x6d\\x33\\xcc\\x2f\\x2f\\x66\\xb6\\x2f\\x98\\xe2\\x4c\\x70\\x0f\\xc5\\xfc\\x87\\x77\\x08\\xff\\x63\\x29\\x07\\xd5\\xda\\x1d\\xa1\\x43\\x46\\x49\\xa5\\x27\\x2c\\xc8\\x9d\\x90\\xa0\\x8a\\x8c\\xb4\\xe3\\x1c\\x31\\xa5\\xca\\x2d\\x17\\xab\\x54\\x6c\\xb5\\x47\\xa5\\x0f\\x88\\x3a\\xfe\\xaf\\x79\\xc0\\xc6\\x7a\\x8c\\xf6\\xff\\x75\\x26\\x3a\\xed\\x9f\\x9b\\xf6\\x79\\x1a\\xfc\\xfc\\x7f\\x4e\\xc6\\x6b\\xbb\\x83\\xd1\\x3a\\x43\\x1a\\xbe\\xb6\\xac\\xfa\\x3f\\xa7\\x04\\xcf\\x09\\x1a\\x17\\x9e\\x93\\x18\\x12\\x0d\\x1b\\xc1\\xcf\\x49\\x9c\\x30\\x27\\x36\\x3c\\x27\\x31\\x94\\x3b\\x1a\\xcf\\x4b\\xb1\\x7f\\x5e\\x9e\\x3c\\x2e\\x8e\\xc4\\x39\\xfc\\xc7\\xdc\\x10\\x1c\\x65\\xff\\xa8\\xc4\\xcf\\x2e\\xf8\\xb7\\xd9\\x79\\xf6\\x27\\xe7\\x39\\xd0\\x55\\x98\\x20\\x85\\xf9\\xe0\\xba\\x7f\\x9b\\xa1\\x3b\\x2d\\xe0\\x03\\x76\\x0b\\x3f\\x47\\x8f\\xe3\\xca\\xf2\\xf8\\x92\\xa2\\xdf\\x74\\xb1\\xcc\\x09\\x12\\xb3\\xf3\\x00\\x2d\\xad\\x07\\x38\\x66\\xc7\\x17\\x6a\\x89\\xbe\\x43\\xf0\\x6e\\xb8\\xbb\\xe8\\x3b\\x37\\x48\\x0e\\xe2\\x03\\x3e\\xaa\\x27\\x3a\\xba\\x29\\x07\\xb1\\xf1\\x36\\xb2\\x2d\\xda\\x13\\xff\\x31\\xcd\\x6d\\x09\\x0a\\x32\\x00\\x43\\x70\\xb5\\xc7\\x10\\xa2\\x64\\xa3\\xd8\\x28\\x7c\\x9a\\x02\\x24\\x34\\x5f\\x62\\xcd\\x1f\\x9f\\xef\\x97\\x5c\\x01\\xce\\xcb\\x7f\\x72\\x49\\x0a\\x0e\\x12\\x2f\\xd2\\x66\\xf2\\x9d\\x35\\x83\\x4e\\xc8\\x06\\x10\\x81\\xd8\\xe1\\xee\\x57\\x87\\x91\\x53\\xcc\\x56\\xaf\\x27\\x1d\\x3a\\xb3\\x07\\xee\\xbc\\xf4\\xe2\\xb5\\xce\\x54\\x63\\xd1\\x0b\\x27\\xce\\x6c\\x5d\\x51\\x83\\x8f\\xeb\\x26\\x3f\\x8b\\x8f\\x58\\xf2\\x97\\x18\\xcc\\x5f\\xed\\xff\\x0e\\x6e\\xdb\\x85\\x2f\\x50\\xee\\xfe\\xb8\\xf0\\x15\\xa4\\x9f\\x6c\\xc8\\x56\\xae\\x26\\xb8\\x3d\\xb1\\x6e\\x83\\xc5\\x80\\x26\\x0b\\x39\\x90\\xe1\\xf8\\xce\\x04\\xc3\\xab\\xc8\\xc5\\xfe\\x3b\\x13\\x7e\\x37\\x41\\x62\\xd8\\x44\\x8a\\xcb\\x4f\\x0a\\xd9\\x51\\x85\\x93\\x17\\xfa\\xd6\\xde\\x77\\x5e\\x85\\x67\\xde\\x9b\\xba\\xa3\\xf5\\x99\\x4e\\xe3\\x76\\x6c\\x9f\\x31\\xe7\\xf5\\x5e\\xe4\\x8c\\xa1\\x3c\\x35\\xbb\\x4b\\x3a\\x39\\x84\\x4a\\xa1\\x7b\\x06\\x1d\\x7b\\xf3\\x20\\xfc\\x61\\x63\\xbb\\x92\\x71\\x9d\\xae\\x7c\\x3a\\x79\\x22\\x6c\\x8b\\x94\\x69\\x0a\\x6d\\xf7\\x14\\xe2\\xb3\\x98\\x5c\\x01\\x43\\x11\\xed\\x75\\xd7\\xc9\\xb9\\x6f\\xfc\\x1e\\x93\\xae\\xca\\x63\\xd2\\xe1\\x24\\x07\\xb7\\x52\\x83\\xcc\\x62\\x0d\\x01\\x53\\x94\\x60\\x34\\x45\\xa7\\x1f\\xb1\\xab\\xc5\\x23\\x80\\x8a\\x04\\x7c\\x94\\xbf\\xca\\x6e\\x06\\xaa\\x98\\x53\\x31\\xaa\\xe3\\x06\\xfa\\xf7\\x8b\\xb3\\xe0\\xea\\xfb\\xb7\\xfa\\x04\\xc2\\x2a\\x4e\\x00\\x9a\\x2f\\xc0\\x3d\\xfe\\x96\\x9d\\xd0\\xf0\\x36\\xa2\\x61\\x33\\x39\\xcb\\x6c\\xb1\\x9f\\x0a\\x42\\xbd\\xeb\\xf5\\xc8\\x7a\\xd6\\xab\\x25\\x2a\\xc4\\x1d\\x89\\x09\\x18\\x9b\\x2c\\x28\\x67\\x13\\xac\\x23\\x06\\xdf\\x6d\\x8e\\x43\\x23\\x10\\xc2\\x64\\x4e\\x7c\\xe7\\xf7\\x59\\xe3\\x87\\x4e\\xec\\x67\\xaf\\xd2\\xd8\\x2c\\xf1\\xae\\xc2\\x21\\x79\\x4f\\xd3\\x7f\\xbe\\x33\\x1b\\xee\\x42\\x06\\x36\\x1c\\x07\\xbf\\x5c\\xd5\\x5e\\xca\\x1e\\x91\\x56\\x03\\xf6\\x53\\xd0\\x03\\xef\\xbb\\x88\\x86\\xdf\\x04\\x0c\\x5a\\x33\\x55\\xe0\\x4e\\xd2\\x6a\\x95\\x8c\\xd2\\x50\\xed\\x51\\x86\\x60\\xef\\xe0\\x1b\\x11\\x60\\xce\\x8a\\x00\\xbb\\x52\\x04\\xfa\\x8a\\x80\\x28\\x5c\\xd9\\xd9\\x22\\x8a\\x17\\xd1\\x22\\x11\\x23\\x65\\x19\\xc6\\x27\\x5b\\x15\\x2d\\x84\\x73\\x17\\x2a\\x40\\xc0\\x40\\xd3\\x29\\x14\\x4d\\x45\\xf9\\xe0\\x41\\x33\\x5d\\x4c\\x34\\x5c\\x31\\x32\\xf0\\x34\\xea\\x52\\x2e\\xdc\\x0e\\xe1\\xac\\x0f\\xdb\\x00\\x3a\\xb8\\x32\\x7b\\xc2\\x2b\\xf1\\x01\\x07\\x53\\x1b\\xe0\\x61\\xb8\\xad\\xe8\\xa9\\x69\\x71\\xc9\\x5f\\x5f\\x24\\xfc\\xf2\\x22\\x5a\\xb7\\x12\\x6c\\xf4\\x04\\x77\\x90\\x52\\x8f\\x7c\\x2e\\x4c\\x68\\x91\\xa7\\x4e\\xb4\\x84\\x90\\x25\\x61\\x79\\x40\\x2b\\x9e\\x2c\\x5f\\x94\\x59\\xd3\\xb9\\x94\\x88\\xf2\\xfb\\x8a\\x2e\\x26\\x18\\x4e\\xf5\\x1d\\x4f\\xcd\\x2a\\x05\\x21\\x47\\x53\\xe1\\x6e\\xf8\\x37\\x96\\xab\\xbc\\x09\\xcf\\xad\\x8b\\x0e\\x38\\xa7\\x8a\\x85\\xf0\\x4f\\x2c\\x4a\\xdb\\xb6\\x3e\\x76\\x76\\xa7\\x10\\x57\\x79\\x4e\\x2b\\x00\\x53\\xaf\\x00\\xec\\x3c\\x05\\xe8\\x8a\\xde\\x2a\\xf0\\x79\\x15\\x86\\xd7\\x90\\x71\\x0a\\x05\\xa7\\x96\\x31\\x52\\x1d\\x47\\x55\\x79\\x38\\x1d\\xf3\\xdf\\x67\\x77\\x7c\\x4c\\x84\\x9f\\x6d\\xac\\xf4\\x45\\x1c\\xb3\\x31\\xf1\\xd1\\xd3\\x3b\\x62\\xc0\\x35\\xf1\\x88\\xf2\\x63\\xbd\\xbc\\x4d\\x6c\\xd5\\x74\\xde\\x0e\\xb7\\x48\\x90\\x1c\\xa9\\x25\\x11\\x12\\x5a\\xc3\\x20\\x9f\\x46\\x26\\x52\\x73\\x8f\\xda\\xe3\\x01\\x27\\x58\\x51\\x81\\x67\\x77\\x58\\x8e\\xb2\\x26\\x96\\x37\\x63\\x4e\\xf0\\x56\\x2c\\x42\\x81\\x47\\x77\\xbc\\x3d\\xde\\x64\\xb7\\x3a\\xf6\\x53\\x66\\xd4\\xaf\\x81\\x62\\xd4\\x18\\xe6\\x5a\\xad\\x36\\x4a\\x8c\\x41\\x55\\x1e\\xa3\\x4e\\x27\\x61\\x02\\xce\\xb0\\x9c\\x3e\\x5f\\x10\\x3c\\x09\\x88\\x92\\x4f\\x83\\xd2\\x3d\\x6e\\xb6\\xc2\\xfb\\x6f\\x75\\xbf\\x5f\\x37\\xe5\\x09\\x76\\xeb\\xfd\\x83\\x70\\x08\\xbd\\x08\\xd3\\x52\\x89\\x68\\x99\\x41\\x6c\\xd7\\x44\\xb7\\x0a\\xdb\\xd0\\x25\\x1e\\xb3\\xc1\\x40\\x05\\xa9\\xd4\\xd8\\x7a\\xde\\x8d\\x61\\x6f\\xa8\\xc0\\xd1\\xfb\\x92\\xb0\\x70\\x9f\\x2e\\xbf\\xc1\\x1a\\x58\\x68\\x9c\\x51\\x76\\xbf\\x33\\x76\\x52\\xa2\\x60\\xb1\\x82\\x20\\xbf\\x29\\x7b\\x1e\\x23\\x96\\x5d\\xf1\\xd9\\xab\\x7e\\x43\\x56\\xc0\\x78\\x42\\x7e\\x98\\x18\\xf1\\x24\\x9a\\x8a\\xdf\\x4f\\x45\\x63\\x9f\\xc8\\x2c\\x95\\x82\\x30\\x25\\xab\\x67\\x74\\x3a\\x10\\x51\\xe5\\xc7\\x56\\xe4\\xb3\\xd9\\x1c\\x3c\\x9e\\xbf\\x3e\\xd3\\x85\\xd1\\x9e\\x98\\xd8\\xd6\\x40\\x2c\\x40\\xfb\\x9b\\xc5\\x6d\\x18\\xdf\\xc2\\x2e\\x4d\\x79\\xcb\\x94\\x26\\x2b\\xc9\\x39\\xfd\\x95\\x55\\xc6\\xe8\\xcc\\x6f\\x7d\\x83\\x04\\xa2\\x4f\\x2c\\x10\\x03\\xbd\\x25\\x54\\xfe\\x13\\xe8\\x7e\\x11\\x0b\\x0b\\x33\\x60\\xf4\\xde\\xf0\\x93\\xb3\\x61\\x27\\xf0\\xf9\\x80\\x8b\\x96\\x88\\x65\\x53\\x1e\\xbe\\x82\\xac\\x39\\xa5\\xfd\\x88\\x28\\xb3\\x53\\x97\\x20\\x70\\x17\\x2b\\x1e\\x5e\\xf7\\x21\\x1a\\x09\\x26\\x4c\\x30\\x15\\xb3\\xc7\\x8c\\xfc\\x51\\xb3\\x91\\xe8\\x3e\\x59\\x30\\x29\\x36\\x60\\x54\\x04\\x14\\x1b\\x20\\xb8\\x57\\x7c\\xb9\\x81\\x40\\x28\\x2a\\x5f\\xe0\\x11\\x46\\xa3\\x12\\x87\\x4c\\x6f\\x06\\x46\\x45\\x84\\xa5\\x21\\x69\\xba\\xd6\\xc9\\x2c\\x1f\\xb4\\xda\\x5b\\x8b\\xf1\\xa8\\xba\\x94\\xac\\x25\\x78\\x54\\x42\\x9c\\xce\\xf3\\x15\\x1b\\x9b\\x63\\x2f\\x74\\xf7\\x63\\x56\\xbf\\x2d\\xda\\xac\\x8b\\xa5\\x48\\x1e\\x82\\xb4\\x33\\xd0\\xa2\\x6f\\xc9\\x76\\xd1\\x6a\\xb5\\x3f\\xe6\\x15\\xe3\\x07\\x0e\\xe1\\x76\\xa3\\xef\\x74\\xc0\\x7b\\x23\\xfd\\xf2\\xaf\\x04\\xc7\\x23\\x3b\\x3b\\x20\\x87\\x9f\\xe4\\xdf\\x12\\xec\\xf6\\x18\\x01\\xbb\\x9d\\x22\\xd8\\xed\\x0c\\x6d\\x32\\x05\\xe6\\x33\\x10\\x2c\\x42\\x82\\xf5\\xd0\\x81\\xc7\\x7a\\xf8\\x9d\\xc7\\xfb\\x70\\xbb\\x9b\\xb0\\x1e\\x30\\x86\\x6b\\x06\\xd9\\xbf\\xe7\\x91\\xb6\\x71\\x2d\\x92\\xf3\\x04\\x7f\\x6a\\x53\\x40\\x9d\\x80\\xb7\\x7c\\x35\\x00\\x68\\xb4\\x77\\xf3\\x58\\xe0\\x3e\\x98\\x78\\x01\\x57\\xa4\\x8e\\xd0\\x9c\\xcf\\xd3\\xcc\\x12\\x9a\\x7d\\xb0\\x22\\xa4\\x9d\\x4e\\xe8\\x3b\\xbb\\xb9\\x72\\x8d\\x08\\x14\\x93\\xdf\\x7b\\xa1\\xdf\\x27\\xb0\\xdd\\x34\\x22\\x3a\\xb8\\xe9\\xef\\xa2\\x51\\xba\\x58\\xfc\\x77\\xc4\\x9b\\x8e\\x48\\x8e\\x78\\x6a\\xe3\\xe3\\x03\\xc7\\x44\\x9e\\xc3\\x63\\xc2\\xcf\\x05\\x60\\x98\\x24\\x24\\x34\\x8d\\x89\\xb7\\x41\\x46\\xf9\\x6c\\x10\\x7f\\x5b\\x34\\x68\\xd1\\x22\\xa0\\x2d\\xc1\\x0e\\x59\\xe3\\xb3\\x43\\x84\\xb6\\x68\\x10\\x1f\\xdf\\xd4\\x16\\xc1\\x99\\x26\\x6d\\x7d\\x28\\xb4\\x25\\x11\\xbe\\x95\\x9a\\x1a\\x48\\x17\\xc1\\xc4\\x23\\x6d\\xdd\\xe4\\xdb\\xfa\\x99\\xff\\x56\\x4a\\x4a\\x13\\xb6\\x8a\\xb2\\xf1\\x16\\x17\\x47\\xee\\xd1\\x92\\xdd\\x41\\x41\\xe6\\x62\\x0f\\x13\\x14\\x24\\xa3\\x64\\xda\\x4a\\x8f\\x4a\\xa6\\x47\\xe3\\x09\\x16\\x62\\x40\\x9a\\x81\\x1d\\xf0\\x3a\\x5e\\x1c\\x60\\x3a\\xf8\\xae\\xcc\\xa3\\xac\\xf8\\x40\\x28\\x8d\\xf9\\x2b\\x16\\x2e\\x9e\\xfc\\xc2\\x7a\\xf8\\xe5\\xd1\\x5b\\x0f\\xc2\\x41\\x70\\xd0\\xa2\\x31\\x8b\\xb6\\xc0\\xeb\\x2d\\xa3\\x41\\x0f\\x6f\\x2d\\x97\\xf7\\x01\\x3c\\xab\\x5b\\x3f\\xf5\\x8d\\x46\\x6a\\xd1\\xe1\\x0f\\x2b\\x66\\x4d\\x5a\\x39\\xe1\\xd8\\x76\\xa0\\xe4\\x31\\xb5\\x1a\\xd0\\x7e\\xb3\\x08\\x63\\x6a\\xd1\\xa5\\x4f\\xc2\\x84\\x96\\x76\\x41\\xcd\\xb7\\x7f\\xa4\\x26\\x04\\x8f\\x31\\x31\\x48\\xc0\\x98\\xc0\\xdf\\x49\\xa1\\x9a\\x21\\x51\\xf8\\xdb\\x19\\xa5\\xf1\\xb5\\xd3\\xc4\\x7f\\x1f\\xb8\\x74\\x20\\x5e\\xc5\\x1a\\x3f\\x5e\\x85\\x8f\\xff\\x26\\x53\\x53\\x2d\\x66\\x92\\x3b\\x86\\xf9\\x8f\\xf1\\x97\\x9b\\xc9\\x85\\xd5\\x1a\\xd8\\x16\\xc9\\xc9\\x22\\xb2\\x5e\\xd2\\x4c\\x2e\\x7c\\x46\\x65\\x46\\xb3\\x3c\\x34\\x13\\xf2\\x73\\x0b\\xdc\\xc9\\x16\\x7d\\xa5\\xe7\\xb4\\x05\\xed\\x6f\\x16\\xb4\\xbf\\x59\\x40\\x57\\xf4\\xd6\\x82\\xf7\\x37\\x4b\\x84\\x05\\xed\\x6f\\x16\\x0b\\x25\\xc1\\x38\\x0a\\x12\\x96\\xd2\\x3c\\x96\\x95\\xd6\\x7c\\x7b\\x7b\\x34\\x2b\\xcd\\x9e\\xa6\\xc7\\x16\\x38\\x88\\x66\\xa2\\x5c\\xe9\\x8f\\xa4\\xa1\\x8d\\xf9\\xa2\\x1a\\x46\\x88\\xc1\\xc0\\x33\\x55\\xe0\\x6b\\xf6\\xb1\\xb4\\xb3\\x1f\\xc1\\xa8\\xcc\\x56\\x90\\x59\\x03\\x0f\\x76\\xff\\xab\\x79\\xae\\x99\\x01\\xd1\\x9c\\xe2\\x0e\\x09\\x55\\x09\\xf8\\x34\\x18\\x91\\x86\\x12\\x8b\\x2d\\x24\\xb9\\x4c\\xfb\\x58\\x72\\x19\\x7f\\xd4\\xdf\\x3c\\x9f\\x0c\\x10\\xcc\\xb2\\x5c\\x9a\\x0f\\x48\\x68\\x9e\\x3e\\x06\\x67\\xb2\\x1b\\x6b\\xe6\\xc7\\xc5\\xb2\\x25\\x9e\\xe1\\x73\\xe2\\x1e\\x49\\x18\\x03\\x17\\x3a\\x9d\\x7d\\x76\\xd9\\x7b\\xf9\\x03\\x2b\\xa6\\x2f\\xa0\\x9a\\x70\\xb1\\xf1\\x1c\\xe3\\xba\\x38\\x01\\xf3\\xc2\\x32\\x61\\x61\\x4f\\x9c\\x17\\xf6\\xe5\\x80\\x79\\x61\\x99\\x98\\x98\\xa6\\x39\\x26\\xf8\\xb9\\x64\\x8d\\x7d\\xfb\\x88\\xbc\\x44\\x47\\x07\\xb6\\x45\\x30\\xad\\x88\\xbc\\x78\\xf9\\xb6\\x7e\\xf3\\xad\\xea\\xa6\\xf5\\xca\\xd7\\x25\\x18\\xe4\\xab\\x4b\\x40\\x2f\\xa0\\x68\\x20\\xc7\\xf2\\x69\\x34\\xfa\\xfd\\x0f\\x1e\\x03\\x65\\x90\\x80\\x81\\x42\\xe4\\x9c\\x97\\xe1\\xd0\\x50\\x6d\\xf3\\xfa\\x06\\xa3\\x7c\\xed\\x04\\xac\\x7b\\x8b\\x25\\x50\\x87\\xf0\\x6d\\xad\\xf1\\xe1\\xa9\\x50\\xc3\\xb8\\x47\\x32\\xc6\\xfc\\x6d\\x6d\\xf4\\xb7\\x95\\x0f\\x6a\\xfe\\xa3\\xad\\xdd\\x3e\\xba\\xe8\\x35\\xd4\\x9f\\x8f\\xe7\\x9f\\x21\\x3e\\x90\\xf3\\x23\\x42\\xdb\\x45\\x9e\\x36\\xea\\x17\\xe1\\x7b\\xcd\\x79\\x3f\\xc9\\xbf\\xbe\\xee\\x35\\x5b\\x5f\\x61\\x61\\x4d\\x3a\\x29\\x1f\\xed\\xe7\\x46\\xa4\\x93\\xa4\\x54\\xa8\\x5b\\x89\\x6b\\xc6\\x4a\\x19\\x09\\x83\\x9c\\x03\\x9d\\x28\\xe0\\xe4\\x5c\\x88\\x76\\xc3\\x87\\x5f\\x80\\x33\\x26\\x7a\\xab\\xde\\x5e\\x51\\x77\\xbf\\xe8\\x3d\\x7c\\x9c\\x72\\x8d\\x9c\\x99\\xbf\\xcc\\x75\\xc0\\xf8\\xab\\x68\\xdf\\xc5\\x31\\x74\\x52\\x2a\\x62\\x3f\\x25\\xc5\\xb8\\x31\\x34\\x57\\xe4\\xa1\\xd5\\x40\\x14\\x70\\x5a\\xee\\x37\\xc9\\xf8\\x16\\x41\\xda\\xa6\\xf3\\x4c\\xb6\\xcd\\x7b\\x65\\x5e\\xdd\\xd8\\x3b\\xe4\\xf0\\x10\\xd9\\x5e\\x88\\x17\\x04\\x4b\\x9a\\x8c\\xf1\\xeb\\x47\\xe4\\x2b\\x2a\\x2a\\x90\\x67\\x04\\xff\\x8d\\x8c\\xf1\\x41\\x33\\xf9\\x6a\\x5a\\xf7\\xa0\\x71\\x31\\xe2\\xab\\x89\\xe4\\xe1\\xa6\\xbb\\x43\\xa4\\xa1\\x54\\x68\\x7f\\x8f\\x08\\xf9\\xe1\\x32\\x77\\x30\\x09\\xbf\\xd3\\xa9\\x43\\xf8\\x32\\x11\\x01\\xae\\x48\\xf0\\x99\\x26\\x1b\\x4a\\xef\\xe4\\xf1\\x15\\x49\\xc0\\x5f\\xb3\\x62\\xd0\\x88\\x1f\\x65\\xf3\\x9f\\x66\\x3e\\x4c\\xf2\\x56\\xe5\\x91\\xf8\\xc2\\xf2\\xda\\xe8\\xe8\\xfa\\x0d\\x8e\\xd1\\x61\\x71\\x29\\xae\\xbc\\x32\\x99\\x76\\x6e\\xcd\\x7c\\xfa\\x21\\xdd\\xf9\\x1a\\x5c\\x7d\\x12\\xa6\\x6c\\xdf\\xb1\\x59\\x2e\\x3a\\xab\\x68\\xd7\\xb2\\x9c\\x76\\x12\\x3b\\xe5\\x23\\xa4\\x7f\\x5f\\x44\\xfc\\x0a\\xa1\\x32\\xdd\\xa1\\xa2\\x20\\x4b\\x50\\x91\\x87\\x41\\x1e\\x64\\x48\\x08\\x86\\x2f\\x50\\x8b\\xdd\\x26\\xa3\\x02\\x59\\x2f\\x4d\\x17\\x44\\xc1\\x67\\xfe\\x25\\x06\\x31\\x90\\x2c\\x42\\x15\\x8e\\x48\\x7c\\x51\\x88\\x48\\xcc\\x2d\\x8b\\x8e\\xd9\\xb0\\x1a\\xd1\\x14\\x93\\xe2\\xaa\\x0b\\x36\\x3e\\x53\\x1a\\x10\\x9e\\x78\\x78\\xfb\\xa1\\xb5\\x72\\xd1\\x01\\xc5\\xd4\\x1a\\x21\\x4e\\xb1\\xf1\\x25\\xc4\\xab\\xb6\\xe4\\x6c\\x32\\xda\\xad\\x33\\x59\\x34\\x7a\\x56\\x67\\x36\\x20\\xd3\\x8e\\x91\\xe2\\x0a\\x9f\\x01\\x1e\\x2d\\x29\\x75\\x6c\\x68\\x76\\x13\\xea\\x00\\x4d\\xa7\\xdf\\x26\\xb6\\xc7\\x47\\x6f\\x67\\x4e\\x30\\xc7\\xbb\\x1c\\x25\\x1d\\x62\\xcb\\x86\\x3e\\x7a\\xf0\\x7e\\x09\\xb6\\x2e\\x5c\\x53\\x8f\\xab\\x5e\\xe7\\xb4\\x8e\\x1f\\x77\\xa8\\xd9\\xf9\\xbb\\xf7\\x07\\x92\\x3f\\xdd\\x78\\x12\\xf1\\xe7\\x36\\xb1\\xe3\\x22\\xdd\\x3a\\x8d\\xb1\\xc4\\xa3\\xd3\\x84\\x88\\xa4\\x0c\\xc5\\xd2\\x62\\x96\\x2f\\x89\\x46\\xce\\xdd\\x9d\\x7c\\x11\\x6f\\x5f\\xcf\\x24\\xb8\\xca\\xe7\\xc4\\x66\\xa4\\xdb\\xe9\\x7c\\xf8\\x36\\xbc\\x40\\x33\\xf0\\x07\\xe0\\xd8\\x0a\\xd2\\x91\\xb3\\x1f\\xf4\\x56\\xfb\\xc4\\xb3\\x5b\\xaa\\x8b\\x11\\x6d\\x65\\x2d\\x53\\x1e\\x39\\x8b\\x7f\\x7f\\xca\\xd2\\x56\\xaf\\xee\\xd7\\x7e\\xa6\\x68\\xd9\\x21\\xbb\\x8a\\xb7\\x27\\x05\\x9c\\x7b\\x4a\\x8b\\xef\\x1e\\x94\\x32\\x2d\\xa5\\xed\\xef\\x11\\x23\\x1b\\x87\\x56\\xa8\\x75\\x9c\\x3f\\xee\\xa5\\xa9\\x7c\\x0c\\x7f\\x53\\x4e\\x6e\\x3a\\x70\\x45\\x13\\xf4\\xf2\\x36\\x90\\xde\\x16\\x46\\x0e\\xdb\\x02\\x5d\\x1c\\xfc\\x0c\\xd8\\xe0\\xc7\\xfc\\x6d\\x84\\x06\\x7e\\xc3\\xb8\\x69\\x8e\\x0c\\xfd\\xc1\\x29\\xef\\x42\\x72\\x17\\x31\\x8e\\x8c\\x9f\\xc7\\xbc\\x0c\\xe8\\xb7\\xd4\\xd7\\xaf\\x91\\xc3\\x41\\x1c\\xff\\xde\\xaf\\x9e\\xef\\x77\\x19\\x60\\x7f\\xf4\\x8d\\xfa\\x69\\x20\\xb3\\xc3\\x7f\\xfe\\x82\\xe7\\x0e\\xc0\\x2d\\xf0\\x02\\xd8\\x08\\x1f\\xd2\\x2f\\xa0\\x57\\x34\\x6a\\x58\\x7e\\x0a\\xba\\x30\\x1b\\xc0\\x47\\x24\\x76\\x1b\\xad\\x34\\xf6\\x8a\\x80\\xef\\x12\\xe1\\xd6\\xb0\\x5a\\x7c\\xe0\\x22\\x15\\x49\\xd5\\x48\\x3b\\xe8\\x44\\x4c\\xb3\\x78\\x69\\x7d\\x7a\\x66\\x4c\\x4b\\x02\\xe8\\x1f\\x1d\\x6b\\x23\\xc8\\xd9\\x91\\xba\\xe5\\xc0\\x7c\\xe4\\xab\\x81\\xa4\\x78\\x8b\\xf1\\xea\\x03\\x90\\xfc\\xdb\\x8e\\xfc\\x2d\\xf0\\x7d\\x50\\xbd\\xe4\\xcb\\xb1\\xb4\\xf4\\xfe\\xc1\\x43\\xc7\\x57\\x81\\x31\\xa4\\x06\\x3d\\xd2\\xe7\\xbf\\x13\\xfb\\xb8\\x13\\xc1\\x9d\\xf8\\xa9\\xf1\\x47\\xf6\\x2b\\xa2\\x8b\\xec\\xf8\\x64\\xdc\\x1a\\x52\\xed\\xb1\\xea\\xf5\\xe2\\xfe\\x1e\\x59\\xb8\\x3e\\x5c\\xaf\\x34\\x32\\x4a\\xba\\xbf\\x47\\x19\\x18\\xc2\\xee\\x2b\\xa6\\xaa\\x37\\xf0\\xeb\\x31\\x5a\\x24\\x54\\xc7\\xc5\\x95\\x09\\x7d\\x55\\x71\\x43\\x48\\x98\\x24\\x4e\\x98\\xbe\\x54\\xde\\x61\\x94\\xc5\\x5e\\x31\\x72\\x26\\x30\\x14\\x4d\\x29\\x1c\\x3b\\x01\\x7d\\x59\\xd6\\xb5\\xfa\\xe7\\x77\\x75\\xad\\x2b\\x53\\xbb\\xdc\\xea\\x9c\\x72\\x66\\x73\\x59\\x55\\xaa\\x0e\\x74\\x59\\xb4\\x64\\xf2\\xc9\\x6d\\xf0\\xec\\xa0\\xfc\\xd7\\x96\\x02\\x35\\xd0\\x81\\x3f\\x1f\\x4e\\xae\\xc8\\x19\\x06\\x00\\x98\\x0a\\x17\\xde\\xfb\\x29\\xa1\\x75\\x1e\\x8f\\xf1\\xf1\\x37\\xa2\\xff\\x06\\x77\\x9a\\x64\\x01\\xa7\\xbb\\x43\\x43\\x0d\\x25\\x9e\\x50\\x93\\x0a\\xcf\\x8f\\xd4\\x6c\\xa6\\xa5\\x52\\x6b\\x91\\x47\\xaa\\xa1\\x13\\x90\\x0a\\x6c\\xbe\\x35\\xeb\\xb2\\x75\\xd9\\xc4\\xf3\\xb0\\x05\\x64\\xcf\\x9a\\xfd\\xf4\\xea\\x5d\\xfc\\x7a\\x4e\\x6e\\xaa\\xa0\\x4e\\x92\\x07\\xe8\\x88\\x79\\xdb\\x46\\xd5\\x8d\\x3c\\x35\\xab\\xcf\\x68\\x35\\x18\\xf9\\xcb\\x49\\x63\\x56\\x45\\x6a\\xf2\\xb5\\x24\\xc7\\xfb\\xaf\\xf7\\x18\\x9c\\xed\\x68\\xd9\\xc1\\x3d\\xae\\x43\\x5a\\x62\\xbb\\xb9\\xc5\\xa7\\x2e\\xef\\x5c\\xf7\\x1d\\x18\\x72\\x62\\x60\\x39\\x9d\\xfb\\xe0\\x6e\\xad\\xab\\x2f\\x00\\xbf\\x5e\\xbf\\xf5\\x7b\\x8b\\x62\\xba\\x62\\xc0\\x80\\x17\\x1a\\xa9\\xd5\\x3d\\x2a\\x96\\x34\\x60\\x9f\\xb2\\x13\\xe2\\xf7\\xaf\\x9c\\x87\\x4a\\xc0\\x71\\x5d\\x36\\xad\\x46\\x8b\\xcc\\x1c\\x2d\\xa3\\x65\\x24\\x21\\x11\\x11\\x41\\xd5\\x9e\\x08\\x56\\x42\\x55\\x7b\\x24\\xfa\\x40\\x04\\x4f\\x52\\x20\\x96\\x8f\\xe4\\xb4\\x35\\x31\\xf6\\x91\\xb2\\x28\\xfe\\x2c\\x4d\\x1c\\xc0\\x89\\xa8\\x67\\x62\\x11\\x7b\\x7f\\xc5\\xec\\x7d\\xea\\xa9\\x84\\xb6\\x3d\\x1d\\x89\\x51\\x3d\\x46\\x65\\x24\\xe4\\x0d\\xca\\x3c\\xdf\\xfd\\xc6\\xa6\\x97\\xd7\\x2c\\x9b\\xd5\\xc5\\x1d\\x76\\xc4\\xc7\\xdd\\xd2\\x63\\xc7\\xda\\xb7\\xba\\xba\\xe0\\xa9\\x9c\\x9c\\xca\\x71\\x9d\\x76\\xee\\x5c\\x38\\xfb\\xf9\\x53\\xf1\\x9a\\x6e\\xab\\xe6\\xcf\\xe2\\xcf\\x02\\x32\\x1b\\x7f\\x41\\xbe\\x1d\\xc6\\x9e\\xce\\x70\\x87\\x68\\x01\\xfa\\xa4\\xd8\\x03\\x42\\x41\\x68\\x94\\x3c\\x2a\\xa8\\xc4\\x13\\x65\\x92\\xc8\\xe5\\xa2\\x62\\x8f\\x5c\\xd3\\xbc\\x06\\x6c\\x13\\xd5\\x80\\x04\\x64\\x12\\x64\\x0e\\xbe\\xf0\\x0f\\x0f\\x2b\\xc1\\xeb\\x73\\x1f\\xdf\\x31\\x12\\x05\\x30\\x45\\xbf\\x30\\xe2\\xa9\\xe9\\x99\\x3f\\xd5\\x80\\x41\\x2b\\x37\\xbf\\xfc\\x22\\x98\\x3a\\xc4\\x6c\\x4f\\x68\\x13\\x9c\\x7c\\x3d\\x29\\xe5\\xbd\\x57\\x47\\x4f\\xcd\\xb1\\x57\\x80\\x8b\\xdb\\x4b\\xaa\\xab\\x96\\x9a\\x40\\xd2\\xd4\\xda\\x31\\xab\\x22\\x68\\xe5\\xc8\\xe1\\xa5\\xad\\x26\\x2c\\xf8\\xf5\\xfa\\xdd\\x9f\\xb2\\xa7\\x4f\\x29\\xec\\x12\\x89\\xa8\\x7b\\x0a\\xed\\x89\\x2f\\x70\\x7d\\x90\\xa7\\xe6\\x72\\xeb\\xcc\\x1c\\xcb\\xb1\\x95\\x1e\\x8e\\x8b\\xd6\\x46\\x87\\x55\\x79\\xa2\\x75\\x91\\x68\\x93\\xdd\\xab\\xd4\\x6a\\xe5\\xd5\\x1e\\xad\\x1f\\xf0\\xac\\x19\\x56\\x06\\xc1\\x7e\\x0f\\x04\\x14\\x69\\x16\\x1a\\xab\\x06\\xfc\\x8d\\x54\\x26\\x63\\x9e\\xf6\\x56\\xcb\\xc4\\x96\\xa0\\x78\\x50\\xe5\\xf9\\x69\\x7f\\x96\\x80\\xcc\\x5b\\xa7\\xef\\x1c\\xdc\\x30\\x65\\x8e\\x58\\x33\\x1a\\xed\\xd4\\x2f\\xb6\\x63\\xc1\\xec\\xbc\\xee\\x57\\x6f\\x74\\xe9\\x79\\xaf\\xdb\\xfb\\x47\\xb6\\x2e\\x5f\\x7e\\x26\\x56\\x3f\\x67\\x50\\x54\\x6c\\x1f\\x72\\x5f\\xd6\\xc7\\xc4\\xf3\\x76\\x13\\xa2\\x55\\x4a\\xce\\xa5\\x33\\xf7\\x53\\x31\\x68\\xff\\x0e\\x0a\\x46\\xde\\x3a\\x62\\xa7\\x58\\x0c\\x34\\x06\\x83\\xb2\\xd8\\x63\\xd0\\x80\\xa8\\xe6\\x37\\xdf\\x01\\xb1\\xaf\\x64\\x5b\\x77\\x3d\\x39\\xe6\\x55\\x0d\\xfc\\xe4\\xd2\\x7f\\xbc\\xd6\\x8a\\xad\\x5b\\x1c\\xfd\\xf6\\xd2\\xb6\\xb9\\x85\\x4f\\x1b\\x7f\\x4a\\x07\\xa2\\xbd\\x6b\\x8f\\xbc\\xf4\\x12\\x18\\x3e\\x91\\x33\\x4d\\x18\\x7b\\x07\\xb8\\x62\\xda\\xb6\\xdc\\xde\\xa3\\x57\\x6a\\x66\\x41\\x9e\\x69\\xd9\\x2b\\xb3\\x46\\x12\\xa0\\x8d\\x51\\x3d\\x2c\\x21\\x4f\\x93\\x0b\\x74\\xd0\\xb8\\x12\\xc9\\x6d\\x23\\xd2\\x13\\x36\\x7c\\x57\\x25\\x12\\x05\\x45\\x47\\xeb\\x10\\x33\\x99\\x20\\xc4\\xd2\\xe0\\x20\\xbd\\x9c\\xae\\xe6\\x6f\\x64\\xfc\\xc7\\x8a\\xfe\\x53\\x3b\\x7f\\x89\\x6c\\x5f\\x05\\x6d\\x2b\\x43\\xfb\\x71\\x08\\xf9\\x73\\x46\\x11\\xa3\\xcc\\x4c\\x74\\x07\\x23\\x6d\\x90\\xfa\\xc1\\x9b\\x33\\x9f\\x09\\x9e\\x56\\x39\\xba\\xaa\\x4f\\xc5\\x84\\xbe\\xe4\\xec\\x33\\xb3\\x70\\x50\\xc7\\xd5\\xb4\\xf6\\x5d\\x23\\x08\\xf2\\x8c\\x5b\\x84\\xe5\\xf5\\xc1\\xf5\\x89\\x33\\xfb\\xce\\xa7\\xe7\\xc3\\x39\\xf0\\xc8\\xaf\\xd3\\xb3\\xb5\\xf7\\xc4\\x43\\x80\\xfa\\x06\\xb8\\xf7\\x70\\xf2\\x48\\x61\\xef\\x40\\x3a\\xe2\\x5b\\xa4\\xc3\\x63\\x70\\xfc\\x47\\x84\\xb9\\xc4\\x13\\x61\\x0a\\x0e\\x16\\x69\\xb5\\x00\\xa3\\x70\\x8b\\x14\\x48\\x43\\x88\\x4c\\x54\\x33\\x3a\\xf9\\x93\\xd8\\xc0\\x13\\xd0\\x36\\xb4\\xef\\xe0\\xc6\\xa7\\x1a\\x30\\xf1\\xf4\\xa2\\x5e\\x43\\x27\\x0d\\x1c\\x51\\x15\\x53\\xa6\\xb3\\x59\\xe2\\x13\\x5b\\xb9\\x7b\\x2d\\xa5\\xc5\\x93\\x89\\x52\\xb8\\x9e\\xe4\\x38\\xfe\\xfa\\xb3\\x13\\xcd\\xcc\\x14\\xb8\\x09\\xee\\xdb\\x94\\x8f\\x4f\\x45\\xb3\\x66\\x3f\\x04\\xe7\\xbd\\x73\\xfc\\xea\\x60\\xfa\\x9c\\x1e\\x13\\x70\\x1c\\x14\\xe2\\xe5\\x3e\\xb2\\xdf\\x23\\x7f\\xc8\\xa4\\xad\\xf2\\x9c\\x36\\x21\\x7f\\xc8\\x84\\xfc\\x21\\x13\\xe8\\x8a\\xde\\x9a\\xb0\\x3f\\x64\\x8a\\x30\\x21\\x7f\\xc8\\x84\\xfe\\xe9\\x2d\\x06\\x46\\xaf\\x93\\x21\\x16\\xcb\\xf4\\x4d\\xa7\\x4d\\x48\\x13\\x37\\xf7\\x87\\x40\\x80\\xda\\x45\\xb4\\xe6\\x82\\xa6\\x72\\x6a\\x22\\x7a\\x57\\x6b\\x5e\\x1d\\x7c\\xb2\\x69\\xee\\xa4\\x20\\xf3\\xc1\\x51\\xbf\\x00\\xd1\\x2f\\x83\\x0f\\x0e\\x46\\x6a\\x18\\xc4\\x0b\\x4a\\xf6\\xef\\x1f\\x67\\xcc\\x2d\\x9f\\x36\\xde\\x77\\x0c\\x88\\xd4\\x2f\\x25\\x60\\xa4\\xbd\\x46\\xec\\x01\\xe4\\x07\\xe1\\x84\\x5b\\x5f\\x04\\x9b\\x12\\x28\\x2d\\x6c\\xb0\\xda\\x62\\xd4\\x4a\\x4b\\x3c\\x5a\\xd3\\x63\\x84\\x91\\xb0\\x0f\\x7f\\x91\\x74\\xbc\\xce\\x85\\x6a\\x7b\\xf8\\x48\\x0e\\xbc\\x5c\\xfa\\x41\\xe9\\xb5\\xc9\\xba\\xdc\\xb4\\xee\\x66\\xc4\\xb9\\x7e\\xf0\\xc8\\xbc\\x29\\xe6\\x0f\\xca\\xaf\\x0b\\x71\\x6d\\xde\\x39\\x7d\\xb3\\x47\\xcc\\x9b\\xf8\\xeb\\x75\\x18\\x33\\x77\\x71\\xe1\\x4c\\x12\\xe1\\x26\\x9c\\x79\\xac\\x27\\x35\\x7b\\x12\\x88\\xad\\x5d\\x40\\xe2\\x97\\xba\\x21\\x5f\\xda\\x4a\\xd6\\xd2\\x34\\xf4\\xfb\\x25\\x72\\x77\\x19\\xed\\xd6\\x9a\\xf4\\x06\\xe4\\x69\\x4a\\x24\\x0a\\x03\\x43\\xa0\\xd2\\xf4\\xfe\\xf2\\x23\\xcd\\xae\\x98\\x43\\x90\\xb5\\x20\\x10\\xc6\\x57\\x79\\xfb\\x7e\\x96\\x72\\xf0\\x73\\xa9\\x5d\\x80\\xa5\\x73\\x05\\x2c\\xdf\\xfb\\xae\\x76\\x06\\xfc\\x20\\x91\\x59\\x93\\xc8\\x56\\x7b\\x2b\\xf3\\xd2\\xe7\\xf1\\xac\\x82\\x31\\xab\\xd6\\xe6\\x97\\xd3\\x2f\\x0b\\x31\\x2b\\x3d\\x51\\xbf\\xeb\\x10\\x89\\x16\\x62\\x33\\xa0\\xcd\\x52\\x87\\x58\\xa2\\x33\\xd1\\x16\\xca\\xd2\\x84\\x1a\\x1e\\xb0\\x26\\xc8\\x9d\\xbe\\xc8\\xa7\\x00\\xa3\\x70\\x81\\x06\\x61\\x69\\x4c\\x66\\x28\\xdb\\x1f\\x3d\\xb5\\xb9\\x6e\\xcf\\xd0\\x90\\x64\\x10\\x92\\x94\\x02\\x1b\\xaf\\x9d\\xd8\\xab\\xeb\\xf1\\x07\\xb6\\x1d\\x3b\\xf4\\x4e\\x6a\\x97\\xf3\\xf4\\x92\\x5f\\xaf\\xff\\x79\\x73\\xf9\\xda\\x82\\x7e\\x60\\x17\\xe6\\x41\\x0c\\xea\\xfb\\x34\\xe7\\xd1\\x89\\x40\\x89\\xbf\\x1e\\xe5\\x06\\xc2\\x93\\x50\\xe1\\x4e\\xa2\\x17\\xb9\\x93\\x08\\xc7\\x18\\xed\\xc6\\x90\\x2a\\x4f\\x90\\x31\\xe4\\xdf\\xee\\x23\\x9c\\x4f\\xbc\\x8f\\x08\\xbc\\x16\\x70\\x3d\\xe9\\x5a\\x02\\xfe\\x16\\xbb\\x63\\xa3\\x6d\\x78\\x6c\\x52\\xdb\\xf0\\x96\\x9d\\xd4\\x8f\\xdf\\x4e\\xdc\\x7f\\xf6\\x83\\xad\\x72\\xe9\\x0d\\x65\\xd7\\x22\\x8c\\x8b\\x2f\\x9c\\xb7\\x47\\xf0\\xf4\\x94\\x10\\x7a\\x08\\x80\\x29\\x27\\x2f\\xf2\\x48\\xfc\\xf8\\xa5\\x7e\\x7a\\x1e\\xbf\\x96\\x08\\xa4\\x47\\x4f\\x3f\\xf3\\xd8\\xed\\xc4\\x83\\x4b\\x09\\xfb\\xd6\\x22\\x7a\\xe2\\x3a\\x84\\xb6\\xea\\xa8\\xd9\\xfb\\xf8\\x35\\xc5\\x83\\x8d\\x9f\\xee\\x93\\x4b\\xcf\\x2b\\x0b\\x8a\\x99\\x6d\\xc4\\xaf\\x86\\x35\\x42\\xbd\\xa9\\x74\\xde\\x7f\\x46\\x34\\x6e\\x26\\x78\\xae\\x65\\xe4\\x77\\xe4\\xdf\\x70\\x43\\xc9\\x79\\x5d\\x0e\\xf9\\xdd\\xc3\\xd7\\x8e\\x40\\xbf\\x97\\x93\\xf9\\xff\\x0b\\xd6\\xd1\\x33\\x1a\\x4f\\x91\\x4a\\x73\\x7a\\x91\\x4e\\xad\\x96\\x5f\\x06\\x68\\x97\\x74\\x83\\x22\\x50\\x05\\x58\\xa0\\xa1\\x1c\\xa7\\x2b\\x2a\\x70\\xe6\\x35\\x89\\x39\\x16\\xf4\\x34\\xc1\\x40\\x03\\x78\\x5d\\xe0\\x2c\\xa3\\xd1\\x83\\x95\\x51\\xb6\\x34\\xa7\\x4c\\x32\\x40\\xa6\\x29\\x2d\\xd0\\x0c\\xd6\\xd6\\xc0\\xba\\xae\\x8a\\x88\\xd0\\xe4\\x4c\\x47\\x6a\\xcf\\xbe\\xf2\\x7e\\xfd\\x74\\x35\\xd8\\x5f\\x66\\xe8\\x89\\x5c\\x37\\xe6\\xa1\\xe8\\x10\\xb2\\x13\\xcd\\x94\\x95\\x8a\\x43\\xfe\\x8a\\x54\\xaa\\x56\\x33\\xe0\\x5d\\xe6\\x37\\xa6\\x91\\x61\\x18\\xb7\\x54\\x99\\xcf\\x84\\x44\\xed\\x03\\x7d\\x11\\x23\\x4f\\xb7\\xa8\\x18\\x8d\\xf3\\x88\\xf1\\x86\\x96\\xc9\\x6f\\x0a\\x88\\x75\\xae\\x80\\xf7\\xe2\\x80\\xf7\\xf4\\xc4\\xe4\\xc8\\xe8\\xe4\\xe4\\xe8\\xc8\\xe4\\xeb\\xbe\\x37\\x2f\\x27\\xa1\\x37\\x29\\x91\\x91\\x49\\xa2\\x91\\x91\\x49\\x49\\xfc\\x87\\xfc\\xcf\\x77\\xf1\\x7b\\xf4\\x37\\x34\\x7e\\x7a\\x0c\\xa2\\xe9\\xb6\\xe8\\x21\\xa2\\x49\\xbe\\x9d\\x12\\x91\\xae\\x4f\\x63\\x47\\xc9\\x8c\\xfe\\x59\\x5d\\x76\\xf4\\x8f\\xb9\\xbd\\x65\\xe1\\x96\\x85\\xef\\x8f\\x7f\\x67\\xe1\\x96\\x45\\x5b\\x44\\x0f\\x7b\\xfa\\xff\\xc3\\x36\\x1d\\xfd\\x21\\x7a\\x7e\\xb1\\x30\\xa6\\x68\\xb7\\x5e\\xfa\\xe8\\x70\\xd4\\xc6\\x80\\xe1\\x34\\x1f\\x4b\\x33\\xfa\\x6f\\x23\\xca\\x52\\x1c\\xd6\\xc8\\x24\\x7b\\x92\\x35\\x2a\\xd9\\x11\\x69\\x4d\\x12\\xd5\\x44\\x27\\x25\\xa1\\x71\\x24\\xbf\\x1b\\x99\\x92\\x82\\xc9\\x26\\x3c\\x2c\\x41\\xfd\\x35\\x08\\xfd\\x85\\x60\\x1e\\x5a\\x98\\xa0\\xff\\xee\\xf4\\xb8\\xe6\\xf8\\xbf\\xf7\\x8b\\xf3\\x22\\x98\\x12\\xc4\\x19\\xd2\\x85\\x3d\\x39\\x32\\xca\\x81\\x79\\x77\\x29\\xbf\\xb6\\x53\\x60\\xff\\x8e\\x28\\xd4\\x7f\\x32\\xa8\\x85\\xcf\\xe3\\x1a\\xd7\\x1d\\x90\\xcc\\xd4\\x34\\xbe\\x83\\x68\\x50\\xed\\xa1\\x44\\x1a\\x11\\x8d\\xbc\\x63\\xc7\\xf1\\x0a\\xe4\\xdf\\x11\\xc5\\x20\\xe6\\x71\\xbc\\x0f\\xb0\\xfd\\x3c\\xc6\\x59\\xcb\\x24\\x25\\x9a\\x88\\x4e\\xdd\\x87\\x8d\\xab\\x4d\\x8c\\xc4\\xfc\\x5e\\xc6\\xf5\\x66\\x8e\\x89\\x36\\x51\\x0c\\xe2\\x37\\x03\\x08\\x99\\x67\\x30\\xbf\\x11\\x9f\\x8f\\xed\\x9f\\xb0\\x5f\\x44\\x6d\\xda\\xb4\\x09\\xf7\\xf1\\x37\\x57\\xc4\\x96\\x89\\x66\\x51\\x51\\xc8\\x97\\x53\\x6a\\x43\\x29\\x79\\x28\\xfa\\xa7\\x36\\x03\\xb3\\x30\\x47\\x15\\x7c\\xde\\x00\\x91\\x0f\\x1c\\x99\\x6a\\x16\\x13\\x9c\\x01\\x92\\x48\\xcf\\xfb\\x71\\x2e\\x61\\x88\\xf6\\x64\\x40\\xaf\\x8a\\x4e\\x6b\\x61\\x2f\\x19\\x5c\\x98\\xdc\\x2e\\x21\\xcc\\x11\\x19\\xe1\\x6c\\x11\\x5f\\x32\\x24\\x3f\\xb5\\x53\\x5c\\x54\\x9c\\x28\\x3b\\x3b\\x29\\x5e\\x97\\x1f\\xde\\xab\\x5b\\x6d\\x6a\\x37\\x57\\x6a\\x5a\\x4a\\x82\\x31\\x3f\\xb2\\x57\\xb7\\x11\\xe9\\x05\\x6d\\x12\\x30\\xbd\\xf3\\x11\\xbf\\x77\\x88\\xea\\x30\\x96\\xe4\\x1e\\xb5\\x28\\x02\\x8f\\x95\\x10\\x80\\x87\\x0b\\x32\\xfd\\xe8\\x19\\x62\\xa6\\x25\\x5b\\xe1\\x31\\xce\\x5e\\x22\\xe2\\xba\\x69\\xa2\\xf2\\xba\\xd5\\x3c\\x53\\x63\\xb3\\xe3\\x71\\x64\\x20\\x5e\\xad\\x6a\\xbc\\x49\\x71\\x94\\x64\\x3b\\x60\\x10\\x9b\\xf0\\x32\\xb2\\xa3\\x6d\\x99\\x2e\\x5b\\xb2\\xf4\\xc2\\xd2\\x0b\\xb0\\x6e\\xd7\\xae\\x5d\\x14\\x0d\\xac\\xe8\\x7b\\x1b\\x1b\\x1b\\x48\\x2d\\x2a\\xd5\\x2e\\xbd\\x5e\\x8d\\xfc\\x56\\x87\\xf3\\x78\\x36\\x52\\xb9\\x5c\\xc0\\x7c\\xd9\\x54\\x04\\xf2\\xcc\\x05\\x32\\x7c\\x53\\x05\\x46\\x87\\x9e\\x7a\\xc5\\x30\\x68\\x81\\xae\\x9f\\x6f\\x9a\\x16\\xbf\\x3e\\x6c\\x68\\x5f\\x4c\\x7b\\x7f\\x44\\xfb\\x75\\x44\\xbb\\x18\\xd3\\x8e\\xcb\\x4e\\x33\\x3c\\xed\\x67\\x30\\xed\\xc8\\xe2\\x16\\x63\\x60\\xa4\\xfe\\xe1\\x1f\\xaf\\x36\\x0c\\x9e\\xab\\xe3\\xba\\x2d\\x5b\\x5b\\x33\\xe4\\xff\\xf0\\x1c\\x0d\\xea\\xb9\\x6e\\xec\\x7c\\xf2\\x9c\\x9a\\x32\\xe1\\xb8\\x30\\x1c\\x32\\x2f\\xa7\\x24\\xbc\\x30\\x9e\\x21\\x19\\xcf\\xc2\\xe3\\x51\\xc2\\x4f\\x46\\x24\\x34\\x03\\x3b\\x87\\x9d\\x5e\\x6d\\x1c\\x38\\xc7\\x28\\xb4\\xb7\\x74\\x5d\\xcd\\x80\\x2a\\x8a\\x05\\xa9\\x5c\\x4b\\xae\\x83\\x38\\x9e\\xc2\\xf1\\x8d\\x2d\\x28\\x17\\x8e\\x4e\\xb4\\x30\\x8c\\xc3\\x11\\x0f\\xe2\\xf5\\x19\\x19\\xd2\\x22\\x2b\\xb0\\x52\\x8e\\x0a\\x5c\\x49\\xfd\\x78\\xc5\\x63\\xea\\xc2\\x8e\\xc4\\x2a\\xd6\\xd5\\x54\\x6b\\x5e\\xc4\\x19\\x7c\\x59\\xb1\\xbc\\xb0\\xf0\\x70\\xac\\xfc\\x6e\\xc6\\xbc\\x38\\xcd\\xd3\\x6b\\xfa\\x34\\x4f\\x7e\\xc6\\xe4\\x76\\x13\\x0c\\xe3\\xb3\\xe2\\xe3\\xb2\\x72\\x62\\xed\\x39\\xf0\\x33\\x5b\\xab\\xa7\\x72\\xad\\xf1\\x7d\\xa6\\x4c\\xf3\\x78\\xa6\\x4d\\xc8\\x89\\x8d\\xcd\\xc9\\x8a\\x8b\\xcb\\x12\\x95\\x78\\xa6\\x4d\\xf3\\x94\\x4f\\xb5\\x0f\\x2e\\x1b\\xe8\\x70\\xc4\\x65\\xe1\\xcf\\xb2\\xed\\xed\\xb2\\xf3\\xcb\\xba\\x2a\\xf0\\x17\\xa7\\x79\\xf8\\xcf\\xb2\\x90\\x8e\\x88\\xe0\\x5a\\xb2\\x0e\\x61\\x0c\\x46\\xb7\\xcc\\xe2\\x60\\x00\\xa3\\x2f\\x92\\x02\\x29\\xa6\\xfc\\x78\\x45\\xda\\x7f\\xd3\\x4c\\xcf\\xc0\\xed\\x4d\\xe9\\x83\\xe8\\x6a\\x3b\\xc1\\x38\\x01\\x37\\x8a\\x89\\xe0\\x09\\xf0\\x4c\\xc3\\x04\\x24\\xa6\\xf9\\x3a\\xc3\\x3a\\x9d\\xae\\x22\\x3a\\x6d\\x15\\xa5\\xa5\\x82\\x90\\x3a\\x60\\x59\\xad\\x1a\\xf5\\x25\\x11\\xa6\\x50\\x40\\xd1\\x20\\x66\\xa1\\x5d\\x6c\\xd5\\x23\\x1d\\x4e\\xb6\\x72\\xe6\\xb6\\x5c\\x37\\xb4\\x77\\xa4\\xd9\\x30\\xb0\\xdd\\x80\\x60\\x51\\x74\\x4a\\x92\\x42\\x26\\x5a\\x95\\xd6\\x7b\\x90\\x6c\\x10\\xe8\\xba\\x40\\x91\\xe4\\x4a\\x23\\x6d\\x03\\x1b\\x92\\xd3\\x6d\\xbe\\xfd\\x42\\x69\\xa4\\xe9\\x66\\xdb\\x85\\x56\\x84\\x84\\x16\\x6d\\x18\\xbe\\xfd\\xc2\\x85\\x35\\x81\\x53\\x15\\xe0\\x30\\x89\\xc4\\xe0\\xfa\\x20\\xdd\\x08\\xcd\\x40\\x91\\x38\\x3a\\x2e\\x19\\x6d\\x1a\\x83\\x24\\xe1\\xcf\\xc3\\xba\\xbe\\x9a\\x1a\\x6d\\x7f\\x6b\\xbc\\x2a\\x22\\x2c\\x25\\x23\\x35\\xf5\\xcd\\x20\\xd2\\x97\\x19\\xae\\xa7\\x5f\\x69\\xfc\\x16\\xad\\x1d\\xd5\\x6e\\x06\\xc9\\x17\\x4d\\xe1\\xdd\\x08\\xb1\\x8b\\x63\\xa2\\x5c\\x4e\\x17\\xfd\\x4a\\x1b\\xb8\\xdf\\xf4\\xb5\\xdd\\x0a\\x3f\\x1c\\x76\\xce\\xb7\\xd6\\x5e\\xf1\\xad\\x35\\x16\\x7d\\xd7\\xbf\\xd6\\x7a\\x2e\\x79\\xfe\\xe2\\xd2\\x8b\\xfc\\x5a\\x03\\x40\\x83\\xbe\\xb7\\x1c\\xe9\\x2f\\x31\\xd6\\x5f\\x8c\\x06\\xcb\\x37\\xe5\\xc0\\xc2\\xcd\\x09\\xab\\x8b\\x5e\\x1e\\xfa\\xd1\\x1a\\xe3\\xa0\\xb9\\xfa\\x92\\xe7\\xd6\\x91\\xb5\\x44\\x53\\x68\\x4f\\x63\\x5c\\xe4\\x19\\x35\\xae\\xe0\\xa2\\x60\\x59\\x39\\xff\\xa8\\x1a\\x3d\\x9b\\x76\\x46\\x90\\x3d\\x5f\\x03\\x51\\xbe\\x65\\xfa\\x3b\\x59\\x9c\\xf3\\x74\\x60\\x8f\\xaf\\x45\\xb4\\x3a\\x87\\x54\\x08\\xcd\\x22\\x5a\\x9c\\x88\\x96\\xba\\xc6\\xbf\\x51\\xbb\\x8a\\x5d\\x6e\\x64\\xa1\\x71\\x78\\x88\\x88\\x6e\\x2e\\x17\\xd8\\x6d\\x6a\\x40\\x97\\xc3\\x4b\\xda\\x65\\x75\\x20\\x5e\\xf5\\x22\\xdc\\xe1\\x2c\\x32\\x7d\\xef\\xec\\x6a\\xa1\\xfe\\xef\\x7a\\x89\\xa6\\x3b\\x22\\x99\\x94\\x35\\xc9\\xa4\\xde\\x81\\x6d\\xe2\\x22\\x31\\x10\\x37\\xc9\\xe4\\x7f\\xad\\x95\\xbb\\xb6\\x96\\xfd\\xdd\\xd1\\x64\\x51\\xf4\\x9a\\x3e\\x01\\xaf\\x13\\xbc\\x5e\\x44\\x25\\xcd\\x17\\x40\\xb6\\xdd\\x27\\x93\\xcd\\xe5\\x86\\xd6\\x70\\xdc\\x65\\x16\\x60\\xc4\\xda\\x22\\xb6\\x8a\\x65\\x59\\x83\\x2c\\x50\\x6e\\x38\\x62\\x60\\x3c\\x2a\\x3a\\xf4\\xa6\\xf0\\xe7\\xf5\\xcd\\x45\\x67\\xd0\\x9b\\x41\\x7d\\x9b\\x49\\x0e\\x2f\\xff\\x73\\x11\\x6f\\x7e\\x17\\xed\\x41\\x72\\xe0\\xdf\\x63\\xfc\\x6a\\x97\\xd9\\xb4\\xe4\\xf9\\x4b\\x4b\\x2f\\x71\\xdd\\xb0\\x28\\x08\\xba\\xee\\xa6\\x68\\x2e\\xfa\\xae\\x76\\xb7\\x1a\\xd9\\x43\\x0c\\xcd\\x6b\\x2b\\xc2\\x47\\x22\\x66\\xcc\\xcd\\xd6\\x70\\x9f\\xf1\\xeb\\x78\\xd1\\x5c\\x9f\\x9c\\xfd\\x1f\\xf6\\xbf\\xff\\x8f\\xec\\x6b\\x34\\xd2\\x11\\x93\\x59\\x15\\x9a\\x7f\\x6c\\x47\\x68\\xf6\\x18\\xb1\\x4a\\x52\\x4b\\xc9\\x24\\x3c\\x62\\xa5\\x34\\x53\\x45\\x55\\xbc\\x2a\\xea\\x33\\x05\\xa9\\xa1\\xf8\\xac\\x1c\\x7b\\x93\\x1a\\x0a\\xd0\\x77\\x60\\x1c\\xe2\\x4f\\xcb\\xc6\\xdb\\xa4\\x6d\\xb3\\x5b\\xa1\\xa6\\x8c\\xc0\\x6d\\x5c\\x6b\\xa4\\x8d\\x64\\x4f\\x3b\\x4d\\x0c\\x21\\xee\\x5f\\x0c\\x12\\xf0\\x8a\\x23\\x2a\\xd2\\xe1\\x88\\x8c\\x4c\\xb1\\xa7\\x44\\x62\\x43\\x28\\x3a\\xb9\\x3f\\xbf\\xd1\\x61\\xb3\\xcd\\x67\\x07\\x71\\x54\\x3d\\x5a\\x8f\\x16\\xa1\\x0f\\xb4\\x03\\x50\\x2d\\x29\\xbb\\xdb\\xe8\\x0c\\x09\\xc9\\xa6\\xa2\\x80\\x3b\\x6a\\x6d\\x14\\x1d\\x95\\x64\\x94\\xaa\\xed\\x52\\x06\\x75\\x69\\xc6\\xf0\\x73\\xa7\\x7d\\xe6\\xa4\\xf9\\xff\\xc1\\x9c\\xb4\\xfd\\xcb\\xe7\\xf5\\x3e\\xe3\\xf2\\x86\\xef\\xcd\\xaa\\x64\\xde\\xca\\x44\\xfb\\xb0\\xef\\xa3\\x78\\xf4\\x2b\\xd9\\x8a\\xab\\x10\\xd1\\xc2\\x67\\xc9\\x81\\x76\\xe7\\x6f\\xc2\\x67\\x64\\x40\\x91\\x29\\xc9\\xf8\\xde\\xee\\x1c\\xe2\\xd9\\x7d\\x34\\x1e\\x86\\xac\\xc8\\x30\\x37\\x92\\x45\\xa0\\xa7\\x2c\\xc0\\x6d\\x59\\x6b\\xa1\\x2d\\x4a\\xb1\\xc0\\x38\\xa2\\xbc\\xcd\\xc8\\xd7\\xfb\\x37\\xca\\xcf\\x19\\x40\\xbe\\xa1\\x3d\\xe9\\x26\\xd0\\xa0\\x7b\\xbd\\xa6\\xc6\\xcd\\xd3\\xe9\\x37\\xe7\\x78\\x9c\\x31\\x5f\\xbf\\x62\\x64\\x77\\x44\\xe0\\x6a\\xd3\\x22\\x9a\\x66\\x18\\x33\\x15\\x06\\xdc\\x61\\x6b\\xc3\\xe8\\x30\\xad\\xbc\\xa9\\x67\\x22\\x94\\x2e\\x2b\\xea\\xdd\\xfa\\xaf\\xfd\\x03\\xbb\\xa9\\x16\\x93\\x30\\xdc\\x74\\xfc\\x31\\x22\\xe0\\xad\\xa7\\x6b\\x6a\\x9e\\xde\\xf1\\x04\\x3a\\x00\\x98\\x8c\\x74\\x7d\\x48\\x63\\x3b\\x34\\x9f\\x92\\xed\\x44\\x4c\\x9a\\x4b\\x21\\x98\\x8c\\xbf\\x8b\\xb9\\x05\\x1b\\xa2\\x1c\\xe4\\x79\\x72\\xa6\\x0a\\x24\\xe8\\xb9\\xc5\\x8d\\x1d\\x88\\x1c\\xa8\\x76\\x61\\x87\\x02\\x3f\\xec\\xfc\\x2f\\xbf\\x01\\x48\\x7c\\x13\\xf4\\x63\\x12\\x4f\\x59\\x12\\xbc\\x2b\\x4c\\x45\\x74\\x13\\x51\\x0c\\x88\\x47\\xbc\\x79\\xc7\\x2f\\x63\\x68\\x4e\\x42\\xfc\\xc2\\x15\\xd0\\xd1\\xe3\\xf2\\xfc\\xaf\\xbc\\x89\\xe7\\x59\\x12\\x99\\x72\\xd3\\x27\\x35\\xab\\xd1\\x8b\\x83\\x08\\x39\\xff\\x07\\xd2\\x39\\xfe\\xd2\\xbb\\xbc\\xcc\\x60\\x1f\\x05\\x38\\x1a\\x2d\\xf4\\xc2\\xc6\\x59\\x68\\xb6\\x14\\xbb\\x18\\x31\\x52\\x52\\x48\\x47\\xe3\\x2e\\xf1\\x7d\\x41\\x07\\xd0\\xc9\\x00\\xf7\\x4d\\x1d\\x46\\xbe\\x87\\x78\\x81\\xbf\\x27\\xa6\\xcc\\xfb\\x91\\xb3\\x77\\x74\\x2f\\xf2\\x05\\x00\\xc7\\x51\\x78\\x2b\\xc4\\xe8\\x79\\x4d\\xb3\\x07\\x66\\x5b\\x46\\x1a\\xd1\\x93\\xc3\\x83\\xe0\\xfa\\x71\\xc3\\x86\\x8d\\xe3\\xf5\\xe6\\x45\\x6e\\x23\\x33\\x41\\xd4\\x91\\xf8\\x42\\x8c\\x74\\x1f\\xa8\\xa0\\x72\\x1f\\x61\\x23\\x7d\\xd1\\x47\\x24\\xf7\\x17\\x76\\x19\\xd0\\xff\\xff\\x7f\\x3f\\xc7\\x50\\x0d\\x88\\xbf\\x07\\x1a\\x7f\\x17\\xf8\\x1b\\xe2\\x56\\x1a\\xd5\\xea\\x90\\x10\\x9e\\xc1\\x82\\xaa\\x48\\xd3\\xf1\\x12\\x1f\\xd0\\xd6\\xbf\\xbd\\x6f\\x48\\x42\\x4e\\x53\\x12\\xf2\\xa0\\x96\\xfb\\xfa\\x7a\\x31\\x09\\x71\\x12\\xbd\\x49\\xaa\\x12\\x16\\x5c\\x67\\xa1\\xef\\x7c\\x9f\\x47\\x05\\x68\\x17\\x3d\\x9a\\xbe\\xc8\\xa8\\x88\\xdc\\x31\\xd2\\xc7\\xe4\\x8e\\x76\\x91\\x07\\xd0\\xff\\x74\\x3d\\xdf\\x3a\\x9f\\xeb\\x01\\x66\\x21\\x5e\\x47\\x90\\x39\\x91\\x6c\\xc7\\x90\\x23\\x64\\x69\\x38\\xc5\\x60\\x56\\xd2\\xc8\\x24\\xb8\\xfe\\xf2\\x65\\xfc\\x9d\\x7a\\x76\\x22\\x6b\\xe5\\xba\\xf2\\xdf\\x11\\x64\\x1a\\xcf\\xd9\\x4d\\xba\\x55\\xbc\\xf7\\x38\\xd7\\xf5\\x33\\xd4\\xff\\x44\\xae\\x13\\x73\\x81\\xc3\\x7f\\xd6\\xec\\xa5\\x90\\x16\\x96\\x30\\xd8\\x4b\\xa8\\xa8\\x10\\xbe\\x4b\\x2f\\x46\\x6b\\x09\\xee\\xe3\\xb6\\x0f\\x43\\xed\\x55\\xc1\\x2a\\xe6\\x53\\xf1\\x45\\xbe\\x3d\\x9a\\x72\\x38\\xf0\\x3d\\x96\\x13\\x7d\\x0e\\x2e\\xae\\x82\\xf1\\xb0\\x4a\\x3a\\xe1\\xaf\\xf9\\xfc\\x3c\\xb6\\x65\\x26\\x70\\x57\\xd0\\x98\\x90\\xbc\\x38\\x04\\x3b\\xf3\\x5f\\x27\\x64\\x99\\x6f\\x42\\xfe\\x0f\\x32\\x40\\xe3\\x1b\\x6a\\xa6\\x8a\\x6d\\x8d\\x68\\x43\\x16\\xd2\\x4e\\x96\\x03\\xc8\\x1c\\xe9\\x4d\\xe5\\xa6\\x1d\\x4f\\x23\\xf9\\xa7\\x72\\x52\\x1d\\xab\\xa6\\x25\\x88\\x6a\\x35\\x1f\\xbd\\x64\\x83\\x54\\x78\\x8e\\x51\\xe0\\x57\\xd4\\xe7\\x2d\\x91\\x99\\x59\\x88\\xf6\\xeb\\x7f\\x9b\\x83\\x5b\\x0e\\x7e\\x0e\\x1c\\xa2\\x41\\x11\\xa9\\x68\\xe2\\x7c\\x73\\x30\\x12\\x0e\\xa3\\x55\\x8d\\x92\\x7f\\xd5\\x19\\x23\\x1d\\xfc\\x2a\\x73\\xc0\\x7d\\x82\\xce\\xe1\\xcf\\xad\\x0f\\x51\\x14\\x6b\\x65\\x2f\\x21\\x4d\\x1b\\x8d\\x18\\xdf\\x56\\x06\\xfa\\xe1\\x63\\x11\\xd0\\x0b\\x37\\x44\\xde\\xcb\\x31\\xe9\\xbe\\x9b\\x6c\\xa7\\x18\\x27\\xfe\\x89\\xf1\\x7d\\xae\\xbe\\x0d\\xcd\\x94\\x7f\\xe4\\x38\\xdc\\xb1\\x28\\x3d\\xa4\\x1c\\xbc\\x9e\\xe4\\xed\\xfe\\x7c\\xcc\\x84\\x83\\xec\\xa5\\x86\\xd4\\xd1\\xf3\\x61\\x66\\x03\\xfd\\xfb\\xe1\\x4f\\xfb\\xa0\\xf6\\x7f\\x82\\xfd\\xe9\\x4f\\x1b\\xd7\\x50\\x12\\x4a\\xb7\\x17\\xb9\\x30\\x2c\\x10\\x89\\xb0\\xfe\\xd6\\x12\\xa3\\x82\\xb3\\x62\\xe3\\x06\\x2d\\x43\\x7a\\xcf\\x2e\\x05\\xbb\\x20\\x7d\\x67\\x08\\x38\\xf3\\xd3\\x5a\\xe3\\x6e\\xbe\\x26\\x48\\xe3\\x0e\\xb4\\xb9\\xc9\\x10\\x6d\\x16\\x2a\\xda\\x2d\\x55\\xd0\\x6a\\xa4\\xfc\\x0d\\x22\\xea\\x20\\x22\\x4e\\x45\\x19\\x30\\x59\\xce\\xdc\\x34\\x6d\\x76\\x36\\x6f\\x21\\xe8\\xa3\\x00\\x3e\\x86\\x89\\x12\\xab\\x68\\x31\\x1f\\xbb\\xcc\\x60\\x1a\\x5d\\x17\\x41\\x4b\\x40\\x65\\x74\\x4b\\x6c\\x0d\\x14\\x6d\\x43\\x4b\\x26\\x4c\\xbb\\x05\\x3f\\x84\\xc7\\xad\\x99\\x79\\x53\\xe0\\x6f\\xab\\x72\\xca\\xfa\\xf7\\x60\\x2f\\x79\\xcf\\x25\\xaf\\x58\\xfe\\xf5\\xaf\\x03\\x56\\xcd\\x1f\\x0a\\x59\\x7a\\x97\\x71\\xf8\\xc7\\xf0\\x45\\xb0\\x66\\xcd\\xaa\\xf2\\x58\\x44\\xc3\\x75\\xc4\\x9f\\x8e\\x88\\x06\\x3d\\x65\\xdb\\x0e\\x50\\xdf\\x98\\x25\\x00\\xf4\\xda\\x29\\x51\\xc8\\x15\\x07\\x03\\x18\\xc4\\x9f\\x0c\\x22\\x32\\x5c\\x51\\xbc\\xad\\xe9\\xc4\\x89\\x5a\\x7c\\x52\\xc5\\x05\\x07\\x28\\xbb\\xf7\\x83\\xae\\xdf\\xec\\xa4\\x07\\xa7\\x93\\xe8\\xb5\\x3d\\xd5\\xa3\\x67\\x30\\x37\\x1b\\xde\\xde\\xdd\\xbd\\x0f\\xb4\\x36\\x34\\x80\\x03\\xbd\\x6d\\x03\\xca\\x49\\xbe\\x23\\x92\\x9b\\x6d\\x64\\xbc\\xd6\\xdd\\x62\\xbd\\xde\\x22\\x52\\xd6\\xa3\\xb6\\x2d\\x54\\x10\\xe9\\xc7\\x82\\xc6\\xdd\\x94\\x5f\\x83\\x93\\x06\\x31\\x14\\x4b\\x14\\xa3\\x62\\x50\\x4f\\x6d\\xe8\\x5c\\x90\\x8c\\x81\\x00\\xe9\\xae\\x73\\xeb\\xb2\\xa4\\x61\\xf0\\xae\\xaa\\x63\\xae\\xab\\x4f\\x18\\xbc\\xdd\\xb5\\xc3\\xe0\\x39\\xb5\\x65\\xa2\\xa0\\x8c\\x0e\\x73\\x1d\\xec\\xa5\\x0e\\x7b\\xaf\\x79\\x45\\xa0\\x5e\\x93\\xdc\\xe7\\x9b\\xce\\xbb\\x36\\xac\\xae\\x88\\x0c\\x7a\\x77\\x8a\\xb3\\x01\\xf5\\x3d\\x03\\x8d\\xf3\\x6f\\xd4\\xb7\\x98\\x0a\\xdb\\x8f\\x06\\xd8\\x7b\\xa7\\x98\\x61\\x19\\x7e\\x80\\x2c\\xe9\\x58\\x88\\xce\\xc4\\x15\\x45\\xb0\\xda\\x64\\x46\\xc2\\x3b\\xc7\\xbc\\x55\\x0e\\x36\\xdf\\xb1\\x0a\\x0d\\xa6\\x01\\xdf\\xe9\\x41\\xd4\\xc6\\x2e\\xd4\\x06\\x2e\\xa1\\x1e\\xb5\\x8b\\xa6\\x95\\x1c\\xc0\\x03\\x50\\x52\\x0a\\xd2\\x8e\\x32\\x70\\x00\\x7c\\x4b\\x40\\xe0\\x50\\x94\\xc0\\x35\\xa0\\x80\\x0d\\xcb\\x80\\x9a\\x9e\\x08\\xef\\x2c\\x94\\x4f\\xac\\x83\\xac\\x83\\x56\\xdc\\xfb\\x52\\x47\\x37\\x78\\x55\\xf4\\xa7\\x39\\x09\\xfd\\x8b\\x1a\\xde\\xd8\\x5d\\x5c\\x8d\\xe5\\x7d\\x22\\xe2\\xd5\\x04\\xd2\\x97\\xea\\x20\\x91\\x57\\x06\\x4f\\x03\\x8f\\xbb\\x11\\x45\\x0f\\x01\\xea\\xdf\\x61\\x03\\x7b\\xe9\\x01\\x39\\x77\\xe8\\x89\\xe8\\xb2\\xb0\\xf7\\x11\\x21\\x11\\x6e\\x29\\x2d\\x57\\xa0\\x8f\\xc4\\x0a\\xe5\\x01\\xf4\\x90\\x98\\x3c\\x44\\x18\\xca\\xd7\\x97\\x61\\xec\\x82\\xe0\\x00\\x97\\x4d\\xcf\\x5a\\xd2\\x07\\x94\\xe4\\x6b\\xc6\\xc0\\x86\\x31\\x86\\xd1\\xc3\\xe0\\x91\\x54\\xd6\\x02\\x1f\\x58\\x63\\x07\\xf5\\xf0\\x6e\\xa6\\x7b\\x8f\\x58\\x9e\\x30\\x06\\xf0\\x58\\x0a\\xe8\\x95\\x5d\\x83\\x68\\xd1\\x52\\x21\\xdb\\xd5\\x22\\x3c\\x64\\x31\\x62\\x1a\\x1e\\xb2\\xd8\\x3f\\x64\\xe1\\x2e\\x0a\\xc7\\xd1\\xfa\\x13\\x6e\\x98\\x59\\xe3\\xa7\\x1c\\x3a\\x06\\x1b\\x7e\\x07\\xa7\\xfe\\xb9\\xa6\\x5f\\x08\\x1b\\x66\\x2b\\x18\\xdb\\xf0\\x5e\\x0f\\x2d\\xec\\xa5\\xcd\\x7b\\x4a\\x7b\\x79\\x53\\xe9\\x77\\x08\\xde\\x46\\x7e\\xe3\\x2d\\x76\\x1f\\x7b\\x1b\\xd9\\xc9\\xf6\\xed\\x94\\xb2\\xad\\x42\\x58\\xa3\\x1e\\x4a\\x84\\x9a\\x0f\\x46\\x16\\x25\\xfe\\x3d\\x18\\x0d\\xd3\\x1f\\x8d\\xce\\x05\\x84\\xac\\x92\\xfb\\x4f\\x21\\xfd\\xdb\\xc5\\x6b\\x04\\x5a\\xc4\\x82\\x9b\\x5f\\x7e\\x68\\x58\\x0a\\x54\\x8b\\xd5\\x3d\\x07\\x0e\\x9a\\x51\\x94\\xdf\\xb2\\x4d\\x59\\x8d\\x63\\xf8\\xac\\x8d\\x2f\\x8d\\x7e\\x0b\\x36\\x1a\\xd6\\xed\\xf0\\x54\\xd1\\x57\\xbc\\xb6\\x4e\\x59\\xbd\\x3a\\x77\\x5c\\x04\\x0a\\x7b\\xf6\\x28\\xce\\xfe\\x33\\xeb\\x8d\\xb7\\xd7\\xc2\\x6e\\xb7\\xc7\\x12\\x7d\\xf3\\x13\\xdd\\x51\\xe0\\xbf\\x7a\\x97\\x1a\\xeb\\xe9\\x7d\\x78\\xa8\\xe4\\x54\\x44\\x98\\x80\\x3a\\x78\\x07\\xad\\xad\\x1a\\x72\\x37\\x56\\xc7\\xf6\\x24\\x3a\\xc6\\x72\\x04\\x3d\\xda\\x87\\x92\\x0a\\xba\\x45\\xea\\x63\\x0f\\x7e\\xaa\\xb9\\x24\\x30\\x35\\xf0\\xce\\x45\\xd9\\xb8\\x99\\xb0\\xca\\x01\\xb6\\xfd\\x75\\x49\\x87\\x9a\\x28\\xc9\\x4a\\xac\\x2c\\xe5\\x05\\x00\\x50\\xf1\\x38\\x8e\\x93\\xac\\x4b\\xa4\\xb7\\xf4\\x01\\x7a\\x4b\\x82\\x5a\\xc5\\xef\\x25\\x81\\x7a\\x2b\\x8a\\xc4\\x70\\xc5\\x03\\xd4\\x38\\xa9\\x32\\x60\\x8d\\x02\\x16\\x50\\x0e\\xee\\x84\\x4e\\xf0\\xae\\x87\\xbb\\x92\\x40\\xeb\\x91\\xaf\\xd7\\xe6\\x2c\\x7e\\x01\\xd6\\xb3\\x97\\x60\\x55\\xc1\\x2a\\xef\\x96\\x86\\x8e\\xcb\\x2e\\x75\\x9d\\x3a\\x85\\xd7\\x91\\x13\\x1b\\x3f\\x60\\xd7\\x8b\\x66\\xe0\\x8a\\x2d\\xdb\\xd5\\xaa\\xb6\\x52\\x50\\x8e\\xa6\\xb7\\x0c\\x4d\\x3b\\x43\\x7a\\x12\\xf9\\x46\\xc1\\xcf\\xb2\\x95\\x84\\x4b\\xe3\\x3a\\xd3\\x14\\x2b\\xd6\\x67\\xc6\\x64\\x32\\x73\\x8f\\x42\\x76\\x16\\x30\\x94\\x01\\x23\\x98\\xf1\\x3c\\xfc\\x19\\x3e\\xfd\\xa7\\xeb\\x6b\\xd0\\x65\\x07\\x53\\x35\\x97\\x5e\\x05\\x7b\\xc3\\xcb\\x8b\\xe1\\x07\\xf0\\xb7\\x0b\\x79\\x20\\xba\\xfd\\xe9\\x3f\\xb0\\x7f\\xed\\x93\\x27\\x09\\x92\\xa8\\xe8\\xed\\xb4\\x54\\x18\\x1d\\x0d\\x70\\x72\\xaa\\x4c\\x50\\x41\\x4d\\xa3\\xc3\\x0b\\x89\\x5f\\x3d\\xbe\\x2c\\x2e\\x96\\x7a\\x28\\xe2\\x85\\xca\\xdb\\x65\\x39\\xf8\\xb6\\xb7\\x62\\xd4\\x4c\\x2c\\x52\\xdd\\xfa\\x82\\x20\\xaf\\x1c\\xd4\\xb7\\x4f\\x1f\\xd8\\x07\\xeb\\xd7\\xcd\\xa4\\x9f\\xcb\\x54\\x18\\x95\\xb1\\xcb\\x12\\x1a\\x2a\\x0e\\xae\\x47\\x3d\\x50\\x94\\x5a\\xe0\\x65\\xcf\\x9d\\x26\\xb1\\x58\\x72\\x50\\x10\\xe4\\xde\\x81\\x35\\xa5\\x74\\xd9\\xc4\\xa8\\x14\\x24\\xd9\\xa7\\xe7\\xa2\\x71\\x1d\\x53\\x0c\\xaf\\xc6\\x44\\x99\\x33\\x99\\x7e\\x6f\\xbd\\x64\\x9d\\xe8\\x5d\\x9f\\x04\\xba\\x76\\xb2\\x65\\x64\\xb7\\xec\\x52\\x30\\x22\\xf7\\x22\\xbc\\x7c\\xab\\x7b\\xfe\\x26\\xd0\\x22\\xfb\\x79\\xf6\\xf2\\x8a\\x2d\\x4f\\xef\\xf6\\xce\\x6f\\x00\\xa3\\x4e\\xe4\\xe5\\xbb\\x92\\x87\\x5f\\x5a\\x0e\\x2d\\xb4\\x68\\xe7\\x58\\xb0\\x66\\xfd\\x3e\\x34\\xbc\\x24\\xe4\\xd3\\x3c\\xb2\\xbe\\xfb\\x08\\xeb\\x1b\\x10\\xf1\\x82\\xc7\\xf1\\x02\\xff\\x67\\x23\\x62\\xc9\\x32\\xa4\\x0b\\x6e\\x91\\xf5\\x17\\xbd\\x5d\\x2e\\x13\\xb8\\x25\\x27\\xdc\\xa2\\x9f\\xc0\\x2d\\x81\\x5c\\x72\\xe9\\x4e\\x06\\xd0\\xc1\\x5b\\x98\\x04\\xd6\\x97\\x1b\\xbb\\x94\\xbf\\xee\\xb8\\x70\\xfc\\x65\\x73\\x03\\xf8\\x78\\x68\\x76\\x41\\x9b\\x86\\xe9\\x2b\\xcb\\x27\\xe0\\xf9\\xe8\\x49\\xea\\x0b\\x61\\x59\\xb3\\x52\\xf6\\x9d\\x06\\x40\\x83\\x80\\x19\\x51\\x50\\x21\\xe4\\xbd\\x02\\xad\\xc7\\xc0\\x5c\\x69\\x2b\\x2f\\xc8\\xb4\\xaf\\xbe\\x05\\x6d\\x23\\xd0\\xd8\\x4d\\xab\\x11\\xd8\\x0f\\xa7\\xd0\\x2d\\xef\\xff\\x92\\x53\\xb9\\xea\\xf2\\x2b\\xd7\\xce\\xc7\\x65\\x77\\x01\\xda\\xf8\\x0e\\x69\\xfd\\x87\\x95\\x3f\\x5d\\xd0\\xa1\\x6e\\x01\\x52\\xaa\\xef\\x1c\\xea\\x06\\x8f\\xdd\\x7b\\xb3\\xf7\\x91\\x93\\x45\\x3f\\xae\\x98\\x11\\x9b\\x75\\x1c\\x3e\\xc8\\xaa\\x19\\xe0\\x7e\\x0e\\xb4\\xcd\\x18\\xd6\\x17\\xcd\\xdf\\xb6\\xc6\\x4f\\x39\\x05\\xa2\\x4b\\x49\\x45\\xef\\x66\\x28\\x80\\x76\\xa4\\x7a\\x50\\x49\\x86\\x5e\\x8e\\x64\\x08\\x60\\xb1\\x14\\xc2\\xeb\\xb3\\x79\\x2c\\x0a\\x5c\\x96\\x18\\x49\\x25\\xa7\\x8f\\x01\\x75\\x1b\\x81\\x6d\\xd6\\xec\\x2d\\x1d\\x80\\xa9\\x02\\x1e\\xf5\\xfe\\x01\\xbb\\x39\\x01\\x07\\x54\\xcc\\xa9\\x87\\xef\\xf4\\x03\\x4b\\xc0\\x40\\x18\\xe1\\xbd\\xf9\\x40\\x0f\\x64\\x1c\\x96\\xff\\x2a\\xb4\\xf8\\x5e\\x24\\xe3\\xb7\\x6f\\x57\\xeb\\xf6\\x81\\x7e\\xbb\\x3c\\x6a\\xb5\\x5e\\x5c\\x8f\\x66\\x44\\x4f\\xa9\\xc8\\xe8\\xf5\\xbe\\x35\\x20\\x94\\x8e\\x8c\\x0c\\x48\\x2a\\xc4\\x20\\x80\\xc8\\x5e\\xa0\\xb7\\x00\\xf6\\x86\\xfe\\x12\\x6c\\x38\\xab\\x1e\\x37\\x7b\\x63\\xcb\\xa3\\x0e\\x98\\xba\\x8a\\xbd\\xf4\\xc6\\xee\\xbc\\xa7\\x1e\\x6c\\x64\\x6d\\x05\\x69\\x43\\x2b\\xe0\\xa9\\x3b\\x4c\\x10\\x16\\x71\\x24\\x97\\xeb\\x51\\x7f\\x41\\x54\\xfa\\x76\\x4e\\x82\\xfa\\xdb\\xe3\\xe1\\x38\\xbd\\x54\\xca\\x0a\\x6c\\xc7\\x6a\\x43\\x8f\\x2c\\x00\\xbe\\xe3\\xde\\xcd\\xe2\\x43\\x5a\\xf8\\x14\\x2d\\xee\\x92\\x5f\\x16\\x34\\x85\\xe7\\x3c\\x12\\xe9\\xdb\\x85\\x93\\x66\\xd6\\x3b\\x51\\xc7\\x8e\\xe7\\xc1\\xa7\\x7f\\xff\\x62\\x6d\\x0d\\x57\\xc2\\xb3\\xb0\\x2a\\x09\\xac\\x02\\xe5\\x1d\\x83\\x19\\x4d\\xcd\\x30\\x78\\x17\\x19\\x2e\\xef\\x1d\\xeb\\xb9\\x05\\x7e\\x01\\xbf\\x68\\x00\\x03\\x9e\\x27\\xeb\\x7f\\x0b\\x1a\\xff\\x45\\x42\\x8f\\x75\\x27\\xad\\x56\\x07\\xed\\x03\\x55\\xbb\\x11\\x07\\x80\\x5e\\x82\\xf7\\x10\\x40\\x04\\x33\\xa0\\x86\\x12\\x19\\x75\\x32\\xe2\\xb7\\x39\\x1c\\x84\\x01\\x31\\xb1\\x4a\\x48\\x41\\xec\\x0f\\xe1\\x9d\\xdd\\x2a\\x4b\\xee\\x04\\x90\\x91\\xd5\\x32\\x83\\xae\\x1c\\xd1\\x02\\x71\\xbf\\xa8\\xfd\\x1f\\xbf\\x20\\x51\\x5f\\x53\\x92\\x94\\x3e\\x74\\x1d\\xd5\\x38\\x6e\\xf2\\xde\\x81\\x91\\xd1\\x91\\x2f\\xbd\\xf6\\x37\\xbc\\xfe\\xf3\\x8f\\xbc\\x8d\\xd6\\x78\\x09\\xf1\\x03\\xcb\\xb7\\x06\\xd9\\x05\\x6a\\x91\\x08\\xc8\\xd8\\xfa\\x27\\x09\\xb7\\x93\\x5f\\x95\\x78\\xb0\\xc0\\x6f\\x0c\\x01\\xb1\\x9e\\x69\\x78\\x70\\x13\\x99\\x1d\\xde\\xcf\\x40\\x7b\\x60\\xe9\\x50\\x6a\\xef\\x00\\x8c\\xed\\x32\\xd7\\xbe\\x71\\xa5\\x81\\xb9\\xe9\\x85\\xe1\\x13\\xe6\\xdc\\xfc\\xa9\\xfe\\x50\\x6b\\x38\\x8e\\x8f\\xcb\\x79\\x88\\xc6\\x5a\\x4f\\xd6\\x9d\\x91\\xb2\\xef\\x55\\x2a\\x14\\xc8\\x03\\x66\\x69\\x3c\\xd5\\xac\\xb0\\xd1\\xb0\\x01\\x53\\xad\\xe5\\x2d\\x11\\x5c\\x7f\\x93\\x97\\x76\\x4a\\xac\\x17\\xc4\\x3b\\x0a\\xfc\\x74\\x19\\x36\\x5c\\x8e\\xa7\\x2d\\x17\\x3f\\x7e\\x0f\\x6e\\xbc\\xec\\x9a\\x78\\x64\\xd4\\x80\\x09\\x50\\x45\\xdf\\x7f\\x30\\x9b\\x9d\\x0c\\x2e\\xcf\\x5f\\xf9\\x21\\x1c\\x06\\x4f\\x17\\x81\\x88\\x94\\x43\\x40\\x3a\\xa6\\xb3\\x5b\\x88\\xa3\\x20\\xb5\\x5f\\xfd\\x7b\\x45\\xef\\x27\\xed\\x15\\x48\\xe1\\x35\\xdf\\x2b\\xf6\\xc1\\x86\\x85\\x01\\x7b\\x05\\xfd\\x69\\xd3\\x4e\\x81\\xdb\\xac\\x69\\xfc\\x8b\\x6b\\x87\\xda\\x0c\\xa1\\x62\\xf7\\x28\\x28\\xca\\x12\\x6c\\x51\\x1e\\x14\\x4c\\xaa\\xde\\x3b\\x74\\x5c\\x30\\xd9\\xba\\x7c\\x15\\x8e\\x88\\x62\\xc3\\xe6\\x94\\x93\\x51\\xd1\\x6a\\x3a\\x8d\\x47\\xba\\xa3\\x55\\x80\\x8d\\xd2\\x3b\\x41\\x9d\\xbb\\x83\\x2b\\x36\\xeb\\x8f\\x72\\x9b\\x67\\xf2\\xf0\\x32\\xd9\\x3b\\x9f\\xcf\\xcd\\x7a\\xe5\\xaf\\x55\\x05\\x2f\\x7f\\x0b\\xdf\\x82\\xdf\\x3a\\xef\\xd3\\x8b\\x95\\xee\\xf9\\x2f\\x5d\\x86\\x9b\\x9f\\xdb\\xd4\\x2f\\x48\\xf7\\x5d\\xcf\\x23\\xef\\xd1\\x21\\xde\\x5b\\xf0\\x41\\xe3\\xa2\\x5c\\xf6\\xaa\\x90\\x17\\x8f\\x71\\x97\\x10\\x2d\\xa1\\x54\\xc2\\x4e\\x99\\xd9\\x1c\\xc4\\x13\\x62\\x46\\x06\\x97\\x16\\xe9\\x95\\x83\\x7e\\xb5\\x92\\xdb\\x04\\x91\\xd6\\xa4\\x4c\\x02\\x56\\x94\\x80\\xfa\\x9c\\xe9\\x02\\xa9\\x2b\\x1c\\xb4\\xa1\\xe1\\xa2\\x6e\\x11\\x6c\\x98\\xaf\\x18\\x39\\xb3\\x7a\\x80\\x6d\\xe8\\xfa\\x15\\xed\\x93\\x34\\x85\\x9e\\x08\\xa4\\x43\\x36\\xee\\x2a\\xea\\xef\\x75\\xd2\\x1f\\xb5\\x76\\xf4\\xed\\xe9\\xbd\\xbb\\xff\\xe3\\xde\\x0d\\x23\\x5f\\xc5\\x77\\x9f\\xb5\\x88\\x8e\\x59\\xec\\x25\\x9d\\x9d\\x63\\xe1\\x9f\\x14\\xa5\\x11\\x73\\x2c\\x50\\x50\\x7c\\x7c\\xf2\\x77\\xfe\\xbf\\x49\\x1e\\xff\\x1b\\xdd\\xf1\\x91\\xbf\\x49\\xf8\\xbf\\xe1\\xf3\\x3c\\x56\\xc4\\x6a\\xd0\\x3e\\x89\\xef\\xb3\\x00\\xbd\\x0f\\x6d\\x91\\xe4\\x3e\\xcb\\x8a\\x14\\xf6\\x96\\x5d\\x40\\x04\\x74\\xac\\x88\\x9e\\x8c\\x46\\x67\\x41\\xdf\\xfb\\x9d\\x7c\\x0f\\xfb\\x47\\x1c\\x10\\xf1\\xdf\\x75\\xf2\\x60\\xd0\\xb8\\x06\\x17\\x92\\xdf\\x33\\xe4\\x89\\x72\\xfc\\xaa\\xc7\\xcf\\x79\\x67\\xe3\\x67\\x1b\\xdf\\x40\\xb4\\xf5\\x26\\x35\\xbd\\x65\\x54\\xb8\\x5b\\x2d\\x63\\x70\\xaa\\xb5\\x4c\\xc2\\x49\\x45\\x6a\\x20\\xe0\\xff\\xf1\\x75\\xa0\\xb0\\x98\\xd8\\x49\\x14\\xa1\\x9c\\x66\\x7b\\xc3\\xdf\\x92\\x60\\xec\\x3c\\xf8\\x0b\\x3d\\x11\\xf4\\x99\\xd9\\xed\\x8f\\x7b\\xf7\\xd8\\x1c\\xef\\x73\\x60\\x07\\xec\\x46\\xf1\\x35\\xd9\\xb8\\x10\\x92\\x23\\xa5\\xa7\\xdc\\x6e\\x9b\\x9e\\x2e\\xf1\\x48\\x15\\xa5\\x7c\\xd5\\x5f\\x0d\\xa3\\x97\\xea\\xa5\\x14\\xa7\\x95\\x70\\x92\\x52\\x0f\\xa7\\x66\\x8d\\x94\\xb2\\xb4\\x29\\x5d\\x88\\x54\\xb4\\xe4\\x43\\xbb\\x2a\\xf9\\xea\\x9c\\x51\\x7c\\xbd\\x36\\xb1\\xef\\x1f\\xc0\\x50\\x0a\\x3f\\xa4\\x7f\\xbc\\x08\\x5e\\xa4\\x2b\\x18\\xbb\\x1d\\x6e\\x4a\\x04\\x2d\\xe2\\x20\\xf2\\x09\\xc6\\xc7\\x79\\xbf\\xec\\xa6\\xbc\\x00\\xa4\\x10\\x51\\x73\\xfa\\xea\\xa9\\x3f\\xce\\x80\\x6f\\xc1\\x32\\x88\\x83\\x5f\\x98\\xc6\\x07\\x68\\xcf\\xb9\\xc3\\x76\\xa3\\x12\\x29\\x17\\xe5\\xa6\\x4a\\xdd\\x89\\x96\\xd6\\x89\\xad\\x8b\\x3d\\xe9\\xe9\\xb1\\x71\\x6a\\x45\\x62\\x62\\x9c\\x22\\x2e\\xab\\xd8\\x13\\x67\\x8a\\x8c\\x89\\x09\\x2f\\xf6\\xc4\\x98\\x74\\x29\\xc5\\x1e\\x9d\\x46\\xaa\\x50\\x88\\x8a\\x3d\\x0a\\xcd\\xe3\\xe5\\x1f\\x03\\xa2\\xe7\\x9c\\x3e\\x3d\\x95\\x91\\x29\\x94\\x50\\xb5\\xeb\\xf0\\x99\\xaa\\x2f\\xec\\x4c\\x0d\\x84\\xb4\\x2b\\x52\\xf8\\x0e\\x1f\\x7a\\x6b\\xd3\\x5d\\x36\\xe1\\xae\\xdb\\xd5\\x06\\x00\\xbc\\x24\\xa2\\x44\\x46\\x13\\x1d\\xc6\\x81\\x0c\\x57\\xab\\xee\\x61\\x6f\\xcd\\xb8\\x3d\\x66\\x94\\x2c\\x6f\\xef\\xc0\\x81\\x43\\xcf\\x9e\\x5e\\x6e\\x48\\x8a\\xef\\x97\\x70\\x26\\xf5\\xe8\\xdc\\x6d\\x89\\x23\\x5f\\x7f\\x10\\xc3\\x78\\x83\\x23\\xbb\\x2d\\x31\\xcb\\x06\\x8d\\xae\\xf6\\xca\\xed\\x65\\x1d\\x74\\xf0\\x33\\x31\\xa0\\x7b\\xd2\\xed\\x5b\\x0e\\xa8\\xea\\xda\\x36\\x09\\x18\\x6a\\x27\\x8d\\x9e\\x30\\x7d\\xd4\\x27\\x57\\x39\\x76\\x80\\x2d\\xa7\\xf5\\x72\\xed\\xab\\xab\\x17\\x2e\\x04\\x6d\\x6a\\x8e\\xdc\\x88\\xc9\\xda\\x3c\\x3a\\x93\\xa1\\x47\\x7b\\xaf\\xe4\\x8e\\x2f\\xcd\\x4d\\x5d\\x49\\xce\\xe8\\xc2\\x84\\x7a\\x65\\x06\\xf4\\x2e\\x96\\x6a\\xe9\\x8e\\x8c\\x06\\x52\\x99\\xb4\\xd4\\x13\\x6c\\x50\\xcb\\x22\\x64\\x68\\xba\\x64\\x32\\xb1\\x42\\x61\\x29\\xf2\\x28\\xd4\\x62\\x6b\\x91\\x47\\x6c\\x7c\\x34\\xb0\\xbf\\x29\\xfb\\xde\\x4a\\x7c\\x63\\x1e\\x83\\x94\\x8f\\x67\\x13\\x3b\\x6d\\x78\\x71\\x89\\xf1\\xa9\\xbe\\x00\\x5e\\x9b\\xc9\\xce\\x3c\\xd4\\xfb\\x8b\\x53\\xde\\xc3\\xbd\\xc6\\xda\\xc7\\x96\\xd1\\xcc\\x8e\\x4d\\x6d\\x0b\\xce\\xc2\\x97\\x0a\\xcb\\x76\\xa4\\xec\\x18\\x55\\xdd\\xaa\\xfb\\x33\\x1b\\x9c\\xeb\\x97\\x0f\\x01\\x47\\xe3\\x06\\x3d\\xbf\\x16\\x1c\\x3d\\x05\\xde\\xed\\x3f\\xa4\\xe3\\x88\\xf4\\x95\\xe9\\xb6\\x3f\\x3b\\xc2\\x95\\x99\\x49\\xf0\\x9f\\xce\\xd4\\x13\\x6a\\xd3\\xd3\\x38\\x02\\x81\\x1d\\x47\\xe2\\xbd\\xb5\\xf8\\x5c\\x18\\x68\\x8a\\x3c\\x40\\x4d\\x52\\x11\\x8c\\x7e\\x53\\x45\\x20\\x8b\\x66\\xf9\\xa8\\x30\\x44\\x4f\\xce\\x79\\xb0\\xf3\\xf3\\x1f\\xd6\\xc1\\x2f\\xde\\x37\\xbe\\xb5\\xe3\\xe3\\x97\\x9f\\x65\\x73\\x3e\\x3d\\xf5\\x3e\\x3c\\xb3\\xe9\\xa3\\x9b\\x97\\x7e\\xc2\\xd8\\x4c\\x34\\x85\\x1c\\x1e\\xb6\\x8e\\x60\\x55\\x59\\x28\\x97\\x3b\\x3c\\x48\\x89\\xc5\\xd5\\xa8\\xa6\\x22\\x28\\xc4\\x1b\\x8a\\x92\\xd3\\x72\\x0b\\x86\\x61\\xa6\\x0d\\x45\\x7e\\x28\\xb3\\x00\\xde\\x34\\x05\\x6d\\x0b\\x1d\\x23\\xee\\x70\\x7c\\xdf\\x04\\xdc\\xb8\\xdb\\xd8\\x32\\x1f\\x01\\xb0\\xb4\\xd7\\x58\\x70\\x19\\x53\\x91\\x74\\xc0\\x7e\\x20\\x85\\x5e\\x08\\xde\\xe5\\x69\\x01\\x47\\xef\\x21\\x6a\\x6e\\x9e\\xba\\x47\\xf9\\x70\\xe6\\x2a\\x08\\x0e\\x4c\\x8a\\x3b\\x04\\x2f\\x21\\x35\\x17\\xc1\\x21\\x52\\x38\\x0e\\x29\\x0c\\xb6\\x14\\x0f\\x5a\\xda\\xb4\\x9e\\x9a\\xe5\\x5f\\x90\\xd0\\x71\\xe1\\xdf\\x88\\xf3\\x4c\\x84\\xdd\\xfb\\x7b\\x22\\xb8\\x1a\\x07\\xc3\\x1c\\x74\\x72\\x9c\\xb0\\x62\\x48\\x1f\\x43\\x10\\x6f\\x9d\\x24\\xae\\x31\\xd7\\x1d\\x1d\\xa5\\x52\\xaa\\x94\\xc5\\x1e\\xb5\\x2a\\x42\\x85\\xba\\x51\\xa9\\x28\\x73\\x48\\x88\\xa1\\xd8\\x13\\xa2\\x61\\x59\\x8a\\x54\\xff\\xf7\\x25\\xeb\\x3b\\x02\\x0b\\xab\\xfb\\x10\\x36\\x7d\\x88\\xac\\xff\\x8d\\x3f\\xa9\\x02\\xe0\\xda\\x8e\\x7a\\xc5\\x7d\\xa6\\x22\\xaf\\x4f\\xcd\\xe4\\xa5\\xd1\\xbe\\x5a\\x59\\xe9\\x80\\xd9\\x8f\\xc3\\xf1\\x86\\x4f\\xaf\\xfb\\xdd\\xb0\\x6e\\x79\\x62\\xb7\\x9e\\xd5\\x5d\\xf2\\x72\\x7d\\x55\\xb0\\x96\\xac\\xe1\\xe3\\xf1\\xe4\\x13\\x3d\\xc3\\x36\\xf6\\x45\\x73\\x75\\x00\\xd6\\xb2\\xd7\\x88\\x0c\\x28\\xa9\\x18\\xb7\\x5e\\xa1\\x2c\\xed\\xa3\\xe0\\xd0\\xe7\\x78\\x6a\\xa4\\xa2\\x22\\x7f\\x05\\x5d\\x9e\\xdc\\x16\\x3c\\xd0\\x1c\\x1f\\x4d\\x6f\\x46\\x3e\\x3f\\x1d\\x02\\x5f\\xb3\\xb1\\x9c\\x0d\\x8e\\x9b\\x07\\xa2\\x6d\\xde\\x0f\\xfe\\x88\\x83\\x37\\xe3\\x78\\xb4\\x9c\\xfa\\xf7\\xcf\\x9d\\xe3\\xf7\\xd3\\x01\\x88\\x37\\x6d\\x08\\xce\\x8c\\xc5\\x8d\\x18\\x53\\xea\\x51\\x21\\x86\\xe3\\xea\\xa1\\x26\\xa1\\xbc\\x0e\\xef\\x2d\\xb6\\x06\\x36\\x21\\xd7\\x12\\x63\\xe9\\xa1\\xf1\\x1d\\xdc\\xf5\\x06\\x08\\x4e\\x6b\\x35\\xd7\\x36\\xe0\\x4f\\x3b\\xad\\x79\\xce\\xea\\x35\\xbc\\xf4\\xa6\\x34\\x4a\\x57\\xd8\\xf1\\x20\\xcd\\x9e\\xf6\\x5a\\xf7\\x1c\\xc4\\xf5\\x92\\xd1\\xdc\\x5e\\x26\\xf1\\x33\\xf7\\x49\\x5f\\xb3\\xd1\\x02\\xdd\\x45\\x64\\xcf\\xea\\xd6\\xd1\\x72\\x4e\\xc2\\x32\\x6e\\xa9\\x14\\x20\\xb5\\x81\\xb4\\x29\\xf0\\xc3\\x55\\x3b\\x82\\xcf\\xe0\\x00\\x78\\xb4\\x8b\\x8b\\x73\\xf1\\x51\\x98\\x4d\\xcc\\x31\\x51\\xcc\\x22\\x6f\\x4e\\xb7\\x25\\x89\\x4b\\x90\\x40\\xb8\\x81\\x2a\\x11\\xde\\x69\\x03\\xf6\\x82\\x65\\xdd\\x7f\\x28\\x02\\x27\\xe0\\x9e\\x25\\x37\\x9e\\x83\\xef\\xf1\\xfb\\xe7\\x67\\xa8\\xcf\\xfb\\x24\\xcf\\x37\\xc8\\x2d\\x37\\xe1\\xa4\\x44\\xbd\\xc8\\x28\\x14\\x08\\xc7\\xd8\\xaf\\xce\\xc0\\x9c\\x44\\x93\\x51\\x24\\x26\\x39\\x89\\x24\\x1f\\xb1\\xf6\\x42\\x1b\\x71\\xc8\\xa4\\x5b\\xe7\\xc1\\x30\\x1b\\x47\\x8b\\x8a\\xb3\\xbe\\x05\\x4f\\x9d\\xbf\\x35\\x49\\xeb\\x64\\xc6\\x0d\\x5a\\xed\\x5d\\xc4\\xe6\\xc0\\x88\\x94\\x59\\xb5\\x85\\x0d\\x53\\xc0\\x95\\x07\\x27\\xe8\\xb1\\x15\\x1b\\xc9\\x98\\x6c\\xa8\\xbf\\x13\\xa8\\x3f\\x15\\xa5\\xdb\\x2b\\x67\\x55\\x6a\\x31\\xa3\\x14\\x8a\\x66\\x3a\\xfd\\x98\\xe5\\x51\\x02\\x5e\\x39\\xf0\\xf6\\xb3\\xd9\\xe9\\x9e\\x20\\xec\\x3c\\x7c\\x38\\x1c\\x23\\x93\\xef\\x85\\x9f\\xe3\\x48\\xb8\\xe0\\xcd\\xe3\\x18\\x0e\\xb5\\x19\\x9b\\xba\\x3c\\xe4\\xe1\\x03\\x3e\\x06\\x4e\\xc8\\x4d\\x42\\xbc\\x2b\\x69\\xae\\x1f\\x68\\x23\\xd1\\x0f\\xf6\\xc6\\x07\\xec\\x06\\xb6\\x0d\\xc6\\x35\\xa2\\x42\\xb7\\x8b\\xb5\\xfb\\x40\\xc7\\x5d\\x58\\x9b\\x29\\xd1\\x9b\\x1d\\x7c\\x30\\x9a\\xe0\\xdb\\xfa\\xd1\\x8d\\x33\\x34\\x14\\x46\\xff\\x8e\\xc2\\x52\\x4b\\x9f\\xfb\\xee\\xef\\x2d\\xf0\\xa3\\x0f\\xbf\\xbd\\x07\\x86\\x00\\x31\\xec\\x03\\xda\\x9f\\xfe\\x86\\x6d\\x73\\xf5\\xdc\\x71\\xf8\\xf9\\xba\\xab\\x67\\x40\\x0e\\xf0\\xc0\\xaf\\xe0\\x57\\x9f\\xbc\\xb4\\xf8\\x3c\\xae\\x5b\\x4e\\xc5\\xb3\\xeb\\x58\\x0d\\xd2\\x18\\x09\\xdb\\xe5\\x8a\\x7d\\xa0\\xd3\\x6e\\x8f\\x5c\\x6e\\x36\\x9b\\xd0\\xbb\\x9d\\x1e\\x33\\x8b\\xfb\\xde\\xee\\x61\\x71\\xd1\\x03\\x1e\\x4f\\x54\\x08\\x5e\\xd7\\xf1\\x6b\\x02\\x9b\\x98\\x18\\xc0\\x18\\xbb\\xbc\\x26\\x33\\x93\\x0c\\x62\\xdf\\x00\\x8e\\x8f\\x7e\\xfc\\x7b\\xdc\\xc5\\x39\\xf1\\x23\\xc6\\xc2\\x83\\xb0\\x4f\\x49\\x59\\x87\\x39\\xeb\\xc1\\xe6\\x43\\xc0\\xb8\\xe2\\xd2\\xf1\\x95\\x7f\\xae\\x31\\x83\\x10\\xf5\\x94\\x8a\\xdd\\x8d\\x54\\xdb\\x72\\x39\\xbc\\xa1\\x3d\\x43\\xea\\x29\\x35\\xbe\\xc3\\x6e\\x64\\xe7\\x22\\xbd\\x1e\\x42\\x45\\x53\\xb6\\xdd\\x41\\x11\\x94\\x4c\\x66\\x24\\xa3\\x96\\xa9\\xa9\\x50\\x7e\\xd4\\x81\\x5a\\x22\\xdb\\x77\\xca\\x61\\x77\\x99\\x85\\x73\\x4e\\x72\\x47\\xcb\\x44\\x8b\\xf1\\x9d\\x2f\\x48\\x73\\xe1\\x7d\\x0c\\xc0\\xef\\xfe\\x7e\\x73\\x70\\xcc\\xf6\\xcd\\xbf\\x7c\\x7b\\xaf\\xb4\\x7b\\x65\\xcc\\xe6\\x0d\\xbd\\xfb\\x76\\x01\\xd3\\x46\\xc0\\x3e\\x95\\x1d\\xe1\\xac\\x5a\\xf9\\xd5\\x73\\x7f\\x1f\\x1d\\xbd\\xf7\\x83\\xf1\\x57\\xcf\\x4c\\xba\\x56\\x39\\x70\\xdf\\xbe\\xd1\\x4c\\xa8\\x16\\x0e\\x2d\\x9a\\xf7\\x09\\x94\\x69\\xc0\\x4b\\xc5\\xcf\\x9e\\xc7\\xb4\\x31\\x68\\x6e\\xce\\x22\\xfd\\x12\\x4e\\xc5\\x53\\xa9\\x54\\x6b\\x77\\x54\\x54\\x42\\x70\\x42\\x91\\x27\\x3c\\xa9\\xd8\\x13\\x14\\xac\\x0c\\x0f\\x97\\x9b\\x82\\x4d\\x6a\\x7b\\x91\\x47\\xad\\x91\\xc8\\xe5\\x5c\\x51\\x60\\x04\\xb5\\x70\\xda\\x85\\xb6\\xdd\\x16\\xc2\\xae\\xeb\\x57\\x29\\x68\\xd3\\x35\\xfb\\x8e\\x63\\xfc\\xfb\\x2c\\x67\\xf0\\xa1\\x41\\xd3\\x68\\x04\\x7c\\x65\\x73\\x4a\\x9d\\x91\\xea\\x6c\\x1b\\xf2\\xd6\\xe4\\xcb\\x7b\\x93\\xc6\\xef\\x1d\\x53\\x37\\xfa\\xf3\\xe7\\xf6\\x27\\x4f\\x78\\xf7\\x97\\x18\\x7a\\xce\\xa0\\xfc\\xda\\x8c\\xb2\\x31\\x0b\\xe0\\xa8\\xb9\\x2e\\xf8\\xb7\\x0c\\xc9\\x5e\\x89\\xbb\\xb4\\x47\\x3b\\xbc\\xab\\xee\\xdd\\xbb\\x6f\\x3f\\xb2\\x4a\\x0f\\x6f\\xdf\\x0e\\xb2\\x46\\xbe\\x7f\\xed\\xe3\\xf9\\xff\\xbc\\x7d\\x18\\x7e\\x07\\xb3\\x60\\x51\\x5a\\x7b\\x5c\\xff\\x09\\xe7\\x8c\\x6e\\x26\\x75\\x2a\\x93\\x71\\x8d\\x54\\x8b\\x48\\x17\\xa7\\x8b\\x43\\x36\\x84\\x8e\\x32\\x2a\\xd4\\x54\\x54\\x53\\x4a\\x9c\\x1f\\x23\\xc2\\xc7\\xf0\\xcc\\x5c\\x02\\x55\\xc6\\x13\\xe7\\xe4\\x2f\\xf8\\x85\\xfa\\x82\\xac\\x3d\\xcd\\x0f\\xa8\\x8e\\xfe\\x08\\xfe\\x39\\x73\\x7d\\xd7\\x22\\xd0\\xa9\\x54\\x0c\\x24\\x52\\x4f\\x8f\\xea\\x99\\x61\\x40\\x62\\x7a\\x6d\\x20\\xe8\\x3d\\xe8\\x05\\x78\\x67\\x71\\xc5\\xcc\\xbc\\xa1\\xfd\\x2a\\xa7\\xb5\\x1f\\x68\\x38\\xb8\\x76\\xe5\\x95\\x70\\x36\\x62\\x45\\xb9\\xcd\\x96\\x1a\\xdf\\xcd\\x33\\x79\\xce\\xd3\\xc7\\x6c\\xac\\x61\\xc9\\xf0\\xb9\\xdf\\x4f\\x3d\\x58\\x38\\xb7\\x67\\xef\\x8a\\x82\\xba\\x1e\\x15\\x4f\\xf1\\xfa\\x2c\\x8f\\x0e\\x27\\xf8\\x1f\\x1a\\x2a\\xcc\\xad\\x92\\xa2\\x4f\\xa4\\x68\\x7e\\x18\\x55\\x91\\x87\\xe1\\x31\\xe0\\x35\\xc7\\xf9\\x72\\x02\\x7a\\x1d\\xc5\\x9b\\xcc\\x04\\xbd\\xc3\\x1a\\xc9\\xe4\\xa5\\x83\\x3e\\x00\\x7c\\xf3\\xa3\\x16\\x7e\\xa5\\xe9\\xf4\\x4c\\x23\\xd5\\x89\\x0e\\x47\\x2e\\x59\\xfc\\xc7\\x27\\x0a\\x7a\\xf4\\x6c\\x5b\\x3c\\x17\\x2e\\xf3\\xc5\\xc8\\xdf\\x62\\xe7\\xd1\\xa1\\xb8\\x3e\\x99\\x5b\\x2d\\x51\\x6b\\x51\\xfb\\x5a\\x85\\x5b\\x81\\x66\\x55\\x61\\xf2\\x95\\xb9\\x14\\x0a\\x16\\xf8\\xc7\\x4f\\x60\\x0c\\xf0\\x35\\xf7\\x08\\x6d\\xd7\\xa9\\xcf\\xac\\x8d\\x05\\xb1\\x99\\x70\\x3b\\xfc\\xfb\\xab\\x5f\\xd4\\x74\\x68\\x99\\xbb\\x64\\xfe\\x3b\\xc7\\xe0\\xaf\\xf0\\xea\\xc5\\x93\\x79\\x5d\\x89\\x8f\\x45\\x59\\x91\\x4e\\xd9\\x8b\\x78\\x2f\\xc3\\xf7\\x8c\\x6e\\x8d\\x9c\\x2a\\x46\\xeb\\x0d\\xf9\\x59\\xfa\\x62\\x0f\\xc3\\xe7\\xe6\\x04\\x38\\xb3\\xbe\\x13\\x43\\x36\\xca\\x1e\\xe5\\x03\\xe0\\x58\\xd8\\x0d\\xde\\x38\\x4f\\x47\\x7c\\x7c\\x09\\xfe\\x00\\xef\\x5d\\x07\\x92\\xc1\\x93\\x7a\\x7b\\xfe\\xc6\\xb5\\x9b\\xd9\\x9c\\xc5\\x8b\\x8e\\x9e\\x7b\\x77\\x68\\x79\\x6e\\x3e\\xb2\\x6b\\x77\\xa1\\x7e\\xde\\x20\\xfa\\xd8\\x80\\x91\\xd9\\xf1\\xb1\\x6c\\xb1\\x47\\xaf\\xa7\\xa5\\x52\\x75\\xb1\\x47\\xaa\\x96\\xd3\\xc6\\x80\\xfc\\x7b\\x5e\\x3c\\xa5\\x04\\xe7\\x3b\\x23\\x3d\\x26\\x9e\\x38\\x75\\xd6\\x68\\xa3\\xa1\\x25\\xa0\\xbb\\xc2\\xd5\\xf0\\x0c\\x58\\x53\\x3c\\x08\\x98\\x80\\x1c\\xdc\\x3c\\x0f\\x6f\\xf4\\xa8\\x38\\x7a\\x7b\\xfd\\x27\\xb8\\xf2\\x3a\\xb8\\x68\\x18\\x3f\\x70\\x4f\\xfd\\x83\\x13\\x60\\x27\\xf8\\x72\\x37\\x39\\x2f\\x69\\x4f\\xfc\\x77\\xdc\\xaf\\x11\\xed\\x6b\\x3a\\x99\\x52\\x8d\\x37\\x64\\x35\\x0b\\xe4\\x6a\\x16\\x6d\\xc5\\xac\\x31\\x50\\xb2\\xc8\\xa2\\xc0\\x27\\x66\\x44\\xb6\\x70\\x99\\x21\\x33\\x09\\xad\\x68\\x09\\x98\\x8c\\x1e\\x20\\xf8\\x33\\x68\\x39\\xf5\\xcd\\xda\\x05\\x37\\x80\\xf3\\xe0\\xba\\x4f\\xc6\\x0c\\xdf\\x79\\x94\\x9e\\x0b\\x76\\x3e\\x38\\x51\\x37\\x6b\\xee\\xc1\\x08\\x70\\x11\\x16\\x6e\\xa9\\x2a\\x9d\\x88\\xe7\\xed\\x36\\xea\\x73\\x21\\xf1\\x0b\\x4c\\x6e\\x19\\x67\\xa4\\xc5\\x64\\xaf\\x57\\x37\\x1d\\x5c\\x03\\x1e\\xd4\\x3e\\x0a\\xe8\\x99\\x67\\x6c\\xf0\\xd3\\xad\\xf0\\xc6\\x56\\xf8\\x29\\x9b\\x53\\xff\\xf0\\x59\\x66\\x0a\\x8e\\x0d\\x45\\xf3\\x3e\\x15\\xef\\x65\\xcc\\x78\\xb2\\xcf\\xfc\\x4c\\x25\\xa2\\xbd\\x59\\x8a\\x7c\\xfe\\x98\\xed\\x41\\x14\\xd2\\x84\\x7b\\x3c\\x41\\x5a\\xad\\x04\\x87\\x0e\\x21\\xa5\\xa8\\x54\\xe2\\xab\\x19\\x41\\x19\\xf2\\x65\\xb7\\x79\\x5b\\x01\\x4f\\x16\\x1a\\x04\\xb2\\x9c\\x71\\x38\\x28\\xb2\\x9f\\x22\\xe9\\xca\\xd7\\x37\\xbc\\x30\\xc5\\x7b\\xc8\\xc5\\xe4\\xf7\\x1a\\x99\\x94\\xae\\x7f\\x3b\\x04\\x6c\\x87\\xf0\\x96\\xb7\\x18\\x74\\x78\\x7a\\x64\\xef\\xe1\\xc0\\xc2\\x31\\xf0\\x2e\\x23\\x63\\xfb\\x1c\\xfa\\xf8\\x32\\x3e\\xed\\x42\\xfd\\xfe\\x42\\xfa\\x0d\\x45\\x6b\\xd3\\xe5\\x96\\x47\\x86\\x59\\x42\\xc3\\x42\\xc3\\x82\\xa4\\x84\\x8a\\xbd\\x9e\\x20\\xa5\\x54\\x20\\x63\\xbb\\x07\\x11\\xe1\\x2f\\xa9\\xef\\xcb\\xd5\\xe0\\xaf\\x7b\\xff\\x8d\\x1c\\x9c\\xf2\\x86\\xeb\\xfc\\x80\\x32\\xe0\\x7c\\x7d\\xfd\\x0b\\x53\\xe0\\x8f\\x2e\\x3a\\xb4\\xf7\\xc8\\x44\\x3f\\x5d\\x70\\xea\\xf5\\xaf\\x13\\xbe\\xae\\x43\\xff\\x3f\\x81\\x3e\\x50\\x73\\x89\\x5e\\xf8\\x05\\xe1\\xcf\\xce\\x46\\x33\\x17\\xca\\x25\\x23\\x7b\\xb3\\x78\\x67\\x90\\x9d\\xb2\\x23\\x7a\\xdc\\x1a\\x8f\\x9a\\xea\\x4e\\x55\\x52\\x8c\\x0a\\x59\\x9a\\xe1\\xd2\\xf0\\x08\\xfc\\xa1\\xda\\x43\\x85\\x6b\\xc2\\x69\\x05\\x13\\xfe\\x64\\xc2\\x7d\\xc6\\x97\\xf0\\x8e\\xc7\\x4a\\x7b\\x94\\x7a\\x23\\xef\\x98\\x08\\x06\\x3b\\xff\\x67\\x7b\\xd4\\x40\\xba\\x72\\xcd\\xba\\x15\\xd3\\xbd\\x87\\x32\\x99\\xfc\\xde\\x88\\xb7\\xda\\x35\\x2d\\xf6\\xbc\\xba\\x0c\\xec\\x6e\\xfc\\xc9\\x5b\\x9c\\x49\\x57\\xbe\\xb6\\x6e\\xf1\\x14\\xef\\xbb\\xf4\\x5b\\x95\\x7d\\x0b\\xfa\\xf9\\x87\\x51\\xfa\\xee\\xc2\\x83\\x91\\xa2\\x1e\\xef\\x1c\\x3e\\x0d\\xcc\\x95\\x7d\\xbb\\xf4\\x61\\xd1\\xdc\\xcf\\x43\\xfe\\x9f\\x8e\\xd8\\x31\\x9e\\xc7\\xe3\\x82\\x85\\x5c\\xeb\\x1a\\xf2\\x7b\\x05\\xd1\\x11\\x38\\x8f\\xbe\\x82\\x6d\\x85\\x76\\x2a\\xe7\\x5e\\x83\\x56\\xa7\\x45\\x06\\xb6\\x6a\\x5f\\xe3\\x51\\xb7\\x56\\xa3\\xcf\\x57\\xb9\\xd5\\x6a\\x4a\\xa7\\xc6\\xd2\\xc7\\xfa\\x6d\\x2c\\x62\\xf3\\xb4\\x68\\xc2\\x84\\x6a\\xb2\\x31\\x91\\x13\\x6f\\xc3\\x46\\x1d\\x27\\x98\\x95\\x9f\\x09\\x66\\xe5\\xb0\\x67\\xfa\\x57\\x54\\x47\\x00\\x03\\x34\\xc6\\x31\\x19\\x31\\x70\\xef\\xec\\xb1\\x33\\xff\\xe0\\x2d\\xca\\x11\\x95\\x05\\xae\\x57\\xbf\\x39\\x7b\\xe0\\x0f\\xc3\\xb4\\x21\\x53\\xde\\x1b\\x8e\\xe9\\x59\\xd5\\xf8\\x2b\\x9b\\xce\\x76\\xa7\\x62\\x70\\x5e\\x8f\\x34\\x54\\x16\\x26\\x0b\\x2b\\xf1\\xc8\\x64\\x8c\\xce\\x64\\x42\\x6e\\x85\\x49\\x13\\xc3\\x30\\xd1\\x48\\x41\\x9a\\x02\\x0f\\x15\\xfc\\xb9\\x27\\xd9\\x3c\\xe2\\x86\\xa0\\xd9\\x85\\xcd\\xa7\\x29\\x09\\x49\\x4d\\x22\\x6f\\x70\\xdd\\xad\\xdf\\xb3\\xfe\\xde\\x79\\x60\\xff\\xb6\\x65\\x86\\xf1\\xf3\\x73\\x97\\xae\\xc8\\xbc\\x9b\\xf5\\xcf\\xce\\x7d\\x07\\xb6\\xae\\xd0\\xaf\\x5f\\x85\\x7e\\x03\\xda\\x45\\x2b\\xe7\\x4c\\x9c\\xf9\\xa6\\x62\\x60\\x64\\x87\\x76\\x43\\x66\\x05\\x2f\\x5a\\x39\\xf7\\x99\\x19\\x6f\\x2b\\x06\\x76\\xf1\\x0c\\x99\\x45\\xe4\\x65\\x33\\xe2\\xd9\\x00\\xa4\\xb7\\xe3\\xb1\\x46\\x08\\x53\\x52\\x0c\\x6b\\xd0\\x44\\x49\\x59\\x69\\x89\\x27\\xd6\\x2a\\x66\\x49\\xc9\\x36\\x01\\x01\\x84\\x87\\x20\\xe4\\x63\\xf2\\x84\\x5c\\x51\\x7b\\xac\\x1f\\x81\\x54\\x45\\xab\\x01\\x09\\xff\\x71\\x99\\x49\\xe0\\x0f\\x6d\\xcb\\xc8\\x7d\\xcb\\xb3\\x62\\xd4\\xb0\\xae\\x3d\\x9d\\xf9\\x91\\x79\\x3d\\xba\\x4d\\xfa\\x6e\\xde\\xda\\xa3\\xf6\\xec\\x76\\xc1\\xf3\\xed\\x3a\\x57\\x9a\\x67\\xa0\\x69\\xc1\\x4b\\xe5\\xb3\\xa3\\xcf\\xb5\\x2d\\xec\\xd1\\xe9\\x52\\xa7\\x64\\x6b\\xc1\\xdc\\x29\\x35\\xc3\\xdf\\x19\\xb0\\xb2\\xae\\xe5\\x80\\xd2\\xf6\\xc1\\x73\\x0b\\xac\\xc9\\xe8\\xe3\\x1e\\x85\\x64\\x5e\\x5f\\xe0\\xe7\\x99\\xe2\\x28\\xf5\\x5e\\x8e\\x2e\\xe2\\xbd\\xfd\\x5c\\x5f\\x0a\\x6f\\x94\\x9e\\xad\\xb1\\x41\\x3d\\x5f\\x64\\xa3\\x9e\\x54\\xd8\\x68\\x6c\\x6c\\xbc\\xca\\x3f\\xa3\\x11\\xd1\\x85\\x49\\x04\\x6f\\x45\\xf0\\x4f\\xfd\\xf5\\x3a\\xc4\\x6a\\xbe\\x80\\x76\\xae\\x4f\\x99\\xe3\\x86\\xde\\x3e\\x8f\\xd5\\xcf\\x54\\xbe\\xad\\x07\\x27\\x78\\x18\\x5b\\x92\\x93\\x7b\\x10\\x3d\\xdf\\x1d\\xb7\\xc7\\xb9\\x56\\xe2\\xf6\\x12\\x91\\x2c\\xe2\\xfa\\x07\\x61\\x38\\xda\\x53\\xae\\x0a\\x41\\x3b\\x1d\\x15\\x12\\xa2\\x0c\\x15\\x19\\xd4\\x4a\\xa3\\xbf\\x0c\\xae\\xa0\\x46\\x09\\x12\\x12\\xc3\\x9f\\xc2\\x93\\x3d\\xda\\x8f\\x74\\x17\\x45\\x5f\\x2b\\xf3\\x64\\x85\\xa6\\x03\\xbd\\xcb\\x36\\xf3\\xfb\\x77\\x72\\xa1\\x37\\xf7\\x93\\x63\\x7a\\x17\\xd0\\x39\\x0d\\xf9\\x7d\\x6a\\x00\\xa0\\xc5\\x20\\xb9\\x76\\x31\\x90\\xc2\\x9b\\x07\\x3e\\xe8\\x07\\xe0\\x61\\xd0\\x9e\\x5e\\xf2\\x5a\\xd7\\xfe\\xc0\\x02\\xff\\x7e\\x2a\\xa7\\x6b\\x2e\\x4d\\xa7\\xa1\\x39\\x5c\\x27\\xd8\\x0c\\x06\\x5c\\xbb\\x4d\\x87\\x18\\xa4\\x53\\x63\\xb0\\x26\\x99\\xd8\\x44\\x4a\\xeb\\x3b\\x05\\x8b\\x34\\xea\\x49\\x18\\x44\\xf4\\xe1\\x77\\xee\\x3f\\x16\\xe1\\xdf\\xf8\\xd9\\x13\\x82\\xfa\\x4f\\x90\\x3d\\x72\\x04\\xf8\\x99\\xd5\\x72\\xa7\\x70\\x5c\\x22\\x15\\xb2\\x1b\\xc8\\xe5\\xac\\x84\\x3b\\x08\\x10\\x37\\x28\\x16\\x24\\xfb\\xb3\\x37\\xd1\\x98\\xed\\x51\\x48\\x9b\\x39\\xf5\\xa8\\x43\\xe4\\x44\\xd8\\x99\\x82\\x58\\xb8\\xfc\\xd9\\x93\\xb4\\xf9\\xd6\\xeb\\xf0\\x94\\x32\\x6e\\x0d\\x50\\x26\\x8b\\xc1\\xcf\\x10\\x32\\x57\\x1e\\x46\\x30\\xf9\\xd1\\xbd\\xe1\\x69\\x90\\xdb\\x12\\x9f\\xf9\\xac\\x03\\x3f\\x73\\x13\\x50\\xfb\\x6a\\x34\\x9a\\x0c\\xb7\\x9e\\xd6\\x2b\\xa4\\xab\\xa4\\x9b\\xa5\\xf4\\x10\\x29\\xc0\\x07\\x3e\\x5a\\x09\\x77\\x18\\xf5\\x86\\xfb\\x52\\xa2\\x69\\x48\\x26\\x90\\xfa\\x4e\\x27\\x3e\\x59\\xaa\\xa8\\x10\\x42\\xd2\\xf0\\x35\\xa8\\xef\\xa0\\x07\\xf9\\x64\\x48\\xc7\\x32\\x4e\\x3a\\x34\\x05\\x9e\\x5d\\x7f\\x81\\x5e\\xc6\\xe4\\x45\\x40\\xab\\x03\\xec\\x0c\\x83\\x85\\xa9\\xe0\\xef\\x70\\xef\\x0f\\x09\\x7d\\xf7\\xde\\xe2\\x29\\x59\\x7b\\xff\\x15\\xf8\\xe7\\x5a\\x26\\x7f\\x39\\xbc\\xce\\xc7\\x1d\\x1d\\x40\\x63\\xed\\x83\\x68\\x41\\xbe\\x2a\\xd2\\xf9\\x71\\x6e\\xb5\\x38\\x32\\x72\\x95\\x7a\\xb3\\x9a\\x1e\\xa2\\x06\\x6a\\x75\\x90\\xea\\x20\\xea\\xdf\\x8c\\xa8\\x48\\x24\\xd0\\xf5\\xd9\\x38\\x22\\x42\\x97\\x4d\\x94\\xbc\\x3f\\x99\\x0d\\xa9\\x45\\xbf\\x46\\x61\\xfc\\x40\\x5d\\x63\\xc1\\xe2\\x1d\\x9b\\x9e\\x19\\x50\\xfd\\xd4\\x85\\x0b\\x30\\x0a\\xb8\\x4e\\x8e\\x1f\\xd8\\xbb\\xf8\\xf4\\xf4\\xcb\\x8b\\x47\\xf6\\x1d\\xfa\\x3d\\x77\\x6a\\x62\\xcd\\xa0\\x67\\x8c\\xda\\xf1\\xc5\\x2f\\xae\\xa2\\x8b\\xdb\\x76\\x69\\x93\\xe4\\x2d\\xed\\x54\\xea\\x6e\\x8f\\xe8\\xd9\\x80\\xe8\\x79\\x1e\\xd1\\xa3\\x47\\x7b\\x90\\x0d\\xf9\\xed\\xfa\\x20\\xb9\\x5e\\x1f\\x26\\x5d\\x45\\x6d\\xa6\\xe8\\x21\\x38\\xe4\\x86\\xb6\\x68\\x31\\x4d\\x36\\x8a\\xc6\\x34\\xf1\\x73\\x81\\x88\\xc2\\x11\\x40\\x01\\xc7\\x07\\xf8\\xc4\\xc0\\x77\\xc4\\xc2\\x61\\x75\\x8e\\x09\\xf3\\x53\\x79\\xbc\\xaa\\x00\\x53\\xd7\\x61\\x7a\\x44\\x55\\x0b\\x4c\\x5e\\x71\\x35\\xfd\\x49\\xf7\\x02\\x78\\x37\\x03\\x91\\x07\\x27\\xf0\\xa4\\xb2\\x2d\\xc1\\xd2\\x89\\x35\\x43\\xda\\xad\\xc9\\xee\\xf2\\xe2\\x2a\\xb0\\xb3\\xae\\x4d\\x5b\\x78\\xb3\\x13\\x18\\x85\\x89\\xc5\\x32\\xb2\\x17\\xd1\\x39\\x00\\xd1\\x29\\x45\\xde\\xad\\x7e\\xbb\\x56\\x8a\\xe5\\x43\\x46\\x49\\x04\\xf9\\xf0\\xb9\\x46\\xa8\\xff\\x90\\xa6\\x1a\\x48\\xcb\\xbe\\xff\\x63\\xb1\\x77\\x15\\x9c\\x70\\x20\\xf1\\xd5\\x4d\\x1f\\x3e\\x37\\xef\\x19\\xee\\xd4\\xa5\\x73\\x9b\\xa1\\x77\\x11\\x12\\x90\\xa3\\x97\\xf6\\x3c\\x4b\\xf0\\x82\\x2e\\xa0\\x76\\xa7\\xa3\\x76\\xe5\\x48\\x57\\x29\\x25\\xab\\xb8\\xcd\\x1c\\x3d\\x84\\x03\\x1c\\xc7\\x00\\xdc\\x83\\xd4\\x27\\x0f\\xfc\\x4c\\xa4\\xa6\\x84\\x04\\x08\\xc1\\x85\\x03\\xf4\\x9d\\x70\\xef\\x45\\x07\\x4d\\x85\\x43\\x2a\\x95\\xce\\x0b\\x07\\x3f\\x33\\x57\\xd6\\xfd\\xb3\\x0e\\x3e\\x58\\xc7\\xdb\\x97\\x5f\\xa2\\xb6\\x67\\x91\\xb6\\x63\\xdd\\x2a\\xd1\\x2a\\xf1\\x66\\x31\\x3d\\x44\\x0c\\xc4\\x62\\x5a\\x2a\\xc7\\x8d\\xe3\\xd0\\xde\\xe4\\x00\\x96\\xf2\\x81\\x97\\xe4\\x9f\\x3e\\xca\\xc5\\xce\\x3a\\xe0\\x55\\x87\\xd3\\xf1\\x0e\\x48\\x85\\xd3\\x54\\xaa\\xf7\\x60\\x38\\x77\\xea\\x61\\x04\\x6a\\x1e\\x70\\xeb\\x50\\xdb\\x17\\xc1\\xd7\\xec\\x1b\\xdc\\x97\\x68\\xd6\\x42\\x76\\x9b\\x83\\x82\\x94\\x32\\xd1\\x41\\x90\\x84\\x91\\x19\\x81\\x83\\xaf\\x12\\xc6\\xaf\\x18\\x3e\\xc5\\xd7\\x5f\\x7b\\x98\\x58\\xb1\\xb9\\x80\\xf7\\xfb\\xe9\\x05\\x67\\x6e\\x20\\xef\\x90\\x5e\\xfd\\x69\\xcc\\x51\\xc3\\xe8\\x9e\\x1b\\x8e\\xcd\\x1c\\xbf\\x7a\\x58\\xe4\\x4f\\x21\\x60\\x5d\\xa7\\xfe\\x9f\\x81\\xaf\\xaf\\x7c\\x08\\x94\\x20\\x7f\\xd9\\x4c\\x57\\xf7\\xde\\xb7\\x8e\\x4e\\x5d\\xd2\\x61\\xed\\x72\\x38\\xb2\\x63\\x3b\\x3c\\xae\\x3d\\x68\\x5c\\xeb\\x7d\\xe3\\xa2\\x9b\\xc6\\xc5\\xca\\x1e\\x5f\\xb6\\xfc\\xb8\\x88\\x5b\\x8e\\x51\\x73\\x9d\\x0c\\x13\\x57\\x04\\x7b\\x15\\x9f\\x3c\\xf0\\x51\\x17\\xf0\\x56\\x97\\xf7\\x0e\\x82\\x9f\\xc1\\x66\\xd8\\x93\\xb9\\x02\\xc7\\x81\\x85\\x0f\\x23\\xf8\\xb3\\xe5\\x7f\\x10\\x23\\x27\\xa3\\xf6\\xc9\\x7d\\x20\\xc0\\x2d\\xe2\\xf6\\x72\\xf9\\x1a\\x48\\xe0\\x9f\\x03\\x27\\x0f\\x60\\x4e\\xe3\\x6f\\x63\\x20\\xc1\\xaf\\x59\\x17\\xf7\\x31\\x5a\\xdb\\xc6\\xed\\x32\\xf9\\x3e\\x90\\xb8\\x83\\xc3\\xf7\\xd3\\x98\\x09\\x69\\x44\\x2e\\x22\\x19\\x21\\xeb\\x48\\x18\\x74\\x25\\x7c\\x90\\xb2\\x3b\\xb2\\x26\\x3d\\x57\\x5b\\x7d\\x24\\x1c\\xcc\\x9d\\x15\\xf9\\x06\\xf8\\x1a\\x58\\xe2\\x5f\\xeb\\x54\\x4e\\x4b\\xde\\xf0\\x76\\xde\\xf8\\x3c\\x3f\\x77\\x3f\\x22\\x9d\\xa1\\x25\\x63\\x0c\\xdd\\x2b\\x13\\x03\\x9a\\x7d\\x5c\\x27\\x99\\xc9\\x4d\\x9b\\x98\\x8c\\x0c\\x38\\xa5\\x80\\x19\\xdb\\xb0\\x24\\xef\\xc4\\xfe\\x8f\\x7a\\xd3\\xec\\x03\\xc8\\x82\\xd6\\x68\\x68\\xef\\xf7\\x82\\x2f\\xa0\\xb1\\xb5\\x01\\xef\\xc1\\x6e\\xde\\x4f\\x31\\xbd\\x0a\\x44\\xfa\\x9f\\xa8\\x5d\\x8e\\xd2\\x1e\\x22\\x63\\x63\\x7d\\x22\\x26\\x94\\x78\\x12\\x03\\xc5\\x81\\x93\\xab\\x69\\x3a\\x82\\x8c\\xf1\\x28\\x9e\\xeb\\xd1\\x88\\xdf\\xff\\x70\\x38\\x86\\x38\\x62\\xa7\\x5e\\xca\\xa8\\xea\\x09\\x1d\\x4a\\xf4\\x98\\x96\\x12\\x0b\\xd4\\xf0\\xc7\\x21\\x40\\x9f\\xe9\\x52\\x03\\x60\\x95\\x63\\x15\\x49\\x90\\x9a\\x5c\\x20\\x8a\\x61\\x16\\x8f\\xd3\\x47\\x38\\xba\\xc1\\x1f\\x97\\xe4\\x86\\xca\\xb4\\x13\\x76\\x1c\\x00\\xca\\x56\\xda\\x36\\xa0\\x05\\x90\\x23\\x46\\xd2\\x23\\x07\\x4f\\x19\\xf6\\x96\\xf7\\x18\\xdd\\x16\\x68\\x3d\\x73\\xbd\\xcf\\x31\\x57\\xbc\\x17\\xde\\x5f\\x40\\x0f\\x20\\x93\\x01\\xa8\\x77\\x51\\xdf\\xaf\\xa2\\xbe\\x15\\x54\\x44\\x5b\\x19\\x25\\x03\\xb8\\x2e\\x24\\x27\\x68\\x4b\\x71\\x93\\xb6\\xcc\\xf5\\xb3\\x02\\xb4\\xc1\\xc3\\xa0\\x7f\\x87\\xda\\xba\\x9d\\x07\\x6f\\x03\\x4a\\xaa\\x98\\xba\\x13\\xcd\\x32\\x13\\x36\\xc6\\x8b\\xa6\\xf9\\xe1\\x37\\x6d\\xbb\\xd3\\x2f\\x08\\x6d\\xa3\\x8f\\x91\\x0c\\x63\\x1e\\xe3\\xb6\\xf1\\x5a\\x96\\x91\\xb6\\x9b\\xb1\\x85\\xb4\\x8d\\x73\\x24\\xc5\\x24\\x87\\xd7\\x05\\x0e\\xee\\xdf\\x31\\x22\\x9e\\x4e\\xbd\\x72\\x60\\x47\\xad\\xdd\\x7b\\x1e\\x73\\xc9\\x7b\\xe4\\x3d\\x86\\x79\\x18\\x41\\x77\\xd9\\xe9\\x65\\xb0\\xae\\xd8\\x8f\\x64\\x62\\x15\\x87\\xef\\x4a\\x43\\x90\\xae\\x30\\x8a\\x0f\\x22\\x71\\x50\\xa1\\xf6\\x92\\xc8\\xca\\x68\\x76\\x8c\\x92\\xae\\x8b\\x31\\x47\\xfb\\x2a\\xe4\\x63\\x77\\x96\\xbe\\xf5\\xd1\\xf5\\xa5\\x8d\\xd4\\xc6\\x93\\x57\\x17\\x53\\x8d\\x6b\\x46\\xbd\\xd8\\x7b\\x52\\xed\\x88\\x55\\xbd\\xa7\\x72\\x97\\xbe\\x3d\\xb8\\x15\\x5e\\x5e\\xf9\\xfd\\x7b\\x1b\\x40\\xd8\\xaa\\xf5\\x83\\x3f\\x9f\\x30\\x6b\\xe6\\xe0\\x73\\x53\\x66\\xcd\\xc4\\xfd\\xdd\\x06\\xdf\\xb0\\xd1\\xdc\\x1e\\xe4\\xeb\\x25\\xa3\\x15\\x21\\x55\\x06\\x27\\x24\\x30\\x8c\\x24\\xc6\\x80\\xc4\\x70\\x67\\x54\\xa4\\x18\\x99\\xc1\\x58\\x73\\x9e\\x48\\x0b\\x0c\\x3e\\xc1\\x1d\\xe2\\xa0\\x66\\xac\\xd0\\x85\\x42\\x37\\x3e\\xbb\\x8c\\x04\\x3e\\x8b\\xa3\\x45\\x7a\\xdf\\x91\\x24\\x22\\x36\\xb4\\x7b\\xc7\\x1d\\x55\\x41\\xd3\\xe7\\x9e\\x76\\x17\\x7f\\x73\\xec\\xad\\x9d\\x13\\x9e\\x06\\x53\\xf6\\x6e\\x34\\x77\\x69\\xd5\\xb2\\x7a\\x58\\xd7\\xd2\\xbe\\xa3\\xd9\\x45\\x69\\x99\\x6b\\x06\\x89\\xe7\\x72\\xe3\\x87\\x6c\\xcf\\xa5\\x35\\x55\\x65\\xcf\\xbf\\x3b\\x7b\\x6a\\xff\\xb9\\x41\\x4c\\xeb\\xb1\\x63\\xa7\\xcd\\x6b\\xe9\\x5d\\x57\\x55\\xda\\xa9\\x6d\\xff\\xee\\x0b\\x78\\x9f\\xf4\\x07\\xc4\\xf7\\x1a\\xc4\\x77\\xec\\x93\\x06\\xed\\x16\\xc9\\xe5\\x52\\xbd\\xec\\x00\\xd6\\x76\\x64\\x99\\xf9\\x43\\x8e\\x78\\x7d\\xce\\x58\\x9b\\x34\\x2a\\xa3\\x78\\xf3\\xc0\\xf9\\x77\\x1a\\xa9\\xf6\\x27\\x0f\\xd4\\x7e\\x30\\x74\\x68\\x8f\\xd2\\x1d\\xdc\\xa9\\x57\\x17\\xad\\x3d\\x00\\x5f\\x47\\x42\\x1e\\x56\\x5c\\xd1\\xa9\\x90\\xb4\\x7f\\x0a\\xb5\\xff\\x22\\x6a\\x5f\\x89\\x8c\\xe2\\x88\\xbd\\x0a\\x9a\\x36\\x99\\x58\\xe3\\x13\\x76\\x74\\x2d\\x5f\\xcd\\x1f\\x0b\\x2a\\xbf\\xbb\\xe9\\x81\\xaf\\x23\\xa6\\xfa\\x95\\x5b\\x1d\\xd1\\x3a\\x3f\\xb8\\x76\\xcf\\xca\\x49\\x07\\xe1\\xf1\\xca\\xa1\\xbd\\xba\\xdd\\x73\\xa1\\x15\\xf5\\x0c\\x9c\\xc7\\x5c\\x79\\x69\\xf6\\x84\\x75\\x3a\\x38\\x90\\x0e\\x2e\\xea\\xde\\xb6\\x23\\xfc\\x0a\\xaf\\xab\\xf6\\xa8\\xcf\\x15\\xc4\\x86\\x30\\xec\\x14\\xb3\\x2c\\x87\\xc7\\x43\\xf3\\xe3\\x11\\xba\\xe1\\xa1\\xcc\\xdb\\xbe\\xf2\\xd1\\x2b\\xf0\\x54\\x38\\x93\\x1e\\xce\\x25\\x3c\\x3c\\xca\\xb8\\xd7\\x09\\xba\\xfa\\x57\\x24\\x33\\x6f\\x22\\x3d\\x62\\x42\\x12\\xc3\\x69\\x78\\x5a\\xa5\\x58\\x8d\\x08\\xbb\\x4b\\x60\\x3e\\x34\\x91\\x70\\x72\\x5c\\x33\\x6a\\xe4\\xb8\\xa0\\xa7\\x3f\\x1a\\x17\\x7b\\xe5\\xc4\\xee\\xf7\\xe5\\xdc\\xc0\\x93\\x43\\x14\\x03\\xe8\\x69\\x43\\xeb\\xe8\\x01\\xde\\x15\\x27\\x0f\\x6d\\x7a\\x31\\xac\\x57\\x04\\x1d\\xee\\xfd\\x20\\x27\\xb7\\x73\\x77\\xdc\\xc7\\x1c\\xa4\\x53\\x36\\x20\\x1a\\x75\\x54\\xc4\\x76\\x46\\x81\\xfb\\xc0\\xeb\\x37\\x71\\xa7\\x5a\\x06\\x44\\xfb\\x08\\x5f\\x9c\\x4e\\xa1\\x3f\\x2b\\x63\\x47\\xab\\x89\\x71\\xe2\\x05\\x8c\\x5f\\x50\\x87\\x77\\x6f\\xeb\\x99\\xa2\\x5b\\x0d\\xad\\xea\\x2d\\x6c\\x17\\x40\\x5f\\x0c\\xe2\\xfa\\x5c\\x3d\\x81\\x96\\x6f\\xab\\x8b\\x17\\xbc\\xef\\xa1\\x35\\xf0\\xde\\xdd\\xc3\\xf4\\x38\\x6f\\xd7\\x69\\x77\\xe9\\x36\\x38\\x3e\\x98\\x06\\x5f\\x31\\x97\\xd8\\x06\\xe4\\xb3\\xa5\\x51\\xf6\\xbd\\xf1\\x9c\\x4a\\x25\\x31\\xe9\\x83\\xf7\\x81\\xd4\\xdd\\xb1\\x56\\x8a\\x72\\x48\\x88\\x8a\\x74\\x3a\\x1d\\x58\\x4b\\x92\\x53\\x2b\\x61\\xb7\\x70\\x59\\x9b\\x1c\\x84\\x4c\\xbe\\x52\\x99\\xcf\\x3f\\x50\\xd3\\x06\\xbe\\xc2\\x81\\xd5\\x97\\x9d\\xe0\\x62\\xca\\xf3\\x3a\\xb3\\x6c\\xe6\\xe8\\x92\\x8a\\xb1\\xef\\x1e\\x9b\\xa9\\xea\\x99\\x9b\\xab\\xd8\\x19\\xf4\\xfa\\x9c\\xe7\\x66\\x6a\\x52\\x44\\x99\\x5a\\x8b\\x2c\\xee\\x64\\x6d\\x71\\x9f\\xff\\x1f\\x6d\\xef\\x01\\x1f\\x55\\x95\\x3d\\x8e\\xbf\\xfb\\xca\\xf4\\x64\\xfa\\x4c\\xa6\\xa4\\x4c\\xda\\xa4\\x92\\x32\\x49\\x26\\x05\\x92\\x01\\x02\\x84\\x10\\x48\\x85\\x30\\x09\\xa1\\xd7\\x50\\x24\\x54\\x05\\x84\\x88\\x08\\x28\\x08\\x88\\x58\\x40\\x11\\x41\\xc5\\x82\\xc0\\x52\\xa5\\x28\\x41\\xc5\\x0a\\xe8\\x5a\\xd6\\xde\\x76\\x5d\\xc5\\xd5\\xb5\\xad\\xee\\xda\\xc8\\x9b\\xff\\x2d\\xef\\xbd\\x79\\x33\\x89\\xee\\x7e\\x3f\\xff\\xcf\\x6f\\x5d\\x51\\xef\\x3b\\x73\\xee\\xb9\\xe7\\x9e\\x7a\\xef\\x3d\\xf7\\x96\\xe4\\x96\\x4e\\x34\\x81\\xbf\\x55\\xe4\\x0f\\x08\\xd6\\x2c\\x9d\\xb8\\x76\\x3d\\x43\\x0f\\xb7\\xb5\\x15\\xf8\\x6c\\x33\\x3b\\x67\\x76\\x5a\\xdb\\x7e\\xf1\\x0d\\xe0\\xe6\\xeb\\xc1\\x1c\\xba\\x6a\\xa0\\xaf\\xa4\\x6d\\x14\\xa2\\xbd\\x1c\\xbc\\xc7\\x1a\\x21\\xed\\x19\\x94\\x8f\\xf2\\x9e\\xcc\\x82\\xb4\\x43\\xd2\\x91\\x12\\xe7\\x43\\x23\\x51\\x70\\xd4\\x9b\\x0a\\x0d\\x7c\\x3e\\x31\\xf0\\xd8\\xd1\\x95\\x09\\xe2\\x2a\\xbd\\x01\\x48\\xf6\\xb5\\x10\\x81\\x76\\xb1\\xb2\\x9a\\x16\\xce\\x44\\x99\\x7d\\xc2\\xaa\\x95\\x42\\x09\\x4e\\x23\\xe2\\xcb\\x17\\xd6\\xf7\\x43\\xbc\\xdb\\x29\\x52\\x3f\\xd0\\x0b\\xa9\\x67\\xbf\\x84\\xd4\\x77\\x54\\xf7\\x47\\xbd\\xd5\\x01\\xc9\\xe7\\xef\\x82\\xe4\\xfb\\x0b\\x11\\xf9\\x90\\x7e\\x06\\xda\\x03\\x2b\\xfb\\x03\\x8c\\xe3\\x52\\x29\\xef\\x71\\x4a\\xc7\\x68\\xac\\x83\\x91\\x6e\\xe9\\x21\\xd5\\x89\\xd0\\x86\\x16\\xc0\\x8c\\x9f\\x11\\x64\\xab\\xaa\\xca\\x68\\x92\\xe7\\x65\\xf8\\x3d\\x06\\x5f\\x09\\xaa\\xd8\\x50\\x28\\x53\\x8a\\xfc\\x11\\xab\\x6c\\xf4\\xbb\\xc5\\x0b\\x1a\\x3a\\xaf\\x1b\\xbf\\x7b\\xc1\\xc1\\x0c\\x56\\x6b\\x3f\\x9e\\x5c\\xaf\\x53\\xf5\\x68\\xf7\\x8d\\x9a\\x58\\x1c\\x08\\x0c\\x0d\\xe6\\xd1\\xed\\xc3\\xca\\x6f\\x5b\\xbe\\x11\\xd0\\x37\\x6d\\x2a\\x1c\\x75\\x80\\x6f\\x1e\\x3a\\xb9\\xb4\\x4c\\x3d\\xe1\\xe4\\xd8\\xb1\\x75\\x1d\\x4f\\x35\\xdd\\x4b\\xe2\\xcf\\x39\\x90\\xb6\\x1f\\xd9\\x1f\\xa9\\x2c\\xaa\\x98\\x1a\\x44\\x95\\x07\\x74\\xb6\\x92\\x92\\xec\\x94\\xb4\\x98\\xac\\x2c\\x6d\\x79\\xda\\x39\\x48\\x14\\x4c\\x3e\\xe0\\x9f\\x85\\x94\\x01\\x72\\x5a\\xc9\\x41\\x8f\\x5a\\x40\\x96\\xc0\\x05\\xa5\\x45\\x9b\\x8a\\x44\\xa3\\x84\\x3b\\xa4\\xb1\\x74\\x08\\x1b\\x8a\\x06\\x4f\\x8a\\x9c\\xef\\x42\\x11\\x8d\\x9f\\x0b\\x5f\\x78\\xc1\\x29\\x89\\xe0\\xd0\\xe3\\xb8\\x40\\xe5\\xf4\\x9c\\x87\\x0b\\xee\\x58\\xfd\\xf2\\x90\\xfc\\x4d\\x8b\\x3a\\x96\\xf0\\xdb\\xd0\\x14\\x04\\xb4\\xc7\\xe2\\x1e\\xbc\\xe9\\x96\\x21\\x93\\x37\\x6e\\xdd\\x65\\xa4\\x77\\xcf\\x1f\\xdd\\x5a\\xe4\\x2d\\x9d\\x60\\xee\\xfd\\x91\\x1e\\xea\\x1f\\xd2\\x66\\x64\\xee\\x4c\\x77\\xd4\\x36\\x2c\\x2f\\x9a\\xdf\\x7e\\x4f\\x7d\\xdd\\xd2\\x89\\xfc\\x0f\\xe5\\xc9\\x6d\\x45\\xf9\\xb6\\x59\\x73\\x1a\\x1a\\x76\\x6d\\x1c\\xd1\\x68\\x1c\\x5c\\x5e\\x5a\\x10\\xac\\x3b\\xea\\xad\\x1b\\x36\\x75\\x1c\\xb1\\x75\\x3c\\x1c\\xaf\\x51\\x41\\x41\\xbd\\x4e\\x45\\x37\\x31\\x1a\\x81\\xef\\x84\\x46\\xab\\xb5\\xaa\\xa0\\x13\\x1d\\x40\\x25\\x40\\x79\\xca\\xc3\\xe1\\x76\\x01\\x76\\x0d\\x55\\xf8\\x84\\x69\\x15\\x96\\xa6\\x78\\xf2\\x7e\\x89\\x37\\x05\\xbf\\x09\\x6e\\xf6\\xd1\\x29\\xbe\\x92\\x48\\x57\\xc1\\xe4\\x5c\\xb3\\x6c\\xdc\\xdd\\xcb\\x1e\\xca\\x07\\x46\\xc3\\x29\\xd6\\x70\\xa2\\xa7\\x8e\\x61\\x5a\\xea\\xea\\xa6\\x14\\xd6\\x0d\\x1a\\x36\\xc6\\x57\\xc0\\xfe\\xb0\\x61\\xb1\\x66\\x23\\xff\\xef\\xee\\x4d\\x63\\xf2\\x62\\x46\\x33\\x4f\\xf2\\x0b\\x6e\\xba\\x65\\xca\\x99\\x91\\xf5\\x4d\\xe3\\xff\\x3c\\x62\\x14\\x96\\x73\\x33\\xb4\\x39\\xad\\x98\\xb6\\x14\\x41\\x4e\\x2c\\x82\\x9c\\xf8\\x20\\x69\\x48\\x4e\\xec\\xff\\x45\\x4e\\x90\\x5d\\xe8\\x47\\x4c\\xfe\\xe1\\x5f\\x30\\x7a\\xee\\x75\\xe3\\x76\\x2f\\x3c\\x94\\xc1\\x98\\xca\\x9e\\xda\\x67\\x60\\x7b\\x34\\xfb\\x6a\\x27\\x23\\x29\\x69\\x83\\x52\\x52\\x53\\xba\\x7d\\xd9\\x5a\\xa0\\xd8\\xb8\\x79\\x11\\xf0\\x5e\\xbd\\x75\\xdc\\x68\\x5f\\xa5\\x6a\\xc2\\x53\\x63\\xc6\\xd6\\x4d\\xec\\xa9\\xbf\\x17\\xd1\\x55\\x02\\x3e\\x60\\xbe\\x82\\x32\\x82\\x32\\x94\\xd4\\x80\\x96\\x4a\\x0a\\xa8\\x75\\x35\\x49\\x49\\xda\\x78\\xd3\\x29\\x51\\x28\\xf2\\x88\\x50\\xa0\\x55\\x3d\\x9f\\xb4\\x3c\\x2a\\x69\\x9b\\x78\\xd3\\xb8\\xd7\\x2f\\xaa\\x5a\\x88\\xab\\xaa\\x9c\\x91\\xb3\\xbf\\xf0\\xce\\x55\\xdb\\xf7\\x4d\\x3b\\xbe\\x74\\xf3\\x6e\\xc3\\x5e\\x38\\xa3\\x43\\x83\\x46\\xa6\\xdc\\x91\\x8e\\x66\\x74\\xe1\\xf8\\x87\\xb6\\x6d\\xff\\x70\\xc9\\x9d\\x9b\\x07\\xb7\\xae\\xb3\\x9a\\xea\\x86\\x4d\\x1b\\x4b\\xea\\x1c\\x2a\\x21\\x2d\\x3f\\x08\\xb4\\xc4\\x9f\\x88\\xb3\\xdb\\x31\\x15\\x79\\x11\\xa2\\x29\\x38\\x2c\\xb9\\x40\\xe2\\xbd\\x0a\\x22\\x7d\\x76\\xa5\\x68\\xac\\xb2\\xfa\\x25\\x02\\x8b\\x55\\x98\\x88\\xdb\\x3f\\x5c\\x8c\\x89\\xb0\\x98\\x05\\x21\\x02\\xa0\\x19\\xd2\\xf0\\x05\\xd4\\xe7\\x74\\xc8\\x0d\\xb5\\x2e\\x29\\x29\\x31\\x51\\xe1\\xb0\\x9b\\x11\\x2f\\x68\\x54\\x3a\\x2d\\xf0\\x42\\x70\\xee\\x48\\x78\\x24\\x46\\x08\\xeb\\xe7\\xb8\\x8e\\x49\\x29\\x96\\x91\\x91\\xa7\\xe8\\x6d\\xf4\\xca\\x19\\xf3\\x5a\\x47\\xde\\x3d\\xed\\xda\\x1d\\x8b\\x67\\x83\\x8a\\xe1\\xf7\\xdc\\x36\\xf1\\xa6\\xec\\xb5\\xb9\\x13\\xfd\\x43\\x66\\x4f\\x33\\x2e\\x98\\x5c\\x5c\\x4c\\x4f\\x9d\\xd6\\x39\\xbc\\x6c\\xc5\\xd4\\xe0\\x2c\\x2d\\x30\\x8c\\xf7\\x4f\\xb9\\x66\\x58\\x53\\x45\\xcb\\x80\\xdc\\xfc\\xa2\\x95\\xf6\\xa2\\xbc\\xac\\x62\\x48\\xd7\\x60\\x48\\xd7\\xa7\\x90\\x37\\xa9\\x94\\xe7\\x89\\x04\\xad\\x56\\xa7\\xb3\\x98\\xec\\x88\\x2a\\x05\\x1b\\x8e\\x80\\x7d\\x22\\x51\\xe1\\xfb\\xa7\\xa4\\xbd\\x4e\\xa5\\xb7\\xc4\\x23\\xec\\xea\\x90\\x08\\x84\\xee\\x5c\\x73\\xa7\\xe5\\x40\\xdc\\xc2\\x8a\\x21\\x47\\xcd\\x4b\\xa6\\x97\\xe7\\xcf\\x75\\xed\\xf6\\x03\\xb0\\xf2\\xf6\\xd2\\x89\\xfe\\x31\\x0d\\x87\\xc0\\x07\\x5d\\x73\\x12\\x17\\xfb\\x8b\\xe7\\xac\\x2a\\x2d\\xcb\\xcc\\x98\\x11\\xfb\\xd6\\xcc\\xc6\\xd2\\xf1\\xc5\\x1c\\x13\\x1b\\x1c\\x32\\x6f\\x0d\\xd2\\xb5\\xaf\\xa9\\x73\\x6c\\x0e\\xb4\\xdb\\xc9\\x54\\x1e\\xd2\\xb5\\x78\\x90\\x7f\\x5c\\x1b\\x17\\x9b\\x6e\\x3d\\x0b\\x27\\x2a\\x87\\x8a\\x05\\x03\\x08\\x65\\x45\\xa2\\xe9\\x86\\x02\\x0d\\x75\\x2d\\x4d\\x76\\x4f\\x98\\x4c\\xb8\\x6d\\x76\\x5f\\x25\\x8d\\xcc\\x60\\x2c\\xb9\\xde\\x87\\x3c\\xdf\\x5f\\x09\\x68\\xfb\\x86\\xdb\\x4c\\xe7\\x8d\\xd7\\xd4\\x35\\xd9\\xad\\xc0\\xbf\\xa8\\xa6\\xf3\\xfa\\x71\\x3b\\x17\\x37\\x2c\\x35\\x02\\x46\\x13\\xa3\\x3c\\x6e\\x5b\\x99\\x74\\xfa\\x9a\\xd1\\xe5\\x35\\xf5\\xb9\\x4b\\x07\\x4d\\x2b\\x39\\x37\\x79\\xb6\\xb5\\x6d\\xec\\xac\\x15\\x2d\\x55\\x5b\\x17\\x6d\\x03\\xcc\\x8a\\xfa\\x6a\\x53\\x96\\xcf\\x3e\\xb7\\x77\\xf9\\x83\\x5b\\x19\\x7d\\xc3\\x98\\x49\\x2f\\x54\\x6f\\x9e\\xb4\\x97\\xc8\\xd9\\x53\\xd4\\xab\\x4c\\x80\\xfd\\x0c\\x9f\\x53\\xb1\\x9d\\x83\\x6e\\x39\\x1f\\xe7\\x67\\x45\\x94\\x82\\x04\\x11\\xf8\\x05\\xf9\\x14\\x3f\\x8a\\x23\\xe8\\xbb\\xdd\\x3d\\x6e\\x30\\x6b\\x6b\\xcf\\x36\\x30\\x65\\xfb\\x76\\x66\\x5d\\x2f\\x47\\xff\\x86\\xe5\\x64\\x00\\x8c\\x41\\x90\\x3e\\x6b\\xa9\\x84\\x13\\x30\\x65\\x60\\x58\\xd5\\x53\\x10\\x0d\\x07\\x7c\\xe1\\xb8\\xa7\\x2a\\x2a\\x6b\\x00\\x66\\x86\\x5b\\x33\\xb9\\xac\\xe7\\x42\\x4f\\x17\\x18\\xf8\\x3e\\x7f\\x0e\\xe5\\x43\\x13\\x8b\\xf9\\xb7\\x59\\x5b\\xef\\xa3\\x60\\x20\\xff\\x16\\x9f\\x07\\xe3\\x86\\x51\\x10\\xef\\x9f\\xa1\\xfc\\x65\\x52\\x19\\x47\\xa8\\x78\\x38\\xc3\\xc7\\x9d\\x66\\xbd\\xc6\\x7e\\x06\\xb2\\xd5\\x08\\xf2\\x8f\\xa6\\x72\\x7a\\x21\\x7a\\x20\\x77\\x79\\x54\\x91\\x1a\\x3a\\xd4\\x85\\xe0\\xc1\\x51\\xdc\\xec\\x13\\xbc\\xa3\\x74\\xf6\\x03\\x7d\\x1e\\x04\\xd2\\x99\\x93\\x95\\xed\\xc6\\xc6\\x73\\x2d\\xda\\xb1\\x55\\x13\\x8c\\x0d\\xe7\\xbb\\x5c\\xa7\\x2d\\x4c\\xf1\\x8c\\x61\\x2d\\x53\\xd5\\x15\\x5d\\xc3\\x26\\x4e\\xd7\\xb4\\x9f\\x6b\\xd6\\xd1\\xec\\xa4\\xf9\\x13\\xf8\\x16\\x70\\xbe\\xca\\x33\\x76\\x41\\x07\\x3f\\x8e\\x1e\\xff\\xc0\\xda\\xe6\\x41\\x2d\\x0d\\x13\\x87\\xcf\\x9e\\xe2\\x1c\\xc6\\x27\\x82\\x33\\x43\\x92\\xd8\\xb1\\x38\\x8e\\xba\\x4a\\x9d\\x63\\xae\\x62\\x19\\x48\\x39\\x66\\x33\\xea\\x9c\\x4f\\x42\\x22\\xcd\\x90\\x0b\\x46\\x38\\xfb\\x2c\\x2d\\xcd\\x3e\\xa6\\x14\\xcd\\xbd\\xd7\\x6f\\x47\\xb1\\x95\\x9c\\x50\\x68\\xfe\\xa4\\xa7\\x0a\\x60\\xc2\\xb6\\xbb\\xdc\\xef\\xf0\\xe6\\x65\\xe9\\x82\\xa6\\xd9\\xc3\\x96\\xe8\\x21\\x85\\xce\\x93\\xb4\\x9e\\x2e\\x59\\x39\\x7a\\xd6\\x9c\\xd8\\x59\\xa6\\x15\\xe7\\x62\\x6e\\x62\\x7c\\x55\\xe0\\x95\\x31\\xde\\xb6\\x25\\xcd\\xfc\\x58\\x48\\x9a\\x79\\xe1\\xe8\\xa1\\xb3\\xa6\\x14\\x57\\xf5\\xbe\\x3b\\x63\\x1e\\x9e\\x5b\\x07\\xb4\\xb3\\x66\\xf6\\x5f\\xb8\\xde\\xc6\\x7c\\x24\\x56\\x8d\\xe4\\xd1\\x22\\x59\\x56\\x14\\x8c\\x93\\x73\\x9b\\x26\\x5c\\xed\\x19\\x16\\x35\\xd6\\xfc\\xef\\xe7\\xb6\\x1f\\xfa\\xf6\\xc2\\xde\\xfd\\x2f\\x6c\\xa9\\xef\\x28\\xd8\\xd2\\xd0\\xe6\\x63\\x2e\\x7e\\xcc\\x7f\\xfb\\xd0\\x6d\\xef\\x02\\xd5\\x3d\\xf7\\x1c\\x1a\\x7f\\xb0\\xee\\x64\\xf0\\x38\\xc9\\x59\\x2b\\x60\\x1f\\x0c\\x9c\\x23\\x07\\x65\\x3f\\x6a\\x36\\xc6\\x20\\x13\\xc5\\x20\\xe3\\x50\\x10\\xde\\x40\\xc6\\x67\\x0b\\x3c\\x92\\x69\\x12\\x6e\\xc3\\x40\\x1b\\xb8\\x4f\\x97\\xd5\\xd8\\x4f\\x8d\\x00\\x96\\x1d\\x0f\\x4c\\x3b\\xb1\\x79\\xed\\x4e\\xf5\\xd3\\xea\\x39\\x23\\x9a\\x93\\x0d\\x6c\\x67\\x6d\\x4d\\xca\\xcf\\xbb\\xb7\\xae\\xfa\\xe1\\xfa\\x9b\\x97\\x19\\xd6\\x4f\\xdf\\xd0\\xe6\\x7e\\x08\\xf5\\x95\\xc2\\xcc\\x66\\x1d\\xb0\\x2f\\x23\\x65\\x3c\\x4e\\xa9\\xbb\\x59\\x1d\\xe9\\x86\\x3c\\xb0\\x4f\\x38\\xa9\\x07\\x29\\x12\\x0f\\x47\\xaa\\xb6\\xb4\\x4e\\xb1\\x2b\\x5f\\x8e\\xfb\\xf2\\xe0\\xde\\xfd\\x4a\\x66\\xf6\\x00\\xef\\xa1\\xf9\\xf3\\x33\\x9f\\x78\\xf3\\x9e\\xcd\\x03\\x33\\x48\\x8d\\x2a\\x8c\\xb7\\x1c\\xcc\\x2c\\x8c\\xcf\\xa8\\xea\\x8e\\x61\\x88\\x4d\\xc3\\x8f\\xfd\\x8b\\xfe\\x06\\x3d\\xbd\\x4e\\x2e\\x85\\x61\\x1d\\xae\\x2f\\x0f\\xed\\x38\\xc8\\xbd\\xac\\xb8\\x35\\xd8\\x61\\x57\\x31\\xb3\\x4e\\xbc\\xb3\\x7f\\x5b\\x4a\\x51\\x4e\\xca\\x13\\xf3\\xe7\\xe7\\x60\\x9f\\xfb\\x0e\\xb4\\x03\\x6e\\x48\\x9f\\x8e\\x4a\\xa3\\x52\\xcf\\xc2\\x78\\x22\\x9f\\x4a\\x00\\x45\\xc7\\x9d\\x31\\x06\\xa5\\x1d\\x85\\x71\\x14\\x0a\\x2e\\xc4\\xe3\\x5b\\x38\\xaf\\x97\\xfb\\xd5\\x34\\xf1\\x21\\x67\\xec\\x7d\\x71\\x1e\\x0b\\xc3\\x21\\x98\\x1d\\xd0\\x9f\\x8d\\x9a\\xe2\\xab\\x1b\\x54\\xd3\\x90\\xc3\\xff\\x90\\xb7\\xb0\\xe9\\x9a\\x65\\x2d\\x3b\\x97\\x3d\\x3c\\x80\\xa6\\xd5\\x83\\xcf\\x3d\\x64\\xd4\\x9c\\x55\\x2b\\xd9\\x39\\x93\\xcf\\xd4\\xd6\\x37\\x4d\\xbe\\x30\\xea\\x4e\\xae\\x7a\\xf0\\x86\\xc5\\xdb\\xf8\\x1f\\x6f\\xd8\\x64\\x2b\\x86\\xd9\\xc9\\xf2\\x79\\xd5\\x8a\\xb1\\x6e\\x34\\xd6\\x6f\\xc0\\x47\\xcc\\x51\\xee\\x6e\\x18\\x81\\xc5\\x9f\\xd0\\x2b\\x95\\x3a\\x0d\\x8c\\x84\\xf3\\x8f\\xda\\x2d\\x92\\xc5\\x7c\\x5e\\x08\\x6f\\x84\\xdb\\x5d\\xfc\\x3e\\xa4\\x39\\xe4\\xee\\x17\\x1c\\xfd\\xd2\\xc7\\x1a\\x27\\x6b\\x87\\x4d\\x77\\x2c\\xe8\\xb8\\xd6\\x73\\xb3\\x7d\\xf3\\x70\\x55\\x85\\x33\\xdf\\x56\\x0c\\x3e\\xaa\\x6f\\x28\\xf5\\x83\\xc5\\xeb\\x8f\\x1d\\x5b\\xcf\\xaf\\x4f\\xb7\\x0f\\xd1\\xdc\\x60\\xc4\\xbc\\xcd\\x81\\xf1\\x47\\x0e\\xb4\\x2b\\x0e\\xca\\x7d\\xcc\\x10\\xab\\x71\\x20\\x8b\\xa0\\x80\\x1a\\x91\\x87\\xec\\x21\\x36\\x2c\\xc4\\x3c\\x33\\x44\\xe8\\x70\\x9a\\x01\\xed\\x4c\\x8a\\x74\\xf5\\x12\\x3d\\xa6\\x41\\xa1\\x93\\x24\\xdf\\x28\\x08\\xfe\\x38\\xf6\\x33\\x7e\\x82\\xa3\\x5e\\xd7\\xbe\\xa4\\x19\\x3c\\xde\\xfb\\xc8\\x03\\x6b\\xeb\\xaa\\x67\\x4f\\x29\\xaa\\x02\\x97\\x51\\x9f\\x09\\xd0\\x5e\\x68\\x39\\x05\\xe5\\xa4\\xdc\\x01\\x8d\\x5e\\xad\\x8e\\xd1\\x50\\x0c\\xe3\\xb4\\x09\\x46\\xc2\\xe8\\xbb\\x20\\x5c\\x18\\xc0\\xe1\\x1c\\x34\\xdd\\x9b\\x56\\x0c\\xff\\xcd\\xea\\x15\\xb3\\xd0\\x01\\x50\\x20\\x12\\xc0\\x1d\\x4d\\x09\\xe3\\x17\\x34\\xf3\\xd3\\xe9\\xa1\\x8b\\xb2\\x57\\xd7\\x0e\\x9e\\x36\\xd1\\x1a\\x70\\xf2\\x43\\x19\\x7b\\xb3\\x79\\x6e\\xcd\\x72\\x63\\xcb\\xf3\\x4b\\xcd\\x27\\x69\\xda\\xbf\\xba\\xa9\\x73\\xbe\\x9a\\x6d\\x27\\x39\\x54\\x17\\x1c\\xeb\\x7f\\xe0\\x58\\xb3\\xa8\\xd4\\x13\\x56\\x57\\x42\\x2c\\x9b\\x0a\\x79\\x7b\\x4c\\x43\\xc5\\x25\\x9c\\x81\\xe3\\x35\\x91\\xf1\\xfa\\x48\\xc2\\x51\\x26\\x25\\x55\\x0a\\x69\\xdc\\xb8\\x40\\x88\\xe8\\x86\\xe8\\x3f\\xd1\\xf7\\x78\\x60\\x03\\x9b\\x22\\x8d\\x94\\x51\\xd3\\x9f\\x95\\xa2\\x17\\xce\\x9f\\x00\\x1e\\xe7\\x03\\xd8\\x4a\\x81\\xc7\\x7a\\x1f\\x99\\x51\\x29\\x33\\x53\\xe0\\xaf\\xfc\\x70\\xc1\\x4c\\x41\\x1e\\x4d\\x01\\x5f\\xb1\\xed\\x90\\x56\\x98\\x03\\x1f\\xd1\\xd0\\x67\\xf1\\xac\\x80\\xf0\\x6a\\x22\\x4a\\xbd\\xd0\\x3b\\x4c\\x30\\xee\\x7b\\xea\\xb3\\xe5\\x17\\xf2\\x55\\x4a\\xaf\\xed\\xeb\\xcb\\xe0\\x2b\\xfa\\x57\\x7e\\x9c\\x7f\\xc3\\x84\\x42\\xf0\\x1e\\x1c\\xef\\x2b\\xe0\\x43\\x56\\xc1\\xfe\\x9b\\xf2\\x50\\x19\\x27\\xe2\\x74\\x90\\xc7\\x28\\x3e\\x0a\\xa8\\x5d\\x2a\\x15\\x13\\xaf\\x50\\x24\\x09\\x6a\\xe4\\x33\\xe2\\xbf\\x04\\xcb\\x2f\\xdf\\xea\\x10\\x43\\x03\\x7c\\x9c\\xc1\\x26\\x6c\\x73\\xd0\\xcb\\xca\\xaf\\x1d\\x36\\x7d\\xf4\\x88\\x92\\xb2\\x94\\x0c\\x5b\\x5e\\x79\\xf1\\x83\\x5b\\xae\\xdb\\x34\\x75\\xa5\\xd3\\x3d\\xb4\\x62\\x98\\xbe\\x63\\xd6\\xcd\\xf4\\xea\\x86\\x46\\xdf\\x4e\\x9f\\xc7\\x51\\xd4\\xbc\\xb2\\x78\\xd5\\xf6\\xa5\\x93\\x1b\\xb7\\xb5\\x17\\x95\\xc3\\x16\\xa8\\x77\\x2f\\x51\\x4f\\xb2\\x71\\x5c\\x2f\\xda\\x01\\xa6\\x72\\x50\\xac\\x5b\\x14\\xd0\\x2a\\x3c\\x9e\\xe4\\x64\\x5d\\x9c\\xcb\\xa5\\xd7\\x21\\xd5\\xb3\\xc2\\xb1\\xfb\\xc8\\x02\\x21\\x24\\x0a\\xc7\\x06\\x55\\x62\\xae\\xaf\\x14\\x6f\\x84\\x4c\\x81\\x76\\xd8\\x09\\xb8\\x64\\x25\\x13\\x3e\\x1e\\x85\\xfe\\x64\\xc0\\xf5\\xbb\\xe6\\xb7\\x35\\xb5\\x3f\\xb9\\x77\\x65\\x3b\\xab\\x29\\xee\\x59\\x7d\\x3d\\xc8\\xdd\\x98\\x32\\x3d\\x65\\x7c\\x5a\\x70\\xe6\\xac\\xa0\\xeb\\x82\\x9f\\xeb\\x5d\\x33\\x73\\xf6\\x56\\x93\\x7d\\x45\\xd3\\x3d\\xa7\\x86\\xd4\\xf0\\xff\\xa0\\xf7\\xd2\\xf7\\x6f\\xed\\xe9\\xfd\\xa7\\x2b\\x69\\xce\\xe4\\xe1\\x63\\x37\\xd9\\x77\\x16\\x54\\x22\\xde\\x77\\x40\\xfb\\x30\\x1e\\xf2\\x5e\\x8f\\x72\\xed\\x98\\xb3\\xd0\\x25\\xa8\\x60\\x33\\xca\\xe8\\xaa\\x10\\x8b\\xd0\\xbb\\xd3\\x56\\x24\\x10\\x00\\x86\\xb6\\x25\\x7e\\xd0\\x71\\xa1\\x98\\x51\\xc7\\x15\\x7e\\xf8\\x2a\\x3f\\x6f\\x62\\xf1\\x73\\x85\\x75\\x50\\xf4\\x3b\\xad\\x77\\xf8\\x47\\x77\\x82\\xf3\\xbd\\xd9\\xfb\\x1f\\xdf\\xb5\\x0b\\xd9\\xf8\\x38\\x38\\x17\\xc3\\xa1\\xef\\xd5\\xc1\\xc8\\x39\\x39\\xa0\\x56\\x38\\x9d\\x56\\xb7\\x2b\\x26\\xc6\\x7d\\x16\\x7b\\x5f\\xab\\x60\\xeb\\x8d\\xe8\\x00\\x27\\x29\\x67\\xc0\\xdb\\x8a\\xb1\\xe8\\x94\\x3e\\xf0\\xda\\xa5\\xf5\\x17\\x43\\x9a\\x17\\x5d\\x28\\x35\\xbf\\x63\\x41\\x76\\xe1\\xcc\\x49\\x65\\x8d\\x40\\x33\\xfb\\xf0\\x88\\xd2\\xcf\\x9e\\xbc\\xfd\\x28\\xb8\\xf1\\x11\\x07\\x5d\\x6e\\xa6\\x67\\x6d\\x5f\\x31\\x7c\\x51\\x79\\x46\\xf3\\xb5\\xc1\\xd6\\x76\\xc6\\xac\\x78\\x7f\\xca\\x6d\\x63\\x4e\\xbe\\xfe\\xe8\\xcd\\x60\\xd0\\xec\\x0f\\x16\\xae\\x27\\x39\\xc7\\xdb\\x70\\x7c\\xe3\\xa0\\x5c\\xc4\\xa1\\x17\\x2f\\x8e\\x18\\xf4\\xc8\\x63\\xc7\\xdb\\x6c\\x0a\\xf5\\x53\\x90\\x0c\\x15\\x1c\\xae\\x43\\xcc\\x38\\xf0\\x34\\x84\\x97\\xa4\\x90\\xff\\x23\\x8f\\x94\\x28\\xc9\\x93\\x7b\\x66\\x93\\x1d\\x79\\x45\\x64\\x16\\x99\\x99\\xf3\\x6f\\xfc\\xe6\\x8d\\x92\\x7d\\xc5\\xd7\\xdf\\xf7\\xe2\\x19\\xcd\\xd8\\x79\\x81\\x41\\x23\\x8a\\xdf\\xca\\x28\\x30\\x0e\\xbf\\x76\\x15\\xfb\\xe3\\xed\\x6b\\x7e\\xe4\\xbf\\xa7\\xf9\\xbf\\x82\\x78\\xc5\\xe3\\x5b\\x5f\\xfa\\x3e\\x71\\xb5\\xf5\\x99\\x8d\\xcd\\x53\\x38\\x70\\x1d\\x70\\xaf\\xac\\x0d\\xf2\\x1b\\x75\\xcf\\x1c\\xb9\\x97\\xe8\\xe8\\x1e\\xaa\\x87\\xed\\x80\\x31\\xa3\\x93\\x4a\\x3e\\xc9\\x99\\x62\\x18\\x95\\xce\\x78\\x06\\x14\\x43\\xaa\\xf2\\x8f\\x3a\\x6c\\x14\\x76\\x24\\xc8\\x3d\\x0b\\xab\\x9b\\x85\\x09\\xb4\\xbd\\x8a\\xf6\\xa1\\x73\\xad\\x7a\\x68\\x88\\xd1\\xc3\\x7a\\x38\\x8b\\x06\\x5f\\xa4\\xfa\\x73\\xbd\\x39\\xba\\x01\\xdb\\xfe\\xcc\\xef\\x3f\\x78\\x6e\\xa1\\x23\\xe7\\xd2\\xeb\\xe0\\xfe\\x82\\xf8\\xec\\xd4\\x78\\xb7\\xca\\xcf\\xfe\\x68\\x2a\\x9e\\x76\\x28\\xae\\xf9\\x23\\xde\\xd9\\x7b\\x1e\\x3c\\x91\\x37\\x9a\\x7f\\x8e\\x1e\\x79\\x60\\x4e\\x8d\\x76\\xa3\\x19\\xbf\\xeb\\xb6\\x22\\x74\\x2d\\xdd\\xcb\\x6c\\x31\\x28\\x99\\x74\\xf0\\x76\\xef\\x16\\xdc\\xe6\\x09\\x5d\\xcb\\xcc\\xa4\\xbb\\x0d\\x4a\\x7a\\x49\\x68\\x03\\x69\\xa3\\x4e\\x84\\x3a\\x99\\x13\\xf4\\x62\\x83\\x92\\x5b\\x1e\\xba\\x59\\x68\\xeb\\x85\\x70\\x3f\\xd1\\x8b\\x60\\xdb\\x8a\\xd0\\xbd\\xbd\\xb7\\x92\\x3d\\x5c\\xbe\\x8e\\x79\\x84\\xb9\\x15\\xb6\\xad\\x0a\\x6d\\xeb\\xdd\\x86\\xdb\\x7e\\x80\\x6d\\xdf\\xe0\\xdf\\x5e\\x1f\\xba\\x13\\xfd\\x16\\xce\\xcb\\xad\\xfc\\x7c\\x66\\x1f\\xbd\\x92\\x72\\x53\\x5e\\xca\\xfd\\x84\\x82\\x61\\xe2\\xe3\\xf5\\xc9\\xce\\x33\\x60\\x28\\xcc\\xb8\\x02\\xe2\\xca\\x17\\x96\\x0e\\x72\\xd1\\x80\\x05\\x89\\x3f\\x14\\x8d\\x94\\x01\\x74\\x38\\x2c\\x05\\xe4\\x5e\\x44\\x14\\xc9\\x33\\xfb\\x3e\\x3e\\x36\\x7a\\x95\\x7b\\xc0\\xc2\\x95\\xf5\\x6d\\x99\\x87\\x39\\x57\\x69\\xd9\\x91\\xbb\\x57\\xbf\\xb3\\xe9\\x8e\\x3d\\xfc\\xa4\\xe9\\x4b\\x6f\\x9f\\xbe\\xb8\\x01\\xb4\\xbd\\x1c\\x1a\\x98\\x1f\\x6c\\x4e\\x49\\x19\\xd5\\xec\\x88\\xe5\\x4e\\x7e\\xb8\\x1f\\xb8\\xb6\\xec\\xe2\\x0b\\xf6\\x3e\\x7c\\xdf\\x91\\x7b\\xea\\x47\\x21\\x3a\\xc7\\xf2\\xa3\\x99\\x37\\xe9\\x75\\x90\\xce\\x35\\xa1\\xd5\\xbd\\x5b\\x31\\xed\\xb9\\xb0\\xed\\x2b\\x7a\\x2d\\x6c\\xeb\\x0e\\x6d\\x21\\xb4\\x87\\x42\\xa1\\x7f\\xb2\\xaf\\xb1\\x63\\xa0\\x66\\x0f\\xa0\\x06\\x07\\x52\\x32\\xdd\\x8d\\x41\\x9a\\xb2\\xda\\x33\\x33\\x29\\xbb\\xdd\\xdb\\x10\\xb4\\x1b\\xcc\\x1a\\x3d\\x6b\\x68\\x0a\\xb2\\xb6\\x54\\x4a\\x3a\\xd2\\x13\\x3e\\x97\\x24\\x3f\\x14\\x2c\\x7f\\xfe\\xd1\\x2f\\xbb\\xfc\\x53\\x09\\x87\\x67\\x24\\x4f\\xe2\\xe0\\xc8\\xc4\\x4e\\x33\\xc9\\xe4\\x48\\x0d\\xa3\\x3e\\xe0\\x9b\\xf9\\xdc\\xea\\x1b\\x0d\\xeb\\x2f\\x2f\\x33\\x37\\xac\\x2d\\x59\\x76\\x56\\x3f\\xf5\\x86\\xaf\\x52\\xf9\\x0c\\x43\\x71\\xa1\\x6f\\xb0\\xf3\\xb1\\x95\\x05\\x1b\\xfd\\x40\\xa5\\xcd\\xb0\\x3c\\xf0\\xc0\\xba\\x35\\x23\\x9b\\xe9\\xc3\\xbd\\x7b\\x67\\x54\\x5c\\x0f\\xe2\\xe9\\x49\\x75\\x93\\xf9\\x17\\xaf\\x79\\x76\\x4c\\x60\\x6c\\xeb\\x90\\xc1\\xb9\\xfc\\x3f\\x99\\xfd\\xfc\\x18\\xdf\\xd0\\x72\\x74\\x2e\\x06\\x8e\\x67\\x2d\\x77\\x09\\x8e\\xa6\\x9c\\x6a\\x0b\\xe8\\xb2\\xdd\\xde\\x24\\x6f\\x41\\x43\\xd0\\x6b\\x73\\x18\\x4f\\x81\\x9a\\x80\\x31\\xa8\\xa2\\x1c\\x06\\x47\\x92\\x83\\x51\\x33\\x8e\\x80\\x55\\xa7\\xe3\\x50\\xab\\x3e\\xa8\\xd3\\x25\\xc5\\x26\\xf9\\x1b\\x82\\x49\\x86\\x58\\x0a\\x6f\\x44\\x4a\\x47\\x5a\\x28\\x43\\xdc\\x05\\xe7\\x87\\x93\\x26\\x76\\x5c\\x90\\x1f\\x1b\\xf3\\xa1\\x23\\xfd\\xde\\x64\\x9c\\xc3\\xfb\\xd0\\xfd\\x01\\x28\\xda\\xf4\\xa1\\x03\\xf5\\x5e\\x69\\xb5\\x88\\x3c\\x53\\x9a\\x82\\xce\\xb6\\x41\\x46\\x98\\x84\\x34\\x3a\\x45\\x95\\xa8\\x7f\\x5e\\x9d\\x5a\\x10\\xb7\\x2a\\xf5\\xfa\\x0e\\x53\\x2c\\x70\\xa4\\xe8\\x52\\xf3\\x9d\\x2b\\x1c\\x55\\x93\\x86\\x6b\\xb4\\xf9\\x74\\xf9\\xa9\\x85\\xdb\\x77\\xde\\xf2\\xfd\\xed\\x73\\x6e\\x71\\xb0\\xea\\x14\\x6e\\xd6\\xbd\\x37\\xec\\xab\\x19\\x5d\\x7f\\x73\\x53\\xf2\\xca\\x7a\\xe6\\x37\\x90\\x33\\x74\\xeb\\x75\\xa0\\xee\\x14\\xc8\\x1e\\x3a\\x7d\\xf6\\x40\\xf0\\x65\\xfb\\xf4\\x73\\xa7\\x5f\\xe2\\x1f\\x7c\\x61\\xc6\\xa4\\x82\\x65\\x6a\\x70\\xe7\\x97\\x20\\xfb\\xaf\\x5d\\xb3\\x56\\x7d\\x86\\x64\\x72\\x74\\xe8\\x9f\\xdc\\x79\\xc8\\x87\\x02\\x6a\\x10\\x35\\xee\\x48\\x6e\\x0a\\x19\\xbc\\x93\\xca\\x35\\xe4\\x26\\xe5\\xc2\\xc1\\xe7\\x06\\xbc\\x09\\x09\\x76\\xd4\\x1a\\x17\\x4c\\x48\\x88\\xf5\\x50\\xac\\x51\\x19\\x1b\\x5b\\xd4\\x10\\x8c\\x35\\x28\\xcb\\x1b\\x82\\xc2\\x76\\x6c\\x78\\xc8\\xa4\\x2a\\x47\\xc6\\x8c\\x82\\x7c\\x0f\\xba\\xc0\\x2f\\x32\\xb3\\xaa\\x02\\x79\\x40\\x29\\x72\\xc5\\x8a\\xde\\x76\\x96\\xd8\\x82\\xce\\x53\\xa2\\x23\\x69\\xe2\\x65\\xaa\\x2f\\x9a\\xd9\\xda\\x43\\x9d\\xdb\\xee\\xde\\xf8\\xd5\\xae\\xce\\x4d\\x0e\\x3a\\xc9\\x03\\x58\\x4e\\xe4\\x8a\\x1e\\x38\\x52\\xb5\\x29\\x85\\x02\\x57\\x34\\x47\\xf4\\xf6\\x07\\xee\\x5d\\xb7\\x77\\x54\\xcd\\xe8\\xcd\\x63\\x55\\x43\\x66\\xce\\x0d\\x3e\\x7f\\xe6\\x65\\xd0\\xf6\\xe4\\x94\\x89\\x47\\x1f\\x06\\x34\\xe1\\x09\\x18\\x7d\\x9a\\xf0\\xe4\\xea\\xa2\\xd1\\x7b\\xe8\\x43\\x1f\\xf3\\x9f\\xfc\\x63\\xc9\\xf4\\xd5\\x57\\x88\\x6d\\x5a\\x44\\x51\\x9c\\x93\\xfb\\x12\\xca\\xc4\\xb8\\x80\\x31\\x25\\xa3\\x21\\x98\\x96\\x02\\xa8\\xf8\\x84\\xf8\\x86\\x20\\x14\\x00\\x86\\x08\\x00\\xa5\\x33\\xe8\\x92\\x74\\x90\\x31\\x3a\\x67\\xc0\\x69\\x42\\x6d\\x9a\\x20\\x34\\xf6\\x86\\x9c\\x04\\xbd\\x41\\x7c\\xf3\\xe5\\x82\\x74\\x74\\x0b\\x33\\x42\\x7c\\x27\\x00\\xdf\\x6e\\x18\\x9e\\x7f\\xf4\\x44\\x1f\\x91\\x0c\\xda\\x67\\x47\\x8b\\xc3\\x7e\\xbc\\x92\\xa5\\x24\\x87\\xdf\\xa1\\x13\\x78\\xad\\x0e\\xe8\\x72\\xf2\\xcc\\xc2\\x94\\x83\\xa1\\xfc\\x17\\xe3\\x55\\xa9\\x85\\x71\\xab\\x12\\x2a\\x27\\x56\\x9b\\xfc\\x21\\x2a\\x0d\\x50\\x86\\x64\\xfe\\xe5\\xfb\\xf7\\xa5\\xde\\xbe\\x66\\xea\\x02\\xb3\\x16\\x9c\\x4d\\x63\\x56\\xf1\\xd7\\x82\\xf2\\x22\\x34\\x40\\x7e\\x3f\\x78\\x01\\xe4\\x0e\\x99\\x37\\xb5\\x1c\\x00\\xf7\\xb9\\xe6\\xc3\\x87\\xdc\\xa7\\xcc\\x4d\\xd3\\xcb\\xce\\x51\\x4c\\xe8\\x00\\x1c\\xa7\\x1d\\xea\\x72\\x2e\\xe5\\xa7\\x06\\x53\\xd7\\x05\\xaa\\xdd\\xc5\\x8d\\x41\\xb7\\x61\\x40\\x79\\x5e\\x69\\xa9\\x2e\\x39\\x2f\\x3b\\xaf\\x31\\x98\\x03\\x98\\x0c\\x35\\x95\\x6d\\xc8\\x5e\\x98\\xdd\\x9d\\xcd\\xaa\\x99\\x6c\\x5d\\x40\\xc1\\xe8\\x98\\xc6\\x60\\x5a\\x9c\\xd1\\xa2\\xd7\\x01\\x27\\x03\\x55\\xc2\\x62\\xa9\\x42\\x57\\x8d\\xc6\\xea\\xb3\\x28\\x8e\\x1c\\x54\\x95\\x1d\\xaa\\x86\\x21\\x16\\x1e\\x39\\xe4\\x04\\x16\\x04\\x14\\x73\\x91\\x73\\x38\\xb8\\x86\\x81\\x6c\\xde\\xa7\\x7b\\xa1\\xc7\\xc1\\x62\\xe0\\x37\\xe1\\xc4\\xab\\x04\\x3f\\x49\\x2a\\xad\\xa3\\x2a\\x11\\xb3\\xf0\\x53\\x60\\x5e\\xc6\\x6c\\xf7\\x8b\\xb7\\x49\\xd9\\xec\\xc2\\xbf\\x81\\xcd\\xc1\\xee\\xaa\\x49\\x9f\\xb5\\x3b\\x34\\xd7\\x58\\xa7\\x0c\\xa9\\x30\\xbc\\xa6\\x31\\xd1\\xd3\\x77\\x8d\\xaf\\xa6\\x07\\xdd\\xd0\\xd2\\xda\\xa8\\xcb\\x72\\x6a\\x16\\xc4\\x4d\\x1a\\x3c\\xfc\\xef\\x23\\xcf\\x35\\x2c\\xea\\xb1\\xd8\\xdd\\x89\\x05\\x63\\xf9\\xca\\xe0\\x4c\\xa7\\x2b\\x31\\xbb\\x19\\x5c\\xb4\\xab\\x78\\x1b\\xf8\\x8b\\x3b\\xbf\\x73\\xbb\\x15\\xe4\\x2e\\xae\\x99\\xf5\\xec\\xa4\\x49\\x8a\\xce\\xb6\\xf6\\x69\\xde\\xd9\\x7f\\xf1\\xe4\\xcf\\xde\\x61\\xe5\\x77\\x80\\x15\\xe9\\xfc\\x64\\xba\\xc1\\x3b\\x67\\x71\\x65\\x7e\\xc6\\x9d\\x0b\\x34\\xa6\\x1d\\x45\\x79\\x99\\x37\\x23\\x7b\\xb8\\x07\\xf2\\x70\\x00\\x5b\\x0f\\xed\\x61\\x01\\xd5\\x12\\xc8\\xf1\\x66\\xe9\\x13\\xd3\\x12\\x1b\\x83\\x1c\\x50\\xa5\\xa5\\xe8\\x61\\xe2\\x01\\xd4\\x4c\\x9a\\x3e\\xa0\\x57\\x35\\x06\\xad\\x0e\\xbd\\x5e\\xe9\\x70\\xe4\\x35\\x05\\x1d\\x06\\xa3\\x9e\\x52\\x5a\\xe5\\x0f\\x46\\x43\\x6b\\x48\\x89\\x1c\\x32\\x5c\\x30\\x62\\x1e\\x11\\xcb\\x81\\x98\\x03\\xd9\\xe3\\x31\\x27\\x8b\\xfc\\xf1\\xa0\\xa2\\x01\\x71\\x2d\\x1c\\xc0\\x26\\x1f\\x74\\xd8\\xc0\\x6e\\xc3\\x7c\\x41\\xb7\\xc4\\xbc\\x3a\\xa4\\x7d\\xc6\\xaa\\x81\\x6d\\xfc\\x95\\xa9\\x49\\x81\\x98\\x55\\xce\\x8d\\xb3\\x87\\x70\\x40\\x67\\xd6\\xb0\\x4d\\xa7\\x96\\xdd\\xbc\\x55\\x9f\\x92\\x38\\x28\\x66\\x55\\xe1\\x9b\\x83\\x7b\\xdf\\x6e\\x3f\\x3d\\xcd\\x10\\xbb\\x25\\xb8\\x09\\x8c\\x8f\\xcd\\x2a\\x34\\xf2\\xb9\\xe0\\xe7\\xe2\\xf2\\xee\\xdb\\xd4\\xa0\\xb9\\xda\\xba\\xb1\\x7c\\xd5\\xc2\\x8d\\x1b\\x87\\x8e\\x3e\\x46\\x17\\x95\\xf1\\x57\\x6d\\xfc\\x61\\x7a\\xb5\\x7b\\x88\\xa9\\xb1\\xa6\\x64\\xcf\\xcd\\xa4\\x66\\x4b\\xcb\\xb7\\xb2\\xdd\\x70\\xdc\\xf9\\xd4\\x40\\x6a\\xfc\\x89\\x7c\\x7d\\x7a\\x42\\x82\\x55\\xd0\\x8c\\x04\\x43\\x42\\x52\\x02\\xd4\\x8c\\x84\\xec\\x40\\x36\\xb6\\x23\\xb6\\x60\\x5c\\x76\\xb6\\xc7\\x65\\x62\\x62\\x95\\xb1\\x3e\\x68\\x31\\x6c\\xca\\x32\\xfc\\x08\\x42\\x84\\xb9\\xe8\\xa3\\x2e\\x28\\x1e\\x44\\x1b\\xfa\\x91\\xd6\\x51\\x0f\\x64\\x96\\xd3\\xe3\\x0f\\x2b\\x0e\\x32\\xb0\\x32\\xb3\\x49\\x73\\x66\\x36\\x70\\x72\\xde\\x6d\\x77\\xdd\\xfc\\xf5\\x5d\\xf3\\x36\\xdb\\xe8\\xa4\\x54\\x99\\x0e\\x19\\xf8\\x2b\\x69\\x92\\x0a\\x99\\x8f\\x1b\\x0c\\xdc\\x03\\xf7\\xde\\xf0\\xe0\\xa8\\x9a\\xba\\x2d\\x2d\\x6c\\x39\\xb4\\x18\\x13\\x67\\xbd\\x78\\xfa\\x12\\xff\\xd0\\xd9\\xe9\\xed\\x47\\x9f\\x10\\xd4\\xa8\\xf1\\x9c\\xa0\\x44\\xcc\\xfd\\xf5\\x2b\\x93\\x7b\\x9b\\xfe\\x0a\\x3c\\x5f\\x2d\\x9e\\xb1\\xf6\\x0a\\x3a\\x67\\xf4\\x13\\x3e\\xf3\\x88\\xea\\x66\\x1a\\x8e\\xc5\\xc5\\xc6\\x2a\\x04\\x3e\\xc4\\x1a\\x62\\x93\\x62\\x21\\x1f\\x62\\xe3\\x03\\xf1\\x98\\x37\\xe6\\xa0\\x3a\\x3d\\x2b\\x3e\\xde\\x9c\\x93\\x95\\x45\\x37\\x05\\xb3\\x0c\\xc9\\x7a\\xb3\\xe0\\x3a\\xc8\\xd9\\x28\\x53\\x59\\x14\\x0b\\x20\\x07\\xf0\\xb2\\xa5\\xaf\\x7f\\x63\\x01\\xe7\\xdb\\xeb\\xb1\\x0b\\x2c\\xb2\\xb3\\x4b\\xe7\\xce\\xbc\\xf5\\xdd\\x02\\xcd\\xef\\x9a\\x0a\\x53\\x1c\\x0d\\xf4\\x0a\\x96\\x1d\\xf1\\xcc\\xa6\\xce\\x29\\x4c\\x83\\xf9\\xb9\\x03\\x7d\\x2c\\x44\\xc7\\xaa\\xfb\\xa6\\xcd\\xad\\x29\\xb8\\x71\\xa9\\x11\\x8d\\xeb\\x3b\\x61\\x5c\\xc9\\xd4\\x98\\x13\\x4e\\x0e\\xa6\\x0c\\x2e\\xe2\\x15\\xd4\\x14\\x30\\x80\\x24\\x00\\x87\\x06\\x02\\x09\\xc2\\x78\\x63\\x83\\xb1\\xb1\\xac\\xc9\\x64\\x6f\\x0a\\x5a\\x4c\\x06\\x96\\x1c\\xcd\\xe9\\xeb\\x11\\xc5\\xc3\\x5f\\x29\\x5e\\xf9\\x38\\xd0\\xb1\\x59\\x64\\xef\\x92\\x18\\xd1\\x2d\\x82\\xdf\\x34\\xda\\x4a\\xfe\\x4a\\x73\\x98\\xf8\\x72\\x50\\x0f\\xd2\\x77\\xb6\\x0f\\x68\\xbc\\x95\\x3f\\x3d\\xd0\\x20\\xce\\x25\\x18\\x04\\xf8\\x67\\xc0\\x01\\xd1\\xbe\\xb1\\x40\\xe1\\xf8\\xc2\\xce\\xbf\\xd0\\x4c\\x26\\x0d\\xd9\\x72\\x07\\xf4\\xef\\x8f\\x43\\x39\\x2d\\xa6\\xaa\\x02\\x49\\x79\\xf6\\xa2\\xa2\\x02\\xb3\\x81\\x8a\\x61\\x98\\x9c\\xcc\\x04\\x87\\x83\\x49\\x48\\x48\\x6f\\x08\\x26\\x27\\x18\\x18\\x0d\\x14\\x48\\x46\\xbc\\x3f\\xd4\\x27\\x29\\x65\\x19\\x0c\\x3f\\x7d\\x3e\\x9f\\xe1\\x02\\x0e\\xc6\\xc8\\x43\\x70\\x62\\x2e\\x02\\x63\\x50\\x3c\\x82\\x12\\x74\\x53\\x16\\x7e\\xc6\\x4f\\x29\\x6e\\x93\\xa2\\xcb\\xa2\\xec\\x85\\x7e\\x9f\\x42\\x69\\x63\\xb3\\xf9\\xd7\\xf9\\x8f\\xdf\\x50\\xf3\\xdc\\xc4\\xd5\\xeb\\x97\\x35\\x4e\\xec\\xde\\x57\\xe8\\x2b\\xb3\\xdc\\x98\\xbe\\x85\\x01\\x71\\xbf\\x3c\\x7d\\x99\\xe6\\x5b\\xa6\\x2e\\x5a\\x50\\xdb\\x30\\xef\\x4c\\xf1\\x10\\xd7\\x8d\\xc9\\x33\\x14\\x60\\xc9\\x89\\x37\\x36\\xdf\\x99\\x36\\xa6\\x6a\\x78\\x4d\\x4e\\xb1\\xc5\\x55\\xe2\\xc9\\x1d\\xf1\\x52\\x5e\\x6c\\xca\\x9f\\x5e\\xbd\\x73\\x8b\\x53\\x51\\x55\\x39\\xb0\\xda\\x5b\\x68\\xb4\\x17\\xa7\\x2e\\x38\\x34\\xc4\\x89\\x7d\\x55\\x75\\xe8\\x07\\xb6\\x86\\x6b\\xa1\\x8a\\xa8\\x96\\x23\\x89\\x76\\x32\\x3f\\x2c\\x95\\x68\\x48\\x4c\\x4a\\x84\\xf3\\x93\\x18\\x70\\xaa\\xd5\\x80\\xe8\\x20\\xcc\\xbf\\xb3\\xf2\\xf2\\x60\\x8c\\x96\\x67\\xb3\\xe8\\x62\\x74\\xe8\\x3e\\xe3\\x18\\x3d\\x55\\xf5\\xbc\\x2f\\xea\\x80\\x5e\\x84\\xcf\\x06\\x61\\x05\\x43\\x25\\x4b\\x3e\\xfc\\xaa\\x82\\x5d\\x92\\xc7\\x3c\\x71\\xc5\\x5d\\x19\\xcb\\x90\\x44\\x19\\x14\\x2b\\xa5\\x39\\x2b\\x7d\\x38\\xed\\xc4\\xd6\\x3f\\xf9\\xc1\\x0d\\x69\\xfc\\x9a\\x3a\\x95\\x22\\x2c\\x98\\xb4\\x6a\\xe4\\xe8\\x95\\x37\\xa7\\x7a\\x47\\xd5\\xb7\\xfa\\x1e\\x7a\\x48\\x25\\x77\\x50\\xc0\\xc9\\x7f\\x7e\\x8e\\xbf\\x8e\\x26\\xa2\\x09\\xf2\\x9c\\x05\\x79\\xae\\x33\\x0a\\x9d\\x9a\\x5b\\xbc\\xc2\\x5e\\x2d\\xbc\\x31\\x8a\\xce\\xcb\\x25\\x53\\x93\\x02\\x3a\\xb3\\xc1\\x68\\x68\\x0e\\xc6\\x5a\\x74\\xb6\\x78\\x1b\\x51\\x30\\x3a\\x91\\x55\\x52\\xf1\\x86\\xf8\\xa4\\x78\\x38\\xfa\\x78\\x5d\\x40\\xc7\\x12\\x65\\x74\\xe8\\x74\\x94\\x51\\x0f\\x92\\xa8\\x24\\xa1\\xf0\\x87\\x1c\\xfb\\x13\\x8d\\x0e\\x1e\\xae\\x64\\x74\\xc9\\xc9\\x36\\x9f\\x9f\\x28\\x1f\\x1a\\x7d\\xa1\\x1d\\x9d\\x86\\x51\\x02\\x1b\\x19\\x39\\xbe\\xba\\x0f\\x72\\xc2\\x0b\\xaa\\xb3\\xec\\x68\\xb8\\xf1\\x55\\x93\\xaa\\xab\\x96\\xfc\\xd0\\xfb\\xad\\x97\\x69\\xf4\\xf2\\x4f\\x97\\x7b\\x50\\x30\\x02\\x23\\x93\\xe1\\xeb\\xff\\x4d\\xcf\\xce\\x78\\x01\\x54\\x68\\x72\\x87\\xcc\\x9e\\x51\\xe1\\xf9\\xea\\xe2\\x4b\\xfc\\x25\\x43\\x36\\x8c\\x40\\x32\\xbe\\xb9\\x8c\\xed\\xe8\\x19\\xbe\\x91\\x0d\\x42\\x1d\\x4b\\x82\\xd6\\xa3\\x24\\xe0\\x72\\x5b\\xe2\\x34\\x96\\x98\\x98\\xcc\\x86\\x60\\x4c\\x8c\\x85\\xb2\\xa4\\x34\\x04\\x2d\\x6e\\x4a\\xd9\\x08\\xa7\\xd4\\x20\\xd6\\xce\\xc8\\x2e\\x1b\\x2f\\x8b\\xc3\\x77\\x8b\\x8a\\xcf\\x8b\\x33\\x4a\\x5f\\x49\\x54\\x24\\xe9\\xf1\\x9b\\x4b\\x52\\x19\\xb9\\x5d\\x7c\\xe3\\xd4\\x25\\x98\\xa0\\x31\\xf5\\x83\\x2f\\x95\\xa5\\xd2\\x37\\x7d\\x79\\xe7\\xd6\\xb5\\xdf\\xec\\x9e\\xbb\\xd9\\xce\\x29\\x92\\x55\\xfc\\x7f\\xfc\\xf7\\xe4\\x80\\xdc\\x53\\xf7\\xdc\\xb0\\xb7\\x7e\\x64\\xfd\\x86\\x7a\\x76\\xcc\\x5d\\x9b\\x3d\\x83\\xeb\\xf8\\x4f\\x0e\\xbd\\x70\\xee\\xf1\\x97\\xf9\\x3f\\x9d\\x9d\\xd1\\x96\\xb8\\xca\\xfc\\x2b\\x93\\xf8\\xe9\\x77\\xbf\\xed\\x79\\x1f\\x98\\xdf\\x5b\\x38\\x71\\xe9\\xbb\\x30\\x8f\\xd6\\x82\\x77\\x59\\x3f\\x7b\\x06\\xbd\\x3f\\x70\\x92\\x56\\x2a\\xd5\\x0a\\x16\\xdd\\xc9\\x77\\x49\\xb8\\xe9\\x50\\x76\\xe6\\x86\\xfe\\x76\\x20\\xff\\xe6\\xc0\\x53\\x5b\\x4f\\xf9\\x41\\x8e\\xff\\xf4\\x56\\xf0\\x2e\\xf0\\xf1\\x97\\xe9\\xbf\\xf2\\x9f\\x01\\x57\\x6f\\x22\\xf1\\x2b\\x57\\x84\\x37\\x36\\xdc\\x54\\x26\\x7a\\x75\\x89\\x4a\\x6a\\x0c\\xea\\x61\\x56\\x6e\\x53\\xd9\\xa0\\xe4\\xda\\x5c\\x1a\\xa5\\x4a\\xd9\\x1c\\x54\\x45\\xdf\\x8b\\x8c\\x93\\x09\\xbc\\x8e\\x51\\x85\\xeb\\x95\\xd0\\x45\\x70\\x76\\xe9\\x05\\x26\\x74\\xba\\x02\\x48\\x15\\x02\\x70\\x0a\\x69\\x9b\\xc3\\x36\\xec\\xc7\\xde\\x17\\x33\\x98\\xf5\\xe9\\xfc\\x5f\\x72\\xbc\\x8b\\x6e\\x7e\\x94\\x7f\\xe3\\xec\\x6b\\xff\\xda\\x04\\x00\\x38\\xdb\\x35\\x7f\\xe1\\x3d\\x0d\\x0b\\xe7\\xed\\x3b\\x4b\\x8f\\x50\\xa5\\x99\\xf2\\x33\\xb7\\x5d\\x7c\\xf6\\xa4\\x2b\\x21\\xc1\\x54\\xfc\\xc9\\xe6\\x87\\xf9\\xcf\\xf7\\xbc\\xfd\\xd4\\x4e\\x2a\\xf4\\x28\\xbf\\x79\\xf1\\xf2\\x85\\x6f\\xce\\x99\\xd7\\xf5\\x21\\x7a\\x37\\x31\\xf4\\x32\\xfb\\x1e\\xf7\\x2b\\xcc\\x20\\xc6\\x04\\x72\\x4a\\xca\\x7c\\xd6\\x42\\x5b\\xaa\\x47\\x95\\xe8\\x2f\\xa2\\x0a\\x32\\xb3\\xe0\\x54\\xe6\\x04\\xb2\\xa0\\xd7\\x8d\\x4f\\x4c\\x74\\x34\\x04\\x13\\x6d\\x14\\x63\\xd6\\x58\\x19\\x7d\\x93\\x58\\x3d\\x80\\x42\\x45\\x32\\x1a\\xc3\\x85\\x2a\\xe7\\x2b\\x64\\x5c\\xcf\\x93\\xbc\\x57\\x5a\\x3b\\x95\\x2f\\xa1\\x33\\x64\\xa1\\x4a\\x89\\x2f\\xab\\x4c\\xf1\\x47\\x2e\\x0f\\xa2\\x13\\x2a\\x66\\x1f\\x50\\xd2\\xa1\\xc0\\x86\\x96\\x8e\\x69\\xe6\\x9b\\x5e\\x5a\\x66\\x98\\x32\\xb2\\xcb\\xd9\\xf5\\xe2\\xb5\\xbf\\x0c\\x31\\xc7\\x99\\x3d\\x2d\\x63\\x6b\\x52\\x2b\\x96\\xdc\\xaa\\x5d\\x35\\x25\\x6d\\xee\\xc2\\xeb\\x0b\\x36\\xa5\\x6d\\xaa\\xef\\x5d\\xf3\\xa2\\xff\\xfb\\xa5\\xfc\\x02\\x17\\x33\\x75\\x65\\xd7\\xaa\\xa5\\xf5\\x93\\x7b\\x9b\\xe8\\x89\\xad\\x65\\xb7\\x1e\\xba\\xa5\\xf7\\x29\\x7a\\x26\\x7f\\x50\\xdf\\xa2\\x52\\x1c\\x4a\\xce\\x6d\\x7c\\x5a\\x9f\\x57\\x4c\\xaf\\x3e\\xc7\\xf3\\xe7\\xf8\\x39\\x60\\x3c\\xbd\\x15\\xce\\xdb\\xc8\\xde\\x0f\\x97\\xe2\\x75\\xac\\x7a\\x8a\\x62\\x6e\\xc4\\x35\\x77\\xf1\\x81\\x58\\xa5\\x96\\xd2\\x36\\x07\\x39\\x38\\x9f\\x6a\\x2b\\xaa\\xf8\\xab\\x92\\x9d\\x17\\xf5\\x99\\xc9\\x1b\\x28\\xa8\\xe2\\x76\\xd9\\x75\\xcd\\xc0\\xd1\\xbc\\xd2\\xbb\\x72\\x3c\\x7f\\x65\\xfc\\x75\\xf4\\x76\\xf0\\x08\\x3f\\xfe\\x22\\x5f\\x06\\x5e\\xc0\\xf5\\x8b\\x22\\x4e\\x93\\x82\\xdb\\x85\\xeb\\x53\\xdf\\x81\\xb2\\xf1\\x0a\\xb4\\xe5\\x1e\\x2a\\x83\\xca\\xa3\\x02\\x01\\x8f\\x47\\xef\\x74\\xa5\\x19\\xdc\\xf1\\xee\\xe6\\x60\\x4e\\x8c\\xdd\\xcc\\xaa\\xa0\\x73\\x55\\x99\\x93\\x1b\\x82\\x66\\x9b\\x0a\\xf2\\x5d\\x65\\xe8\\xf3\\x8c\\x83\\x50\\x89\\x19\\x57\\x45\\xa2\\x8b\\x70\\x20\\x85\\x98\\x47\\x96\\xfc\\x52\\xd0\\x49\\x56\\xc8\\x50\\x54\\x5f\\x55\\x68\\xf6\\x28\\x2d\\x36\\xfc\\x5c\\xae\\xbf\\x88\\xe6\\x62\\x39\\x14\\x53\\xdc\\x7a\\x0f\\xd7\\x9c\\xd1\\x5c\\xf5\\xf3\\xa3\\x28\\xae\\x88\\x99\\xc1\\x5f\\x79\\xa4\\x3b\\xa3\\x7b\\x80\\xde\\x00\\xaa\\x1e\\x6b\\xe0\\xe7\\xd1\\x8d\\x1f\\x36\\x6e\\x4e\\x07\\xb7\\x33\\x30\\x92\\xb0\\x2d\\x73\\x4f\\x9c\\x75\\xfe\\x78\\xd6\\x80\\x8b\\x1f\\x7e\\x3b\\xbd\\xbd\\xb6\\xf7\\x3f\\xcc\\x94\\x8b\\xff\\x6a\\x5e\\x74\\xb5\\x0b\\xc4\\x14\\xce\\x59\\x44\\xff\\x7d\\xfb\\x8a\\x41\\xaf\\xc2\\xdc\\x2b\\x0e\\xfa\\xa8\\x1e\\xc8\\x3b\\x2b\\xaa\\xd0\\x0e\\x58\\x1d\\x40\\xab\\x83\\xec\\xb3\\x18\\x60\\x68\\x6d\\x8e\\xd5\\x73\\xb6\\xa6\\x20\\x27\\x2b\\x8c\\x91\\x15\\x93\\x0a\\xf7\\x3c\\xf8\\x71\\x35\\xa9\\xf0\\x5c\\x22\\x79\\xc9\\x8a\\xbd\\xbb\\xdd\\x73\\xcf\\x37\\x77\\x3f\\xfb\\x67\\xc3\\x64\\xef\\xe4\\x06\\xe0\\x68\\x00\\xb7\\xa3\\x3f\\xdb\\x7b\\x67\\xbf\\x50\\xc2\\xcf\\xd7\\x80\\xb7\\x1e\\xfa\\xcb\\xc2\\x93\\x8f\\x54\\x34\\x5e\\x04\\x3b\\xf9\\x59\\xe8\\x6f\\x3e\\x13\\xe8\\x7c\\xd9\\x87\\xb0\\x0e\\xfe\\x04\\xe9\\xf9\\x0a\\xdb\\xd8\\x2c\\xaa\\x34\\x10\\x9f\\xe8\\x22\\x76\\xd6\\x4b\\xe8\\xf2\\xd8\\x20\\x5d\\x6e\\xa3\\x9e\\x83\\xc6\\xa9\\x1f\\xba\\xf0\\x1f\\x84\\x3a\\xc0\\x4a\\xe4\\x95\\xe0\\x8b\\xcf\\x90\\x41\\x42\\x9e\\x13\\x9d\\x62\\x85\\xd9\\x1f\\x5a\\x78\\x45\\xfc\\x65\\x0f\\x8c\\x89\\x7f\\x9c\\xe7\\xef\\xba\\xfc\\xbd\\xa6\\xc1\\x7b\\x4d\\xdd\\xce\\x4f\\x33\\xc0\\x2b\\xde\\xb1\\x33\\x12\\xc0\\xe7\\xbe\\xa1\\x5e\\xf0\\x4a\\xc6\\xa7\\x5d\\x96\\xf9\\xbd\\xa3\\xa7\\xed\\x4c\\xe5\\x53\\x99\\x20\\x38\\xb4\\xe5\\xe5\\xce\\x53\\x0f\\x0f\\x28\\xbe\\x78\\xeb\\xec\\x4b\\x2f\\xf8\\x17\\x37\\x68\\xaa\\x17\\x97\\xbd\\x70\\x69\\xf6\\xad\\xbc\\x6f\\xfd\\xaa\\xfc\\xd6\\x95\\x28\\xa7\\x87\\x72\\x82\\x72\\xfa\\x34\\x18\\x93\\x17\\x05\\xe2\\x95\\xc9\\x46\\x26\\x41\\x9b\\x00\\xf3\\xb8\\x04\\x9b\\xd5\\xd9\\x14\\xb4\\x5b\\x5d\\xda\\x01\\xa8\\x62\\x8a\\x15\\x53\\x77\\xf9\\xcb\\x03\\x76\\x31\\x5b\\xf7\\x30\\xe1\\xd8\\x53\\x1f\\x5e\\x2f\\xad\\x82\\x09\\x6b\\xff\\x59\\xfa\\x0f\\xc0\\x31\\x3a\\x8d\\x24\\xe4\\x53\\x5b\\x07\\x24\\x9f\\x7f\\x70\\x54\\x73\\xa6\\x3f\\xef\\x46\\x7b\\x4c\\x59\\x3f\\xc9\\x39\\xfb\\x09\\xbf\\xec\\x28\\xca\\xc7\\xf7\\xf2\\xef\\x5c\\xf3\\xf5\\x91\\x03\\xc6\\x37\\x74\\xd7\\x57\\xb3\\xd1\\x89\\x39\\xcc\\xcb\\xe1\\x58\\xbe\\x83\\x63\\xc1\\x77\\x2c\\x06\\x92\\x3c\\x89\\x89\\x54\\x53\\x30\\xd1\\x15\\x47\\xa9\\xac\\x5a\\x93\\x09\\x46\\x2f\\x26\\x83\\x36\\x07\\x0e\\xc6\\xc6\\x3a\\xc3\\x55\\x2e\\xf2\\xb8\\x5a\\x28\\xe7\\xe7\\xd0\\x71\\xcb\\xbe\\x09\\x38\\x79\\x24\\x5d\\x18\\x9c\\x59\\x9e\\x6f\\xef\\xbe\\xd1\\x6e\\x58\\x13\\x95\\x73\\x8f\\x06\\x8e\\xde\\xae\\x42\\x61\\x64\\x2f\\x88\\x29\\xf6\\x6b\\xd7\\xb7\\x44\\x66\\xd9\\xe0\\xd6\\x5f\\xbf\\xe0\\x43\\x78\\x4c\\xcc\\x1a\\x29\\xb5\\x06\\xd4\\x04\\xbe\\x15\\xe7\\xd5\\xc9\\x54\\x71\\x20\\xde\\xee\\x6e\\x08\\x3a\\xec\\x80\\x32\\x9a\\x8c\\x0d\\xc1\\x24\\x93\\x5e\\x0f\\xa0\\xa5\\xb7\\x2a\\xb4\\x4d\\x41\\x95\\xc2\\x15\\x71\\x91\\xbb\\x3c\\x6d\\x66\\x64\\xf3\\x90\\xd2\\x5f\\xb2\\xfc\\xfa\\xa6\\xb9\\x85\\xc9\\xe7\\x1e\\xaa\\x6b\\xce\\xcc\\xf7\\xaf\\xb5\\x1b\\x6e\\x3e\\x24\\xe5\\xc7\\x7b\\xef\\x4f\\xbd\\xed\\x86\\x69\\xf3\\x4d\\x24\\x3f\\xee\\x2d\\xe5\\x43\\x47\\x1f\\x43\\x5c\\x6f\\x61\\x56\\x09\\x69\\x71\\xf3\\x34\\x98\\x16\\x43\\xf9\\xbf\\xc8\\x8f\\x61\\x77\\xb3\\xa3\\x70\\x6e\\x53\\x1f\\xc8\\x74\\xe9\\x13\\x72\\x9b\\x82\\xda\\x58\\xbb\\x25\\x21\\x21\\xd6\\x62\\x81\\x19\\x8c\\xc5\\x90\\x91\\xd2\\x14\\x64\\x33\\xd8\\x8c\\x58\\x2a\\x16\\xe6\\x32\\xb1\\xc8\\x45\\x43\\xe5\\xad\\x22\\xd5\\x8a\\xe2\\x0b\\x26\\x91\\xa6\\x47\\xb8\\x73\\x08\\x32\\x1f\\x3f\\x08\\x68\\xc6\\x53\\x91\\x64\\x94\\x36\\x99\\xd1\\xf5\\x75\\x8c\\x27\\x3c\\x40\\xd8\\x90\\xa2\\x54\\xb0\\xf2\\x49\\x01\\xa9\\x0f\\x9e\\x00\\x0c\\x3d\\xac\\xe2\\x09\\xe8\\xbb\\x03\\x87\\x26\\x87\\xa8\\xb5\\xef\\xdd\\x32\\x79\\xa5\\x85\\x53\\x27\\x71\\xdf\\x95\\xcc\\x06\\x79\\x83\\xd2\\x37\\xac\\xcf\\x4e\\xca\\x34\\xb9\\xad\\x71\\xe6\\xf8\\xb1\\xca\\x5c\\xfe\\xab\\x9e\\x8d\\xcb\\xef\\x1e\\x16\\x18\\xb9\\xa6\\x96\\x1f\\x73\\xc7\\x16\\xe8\\xcc\\x41\\xd2\\xa1\\x39\\x13\\x41\\xc7\\x5f\\x40\\xdb\\xb1\\xe9\\xed\\x79\\x4b\\xb4\\xbf\\xf6\\x7e\\xc9\\x3f\\x77\\xe1\\x6e\\xf5\\x9f\\x39\\x5b\\xe9\\x6d\\x69\\x57\\xfe\\xc9\\xce\\x79\\x83\\xbf\\xf2\\xc1\\xbc\\xb6\\x6b\\xdf\\x23\\x6b\\x21\\xd5\\x50\\xfe\\x3e\\x86\\xf2\\x17\\x07\\xbd\\xb1\\xd3\\x66\\xb1\\x40\\xe9\\xb3\\xb8\\x62\\xb5\\x1c\\xcc\\x23\\x74\\x7a\\x35\\x94\\x42\\x56\\x1f\\x96\\x3b\\xbc\\xad\\x2c\\x17\\x38\\x46\\xc9\\x08\\x4f\\x2a\\x99\\xa5\\xa9\\xa3\\xd7\\x43\\xc9\\x2a\\x7b\\xe6\\xe6\\x7a\\xfe\\x0a\\x4c\\x22\\x1c\\x0f\\xc1\\x28\\x60\\x00\\x5f\\x78\\x69\\xa1\\x28\\x57\\x50\\x9c\\xc0\\x97\\x2d\\x7c\\x27\\x77\\xe9\\xea\\x21\\x70\\x9e\\x6f\\xe3\\x93\\x04\\x59\\xc2\\xf4\\x3c\\xc3\\xb7\\x32\\xdb\\x20\\x3d\\x06\\x54\\xc5\\x16\\x0b\\xa3\\xba\\xa6\\xa0\\xce\\xc5\\x51\\x2c\\xaa\\x7d\\x91\\x5f\\x90\\x20\\x10\\x00\\x64\\xe2\\x0d\\x9a\\xa0\\x40\\x3c\\x04\\x69\\x71\\xfc\\xba\\xb2\\x04\\xca\\xc8\\x60\\x28\\x23\\xb0\\x33\\xee\\xd2\\xaf\\xbf\\xf1\\xff\\xc4\\xb2\\x80\\xde\\xac\\xe0\\x3b\\xd9\\xb3\\x30\\x1e\\xab\\xa4\\x06\\x05\\x74\\x45\\xe9\\x8d\\xc1\\x22\\x6b\\x76\\x7e\\x53\\x30\\x37\\x1b\\xbd\\x48\\x6a\\xb2\\xb8\\xb4\\x71\\xe5\\x8a\\x38\\x45\\x63\\x30\\x29\\x0e\\x25\\xf1\\x5a\\xe1\\x65\\x52\\xe9\\x4a\\x06\\x59\\x41\\x82\\x78\\xd4\\x08\\x7a\\xec\\x4a\\xa6\\x58\\xda\\x4d\\x8e\\x97\\xed\\x2a\\xfb\\x94\\x11\\xe2\\x2c\\xfd\\x02\\x6c\\xee\\xb6\\xbb\\x13\\x0b\\x27\\x27\\x74\\x7d\\xf6\\x90\\x32\\x46\\xab\\x7a\\xcd\\xac\\xa6\\xcb\\xae\\xab\\x13\\xd7\\x33\\x6c\\x73\\x46\\x0d\\x48\\x7d\\x6c\\x0f\\x96\\xf1\\x35\\xce\\x98\\x31\\x08\\xd8\\xd7\\x96\\xb8\\x94\\xde\\x8e\\x96\\x27\\xce\\xee\\xea\\x3d\\xc3\\x34\\x27\\x8f\\x1a\\x9a\\xaf\\x5c\\x93\\xdf\\x19\\x14\\xd6\\x32\\xea\\x16\\xf7\\x7e\\xfa\\xcd\\xa9\\x07\\x91\\xc0\\x0f\\x26\\x70\\x7b\\xf7\\xf6\\x3e\\x4c\\xe6\\x38\\x1d\\xce\\xf1\\x2a\\xe8\\x57\\x33\\xa9\\xc2\\x80\\xcb\\x9b\\x96\\x06\\x79\\x9a\\xe6\\xb2\\xe9\\x9d\\x4e\\x4d\\x53\\xd0\\x69\\x80\\xaa\\x69\\x65\\x93\\xe4\\x93\\x2c\\x3d\\xdf\\x2d\\xb1\\x39\\x4c\\x3a\\xba\\x8a\\x49\\xbe\\x40\\xa1\\x64\\x22\\x27\\x7e\\xca\\xb5\\xfa\\xc0\\xb0\\x99\\x7b\\x9d\\x5d\\xfc\\x95\\x07\\x3c\\x0a\\xa0\\x33\\x69\\xd8\\x86\\x67\\x96\\xaf\\xbf\\x59\\x3f\\x6d\\xa8\\x4c\\x00\\xe8\\xb9\\x23\\x8b\\xc7\\x0c\\xfb\\xd3\\xc6\\xde\\x27\\x99\\x9a\\xfd\\x75\\x86\\xdb\\x4a\\x56\\x76\\x6d\\xdc\\x30\\xa4\\x9e\\xe7\\xc2\\xa2\\x00\\xf5\\xf4\\x1d\\x61\\x0d\\x22\\x9d\\xf2\\x21\\x8b\\x92\\xae\\x4f\\x71\\xb1\\x30\\xe3\\x76\\xab\\xdc\\x59\\x0d\\x41\\xb7\\x8d\\x24\\xa3\\x2e\\x55\\x7e\\x38\\x12\\x90\\x59\\xf9\\xbe\\x21\\x40\\xa4\\x95\\x57\\x48\\xb1\\x40\\x89\\xdf\\x8c\\xd4\\x2f\\xbc\\xb2\\x40\\xc2\\x80\\x2d\\xbb\\xa6\\x8f\\xcd\\x81\\x24\\x0b\\xa6\\x26\\xc6\\x1d\\x2f\\xc6\\x03\\x3f\\xe9\\xed\\x0f\\x34\\x8f\\x44\\xd6\\xb1\\x7e\\x53\\x8b\\x18\\x06\\xbc\\xf3\\xd4\\x1d\\xfc\\x07\\x9d\\x7f\\x17\\x2d\\x3d\\x0e\\x07\\xd8\\x9f\\x46\\xef\\xe9\\x9d\\xb9\\x6c\\x0d\\x30\\x5e\\x59\\x7c\\xdd\\xb5\\x1f\\xa2\\x9c\\xfb\\x9f\\x70\\x4c\\x24\\xe7\\xce\\x0b\\x38\\xdc\\x96\\xe4\\xa4\\x24\\xba\\x29\\x98\\x64\\x88\\xd3\\x5b\\xa0\\xd0\\x59\\xac\\x5a\\x43\\x53\\x30\\x46\\xeb\\x8a\\x78\\x08\\x1c\\x27\\x6e\\xe2\\x52\\x41\\xb4\\x89\\x8c\\x5e\\x22\\x98\\x71\\xcf\\xe7\\xe9\\x85\\xcb\\xe4\\x26\\xf2\\xf6\\x8d\\x68\\x5d\\x80\\x63\\xd9\\x51\\x4f\\xdf\\x3c\\x07\\xad\\x0b\\x7c\\xf9\\x2c\\xcf\\x4b\\xc6\\x91\\x7e\\x6a\\xd5\\x83\\x1d\\x73\\x6b\\x0a\\xd6\\x2f\\x32\\x4a\\xf6\\x60\\x2e\\xe4\\x79\\x09\\x92\\x95\\xcc\\x02\\x0b\\xa3\\x11\\x73\\x68\\x0d\\xb4\\xe3\\xb1\\x1a\\x1b\\xc5\\x35\\x05\\x69\\xca\\x25\\x64\\x2b\\xe1\\x7c\\x1a\\xc7\\xb3\\x11\\xcc\\x95\\x65\\xd2\\x74\\x3f\\x19\\x34\\x63\\x27\\xe7\\x2e\\x9a\\x06\\x13\\x42\\xcd\\x5d\\xb7\\x48\\x79\\x74\\xfd\\xe4\\xcb\\xb7\\xd6\\x01\\xc7\\xcf\\xcf\\x5e\\x24\\x09\\xf4\\x88\\xe6\\x4b\\xd7\\xd6\\x7b\\x81\\xaa\\x2e\\xf9\\x3c\\xdf\\x8a\\xe8\\x9e\\x96\\x22\\x24\\xd1\\xd9\\xc5\\xd6\\x9c\\xea\\xb9\\xa3\\x8f\\x5c\\xbe\\x7b\\xb3\\x90\\x3f\\xe7\\x9b\\xf2\\xf2\\x02\\xe3\\x8a\\x93\\xd2\\xf9\\xe5\\x47\\x0e\\xe0\\x3a\\xb1\\xad\\x70\\x4c\\x66\\xee\\x4d\\x28\\xff\\x7e\\xe8\\x97\\xd2\\x9b\\x83\\x76\\x3b\\x15\\x1b\\x6b\\x6e\\x0a\\x1a\\x62\\x29\\xb7\\x07\\x86\\x0d\\x6e\\x8a\\x52\\xc0\\x78\\x5d\\x1c\\x95\\xe1\\x42\\xa1\\x7c\\x99\\x00\\x95\\x62\\x8a\\x2f\\xff\\xc0\\xb8\\x21\\xec\\x90\\x22\\xcc\\x39\\x3a\\x56\\x04\\xd5\\x3d\\x3d\\xab\\xcd\\x9c\\x59\\x34\\x22\\xaf\\x32\\xc3\\xf8\\x9e\\xf7\\x93\\x67\\x82\\x95\\x59\\xa9\\xf5\\x35\\x63\\x4d\\xbb\\xc1\\xe9\\x61\\xc9\\x0f\\xdc\\x56\\x93\\x91\\x96\\x50\\x9c\\x5d\\xaa\\x4d\\x78\\xcf\\xe6\\xfd\\x88\\x6f\\x8d\\x55\\xfe\\xc5\\x9a\\x5e\\x3b\\x96\\x9d\\xf9\\xc2\\x49\\xf3\\xdb\\xd6\\x8e\\x99\\x57\\xdf\\xe1\\xf7\\x3c\\x7a\\x87\\xe6\\x69\\x75\\x65\\xc9\\x3d\\x8b\\x5e\\x42\\xf7\\x67\\x53\\x1b\\xa1\\x4f\\x35\\xc1\\x58\\xcd\\x8e\\x6a\\xdc\\x6c\\x7a\\xbd\\x39\\x36\\x96\\x6a\\x0c\\xc6\\x5a\\x39\\xa8\\xbb\\x4a\\x4e\\x12\\x14\\xe2\\x43\\xd1\\xbb\\xde\\x72\\xf1\\x40\\x31\\xa3\\xcd\\x5e\\x82\\xce\\xe6\\x73\\x0f\\x20\\xf5\\x13\\x58\\x6d\\xe0\\x4f\\x3d\\x07\\x32\\xc7\\xab\\xf4\\x15\\x55\\xa0\\x09\\xa4\\x1f\\x17\\xb4\\xee\\x7a\\x28\\xcc\\xbd\\xdb\\x4b\\x9f\\x59\\xbb\\x94\\xee\\xa2\\x64\\xef\\xfd\\xc5\\x51\\xb9\\x01\\x87\\xe8\\x1b\\xb4\\xb1\\x2a\\x28\\x4b\\x3a\\xb5\\x5e\\x19\\xe9\\x1a\\x7c\\xd1\\xae\\x21\\xfc\\x02\\x60\\xd8\\x42\\xdc\\x03\\x2d\\x44\\x35\\x7e\\xef\\x2e\\xe2\\xfd\\xbf\\x4b\\x37\\x21\\xe2\\x02\\x82\\x73\\x88\\x7c\\xff\\x6f\\xad\\x68\\x12\\xd0\\x5b\\xe8\\xad\\x78\\x6d\\xc0\\x42\\xe5\\x04\\xec\\x7a\\x5d\\x8c\\xae\\x39\\x18\\xa3\\xd7\\x18\\xd4\\x30\\x76\\x55\\x5b\\x23\\xe5\\x32\\xe2\\xa6\\x23\\x89\\x1d\\x7e\\x9c\\x3c\\xe2\\x9b\\xb3\\x68\\x7f\\x80\\x44\\x6f\\x86\\xde\\x6a\\x2f\\x7d\\x8e\\x64\\xf6\\xbd\\xc3\\xe9\\xd9\\x7e\\x51\\xc4\\x5a\\x5e\\xa0\\x1f\\xb9\\xf8\\x52\\xef\\x04\\xfe\\x73\\x2c\\x46\\x30\\x56\\x2b\\x82\\xfd\\xff\\x1b\\xea\\x6e\\x09\\x35\\x98\\x1a\\x1e\\x48\\x57\\xfa\\xa1\\xf7\\xc8\\x53\\xea\\x95\\x7a\\xca\\x94\\x17\\xdf\\x18\\xcc\\xb3\\x79\\x33\\x33\\x53\\x9b\\x82\\x99\\x2e\\x93\\x0e\\xdd\\x9c\\x43\\x55\\xca\\x1e\\x81\\x8d\\xbc\\x35\\x07\\x85\\x0f\\xc2\\x06\\x99\\x74\\x04\\x1a\\x4b\\x54\\x9a\\x49\\xb8\\x94\\x49\\x5c\\x77\\x11\\x8f\\x83\\x08\\xef\\x36\\xc1\\x14\\x18\\xc5\\x15\\x40\\x89\\x76\\x94\\xf1\\x55\\x4d\\xb5\\xeb\\xb7\\xfd\\xfc\\xef\\x8f\\xad\\xa5\\x83\\x46\\xb4\\x38\\xf8\\x8f\\x16\\x83\\xed\\x2f\\xdd\\xad\\x1d\\xad\\x4d\\x4e\\x49\\x4a\\x2a\\xe0\\x16\\xe4\\x0d\\xcc\\x0c\\xd6\\x6d\\xbc\\x51\\x17\\x3b\\x34\\x9b\\x56\\x8c\\x3b\\x09\\xb2\\x37\\xcc\\x9d\\x92\\x3f\\x79\\xea\\xfd\\x36\\xcb\\x4d\\xab\\x9e\\xfb\\x0b\\xc7\\xce\\x49\\xae\\xac\\xaa\\x69\\x8c\\x05\\x83\\x0f\\x2c\\xce\\x2f\\xe5\\xaf\\x2d\\xf4\\x64\\xa5\\x28\\x7e\\xb5\\x19\\xc7\\xe9\\xde\\x30\\x2e\\x5e\\x5a\\x14\\xa8\\x31\\x8c\\x2b\\xc9\\xea\\x9a\\x4e\\xab\\x69\\x3a\\x6b\\x42\\xfd\\xbc\\xdd\\x5d\\x84\\x0f\\x70\\x1e\\x38\\x40\\xde\\x7c\\x43\\x31\\x6b\\x52\\x72\\x72\\x7c\\x53\\x30\\xd9\\x65\\xd6\\xb3\\x06\\x45\\x4c\\x0c\\x8c\\x56\\x63\\x0c\\x8a\\xc2\\x86\\xa0\\xc2\\x46\\xd9\\x1b\\xc3\\x17\\x2c\\xf4\\x8d\\x59\\xf1\\x86\\x51\\xc4\\x93\\x7b\\xb8\\xf0\\x9f\\xf1\\x31\\x51\\xa3\\x66\\x10\\x73\\xa4\\xc8\\xf5\\x39\\x33\\x7b\\x43\\xe8\\xae\\x7b\\x6f\\xfe\\x79\\x6f\\xd7\\x9d\\x2e\\xd6\\x94\\x08\\xb4\\xa6\\x9c\\xe5\\x0b\\x7d\\xe2\\x68\\xd7\\xea\\xf4\\xa6\\xa6\\x89\\xb7\\xef\\x6f\\x69\\x1e\\x7f\\x7b\\xab\\xb6\\x6a\\xe6\\x85\\xa7\\xcf\\xbe\\x0a\\xda\\x9f\\x9c\\x34\\xb9\\xbd\\xa1\\xe6\\x2f\\xbd\\x77\\xf1\\x3f\\x87\\xc7\\x37\\x9a\\x3e\\xb4\\xb0\\x8b\\xff\\xc7\\xf7\\x4b\\x66\\xad\\xba\\x22\\x8c\\xeb\\x35\\xee\\x2f\\x54\\x0e\\x55\\x46\\x95\\x05\\x12\\x1d\\x89\\xcd\\x41\\x97\\x83\\x52\\x9a\\xd5\\x06\\x03\\xf4\\x31\\x06\\x83\\xba\\xa4\\x21\\xa8\\xb6\\x65\\x51\\x94\\xb7\\x29\\x88\\x24\\x4d\\x7e\\x21\\x12\\x19\\x18\\x8e\\x62\\x85\\x17\\xb6\\x14\\x91\\x1b\\x61\\xc4\\x6c\\xe0\\xea\\x28\\xa5\\x38\\xbe\\xd8\\xc8\\x91\\x31\\x0f\\x6e\\xbc\\x41\\x57\\x20\\x1b\\x1c\\x1d\\x93\\xe9\\x7a\\x79\\xf7\\x94\\x46\\xaf\\xa1\\xc6\\x5e\\x54\\x67\\xf8\\x16\\x0f\\x31\\xfe\\xba\\x3d\\xd2\\xf0\\xf8\\xd6\\x45\\xcb\\x8a\\x02\\xbd\\xd2\\x10\\x6b\\xdf\\xdb\\xb8\\xcb\\xf8\\x12\\xa7\\x1c\\xd8\\xf8\\x5b\\x21\\x1e\\xa6\\x42\\xcb\\xb6\\x86\\x87\\x08\\xc7\\xd8\\x8c\\xdf\\x98\\x46\\xfb\\xbb\\x79\\xd4\\xb0\\x40\\x7a\\x7c\\x62\\xa2\\x13\\xe5\\x1b\\x59\\xa8\\x9a\\x3e\\x2b\\x31\\x8b\\x36\\x30\\x59\\x59\\x94\\x52\\xe9\\x6d\\x0c\\x2a\\x0d\\x69\\x16\\x8a\\x32\\x85\\xb7\\x78\\x7d\\x11\\x77\\xe9\\x48\\xb7\\x12\\x8a\\x4f\\x1a\\x93\\x9b\\x11\\x04\\xb9\\xe5\\xa2\\xa7\\x50\\x81\\x93\\x6c\\x24\\xe6\\xe0\\xfb\\x8b\\x6f\\xdc\\x03\\x52\\xce\\x9d\\x7e\\xd9\\xdd\\x3b\\x2a\\xa6\\x7d\\xec\\x9d\\x55\\x80\\x1b\\xce\\xcd\\x1f\\x50\\x99\\x19\\x1c\\x02\\x27\\xcf\\x7c\\x4d\\xc5\\x94\\x9b\\x12\\xc0\\x83\\x5c\\x8d\\xe5\\x83\\xcb\\x1f\\x82\\xd2\\x07\\x5f\\x3c\\x7f\\xcd\\xc2\\xaa\\xd2\\x29\\xb3\\x6e\\xb0\\xf3\\xbb\\xc2\\x53\\x37\\x25\\x83\\x39\\xb2\\xbe\\x3b\\x3d\\xa9\\x61\\x21\\x89\\x71\\xb2\\xe1\\xb8\\xee\\x81\\xe3\\x2a\\xa5\\x46\\x07\\xb2\\xf2\\x0a\\x0a\\x72\\x9a\\x82\\x05\\x2e\\x05\\xaa\\x72\\x6f\\x94\\x3d\\xcf\\x1c\\x13\\x63\\x83\\x9a\\x19\\x63\\xf0\\xa7\\x53\\x54\\x4a\\xc4\\xc8\\x7c\\xf2\\x82\\x71\\x79\\xf8\\x23\\x3b\\x5e\\x9b\\x8a\\xc3\\xbb\\xb0\\x0f\\x43\\xc5\\x33\\xe2\\x1e\\x76\\x9f\\xf1\\x82\\x7f\\xbe\\xf5\\xd5\\xd3\\xdb\\xc0\\xec\\xe9\\xc0\\xf1\\xf9\\x9f\\x3f\\xfc\\x7e\\xee\\xb4\\x39\\x2b\\xb6\\x3e\\x98\\xf2\\xea\\x81\\xe9\\x1d\\x93\\xef\\x4a\\xfa\\xbc\\x86\\x48\\xeb\\x60\\x34\\xe0\\x45\\x96\\xed\\x37\\x5e\\xff\\x58\\x0c\\x1d\\x37\\x7f\\xcc\\xf6\\xa3\\x77\\x6c\\xd1\\xd8\\x62\\xaa\\xaa\\xc7\\x0c\\x1f\\x5c\\x79\\x64\\x5c\\x47\\x69\\x75\\x70\\x54\\x0e\\xbf\\x59\\x3e\\x6c\\x68\\x97\\xaf\\xc2\\xb1\\xae\\xc6\\x76\\x68\\x54\\x20\\x33\\xcf\\xed\\x72\\xbb\\xe4\\x63\\x4c\\xcb\\xcc\\x4c\\x6e\\x0c\\x66\\x1a\\xd4\\x5a\\x2d\\x74\\x6a\\x30\\x96\\xb0\\xc2\\x24\\x92\\xc6\\x75\\xe3\\x51\\xa6\\x31\\xfa\\x9e\\x22\\x6f\\xc4\\x18\\xfc\\xe6\\xff\\xe1\\xd6\\x22\\x05\\x0b\\x7a\\xb7\\x4f\\x89\\x9b\\x4f\\x06\\x73\\xa3\\x6e\\xc4\\xaf\\xf4\\xd2\\xc9\\x5d\\x37\\x6f\\x3f\\x90\\xfc\\xfc\\xfe\\x09\\x63\\x67\\xdf\\x6c\\xfd\\x47\\x31\\x70\\xbe\\x71\\xfa\\x9d\\x9d\\x77\\xcc\\xed\\xde\\xc0\\x5f\\xb5\\x64\\x5e\\x6f\\x1c\\x2f\\x0c\\x05\\xcc\\xcf\\xa9\\x6d\\x9b\\x58\\x3b\\x22\\x70\\xa4\\xa9\\xa5\\xa8\\x6c\\xd4\\x30\\xdb\\xed\\xbb\\x6e\\x5c\\x34\\xff\\xce\\x44\\x74\\x97\\xd1\\xbc\\x87\\xda\\xd1\\x7d\\x35\\x70\\x9c\\xd7\\xe2\\xfa\\xee\\x02\\x6a\\x60\\x20\\x09\\xdd\\x8d\\xc2\\xd9\\x13\\x12\\x1c\\x94\\x23\\xab\\x31\\xe8\\xb0\\xe9\\x8d\\x46\\x5d\\x53\\xd0\\xe8\\x4a\\x23\\x73\\x69\\x90\\x97\\xa2\\x4b\\xa2\\x5a\\xe6\\x13\\xef\\xb3\\x51\\xfa\\xc2\\x46\\x55\\x3c\\xf3\\x46\\xee\\xd8\\xf0\\x90\\x17\\x28\\xd3\\x2a\\x69\\x86\\xac\\xae\\xd8\\xe8\\xb6\\x57\\xf6\\x68\\xce\\xae\\x53\\x25\\x65\\x3a\\x33\\x33\\xcb\\xca\\xae\\x9b\\x6f\\xa8\\x3a\\xc8\\x7f\\xfa\\xf0\\xa1\\x24\\xba\\xd1\\xbc\\x6e\\x7a\\x15\\x7f\\x35\\xb0\\xf6\\xb1\\xda\\x3b\\x07\\xf2\\xe7\\x95\\x5e\\x76\\xcc\\x3b\\xf7\\x0d\\xaa\\xe9\\x0d\\xa6\\xc7\\x25\\xc7\\xc3\\x91\\x4d\\xee\\xac\\x6c\\x01\\x43\\xf8\\x9f\\x4e\\x1d\\xbd\\xbe\\x7b\\xea\\xc0\\xbd\\x37\\xd8\\xe7\\x2f\\xad\\xbe\\x5a\\x0f\\x14\\x25\\x59\\x95\\xb3\\xd1\\xf9\\xa1\\x2e\\x98\\xdf\\x9c\\x86\\xf9\\x8d\\x05\\x7a\\xd5\\x8c\\x80\\xcd\\x66\\x6d\\x6e\\xb7\\x51\\x66\\xbd\\x09\\x3a\\x75\\x93\\x55\\x9a\\x32\\x99\\x69\\xc1\\xef\\x92\\xf6\\xb1\\x88\\x30\\x37\\xc6\\x07\\x88\\x0e\\xce\\xf5\\x85\\x55\\x47\\x7f\\xc7\\xeb\\xc0\\xf1\\x43\\x06\\x70\\x64\\x1c\\x8f\\xb0\\x72\\x6c\\x39\\xba\\xba\\x89\\xc8\\x4d\\x17\\xb6\\xdb\\xf9\\x01\\x87\\x68\\xb5\\x1d\\x76\\x3b\\x0b\\xb9\\x67\\xb7\\xe9\\xa0\\x81\\x43\\x56\\x4e\\xf6\\xe0\\xbd\\xcc\\x87\\x5a\\x85\\x10\\x19\\x3b\\x29\\x41\\x06\\xd0\\xe2\\x6b\\xb4\\xcc\\x80\\xe5\\x23\\xc7\\x6f\\xdb\\xbb\\xbf\\xa1\\x3b\\x89\\xff\\x87\\x1f\\x14\\x3c\\x7f\\xf9\\xbd\\x3d\\xfc\\x7b\\xe7\\x57\\x4f\\x8e\\x5f\\x20\\x8a\\x48\\x23\\x98\\xa6\\x1f\\x39\\x11\\xe8\\x3e\\xfd\\xd7\\x8c\\xe9\\x31\\x07\\x5e\\xfb\\xe4\\xe2\\xab\\xfc\\x33\\x8f\\x95\\x6d\\x33\\x88\\xe4\\x82\\x7d\\x48\\x9f\\x67\\x40\\x5a\\x4f\\xc0\\x98\\x2d\\x15\\xf9\\xfa\\x54\\xe8\\xe1\\x53\\x53\\xe3\\x54\\x71\\x90\\x62\\x67\\x1c\\xa5\\x50\\xa9\\x60\\xd0\\xac\\x72\\x45\\x3f\\xcd\\x8f\\xfc\\xa9\\xb4\\x74\\x8a\\xd9\\xd4\\x4f\\xc8\\x86\\x2e\\xcd\\x1c\\x3d\\xd3\\x3c\\xc6\\x94\\x19\\x2c\\x82\\xd4\\xa4\\x17\\x0f\\x47\\xb1\\xda\\x7d\\xde\\x8f\\x61\\xac\\x96\\x99\\x3e\\x1a\\xc6\\x6a\\x7b\\x52\\x9f\\xd8\\xb7\\xa6\\x49\\xc5\\x12\\x72\\x2e\\xa0\\x08\\x8d\\xc9\\x7f\\xe9\\x38\\x89\\xd0\\x5e\\x39\\x71\\x0c\\xed\\x9d\\x51\\x59\\x90\\xbe\\xe9\\x30\\x16\\xc9\\x46\\xbc\\x4c\\x4e\\x53\\x67\\xeb\\xd3\\x60\\x00\\x92\\x66\\x4b\\xd0\\x36\\x06\\x13\\xac\\x56\\xbb\\xdd\\xd4\\x14\\xb4\\x47\\xfa\\x08\\xb2\\x8e\\x56\\x20\\xbe\\x2e\\x58\\x42\\xd6\\x66\\x22\\x65\\xb2\\x0a\\x9d\\xa7\\x95\\x9d\\xca\\x04\\x6f\\x2f\\x33\\x74\\x8d\\xde\\xea\\xea\\x02\\x8e\\xc3\\xdd\\x45\\xaa\\x84\\x2c\\x47\\x76\\x66\\x59\\x39\\x94\\x47\\xfd\\x0e\\xc6\\xa8\\xe1\\xea\\xef\\x9e\\xb5\\xee\\x16\\xfd\\x7a\\x18\\xb6\\xed\\x1d\\x57\\xba\\xf5\\xd8\\x4d\\x74\\xf5\\xd5\\x95\\xfc\\x4f\\x32\\x51\\x1c\\x9d\\x76\\x6d\\xf9\\xca\\x85\\x1b\\x37\\x0c\\x1d\\x4d\\x1f\\xc6\\xb1\\xf0\\x27\\x90\\x6e\\x74\\xa7\\x49\\x0e\\xb4\\x93\\xd9\\x6e\\xca\\xc9\\x3a\\x9b\\x83\\xe6\\x18\\xb4\\x5d\\xa4\\x67\\x13\\xd9\\x3c\\x96\\x31\\x32\\x6c\\x0c\\x1b\\x63\\x48\\x4d\\x4f\\xf7\\x34\\x06\\xd3\\x5d\\x26\\xbd\\x41\\xdf\\x1c\\x34\\xe8\\x23\\xef\\x79\\x10\\xef\\x26\\x84\\xff\\x21\\x2c\\x56\\xa6\\x29\\x85\\x77\\x4c\\x06\\x80\\x6c\\x20\\xc4\\x59\\xc4\\x40\\x10\\x19\\x89\\xd0\\x3b\\x50\\x05\\x66\\xb5\\x6e\\xed\\xae\\x58\\x72\\xcb\\xcc\\x34\\xd0\\xd5\\xfb\\x81\\x97\\x59\\x9f\\xc6\\x4f\\x7a\\xe2\\xd8\\x6d\\xfc\\x0f\\x7f\\x7a\\x64\\x51\\xcc\\xb0\\x8a\\x01\\x95\\x1e\\x2c\\x2b\\x15\\xdf\\x1a\\x9b\\x26\\x2c\\x5b\\x52\\x16\\x48\\x78\\x0a\\x80\\x8b\\xcf\\xf2\\x5f\\x9b\\xee\\xbc\\x7e\\xcb\\xfb\\xcb\\x1b\\x02\\xb1\\x39\\xf9\\xba\\x47\\x89\\xb8\\xe4\\xe1\\xb3\\xd7\\x14\\xf8\\x80\\x35\\x89\\xb5\\x50\\xa7\\x29\\x0b\\xc8\\x3f\\x1e\\x43\\x69\\x18\\x03\\x2a\\xbf\\x41\\xb5\\x50\\x79\\xb8\\x16\\x8a\\x9c\\x06\\xc6\\x25\\x2e\\x55\\xe1\\xe5\\x77\\xa9\\xfe\\xc6\\x8f\\x4f\\x00\\x2b\\x23\\xca\\x6f\\xe8\\x81\\xb8\\x16\\xaa\\xf5\\xbe\\x05\\x87\\xd3\\x65\\xb5\\x50\\xb5\\x13\\x4b\\x70\\x2d\\x14\\xbb\\x04\\xd5\\x42\\x6d\\xe0\\xf9\\xf5\\xa8\\x16\\x0a\\x1c\\xc4\\xb5\\x50\\xed\\xa7\\x5a\\xc2\\xb5\\x50\\x00\\xe4\\x81\\xf7\\x99\\x9f\\x20\\x6d\\x4e\\xca\\x7e\\xd4\\x62\\x8a\\x45\\xa5\\x13\\x0c\\xa5\\x0c\\x17\\x74\\x90\\x23\\xaa\\x11\\x45\\x2d\\x82\\xb4\\xa2\\x92\\xcc\\x2e\\x74\\x68\\xdb\\xfb\\xf8\\xc6\\x1d\\x0f\\x4c\\x39\\x79\\x6b\\xf8\\xd0\\x36\\x3d\\xbd\\xb6\\x26\\x65\\xcd\\x75\\xbb\\xb7\\x5e\\xff\\xfd\\x6a\\xd9\\xa9\\x6d\\xe4\\xe3\\xdf\\x02\\xe7\\x98\\xdf\\xd8\\x7f\\x51\\x6e\\xa8\\xe9\\x19\\x01\\x5d\\x92\\x91\\x76\\x31\\x0e\\xb3\\x59\\x95\\xee\\x76\\xa0\\xf3\\xe2\\xb1\\x5a\\x95\\x78\\x5e\\xfc\\x79\\xb4\\xb0\\x8b\\xf6\\x40\\x61\\x8a\\x83\\xf7\\x39\\x61\\xe7\\x49\\x62\\x94\\x22\\x7b\\x32\\x8b\\x5c\\xd5\\xa8\\xc4\\xfe\\xe0\\xad\\x9c\\xa1\\x31\\xd3\\x9f\\x58\\x0a\\x6c\\xf1\\x4f\\xd3\\x65\\x03\\xc7\\xcc\\x8e\\xbd\\x6e\\xc3\\xa4\\xae\\xe7\\x77\\xaf\\x6f\\x9e\\x0c\\xbe\\xc9\\x2d\\xca\\x9d\\x9d\\x68\\xaa\\xcd\\x18\\x3a\\x86\\xce\\x28\\x1d\\x1c\\x18\\x7c\\xe3\\x5b\\xcb\\x79\\xc3\\xc0\\xda\\xfd\\x3b\\xda\\x3a\\x1a\\x96\\x6d\\xae\\x9b\\xd3\\xeb\\x4c\\x2f\\x48\\x4d\\x4a\\xcf\\x23\\xb5\\x10\\x00\\x7c\\xc0\\xfc\\xa4\\xd0\\x42\\xbe\\xc0\\x68\\x24\\x60\\x74\\xd9\\xcc\\x1c\\xa5\\x8a\\x63\\x1d\\x0a\\xb3\\xc3\\xec\\xa0\\x3d\\x31\\xe8\\x20\\xa9\\x02\\xc2\\xf9\\xa8\\xaa\\xe7\\x85\\x2b\\x38\\x8d\\x90\\x58\\x7c\\x21\\x00\\x48\\xf7\\xfa\\x6c\\x76\\x3f\\xbe\\xbf\\x85\\x96\\xde\\x50\\xb2\\xa7\\x7b\\x95\\x7e\\xb3\\xe8\\x95\\x51\\x99\\xed\\x3d\\xc1\\xca\\x17\\x0b\\x73\\x5f\\xb2\\x4d\\x5d\\xf9\\xc5\\xab\\x3b\\x0e\\xbc\\xff\\x44\\x76\\x9b\\xc3\\x1a\\x78\\xd2\\x36\\x6d\\xe2\\xa2\\xda\\x40\\xdb\\xca\\x1a\\x6e\\x6d\\x30\\xcd\\xe5\\x1d\\xbd\\x2a\\xfd\\xc1\\xf7\\x7e\\xe2\\xbf\\x78\\x60\\xf3\\x13\\xef\\x39\\xcc\\x93\\xdb\\xc6\\xac\\xe6\\xcf\\xee\\x5a\\x31\\xa2\\xf5\\xf0\\x8d\\x03\\xab\\x43\\x21\\x28\\xce\\x1f\\x30\\xef\\xb2\\x3f\\x1a\\x14\\xdc\\xdc\\xff\\xa0\\xf9\\xfc\\x10\\x7c\\xc9\\x7c\\xa3\\x40\\x8b\\xcb\\x49\\x47\\xf5\\x3a\\xcd\\x29\\xe0\\x3b\\x4e\\xb1\\x30\\xc3\\x3c\\x03\\xf2\\xc5\\x5a\\x50\\x7c\\xdc\\x52\\xa8\\x07\\x45\\x9b\\x37\\xf2\\x55\\x4c\\x9f\\x92\\x31\\x2e\\x3b\\xb7\\x6c\\xae\\x63\\xae\\xde\\xb2\\x66\\x79\\xc5\\x80\\xb8\\x2c\\xfb\\x80\\x4c\\xb5\\x66\\x9b\\x83\\x9d\\xd4\\xbb\\x89\\x5e\\xba\\xbe\\x7e\\xde\\x64\\xdd\\x1a\\xe5\\x80\\xdc\\x81\\xeb\\xf1\\x7d\\xcb\\xaf\\x30\\xdd\\xec\\xdf\\xf1\\xbb\\x4e\\x1a\\x85\\xc5\\xc2\\x58\\xad\\x00\\xf6\\x89\\xce\\x52\\x02\\x74\\x94\\x55\\xa8\\x07\\x22\\xc7\\x09\\x61\\xa6\\x85\\xb6\\x5e\\xc2\\x39\\x29\\xda\\x39\\xa2\\xc7\\xd5\\x9c\\xab\\x99\\x67\\x9f\\x57\\x62\\x5e\\x35\\xb7\\x68\\x88\\xdd\\xe9\\x2e\\xce\\x51\\x15\\xde\\x66\\x67\\x1a\\xc0\\x0e\\x7e\\xde\\x7a\\xfe\\xcf\\x73\\xa6\\x69\\xbb\\x61\\x6f\\x20\\x7e\\x3d\\x92\\x9d\\x4f\\xa8\\x73\\xd0\\x0e\\x48\\xb5\\x35\\x09\\x50\\x8f\\x34\\xfd\\xd4\\xd6\\x14\\xff\\xff\\xab\\xad\\xd1\\xfc\\x3f\\xa8\\xad\\x01\\xa0\\x01\\x7c\\xc9\\x36\\xc0\\x79\\x89\\x43\\xd5\\xc6\\x8c\\xc9\\x64\\xd3\\x9d\\x41\\xa7\\x72\\xc9\\x8c\\x08\\xe5\\x9b\\xa6\\x70\\xe1\\x69\\xc4\\x99\\x70\\xfa\\xd5\\xa1\\xb1\\xe4\\xcc\\xbb\\x6a\\xc2\\xb9\\x06\\xa1\\x04\\xe4\\x19\\xf0\\x25\\x98\\x5c\\x59\\x57\\x3d\\x6b\\x8a\\x69\\x08\\xf8\\x27\\xdf\\xd1\\xe2\\x69\\x5f\\xd2\\x02\\x0e\\xfc\\xf6\\x25\\x91\\xdf\\xa7\\xa1\\x1c\\x4c\\xc4\\x75\\x38\\x7a\\x2a\\xf5\\x88\\x3e\\x06\\x0a\\xc2\\x13\\x4a\\xad\\x16\\xbd\\x08\\xaf\\x3e\\x03\\x7b\\xa5\\xf1\\x04\\x09\\xd3\\x53\\x45\\x36\\xc7\\xc8\\x0c\\xa1\\x37\\xa2\\xd1\\x6b\\x26\\xef\\x06\\x4b\\x7b\\xca\\x66\\x39\\x66\\x56\\x9d\\xab\\x0a\\x3e\\xe3\\xee\\x71\\x33\\x67\\x41\\x16\\xff\\x56\\x37\\x7f\\x18\\x34\\xd2\\xbe\\xed\\xdb\\xe1\\x98\\xbe\\x86\\x7d\\x54\\xe0\\x7a\\x21\\x7c\\x47\\x41\\x7e\\xe4\\x1d\\x05\\x5f\\xa3\\xe2\\xa0\\x2f\\xe9\\xdf\\x7a\\x39\\x52\\x73\\xf0\\x25\\x33\\xf0\\x77\\x61\\xbf\\x89\\x80\\x7d\\x16\\xc2\\x06\\x21\\x2c\\xba\\x77\\x00\\xd2\\xcc\\xf5\\x4b\\x73\\x24\\xc5\\xe0\\x7d\\x19\\xb5\\x32\\x4a\\x71\\xbd\\xe7\\x07\\x54\\x0f\\x73\\x0a\\xf2\\xc2\\x00\\x23\\x9b\\x44\\xca\\x7b\\x5c\\xa3\\x50\\xc4\\x38\\x71\\x95\\xa1\\x85\\x32\\xc1\\x59\\x50\\x41\\xbc\\xe8\\x50\\x78\\xb1\\x50\\x6b\\x4f\\xd0\\xa7\\xe1\\x89\\xa8\\x10\\x04\\x37\\x96\\xc6\\x4c\\x11\\x5e\\x8e\\x47\\x27\\xa6\\x4f\\x74\\xac\\xda\\xbd\\x6d\\xf8\\xd2\\x9e\\x25\\x9d\\xae\\x4e\\x47\\xfd\\x9a\\xd7\\x5c\\x3d\\x2e\\x3e\\xa1\\xb8\\x40\\xa7\\x1a\\x33\\xa8\\x24\\xa5\\x67\\x56\\xf3\\xea\\x75\\x74\\x67\\xef\\x9d\\xb7\\xad\\x5c\\x5a\\xc1\\x1e\\xde\\xbe\\xfd\\xb7\\x77\\x02\\x15\\x99\\xc5\\x99\\xae\\x6c\\x38\\xbe\\xf7\\x20\\x3d\\x0b\\x21\\x3d\\x7a\\xca\\x7c\\x9a\\x52\\x00\\x1f\\xb4\\x7a\\x92\\xd8\\x0a\\xfd\\xa2\\x69\\x17\\x8b\\x2d\\xb6\\x05\\x3b\\xd4\\xaf\\xf4\\xbc\\x5e\\x9b\\x9e\\xec\\x1a\\xd8\\x33\\xba\\x35\\x35\\x97\\xad\\xfb\\x6d\\xaf\\xae\\x52\\xb5\\x03\\x3d\\xec\\xb0\\x10\\xe2\\x1a\\x87\\xc7\\xe6\\x3c\\x1a\\x4b\\xe9\\x9e\\x82\\x68\\x50\\xb1\\x95\\x52\\x2a\\xb6\\x22\\x26\\x1c\\x45\\x65\\xbe\\xf0\\x9a\\x2f\\x78\\x7d\\xbc\\x41\\xb7\\xf8\\x42\\xcf\\xc1\\x49\\x19\\xd6\\xc5\\xab\\xb2\\x07\\xbb\\x93\\x40\\xeb\\xf8\\x0a\\xd6\\x76\\x75\\xce\\xab\\x5d\\x9d\\xba\\x1d\\x2a\\x22\\xb3\\xcb\\xe1\\x3c\\x20\\xfd\\xc6\\xf7\\x34\\x20\\xe6\\x73\\x62\\x79\\x00\\xbe\\xf5\\xdb\\xc7\\x78\\x98\\x19\\xbc\\x69\\x6b\\xcf\\x12\\xe8\\x45\\xbe\\xa4\\x7f\\xed\\xbd\\x13\\xbd\\xdd\\x00\\x75\\xf4\\x32\\xd4\\x51\\x1f\\x95\\x77\\x34\\x27\\x33\\xfd\\x14\\x28\\x3a\\x4e\\x69\\x34\\xf1\\xa8\\x26\\xef\\x98\\xd3\\xac\\x37\\x9e\\xc5\\x68\\xf4\\x04\\x0d\\x2e\\xd4\\x92\\xcc\\xd1\\x7f\\x2d\\xd7\\x52\\xca\\x9e\\xd0\\xf5\\x93\\xc2\\xad\\x63\\x62\\x4d\\xc4\\xc0\\x0e\\x73\\xdf\\xc2\\xad\\xd8\\xa9\\x71\\xeb\\xe6\\xc5\\x8d\\x37\\xb8\\x53\\x93\\x5b\\x0d\\x93\\xa4\\x12\\xae\\x9e\\x2a\\xcf\\xb8\\xce\\x29\\xb8\\x84\\xeb\\x46\\x52\\x1b\\x31\\x6b\\x4a\\x46\\x5d\\x6f\\xef\\x8d\\x8b\\x54\\xec\\x1d\\xea\\xf1\\xe0\\x3f\\x55\\x29\\xcc\\x38\\x38\\x96\\x20\\x1c\\xcb\\x47\\x50\\x0e\\x33\\xa8\\xd4\\x13\\x66\\x87\\x3b\\x96\\x4d\\x26\\xb5\\x1c\\x36\\x37\\xaa\\xe5\\x30\\xa2\\x32\\xae\\x3f\\xac\\xe5\\x80\\x72\\x19\\x51\\xc9\\xe1\\x17\\x2b\\x39\\x16\\x47\\x54\\x72\\x3c\\x73\\xbe\\x91\\xf1\\xcd\\x18\\x01\\x89\\x2e\\xef\\x1a\\x0e\\x89\\x6e\\xed\\xa7\\x8e\\xe3\\xb7\\x77\\xc1\\xa1\\x86\\xaa\\xe6\\x86\\x0e\\x48\\xaa\\xb7\\x0e\\x5c\\x16\\xca\\x38\\x00\\x35\\x1a\\xd2\\xe8\\xc1\\x35\\xee\\x9e\\xa3\\xf1\\x9c\\x07\\xd5\\xc3\\x39\\x41\\xfe\\x51\\x93\\x1e\\xda\\x97\\x22\\xd1\\xbe\\x20\\x31\\x28\\xc3\\x37\\x63\\x08\\xcc\\x95\\xf3\\x51\\xbe\\x41\\x80\\x78\\x4c\\xf3\\x0d\\xa6\\x59\\xc3\\x96\\x18\\xda\\x1c\\xeb\\xe6\\xda\\xc6\\xda\\x20\\xef\\xc6\\x1b\\x56\\xb0\\x6a\\x15\\x77\\x52\\xa1\\x21\\x56\\x48\\x3f\\x0e\\xda\\x9e\\x07\\x48\\xb1\\x59\\xc2\\x8d\\x8b\\x94\\x1c\\x64\\x1a\\xbd\\x23\\xae\\x38\\x2f\\x99\\xf3\\xd7\\xa1\\xba\\xb3\\xfc\\x6a\\xbe\\x08\\xd2\\xf6\\x19\\xa4\\x4d\\x09\\x69\\xcb\\xa4\\x52\\x8e\\x26\\xba\\x21\\xf3\\x8a\\x8e\\xe9\\x95\\xb4\\x19\\x95\\xc3\\x69\\xa1\\x18\\xe0\\x6b\\x3b\\xf0\\x69\\x55\\x32\\xff\\xe2\\xbc\\xc3\\xc8\\xc6\\x17\\xb1\\x8a\\x2f\\x2e\\x48\\x08\\x4c\\x2c\\x61\\xd2\\x10\\x7d\\x70\\xba\\xd5\\xc6\\x93\\x5a\\x8e\\xd0\\xa4\\x99\\x3d\\xd2\\x93\\xe9\\xb6\\x76\\x58\\xc6\\x77\\xa8\\xdb\\x8d\\x2c\\x2d\\x14\\xc2\\x65\\x2d\\x52\\x6a\\xda\\x13\\x10\\x4d\\x49\\x03\\x7b\\x5f\\xd7\\x55\\xaa\\xef\\x60\\x55\\x48\\x85\\xc0\\x7b\\xb5\\x24\\x37\\xff\\x27\\xb4\\xcb\\x39\\x50\\xc6\\xd5\\x94\\xeb\\x49\\x6c\\x08\\x68\\xa8\\x3f\\xf9\\x47\\x95\\x80\\x15\\xeb\\x09\\xb1\\xb4\\xa7\\x68\\x91\\x02\\xa1\\x03\\x0e\\xbb\\x8f\\xfc\\x38\\xf5\\xb1\\xad\\xcf\\xfe\\x6d\\xea\\x63\\x50\\xe6\\xf5\\xbd\\xdf\\xd3\\xbf\\xf2\\x00\\x84\\xb0\\x9d\\xf9\\x05\\xc6\\x52\\x3f\\xe0\\x1a\\x3b\\x13\\xe5\\xa0\\x5c\\x27\\xf4\\x71\\x71\\x8c\\x15\\x57\\xda\\xe9\\xa4\\x4a\\x3b\\xa1\\x4e\\x57\\x56\\x6d\\x87\\x77\\xa2\\xad\\x16\\x32\\x7c\\x0f\\xf3\\x83\\x58\\x6f\\xc7\\x4f\\x68\\x6e\\x77\\xf0\\x07\\xc0\\xdc\\x2d\\x2d\\x13\\xe3\\x40\\xab\\xac\\xea\\x8e\\xd7\\x4d\\x9e\\x16\\x73\\x12\\x4c\\x7d\\x68\\xda\\x44\\xdc\\xef\\x11\\xaa\\x87\\x9d\\x0f\\x6d\\x80\\x11\\x46\\x98\\x09\\x54\\xd6\\x69\\x38\\x0e\\xdf\\x71\\x7b\\x5c\\x9c\\x46\\x89\\xaa\\x2e\\x4c\\x09\\x09\\x06\\x80\\x04\\x16\\x1b\\x38\\x51\\xdf\\x70\\x89\\x77\\x1a\\xae\\xb4\\x30\\x21\\x3b\\x8a\\x0f\\xac\\xa4\\x30\\xf8\\xbe\\x0d\\xaf\\xb0\\x0c\\x0e\\x8e\\x96\\xdc\\xb9\\xf7\\xbb\\xf7\\x0b\\xcf\\x14\\xde\\x75\\xff\\x2f\\x6f\\x14\\xd7\\x5f\\xb3\\x7a\\xf3\\x99\\x65\\xcb\\x6a\\x86\\xf6\\x80\\x78\\xc5\\x9e\\x9b\\xaf\\x00\\x1a\\xc4\\xf0\\x3f\\xa8\\xee\\xda\\xf8\\x05\\xff\\x33\\xff\\x29\\x78\\xf0\\xdc\\x43\\xbb\\xb4\\xc7\\x1e\\x69\\x6c\\xc5\\x6f\\x28\\xfc\\x0b\\xda\\xa5\\xef\\xd9\\xef\\xa9\\x22\\x2a\\xf3\\x84\\x3b\\x8f\\xc9\\xcd\\x4a\\x47\\xa1\\xa5\\x4e\\x0d\\x23\\xcc\\xe2\\x63\\x4e\\x3b\\x27\\x16\\x06\\xf9\\xc4\\xba\\xe1\\x32\\xa1\\xe4\\x20\\x32\\x69\\x2b\\x31\\x17\\xfb\\x70\\xaa\\x8f\\x82\\x77\\x6f\\xb8\\x8e\\x78\\x00\\xbe\\xaa\\x11\\x9d\\x75\\x63\\x9e\\x39\\xf6\\xc0\\x9c\\x1a\\xe3\\xc8\\xd4\\x74\\xf7\\xf0\\xa2\\xf1\\x1d\\x5c\\x21\\x78\\x2c\\xb6\\x76\\xf4\\x5d\\xb6\\x82\\xc6\\x1b\\x96\\x3e\\x7a\\xff\\xcd\\xb7\\x1a\\x0e\\xe8\\x86\\x96\\x6d\\x1a\\xd8\\xb5\\x62\\x36\\xfd\\xd6\\xea\\x55\\xa9\\x53\\x35\\x83\\xd4\\x77\\xe8\\xea\\x5a\\x2d\\x79\\x80\\x01\\x4e\\x5f\\xc1\\xe4\\xb8\\x24\\xbb\\x29\\xfe\\x9a\\x8e\\x6b\\xae\\x9b\\xd2\\x69\\x29\\xc8\\x1e\\xeb\\xc9\\x74\\xc6\\xa3\\xf7\\xb6\\x18\\x28\\xbb\\x66\\x2e\\x84\\x5e\\x31\\x3c\\x6a\\x8c\\xd5\\x9d\\x02\\x85\\x47\\xb9\\x70\\xe9\\x26\\xce\\x2a\\xa4\\x38\\x26\\x32\\x85\\x03\\x5d\\xd5\\x59\\xee\\x94\\x82\\x01\\x45\\x31\\x77\\xbb\\x36\\xdc\\x5c\\x9b\\xea\\x76\\x16\\x15\\x94\\xc5\\xec\\x74\\xae\\x3f\\x17\\x7b\\x97\\x7e\\x60\\x3d\\x93\\x71\\xcb\\x02\\xdd\\xdd\\xfa\\x40\\xed\\xd5\\x37\\x36\\x2c\\x20\\x76\\x76\\x1b\\xf5\\x14\\xb3\\x99\\xbb\\x1b\\xbd\\x2d\\x7e\\x34\\x91\\x8e\\x87\\x9d\\x9c\\x30\\x6b\\xb5\\x86\\x58\\x1d\\x32\\x96\\x76\\x28\\x8f\\x58\\x74\\x9e\\x0f\\x5b\\x4a\\xbc\\x62\\x1c\\x55\\x9b\\xa7\\x94\\x94\\xc4\\x0b\\x1e\\xcb\\x89\\x6f\\x30\\xab\\xd6\\x6a\\x87\\xcd\\x70\\x0a\\x25\\x7a\\x23\\x94\\x15\\x89\\xd9\\x19\\xe6\\x55\\x9d\\x85\\x83\\x40\\x50\\x3b\\x3d\\xdf\\xbe\\xae\\xa2\\x48\\xa8\\xd4\\xdb\\x50\\x39\\x58\\xfd\\xe1\\x8c\\xae\\x58\\x12\\x9f\\xbf\\x06\\x73\\x95\\x31\\xd0\\xe6\\xb9\\x61\\xae\\x92\\x1b\\xd0\\x79\\x54\\x0e\\x07\\x07\\x0c\\x4e\\xa7\\x99\\x71\\xa3\\xb2\\xbd\\x78\\x5c\\xb6\\xa7\\x0b\\x97\\xed\\xe5\\x95\\x89\\xd7\\x60\\x01\\x7c\\xcc\\x0a\\x1f\\x65\\xb1\\xa6\\x14\\x95\\x84\\x13\\x45\\x48\\xa3\\x0b\\x0b\\x39\\xca\\x18\\x2a\\x4b\\x41\\xa2\\xff\\xbc\\x7f\\x8e\\x6d\\x5e\\x6e\\xac\\xa4\\xbc\\xd6\\x49\\x8e\\x49\\xfe\\x67\\xab\\x97\\x18\\xf9\\xbf\\x1a\\xd9\\xcf\\xf8\\x8f\\x40\\x32\\xff\\xd1\\x4d\\xdf\\x77\\x28\\xb4\\xe3\\x13\\x51\\x4d\\x9f\\x77\\xd1\\x4d\\x20\\xb9\\xf7\\xd6\\x25\\xe3\\xeb\\x93\\xd1\\x3b\\x2e\\x40\\x01\\x3e\\xc4\\x34\\xe6\\x51\\x8e\\xe3\\xc0\\x6e\\xcf\\x8b\\x43\\x7c\\x4a\\x85\\x36\\x85\\xa8\\x18\\x09\\x0e\\x90\\x7c\\xd8\\xc3\\x25\\xf0\\xb8\\xc8\\x54\\x7a\\x03\\x25\\x96\\x16\\xa3\\x70\\x2f\\x71\\xf2\\x6c\\xe1\\xe8\\x01\\x5a\\xff\\xfc\\xa7\\xbb\\xf6\\x9c\\x28\\x18\\x91\\x65\\xb1\\x8c\\x74\\x6f\\xf5\\x0d\\xcd\\x29\\xce\\x69\\x1d\\x33\\x69\\xbe\\xd9\\x32\\xae\\xee\\x2e\\x76\\x5c\\x7a\\x6c\\xdc\\x9a\\xfa\\x19\\xfb\\xc6\\xdf\\xb6\\x7a\\xc8\\xb5\\xf5\\x79\\xa6\\x18\\xf3\\xd6\\x41\\xc5\\xb9\\x4d\\x63\\x27\\x94\\x34\\x8e\\xdf\\xd0\\x95\\xdd\\x50\\x9f\\x58\\x33\\x1e\\xd2\\x56\\x0e\\xf9\\xe7\\x82\\xb4\\x59\\xd0\\x0d\\x5d\\x1c\\x22\\x4c\\x27\\xdd\\x47\\x85\\x6e\\x62\\x92\\x62\\x3b\\x9b\\x4f\\xbc\\x4f\\x85\\x6e\\xe3\\x3f\\x61\\x5b\\x7b\\xea\\x55\\x85\\x65\\xb5\\xb5\\xc6\\xfa\\x9e\\x66\\xf7\\x61\\xf0\\xc1\\xc7\\x96\\x2c\\x18\\xd5\\x55\\x66\\x79\\xfc\\xa5\\x1d\\x1d\\xe0\\x19\\x3e\\xfb\\xbe\\x3b\\x85\\xfa\\xea\\x0f\\x18\\x1e\\xe6\\x6b\\x6e\\x64\\xaf\\x74\\x10\\xbd\\x09\\xda\\xd1\\xbc\\xa3\\x4e\\xbb\\x54\\xb7\\xe4\\xab\\x0a\\xdf\\x04\\x96\\x24\\x0f\\x25\\xf1\\x42\\x12\\x8c\\xf6\\x99\\x51\\xad\\x13\\x16\\xff\\x79\\x0d\\xff\\x2f\\xae\\xed\\x7c\\xb3\\x7a\\x7e\\x70\\xf3\\x58\\x57\\xba\\xcb\\x1a\\x64\\x7f\\xe8\\x9a\\xb9\\x87\\xff\\xcf\\x5d\\x1f\\x58\\x0b\\xc0\\x15\\xbe\\x36\\x2f\\x79\\xe1\\x37\\x7b\\x27\\xa9\\x6e\\xe7\\x94\\xd8\\x4e\\x3e\\x0f\\xbe\\x62\\xce\\x0b\\xb5\\x82\\xb4\\x06\\xdd\\x86\\xa6\\x10\\xeb\\xd5\\x48\\x28\\x96\\xc2\\xa4\\x7b\\x51\\x7d\\x14\\x3d\\x9d\\xd4\\x0a\\x1a\\x87\\xbc\\x7d\\x99\\xfd\\xac\\x57\\x01\\x1e\\xf3\\x6f\\xc8\\xda\\xce\\xb7\\x40\\xda\\xd5\\x30\\x9e\\x78\\x97\\xd8\\xda\\x63\\x0a\\x86\\x61\\x91\\x37\\x05\\x4a\\x25\\x85\\x2d\\x6d\\xa1\\xd1\\x27\\x5c\\x53\\x23\\xee\\x84\\x28\\x81\\xda\\x01\\x9e\\xe4\\xcf\\xb8\\xe8\\x74\\x27\\x3f\\x1c\\xdc\\xe0\\x02\\x5f\\x6e\\x06\\x1f\\x6f\\xbd\\x95\\x4f\\xd9\\x46\\xf4\\xc6\\x48\\x9d\\x63\\x7e\\x86\\x34\\xd9\\xa8\\xb4\\x63\\x36\\x8e\\xb3\\x42\\x3c\\x47\\x63\\x34\\x7a\\xe4\\x67\\x58\\x80\\x1e\\x64\\x80\\xe4\\x11\\x9d\\x11\\x30\\x13\\xbc\\x7a\\x20\\x5f\\x15\\xf2\\xf8\\xe9\\x2b\\xfc\\x69\\x37\\x9d\\xee\\x82\\x7d\\xac\\xf5\\x32\\xb5\\x29\\xe9\\xce\\xe1\\x03\\xda\\x82\\x46\\x7e\\xa4\\x93\\x1d\\xb7\\x75\\x0b\\x9f\\xf2\\x67\\x67\\xa5\\xfa\\x36\\x5d\\x47\\x73\\xd2\\x84\\xcd\\x44\\x47\\x4e\\x80\\x76\\xb6\\x1d\\xe7\\x3d\\x89\\x54\\x4e\\x40\\xed\\x8e\\x89\\xa1\\x15\\x2a\\x8e\\x53\\xc0\\x0e\\x4f\\x26\\x32\\x6a\\x35\\x64\\x3d\\x71\\x1e\\xcf\\x23\\xcd\\x10\\x2a\\xee\\xc8\\x2b\\x81\\xe2\\x36\\x8f\\x54\\x5d\\x90\\x0d\\x94\\x40\\x5a\\xc0\\x04\\xc7\\x0b\\xf8\\x3f\\x3b\\xe1\\x98\\x05\\x7a\\xf6\\x77\\xde\\xd7\\x52\\x3b\\xf1\\xd6\\xad\\xa7\\xa6\\x82\\x5a\\x6f\\xbe\\xc3\\xea\\x19\\x56\\x00\\xf6\\x57\\x0b\\x4c\\xb8\\xa9\\x6b\\x52\\xc3\\xfc\\xce\\xad\\x20\\x31\\x25\\xd1\\x62\\x2f\\xf1\\xa3\\xfb\\xba\\xb0\\xbf\\xfd\\x0c\\xaf\\xde\\x69\\xec\\x76\\x4b\\xac\\x52\\xa5\\xd2\\x52\\x16\\xc4\\x8f\\x18\\x0d\\xba\\x18\\x4c\\xe4\\x87\\x10\\x42\\xe7\\x89\\x35\\x80\\xe2\\xad\\x9c\\x64\\x55\\x24\\x25\\x09\\x6d\\x87\\x95\\x36\\x4d\\x9d\\x7c\\x5d\\xa9\\x13\\x58\\xf8\\xd5\\x2e\\x7a\\x86\\x93\\x7f\\x77\\xe1\\xaa\\xd7\\x1e\\xe6\\xdf\\xcf\\x3d\\x6d\\x06\\xc3\\x97\\x4d\\x9b\\x1e\\xbc\\xe9\\xdf\\x5b\\x6f\\xe1\\x43\\xe6\\xbd\\x6b\\xf6\\xbc\\xfc\\x4b\\x3c\\xaa\\xcf\\x62\\xc0\\x74\\xf0\\x37\\x56\\xa1\\x50\\x40\\x89\\xb7\\x40\\xf9\\x74\\x1c\\x37\\xc6\\xc5\\xc5\\x28\\x22\\x2b\\x2e\\x85\\x6b\\x95\\x8c\\xe4\\x98\\x28\\xca\\xc4\\x18\\xc1\\x32\\x88\\x6b\\xf0\\x4c\\xec\\xcf\\x9d\\xa7\\x36\\x2f\\x5b\\xbd\\xe0\\x09\\x47\\x75\\xab\\x1b\\xf6\\xf0\\xb7\\xa1\\xe3\\x5d\\x00\\x58\\x15\\x0a\\xbe\\x67\\x0f\\xbf\\xb2\\xe7\\xc8\\xfd\\xfb\\xc0\\x8a\\x27\\xae\\x76\\x3c\\xfc\\xf8\\xfc\\xc0\\x7e\\xc6\\xf3\\xe0\\x83\\x53\\xab\\x1e\\xa6\\x98\\x90\\x81\\xdd\\x4f\\x07\\x14\\x63\\x61\\x6c\\x89\\x6e\\x97\\x4f\\x0a\\xe8\\x95\\x0c\\xa3\\xd8\\xd1\\xce\\x50\\x01\\x4a\\xbb\\xa3\\x5d\\x83\\x0e\\x85\\x92\\xf3\\xed\\xc2\\x95\\xab\\x8c\\xdf\\xc7\\x28\\xd1\\xa3\\xd4\\x1c\\xb4\\x9f\\xab\\x67\\x2b\\xbf\\x36\\x2b\\x26\\x64\\xbf\\x98\\x7d\\xf5\\x37\\xf8\\x07\\xbb\\x1f\\xdc\\x92\\xc6\\x2f\\xf2\\xbc\\xf6\\xd1\\x47\\xf0\\xff\\xf8\\xce\\x98\\x50\\x19\\xc4\\x1f\\xf7\\x7f\\xc0\\x0f\\x55\\x5b\\x09\\xd2\\xfc\\x04\\xbf\\x56\\xb9\\xf1\\x6b\\x25\\xcf\\xf3\\x67\\x21\\x72\\x90\\x92\\xf3\\x62\\x0e\\xbb\\xdf\\x03\\xb6\\xa4\\xf1\\xcb\\xc4\\x1e\\x00\\xff\\x19\\x3f\\x26\\xf4\\x7a\\xe8\\x61\\x98\\xc7\\x9a\\x4e\\x9a\\xb2\\xa8\\xf3\\x76\\x8b\\x03\\x3d\\x31\\xea\\xbc\\x84\\x1c\\x23\\x43\\x5e\\x54\\x82\\x3e\\x90\\x26\\xff\\x0c\\x3f\\x6d\\x86\\x2c\\x99\\x5d\\xfc\\xe7\\xcc\\xb6\\xf6\\xd4\\x9c\\x54\\xb7\\xc7\\x9d\\x59\\x98\\x99\\x91\\x5f\\x04\\x4a\\x87\\xe7\\xe5\\xa4\\x64\\xa6\\xe8\\x06\\xa7\\x66\\xa5\\x4e\\xe7\\xc7\\xc4\\x3b\\x8c\\x76\\x63\\x8c\\x52\\xa1\\xd6\\x99\\xf5\\xb1\\x76\\x8b\\x51\\x65\\xb0\\xe6\\xbb\\x93\\xec\\xf6\\x04\\x6b\\xac\\x82\\x65\\x6d\\x89\\x46\\xab\\x3e\\x46\\x6d\\x64\\xf1\\x5a\\x5c\\x2b\\xfb\\x17\\xba\\x5a\\xa1\\x84\\xba\\x65\\x79\\x02\\x58\\xad\\x06\\x83\\xae\\x5b\\x41\\xe5\\x39\\x2f\\xf9\\x84\\x27\\x70\\xd0\\xe3\\x57\\xf2\\xa2\\xf8\\x4a\\xba\\x02\\xd0\\x89\\x25\\x95\\x0b\\xaf\\x59\\x54\\x35\\x69\\x86\\xf6\\x04\\xd7\\x96\\x39\\x79\\xfe\\x75\\x43\\xd3\\x39\\x7f\\x62\\x6a\\xe2\\xec\\xe9\\x79\\x7e\\xa7\\xa5\\x29\\x39\\x23\\x19\\xe3\\x1e\\xc6\\x1e\\x00\\x6f\\x73\\x6f\\xa1\\xb7\\xbd\\x8f\\x33\\x74\\x37\\xfc\\x67\\x1e\\x29\\xb4\\x67\\x3c\\x69\\x76\\xce\\xb3\\x0b\\x54\\x00\\x75\\x2e\\x7f\\x99\\xdf\\xcb\\x35\\xdf\\x78\\xfb\\xdd\\x58\\xd7\\x43\\xd3\\xe0\\x6f\\xde\\x13\\x7e\\x43\\xc3\\xac\\x04\\x3d\\xbb\\x49\\x8a\\xfd\\x3d\\x5e\\xbf\\xdd\\x03\\x4e\\xf3\\x7b\\x7f\\x9a\\xf9\\x16\\xa8\\x60\\x0f\\xdc\\x7d\\xfb\\x8d\\x10\\x7e\\x12\\x84\\x7f\\x4b\\x80\\xe7\\x40\\x37\\xcd\\x88\\xf0\\x8c\\xc7\\xae\\xf4\\x7a\\xba\\xc1\\xa4\\x9f\\x66\\xbc\\xcd\\x3f\\xc7\\xbd\\x85\\xc0\\x21\\xfc\\x54\\x08\\xff\\xa3\\x00\\x0f\\xb8\\x6e\\x86\\x16\\x69\\x02\\x1e\\xce\\x9b\\xe6\\x01\\x6f\\xf0\\xcf\\xf1\\xff\\xc9\\x01\\x3e\\x30\\x89\\x1b\\x40\\x88\\x02\\xfc\\xaf\\x6c\\x0f\\x5d\\xc3\\x7d\\x0b\\x93\\x2d\\x47\\x40\\xc3\\xb0\\x90\\x5b\\x1c\\xdd\\x0d\\xd0\\x33\\xe8\\xce\\x0f\\x0b\\x9f\\x2f\\x34\\x3c\\x8f\\xba\\xb3\\xa7\\x71\\x4a\\xaf\\x32\\x6d\\xcf\\x4b\\xd0\\x6d\\xc5\\xcd\\x7a\\xbd\\x97\\xff\\x82\\xfb\\x76\\xe5\\xf2\\x9d\\xb7\\xdf\\xb0\\x7a\\x17\\xc2\\xf1\\x33\\xc4\\x51\\x8b\\x71\\xd8\\x03\\x6a\\x4a\\x49\\x73\\xdd\\x2c\\xa3\\x40\\x83\\x7b\\xbe\\x10\\x23\\x41\\x25\\xea\\x5e\\x48\\x81\\xdd\\x4f\\xd7\\xf2\\x8f\\x5f\\xe4\\x7f\\xcd\\x05\\x2d\\xef\\xfc\\xc2\\x4d\\xd8\\xb5\\xfa\\x86\\xdb\\x77\\x2e\\x5f\\x89\\xe9\\x78\\x93\\x6f\\x0d\\x85\\x42\\x2f\\xe3\\x97\\x35\\xd4\\x2c\\xa5\\x8a\\xd1\\xa8\\x68\\x5a\\x85\\x2e\\x6c\\x86\\xe6\\xc7\\x70\\x09\\x47\\xfe\\x62\\x32\\x25\\x2e\\xf4\\xf0\\x6f\\x96\\xc4\\x4e\\xd4\\x00\\x5b\\x71\\x96\\x4d\\x69\\x76\\x18\\x53\\xab\\xb4\\x09\\x7c\\x2b\\xb0\\x8f\\x1d\\x93\\x91\\xcb\\xcd\\xe0\\xca\\xca\\xee\\x85\\xf6\\x84\\x65\\xe7\\x82\\x66\\x38\\x2a\\x05\\xa5\\x39\\x4a\\x9d\\x67\\xe1\\xf4\\xbf\\x02\\x51\\xe9\\x01\\x64\\xa0\\x1f\\x34\\x3b\\x0e\\x6e\\x89\\x0b\\x69\\x15\\xca\\x35\\xf5\\xf5\\x6b\\x8e\\x94\\x43\\xbb\\xc8\\xa7\\x40\\x0c\\xa9\\xa1\\x1f\\x20\\x7c\\x0c\\xa2\\x44\\xa3\\xec\\xd6\\xaa\\x54\\xe4\\x87\\x97\\xca\\xc4\\xe9\\xaa\\x02\\x5e\\x3f\\xa7\\xb4\\x33\\x3e\\x3b\\xd4\\x40\\x3e\\xc5\\x71\\x70\\xab\\x83\\x0a\\xe9\\x76\\x5d\\xdb\\x9d\\x77\\xcd\\xea\\x2f\\xf9\\x56\\x82\\xad\\x0b\\x78\\xee\\xbb\\x8f\\xff\\x18\\x8e\\xea\\x2e\\xb4\\x96\\xcd\\x0d\\x33\\xa5\\x43\\x07\\x4f\\x19\\x94\\xf4\\xe7\\xf4\\x6d\\xb8\\x3e\\xd4\\x07\\xdb\\x1b\\xd9\\x31\\xb0\\xbd\\x5a\\x68\\x5f\\x86\\xdb\\x93\\xd0\\x9b\\x8c\\x8a\\x1d\\xb0\\x3d\\x0d\\x06\\xc4\\x4a\\x1a\\x9d\\xde\\x7d\\x9d\\xd2\\x1c\\x67\\xbc\\x5e\\x2e\\x9d\\xca\\x36\\x16\\x43\\x18\\xa1\\xee\\x12\\xc2\\x0c\\x13\\x60\\xee\\x86\\x7e\\x4d\\x79\\x94\\xce\\xa4\\xa8\\xaa\\x62\\x8a\\xe0\\xe1\\xb7\\xb3\\xc7\\x71\\xbf\\x69\\x08\\xbf\\xea\\x7b\\xa6\\x0c\\xb7\\xa7\\xc0\\x76\\xe9\\xb7\\xb8\\xbd\\x5c\\x80\\x3f\\x1d\\x86\\x37\\x2a\\xd5\\xb5\\x54\\xf0\\x97\\xdf\\x20\\x4e\\x26\\xd5\\x22\\xe1\\x4c\\x81\\x30\\xb2\\x7e\\x21\\x4c\\x29\\x86\\xa1\\x33\\xec\\x12\\x4c\\x33\\x3f\\x94\\x7d\\x45\\xb1\\x1f\\xc2\\xa4\\x43\\xfc\\x5e\\x6a\\x19\\xb5\\x8e\\xfa\\xd1\\xa8\\xa4\\x56\\x80\\xa9\\x10\\x40\\x73\\x1c\\xc4\\xc5\\x49\\xe3\\xe8\\x80\\xb0\\x37\\x71\\x47\\x21\\xec\\x70\\x08\\x9b\\x4e\\x2d\\x9b\\x49\\x61\\xc8\\x46\\x02\\x99\\x98\\x68\\xc4\\x90\\x18\\x6f\\x02\\xe4\\xcb\\x61\\xcc\\x17\\x6f\\x04\\x5f\\x68\\xbb\\x5d\\xc2\\x37\\x1a\\xf2\\xe5\\x3b\\x4c\\xdf\\x08\\x08\\xa3\\xa0\\x77\\x6d\\x52\\x20\\xea\\xb2\\x31\\x57\\x10\\x0e\\x38\\xf6\\xc3\\x78\\x8c\\xde\\x08\\x9e\\x8c\\x86\\xed\\xd2\\xef\\x70\\x7b\\x05\\xe9\\x13\\x8e\\x57\\x82\\xc7\\xe3\\x1d\\x44\\xc6\\x6b\\x09\\xf3\\x64\\x34\\x84\\x09\\xf7\\x89\\x60\\x46\\x10\\x98\\xac\\x30\\x4f\\x12\\xf8\\x32\\x79\\xbf\\xf4\\x15\\x7a\\xa6\\xf0\\xdb\\x32\\x79\\xbf\\xb0\\x7d\\xa1\\x00\\x3f\\x37\\xa2\\xdf\\xea\\xd0\\xeb\\x3f\\xbf\\x85\\x70\\xba\\xed\\xb2\\x7e\\xe7\\x46\\xf4\\x5b\\x1d\\xfa\\x91\\xc0\\x14\\x86\\x69\\x43\\xb2\\xf4\\x8d\\x32\\x1b\\xc2\\x64\\x20\\x18\\xd5\\x55\\xd4\\x2f\\xa5\\x3b\\x41\\x03\\xb3\\x99\\x30\\x8d\\xf0\\xb6\\x05\\xbd\\x65\\xa1\\x40\\xb8\\x6a\\xd0\\x9c\\xd1\\x4f\\x33\\x43\\x42\\x5b\\xd0\\x58\\x80\\x25\\xf4\\x6f\\x04\\xcf\\x64\\x67\\x1b\\x65\\xf0\\xd1\\x78\\x7b\\x25\\xbc\\x56\\x6b\\x34\\xde\\xbb\\x64\\x78\\x9f\\x61\\x36\\x0a\\x78\\x13\\xfa\\xc7\\x0b\\xc7\\xf4\\x0d\\x1e\\x77\\x86\\x30\\xa6\\xef\\xf1\\x98\\x80\\x8c\\xdf\\x2d\\x10\\x66\\x09\\xd6\\x9b\\x1a\\x01\\xe6\\x5b\\x32\\xee\\x6c\\xbb\\x4c\\xf6\\x67\\x46\\xe0\\x19\\x11\\xfa\\xf0\\xe7\\x10\\xc2\\x13\\x17\\xc6\\x33\\x04\\xc2\\xc8\\xf1\\x8c\\x08\\xbd\\x86\\x61\\xe8\\x3c\\x39\\x9e\\xa1\\xec\\x37\\x8a\\x47\\x09\\x1e\\x48\\xff\\x4e\\xd8\\x4c\\x64\\xf9\\x31\\x22\\xa1\\x3a\\x9d\\x24\\x7b\\x2d\\x10\\x76\\x25\\x77\\x42\\x18\\x6b\\x3a\\x82\\xc5\\x90\\x2b\\x30\\x24\\x9d\\x92\\x22\\x93\\xe5\\x4a\\xc8\\xbf\\x6f\\xb1\\x2c\\x67\\x0a\\xb2\\x9c\\x80\\x65\\x19\\xc4\\xc4\\x10\\x7c\\x30\\x46\\xdb\\x0d\\x61\\x7a\\x15\\x2b\\x61\\xe8\\xe1\\xa0\\x8a\\x02\\x2e\\x5b\\x5c\\x73\\xd0\\xa6\\x09\\x50\\x2c\\xc7\\x36\\x04\\xcd\\x1c\\xa7\\xa1\\x35\\xfa\\x86\\xa0\\x4e\\xc3\\xd2\\xf2\\x72\\x31\\x9f\\x50\\x2c\\xfa\\x8a\\x78\\x77\\x75\\x9f\\x33\\xbe\\xe8\\x12\\x64\\xfa\\xc4\\x6d\\xfc\\x17\\xb7\\xc9\\xce\\xf6\\xa6\\xdc\\xde\\x2d\\x9c\\xed\\xe5\\x6f\\x47\\x3b\\x9c\\xf4\\x57\\xbd\\x56\\xfa\\x2b\\xd9\\xc1\\x5e\\xfa\\xe9\\x57\\x5f\\x15\\xe6\\xf3\\x41\\xc5\\x7c\\x48\\x77\\x16\\x91\\x75\\xe0\\x01\\x4a\\x44\\xb7\\xc7\\x23\\xf1\\x21\\x95\\x1f\\xc3\\x3e\\xcb\\xb5\\x43\\x98\\x5a\\x01\\xa6\\x04\\xce\\x35\\xe4\\x00\\x0c\\xd8\\x44\\x18\\x54\\x87\\xf4\\x89\\xe2\\x16\\x08\\x93\\x2d\\x8c\\x3f\\x9e\\x7a\\x11\\xe1\\xd1\\xeb\\xa5\\xf1\\x43\\xeb\\xc1\\xae\\x52\\xcc\\xa7\\x5c\\x30\\x46\\x4d\\x0d\\x98\\xdd\\x09\\xcd\\x41\\x77\\xc0\\xce\\xb8\\x18\\x8d\\xd5\\xca\\x18\\x22\\x0b\\x40\\x9c\\x78\\xbc\\xd2\\x72\\x8b\\xec\\xf8\\x28\\x3a\\x40\\x0b\\xc7\\x6d\\x46\\xb1\\xe1\\xa7\\x8d\\xcf\\x2c\\xbf\\xe9\\x16\\xc3\\x4d\\xfc\\x17\\xd7\\x19\\x86\\x55\\xcf\\xde\\x13\\xd7\\xc5\\x5f\\x81\\x3e\\xcd\\x51\\x14\\xe3\\x56\\x3f\\x86\\x86\\xcd\\x4c\\x5d\\xb5\\x70\\x5d\\xf7\\xc8\\xe6\\xde\\x26\\x7a\\x7e\\x53\\x61\\xcd\\x90\\xe3\\xeb\\x7a\\x9f\\xe2\\x86\\xf1\\xff\\x1a\\xd1\\x99\\x4a\\x0f\\xc4\\xef\\xf3\\x20\\xda\\xa1\\xad\\xf8\\x04\\xcb\\x56\\xb6\\x60\\x2b\\x46\\xe0\\xf6\\x74\\xd8\\xbe\\x0a\\xeb\\xe3\\x28\\xa1\\x7d\\x9c\\x74\\x17\\xfd\\x27\\x8a\\x85\\xe2\\x58\\xd5\\xc3\\x81\\xa9\\xaf\\x0e\\x52\\x0c\\x1e\\xef\\x8d\\xc2\\x78\\x53\\x28\\x6f\\xc0\\x1c\\xef\\xf1\\xb8\\x93\\x02\\xb6\\xdf\\x1b\\xb1\\x70\\xfd\\xcb\\x1f\\x0c\\x1a\\x9d\\x89\\xf6\\xa0\\x35\\xdf\\x3f\\x1a\\x38\\xb8\\x33\\xfb\\xd3\\xec\\xde\\xa5\\xd9\\x9f\\x64\\xff\\xd1\\xe8\\xf3\\xdf\\x87\\xff\\xc3\\xe3\\x0f\\x7d\\x0b\\xe5\\x3c\\x3c\\x7e\\x05\\xb5\\xa2\\x85\\xb4\\x5f\\x81\\xed\\xe1\\xf1\\xc3\\xf6\\x3a\\x91\\x5f\\xb7\\x87\\xe1\\xe1\\xf8\\x47\\x86\\x9e\\xf8\\x99\\x47\\xba\\x68\\x0c\\xeb\\x62\\x3a\\x84\\x91\\x7e\\x8b\\x61\\x9e\\x82\\x30\\xea\\xa3\\x20\\x09\\xe9\\x62\\x41\\x3e\\x82\\x29\\xe2\\xd7\\xb3\\xaf\\x60\\x3c\\x39\\x58\\x66\\x76\\xf3\\x7f\\xfd\\xe5\\x4a\\x94\\x4e\\xc7\\x40\\x18\\x3f\\xc6\\x53\\x47\\x60\\x42\\x00\\xc3\\xd0\\xce\\xb0\\x4e\\x17\\x41\\x3e\\xbf\\x82\\x6d\\x17\\xc6\\xa3\\xfa\\x37\\x8d\\xde\\x1c\\x8c\\x3d\\xc9\\xd0\\x40\\xf4\\x24\\xc5\\x48\\x46\\x63\\x20\\xdc\\x66\\xc5\\xdf\\x20\\xdc\\x0f\\xd8\\x37\\x75\\xbe\\x8c\\x28\\x1b\\x0a\\xc6\\x52\\x15\\x54\\x71\\x20\\x85\\xb1\\xaf\\xb1\\x03\\x5a\\x6f\\x07\\x55\\xf6\\x6b\\xec\\x5b\\xed\\xcc\\x79\\xf8\\x5f\\x40\\x63\\xd0\\x24\\x69\\x60\\x24\\x75\\x5e\\x03\\x34\\x48\\xd8\\x3b\\xba\\x20\\xb2\\x8e\\x8e\\xae\\x49\\x1d\\x46\\x34\\x0a\\xdc\\x7f\\x22\\x45\\x71\\xad\\x8a\\x87\\x4d\\xe8\\x0e\\x08\\x82\\x71\\x1b\\xb1\\x25\\x46\\xa3\\x24\\xfb\\xf8\\x9d\\x26\\xc5\\xa3\\x94\\x16\\xbf\\x6a\\x62\\x20\\xd7\\x90\\xe9\\x63\\xbb\\x8d\\x1c\\xc7\\x50\\x2c\\x39\\x36\\xed\\xbc\\x4c\\x2e\\xa3\\xf1\\x48\\xc7\\xc4\\xd5\\x34\\x4c\\x82\\x94\\x1c\\xfd\\x13\\x39\\x1e\\x0e\\x27\\x78\\x13\\x39\\x1e\\x0e\\x1c\\xbd\\xbc\\x02\\x64\\x03\\x5a\\xc5\\xaf\\x21\\xa7\\xc3\\x87\\xf5\\x16\\xa3\\xd3\\xe1\\xbd\\xf3\\xb8\\xbb\\x12\\x7f\\xc8\\xbe\\x82\\xe9\\xe2\\xb7\\x73\\xad\\x98\\xbf\\x03\\x04\\xf9\\x9d\\x85\\xe9\\xad\\x86\\x72\\xfd\\x31\\xe6\\xe9\\x18\\xa1\\xfd\\x1a\\x32\\x0e\\xfe\\x4c\\x18\\x1e\\xfb\\xbd\\x21\\xbf\\x5c\\x45\\xf3\\xa1\\x0b\\xcf\\x47\\x35\\x7f\\x26\\xfc\\x5b\\x0c\\x53\\x23\\xc0\\x84\\xe7\\xa3\\x13\\xe2\\x4f\\xc3\\x78\\xf2\\x04\\xfc\\xf3\\x84\\xb9\\xdc\\x2e\\xcc\\x65\\xbd\\xd0\\x3e\\x59\\x82\\xbf\\x06\\xdb\\x20\\x04\\xef\\x85\\xf6\\xa5\\x05\\x28\\x8d\\xe8\\xfb\\x5c\\xc2\\x47\\x95\\x4a\\xe0\\x23\\x83\\x71\\x40\\x58\\x9c\\xf1\\x18\\xe1\\xac\\xb9\\x63\\x34\\xdb\\x83\\x31\\xaa\\x80\\x4a\\xd9\\x10\\x54\\x31\\x7a\\x63\\x73\\x50\\xcf\\x40\\x93\\xca\\x40\\x93\\xca\\x08\\x75\\x8d\\xd8\\x78\\xe2\\x03\\x05\\x82\\x19\\x85\\x2c\\x25\\x77\\x79\\xe3\\x37\\x02\\x19\\x64\\x3e\\xdf\\x02\\x53\\xd2\\x7e\\xfb\\x2d\\x0d\\x6c\\x7a\\x92\\xff\\x28\\x8d\\xae\\xe0\\x5b\\xe8\\xe9\\x9e\\xde\\x7b\\x77\\x22\\x13\\x72\\xee\\xdc\\x39\\xe6\\xa5\\x73\\x20\\xe3\\x91\\x9f\\x2f\\x23\\x83\\x81\\xe9\\x3d\\x1f\\x1e\\x1f\\xe6\\xc1\\xf0\\x5f\\x69\\xc4\\x03\\x85\\x5d\\x26\\xb7\\xa7\\xc3\\x63\\xc5\\x30\\x79\\x38\\x86\\x00\\x1a\\x39\\x9f\\xe6\\x46\\xe0\\xa9\\xa6\\x18\\xe2\\x1b\\x63\\xe5\\xf2\\x3f\\x37\\x02\\x4f\\x75\\xe8\\x73\\x02\\x63\\x92\\xf0\\x84\\x7e\\x85\\xf2\\xa7\\xc4\\xf2\\x97\\x2f\\xc8\\x5f\\x27\\xe1\\x5b\\x52\\x92\\x68\\xc3\\x43\\x7f\\x83\\xf2\\x77\\x16\\xc7\\x65\\x0d\\xd8\\x8b\\x2d\\xa3\\xb6\\x10\\x18\\xbf\\x5f\\xb4\\xe1\\x02\\x9e\\x1d\\x22\\x1e\\x68\\xc3\\xd3\\x88\\x0f\\x4b\\x48\\x88\\xc2\\xf3\\x8c\\x80\\x47\\x81\\x63\\x36\\x08\\x51\\x5c\\x1c\\xf6\\x85\\xa1\\x5f\\xa1\\xdc\\x29\\xf1\\xb8\\xf2\\x85\\x79\\xae\\xc1\\xed\\x7f\\x83\\x73\\x77\\x16\\xfb\\xe7\\x06\\xa1\\x7d\\x94\\x14\\x07\\x7e\\x8a\\xfb\\x2d\\x10\\xfa\\xb5\\x90\\x7e\\x4d\\x26\\xc9\\x07\\x61\\xdf\\x81\\xfb\\x6d\\x94\\xf7\\x9b\\x90\\x20\\x8f\\x27\\x21\\xfe\\x4f\\x71\\xbf\\x05\\x02\\xfe\\xb9\\x61\\x3b\\xce\\xd6\\x93\\xdf\\xe2\\xf6\\xb1\\x52\\x2c\\x28\\xc1\\xe3\\x39\\x8a\\x25\\x73\\xa4\\x97\\xdb\\xb1\\xd3\\xe1\\xdf\\x62\\x98\\x74\\x02\\xe3\\x92\\xc7\\x82\\x73\\x23\\xf0\\x54\\x87\\xbe\\x21\\x73\\x64\\x97\\xe3\\x99\\x1b\\x81\\xa7\\x3a\\xf4\\x36\\x81\\x49\\x09\\xe3\\xa9\\x85\\xbe\\xf8\\xb4\\xe2\\x3b\\x08\\x53\\x88\\xed\\x18\\x4f\\xcf\\x0c\\x3d\\x47\\x19\\x03\\x6a\\x86\\x4e\\x4d\\x4a\\x05\\xa9\\x88\\x19\\xc8\\xfc\\x88\\x6f\\x97\\xbd\\xaa\\x8c\\x81\\xb0\\x4d\\x38\\x8e\\xb9\\xc0\\xce\\xe1\\x57\\xe2\\xb9\\xbf\\x9b\\x9a\\x49\\x35\\x07\\xaa\\x98\\x72\\x7d\\x39\\x58\\x53\\x0e\\x0c\\xe5\\x80\\x76\\x59\\x5d\\x69\\x2e\\xba\\xc8\\x55\\xed\\x3a\\xee\\xba\\xe0\\x7a\\xd3\\xf5\\x77\\x97\\x22\\xdf\\xd5\\xe0\\x5a\\xe8\\x62\\x0c\\xae\\x24\\x57\\xbe\\x6b\\xb2\\xeb\\x4f\\x2e\\x6e\\x84\\x0b\\x30\\x43\\x5d\\x20\\xc9\\x05\\xe1\\x11\\x53\\x27\\x2d\\xea\\x9a\\xd4\\xd5\\xb5\\xa8\\x03\\x1a\\xba\\x0e\\x64\\xf5\\xfa\\xa7\\x31\\x84\\x69\\x34\\x07\\x34\\x6c\\x14\\x91\\x02\\x3c\\x7e\\x63\\x4d\\xf1\\xb2\\x8c\\xce\\xd1\\x98\\x4e\\xe4\\x33\\xdb\\xa8\\x69\\x81\\x31\\x2c\\x53\\xac\\x2f\\x06\\x89\\xc5\\x79\\xc5\\xd7\\x14\\xaf\\x29\\x66\\x07\\x15\\x8b\\xe4\\xe6\\x47\\x92\\x1b\\xc0\\x04\\xb3\\x84\\xe0\\x06\\x48\\xf2\\x42\\x57\\x37\\x24\\x5b\\xf5\\xdf\\xc8\\xfe\\x1d\\xba\\xaf\\x62\\xba\\x75\\x27\\x18\\x18\\xc6\\xc9\\xe3\\x5b\\x42\\xef\\x05\\x91\\x5e\\xf5\\x10\\x6a\\x1b\\x95\\x40\\xe2\\x22\\x21\\xbe\\x15\\xc3\\xbe\\xe2\\x7e\\xf1\\xf6\\x4a\\x78\\xd3\\xd2\\xa2\\xf1\\x1e\\x54\\x3c\\x27\\xe1\\x1d\\x0a\\x96\\x09\\x78\\x0b\\xfb\\xc5\\x0b\\x7d\\x0a\\x7b\\x11\\xeb\\xb4\\x4f\\xd0\\xe9\\x49\\x24\\xea\\x74\\xbb\\x25\\x5d\\x44\\xf5\\x1e\\x9b\\xb1\\x4e\\x37\\x23\\x9d\\xa0\\x96\\xcd\\xc7\\x10\\x62\\x00\\x2e\\xc3\\xb3\\x43\\xc4\\x13\\xce\\xb1\\x9c\\xce\\x08\\x3c\\xdd\\x58\\xb7\\x9a\\x89\\x6e\\x7d\\x83\\xf1\\x64\\x66\\xca\\xf0\\xa0\\xfc\\xe0\\x23\\x8c\\xa7\\x38\\x12\\x4f\\x98\\x1e\\xf4\\x06\\x38\\xfb\\x00\\xc6\\x33\\x96\\xe0\\x29\\xc2\\x3a\\xea\\x74\\xca\\xf1\\x40\\x5d\\xfc\\x08\\xeb\\x4a\\xb1\\xa0\\x8b\\x24\\x3f\\x1a\\x05\\xdb\\x1f\\xc0\\xb6\\x61\\x2c\\x69\\xa7\\xdb\\xc3\\xf0\\x38\\x5e\\x2f\\x16\\x7c\\x43\\x15\\x18\\x6a\\x14\\x7e\\x87\\xfa\\x77\\xb9\\xc2\\xb9\\x22\\xc2\\x81\\xe3\\xd4\\xb1\\x02\\xec\\xc4\\xd0\\xbf\\x11\\x2c\\xdd\\x41\\xac\\x85\\xc3\\x21\\xc5\\xab\\x28\\x37\\x96\\xe8\\xc0\\x7a\\x3d\\x86\\xe4\\x78\\x4e\\x8b\\x4c\\xaf\\x4f\\x87\\x69\\x42\\x30\\xa1\\x8d\\x44\\xf7\\xed\\x61\\x9d\\x65\\xe1\\xbc\\x3e\\xab\\xb8\\x0f\\xc2\\x94\\x48\\x7c\\xf9\\x00\\xf5\\x95\\x97\\x27\\xd1\\x55\\x0d\\x61\\xe6\\x61\\xbe\\x8c\\x93\\xdb\\xae\\xfc\\x7c\\x19\\x5f\\x58\\x48\\xfb\\xb3\\x5c\\x1b\\xc1\\x23\\xcb\\x63\\x91\\xaf\\x9e\\x87\\xed\\xc6\\xb8\\x88\\x76\\xd4\\xef\\xdb\\x58\\xee\\x70\\xbf\\x6a\\x8a\\x5e\\x87\\xe5\\x8e\\x06\\x3e\\x9f\\x5c\\xee\\x50\\xdf\\x7f\\xe5\\xde\\x13\\xfa\\x46\\x70\\x5b\\xf8\\xc3\\x18\\xae\\xa8\\x48\\x2e\\x6f\\x64\\x1c\\x61\\x7c\\x40\\x90\\x63\\x04\\x17\\x8d\\xef\\x16\\xc5\\xeb\\x02\\x3d\\x5e\\x38\\x96\\x6c\\x60\\x80\\x63\\xda\\x88\\x23\\x60\\x40\\x17\\x14\\x08\\x58\\xc5\\x31\\x89\\xbc\\xc1\\xb0\\x90\\x37\\x46\\x61\\x0c\\x88\\x03\\x39\\x39\\x61\\x1e\\xa1\\x71\\x8a\\x3c\\x82\\xb9\\xd6\\x2e\\xac\\x4d\\x12\\x64\\x6e\\xae\\x8c\\x57\\x87\\xa0\\x9f\\xca\\xc5\\xb2\\xe8\\x8f\\x90\\x45\\xa0\\xd5\\x4a\\xf8\\x3e\\x43\\xf7\\x40\\xe0\\x7c\\xa4\\x55\\x80\\xd1\\xc0\\x7c\\xc4\\x11\\x30\\x82\\x24\\x7d\\x12\\xc8\\x4b\\xaa\\x4a\\xea\\x49\\xfa\\x36\\x89\\xc5\\x0e\\x12\\x5b\\x37\\x84\\x17\\xfa\\xad\\x5c\\x2c\\x13\\xfe\\x08\\x5e\\x7f\\x06\\x69\\xab\\xe1\\x5a\\x08\\x2e\\xdc\\xde\\x8a\\xdb\\x0f\\xf0\\xa7\\xc3\\xf0\\x58\\x86\\xac\\x44\\x3e\\x54\\x61\\x19\\xfa\\x0c\\xca\\x90\\xf4\\x5b\\x0c\\x33\\x91\\xc0\\xc4\\x87\\x65\\x68\\x18\\x3f\\x37\\x02\\x4f\\x75\\xe8\\x18\\xf1\\x0d\\x86\\x30\\x9e\\xed\\xd0\\x7f\\xc8\\xf1\\xc0\\x78\\x92\\xc0\\xa4\\x85\\xf1\\xcc\\xe1\\x17\\xb1\\xff\\xc0\\x78\\x4a\\xf1\\xda\\xc3\\x67\\xc2\\x9a\\xc4\\x04\\xd8\\xbe\\x9b\\x2d\\x87\\xed\\xe3\\x85\\x76\\x12\\x07\\x96\\xc0\\x7c\\x59\\x82\\xc7\\xf9\\xf2\\x73\\x24\\xa7\\x4e\\x0e\\xf7\\x1b\\x80\\x30\\xd2\\x6f\\x31\\xcc\\xab\\x04\\x26\\x5d\\xde\\xef\\xdc\\x08\\x3c\\xd5\\xa1\\x77\\x09\\x6d\\x09\\x61\\x3c\\x13\\x20\\x8c\\x1c\\x4f\\x75\\xe8\\x22\\x81\\x49\\x96\\xe1\\x81\\xb2\\xf5\\x0f\\x2c\\x83\\xa5\\x82\\xff\\x9b\\x20\\xc8\\xa0\\x18\\x80\\x90\\xf9\\x9f\\x00\\xe1\\x0e\\x28\\x81\\x30\\x1e\\xe4\\x53\\xea\\x05\\xdf\\xb7\\x04\\xfa\\x94\\x60\\x60\\x38\\x5d\\xa6\\x2f\\x9b\\x54\\xb6\\xa6\\x6c\\x6b\\x19\\xab\\x2f\\xcb\\x83\\xff\\xc2\\x00\\xa7\\xd5\\x99\\xe6\\xa4\\x8b\\x9c\\xd5\\xce\\xe3\\xce\\x0b\\xce\\x37\\x9d\\x7f\\x77\\x2a\\xf2\\x9d\\x0d\\xce\\x85\\x4e\\xc6\\xe0\\x4c\\x72\\xe6\\x3b\\x27\\x3b\\xff\\xe4\\xe4\\x46\\x38\\xa1\\x2f\\x71\\x82\\x24\\x27\\xa0\\x9d\\xd1\\xbe\\x44\\x90\\x91\\x28\\x1a\\xd5\\x34\\xa6\\x11\\xe7\\x1a\\x62\\xc6\\x8c\\x65\\x1f\\xd1\\xb8\\x1b\\xfb\\xbd\\xf1\\x82\\x2d\\xb2\\xe3\\xb8\\xab\\x93\\xca\\x04\\x39\\x54\\x5e\\x20\\x89\\xa1\\x93\\x13\\x93\\xab\\x92\\xb7\\x26\\x33\\x54\\xb2\\x21\\x99\\xd6\\x27\\x7f\\x97\\x4c\\x03\\xb7\\xc1\\x9d\\xe4\\x0e\\xb8\\x19\\xb7\\x91\\x78\\xd1\\x8e\\x2e\\xd8\\xb5\\x94\\x67\\xdc\\x0f\\xe5\\x7e\\x36\\xb6\\x85\\x65\\x24\\x17\\xa2\\x32\\xa8\\x6f\\x91\\xdc\\x5b\\x2c\\x92\\xdc\\xe3\\x77\\xd4\\xb8\\x33\\x10\\x26\\x88\\x6d\\xcd\\x6e\\xa2\\x3f\\x16\\x8b\\x4c\\x7f\\xee\\x87\\x72\\x3e\\x1b\\xcf\\x57\\x59\\x84\\x9c\\x6f\\x84\\xed\\x26\\x3c\\x47\\xc1\\x88\\x76\\x18\\x4d\\x72\\x73\\xb0\\x2f\\x2a\\xc7\\x63\\x18\\x1a\\xfa\\x2b\\xf5\\x6f\\x62\\xd9\\xa5\\x7e\\xf1\\x7b\\x6d\\xd8\\x17\\xb5\\x61\\x5f\\x34\\x74\\x23\\xee\\xd7\\x6e\\x97\\xf5\\x4b\\xf0\\x3c\\x2a\\xe1\\x59\\x46\\xdd\\x45\\xfd\\xf4\\x5f\\xf0\\x2c\\x9b\\xf8\\x7b\\x78\\x6e\\x90\\xf0\\x74\\x52\\xb9\\xd4\\xa7\\x58\\x4e\\x44\\x44\\xc5\\xe1\\x37\\xe4\\xb8\\xfb\\x24\\x5c\\x9d\\x80\\x64\\xe9\\x22\\xb2\\x62\\x09\\xd7\\x0e\\x11\\x57\\xd8\\x96\\xc4\\xc7\\x47\\xd1\\xf4\\x8c\\x88\\x47\\xb4\\xdf\\x11\\x7e\\x0d\\xe6\\x30\\xdc\\x1c\\xcc\\xd3\\xf2\\x08\\xde\\x05\\x61\\x7b\\x36\\xe6\\x69\\x9b\\xbc\\x1d\\xbf\\x77\\x3e\\x18\\xf7\\x5b\\x21\\xf4\\xab\\x27\\xfd\\x8a\\xeb\\x25\\x10\\xe6\\x45\\xb4\\x26\\x87\\xfb\\x6d\\x97\\xf7\\xab\\xd7\\xcb\\x62\\x6d\\x82\\x67\\xa1\\x88\\xa7\\xff\\xb5\\x08\\x09\\xd7\\x7d\\x22\\x2e\\x34\\x6e\\x01\\x2a\\xcc\\x0b\\x24\\x5f\\x33\\x31\\x4d\\x03\\xa5\\x35\\x9c\\xd7\\x23\\xd7\\xc4\\x42\\x6f\\xf1\\xad\\x9c\\x1e\\xd3\\x34\\x81\\xd0\\xf4\\x15\\xa6\\xc9\\xed\\x96\\xd1\\x84\\xde\\x81\\xfc\\x5c\\x71\\x00\\xc2\\x0c\\x22\\xba\\x0e\\xb2\\x08\\xe5\\x06\\x03\\x27\\x5f\\x2f\\x9a\\x8f\\xd7\\xd6\\x3a\\x30\\x9e\\x0d\\x22\\x84\\x1c\\x0f\\xb4\\xbb\\x9f\\x63\\x9e\\x0e\\x12\\x78\\x57\\x2d\\xad\\xd7\\xcc\\xc7\\x3c\\xed\\x88\\xe0\\xe9\\x37\\xd0\\xd6\\x4a\\xf0\\x72\\x7b\\xac\\x09\\xdb\\x21\\x0f\\x84\\x91\\x7e\\x1b\\x01\\x63\\x8f\\x8c\\xf9\\x65\\x6b\\x17\\xb5\\x54\\x7c\\x9f\\x98\\x1f\\xf9\\x97\\x76\\xc5\\x16\\xd1\\x1e\\x63\\x7e\\x7e\\x07\\xe3\\x60\\x2d\\x0d\\x52\\xf3\\x52\\xab\\x52\\x69\\x1c\\x08\\x77\\x48\\xf1\\x27\\x96\\x21\\x85\\x55\\x92\\xa1\\x7b\\xa0\\x3f\\x8a\\x92\\x45\\xc2\\x5b\\x85\\x56\\xe2\\xed\\x3d\\x1a\\x32\\x47\\x62\\xd8\\x82\\xf8\\xe6\\x83\\x76\\xa5\\x51\\x91\\x69\\xc2\\x7b\\x0c\\x10\\x66\\xcd\\x77\\x19\\x28\\x0a\\x1a\\x32\\x44\\xe4\\x1b\\x45\\x03\\x1d\\xe4\\xed\\x55\\x45\\x17\\xce\\x90\\xd1\\xfb\\xfc\\xd6\\x58\\x7d\\x73\\x7b\\x2c\\x47\\x71\\x0d\\x41\\x9a\\x62\\xc5\\x8a\\x3f\\x52\\x7e\\x1f\\x2e\\xcd\\x34\\x57\\x02\\x54\\x22\\xc1\\x9c\\xc1\\x17\\xe7\\x4d\\x9b\\x6f\\xee\\xe1\\xbf\\xb8\\x90\\xcc\\x7b\\x33\\x81\\x23\\x93\\xab\\xc7\\xab\\x86\\x57\\x33\\x98\\x7f\\x1d\\x3e\\xd4\\x2c\\xbc\\x6b\\x1d\\xfa\\x19\\xd2\\xf2\\x19\\xd7\\x46\\xa5\\x50\\xbe\\x80\\xcb\\x68\\x8e\\x37\\x4f\\x0a\\x7a\\x0c\\x06\\x7d\\x63\\xd0\\x60\\x88\\x4b\\x8a\\x67\\xe3\\x4c\\x8c\\x6a\\x4a\\x90\\x63\\xcc\\x42\\xd1\\xa5\\xf4\\xd8\\xa8\\x50\\x22\\x61\\xa1\\x3c\\xc9\\xe2\\xdd\\xf7\\x68\\xbb\\x17\\x84\\x09\\xc1\\xc5\\xaf\\x20\\x01\\xb0\\x0f\\xf1\\x7f\\xe6\\xf9\\xf1\\xd7\\x8d\\xaf\\xa8\\x5f\\xb1\\x6e\\xf6\\x75\\x83\\x53\\x80\\x72\\xd0\\x8c\\x55\\x5b\\xd3\\xef\\xe6\\xdf\\xbd\\x27\\xe3\\x5e\\x2a\\x74\\xea\\xde\\xb7\\x66\\xf0\\xcf\\x5c\\xbb\\x1e\\x7c\\xf7\\x3d\\xff\\xb5\\xe3\\x7d\\xfb\\xea\\xeb\\x6b\\x6b\\x8e\\x82\\xb8\\xa6\\x5d\\x17\\xaf\\xfe\\xc0\\xb8\\x5f\\xfd\\x6e\\xcd\\xaa\\x7d\\xfc\\xe5\\xb8\\x9b\\xf0\\x9e\\xcd\\x76\\xf9\\x9e\\x8d\\xa4\\x9f\\x3e\\xd8\\x2e\\xdb\\xb3\\x91\\xeb\\x27\\x3b\\x5d\\xf1\\x0b\\x81\\x87\\xba\\xf0\\x32\\x43\\x24\\x94\\x4e\\x4c\\x94\\x64\\x18\\xcf\\x05\\xf7\\x9b\\x30\\x17\\x4a\\xd5\\xbf\\x98\\x39\\x04\\x66\\xc4\\x08\\x29\\xa7\\x46\\xfa\\x39\\x4f\\xa9\\x12\\xf1\\xa8\\x0b\\x85\\x75\\x75\\x46\\x0a\\x5c\\x89\\xfd\\x80\\xb8\\xa0\\x6d\\x4f\\x17\\x71\\xa9\\xcb\\x25\\xb8\\x61\\xc3\\x64\\x71\\x1a\\xa1\\x4b\\x86\\xcf\\x27\\xc1\\x89\\x06\\x4b\\xc2\\xc7\\x4e\\x92\\xe1\\xab\\x90\\xe0\\x44\\xe2\\xc2\\xf6\\x43\\xad\\x54\\x4a\\xf8\\x8a\\x24\\xb8\\xf4\\xf4\\x68\\xfa\\x32\\x15\\x4b\\x25\\x7c\\x03\\x25\\xb8\\xaa\\xaa\\x68\\xfa\\x76\\xc9\\xe8\\x2b\\x96\\xe0\\x0a\\x0a\\xa2\\xe9\\x3b\\xad\\x90\\x78\\xa7\\x1e\\x24\\xc1\\x05\\x83\\x11\\xf8\\xe0\\xfc\\xdc\\x8c\\x6d\\x09\\x9a\\x37\\x2f\\x99\\x1f\\x6c\\x53\\x8c\\x98\\xd7\\x8c\\xcc\\xf7\\xa1\\xb9\\x0c\\x62\\x9b\\x52\\x8d\\x63\\xc8\\x0d\\x11\\x31\\x24\\x5d\\x5e\\x1e\\x69\\x37\\xd9\\x55\\x4a\\x8d\\x44\\x67\\x89\\xd4\\x7f\\xe4\\x7e\\x07\\xa2\\xf3\\x4d\\xc5\\xaf\\x12\\x9d\\x95\\xf4\\x0c\\x01\\xae\\xac\\x2c\\x7a\\xdc\\x72\\x7c\\xfe\\x3f\\xc0\\xb7\\x5c\\x86\\xaf\\xea\\x7f\\xc4\\x57\\x2a\\xe1\\x13\\x1d\\x44\\x18\\xdf\\x4a\\x25\\x2d\\xe1\\x0b\\x48\\x70\\x75\\x75\\x7d\\xe7\\x25\\x8c\\xaf\\xec\\x0f\\xf0\\x3d\\x89\\xe5\\x9e\\xe0\\x1b\\x4c\\xa3\\x47\\x9f\\xa1\\x5d\\x63\\xe8\\xe6\\x59\\xcd\\xcb\\x9b\\xe9\\x66\\xa3\\xdc\\xae\\xe1\\xf9\\x79\\xa0\\x9f\\xf9\\x19\\x09\\xd4\\x64\\x7e\\x44\\x37\\x24\\xcc\\xcf\\x4a\\xd9\\xfc\\xec\\x8c\\x9c\\x1f\\x91\\x01\\x52\\xde\\x27\\xed\\xf7\\xc8\\xf4\\xb5\\x05\\xb6\\x4b\\x7b\\x3c\\xb8\\x7d\\x74\\x78\\xff\\x0a\\xd3\\x9d\\x11\\xa1\\xaf\\x40\\x96\\x9f\\xe2\\x3d\\x31\\xac\\xaf\\x35\\x82\\xbe\\x5e\\x4f\\x7a\\x16\\x93\\x16\\x09\\xcf\\xa3\\x12\\x9e\\xdd\\x94\\x85\\xc4\\x58\\xe2\\x34\\x0a\\x78\\x8e\\xe3\\x18\\xab\\x86\\xc4\\x58\\x16\\x8c\\x25\\x27\\x27\\x32\\x5f\\xe6\\xba\\xb1\\x1e\\x64\\x08\\x7a\\xbf\\x42\\xf0\\xb8\\xe2\\x66\\xa9\\xb4\\x9f\\xc6\\xad\\xc2\\x7a\\x5a\\x23\\xe8\\xfd\\x0a\\x61\\x5e\\xf2\\xf2\\xfa\\xee\\xcf\\x85\\xf1\\xf9\\xe8\\xeb\\x04\\x7c\\x91\\x31\\x0f\\xd9\\xf7\\x0b\\xe3\\xab\\xa0\\x17\\x49\\xfa\\x17\\x85\\x8f\\x8b\\xc7\\x7a\\x9f\\x21\\xe8\\xbd\\x48\\x5f\\xe4\\x7a\\x08\\xa2\\xaf\\x18\\xeb\\x7d\\x8d\\xa0\\xf7\\x22\\x3e\\x71\\x79\\xa0\\x7f\\xfa\\x8a\\x25\\xfa\\x06\\x0c\\x88\\xa6\\xef\\xa0\\x42\\x9a\\x03\\xa8\\xf7\\x6d\\x02\\xbe\\xa1\\x43\\x23\\xf7\\x0d\\xe1\\xfc\\x63\\xb9\\xc2\\xfb\\x74\\x50\\xdf\\x03\\x82\\xb4\\x2c\\x25\\xf3\\x2a\\xee\\xab\\x89\\x32\\x21\\xdb\\xa7\\xdb\\x60\\x21\\x90\\x95\\x64\\x76\\x53\\x53\\x65\\xf3\\x82\\xf7\\x0a\\xb0\\x9c\\xe4\\x08\\x72\\xb2\\xb8\\x8f\\x9c\\xa0\\x7d\\x02\\x3f\\x96\\x93\\x1f\\x22\\xec\\x3a\\x9c\\x3a\\x49\\x4e\\x8a\\x60\\x9f\\xd2\\xde\\x85\\x4c\\x3e\\xc3\\x6b\\xdc\\x75\\x11\\xb9\\x62\\x2d\\x6c\\x3f\\x8d\\xf3\\xfb\\xc2\\x08\\xf8\\x3a\\xd8\\xbe\\x0e\\xcb\\x73\\x53\\x44\\x3b\\x59\\x57\\xfa\\x45\\x5c\\x57\\x0a\\xfb\\x1f\\x59\\xce\\x8c\\xd7\\xaa\\x30\\x9d\\x4d\\x91\\xfe\\x47\\x9c\\x1a\\x82\\x47\\xf0\\x3f\\x85\\x51\\xfe\\x27\\x23\\x23\\x6a\\x7d\\x4a\\xf0\\x3f\\x4d\\x51\\xfe\\xc7\\xeb\\xed\\xb3\\xde\\x25\\xc3\\x17\\xf6\\x3f\\x59\\x59\\x7d\\xd7\\xd1\\xc2\\xf8\\xc2\\xfe\\x27\\x52\\x6e\\x10\\x7d\\xc4\\xff\\x14\\x46\\xf9\\x9f\\xc8\\x75\\x8c\\x3a\\xc9\\xff\\x34\\x45\\xf9\\x1f\\x8f\\xe7\\x8f\\xe8\\x0b\\xfb\\x9f\\xca\\xca\\x68\\xfa\\x88\\xff\\x69\\x8a\\xf2\\x3f\\x15\\x15\\x11\\xf8\\xd0\\xbc\\x61\\x39\\x2c\\xec\\xdf\\xff\\xc8\\xf6\\x49\\xf1\\x5c\\x62\\x39\\x6c\\xea\\xcf\\xff\\xc8\\x63\\x64\\x3c\\xee\\x47\\x51\\x4e\\x85\\xce\\x50\\xe0\\xdc\\x75\\x35\\x81\\x12\\xa7\\x45\\x18\\xf3\\x14\\x94\\x0b\\x81\\x69\\x24\\x17\\xea\\xec\\xbb\\x2e\\x47\\xf0\\xec\\x97\\xf0\\x0c\\xa1\\x1e\\xfe\\xaf\\x78\\x86\\x1e\\xf8\\x3d\\x3c\\xbf\\x88\\x78\\xa0\\xbc\\xed\\x20\\x78\\xc4\\x69\\x90\\xf0\\x84\\x04\\x3c\\x48\\xde\\x3a\\x61\\x38\\x09\\x61\\x0a\\x0b\\x23\\xe4\\xed\\x51\\x64\\x3f\\x05\\x3c\\xbb\\x43\\x5f\\x60\\xfb\\x19\\x25\\xb7\\x10\\xcf\\x19\\x91\\x1e\\x7a\\xf7\\x27\\xb8\\xa7\\x88\\x35\\x1e\\xc8\\x77\\xee\\x51\\xee\\x06\\x82\\x07\\xeb\\x45\\x86\\xa8\\x2f\\xdc\\x14\\xa4\\x2f\\xe8\\xb7\\xb8\\xdd\\x2d\\xac\\x41\\x6c\\x97\\xaf\\x7d\\x48\\x7a\\x34\\x01\\xb6\\xcb\\xd6\\x3e\\x60\\x7b\\x9e\\x6c\\xad\\xe1\\x17\\x31\\x8f\\x0f\\xdb\\x01\\x31\\xec\\x11\\x73\\x78\\xac\\x5f\\xe3\\x23\\xed\\x40\\x46\\x86\\x34\\xde\\x59\\x70\\x2c\\xaf\\xe0\\x79\\xec\\x12\\xe6\\x71\\x4b\\x1f\\x3c\\xad\\x10\\x06\\x9f\\x89\\x01\\x8b\\xc8\\x3c\\xce\\x16\\x56\\xbf\\x64\\xe3\\x25\\x78\\xf6\\x0b\\x78\\x14\\xea\\x21\\xd7\\x45\\x60\\xc1\\x30\\x91\\x78\\x50\\x1e\\xbe\\x94\\x8a\\xc0\\x24\\xe1\\xf9\\x45\\xa4\\x07\\x8e\\x6b\\x16\\x81\\x11\\xc3\\x2f\\x09\\xcf\\x6f\\x22\\x1e\\x38\\xae\\x91\\x91\\xbb\\x38\\x12\\x9e\\x47\\x25\\x3c\\xbb\\x43\\x57\\x88\\x1f\\x14\\xd5\\x5c\\xc2\\x73\\x46\\x1c\\x17\\xbd\\xfb\\xd3\\xbe\\xeb\\x9a\\xb3\\xe0\\x7c\\xbd\\x82\\xe7\\xb1\\x4b\\xe0\\xbf\\x93\\x8c\\x05\\xb6\\xdf\\x84\\xe6\\x05\\xfd\\x16\\xb7\\x1b\\xa4\\x35\\x8e\\x99\\xd8\\xff\\x0e\\x14\\xc6\\xf8\\x09\\x59\\x23\\x50\\xab\\xa3\\x72\\xd0\\xa3\\x62\\x9e\\x44\\x0d\\x7d\\x2e\\x62\\x75\\x57\\x5a\\xe3\\x98\\x89\\xe5\\x61\\x60\\x44\\x5c\\x8f\\x7f\\x8b\\xe5\\x61\\x02\\x69\\x67\\xb7\\xc8\\xfa\\xfd\\x45\\xca\\x7d\\x5f\\x66\\x96\\x88\\x6b\\xc6\\x51\\xfd\\xfe\\x26\\xf4\\x8b\\xf8\\x36\\x93\\xc0\\x88\\x26\\xb2\\x2f\\xfd\\x78\\xfd\\xe5\\xdb\\xc8\\xbd\\x2c\\x01\\xcf\\x19\\x29\\xcf\\x13\\xd6\\x68\\x92\\x93\\x65\\xf4\\xe7\\x61\\xbf\\x9b\\x6f\\x4a\\x67\\xb0\\x1e\\x29\\x6f\\x03\\xb1\\xd4\\x74\\xa4\\x25\\x03\\x06\\x48\\x7d\\x45\\xc3\\x5c\\xa4\\xfe\\x49\\x60\\xc4\\x19\\xe8\\x07\\xe6\\x7e\\x8c\\x07\\xd9\\x39\\x11\\x51\\xff\\xfd\\x1d\\x94\\xe0\\x44\\x64\\xfd\\xc3\\xed\\x05\\xb5\\xff\\x13\\xbe\\x43\\x12\\x5c\\x3f\\xf8\\x94\\x2b\\x24\\xb8\\x7d\\xd4\\xaf\\xbf\\x8f\\x4f\\x06\\x77\\x58\\x82\\x8b\\xc0\\x47\\xf2\\x23\\xec\\x7f\\x71\\x9e\\xa7\\xbc\\x2d\\xd4\\xda\\x6f\\xfb\\x45\\xa1\\x3d\\x26\\xaa\\xfd\\x7e\\xfe\\x01\\xdc\\x5e\\x1c\\xd5\\x7e\\x50\\x68\\xf7\\x44\\xb5\\xef\\xe5\\x9f\\xc0\\xed\\x23\\xa3\\xda\\x0f\\x09\\xed\\x24\\x5f\\xb3\\x49\\xed\\xfb\\xf8\\xde\\x7e\\xdb\\x0f\\x93\\x76\\x6a\\x0c\\xb4\\x39\\x0f\\x61\\xbe\\xcd\\x14\\xe6\\x5d\\x8d\\xe7\\x54\\xae\\xe3\\xd1\\x30\\x17\\x81\\x9d\\xc0\\xc8\\x64\\x23\\x1a\\xe6\\x7e\\x90\\x8a\\xf9\\x45\\x4b\\x88\\x8a\\xfb\\xed\\xef\\xa0\\x04\\x17\\xc9\\xff\\x68\\xb8\\xbd\\x60\\xc8\\xff\\x84\\xef\\x10\\x28\\xed\\x0f\\x5f\\x68\\x27\\x5e\\x8f\\xba\\x24\\xc6\\xf7\\xca\\xdb\\xf8\\x61\\xb8\\xfd\\xe9\\xa8\\xf6\\x8b\\x7c\\x33\\x6a\\xe7\\xcd\\x51\\xed\\xf7\\xf7\\x3e\\x8a\\xdb\\x2b\\xa2\\xda\\x0f\\x0a\\xed\\xd1\\xf0\\x7b\\x7f\\x07\\xfe\\x10\\x69\\xa7\\xb2\\xf8\\xf1\\xec\\x7a\\x4c\\xf7\\x6c\\x81\\xef\\x01\\xc2\\xd3\\xb4\\x34\\x89\\xa7\\xd1\\x30\\x17\\x41\\x0e\\x81\\x91\\xe9\\x7f\\x34\\x8c\\xa8\\x6f\\xb4\\x84\\xa8\\xb8\\xdf\\xfe\\x0e\\x4a\\x70\\x91\\xf1\\x16\\x82\\xdb\\x25\\x83\\xdb\\x0b\\x26\\xfe\\x2e\\x3e\\x39\\xdc\\x21\\x09\\xae\\x2f\\xbe\\x77\\x94\\x53\\x24\\xb8\\x7d\\x70\\x0c\\xa3\\x7e\\x07\\x9f\\x1c\\xee\\xb0\\x04\\x17\\x81\\x0f\\xcf\\xe3\\x27\\x98\\x9f\\xd9\\x7d\\xe6\\x51\\xde\\x2e\\x9f\\x47\\x79\\xbb\\x7c\\x1e\\xe5\\xed\\xf2\\x79\\x94\\xb7\\xef\\xfd\\x1d\\x78\\x61\\x1e\\xf9\\xcf\\x51\\x3b\\xd6\\xab\\x6c\\x41\\xdf\\x06\\xf4\\xdb\\x7e\\x98\\xb4\\x53\\x67\\xa1\\xbc\\x56\\x60\\xbe\\x75\\x92\\x79\\xa7\\x9e\\x25\\x73\\x2a\\x2e\\xcc\\xf5\\x03\\x73\\x91\\x7a\\x8d\\xc0\\xc8\\xf6\\x13\\xa3\\x61\\xee\\xa7\\xbe\\x13\\xf8\\x2f\\xad\\xf0\\xf5\\xdb\\xdf\\x41\\xea\\x23\\x01\\x4e\\x5a\\xe5\\xeb\\x17\\x6e\\xaf\\x04\\xf7\\xc7\\xf8\\x0e\\xfd\\x01\\xbe\\x6b\\xf1\\x7c\\x76\\x0a\\x76\\xf6\\x92\\x30\\x9f\\x7d\\xf1\\xc9\\xe1\\x0e\\x4b\\x70\\x11\\xf8\\x42\\x0f\\xa3\\x3c\\x0a\\xf3\\x3f\\x47\\x98\\xf7\\x66\\x69\\xde\\xe5\\xed\\xf2\\x79\\x97\\xb7\\xcb\\xe7\\x5d\\xde\\x2e\\x9f\\x77\\x79\\xfb\\xde\\xdf\\x81\\x97\\xcf\\xfb\\x2b\\x78\\x7e\\x73\\xfa\\xcc\\xbb\\xbc\\x5d\\x9c\\x77\\x92\\x9f\\xe4\\x8b\\xf1\\x3f\\xd4\\xf7\\x78\\xe2\\x3b\\x93\\x92\\x8c\\x11\\xf9\\x95\\x0c\\xe6\\x22\\xf0\\x10\\x18\\xd1\\x53\\xf7\\x03\\x73\\x3f\\x30\\x09\\x7e\\x49\\x44\\x54\\xdc\\x6f\\x7f\\x07\\x25\\x38\\x11\\x59\\xff\\x70\\x7b\\x41\\xe1\\xff\\x84\\xef\\x10\\x28\\xe8\\x0f\\x5f\\xe8\\x07\\x94\\xe7\\x60\\x7e\\x15\\x0a\\xf3\\xb4\\x07\\xff\\xde\\x18\\xd5\\x7e\\x91\\xf8\\x37\\xbe\\x3e\\xaa\\xfd\\xfe\\xde\\xcf\\x70\\xfb\\xf2\\xa8\\xf6\\x83\\x42\\xfb\\xfb\\x51\\xed\\x7b\\xf9\\x2e\\xdc\\x2f\\x13\\xd5\\x7e\\x88\\xb4\\x53\\x9d\\xb0\\xfd\\x7a\\x2c\\xaf\\xcb\\x04\\x7d\\xeb\\x25\\xba\\x24\\x9e\\x0c\\xef\\x07\\xe6\\x22\\x8c\\x00\\xa7\\x93\\x33\\xa9\\xbf\\x0b\\x73\\x3f\\x75\\x45\\x90\\x7b\\x11\\x51\\x71\\xbf\\xfd\\x1d\\x94\\xe0\\x22\\xf3\\x46\\x04\\xb7\\x5e\\x06\\x27\\xc6\\x35\\xfd\\xe1\\x93\\xc3\\x1d\\x92\\xe0\\xfa\\xe2\\xdb\\x89\\xf5\\x68\\x99\\xa0\\x6f\\x5f\\x0b\\x7a\\xd4\\x17\\x9f\\x1c\\xee\\xb0\\x04\\x17\\x81\\x2f\\x34\\x0b\\xc5\\x95\\x98\\x9f\\x03\\xc9\\x7c\\xf5\\xfe\\x82\\xda\\x7b\\x4f\\x47\\xb5\\x1f\\xec\\xf5\\xe2\\xf6\\xcb\\x51\\xed\\x87\\x7a\\xf1\\xf9\\x77\\x7e\\x0a\\x6a\\xc7\\xfa\\x40\\xda\\x0f\\x0b\\xfe\\xcf\\x02\\xe9\\x38\\x84\\xc7\\xb5\\x22\\x32\\xee\\x90\\x9d\\xf1\\x8d\\x86\\x91\\xe2\\x0e\\x59\\xde\\x10\\x0d\\x13\\x8e\\x3b\\x44\\x44\\xc5\\xfd\\xf6\\x17\\x8e\\x3b\\x44\\x64\\xfd\\xc3\\xed\\xfd\\x1f\\xf1\\x1d\\xfa\\x03\\x7c\\xe7\\x30\\xbf\\x57\\x08\\xfe\\xcf\\x24\\xf0\\xbb\\x2f\\x3e\\x39\\xdc\\x61\\x09\\x2e\\x02\\x5f\\xe8\\x25\\x68\\x5f\\x5e\\x44\\x7c\\x66\\xda\\x04\\xfd\\xba\\xa3\\xdf\\x76\\x49\\xbf\\xa2\\xda\\x25\\xfd\\x8a\\x6a\\x97\\xf4\\x2b\\xaa\\x5d\\xd2\\xaf\\xa8\\x76\\x41\\xbf\\x42\\x99\\xa8\\x1d\\xcd\\xaf\\xd0\\xbe\\xef\\x77\\xda\\x0f\\x0b\\xfa\\x48\\xe2\\x74\\x8b\\x14\\x57\\xf7\\xa0\\x53\\x3c\\xfd\\xe6\\x19\\x22\\x8c\\x82\\x29\\xfd\\x3e\\x02\\x42\\x16\\xf7\\x59\\xa4\\xb8\\xaf\\x87\\xfa\\xb8\\x4f\\x6e\\x1a\\x09\\x03\\xf1\\xe4\\xf4\\xcd\\x83\\x49\\x5c\\x64\\x91\\xe2\\x8e\\x1e\\x18\\xe7\\x53\\xfd\\xc6\\x61\\x22\\x0c\\xc4\\xd3\\x12\\x01\\x21\\xf3\\x8b\\x16\\xc9\\x8f\\xf5\\x50\\xa7\\x28\\xaa\\x5f\\xbf\\x2e\\xc2\\x40\\x3c\\x3f\\xf6\\xdd\\x6b\\x26\\x76\\xd6\\x22\\xd9\\x59\\x91\\x9e\\xbe\\x7e\\x42\\x84\\x81\\x78\\x92\\x23\\x20\\x64\\x76\\xc8\\x22\\xe9\\x79\\x0f\\xf5\\x3a\\x45\\xf5\\x6b\\xf7\\x44\\x18\\x88\\xe7\\x6a\\xdf\\x9a\\x19\\x22\\xe7\\x16\\x49\\x2e\\x7b\\xa8\\xcf\\x09\\x9e\\x3e\\x7a\\x2a\\xc2\\x40\\x3c\\x25\\x11\\x10\\x64\\xde\\x61\\x0e\\x2a\\xe5\\x67\\x06\\x2f\\xb4\\xc3\\x30\\x5e\\x31\\x2a\\x19\\x05\\xed\\xee\\x3b\\xff\\x51\\xb0\\x17\\xa9\\x57\\x22\\x61\\xe5\\xf9\\x66\\x14\\xec\\xfd\\x90\\xbe\\x30\\x6c\\x3f\\x79\\x5d\\x14\\xfc\\xc1\\x3e\\xf0\\x51\\xf9\\x62\\x14\\xfc\\x5e\\x14\\x83\\xff\\x1f\\xf0\\x1f\\xea\\x03\\xdf\\x0f\\x7e\\xe5\\x1a\\x09\\x7e\\x1f\\xe4\\xcb\\x9c\\xff\\x86\\x5f\\x06\\x7f\\xb8\\x0f\\x7c\\x54\\x7e\\x8a\\x6b\\xc7\\xc4\\x3c\\xd1\\x4b\\xf2\\x53\\x03\\x82\\x5f\\xd6\\xef\\xf7\\x8b\\x51\\xdf\\x63\\xa2\\xbe\\xe3\\x7c\\x15\\x7f\\xef\\x26\\x79\\x6b\\xd4\\xf7\\x83\\x51\\xdf\\x3d\\x51\\xdf\\x71\\xfe\\x2a\\xc3\\x3f\\x32\\xea\\xfb\\xa1\\xa8\\xef\\x98\\x3e\\x29\\x6f\\xf5\\x92\\x7c\\xf6\\x0f\\xbe\\x1f\\x8e\\xfc\\x4e\\x39\\xe0\\xf7\\xf5\\x8a\\x31\\x44\\x77\\xd1\\xf8\\xe1\\x7c\\xac\\x45\\xfc\\x02\\x71\\x7d\\xf4\\x3c\\x1a\\xf6\\x62\\x34\\xac\\x2c\\xef\\x22\\xb0\\xf9\\x12\\x2c\\xce\\xbb\\x24\\xd8\\xbe\\xf9\\x4d\\x34\\xfc\\xc1\\x3e\\xf0\\x91\\x79\\x13\\x82\\xdf\\x25\\x83\\xc7\\x79\\xd8\\x7f\\xc1\\x2f\\x87\\x3f\\xd4\\x07\\xbe\\x2f\\xfe\\x77\\xb0\\x1c\\x11\\x78\\x94\\x97\\xcd\\xf9\\x2f\\xf8\\xe5\\xf0\\x87\\xfb\\xc0\\x47\\xe5\\x69\\x10\\x3e\\x9c\\x2f\\x79\\x49\\x9e\\x26\\x9b\\xb7\\xa7\\xa3\\xbe\\xe3\\xb8\\x3d\\xfc\\x9d\\x37\\x47\\x7d\\xc7\\xf1\\xbb\\xec\\x7b\\x45\\xd4\\xf7\\x83\\x51\\xdf\\xa3\\x7f\\xbf\\xf7\\xbf\\xfc\\xfe\\x90\\xf4\\x7d\\x3e\\x89\\xe3\\xd1\\x77\\x29\\x7f\\xf3\\x92\\xf8\\x5e\\xf6\\xfb\\xe8\\xef\\x87\\x23\\xbf\\x53\\x16\\xf8\\x1d\\xc6\\x07\\x06\\x6c\\x13\\xb1\\xdc\\xa9\\x05\\x3b\\xb0\\xac\\xaf\\xfd\\x8c\\x82\\xc5\\x71\\x8e\\x1c\\x56\\x1e\\xef\\x10\\x58\\x93\\x08\\x8b\\xe3\\x1d\\x09\\xb6\\x9f\\xb8\\x22\\x0a\\xfe\\x60\\x1f\\xf8\\xa8\\x78\\x25\\x0a\\x7e\\xef\\xff\\x11\\xff\\xa1\\xff\\x01\\xbf\\x14\\xe7\\x60\\xb9\\x83\\x71\\xce\\x7f\\xc1\\x2f\\x87\\x3f\\xdc\\x07\\x3e\\x2a\\x3e\\x82\\xf0\\xe1\\x38\\xc5\\x4b\\xe2\\x23\\x99\\xdc\\x45\\x7f\\xbf\\x28\\xd9\\x2b\\x32\\xaf\\xf5\\x51\\xdf\\x71\\xbc\\x24\\xfb\\xbe\\x3c\\xea\\xfb\\xc1\\xa8\\xef\\xef\\x47\\x7d\\xc7\\xf1\\x93\\xac\\x7f\\x26\\xea\\xfb\\xa1\\xa8\\xef\\x99\\xe8\\xbb\\x14\\x37\\x79\\x49\\x3c\\xf5\\x07\\xdf\\x0f\\x47\\x7e\\x27\\xb1\\x13\\xda\\x13\\x22\\xb1\\x13\\xbd\\xf3\\xe5\\xbe\\x7b\\x2f\\x04\\xa6\\x5d\\x8c\\xc1\\xd4\\xb5\\xd4\\xb7\\xa4\\xbe\\x4e\\x16\\x3b\\x11\\x3f\\x66\\x91\\xfc\\x4c\\x0f\\x75\\x18\\xc1\\xc2\\x7e\\xa6\\xf6\\xef\\xaf\\xd1\\x1e\\x09\\x86\\x45\\x30\\xf9\\x32\\x5f\\x28\\xe2\\x48\\x67\\x4a\\x07\\x12\\x0c\\xf9\\x54\\xdf\\x78\\x8e\\xd0\\x74\\x46\\xa2\\x9b\\xac\\x51\\x4b\\x3b\\x3d\\x61\\x7c\\x22\\x8c\\x21\\x1d\\xc1\\xc8\\xf1\\xc9\\x61\\xf1\\x7a\\xe7\\x01\\xf1\\x9c\\x00\\x3e\\x1f\\x40\\xf6\\xcf\\x68\\xd9\\x79\\x37\\x72\\xe6\\x66\\xa6\\x08\\x43\\xdf\\x42\\x25\\x03\\x2d\\x82\\x91\\xad\\x9d\\x13\\x18\\x8b\\xb4\\x6e\\xda\\x13\\x2a\\x0f\\xaf\\xa7\\x86\\xdb\\x99\\x52\\x7e\\xa9\\xcc\\x9f\\x4a\\xe7\\x7e\\x04\\x39\\x05\\xa0\\x85\\xcd\\xa1\\x37\\x72\\x97\\x28\\x0d\\x15\\x73\\x5c\\xcd\\x41\\xdf\\x48\\x55\\x39\\x2f\\xa1\\x53\\x49\\xe8\\x51\\x1e\\x7c\\xa7\\xa8\\x9f\\xde\\xe8\\x32\\x54\\x06\\x36\\x95\\xd7\\xc5\\x74\\xa6\\x71\\x97\\x36\\x37\\xac\\xaa\\x29\\x9b\\x5d\\x75\\x9e\\x02\\x54\\x0b\\xdf\\x0a\\x5a\\x42\\x37\\x50\\x7a\\x4a\\x7f\\x22\\xa6\\x9b\\xa3\\x95\\xe8\\x5a\\x79\\x9f\\xf3\\x32\\x3a\\xd3\\x24\\xbf\\x9a\\xd4\\xa7\\xa4\\x42\\x69\\xba\\x54\\x67\\x8e\\xbf\\xaa\\x9a\\x75\\xef\\xb3\\xf0\\xa1\\x44\\xc5\\x3a\\xed\\xc0\\x62\\x93\\x75\\xfb\\x9c\\x48\\x1a\\x74\\xc7\\xd4\\x54\\x37\\x87\\x6a\\xd2\\x0b\\xff\\x17\\x12\\x20\\x0d\\x8b\\xd9\\xc7\\x99\\x59\\xdc\\x71\\xca\\x41\\x99\\x4e\\x5a\\xb9\\x98\\x6e\\x93\\x9a\\xa2\\xf2\\x2e\\xa0\\x22\\x7f\\xf4\\x02\\x5a\\x32\\x7a\\x19\\x59\\x78\\xaa\\x2d\\x81\\x16\\x9e\\xa7\\xa3\\x3b\\x33\\x46\\x56\\x0f\\x72\\x89\\xcf\\xd1\\x65\\x8e\\xaa\\x1e\\xe8\\x14\\xde\\xa0\\x63\\x1f\\x4f\\xc9\\x4c\\xc1\\x6f\\xce\\x25\\x67\\x25\\x0b\\x6f\\x05\\x32\\xd4\\x4e\\xf6\\x6f\\xcc\\xe3\\x4a\\x13\\x15\\x47\\xb9\\xa9\\x24\\x2a\\x31\\x10\\xe3\\x4c\\x48\\x70\\x58\\x38\\x5d\\xb7\\x51\\x4d\\xc5\\xa3\\xab\\x20\\x3e\\x20\\x1d\\x1a\\x85\\x97\\xf9\\xc5\\x4e\\x81\\xac\\x53\\x46\\xa8\\x58\\xa4\\x0f\\x67\\xd4\\x0e\\xad\\x74\\x09\\x2f\\xd4\\x66\\x8e\\x1a\\x3a\\xd0\\x29\\x3c\\x50\\x7b\\x67\\xf6\\x73\\xa8\\x5a\\xf1\\x99\\x6c\\x85\\x06\\x12\\x81\\x5e\\xa3\\x85\\x34\\xe0\\xc7\\x68\\xf9\\x77\\xa4\\x1a\\x45\\xc1\\x5f\\x5b\\x24\\x7f\\x87\\xe3\\xf0\\x3f\\x8a\\x1b\\x58\\x31\\x6e\\x10\\x60\\xfa\\xe0\\x48\\x47\\x79\\x43\\x7f\\x18\\xa4\\x3c\\xe4\\x31\\x2c\\xdb\\xb3\\x89\\xfc\\x6b\\x30\\x4c\\x84\\xde\\x22\\x7c\\x12\\x0c\\x92\\x7f\\x4d\\x04\\x3e\\x39\\x6c\\x68\\x3d\\x3e\\x57\\x62\\x91\\xd6\\x9d\\x7b\\xf8\\x4c\\xdc\\xfe\\x44\\x64\\x3b\\x53\\xda\\x3b\\x41\\x82\\xff\\x04\\xb7\\x67\\xf7\\x81\\x97\\xb5\\x8b\\xf0\\xf8\\xae\\x7f\\x59\\x0d\\xab\\x20\\xe7\\x34\\xd5\\xc9\\xe6\\x30\\x0c\\x96\\x31\\x03\\x65\\x7e\\x42\\x1b\\x88\\x09\\x0b\\xfb\\x9b\\x58\\x62\\xc3\\xc2\\x06\\x18\\xbf\\xc7\\xac\\x04\\xf7\\x85\\x45\\x0e\\x7c\\xf0\\x90\\x12\\x00\\x9d\\x22\\x2c\\x7a\\xfc\\x59\\x90\\x94\\xc6\\x7f\\xe0\\x91\\x70\\x0f\\x94\\x70\\x1b\\xfe\\x10\\xb7\\xdf\\xec\\x81\\xa8\\x64\\xb8\\xa9\\x90\\x62\\x35\\x00\\x4a\\xfe\\x2b\\x39\\x72\\x0f\\x48\\x4d\\xe3\\x3f\\x41\\xb8\\x4f\\x41\\xdc\\x8f\\x2b\\x6d\\x10\\x77\\x2a\\x95\\x10\\x88\\x49\\x32\\xc4\\x75\\xc7\\x5b\\xb4\\x06\\x35\\xdb\\xad\\x21\\x3d\\x38\\x3f\\x92\\xa4\\x3d\\xdc\\x4d\\x5a\\xff\\x82\\x2f\\x68\\xd1\\x68\\x1d\\x1c\\x52\\xcc\\xef\\x2a\\x41\\x98\\x90\\x21\\x7d\\xb5\\x41\\xcc\\x29\\x6b\\xb1\\x2d\\xef\\x24\\xb6\\xfc\\x55\\x8a\\xec\\xec\\x45\\xe7\\x9d\\xd8\\x96\\x77\\x0a\\xb6\\xfc\\x33\\x6c\\xcb\\x81\\xd5\\x1a\\x99\\x77\\x2a\\x87\\x12\\x18\\x54\\x87\\x7a\\x99\\x64\\x72\\xf7\\x83\\x3c\\x2a\\x2d\\x60\\x67\\x9c\\x79\\xce\\x49\\xce\\x35\\x4e\\x86\\x06\\x26\\x83\\x29\\xc9\\x44\\x9f\\x37\\x01\\xdc\\x05\\xa9\\x3d\\x0d\\xd7\\x9d\\xf6\\x8b\\x87\\x29\\xa5\\x4c\\x10\\x4f\\x0a\\xc4\\x93\\x98\\x97\\x38\\x29\\x71\\x4d\\xe2\\xef\\xe2\\x11\\x71\\x8c\\xc2\\x32\\x4c\\xc6\\xb4\\x1b\\x9f\\x0d\\x00\\x2e\\x57\\xd4\\x98\\xd6\\x29\\x4d\\x52\\x2e\\x7d\\x07\\xf5\\x0e\\x25\\xd4\\xd7\\x8a\\x36\\x1e\\x9f\\x4d\\x25\\x67\\x6b\\x1e\\x95\\xce\\xd6\\xe0\\xda\\xfa\\xc8\\xf3\\xc3\\x02\\xcc\\x4c\\x09\\xe6\\x16\\x8a\\xc6\\x36\\x5e\\x7e\\xee\\x79\\x3d\\x86\\xb1\\x48\\x6b\\xb6\\x72\\xd9\\x97\\xb5\\x13\\xd9\\x87\\xb2\\xb2\\x5d\\x90\\xf1\\x18\\xca\\x0c\\xe5\\x30\\x36\\x60\\xa0\\x95\\x51\\x72\\x98\\x82\\xde\\x3f\\x4c\\x21\\x4f\\xf8\\x8b\\x62\\x9e\\xd6\\xc9\\x05\\x36\\xb9\\x4c\\x6c\\x72\\x58\\xca\\xcf\\x3b\\xed\\x75\\xd3\\x4a\\x6a\\x0a\\xac\\xd9\\x47\\xc2\\x82\\x4e\\xf0\\x0f\\xfc\\xdf\\xf1\\x0b\\xa2\\x2e\\xe1\\x97\\x49\\x7a\\x44\\x07\\x82\\xb0\\x87\\x65\\x5d\\x47\\xa5\\x53\\xce\\x80\\x36\\xd9\\xe4\\x4c\\xb4\\xc5\\xc0\\x3e\\x74\\xa8\\x8f\\xcb\\xbe\\xb7\\x2e\\xf8\\x04\\x39\\x27\\xdd\\xe0\\x9b\\xc3\\x7e\\x4f\\xd2\\x71\\xaf\\xb9\\x70\\x50\\x7f\\x24\\xe7\\xe7\\x1d\\x71\\x23\\x66\\xb7\\x8d\\xb3\\x66\\xff\\xa9\\xaf\\xa4\\x8b\\xeb\\x10\\x58\\xce\\x97\\x11\\x39\\x7f\\xb7\\x9f\\xf3\\xee\\x18\\xa6\\x5d\\x5c\\xcf\\x50\\xd7\\x02\\x8a\\xc8\\x79\\x7c\\x7c\\xe4\\x7a\\x06\\x96\\xcf\\x65\\x44\\x3e\\x5f\\x25\\x72\\xfe\\x10\\x94\\x4f\\x57\\x40\\xcf\\x24\\xe7\\x25\\x4f\\x4a\\x5e\\x93\\xcc\\xd0\\x12\\x6a\\x41\\xba\\x7f\\xef\\xb7\\x50\\xb6\\x63\\xe1\\x6f\\x1d\\xbf\\xfb\\x5b\\x72\\x26\\xf1\\x02\\xb4\\x85\\x4b\\x71\\xde\\xb8\\x48\\x58\\xcb\\xcc\\xa6\\xd6\\x52\\xb2\\x1b\\x1b\\xfa\\x81\\xb9\\x08\\xf1\\x62\\x18\\x99\\x1f\\x41\\x34\\xdc\\x8a\\x75\\x83\\xf0\\x61\\xf7\\xd7\\x98\\x0f\\x11\\xf7\\x3e\\x20\\x98\\xbb\\xb1\\x6e\\x2c\\x13\\x74\\xe3\\x9f\\xa2\\x6e\\x88\\xe7\\x4d\\x65\\x67\\xeb\\x0f\\x88\\xe7\\x02\\xa4\\xf8\\x47\\x76\\xae\\x41\\x80\\x99\\x29\\x9d\\x1d\\x10\\xe3\\x1f\\xf9\\xf9\\xfb\\x16\\x0c\\x63\\x91\\xd6\\x6f\\x7b\\x7a\\x7f\\xc2\\x63\\xbe\\x29\\xb2\\x1d\\xea\\x46\\x96\\xb4\\x1f\\x73\\x11\\xe7\\x55\\xbe\\xf0\\x7e\\x0c\\xf4\\xed\\x9b\\xd8\\x3d\\xec\\x78\\xee\\xef\\xc2\\xdd\\x51\\xae\\x40\\x8c\\x52\\xab\\xd1\\xee\\x68\\x57\\x68\\xf4\\x0c\\x60\\x60\\x28\\x71\\xb9\\xe3\\xf9\\x42\\xe1\\x9c\\x36\\xd6\\x17\\x14\\xcd\\x60\\x3f\\xbe\\x9c\\x28\\xcb\\x92\\xec\\x77\\xb3\\xaf\\x4e\\xcc\\x7e\\x2b\\x9b\\xdd\\x43\\x14\\xc5\\x20\\xf8\\xea\\xff\\x1b\\x6e\\xac\\x2b\\x69\\xe2\\xad\\x06\\x97\\x05\\x45\\x01\\x09\\x61\\xec\\x44\\x4b\\x04\\xec\\x00\\x74\\xb0\\x47\\xe8\\x19\\x0a\\x0b\\xc4\\xad\\x3d\\x4e\\xd1\\x77\\xb4\\x43\\x74\\xd9\\x84\\x46\\x46\\x09\\xbe\\xde\\x06\\x69\\x53\\x29\\xd9\\x23\\xa0\\x32\\x8d\\x3f\\xe7\\x09\\xe7\\x43\\x16\\x29\\x5f\\xe9\\xa1\\x3e\\x10\\xa2\\xd4\\xdf\\xc9\\xfb\\x50\\xad\\x1d\\x86\\x8d\\xce\\x1d\\x45\\x1c\\x30\\x6e\\xf0\\xf7\\x8b\\x21\\xbc\\x3e\\x87\\x65\\x66\\x85\\xfc\\x6c\\x87\\x58\\x65\\x1d\\xc6\\x27\\xc2\\xc8\\xe2\\xe6\\x65\\xfd\\xc0\\x6a\\xf1\\x39\\x35\\x8b\\xb4\\x8f\\xd2\\xc3\\x1f\\xc2\\xed\\x45\\x91\\xed\\x70\\xbe\\xdf\\x0d\\xaf\\x3b\\x63\\x5a\\xdb\\xe4\\xf0\\xd1\\xed\\x61\\x78\\x9c\\xff\\xb4\\x49\\xed\\xe1\\xf8\\x78\\x0f\\xfd\\x2e\\x9e\\x43\\xcd\\x51\\x06\\x5a\\xbb\\x3c\\x6c\\xe8\\x88\\x69\\x6b\\x11\\xa6\\x49\\x9c\\x1c\\x04\\xbf\\x00\\xc6\\xb2\\x2b\\xb0\\x8d\\x8c\\x39\\x1e\\x36\\x8f\\xd1\\xb6\\x91\\x5e\\x21\\x59\\xc5\\x08\\x63\\x88\\xe4\\x06\\x84\\xde\\xe2\\xbf\\xa5\\xb2\\x38\\x25\\x94\\x20\\xe3\\x09\\x40\\xd3\\x2c\\x0d\\xbb\\xcd\\x33\\x02\\x1c\\x5d\\x9a\\x8d\\x29\\xc6\\xac\\x16\\x4e\\xf9\\xcb\\x17\\x8a\\x38\\x04\\x9b\\x04\\x61\\x3f\\xe1\\xd6\\x53\\xb1\\xd4\\xf0\\x40\\x32\\x54\\x12\\x9d\\x4e\\x4b\\x29\\x58\\x8a\\x63\\x19\\xa0\\x8f\\x61\\xb4\\x1c\\xb4\\x85\\x2a\\x86\\x53\\xa9\\x38\\x86\\x01\\x6a\\x25\\x80\\x88\\xd0\\x83\\x4b\\x79\\x10\\x9f\\x4f\\xf8\\x0b\\xf8\\xec\\x85\\xe8\\x5f\\x7c\\x24\\x7c\\x35\\xa7\\x18\\x95\\x5e\\xbf\\xd7\\x6f\\xf7\\xdb\\x95\\x76\\xa5\\x37\\xab\\x65\\x8d\\xff\\xd1\\x47\\x85\\xff\\xaf\\xe1\\xbf\\xe5\\x82\\xdd\\xfe\\x47\\x1e\\x2e\\x7d\\xec\\xb1\\xd2\\x87\\x1f\\xf1\\x77\\x13\\x7a\\xdf\\xe6\\xbf\\x05\\xc7\\x20\\x0d\\x1a\\x2a\\x3f\\x60\\x55\\xd3\\x1c\\xa5\\x62\\xa0\\x78\\x73\\x0a\\x2d\\xab\\x04\\xf0\\x2f\\x85\\x46\\x41\\xa1\\x67\\x8b\\xca\\x70\\xa7\\x30\\x28\\xc6\\xdd\\x19\\xc9\\xb5\\xa2\\xb0\\xaf\\x14\\x38\\x24\\x8f\\xd7\\x0f\\x8e\\x7d\\xec\\x5f\\xf7\\x73\\x13\\xa8\\x5d\\xe7\\x67\\x1f\\x7d\\xdf\\x7f\\xfd\\xaf\\xf3\\xb9\\xbf\\x5d\\x5f\\x8a\\xee\\xd0\\xaa\\x83\\x63\\xcc\\xc0\\xf8\\x73\\x02\\x66\\x15\\xab\\x50\\x33\\x8c\\x42\\x41\\x01\\x2d\\xc7\\xa8\\x19\\x35\\xc0\\x83\\xc2\\xd8\\x65\\xc8\\x11\\x6e\\x38\\x92\\x14\\x74\\x1d\\x96\\x5d\\xe9\\xc9\\x68\\xfa\\x79\\x9d\\xff\\x63\\x88\\x1f\\xd4\\xc2\\x21\\xdc\\x7e\\xbd\\xff\\xfd\\x0f\\x4b\\xd1\\x99\\x67\\x40\\xb9\\xc0\\x79\\xf6\\x04\\xbd\\x09\\xf2\\x5a\\x7b\\x1c\\x50\\x67\\x82\\x00\\xeb\\x11\\xba\\x54\\xc5\\xe5\\x65\\x17\\x7b\\xc1\\xf9\\x8b\\x17\\x31\\xdc\\x2d\\x60\\x1f\\x5b\\x4e\\xcf\\xef\\x07\\xee\\x96\\x0c\\x66\\x63\\x06\\xd8\\x47\\xe0\\x42\\x1f\\x41\\xb8\\xcf\\xfb\\xc0\\xa1\\xbb\\x15\\x92\\x33\\xd8\\x4f\\xfe\\xaf\\x70\\x74\\xa8\\x0a\\xca\\x65\\x43\\x68\\x1d\\x84\\x43\\x37\\x99\\xe9\\x38\\xf6\\x74\\x90\\x03\\x01\\x40\\x9d\\xc6\\xbf\\x40\\x37\\x39\\x5c\\x82\\xbf\\x53\\xa2\\xb7\\x8d\\xe1\\xdf\\x3b\\xcd\\xec\\x5b\\xe6\\xdf\\x68\\xf4\\xe7\\x07\\x93\\x27\\x5f\\x9e\\x3c\\x19\\xcb\\xf0\\x21\\x66\\x22\\x6b\\x81\\x32\\xc9\\x50\\xba\\x13\\x14\\xd8\\xdd\\x8e\\x84\\x12\\xfe\\x48\\x0d\\x3c\\x80\\xb5\\xf0\\x1f\\x43\\x17\\x7f\\x98\\xbb\\xd4\\xbb\\x9d\\x5e\\x00\\x61\\xff\\x04\\x61\\x6d\\x02\\x2c\\xa0\\x76\\xb7\\x83\\x30\\x2c\\xf8\\x13\\xfc\\x63\\x18\\xdf\\xc8\\x4c\\xa4\\x17\\xf4\\x6e\\x87\\x3c\\xd9\\xca\\xdf\\x41\\xff\\x07\\x5a\\x32\\x32\\x06\\x04\\x8b\\x79\\x02\\xa1\\xb6\\x82\\x64\\x08\\xd9\\x00\\xbf\\x23\\x48\\x48\\x03\\xed\\x65\\x26\\x32\\xbb\\xfb\\xe2\\x45\\x37\\xf9\\xd0\\x9f\\xf7\\x80\\x61\\x05\\x02\\x56\\x14\\x67\\xbc\\x08\\x69\\xf8\\x05\\xc3\\x2a\\x29\\x4b\\x40\\xad\\x00\\x88\\x68\\x74\\xd5\\x65\\x95\\x60\\x2e\\x11\\x35\\xe8\\x2f\\x66\\x00\\xa1\\x9e\\x5e\\x2b\\x1f\\x05\\x1e\\x09\\xc2\\xf3\\x12\\xc4\\xf3\\x6b\\x18\\x0f\\x4b\\xa1\\x8e\\x39\\xd4\\xb3\\x2f\\x12\\x0f\\xbd\\x83\\x8c\\xac\\x77\\xb5\\x7c\\x84\\x22\\x3d\\xa1\\xf7\\xf8\\x1d\\xac\\x0e\\xd0\\x18\\x8f\\xe9\\x09\\x09\\x4d\\x5e\\x14\\x16\\xf0\\x10\\x19\\x35\\xc4\\x42\\x46\\xbf\\x43\\xc4\\x12\\x0a\\x01\\x1a\\xd2\\x52\\xc7\\x5d\\x82\\x96\\xf7\\x1d\\xb4\\x97\\x05\\x2d\\xd2\\x3b\\x68\\xe5\\x02\\xcb\\xd6\\xcf\\xa1\\x6c\\x76\\x07\\xa4\\x53\\x8b\\xaa\\x94\\x28\\x46\\xc1\\xf4\\x04\\xd5\\x0a\\xa5\\xe2\\x19\\x38\\x66\\xd8\\x4b\\x95\\xac\\x54\\x88\\x49\\x31\\x73\\x7e\\xce\\xec\\x61\\xd2\\x94\\x8c\\xeb\\xd7\\x7b\\x5e\\xe1\\x1f\\xcc\\x00\\x0d\\xb9\\x54\\x68\\x06\\xe8\\xc8\\x60\\xce\\xff\\x36\\x97\\xbd\\xc3\\x75\\x29\\x1e\\x5c\\xcb\\x6f\\x8c\\xbf\\x04\\x7f\\xda\\x16\\xca\\x65\\x77\\x42\\xbc\\x56\\x54\\x97\\xa4\\xb5\\x18\\x2d\\x3d\\xc1\\x58\\xa3\\xde\\xf8\\x74\\xbb\\x5e\\x0d\\xc7\\xd2\\x13\\x54\\x30\\x2c\\xf3\\x74\\x3b\\x4b\\x51\\x52\\x17\\x71\\xf2\\xba\\x24\\xd4\\x93\\x0f\\xf6\\x94\\xa6\\x05\\xf0\\x0f\\xa1\\x6b\\x7a\\x1c\\xff\\x70\\x06\\x18\\x53\\xfc\\xf6\\x58\\x70\\x4d\\x06\\x7f\\x6f\\x47\\x06\\x98\\xef\\xe5\\x77\\xc3\\xff\\xe4\\xf7\\x7b\\x41\\xc3\\x04\\xe6\\x4d\\x44\\xc0\\x74\\xfe\\xde\\xf8\\x4b\\x2e\\xfe\\x61\\xfe\\x31\\xf8\\x5f\\xfc\\xbd\\x60\\x3a\\xfc\\x2f\\x30\\x0e\\xcb\\x62\\x2b\\x58\\xcb\\x3c\\xce\\xbc\\x02\\xed\\xa3\\xea\\x08\\x64\\x67\\xde\\x65\\xe1\\xe1\\x2b\\xe1\\xb2\\x9f\\x58\\x40\\x0f\\xef\\xbc\\x69\\xf6\\x03\\xe3\\x3a\\x6f\\x99\\xf5\\x28\\x58\\x7b\\xcb\\x8c\\xf6\\x07\\x27\\x6e\\x98\\x39\\xfe\\xa1\\xa9\\xe8\\x9e\\xc7\\xd7\\x51\\xad\\x1c\\x28\\xc0\\xf3\\xa0\\xa5\\xec\\x01\\x8d\\x1a\\xce\\x02\\xb8\\xa7\\x5d\\x85\\xdf\\x15\\x2f\\x14\\x5e\\x14\\xf1\\x08\\x4f\\x1e\\xa3\\xbf\\x99\\xfc\\x0a\\x40\\x57\\xf4\\x36\\x54\\x00\\x0a\\xff\\x49\\x57\\x80\\x02\\xfe\\x55\\xf1\\x6f\\xc9\\x76\\xb1\\xaf\\x41\\xfb\\x6e\\x7d\\x82\\x85\\xc6\\x56\\x41\\xa1\\xeb\\x05\\xb1\\x29\\xc1\\x37\\xe7\\x22\\x7b\\xeb\\xb1\\x66\\x35\\x83\\x0f\\xd8\\xb5\\xc8\\x22\\xd5\\x43\\x7b\\x34\\x1a\\xda\\xa3\\x4c\\xe1\\x37\\x80\\x61\\x59\\x05\\x12\\x09\\x74\\xa3\\x9f\\xf0\\x1b\\x50\\xec\\x81\\xbf\\xe2\\x47\\x83\\x0f\\x9a\\xd9\\xb5\\xf5\\xbf\\x26\\x70\\xb7\\x13\\x3b\\x69\\x82\\xbf\\xfb\\x86\\xbb\\x11\\x52\\x9f\\x10\\xd0\\x51\\x34\\xcd\\x31\\x2a\\xc0\\x71\\x8c\\x92\\xc1\\x06\\x4c\\x32\\x5f\\xc4\\x72\\xfd\\x7f\\xbc\\xbd\\x09\\x7c\\x14\\xc5\\xb6\\x30\\x5e\\xd5\\xd5\\xcb\\xec\\xfb\\x92\\x4c\\x96\\xc9\\x64\\x92\\x4c\\x16\\x48\\x42\\x26\\xc9\\xb0\\xa7\\x81\\x10\\x76\\x08\\x8b\\xc0\\x08\\x21\\x21\\x61\\x13\\x64\\xdf\\x05\\x04\\xd9\\x51\\x41\\x03\\x28\\xe8\\x55\\x44\\x45\\x40\\x14\\x91\\x3d\\x82\\x72\\x5d\\x10\\xbc\\x42\\xc0\\xed\\x5e\\xc5\\x0d\\xae\\xb8\\xe2\\xc6\\xf5\\x7a\\x5d\\x48\\xa6\\xf3\\x3f\\x55\\x3d\\x93\\x04\\xd0\\xf7\\xbe\\xf7\\xfb\\xbe\\xf7\\x0f\\xf4\\x4c\\x77\\x4f\\xd5\\xa9\\x53\\xa7\\xce\\x56\\xdd\\x55\\xe7\\xd0\\x76\\x7f\\x38\\x39\\xec\\x24\\xfe\\x98\\xbc\\xdd\\x90\\xcc\\x7f\\x86\\x0f\\x5c\\x07\\x43\\x4f\\x75\\xa1\\x4e\\xd0\\x00\\x7f\\x0a\\x1c\\x31\\x00\\x1c\\x9d\\x8e\\x68\\x45\\xc2\\x14\\x3c\\x85\\xd5\\x4a\\x19\\xb6\\x82\\xe8\\xf4\\xc5\\xa0\\x2a\\x73\\xf1\\x3d\\x31\\xc8\\x83\\x94\\x6f\\xaf\\x87\\x9d\\x2b\\x3b\\xb0\\x28\\x6a\\x88\\x5e\\xaf\\xd1\\x6a\\x0d\\x92\\x5e\\x0f\\x94\\xd7\\x12\\x9e\\x76\\xb2\\x19\\x78\\xd4\\x62\\x50\\xe8\\x04\\xa0\\xb2\\x3e\\xc3\\xbf\\x1f\\xf0\\x3d\\x00\\xfa\\x63\\x68\\x83\\xf7\\x62\\xe7\\x20\\x65\\x20\\x6d\\x82\\xf6\\x5f\\x62\\xfb\\x21\\xf7\\x00\\x7c\\x02\\xf3\\xe4\\x24\\x94\\x8d\\x42\\xa8\\x14\\x0d\\x46\\x53\\x0f\\xb7\\xef\\x5d\\x17\\x2e\\x69\\x5f\\x87\\xdd\\xb2\\x61\\x54\\xc9\\x40\\x38\\x4f\\xce\\xad\\x0b\\xa7\\x27\\xd3\\x1b\\xbe\\x51\\x30\\x1c\\x18\\x71\\x16\\x8e\\x33\\x02\\xf7\\xd8\\xc0\\x9d\\xe4\\x30\\x9f\\x9e\\x5e\\x08\\x05\\xf4\\x9e\\xba\\x30\\xaf\\x87\\x52\\x47\\x46\\xf1\\x0e\\x38\\xfd\\x18\\xf8\\x38\\xe7\\xba\\x4c\\xbb\\x95\\x63\\x2a\\xc6\\x54\\x50\\x14\\xd5\\xdb\\x39\\x54\\x3b\\xf9\\x71\\x10\\x17\\xd0\\x98\\x9c\\xfe\\x54\\xca\\x75\\xee\\xd6\\xf9\\x25\\xec\\x7f\\xf6\\x43\\xfa\\x9f\\xfd\\xb0\\x61\\x3b\\x77\\xee\\x09\\x25\\x74\\x34\\x6b\\xd0\\xcc\\xb2\\x17\\xca\\x56\\xac\\x4b\\x4e\\xca\\x2a\\x4c\\xed\\x92\\x1e\\xf2\\x95\\xde\\x7c\\x0b\\x7f\\xf0\\x07\\xf7\\xf6\\x72\\x23\\xf0\\xd2\\x17\\xbb\\xed\\x9c\\xdf\\xe9\\xd5\\xd1\\xe7\\x6e\\x7b\\x23\\x3b\\xb9\\xc7\\xba\\xfc\\x61\\xfd\\xee\\x8f\\x9c\\xbe\\xf9\\xde\\x7f\\x6e\\xbe\\xc5\\xfc\\x7c\\xae\\x2b\\xe9\\x4f\\x76\\x09\\xf5\\x36\\x11\\x2c\\x24\\x5c\\xe3\\x5b\\x49\\x7f\\xf0\\xd7\\xe9\\xb5\\xc0\\x7c\\xa4\\x17\\x48\\x7f\\xc1\\x25\\xd4\\x5b\\x02\\x48\\xa7\\x2c\\x62\\xb3\\x08\\xdd\\xcf\\xa0\\x81\\x90\\x0e\\x4f\\x67\\x32\\x59\\x81\\xd6\\x93\\xed\\xe4\\x59\\xa4\\x01\\x3d\\x4e\\xd0\\xf7\\xa3\\x08\\xd3\\xe3\\xe9\\x24\\x04\\xbe\\x2e\\xb6\\x4b\\x5c\\xdc\\x71\\x23\\xee\\xfb\\x9d\\xa4\\x1c\\x3b\\x26\\xad\\xc7\\xb7\\xf5\\xc2\\xd3\\xd3\\x95\\x8d\\xca\\x16\\x3f\\xab\\x9b\\x0d\\x75\\xa7\\x45\\xeb\\xf2\\x50\\x97\\x57\\xeb\\xd2\\xd9\\x65\\x10\\x66\\x97\\x38\\x5b\\xc2\\x65\\x47\\xa4\\xef\\x8e\\x19\\x95\\xa3\\xeb\\xfd\\xf8\\x36\\x3c\\x2d\\x5d\\xa9\\xed\\xa5\\x6c\\x81\\xba\\x3c\\x1a\\x00\\x1f\\x07\\x85\\x9e\\x51\\x79\\x36\\x23\\x9f\\x6c\\xd6\\x62\\x41\\x36\\x0a\\xbc\\xb0\\x6d\\x94\\x81\\xd7\\x71\\x04\\x34\\x75\\x4b\\xe0\\x37\\xfa\\x48\\xd0\\x6f\\xf7\\x61\\x90\\xeb\\xe6\\xef\\x9d\\x5f\\x6e\\xc2\\x19\\x91\\xf7\\x0a\\x71\\x4a\\x21\\x37\\xbb\\xe5\\x1c\\xef\\x21\\x7f\\xb9\\x76\\x1c\\x9b\\x94\\x9f\\x5a\\xce\\xd4\\x67\\x05\\xcf\\x0a\\xcf\\x0a\\x0f\\x88\\x06\\x9b\\x84\\xba\\xe3\\x9e\\xe2\\x5a\\xa6\\x7f\\x69\\xcc\\xba\\xd3\\x0c\\x0f\\xe3\\x21\\xc2\\x11\\x4c\\xb5\\x09\\x8d\\x9c\\x1c\\x04\\x5e\\xb9\\xf4\\x04\\xf9\\xfa\\x71\\xf8\\x0d\\x8a\\x60\\xb0\\x2a\\xe4\\xb9\\xa8\\x3d\\xa1\\xf8\\x76\\xda\\x6f\\x34\\xd4\\xe1\\xa1\\x07\\x46\\x69\\x35\\xf0\\x25\\x6b\\x47\\x19\\xb5\\x46\\x2d\\x8f\\x79\\x01\\xae\\x0e\\x8d\\xe2\\x6d\\x18\\xb1\\x5f\\x99\\xa9\\x43\\xad\\x32\\x38\\x52\\x3e\\x64\\xd8\\xdb\\x7d\\xfa\\xe8\\x37\\xe1\\x46\\x16\\xe3\\x94\\xe2\\xc8\\x2f\\x21\\x9c\\x12\\x5a\\x49\\x3f\\x94\\x8d\\xf4\\x93\\x3f\\x80\\x3d\\xca\\x97\\x0d\\x03\\x71\\xbc\\xf2\\x15\\xf1\\xd1\\x73\\x65\\x06\\x3d\\xbf\\x4e\\x17\\x98\\x51\\xa9\\x9c\\x22\\xea\\x74\\x1a\\x03\\x31\\x63\\xb3\\x81\\x18\\x8d\\x48\\x27\\x40\\x67\\x2c\\x7a\\xb3\\x19\\x14\\x04\\x6f\\x94\\x08\\x93\\x5d\\xab\\x2a\\xbd\\x31\\xf1\\xa5\\x8a\\xc2\\xea\\x0e\\x46\\x7d\\x3f\\x90\\xe2\\xa0\\xd5\\x5f\\xe4\\x73\\xfa\\xad\\x41\\xa7\\x2a\\xc9\\x27\\x41\\x4d\\x9c\\x3c\\x19\\x93\\x64\\x50\\x12\\xcd\\xb2\\xcc\\x35\\xb7\\x4d\\xa2\\xda\\x42\\x92\\xb4\\x88\\xe7\\xb5\\x3a\\x9d\\x41\\xc3\\x83\\x3a\\x16\\x74\\x44\\xf8\\xaf\\xb4\\x05\\xb1\\xaa\\xea\\xe2\\x51\\xdc\\x51\\x39\\x35\\x98\\xaa\\x0b\\xda\\x86\\xf2\\x28\\x3e\\xd0\\xac\\x30\\x70\\x93\\x05\\xda\\xb8\\x0a\\x6d\\x30\\xdd\\x4c\\x68\\x70\\x71\\x1a\\x5a\\x36\\xaa\\x66\\x0b\\x98\\x52\\x23\\x3e\\x92\\x3d\\xec\\x14\\xbe\\x74\\x0a\\xdc\\xba\\x0c\\x3c\\x4d\\xd9\\xd8\\x52\\xef\\x6e\\x24\\x52\\x3d\\x2b\\x62\\x50\\xeb\\x12\\xe0\\x06\\x7a\\xf2\\x26\\x3d\\x4b\\x71\\x48\\xc0\\x00\\xe1\\xea\\xd5\\xa8\\x2e\\x7c\\x41\\xe9\\xc5\\xfa\\x67\\x05\\x18\\x3f\\x82\\xcf\\x49\\x65\\x2a\\x5b\\xb6\\xf1\\x1a\\x9d\\x0e\\x4b\\x82\\x00\\xae\\x27\\xe0\\xa1\\xd7\\x30\\x44\\x9a\\xfb\\x45\\xd5\\xac\\x9a\\x5e\\x08\\x50\\xa2\\x0e\\x67\\x28\\x20\\xb9\\xb3\\x87\\xbd\\xfe\\xe3\\x8f\\xaf\\x0f\\xbb\\xf3\\xce\\x3b\\x01\\x37\\xe1\\xf0\\x27\\x9f\\x1c\\x3e\\x3c\\x73\\xe6\\x8c\\xd6\\xe3\\x66\\x04\\x7f\\xd9\\xa5\\x11\\x75\\xc4\\x88\\x75\\xe0\\xab\\xeb\\x4d\\x5a\\xa3\\x51\\x84\\xf1\\xd2\\xb7\\x68\\xda\\x28\\xf1\\xa2\\xa3\\x14\\x1b\\xa3\\xd6\\x23\\x14\\xd7\\x3c\\x40\\xca\\x23\\xcd\\xe3\\x83\\x71\\x2f\\x4e\\x22\\xbf\\xf3\\x8f\\x22\\x0f\\xca\\x94\\x1d\\x16\\x8f\\x5e\\x07\\x1e\\x90\\xd1\\xe8\\x70\\x88\\x5f\\x85\\xc1\\x15\\x32\\xf5\\x76\\x80\\x9c\\xaa\\x16\\xdf\\x63\\x39\\x5b\\x50\\x50\\x10\\x4b\\x41\\x91\\xd1\\x9c\\xe0\\xc3\\xd1\\x2a\\xcb\\x03\\x77\\xa5\\x9f\\x26\\xb3\\x6d\\xd7\\xd1\\xd6\\xd2\\x03\\x35\\xee\\x9d\\x46\\x92\\x35\\x65\\xd8\\xa8\\xb0\\x66\\x18\\x27\\xe1\\x65\\x6d\\x92\\xda\\xa6\\x55\\x8d\\x52\\x1e\\xc7\\x4d\\xf7\\xf8\\x06\\xb6\\xef\\xd1\\xa7\\x3c\\x35\\x9b\\x2e\\xee\\x61\\x7a\\xa7\\x69\\x32\\xb9\\x9f\\x5b\\x6e\\x91\\x84\\xea\\xa6\\xa3\\x91\\xfb\\xa3\\xcf\\xd0\\x6e\\x23\\x33\\xb8\\xbb\\xe0\\xde\\xa4\\xa6\\x55\\x91\\xf5\\xec\\xde\\xf3\\x50\\x6e\\x0f\\xbb\\x37\\xb3\\x69\\x4b\\xe4\\x3e\\x76\\x6f\\x4a\\xd3\\x02\\xf2\\x09\\x37\\x0b\\x66\\x62\\xf9\\xf8\\x62\\x44\\xdd\\x9b\\x50\\xdf\\x34\\x85\\x2c\\xe7\\x56\\x40\\xb9\\xdb\\x9a\\xee\\xa3\\xe5\\x40\\x76\\xa7\\x00\\xbd\\x5e\\x13\\x1e\\x42\\x3e\\x74\\x9b\\xdc\\xd3\\xed\\xa9\\x0e\\x27\\x63\\x17\\xae\\x0e\\x27\\xb8\\xcc\\x6e\\xaf\\x9b\\x33\\xbb\\xbc\\x2e\\xce\\x42\\xdc\\x2e\\xb7\\x4b\\x83\\x34\\x96\\xea\\xb0\\xde\\x98\\x60\\xcc\\x31\\x2e\\x32\\xde\\x63\\x14\\x8c\\x29\\x9a\\x72\\x4d\\x95\\x66\\x99\\xe6\\x7e\\x8d\\x60\\xd6\\x60\\x2d\\xd1\\x20\\x6f\\x75\\x18\\xd9\\xd4\\x6c\\xed\\x60\\x3a\\x2a\\x82\\x15\\xad\\x2d\\x09\\x18\\x12\\xe6\\x1c\\x51\\x0f\\xa3\\x39\\x75\\x65\\x12\\x66\\xe9\\x0e\\x58\\xc8\\x7a\\x98\\x13\\xc6\\xfe\\xe1\\x87\\xfb\\x1e\\x3e\\x79\\x1f\\xe6\\x1f\\x3f\\x56\\xdf\\x20\\x0d\\x2c\\x5b\\xb9\\xa7\\x4f\\x45\\x19\\x37\\x37\\x4d\\x99\\x96\\x8a\\x6f\\x4b\\x53\\xb6\\x64\\xe0\\xbd\\x69\\xf8\\x8e\\x93\\x2f\\xbd\\x8c\\x0b\\xf7\\xec\\x79\\x48\\x34\\x8e\\x18\\xa4\\x7c\\xf3\\xd6\\xd4\\x2a\\x7c\\xdb\\xb1\\xe7\\x8f\\xbd\\x7c\\x8c\\x3d\\x3b\\x18\\xda\\x54\\x4b\\xd7\\x77\\xd2\\xbc\\x03\\xa8\\x0d\\xea\\x22\\xfb\\xed\\xfe\\xcc\\x94\\x2c\\x21\\x35\\x3d\\x3e\\xbd\\x32\\xec\\x4d\\x90\\x13\\x93\\x69\\x3a\\x27\\x51\\x72\\xc6\\xdb\\xa5\\xd4\\xca\\xb0\\x51\\x63\\x93\\x78\\xd0\\x96\\xf5\\x6a\\x06\\x62\\x98\\xe2\\x79\\xe0\\x34\\x9a\\x5e\\xd9\\x1d\\xca\\xb0\\x16\\x86\\x6c\\xf4\\xf1\\x82\\xcb\\xcd\\x3e\\x04\\x5c\\x1c\\x12\\x44\\xde\\x8c\\xfd\\xa1\\x8c\\x80\\x84\\x33\\x02\\xd8\\xe5\\x26\\x4e\\x37\\x06\\xf7\\xeb\\xfe\\xf2\\xf5\\x71\\xab\\xb8\\xa4\\x82\\x55\\x45\\x3d\\xd2\\x7a\\xac\\xaa\\xae\\x70\\x2a\\x11\\xe5\\xef\\xb3\\xab\\xb0\\x34\\x55\\xb9\\x74\\x34\\xb0\\x2a\\xa7\\x34\\xa3\\x98\\x9b\\x09\\xea\\x69\\x7d\\x5a\\xfb\\x07\\x31\\xf6\\x8e\\xb8\\xb3\\xdf\\xf4\\xe3\\xf3\\x50\\xd3\\x94\\x25\\xdc\\x76\\xcb\\xec\\x45\\x26\\xeb\\xc3\\x97\\xab\\x0e\\x75\\x8e\\xf4\\x69\\xfb\\x42\\xe1\\x3b\\xe7\\xc5\\xd1\\x35\\x06\\xd3\\x12\\xfe\\xc1\\x42\\x4b\\xe3\\xee\\x6c\\x33\\x36\\x58\\x2d\\xdc\\xa3\\xde\\x3a\\xe5\\x1f\\x30\\x6e\\x43\\x61\\xde\\x7e\\x4e\\xb8\\x15\\xe5\\xa0\\x6e\\xb2\\xdf\\x6c\\xf3\\xda\\xee\\xb3\\x11\\x13\\xb1\\xc9\\x66\\xa3\\xd6\\x25\\x8a\\x09\\x3e\\x5f\\x66\\x65\\x38\\xdd\\xc7\\x13\\x57\\x82\\xab\\x2a\\x1c\\x97\\x60\\x47\\x2d\\x09\\xff\\x63\\xa9\\xf3\\xdf\\x2b\\xf0\\xd4\\xc3\\xb8\\xd0\\xb7\\x4d\\x34\\x0d\\x4d\\x28\\x28\\xb6\\x0a\\xa3\\x6c\\xc2\\x12\\x74\\x91\\xf3\\xd1\\x44\\xfa\\x6c\\x17\\xbd\\xc0\\x92\\x93\\x71\\x78\\xb9\\x2f\\xd5\\x5f\\x60\\xfa\\x97\\xc6\\xc3\\x0f\\x98\\xd9\\xbb\\x20\\xbe\\x6d\\xc7\\xbc\\xc2\\xea\\x7e\\x71\\xd5\\xc3\\xb0\\xf4\\x0f\\x65\\xa9\\x92\\x7f\\x02\\x77\\x3d\\x7f\\xe2\\x23\\xb7\\x72\\x59\\x7b\\xeb\\x80\\xa9\\xfb\\x6a\\xf0\\xb7\\xb7\\x4c\\xf6\\x1f\\x89\\xcc\\xa8\\xb8\\x7b\\xcb\\x78\\xf3\\xb7\\xe6\\xf2\\xbf\\x2c\\x2a\\x7a\\xb2\\x50\\x19\\x89\\x2f\\x35\\xe0\\x03\\xff\\x7c\\xf5\\xb5\\xee\\x93\\xe7\\x3e\\xad\\x9c\\xa3\\x32\\xfd\\x03\\xdd\\x3f\\x0e\\x76\\xc2\\x8a\\x86\\xca\\xed\\xf4\\x1a\\x83\\xd1\\x50\\x13\\x36\\x09\\xf9\\x46\\xd9\\xc8\\x99\\x8d\\x38\\xfa\\xed\\x35\\x72\\x46\\x10\\x76\\x19\\xf3\\xd5\\x61\\x8c\\xb5\\x66\\x33\\xaa\\x0e\\x9b\\x89\\x4e\\x6b\\xa3\\x61\\x0f\\x63\\xc9\\x08\\xd9\\x9c\\x8e\\xf2\\xdb\\xcc\\x99\\xcd\\x3e\\x2d\\x4c\\x93\\x54\\xce\\x02\\xaf\\xd6\\x1f\\xa2\\x9c\\xc6\\xf5\\xe8\\xce\\x2d\\xc9\\x8c\\xac\\x48\\xc7\\x1d\\x93\\x94\\x53\\x05\\xca\\xe5\\x82\\x7b\\x93\\xee\\x3d\\x4a\\x8e\\x67\\xf2\\x73\\x95\\xe7\\xdf\\x3a\\xf1\\x80\\xa2\\x60\\xee\\x01\\xf2\\xdc\\x5b\\x14\\xb7\\x08\\xc8\\xc8\\x51\\xa0\\x75\\x1e\\x1a\\x2b\\x77\\x48\\x35\\x99\\x4d\\x35\\xe1\\x0c\\x9d\\x5e\\x57\\x13\\xf6\\x23\\xbd\\x45\\x9f\\xa2\\x27\\x5a\\xbd\\xec\\xdd\\x67\\xfe\\xd1\\xcc\\x21\\xb0\\x1f\\xc4\\x6c\\xe6\\x1d\\x8e\\x84\\x79\\xe1\\x38\\x87\\x24\\xe4\\xf0\\x39\\xb3\\xc3\\x65\\x79\\x38\\x8f\\x8f\\x03\\x1c\\x2b\\xae\\x1f\\x02\\x26\\x23\\x9e\\x73\\x63\\x2a\\x0a\\x5a\\xcd\\x1a\\x4c\\xd8\\xef\\x0b\\x75\\xe5\\x68\\x66\\x09\\x76\\x14\\xa7\\x35\\x27\\x05\\x61\\x51\\x5a\\xd5\\x7f\\x26\\x4e\\xf2\\x15\\x14\\x87\\xf8\\xe5\\x25\\xbf\\x6d\\x8d\\xf4\\xcd\\xac\\xec\\x5f\\xa0\\x7f\\x31\\xe9\\x80\\xeb\\x40\\xd2\\x01\\x43\\x26\\x6a\\x7a\\xe7\\xa9\\xa7\\xad\\x3f\\x49\\xa5\\xdd\\x47\\x4d\\x88\\xd3\\xe0\\xe4\\x24\\xe5\\x33\\x17\\xfb\\xc4\\xa6\\x76\\x43\\x6e\\xc5\\x8b\\x27\\xdd\\xe9\\xc7\\x53\\x9e\\x79\\xb9\\x3e\\xbf\\xe7\\xb8\\xee\\x0f\\xcc\\x78\\x40\\x7e\\xf3\\xdc\\xaa\\x6d\\x79\\x03\\xca\\x66\\x2f\\xc9\\x82\\x2b\\xbe\\xc7\\xe8\\x5e\\x6d\\x59\\xee\\x15\\xdc\\xf4\\x59\\x53\\x67\\xfe\\xb8\\x40\\xb3\\x80\\xb6\\x91\\xe3\\xda\\x48\\xf1\\xd2\\xe0\\x70\\x3e\\x6e\\xeb\\x4c\\x14\\x0c\\xde\\xa4\\x78\\x8b\\xcd\\x9c\\x17\\x40\\x06\\x20\\xfd\\x29\\x9a\\x83\\xe7\\x1c\\x95\\x19\\xb5\\x0b\\x6e\\x6c\\x2b\\x0e\\xfd\\x61\\x8e\\x7e\\xb7\\x3d\\x28\\x45\\x35\\x22\\x4b\\x86\\x14\\xd0\\x83\\x00\\x91\\xe1\\xf8\\xfe\\x22\\x09\\xff\\x41\\x5e\\xfe\\xa1\\x65\\xe4\\x5f\\x4f\\xae\\x16\\x47\\x0c\\x76\\xdd\\xfb\\xf9\\x32\\x77\\x9b\\xba\\x05\\x9f\\x1b\\xb7\\x9f\\xe4\\x36\\x62\\x5b\\x1f\\xcf\\x4d\\xe9\\xf8\\x47\\x8c\\xc2\\xeb\\x3f\\x62\\xe9\\xf8\\xf3\\xb8\\x8d\\x8b\\x42\\x03\\xb4\\xca\\xdb\\x91\\x07\\x7a\\x28\\xbf\\x03\\x5b\\x35\\x7d\\xc5\\x62\\xd9\\xf4\\x44\\x09\\x28\\x05\\xb4\\x41\\x26\\xc8\\xcc\\x80\\xc3\\x69\\x5e\\x9d\\x27\\xc1\\x53\\x87\\x7b\\x1e\\x09\\xe7\\xd8\\x4c\\xa0\\xdf\\xe0\\x54\\x76\\x85\\xd3\\x13\\x61\\x62\\x84\\xdd\\x01\\x98\\x1e\\x26\\xe0\\x2c\\x8b\\xc3\\x96\\x21\\x60\\x82\\x62\\x79\\x5c\\xc0\\x9e\\x04\\x4f\\x56\\x14\\x44\\xd9\\x4a\\x4d\\xc1\\x08\\x1d\\x4e\\xa0\\x09\\xa3\\x68\\x52\\x49\\xc9\\xcf\\xd2\\x95\\xf8\\x88\\x5f\\xe5\\x33\\xfa\\xc2\\x2a\\x18\\xf0\\x8b\\x42\\x71\\xc8\\xef\\xc6\\x52\\x10\\x87\\xfc\\x67\\xc3\\x78\\xf0\\xb0\\x97\\x81\\x7b\\xc3\\x6b\\x7c\\x6b\\x12\\xe1\\x28\\x57\\x76\\xf6\\x7f\\xa3\\x5c\\x69\\x2a\\x57\\xaf\\x71\\xbf\\xb5\\x09\\x43\\x45\\xfc\\xac\\xde\\xb4\\x2c\\x41\\x39\\xa9\\xf7\\xe1\\x11\\x1a\\x0f\\x59\\x84\\xdf\\x54\\x8a\\xe9\\xb1\\x7b\\xe3\\x6e\\x65\\x22\\x7e\\x88\\x1e\\xf4\\xf4\\xd4\\xc6\\x9c\\x89\\xfd\\x7a\\x6d\\xc4\\xfb\\xe7\\x47\\x5e\\xa2\\xa1\\x4a\\x11\\xdf\\x74\\xb2\\xe9\\x17\\x7e\\x27\\xf4\\x55\\x87\\x82\\xa8\\x0b\\x1a\\x86\\xc2\\x72\\xdb\\x01\\x7d\\x07\\xd9\\xb3\\x9d\\xc9\\x36\\x8b\\xde\\x3e\\xac\\xac\\x6b\\xd7\\x92\\xcc\\xb4\\xe4\\xe4\\x1e\\xdd\\x4a\\x64\\xb9\\x04\\x77\\xa8\\x09\\x97\\xe0\\x12\\x3a\\x07\\x6b\\x5f\\x13\\xe6\\x45\\x8e\\xc4\\x35\\x4b\\x12\\x73\\xb4\\xa2\\x9e\\x63\\x30\\xa8\\x5a\\xd2\\x58\\x3a\\x1b\\x35\\x53\\x8b\\x9f\\x80\\x7f\\x97\\x42\\xe7\\x9c\\x30\\x03\\xed\\x82\\x43\\x0e\\x96\\x87\\xae\\xb0\\x39\\x93\\x8d\\xd3\\x61\\xc6\\xcc\\x20\\x9a\\xa9\\x82\\x61\\x93\\x53\\x4c\\x03\\x74\\x10\\x96\\x73\\xf9\\x86\\xe4\\x2e\\xec\\x5d\\x77\\xc8\\x8e\\x7d\\x59\\x4b\\x0f\\x63\\xf1\\x1d\\x6c\\x99\\x70\\x08\\x47\\x7a\\x0d\\x5b\\xd8\\xde\\xe3\\xe5\\x49\\x59\\x97\\xac\\xa5\\xd5\\x25\\x03\\xf0\\x42\\xa7\\x3d\\xd3\\xc2\\xa5\\xb5\\xad\\xe8\\x32\\x45\\xf1\\x77\\x2d\\xb5\\xf4\\x8f\\xeb\\x3a\\xa2\\x5d\\xa1\\xa3\\x7c\\xc4\\xa8\\xc4\\x15\\x8e\\x15\\xbd\\x48\\x6e\\xdb\\x44\\x67\\x51\\x61\\xef\\x41\\xfc\\x00\\x6e\\x43\\x64\\x96\\xd0\\xf3\\xbb\\xd9\\x9f\\xde\\x11\\x99\\x34\\xbc\\xaf\\xd1\\x3a\\x32\\xe0\\x70\\x17\\xb6\\x0f\\x0e\\xc8\\x0a\\x2f\\x1e\\xda\\xc3\\x28\\x18\\x74\\x49\\x99\\x1d\\x6c\\x9e\\x02\\x7f\\xaf\\x91\\xa1\\x69\\x25\\x7c\\xf7\\xce\\xed\\x95\\x85\\xbd\\xee\\x55\\x02\\x53\\x36\\x6c\\x98\\xa2\\x6c\\x4e\\x6a\\x27\\x4d\\xd1\\x77\\xe9\\x9c\\x89\\xd7\\xb2\\xe7\\xd0\\x4d\\x47\\x40\\xd7\\xfe\\x02\\x34\\x35\\x21\\x37\\xcc\\xb8\\xba\\xc8\\xbe\\x82\\x4e\\xe5\\xe1\\x50\\x81\\x25\\x21\\xad\\x3c\\x9c\\x92\\x60\\x37\\x70\\x0e\\xae\\x32\\xec\\x70\\xf0\\x82\\x60\\xaf\\x0c\\xd3\\x30\\xac\\xd7\\xe9\\xa3\\xa8\\xc8\\x23\\x35\\x4b\\x35\\xe5\\x0d\\x3f\\x66\\xc9\\xc6\\x39\\x29\\x68\\x27\\x51\\x82\\x14\\xb3\\xfc\\x40\\x19\\x45\\x25\\x98\\xe5\\xf3\\x04\\xb2\\xe5\\xe1\\x20\\xcd\\x88\\xc0\\x08\\x69\\xc6\\xa1\\x58\\xee\\x63\\x2f\\x4e\\xc6\\x78\\x44\\xe7\\x82\\x71\\xe7\\xb1\\x88\\xd3\\x97\\x2c\\x5a\\x37\\x53\\x3f\\xa0\\xa8\\x5d\\xdb\\x9e\\x7d\\xfa\\xf6\\x1f\\xce\\x3d\\xfd\\xc6\\x13\\x4b\\x67\\xe3\\xe3\\x38\\xa3\\xe8\\xae\\x8c\\x3e\\x2e\\xdc\\xa3\\x4b\\xea\\x89\\x6d\\x93\\x67\\x70\\xc7\\xb9\\x14\\xbf\\x1c\\x4c\\x28\\x4e\\x1b\\x37\\x80\\x23\\x91\\x88\\xd0\\xf3\\x81\\x75\\x7b\\x14\\xa5\\x38\\x72\\x9c\\x5c\\xe9\\x56\\xa4\\xac\\x5d\\xaf\\x78\\xea\\xbe\\x5d\\x74\\x57\\x6a\\xbe\\xaf\\x4b\\xf1\\xb6\\xcc\\x76\\x89\\x5a\\x6f\\xd7\\x70\\xc9\\xb1\\x4f\\xef\\x9c\\xd7\\x36\\x35\\xbd\\x28\\x77\\x40\\x77\\x5f\\x56\\x9c\\x25\\x7b\\x09\\xf0\\xd6\\x17\\x34\\xc6\\x11\\xd0\\x21\\x05\\xd1\\x37\\x67\\x79\\x68\\xf0\\xa1\\x04\\x97\\x37\\xc5\\x4b\\x25\\xc7\\x1a\\x6e\\x9b\\x9d\\x61\\x4f\\x21\\x79\\x5a\\x2d\\xc9\\x4c\\xb3\\x71\\x84\\xa3\\x77\\x8d\\x61\\xb3\\x1e\\x7c\\x67\\x21\\x2e\\xc9\\x66\\x14\\x48\\x73\\x8e\\xa8\\x98\\xe4\\x50\\x8e\\xa2\\x49\\xff\\x0b\\x9a\\xf5\\xb4\\x3d\\xc4\\xb4\\x33\\x01\\xde\\x70\\xb7\\x96\\x28\\x3f\\x09\\xb0\\x54\\x78\\x21\\x1f\\x48\\x92\\x17\\xa7\\xfb\\x41\\xa3\\x84\\xdc\\xc1\\xc0\\x32\\xcd\\x48\\x5f\\x17\\x33\\x26\\x9e\\xb3\\x9a\\xd7\\xf0\\xd9\\xc5\\x98\\xdc\\x5d\\xe2\\x0b\\xf7\\x5f\\xe4\\x7b\\xe0\\xde\\xdf\\x0c\\xda\\xe9\\x07\\x7f\\x33\\x6f\\xf6\\x91\\xa9\\x62\\xe7\\x35\\x16\\x5e\\x39\\xb1\\x4a\\xab\\xc9\\x4b\\x7c\\xda\\x4b\\xb8\\x8e\\x1f\\xee\\xc6\\xeb\\x94\\xf9\\x66\\x33\\xfd\\xdc\\xfd\\xe1\\x6e\\x65\\x1a\\xd6\\xaf\\x81\\x8f\\x8d\\xbb\\x13\\xfe\\xfa\\x48\\xd7\\x0f\\x57\\x0f\\xeb\\xda\\xb5\\x1b\\xf3\\x61\\xc1\\x93\\x10\\x8a\\xf8\\x0b\\x60\\x93\\x7c\\xa8\\xcb\\x51\\xbb\\xdd\\x2a\\x49\\x36\\x6b\\x42\\x37\\x33\\x1e\\x81\\x2c\\x78\\x24\\xdc\\x36\\xe1\\x2a\\x14\\x46\\x56\\xb8\\xb6\\x21\\x27\\x3b\\xb7\\xc1\\xfd\\xe6\\xac\\xb3\\x34\\xdf\\x69\\x9e\\xb5\\x43\\x5e\\x2c\\x11\\x32\\xf1\\x47\\x13\\xf5\\x10\\x7f\\x02\\x17\\x24\\x6a\\x8e\\xdc\\x20\\x81\\x89\\x31\\x17\\x7a\\xe3\\x99\\xf8\\xd0\\xbb\\xed\\xdc\\x55\\x77\\x3d\\x72\\xfa\\xed\\xab\\x7d\\xff\\xf2\\xee\\xac\\x27\\xe7\\xce\\xed\\x93\\x74\\xd7\\xdb\\xab\\xb2\\x56\\xff\\xfd\\x69\\xfe\\xc2\\xa6\\xdd\\x35\\x4b\\x95\\x2f\\x7f\\x9b\\x51\\x36\\x76\\x68\\x43\\x23\\x7f\\xa1\\x21\\x40\\x7c\\x91\\x43\\x5d\\x36\\x6d\\xe5\\x1e\\x89\\x0c\\x79\\xeb\\xbb\\xe9\\xaa\\xbf\\x98\\xaa\\x6c\\x11\\x86\\xb3\\x77\\x34\\xef\\xb2\\x77\\x48\\x6f\\x37\\x6d\\x6d\\xfc\\x0f\\x8d\\x45\\xd8\\x2e\\x1a\\x6f\\x08\\xfc\\x86\\x50\\xd3\\x77\\x82\\x19\\x6c\\x59\\x16\\x1a\\x25\\x17\\x66\\x38\\x5d\\xce\\x9a\\x30\\xb6\\x58\\x2d\\x35\\xe1\\x4c\\x64\\xb5\\x58\\x39\\x2d\\xb1\\xca\\x7e\\x97\\x4b\\xef\\xf1\\xa4\\xcc\\x0d\\x9b\\x93\\xb0\\x56\\x48\\xf2\\x48\\x7a\\x7e\\x6e\\x78\\x98\\x84\\x5d\\x12\\x96\\xf4\\xf1\\xd4\\x8c\\xb1\\x2c\\xe4\\xc1\\xe6\\x94\\xdd\\x34\\x9b\\x44\\xe5\\xf5\\x56\\xcc\\xc7\\x52\\x96\\xc6\\x72\\xab\\xd2\\x51\\x2d\\x01\\x55\\x1f\\xa4\\xc6\\x2c\\x96\\xe6\\x14\\xcc\\x18\\xcd\\x09\\x36\\x4d\\xb9\\x87\\x1f\\x57\\x35\\xe8\\xbe\\x81\\x55\\x93\\x2e\\xad\\x79\\xfb\\x32\\xde\\x9c\\xb8\\x42\\x8c\\x5b\\x91\\xb8\\x69\\x28\\x2e\\xf9\\xf8\\xd7\\xbb\\x9f\\x09\\x2e\\x18\\x50\\x79\\x7f\\x1b\\x3c\\x2b\\x51\\x59\\x10\\xc7\\xe3\\x35\\xf8\\xfc\\x1d\\xcb\\xbb\\x14\\xd7\\x0d\\x1e\\xfc\\xed\\x07\\x49\\xf7\\x67\\xce\\xda\\xf0\\xc5\\xbf\\x36\\xbc\\xd9\\x4e\\xbe\\x73\\xf6\\xfa\\xa1\\x3d\\xd5\\xfe\\xb1\\x18\\xca\\xc0\\xa3\\x76\\x94\\x25\\x3b\\xf4\\x76\\x04\\x12\\xa9\\xe1\\xcd\\x26\\x2b\\x8c\\xa7\\xd1\\x6a\\x13\\xb9\\x66\\x2e\\x04\\x35\\x16\\x8c\\x62\\xab\\x2a\\x6f\\xcc\\xa2\\xf8\\xda\\x59\\xd0\\x64\\xbb\\x7f\\xe0\\xf4\\x49\\x38\\x30\\x29\\x0f\\x7f\\x8f\\x47\\x44\\xae\\xe2\\x47\\xdb\\x2a\\x87\\x7f\\x53\\x76\\xbc\\xff\\xf0\\x60\\xe5\\xc2\\xcc\\xe9\\x24\\x8f\\x73\\x45\\xae\\xd0\\xe3\\xdb\\xc8\\x8b\\x5c\\xdb\\x0d\\xca\\x58\\xae\\x94\\xb6\\x5d\\x0e\\x6d\\xe7\\x42\\xdb\\x6e\\x54\\x25\\x17\\x20\\x87\\xd3\\x51\\x19\\x36\\xf3\\x16\\x62\\xb5\\x54\\x86\\x6d\\xd8\\xca\\xc9\\xe0\\xd6\\x48\\x46\\x43\\x25\\xf8\\x35\\x46\\x51\\x16\\xa5\\xca\\xb0\\xc8\\xc9\\x1c\\xa9\\x0c\\x73\\x9c\\xce\\x49\\x74\\x36\\x35\\xff\\x63\\xf4\\x99\\x34\\xcb\\xb7\\xd2\\xa1\\x83\\xaa\\x8a\\xe9\\x9d\\xd8\\x79\\x94\\xc0\\x52\\xba\\x24\\xd0\\x83\\xf8\\x42\\x42\\x28\\x9d\\x1e\\x34\\x0e\\xb1\\x44\\xa6\\x64\\xe2\\xdb\\xda\\x2a\\x0f\\xa6\\xe0\\xc9\\xb9\\xca\\x96\\x90\\x72\\x21\\x45\\x39\\x95\\x8b\\x3b\\xc2\\x67\\x5b\\xdc\\xa9\\xab\\x32\\xb9\\x2d\\x3f\\xb4\\x2d\\x3f\\xf6\\xfc\\x8a\\x6f\\x57\\x3c\\x05\\x87\\xf2\\xcd\\x8e\\x59\\xdf\\xce\\x7a\\x0a\\x0e\\xdc\\xfd\\xf3\\xcf\\x81\\x7e\\x02\\x42\\xca\\x9d\\xfc\\x1b\\xc2\\x27\\xc0\\xdc\\xc5\\xa8\\x1b\\x1a\\x84\\x46\\xa1\\x9e\\x72\\x6a\\xdf\\xec\\xcc\\xdc\\xce\\x66\\x73\\x52\\x30\\xc7\\x96\\x4b\\xca\\x13\\xe2\\x87\\xc8\\xe9\\xdd\\x4b\\xfd\\xcb\\x46\\x6a\\x93\\x6c\\xa5\\xf1\\xb6\\x90\\x40\\xa8\\xc2\\xab\\x2f\\xa9\\x2f\\x39\\x55\\xef\\xf9\\xd8\\x0a\\xf8\\xd6\\x5b\\x99\\x91\\xa8\\x87\\xfe\\xd4\\x5b\\xea\\x0b\\x0a\\x62\\xf9\\xcf\\x88\\x28\\xf9\\xa3\\x49\\xc5\\x5c\\xd8\\x65\\x8b\\xa6\\x00\\x16\\x63\\x79\\x64\\xdd\\x1e\\x1c\\x12\\xa5\\x22\\xba\\x04\\x83\\xe6\\x2f\\x15\\xd5\\xf4\\x41\\xaa\\xe2\\x4b\\xa7\\x79\\xb0\\xad\\x85\\x5c\\xc0\\x84\\x09\\x27\\x05\\x62\\xa9\\xe0\\xa9\\x13\\xf4\\xc6\\x2d\\x63\\x8b\\xfd\\x29\\x0e\\xf3\\x73\\x2e\\x7b\\x89\\xe3\\xb6\\xea\\x61\\xe3\\x23\\xb7\\xaf\\xdc\\x3c\\x6e\\x47\\xf5\\xed\\xd5\\xdd\\x47\\x17\\xcb\\x72\\xd0\\x9f\\xda\\xab\\x6f\\xfe\\xda\\x09\\x6d\\x1e\\xbb\\x45\\xea\\x92\\x91\\x97\\x52\\x96\\xd6\\x19\\xbf\\xe8\\x4d\\x6f\\x9b\\x92\\x95\\x18\\x29\\xef\\xdf\\xa5\\x66\\x49\\x8f\\xe2\\xe4\\x8e\\x6d\\x8b\\x8a\\x96\\xa7\\xa4\\x39\\xe2\\x9c\\x26\\x4f\\x8e\\x80\\xdb\\x6e\\x7a\\x38\\x47\\xf9\\x6d\\x6e\\x7e\\xe7\\xbb\\xf1\\x7b\\x9b\\x1e\\xde\\x4c\\x16\\x99\\x94\\x8f\\xbf\\x7b\\x43\\xd9\\xf0\\xde\\xf4\\xe9\\x43\\x07\\x96\\x8d\\xb5\\x73\\x5e\\xdc\\x7d\\x44\\x42\\x69\\x47\\x5f\\x07\\xdd\\x2d\\x99\\x7e\\x6b\\xa7\\x79\\x0d\\xf1\\x0f\\xcf\\x7c\\x7c\\xd6\\xb2\\x5b\\xc6\\x4f\\x0b\\xe3\\x4d\\x38\\xe3\\x35\\xac\\x33\\x95\\xfe\\xac\\x7c\\xa1\\x3c\\xb3\\xa9\\x6d\\x6a\\x28\\x2b\\x3f\\xab\\x7f\\x3f\\xd0\\x27\\xf4\\x5d\\xf1\\x97\\x30\\x27\\x49\\x03\\x8f\\xaa\\xad\\xec\\xc9\\xd5\\x78\\x93\\x92\\xe3\\x3c\\x12\\x4a\\xb4\\xc5\\xdb\\x4d\\xf6\\xea\\xb0\\xc5\\x94\\x80\\x32\\x61\\x0a\\x15\\x7d\\xde\\xa1\\x06\\xbb\\x62\\x91\\xbc\\xb1\\xfa\\x6c\\xd7\\x8c\\x6d\\xd1\\xcc\\xc0\\xd1\\x70\\x57\\x01\\x12\\x90\\x7c\\xd8\\x1d\\x62\\x26\\x97\\xa5\\x7a\\x15\\x93\\xb0\\xc3\\x4d\\x13\\x61\\xbd\\xbd\\x7e\\x6d\\x76\\xef\\xa5\\xf7\\x25\\xeb\\x5e\\x7d\\x75\\xf9\\xad\\x39\\x83\\xfa\\xf5\\x2b\\xd3\\x9d\\x9f\\x39\\x4e\\xf9\\x01\\xd7\\xac\\xd8\\xe3\\x32\\x5c\\xf8\\x3a\\xd3\\x27\\xcb\\xfa\\x6e\\xdd\\x3b\\x09\\x67\\x57\\xcc\\xe9\\x38\\xef\\xae\\x63\\xef\\x29\\xf7\\xdd\\xd5\\xe9\\xf4\\x19\\xdb\\x27\\x19\\x23\\x26\\xe7\\x7d\\xa1\\x5c\\x7d\\x65\\x27\\xfe\\xf6\\xa5\\x0b\\x3f\\x3f\\x57\\x7a\\xb9\\x51\\xb9\\x94\\xdd\\xa6\\x76\\x75\\x72\\xfb\\x07\\x6f\\x9f\\xba\\x83\\x3e\\x77\\xa2\\x32\\x56\\x0c\\x7c\\x1e\\x4f\\xe3\\xef\\x83\\x26\\x99\\x22\\xf7\\xb4\\xa6\\x55\\x86\\x2d\\xd6\\x14\\x6b\\xbe\\x75\\xbb\\xf5\\xaa\\x55\\x40\\x56\\xd9\\x5a\\x6e\\x7d\\xcb\\x7a\\xc9\\x2a\\x98\\x13\\xb4\\xf1\\xf1\\xc8\\x6f\\x74\\xea\\x12\\x9d\\xc4\\x85\\xe4\\x74\\x98\\xa1\\x23\\x0b\\xd8\\x90\\xfb\\x11\\x9f\\x42\\xac\\xc0\\x68\\x9c\\xdd\\xc6\\x65\\x81\\x14\\x10\\xb5\\xdb\\xec\\x55\\x54\\x25\\x7d\\xee\\x18\\x84\\xa9\\x35\\x7d\\xb7\\xa6\\xba\\x1e\\x63\\x2a\\x66\\xe6\\xa8\\xb2\\x4a\\xf3\\xdb\\xaa\\x86\\x41\\xe4\\x73\\x70\\xcc\\xd5\\xca\\xc2\\x92\\xaf\\x2b\\x16\\x0a\\x40\\x0a\\xec\\x3e\\x50\\xb2\\x8b\\xe6\\x15\\xe2\\x4b\\x6f\\x7e\\x61\\x9f\\x1e\\x37\\xd2\\x1a\\x76\\xcf\\x19\\xa0\\x7c\\x7f\\xfc\\xf5\\x0a\\xe5\\xc2\\xa6\\x79\\xee\\x79\\x96\\x79\\xa4\\xbd\\x32\\xde\\x82\\xff\\x22\\xea\\x94\\xf7\\x16\\xf7\\x55\\x76\\xe8\\xfa\\xe0\\x61\\x1d\\x16\\x6d\\xe5\\x43\\xd8\\xb4\\x6e\\xd5\\xc2\\xa1\\x0b\\x57\\xdf\\xaf\\xa4\\x71\\x3f\\x2d\\x1c\\x3a\\xd4\\xd4\\xfe\\xa7\\x60\\x10\\x2f\\xc8\\x62\\x73\\xca\\x61\\x4d\\x05\\xfc\\x0e\\x18\\x3f\\x17\\x4a\\x46\\x7e\\x14\\x92\\x93\\x3c\\x29\\xae\\x14\\x90\\x6d\\xef\\xd8\\xb0\\xcd\\xa6\\xe7\\xb0\\xec\\xb2\\x27\\x58\\xf5\\xd6\\xaa\\xb0\\x59\\xab\\xd1\\xb3\\xd9\\x64\\x74\\xce\\xe5\\xa9\\x67\\x21\\xcb\\x54\\xd1\\x15\\xfc\\xa1\\x34\\x3a\\xa9\\xa2\\x6f\\xc2\\x93\\xb1\\x5b\\xc8\\x00\\x5d\\x0e\\x72\\x41\\xc0\\x47\\xb2\\xc3\\xfc\\x51\\x20\\xe0\\x44\\x71\\x59\\xbb\\xd2\\x95\\xbd\\x0f\\x61\\xeb\\x61\\xf7\\x2e\\xf7\\xc6\\xa7\\xec\\xca\\xe7\\xc6\\x41\\xfd\\xf0\\x73\\xb7\\xff\\xf6\\xc9\\xb9\\x36\\xb9\\xbb\\x4b\\x17\\x94\\xe1\\x50\\xe7\\x41\\x95\\xb9\\xe7\\x5e\\xed\\x88\\x77\\x7d\\x85\\x37\\x7e\\x17\\xbf\\x70\\xae\\x69\\xff\\xe1\\xe2\\x07\\xd3\\x94\\x65\\x91\\x77\\x0e\\xba\\xf0\\xaf\\x55\\xb3\\x93\\xc9\\xf8\\xe4\\xa3\\xca\\x6f\\x33\\x95\\x73\\xfa\\xce\\xdf\\xaa\\x7e\\xcc\\x96\\xa8\\x1f\\xec\\x06\\x4f\\xd8\\x87\\xe4\\x43\\xcd\\x7e\\xaf\\x36\\x1c\\xa7\\x77\\x27\\xe8\\x9a\\xad\\x76\\xa2\\xe4\\x06\\xab\\x0d\\xde\\xaf\\xb7\\xc5\\x6a\\x9f\\x8d\\x5a\\x6d\\x6b\\x30\\xd8\\xca\\x58\\x83\\xbe\\x84\\xc9\\x94\\x9f\\x8e\\x07\\x7d\\x65\\xc0\\xc6\\x22\\x0b\\x07\\x60\\x40\\x32\\x8a\\x24\\x71\\xe7\\xed\\x3f\\xf8\\x70\\xfa\\x0f\\x78\\x64\\x17\\x9c\\xee\\xfb\\x21\\xe1\\x19\\xdf\\x9c\\x7c\\xe5\\x43\\xaf\\x52\\xb6\\x4b\\xb9\\x70\\x74\\xb6\\x0f\\xbf\\x80\\x47\\xdb\\xbe\\x2e\\x5f\\x67\\x36\\xa7\\x72\\x9a\\x73\\xbb\\xf1\\x69\\xa5\\xc3\\xee\\x73\\xbb\\x95\\xed\\xb8\\x8a\\x1e\\x70\\x7a\\x62\\xa8\\x7f\\x18\\x9d\\x87\\x7c\\x0f\\x36\\x2b\\x01\\x6c\\x56\\x3b\\xb4\\x55\\x6e\\xbf\\xda\\x88\\x05\\xe3\\x03\\x46\\xce\\x61\\x2c\\x35\\xee\\x30\\x92\\x97\\x8d\\xf8\\xa5\\x00\\x6e\\x13\\x38\\x1b\\xe0\\x12\\x02\\xb8\\x6f\\xe0\\xd6\\xc0\\x9e\\x00\\xd1\\x06\\x6e\\x0b\\x2c\\x0c\\x10\\x1d\\x31\\x07\\xbc\\x01\\xce\\x26\\x4a\\x71\\xf1\\x71\\xb4\\x67\\xb6\\x30\\x6f\\x8e\\xc7\\x39\\x24\\xde\\x2b\\x07\\x72\\xda\\x79\\xb9\\x64\\x6f\\xb2\\xea\\xbc\\x78\\xbd\\xd6\\x9c\\x9c\\xf4\\xea\\x70\\x0e\\x6f\\xd5\\x8f\\x0d\\x5b\\xed\\xad\\x1e\\x38\\xaa\\x1e\\x9c\\x15\\x48\\x40\\x3d\\xe1\\x98\\x99\\x83\\x6f\\x3a\\x7b\\x8b\\xfe\\xa9\\xaf\\xa7\\x99\\x45\\x63\\x09\\x1e\\x05\\x9a\\x7d\\x3d\\x8d\\x65\\x95\\x0f\\xc1\\xcc\\x27\\x04\\x9a\\x59\\x7d\\x34\\xd4\\x9c\\xc2\\x5f\\x94\\x84\\x84\\x94\\xdd\\xb7\\x9d\\xc5\\x2f\\xf9\\x1a\\x9f\\x49\\xff\\xf2\\xe7\\x51\\xd8\\x35\\x48\\x39\\xf0\\xed\\xe5\\x26\\x64\\x15\\xfa\\xf8\\xee\\xef\\xb6\\x73\\xa4\\x32\\x38\\x85\\x74\\x4d\\x1e\\x3f\\xea\\xc4\\x40\\xe5\\xab\\x3e\\xd8\\x7b\\xe9\\xec\\x55\\xc9\\x40\\x0e\\xec\\xbe\\xad\\xf3\\xee\\xdc\\x0e\\xeb\\xcf\\xa4\\xbf\\x74\\xea\\xf0\\x8e\\xd2\\x0c\\xd3\\xee\\x92\\xfe\\x9e\\xdd\\x81\\x76\\x72\\xc9\\xd1\\xa4\\x63\\xfb\\x9f\\x79\\x20\\xb9\\x4d\\x32\\xe2\\xd0\\x50\\xe0\\x53\\xfa\\xec\\xc3\\x8d\\x92\\x50\\xae\\xec\\xf6\\x58\\x9c\\x96\\xaa\\xb0\\x5b\\x06\\x1f\\xc5\\x6e\\x4e\\x10\\x13\\xaa\\xc2\\x46\\xad\\x24\\x02\\x7f\\xd6\\x07\\x63\\xcf\\x04\\x82\\x9e\\x68\\x6e\\x2f\\xe1\\x46\\xd6\\xa4\\x0f\\x01\\x04\\xf0\\xc0\\x1c\\x6e\\x3b\\x4c\\xfe\\x5f\\x57\\x36\\x3c\\x8d\\x13\\x8e\\x01\\x53\\x6e\\xda\\xe7\\x50\\x2e\\x1b\\x47\\x3f\\x37\\xaf\\x06\\x4b\\xaf\\x29\\x87\\xd2\\x77\\x25\\xcd\\xda\\xbb\\xe2\\x11\\x53\\x2e\\x3e\\xf2\\x25\\x7e\\xe4\\x1b\\xc7\\xfc\\xf9\\x8e\\xbf\\xee\\xed\\xfe\\x78\\x6e\\xe3\\x9d\\x59\\x7f\\x2d\\x54\\x96\\x67\\x9c\\xe0\\x5e\\xfb\\x47\\x7b\\x72\\x47\\x81\\xb2\\xb9\\xa9\\xa9\\xe9\\x2c\\x6f\\xe3\\xfe\\x29\\x19\\x2c\\x12\\x32\\x2a\\xcb\\x70\\x37\\xf6\\x2c\\xbb\\x4b\\xd3\\xcf\\xfc\\x29\\xa1\\x1c\\x19\\x41\\xab\\x14\\xa3\\x8e\\x68\\x9b\\x1c\\xee\\xd8\\x81\\xb4\\x0f\\x8d\\xf3\\xc2\\xfc\\xcb\\x5b\\xee\\xe5\\xf4\\x82\\xd7\\xef\\x4f\\xac\\x0b\\xe7\\xf9\\x07\\xf9\\x39\\xb3\\xbf\\xc4\\x5f\\xe9\\x9f\\xee\\xbf\\xe8\\x17\\xf4\\xc4\\x2f\\xdb\\x5d\\xbd\\xfd\\xd9\\x72\\x76\\xb0\\x2e\\x3c\\x25\\x0f\\x13\\x73\\x5e\\x65\\x1e\\x14\\xcf\\xcb\\xe6\\x25\\x4b\\x5d\\x38\\x45\\x92\\x25\\x0e\\x49\\xf9\\x52\\xb9\\x54\\x25\\xbd\\x25\\x41\\x79\\xa9\\xae\\xe9\\x65\\xd9\\x00\\x75\\x24\\x24\\x23\\x57\\x5d\\x18\\xb1\\xe1\\x66\\x56\\xb7\\x92\\x2a\\x99\\xa8\\x6f\\x53\\x59\\xd1\\xfa\\x66\\x74\\xcc\\x2b\\xc0\\xd9\\xa1\\x8f\\xb6\\x85\\x58\\xaa\\x6d\\xfa\\x5e\\xc3\\x5e\\xd8\\xf2\\x42\\x03\\x3b\\x5a\\xf9\\x3d\\x6a\\x32\\xee\\x24\\x2c\\x85\\xd4\\x77\\x1e\\x56\\x98\\x30\\x91\\x61\\x35\\x13\\x6f\\x7d\\x6c\\xfe\\xd9\\xe2\\x71\\x6b\\xee\\xe8\\xda\\xae\\x5f\\x51\\x49\\xce\\xa0\\xe2\\xc6\\x93\\xa5\\x19\\xc1\\x84\\xed\\x39\\x4f\\x56\\xdc\\x36\\xb9\\x62\\xe7\\xac\\x5b\\x2b\\x9e\\x22\\x8e\\xe4\\xfc\\x7e\\xa1\\xbb\\xc9\\xeb\\x6b\\x0c\\xcb\\xef\\x58\\x8c\\xf3\\x1f\\xfd\\x7d\\xd4\\x77\\xcf\\x86\\xb9\\x7e\\xf3\\xef\\xfa\\x75\\xc0\\xa2\\x95\\xff\\xc1\\xe9\\x2b\\x87\\x8c\\xd0\\xae\\x7b\\xf4\\xee\\x25\\x4b\\x71\\xfa\\x5f\\x56\\x2e\\x71\\xe9\\x7b\\x64\\xe7\\xcf\\xfd\\x77\\xe3\\xa3\\x20\\xdd\\x1c\\x5a\\xcd\\xd6\\x1b\\x3d\\x00\\x3a\\x36\\x0b\\xb4\\x54\\x4a\\x62\\x86\\xe4\\x70\\xf8\\x07\\x87\\x53\\x1c\\xe5\\x8e\\x65\\x8e\\xfb\\x1d\\xbc\\xd9\\x81\\xb5\\xc4\\x41\\x88\\x24\\xa1\\x21\\x61\\xc9\\xa5\\xbe\\xbe\\x8c\\x3e\\xa4\\x53\\x9d\\x8c\\x76\\xf9\\xe9\\x6c\\x21\\x18\\x66\\x59\\x16\\xc1\\x26\\x97\\x60\\x7b\\xec\\x0d\\x23\\x67\\xc6\\xa2\\x9a\\xd2\\x55\\x22\\x5d\\x39\\x6e\\x5e\\xf9\\xe4\\x9c\\x8d\\xb7\\xfc\\xba\\x53\\xf9\\x5e\\xcc\\x28\\xeb\\x9d\\xb1\\xbe\\x7f\\xea\\x2f\\xaf\\x6c\\x7c\\xb4\\x7c\\xeb\\xc7\\x77\\x07\\x24\\xbc\\x66\\xc4\\x9c\\xe4\\x6e\\xb7\\xac\\x19\\xf8\\xda\\xe4\\x29\\x17\\xde\\xfd\\xd2\\xd5\\xee\\x35\\x8f\\xeb\\xb5\\x7c\\xbc\\xfa\\xc0\\x89\\xb9\\x33\\x06\\x9f\\xdc\\xbd\\xaa\\xcd\\xdf\\xfc\\xbe\\x59\\xe4\\x54\\xcd\\x66\\xe5\\xf9\\x94\\x85\\x8f\\xb1\\xf9\\xeb\\x5e\\xf8\\xb8\\x02\\xbd\\x30\\xb2\\xec\\xf4\\xd9\\x34\\x33\\x83\\x23\\xa9\\x2e\\xec\\x30\\xeb\\xb1\\x48\\x4c\\xfe\\xba\\xb0\\x29\\x53\\x0e\\x64\\xd6\\x84\\x03\\x01\\xa3\\x06\\xb4\\x19\\x4b\\xb3\\x1a\\xcc\\x8b\\xa6\\x64\\xa0\\x23\\x17\\x2c\\x61\\xb3\\x2c\\x9a\\xae\\x11\\x07\\x01\\x69\\x7b\\x50\\x8b\\x53\\xa3\\x23\\x41\\xfd\\x8d\\xeb\\x06\\x8b\\xe6\\x7e\\xe9\\xd6\\xcf\\x94\\x74\\xe7\\x76\\x2c\\xbe\\x3c\\xc4\\xe2\\x5c\\xf1\\xb8\\x72\\x0d\\xaf\\x39\\x3e\\xe2\\xc1\\xc9\\x13\\x47\\xde\\xb2\\x49\\xce\\xcd\\xea\\x52\\xd0\\x26\\xa7\\x53\\xa1\\xd2\\x25\\x19\\x1f\\x4c\\x26\\x2b\\x47\\xee\\x8c\\xdc\\x21\\xf4\\x6c\\x9c\\x33\\x69\\x39\\xf7\\xc4\\xb5\\xe3\\x38\\xe7\\xb3\\x3b\\x71\\xf2\\x7d\\x33\\x26\\xcd\\x55\\xce\\xde\\xcb\\xe5\\x87\\xe7\\xff\\x26\\x0f\\x9f\\xf1\\x6b\\xe3\\x95\\x47\\x1e\\x61\\x36\\x32\\x83\\xdf\\x0b\\x32\\x68\\x86\\x7e\\xa4\\xa2\\x5c\\x54\\x20\\x27\\x7a\\x2d\\x6f\\x84\\xed\\xc9\\x6f\\x80\\xbd\\xb0\\xdb\\xbd\\x36\\xc2\\x1b\\x0c\\x19\\x67\\xc2\\x06\\xc4\\xb7\\x39\\x13\\xa6\\x6f\\x7d\\xa2\\x0a\\xc7\\x4d\\x27\\xde\\xea\\x2b\\x0e\\x07\\x47\\xd5\\x08\\xa7\\x3e\\x2a\\xe5\\xc1\\x85\\xf4\\x5b\\xd9\\xc4\\x51\\xf4\\xdb\\x0b\\x73\\xb0\\x15\\x18\\x4d\\xb0\\x70\\xfe\\x54\\xce\\x6a\\xb1\\x81\\x6f\\xc4\\xef\\xdd\\xa0\\xfc\\x7e\\xe0\\x79\\xe5\\xf7\\xfb\\x37\\x60\\xed\\xf3\\xcf\\x63\\xed\\x86\\x48\\xdf\\x2d\\x38\\xb8\\x61\\xcb\\x93\\xcb\\x37\\x3c\\x7f\\xc7\\xea\\xf2\\x61\\xd8\\xf4\\xe3\\x87\\xef\\xff\\x78\\xf5\\x1f\\x17\\xae\\x72\\xbf\\x7f\\xae\\x1c\\x7b\\x7a\\x0f\\x2e\\xfd\\xe2\\x33\\x5c\\xf6\\xcc\\x1e\\xe5\\xb8\\xf2\\x9a\\x72\\x94\\x94\\xdc\\x39\\x7d\\xc6\\x43\\x58\\x5a\\xaa\\x7c\\x3d\\xb0\\x06\\xa7\\xe0\\x12\\xe5\\x15\\xe5\\x92\\xf2\\x89\\xf2\\x1a\\xee\\x02\\x3c\\x85\\x48\\x5f\\xfe\\x88\\x70\\x06\\x81\\xb7\\x82\\x86\\xcb\\x5e\\x8b\\xd3\\xe8\\x4c\\x72\\x72\\x46\\xe2\\xcc\\xb7\\xb8\\x7a\\x3b\\x05\\x9a\\x7c\\xe8\\xcd\\x70\\x9c\\xd9\\xee\\xb5\\x73\\x76\\x93\\xa6\\xae\\xe9\\x2d\\xd9\\x01\\x3f\\xf4\\xd3\\x8c\\xd2\\x70\\x66\\x8d\\x57\\xc3\\x69\\x38\\x4f\\x3c\\xcd\\x76\\x4e\\xc7\\xeb\\x6c\\x01\\xf0\\x59\\x41\\x81\\xaa\\x49\\xad\\xc1\\x1c\\x66\\xec\\xa1\\xbf\\xf4\\x91\\x7c\\x91\\xcf\\x89\\xe9\\xa0\\xc1\\x79\\x48\\xa2\\xf3\\x3e\\x37\\x9c\\x05\\xed\\x2e\\xdc\\xe9\\xd1\\x6d\\xf8\\x13\\xbc\\x82\\x8b\\x5b\\x75\\x74\\x0d\\xf1\\xac\\x1d\\xbb\\xd6\\x43\\xd6\\x1c\\xdd\\x60\\x12\\x7a\\x29\\x04\\x47\\x56\\xae\\x54\\xea\\x2d\\x03\\x71\\x38\\xb2\\x14\\x8f\\x1d\\x39\\x52\\x79\\x0c\\x8f\\x1d\\x31\\x42\\x79\\x8c\\xbb\\x4b\\xb9\\x37\\x0d\\xfc\\xf2\\x02\\x1a\\xb3\\x90\\xc5\\x17\\x4d\\x97\\xed\\x36\\x04\\x16\\x9b\\x4f\\xf6\\xc4\\x19\\x44\\xad\\x46\\x5b\\x19\\x4e\\xd2\\xd8\\xa2\\xcf\\x46\\xe9\\x5f\\x1c\\x5b\\x54\\xa1\\xa6\\x08\\xb6\\xfa\\x8a\\xc0\\x25\\xa5\\x0a\\x91\\xf2\\x8e\\xcd\\x69\\x11\\x8a\\x3b\\x61\\xa7\\xcf\\xda\\x95\\x3e\\xd5\\xe0\\x26\\x2c\\xd8\\x30\\x62\\xb2\\x62\\x9d\\x23\\x4f\\x53\\xae\\x6e\\x68\\x78\\x68\\x6b\\xe3\\x06\\xe5\\xea\\x2c\\x79\\x86\\x62\\x9d\\x3c\\x62\\x03\\x3f\\xff\\xdc\\xd1\\xd5\\xe7\\xa6\\x29\\x6f\\x7d\\xae\\xbf\\x80\\x6f\\x7f\\x1a\\x0b\\x1b\\x36\\x28\\xd7\\x76\\x2b\\x9b\\x2f\\xe8\\x3f\\xc7\\xf9\\xd3\\xce\\xae\\x3d\\x7a\\x8e\\xad\\xaf\\x18\\xd3\\x74\\x91\\x5f\\xc1\\xf7\\x46\\x71\\xc0\\x2d\\x39\\x72\\xbc\\xf1\\x52\\xe2\\xd5\\x44\\x2e\\x31\\x11\\xc5\\x6b\\x2c\\xd6\\x1a\\x07\\xb6\\x39\\x30\\xef\\xc0\\x0e\\x70\\x37\\x4a\\x80\\x60\\x15\\xe0\\x5f\\x83\\x19\\xae\\xa8\\x67\\xca\\x87\\x8b\\xbe\\xf1\\xb7\\x01\\x3e\\xb1\\xa9\\x16\\x47\\x52\\x25\\xab\\xcf\\x9a\\xc1\\xcd\\xda\\xf6\\xd3\\xca\\x95\\xbf\\x6f\\xd9\\xfa\\xd3\\x9a\\x08\\x6e\\xb3\\xa4\\xe7\\x1d\\xfb\\x06\\x4c\\xec\\xbd\\x72\\xd7\\xed\\xeb\\x6a\\xf0\\x27\\x93\\x7c\\x9b\\x30\\xd9\\xf6\\x94\\xb2\\x71\\xa3\\xf2\\x9f\\x67\\x94\\xa7\\x53\\xf3\\x6e\\x5f\\xdc\\x65\\xe6\\xdc\\xae\\xe4\\x6a\\x7f\\xe5\\x17\\xac\\x19\\xc8\\x9e\\x21\\xb1\\x18\\xee\\x2f\\x83\\x0c\\x06\\x50\\x0e\\x0a\\xa2\\x10\\x2a\\x93\\x33\\xda\\xe4\\x1b\\x7d\\xc4\\xed\\x4e\\xae\\x0b\\x27\\xb8\\x8b\\x73\\xeb\\xc2\\xf9\\xee\\xe2\\x62\\x77\\x3e\\xc9\\x2e\\x6c\\x47\\x72\\x48\\xb6\\x8d\\xe8\\xea\\xc2\\x52\\x4b\\x80\\xd6\\x92\\xe8\\x1a\\x29\\x75\\x42\\x48\\x15\\x0a\\x4b\\x3a\\xcf\\x1e\\x71\\x04\\x58\\xca\\x63\\x6a\\x0e\\x03\\xcd\\xcf\\x37\\xd4\\x19\\x21\\xcb\\x79\\xcc\\xd9\\xb1\\x5f\\x0b\\x0e\\x84\\x44\\xa5\\x17\\xa4\\x38\\xc8\\xdf\\xbf\\x7d\\xf3\\xb2\\xf9\\xdc\\x63\\x7c\\x56\\xe7\\xee\\x5d\\xe5\\x50\\x5a\\x4d\\xd1\\xf6\\x55\\x53\\x16\\x3c\\xc6\\x65\\x66\\x76\\x6c\\xdf\\x6e\\x40\\xff\\x1e\\x19\\x9e\\xc6\\x75\\x23\\xc9\\xbc\\xc8\\x34\\xfd\\xf1\\x5b\\xb6\\xe3\\x29\\xbb\\x7a\\x1d\\x8f\\xaf\\x5a\\xf7\\xf3\\xe2\\x7b\\xab\\x6b\\x12\\x43\\x39\\xf9\\x45\\x81\\x1c\\x93\\x26\\x67\\x50\\x68\\xd6\\xfa\\x89\\x95\\xf6\\x82\\xcc\\x9c\\xfc\\xd4\\xb4\\x38\\x57\\x5e\\x19\\x9f\\x72\\xed\\xb8\\xd0\\x33\\xe2\\xfa\\xeb\\x5f\\xb9\\x2b\\x11\\x17\\xd7\\xab\\xf3\\xfb\\x74\\xfe\\x06\\x53\\x48\\x7e\\x35\\xdf\\x11\\x69\\x51\\x92\\x6c\\x16\\x85\\xa1\\x61\\x51\\xc4\\x1a\\x33\\xe6\\x86\\x86\\xb1\\x33\\xe6\\x9b\\xd2\\xb7\\xb3\\x59\\xcc\\xa2\\x53\\xdf\\x87\\x1c\\x6a\\xac\\x0d\\x70\\xb7\\xb4\\x89\\xbc\\x1b\\xe0\\xda\\x8e\\xc4\\x9e\\x33\\x17\\xcf\\xe0\\xd7\\xd9\\x5c\\x3c\\xae\\xe9\\x7b\\xfe\\x84\\xd0\\xd3\\x12\\xd0\\x5c\\x51\\x5e\\xa2\\xef\\x8c\\xa5\\x1f\\x3e\\xa4\\xb1\\x9e\\xbe\\x43\\xe7\\x22\\x87\\xe8\\x9c\\xdc\\x12\\xdf\\x1c\\x03\\x58\\x2d\\x3b\\x18\\xca\\x7e\\xfb\\xc7\\x65\\x53\\x9b\\xcb\\x36\\xfd\\xa7\\xe9\\x57\\xfe\\x05\\xa1\\xa7\\x8d\\xc2\\x7d\\x51\\x2d\\x7b\\x94\\x96\\xbd\\x8a\\xde\\x88\\x1c\\x45\\xf9\\xb2\\x97\\x27\\x5c\\x66\\x3c\\xfd\\xf0\\x66\\xe6\\x65\\x0e\\xca\\xbc\\x98\\xc9\\x63\\xe3\\x74\\xe3\\x45\\x23\\x88\\x30\\x7a\\x0b\\x71\\x15\\x74\\x79\\x6b\\x05\\xcb\\xab\\x51\\x52\\x54\\x14\\x5b\\x1b\\xf8\\x2b\\xff\\x4f\\x61\\x30\\xc0\\xfc\\x4e\\xd9\\xa4\\xc2\\x6c\\x54\\x61\\x5e\\x05\\x98\\x99\\x72\\x1c\\x80\\xeb\\x45\\x61\\xf6\\xf2\\xf6\\xca\\xeb\\xc5\\x95\\xf7\\xc2\\x28\\xd3\\x0c\\xf0\\x39\\x96\\x1b\\xe3\\x7a\\x58\\x49\\x0c\\x16\\xc5\\xef\\x07\\xe5\\xd1\\x3f\\x81\\xd5\\x95\\xc2\\xea\\xe6\\xed\\x96\\xd7\\x8d\\x2b\\xef\\x06\\x53\\x76\\xb3\\xd7\\xeb\\xfd\\x03\\x58\\x4d\\x1f\\x37\\xf7\\xf5\\x47\\xe5\\xb4\\x0a\\x6b\\x5b\\x4b\\x5f\\x8b\\xe5\\x34\\x00\\x93\\x45\\x61\\x65\\x79\\xb3\\xf2\\xb2\\x06\\x65\\x11\\x6c\\xca\\x33\\x95\\x98\\x06\\x99\\x2a\\x4d\\xd3\\x4d\\x4b\\x4d\\x22\\xd2\\x7a\\xb5\\x58\\xed\\x6e\\x0b\\x64\\xc0\\xb1\\x82\\xc6\\xb6\\xe4\\x07\\xda\\x44\\xce\\xc9\\x9e\\x19\\x68\\xd0\\x38\\xfe\\x24\\x4c\\xe1\\x8d\\x28\\xee\\x10\\x41\\xb2\\x1e\\xd5\\x61\\xee\\x40\\x58\\xa3\\x47\\x79\\xf5\\xea\\x3c\\x1c\\x7c\\x5d\\x97\\xdb\\x9f\\x11\\x28\\x2a\\xa6\\x93\\x52\\x9f\\xf3\\xab\\x0e\\x5d\\x61\\x6a\\x75\\xdf\\xd2\\xde\\x5d\\x3b\\x90\\x4f\\x70\\x56\\x8f\\xe5\\x0f\\xf4\\x49\\xeb\\xf3\\xc0\\xf2\\x1e\\xc3\\xd5\\x77\\x87\\xf3\\x9a\\x5e\\x23\\xc3\\xf9\\xa5\\x00\\xcf\\x29\\x6b\\x0d\\x7a\\xa4\\x9d\\xce\\x81\\x5f\\x8f\\xf2\\x4e\\x56\\x14\\x74\\x60\\x4f\\x83\\x60\\x8e\\x0b\\x90\\x5c\\x6e\\x67\\x46\\xc0\\xea\\xe7\\x3a\\xb5\\xd4\\x27\\xdb\\x5b\\x20\\x37\\xfa\\x6f\\xc4\\x4d\\x6b\\x90\\xe9\\x0b\\x73\\xc0\\x8d\\x33\\xa2\\xbc\\x73\\xaa\\xd1\\x03\\x70\\x19\\x01\\x0a\\x8b\\x4d\\xad\\x7d\\x45\\xe4\\x8b\\xd6\\x20\\xf0\\xd2\\xeb\\x90\\xbb\\x19\\x37\\xae\\x4a\\x8b\\xb5\\x62\\x0b\\x6e\\xe9\\xc5\\x21\\x0a\\x09\\xfa\\x0a\\x0a\\x30\\xc8\\xd5\\xb6\\x54\\x7f\\xa2\\x75\\xa7\\xaf\\xa3\\x9b\\x1b\\x79\\x65\\xad\\x49\\xa3\\x77\\x72\\x51\\xe2\\xed\\x0f\\xeb\\xa3\\x8b\\xeb\\xea\\x0b\\x2c\\x34\\x33\\xe6\\x75\\xe4\\x6b\\x85\\x6e\\x2b\\x42\\x72\\x4a\\xcb\\x79\\x2b\\x92\\x36\\x9f\\xb4\\xc2\\xdd\\x8d\\x7c\\xb2\\xc5\\x6d\\x30\\x55\\x39\\xb1\\xd3\\x86\\xf4\\x31\\xf2\\x9e\\x65\\x5d\\x60\\x9f\\x37\\xd0\\xb8\\x55\\x9f\\x5a\\x51\\xbb\\xf9\\xa4\\x35\\xd5\\x23\\x5c\\xcb\\x39\\x8d\\x81\\x3d\\xaf\\xa9\\x37\\x6b\\x93\\xc0\\x9c\\xa9\\xbd\\x6c\\x4c\\xb0\\xd8\\x50\\x3c\\x36\\x93\\x78\\x97\\x8c\\x08\\xf4\\x54\\x36\\xc0\\x74\\xdd\\xc5\\x9b\\x8d\\xd3\\x45\\x2c\\x6a\\x63\\x38\\x04\\x5b\\xde\\x42\\x31\\x64\\x04\\x9f\\xd3\\x67\\xff\\x13\\x84\\xf0\\x3c\\x7c\\x49\\x49\\x79\\xfd\\x66\\xac\\x26\\x95\\xf3\\x23\\xff\\x14\\x2f\\x34\\xa0\\xe9\\x0b\\x7e\\xa6\\xf0\\x3a\\xcd\\xd2\\x8c\\xb2\\x65\\x97\\x09\\xfc\\x3b\\xab\\xc9\\x24\\x26\\x24\\x25\\xb9\\xcb\\xc3\\x49\\x48\\xcc\\x2e\\x0f\\x8b\\xae\\xd8\\x34\\x06\\xc1\\xec\\x85\\x66\\x00\\xa4\\x3e\\x85\\x0e\\x47\\x7d\\x53\\xba\\xe0\\x1f\\x26\\xd2\\xb1\\x77\\xd6\\x34\\xe7\\xae\\x0d\\x53\\x45\\x4c\\xbd\\x23\\xfa\\xb0\\x85\\x9f\\xd9\\x71\\xf6\\xf6\\x73\\x8b\\x4f\\x9c\\x1f\\x7c\\xcf\\xb1\\x59\\x13\\xb7\\xa7\\x8b\\xd2\\x03\\x9b\\x7b\\x3c\\x58\\xd8\\x76\\xe6\\xb6\\x2f\\x7f\\x55\\xae\\xd8\\x17\\x0c\\x0c\\x6f\\x1a\\x5d\\x39\\xfc\\xae\\xbf\\x91\\xa7\\x97\\x29\\x6f\\x28\\xca\\x73\\xa3\\xcf\\xbc\\x30\\xef\\xd7\\x43\\x63\\x47\\xf5\\x1d\\xe0\\xd9\\xb9\\xbf\\x20\\xe3\\xad\\x3e\\xca\\x95\\xc8\\xd7\\x7d\\xc7\\x2e\\xfc\\x7a\\xce\\xe8\\xdb\\x40\\x81\\x72\\xc8\\x06\\xfa\\xf5\\x45\\xb0\\x2b\\x02\\x32\\x81\\x86\\x35\\x99\\x08\\x12\\x79\\xb1\\x2a\\xcc\\xdb\\x74\\x5c\\xf4\\x25\\x4b\\xec\\x8d\\x4a\\x08\\xfb\\xc0\\xd2\\xa6\\x93\\x8c\\x3c\\xc0\\x56\\x22\\x36\\xfc\\x2c\\x0e\\xe3\\xa7\\x1a\\x86\\x93\\x95\\x17\\xdb\\x78\\xb4\\x38\\xe4\\xfe\\xf8\\x33\\xbe\\xa6\\xe1\\xd1\\xcf\\x7e\\xe6\\x26\\xdf\\xbd\\x20\\xa0\\xfb\\xa0\\x4f\\x64\\x2b\\xf0\\xe3\\x24\\xa5\\x03\\x5f\\x03\\xf0\\x25\\x64\\x39\\x2a\\x70\\x55\\x61\\x81\\xb0\\x85\\x6d\\xcc\\xa4\\x83\\x61\\xa4\\xff\\x48\\x1f\\xa5\\x4c\\xb9\\x40\\x1a\\x94\\x0e\\x62\\xdc\\xef\\x5f\\x4b\\x86\\xdf\\x7e\\x86\\x7a\\x2e\\xa8\\x47\\xed\\x9d\\x9e\\xe6\\xd6\\x23\\xbc\\xc4\\x4b\\x95\\x61\\x4e\\xc3\\x13\\x0c\\x96\\x00\\x3c\\x04\\xba\\x34\\x9c\\xcd\\x04\\x4b\\xa2\\xcf\\xe0\\x80\\x9f\\x8b\\xb4\\x18\\x3c\\x15\\x9f\\x16\\xfb\\x9c\\x2e\\x6e\\x4c\\xe4\\x08\\x5f\\x01\\x66\\xc4\\x12\\xf9\\x98\\x84\\x94\\x0e\\xdb\\xb9\\x2b\\xdc\\x95\\xad\\x97\\x23\\xe3\\x23\\xc3\\x3f\\x67\\x72\\x32\\x9e\\xeb\\xc0\\x4f\\x22\\xf1\\xd1\\xb5\\x9b\\x7b\\xc3\\xf8\\x20\\x5b\\xbb\\x69\\x07\\x08\\xe3\\x41\\x7b\\x75\\xb8\\x74\\x49\\xb5\\x03\\xd1\\x75\\x34\\x16\\x51\\xfa\\x81\\xc9\\xea\\x09\\xfc\\x38\\x89\\xe7\\xde\\x89\\xae\\x0f\\xfd\\x4b\\x74\\x7d\\x28\\x5b\\xf1\\x72\\xa2\\x13\\x4e\\xe9\\x84\\x1f\\x57\\x57\\xe1\\xd1\\x36\\x3a\\x37\\x7d\\xc5\\xef\\x10\\x87\\x81\\x4c\\x66\\xc8\\x4e\\x6e\\x0e\\x59\\x49\\x36\\x13\\x98\\xc3\\xf3\\xbc\\x46\\xd2\\x01\\x6b\\x62\\x3a\\xc9\\x01\\x97\\x2b\\x8f\\x66\\xa9\\xae\\xaf\\x28\\xa0\\x8f\\x21\\x30\\x38\\x5b\\x76\\x1c\\xe4\\xf6\\xec\\x56\\x7e\\xaa\\xc3\\xa1\\x8f\\xf0\\x23\\xc7\\xe2\\xb9\\x9f\\x76\\x46\\x56\\xc1\\x34\\x8c\\x3d\\xef\\xb0\\xa3\\x93\\xfc\\x31\\xf2\\x01\\xcc\\xc8\\xd2\\x50\\x3e\\x7d\\x9e\\x2a\\xda\\xdd\\x3a\\x1d\\xc9\\x35\\x7b\\xb1\\x37\\xd3\\xe3\\xb6\\x58\\xcc\\x6e\\xec\\x46\\x79\\x15\\xc1\\x3c\\x10\\xf2\\x8f\\x2b\\x0a\\xea\\x0b\\xf2\\xd8\\xc2\\x61\\xf5\\x5d\\x46\\x20\\x9a\\x44\\x99\\x5a\\x78\\x37\\x63\\xb6\\xf4\\x54\\x29\\x66\\xfb\\x85\\x98\\xc5\\x87\\x4b\\xfe\\xd8\\xf6\\xe5\\x63\\xef\\xee\\xd5\\xfe\\x96\\xf1\\x5d\\x56\\x3d\\xf6\\xd8\\xaa\\xd1\\xf7\\xf4\\xee\\x38\\xb4\\xb2\\xe3\\xfd\\xdb\\x94\\x53\\x13\\x26\\xe4\\x8d\\xe9\\xda\\xb1\\x47\\x0f\\x65\\x4c\\xc7\\x5b\\x0a\\x3a\\xf7\\xe9\\xdd\\x35\\x38\\x8a\\xeb\\xb5\\xfb\\xa3\\x19\\xeb\\xaa\\x47\\xb7\\x7b\\xfb\\xc8\\x33\\x1f\\xcc\\xdd\\x70\\x5b\\x65\\xc1\\xbb\\x19\\x17\\xc6\\xcf\\x5e\\x50\\x35\\x61\\xf6\\xf9\\x65\\xb7\\x2e\\xa9\\xa8\\x99\\x73\\x3b\\xa3\\x07\\xdd\\x1f\\xb4\\x95\\x3f\\x0d\\xbc\\x66\\xd9\\x2f\\x70\\x75\\x98\\x3f\\x10\\x16\\xe8\\x32\\x70\\xf6\\x08\\x89\\xae\\xe3\\x2b\\x1c\\xc3\\x8b\\x0d\\x8f\\xf0\\xa7\\x1b\\xb6\\x8c\\xa1\\xe5\\x1f\\x69\\x52\\xf8\\x7c\\x5e\\x03\\x7d\\xb6\\xed\\x17\\xcc\\x50\\xfe\\x60\\x58\\xd0\\x53\\xee\\xa1\\x35\\xdc\\x56\\xe6\\x6d\\x25\\x63\\x27\\x38\\xa3\\xea\\x9b\\x18\\xeb\\x23\\x73\\xde\\x5e\\xbe\\xe2\\xdd\\xf9\\x13\\x4f\\x6e\\x7f\\xe2\\x65\\x8e\\x43\\x0f\\xfe\\xb8\\x6a\\xe5\\x4f\\x9b\\x15\\xc4\\x71\\x27\\x3e\\xff\\xec\\x55\\x85\\xe1\\x70\\x1a\\xf8\\x4a\\x14\\x2e\\x83\\xbe\\xf2\\x80\\xe2\\xb6\\x0e\\x09\\x9b\\x0c\\x18\\x89\\x43\\xc2\\x44\\xcd\\xa8\\xad\\xbe\\x10\\xc2\\xa9\\x54\\x0d\\x04\\x0b\\x8a\\xac\\xec\\x09\\xa8\\x53\\x85\\xee\\x10\\x71\\x75\\xce\\x68\\x47\\xf7\\xa2\\xbf\\xbc\\x77\\x62\\x64\\x8f\\x82\\x9e\\x03\\xca\\xdf\\x55\\x3a\\x98\\xa4\\x0b\\xf1\\xaf\\xf3\\x9b\\x0e\\xfd\\xcd\\xfe\\x51\\xfc\\xf8\\x31\\x0d\\x53\\x8e\\x9c\\x66\\x6b\\x89\\x50\\x25\\xb6\\xf1\\x53\\xf9\\x10\\x72\\x82\\x2e\\x98\\x28\\x77\\x71\\x05\\xf6\\x86\\x93\\x91\\x0b\\xf8\\x1a\\xa6\\x79\\x2e\\x39\\xcb\\xe7\\x4b\\xd8\\x1b\\x46\\x3e\\x8b\\x8f\\xd3\\x12\\x9f\\x5e\\x46\\x96\\xbd\\x61\\x0d\\x45\\x0f\\xc1\\xcf\\x48\\xb6\\xe9\\xf5\\xc2\\xde\\xf0\\x76\\x3d\\x36\\xeb\\xbd\\x7a\\x0e\\xf4\\x36\\x7b\\xba\\x6f\\x39\\xe9\\xf9\\x04\\xb4\\xd7\\xac\\x93\\xcd\\x8a\\xec\\xba\\x9b\\x2a\\xda\\x4c\\x6f\\x14\\xb1\\xf1\\x85\\x0e\\x84\\x9c\\x26\\x4c\\xae\\xbf\\x4b\\x47\\x9b\\xdd\\xae\\xee\\x57\\xdb\\x6f\\x65\\xb8\\xc7\\xbc\\xb2\\x69\\x8f\\x17\\x2d\\xde\\xb0\\x70\\xd0\\xea\\x59\\x25\\x0b\\x86\\xc1\\xbd\\xbb\\x46\\xf7\\x9a\\xdf\\x6d\\xe6\\xb6\\xa1\\xdb\\xfb\\x4f\\x28\\x4b\\x5c\\x3d\\x4b\\x9e\\xcb\\xfd\\x9c\\xe5\\xc9\\x0b\\xb4\\xfb\\xfb\\xb0\\xf8\\xfc\\x9c\\xd1\\x1f\\xb5\\xf5\\x2b\\xc9\\x6d\\x3c\\x6d\\x73\\xda\\xfe\\x7d\\x58\\xae\\x27\\xc5\\x38\\xfa\\xa3\\x36\\x69\\x14\\xf1\\x51\\x28\\x9d\\x9f\\x25\\xe4\\xc0\\x58\\xdd\\x22\\xe7\\x1b\\x00\\x6d\\x8c\\xf4\\xd8\\x20\\xe8\\xb5\\x16\\x49\\xa3\\xd5\\x80\\x7c\\x71\\x16\\x0e\\x9b\\x39\\xb8\\xc5\\x11\\x3a\\x31\\xd9\\x1b\\xb6\\x8a\\x82\\x51\\x97\\xa2\\xad\\xd2\\x72\\x5a\\xca\\xaf\\xc1\\x73\\xb1\\x57\\xb8\\x2d\\xeb\\x52\\x60\\x22\\xa2\\x5e\\xb0\\x87\\x39\\x21\\x2a\\x1b\\x3e\\x38\\x82\\x24\\xe8\\xf4\\x11\\x9f\\x93\\xc3\\x77\\xfd\\xfd\\xae\\xb7\\x71\\x97\\x9d\\x4a\\x12\\x57\\xbe\\xea\\xdd\\x15\\x3f\\x29\\x8f\\xef\\xe4\\x04\\xec\\x57\\x94\\x4f\\x70\\xdf\\x8b\\x98\\x53\\x94\\x8b\\xca\\x91\\x4f\\x54\\xb9\\x99\\x83\\x7e\\xe6\\x47\\xf0\\xe5\\xd1\\x75\\x6e\\x3d\\xf6\\xd3\\xe5\\x6d\\xe8\\x48\\x58\\xab\\x15\\xd8\\xda\\x36\\x74\\x30\\xcc\\xd3\\xa5\\x6d\\x48\\x76\\x86\\xa7\\xe3\\xc7\\xf0\\x3e\\x7c\\x1e\\xff\\x88\\x85\\x72\\x8c\\xcd\\xd8\\x8b\\x39\\x4c\\x87\\xa0\\xa2\\x79\\x1d\\x66\\x5c\\x5e\\x54\\x55\\xe0\\xe8\\x31\\x87\\x5c\\x6e\\x4c\\x52\\x0f\\xf2\\xe2\\xe6\\xcd\\x91\\xf6\\x9b\\x37\\xe3\\x71\\x9b\\x37\\x03\\x1f\\x8c\\x02\\x9e\\xaf\\x80\\x39\\x31\\x5d\\x73\\x65\\x3f\\x2a\\x01\\x25\\x24\\x91\\xe3\\x51\\x7c\\x5e\\x7d\\xbd\\x0a\\xc5\\x8a\\x9d\\x5a\\xcc\\x80\\x8c\\xe2\\xb9\\xc6\\x97\\x89\\xdc\\xa0\\xf0\\x88\\x9b\\x8f\\xbb\\xe1\\x5b\\x2f\\x2b\\x5f\\x2b\\xdf\\x5c\\x56\\x2e\\x5f\\xbc\\xa8\\xf2\\xd4\\x74\\x80\\x35\\x33\\x0a\\x2b\\x4e\\xd6\\xa9\\xc0\\x04\\x28\\xcd\\xc0\\x05\\x83\\x51\\xb4\\x40\\x0d\\x62\\x2b\\x05\\x38\\x9d\\xc8\\x8d\\x2f\\x03\\x50\\x98\\x3e\\xe0\\xa4\\xcb\\xd8\\x8d\\xe3\\x2e\\x2b\\x3b\\x95\\xbf\\x46\\xd6\\x31\\x80\\x1c\\xba\\x1b\\xe0\\x75\\xe7\\x3b\\xc1\\xcf\\x5a\\xd0\\x50\\x5a\\x36\\x27\\x34\\x0a\\x9c\\x86\\x49\\x1a\\x87\\x04\\xe6\\x35\\x20\\x36\\x0d\\x86\\x83\\x2d\\x4b\\x09\\x5a\\xb5\\xd8\\x9a\\xee\\x83\\xcf\\xbb\\xf1\\xc7\\xf8\\xe3\\xc6\\xbf\\x10\\x9b\\x32\\x5f\\x99\\xcf\\x2d\\xc2\\x2f\\x2b\\x72\\x64\\xd5\\x2d\\x1c\\xc2\\xb3\\x94\\x0d\\x74\\x0f\\x33\\x3a\\xc4\\x8f\\xe0\\x7e\\x02\\x59\\x4f\\xda\\x4f\\x18\\x61\\x8d\\x61\\x33\\x29\\x21\\x3f\\x82\\x06\\x2c\\xc1\\x98\\x12\\x34\\xaf\\x82\\x19\\x01\\xbf\\x1d\\x68\\x28\\xc2\\x14\\xe8\\x32\\x57\\xa5\\x0c\\xe3\\xba\\xaa\\x6b\\xeb\\x93\\x23\\x0f\\xf1\\x9c\\xf8\\x34\\xf0\\x93\\xe1\\xa0\\x45\\xcf\\xd4\\x44\\x3d\\x5d\\x57\\x0d\\xb2\\x6e\\x53\\x9f\\xd6\\xf9\\xd5\\x5d\\x72\\x4e\\x6e\\x5f\\xed\\x8e\\x07\\xca\\xc6\\x17\\xf8\\x03\\x39\\x49\\x09\\xae\\x60\\x4e\\xe4\\x21\\x29\\xf9\\x1b\\xac\\xed\\xd3\\x3e\\xd0\\x2e\\x2d\\x27\\x6d\\xcb\\x2e\\x55\\x17\\x9f\\x89\\x3c\\xc4\\xed\\xfb\\x03\\x78\\x41\\xab\\xa3\\x59\\x25\\xb2\\xad\\x76\\x45\\x5c\\x72\\xed\\xce\\x4d\\xad\\xe0\\x89\\x4f\\xff\\xf6\\xd9\\xf7\\x4a\\xc3\\xf5\\xf0\\x9a\\x7e\\xe1\\x72\\xf8\\xf7\\xb9\\x17\\x81\\x9f\\xe2\\x0e\\x03\\xcf\\xa9\\xcc\\x73\\x20\\x8c\\x1b\\xe9\\x93\\x1b\\x75\\x5b\\x0b\\x81\\x21\\xd0\\xf1\\xff\\xe4\\x72\\x6a\\x6b\\x51\\xac\\x4f\\x0c\\x07\\x82\\x5c\\xb2\\x96\\x23\\x84\\x17\\x38\\x05\\x5d\\x43\\xf4\\x9d\\x24\\x66\\xb3\\x31\\xa8\\xe7\\x87\\xe6\\x6b\\xc5\\xa7\\x7f\\xb9\\x1a\\xa5\\x01\\x6d\\x43\\x40\\xa9\\xb2\\x8e\\x17\\x04\\x11\\x4b\\xbc\\x42\\x5d\\x1c\\x68\\x08\\x35\\xaa\\x8e\\x04\\xb4\\x65\\x53\\xeb\\xd2\\x75\\xd0\\x50\\x9b\\x7b\\x21\\xf2\\x41\\x2d\\xf7\\x62\\x6d\\xc3\\x34\\x15\\x4f\\xda\\x66\\x0c\\x06\\xe1\\x79\\x09\\x89\\x44\\x69\\x8d\\x6c\\x6b\\x18\\x84\\x2d\\x78\\xd6\\x71\\x2f\\xd4\\x02\\xd2\\xd7\\x3e\\xe1\\x37\\x46\\xf1\\xa6\\x7d\\x05\\xbc\\x05\\xe4\\x3d\\xca\\x01\\x1a\\x44\\xe2\\xa8\\xc8\\x1c\\x0a\\x03\\x6b\\x51\\xf4\\x73\\x5a\\x90\\x60\\x6a\\x1c\\xba\\xc0\\x65\\x46\\x7a\\x89\\x4f\\x37\\xda\\x6b\\xa3\\xb4\\x62\\xfd\\x66\\x38\\x08\\x1c\\x47\\x71\\xb8\\xc6\\x40\\x1c\\xa0\\x20\\x6e\\xc6\\x21\\x08\\x38\\x64\\x52\\x1c\\xc8\\xf7\\x0d\\xcb\\x9b\\x69\\xc7\\x70\\x90\\xc0\\xe6\\x19\\x38\\x51\\x94\\x24\\x0d\\xd1\\x8a\\xca\\x0d\\x88\\xb4\\x00\\x6a\\xc1\\x86\\x91\\x14\\xf0\\xf9\\xa0\\x96\\x21\\xd4\\x9a\\x2e\\x0c\\x5e\\x40\\x06\\x9e\\x17\\xc1\\x51\\xd4\\x08\\x0a\\xb9\\x76\\x03\\x69\\x62\\xe0\\x9a\\x11\\xf3\\x33\\xd4\\x54\\xdc\\x7e\\xb9\\xca\\x6f\\x8c\\xc2\\x62\\xe3\\x24\\x81\\xd7\\x67\\x12\\x44\\x51\\xc3\\x69\\x31\\x00\\xa3\\x2b\\xe8\\x5b\\x31\\x05\\x7d\\xa8\\xcb\\x38\\xa3\\xb9\\x9f\\x4e\\x46\\x6d\\xfe\\x9f\\x74\\xc0\\x80\\x49\\x1a\\xa6\\x31\\x82\\x47\\x79\\x8b\\xe1\\x46\\xe1\\x71\\x9c\\x46\\x04\\x78\\xe4\\x9a\\x80\\xff\\x1b\\x78\\x56\\xda\\x5f\\x46\\xb9\\x4c\\x86\\x1f\\x23\\x7f\\x0c\\x3f\\x96\\x9f\\xb6\\x48\\xb6\\x0b\\x5a\\x2d\\xa7\\xd3\\x19\\x44\\x23\\x36\\x68\\xa1\\xbf\\x1a\\x15\\x49\\xb0\\xac\\x14\\x6a\\xf4\\xd9\\x73\\x0b\\xdc\\x60\\x6b\\xd0\\xbe\\x68\\xef\\x19\\x31\\x63\\x2d\\x30\\xac\\xb9\\xa6\\x5f\\xf0\\x7c\\xfe\\x7d\\x32\\x83\\xe9\\xd7\\x5c\\xd0\\x4d\\x1c\\xa7\\xe5\\x31\\x50\\x81\\x67\\xe3\\x23\\x44\\x62\\xa8\\x37\\xc4\\xfc\\x5f\\xdc\\xb2\\x76\\x36\\xaa\\x44\\x81\\x12\\x0d\\x5e\\x90\\x97\\x8b\\xb5\\xb5\\xca\\x56\\x55\\x66\\x38\\x3c\\x39\\xf2\\x10\\xa9\\x61\\x32\\x23\\xa1\\x14\\xd9\\xc4\\x11\\x49\\x24\\xa2\\x46\\x2b\\x71\\x40\\x5e\\x18\\xf2\\x82\\x92\\x20\\x15\\x9e\\x96\\x01\\xf7\\xb3\\x63\\x72\\x6d\\x2d\\x9e\\xa4\\xca\\x91\\xd6\\xd2\\x22\\x4b\\x80\\x9f\\x16\\x75\\x90\\xcd\\xbc\\x46\\xa3\\xd5\\xea\\xf4\\x22\\x5d\\xf5\\xaa\\xf0\\x12\\x43\\x91\\x8f\\xc4\\x24\\xab\\xa1\\x65\\xb5\\x80\\x8a\\x65\\x33\\x3f\\x01\\x09\\x9c\\xad\\xc4\\x8c\\xd1\\x81\\xcc\\xa8\\x7d\\xbf\\xb6\\x31\\x95\\xfa\\x86\\x93\\xa3\\x7c\\xa0\\x45\\x6d\\x65\\xa3\\x04\\xce\\xaa\\x86\\xe8\\x90\\x9e\\x13\\xb5\\x22\\x00\\x3e\\x1c\\xd6\\x36\\x6a\\x88\\xa2\\xae\\x42\\x41\\x41\\xc6\\x57\\x31\\xb8\\xce\\xe8\\x3e\\x03\\x2b\\xff\\xbe\\x72\\x2f\\x80\\x63\\xe2\\xcb\\x6f\\x6c\\x98\\x26\\xf8\\xa3\\x34\\x60\\xb8\\x0b\\x30\\x82\\x9d\\x64\\x13\\x2f\\xe8\\x75\\x82\\xce\\x60\\xd4\\x60\\x6c\\x14\\xb5\\x00\\xfa\\x68\\x58\\x8c\\xe8\\x5b\\x34\\x43\\x14\\xff\\x60\\x8c\\xc8\\x2d\\xed\\x30\\xdc\\xa3\\x9f\\x93\\xc9\\xd4\\x48\\x1a\\x50\\x89\\x13\\xa0\\x49\\xe8\\xc4\\xb5\\x63\\xfc\\x74\\xb5\\x1f\\xaa\\x6c\\x30\\x5a\\x85\\x64\\x93\\xc4\\x69\\x34\\x3a\\x3d\\x38\\xed\\x3a\\x49\\x89\\x8d\\x66\\x43\\x6c\\x34\\x23\\x7f\\x44\\x2a\\x75\\x48\\x8b\\x7c\\x51\\x65\\x02\\x44\\x02\\x85\\x82\\xe7\\x43\\xbf\\xae\\x65\\x91\\x4f\\x55\\xf8\\xa4\\x86\\xd1\\x29\\x57\\xb6\\xa8\\x74\\xd2\\x23\\x1d\\x10\\x47\\xbc\\x59\\x62\\xae\\x23\\x14\\x89\\x6d\\xc8\\xb0\\xea\\xc8\\x54\\x4a\\x27\\x55\\x4b\\xa9\\x82\\xc3\\xa9\\x70\\x5b\\xe8\\x24\\x4a\\x1c\\x96\\xb0\\xc1\\xa8\\xe5\\x79\\x83\\x4e\\xcb\\x30\\xd7\\x45\\x58\\x17\\x0e\\x43\\x17\\x24\\xac\\x8e\\x45\\x0b\\x33\\xb6\\xd0\\x89\\x3e\\xd4\\x2d\\xc2\\xf4\\xc3\\x47\\x6a\\x6a\\x23\\x69\\x9c\\x50\\xab\\xdc\\xcb\\x09\\x64\\xc6\\xb5\\x2c\\xa1\\x8c\\xf5\\xa2\\x96\\xe9\\x24\\xca\\xf3\\xc0\\x9b\\x94\\x4e\\x46\\xaa\\x42\\x80\\xa7\\x34\\x84\\xe8\\x45\\xb5\\x31\\x31\\x12\\xd3\\x4e\\x0d\\xcd\\xda\\x29\\xe7\\x06\\x8e\\x62\\x62\\xe5\\x6c\\xd6\\x99\\x1f\\x44\\xf5\\xe6\\x69\\xe8\\x9c\\xfa\\xdc\\x62\\x72\\x54\\x17\\x68\\x41\\x17\\xe8\\x35\\x82\\x96\\x13\\x38\\x1d\\x81\\x13\\xe6\\xbd\\x70\\x9a\\x46\\x31\\x2a\\x05\\x39\\xd7\\x31\\x94\\x2a\\xad\\x70\\xce\\xbd\\x53\\x8b\\xe7\\x34\\x6e\\xaa\\x7d\\x9f\\xe9\\x3e\\xfe\\xce\\x46\\x3b\\xe5\\xa7\\x28\\xde\\x51\\x3a\\x71\\x02\\xc0\\xd3\\x18\\x8c\\x3a\\x42\\x8c\\x1a\\x3d\\xc3\\x58\\xd3\\xc0\\x50\\x3f\\x1c\\xe6\\x22\\xd1\\x06\\xfe\\x90\\x4e\\xac\\x99\\xe8\\xe7\\xe4\\x5a\\xee\\xe3\\xc6\\x4d\\x20\\x75\\x78\\x4e\\xa4\\x41\\x7c\\xba\\xa1\\xb2\\x56\\x28\\x80\\x7e\\x30\\x7e\\xc2\\xf3\\x99\\xae\\x65\\xfc\\xa4\\x15\\x39\\x4e\\xaf\\x63\\xfc\\x74\\xed\\x7f\\xcc\\x4f\\xc1\\x28\\x3f\\x65\\xaa\\xfc\\x44\\x3a\\x5c\\x3b\\xa7\\xea\\x4b\\xa6\\x23\\x18\\x3f\\x81\\x75\\xa2\\x93\\x33\\xac\\xd3\\xf0\\xd7\\xa0\\x29\\xdc\\x62\\x65\\x6e\\xe6\\x27\\xac\\xc2\\x84\\x7f\\xa4\\x06\\x70\\x9f\\xa3\\xb2\\x14\\x55\\x6b\\xe4\\x7b\\x55\\xa7\\x31\\xb8\\x51\\x3a\\x69\\xf4\\x74\\x63\\x00\\xf0\\x13\\xc6\\x2a\\x3f\\x1d\\x0d\\xeb\\x1a\\x44\\xfe\\x5a\\xac\\x8d\\xc8\\x9f\\xcb\\x1d\\x6d\\xc6\\x17\\x54\\xf9\\xa9\\x71\\x13\\xf7\\x71\\xad\\x22\\xd5\\x46\\x1a\\xf0\\x1c\\xe8\\x05\\xff\\x78\\x63\\x71\\xed\\xf5\\x36\\x4e\\x8f\\xba\\x42\\x3f\\x40\\x4b\\xeb\\xf5\\x20\\xe5\\x30\\x2a\\x3a\\xe5\\xbf\\x62\\xa9\\x1b\\xf4\\xd4\\x75\\x6c\\xd5\\x6c\\xfc\\x62\\x06\\xf0\\x74\\x54\\x5b\\x35\\xeb\\x15\\x66\\x67\\xf4\\xa8\\x9d\\x6c\\xd6\\xe9\\x25\\x4e\\xd4\\x8b\\x06\\x62\\xd4\\x47\\x0d\\x2b\\x8c\\x7f\\xa3\\xa6\\x65\\xfc\\x9b\\x69\\x77\\x9d\\x75\\x65\\x4e\\x0b\\x65\\x33\\xd0\\x23\\x54\\x6f\\x47\\xad\\x2c\\xd3\\xbb\\xa4\\xb9\\x0d\\x02\\xa3\\x63\\x46\\xbd\\x64\\xab\\x49\\x10\\xac\\x08\\x9b\\xb5\\x5a\\x83\\x06\\x6b\\x2c\\x56\\x83\\x99\\xf5\\xc7\\xd0\\xc0\\xd4\\xb0\\xac\\x05\\x3d\\xac\\xe3\\xae\\x69\\x91\\xc2\\xb8\\x3a\\xf6\\xca\\x17\\x47\\x5b\\x8d\\x99\\x0c\\x4c\\xdf\\x3f\\xa8\\x06\\x49\\xe5\\xbe\\x86\\xda\\xda\\xf7\\x99\\x26\\x63\\xec\\x17\\x79\\x48\\x6b\\x01\\x06\\x6c\\x4c\\xd5\\x5a\\x18\\x0b\\xb6\\xb2\\xf7\\x7a\\xd4\\x59\\xb6\\x6a\\x29\\x71\\x0d\\x46\\x60\\x42\\xb0\\x81\\xff\\x35\\x1b\\xb6\\xe6\\xc3\\xeb\\x18\\xd1\\xdf\\xcc\\x8a\\x31\\x5e\\xfc\\xe5\\x2a\\x68\\xb7\\x66\\x3d\\xd4\\x4c\\x57\\x1b\\x78\\x17\\x7a\\x9d\\xa8\\x33\\x22\\x83\\x5e\\x50\\x34\\x37\\xb9\\x18\\xc1\\xd6\\x3c\\xd9\\xca\\xcf\\xa0\\x74\\xd5\\x01\\x4f\\x32\\x4b\\xd6\\xec\\x6f\\xf0\\x77\\x02\\x59\\x11\\x69\\x6e\\xa3\\x99\\xae\\xa2\\x4e\\xa7\\xd5\\x13\\x4e\\xcf\\x59\\xac\\x46\\x49\\xb2\\x98\\x8c\\xac\\x4f\\xa6\\x88\\x26\\x4a\\x57\\x4d\\x83\\xbe\\xc5\\x66\\xfe\\x81\\x38\\xb7\\x36\\xa0\\x74\\x92\\xc5\\xb4\\x1f\\x8c\\x2b\\x1d\\x53\\xca\\xaa\\xb5\\x4c\\x05\\xaa\\x16\\x15\\x38\\x56\\x55\\x82\\x9c\\xea\\x5b\\x80\\xce\\xa5\\x7d\\x95\\x65\\x33\\x78\\x3f\\x46\\x03\\xd1\\xeb\\x8d\\x1a\\x4a\\x5b\\x8d\\xda\\xb4\\xb6\\xa1\\xb5\\x33\\x14\\x89\\x89\\x62\\x2b\\x27\\xc0\\x7a\\xbd\\x4f\\x14\\xf5\\x06\\x80\\x63\\x23\\x1f\\xf0\\xff\\x04\\xf2\\xc2\\x50\\x92\\x4f\\x29\\x1d\\x50\\x6b\\x7f\\x4b\\x8f\\x0a\\x65\\xbb\\x56\\x27\\x0a\\x3a\\x01\\x98\\x16\\x19\\x74\\x40\\xde\\x9b\\x9c\\xae\\xa8\\xcc\\x5b\\xaf\\xb3\\x22\\xcd\\x06\\x17\\x5a\\x51\\x2d\\x6e\\xd4\\xff\\x8a\\xfa\\x60\\xa4\\xb9\\x5f\\x02\\xdb\\x15\\xd5\\x47\\xb6\\x21\\xac\\xd7\\x61\\x9d\\xd5\\x62\\xd4\\x68\\xac\\x26\\x42\\x2c\\x66\\x13\\x53\\xc1\\xe6\\x06\\x2d\\xe1\\x09\\x3b\\x15\\xf9\\x88\\x3e\\xca\\xb7\\x6a\\x07\\xaf\\xeb\\x5f\\x87\\x66\\xce\\x05\\xba\\x06\\x55\\xc9\\x71\\x82\\x95\\x69\\x60\\x74\\x55\\x99\\x97\\x13\\x1a\\xbc\\x30\\xae\\x9f\\xd2\\xfe\\x0a\\xef\\xd7\\xd6\\xc6\\xfc\\xaa\\x28\\x2f\\x51\\xfa\\x72\\x9c\\xd1\\xa0\\x97\\xa4\\xeb\\xe9\\x1b\\x69\\xed\\x1c\\x36\\xfc\\x97\\xf4\\x65\\xf2\\xc2\\xe8\\xcb\\x1c\\xb9\\xa8\\xc3\\x45\\x3a\\x80\\x9c\\x44\\x9d\\xae\\x16\\xff\\x93\\xd1\\x17\\xb8\\x17\\x66\\xe8\\x06\\x3d\\xd0\\x57\\x22\\xd7\\xb4\\x37\\x39\\xa1\\x7f\\x48\\xdf\\x68\\xab\\xd0\\x0a\\x53\\xaa\\x78\\x4e\\xb3\\x5a\\x55\\x7d\\x52\\xd2\\xdc\\xaf\\x66\\xfa\\x6a\\xf4\\x02\\x30\\xaf\\xd5\\x62\\xe6\\x79\\xab\\x41\\xab\\xb5\\xd0\\xa7\\xea\\x40\\x54\\x63\\x44\\xd0\\x32\\x65\\x0b\\xd6\\x0e\\xb4\\x6d\\xb3\\xb5\\xfb\\x53\\xfa\\x36\\xdb\\xa4\\x22\\x1f\\xed\\x26\\xd3\\x4c\\x91\\x86\\x28\\x13\\x2b\\xf7\\xf2\\xff\\x64\\x4a\\x90\\xbc\\x09\\x3c\\x0c\\x4a\\xb8\\xb6\\xb5\\x7f\\x6c\\x47\\xc3\\x65\\x8f\\x51\\x6b\\xb5\\x8a\\x9c\\xcd\\xe6\\x74\\x98\\x75\\x3a\\x27\\x12\\x04\\x87\\x15\\x54\\x84\\x81\\x67\\x4a\\xe2\\x68\\x58\\x2b\\x34\\x58\\x62\\x2e\\xb3\\x91\\xf2\\x72\\xcb\\x16\\x8e\\x16\\xcf\\xd9\\xda\\xa2\\x32\\x6e\\x30\\x5f\\xcd\\x6a\\xb9\\x59\\x7b\\x34\\x2b\\xe7\\xa8\\x16\\x89\\x6a\\x68\\xa6\\x4a\\xae\\xc3\\xad\\x8f\\xec\\xb2\\xe9\\x74\\x66\\xbd\\x5d\\x62\\x6a\\xda\\xc1\\x3b\\x8d\\x0e\\xad\\x60\\x64\\x82\\x2e\\xeb\\xc3\\x36\\xce\\xd4\\x08\\x7a\\xdb\\x12\\x93\\xf0\\xd8\\xd2\\xa0\\xe6\\xa1\\x09\\xb6\\x96\\xf2\\x16\\x09\\x88\\x9a\\xc0\\x98\\x06\\x7f\\x1f\\xd8\\x91\\x8e\\x59\\x54\\x8b\\xab\\x12\\xc1\\xc6\\x4e\\x5d\\xcb\\x1e\\xc3\\x87\\x8e\\x9b\\x15\\xb9\\x51\\xb5\\xec\\x71\\x88\\xa2\\x5b\\x12\\xac\\x56\\xce\\x22\\x59\\xe2\\xe3\\x88\\xc9\\x14\\xef\\xd4\\x6a\\xe3\\x04\\xa7\\xcb\\xc9\\x28\\xc6\\xb9\\x1a\\xcc\\xea\\x10\\xca\\xba\\xb0\\x41\\x17\\xb1\\x8a\\x8a\\xad\\x19\\xc9\\x56\\xc4\\xbb\\x61\\x30\\x6f\\x44\\x97\\xb4\\x16\\x9c\\x60\\x54\\x39\\xd1\\xa1\\x7d\\xbf\\x95\\x00\\x45\\x87\\x99\\x0d\\xf1\\xb5\\x63\\xaa\\x20\\x31\\x75\\xc5\\x9e\\x01\\x20\\x6e\\x36\\x5f\\xcf\\x74\\xa6\\xed\\x08\\x82\\x39\\x3b\\x77\\x0d\\xa1\\xbc\\x92\\xe8\\x6c\\x1d\\xfb\\xac\\x3e\\xbe\\xbe\\x21\\xc8\\xd7\\x43\\xa9\\x62\\xb5\\x3c\\xf4\\x15\\xae\\x5a\\xca\\x53\\xe9\\xce\\xbb\\xa9\\x3c\\x94\\xfa\\xb0\\xa5\\x3c\\x83\\x6f\\x3f\\x1a\\x85\\xaf\\xa0\\x92\\x9b\\x1b\\xa0\\xe6\\x29\\x5a\\x9e\\x9b\\x18\\x2b\\x8f\\xff\\xa8\\x3c\\x37\\x91\\x16\\x89\\x96\\xe7\\x26\\x34\\xc3\\xb7\\x1e\\xc1\\x48\\x68\\x29\\x5e\\x10\\x83\\xde\\x52\\x1a\\xd1\\x98\\x78\\x91\\x06\\x7e\\x62\\x74\\xee\\x44\\xa5\\xcc\\xce\\x56\\x99\\x79\\x91\\x9f\\xbd\\x45\\xce\\x63\\xef\\x91\\x3b\\xa1\\x12\\xd4\\x03\\xf5\\x42\\xfd\\xd0\\x20\\x34\\x14\\x8d\\x40\\xa3\\x50\\x25\\xaa\\x41\\x13\\xd1\\x14\\x34\\x1d\\xcd\\x46\\xf3\\xd1\\x22\\xb4\\x14\\xad\\x40\\x6b\\xd0\\x3d\\xe8\\x3e\\xfc\\xa6\\x3c\\xd9\\x94\\x51\\x36\\xfc\\x0e\\x61\\xda\\x34\\x73\\xa0\\xd7\\x88\\x45\\xc2\\x74\\x31\\xb9\\x78\\xe0\\xdd\\xc2\\x84\\x09\\x92\\x37\\x34\\xe8\\x1e\\x61\\xa2\\x2d\\xbb\\xeb\\xad\\x77\\x0a\\xb3\\x66\\xd9\\x73\\x4a\\x46\\x2d\\x15\\x66\\xeb\\x52\\x3b\\xf6\\xdd\\x20\\x54\\x57\\xeb\\xfd\\x9d\\xfa\\xdd\\x27\\xd4\\xd4\\xcc\\x9e\\x38\\x9d\\x9f\\x32\\x9f\\xf3\\x14\\x0c\\x59\\x2d\\x4c\\x9e\\x4c\\x12\\x82\\x43\\xd7\\x08\\x53\\xa6\\xdc\\xef\\xce\\xeb\\x51\\xb9\\x42\\x98\\xef\\xca\\xed\\x3e\\x66\\xb9\\x30\\x7f\\xde\\xbc\\xda\\x89\\x35\\x53\\x26\\x4d\\xa9\\xc3\\x3c\\xa8\\xb6\\x71\\x55\\x93\\x2a\\x47\\x8d\\x18\\x36\\x42\\xbd\\x1a\\x3d\\x72\\xd8\\xa0\\x7e\\x43\\xcb\\x87\\xaa\\x57\\xfd\\x7b\\x97\\xf7\\x28\\xe9\\x55\\xda\\x4b\\xbd\\x92\\x3b\\x97\\x76\\x0a\\x05\\xf3\\x83\\xea\\x55\\xfb\\xc2\\xfc\\xbc\\x9c\\x40\\x5a\\x40\\xbd\\x6a\\x93\\x99\\xe6\\xf7\\x26\\xc4\\x25\\xa8\\x57\\x29\\x89\\x71\\x6e\\xbb\\x99\\x3a\\x1e\\xf4\\xca\\x61\\x01\\x7d\\x4a\\xe8\\xdc\\x89\\x5e\\x81\\xfd\\x58\\xb1\\x74\\xd1\\x82\\x45\\xf4\\xca\\x1b\\x5e\\xb6\\x78\\xc1\\xa4\\x61\\xe5\\xa5\\xf9\\x69\\x71\\x06\\xb4\\x60\\x01\\x32\\xc4\\xa5\\xe5\\x97\\x96\\x0f\\x9b\\xa4\\x5b\\x39\\x67\\xc6\\xed\\xd3\\x6f\\x57\\x6b\\xcc\\x9f\\x3d\\xfd\\xbe\\x7b\\xd6\\xac\\x5c\\x03\\x57\\x87\\xc2\\xf7\\xae\\x5d\\x79\\x0d\\xc5\\x44\\x2f\\x2e\\x2f\\x7a\\x62\\x53\\xd7\\x8f\\x44\\xff\\xac\\x37\\x2c\\xda\\xfb\\xbf\\xfe\\xa6\\xec\\xe2\\x8e\\xee\\xa7\\x74\\x07\\xd9\\x09\\xb4\\x18\\x3b\\xfd\\xa3\\xaf\\x76\\xf9\\x74\\xb7\\x65\\x7a\\xf4\\x10\\xfe\\x87\\xe7\\xd2\\x9f\\xdc\\x77\\xff\\x49\\x99\\xd6\\xf7\\xf1\\x9f\\x9c\\x4f\\x9c\\x88\\x1f\\x56\\x8f\\xc8\\x43\\x13\\x26\\xe0\\x87\\xd5\\xa3\\xa1\\xe9\\xbf\\xbf\\x5f\\xaf\\xde\\x6a\\x3c\\x3b\\x61\\x02\\x37\\x71\\xe2\\x44\\x65\\x82\\x7a\\xd4\\xb7\\x94\\xae\\xff\\xc3\\xbb\\xb4\\xc2\\x1f\\xc1\\x13\\x32\\xab\\xe9\\xdf\\xd8\\xaa\\x96\\xbf\\x9a\\x9b\\xcf\\xc7\\xd2\\xbf\\xea\\x31\\xf4\\xaf\\x9a\\x9d\\xab\\xb7\\xa5\\xef\\x59\\x65\\xec\\x67\\x57\\x88\\xe6\\x2c\\x04\\x19\\x3c\\xf7\\xff\\x4e\\x06\\xd1\\x26\\xb4\\x05\\xfd\\x05\\x3d\\x86\\x9e\\x44\\xbb\\xd0\\x33\\x68\\x1f\\x3a\\x88\\x8e\\xa2\\xe3\\xe8\\xaf\\xe8\\x35\\x74\\x1a\\x9d\\x41\\xe7\\xd1\\xbb\\xe8\\x7d\\xf4\\x11\\xba\\x88\\x2e\\xa3\\xaf\\xd0\\xb7\\xe8\\x47\\xf4\\x6f\\xf4\\x2b\\x6a\\x40\\x4d\\x98\\xc0\\x54\\x58\\x8f\\xcd\\xd8\\x8e\\xdd\\x38\\x01\\x7b\\x89\\xfe\\x20\\x57\\x50\\xbd\\xb3\\x0e\\xeb\\x8e\\x08\\xff\\xf8\\x07\\x09\\xd6\\xec\\xaa\\xc3\\x7a\\xd9\\x29\\xbc\\x9f\\x3c\\x70\\xc3\\x73\\xbf\\x08\\x9f\\x7e\\xea\\x1d\\x74\\xdf\\xbe\\x5f\\x85\\x8b\\x62\\xf1\\x84\\x27\\xea\\xb0\\xe9\\x88\\xf0\\xce\\x3b\\x52\\x68\\xe2\\x93\\x75\\xd8\\x0c\\x85\\xde\\x4d\\x1d\\x72\\xe7\\x81\\x6b\\xc2\\x67\\x9f\\xf9\\x87\\x2e\\x3d\\xd8\\x20\\x5c\\xd6\\x75\\x9c\\xbc\\xad\\x0e\\xdb\\x8e\\x08\\xe7\\xce\\xe9\\x3b\\x4d\\x79\\xac\\x0e\\xdb\\xa1\\xd0\\xf9\\x8c\\xe1\\xcb\\x8f\\x28\\xc2\\x97\\x5f\\x06\\x46\\xac\\x38\\xda\\x24\\x7c\\x65\\xea\\x3a\\xed\\xe1\\x3a\\xec\\x3a\\x22\\xbc\\xf9\\xa6\\xb9\\x64\\xfa\\x5f\\xea\\xb0\\xfb\\xb0\\x70\\x26\\xfb\\xd6\\xd5\\xc7\\xea\\x30\\x77\\x44\\xb8\\x72\\x25\\x67\\xd4\\x9a\\xe3\\x75\\x98\\x1c\\x16\\xbe\\xb5\\x75\\x9f\\xf5\\x60\\x1d\\xf6\\x1c\\x11\\x4e\\x9d\\xb2\\xf7\\x98\\xbd\\xa5\\x0e\\x27\\x1c\\x16\\x4e\\xe7\\x8e\\xb9\\xfb\\x44\\x1d\\x16\\x8f\\x08\\x3f\\xfc\\x90\\x57\\x79\\xcf\\x5f\\xeb\\xb0\\x24\\x7b\\x85\\x1f\\x7f\\x3c\\xfd\\xed\\x99\\xaf\\xce\\x5f\\x7e\\xf7\\xe2\\xfb\\xba\\x8f\\x5e\\xf3\\xf4\\xbd\\x63\\xcf\\x4f\\xc2\\x87\\x1f\\x26\\xf4\\x5b\\xf4\\xcc\\xbf\\x85\\x8f\\x3e\\xaa\\xc3\\x29\\x07\\xdd\\xbd\\xe6\\x6f\\xaa\\xc3\\xde\\xc3\\xc2\\x6b\\xae\\xb2\\x79\\x1b\\xeb\\x70\\xf2\\x41\\xe1\\xb5\\x57\\x5f\\xad\\xc3\\x3e\\x59\\xfb\\xda\\xe9\\x33\\xe7\\xdf\\x15\\xde\\x7f\\xef\\x7d\\x2a\\xc7\\xd6\\xf0\\xcb\\x27\\xdf\\x38\\xfb\\x96\\xf0\\xde\\xbe\\x83\\x47\\x8f\\xff\\x55\\x78\\x66\\xf7\\x33\\xea\\xdd\\x67\\x9f\\x3f\\x54\\xf7\\xa2\\xb0\\x7b\\xd3\\x96\\xbf\\x3c\\xf6\\xa4\\xb0\\x6b\\xc7\\x2e\\xf5\\xee\\xfd\\x9b\\xb7\\x3e\\xb2\\x5d\\xd8\\xb1\\x74\\xc5\\x9a\\x7b\\xee\\x13\\xa2\\xda\\xc2\\x1a\\x5e\\xbc\\x6c\\xe5\\xda\\x7b\\x85\\x05\\x13\\xa7\\x4c\\x9f\\x3d\\x5f\\xa8\\xa9\\xaa\\x51\\xef\\x8e\\x9b\\x74\\xfb\\x8c\\x39\\x42\\xd5\\xa0\\xa1\\x23\\x46\\x55\\x0a\\xfd\\x7a\\xf7\\x53\\xef\\xf6\\x2f\\x1f\\x36\\x72\\xb4\\xd0\\x3b\\xd4\\xa9\\xa4\\x47\\x2f\\x21\\xaa\\xb5\\xac\\xe1\\xc2\\xf6\\x9d\\xe5\\x52\\x21\\xdf\\xeb\\x0f\\xe4\\xe4\\x09\\x51\\x7d\\x65\\x0d\\x27\\xa6\\xa4\\x65\\xb6\\x11\\xe2\\x24\\xbd\\xd9\\xee\\x16\\xa2\\x9a\\x4a\\x1f\\xe6\\x35\\x06\\x8b\\x43\\x40\\xbf\\x36\\x34\\xbd\\x40\\x07\\xf7\\xa0\\xf0\\xef\\xab\\xff\\x66\\x0f\\xee\\x7f\\xfe\\xad\\xf1\\x05\\x8c\\xa0\\x8c\\x5b\\xb8\\xfa\\xde\\xee\\x1d\\x0b\\xaa\\x7a\\xe7\\xc7\\xa1\\xab\\x57\\x51\\x5c\\x7e\\xef\\xaa\\x05\\x3b\\x76\\xbf\\xa7\\xab\\xc3\\x1a\\x59\\xfb\\xf1\\xa5\\xcf\\xbf\\xfe\\x4e\\xf8\\xe0\\xa3\\x0f\\xa0\\xce\\xd1\\xf0\\xc5\\xcb\\x5f\\x7d\\xfb\\xa3\\xf0\\x51\\x37\\x7b\\x0b\\x87\\x80\\x01\\xd3\\x63\\x0d\\x1c\\x3c\\x0a\\x63\\x03\\xb6\\x60\\x07\\x8e\\xc3\\x89\\x70\\x97\\x4d\\x08\\xdd\\x54\\xf7\\xb8\\x41\\xc5\\x45\\x4f\\x6e\\x50\\x71\\xd1\\xbb\\xff\\xcf\\xbe\\xff\\xe7\\x2a\\xee\\xff\\xfc\\x8b\\xbe\\x7c\\x74\\xfa\\x43\\x7f\\x70\\x08\\xff\\x3f\\xdc\\x4f\\xbf\\xe1\\x5e\\x4c\\xa9\\x06\\xfe\\xe0\\x90\\xfe\\x04\\x8e\\xfb\\x7f\\x58\\x1e\\xff\\x0f\\xef\\x53\\xc5\\x79\\xfd\\xff\\x06\\x50\\xc6\\xf5\\xd7\\xff\\x6f\\x1c\\xff\\x7f\\x51\\x8a\\xa9\\xe9\\xe6\\x32\\xa0\\x99\\xc9\\xc3\\x37\\x95\\x9b\\x70\\x13\\xb0\\x9b\\xf1\\xba\\xb9\\x4c\\x43\\xd3\\xff\\x09\\x0e\\x51\\xa5\\x5f\\x7d\\x93\\xea\\xaf\\xfa\\x13\\x33\\xf0\\xa7\\xf7\\xc7\\xb6\\xfc\\xa9\\xe6\\x61\\x4c\\x2b\\x23\\x31\\xb6\\x95\\xa9\\xb8\\xce\\x60\\x54\\xb7\\x36\\x1b\\xea\\x1f\\xcd\\x5d\\x09\\xfe\\x1e\\xb5\\x1d\\x3d\\x51\\x1f\\x34\\x00\\x0d\\x46\\xb7\\xa0\\x30\\xaa\\x40\\x63\\xd1\\x78\\x74\\x1b\\x9a\\x8a\\x66\\xa2\\xb9\\x68\\x21\\x5a\\x82\\xee\\x42\\xab\\xd0\\x3a\\xb4\\x1e\\xd5\\xa2\\x07\\xd0\\x43\\xe8\\x51\\xf4\\x38\\x7a\\x0a\\x3d\\x8d\\xf6\\xa2\\xfd\\xe8\\x30\\x7a\\x01\\xbd\\x84\\x5e\\x41\\xaf\\xa3\\xbf\\xa1\\x7a\\xf4\\x36\\xfa\\x3b\\xba\\x80\\x3e\\x41\\xff\\x44\\x5f\\xa0\\x6f\\xd0\\xf7\\xe8\\x5f\\xe8\\x3f\\xe8\\x77\\x14\\xc1\\x18\\x0b\\x58\\x8b\\x8d\\xd8\\x8a\\x9d\\x38\\x1e\\x27\\x61\\x1f\\xb1\\xca\\x53\\x3c\\xe3\\x16\\x3c\\xf5\\xb9\\xf0\\xfa\\xeb\\x51\\xa5\\xd3\\x6f\\x4a\\xed\\x33\\x57\\x85\\x33\\x67\\x7a\\x4f\\x5a\\xbb\\xfb\\x3f\\xc2\\x1b\\xc9\\x55\\x8b\\x1e\\xbf\\x24\\xbc\\xf2\\x4a\\xc2\\xf8\\x85\\x4f\\x7c\\x21\\xbc\\x3a\\x68\\xfa\\x3d\\xfb\\xbe\\x13\\xce\\x9f\\xef\\x7f\\xfb\\x86\\x67\\xff\\x25\\x9c\\x4d\\x1d\\xbd\\xf4\\xd1\\x8f\\x85\\x97\\x5e\\xf2\\x8e\\x5d\\xbc\\xed\\x9f\\xc2\\x89\\xa1\\xb3\\x37\\x1d\\xfc\\x5a\\x78\\xf7\\xdd\\xf2\\x19\\xf7\\x3e\\xff\\xbd\\xf0\\x56\\xc6\\xc8\\x15\\x0f\\x7d\\x20\\xbc\\xf0\\x82\\xbf\\x62\\xd9\\xc3\\x9f\\x08\\xc7\\x7e\\x6d\\x7a\\x09\\x2c\\x93\\x19\\xa7\\x80\\x66\\x71\\x63\\xb7\\xac\\x1d\\x36\\x67\\xf3\\xa1\\x6f\\x84\\xf7\\xb2\\x1b\\x5f\\x02\\xb5\\x66\\x64\\x1a\\xc7\\x89\\x9d\\xb2\\x25\\x10\\x5e\\xf9\\xe0\\x05\\xe1\\x48\\x3e\\xd5\\x91\\x42\\x69\\xe9\\x6f\\x27\\x40\\xc7\\x69\\x40\\x2d\\xf9\\xa0\\x40\\x1c\\x8e\\x93\\xf5\\x47\\xde\\x3b\\xf6\\xd6\\x89\\xb3\\xaf\\xbe\\x41\\x74\\x18\\x8c\\x91\\x6c\\xe9\\x35\\x71\\xcd\\xae\\x9f\\x85\\xd3\\xa7\\x05\\xad\\xd1\\xea\\x84\\x69\\x6b\\x1d\\x4e\\x95\\xf5\\xb9\\x05\\xc5\\x1d\\xbb\\x76\\x17\\x11\\xca\\x89\\x9c\\xc0\\x3c\\xd6\\xe1\\x24\\xa8\\x6e\\x83\\x7f\\x7e\\xd9\\x10\\xd5\\xb3\\xae\\x1e\\x6f\\x9e\\x7b\\x07\\x2c\\xd5\\x41\\xe1\\x14\\x77\\x8a\\x79\\x75\\x2f\\xbc\\xf4\\xca\\xeb\\x75\\xd8\\x79\\x58\\xe0\\xea\\x5e\\x7c\\xf9\\x64\\x1d\\x76\\x1c\\x14\\x84\\x5d\\x02\\xfb\\x49\\x7e\\x66\\xdf\\x41\\x30\\x8a\\x87\\x85\\x5d\\x25\\x7b\\x9e\\x3b\\x00\\x96\\xf2\\xa0\\xb0\\x53\\xdc\\xc9\\x7e\\x7a\\xe8\\xd1\\xc7\\x9f\\xaa\\xc3\\xc6\\xc3\\x82\\x08\\xc6\\x62\\x47\\x1d\\x36\\x1c\\x14\\xb4\\x6b\\xb4\\xec\\xa7\\xce\\xf7\\xd4\\x82\\x55\\x92\\x0e\\x0b\\x6b\\x3a\\xdd\\x7d\\x3f\\x58\\x25\\xf1\\xa0\\xb0\\x5a\\xb7\\x9a\\xfd\\xb4\\x60\\xd1\\xd2\\x15\\xcc\\x0c\\xea\\xe6\\xdf\\x71\\xe7\\x72\\xb0\\x8d\\x07\\x05\\xe3\\x44\\xa3\\x6a\\x08\\xda\\x83\\x65\\x69\\x12\\x26\\x86\\x26\\x4f\\x9b\\xa5\\x08\\x13\\x4c\\x13\\xd4\\xbb\\x23\\x47\\x57\\x8d\\x6b\\x14\\x4c\\x60\\x5e\\x6a\\x1a\\x04\\x6b\\x2f\\x6b\\xd4\\x94\\xf4\\x1b\\x34\\xf4\\x57\\xa1\\x57\\xb0\\xef\\xc0\\x21\\xbf\\x08\\x65\\xb6\\x32\\x06\\xfc\\x03\\xd0\\xfa\\x75\\x38\\xf1\\xb0\\x60\\x7b\\xff\\xa3\\x8b\\x97\\xc1\\xb0\\x1e\\x14\\x9c\\x3f\\x3b\\xd9\\x4f\\xf9\\x5f\\x7f\\x77\\x15\\x0c\\xa6\\x9c\\x28\\xfc\\xcc\\xed\\x12\\xd7\\xe8\\x26\\x9a\\x7a\\xd9\\x7e\\xfe\\xd9\\xd6\\xcb\\x34\\x51\\xb7\\x46\\xdc\\xc5\\xe9\\x5c\\xa5\\x60\\x2d\\xc1\\x68\\x1f\\x14\\x4e\\xe3\\xd3\\x50\\xe3\\x48\\x18\\x2b\\x79\\x60\\x34\\xc0\\xb8\\x82\\xe9\\x71\\xfd\\x9b\\x99\\x11\\x4f\\x72\\x6a\\x46\\xb6\\xe0\\x42\\x31\\xab\\xc0\\xd6\\x39\\xfd\\x6f\\x1b\\x87\\x38\\xcb\\x29\\x77\\x81\\x1a\\x50\\xe4\\x7f\\xcd\\x42\\xc0\\xec\\x2a\\x58\\xe4\\xff\\x83\\x23\\xe8\\xfc\\xa3\\xc3\\xef\\x0c\\x5a\\xff\\xe0\\xc0\\x37\\x14\\x74\\xc3\\xbd\\x40\\xab\\x43\\xba\\xe1\\x77\\x01\\xee\\x85\\x5a\\x5f\\xc3\\xe1\\x83\\x43\\x2a\\xf2\\x3b\\xd3\\xe1\\xdb\\x0e\\xdf\\xfe\\x56\\xc7\\x8d\\xf5\\xff\\xdb\\xdf\\x6f\\x68\\x1f\\xdf\\x78\\x1d\\xc5\\x91\\xd6\\x4b\\xc2\\xd0\\x6e\\x14\\xe6\\x75\\xdf\\xf0\\x3b\\x81\\x83\\x3f\\xd7\\x50\\x30\\xa1\\xe5\\x6f\\x62\\xcb\\xbf\\xd6\\x7f\\x0d\\x5b\\x63\\xb7\\x5b\\xab\\xe4\\xe8\\xbd\\x48\\x53\\xac\\x5e\\xe3\\xd9\\x89\\x38\\x08\\x7a\\x19\\xfc\\xf1\\x66\\x50\\xcd\\x15\\x6f\\xbc\\x6e\\x01\\xc4\\xe1\\x56\\x2a\\x9d\\xab\\x67\\xbf\\x4d\\xa4\\xff\\x69\\x69\\x76\\xd0\\xcf\\xc8\\x43\\x38\\x75\\x2c\\xfd\\xef\\xaf\\xc2\\xbe\\x6a\\xf6\\xbf\\x95\\xda\\x7d\\xa5\\x5a\\xb9\\x58\\xa5\\x7c\\xa2\\xfe\\x1f\\x03\\x9f\\xe2\\xe4\\xd8\\x4f\\x2f\\xdf\\x68\\x1f\\x5e\\x8e\\x9d\\xbc\\xd6\\x52\\x5f\\xb9\\x78\\x93\\xfa\\x6f\\xb9\\xd5\\x5c\\x4a\\xac\\x8f\\xa9\\xfc\\xd4\\xe8\\x09\\xb4\\x0a\\x0d\\x8c\\x65\\x40\\x5f\\x53\\xc1\\x54\\xab\\x55\\xd5\\xe2\\x50\\x90\\x3d\\x63\\x98\\x8f\\xe6\\xf2\\xc3\\xf9\\x61\\x6a\\x1c\\x4d\\x01\\x5d\\x1f\\x47\\xd3\\x67\\xf5\\xcd\\x27\\x17\\x1b\\x7d\\xfc\\xb0\\x46\\x1f\\xe2\\xe8\\x0e\\x01\\xfe\\x0c\\xff\\x37\\x36\\xf7\\xf0\\xec\\x27\\x74\\x3d\\xc7\\xc1\\x30\\x41\\xfc\\x75\\xeb\\x3a\\xd4\\x6a\\x76\\xab\\xcf\\xca\\xf1\\x7f\\x6b\\x08\\xf5\\xe7\\xdb\\xd1\\x2f\\x7e\\x49\\xc3\\x79\\xbe\\x1d\\xc2\\x78\\x12\\x5e\\x4a\\xc6\\x91\\x45\\x00\\x43\\xb3\\x1f\\x00\\xb2\\xd8\\x76\\x34\\xd6\\xd1\\x38\\x85\\xc7\\x8d\\x78\\x29\\x6e\\x44\\x5c\\xab\\x32\\x12\\x4a\\xde\\x8f\\x24\\x80\\x7f\\x38\\x8c\\x38\\x99\\x13\\x59\\x4b\\x5c\\xab\\xa0\\x8e\\x38\\x1a\\x27\\x49\\xad\\xdf\\x5f\\x79\\x84\\x82\\x50\\xca\\x71\\xb5\\xb2\\x0d\\x45\\xd7\\xaf\\x96\\xf1\\xaf\\x73\\xa9\\x7f\\xda\\x3f\\x0d\\xff\\x52\\x43\\x0f\\x2e\\x55\\xa1\\x7b\\x08\\xcc\\xa8\\x80\\x7f\\x89\\x7f\\x0e\\xd0\\x72\\x1e\\xa5\\x31\\x45\\x11\\x0b\\x73\\xa5\\x96\\xb6\\x76\\x68\\x97\\x1f\\xd2\\x62\\x33\\x37\\x92\\x1b\\x5e\\xc0\\x2f\\x6e\\x58\\x49\\xd7\\x9f\\x35\\x7d\\x01\\xf4\\x78\\x16\\xca\\x03\\x6c\\x9e\\x06\\xc5\\x6b\\x05\\x5b\\x8b\\x0b\\xf9\\x2d\\x0d\\xb7\\xf1\\xcf\\x46\\xb6\\x45\\xfe\\xa2\\xe2\\x62\\x86\\xf2\\x2f\\xf1\\x63\\xa3\\xf0\\x01\\x97\\x1b\\xe0\\x6b\\x39\\xfe\\xa5\\xc8\\x9e\\xc8\\x6e\\x7e\\x6c\\xc3\\x4a\\x7e\\xb1\\x5a\\x87\\x83\\x3a\\x0f\\x45\\xdb\\xb8\\xbe\\x06\\x7d\\xaf\\x88\\xf9\\x87\\x68\\x13\\x0d\\x1d\\xb8\\xf1\\x50\\x62\\x1a\\x8c\\x4f\\xa5\\xb0\\x93\\xc5\\xd2\\xcd\\x97\\xcd\\x5a\\x81\\x93\\x24\\xdc\\x4f\\x1c\\x25\\x4e\\x11\\x89\\x08\\x6e\\xbe\\x53\\xd6\\x95\\x6a\\x86\\x69\\xc6\\x69\\x88\\x06\\xd3\\x0d\\x11\\x15\\xf0\\xdf\\xd6\\xa1\\x4b\\x1e\\x7b\\x13\\xe1\\xf3\\x6b\\x71\\x50\\xcb\\x73\\x0f\\x4d\\x52\\xba\\xe0\\xd7\\x26\\xe1\\x53\\x8a\\xa4\\x5c\\xa4\\xfb\\xa5\\xb9\\xb7\\xb9\\xbf\\x47\\xda\\xe2\\x7f\\x2a\\x5e\\xc5\\x86\\x7f\\xa0\\xeb\\x7c\\x9e\\x44\\x4f\\xf0\\xd9\\x7c\\x16\\xd0\\xcb\\x0b\\xed\\xe8\\xe2\\x34\\x1a\\x0b\\x42\\x29\\x3e\\x83\\x83\\x0d\\x94\\xc1\\xc0\\xf3\\x89\\x6c\\xa0\\xe8\\x8e\\x97\\x68\\xc0\\x44\\xb6\\x20\\x45\\x25\\x4c\\x6c\\x99\\x9d\\x83\\xae\\x51\\xcd\\xc5\\x21\\x07\\x5d\\x41\\x46\\xf7\\x5b\\xa8\\xeb\\x52\\x9f\\x5c\\xf0\\xf6\\xc2\\x3b\\xde\\x59\\xb8\\xf0\\xed\\x45\\x77\\xbc\\xb5\\x60\\x78\\xf5\\xae\\x9a\\xea\\xa7\\xc7\\x55\\x3f\\x53\\x3d\\xf6\\xe9\\x6a\\x6e\\x1c\\xbd\\xff\\x2e\\xfc\\xb4\\x60\\xc1\\x5b\\x77\\x54\\x3f\\x3d\\xb6\\x6a\\x4f\\x35\\xfc\\x52\\x4d\\x93\\xbf\\xa0\\x49\\x68\\x38\\x3f\\x9e\\x1f\\x02\\x1c\\x63\\xa6\\x6b\\x95\\x61\\x36\\x9c\\x07\\x33\\xe1\\x12\\x98\\x05\\x0f\\x82\\x19\\x70\\x25\\xcc\\x7e\\xa7\\x03\\xaf\\x2f\\x45\\x7b\\xf7\\x4f\\xa8\\x66\\x06\\xaa\\xef\\xac\\x79\\xb3\\x98\\xdd\\x19\\x38\\xaf\\xfb\\x1d\\x77\\xde\\xc1\\x4e\\xcb\\xee\\x2c\\x98\\x3c\\x6d\\x32\\x3b\\x2d\\x9e\\xe6\\xb9\\x75\\xcc\\xad\\xec\\x34\\x79\\x8c\\x6d\\xc8\\xf0\\x21\\xec\\xd4\\x35\\x9c\\xeb\\xd8\\xb5\\x23\\x3b\\x15\\xbb\\xea\\xb2\\x73\\xb3\\xa9\\x71\\x74\\x85\\x4d\\xb9\\xf3\\xee\\x9c\\x36\\x66\\x78\\xd7\\xdc\\xdc\\xae\\xc3\\xc7\\x4c\\xbb\\x73\\x9e\\x94\\x31\\x21\\x23\\x95\\xad\\x47\\xcc\\xb0\\xa8\\xa1\\x92\\xd4\\xbd\\x12\\xea\\xe3\\x9a\\xe8\\x8e\\x98\\xff\\xf6\\x93\\x2d\\xe5\\xa5\\xf1\\xf4\\x82\\x05\\x81\\xe8\\xb7\\x3d\\xfa\\xed\\x8e\\x7e\\xc7\\x7e\\x97\\x6e\\xb8\\xbe\\xf1\\xfb\\xc6\\xdf\\x6f\\xbc\\x4e\\xbf\\x01\\x7e\\xac\\x3d\\xf2\\x69\\x61\\xfb\\xf6\\x85\\x9b\\xe9\\xc7\\xaf\\xa1\\xa2\\x50\\x51\\x1a\\x3d\\x53\\x42\\xc5\\xf0\\xb7\\x37\\x54\\x54\\x14\\xe2\\x86\\xd0\\xcf\\x88\\x87\\xde\\xe0\\x56\\x34\\x97\\x8d\\x3c\\x57\\xd8\\xbe\\xb8\\x98\\x15\\xc6\\x6f\\xd0\\xdf\\x94\\xd1\\xf4\\xf3\\x57\\x5a\\x78\\x33\\x3d\\x23\\x0f\\xc2\\x47\\x1b\\xb8\\x52\\xde\\x0d\\x85\\x8a\\x2e\\xc3\\x05\\xde\\x04\\x27\\xb7\\x52\\x60\\xf3\\xe1\\x03\\xbf\\x50\\x1c\\xec\\x10\\x29\\x85\\xb3\\x87\\x0a\\x0b\\xdb\\x73\\x89\\xd1\\x42\\x0a\\x81\\x93\\xcf\\x69\\xb5\\xbf\\xb7\\x2f\\x6c\\x9f\\x0d\\x27\\x4c\\x46\\x9e\\x43\\xeb\\x78\\x2f\\xb9\\xc6\\xe2\\x65\\x4a\\x48\\xd5\\x29\\x8c\\xc3\\x90\\x3f\\x15\\xd1\\x4d\\x34\\xdc\\x84\\x69\\x17\\x66\\x29\\xca\\xd1\\x23\\x8a\\x32\\xfd\\x7d\\x72\\x6d\\xce\\x87\\x93\\x8f\\x2a\\x0a\\x26\\x47\\x6e\\xff\\xfb\\x7c\\xca\\xcf\\xe9\\x20\\x37\\xbb\\xf9\\x15\\x6c\\x35\\x6c\\xb2\\x6c\\xa0\\x71\\x4c\\x39\\x27\\x76\\x58\\x60\\x6a\\x0a\\xc0\\xf2\\xea\\x9b\\xdf\\x6b\\xd1\\xf5\\x6a\\x3e\\x2b\\xbe\\x81\\x63\\xd3\\xf9\\x15\\x8d\\xfc\\xbc\\x33\\xf3\\xe7\\xd5\\xcf\\x9b\\x77\\x16\\x3e\\xe7\\xf2\\x2b\\x1a\\x96\\x70\\xdd\\xe6\\x9d\\x9d\\x07\\xe7\\x70\\x73\\x3e\\x8d\\x86\\xd7\\xba\\x0d\\x3f\\x8b\\x96\\xe6\\x30\\x24\\x3a\\x12\\xa1\\xa5\\x74\\x9c\\xa6\\x49\\xc1\\x96\\x38\\x68\\xeb\\x93\\x73\\xf0\\xff\\x86\\x97\\xbd\\xac\\xc5\\x1b\\x64\\x26\\xf0\\x07\\x18\\x0c\\xae\\xde\\x33\\x76\\x2c\\x08\\x04\\xfb\\x1c\\x70\\x33\\x3a\\xcd\\xbf\\xc1\\x67\\x6b\\xd4\\x40\\xdf\\x4e\\xc3\\xab\\xc8\\x18\\x32\\x97\\xed\\xcb\\x4c\\xde\\x4f\\xdc\\x4c\\x8c\\x89\\x4e\\xd6\\x59\\x99\\x18\\xeb\\x5a\\xeb\\x5b\\xb6\\x4e\\x4e\\x0d\\xfe\\xe2\\x76\\x49\\x85\\x2d\\x5b\\xf4\\xc9\\x98\\x2d\\x63\\x4b\\x67\\x94\\x6e\\x1a\\x3f\\xb1\\x57\\xdf\\xfe\\x13\\xca\\xca\\x26\\x54\\xf7\\x1d\\x50\\xc9\\x2d\\x99\\xb2\\xbe\\xdb\\xac\\x9e\\x13\\x6b\\xfb\\xf6\\x9a\\x58\\x36\\x61\\x42\\x59\\xaf\\xf1\\xb7\\x81\\x76\\x4a\\x40\\x1c\\xbf\\x9f\\xdf\\xca\\xf4\\x47\\x0e\\x48\\x69\\x4f\\xb4\\x58\\x76\\x64\\xa4\\xb4\\x29\\x28\\x29\\x48\\xe9\\xc9\\x23\\xd0\\x27\\xbd\\x40\\xa1\\x94\\x75\\x6d\\x5f\\xd7\\x74\\xe9\\xa8\\xd6\\xd8\\xbb\\x7d\\xfb\\x4e\\x9d\\xba\\x31\\xa1\\x2d\\xca\\xf2\\x67\\xd1\\x07\\xff\\x96\\x70\\x9e\\xbf\\x93\\x6c\\xb0\\xf4\\xee\\xe4\\xef\\xe4\\x87\\x01\\x73\\xb0\\x1d\\x13\\x4c\\xed\\xc0\\x97\\x01\\xe5\\x9d\\xcd\\x69\\x15\\xe0\\x26\\xd8\\x2a\\x74\\x6b\\xcb\\x6b\\x01\\xea\\xce\\x45\\x35\\x92\\xba\\xf7\\xce\\x19\\xdd\\x8b\\x77\\xa3\\x46\\x0a\\x45\\x23\\xdd\\xd0\\x05\\xcf\\xe9\\xad\\xce\\x71\\x74\\x53\\x16\\xa3\\x48\\x20\\xe1\\x51\\x6c\\xd9\\xb6\\x0d\\x9b\\xb7\\x3d\\xaa\\x5c\\xdd\\xb6\\x4d\\xb9\\xfa\\x68\\xc9\\xbd\\xff\\x5e\\x7f\\xef\\xbf\\xef\\xbd\\xf7\\x27\\xf8\\x5c\\xff\\x5d\\x56\\x52\\x52\\x76\\x76\\x52\\x52\\x16\\x3e\\x18\\x3b\\x53\\x26\\x75\\x5c\\x32\\xb0\\x7c\\x71\\x87\\x8e\\x33\\xce\\xf7\\x9a\\x3d\\x22\\x97\\x1b\\xb0\\x0d\\x5b\\x1e\\x8d\\x55\\xa6\\xc0\\xa0\\xda\\xfa\\x9f\\xef\\xa1\\xf5\\x7f\\x36\\xaa\\x55\\x62\\x55\\xb3\\x94\\x9f\\x06\\x76\\xec\\x34\\xa0\\xdd\\xfe\\xcc\\xd2\\x9e\\x88\\x6f\\x45\\xcf\\x04\\xd0\\x7b\\x45\\xa8\\x5a\\xb6\\x27\\xa6\\xba\\x2c\\x99\\x96\\xd4\\x5c\\x5e\\x83\\x34\\x21\\x54\\xec\\xb5\\xc7\\xdb\\xd5\\x77\\x7b\\xe9\\xf1\\x79\\x45\\x45\\x05\\x05\\x6d\\xa8\\xe2\\x72\\x86\\xcd\\xf1\\xd8\\x0c\\x54\\x1f\\x54\\x30\\xbd\\x60\\x69\\x81\\x10\\x5f\\x10\\x5f\\x40\\x89\\x77\\x92\\xee\\xce\\xaf\\x50\\x03\\x59\\xe5\\xc5\\x54\\x92\\xca\\x95\\x7f\\x46\\x33\\xec\\x50\\x83\\x15\\x50\\x7e\\x10\\x5a\\x9d\\x63\\xba\\x06\\x32\\x14\\x60\\xdb\\x11\\x6e\\x26\\x11\\xce\\xf9\\x03\\xb2\\xe4\\xb6\\x1d\\x31\\xab\\xcf\\xf9\\x19\\x1d\\x81\\x3a\\x83\\x96\\x74\\xb8\\x89\\x2c\\xb8\\xb8\\x15\\x1d\\xe8\\xb7\\xb2\\xa6\\xb4\\x34\\x6b\\x7f\\x3b\\x4a\\x10\\x90\\x65\\x4f\\xd3\\x6a\\xfe\\x00\\x9f\\x0c\\x74\\x08\\xa2\\x4a\\xd9\\x9e\\x99\\xe6\\xf3\\x91\\x5c\\xa3\\xc5\\xe2\\x16\\x45\\x0f\\x21\\x85\\x45\\xee\\x1c\\xe0\\x11\\x98\\x59\\xb8\\xdd\\x16\\x5f\\x9a\\x8f\\xf1\\x8b\\xd8\\x4e\\xdd\\xe4\\x41\\x66\\x88\\x58\\x14\\x8d\\xde\\x34\\x9c\\xc6\\x16\\x10\\xc3\\x91\\x13\\x7b\\xf0\\xde\\x62\\xc1\\x82\\xb1\\x57\\x49\\x40\\x04\\x77\\x71\\x08\\x1c\\x5f\\x17\\x0d\\x03\\xee\\xa2\\x0f\\x4d\\x44\\x1a\\x0d\\x5c\\x94\\xc0\\x39\\xce\\x08\\x48\\x81\\x50\\x46\\xc0\\x5f\\x14\\x2c\\x0e\\x05\\xec\\xad\\x08\\x72\\x69\\xc7\\x88\\x89\\xbd\\x27\\x8c\\x78\\x2a\\xf8\\x54\\x99\\xf6\\x9b\\x6f\\x74\\x3d\\xe1\\x64\\xc4\\x84\\xde\\x13\\x47\\xec\\x08\\xee\\xe8\\xa9\\xfb\\xfa\\x6b\\x6d\\xd9\\x8e\\x47\\x9e\\x5a\\xb0\\xe0\\xa9\\x5d\\xf3\\xe6\\xed\\x22\\xf7\\x3c\\xd5\\x53\\xf7\\xcd\\x37\\xda\\xb2\\x56\\x65\\xca\\xb4\\x5f\\x7f\\xad\\xeb\\x09\\x27\\x2a\\x14\\xe5\\x8e\\x79\\xbb\\x68\\xd1\\x5d\\x6c\\xfd\\x45\\x67\\x54\\x46\\xee\\xe7\\x37\\x23\\x17\\x4a\\x05\\x1e\\x70\\xb9\\x5d\\x82\\xd9\\x6e\\xc7\\x8e\\x24\\xab\\x5e\\x2f\\x38\\x88\\x3f\\xcd\\x61\\x73\\x21\\x17\\x7d\\x3c\\x1a\\x36\\x43\\x71\\xce\\x43\\xbb\\xad\\x0f\\x9b\\xa0\\xa6\\x81\\x70\\x1a\\x4d\\x0a\\x93\\x76\\x0d\\xf3\\xe3\\x2c\\x27\\x63\\xbb\\xe0\\xe3\\xf2\\xa2\\xaf\\x05\\x6c\\xd8\\xdd\\xe1\\xba\\xee\\x83\\x07\\xdf\\x12\\x06\\x0a\\x7a\\x4d\\xe7\\x29\\x30\\x2d\\x68\\xdd\\x5b\\x3c\\xf2\\xca\\xac\\xcd\\xfb\\x16\\x2d\\xda\\xb7\\x79\\xd6\\x95\\x2b\\xbd\\xaf\\xb4\\x59\\x39\\xa6\\x72\\xc5\\xca\\x31\\xa3\\xd6\\xe0\\x05\\x6f\\x9a\\xf6\\xcc\\x58\\xb4\\x6f\\xdf\\xa2\\xe9\\x7b\\xcc\\x6f\\xf6\\xbe\\x72\\x85\\xeb\\x38\\x66\\xe5\\xea\\xd1\\x15\\xab\\x96\\x53\\x7d\\xbc\\x03\\xcd\\xe2\\x79\\xf2\\x0e\\x72\\x22\\x1f\\xba\\x5d\\x8e\\x73\\x21\\xa3\\xa8\\xd1\\x18\\xf4\\x7a\\x93\\x80\\x12\\x2d\\xc8\\x92\\xea\\x17\\x4c\\xc4\\x6e\\x8f\\xa7\\xe8\\xc7\\x87\\xf3\\xed\\xd8\\x4e\\x44\\xa3\\x5e\\x92\\xe9\\x7a\\xe3\\x3c\\x0d\\xd1\\x12\\x8d\\x86\\x10\\x2f\\xeb\\x0c\\x89\\x79\\x20\\xd0\\x1b\\x4f\\xfd\\xd9\\x0e\\x1d\\x2c\\x27\\xa3\\xbb\\x9f\\xa3\\x6b\\x40\\x68\\x84\\x18\\x6b\\x50\\x7d\\xa1\\x49\\xb9\\x9a\\xaa\\x35\\x9c\\x87\\x7d\\x6e\\x6b\\x1e\\xc6\\x51\\x39\\x0f\\xb5\\xea\\xd0\\x8e\\x7d\\x8b\\x26\\x0c\\xc6\\xf8\\x33\\x0e\\xf7\\x73\\x87\\x1c\\x4a\\x93\\x4c\\x3b\\xd7\\xbb\\xb9\\x5b\\x8f\\x2c\\xda\\x27\\x63\\xec\\x08\\xb9\\x95\\xc3\\xdc\\x67\\x4a\\xd3\\xe0\\x09\\xb4\\x8b\\xcd\\x3d\\xa3\\xb6\\x6a\\x02\\xd8\\x81\\x09\\xfc\\x33\\xd0\\xb3\\x7c\\xd9\\x63\\x70\\x8a\\x16\\xa7\\x35\\x41\\x48\\xf5\\x6b\\xe3\\x0c\\x4e\\xa7\\x37\\x2e\\x2f\\xae\\x24\\x8e\\xc4\\xc5\\x59\\xa8\\x93\\xd7\\x21\\xaf\\xa2\\x83\\xfa\\xfa\\x92\\x11\\x5e\\x0d\\xe1\\x47\\x6d\\x00\\xdb\\x78\\x01\\x38\\x39\\x7d\\x45\\x80\\x56\\x74\\xa7\\x4f\\x71\\x08\\x14\\x16\\xb7\\x6c\\xc3\\xd4\\xe5\\xb7\\xad\\xad\\xe9\\xbc\\x32\\x7d\\x5f\\x6d\\x24\\xa5\\x76\\x5f\\xc6\\xca\\x4e\\xe3\\xd6\\xd4\\xac\\x9d\\xba\\x81\\x7f\\x66\\xf8\\xdf\\x87\\x4f\\xd8\\x32\\xe8\\xf6\\xe5\\x1d\\x72\\x56\\x6d\\x69\\xdf\\x7e\\xcb\\xaa\\x9c\\x0e\\xcb\\x6f\\x1f\\xb0\\x71\\xea\\x2d\\xef\\xdf\\xc2\\xf0\\x1a\\x0b\\x78\\x4d\\x01\\xbc\\xb2\\x29\\x5e\\x56\\x8f\\xde\\xe9\\x71\\xa5\\x08\\x39\\x6d\\x4c\\x49\\x56\\x8f\\xc7\\x9b\\x94\\x97\\x54\\x92\\x44\\x92\\x92\\x9c\\x7f\\x8c\\x17\\xb3\\x4c\\xa2\\x14\\x8a\\x29\\xc6\\x9b\\x91\\x0b\\xba\\x29\\xa7\\x50\\x43\\x7c\\xcb\\xe2\\xd2\\x1e\\xc1\\xd0\\x9a\\xdd\\x6b\\x6b\\xba\\xac\\x8d\\x22\\x99\\xb6\\xa6\\x64\\xdc\\x9a\\xdd\\x6b\\x42\\xc1\\x1e\\xa5\\x8b\\xf9\\x67\\xba\\x4c\\x95\\x7b\\xac\\x4a\\x23\\xeb\\x66\\xde\\xbe\\xbc\\x53\\x96\\x8a\\x6a\\x56\\xa7\\xe5\\xb7\\xcf\\x5a\\x4b\\xd2\\x56\\xf5\\x90\\xa7\\x76\\xa1\\x34\\x6c\\x6a\\x02\\x1a\\x4e\\x42\\x1e\\xba\\xbf\\xcd\\x61\\x34\\x08\\x7c\\x42\\xa2\\x96\\xf9\\xc5\\x14\\xa5\\x76\\xf9\\x42\\x61\\x46\\x20\\xb6\\x79\\xd6\\x1d\\x8c\\x99\\x4e\\x62\\xe2\\x9c\\x5c\\xff\\xf9\\x2b\\xbf\\xed\\x31\\x4b\\x0e\\xd7\\x26\\x8b\\xc9\\x1b\\x47\\xca\\xb3\\x7a\\x7c\\x7b\\x7b\\xb8\\x18\\x97\\xbe\\xbd\\x0d\\x27\\x3d\\x5e\\x36\\x4b\\x5e\\x51\\x33\\x6e\\xb9\\x3c\\xbb\\xe7\\xe3\\xca\\xe5\\x55\\xab\\xe7\\xb7\\xa3\\x74\\x59\\x09\\x6d\\xf5\\x86\\x39\\x81\\x9e\\xfa\\xdf\\xa2\\xc1\\xa8\\xe3\\xd5\\x76\\x58\\xf0\\xfc\\x22\\x9b\\x3d\\x68\\xb3\\x3b\\x39\\xe2\\xe7\\x56\\xfe\\x7e\\xd9\\x70\\xf9\\x77\\xfa\\xc1\\xdd\\x42\\x70\\x22\\x0d\\xd9\\xaa\\x7c\\x4e\\x94\\xcf\\x95\\x53\\xb8\\x23\\x5d\\x77\\xe7\\x41\\x71\\xe4\\x69\\x7e\\x02\\x4a\\x44\\x69\\xb2\\xd9\\x26\\x49\\x46\\x12\\x6f\\x8c\\x4f\\x4a\\x16\\xed\\x34\\x21\\x52\\x5e\\xb0\\x3e\\xaf\\x65\\xdd\\x29\\xa3\\x29\\xdb\\x80\\x1c\\xb0\\x3a\\x5a\\xe2\\xe6\\x58\\x83\\xd1\\xe1\\x97\\x88\\xc3\\x9f\\x35\\xed\\xd6\\xb5\\xc3\\x7b\\x8e\\x5a\\x37\\xb4\\x63\\x76\\x86\\x61\\xe1\\x88\\x01\\xa1\\x7c\\x6c\\xc9\\x98\\xdd\\x6d\\xd2\\x53\\xc9\\x91\\x3d\\xa5\\x35\\xa5\\xed\\xbb\\x8d\\x73\\x93\\xd2\\x39\\x8b\\xc2\\x4f\\x4d\\xe8\\xbd\\x36\\x48\\x65\\x6a\\x46\\xd3\\x3b\\x7c\\x67\\xf0\\x3f\\xe8\\xbb\\xa2\\x3b\\xe5\\x7e\\x89\\x2e\\xbd\\xde\\x9a\\xa4\\xd1\\xc4\\x5b\\xe3\\x53\\x7c\\xeb\\x74\\x58\\x97\\xb8\\x36\\x11\\x4f\\x4c\\xc4\\xc3\\x12\\x71\\xe2\\x3a\\x2d\\xd6\\x26\\x05\\x92\\xb0\\x33\\x09\\xf3\\x49\\x38\\x29\\x6e\\xa1\\x77\\x9d\\x97\\xf3\\xba\\xe7\\xbb\\xd7\\xb8\\xb9\\xe1\\x6e\\xec\\x8e\\x43\\xa2\\xe8\\x58\\x97\\x8c\\x93\\xe3\\x4c\\x25\\x74\\xef\\x72\\x5e\\x05\\x60\\x5f\\x41\\xc3\\x00\\x59\\x83\\x74\\x73\\x05\\xfd\\xcf\\xbe\\xa3\\x5f\\xad\\x3a\\xc6\\xf4\\x46\\x7a\\x73\\x8f\\x84\\xeb\\xfa\\x97\\x4e\\x77\\xc4\\xa4\\x17\\x09\\x64\\x8c\\xda\\xb1\\xc8\\xd5\\x58\\x17\\xb9\\x7b\\xd7\\x2a\\x1d\\x39\\x4b\\xe4\\x6a\\x1b\\xd6\\x33\\x7c\\x70\\x70\\xe4\\x9f\\xb1\\x5e\\xf6\\x18\\xd7\\x58\\x5e\\x5a\\xc3\\xfd\\x36\\x78\\xc1\\x60\\xda\\xcf\\x07\\x9a\\x3c\\x7c\\x48\\x38\\xcb\\xfa\\x69\\x3e\\xec\\x4d\\x12\\x9d\\x48\\x44\\x79\\x25\\xd1\\x44\\x0a\\x56\\x3f\\xb4\\xe9\\xb7\\x4a\\x45\\x21\\x76\\x04\\xa1\\xcd\\xa0\\x35\\xe4\\x94\\xac\\x21\\x01\\x7e\\xe0\\x43\\xef\\x54\\x29\\xaf\\x56\\xbd\\x03\\x7f\\x55\\xb8\\x2b\\xfd\\x56\\xce\\x29\\xaf\\xe2\\xed\\xd5\\xf0\\xe1\\xde\\xa2\\x3c\\x8c\\x4b\\xc2\\x07\\xc2\\xf8\\xeb\\x8a\\x03\\x15\\xb8\\x83\\xf2\\xc3\\x26\\x3c\\x55\\x39\\x56\\x7d\\xa0\\x5a\\x49\\xac\\x5e\\x87\\x3f\\xdf\\xa4\\xc4\\xa9\\xb1\\xb7\\x40\\x8e\\xd2\\x85\\x9e\\xa0\\xbb\\x0a\\xe5\\x04\\xc9\\x89\\x9c\\xd5\\x61\\xbd\\xd5\\x66\\xad\\x0e\\x6b\\x6c\\x02\\x42\\x66\\xce\\x6c\\xa8\\x0c\\x9b\\x6d\\x34\\x0e\\x4e\\x2c\\xf4\\x48\\xf0\\x54\\xab\\xa0\\x5a\\x2c\\x4c\\x55\\x4b\\x8c\\xd4\\x68\\xd8\\x9b\\x9d\\xeb\\xba\\xe1\\x40\\x37\\x3c\\x25\\x5d\\x79\\x20\\x0d\\x4f\\xc9\\x50\\x1e\\xc8\\xe6\\x26\\xb5\\x69\\x9c\\x39\\x7c\\x5d\\xc6\\xba\\xb4\\x75\\xe4\\x1a\\xee\\xa7\\x1c\\x7e\\xe5\\xf8\\x2b\\x17\\x3e\\xc7\\x2f\\xbd\\x72\\x1c\\x78\\xad\\x1f\\x42\\xe4\\x0c\\xd0\\xc0\\x8e\\x72\\x64\\x97\\x64\\x47\\xf6\\xf2\\xb0\\xde\\x6c\\x31\\x97\\x87\\x35\\x16\\x9e\\xc6\\xc8\\x72\\xc2\\x44\\x95\\xc5\\xa1\\x0a\\x9e\\x6b\\x1d\\xcf\\xeb\\xba\\xf0\\x86\\x6a\\xc3\\xf8\\xd8\\xa2\\x51\\x38\\x7e\\xd4\\x92\\xf4\\x25\\x69\\x4b\\x32\\x96\\x0c\\x57\\xbe\\x1a\\xbe\\x28\\x63\\x51\\xda\\x22\\x68\\xf2\\x1d\\x25\\x17\\x9a\\x54\\x7a\\xb0\\x26\\x11\\x6e\\xfa\\x2d\\xda\\x6f\\x0f\\xea\\x28\\xfb\\xdc\\xa6\\xc1\\x61\\x01\\xb9\\x2d\\xee\\x14\\x37\\xa8\\x63\\x37\\xdd\\x7f\\xc4\\x0d\\x0e\\xeb\\xf5\\xc8\\x40\\x50\\x5c\\x65\\x2c\\x7e\\xac\\x1a\\x09\\xcb\\x12\\xa7\\xee\\x38\\xa2\\x1b\\x8e\\x82\\xf6\\x68\\x9a\\xa2\\x4e\\x74\\x03\\x9c\\x9a\\xa7\\x08\\xd3\\xe8\\x3f\\xd2\\xe4\\xf5\\x9a\\xac\\x7c\\xe7\\xba\\xd4\\x92\\xea\\x7e\\xb6\\x91\\x38\\x30\\x43\\xd3\\xae\\xc8\\xb9\\x26\\x70\\xcf\\x04\\x7b\\x1f\\xa0\\x04\\xf7\\xf7\\xbc\\xfe\\x4b\\x27\\x96\\xe0\\x53\\x91\\xbf\\x76\\xef\\xb0\\x6d\\x8d\\x72\\xf7\\xe7\\xea\\xfe\\x16\\x2f\\xcb\\x67\\xd3\\x13\\xfc\\xa2\\x44\\xd4\\x4e\\xf6\\xc4\\x0b\\x95\\xe1\\x38\\xad\\x4e\\x5b\\x1d\\x76\\xe9\\xe2\\xe1\\x9f\\x64\\x30\\x38\\x2a\\xc3\\x06\\x22\\xd9\\x62\\x83\\x41\\xdd\\xc5\\x56\\x73\\xaf\\x96\\xc8\\x43\\x34\\x1e\\x91\\x40\\xa3\\xba\\x49\\x8c\\x40\\x05\\xc5\\xfc\\x99\\x2d\\xca\\xf7\\x2f\\xd0\\x58\\x43\\xdb\\xd6\\x66\\xae\\x95\\xf1\\xa5\\x8f\\xaf\\x28\\x6f\\xcf\\x9e\\xb9\\xd5\\xf1\\x8f\\xcc\\x7f\\x38\\xb7\\x6f\\x79\\x90\\xfc\\xb8\\xf5\\xe7\\x35\\x4a\\x1a\\xc9\\x3b\\x83\\xfb\\xed\\xfd\\xc7\\x2d\\x7d\\x26\\x9c\\x99\\xb1\\x8a\\xe1\\x24\\x2a\\x23\\xf8\\x4f\\x01\\x27\\xd0\\x03\\xa8\\x40\\xf6\\x24\\x70\\xa9\\x5c\\x65\\x38\\x35\\x15\\x39\\x1c\\xbe\\xca\\xb0\\x83\\xe8\\x4d\\x26\\x4d\\x55\\xd8\\x94\\x80\\x54\\x9c\\xd4\\x55\\x49\\xcd\\x11\\x6a\\xd4\\xd0\\x82\\xaa\\xc3\\x1d\\x92\\xa2\\xca\\x35\\xa4\\x46\\x1a\\x14\\xa5\\x58\\xa0\\xc1\\x14\\xe2\\x3a\\xb1\\x77\\xb2\\x94\\x93\\xe7\\x2d\\x6b\\x9b\\xbe\\x20\\x73\\xed\\x42\\x0b\\x78\\x4d\\x3f\\x7c\\xf9\\xf9\\x8b\\xcf\\x7e\\x77\\x68\\xea\\x82\\xdd\\x7d\\x9e\\xc7\\x19\\x1c\\x89\\x7c\\x92\\xee\\xc9\\xcb\\x35\\x7e\\xa9\\x31\\x4c\\x5d\\xd0\\x75\\x88\\xb0\\x70\\xf7\\x23\\x8f\\x7f\\x53\\x10\\x39\\x4e\\xce\\xf7\\xe9\\xad\\xac\\x05\\x9f\\xb2\\x10\\xf0\\x1c\\x02\\x3c\\x94\\x8b\\x0a\\x51\\x07\\x98\\x47\\x8f\\x94\\x73\\x73\\x13\\xda\\xe7\\x77\\xc9\\x1f\\x1c\\x16\\xdb\\x64\\xa5\\x75\\xb1\\xea\\xba\\xc0\\x3f\\x93\\x37\\x2d\\x2d\\x71\\x70\\x38\\xcd\\x65\\x46\\x9d\\x25\\x93\\x34\\x38\\x6c\\xb2\\x84\\xda\\xa1\\x76\\xe5\\x61\\x14\\x8b\\x38\\xd2\\xb2\\x76\\x8c\\x6e\\x50\\x65\\x04\\xee\\x40\\x27\\x37\\xd1\\x95\\x3a\\xa0\\xac\\xd5\\x6c\\x2f\\x76\\x13\\x96\\xd2\\x6d\\x3e\\xb7\\x3d\\x48\\xa8\\x92\\x93\\x5a\\x7a\\x49\\xd4\\xe8\\x72\\x74\\x8f\\xa8\\x1f\\x8e\\xae\\x38\\x24\\xd0\\x40\\x35\\xb8\\x30\\x20\\x85\\x8a\\xb1\\x66\\xe2\\xd4\\xdf\\x7f\\x9e\\xd1\\xbd\\x5f\\x9c\\xf2\\xe9\\x6c\\xbc\\xc9\\xf8\\xc4\\x93\\xcf\\xcc\\xe8\\xa3\\x1f\\xa0\\x4f\\xf5\\xa7\\xa4\\x24\\x7b\\xb2\\xb3\\x72\\x93\\x27\\xf7\\xe1\\xc4\\xce\\x2b\\x6f\\xd9\\xf7\\x24\\xb7\\xba\\x72\\xe5\\x80\\xf9\\x0e\\x65\\xad\\x7e\\xda\\x42\\x7c\\x58\\xe8\\xdb\\xc9\\x6e\\x36\\x2d\\x9f\\x72\\xea\\xef\\x02\\xd6\\x0b\\x65\\x03\\x4c\\xb8\\x1b\\xc6\\x4b\\x95\\xc9\\xe9\\x9b\\xfb\\xb7\\x6b\\xaf\\x2c\\x28\\xf0\\x65\\xfb\\xc5\\xad\\xa2\\x4e\\xe4\\xc7\\xf4\\xc9\\x18\\x34\\xc9\\xae\\x54\\x91\\x6d\\x9c\\x72\\xca\\x75\\x5f\\xd5\\x13\\x59\\x71\\x58\\xcc\\xc6\\xc3\\x93\\xdd\\x07\\x71\\xa5\\x1a\\xe7\\x7b\\xaf\\x32\\x42\\x28\\x04\\x5a\\xf9\\x60\\x4c\\xdb\\xcb\\xc9\\x89\\x09\\xa9\\xa6\\x24\\x0f\\xcf\\x39\\xe3\\xe2\\x6c\\xe5\\xe1\\x38\\x97\\x06\\xa5\\x19\\x31\\x87\\xcb\\xc3\\x00\\x8d\\x33\\xa3\\x92\\x73\\xb1\\xf5\\x1c\\x51\\xaa\\xb8\\x3b\\x50\\x3a\\xd0\\x30\\x42\\x74\\x27\\x1a\\x86\\x7f\\x92\\x5f\\x0d\\x11\\xa9\\x8e\\x71\\x00\\xfb\\x31\\x1b\\x67\\x90\\xc7\\x7b\\x77\\xa5\\x1f\\xbe\\xef\\xf9\\xd0\\xab\\x58\\xf3\\xa4\\xf2\\x5b\\x62\\xfa\\x1c\\x65\\x05\\xd7\\x7b\\xc0\\xa2\\x75\\x69\\x1b\\xef\\xe8\\x7a\\xdf\\x10\\xe5\\x1f\\x4f\\xe2\\x99\\x46\\x23\\x1e\\xb1\\x75\\x0a\\x59\\x7c\\x82\\x06\\x42\\xc7\\x1b\\x95\\x69\\x27\\x22\\xc7\\x7c\\x45\\xb9\\x09\\xc7\\xdc\\xda\\x1c\\xa5\\x03\\x17\\x0c\\xe4\\x14\\x74\\xc7\\xa5\\x5f\\x53\\x5d\\xe5\\x53\\x26\\xd1\\x3c\\x80\\x20\\x1f\\x83\\xe4\\x2c\\x11\\x57\\x85\\xcf\\x8a\\x98\\x9c\\x10\\x31\\xbf\\x56\\xc4\\xfd\\xe1\\x54\\x4c\\x36\\xf6\\x31\\x8b\\x5e\\x91\\xd3\\x09\\xa2\\x68\\xe6\\xcd\\xba\\x2a\\x50\\x5d\\xc6\\x3a\\x5c\\x7a\\x48\\xcb\\x13\\x1a\\x0f\\xae\\x24\\xd8\\xac\\xc5\\xe8\\xee\\xc1\\xca\\x8a\\x8a\\x4a\\x1a\\x52\\x87\\x3e\\x96\\x23\\x3e\\xac\\xa6\\x97\\x08\\xd2\\x98\\x8e\\xc4\\xaf\\x3c\\x30\\x43\\xb9\\x80\\x45\\x1c\\x98\\x88\\xa7\\x4c\\xc4\\x81\\xf7\\xc7\\xdf\\x79\\x6d\\xd0\\x46\\xae\\x6b\\xe4\\x55\\xa1\\x67\\xe4\\x7b\\xce\\xde\\xb0\\x2f\\x32\\x07\\xd3\\xfd\\xbd\\x19\\x80\\xd3\\x52\\x16\\xd3\\x39\\x47\\x36\\x79\\x50\\xbc\\xd3\\x6b\\x22\\x26\\x6d\\x79\\xd8\\xe4\\x34\\x40\\xc3\\x87\\x89\\x63\\x48\\x98\\x58\\xa2\\x7b\\x69\\xa2\\x3b\\x76\\x4b\\x98\\xb9\\x8c\\xc6\\x9c\\x65\\xcd\\xb5\\x04\\xe9\\xa6\\x58\\x88\\x66\\x8c\\x2f\\x0f\\x7e\\x75\\xfe\\xaa\\xbb\\x2d\\x55\\xb3\\xe7\\xfc\\x6b\\xd0\\xc3\\x0b\\x2d\\x3d\\x4b\\x27\\x3d\\x16\\x37\\x53\\xf9\\x0a\\xa7\\x60\\xcf\\x20\\x63\\xa2\\x96\\x54\\x2f\\x9e\\xb1\\x72\\x59\\x9f\\xa1\\x8a\\x25\\xb2\\x07\\x6f\\xe5\\xa6\\x0e\\x29\\xe8\\xdd\\xfd\\xd0\\xca\\xc8\\x4b\\xc2\\x59\\x65\\x4a\\xaf\\xc9\\xf4\\xd9\\xa0\\x57\\x99\\xc4\\x62\\x0e\\x9a\\x51\\x80\\xae\\x39\\x47\\x98\\xbf\\x8e\\x20\\xd2\\xf5\\x04\\x61\\xf1\\xdc\\xd4\\xd6\\xb1\\x0f\\xdb\\x19\\x52\\x5c\\x3b\\x1a\\x59\\x90\\x92\\x60\\x0e\\x97\\x89\\x47\\x44\\x4e\\x5e\\xda\\x0a\\x34\\xa8\\x61\\xb1\\x05\\x81\\x08\\x4f\\x73\\x23\\x22\\x2f\\x45\\x7e\\x62\\x64\\x80\\xf6\\x4a\\x81\\x0e\\x17\\x59\\x6c\\x99\\xc0\\x0b\\xc8\\x8c\\x4b\\x41\\x87\\x6a\\x38\\xc2\\x63\\xad\\x59\\x44\\x82\\x13\\x1b\\xca\\x9b\\xe3\\x55\\xb0\\xf0\\x71\\x25\\xf4\\x01\\x1e\\xb9\\xae\\x45\\x52\\xd0\\xe9\\xd5\\x75\\x83\\x58\\x1f\\xe3\\x9f\\xc2\\x17\\x70\\xae\\x52\\xf0\\xc6\\xf4\\x39\\xff\\xc2\\x57\\x86\\x29\\x93\\x85\\xb3\\x8d\\xcf\\xe1\\x97\\x95\\x5b\\x95\\xec\\xc8\\x1e\\x75\\x5d\\xe0\\x0f\\xd0\\xde\\x97\\x6c\\x7f\\x74\\x3a\\x5d\\xcf\\x2c\\x89\\x95\\x61\\x89\\xf0\\x3a\\xa2\\xab\\x0c\\x13\\x1b\\x86\\x2e\\xb6\\xd2\\x47\\xcc\\x5a\\xf8\\xed\\x3e\\xd0\\x3c\\x34\\xb8\\x8e\\x8f\\x1c\\xbb\\x36\\xa8\\xf1\\x62\\x16\\x19\\x14\\xd9\\xdb\\x96\\xec\\xcc\\x6c\\x7c\\x9e\\x7b\\x43\\x99\\x84\\xb7\\xbe\\x4d\\xd6\\x7f\\x55\\xdf\\x38\\x5d\\xf5\\x7b\\x29\\xaf\\x4d\\xe5\\x3b\\xd2\\xfd\\xd7\\x2f\\x20\\x3d\\xf4\\xc7\\x22\\xf1\\x02\\x3f\\x34\\x2c\\x98\\x39\\x0d\\xd6\\x44\\xa3\\x6f\\xb4\\x52\\x18\\x2c\\x02\\x47\\x0c\\xbe\\x9f\\xfb\\x28\\x52\\x16\\xe0\\x4e\\x44\\x7e\\x0c\\x90\\xc1\\x81\\x48\\x19\\x37\\x69\\xfe\\xbf\\x4e\\x73\\xbb\\xcf\\xfc\\x2d\\x32\\x5a\\x7d\\xb6\\xca\\xa1\\x3e\\x4d\\xdf\\x01\\x2f\\xdf\\xca\\x62\\xf1\\x04\\x64\\x87\\x91\\xc0\\x9c\\x46\\xa7\\x73\\x56\\x86\\x75\\x3c\\xb1\\x8c\\x0d\\x13\\xbb\\xaa\\x51\\x5b\\x52\\x0c\\x50\\x8a\\x85\\x54\\xef\\x83\\x4e\\x65\\xdd\\xa1\\x20\\x4e\\x2f\\x08\\xd9\\x29\\xdb\\x70\\x4e\\x0b\\xe1\\xcd\\xb5\\x8f\\x9f\\xa9\\x3f\\x84\\xbb\\x9f\\x7b\\x7a\\xca\\x86\\x76\\xca\\x35\\xa5\\xdd\\x8a\\x8a\\x8d\\xed\\xe6\\xd6\\x6c\\x1f\\x3b\\x78\\x7c\\xe4\\xab\\x5f\\xf0\\x53\\x3f\\xd6\\x0c\\xbc\\x76\\xfc\\x8d\\x6a\\xee\\xc7\\xf0\\x01\\xe5\\xd8\\x63\\xca\\xf7\\xd0\\xc7\\xb5\\x08\\x09\\xc7\\xf9\\x81\\x60\\xfb\\xdd\\xb2\\xc1\\x4e\\x86\\x84\\x91\\xdd\\xa2\\x35\\x1b\\x35\\x4e\\xba\\x31\\x44\\xdd\\x08\\xac\\x86\\xc5\\x64\\xa2\\xe1\\x72\\x47\\x03\\x2e\\xb9\\x85\\x76\\xce\\x8c\\xa4\\xf4\\x50\\x9a\\x52\\xaa\\x3c\\xff\\x3a\\x4e\\x1b\\xa1\\x31\\x7b\\xaa\\xde\\xed\\xf9\\xdc\\xcc\\x05\\x0b\\x48\\x27\\x9b\\x35\\xa3\\x53\\x84\\xf0\\x1d\\x23\\xb5\\xed\\x5f\\x0d\\xbd\\x8c\\xd7\\x2d\\x5b\\x32\\x8c\\xd1\\x73\\x32\\xb4\\xf5\\x15\\xf4\\x37\\x03\\xf9\\x65\\x5b\\x92\\xbf\\x32\\xec\\x4b\\xe2\\x05\\xab\\x55\\xa3\\x25\\x2e\\x23\\xd6\\xa8\\x31\\x93\\x98\\x89\\x57\\x23\\xd2\\xfa\\x49\\x06\\x57\\x44\\x23\\x32\\x07\\x89\\x28\\xb1\\x90\\xa4\\x76\\x57\\x12\\x0e\\xc5\\xe2\\x34\\xb2\\x70\\xe0\\x20\\x2e\\xb7\\x7d\\x6e\\xe0\\xcd\\xdd\\xde\\xff\\x3c\\xf8\\x7b\\xae\\xce\\xa3\\x6f\\x97\\xf3\\xd4\\x3e\\x9f\\x64\\x48\\x4a\\x5a\\x9d\\x7f\\xcf\\x8c\\x0e\\x23\\xdb\\xaf\\x4c\\x8f\\x4b\\xc8\\x70\\x62\\xbd\\x17\\xb7\\x49\\xdf\\xaa\\x24\\x01\\xd3\\xf6\\x59\\xbc\\xde\\xb3\\x2c\\x8c\\x87\\x2a\\x7b\\xe7\\x85\\xd3\\x0b\\xee\\x18\\x83\\x9f\\x7b\\x68\\x55\\x46\\xd6\\x01\\x6f\\xa8\\x2b\\xc5\\x31\\x0c\\x38\\x1e\\x04\\x7a\\xf8\\xc1\\xe7\\xb5\\xc7\\xa7\\x0c\\x09\\x27\\xc5\\x5b\\x78\\xb3\\x19\\x6b\\xcc\\x92\\xd3\\x6e\\xa0\\x23\\x4e\\xa3\\x4a\\x5f\\x87\\x64\\x33\\x8e\\x40\\x1b\\x40\\xd1\\xd9\\x82\\xa0\\x4a\\x39\\x32\\xfb\\x52\\xa1\\xd4\\xee\\xc7\\x8b\\x09\\x1f\\xa5\\x81\\x24\\xe4\\x5d\\x79\\xb6\\x50\\xb2\\xb4\\x5b\\x5a\\x30\\xaf\\xaa\\x6c\\x6c\\xce\\x2a\\x6b\\xbc\\x35\\xa5\\x4d\\x3c\\x7e\\xbf\\x24\\xe3\\x36\\xa5\\x2d\\x90\\xec\\xf1\\x4d\\x03\\x4c\\xd5\\xf8\\x94\\xd2\\xa1\\x2c\\x67\\xe0\\x66\\x3c\\xfd\\xfe\\x39\\x59\\x39\\xcf\\x58\\x6d\\xc1\\xee\\x94\\x5f\\x06\\xd3\\x38\\x79\\x80\\x5b\\x1c\\x68\\xed\\xdc\\x83\\x92\\x33\\xc5\\x59\\x87\\x7b\\xcb\\xd6\\xb0\\x2e\\x25\\x45\\x34\\x9b\\x13\\x06\\x87\\xcd\\x16\\x24\\x3a\\x89\\x99\\xc9\\x74\\xcc\\x53\\x53\\x59\\x3f\\xbd\\x98\\x86\\x2e\\xf0\\x11\\x3a\\xc3\\x6f\\x99\\xfe\\xba\\x5d\\x6e\\xbb\\x1a\\xc6\\xd2\\x5d\\xcc\\x79\\x3b\\x95\\xe0\\x21\\x38\\x10\\xb9\\x47\\x79\\x7e\\xf4\\xf2\\xe4\\xd5\\xfa\\x23\\x5b\\x6f\\x9d\\x3c\\x75\\x79\\xbc\\x5e\\x93\\x12\\x48\\x4d\\xd3\\xd5\\x9c\\x5f\\x3e\\x97\\x9b\\xd3\\x70\\x0a\\x5f\\x6d\\xbb\\x2d\\x7b\\x68\\x9b\\x8d\\x07\\xaa\\x46\\x4c\\xd9\\x50\\x5a\\x5b\\xb2\\x82\\x9b\\x15\\x2c\\xcc\\x8a\\xef\\xd1\\x89\\xca\\x0b\\xf8\\x2e\\x03\\x58\\x9c\\x83\\x22\\x39\\x95\\xea\\xe6\\x8f\\x41\\x21\\x9f\\x03\\xdd\\xbc\\x55\\xc4\\xa3\\x45\\x4c\\x55\\x73\\xbc\\x98\\x25\\x72\\x22\\x4d\\x50\\x44\\xa2\\x71\\x45\\x2b\\x72\\x6e\\xd2\\xc0\\x7c\\x72\\xe4\\xe1\\x98\\xe6\\xe5\\x26\\xc4\\x14\\xae\\x2a\\x93\\xdb\\xa0\\x8d\\x64\\x90\\x49\\x09\\x25\\xca\\x16\\xcc\\x97\\x87\\x97\\xe2\\xfb\\xc0\\x50\\x61\\x51\\x32\\x83\\xdb\\x1c\\x85\\x18\\x0d\\xac\\x4e\\x73\\x50\\xdd\\x3d\\x14\\x7f\\x95\\xae\\xc4\\xdf\\xaa\\x7c\\xf9\\x0e\\xdf\\x51\\x19\\xf6\\x57\\xa5\\x1d\\x54\\x06\\x5a\\xc6\\x81\\xec\\x1d\\xe7\\x87\\x80\\xbf\\x99\\x04\\xda\\xc3\\x61\\x75\\x0f\\x0e\\x5b\\x2d\\x92\\x66\\x70\\x58\\xb2\\x24\\x18\\x89\\xb1\\x3c\\x4c\\x5a\\xbc\\x01\\xa4\\x46\\x5f\\xb2\\x20\\x5f\\x8a\\xd5\\x92\\x2e\\x81\\xac\\x81\\x31\\x67\\x43\\x2c\\x45\\x55\\x76\\xb1\\x8d\\x3f\\xae\\x3c\\xa0\\xec\\x56\\x52\\xb8\\x38\\xe3\\xb2\\xc7\\x76\\x4e\\xca\\x78\\x77\\xc7\\xd2\\xf5\\x5f\\x64\\xfb\\x3b\\x0c\\x88\\x9b\\xf4\\xc4\\x7e\\xee\\xac\\xf2\\x88\\xb2\\x12\\xef\\xe6\\xba\\x2d\\x39\\x98\\xac\\x5c\\x7c\\xe5\\x3b\\x03\\xe7\\x3e\\x75\\xf6\\x9d\\x47\\x6b\\xc6\\x4c\\xbd\\x23\\xf2\\xad\\x84\\x73\\xd5\\xbd\\x28\\x1a\\x34\\x80\\xbc\\x42\\x3e\\x66\\xef\\x90\\x82\\xb2\\x47\\xe0\\x8f\\x87\\x05\\x1a\\x90\\xf5\\x38\\x0d\\xc8\\x8a\\xd1\\xf1\\x30\\xa6\\x71\\x59\\x8f\\x37\\xbf\\x4c\\xaa\\x6f\\x1d\\x93\\x95\\x62\\x18\\x4a\\x97\\xd8\\x31\\x3e\\x9f\\x6b\\x93\\x17\\x99\\x97\\xc7\\xb5\\xcd\\xe3\\xda\\xfc\\xfc\\xe2\\xcf\\x91\\xf1\\xf0\\xa1\\xda\\xfd\\x43\\xe4\\x38\\x5e\\x14\\xcd\\x75\\x62\\x3a\\xc4\\xc3\\x50\\x60\\x94\\x57\\x0f\\xec\\xcc\\xd4\\x63\\x90\\x5a\\x74\\xec\\xb8\\x7b\\xe2\\xdd\\xca\\xa5\\x5d\\xc9\\xbb\\xc8\\x71\\xce\\xaa\\x3c\\xfd\\x08\\xa5\\x57\\x67\\xf2\\x0b\\xd7\\x57\\xa8\\x8f\\xd6\\x43\\x1c\\x27\\xf2\\xb1\\x7a\\xd4\\xd9\\x24\\x01\\xec\\xfe\\x1e\\x6a\\xdc\\x35\\x10\\xbf\\x32\\x40\\xc8\\x7f\\x44\\xc9\\xae\\xc6\\x73\\x6b\\xa0\\xbd\\x49\\xfc\\x28\\xbc\\xa9\\xb9\\x3d\\x0e\\x2d\\x93\\x60\\x6a\\x13\\x64\\x79\\xa0\\x69\\x3d\\xb7\\xe4\\x0b\\x7d\\xbf\\xcb\\xbb\\x6b\\x8d\\x27\\xf2\\xa3\\x07\\xea\\x7d\\xbf\\x72\\xa5\\xaa\\xdb\\x69\\xbd\\x97\\x84\\x63\\x48\\x40\\x86\\x83\\xc2\\x32\\xba\\xf9\\x1c\\x2a\\x51\\x16\\x09\\xf9\\x00\\xc3\\x85\\x50\\x1a\\xdf\\x93\\xbd\\x9a\\x1f\\xb5\\xf2\\x23\\x75\\x8f\\xd8\\x31\\x12\\xe1\\xd7\\x4b\\xa5\\x48\\x0b\\xad\\xd0\\xe4\\x4b\\x9a\\xe6\\x5e\\x81\\x2a\\xa6\\x6a\\x3f\\x08\\x2e\\x82\\x72\\xa5\\xe2\\xf1\\x0a\\xe5\\x1b\\x01\\x6f\\x4a\\xc3\\x6e\\xe1\\x13\\x25\\x05\\x5f\\x4a\\x84\\x89\\xc8\\x21\\xa8\\xff\\x28\\xd4\\x9f\\x11\\xad\\x2f\\x11\\x82\\xc5\\x16\\xaa\\xe0\\x10\\xdd\\x6e\\xef\\x93\\xb8\\x77\\xd3\\x94\\x1f\\x04\\xec\\x1e\\xf3\\xf8\\x18\\xec\\x12\\x48\\x04\\xf7\\x4b\\xa4\\x21\\x52\\x12\\x28\\x5d\\xb9\\x14\\xb2\\x93\\x77\\x48\\x6a\\x3f\\x93\\x0f\\x63\\xcc\\x13\\xba\\xa5\\x7e\\xf0\\xe1\\x51\\xf9\\x3c\\x9c\\xd3\\x00\\x2c\\x51\\x81\\x6c\\x49\\x76\\x43\\x16\\x7e\\x39\\x0a\\x67\\x28\\x06\\x9a\\xd8\\x46\\x28\\xe7\\x16\\x37\\x7c\\xc8\\xd2\\xd9\\xa8\\xb0\\x4c\\x51\\x58\\x7e\\xd9\\xc0\\x71\\x80\\x9f\\x81\\x60\\x5e\\xe6\\x45\\x00\\xb9\\x9f\\xe5\\xe2\\x89\\x85\\x3f\\x60\\x71\\x7b\\x68\\x98\\x77\\x60\\x76\\x52\\xa6\\x7c\\xf8\\xc8\\x97\\xb7\\x17\\x2a\\x97\\x0a\\xc9\\x4e\\x6e\\x31\\xde\\xa3\\xfc\\x84\\xe9\\x93\\xb2\\x17\\xf1\\x4e\\xb2\\x27\\x3a\\x06\\xa9\\xb2\\x3e\\x06\\x4f\\x92\\x28\\xb8\\x03\\x34\\x03\\x1b\\xe5\\x71\\xcb\\xa9\\x1b\\xc0\\x71\\x9f\\x35\\x83\\xc3\\x2d\\xe0\\x60\\x6c\\x1c\\x30\\x36\\x5f\\xc3\\xd8\\x68\\x91\\xe3\\x28\\x91\\x24\\x41\\xc0\\xcb\\xb4\\x34\\xb7\\x77\\x87\\xbc\\x02\\x35\\x0f\\x0c\\xcc\\x37\\xfc\\x21\\x38\\x76\\x73\\xf7\\xc7\\x5f\\x0e\\xac\\x0e\\x3c\\x9e\\xb3\\x5a\\x38\\xb6\\xf2\\xf4\\x69\\x75\\xac\\x94\\x4e\\xf0\\xf9\\x05\\x38\\xa2\\x5a\\x64\\x3b\\xc2\\xf3\\x12\\xc7\\x61\\xa8\\x5e\\x0f\\x13\\x6d\\xd6\\x7a\\x50\\x52\\x23\\xb0\\xfb\\x94\\xa5\\xab\\xb3\\x1f\\xcf\\x58\\x9d\\x71\\xd9\\x13\\x99\\x81\\x2b\\x3f\\x3a\\x7d\\x7a\\x25\\xb4\\x2d\\x2b\\xb7\\xe3\\xdf\\x9b\\x36\\xc1\\x04\\x19\\xb8\\x17\\x2f\\xe3\\x18\\x37\\xd5\\xb3\\x14\\x42\\x01\\x1a\\x9b\\x0b\\xff\\xfe\\xd9\\xd8\\x4d\\x97\\x71\\xf1\\xab\\xca\\xed\\x0f\\x3c\\x80\\x03\\x4c\\xae\\x9e\\xc0\\x26\\x52\\x05\\x62\\x4f\\xfb\\x4f\\x33\\x01\\x99\\x05\\x9a\\x87\\x85\\x86\\x4b\\x6c\\xce\\xd2\\xa3\\x65\\xa9\\x79\\x16\\xd2\\x4f\\x92\\x42\\xbd\\xd0\\xc8\\x0f\\xd1\\x74\\x3c\\xc0\\xfb\\x0a\\xf6\\xf3\\x22\\x9f\\xc5\\xea\\x1b\\x0e\\x22\\xc6\\xfa\\x41\\x96\\xc9\\x9c\\x9a\\x7a\\x7a\\xdc\\x96\\xc3\\xcd\\xca\\x89\\xf8\\xe9\\x27\\xe9\\x7b\\xf1\\x62\\xe4\\xc2\\x27\\x9f\\x00\\x8d\\xbf\\xc0\\xef\\x90\\x27\\x84\\xbb\\xd8\\x7b\\x63\\x4c\\xd4\\x77\\x3c\\x30\\xf6\\xdc\\x99\\x2f\\xb7\\xe0\\x0c\\xf8\\x6d\\x1f\\xc2\\x5c\\x3e\\x29\\x21\\xfb\\xd9\\xd8\\xe8\\x0f\\x42\\x77\\x58\\x46\\x5c\\xb5\\x18\\xb1\\x5c\\x1a\\x8d\\xd3\\x49\\x09\\xb7\\x9e\\xc6\\x6e\\x28\\x05\\xbd\\xf7\\x9b\\x70\\x05\\xec\\x74\\x3c\\x68\\xac\\x8e\\xb2\\x37\\xc1\\x33\\x74\\x54\\x02\\xd2\\xc1\\x0c\\xd9\\xa0\\xc3\\x2c\\x9c\\x44\\x79\\x38\\x3e\\xce\\x2e\\x0a\\x66\\xb7\\x8b\\x53\\xed\\x54\\x90\\x05\\x21\\x8c\\x6d\\x50\\x89\\xa9\\xb1\\xe8\\x3c\\xb9\\x39\\xa3\\x06\\xb8\\x9a\\x41\\x89\\x86\\x4b\\x0d\\x40\\x4f\\x38\\xed\\x5e\\xe5\\xeb\\xbd\\x1b\\xd3\\x37\\xba\\x92\\xdf\\xdc\\x3a\\xa9\\x3a\\x6d\\x60\\x49\\xa8\\xab\\xd5\\x7a\\x31\\xfd\\xaa\\xf2\\xd5\\x3b\\x38\\xfe\\xdf\\x99\\x38\\x3e\\x93\\x2c\\x6e\\x5c\\x09\\xae\\xfa\\xcc\\x47\\x9e\\x4c\\xac\\xb3\\xf7\\x1c\\x3a\\xe2\\x44\\xe3\\x4a\\xbe\\xe3\\x6b\\xe7\\xcf\\xab\\xb4\\x6a\\x8d\\x27\\xe8\\x30\\x77\\xdc\\x0d\\x28\\x52\\x04\\xe3\\x5b\\x23\\xd8\\x1a\\xbd\\xe0\\x9f\\xa1\\x47\\xfd\\xc3\\x3f\\x43\\x2d\\x8b\\x3a\\x8b\\xca\\xa5\\x3f\\x40\\x4b\\x38\\x7b\\xad\\x90\\xe6\\xcd\\xfa\\x06\\x67\\x90\\xf9\\xfc\\x05\\x5b\\x06\\x4d\\xab\\x66\\x95\\xf8\\x7f\\x37\\xbd\\xa1\\x1c\\x46\\x29\\xfb\\x31\\x5f\\xd7\\xf4\\x98\\x6c\\xe1\\x01\\xb9\\x74\\x2c\\xc5\\x62\\x71\\xf2\\xa8\\xc2\\x5a\\x84\\x59\\x7e\\x52\\x18\\xc3\\x5f\\x84\\x9d\\xfc\\x73\\xe2\\x65\\x9a\\x01\\xfc\\x88\\xc5\\x0c\\x6e\\x9f\\x91\\xd4\\xe1\\x0a\\x1a\\x43\\x97\\x06\\xab\\x89\\xc5\\x2c\\x02\\x86\\x8d\\xc6\\x7c\\x7e\\x2e\\xf9\\xdd\\x1d\\xeb\\x1f\\xd4\\xd4\\xf3\\x45\\x9d\\xba\\x56\\x19\\xc4\\xcb\\x5b\\x9f\\x5a\\x32\\x37\\x27\\x25\\xd0\\xae\\xc7\\xc8\\x1e\\x2c\\x96\\xce\\xa7\\xb8\\x33\\xbf\\x02\\x70\\x09\\x08\\x1a\\xe5\\x3f\\x34\\x63\\xab\\xa0\\xc1\\x06\\x86\\xd5\\x0f\\x68\\x3a\\xe7\\xa7\\x5e\\x18\\x57\\xad\\xd7\\x12\\x29\\x9d\\xd3\\x94\\x6b\\xb0\\x8a\\x8b\\x9a\\x33\\xb8\\xe9\\xf9\\xa6\\xb7\\x05\\x03\\xd4\\x15\\x05\\x2b\\x8b\\x43\\x76\\x80\\xe6\\x63\\xa2\\xd7\\x7c\\x13\\x83\\x7d\\x17\\xa5\\x3d\\xfb\\x9d\\x63\\xbf\\x2b\\x70\\x7d\\x88\\x5d\\x13\\xf6\\x7b\\x16\\x5c\\x8f\\x63\\xd7\\x2c\\x9f\\x18\\x5a\\xd8\\xf4\\x3a\\xbf\\x43\\xbc\\x0b\\xae\\xf5\\xec\\x9a\\xe6\\x28\\xda\\xc6\\x7e\\x37\\xb0\\xeb\\xdd\\x70\\x3d\\x9c\\x5d\\xbb\\x19\\xbc\\xb7\\xd9\\xfb\\x40\\x7a\\x1d\\xcf\\x6c\\x71\\x19\\xfe\\x1b\\xff\\x30\\x3f\\x1f\\xa4\\x22\\xee\\xa0\\xc8\\x61\\xae\\x0e\\x57\\x1e\\x08\\x03\\x51\\xf1\\x2d\\xa8\\xe4\\x64\\x2c\\xe0\\xba\\x9d\\xe5\\xec\\xe3\\x27\\x35\\x7c\\xda\\x0e\\xaf\\x19\\x86\\x2d\\xc3\\xf0\\xbd\\xf8\\x6f\\x60\\xb1\\x9f\\x55\\x86\\xd1\\x36\\xa6\\x36\\xfd\\x22\\x94\\x0a\\xff\\x84\\xb1\\x89\\x63\\x54\\xf8\\x0d\\xd7\\x03\\x6c\\xc3\\x51\\x9c\\xd8\\x36\\x31\\xd5\\x66\\x4f\\x8f\\xe5\\x89\\xa5\\xe5\\xba\\xb7\\x2e\\x47\\xf3\\x02\\xb3\\x72\\x38\\x31\\xd5\\x93\\x70\\x5d\\xb9\\x66\\x78\\x96\\x80\\x0a\\x8f\\x8e\\x39\\x0a\\x36\\x61\\x54\\x0e\\xd4\\xcd\\x34\\x67\\xe2\\x94\\x4c\\x39\\xf3\\xe5\\x4c\\x52\\xd7\\x74\\x5a\\xce\\xc9\\xcc\\xb5\\x25\\xa4\\xe3\\x44\\x4b\\x22\\x56\\x5b\\xe4\\x72\\x06\\xe5\\x54\\xe6\\x4c\\xcf\\x21\\xf4\\x6b\\x69\\xce\\x7d\\x39\\xe7\\x73\\x7e\\xcc\\x69\\xca\\x91\\xb6\\xe7\\x60\\x34\\x93\\xa6\\x16\\xc7\\x39\\x30\\x28\\x39\\x15\\xd1\\x44\\xe5\\x37\\xe2\\x06\\x6d\\xb2\\xb6\\x9a\\x71\\x2c\\xd9\\x8f\\x13\\x69\\x43\\x99\\x00\\x3d\\x21\\x1d\\xa6\\x51\\x99\\xb9\\x80\\x2f\\xf6\\x0e\\xf2\\x56\\x7a\\xa7\\x7b\\xc9\\x20\\x96\\xc3\\xfc\\x3e\\xef\\x79\\xef\\x8f\\xde\\x26\\xaf\\xb4\\xdd\\xdb\\xdc\\x0a\\x34\\xd2\\x9c\\x0b\\xbd\\xe9\\x40\\x53\\x3c\\x1b\\xeb\\x0c\\x3a\\xd6\\x56\\x91\\xff\\xe1\\x0a\\x42\\xe6\\xfd\\x38\\xa9\\xae\\xe9\\xf5\\x43\\x49\\x09\\x46\\x07\\x23\\x00\\x2d\\xa7\\xec\\xb8\\xae\\xdc\\x8f\\x6a\\xb9\\x44\\x5a\\x2e\\x31\\xb9\\x55\\xb9\\x28\\xef\\xa8\\xe5\\xa8\\x4c\\x54\\x28\\x18\\xd9\\x0f\\x61\\x0f\\xf2\\xe0\\xba\\xa6\\x5f\\x0e\\x79\\x52\\x4c\\x40\\xfd\\xe6\\x9c\\xd3\\x5f\\xc0\\xd8\\x97\\x31\\x19\\x42\\xd1\\xf2\\x7d\\x9a\\xf6\\x21\\xcf\\x7e\\xec\\xa8\\x6b\\xfa\\x50\\xd6\\x39\\x3c\\xc8\\x92\\x8e\\x93\\x50\\x12\\x8e\\x49\\x0f\\xd0\\xa5\\x1c\\x14\\xd7\\xf3\\xac\\x0e\\x8e\\xd6\\x71\\xa2\\x21\\x28\\x75\\x3f\\xf6\\xd4\\x35\\x3d\\x22\\x5b\\x3d\\x29\\x82\\x11\\xea\\xe4\\x25\\x61\\x39\\xa9\\x3c\\xa9\\x2a\\x89\\xa0\\x8a\\x96\\xba\\x31\\x5e\\xce\\xa0\\xbc\\xcc\\xea\\xe2\\xa6\\x89\\xc8\\xba\\x1f\\x6b\\xea\\x9a\\x8e\\x1e\\xd2\\x98\\x38\\x92\\x9e\\x13\\xcd\\xa5\\xdd\\xcc\\xe7\\x19\\x94\\xcf\\x59\\xd9\\xef\\xa1\\xac\\xe1\\x28\\xe7\\xf0\\x39\\x3c\\x44\\x88\\xf1\\x06\\x06\\xd4\\x41\\x8f\\x53\\xd9\\xe3\\xd1\\x7d\\x6a\\x49\\xe5\\x1c\\xf4\\xc2\\x7d\\x04\\xeb\\x2c\\xba\\x14\\x1d\\x57\\xd7\\xf4\\xe8\\x21\\x9d\\x8e\\x10\\xd6\\x6f\\x35\\x4f\\xf7\\x69\\xa8\\xd3\\x9f\\xbf\\x06\\xb0\\x85\\xa0\\x5a\\xe3\\x7e\\x80\\xed\\x91\\xb5\\xd8\\x91\\xe2\\xc8\\x77\\xc8\\x0e\\x60\\xa2\\x4f\\x0f\\x39\\x1c\\x92\\x14\\xad\\x04\\x75\\x7a\\x83\\x6f\\x59\\xc7\\xff\\x00\\x75\\x24\\x36\\x06\\xff\\xfe\\x75\\x1f\\x8a\\x97\\x8d\\x38\\x95\\xa4\\x66\\xea\\x6c\\xe9\\x38\\x07\\xe5\\x34\\x93\\x29\\x3a\\xbe\\x78\\x2c\\x57\\x46\\x3e\\x51\\x75\\xd4\\x04\\xb5\\x0f\\xd9\\xe8\\x39\\xe4\\xdc\\x8f\\x75\\x75\\x4d\\x07\\x8e\\x30\\xa4\\x40\\x45\\x45\\x15\\x13\\x95\\x4d\\x65\\x29\\x93\\xcd\\x0c\\x41\\x1b\\xed\\x73\\x21\\xe0\\x05\\x23\\x6d\\x01\\x5e\\x3b\\x64\\x71\\xf1\\x1a\\xb5\\xdb\\xad\\xe5\\x3e\\x83\\xca\\x3d\\x2b\\x3b\\xab\\x49\\xc5\\xc8\\x91\\xe9\\xf0\\x68\\xcd\\xe9\\xd8\\x8d\\xdc\\xad\\x31\\x6a\\xa5\\x1b\\x32\\xa8\\x6e\\x60\\x75\\xe8\\xe2\\x9e\\x74\\xe8\\xb7\\x1d\\x66\\x88\\xf6\\x14\\x3b\\x61\\xe3\\x6e\\x8f\\x47\\x80\\x58\\x22\\x4a\\x8c\\x56\\x8f\\xd1\\xad\\x69\\x0f\\xd3\\x25\\x17\\xa1\\xbe\\x51\\xa5\\x81\\x7f\\x1f\\xca\\x93\\x7d\\x38\\x39\\x3f\\x19\\xcf\\x48\\x5e\\x96\\x7c\\x7f\\xf2\\xf3\\xc9\\x2f\\x27\\x5f\\x4d\\x16\\x07\\x26\\xa7\\x19\\xe2\\xd3\\xb1\\x8f\\x06\\x82\\xca\\xf7\\x91\\x28\\x98\\x99\\x31\\x3c\\x6a\\x81\\x87\\xbe\\x63\\xb8\\x9b\\x5b\\xf1\\x5d\\xbc\\x6c\\xc6\\x36\\x8d\\x2d\\x8e\\x13\\xd3\\x71\\x02\\x4a\\xa8\\x4c\\xe0\\x9a\\x95\\x36\\xd4\\x19\\x0e\\xf4\\x3f\\xc6\\xea\\x58\\x9a\\xe9\\x9f\\xba\\x9f\\x4b\\xab\\x6b\\xfa\\x55\\xb6\\xa6\\x65\\xc7\\xa5\\xa4\\x73\\x6d\\x2b\\xdb\\x2e\\x6d\\xcb\\xa1\\xb6\\xf9\\xf0\\x51\\xd1\\xac\\xef\\xa1\\x6e\\x15\\xd0\\xf5\\x41\\x56\\xd7\\xa6\\xd6\\xed\\xbd\\x1a\\x25\\xc1\\x4c\\xc3\\xd1\\xc3\\xe1\\xd1\\x45\\x29\\xf5\\x16\\x25\\xd6\\xcc\\xeb\\xc6\\x8f\\x66\\x68\\xe4\\x77\\xb0\\x7a\\x76\\xb5\\xde\\xe8\\x7d\\x50\\xcf\\x8e\\xe3\\xf3\\xe3\\xe5\\xf8\\xf2\\xf8\\xaa\\x78\\x7e\\x60\\xbc\\x17\\x09\\x94\\x56\\xb4\\xe2\\xcc\\x98\\x5c\\x5d\\x80\\x7a\\x6a\\xff\\x9c\\x51\\x8e\\x3c\\xab\\x7c\\x80\\x3c\\x2f\\xd0\\xf4\\x4e\\xb2\\xc1\\xea\\x06\\x3e\\xc7\\x8e\\x41\\x8e\\x4a\\x47\\xb4\\x87\\x34\\x47\\x7a\\x23\\xe0\\x78\\x82\\xd5\\x71\\xa9\\x6d\\xb9\\x3f\\xa0\\xa3\\xc9\\xb9\\x2a\\x5d\\x89\\xc4\\x9a\\xce\\xc5\\xa3\\xf8\\x1b\\xf9\\xab\\x59\\x97\\x67\\x50\\x5d\\xfe\\xdf\\xf0\\x0b\\xd3\\x67\\xac\\x6c\\x5c\\x2b\\xdd\\xf9\\xff\\x91\\xf6\\x1f\\xf0\\x71\\x13\\xf9\\xfb\\x38\\xae\\x69\\x92\\xd6\\xbd\\xa4\\xd9\\x71\\x9c\\x4d\\x71\\x0a\\x4e\\x1c\\x5b\\xd2\\xee\\xda\\x21\\xc5\\x4d\\x4a\\x21\\x21\\x21\\x95\\x10\\x20\\x6c\\xec\\xb5\\xbd\\x89\\xed\\x75\\xec\\x75\\x42\\x12\\x4a\\xe8\\xbd\\xf7\\xa3\\x85\\x5e\\x13\\x3a\\xa1\\x06\\x0e\\x38\\x0e\\xee\\x28\\x77\\x1c\\x47\\x39\\x3a\\x77\\x94\\x3b\\xe0\\xa8\\x47\\x8f\\xf3\\x1f\\x49\\x8f\\xed\\x8d\\xf1\\xf1\\xb9\\xff\\xf7\\x97\\xbc\\xd6\\x33\\xd2\\xce\\xcc\\xf3\\x9e\\xf7\\x8c\\xe6\\x79\\xde\\x92\\x56\\x6a\\xae\\x96\\xc6\\xa7\\x17\\x8d\\x2c\\x2a\\x2d\\x62\\x8d\\x45\\x27\\x16\\x5d\\x58\\xc4\\x86\\x14\\x8d\\x2f\\xaa\\x2f\\x5a\\x56\\x94\\xf4\\x36\\x5f\\x2e\\xd2\\x1f\\x2f\\x92\\x2c\\xb0\\xf7\\xd9\\xea\\xc9\\x45\\x63\\xf3\\x0b\\xe5\\x1a\\x97\\x18\\x7d\\xf5\\x68\\xea\\x3e\\x46\\x73\\x1a\\x96\\xbb\\x63\\xb1\\xce\\xa5\\xb9\\x7f\\xe8\\xb9\\x72\\xb1\\x3b\\xec\\xb0\\x0d\\x9d\\xae\\xa9\\x6b\\xdc\\x17\\x63\\xf5\\xaf\\x77\\xbd\\x5c\\x33\\xc1\\xe5\\x1a\\xcf\\x86\\xd1\\xd2\\xde\\xf2\\xea\\x42\\x77\\x91\\x09\\x8e\\xa2\\x1d\\xa3\\xb6\\x8d\\x3a\\x77\\xd4\\xf6\\x51\\x77\\x8e\\x7a\\x7c\\xd4\\x9f\\x46\\xbd\\x3b\\xea\\x8b\\x51\\x81\\x07\\xf6\\x7e\\x71\\xff\\xa8\\x71\\x99\\xf2\\x00\\x0b\\x2a\\xbd\\x93\\xc8\\x3b\\xb6\\x36\\xcb\\x39\\xb4\\x49\\x75\\x64\\x5b\\x5c\\xae\\xcf\\x2a\\xff\\x52\\x49\\x59\\xd3\\xc4\\x5d\\x7d\\x6b\\xda\\xb7\\x7b\\x3b\\x7d\\x4e\\x91\\x71\\xf1\\x50\\xa5\\x6f\\xdd\\xf0\\x8f\\x1f\\xaf\\x5c\\x9a\\xe7\\xef\\x6f\\xb7\\xf9\\xa5\\x94\\xe1\\x43\\x99\\xc7\\x50\\xbd\\xe3\\xef\\x95\\xc9\\x47\\x5b\\x5b\\xc0\\x4f\\xc1\\xa2\\x42\\x3d\\x13\\xce\\x25\\x4a\\xa3\\x2c\\xf7\\x86\\x7a\\x8e\\x92\\xab\\x8c\\xdf\\x45\\x79\\xb6\\xaa\\xe6\\xf2\\xb4\\x47\\xc9\\x4a\\x25\\x97\\x1c\\x2c\\xbf\\xe5\\x32\\xe7\\x9e\\x77\\xf1\\x7e\\x38\\xeb\\x3d\\xdf\\xd3\\x15\\x82\\xee\\xe3\\xa2\\x67\\x93\\x31\\x5a\\x16\\x91\\x3a\\xed\\xc7\\x8b\\x37\\x93\\xec\\x15\\xf3\\x7e\\xac\\x3a\\xb0\\xa4\\x96\\x0c\\xb1\\xcb\\x2e\\xd9\\xfe\\x45\\xcf\\x13\\x7c\\x0c\\x6d\\xef\\x99\\xbf\\xe7\\xaf\\xd6\\x95\\xc7\\xbe\\xf1\\xc5\\xe5\\x7f\\xdb\\xd2\\x23\\xa9\\x9c\\xec\\x69\\xe5\\x8f\\x29\\x2f\\xaa\\x86\\xd4\\xd9\\x52\\xb5\\x06\\xb6\\x09\\x57\\xa3\\x7b\\x71\\xd7\\x58\\xae\\x8d\\x0b\\x8f\\x1f\\x63\\xee\\xe2\\x9f\\xf4\\x5c\\xbd\\xf1\\xa4\\x2b\\xc9\\x35\\x24\\x73\\x84\\xd8\\xb5\\xf1\\xf8\\xdd\\xf7\\xb9\\x36\\xde\\xc9\\x1f\\x63\\x97\\xa3\\x9e\\x4e\\xfa\\xeb\\x99\\x41\\x3e\\x7c\\xdc\\x84\\xf1\\xa5\\xe4\\x99\\x11\\x24\\x83\\x1c\\xba\\xf4\\x24\\xbb\\xe7\\x85\\x4f\\xb8\\x6a\\xdc\\xb7\\xfb\\xf8\\x8d\\x2e\\xde\\x36\\xfe\\x94\\xb2\\x53\\xfc\\x49\\xc9\\x90\\xda\\x3c\\x83\\xa5\\x6d\\xd3\\xdc\\xb7\\xaa\\xbb\\x2f\\xd9\\xc8\\xf7\\x4f\\x84\\x8c\\xf3\\x44\\xdd\\x39\\xab\\x6f\\x71\\x8e\\x3f\\xb3\\xe4\\xfc\\x99\\x5f\\x3f\\x74\\xe4\\x73\\xfc\\xa7\\xe1\\x93\\x2b\\x9c\\x73\\x8f\\x0a\\xb9\\xb8\\xe7\\xf0\\xa7\\xd8\\xa3\\xb2\\x7e\\x96\\xac\\x9f\\xa5\\x6d\\x63\\xe9\\x9e\\xb6\\x77\\x23\\x4c\\xff\\xae\\x15\\xd3\\x7b\\x72\\xdf\\xc4\\x9d\\x87\\xdd\\x6c\\x9f\\x72\\xc6\\xe8\\x0b\\x4b\\x37\\x3f\\x72\\xf2\\x81\\x37\\x2e\\x13\\x97\\x8f\\xd8\\x2f\\x54\\xdb\\xb8\\x7e\\xe6\\xd8\\xa1\\xb2\\x8d\\xaf\\x7a\\xf6\\xa7\\xe7\\xed\\xbd\\x4a\\xc6\\x8d\\x79\\xd5\\x69\\x54\\xb9\\x68\\xb5\\xf7\\x8e\\x59\\x19\\x31\\x1f\\xe6\\xbd\\xd6\\x3b\\x7f\\x8c\\xc6\\xbe\\x52\\x2f\\x25\\x44\\xfb\\xba\\x67\\xff\\x31\\xa4\\xb6\\xa4\\xe7\\x09\\x3f\\x7e\\x3c\\x96\\x6f\\xe7\\xf7\\x88\\x27\\x95\\x3c\\x25\\x58\\x9d\\x93\\x95\\x2d\\x46\\x0b\\x1a\\x60\\x42\\xa9\\x56\\xd2\\xce\\xf5\\x6f\\x13\\x75\\x63\\x6c\\xf7\\xfe\\x02\\xbc\\xd7\\x18\\x8a\\xcf\\x7d\\x3d\\x5d\\x16\\xa5\\xff\\x78\\x60\\x87\\xfa\\x2e\\xaf\\x39\\x7c\\xe1\\xfc\\xb2\\xac\\x77\\x0b\\xd7\\xef\\xe6\\xdb\\x9b\\x92\\xe3\\x4b\\xa6\\x56\\x95\\x8f\\xaa\\xa9\\x4c\\x6c\\x9a\\x29\\x75\\x7e\\x09\\x8f\\xb3\\xa7\\xa4\\xce\\x1f\\xf0\\x5e\\x7f\\xcf\\x20\\x5a\\xa2\\x5d\\xe2\\x5a\\xc4\\xe3\\xbd\\x16\\x11\\x3a\\x9b\\x3f\\xcc\\xde\\x56\\x8b\\xbd\\xf2\\x6e\\x37\\xa8\\x5f\\x5e\\x63\\x63\\x22\\xf9\\xf2\\x8b\\x4b\\x7b\\xf6\\xea\\x5f\\xa9\\xc5\\x63\\x7a\\x76\\x97\\x10\\xf7\\xbc\\xd5\\xde\\x27\\x7a\\x56\\xb2\\x67\\x65\\x8c\\x93\\xeb\\xda\\x1f\\xc8\\xca\\xcf\\x4c\\x5b\\xbc\\x2a\\x33\\xdb\\x7f\\xaa\\xdf\\x48\\xf7\\x05\\xdb\\x78\\xe0\\xa6\\xeb\\x4d\\xf7\\x61\\xc7\\x9e\\x5a\\x75\\x5f\\xcd\\xc2\\xb2\\xe8\\xeb\\x8b\\xae\\x2c\\x9d\\x7c\\xfc\\x31\\x89\\x8e\\xa1\\xb7\\xf5\\x5c\\x55\\x42\\x8f\\xfa\\x6b\\xc1\\x25\\xff\\xe8\\x59\\x59\\x98\\xfb\\xd2\\xd8\\xd6\\x56\\xd6\\xb9\\xfb\\xa7\\x07\\x8f\\x7b\\x28\\xea\\xfa\\xe8\\x76\\xba\\x90\\xad\\xf3\\xce\\xb7\\x4e\\xba\\x2b\\x3d\\xcd\\xfb\\x81\\x81\\xa2\\x73\\xf7\\x29\\xf7\\x5c\\x54\\x07\\x32\\xe6\\x0a\\xf7\\xc7\\xf8\\xb9\\x72\\x02\\xbf\\x52\\xfa\\x7c\\x69\\x6e\\x95\\x27\\xe7\\xe5\\x90\\x45\\xdc\\xa1\\x63\\xe3\\xe8\\xc9\\xf9\\xf3\\xd7\\x14\\x07\\xa7\\x9f\\x39\\xee\\xbe\\x0b\\x1f\\xe3\\xa7\\x14\\x4d\\x1c\\x71\\x43\\xad\\xb1\\x47\\x97\\xed\\xae\\x96\\xed\\x7e\\x23\\x0e\\x92\\x71\\xcd\\xfe\\xd5\\x43\\x87\\x68\\x4a\\x69\\x26\\x61\\xfe\\x4b\\xf5\\x44\\x66\\x6e\\x6e\\xda\\x47\\xab\\x72\\x1f\\x20\\xf9\\xf7\\xbb\\x0b\\xfd\\xc7\\xab\\x94\\x07\\xdc\\xdb\\x40\\xfb\\xcf\\xba\\x7a\\x0f\\xbf\\xf7\\xaf\\x94\\xca\\x98\\x21\\xe2\\x1e\\x28\\xde\\x29\\x99\\x89\\xfe\\xd9\\x75\\xf7\\x85\\x74\\xee\\x0b\\x10\\xc8\\xea\\xa2\\x69\\xc7\\xad\\x59\\xb5\\x30\\xc0\\xe8\\xec\\xa9\\xfb\\xe7\\xdf\\x3d\\xf9\\x86\\xad\\x9d\\x09\\x91\\x51\\x77\\xd8\\x71\\x6d\\x45\\xe4\\xf0\\x62\\xba\\xf0\\x9c\\xb9\\x1d\\xa1\\x8a\\x03\\xa6\\x8d\\x8f\\x84\\x6a\\xd2\\xb6\\x76\\xad\\x3c\\xd0\\x98\\x75\\xd8\\x7c\\x7b\\x46\\xd9\\x65\\x6e\\xbf\\x8f\\xa4\\x55\\xec\\x0b\\x69\\xdf\\x7e\\xca\\xa1\\xd5\\xe5\\x25\\xb9\\x39\\xb9\\x39\\x1f\\xad\\xca\\xce\\x7d\\x31\\xf7\\x9d\\xdc\\xcf\\x73\\x79\\x76\\xee\\xe8\\xdc\\x69\\x32\\xb3\\x37\\x57\\x04\\x58\\x6e\\xae\\x92\\x39\\x72\\xd4\\xc8\\xa9\\x23\\x59\\x26\\x1f\\x39\\x7a\\xf4\\x88\\x8f\\x56\\x8d\\x96\\xa6\\xdf\\xa7\\x04\\x3e\\x5a\\x25\\xa4\\xe5\\x43\\x52\\x06\\x42\\x1a\\x9e\\xe7\\x5f\\x83\\xd8\\x80\\x87\\x77\\xfa\\x6f\\x2b\\xf3\\xde\\xd4\\xe0\\xbf\\x8e\\x29\\xe2\\xdf\\xd1\\x95\\xd2\\x9d\\x21\\xd9\\xc4\\xed\\x13\\xa1\\x1b\\x8e\\xd9\\xfa\\x12\\x71\\xe4\\x34\\xac\\x99\\x5c\\x50\\x62\\xcd\\x0a\\x5a\\x53\\xa6\\x66\\x3f\\x3e\\xe1\\xea\\xe3\\x5b\\x3b\\x77\\x92\\x63\\x44\\xfe\\x0e\\x5a\\xb5\\x6e\\x2b\\x2b\\xcc\\x13\\x6b\\x97\\x94\\x4f\\x18\\x77\\xc2\\xa8\\x39\\x13\\xad\\xca\\x70\\x46\\x67\\xe7\\xf2\\x05\\x57\\xcc\\x50\\x47\\x6d\\x28\\x6d\\xda\\xe2\\xc6\\xc5\\x07\\xd1\\x05\\xec\\x6f\\xde\\x3b\\xd9\\xf2\\xdc\\xa7\\xc6\\xc8\\x08\\x2d\\x9b\\x7f\\xb0\\x2a\\x47\\x17\\xd9\\xd9\\x24\\x5d\\x53\\x1f\\x96\\x63\\xe9\\x9e\\x2a\\xf0\\xde\\x1a\\x66\\xa6\\xbe\\x21\\xcb\\x7f\\x14\\xa1\\x7b\\x52\\x85\\xc9\\xd8\\x4c\\xba\\xd8\\x8c\\x84\\x59\\x6c\\xf4\\x63\\xa3\\x7b\\x6e\\x1b\\x45\\x2e\\xfb\\xcb\\xca\\x25\\xc5\\xf7\\xe6\\xce\\x0e\\xad\\xbf\\x6b\\x42\\x3a\\xfd\\x74\\xfb\\xf6\\x8b\\xc8\\x53\\x3d\\xb3\\x2e\\x21\\x8f\\x8c\\x58\\x52\\xbf\\xe9\\xe9\\xb0\\x6c\\x70\\x1b\\xad\\x66\\x9f\\x4b\\xdc\\x31\\x4a\\x43\\xf5\\xd4\\x2b\\xf3\\x77\\xe4\\x3f\\x9a\\xcf\\xce\\xc9\\x27\\xf9\\x23\\xb2\\x87\\xce\\xcd\\xce\\x27\\x59\\x3c\\x3f\\xa7\\x50\\xba\\x78\\x44\\x76\\xe1\\xe8\\xc2\\x69\\x85\\x6c\\x2c\\x2b\\x2c\\x54\\x86\\x0c\\x19\\xfe\\xf1\\xaa\\x21\\x72\\x7a\\x55\\x67\\xb8\\xde\\xfc\\x50\\x90\\x65\\x82\\xf4\\xfa\\xd4\\x7f\\xf1\\x53\\xff\\x55\\x1d\\x13\\x0e\\x2e\\xf5\\x5e\\x81\\xe1\\xb9\\x75\\xa8\\x7f\\xb4\\xfa\\x6f\\xbb\\x18\\xe7\\xbd\\xd2\\xd3\\x3f\\x0b\\xea\\x79\\xf3\\xc8\\xcd\\x7f\\x18\\x35\\xba\\x64\\xda\\x88\\x92\\xe2\\xc8\\x98\\x07\\x8e\\x27\\x2f\\x14\\xf7\\xbc\\x3c\\x2d\\x74\\xf8\\xca\\xc3\\xb5\\x11\\xb7\\xd1\\xea\\x78\\xa3\\x9a\\x9d\\x3d\\x75\\xac\\x19\\x2d\\x9e\\x54\\x30\\x89\\xdc\\x7f\\xd9\\xb5\\x65\\xab\\x96\\x4f\\x18\\xb3\\xd5\\x7b\\xc7\\x30\\x79\\x8c\\x2e\\xe4\\xfb\\xc9\\xbe\\x64\\x28\\x23\\xee\\x77\\x2f\\x41\\x7c\\xbc\\x4a\\x7b\\x48\\xfa\\x4d\\x21\\xbd\\x17\\x43\\xdd\\x60\\x7e\\x16\\x75\\x1f\\xcb\\x2d\\xe7\\x22\\x3d\\xff\\x8f\\x43\\x97\\x9c\\x72\\x6e\\xcf\\x16\\x39\\xe3\\x46\\x5e\\xb9\\x6d\\x2e\\x5d\\xd8\\x76\\xf7\\x9d\\xe7\\x5e\\x76\\xd6\\x75\\xb7\\xde\\xac\\x30\\xd2\\x29\\xfd\\xf2\\xa5\\x9c\\x67\\x69\\xca\\x70\\xc5\\x50\\x0e\\xb8\\xbb\\xb4\\x38\\xd3\\x7d\\x25\\x44\\xf1\\xf0\\xc2\\xb9\\x99\\xd5\\xd9\\x1a\\xc9\\xd6\\x46\\x6b\\xd3\\xb4\\xcf\\xb5\\xbd\\x9a\\x9c\\x6a\\x9a\\x36\\xa2\\xa4\\x84\\x7e\\xb4\\xaa\\x44\\x4e\\xb0\\x7b\\x47\\x0c\\x91\\xee\\xf2\\x7c\\xb1\\xaf\\x23\\x36\\x14\\x3e\\x5f\\xea\\x1d\\x1b\\xfe\\x59\\x5e\\xef\\x05\\x77\\x56\\xdf\\x93\\x74\\x67\\xb9\\xcf\\xc5\\x74\\x2f\\x64\\x86\\xfa\\x5f\\xd4\\x9e\\x4d\\xbc\\x5b\\x36\\x29\\x0b\\x86\\xf6\\x9b\\x1a\\x2a\\x9e\\x98\\x37\\x71\\xee\\x04\\xa3\\xa0\\x78\\xbf\\x49\\xe5\\x05\\x67\\x6c\\x39\\x7e\\xf5\\xa1\\x87\\x2d\\x3c\\xe7\\xd0\\x8d\\x9b\\xae\\x21\\xb3\\xc2\\x53\\x97\\x1f\\xc3\\x2f\\x8d\\x2c\\x28\\x9b\\x39\\x76\\x4e\\xcf\\xbb\\x75\\x93\\x56\\x8d\\x29\\x1e\\x5b\\x72\\x78\\xcf\\x4f\\xab\\x56\\xad\\xde\\x3c\\x94\\x19\\x2b\\xaa\\x3b\\xf6\\x5f\\x3a\\xff\\xfc\\x3a\\x96\\x35\\xcb\\x0c\\x75\\x2e\\xd8\\xcf\\xe5\\x87\\x2f\\x7a\\xce\\xdf\\x5b\\xb1\\x37\\xaa\\x30\\x25\\xed\\x6e\\xb6\\x8d\\xba\\xec\\xe0\\x9f\\x43\\xd9\\xf3\\x85\\x7b\\x62\\xa1\\xe7\\x7c\\xef\\x24\\x02\\xe9\\x79\\x95\\xdf\\xac\\x6c\\x15\\x3f\\xc9\\xb5\\x6c\\xc8\\xae\\x8c\\xec\\x6c\\x41\\xb5\\x6d\\x59\\x1e\\x07\\x19\\xde\\x19\\x39\\xb7\\x07\\xde\\x63\\x81\\x3d\\x73\\xdd\\xe5\\xa5\\xfc\\xd8\\x9a\\xaa\\xb4\\x59\\x35\\x67\\x9e\\xf3\\x97\\xc0\\x51\\x43\\x67\\xaf\\x12\\x87\\x56\\xa4\\xb5\\x66\\x38\\x35\\xc7\\x15\\x18\\xed\\x13\\x24\\x27\\x48\\x05\\xca\\x23\\xde\\xf3\\xd3\\x47\\xba\\xd7\\xc1\\x16\\xaf\\x0a\\x64\\x2b\\x82\\x89\\xc5\\xab\\x58\\xff\\x05\\x9c\\x8a\\xf2\\x12\\x39\\x27\\xdc\\x67\\xa7\\x47\\xc6\\xd0\\x57\\x48\\xb4\\xe4\\xa7\\x9f\\x4a\\xc8\\x19\\xa7\\xf6\\xbc\\x5d\\x42\\xf7\\xdf\\xbd\\x7b\\x37\\xdd\\xbd\\xdb\\x7b\\x86\\xe6\\xde\\x1d\\xe2\\x21\\x5a\\xa6\\x95\\xe2\\xb7\\xcc\\x43\\x76\\xe9\\xe9\\xdb\\xa8\\xaa\\x0a\\xf7\\xfc\\xa4\\x99\\xeb\\x9f\\xd7\\x74\\xcf\\xa1\\x0a\\xf9\\x99\\x28\\x1b\\x24\\x0f\\x6f\\x2f\\xde\\xde\\x93\\x94\\x7f\\xae\\xa1\\x8d\\x23\\xf7\\x5c\\x21\\x1e\\xba\\xf4\\xd2\\x4b\\x5f\\x3f\\xbd\\xbf\\xad\\x4c\\xd9\\x96\\x7b\\xef\\x7b\\xa6\\x8c\\xfc\\x03\\x7a\\x46\\x86\\x26\\x24\\xef\\x49\\xe2\\x34\\xdf\\x2e\\x7c\\x1e\\xb7\\xd5\\x68\\x62\\xdc\\x6c\\x92\\x8f\\x46\\x69\\x26\\xeb\\xf9\\xe9\\x62\\x76\\xc3\\xf5\\xbd\\xed\\x6a\\xa5\\x39\\x97\\x65\\x5d\\xde\\x73\\x8e\\x6c\\x77\\xa0\\x7d\\x39\\x52\\x81\\x66\\x66\\x05\\xb6\\xe5\\xac\\xcd\\x20\\x19\\x29\\x56\\xbe\\x7d\\x98\\x81\\x53\\x66\\x7e\\x9b\\x25\\xa6\\x74\\xe3\\xc4\\x88\\x39\\xbc\\xdf\\x5a\\x32\\xe9\\x72\\xfa\\xe9\\x93\\xf7\\xb3\\xcb\\x4f\\xf7\\x2d\\x4e\\x3b\\xe7\\xac\\x8c\\x3a\\xb7\\xfd\\xdb\\xc4\\x43\\xe4\\xd5\\x54\\x9b\\xd3\\xdc\\xc7\\x06\\x6e\\x63\\x99\\x01\\xd9\\xf6\\x9b\\xbd\\x36\\xe7\\x0f\\xd7\\x64\\x83\\xee\\x8d\\x07\\x25\\xf2\\xf3\\x4e\\x9c\\x5d\\xfc\\x2c\\x0b\\xba\\xcd\\x9e\\xe9\\x59\\x7c\\x79\\xd6\\x65\\x39\\xaf\\xbb\\x06\\xd3\\xbd\\x77\\xa4\\xd8\\x9b\\x75\\xaf\\x50\\x7b\\x4f\\xf5\\xc2\\x3c\\x77\\x50\\x08\\x73\\xad\\xba\\xa5\\xd7\\x7f\\xae\\xf7\\xe8\\xde\\x6e\\x71\\x1f\\xea\\x15\\xb9\\x56\\x10\\x3a\\x42\\xcf\\xd9\\x36\\x34\\x9d\\x2b\\xd3\\x9e\\x32\\x0b\\xdf\\x32\\x9e\\x7a\\xda\\xf0\\x4e\\x44\\x8e\\x11\\x63\\xfd\\x07\\xbf\\x8e\\x73\\x9f\\xf4\\xeb\\x3d\\xdc\\xd2\\x25\\xec\\xb0\\xd7\\x18\\x39\\xc1\\x5a\\xb0\\x70\\xfc\\x54\\x2b\\x67\\xf5\\xc8\\xca\\xe5\\xb3\\xc7\\xd7\\xec\\x1f\\x2e\\x2c\\x37\\xb2\\x0e\\x1d\\x55\\xb9\\x44\\x2b\\x3d\\xfd\\xd3\\x09\\x25\\xe3\\x26\\x2d\\x9e\\x37\\x79\\xf8\\xa8\\xe1\\x13\\x4a\\x96\\xcd\\x99\\x28\\xe7\\xe5\\xeb\\xfc\\x54\\xba\\x5e\\xac\\xf1\\xc6\\x9d\\xeb\\xba\\xb2\\x2d\\x4d\\xa5\\xae\\x47\\xa5\\x33\\xf1\\x78\\x56\\xf7\\xfd\\x00\\xde\\x87\\xae\\x3f\\x71\\x62\\xc1\\x2b\\xf6\\x24\\xf9\\x99\\x58\\x2e\\xd6\\xbc\\x9a\\x90\\xff\\xdc\\x67\\xf9\\x93\\x53\\xa5\\xce\\x78\\x44\\x7c\\xa3\\x64\\xbb\\x1a\\x49\\xdb\\x96\\xe6\\x3e\\x72\\xd7\\xef\\xad\\x77\\x8b\\xb2\\x2b\\x2b\\x4c\\xc3\\xbd\\x85\\x84\\xfe\\xfd\\xd8\\x8b\\x1d\\x29\\x2a\\x2e\\xda\\x51\\xfe\\xee\\xe4\\xcf\\xf8\\xf6\\xd9\\xed\\x2b\\x27\\x4e\\xb6\\x2e\\xf8\\xfd\\xdd\\xd7\\x7a\\xe7\\xf1\\x4f\\x12\\xcf\\x52\\x8e\\x71\\xc8\\xba\\x57\\x61\\x47\\xe8\\xee\\xa4\\x29\\x7c\\xf3\\xf9\\x5e\\xe7\\xbb\\x67\\xca\\xdf\\xf3\\x1c\\x4f\\x7a\\xf6\\x5c\\x31\\x92\\x36\\xfa\\x6e\\xef\\xb9\\xea\\xf4\\xbe\\xfa\\x99\\xfd\\xf5\\xe9\\x11\\xee\\x53\\xc2\\xfd\\xfa\\xfe\\x84\\x13\\xd2\\x79\\xbd\\x93\\xad\\xe7\\x34\\xcf\\x5f\\xfe\\x54\\x7b\\xad\\xcf\\xff\\x23\\x64\\xfd\\x11\\x4a\\xb1\\x8c\\x3d\\xd2\\x0a\\x46\\x56\\x0f\\xe1\\x19\\xdb\\x72\\xdd\\x5b\\xd9\\xfd\\x01\\x28\\x7c\\xdb\\x6d\\x6a\\x50\\xef\\xe7\\x7b\\x00\\xc4\\xf8\\x6f\\xde\\xbf\\xc2\\x47\\x15\\xf7\\x0d\\x18\\x02\\xb2\\xd1\\xc5\\xf7\\x8f\\x9d\\x7e\\xfc\\x22\\x25\\xa8\\x8c\\xa9\\xce\\x1a\\x5d\\x54\\x54\\x58\\x58\\xfc\\x0b\\x2b\\x5e\\x30\\x70\\x14\\x0d\\x6a\\x49\\x04\\x47\\xc0\\x7f\\xb7\\x25\\xd9\\x7b\\x44\\xfc\\xc2\\x9a\\xb7\\xbd\\x23\\xce\\xf5\\xc5\\xab\\xe2\\x47\\xba\\xd4\\x9b\\x8b\\xae\\x2f\\x03\\x84\\x79\\xca\\xf7\\x4d\\xe3\\x29\\xff\\x1a\\x87\\x54\\x1f\\xe3\\x22\\x64\\x93\\x3b\\xfd\\x77\\xf3\\x9e\\xee\\x8b\\x19\\x99\\xa2\\x5e\\x70\\x69\\x4e\\xcf\\x3b\\x59\\x64\\x9c\\x57\\xff\\x4a\\x79\\x0c\\x30\\xaf\\x7e\\x86\\x92\\x77\\x3f\\x23\\x3c\\x6d\\x5b\\x86\\xee\\x8e\\xc6\\x5b\\xc6\\xd3\\x38\\x0e\\x86\\xf7\\x1d\\xa2\\xd3\\xb6\\x8f\\xda\\x5e\\x74\\x39\\xfd\\xe4\\xc9\\xfb\\xe9\\xe5\\xa7\\xcb\\x76\\x5e\\xc3\\xa1\\x29\\x7d\\x72\\x7c\\x5f\\x3b\\xfe\\xda\\xe4\\x5e\\x16\\x13\\xdb\\xf4\\x74\\xff\\x80\\xf2\\xe7\\x28\\x3a\\xec\\xde\\xa7\\x45\\x3e\\xe8\\xed\\xdb\\xf7\\xde\\xf0\\xca\\xc6\\x2e\\xbd\\xf4\\xa3\\xd3\\xfd\\xeb\\x6c\\xbd\\x6b\\x66\\xae\\x52\\x51\\x5d\\xc0\\xd2\\x33\\xd2\\x97\\xae\\x22\\x72\\x75\\xca\\x71\\x6f\\xc9\\xca\\xc9\\xe6\\xba\\xa6\\x2f\\x5e\\xa5\\xa5\\x5c\\xff\\x4e\\xbd\\xd8\\x48\\xbc\\xbb\\xb1\\xbc\\xd5\\xd4\\x3d\\x95\\xeb\\x8a\\xcc\\x8a\\x77\\x26\\xbd\\x63\\xf6\\xae\\xaa\\xe6\\x5b\\x93\\xde\\x9a\\xea\\xad\\xac\\x92\\x0f\\x7b\\xbe\\xdb\\xbd\\x9b\\x04\\xfe\\xf8\\xaf\\xdd\\x7e\\xec\\x39\\x6d\\xef\\xa7\\x22\\xa4\\xcd\\xcc\\x9b\\xc0\\xd6\\xba\\xe7\\xd2\\x02\\xf3\\x89\\xb2\\xf7\\x3f\\xb9\\x9a\\xb6\\x9d\\x4c\\x24\\x1b\\xe4\\x7a\\x96\\xc7\\x59\\xa4\\x3a\\x2f\\x6f\\x6e\\xa4\\x3a\\x2d\\x63\\x6e\\x84\\x96\\x96\\xe6\\x4e\\x50\\x64\\x6c\\x95\\x5b\\x5a\\x1a\\x0a\\xfd\\x5a\\xfd\\x6b\\xc8\\xfc\\xff\\x4f\\xf5\\x77\\x90\\xfd\\x7a\\xeb\\x4f\\x77\\xeb\\x4f\\x77\\xeb\\x4f\\xff\\xdf\\xeb\\xef\\x24\\xd5\\xff\\x7f\\xd4\\xbf\\x16\\xf5\\x27\\xd0\\xcb\\x5e\\xfc\\xce\\xeb\\xfd\\x14\\xf2\\x8a\\x5c\\xe7\\x32\\x39\\xab\\x95\\x4b\\xee\\xdc\\x5a\\x3a\\x79\\x72\\x6f\\xc5\\x5f\\xab\\x77\\x0d\\xd9\\xff\\xff\\xa9\\xde\\x0e\\x32\\xb6\\xb7\\x9e\\xed\\xd6\\xb3\\xff\\xc7\\x7a\\x3b\\xc9\\xb0\\xff\\xa3\\xde\\xc3\\x7b\\x3f\\xe5\\xfb\\x6b\\xb3\\x64\\xbd\\x75\\xbe\\x7f\\xe4\\xce\\x6f\\xbd\\x1e\\x5a\\xa4\\xd3\\xf5\\x0f\\xa3\\x41\\xd7\\x3f\\x41\\xd7\\x3f\\x41\\x32\\x64\\xc8\\x00\\xff\\xb8\\xf5\\x4f\\x1c\\xa4\\xfe\\x35\\x64\\xee\\xff\\x5c\\x7f\\x30\\xfc\\x1d\\xfd\\xf8\\xe3\\xdc\\xfa\\xe3\\xdc\\xfa\\xe3\\x06\\xaf\\x7f\\xf4\\x20\\xf5\\x77\\x92\\x9a\\xff\\x19\\x7f\\xbe\\xe7\\xb7\\x75\\xfb\\x8c\\x2f\\xc6\\x89\\xd1\\x52\\xd7\\x6f\\xa5\\x24\\x2f\\xef\\x97\\x7e\\xeb\\xf8\\x45\\xbd\\x6b\\xa4\\xd5\\xff\\x77\\xbd\\x5f\\xe2\\xed\\x90\\x2a\\x0f\\xf5\\xca\\xdc\\x7a\\x65\\x83\\xd6\\x5b\\xa1\\xdd\\x38\\xa0\\xde\\x4e\\x52\\x48\\xfe\\xf6\\xab\\xf5\\xd6\\x79\\xfe\\x71\\xe7\\xff\\x46\\xf8\\xe7\\x4b\\x8c\\xef\\x34\\x7f\\xfe\\x33\\x3a\\xc9\\xf5\\xcf\\x24\\xd7\\x3f\\x93\\x48\\x51\\xd1\\x00\\xff\\xb8\\xf5\\x4f\\x1e\\xa4\\x7e\\xdf\\xf1\\xfb\\x3f\\xd4\\x1f\\x0c\\x7f\\x07\\x99\\xd4\\x5b\\xbf\\xd4\\xad\\x5f\\xea\\xd6\\x2f\\xfd\\x6f\\xf5\\x0f\\xf8\\x45\\xfd\\x9d\\x72\\x84\\x8e\\xfd\\x9f\\xeb\\xdf\\x80\\xfa\\xd2\\x6f\\x9f\\xf9\\xe3\\xbb\\x80\\xbc\\xee\\xfb\\xcd\\x74\\xfd\\x66\\x92\\xc2\\xc2\\x5f\\xfa\\xed\\x2c\\x6d\\xc7\\x80\\x7a\\xd7\\x90\\x83\\xc8\\x7b\\xff\\x67\\xbd\\xa3\\xbd\\xf1\\x4d\\xad\\xb7\\x83\\x54\\xf4\\x8e\\x6f\\xd8\\xad\\x17\\xfe\\x1f\\xeb\\xed\\x94\\xe1\\xf3\\xaf\\xd7\\x73\\x79\\x61\\xb7\\xeb\\x5f\\x65\\x81\\x7b\\x9e\\x2b\\x50\\x47\\x4e\\x51\\x2e\\x56\\xd2\\xee\\xa5\\xf9\\xf9\\xd4\\x2b\\xe8\\xdd\\x37\\xb5\\x92\\x9f\\x2f\\x0e\\x91\\xbc\\xbc\\x5f\\xf5\\xb0\\x61\\xf9\\x05\\x05\\x59\\x6b\\x56\\x15\\xf0\\x21\\x6c\\xb4\\x9e\\x9f\\xa7\\x88\\xe8\\x2a\\xda\\x77\\x46\\xc2\\xec\\xbd\\x19\\xcf\\x23\\x68\\x9c\\x94\\x48\\xbd\\x11\\x4e\\xeb\\xbb\\x49\\x8e\\x92\\xaf\\x56\\x35\\x4f\\x5e\\x58\\xde\\x10\\x2b\\xb8\\x22\\xb7\\x66\\xce\\xf2\\xe3\\x0b\\x6e\\xf4\\x6e\\x11\\x19\\x12\\xac\\xd9\\x11\\x3b\\xfd\\x37\\x39\\xb7\\x2f\\xee\\x59\\x99\\xff\\x52\\x7a\\xdb\\xf1\\x6c\\xcc\\x21\\x33\\x96\\xcc\\xbb\\xe2\\xf8\\x9f\\x6f\\x17\\xf6\\x8d\\xab\\x8f\\xb8\\xef\\x86\\x03\\x96\\xfd\\x7c\\x56\\x4f\\x5c\\xda\\x55\\x2c\\xed\\xfa\\xbb\\xf7\\x9e\\xc9\\x31\\xd5\\x39\\xf9\\x81\\x2c\\x36\\x34\\x47\\xcf\\xcc\\x53\\xf8\\xda\\x7d\\x2c\\x32\\xfd\\xb7\\x88\\x4b\\x73\\x86\\xbb\\xa7\\x77\\x08\\xf5\\x0c\\xc9\\x77\\xcf\\x96\\x10\\x29\\xcb\\x4e\\x88\\xd5\\x4d\\x34\\x42\\x55\\x63\\x47\\xf4\\x7c\\x52\\x9c\\xb6\\xad\\x67\\xaf\\x34\\xe1\\xa0\\xf7\\x86\\x8d\\x58\\x43\\x94\\x9e\\xf7\\x8a\\xae\\xec\\x59\\x19\\x78\\x9a\\x17\\xd7\\x1f\\xcb\\x3e\\xef\\x79\\xb1\\x62\\x4f\\x87\\xb0\\x7f\\x7e\\xec\\xdd\\x2d\\xe4\\xa3\\x1f\\xf7\\xbf\\xf8\\x02\\x9f\\x57\\xc3\\x7b\\xbf\\xe6\\xcf\\x48\\xdf\\x8c\\x56\\xa6\\x54\\x0f\\xcb\\x1b\\x2a\\x75\\x60\\xf6\\xa8\\x9c\\x51\\x6c\\xcd\\xaa\\x51\\xf9\\x43\\xd3\\xd6\\xac\\x1a\\xca\\x73\\xd8\\xbe\\xf7\\x7c\\xb9\\x37\\x9f\\x4a\\x73\\xbc\\x33\\x60\\x79\\xbe\\x67\\xb2\\xdd\\x2b\\xf4\\xbd\\x9e\\x49\\x23\\x7c\\x5c\\x90\\x91\\xc5\\x5a\\x53\\x62\\xc3\\xf5\\x87\\xac\\x8a\\x76\\xdd\\x38\\x62\\x5c\\xcf\\xcb\\x27\\x7e\\x19\\x5c\\xf0\\xca\\xd1\\x9f\\x9e\\x12\\xbd\\xab\\xe7\\xc7\\x3b\\x7b\\x16\\x17\\x92\\x67\\x8e\\x6b\\x7b\\x95\\xdc\\xb2\\xaa\\x71\\xf5\\x35\\x47\\xdf\\x4f\\x6f\\x92\\x7e\\xf9\\xe1\\x9c\\xa3\\x7b\\xe6\\xf7\\xbc\\x7f\\x36\\xd9\\xee\\x6a\\x90\\x9e\\xa7\\x95\\x66\\x32\\x89\\xb5\\x4b\\xdd\\x50\\xa0\\xe4\\xdf\\x95\\x9d\\xf6\\x30\\xd9\\x5f\\x19\\xa6\\x70\\x32\\xd3\\x0b\\xfe\\xdd\\x3b\\x8b\\x7b\\x5f\\x1d\\x68\\x1a\\xcc\\x7f\\x6b\\x20\\x62\\x48\\x32\\x29\\xba\\xa3\\x29\\xb9\\xe5\\x0f\\xb7\\x7d\\x76\\xf7\\x84\\x09\\x65\\xcb\\x2a\\x26\\x4e\\x9a\\xba\\xb4\\x9c\\x36\\x5d\\xf0\\xcf\\x13\\x4e\\x3b\\xe9\\x9f\\x24\\xa7\\x67\\xcf\\x9c\\xf0\\x9a\\x9d\\x6d\\x73\\x2a\\x1b\\x6e\\x73\\xcf\\x53\\x2d\\x51\\x36\\x28\\x3f\\xb1\\x06\\x45\\x55\\x0a\\xef\\x27\\x94\\xbb\\x4f\\x80\\x7f\\xc8\\xfb\\xb5\\xc1\\x0c\\xf7\\xae\\x25\\xf7\\x17\\x05\\xb2\\xb7\\x13\\xf3\\xb5\\xd9\\xc4\\x64\\x0b\\xbb\\x5f\\x19\\xf9\\xcf\\x1b\\x2e\\xd8\\x40\\x0f\\x69\\x3b\\x7d\\xeb\\x9e\\x2c\\x2f\\x36\\x3c\\x4d\\xe9\\x24\\x96\\xb4\\x73\\xa4\\x32\\xea\\x5e\\x2d\\x2f\\x3d\\x90\\xfd\\x00\\xd9\\xff\\x1e\\x52\\x50\\xa0\\x3c\\xe0\\xb6\\x60\\xb8\\x67\\x9d\\x4c\\xef\\x3d\\x81\\xde\\xa9\\x20\\xef\\x2d\\xbd\\x7d\\x27\\x4f\\xb2\\x88\\x7b\\x0a\\x75\\x8c\\xd6\\x73\\xda\\xb0\\xd2\\x4d\\xdb\\xe6\\x74\\x2e\\x39\\x64\\xfc\\xbd\\x13\\x6f\\xdb\\xb2\\x69\\x6b\\x78\\xf5\\xb1\\xc6\\x61\\x85\\xa4\\x73\\x64\\xe7\\x86\\x19\\x6d\\xcb\\xcb\\x17\\xda\\x75\\x31\\xbd\\xab\\xf3\\xb0\\xe5\\x55\\xd1\\x65\\x07\\x05\\xab\\x83\\x67\\x48\\xdc\\x5b\\x95\\x26\\x52\\x29\\x71\\x27\\x28\\xe3\\xab\\x03\\x25\\xb9\\xb9\\x79\\x79\\xac\\xa8\\x20\\x28\\xc1\\xef\\x4e\\xd7\\xd9\\x03\\x9e\\x9b\\x7a\\x4f\\x92\\xe4\\xf5\\xbd\\x6a\\x24\\x34\\x9b\\xe0\\x6c\\x8e\\x77\\x32\\xa7\\x77\\x62\\xf7\\xda\\xa3\\x0d\\x23\\xfa\\xae\\xed\\x47\\x9f\\x4e\\x1e\\x6a\\x9a\\xed\\x1c\\x57\\x3b\\x72\\xf6\\x01\\xf3\\x4b\\xf7\\x9b\\x5a\\x97\\x79\\xcf\\xf8\\x3b\\x37\\x27\\xb7\\xdd\\xb6\\x95\\xb4\\x6c\\x3a\\x63\\x7d\\x4b\\x7e\\x76\\xfa\\x9a\\xaa\\xd0\\x82\\x33\\xaa\\x2a\\x82\\x13\\x8c\\x69\\x99\\xf1\\xae\\xd5\\x4b\\x2e\\x0e\\x17\\xb9\\x63\\x76\\xb2\\xf4\\xc5\\x44\\xe9\\xcb\\x34\\x25\\x4b\\xce\\xe8\\x34\\x85\\x73\\x5d\\x64\\x66\\xd2\\x74\\xd5\\xf5\\x28\\xf5\\x3d\\xea\\x9f\\xb5\\xf1\\x62\\xb2\\x94\\x53\\x36\\xd9\\xc4\\xbc\\x76\\xd4\\x8e\\x51\\x3d\\xe7\\x8d\\x20\\xbb\\x9e\\x38\\xb4\\xb5\\xe0\\xf7\\x93\\xdf\\x79\\x91\\x68\\x17\\x5d\\xb4\\x95\\xbc\\xd7\\x53\\x72\\x1c\\xb9\\x6e\\xda\\xd7\\xae\\xaf\\x6f\\x94\\x73\\x62\\xb6\\x6c\\xdf\\xfd\\xfd\\x47\\x20\\x2f\\x27\\x67\\x44\\x61\\x21\\x1b\\x3e\\xe4\\x01\\x32\\xfd\\xee\\xb4\\x94\\x3e\\x7b\\x08\\xfe\\x6f\\x7d\\xdc\\x3e\\xcf\\x24\\x91\\xbe\\x9f\\x1e\\xa5\\x9c\\x68\\x21\\xf9\\xcf\\x5e\\xbf\\xf5\\xa4\\x5d\\x22\\x5a\\xbb\\xd4\\x2c\\x9f\\x15\\xbe\\xad\\x93\\x7c\\x57\\xd0\\xb3\\xb3\\xb4\\x66\\x61\\x4b\\x92\\x6c\\x3f\\xfd\\x8e\\x75\\x31\\x35\\xeb\\x90\\xc5\\x76\\xa9\\x31\\x8d\\xdc\\x79\\xdc\\xe5\\x25\\x09\\x6f\\x4e\\xfe\\x56\\xe2\\x97\\x4b\\x9f\\x0f\\x53\\xc6\\x28\\xa3\\x77\\x15\\xe4\\x0d\\x19\\xc2\\xb2\\x33\\x03\\xee\\xcc\\x1c\\xad\\x30\\xcc\\x4c\\x17\\xbe\\xaa\\x0f\\xdc\\x9b\\x9e\\xbd\\x77\\x06\\x86\\xbd\\x1b\\xb4\\xfa\\x7e\\xec\\x49\\xd2\\x76\\x5d\\xb1\\xf9\\xe8\\x57\\x1f\\x6e\\xec\\x08\\xdc\\xa5\\xd5\\x57\\xad\\x18\\xee\\xac\\x5f\\xd3\\xfa\\xe0\\x21\\xd3\\xe7\\x4d\\x9d\\x32\\x63\\x2e\\xb9\\xe2\\xd4\\x1d\\xde\\x74\\x5d\\xde\\x34\\x74\\x5e\\x43\\xe3\\xac\\xe6\\xe4\\xea\\xb9\\x33\\xcb\\x66\\x2e\\xf5\\xee\\x45\\xe2\\xd2\\xcf\\x87\\x4a\\x3f\\x64\\x28\\x43\\xee\\x09\\xa8\\xaa\\xe6\\xba\\x97\\xf8\\xee\\x75\\xfb\\x3d\\xb1\\xff\\xfc\\xce\\xec\\x47\\xf3\\x97\\x1c\\x7d\\x73\\xcf\\xe6\\x91\\x74\\x7a\\xc1\\x15\\xc7\\x2d\\xed\\x5c\\x73\\xeb\\x2d\\xf7\\x9e\\x71\\xdc\\xce\\xfb\\xee\\x70\\xf5\\xb9\\xe7\\xcf\\x90\\xec\\xcf\\x70\\xef\\x0d\\x98\\x63\\xab\\x03\\x81\\xa1\\xe3\\xc6\\x15\\x17\\xb3\\xc2\\x6c\\xb7\\x4f\\x93\\xfa\\xfa\\xe4\\x4f\\xa2\\xfe\\x59\\x64\\x85\\x23\\xa9\\x3f\\x5a\\x2b\\xf6\\xce\\xe1\\x78\\x13\\x8b\\xf5\\x9e\\xd7\\x21\\xda\\x83\\xd7\\x1d\\x7d\\xea\\xe1\\x4b\\xa6\\x4c\\xd9\\x79\\xc1\\xb1\\x9b\\x96\\xda\\x15\\x55\\x67\\x1f\\x94\\x3c\\x68\\x56\\x78\\xca\\xda\\xea\\xb9\\xd1\\xd3\\x48\\x62\\xf3\\x39\\x0d\\xab\\x0e\\x4c\\x16\\xe6\\xce\\x9f\\xba\\xee\\xe8\\xc3\\x17\\xd4\\xad\\x2b\\xc8\\x9a\\x4b\\xf4\\xfa\\xce\\xb9\\xf5\\x3d\\x5f\\x1e\\xe4\\xd4\\x2d\\xf7\\xe2\\x98\\x9e\\xfb\\xa4\\x7d\\x53\\xa5\\x7d\\x43\\xdc\\x88\\x6a\\x57\\x71\\x7a\\x7e\\x66\\x26\\x1b\\x91\\xef\\xce\\xf1\\x80\\xb6\\xcf\\x78\\xe7\\xf9\\x1e\\xf7\\xce\\xc6\\xbb\\xa3\\x1d\\xe9\\xfb\\x45\\x4c\\xea\\xaf\\x6b\\xc9\\xd4\\xd7\\x1e\\x69\\x4b\\xe8\\x77\\x06\\xe6\\x1c\\x59\\x5e\\xdf\\x71\\x78\\xcb\\xee\\xab\\x3f\\xbb\\xaf\\x74\\xea\\xf4\\x79\\x93\\xf7\\x9b\\xb1\\x80\\xc6\\xbe\\xe8\\xf9\\xea\\x90\\xd8\\xb0\\x03\\x1f\\x9f\\xb5\\xfe\\xf0\\xf3\\xae\\xff\\x72\\xea\\xac\\x15\\x35\\xfb\\x85\\x17\\xf9\\xf1\\x54\\x83\\xb8\\x80\\xa9\\x9a\\x2e\\x63\\xd3\\x6c\\x19\\xc5\\x10\\xc6\\x02\\xd9\\x08\\x88\\x9e\\x37\\xaa\\xbc\\xbb\\x68\\x4c\\x19\\x41\\x46\\x86\\xfb\\xb1\\xb6\\x9c\\xd2\\x74\\xea\\xeb\\xac\\xe7\\xe7\\x23\\xe8\\x12\\x1e\\x7f\\xc8\\xbd\\xe5\\x8c\\x0c\\x79\\x4e\\xd3\\x33\\xee\\x4c\\xbb\\x63\\xc8\\x2d\\xb7\\x0c\\x71\\xef\\x59\\xa2\\x3d\\xef\\x89\\x0b\\xc8\\x0f\\x7d\\x6d\\x0a\\x4a\\x33\\xd4\\x6d\\x59\\x69\\x29\\x6d\\xe6\\x6b\\x5e\\x7c\\x65\\xe6\\xa3\\x55\\x46\\x8f\\x78\\x9c\\xbe\\xfe\\xbb\\xe7\\x6e\\xe7\\x2d\\x8f\\xd2\\x9f\\xe3\\x5c\\x5d\\x91\\x76\\x67\\xc6\\xd2\\x9e\\xaf\\xdc\\x26\\x3d\\x1b\\xcf\\xa7\\xd7\\x69\\xee\\x39\\x96\\x42\\x65\\x74\\x75\\xa6\\x7f\\x9a\\x2a\\x2b\\x6b\\x68\\xc1\\xb6\\xe1\\xf9\\xbd\\xad\\xf6\\x9e\\xb0\\xf2\\xde\\x49\\x3a\\xd1\\x7b\\x29\\xab\\xea\\x36\\x6d\\xb8\\xb1\\x1c\\x2c\\x0f\\x85\\x8c\\x29\\xda\\xac\\xba\\x53\\x96\\xed\\xcf\\x67\\x66\\x2f\\xad\\xed\\xef\\x80\\x7a\\x43\\x71\\x4e\\xf5\\x90\\xc5\\x46\\xed\\xf0\\x03\\x5f\\xee\\xed\\x86\\xc4\\xdd\\x2a\\x2e\\xa0\\x96\\xec\\x47\\x81\\x32\\x56\\xaa\\x91\\x8c\\xa1\\x22\\xb3\\x3a\\x2f\\xa0\\x14\\x16\\x6f\\x2b\\x1a\\xeb\\x47\\x8c\\xaf\\xf8\\x81\\xaf\\x77\\x42\\x81\\xfe\\x32\\xe2\\x95\\xd0\\x72\\x69\\x95\\xae\\x23\\x07\\x8e\\xab\\x9e\\x51\\x39\\x72\\xaa\\x39\\x20\\xe6\\x1d\\x59\\xb5\\xe4\\xe5\\xeb\\x2f\\xa7\\x9f\\x3d\\x79\\x2f\\xbd\\x5c\\x75\\x64\\xb0\\xdb\\x1f\\xf4\\x2e\\x9e\\x3f\\xa9\\xa3\\x2e\\xe3\\xac\\x73\\xd2\\xa4\\x1d\\xd7\\x8b\\x8b\\xe8\\x30\\x2d\\x4d\\xfa\\x33\\xdf\\x8d\\xff\\x95\\x6a\\xc6\\xd4\\x9c\\xb4\\x6d\\x59\\xde\\xfd\\x58\\x6f\\x3d\\x25\\x27\\x89\\x77\\x72\\xcf\\x0d\\x5b\\x23\\xc3\\xdd\\x55\\xc1\\xf4\\x5e\\xba\\x63\\x66\\x11\\x32\\xe2\\x7d\\xfa\\xc3\\xf1\\x74\\xea\\xd1\\x67\\xac\\xe7\\x6b\\x96\\xdd\\x19\\x5a\\x5f\\xfe\\x90\\x96\\x96\\x71\\x7e\\xda\\x7b\\x47\\x27\\x32\\xeb\\x23\\x5b\\x8f\\x3a\\xda\\xeb\\xe7\\x80\\xf6\\x45\\x35\\xa5\\x83\\xb5\\xef\\x0d\\x1a\\xdb\\xb7\\xfd\\x10\\x3d\\xfe\\xb7\\xf4\\xfd\\x49\\x29\\xed\\xab\\x1b\\xd3\\xce\\xcf\\xe8\\x39\\xa3\\x1f\\xa0\\xbf\\xfd\\x4c\\x65\\x94\\xeb\\xc7\\xfc\\x9c\\xa1\\x45\\x23\\x47\\x2a\\x69\\x7c\\x9b\\xee\\x9d\\x91\\xf1\\x10\\xcc\\xe7\\xbc\\x8b\\x57\\xfb\\xb4\\xce\\x52\\xc6\\x52\\x2e\\xea\\xc6\\xed\\x29\\x30\\x53\\xe5\\x58\\xea\\xb3\\x6b\\x4f\\x5d\\xb1\\x74\\x5c\\xfa\\x52\\x71\\x51\\x2f\\x1c\\xc9\\xf7\\x46\\x32\\x32\\x33\\x22\\x71\\x2f\\x93\\xb8\\x96\\x87\\x5b\\xe2\\xe2\\x8e\\xc9\\x2f\\xa8\\x2e\\x1e\\x96\\x95\\x82\\xdb\\x37\\x7e\\xfb\\xe2\\x46\\xbc\\xd1\\xf4\\x2f\\xa1\\xf5\\x0d\\xe6\\xce\\xc6\\xc4\\x72\\x75\\x61\\xdd\\xa9\\x53\\x96\\x4f\\xb8\\xb0\\x66\\x5c\\xcd\\x8c\\xaa\\x91\\x8b\\x8b\\x57\\x8f\\x8e\\xaf\\x1c\\x5f\\x3b\\x33\\x52\\x58\\x5e\\x91\\x7e\\xe8\\xc8\\xd0\\x41\\xe2\\xa2\\xc6\\x95\\x19\\x93\\x4a\\x97\\xae\\x8d\\xbd\\x91\\x3f\\x2c\\x7f\\xc6\\xca\\x3a\\xf9\\x77\\xf4\\x28\\x3b\\x52\\xec\\x1f\\x6b\\x99\\xfc\\x6a\\x46\\xd5\\x09\\x38\\x2e\\x14\\x79\\xac\\x65\\x0d\\x3c\\xd6\\xbc\\x21\\xec\\x3f\\xd6\\x26\\xbf\\x4e\\xbf\\x4c\\xd2\\x15\\xe2\\xea\\x1b\\xf9\\xf7\\xdb\\x05\\xa9\\xfe\\x40\\x9d\\x20\\x0f\\xb5\\x07\\x8b\\x1e\\x7f\\xbc\\xc8\\xbd\\x14\\x25\\x8f\\xb5\\x0b\\xf9\\xd5\\xe4\\x87\\xbe\\x36\\x07\\x39\\xd6\\xd8\\x80\\x63\\x6d\\x3e\\x4d\\xde\\x4e\\x5f\\x7f\\xef\\x83\\xa7\\xd4\\xed\\x3b\\xf8\\x97\\x57\\xab\\x22\\x29\\x8f\\xb5\\xa9\\x3d\\x4f\\xb8\\x6d\\xfa\\x36\\xd2\\x27\\xd5\\x6e\\xf7\\xfc\\xad\\x32\\xbd\\x3a\\x38\\xac\\xa0\\x20\\x3b\\xc3\\xbf\\xec\\xc2\\x02\\xb9\\xd9\\x23\\x46\\x8f\\xa0\\x39\\x6c\\xc4\\x08\\xca\\x75\\xaa\\x9f\\xb5\\xda\\x3b\\x25\\xd7\\xfb\\x6a\\x39\\xf7\\x37\\x5a\\x87\\x1f\\xd6\\x7b\\x18\\x02\\xad\\xc4\\x2c\\x49\\x19\\x44\\xb7\\x77\\x52\\xc4\\x7c\\x2d\\xae\\xbe\\x8b\\x7f\\x26\\xfb\\x63\\x7e\\x40\\x32\\xeb\\x67\\x47\\xd2\\xe6\\xaf\\xda\\xb1\\x68\\xa5\\xb6\\x3a\\x6f\\x76\\x29\\x7f\\xb8\\xe8\\xe4\\x93\\x8b\\x7e\\x74\\x4a\\xf2\\x17\\x8f\\x58\\x63\\x1e\\x94\\x3e\\xe1\\x70\\x56\\xd4\\xeb\\x3b\\xba\\x54\\xfd\\x49\\x1e\\x8b\\xe3\\x14\\xab\\xba\\x68\\xa8\\x70\\x2f\\x5a\\x4d\\xcb\\x64\\x01\\xe6\\x1d\\x94\\x63\\x8b\\xc7\\x16\\x8d\\x3d\\x6b\\x75\\xf0\\xc8\\x22\\x52\\xe4\\xfe\\x38\\xdb\\x3b\\x55\\x92\\xe3\\x8d\\xaf\\x7b\\x21\\xf1\\xbf\\x1e\\xa2\\xf9\\x7d\\x76\\x92\\x15\\x93\\xe6\\xd5\\xcf\\x1c\\x39\\xde\\x18\\x71\\x54\\xf1\\xac\\xc3\\xeb\\x27\\x1f\\x50\\x3f\\xa3\\x70\\xca\\xb4\\xfc\\x2d\\x05\\xb3\\xd7\\xac\\xec\\xb7\\x57\\x7c\\x3d\\x6e\\xf2\\xb8\\xa9\\xb5\\xad\\x6b\\xa7\\x8f\\xdd\\x6f\\xec\\x74\\xab\\xb1\\x65\\x46\\xcf\\x33\\x9e\\xc5\\xae\\x8d\\x8b\\xa4\\x8d\\x09\\xd5\\x7d\\xce\\x44\\xbe\\xfb\\x6e\\xbb\\xfc\\xdc\\x33\\x57\\xe7\\xf3\\x74\\xae\\xf0\\xb3\\x56\\x7b\\x33\\xce\\x37\\xea\\xe9\\x52\\x6f\\xbe\\x85\\x22\\xa6\\x47\\x2b\\x11\\x93\\x92\\x48\\xc9\\x18\\x4d\\x6c\\xbd\\xe6\\x0c\\x7a\\xdd\\xcd\\x07\\x37\\x14\\x5e\\x7f\\x70\\xcf\\xb1\\x2a\\x29\\x25\\x54\\xef\\x39\\x96\\x5f\\x7d\\x52\\xf3\\x7e\\x69\\x89\\xe9\\xb3\\x7b\\xfe\\x45\\xe6\\x8d\\xfe\\xba\\xf4\\x23\\x17\\x67\\xa1\\xc4\\xc9\\xeb\\xc7\\xc9\\x92\\x38\\x59\\x3c\\xed\\xbf\\xe3\\xf4\\x1d\\x4f\\x25\\x91\\x31\\xc3\\xb5\\xa3\\x6e\\x3a\\x95\\x5c\\x4f\\x17\\x1e\\x7c\\xe7\\x84\\xeb\\xc6\\xff\\xf9\\xcc\\x9e\\xd7\\x75\\x42\\x9f\\x57\\xf9\\xd5\\xa7\\x27\\x46\\xcd\\x9e\\xbe\\xf9\\xa4\\xf3\\xc8\\xbc\\x8f\\x4a\\xbf\\x1e\\xad\\xf4\\xf6\\x67\\xa8\\xe6\\xbe\\xb3\\x2f\\x28\\x15\\xf4\\xd0\\xac\\xdc\\x5c\\x41\\xb3\\x75\\x12\\x60\\x7a\\xce\\xf0\\xe2\\xe1\\xf9\\xc3\\xcf\\x5a\\x3d\\x32\\x1f\\x13\\xc0\\xf5\\xf5\\x9a\\xfe\\xd1\\xf7\\xae\\x1a\\x40\\x79\\x79\\xa3\\x6e\\xb0\\x7d\\x7b\\x3c\\xf2\\x14\\x63\\x46\\x60\\x68\\xcb\\x94\\x63\\x4f\\x69\\x59\\xa7\\x5e\\x9c\\xfb\\x9b\\xed\\xfd\\x9d\\x57\\xd7\\x46\\xf4\\x26\\xae\\xd9\\xb3\\x67\\x2c\\xd3\\x8b\\x0f\\xe9\\x39\\xba\\xcf\\x01\\x7d\\x36\\xad\\x52\\x7f\\x90\\xf3\\x60\\xa2\\x52\\x5e\\x5d\\x30\\x70\\x1e\\x14\\x97\\x14\\x17\\x16\\x9f\\xb5\\x7a\\x6c\\x61\\x8a\\x5d\\xff\\xd7\\x1c\\x20\\xfb\\x9a\\x76\\xe8\\xa4\\xf9\\x75\\xb3\\x46\\x8e\\xaf\\xf8\\xe5\\x3c\\xe8\\x79\\xbd\\xdf\\x4a\\xf1\\xa5\\x9c\\x08\\x53\\xea\\x52\\x27\\xc2\\xce\\x7e\\x4b\\x09\\x29\\x13\\x17\\x32\\xa1\\xde\\xe8\\x5f\\x83\\x66\\x67\\xf6\\x5e\\x83\\xf6\\x46\\x80\\x2e\\x87\\xd7\\xc5\\x85\\xf0\\x35\\x21\\x5c\\x5c\\xc4\\x22\\xea\\x4d\\x03\\xcb\\x7b\\x33\\x83\\xf0\\xde\\xe9\\x20\\x2e\\xf2\\xe7\\x00\\x51\\xce\\x97\\xe5\\x8f\\x54\\x6f\\x73\\xef\\xeb\\xdd\\xc5\\x03\\x34\\x90\\x72\\x30\\xa6\\x1e\\x7d\\xec\\xc8\\x94\\xb9\\x7b\\x17\\x66\\xaa\\x5b\\xff\\x09\\xc9\\xfb\\xb7\\x78\\xef\\xb0\\xc8\\xdb\\xa5\\x71\\x22\\xa7\\x8e\\x4a\\xfa\\xeb\\xfb\\x4b\\x46\\xc4\\xd4\\xe8\\xe6\\x0f\\x5e\\x52\\xb7\\x3f\\xc8\\x3f\\x90\\x0b\\xc5\\x05\\x3f\\x8c\\x3a\\xf9\\xe4\\x51\\x0a\\x55\\x1e\\x91\\xd8\\x9d\\xaa\\xff\\xee\\x9d\\xbc\\x5d\\x54\\x28\\xe2\\xc2\\xd5\\xbc\\x77\\xe2\\xb9\\x46\\x9b\\xda\\x18\\xb7\\x6e\\x63\\xe9\\xdf\\x4b\\xf7\\x74\\x97\\xbe\\x5b\\x2a\\x2e\\x7a\\x43\\xfe\\xf3\\x70\\x37\\x88\\x66\\x76\\xaf\\x7a\\xbc\\xd4\\x65\\x79\\xf7\\x0f\\x11\\x19\\xdb\\x72\\x03\\x7d\\xe7\\x8f\\x53\\xc7\\x27\\x65\\xe5\\x25\\xf4\\xaa\\x29\\x4b\\x16\\xd4\\x17\\x4f\\x0b\\x0d\\x39\\x6d\\xd2\\x69\\xcd\\x53\\x97\\x1e\\x50\\x37\\xca\\x30\\x87\\x9c\\x52\\x72\\xa6\\x68\\x1e\\x57\\x3a\\xce\\x98\\x7d\\xd9\\xf1\\x32\\xa9\\xac\\xba\\xf8\\x24\\xef\\x77\\x1b\\xd2\\xb6\\x8f\\x7d\\xbf\\x4b\\xdb\\x02\\xb2\\x67\\x67\\xae\\xd6\\xfa\\x7b\\x96\\xef\\x3a\\x45\\x1b\\xee\\xfd\\x7d\\xe7\\x6c\\x8d\\x64\\x7f\\xa2\\x97\\xfa\\x89\\xb8\\x68\\xec\\xe7\\xa5\\x1f\\xca\\x8f\\xef\\x9f\\x97\\x65\\x3b\\xbf\\x91\\xfe\\xcd\\x94\\xad\\xa4\\xcb\\x1e\\xa6\\x1c\\x5a\\xfe\\x5d\\x09\\xfd\\x33\\x86\\x2a\\x29\\xd3\\xe2\\xa2\\xd4\\xe9\\x2a\\xdb\\xb9\\x98\\xef\\x66\\x23\\x45\\x93\\xff\\x3c\\x2b\\xa6\\x78\\xf7\\xf0\\x4b\\x9d\\xbe\\x8b\\x36\\x8e\\xd9\\x73\\x85\\x68\\xba\\xd9\\x8d\\xf3\\xf7\\xdb\\xfb\\x3b\\xfe\\x80\\x7a\\x5c\\xce\\x44\\xfe\\xc5\\x9e\\xa5\\x7b\\x3b\\x73\\x26\\x88\\xf4\\x21\\xde\\xbd\\x46\\xe7\\x2a\\xca\\xa4\\xea\\x02\\x92\\x3d\\x34\\x3b\\x5b\\x55\\x4b\\xe8\\x68\\x65\\x74\\x70\\xf4\\xe3\\xa3\\x19\\x1b\\x5d\\x92\\x51\\x58\\x42\\x98\\xd2\\x7b\\x7f\\x24\\xee\\x85\\x1b\\xd0\\x4e\\xae\\xea\\xb6\\xa3\\xe4\\x57\\xa7\\xf5\\xb6\\x80\\x2a\\xbd\\xf7\\x1e\\x0d\\xbc\\xaf\\xed\\xf3\\xbd\\xaf\\xb1\\x34\\xf7\\x3e\\xb8\\xbc\\x07\\xf6\\xfe\\xf6\\xfe\\xbc\\x21\\x5c\\x2f\\x21\\xf9\\xbf\\x72\\x1f\\xdc\\x47\\x5e\\xf9\\x82\\xbb\\xa9\\x7b\\xcb\\xe3\\x23\\xbb\\x8a\\xdc\\x1b\\x9b\\xa8\\x57\\xc3\\xab\\xe2\\xd5\\xa9\\x97\\x75\\xde\\x50\\xcf\\xc9\\x9b\\xa0\\xbf\\xeb\\xdd\\xcf\\xf3\\xf1\\xc9\\x8a\\x32\\xfc\\x3e\\xc1\\x19\\x75\\x51\\x5e\\xb8\\x37\\x6f\\x06\\xc9\\x75\\x6f\\xd8\\x71\\xff\\xb9\\xe5\\x1b\\x07\\x94\\xff\\xec\\x06\\xd9\\x83\\x7b\\xfc\\xd2\\x9f\\xdd\\x9b\\x37\\xbe\\xb7\\xb4\\x5f\\xf6\\xfa\\x7d\\xca\\x7e\\xfa\\xa0\\x4c\\xee\\xf6\\x8a\\xbe\\xdb\\x5f\\x54\\x19\\xec\\xfe\\xdb\\xff\\x72\\x4f\\xe6\\xb8\\xea\\x80\\x7b\\x53\\xe6\\xe3\\x85\\x7f\\x2a\\x64\\x0f\\xec\\xfd\\xb6\\x3a\\xcd\\xbb\\x33\\x33\\xe5\\x5e\\x4b\\xff\\x1e\\x4d\\x19\\x51\\xcf\\xeb\\x39\\x96\\x9d\\xb1\\xf7\\xdf\\x72\\x96\\x0d\\x97\\x8c\\x34\\xcd\\x7b\\xa6\\x72\\x69\\xf5\\xf0\\x19\\xe6\\xc8\\x91\\x55\\xca\\x18\\x52\\x3d\\x66\\xfb\\x18\\x3a\\x66\\xe8\\xd4\\x40\\x20\\x7b\\xe2\\x4c\\xc6\\xdc\\x27\\x14\\xba\\x3f\\x6e\\x7f\\xf9\\xb0\\x0d\\xee\\xb5\\x01\\x39\\xd5\\x87\\xa7\\x3c\\x28\\x26\\xf5\\x01\\x32\\xda\\x7f\\x79\\x98\\x4c\\xea\\x7e\\x2d\\xdf\\x64\\xf3\\xca\\xc6\\x8e\\x2d\\x2b\\x0f\\x06\\xcb\\x3f\\x2a\\x0b\\x7a\\x99\\xb2\\xcb\\xe5\\x9f\\x69\\xd3\\xe4\\x06\\x5d\\x51\\x36\\x36\\x58\\x5e\\x2e\\x73\\x13\\xcb\\x82\\x63\\xa6\\xc9\\x8d\\xb2\\xd7\\xe7\\xb6\\xcf\\x59\\xeb\\x97\\x9f\\x36\\x66\\x6c\\x99\\x57\\xf7\\x8e\\x60\\x99\\x57\\xf5\\x8b\\xb1\\x53\\xa7\\xca\\x22\\x65\\x77\\xe0\\xbb\\x32\\xd2\\xde\\xe3\\xbe\\x93\\x82\\x2b\\x8b\\x7a\\xb6\\xb1\\x8d\\xb2\\x8f\\xcc\\x7b\\x72\\xcc\\x68\\xf7\\x8a\\x2e\\x21\\xa3\\x95\\x02\\x52\\x5d\\xb0\\xbd\\x80\\x16\\x17\\x68\\xee\\x91\\x2b\\x7b\\xe4\\xfe\\x94\\x60\\xb8\\x9c\\xd4\\xbf\\x66\\x6f\\x23\\x99\\x33\\xa4\\xe7\\x01\\x7a\\xca\\xa0\\xa6\\x85\\xd6\\xcd\\x1a\\xdc\\x88\\x7e\\x1b\\x34\\xc9\\x75\\xee\\x53\\xac\\x3d\\x1b\\x82\\x8a\\x7b\\x1f\\xeb\\xf6\\x51\\x74\\xd4\\x18\\xf7\\x82\\xcb\\x73\\xb0\\x21\\x3f\\x22\\xa3\\x6e\\x6d\\x9c\\xf6\\x6b\\x76\\xdc\\x50\\x90\\x18\\x2a\\x4d\\x59\\x3f\\x82\\x3c\\x31\\xa8\\x29\\x3d\\x9f\\x76\\xaf\\x5b\\xd7\\x7d\\xcf\\x7f\\xf1\\x09\\x55\\xc6\\xed\\xfd\\x94\\xbf\\xae\\x16\\x4a\\x6b\\xca\\xe4\\xe1\\x1d\\x2e\\xa3\\x13\\xb3\\x98\\xa6\\xba\\x6b\\xd5\\x2c\\xca\\x94\\xe1\\xc5\\xd4\\xfb\\x41\\x72\\x19\\x8d\\xcc\\x62\\x11\\xa6\\x08\\x6d\\x02\\x9b\\x9e\\xa5\\x8d\\x09\\x05\\xe7\\x6e\\x6d\\xb0\\xf3\\xb2\\xc4\\xa4\\xc5\\x33\\x9d\\xf5\\x0b\\xcd\\xe5\\x64\\x66\\xde\\xd8\\xf1\\x34\\x6f\\x78\\xfb\\x4d\\xaf\\x1f\\x77\\xec\\xae\\xd6\\x60\\xc1\\x88\\xb6\\xcb\\x77\\x37\\x7f\\x4b\\x0a\\x69\\xdd\\xa4\\x3d\\xe4\\x23\\xbb\\xbb\\xe9\\xe0\\x49\\x23\\x16\\xc4\\x4f\\x5e\\x5a\\xdb\\x71\\x50\\xd9\\xb4\\x25\\x5d\\xac\\xbd\\xe7\\xec\\xe2\\xaa\\x6d\\xe7\\x2f\\x6b\\x7d\\xf0\\xe4\\x05\\xf6\\x71\\x0f\\x75\\xb7\\xdf\\x7e\\xe2\\x9a\\x31\\x64\\x3a\\x39\\xa8\\x63\\xf7\\x01\\x2e\\x2f\\x7e\\x28\\x9d\\xf5\\x91\\x58\\xed\\x8d\\x95\\xe2\\xae\\x30\\xcc\\xfd\\xb1\\x30\\x3e\\x3f\\xb0\\x7f\\x07\\x7f\\xce\\xfb\\xfa\\xa5\\x37\\xef\\x78\\xfe\\x8e\\x37\\xef\\x78\\xe1\\x8e\\x37\\x5f\\x12\\xab\\x6f\\xfe\\x69\\x21\\x9f\\xfe\\xf3\\x56\\x76\\x92\\xfb\\xf9\\xe9\\x69\\xb7\\x6f\\x87\\xca\\xbe\\xdd\\xe7\\xb5\\x31\\x4a\\xf6\\x4d\\xb6\\x31\\x9c\\xf9\\x77\\xc8\\x44\\xf2\\xc7\\x30\\xf7\\x6c\\x4e\\x38\\x32\\x4e\\x1d\\x17\\xcc\\xb5\\x22\\xf9\\xa4\\x94\\x9d\\x1e\\xfc\\x79\\x63\\xcf\\xc6\\x8c\\xe3\\x56\\x5f\\x5a\\xd0\\x41\\x0a\\xae\\xcb\\x1a\\xc6\\x7a\\xbe\\xd1\\x87\\x89\\xcb\\xde\\xea\\xf9\\x2a\\xfb\\x24\\xd9\\xfe\\xe6\\x3d\\xd7\\xcc\\xb6\\x6e\\xbd\\xe7\\x24\\x5a\\xff\\xf3\\x03\\xb5\\x97\\x0d\\x3f\\x74\\xeb\\x27\\x24\\xb7\\xee\\x00\\xea\\x86\\xe7\\xf2\\x5f\\x31\\x69\\x77\\xdf\\x48\\xe0\\xfd\\x5b\\xa1\\xec\\x44\\x9e\\x28\\xd9\\xa4\\x04\\x79\\xaa\\xa4\\x93\\x85\\xc8\\x33\\xa5\\x90\\x9c\\x83\\x3c\\x57\\x46\\x92\\xf7\\x91\\x17\\x4a\\x16\\x2d\\x42\\x5e\\x55\\x0a\\xe8\\x1a\\xe4\\x35\\x65\\x0b\\x4b\\x20\\xaf\\x2b\\x43\\xf8\\x10\\xe4\\x03\\x4a\\x16\\x9f\\x83\\x7c\\x1a\\xe9\\xd2\\x66\\x21\\x9f\\xae\\x14\\xe9\\x9f\\x22\\x9f\\xa1\\x94\\x05\\x9a\\x91\\xcf\\x54\\x42\\x69\\x14\\xf9\\x2c\\xa5\\x30\\xad\\x5d\\x5a\\x42\\xb8\\x5c\\xfd\\x94\\xdb\\x3d\\xab\\xdc\\x3c\\x91\\x7d\\x11\\xc8\\x53\\x65\\x18\\x09\\x21\\xcf\\x14\\x8b\\xac\\x42\\x9e\\x2b\\x61\\x72\\x2b\\xf2\\x42\\x29\\x22\\x3d\\xc8\\xab\\x8a\\x41\\x4b\\x91\\xd7\\x94\\x6f\\xe8\\x66\\xe4\\x75\\x65\\x12\\xfb\\x17\\xf2\\x01\\xa5\\xc8\\xfb\\x3d\\x8c\\x9b\\x4f\\xa3\\x1f\\xf2\\x15\\xc8\\xa7\\x2b\\x95\\xfa\\xdd\\xc8\\x67\\x28\\x87\\x06\\x02\\xc8\\x67\\x2a\\xeb\\x02\\x17\\x23\\x9f\\xa5\\x58\\x69\\x95\\x4a\\xbd\\x12\\x57\\x9a\\xe5\\x27\\x29\\x3f\\x5b\\x94\\x98\\xd2\\x28\\xf5\\x5c\\xa3\\x12\\x95\\xdb\\x51\\x99\\x6b\\x50\\x12\\x4a\\x87\\xb2\\x59\\xe9\\xf4\\x4a\\xb5\\xc8\\xbd\\x41\\x65\\x92\\xdc\\x3b\\x59\\xa6\\x86\\x52\\xae\\x54\\xc8\\x4f\\x50\\x99\\x23\\x4b\\x25\\xe4\\xf7\\xad\\xb2\\x7e\\x50\\xa9\\x93\\xf9\\x4e\\x59\\xcb\\xfd\\x1b\\xf5\\xda\\x4d\\x28\\xed\\xf2\\x88\\x48\\xf3\\xbe\\xf9\\xf5\\xd6\\x0c\\x99\\x5b\\x02\\x2b\\xe6\\x7a\\xb5\\xa7\\xc8\\xdc\\x3c\\x59\\xbf\\xc1\\x3d\\xa6\\xea\\xe3\\xcd\\xf1\\x64\\x7c\\x4b\\xac\\x31\\xd8\\x18\\x4d\\x46\\x83\\x0d\\x89\\x8e\\xcd\\x9d\\xf1\\xe6\\x96\\x64\\x70\\x52\\xc3\\xe4\\xa0\\x51\\x5e\\x51\\x1e\\x9c\\x93\\x48\\x34\\xb7\\xc6\\x82\\x75\\x89\\xce\\x8e\\x44\\x67\\x34\\x19\\x4f\\xb4\\x97\\xa5\\xd5\\x0d\\x2c\\x66\\x04\\x97\\xc8\\x26\\xe6\\x46\\x93\\x53\\x82\\xf3\\xda\\x1b\\x64\\xbb\\x0b\\xa4\\x41\\x6b\\x25\\x6c\\xaa\\xc1\\x41\\x65\\xa1\\x97\\x26\\xe4\\xd7\\xf1\\xb5\\x31\\xbf\\xb1\\xe0\\xc2\\x44\\xbb\\xdc\\x51\\x2b\\xf7\\xb6\\x7a\\x46\\xce\\xf3\\x1c\\xd5\\x2a\\xeb\\x34\\xc8\\xdd\\x89\\xd6\\xc6\\xe0\\xbc\\x64\\xb4\\x35\\x2e\\x37\\x6a\\x94\\x2e\\xb9\\x2f\\x26\\x5b\\x68\\xf4\\x5a\\x0e\\x2a\\x53\\xe5\\xe7\\xff\\x40\\xaa\\xe9\\x6a\\x88\\xb5\\x37\\xc6\\x3a\\x83\\x53\\x83\\xbf\\x00\\xfd\\xf5\\xaa\\xc1\\xff\\x66\\xd4\\x80\\x76\\x82\\xfb\\x18\\xb9\\xc2\\x6b\\xaf\\xab\\xaf\\x35\\x43\\x7a\\xb9\\x5c\\xfe\\x2f\\x93\\x63\\xa1\\xac\\x88\\x75\\x76\\xb9\\xd5\\x8c\\xb2\\xf2\\xf2\\xb2\\x8a\\xc1\\x0d\\xe8\\x85\\x9f\\xda\\x07\\xff\\x5f\\xc0\\x5d\\xec\\xa9\\x2e\\x76\\x2f\\xf4\\xe0\\xdd\\x89\\x4b\\x63\\x82\\xde\\xd4\\x4b\\x7a\\xdf\\xb8\\xbe\\x6b\\x93\\x69\\xa7\\xb2\\x5e\\xee\\x4b\\x28\\x4d\\xbf\\x3a\\x41\\x82\\xb2\\x5c\\xcc\\x9b\\xce\\x5d\\xf2\\x9b\\x98\\xb7\\xd5\\xe8\\xb5\\xea\\xb6\\xbd\\x5c\\x96\\x58\\xea\\x95\\x5a\\xec\\xd5\\x74\\xc7\\x26\\xe9\\xa1\\xb5\\x7b\\xa5\\x96\\x0d\\x82\\xb8\\x48\\x22\\x36\\x79\\x7d\\x89\\xa5\\x94\\x6c\\xf0\\xda\\x76\\xfb\\xe9\\xb7\\x9c\\x90\\xf9\\x16\\x8c\\xf2\\x3a\\xa5\\xdb\\x9b\\xe0\\x5d\\xb2\\xa4\\x5b\\xaf\\xb7\\x6f\\x5d\\xee\\x04\\x4e\\x19\\x8c\\x78\\x57\\x30\\x1a\\x4c\\x76\\x46\\x1b\\x63\\x6d\\xd1\\xce\\xf5\\xc1\\x44\\xd3\\xbe\\x93\\x32\\xd8\\x19\\x6b\\x8e\\x77\\x25\\x63\\x9d\\x72\\x67\\xbc\\x3d\\xb8\\xbc\\x6c\\x69\\x59\\x70\\x71\\x34\\x19\\x6b\\x4f\\x06\\xa3\\xed\\x8d\\xc1\\x65\\x7d\\x15\\x17\\x35\\x35\\xc5\\x1b\\x62\\xde\\xce\\x86\\x58\\x67\\x32\\x2a\\x0b\\x27\\x92\\x2d\\x72\\x0a\\xad\\xeb\\xee\\x8c\\x77\\x35\\xc6\\x1b\\x5c\\xb4\\xae\\xb2\\xc1\\x26\\xe4\\xe0\\x47\\x6a\\xff\\x24\\x4c\\x39\\x8a\\x14\\xe9\\x39\\xd7\\x63\\x1b\\x3d\\x3f\\x2c\\xf4\\x8a\\xbb\\xdb\\x5d\\x7e\\x95\\xa5\\xc9\\xd8\\xc6\\x58\\x70\\x61\\x34\\x99\\x8c\\x75\\xb9\\x85\\x6b\\x65\\x81\\x2e\\x38\\xdf\\x1f\\x58\\x17\\xab\\xdb\\x9b\\x69\\xed\\x72\\xbf\\x3b\\x68\\x9b\\xa4\\xcb\\x5c\\x07\\xb5\\x78\\xf9\\xa8\\x37\\xf0\\x8d\\x5e\\x93\\xee\\xea\\xd0\\x8e\\xda\\x6b\\xe5\\x7a\\x11\\xfc\\x55\\xf0\\x20\\xea\\x46\\x31\\x81\\xda\\xbd\\x09\\xb9\\x11\\x3d\\xda\\x08\\x34\\x77\\x2a\\x34\\x79\\x7f\\xbb\\x3c\\xdc\\x76\\x89\\x11\\x94\\xf9\\xa8\\x37\\x34\\x41\\xcf\\x5a\\x77\\xd8\\x9a\\x06\\x58\\x11\\xf4\\x86\\x36\\xea\\x4d\\x14\\x7f\\x72\\xb6\\xc9\\x6f\\x93\\x5e\\xd9\\x06\\x6f\\xa2\\xb7\\x7a\\x16\\xba\\x2b\\x65\\x9b\\xf4\\xa5\\x8f\\xba\\x16\\x6b\\xe1\\x26\\x6f\\x65\\x6d\\xe9\\xeb\\xbf\\x5b\\xcb\\xf7\\xfd\\x81\\x32\\xdd\\x34\\x66\\xac\\x37\\x1d\\xf7\\xf5\\x8d\\x3f\\xcd\\x9b\\x70\\x64\\x06\\xbd\\xe7\\xab\\x77\\xc8\\x7c\\xc2\\xeb\\x4b\\xaf\\x47\\xa7\\x7a\\xa3\\xe9\\xf6\\x27\\xe6\\x59\\xe9\\xe6\\xa2\\xde\\xca\\xbd\\x56\\xd6\\x68\\xf5\\x70\\x7d\\xbb\\x5a\\xbc\\xc9\\x1c\\xf5\\xa6\\x62\\x0c\\x53\\x33\\xe9\\x59\\xdf\\x95\\x32\\xa5\\xfd\\x09\\x1c\\xf4\\x7a\\xe0\\xb6\\x6e\\x7b\\xd6\\xba\\xeb\\x75\\x0c\\x9e\\x5d\\x29\\xd7\\xf9\\x05\\x83\\xb6\\xe8\\x7b\\x2f\\xf5\\x50\\xea\\xf2\\x16\\x83\\x8d\\x9e\\x1f\\xfb\\xdb\\x6e\\xf7\\xac\\x6d\\xf4\\xf6\\x25\\xfa\\x3c\\xed\\x96\\x6a\\x05\\x92\\xdf\\xe3\\x56\\x8f\\x4f\\xd6\\xf7\\x8d\\x52\\x93\\x37\\x43\\x7d\\x6f\\x36\\x7a\\xad\\x4d\\xfd\\x2f\\xfe\\x6e\\xf2\\x7c\\x93\\x04\\x6a\\xc2\\xb3\\xa8\\x51\\xfe\\xf7\\xc7\\xdd\\x9f\\x61\\x09\\x59\\xb7\\xdb\\x1b\\x45\\xff\\xf0\\xf7\\xe7\\x7f\\xf2\\x17\\x9e\\x8b\\x7a\\xfe\\x4d\\xa0\\x5e\\x87\\xfc\\xc6\\xc5\\xf2\\x6d\\x69\\xf3\\x0f\\xe7\\xda\\x68\\x97\\x3c\\x3c\\xe5\\xc1\\x5c\\x97\\xe8\\xee\\x8a\\xb7\\xc7\\xa6\\x04\\x37\\xb5\\xc4\\x1b\\x5a\\x82\\x9b\\xa2\\x5d\\xc1\\xc6\\x58\\x57\\xbc\\xb9\\x5d\\x7e\\xbd\\x76\\x73\\x70\\xdf\\xc3\\x23\\x28\\xbf\\x8d\\xca\\x05\\xa0\\xbd\\x3d\\xb1\\x51\\x1e\\x5c\\x1b\\x65\\xb5\\xce\\x58\\x53\\x67\\xac\\xab\\x25\\xde\\xde\\x1c\\xec\\x8a\\xb6\\x77\\x05\\xbb\\x62\\x9d\\xf1\\x26\\x34\\x11\\x4c\\xb6\\x44\\x93\\xee\\x72\\xd1\\x16\\x4b\\x76\\xc6\\x1b\\xa2\\xad\\xad\\x9b\\x25\\xf3\\xb5\\x75\\xc8\\xaa\\x6b\\x25\\xd5\\x6d\\x8a\\x27\\x5b\\x5c\\xfc\\xce\\xb8\\x3c\\x62\\x0f\\x8c\\x6d\\xba\\xb5\\xac\\xd7\\x1a\\xb9\\xa6\\x34\\xc9\\x25\\x3c\\x18\\x6f\\xeb\\xe8\\x4c\\x6c\\xf4\\x0c\\x9d\\xda\\xd5\\xd0\\x19\\x8b\\xb5\\x4b\\xbc\\x68\\x63\\x74\\x6d\\xbc\\x35\\x9e\\x94\\x6d\\xb5\\x44\\x3b\\xa3\\x0d\\x72\\xa5\\x91\\xcb\\x4d\\xbc\\xa1\\xcb\\x5b\\x49\\xe4\\x02\\x12\\xec\\x88\\xb6\\x4f\\xb5\\xbb\\x3b\\x13\\x1d\\x31\\x69\\xec\\xca\\x39\\x0b\\xfa\\x0b\\x4a\\xf3\\xfc\\x55\\xa8\\x2b\\xd1\\xba\\x31\\xd6\\xe5\\x95\\x6e\\x8f\\xc5\\x1a\\xbb\\xdc\\x55\\xac\\x51\\x76\\xb5\\x55\\x56\\x92\\xc0\\xad\\x89\\xc4\\x7a\\xb7\\x4b\\x4d\\x89\\x4e\\x69\\x66\\x63\\xb2\\x65\\x6a\\x8a\\xdd\\x4d\\x89\\xf6\\xa4\\xac\\x9a\\x08\\x46\\x1b\\x1b\\x65\\xdf\\xa5\\xc3\\x12\\x0d\\xdd\\x6d\\xee\\xfa\\x26\\xd7\\x9c\\x64\\xaf\\x71\\xd1\\x86\\xce\\x84\\xfc\\xae\\xa3\\x35\\x9a\\x94\\xad\\xb4\\xb9\\xeb\\x58\\x8b\\x77\\xf4\\x77\\x28\\xd3\\x65\\x64\\x35\\x4d\\xce\\x09\\xf7\\x7f\\x99\\xb7\\x06\\xa4\\xae\\x6e\\x0d\\x58\\xdb\\xca\\x30\\x53\\xa6\\xc9\\x8a\\xc9\\x64\\xc7\\xf4\\x69\\xd3\\x36\\x6d\\xda\\x54\\x16\\xc5\\x12\\xd7\\x20\\x57\\xb8\\x32\\x69\\xd4\\xb4\\xff\\xf7\\x66\\xdd\\xc9\\xd2\\xe1\\x4d\\xeb\\xd4\\xa5\\xab\\xd3\\x9b\\x20\\x6e\\x9b\\x6d\\x72\\xe2\\xfc\\x2a\\x74\\x72\\x73\\x47\\x0c\\x93\\xa5\\xb3\\xab\\xac\\x25\\xd9\\xd6\\xea\\x93\\xa3\\x0f\\xdb\\xbb\\x8a\\x76\\xa7\\xac\\xdb\\xbd\\xc7\\xd3\\x52\\x49\\x7c\\x0b\\x3c\\x92\\xea\\xc0\\x2a\\xe0\\x60\\xfe\\x07\\x07\\xb4\\xe0\\xae\\x80\\x03\\xb9\\xbe\\xc2\\x67\\xf9\\x05\\x92\\x3d\\xda\\xdd\\x69\\xdc\\xed\\xad\\xf9\\xee\\x58\\x2e\\x9d\\xb7\\x20\\xb8\\xa8\\x43\\x4e\\x13\\x47\\x8e\\x51\\x10\\x05\\xa6\\x04\\x7b\\xf5\\x40\\x85\\x2b\\x06\\xf6\\x75\\x97\\xbf\\x16\\xc5\\xe5\\x76\\xd2\\xeb\\x78\\x97\\x77\\x24\\x95\\x79\\xce\\x6a\\x96\\xdf\\x2f\\x92\\x96\\x2d\\xe8\\x73\\x83\\x9c\\x84\\xf1\\x8e\\x64\\x57\\x59\\x57\\xbc\\xb5\\x2c\\xd1\\xd9\\x3c\\x6d\\x91\\xb3\\xc0\\xd3\\xf4\\xca\\xde\\x6f\\x14\\xa5\\x67\\x9c\\xf2\\xbc\\xa7\\xf6\\x07\\xfc\\x0b\\x1c\\xe2\\xed\\xa5\\x52\\xbd\\x72\\xa9\\x93\\x55\\xa9\\x89\\x75\\xa9\\x7f\\xd3\\xdc\\xd7\\xa0\\x4a\\x5d\\x9b\\x25\\x63\\x9b\\x1c\\x25\\x57\\xc9\\x93\\xd1\\xd7\\x10\\x65\\xa8\\x32\\x4c\\xc6\\xde\\x23\\x94\\x02\\xa5\\x50\\x46\\xa7\\x45\\x32\\x66\\x29\\x96\\x11\\x62\\x50\\x19\\xa3\\x8c\\x75\\x9f\\x28\\xa2\\x94\\x28\\x13\\x94\\x89\\x52\\x7b\\x4e\\x56\\xf6\\x53\\x4a\\xa5\\x77\\xa6\\x4a\\x5b\\xa7\\x41\\x81\\x9a\\x8a\\xa5\\x84\\x94\\xb0\\x12\\x51\\x2a\\x95\\x2a\\xd9\\xbf\\xfd\\x95\\x19\\xca\\x4c\\x65\\x96\\x8c\\xe1\\xab\\x25\\x87\\xd6\\xca\\xd5\\xba\\x5e\\xae\\x8e\\x8e\\x5c\\x0d\\xe7\\x4a\\xff\\xcf\\x57\\x0e\\x90\\x3d\\x5b\\x28\\xd7\\xf3\\x45\\x52\\x56\\x1c\\x24\\xc5\\xc9\\x52\\x29\\x24\\x96\\x4b\\x6f\\xaf\\x54\\x0e\\x56\\x56\\x29\\x87\\x28\\xab\\x95\\x43\\x95\\xc3\\x94\\xc3\\x95\\x35\\xca\\x11\\x4a\\x94\\xb8\\x4f\\xc0\\x3e\\x51\\x39\\x49\\x79\\x54\\xb9\\x58\\xf9\\x58\\x39\\x59\\x39\\x5b\\x39\\x43\\xb9\\x52\\xb9\\x45\\xb9\\x9e\\x30\\xe5\\x74\\xc2\\x95\\x13\\x94\\x0b\\x94\\xaf\\x94\\xaf\\x95\\xb3\\x64\\xdc\\x70\\x2a\\x51\\x95\\xb7\\x95\\x2f\\x95\\xab\\x94\\x5b\\x95\\xff\\x28\\xdf\\x28\\xdf\\x2a\\xd7\\x2a\\x3b\\x94\\x67\\x95\\xdf\\xcb\\x98\\x68\\xad\\xf4\\xf8\\xb9\\x72\\x46\\xfc\\x51\\x8e\\xea\\x33\\xca\\x1f\\x94\\x17\\x95\\xe7\\xa4\\xdf\\x5e\\x50\\xfe\\x29\\x57\\xa8\\xbf\\x28\\x7f\\x52\\xfe\\xac\\xdc\\x21\\x3d\\xff\\x85\\x72\\x9e\\xf2\\x8a\\xf2\\xb2\\xf2\\x57\\x39\\x5e\\x9f\\x28\\x9f\\x29\\xa7\\x49\\x79\\x12\\x97\\x2b\\xab\\x3b\\x29\\xdb\\x95\\xed\\x72\\x7c\\x36\\x78\\xdc\\xd2\\x25\\xe7\\x57\\x52\\xae\\xc4\\x9b\\x94\\x7f\\x29\\x47\\xca\\x38\\x60\\xb3\\xb2\\x55\\x39\\x5a\\x39\\x4a\\x79\\x40\\xb9\\x46\\x39\\x56\\x39\\x46\\xd9\\xa6\\x1c\\xa7\\x7c\\xaa\\xfc\\x5b\\x79\\x88\\x68\\x44\\x27\\x01\\x92\\x46\\xd2\\x49\\x86\\xb2\\x47\\xe9\\x21\\x99\\x24\\x8b\\x64\\x93\\x1c\\x65\\x2f\\x51\\x48\\x2e\\xc9\\x23\\xf9\\x84\\x90\\x21\\x64\\x28\\x19\\xe6\\xbe\\xe2\\x9f\\x14\\x90\\x42\\x32\\x92\\x14\\x91\\x51\\xa4\\x98\\x8c\\x56\\xbe\\x57\\x7e\\x20\\x41\\x32\\x86\\x8c\\x25\\xe3\\xc8\\x78\\x52\\x42\\x26\\x90\\x89\\x64\\x12\\x99\\x4c\\xf6\\x23\\xa5\\x64\\x0a\\x99\\x4a\\xca\\xc8\\x34\\xe5\\x47\\xe5\\x55\\x52\\x4e\\x2a\\x88\\x41\\x4c\\x62\\x91\\x10\\x09\\x93\\x08\\xa9\\x24\\x55\\x32\\x9a\\xdd\\x9f\\xcc\\x20\\x33\\xc9\\x2c\\xe5\\x7d\\xe5\\xef\\x64\\x36\\xa9\\x26\\x35\\xa4\\x96\\xd4\\x91\\x7a\\x62\\x13\\x87\\xcc\\x21\\x73\\xc9\\x3c\\x32\\x9f\\x1c\\x40\\x16\\xc8\\xb8\\xf0\\x4e\\xe5\\x2e\\x72\\x20\\x59\\x44\\x16\\x93\\x83\\xc8\\x12\\xb2\\x94\\x2c\\x23\\xcb\\xc9\\x0a\\xb2\\x52\\xf9\\x49\\xf9\\x59\\xf9\\x87\\xf2\\x01\\x39\\x98\\xac\\x22\\x87\\x90\\xd5\\xe4\\x50\\x72\\x18\\x39\\x9c\\xac\\x21\\x47\\x90\\x28\\x59\\x4b\\x1a\\x48\\x23\\x89\\x91\\x26\\xd2\\x4c\\x5a\\x48\\x9c\\xac\\x23\\xeb\\x49\\x2b\\x69\\x53\\x1e\\x26\\xed\\x24\\x41\\x3a\\xc8\\x06\\xe5\\x43\\xe5\\x23\\xd2\\x49\\xba\\x48\\x92\\x74\\x93\\x8d\\x64\\x13\\x39\\x92\\x6c\\x26\\x5b\\xc8\\x56\\x72\\x14\\x39\\x9a\\x1c\\x43\\x8e\\x25\\xdb\\xc8\\x71\\xe4\\x78\\x72\\x02\\x39\\x51\\xb9\\x91\\x9c\\x44\\x4e\\x26\\xa7\\x90\\x53\\xc9\\x69\\xe4\\x74\\x72\\x06\\x39\\x93\\x9c\\x45\\xce\\x26\\xe7\\x90\\x73\\xc9\\x79\\xe4\\x7c\\x72\\x01\\xb9\\x90\\x5c\\x44\\x2e\\x26\\x97\\x90\\x4b\\xc9\\x65\\xe4\\x37\\xe4\\x72\\x72\\x05\\xb9\\x92\\x5c\\x45\\xae\\x26\\xdb\\xc9\\x35\\xe4\\x5a\\x72\\x1d\\xb9\\x9e\\xdc\\x40\\x6e\\x24\\x37\\x91\\x9b\\xc9\\x2d\\xe4\\x56\\x72\\x1b\\xb9\\x9d\\xec\\x20\\x3b\\xc9\\x1d\\xe4\\x4e\\x72\\x17\\xb9\\x9b\\xdc\\x43\\xee\\x25\\xf7\\x91\\xfb\\xc9\\x2e\\xf2\\x00\\x79\\x90\\x3c\\x44\\x1e\\x26\\x8f\\x90\\x47\\xc9\\x6e\\xf2\\x18\\x79\\x9c\\xfc\\x96\\x3c\\x41\\x9e\\x24\\x4f\\x91\\xdf\\x91\\xa7\\xc9\\xef\\xc9\\x33\\xe4\\x59\\xf2\\x07\\xf2\\x47\\xf2\\x1c\\x79\\x9e\\xbc\\x40\\x5e\\x24\\x7f\\x22\\x7f\\x26\\x2f\\x91\\xbf\\x90\\x97\\xc9\\x5f\\xc9\\x2b\\xe4\\x55\\xf2\\x1a\\x79\\x9d\\xfc\\x8d\\xbc\\x41\\xde\\x24\\x6f\\x91\\xb7\\xc9\\x3b\\xe4\\x5d\\xf2\\x1e\\x79\\x9f\\xfc\\x9d\\xfc\\x83\\x7c\\x40\\x3e\\x24\\x1f\\x91\\x8f\\xc9\\x3f\\xc9\\xbf\\xc8\\x27\\xe4\\x53\\xf2\\x19\\xf9\\x37\\xf9\\x9c\\x7c\\x41\\xbe\\x24\\x5f\\x91\\xaf\\xc9\\x37\\xe4\\x3f\\xe4\\x5b\\xf2\\x1d\\xf9\\x9e\\xfc\\x40\\x7e\\x24\\x3f\\x91\\x9f\\xc9\\x1e\\xd2\\x43\\xf6\\x52\\x85\\x12\\x4a\\x29\\xa3\\x9c\\x0a\\xaa\\x52\\x8d\\xea\\x34\\x40\\xd3\\x68\\x3a\\xcd\\xa0\\x99\\x34\\x8b\\x66\\xd3\\x1c\\x9a\\x4b\\xf3\\x68\\x3e\\x1d\\x42\\x87\\xd2\\x61\\x74\\x38\\x1d\\x41\\x0b\\x68\\x21\\x1d\\x49\\x8b\\xe8\\x28\\x5a\\x4c\\x47\\xd3\\x20\\x1d\\x43\\xc7\\xd2\\x71\\x74\\x3c\\x2d\\xa1\\x13\\xe8\\x44\\x3a\\x89\\x4e\\xa6\\xfb\\xd1\\x52\\x3a\\x85\\x4e\\xa5\\x65\\x74\\x1a\\x2d\\xa7\\x15\\xd4\\xa0\\x26\\xb5\\x68\\x88\\x86\\x69\\x84\\x56\\xd2\\x2a\\x3a\\x9d\\xee\\x4f\\x67\\xd0\\x99\\x74\\x16\\x9d\\x4d\\xab\\x69\\x0d\\xad\\xa5\\x75\\xb4\\x9e\\xda\\xd4\\xa1\\x73\\xe8\\x5c\\x3a\\x8f\\xce\\xa7\\x07\\xd0\\x05\\x74\\x21\\x3d\\x90\\x2e\\xa2\\x8b\\xe9\\x41\\x74\\x09\\x5d\\x4a\\x97\\xd1\\xe5\\x74\\x05\\x5d\\x49\\x0f\\xa6\\xab\\xe8\\x21\\x74\\x35\\x3d\\x94\\x1e\\x46\\x0f\\xa7\\x6b\\xe8\\x11\\x34\\x4a\\xd7\\xd2\\x06\\xda\\x48\\x63\\xb4\\x89\\x36\\xd3\\x16\\x1a\\xa7\\xeb\\xe8\\x7a\\xda\\x4a\\xdb\\x68\\x3b\\x4d\\xd0\\x0e\\xba\\x81\\x76\\xd2\\x2e\\x9a\\xa4\\xdd\\x74\\x23\\xdd\\x44\\x8f\\xa4\\x9b\\xe9\\x16\\xba\\x95\\x1e\\x45\\x8f\\xa6\\xc7\\xd0\\x63\\xe9\\x36\\x7a\\x1c\\x3d\\x9e\\x9e\\x40\\x4f\\xa4\\x27\\xd1\\x93\\xe9\\x29\\xf4\\x54\\x7a\\x1a\\x3d\\x9d\\x9e\\x41\\xcf\\xa4\\x67\\xd1\\xb3\\xe9\\x39\\xf4\\x5c\\x7a\\x1e\\x3d\\x9f\\x5e\\x40\\x2f\\xa4\\x17\\xd1\\x8b\\xe9\\x25\\xf4\\x52\\x7a\\x19\\xfd\\x0d\\xbd\\x9c\\x5e\\x41\\xaf\\xa4\\x57\\xd1\\xab\\xe9\\x76\\x7a\\x0d\\xbd\\x96\\x5e\\x47\\xaf\\xa7\\x37\\xd0\\x1b\\xe9\\x4d\\xf4\\x66\\x7a\\x0b\\xbd\\x95\\xde\\x46\\x6f\\xa7\\x3b\\xe8\\x4e\\x7a\\x07\\xbd\\x93\\xde\\x45\\xef\\xa6\\xf7\\xd0\\x7b\\xe9\\x7d\\xf4\\x7e\\xe5\\x35\\xe5\\x3d\\xba\\x4b\\xf9\\x1b\\x7d\\x80\\x3e\\x48\\x1f\\xa2\\x0f\\xd3\\x47\\xe8\\xa3\\x74\\x37\\x7d\\x8c\\x3e\\x4e\\x7f\\x4b\\x9f\\xa0\\x4f\\xd2\\xa7\\xe8\\xef\\x94\\x37\\x94\\x37\\x95\\xb7\\x94\\x77\\x95\\xd7\\x95\\x77\\xe8\\xd3\\xf4\\xf7\\xf4\\x19\\xfa\\x2c\\xfd\\x03\\xfd\\x23\\x7d\\x8e\\x3e\\x4f\\x5f\\xa0\\x2f\\xd2\\x3f\\xd1\\x3f\\xd3\\x97\\xe8\\x5f\\xe8\\xcb\\xf4\\xaf\\xf4\\x15\\xfa\\x2a\\x7d\\x8d\\xbe\\x4e\\xff\\x46\\xdf\\xa0\\x6f\\xd2\\xb7\\xe8\\xdb\\xf4\\x1d\\xfa\\x2e\\x7d\\x8f\\xbe\\x4f\\xff\\x4e\\xff\\x41\\x3f\\xa0\\x1f\\xd2\\x8f\\xe8\\xc7\\xf4\\x9f\\xf4\\x5f\\xf4\\x13\\xfa\\x29\\xfd\\x8c\\xfe\\x9b\\x7e\\x4e\\xbf\\xa0\\x5f\\xd2\\xaf\\xe8\\xd7\\xf4\\x1b\\xfa\\x1f\\xfa\\x2d\\xfd\\x8e\\x7e\\x4f\\x7f\\xa0\\x3f\\xd2\\x9f\\xe8\\xcf\\x74\\x0f\\xed\\xa1\\x7b\\x99\\xc2\\x08\\xa3\\x8c\\x31\\xce\\x04\\x53\\x99\\xc6\\xdc\\x27\\xec\\xa6\\xb1\\x74\\x96\\xc1\\x32\\x59\\x16\\xcb\\x66\\x39\\x2c\\x97\\xe5\\xb1\\x7c\\x36\\x84\\x0d\\x65\\xc3\\xd8\\x70\\x36\\x82\\x15\\xb0\\x42\\x36\\x92\\x15\\xb1\\x51\\xac\\x98\\x8d\\x66\\x41\\x36\\x86\\x8d\\x65\\xe3\\xd8\\x78\\x56\\xc2\\x26\\xb0\\x89\\x6c\\x12\\x9b\\xcc\\xf6\\x63\\xa5\\x6c\\x0a\\x9b\\xca\\xca\\xd8\\x34\\x56\\xce\\x2a\\x98\\xc1\\x4c\\x66\\xb1\\x10\\x0b\\xb3\\x08\\xab\\x64\\x55\\x6c\\x3a\\xdb\\x9f\\xcd\\x60\\x33\\xd9\\x2c\\x36\\x9b\\x55\\xb3\\x1a\\x56\\xcb\\xea\\x58\\x3d\\xb3\\x99\\xc3\\xe6\\xb0\\xb9\\x6c\\x1e\\x9b\\xcf\\x0e\\x60\\x0b\\xd8\\x42\\x76\\x20\\x5b\\xc4\\x16\\xb3\\x83\\xd8\\x12\\xb6\\x94\\x2d\\x63\\xcb\\xd9\\x0a\\xb6\\x92\\x1d\\xcc\\x56\\xb1\\x43\\xd8\\x6a\\x76\\x28\\x3b\\x8c\\x1d\\xce\\xd6\\xb0\\x23\\x58\\x94\\xad\\x65\\x0d\\xac\\x91\\xc5\\x58\\x13\\x6b\\x66\\x2d\\x2c\\xce\\xd6\\xb1\\xf5\\xac\\x55\\xb9\\x99\\xb5\\xb1\\x76\\x96\\x60\\x1d\\x6c\\x03\\xeb\\x64\\x5d\\x2c\\xc9\\xba\\xd9\\x46\\xb6\\x89\\x1d\\xc9\\x36\\xb3\\x2d\\x6c\\x2b\\x3b\\x8a\\x1d\\xcd\\x8e\\x61\\xc7\\x2a\\x57\\xb3\\x6d\\xec\\x38\\x76\\x3c\\x3b\\x81\\x9d\\xc8\\x4e\\x62\\x27\\xb3\\x53\\xd8\\xa9\\xec\\x34\\x76\\x3a\\x3b\\x83\\x9d\\xc9\\xce\\x62\\x67\\xb3\\x73\\xd8\\xb9\\xec\\x3c\\xe5\\x12\\x76\\x3e\\xbb\\x80\\x5d\\xa8\\x5c\\xce\\x2e\\x62\\x17\\xb3\\x4b\\xd8\\xa5\\xec\\x32\\xf6\\x1b\\x76\\x39\\xbb\\x82\\x5d\\xc9\\xae\\x62\\x57\\xb3\\xed\\xec\\x1a\\x76\\x2d\\xbb\\x8e\\x5d\\xcf\\x6e\\x60\\x37\\xb2\\x9b\\xd8\\xcd\\xec\\x16\\x76\\x2b\\xbb\\x8d\\xdd\\xce\\x76\\xb0\\x9d\\xec\\x0e\\x76\\x27\\xbb\\x8b\\xdd\\xcd\\xee\\x61\\xf7\\xb2\\xfb\\xd8\\xfd\\x6c\\x17\\x7b\\x80\\x3d\\xc8\\x1e\\x62\\x0f\\xb3\\x47\\xd8\\xa3\\x6c\\x37\\x7b\\x8c\\x3d\\xce\\x7e\\xcb\\x9e\\x60\\x4f\\xb2\\xa7\\xd8\\xef\\xd8\\xd3\\xec\\xf7\\xec\\x19\\xf6\\x2c\\xfb\\x03\\xfb\\x23\\x7b\\x8e\\x3d\\xcf\\x5e\\x60\\x2f\\xb2\\x3f\\xb1\\x3f\\xb3\\x97\\xd8\\x5f\\xd8\\xcb\\xec\\xaf\\xec\\x15\\xf6\\x2a\\x7b\\x8d\\xbd\\xce\\xfe\\xc6\\xde\\x60\\x6f\\xb2\\xb7\\xd8\\xdb\\xec\\x1d\\xf6\\x2e\\x7b\\x8f\\xbd\\xcf\\xfe\\xce\\xfe\\xc1\\x3e\\x60\\x1f\\xb2\\x8f\\xd8\\xc7\\xec\\x9f\\xec\\x5f\\xec\\x13\\xf6\\x29\\xfb\\x8c\\xfd\\x9b\\x7d\\xce\\xbe\\x60\\x5f\\xb2\\xaf\\xd8\\xd7\\xec\\x1b\\xf6\\x1f\\xf6\\x2d\\xfb\\x8e\\x7d\\xcf\\x7e\\x60\\x3f\\xb2\\x9f\\xd8\\xcf\\x6c\\x0f\\xeb\\x61\\x7b\\xb9\\xc2\\x09\\xa7\\x9c\\x71\\xce\\x05\\x57\\xb9\\xc6\\x75\\x1e\\xe0\\x69\\x3c\\x9d\\x67\\xf0\\x4c\\x9e\\xc5\\xb3\\x79\\x0e\\xcf\\xe5\\x79\\x3c\\x9f\\x0f\\xe1\\x43\\xf9\\x30\\x3e\\x9c\\x8f\\xe0\\x05\\xbc\\x90\\x8f\\xe4\\x45\\x7c\\x14\\x2f\\xe6\\xa3\\x79\\x90\\x8f\\xe1\\x63\\xf9\\x38\\x3e\\x9e\\x97\\xf0\\x09\\x7c\\x22\\x9f\\xc4\\x27\\xf3\\xfd\\x78\\x29\\x9f\\xc2\\xa7\\xf2\\x32\\x3e\\x8d\\x97\\xf3\\x0a\\x6e\\x70\\x93\\x5b\\x3c\\xc4\\xc3\\x3c\\xc2\\x2b\\x79\\x15\\x9f\\xce\\xf7\\xe7\\x33\\xf8\\x4c\\x3e\\x8b\\xcf\\xe6\\xd5\\xbc\\x86\\xd7\\xf2\\x3a\\x5e\\xcf\\x6d\\xee\\xf0\\x39\\x7c\\x2e\\x9f\\xc7\\xe7\\xf3\\x03\\xf8\\x02\\xbe\\x90\\x1f\\xc8\\x17\\xf1\\xc5\\xfc\\x20\\xbe\\x84\\x2f\\xe5\\xcb\\xf8\\x72\\xbe\\x82\\xaf\\xe4\\x07\\xf3\\x55\\xfc\\x10\\xbe\\x9a\\x1f\\xca\\x0f\\xe3\\x87\\xf3\\x35\\xfc\\x08\\x1e\\xe5\\x6b\\x79\\x03\\x6f\\xe4\\x31\\xde\\xc4\\x9b\\x79\\x0b\\x8f\\xf3\\x75\\x7c\\x3d\\x6f\\xe5\\x6d\\xbc\\x9d\\x27\\x78\\x07\\xdf\\xc0\\x3b\\x79\\x17\\x4f\\xf2\\x6e\\xbe\\x91\\x6f\\xe2\\x47\\xf2\\xcd\\x7c\\x0b\\xdf\\xca\\x8f\\xe2\\x47\\xf3\\x63\\xf8\\xb1\\x7c\\x1b\\x3f\\x8e\\x1f\\xcf\\x4f\\xe0\\x27\\xf2\\x93\\xf8\\xc9\\xfc\\x14\\x7e\\x2a\\x3f\\x8d\\x9f\\xce\\xcf\\xe0\\x67\\xf2\\xb3\\xf8\\xd9\\xfc\\x1c\\x7e\\x2e\\x3f\\x8f\\x9f\\xcf\\x2f\\xe0\\x17\\xf2\\x8b\\xf8\\xc5\\xfc\\x12\\x7e\\x29\\xbf\\x8c\\xff\\x86\\x5f\\xce\\xaf\\xe0\\x57\\xf2\\xab\\xf8\\xd5\\x7c\\x3b\\xbf\\x86\\x5f\\xcb\\xaf\\xe3\\xd7\\xf3\\x1b\\xf8\\x8d\\xfc\\x26\\x7e\\x33\\xbf\\x85\\xdf\\xca\\x6f\\xe3\\xb7\\xf3\\x1d\\x7c\\x27\\xbf\\x83\\xdf\\xc9\\xef\\xe2\\x77\\xf3\\x7b\\xf8\\xbd\\xfc\\x3e\\x7e\\x3f\\xdf\\xc5\\x1f\\xe0\\x0f\\xf2\\x87\\xf8\\xc3\\xfc\\x11\\xfe\\x28\\xdf\\xcd\\x1f\\xe3\\x8f\\xf3\\xdf\\xf2\\x27\\xf8\\x93\\xfc\\x29\\xfe\\x3b\\xfe\\x34\\xff\\x3d\\x7f\\x86\\x3f\\xcb\\xff\\xc0\\xff\\xc8\\x9f\\xe3\\xcf\\xf3\\x17\\xf8\\x8b\\xfc\\x4f\\xfc\\xcf\\xfc\\x25\\xfe\\x17\\xfe\\x32\\xff\\x2b\\x7f\\x85\\xbf\\xca\\x5f\\xe3\\xaf\\xf3\\xbf\\xf1\\x37\\xf8\\x9b\\xfc\\x2d\\xfe\\x36\\x7f\\x87\\xbf\\xcb\\xdf\\xe3\\xef\\xf3\\xbf\\xf3\\x7f\\xf0\\x0f\\xf8\\x87\\xfc\\x23\\xfe\\x31\\xff\\x27\\xff\\x17\\xff\\x84\\x7f\\xca\\x3f\\xe3\\xff\\xe6\\x9f\\xf3\\x2f\\xf8\\x97\\xfc\\x2b\\xfe\\x35\\xff\\x86\\xff\\x87\\x7f\\xcb\\xbf\\xe3\\xdf\\xf3\\x1f\\xf8\\x8f\\xfc\\x27\\xfe\\x33\\xdf\\xc3\\x7b\\xf8\\x5e\\xa1\\x08\\x22\\xa8\\x60\\x82\\x0b\\x21\\x54\\xa1\\x09\\x5d\\x04\\x44\\x9a\\x48\\x17\\x19\\x22\\x53\\x64\\x89\\x6c\\x91\\x23\\x72\\x45\\x9e\\xc8\\x17\\x43\\xc4\\x50\\x31\\x4c\\x0c\\x17\\x23\\x44\\x81\\x28\\x14\\x23\\x45\\x91\\x18\\x25\\x8a\\xc5\\x68\\x11\\x14\\x63\\xc4\\x58\\x31\\x4e\\x8c\\x17\\x25\\x62\\x82\\x98\\x28\\x26\\x89\\xc9\\x62\\x3f\\x51\\x2a\\xa6\\x88\\xa9\\xa2\\x4c\\x4c\\x13\\xe5\\xa2\\x42\\x18\\xc2\\x14\\x96\\x08\\x89\\xb0\\x88\\x88\\x4a\\x51\\x25\\xa6\\x8b\\xfd\\xc5\\x0c\\x31\\x53\\xcc\\x12\\xb3\\x45\\xb5\\xa8\\x11\\xb5\\xa2\\x4e\\xd4\\x0b\\x5b\\x38\\x62\\x8e\\x98\\x2b\\xe6\\x89\\xf9\\xe2\\x00\\xb1\\x40\\x2c\\x14\\x07\\x8a\\x45\\x62\\xb1\\x38\\x48\\x2c\\x11\\x4b\\xc5\\x32\\xb1\\x5c\\xac\\x10\\x2b\\xc5\\xc1\\x62\\x95\\x38\\x44\\xac\\x16\\x87\\x8a\\xc3\\xc4\\xe1\\x62\\x8d\\x38\\x42\\x44\\xc5\\x5a\\xd1\\x20\\x1a\\x45\\x4c\\x34\\x89\\x66\\xd1\\x22\\xe2\\x62\\x9d\\x58\\x2f\\x5a\\x45\\x9b\\x68\\x17\\x09\\xd1\\x21\\x36\\x88\\x4e\\xd1\\x25\\x92\\xa2\\x5b\\x6c\\x14\\x9b\\xc4\\x91\\x62\\xb3\\xd8\\x22\\xb6\\x8a\\xa3\\xc4\\xd1\\xe2\\x18\\x71\\xac\\xd8\\x26\\x8e\\x13\\xc7\\x8b\\x13\\xc4\\x89\\xe2\\x24\\x71\\xb2\\x38\\x45\\x9c\\x2a\\x4e\\x13\\xa7\\x8b\\x33\\xc4\\x99\\xe2\\x2c\\x71\\xb6\\x38\\x47\\x9c\\x2b\\xce\\x13\\xe7\\x8b\\x0b\\xc4\\x85\\xe2\\x22\\x71\\xb1\\xb8\\x44\\x5c\\x2a\\x2e\\x13\\xbf\\x11\\x97\\x8b\\x2b\\xc4\\x95\\xe2\\x2a\\x71\\xb5\\xd8\\x2e\\xae\\x11\\xd7\\x8a\\xeb\\xc4\\xf5\\xe2\\x06\\x71\\xa3\\xb8\\x49\\xdc\\x2c\\x6e\\x11\\xb7\\x8a\\xdb\\xc4\\xed\\x62\\x87\\xd8\\x29\\xee\\x10\\x77\\x8a\\xbb\\xc4\\xdd\\xe2\\x1e\\x71\\xaf\\xb8\\x4f\\xdc\\x2f\\x76\\x89\\x07\\xc4\\x83\\xe2\\x21\\xf1\\xb0\\x78\\x44\\x3c\\x2a\\x76\\x8b\\xc7\\xc4\\xe3\\xe2\\xb7\\xe2\\x09\\xf1\\xa4\\x78\\x4a\\xfc\\x4e\\x3c\\x2d\\x7e\\x2f\\x9e\\x11\\xcf\\x8a\\x3f\\x88\\x3f\\x8a\\xe7\\xc4\\xf3\\xe2\\x05\\xf1\\xa2\\xf8\\x93\\xf8\\xb3\\x78\\x49\\xfc\\x45\\xbc\\x2c\\xfe\\x2a\\x5e\\x11\\xaf\\x8a\\xd7\\xc4\\xeb\\xe2\\x6f\\xe2\\x0d\\xf1\\xa6\\x78\\x4b\\xbc\\x2d\\xde\\x11\\xef\\x8a\\xf7\\xc4\\xfb\\xe2\\xef\\xe2\\x1f\\xe2\\x03\\xf1\\xa1\\xf8\\x48\\x7c\\x2c\\xfe\\x29\\xfe\\x25\\x3e\\x11\\x9f\\x8a\\xcf\\xc4\\xbf\\xc5\\xe7\\xe2\\x0b\\xf1\\xa5\\xf8\\x4a\\x7c\\x2d\\xbe\\x11\\xff\\x11\\xdf\\x8a\\xef\\xc4\\xf7\\xe2\\x07\\xf1\\xa3\\xf8\\x49\\xfc\\x2c\\xf6\\x88\\x1e\\xb1\\x57\\x55\\x54\\xa2\\x52\\x95\\xa9\\x5c\\x15\\xaa\\xaa\\x6a\\xaa\\xae\\x06\\xd4\\x34\\xf7\\xfd\\xfe\\x6a\\xa6\\x9a\\xa5\\x66\\xab\\x39\\x6a\\xae\\x9a\\xa7\\xe6\\xab\\x43\\xd4\\xa1\\xea\\x30\\x75\\xb8\\x3a\\x42\\x2d\\x50\\x0b\\xd5\\x91\\x6a\\x91\\x3a\\x4a\\x2d\\x56\\x47\\xab\\x41\\x75\\x8c\\x3a\\x56\\x1d\\xa7\\x8e\\x57\\x4b\\xd4\\x09\\xea\\x44\\x75\\x92\\x3a\\x59\\xdd\\x4f\\x2d\\x55\\xa7\\xa8\\x53\\xd5\\x32\\x75\\x9a\\x5a\\xae\\x56\\xa8\\x86\\x6a\\xaa\\x96\\x1a\\x52\\xc3\\x6a\\x44\\xad\\x54\\xab\\xd4\\xe9\\xea\\xfe\\xea\\x0c\\x75\\xa6\\x3a\\x4b\\x9d\\xad\\x56\\xab\\x35\\x6a\\xad\\x5a\\xa7\\xd6\\xab\\xb6\\xea\\xa8\\x73\\xd4\\xb9\\xea\\x3c\\x75\\xbe\\x7a\\x80\\xba\\x40\\x5d\\xa8\\x1e\\xa8\\x2e\\x52\\x17\\xab\\x07\\xa9\\x4b\\xd4\\xa5\\xea\\x32\\x75\\xb9\\xba\\x42\\x5d\\xa9\\x1e\\xac\\xae\\x52\\x0f\\x51\\x57\\xab\\x87\\xaa\\x87\\xa9\\x87\\xab\\x6b\\xd4\\x23\\xd4\\xa8\\xba\\x56\\x6d\\x50\\x1b\\xd5\\x98\\xda\\xa4\\x36\\xab\\x2d\\x6a\\x5c\\x5d\\xa7\\xae\\x57\\x5b\\xd5\\x36\\xb5\\x5d\\x4d\\xa8\\x1d\\xea\\x06\\xb5\\x53\\xed\\x52\\x93\\x6a\\xb7\\xba\\x51\\xdd\\xa4\\x1e\\xa9\\x6e\\x56\\xb7\\xa8\\x5b\\xd5\\xa3\\xd4\\xa3\\xd5\\x63\\xd4\\x63\\xd5\\x6d\\xea\\x71\\xea\\xf1\\xea\\x09\\xea\\x89\\xea\\x49\\xea\\xc9\\xea\\x29\\xea\\xa9\\xea\\x69\\xea\\xe9\\xea\\x19\\xea\\x99\\xea\\x59\\xea\\xd9\\xea\\x39\\xea\\xb9\\xea\\x79\\xea\\xf9\\xea\\x05\\xea\\x85\\xea\\x45\\xea\\xc5\\xea\\x25\\xea\\xa5\\xea\\x65\\xea\\x6f\\xd4\\xcb\\xd5\\x2b\\xd4\\x2b\\xd5\\xab\\xd4\\xab\\xd5\\xed\\xea\\x35\\xea\\xb5\\xea\\x75\\xea\\xf5\\xea\\x0d\\xea\\x8d\\xea\\x4d\\xea\\xcd\\xea\\x2d\\xea\\xad\\xea\\x6d\\xea\\xed\\xea\\x0e\\x75\\xa7\\x7a\\x87\\x7a\\xa7\\x7a\\x97\\x7a\\xb7\\x7a\\x8f\\x7a\\xaf\\x7a\\x9f\\x7a\\xbf\\xba\\x4b\\x7d\\x40\\x7d\\x50\\x7d\\x48\\x7d\\x58\\x7d\\x44\\x7d\\x54\\xdd\\xad\\x3e\\xa6\\x3e\\xae\\xfe\\x56\\x7d\\x42\\x7d\\x52\\x7d\\x4a\\xfd\\x9d\\xfa\\xb4\\xfa\\x7b\\xf5\\x19\\xf5\\x59\\xf5\\x0f\\xea\\x1f\\xd5\\xe7\\xd4\\xe7\\xd5\\x17\\xd4\\x17\\xd5\\x3f\\xa9\\x7f\\x56\\x5f\\x52\\xff\\xa2\\xbe\\xac\\xfe\\x55\\x7d\\x45\\x7d\\x55\\x7d\\x4d\\x7d\\x5d\\xfd\\x9b\\xfa\\x86\\xfa\\xa6\\xfa\\x96\\xfa\\xb6\\xfa\\x8e\\xfa\\xae\\xfa\\x9e\\xfa\\xbe\\xfa\\x77\\xf5\\x1f\\xea\\x07\\xea\\x87\\xea\\x47\\xea\\xc7\\xea\\x3f\\xd5\\x7f\\xa9\\x9f\\xa8\\x9f\\xaa\\x9f\\xa9\\xff\\x56\\x3f\\x57\\xbf\\x50\\xbf\\x54\\xbf\\x52\\xbf\\x56\\xbf\\x51\\xff\\xa3\\x7e\\xab\\x7e\\xa7\\x7e\\xaf\\xfe\\xa0\\xfe\\xa8\\xfe\\xa4\\xfe\\xac\\xee\\x51\\x7b\\xd4\\xbd\\x9a\\xa2\\x11\\x8d\\x6a\\x4c\\xe3\\x9a\\xd0\\x54\\x4d\\xd3\\x74\\x2d\\xa0\\xa5\\x69\\xe9\\x5a\\x86\\x96\\xa9\\x65\\x69\\xd9\\x5a\\x8e\\x96\\xab\\xe5\\x69\\xf9\\xda\\x10\\x6d\\xa8\\x36\\x4c\\x1b\\xae\\x8d\\xd0\\x0a\\xb4\\x42\\x6d\\xa4\\x56\\xa4\\x8d\\xd2\\x8a\\xb5\\xd1\\x5a\\x50\\x1b\\xa3\\x8d\\xd5\\xc6\\x69\\xe3\\xb5\\x12\\x6d\\x82\\x36\\x51\\x9b\\xa4\\x4d\\xd6\\xf6\\xd3\\x4a\\xb5\\x29\\xda\\x54\\xad\\x4c\\x9b\\xa6\\x95\\x6b\\x15\\x9a\\xa1\\x99\\x9a\\xa5\\x85\\xb4\\xb0\\x16\\xd1\\x2a\\xb5\\x2a\\x6d\\xba\\xb6\\xbf\\x36\\x43\\x9b\\xa9\\xcd\\xd2\\x66\\x6b\\xd5\\x5a\\x8d\\x56\\xab\\xd5\\x69\\xf5\\x9a\\xad\\x39\\xda\\x1c\\x6d\\xae\\x36\\x4f\\x9b\\xaf\\x1d\\xa0\\x2d\\xd0\\x16\\x6a\\x07\\x6a\\x8b\\xb4\\xc5\\xda\\x41\\xda\\x12\\x6d\\xa9\\xb6\\x4c\\x5b\\xae\\xad\\xd0\\x56\\x6a\\x07\\x6b\\xab\\xb4\\x43\\xb4\\xd5\\xda\\xa1\\xda\\x61\\xda\\xe1\\xda\\x1a\\xed\\x08\\x2d\\xaa\\xad\\xd5\\x1a\\xb4\\x46\\x2d\\xa6\\x35\\x69\\xcd\\x5a\\x8b\\x16\\xd7\\xd6\\x69\\xeb\\xb5\\x56\\xad\\x4d\\x6b\\xd7\\x12\\x5a\\x87\\xb6\\x41\\xeb\\xd4\\xba\\xb4\\xa4\\xd6\\xad\\x6d\\xd4\\x36\\x69\\x47\\x6a\\x9b\\xb5\\x2d\\xda\\x56\\xed\\x28\\xed\\x68\\xed\\x18\\xed\\x58\\x6d\\x9b\\x76\\x9c\\x76\\xbc\\x76\\x82\\x76\\xa2\\x76\\x92\\x76\\xb2\\x76\\x8a\\x76\\xaa\\x76\\x9a\\x76\\xba\\x76\\x86\\x76\\xa6\\x76\\x96\\x76\\xb6\\x76\\x8e\\x76\\xae\\x76\\x9e\\x76\\xbe\\x76\\x81\\x76\\xa1\\x76\\x91\\x76\\xb1\\x76\\x89\\x76\\xa9\\x76\\x99\\xf6\\x1b\\xed\\x72\\xed\\x0a\\xed\\x4a\\xed\\x2a\\xed\\x6a\\x6d\\xbb\\x76\\x8d\\x76\\xad\\x76\\x9d\\x76\\xbd\\x76\\x83\\x76\\xa3\\x76\\x93\\x76\\xb3\\x76\\x8b\\x76\\xab\\x76\\x9b\\x76\\xbb\\xb6\\x43\\xdb\\xa9\\xdd\\xa1\\xdd\\xa9\\xdd\\xa5\\xdd\\xad\\xdd\\xa3\\xdd\\xab\\xdd\\xa7\\xdd\\xaf\\xed\\xd2\\x1e\\xd0\\x1e\\xd4\\x1e\\xd2\\x1e\\xd6\\x1e\\xd1\\x1e\\xd5\\x76\\x6b\\x8f\\x69\\x8f\\x6b\\xbf\\xd5\\x9e\\xd0\\x9e\\xd4\\x9e\\xd2\\x7e\\xa7\\x3d\\xad\\xfd\\x5e\\x7b\\x46\\x7b\\x56\\xfb\\x83\\xf6\\x47\\xed\\x39\\xed\\x79\\xed\\x05\\xed\\x45\\xed\\x4f\\xda\\x9f\\xb5\\x97\\xb4\\xbf\\x68\\x2f\\x6b\\x7f\\xd5\\x5e\\xd1\\x5e\\xd5\\x5e\\xd3\\x5e\\xd7\\xfe\\xa6\\xbd\\xa1\\xbd\\xa9\\xbd\\xa5\\xbd\\xad\\xbd\\xa3\\xbd\\xab\\xbd\\xa7\\xbd\\xaf\\xfd\\x5d\\xfb\\x87\\xf6\\x81\\xf6\\xa1\\xf6\\x91\\xf6\\xb1\\xf6\\x4f\\xed\\x5f\\xda\\x27\\xda\\xa7\\xda\\x67\\xda\\xbf\\xb5\\xcf\\xb5\\x2f\\xb4\\x2f\\xb5\\xaf\\xb4\\xaf\\x95\\xbb\\x95\\x7b\\xb4\\x6f\\xb4\\xff\\x28\\xf7\\x2b\\xbb\\x94\\xa7\\xb4\\x6f\\x95\\x7b\\x95\\xfb\\x94\\xdf\\x69\\xdf\\x29\\xc7\\x2b\\x4f\\x28\\xa7\\x28\\xb7\\x69\\xdf\\x6b\\x3f\\x68\\x3f\\x6a\\x3f\\x69\\x3f\\x2b\\x4f\\x6b\\x7b\\xb4\\x1e\\x6d\\xaf\\xb2\\x5b\\x79\\x4c\\x57\\x74\\xa2\\x3c\\xa2\\x53\\x9d\\xe9\\x5c\\x17\\xba\\xaa\\x6b\\xba\\xae\\x07\\xf4\\x34\\x3d\\x5d\\xcf\\xd0\\x33\\xf5\\x2c\\x3d\\x5b\\xcf\\xd1\\x73\\x95\\xef\\xf4\\x3c\\x3d\\x5f\\x1f\\xa2\\x0f\\xd5\\x87\\xe9\\xc3\\xf5\\x11\\x7a\\x81\\x5e\\xa8\\x8f\\xd4\\x8b\\xf4\\x51\\x7a\\xb1\\x3e\\x5a\\x0f\\xea\\x63\\xf4\\xb1\\xfa\\x38\\x7d\\xbc\\x5e\\xa2\\x4f\\xd0\\x27\\xea\\x93\\x94\\x33\\xf5\\xc9\\xfa\\x7e\\x7a\\xa9\\x3e\\x45\\x9f\\xaa\\x97\\xe9\\xd3\\xf4\\x72\\xbd\\x42\\x37\\x74\\x53\\xb7\\xf4\\x90\\x1e\\xd6\\x23\\x7a\\xa5\\x5e\\xa5\\x4f\\x57\\x2e\\xd5\\xf7\\x57\\x7e\\xa3\\x5c\\xa6\\x7c\\xae\\xcf\\x50\\x9e\\x54\\x6e\\x50\\xce\\xd7\\x67\\xea\\xb3\\x94\\x2b\\x94\\x9b\\x94\\x73\\xf4\\xd9\\xca\\x85\\xca\\x45\\x7a\\xb5\\x5e\\xa3\\xd7\\xea\\x75\\x7a\\xbd\\x6e\\xeb\\x8e\\x3e\\x47\\x9f\\xab\\xcf\\xd3\\xe7\\xeb\\x07\\xe8\\x0b\\xf4\\x85\\xfa\\x81\\xfa\\x22\\x7d\\xb1\\x7e\\x90\\xbe\\x44\\x5f\\xaa\\x2f\\xd3\\x97\\xeb\\x2b\\xf4\\x95\\xfa\\xc1\\xfa\\x2a\\xfd\\x10\\x7d\\xb5\\x7e\\xa8\\x7e\\x98\\x7e\\xb8\\xbe\\x46\\x3f\\x42\\x8f\\xea\\x6b\\xf5\\x06\\xbd\\x51\\x8f\\xe9\\x4d\\x7a\\xb3\\xde\\xa2\\xc7\\xf5\\x75\\xfa\\x7a\\xbd\\x55\\x6f\\xd3\\xdb\\xf5\\x84\\xde\\xa1\\x6f\\xd0\\x3b\\xf5\\x2e\\x3d\\xa9\\x77\\xeb\\x1b\\xf5\\x4d\\xfa\\x91\\xfa\\x66\\x7d\\x8b\\xbe\\x55\\x3f\\x4a\\x79\\x50\\x3f\\x5a\\x3f\\x46\\x3f\\x56\\xdf\\xa6\\x1f\\xa7\\x1f\\xaf\\x9f\\xa0\\x9f\\xa8\\x9f\\xa4\\x9f\\xac\\x9f\\xa2\\x9f\\xaa\\x9f\\xa6\\x9f\\xae\\x9f\\xa1\\x9f\\xa9\\x9f\\xa5\\x9f\\xad\\x9f\\xa3\\x9f\\xab\\x9f\\xa7\\x9f\\xaf\\x5f\\xa0\\x5f\\xa8\\x5f\\xa4\\x5f\\xac\\x5f\\xa2\\x5f\\xaa\\x5f\\xa6\\xff\\x46\\xbf\\x5c\\xbf\\x42\\xbf\\x52\\xbf\\x4a\\xbf\\x5a\\xdf\\xae\\x5f\\xa3\\x5f\\xab\\x5f\\xa7\\x5f\\xaf\\xdf\\xa0\\xdf\\xa8\\xdf\\xa4\\xdf\\xac\\xdf\\xa2\\xdf\\xaa\\xdf\\xa6\\xdf\\xae\\xef\\xd0\\x77\\xea\\x77\\xe8\\x77\\xea\\x77\\xe9\\x77\\xeb\\xf7\\xe8\\xf7\\x2a\\x8f\\x2b\\xbf\\xd5\\xef\\xd3\\xef\\xd7\\x77\\xe9\\x0f\\xe8\\x0f\\xea\\x0f\\xe9\\x0f\\xeb\\x8f\\xe8\\x8f\\xea\\xbb\\xf5\\xc7\\xf4\\xc7\\xf5\\xdf\\xea\\x4f\\xe8\\x4f\\xea\\x4f\\xe9\\xbf\\xd3\\x9f\\xd6\\x7f\\xaf\\x3f\\xa3\\x3f\\xab\\xff\\x41\\xff\\xa3\\xfe\\x9c\\xfe\\xbc\\xfe\\x82\\xfe\\xa2\\xfe\\x27\\xfd\\xcf\\xfa\\x4b\\xfa\\x5f\\xf4\\x97\\xf5\\xbf\\xea\\xaf\\xe8\\xaf\\xea\\xaf\\xe9\\xaf\\xeb\\x7f\\xd3\\xdf\\xd0\\xdf\\xd4\\xdf\\xd2\\xdf\\xd6\\xdf\\xd1\\xdf\\xd5\\xdf\\xd3\\xdf\\xd7\\xff\\xae\\xff\\x43\\xff\\x40\\xff\\x50\\xff\\x48\\xff\\x58\\xff\\xa7\\xfe\\x2f\\xfd\\x13\\xfd\\x53\\xfd\\x33\\xfd\\xdf\\xfa\\xe7\\xfa\\x17\\xfa\\x97\\xfa\\x57\\xfa\\xd7\\xfa\\x37\\xfa\\x7f\\xf4\\x6f\\xf5\\xef\\xf4\\xef\\xf5\\x1f\\xf4\\x1f\\xf5\\x9f\\xf4\\x9f\\xf5\\x3d\\x7a\\x8f\\xbe\\x37\\xa0\\x04\\x48\\x80\\x06\\x58\\x80\\x07\\x44\\x40\\x0d\\x68\\x01\\x3d\\x10\\x08\\xa4\\x05\\xd2\\x03\\x19\\x81\\xcc\\x40\\x56\\x20\\x3b\\x90\\x13\\xc8\\x0d\\xe4\\x05\\xf2\\x03\\x43\\x02\\x43\\x03\\xc3\\x02\\xc3\\x03\\x23\\x02\\x05\\x81\\xc2\\xc0\\xc8\\x40\\x51\\x60\\x54\\xa0\\x38\\x30\\x3a\\x10\\x0c\\x8c\\x09\\x8c\\x0d\\x8c\\x0b\\x8c\\x0f\\x94\\x04\\x26\\x04\\x26\\x06\\x26\\x05\\x26\\x07\\xf6\\x0b\\x94\\x06\\xa6\\x04\\xa6\\x06\\xca\\x02\\xd3\\x02\\xe5\\x81\\x8a\\x80\\x11\\x30\\x03\\x56\\x20\\x14\\x08\\x07\\x22\\x81\\xca\\x40\\x55\\x60\\x7a\\x60\\xff\\xc0\\x8c\\xc0\\xcc\\xc0\\xac\\xc0\\xec\\x40\\x75\\xa0\\x26\\x50\\x1b\\xa8\\x0b\\xd4\\x07\\xec\\x80\\x13\\x98\\x13\\x98\\x1b\\x98\\x17\\x98\\x1f\\x38\\x20\\xb0\\x20\\xb0\\x30\\x70\\x60\\x60\\x51\\x60\\x71\\xe0\\xa0\\xc0\\x92\\xc0\\xd2\\xc0\\xb2\\xc0\\xf2\\xc0\\x8a\\xc0\\xca\\xc0\\xc1\\x81\\x55\\x81\\x43\\x02\\xab\\xb5\\xee\\xf6\\x78\\x79\\x79\\x4d\\x39\\xd2\\xfa\\x40\\x62\\x63\\xac\\xb3\\xab\\x21\\xd1\\x19\\x63\\x6d\\xdd\\x15\\x69\\x6d\\xf1\\xc6\\xc6\\x44\\xb2\\xac\\xbc\\xbc\\x42\\xab\\x69\\x73\\xcf\\x75\\xb6\\x6b\\x51\\x3f\\x55\\x6b\\xd6\\x76\\xc6\\x36\\xc6\\xd4\\xa8\\x97\\x68\\x35\\x89\\xe6\\x44\\x7b\\x6c\\xbd\\x16\\xf5\\xd3\\xf4\\xba\\x86\\x78\\x67\\x43\\x77\\x5b\\x53\\x6b\\xec\\xc8\\xf4\\x86\\xfe\\x7c\\x5a\\x9d\\x6c\\x2e\\xda\\xd0\\x10\\x6b\\x4f\\xa6\\x35\\xf4\\x65\\xd5\\xfa\\x86\\xa8\\xdb\\x64\\xa3\\x9f\\xd4\\xcb\\xf6\\xa3\\x49\\xcd\\x06\\x60\\x0c\\x80\\xb6\\x0f\\x18\\xf3\\x92\\x34\\xbb\\xbf\\xa1\\x58\\x5f\\x56\\xb3\\x61\\x46\\xcc\\x4f\\x55\\xdb\\x6f\\x31\\xe6\\x25\\xe9\\x73\\x52\\x8c\\x6a\\x4e\\x31\\x6a\\x4e\\x7f\\x5b\\xcd\\x7d\\xd9\\x8c\\x39\\x0d\\x89\\xb6\\xb6\\x28\\x36\\x9a\\x53\\x36\\xd2\\xe7\\xa6\\xb4\\xd3\\xd2\\x9f\\xe7\\x73\\xd7\\x46\\x3b\\x79\\x8b\\xfc\\xa3\\xce\\x4b\\xc6\\x5b\\x1b\\x63\\x6a\\xdc\\x4b\\xb4\\x79\\xe8\\x49\\x1c\\x3d\\x99\\xe7\\xf7\\x24\\xee\\xbb\\x6e\\x1e\\x6c\\x8e\\xfb\\x29\\x9d\\x37\\x9f\\xc6\\xd7\\xa5\\xcf\\x4f\\xc1\\x58\\xd7\\x9f\\xcf\\x38\\x20\\xd5\\xaa\\xf5\\xfb\\x6c\\x34\\xbb\\xa7\\xce\\x5b\\xa3\\xed\\x8d\\xf1\\x06\\x75\\x41\\xb4\\xa1\\x3b\\x19\\x53\\x5b\\xbd\\x24\\x63\\x41\\x6a\\xb9\\xd6\\x94\\x0d\\x75\\x81\\xef\\xa0\\x56\\x2f\\xe1\\x0b\\x64\\xef\\x79\\xab\\xfc\\xa3\\x1e\\xe8\\xd7\\x6f\\xf7\\xeb\\x1f\\x98\\x5a\\xbf\\x3d\\xb5\\xfe\\x81\\x7e\\xfd\\x76\\xdf\\xc1\\xed\\xd1\\x8e\\x44\\x57\\xb2\\x33\\xd1\\xd1\\x12\\x63\\x76\\x7b\\x33\\x8b\\xb5\\x37\\x6b\\x8b\\xd0\\xf9\\x04\\x3a\\xbf\\xc8\\xef\\x7c\\xc2\\x4b\\x32\\x17\\xb5\\x74\\xb7\\x37\\x47\\x3b\\xbb\\xdb\\x5a\\xa3\\xdd\\xc9\\xcc\\x44\\xea\\x96\\xba\\xc4\\xb7\\xa1\\xd3\\xb7\\x61\\x49\\xaa\\x0d\\x9d\\xa9\\x36\\x2c\\xf1\\x6d\\xe8\\xf4\\x93\\xa5\\x7e\\xad\\x2e\\x2f\\x49\\x5f\\x9a\\xe2\\xc6\\xae\\x14\\x37\\x2e\\x4b\\x6d\\x2d\\x99\\xda\\xda\\x32\\xbf\\x99\\xa4\\xef\\x91\\x65\\xee\\x90\\x26\\xdd\\x21\\x5d\\xee\\x0f\\x69\\xb7\\x3f\\xa4\\xcb\\xd1\\xab\\x6e\\xf4\\x6a\\xb9\\xdf\\xab\\x6e\\x2f\\x11\\xcb\\x3b\\xe3\\xed\\xcd\\xa2\\xdb\\xfd\\x9b\\xb9\\x7c\\x9f\\x1e\\x76\\xa7\\x6e\\x69\\xcb\\x31\\xf4\\xdd\\x38\\x6a\\x56\\xa6\\x58\\xbb\\x29\\x25\\xbf\\x2a\\x25\\xbf\\xb9\\x3f\\xaf\\x1e\\xe2\\xf7\\x75\\x8b\\x97\\xa4\\x1d\\xd2\\x3f\\x8d\\xb7\\xf4\\x65\\x45\\x6b\\xa2\\xbd\\xb9\\xcb\\x3b\\xbc\\x2b\\x2a\\xcb\\x91\\x56\\x20\\x35\\x90\\x9a\\x48\\x2d\\xa4\\x21\\xa4\\x61\\xa4\\x11\\xa4\\x95\\x48\\xab\\x90\\xd6\\x20\\xad\\x45\\x5a\\x87\\xb4\\x1e\\xa9\\x8d\\xd4\\xf1\\xd3\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xb8\\x55\\xc0\\xad\\x02\\x6e\\x15\\x70\\xab\\x80\\x5b\\x05\\xdc\\x2a\\xe0\\x56\\x01\\xb7\\x0a\\xb8\\x55\\xc0\\xad\\x02\\x6e\\x15\\x70\\xab\\x1c\\xb1\\xa8\\x25\\xd1\\x29\\x03\\x20\\xf7\\xaf\\xbf\\xaf\\x06\\x7d\\xae\\x01\\x76\\x0d\\xb0\\x6b\\x80\\x5d\\x03\\xec\\x1a\\x60\\xd7\\x00\\xbb\\x06\\xd8\\x35\\xc0\\xae\\x01\\x76\\x0d\\xb0\\x6b\\x80\\x5d\\x63\\x8b\\xe5\\x1e\\x66\\x77\\x3f\\x66\\x2d\\xfa\\x5b\\x0b\\xec\\x5a\\x60\\xd7\\x02\\xbb\\x16\\xd8\\xb5\\xc0\\xae\\x05\\x76\\x2d\\xb0\\x6b\\x81\\x5d\\x0b\\xec\\x5a\\x60\\xd7\\x02\\xbb\\x16\\xd8\\xb5\\xe8\\x77\\x2d\\xfc\\x5d\\x07\\x7f\\xd7\\x01\\xbf\\x0e\\xf8\\x75\\xc0\\xaf\\x03\\x7e\\x1d\\xf0\\xeb\\x80\\x5f\\x07\\xfc\\x3a\\xe0\\xd7\\x01\\xbf\\x0e\\xf8\\x75\\xc0\\xaf\\x03\\x7e\\x1d\\xf0\\xeb\\x80\\x5f\\x07\\xfc\\x7a\\xe0\\xd7\\x03\\xbf\\x1e\\xf8\\xf5\\xc0\\xaf\\x07\\x7e\\x3d\\xf0\\xeb\\x81\\x5f\\x0f\\xfc\\x7a\\xe0\\xd7\\x03\\xbf\\x1e\\xf8\\xf5\\xc0\\xaf\\x07\\x7e\\x3d\\xf0\\xeb\\x81\\x5f\\x0f\\x7c\\x1b\\xf8\\x36\\xf0\\x6d\\xe0\\xdb\\xc0\\xb7\\x81\\x6f\\x03\\xdf\\x06\\xbe\\x0d\\x7c\\x1b\\xf8\\x36\\xf0\\x6d\\xe0\\xdb\\xc0\\xb7\\x81\\x6f\\x03\\xdf\\x06\\xbe\\x0d\\x7c\\x07\\xf8\\x0e\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x80\\xef\\x00\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x4e\\x55\\x5a\\x8d\\xbb\\x96\\xf8\\x87\\x79\\xb4\\x2f\\xab\\xd5\\xd8\\x7e\\x1a\\x8d\\xf9\\xab\\xdd\\xa2\\xae\\xd6\\x68\\x57\\x8b\\x9f\\x4f\\xf4\\xe7\\xbd\\x56\\x8c\\xf2\\x72\\xa4\\x15\\x48\\x0d\\xa4\\x26\\x52\\x0b\\x69\\x08\\x69\\x18\\x69\\x04\\x69\\x25\\xd2\\x2a\\xa4\\x35\\x48\\x6b\\x91\\xd6\\x21\\xad\\x47\\x6a\\x23\\xf5\\xbd\\x61\\x54\\x00\\xbf\\x02\\xf8\\x15\\xc0\\xaf\\x00\\x7e\\x05\\xf0\\x2b\\x80\\x5f\\x01\\xfc\\x8a\\x48\\xc6\\xd2\\xd4\\xd5\\xba\\x2b\\x65\\x03\\x25\\x60\\x49\\x05\\x2c\\xa9\\x80\\x25\\x15\\xb0\\xa4\\x02\\x96\\x54\\xc0\\x12\\x03\\x96\\x18\\xb0\\xc4\\x80\\x25\\x06\\x2c\\x31\\x60\\x89\\x01\\x4b\\x0c\\x58\\x62\\xc0\\x13\\x06\\x3c\\x61\\xc0\\x13\\x06\\xf0\\x0d\\xe0\\x1b\\xc0\\x37\\x80\\x6f\\x00\\xdf\\x00\\xbe\\x09\\x7c\\x13\\xf8\\x26\\xf0\\x4d\\xe0\\x9b\\xc0\\x37\\x81\\x6f\\x02\\xdf\\x04\\xae\\x09\\x5c\\x13\\xb8\\x26\\x70\\x4d\\xe0\\x9a\\xc0\\x35\\x81\\x6b\\x02\\xd7\\x02\\xae\\x05\\x5c\\x0b\\xb8\\x16\\x70\\x2d\\xe0\\x5a\\xc0\\xb5\\x80\\x6b\\xa1\\xdf\\x16\\xf0\\x2d\\xe0\\x5b\\xc0\\xb7\\x80\\x6f\\x01\\xdf\\x02\\xbe\\x05\\x7c\\x0b\\xf8\\x21\\xe0\\x87\\x80\\x1f\\x02\\x7e\\x08\\xf8\\x21\\xe0\\x87\\x80\\x1f\\x02\\x7e\\x08\\xf8\\x21\\xe0\\x87\\x80\\x1f\\x02\\x7e\\x08\\xf8\\x21\\xe0\\x87\\x80\\x1f\\x02\\x7e\\x08\\xf8\\x61\\xe0\\x87\\x81\\x1f\\x06\\x7e\\x18\\xf8\\x61\\xe0\\x87\\x81\\x1f\\x06\\x7e\\x18\\xf8\\x61\\xe0\\x87\\x81\\x1f\\x06\\x7e\\x18\\xf8\\x61\\xe0\\x87\\x81\\x1f\\x06\\x7e\\x18\\xf8\\x11\\xe0\\x47\\x80\\x1f\\x01\\x7e\\x04\\xf8\\x11\\xe0\\x47\\x80\\x1f\\x01\\x7e\\x04\\xf8\\x11\\xe0\\x47\\x80\\x1f\\x01\\x7e\\x04\\xf8\\x11\\xe0\\x47\\x80\\x1f\\x01\\x7e\\x04\\xf8\\xe0\\x7f\\x03\\xfc\\x6f\\x80\\xff\\x0d\\xf0\\xbf\\x01\\xfe\\x37\\xc0\\xff\\x06\\xf8\\xdf\\x00\\xff\\x1b\\xe0\\x7f\\x03\\xfc\\x6f\\x80\\xff\\x0d\\xf0\\xbf\\x01\\xfe\\x37\\xc0\\xff\\x06\\xf8\\xdf\\x00\\xff\\x1b\\xe0\\x7f\\x03\\xfc\\x6f\\x54\\x01\\x1f\\x3a\\xc0\\x80\\x0e\\x30\\xa0\\x03\\x0c\\xe8\\x00\\x03\\x3a\\xc0\\x80\\x0e\\x30\\xa0\\x03\\x0c\\xe8\\x00\\x03\\x3a\\xc0\\x80\\x0e\\x30\\xa0\\x03\\x0c\\xe8\\x00\\xa3\\x0a\\xf8\\x08\\x73\\x8c\\x1a\\xe0\\x43\\x0b\\x18\\xd0\\x02\\x06\\xb4\\x80\\x01\\x2d\\x60\\x40\\x0b\\x18\\xd0\\x02\\x06\\xb4\\x80\\x01\\x2d\\x60\\x40\\x0b\\x18\\xd0\\x02\\x06\\xb4\\x80\\x01\\x2d\\x60\\xd4\\x00\\xbf\\x06\\xf8\\xb5\\xc0\\x87\\x1e\\x30\\xa0\\x07\\x0c\\xe8\\x01\\x03\\x7a\\xc0\\x80\\x1e\\x30\\xa0\\x07\\x0c\\xe8\\x01\\x03\\x7a\\xc0\\x80\\x1e\\x30\\xa0\\x07\\x0c\\xe8\\x01\\x03\\x7a\\xc0\\x80\\x1e\\x30\\xa0\\x07\\x0c\\xe8\\x01\\x03\\x7a\\xc0\\x80\\x1e\\x30\\xa0\\x07\\x0c\\xe8\\x01\\x03\\x7a\\xc0\\x80\\x1e\\x30\\xc0\\xff\\x06\\x78\\xdf\\x00\\xef\\x1b\\xe0\\x7d\\x03\\xbc\\x6f\\x80\\xf7\\x0d\\xf0\\xbe\\x01\\xde\\x37\\xc0\\xfb\\x06\\x78\\xdf\\x00\\xef\\x1b\\xe0\\x7d\\x03\\xbc\\x6f\\x80\\xf7\\x0d\\xf0\\xbe\\x01\\x1e\\x37\\xc0\\xe3\\x06\\x78\\xdc\\x00\\x8f\\x1b\\xe0\\x71\\x03\\x3c\\x6e\\x80\\xc7\\x0d\\xf0\\xb8\\x01\\x1e\\x37\\xc0\\xe3\\x06\\x78\\xdc\\x00\\x8f\\x1b\\xe0\\x71\\x03\\x3c\\x6e\\x80\\xc7\\x0d\\xf0\\xb8\\x01\\x1e\\x37\\xc0\\xe3\\x06\\x78\\xdc\\x00\\x8f\\x1b\\xe0\\x71\\x03\\x3c\\x6e\\x80\\xc7\\x0d\\xf0\\xb8\\x01\\x1e\\x37\\xc0\\xe3\\x06\\x78\\xdc\\x70\\x80\\xef\\x00\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x0e\\xf0\\x1d\\x27\\xd0\\xdc\\x19\\xdd\\x18\\x93\\x84\\xb7\\x36\\xe0\\x31\\xb9\\x9b\\xf3\\xbe\\x33\\xcb\\x8d\\x80\\x17\\x89\\xa4\\xec\\xb1\\x90\\x86\\x90\\x86\\x91\\x46\\x90\\x56\\x66\\xb6\\x24\\x12\\xeb\\xa3\\x6b\\x13\\x1b\\x53\\x6b\\xd5\\x20\\xad\\x45\\x5a\\x87\\xb4\\x1e\\xa9\\x8d\\xd4\\xf7\\x85\\x09\\x16\\x37\\xc1\\xe2\\x26\\x58\\xdc\\x04\\x8b\\x9b\\x60\\x71\\x13\\x2c\\x6e\\x82\\xc5\\xcd\\x0a\\x58\\x51\\x51\\x89\\xb4\\x0a\\x29\\xf0\\xc1\\xdd\\x26\\xb8\\xdb\\x04\\x77\\x9b\\xe0\\x6e\\x13\\xdc\\x6d\\x82\\xbb\\x4d\\x70\\xb7\\x69\\x18\\x19\\x32\\xd6\\x59\\x1b\\x6b\\x4d\\x6c\\xea\\xef\\x14\\x08\\xdc\\x04\\x81\\x9b\\x20\\x70\\x13\\x04\\x6e\\x82\\xc0\\x4d\\x10\\xb8\\x09\\x02\\x37\\x41\\xe0\\x26\\x08\\xdc\\x04\\x81\\x9b\\x20\\x70\\x13\\x04\\x6e\\x82\\xc0\\x4d\\x10\\xb8\\x09\\x02\\x37\\x41\\xe0\\x26\\x08\\xdc\\x04\\x81\\x9b\\x20\\x70\\xd3\\x04\\x3e\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xda\\x04\\x51\\x9b\\x20\\x62\\x13\\x44\\x6c\\x82\\x88\\x4d\\x10\\xb1\\x19\\xb1\\x45\\x32\\xd1\\x9e\\xe8\\xca\\x6c\\x8c\\xc7\\x3a\\x63\\x5d\\xf1\\x2e\\x6f\\x2b\\xad\\xa6\\xb5\\xa3\\x25\\xea\\x65\\x03\\xd1\\xf6\\x44\\x32\\xd6\\x1a\\x8b\\x47\\x33\\xec\\x8e\\xae\\xb8\\x8c\\xd9\\xbd\\xdd\\xba\\x9d\\xc4\\xf7\\xf3\\x12\\xc8\\x65\\x2c\\x6a\\x8b\\xbb\\x67\\x1c\\xfc\\x8d\\xe5\\x29\\x85\\xd3\\x16\\xb5\\xc5\\x9a\\xfd\\x42\\xb9\\x71\\x59\\x7c\\x1f\\x2c\\xe1\\x61\\xf1\\xda\\x58\\x32\\x2a\\xe6\\x44\\xa5\\x7e\\xd6\\x80\\xc3\\x0f\\x91\\xbb\\x98\\xc4\\x11\\xcb\\x5a\\x64\\x8e\\xbb\\x40\\xe2\\x80\\x68\\x47\\x47\\x54\\x5d\\x10\\x6d\\x5b\\xdb\\x18\\xa5\\x0b\\xbb\\xe9\\x81\\xdd\\xf4\\xe0\\xb8\\x06\\x64\\xba\\x38\\xce\\x96\\xb4\\x24\\xc4\\xd2\\x78\\x73\\x5b\\x94\\x2d\\x8b\\x76\\x6b\\xb0\\x82\\x2d\\x6e\\x89\\xb3\\x3a\\xf9\\x59\\xdc\\x15\\xcf\\x98\\x97\\x62\\x41\\x36\\x0a\\xf4\\x6e\\xa7\\x45\\xfb\\x3a\\x9e\\x11\\x4b\\xed\\x6e\\xac\\xb7\\xbb\\xf1\\xde\\xee\\x0e\\xe9\\xde\\xb7\\xaa\\xdf\\x19\\xaf\\x3e\\x5f\\xeb\\x76\\xa6\\xd9\\xed\\x8c\\x68\\x8c\\xb5\\x26\\xa3\\x1a\\xda\\xe2\\x5b\\xdc\\x2e\\xb9\\x5f\\x26\\xbd\\x2e\\xb9\\x8d\\x89\\xf5\\x5e\\x97\\x5a\\xfd\\x2e\\xb5\\x77\\xd3\\x23\\xe3\\x5a\\xc2\\xef\\x0f\\xeb\\x6c\\x49\\xa8\\x5d\\x6e\\x67\\x2a\\x84\\x97\\xb0\\xa4\\xec\\x13\\x70\\x59\\x87\\xec\\x4f\\x83\\xfc\\xc8\\x4d\\x91\\x70\\x1d\\x9c\\x91\\xea\\xdb\\xec\\x01\\xe6\\x65\\x24\\x52\\x47\\xa7\\x3b\\x75\\x74\\x12\\x7d\\xa3\\xe3\\xcf\\x09\\x90\\xa4\\x09\\x92\\x34\\x41\\x92\\x26\\x48\\xd2\\x04\\x49\\x9a\\x20\\x49\\x13\\x24\\x69\\x82\\x24\\x4d\\x04\\xc7\\x26\\x82\\x63\\x13\\xc1\\xb1\\x89\\xe0\\xd8\\x44\\x70\\x6c\\x22\\x38\\x36\\x41\\xaa\\x26\\x48\\xd5\\x04\\xa9\\x9a\\x20\\x55\\x13\\xa4\\x6a\\x82\\x54\\x4d\\x90\\xaa\\x09\\x52\\x35\\x41\\xaa\\x26\\x48\\xd5\\x04\\xa9\\x9a\\x20\\x55\\x13\\xa4\\x6a\\x82\\x54\\x4d\\x90\\xaa\\x09\\x52\\x35\\x41\\xaa\\x26\\x48\\xd5\\x04\\xa9\\x9a\\x20\\x55\\x13\\xa4\\x6a\\x82\\x54\\x4d\\x90\\xaa\\x09\\x52\\x35\\x41\\xaa\\x26\\x48\\xd5\\x04\\xa9\\x9a\\x20\\x55\\x13\\xa4\\x6a\\x82\\x54\\x4d\\x90\\xaa\\x09\\x52\\x35\\x41\\xaa\\xa6\\xe3\\xe3\\x5b\\x08\\x87\\x2d\\x84\\xc3\\x16\\xc2\\x61\\x0b\\xe1\\xb0\\x05\\x3a\\xb5\\x40\\xa7\\x16\\xe8\\xd4\\x02\\x9d\\x5a\\x08\\x87\\x2d\\x84\\xc3\\x16\\x88\\xd4\\x02\\x91\\x5a\\x20\\x52\\x0b\\x44\\x6a\\x81\\x48\\x2d\\x10\\xa9\\x05\\x22\\xb5\\x40\\xa4\\x16\\x88\\xd4\\x02\\x91\\x5a\\x20\\x52\\x0b\\x44\\x6a\\x81\\x48\\x2d\\x10\\xa9\\x05\\x22\\xb5\\x40\\xa4\\x16\\x88\\xd4\\x02\\x91\\x5a\\x20\\x52\\x0b\\x44\\x6a\\x81\\x48\\x2d\\x10\\xa9\\x05\\x22\\xb5\\x40\\xa4\\x16\\x82\\x60\\x0b\\x41\\xb0\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\x08\\x86\\x2d\\x04\\xc3\\x16\\x82\\x61\\x0b\\xc1\\xb0\\x05\\x8e\\xb5\\xc0\\xb1\\x16\\x82\\x61\\x0b\\xc1\\xb0\\x85\\x60\\xd8\\x42\\x30\\x6c\\x81\\x83\\x2d\\x70\\xb0\\x05\\x0e\\xb6\\xc0\\xc1\\x16\\x82\\x61\\x0b\\xc1\\xb0\\x85\\x60\\xd8\\x42\\x30\\x6c\\x21\\x18\\xb6\\x10\\x0c\\x5b\\x08\\x86\\x2d\\x04\\xc3\\x16\\x82\\x61\\x0b\\xc1\\xb0\\x85\\x60\\xd8\\x42\\x30\\x6c\\x21\\x18\\xb6\\x10\\x0c\\x5b\\x08\\x86\\x2d\\x04\\xc3\\x16\\x82\\x61\\x0b\\xc1\\xb0\\x85\\x60\\xd8\\x42\\x30\\x6c\\x21\\x18\\xb6\\x10\\x0c\\x5b\\x08\\x86\\x2d\\x04\\xc3\\x16\\x82\\x61\\x0b\\xc1\\xb0\\x85\\x60\\xd8\\x42\\x30\\x6c\\x21\\x18\\xb6\\x10\\x0c\\x5b\\x08\\x86\\x2d\\x04\\xc3\\x16\\x82\\x61\\x0b\\xc1\\xb0\\x85\\x60\\xd8\\x42\\x30\\x6c\\x21\\x18\\xb6\\x10\\x0c\\x5b\\x08\\x86\\x2d\\x04\\xc3\\x16\\x82\\x61\\x0b\\xc1\\xb0\\x85\\x60\\xd8\\x42\\x30\\x6c\\x21\\x18\\xb6\\x10\\x0c\\x5b\\x08\\x86\\x2d\\x04\\xc3\\x16\\x82\\x61\\x0b\\xc1\\xb0\\x85\\x60\\xd8\\x42\\x30\\x6c\\x21\\x18\\xb6\\x10\\x0c\\x5b\\x08\\x86\\x2d\\x04\\xc3\\x16\\x82\\x61\\x0b\\xc1\\xb0\\x85\\x60\\xd8\\x42\\x30\\x6c\\x21\\x18\\xb6\\x10\\x0c\\x5b\\x08\\x86\\x2d\\x04\\xc3\\x16\\x82\\x61\\x0b\\xc1\\xb0\\x85\\x60\\xd8\\x42\\x30\\x6c\\x21\\x18\\xb6\\x10\\x0c\\x5b\\x08\\x86\\x2d\\x04\\xc3\\x16\\x4e\\x8e\\x5b\\x38\\x39\\x6e\\x21\\x38\\xb6\\x70\\x72\\xdc\\x42\\x90\\x6c\\x21\\x48\\xb6\\x10\\x24\\x5b\\x08\\x92\\x2d\\x04\\xc9\\x16\\x82\\x64\\x0b\\xfc\\x6f\\x81\\xff\\x2d\\xf0\\xbf\\x05\\xfe\\xb7\\xc0\\xff\\x16\\xf8\\xdf\\x02\\xff\\x5b\\xe0\\x7f\\xab\\xbe\\x32\\x10\\x6d\\x8a\\xc7\\x2b\\xca\\x2b\\x7b\\x57\\x26\\x28\\x00\\x0b\\x0a\\xc0\\x82\\x02\\xb0\\xa0\\x00\\x2c\\x28\\x00\\x0b\\x0a\\xc0\\x82\\x02\\xb0\\xa0\\x00\\x2c\\x28\\x00\\x0b\\x0a\\xc0\\x82\\x02\\xb0\\xa0\\x00\\x2c\\x28\\x00\\x0b\\x0a\\xc0\\x82\\x02\\xb0\\xa0\\x00\\x2c\\x28\\x00\\x0b\\x0a\\xc0\\x82\\x02\\xb0\\xa0\\x00\\x2c\\x28\\x00\\x0b\\x0a\\xc0\\x82\\x02\\xb0\\xa0\\x00\\x2c\\x28\\x00\\x0b\\x0a\\xc0\\x82\\x02\\xb0\\xa0\\x00\\x2c\\x28\\x00\\x0b\\x0a\\xc0\\x82\\x02\\xb0\\xa0\\x00\\x2c\\x28\\x00\\x0b\\x0a\\xc0\\x82\\x02\\xb0\\xa0\\x00\\x2c\\x28\\x00\\x0b\\x0a\\x20\\x04\\x05\\x10\\x82\\x02\\x08\\x41\\x01\\x84\\xa0\\x00\\x42\\x50\\x00\\x21\\x28\\x80\\x10\\x14\\x40\\x08\\x0a\\x20\\x04\\x05\\x10\\x82\\x02\\x08\\x41\\x01\\x84\\xa0\\x00\\x42\\x50\\x00\\x21\\x28\\x80\\x10\\x14\\x40\\x08\\x0a\\x20\\x04\\x05\\x10\\x82\\x02\\x08\\x41\\x01\\x84\\xa0\\x00\\x42\\x60\\xf4\\x10\\x18\\x3d\\x04\\x46\\x0f\\x81\\xd1\\x43\\x58\\x39\\x42\\x58\\x39\\x42\\x58\\x39\\x42\\x58\\x39\\x42\\x58\\x39\\x42\\x58\\x39\\x42\\x58\\x39\\x42\\x58\\x39\\x42\\x58\\x39\\x42\\x58\\x39\\x42\\x58\\x39\\x42\\x58\\x39\\x42\\x55\\xbd\\x38\\xb0\\x1b\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\x08\\x2b\\x47\\xa8\\xc6\\x11\\x5d\\x2d\\xb1\\x8d\\xd1\\x34\\x19\\x3b\\x44\\x9b\\xba\\x62\\xcd\\x89\\x56\\x3f\\xdb\\x21\\xff\\xb4\\xa4\\x7b\\xd9\\x0d\\xd1\\xb6\\x68\\xb2\\x4b\\xb4\\xc4\\x3b\\xe3\\x1b\\x44\\xb2\\x4b\\xaa\\x72\\xe1\\x15\\x14\\x5e\\x19\\xb5\\xf7\\xeb\\x84\\x0c\\x04\\xfc\\x46\\x6b\\x6b\\xd4\\x0d\\xdd\\x6b\\xbb\\x93\\x5d\\x6a\\x63\\xb4\\x39\\xd6\\xd5\\x22\\xda\\x62\\xc9\\x58\\xb3\\x68\\x8b\\x6e\\x88\\x36\\xf1\\xce\\x68\\x53\\x4c\\xd6\\xec\\x8a\\x6d\\xd0\\xdc\\x1f\\xbf\\xb9\\x17\\xc6\\xbb\\xbc\\x44\\xef\\x4a\\x48\\xd4\\xae\\xee\\x0d\\x81\\xee\\x8e\\x8e\\x58\\xe7\\x1a\\x77\\x57\\x6b\\x62\\x53\\xac\\x53\\x66\\xfc\\x76\\xeb\\xc2\\xe9\\x3e\\xd8\\x06\\x09\\xdc\\xce\\xa3\\xad\\xb1\\x26\\x26\\x03\\x16\\xd1\\x1c\\x6f\\x8b\\xb5\\x8a\\x46\\xb9\\x9d\\xa4\\x2d\\x31\\xb6\\x31\\xba\\x51\\x6c\\x89\\x6e\\x8e\\xb7\\x33\\x19\\xaa\\xb0\\xa4\\xfc\\x6c\\x4e\\x34\\xea\\x4d\\xf1\\xf6\\x68\\xeb\\xfa\\x68\\x13\\x93\\x1f\\x21\\x4d\\x8d\\x61\\x57\\x5b\\xac\\x8d\\xc9\\x8f\\xbf\\xd1\\xde\\xdd\\xce\\xe4\\x47\\xed\\x92\\xdf\\xaf\\x6f\\xe1\\x6e\\x23\\x9a\\xf7\\x45\\x47\\x8c\\x76\\xc4\\xd2\\xbc\\x6c\\xb2\\x4b\\x86\\x2a\\xc2\\xfb\\xcb\\x36\\x24\\x64\\x87\\x64\\x0f\\xb9\\xdb\\x15\\x19\\xe3\\x6c\\x54\\x25\\xf8\\x46\\x3f\\x91\\xa0\\xaa\\xfc\\xb8\\x49\\xb3\\x1b\\xc9\\xb4\\x04\\x64\\xd2\\xd5\\x22\\xdb\\xf4\\xdc\\x54\\x51\\xef\\x1f\\x2b\\x32\\xad\\x40\\x6a\\x20\\x35\\x91\\x5a\\x48\\x43\\x48\\xc3\\x48\\x23\\x48\\x2b\\x91\\x56\\x21\\xad\\x41\\x5a\\x8b\\xb4\\x0e\\x69\\x3d\\x52\\x1b\\xa9\\xe3\\xa7\\x15\\xc0\\xaf\\x00\\x7e\\x05\\xf0\\x2b\\x80\\x5f\\x01\\xfc\\x0a\\xe0\\x57\\x00\\xbf\\x02\\xf8\\x15\\xc0\\xaf\\x00\\x7e\\x05\\xf0\\x2b\\x80\\x5f\\x01\\xfc\\x0a\\xe0\\x57\\x00\\xbf\\x02\\xf8\\x06\\xf0\\x0d\\xe0\\x1b\\xc0\\x37\\x80\\x6f\\x00\\xdf\\x00\\xbe\\x01\\x7c\\x03\\xf8\\x06\\xf0\\x0d\\xe0\\x1b\\xc0\\x37\\x80\\x6f\\x00\\xdf\\x00\\xbe\\x01\\x7c\\x03\\xf8\\x26\\xf0\\x4d\\xe0\\x9b\\xc0\\x37\\x81\\x6f\\x02\\xdf\\x04\\xbe\\x09\\x7c\\x13\\xf8\\x26\\xf0\\x4d\\xe0\\x9b\\xc0\\x37\\x81\\x6f\\x02\\xdf\\x04\\xbe\\x09\\x7c\\x13\\xf8\\x16\\xf0\\x2d\\xe0\\x5b\\xc0\\xb7\\x80\\x6f\\x01\\xdf\\x02\\xbe\\x05\\x7c\\x0b\\xf8\\x16\\xf0\\x2d\\xe0\\x5b\\xc0\\xb7\\x80\\x6f\\x01\\xdf\\x02\\xbe\\x05\\x7c\\x0b\\xf8\\x21\\xe0\\x87\\x80\\x1f\\x02\\x7e\\x08\\xf8\\x21\\xe0\\x87\\x80\\x1f\\x02\\x7e\\x08\\xf8\\x21\\xe0\\x87\\x80\\x1f\\x02\\x7e\\x08\\xf8\\x21\\xe0\\x87\\x80\\x1f\\x02\\x7e\\x08\\xf8\\x61\\xe0\\x87\\x81\\x1f\\x06\\x7e\\x18\\xf8\\x61\\xe0\\x87\\x81\\x1f\\x06\\x7e\\x18\\xf8\\x61\\xe0\\x87\\x81\\x1f\\x06\\x7e\\x18\\xf8\\x61\\xe0\\x87\\x81\\x1f\\x06\\x7e\\x18\\xf8\\x11\\xe0\\x47\\x80\\x1f\\x01\\x7e\\x04\\xf8\\x11\\xe0\\x47\\x80\\x1f\\x01\\x7e\\x04\\xf8\\x11\\xe0\\x47\\x80\\x1f\\x01\\x7e\\x04\\xf8\\x11\\xe0\\x47\\x80\\x1f\\x01\\x7e\\x04\\xf8\\x95\\xc0\\xaf\\x04\\x7e\\x25\\xf0\\x2b\\x81\\x5f\\x09\\xfc\\x4a\\xe0\\x57\\x02\\xbf\\x12\\xf8\\x95\\xc0\\xaf\\x04\\x7e\\x25\\xf0\\x2b\\x81\\x5f\\x09\\xfc\\x4a\\xe0\\x57\\x02\\xbf\\x12\\xf8\\x55\\xc0\\xaf\\x02\\x7e\\x15\\xf0\\xab\\x80\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\x55\\xc0\\xaf\\x02\\x7e\\x15\\xf0\\xab\\x80\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\x35\\xc0\\xaf\\x01\\x7e\\x0d\\xf0\\x6b\\x80\\x5f\\x03\\xfc\\x1a\\xe0\\xd7\\x00\\xbf\\x06\\xf8\\x35\\xc0\\xaf\\x01\\x7e\\x0d\\xf0\\x6b\\x80\\x5f\\x03\\xfc\\x1a\\xe0\\xd7\\x00\\xbf\\x06\\xf8\\xb5\\xc0\\xaf\\x05\\x7e\\x2d\\xf0\\x6b\\x81\\x5f\\x0b\\xfc\\x5a\\xe0\\xd7\\x02\\xbf\\x16\\xf8\\xb5\\xc0\\xaf\\x05\\x7e\\x2d\\xf0\\x6b\\x81\\x5f\\x0b\\xfc\\x5a\\xe0\\xd7\\x02\\xbf\\x16\\xf8\\x75\\xc0\\xaf\\x03\\x7e\\x1d\\xf0\\xeb\\x80\\x5f\\x07\\xfc\\x3a\\xe0\\xd7\\x01\\xbf\\x0e\\xf8\\x75\\xc0\\xaf\\x03\\x7e\\x1d\\xf0\\x1d\\xe0\\xf8\\x9a\\xac\\xc2\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x76\\xc4\\x51\\x57\\x7a\\xd7\\x3a\\xd5\\x4d\\x7e\\xb2\\xd2\\xbf\\xb5\\x71\\x93\\x97\\x04\\x56\\xf6\\x9e\\x60\\x0f\\x6c\\xea\\xcd\\xf9\\xf5\\xc0\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\xec\\x2a\\x3b\\x50\\xd3\\x7b\\xbd\\x32\\x10\\xed\\xcd\\xa5\\xd5\\xf4\\x5d\\x99\\x4d\\x8b\\xf6\\x65\\x73\\x6a\\xfa\\x6f\\xf5\\xf4\\xdc\\x90\\x13\\x1d\\xb8\\x23\\xa5\\x84\\xe7\\xb6\\xd4\\x12\\xde\\x8e\\x21\\x29\\x25\\xfa\\x1a\\x1e\\x12\\x1d\\x64\\x67\\x6a\\x5b\\xde\\x95\\xe5\\xd4\\xb6\\xbc\\x1d\\xf9\\x29\\x25\\x7a\\x2d\\xcf\\x8f\\xfe\\x72\\x5f\\xba\\x7f\\x6b\\xb8\\x7f\\x1b\\x5a\\x34\\x25\\xef\\xef\\xf7\\xec\\xc2\\x7e\\x2f\\x9f\\xed\\xef\\xef\\xb3\\x24\\x3b\\xba\\xef\\x36\\xea\\x79\\x36\\xa0\\x9e\\x97\\xcf\\xf2\\xf7\\xf7\\xc2\\x66\\x45\\xf7\\xd9\\x0c\\xd8\\x7d\\xb9\\xbe\\x7d\\x69\\x76\\xbf\\x9f\\xfb\\xdb\\x57\\x6d\\xff\\xd6\\x5e\\xbf\\xd5\\x1c\\x7b\\xa0\\x93\\x63\\x03\\x77\\xd8\\x03\\xbd\\x1e\\x1b\\xe8\\x75\\x7b\\x30\\xaf\\xc7\\x06\\xf3\\xba\\x3d\\xd0\\xeb\\xb1\\x81\\x5e\\xb7\\x07\\xf1\\x7a\\xec\\x97\\xfb\\xd2\\xe6\\xf5\\xf7\\x2d\\xde\\x97\\x0d\\xcc\\xeb\\xf3\\x42\\xbc\\x2f\\xb7\\xa8\\x2f\\x97\\xe8\\xab\\xbd\\xa8\\xbf\\x76\\xa2\\xdf\\xba\\x45\\x03\\xbb\\x9e\\x18\\xb8\\x63\\xd1\\x40\\x5f\\x24\\x06\\xfa\\x62\\xd1\\x60\\xbe\\x48\\x0c\\xe6\\x8b\\x45\\x03\\x7d\\x91\\x18\\xe8\\x8b\\x45\\x83\\xf8\\x22\\x31\\x88\\x2f\\xbc\\xdb\\x7e\\xfd\\xdb\\x25\\x13\\xfd\\x59\\x6f\\xaf\\x67\\x94\\xbf\\xd7\\xcb\\x66\\x79\\x7b\\xfb\\x8c\\xc8\\x4a\\xec\\xb3\\xe9\\xd7\\xf1\\xc0\\xfd\\x3a\\x5e\\x36\\xd3\\xdb\\xdb\\x8b\\x96\\x99\\x48\\xdd\\x0a\\x2c\\xef\\xcb\\x75\\xf7\\xd9\\xb3\\xbc\\xbf\\xc1\\xee\\xfe\\xec\\xf2\\x7e\\xd3\\xba\\xfb\\xb3\\xcb\\xfb\\xad\\xec\\xee\\xb7\\x72\\xf9\\xbe\\x56\\x76\\xef\\x6b\\xe5\\xf2\\x7e\\x2b\\xbb\\xfb\\xad\\x5c\\xbe\\x8f\\x95\\xdd\\xa9\\x5b\\xea\\x2a\\x7f\\x99\\xdd\\xec\\x25\\x81\\x55\\x7d\\x36\\x6f\\xee\\xb3\\x79\\x55\\x7f\\xf3\\x9b\\xfb\\x8f\\x95\\x55\\xfe\\xb1\\xb2\\xd9\\xbf\\x0d\\xde\\x5d\\xd3\\x1c\\x68\\x36\\x07\\x9a\\xcd\\x81\\x66\\x73\\xa0\\xd9\\x1c\\x68\\x36\\x07\\x9a\\xcd\\x81\\x66\\x73\\xa0\\xd9\\x1c\\x68\\x36\\x07\\x9a\\xcd\\x81\\x66\\x73\\xa0\\xd9\\x1c\\x68\\x36\\x07\\x9a\\xcd\\x81\\x66\\x73\\xa0\\xd9\\x1c\\x68\\x36\\x07\\x9a\\xcd\\x81\\x66\\x73\\xa0\\xd9\\x1c\\x68\\x36\\x07\\x9a\\xcd\\x81\\x46\\x73\\xa0\\xd1\\x1c\\x68\\x34\\x07\\x1a\\xcd\\x81\\x46\\x73\\xa0\\xd1\\x1c\\x68\\x32\\x07\\x9a\\xcc\\x81\\x26\\x73\\xa0\\xc9\\x1c\\x68\\x32\\x07\\x9a\\xcc\\x81\\x26\\x73\\xa0\\xc9\\x1c\\x68\\x32\\x07\\x9a\\xcc\\x81\\x26\\x73\\xa0\\xc9\\x1c\\x68\\x32\\xc7\\xe8\\xc5\\x43\\xff\\xa0\\xc9\\x1c\\x68\\x32\\x07\\x9a\\xcc\\x81\\x26\\x73\\xa0\\xc9\\x1c\\x68\\x32\\x07\\x9a\\xcc\\x81\\x26\\x73\\xa0\\xc9\\x1c\\x68\\x32\\x07\\x9a\\xcc\\x81\\x26\\x73\\xa0\\xc9\\x1c\\x68\\x32\\x07\\x9a\\xcc\\x81\\x26\\x73\\xa0\\xc9\\x1c\\x68\\x32\\x07\\x9a\\xcc\\x81\\x26\\x73\\xa0\\xc9\\x1c\\x68\\x32\\x07\\x9a\\xcc\\x81\\x06\\x73\\xa0\\xc1\\x1c\\x68\\x30\\x07\\x1a\\xcc\\x81\\x06\\x73\\xa0\\xc1\\x1c\\x68\\x2e\\x07\\x9a\\xcb\\x81\\xe6\\x72\\xa0\\xb9\\x1c\\x68\\x2e\\x07\\x9a\\xcb\\x81\\xe6\\x72\\xa0\\xb9\\x1c\\x68\\x2d\\x07\\x1a\\xcb\\x09\\xf5\\xb6\\x0b\\xfb\\xa1\\xa9\\x1c\\x68\\x2a\\x07\\x9a\\xca\\x81\\xa6\\x72\\xa0\\xa9\\x1c\\x68\\x2a\\x07\\x9a\\xca\\x81\\xa6\\x72\\xa0\\xa9\\x1c\\x68\\x2a\\x07\\x9a\\xca\\x81\\xa6\\x72\\xa0\\xa9\\x1c\\x68\\x2a\\x07\\x9a\\xca\\x81\\xa6\\x72\\xa0\\xa9\\x1c\\x68\\x2a\\x07\\x9a\\xca\\x81\\xa6\\x72\\xa0\\xa9\\x1c\\x68\\x2a\\x07\\x9a\\xca\\x81\\xa6\\x72\\xa0\\xa9\\x1c\\x68\\x2a\\x07\\x9a\\xca\\x81\\xa6\\x72\\xa0\\xa9\\x1c\\x68\\x2a\\x07\\xb1\\xba\\x83\\x58\\xdd\\x41\\xac\\xee\\x20\\x56\\x77\\x10\\xab\\x3b\\x88\\xd5\\x1d\\x68\\x28\\x07\\x1a\\xca\\x81\\x86\\x72\\xa0\\xa1\\x1c\\x68\\x28\\x07\\x1a\\xca\\x81\\x86\\x72\\x2a\\x7b\\xf1\\xd0\\x5f\\x68\\x28\\x07\\x1a\\xca\\x81\\x86\\x72\\xa0\\xa1\\x1c\\x68\\x28\\x07\\x1a\\xca\\x81\\x86\\x72\\xa0\\xa1\\x1c\\x68\\x28\\x07\\x1a\\xca\\x81\\x86\\x72\\xa0\\xa1\\x1c\\x68\\x28\\x07\\xb1\\xba\\x83\\x58\\xdd\\x41\\xac\\xee\\x20\\x56\\x77\\x10\\xab\\x3b\\x88\\xd5\\x1d\\xc4\\xea\\x0e\\x62\\x75\\x07\\xb1\\xba\\x83\\x58\\xdd\\x41\\xac\\xee\\x20\\x56\\x77\\x10\\xab\\x3b\\x88\\xd5\\x1d\\xc4\\xea\\x0e\\x62\\x75\\x07\\xb1\\xba\\x83\\x58\\xdd\\x41\\xac\\xee\\x20\\x56\\x77\\x10\\xab\\x3b\\x88\\xd5\\x1d\\xc4\\xea\\x0e\\x62\\x75\\x07\\xb1\\xba\\x83\\x18\\xdd\\x41\\x8c\\xee\\x20\\x46\\x77\\x10\\xa3\\x3b\\x88\\xd1\\x1d\\xc4\\xe8\\x0e\\x62\\x74\\x07\\x31\\xba\\x83\\x18\\xdd\\x41\\x8c\\xee\\x20\\x46\\x77\\x10\\xa3\\x3b\\x88\\xd1\\x1d\\xc4\\xe8\\x0e\\x62\\x74\\x07\\xb1\\xb9\\x83\\xd8\\xdc\\x41\\x6c\\xee\\x20\\x36\\x77\\x10\\x9b\\x3b\\x75\\xc0\\xad\\x03\\x6e\\x1d\\x70\\xeb\\x80\\x5b\\x07\\xdc\\x7a\\xe0\\xd6\\x03\\xb7\\x1e\\xb8\\xf5\\xc0\\xad\\x07\\x5e\\x3d\\xf0\\xea\\x81\\x57\\x0f\\xbc\\x7a\\xe0\\xd5\\x03\\xaf\\x1e\\x38\\xf5\\xc0\\xa9\\x07\\x8e\\x0d\\x1c\\x1b\\x38\\x36\\x70\\x6c\\xe0\\xd8\\xe8\\x9f\\x8d\\x71\\xb5\\x81\\x6b\\x03\\xd7\\x06\\xae\\x0d\\x5c\\x1b\\xb8\\x36\\x70\\x6d\\xf4\\xd3\\x06\\xbe\\x0d\\x7c\\x1b\\xf8\\x0e\\xf0\\x1c\\xe0\\x39\\xc0\\x73\\x80\\xe3\\x00\\xc7\\x01\\x8e\\x03\\x1c\\x07\\x38\\x0e\\x70\\x1c\\xe0\\x38\\xc0\\xf1\\xcf\\x81\\x18\\xe5\\x3e\\xcf\\xc9\\xb4\\x1e\\x69\\xef\\x7e\\xc7\\x4f\\x7d\\x5e\\x93\\x69\\x28\\xd3\\x7b\\x16\\x9a\\xf7\\x33\\xcd\\xc6\\xb5\\xad\\x99\\x1b\\xba\\x13\\xee\\x83\\x38\\xdd\\x5f\\x6e\\xc6\\x1a\\x51\\x06\\x75\\x7c\\xae\\x91\\x69\\x2d\\x52\\x60\\x18\\xc0\\x30\\x6c\\xb5\\x2d\\xde\\xee\\xfd\\x60\\x2e\\xd6\\x90\\x68\\x47\\x6d\\xd3\\x0a\\xc4\\x8e\\x6c\\x68\\x8d\\xb6\\xc9\\xd6\\x03\\x9d\\xd1\\x46\\xf7\\xa9\\x7e\\xb1\\x23\\xfd\\xef\\x42\\xb0\\x2a\\x8c\\x96\\xc3\\x68\\x39\\x8c\\x96\\xc3\\x68\\x39\\xdc\\x5b\\xce\\x09\\xb4\\x77\\x75\\x77\\xc4\\x3a\\xe3\\x89\\x4e\\x7f\\x8f\\xbf\\x3e\\xc8\\xb4\\x02\\x29\\xfa\\xe5\\xaf\\x0f\\x32\\xb5\\xfc\\xb4\\x06\\xe5\\x6a\\x50\\xae\\xc6\\xe0\\xad\\xf1\\xce\\x28\\x36\\x42\\x48\\xc3\\x6a\\x47\\xac\\x2b\\x96\\xec\\xdd\\x5d\\x89\\xb4\\x4a\\xed\\x6a\\x89\\x6d\\x88\\xb5\\xf2\\xc6\\x44\\x7b\\x33\\x77\\x9f\\x13\\x88\\x2f\\x60\\x5e\\x0d\\xcc\\xab\\x81\\xa3\\x6a\\x01\\x56\\x0b\\xb0\\x5a\\x18\\x55\\x0b\\xa3\\x6a\\x61\\x54\\x2d\\x70\\xfd\\x8b\\x97\\x46\\x85\\x2f\\x6a\\x8c\\x0a\\x5f\\x6c\\xc8\\x34\\x8c\\x34\\xc2\\x16\\xb5\\xb4\\x05\\x62\\x5d\\xc9\\x78\\x5b\\x34\\x89\\x61\\xa9\\xf0\\x29\\x4f\\xa6\\xb6\\x9e\\x68\\x8f\\x25\\x5b\\xe2\\x9d\\x8d\\x81\\xe4\\xa6\\x84\\x97\\xe9\\x0a\\xc8\\x5d\\x31\\xf7\\x39\\xc0\\x2d\\x19\\xc9\\x96\\xce\\x18\\xf2\\x5d\\xe9\\x4d\\xf1\\x8d\\xbd\\xf9\\x8c\\x2e\\x39\\xca\\xed\\xd8\\xf0\\x9b\\xaa\\xb4\\x02\\xd1\\xce\\xce\\xc4\\xa6\\xd6\\x58\\x53\\x52\\xf3\\x72\\xdd\\x1d\\x69\\x5e\\xea\\x3d\\x53\\xd8\\xff\\xb2\\x31\\xb1\\xa9\\xdd\\xcf\\xad\\x95\\x60\\x01\\x14\\x6b\\x6c\\xcf\\xe8\\xcb\\xad\\xed\\xf2\\xd4\\x9c\\x81\\x9f\\xfd\\x18\\x46\\x45\\x28\\x2d\\xd1\\x99\\x6c\\x71\\x7f\\x99\\x18\\x6d\\xcd\\x88\\xb7\\x27\\xdd\\xd9\\xe5\\x3d\\xac\\x35\\x3d\\xb6\\xa1\\x3b\\xbe\\x51\\xce\\x88\\xf6\\x86\\x98\\x68\\x49\\x74\\x77\\xc5\\x32\\xe5\\xe4\\x6b\\x4d\\x34\\xbb\\xd3\\xa4\\x3d\\x91\\x4c\\x73\\x0b\\x4b\\x5d\\xd9\\x9a\\xec\\xe8\\xcb\\xae\\xf5\\x2e\\x8b\\x19\\xb8\\xe6\\x6a\\xe0\\x5a\\xab\\x81\\x6b\\xa4\\x06\\xae\\x85\\xca\\xd4\\x42\\x5a\\x89\\x14\\xdf\\x1b\\xd8\\x8f\\xf9\\x1b\\x32\\xb1\\x6d\\x62\\x3b\\x84\\xfa\\xbe\\x86\\x90\\x29\\xda\\xf7\\x35\\x84\\x4c\\x51\\xde\\xd7\\x10\\x32\\x0d\\x23\\x8d\\x20\\x05\\x9e\\xaf\\x25\\x64\\x5a\\x83\\xb4\\x16\\x69\\x2f\\x4e\\x3d\\x52\\x1b\\xa9\\x3f\\x7d\\x42\\x61\\xe0\\x87\\x81\\x1f\\x06\\x7e\\x18\\xf8\\x61\\xe0\\x87\\x81\\x1f\\x06\\x7e\\x18\\xf8\\x61\\xe0\\x87\\x81\\x8f\\xa3\\x2b\\x84\\xa3\\x2b\\xe4\\x1e\\x5d\\x1d\\x6b\\x5b\\x13\\x0d\\xeb\\x35\\x39\\x56\\x6e\\x2a\\xfc\\xad\\xd6\\x26\\x3f\\xed\\x4c\\x62\\x3b\\xd9\\xd5\\x12\\x6d\\x8c\\x09\\xef\\xaf\\xd6\\xb8\\xde\\x4b\\x03\\x4d\\xf1\\xd6\\x56\\xb9\\x54\\x24\\xfc\\x63\\x18\\x57\\x6e\\x0d\\x5c\\x79\\x95\\x69\\x6d\\x9a\\x5f\\xa2\\x53\\x8e\\xb0\\x96\\xec\\x8c\\x47\\x9b\\xbb\\x3b\\xfc\\xb4\\x13\\xdb\\x8d\\xed\\x7e\\xda\\xda\\xa4\\xba\\xf1\\x56\\xab\\x3f\\x5b\\x42\\x75\\xf0\\x4b\\x9d\\x13\\x88\\xb7\\x6f\\x5c\\xdb\\x2d\\x1b\\x49\\xba\\x39\\xbf\\x4c\\x5a\\xa2\\x23\\xd6\\x8e\\x9d\\x5d\\x6d\\x71\\x39\\x45\\xa3\\x0d\\x31\\x39\\x97\\x36\\xf6\\x6d\\xb0\\xae\\xee\\x76\\xb5\\x29\\xd6\\x26\\x67\\x13\\x77\\xff\\x88\\xae\\x0e\\x69\\x2f\\x6f\\x68\\xed\\x5e\\x2b\\x5a\\x62\\x51\\x89\\xde\\x18\\x8f\\xb6\\xc9\\x85\\x29\\xbd\\xad\\xbb\\x0b\\xf3\\x2b\\x96\\x95\\x92\\x97\\x2b\\x94\\x67\\x41\\xd8\\x57\\x5b\\x46\\x1d\\x46\\xa2\\x0e\\x23\\x51\\x87\\x91\\xa8\\xc3\\x48\\xd4\\x61\\x24\\xea\\x30\\x12\\x75\\x18\\x89\\x3a\\x8c\\x44\\x1d\\x46\\xa2\\x0e\\x23\\x51\\x87\\x91\\xa8\\xc3\\x48\\xd4\\x61\\x9d\\xab\\xc3\\x3a\\x57\\x17\\x01\\x4e\\x04\\x38\\x11\\xe0\\x44\\x80\\x13\\x01\\x4e\\x04\\x38\\xbe\\xaa\\x33\\x70\\xc6\\xb8\\x26\\xd2\\x97\\x56\\x22\\xad\\x42\\x5a\\x83\\xb4\\x16\\x69\\x1d\\xd2\\x7a\\xa4\\x36\\x52\\xc7\\x4f\\xfd\\x28\\x45\\xa6\\x15\\x7e\\x5a\\x89\\xf6\\x2a\\xd1\\x5e\\x25\\xda\\xab\\x44\\x7b\\xbe\\x8a\\x93\\x22\\xa5\\x1e\\xa9\\x9d\\xe1\\x5f\\x01\\x5e\\xe3\\x5d\\x2a\\xcf\\x96\\x87\\x6f\\x4c\\x86\\xa4\\xee\\xf3\\x5f\\xdd\\x4b\\xcb\\xba\\x7b\\x05\\x7b\\x53\\x5c\\xce\\x25\\xef\\xda\\xb5\\x9b\\x53\\x5b\\x62\\x6e\\xa2\\xad\\x8f\\xfa\\x5f\\x78\\x17\\xaa\\xdd\\x5c\\x46\\xef\\xc5\\x6a\\x77\\x43\\x77\\x2f\\x27\\x7b\\xe5\\x92\\xd1\\x8d\\xde\\xb7\\xb2\\xe5\\x35\\x1d\\xad\\xdd\\x5d\\xee\\x23\\x45\\xd3\\xdd\\x8b\\xd1\\xb8\\xb6\\x9e\\xe6\\xe5\\xbd\\x6c\\xae\\xb7\\xcb\\xbb\\x20\\x8f\\x2f\\x73\\x52\\xf6\\x78\\x3b\\x02\\xae\\x41\\x9e\\xa9\\x69\\x6e\\xce\\xbf\\xd8\\xee\\xed\\x6c\\x8b\\x76\\xc4\\x37\\x04\\xd6\\xc6\\x92\\x7e\\xf1\\x74\\xef\\x92\\x3b\\xf2\\x9e\\xf1\\x7e\\x5e\\x6f\\x89\\xf9\\x99\\xc0\\xc6\\xe8\\x46\\x7c\\xed\\x5d\\x8a\\xc7\\xde\\x64\\x6f\\xc1\\x80\\x74\\x8a\\x9f\\xcb\\xea\\xbd\\x30\\x8f\\x2f\\xfa\\x72\\xe9\\x5e\\xdf\\xb1\\x57\\x76\\x1c\\xb9\\xf6\\x6e\\x34\\x96\\xe1\\x5f\\xa4\\xf7\\x37\\x32\\x71\\x95\\x1e\\x66\\xf4\\x66\\xd2\\xbd\\xcb\\xf4\\xa8\\xb9\\x21\\x81\\x96\\xd3\\x5c\\xf7\\x21\\xdb\\xef\\x82\\x40\\xb2\\xd7\\x64\\x5d\\x1a\\xef\\xdf\\xce\\x20\\x3b\\xec\\xde\\xaf\\xe0\\x0e\\x87\\x9b\\x4a\\x5a\\x74\\x13\\xcf\\x23\\x9e\\x75\\xde\\x30\\xe3\\x02\\x83\\x83\\x0b\\x0c\\x0e\\x2e\\x30\\xc8\\xd4\\xcc\\xe9\\xf6\\x1f\\xfb\\xda\\xf7\\xe3\\xca\\xcc\\x86\\xcd\\x9d\\x72\\x55\\x88\\x37\\x78\\xe7\\xd5\\x72\\xbc\\x1f\\xc4\\xa7\\x7c\\x9d\\x9b\\x92\\xef\\x74\\xef\\xd7\\x8e\\xe9\\x72\\x58\\x5a\\x63\\x5d\\x5d\\xeb\\xd2\\x25\\x93\\x35\\xb9\\xcf\\xe2\\x75\\xd9\\x42\\xf2\\x5b\\x6f\\x3e\\xd3\\xe3\\xb5\\xde\\xad\\x8c\\xa6\\x44\\x77\\x67\\xff\\x86\\x9c\\x68\\x7d\\xe5\\x3c\\x9a\\xeb\\xdb\\xf2\\xf8\\xae\\x6f\\xab\\xf7\\x04\\x45\\x99\\x9c\\x47\\x15\\x59\\x7d\\x67\\x26\\xdc\\x4d\\x2b\\x13\\x16\\xc4\\xbd\\x2f\\xb3\\x65\\xcf\\xdc\\xdf\\xbd\\xb8\\xbf\\x8d\\x29\\x6b\\x88\\x76\\xa4\\x6c\\x57\\x0c\\xd8\\xae\\x1b\\xb0\\x5d\\x9e\\xb2\\x1d\\x19\\x50\\xdf\\xec\\xdb\\xee\\x75\\xd0\\x9a\\x44\\xd2\\x7d\\xd6\\x79\\xc0\\x73\\x54\\x99\\xdc\\x8b\\x92\\xd6\\x80\\x96\\xac\\x01\\xc8\\xe6\\x20\\xdb\\x95\\x29\\xdb\\x15\\x2e\\x7a\\xca\\x76\\xdd\\x80\\x6d\\xab\\xb7\\x7c\\xc6\\xda\\x68\\x67\\xbc\\x0c\\x9d\\xcf\\xf7\\xbe\\xac\\xad\\xf0\\x0b\\x54\\xb8\\x8d\\x96\\x0f\\xb2\\xaf\\x62\\xc0\\x3e\\x6b\\x90\\x72\\xd6\\x80\\x72\\xe1\\x41\\xda\\x0b\\x0f\\xd2\\x5e\\x78\\x90\\xf6\\xc2\\x03\\xda\\xab\\x1a\\xc4\\xbe\\xaa\\x41\\xec\\xab\\x1a\\xc4\\xbe\\xaa\\x41\\xec\\xab\\x1a\\xc4\\xbe\\xaa\\x41\\xec\\xab\\x1a\\xc4\\xbe\\xaa\\x5f\\xda\\x57\\x17\\xfa\\xa5\\x7d\\xfb\\xec\\x1b\\x58\\xce\\x1a\\xa4\\xdc\\xc0\\xf6\\xc2\\x83\\xb4\\x17\\x1e\\xa4\\xbd\\xf0\\x20\\xed\\x0d\\xe6\\xbf\\xca\\xde\\x49\\x36\\xc8\\xbe\\x81\\xe5\\xc2\\x83\\x94\\x0b\\x0f\\xc0\\x1d\\xd0\\xde\\x3e\\xfb\\x06\\x96\\x0b\\x0f\\x52\\xce\\x6b\\xcf\\xfd\\x41\\x96\\x24\\xe6\\xb8\\x77\\x3a\\x53\\xb7\\xdb\\x9b\\xbd\\x83\\xb1\\x37\\x63\\xf4\\x66\\x4c\\x7d\\x4b\\xac\\x33\\xe1\\xe6\\x34\\xb9\\x5c\\x78\\xa9\\x5c\\x2a\\xdc\\x34\\xe0\\x2d\\x13\\x6e\\x4e\\x77\\x97\\x08\\x3f\\x13\\xf7\\x0f\\x71\\xad\\x2b\\x7e\\xa4\\x57\\xc6\\x5b\\x22\\xbc\\x9c\\xb7\\x3c\\x78\\x85\\xda\\xe3\\x7e\\x43\\xd9\\x03\\xce\\x52\\x67\\x0f\\x38\\x27\\x9d\\xb5\\xef\\xd9\\xe7\\xec\\x01\\xa7\\x99\\xd3\\xfa\\xaf\\x59\\xa4\\xf5\\x5f\\xa6\\x08\\xf4\\x5d\\x95\\x48\\xeb\\xbf\\x06\\x91\\x37\\x00\\xa9\\xac\\xb5\\x21\\x6f\\x00\\x98\\xdc\\x95\\xbb\\x2f\\xde\\xbe\\x85\\xbc\\x76\\xe4\\xae\\xcc\\x7e\\xd4\\xbe\\xad\\xde\\x06\\x32\\xfa\\xb0\\xfb\\xbe\\xea\\xad\\xa6\\xfb\\x65\\xba\\x1b\\x74\\xbf\\x6a\\x77\\x43\\x66\\x7f\\xdb\\xee\\x6e\\x6f\\xdd\\x96\\x99\\xf4\\xde\\x2b\\x67\\xee\\x4e\\xbf\\x76\\x77\\x43\\x76\\xea\\xf3\\x48\\xdc\\x2f\\xfc\\x25\\x4c\\x7e\\xe1\\x3f\\xd8\\x64\\x4d\\x67\\xac\\x29\\xd6\\x29\\xc3\\xcc\\x1c\\x8f\\x43\\x3c\\xa6\\x01\\x1b\\xf5\\xef\\xe8\\xa3\\x45\\x9f\\x84\\x33\\x7b\\x37\\xbd\\xbb\\xf5\\xf2\\xfb\\x08\\xa8\\xff\\xb6\\xbd\\xac\\xbe\\x7d\\x03\\x36\\xbd\\x3b\\xf6\\x72\\x52\\xa4\\x87\\xb7\\xd7\\x23\\x78\\x90\\x64\\xb7\\x77\\xd3\\x9e\\x0c\\xbb\\x6a\\xeb\\x91\\x37\\x52\\xf2\\xa6\\x9b\\xe7\\x4b\\xd7\\xd4\\xda\\xf2\\xcf\\x32\\xf7\\xcf\\x62\\x5b\\xc1\\x5b\\x78\\x74\\x85\\x2a\\xd9\\x0a\\xd9\\xbb\\x57\\xe6\\xf1\\xfc\\xee\\xe7\\x66\\x5e\\xfb\\xa2\\x9b\\x3e\\xb3\\xf8\\xfd\\xdd\\xde\\xf6\\xf9\\x4a\\xa1\\xf7\\x8d\\xfb\\x0e\\xd5\\x23\\x95\\x6d\\xde\\x53\\xbf\\x73\\x15\\x85\\xff\\x5e\\x21\\xfc\\x19\\xfe\\x8d\\xc2\\xf8\\x7f\\xf8\\x7f\\x64\\xfe\\x5b\\xfe\\xad\\xcc\\x7f\\xc7\\xbf\\x93\\xf9\\xef\\xf9\\xcf\\x32\\xbf\\x87\\xef\\x91\\xf9\\x1e\\xde\\x23\\xf3\\x7b\\xf5\\x7b\\x14\\xa2\\xdf\\xab\\xdf\\xab\\x30\\xfd\\x3e\\xfd\\x1d\\x99\\x7f\\x57\\x7f\\x57\\xa1\\xfa\\x7b\\x81\\x03\\x15\\x12\\x58\\x14\\x38\\x48\\xa1\\xee\\xb3\\x98\\x64\\x7e\\x59\\x60\\x85\\xc2\\x02\\x2b\\x03\\xab\\x24\\x2a\\xf7\\x9f\\x31\\xee\\xe1\\xf7\\x7e\\xd2\\x94\\x32\\xe5\\x60\\x85\\x4a\\x46\\x69\\x55\\xb2\\x5a\\x62\\x6b\\x3b\\x95\\x11\\x5e\\x39\\xf7\\xad\\x60\\x4a\\x5f\\xce\\x2b\\xed\\x12\\x90\\xec\\xa3\\xe2\\xbe\\x43\\xe9\\x57\\x9f\\x43\\x3e\\x4c\\xb6\\x19\\x56\\x66\\x29\\x8e\\x72\\xa0\\xb2\\xc2\\x7b\\xf7\\xc0\\x36\\xe5\\x6c\\xe5\\x62\\xe5\\x2a\\xe5\\x46\\xe5\\x11\\xe5\\x4d\\xe5\\x43\\xe5\\xdf\\xca\\xb7\\xca\\xff\\x8f\\xbd\\xeb\\x01\\xad\\xea\\x3a\\xe3\\xe7\\x3b\\xe7\\xdc\\x78\\x63\\xd3\\x98\\x3c\\x9f\\x99\\x4a\\xd0\\x18\\x43\\x10\\xc9\\x4a\\x16\\x44\\x42\\x91\\xe0\\x24\\x88\\x4b\\x6d\\x10\\xeb\\x5c\\x56\\xa4\\x88\\x95\\x34\\x93\\xcc\\x05\\x29\\x22\\xa1\\x88\\x14\\x11\\x09\\x52\\x82\\x04\\x11\\x71\\xe2\\x44\\x8a\\x14\\x91\\x62\\xdb\\x4c\\x4a\\x28\\x69\\x6a\\x6d\\x96\\x45\\x17\\x53\\x97\\xa6\\x69\\x66\\xad\\xcb\\xda\\x47\\x6d\\x6d\\xd0\\x87\\xa4\\xae\\x4b\\xf6\\x9d\\xef\\xdc\\xdc\\x7b\\xde\\xbb\\xef\\xbe\\xdc\\x17\\x8d\\xb3\\xdb\\x78\\x9c\\xdf\\xfd\\xee\\xf7\\xbe\\xf3\\x7d\\xdf\\xf9\\xce\\x77\\xce\\xbb\\xe7\\xfe\\x79\\x77\\x1c\\xb2\\x20\\x17\\x0a\\x50\\x07\\xe0\\x67\\x14\\xb7\\xb3\\x18\\x88\\x56\\xbd\\x2f\\xda\\xf5\\x56\\x1e\\xd0\\xdb\\xd9\\x6b\\xd1\\x06\\xb6\\x20\\x6f\\x57\\xde\\xc5\\xfc\\x82\\xfc\\x06\\xbd\\x97\\x7f\\x36\\x52\\x12\\x79\\x7d\\xee\\x32\\xbd\\x37\\xf7\\xf0\\xdc\\x91\\xe8\\xca\\xe8\\x41\\xbd\\x17\\xed\\x9d\\x57\\x3b\\xef\\x52\\xc1\\x3a\\x5d\\xbf\\xe0\\xbc\\xde\\x2e\\xd8\\xa1\\xb7\\x85\\x05\\x24\\x65\\x2f\\xea\\x5a\\x5c\\xbe\\xb8\\x65\\xf1\\x48\\x51\\x55\\xd1\\xd1\\xa2\\x3b\\x4b\\xd6\\x13\\xf7\\xc9\\x25\\x07\\x97\\x5c\\x58\\x12\\x2b\\x9e\\x5f\\xbc\\xae\\x78\\x4f\\xf1\\x99\\xe2\\xc1\\xa5\\xf6\\xd2\\xca\\xa5\\x0d\\x4b\\x8f\\x2e\\xed\\xa6\\xef\\xf9\\xd2\\xc1\\x92\\x2c\\xad\\xa7\\x64\\xb9\\xde\\x96\\x0e\\xe8\\xed\\xf2\\x23\\x7a\\xfb\\xd3\\x7e\\x6a\\x15\\xfc\\xec\\xb0\\xb3\\x3d\\xc6\\x38\\x6d\\xdb\\x19\\xf0\\x23\\x7c\\x27\\xe2\\x71\\x8c\\xd6\\x7a\\x76\\x8c\\x9d\\xc4\\xa8\\x9c\\x65\\xe7\\xd9\\x05\\xf6\\x1e\\xbb\\xc8\\x7a\\x58\\x1f\\x1b\\xc0\\x18\\xdd\\x64\\x31\\x8c\\x52\\x9c\\xdd\\xc7\\x4a\\x59\\x90\\x03\\x11\\x98\\x0f\\x8b\\xa0\\x04\\x96\\x43\\x39\\xac\\x84\\x55\\xb0\\x06\\xd6\\x41\\x2d\\x6c\\x82\\xe7\\x61\\x2b\\xd4\\x43\\x23\\xec\\x82\\x3d\\xb0\\x17\\xf6\\x43\\x0b\\xb4\\xc2\\x11\\x38\\x0e\\xa7\\xe0\\x0c\\x9c\\x83\\xb7\\xe1\\x5d\\xe8\\x84\\x4b\\xd0\\x0b\\xfd\\x30\\x08\\xd7\\x61\\x04\\xbe\\x86\\x51\\xb8\\x07\\x3f\\x70\\xce\\x6d\\x9e\\xcb\\xa3\\x7c\\x21\\x2f\\xe2\\xa5\\xbc\\x8c\\x57\\xf0\\x4a\\x5e\\xc5\\xab\\x79\\x0d\\xdf\\xc0\\x37\\xf3\\x2d\\xaa\\xc7\\xad\\x23\\x88\\x51\\xc2\\x6e\\x42\\xe6\\x21\\x7f\\x89\\xe8\\xe1\\x64\\x3e\\xb4\\x26\\x73\\x26\\x6e\\x26\\xd3\\x5a\\x06\\xa4\\x21\\xb9\\x28\\xb9\\x56\\x10\\x4e\\x5c\\x34\\x38\\x7b\\x7c\\xb8\\xdd\\xfa\\x83\\x4b\\x07\\x69\\xb8\\x99\\x4e\\xf3\\xc4\\xd6\\x64\\x3a\\x85\\x9e\\x80\\x98\\x40\\x6f\\x72\\x4c\\x1c\\x8e\\xcf\\xba\\x13\\x07\\x39\\x9d\\x56\\xfb\\x75\\x3a\\x32\\x5b\\x53\\xfa\\xcc\\x59\\x96\\x9c\\xb0\\x0a\\x19\\xb3\\x9b\\xed\\x66\\xb6\\x08\\x67\\x8b\\x77\\xd8\\x62\\xfb\\x8f\\xf6\\x7b\\xac\\xc8\\xee\\xc4\\x99\\x63\\x59\\xf6\\x33\\x38\\x67\\xac\\xa3\\xb1\\x36\\x4a\\xe3\\x3c\\x0b\\x7b\\xb7\\xde\\xda\\x81\\x74\\x21\\x8e\\x64\\x60\\xc5\\x98\\xa7\\x6a\\xee\\x00\\x11\\x23\\xad\\x80\\x7a\\x94\\xf4\\x98\\x21\\xad\\xf8\\x97\\x70\\x7c\\x03\\xeb\\x45\\xe9\\x08\\x2b\\x65\\x65\\xac\\x82\\x55\\xe2\\x1c\\x50\\xcd\\x6a\\xd8\\x06\\x9c\\x05\\xb6\\xb0\\x6d\\xac\\x81\\xde\\xcc\\xd0\\x8c\\xb3\\xc1\\x01\\x76\\x48\\xd5\\xe3\\x75\\x93\\x08\\xab\\x79\\x07\\xd2\\x6f\\x89\\x9f\\xa3\\x8e\\xf7\\xe9\\xad\\x65\\x15\\x8a\\xc3\\x2a\\x44\\xf3\\x24\\xf2\\x5f\\x90\\x64\\x17\\x5b\\xa5\\x72\\xc8\\xa8\\x7b\\x81\\xef\\x43\\x3c\\xc7\\xfb\\xd4\\xb7\\xc4\\x3f\\xc5\\xdb\\x10\\xcf\\xc1\\x47\\x93\\xc8\\x22\\x56\\x96\\x95\\x63\\xe5\\x5a\\xf9\\x56\\x54\\xff\\xaf\\x2e\\xc6\\xc3\\xfb\\x8f\\x3f\\xf5\\x0f\\x7f\\x9d\\xf6\\xfb\\xd4\\xae\\xbb\\x5e\\xbb\\x94\\x07\\x38\\x13\\x5f\\x61\\x1c\\x23\\x88\\xa3\\x15\\x2a\\xa0\\x12\\xaa\\xa0\\x1a\\x6a\\x60\\x03\\x6c\\x86\\x2d\\xb0\\x0d\\x1a\\x60\\x27\\xbc\\x0c\\xcd\\xb0\\x0f\\x0e\\xc0\\x21\\x38\\x0c\\x47\\xe1\\x04\\x9c\\x86\\x37\\xe0\\x4d\\x68\\x87\\x0e\\xe8\\x82\\x6e\\xb8\\x02\\xd7\\x60\\x08\\x6e\\xc0\\x97\\xf0\\x0d\\xdc\\x81\\x31\\x18\\xe7\\x92\\xcf\\xe6\\x79\\xbc\\x80\\x17\\xf2\\x62\\xbe\\x8c\\x3f\\xc5\\x57\\xf0\\xa7\\xf9\\x6a\\xbe\\x96\\xaf\\xe7\\x1b\\x79\\x1d\\x7f\\x81\\x6f\\xe7\\x3b\\x78\\x13\\xdf\\xcd\\x5f\\xe1\\xaf\\xf2\\x83\\xfc\\x35\\xde\\xc6\\x8f\\xf1\\x93\\xfc\\x75\\x7e\\x96\\x9f\\xe7\\x17\\xf8\\x7b\\xfc\\x22\\xef\\xe1\\x7d\\x7c\\x80\\x0f\\xf3\\x9b\\x3c\\xc6\\x6f\\xf3\\x38\\xbf\\x2f\\x98\\xc8\\x12\\x39\\x22\\x22\\xe6\\x8b\\x45\\xa2\\x44\\x2c\\x17\\xe5\\x62\\xa5\\x58\\x25\\xd6\\x88\\x75\\xa2\\x56\\x6c\\x12\\xcf\\x8b\\xad\\xa2\\x5e\\x34\\x8a\\x5d\\x62\\x8f\\xd8\\x2b\\xf6\\x8b\\x16\\xd1\\x2a\\x8e\\x88\\xe3\\xe2\\x94\\x38\\x23\\xce\\x89\\xb7\\xc5\\xbb\\xa2\\x53\\x5c\\x12\\xbd\\xa2\\x5f\\x0c\\x8a\\xeb\\x62\\x44\\x7c\\x2d\\x46\\xc5\\x3d\\xf1\\x83\\xe4\\xd2\\x96\\xb9\\x32\\x2a\\x17\\xca\\x22\\x59\\x2a\\xcb\\x64\\x85\\xac\\x94\\x55\\xb2\\x5a\\xd6\\xc8\\x0d\\x72\\xb3\\xdc\\x22\\xb7\\xc9\\x06\\xb9\\x53\\xbe\\x2c\\x9b\\xe5\\x3e\\x79\\x40\\x1e\\x92\\x87\\xe5\\x51\\x79\\x42\\x9e\\x96\\x6f\\xc8\\x37\\x65\\xbb\\x54\\x3d\\x5a\\x67\\xad\\x55\\x91\\xcc\\x3a\\x8d\\x7d\\x13\\x57\\x34\\xc4\\x89\\xee\\x25\\xba\\x57\\xd1\\xbc\\x90\\x64\\x0a\\x89\\xae\\x25\\xba\\x96\\xe8\\x7a\\xaf\\x6e\\x02\\x6d\\xca\\x04\\xc8\\xc3\\x0d\\xd2\\x7f\\x23\\xd9\\xae\\xe3\\x4f\\x9d\\xaf\\x6e\\x07\\xd1\\x1d\\x3e\\x5b\\xa5\\x44\\x97\\xfa\\xe4\\x9b\\x88\\x6e\\x22\\xba\\x9a\\xe8\\x6a\\x1f\\x6d\\xda\\x32\\xf9\\xe5\\x44\\x97\\x93\\x6f\\x5d\\xe4\\x5b\\x57\\xda\\x36\\x06\\xc5\\x21\\x3d\\x6d\\x1b\\x3e\\xd4\\xa7\\x8b\\x73\\x98\\xf8\\x24\\xf8\\xe9\\xf7\\x6d\\x2c\\x34\\xad\\xf5\\xb7\\xa5\\xa3\\x13\\xf2\\x44\\xd3\\x0d\\x3e\\xff\\x4d\\x3f\\x47\\x48\\x26\\x97\\xe8\\x16\\xa2\\x4f\\x1b\\x76\\xdb\\xbc\\xfe\\xd5\\x32\\x8e\\xce\\x56\\xa2\\x07\\x3c\\x3a\\x41\\x27\\xe9\\x11\\x39\\x44\\xdb\\x24\\xb3\\xda\\xd0\\xb9\\xcf\\xe8\\xd3\\xba\\x00\\xda\\xf6\\xf5\\xf5\\x0d\\x9f\\x6f\\x63\\x46\\x8e\\xe9\\xdc\\xd3\\x11\\xd0\\x6d\\x89\\x68\\x6f\\xb5\\x8c\\x1e\\x35\\x1e\\xad\\x75\\xf2\\xdb\\x86\\x5d\\x83\\x76\\xfa\\xab\\x35\\x89\\x0e\\xff\\x6b\\x90\\xef\\xfe\\x3f\\xba\\xfa\\x77\\xf4\\x8f\\xe9\\x5f\\xd1\\x07\\xe5\\xe7\\xf4\\x1f\\xe8\\x5f\\xe2\\x9c\\xf8\\x4f\\x3c\\xf6\\xc4\\xe3\\x56\\x3c\\xc6\\x53\\xef\\xea\\x61\\x6c\\x23\\x96\\x3a\\x2c\\x2f\\x60\\xd9\\x8e\\x65\\x07\\x96\\x26\\x2c\\xbb\\xb1\\xbc\\x82\\xe5\\x55\\x2c\\x07\\xb1\\xbc\\x86\\xa5\\x0d\\xcb\\x31\\xb4\\x71\\x12\\xb7\\xaf\\x7b\\xb9\\xfb\\xd0\\x70\\xa7\\x31\\x1e\\x72\\x89\\x3e\\xe6\\xce\\xe3\\x4f\\xfd\\x7f\\x1e\\x9f\\xd6\\x3c\\x5e\\xab\\x8e\\xf9\\x1d\\x2c\\x37\\xb0\\xde\\x43\\xf1\\xac\\x87\\x26\\x3f\\x01\\xb7\\xa4\\xfd\\xd6\\x87\\x70\\xda\\xc0\\xb8\\x81\\x06\\x3f\\xa8\\x2e\\x1e\\x81\\x78\\x9c\\x6a\\x03\\xeb\\x0c\\x6c\\xf3\\x10\\x2e\\x78\\xc8\\x9f\\xf6\\x50\\x74\\x12\\x7f\\x3c\\x59\\x8f\\xd0\\x6d\\x69\\x24\\x7a\\x3f\\xc9\\x74\\xf9\\xf4\\x87\\x6e\\xa9\\x83\\xfe\\x5a\\xb6\\x11\\xf9\\xda\\x74\\x71\\x0e\\x13\\x1f\\xed\\xa1\\xe3\\xa7\\x69\\xa5\\x2f\\x33\\xc4\\xd5\\x9c\\x1b\\x37\\x93\\x76\\xfc\\x6c\\x4b\\x9d\\x27\\xda\\xae\\xa8\\x32\\xf8\\x46\\xfc\\xf9\\x08\\xc9\\xe4\\x7a\\x51\\x85\\x32\\xc3\\xc3\\x33\\x9e\\x75\\x98\\x6f\\xb4\\x71\\x13\\x61\\xaf\\x81\\x66\\xdb\\xcf\\x18\\xa8\\x7d\\x68\\x48\\xe6\\x9b\\x71\\x4b\\xe8\\x3b\\x03\\xcd\\xbe\\x36\\xa3\\x9d\\x10\\x19\\xb3\\x2d\\xf5\\x46\\x5b\\xcc\\x38\\x94\\x7a\\x7e\\x9a\\xfa\\x13\\xf2\\xdc\\x8f\\x9b\\x92\\xe8\\xf0\\xf3\\xf8\\x42\\xd9\\x2d\\x2f\\xcb\\xfe\\x84\\xb7\\x59\\x7c\\x91\\xe2\\xfd\\x15\\x77\\x64\\x5c\\xfe\\x20\\xc7\\xf5\\xbf\\x37\\xb3\\x85\\x2c\\xcc\\x0c\\xce\\x9c\\x19\\x5c\\xbf\\xef\\xf7\\x3c\\x16\\x35\\x76\\xd4\\x79\\x8e\\x8b\\x58\\x7a\\xb0\\xa8\\xb8\\x0c\\x60\\x19\\xc6\\xa2\\xde\\x4a\\x1c\\xc3\\xed\\x6d\\x2c\\x2a\\x76\\xf7\\x55\\xea\\xf8\\xc6\\x40\\x34\\x00\\x83\\x64\\x82\\x6a\\xf9\\xe5\\x83\\x38\\x15\\x81\\x7a\\x04\\xad\\x81\\x40\\xed\\x2b\\x29\\xa6\\xce\\x7c\\xe0\\xea\\x5f\\xde\\xc3\\xdf\\x3e\\xae\\xce\\xc2\\x18\\x3d\\xa0\\x62\\xbf\\x18\\xbf\\xcd\\x4d\\xf7\\xbb\\x89\\x1a\\x39\\x6a\\x5c\\x45\\x3a\\x59\\x92\\xc6\\xa9\\xea\\xa6\\xb6\\x38\\x85\\x8f\\x94\\x19\\x8c\\x72\\x02\\x28\\x27\\x96\\xcc\\xb4\\x8f\\x29\\x2c\\x2a\\x1f\\x6b\\x1c\\x1f\\xb7\\x92\\xc6\\x3c\\xc4\\x05\\x19\\x64\\xe6\\x64\\x5e\\x06\\x45\\x7d\\x76\\x2a\\x5d\\x8f\\xc0\\xee\\x9c\\x29\\xea\\x3d\\x54\\x0f\\x52\\xf6\\xe5\\x7f\\xde\\x83\\xa0\\xd8\\x73\\xb6\\x22\\x21\\x8b\\xf2\\xa7\\xcc\\x9e\\xf4\\x63\\x4b\\xb5\\x64\\x85\\xd3\\x92\\x9a\\x90\\x1a\\x83\\xfa\\x4d\\xdb\\x79\\x40\\x1f\\x03\\x32\\x7d\\x1a\\x3e\\xa6\\x8c\\xab\\xe7\\x63\\x0d\\x6b\\x34\\x7c\\x8c\\x4c\\xb3\\xff\\xa6\\xce\\x95\\xa0\\xb8\\x2b\\x0f\\xb6\\x3d\\x14\\x0f\\x52\\xe7\\x4a\\x3a\\xbb\\x8f\\xac\\xe5\\x29\\x7b\\xf3\\x11\\xb4\\x3c\\x55\\xdf\\x3b\\x67\\x88\\x4f\\x3e\\xe6\\x67\\x88\\x47\\xd5\\x1a\\x2b\\x08\\xf9\\x6e\\x7d\\xc6\\x20\\x35\\x3f\\x41\\x9e\\x19\\xf4\\x21\\x5f\\xdd\\x6e\\x03\\xd3\\x5a\\xf4\\x23\\xbc\\x90\\x8c\\x26\\x3f\\xb0\\x2e\\x4b\\xf7\\xed\\xc4\\xcd\\xd4\\x74\\x18\\xe4\\x7d\\xfa\\xcc\\x40\\x32\\x27\\x85\\xf5\\x43\\xbe\\x08\\x84\\x6f\\xb5\\x2f\\xe6\\x0e\\x46\\xd5\\x6a\\xd8\\x41\\x8f\\x1f\\xfe\\x58\\x52\\xc8\\x3e\\x79\\x43\\xfe\\x83\\xae\\x6e\\xa9\\x23\\x5b\\x35\\x2a\\x16\\xaa\\xb3\\x24\\x74\\xae\\x64\\x23\\xe1\\xef\\xa9\\x55\\x3a\\x7f\\x4f\\x3c\\xde\\xf9\\x2b\\x17\\x92\\xc7\\xfb\\xc9\\xe3\\x16\\x8f\\x16\\x31\\xe3\\x6c\\xc2\\x90\\xc7\\x31\\xf9\\xa2\\xc8\\xc0\\xa6\\xd4\\x32\\xfa\\x7c\\x8c\\xc9\\x4f\\xc0\\xf6\\x64\\x8b\\x62\\x8b\\x42\\xc7\\x2b\\xfd\\xed\\x0a\\x1f\\xc6\\xbc\\x58\\x9b\\xfe\\x3b\\x7c\\xd3\\x2b\\x43\\xa7\\xd6\\x66\\xed\\xf1\\x6a\\x99\\xb4\\x1f\\x03\\x63\\xd2\\x62\\xf0\\x35\\xe7\\x84\\xcf\\xae\\x29\\x1f\\x14\\x81\\xf4\\xad\\x6e\\x32\\x64\\xf6\\x1b\\x7c\\x13\\x3d\\x8b\\xe1\\xf3\\x97\\xcb\\x6b\\xf2\\x13\\xba\\x02\\x3a\\x5b\\x1f\\x07\\x71\\x8a\\x23\\x8f\\xfc\\x78\\x72\\x56\\xc4\\x68\\x35\\xba\\x8e\\xb0\\x88\\x56\\x2d\\x63\\x44\\x9f\\x22\\x3a\\x42\\x2b\\xc4\\x71\\x8f\\xe3\\xf0\\x69\\x7d\\x23\\xd7\\x33\\x77\\xf5\\xad\\xeb\\x9a\\x32\\x8e\\xb6\\xa1\\x64\\xbe\\x7c\\x93\\x68\\x3a\\xbf\\xa1\\x57\\xe8\\xa2\\xd9\\x58\\x17\\x9b\\x7a\\x8e\\x12\\xe6\\xf8\\x30\\x66\\xd8\\x8d\\x25\\xfb\\xec\\x68\\x30\\xf5\\xd4\\x7b\\x16\\x13\\x3c\\x34\\x31\\xe6\\xc3\\xa0\\x98\\xec\\xf6\\x22\\x63\\x72\\x82\\xa2\\x61\\x46\\xc0\\x6c\\xbb\\x13\\x01\\x7f\\xab\\x0d\\x9d\\x8e\\x0f\\x55\\x86\\x7c\\x87\\x87\\xda\\xa2\\xd4\\x6f\\xfa\\x0e\\x9f\\xb3\\x57\\xe5\\x88\\x99\\xb3\\xf0\\x21\\x5b\\x86\\xf8\\x01\\xee\\xeb\\x95\\x5a\\x95\\x71\\x7c\\x32\\xd7\\xad\\x31\\xf5\\x31\\x0f\\xb0\\x02\\x7a\\x27\\xa5\\x7a\\x23\\xa5\\x6d\\x3d\\x61\\xcd\\xb1\\x7e\\x62\\x5f\\xa0\\x6b\\x61\\xea\\xcd\\x56\\xea\\xbd\\x56\\x57\\xec\\xab\\xf6\\xc7\\xf6\\xa7\\xf6\\xb0\\x7a\\xcb\\x13\\x5a\\x13\\x6c\\x11\\x2b\\x61\\xcb\\x55\\xcd\\x14\\xf6\\x40\\xde\\x22\\xfc\\x6a\\x06\\x34\\xc7\\x67\\x58\\xf3\\xad\\x19\\xd3\\xfc\\xcd\\x8c\\x69\\xbe\\x3d\\x63\\x9a\\xbf\\x9b\\x86\\x66\\x95\\x89\\xc5\\x01\\x99\\xa8\\xf5\\x66\\xae\\x51\\x7b\\x3a\\xa9\\x51\\xad\\xa9\\xb2\\xe8\\x28\\x5a\\x1f\\x41\\xc7\\x13\\xfa\\x2f\\xac\\xfc\\x90\\xd3\\x2b\\x99\\xe9\\x0f\\x2f\\xaf\\xf5\\x7f\\x1b\\x5a\\xfe\\x6a\\x86\\xf2\\x97\\x9d\\xbe\\x0f\\x2b\\xff\\x95\\xd3\\xa3\\x61\\xe5\\x6f\\x65\\x28\\x7f\\x39\\x43\\xf9\\xab\\x19\\xca\\x0f\\x65\\x28\\xff\\x59\\x86\\xf2\\x71\\x43\\xbe\\x18\\x67\\x56\\x8e\\x23\\xa3\\xd0\\xa9\\x31\\xcf\\xd0\\x38\\xcc\\x26\\xef\\x90\\x00\\x2b\\x3f\\xa4\\xf4\\x5d\\x47\\xfa\\x47\\x73\\x6c\\xa1\\xee\\xe3\\xc0\\xa3\\xaf\\x23\\x74\\x64\\xa5\\xf0\\x28\\xa1\\xe6\\xef\\x37\\x90\\x38\\xb2\\xd2\\xe0\\xb4\\x1b\\x92\\x06\\xe2\\x71\\x5d\\xca\\xba\\x29\\xf0\\x9a\\x81\\x86\\x45\\xb9\\xde\\xe0\\x34\\xf9\\x30\\xe6\\xa3\\xd3\\x5b\\x31\\xfc\\xb4\\x86\\x3d\\xfd\\x26\\x9d\\xa2\\x56\\x50\\x4c\\xda\\x3d\\x8e\\xd3\\xd2\\x30\\x71\\x08\\x68\\xbb\\x23\\x13\\xf3\\x3c\\x31\\x39\\x09\\x7a\\x34\\xbd\\xd7\\xd7\\xf6\\x58\\x46\\x77\\xfc\\x4c\\x9e\\xc9\\xf2\\x8e\\x87\\xe9\\x4e\\x1e\\x07\\x75\\xce\\xf6\\x3e\\xde\\x39\\x9b\\xf1\\xf5\\x35\\xf3\\x5a\\x98\\x71\\x75\\x29\\xfd\\x95\\xc4\\xa0\\x5a\\x33\\x87\\xe1\\xfd\\x71\\xae\\xbd\\x6e\\xf4\\x30\\x63\\x8b\\x1d\\x61\\xa3\\xf1\\xe0\\x6d\\x4f\\xb8\\xaa\\x55\\xe6\\x62\\xf8\\x9c\\x9d\\xce\\xd9\\xb7\\x05\\x68\\x41\\x59\\x57\\x57\\xef\\x76\\x31\\x75\\xdf\\x2d\\x63\\x7b\\xb1\\xa8\\x23\\xf4\\x16\\x2c\\xad\\x58\\xd4\\x35\\xcc\\xe3\\x58\\xd4\\xd1\\xbc\\xba\\x2a\\x78\\x0e\\xcb\\xdb\\x58\\xde\\xc5\\xd2\\x89\\xe5\\x12\\x16\\x75\\xd5\\xae\\x1f\\xcb\\x20\\x96\\xeb\\x58\\xd4\\x6a\\xe8\\x6b\\x2c\\xa3\\x58\\xee\\x61\\x4b\\x9e\\x56\\xbf\\x31\\xa1\\x70\\x7e\\x68\\xc9\\x0c\\x11\\xc7\\xa4\\xc2\\xfb\\x1e\\x3a\\xe3\\xb8\\xfd\\x71\\x1f\\xc7\\xb4\\x06\\xaf\\xf6\\x61\\x98\\x3b\\x3e\\x0c\\x49\\x9c\\x8b\\xc3\\xd6\\x0a\\xad\\xf3\\x41\\x70\\x0a\\x7f\\x3a\\x02\\xe8\\x07\\x40\\x68\\x35\\xac\\xb7\\x3f\\xb0\\xb6\\xb8\\xa7\\x73\\xf2\\x3e\\x22\\xd2\\xdc\\xe9\\xa1\\x21\\x1f\\x7e\\x1c\\xa7\\xbf\\x26\\xa2\\xce\\x2e\\xaa\\x7b\\x2f\\x56\\xb3\\x4c\\xef\\x30\\x9a\\x3c\\x7b\\x14\\x84\\x67\\x0d\\xba\\xc7\\x77\\xce\\x29\\x15\\xee\\x64\\xff\\x03\\xbf\\x85\\x53\\xcc\\xda\\xf1\\x10\\x32\\xad\\x1e\\xcd\\xba\\x1f\\xc5\\x6f\\x64\\xa0\\x27\\x41\\xf7\\xb8\\xcc\\x30\\x3e\\xa4\\x56\\xff\\x57\\xfc\\x16\\x8a\\x26\\xf5\\xdb\\x23\\xd4\\xf8\\xf4\\x68\\x3f\\xaa\\x6f\\xdb\\x03\\x64\\x62\\x84\\x3d\\x06\\x06\\xeb\\x49\\xd6\\x19\\x60\\x57\\x3d\\xbd\\x01\\xab\\x99\\x77\\x56\\x8d\\xd6\\x84\\xff\\x1a\\x99\\xfc\\x8c\\x37\\xa5\\x58\\x23\\x2a\\x19\\xf5\\xc9\\xa1\\x75\\x5d\\xf7\\x44\\xa5\\xb3\\xce\\x63\\x4c\\x3f\\x3f\\x53\\x85\\xf1\\x34\\x9f\\x9f\\x29\\x55\\x7d\\xf8\\xec\\x33\\xd5\\x45\\x2c\\xef\\xb9\\x8d\\x6b\\x10\\x9d\\x27\\x68\\xb8\\xfb\\x34\\x8d\\x7e\\x06\\x47\\xbc\\xf8\\xe2\\x6f\\xd1\\xab\\xed\\x8d\\xbf\\x79\\x89\\x15\\x36\\xfe\\xee\\xc5\\x46\\x5c\\x51\\xaa\\xde\\xe7\\xce\\xd3\\x43\\x93\\x4f\\xe8\\x58\\x68\\x39\\x8a\\xab\\xcc\\x12\\x56\\xe6\\xf0\\x96\\x39\\xcf\\xcc\\x54\\x39\\xdb\\x5a\\x75\\xb7\\x3a\\x66\\x4f\\x9e\\xde\\xe7\\x35\\xa8\\x23\\x8f\\x59\\xd9\\xbf\\x62\\xdf\\xb2\\x9a\\xec\\x5f\\x67\\xd7\\x21\\xd7\\x12\\x5f\\x88\\xbf\\x8b\\x11\\xf1\\x9d\\xb8\\x83\\x7b\\x11\\x1d\\x0b\\x26\\xd5\\x53\\x43\\xd6\\x13\\xd4\\x22\\xf4\\x11\\x8e\\x63\\x7e\\x54\\xb2\\x35\\x38\\xcb\\x6d\\x66\\x5b\\x71\\x86\\x7d\\x19\\x73\\xe3\\x20\\xce\\x78\\xa7\\x31\\x07\\x3a\\xd9\\x10\\x1b\\x51\\x8f\\xe2\\x40\\x14\\xe7\\xb5\\x65\\x50\\x81\\x73\\xda\\x5a\\xd8\\x00\\xea\\x09\\x17\\x99\\xbd\\x09\\x63\\x1a\\x27\\xea\\x97\\x2e\\xb5\\xd9\\xa5\\x9e\\x43\\xea\\x2e\\xd9\\xfb\\xc8\\xa5\\xba\\x5d\\xea\\x4f\\x2e\\xd5\\x43\\x14\\x8e\\x00\\x96\\x63\\x0f\\x23\\x3d\\x6a\\xff\\xd9\\xfd\\xae\\xd7\\xa5\\x2e\\x1b\\x52\\x57\\x14\\x6d\\xbf\\x85\\x78\\x8b\\x9e\\xc0\\xca\\x65\\x51\\x1c\\x1d\\x5c\\x7e\\x95\\xfd\\x2c\\xe2\\x77\\xf6\\x5f\\xdc\\x5a\\x7d\\x44\\x29\\x99\\x3c\\x56\\x90\\xfd\\x0c\\x13\\xf2\\xae\\x1c\\xcd\\x5e\\x4f\\x56\\xae\\xba\\x52\\xfd\\x2e\\xf5\\xb1\\x4b\\x5d\\x73\\xa9\\xbf\\xba\\xd4\\x80\\x4b\\x7d\\xe2\\x52\\x83\\x2e\\xf5\\x29\\x51\\xb3\\xd0\\xd2\\x7c\\x56\\x84\\xfd\\x55\\xce\\x56\\xb2\\x55\\xf6\\x07\\x68\\xf3\\x7b\\xf4\\xf6\\x03\\xb2\\xfd\\xbd\\xdd\\x85\\xdb\\x31\\xdc\\xef\\xa2\\xfd\\x31\\x7b\\x88\\xda\\xf2\\x3e\\xe2\\xf7\\x76\\x27\\xe2\\x18\\xe9\\xfa\\xcc\\x69\\xed\\x2c\\x1c\\xd7\\x38\\xc2\\x70\\x6e\\xb0\\x98\\xb0\\x66\\x61\\xaf\\xcd\\xb6\\x9e\\xb4\\x9e\\x64\\x73\\xac\\x39\\x56\\x1e\\xcb\\xb3\\x22\\xd6\\x5c\\x16\\xb1\\xe6\\x59\\x0b\\xe8\\xce\\x25\\x46\\xd9\\xad\\xce\\xc8\\xe9\\xac\\x51\\x99\\x61\\x61\\x5d\\x66\\xcd\\xb6\\xe6\\x5a\\xea\\x8e\\x21\\x41\\x73\\xc3\\xbd\\xc0\\x7b\\x24\\x6a\\x30\\xf3\\xf2\\x50\\x43\\x19\\xfa\\xbe\\xda\\x89\\xf6\\x87\\x14\\xd3\\x8b\\x88\\xb7\\xc9\\xb7\\xbf\\xa9\\x35\\x24\\x51\\xd7\\x5d\\xea\\x73\\x97\\x7a\\xc7\\x91\\x33\\xec\\xfe\\x3b\\x00\\x00\\xff\\xff\\x34\\x4f\\x4d\\x41\\x98\\x3d\\x04\\x00\")\n\nfunc liberationmonoBolditalicTtfBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_liberationmonoBolditalicTtf,\n\t\t\"LiberationMono-BoldItalic.ttf\",\n\t)\n}\n\nfunc liberationmonoBolditalicTtf() (*asset, error) {\n\tbytes, err := liberationmonoBolditalicTtfBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LiberationMono-BoldItalic.ttf\", size: 277912, mode: os.FileMode(420), modTime: time.Unix(1459927769, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _liberationmonoItalicTtf = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\xe4\\xbd\\x77\\x7c\\x54\\xd5\\xd6\\xff\\xbf\\xf7\\x39\\x33\\x99\\x84\\x84\\xf4\\x06\\x01\\x66\\x92\\x90\\x50\\x02\\x04\\x08\\x10\\x40\\x20\\x43\\x49\\xe8\\x10\\x08\\x25\\x43\\x28\\x09\\x1d\\xa4\\x04\\x02\\x52\\x14\\x09\\x0a\\x88\\xf4\\xa6\\x88\\x20\\x82\\x62\\x43\\x94\\xa1\\x49\\x40\\x9a\\x8a\\x5d\\x04\\xaf\\xd8\\xae\\x0d\\x41\\x88\\x57\\xb1\\x83\\x0d\\x32\\xf3\\x7b\\xef\\x73\\x4e\\x20\\x72\\xf5\\xde\\xe7\\x79\\xfd\\x9e\\xff\\xbe\\x5c\\x57\\xf6\\x39\\xbb\\xac\\xf5\\x59\\x9f\\xb5\\x76\\x3b\\x41\\xaf\\x90\\x42\\x88\\x48\\x7e\\xd8\\x84\\x2b\\x27\\x67\\x40\\xef\\x22\\xd7\\xc0\\xa6\\x42\\xbf\\x1a\\x4e\\x6d\\xad\\xae\\x5d\\xb2\\x73\\xe6\\x7c\\x5a\\xfc\\x0e\\xef\\x8d\\x78\\x5f\\xd2\\x35\\xb7\\x6f\\xde\\x3b\\x47\\xdf\\x7a\\x8f\\xf7\\x7d\\x42\\x64\\x74\\xe8\\x9a\\x37\\xb0\\xd3\\xe4\\x9a\\x7d\\x5e\\x16\\xb6\\x26\\x97\\x85\\xd0\\x5b\\xf4\\xcd\\x4b\\x6f\\x2e\\xa6\\x1c\\x3a\\x2c\\x84\\x7c\\x92\\xfe\\x85\\xa3\\x26\\x17\\x15\\x77\\xae\\x55\\xeb\\x3d\\x21\\xea\\x4d\\x12\\x22\\xa0\\xc9\\xa8\\xdb\\x66\\xb8\\x26\\xf7\\x9b\\xd1\\x41\\x88\\x5b\\xb6\\x0a\\xa1\\x79\\xc7\\x16\\x8f\\x9b\\x7c\\x67\\xd1\\x73\\x11\\x42\\x34\\xde\\x2c\\x84\\x63\\xdf\\xb8\\xa2\\x92\\x62\\x11\\x2f\\x82\\xd0\\xcf\\x70\\x11\\x3e\\x6e\\xd2\\x9c\\xb1\\xa7\\x5c\\xd7\\x9e\\x15\\x62\\xd4\\x61\\xa1\\xa7\\x97\\x8d\\x1f\\x53\\x34\\xba\\x22\\x76\\xa1\\x0f\\xfd\\x0a\\x4f\\xab\\xf1\\x54\\x04\\xcd\\xb3\\xbf\\xc3\\xfb\\x68\\xde\\xeb\\x8e\\x9f\\x3c\\x63\\xf6\\xc7\\x97\\x5e\\x6a\\x89\\xee\\x40\\x21\\x52\\x46\\x4f\\x9a\\x3a\\xaa\\x28\\xec\\x9e\\xa6\\x4b\\x84\\xe8\\x90\\xcb\\xfb\\xa4\\xc9\\x45\\xb3\\x8b\\x43\\xc7\\xd8\\x5e\\xa3\\x3f\\x75\\xc2\\x35\\xa5\\x68\\xf2\\x98\\x6f\\x7f\\x78\\xb1\\x95\\xd0\\xd7\\xcd\\x10\\x22\\xf8\\x64\\xf1\\xd4\\x92\\x19\\xe7\\xde\\xea\\xb7\\x5d\\xe8\\x0f\\x77\\x11\\xa2\\xe0\\x60\\xf1\\xf4\\x31\\xc5\\x07\\x27\\x45\\x2c\\x16\\xa2\\x25\\xe3\\x03\\xfa\\x18\\x5c\\x69\\x42\\x6c\\x3b\\x5a\\x76\\x79\\x44\\x58\\xbb\\x2b\\x9a\\x33\\x50\\xe1\\x14\\x6f\\xad\\xab\\xdd\\xb5\\xb2\\xbc\\x96\\x52\\xb1\\x31\\x60\\x83\\xe3\\x23\\xfa\\xa9\\x46\\x69\\x74\\xe0\\x67\\xc0\\x53\\x15\\x1b\\x21\\xf9\\xe4\\xb5\\x94\\xdf\\x77\\x05\\x6c\\x10\\xa3\\x45\\x8c\\xa8\\xf2\\x27\\x28\\x5f\\xf5\\x09\\x1a\\x22\\x93\\x44\\x37\\x31\\x4a\\x04\\x30\\x3a\\x5c\\xa4\\x8b\\xa1\\x8c\\xe8\\xad\\x47\\x08\\x9d\\x56\\xdd\\x76\\x52\\xae\\x16\\x76\\x21\\xec\\x0f\\xda\\x33\\x44\\x1d\\x59\\xdb\\x28\\x73\\xf5\\x22\\x31\\x56\\x8b\\x0c\\xb4\\x6b\\x0e\\x5b\\x90\\xa6\\xd9\\x83\\x6c\\xb6\\xb3\\xa2\\x9a\\xdf\\x2d\\x66\\xfb\\x2b\\xad\\x37\\xeb\\x98\\xd7\\x99\\x27\\x97\\x2f\\xd9\\x56\\xee\\xbb\\x53\\x21\\xd1\\xc6\\x15\\x0a\\x79\\xec\\xf3\\x5f\\xd1\\xde\\xd6\\x9e\\xad\\x98\\x10\\xa1\\xb6\\x93\\x62\\x9d\\xea\\x4d\\x69\\x89\\x7c\\x10\\x99\\xc3\\x73\\x2d\\x24\\xd9\\x76\\xd2\\x7f\\x1e\\xf1\\xdb\\x4e\\x6a\\x43\\xa8\\x6f\\x49\\xdd\\x7a\\xca\\x62\\xca\\x19\\x48\\x1e\\xcf\\x59\\xc8\\x3d\\x3c\\xdb\\x11\\x35\\xae\\x05\\x52\\x0f\\x19\\x8a\\xb4\\x43\\x06\\x28\\x1b\\xf4\\x71\\x5a\\x75\\xb7\\x59\\xfd\\xbd\\x96\\x8e\\x4a\\x51\\xef\\xc1\\xd8\\xda\\x40\\xd9\\xc6\\xaa\\x6b\\x63\\x89\\xa7\\xca\\x7b\\x11\\xb2\\xcc\\x7a\\x5e\\x88\\xc4\\x5b\\xcf\\x63\\x6f\\x2a\\xeb\\x23\\x6f\\x22\\x53\\x90\\x27\\x90\\x89\\xe8\\x7e\\x9e\\xf2\\x05\\xca\\xb3\\x94\\x9f\\x81\\xa3\\x21\\x65\\x7f\\x64\\x3a\\x75\\xe3\\xf0\\x11\\x5f\\x44\\x77\\xa4\\x07\\x52\\x6c\\x89\\xb2\\xfb\\x21\\xd2\\x17\\xc9\\x45\\x52\\xe9\\xfb\\x22\\xe5\\xdd\\x48\\x6d\\x8b\\xb7\\x5c\\xb3\\xaf\\xbf\\xc2\\x1a\\x73\\xc4\\xb4\\x2b\\x43\\x28\\x95\\xaf\\xcf\\x22\\xa3\\x68\\xbf\\x82\\x7c\\xcf\\xb3\\xb2\\x7b\\x06\\x7b\\x51\\xbc\\x7f\\x63\\xd9\\x50\\xdc\\x2b\\xec\\x2b\\xa8\\x3b\\x45\\x39\\x13\\xc9\\x37\\xfb\\x28\\x4c\\xf2\\x5d\\x4a\\x38\\x94\\x41\\x94\\xb3\\xcd\\x31\\x8a\\x7b\\x55\\x27\\x0e\\xf1\\xdc\\xd5\\xaa\\xeb\\x80\\x14\\x32\\x2e\\x12\\x3d\\x1f\\x53\\x77\\x92\\xf7\\x8f\\x78\\x2e\\xa3\\x24\\x2e\\xb2\\xad\\x85\\xbb\\x1b\\x42\\x5f\\xa1\\xde\\x33\\x4d\\xde\\xff\\x52\\x1e\\xb8\\x29\\x16\\x6d\\xaa\\xc4\\xa1\\xaa\\xa4\\x56\\xe1\\xff\\x66\\x79\\x08\\x3d\\x67\\xac\\x58\\x54\\x95\\x17\\xac\\x31\\x29\\x16\\xef\\x7f\\x21\\xfe\\x7f\\x56\\x89\\x43\\x55\\x49\\xbd\\x49\\x46\\xde\\x88\\xc3\\xbf\\x89\\xea\\x9f\\x68\\xc5\\xa2\\x8a\\xa8\\x58\\xa8\\x98\\x19\\xe5\\x06\\xcb\\xde\\x4d\\xa5\\x31\\xb6\\xf8\\x3f\\x94\\x0a\\x7f\\x80\\x85\\x61\\x8a\\xed\\xcf\\xb9\\xfb\\x9f\\xca\\x19\\x56\\x4e\\xfd\\x5d\\xd9\\xc6\\xf2\\xa7\\xb2\\xac\\xe4\\xf8\\xbf\\x94\\xfe\\xdf\\x6d\\x66\\x6e\\x2e\\xb3\\xf2\\xb4\\x8d\\xf5\\xae\\x64\\xa1\\x15\\xfb\\x2a\\xa5\\xff\\x52\\x95\\xf7\\xe6\\x56\\x79\\xb3\\xed\\xca\\x72\\x94\\x55\\xe6\\x5a\\x71\\x2d\\xfe\\x8b\\x32\\x02\\xd1\\xac\\x31\\x47\\xac\\x32\\xbc\\xca\\x7b\\x7d\\x8b\\xa7\\xbf\\x2b\\xdf\\xb4\\xe6\\x8d\\x9a\\xbb\\x7b\\xad\\xf2\\x25\\xab\\xed\\x9e\\xff\\x45\\x39\\xd1\\xc2\\xfb\\x82\\x35\\xe7\\x2a\\xe7\\x7d\\xc3\\x7f\\x2f\\xd5\\xbc\\x30\\xe6\\xfc\\x2d\\x36\\x63\\x4d\\x33\\x9e\\xdb\\x58\\x65\\xf3\\x2a\\xb1\\x4e\\xb5\\xfa\\x44\\x5b\\xef\\x8d\\x2d\\x5f\\xc7\\xd8\\x8c\\x75\\xcf\\xaf\\x7c\\xc8\\xb4\\xfa\\x3f\\x62\\x33\\xd7\\x86\\xda\\x56\\x6c\\x2a\\xe3\\xa0\\xde\\x83\\x4c\\x7f\\xfd\\x91\\x55\\xb8\\xac\\xe4\\xaf\\x29\\x12\\x65\\xda\\x31\\xd6\\x93\\xca\\xf9\\x36\\x0d\\x51\\xbb\\xc1\\x54\\x8b\\x9f\\xe9\\x55\\x78\\x9a\\x8c\\x94\\xda\\xcc\\x7c\\x55\\x3a\\x1e\\x32\\xf3\\xe0\\xba\\x9f\\x5b\\x90\\x72\\x0b\\xb7\\x8a\\x8f\\xf2\\x57\\xad\\x7b\\x25\\xa6\\x8f\\xca\\x8e\\x86\\x2e\\x89\\x4e\\x71\\x97\\xb9\\x07\\xf8\\x7f\\x30\\x45\\x54\\xbf\\xf1\\x6c\\xac\\x07\\x3f\\xfc\\xf9\\xdd\\xb0\\x59\\x99\\x83\\x95\\x3e\\xa8\\x18\\x2c\\xff\\x1f\\x94\\x33\\xfe\\x62\\xde\\x3d\\x60\\xcd\\xf9\\x19\\x55\\xd6\\xc6\\xbe\\x55\\xf8\\xbb\\x29\\xdf\\x8c\\x35\\x3d\\xde\\xcc\\xf5\\xaa\\x98\\x2b\\xc7\\xf9\\x2f\\x23\\x17\\xad\\xf1\\xa3\\xfe\\xdd\\x8e\\xb1\\x2e\\x25\\xfe\\xc5\\xbc\\xbf\\x79\\xbe\\xde\\x3c\\xdf\\x6e\\xce\\xfb\\xaa\\xf9\\x7e\\xe4\\x2f\\x7c\\xbd\\x39\\xbf\\x6d\\x48\\x82\\xed\\xcf\\x73\\xcc\\x81\\x64\\x20\\xc3\\xab\\xc4\\xee\\x66\\x3c\\x7f\\x37\\xef\\x2a\\xcb\\xca\\x7c\\x6f\\x66\\x33\\xd7\\xd5\\x34\\xc4\\x85\\xd4\\xa1\\x7e\\x3e\\xf2\\x18\\x72\\x90\\xf7\\xa9\\xe6\\xb3\\x98\\x80\\x74\\x34\\x73\\x46\\xfc\\x42\\xdd\\x6f\\x94\\xb1\\x94\\xdb\\x4c\\x9b\\xfe\\xa3\\xb6\\x1b\\x6b\\x49\\xe5\\x3c\\x50\\x38\\x1f\\x46\\x0a\\x2c\\x5b\\x77\\x5b\\xf5\\x3d\\x2c\\x19\\x8d\\xd4\\xb0\\xdd\\x58\\x7f\\xc7\\x59\\x63\\x6b\\xda\\xcc\\xbd\\xab\\x0f\\x12\\x68\\xe6\\x9f\\xff\\x65\\x2b\\xbe\\x6a\\x2f\\x52\\x79\\x4c\\xee\\x89\\xde\\x66\\x1e\\x5e\\x5f\\x6b\\xe0\\x5b\\x76\\xb1\\xf4\\xd6\\x36\\x45\\x72\\x8e\\x10\\x6e\\x24\\xdd\\x12\\xe6\\x9a\\xbf\\x4b\\x95\\x31\\xc5\\xa6\\xcf\\x46\\xbe\\x4f\\xb5\\x6c\\x56\\xca\\x44\\xcb\\x0e\\xeb\\x8b\\x94\\x96\\xfd\\xbe\\x56\\x3c\\xba\\x9a\\x22\\x7b\\xa2\\xef\\x9c\\xcd\\xdc\\xbb\\x3f\\xb4\\xf0\\xb1\\x1f\\x8b\\x45\\xd4\\x7f\\x82\\xec\\xb4\\xf6\\xd7\\xed\\x66\\x9c\\x0c\\x71\\x98\\xdc\\x89\\x6b\\xc8\\x31\\xab\\x7f\\x07\\x2b\\x36\\x0a\\x53\\x17\\xcb\\xc7\\x5e\\x56\\xde\\xaa\\xbe\\x5b\\x2d\\xac\\x6a\\x1f\\xde\\x81\\x84\\x98\\x62\\xc4\\x41\\xad\\x35\\xf3\\x6c\\xe6\\x7c\\x0d\\xa3\\xee\\x53\\x4b\\xcf\\x2e\\x4b\\xd7\\x18\\x53\\x24\\x71\\x90\\xf8\\x2a\\xc9\\x2f\\x8d\\x73\\x9b\\x2c\\xb1\\xa4\\x09\\xed\\x5f\\x20\\xdf\\x51\\xcf\\xf9\\x41\\xfe\\x44\\x59\\x64\\xc9\\x4a\\x64\\x13\\x42\\xec\\xe4\\xfd\\xea\\x94\\x49\\xbf\\x5b\\x6d\\xe6\\x3a\\x72\\x9b\\x29\\x92\\x76\\xf9\\x06\\x7d\\xc8\\x13\\x09\\x07\\xda\\x2d\\xe6\\xb9\\xc2\\xe0\\x7e\\x3f\\x25\\x6b\\x9d\\x64\\xef\\x93\\x6b\\xa9\\x27\\x36\\x92\\x73\\x8b\\x3c\\x80\\x4c\\x42\\x98\\x5f\\x52\\xc5\\xf0\\x0f\\x4a\\x72\\x59\\xbb\\x0f\\x61\\x5e\\x4a\\x85\\x6f\\xbe\\x95\\x6f\\xd5\\x78\\x1e\\x62\\xae\\x37\\x1a\\xf9\\x22\\x3b\\x23\\xb1\\x26\\x16\\x39\\xe3\\x2f\\xc4\\xf2\\x4b\\x28\\x3c\\xcf\\x21\\x73\\x4d\\x1d\\x7e\\x75\\x36\\x6a\\x6c\\xf1\\xf6\\x33\\xe5\\x2a\\xca\\xaf\\x10\\xe2\\xeb\\x67\\x1e\\xc8\\xaf\\xd1\\x1f\\x61\\xe2\\x17\\x9f\\x5b\\xd2\\xcc\\xca\\x9b\\x57\\x85\\xf0\\xfd\\x20\\x84\\xdf\\x83\\x70\\x87\\xb8\\x96\\x41\\xc9\\xbd\\xc0\\x57\\x42\\xb9\\x8a\\xa3\\x71\\x63\\xca\\xc9\\xbc\\x7f\\x4c\\xf9\\x25\\x25\\x27\\x6c\\xff\\x44\\xea\\xdd\\x94\\xa7\\x91\\x86\\xc8\\x4a\\x64\\x18\\x72\\xc5\\x14\\x91\\x88\\x14\\xd0\\xf7\\x5d\\x64\\x03\\xb2\\x09\\xd9\\x4e\\x5b\\x37\\xea\\x1f\\xa2\\x0c\\xe6\\x7d\\x35\\x72\\x14\\xe1\\xce\\xe4\\x4b\\x45\\xf2\\x4d\\xbb\\xd7\\x7a\\xf3\\x8c\\x4d\\xdf\\x16\\xe4\\x43\\x64\\x19\\xe2\\xa5\\x8d\\x53\\x7d\\xc5\\x9b\\x3c\\x47\\x22\\xdc\\x83\\x2a\\x7e\\xa7\\x1c\\x6c\\x8e\\xad\\xf8\\x8c\\x92\\x13\\xfd\\xb5\\x9f\\x29\\xab\\x23\\x85\\x08\\x98\\x2b\\x6e\\x47\\xb0\\xeb\\xbb\\x0d\\xb9\\x68\\x8d\\xe7\\x0e\\xc4\\x55\\x4a\\xf8\\x9f\\xe6\\x47\\x35\\x9e\\x8b\\x79\\x1e\\xcb\\xf3\\x1a\\xca\\xba\\x08\\x97\\x30\\x7f\\x33\\x24\\x0e\\x09\\x65\\x4c\\x3f\\x0b\\xc3\\xa3\\xbc\\xd7\\x44\\x9a\\x23\\xc9\\xbc\\x0f\\x42\\x5e\\xa4\\x3d\\x96\\xf7\\xaf\\x19\\xdf\\x9a\\x72\\x11\\x75\\xb3\\x90\\x8f\\x90\\x32\\x13\\xa7\\xa8\\xc1\\x85\\x64\\x21\\xcf\\x3b\\x91\\x24\\xfa\\x30\\x53\\x7d\\x67\\xa9\\xaf\\xc3\\xf3\\x57\\x96\\x6f\\x1f\\x98\\xa2\\x9e\\x0d\\x9f\\xcf\\xf1\\xbe\\x9b\\xf2\\x11\\xe4\\x13\\x04\\xc0\\xbe\\xfd\\xc8\\x05\\x04\\x6e\\xfd\\xdd\\x11\\xee\\x34\\xbe\\x4f\\x11\\x38\\x93\\xb3\\x79\\x3f\\xa8\\xe2\\x43\\x3c\\x0b\\xad\\xf9\\x34\\xc2\\x66\\xdc\\x29\\x34\\x35\\x37\\x9e\\x37\\xd7\\x51\\x75\\x0e\\x36\\xf2\\x64\\xb8\\xd5\\x5e\\xf9\\xac\\xe6\\xe1\\xf9\\x2a\\x77\\x8f\\x59\\x3c\\x3f\\x6a\\xad\\x7f\\x67\\x6d\\x37\\xce\\xb5\\xd6\\x3e\\x6e\\xac\\x8d\\x95\\xf7\\x8e\\x3a\\x56\\x5b\\x5b\\xeb\\x9d\\x3d\\xda\\xd8\\x93\\x5f\\x30\\xd7\\x29\\x63\\x9e\\xab\\xbb\\xc7\\x3f\\xac\\xf1\\xaa\\x7e\\xbc\\xb5\\x0e\\xe6\\x9a\\x76\\x8d\\x39\\x3e\\xde\\xda\\xbb\\xd8\\xab\\xc5\\x60\\xab\\x7d\\xa5\\xd5\\xe7\\x41\\xab\\x9f\\x5a\\x67\\x83\\x2c\\x4c\\x6a\\xdd\\x5c\\x6f\\xf9\\x9a\\x4d\\xdd\\x17\\xd6\\xbb\\x3a\\xd7\\x7f\\x62\\xe9\\x54\\xfb\\xda\\x1a\\x9b\\x79\\x86\\xa9\\x59\\xc5\\x56\\xb1\\x55\\xaa\\xba\\x05\\x48\\x8e\\x39\\x1f\\x7d\\xea\\xec\\xd8\\xd2\\x6a\\x8f\\x61\\xec\\x49\\xdb\\x8d\\x7d\\x45\\x71\\xa3\\xf6\\x09\\x75\\x17\\x53\\x6b\\xa8\\x3a\\x3f\\xa8\\x35\\x83\\x79\\x2d\\x0e\\xd3\\xf7\\x3d\\xe4\\x75\\x9e\\x9f\\x42\\x76\\x9a\\xe7\\x0d\\xff\\x7e\\x6b\\x8e\\x55\\xde\\xe1\\x8a\\xac\\x35\\x71\\x9a\\xb5\\xee\\x95\\x59\\x36\\xd4\\x5c\\x54\\xfb\\xfd\\x09\\x0b\\xcf\\x14\\x2b\\x36\\x6d\\xac\\x33\\xd0\\x0c\\x93\\x67\\x3f\\xeb\\xa3\\xff\\x19\\xdb\\x8d\\x33\\x59\\x73\\xdb\\x8d\\xf3\\xd1\\x7c\\x33\\x6e\\x46\\x7d\\x7d\\xdb\\x8d\\x7b\\x89\\xda\\xbb\\x58\\xdf\\xfc\\x9f\\x59\\x7d\\xb2\\x6c\\x37\\xf6\\xb5\\x8c\\x2a\\x31\\xaf\\x8c\\x7b\\x6f\\xab\\x7d\\x83\\xc5\\x4f\\x65\\x1b\\xe3\\xfc\\xeb\\x6d\\xff\\x7e\\xdf\\xac\\xdc\\x97\\xdf\\xb4\\x74\\x56\\xc6\\x3c\\xce\\x66\\xee\\x15\\xea\\x4c\\xf2\\xad\\x65\\x5b\\x58\\xfd\\x9b\\x9b\\x75\\x7e\\x95\\x27\\x6a\\x6f\\xaf\\xdc\\xeb\\xe0\\xc4\\x3f\\xdc\\xe2\\xe2\\x01\\x8b\\xe7\\xca\\xfd\\x0c\\xce\\xfc\\x9b\\x2d\\x3e\\x7a\\x59\\x31\\xe9\\x55\\xe5\\xce\\x79\\xda\\xda\\x8b\\x5b\\x9a\\xf7\\x4c\\x63\\x1f\\x7b\\xda\\xba\\xdf\\xa8\\x35\\x51\\xf9\\xa5\\xf6\\x3a\\x75\\x26\\xee\\x67\\xee\\x25\\x6a\\x1f\\xbb\\x7e\\x17\\xb1\\xec\\x1b\\x38\\x15\\xff\\xd6\\xbd\\xca\\x38\\x57\\x3d\\x6b\\xe9\\xb0\\x70\\xa8\\xd2\\xb0\\xa5\\x70\\xa8\\xbc\\x1f\\x68\\xbb\\x71\\xbe\\x7a\\x1f\\xf9\\xc3\\x9c\\x23\\xc6\\x3e\\x59\\xf9\\x4e\\xdc\\xfc\\x87\\xac\\xf7\\x97\\xad\\x58\\xab\\x33\\x00\\x3e\\x19\\xb9\\x5e\\x99\\x67\\x4f\\x98\\xf9\\x74\\xbd\\x74\\x58\\xb8\\x55\\x7b\\x03\\x8b\\xc3\\x90\\x2a\\x76\\x15\\xf6\\x75\\xc8\\x74\\xe6\\x3f\\xeb\\x8d\\xbf\\x13\\x6b\\x4b\\x13\\x84\\x75\\xc9\\x37\\x85\\x35\\x31\\x05\\xb9\\xd5\\xf6\\xe7\\x73\\x56\\x51\\x95\\xdc\\x9a\\x63\\xe6\\x88\\xe8\\x84\\x2c\\xb5\\x5d\\x9f\\xc7\\xd7\\xef\\xbe\\x35\\xad\\x38\\x64\\x59\\xbe\\xdf\\x5c\\xce\\xb7\\xc6\\xb5\\xb1\\xf8\\x50\\x67\\x88\\x14\\xf3\\xec\\x6a\\x9c\\x5f\\xf3\\x2c\\xbf\\x4a\\xac\\xf2\\x4d\\x33\\x56\\xc6\\x3a\\xf0\\xac\\x95\\xb3\\x39\\x66\\xce\\x18\\x71\\x53\\xfa\\x06\\xd9\\xcc\\x3b\\xd9\\xd3\\x55\\xca\\x4a\\xfc\\x6a\\xbd\\x49\\xac\\x52\\x16\\x55\\xc1\\xda\\xce\\xc4\\xaa\\xf2\\xd4\\x58\\xa3\\x14\\xbf\\x5d\\xac\\xb1\\x55\\x75\\xc6\\x5b\\xbe\\x07\\xfd\\x87\\xf3\\x77\\x65\\x5e\\x8f\\xb1\\xdd\\x38\\x77\\xce\\xf8\\x0b\\x5e\\xea\\x5a\\x31\\xba\\xf9\\xae\\xf8\\x77\\xe7\\xd3\\xe6\\x56\\xfe\\x1d\\x35\\x73\\xe8\\xe6\\x52\\xcd\\x19\\x03\\xe3\\x2c\\x2b\\x1f\\x85\\x19\\x7f\\xff\\x23\\x56\\x2e\\xaa\\xb9\\x15\\x7d\\xa3\\xac\\xfc\\x56\\x63\\xac\\x7f\\x6a\\x7f\\xbf\\xcd\\xf2\\x59\\x9d\\xf9\\x1e\\xb1\\xe6\\xfe\\x76\\x53\\x8f\\x31\\x0f\\x95\\x2f\\xea\\x0c\\xa6\\xd6\\x2d\\x95\\x17\\xad\\x91\\xdb\\xab\\x70\\x56\\x89\\xd3\\xb8\\x3f\\x92\\x47\\xbf\\x08\\xa1\\xfd\\x86\\x70\\x1e\\xd0\\x5e\\x46\\xfa\\xb3\\xdf\\x74\\xa1\\x64\\xbf\\x94\\xaa\\xfe\\x5e\\x4a\\xce\\x0d\\x92\\x3d\\x51\\x1b\\x69\\x8a\\x64\\x5f\\x97\\xe9\\x3c\\x3b\\x11\\xf6\\x62\\x59\\x0f\\x89\\xb3\\xfa\\xa9\\x6f\\xac\\xec\\xcd\\x32\\xc3\\x1c\\xab\\x75\\x32\\xdb\\xb5\\x7b\\xac\\xb1\\x5d\\x2c\\xbd\\xea\\x79\\x26\\x7d\\xd1\\x25\\x4e\\x99\\x22\\xd9\\xcf\\x65\\x20\\xd2\\xc0\\xd4\\x6f\\xd8\\x60\\xdf\\xd4\\xd8\\x6f\\xc5\\x65\\xca\\x4c\\xea\\xd4\\x79\\x8e\\x31\\xda\\x1c\\xf5\\x1d\\xc8\\x6a\\xff\\x40\\x7d\\x73\\xa3\\xe4\\x9c\\xa3\\xee\\x8f\\xa2\\x9c\\xfe\\x3e\\x6b\\x3d\\x55\\xf7\\xc2\\x7b\\x6d\\xe6\\xbe\\xc3\\xfc\\x92\\xab\\xcc\\xf3\\xa0\\x71\\xce\\x66\\x4f\\xd2\\x14\\xc7\\xaf\\x9a\\x39\\x6a\\xcc\\xd5\\xda\\xe6\\x3c\\x96\\x6a\\x1d\\x57\\xeb\\x9d\\xba\\xab\\xa8\\xfb\\xb9\\xfa\\x5e\\xa5\\xce\\xfc\\xdc\\xb7\\x8c\\xb5\\x5b\\x58\\xe3\\xd4\\x5d\\x52\\xe5\\xba\\xfa\\x0e\\x15\\x63\\x8a\\x16\\x4a\\xa9\\xf6\\x05\\x75\\xcf\\xe0\\xec\\x68\\x7c\\xb3\\xe8\\x66\\xc5\\x46\\xe5\\xb0\\xba\\xff\\x8e\\xb6\\x72\\x80\\x73\\x9e\\xb8\\xc3\\x66\\xee\\x7d\\x9b\\xad\\x5c\\xeb\\x6b\\xc5\\x48\\xf5\\x51\\xeb\\x54\\x3d\\xdb\\x8d\\xb5\\x61\\xa7\\xd5\\x57\\xf9\\x39\\x12\\xdd\\xa7\\xcd\\x52\\xaa\\xfb\\xd6\\x3c\\x6b\\x5f\\x62\\x2f\\xf0\\x3f\\x67\\xbb\\xfe\\x5d\\xce\\x38\\xbb\\xab\\x73\\x2f\\xfb\\x95\\x9f\\xf3\\xae\\xf8\\xc9\\x5a\\x1b\\x8b\\xcc\\xb1\\xc6\\x3a\\xa8\\x72\\x43\\xe5\\xc8\\x9d\\x94\\x3f\\x22\\x17\\x90\\xb7\\x91\\xb3\\x16\\x0f\\x6a\\x1f\\x7b\\x0d\\x3b\\x9c\\xfd\\x65\\x23\\x9e\\x2f\\x99\\xe7\\x59\\x63\\x9f\\x55\\xe7\\xd3\\x0f\\xac\\xf6\\x66\\xd6\\x18\\xc6\\x4a\\x75\\x2f\\xe2\\xce\\xa5\\xbe\\xf9\\x19\\xe7\\xde\\x14\\xeb\\xfb\\x9e\\xfa\\x86\\x97\\x84\\x24\\x5a\\x67\\x62\\xb8\\x91\\x3d\\xac\\xb3\\xb2\\x3a\\x33\\x7f\\x66\\xbe\\x1b\\xdf\\x18\\x55\\xcc\\x9a\\x22\\xcc\\x45\\xd9\\xd8\\xe4\\x55\\x6a\\x08\\x73\\x58\\x76\\xb4\\x6c\\x83\\x41\\xaa\\xf8\\x28\\x9f\\xbe\\xb5\\xbe\\x21\\x28\\x1c\\xbf\\x9a\\x75\\x92\\xd8\\xcb\\x81\\x26\\x66\\xa1\\xd6\\x85\\x35\\x16\\x5f\\xea\\x8c\\xb1\\xcd\\x76\\xe3\\x3e\\xda\\xd6\\x8a\\x13\\xf1\\xf0\\x3f\\x65\\xae\\xe1\\xfe\\x04\\x2b\\x26\\xea\\x7e\\x38\\xc8\\x8a\\x89\\xfa\\x76\\x01\\x87\\xb2\\x95\\xcd\\x3c\\x93\\xbf\\x64\\xde\\x11\\x94\\x18\\xeb\\x8e\\xda\\xf3\\x9c\\xd6\\xdc\\x55\\x6b\\xe8\\x0e\\xeb\\xbe\\xa3\\xf6\\xc1\\xaf\\xad\\x38\\xf6\\xb6\\xfa\\x4e\\xb0\\xe6\\x37\\xdc\\x89\\xf7\\x4d\\x7d\\xc6\\x3c\\x57\\x77\\xda\\x6c\\x6b\\xae\\xab\\xbc\\xd9\\x64\\x3d\\x2b\\xbe\\xd4\\x3e\\x9d\\x68\\xe5\\x0d\\xeb\\xaf\\x1f\\x3f\\x25\\xeb\\x94\\x1c\\x64\\xdd\\x57\\xe8\\x27\\xd5\\x7d\\x45\\xc5\\x48\\xc5\\xd3\\x6f\\xf2\\x23\\x59\\x7f\\x34\\x69\\x8a\\x7a\\x56\\xdf\\x4a\\x35\\xdd\\x9a\\x13\\xf7\\x5a\\xeb\\x86\\x3a\\x9f\\xa8\\xfb\\x47\\xaa\\xf5\\x3d\\xb5\\x8d\\xc5\\xb9\\xca\\x6d\\xd6\\x12\\x79\\x1c\\xa9\\x6d\\xc5\\x82\\x75\\x4e\\x7a\\x2c\\x9b\\x19\\x56\\xbd\\xca\\x6d\\x75\\x27\\x2a\\x62\\xaf\\x6a\\x81\\x30\\x9f\\x7d\\x57\\xac\\xfb\\x03\\x67\\x7f\\xff\\x6c\\xf3\\x3c\\xee\\x57\\xe7\\xf2\\x00\\xeb\\xec\\xfb\\x1c\\xf3\\x55\\xdd\\x19\\x1a\\xd9\\xfe\\xfc\\x3d\\xa0\\xc7\\x5f\\x94\\x55\\xbf\\x4b\\xfe\\xb7\\xb2\\x72\\xdf\\xbe\\xf9\\xfb\\xe4\\xe4\\x9b\\xf4\\xaa\\x7a\\x75\\x7e\\x3b\\x62\\xfb\\xfb\\xef\\x93\\x56\\xa9\\xe6\\x8f\\xda\\xe3\\xaf\\xd7\\x77\\xb1\\xfd\\xf9\\xbb\\x49\\xe5\\x77\\x9c\\x9b\\xcb\\xbf\\xf8\\x36\\xf9\\xa7\\x32\\xde\\xca\\x8b\\x9b\\x4b\\xeb\\xdc\\xf1\\xb7\\xe5\\x7f\\xfb\\x5e\\x52\\x79\\x0e\\xa8\\x52\\x5e\\xff\\x8e\\x73\\xfb\\x9f\\x4b\\xff\\x5b\\xb6\\xff\\xfe\\xfd\\xf2\\x2f\\xbe\\x63\\x1a\\xa5\\xda\\xd3\\x38\\x23\\x1b\\xf3\\xa3\\xea\\x37\\xb2\\x2e\\x96\\x8c\\xb6\\xe4\\xe6\\xef\\x46\\xea\\x1c\\xf4\\x6c\\x95\\xb2\\xf2\\xbb\\xe6\\x7f\\x29\\x2b\\xcf\\x13\\xd7\\xcf\\x15\\xd6\\x77\\xa1\\xbf\\xfb\\x06\\xaa\\x62\\x65\\xe0\\x1c\\x65\\xed\\xc3\\xdd\\xcd\\xfc\\x56\\x6b\\xf9\\xdf\\x7d\\x1b\\xff\\xbf\\x2a\\xff\\xc7\\xdf\\xcc\\xff\\xae\\xfc\\x6f\\xdf\\xe6\\xfe\\xaf\\xcb\\x9b\\x63\\xa4\\xe6\\xcb\\xa2\\xff\\x41\\x59\\xf5\\x5b\\xf4\\x5f\\x95\\xe3\\xff\\xb3\\x5c\\xff\\x9d\\xcc\\xac\\x9b\\x4a\\x4b\\x8c\\x73\\xf4\\x5f\\x88\\x5f\\x7d\\x8b\\xe2\\x3e\\xeb\\x63\\x7d\\xf2\\x15\\xdc\\x28\\xaf\\xdf\\x2d\\xfe\\x46\\xd4\\x38\\xf5\\x8d\\xcb\\xe8\\x3f\\xa5\\xca\\xf8\\xe1\\xa6\\x18\\xf7\\xc9\\xff\\x20\\x7f\\x1a\\x5f\\xf0\\x17\\xe3\\x8b\\xff\\x46\\x92\\x6d\\xc6\\xf9\\xda\\xc7\\x7e\\xef\\x53\\x3a\\xd4\\xd9\\x4d\\xd5\\xcd\\xfb\\xcf\\xa2\\xf8\\x50\\xfa\\x2b\\x58\\xef\\x7d\\xea\\xdc\\x5d\\xf3\\x3f\\x8b\\xba\\x93\\x2b\\x31\\xec\\x1c\\xb9\\x61\\xc7\\x1f\\x6d\\xca\\x75\\xee\\x2b\\xb9\\xac\\xe4\\xa6\\xd2\\xc7\\x4a\\xbc\\x95\\x18\\x2a\\x75\\xff\\xff\\x8d\\x63\\xfa\\x7f\\x96\\xbf\\xe5\\xd5\\x6d\\xca\\xff\\xca\\xef\\x63\\xff\\xc1\\xef\\xff\\x84\\xbd\\x8a\\x48\\x75\\x8e\\x9e\\x66\\x95\\x6a\\xbf\\x7e\\xfd\\x26\\xcc\\xb9\\x16\\xee\\x3d\\x7f\\x16\\x63\\xfe\\x3e\\x62\\xc9\\x8e\\xff\\x90\\x4b\\xd6\\x5d\\xde\\xef\\x35\\xf7\\x72\\xe3\\x5c\\xf2\\xb2\\x35\\xe6\\xe6\\x1c\\xf8\\xc2\\xba\\x0b\\x54\\xd6\\xbd\\x60\\x8a\\xc1\\xf1\\x14\\x93\\xb7\\xca\\xb8\\x19\\xbf\\x87\\xfe\\x2b\\x7e\\x2e\\x99\\x76\\x2a\\x79\\x52\\xa2\\x7e\\x37\\xa2\\xce\\xd0\\xfe\\xf7\\x11\\x97\\xf5\\xbd\\x4a\\xdd\\xf7\\xd4\\x59\\x79\\x23\\x7d\\x2e\\x58\\xa2\\x7e\\x1f\\xce\\x3e\\x21\\xd5\\xd9\\x90\\x3b\\xaf\\xa6\\xce\\x28\\xea\\xbb\\x8e\\x3a\\x33\\xaa\\x73\\x59\\x57\\xf3\\x0c\\xa7\\xbe\\x89\\x1b\\xe7\\xbf\\x10\\x4b\\x97\\xda\\xfb\\x23\\x2b\\xc5\\x66\\xfc\\xce\\xc2\\xf8\\x9d\\xfb\\x1c\\x73\\xbc\\x54\\xbf\\x6b\\x57\\x67\\x1e\\xb5\\x1f\\xaa\\x33\\x2e\\xeb\\xb4\\xdc\\x5c\\x65\\x4c\\xb8\\x25\\x11\\xe6\\x78\\x39\\xc6\\x8a\\x83\\x3a\\xff\\xaa\\xb3\\xe9\\x2e\\xeb\\x59\\x7d\\x33\\x55\\xdf\\xc4\\xad\\xdf\\xaf\\xa8\\x73\\x5a\\xe5\\xef\\xfe\\x8d\\xf3\\xdc\\x2e\\xeb\\x8c\\xac\\xee\\xa9\\x6a\\x2d\\xed\\x59\\xa5\\xbf\\xfa\\xae\\xf3\\xae\\xed\\xfa\\xba\\x6b\\xdc\\xf1\\xff\\x50\\xcf\\xea\\x9b\\x26\\x65\\x7b\\xec\\xda\\x6d\\xe6\\x37\\x1a\\xb5\\xae\\xab\\x33\\xa4\\x3a\\xab\\xa9\\x6f\\x6d\\xea\\x77\\x5d\\xea\\xdb\\x5c\\x07\\x6b\\xad\\x53\\xdf\\xa6\\xd5\\xdd\\x4b\\x7d\\x47\\x52\\x7b\\xb9\\xfa\\xbb\\x01\\x81\\xd6\\xb7\\xe5\\x9b\\x4a\\xe3\\x59\\xe5\\x55\\x88\\x55\\xaa\\x33\\xe7\\x4c\\x8b\\x03\\xf5\\x4d\\x4f\\xdd\\x43\\xd5\\x19\\x41\\xfd\\xdd\\x03\\x75\\x47\\x50\\xf7\\xee\\x49\\xb6\\x1b\\xdf\\x36\\x4a\\xac\\x72\\xa9\\xf9\\xac\\xa9\\xbb\\xb3\\xfa\\x5e\\xf3\\x8b\\xf9\\xac\\xa4\\xf2\\xb9\\x6a\\x79\\xb3\\xc8\\x89\\x66\\x9b\\x2a\\x95\\x54\\x6d\\xfb\\xdf\\xd6\\xff\\x4f\\xa4\\xea\\xdf\\xcb\\x50\\xa2\\x8d\\xbd\\xa9\\x6e\\x96\\x95\\x53\\xe3\\x4d\\x31\\xee\\xfb\\x61\\x16\\x0f\\x61\\x66\\x9b\\xe1\\xfb\\xa3\\xd6\\xfc\\x55\\xe7\\x87\\x14\\x53\\xd4\\xef\\x0a\\x0c\\x1e\\x13\\xcc\\x9c\\x97\\xea\\xde\\xa5\\xee\\xc9\\x95\\xdf\\x39\\xc7\\x9a\\xb9\\x26\\x6b\\x5a\\xf3\\x45\\x7d\\x17\\x1c\\x60\\x33\\x7e\\x27\\x60\\xdc\\xcf\\x54\\x0e\\xa8\\xfb\\xdb\\x5e\\x73\\x7e\\x5c\\x3f\\xef\\x29\\xfd\\x77\\x5b\\xe7\\x8a\\x5b\\x2c\\xde\\x55\\x1e\\x56\\x9e\\x4f\\xd6\\x5b\\xfa\\xbd\\xa6\\x1e\\x69\\x23\\x77\\xd4\\x1d\\xb7\\x29\\xe5\\x08\\x25\\xd4\\xa9\\xfb\\xc2\\x36\\x73\\xee\\x68\\x6a\\xbe\\x9c\\x37\\x73\\xdc\\xa7\\xfe\\x9e\\x42\\xa1\\xd9\\xae\\x72\\x59\\x23\\xc7\\xd4\\x3d\\xb7\\xf2\\xf7\\xdb\\xf2\\x2a\\x77\\xdc\\x00\\xf3\\x2c\\xae\\xee\\x1c\\xea\\x7e\\x5b\\x79\\xaf\\xad\\x7a\\x7f\\x55\\xf7\\x52\\xe3\\x4e\\xaa\\xce\\x75\\x0f\\xfe\\x59\\x8c\\x3b\\x71\\xa5\\xdc\\x74\\x37\\x16\\x57\\x91\\x8b\\x26\\x97\\xc6\\x5a\\x57\\xe5\\x5e\\xac\\xee\\xc4\\x95\\xf7\\xe1\\xeb\\x77\\xe1\\xbf\\xb8\\x07\\xab\\xbb\\x84\\xa1\\x37\\xc7\\xea\\x93\\x2f\\x44\\xc5\\x24\\xfc\\xf7\\x52\\x96\\x52\\xae\\x32\\xe7\\xb9\\xdc\\x87\\x6f\\xcc\\x79\\x6d\\x98\\xcd\\xf8\\xee\\x21\\x99\\x27\\x52\\xdd\\x45\\xd4\\x98\\x6f\\xcd\\xfb\\x9b\\x71\\xd7\\xef\\x00\\x2f\\xc3\\xd5\\x9a\\xa4\\xe6\\x2b\\xe5\\x12\\x64\\x71\\x15\\x79\\xc7\\xbc\\x53\\xf8\\x54\\x3c\\xb6\\xf0\\xfc\\xa4\\x25\\xb3\\x4d\\x11\\xea\\x9b\\xfc\\x3a\\x64\\xab\\x35\\xdf\\xff\\xcb\\xde\\xf5\\xdf\\xf6\\xfc\\xff\\xbc\\x47\\x8b\\xff\\xf2\\xc7\\x76\\xe3\\x8e\\x60\\xdc\\x43\\xc0\\xbd\\x0f\\x6c\\x63\\x28\\x97\\x9b\\xbf\\x83\\x30\\x7e\\x6f\\xa2\\x7e\\x2f\\x70\\xc4\\xba\\x1f\\xa9\\xdf\\x9f\\xec\\xe6\\x59\\x47\\x7a\\x5a\\xdf\\x00\\xe7\\x23\\x4f\\x54\\x91\\xcd\\xe6\\xef\\x62\\xd4\\xef\\x2f\\x7c\\x97\\x28\\xdb\\x23\\x53\\x90\\xa9\\x56\\x39\\xc5\\xbc\\x13\\x8a\\xdf\\xac\\xbc\\x54\\xdf\\x8a\\xd5\\xfd\\xfe\\x01\\x33\\xcf\\xd4\\xbd\\x5d\\xfd\\x1d\\x1b\\xe3\\x77\\x79\\x1d\\xac\\x78\\x2a\\xc9\\xaf\\x22\\x2a\\x07\\x76\\xe0\\x42\\x77\\xa4\\xaf\\x12\\xea\\x7a\\xf9\\x2b\\x04\\x7b\\x86\\xd0\\x2d\\xa9\\x65\\xfe\\xdd\\x2c\\x5b\\x5d\\xe3\\xef\\x76\\xa9\\x77\\x9b\\x4d\\xfd\\x7d\\x31\\x9f\\x28\\x15\\x01\\xe2\\x4e\\x71\\xa7\\xd6\\x4a\\x9f\\xaa\\xcf\\xd4\\xef\\xd4\\x97\\xea\\xcb\\xf5\\x6d\\xfa\\xdb\\xf6\\x28\\x7b\\x6d\\xfb\\xab\\xf6\\xaf\\xed\\x97\\x6b\\xbf\\x51\\x67\\x53\\x9d\\x2d\\x75\\x7e\\x77\\xc6\\x38\\x6b\\x3b\\xb3\\x9d\\xbd\\x9d\\x83\\x9d\\x1e\\x67\\x81\\x73\\x98\\x73\\x9e\\x73\\x9f\\xf3\\x84\\xf3\\x5d\\xe7\\xc7\\xce\\xef\\x9d\\x97\\x9d\\x3e\\x57\\x98\\x2b\\xc6\\x95\\xe4\\x4a\\x75\\x35\\x71\\x35\\x75\\xb5\\x70\\xb5\\x75\\xb5\\x73\\x75\\x70\\x75\\x71\\x0d\\x77\\x4d\\x75\\xcd\\x77\\xad\\x77\\xed\\x77\\xfd\\x90\\x68\\x4f\\x8c\\x4a\\x8c\\x4b\\x4c\\x4a\\x4c\\x4d\\x6c\\x92\\xd8\\x27\\x71\\x40\\xe2\\xf0\\xc4\\x85\\x89\\xf7\\x25\\x3e\\x99\\xa4\\x25\\x05\\x24\\x85\\x25\\x45\\x26\\xc5\\x24\\xd5\\x4c\\x72\\x26\\x35\\x48\\x4a\\x4b\\xea\\x96\\x54\\x94\\x34\\x26\\x59\\x4b\\x0e\\x4f\\x4e\\x4c\\x11\\x29\\x5a\\x4a\\x48\\x4a\\x78\\x4a\\x74\\x4a\\x7c\\x4a\\xad\\x94\\xba\\x29\\x8d\\x52\\x5a\\xa4\\xb4\\x4b\\x99\\x94\\x52\\x9a\\xb2\\x30\\x65\\x49\\xca\\xf2\\x94\\x75\\x29\\xdb\\x52\\x76\\xa6\\xec\\x49\\x39\\x94\\x72\\x38\\xe5\\x44\\xca\\x5b\\x29\\xa7\\x52\\x3e\\x4a\\xb9\\x98\\xda\\x2e\\xd5\\x9d\\xda\\x29\\xb5\\x30\\x75\\x54\\xea\\xd8\\xd4\\x5b\\x53\\xa7\\x36\\x9a\\xdc\\x68\\x56\\x93\\xb8\\x27\\x12\\x9f\\x58\\x7e\\x55\\xbb\\xda\\xea\\x6a\\xbb\\xab\\x1d\\xae\\x76\\xbc\\xda\\xe5\\x6a\\x5f\\x5f\\xb2\\xdf\\x6f\\xfc\\x8d\\xb4\\xad\\x5a\\x6b\\x7d\\x86\\x3e\\x57\\x5f\\x88\\xff\\x2b\\xf5\\x47\\xf5\\xd3\\xf6\\x9a\\xf6\\x35\\xf6\\xd3\\xf6\\x1f\\x6a\\x8b\\xda\\x3e\\xfc\\xdf\\xea\\x14\\xce\\x78\\xa7\\xcb\\xd9\\xcd\\x99\\x6b\\xf9\\x3f\\xc2\\x59\\xea\\x7c\\xce\\xf9\\x8a\\xf3\\x7d\\xe7\\xa7\\xce\\x9f\\x9c\\xbf\\xb8\\x42\\x5c\\x91\\xae\\x38\\xfc\\x6f\\x88\\xff\\xcd\\x5d\\x6d\\xae\\xfb\\x3f\\x11\\xff\\x57\\xbb\\xb6\\x5a\\xfe\\xc7\\x5a\\xfe\\xf7\\x4e\\xcc\\x4b\\x2c\\xc0\\xff\\xd5\\xd7\\xfd\\x8f\\xc0\\xff\\x1a\\x49\\x75\\x2c\\xff\\x0b\\x93\\x46\\x1b\\xfe\\xbb\\xfe\\xc6\\xff\\xdc\\xeb\\xfe\\xaf\\x4e\\xd9\\x9a\\xb2\\xe3\\xba\\xff\\x6f\\xe0\\xff\\x87\\xf8\\xdf\\xf6\\xba\\xff\\x63\\x52\\x27\\xe2\\x7f\\x61\\xa3\\x69\\xf8\\x1f\\xf7\\xc4\\x92\\xab\\xf2\\x6a\\xed\\xab\\xad\\xf1\\xdf\\x7d\\xb5\\xf3\\xd5\\x1c\\x9f\\xcb\\xef\\xf7\\x9f\\xf7\\xbf\\xe8\\x7f\\xc1\\x7f\\xc4\\x7f\\xd0\\xbf\\xcf\\xbf\\xd7\\xbf\\xc7\\xbf\\xdb\\xef\\xf5\\xef\\xf0\\x67\\xfa\\xd3\\xfd\\x0d\\xbf\\x72\\x96\\x5f\\x2a\\xff\\xba\\xfc\\x5f\\xe5\\xe7\\xcb\\xbf\\x28\\xff\\xbc\\xfc\\xd3\\xf2\\x8f\\xcb\\xff\\x59\\xfe\\x51\\xf9\\x87\\xe5\\x1f\\x94\\xbf\\x57\\x7e\\xa6\\xfc\\xdd\\xf2\\x77\\xca\\x4f\\x97\\xbf\\x5d\\x7e\\xb2\\xfc\\x78\\xf9\\xd1\\xf2\\x23\\xe5\\x87\\xca\\x0f\\x94\\x3f\\x57\\xbe\\xbf\\x7c\\x77\\xb9\\xb7\\x7c\\x57\\xf9\\x8e\\xf2\\x35\\xe5\\x8b\\xcb\\x67\\x95\\x8f\\x2b\\x1f\\x5a\\x9e\\x54\\x1e\\x5a\\x2e\\x2f\\xfa\\x2f\\x5e\\xb9\\xf8\\xd3\\xc5\\x6f\\x2e\\x9e\\xbc\\xf8\\xfa\\xc5\\x97\\x2e\\x6e\\xb9\\xb8\\xee\\xe2\\x82\\x8b\\xf5\\x2f\\xa6\\x5c\\xac\\x7d\\xb1\\xd6\\xc5\\x9a\\x17\\xe3\\x2e\\x46\\x5f\\x0c\\xbe\\x58\\xed\\xc2\\x77\\x17\\x3e\\xb8\\xf0\\xde\\x85\\x36\\x17\\x1a\\x5d\\xa8\\x7d\\x3e\\xeb\\x7c\\x87\\xf3\\x2d\\xcf\\x37\\x3f\\x9f\\x7e\\xbe\\xd1\\xf9\\x06\\xe7\\x93\\xce\\x27\\x9c\\x8f\\x3e\\x5f\\xfd\\xdc\\x1f\\xe7\\xca\\xcf\\x7d\\x79\\xee\\x8b\\x73\\x9f\\x9d\\xfb\\xf8\\xdc\\xa9\\x73\\xaf\\x9e\\x7b\\xf1\\xdc\\xf3\\xe7\\x0e\\x9d\\xdb\\x7b\\xee\\xd9\\x73\\x3b\\xcf\\x6d\\x3f\\xf7\\xc0\\xb9\\xec\\x73\\x9d\\xce\\x75\\x3c\\x57\\xf7\\x5c\\xd2\\xb9\\xc4\\x73\\x75\\xce\\x25\\x7c\\x92\\xf6\\x49\\xfd\\x7f\\xde\\x5b\\xb4\\xb4\\xa8\\x6e\\x75\\x6f\\xf5\\xfb\\xab\\xdf\\x57\\x7d\\x7d\\xf5\\x75\\xd5\\xd7\\x56\\x5f\\x53\\xed\\x05\\xeb\\x6f\\x4c\\xfe\\xbf\\xfb\\x27\\x40\\xab\\xa6\\x0a\\x29\\xfe\\x8d\\x09\\xa9\\xfe\\xee\\xa9\\xf1\\x47\\xfb\\x2f\\x3a\\xcc\\x91\\xba\\xb0\\x09\\x3b\\xab\\x89\\x43\\x04\\x8a\\x20\\x51\\x4d\\x04\\x73\\xc2\\xac\\x2e\\x42\\x45\\x98\\x08\\x17\\x11\\x22\\x52\\x44\\x89\\x68\\x11\\x23\\x62\\x45\\x9c\\x88\\x17\\x35\\x44\\x4d\\x91\\xc0\\x2a\\x54\\x5b\\xd4\\x11\\x4e\\x66\\x5f\\x22\\xbb\\x41\\xb2\\xa8\\x2b\\x52\\xd8\\x49\\xea\\x89\\xfa\\xa2\\x81\\x68\\x28\\xd2\\x44\\x23\\xd1\\x58\\x34\\x11\\xe9\\xec\\xd0\\xcd\\x44\\x73\\x91\\x21\\x5a\\x88\\x96\\xa2\\x95\\xc8\\x14\\xad\\x45\\x1b\\xd1\\x56\\xdc\\x22\\xda\\x89\\xf6\\xa2\\x83\\xc8\\x12\\x6e\\xd1\\x51\\x74\\x12\\x9d\\x45\\x17\\x91\\x2d\\x72\\x44\\x57\\xd1\\x8d\\xb5\\xb0\\x87\\xe8\\x29\\x7a\\x89\\xde\\xa2\\x0f\\x6b\\x62\\xae\\xe8\\x27\\xfa\\x8b\\x3c\\x31\\x40\\x0c\\x14\\x83\\xc4\\x60\\x76\\x3e\\x8f\\x18\\x22\\x0a\\xc4\\x50\\x31\\x4c\\x0c\\x17\\x23\\x44\\xa1\\x28\\x02\\xff\\x62\\x56\\xcc\\x7b\\xc5\\x32\\xb1\\x4e\\x3c\\xc0\\x7e\\xf5\\xa8\\x78\\x44\\x6c\\x17\\x8f\\x8b\\xc7\\xc4\\x13\\xe2\\x29\\xf1\\xb4\\xd8\\x21\\x76\\x8a\\x67\\xc4\\x2e\\xf1\\x2c\\xfb\\xe5\\x6e\\xb1\\x57\\xec\\x17\\xfb\\xc4\\x73\\xa2\\x4c\\x1c\\x10\\x87\\xc5\\xf3\\xe2\\x88\\x38\\xea\\xf8\\x54\\x4c\\x17\\xa3\\xc5\\x18\\x31\\xc1\\xf1\\xb9\\x98\\x2d\\xb6\\x89\\x62\\x71\\x6b\\x60\\x9c\\xb8\\x4d\\x4c\\x0c\\xcc\\x14\\x4b\\xc4\\x83\\x81\\xcd\\x45\\x49\\x60\\x9b\\xc0\\xb6\\x62\\x9c\\x98\\x15\\xd8\\x30\\xb0\\x71\\x60\\x23\\x7d\\x5a\\x60\\x4b\\x31\\x49\\xdc\\xa1\\x0f\\x11\\x4f\\x8a\\x43\\x62\\x81\\x18\\x25\\xa6\\x04\\x36\\x93\\x03\\x02\\x5b\\x05\\xa6\\xb1\\x03\\xcd\\x73\\x9c\\x15\\x23\\xc5\\x5d\\x62\\x91\\xd8\\x20\\xa3\\x65\\x8c\\xe3\\x1d\\xc7\\x3f\\x1c\\x1f\\x39\\xfe\\xe9\\x78\\xcf\\xf1\\xbe\\x38\\x18\\x38\\x5b\\xbc\\x20\\xdb\\x3a\\xbe\\x0b\\x0c\\x74\\x7c\\xed\\xf8\\x26\\x70\\x77\\xe0\\x1e\\xc7\\x67\\x62\\x8e\\xe3\\x03\\xc7\\xc7\\x8e\\x8b\\x62\\xa1\\x58\\x2e\\xee\\x16\\x2b\\xc4\\x52\\xb1\\x4a\\xac\\x16\\x6b\\xc4\\x4a\\x71\\x9f\\xb8\\x1f\\x0f\\xd7\\x8b\\xcd\\xe2\\x21\\xb1\\x49\\xfc\\xac\\xdd\\xa3\\x3d\\x24\\xa6\\x69\\x1b\\xb5\\x07\\xb5\\x4d\\x62\\xae\\xb6\\x45\\xdb\\xac\\xb1\\x7b\\xbb\\xbb\\x16\\x0c\\xf1\\xe4\\x0f\\x1c\\x90\\xd7\\xbf\\x5f\\x6e\\xdf\\x3e\\xbd\\x7b\\xf5\\xec\\xd1\\xbd\\x5b\\xd7\\x9c\\xec\\x2e\\x9d\\x3b\\x75\\x74\\x67\\x75\\x68\\xdf\\xee\\x96\\xb6\\x6d\\x5a\\x67\\xb6\\x6a\\xd9\\xac\\x69\\x7a\\x93\\xc6\\x8d\\xea\\xd7\\x4b\\x4d\\xa9\\x9b\\x9c\\x94\\xe8\\x8c\\x8f\\x8e\\x08\\x0f\\x0b\\xad\\x1e\\x5c\\x2d\\x28\\xd0\\x11\\x60\\xb7\\xe9\\x9a\\x14\\x8d\\x5c\\x5e\\x59\\x98\\xed\\xd5\\x53\\x5c\\x11\\x39\\x45\\xc9\\xd9\\xc9\\x45\\xdd\\x1a\\x37\\x72\\x65\\xc7\\x8f\\xef\\xd2\\xb8\\x51\\x76\\x72\\x4e\\xa1\\xd7\\x55\\xe4\\xf2\\x52\\xd8\\x52\\x93\\xbb\\x75\\x33\\xaa\\x92\\x8b\\xbc\\xae\\x42\\x97\\x37\\x95\\xa2\\xa8\\x4a\\x75\\xa1\\xd7\\x4d\\xcf\\xb1\\x37\\xf5\\x74\\x9b\\x3d\\xdd\\xd7\\x7b\\xca\\x70\\x57\\x3b\\xd1\\x4e\\x99\\x48\\x76\\x79\\x4f\\x76\\x49\\x76\\x95\\xc9\\x21\\xfd\\xf2\\x79\\x5e\\xd1\\x25\\xd9\\xe3\\xf2\\x7e\\x6b\\x3c\\xf7\\x36\\x9e\\x6d\\xa9\\xc6\\x4b\\x75\\x5e\\x12\\x13\\x19\\x61\\xa0\\x52\\x68\\x5d\\xd9\\xde\\x9c\\xdb\\xc6\\x2f\\xcd\\x2e\\x04\\xa3\\xdc\\x1d\\x5c\\xad\\x73\\x72\\xe7\\x31\\xd5\\x1a\\x37\\x12\\xbb\\xab\\x05\\xf3\\x18\\xcc\\x93\\xb7\\x7e\\x72\\xf1\\x6e\\x59\\xbf\\x83\\x34\\x1e\\xb4\\xfa\\xd9\\x6d\\x77\\x6b\\x22\\xb0\\xba\\x32\\x8b\\xa7\\xd9\\x45\\xa3\\xbd\\xb9\\xfd\\xf2\\xb3\\xbb\\x24\\x24\\x26\\x7a\\x1a\\x37\\xea\\xee\\x0d\\x4d\\xee\\x62\\x34\\x89\\xce\\x86\\x4a\\x6f\\x40\\x67\\xaf\\xc3\\x50\\xe9\\x9a\\xa0\\xa0\\x8b\\x65\\xae\\xdd\\x8d\\x8e\\x2f\\x5d\\x5e\\x16\\x2e\\x46\\x16\\xa6\\x85\\x8c\\x4e\\x1e\\x5d\\x34\\x34\\xdf\\xab\\x17\\x31\\x76\\xa9\\x9e\\xbd\\x74\\xe9\\x3d\\xde\\x88\\x34\\x6f\\x83\\xe4\\x2e\\xde\\x06\\x73\\xbf\\x8c\\xc7\\xf3\\x31\\xde\\x46\\xc9\\x5d\\xb2\\xbd\\x69\\x4a\\x6b\\xcf\\xfe\\xd7\\xed\\xf4\\xbc\\x61\\x52\\x7a\\xed\\x29\\x6c\\x17\\x4b\\xaf\\x08\\xdc\\x49\\xfe\\xf6\\xd2\\x9f\\x6b\\x8a\\xac\\x9a\\x80\\x94\\xf0\\x2b\\x42\\x3d\\x7a\\xb5\\xce\\x5e\\xd9\\x3f\\x3f\\x51\\xfd\\x49\\xc8\\x81\\xeb\\xa5\\x4b\\x73\\x92\\x5d\\x39\\x4b\\x0b\\x97\\x16\\x95\\xf9\\x4b\\x47\\x26\\xbb\\xc2\\x93\\x97\\xee\\x0e\\x09\\x59\\x5a\\x9c\\x0d\\xdd\\x22\\x37\\x1f\\x15\\x65\\xfe\\x43\\xcb\\x12\\xbc\\x39\\xcb\\x3d\\xde\\xf0\\xc2\\xf1\\xb2\\xad\\xc7\\x72\\x3d\\xa7\\x7f\\x4f\\x6f\\x54\\xbf\\x82\\x7c\\xaf\\x96\\x92\\xe3\\x1a\\x5f\\x44\\x0d\\xff\\x64\\x25\\x27\\xb6\\x4e\\x48\\x8c\\xb8\\xde\\x27\\xf7\\xef\\x9a\\x05\\xb4\\x40\\x0e\\x0c\\x27\\x26\\x2a\\x1a\\x96\\x95\\xb9\\xc5\\x48\\x5e\\xbc\\xa5\\xfd\\xf2\\xcd\\x77\\x97\\x18\\x99\\xb0\\x47\\xb8\\xd3\\xd3\\x3c\\x5e\\xad\\x50\\xb5\\x1c\\xaf\\x6c\\x89\\x19\\xa8\\x5a\\x4a\\x2b\\x5b\\xae\\x0f\\x2f\\x4c\\x26\\xb6\\x3d\\xf3\\xf2\\x97\\x7a\\x6d\\x29\\xdd\\x47\\x27\\x67\\xc3\\xf8\\xb2\\x22\\x6f\\xe9\\x48\\xb2\\x6b\\xa2\\x0a\\x4c\\x72\\xb8\\x37\\xf4\\x97\\x84\\xc4\\xe4\\xa5\\x91\\x11\\xae\\x36\\xe9\\x1e\\xa3\\xaf\\x0b\\x54\\xdd\\x47\\x4f\\x70\\x79\\xed\\xa9\\x90\\xc4\\xa8\\xaa\\x03\\xc8\\x1b\\x35\\x64\\x69\\xb8\\xf1\\x12\\xfa\\x8b\\x59\\x7c\\x9b\\x80\\x81\\xd4\\x88\\x48\\x57\\x9b\\x64\\xd4\\x28\\x3d\\xd9\\xc9\\xd9\\x85\\xd6\\x3f\\xb7\\x8d\\x8f\\x47\\x81\\x0b\\xa2\\xbb\\xa5\\x99\\x89\\x30\\x20\\xdf\\xeb\\xee\\xc2\\x83\\xbb\\xc8\\x8a\\x58\\xf6\\xee\\xa6\\xe9\\x8c\\x28\\x2a\\x24\\x60\\x13\\xba\\x18\\xc1\\xf4\\xa6\\x27\\x17\\x7b\\xa3\\x93\\x3b\\x5d\\x8f\\xae\\x82\\x95\\x3d\\x21\\x2f\\xdf\\x18\\x62\\x0d\\xf3\\x46\\x77\\xf6\\x8a\\xc2\\x51\\xd6\\x28\\x6f\\x7a\\xb6\\x31\\xaf\\x5c\\xd9\\x4b\\x0b\\xbb\\x98\\x10\\x94\\xae\\xe4\\x7e\\xf9\\x07\\x45\\x86\\xff\\xec\\xee\\x16\\xae\\x84\\xbd\\x6a\\xe9\\xf4\\x74\\x51\\x9d\\x63\\x3b\\x93\\x65\\xa9\\xd9\\x4b\\xf3\\x47\\x8f\\xf5\\x3a\\x0b\\x13\\x46\\x33\\xef\\xc6\\xba\\xf2\\x13\\x12\\xbd\\x6e\\x0f\\x11\\xf6\\x24\\xe7\\x8f\\xf1\\xa8\\xb4\\x83\\xa1\\x06\\x67\\x13\\x8c\\xe4\\xf0\\x18\\xb9\\x32\\x20\\xbf\\x67\\x5e\\x72\\xcf\\x7e\\x43\\xf2\\x5b\\x5b\\x40\\xcc\\x06\\xa5\\xce\\x96\\x92\\x7d\\x93\\x9a\\xe4\\xfc\\x04\\x53\\x0d\\x09\\xe8\\x0d\\x4c\\x09\\x74\\xe5\\x6b\\x09\\xba\\x87\\x8e\\xe1\\x54\\xb8\\x72\\x78\\x48\\xee\\xd4\\x8e\\x9f\\x5e\\x47\\x4a\\x20\\x12\\x0e\\xe1\\x46\\xad\\x4a\\xdc\\x4e\\xed\\x5c\\xf9\\x32\\x41\\x54\\xf6\\x06\\x86\\xb7\\x81\\x2b\\x7b\\x4c\\x17\\xab\\x9f\\x7a\\xff\\x93\\x52\\xbb\\x4a\\xa7\\xce\\xdd\\x2a\\xb5\\x05\\xa8\\x57\\xf4\\x74\\xee\\x96\\x90\\xe8\\x49\\x34\\xff\\x34\\x6e\\xa4\\xd1\\xec\\xb2\\x0c\\x33\\x22\\x50\\x91\\xda\\xad\\xb2\\x89\\x65\\x8a\\x86\\x40\\xf2\\xb3\\x73\\x37\\xa3\\x4a\\x71\\x19\\xaf\\x92\\xde\\x95\\x9f\\x3c\\x26\\xd9\\x93\\x3c\\xde\\xe5\\x75\\xe7\\xe6\\x2b\\xdf\\x14\\x3d\\x06\\xcb\\x16\\x19\\x06\\xe7\\x56\\xac\\x06\\xfc\\xe9\\xad\\x0a\\x59\\xd0\\x24\\x12\\x69\\xae\\x7c\\x51\\x64\\x7a\\x73\\xd2\\x12\\xaa\\x92\\xeb\\xed\\x6a\\xbc\\x5f\\x7f\\xed\\x76\\x53\\x73\\xf7\\xca\\x66\\xd7\\xd2\\xc0\\xe4\\x9e\\x79\\x4b\\x95\\xf2\\x64\\x4b\\xa1\\x00\\x79\\x77\\xaf\\x50\\x29\\xec\\x6e\\x1d\\x91\\x60\\xac\\x05\\x6a\\x42\\x27\\xb3\\xf6\\xba\\xc2\\x99\\xd2\\xc6\\x84\\x5e\\xba\\xdb\\xed\\x56\\x93\\x79\\x7c\\x5b\\xa5\\x24\\xb9\\xfb\\xe8\\xa5\\xc9\\x79\\xf9\\xed\\x8c\\xde\\xac\\x27\\xf3\\x12\\xe6\\x2a\\x5b\\x91\\xa2\\xa7\\xec\\x39\\xa0\\x53\\xe3\\x46\\x2c\\x6d\\x9d\\x76\\x27\\xcb\\x25\\xfd\\x76\\xbb\\xe5\\x92\\xbc\\x21\\xf9\\x07\\xc3\\x39\\x23\\x2f\\x19\\x90\\xbf\\x47\\x93\\x5a\\xe7\\xc2\\x4e\\x9e\\xdd\\x75\\x69\\xcb\\x3f\\xe8\\x62\\xd3\\x30\\x6a\\x35\\x55\\xab\\x2a\\xd5\\x8b\\x4b\\xbd\\x28\\x4d\\xfd\\x79\\x09\\x34\\xfa\\x27\\x1c\\x74\\x0b\\x51\\x6a\\xb4\\xda\\x8c\\x0a\\xe3\\x7d\\x54\\x99\\x14\\x46\\x5d\\x60\\x65\\x9d\\x14\\xa3\\xca\\x34\\xb3\\x2e\\xdc\\x34\\x94\\x6a\\x18\\x72\\x73\\x06\\x19\\x55\\x66\\x33\\x5b\\xdc\\x95\\xbd\\x6d\\xd4\\x05\\x9a\\x75\\xa5\\x46\\x9d\\xf1\\x67\\xb7\\x50\\x94\\xb9\\xab\\xd9\\xdd\\x81\\xee\\x20\\x77\\x88\\x56\\x5d\\x4b\\xd8\\x2d\\x55\\xd5\\x1e\\x6a\\x0e\\xa9\\x7f\\xef\\x45\\x8a\\xbd\\x21\\xb2\\xba\\x4c\\xd8\\xcd\\xa8\\xfe\\x46\\x75\\x99\\x2c\\xdd\\x1d\\xe4\\x4e\\x30\\x7b\\x94\\xd2\\xc3\\x6d\\x22\\x5c\\x32\\xf0\\x86\\xe9\\x81\\x43\\xf2\\xf7\\x72\\xa2\\x91\\x09\\xc6\\x4f\\x0c\\x75\\x52\\x7f\\x48\\x97\\xf8\\xf1\\x04\\x9b\\x6d\\x25\\xdb\\x35\\x5a\\x25\\xca\\x1d\\x9e\\xf1\\x4b\\x0b\\x3d\\x6a\\xb2\\x89\\x58\\x42\\xc3\\x3f\\xd2\\x2b\\x93\\x3b\\x10\\xa6\\xe4\\x0e\\x00\\x09\\x08\\xf1\\x56\\x4b\\x1e\\xd3\\xc9\\x1b\\x9c\\xdc\\x49\\xd5\\x67\\xa9\\xfa\\x2c\\xb3\\x3e\\x40\\xd5\\x3b\\x48\\x51\\x19\\x2b\\x19\\x5e\\x4a\\xec\\x73\\xbd\\x52\\x65\\x40\\x41\\x7e\\x22\\x53\\xd2\\x55\\xf3\\xf5\\x84\\xa5\\xe1\\xdf\\xaa\\x48\\x79\\x58\\x54\\x96\\x86\\x5f\\x68\\xdc\\x31\\x55\\xe6\\x09\\x29\\x7b\\x8b\\x81\\xb2\\xbf\\x55\\x0e\\x92\\x03\\x38\\x69\\x39\\xe5\\x40\\x4a\\x2e\\x2d\\xb2\\xaf\\xc8\\x90\\x7d\\xa8\\xef\\x45\\xa9\\xda\\xdb\\x8b\\xf6\\xb2\\x1d\\x65\\x3b\\xfa\\xb7\\xa5\\xbc\\x85\\x77\\x55\\xb6\\x94\\x2d\\xf6\\x94\\x3a\\x45\\xc7\\xc6\\xb2\\x85\\x08\\x47\\x34\\x43\\x9a\\xd0\\x92\\x21\\xba\\xc9\\xe6\\x9c\\x9d\\x4a\\xf9\\x29\\x11\\xb3\\xb6\\x19\\xe3\\x9a\\x52\\x1b\\xc6\\x4f\\x89\\x98\\xb5\\xe9\\xd4\\x52\\x0a\\x17\\x3f\\x0b\\x11\\xce\\x8e\\xfc\\x54\\x6f\\xb4\\xef\\x91\\x62\\x60\\x99\\x6c\\xbc\\xa7\\xbd\\x2a\\x1a\\xed\\x15\\x7e\\x67\\x69\\xc7\\x08\\xd9\\x85\\xe1\\x4a\\x3a\\x30\\xbc\\x33\\xc3\\x3b\\x51\\x76\\xb2\\xde\\xb3\\x78\\xef\\xe0\\xee\\x3a\\x30\\xbc\\x42\\x5e\\xc9\\xad\\xef\\xbc\\x9c\\xd3\\xd0\\xf9\\x63\\x4e\\x7d\\xe7\\x0f\\x39\\x2d\\x9d\\x0f\\x7f\\xb7\\xeb\\xbb\\x63\\xdf\\xe9\\xf3\\xbf\\x7f\\xf8\\x7b\\xed\\xd4\\xf7\\xd2\\xfb\\xbd\\x4c\\xff\\x7e\\xea\\xf7\\xf3\\xbf\\xd7\\xc5\\xa5\\xf0\\x4b\\x4d\\x2f\\xb9\\x2f\\xe5\\x5e\\x2a\\xbe\\x54\\x7a\\xc9\\x11\\x14\\xfe\\x8d\\x14\\xdf\\x78\\xbf\\xd1\\x22\\xdc\\x65\\xb2\\xbe\\xbb\\x75\\x4c\\x42\\x8e\\xfb\\x5f\\x91\\x71\\x39\\xe5\\x5f\\xa6\\x3a\\x2f\\x7e\\xd9\\xde\\x79\\xe1\\xcb\\x3a\\xce\\xb0\\x2f\\x65\\xed\\xf3\\xe7\\x72\\x9c\\x61\\xe7\\xa4\\xfb\\x5c\\x4e\\xac\\xf3\\x8b\\xb3\\x39\\xce\\x63\\x67\\x4f\\x9d\\xfd\\xfc\\xac\\xee\\x3e\\x9b\\xd1\\x2a\\xe7\\x6c\\x4e\\xbc\\xf3\\xb0\\x8c\\x16\\x1d\\x64\\x24\\xa0\\xa2\\xdc\\x21\\xed\\xf5\\x81\\x9f\\xb7\\xff\\x74\\xe0\\x67\\xed\\x3f\\x19\\x28\\x3a\\xc6\\xc9\\x58\\xe0\\x2a\\x89\\xc1\\xf3\\x5d\\xfc\\x94\\x78\\x1c\\x23\\x72\\x11\\x0d\\x7e\\x62\\x8c\\xe3\\x75\\xa4\\x68\\x8a\\x68\\x32\\x72\\x8f\\xd4\\x71\\x3f\\xc2\\x9d\\xab\\xfb\\x9d\\x9f\\xca\\x4f\\x06\\xba\\x3e\\xc9\\xfd\\xa4\\xf4\\x13\\xef\\x27\\xb6\\xb0\\x4f\\xe4\\xe9\\x98\\x0c\\xe7\\xb1\\x17\\x65\\xe1\\xf1\\xe2\\xe3\\xa5\\xc7\\xf5\\xac\\xe3\\xd2\\x75\\x5c\\x8a\\xe3\\xf2\\x85\\xdc\\x54\\x67\\xf1\\x51\\xe9\\x3a\\xda\\xf4\\xe8\\xf1\\xa3\\x7a\\xf1\\xd1\\xd2\\xa3\\xda\\x91\\xc3\\xed\\x9c\\x87\\x9e\\x89\\x73\\x1e\\x7c\\x26\\xd5\\x99\\x5b\\x56\\x5c\\x56\\x5a\\xa6\\x97\\xf9\\x8f\\xef\\x2d\\x8b\\x6a\\x90\\x43\\xe9\\x0e\\x2f\\x0b\\x0a\\xc9\\x09\\x3f\\x20\\x5d\\x07\\x72\\x0f\\x94\\x1e\\xf0\\x1e\\xb0\\x95\\xc9\\x64\\x77\\xb5\\xfd\\xcd\\x9c\\x61\\x7b\\xb3\\xf6\\x7e\\xbf\\x57\\x3f\\x28\\x13\\xa5\\x73\\x4f\\x3b\\x27\\x9c\\x38\\xf7\\xd4\\x76\\xe5\\x94\\xc9\\xea\\x6e\\xe7\\x8e\\x6e\\xce\\xf4\\x5d\\x59\\xbb\\xb4\\xad\\xcf\\x78\\x9f\\xd1\\x8e\\x3f\\x73\\xfa\\x19\\x2d\\x7d\\x67\\xd6\\x4e\\xed\\xe1\\xa7\\xe5\\xf1\\x1d\\xa7\\x77\\x68\\x07\\xfd\\x67\\x65\\x9d\\xbd\\xae\\xe4\\x9c\\x9e\\x1d\\xeb\\xcb\\x3a\\x38\\x55\\xd7\\xf8\\xb9\\xdd\\xf8\\x79\\xaf\\xf1\\xb3\\xc0\\xf8\\xd9\\xdd\\xf8\\xd9\\x98\\x9f\\xed\\x11\\x4d\\xc4\\x18\\xef\\x01\\xea\\xa7\\x0c\\x13\\xcd\\x65\\x28\\x34\\x09\\x7e\\x86\\x23\\x2e\\xa4\\x58\\x86\\xee\\xb3\\x3d\\xb4\\x39\\xd2\\xa9\\x90\\x47\\x6f\\x0e\\x8d\\xc8\\x71\\x6d\\x6c\\xba\\x51\\xdb\\x78\\x7f\\xa4\\xf3\\x81\\x9c\\x54\\x67\\xf8\\x06\\xa9\\x5c\\xbb\\x3f\\xb6\\x96\\xe1\\x5a\\xc3\\xfb\\xe9\\x70\\x5f\\x82\\xdf\\x19\\xb6\\x7e\\xd7\\xfa\\x63\\xeb\\x75\\xf7\\xfa\\xda\\xcd\\x72\\xdc\\xeb\\x63\\x89\\xeb\\xfa\\x90\\xb0\\x9c\\xb0\\x75\\xe9\\xeb\\xb2\\xd6\\xcd\\x5f\\xf7\\xfd\\x3a\\x7b\\xd8\\x21\\x19\\x22\\xa6\\xca\\x10\\xb7\\x4b\\x5b\\xbb\\x22\\xd5\\xb9\\x26\\xcf\\xef\\xfc\\x7c\\xb5\\x6c\\xba\\x5a\\x3a\\x57\\xa7\\xaf\\xd6\\xa6\\xae\\x9e\\xbf\\x5a\\x13\\xab\\xc2\\x57\\xb9\\x56\\x29\\xea\\xdc\\x49\\xab\\xe2\\x6b\\xe5\\x84\\xaf\\x74\\xad\\x6c\\xba\\x52\\xef\\xbb\\x62\\xc4\\x8a\\xa9\\x2b\\xf4\\xa6\\xcb\\x65\\xd8\\x72\\xe7\\xf2\\xf4\\xe5\\xba\\x7b\\x79\\x78\\x54\\x4e\\xf8\\x31\\x19\\x0c\\xe0\\x60\\x22\\x19\\x2c\\x74\\xff\\x71\\x19\\xbc\\x27\\xce\\x95\\x73\\x50\\x3d\\xec\\x0f\\x8f\\xce\\x29\\x5d\\xa6\\x70\\xba\\xeb\\x2d\\x03\\xc5\\xbd\\x3d\\xda\\x39\\x97\\x2c\\x6c\\xe7\\x2c\\x5e\\x5c\\xba\\x58\\x7b\\x78\\xd1\\xae\\x45\\xc7\\x16\\xe9\\x4d\\xef\\x92\\x0b\\x26\\x93\\xf3\\xc4\\xbd\\x84\\x80\\x96\\xc9\\x5a\\x7b\\x73\\x22\\x9c\\xe1\\x65\\x32\\xc1\\xdd\\x39\\xae\\x66\\xce\\xc7\\xd3\\xbf\\x99\\x7e\\x75\\xba\\xee\\x9a\\x5e\\x3b\\x31\\xe7\\xc4\\xf4\\x33\\xd3\\xb5\\x69\\x53\\xbb\\x39\\xa7\\x92\\xe9\\x53\\x90\\x9a\\x32\\x7e\\x60\\x8d\\x8c\\xf8\\x81\\x8e\\x0c\\x7d\\x60\\x00\\x0a\\x1a\\x4c\\x96\\x93\\x28\\x8a\\x72\\x6b\\x39\\x0b\\xd1\\x35\\xc2\\xd0\\x57\\x63\\x6f\\x4e\\x23\\xe7\\xa9\\xc3\\x32\\x5e\\x7c\\x8e\\x68\\x32\\x7e\\x4f\\x4e\\x2d\\xaa\\xe3\\xdc\\xc9\\xb0\\x38\\x7c\\x48\\x37\\xe7\\xd0\\x9c\\x66\\xce\\x02\\xca\\x21\\x94\\xd1\\x32\\x72\\x60\\x54\\xf3\\xc8\\x81\\x76\\xd2\\xd1\\xd6\\x5c\\xa5\\x64\\xa0\\x3b\\x34\\xa1\\x9d\\x33\\x4c\\x97\\xf7\\x7b\\x1e\\xf7\\x68\\x53\\xf3\\x64\\x99\\xac\\xe9\\x6e\\x83\\xe6\\xfe\\xb9\\x09\\xce\\xef\\xfb\\xf9\\xfb\\x69\\xee\\x7e\\x2d\\x5b\\xe7\\xb8\\xfb\\xa5\\xd4\\xcf\\x39\\x95\\x2b\\xfb\\xf6\\x6a\\xe7\\xec\\x83\\xa2\\xde\\x48\\x6c\\xaf\\xd4\\x5e\\xad\\x7a\\xe9\\x8e\\x5e\\xb2\\xbc\\xd7\\xaf\\xbd\\xb4\\x9e\\x39\\x2d\\x48\\x4a\\x99\\xe2\\x1e\\x29\\x7b\\x60\\xba\\x3b\\x0e\\x74\\x43\\xba\\x22\\xbb\\x72\\xe4\\xe7\\x39\\xdf\\xe7\\x68\\xa5\\x39\\xb2\\x56\\xb7\\x84\\x81\\x71\\x32\\x66\\x60\\x6c\\xf3\\x98\\x81\\x11\\x32\\x6c\\x60\\x78\\xf3\\xb0\\x81\\x5c\\x1f\\x06\\x4a\\x21\\x9d\\xce\\xb0\\xac\\xb0\\x11\\x61\\xf3\\xc3\\x6c\\x61\\x61\\xe9\\x61\\x7d\\xc3\\xa6\\x86\\xad\\x0a\\xfb\\x3c\\xcc\\x1f\\xe6\\xc8\\xa2\\xee\\xfb\\x30\\x7d\\xaa\\x60\\x5d\\x93\\xab\\x63\\xa5\\x1d\\x90\\xab\\x77\\x0f\\xc8\\x4b\\x4b\\xeb\\x59\\xe6\\xf0\\x73\\x14\\x0d\\xca\\x2d\\xf0\\xca\\x25\\xde\\x94\\x3c\\xf5\\xd3\\xdd\\x6f\\x88\\x37\\x60\\x89\\x57\\x0c\\x1c\\x52\\x90\\xbf\\x5b\\xca\\x95\\x9e\\x45\\x2b\\x56\\x88\\x4e\\xb5\\x7b\\x7a\\x9b\\xe7\\xe5\\x7b\\x0b\\x6b\\x7b\\x7a\\x7a\\x47\\xf3\\xe0\\x56\\x0f\\xa5\\x3c\\x84\\xd7\\xde\\x1d\\x2b\\x3a\\x79\\x4a\\x66\\x94\\xcc\\x98\\x99\\x66\\xfe\\x91\\xd6\\x63\\x89\\x48\\x2b\\x99\\x31\\x83\\x07\\xa4\\x84\\x7f\\x64\\x89\\x28\\x31\\x3b\\x20\\xc2\\xac\\x4f\\x33\\x9a\\x8c\\x2a\\x7a\\x5b\\x35\\x72\\x46\\x49\\x89\\xd9\\x60\\xaa\\x98\\x91\\x36\\xd3\\xf8\\x99\\x66\\x55\\x4b\\xa3\\x6d\\x86\\x30\\x9e\\x4b\\xcc\\x3f\\x34\\xf3\\x43\\x98\\x06\\x4b\\x64\\x1a\\x4f\\xa6\\x6a\\x85\\x46\\x98\\xdd\\x30\\x6f\\x6a\\xe0\\xcf\\x75\\xb3\\x74\\x1b\\x5e\\x92\\x26\\x86\\x5b\\xd0\\x86\\x97\\xcc\\x1c\\x4e\\x47\\x74\\x95\\x18\\x98\\xcc\\x7e\\xc6\\x28\\xcb\\x0d\\xab\\xca\\xfc\\x13\\x2f\\x84\\xfd\\x2d\\xfb\\x5b\\x62\\x9e\\x3d\\x9b\\x9b\\x7a\\xa1\\xf1\\xf3\\x4f\\x7f\\x6c\\x6d\\xd9\\x59\\x66\\x09\\xe1\\xbf\\xe4\\xbf\\xdd\\xf8\\xa9\\xbe\\x9b\\x5f\\x32\\xff\\x3e\\xf8\\xff\\xe5\\x1f\\xf3\\xdf\\x73\\xe5\\x86\\x7d\\x84\\x7b\\xf7\\x56\\xf1\\x1a\\x77\\xee\\xa5\\xdc\\xc5\\x37\\x88\\xb9\\xdc\\xa4\\xef\\xe4\\x4e\\x7e\\xbc\\xb2\\xa7\\xfd\\x2d\\xe9\\x12\\xc7\\xc4\\xeb\\xdc\\xd0\\x97\\x73\\x13\\xdf\\xc4\\xad\\x77\\xc1\\x5f\\x69\\xb4\\x67\\xcb\\x00\\x71\\x10\\x8d\\x77\\x88\\x3d\\xdc\\xef\\xd7\\x73\\xeb\\xff\\xcb\\x3f\\x46\\xbf\\xa9\\xf4\\x5a\\xc2\\x9d\\xf9\\x75\\x39\\x1f\\x7d\\xcf\\x8b\\xe1\\xf2\\x88\\xd4\\x45\\xa1\\x98\\x83\\xee\\x32\\x6c\\xe7\\xda\\x76\\xdb\\x5e\\xf2\\xf5\\x12\\xdf\\x68\\x19\\xe2\\x25\\x19\\x24\\x6e\\x97\\x69\\xda\\xfd\\xda\\x14\\x50\\xfc\\xf5\\x9f\\xb5\\xdc\\xef\\x27\\xf1\\xf3\\x80\\x98\\x64\\x56\\x68\\x3f\\x89\\xb5\\xda\\x20\\x31\\x45\\x7b\\x4c\\xcf\\x16\\xf7\\xe2\\x61\\xa1\\xd6\\x4b\\x2b\\x16\\x2f\\x09\\xa1\\x97\\xb2\\x9c\\x16\\x88\\xe1\\xa2\\x54\\x4c\\x00\\x87\\xe0\\x69\\xfc\\x9f\\x74\\xa5\\xea\\x3d\\xc4\\x3d\\x02\\xf6\\xc5\\xcc\\xaa\\x2d\\xf6\\xbb\\xae\\xed\\x16\\xc1\\xfe\\xcb\\xdc\\xfb\\x97\\x8a\\x75\\x62\\x23\\xa3\\xa7\\x89\\x02\\xd1\\x9f\\xa6\\x52\\x91\\x2b\\xca\\xb0\\x26\\xc4\\x0a\\xdd\\x89\\x37\\xfb\\x8d\\x01\\xbb\\xc5\\xb2\\xca\\xb1\\x01\\x4f\\xe9\\xc5\\xda\\x61\\x2d\\xb0\\x62\\xa3\\x58\\xc3\\xff\\x7a\\xf3\\xbf\\xd1\\x62\\xb4\\xd9\\xe6\\x1b\\xef\\x7b\\x80\\xa5\\x3a\\x5b\\x66\\x8b\\xd5\\xbe\\x5f\\x44\\x9c\\xd8\\x6e\\xcf\\xae\\x08\\x14\\x21\\xfe\\xef\\xec\\x0f\\x5c\\xfb\\x19\\xe4\\x0b\\xf1\\xed\\x7e\\x51\\x22\\xe6\\x39\\xba\\xc8\\x89\\xb0\\x7a\\xbf\\x18\\x27\\x4a\\xb4\\x56\\x2c\\xf0\\x5f\\xb1\\xf2\\xbe\\x67\\xf8\\x60\\xc4\\x49\\x84\\x5d\\xab\\xe3\\xff\\x49\\xbb\\x2a\\x42\\x6d\\xb1\\xa2\\x9a\\xef\\x5d\\xa2\\x66\\xfd\\xd1\\x0b\\x44\\x78\\x45\\x12\\xd9\\x34\\xdb\\xff\\x83\\xaf\\xd0\\x97\\x67\\xf5\\xf9\\xf8\\x3a\\xbe\\x05\\xb6\\xf1\\x22\\xda\\xf6\\xa6\\x91\\x71\\xef\\xfa\\xe6\\xe3\\xe3\\xc7\\xe4\\xc5\\x21\\xac\\x9f\\xb2\\xba\\xb4\\xb8\\x49\\xd4\\xef\\x17\\xf6\\x81\\x7b\\x3d\\x5c\\x3f\\x89\\x85\\x85\\xe4\\x2e\\x75\\xb6\\xad\\x08\\xf9\\x6a\\x6f\\x8d\\x94\\xa1\\x99\\x8c\\x0f\\xe8\\x82\\xa8\\x7f\\x5f\\x9c\\xbe\\x01\\xc7\\x85\\x70\\xc0\\xaa\\xe3\\x2d\\x72\\xb0\\x90\\x93\\x22\\xba\\x82\\x18\\x5f\\xad\\x97\\x10\\xc1\\x24\\x65\\x70\\xbe\\x10\\x21\\x4d\\x91\\x2f\\x85\\xa8\\x4e\\x5b\\xf5\\x52\\xe4\\x43\\x21\\x42\\xbb\\x21\\x9b\\x85\\x08\\xa3\\x2d\\xbc\\x18\\x61\\x7c\\x04\\x65\\x24\\x63\\x22\\x55\\xf9\\x89\\x10\\x51\\x8d\\x90\\x13\\x42\\x44\\x47\\x23\\xd8\\x8b\\x3e\\x23\\x44\\x0c\\x3a\\x62\\xb0\\x17\\x83\\xbe\\x58\\x70\\xc4\\x62\\x3f\\x0e\\x1d\\x71\\xe8\\x8c\\xc7\\x56\\x8d\\x10\\x04\\xdb\\x35\\xbc\\xc8\\x0f\\x42\\xd4\\x64\\x5c\\x4d\\xfc\\xaa\\xc9\\x73\\x82\\x1b\\xc1\\xaf\\x84\\x9d\\x08\\xef\\xb5\\xea\\x23\\xb9\\x08\\x98\\x6a\\xa3\\xb3\\x0e\\x63\\xeb\\xd0\\xd7\\x39\\x94\\xa3\\xbb\\x0d\\xb9\\x43\\x88\\x44\\x74\\x25\\x62\\x23\\xc9\\x85\\x10\\xd7\\xa4\\xdf\\x84\\x48\\xc6\\x6e\\x5d\\xe8\\xaa\\xcb\\xb8\\x14\\xca\\x94\\xed\\x24\\x19\\xfe\\xa4\\x62\\xb3\\x1e\\x1c\\xd4\\x03\\x7b\\x7d\\xca\\xfa\\xd4\\x37\\xa8\\x85\\xe0\\x4f\\x83\\x6b\\x42\\x34\\x44\\x97\\x5a\\x31\\xd2\\xc0\\xd1\\x08\\x5b\\x8d\\xe0\\xaf\\x11\\x7d\\x1a\\xc1\\x6f\\x63\\xb8\\x6d\\x82\\xbd\\x74\\xfa\\xa7\\x1f\\x37\\x7e\\xc5\\x26\\x9a\\xe1\\x77\\x33\\xf0\\x35\\xc7\\x4e\\x06\\x98\\x32\\xd0\\xdb\\x82\\xf1\\x2d\\xc0\\xdd\\x12\\x00\\x2d\\x89\\x49\\x4b\\xb8\\x6e\\x05\\x27\\xad\\x0e\\x0b\\x91\\x89\\x6f\\x99\\xe0\\x6f\\xdd\\x0e\\x41\\x6f\\x6b\\x9e\\xdb\\x80\\xbb\\x0d\\xf5\\x6d\\xc0\\xdd\\x76\\x06\\x42\\xbf\\xb6\\xf8\\x7e\\x0b\\x7d\\x6e\\x81\\xb3\\x5b\\xc0\\xd5\\x8e\\x3e\\xed\\xf0\\xa9\\x1d\\x1c\\xb4\\x5b\\x8e\\xe0\\x47\\x7b\\xb8\\x6c\\x0f\\xee\\xf6\\x60\\x6c\\x0f\\xb6\\xf6\\xd8\\xee\\x00\\xa6\\x0e\\xd8\\xed\\x80\\xaf\\x1d\\xe0\\xb5\\xc3\\x6a\\x21\\xb2\\x88\\x51\\x16\\x18\\xb3\\xd0\\x9d\\x05\\x3f\\x59\\xe8\\xcf\\x3a\\xcb\\x25\\x07\\xfe\\xdc\\x03\\x84\\xe8\\x08\\xde\\x8e\\xd8\\xea\\x08\\x1f\\x1d\\xc1\\xd1\\x11\\xbc\\x1d\\x89\\x75\\x27\\xb8\\xe8\\x8c\\xaf\\x9d\\x69\\xeb\\x8c\\x6f\\x9d\\xf1\\xbd\\x33\\xf9\\xd0\\x19\\xdf\\x3b\\x13\\xdb\\x2e\\xe0\\xca\\xc6\\xff\\x6c\\x7c\\xcb\\x46\\x4f\\x36\\xfa\\xb3\\xd1\\x9f\\x0d\\x96\\x6c\\x70\\x67\\xe3\\x4f\\x0e\\xe3\\x73\\xb0\\xa5\\xfe\\xd5\\xfe\\xae\\xf8\\xd0\\x15\\x5e\\xbb\\x62\\xa7\\x2b\\x7c\\x75\\xc5\\xff\\x6e\\xb4\\x77\\x43\\x57\\x77\\xb0\\x74\\x07\\x77\\x77\\x7c\\xec\\x8e\\x8f\\xdd\\x97\\x08\\xd1\\x03\\x0e\\x7b\\x80\\xa1\\x07\\x3e\\xf6\\xc0\\x8f\\x1e\\x70\\xd5\\x83\\xfc\\xea\\x41\\x2c\\x7a\\xd2\\xbf\\x27\\xed\\x3d\\xf1\\xb3\\x27\\x7e\\xf6\\x84\\x93\\x9e\\x70\\xd2\\xf3\\x34\\x72\\x59\\x88\\x5e\\xe0\\xea\\x05\\xf7\\xbd\\xc0\\xd8\\x9b\\x38\\xf6\\x86\\xcf\\x3e\\xd4\\xf5\\x01\\x6b\\x1f\\x78\\xeb\\xc3\\xbc\\xe9\\x83\\x2f\\x7d\\xe0\\xa2\\x0f\\x3a\\xfb\\xa0\\xb3\\x2f\\xd7\\xc1\\xbe\\x04\\xb5\\x2f\\xbe\\xf4\\xc5\\x97\\xbe\\xf8\\xd2\\x17\\x5f\\xfa\\xc2\\x6b\\x5f\\xf4\\xe4\\x32\\x3e\\x97\\xf1\\xb9\\x8c\\xef\\x47\\xdf\\x7e\\xd8\\xeb\\x8f\\x2f\\xfd\\xe1\\xac\\x3f\\xbe\\xf4\\x7f\\x0d\\xf9\\x4a\\x88\\x3c\\xec\\xe5\\xc1\\x79\\x1e\\xbe\\xe4\\xc1\\x5b\\x1e\\xbe\\xe6\\xc1\\xe7\\x00\\x7c\\x19\\x00\\x17\\x03\\xc1\\x3e\\x10\\x5f\\x07\\xc2\\xeb\\x40\\x6c\\x0d\\x84\\xef\\x81\\xb4\\x0f\\x02\\xef\\x20\\xe2\\x34\\x08\\xff\\x07\\xe1\\xcf\\x20\\x74\\x0e\\x02\\xdf\\x20\\xf0\\x0d\\xa6\\x6d\\x30\\x58\\x06\\x83\\x05\\xf3\\x22\\x9f\\x98\\xe5\\x83\\x35\\x9f\\xf1\\xf9\\x60\\xcd\\x07\\xab\\x07\\x2e\\x3c\\xd8\\x1f\\x82\\xfd\\x21\\xd8\\x1f\\x82\\xae\\x21\\x70\\x37\\x84\\xfc\\x18\\xc2\\xd8\\x02\\x7c\\x1e\\x8a\\xee\\xa1\\xe8\\x1e\\xca\\xfc\\x1a\\xca\\xbc\\x1d\\x8a\\xbe\\x61\\xe8\\x1b\\x46\\x6c\\x86\\x81\\x77\\x18\\x2b\\xe4\\x30\\xb8\\x1f\\x06\\xa6\\x61\\xc4\\x79\\x18\\x71\\x1c\\x86\\xef\\xc3\\x89\\xd3\\x70\\x7c\\x1f\\x8e\\x0f\\xc3\\xd1\\x39\\x1c\\x9d\\xc3\\xa9\\x1f\\xc1\\xda\\x33\\x02\\x3d\\x23\\x88\\x61\\x21\\xeb\\x42\\x21\\x31\\x29\\xa4\\x4f\\x21\\x31\\x29\\x24\\x5e\\x85\\x8c\\x2f\\xa4\\x5f\\x11\\xfa\\x8b\\xf0\\xa1\\x08\\x4c\\x45\\xe0\\x2d\\x62\\x7c\\x11\\x98\\x8a\\x68\\x2f\\xa2\\x7d\\x24\\xed\\x23\\xc9\\x8d\\x91\\xd8\\x1f\\x09\\x9f\\x23\\xb1\\x3f\\x12\\x3e\\x47\\x51\\x3f\\x8a\\xf6\\xd1\\xe8\\x1a\\x8d\\x9d\\x31\\x70\\x39\\x86\\xf8\\x8e\\x05\\xff\\x38\\xfa\\x8f\\x87\\xcb\\xf1\\xe0\\x1c\\x4f\\xdc\\x27\\x40\\xcc\\x04\\xca\\x89\\xe0\\xbf\\x15\\x7e\\x6f\\xa5\\xef\\x24\\x78\\x9a\\xc4\\xb8\\xc9\\x60\\x9f\\xcc\\x98\\x29\\x60\\x9f\\x82\\xbe\\xa9\\x3c\\x4f\\x85\\xdb\\x62\\x74\\x14\\xa3\\x7b\\x1a\\xb8\\xa7\\xe1\\xcb\\x74\\xfa\\x4f\\xa7\\xbe\\x04\\x6e\\x4b\\x68\\x2b\\x01\\x6f\\x09\\xfd\\x67\\x80\\x67\\x26\\xf1\\x9a\\x49\\x2c\\x6e\\x03\\xe3\\x2c\\x70\\xcd\\x22\\x3e\\xb3\\xe1\\x7f\\x36\\xed\\x73\\xe0\\x7c\\x0e\\x38\\xe6\\xe2\\xf7\\x5c\\xec\\xdd\\x0e\\xcf\\xb7\\xd3\\xf7\\x0e\\xca\\x79\\xe8\\x9c\\x87\\x8d\\x3b\\x19\\x7f\\x27\\x7a\\xe6\\xc3\\xcf\\x7c\\xda\\x4a\\xc9\\x8d\\x52\\xe2\\xb5\\x80\\x79\\x75\\x17\\xdc\\xdd\\x85\\xdd\\xbb\\xa9\\xbb\\x9b\\x5c\\x5d\\x08\\xf6\\x45\\x60\\x5a\\x04\\xce\\x45\\xf8\\xb4\\x18\\x3f\\x17\\xd3\\x6f\\x31\\xb1\\xbb\\x07\\x3f\\x97\\xe0\\xdf\\xbd\\xf8\\x74\\x2f\\xfa\\x96\\x82\\x73\\x29\\xf9\\xbb\\x8c\\x7c\\x5e\\x0e\\xb6\\x15\\xe4\\xc1\\x0a\\x70\\xac\\xa0\\xef\\x0a\\x72\\x74\\x05\\xe3\\x57\\xc0\\xd9\\x4a\\xf2\\x77\\x25\\x31\\x58\\xc9\\xf8\\x95\\xe8\\x5f\\x89\\xbd\\x95\\xc4\\x6d\\x15\\xb9\\xbc\\x8a\\xfa\\x55\\x8c\\x5d\\xc5\\x98\\x55\\xc4\\x65\\x15\\xdc\\xaf\\x02\\xc7\\x6a\\xec\\xac\\x46\\xdf\\x6a\\x62\\xb2\\x1a\\x5b\\xab\\xc9\\xd3\\x35\\xf0\\xbb\\x96\\x5c\\x5a\\x8b\\xbd\\xb5\\xe8\\x58\\x4b\\x4e\\xaf\\x43\\xe7\\x3a\\xb8\\x5d\\x47\\xdb\\x3a\\x6c\\xae\\x23\\xae\\xeb\\xe0\\x65\\x3d\\x79\\xb3\\x1e\\xbf\\xd7\\x93\\x67\\xf7\\x61\\xf3\\x7e\\xfc\\xbb\\x5f\\x95\\x70\\xbd\\x01\\xfc\\x1b\\xb0\\xb5\\x81\\xb6\\x0d\\xf4\\x7d\\x00\\x7b\\x0f\\xa2\\xf3\\x41\\x78\\x7c\\x10\\x9d\\x9b\\xf0\\x79\\x13\\xf6\\x37\\x61\\x7f\\x13\\xfe\\x6c\\x62\\x0d\\xd8\\x04\\x8f\\x9b\\xd0\\xbd\\x89\\xfe\\x9b\\x89\\xc1\\x66\\x72\\x76\\x33\\x1c\\x6f\\x06\\xf7\\x66\\xec\\x6e\\x86\\xd7\\xcd\\xac\\x3b\\x0f\\x61\\xf7\\x21\\x78\\x79\\x08\\x9f\\x1e\\x02\\xd3\\x43\\xf0\\xf8\\x10\\x3c\\x3c\\x04\\x0f\\x5b\\x88\\xc7\\x16\\x30\\x6d\\x61\\xee\\x6e\\xc1\\xaf\\x2d\\xd8\\xdc\\x82\\xde\\x2d\\xf8\\xb6\\x05\\x3e\\x1e\\x06\\xdf\\x56\\xc6\\x6f\\x65\\xfc\\x56\\x70\\x6c\\x23\\x5e\\x8f\\xd0\\xf7\\x51\\xca\\xed\\xd4\\x6f\\xc7\\xd6\\x76\\x6c\\x3c\\xc6\\xf3\\x63\\xe8\\x79\\x8c\\x1c\\x78\\x0c\\x7c\\x8f\\x91\\xd3\\x8f\\x61\\xe3\\x31\\x6c\\x3c\\x4e\\xfe\\x3c\\x4e\\xfd\\xe3\\xe4\\xfa\\xe3\\xcc\\xcd\\xc7\\xc1\\xf5\\x38\\x63\\x9e\\x60\\xcc\\x13\\xd8\\x7a\\x12\\xac\\x4f\\x81\\x7b\\x07\\xe3\\x9e\\x06\\xe3\\xd3\\xb4\\xed\\x84\\xf3\\x67\\xe0\\xf8\\x59\\xfc\\x7e\\x96\\x58\\xef\\xa2\\xcd\\xcb\\xb3\\x17\\x3c\\x5e\\x70\\xec\\x86\\xb3\\x3d\\x60\\xda\\x43\\x4e\\xee\\x35\\x8f\\x02\\x62\\x1f\\x36\\xf7\\x13\\xbb\\xfd\\xd8\\x7c\\x8e\\xbc\\x3b\\x40\\xdb\\x01\\x72\\xaa\\x0c\\xdd\\x07\\x89\\xf7\\x41\\xf4\\x1e\\x62\\xdc\\xf3\\x70\\x78\\x18\\xdb\\x87\\xc9\\xd9\\x23\\xe8\\x3d\\x0a\\xee\\x63\\xe4\\xec\\x31\\xda\\x8e\\x33\\xfe\\x05\\xec\\xbc\\x40\\xff\\x17\\xe0\\xfb\\x45\\xf8\\x79\\x11\\x5d\\x2f\\x61\\xeb\\x04\\x31\\x3a\\x01\\xc7\\x27\\xf0\\xeb\\x65\\x74\\xbf\\xc2\\xba\\xf2\\x0a\\x18\\x5f\\xa5\\xed\\x55\\x62\\xf0\\x1a\\x31\\x79\\x8d\\xb8\\xbd\\x8e\\xfe\\x37\\xd0\\xf1\\x06\\x7e\\xbd\\x89\\xde\\x37\\xe9\\xf3\\x16\\x7e\\x9d\\xc4\\xe6\\xdb\\xe0\\x7c\\x9b\\xf7\\x53\\xf0\\x71\\x0a\\xd0\\xa7\\xd0\\x7d\\x1a\\x0e\\xdf\\x41\\xc7\\x3b\\x60\\xfd\\x07\\xb9\\xf3\\x0f\\x7c\\x7f\\x97\\xf2\\x5d\\xca\\x33\\xe0\\x3b\\x43\\x5e\\xbd\\x07\\x9e\\xf7\\xe8\\xf7\\x3e\\xe3\\xdf\\xa7\\xdf\\x07\\xe4\\xce\\x07\\xf8\\xf9\\x21\\xb9\\xf7\\x11\\xfc\\x7e\\x84\\xae\\x7f\\x82\\xef\\x9f\\xf8\\xf8\\x31\\xfa\\x3f\\x26\\x97\\x48\\x25\\xf1\\x09\\x7c\\x7d\\x42\\xdd\\xa7\\xe8\\xff\\x14\\x7d\\x9f\\xc1\\xc5\\x67\\x60\\xfd\\x9c\\xe7\\xb3\\xf8\\x72\\x96\\xfc\\xfa\\x82\\xb6\\x2f\\x18\\x7f\\x0e\\x9f\\xce\\x11\\xdb\\xf3\\x60\\x3e\\x8f\\x8f\\xe7\\xe1\\xf9\\x4b\\xf2\\xe5\\x4b\\xca\\x0b\\xf0\\x70\\x81\\x7c\\xb8\\xc8\\x7b\\x39\\x7e\\x97\\x63\\xfb\\x5f\\xe8\\xff\\x9a\\xfa\\xaf\\xd1\\xf7\\x0d\\x7d\\x2e\\x51\\x7e\\x4b\\xf9\\x1d\\x3c\\x7c\\x07\\x0f\\xdf\\x13\\xeb\\x1f\\xd0\\xf5\\x03\\x78\\x7e\\x64\\x3e\\xfc\\x48\\x7e\\xfd\\x44\\xff\\x9f\\x88\\xe7\\x4f\\xf4\\xf9\\x89\\x3e\\x3f\\x53\\xff\\x33\\x40\\x2f\\x93\\x4f\\x97\\xc1\\x70\\x19\\x3e\\x2e\\x93\\x1f\\x57\\x18\\x77\\x05\\x7c\\x57\\x18\\x73\\x05\\x8c\\x57\\xd0\\xfd\\x0b\\xd8\\x7f\\x21\\xdf\\x7f\\xc1\\xff\\x5f\\xf0\\xe9\\x57\\x70\\xfc\\x0a\\xde\\x5f\\xb1\\xf3\\x2b\\x78\\x7f\\xa5\\xee\\x37\\xe6\\xc1\\x6f\\xf8\\xf1\\x1b\\x36\\x7e\\x23\\xbe\\xbf\\xe1\\xe7\\x6f\\x60\\xfd\\x9d\\x58\\xfe\\x0e\\x67\\xbf\\xc3\\xc7\\xef\\xf0\\xf9\\x3b\\x7d\\xff\\x60\\xfc\\x1f\\xc4\\xe5\\x0f\\xf0\\xfd\\x41\\xbe\\x5f\\x05\\xdb\\x55\\xb8\\x50\\xff\\x2d\\xa2\\x6b\\xc4\\xef\\x1a\\xdc\\x5e\\x03\\x4f\\x05\\xdc\\x57\\x10\\xaf\\x8a\\x33\\xe6\\xbf\\xdf\\xaa\\xce\\xcb\\xc6\\xbf\\x73\\x8a\\x1e\\x1f\\x9c\\xf8\\x19\\xe7\\x07\\xbf\\xbf\\xd4\\xfa\\xfb\\x2f\\x67\\x84\\x14\\x21\\x88\\xfa\\xda\\x79\\x07\\xf2\\xa1\\x90\\x92\\x77\\xc9\\xbb\\x9c\\x84\\x6c\\x46\\x2e\\x0b\\xa9\\xd5\\x45\\x78\\xd7\\xf6\\x09\\xa9\\x47\\x23\\xf9\\xc8\\x12\\xa4\\x0c\\xf9\\x4a\\x48\\x5b\\x3c\\x92\\x8b\\xa0\\xc3\\x46\\x9d\\xed\\x4b\\x21\\xed\\xe1\\x48\\x2f\\xc4\\x8b\\x60\\xc7\\xfe\\x9b\\x90\\x01\\xe8\\x0d\\x18\\x8f\\x6c\\x47\\xd0\\xeb\\xa0\\xdd\\xf1\\x00\\x72\\x1a\\xe1\\x3d\\xb0\\x11\\x52\\x8c\\xf0\\x1e\\x84\\xce\\x20\\x74\\x06\\x61\\x27\\xe8\\x35\\x21\\xab\\x71\\x84\\xae\\x46\\x7b\\xb5\\xa1\\xc8\\x6a\\xe4\\x04\\xf2\\x83\\x90\\xc1\\xf5\\x91\\xd1\\x08\\x7a\\x82\\xdf\\x12\\x32\\x04\\xbb\\x21\\x2d\\x10\\xf4\\x84\\x80\\x37\\xe4\\x13\\x21\\xab\\xa3\\xab\\x3a\\xef\\xd5\\x9f\\x44\\xc0\\x11\\x0a\\x8e\\x50\\xc6\\x84\\x32\\x26\\x8c\\xfe\\x61\\xdd\\x90\\x52\\x04\\x3b\\xe1\\xf8\\x1f\\x8e\\xaf\\xe1\\xd8\\x08\\x67\\x7c\\xf8\\x25\\x21\\x23\\xc0\\xc9\\x19\\x5a\\x46\\xac\\x47\\x0e\\x23\\xf8\\x17\\xe9\\x42\\x06\\x20\\xcb\\x11\\xb0\\x47\\x75\\x41\\xd0\\x17\\x85\\xaf\\x84\\x41\\x46\\x37\\x45\\x78\\x8f\\xc6\\x97\\x18\\xf8\\x8b\\xc1\\x5e\\x0c\\x7c\\xc6\\xd0\\x1e\\x1b\\x88\\xb4\\x46\\xe0\\x2a\\x0e\\xdb\\xf1\\x36\\x04\\x4c\\xf1\\xd8\\x48\\x80\\x43\\xce\\xd1\\x32\\x01\\x5e\\x6b\\xa1\\xb3\\x16\\x38\\x6a\\x61\\xb3\\x16\\xef\\xb5\\xe9\\x53\\x9b\\xf6\\xda\\xe0\\xaa\\x8d\\x1f\\x75\\xd0\\x5f\\x07\\xfd\\x4e\\x7c\\x70\\xc2\\x95\\x73\\x06\\x42\\x1d\\x67\\x6c\\xe9\\x42\\x2f\\xe7\\x6c\\xe9\\x62\\xbc\\x0b\\xbe\\x5d\\x8c\\x77\\x5d\\x13\\x32\\x91\\xbe\\x89\\xb3\\x11\\x70\\x27\\xd1\\x2f\\x09\\x6e\\x92\\x78\\x4f\\x52\\xef\\x5b\\x11\\x7c\\x49\\x06\\x6f\\x32\\xbe\\x25\\x13\\xab\\x64\\xda\\xea\\xc2\\x67\\x5d\\x78\\xac\\x0b\\x17\\x29\\xf8\\x9d\\x02\\x57\\x9c\\xcd\\x65\\x0a\\x7c\\xa7\\x10\\x83\\x54\\xfa\\xa4\\xe2\\x5b\\xea\\x71\\x21\\xeb\\x11\\x8f\\x7a\\xf4\\xab\\x8f\\x9d\\xfa\\xf4\\xad\\x0f\\x0f\\xf5\\xf1\\xbd\\x3e\\xb9\\x55\\x1f\\x0c\\xf5\\xc1\\xdd\\x00\\xff\\x1b\\xe0\\x7b\\x03\\xf8\\x6e\\x40\\x7d\\x43\\xfa\\x35\\xa4\\x5f\\x43\\xfc\\x6b\\x88\\xde\\x86\\xf8\\xd7\\x10\\xac\\x69\\xc4\\x22\\x0d\\x9f\\xd2\\x16\\x22\\x70\\xdf\\x88\\xbc\\x6b\\x04\\xa6\\x46\\xd8\\x6c\\x8c\\x5f\\x8d\\xe9\\xd7\\x98\\xf1\\x8d\\xd1\\xd9\\x04\\x3f\\x9a\\xc0\\x69\\x13\\xfa\\x70\\xde\\x97\\xe9\\xf8\\x90\\x8e\\xbd\\xa6\\xe8\\x6c\\x7a\\x56\\xc8\\x66\\xf8\\xd6\\x9c\\xe7\\xe6\\x60\\xcc\\x20\\xbe\\x19\\x60\\xe7\\xdc\\x2f\\x5b\\x80\\xad\\x05\\x3e\\xb7\\x6c\\x27\\x64\\x2b\\x70\\xb4\\x02\\x47\\x2b\\xda\\x32\\x0b\\x11\\xea\\x5b\\x63\\xbb\\x35\\x58\\xda\\xd0\\xaf\\x6d\\x2d\\x04\\x1c\\xb7\\x60\\x8b\\x33\\xbe\\xe4\\x8c\\x2f\\x39\\xe3\\xcb\\x76\\xe8\\x6d\\x47\\xff\\x76\\xf0\\xd2\\x1e\\xde\\x3a\\xf0\\xde\\x01\\x6c\\x59\\xc4\\x20\\x0b\\x5b\\x59\\xe0\\x71\\x53\\xd7\\x11\\x7f\\x3a\\x12\\x9f\\x4e\\xcc\\xa1\\x4e\\xf0\\xcd\\x19\\x5d\\x72\\x36\\x37\\xfe\\x75\\xb7\\x2e\\xcc\\x93\\x2e\\xf8\\x91\\x8d\\x5f\\x39\\xf4\\xcb\\x21\\xae\\x5d\\xc1\\xdc\\x0d\\xfd\\xdd\\xc8\\x87\\xee\\xe0\\xea\\xc1\\x38\\xce\\xd2\\xb2\\x27\\x73\\xa2\\x17\\x63\\x7b\\x81\\xaf\\x37\\xcf\\x7d\\xe8\\xd3\\x87\\xbe\\x7d\\xe1\\xb5\\x2f\\x7d\\x73\\xc1\\x92\\x4b\\x2e\\xe5\\x82\\x27\\x17\\x7d\\x9c\\x7b\\x65\\x3f\\xec\\xf5\\xc3\\x56\\x3f\\xda\\xfb\\x91\\x4f\\xfd\\xf1\\xa1\\x3f\\x75\\x79\\xe0\\xca\\x23\\x77\\xf2\\xf0\\x33\\x8f\\x98\\xe4\\xc1\\x09\\x4b\\x88\\x1c\\x40\\x1f\\xce\\xbd\\x72\\x20\\xfa\\x07\\x82\\x99\\xf3\\xae\\xe4\\xbc\\x2b\\x07\\xd2\\x3e\\x08\\x5b\\x83\\xc1\\xc3\\xd9\\x56\\x72\\xb6\\x95\\x6c\\x01\\x32\\x1f\\xbe\\xf3\\xd1\\x91\\x0f\\x3f\\x1e\\x70\\x7a\\x78\\xf7\\x90\\x37\\x1e\\x78\\xf0\\x30\\x57\\x87\\x90\\x23\\x05\\xe4\\x73\\x01\\x18\\x0a\\x88\\xc1\\x50\\xda\\x86\\xa2\\x73\\x28\\x3a\\x86\\x92\\x07\\x43\\xe1\\x73\\x18\\x98\\x86\\x91\\x3f\\xc3\\x88\\xe3\\x30\\xb8\\x1b\\x06\\x27\\x9c\\x67\\xe5\\x30\\xb8\\x18\\x8e\\xbe\\xe1\\xf8\\x32\\x1c\\x4c\\x23\\xe0\\x78\\x04\\x3c\\x14\\xb2\\x16\\x14\\xd2\\x56\\x04\\xc6\\x91\\x8c\\x19\\x49\\xdf\\x91\\xbc\\x8f\\x82\\xef\\xd1\\xe8\\x19\\x0d\\x0f\\xa3\\xc9\\x81\\xd1\\xf0\\x3a\\x06\\x1c\\x63\\x89\\xe1\\x58\\xb0\\x8c\\x65\\xfe\\x8e\\x63\\xec\\x38\\xec\\x8e\\xa7\\xcf\\x78\\xea\\xc6\\xa3\\x6f\\x02\\xf1\\x9d\\xc0\\x1a\\x33\\x01\\x6e\\x27\\xc0\\xdd\\x04\\xec\\x4d\\x04\\xf3\\x44\\xec\\x4d\\x64\\xfc\\xad\\xf0\\x7c\\x2b\\x7e\\xdc\\xca\\xf8\\x49\\x8c\\x9b\\x44\\x39\\x19\\xee\\x26\\x13\\x87\\x29\\x70\\x32\\x95\\xb1\\x53\\x59\\x2b\\xa6\\xc2\\x7d\\x31\\x78\\x8a\\xb1\\x51\\x8c\\xed\\x69\\xc4\\x65\\x1a\\xbe\\x4d\\x43\\xef\\x34\\xda\\xa7\\x51\\x37\\x1d\\xae\\x4a\\xc0\\x58\\x82\\x9f\\x25\\xe4\\x74\\x09\\x3e\\x94\\xc0\\xe5\\x0c\\xe2\\x33\\x13\\x5f\\x67\\xc2\\xff\\x6d\\xf4\\x9d\\x45\\x2e\\xcc\\x82\\xf7\\xd9\\xc4\\x69\\x36\\x6d\\x73\\x28\\xe7\\xe0\\xe3\\x5c\\x6c\\xdc\\x8e\\xde\\xdb\\xc1\\x7e\\x07\\x98\\xe6\\xe1\\xfb\\x7c\\x6c\\xcc\\x07\\x47\\x29\\x38\\x39\\xa3\\xca\\x05\\xf4\\xbf\\x8b\\x58\\xdc\\x05\\x1f\\x77\\xd3\\x76\\x37\\x3a\\x17\\x62\\x77\\x11\\x3e\\x2d\\x46\\xef\\x62\\xc6\\xde\\x03\\x96\\x7b\\xd1\\x73\\x2f\\xd8\\xef\\xc5\\x97\\x7b\\xd1\\xbd\\x14\\x4c\\x4b\\x89\\xcb\\x32\\xf2\\x66\\x19\\xf9\\xbb\\x0c\\x3d\\xcb\\xf0\\x75\\x39\\x3e\\xad\\x40\\xd7\\x4a\\x70\\xae\\x82\\x9f\\xd5\\xd8\\x59\\x0d\\x2f\\x6b\\xd0\\xb7\\x86\\xf8\\xad\\xa5\\xdf\\x5a\\xe6\\xfe\\x3a\\xfc\\xe2\\x4c\\x29\\xd7\\x81\\x61\\x3d\\xe5\\x7d\\xf0\\x7a\\x1f\\x71\\xbb\\x9f\\xf6\\x0d\\x70\\xfa\\x00\\xd8\\x1f\\xc0\\xee\\x46\\x74\\x3d\\x08\\xae\\x07\\xc9\\x83\\x4d\\x70\\xb3\\x09\\xdb\\x9b\\xc1\\xb0\\x19\\x7f\\x1f\\xc2\\x16\\xe7\\x3f\\xb9\\x05\\x9c\\x5b\\xf0\\xef\\x61\\x6c\\x3d\\x8c\\x8f\\x5b\\x59\\x1f\\xb6\\xe1\\xc3\\x23\\xb4\\x3f\\x82\\xad\\x47\\xb1\\xfd\\x28\\x39\\xf5\\x28\\x7d\\xb7\\xb3\\x9e\\x6d\\x87\\xcb\\xed\\x60\\x79\\x0c\\x1f\\x1e\\xc3\\xdf\\xc7\\xc1\\xf2\\x38\\x39\\xf9\\x04\\x3c\\x3c\\x41\\xf9\\x24\\xdc\\x3e\\x09\\xe6\\xa7\\xd0\\xf7\\x14\\x39\\xfc\\x14\\x38\\x76\\xe0\\xeb\\xd3\\xe0\\xda\\x49\\x4c\\x77\\x82\\x6d\\x27\\xfd\\x76\\x52\\xf7\\x0c\\x6b\\xc9\\x33\\xb4\\x73\\xae\\x93\\xbb\\xc8\\xf1\\x5d\\xd8\\xf5\\xc2\\x95\\x97\\x3e\\x5e\\xf8\\xd8\\x4d\\x3e\\xed\\xa6\\xdc\\x03\\xbe\\xbd\\xd8\\xde\\x8b\\x8d\\xbd\\xe0\\xda\\xcb\\xb8\\xbd\\x8c\\xd9\\x4b\\x2c\\xf6\\x92\\xc3\\x7b\\xc1\\xbd\\x97\\x7e\\xfb\\xe8\\xb3\\x8f\\x3e\\xfb\\xc0\\xb0\\x0f\\x7c\\xfb\\xe0\\x76\\x1f\\x76\\xf7\\x81\\x67\\x1f\\x98\\xf7\\xb1\\x9e\\xec\\xc7\\xc6\\x7e\\xec\\xef\\xc7\\xfe\\x7e\\x78\\x7e\\x0e\\xbb\\xcf\\xd1\\xff\\x39\\xfa\\x3f\\x47\\xff\\x03\\xbc\\x1f\\x80\\xaf\\x03\\x70\\x74\\x80\\x75\\xb0\\x0c\\x7d\\x65\\xd8\\x2c\\x23\\xd7\\xca\\x88\\x49\\x19\\xfc\\x94\\x91\\xd7\\x65\\x70\\x73\\x90\\xf8\\x1d\\x64\\x9e\\x1d\\x04\\xcf\\x41\\xea\\x0f\\xd2\\xff\\x10\\xfd\\x0f\\xd1\\xff\\x10\\x5c\\x3f\\x8f\\xbe\\xe7\\xa9\\x3b\\xcc\\x1a\\x7b\\x98\\x92\\x33\\xa6\\x3c\\xc2\\x3c\\x38\\x02\\xd6\\xa3\\xac\\x0d\\xc7\\xc8\\xfb\\xe3\\xf8\\x7b\\x1c\\xfc\\x2f\\xc0\\xeb\\x8b\\xe8\\x7b\\x11\\xac\\x2f\\x51\\xff\\x12\\x7d\\x4e\\xe0\\xe3\\x09\\xfa\\x9d\\x80\\xff\\x97\\x89\\xe3\\xcb\\xe0\\x7e\\x85\\xfc\\x7c\\x85\\x18\\xbe\\x42\\xfb\\xab\\xf0\\xf2\\x2a\\xf1\\x7f\\x95\\xf5\\xe3\\x55\\x30\\xbf\\x8a\\x4f\\xaf\\xe1\\xcb\\x6b\\xaa\\x84\\xd7\\xd7\\xd1\\xf9\\x3a\\x39\\xf2\\x06\\x31\\x7a\\x83\\x31\\x6f\\x90\\x23\\x6f\\xd2\\xfe\\x26\\x79\\xff\\x26\\x78\\xdf\\xe4\\xfd\\x2d\\x72\\xe7\\x2d\\xf4\\x9c\\x24\\x3f\\x4e\\x52\\xc7\\xb9\\x54\\xbe\\xcd\\xb8\\xb7\\xd1\\xf9\\x36\\x7e\\xbe\\x0d\\x67\\xa7\\x18\\x7b\\x0a\\x3b\\xa7\\xe0\\xe4\\x34\\xfe\\x9e\\x86\\xf7\\xd3\\xf8\\xf1\\x0e\\xb9\\xf3\\x0e\\xbc\\xbd\\x03\\xb7\\xff\\xa0\\xfe\\x1f\\x8c\\x79\\x97\\xb1\\xef\\xa2\\xf7\\x0c\\x31\\x3c\\x03\\xa6\\xf7\\x88\\x09\\xe7\\x55\\xf9\\x1e\\x98\\xde\\x03\\xf3\\xfb\\xcc\\x83\\xf7\\x89\\xeb\\xfb\\xe0\\xfb\\x80\\x31\\x1f\\xc0\\xdd\\x07\\xf8\\xf9\\x01\\x7d\\x3f\\x80\\xb3\\x0f\\xd1\\xf9\\x21\\x39\\xf7\\x21\\x71\\xfb\\x10\\xfb\\x1f\\x81\\xe7\\x23\\xf2\\xe6\\x23\\xde\\xff\\x09\\x3f\\xff\\xa4\\xef\\xc7\\xd4\\x7d\\x4c\\x9f\\x8f\\xc9\\xc9\\x8f\\xb1\\xfd\\x09\\x7c\\x7f\\x82\\xed\\x4f\\xd1\\xfd\\x29\\xfa\\x3e\\xa5\\xfe\\x33\\xf8\\xfa\\x0c\\xcc\\x9f\\xc1\\xfb\\xe7\\xd8\\xff\\x1c\\xfb\\x67\\xf1\\xf5\\x2c\\xfc\\x7e\\x81\\x8d\\x2f\\xd0\\x73\\x8e\\xf2\\x1c\\xbe\\x9f\\x03\\xd7\\x79\\x6c\\x9c\\xa7\\xed\\x4b\\x78\\xf8\\x12\\xbb\\x5f\\x52\\x77\\x01\\x3b\\x17\\x18\\x73\\x01\\x5b\\x17\\x88\\xfd\\x05\\xf0\\x5d\\x24\\x0f\\xca\\xc1\\xff\\x15\\x71\\xfe\\x0a\\x2e\\xbf\\x22\\x9f\\xfe\\xc5\\xf3\\xbf\\xd0\\xf3\\x35\\x3c\\x7f\\x8d\\xad\\xaf\\xe1\\xfc\\x6b\\xfc\\xfb\\x06\\x2c\\xdf\\xa0\\xeb\\x12\\x3a\\x2e\\x81\\xed\\x12\\xba\\x2f\\xc1\\xdd\\xb7\\x70\\xf2\\x2d\\x5c\\x7f\\x47\\x5e\\x7c\\xcf\\x3c\\xf9\\x5e\\x95\\xf4\\xfb\\x81\\xf9\\xf2\\x03\\xed\\x3f\\x82\\xeb\\x47\\x62\\xf4\\x23\\xb6\\x7e\\x64\\x0d\\xf9\\x89\\x7c\\xf8\\x89\\x7c\\xfb\\x89\\x58\\xfc\\x4c\\xdb\\xcf\\xe8\\xfb\\x99\\x7e\\x9c\\x95\\xe5\\x65\\xd6\\xc6\\x2b\\xd8\\xbd\\x02\\x07\\x57\\xc0\\x70\\x05\\x9f\\x7f\\xa1\\xcf\\x2f\\x3c\\x73\\x46\\x96\\xbf\\xa2\\xe3\\x57\\x38\\xf8\\x0d\\x5c\\xbf\\x51\\xfe\\x4e\\xbc\\x7e\\x67\\xec\\x1f\\x8c\\xf9\\x03\\xec\\x7f\\x30\\x7f\\xae\\xd2\\xff\\x2a\\x3e\\x5d\\x85\\xc3\\x6b\\xf8\\x72\\x8d\\x3c\\xbd\\x06\\x9e\\x0a\\xf0\\x56\\xa0\\xc3\\x47\\xce\\xf9\\xe0\\xcf\\x87\\x4f\\x7e\\x7c\\xf2\\xbf\\x25\\x34\\xb1\\x5e\\x68\\x6c\\x4c\\x9a\\xbc\\x24\\x34\\xed\\x4b\\xa1\\xe9\\xa5\\x42\\xe3\\x9c\\xaa\\xd9\\x1e\\x10\\x9a\\xbd\\x16\\x72\\x58\\x68\\x01\\x03\\x84\\xe6\\xa0\\xce\\x41\\x3f\\xc7\\x3e\\xa1\\x05\\x16\\x22\\xbf\\x09\\x2d\\x88\\x32\\xe8\\xb4\\xd0\\xaa\\xd1\\xaf\\xda\\x24\\xa1\\x05\\x87\\x23\\x77\\x20\\x97\\x85\\x16\\xd2\\x4b\\x68\\xd5\\x05\\xd2\\x05\\x39\\x2b\\xb4\\xd0\\x25\\xc8\\x66\\xa1\\x85\\xd5\\x47\\xb0\\x1b\\xde\\x0d\\x19\\x8f\\x50\\x1f\\xfe\\x24\\xf2\\x9a\\xd0\\x38\\x3b\\x6a\\x11\\x94\\x91\\xe8\\x8d\\x04\\x47\\xe4\\x56\\xa1\\x45\\xcd\\x16\\x5a\\xf4\\x42\\xa1\\xc5\\xd0\\x2f\\x76\\xb4\\xd0\\xe2\\x76\\x0a\\x2d\\x7e\\xbb\\xd0\\x6a\\x80\\xa3\\xe6\\x6a\\xa1\\x25\\xa0\\xbf\\x16\\x3a\\x6b\\x47\\x23\\x67\\x84\\x56\\xc7\\x2b\\x34\\xa7\\x0d\\x01\\xb7\\x8b\\xbe\\x89\\x60\\xe0\\x2c\\xa7\\x25\\x51\\x26\\x31\\x2e\\x19\\x9c\\x75\\x19\\x93\\x52\\x17\\x01\\x47\\x2a\\x58\\xeb\\x61\\xab\\x1e\\xbe\\xd7\\xff\\x44\\x68\\x0d\\xf0\\xbb\\x21\\x36\\xd3\\x18\\x93\\xf6\\x95\\xd0\\x1a\\x31\\xa6\\x31\\xfa\\x1b\\x97\\x09\\x8d\\x73\\x93\\x96\\xee\\x16\\x5a\\x53\\xc6\\x36\\x0b\\x44\\xb0\\xd7\\x1c\\x1c\\x19\\x70\\xd8\\x02\\xbd\\x2d\\x7e\\x10\\x5a\\x4b\\xde\\x5b\\xc1\\x53\\x26\\x78\\x32\\x69\\x6f\\x8d\\x4f\\xad\\xf1\\xbf\\x0d\\x7a\\xdb\\xc2\\x63\\x5b\\x78\\xbe\\x85\\xf6\\x5b\\xb0\\x7d\\x0b\\xf6\\xda\\x51\\xd7\\x0e\\xdd\\xed\\xb0\\xdf\\x1e\\x9b\\xed\\xf1\\xbd\\x3d\\x76\\x3b\\x60\\xab\\x03\\xfe\\x75\\x38\\x21\\xb4\\x2c\\x78\\x70\\xe7\\x22\\x60\\xed\\x88\\xad\\x8e\\xd8\\xe9\\x04\\xcf\\x9d\\xc1\\xd1\\x19\\x7d\\x5d\\x68\\xeb\\xf2\\xa1\\xd0\\xb2\\xe1\\x29\\x87\\xba\\x1c\\xfc\\xc9\\x41\\x5f\\x57\\x70\\x77\\xc5\\x7e\\x57\\x9e\\xbb\\xe1\\x53\\xb7\\x6b\\x42\\xeb\\x0e\\x8f\\xdd\\xd1\\xdf\\x83\\xf8\\xf4\\x20\\x76\\x3d\\xe9\\xd3\\x13\\x3c\\x9c\\x95\\xb4\\x9e\\xe0\\xe8\\x49\\x5b\\xaf\\x46\\x08\\xfe\\xf4\\xc2\\x36\\x67\\x27\\xad\\x37\\xb1\\xea\\x0d\\xae\\xde\\xe8\\xe8\\x4d\\x0c\\x7b\\xe3\\x63\\x6f\\xf0\\xf7\\x46\\x6f\\x6f\\x74\\xf6\\xc1\\xd7\\x3e\\xf0\\xd2\\x87\\x31\\x7d\\xc0\\xdc\\x87\\x78\\xf6\\x39\\x8e\\x80\\xa9\\x0f\\x58\\x39\\x6f\\x69\\x7d\\x5d\\x08\\x3e\\xf5\\x05\\x6b\\x5f\\xe2\\xde\\x77\\x39\\x42\\x7c\\xfa\\x82\\xa1\\x2f\\x7d\\x72\\xe9\\x93\\x4b\\x9f\\x5c\\xfa\\xe4\\xd2\\x27\\x17\\xff\\x72\\xe1\\x3e\\x97\\x7c\\xe8\\x87\\xed\\x7e\\xf8\\xd6\\x0f\\xbd\\xfd\\xb0\\xdb\\x1f\\xbc\\xfd\\xf1\\xab\\x3f\\x98\\xfb\\xa3\\x23\\x0f\\x7c\\x79\\xf4\\xc9\\x03\\x5f\\x1e\\xf6\\xf3\\xe8\\x97\\x87\\xfd\\x3c\\xec\\x73\\x46\\xd3\\x06\\xe0\\xcf\\x00\\x74\\x0e\\xc0\\x9f\\x01\\x70\\x3e\\x00\\x9f\\x06\\x86\\x20\\x70\\x35\\xb0\\x1d\\x42\\x0c\\x06\\xc2\\xd9\\x40\\x7c\\x19\\x84\\x2f\\x83\\xe8\\x3f\\x88\\x1c\\x19\\x34\\x14\\xa1\\x7e\\x10\\x38\\x06\\x81\\x63\\x10\\xdc\\x0c\\x46\\xdf\\x60\\xe6\\xc2\\x60\\xc6\\x0d\\x66\\xdc\\x60\\x7c\\x1e\\x0c\\xb6\\xc1\\xf0\\x32\\x18\\x5e\\x06\\x83\\x6f\\x30\\xbc\\xe4\\xe3\\x4f\\x3e\\x9c\\xe4\\xe3\\x6b\\x3e\\xf5\\xf9\\x60\\xf1\\x90\\x97\\x1e\\xf8\\xf6\\x30\\xce\\x03\\x56\\x0f\\x39\\xe1\\x21\\x4f\\x3d\\x60\\x1a\\x82\\xde\\x21\\xf8\\x3f\\x04\\xff\\x87\\x80\\x75\\x08\\xfe\\x0f\\xc1\\x8f\\x21\\xf8\\x31\\x84\\xb1\\x43\\xc0\\x56\\xc0\\x3c\\x2b\\x68\\x81\\x10\\xbb\\x02\\xfc\\x2f\\x20\\x17\\x0a\\x88\\x59\\x01\\xe3\\x87\\x62\\x6f\\x68\\x53\\x04\\xdd\\x43\\xd1\\x3d\\x14\\x1e\\x38\\x37\\x6a\\x43\\x19\\xcf\\x99\\x51\\x1b\\x0a\\xc7\\xc3\\xe8\\x33\\x0c\\xdf\\x86\\xa1\\x7f\\x18\\xb8\\x86\\xe1\\xdb\\x30\\x30\\x70\\x7e\\xd4\\x86\\x91\\xab\\xc3\\xd1\\x3d\\x1c\\x9f\\x87\\xa3\\x77\\x38\\x7a\\x87\\x33\\x6e\\x38\\xe3\\x46\\x30\\x6e\\x04\\xe3\\x46\\x60\\x77\\x04\\x76\\x47\\xa0\\x7b\\x04\\x3e\\x8d\\xa0\\x7d\\x04\\xb8\\x0a\\xc1\\x55\\xc8\\xd8\\x42\\xda\\x0b\\x69\\x2f\\xa4\\xbd\\x90\\xf6\\x42\\xda\\x0b\\x69\\x2f\\xa2\\xbd\\x08\\x2e\\x8a\\x88\\x51\\x11\\xd8\\x8a\\x68\\x2f\\x02\\x5b\\x11\\xd8\\x8a\\xe8\\x53\\x44\\x9f\\x91\\xf8\\x3e\\x12\\xce\\x47\\x32\\xc7\\x47\\xc2\\xf5\\x28\\x78\\x1d\\x05\\xaf\\xa3\\xe0\\x75\\x14\\xfd\\x46\\xc1\\xe9\\x68\\x70\\x8c\\x06\\xc7\\x68\\xf0\\x8f\\x9e\\x81\\x80\\x7d\\x34\\xfc\\x8d\\x66\\x7e\\x8d\\x81\\xdb\\x31\\xf8\\x3f\\x86\\xdc\\x18\\x03\\x77\\x63\\x98\\x33\\x63\\x88\\xf7\\x18\\x62\\x36\\x96\\x58\\x8f\\xa5\\x6d\\x2c\\xdc\\x8c\\xc5\\xfe\\x58\\xe2\\x39\\x96\\x38\\x71\\xbe\\xd5\\xc6\\x62\\x7b\\x1c\\xb6\\xc7\\x61\\x7b\\x1c\\x9c\\x8c\\x23\\xa7\\xc6\\x91\\x53\\xe3\\xc8\\xcb\\x71\\xe4\\xc9\\x78\\x62\\x3d\\x9e\\x58\\x73\\xfe\\xd5\\xc6\\x83\\x67\\x3c\\xb8\\x39\\x03\\x6b\\xe3\\x19\\x37\\x81\\x71\\x13\\x18\\x37\\x01\\xce\\x26\\x80\\x67\\x02\\x39\\x3d\\x01\\xdd\\x13\\xc0\\x3f\\x81\\x79\\x39\\x91\\xf9\\x3c\\x11\\x5e\\x26\\x82\\x69\\x22\\x98\\x26\\x82\\x69\\x22\\x98\\x26\\x82\\xe9\\x56\\x30\\xdd\\x4a\\xac\\x6f\\x45\\xef\\xad\\xe8\\xbd\\x95\\x71\\xb7\\x32\\xee\\x56\\xda\\x26\\xd1\\x36\\x09\\xbc\\x93\\xc0\\x3b\\x09\\xbd\\x93\\xd0\\x3b\\x89\\xf6\\x49\\xf8\\x3a\\x09\\xdb\\x93\\x58\\x7b\\x27\\xc3\\xe9\\x64\\x38\\x9d\\xcc\\xf8\\xc9\\x8c\\x9f\\x4c\\xfb\\x64\\xc6\\x4f\\xc6\\xee\\x14\\xec\\x4e\\x61\\xfc\\x14\\xe6\\xc5\\x14\\xda\\xa7\\xd0\\x3e\\x85\\xf6\\x29\\x8c\\x9f\\xc2\\xf8\\x29\\x8c\\x9f\\xca\\xf8\\xa9\\x8c\\x9f\\x4a\\xfb\\x54\\xda\\xa7\\xe2\\xd7\\x54\\x38\\x99\\x4a\\xbc\\x8b\\x99\\x03\\x9c\\xcb\\x35\\xce\\xe5\\x5a\\x31\\x39\\x52\\x0c\\xcf\\xc5\\xe4\\x48\\x31\\xfa\\x8b\\xe1\\x9a\\xb3\\xba\\x36\\x0d\\x1b\\xd3\\xf0\\x6d\\x1a\\xbe\\x4d\\xc3\\xb7\\x69\\xf8\\x36\\x0d\\xdf\\xa6\\x81\\x7f\\x3a\\xf8\\xa7\\x63\\x7f\\x3a\\xf8\\xa7\\xc3\\xf7\\x74\\xda\\xa6\\xd3\\x36\\x9d\\xb6\\x12\\xda\\x4a\\x68\\x2b\\xa1\\xad\\x84\\xb6\\x12\\xe2\\x5b\\x42\\x7c\\x4b\\x88\\xc5\\x0c\\xe2\\x3b\\x83\\xf8\\xce\\x80\\xd3\\x19\\xd8\\x9e\\x81\\xef\\x33\\xf0\\x7d\\x06\\xd8\\x67\\x80\\x7d\\x06\\xb6\\x67\\x12\\xe7\\x99\\xcc\\xa1\\x99\\xe4\\xda\\x4c\\x72\\x6d\\x26\\xb9\\x3a\\x93\\x5c\\x9d\\xc9\\x1c\\xb8\\x8d\\x39\\x74\\x1b\\x73\\xfa\\x36\\xe2\\x75\\x1b\\xfa\\x6f\\x23\\x87\\x6e\\xc3\\xb7\\xdb\\xb0\\x71\\x1b\\xf9\\x78\\x1b\\xfe\\xdd\\x86\\x9d\\x59\\xd8\\x99\\x85\\x9d\\x59\\xe4\\xd1\\x2c\\x6c\\xcc\\xc2\\xbf\\x59\\xe8\\x9f\\x05\\x37\\xb3\\xe0\\x6f\\x36\\x36\\x66\\xc3\\xcf\\x6c\\xfc\\x9b\\x8d\\x9d\\xd9\\xd8\\x99\\x8d\\x9d\\xd9\\xd8\\x99\\x8d\\x9d\\x39\\xea\\x3f\\x99\\x82\\x9d\\x39\\xf0\\x3b\\x07\\x1b\\x73\\xb0\\x31\\x07\\x1b\\x73\\xb0\\x31\\x07\\x1b\\x73\\xe0\\x70\\x2e\\x1c\\xce\\x85\\xc3\\xb9\\xf8\\x31\\x17\\x0e\\xe7\\xe2\\xc3\\x5c\\xf8\\x9b\\x8b\\xfe\\xdb\\xd1\\x7f\\x3b\\xfa\\x6f\\x47\\xff\\xed\\xe8\\xbf\\x9d\\x9c\\xbf\\x1d\\x0e\\x6f\\xc7\\xc6\\xed\\xe4\\xde\\xed\\xe4\\xde\\xed\\xe8\\xb8\\x03\\x1d\\x77\\xd0\\xe7\\x0e\\x38\\xe6\\xee\\xa2\\xdd\\x81\\x8d\\x3b\\xc0\\x79\\x07\\x3c\\xcc\\x03\\xc3\\x3c\\x30\\xcc\\x83\\xab\\x79\\xe4\\xed\\x3c\\xf2\\x76\\x1e\\xf6\\xe7\\xd1\\x76\\x27\\x1c\\xdf\\x89\\xed\\x3b\\xd1\\x7b\\x27\\x73\\xed\\x4e\\xc6\\xdc\\x09\\xf7\\xf3\\xf1\\x7b\\x3e\\xdc\\xcd\\x07\\xf7\\x7c\\xc6\\xcc\\x67\\xcc\\x7c\\xe2\\x3e\\x1f\\x5c\\xf3\\x69\\x2f\\xc5\\x5e\\x29\\x39\\x51\\x8a\\x4f\\xa5\\x70\\x52\\x4a\\xcc\\x4a\\xc1\\xb1\\x00\\xac\\x0b\\x18\\xb3\\x80\\x31\\x0b\\x18\\xb3\\x80\\x31\\x0b\\x18\\xb3\\x80\\x31\\x77\\xa1\\xf3\\x2e\\x74\\xde\\x45\\xfb\\x5d\\x70\\x79\\x17\\xb1\\xbe\\x0b\\x0e\\xee\\x22\\x47\\xee\\x06\\xdf\\xdd\\x70\\x7c\\x37\\xbe\\xdd\\xcd\\x98\\xbb\\x19\\x73\\x37\\x63\\x16\\x32\\x66\\x21\\x63\\x16\\x32\\x66\\x21\\x3a\\x17\\xa2\\x73\\x21\\xed\\x0b\\x69\\x5f\\x08\\x3f\\x8b\\x98\\x73\\x8b\\xc8\\x91\\x45\\xf8\\xbd\\x08\\xbf\\x17\\xa1\\x73\\x11\\x58\\x16\\x31\\x76\\x31\\x7e\\x2f\\xa6\\x7d\\x31\\xed\\x8b\\xc1\\xb9\\x18\\xdf\\x16\\x63\\xeb\\x1e\\xfa\\xde\\x43\\x6c\\x97\\x90\\x97\\x4b\\xd0\\xbd\\x04\\xbb\\x4b\\x88\\xdb\\x12\\xfc\\x58\\x42\\xee\\x2e\\x41\\xf7\\x12\\xb8\\x59\\x42\\xdf\\x7b\\xe9\\x73\\x2f\\xdc\\xdc\\x4b\\x3c\\x97\\xc2\\xff\\x52\\xf4\\x2c\\x85\\xa7\\xa5\\xd8\\x58\\x8a\\x8e\\x65\\xc4\\x67\\x19\\xf9\\xb1\\x0c\\x1d\\xcb\\xf0\\x69\\x19\\x39\\xb8\\x8c\\xf8\\x2d\\x63\\xec\\x72\\xfa\\x2f\\x47\\xcf\\x0a\\x70\\xac\\xc0\\xbf\\x15\\xd8\\x5d\\x01\\xc6\\x15\\xc4\\x66\\x05\\x79\\xbc\\x82\\xb6\\x95\\xf8\\xb7\\x92\\xf1\\x2b\\x19\\xbf\\x12\\xff\\x56\\x12\\xff\\x95\\xe0\\x58\\x89\\x6f\\xab\\xe0\\x77\\x15\\xb8\\x56\\xd1\\x7f\\x15\\xf1\\x5a\\x45\\x3e\\xad\\x62\\x2d\\x59\\x8d\\xae\\xd5\\xe4\\xed\\x6a\\xf2\\x76\\x35\\x78\\x56\\x93\\x53\\xab\\xe9\\xb3\\x1a\\x2e\\xd7\\xa0\\x6f\\x0d\\x79\\xb0\\x06\\xbc\\x6b\\xf1\\x7d\\x2d\\x98\\xd6\\xd2\\xce\\x3d\\x52\\x5b\\x4b\\xce\\xae\\x65\\xfc\\x3a\\xc6\\xad\\xc3\\xce\\x3a\\xea\\xd6\\xb1\\xa6\\xae\\xc7\\x87\\xf5\\x60\\x5d\\x4f\\x4e\\xad\\xc7\\xc6\\x7a\\xb0\\xdf\\x47\\x2e\\xde\\x4f\\xfd\\xfd\\x60\\xb8\\x1f\\x9f\\xee\\x07\\xef\\xfd\\xd4\\x6f\\xc0\\xee\\x06\\xf0\\x6d\\xe0\\x79\\x23\\xcf\\x1b\\xe1\\x66\\x23\\x9c\\x6f\\xa4\\xfd\\x41\\x72\\xe9\\x41\\x7c\\x7c\\x10\\x3b\\x0f\\xc2\\xff\\x26\\xb8\\xdb\\x44\\xdf\\xcd\\xe4\\xca\\x66\\xfc\\xde\\x0c\\xb7\\x9b\\x59\\x27\\x1f\\xc2\\xd7\\x87\\xf0\\x67\\x0b\\xeb\\xc9\\x16\\xf0\\x6d\\x21\\xa6\\x5b\\xc0\\xbf\\x85\\xf6\\x2d\\xf0\\xfa\\x30\\x7d\\xb7\\xe2\\xd7\\x36\\xf2\\x72\\x1b\\xba\\x1e\\x01\\xe3\\xa3\\xc4\\x7c\\x3b\\xf8\\x1e\\x87\\xcb\\x27\\xb0\\xf3\\x24\\x7e\\x3e\\x89\\x8f\\x4f\\x82\\xf7\\x29\\xe2\\xba\\x03\\x9f\\x77\\x50\\xee\\xc4\\xe6\\x4e\\x78\\x7d\\x06\\xfe\\x9e\\xc5\\xc6\\x2e\\xf4\\x7b\\xe1\\x75\\x37\\x9c\\xed\\x46\\xdf\\x1e\\x6c\\xef\\x25\\xe6\\x7b\\xc1\\xbf\\x8f\\xb1\\xfb\\xe1\\xf7\\x39\\x74\\x3d\\x47\\xdf\\x03\\xd8\\x3f\\x00\\x3f\\x65\\xb4\\x97\\xc1\\x51\\x19\\xbc\\x95\\x51\\x5f\\x46\\x9c\\x0f\\xe2\\xc3\\x41\\x30\\x1e\\xc4\\xaf\\x43\\xd8\\x3a\\x04\\x7f\\x87\\xe0\\xfb\\x79\\x38\\x78\\x9e\\x71\\x87\\x99\\x5b\\x47\\xc0\\x76\\x04\\x5b\\x47\\xe0\\x43\\xfd\\xa7\\x92\\x8e\\xa2\\xe7\\x28\\x36\\x8f\\xe2\\xe7\\x51\\xea\\x8e\\xe1\\xd3\\x31\\xf8\\x38\\x86\\x8e\\xe3\\xe4\\xf3\\x0b\\x70\\xf5\\x22\\xfd\\x5e\\x04\\xc3\\x8b\\xd4\\xbd\\x04\\xe7\\x2f\\x61\\xef\\x25\\xe6\\xd1\\x09\\x78\\x3f\\x41\\x9e\\x9d\\x80\\x8f\\x13\\x70\\xf6\\x32\\x7a\\x5e\\x66\\x6e\\xbc\\x8c\\x8f\\xaf\\x30\\x86\\xfb\\xa0\\xf6\\x0a\\x78\\x5e\\xc1\\xcf\\x57\\xc1\\xf0\\x2a\\xfa\\x5f\\xc5\\xa7\\xd7\\x18\\xf7\\x1a\\xf9\\xf7\\x1a\\x7e\\xbc\\x8e\\xbd\\xd7\\xc1\\xf8\\x06\\xbe\\xbf\\x01\\x77\\x6f\\xd0\\xce\\x3d\\x50\\x7b\\x13\\x1d\\xdc\\x01\\xb5\\xb7\\xe0\\xe6\\x2d\\x7c\\x3b\\x89\\xaf\\x27\\xe1\\xf2\\x6d\\xc6\\xbe\\x4d\\x4e\\x9c\\x82\\xc3\\x53\\xe0\\x3c\\x0d\\xcf\\xa7\\xc1\\x76\\x9a\\x71\\xef\\xa0\\xeb\\x1d\\xd6\\x9a\\x7f\\x80\\xf1\\x1f\\xbc\\xbf\\x4b\\xcc\\xce\\xe0\\xf3\\x19\\x74\\x9c\\xc1\\xde\\x19\\xe2\\xc4\\xbd\\x4f\\x7b\\x0f\\x6e\\x3e\\x44\\xd7\\x67\\x60\\xbe\\x00\\xaf\\x17\\x78\\xbf\\x40\\x3c\\x2f\\x80\\xf5\\x02\\x7e\\x5d\\xc4\\xee\\x45\\x30\\x5c\\xc4\\x97\\x8b\\xf0\\x76\\x91\\x18\\x94\\x63\\xb7\\x9c\\xf1\\xff\\xc2\\xf7\\x7f\\x31\\xee\\x6b\\x78\\xf9\\x9a\\xf2\\x1b\\x6c\\x5f\\x22\\xaf\\xbe\\xc5\\x87\\xef\\x98\\x93\\xdf\\xc3\\xc7\\x0f\\xe0\\xf8\\x11\\x3b\\x3f\\x32\\xf6\\x27\\x74\\xfd\\x44\\xfe\\xfd\\x84\\x0f\\x3f\\xd3\\xe7\\x32\\x76\\xae\\x60\\xf3\\x0a\\xf9\\xfa\\x0b\\x73\\xea\\x17\\xc6\\xfe\\x4a\\xff\\xdf\\xc8\\x9d\\xdf\\x89\\xc1\\xef\\xf4\\xf9\\x83\\xf2\\x0f\\xca\\xab\\xf0\\x79\\x15\\x4e\\xae\\xc2\\xdf\\x35\\xc6\\x5d\\x83\\xff\\x0a\\x7c\\xf2\\x11\\x33\\x1f\\xed\\x7e\\x7c\\xf7\\xc3\\xb1\\xff\\x4b\\xa1\\x8b\\xd6\\x48\\x31\\xb2\\x13\\xe1\\x5d\\x86\\x23\\x03\\x90\\xf5\\xc8\\x87\\x42\\xd7\\x6a\\x21\\x85\\xc8\\x66\\xe4\\x8c\\xd0\\xf5\\x40\\xa4\\x1b\\x52\\x8a\\x30\\x46\\xa7\\x8f\\x6d\\xb6\\xd0\\xed\\x36\\xa4\\x3e\\xa2\\x9e\\xe9\\x6b\\xa7\\x8d\\x3b\\x93\\x6e\\x7f\\x0b\\xf9\\x04\\xb9\\x84\\x5c\\x13\\x7a\\x40\\x08\\x82\\xce\\x80\\x46\\x08\\x76\\x03\\x96\\x20\\x5b\\x91\\xe3\\xc8\\x59\\xe4\\x37\\xa1\\x3b\\xc0\\xe0\\x40\\x97\\xc3\\x8d\\xe4\\x23\\xf4\\x73\\xd0\\xcf\\x41\\x3f\\x47\\x19\\x72\\x1a\\xf9\\x4a\\x00\\x05\\x89\\x47\\x9a\\x22\\x60\\xe2\\x3e\\xa6\\x07\\x62\\x3f\\x70\\x35\\xf2\\x24\\x82\\xce\\x40\\xf0\\x05\\xfe\\x20\\xf4\\x20\\x70\\x07\\xb9\\x10\\xfc\\x0d\\xca\\x45\\xc6\\x23\\xf8\\x10\\x04\\xae\\x6a\\xd4\\x57\\xc3\\xe7\\x6a\\xf8\\x5c\\x8d\\xfe\\xc1\\xd1\\xc8\\x68\\xe4\\x01\\x04\\xfc\\x21\\x60\\x0d\\xe1\\xb9\\x3a\\x76\\x42\\xb1\\x19\\x7a\\x87\\xd0\\xc3\\xb0\\x1b\\x86\\x8e\\xf0\\x16\\x08\\x18\\xb9\\xbb\\xe9\\xe1\\x97\\x85\\x1e\\xd1\\x0b\\xc1\\xf7\\x48\\xda\\x23\\xc1\\x12\\xe9\\x15\\x7a\\x14\\xe3\\xa3\\xf0\\x21\\x6a\\x1f\\x82\\x7f\\xd1\\xed\\x10\\xb8\\x89\\xa1\\x6f\\xcc\\x72\\x04\\x7e\\x62\\xf1\\x37\\x16\\x1d\\xb1\\xd8\\x8f\\x03\\x6b\\x1c\\x38\\xe3\\xd0\\x1f\\x87\\xcf\\x71\\xd4\\xc5\\xc3\\x49\\x3c\\x3e\\xc6\\xa3\\x33\\x9e\\x7e\\xf1\\xd4\\xd5\\xa0\\x5f\\x0d\\x38\\xaa\\x41\\x5d\\x0d\\xec\\xd4\\x80\\x93\\x9a\\xd8\\xad\\x49\\xbf\\x9a\\xd4\\xd5\\xa4\\x5f\\x4d\\x38\\x4d\\xa0\\x2e\\x01\\x9f\\x13\\x96\\xfc\\x0f\\x04\\xec\\xb5\\xe8\\x5b\\x0b\\x8e\\x6b\\xa3\\x83\\xbb\\xa4\\x5e\\x07\\xdb\\x75\\x16\\x0a\\xdd\\x89\\x1f\\x4e\\x78\\x70\\xc1\\x97\\x8b\\x38\\xb8\\x88\\x67\\x22\\x3e\\x25\\xd1\\x9f\\x3b\\xa5\\x9e\\xc4\\x7b\\xf2\\x0c\\xa1\\xd7\\x25\\x17\\xea\\x12\\x8b\\xba\\xf8\\x98\\x82\\x1f\\xdc\\x2f\\xf5\\x54\\xc6\\xa4\\xa2\\x2f\\x15\\xff\\xeb\\xe1\\x73\\x3d\\x78\\xaf\\x8f\\xff\\xf5\\x5f\\x13\\x7a\\x83\\xa1\\x08\\xb6\\x1b\\xa0\\xab\\x01\\xb1\\x6a\\x08\\x17\\x0d\\xe1\\xbf\\x21\\x6d\\x69\\xe4\\x4b\\x1a\\xfa\\xd3\\xd0\\x9b\\x46\\x7c\\xd2\\xc0\\x97\\x76\\x02\\x81\\xb3\\x34\\xf8\\x6e\\x44\\x7b\\xa3\\xba\\x08\\x71\\x68\\x84\\xbe\\xc6\\xc4\\x88\\x3b\\xaa\\xde\\x84\\x98\\x34\\xc1\\x16\\xf7\\x54\\x3d\\x9d\\x39\\xab\\xfe\\x3f\\x1b\\x8c\\xff\\x0f\\x07\\x5d\\x38\\x44\\xc8\\x5e\\xbb\\x0c\\x10\\x22\\xfd\\x64\\xfa\\xc9\\x66\\x4d\\x33\\x22\\x12\\x23\\xf4\\xc4\\x88\\xc4\\x75\\xfa\\x13\\xb3\\x2a\\xba\\x6a\\x07\\xed\\xd9\\x7f\\x3c\\x6f\\x7b\\xfb\\xea\\x53\\x42\\x93\\x0f\\x12\\xec\\xb1\\xf6\\x2e\\xc6\\x98\\x9a\\xee\\x10\\x29\\x6d\\x9a\\xcd\\xbe\\xa5\\xc0\\x16\\xa9\\xe9\\x22\\x2b\\x2b\\x2d\\x22\\x52\\xb4\\x89\\x4f\\x6f\\xd6\\x54\\x26\\x47\\x65\\xc8\\xcc\\x0c\\x87\\x76\\xdf\\xfa\\x6d\\x27\\x7c\\x2d\\xea\\xbd\\x58\\x4f\\xae\\xd0\\x0f\\xfc\\x71\\xf8\\xf5\\xd7\\xd1\\x31\\x47\\xef\\x6d\\x9b\\xac\\x66\\x01\\x3a\\xc2\\xf6\\xdb\\xd5\\xbf\\xb6\\x28\\x44\\x56\\x46\\x46\\x7a\\x73\\x6b\\x20\\xa2\\xbf\\xba\\x72\\xc0\\xd9\\x8a\\x8d\\x2b\\xf2\\xce\\xea\\xbd\\xb5\\xf9\\x15\\x0b\\xb4\\xf9\\xea\\x6f\\x86\\x69\\xa2\\x16\\x98\\x3f\\x02\\x73\\x82\\x70\\x8a\\xf1\\xee\\x2e\\x36\\x47\\xa0\\x1e\\x1c\\x1a\\xbc\\xcb\\x23\\x6b\\xd7\\x21\\x11\\x6b\\x39\\xf5\\xb0\\xc8\\xb0\\x5d\\x9e\\x98\\xd8\\x1a\\x7a\\x64\\xdf\\x48\\xd9\\x37\\x72\\x44\\xe4\\xc3\\x91\\xdf\\x47\\xda\\xfa\\x86\\xca\\xbe\\xa1\\x23\\x42\\x4f\\x85\\x7e\\x1e\\x6a\\x0b\\x8d\\x0c\\x8d\\xb4\\x47\\xc7\\xc5\\xeb\\x51\\x7a\\x40\\x50\\x35\\xdd\\x2e\\xd2\\xe3\\x32\\xb2\\xe2\\x32\\x22\\xdb\\xb4\\x49\\x4f\\x1f\\x36\\x6d\\xd8\\xb4\\x88\\xb8\\x8c\\xb4\\x08\\x11\\x97\\x51\\x59\\x02\\x4a\\x4f\\x74\\x24\\xea\\xc9\\x51\\x4a\\x92\\x33\\x33\\x90\\x44\\x10\\x2a\\xc9\\xa0\\x3e\\x31\\x4a\\xff\\x78\\x81\\xb4\\xc5\\xf8\\x2e\\x3c\\x31\\xe5\\x31\\xdf\\x7d\\x8f\\x4e\\x79\\xf4\\xf5\\x98\\x2f\\x16\\xfc\\x18\\x23\\x1d\\x4f\\x4e\\x79\\x42\\xde\\xfa\\xc4\\x94\\x27\\xde\\x8d\\xa9\\x70\\xdf\\x2d\\x27\\x2e\\xd0\\x3b\\xfa\\x5e\\x9a\\xe4\\x1b\\x2f\\x1f\\x50\\x32\\x49\\xb6\\x9f\\x64\\x3e\\xf9\\xc6\\x4f\\xf2\\xbd\\x24\\xdb\\xab\\xbf\\x3c\\x27\\x92\\xfd\\x25\\xb6\\x23\\xf6\\x13\\x22\\x45\\x34\\x12\\x2d\\xc4\\x48\\xf7\\x2d\\xb5\\x1a\\x46\\x36\\x2c\\xf1\\x34\\x0b\\x6c\\x10\\x58\\xe2\\xa9\\xdd\\xa0\\x41\\xa4\\x16\\x1d\\xe5\\x76\\xd5\\xeb\\x16\\xe5\\x8e\\x8c\\xeb\\x16\\x55\\x23\\x2a\\x06\\x47\\x03\\x9a\\x3b\\x34\\x47\\x89\\x47\\xac\\x96\\x52\\xba\\xed\\xb9\\x76\\xcd\\x9e\\x22\\xed\\xba\\x16\\x2f\\xf0\\x2a\\x7d\\x58\\xfa\\x30\\xe5\\x46\\x46\\xbc\\x7a\\x49\\x4f\\x4b\\xcb\\x88\\x88\\x6c\\x93\\x6e\\xd4\\x28\\x69\\xd6\\xd4\\x9e\\x9c\\x59\\x57\\xcf\\x8c\\xb6\\x47\\x35\\xd1\\x5b\\xb6\\xe8\\xa0\\x65\\xc9\\x0c\\x47\\x1d\\x19\\xe7\\x68\\x22\\xeb\\xe9\\x75\\xb4\\x98\\xe8\\x50\\xe9\\xd0\\xa3\\x63\\xe3\\xa2\\x6c\\x0e\\xd9\\x42\\xd5\\x75\\x90\\x5a\\xc3\\x52\\xa7\\x6f\\xa8\\xb6\\x5b\\x86\\x8f\\x68\\xba\\x65\\xe4\\x2d\\x59\\x0b\\x8f\\x94\\xd4\\x28\\xad\\x71\\xf0\\xd9\\xe0\\x7d\\xda\\xb8\\xa9\\x79\\x7b\\x97\\xf5\\xba\\xf3\\xb7\\xa7\\x5e\\x1a\\xbc\\x30\\xd7\\x2f\\x52\\xb5\\xc6\\xe9\\xf9\\xd3\\x87\\x3e\\xbe\\x6b\\xc5\\xb6\\x50\\xe9\\x49\\xb9\\x1c\\x2a\\xff\\x15\\x9c\\xd1\\x79\\x64\\xb7\\x7e\\xeb\\xa7\\xb4\\xd5\\xef\\xba\\xcb\\xb1\\xf6\\xc9\\xc4\\x09\\x93\\x02\\x7d\\x83\\x9a\\xf4\\x9e\\x3e\\x70\\xf6\\x5b\\xd3\\x1d\\xfa\\xa1\\x76\\xbd\\x93\\xe5\\x43\\xc1\\x87\\x2a\\x9e\\x6b\\xd6\\xa5\\x69\\x1d\\x5f\\x83\\x6a\\xf7\\xa9\\xbf\\x6c\\xe8\\x3f\\xef\\xbf\\x6c\\x4f\\xb4\\xf7\\x83\\x9d\\x08\\xa2\\xde\\x48\\xb4\\x15\\xcd\\xdc\\x2e\\x57\\xd3\\xe7\\x3c\\xa9\\xae\\x03\\x05\\xa9\\x99\\x94\\x35\\x82\\x6b\\x3d\\xe7\\xb1\\x05\\x1f\\x28\\xb0\\xc5\\x50\\x3a\\xb4\\x00\\x81\\xf3\\xa4\\x63\\x5a\\x9a\\x88\\x57\\x3f\\x49\\xe9\\x64\\x99\\x91\\xd2\\x1c\\x7f\\xb4\\xe4\\x24\\xe5\\x67\\x5c\\x8b\\xd4\\xe4\\xa4\\x50\\x19\\x13\\x1d\\x9b\\xd1\\xbc\\x83\\x94\\xaa\\x45\\xfe\\x55\\xcb\\x8c\\x35\\xb6\\xa7\\xd7\\x5d\\x7b\\xe4\\x42\\x7a\\xe1\\x22\\xcf\\xbf\\x9a\\x8d\\x58\\xb4\\xab\\x79\\x66\\x76\\xff\\x66\\x6d\\x5a\\x76\\xca\\x6b\\x22\\xf7\\x5f\\x1c\\xf4\\xe8\\x8c\\x7f\\x35\\x1b\\xb6\\xc8\\x9b\\xd9\\x3c\\xbb\\x1f\\x95\\x1d\\x07\\x34\\xb6\\x77\\x0f\\xfc\\xa4\\xef\\xde\\x85\\x9d\\xbf\\xec\\x75\\xb0\\xb4\\xdd\\xf9\\xf6\\x6d\\xf3\\x0e\\x74\\xcc\\x6e\\x3d\\xdc\\xeb\\x9b\\xf2\\xe9\\xf4\\xb3\\xb7\\x7d\\xd9\\xeb\\x40\\x69\\x87\\x2f\\xbb\\xb4\\x18\\xb0\\xbf\\x53\\x76\\xeb\\x61\\xcf\\x12\\x6f\\xbf\\xdf\\x7f\\xc9\\x36\\xc0\\xde\\x9b\\x78\\x37\\x17\\xed\\x45\\x1b\\xb7\\x53\\xcf\\xa8\\x53\\xc3\\x96\\xd0\\x32\\x2e\\xb8\\x89\\xcd\\x9e\\x90\\x10\\x6e\\x0f\\x6f\\xd0\\xcf\\x13\\x6e\\x4b\\xbc\\xc5\\x7e\\x4b\\x3f\\x8f\\xb0\\xc7\\x32\\x4f\\xcc\\x68\\x5a\\x53\\x2d\\x22\\xae\\x4d\\x64\\x5c\\x1b\\xc2\\x98\\x94\\x5a\\x2f\\x20\\x39\\x29\\xb5\\x65\\x8b\\xc8\\x4c\\x7e\\xb4\\xca\\x68\\x1e\\x6b\\x04\\x2f\\x36\\xae\\x55\\x66\\x5c\\x00\\x21\\xcd\\x68\\x9e\\xe9\\x08\\xd0\\x95\\x6f\\x01\\x31\\xd1\\x71\\x1d\\x74\\x3d\\xb5\\x9e\\xe5\\x64\\x2b\\xfd\\xe5\\xae\\xa5\\xf5\\xf7\\xbf\\xf0\\xcc\\xbe\\x23\\x2f\\xd4\\xbe\\x70\\xa4\\x74\\x9d\\xe7\\xf0\\xe9\\x21\\xc5\\x73\\xfb\\x2f\\xc9\\xdf\\x9e\\x38\\xb8\\x7e\\x9b\\x06\\x35\\x5b\\xac\\xe8\\x9d\\x3d\\x71\\x49\\x8d\\xa7\\xc6\\xb8\\x6b\\xff\\xb2\\xac\\x60\\xc6\\xfc\\x29\\x13\\x3b\\x2d\\x0f\\xe9\\xd2\\xfe\\xde\\x0d\\x4b\\x1e\\x92\\x01\\x05\\x03\\x47\\x97\\xbd\\x3b\\x7d\\x64\\xde\\xb2\\x39\\xb9\\x97\\x36\\xee\\x3d\\x9f\\xf6\\xcd\\xf9\\x56\\x19\\xe1\\xf7\\xc4\\xda\\x26\\x64\\xba\\xef\\xbe\\xa3\\x47\\xcf\\x4e\\xad\\xdb\\x77\\xba\\xb6\\xf5\\x8d\\xef\\xdb\\x1c\\x9b\\x34\\x64\\xcc\\x2d\\x6a\\x0e\\x4b\\x6d\\x88\\xde\\x5b\\x5f\\x61\\xcc\\xff\\xe0\\xbd\\xc6\\xbf\\x8f\\x9c\\x95\\x61\\x2d\\x19\\x5a\\xb9\\x35\\xe1\\x55\\x3f\\xd9\\xd2\\x37\\xd8\\xd6\\x5c\\xfd\\x5d\\x53\\x51\\x6d\\x6f\\x30\\xeb\\x30\\x21\\x6d\\xd6\\x34\\x25\\x3a\\x32\\x2e\\x39\\x55\\x6b\\xd9\\xa2\\x26\\xeb\\x4b\\x40\\x35\\x29\\x7f\\x2c\\x9c\\x72\\x74\\xc2\\xa8\\x59\\xdf\\x7f\\x74\\xf4\\xdd\\x9f\\xee\\xf8\\xe1\\x29\\xdf\\x89\\x7d\\x4f\\xc8\\x4e\\x3b\\x5e\\x95\\xc7\\xe5\\xdd\\x1f\\xbe\\xe3\\x9b\\xef\\x73\\x2b\\x5d\\x62\\xbd\\x6f\\xb0\\xbe\\xce\\xd2\\xc5\\x26\\x69\\xea\\x92\\xc9\\xad\\x6a\\xca\\x96\\x2d\\xb4\\x7a\\x19\\xb1\\x91\\x31\\xd1\\xe8\\x1a\\x70\\xfc\\xfd\\xcb\\x73\\x27\\x8c\\x3f\\x7e\\x6b\\xd1\\x9c\\xef\\x7c\\x83\\xcf\\xc8\\xbb\\xe5\\xd1\\x13\\xcf\\xca\\x6e\\x8f\\xef\\xf0\\x9d\\x78\\xfc\\x84\\xaf\\xa5\\x6f\\x9e\\x81\\xab\\x58\\xbb\\x66\\xeb\\x65\\x7f\\x53\\x84\\x8a\\x76\\x6e\\x97\\x56\\xad\\x9a\\x0c\\xb6\\x05\\x06\\xda\\xf5\\xa0\\x10\\x11\\x12\\xcc\\xff\\xec\\xd5\\x85\\x23\\xdc\\xee\\xb2\\x97\\xda\\x57\\xdb\\x6d\\xac\\x2e\\xc3\\x32\\xb2\\x8c\\xb5\\x25\\x22\\x23\\xfc\\x64\\xf3\\x08\\x26\\x5f\\x04\\x4b\\x9d\\x5a\\x55\\x52\\xe2\\xec\\x71\\x8e\\x60\\x59\\x2f\\x33\\x25\\x33\\x8e\\xb5\\xa4\\xb6\\xac\\x15\\xe5\\xfb\\xf0\\xde\\x45\\xa3\\xdf\\x9e\\xf0\\xad\\xef\\x97\\xae\\xbf\\x36\\x5e\\x62\\xdb\\x3e\\x6e\\x61\\xf7\\x3f\\xba\\x49\\xcd\\x2f\\xba\\xfd\\xd6\\x7d\\xf1\\xad\\xea\\xbf\\xd8\\x89\\x2f\\x33\\xc4\\x3e\\xdb\\x60\\xdb\\x16\\x11\\x2c\\x9a\\xb8\\x6b\\xda\\xb4\\x50\\xfe\\xf1\\x38\\xec\\xa1\\xc2\\x21\\x43\\x74\\x87\\x5d\\xd8\\xec\\xb6\\x67\\x3c\\x41\\xf6\\xbd\\x95\\xa9\\x12\\xfe\\xca\\x88\\xe1\\xc3\\x8c\\x49\\x20\\x23\\x92\\x23\\x12\\x5b\\x26\\x46\\xb0\\xbe\\xc7\\x68\\xbb\\xd6\\xf9\\xf2\\xe5\\x93\\xeb\\xe4\\x93\\x5a\\xa1\\x6f\\x80\\xdc\\xb9\\x56\\xee\\xf4\\x0d\\x58\\x6b\\xe8\\xcf\\xf3\\xdd\\xa7\\x2d\\x96\\x69\\xc4\\xa7\\xfa\\x7e\\xa9\\x6f\\x2e\\x90\\x36\\x11\\xfe\\x0a\\xc3\\xa3\\x64\\xa2\\xcc\\x93\\x0d\\x65\\x90\\xaf\\x1b\\x3d\\xee\\xaf\\x98\\x08\\x17\\x59\\xf2\\xb4\\xbe\\x52\\x53\\xa7\\xa5\\x90\\xfd\\x52\\x1c\\xf2\\xc8\\x23\\x22\\x4b\\x59\\xca\\x4c\\x74\\xc8\\x2c\\xa7\\xd6\\xd4\\x29\\x4f\\x6f\\xdd\\x4a\\x3f\\xf5\\xdf\\x0d\\xdd\\x69\\xe8\\x0c\\xd9\\x2f\\xe4\\xa6\\x02\\x11\\x69\\xf4\\x53\\x6b\\xa8\\xbc\\xa7\\xed\\x37\\x6d\\x65\\x9a\\xef\\x3d\\x65\\xdb\\xee\\xbf\\x64\\x0f\\x37\\x72\\x23\\x74\\x3f\\x5b\\xbf\\x26\\x55\\x76\\x64\\xc1\\x56\\x9c\\xcc\\x90\\x76\\x9b\\x67\\xcf\\xd5\\xa7\\xa3\\xed\\x67\\xff\\x70\\xa9\\xb5\\x72\\x0e\\x73\\xe7\\x1e\\xfb\\x10\\x62\\x5a\\x47\\x24\\x89\\x74\\x77\\x4d\\x67\\x88\\xeb\\x0e\\xd7\\x72\\x97\\x1e\\xaa\\xf6\\xe3\\xc0\\xc0\\xa8\\x12\\x4f\\x20\\xbb\\x14\\x2b\\x63\\x0d\\x8c\\x89\\xeb\\x73\\x06\\x3a\\x32\\x8c\\x19\\xa3\\x92\\xc8\\x9c\\x29\\xd5\\x64\\x80\\x34\\xe6\\x86\\x66\\xcd\\xfb\\x48\\xb5\\x7b\\xc9\\x5f\\x8e\\x1d\\x2d\\x7a\\xa2\\xfc\\x91\\x17\\x0e\\x0f\\x7f\\xf6\\x5b\\xd9\\x65\\xca\\x6d\\xf7\\x1d\\x9c\\x3e\\x7d\\xe6\\x84\\x4d\\x53\\x7b\\xf8\\x5c\\xcd\\xbe\\x69\\x16\\xfd\\xf1\\x99\\x8d\\x72\\xad\\x8c\\xb8\\xfb\\x1f\\xef\\x3e\\xe4\\xbb\\xcd\\xf7\\xaf\\x65\\xfa\\xab\\xab\\x17\\xbd\\xe9\\x73\\x6f\\x59\\xbf\\x7c\\x7a\\xb9\\x1c\\xe7\\xbb\\xf4\\xfb\\xef\\x06\\x9f\\x2d\\xd8\\xb3\\x6a\\xb3\\x67\\x85\\x8a\\x54\\x37\\x7b\\x4e\\xb0\\x23\\xa0\\xc4\\xe3\\x70\\x04\\x07\\x84\\x68\\x42\\x03\\x1c\\x4b\\x95\\x39\\xa5\\x33\\xd2\\x0d\\x80\\x2c\\x56\\xec\\x2f\\x01\\xb6\\xe4\\xcc\\xe6\\x75\\x33\\xd9\\x66\\x1c\\x2d\\x6a\\xc9\\x03\\xaf\\xb6\\xf4\\xbd\\xb7\\xb8\\xf6\\xfd\\xd2\\x99\\xf3\\xf8\\xd7\\xb2\\xa8\\xd6\\x1a\\xbd\\xa2\\x6f\\xc9\\xfa\\xbb\\x46\\x5d\\xed\\xb5\\xc6\\x98\\x53\\xa2\\x1e\\x36\\x96\\xc0\\x85\\x4b\\xa4\\xb9\\x63\\xc3\\xc2\\x64\\xa8\\x1e\\x16\\x16\\x15\\x15\\x52\\xe2\\x89\\x72\\xc8\\x3a\\xa2\\x4e\\x55\\x33\\xc6\\x4f\\x45\\x82\\x32\\xd4\\x41\\xd6\\xcd\\xec\\xc0\\x6c\\x52\\xbe\\x3b\\xea\\xb5\\xaa\\x6b\\xae\\x1b\\x9a\\x83\\xa5\\x23\\xd1\\x51\\x2f\\xae\\xed\\x09\\x29\\xc2\\x9e\\xb8\\xaf\\xcb\\x8c\\xa9\\x93\\x9f\\x4a\\xd9\\xd7\\x4a\\x46\\xbf\\x50\\xf6\\x56\\xd3\\x29\\x3b\\xdf\\x5d\\xf8\\x68\\x7d\\xed\\xdd\\x5a\\x33\\x87\\x3c\\x5f\\x16\\x3c\\x6b\\xc5\\x82\\xec\\xbc\\xa1\\xb3\\x66\\x45\\xec\\x7c\\x79\\xed\\xf2\\x6e\\x4b\\x56\\xaf\\x5b\\x5d\\xb0\\x22\\x6b\\xad\\xc2\\x34\\x94\\xf8\\x28\\x4c\\xe9\\xa2\\x9b\\xbb\\x7e\\xbd\\xc8\\x08\\x11\\x10\\x1e\\xe0\\x0a\\x28\\x0c\\xb0\\x85\\xe8\\x01\\x01\\x41\\x11\\x91\\x11\\x25\\x9e\\xc8\\xda\\x91\\xb5\\x45\\x62\\x22\\x31\\x4a\\x74\\x88\\xa0\\x9b\\x22\\x45\\xa8\\xd2\\x6f\\x84\\x8c\\x7d\\xcb\\x0a\\x5a\\x96\\x74\\x44\\x27\\x12\\x23\\x50\\xa7\\x11\\x26\\xf3\\xa9\\x2a\\xfe\\x80\\x30\\x59\\x47\\x2a\\x37\\x34\\xf1\\xf6\\xfb\\xf2\\xa8\\x94\\xfa\\xb8\\x07\\x07\\x3d\\xb6\\x74\\xac\\x73\\x64\\xe1\\x13\\x23\\xa7\\x4e\\x9f\\xf5\\x74\\xd2\\x9e\\x56\\xb2\\xd6\\x8b\\x87\\x5f\\x79\\x7d\\xbb\\x5c\\xb0\\xbe\\xdf\\xda\\xb7\\xa3\\xbd\\x4f\\xd5\\x0a\\x8a\\x88\\xb9\\xd0\\x7d\\x45\\x0f\\xcf\\xb8\\xcd\\xd9\\xf3\\x86\\xf6\\x1b\\x32\\x77\\x6a\\xe8\\xce\\x97\\xd6\\x2e\\x5a\\xf7\\xb1\\xcb\\x16\\xb6\\x6a\\x42\\xdf\\x3d\\xb7\\x77\\x32\\xce\\x1f\\xed\\xe0\\x79\\x10\\xb1\\xac\\x26\\xaa\\xb3\\x0b\\xd5\\xd2\\x85\\x2d\\xc4\\x56\\xe2\\xb1\\x07\\x56\\xd7\\xc3\\x42\\x9c\\x21\\xe9\\x21\\x7a\\x48\\x88\\x24\\xc0\\x01\\x9a\\x8c\\x37\\x12\\x97\\x63\\x45\\xfa\\x30\\xe3\\x20\\x91\\x61\\x1c\\x24\\x38\\x44\\x64\\x4a\\x75\\x6e\\xd0\\x65\\xa2\\x7e\\x67\\x87\\x7d\\x1d\\x2a\\xa6\\x27\\xe8\\xf5\\x5f\\xdd\\x79\\xb8\\xd6\\xdb\\x15\\x8b\\xe5\\x65\\x99\\xe5\\x7b\\x41\\x66\\x2d\\xd7\\xe7\\x5e\\x5b\\xb2\\x52\\xef\\x5c\\xd1\\xd3\\x88\\xed\\x00\\x78\\xbc\\x1f\\x9b\\x75\\x44\\x07\\x77\\xa2\\xcd\\x16\\x10\\x1e\\x11\\x11\\x1b\\x1f\\x5f\\xbd\\xc4\\x13\\xef\\x8e\\x8a\\xed\\x16\\x1f\\x2f\\x22\\x23\\x63\\xa0\\x32\\x40\\x04\\xfc\\x5b\\xaa\\xa7\\x19\\x86\\xe3\\xd3\\x15\\x0c\\x93\\xbd\\xcc\\xd8\\x2a\\x84\\x81\\x86\\x03\\x8c\\x39\\x05\\x34\\x9b\\xfc\\xfa\\x95\\xd3\\x87\\xc2\\xbf\\x9d\\xb8\\x73\\xe4\\xbd\\xb3\\xbb\\x2f\\xea\\xe9\\x3d\\xac\\x27\\xd6\\xaa\\x58\\x54\\xbc\\xe4\\x19\\xef\\xc9\\x07\\x7c\\xdf\\x46\\x3f\\xbb\\x2d\\xe6\\x9d\\x51\\x07\\x07\\x8f\\x9b\\xd3\\xb8\\xb5\\xf6\\xe1\\x1a\\xdf\\xe0\\x21\\xfb\\x37\\xae\\xf0\\xfd\\xbc\\xc6\\x3c\\x97\\xad\\x03\\xe3\\x32\\x62\\x9d\\x20\\x1a\\x88\\xb6\\xee\\x3a\\xc1\\xc1\\x81\\xd1\\xd1\\xce\\x12\\x4f\\x44\\x58\\xb4\\x0c\\xd3\\xa3\\xa3\\x99\\x8d\\xa1\\xc6\\x6c\\x4c\\xfd\\xcb\\xd9\\x78\\xfd\\xdc\\x78\\x7d\\x52\\xba\\xa2\\x38\\x82\\x24\\x27\\x69\\x8e\\x0e\\xd2\\x4a\\xc9\\xa8\\x3f\\xed\\xcb\\x5a\\xf4\\x91\\x13\\x13\\x76\\xff\\xbc\\x5a\\x76\\xa8\\xbd\\xb7\\xda\\xad\\xfd\\x36\\x7e\\xd1\\xb4\\xf3\\x89\\x92\\xc7\\x0e\\xf5\\x5f\\xff\\xe6\\x95\\xb9\\x53\\xf3\\x1f\\x1d\\x72\\xc7\\xb8\\x91\\x5b\\x0a\\xa2\\x3f\\x7b\\x77\\x8b\\xbc\\x4b\\x86\\xad\\xf4\\x7d\\xe1\\x2c\\xe8\\xe7\\x2b\\xff\\xad\\x60\\xc4\\xee\\x8d\\xe3\\x3e\\xd9\\x9a\\xaf\\xd5\\x9a\\x38\\x63\\xc8\\x86\\x29\\x73\\x57\\x8f\\x3b\\xcc\\xda\\xe4\\x24\\xa6\\x6f\\x18\\x31\\xad\\xe1\\x0e\\xb1\\x05\\xda\\x03\\xec\\x25\\x9e\\x80\\x00\\xa9\\x66\\x4c\\xf3\\x2c\\x2b\\x72\\x89\\xc9\\x91\\x42\\x26\\xb2\\xaa\\x05\\x4a\\xf9\\xcd\\xe1\\x16\\x72\\x82\\x6c\\x51\\xe1\\xac\\xa5\\xaf\\x4a\\xf0\\xbd\\xec\\xdb\\x21\\x1d\\x5a\\xa1\\xec\\xbd\\x66\\x99\\x6f\\x73\\x05\\x77\\x0e\\x23\\xef\\xd5\\xba\\x54\\x5b\\x34\\x14\\x99\\x64\\x49\\x8d\\x98\\xc0\\xc0\\x7a\\x4d\\xea\\x35\\x29\\xf1\\xd4\\xab\\x27\\xc2\\xc2\\x5c\\x25\\x9e\\x30\\x87\\x68\\xf1\\xef\\xb1\\x52\\x45\\x44\\xe5\\xca\\xd4\\x81\\xa5\\xb5\\x89\\x54\\xe5\\x9f\\x53\\x5a\\xb6\\xa8\\xc2\\x82\\x5e\\xc9\\x89\\x71\\x88\\xf9\\xfd\\xc4\\x47\\xc3\\xb7\\x17\\xca\\x21\\xe3\\x16\\x7f\\xbb\\xf6\\xc0\\xc9\\x03\\x8b\\xe4\\xc4\\xb9\\xb9\\x6b\\x4f\\xc9\\xde\\x5f\\x14\\xae\\xcc\\x29\\x9e\\x3c\\x69\\x6d\\xdb\\x81\\x0b\\x6f\\x9f\\xb0\\xad\\xff\\xd5\\x99\\x9b\\xfb\\x46\\x6f\\xbb\\x7f\\xc2\\x9e\\xdb\\xc2\\x6c\\xb1\\x8b\\x46\\x4c\\x3e\\x36\\x79\\xe3\\xdd\\x77\\x7f\\x58\\xd3\\x16\\xb1\\x64\\xdc\\xe0\\x83\\x77\\xe7\\xd8\\xdc\\x4f\\x76\\x5d\\xd4\\x63\\xf0\\xd0\\x01\\xeb\\x2a\\xde\\x19\\x31\\x72\\xd0\\x46\\xcf\\xeb\\xf9\\x3b\\xcd\\x18\\xdf\\x86\\x5f\\x73\\xf1\\xab\\xa6\\xa8\\x2f\\x9a\\xbb\\x6b\\xd8\\x6c\\x22\\x24\\x24\\xa5\\xc4\\x13\\x14\\x12\\x22\\xa2\\xa3\\x59\\x62\\xa2\\x1d\\x7f\\x91\\x81\\x7f\\x8a\\x6d\\x3d\\x95\\x7d\\x91\\x99\\xea\\xa8\\xa5\\x5c\\xd4\\x32\\x5c\\x11\\xd7\\x97\\xde\\x1b\\x87\\xb1\\x33\\x8f\\x3f\\x5d\\x7d\\x4f\\x54\\xd9\\x86\\x0b\\x19\\x6d\\xde\\x9f\\xb9\\xe5\\x40\\xbf\\x07\\xce\\xcc\\x93\\xb3\\x46\\x1d\\xf8\\x55\\x16\\xcc\\x99\\x38\\xea\\xe1\\xa1\\xb3\\x27\\x0c\\xd9\\x31\\x34\\x7a\\xf9\\x83\\x09\\x5e\\x19\\x79\\xd5\\x33\\xa5\\x6c\\xdb\\xa4\\x8f\\xb7\\x0e\\xf6\\x15\\x6d\\xf5\\xcd\\xf3\\x7d\\xb9\\x5a\\x3f\\x33\\x77\\xe5\\xf8\\x17\\xc6\\x4c\\x9d\\x3b\\xe2\\x41\\x85\\x59\\xed\\x3b\\x7a\\x17\\x5b\\x5b\\xe3\\xae\\x51\\xd7\\x1d\\xe9\\x60\\x73\\xdc\\x54\\x10\\x60\\x0f\\x63\\x63\\x61\\x17\\xd2\\x45\\x0c\\x31\\xb6\\x56\\x5f\\xf3\\x3c\\xcc\\x8e\\x14\\x2c\\x2b\\x77\\xa5\\x3c\\x6b\\x67\\xd2\\xc3\\xcc\\xfd\\x49\\x13\\x5e\\xdf\\x7d\\xd7\\xf5\\xc5\\xbb\\x43\\xec\\x8e\\xcd\\x05\\xf6\\x40\\x29\\x36\\x15\\xc8\\x30\\xc3\\x6d\\x63\\xa3\\x54\\xe3\\x83\\xd8\\x2c\\x35\\x27\\xe3\\x2b\\x1e\\x37\\xb7\\x4c\\x53\\xc7\\xd5\\xc5\\xc6\\xc6\\x69\\xed\\xe3\\x0f\\xb2\\x8f\\xef\\x10\\x01\\xec\\xe3\\xb5\\xa4\\xb0\\xd9\\x34\\x7b\\x56\\xc0\\xd4\\x80\\xf9\\x01\\x0f\\x07\\xec\\x0a\\x38\\x15\\x10\\x10\\xa0\\x7b\\x35\\x09\\x52\\x8d\\x33\\xc4\\x30\\x4e\\xf2\\x4c\\xe2\\xf6\\xe9\\x2a\\x19\\xa3\\x5a\\xca\\x98\\x20\\x19\\x33\\x43\\x3f\\x7f\\xed\\x71\\x7d\\x88\\x76\\xcb\\x49\\xf9\\xc8\\x83\\xbe\\xb5\\xbe\\x35\\x1b\\xcd\\x38\\xcd\\x90\\xf9\\xb6\\xc1\\xfa\\x25\\x03\\x63\\x77\\x77\\x2b\\x9b\\xfd\\x19\\x4f\\x5f\\xdb\\x54\\xdb\\x7c\\xdb\\x2a\\x9b\\x2d\\xcc\\xf6\\xbd\\x4d\\x0b\\xd1\\x6d\\xee\\xc8\\xd8\\x6e\\x36\\x29\\x9e\\xf1\\x34\\x95\\xb9\\xb2\\x50\\x16\\x4b\\x5b\\x2e\\x3f\\x4a\\xa5\\x57\\x9e\\x96\\xf6\\x30\\x2e\\x12\\xca\\xe6\\x34\\x1c\\x4a\\x4f\\x63\\x82\\x4e\\x53\\xbb\\x7f\\xcb\\xc4\\x18\\x89\\x28\\xab\\xb5\\xf5\\xf3\\x7a\\xfe\\xfa\\xf5\\x3e\\xb1\\x7e\\xfd\\x9f\\xfc\\x68\\xe4\\x4e\\x08\\xb0\\x6b\\x9a\\xee\\xb5\\xc9\\x30\\x9b\\xb4\\xc9\\x2c\\x31\\x55\\xcc\\x17\\x0f\\x8b\\x5d\\xe2\\x94\\x50\\xb7\\xcb\\x61\\xcd\\x95\\x27\\x96\\x17\\x99\\x2d\\x83\\x64\\x4b\\xe5\\xc5\\x10\\xbc\\x38\\xff\\xe0\\x46\\x39\\x55\\x4e\\x79\\xd0\\x37\\xfc\\xa4\\xe1\\x83\\x97\\x39\\xb9\\xce\\xc8\\xb5\\x3a\\xa2\\xa1\\x1b\\x40\\x09\\x11\\x09\\xb5\\xb6\\x14\\x24\\x44\\x56\\xaf\\x1e\\x11\\x51\\xad\\x4c\\xd6\\xdc\\xe3\\x89\\xb0\\x59\\x3b\\x5a\\x7a\\xd5\\x7b\\x67\\x07\\x99\\xf9\\x6f\\xfb\\x01\\x9b\\x59\\xa8\\x34\\xae\\xa3\\x79\\xbb\\xe2\\x97\\xdf\\x71\\xdf\\xfc\\x7b\\xe6\\x2c\\x7e\\xa5\\xde\\xfe\\x0e\\xb2\\xf9\\xbb\\x2f\\x7f\\xdc\\x6a\\xe1\\xe4\\xa5\\xf3\\x7c\\x3f\\xd5\\x7b\\xa9\\x9e\\x1c\\x33\\xe1\\xb1\\x9e\\x43\\x1e\\x18\\x39\\xb8\\x60\\xcd\\xfc\\x90\\x17\\x3f\\xdc\\xb8\\xac\\xeb\\x86\\x15\\xee\\xfe\\x77\\xf9\\xba\\xbf\\xfe\\xba\\x81\\x29\\xd8\\x77\\xc1\\x56\\xce\\xd9\\x24\\x4b\\xf4\\x16\\x43\\xdd\\x2d\\x13\\xec\\xdd\\x83\\xba\\xbf\\xef\\x11\\x41\\x91\\x9d\\xc3\\x3b\\xbf\\xef\\x89\\x8e\\x0e\\x6f\\x1c\\x16\\xe4\\x0c\\x1a\\x11\\x34\\x35\\x68\\x7e\\x90\\x3d\\x58\\x84\\x73\\x1c\\x0b\\x0a\\x0f\\x0a\\x6f\\xd6\\xa6\\x4d\\xd2\\x7b\\x9e\\x36\\xa2\\x59\\xc3\\xf7\\x3c\\xcd\\x44\\xfa\\x9f\\xb6\\x37\\xb8\\x1d\\x3e\\x8c\\x49\\x9f\\xae\\x1c\\x89\\xa8\\xdc\\x26\\x52\\x92\\xd4\\x26\\x97\\x6c\\x4d\\x93\\x48\\xd6\\xe7\\xb8\\x0c\\x4e\\x02\\xe6\\x44\\x6f\\x15\\x69\\x7a\\x57\\xcd\\x3a\\xbd\\x67\\xc6\\xa9\\x7e\\xc6\\x81\\x18\\x6f\\x39\\xc7\\x6a\\xd6\\x31\\x5f\\x33\\x97\\x85\\x48\\xdd\\x39\\xd3\\x1e\\x14\\xd0\\x6c\\x5d\\xef\\x7e\\x03\\x37\\x5e\\x9c\\xb5\\xc6\\x6e\\xef\\x30\\xe3\\x95\\xf6\\x29\\x75\\xb3\\xef\\x1d\\xf9\\xd0\\xca\\x85\\x3f\\x9d\\x98\\xb3\\xe3\\xa1\\x82\\xb2\\x79\\xad\\x96\\x97\\xcf\\x78\\xf3\\x93\\x65\\x5f\\xc9\\xf4\\x1d\\xc7\\x4f\\x2f\\x3e\\x95\\x97\\xd1\\xb8\\xd7\\x43\\x33\\x7b\\xb7\\x28\\x1e\\x37\\x76\\xfc\\xa4\\x9a\\x71\\xa9\\x83\\x27\\xcd\\x9a\\xf6\\x84\\x9c\\xf3\\xe9\\x33\\x1b\\x7c\\xf6\\x6d\\x73\\x93\\x9b\\x5e\\x94\\x77\\xae\\x3c\\xfe\\xe1\\x93\\xbe\\x17\\x7d\\x7d\\xbd\\xa7\\xca\\x3b\\x17\\x0c\\x1e\\x3b\\x58\\xd6\\xfa\\xed\\x25\\x79\\x51\\x8e\\x7b\\xc9\\xf7\\xfb\\xd7\\x07\\x7d\\x1d\\xaf\\x6a\\x15\\x1d\\x3b\\x1e\\xf3\\xed\\x5e\\xbc\\x60\\xd4\\x01\\xe3\\xdc\\xaa\\xf9\\x37\\x10\\xd3\\x51\\xac\\xb3\\x0e\\xf6\\x4e\\xe6\\x4e\\xb0\\x36\\xc2\\xc3\\x3e\\x61\\xd7\\x6d\\xea\\x30\\xd8\\x3c\\x2b\\xa3\\x4d\\xba\\x3a\\x11\\xea\\xdc\\xb2\\x65\\x46\\x94\\x0c\\xe5\\xd6\\xad\\xeb\\xdb\\xdc\\x15\\x27\\xdf\\x3d\\xa1\\xdb\\x3e\\xfa\\xde\\xb7\\xb8\\x49\\xf7\\xcb\\xf2\\x54\\x2f\\x79\\xa7\\xef\\x2e\\xe3\\x83\\xc4\\xfe\\x82\\xe5\\xbe\\x6c\\x79\\x59\\x18\\xf7\\xe6\\x36\\x46\\xbe\\x64\\x8b\\x70\\x96\\x9f\\x24\\xd1\\xd8\\x1d\\x17\\x14\\x5b\\x3b\\xb6\\xf6\\x08\\x4f\\x6c\\xac\\xd4\\xb4\\x98\\x11\\x1e\\x4d\\x97\\x75\\x46\\x78\\x64\\xe4\\xbf\\xaf\\xb8\\xcd\\x9a\\x36\\x90\\x32\\x91\\x85\\x88\\x2c\\xa9\\x5c\\x62\\x39\\x57\\xe8\\x19\\xae\\x4c\\xbd\\x45\\x62\\xb2\\x9e\\x08\\xc5\\x5a\\x84\\xaf\\x3e\\xcb\\xd4\\x66\\x59\\xd6\\x7f\\xe3\\x98\\xb5\\xeb\\x7a\\x6f\\xfd\\x52\\xb6\\xbc\\x67\\xf1\\xe7\\xb9\\x5f\\xc8\\x86\\x8d\\x9c\\xbe\\x57\\xaf\\x0d\\x93\\xd5\\x76\\x1d\\x8e\\xb7\\x67\\xfb\\x7c\\x83\\xb7\\x4f\\x8e\\x8e\\x58\\x71\\x6b\\xff\\x1d\\x0b\\x3a\\xda\\xa2\\xfb\\x75\\xf5\\x15\\xfe\\xb3\\xe2\\xc3\\x83\\xbe\\xa4\\x39\\xb7\\xab\\x79\\xc2\\xfa\\xf9\\xbc\\x91\\xd3\\x99\\xee\\xe4\\xf0\\xd8\\x11\\x1e\\x67\\x54\\x7a\\xd4\\xd4\\x28\\x3d\\x2a\\x2a\\xdc\\x26\\xec\\xea\\xca\\x90\\x6b\\xe7\\x6c\\x64\\xb7\\x07\\x06\\x42\\x4d\\x60\\x94\\xb8\\x71\\x54\\xe3\\x6c\\x38\\x4c\\x2d\\x2c\\xe1\\x0a\\x4d\\x9c\\x96\\x68\\xe4\\x05\\x5b\\x83\\xb5\\x4d\\x86\\x4a\\x4d\\xb6\\x93\\xd5\\xc6\\xbd\\x98\\xbb\\xf6\\x73\\xdf\\xbe\\x33\\x9f\\x8d\\xdf\\x7d\\x6d\\x9b\\xec\\xdb\\x69\\x5f\\xe4\\xc2\\xd1\\x93\\x1e\\x9d\\xd9\\x5b\\x9e\\xf0\\xbd\\xb4\\x6a\\x59\\x47\\xdf\\xf2\\x6f\\x2f\\x3e\\x26\\xef\\xf8\\xa3\\xd4\\xb7\\xbb\\xe3\\xac\\x79\\x63\\xdf\\xf6\\x1d\\x34\\xd7\\x0b\\xc5\\xdd\\x06\\xb8\\x0b\\x12\\xd1\\x22\\xce\\x1d\\xa2\\x85\\x1a\\x74\\x85\\x55\\xa1\\xeb\\x3a\\x47\\x5a\\x80\\xcd\\x62\\xc7\\x38\\x23\\x3f\\xed\\x5b\\x09\\x2d\\x99\\x5a\\xe2\\xa4\\x13\\xbe\\xef\\x64\\xe9\\x91\\x63\\x73\\xde\\x78\\xa4\\xf4\\xa5\\xa5\\xb9\\x30\\xd1\\x72\\x8b\\x6f\\xcb\\xef\\x0b\\xf4\\xa2\\x67\\x36\\x5d\\xfd\\xb9\\xe8\\x84\\xac\\x8f\\xff\\xca\\xce\\xfb\\xd8\\x09\\x16\\x2d\\xdc\\xb5\\xed\\x81\\x23\\x3c\\xb5\\xec\\x52\\xaf\\x6e\\x97\\x51\\x36\\xbb\\x9d\\x6d\\xd8\\x86\\x41\\x5d\\x04\\x8d\\xf0\\x88\\xc8\\x9b\\x0f\\x08\\x23\\x94\\xf3\\x19\\x52\\x1d\\x56\\x4c\\x69\\x23\\x03\\xf4\\x0d\\x75\\x2a\\xea\\xf7\\xd7\\x36\\xd7\\xa9\\x18\\x3d\\x84\\xe0\\xda\\xb3\\x37\\xfb\\x86\\x3c\\xe8\\xcb\\xd8\\x6c\\xae\\xad\\x1e\\x6c\\xfd\\xd3\\xf0\\xc9\\xe9\\x0e\\x37\\x54\\x4b\\xbb\\xc3\\x21\\x46\\x78\\x1c\\xba\\x3d\\xf2\\xc6\\x97\\xaa\\xb4\\xeb\\x1f\\x77\\x50\\xae\\x89\\x42\\x6d\\xbb\\xb3\\x62\\xe8\\x84\\x63\\x68\\xbf\\xbd\\x8e\\xed\\x29\\x5f\\xe4\\x96\\x8a\\xf3\\x28\\xb6\\x62\\xe7\\x35\\xf6\\xf4\\xe6\\xee\\x84\\x84\\xf8\\x11\\x9e\\x84\\x04\\xce\\x34\\xd5\\x47\\x78\\xc2\\x82\\x39\\x6b\\x93\\xc6\\x36\\x11\\x0d\\xf2\\x28\\x13\\x79\\x86\\x02\\x7d\\xc3\\x84\\xbd\\x4a\\xb8\\x8c\\x9d\\x4e\\x8b\\x31\\x02\\xc9\\x59\\x30\\x51\\x0f\\xd0\\x22\\x5f\\xfd\\x60\\xe2\\xb3\\xbf\\x6c\\x93\\xf9\\x2d\\x9f\\xab\\x7b\\xea\\xd6\\x87\\xa7\\xf7\\x95\\xb6\\x2e\\x1b\\x5b\\x75\\xf4\\x7d\\xec\\x94\\x9f\\x4f\\xf5\\x47\\xff\\x78\\x71\\x9b\\x5c\\xf0\\xdb\\x3c\\xdf\\xfe\\xd6\\xe5\\xa3\\x5e\\xf3\\xed\\x9d\\xef\\x3b\\xde\\xd0\\x25\\x73\\xb7\\x56\\x9c\\xd8\\x68\\x71\\xfa\\xaa\\xc1\\x29\\x33\\xca\\x41\\xda\\x38\\x1c\\x41\\x76\\x5d\\xff\\xd3\\x8c\\x8a\\x32\\x66\\x94\\xfa\\x5e\\x25\\x75\\x6d\\x4e\\xc5\\x2f\\x73\\xf0\\xef\\xd8\\x14\\xad\\xda\\x94\\x63\\xbe\\x3f\\xb4\\xa9\\x15\\x6b\\xec\\xd9\\x15\\x6f\\x68\\xad\\xfe\\x78\\x5e\\xf1\\x56\\x84\\xbe\\x2d\\x86\\x3e\\x97\\x3b\\xdc\\x16\\xe4\\x20\\x1c\\x8e\\x48\\xbd\\x9a\\xa8\\x86\\x73\\x7a\\xd5\\x1b\\x04\\xc4\\x59\\xe1\\xe0\\xb2\\x92\\x28\\xc7\\xe9\\x99\\x75\\x7c\\x27\\xde\\x90\\xed\\xea\\x5c\\x7b\\xbd\\x8e\\x6c\\xf7\\x86\\xef\\x04\\xbc\\x5d\\xfd\\x79\\xf3\\x66\\x5b\\x75\\x23\\x1e\\xcb\\xe0\\x6f\\x16\\x7a\\x23\\x45\\xa2\\x3b\\x2a\\x2c\\x04\\xde\\x8c\\x50\\x9b\\x9f\\xab\\xec\\x8a\\x37\\xb6\\x06\\x2b\\xd7\\xa0\\xab\\xbd\\xcc\\x34\\x56\\xb7\\x04\\x75\\xe6\\x62\\xe1\\x93\\x9f\\x3e\\xf5\\xd4\\x0b\\x43\\x07\\xbc\\x93\\xb9\\xc1\\x87\\xfa\\x2b\\xfb\\xea\\xf9\\xa3\\x9f\\x7d\\x3e\\xc8\\x19\\x55\\x5c\\x22\\x6b\\xe8\\x41\\x9b\\xaf\\x8d\\x38\\xf9\\x8d\\x19\\x77\\xf8\\xb0\\x27\\x18\\xf8\\xeb\\xba\\xe3\\x32\\x1d\\x5d\\x1d\\x5a\\x6b\\xd9\\x4d\\x8e\\xc7\\x71\\xe9\\xa8\\x66\\xab\\x42\\x4d\\x5c\\x9b\\x61\\x5c\\x80\\x12\\xa5\\xc3\\xe0\\x46\\x66\\x04\\x49\\xfd\\x2e\\xdf\\xc6\\xd7\\x0a\\x14\\x37\\x77\\x6b\\xc7\\xbe\\xa8\\xd8\\x28\\x9f\\xd5\\x16\\xec\\xf4\\xa5\\xc1\\xce\\x08\\x6d\\x5b\\xc5\\x89\\x6b\\xbf\\x2a\\xfd\\xea\\xdf\\x3d\\x95\\xe8\\xb7\\x8b\\x88\\x03\\x64\\xab\\x7e\\x23\\x5b\\x55\\x82\\xaa\\xdb\\xda\\x42\\x14\\x7c\\xa5\\x6d\\x25\\x21\\xaf\\x0e\\xde\\x6c\\x60\\x8a\\x67\\xcc\\x57\\x8c\\x89\\x13\\xb5\\xdd\\xd5\\xf5\\x6a\\xd5\\x42\\x23\\x1d\\x8e\\x98\\x50\\x3d\\xe4\\x7a\\x90\\x58\\xf9\\x23\\x8c\\xa3\\x47\\xab\\xcc\\x30\\xae\\x08\\x7a\\x6a\\xbd\\x60\\xa9\\xd6\\xc0\\xd8\\xb8\\x2c\\xc9\\xb5\\x57\\x77\\x3f\\x55\\xa3\\x5e\\x66\\xe1\\xef\\xf7\\xf6\\x0b\\xab\\xd1\\xea\\xa9\\xad\\x32\\xe0\\xdb\\x21\\x21\\xc1\\x69\\xdd\\x64\\xfc\\x17\\xbe\\x3f\\xf4\\xd1\\x77\\xee\\x9a\\x74\\xc0\\xd7\\x43\\x3e\\xd7\\xfd\\x9f\\xbe\\x77\\xaf\\x6d\\x66\\xe6\\xc5\\xb5\\x79\\x76\\xc8\\x72\\xf9\\xb5\\x19\\xcf\\xca\\xfc\\xa8\\xce\\x3c\\x88\\x0c\\xbe\\x5d\\x2e\\x63\\xa5\\x08\\xd0\\x67\\x04\\x2e\\x0c\\xd4\\x02\\x85\\x9a\\x09\\x19\\x19\\x2c\\x2e\\xea\\x3e\\x9c\\x28\\x03\\x0c\\x2e\\x24\\x79\\x99\\x21\\xb5\\x8f\\x7d\\x67\\xc2\\xa2\\x76\\xec\\x90\\x01\\x9f\\xc9\\x8c\\x90\\xb8\\x27\\x77\\xfa\\xfe\\xb0\\x4d\\xdc\\x36\\xec\\xda\\x7a\\xdc\\x5a\\xb9\\x69\\x96\\x5e\\xa8\\xd4\\xb3\\x76\\x8c\\x25\\xae\\x9b\\x8d\\x3b\\x78\\x2d\\xb5\\x76\\x04\\x46\\xb2\\x70\\xd9\\x44\\xfc\\x8d\\xa9\\x90\\xf6\\x17\\x37\\xed\\x70\\x63\\x77\\x0a\\x37\\xd7\\x90\\xdf\\xde\\x78\\x6d\\xd4\\xae\\xcb\\x9b\\x5f\\x79\\x7b\\xe4\\xbe\\xdf\\x64\\x97\\xaf\\x96\\x1c\\x2b\\x29\\x1f\\xfd\\xc0\\xcc\\x1e\\xd1\\xff\\xfa\\x68\\xab\\xbc\\x53\\x06\\x2d\\xfa\\xf4\\xd3\\x4d\\xbe\\xbb\\x7c\\xdf\\x2f\\xd5\\x1f\\x93\\x8d\\x5f\\xf5\\x4d\\x7a\\xcc\\xf7\\xfa\\xf8\\xb3\\xb2\\x67\\xe5\\xba\\x75\\xc0\\x88\\x75\\xb4\\x31\\xcb\\xc3\\xd5\\x2c\\xd7\\x38\\xe3\\x8c\\xf0\\xd8\\x74\\xed\\xa6\\x59\\x6e\\x4c\\x71\\xe3\\x24\\x6d\\x8b\\x52\\xcb\\xba\\x71\\x89\\x98\\xe9\\x2b\\x1f\\x4d\\xc0\\xe5\\x5b\\xa7\\x3f\\xb9\\xcf\\xf7\\xeb\\x3f\\x7d\\xe7\\x7f\\x19\\xe7\\x9b\\xbe\\xab\\x40\\xd3\\x2a\\x7c\\xf6\\xec\\x47\\x37\\x2c\\xf9\\x65\\x99\\xfc\\xea\\xc5\\x8a\\x6f\\xf3\\xb7\\x9a\\xbe\\xfa\\xe6\\x19\\xbe\\xd6\\xe4\\xb6\\x9d\\xea\\x8e\\x89\\x62\\x7b\\x89\\xb2\\x05\\x27\\xe3\\x6b\\x70\\x54\\xa0\\x5e\\xe8\\x19\\x11\\x28\\x03\\x85\\x99\\xc5\\x19\\x95\\xae\\x5b\\x1f\\xde\\xd8\\xc8\\xeb\\xa9\\xd3\\x7c\\x15\\x16\\xa2\\xaa\\xb2\\xa0\\x95\\x46\\x14\\x8f\\xc9\\xec\\x50\\x73\\xe4\\x80\\x0d\\x8f\\xc4\\x3d\\xbd\\xc3\\x24\\xa4\\xcf\\xca\\x57\\x3e\\xbc\\xce\\x87\\xed\\xce\\xe9\\xd5\\x17\\xc7\\xee\\x7c\\x35\\xe2\\xe2\\xab\\x95\\xbc\\x2c\\xf2\\x3d\\xe5\\xfb\\x6d\\xbb\\x3e\\xe7\\xaf\\x78\\x39\\x66\\x7c\\x6f\\x88\\x53\\x5f\\x1c\\xaa\\x6b\\x51\\xac\\x0b\\x51\\x51\\xc2\\x6e\\x27\\x3a\\xd7\\x67\\xc0\\xf5\\x3d\\xd0\\x38\\xf5\\x92\\x75\\x16\\x3f\\x6c\\x83\\xdc\\x2b\\x1a\\xb0\\x2c\\xaa\\x0b\\xc6\\x00\\xdf\\x77\\xc5\\x8a\\xa1\\x73\\xef\\x9c\\x1c\\xf7\\xca\\x9d\\xb2\\x56\\x2b\\xdf\\x2f\\xbe\\x1f\\x0a\\x64\\xfc\\xd4\\xad\\x7d\\xb4\\xac\\x8a\\x17\\xec\\xd9\\x0f\\xdc\\x3b\\xfe\\x8d\\x7b\\xa3\\x2b\\x9e\\xb6\\x69\\x3b\\x7c\\x0d\\xfb\\xaa\\xff\\x3b\\x1b\\x51\\x9f\\x9c\\x78\\xca\\xb8\\xf7\\x73\\xe2\\xae\\x96\\x24\\xe2\\xe3\\x9d\\x85\\x9e\\x5a\\xf1\\x36\\x11\\x30\\xc2\\xa3\\xab\\xbc\\x38\\xa1\\xd8\\x39\\x61\\x1e\\x82\\xe0\\xc8\\xc5\\xda\\x01\\x4d\\xad\\xb2\\x8c\\x4f\\xcc\\xe6\\x77\\x68\\x58\\x52\\x1f\\xa1\\x93\\x5d\\x61\\x32\\xba\\x8e\\x16\\x67\\x7c\\x8a\\xd6\\xe4\\x15\\x5f\\xa6\\xed\\xb8\\xf6\\xc0\\x7d\\x0f\\x1f\\x89\\xb5\\xb7\\x9f\\xb4\\x79\\xcd\\x94\\xce\\xc9\\xdd\\x56\\xbd\\x3d\\xff\\xfd\\x17\\x83\\x5e\\xd4\\xe6\\x96\\xfa\\xca\\xd3\\x6c\\xe9\\xb9\\x13\\x6f\\xd9\\x73\\x6f\\x9f\\xfe\\x9b\\x3e\\x8b\\x96\\x63\\x53\\xe6\\xcf\\xba\\xbd\\xa4\\x71\\xeb\\x1e\\x19\\xf5\\xeb\\xb7\\xea\\x34\\x20\\x73\\xd0\\x53\\x73\\xdb\\xdf\\xff\\x6c\\xe2\\xd4\\xb1\\xef\\x35\\x48\\x6f\\xd7\\xa0\\x76\\x78\\xd3\\x5e\\xd3\\x06\\x17\\x1e\\x98\\x9f\\xad\\x30\\xbf\\xc9\\xba\\x51\\xdb\\x38\\x9b\\xc4\\xb8\\xab\\x09\\xdd\\xae\\x2b\\xa6\\xac\\x1c\\x12\\xd7\\x6f\\xee\\x89\\x0e\\xbd\\xcb\\x57\\x47\\xbf\\xf2\\x65\\xd7\\xb1\\xb5\\x60\\x7f\\xb8\\x3a\\xd8\\xf6\\xd4\\x66\\x73\\x8e\\x4f\\xc1\\xe7\\x7f\\x1a\\xff\\x8d\\x85\\x68\\x77\\x50\\x44\\x80\\x2e\\xaa\\x57\\xd9\\x0d\\xac\\x29\\xc0\\xbc\\xd2\\x03\\xac\\x43\\x1b\\x8f\\x5c\\xb8\\x7f\\x78\\xfd\\x60\\xd4\\x8e\\x63\\x8f\\x45\\x8f\\x99\\xb5\\x6d\\x5b\\xc3\\x47\\x8f\\x3e\\xd1\\xc2\\xf7\\x5d\\xf4\\xa6\\xc7\\x7b\\x0f\\xd7\\x27\\x5f\\x7b\\x66\\x6c\\x97\\xb1\\x05\\xdb\\xcf\\xe8\\x39\\xd7\\x1e\\xf3\\xfd\\x72\\xd9\\xb0\\xf1\\x04\\x18\\x47\\x18\\xf7\\xd4\\xd0\\xfd\\x41\\x9a\\x1e\\xa0\\xb6\\x67\\xe3\\xdb\\x98\\x4a\\x67\\x6b\\xb1\\xd0\\x0a\\x5f\\xf9\\xf9\\xf5\\x35\\xa1\\xe1\\x8d\\x86\\xcb\\x6f\\x5f\\xb7\\x67\\x5f\\x9b\\xeb\\x39\\x3a\\xec\\x90\\xbe\\xd8\\x18\\xcf\\xb5\\xc3\\x3e\\xa1\\x72\\x1d\\xb2\\x85\\x87\\x57\\x8f\\x0d\\xd2\\xa3\\xab\\x57\\x97\\x81\\xc6\\x32\\x10\\x81\\x2a\\xf5\\xab\\x01\\x43\\x5d\\x2a\\x6b\\xae\\xae\\x7e\\x0d\\x13\\xc0\\x05\\x3c\\x2a\\xa3\\xa6\\x8c\\x8b\\x62\\x71\\x5b\\x73\\xda\\x65\\xaf\\x96\\x38\\xea\\xcc\\xe9\\x8c\\x23\\x2d\\xab\\xc7\\xf4\\x1f\\xf3\\xc8\\xae\\xd8\\x38\\xdb\\x58\\x59\\xed\\x88\\xf4\\xde\\x22\\x83\\x72\\x3f\\xf7\\xdd\\x82\\xc5\\x23\\x8f\\xed\\x7f\\xe9\\xac\\xcc\\xf7\\x7d\\xe3\\xfb\\xe0\\x88\\x1c\\xa2\\x77\\x36\\xd6\\x65\\xff\\xf3\\x16\\xbf\\xc1\\xa2\\xda\\x5e\\x5b\\xa4\\xd4\\x8d\\xef\\xaf\\x41\\x6a\\xd9\\x4d\\x36\\xfe\\xc9\\xd0\\xb6\\x4a\\xef\\xc9\\x8a\\xd3\\x32\\xef\\xa4\\xef\\x77\\x5f\\xad\\x93\\xda\\x18\\xdf\\x1b\\x27\\xf5\\x2e\\x9a\\xac\\xb8\\xa3\\x22\\x4b\\x6b\\x5f\\xf1\\x92\\xf6\\x82\\xb6\\x10\\x1f\\x5e\\x50\\xff\\x55\\x07\\xf4\\x04\\xa2\\xc7\\xcc\\xe4\\x2c\\x05\\x38\\x4a\\x69\\x62\\xd5\\x2a\\x38\\x3c\\xdd\\xe7\\x3d\\x29\\xfc\\xf2\\x9b\\x93\\x15\\x4b\\xb4\\x6e\\x5a\\x45\\xc5\\x43\\xda\\xa8\\x0a\\xdd\\xc4\\x70\\x96\\x79\\xf1\\xa3\\x71\\x26\\x60\\x6f\\x73\\xe8\\x01\\xc4\\x38\\x40\\xd7\\x98\\xb4\\xd6\\x49\\xa7\\xca\\xde\\xd6\\x40\\x66\\x1a\\xb7\\x7d\\x99\\x68\\xab\\x79\\xf5\\x95\\x5a\\xba\\xaf\\x22\\xae\\x8e\\xfe\\x62\\xc2\\x35\\xa9\\x17\\xad\\xb2\\xd5\\xdc\\xbc\\xec\\xea\\x39\\xb0\\x7c\\xe6\\x1b\\x6c\\x9b\\xc1\\x7d\\xc0\\xa1\\x56\\x3e\\x69\\xbb\\xe2\\x91\\x80\\xbb\\xe2\\x51\\x1f\\x97\\xad\\xe9\\x1f\\xa5\\xf6\\x48\\xe4\\x33\\x59\\xa2\\x25\\x27\\xf8\\xd6\\xf8\\x5e\\x92\\x53\\x13\\x7c\\x83\\x1d\\x33\\x97\\xfd\\xbe\\x6d\\x99\\xf1\\x2d\\xb9\\xa1\\xff\\x92\\xfe\\xad\\xf1\\xbd\\xb3\\xda\\x5e\\x4d\\xfd\\xdf\\x8d\\x29\\x7f\\xec\\x6a\\xd1\\xcf\\xac\\xf8\\x79\\x8f\\x16\\x61\\x7e\\xec\\x94\\xa2\\xbf\\x6f\\xb0\\xfe\\x55\\xa5\\x2d\\x87\\x76\\xc5\\xe3\\x48\\x08\\xd0\\xaf\\x78\\xb8\\x54\\x5d\\xb7\\x95\\x99\\xa8\\x20\\xcb\\xfe\\x09\\x5c\\xa4\\xda\\xfb\\xd6\\x24\\x68\\xc9\\xbe\\x15\\xbe\\xc1\\xcb\\x02\\x46\\x2c\\xfb\\xcd\\xb0\\x25\\xa6\\xcb\\x43\\xb6\\x0c\\xfc\\x0f\\x10\\x61\\xfb\\xa1\\x44\\xda\\x02\\xae\\xff\\xd6\\x4d\\x37\\xf6\\x1b\\x7d\\xe3\\x33\\xbe\\x3a\\x0f\\x68\\x0d\\xdf\\x7c\\x4b\\x1e\\xd2\\x93\\xaf\\x7d\\xaa\\x2f\\xbb\\x36\\x13\\xde\\xc6\\xf9\\xeb\\xda\\x72\\xfd\\x0b\\xd5\\xf7\\xfa\\x7d\\x52\\x3c\\x8f\\x9b\\x6a\\x45\\x75\\x40\\xcf\\xc6\\x28\\xdb\\xfb\\x51\\x9f\\x14\\x16\\x9a\\xdf\\xf5\\xb3\\x6c\\xbb\\xf5\\xa3\\xf6\\x7d\\xec\\x8d\\x21\\xfb\\x85\\xbe\\xbc\\x40\\xac\\x33\\xbf\\x05\\xd7\\xcb\\xcc\\x88\\x73\\xe8\\x1d\\xfc\\x01\\x2f\\xef\\xb3\\xd9\\x76\\x5f\\xac\\xfd\\x7d\\xb4\\x79\\xee\\xec\\xce\\x9c\\x69\\x65\\xeb\\x23\\xd2\\x44\\x6b\\xd1\\xd6\\xed\\xac\\x53\\x27\\x29\\x26\\x29\\x21\\xd7\\x13\\xd3\\xac\\x9f\\x27\\x26\\xc6\\x9e\\x14\\x1e\\xd4\\xa8\\x7a\\xa3\\x5c\\x4f\\xf5\\x58\\xbb\\xe8\\xe7\\x51\\xbf\\xf9\\x30\\xcf\\x84\\x2a\\x48\\xe4\\x69\\xda\\xf5\\x3b\\x5f\\x8a\\xb5\\xc0\\xb6\\xcc\\xac\\xbc\\x31\\x65\\x46\\xa6\\x54\\xb9\\x04\\xaa\\x73\\x57\\x44\\xb4\\xe3\\xff\\xa3\\xec\\x3b\\xe0\\xa2\\x3a\\xb6\\xff\\xef\\xdc\\xb2\\xcb\\xf6\\xbe\\x0b\\xbb\\xec\\xc2\\xd2\\x11\\x14\\x71\\x29\\x82\\x85\\xb5\\x80\\x58\\x43\\xb1\\x70\\x45\\x04\\x3b\\xf6\\x82\\xbd\\x2b\\x1a\\x3b\\x46\\x63\\x17\\x8d\\x1a\\x0b\\x1a\\x5b\\x14\\x63\\x89\\x2d\\x9a\\x18\\x35\\x31\\x46\\x13\\xd3\\xcb\\x7b\\xe9\\x3d\\xbe\\x24\\x26\\x2f\\x91\\x1d\\xfe\\x33\\x73\\xef\\xde\\x5d\\xd0\\xe4\\xfd\\xfe\\xf1\\xf3\\x12\\xdf\\xee\\xdd\\x33\\xe7\\x9e\\x99\\x39\\x6d\\xce\\xf9\\x0e\\xd9\\x7a\\xb1\\x6d\\x70\\x5e\\x45\\xae\\xc5\\x69\\x5e\\xe6\\x2f\\x87\\xdb\\x9a\\x97\\x3f\\xa0\\x3b\\x27\\xe3\\x5f\\x5d\\xb8\\xb4\\x5a\\xd1\\x15\\xbc\\xfa\\x83\\x81\\x1b\\x34\\x68\\xea\\x8c\\x88\\xb3\\x19\\x3f\\x5e\\x00\\x7d\\x95\\x03\\x15\\x31\\xbe\\xd7\\xca\\xf7\\x4f\\xd2\\x1b\\x2f\\x2d\\xdb\\xd8\\xbb\\xfb\\x44\\xf9\\x24\\x7d\\xaf\\x5e\\x9d\\x66\\x8f\\x9e\\x3b\\x3e\\xb1\\x35\\x28\\xe3\\xd8\\xc2\\xa4\\xd0\\x7e\\xf9\\x4f\\x94\\x19\\x36\\xae\\x85\\x0f\\x5a\\xa6\\xc1\\x56\\x49\\xee\\x16\\x49\\xb2\\xd2\\x6d\\xc5\\x3c\\x4b\\x77\\x59\\xda\\x1b\\x83\\x11\\xe0\\xf7\\xec\\x81\\xde\\xb3\\x14\\xcd\\x9d\\x8d\\x8a\\xa5\\x62\\xbd\\x66\\x03\\x7a\\x47\\x5a\\x4b\\x19\\xf4\\x68\\x2f\\xc8\\x2d\\x54\\x54\\x01\\x4f\\x89\\x2f\\x97\\x92\\x83\\x4f\\x0a\\x88\\xc5\\x8c\\x47\\xef\\x22\\xc7\\xc1\\x2c\\xda\\x83\\x72\\x4f\\x06\\x79\\x03\\x9a\\x32\\x05\\xe5\\xa8\\x33\\x8c\\x74\\xef\\xdf\\x32\\xe8\\x10\\x17\\x73\\x94\\x73\\xea\\x1e\\xd4\\x17\\x45\\xb1\\x8b\\x7f\\x05\\x6d\\x42\\x33\\x21\\xdc\\x50\\x3e\\x74\\x7e\\x5d\\xc5\\xb8\\x29\\x33\\xb7\\x96\\x98\\xcf\\x24\\x4f\\x96\\xeb\\x9e\\xec\\xc1\\xfe\\x08\\xf9\\x1d\\xd7\\xe1\\xc1\\xb2\\xd9\\xf0\\x0b\\xf8\\x15\\xfd\\xdb\\xcc\\xf1\\x3b\\xe1\\x8b\\xd5\\x73\\xaa\\x9e\\x05\\xbd\\xc9\\xda\\x98\\x84\\x78\\x1c\\x8e\\xe6\\xc2\\x45\\xe5\\x7a\\x8d\\x94\\x51\\x6f\\xac\\x30\\x4e\\x32\\x2e\\x34\\x5e\\x36\\xbe\\x69\\x94\\x2b\\x18\\x23\\x46\\x42\\xb2\\x39\\x5c\\xf9\\x46\\xa3\\xcd\\xa6\\x2b\\xe0\\x6d\\x56\\x2a\\xa4\\x80\\xff\\x14\\x85\\xf8\\x2c\\x8a\\xb8\\x24\\xd7\\x8d\\x44\\x2b\\x49\\x24\\xb3\\x0c\\x90\\x29\\x91\\xa7\\x07\\xb3\\x8b\\xe2\\x54\\x3a\\x5a\\x74\\x84\\xe9\\x2f\\x4f\\xdd\\xbc\\x32\\x66\\xfa\\x93\\x47\\x87\\xcc\\x9c\\x39\\xee\\xd9\\xb8\\xf3\\x91\\x1b\\xef\\xcd\\x7e\\xed\\x76\\xf1\\xbe\\x6f\\xd9\\x3e\\x47\\x36\\x69\\x65\\xfd\\x2b\\xd7\\xc0\\x9b\\x2b\\xab\\x67\\x8f\\x19\\xaf\\xae\\xd8\\xc1\\x5f\\xbb\\xb4\\x00\\x44\\xbc\\x3d\\x56\\x90\\xe5\\xa4\\xc6\\xaf\\xd8\\x9b\\x48\\x96\\xa1\\xc8\\x06\\xc7\\x7b\\xcd\\x66\\x8b\\x1e\\xb9\\x36\\x4a\\x46\\x19\\x5d\\xc0\\x2b\\xf5\\x4c\\x78\\x01\\xcf\\x58\\x9b\\x64\\x90\\xc9\\x91\\x91\\xb4\\x2c\\x90\\x81\\x43\\x91\\x34\\x51\\x6b\\xd1\\xe8\\xff\\xc7\\x0a\\x72\\x4c\\x17\\xd2\\x4f\\x34\\x63\\xcb\\x3d\\x35\\x6b\\xe7\\xa6\\xd0\\x89\\x60\\xd9\\xac\\xa7\\x91\\xc5\\x19\\x50\\xff\\x20\\x92\\x3b\\x1c\\x0a\\x0d\\x65\\xc3\\x17\\x1c\\x18\\x3a\\x6e\\xea\\x80\\xb9\\x7c\\x87\\xa3\\xa3\\xcb\\x0f\\x1c\\x1a\\x32\\x97\\xce\\xe8\\x3f\\x74\\x26\\xb8\\xf2\\xd0\\x74\\x32\\x99\\x4d\\x5a\\xf0\\xec\\xb4\\xb1\\x3b\\x41\\xcf\\xf9\\xb3\\xa6\\x16\\x1e\\x86\\xdf\\x89\\x39\\x18\\x24\\xcf\\x12\\x24\\xcf\\x30\\x2a\\x12\\xaf\\xed\\x10\\xe4\\x6c\\x39\\x29\\xb4\\x98\\x9d\\x4e\\x27\\x6d\\x66\\x9d\\x4e\\xb5\\xd9\\x6c\\x2f\\xe0\\xcd\\x7a\\x35\\x57\\xc0\\xab\\xad\\xcd\\xe3\\x9d\\x40\\x3e\\xc3\\x6f\\x2f\\x6c\\x32\\x36\\x5a\\x8a\\x22\\x0c\\x66\\x1d\\x00\\x68\\x69\\xbb\\x33\\xf5\\xa0\\x9d\\x66\\xde\\xe4\\x91\\x47\\x5a\\x6c\\xcc\\x85\\xbe\\xbd\\x57\\x5e\\x2f\\xd8\\xf5\\xd9\\x53\\x60\\xb1\\x85\\x85\\x0b\\x96\\x5e\\x88\\xa1\\xf3\\x59\\xf0\\x47\\x6e\\xda\\xa2\\x95\\x25\\x7d\\x5a\\xce\\x5d\\x72\\xe3\\xc2\\x5c\\xe0\\x7e\\x6b\\x1c\\x5c\\x5a\\x3a\\x3a\\x14\\xdc\\x3d\\xba\\x2d\\x9f\\xa0\\x04\\xbf\\x87\\x74\\x22\\x24\\x6b\\x33\\xd2\\x6b\\x50\\x1a\\x90\\x14\\x51\\x34\\x2d\\x63\\xd0\\x2e\\x94\\x61\\xa8\\xb3\\x1c\\xe9\\xb8\\x51\\x32\\x81\\x99\\x24\\x23\\x69\\x13\\xe3\\x4e\\x39\\x0a\\x9b\\xd6\\x9f\\xae\\x3f\\x0d\\xff\\x72\\x00\\x19\\x97\\xf0\\xef\\xcf\\xf2\\xf6\\x26\\x85\\x3b\\xcf\\x24\\x8f\\x9e\\x92\\x6b\\x06\\xdf\\x3b\\x98\\xc3\\x0d\\x7d\\x99\\xc3\\x35\\x61\\xaf\\x1f\\xd1\\x84\\xac\\xe3\\xd4\\xad\\x46\\x8f\\xac\\x11\\xe4\\xf3\\x04\\x2c\\x61\\x97\\xb1\\x3d\\x51\\xac\\xde\\x06\\x67\\x48\\xc3\\x75\\x96\\xb8\\x02\\x3e\\x54\\xa9\\xb1\\xe8\\x35\\xad\\x0a\\x78\\xb4\\xac\\x34\\x16\\x4a\\x8e\\x76\\x86\\x90\\x2f\\xc1\\xfb\\x9d\\xfc\\x27\\x4b\\xf0\\xb4\\x01\\x4e\\x25\\x62\\x9f\\xc1\\x94\\x19\\x2d\\x93\\xe4\\x82\\x27\\x17\\xed\\x18\\x0f\\xf2\\xa1\\xb1\\x93\\x27\\x46\\x5a\\x24\\xa9\\x48\\x83\\xc3\\x07\\x8f\\xb3\\x17\\xe8\\xa1\\x83\\xfe\\x6a\\x17\\x47\\xaf\\xf9\\xb5\\x76\\x5d\\xc1\\x92\\x4b\\x8b\\x26\\xaf\\xb7\\x33\\xf2\\x18\\xee\\x39\\x93\\x6b\\x77\\x72\\x23\\xf5\\xd3\\xe4\\x51\\x03\\xe7\\x97\\xb4\\x2b\\x1b\\x5b\\xb0\\xa6\\x32\\x03\\x96\\xac\\x5c\\x14\\xd6\\xb3\\x10\\xb4\\xbb\\x72\\x67\\xc7\\x33\\x73\\xc1\\x13\\xb7\\x47\\x8f\\x1e\\x12\\xbb\\x4a\\x51\\x54\\xd3\\x70\\xed\\xf3\\x2f\\xd9\\x21\\xf3\\x6b\\xfa\\xec\\x87\\x3f\\x96\\x4e\\x18\\xde\\x7f\\xf7\\xfb\\x64\\xff\\x14\\x20\\x39\\x76\\x47\\x72\\x0c\\xa3\\x1c\\xc8\\xb6\\x86\\x84\\x6a\\x2c\\x21\\xe6\\x02\\x3e\\x04\\x5f\\xd3\\x97\\x23\\x38\\x01\\xf8\\xf8\\x02\\xe0\\x95\\xe7\\xf1\\x2b\\xa4\\x68\\x53\\x86\\xa8\\xa3\\x90\\xef\\x35\\xe9\\x54\\x4f\\x55\\x2c\\xd3\\xe5\\xf4\\x22\\xe0\\xd6\\xac\\x3e\\xb5\\x4c\\x35\\x60\\xd0\\xdc\\x97\\x22\\x66\\xd7\\x73\\xaf\\xc3\\xd9\\x6d\\xd7\\x94\\x4f\\x80\\xbe\\xac\\x4e\\xbe\\x14\\xfa\\x74\\x76\\x42\\x49\\xd1\\xa9\\xed\\x3e\\x5c\\x63\\x88\\x71\\xfa\\xd9\\x50\\x34\\xa6\\x02\\x6d\\x01\\xa4\\x57\\x54\\xca\\x62\\x5e\\x45\\x29\\x64\\x05\\xbc\\x42\\x47\\x71\\x0c\\x5a\\x58\\x8c\\x45\\xb2\\x6a\\x82\\x8d\\x88\\x15\\xc3\\xb5\\x4c\\x77\\x3c\\xce\\x86\\xd5\\x82\\xb9\\xe1\\x0d\\x2d\\xc2\\xc1\\xfe\\xed\\xf0\\x25\\x07\\xf8\\xf5\\x99\\xd8\\xeb\\xb1\\x35\\x35\\x35\\x8c\\xab\\xe6\\xee\\xe5\\xcb\\x14\\xdd\\x78\\x05\\xd9\\x9c\\x87\\x88\\xbe\\x1e\\xf9\\xd7\\xc8\\xdf\\x35\\x1a\\x8a\\x79\\x23\\xa5\\x51\\xa2\\x55\\xac\\xd3\\x2a\\xac\\x14\\x1a\\xc8\\x6f\\xea\\x3c\\x92\\x11\\x12\\x73\\xbc\\xfe\\xd8\\x96\\xc5\\x59\\xb7\\xf7\\x9f\\xd8\\x91\\xe4\\x58\\x3b\\x67\\xc1\\xde\\xd0\\xf3\\x70\\xb4\\x83\\xee\\xf9\\x6e\\x0c\\xfc\\x1d\\x39\\x67\\xd7\\x63\\xe1\\x00\\xbb\\x61\\x75\\x54\\xf5\\x4c\\xe6\\x95\\x9a\\x87\\x87\\xce\\xbd\\x25\\x3b\\x85\\x86\\x45\\xb2\\xac\\x26\\x7e\\xfd\\xeb\\x24\\x86\\x33\\x29\\x91\\x4b\\x4f\\xcb\\xbd\\xc6\\xb0\\x7c\\xb9\\x3c\\x44\\xc7\\x51\\x42\\xca\\x36\\x27\\x07\\xad\\x08\\x24\\x52\\x12\\x36\\x05\\xc7\\x70\\x89\\xf0\\xd7\\xcd\\x7d\\xea\\x41\\x64\\x7d\\x3d\\xdd\\xe9\\x2d\\xdf\\xcf\\xa0\\x3f\\xf8\\x75\\x28\\x9c\\xc8\\xbd\\xde\\x30\\x84\\xd6\\xc0\\x14\\xdf\\x66\\x4c\\xdf\\x89\\xe8\\xeb\\x88\\xdc\\x1c\\x5e\\x2d\\x91\\x17\\xf5\\x88\\xbc\\x82\\x65\\x45\\x3f\\xed\\x97\\xd3\\xb7\\xf0\\x53\\x07\\xb8\\x87\\x64\\xc4\\x1e\\xaf\\x11\\xe2\\x4d\\xf4\\x0f\\xbb\\x03\\xed\\xf3\\x54\\x2a\\xc1\\x6b\\x0e\\x37\\x9b\\x43\\xa9\\x96\\xb2\\x50\\x44\\x32\\x32\\x54\\x6f\\xd0\\xc5\\x2b\\x09\\xb3\\x6d\\xc4\\x5d\\x64\\x10\\xf9\\x0d\\x9a\\x76\\x53\\x47\\x26\\x1d\\xad\\x57\\x0f\\x59\\xbd\\x4e\\xf1\\xbf\\x96\\xa6\\x6b\\x03\\x1c\\x5a\\x6a\\x4d\\x68\\x91\\x33\\xd5\\x3d\\xfd\\xe0\\x3e\\xb9\\x46\\x15\\xb2\\xd1\\xa4\\xa0\\xb3\\x66\\xf7\\x2c\\xe9\\x4a\\x77\\x58\\xd4\\xb7\\xa4\\xc0\\xba\\xba\\x0e\\x7f\\xdf\\x69\\x62\\xe4\\x6c\\xfa\\xe8\\x84\\x0e\\xed\\x52\\xce\\xd7\\xf9\\x76\\x33\\xc5\\x51\\x3d\\xbb\\xb4\\x96\\x2f\\x68\\x3d\\xb6\\xa4\\xbc\\x5c\\x36\\x66\\xe0\\xa0\\xe1\\x3d\\xa7\\xa0\\xe5\\x43\\xbe\\x3f\\x78\\x00\\x2f\\x1f\\x71\\xcd\\xf6\\x20\\x3a\\x3f\\xdc\\xab\\xb5\\x50\\x61\\x61\\x88\\xef\\x30\\xc4\\xb6\\x52\\x14\\xb1\\x98\\x1e\\x7b\\x84\\x5f\\xb3\\xb8\\x86\\x31\\x9f\\xf4\\x43\\x69\\xa9\\x12\\xe6\\x0e\\x19\\x54\\x4c\\xd7\\x73\\x4b\\x80\\x43\\xbb\\x3a\\xb0\\x58\\x45\\x6e\\x64\\x73\\xda\\xa2\\x85\\x9c\\x95\\xe7\\x4b\\xf1\\xeb\\xf2\\x1f\\xd8\\x32\\x34\\xbe\\x0e\\xcd\\x08\\x8e\\x1d\\x4d\\x64\\xc3\\x84\\x05\\xec\\xa1\\x3f\\x76\\xcc\\x34\\x52\\xc2\\x11\\x95\\x16\\xf8\\x4f\\x69\\xc5\\xe0\\xf1\\xb7\\xf3\\xd7\\x8d\\x99\\xc0\\xf3\\xcd\\xab\\x57\\xfa\\xee\\xf9\\x0a\\x44\\x8c\\x9f\\xbe\\xe4\\x48\\xf9\\xa7\\x23\\x6a\\x46\\x65\\x9b\\x5f\\xb9\\xf8\\x44\\x05\\xb0\\x81\\xb0\\x33\\xe7\\x96\\xc1\\x7b\\x6f\\x8f\\xa1\\xbf\\x98\\x37\\x77\\x1b\\x7c\\x63\\x39\\x6c\\x28\\x3e\\x0a\\xc8\\xb4\\xd1\\x8d\\x3e\\xe4\\xbf\\x0d\\x62\\x0b\\x70\\x94\\x84\\xd6\\xb7\\x99\\xd1\\x52\\x46\\x23\\xb2\\xcd\\x46\\xbd\\x52\\x27\\x73\\x50\\xd1\\x01\\x3e\\x44\\x51\\x64\\x09\\x86\\xd9\\x2c\\xc3\\xb3\\x93\\x29\\x89\\x01\\x5b\\x66\\x26\\x58\\xdb\\x60\\xcb\\xfc\\x47\\x6b\\x4e\\x5f\\x7e\\xea\\x2f\\x87\\xf2\\x98\\x51\\xc6\\xe6\\x1d\\x9b\\x0b\\xd2\\xc2\\x26\\xa4\\xf3\\xa3\\x87\\x2c\\x1b\\xd6\\x7e\\x5c\\xd5\\xb4\\xad\\x83\\xcc\\x67\\x94\\x83\\x60\\x18\\xc7\\x2c\\x2f\\x31\\x2f\\x88\\x18\\x5d\\x0e\\x8f\\x97\\x2f\\xf0\\xdd\\xa4\\x1f\\x8e\\x9b\\xd2\\xef\\x79\\xf8\\xe7\\xc0\\x59\\x53\\x6b\\xc1\\x60\\x41\\x46\\x88\\xc7\\x25\\x6c\\x0f\\x64\\xef\\xe2\\xa8\\x68\\xaf\\xc9\\x88\\xb8\\xd2\\x21\\xb7\\xd7\\xaa\\x76\\xc8\\x51\\xc8\\x8d\\x58\\xd4\\xfb\\x59\\x14\\x3c\\x07\\xe0\\x57\\x82\\x48\\x54\\xd1\\xc6\\x20\\x8f\\x08\\x34\\x75\\x1d\\xe6\\x2d\\x5e\\xe1\\xa2\\x35\\xe1\\xec\\x31\\x79\\x24\\x7c\\x78\\x6a\\x9c\\x96\\xee\\xf5\\xfc\\x6c\\x64\\xfa\\x26\\xd0\\x0b\\xc6\\x4e\\x9d\\xb6\\x8d\\x2f\\x1d\\xb1\\xe0\\xc0\\x10\\xb6\\xc7\\xc0\\xc1\\x9d\\x86\\xca\\xac\\x4f\\xff\\xf5\\x0a\\x1d\\x97\\x35\\x61\\x68\\xdd\\x41\\x6c\\xf8\\xe0\\xaa\\x39\\xd3\\x76\\xc2\\xa3\\x0b\\xaa\\xa6\\xec\\x02\\x42\\x6d\\xc5\\x05\\xb4\\x8e\\x16\\xa0\\x79\\xb4\\xe1\\x59\\xb4\\xd0\\x45\\xbc\\x45\\xaf\\x97\\xa9\\x74\\x32\\x6c\\x3e\\x8c\\x59\\xc4\\x74\\xf8\\x97\\x4f\\x46\\x7a\\xbc\\x07\\xaf\\x6f\\x0f\\x8e\\xf0\\x6c\\xec\\xe0\\xb1\\x23\\x76\\xfd\\x1e\\x33\\xac\\x7e\\x79\\x18\\xf3\\x9c\\x4c\\xc6\\x75\\xaf\\xaa\\x29\\x1f\\x33\\x84\\xd9\\x64\\xfa\\xe5\\x45\\xc8\\xd2\\x17\\x96\\x6f\\x1d\\xd4\\xa6\\x4f\\xe7\\xb6\\x93\\x2b\\xd3\\x0d\\x52\\x8c\\x95\\x8b\\x6c\\x46\\x4b\\x2a\\xd9\\x6b\\x43\\x71\\xa5\\xcd\\x16\\x81\\x55\\x10\\x30\\x32\\x0e\\x9b\\x1e\\x5b\\x0b\\x16\\x4f\\x98\\x10\\x5c\\xfa\\x8d\\xa8\\x58\\x1a\\x23\\x04\\x98\\x68\\x19\\xa7\\x80\\x56\\xb4\\x18\\x5f\\xfa\\xfd\\x13\\x24\\x12\\xe4\\xdc\\xe3\\xc0\\x97\\xa6\\x6e\\x5d\\x94\\xef\\x63\\x26\\x6e\\xdc\\xb2\\xad\\xb8\\x7c\\xea\\x92\\xb1\\xed\\x3a\\xcf\\xab\\x1f\\x7f\\xfc\\xec\\xfe\\xca\\x69\\x2b\\x57\\x77\\xeb\\xff\\xf1\\xd4\\x3c\\xe7\\xfc\\x6f\\xcc\\x0b\\xd6\\x44\\x94\\xf4\\x9e\\x50\\x9a\\xda\\xd9\\x1e\\x11\\xd3\\xae\\x5f\\x87\\xfc\\xa7\\x46\\xa6\\x3f\\x39\\xdf\\xcc\\xe5\\x75\\xab\\xe8\\xd7\\xaa\\x9d\\x35\\x3b\\xad\\x4b\\x5e\\xf2\\xa8\\xb3\\xf8\\xda\\x55\\xa0\\x6e\\xbc\\x8f\\xfc\\xed\\xbe\\x68\\xee\\xa2\\xbd\\x46\\xa3\\x06\\xad\\x2c\\x6b\\x48\\x28\\x1d\\x5a\\xc0\\x73\\x34\\xcb\\xd2\\x3a\\x5c\\xf6\\x62\\x08\\x32\\xaf\\x99\\x1e\\x5c\\x54\\x26\\x77\\x33\\x72\\x3c\\x47\\xa2\\x4f\\x8b\\x82\\x46\\xa0\\x76\\x1c\\x9a\\x3c\\x33\\x13\\x1c\\x77\\xc0\\x82\\x05\\x5c\\xaf\\xc2\\xa5\\x87\\xec\\xc7\\xeb\\x56\\xad\\x0c\\xa9\\x46\\x86\\x15\\xd8\\xe1\\x57\\x35\\xbe\\xa9\\xc9\\x59\\x19\\x51\\x2b\\x5a\\x0d\\x1b\\xd3\\x32\\x9a\\x7e\\x46\\xd0\\x4b\\xcb\\x90\\xac\\x16\\xb3\\xd9\\x54\\x04\\xde\\xdb\\xd6\\x30\\x8a\\xec\\x6d\\xab\\xc1\\xa2\\x44\\xbb\\x2d\\x68\\x6f\\x83\\xe0\\x80\\x54\\xcb\\x58\\xa2\\xd3\\x32\\x02\\x6b\\xc6\\x04\\xde\\x59\\xaa\\xed\\x37\\xac\\xfa\\x8c\\x73\\xf6\\x29\\x61\\x73\\x5b\\xe4\\x4c\\xf1\\xd9\\xe9\\xeb\\x57\\xea\\x56\\xb3\\xd9\\xbe\\xa2\\x7c\\x4f\\xdf\\xbc\\xfa\\x5a\\xba\\xaa\\xe1\\x08\\xd9\\xde\\xaa\\xa5\\x89\\x93\\xca\\xa6\\x2e\\x68\\xdf\\x87\\xbe\\x23\\xf0\\x70\\x14\\xad\\x8b\\xfb\\x88\\x07\\x35\\x8a\\x57\\x55\\xb4\\x4e\\x8e\\xfd\\x89\\xa0\\x78\\x35\\x02\\x64\\x66\\xa0\\xbd\\x4b\\x0f\\xbd\\xf7\\xe9\\xcd\\x6a\\x85\\x92\\xb5\\xc7\\xb5\\x05\\x3b\\x6e\\x20\\xc2\\xde\\xae\\x53\\xd3\\xd3\\x0b\\x46\\xd2\\x57\\x30\\x82\\x30\\x52\\xcd\\x6e\\x44\\x43\\xc8\\x9d\\xe9\\x74\\x6a\\xab\\x5c\\x67\\x54\\xab\\x01\\x5e\\x5c\\xcd\\x62\\xd6\\x78\\x39\\x29\\x1c\\x44\\x3e\\x49\\x0e\\x0a\\x59\\x4d\\x36\\xc1\\x79\\x5e\\xf7\\xba\\xc7\\xd8\\x19\\xde\\x7f\\xcd\\x71\\x22\\x8c\\xb6\\xc8\\xe3\\x3b\\xbc\\xff\\x52\\x8a\\x96\\xb3\\x76\\xfb\\xf0\\x38\\x78\\xf7\\xe6\\x2a\\xdf\\x77\\x68\\xb8\\xdd\\x59\\xdf\\x47\\xf5\\x5f\\x08\\xea\\xe0\\x80\\x7b\\xf6\\x5e\\xff\\xa2\\xcb\\x49\\xac\\xf8\\x00\\xe7\\x50\\xd0\\xb8\\x2a\\xca\\xea\\x55\\xc9\\x95\\xc8\\xd3\\x0d\\xe1\\x74\\xb4\\xa0\\x18\\x3d\\xb8\\xe0\\xca\\xcd\\x90\\xb0\\x95\\x04\\x9e\\x4c\\xbb\\xef\\xe1\\xa8\\x2b\\xb4\\x0a\\xbe\\xff\\xea\\x07\\x60\\xee\\x0d\\xa8\\x01\\x6d\\xc1\\x79\\xd8\\x95\\x4e\\xa6\\xb5\\xb0\\x14\\xec\\xf3\\xfd\\xe6\\xbb\\x8b\\x69\\xfe\\x8c\\xf6\\xf2\\x2f\\x88\\xa6\\x95\\xca\\xf4\\x6a\\x8c\\x4a\\x1d\\xa5\\xd3\\xeb\\x22\\x75\\x8c\\x9d\\xd5\\x9d\\x69\\xfc\\x97\\xd7\\xa8\\x31\\xe4\\xeb\\x22\\x15\\xea\\x7c\\x9d\\x59\\x61\\xa1\\xb8\\x20\\xe3\\xea\\x49\\x4a\\x22\\x47\\x00\\xd8\\xbc\\x0a\\xd6\\x15\\x47\\xfa\\x26\\x17\\xb0\\x60\\xf9\\x01\\x2d\\xa8\\xcc\\x4f\\xb5\\xc7\\xa4\\x3c\\xb1\\xa7\\xbb\\x03\\xfe\\x75\\x79\\xb5\\x2a\\x56\\x99\\x0e\\xde\\xb8\\xe8\\x1b\\xb9\\xfa\\xdf\\x70\\x80\\x6a\\x99\\x6c\\xfa\\xa2\\x54\\x36\\xc5\\x37\\x3f\\xf5\\x82\\xde\\x5a\\xc2\\x18\\x1f\\x5e\\xfb\\xe5\\x34\\x92\\x6b\\x0b\\xf4\\x7e\\x93\\x10\\x2f\\x24\\x16\\x96\\xd1\\x1c\\x8d\\x56\\xa5\\x0e\\xc8\\x15\\x68\\x17\\x29\\x2c\\x4d\\x63\\x61\\x8f\\x3f\\x14\\x96\\xb7\\x70\\x30\\xb9\\xbe\\x05\\x0e\\xa6\\x97\\xbd\\xe1\\x2c\\x7d\\xdb\\xb1\\x82\\x89\\x5b\\xb5\\xa2\\xe1\\x83\\x55\\x78\\xae\\xdf\\x46\\xef\\xf6\\x11\\xb2\\xa9\\x2d\\x50\\xfc\\x10\\x1d\\x19\\x9d\\x10\\x1a\\x66\\x09\\x0f\\x57\\xc9\\x19\\x25\\xa5\\x52\\x3e\\xe0\\x75\\x5a\\x95\\x0a\\x45\\x15\\x96\\x07\\xc8\\x81\\xa0\\x12\\x82\\x42\\x64\\xc1\\xcf\\x45\\x9a\\x8b\\xec\\x55\\x43\\x16\\x32\\x91\\x59\\x46\\xbc\\x69\\x81\\xb0\\x02\\x33\\xd3\\xd0\\xde\\xc5\\x13\\x89\\x14\\xad\\x5b\\x4e\\x94\\x08\\x9a\\x5f\\x0b\\x3e\\xa7\\x11\\x02\\xba\\x76\\xf8\\xec\\x7d\\xc2\\x12\\x79\\x2e\\x37\\x67\\x92\\x7d\\xc9\\x41\\x53\\x6e\\xf8\\xe5\\x25\\x40\\xe1\\xb8\\x57\\x56\\x61\\xea\\x6a\\xaa\\x1d\\x5f\\x34\\x82\\xeb\\x1a\\xd2\\xb5\\xfb\\x3d\\x14\\x74\\xcf\\x19\\x1f\\xe7\\x06\\xe5\\x6d\\x8a\\x07\\x73\\x2b\\xb8\\x39\\xa3\\x40\\xc5\\xaa\\xbd\\xab\\x4a\\x2b\\xe1\\xfe\\x21\\x9b\\xd0\\xba\\x98\\x56\\x14\\x61\\x83\\xfb\\x5a\\x44\\x76\\x6a\\xbb\\x0a\\xc5\\xb1\\x26\\x38\\x80\\x3e\\x2b\\xc6\\xe4\\x40\\xaa\\x15\\x33\\x78\\x0c\\xb4\\x69\\x3f\\x0e\\xde\\x49\\x38\\x8d\\xe6\\xf3\\x7b\\xe4\\x1f\\xfd\\x86\\x9e\\x4b\\xa4\\xba\\x79\\x63\\x62\\xe3\\xa2\\x28\\x83\\xc6\\x22\\xe3\\x14\\x40\\xe1\\x8e\\x72\\x47\\x3d\\xe0\\xed\\x2e\\xb7\\xdb\\x4a\\x59\\xd1\\x4b\\x5b\\xd1\\xd3\\x7f\\xf7\\xd2\\xf8\\x8d\\x0d\\x59\\xe4\\x3f\\xa9\\xad\\x99\\x4c\\xb2\\x15\\xd1\\x0b\\xa7\\xb7\\x02\\xe9\\x99\\xc4\\xf0\\x26\\x81\\x4c\\xb7\\xe0\\x13\\x20\\xbd\\x60\\xc3\\x85\\x39\\x48\\x04\\xd1\\x16\\xc7\\xbd\\xd2\\x61\\xe6\\xae\\xa6\\x9d\\x63\\xfa\\x0e\\x45\\xaf\\x98\\x87\\x5e\\x11\\x28\\x26\\x2f\\x46\\x72\\x98\\x59\\x65\\xaf\\xae\\xb3\\xe4\\x86\\xbd\\xbc\\x04\\x05\\xff\\xfc\\x18\\x50\\x3a\\x72\\xa3\\x8d\\xb6\\xce\\xec\\x93\\x06\\x06\\xb6\\x88\\xec\\x9c\\xb9\\x6a\\xf6\\xb8\\xb8\\x68\\xb8\\x2b\\xb5\\xb0\\x02\\xc9\\x61\\xe6\\x58\\xb8\\x7b\\xe9\\x21\\x72\\x16\\x4d\\x27\\xb2\\x6b\\x99\\x78\\xb4\\xc0\\xdb\\x79\\x63\\x29\\xfd\\x11\\x1e\\x99\\x97\\x08\\x2a\\x85\\x62\\x8c\\x0c\\xe5\\xb5\\x85\\xe7\\x53\\x5e\\xb4\\x32\\x29\\x95\\xd7\\xa4\\x52\\x71\\x47\\xf8\\x1c\\x15\\x50\\xe1\\x4c\\x27\\x5a\\x1f\\xf6\\x50\\xfd\\x2d\\xb2\\x3e\\xdb\\x88\\xd6\\x87\\xe8\\x2e\\xa2\\x42\\xe2\\x89\\xd6\\xcf\\xcc\\x00\\x07\\x0a\\xd7\\x77\\x9d\\xd9\\xa5\\xba\\xda\\xd9\\x63\\x46\\x71\\xee\\xf2\\xae\\x33\\x4b\\xba\\xcc\\xee\\x15\\x3e\\x9f\\x89\\x6f\\x65\\x6f\\x39\\x68\\x63\\xcb\\xe8\\x64\\x7b\\xcb\\x84\\xd6\\x6b\\xfb\\x52\\x14\\xb9\\xbd\\x87\\xfc\\xa3\\x97\\x91\\x9b\\x8e\\x68\\x30\\x12\\xfe\\xce\\xb4\\x11\\xcf\\xdb\\xc3\\xbd\\x2a\\x8a\\x92\\xd3\\x72\\xd9\\xce\\x52\\xb9\\x8e\\x3e\\x03\\xb4\\x4d\\x2a\\x8e\\x3d\\xc8\\x09\\x94\\x47\\x67\\xd2\\x99\\x1b\\x76\\xbf\\x0c\\x5e\\x8f\\xbf\\x12\\x4f\\x1f\\x69\\xe8\\xce\\x75\\x25\\x67\\xb7\\x80\\x5a\\xd3\\x78\\x95\\x5d\\xc4\\x0d\\xa3\\xa2\\x29\\xde\\x9b\\x69\\x2e\\x37\\x4d\\x34\\xd1\\x3a\\xd3\\x25\\x13\\xad\\x67\\x4c\\x46\\x6c\\x46\\xc3\\x00\\xa9\\xa5\\xd5\\x19\\x17\\x18\\x8f\\x19\\x6f\\x1b\\x59\\x85\\x31\\x44\\x41\\x31\\x40\\xc7\\x30\\x8c\\x02\\xad\\x62\\x25\\x85\\x23\\xa3\\x14\\x52\\x0f\\x4c\\x22\\xb4\\x14\\x4f\\xca\\xe0\\x32\\x5c\\x5e\\x8b\\x8f\\xc8\\xf1\\x09\\x39\\xce\\x11\\x0a\\x87\\xb1\\x3a\\x10\\x9d\\x89\\x73\\xbd\\x46\\x9c\\x6a\\x10\\xaa\\x69\\x89\\x77\\x80\\x6d\\x2f\\x9d\\x37\\xe9\\x60\\x5c\\x7d\\xeb\\xbf\\xf6\\xc6\\x2d\\x8c\\x3b\\x78\\xaa\\xe0\\xe9\\x37\\xe6\\xc4\\x2c\\x8c\\xd9\\x7a\\x84\\x3e\\x3f\\x63\\xd2\\xe0\\x0d\\x63\\xb3\\xab\\x81\\x66\\xfc\\x38\\xf5\\x9a\\xb3\\xda\\xab\\x57\\x35\\x97\\x9f\\x9b\\x0e\\xa8\\x8b\\x13\\x95\\x67\\xce\\x68\\xea\\xd6\\x68\\x87\\x0f\\xeb\\xbe\\xfe\\xad\\x41\\x4f\\x2e\\xc5\\xeb\\xee\\x36\\xf6\\x39\\xb9\\x81\\xc8\\x23\\x40\\x7b\\x2d\\xc2\\x6e\\x0b\\xd1\\x44\\xe9\\x5d\\x0a\\xb5\\xa2\\x8a\\x77\\xa8\\xd5\\x8c\\x5e\\x6f\\xab\\xc2\\x87\\xd1\\x72\\x36\\x8a\\x89\\xaa\\xe2\\xe3\\x98\\x50\\xa9\\x66\\xd4\\x93\\x12\\x28\\xca\\x20\\xee\\x28\\x5e\\x79\\xc8\\xd3\\x95\\x45\\xa3\\xa8\\x8e\\xce\\x41\\x7c\\x7b\\x32\\xc9\\x91\\xb9\\x10\\xdd\\xa1\\x08\\x10\\x99\\x23\\x52\\x0a\\x86\\xde\\x8c\\xe5\\xcb\\xcf\\x35\\xac\\x75\\x95\\x0f\\xc8\\x36\\x38\\xce\\x85\\x9f\\x6b\\x11\\x47\\x35\\xbe\\xb1\\xad\\x5e\\x73\\x56\\x39\\xba\\xcf\\xec\\x9a\\xd0\\x16\\x60\\x4b\\x38\\xac\\x74\\x38\\x86\\xf3\\x74\\x49\\xbb\\x2e\\x96\\xfb\\xf7\\xb7\\xb5\\xec\\x3d\\xb9\\x68\\x4d\\xcd\\x47\\x57\\x6f\\xcc\\x1e\\x97\\x95\\xe3\\xad\\x9a\\xf7\\x5e\\xcd\\xaa\\xa5\\xab\\x5b\\xa4\\xa7\\x0b\\xbe\\xdf\\x34\\xea\\xdf\\xec\\x1a\\xb6\\x0a\\x79\\x7e\\x49\\xc8\\x6b\\x50\\x99\\xdd\\x47\\x78\\x33\\xc7\\x25\\x1c\\xe1\\x39\\x12\\xf1\\xe9\\x5f\\x16\\x12\\x47\\x36\\x7c\\xf6\\x9d\\x69\\x93\\xe3\\xbc\\xbd\\xdc\\x26\\xc7\\x25\\xae\\xf1\\xf2\\x78\\x52\\xe1\\x6a\\x33\\x07\\x2a\\x99\\x90\\xb3\\x53\\x58\\x38\\xb7\\x60\\x61\\xcd\\xca\\x21\\x53\\xfb\\x56\\xc5\\xe7\\x77\\x29\\x9c\\x53\\xb8\\x68\\x45\\x4d\\xf9\\xbc\\xa2\\xd9\\xb1\\xb9\\x25\\x4b\\x86\\x17\\xed\\x1c\\x56\\x3d\\xac\\x78\\xfb\\x28\\xa6\\x6e\\xf8\\xa8\\x11\\x45\\x05\\x43\\x46\\x57\\xf4\\x29\\x1b\\x70\\x34\\x7f\\xf8\\xe8\\x11\\x7d\\x0a\\x46\\x8f\\x1e\\xd9\\x7b\\x60\\xc9\\xd1\\x2f\\x86\\x2e\\x2a\\xad\\xed\\x3f\\x6c\\x11\\xbf\\x83\\xac\\x97\\x12\\x64\\x77\\xd2\\xb9\\x5c\\xa4\\xab\\xbb\\x7b\\x5b\\xc8\\x95\\x1a\\x65\\x05\\xcf\\x6a\\x18\\xad\\x41\\x5b\\xc1\\x9b\\x29\\x03\\xa5\\x01\\xf7\\x35\\x60\\x81\\x66\\xad\\x86\\xd6\\x18\\x34\\x86\\x10\\x93\\xc5\\x8a\\x36\\x8a\\x82\\x24\\x52\\xa5\\x52\\xf2\\xb2\\xc9\\x06\\x8f\\x27\\x70\\xae\\x2f\\x1c\\x98\\xc9\\xc5\\x4a\\xf2\\x4c\\xf2\\x87\\xd8\\x0f\\xc6\\x06\\x3a\\x85\\xc3\\x45\\x76\\xb0\\x00\\xfd\\xbb\\xcd\\x89\\x36\\xb0\\x3a\\x1c\\xcc\\x43\\x7f\\x0d\\x07\\x5e\\xf8\\xf5\\xab\\xff\\x01\\x5f\\xbe\\x4a\\x1f\\xa8\\x59\\xf1\\x54\\x23\\xe2\\xea\\xa9\\x15\\x35\\xf4\\x4e\\xdf\\x66\\x7a\\x34\\x96\\x21\\xd2\\x53\\x59\\x48\\x4f\\x1d\\x25\\x7b\\xc3\\xe2\\x55\\x70\\x14\\x47\\x01\\xd6\\x81\\x2b\\x26\\x85\\x82\\x53\\x41\\x69\\x31\\x82\\xe2\\xda\\xbf\\x9f\\xde\\xcb\\x28\\x1b\\x7e\\x7f\\xb8\\x91\\x51\\x35\\x3c\\x10\\xf3\\x6f\\x7d\\xd9\\x6d\\x48\\x7f\\x65\\x52\\x79\\x54\\x9e\\x37\\x36\\xd9\\xda\\x25\\x55\\xdb\\xae\\x0b\\xfa\\xe3\\xa2\\x5c\\xb1\\x85\\x3c\\x15\\xa5\\x8f\\xa2\\x0d\\x4c\\x54\\x94\\x8b\\x0a\\x29\\xe4\\x23\\x49\\xb2\\x87\\xf2\\x27\\x7b\\x52\\x02\\x47\\x9c\\xb8\\x8e\\xc1\\x80\\x6d\\xb1\\x47\\x50\\x00\\xc1\\x6e\\x95\\x50\\x41\\x2e\\x1c\\xab\\x47\\x07\\xf9\\x61\\xad\\x40\\x7c\\x0c\\x9a\\xc3\\x4c\\xa1\\xc2\\x09\\xf9\\xa6\\xf1\\x78\\x7b\\xa0\\xad\\xd2\\x91\\x66\\x52\\x8e\\x9c\\xa7\\xf7\\x4d\\x19\\xbb\\x7c\\xcb\\x84\\xed\\xd5\\x8b\\xf2\\xf3\\x16\\xf5\\xe9\\x5b\\x9c\\xb7\\xf4\\xfc\\xb4\\xdb\\x57\\x14\\x07\\x98\\xf9\\x2b\\xd6\\x1f\\x69\\x3b\\x66\\x39\\xbc\\xf9\\xcc\\xfc\\x1e\\x25\\x53\\xee\\x00\\xe3\\xec\\x6d\\x05\\x8b\\xf2\\x52\\x87\\x4d\\xee\\xbf\\xa4\\x27\\xf7\\x3a\\xf6\\xc3\\x7a\\x16\\x8c\\x2d\\xcc\\x28\\x8c\\x73\\xe7\\x55\\x74\\xce\\x5d\\x3d\\xcc\\x90\\x30\\xa2\\x5b\\xfe\\x53\\xa3\\x32\\xaa\\xd7\\x44\\x54\\x0c\\x98\\x31\\xb8\\x55\\xe7\\xd4\\x98\\x6e\\x17\\xc7\\x9c\\x8c\\xb2\\x8f\\xcf\\x2f\\xdd\\xd3\\xbf\\xe1\\x9b\\x0e\\x03\\x63\\xd9\\x8e\\x63\\xd2\\xe3\\x72\\x52\\x5d\\x74\\xc6\\x08\\xa4\\x6f\\xde\\x62\\xaf\\xb2\\x31\\xdc\\x1c\\x22\\x53\\x33\\x92\\x29\\xa0\\xc0\\x53\\xa5\\x2c\\xb5\\x41\\x2c\\x13\\x22\\x6e\\x1a\\x8a\\x0b\\x3d\\x72\\xa6\\x2c\\xe6\\xd9\\x18\\xdf\\x5b\\x31\\xfb\\x62\\xd8\\xab\\x67\\xd0\\x3f\\xe8\\x17\\x11\\x54\\x1c\\x7b\\x84\\xe4\\xa6\\x12\\xa8\\x74\\x6a\\x91\\x77\\x20\\x2e\\x78\\x5c\\x28\\x7b\\x4a\\xb6\\x4b\\xc6\\x51\\xe4\\x2f\\x0c\\xae\\x7c\\x54\\x2a\\x99\\x1b\\xbc\\xde\\x7a\\x83\\x37\\x99\\xf4\\xe5\\xca\\x89\\xca\\x05\\x4a\\x46\\xa7\\x8c\\x40\\xff\\x59\\xab\\xfc\\x59\\xd9\\xa8\\x94\\x1d\\xd7\\x5f\\xd6\\xd3\\x94\\x5e\\xaf\\x9f\\xa4\\x5f\\xa8\\xff\\x97\\x9e\\x53\\x30\\x4a\\xbd\\x52\\xef\\x8c\\x8d\\x4d\\xbe\\xce\\xc7\\x52\\x4e\\xcf\\x75\\xde\\xf9\\x66\\xb3\\x2a\\x49\\xac\\x80\\xf0\\x72\\x13\\xea\\xfd\\x04\\x85\\x84\\x58\\x0d\\xaa\\x0f\\x11\\x6a\\xc2\\xc5\\x7d\\xcd\\x99\\x69\\x36\\x3a\\x2a\\x06\\x39\\xc2\\x46\\xb4\\xdb\\x59\\xa3\\x5c\\x4f\\x09\\x41\\x15\\x0a\\xb3\\x28\\x50\\x33\\x7d\\x4c\\xa7\\x8a\\xe8\\xaa\\xb4\\xad\\x63\\xea\\xce\\x9e\\xa8\\x7b\\xbf\\xff\\x14\\xfb\\x10\\xef\\xd8\\x49\\x4c\\x44\\x0d\\xfc\\xef\\xf3\\x28\\x38\\x59\\x5b\\x03\\x14\\xc7\\x8f\\x03\\x45\\xcd\\x20\\xd8\\xf0\\xf5\\xe6\\x0f\\xa7\\x53\\x8d\\xdf\\x7e\\x8b\\x42\\xf4\\x87\\x5b\\x8f\\xf4\\x28\\x8a\\x9e\\x3e\\xf6\\xf3\\xd7\\x6e\\x7e\\x72\\xc7\\xdd\\x25\\x6f\\xf7\\xae\\xcf\\xe1\\xd9\\x83\\xcf\\x81\\xbc\\xcf\\x3e\\x03\\x79\\xcf\\x1d\\x82\\x2f\\x7e\\x01\\x5a\\x82\\x6e\\xeb\\xe0\\x97\\xd7\\xe1\\x3d\\xf8\\x02\\xc8\\x47\\xb2\\x56\\xd0\\xab\\xd8\\x44\\x6e\\x0b\\x15\\x4f\\x79\\xa8\\x0e\\x5e\\x0b\\xc7\\xc5\\x29\\xe2\\x5a\\x7f\\xcd\\xc7\\xc5\\x29\\x5c\\x0e\\x53\\x92\\x2b\\xe9\\x0b\\x3e\\xd4\\x75\\x06\\x58\\xeb\\x15\\xf4\\x57\\xbc\\xe2\\x0c\\xf6\\x1e\\x85\\xa3\\x35\\x5c\\x24\\x83\\x94\\x57\\x68\\x4a\\x40\\xf9\\xa7\\xf9\\x33\\xbd\\x82\\xa5\\x94\\xe1\\xd2\\x17\\xe2\\x41\\xa7\\xfb\\x13\\x44\\x99\\x19\\xb1\\xc8\\x12\\x09\\x3a\\x03\\x67\\x80\\x01\\x33\\x79\\x53\\xdf\\x31\\xf6\\xa7\\xe3\\xae\\xaf\\x5f\\xba\\x46\\xde\\x56\\x96\\x15\\xea\\x30\\xa5\\xa5\\x2d\\x65\\xd9\\x79\\xd7\\xc6\\x54\\x71\\xad\\xc1\\x88\\xcb\\x5a\\x98\\xda\\xbe\\x6b\\xee\\xc2\\x12\\xa5\\x72\\xfb\\xd3\\xd5\\xec\\xf9\\x45\\x5d\\x7b\\x2b\\x2b\\x67\\x8f\\x1c\\x1e\\xed\\x82\\x1f\\x47\\x84\\xe6\\x84\\x0c\\xd6\\x4c\\x6f\\xb1\\x9f\\x2f\\xb4\\x84\\xff\\xc8\\xb1\\x3d\\xe1\\xa9\\x96\\x39\\x5d\\xc7\\x67\\x78\\x58\\xa6\\xbf\\xa0\\xdf\\x66\\x52\\x6b\\xd8\\xc3\\xcc\\x61\\x2a\\x04\\x29\\x8b\\x44\\xaf\\x59\\x45\\x2b\\x91\\x5d\\xa0\\xd1\\xec\\x53\\x6a\\x86\\x62\\x7e\\x2e\\x55\\x50\\x3f\\x89\\x4b\\x0a\\x17\\x75\\xd9\\xc4\\x13\\xe0\\x58\\x80\\x1c\\x3a\\xb9\\x02\\x29\\x5c\\xff\\x5f\\x98\\xc1\\xf0\\x81\\x06\\x6c\\x3b\\x21\\x83\\x23\\x80\\x46\\xe6\\x9b\\x08\\xff\\xd0\\x80\\x2d\\xcf\\xcb\\x60\\x25\\x50\\xca\\xd6\\x80\\xf1\\x39\\xa0\\x2a\\x02\\xae\\x86\\xeb\\x9c\\x41\\x7f\\x0d\\xd4\\x88\\xd3\\xbf\\x20\\x95\\xe0\\xf0\\x6a\\x74\\x14\\x40\\xa3\\xd2\\x0c\\x7d\\x84\\x67\\x4e\\x8a\\x65\\x6a\\x24\\x4b\\x1b\\x4b\\xca\\xc1\\x99\\x6b\\x0d\\x47\\x99\\xcf\\xeb\\xc1\\xe1\\xf5\\xbe\\x2b\\xc8\\x06\\xfb\\x6b\\xba\\x91\\x0d\\xc6\\xe9\\x2b\\x56\\x5a\\xd7\\xf8\\x8c\\xb7\\x05\\x9a\\xab\\x5e\\xde\\x96\\x4e\\x77\\x62\\x44\\xeb\\x88\\xeb\\x7c\\x54\\xca\\x75\\x41\\x4f\\xe8\\xdc\\x11\\x6e\\x5a\\xc1\\xb8\\x5b\\x47\\x45\\x21\\xd7\\x98\\x55\\xab\\x4d\\xd7\\x79\\x35\\xc5\\xda\\xaf\\xf3\\x6c\\xd0\\x62\\xb5\\xe1\\xc5\\x8a\\x57\\x67\\x59\\x92\\xa0\\x18\\xf1\\x22\\xfd\\x87\\xb5\\xc8\\x31\\xd1\\xb8\\x64\\x9d\\x1c\\xdb\\xca\\x4d\\x0c\\x76\\x86\\x0c\\x68\\x49\\xb3\\x47\\xfe\\x71\\x2d\\xc2\\x4f\\x5e\\xdd\\xbd\\x00\\x78\\x6a\\x36\\x57\\xf6\\xfb\\xf8\\x99\\xf2\\xc2\\x43\\x2f\\x14\\xf4\\xa5\\xff\\xfc\\xe7\\xd5\\x38\\x0d\\x14\\xc0\\xe3\\x4c\\xce\\xfc\\x89\\x23\\xe7\\x98\\xe0\\x1e\\xba\\x20\\x37\\x1f\\xbe\\xd5\\x0f\\xfb\\x23\\xe7\\xb8\\x5f\\xb8\\x67\\x65\\x45\\x46\\x39\\xd5\\x19\\x14\\xcb\\xde\\x20\\x3e\\x49\\x37\\x26\\x92\\x59\\x8a\\xec\\xaf\\x0a\\x45\\x25\\x51\\x5e\\x23\\x63\\x39\\xc6\\x23\\x57\\x41\\x81\\x5d\\x05\\x85\\xee\\x18\\xaf\\x60\\x83\\x0a\\x77\\xb0\\x19\\x33\\xcb\\xfc\\xfb\\xcf\\x2a\\xf7\\xab\\x46\\xdc\\x76\\xb1\\xf4\\xe0\\xf4\\xe9\\x07\\x0f\\xcc\\x9c\\x79\\x60\\xfc\\xa8\\x9e\\x3d\\x47\\x8d\\xee\\xde\\xa3\\x92\\xed\\x30\\x63\\x7f\\xdd\\xb4\\x69\\x75\\xfb\\x67\\xf4\\xaa\\x1c\\xd3\\xa3\\xc7\\x98\\xd1\\x42\\x2e\\x19\\x4d\\xc2\\x00\\xf6\\x2a\\x1a\\x4f\\x47\\xf5\\xf6\\x26\\xb1\\xb4\\x56\\xad\\x39\\xc2\\xab\\xc5\\xb2\\x7f\\x14\\x57\\xe9\\xe4\\x11\\xf2\\x72\\xf9\\x44\\xf9\\x31\\xf9\\x25\\xb9\\xcc\\x10\\xd4\\x03\\x80\\x2f\\x5a\\x30\\x59\\xf3\\xb1\\x4d\\x0d\\xea\\x05\\x98\\x9c\\x44\\xea\\xfa\\x9a\\x35\\x04\\xe0\\xda\\xbe\\x40\\x53\\x00\\x2e\\xf1\\xa3\\xeb\\xe0\\x34\\xb0\\x6a\\x1d\\x58\\x09\\xa7\\xaf\\xf3\\x95\\xac\\xc3\\x67\\xbb\\x00\\x45\\xce\\x28\\x12\\x5a\\x83\\x7c\\x59\\x5c\\x67\\xae\\x06\\x1a\\x46\\xad\\xd6\\xeb\\x15\\x5f\\xf0\\xfa\\x4f\\x00\\x8a\\x32\\xbf\\xe0\\xa9\\x8f\\x1f\\x53\\x67\\x8e\\x6b\\xf2\\xc8\\x89\\x4c\\xf0\\x36\\x95\\x09\\x45\\xe6\\xa0\\xa3\\x31\\x79\\xeb\\x9c\\x79\\x13\\x67\\x77\\x1d\\x65\\xa9\\x8e\\xbe\\x30\\xaf\\x6a\\xd6\\xbc\\x79\\xb5\\x53\\x22\\xc1\\x6b\\x26\\xda\\x33\\x2a\\x77\\x61\\xcf\\x5e\\x0b\\xf2\\x47\\x76\\xef\\x1a\\x32\\x61\\x51\\x45\\x49\\xc5\\x33\\xbd\\x87\\x96\\xa4\\x8e\\xc5\\x7c\\x54\\xd0\\xf1\\xac\\x02\\xf1\\x91\\x48\\x15\\x7a\\x53\\xa2\\x74\\x5a\\x9d\\xf6\\x0b\\x64\\xa2\\x5a\\xb3\\x28\\xb2\\xa6\\xb4\\xa1\\xa1\\xe1\\xe5\\xba\\x89\\x3a\\x5a\\xad\\x0b\\xd7\\xa1\\x45\\xa9\\x43\\x0b\\x37\\xdc\\xf2\\x05\\x1f\\xfe\\x09\\x15\\x82\\x18\\xfc\\xb4\\x79\\xb6\\xbd\\x0c\\x85\\x90\\xb8\\x2b\\xaa\\xcc\\x1f\\x14\\x47\\xe2\\xf2\\x13\\xb9\\x99\\x58\\x2a\\x52\\x61\\x9e\\xd1\\x9c\\x73\\x12\\x81\\x68\\x01\\x3d\\x05\\xfe\\xb4\\x0a\\xd4\\x96\\x0d\\xdb\\xd7\\xc1\\x92\\x55\\x36\\x7e\\x4e\\xd7\\xa1\\xa6\\x25\\x51\\xf5\\x0b\\x26\\x2f\\xa8\\x1a\\xdd\\xbf\\x57\\xdf\\xed\\x74\\xfc\\xdb\\x3a\\x0d\\xa7\\x98\\x3d\\xb2\\xf7\\x98\\xf1\\x83\\x7b\\x0c\\xcd\\xeb\\xa4\\x1e\\x37\\xab\\xb4\\xb8\\x64\\x85\\x8d\\x56\\x94\\x74\\xe8\\xb9\\xb2\\x27\\x8a\\x35\\x8c\\xec\\xf3\\xcc\\x8f\\xe2\\x99\\x19\\x47\\xaf\\x2e\\xe5\\xc4\\x33\\xb3\\xcc\\x58\\x8f\\x9c\\x43\\xdf\\x02\\xe3\\x2b\\x32\\x78\\x80\\x7d\\xde\\xfc\\xb3\\xf3\\x2b\\xec\\xfb\\x7d\\x08\\x67\\xb0\\xcf\\x20\\x7f\\x38\\x12\\xc7\\x6d\\x61\\x3a\\x9d\\xd6\\xc1\\x5a\\xe4\\x16\\xe4\\x9c\\xca\\xad\\x54\\x50\\xba\\x9e\\x44\\xd9\\xc8\\xb2\\x0a\\xda\\x2f\\x3e\\x5a\\xc8\\x90\\x12\\xb5\\xe8\\x0f\\xf5\\x99\\x24\\xc6\\xa0\\x60\\x37\\x7e\\x51\\x54\\x65\\x61\\xcd\\xf9\\x2f\\x00\\xd7\\x0b\\xf3\\xd4\\xef\\x56\\xbf\\x13\\x3e\\xf3\\xd4\\x3e\\x99\\x56\\x15\\xc2\\x9a\\xe7\\x7a\\x3e\\xf4\\x66\\xcf\\x86\\xab\\xb8\\xab\\xbe\\xb9\\x79\\xb1\\x77\\xaf\\x6c\\xa2\\x47\\x37\\x1c\\x8b\\xea\\xd5\\x25\\x55\\x8e\\xf4\\xcb\\x2d\\x78\\x9e\\xbd\\x47\\xea\\xed\\x62\\xbd\\x46\\xb9\\x5c\\x07\\x58\\x06\\xad\\xce\\x42\\x5e\\xc7\\xd0\\x9c\\x8c\\x01\\xa4\\xa7\\x2e\\xa0\\xa8\\xf1\\x51\\x6f\\x34\\xfe\\x63\\x12\\x4a\\x9b\\x51\\x2c\\xc7\\x76\\x80\\x77\\x97\\x80\\x56\\xaf\\xc0\\xbb\\x4b\\xcf\\xad\\xaf\\x9d\\xf2\\x7a\\x35\\xdd\\xcd\\xc6\\xbe\\xf6\\xe7\\x7f\\x64\\xba\\x3f\\xff\\xc3\\x5c\\x5c\\x35\\x6f\\xd6\\xbb\\x55\\xb3\\x91\\x2e\\x7a\\x1f\\xec\\xa5\\x21\\x7d\\xdb\\x28\\x0b\\x69\\x4d\\x62\\xae\\x33\\xb0\\x2b\\xe8\\x85\\xfe\\x66\\x41\\x3b\\xcf\\xa4\\x53\\xae\\xe7\\x75\\x5e\\x8d\\x3e\\x5f\\xa7\\xe3\\x34\\x14\\xb7\\x86\\xa7\\x36\\x92\\xb9\\x4d\\x21\\xe7\\x83\\x52\\xb8\\x9c\\x83\\xcd\\x83\\x3c\\xd3\\x23\\xf8\\x21\\xc0\\x98\\xe5\\x36\\xb7\\x8e\\x59\\x6f\\xa4\\x67\\x24\\x69\\x87\\x8f\\xcd\\x2e\\x2c\\xe8\\xb2\\x0a\\x76\\x65\\x87\\xca\\xfa\\x1b\\xbd\\xf4\\x0b\\xc3\\x69\\x6f\\xdb\\x76\\xe3\\x32\\xc9\\xd9\\x6c\\x3c\\xed\\x61\\xea\\xb9\\xc5\\x41\\x7d\\x1b\\x5f\\xe0\\xbe\\x8d\\x8f\\x70\\xdf\\x46\\xf0\\x42\\x97\\xfa\\x36\\x50\\xa4\\x66\\x42\\xc6\\x36\\x13\\xc9\\x18\\x97\\xf8\\x83\\x78\\x0b\\x50\\xcc\\x88\\x3a\\x34\\xd0\\x5a\\xb1\\x37\\x65\\xd6\\x53\\x3f\\x58\\x68\\xcf\\x58\\x7a\\x68\\x6a\\xe7\\xf1\\x79\\x9d\\x7d\\xe1\\xc2\\x79\\x16\\xc8\\x46\\x36\\x70\\x00\\xb2\\x81\\x5a\\xb4\\xa3\\x1c\\xf5\\x72\\x03\\x1a\\x01\\x59\\xba\\x7a\\xca\\x86\\x06\\x40\\xb6\\x4f\\xca\\x83\\x02\\x51\\x70\\xfe\\x5a\\x78\\xa9\\xec\\x9b\\xa6\\x67\\x6d\\xdb\\x37\\xed\\xfd\\xd5\\x3b\\xf7\\x75\\x9d\\x7f\\xf4\\xc3\\x8b\\x43\\x56\\xe4\\x9f\\xed\\x35\\xbd\\x47\\x12\\xbd\\x6a\\xdb\\xca\\x85\\xdf\\xcf\\x7f\\x6a\\x55\\xc5\\xe5\\x15\\xdd\\xc1\\x8f\\xa7\\xcb\\x2f\\x97\\x5f\\x68\\x5b\\xb9\\x87\\xe8\\x13\\x27\\xb2\\x4d\\x45\\x01\\xdb\\x64\\x08\\xd1\\xcb\\xd5\\xf2\\x10\\xa4\\xbe\\x28\\x9d\\x8c\\x92\\xfd\\xad\\x6d\\x8a\\xce\\x54\\xa0\\xbd\\x00\\xe4\\xc0\\xff\\x17\\xfa\\xf0\\x09\\x19\\xd8\\x0a\\xff\\x94\\x1d\\x07\\x4a\\x4d\\xc3\\xea\\x7a\\xe1\\xff\\x9c\\x00\\x72\\xcd\\x1a\\x27\\x98\\x08\\xa6\\x46\\xc0\\x35\\x39\\xf0\\x69\\xe9\\xaf\\x24\\xbe\\xcb\\x47\\xba\\x6c\\x3b\\x97\\x6b\\x8c\\x0f\\xf9\\x0e\\xfe\\x8e\\xe2\\xbc\\x38\\xf9\\x4f\\x14\\x65\\x90\\x87\\xfc\\x08\\xe2\\x7c\\x2f\\x50\\x31\\x5e\\x0b\\x43\\x5b\\x42\\x19\\xfa\\xb8\\x05\\x4c\\xb4\\x80\\x08\\x0b\\x32\\xfa\\xf8\\xf4\\xdb\\x50\\x96\\x6e\\x28\\x2b\\x2b\\x43\\xc1\\x43\\x0e\\x0e\\x20\\x10\\x9d\\x8e\\x88\\xce\\x31\\x91\\xce\\x0f\\x02\\x9d\\xfb\\x98\\xce\\xf7\\x20\\xdb\\x57\\x4f\\xe9\\x4e\\xd3\\xa6\\x50\\xff\\x2f\\xd1\\x6f\\x28\\xf2\\x9b\\x6c\\xf4\\x9b\\x7a\\xae\\x10\\xfd\\xe6\\x87\\x46\\xb7\\xf0\\x9b\\xb0\\xc0\\xd8\\x09\\x5e\\x34\\x6e\\x2a\\x1e\\x3b\\x15\\x4c\\x4c\\x05\\x11\\xa9\\x20\\x95\\xf2\\x26\\x80\\xc8\\x04\\x90\\x80\\xc6\\x6e\\x32\\x3e\\x92\\x61\\x26\\xfc\\x94\\x75\\xb0\\x59\\xa4\\x3e\\x39\\xcd\\x6b\\xa6\\x28\\x97\\xc1\\xe5\\xdc\\x59\\xea\\xd2\\xa1\\xd0\\xc0\\xc0\\x90\\x22\\xe5\\x17\\x81\\x9d\\xe2\\x29\\x03\\x29\\x0c\\x97\\xea\\x38\\x83\\xe2\\x55\\x52\\x95\\xdc\\xec\\x78\\x8f\\xa8\\x49\\x12\\xc6\\xce\\x90\\x2a\\x95\\x5f\\x49\\x78\\x21\\x07\\xbe\\x7e\\xe7\\x95\\x0f\\x33\\xaa\\x27\\xac\\x9c\\x07\\xb4\\xf1\\x57\\xe3\\xe9\\xb7\\x49\\xa5\\xf2\\x90\\x92\\xd2\\xb5\\x8b\\xd4\\x57\\xdf\\xdd\\xba\\xaa\\xdb\\xa6\\xd5\\x9d\\x8b\\x16\\x83\\xd3\\x37\\x6e\\x34\\x36\\x0a\\x75\\xb6\\xb2\\x03\\xc6\\x38\\x7c\\x15\\x80\\x41\\x4e\\x75\\x69\\xbc\\x4b\\xfd\\x4a\\x85\\x9c\\xa4\\x4d\\x5c\\x1c\\x95\\x44\\xe4\\x47\\x9e\\x99\\x25\\xab\\x93\\x9e\\x99\\x4e\\xad\\xa6\\x7e\\x7b\\xcc\\x33\\xc3\\x03\\xcf\\xd0\\xcb\\xa8\\x14\\xe1\\x19\\x73\\xd3\\x67\\x0e\\xcb\\x76\\x48\\xcf\\xec\\xf0\\x3f\\x63\\x6b\\xfa\\xcc\\x30\\x59\\x99\\x34\\xd6\\x18\\x2a\\x99\\xfa\\x8c\\x52\\xd6\\xa3\\xa9\\x26\\x0f\\xa5\\x4b\\xcf\\x54\\x88\\xcf\\xc8\\xe8\\xed\\xe6\\x7e\\x48\\x23\\x32\\x74\\x6b\\x2d\\x0a\\xf3\\x0d\\x58\\xf2\\x74\\xe3\\x16\\x14\\x93\\x45\\x20\\x9d\\xa3\\xa3\\xcc\\x48\\xeb\\x27\\x53\\xc0\\x04\\xca\\x79\\xb3\\x29\\x44\\x55\\xce\\x87\\x87\\x00\\x46\\x13\\x02\\x4c\\xac\\x29\\xc4\\x14\\xa2\\x63\\xe5\\x06\\xd6\\x50\\x81\\x8b\\xc0\\x70\\xc6\\xb0\\x9c\\xd7\\x89\\xd5\\x1d\\xa2\\x51\\xc2\\x81\\xaf\\xe0\\x34\\x97\\x97\\x05\\x1a\\x61\\x85\\x0a\\x31\\xa9\\xc2\\xd4\\x6d\\x42\\x4a\\xd3\\x4d\\x8f\\x87\\xcf\\x7f\\x52\\x47\\xff\\x40\\x6f\\x77\\xc2\\x63\\x7d\\x41\\x37\\x27\\x3c\\x3b\\x10\\xcc\\x76\\xf9\\x3e\\xfc\\xae\\xfb\\x8c\\xf7\\x41\\x38\\xa8\\x85\\xc3\\xb9\\xdc\\x2d\\xb0\\x68\\x13\\x4c\\xd9\\xc2\\x9e\\xb8\\x0f\\x27\\xe2\\x75\\x36\\x15\\xa9\\x93\\x17\\xb9\\x81\\xe8\\x5d\\xe2\\xd0\\x2a\\x93\\x53\\xb3\\xc1\\x50\\xb2\\xfe\\x48\\xfd\\x2b\\x91\\x67\\x82\\x38\\x2f\\xdf\\x10\\x59\\x01\\x83\\x24\\xab\\x47\\x9e\\x99\\x4e\\xad\\xfc\\x5f\\xcf\\x48\\xf3\\x02\\x8c\\xcd\\x9f\\x29\\x93\\xe8\\x8c\\xa1\\xbc\\x44\\xe6\\x34\\x30\\xf9\\x65\\x2e\\xd4\\x7a\\x12\\x3a\\xc9\\x22\\x3f\\x9f\\x3c\\x32\\x56\\xf3\\x67\\xa6\\x53\\x9b\\xfe\\xd7\\x33\\x8f\\xe5\\x47\\x78\\xa6\\x4c\\xa2\\xe3\\x5f\\x03\\x12\\x3f\\xe2\\x79\\xe6\\x66\\x52\\xab\\x18\\x4e\\xa5\\x7b\\x91\\xe9\\xe6\\xe8\\x72\\xde\\xa1\\xe3\\x00\\xae\\x89\\x06\\x32\\x99\\x1d\\xd7\\xeb\\x90\\x2a\\xbf\\x47\\x0a\\x84\\x3d\\xfe\\xb2\\x1d\\xd2\\x9f\\x2d\\x56\\x2a\\x9b\\xdc\\x42\\x99\\x32\\x49\\xa2\\x31\\x6e\\x5c\\xad\\x3c\\x75\\x99\\x73\\xd9\\x34\\x7f\\xc1\\x72\\x5b\\xf8\\x69\\x7f\\x52\\xae\\x7c\\xe1\\xd2\\xac\\x01\\xc0\\x4d\\xf7\\xdb\\x48\\x97\\x8a\\x75\\xcb\\x74\\x3f\\xd8\\x0d\\x57\\x2d\\xcf\\x3c\\xb2\\x1d\\x76\\xf2\\xcb\\xf3\\x55\\xd9\\x4e\\xc4\\x7f\\xaa\\xb8\\xce\\x5b\\x53\\x0f\\xf0\\x3b\\x06\\xd6\\xb9\\x50\\x0b\\x49\\xe4\\xd0\\x46\\x94\\xe7\\xfb\\xc2\\x5e\\x88\\xfa\\xfb\\x67\\xa6\\x53\\xeb\\xfe\\xd7\\x33\\x81\\x7d\\x17\\xdd\\xf4\\x19\\x61\\xdf\\xb5\\x69\\xba\\xef\\xe2\\x9a\\xd3\\x29\\x93\\xc6\\x1a\\x83\\x9e\\x11\\xf6\\x5d\\x8c\\x28\\x73\\x40\\xed\\xa0\\xfe\\xcd\\xb6\\x62\\xab\\x70\\x5d\\xd6\\x09\\x39\\x38\\x41\\x85\\x91\\x34\\x33\\xd2\\xef\\x0a\\x60\\x43\\xe1\\x87\\x02\\xec\\x00\\x43\\xe1\\xae\\x4a\\x30\\x18\\x0c\\x1e\\x0d\\xf7\\x80\\x8a\\x91\\xf0\\x19\\x58\\x0b\\x7a\\x80\\xa1\\xa0\\x62\\x14\\x7c\\x06\\x94\\x8f\\x86\\x7b\\xe1\\xae\\xd1\\x60\\x08\\xdc\\x41\\xea\\xf0\\x1b\\xdf\\x6e\\xfc\\x80\\x4b\\xe2\\x26\\xe1\\x7a\\x02\\xe4\\x9b\\xb5\\xf6\\x3a\\xec\\xd1\\x61\\x31\\x6c\\x5c\\xb8\\x3a\\xae\\x9c\\xd7\\x1a\\x38\\x9a\\xa5\\x74\\x6a\\x96\\x0a\\x17\\x0b\\x01\\xaf\\xe1\\x59\\xbc\\x66\\xb4\\x65\\x09\\xc1\\x01\\x39\\x5f\\x13\\xd2\\x3b\\xa4\\x50\\x52\\xcc\\xfc\\xe0\\x92\\xd1\\x78\\x20\\xb6\\x65\\x9a\\x6d\\xe4\\x30\\x89\\x06\\xff\\xfd\\x68\\xd8\\xd3\\x45\\x27\\x22\\x71\\xa9\\xe4\\x07\\x23\\x9e\\x2e\\x3c\\xee\\x26\\xf5\\xa3\\xb4\\x6f\\x4e\\xda\\x16\\x5c\\x2f\\xe9\\x2b\\x07\\xf4\\xd2\\xb4\\xad\\xcb\\x2e\\x55\\x99\\x57\\xd6\\x76\\xba\\x50\\x3a\\x7b\\x37\\xa9\\x9a\\x7c\\xb2\\xb6\\xd3\\x8b\\x03\\xe7\\x6c\\x83\\xd5\\xf0\\xe7\\x55\\xcc\\x2e\\x8f\\xaf\\x68\\x25\\xae\\x9a\\x84\\xcf\\x46\\xab\\xe8\\xc3\\xd5\\x2f\\x0b\\xfb\\x97\\xd4\\xf2\\x11\\xf9\\xb7\\x15\\xe7\\xf1\\x0d\\x61\\x3d\\x3b\\x02\\xb2\\x6d\\xfe\\xcc\\x74\\x6a\\xe9\\xff\\x7a\\x26\\xb0\\x2f\\xc2\\x9b\\x3f\\x53\\x26\\xd1\\x09\\xec\\x0b\\xa7\\xb4\\x4f\\x49\\xcd\\x1b\\xa1\\xd3\\x5e\\x1c\\x6b\\x83\\x40\\x47\\x2b\\xd2\\x11\\x6b\\x3e\\x97\\x91\\xbd\\x63\\x43\\x36\\x3d\\x14\\x98\\x2a\\x78\\x99\\xb1\\x82\\x07\\x5e\\xbd\\x39\\x1f\\x89\\x4f\\x46\\xe3\\xcb\\x7c\\x19\\xa1\\x60\\x90\\x24\\x87\\x48\\x43\\x70\\xac\\x5b\\x8e\\xfc\\x42\\xb9\\x54\\x17\\xeb\\xaf\\xec\\xa7\\x3b\\xc3\\xaf\\x53\\x71\\x25\\x74\\x4b\\xa0\\xb9\\xf5\\xd1\\x06\\xf8\\xe0\\xc3\\x55\\x6b\\x7e\\x9f\\x04\\xa7\\x1e\\xae\\x80\\x90\\xcb\\xfd\\xbe\\xae\\x76\\x75\\xe3\\x1a\\xf0\\xc7\\xa8\\x89\\xbe\\xcb\\xa5\\x47\\x85\\xb3\\x9e\\xd8\\xc6\\xcf\\xd9\\x6a\\x14\\x23\\xa6\\x53\\xc9\\xde\\x50\\xa7\\x3d\\x22\\xda\\x5e\\xc0\\x2b\\x92\\x23\\xad\\x2c\\x15\\x4d\\xb9\\x22\\x2c\\xa4\\x58\\xc0\\xea\\x2f\\x16\\x10\\x27\\x5c\\x98\\x6f\\xe9\\x68\\x8e\\x14\\xc8\\x66\\x66\\x64\\xe2\\xf8\\x5c\\x3a\\x6f\\x16\\x3a\\x78\\xe4\\x38\\x56\\xd0\\xa1\\xe8\\xdd\\x46\\x0a\\x54\\xe9\\x73\\x07\\x2b\\x5d\\x9e\\x0d\\x5d\\x2b\\xe7\\xe6\\xf4\\xca\\xcd\\x93\\x59\\x17\\xe5\\x75\\x51\\x30\\x55\\x43\\xd7\\x1f\\x8e\\xbc\\x56\\x7f\\x3d\\x19\\x84\\x7e\\x7d\\xf0\\x0a\\xe7\\x5c\\xfc\\x44\\xb6\\x9c\\xce\\xec\\xb5\\x69\\xd4\\x55\\x67\\xea\\x5e\\x77\\xcc\\x9c\\x81\\x69\\x03\\xd2\\x5a\\x8f\\xc8\\xb1\\x87\\x4f\\x19\\xe4\\x29\\x4a\\x75\\x76\\xea\\xf5\\xcc\\xb3\\x0d\\x0c\\xcb\\x7c\\xf1\\xe5\\xe2\\xaa\\xb4\\xd5\\xc3\\xda\\xe5\\x44\\x9b\\xdd\\x5d\\x33\\xc7\\x3f\\x55\\x7e\\x69\\x34\\x9e\\x17\\x52\\x9b\\xc6\\xd5\\x23\\x99\\x77\\xc5\\xf6\\x88\\xea\\x52\\x43\\xe1\\xdd\\xd5\\xd1\\x80\\x25\\x2e\\x7e\\x9f\\x1d\\xf4\\xfd\\xf4\\xde\\x8f\\x7e\\x1f\\xf4\\x7b\\x7a\\xd9\\x4f\\xe4\\xfb\\x9c\\xe0\\xef\\xa7\\x71\\x07\\xa5\\xef\\x77\\xfc\\x97\\x7c\\xdf\\xb9\\xe9\\xef\\xe7\\x48\\xf4\\xc7\\xdc\\xa7\\xc8\\xce\\xf5\\x1a\\x84\\x9d\\x2b\\xf1\\x28\\x53\\x49\\x34\\xb6\\xff\\x57\\x78\\x26\\xcb\\xff\\x0c\\xda\\x8f\\x1f\\xa0\\x67\\xee\\x92\\x1a\\xbb\\x0c\\x2a\\x87\\xea\\xef\\x6d\\xe9\\x72\\x45\\x65\\x23\\x7f\\xbd\\x0d\\xf2\\x86\\x0a\\x78\\xab\\x26\\xdb\\x99\\x4d\\x9b\\xd9\\xec\\x6c\\x5d\\x54\\xa6\\x03\\x17\\xdf\\xc5\\xc5\\x44\\xe9\\xd9\\x56\\xba\\x56\\x05\\xbc\\x46\\xa9\\xc3\\x68\\x03\\xfe\\xd4\\xb1\\x3f\\x65\\x1c\\x50\\xb7\\xf8\\xef\\x06\\xd2\\x57\\x0a\\xc4\\xc0\\xc2\\x46\\x72\\x7c\\x38\\xeb\\x42\\x4a\\xf0\\x32\\x82\\x2a\\xf0\\xda\\xe0\\x4c\\x2e\\xa9\\x5b\\x32\\x93\\xf3\\x2b\\xb9\\x96\\x26\\x15\\x4c\\xf8\\x19\\x7a\\x97\\xb5\\xba\\xe7\\x38\\xd7\\xa2\\x19\\x0f\\x66\\x55\\xa9\\x6a\\x6e\\xdc\\x56\\x77\\x05\\x3d\\x0f\\x38\\xda\\xa4\\xf7\\x28\\x0e\\xdb\\x97\\x72\\x76\\xf5\\x89\\x16\\x13\\xf7\\x34\\x38\\xd9\\x87\\xef\\xf4\\x2f\\xdb\\xe1\\x30\\xce\\x29\\x1f\\x93\\xc5\\xc4\\x17\\x2e\\x70\\x83\\xd1\\xaa\\x4e\\xe0\\x8f\\xb2\\x21\\xd7\\x06\\xe7\\xb7\\x6c\\xa4\\xc6\\xcf\\xf9\\xe6\\xae\\xa7\\x03\\xae\\xc9\\x5b\\xea\\xe9\\xd4\\xb6\\xb0\\xd4\\xb0\\x71\\xed\\xaa\\x55\\xf0\\xd2\\xc4\\xb5\\xa1\\xf0\\xe7\\xc9\\x17\\x57\\x22\\x5f\\xa0\\xc7\\x26\\x7a\\xdb\\xb1\\xad\\xfd\\x53\\x87\\x97\\x61\\xd9\\x4d\\x42\\x36\\x7a\\x38\\xdb\\x07\\xc9\\x2e\\x4f\\xb4\\xd1\\x85\\x44\\xa6\\xa4\\x6e\\x8b\\xcc\\x5b\\xbe\\x30\\xef\\xcf\\x93\\x79\\x89\\xf3\\xcf\\x0b\\xfe\\x7e\\x50\\xd0\\xf7\\xd3\\x27\\x3e\\xfa\\x7d\\xd0\\xef\\xe9\\x65\\x72\\xf2\\x7d\\x7c\\xd3\\xef\\xe7\\x48\\xbf\\x1f\\x13\\x22\\xcc\\x59\\x42\\xd0\\xbc\\x0a\\x75\\x3d\\x98\\xc6\\xaf\\x02\\x0f\\x17\\x30\\x0d\\xa0\\xf3\\xd3\\xc0\\xdf\\xf7\\x0b\\xfa\\x7e\\x7a\\xe5\\xa3\\xdf\\xe7\\x04\\xbe\\xa7\\x97\\x29\\xc9\\xf7\\xfa\\xe0\\xef\\x7b\\x13\\x1e\\x84\\xdf\\x8f\\x49\\xa4\\x88\\xc6\\x31\\x48\\xeb\\x86\\xa6\\x86\\x22\\x3e\\xe7\\x70\\xef\\xa1\\x58\\x21\\x99\\xf2\\x78\\xc3\\x29\\x77\\x01\\x4f\\x23\\x41\\x51\\x28\\x9c\\x46\\xb1\\x2a\\x67\\xd5\\x58\\x13\\xd0\\xf2\\xb1\\x6a\\x34\\x4a\\x02\\xdf\\xd0\\x24\\x15\\xe9\\x21\\x27\\x41\\xb6\\xb8\\x78\\x0e\\xa9\\xf2\\x78\\x8f\\xd5\\x16\\x8b\\xd4\\xb8\\x01\\x57\\x6f\\xf8\\x4b\\xb5\\x9a\\x34\\x7c\\xd2\\xf4\\xd9\\x15\\xc5\\xad\\x27\\xc2\\xaf\\xa2\\x7e\\x1c\\x52\\x75\\xa7\\x67\\x2f\\xe0\\x8a\\xfa\\xf2\\xb5\\xbe\\xb5\\x5f\\x6f\\xbb\\xf2\\x7a\\xff\\xcd\\xef\\x81\\x09\\x55\\x0b\\x96\\xec\\x1b\\x38\\x75\\xea\\x88\\x75\\x43\\x32\\x98\\xb7\\xda\\xbd\\x3c\\xab\\x6a\\xc2\\xe0\\xd2\\x2e\\xb1\\x9d\\xa6\\x8c\\x1b\\xf4\\x29\\x3c\\xbf\\x13\\xde\\x7a\\x75\\xf4\\xe9\\xe3\\x33\\x01\\xfd\\x5c\\x29\\xdc\\x5e\\x35\\x7e\\x66\\xe3\\x9c\\x59\\x53\\xba\\xae\\xfe\\x18\\xcb\\xb1\\x80\\xe8\\x44\\xbc\\xc7\\x0a\\x85\\x3d\\x26\\xc8\\x21\\xc1\\x2f\\x07\\x52\\x7f\\x42\\xe4\\x54\\x24\\xc8\\xf9\\x1c\\x99\\xab\\xe8\\xbf\\xfb\\x7e\\xfa\\x88\\x7f\\xfc\\x1e\\xe9\\x77\\xf2\\x7d\\x4c\\xf0\\xf7\\xf3\\xc8\\xf8\\xc2\\xf7\\x3b\\xa8\\xa6\\x6b\\x41\\xf8\\xfd\\x1c\\x89\\x3e\\x6e\\x0b\\xc5\\x6b\\x21\\x36\\xb0\\x7f\\xa9\\xa9\\xd4\\xa7\\xec\\x00\\x76\\x1a\\xc9\\x47\\xab\\xa8\\x2e\\xde\\x16\\x21\\x8a\\xa3\\x3c\\x15\\x02\\x34\\x4c\\x08\\xa0\\x8e\\xf2\\x68\\x3f\\xe9\\xc0\\x13\\xa0\\x1c\\x1c\\x03\\x3f\\x83\\x46\\x20\\xd3\\x30\\x20\\x04\\x70\\x38\\xf9\\x83\\xf1\\x1f\\xc4\\xe6\\x6f\\x92\\xf2\\xa1\\xa4\\x74\\x54\\xba\\x87\\xe4\\x7a\\xf0\\x7f\\x69\\x43\\x9d\\xef\\x45\\xe6\\x73\\xdf\\xb9\\x3a\\xe6\\xe2\\xe9\\xd3\\x70\\xcf\\xfa\\xf5\\x70\\xc1\\xe9\\xd3\\x78\\x5c\\x37\\xe2\\xad\\x8e\\xd4\\x74\\xb8\\xb1\\xee\\xf0\\xba\\x1c\\x31\\xf6\\x58\\x36\\xde\\xa9\\x8e\\x47\\x0b\\x81\\x33\\x68\\x59\\x35\\x85\\x5c\\x6b\\x3d\\xe5\\x2c\\xe0\\x51\\xdc\\x68\\xc5\\xc7\\x02\\x42\\xe3\\x93\\xe1\\x71\\xd6\\x9c\\x54\\xe7\\x89\\xd6\\x9c\\x14\\xf1\\x08\\xe6\\x9c\\xe6\\x04\\x6b\\x8e\\x74\\xc1\\x6f\\xaf\\x8d\\x1d\\x9c\\x33\\x2a\\x79\\xc0\\xbe\\xaf\\x37\\xde\\x1b\\x55\\xe2\\x1d\\xd2\\xa2\\xdf\\x81\\x1f\\x40\\x0b\\xce\\xf7\\x74\\xbb\\xa7\\xc6\\x6e\\x1a\\xdb\\xce\\x37\\x52\\x46\\x8f\\xcf\\xda\\x34\\x6a\\xd3\\xd8\\xf6\\xe6\\xb1\\x03\\xba\\x96\\xf7\\x9b\\x53\\x0d\\xdc\\xb7\\x2b\\x87\\x17\\x75\\x1d\\x58\\x38\\x73\\x31\\x7c\\xf7\\xed\\x31\\xf4\\xc7\\x11\\x09\\xbe\\xcb\\xe5\\x85\\x47\\x1a\\xee\\x27\\x44\\xd3\\x5e\\xbe\\xb0\\xee\\x77\\xbc\\x06\\x48\\x1d\\x04\\x99\\xa3\\x12\\x61\\x8e\\xf7\\x90\\x35\\x10\\xeb\\x9f\\x83\\xe6\\xdf\\x4f\\x1f\\xf8\\x8f\\xdf\\x8b\\x73\\x0c\\xe2\\x9a\\x7e\\x3f\\x47\\xfa\\xbd\\x30\\x87\\x34\\x88\\x0f\\xec\\x67\\xe1\\xdc\\x9f\\xd0\\x18\\x24\\x8c\\x31\\x96\\xd0\\x08\\x27\\x8f\\xf8\\xeb\\x90\\x90\\xed\\xd4\\x22\\x5b\\x19\\xef\\x35\\x47\\x52\\x2e\\x87\\x23\\x3a\\xd4\\x18\\xaa\\x2a\\xe0\\x43\\xad\\x46\\x06\\x57\\x24\\x3d\\x52\\xd3\\x0a\\x9a\\x16\\x1c\\x01\\x7f\\x21\\x92\\x5b\\x2c\\x50\\x02\\x1e\\x46\\xce\\xec\\x0a\\x2a\\x38\\x82\\x36\\xb1\\x0a\\x09\\xce\\x14\\x6a\\x93\\x40\\x55\\x7d\\x51\\x14\\xfd\\x75\\x70\\xc5\\x11\\x70\\xfa\\x2b\\x91\\x48\\x75\\x92\\x7c\\x1a\\xe4\\x77\\x48\\xfc\\xcf\\x91\\xf8\\x1f\\xc3\\x09\\xef\\xe8\\x0a\\x7a\\x47\\x21\\x7e\\x1b\\x2c\\xc5\\x81\\x2b\\xa9\\x0c\\xa0\\xc2\\xab\\x5d\\x17\\xf0\\x75\\x04\\x9b\\x56\\x2c\\xd9\\xab\\x95\\x1f\\x92\\xfd\\x90\\x2d\\xca\\x92\\xd0\\x58\\x2c\\x3b\\x28\\xd1\\xd8\\x2a\\xfa\\xd8\\xb4\\xb6\\x29\\x8d\\x9c\\x20\\xbb\\xba\\xf5\\x47\\x42\\x23\\x4b\\xa2\\x01\\x2b\\x70\\x8f\\xa9\\x40\\x43\\x8f\\x4b\\x1c\\x6f\\x52\\x2a\\xfc\\x3b\\xd8\\x0f\\xd7\\x9a\\x0b\\xbf\\x23\\x9f\\x4f\\x96\\xf4\\xfd\\x8b\\xc4\\xb7\\x8a\\x13\\x7d\\xab\\x93\\x82\\x6f\\x15\\x19\\x18\\x93\\xd4\\x46\\x93\\x31\\xf3\\x84\\xf9\\x1b\\x49\\xe6\\x2f\\x26\\x58\\xa7\\xbf\\x48\\xf8\\x8e\\x13\\xfd\\xbc\\xae\\x42\\x6c\\xe0\\xfe\\x5b\\x1a\\xfe\\x75\\x14\\xdb\\x94\\xc6\\x48\\x89\\xc6\\x36\\xe4\\xeb\\x6d\\xc3\\x4f\\xb8\\x9a\\xd3\\x78\\x5d\\xa2\\xb1\\xcd\\x4c\\x68\\x44\\xfd\\x1d\\x1f\\xcb\\xa9\\x4e\\x02\\x1f\\xe1\\x7f\\xcf\\xc7\\xf2\\x06\\x42\\x23\\xd2\\x4f\\x83\\xf4\\x82\\x12\\x1a\\xf1\\x22\\x0d\\xa3\\x30\\x07\\x56\\xbf\\xaf\\xc9\\x50\\xb2\\xc6\\xaf\\xb8\\x27\\x49\\xad\\x6b\\x02\\xd5\\x8a\\x4a\\xf1\\x86\\x59\\x2d\\x49\\x89\\x0b\\x0d\\x54\\x98\\x49\\xcb\\xa8\\x18\\x55\\x6c\\x01\\xaf\\xd2\\x33\\xce\\xa6\\xa5\\xd8\\x36\\xb4\\x6c\\xed\\xaf\\x7b\\x82\\xaa\\xb1\\xfd\\x15\\xbb\\xcd\\xca\\xb1\\xfd\\x60\\x24\\x34\\xae\\xde\\x91\\x33\\x74\\x41\\xee\\x96\\x21\\xf3\\x6b\\x7a\\x2d\\x3e\\x5e\\x39\\x74\\x6a\\x50\\x4d\\xf6\\xd8\\xdc\\xfc\\xae\\x0b\\x86\\xb7\\x1d\\x32\\x60\\xd0\\xa2\\x01\\xcc\\x54\\xf9\\xb2\\x57\\xe4\\x9f\\x1f\\x1d\\x5d\\x7e\\xf8\\xf0\\x7c\\x90\\xf1\\xd9\\xf4\\xe0\\xda\\xec\\x55\\x95\\x15\\xe5\\x27\\xbf\\x19\\x38\\x63\\xc5\\x01\\xb8\\x85\\xbe\\xe3\\x06\\x31\\xb1\\xf0\\x5f\\xa2\\x0d\\x44\\xb1\\xa6\\x51\\x46\\xad\\x27\\xf6\\x6e\\x02\\x7a\\xa7\\x14\\xf4\\x4e\\x91\\xc8\\x47\\xef\\xed\\x75\\x52\\xa1\\x8e\\xd0\\x42\\xde\\xa5\\x73\\x44\\x38\\x52\\x1c\\x8c\\x8d\\x71\\x38\\xc2\\x29\\x8b\\xdc\\xa8\\x32\\x26\\xa3\\xdd\\x88\\x8b\\xe1\\x35\\x0a\\x75\\xbe\\x51\\xa7\\x8a\\x41\\xef\\x6a\\x65\\x2d\\x62\\x8d\\x6f\\x92\\x7f\\x83\\x66\\x05\\xc5\\xa4\\x40\\x7c\\xbb\\xe8\\xe6\\x55\\xe8\\xf8\\x04\\xd8\\x23\\xf7\\xc8\\xc5\\x43\\x29\\xb1\\xad\\x9b\\x66\\xd7\\x5f\\xc0\\x6f\\xc8\\xe1\\x5a\\xf4\\x2d\\xb6\\x71\\x60\\x39\\xae\\x45\\xe7\\xd2\\xe0\\xdb\\x76\\x90\\xec\\xaa\\x77\\x55\\xdb\\x1b\\xac\\xe5\\xc3\\x07\\xaf\\x1c\\x9a\\x3d\\x76\\xfa\\xb4\\xcd\\x03\\xd9\\xc3\\x0d\\x1e\\xf2\\x9e\\xa3\\xcb\\xf7\\xd6\\xf5\\x9f\\x47\\x27\\xf5\\x1f\\x6a\\x07\\xf6\\xea\\x1d\\x3b\\xaa\\x1b\\xf6\\x54\\x8d\\x29\\xac\\x03\\x54\\xff\\x19\\x53\\xb7\\xc2\\xb3\\x81\\x9c\\xc0\\x60\\x29\\x6f\\xb0\\x92\\xca\\x23\\x7b\\x14\\x68\\x02\\xeb\\x43\\xf0\\x4f\\x8a\\x25\\xff\\x65\\x25\\x4d\\xf6\\x57\\x54\\xf0\\xfa\\x78\\x87\\xac\\x8f\\x84\\x26\\x7b\\x14\\xa8\\x9b\\xd3\\x08\\xf8\\x40\\x5b\\x59\\x42\\xc3\\xdd\\x94\\xc6\\x48\\x89\\xc6\\x36\\xca\\x25\\xac\\x75\\x5d\\x73\\x1a\\x77\\x25\\x1a\\xdb\\x18\\x59\\x13\\xdb\\x9a\\x85\\xf6\\xf3\\x3b\\x64\\x9f\\x27\\x88\\xfb\\xb9\\xa7\\xf0\\x3b\\xf4\\x79\\x09\\xd9\\xe7\\xf9\\xb8\\x8a\\x84\\xae\\xed\\x48\\x05\\xe5\\x43\\x02\\x7c\\x2f\\xf7\\xf3\\xdd\\xec\\xdd\\xcb\\x82\\xf8\\x5e\\xfe\\x67\\xd3\\x77\\x27\\x3d\\xc0\\x84\\x46\\x0b\\x71\\x9f\\x8b\\x34\\x62\\x02\\x34\\x48\\x5d\\x3b\\xa1\\xd1\\x43\\xd8\\xe7\\x7f\\x34\\xd1\\x4f\\x8f\\xd0\\xd8\\x4a\\x79\\x04\\x1a\\xae\\xbf\\xa7\\xb1\\x55\\xa0\\xe1\\x69\\x4a\\x63\\xa4\\x44\\x63\\x1b\\x7a\\xa7\\x6d\\xcd\\xf4\\x8d\\x40\\xe3\\x75\\x89\\xc6\\x36\\x81\\x46\\x86\\x44\\x03\\xf2\\xb8\\x9f\\x59\\xa0\\xa1\\x97\\x85\\x7c\\x49\\x51\\x81\\xdf\\xc9\\x28\\xff\\xef\\x42\\xbe\\x69\\x6c\\xfa\\x3b\\x21\\x0f\\x82\\xf9\\x4f\\x92\\x62\\xda\\x07\\xc1\\xb9\\x1e\\xb4\\x97\\xb0\\xdf\\x35\\x42\\x76\\x90\\x0a\\xa5\\xa2\\xa8\\xce\\xde\\x44\\xb7\\xb3\\x86\\x8f\\x70\\xaf\\x2e\\x75\\x44\\x70\\x56\\xad\\x8a\\x65\\xe5\\x6a\\xb9\\xa9\\x80\\xbf\\x24\\x07\\x72\\xaf\\x35\\x22\\x5f\\x2e\\xd7\\xd8\\x42\\x19\\xb5\\x05\\xe0\\xf6\\xe2\\x36\\x39\\x36\\xdc\\xb3\\x5c\\xe6\\xd7\\x18\\x1e\\x72\\x48\\x85\\x33\\xa5\\x62\\x0b\\x4c\\xd3\\x9a\\x79\\x79\\x74\\x7c\\x34\\x17\\x9d\\x19\\xeb\\x01\\xfd\\x4f\\xc5\\x26\\x85\\x33\\x35\\x3f\\x82\\x48\\xcd\\xc2\\x53\\x73\\x54\\xfd\\x07\\xcd\\x7b\\x29\\x62\\x42\\x3d\\x6b\\x61\\x47\\x5f\\xa6\\xa1\\xaf\\x92\\x05\\xc9\\x7b\\xb9\\xdc\\x8b\\x9f\\x0c\\xbf\\x05\\x1b\\xdb\\x75\\xf2\\x8d\\xa5\\xe7\\xa4\\xa7\\x0c\\x28\\x7c\\x61\\x9b\\xef\\x06\\x77\\xd6\\xbc\\x6a\\x95\\xf9\\xbe\\x3f\\x86\\xe6\\x3a\\xa1\\x18\\xda\\x84\\xbc\\x9e\\x5c\\x6f\\xbc\\x46\\x6b\\xd3\\x96\\xf3\\x66\\x9b\\xd2\\x62\\x65\\x0c\\x94\\xa1\\x82\\x67\\x58\\x39\\x83\\x8b\\x5c\\x29\\xa0\\xd6\\xe9\\x19\\x95\\x91\\x9c\\x74\\x30\\x18\\x65\\xcf\\x5f\\xf3\\x21\\x41\\x07\\x7a\\x9a\\x16\\x0b\\x78\\xe4\\xd1\\x12\\x7c\\x20\\x81\\xc6\\x0a\\x8b\\xbb\\x14\\x47\\x2b\\xd1\\xbf\\x76\\x39\\x77\\x5d\\xbd\\x44\\x7a\\xb2\\xaf\\xee\\x72\\x32\\xee\\x24\\xdf\\xef\\x49\\xec\\xa2\\x97\\xd1\\x3f\\x1b\\x1a\\x4c\\xb8\\x37\\x9b\\xf9\\x71\\x03\\xac\\xf9\\xe4\\x13\\xa9\\x5e\\xbb\\x0b\\xd1\\x51\\xb9\\x5e\\x57\\x88\\xca\\xa1\\xb7\\x70\\xce\\x48\\x67\\x21\\x4f\\xeb\\x22\\x23\\x22\\x53\\x22\\x91\\x9a\\x8a\\x8c\\x54\\x51\\x2a\\x1b\\xd2\\x49\\x48\\x45\\xbd\\x80\\x34\\x94\\x4a\\x27\\xf4\\x1f\\x34\\x4b\\x94\\x49\\xdd\\x08\\xb8\\x1a\\xe5\\x6f\\x84\\x8b\\x13\\x69\\x60\\xd2\\x29\\x17\\x48\\xb2\\xc3\\x7b\\x1a\\x7d\\x12\\x53\\xf3\\x03\\x70\\x6b\\x9e\\x3c\\xb5\\x48\\x28\\xf7\\x9e\\x5a\\xff\\xcd\\x12\\xfb\\x12\\xee\\xf5\\x1d\\xd5\\x5d\\xfa\\x1f\\xbf\\x45\\xba\\x13\\x7a\\xd3\\x5b\\xc5\\x82\\xef\\xe7\\xd8\\xc3\\xd5\\x62\\xce\\xef\\x28\\xc9\\x99\\x25\\x8b\\x39\\xaa\\x54\\x61\\xad\\x58\\x02\\xeb\\x14\\xeb\\x61\\xc1\\x47\\xfe\\x35\\xc8\\x47\\x06\\x26\\xff\\x7a\\x13\\xf2\\x86\\x83\\x25\\x1a\\x7e\\xbf\\x22\\x78\\xdf\\x62\\x1a\\x91\\x44\\x67\\x09\\x34\\x56\\x86\\x10\\x1a\\xaa\\xa6\\x34\\x02\\xf9\\xc9\\xad\\xfe\\x3c\\x8c\\xba\\x29\\x8d\\x91\\x41\\x31\\xd3\\x56\\xc1\\xb6\\x2a\\x25\\x1a\\x48\\xaf\\xec\\x24\\xfa\\x26\\x59\\xd0\\x2b\\x1a\\x61\\xbf\\xc4\\xa1\\xcf\\x43\\xc9\\x3e\\xeb\\x25\\x7c\\xde\\x96\\x0a\\xca\\x77\\x8e\\x94\\xc6\\x7c\\x44\\xc7\\xa1\\xf9\\x24\\x71\\x1e\\xa9\\xc1\\xf4\\xf7\\x21\\x3c\\xda\\xb7\\xd1\\xa4\\x0f\\xa1\\x59\\xbf\\x86\\xd0\\xab\\x21\\xd4\\xb2\\xff\\xd9\\xf8\\x03\\x17\\x45\\xb0\\x3c\\x6d\\x54\\x0b\\x6f\\xa8\\x8e\\x2d\\xe7\\x29\\xb3\\xde\\x4c\\x6b\\x18\\xb3\\x59\\x67\\x52\\xe1\\x16\\x47\\x15\\x83\\xf3\\x3f\\x42\\x6b\\xb2\\xc7\\x1f\\x0c\\x78\\x40\\x74\\xac\\xbf\\x5b\\x83\\x18\\x28\\xa1\\xf3\\x9e\\x6a\\xbc\\x04\\xff\\xba\\x44\\x9f\\xa9\\x9c\\xe3\\xd8\\x0c\\xff\\xe3\\x02\\xb7\\xea\\x13\\xfe\\xb8\\xb0\\x6f\\xeb\\xe5\\x9e\\x18\\x79\\x63\\xd9\\xda\\x95\\xa4\\xe7\\xfe\\xee\\x57\\x07\\x2f\\x29\\x23\\x6c\\x13\\x27\\x51\\x2c\\x55\\x2d\\xd6\\x7f\\xe2\\x38\\xc5\\x4a\\xd9\\x91\\x57\\xe0\\xd0\\xa0\\x5d\\xae\\x71\\xd8\\x58\\x8e\\x2d\\xe6\\x43\\x39\\x8a\\x56\\x5a\\x19\\xc6\\x02\\x42\\x14\\xf8\\xa0\\x30\\xc7\\x86\\xb7\\x7a\\x70\\x73\\x91\\x07\\x2d\\x39\\xb4\\x53\\x38\\xe4\\x0c\\xb0\\xd1\\x81\\x2e\\x12\\x8c\\xc2\\xd6\\xff\\xe4\\xdd\\xfa\\xaf\\x63\\xaf\\xc7\\x82\\xba\\x7a\\xdc\\x3a\\x72\\x5b\\x6a\\x27\\xf9\\x01\\x7d\\xc8\\x66\\x3f\\xbc\\xc6\\xa9\\x2f\\x5f\\xbe\\x8b\\x3b\\x48\\x84\\x76\\x12\\x2e\\xf6\\xf2\\x65\\x3c\\x07\\x18\\x73\\xe0\\x63\\xa2\\xab\\x5a\\x8a\\xba\\xaa\\x4e\\x58\\x7f\\x61\\x81\\xb3\\x89\\x2b\\x88\\xef\\x1d\\x78\\xde\\x43\\xbe\\x15\\xf4\\xb5\\x10\\x4b\\xdb\\x02\\x76\\x86\\xc7\\x78\\x02\\x88\\x46\\xab\\x26\\x7a\\xb2\\x1a\\xe9\\xcf\\xd3\\x64\\xde\\xfb\\x04\\x3e\\xf7\\xf7\\xae\\x90\\xba\\x61\\x9b\\x57\\xad\\xd0\\xd1\\x40\\xce\\x70\\x3a\\xe4\\x20\\x60\\x17\\x21\\xc7\\x96\\x95\\x23\\xb6\\xab\\x98\\xa4\\x76\\x95\\x5f\\x36\\xf7\\xae\\xbf\\x5b\\x5f\\x49\\x77\\x11\\xba\\x55\\x7e\\x1a\\x0a\\xa7\\xb2\\xd9\\xbe\\xaf\\x68\\xbb\\xd0\\xad\\x82\\xc7\\x22\\x98\\x03\\xe4\\x3d\\x52\\x04\\x1f\\xb5\\xf1\\x0d\\xe1\\x3d\\x54\\x01\\x9d\\x8b\\x7b\\x5a\\x76\\x20\\x9d\\xab\\x40\\xc2\\x8d\\xf7\\x9a\\xd4\\x0b\\x95\\x0a\\x2f\\x59\\x52\\xcc\\xa3\\xad\\x40\\xf6\\x50\\xfd\\x27\\xf6\\x5b\\x4d\\xbb\\x81\\xc8\\x71\\xb3\\xd4\\xe7\\x72\\x9b\\xf4\\xb9\\x9c\\x63\\x81\\xe1\\x15\\x0e\\x1e\\xc0\\xfd\\x2e\\x89\\x35\\x15\\xe6\\xfb\\xce\\xaf\\x05\\x7e\\xd0\\xbb\\x03\\x22\\x93\\x14\\xe1\\xdd\\x95\\x02\\x9f\\x4e\\xf4\\xb9\\x8e\\xc8\\xe4\\x89\\x26\\xb2\\xc2\\xfc\\x9f\\xf1\\x3f\\x6f\\x90\\x87\\x7c\\x49\\xe7\\x72\\x07\\x28\\xf9\\x09\\x10\\xc2\\xf8\\xcf\\xe6\\xf0\\xbd\\xf3\\x5c\\x0f\\xe1\\xb7\\xb7\\x91\\x3d\\x0f\\xf9\\x1a\\xec\\x0d\\xbc\\xbb\\x34\\x16\\xde\\x47\\x36\\x5f\\x5f\\x3c\\x16\\xa9\\x81\\xf4\\x8f\\x85\\x3e\\x07\\x0e\\x5f\\x5f\\x24\\xff\\x36\\x22\\x3e\\x83\\x06\\x47\\x52\\x72\\x56\\x09\\x58\\x3a\\x04\\xfd\\xa1\\x64\\x1c\\x43\\xa9\\x02\\x60\\x0d\\x82\\xba\\x26\\xc8\\x99\\x1e\\x13\\x8a\\x51\\xd1\\x7c\\xc4\\xda\\x38\\x8c\\xde\\xc0\\x2f\\x6a\\x71\\x63\\xed\\xa5\\x39\\xa0\\x53\\x2c\\x9c\\xd3\\x87\\xde\\xe5\\x02\\x37\\x3b\\xcc\\xaa\\xa0\\x3f\\xf5\\x2d\\xd9\\x3c\\xeb\\x2c\\x9c\\x50\\xeb\\xef\\x1f\\xca\\x45\\x6b\\xdd\\x40\\xb5\\xf1\\xda\\x29\\x46\\xa9\\x61\\x55\\x00\\xfd\\x31\\xc8\\x0d\\xda\\x02\\xde\\x40\\x61\\xd4\\x8c\\x02\\x5e\\x1e\\x54\\x45\\x2d\\xa6\\x46\\xc8\\x70\\x20\\x93\\x8c\\x83\\x05\\x2f\\x8f\\x8f\\x25\\xfb\\x2e\\xfa\\xaf\\x04\\xf8\\x52\\x95\\x5f\\xf6\\xe5\\xff\\x49\\x02\\x59\\xe3\\xe1\\x11\\x07\\x2d\\x67\\xa6\\x2e\\x9a\\xbc\\xd7\\x77\\xb4\\xa6\\x06\\xfc\\x38\\x67\\xd2\\x33\\x74\\x4a\\x4d\\xc0\\x97\\x11\\x6c\\x70\\xaa\\x18\\xb3\\x1c\\x12\\xd6\\x43\\xe0\\xec\\x8e\\xd8\\x8a\\xe9\\x44\\x9f\\x15\\x8a\\xcf\\xac\\xa0\\x82\\xa2\\x16\\x81\\x0e\\x9a\\xaf\\x57\\x89\\x6c\\x53\\x85\\xf9\\xfa\\xb7\\x40\\xbf\\x00\\x7d\\xde\\x83\\xf8\\x50\\x85\\xc2\\xe7\\x5f\\x3e\\x76\\x5c\\xe4\\x43\\x65\\x08\\xe3\\xea\\x9a\\x8e\\x3b\\x5c\\x1a\\x17\\xf9\\x50\\x54\\xd3\\xf8\\x62\\x18\\xfa\\xfe\\x24\\x97\\x87\\xbf\\x1f\\x4d\\xd6\\x42\\x63\\x17\\xae\\x0e\\xaf\\x05\\xb7\\xb8\\x16\\xb0\\x9d\\x43\\xfb\\xf6\\x2c\\x37\\x10\\x45\\x20\\xad\\xbc\\x0e\\x67\\x64\\x24\\x32\\xbd\\x91\\x6c\\x18\\x63\\x35\\x52\\x48\\x8d\\x75\\xe5\\xfa\\x72\\xc3\\xd1\\x92\\x0e\\xc6\\x0c\\xf1\\x37\\xe9\\x73\\x51\\xad\\x80\\x98\\x4f\\xce\\x0c\\x36\\x65\\x39\\x80\\x34\\xeb\\x64\\xb8\\x89\\x95\\x53\\x02\\x7a\\x63\\x97\\xb2\\x4e\\xae\\x4d\\x91\\x1d\\x5b\\x3d\\x31\\xa9\\x45\\xa1\\x72\\x70\\xe5\\xaa\\x0f\\x22\\x8e\\xd6\\x7f\\x10\\xa6\\xc1\\xdd\\x4b\\x4f\\x03\\x1b\\x68\\xa5\\x19\\x90\\xfd\\x8e\\x39\\xa2\\x7d\\x87\\xe1\\xed\\xe3\\x2f\\x7d\\x02\\x76\\xb7\\x69\\x31\\x80\\x3f\\xb5\\xbd\\x61\\x11\\x5b\\xbe\\xb6\\x44\\x36\\xa7\\xed\\x2d\\xf8\\xb0\\xad\\x17\\x76\\x82\\x77\\x61\\x03\\xe1\\x17\\xe9\\x10\\xdc\\x47\\x15\\x8f\\x3b\\x74\\x1c\\x11\\x05\\xbc\\xc3\\xa1\\x33\\x71\\x26\\xaa\\x80\\x37\\xe9\\x55\\x3a\\x8e\\x6c\\x7d\\xc1\\x02\\x0b\\x27\\xf9\\x8f\\x6d\\xa4\\xc2\\xca\\x37\\x3e\\xd3\\xe6\\xe7\\x9c\\xfe\\xe0\\x71\\x3d\\x55\\xfb\\x9d\\x1b\\x66\\xf5\\x4a\\x75\\x74\\xc8\\xcb\\x35\\xd7\\xaa\\x06\\x30\\x57\\x1f\\xd3\\x5c\\xd5\\x70\\x70\\xcb\\x2a\\xc5\\x2a\\x59\\xf7\\x51\\x4c\\x14\\xb6\\xc6\\x81\\x73\\xa0\\xc1\\xd2\\x59\\x91\\x14\\x9b\\x37\\x8b\\x2d\\xcb\\x88\\x0d\\x2d\\x0a\\xf6\\xfb\\x23\\xfc\\xf3\\x26\\xd0\\x38\\x28\\xd1\\x90\\x62\\x73\\x67\\x73\\x1a\\x81\\x7c\\xd8\\x56\\x21\\xdf\\xe5\\x0a\\xa2\\xc1\\x45\\x05\\x9d\\x6b\\xed\\x04\\x83\\x90\\x1d\\x26\\xd9\\x4f\\xe9\\xac\\x03\\xd1\\xe0\\x64\\x12\\x0d\\xfc\\x8c\\x57\\xcc\\x8a\\x25\\x1a\\xfc\\xe7\\x84\\x86\\xc6\\x87\\x5c\\x16\\xd7\\x13\\xd9\\x99\\x28\\xaa\\x87\\x37\\x51\\x6f\\x2a\\xe7\\x57\\xeb\\xc1\\x6c\\x3d\\xd0\\x61\\xc8\\x2d\\xbd\\x5e\\x4d\\x85\\xdb\\x75\\x6a\\x5d\\x39\\xaf\\x54\\xaa\\x99\\x30\\x9b\\x19\\x23\\xf3\\xd0\\x34\\x41\\xbd\\x48\\x11\\x8f\\x81\\x05\\xc0\\x2d\\x29\\x9f\\x5d\\x86\\x6d\\xa1\\x5b\\x28\\xd3\\x12\\x4e\\x9e\\x02\\x07\\xc1\\xb1\\x6d\\x32\\x4d\\xfe\\xd6\\x29\\xf0\\xdf\\xf6\\xf1\\xaf\\x5e\\x18\\xb2\\xfb\\xbb\\x3d\\xed\\x52\\xe9\\x56\\x4e\\x38\\xa5\\x3f\\x98\\xe8\\x84\\xeb\\x4a\\xc0\\x69\\x97\\xaf\\x7f\\x37\\xd7\\x1b\\x31\\x1d\\x9f\\x7a\\x71\\xe2\\x74\\xee\\xe6\\x9d\\x9d\\x60\\x13\\xa0\\x17\\xc8\\xb6\\xc0\\xfc\\x4d\\x30\\x6b\\xcb\\x6a\\x19\\xeb\\x96\\xbd\\x02\\x87\\xee\\xde\\x5e\\x83\\xe3\\x67\\x1a\\xc9\\xe9\\x0d\\xb4\\x5e\\x30\\x96\\x71\\x3a\\x7a\\x83\\x78\\xb9\\x9c\\x4a\\x6c\\x8d\\xbb\\x83\\x5b\\x3b\\x5b\\xd3\\x66\\xb6\\x75\\x6b\\xad\\xb5\\x65\\xb4\\x35\\xba\\x80\\xb7\\x87\\x5a\\xf5\\x6c\\xa2\\x36\\xb1\\x80\\x57\\x2b\\xb5\\x7f\\x9b\\x8d\\x6f\\xd2\\x2d\\xec\\xcf\\xc3\\xc7\\x07\\xf5\\xc5\\x4a\\xb9\\xf7\\x00\\x2e\\x58\\x86\\x31\\x90\\x7e\\x7f\\xc9\\x3a\\xa5\\x73\\xb9\\x73\\xd1\\x94\\x2f\\x5f\\x68\\x39\\xfd\\x4c\\xd5\\x82\\x5e\\xb3\\xf7\\x55\\xbe\\xd8\\x72\\xc6\\xd1\\x1f\\x9c\\xac\\xef\\xa9\\xec\\x76\\x7d\\x67\\xf4\\xad\\xe2\\x67\\x14\\x82\\x45\\xdd\\xa7\\xbb\\x41\\x57\\x75\\x26\\xf8\\x63\\x42\\xff\\xcb\\x24\\xe7\\x7e\\xfa\\xf4\\xee\\xfd\\x0b\\x40\\xcf\\x4f\\xaa\\x9e\\x7f\\x1e\\xbe\\x52\\xb5\\x2e\\x14\\xb8\\x06\\xf7\\x7f\\x1e\\xae\\x9d\\x7e\\xf9\\x02\\x98\\x03\\x22\\x8f\\x6c\\xef\\xdf\\x61\\xf0\\x00\\xbf\\xde\\xb8\\x44\\xd6\\x4e\\xba\\xa8\\x8b\\x66\\x3e\\xb2\\x76\\x48\\x0f\\x19\\x99\\xf7\\x7e\\x42\\x8e\\x85\\x27\\x7a\\xc3\\x19\\x64\\x87\\x31\\xa6\\x89\\x40\\x03\\xeb\\x24\\x9f\\xa0\\x93\\xf4\\xe8\\xf3\\x05\\x44\\x57\\xf5\\xc3\\x76\\x20\\xe4\\x4b\\x78\\x9f\\x7a\\xcc\\x98\\x48\\x0f\\x85\\x0b\\x63\\x86\\xfd\\xed\\x98\\xf4\\x72\\xc1\\xe7\\x0b\\xf3\\x8f\\x49\\x70\\x4c\\x08\\x8d\\x0c\\x91\\x6f\\xd1\\x7f\\x48\\x6f\\x7a\\x7e\\x97\\x4b\\x68\\xf4\\x17\\xf8\\xee\\x4f\\x68\\x78\\xfe\\x86\\x06\\xf2\\x41\\xd2\\x04\\x1a\\x19\\x7f\\x4b\\x83\\x5e\\xa6\\x23\\x34\\xd2\\x24\\x1a\\xb0\\x2b\\xc6\\x53\\x11\\x68\\x90\\xb3\\x8a\\x5e\\xc2\\xef\\xd0\\xe7\\xb9\\x6c\\x4f\\xe1\\x77\\xe4\\xf3\\xfe\\xe4\\x73\\x61\\xcc\\x3a\\x69\\xcc\\xe5\\x7e\\x7f\\x37\\xb5\\xe9\\x98\\xa3\\x83\\xc6\\x5c\\xce\\x91\\x31\\x53\\xfc\\x63\\xbe\\x86\\xfc\\x1e\\x27\\x91\\x77\\xa6\\x20\\xef\\xcf\\x89\\xbc\\x81\\x1a\\xc9\\xdb\\xc3\\xf5\\x45\\x9f\\x0f\\x10\\x3e\\xe7\\x84\\x79\\x20\\xf8\\x29\\xe4\\x3d\\x33\\x9b\\xc6\\xd7\\x8a\\xc0\\x98\\x27\\x1b\\xef\\x73\\x73\\x89\\xcd\\x1e\\x70\\x00\\xeb\\xfe\\xaf\\x01\\xbe\\xe2\\x1a\\xe9\\xfe\\x70\\x4a\\xd2\\xfd\\x7e\\x1c\\x16\\x1d\\x95\\xe8\\xb5\\x50\\x2a\\x0d\\xb2\\xd9\\xac\\x5c\\x29\\x47\\xee\\xab\\x52\\xc9\\x69\\x18\\x19\\x81\\x2c\\xca\\x69\\x0a\\x61\\x0e\\x18\\x21\\xbe\\x22\\x47\\xff\\x04\\xa3\\xa5\\xf8\\x7e\\xf8\\xfd\\x59\\x17\\x67\\xa1\\x7f\\x17\\xfb\\xb1\\x5a\\x60\\xc9\\x46\\xdf\\x06\\x7a\\xdc\\x46\\x50\\x57\\x8b\\xf1\\xbc\\xae\\x36\\xde\\x67\\x3b\\x70\\x7d\\x51\\x2c\\x95\\xe9\\x0d\\xa7\\x8d\\x16\\x63\\x01\\x1f\\x69\\xb1\\xa8\\x23\\xac\\x61\\xd6\\x02\\x3e\\x3c\\xcc\\xe1\\x08\\xd3\\xa9\\xe5\\x81\\xd6\\x7c\\x7f\\xa7\\x9e\\xd1\\xdf\\x3c\\x81\\x46\\x95\\xbb\\x75\\x20\\xb8\\x53\\x2f\\x43\\xc4\\x86\\xf7\\xb7\\xf1\\x31\\xdf\\xda\\x61\\x41\\x72\\xa0\\x61\\x8f\\x49\\xaf\\xb3\\xd7\\x65\\xd5\\x05\\x9a\\xf9\\xb2\\xe8\\x65\\x4b\\x3e\\xf7\\xb7\\xee\\x19\\xe2\\x80\\x6e\\x09\\x88\\x15\\x3a\\xfa\\xe0\\x87\\x81\\xb3\\xe1\\x9d\\xd2\\xf9\\xb1\\x14\\x3f\\x45\\x04\\x64\\x2a\\xe4\\x9f\\x0f\\x4a\\xf9\\xe9\\x1d\\x80\\xcc\\x63\\xa2\\x7f\\x1e\\x05\\x1a\\x83\\x25\\x1a\\x52\\xfc\\x64\\x6b\\x4e\\xa3\\x58\\xa2\\x21\\xe8\\x7e\\xe0\\x6e\\x4a\\xe3\\xa0\\x44\\x43\\xca\\xf9\\x58\\x9b\\xd3\\x08\\xe4\\xc9\\xb7\\x36\\xb3\\xfb\\xcd\\x69\\x6c\\x47\\xda\\x6f\\x27\\x95\\x74\\x82\\x06\\x56\\x5c\\xa4\\x1a\\x16\\x96\\x8f\\xff\\xeb\\xd5\\x5b\\x6d\\xf9\\xc7\\xad\\xe0\\x98\\x15\\xb4\\xb6\\x82\\x48\\x2b\\xb0\\x52\\xb8\\xee\\xaa\\x2c\\x49\\x38\\x0e\\xf1\\x8f\\x43\\xce\\x3c\\x85\\x71\\xb6\\x8b\\xf9\\xf6\\xc8\\xa0\\xf3\\x33\\x34\\x16\\xd7\\x2a\\x68\\xac\\x9d\\xa0\\x12\\xf1\\x8b\\x9f\\x72\\x4b\\x76\\x06\\xd1\\xe1\\x58\\x89\\x5f\\xfc\\x4c\\x47\\x91\\x52\\x92\\xc1\\xff\\xcc\\x04\\x14\\xdb\\x7d\\x40\\xf6\\x40\\x5b\\x21\\xb6\\x6b\\x27\\xf2\\x80\\x3e\\x5f\\xcc\\x66\\x0b\\xbf\\x25\\xb9\\x27\\x37\\xf9\\x9c\\xe0\\xeb\\x90\\x71\\xb3\\xc5\\xbd\\x9e\\xf4\\x48\\x6e\\x87\\xf4\\x33\\x92\\x71\\x07\\x0a\\x7b\\x5d\\xc8\\xbf\\x4a\\x36\\x52\\x38\\xeb\\x3f\\xe8\\x3f\\xeb\\x0f\\xd0\\x08\\xf8\\x58\\xcd\\xcf\\x13\\xfc\\x34\\x9c\\x4d\\x69\\x94\\x49\\xf5\\x02\\x63\\x50\\xfc\\x23\\xd4\\x14\\xe8\\xa5\\x7a\\xab\\x7f\\x61\\x2c\\x1c\\x32\\x4e\\x07\\xa9\\xae\\xa7\\xb9\\x2f\\x47\\x7a\\x04\\xc9\\x38\\x65\\x82\\x6e\\xeb\\xd7\\xe4\\x9c\\x51\\xa4\\x31\\xd2\\x4f\\x03\\xf9\\xe6\\x49\\x42\\x8c\\xab\\x69\\x4e\\xe3\\x75\\x3f\\x0d\\x7a\\x9b\\x8f\\xd0\\xd0\\x34\\xa5\\x51\\x27\\xd1\\x58\\x8e\\x34\\xf7\\x6f\\xc1\\xb1\\xcd\\xa3\\x7c\\xd0\\xcb\\x41\\x50\\x7c\\x8f\\xeb\\x34\\x45\\x0c\\x0b\\x1d\\xe5\\xac\\xd7\\xa9\\x29\\x4e\\x7d\\x06\\xd8\\x5f\\xe0\\x69\\x0e\\x6d\\x73\\xd2\\xaf\\xe9\\x2f\\x36\\x70\\x47\\x9b\\x82\\xb0\\x2b\\x64\\x72\\xf0\\x61\\xfd\\xbb\\x01\\xc4\\x8a\\x8d\\x8b\\x1d\\x6c\\xb1\\x88\\x53\\x31\\x6e\\x59\\x30\\x6e\\x4b\\x24\\x8a\\xfd\\xba\\x7b\\x13\\x2c\\x1a\\xad\\xa6\\x90\\x37\\x6a\\x71\\x27\\x9c\\x56\\x6b\\xd7\\xd3\\x4c\\xa8\\x8d\\xb1\\x29\\xec\\xf6\\x18\\x64\\xa8\\xf5\\x7a\\x4a\\x61\\xa1\\x92\\x1e\\xed\\x19\\xc7\\xc5\\x93\\x42\\xb3\\x82\\xff\\xc2\\x05\\x8c\\xed\\xc2\\xc8\\xa3\\x91\\xa3\\x87\\xfb\\xad\\x48\\x0e\\x46\\xf6\\x8f\\x10\\x2f\\x9c\\x46\\xad\\x04\\x47\\x43\\x12\\x2f\\x2d\\xb0\\xcf\\x77\\xd6\\x3b\\x41\\x1b\\x3b\\xbc\\xed\\x74\\x0b\\x68\\x2f\\x6d\\x61\\xe3\\x86\\xf2\\xa1\\x0b\\xea\\xca\\xc7\\x4d\\x99\\xbe\\x79\\x90\\xf9\\x8c\\x3d\\xb3\\x95\\x9b\\x0d\\xbb\\xc6\\xbc\\x5b\\xfd\\xf4\\xd3\\xd5\\x9b\\xb6\\x5c\\x87\\x07\\x07\\xcf\\xf2\\x23\\xbe\\xec\\x82\\x17\\x97\\xcc\\xa9\\xda\\x01\\xfa\\x20\\x1f\\xa4\\x9d\\x88\\x97\\x69\\xa3\\x5c\\xc8\\x6f\\x4d\\xf7\\x3a\\x2c\\x31\\x8e\\x18\\x47\\x39\\x1f\\xa3\\x8c\\x51\\xb2\\xba\\x68\\x4e\\xc7\\x55\\xf0\\x3a\\x86\\x0d\\x47\\xea\\xd7\\x18\\x40\\xde\\x11\\x2b\\xe7\\xfc\\xe5\\xae\\x66\\x36\\x11\\x98\\xa2\\x64\\x16\\x9b\\x3c\\x1e\\x97\\xb7\\x63\\xf7\\x1a\\x5f\\x35\\x20\\x27\\xf8\\x6a\\x91\\xfe\\x72\\x92\\x0c\\xb6\\x12\\x5e\\x80\\x3f\\xc0\\xd5\\xdf\\x0d\\xec\\x87\\xf6\\xd9\\x4b\\x75\\xa0\\x2d\\x38\\x5d\\xbf\\x7d\\xc5\\xf6\\x4b\\xf0\\xda\\x96\\xb2\\xfd\\x60\\x45\\xf4\\x93\\x4f\\xce\\x29\\x9c\\xf7\\xdc\\x71\\x70\\xf2\\xb5\\x6f\\xd8\\xe7\\x4b\\x86\\xb7\\x35\\x84\\x85\\xed\\xbb\\x02\\x7f\\x59\\x79\\x2d\\x52\\xb7\\x7e\\xf2\\x15\\x18\\xc5\\x54\\xf5\\xeb\\x09\\x2b\\x16\\xe3\\xb5\\x50\\x8c\\xf8\\xfe\\x99\\xcb\\xd5\\xcb\\x98\\x97\\xec\\xc1\\x73\\x84\\x31\\x89\\xd3\\x91\\x26\\x67\\x8c\\x06\\xc6\\xa0\\x30\\x9b\\x5d\\x04\\x5c\\x45\\x57\\xc4\\xab\\xf1\\xbc\\xc4\\x06\\xcd\\x4b\\xe0\\x20\\x4d\\xa8\\x6b\\x0d\\x9a\\x0f\\xd2\\x7c\\xfd\\x7f\\x99\\x89\\x07\\xf4\\x27\\x2e\\xdf\\x3d\\x4f\\xd4\\x3f\\xce\\x01\\xfb\\xe3\\x33\\xf0\\xbf\\x3b\\xfe\\x66\\x06\\xfc\\x35\\x3b\\x0b\\x09\\x4e\\x9b\\x95\\x72\\x7a\\x75\\x2a\\x23\\xc6\\x43\\xe5\\x14\\x0c\\x87\\x1c\\x5a\\x4e\\x94\\xba\\x91\\x40\\x38\\x02\\xb3\\x8c\\x8d\\x76\\x9b\\x70\\x98\\xce\\xb8\\x71\\x17\\x01\\x81\\x67\\xcb\\x60\\x17\\xae\\x82\\x0d\\xcf\\xf9\\x7e\\x3d\\x3b\\x5f\\x06\\x7a\\xb5\\x9d\\x00\\x3a\\xdf\\xfe\\xf4\\x65\\xf8\\x2f\\x78\\x6f\\x10\\xf0\\xbc\\x74\\x12\\xdc\\x59\\x79\\x6f\\x0a\\x73\\x7a\\x9f\\xfb\\xba\\xef\\xe6\\xde\\x17\\x2f\\xc1\\x84\\x95\\xc1\\xf2\\xc2\\x38\\xdd\\x2d\\xbd\\x36\\xa3\\x49\\x2e\\x33\\xc9\\x14\\x61\\x16\\x7d\\x5c\\x01\\xaf\\xb7\\x2a\\x50\\xf0\\xa2\\xd0\\x33\\x7e\\xcc\\x12\\x11\\x73\\x45\\x90\\x13\\x20\\xa3\\x07\\xc4\\x13\\x2d\\xc9\\xad\\x29\\xb4\\x00\\x88\\x2e\\x93\\x83\\x18\\x4f\\x51\\x40\\x38\\x17\\x82\\x24\\xc7\\x44\\x07\\x24\\xc5\\x76\\xac\\x77\\x9f\\x15\\x60\\x89\\x04\\x11\\xf9\\x25\\x47\\x83\\xa6\\xa2\\xc2\\x71\\x3d\\xe2\\x7b\\x1d\\x8a\\x09\\x43\\x91\\xbd\\x8e\\x8c\\xe0\\x52\\x38\\x1a\\x83\\x14\\x45\\x1a\\x19\\x35\\xc3\\x19\\x39\\xa3\\x4e\\x80\\x4c\\x65\\x75\\x96\\x72\\x5e\\x67\\x7a\\xb4\\x3b\\xaa\\x8c\\x60\\xa7\\xe2\\x5a\\x14\\x7c\\xfa\\x62\\xd1\\xd3\\x6c\\xb4\\x1f\\x75\\xce\\xc8\\x5c\\x87\\x70\\xe4\\x99\\x76\\xdb\\x5f\\x02\\x45\\xef\\xbc\\x73\\x1c\\x5e\\x7a\\x0b\\x9e\\x2a\\x38\\x6c\\x5f\\x51\\xb9\\xe1\\xde\\x74\\x66\\x04\\xe0\\xab\\x27\\x77\\x02\\x4f\\xfc\\xf5\\x13\\xfc\\x15\\x96\\xbf\\x07\\xa6\\x76\\x5a\\x5d\\xb3\\x1f\\x14\\x0b\\x3c\\x4d\\x45\\x36\\xe4\\x57\\x59\\x14\\x15\\x4b\\xf5\\xf4\\x26\\xd9\\xc2\\xcc\\x61\\xe5\\xbc\\x59\\x67\\x70\\xe9\\x22\\x5c\\x29\\x2e\\x9a\\x62\\xf5\\x6c\\x24\\x8b\\xd8\\x63\\x5d\\xac\\x4b\\xae\\xd3\\xb9\\x11\\x63\\x2c\\x01\\xe8\\x7c\\x1c\\x7b\\x68\\x63\\xe9\\x5f\\x16\\xfd\\x0a\\xbd\\xbb\\x8d\\x29\\x08\\xe2\\xb5\\x8d\\x8d\\xfc\\x0b\\x03\\x87\\xca\\x74\\x74\\x10\\xda\\xeb\\xdd\\x03\\x22\\xd8\\xeb\\x89\\x86\\x5d\\xc7\\x47\\x39\\x0f\\xce\\x48\\xf7\\x46\\x24\\x24\\x77\\xeb\\xa3\\x49\\x38\\x66\\x5c\\x32\\x7c\\xfc\\xbe\\xe9\\xdd\\x31\\xee\\x2b\\xb0\\x8b\\xb8\\xaf\\x73\\x1a\\x16\\x0c\\x5e\\xb1\\x43\\xb7\\xc3\\xd8\\xad\\xf7\\x8f\\x1d\\x66\\xcc\\xab\\xbc\\x07\\xcf\\x0b\\xb8\\x4f\\xdc\\x6a\\x8e\\x41\\xab\\xa1\\xa3\\xd7\\x44\\xeb\\x28\\x97\\xce\\xa5\\x8b\\xa2\\x70\\x25\\x50\\x94\\x35\\x44\\xc9\\x61\\xa4\\x65\\xaf\\x82\\x47\\x4e\\x9e\\x49\\xc2\\x9a\\x10\\x18\\x0d\\x7a\\x01\\x82\\xcc\\x0f\\x9a\\xf2\\x99\\x2e\\xb5\\xbc\\x36\\x43\\x2f\\xa2\\xbf\\x3c\\x32\\x32\\x62\\xcf\\x94\\xd4\\xd6\\x4e\\x77\\x52\\xe7\\x5c\\x5d\\xe2\\x95\\x31\\xd3\\x47\\xac\\x1b\\xd6\\x5e\\xc0\\x81\\x4a\\x87\\x9f\\x9f\\x10\\x71\\xa0\\x0a\\xe7\\x2f\\x57\\x6f\\xd2\\x77\\xeb\\x7d\\x57\\xcb\\x94\\x8c\\xee\\xb3\\xa3\\x71\\x18\\x81\\x83\\xda\\xfe\\xa2\\x1f\\x0d\\xea\\x31\\x67\\x78\\x58\\xa7\\x6d\\x21\\x18\\xa3\\x0e\\xdc\\x95\\x80\\xf6\\x92\\xde\\x26\\xd3\\xcb\\x2a\\x78\\x3d\\xc3\\x85\\x06\\xb6\\x94\\x14\\x3a\\x61\\x59\\xd3\\x78\\x5f\\x49\\x2a\\xac\\x1d\\x88\\x64\\x44\\xf0\\x5f\\x44\\xea\\x14\\x7c\\xee\\x73\\xf8\\x8b\\x5f\\x6b\\xbd\\x45\\xbb\\xaf\\x5e\\xbc\\x68\\xb9\\x81\\x5e\\x01\\xd8\\x99\\xfe\\xb0\\x11\\xce\\xbd\\x13\\xd0\\x56\\x3e\\xdf\\xf9\\xe7\\x1e\\xfe\\x0a\\x86\\x63\\x3e\\x50\\x18\\xc1\\x5e\\x47\\x7c\\xa8\\x09\\x6e\\x8e\\x99\\x41\\xdb\\x99\\x61\\x94\\x72\\xb9\\x0c\\xa3\\xcf\\x2a\\xf5\\x28\\x2e\\x6d\\x06\\x43\\x9c\\xda\\xda\\x94\\x16\\x83\\x54\\x29\\xee\\x08\\x45\\xf3\\x9e\\x89\\x84\\xe6\\x36\\xb9\\x23\\xcd\\xc0\\x03\\x8c\\xa0\\x73\\x81\\x2f\\xd1\\xc5\\x6c\\x82\\x7f\\xf9\\x7e\\xbd\\xf6\\xe1\\x4b\\x2b\\xd6\\x02\\xcf\\x20\\x78\\x0f\\x2e\\x01\\x5d\\xdf\\xfd\\x0d\\x6c\\xab\\xfd\\xeb\\xc5\\x43\\x07\\x86\\xf0\\xe0\\xbd\\x60\\x6c\\x2c\\x3b\\x9a\\xcd\\x34\\x6f\\xb8\\xcd\\x5a\\xc4\\xdb\\x28\\x96\\x33\\xa1\\xfd\\x01\\x74\\x3a\\xa4\\x03\\x75\\xfa\\x10\\xa4\\x17\\x43\\xac\\x40\\x3a\\xb0\\x94\\xf4\\x20\\x49\\x4d\\xb8\\xff\\xee\\x9c\\x92\\x91\\x35\\x87\\xca\\x3a\\x2e\\x9e\\x50\\x06\\xd0\\xb2\\xda\\xfa\\xde\\x8d\\xa0\\x3f\\x7e\\xe0\\xf0\\x55\\x89\\x70\\x59\\x25\\xf3\\x07\\x66\\x91\\x83\\xc9\\x03\\x87\\x2a\\xe6\\x61\\xc0\\xac\\x19\\x20\\xe6\\x99\\x87\\xa6\\xc5\\xbf\\xf9\\xd1\\xb2\\xfa\\x9e\\xc4\\xa5\\xfb\\x34\\xd5\\x12\\xf9\\x33\\x18\\x07\\xc6\\x88\\x6c\\x51\\xa2\\x57\\xaf\\x64\\x0c\\xc8\\x07\\x37\\x08\\x68\\x5e\\x16\\x99\\x9c\\x80\\x7d\\xcb\\xc2\\x29\\x49\\x25\\xf9\\xf7\\x09\\xc5\\x01\\x9c\\x47\\xc3\\x98\\x91\\x20\\x5d\\x4f\\xb9\\x23\\x09\\x0a\\x0b\\x6d\\xc0\\xac\\x1a\\xd9\\x32\\xf8\\x09\\xfc\\x09\\xc4\\xd9\\x1b\\xfe\\x1b\\x4e\\xcb\\x8b\\xce\\x97\\xb4\\xf3\\x82\\xae\\xc0\\x0d\\x56\\x5c\\x98\\x30\\xed\\xa5\\x37\\xa6\\x8d\\x7b\\xf5\\x26\\x7d\\x16\\xbe\\x0c\\x37\\x1a\\xe1\\x87\\x4b\\xd6\\xf1\\xc7\\x4a\\xda\\xd5\\x4e\\x02\\xf9\\x60\\x06\\x1c\\xba\\x76\\x25\\xfc\\x1a\\xde\\xaf\\xa9\\x01\\x0e\\xbc\\xc7\\x69\\x71\\x2e\\x55\\x78\\x26\\x39\\x16\\xad\\x22\\x8e\\x52\\x28\\x42\\xca\\x71\\x62\\x15\\x3c\\x02\\x55\\x9c\\x24\\xdc\\xdd\\x21\\x66\\x55\\x01\\xed\\x62\\xc0\\x40\\xdf\\x70\\x17\\x5d\\x5b\\xe4\\x4b\\x70\\x31\\x9b\\xe1\\x5f\\xb5\\xe0\\xd6\\x36\\xb0\\xbf\\x16\\x83\\xa7\\xd2\\xd4\\x08\\xa4\\xd3\\xb6\\x13\\x9d\\x16\\x49\\xb5\\xf0\\x5a\\xf5\\xc8\\xd8\\x86\\x32\\x7a\\xf4\\xfe\\x4a\\xa4\\x49\\x94\\x26\\xc6\\x8a\\xd6\\x0d\\xdb\\x84\\xbe\\x91\\x40\\xbc\\x08\\x6d\\x20\\x78\\xe9\\x0a\\xb7\\x61\\xb8\\x85\\x54\\x97\\xdc\\x14\\x69\\x72\\xe3\\xde\\x32\\xa0\\x1d\\x76\\x7f\\xfb\\x9b\\xb7\\xf7\\xc1\\xd7\\x6e\\x5e\\x7b\\x3d\\x5c\\xcf\\xa4\\x6b\\x86\\x6c\\xbd\\x5e\\xbd\\x1c\\xc4\\x4c\\xf0\\xad\\xd3\\x0c\\x62\\x27\\x4c\\x9b\\xf1\\xfb\\x4f\\xf0\\x3f\\x70\\xc4\\xbf\\x3e\\xfb\\x60\\xf2\\xea\\x82\\xfe\\xb9\\x33\\x4e\\x1f\\x6a\\xa8\\x02\\x6f\\x97\\xe4\\x4f\\xbb\\x44\\xf4\\x5a\\x1a\\xe2\\xeb\\x06\\xc7\\xa3\\xfd\\x85\\xfc\\x02\\x59\\xa8\\x23\\xd4\\x51\\xc1\\x47\\x53\\x7a\\x75\\x68\\x28\\xa5\\x56\\xa3\\xc5\\xac\\x66\\xa9\\xc8\\x20\\x80\\x57\\x3f\\x6b\\xc6\\x40\\x51\\x27\\x8e\\x86\\x32\\xfd\\x0d\\x2b\\xa2\\xbb\\x65\\x31\\xbb\\x51\\x98\\x16\\x69\\x90\\x34\\x02\\xf8\\xf5\\xcd\\x9f\\xdf\\x3f\\xf1\\xe5\\x3a\\xb8\\xf3\\xe5\\xf7\\x63\\x4f\\xd9\\x37\\xcf\\xdb\\x70\\x16\\xb4\\xef\\xe6\\xec\\x06\\x3b\\x6d\\x5b\\xba\\xf8\\x9d\\x81\\xab\\xe7\\xc0\\x0f\\xcd\\x47\\xb6\\x6f\\xfe\\x34\\xb4\\xed\\x8b\\x53\\xaf\\x8e\\xdf\\x79\\xbc\\xd3\\xa2\\xaa\\x75\\x53\\x4e\\x6f\\x80\\x9f\\x0f\\x19\\xbf\\xb8\\xa6\\xf7\\xf9\\x5d\\xa4\\x1f\\x28\\x01\\xad\\x9d\\x0f\\xc8\\x9e\\x47\\xf3\\xa3\\xd2\\x60\\x44\\x66\\x01\\xed\\x39\\x04\\x79\\x64\\xe5\\x68\\xe7\\x8b\\x2a\\x2b\\x4b\\x68\\x8d\\xf5\\xc3\\x3d\\x0b\\xd9\\x36\\x1c\\xbc\\x05\\x70\\x9f\\x4b\\x17\\x3b\\x9f\\xab\\xce\\xe9\\xd5\\xa9\\x75\\x4c\\x65\\x04\\x70\\x48\\x00\\xd0\\x43\\x9e\\xda\\x6c\\xae\\x35\\xec\\xe0\\x4e\\x90\\xdc\\x6f\\x26\\x1a\\xef\\x26\\x92\\x8d\\x05\\xf7\\x04\\xa9\\x75\\x46\\x5d\\x15\\xaf\\x30\\x1a\\x29\\xad\\xc6\\x41\\x71\\x55\\x3c\\x25\\x97\\xd2\\xcb\\x52\\x98\\xe8\\x57\\x89\\x04\\x0a\\x32\\x9a\\xf4\\xd8\\x77\\x04\\x6c\\xab\\xc2\\x9e\\x5d\\xb2\\x72\\xfb\\x97\\xc4\\x64\\x80\\x56\\x1e\\x78\\x07\\xba\\xea\\xc1\\x67\\x0d\\xe9\\x0f\\xb3\\x3b\\xdd\\xe2\\x78\\xdb\\x72\\x53\\xa7\\xd2\\x15\\xd5\\x0f\\xdb\\xb0\\x6f\\x54\\x6f\\xd9\\xba\\x50\\xb2\\x35\\xbf\\xc8\\xf0\\xe9\\xb5\\xd7\\xeb\\xd6\\xea\\x55\\x48\\x8b\\xa8\\x64\\x31\\xd1\\xc8\\xe6\\x59\\x64\\x31\\x96\\x18\\x0b\\x25\\x93\\xd9\\xca\\x79\\x19\\x4b\\xb9\\x9a\\xcd\\x8c\\xa8\\xa0\\x25\\xbd\\x8d\\xa7\\x87\\xc6\\xbb\\xa5\\xa9\\xbe\\x0e\\x06\\xea\\x13\\x0f\\x83\\x68\\xe3\\xb5\\xf7\\xc0\\x50\\xd0\\xfb\\xdc\\x10\\xf7\\xbe\\x59\\xc8\\xb6\\xa4\\x45\\x76\\xeb\\xa5\\x6b\\xf9\\x42\\xcc\\xed\\xb5\\xb7\\x26\\x2e\\xaa\\xee\\xb2\\x35\\xa3\\xb3\\x80\\x50\\xbd\\xea\\x17\\x33\\x50\\xff\\x06\\x76\\x81\\x37\\x46\\x6c\\x10\\xec\\xcb\\xb7\\x6d\\xbf\\xde\\x0b\\x2f\\x7f\\x7f\\xec\\x6c\\xa2\\x9b\\x00\\x55\\x17\\xe6\\x13\\xfd\\xbc\\x07\\x0e\\xe0\\x86\\xa3\\xb9\\x32\\xa3\\xf5\\x6e\\xf7\\xaa\\x6d\\x4a\\x2a\\x84\\xb0\\xab\\xc2\\xe7\\x00\\x62\\x13\\x95\\x1f\\xfa\\x43\\x80\\x38\\x41\\x0a\\x50\\x68\\x21\\x37\\xa5\\xc5\\xfb\\x8d\\x09\\x38\\x3c\\x74\\x5c\\x87\\xf6\\x95\\xf0\\xf3\\x1b\\x9f\\xd0\\x45\\x37\\x7c\\xd1\\xa9\\x56\\x4d\\xf7\\x27\\x93\\x13\\x73\\x93\\x1c\\x31\\xee\\xd4\\x8e\\x70\\xc0\\xb8\\x32\\xef\\x8a\\x27\\xd6\\xb2\\xf3\\x1b\\x32\\x99\\x1b\\x0f\\xab\\x57\\x3c\\xd1\\x33\\xba\\xf7\\xaa\\x62\\x90\\xd0\\x67\\xd9\\xb0\\x5e\\x3d\\xdc\\xb1\\x09\\x3d\\x44\\xdc\\x2e\\xb4\\xc6\\x6f\\x11\\xbc\\x12\\xb4\\xf3\\xac\\x16\\xe4\\xff\\xe8\\x48\\xbd\\x95\\xde\\x40\\xe9\\x9b\\x60\\x32\\xe6\\x88\\x5e\\x90\\x74\\x31\\x07\\x9a\\xbd\\x78\\xe9\\x04\\xda\\x43\\x13\\xd7\\xbd\\x8d\\x1f\\x8e\\xc4\\xdf\\x5e\\x07\\xe8\\x8f\\xaa\\x26\\x99\\x92\\x92\\xe9\\xd6\\x6d\\x72\\x67\\xb8\\xe6\\x1e\\x04\\x91\\x07\\xfb\\x5b\\xe5\\xcc\\x94\\xa7\\x5e\\x30\\xe6\\x9a\\x13\\xe3\\x3b\\xf6\\x74\\x2d\\xaf\\x5b\\x15\\x7f\\xc2\\x3c\\x7a\\x6c\\xb7\\xa1\\x1f\\x7e\\x99\\xd4\\xde\\x73\\x74\\xb3\\x6f\\x31\\xf7\\x3a\\xcc\\x1d\\x6c\\x3e\\x76\\x3d\\x77\\x10\\xdc\\x3e\\x2a\\xa3\\x7d\\x9b\\x69\\x9b\\xe8\\x73\\x3e\\xcf\\x2b\\xe7\\x29\\xf1\\xbc\\x03\\x9f\\xad\\xc8\\xf0\\x79\\x47\\x10\\x4e\\xb7\\x09\\xef\\x51\\xb9\\x4e\\xaf\\xab\\xe0\\x59\\xbd\\x5e\\x45\\x31\\x26\\xca\\x84\\xa1\\xba\\x43\\xd4\\x2a\\x35\\x5a\\x22\\x4d\\x60\\x4d\\x0d\\xc1\\xd9\\x0b\\xbc\\x0b\\x70\\xda\\x44\\x38\\x8a\\x20\\xa9\\x13\\x11\\xc4\\xbb\\xe0\\xb6\\xe3\\x76\\xb9\\x1f\\xc8\\xbb\\x1c\\xfd\\x9f\\x02\\x02\\xe6\\x0d\\x47\\xae\\x81\\xf6\\xda\\x5a\\xf0\\xd5\\x1a\\x7c\\x09\\x60\\x00\\x6b\\x7b\\x20\\x9a\\x4f\\x37\\x46\\x5f\\x66\\x0d\\x8c\\xb0\\x01\\x43\\x58\\x8a\\x25\\x69\\x1a\\x3f\\x58\\x67\\x96\\xff\\xd4\\x4b\\x5a\\x71\\x72\\x3f\\xe2\\xf6\\xf6\\x37\\x06\\x5c\\xba\\x13\\x7e\\x6a\\x75\\x97\\x8e\\x91\\xad\\xb2\\xe6\\x3b\\x9f\\xa0\\xaf\\xfe\\xdb\\xb7\\x13\\x1c\\xa4\\xab\\x4e\\xc0\\x1c\\xb6\\x4d\\xcd\\x36\\xdd\\x3e\\xe3\\x06\\x38\\x8e\\x3e\\xe5\\x3b\\xe5\\x93\\x05\\x63\\xc3\\x49\\x63\\xea\\xf0\\x98\\x45\\x7c\\x08\\xfa\\xdc\\xf2\\x7f\\x1a\\x53\\x40\\x88\\xfb\\x1a\\x8d\\xd9\\xd9\\xeb\\x6e\\xd5\\x79\\xa1\\x73\\x66\\x30\\x52\\x1c\\xbb\\x57\\x18\\xd3\\xb7\\xf9\\x51\\xbc\\x38\\x03\\x46\\x2a\\x64\\x54\\x6a\\xb4\\x4e\\x90\\x22\\x94\\xeb\\xf5\\x3a\\xe4\\x33\\x53\\x6c\\x88\\x3c\\xe4\\x91\\xe3\\x9e\\x80\\x9c\\x9b\\xc9\\x18\\xed\\x2c\\xcb\\x1d\\xc7\\x9d\\x51\\xfe\\xd3\\x9e\\x51\\x9f\\x39\\x3e\\x1b\\x45\\x4e\\xdb\\x98\\x96\\x6b\\x7c\\x3f\\xd5\\xd4\\xd0\\xc6\\x35\\xb4\\xa1\\x86\\xc8\\x57\\x41\\x51\\xcc\\xb7\\xe4\\x5d\\xe3\\xbc\\x46\\x8d\\x1e\\x98\\xf4\\x26\\xb3\\x59\\x6b\\xa0\\xe4\\x2a\\xad\\x9e\\x51\\x59\\x84\\x44\\x18\\x8e\\x10\\x24\\x17\\x5d\\x6e\\x8a\\x66\\x90\\x39\\xc4\\xd8\\x5f\\x00\\x97\\x5e\\xc6\\x7b\\x6c\\x99\\xcc\\x85\\xc3\\xef\\x5d\\x1c\\xcc\\x19\\x68\\x73\\x67\\x38\\xe2\\x45\\x7a\\xbe\\xfb\\x65\\xdb\\xcd\\xa8\\xe7\\xed\\x75\\xec\\xc3\\xf6\\x0f\\x3b\\xd1\\x5d\\x1c\\x4f\\x25\\xc5\\x4d\\xf6\\xcd\\x67\\x6e\\x5e\\xec\\x3a\\x3d\\xf7\\xd6\\xd3\\x59\\x02\\x7e\\x33\\xa7\\x41\\x6b\\x2b\\x1e\\x7b\\x51\\x71\\xb4\\x2a\\xd6\\x18\\x69\\x55\\x31\\x4e\\x23\\x86\\x8f\\xa6\\x38\\x53\\x00\\x4e\\xc4\\x23\\xc8\\x19\\x45\\x50\\x12\\x64\\x54\\x13\\x84\\x63\\x99\\x88\\xe1\\x4e\\x0a\\xbc\\x32\\x65\\xf4\\x89\\x65\\x11\\x29\\x4f\\xf6\\x9e\\x31\\xd6\\xfc\\xc2\\xb3\\x27\\x4d\\x29\\xd9\\xdd\\x07\\xd9\\xcf\\xec\\x39\\x65\\x4c\\x4e\\xdb\\xd0\\xf6\\xd4\\x9e\\xf7\\x6d\\x9a\\x95\\xc6\\x41\\xe6\\x03\\xbd\\x4a\\xe7\\x2e\\xea\\x59\\xc9\\x1c\\x6c\\x18\\x35\\xb4\\x7d\\xf7\\x8e\\x8b\\x97\\x31\\xa7\\x1a\\x4a\\x07\\x66\\xe7\\x7a\\x91\\x46\\x7e\\xf6\\xe1\\x9e\\xc9\\xd3\\x9f\\xdc\\x46\\xf4\\xbe\\x11\\xe9\\xe1\\xeb\\x04\\x9f\\x23\\xdc\\xab\\x31\\x00\\xca\\xac\\x63\\xe4\\x68\\xc1\\xcb\\xb1\\x41\\x4e\\xf1\\x9f\\xf0\\x89\\xa0\\xe6\\x41\\xca\\x3e\\x18\\xdd\\xdc\\xf8\\xb2\\x73\\xef\\xc2\\x6e\\xad\\x23\\x12\\xb2\\x27\\x47\\x02\\xc7\\xa7\\xa0\\x8d\\x2a\\xac\\xee\\x30\\xfc\\x93\\x1d\\x73\\x60\\x40\\x83\\xf1\\xe9\\x0d\\xaa\\x3d\\x5a\\xa4\\xf4\\x1f\\xd6\\xac\\x5f\\x48\\xc0\\xce\\xc9\\xb9\\x18\\x39\\xe7\\x31\\xca\\x98\\xca\\x40\\x7f\\x0d\\x37\\xd0\\x28\\x63\\xb7\\x50\\x22\\x16\\x3a\\xb7\\x96\\x5b\\x84\\x62\\xea\\x18\\x8c\\x50\\xa6\\x45\\x5b\\x41\\x1b\\x62\\x54\\x22\\x35\\x17\\x62\\x27\\xbb\\xa2\\xb9\\xd5\\x34\\x78\\x84\\xfb\\x62\\x82\\x6e\\x3d\\xca\\xc8\\x44\\xcb\\x44\\x2e\\x93\\xdb\\x1e\\x03\\x94\\xfe\\xda\\xab\\x23\\x8e\\x3e\\xd8\\x06\\x7a\\x67\\x0f\\xb6\\x96\\x44\\xbe\\x6c\\x69\\xf1\\x02\\x2d\\x42\\xa6\\x5f\\x9e\\xe2\\x87\\x4c\\xdf\\x0d\\x16\\x80\\x90\\x25\\xf0\\x76\\xce\\x94\\x03\\x63\\xee\\x4c\\xca\\x08\\x46\\x4e\\x9f\\x70\\xc0\\x8f\\x10\\x2e\\x62\\xef\\x71\\xe3\\x09\\x3e\\x69\\x3c\\x46\\x2e\\xb4\\xa8\\xd5\\x3a\\x1d\\xa5\\xd7\\x85\\x38\\x09\\x06\\x5f\\x10\\xf6\\x9d\\x18\\x84\\x06\\xe9\\x3f\\x02\\xc6\\xe7\\x04\\x02\\xa7\\x5a\\x80\\x98\\x0d\\xc4\\xca\\x8f\\xc0\\xf2\\x8d\\x0b\\x2d\\x71\\x5f\\xb5\\xd8\\x16\\x57\\xb2\\xca\\x34\\xf8\\xc6\\x85\\xc7\\x02\\xf4\\xc9\\x73\\x17\\x1c\\x18\\x33\\xf5\\x78\\x66\\x72\\x2a\\xbc\\x0f\\x3f\\x69\\x8e\\xd4\\x47\\x53\\xad\\x61\\x09\\x67\\x40\\x7a\\xc6\\x80\\x76\\x62\\xa2\\xd7\\xa2\\x51\\x20\\x65\\xa7\\xa0\\x94\\xac\\xdc\\x8c\\x26\\x9c\\xa5\\x1c\\x41\\x52\\x25\\xcc\\xe2\\x5a\\x67\\x81\\x59\\x3d\\xc6\\x14\\xb0\\xc5\\x7a\\xb0\\xdd\\x65\\x64\\xa6\\x80\\x91\\xcb\\x04\\xeb\\x8f\\x9f\\xd8\\x01\\xec\\xc7\\xe6\\x0d\\x07\\x13\\x93\\xe0\\xbe\\x7a\\x90\\xb6\\xff\\xad\\x2d\\x67\\x63\\xf2\\x46\\x1f\\xad\\x1c\\x32\\xb0\\x63\\x4b\\xf3\\x9f\\x5f\\x20\\x37\\x7f\\xdf\\x77\\xdd\\xbc\\x7f\\x72\\x32\\xcf\\xc3\\xcb\\xe5\\xec\\x81\\xa4\\x57\\xe0\\xbe\\xf3\\xcf\\x9e\\x89\\x14\\xe4\\x67\\x42\\x6b\\xe1\\x37\\xe2\\xb3\\x3a\\x71\\xc7\\x8b\\x8e\\x2e\\xe4\\x75\\x32\\xbd\\xde\\x64\\x51\\x5b\\x0a\\x78\\xb5\\x5e\\x86\\x02\\x28\\x19\\x5a\\x9b\\x92\\x9f\\x2d\\x28\\xa5\\x24\\xd2\\x08\\x2d\\x14\\x5a\\x10\\x1b\\x6c\\x45\\xcc\\x29\\x80\\xe4\\xb5\\x66\\x32\\x11\\x80\\x3b\\xb9\\xbf\\xd3\\xee\\xc2\\x17\\x6f\\x02\\x2f\\x88\\x2d\\x5a\\xd3\\x12\\xe4\\xb5\\x80\\xef\\xc3\\x86\\xd6\\x6d\\x5f\\xbd\\x39\\x61\\x4a\\xe7\\x6c\\x64\\x42\\x73\\x1a\\x0e\\xc6\\x27\\xbf\\x71\\x1b\\x29\\xac\\x89\\x49\\x11\\x9d\\xfe\\x32\\x72\\x83\\xcd\\xf0\\x7b\\xf8\\xfe\\xda\\x35\\x56\\x31\\x06\\x7a\\x89\\xe0\\x90\\x3b\\xa9\\x24\\x24\\x2b\\x8d\\xdc\\x68\\xe7\\xca\\x79\\xbb\\xdd\\x28\\x37\\x86\\x85\\x18\\x43\\x2a\\x78\\xa3\\x74\\x8d\\x03\\xce\\x2d\\x48\\x47\\x47\\x66\\x19\\x9b\\x84\\x11\\x5e\\x83\\xd2\\x39\\x38\\xd1\\x40\\x90\\xf2\\x33\\xd8\\x97\\x9e\\x86\\x7f\\xd6\\x5d\\x1a\\x7e\\x49\\x4a\\xe1\\x4c\\xb9\\xfd\\xd1\\x55\\xf8\\x79\\xed\\xa8\\xbd\\x47\\xdf\\x60\\x1e\\xae\\xf8\\xee\\x49\\x1f\\x0c\\xc4\\x42\\x47\\xce\\xde\\xf2\\xfd\\x58\\x2f\\xd4\\xa5\\xe0\\xda\\x66\\x9c\\x6f\\x70\\xa2\\x75\\x96\\xe5\\x75\\xc9\\xe4\\x61\\xa1\\xf2\\x50\\x36\\x3c\\x3c\\xb2\\x80\\x0f\\x47\\xd2\\xd2\\x59\\x8a\\x78\\x1d\\xa5\\x0a\\x67\\x51\\x74\\xc2\\x4a\\x19\\x9a\\xa0\\xf0\\xd2\\xe0\\x07\\x89\\xc0\\xc8\\x3f\\x42\\x65\\x33\\x56\\xe8\\x11\\x40\\xd0\\xe8\\xe4\\xf8\\x94\\xd1\\x8b\\x6e\\xa5\\x91\\x2d\\x5d\\xf4\\xfd\\x9e\\xff\\xb6\\xe6\\x74\\xe5\\xa7\\x40\\xb6\\xf3\\x58\\x4d\\x46\\x5c\\x74\\x64\\xfb\\xb4\\x79\\xce\\x34\\xa6\\xc7\\xe1\\xb9\\x20\\xed\\xfc\\x15\\x38\\x7b\\xfc\\x94\\xa3\\x2f\\xd2\\xef\\x7d\\x03\\xf7\\x1f\\x3a\\xa3\\x18\\x00\\x4d\\xb2\\xde\\xeb\\x36\\x87\\x84\\xec\\x37\\x6f\\x80\\xbf\\x8c\\x19\\x0c\\xab\\x00\\xed\\x3b\\xbb\\x7a\\x11\\x48\\x13\\xf2\\x33\\xf0\\x25\\x76\\x37\\xe9\\x71\\x0f\\xc5\\xde\\xa5\\x8e\\xb6\\xe0\\xf0\\x1d\\x2d\\x3a\\x8b\\xdc\\x22\\x67\\x51\\xd0\\x8c\\xad\\xdc\\xb5\\x1c\\xb1\\x9d\\xca\\x0f\\x13\\xcf\\x48\\x1d\\x55\\x41\\x48\\xfa\\x19\\x4c\\xf2\\x4f\\xbf\\x15\\xe1\\x8e\\x2a\\x17\\x88\\xbe\\x73\\x6b\\xcc\\xcb\\x8b\\x80\\xda\\x8d\\xa1\\xf4\\x07\\x81\\xd0\\x7d\\x67\\xe1\\x4b\\xf4\\x97\\x70\\x20\\x97\\xbb\\x75\\x4f\\xcd\\xd8\\xcb\\x8b\\xcc\\x3e\\x8e\\xdd\\x59\\x0f\\x5b\\x6c\\x27\\x36\\x16\\xe9\\x98\\x33\\x68\\xed\\xb7\\x40\\xb6\\x27\\x34\\x32\\x21\\x56\\xa5\\x33\\xc5\\xea\\x62\\x75\\x09\\xa6\\x04\\xe4\\xfb\\x25\\x98\\x4c\\x9a\\x0a\\xde\\xc4\\x3e\\xea\\xee\\x91\\x90\\xdc\\x94\\xd6\\x91\\xc9\\xec\\xc8\\xa4\\xa7\\x45\\x47\\x36\\xb9\\xda\\x8f\\xc1\\x5b\\x20\\x52\\xb8\\x46\\x26\\x2b\\xa5\\x78\\xc6\\xda\\x7d\\x4f\\xac\\x9f\\xdc\\xe5\\x0f\\xf8\\x60\\xc0\\xf3\\x7d\\x80\\xf2\\xa3\\x2b\\x77\\xb2\\x2a\\x9f\\x3f\\xd7\\x67\\xfb\\xdc\\xde\\x9b\\x56\\x81\\xf8\\xa1\\x47\\x9e\\x82\\x59\\x1f\\x7d\\x09\\x12\\x4b\\xaa\\x87\\x75\\x4f\\x8f\\x33\\x46\\x67\\x95\\xf6\\x38\\x7c\\xcf\\x7d\\x68\\xdb\\xa6\\xb5\\xfc\\xf2\\xe1\\x7d\\x12\\x0d\\x71\\x9d\\x2a\\x8b\\x2b\\x46\\xfc\\x1e\\x0b\\xb7\\xed\\x45\\xfc\\x4e\\x46\\xfc\\x76\\x67\\x7b\\xa2\\xd9\\x46\\xfc\\x3a\\x62\\xdd\\x4a\\xad\\xd1\\xad\\x75\\x6b\\x63\\x8d\\xb1\\x28\\xf2\\x8c\\xb5\\x1a\\xd5\\x8f\\x54\\xb3\\x07\\xf8\\xcd\\x4c\\xeb\\x48\\x0b\\xfc\\x46\\x09\\xa8\\xdd\\xe4\\xda\\x33\\x6d\\x93\\x7b\\x8e\\xe2\\x26\\xa7\\x0d\\xdd\\x7b\\xa0\\xd7\\xdc\\x01\\x29\\x1f\\x7e\\xd4\\x6e\\x5b\\xea\\xcf\\xc7\\xc0\\xc8\\x6b\\xf7\\x37\\x4d\\x1f\\x33\\x7b\\xfa\\xd2\\xda\\xb8\\x8d\\x1d\\x7e\\x7a\\xed\\xfc\\xb5\\xaf\\x7b\\x4c\\xe5\\x7b\\x25\\x9a\\x22\\x5b\\x76\\xce\\x98\\xbd\\xde\\x3a\\x6f\\xe9\\xcf\\x2b\\x4e\\x64\\xc7\\x86\\x97\\xf4\\xe8\\xda\\xa7\\xb0\\x6f\\xd4\\x8a\\x85\\xf3\\x89\\xee\\x66\\x90\\xef\\x82\\xeb\\x4a\\x64\\x4c\\x5f\\xd2\\x87\\x3f\\x11\\x0e\\x60\\xbc\\xdc\\x3d\\xac\\x61\\xa8\\xb4\\xe7\\x1d\\xee\\x33\\x20\\xc6\\x6b\\x40\\xe1\\x98\\xc3\\x61\\x64\\x74\\x1a\\x23\\xf2\\x30\\x8c\\xe1\\x4c\\x3c\\xfa\\xf4\\x04\\xcf\\x50\\xcd\\xf2\\x08\\x42\\x54\\x26\\xde\\xb9\\x2a\\x07\\x01\\xf0\\x19\\x62\\x11\\x09\\xd7\\x99\\xe4\\x15\\x84\\x8a\\x04\\x30\\x71\\xd9\\xc4\\x27\\xfb\\x29\\x20\\xe4\\x06\\x67\\x64\\x46\\xf4\\xc8\\x19\\x3f\\x49\\xf9\\x5f\\x63\\xe7\\xd0\\xee\\x7d\\x0b\\x52\\x5a\\x64\\xf7\\x6c\\x9d\\x94\\xde\\x87\\x7d\\x30\\x64\\xc1\\xfc\\xde\\x09\\xad\\xfe\\x7a\\xd3\\x61\\x29\\xd7\\xec\\xd4\\x8c\\x1f\\x9a\\x90\\xca\\xfa\\xd4\\x86\\xa2\\x7e\\xf1\\xa9\\xdd\\xdb\\xa2\\xff\\x11\\xff\\x0b\\xa8\\xd1\\xde\\xc2\\xf8\\x92\\x31\\x54\\xfa\\xc9\\x70\\x97\\x4b\\x8b\\x73\\x35\\x16\\xde\\x65\\xb5\\x86\\x9a\\x42\\x8b\\x78\\x53\\x78\\x08\\xae\\x4d\\xe0\\x39\\x06\\x77\\xa0\\x5f\\xf3\\x04\\x81\\x72\\xe4\\x48\\xd5\\x89\\xe2\\x51\\x95\\x60\\xa8\\x33\\x19\\x3a\\x5a\\x02\\x18\\x7c\\x3c\\xfa\\x64\\xfb\\x21\\x4b\\x0f\\xb5\\x6f\\xdb\\xd0\\xb9\\x53\\x44\\x5a\\x9b\\x76\\x5d\\xb5\\xa1\\x83\\x7b\\xee\\x99\\xaa\\x58\\x1c\\x00\\xa2\\x0c\\x35\\xb7\\xea\\x14\\x05\\x6f\\xc2\\xaf\\x0c\\xbb\\x8c\\x5d\\xf2\\xe6\\xa9\\xa7\\x0d\\x88\\x4d\\xa6\\x9f\\xc1\\xd8\\xf3\\xd2\\xb9\\x1e\\xb2\\xd7\\x0a\\x85\\x86\\x36\\x52\\xac\\x06\\x05\\x6a\\x9a\\x60\\x6d\\x24\\x60\\x4c\\x47\\x13\\x15\\x44\\x34\\x90\\x70\\xdd\\xc2\\xcd\\x41\\x45\\xcc\\x33\\x17\\x4f\\x32\\xd9\\xe2\\x95\\x0b\\xbd\\x47\\xb5\\x35\\xb4\\x3c\\x79\\xb6\\x36\\x80\\xb1\\xf9\\x01\\x15\\x4d\\x79\\x4e\\xda\\x43\\x9d\\xa1\\x58\\x06\\x66\\xde\\x69\\x55\\xa8\\x64\\xaa\\x22\\x5e\\x86\\xf4\\x33\\x96\\x81\\x0e\\x8b\\xe0\\xf1\\x12\\xc8\\x0c\\x8a\\x82\\x40\\x90\\x2c\\x82\\xe1\\x37\\x8f\\x5b\\x1c\\x07\\x57\\x74\\xf6\\x44\\x7a\\x52\\x72\\xba\\x69\\x2d\\x41\\xa2\\xb0\\x1f\\xaf\\x13\\xdf\\x7f\\xc2\\x86\\x9d\\xda\\x3a\\x73\\x7e\\xaf\\x31\\x7e\\x21\\xac\\x68\\x25\\xbd\\xfb\\x6b\\x48\\x69\\x3b\\x89\\x4e\\x76\\x79\\x75\\x94\\xd1\\x84\\xef\\x48\\x91\\xa9\\x64\\xc8\\x3d\\x37\\x31\\xd8\\x5b\\x09\\x3a\\xc8\\x6c\\x36\\x38\\x10\\x8e\\x33\\x7d\\x21\\x61\\x69\\xed\\x33\\x22\\xba\\xe7\\x8c\\x9d\\x1c\\x02\\x18\\xff\\x89\\xe6\\x5f\\xdf\\x25\\x38\\x23\\xb2\\xf4\\x3b\\x0d\\xa3\\x86\\xc5\\x27\\x71\\x19\\xb5\\x24\\x3e\\x1d\\x8f\\xec\\xfa\\x2d\\xe4\\x83\\x44\\x62\\xec\\x64\\x92\\xaf\\x50\\x52\\x94\\x36\\x82\\x31\\x33\\x5a\\x64\\x27\\xb5\\xa2\\x9d\\x24\\xf1\\xcc\\x35\\x21\\x97\\xe0\\x37\\xe3\\x8c\\x98\\x4f\\x68\\xea\\xc3\\xb1\\x83\\xf9\\x99\\x46\\x6c\\xc2\\x23\\xce\\x6e\\xe8\\x97\\x0e\\x7d\\x3f\\x9e\\x7b\\xce\\x7c\\xe8\\xd2\\x3e\\x2b\\x3f\\x6a\\xdd\\x86\\xc4\\x67\\x2f\\x32\\x0f\\xed\\x95\\x65\\x07\\xc6\\x6c\\xbd\\x12\\x01\\x7b\\xc3\\x07\\xbf\\x6e\\xd9\\xd5\\x67\\x24\\xbe\\xbb\\x62\\x6a\\x6e\\x79\\xf1\\x9e\\x77\\x98\\x3c\\x21\\x4e\\x58\\x88\\x78\\xe2\\xd9\\x6c\\xa2\\x13\\xc2\\xe2\\x75\\x6e\\x59\\x01\\xef\\xb6\\x3a\\x5d\\x56\\xb5\\x4b\\xad\\xb4\\x5b\\x0c\\xfa\\x22\\xde\\x60\\x50\\x12\\x38\\xd4\\xa0\\x84\\xb3\\x78\\xa7\\x4e\\x13\\x80\\xd2\\x00\\xb3\\x28\\xec\\x6a\\x06\\x55\\x7a\\x67\\xa9\\xbe\\xd7\\xc0\\x59\\xcf\\x45\\xce\\x3e\\xd5\\xbb\\xa4\\xd4\\x88\\xfd\\x23\\xe7\\xee\\xa7\\xfa\\xda\\x68\\x8c\\x59\\xda\\xef\\xe0\\xa4\\x95\\x0b\\x0d\\x04\\xb3\\xb4\\x5f\\x7a\\x8f\\x4e\\x47\\xf7\\xd0\\x55\\x70\\x6a\\x54\\x65\\xe9\\x81\\x31\\x9b\\xce\\xa4\\xc2\\x3e\\x6b\\x8c\\xaa\\xa5\\x89\\x53\\x4a\\x27\\xcf\\xf4\\xf6\\xa5\\xef\\x20\\x7e\\xbb\\x37\\x7e\\xcf\\xb5\\x46\\xf3\\x15\\x8b\\xd1\\x7d\\x22\\x64\\x4e\\x46\\xa1\\x54\\x20\\x13\\xaa\\x64\\x28\\x63\\xd0\\xa5\\x1e\\xe2\\xdd\\xe0\\xc2\\xdd\\x4e\\x99\\x32\\x0c\\xd3\\x28\\x97\\x92\\xe0\\xb8\\x9d\\x35\\x13\\x03\\x56\\xc6\\xe3\\x9b\\x85\\x69\\x16\\xfc\\xf9\\xda\\x97\\x7f\\x7c\\x31\\xab\\xc5\\xf5\\x08\\xf0\\x79\\xf2\\x85\\x97\\x97\\x2d\\x5e\\x71\\x7d\\x74\\x69\\xbf\\x64\\xf0\\x79\\xc4\\xf5\\x96\\x53\\xc6\\xcd\\x3e\\x04\\xdf\\xb0\\xfc\\xf9\\xfe\\xe7\\x60\\xcd\\x32\\x55\\xed\\xbf\\x66\\xc3\\x17\\x3f\\xde\\xb9\\x77\\x1d\\x90\\x3d\\xb7\\xf0\\xed\\xfc\\x7f\\xd5\\xaa\\x0a\\xe1\\x83\\x1d\\xaf\\xc1\\xfa\\xb3\\x94\\x1f\\xa7\\xff\\x2a\\xb2\\x07\\x11\\xf8\\xc6\\x1b\\xab\\x39\\x0c\\x59\\xa3\\x30\\xb6\\xe9\\x75\\x23\\x52\\x31\\x54\\xd3\\xc9\\x14\\x72\\x77\\xf2\\xcc\\x0c\\x21\\x79\\x44\\x81\\x1f\\x5e\\x3e\\x63\\x3a\\x78\\x71\\x9f\\x61\\x44\\xd5\\xea\\xaf\\x17\\x77\\xec\\x9c\\x9d\\x16\\x9a\\xd7\\xfb\\xc9\\x05\\x67\\xe1\\x59\\xf3\\xfe\\x03\\x3d\\xca\\x99\\x61\\x0d\\x47\\x06\\xe4\\x8c\\xaf\\xfc\\x16\\xec\\xfc\\xb3\\x6c\\x80\\x72\\x87\\x7a\\xef\\x7a\\x78\\x03\\xaa\\xe1\\xaf\\xc2\\x9c\\xee\\x40\\xfb\\xf9\\x7d\\xc4\\x07\\xf2\\x7f\\xbc\\x5a\\xbd\\x5a\\xcb\\xa8\\x8d\\xac\\x0c\\x5f\\xf0\\x42\\xf9\\xd1\\x8f\\xf0\\x22\\x13\\x01\\xe1\\x48\\xb4\\x8c\\xb7\\x36\\x4e\\x68\\x52\\x1c\\x9b\\x33\\x22\\x75\\x42\\x87\\x8e\\x29\\x1d\\x9c\\xb0\\xd3\\xe4\\xf3\\x93\\xe1\\xf3\\xb7\\xa8\\x46\\x1f\\xa0\\xb9\\x81\\x2d\\x3d\\xcb\\x73\\x5b\\xc5\\xf8\\x3e\\xf7\\x9d\\x11\\xae\\xee\\x00\\xed\\x41\\x7b\\xe4\\xeb\\xff\\x09\\x07\\xc8\\x36\\x23\\x1f\\x02\\xdf\\xf1\\x1b\\x16\\xe6\\xb0\\x3a\\x8a\\x78\\x2b\\xa5\\xd3\\x6a\\x15\\x11\\x0c\\xa5\\xd4\\x31\\x1c\\x01\\x4b\\x0d\\x97\\xf4\\x88\\x2d\\xcb\\xe0\\x11\\x65\\xd0\\x04\\x2f\\x55\\x00\\x46\\x06\\x81\\xfd\\x2e\\x07\\x5a\\x7a\\x62\\x6e\\xaa\\x3d\\x26\\xa9\\xdf\\xd6\\x5e\\xf6\\x46\\xea\\xec\\xaa\\x24\\x8e\\x56\\x8d\\x72\\x81\\xba\\xbc\\x67\\x27\\x54\\xf3\\x63\\xdb\\xe6\\x27\\xf7\\x6b\\xe9\\x1b\\x3a\\x74\\xc3\\x33\\x04\\x47\\x75\\xee\\xa2\\x64\\xb6\\x95\\x6f\\xfe\\xbd\\xe8\\xd0\\xab\\xe9\\x8c\\x62\\xfe\\xb4\\xb2\\x85\\x1d\\xdb\\xf5\\x79\\x38\\xe8\\xb9\\xe7\\x8a\\x83\\xee\\x16\\x31\\x60\\xb4\\x7f\\x9d\\x4a\\xab\\x2a\\xe7\\x95\\x06\\xca\\x30\\x04\\xe3\\x68\\x62\\xf0\\x2d\\x8a\\xd5\\x22\\x5b\\xc3\\x32\\xf8\\x6a\\xa2\\x20\\x8d\\xe7\\xaf\\xc8\\x16\\xd9\\x75\\xfb\\x91\\x56\\xf1\\xa5\\x21\\x6e\\xb4\\xfd\\xf7\\x81\\xc3\\xe0\\xa0\\x70\\xf7\\x08\\xcc\\x07\\x65\\x76\\xd8\\x1e\\x66\\x33\\x43\\x5c\\x0f\\xaf\\x85\\x83\\xb7\\xe0\\x79\\xfa\\x01\\xa8\\xaf\\x5d\\x05\\xdb\\x2d\\x85\\xc9\\xb5\\x6b\\xc1\\xbf\\xa9\\x20\\x5c\\x57\\x89\\x8f\\x02\\xc2\\x47\\x01\\xe1\\x43\\x45\\xf8\\xb0\\x60\\x3e\\x90\\xbb\\xa5\\xfb\\xff\\xe0\\xa3\\x1e\\x54\\x83\\x62\\x01\\xfa\\x15\\x1e\\x02\\x2e\\x3b\\x9c\\x02\\xb7\\xd2\\xb7\\x1d\\x0d\\xa3\\x1c\\xa0\\x12\\xfe\\x48\\x8f\\x06\\x79\\xab\\x56\\xc0\\x33\\x4b\\xe1\\x81\\x55\\x2b\\x40\\x29\\x8e\\xcf\\x76\\xc2\\xfe\\xec\\x2f\\x48\\x1e\\x4e\\x14\\x5d\\x98\\x38\\x43\\x78\\xb8\\x9a\\x56\\x9b\\x71\\xea\\x10\\xb9\\xd5\\xf8\\x7a\\x39\\x3f\\x26\\x8a\\x1f\\x0c\\x95\\xa4\\x24\\xf0\\x98\\x18\\xa3\\x07\\x6b\\x22\\x7f\\x25\\x9f\\xff\\x9a\\x5f\\x06\\x36\\xfc\\x19\\xc1\\x7c\\x14\\xe9\\xab\\xfb\\xe8\\xb3\\x53\\xf0\\xc2\\x4b\\x2b\\x2f\\x4d\\x8d\\x79\\x3e\\x6a\\xf7\\xb2\\xa5\\x1f\\xcf\\xbb\\xfe\\x6e\\x0f\\x07\\x7b\\xb0\\x76\\x37\\xb4\\x69\\xdf\\xba\\xfa\\x0a\\x3c\\x7f\\x26\\xbf\\x66\\x49\\xcf\\x9a\\xc5\\x8b\\xef\\x6f\\xdb\\xba\\x73\\x0d\\xe2\\xe5\\x6b\\xc4\\xcb\\xcf\\x88\\x97\\x70\\x7c\\xe2\\x65\\x73\\x84\\x22\\x45\\x18\\x6e\\xb5\\x82\\x0a\\x5e\\x65\\xb5\\xea\\x42\\x19\\x5d\\x48\\x39\\xf2\\x41\\xfd\\xf7\\x0c\\x64\\x05\\xa9\\xe3\\xe8\\x28\\xf6\\x91\\xfb\\x17\\x62\\x48\\x01\\xbf\\x1b\\x30\\x5d\\x7a\\x9c\\x82\\x0f\\xd6\\xef\\xdd\\x5c\\xfd\\x4e\\xe9\\xd3\\x33\\xe0\\xad\\x57\\x3f\\xfe\\xed\\x10\\x68\\x73\\x03\\x56\\x22\\x26\\x5d\\x0d\\x7f\\x82\\x0d\\x74\\xab\\xd9\\xdf\\xed\\xdf\\xf4\\xec\\xa2\\xb5\\x3d\\x5f\\xd8\\xfb\\xf5\\xad\\x0b\\x20\\xe1\\xa4\\x05\\xfc\\xb8\\xbb\\x16\\x1a\\xc9\\xfe\\x31\\x23\\xdb\\x3d\\x03\\xcd\\x93\\x9d\\x6a\\xe5\\x0d\\xb5\\xb1\\x05\\x3c\\xad\\xb6\\xd9\\xf4\\x61\\xa1\\x20\\x0c\\x14\\xf0\\x61\\x3a\\xbd\\xb2\\x80\\xd7\\x87\\x37\\xf3\\x33\\xb2\\x48\\x63\\xad\\x1b\\xc8\\x45\\x08\\xb1\\xc8\\x60\\xd8\\x18\\xc4\\x15\\x5b\\xea\\xeb\\x01\\x3a\\x86\\x17\\x9d\\xff\\x7e\\x7e\\x15\\x30\\xf4\\x3b\\x9a\\x0d\\x3f\\x79\\xff\\xec\\x9d\\xe5\\xbf\\x6e\\x80\\x37\\xa2\\x98\\xd1\\xcc\\x11\\x38\\xff\\xa9\\x1f\\x5f\\x5a\\xb8\\xa6\\x41\\x7d\\xee\\xd2\\xeb\\xc7\\x76\\xc2\\x67\\x4c\\x60\\xcc\\x71\\xcc\\x8b\\x01\\xc9\\xa7\\x1a\\xf1\\x92\\x84\\xa3\\x56\\x9b\\xd9\\x62\\x2e\\xe0\\x43\\xb5\\x49\\xb1\\x8c\\xc1\\xc0\\x58\\x98\\x84\\x02\\x9e\\x71\\x58\\x74\\x01\\xa8\\x55\\x5b\\x96\\xff\\x20\\x3b\\x08\\xb3\\x86\\x9c\\xf7\\x64\\x06\\x66\\x50\\xcb\\xc8\\xa5\\xc3\\x1f\\xe6\\x87\\x6e\\xf0\\xee\\xdd\\x73\\x1f\\x0c\\xbc\\x70\\x71\\xf5\\xac\\x0e\\x27\\xcf\\x3a\\xc0\\x4e\\x5f\\x4d\\x38\\x33\\x3c\\x14\\x22\\x9b\\x15\\xe3\\x2d\\x19\\xb7\\x7b\\xeb\\xa4\\x0e\\x8b\\x66\\xac\\xbc\\xd4\\x66\\x44\\xed\\xc1\\xe5\\x73\\xfa\\x2d\\x19\\xdc\\xd2\\xed\\xe9\\x92\\x92\\x93\\xb9\\x0a\\xb4\\x58\\x3d\\x03\\x5e\\xd4\\x4c\\x1d\\xd6\\xae\\x34\\xd7\\x13\\x1f\\x1f\\x93\\x96\\x9f\\x99\\x93\\x57\\x39\\xc4\\x7f\\xdf\\xf5\\x0a\\xa4\\x7f\\xdc\\x54\\x6b\\x6f\\x98\\x33\\x2c\\x3c\\xac\\x82\\xb7\\xb8\\x29\\xf7\\x10\\xde\\x18\\x42\\x51\\xea\\x70\\xa3\\x9a\\xab\\xc0\\x79\\x6a\\x29\\x7c\\x6d\\xb2\\xba\\xfd\\x70\\x5e\\xfe\\xeb\\xa2\\xe5\\x1e\\x11\\xe6\\x54\\x8e\\x6f\\xb7\\xc8\\x74\\xef\\xa3\\x47\\x5f\\xfa\\xd2\\x7f\\xe1\\xf5\\xb9\\xd7\\xfa\\xf5\\xd9\\x68\\x87\\x9f\\x3d\\xf3\\xd2\\xb1\\x14\\xfa\\xbb\\xf0\\x86\\xbe\\xb6\\xee\\xdf\\x7e\\x01\\x33\\xe9\\x07\\x6b\\x36\\x1d\\x25\\xb7\\x5e\\x6f\\xa9\\x19\\xba\\x39\\x6f\\xe9\\xf8\\xea\\x5d\\x7d\\xd6\\x4f\\x9b\\xf3\\xe5\\x76\\x41\\x3f\\x16\\x21\\x3d\\x7d\\x9a\\xac\\xff\\x34\\xaf\\x5d\\xa1\\x60\\xad\\x76\\x13\\x8e\\xc2\\x58\\x6b\\x98\\xc5\\x6a\\x29\\xe7\\xad\\x0c\\xab\\xae\\xe0\\x59\\x53\\xb3\\x19\\x6e\\x12\\x8e\\xe1\\x3d\\x90\\x2e\\xa1\\x23\\x24\\x61\\x68\\x13\\x92\\xb4\\x6b\\x63\\x65\\x3b\\x6e\\x84\\x3f\\x9e\\x58\\x78\\xb2\\xfc\\xb4\\x62\\xe1\\xe4\\x43\\x77\\xd7\\xaf\\xf9\\x90\\x7f\\xc1\\xc5\\x4c\\x76\\xf9\\x7c\\xed\\xba\\x5e\\x7f\\x97\\xb6\\xed\\x82\\x6b\\x4a\\xf6\\x4d\\xb2\\xcc\\x9f\\x76\\xf7\\xf0\\xc4\\x19\\xe0\\x66\\x6d\\x2d\\xbc\\x73\\x0e\\xf1\\x54\\x85\\x6b\\xbe\\xd0\\x3c\\x3b\\xb1\\x1d\\xb6\\x99\\xe4\\x2a\\xb4\\xec\\x54\\x2a\\x93\\x5c\\x29\\x93\\xcb\\xb0\\x82\\x30\\xa1\\xa0\\xd5\\x64\\x7d\\x1c\\x4b\\xa4\\xdf\\xd4\\xcf\\x81\\x5c\\xbc\\x53\\x95\\x54\\xe9\\x8b\\x50\\x76\\x3d\\xe7\\x3d\\xf5\\x4a\\xef\\xb7\\x1d\\xcc\\x20\\x07\\xb4\\xb7\\xe9\\x71\\xfe\\xd5\\xd9\\x5f\\xef\\xb9\\x72\\x9d\\x39\\xbe\\x70\\xec\\xb6\\x67\\x41\\xf5\\x13\\x7d\\xc1\\xf2\\xd5\\xab\\xe1\\x9a\\x15\\x73\\xaf\\x4e\\xdc\\x73\\x50\\xcd\\x95\\x4e\\x11\\xf2\\x5b\\xf8\\x2c\\x5a\\xc9\\x7d\\x4e\\x25\\xe0\\x0c\\x44\\x2c\\xa0\\xdc\\x51\\xee\\x42\\x5e\\x6f\\x55\\xc7\\x45\\xe9\\xd4\\xa6\\xa0\\xda\\x2b\\x8c\\x6c\\x4f\\x14\\x95\\x78\\x1f\\x0a\\x81\\x15\\x65\\x9b\\xc1\\x89\\x62\\xf0\\x08\\x82\\x60\\x6b\\xca\\x64\\x3c\\x72\\x3a\\xdc\\xd9\\x73\\xc8\\x8e\\xd9\\xf9\\xf0\\xd7\\xff\\x7e\\x78\\x4f\\xb5\\x4f\\xb5\\xf1\\xe9\\xed\\x5b\\x12\\x0b\\xd7\\x3f\\x35\\x59\\x61\\xdd\\x6c\\xdf\\xd2\\xe5\\x6a\\xf1\\x03\\x3b\\x73\\x7a\\x43\\x74\\xeb\\xac\\xd0\\xf8\\x2e\\xc3\\x7b\\xd5\\xbf\\x52\\xbd\\x36\\x62\\x40\\x61\\xc5\\x84\\xc4\\xb6\\x09\\xf1\\xb1\\xd3\\x2b\\xe2\\x53\\xaa\\xaa\\x41\\x69\\x1f\\x38\\xa0\\x5a\\x8a\\x61\\x87\\xb1\\x05\\xc8\\x77\\xb5\\x53\\x6e\\xaf\\x81\\xf4\\x35\\xe8\\x59\\xab\\x4a\\x69\\x45\\x92\\xd3\\xe1\\x93\\xa9\\x80\\xd3\\x22\\x00\\x1a\\x72\\x38\\x08\\x14\\x32\\xc3\\x04\\xf2\\x2f\\x52\\x05\\x3a\\x32\\xec\\xb0\\x93\\x70\\x05\\x3c\\x99\\x7d\\x0a\\xc4\\x1e\\xd4\\x2b\\xd8\\xea\\xaf\\x76\\x1c\\xb8\\x30\\x6a\\x08\\xfc\\xd7\\x13\\x23\\x6f\\xfc\\x67\\x73\\x2f\\xfa\\x3f\\x57\\xe1\\x15\\x38\\x19\\xbe\\xc3\\x7d\\xbe\\xb4\\xd5\\x8d\\x53\\x97\\xab\\x66\\xc0\\x41\\xbe\\x5f\\xbb\\x6d\\x3e\\xf8\\x1a\\x96\\x15\\xad\\x46\\x8c\\x5c\\x0e\\x60\\x52\\x8b\\xf7\\x5e\\x61\\x68\\x57\\x75\\x3d\\xf7\\xfa\\x5f\\x69\\x38\\x86\\x41\\x3e\\x36\\x33\\x50\\xec\\xc1\\xd0\\x9e\\xe2\\x00\\xe5\\xbf\\x58\\x55\\x78\\x12\\xff\\x01\\x53\\xf6\\xed\\xdc\\x87\\x9f\\x17\\x7e\\x03\\xa8\\xc5\\xf8\\x0e\\x08\\xf4\\x1b\\x13\\x5e\\x13\\x72\\x92\\x3c\\x66\\x29\\x95\\x4e\\xaf\\x2b\\xc7\\x79\\x20\\xf4\\x47\\x43\\x53\\x1a\\xa3\\x1f\\x51\\xd6\\xd0\\x04\\xcf\\xd6\\x24\\x00\\x07\\xba\\xc9\\xff\\x04\\x20\\x41\\xf7\\x62\\xb0\\xfa\\x28\\xa8\\x81\\x53\\xf0\\xff\\x8e\\xc2\\xa9\\x60\\x35\\x9c\\xca\\xca\\xc0\\x35\\x98\\xbd\\x15\\xbe\\xbe\\x15\\x56\\x80\\x5d\\x5b\\x51\\x70\\xdd\\xd8\\x88\\x53\\xc8\\xcc\\x48\\xae\\xab\\x51\\x46\\x61\\x50\\x59\\xb6\\xf1\\x3e\\xf2\\x27\\x4e\\xca\\xd6\\x50\\x0a\\xc4\\x09\\xce\\x15\\xb4\\xf7\\x46\\xc6\\x46\\x45\\x85\\xea\\x43\\xcb\\x79\\x86\\x03\\x5e\\x85\\x26\\x1f\\x28\\xbc\\xd1\\x7a\\x26\\x32\\x2e\\x2e\\x4c\\x17\\x56\\xce\\x47\\x60\\x4c\\x27\\x91\\x1b\\xb4\\x44\\xec\\x9f\\xdc\\x4a\\x6a\\x93\\x25\\x61\\x4a\\x66\\x7a\\xf0\\x85\\xb9\\x3a\\x10\\x8d\\x0f\\x78\\x93\\x00\\x10\\xa6\\x41\\xa8\\x46\\x31\\x02\\xb7\\x1f\\xd0\\x9c\\x39\\xc9\\x56\\xce\\xa7\\x0f\\x57\\xb2\\x6f\\xef\\x87\\xb5\\x35\\x8d\\xd4\\xd1\\x7d\\x40\\x36\\xfb\\x85\\xe7\\x0e\\x17\\xf5\\x63\\x6f\\x86\\x0e\\xde\\x3d\\x98\\x4e\\xf7\\xbd\\x11\\x4e\\xe7\\xc3\\x5b\\x2e\\xf0\\xad\\xc3\\x77\\x02\\x2c\\x92\\xcd\\x32\\xcf\\x99\\x63\\x7e\\x1b\\xca\\xe0\\x97\\x30\\xff\\x3d\\x2e\\xf7\\xda\\x83\\xa7\\xd6\\x3e\\xfc\\xf5\\x35\\x50\\xe9\\x4b\\xad\\x61\\x1d\\xb5\\x2b\\x1f\\xfe\\xdb\\xff\\x2e\\x43\\xb8\\xad\\xd2\\xbb\\xb4\\xf3\\x46\\x4a\\xef\\x10\\xe5\\x8d\\x72\\x57\\xf0\\x51\\x3a\\xfc\\x62\\x7a\\x26\\x96\\xbc\\x8b\\x4b\\x7a\\x17\\xf1\\x7c\\x93\\x74\\x68\\xe0\\x17\\xfa\\x5f\\xaf\\x62\\x92\\xa0\\xd9\\x99\\x21\\xe2\\xab\\xdc\\xdb\\x0f\\x7f\\x7e\\xcc\\xab\\x30\\x76\\xe0\\x83\\xd7\\x1d\\xe0\\xcb\\x30\\x9f\\x0f\\xac\\x74\\x70\\x4b\\x85\\x17\\xf9\\xeb\\xd1\\x17\\x59\\xc2\\x24\\xad\\x5a\\xd2\\x70\\x8f\\x60\\x9c\\xb3\\x94\\xa6\\xf1\\x2b\\x6e\\x2a\\xb9\\x2b\\xc5\\x4d\\xb5\\xa4\\x32\\xa9\\x12\\x6f\\xaa\\xcd\\xaa\\xb4\\xba\\xda\\x48\\x6f\\xd4\\xc6\\xdb\\x26\\xb5\\x80\\x6f\\xa3\\x6b\\x95\\x5e\\xc0\\xb7\\x72\\xb9\\xd0\\x16\\x76\\x59\\xc2\\x28\\x53\\x0b\\x5c\\xfd\\xae\\x89\\xc1\\xf7\\x77\\x05\\x72\\x73\\x44\\xad\\x34\\x7d\\x45\\x82\\x42\\xdd\\x74\\xce\\xb0\\x6a\\x31\\x90\\x6b\\x8f\\xc5\\xf6\\x60\\xf4\\x61\\x7c\\x5a\\x66\\xbc\\x78\\xf9\\xb1\\xd0\\x1c\\x2c\\xbd\\xf8\\x54\\x69\\x0e\\x7d\\x2b\\x53\\x07\\xe6\\x3e\\x3b\\xfa\\xd0\\xb8\\x5e\\x39\\x2a\\x9a\\x1d\\xfa\\xcc\\x03\\x37\\xb7\\x05\\xe8\\x6f\\x3f\\xd1\\x75\\x5a\\x56\\xaf\\xfc\\x69\\x6d\\xc1\\x93\\x61\\x00\\x12\\x19\\xd8\\x7d\\x10\\x2c\\xf4\\xcb\\xe0\\xe1\\x6b\\x03\\x72\\x40\\xe6\\xbb\\x60\\xcd\\x8d\\x4e\\x4f\\xd8\\xc0\\xc3\\x87\\xa6\\xcb\\x11\\xca\\xf8\\x9e\\xa7\\xaf\\x3c\\x0f\\x5a\\x5c\\x7c\\xf1\\x10\\xfc\\x18\\x86\\x04\\x24\\x42\\x37\\xde\\x47\\xb1\\x8c\\x99\\xdc\\xff\\x69\\x41\\x11\\x96\\xd9\\x14\\x82\\x6f\\x56\\x24\\x99\\x5e\\xa6\\xe9\\x75\\xa0\\x7e\\xe0\\x3e\\x72\\xf3\\xaa\\x5c\\xec\\x66\\x8a\\x16\\xbb\\xac\\xe2\\xf5\\x40\\xb6\\xe7\\x1b\\xd0\\xd6\\xb5\\x35\\x3d\\xaf\\x74\\x94\\x73\\xf3\\x25\\x17\\x18\\x72\\x36\\xf1\\xe5\\xfd\\x93\\xba\\x93\\x5b\\x43\\x8f\\xc6\\x57\\x6f\\xc2\\x1d\\x56\\x79\\x6f\\xbf\\x96\\x40\\x31\\x8d\\xf7\\x51\\xfc\\x98\\x42\\xea\\xdb\\x2c\\x54\\x18\\xd5\\x06\\x9f\\xec\\x17\\x97\\xda\\x28\\x03\\x83\\x5d\\x5f\\x34\\xa2\\x03\\x57\\xc0\\xeb\\x8d\\x2a\\x25\\xf2\\x68\\x74\\x4d\\x8f\\xc9\\x31\\x1f\\xf8\\x44\\x2d\\xf8\\x52\\x1e\\x2d\\x50\\x10\\x9e\\xc8\\x85\\xd8\\xe9\\xc3\\xfa\\x87\\x17\\xf3\\x53\\xb7\\xda\\xce\\xc3\\xb7\\x1c\\xe0\\xcd\\xf7\\x62\\x7e\\x6b\\x80\\x84\\xb7\\x5a\\x17\\x1d\\x1f\\x7b\\x2a\\x16\\x0e\\xb0\\xae\\x33\\x4a\\x37\\xf4\\x80\\x83\\x84\\x3f\\xdc\\x6f\\x85\\xf8\\xda\\x8c\\xf4\\xe2\\x7d\\xc2\\x17\\x5e\\xe7\\x1d\\xbd\\x2e\\x83\\xbe\\xb8\\x34\\x1c\\x19\\x91\\x70\\xca\\x1c\\x6a\\x0b\\x2d\\xe0\\x6d\\x16\\x03\\xa5\\x42\\x9e\\x8c\\x8a\\x38\\xe9\\xe4\\x1c\\x3f\\xe0\\xa7\\x07\\xa7\\xfa\\x1e\\xc3\\x23\\xe6\\x0e\\x90\\xee\\x49\\x2c\\x35\\xf0\\x7b\\x80\\xcf\\xaf\\x1d\\xe0\\x3c\\xe2\\x13\\x0c\\x43\\xec\\x35\\x94\\xbd\\x12\\xee\\xbb\\x16\\xfe\\xd6\\xb7\\x88\\xf9\\x69\\x4d\\x79\\xc5\\xb7\\x09\\x3d\\x5c\\x2c\\x5c\\xd5\\x13\\x98\\x37\\x03\\x5a\\xc7\\x99\\x5e\\xa7\\xc5\\x66\\xb4\\x95\\xf3\\x46\\x93\\x4a\\x09\\x68\\x25\\x4d\\x39\\x75\\xba\\x70\\x7c\\x25\\x6d\\x08\\x23\\x37\\x12\\xdd\\x2a\\x70\\x66\\x94\\x6a\\x23\\x88\\xbe\\x8b\\x65\\xa2\\x31\\x6e\\x30\\xbe\\x29\\xcf\\x93\\x86\\x36\\x9f\\x07\\xd8\\x24\\xa6\\x85\\x99\\x05\\xf3\\x8b\\x64\\x9c\\xcd\\x3d\\x68\\x07\\x90\\xed\\xe8\\x2f\\xd3\\xa7\\x94\\xee\\x82\\x7f\\x9d\\xcd\\x68\\x13\\xd9\\x22\\xad\\xb0\\xdc\\xb1\\x79\\xb3\\x0b\\x64\\x9d\\x4d\\x3c\\x0b\\x98\\x41\\x31\\x3b\\xae\\xc2\\x04\\xae\\x6b\\xc3\\x3a\\xd5\\x14\\xd0\\x12\\xbc\\xf2\\xd7\\x79\\x8b\\x66\\xb7\\x69\\xf5\\x1a\\x32\\xe7\\xb7\\xdf\\xa4\\xc4\\x39\\x6f\\x45\\xee\\x5e\\x42\\x91\\x3c\\x95\\xe3\\x8d\\x8a\\x72\\x17\\x97\\x46\\x51\\x4a\\x05\\xa0\\xc3\\x1d\\x15\\xbc\\x02\\x05\\xc0\\xe1\\x3a\\xad\\x9c\\x31\\x5b\\x0d\\xd6\\x72\\xde\\xe0\\xa0\\x64\\x41\\x27\\x6e\\x9e\\x1c\\x83\\x68\\x33\\xc5\\xc2\\x0e\\xc4\\xb9\\x4c\\xb8\\x52\\x56\\x64\\xdc\\xd4\\x9c\\x71\\x2c\\x6d\\xc4\\xbc\\xd6\\x53\\x12\\xcc\\xbb\\x61\\x68\\x89\\x13\\x49\\x7d\\x9b\\xed\\xfc\\xa7\\x0e\\xb0\\xf0\\xbd\\x98\\x07\\x60\\x04\\x12\\x3a\\x7a\\x81\\xd9\\x48\\x6f\\x64\\x05\\xbf\\x00\\xec\\x8f\\x64\\xbf\\x64\\x06\\x91\\xfd\\xf9\\x3b\\xc2\\x4d\\x4e\\xc1\\xef\\x81\\xd7\\x48\\x2a\\xe5\\xf5\\x46\\xe0\\x35\\x92\\x6c\\x2f\\xe0\\x93\\xf5\\xb1\\xba\\xc4\\x84\\x04\\x95\\x39\\xe2\\x7f\\x2e\\x12\\x72\\xcf\\x53\\x4e\\xb3\\x55\\x12\\xc4\\xf7\\xdf\\xdc\\xa7\\x44\\xae\\x27\\x4a\\x13\\xd6\\x0d\\x7a\\x83\\x9b\\x0e\\x30\\x4e\\x5a\\x36\\x7b\\x96\\x19\\x12\\x5a\\xe6\\xcd\\x8f\\x98\\xbd\\x5b\\xba\\x52\\x29\\xad\\xba\\xe4\\x80\\x79\\x35\\x59\\x43\\xe2\\x7b\\x08\\x6b\\xe8\\xaf\\xdf\\xe8\\xd3\\x25\\x59\\x9d\\xb2\\x4f\\xee\\x90\\x7a\\x6d\\x16\\xb4\\x2e\\x1f\\x7e\\xab\\xc7\\x48\\x72\\x8f\\x91\\x88\\x5b\\xf1\\x74\\x00\\x27\\x51\\x91\\x8b\\x4b\\x47\\x1e\\x83\\x7d\\x51\\x1a\\x84\\x5b\\xb1\\xfc\\x8f\\x26\\xd8\\x17\\xcd\\x7b\\x54\\x25\\x1a\\xcd\\xfb\\x5c\\x47\\x91\\x5e\\x45\\xa1\\x47\\x75\\x39\\xd3\\xb4\\xcf\\xb5\\x19\\x6e\\x5c\\x80\\x8f\\x47\\x30\\x24\\x02\\x3d\\x3a\\x42\\x7f\\x56\\xa0\\xcf\\xa7\\x19\\x66\\x59\\x80\\x8f\\xa0\\x7a\\xf1\\xd5\\xe8\\x99\\x65\\x5c\\xbd\\x3e\\x8e\\x2a\\xe1\\x82\\x7a\\xbc\\x9a\\xd6\\x8b\\xcb\\x93\\xfc\\x34\\x42\\x7e\\xa3\\x47\\xa2\\x27\\x30\\x9a\\xa3\\x1f\\xd4\\x2c\\x88\\x8e\\x6c\\x8c\\x40\\x07\\xfd\\x7b\\x0c\\xc0\\x23\\xf6\\x00\\xc5\\x20\\x94\\x72\\x78\\x0d\\x4c\\xa2\\x57\\xad\\xce\\x4f\\xf4\\x2a\\x94\\xf9\\x89\\xb4\\xd8\\xb7\\x96\\x6e\\x48\\x42\\x4c\\x3c\\x66\\x8c\\x07\\x81\\x31\\xa2\\x1f\\x1d\\xe3\\xf5\\xa6\\x63\\x50\\xd3\\xa9\\xc5\\x68\\x0c\\x5c\\x11\\x1d\\xd3\\xb4\\x6e\\xbc\\x09\\xcd\\xdf\\xe9\\x11\\x7e\\x9a\\x71\\xff\\x93\\x26\\x92\\x82\\xeb\\xff\\x40\\xf3\\x8f\\xff\\x2f\\x3e\\xbb\\x34\\x6e\\x78\\x0c\\x4d\\xf1\\x6e\\x41\\xa3\\x8c\\xb6\\x4b\\xeb\\x6f\\x2a\\x19\\x23\\xa6\\x89\\xbc\\x59\\x09\\x60\\x33\\x18\\x2f\\xac\\x40\\xc4\\x40\\x41\\x63\\xfc\\xf4\\x23\\x91\\x77\\x16\\x05\\x29\\x93\\x57\\xcd\\x76\\xf6\\x9a\\xc2\\xf2\\x3b\\x7b\\x15\\xfa\\xfc\\xce\\x94\\x28\\x67\\x42\\x7b\\x5a\\x10\\xed\\xff\\x12\\xda\\xb8\\x1f\\xcb\\x20\\xd5\\xd2\\x63\\xba\\x9d\\x02\\x74\\xe9\\x6d\\x94\\x40\\xb7\\x3b\\xa2\\x6b\\xf7\\xea\\x99\\x8e\\x5e\\x93\\x2b\\xbf\\x23\\x2e\\x9b\\xee\\x28\\x02\\x21\\x08\\xe4\\x31\\x7d\\x82\\xe9\\x49\\xfa\\x13\\x96\\x8b\\xfd\\x09\\x75\\x42\\x6f\\x5a\\xa0\\xb7\\x40\\xc0\\x30\\xe3\\x8a\\xd0\\x33\\x75\\x94\\xb0\\x42\\xdc\\x64\\xc5\\x31\\x9d\\x0c\\x52\\x2f\\xf5\\x54\\xb1\\x67\\x30\\x0e\\xe9\\x4a\\x37\\x13\\xe9\\x8e\\x1c\\xc2\\x53\\xee\\xd8\\x18\\xa4\\xe3\\x63\\x75\\xee\\x58\\x77\\xac\\x5c\\xa7\\x33\\x93\\x0a\\x4c\\xc7\\x63\\x2a\\x30\\x71\\x7d\\x4c\\x20\\xea\\xf7\\xc8\\xa3\\xe5\\x41\\x18\\x25\\x4d\\xef\\x6c\\xcf\\x01\\xe2\\xd5\\x0d\\x6c\\xd6\\xc2\\xb0\\x85\\x51\\xab\\x7e\\x99\\x18\\x7c\\x79\\xfb\\xb8\\xdd\\x55\\x3d\\xc9\\xe5\\xed\\x26\\xf8\\x61\\x18\\x88\\xb5\\x90\\x02\\x19\\xf0\\xc2\\xe2\\x63\\x85\\xf9\\x41\\xb7\\xb8\\x8f\\x7c\\x03\\x9e\\x99\\x83\\x6f\\x71\\x1f\\xb6\\x78\\xec\\x2e\\x64\\x9b\\xbe\\x17\\xef\\x42\\x8c\\xa7\\xd2\\xa8\\x27\\xbc\\xd1\\x6e\\x27\\xe5\\x8c\\x2e\\xe0\\x9d\\x0e\\x0e\\xf9\\x55\\x34\\xa3\\xd3\\x32\\x5a\\x23\\xc7\\x51\\x46\\x9d\\x2a\\x09\\x23\\xab\\xd8\\xe3\\x29\\x7c\\x0e\\x71\\x92\\xb7\\x91\\xea\\xf6\\x80\\x9e\\x44\\x61\\xae\\x68\\xb0\\xa4\\x97\\x43\\xee\\x87\\xdb\\x14\\x2d\\x8b\\x8e\\x94\\xdc\\x29\\x7c\\x35\\x98\\x1c\\x69\\x4a\\xf4\\x92\\x62\\x04\\x47\\xd4\\xa9\\x1b\\x04\\x4a\\xe7\\x3a\\x02\\x86\\x6e\\xf4\\xd0\\xd5\\xbf\\xc3\\x5b\\x0b\\xbf\\xdf\\x35\\xf9\\x69\\x3b\\x8d\\xef\\x48\\x94\\xdb\\x4c\\x07\\x3a\\x1b\\x7b\\xb6\\xff\\xcf\\x4b\\x7b\\x2e\\xab\\xcf\\xd9\\xce\\x54\\xae\\x4c\\xf6\\xa9\\x99\\x9a\\xe9\\xc3\\x9f\\x7b\\x61\\xd4\\xc8\\x21\\xcf\\x0d\\x05\\xdc\\xab\\x60\\xf8\\x5d\\x90\\xbd\\x83\\xdc\\x93\\xe8\\xe2\\x47\\x37\\xec\\x2f\\xdb\\xb7\\x7f\\xce\\x64\\xd7\\xe2\\xd2\\x4a\\x86\\xad\\xde\\x0e\\x7d\\xf0\\xcf\\x25\\x53\\x67\\x7f\\x20\\xe1\\x57\\xd4\\xf9\\xf1\\x2b\\x02\\x3a\\x26\\xe2\\xef\\x31\\x30\\x96\\x7f\\x4e\\xf4\\x54\\x5a\\x10\\x0e\\x05\\xe7\\x20\\x34\\x5a\\x89\\x34\\x42\\x9b\\xea\\x4b\\x8a\\x26\\xb5\\x22\\x67\\x64\\x75\\x94\\x0a\\x09\\x2a\\xd2\\xab\\x33\\x9a\\x74\\x0b\\x35\\x1c\\x03\\xe4\\x6c\\x88\\x4e\\x2c\\x16\\x41\\xf2\\xca\\xf9\\xc4\\x7e\\x4b\\x2a\\x16\\xf1\\xdf\\x22\\x18\\x1d\\x2f\\x78\\xa3\\x72\\xff\\x7d\\x82\\xb2\\xfa\\x6d\\x62\\x95\\xc8\\x98\\xbd\\x6f\\xb2\\x95\\xb7\\xe8\\xdf\\x47\\xb3\\xc2\\xcd\\x82\\xb9\\x0d\\xdf\\x08\\x95\\x22\\xdc\\xbe\\x9f\\xcd\\x2b\\x57\\x9a\\xb1\\x1e\\x86\\xfd\\x48\\x5d\\x00\\xd1\\xc3\\xb8\\x6f\\x24\\x46\\xe8\\x1b\\x99\\x84\\x3e\\x2f\\x23\\xbd\\x6a\\x45\\xc2\\xe7\\xf1\\xc2\\xe7\\xe4\\x79\\x7f\\x7f\\x26\\xda\\x3f\\xb5\\x51\\xc2\\x4e\\xa0\\xc9\\x4e\\x60\\x52\\x38\\x3f\\x5e\\x18\\xfe\\x3d\\xd9\\x07\\x45\\xc2\\x73\\x2d\\x9b\\xec\\x86\\xd6\\xfe\\x9e\\x8a\\x17\\x61\\x7f\\x4e\\x27\\xab\\xd3\\xc7\\x81\\x59\\x4e\\x41\\x36\\xe9\\x8f\\xc8\\x37\\x14\\xf9\\x6e\\x9b\\xb1\\x0e\\xa7\\x8b\\x0d\\x41\\xbd\\x6f\\x7e\\x1d\\x4e\\xfa\\xe2\\xaf\\x04\\xf5\\xc5\\x2f\\x1f\\x4c\\xbe\\x37\\x0a\\x3b\\x8e\\x21\\x31\\x4e\\x05\\xb9\\x4b\\xd9\\x44\\x4e\\xc0\\xad\\x8e\\xd0\\x50\\xad\\x4c\\x5b\\xce\\x87\\xc9\\x18\\x6b\\x78\\xb8\\x8e\\x43\\x01\\xa4\\x85\\x6b\\x12\\xa3\\x49\\xd1\\xd9\\x3f\\xc6\\x64\\xf4\\x9d\\xff\\x4b\\x20\\xc6\\x3c\\xf7\\x0f\\x11\\x18\\x25\\xf2\\x27\\x97\\xf8\\x4b\\xf3\\x86\\xdb\\x6d\\xa1\\xb6\\x0a\\x3e\\x54\\x87\\x79\\x94\\x31\\x16\\x87\\x19\\x79\\x51\\x66\\x0e\\xb3\\xc9\\x89\\x45\\x52\\x41\\x01\\x98\\x58\\x60\\xfa\\x4f\\x01\\xd7\\x63\\xf9\\x6c\\x16\\x65\\x3d\\x8e\\x4b\\x29\\x98\\x60\\x48\\x6c\\xe5\\x20\\x77\\xaf\\x46\\xa3\\xd8\\xaa\\xab\\x37\\xb6\\x45\\x7c\\x42\\x3c\\x0a\\x98\\xd4\\x94\\xda\\x9c\\xa0\\x8b\\x4d\\x8a\\x41\\xfb\\x3d\\xc6\\x62\\xb6\\xe8\\x28\\x45\\x24\\xa9\\xcb\\xb7\\x07\\x61\\x2a\\x49\\x6d\\xcf\\xe2\\x89\\x89\\xe8\\xa2\\xfe\\x7f\\xc5\\x4e\\x60\\xe1\\xff\\x57\\xc0\\x34\\xf7\\xff\\x1a\\x28\\x49\\x7b\\x7c\\xbb\\xb4\\xc7\\xbb\\x80\\x17\\x84\\x35\\x18\\xfd\\xb7\\x7b\\x9c\\x9a\\xde\\x99\\xec\\xf1\\xb6\\x62\\x5f\\x4f\\xe3\\x6f\\x88\\xc6\\x3b\\x24\\x6f\\x8b\\xd6\\x97\\x5c\\x6e\\x46\\x4e\\x7b\\x39\\x6f\\xb3\\x99\\xc3\\x2c\\x8c\\xd9\\xa8\\x62\\x50\\xb4\\xe3\\x3f\\xf1\\xf0\\x04\\x97\\x32\\xc4\\x06\\x6e\\x58\\x77\\x0b\\x67\\x20\\x6e\\xb2\\xb3\\xdd\\xf8\\x2c\\x84\\x7e\\xb6\\x75\\x9b\\xbc\\x01\\xe1\\xf3\\xb7\\x2d\\xc9\\x83\\x1f\\xaf\\x1d\\xac\\x6d\\x0b\\x6f\\xcf\\x7e\\x16\\xc8\\x9e\\x9d\\x00\\x52\\x27\\xec\\xbd\\x68\\xf8\\xa1\\x63\\x56\\x55\\x0d\\xbd\\xdc\\x57\\x0a\\x9f\\x5e\\x5d\\x9a\\xdd\\x1d\\xb8\\x7c\\xab\\xb9\\x5c\\xdf\\x4d\\x3a\\xa3\\x21\\x95\\x27\\xb9\\xa0\\xaf\\xd0\\xbe\\x38\\x87\\xec\\x8c\\x16\\x45\\x62\\x6e\\xaf\\x4e\\x6d\\xc0\\x39\\x6d\\x85\\x9c\\xb5\\x5a\\x91\\x52\\x95\\x9d\\x01\\x21\\x94\\x70\\xb8\\x26\\xde\\x7b\\x68\\xa6\\x29\\x92\\x0b\\x92\\x77\\x14\\xd6\\x11\\xb9\\x32\\x97\\xc9\\xa0\\x8c\\xec\\x39\\x08\\x53\\xe1\\x0f\\x69\\x97\\x00\\x7f\\x26\\xa2\\xcf\\xb5\\x31\\xc7\\x4e\\xbd\\xfa\\x0e\\xff\\xec\\x24\\xd3\\xfe\\x9b\\x60\\xc8\\x9b\\xcc\\x77\\x5f\\xc3\\x0c\\xb8\\x7a\\x04\\xfc\\x43\\xf6\\xd3\\xde\\x92\\x21\\x67\\xdf\\x7d\\x30\\xf4\\xd0\\xd0\\x86\\xe7\\x7b\\x82\\x8e\\x60\\x85\\xd4\\x87\\x5f\\xeb\\xef\\xc3\\x57\\x74\\xa6\\xae\\x88\\xa8\\x29\\x4d\\xfa\\xcc\\x70\\x2f\\x36\\xb2\\xf2\\x85\\x26\\x82\\x7b\\x77\\x59\\xd0\\x00\\x82\\x6c\\x59\\x62\\xd7\\x37\\xcb\\x0e\\xa2\\x60\\xc7\\x8e\\x22\\x8c\\x64\\x6a\\xa0\\xd7\\x11\\xe9\\x5c\\x5d\\x1a\\xa9\\x31\\xb7\\xa8\\xe1\\xe5\\x94\\x99\\x61\\x6d\\x6c\\x39\\x1f\\x6a\\xa3\\xcc\\xc0\\xc8\\x98\\x71\\x6b\\x9e\\x05\\xd9\\x6f\\xb3\\xcd\\x6c\\xd3\\xd0\\x9a\\x98\\x1a\\x5e\\xf3\\x11\\xe0\\x64\\xe4\\x82\\x7c\\x02\\xf4\\x2f\\x1a\\x52\\x7c\\x0f\\x98\\x3f\\x47\\xe4\\x21\\xd7\\x8c\\x88\\x15\\x2f\\x78\\x06\\x02\\x00\\xf6\\x32\\x79\\x34\\x92\\x96\\x9b\\x89\\x63\\x08\\xee\\x84\\x2d\\xf8\\x52\\x8c\\xe1\\x54\\xe3\\x95\\x9e\\xbe\\x5b\\xd7\\x5f\\xa6\\x77\\x74\\xca\\xaf\\x2e\\x1c\\x3a\\xbe\\xe3\\x5b\\xc6\\x2e\\xc9\\xb7\\xc0\\xd9\\x3c\\x79\\x2b\\x11\\x8f\\x22\\xb1\\x6d\\x6a\\x87\\x27\\xb2\\x53\\x3b\\xf6\\x62\\x1d\\x0f\\xbf\\x04\\x5d\\xe0\\x05\\xd6\\x96\\x5c\\xdc\\x61\\x52\\xce\\x80\\xee\\xd9\\x63\\x7a\\x2e\\xe8\\x0e\\x9f\\x07\\x4f\\x44\\xd0\\xa5\\x18\\xae\\xe2\\xa3\\xc8\\xd8\\xcc\\x44\\x77\\x5c\\x5b\\x21\\x97\\x81\\xfd\\x94\\x27\\xd1\\x3b\\x67\\x50\\x5d\\xa8\\xee\\x54\\x3f\\xea\\x88\\x37\\x47\\x95\\xe0\\x48\\x48\\x4a\\x60\\x14\\x09\\x09\\x11\\x49\\xd4\\xf6\\x58\\x50\\x1a\\xfb\\x30\\x96\\x8e\\xf5\\x9a\\x8b\\x63\\x8a\\xd3\\x8a\\x99\\xe1\\xc5\\x53\\x8b\\xbf\\x28\\x66\\x0a\\x8a\\x01\\x4d\\x15\\x7b\\x8b\\x69\\x25\\x53\\x9c\\xda\\xbb\\x86\\xa7\\x52\\x5b\\xa7\\x7a\\x53\\x19\\x33\\x93\\x8a\\xe5\\x92\\xaa\\x35\\xe4\\xa7\\x76\\x8f\\x68\\x5f\\xc8\\xaf\\x8d\\x00\\xfa\\x88\\xc8\\x88\\xd6\\x11\\xcc\\xa7\\xdd\\x01\\xd5\\x5d\\xdf\\x3d\\xb2\\x3b\\xa3\\x61\\xba\\x47\\x74\\x8f\\xc8\\xcc\\x53\\xaa\\x4d\\x4c\\xa6\\x2d\\xb3\\x80\\xd7\\xd9\\xac\\x94\\x78\\x78\\x88\\x2b\\x07\\xb2\\x84\\xfe\\x8f\\xb2\\x32\\x41\\x5a\\xb8\\x9b\\x5b\\x40\\x6a\\x2c\\x2f\\x2b\\x9b\\x6c\\xbf\\x55\\x36\\x19\\xdf\\xd1\\x95\\x42\\xee\\xd0\\xb0\\x06\\x8a\\x4c\\xff\\xf9\\xc2\\xf3\\x8c\\xd8\\x20\\x51\\x83\\xa0\\x1b\\xcf\\xc1\\xa3\\xe2\\x2e\\xb8\\x8e\\x2f\\x39\\x4f\\xfa\\x87\\x9b\\xd0\\x0b\\x01\\xc8\\xcd\\x5b\\x5a\\x54\\x3e\\xa9\\x27\\x0c\\x09\\x5c\\x85\\x0e\\x86\\xb3\\x40\\x8e\\x26\\xe3\\xf9\\x94\\xec\\xd6\\x1d\\x7b\\xb7\\xf5\\xe4\\xf4\\x64\\x3b\\xb6\\xb9\\xe1\\xbf\\x03\\xfd\\xef\\xee\\x49\\xff\\x36\\xa5\\x65\\x71\\xbb\\x29\\xde\\xbe\\xbd\\x3b\\x4e\\x69\\xb0\\x05\\xdd\\x93\\xce\\x0d\\x33\\x5f\\x70\\xd6\\x7f\\x16\\x19\\xdb\\x36\\xc1\\x1d\\x97\\x1d\\xf0\\x0b\\x0f\\xfa\\xfd\\x42\\x6a\\x3a\\x88\\x15\\xfa\\xb7\\xed\\xcd\\xfd\\xc2\\x7a\\xd1\\x2f\\xf4\\x63\\x37\\x32\\xb9\\x7e\\x1b\\x46\\xb0\\xa8\\x09\\x8d\\x6d\\x94\\x1f\\x37\\xf9\\x41\\xc0\\xa2\\x92\\x7d\\x42\\x70\\x2e\\x09\\x8d\\x73\\x02\\x8d\\xe1\\x84\\x46\\x6a\\x30\\x26\\xe1\\x30\\xb2\\xd7\\x04\\x4c\\xc2\\x37\\xe9\\x70\\x11\\xb3\\x20\\xac\\x89\\xff\\x9b\\xc1\\xd5\\x89\\xb1\\x1d\\x7a\\x06\\xfc\\x4b\\xf4\\x91\\xbb\\xfa\\x7b\\x49\\x45\\x3a\\x47\\x25\\x3a\\x77\\xe9\\x6a\\x01\\xaf\\xdb\\xde\\x1c\\x1f\\xf1\\x9c\\x44\\xe7\\x2e\\x5d\\x28\\x44\\x67\\xb9\\x41\\x98\\x1d\\x04\\xc7\\xac\\x56\\xc2\\x31\\x7b\\x93\\x8e\\x21\\xfc\\xd0\\x62\\x80\\x16\\xc0\\x98\\xad\\x13\\x71\\xcc\\x30\\x3f\\xbf\\x89\\xfc\\x24\\x4b\\xbd\\xad\\x02\\x9d\\xa3\\x12\\x9d\\xbb\\xf4\\x6c\\xa1\\xef\\x32\\xb4\\x39\\x06\\xdb\\x39\\x89\\xce\\x5d\\xe2\\xfb\\x23\\x7e\\x5a\\x06\\xf8\\x11\\xe2\\xd6\\x5a\\x09\\xe7\\xe8\\x4d\\xf0\\xeb\\x23\\xfc\\x08\\x78\\xb6\\x75\\x22\\xb6\\x12\\xe6\\x99\\x16\\x7b\\x6d\\x2d\\x12\\x3f\\x02\\x9d\\xa3\\x12\\x9d\\xbb\\xf4\\xca\\x47\\xf8\\x11\\xe8\\x9c\\x93\\xe8\\xdc\\xa5\\x27\\x09\\x7a\\xcf\\x1a\\xe0\\x47\\x88\\x81\\x6b\\x25\\x8c\\x89\\x37\\x69\\xed\\xe3\\x30\\x26\\x90\\x6e\\xac\\x93\\x30\\x26\\x02\\xf2\\x49\\x94\\xf8\\x11\\xe8\\x1c\\x95\\xe8\\xdc\\xa5\\x37\\x0a\\xf3\\x95\\xd8\\x1c\\xef\\xe2\\x9c\\x44\\x47\\x92\\x4f\\x8b\\xa6\\xf3\\x75\\x89\\xf0\\x93\\x2e\\xf2\\xd3\\x5a\\xe4\\x27\\x5a\\xe2\\x47\\xc0\\x21\\xa8\\x13\\x71\\x08\\x02\\xfc\\xa0\\x10\\xb1\\xc9\\x7c\\x5d\\x22\\xfc\\xa4\\x8b\\x63\\x8d\\x13\\xf8\\x89\\x69\\x8e\\x67\\x70\\x4e\\xa2\\x73\\x97\\x5e\\xf2\\x08\\xe6\\x8b\\x10\\xdf\\xd7\\x4a\\xbd\\xd1\\xfe\\xf5\\x1c\\xdc\\x1b\\x2d\\xc4\\xf7\\x75\\x62\\x7c\\x8f\\xf9\\x81\\x84\\x1f\\x20\\xc2\\x1c\\x07\\xf2\\x04\\x47\\x25\\x3a\\xd2\\x7c\\x45\\x35\\xcf\\x13\\x9c\\x93\\xe8\\xf8\\xe5\\x03\\x92\\x03\\xfc\\x24\\xc0\\xac\\xff\\x47\\xd9\\x77\\xc0\\x35\\x79\\xad\\xff\\xbf\\xe7\\x1d\\x09\\x09\\xd9\\x3b\\x64\\x40\\x08\\x61\\xef\\x00\\x01\\x07\\x04\\x41\\x45\\x51\\x44\\x50\\x21\\xe2\\xde\\x20\\xee\\x51\\xdc\\x88\\xa3\\x4e\\x1c\\x55\\xeb\\xac\\xa3\\xee\\x5a\\xf7\\x6a\\xb5\\xb5\\x55\\x6b\\x6b\\xab\\xb5\\xb5\\xf3\\xda\\xde\\xdb\\xde\\xae\\xdb\\xdd\\xfb\\x6b\\x7b\\x3b\\x94\\x1c\\xfe\\xe7\\x9c\\xf7\\x4d\\x08\\x68\\xef\\xef\\xff\\xab\\x1f\\x89\\xa1\\xef\\x79\\xcf\\x73\\xd6\\xb3\\xce\\xf3\\x7c\\x9f\\x50\\x6c\\x03\\xfa\\x5f\\xf4\\x64\\x01\\xdb\\x20\\x2f\\x14\\xdb\\x20\\xf8\\xfb\\x37\\x60\\x5e\\x08\\x2e\\x41\\xf0\\xf7\\x40\\x86\\x9e\\x6f\\xc3\\x25\\x10\\x7e\\x8f\\xec\\x42\\x16\\xe9\\xcc\\x4b\\x91\\xbc\\x8e\\xa6\\x9c\\x5e\\x55\\x94\\x44\\x62\\x88\\x08\\x0f\\x67\\x22\\xc8\\x65\\x1c\\xcb\\x50\\x69\\x6d\\xd9\\x2b\\xbc\\x13\\x5a\\x45\\x71\\x9e\\x18\\x2a\\x3b\\x2b\\x4e\\xc4\\x79\\x92\\x41\\x10\\xc0\\x3a\\x78\\x51\\x68\\x07\\xac\\x09\\xca\\xfd\\x9f\\x44\\x81\\x2d\\x60\\x57\\xfc\\x4d\\x98\\x14\\x0d\\xcc\\xc0\\xb7\\x67\\xca\\xac\\x59\\xc7\\xfb\\xaf\\x9c\\x06\\x54\\x87\\x8f\\xdf\\x1c\\x34\\x39\\x21\\x0d\\x5c\\x40\\x8a\\x5f\\xe5\\xf6\\x83\\x93\\xc0\\x80\\xcf\\xa6\\xe7\\x3e\\xbe\\xe1\\xd9\\xfe\\x87\\x2e\\x3e\\x56\\x31\\x6a\\x50\\x5d\\xbf\\xf5\\x4b\\x0e\\xae\\x19\\x77\\x78\\x48\\xea\\x4a\\x44\\x9b\\x05\\x0e\\x62\\x8b\\xd8\\x32\\x44\\x5b\\x8c\\x57\\xed\\x90\\x4a\\x4d\\x56\\xb9\\x9c\\xb5\\x5a\\xf5\\x38\\x34\\x92\\xb5\\xb4\\xdd\\xb8\\x06\\x88\\xc3\\x17\\x4b\\x02\\x75\\xac\\x38\\x94\\xbc\\x40\\xdd\\x33\\x03\\x73\\xef\\x3d\\xd8\\x0b\\x6b\\xc9\\xb3\\xc0\\x8c\\xae\\x33\\xe0\\xd5\\xdd\\x36\\x90\\x04\\xe2\\x57\\x4e\\x1e\\x35\\x73\\x93\\xe7\\xe9\\xbe\\xbf\\xbc\\x7c\\xe2\\xe2\\xc5\\x7e\\xc0\\xba\\x07\\xfe\\xfb\\x83\\x82\\x1d\\x55\\x20\\xec\\x50\\xff\\xc4\\xac\\x61\\x96\\x4d\\xf9\\xf3\\x0f\\x4c\\x1c\\xd8\\x7f\\x50\\x8d\\x63\\xf5\\xaa\\xd5\\x2b\\x6e\\xae\\xaf\\x6c\\xc3\\xfa\\xc1\\x7b\\x32\\xe9\\xd1\\xfe\\x28\\x01\\xe7\\x6f\\x95\\xe8\\x32\\xc1\\xf9\\x4b\\xf2\\xea\\x39\\x96\\x15\\xcb\\x4d\\xfa\\xc8\\x28\\x6b\\x63\\x84\\x97\\x62\\x30\\xc8\\x9f\\x58\\x08\\xf5\\x8b\\x20\\x46\\x56\\x81\\x50\\xb0\\xfd\\xaf\\x01\\xfd\\x82\\x76\\x17\\x18\\x74\\xce\\xe6\\x74\\x30\\xeb\\xbf\\xe3\\xab\\xe1\\x4b\\x2b\\x46\\x10\\x38\\x1c\\x46\\x17\\xb4\\xbe\\xb8\\xe2\\xad\\xa7\\xe7\\xdc\\x86\\xd0\\x53\\x8c\\xcb\\xe2\\x7b\\x12\\x07\\x0d\\xc4\\x60\\x38\\xdc\\x73\\xc4\\x08\\x13\\xf2\\x13\\x90\\xae\\x86\\xec\\x30\\xca\\x40\\x99\\xbd\\x72\\x92\\x07\\xc8\\x2a\\xc2\\x65\\x0c\\x15\\x2e\\x84\\x6d\\x16\\x10\\xe5\\x24\\xa4\\x7b\\xb7\\x38\\x10\\xc3\\x47\\xdf\\x06\\x62\\xf9\\x90\\xba\\x01\\xd7\\x7b\\xdf\\x42\\xc6\\xdf\\x69\\xdb\\xad\\xbf\\x6d\\x59\\xab\\x85\\x7f\\xc2\\x2a\\xae\\xb4\\x5b\\xe6\\xf0\\xc1\\x63\\xca\\x1f\\x7c\\xc9\\xf5\\x78\\xf2\\x99\\xa5\\xab\\x7b\\x0f\\xbf\\x7f\\x0e\\x63\\xba\\x88\\xd1\\x5a\\xf6\\x44\\xba\\xbc\\x93\\x4a\\xa7\\xf2\\x29\\x44\\x7d\\xb4\\x85\\xb1\\x74\\xb9\\x08\\x22\\x2e\\xf8\\x22\\x2d\\x56\\x25\\xa5\\xcb\\xc2\\x91\\x69\\x11\\x3e\\x27\\x25\\x97\\x69\\x18\\x4a\\x26\\xd1\\xe9\\x18\\x89\\x24\\x95\\xa8\\xf5\\x71\\xed\\xa1\\x52\\xf9\\x15\\xd7\\x04\\x2d\\xf9\\x82\\x1b\\x81\\xcc\\x18\\x01\\x3a\\x55\\xa5\\x09\\x6a\\xf7\\x02\\xc1\\xe4\\x4e\\x01\\xef\\xd3\\x02\\x10\\x9a\\xa8\\x47\\x0b\\x38\\xfa\\x82\\xb0\\xa7\\x8b\\x0b\\x9f\\x1c\\xbf\\x64\\xde\\xaf\\x5f\\xd6\\x4d\\x37\\xd1\\xf2\\xe1\\xe7\\xfe\\x63\\x2b\\xca\\x9f\\x34\\xb3\\x7c\\x57\\xf5\\xc5\\xe4\\xea\\xda\\xea\\x1d\\x0b\\x13\\xe1\\x82\\xee\\xa5\\x93\\xb6\\x95\\x0e\\xaa\\xdc\\xb2\\x8f\\xfe\\x3c\\x35\\x33\\xb6\\xd8\\xc9\\x79\\x90\\x74\\x3f\\x5e\\x57\\x7d\\xf2\\x38\\x98\\x00\\x76\\x0e\\x1e\\xd5\\x17\\xfc\\xf0\\x40\\xbb\\xdb\\x58\\x3f\\xbc\\x66\\x65\\xff\\x17\\x7a\\x3e\\x36\\xeb\\xe8\\xf0\\x7b\\xc7\\x67\\x4f\\x69\\x06\\xf2\\xab\\x4b\\xa7\\xc1\\xeb\\x2d\\xff\\x88\\xcd\\xb6\\xe9\\xac\\x96\\x4e\\x5d\\x4b\\xf0\\x9c\\xb8\\xd1\\xf9\\x7f\\x9e\\xdb\\x42\\xaa\\x21\\xe6\\x50\\x85\\xde\\x68\\x8b\\x75\\xa4\\xcf\\x62\\xa1\\x0c\\x8e\\x64\\x47\\xf2\\x08\\x9f\\xd8\\xe0\\x70\\x20\\x3d\\x3a\\x7e\\x24\\xd2\\xac\\x73\\x18\\x85\\x7b\\x44\\x30\\x3c\\x2d\\x58\\xa7\\x14\\xeb\\x92\\x7c\\x9c\\x3c\\xc9\\x82\\xc6\\x91\\x05\\x22\\x25\\xff\\x11\\x88\\x3d\\x28\\xc0\\x7a\\x65\\x8c\\x47\\xcc\\xea\\x83\\xf5\\x40\\xe3\\xb4\\x21\\xf0\\xe2\\x39\\x80\\x89\\xbb\\xf2\\xee\\xc5\\x6d\\xe0\\xb1\\xc6\\x2d\\xf0\\x9b\\x8b\\x1f\\x7d\\x3f\\xea\\x58\\x3d\\xf8\\x18\\x48\\x7f\\x35\\xc3\\xb7\\x36\\x2c\\x9e\\xbc\\xa7\\x7a\\xe1\\xcc\\xed\\xdb\\x37\\x3c\\x76\\x6e\\xf4\\x8e\\xf5\\xd7\\x6e\\xf9\\xeb\\xb8\\x2d\\xdc\\xfe\\xd5\\xab\\xdf\\xb5\\xb1\\xda\\x4d\\xd3\\xd7\\x7e\\x34\\xeb\\xc4\\xbe\\xc9\\xa7\\xa7\\xab\\xd9\\x82\\x9d\\xdb\\x4f\\x32\\x4d\\xe2\\x17\\xfa\\xf6\\x2f\\x5a\\x59\\x35\\x78\\x02\\xd3\\x72\\x66\\xfc\\xec\\x81\\xdb\\x86\\xd6\\xcd\\x78\\x96\\x15\\xe2\\xc1\\x87\\xa1\\xb1\\xee\\xe2\\xee\\x52\\x09\\x68\\xa4\\xc8\\x5a\\x51\\xd8\\x6c\\xc8\\xee\\x49\\xec\\x8f\\x86\\xa6\\x8f\\x09\\x73\\x52\\xfa\\x8c\\x72\\x9f\\x3e\\x70\\x9f\\x1d\\xb4\\x56\\xc8\\x61\\x10\\x68\\xf6\\x18\\x1e\\x35\\x36\\x7c\\xab\\x4d\\x22\\x5f\\xf1\\xb5\\x77\\x70\\x48\\x18\\xb4\\xe7\\xd0\\xb0\\xe6\\xca\\x4e\\x9e\\xe1\\x37\\x0f\\xad\\x07\\x63\\x67\\xad\\x81\\x7f\\x9c\\xbd\\xfe\\xde\\xd0\\x03\\xf5\\xa0\\x7a\\xf8\\xd3\\x27\\xdd\\xc3\\xa6\\x4f\\xef\\x37\\xf9\\x99\\xa1\\x4b\\xe7\\x9e\\xbe\\xbe\\x92\\xa9\\xeb\\xb5\\x69\\xa0\\x77\\x82\\x6d\\x5a\\xfd\\xf3\\xab\\x3e\\x8c\\x63\\xcd\\x7b\\x67\\x3c\\xf9\\x43\\xd3\\xc5\\xa3\\x0d\\x2f\\x35\\x9a\\xd9\\x88\\xb5\\xa3\\x9b\\x5f\\x2d\\x9f\\x96\\xb8\\x6d\\xc2\\xc8\\x89\\x4b\\xc6\\x9c\\x98\\xd8\\xd0\\x70\\xf3\\xf8\\x8c\\xa5\\x24\\xbf\\xe2\\xd3\\x56\\x40\\xe2\\x99\\x70\\x9d\\x2d\\xb5\\x9e\\xd3\\x71\\xc8\\xce\\xd1\\x69\\x3a\\x44\\xef\\x14\\x04\\x52\\x96\\x79\\x7b\\x92\\x67\\x91\\x71\\xbc\\x22\\xea\\xf0\\x30\\xf7\\xf9\\xc0\\xa5\\x16\\x40\\x57\\x4e\\x9f\\x6f\\x37\\x6d\\xd2\\xea\\xf3\\x0b\\x5b\\xbe\\xb1\\xb2\\x47\\x76\\xae\\x7e\\xf0\\x59\\xdd\\xa8\\x98\\x59\\x39\\xd1\\x31\\x59\\xd1\\x59\\x69\\xeb\\x70\\xdc\\x52\\x6b\\x38\\x89\\x5b\\xd2\\xe2\\xfe\\xb4\\x9c\\x86\\x2b\\xf7\\x85\\x6b\\xf4\\xb8\\xbf\\x72\\x1f\\xad\\xfc\\xeb\\xfe\\xc4\\x71\\xb8\\xcc\\x00\\xee\\x6d\\x55\\xa0\\x32\\x35\\xb8\\xb9\\x60\\x76\\xee\\x26\\x95\\xb9\\xd1\\xdf\\x64\\x61\\x4e\\xe0\\x0a\\xd5\\x55\\x83\\x7b\\xac\\x8c\\x36\\xc7\\x65\\x0d\\x5f\\x19\\x82\\x55\\x3d\\x2e\\xa8\\x8b\\x6d\\xa7\\xa4\\x04\\xb7\\x82\\x56\\x77\\xd4\\xc5\\x6e\\x05\\xfd\\xf5\\xdb\\x79\\xc9\\xde\\xa5\\x0d\\x8f\\xa8\\x38\\x14\\x7f\\x96\\x9a\\x0b\\x66\\x0b\\xf8\\xb3\\xc5\\x21\\xf8\\xb3\\x6d\\x98\\x3c\\x44\\x9f\\x20\\x7e\\xd4\\xcc\\x8e\\x3e\\xda\\x98\\x50\\x1f\\x2d\\xd1\\x29\\x44\\x75\\x01\\x1f\\x4f\\xd0\\x27\\x5e\\x0e\\x4c\\x88\\x8b\\xa9\\xd9\\x38\\xec\\xa3\\x8d\\xf3\\xca\\x54\\xe8\\x87\\x44\\x5a\\x12\\x87\\x3d\\xa9\\x49\\x02\\x36\\x4a\\xc7\\x3e\\xfe\\x0c\\xfa\\x6a\\x13\\xda\\xe9\\x3e\\x0b\\x89\\xfc\\xe7\\x7d\\x48\\xbb\\x84\\xf7\\x0f\\x00\\xbd\\xf1\\xfb\\x99\\x5c\\xfc\\xfe\\x5c\\xfc\\xfe\\x5c\\xfc\\xfe\\xdc\\x87\\xde\\x4f\\xe6\\x2d\\xb3\\xfd\\xbc\\x45\\x75\\xd4\\x89\\x6e\\x05\\xef\\x17\\x84\\x79\\x73\\xb4\\xbb\\xa3\\x08\\xa1\\xb1\\xcd\\x9f\\x1c\\xd5\\x5e\\x3f\\x6b\\x9b\\x03\\x7a\\x7b\\xc0\\xeb\\xcb\\xcf\\x01\\xe3\\xc4\\x34\\x3a\\x31\\x8d\\x4e\\x4c\\xa3\\x33\\x94\\x46\\x1e\\xfb\\xa4\\x2e\\x80\\x7d\\x22\\xb4\\xc2\\x48\\x9e\\x1d\\xf1\\x53\\x2a\\x04\\xfc\\x94\\x36\\x0f\\x1a\\x30\\xa9\\x83\\xb2\\x2d\\x03\\x0e\\x62\\x66\\x90\\x9c\\xaf\\x48\\x2a\\xe9\\x14\\xa3\\xc7\\xdc\\x5b\\xe6\\x03\\x2a\\x19\\xc3\\x30\\x52\\x35\\x25\\xb5\\xa1\\x5f\\x9c\\xf1\\xc9\\xa5\\x56\\xa1\\x88\\x0d\\x3a\\xd2\\x46\\x3e\\xbd\\x23\\x84\\x23\\x23\\x86\\xec\\x01\\xda\\x76\\x3c\\x98\\x71\\xc2\\xef\\x4a\\xba\\x20\\xae\\xbb\\x67\\xd0\\x85\\xe4\\xab\\x55\\xfb\\xa7\\x81\\x84\\xb1\\x69\\x19\\xb1\\xc5\\x31\\x98\\xd3\\x96\\x71\\xb7\\xee\\xcf\\x30\\xf1\\xcc\\xf5\\xc5\\x59\\x67\\x07\\x72\\x7f\\xfc\\xb9\\x3b\\xc0\\x51\\x7b\\xf2\\x7c\\xc6\\x85\\xe4\\x0c\\xc6\\x9a\\x4b\\xa1\\x3a\\x51\\xa5\\x17\\x12\\xe2\\x5d\\x71\\xae\\x30\\x57\\x2e\\xa6\\x2e\\xdc\\xe7\\xb2\\x1a\\x98\\x72\\x9f\\x41\\x65\\xcf\\xc0\\xdf\\x15\\x3e\\xad\\xc6\\x1a\\xa6\\x51\\xd8\\xed\\x61\\x0a\\x65\\x98\\x9e\\xf8\\x25\\x48\\x96\\xae\\xe0\\x1f\\x0e\\x4a\\x1b\\xd5\\x8d\\x4c\\x01\\x4f\\xbe\\x23\\x30\\x1d\\x92\\x32\\x48\\x42\\x77\\x18\\x90\\x36\\x87\\x8c\\x28\\x28\\x54\\x5e\\xce\\xee\\x3a\\x68\\x79\\x54\\x1b\\x54\\x1d\\x5d\\xbc\\xbe\\xa6\\x76\\x34\\xd0\\x36\\x96\\x74\\xa9\\x9b\\x5e\\xb6\\xdb\\x87\\x87\\xb9\\x7d\\x61\\xb3\\xf6\\xdb\\xb4\\x8c\\xdc\\x41\\x64\\x94\\x4c\\x49\\x51\\xee\\xf1\\x7d\\xa1\\xc8\\x75\\x53\\x86\\x8d\\xab\\xeb\\x35\\xc6\\x3f\\xd9\\x34\\x61\\x44\\xcd\\xaa\\x4a\\x34\\xf6\\x23\\x23\\xe8\\x7b\\xa3\\x5a\\x6a\\x62\\xb3\\x33\\x42\\xc6\\x9e\\xd4\\xfa\\x1d\\x9b\\xc5\\x0d\\x20\\x39\\x4b\\x9d\\x2e\\x98\\xd5\\x1a\\x35\\xe2\\x0d\\x78\\x21\\xbc\\x4a\\x5f\\x38\\x45\\xd3\\x12\\x83\\x4e\\xa3\\x94\\xcb\\x0c\\x12\\x17\\xb9\\x45\\x94\\x04\\xeb\\xcd\\xdc\\x70\\x93\\x24\\xb9\\x40\\x8e\\x46\\xc7\\x01\\x05\\x21\\x9b\\xda\\x2f\\x15\\x2d\\x2b\\x29\\x9a\\x38\\xbd\\x7c\\x77\\xd5\\x8b\\x68\\x04\\x3b\\x16\\x4e\\x3d\\x6c\\x3d\\x3a\\xb5\\x21\\x07\\x9c\\xb4\\xc2\\xf2\\x49\\x68\\xc9\\xbc\\x31\\x5c\\x76\\x6a\\x7e\\x19\\x78\\xd7\\x54\\x3b\\x62\\xc8\\xca\\x0a\\x44\\xf4\\x33\\xc3\\xe8\\x22\\x21\\x10\\x7e\\x00\\x5e\\x36\\x47\\x64\\x4e\\x6e\\x4f\\x24\\x07\\xa3\\xd0\\x7e\\x3e\\x81\\xf6\\x52\\x38\\x95\\x46\\x75\\xa6\\xfa\\x7a\\x9d\\x51\\x54\\x9a\\x4c\\x1d\\xe3\\xb4\\xdb\\x6c\\x4e\\x35\\xa3\\x88\\xc8\\x0c\\x8b\\x08\\x2b\\xf7\\xc5\\x46\\xa8\\x72\\x69\\x2d\\x5d\\xee\\x4b\\xd1\\x1a\\x14\\x2a\\x32\\x02\\x45\\x68\\xc9\\xdb\\x80\\x07\\x95\\xc4\\xb7\\xe2\\x3f\\x24\\x20\\x4a\\x1b\\xea\\xd8\\xc3\\x60\\x1c\\x42\\xb9\\xdb\\x10\\x0f\\x20\\x1f\\x86\\xa4\\xe7\\x53\\x68\\x48\\xa5\\x5c\\x01\\x01\\xee\\xf6\\xa0\\x3e\\xf3\\x7a\\xd7\\x95\\x4d\\x2d\\x00\\x9b\\x1d\\x2b\\xc4\\x2a\\xa6\\xfa\\xe9\\x81\\x43\\xc7\\x9c\\x9f\\xd3\\xcb\\xa7\\xa6\\xb9\\x91\\x7b\\xfa\\x38\\x03\\xbf\\xd8\\x1c\\x0d\\x76\\x91\\x47\\xfb\\x4e\\x29\\x04\\x3d\\xdf\\xda\\x07\\xe2\\x0f\\x7f\\x7a\\x08\\xbe\\x02\\x8f\\xac\\x2f\\xea\\xbb\\xff\\x85\\xa3\\xf7\\xc0\\xf0\\xab\\xdd\\x2a\\xec\\xe0\\x57\\x38\\x6f\\x17\\xfe\\x0a\\xf7\\x5e\\xdd\\x4f\\x8f\\x7e\\x6b\\x1f\\xfc\\xf0\\xf0\\xa7\\x7b\\x41\\x37\\xe2\\x8f\\xa5\\xec\\xb0\\x9a\\x7d\\x16\\xed\\x5b\\x7e\\x0e\\xbc\\xde\\x68\\x3a\\x37\\x25\\xb7\\xdc\\xa7\\x4d\\x51\\x85\\x65\\xc6\\x66\\x96\\xfb\\x6c\\x76\\x67\\x8c\\x5a\\x96\\x96\\x16\\x63\\x67\\xe4\\x11\\xb1\\x06\\x87\\x45\\x8e\\x43\\x0e\\x91\\xc6\\x88\\x47\\x4b\\x86\\x1b\\x32\\x07\\x42\\xc1\\xdf\\x00\\x90\\x9d\\x27\\x10\\x6a\\xc5\\x8f\\x91\\x2f\\x77\\xa9\\x0d\\x9d\\x09\\x23\\x08\\x99\\x26\\x96\\x0a\\x8c\\x1b\\x4e\\x0c\\x1d\\x77\\xd9\\x00\\x35\\x2d\\x1f\\xb6\\xa7\\x7f\\xc8\\xb8\\xe1\\xe8\\xc0\\xb8\\xe9\\x5f\\xf8\\x01\\x1d\\x02\\x9d\\x41\\x95\\x30\\x6e\\x34\\xd0\\xee\\xfd\\x7a\\xc2\\x48\\xb0\\x63\\x97\\x30\\x0d\\xfb\\xfd\\xbb\\xf8\\xe9\\xd9\\x0b\\x5f\\xe4\\xfd\\xd0\\x8b\\x5a\\xd7\\x70\\x4d\\x68\\xed\\xe5\\x94\\x8e\\x32\\x52\\xe9\\x5e\\x93\\x41\\xa1\\xa0\\x87\\xfb\\xf4\\x12\\xb1\\x42\\x21\\x12\\x8b\\x35\\x23\\x7c\\x52\\x31\\xc3\\xf2\\xb7\\xf7\\x37\\x04\\x4d\\x8f\\xe8\\x7f\\xfc\\x38\\x1d\\x8c\\x03\\x38\\x3d\\x48\\x33\\x35\\x02\\x37\\xc0\\xe1\\xd3\\x69\\x40\\x01\\x8c\\x62\\x07\\xb3\\xd7\\x0b\\x27\\xc1\\xca\\x7d\\x63\\xfa\\x30\\xec\\xdf\\x12\\x40\\xd1\\x3e\\xe8\\x39\\xea\\xb7\\xa4\\x82\\x51\\x72\\x53\\x6a\\xaf\\x73\\x7f\\xa3\\x5a\\xc1\\x42\\xa8\\x98\\xc9\\x75\\xff\\x09\\xcc\\xf6\\xff\\xd0\\xd2\\x93\\xd6\\x82\\x9d\\xd5\\xc7\\x6b\\xd6\\x5c\\x69\\xc1\\x3e\\xcc\\x03\\xad\\x8f\\x71\\xa3\\x84\\x9c\\xac\\x6e\\xde\\x68\\x75\\x58\\x58\\x94\\x52\\x66\\xa3\\x1d\\x62\\x96\\xb3\\xc8\\x38\\x19\\xa7\\xb4\\x58\\x9c\\x38\\xac\\x84\\xd5\\x2a\\x95\\xd2\\x20\\x9e\\x8a\\xea\\x7a\\x40\\x11\\x25\\x37\\x66\\xc6\\xb6\\xc8\\x1d\\x37\\x83\\x63\\xbc\\x49\\x49\\x0f\\x02\\x5c\\x12\\x27\\x26\\xce\\x3e\\x1e\\xbc\\x44\\x28\\xd8\\xa5\\x00\\x34\\xfb\\xd2\\xbe\\x2f\\x12\\xb5\\x67\\x39\\xa9\\xbf\\xa1\\x70\\x33\\x0f\\x5e\\x72\\xbd\\xfe\\xc4\\x3e\\xc0\\x64\\x61\\x04\\x93\\x9d\\xa3\\xfd\\x5a\\x96\\x9e\\x51\\x38\\x16\\x03\\x97\\x70\\xb7\\xe0\\x97\\xdd\\x47\\x16\\x46\\x47\\xb6\\xfc\\x7d\\x24\\x01\\x30\\x19\\xf3\\x37\\x50\\x58\\xbf\\x83\\x80\\x98\\xf4\\x6a\\x39\\x93\\x18\\xc3\\x48\\x0a\\x08\\x80\\x09\\xf1\\xc9\\x3e\\x87\\xd4\\x72\\x05\\xc1\\x69\\x4a\\xa4\\xca\\xbc\\xf1\\x66\\xab\\x51\\xa6\\x97\\x55\\xf8\\x22\\x9c\\xe1\\x9c\\x53\\xaf\\xe6\\xc2\\x68\\x75\\x98\\x3a\\x4c\\x4f\\xeb\\x15\\x58\\x07\\x63\\xa8\\x18\\x9a\\x8a\\x0d\\x80\\x99\\xa4\\x92\\x08\\x99\\xf6\\x89\\x48\\x6d\\x9b\\x8d\\x64\\xef\\x6b\\xdd\\xc0\\xa0\\x17\\x67\\xf3\\x25\\x4b\\x84\\x40\\xe0\\x38\\x10\\x18\\x61\\x60\\x78\\x34\\xc3\\x14\\x16\\xf8\\x9b\\xd1\\xd9\\xbf\\x9a\\x08\\x23\\xb3\\x2a\\x02\\x68\\x26\\x53\\x06\\xc3\\xaf\\x9b\\x81\\x77\\x62\\xe5\\x81\\x6f\\xe0\\xc7\\x06\\xf0\\x46\\x74\\x22\\x46\\x3b\\x61\\xcb\\xe4\\x60\\x35\\xec\\x55\\x75\\x46\\x21\\xee\\x9b\\xee\\x57\\x5b\\x08\\xb2\\x49\\x14\\x2c\\x05\\xbf\\x8e\\xba\\x4e\\xe0\\x4d\\xfc\\xb1\\xfd\\x73\\xe8\\x5b\\x61\\x65\\xbb\\x70\\xd5\\xf7\\x29\\x41\\x4c\\xdb\\x18\\xaf\\x46\\x4a\\x33\\x38\\x0b\\x8d\\xc1\\xb8\\xbe\\xa1\\x88\\xb6\\x6d\\x88\\x03\\xa1\\x18\\x74\\x0e\\xf1\\xd2\\x59\\xab\\xec\\xab\\x66\\x5c\\x99\\x01\\x9e\\xb0\\xc3\\x49\\x55\\xf4\\x1e\\x3b\\x3d\\x64\\x27\\xdd\\xd7\\x7f\\x66\\x27\\xf4\\xee\\x0c\\xd9\\x0b\\x2a\\xa4\\x79\\x39\\x91\\xe6\\x45\\x91\\x5c\\x07\\x16\\xb1\\x25\\x99\\x94\\x11\\x61\\xc0\\xe8\\xeb\\x84\\x7d\\x92\\xfd\\xe8\\xc6\\xf2\\x0d\\x87\\xf1\\x3b\\x41\\xb0\\x7a\\x01\\xe7\\x71\\xb2\\x0d\\xb0\\x6e\\xf9\\x8b\\xbd\\xe0\\x88\\x7d\\xf4\\xec\\x89\\xb0\\xbb\\x9d\\xa9\\x9b\\xb4\\x6f\\x52\\xbc\\x1d\\x1a\\x5e\\xde\\xc8\\x1e\\x81\\x12\\x7f\\x19\\x98\\xe7\\x6f\\x61\\xe4\\xb4\\x6b\\xe7\\xe3\\x8f\\xef\\xfc\\xe9\\x27\\x62\\x9b\\xd5\\x22\\x39\\x56\\xcc\\x96\\x22\\x29\\xe6\\xf5\\xea\\xec\\x99\\xa9\\x66\\xf4\\x87\\x49\\x4c\\x4c\\x2f\\xf7\\x25\\xaa\\xb8\\x70\\x89\\x52\\xc2\\x03\\xcf\\x28\\x19\\x82\\x02\\x62\\x08\\x05\\x9e\\x09\\x29\\x36\\x44\\x72\\x7c\\x01\\x8e\\x05\\x8d\\x33\\xe2\\x50\\x50\\x21\\x47\\x2c\\x8e\\xc4\\x83\\x92\\xe8\\xd0\\xa8\\xec\\xac\\x54\\x3a\\x2e\\x95\\xe6\\xcb\\x2f\\xe3\\xb8\\xff\\x28\\xbd\\xce\\x4e\\x1b\\xed\\x34\\xf3\\x1b\\xfc\\xf9\\xc7\\xe8\\xa2\\xed\\x06\\xaf\\xc5\\x5b\\xd8\\xbb\\x68\\x6a\\x6e\\x9f\\xb9\\x59\\x39\\x53\\xdc\\x9a\\xf8\\xf0\\x2d\\x71\\x8f\\x35\\x80\\xe4\\x84\\xde\\xe3\\xbb\\xce\\x9b\\x5d\\x78\\xff\\x8b\\x33\\xcf\\x83\\x83\\xec\\x27\\xf0\\x97\\xb8\\xee\\xc3\\x73\\xd7\\xce\\x2a\\x02\\xc3\\x8f\\xbd\\x2a\\xbd\\x6b\\x33\\x75\\x9d\\xd6\\x39\\xb1\\xa4\\xa2\\x72\\xff\\x00\\x7b\\x81\\xa5\\xaa\\x2a\\xff\\x5a\\x7c\\x76\\xac\\x4d\\xed\\x28\\x1a\\x56\\xb4\\xff\\xb9\\x85\\xab\\x75\\x9b\\x8f\\xb9\\xd2\\x9d\\x16\\x65\\x6c\\xf1\\x18\\xde\\x16\\x2d\\x44\\xe3\\x9d\\x41\\x62\\x6f\\xdd\\x5e\\x99\\x2d\\xc2\\x12\\x51\\xee\\xb3\\x28\\xa5\\x61\\x8a\\x30\\x5e\\x74\\x2b\\x8c\\x26\\xc4\\x1e\\x70\\xc4\\x94\\xa0\\xea\\xb6\\x81\\xec\\x90\\x6b\\x9d\\x4c\\x3b\\x88\\x04\\x6d\\x23\\x4c\\x45\\x7c\\x20\\x15\\x99\\xf6\\xc2\\x4d\\x4e\\x6c\\xd7\\xbe\\x79\\x39\\x4d\\xc6\\xe4\\xa8\\xec\\x12\\x34\\x90\\xbc\\xf4\\x92\\xbc\\xb4\\xb9\\x36\\x6f\\xe9\\x4e\\x0b\\x93\\xe1\\x7f\\xc2\\xc2\\xe4\\x46\\xac\\xd6\\xa7\\x54\\xdc\\x74\\x5a\\x8b\\xa7\\x75\\x49\\xb7\\x65\\x97\\xbe\\x9c\\x12\\xb9\\x9a\\x89\\x59\\xbd\\x52\\xc8\\xe3\\x60\\xf7\\x21\\x1b\\xcd\\x88\\xf1\\x92\\x19\\xc3\\x08\\x1f\\xc0\\x25\\x3c\\x18\\x25\\xa5\\x0c\\x1b\\xe1\\x53\\xf2\\x81\\xa6\\x21\\xd3\\x8d\\x41\\x62\\xb4\\x38\\xd3\\x32\\x9b\\x47\\x53\\x12\\x1c\\x23\\x34\\x2b\\x66\\xc0\\x80\\xda\\xf4\\x3e\\xef\\x7f\\x00\\x3f\\x5a\\x7a\\x25\\xf3\\x44\\x31\\x48\\xb9\\xfb\\xc9\\xe7\\x9b\\xe1\\xcf\\xcf\\xf6\\xa6\\x4d\\x0a\\x40\\x7d\\x0b\\xf4\\x33\\x1f\\xb3\\x1d\\x3c\\xf7\\xf6\\x2b\\xe7\\xe0\\xc7\\xfb\\xc5\\x70\\x29\\xee\\xfb\\x37\\xd4\\x77\\x0a\\x92\\x09\\x3a\\xca\\xe4\\x0d\\x97\\x48\\xe4\\x94\\x5e\\x2e\\xc6\\xa1\\xb5\\xc1\\x0d\\x8d\\x3b\\x13\\xb2\\xe6\\x42\\x6a\\x2f\\x33\\xe0\\xd9\\x01\\x47\\x6f\\x0c\\x1d\\xff\\x42\\xf1\\x79\\xcf\\x1f\\xfb\\x8f\\x5d\\x7c\\xe7\\x72\\x57\\x70\\xf2\\xf2\\xce\\xa1\\x43\\xae\\x2b\\x36\\x1f\\xdf\\xbf\\xf5\\xd4\\x9f\\xa9\\xf0\\x06\\xe1\\xbd\\x7f\\x08\\x18\\x67\\x6a\\xca\\x4a\\xb9\\x70\\x5c\\x80\\x19\\xc9\\xf6\\x91\\x3e\\x83\\x58\\x19\\xad\\x8f\\xd6\\xa3\\x43\\x14\\x2d\\x8e\\x66\\x25\\x12\\x07\\x06\\x73\\x61\\x23\\x42\\x91\\xce\\x02\\xd7\\x19\\xbc\\x91\\x26\\x88\\x1c\\x82\\x76\\x16\\x28\\x2f\\x19\\xc0\\x39\\xc3\\x31\\xe3\\x62\\xc7\\x43\\x58\\x67\\xf1\\xde\\xc5\\x11\\x8b\\x8f\\x81\\x9d\\xe0\\xe2\\x99\\x5d\\x1b\\x9f\\x78\\x09\\xbe\\xda\\xe2\\x00\\xa3\\x22\\xe0\\x53\\xd1\\x40\\x0a\\x56\\xc4\\x3c\\xbe\\xec\\x93\\xfe\\xff\\xe4\\xf1\\xce\\x40\\xc9\\x32\\xa6\\x01\\xfe\\xbc\\xf2\\xd5\\x28\\xf5\\xe6\\xfa\\xab\\x47\\x97\\x9d\\x08\\x60\\x9d\\x21\\x7d\\xc7\\x80\\xf4\\x86\\xef\\x48\\x8e\\xbb\\x83\\x4a\\xf4\\xea\\x19\\xab\\x42\\xa9\\xc0\\x69\\x3e\\x4a\\xa5\\x58\\xaf\\x66\\xc4\\xc6\\xb6\\x48\\x06\\x82\\x37\\xe2\\x16\\x8e\\x28\\x09\\x60\\x20\\xc9\\x5c\\x71\\x42\\x44\\x34\\xb9\\xfb\\x02\\x24\\x78\\x81\\x98\\x90\\xec\\xb8\\x65\\xf6\\x65\\xfa\\x6c\\xf8\\x63\\xcb\\xcd\\x8b\\x40\\x6b\\x5a\\x62\\x5f\\x32\\xf3\\xca\\x4c\\x3a\\x73\\xe6\\x8b\\x7e\\xf7\\x9e\\xbd\\x49\\x6a\\xff\\x9b\\x36\\xe9\\x38\\xfa\\x87\\x6d\\x75\\xf0\\x3f\\xbf\\xec\\x38\\x58\\x3a\\x62\\xfe\\x36\\xba\\xda\\x7f\\x98\\xae\\x7e\\xd0\\x6d\\xdf\\xfb\\x03\\x9f\\xf4\\xd9\\xc7\\xf9\\xf8\\xb8\\xa7\\xbd\\x68\\x7e\\x7d\\x24\\x87\\xb2\\x2f\\x91\\xf1\\x79\\xad\\x51\\x5c\\x38\\x89\\x25\\x36\\x52\\x16\\x24\\x59\\x1c\\x62\\x8e\\x66\\x55\\x16\\x9d\\x65\\xb8\\x4f\\xae\\xd3\\xb1\\x9c\\xcc\\xc8\\x21\\x9a\\x25\\x1c\\xa3\\x36\\xb1\\x26\\x9c\\x29\\xd4\\x16\\xf6\\xea\\x6e\\x8f\\x4f\\x81\\x74\\x52\\xd5\\x0d\\xb4\\xfa\\x62\\x2c\\xfb\\x84\\x02\\x0a\\x38\\x18\\x10\\xdf\\x59\\xa2\\x1f\\x0c\\x4e\\xe8\\x9e\\xb4\\x76\\xdd\\xda\\x03\\x40\\x44\\x7f\\x3b\\xa0\\x79\\x40\\xa4\\x7d\\x14\\xfc\\xe3\\x63\\x3b\\xfc\\x27\\xfc\\x94\\xee\\x6d\\xf7\\x6f\\x06\\x99\\x20\\x0c\\x9a\\x5e\\x4f\\x00\\x51\\x3f\\x7d\\xfa\\x29\\xd7\\x1d\\xb1\\x1d\\x38\\x78\\x3b\\x74\\xef\\x64\\x18\\x70\\xf0\\xc1\\x2f\\xe0\\x36\\xb9\\x0f\\x6a\\x7d\\x11\\x56\\x73\\x5a\\x22\\x37\\xe2\\x90\\x3e\\x9d\\x49\\xf5\\xf3\\x26\\x98\\xa9\\xf4\\x58\\x87\\xc1\\x81\\x0b\\x2f\\x51\\xc9\\x31\\xc9\\xe5\\xbe\\x8c\\x18\\x11\\xfa\\x23\\xb5\\x18\\x54\\x0a\\x8b\\x4c\\x9a\\x08\\x18\\x29\\x52\\xb1\\x95\\x52\\xe1\\x0e\\xc7\\x4d\\x6e\\xb6\\x05\\x34\\xf1\\xd0\\xe0\\x68\\x5e\\x78\\x30\\x8f\\x92\\x18\\x58\\x26\\x62\\x91\\x82\\xf1\\x78\\x31\\x04\\xaf\\x36\\x16\\xc9\\x10\\xad\\x53\\x04\\xb2\\xe2\\xc4\\x6e\\x7a\\xf7\\xf7\\x19\\xb9\\xe3\\x9e\\x4d\\xdc\\xdc\\x1d\\xfa\\xf7\\x0f\\x29\\x81\\x3f\\xad\\x03\\x59\\x0b\\xcb\\xf7\\x7c\\xb6\\x7e\\x78\\x29\\xe0\\x9a\\xe1\\xfb\\x53\\xf4\\x2c\\x5c\\xb4\\xec\\x4a\\x34\\x50\\xbe\\x92\\x0a\\xd3\\xe3\\x9f\\x7b\\x57\\x4e\\xcf\\xb6\\xaf\\x3b\\x02\\x7e\\x87\\xeb\\xb4\\xd5\\x65\\x29\\xf3\\x97\\x1a\\xe0\\x20\\xf0\\xd9\\x98\\x77\\xe7\\x03\\xc7\\x3b\\xf5\\x66\\xf0\\x24\\x4c\\x1b\\xf1\\x5a\\x4d\\xad\\x09\\xdc\\x3d\\xb9\\x15\\xb8\\xf5\\xfe\\x73\\xe3\\x0b\\x81\\xa3\\x3b\\x30\\x0e\\xee\\xf2\\x0f\\x74\\xfe\\x30\\x3e\\xfe\\x0a\\xb4\\xbf\\x2c\\x54\\x8e\\xd7\\x22\\x93\\x89\\x23\\x18\\x92\\x9b\\x40\\x19\\x0c\\xe2\\x88\\x08\\xf3\\x70\\x5f\\x04\\x23\\x56\\x75\\x88\\x96\\x11\\xd6\\x27\\x00\\x9f\\x15\\x0c\\x95\\xe9\\x0a\\x3c\\x62\\x1d\\x9f\\x69\\x25\\x80\\x1f\\xb1\\xf4\\x72\\xdb\\xe3\\xd1\\x89\\x2d\\x57\\x9e\\x39\\xf4\\x32\\xf0\\x55\\x4f\\x58\\x1e\\xe1\\x84\\x7f\\xda\\x80\\xb8\\x0a\\xde\\xb4\\x83\\xff\\xd0\\x3f\\x6c\\x3d\\x75\\xf7\\xab\\x93\\xcf\\x49\\x22\\xcd\\xb5\\x33\\xd7\\xad\\x3a\\xb7\\x15\\x5c\\xde\\x49\\x64\\x39\\x8e\\x3b\\x18\\x88\\xd6\\xc4\\x84\\xce\\x6c\\x9e\\xd7\\x1c\\x61\\xae\\xac\\x89\\xa0\\x18\\x8d\\x56\\x83\\x24\\xb6\\x56\\x2b\\x36\\x1a\\x0d\\x88\\x49\\x2a\\xc5\\x72\\xa2\\x1f\\x8b\\xad\\x0f\\x93\\xc6\\x63\\x6c\\x93\\x44\\xce\\xd0\\x3a\\x02\\x41\\xa0\\x7b\\xb7\\x98\\xa9\\x04\\x74\\x04\\x6c\\x1d\\x13\\x03\\x7f\\x7b\\xb3\\x6c\\x77\\x92\\x65\\xdd\\xfc\\xc5\\x4f\\x1b\\x46\\xc3\\xe5\\x11\\x60\\x6e\\x01\\xac\\xb5\\xd2\\xa5\\x7b\\x62\\x5f\\x8b\\xa5\\x6b\\x97\\x41\\xea\\xf2\\xdb\\x66\\xcd\\x9a\\xe8\\x65\\xb3\\x81\\x7f\\x19\\x28\\x6a\\xbe\\xcb\\xc7\\x34\\xd2\\xc8\\xc6\\xaf\\x62\\xbf\\xe4\\x06\\x53\\x76\\x92\\x95\\x6d\\x56\\x44\\xa8\\x2c\\x8c\\x29\\x76\\xb8\\xcf\\xc4\\x8a\\x18\\x09\\x83\\x76\\xb8\\x4a\\x85\\x78\\x8a\\x4a\\xdb\\x1e\\x2d\\x8d\\x12\\x50\\x49\\x38\\xfe\\x7a\\x5a\\x4c\\xca\\x24\\x06\\xf2\\x6c\\x85\\x02\\x69\\x6e\\x8c\\xf9\\xe0\\xe0\\x01\\xa7\\x31\\xca\\xd6\\xcb\\x0e\\x8f\\xae\\x40\\x13\\x99\\xdf\\xf7\\x6f\\x52\\xd7\\xbc\\x95\\x3c\\xd4\\xdb\\x29\\xdf\\xc6\\x48\\xf8\\x99\\xc8\\x3f\\x0f\\x48\\x77\\x4c\\xde\\xeb\\x39\\x86\\xf5\\xa5\\xe3\\x31\\xd9\\x12\\x6e\\x9f\\xe2\\x5a\\x42\\xd6\\x95\\xde\\x02\\xd6\\x5b\\x4d\\x9f\\xfb\\xdd\\xa2\\x69\\x1f\\xbc\\x36\\x9b\\xe9\\xbc\\x3c\\xa8\\x2b\\x51\\x53\\x11\\xed\\x4b\\xd9\\xde\\x88\\x1f\\xba\\xa9\\x4c\\xaf\\x25\\xca\\x52\\xe1\\x8b\\xb2\\x52\\x40\\xa9\\x00\\x0a\\x56\\xa3\\x0c\\x4f\\xc0\\x11\\x46\\x6c\\x7a\\x5b\\x32\\x7e\\xbb\\x8c\\x4c\\x5c\\x04\\xbc\\x3d\\x3a\\x58\\x3e\\x51\\xbe\\x43\\x6f\\x25\\xf1\\x98\\xda\\x23\\x27\\x32\\x36\\xba\\xcf\\xa9\\xb9\\x4f\\x6d\\x31\\x4d\\x06\\x8f\\x37\\xad\\xb4\\xd3\\x72\\x2b\\x7b\\xc2\\x10\\x77\\x06\\x9d\\xed\\xf8\\xf4\\xc8\\xec\\xde\\xb7\\xa5\\xd1\\xb3\\x26\\xce\\x9c\\xb5\\xdd\\x57\\x33\\x76\\xd1\\xa1\\x91\\xe7\\x27\\x8f\\x3a\\x7c\\x04\\xc3\\x85\\x0d\\x1e\\x56\\x38\\x4a\\x54\\x7a\\xa7\\xa5\\x3e\\x3a\\xc2\\x99\\x2d\\xdb\\x27\\x7b\\x35\\x29\\xe7\\x34\\xbd\\x7f\\xde\\xac\\xa7\\xe0\\xf1\\x45\\x33\\xa6\\xef\\x21\\xb0\\xe0\\x68\\x3c\\x62\\x7c\\x2f\\x42\\xf0\\x9f\\x22\\xa8\\x24\\xaf\\xd1\\xa8\\x1e\\xe9\\xa3\\x45\\x18\\x69\\xcd\\x28\\x16\\x4b\\x10\\x87\\x91\\x18\\x08\\x54\\x57\\x7b\\x54\\x26\\x2c\\xc5\\x98\\x20\\x62\\xf0\\x43\\xa9\\xfa\\x03\\xe0\\x8f\\x53\\xaf\\x4c\\xdd\\x67\\xdb\\x37\\x07\\x7c\\xf6\\xf6\\xed\\xda\\xab\\x8d\\xc0\\x9a\\x1d\\xcc\\xd5\\xa7\\x0b\\xfc\\x2f\\xd3\\x05\\x5b\\xe8\\xa9\\x42\\xae\\xfe\\x33\\xcc\\x1f\\x81\\x5c\\xfd\\xdd\\x88\\x96\\x85\\x48\\x9e\\xe1\\x8a\\xe0\\x52\\x2b\\x5d\\xe1\\xb3\\xaa\\xc2\\x64\\x72\\x19\\x6f\\x8c\\x73\\x72\\x93\\xd1\\xa8\\x91\\xcb\\xa5\\x1a\\xa5\\x34\\x68\\x8c\\xb7\\xa9\\x9a\\x78\\xd3\\x12\\xe3\\x13\\xef\\x5c\\x42\\x58\\x3e\\xc8\\x8e\\x73\\x63\\x0f\\x97\\x3b\\x9f\\x46\\x7b\\x83\\x1d\\x36\\x71\\xec\\xd2\\x7b\\xb9\\x60\\x9a\\x15\\x36\\x0d\\x3b\\x3b\\x6c\\xbe\\x75\\x81\\x49\\x4e\\x3f\\xc3\\x89\\xb8\\x5e\\xb3\\xd6\\x0f\\xa9\\x1d\\xc9\\x6c\\xd1\\x1e\\x5a\\xb5\\x11\\x46\\x80\\xaf\\x36\\x2e\\xd8\\x53\\x32\\x34\\xbe\\x5f\\xaf\\x4e\\xd3\\x6b\\xdd\\x6a\\x32\\x47\\x35\\xd8\\x27\\x42\\xe4\\xa0\\x0e\\xfb\\xe9\\x59\\xb1\\x0e\\x67\\xb4\\x8e\\xf0\\x29\\x28\\xb1\\x46\\x2a\\x15\\xa9\\x64\\x8c\\x88\\x14\\x06\\x21\\x46\\xb2\\x3b\\xc0\\xd7\\xf8\\xfa\\x30\\x58\\xdd\\x63\\x10\\x07\\x8e\\x73\\x1b\\xd1\\x4f\\x9c\\x64\\x36\\xeb\\x79\\x2b\\xfc\\x06\\xbe\\x35\\xed\\xf2\\xb4\\xbd\\xf0\\x7b\\xeb\\xc5\\xc9\\xaf\\x4f\\x00\\x17\\x5f\\x7f\\xcb\\xdf\\xfd\\x18\\x7c\\xc0\\xf6\\xde\\x08\\xd7\\xe3\\xe4\\x4d\\x30\\x75\\xe3\\x83\\x07\\x0f\\xfc\\xbb\\xde\\x27\\x67\\x1a\\xfb\\x5b\\x7e\\x21\\xb9\\x6e\\x51\\x94\\xe7\\x6c\\x24\\x3e\\xcd\\x7c\\xaa\\x3a\\x12\\x13\\x2a\\x96\\x41\\xc7\\xda\\xac\\x57\\x4a\\x65\\x62\\x59\\x39\\x7f\\xa2\\x03\\x15\\x6a\\x70\\xaa\\x59\\xa8\\x50\\x03\\x41\\x20\\x17\\xc4\\x66\\x18\\x27\\xae\\xb1\\xaf\\xc5\\x82\\x0d\\x1f\\x6f\\x0d\\xeb\\x38\\x6d\\xfb\\x09\\x6e\\x5e\\xf2\\xf5\\x8a\\x5e\\x19\\x11\\x31\\x69\\xfd\\xf6\\xf6\\xb6\\xae\\xff\\xd9\\x76\\xba\\xf2\\x72\\x6f\\x70\\xe1\\xb5\\xab\\xfe\\x0c\\x79\\xc6\\x49\\x78\\xa5\\x0f\\xfd\\xe5\\x46\\xff\\xb3\\x5f\\x5d\\x0b\\x7f\\x5c\\x34\\x7b\\x71\\x06\\x5d\\xb2\\x11\\x0c\\x84\\xcf\\x80\\x81\\x2d\\x8d\\xb6\\xfe\\x20\\x09\\x1e\\xc0\\x31\\x63\\x88\\x27\\x4e\\x23\\xf5\\x52\\x3d\\x38\\x07\\x25\\x43\\xdf\\xdf\\x17\\x2e\\xb5\\x39\\xa4\\x5c\\x46\\x86\\x83\\x73\\x44\\xe0\\xcc\\x65\\x05\\x12\\x0b\\x0a\\x15\\x47\\xf5\\xf7\\x71\\xaa\\xd0\\x68\\xfb\\x20\\x0c\\x9a\\x1a\\x6f\\x30\\x6d\\x20\\xd5\\x56\\x27\\xb8\\x52\\xf4\\x48\\x02\\x8a\\x45\\xed\\xb0\\x0c\\x70\\x6c\\x0a\\x56\\x6f\\xb8\\x68\\x5c\\xdd\\x96\\xbf\\xc1\\x7f\\xc9\\x8a\\xaf\\xe2\\x2b\\xfb\\xb0\\xf8\\x2a\\x7e\\xf9\\x12\\xf8\\x2b\\xfc\\xe3\\x07\\xbd\\x6f\\xf8\\xac\\x06\\xeb\\x73\\x39\\x3f\\xbc\\xf0\\xda\\x1a\\xe9\\x60\\x49\\x2c\\x9d\\x3b\\xfc\\xd0\\x54\\x95\\xfa\\xc5\\x6b\\x07\\x4b\\x98\\x37\\xc4\\x53\\x55\\xbd\\xfa\\xdb\\xa2\\xe7\\xd6\\x2e\\x9b\\xf9\\xf6\\xfb\\x2c\\x3b\\xc5\\xd5\\xbf\\x0f\\x29\\x7f\\xba\\x7b\\x62\\x4a\\x36\\xb8\\x9b\\x14\\x95\\x16\\x27\\x1a\\xb2\\xad\\xd2\\xc7\\x32\\x2b\\x97\\x78\\xcb\\xa8\\x00\\x4e\\xe0\\x7c\\xc4\\x03\\x8c\\x54\\x2c\\xc9\\x88\\xa4\\x14\\x72\\x4a\\xae\\xd4\\xe9\\x91\\xb5\\x17\\x5d\\xee\\x93\\xaa\\x18\\x4b\\x87\\x38\\xa3\\x20\\x06\\xa8\\xab\\x03\\x36\\x60\\xbb\\xca\\x6d\\x21\\xe8\\x80\\xc6\\x76\\xd0\\x80\\xf6\\xb3\\x87\\x2c\\xd2\\x63\\x26\\xa8\\x0e\\x01\\x06\\x3c\\xde\\x06\\x0b\\x78\\xb8\\xe5\\x40\\xd3\\x50\\x36\\x69\\xd1\\xd3\\x1d\\x71\\x01\\x09\\x56\\x29\\x5b\\x8e\\xe8\\x74\\xe1\\xb3\\xad\\xb6\\x60\\x54\\x40\\x3e\\x20\\x52\\x22\\x53\\x4a\\xda\\xc3\\x74\\x85\\x30\\xa9\\x10\\x44\\x57\\xf7\\xff\\x17\\x9c\\xeb\\xa1\\xb3\\xb1\\xff\\x1d\\x4d\\xb7\\xe6\\xf4\\x5f\\xc2\\xb8\\x86\\x60\\xaa\\x46\\x53\\xe9\\x54\\xae\\xd7\\x66\\x30\\x86\\x4b\\x8d\\x52\\xb9\\x4d\\xaf\\x4b\\x29\\xf7\\xe9\\x0c\\xf2\\x58\\xac\\xd3\\xe2\\xd8\\xf6\\x0a\\xac\\x37\\x15\\x84\\xe6\\xf9\\x84\\xc2\\xab\\x06\\x92\\x92\\x45\\x8f\\x82\\x58\\xd5\\xe6\\x83\\xf6\\x28\\xab\\xf4\\x96\\x6e\\x7d\\xa2\\x72\\xba\\x17\\x56\\x28\\x8c\\x8e\\x47\\x02\\xad\\x5e\\xb6\\x9d\\x06\\x5b\\xdb\\xc6\\xc2\\xdd\\x52\\x1f\\xd4\\xf7\\xed\\xf9\\xd8\\x93\\x0f\\x81\\xad\\x32\\xaf\\x6c\\x78\\xd2\\xaf\\x6b\\x3f\\x28\\x40\\x8d\\xe1\\x63\\x8c\\x31\\x3a\\xb0\\x57\\xab\\xd1\\x18\\x59\\x96\\x32\\x1a\\x95\\x48\\xf6\\xaa\\xa8\\xb0\\x10\\x70\\x20\\xe1\\x9a\\x26\\x4f\\xc0\\xdb\\xf1\\x84\\xa6\\x9a\\xe3\\xab\\x00\\x9a\\x37\\x0f\\x14\\x00\\x7c\\x7e\\xee\\xf5\\xab\\x75\\xb3\\x97\\x1f\\x1f\\xc9\\x23\\x7d\\x46\\x6d\\x7e\\x6f\\x2e\\x41\\xfa\\xd4\\x3d\\xbb\\x45\\x21\\x1a\\x34\\x61\\x2d\\xc8\\x59\\x45\\x10\\x3e\\x47\\xec\\xf2\\xdd\\xb8\\xb2\\x08\\xfe\\xf3\\xdd\\x89\\x64\\x6e\\xcd\\xad\\x87\\xd8\\xe9\\x88\\x0e\\x27\\x95\\x86\\x91\\xda\\xc5\\x74\\x8a\\x2d\\xb1\\xdc\\x97\\x12\\x61\\x53\\xdb\\xd4\\x94\\x5c\\xae\\x27\\xf6\\x42\\x0c\\x92\\x57\\x98\\xa4\\x1b\\xed\\xb4\\xf7\\xa0\\xcd\\xca\\xf1\\x77\\x63\\xa4\\x10\\x29\\x5f\\x4e\\x3a\\x5b\\x88\\x76\\x35\\x0a\\x27\\x53\\x01\\xe2\\xc8\\x35\\x0c\\x26\\xda\\x0e\\xe8\\xc8\\xb3\\x53\\x53\\x7b\\xd7\\x55\\xe5\\xc4\\x6f\\x00\\xd1\\x57\\x11\\xdd\\x33\\x26\\xdf\\xba\\xc9\\xd6\\xdd\\x5f\\xf4\\x58\\xe3\\xec\\x4f\\x1f\\x1f\\xbf\\xbe\\xcf\\xc2\\xea\\x37\\xea\\x8c\\x53\\x74\\xfd\\x32\\x46\\xfb\\x26\\x76\\xae\\xd8\\xf2\\x11\\xc8\\x3b\\x76\\xec\\x49\\x85\\x68\\xc8\\x28\\x24\\x25\\xfe\\x9e\\x6f\\x1d\\x5c\\x57\\x33\\xa4\\x76\\xe7\\xa0\\xe5\\xa9\\x7d\\xd3\\xab\\x86\\x0d\\x8b\\x8c\\x0b\\xc8\\x5d\\x8c\\xcd\\xe9\\x40\\x7b\\x24\\xcf\\x6b\\xc7\\x50\\x15\\x15\\x3e\\x9b\\x15\\x31\\x68\\x5e\\xf6\\x86\\x87\\x27\\x13\\xd1\\x1b\\x82\\x83\\x13\\x0a\\xce\\x19\\xb0\\x03\\x1f\\x02\\xe7\\x74\\x83\\x76\\xb2\\x37\\x07\\x74\\x38\\x89\\xd6\\x0e\\x28\\x9d\\x55\\x67\\xe1\\xeb\\xe2\\x68\\x5e\\xf2\\xbe\\xaa\\x82\\xc5\\x8f\\x3e\\x92\\x8f\\x81\\x6b\\x7f\\xbe\\xec\\x34\\x13\\xc1\\xfb\\x4a\\xdc\\x48\\xf0\\x6c\\xfb\\xa3\\xc9\\xf3\\x10\\xee\\x22\\x77\\x8f\\xd4\\x4b\\x44\\xe3\\x51\\x28\\x6d\\x56\\xa5\\x35\\xdc\\x6c\\x4e\\x2a\\xf7\\x99\\x55\\x1a\\xb4\\x20\\x1a\\x43\\xb8\\xbe\\xe3\\xa6\\x7f\\x08\\x7b\\x19\\x04\\x90\\xd9\\x1e\\x59\\x22\\xb1\\x00\\x97\\x7b\\x6f\\x37\\x1c\\x2e\\xab\\xa8\\x30\\x2a\\xa7\\xf3\\x1c\\xdb\\x65\\xcc\\x50\\x3a\\x0c\\xcd\\xd1\\xc9\\xaf\\x0d\\x19\\x0e\\x77\\x4f\\x79\\x58\\xbf\\xa9\\xa5\\x33\\xe1\\x2d\\x21\\x43\\x3b\\x02\\xe2\\x1f\\x3c\\xf6\\xd0\\x78\\xc6\\xa3\\xfd\\x3e\\x18\\xed\\x33\\x3d\\xda\\xf1\\xf1\\x5e\\xbd\\x19\\x83\\x86\\x98\\xcd\\xe1\\x6c\\xb8\\x86\\x54\\x78\\x44\\x5a\\x27\\xab\\x6a\\xb7\\xe7\\xb1\\x29\\xac\\xe5\\xb1\\xb0\\xf8\\x84\\xf5\\x40\\x36\\xaa\\x87\\x09\\x14\\xd6\\x58\\xc8\\xe5\\x82\\xcc\\xef\\x5f\\xbc\\xf6\\x24\\xfc\\xd7\\xa5\\x83\\x77\\xb4\\x87\\xc2\\x56\\xd6\\xad\\x79\\xcd\\xf5\\xca\\xe3\\xcf\\x27\\xd2\\xbd\\xc2\\xe6\\x80\\xdf\\x4d\\xc0\\x04\\xe2\\xde\\x7d\\xe5\\x1e\\xbc\\x74\\xf4\\xf1\\x39\\x29\\xbd\\x87\\xdc\\xbe\\x00\\xee\\x1e\\xd9\\x9d\\x99\\x30\\x75\\x81\\xa0\\x67\\x0a\\x67\\xd0\\xcc\\xe3\\x83\\x9a\\x31\\x76\\xab\\xcc\\x6c\\xd6\\xc9\\x74\\x11\\x98\\xb1\\xc8\\x38\\x8c\\x34\\xf5\\x08\\x7c\\xd0\\x8e\\x61\\x0b\\xb8\\xf0\\x72\\x94\\x1a\\xe9\\x65\\x00\\x47\\x7a\\x8b\\x55\\xcc\\x06\\xf9\\x82\\x69\\xc4\\xc8\\x00\\xcc\\xfe\\xab\\xb7\\xb0\\x79\\x01\\x17\\xea\\x59\\xb0\\x78\\xd9\\x0b\\x31\\xfe\\x8b\\x2c\\x5d\\xd4\\x3d\\x6b\\xf1\\x2a\\x62\\x4d\\xdc\\x7c\\x61\\x3e\\xfc\\xe4\\x9d\\x7a\\x30\\x0f\\xd9\\x10\\x30\\xf5\\xf8\\xf6\\x92\\x56\\x4c\\x57\\x04\\xa2\\xeb\\x07\\x12\\xb7\\x90\\x84\\xac\\x3c\\xa7\\x4a\\x5f\\xe1\\x4b\\x30\\x87\\x9b\\xfb\\xfb\\x28\\x8d\\x4a\\xc6\\x85\\x4b\\x54\\xe1\\xaa\\x70\\x9b\\xc4\\x86\\xf8\\x9e\\xcd\\x20\\xa1\\xf1\\x15\\xf7\\xc3\\xf1\\xf6\\x79\\xea\\xbc\\x4c\\x41\\x15\\x03\\x59\\x81\\x20\\x86\\x28\\x2d\\x6f\\x45\\x20\\x93\\x89\\x84\\xb7\\x89\\x68\\x01\\x07\\xc5\\xc8\\x4b\\x4d\\x4e\\x44\\xff\\xf1\\x5a\\xcd\\xfa\\xf8\\xcd\\xdd\\xff\\xf5\\x24\\xa8\\x91\\x3d\\xc6\\x98\\x63\\x13\\x8a\\x2d\\x23\\x4b\\x7b\\xf4\\x03\\xda\\xed\\xdf\\xef\\x7a\\xe6\\xb4\\x6d\\xdb\\xd0\\xf1\\x4b\\xcf\\x44\\xfb\\xbf\\x0b\\xa3\\xdf\\xf9\\x75\\x60\\xff\\x94\\xa6\\x85\\x70\\x7f\\xc4\\x46\\x4f\\x41\\xfc\\x9a\\xce\\xf3\\x27\\xc6\\x5d\\x83\\xef\\x6e\\x3d\\x77\\x62\\xc2\\xea\\xcf\\xe6\\xce\\xfe\\xfa\\xdb\\x29\\x5e\\x72\\x5f\\xd4\\x80\\xc6\\x32\\x85\\x60\\xba\\x8d\\x23\\xdf\\xcb\\xd0\\xf7\\x1e\\xe4\\xfb\\xbf\\x08\\x1f\\x0c\\x6b\\xfd\\x81\\x0b\\x47\\x63\\xf5\\x50\\x95\\xde\\xb4\\x6c\\x9d\\x1e\\x27\\xc7\\x27\\xa5\\x57\\xf8\\x62\\xdd\\x15\\x48\\xaf\\xd4\\x47\\x26\\xc5\\x2a\\xf5\\x20\\x9c\\xd1\\x27\\xc5\\xc6\\x26\\xe9\\x19\\xc6\\xe9\\xb4\\x95\\xfb\\x9c\\x2a\\x46\\xfe\\x50\\xf5\\xd3\\x34\\x12\\xe8\\xc7\\x7b\\x18\\x93\\x92\\x82\\x08\\xea\\x22\\x92\\xe5\\x5d\\x00\\xc4\\x81\\x8b\\xdd\\x24\\xa4\\x51\\x67\\x0a\\xb1\\x7c\\x82\\xd3\\xc3\\xe8\\x11\\x9c\\x5b\\xc4\\xb9\\x8d\\x39\\x14\\x93\\xd7\\xfa\\xc1\\x63\\x9b\\xfb\\x31\\x67\\xe9\\x8a\\x49\\x0b\\xd6\\x0c\\x1f\\x37\\xc2\\x3a\\xb8\\xdb\\xa4\\xa2\\xca\\x41\\xcf\\xf6\\x3c\\x99\\xf5\\xed\\xde\\x95\\x87\\xd4\\xcd\\x0c\\x88\\xce\\xcc\\xae\\xb2\\x2f\\xaf\\x1a\\x3a\\x81\\xee\\xfc\\xe2\\x98\\xf1\\xa0\\xf2\\xe9\\x6b\\xdd\\xe6\\x8c\\x77\\x2b\\x92\\xfb\\x8d\\x99\\x35\\xb1\\xb8\\x6c\\x6d\\xda\\xe0\\xa2\\xfc\\x7e\\xb7\\x54\\xdb\\x0f\\x8d\\x1d\\x62\\x5a\\x5c\\x5c\\x14\\xff\\x44\\xd6\\x82\\xfa\\x26\\x8f\\x7a\\x3a\\x5a\\xdf\\x19\\xad\\x3f\\xb0\\xb5\\x68\\xcc\\x5a\\x82\\x00\\x6b\\xb5\\x4b\\xa4\\x52\\x09\\x36\\x7a\\xd1\\x38\\xa5\\xd2\\x18\\x53\\x0c\\xb2\\x80\\x63\\x0c\\x26\\x0d\\x46\\xcb\\x6c\\xb7\\xfb\\x02\\xa5\\x68\\xf0\\xb8\\xf8\\xd1\\x84\\x0c\\x26\\x8a\\x11\\x98\\xaf\\x4e\\x24\\x0e\\xa4\\x8f\\x83\\xcc\\x05\\x4f\\x2c\\x3d\\xf6\\xda\\x08\\xcb\\xe0\\xc2\\x29\\xdd\\x6a\\xc7\\xc0\\xb2\\x2b\\x5b\\x80\\xed\\xea\\xf9\\x37\\x96\\xac\\xb9\\xbd\\xf4\\xfb\\x0d\\x7f\\xbb\\x07\\x9e\\xdc\\xbc\\x61\\xf9\\xf8\\x65\\x6b\\x53\\xab\\xbc\\xdd\\x2a\\xfc\\x2f\\xdd\\x05\\xdd\\x4e\\xad\\x9c\\x3d\\x61\\x4d\\xac\\xf3\\x48\\xed\\xa9\\x51\\x24\\x2f\\xba\\xf5\\x15\\x38\\x99\\xf9\\x1e\\xe9\\x96\\xd8\\x7f\\x25\\x67\\x8c\\x06\\x23\\xc6\\x5d\\xd3\\x2b\\xd4\\x52\\x35\\xb9\\xa0\\x93\\x62\\xe0\\x9f\\xb4\\x76\\x57\\x07\\x2e\\xde\\x35\\x2a\\x16\\xd2\\x1f\\x78\\x8c\\x09\\x8f\\xc3\\x43\\x67\\x9e\\x3f\\x7b\\x1e\\x88\\xac\\xf0\\x3e\\x17\\xff\\xe9\\xe7\\xbd\\x0e\\xb9\\xac\\x51\\xe7\\x93\\x6a\\xa7\\xf5\\xd0\\x41\\xbd\\xb5\\x99\\x39\\xd6\\x32\\xa0\\xd9\\xfc\\xfa\\x09\\x52\\x1d\\x20\\xad\\x6e\\x4c\\x33\\x3e\\x07\\xfd\\x60\\x35\\x77\\x09\\xf1\\xc0\\x78\\x2a\\x97\\xea\\xe1\\x75\\x45\\xc7\\xd8\\x63\\x2a\\x7c\\x76\\x4a\\x1a\\x1e\\x81\\x4e\\x83\\xc2\\x60\\x48\\xc6\\x97\\x71\\x2c\\xa5\\x50\\x64\\x95\\xe3\\xab\\x1c\\x31\\x92\\x9b\\x96\\xd0\\x09\\x6b\\x0f\\xbf\\xcc\\x3b\\x99\\x02\\x24\\x69\\x83\\xcc\\x30\\x50\\x27\\x37\\x50\\xbb\\x80\\xf0\\x4b\\x5a\\x1b\\x5a\\xff\\x39\\x9f\\x06\\xc7\\x9e\\x39\\x49\\xbf\\x40\\x8f\\x1a\\xf2\\x7b\\x7e\\x2c\\xdd\\xed\\x95\\x39\\x3b\\x37\\xf4\\x5f\\xf2\\x62\\xd3\\xb4\\xf5\\x11\\x6c\\x67\\xdb\\xa9\\xb5\\x8e\\x58\\x77\\x54\\x6a\\xa7\\x46\\xdb\\x3f\\xab\\x23\\xa6\\x8d\\xaf\\x59\\x50\\xdd\\x79\\xe8\\xc4\\xf2\\xb5\\x13\\x72\\x60\\xf5\\xda\\x85\\xe6\\xd2\\xfe\\xa0\\xf3\\xd5\\x31\\x93\\x76\\xed\\x5e\\x00\\xfa\\xbd\\x59\\x5b\\x3b\\x12\\x64\\x6c\\xdc\\xc2\\x84\\x1f\\xd4\\x6c\\x7a\\x30\\x1f\\xe6\\xb2\\x23\\x17\\x36\\xf7\\x3b\\x00\\x7f\\xa8\\x99\\x3c\\x66\\xd0\\xde\\xbf\\xe1\\xf3\\x91\\x0f\\xab\\xd9\\xd9\\x6c\\xa9\\x4a\\x44\\xf5\\xfe\\x49\\xc0\\x1b\\x22\\x31\\x4c\\x76\\xcc\\xa1\\x28\\xc4\\xa1\\x54\\x32\\x64\\x6d\\xc8\\x64\\x3a\\xcc\\x9b\\x38\\xc4\\xa7\\xb8\\x8e\\x91\\x2d\\xc4\\x3c\\x67\\x02\\x83\\x6b\\x2f\\x8f\\xd1\\x58\\x0a\\x80\\x93\\x9e\\x0b\\x4e\\x54\\x54\\xff\\xb8\\xf0\\xce\\x07\\xdb\\x41\\xfc\\x89\\xc3\\x2f\\x5c\\x1e\\x56\\x7f\\xe9\\xde\\x92\\x85\\x6b\\x1f\\x4b\\xfa\\x93\\xb6\\xc1\\x61\\x45\\x7d\\x6e\\xbd\\x76\\x17\\x14\\x3d\\xf7\\xcc\\x56\\x85\\x78\\xe0\\x04\\x78\\x07\\xc2\\x4d\\x4b\\x8b\\x3e\\x42\\xeb\\xb1\\x1d\\x56\\x71\\x2c\\xda\\x0b\\x1a\\xca\\x4a\\xd9\\xce\\xe9\\x19\\x19\\x90\\x45\\xa0\\x5d\\x70\\xce\\x27\\xb3\\xb2\\x04\\x00\\xaa\\x20\\x18\\x48\\xc3\\x63\\xcb\\x06\\xf6\\x21\\x8e\\xb5\\x30\\x66\\xc5\\x61\\xdf\\x18\\x0e\\x18\\x39\\x0a\\xff\\x7d\\xf3\\x2d\\x9a\\xbe\\xe3\\x9f\\xd7\\xad\\x78\\xa1\\xaf\\x7a\\x5c\\x4c\\xce\\xe7\\xae\\x92\\x8c\\xce\\x69\\x59\\x5b\\x98\\xfd\\x7e\\x11\\x7d\\xbf\\x65\\xe8\\xe1\\x05\\xbd\\x9a\\xca\\x47\\x0f\\x49\\x1d\\x35\\x72\\x7b\\x59\\xdd\\xd8\\xfa\\x98\\x92\\x12\\xbc\\x1f\\xfa\\xb6\\x7e\\xcd\\xc9\\xd8\\x42\\x4a\\x82\\xf6\\x43\\x8a\\x57\\xa3\\x89\\x4f\\x8b\\xaf\\xf0\\x29\\x92\\x92\\xb2\\x68\\xc6\\x26\\x4d\\x53\\xda\\x78\\x24\\x6b\\x5b\\x10\\xd6\\xc0\\xd8\\x16\\xb6\\x9f\\x15\\x27\\xe6\\x6b\\x37\\x11\\xbc\\x9c\\x54\\x9a\\xdc\\xc5\\x1a\\xdb\\xe8\\xf3\\x20\\xb1\\x82\\x51\\x94\\x95\\x80\\x67\\x09\\x91\\x74\\x01\\xc8\\x07\\xf4\\xcc\\xb8\\xb8\\x92\\xdc\\x94\\x0c\\x70\\xa4\\xcf\\x82\\xd8\\x15\\xf6\\xe8\\x84\\x08\\x67\\xae\\xe3\\x45\\x5b\\x6a\\xf1\\xfc\\xea\\xa1\\xa3\\xe7\\x46\\x25\\x96\\xc8\\x9c\\xce\\x82\\xf2\\xe4\\x21\\xbd\\x9f\\xee\\x33\\x66\\xb4\\x3a\\x22\\xcc\\x39\\xa0\\xcb\\xf2\\x5f\\x3c\\x75\\xd9\\x23\\xba\\x15\\x17\\x33\\x4b\\x47\\x0c\\x99\\xd2\\x2d\\xd5\\x96\\x9d\\x0d\\xdf\\x1e\\xb0\\xb4\\x7b\\xd1\\xdc\\x92\\x91\\x03\\x27\\x6d\\x8b\\xef\\x0a\\xd2\\xb3\\xb3\\x6b\\x32\\xa7\\x0c\\x19\\x31\\xa4\\xf6\\xc9\\x1e\\x3d\\x9e\\xac\\xf7\\xf1\\xfe\\xeb\\x26\\xa4\\xbf\\x2c\\x20\\x36\\x5c\\xa4\\x57\\x69\\xb4\\x46\\x50\\x14\\xa3\\x93\\x28\\x19\\x55\\x1b\\x9f\\xe3\\xb3\\x34\\x43\\x6c\\x84\\x76\\x38\\x52\\xc0\\xa9\\x45\\x43\\x88\\xaa\\x7c\\x6e\\xf6\\x13\\x2b\\x95\\x6b\\xce\\x2e\\x53\\x54\\x8e\\x5d\\xf4\\x5c\\xd4\\xdc\\x73\\xf0\\xa3\\xb3\\xe5\\x1a\\xdb\\x73\\x53\\x87\\xce\\x5a\\xd8\\xa5\\x8c\\x7e\\xdb\\x5f\\xd1\\xdb\\xdd\\xbf\\x27\\x06\\x68\\xba\\x6f\\x03\\xdb\\xc6\\x8c\\xa5\\x02\\x75\\x4f\\x7b\\x11\\x5d\\x23\\xd1\\xab\\x0f\\x97\\x4a\\xe5\\x5a\\xbb\\x5e\\x6e\\xfe\\x2b\\xad\\x3a\\x10\\x64\\xc6\\xab\\x16\\x4a\\x20\\x7a\\x74\\x79\\x53\\x0d\\xbd\\xae\\xb8\\x67\\x54\\x46\\xb7\\x85\\x56\\x6d\\xb8\\xeb\\xa1\\x40\\xb3\\x6f\\x3b\\x71\\xf7\\x54\\x07\\xb4\\xcd\\x63\\x72\\xd7\\x3e\\x14\\x63\\xc6\\x9e\\x06\\xf1\\x54\\xa0\\xee\\x1b\\xa6\\x2b\\x81\\xca\\xf1\\x5a\\x31\\x5d\\x71\\x7a\\x93\\x59\\x8f\\x08\\xd3\\x5b\\xe5\\xd1\\x7f\\xa9\\xf4\\x0b\\x29\\x1b\\x7f\\x41\\x63\\x87\\x32\\x70\\x7f\\x4d\\x6c\\x68\\x29\\xb8\\xbf\\xa2\\x3a\\xa4\\x16\\x5c\\x7b\\xe2\\x69\\x21\\x96\\x16\\xc7\\x37\\xe8\\x91\\x0c\\x8f\\xd1\\x6a\\x2a\\x7d\\x5a\\x4a\\xc0\\xb6\\x55\\xca\\x10\\xa7\\x0f\\x02\\xdc\\x2a\\xff\\x02\\xe0\\xb6\\xad\\x98\\x6c\\xd2\\xa3\\x60\\x6e\\xb1\\xa7\\x8d\\xfe\\xe3\\xfd\\x88\\xf7\\xbb\\x05\\xa0\\x6e\\xbb\\x7d\\x13\\xf1\\x4d\\x01\\x29\\x5c\\xba\\xdb\\xf5\\x9a\\x0b\\x3b\\xd8\\x8e\\x36\\x37\\x83\\x41\\x01\\xd7\\x1a\\x00\\xc5\\xad\\x3f\\x31\\xf1\\xe4\\xfc\\x5a\\xbc\\x0a\\xa5\\x02\\x89\\x1c\\x25\\xc7\\x84\\x31\\x15\\xbe\\x30\\x43\\x68\\x3d\\xd4\\x10\\x75\\x57\\x00\\xa7\\xa7\\x17\\x39\\x3d\\xce\\xe4\\xc8\\xac\\x94\\xcf\\xa4\\x8d\\xf0\\x57\\x2b\\xb8\\xb2\\x4d\\xfc\\x4d\\x8c\\x27\\x7c\\x8f\\xf4\\x66\\x62\\x36\\xbd\\xb9\\xb9\\xe5\\xbb\\x68\\xde\\xa6\\x41\\x63\\xae\\x25\\xb5\\x39\\xa3\\xbc\\x2a\\x26\\x9c\\x22\\x63\\x7d\\x78\\x74\\x41\\x78\\x64\\xa1\\x3c\\x26\\xc8\\x61\\xdc\\x16\\xf8\\xd2\\x0e\\xe0\\xb5\\xb6\\xdc\\xb6\\x82\\x82\\x1d\\xf0\\x65\\xb6\\x53\\x73\\xcb\\x67\\xb8\\xfa\\x2a\\x15\\xc0\\x07\\x56\\x13\\x3f\\x72\\x1f\\x6f\\x42\\xb8\\x84\\x46\\xc2\\x92\\xa2\\x35\\x3a\\xab\\xae\\xbf\\xcf\\x6a\\x31\\xd1\\x16\\x8e\\xb3\\xd0\\x26\\x56\\x19\\x19\\x89\\xd8\\x63\\x24\\x25\\x53\\x29\\xd1\\xa9\\x51\\xb6\\x9b\\x4e\\x5e\\x3f\\xe8\\x00\\xaf\\xc1\\xdf\\x37\\xba\\xc9\\x8e\\x10\\x68\\x21\\xfb\\xc1\\x89\\x38\\x80\\x91\\x0c\\x5c\\xa9\\x8c\\x8a\\x74\\x2a\\x9b\\x0c\\x53\\x47\\xc4\\x68\\x46\\x05\\xa6\\x79\\x8a\\x29\\x22\\xce\\x25\\x69\\x32\\x34\\x0d\\xcc\\x19\\xc1\\x03\\x0b\\x2b\\x44\\x69\\xe9\\xd3\\xa7\\x73\\x50\\xd4\\xdc\\x4c\\x77\\x0d\\x4b\\x4f\\x1b\\xbf\\x80\\x03\\xdf\\xf1\\x75\\x63\\x83\\xd8\\xc6\\x88\\x77\\x53\\xc5\\x5e\\xa7\\xc9\\xac\\x41\\x7a\\x9c\\x46\\x23\\xd6\\x33\\xc8\\x86\\x45\\x1a\\x9d\\xd1\\x28\\x26\\x3a\\x8f\\xfe\\xbf\\xe2\\x1c\\x0b\\x48\\x31\\x1d\\x01\\x8f\\x09\\x90\\x77\\x67\\xbe\\xae\\x81\\x87\\xe4\\x1c\\xb8\\x19\\xee\\x88\\xf9\\x88\\x2f\\x40\\xab\\x8f\\x1b\\x58\\xbf\\x6f\\xb6\\xd8\\x43\\xe8\\x84\\xcf\\x27\\x8a\\xbb\\x94\\x0e\\xa5\\xef\\x2d\\x86\\xd9\\x68\\x63\\xbc\\x51\\x5b\\xfd\\xd8\\x26\\x60\\x6e\\xf6\\x2b\\x3e\\x2c\\xed\\xd2\\x1f\\x63\\xfd\\xcd\\x86\\x55\\xcc\\x24\\x44\\xab\\x06\\xd7\\x56\\x25\\xfb\\x83\\x22\\xbb\\x23\\xe0\\x05\\x16\\x7c\\xab\\x81\\xbd\\x81\\x3d\\xd1\\x40\\x44\\xa7\\xc7\\x78\\x72\\x33\\xa2\\x7a\\xa6\\x7e\\x23\\x05\\x76\\xbe\\x9f\\xd7\\xc5\\xc7\\x63\\xb2\\x95\\xfb\\x94\\xb7\\x12\\xdc\\xdc\\x95\\xe6\\x3f\\x5f\\x8e\\x46\\x6b\\xe8\\x15\\xec\\x33\\x3b\\xc6\\x63\\x52\\xc9\\x29\\x39\\x52\\x6f\\xe4\\x56\\xce\\x86\\xeb\\xd8\\x8b\\x22\\x22\\x18\\x25\\xa0\\xf8\\x1a\\xae\\x79\\x41\\x37\\x33\\xaf\\xea\\xb8\\x79\\x2c\\x05\\x01\\xb6\\x2a\\x8a\\xf1\\x18\\xda\\x30\\xab\\x90\\x9c\\x2b\\x07\\x51\\x67\\xcb\\xe8\\x5f\\xa3\\x61\\xc9\\xd6\\x67\\xf7\\xc2\\x7f\\x1d\\x85\\x4d\\xda\\x73\\xea\\xaf\\xa6\\x5e\\xac\\xdd\\xb9\\xb4\\xc2\\x0a\\x5e\\xf7\\xbf\\x7e\\x81\\xbb\\x05\\x27\\x9f\\x86\\x9b\\xb4\\x6f\\xec\\xdc\\x0e\\x7f\\xdc\\x0d\\x52\\xf5\\xe7\\x67\\xdf\\x98\\xb8\\xe0\\x89\\xf5\\xa0\\xa9\\x45\\xa8\\x33\\x92\\x86\\x64\\xec\\x2d\\xb4\\x6f\\xd3\\xb1\\xf7\\xce\\xa2\\xd7\\x59\\xad\\x9a\\x74\\xa9\\x4b\\x29\\x4a\\x8e\\x44\\x1a\\x86\\x31\\xd2\\xa0\\xd1\\x93\\xb2\\xbe\\x02\\x26\\x33\\x66\\x2d\\x6e\\x77\\x07\\xe4\\x3c\\x05\\xa3\\x77\\x22\\xc9\\x2a\\x22\\xae\\x7a\\xe7\\xa3\\x38\\x34\\x13\\xbd\\x4c\\x1f\\x97\\x58\\x30\\xd3\\x31\\xfb\\x08\\x9f\\x12\\x1f\\xae\\xa6\\xc7\\x6c\\xaf\\x2e\\xa6\\xbb\\x2e\\x1e\\x50\\xd5\\xdf\\xb0\\xe6\\x30\\xfe\\xdf\\x85\\x53\\xa2\\xe6\\x62\\x14\\xbd\\xa9\\x9d\\xba\\xa4\\x5d\\x3e\\x4c\\x0f\\x6f\\x79\\x96\\x44\\xf0\\xf4\\x1a\\x77\\x6d\\xf8\\x70\\x51\\xdd\\xe0\\x9a\\x71\\x7d\\xa6\\x62\\x1e\\x8e\\xff\\xf7\\x91\\x43\\xf4\\x0c\\x4c\\x3b\\x9a\\x57\\x4c\\x7b\\x32\\x92\\x88\\x06\\x95\\xda\\x68\\x52\\x9b\\x2c\\xc9\\x52\\x87\\x52\\x14\\x6f\\x89\\x2f\\xf7\\x69\\x2d\\x06\\xb9\\xb5\\x3d\\xf1\\x01\\xcb\\xb0\\x9d\\xec\\xd0\\x08\\x71\\x2d\\xff\\x3b\\xed\\xf0\\xa3\\x43\\xdd\\x23\\x35\\xf4\\xf0\\xe6\\xff\\x85\\x72\\x24\\x5e\\x46\\xad\\xed\\x7b\\xe8\\xd1\\x64\\x63\\x7c\\x78\\x5c\\x17\\x18\\xe9\\x35\\x9d\\x30\\x6f\\x4f\\x4e\\x49\\x48\\x29\\xf7\\x25\\x58\\x73\\x44\\x26\\x51\\xb9\\x2f\\xca\\xa4\\xb2\\x59\\xf5\\x3a\\x5d\\xb8\\x5a\\x49\\x05\\x50\\xb8\\xf1\\x94\\x87\\x02\\x4c\\xe2\\x9b\\xcb\\x47\\xa3\\x12\\x18\\x6c\\x20\\xe0\\x0f\\x7c\\x34\\xb7\\x07\\x47\\x3b\\x2c\\x84\\x56\\x42\\xe7\\xcd\\xe9\\x13\\x1c\\x0f\\x66\\xfc\\x05\\x3c\\xe3\\xdf\\x2e\\x0c\\x8c\\x3e\\xce\\x0f\\xcb\\xbf\\x37\\x08\\x50\\x50\\xe7\\xe3\\x87\\x36\\xba\\xcf\\x8c\\x36\\x29\\x60\\xc6\\x8f\\x1d\\x3d\\xe8\\x5f\\x4b\\xf6\\x55\\x6b\\x31\\x96\\x5f\\x68\\x8c\\xf1\\x54\\x82\\xd7\\x10\\x8d\\x46\\x16\\xad\\x8a\\xb4\\xdb\\xa9\\x08\\xa5\\x4a\\x2d\\x57\\xe3\\xed\\x4f\\x76\\x7c\\x9b\\xc0\\x22\\x25\\x42\\xda\\x08\\x0d\\x21\\xbe\\x5d\\xcc\\x18\\xc1\\x5d\\x78\\x20\\x88\\xd2\\x4d\\xb6\\x4d\\x0d\\x82\\x98\\x7a\\x3e\\x50\\xcb\\xb4\\xec\\xca\\xac\\xe6\\x35\\xf2\\x35\\x41\\x89\\x2a\\x0e\\xd0\\xf7\\x62\\x20\\x1e\\x6c\\xe2\\xa8\\x05\\x8b\\xf3\\x7a\\x10\\x7c\\x05\\x41\\xce\\x0e\\x27\\x3e\\x59\\x44\\x67\\x0c\\xa2\\x2c\\x46\\xe5\\x88\\x8a\\x32\\x58\\x95\\x06\\x3d\\x4b\\x8b\\xe9\\x8a\\x10\\xaf\\x71\\x90\\x4e\\x4e\\x17\\x22\\x24\\x3a\\xac\\x44\\x3b\\x4a\\x45\\xcc\\xa6\\x61\\x05\\xa9\\x51\\xdd\\xba\\x7c\\x23\\xdd\\x13\\x90\\xa3\\x07\\xda\\x53\\xba\\x4f\\x74\\xac\\x46\\xb5\\x5f\\x81\\xd8\\x05\\x93\\x1b\\x90\\xa3\\x6d\\xb1\\x6b\\x3c\\xad\\x2d\\x97\\xa3\\x82\\xba\\x0a\\xd6\\x93\\x54\\x94\\xde\\x2b\\x61\\xc2\\x95\\x9c\\x4a\\x19\\xa6\\x24\\x9b\\x84\\x07\\x24\\x97\\x00\\x64\\xce\\xa1\\xbd\\xeb\\x04\\xb1\\x71\\x0a\\x12\\x4b\\xf1\\x16\\x28\\x91\\x5a\\x75\\x8b\\x8f\\xde\\x3d\\x04\\xaf\\x98\\x8d\\x12\\x75\\xe3\\x91\\xbb\\x68\\xa3\\x56\\xea\\x06\\x2c\\xa0\\xb7\\x3e\\xb8\\x41\\x5f\\xca\\x29\\x2d\\x9c\\xec\\xc7\\xa1\\x03\\x6d\\xf1\\x95\\xd8\\x3e\\x65\\xb7\\x11\\xfe\\x6d\\x47\\xdf\\xff\\x83\\xe6\\xc6\\x44\\xb9\\x70\\x2d\\x54\\x13\\xdd\\xdf\\x27\\x16\\x69\\x75\\x4a\\x13\\x12\\xe1\\x26\\x93\\x48\\xa7\\x43\\x06\\x91\\x4e\\xa9\\xb2\\x22\\x41\\xae\\x92\\x20\\xa5\\x44\\x62\\x10\\x21\\xf3\\x4d\\xa4\\x0f\\x71\\x5c\\xb7\\x33\\xe0\\x48\\x19\\x0f\\x52\\xdc\\x90\\x30\\xf1\\xd0\\x60\\x32\\x82\\x3e\\x16\\xd7\\x56\\x42\\x54\\xa3\\x66\\xa7\\x9b\\xe1\\xec\\x9e\\xe0\\x35\\xb3\\x7f\\x8f\\x62\\xc0\\xe2\\x99\\x0b\\xa7\\xdf\\x5d\\x53\\x52\\x6e\\x94\\xd1\\x7d\\x2c\\xb0\\x4f\\xfe\\x3a\\x4f\\xfe\\xa0\\xc6\\x5e\\xd3\\x9a\\x37\\xd3\\xd3\\x9a\\xe0\\x96\\x65\\xa5\\xc3\\x2f\\x5e\\xfc\\x3b\\xf0\\x5d\\x8e\\x4f\\x2a\\x58\\x09\\x5f\\x9a\\x3b\\xbd\\x7e\\x23\\xbc\\x77\\xfe\\x5b\\x50\\x00\\xf8\\x3b\\x0a\\x35\\x8e\\x9f\\x46\\xe3\\x30\\x92\\x55\\xd6\\x45\\x1b\\x8d\\x2e\\x13\\xa7\\x75\\x69\\x91\\xc4\\x74\\x19\\x4c\\xb2\\x36\\x5b\\xb3\\x4d\\xde\\x60\\x3b\\x53\\x81\\x0c\\x67\\xcc\\x02\\xb2\\x48\\x89\\x11\\xc1\\x39\\x5a\\x00\\xb4\\x6d\\xb1\\x60\\x41\\x43\\x83\\x7e\\xc9\\x21\\x03\\xf5\\xb3\\x16\\x82\\x1e\\xab\\x6b\\xb7\\x7c\\xb1\\x34\\x2f\\xab\\x6c\\x6a\\x9c\\xfe\\xf4\\x87\\x3f\\x4f\\xbc\\xba\\xa0\\x66\\x0a\\x70\\xef\\xa8\\x99\\xba\\xf0\\x34\\xe8\\x46\\xf7\\x3d\\x30\\x36\\xe9\\xf0\\xf7\\x6f\\x6d\\x39\\x38\\x74\\x07\\xbc\\x71\\x69\\xe2\\xe0\\x93\\xd7\\xea\\x68\\xd0\\xf2\\xe5\\x15\\xf8\\xd1\\xae\\x85\\x4b\\x96\\x2e\\xd8\\x73\\xf4\\x47\\x50\\xfb\\x32\\x1f\\xd3\\x36\\x05\\xef\\x4b\\xa2\\x43\\x99\\x78\\xfb\\xc7\\xaa\\x97\\xea\\x91\\x88\\x94\\xaa\\xc2\\x28\\x83\\x05\\x58\\xd0\\x9c\\x03\\x1e\\x03\\x5c\\xe0\\x0c\\xc1\\xe8\\x35\\x2d\\x29\\x58\\x83\\xf7\\x01\\x92\\x1b\\x2a\\x8a\\x63\\x40\\x56\\x6c\\x1c\\x93\\xa3\\xe1\\x74\\x46\\xad\\x88\\x06\\x15\\xe5\\x9b\\x9f\\x02\\xaa\\x07\\x7d\\xf6\\x97\\x1e\\xd8\\x01\\xbf\\x81\\xb0\\x1c\\x1c\\x2b\\x2b\\xdf\\xbf\\xff\\x29\\xff\\xaa\\x0d\\xfb\\xb6\\xec\\x82\\x55\\x60\\xbb\\xf6\\xd6\\x45\\x64\\xbf\\x4c\\x89\\x04\\x4b\\xe0\\x42\\xd5\\xab\\x67\\xe0\\xcb\\x70\\xb5\\x05\\x8e\\x63\\x47\\xcc\\x5f\\xac\\x6c\\x39\\x17\\x05\\x12\\xdc\\x3f\\xb9\\x98\\x62\\x27\\xfc\\x84\\xec\\x49\\xec\\xd3\\x50\\x11\\x1b\\x19\\xe9\\x3d\\x14\\xad\\x47\\x27\\x46\\x8f\\x78\\xb1\\x5a\\x24\\xd3\\x8b\\x94\\x54\\xe0\\xcc\\x10\\xca\\x3c\\x6d\\xd0\\xfd\\x46\\x67\\x2c\\x71\\xc9\\x61\\x4c\\xe0\\xc9\\x93\\xc6\\xec\\xf9\\x2d\\x66\\xf4\\xd9\\x15\\x26\\xfa\\x19\\x91\\x88\\xeb\\x35\\xa3\\x79\\x78\\xdd\\xc8\\xfd\\xda\\x9f\\x2f\\x81\\x16\\x7f\\xd1\\x82\\x2b\\x85\\xe9\\x25\\x25\\x9d\\xa6\\x4d\\xc8\\x56\\x53\\xc1\\xfe\\x86\\x91\\xbc\\xe6\\x87\\xfb\\xa3\\xfe\\x0f\\xfd\\x9d\\x3a\\xfb\\x7e\\xc7\\xfe\\x98\\xe6\\x07\\xa7\\x1e\\xee\\x0f\\xad\\x03\\x1e\\x9f\\x9d\\x4a\\xf7\\x22\\x09\\x63\\xb2\\x8a\\x28\\x9a\\x5c\\xbf\\x19\\x30\\x72\\x33\\x32\\xba\\xce\\xfa\\x34\\x56\\x91\\x92\\x2a\\x68\\x5f\\x0b\\x43\\xdd\\xbe\\xff\\x76\\x6a\\x65\\xfb\\x61\\x7f\\x2b\\x8e\\xf6\\x64\\x65\\x44\\xe6\\xf7\\xb8\\x13\\xde\\x53\\x54\\x3c\\x63\\x4d\\x4d\\x60\\xf0\\x0f\\xca\\xb0\\x93\\x54\\xb1\\x27\\xfc\\x95\\x64\\x0f\\x98\\x38\\x7e\\x6c\\x26\\xf6\\xe7\\x52\\x75\\x88\\x9e\\x45\\x64\\x2f\\xb7\\x8d\\x5f\\xa5\\x56\\xa9\\xc4\\xe1\\x4a\\xb1\\xb5\\xfd\\xf8\\x41\\x80\\x2f\\xe5\\x3c\\x74\\xd9\\xb7\\xf7\\x77\\xe7\\xb9\\xb3\\x1f\\x99\\x82\\x77\\x7c\\xe3\\xc7\\x30\\x5b\\xb4\\xff\\xb9\\xd8\\x52\\xc3\\x8e\\x9b\\xff\\xd4\\xe8\\xb6\\x0b\\x3e\\x80\\xed\\x5e\\xd2\\x5f\\x1c\\xd2\\x0f\\x0c\\x14\\xed\\x42\\xfd\\xb9\\x30\\x87\\xd4\\x5a\\x94\\xf2\\x70\\x6d\\x38\\x86\\x82\\xa6\\xda\\xb1\\xf1\\xd0\\xae\\x03\\x03\\x57\\x30\\x01\\x5e\\xd9\\x91\\x10\\x34\\x05\\x73\\xd0\\x04\\xe4\\xa4\\x44\\xe9\\x6c\\x66\\x93\\xf2\\x4b\\xe9\\xde\\xd0\\x55\\x41\\x44\\xfd\\x7c\\xc9\\xbf\\x01\\xcf\\x83\\x7c\\x3f\\xc3\\xd1\\x00\\xe9\\xdc\\x4c\\x3e\\xa2\\x30\\xbd\\x67\\xaf\\x90\\x35\\x3a\\x83\\x73\\xd3\\x10\\x8d\\x72\\xc4\\x17\\xa5\\x62\\x09\\x2b\\xa9\\xc0\\x0e\\xd5\\x80\\x7c\\xc1\\x41\\x6b\\x1a\\x5c\\x92\\x86\\xbf\\x02\\x61\\xce\\x8c\\xc9\\x01\\x83\\x41\\xf8\\xb8\\xf1\\x8e\\x91\\xe3\\x5f\\xfe\\x2a\\x61\\x34\\xcd\\x02\\x0b\\x48\\xd3\\x1e\\xd2\\xdf\\xbd\\x07\\x19\\xfc\\x3e\\x00\\x90\\x2e\\x78\\x05\\xbd\\x4f\\x45\\xde\\xc7\\x49\\x91\\x9d\\x25\\x55\\xf1\\x78\\xfb\\xc2\\x11\\xcb\\xc1\\x21\\x4a\\xfc\\x1d\\x1c\\x8e\\x62\\xa6\\xbb\\x9f\\x57\\xc2\\x57\\xc7\\xd7\\x46\\x4d\\x1a\\xff\\xc9\\xb7\\x40\\x7b\\x01\\xb5\\x3f\\xd8\\xbf\\x08\\x98\\xf4\\x87\\xb4\\xef\\xdf\\x2c\\x1b\\xca\\xeb\\x5a\\x34\\xae\\xae\\xc2\\xf6\\x46\\x7b\\x49\\xc6\\x57\\xf8\\x09\\x93\\x29\\x10\\xef\\x51\\x28\\x00\\x4d\\xcb\\x71\\x22\\x82\\x14\\xe8\\x83\\x7e\\x84\\x80\\xc6\\xeb\\x70\\x92\\x3b\\x64\\x15\\x07\\x9c\\xe4\\xb2\\x94\\x8f\\x58\\x02\\xcc\\xd9\\xbb\\xe0\\x9d\\xfd\\xa7\\xe1\\x69\\x20\\xb9\\xf7\\xfb\\xc7\\xa3\\x4b\\x80\\xa6\\x71\\xa9\\x6f\\x3c\\xdb\\x69\\xc9\\x3c\\xf8\\x6e\\x5f\\xd8\\x15\\x5c\\x00\\xf7\\x61\\xf3\\xcc\\xfa\\xc2\\xfe\\xc1\\x7e\\x3f\\x40\\xfd\\x8a\\x09\\xae\\x98\\x46\\x16\\x16\\x86\\xe4\\x71\\x58\\x98\\x56\\xaa\\x53\\x6a\\xc5\\x48\\x51\\xd2\\xb7\\x5d\\x61\\x07\\x42\\xc2\\x48\\xde\\x03\\x83\\xd4\\x23\\x37\\x9f\\x35\\xe2\\x74\\x68\\xdd\\x74\\xf2\\xa2\\x15\\x97\\xe0\\x8f\\x25\\xa3\\x3e\\x06\\x7b\\xef\\xc1\\x92\\x49\\xe3\\xfe\\xf8\\x10\\xa6\\xdc\\x3d\\xbb\\x72\\xfa\\xe4\\x8d\\xb0\\x19\\xdc\\x07\\x17\\x60\\x57\\xdb\\x82\\x51\\xe7\\x6e\\xa0\\x9e\\x70\\xfe\\x59\\x15\\xce\\xb1\\xa3\\xba\\x50\\x5d\\xbc\\x8e\\xec\\x48\\x8e\\x61\\x12\\x13\\x33\\x91\\xed\\x92\\x0a\\x34\\x4c\\x6a\\xa2\\x4a\\x26\\xd5\\x48\\x09\\xec\\x39\\x12\\x1e\\x26\\x6c\\xe5\\x5f\\x6f\\xb3\\x5f\\xaf\\x0b\\xbe\\x3e\\x63\\x30\\xfe\\x4e\\x2c\\xc0\\x9e\\x07\\xf6\\x91\\xc7\\x4e\\xf3\\x0e\\xcd\\xb8\\x54\\x26\\x3b\\x2b\\xc4\\xcd\\xc3\\x23\\x38\\x32\\x8c\\x1f\\x7e\\xf3\\xd5\\x05\\x5f\\xa4\\x68\\x4c\\xe7\\xc4\\x48\\x9d\\x3d\\xc2\\xac\\xfc\\x4a\\xda\\xeb\\x00\\x9d\\x35\\x7a\\xf2\\xb6\\x6d\\x03\\x46\\xbc\\x39\\xa5\\xd0\\x0e\\xa8\\x4f\\x4e\\x3d\\x77\\x70\\xe2\\x8c\\x55\\xab\\x7b\\x57\\xde\\x9b\\x59\\x62\\x07\\x63\\x8e\\xdd\\xea\\xbc\\xdb\\xa6\\x1f\\x2a\\xdb\\xc7\\x20\\x8e\\xf9\\x46\\x42\\x16\\x98\\x13\\x99\\xdf\\x33\\x6a\\xec\\xb0\\xec\\xe2\\x08\\x4f\\x46\\xd7\\x9e\\x69\\x07\\xae\\x3d\\xbe\\x40\\xc7\\x95\\x74\\x1f\\x3c\\x30\\xa3\\x40\\x9f\\x97\\xd3\\x43\\xa8\\xf5\\xd3\\x13\\x63\\xad\\x12\\x1b\\xc7\\x89\\xec\\x06\\xb5\\x4c\\x8d\\xab\\x42\\x3e\\x0a\\x6c\\xaa\\x1d\\x66\\xb0\\x47\\x1b\\x82\\x14\\xcc\\xd0\\x37\\xcb\\xb2\\x22\\xf3\\x3c\\x7d\\x07\\x46\\x7c\\xee\\x78\\x6e\\x53\\x7d\\xbc\\x23\\xa9\\x5b\\x9f\\xe1\\x96\\xcf\\x90\\x0a\\xa5\\xdd\\x63\\x1a\\xb1\\x92\\x5d\\xf7\\xcc\\x05\\xcd\\x21\\xcb\\xd8\\xa5\\x0f\\x66\\xc1\\x5d\\xa1\\x7d\\x46\\x52\\x59\\x5e\\xb9\\x02\\x7d\\x94\\xfb\\xd4\\x91\\x7a\\x53\\x84\\x3e\\x82\\x0f\\xf8\\xd3\\x5b\\x71\\x75\\xbd\\x0a\\x5c\\x59\\x2f\\xa4\\xf7\\xa0\\x93\\xd2\\xe3\\x6e\\xd7\\x7b\\x20\\xce\\x26\\x8e\\xb7\\x2e\\x3c\\xce\\x5f\\xae\\xbe\\x14\\xfd\\xdc\\xee\\x9a\\x14\\x9e\\x8c\\xe7\\x8e\\x5a\\x8e\\x2a\\x5c\\x97\\xb6\\x12\\x12\\x3d\\x3d\\x52\\xcc\\x2f\\xaf\\x61\\xfe\\x71\\xea\\x14\\x21\\xa8\\xa5\\xe7\\x9a\\x1e\\x17\\x8e\\x21\\x22\\x53\\xab\\x57\\xa0\\x73\\x53\\x8a\\xf6\\xbd\\x83\\xf8\\xeb\\xd0\\x5c\\xc8\\xa4\\x4a\\x44\\x02\\xd2\\x0e\\x22\\xa8\\x88\\x47\\xce\\x05\\x76\\x47\\xf2\\xfa\\x93\\xb3\\xed\\x3a\\xbb\\x8d\\x57\\xd2\\x0d\\xf3\\x66\\x03\\xc5\\x56\\xf9\\xec\\x6e\\x39\\x51\\xe9\\x55\\x8f\\x2f\\x94\\x6d\\xd7\\xb8\\xb3\\x73\\xbb\\x45\\x76\\x86\\x55\\x93\\x67\\xe5\\x96\\x30\\xf2\\x6e\\x49\\xf3\\x2d\\x87\\x34\\x33\\xa6\\x67\\x7a\\x5b\\xbe\\x18\\x1e\\x95\\x93\\x65\\xda\\xa3\\xa5\\xe8\\xd6\\xcf\\xe0\\x20\\x61\\x6e\\x12\\xa8\\xec\\x0b\\x3c\\xa0\\xb3\\x2a\\x8e\\xcf\\xb0\\xd0\\x50\\x22\\x46\\xa5\\x42\\x06\\x7f\\x58\\x34\\x71\\xe0\\xb2\\x61\\xed\\x33\\x2c\\x04\\xe8\\x59\\x3b\\x30\\x8a\\xd3\\x00\\xef\\x3c\\x27\\xa9\\xee\\xc6\\xb6\\xf9\\xc2\\xb1\\x1c\\x44\\x29\\x20\\x9a\\x4a\\xf7\\xbc\\xfe\\xce\\x65\\xd9\\xde\\xd9\\x57\\xf2\\x27\\x74\\xee\\xbb\\x71\\xac\\xb7\\xe0\\x8e\\xe3\\xd2\\x13\\x78\\xfd\\x8a\\x3c\\xbd\\xd3\\x75\\xfe\\xa1\\x43\\xbb\\xd4\\x68\\xba\\xe7\\x75\\x2d\\xcd\\xe8\\xb2\\xbc\\xdb\\xac\\xea\\xb1\\x97\\x33\\x87\\x76\\x1b\\xb4\\xaa\\x9f\\x89\\x4d\\x7a\\xf6\\x1c\\x9a\\xbf\\xcc\\xaa\\x11\\xf7\\xff\\xac\\xf2\\x0d\\xcc\\xe8\\x8b\\xd6\\xf4\\x38\\x12\\xfa\\xef\\x73\\x63\\x28\\x33\\x95\\x78\\x46\\xa5\\xd0\\x2a\\xf8\\xcc\\x03\\x9a\\xa0\\xa7\\x9a\\xc5\\x62\\x56\\xab\\x62\\x85\\xc8\\x8e\\xd0\\xe2\\xd4\\xa4\\x34\\x35\\x36\\x87\\x73\\x42\\x01\\xb8\\xd1\\x34\\x32\\xef\\x5b\\x31\\xb2\\x3e\\x2c\\xb7\\x82\\x13\\x02\\x9c\\xfc\\xc5\\x3d\\xfb\\x66\\x84\\x35\\x81\\xc3\\xcd\\xf0\\x2b\\x10\\xd1\\x4c\\xaf\\x09\\x20\\xc9\\x57\\xbb\\x92\\xfc\\x23\\xc9\\x5e\\xfe\\x50\\xc0\\xfc\\x37\\x53\\x71\\x41\\x1a\\xe4\\xff\\x05\\xeb\\xff\\x11\\x28\\xff\\x6d\\xc8\\xf6\\xe1\\x56\\x1e\\xda\\xdf\\x0a\\xcb\\xdf\\x64\\x3b\\x07\\xf1\\xec\\xef\\x06\\xf0\\xfc\\x1f\\x7c\\x14\\x02\\x65\\xcf\\xe6\\x62\\x3e\\x95\\x8f\\x64\\xfb\\x3a\\xc4\\x3d\\xa2\\x90\\x9e\\xd6\\xd9\\x1b\\xa9\\xd1\\xc6\\x86\\xd9\\xec\\xc8\\x46\\xe6\\x80\\x56\\x69\\x47\\x3a\\xa7\\xdd\\xae\\x64\\xa2\\x94\\x38\\x82\\xce\\x60\\x50\\x06\\xca\\x0c\\xba\\x79\\x84\\xe9\\x76\\xb1\\x25\\x04\\x8e\\x83\\xec\\x6b\\x64\\x9a\\x86\\x40\\xb9\\x93\\x88\\x45\\x0b\\x1f\\xac\\x48\\xc2\\x25\\xc0\\xdb\\x83\\xc1\\xef\\x83\\xcf\\x0d\\xae\\x8f\\xa8\\xcf\\x20\\x7a\\xb9\\x5e\\xcc\\xf0\\x6e\\x44\\xd3\\xc4\\x88\\x89\\x83\\xff\\xb6\\xe8\\x42\\xb4\\x08\\x4a\\xd4\\x8a\\x4a\\xb6\\x13\\x4c\\x03\\x6f\\xc3\\xb4\\x65\\x7e\\xa2\\x9a\\x87\\x2f\\x4b\\xe0\\xbd\\x8a\\xf3\\x96\\x81\\xb7\\x5b\\xba\\x3e\\xfb\\xb4\\xad\\x1a\\xfb\\x16\\xd1\\x3c\\x55\\xa3\\x31\\xbc\\x84\\xc6\\x90\\x85\\xf1\\xf8\\x13\\xe4\\x0a\\xc4\\xd9\\x63\\x15\\x4a\\xca\\xd2\\x76\\xaf\\x1d\\x2c\\xd5\\x4b\\xea\\x7d\\xd1\\x81\\x6b\\x19\\x72\\x79\\x21\\x24\\xe1\\x61\\x1b\\x3f\\x8e\\xf7\\x6f\\xf0\\x78\\xcc\\x18\\x94\\x56\\xc4\\x82\\x3f\\x5f\\xfa\\xe7\\x92\\xe8\\x4e\\x71\\xce\\xd8\\x0a\\xcb\\xfc\\x3e\\x3e\\x4f\\x97\\xbc\\x4e\\xcb\\x67\\x4d\\x3e\\x39\\x2a\\xca\\xb1\\xa2\\x76\\xbe\\xa5\\x22\\x23\\xdb\\x1e\\x63\\xdf\\x06\\x7f\\xd0\\xdd\\x3e\\x75\\x65\\x6d\\x4c\\x7e\\x27\\x47\\x44\\xf4\\xea\\x8a\\x12\\xef\\xac\\x1e\\xdd\\x56\\xf4\\x6b\\xdc\\x50\\xff\\xfc\\x84\\xae\\xa3\\x46\\x7a\\x27\\x2e\\x5f\\x9d\\x15\\x1b\\xd5\\xad\\x6c\\x64\\xc1\\x96\\xdf\\xd6\\x22\\x9d\\x7f\\x19\\xa2\\x17\\x09\\x0e\\x95\\x88\\x99\\x1d\\x86\\xed\\xb6\\x8f\\x91\\xac\\xb0\\x13\\x19\\xa5\\x3a\\x8f\\xb6\\x91\\x4c\\x4f\\x61\\xdd\\xc6\\xad\\xc6\\xbc\\xd8\\xad\\x75\\x32\\xb1\\x69\\xb8\\x28\\x0f\\x70\\xd2\\x75\\xef\\x7d\\xf2\\xca\\x12\\x89\\x84\\x8b\\xc8\\x73\\xc1\\xd1\\x6f\\xb2\\x9d\\x90\\x39\\xf1\\x52\\xf1\\xac\\xac\\xac\\x39\\xf9\\xfe\\x7c\\xf4\\x9e\\x63\\xe8\\x3d\\x75\\xc4\\xa7\\x6b\\xf1\\xca\\xe4\\x5a\\x46\\xab\\x56\\x4b\\x22\\x90\\x8a\\xa6\\x24\\xa0\\xb1\\x7c\\x59\\x29\\xf2\\x4a\\x63\\x3e\\x00\\x6e\\x52\\x4a\\xcb\\xa3\\xc4\\x15\\x4e\\xe2\\x14\\x0c\\x4e\\x97\\xed\\x72\\x2b\\x4b\\xa3\\xf2\\x00\\xe9\\x1b\\x96\\xd3\\x66\\x5a\\x2f\\x8e\\xeb\\x72\\xef\\xe5\\x34\\x85\\xc8\\x6c\\xb7\\x85\\x7d\\x74\\x12\\x2d\\x46\\xc2\\xeb\\xae\\x59\\xb4\\x18\\xf5\\x39\\x3c\\xef\\xbb\\xe8\\x41\\x8d\\xb0\\x1a\\x1c\\x79\\xcf\\x3e\\x78\\xf8\\x20\\xb3\\x7f\\x2f\\x6f\\x7f\\x7e\\x84\\xfa\\xff\\x84\\xfb\\x1c\\x6b\\xcf\\x5e\\x85\\x4a\\x42\\x85\\xeb\\xf4\\x02\\x98\\x3b\\x08\\x89\\x02\\xca\\x0b\\xad\\xa1\\x87\\x44\\x6c\\x2a\\x9d\\x4d\\xea\\x5b\\xe5\\xd3\\xec\\xd8\\x5e\\x19\\x11\\xb1\\x29\\xfd\\xf6\\xf5\\xb2\\x02\\xd1\\xa5\\xd5\\x22\\x75\\x04\\xa3\\x81\\x61\\xd7\\xe8\\x6d\\x53\\xd7\\x6c\\xe4\\x3e\\xe7\\x63\\x7c\\x1e\\xbc\\x4d\\x37\\x59\\x2b\\x97\\x4b\\xc4\\x8e\\x96\\xc3\\x6c\\xe9\\x73\\x3b\\x8a\\xd1\\xbb\\xf7\\xa3\\x7e\\xef\\xa3\\x71\\x87\\x61\\x1b\\x4d\\x0c\\x00\\xcb\\xd1\\x4a\\xa2\\x8a\\xb8\\xf9\\x11\\x3b\\xb4\\xfc\\xf5\\x00\\x03\\x76\\x0d\\x84\\xa7\\x5f\\xff\\x0d\\xbc\\xfc\\x9e\\xff\\xd8\\x40\\x70\\x91\\x6e\\x82\\x0a\\xf0\\xb3\\x7f\\x1e\\x2c\\xe5\\xe5\\x4a\\x22\\x3a\\x8b\\x38\\x67\\xd1\\x84\\x7d\\x46\\x4a\\xbd\\x8e\\x24\\x24\\x69\\x94\\x0a\\x3d\\xbe\\xee\\x11\\x3c\\x97\\xd6\\x8e\\xbe\\x5f\\x52\\x47\\xa9\\x5d\\xb4\\x5c\\x10\\xfa\\x48\\x2c\\x62\\x0e\\xb8\\xe2\\xb3\\xe2\\x23\\x7b\\x74\\xba\\x2a\\x33\\xfb\\x4d\\x16\\xa6\\x7b\\x20\\xa7\\x91\\xbe\\x93\\x11\\xf6\\x7c\\xa2\\x33\\x7c\\xaf\\xec\\x4a\\x6a\\xe7\\xc5\\x2b\\x99\\x58\\x9c\\xd6\\x08\\x13\\x79\\x9d\\x25\\xb1\\xb5\\x8c\\x1d\\x82\\xe8\\xd0\\xe1\\xc8\\xb3\\x0b\\x5a\\xa4\\x6a\\x22\\x55\\x85\\x64\\xac\\xa9\\x7d\\x48\\x6f\\x51\\x2b\\x4d\\x0a\\x9d\\x5c\\x57\\xee\\x93\\x86\\xc9\\xb1\\xf6\\x72\\x5d\\x08\\x50\\xd5\\x04\\x6b\\x22\\xba\\xc8\\x2d\\xb6\\xca\\xe1\\x14\\x89\\xe3\\x3c\\x01\\x72\\x5c\\x48\\xf0\\xf0\\x12\\x1c\\x5c\\x06\\xe0\\x6a\\xed\\x64\\x78\\xd8\\x9f\\x52\\xb2\\xa8\\x0c\\xde\\x09\\x86\\x95\\xb7\\xdc\\xa6\\x2b\\xd2\\x1e\\xab\\x3a\\x36\\xa4\\x4f\\xca\\x6a\\x50\\x32\\x66\\x00\\xfc\\xb2\\x60\\x46\\xd7\\x59\\x02\\x75\\x17\\x2a\\xc6\\x7a\\x3a\\x47\\xb9\\xd0\\x3c\\x89\\xd1\\x3c\\x2d\\x47\\xf4\\x45\\x62\\xcb\\x8e\\x51\\x59\\xad\\x52\\x4a\\x8a\\xc9\\xb1\\xd2\\x91\\x54\\x24\\xf6\\xc1\\x76\\x70\\x29\\xf2\\x60\\xf0\\xa1\\x50\\xf0\\x81\\x0b\\xd2\\x36\\xc7\\x1a\\xb0\\x31\\xb5\\xd1\\xb0\\xf3\\xae\\x73\\x3b\\xe1\\x6f\\x7b\\x9a\\xcf\\x8f\\x00\\x67\\x41\\xd3\\x92\\xda\\x13\\xa3\\x36\\xad\\xad\\xb0\\x82\\x77\\xfd\\xa5\\x6c\\xa7\\x93\\x70\\x8b\\xee\\xd5\\xbd\\x4f\\xc1\\x6f\\xb7\\x95\\xad\\x9b\\xe3\\x94\\x99\\x1a\\xea\\xa7\\xbe\\xd6\\x30\\x6f\\xfd\\x7a\\xc0\\xc7\\x56\\x23\\x19\\x84\\x69\\x72\\x20\\x3e\\x56\\xe0\\x75\\xc8\\x63\\x0c\\xb1\\xe5\\x3e\\xc6\\x6e\\x92\\xc4\\x30\\x06\\xbb\\xc1\\xae\\xa4\\x94\\xd1\\xfd\\x7d\\x32\\xa5\\x95\\x76\\x50\\x8e\\x50\\x12\\xdb\\x52\\x60\\xda\\x6e\\x6f\\x02\\xb4\\x8a\\xc4\\x06\\xa3\\x38\\x4e\\x24\\x5c\\x28\\x21\\x69\\x94\\x13\\xa0\\x56\\x9b\\xe9\\x11\\x34\\x9f\\x20\\xdd\\x45\\x79\\xf9\\x89\\xf3\\x47\\x1e\\xbf\\xf7\\xf4\\x15\\xdf\\xd1\\x86\\xcb\\x17\\xb3\\x9f\\x5c\\x59\\x49\\x08\\x9f\\x73\\x6e\\xd6\\xc6\\x03\\x95\\x23\\x26\\x92\\x01\\x68\\x5f\\xdf\\x3b\\x66\\x4f\\xef\\xe2\\xae\\x0b\\x56\\x3c\\xbe\\xa0\\xbe\\x7c\\x51\\xc9\\xe6\\x29\\xc3\\x16\\x36\\xa3\\x11\\x3c\\x48\\xae\\x5d\\x5b\\xdc\\x25\\xc7\\xcb\\xef\\xc3\\x16\\xb4\\x9f\\x37\\x10\\x7b\\xcb\\xe5\\xd5\\x32\\x86\\x72\\x1f\\x60\\x64\\x0c\\x62\\x0e\\x2a\\x09\\xae\\x4f\\x27\\x28\\xd9\\x02\\xd5\\xee\\xb6\\x08\\xfe\\xb6\\x20\\x81\\x28\\x35\\x1f\\xc1\\xdf\\xaf\\x36\\xb3\\xf8\\xd5\\x4f\\x67\\x2c\\xa8\\xdf\\x95\\x78\\x3e\\x1f\\x98\\xce\\x82\\xd5\\xeb\\xe1\\x83\\xe3\\xa5\\xb4\\x5d\\x03\\x12\\xe0\\xca\\x25\\xb5\\xa3\\x15\\x5b\\xcf\\xc0\\x69\\xd7\\xe1\\x2b\\x27\\x65\\x70\\x21\\xdf\\xf7\\x15\\xd4\\xf7\\x61\\xd2\\x77\\xbc\\x57\\x67\\xd0\\xe9\\x40\\xb9\\x4f\\x17\\xae\\x0b\\xa7\\xc4\\x62\\x05\\xb2\\x84\\x3b\\x74\\x1e\\xf0\\x8c\\xc5\\xa8\\xf9\\x8b\\x3f\\xbe\\x32\\xa8\\x50\\x91\\x8b\\x01\\xff\\x2c\\x85\\x4f\\x6c\\x06\\x31\\xe7\\x4f\\xbd\\x4a\\x5f\\xa2\\x1f\\x9b\\xf8\\xe2\\x1b\\x8b\\x17\\x17\\x75\\xaa\\x03\\x4d\\x16\\x30\\xe7\\x0e\\xc8\\x39\\x75\\x72\\x87\\x62\\x54\\x1d\\xfc\\xfe\\x3f\\xcd\\x3b\\x35\\xfe\\xcf\\x28\\x81\\x8f\\x17\\x06\\xfa\\x36\\x52\\xe1\\xe1\\x62\\x40\\x7a\\x35\\x18\\x74\\x00\\xed\\x2f\\xd0\\x71\\x5f\\x91\\x90\\x6c\\x56\\x1d\\x1a\\xad\\x21\\x14\\xc5\\xd0\\x32\\xce\\x7e\\x60\\xd2\\x66\\xf8\\xd1\\xd9\\x53\\xaf\\xd1\\x97\\xe9\\xd9\\x13\\x2f\\xdd\\x59\\xdc\\x54\\x9c\\x3b\\x89\\xbb\\x05\\xeb\\x2c\\xf0\\xf1\\x37\\xe1\\x6b\\x27\\x4f\\x6d\\x57\\x8c\\x99\\x00\\x34\\xbf\\xa3\\xde\\xe9\\x4c\\x7e\\xec\\xf9\\x68\\x0f\\xd5\\x13\\xdf\\x8b\\xc3\\xab\\x36\\xa0\\x43\\x17\\xa6\\x09\\xd3\\xb0\\x06\\x0b\\x2b\\x6d\\x8b\\x16\\xe1\\x8b\\x43\\x21\\x85\\x4e\\x25\\x5c\\x75\\x66\\x05\\xea\\xa4\\x09\\xe0\\xfd\\xf9\\xfb\\x41\\xde\\xbd\\x33\\xd7\\xaf\\x7e\\xb8\\xf1\\xad\\xe9\\x9f\\x7f\\x52\\x7a\\x39\\x0b\\x7e\\x77\\xe9\\xea\\xb5\\x1e\\xa0\\x27\\x78\\xeb\\x7f\\x9e\\xd9\\xaa\\xb8\\xfe\\x36\\x9c\\xe0\\x87\\x2b\\xdf\\x95\\x6d\\x7d\\xf1\\x57\\xec\\x73\\x18\\x27\\xd4\\x8c\\x95\\x23\\xae\\x6d\\xa7\\x92\\xbd\\x52\\xab\\xa5\\xd2\\x67\\xb5\\x86\\xb3\\xe1\\x2a\\x62\\xe8\\x86\\xb3\\xac\\x91\\xa8\\x72\\xac\\xa1\\x63\\x65\\x5a\\x52\\xec\\x18\\xd7\\xfe\\x24\\x94\\x88\\x55\\x21\\xd1\\x64\\x9c\\xc7\\x2d\\x66\\x77\\x1c\\x80\\x6f\\xdc\\x7c\\xe5\\xf6\\x5e\\x90\\x79\\xe7\\xc6\\xed\\x9b\\x5f\\x2f\\xbf\\x31\\x79\\xe6\\x8c\\xc7\\x5f\\x99\\x02\\x0b\\x92\\xae\\x25\\x31\\x33\\xe0\\x2f\\x70\\xec\\x27\\x54\\xeb\\xbf\\x81\\x06\\x3c\\xf9\\xfe\\xef\\x2d\\xa0\\xea\\x10\\x3c\\xfb\\xf9\\x33\\xe7\\x8f\\x82\\xea\\xa4\\x8f\\x3e\\xe2\\x7d\\x53\\xd8\\xf7\\x55\\xc1\\x76\\xd2\\x88\\x98\\xcf\\x08\\x5f\\x2a\\x6e\\xfd\\x81\\xd4\\xf5\\xd5\\x05\\xe2\\x08\\x64\\x12\\x64\\x4c\\x29\\x25\\x48\\x4d\\x90\\x48\\x4c\\x31\\x24\\x8e\\x40\\x45\\xe2\\x08\\x0c\\x7f\\x15\\x47\\x10\\x30\\x18\\x3a\\x07\\x8b\\x1e\\x64\\x6a\\xb4\\x2a\\xca\\xd1\\xbe\\xc2\\x2c\\xb3\\x67\\xf1\\xba\\x85\\x5b\\x1b\\x6a\\x3b\\x5b\\xbd\\x7b\\x77\\xcd\\x9d\\xfb\\xf1\\xbb\\x2f\\xc0\\x73\\xf0\\xd5\\x6b\\x77\\xf7\\x3c\\x71\\x66\\xd1\\xb7\\x9b\\x6e\\xbc\\x4f\\x1f\\xdd\\xd0\\x3c\\x65\\x70\\x51\\xdf\\xb5\\x93\\xc7\\xf7\\xa8\\x02\\x36\\x10\\x0d\\x0f\\xc0\\xad\\xab\\xe6\\x2f\\x3c\\x60\\xea\\xb4\\x7a\\xd4\\x1e\\xdf\\xbb\\x42\\xdd\\x9c\\x3a\\x52\\x07\\xbb\\xe8\\x0c\\xc6\\xd4\\xc5\\xdc\\xd3\\xea\\x53\\xcb\\xa8\\x04\\xc4\\xcc\\x2d\\x32\\xca\\x42\\x59\\x38\\x99\\x2c\\x92\\xdc\\x6a\\xbb\\x3a\\xdc\\x6a\\x3f\\x5c\\x62\\xb5\\xfd\\x05\\xf7\\xc3\\x85\\xb1\\xff\\xe2\\xaa\\x7b\\xef\\x40\\xfb\\xfe\\x99\\xe9\\xa4\\x32\\x76\\xb1\\x32\\xe1\\x2f\\xae\\xbd\\xfb\\xcd\\x5b\\x29\\x14\\xc6\\x0e\\xbd\\xfd\\xc6\\xf3\\xdf\\x07\\xcd\\xff\\x62\\x32\\xff\\x3f\\x90\\xfc\\x97\\x4b\\x48\\xd7\\xff\\x8c\\xe4\\x63\\xd8\\x10\\x9f\\xcb\\xf1\\xda\\x22\\xed\\x95\\x35\\x91\\x14\\x67\\x56\\x99\\x91\\x80\\x50\\xa9\\x02\\x6c\\x98\\xd4\\xf6\\x56\\xfe\\x65\\x28\\x3d\\x1f\\x2d\\x41\\xb7\\xdd\\xe6\\x30\\x58\\x39\\x73\\x46\\x13\\x40\\x29\\xb7\\x18\\x8c\\x02\\xff\\x7e\\x09\\x94\\x5b\\xe0\\x49\\xb1\\x76\\xca\\xc1\\xb1\\x6b\\x76\\x9e\\x3d\\xfd\\xc2\\x01\\x78\\x7d\\xcc\\xa0\\x69\\x7a\\xee\\xe2\\xa1\\x62\\x5a\\xea\\x7a\\xcd\\xc5\\x76\\x6a\\x89\\x59\\xed\\x1a\\xb5\\xab\\x7a\\xc6\\xf8\\x4d\\xdb\\x98\\xb2\\x07\\x79\\xf5\\x75\\xa6\\x95\\x69\\x39\\xa2\\x38\\x7c\\xef\\x87\\x78\\xf1\\x64\\x62\\x73\\x87\\x63\\x9c\\x0e\\x1a\\x88\\xa5\\x2c\\xf6\\x9c\\x4a\\xf4\\x22\\x4b\\x20\\x05\\x14\\xfb\\x4d\\xf9\\x4b\\x64\\xe0\\x94\\x00\\xb0\\x1f\\xc8\\x9f\\x2c\\x3b\\x0b\\x3f\\x3d\\x7b\\xd6\\x7f\\xe5\\x1d\\x5a\\x0d\\x8f\\x22\\x6d\\x43\\x3e\\x0a\\x6c\\xb8\\x9f\\xc5\\xec\\xf6\\xff\\x02\\xde\\xa6\\x6b\\xc9\\xf9\\xdc\\x83\\x26\\xe1\\x26\\x7a\\x2f\\x47\\xe9\\xce\\xd0\\x4a\\xc0\\x92\\x73\\x01\\x04\\x4b\\x3a\\x23\\x3d\\x01\\x60\\xbd\\x98\\x39\\xd6\\xf2\\xeb\\xdd\\xb3\\xe7\\xe8\\x6a\\x44\\x63\\x4d\\x30\\x46\\x9e\\xbb\\xcc\\xdd\\x43\\xf2\\x2a\\x05\\xc7\\xb6\\xe9\\x0d\\x2c\\x63\\x60\\xcc\\x94\\x39\\x11\\xa9\\xf9\\x06\\xad\\x55\\xae\\x94\\x28\\x2b\\x7c\\x12\\x8a\\x54\\x49\\x54\\x51\\xed\\xb0\\xb6\\xdb\\xc5\\xb6\\x91\\x10\\xb6\\x90\\x6a\\x75\\xc0\\xa9\\x09\\x09\\x71\\xeb\\x10\\xcf\\xb9\\x00\\x87\\xc6\\x1b\\x62\\x2c\\x27\\xd7\\x79\\x48\\xd1\\xba\\x79\\x91\\xf0\\xc6\\xb9\\xf1\\xda\\x40\\xe8\\x3c\\xbd\\xa8\\x2d\\x46\\x9e\\xed\\x3d\\x78\\xd8\\x98\\xcb\\xeb\\xb6\\x91\\xba\\x75\\x7f\\x9e\\xa1\\x65\\x95\\x81\\xa0\\x79\\xb8\\xba\\x7d\\x80\\x3c\\xa0\\x3a\\xa1\\x3d\\xb1\\x91\\xdc\\x4d\\xe6\\x7a\\xed\\xd6\\x28\\x2a\\xaa\\xbf\\xcf\\x4c\\xb1\\x26\\xb4\\xfe\\x2c\\xc5\\xca\\xe5\\x2c\\xc5\\xa8\\xed\\x7a\\x35\\x62\\x58\\x6a\\xa1\\xaa\\x19\\x9a\\xed\\xe0\\x4d\\xa4\\x60\\x10\\x3f\\x24\\x2f\\xf8\\x90\\x37\\x52\\x2e\\x4b\\xec\\xf4\\x38\\x2a\\x80\\x3b\\x2b\\xbd\\xfb\\xcd\\x7f\\xcc\\x58\\x30\\xf9\\xa9\\xd8\\x0b\\x5d\\x81\\xe9\\xfc\\x8d\\x57\\x36\\xc0\\xfb\\xcf\\xea\\xc1\\x40\\x13\\x7c\\xc6\\x7e\\xd6\\x0e\\x6f\\x03\\x1d\\x90\\xf2\\x42\\xa4\\x7e\\x84\\x62\\xcb\\xb9\\x37\\xae\\xbf\\x02\\xaf\\x1f\\x97\\x4d\\x9e\\xb7\\x6d\\x1b\\xa2\\xf1\\xa8\\x20\\x43\\x22\\x71\\xcd\\x1a\\x3b\\xcd\\xd0\\xfd\\x7d\\x16\\x26\\xc2\\x64\\x42\\x9a\\x20\\x63\\x52\\x2a\\x4d\\x0c\\x83\\x78\\x3b\\x8e\\xc3\\x6b\\x13\\x27\\xfc\\x85\\x69\\xe8\\x6d\\x29\\x0f\\xcb\\xfa\\x68\\xc9\\x82\\xe9\\x04\\xff\\xb4\\xc3\\x67\\x4c\\x60\\xa0\\xfe\\x11\\x32\\x26\\x0b\\xb8\\x4d\\xf0\\xb6\\x7d\\xdb\\xbc\\xc9\\x0f\\x8b\\x1a\\xf8\\xdb\\xbc\\x6d\\x88\\xef\\xca\\x10\\x7f\\xc0\\x58\\x8d\\x66\\xca\\x45\\x6a\\x30\\x47\\x1b\\xe2\\x75\\xf1\\xf8\\x76\\x9c\\x51\\x52\\x3a\\xa5\\x86\\x92\\x45\\x05\\x03\\x5e\\xf4\\xb1\\x46\\xca\\x88\\xb6\\x06\\x95\\xd6\\x3e\\xd4\\x37\\x14\\xa7\\xd1\\xf1\\xa8\\x44\\x6d\\xa2\\x03\\xba\\x84\\x3c\\x65\\x5a\\xad\\xd7\\xb9\\x90\\x9e\\x73\\x80\\x24\\x28\\x0f\\x1d\\x58\\x7f\\x7e\\x1a\\x9f\\x98\\xbd\\xbb\\x8c\\x56\\xf1\\x78\\x8c\\x2d\\xcf\\xe0\\xe4\\xe4\\xb9\\x4b\\xc0\\x56\\x9a\\x86\\xbb\\x8a\\xfa\\xee\\xdf\\xb8\\xf3\\x4b\\xb0\\xec\\x75\\x3e\\x17\\x7b\\x32\\x06\\x62\\x7c\\x8c\\x24\\x23\\xc3\\xe7\\xe0\\x27\\xd6\\x37\\x45\\x4c\\x26\\xda\\xdb\\x32\\xb4\\xb7\\x23\\xd1\\x38\\x32\\xa8\\xae\\xf8\\xb6\\x9a\\x4a\\x35\\xa4\\x22\\x36\\x9c\\x6a\\x75\\x44\\xe9\\xd4\\x51\\xae\\xf0\\x70\\xb5\\xcb\\x85\\x44\\xa8\\x4b\\xe9\\xa4\\x6c\\xb9\\xe5\\x3e\\x9b\\xca\\x90\\x89\\x2d\\x39\\x75\\xb0\\x60\\x3c\\x65\\x2a\\x68\\x1f\\xea\\x1e\\xb8\\x07\\xe5\\x42\\x8b\\xf5\\x20\\xa6\\xf1\\xe8\\x5c\\x74\\x34\\x44\\x83\\x5a\\xf0\\xcc\\x33\\x21\\x23\\xa5\\xf3\\x45\\xde\\xa2\\x1e\\xf3\\x7b\\xf6\\x2f\\x4d\\x55\\x83\\x4e\\x70\\xf7\\x6e\\xc5\\x53\\x8f\\x18\\xb7\\xce\\x0c\\x5f\\x3e\\x3f\\xeb\\xee\\xf2\\xd5\\x8d\\x61\\xcd\\xfc\\xd0\\x97\\x0e\\x28\\x69\\xfa\\x78\\xc1\\xd4\\xa9\\x33\\xc1\\x9e\\x96\\x37\\x17\\x74\\x9c\\x82\\x45\\x70\\x68\\x06\\xfc\\xf3\\x22\\x7c\\x67\\xff\\xbc\\x8d\\x40\\x1b\\x32\\x17\\x7c\\xfe\\xd7\\x1f\\xad\\x95\\x9c\\x18\\xcd\\x05\\xc6\\xa2\\xc8\\x46\\xf3\\xe1\\xf3\\x26\\x5a\\xb2\\xcd\\xd9\\xe5\\xbe\\xa8\\x9c\\x72\\x9f\\x5e\\x17\\xe6\\xe6\\x74\\xe6\\xa8\\x28\\xce\\xac\\x34\\x52\\xea\\x14\\x1c\\x7b\\x2e\\x8d\\x43\\xe7\\x46\\x6a\\xc8\\xb3\\x8a\\x39\\x31\\xf1\\x4e\\x50\\x9c\\x3e\\x90\\x08\\x66\\x12\\xa2\\x8f\\xf9\\x85\\x26\\x93\\x83\\x57\\x5b\\x58\\x6e\\xac\\x58\\xff\\xd5\\x84\\x04\\xee\\xa2\\x44\\xce\\xd0\\xb5\\x97\\x20\\xad\\x91\\x68\\xe0\\xd9\\x59\\xf4\\x4b\\x03\\x34\\x0d\\xc5\\x9b\\x1f\\xbd\\x11\\x06\\x74\\x9e\\xbc\\x6f\\x58\\xd9\\xb0\\xfd\\x87\\xfd\\xa7\\x84\\xdd\\x70\\x0b\\xdc\\x84\\xfb\\xfe\\x27\\x65\\x40\\x4e\\xe9\\x9e\\xd5\\xd1\\xb9\\xb3\\x1e\\xb1\\x2f\\x76\\xcf\\xeb\\x51\\xb6\\xa4\\x39\\x74\\x73\\x20\\xdd\\x20\\xde\\x3f\\xb5\\x57\\xe9\\x84\\xe4\\x60\\x0d\\xd1\\x64\\x0a\\x63\\x68\\x64\\x79\\x2d\\xf6\\x44\\x2d\\xab\\xc5\\x3e\\x40\\xad\\x2a\\x27\\x5c\\x16\\xde\\xdf\\xa7\\x52\\xc8\\x54\\x6c\\x17\\xa4\\xe3\\x08\\xac\\x34\\xe0\\x6f\\xb8\\x1e\\xac\\xe0\\x8d\\x9d\\x91\\xbc\\x8f\\x01\\x97\\x3b\\x77\\x8b\\x1d\\x39\\xe4\\xe2\\x93\\x77\\x00\\x22\\x53\\x19\\x18\\xed\\x0c\\x08\\x14\\x6e\\xc1\\xb9\\xb9\\x1e\\x27\\xef\\x9d\\x60\\x1b\\xe0\\x3f\\xa0\\x6f\\x66\\x0f\\xc9\\xca\\x05\\xe6\\xa5\\xe5\\x0d\\x69\\x60\\x79\\x8f\\xa2\\x27\\x37\\xef\\x1d\\x50\\xfe\\x7a\\x64\\x97\\x89\\x49\\x35\\xa5\\x69\\xb0\\xd3\\x8a\\xe6\\xa8\\x6e\\x83\\x26\\xd5\\xe6\\xa5\\x47\\x7f\\xd5\\x24\\x8a\\xcd\\x03\\xf3\\x4e\\xbe\\x31\\xc6\\xeb\\x4a\\xa6\\xaf\\x2e\\xf9\\xf9\\x67\\xf5\\xbc\\x46\\x85\\x4e\\xd4\\xa3\\xd7\\xe9\\x98\\x74\\xa7\\x4b\\x19\\x95\\x5d\\x09\\xdf\\x1c\\x3b\\x22\\x2e\\xd3\\x15\\x11\\xd5\\x6d\\x68\\x61\\xe1\\xe8\\x44\\xff\\x58\\xbb\\xc9\\x95\\x8d\\x79\\xfc\\x02\\x74\\x0e\\x4e\\xa2\\xb5\\x8f\\x47\\x6b\\xdf\\xf3\\x54\\x74\\x1a\\x5a\\xce\\xf3\\xbe\\x68\\x03\\x76\\x46\\x61\\xd1\\x6f\\xf2\\x19\\x10\\x9f\\x97\\x22\\x3e\\x2f\\xa5\\x58\\xce\\xcb\\x81\\x04\\xe2\\x5f\\x09\\xa8\\x94\\x6a\\x77\\x84\\x49\\x75\\xbb\\x9d\\xe3\\x8e\\x84\\x03\\x13\\x4f\\x8b\\x27\\xd4\\x73\\xd7\\xe6\\xb5\\xa3\\x3d\\xa2\\x0e\\x37\\xd7\\x1e\\xed\\x02\\xbe\\xb6\\xe2\\x29\\x89\\xe3\\xd2\\xc6\\xfa\\xf8\\xa8\\x54\\x2f\\xf6\\x29\\x3a\\x9f\\xdf\\x81\\x1d\\x79\\xb9\\x2e\\x4f\\xb2\\xc3\\xb6\\x73\\x35\\x2e\\x30\\x78\\x0e\\xfb\\x87\\x6a\\xb7\\x6c\\x15\\x1c\\x33\\xe9\\x27\\xce\\x08\\xce\\xc6\\xb3\\x27\\xb4\\x7b\\x4c\\xba\\x94\\xd2\\x4d\\xd1\\x7c\\xb5\\x41\\xbe\\xf8\\xa0\\x99\\x51\\xe0\\x31\\xc6\\x21\\x5d\\xf1\\x2b\\xb4\\x8e\\xb9\\x54\\x31\\x35\\xc8\\x1b\\xed\\x40\\xaa\\x8c\\x43\\x45\\x5b\\x8a\\xd2\\x32\\x0b\\xca\\x7d\\x96\\xb4\\x4c\\x57\\xa6\\x8b\\x92\\x69\\xdb\\x96\\xd4\\xcc\\xe7\\x5c\\x23\\xcd\\x31\\xaf\\x7d\\xfd\\xdf\\x1b\\x81\\x4b\\xb7\\xb6\\xb0\\x7a\\xa1\\xb0\\x00\\x0e\\xad\\x77\\x86\\xae\\x34\\x8e\\xfe\\x10\\x46\\xc7\\x6f\\xf4\\x28\\x75\\x30\\xbc\\x4f\\xdf\\x2e\\xde\\x5e\\xb8\\x94\\x55\\x02\\x03\\xfd\\xc3\\x9e\\xf2\\xa5\\xab\\x87\\xd6\\x89\\x57\\xcd\\x27\\x8b\\x7e\\xd2\\x7c\\xaa\\x51\\x9c\\x9e\\xdb\\xa5\\xd4\\xb2\\xf8\\xcf\\x7d\\xc0\\x75\\xa8\\xbc\\x7c\\xef\\x09\\x6e\\xf5\\xf6\\xde\\x23\\xa7\\x8c\\xba\\x34\\x7e\\xc6\\x9c\\x94\\xa4\\xb4\\x71\\x45\\x7d\\xed\\xba\\x31\\x63\\xc6\\x0c\\x8e\\x72\\xd1\\xaf\\xa1\\x75\\x5f\\xe2\\x9f\\xe8\\x8a\\xc8\\x48\\xca\\xee\\xb5\\xec\\x43\\x50\\xf0\\x2c\\xbc\\xa3\\x51\\xe8\\x6a\\x06\\xc2\\xbf\\xc3\\x3f\\x2d\\x1e\\xe3\\x9c\\xbe\\xa3\\x7d\\xc3\\xb6\\x54\\x2f\\x1f\\xd8\\x37\\x2e\\x2d\\xa7\\x73\\xa1\\x50\\x93\\x50\\x89\\x6c\\xd2\\x1d\\xdc\\xeb\\x54\\x16\\x55\\xe8\\x75\\x66\\x29\\x53\\xd3\\x93\\xd2\\xcb\\x7d\\x49\\x94\\xc3\\x15\\xeb\\xea\\xef\\x8b\\x55\\x45\\x3a\\xf5\\x2a\\x8d\\x5c\\x53\\x81\\x63\\x40\\x30\\x4f\\x6f\\x27\\xe6\\xdd\\xed\\x16\\x1e\\xbb\\xf8\\x42\\x2e\\xbe\\x1d\\x42\\xa9\\xe9\\xd0\\x4b\\x67\\x21\\xd5\\xac\\x5d\\xa9\\x49\\xfa\\x77\\x23\\xed\\x99\\x3f\\xa0\\xa6\\x4a\\x77\\xa0\\x13\\x6c\\xc9\\xeb\\x16\\x95\\x5c\\x50\\x6f\\xdb\\xa1\\x4f\\xce\\xec\\xfd\\x58\\xd4\\xdc\\x83\\x17\\x3f\\x7c\\xee\\xe0\\x73\\x0d\\xe6\\x06\\x93\\x7d\\xc3\\xbc\\xe2\\x74\\x4b\\x92\\xcd\\xdb\\x5b\\xa5\\x65\\x3b\\x6d\\x1f\\x56\\x3e\\x7a\\x5c\\xef\\xba\\x96\\xe3\\xf0\\x43\\xd5\\x7e\\xcd\\x26\\xc6\\x31\\xc5\\x93\\x9f\\x41\\xa0\\x54\\x2e\\xb4\\xf4\\x62\\x2e\\x2c\\x99\\xbb\\xa5\\x51\\xb6\\x32\\xac\\x64\\x30\\xf1\\x15\\xb6\\xfe\\x1d\\xad\\xff\\xc7\\x68\\x8f\\xa7\\x52\\x71\\x5e\\x7d\\xa2\\xa8\\xdc\\x97\\x68\\x90\\xd8\\x28\\xbd\\xde\\x82\\xf4\\x18\\xbd\\x2a\\x10\\xd0\\x22\\x9c\\xda\\x60\\xb1\\x92\\x40\\x49\\xa5\\x47\\x67\\xcd\\x07\\x0a\\x3f\\x89\\x9d\\x20\\xea\\xec\\xd7\\x9d\\x7f\\xdc\\xf8\\xf4\\xe9\\x8e\\x89\\xf2\\x3f\\xc7\\x75\\x1f\\x81\\x13\\xe5\\x57\\xc1\\x5d\\xab\\x7e\\xea\\x65\\xe0\\x6e\\x3d\\xa8\\xe8\\x37\\x78\\xfc\\x90\\xbf\\xca\\x8f\\x2f\\x99\\x72\\x78\\x48\\x8f\\xae\\x53\\x04\\x3c\\xb9\\x0f\\x11\\xbd\\x61\\x48\\x13\\x74\\x7a\\x35\\x9c\\x84\\x41\\x06\\x2c\\x8e\\xbc\\x11\\x21\\x4d\\x15\\xed\\x48\\x7d\\x5b\\x1e\\x01\\x7f\\x67\\x04\\x04\\x99\\x09\\x18\\x40\\xe2\\x6c\\x18\\x3a\\xc2\\x1f\\x49\\xd7\\x5a\\xfc\\xeb\\x77\\xd2\\x1f\\xe1\\xb8\\x9a\\x95\\x2d\\xf7\\x56\\x33\\x27\\x5a\\xfe\\xc1\\x44\\xe3\\xf3\\x70\\x82\\x02\\xec\\x6f\\xe8\\xfd\\x32\\x24\\xc5\\xf3\\xbd\\x91\\x46\\x9d\\x49\\x03\\x58\\xa9\\x58\\xa7\\x54\\x6b\\xc4\\x34\\xab\\xd1\\xb3\\xac\\x5e\\xc3\\x84\\x29\\xd4\\x7a\\x44\\x00\\xf6\\xcb\\xbb\\x79\\xe5\\x13\\xab\\x43\\x79\\x02\\xda\\x05\\xff\\x07\\x97\\x86\\x0b\\x07\\x4e\\x06\\x7b\\x89\\x2c\\xc0\\xdd\\xee\\x0b\\x73\\x78\\x59\\x4c\\xeb\\xb2\\xec\\xf9\\x46\\x10\\x36\\x2f\\xf9\\xd7\\xb9\\xd0\\xba\\xcc\\x05\\x97\\xe5\\xcc\\x37\\x01\\xf1\\xbc\\x94\\x5f\\xe6\\x32\\x12\\xda\\xe9\\xff\\x3b\\x7d\\xcd\\xff\\x1a\\x9d\\x8b\\xff\\xde\\xcf\\x6e\\xff\\x9d\\xb7\\x9b\\x30\\x36\\x27\\xa2\\x53\\x8c\\x94\\xf2\\x24\\xaf\\x1e\\x70\\x9c\\x5c\\xa4\\x08\\xaf\\xf0\\x29\\x14\\x22\\x89\\x5c\\x2f\\x62\\x70\\x5d\\xd3\\xd0\\xeb\\x20\\x5e\\x63\\xc7\\x44\\x61\\xa4\\x63\\xad\\x23\\xf0\\xc9\\x36\\x1c\\xcf\\xf7\\x7f\\x97\\x7f\\x62\\x18\\x33\\x1d\\x7e\\xca\\xff\\x73\\x38\\x33\\x9d\\xf9\\x12\\x14\\xc0\\x97\\xc1\\xbf\\xee\\x67\\xf1\\x9f\\xfc\\x79\\x18\\x8b\\x6c\\xd9\\xf5\\x6c\\x1f\\xca\\x89\\xef\\x10\\x9d\\x16\\x0a\\x00\\x26\\x4a\\xa9\\x90\\xa9\\x65\\x15\\x48\\xee\\x85\\x60\\x30\\x84\\xde\\x23\\xe2\\x7c\\x14\\x91\\x33\\x2a\\x3b\\x78\\x43\\x10\\xd7\\xfe\\x86\\x80\\x8f\\xdd\\x61\\x5c\\x4c\\xd3\\xdb\\xad\\x94\\x3a\\xdb\\x5c\\x13\\xef\\xd6\\xf6\\xa8\\x1d\\x3f\\x51\\xeb\\x51\\xf7\\xa9\\x9c\\x72\\xc4\\x3e\\xff\\x2c\\xfc\\xe8\\xdc\\xfa\\x03\\x9f\\xf7\\x18\\x00\\x54\\xcb\\xb3\\x1a\\x2c\\x9b\\x12\\xe6\\xcf\\x2d\\x1b\\x05\\xbf\\xac\\xcc\\x2e\\xed\\x76\\xfc\\x49\\x7a\\xd1\\x7d\\x6b\\x80\\xb6\\x2a\\x42\\x5b\\x06\\xb6\\x22\\x13\\xe2\\x92\\xe3\\x2a\\x7c\\xc9\\xd6\\xff\\x2f\\x0a\\x03\\x59\\x33\\xff\\x1b\\x95\\x1d\\x5d\\xe3\\xff\\x8d\\xe6\\xf7\\xe4\\x9e\\x82\\xf4\\x2e\\xe2\\x0a\\xef\\xda\\x06\\xcd\\x7f\\x21\\xfe\\xc1\\xe9\\xe2\\xd4\\xa2\\x7c\\xdd\\x6e\\xe3\\xec\\x79\\x45\\x83\\x89\\x7d\\x0c\\x6a\\xc0\\xb7\\xac\\x54\\x44\\xa9\\xc4\\x4c\\x12\\x3d\\x9b\\x22\\x63\\x03\\x76\\xf0\\x2d\\x73\\x1b\\xed\\xef\\x68\\xca\\x75\\xda\\x66\\x31\\x5d\\x04\\xee\\x73\\x54\\x74\\x34\\x23\\xd5\\x5d\\x02\\xa9\\x68\\xf9\\x19\\x90\\x21\\xc4\\x8e\\xa0\\xd1\\x90\\xa8\\xae\\x20\\xa7\\x71\\x6a\\x85\\x32\\x76\\xc4\\x31\\xeb\\x6e\\x4b\\x1f\\xa3\\xc3\\x73\\xa7\\xf5\\x1b\\x3b\\x56\\x31\\x68\\xde\\x40\\xd9\\x9c\\xaa\\x25\\xba\\xfe\\x73\\xf6\\xaa\\x27\\x0c\\xca\\x88\\xd1\\xd9\\x4d\\x49\\x19\\x72\\xa3\\x8a\\x1d\\x55\\xee\\x1d\\x3f\\x32\\xbe\\x0f\\xcc\\x02\\xaf\\x16\\xc6\\xcf\\x5e\\x35\\x0d\\x0e\\x64\\x86\\xd6\\x4c\\x50\\xd6\\x29\\xba\\xf5\\x58\\x90\\x4b\\xd1\\x60\\x32\\xf5\\x22\\x33\\x9c\\xc3\\x35\\x92\\xd5\\x94\\xe5\\x32\\x25\\x07\\xe9\\x84\\xd4\\xcc\\xd3\\x62\\x09\\xb2\\xa1\\xb2\\x29\\x5c\\xf8\\x1f\\xaf\\x3e\\xb1\\xfe\\x82\\xb7\\x65\\x6e\\x24\\xeb\\xe8\\x37\\x8d\\x73\\x0d\\x70\\x41\\x74\\x8e\\x4a\\x17\\x93\\x10\\x2f\\xdb\\x35\\x77\\xaf\\x6e\\x28\\xb7\\x7c\\xce\\x9c\\x07\\xb9\\x92\\x11\\x5c\\xa7\\x6e\\x4c\\x8f\\x96\\x43\\x13\\x47\\xe1\\xb9\\xa0\\xad\\x68\\x2e\\x18\\xf6\\x67\\x34\\x17\\x29\\xf4\\x3b\\xc2\\x5c\\xcc\\x00\\x1f\\x33\\x83\\xd9\\x2f\\x50\\xaf\\xf6\\xd3\\x34\\xa5\\xbc\\x08\\xd2\\xce\\xc8\\x44\\xe1\\xd2\\xe7\\xd1\\x4c\\x88\\x10\\x0d\\x24\\x43\\x95\\x9f\\x84\\x40\\x8f\\x18\\x1f\\x80\\x48\\x58\\xb0\\x32\\xc6\\xdc\\x73\\xba\\xa1\\x74\\xee\\x64\\xdb\\x4c\\x13\\x93\\x50\\xd5\\x35\\xda\\x4e\\xf7\\x93\\x6c\\x6b\\x00\\x6b\\xfd\\x17\\x4e\\xed\\xa8\\xaa\\x90\\x90\\xf7\\x53\\x2f\\x90\\xf7\\x5b\\xa9\\x98\\xf3\\x06\\xa3\\x51\\x44\\xe3\\x5b\\xaf\\xb4\\xd3\\xf2\\x70\\xd5\\xf3\\x20\\x2b\\xd0\\x85\\x5b\\x08\\xa1\\x0b\\xed\\x25\\xa4\\x9e\\x73\\x01\\xe8\\xd0\\xe1\\x1e\\xa6\\x30\\x31\\x52\\x97\\x91\\x58\\x38\\x50\\x94\\x4a\\x27\\x0c\\xec\\x1a\\x67\\xa6\\xcb\\x70\\xc7\\xcd\\x2d\\xcf\\x3a\\x0b\\x25\\x53\\x25\\x65\\xfd\\xac\\xce\\xaf\\x07\\x95\\x4b\\xd1\\xbc\\xa6\\xa2\\x31\\xe7\\xa0\\xfe\\xe5\\x88\\x93\\x59\\xce\\xe9\\x28\\x2a\\x9c\\x96\\x5d\\x42\\xbd\\xea\\xa9\\x70\\x34\\x44\\x7e\\x99\\xc9\\x39\\x6e\\x77\\xa5\\xab\\xe5\\x13\\x29\\x18\\x00\\x57\\x82\\x88\\xcd\\xf0\\x9d\\x3e\\xe5\\x47\\x9e\\x80\\xaf\\xac\\x9b\\xd7\\xb9\\x66\\xd0\\xf2\\x33\\xe9\\xcc\\x09\\x90\\x0d\\xaf\\xa8\\x46\\xf4\\x6a\\x58\\x41\\xdf\\xf7\\x8f\\xab\\xee\\x3e\\x01\\x3e\\xc0\\x67\\xe6\\x9f\\xa8\\xaf\\x77\\x51\\x5f\\x5a\\xca\\x71\\x4a\\x23\\xc6\\xbd\\x30\\x78\\x21\\xcf\\xaa\\xa4\\x52\\x20\\xba\\x48\\xba\\xc3\\xd9\\x92\\xee\\x02\\xc2\\x37\\x98\\x38\\xb4\\x8b\\x10\\x07\\x33\\x16\\x20\\x9b\\x58\\x6b\\xf4\\x20\\x36\\x36\\xbd\\xd9\\xc2\\xa4\\x7e\\xd7\\x9c\\x3f\\xc7\\xc2\\xe9\\x9c\\x5f\\x2f\\xb1\\xb3\\x7a\\x20\\x69\\x00\\xdf\\xd2\\xfa\\x05\\xb3\\xfd\\x5f\\xa0\\xae\\xee\\xaf\\xce\\x1c\\x40\\x87\\xfb\\xff\\xb3\\x3c\\x93\\x1e\\x8e\\xfa\\xfb\\x91\\x7a\\x81\\xed\\x8c\\xfa\\xd3\\x51\\xe6\\x33\\x62\\x99\\x32\\xec\\x22\\x48\\x3f\\xcd\\x32\\xd4\\x45\\x34\\xb1\\x05\\x99\\xf8\\x36\\x01\\x47\\xdd\\x0b\\xe1\\x62\\x0c\\xae\\xc5\\x8a\\xaf\\x14\\x80\\x82\\x06\\x25\\x99\\xf1\\xfa\\xac\\x6e\\xe3\\xba\\x3e\\x31\\xbf\\xaf\\x41\\x24\\x36\\x83\\xd8\\xc7\\xe1\\xa0\\xfe\\xbe\\x51\\x2f\\x48\\x87\\x8b\\x46\\x4c\\xa3\\x7f\\x81\\x83\\x1b\\x4b\\xd5\\x19\\x74\\x9a\\x9f\\x6b\\xae\\xcd\\x46\\xfb\\xe6\\x1d\\xa6\\x2f\\x2b\\xe2\\x6e\\xa9\\x44\\x94\\x74\\x0e\\x3e\\x53\\x3f\\xa3\\xef\\x5f\\x91\\xef\\xdc\\x1c\\x5c\\x27\\x6f\\x24\\xcb\\x30\\x4b\\x48\\xbd\\x32\\xd9\\x19\\xb1\\x18\\x71\\xf1\\xb4\\x5b\\xa4\\xae\\xb4\\x87\\xcf\\x54\\x77\\x8b\\xe9\\x91\\x56\\x4d\\x51\\xee\\x9c\\x39\\x66\\x5f\\x2c\\xcb\\x6c\\x1c\\xb1\\xb1\\xfb\\xe3\\x8b\\xae\\x09\\xed\\x9a\\x84\\x76\\x61\\x61\\x14\\x17\\x68\\x87\\xcb\\x42\\x62\\xc5\\xdd\\xc3\\x34\\x59\\xd5\\xde\\xce\\xa4\\x1d\\x77\\x6b\\x63\\xcd\\x13\\xbd\\xf8\\x76\\xcd\\xa8\\xdd\\x7c\\x22\\x53\\x64\\x67\\x68\\x9c\\x8e\\x1e\\x68\\xe7\\x44\\x2c\\x85\\x84\\xb4\\xa0\\xf1\\xce\\x8f\\xf5\\x89\\xdc\\x73\\x9c\\xe2\\x18\\xee\\xd6\\xb5\\x28\\xc7\\xc8\\x31\\xfd\\x07\\xdb\\xbb\\x5f\\x22\\x7b\\x9e\\xde\\xc1\\x36\\x30\\x0b\\xb9\\x5f\\xd0\\x9e\\x08\\x3b\\xc5\\x4a\\x51\\x6b\\xde\\xe9\\xe5\\xe1\\x0d\\x02\\x4f\\x66\\x0e\\x13\\x93\\xe2\\x54\\x77\\xab\\x5a\\x3c\\x4a\\xed\\xee\\xce\\x95\\xc6\\x25\\x0f\\xec\\xd3\\x7b\\xcc\\xe2\\x81\\xbd\\x70\\xdb\\x25\\xa8\\xed\\x38\\xa1\\x2d\\x92\\x08\\x69\\x6f\\x92\\x0b\\x5b\\x2c\\xb3\\xc5\\xbc\\xaf\\x8c\\xb1\\x92\\x86\\x99\\x3d\\x92\\x9d\\x6c\\x43\\xdf\\xde\\xe3\\x16\\x0e\\xec\\x9e\\x1b\\x97\\x42\\xce\\xda\\x16\\xc4\\x77\\xfe\\x46\\x7c\\xa7\\xd6\\x0b\\x06\\x82\\xf9\\x22\\x51\\x3e\\x0f\\x92\\xd1\\xff\\x4a\\xe5\\x2f\\x42\\xd2\\xd2\\xc8\\x49\\xd3\\x0a\\x5e\\xf7\\x10\\x04\\x16\\x9c\\xab\\x0c\\x5e\\xef\\x1e\\x91\\x34\\x60\\x72\\xe1\\xa6\\x95\\x19\\x33\\xa2\\xb7\\xcd\\x6b\\x5c\\x5b\\xb5\\x67\\x72\\x3a\\xf8\\x16\\x8c\\x92\\x0f\\x7b\\xa5\\xe6\\xc4\\x2a\\xfd\\xe8\\xe9\\x6b\\x17\\x4d\\xfe\\x71\\x21\\xfb\\x07\\xee\\x6b\\x3d\\xda\\x8b\\x2a\\x62\\x3b\\x5b\\x2f\\x98\\x80\\x41\\x6e\\x90\\x2b\\x25\\x8f\\xea\\xcb\\x43\\x2e\\x73\\xe9\\x40\\x96\\x8b\\x70\\xd1\\xe6\\x61\\x68\\x77\\xc6\\xe8\\x69\\xee\\xb1\\xeb\\xc6\\x4d\\x69\\xa2\\xe7\\x4a\\xe6\\x0f\\xa8\\x2b\\x2c\\x2b\\x49\\x8a\\xea\\x01\\xbe\\xfd\\x43\\xdc\\xbc\\xa0\\xf2\\x85\\xe5\\xdd\\xa6\\xd5\\x49\\x97\\xf9\\x5e\\xaf\\xf4\\x0d\\x93\\xc3\\xa7\\x5a\\x5b\\xa9\\x89\\xd4\\x76\\xb6\\x8c\\x3d\\x8a\\xf6\\x44\\xe4\\xef\\xd8\\x2f\\xd6\\x88\\xbe\\x8f\\x26\\xdf\\x1d\\x32\\x7c\\x36\\x66\\x53\\x3f\\xb0\\x55\\xec\\x45\\x4a\\x84\\xd7\\x4c\\xc4\\x02\\x2a\\xcd\\x7d\\x1b\\x6f\\x4f\\xa7\\x04\\x97\\xc8\\x62\\xab\\x0e\\xc1\\x73\\xf0\\xe2\\x21\\xb0\\xfd\\xf0\\x0f\\x8c\\xa2\\xe5\\x67\\xe6\\x8d\\x8e\\x6d\\x58\\x8e\\x41\\x6d\\x6e\\x67\\x92\\x36\\xb8\\x5e\\x88\\x9b\\xbe\\x78\\x18\\x8e\\x3b\\x04\\x4a\\x40\\xe9\\xa1\\x1f\\x98\\x37\\x50\\x1b\\x05\\x1e\\xf7\\x0e\\xf6\\x14\\x9b\\xcd\\x9d\\xc5\\x7b\\xea\\x1c\\x1d\\xb6\\xa6\\x86\\x7e\\x82\\x22\\x1e\\x35\\xb1\\x33\\xce\\xc9\\x39\\x3d\\x2e\\x37\\x9b\\xcd\\xd6\\xbe\\x44\\x43\\xff\\x04\\x16\\xa4\\xec\\x67\\x5f\\xc1\\xc8\\xb5\\x3f\\xa1\\x76\\xaf\\xa3\\x76\\x63\\x84\\x76\\x80\\x59\\x53\\x03\\x84\\x76\\x6d\\x55\\x49\\xba\\xee\\xbf\\x23\\xc0\\xe0\\xb2\\xa7\\x02\\x80\\xb7\\x80\\x3e\\xc0\\x36\\x32\\x55\\x7c\\x8d\\xc8\\xd3\\x4c\\x23\\x22\\x31\\xe2\\x36\\x51\\x0a\\xdc\\x8c\\x61\\x5a\\xe1\\x34\\xb6\\x11\\xf4\\xe1\\xf9\\xec\\x87\\x88\\x33\\x98\\xb8\\x4a\\xec\\xd5\\x38\\x47\\x31\\xeb\\x7c\\xd4\\x26\\xfe\\xfd\\x38\\xa4\\xbc\\xd5\\xff\\x37\\x33\\x1d\\xc7\\xbe\\xbb\\x08\\xbd\\xaf\\x33\\x7b\\x8e\\xb9\\x8a\\xde\\xc7\\x91\\xf7\\x51\\xc2\\xfb\\x70\\x52\\x35\\x87\\xfe\\xdf\\xd9\\x3b\\x1c\\xfc\\x98\\x3d\\xa7\\x03\\x8c\\xed\\x3e\\xbf\\x97\\x35\\xe8\\xf9\\x9c\\x87\\x9e\\x47\\x44\\x6b\\xc5\\xf4\\xbb\\x57\\x45\\x77\\xfa\\xb1\\xec\\xb9\\xfb\\x36\\xe8\\xd7\\x91\\x58\\xee\\x3a\\x3a\\xbe\\xf5\\x3c\\xa1\\x15\\x34\\x32\\x6d\\xb4\\x82\\x7f\\x21\\x5a\\x61\\x9d\\x40\\x2b\\x75\\x0e\\x7e\\x4f\\xff\\xd2\\x3a\\x11\\x3d\\x17\\x76\\x0a\\xa0\\xc7\\x04\\xf4\\x4f\\xfa\\x9e\\xff\\x23\\x33\\xed\\x82\\xdf\\x23\\x3a\\x81\\x07\\xbd\\xab\\xa6\\x75\\x31\\xe9\\x97\\x0a\\xbe\\x8b\\xf4\\x0b\\xfe\\x24\\xfd\\xc2\\xba\\x40\\xbf\\x22\\xf4\\xec\\xda\\x87\\x9e\\x25\\x63\\x02\\x22\\x7e\\x4c\\xb0\\x2e\\x38\\x26\\x1a\\x6c\\xa4\\x28\\xa6\\x33\\xdb\\x89\\xd4\\xd4\\x54\\x9e\\xc3\\xe0\\x71\\x4a\\x96\\x4a\\x2b\\x50\\x13\\x33\\x17\\x2d\\x24\\x83\\x96\\x84\\xe9\\xdc\\x2c\\xef\\x72\\x77\\x9d\\x1c\\x3d\\xf7\\xc1\\x07\\x0f\\x6e\\x7c\\xf0\\x01\\x9a\\x8b\\x31\\xcc\\x68\\xa1\\x9d\\x04\\xcb\\x32\\xc4\\x04\\x85\\xe7\\x3b\\x0b\\xcf\\x21\\x5a\\xee\\x50\\x43\\xe8\\xd3\\xe0\\x83\\xbf\\x3e\\xfb\\x74\\x75\\xdb\\xd9\\x07\\x69\\xa1\\x67\\x1f\\x5c\\x40\\x6d\\xb7\\x0b\\x6d\\x85\\xb3\\xef\\x6a\\x77\\xf6\\xe9\\xf2\\xe0\\xd9\\x1f\\x12\\x7a\\xf4\\x51\\xdb\\x7a\\xea\\x59\\xfa\\x6b\\x00\\xd1\\x88\\x54\\xe7\\xb8\\x46\\x11\\x4d\\xe3\\x13\\x80\\x4c\\x5a\\xd4\\xbf\\xcb\\xc1\\x5b\\x71\\xf4\\x3b\\x70\\x9b\\x7e\\x5e\\xca\\xb4\\x94\\x79\\xcf\\xd6\\x7f\\xf9\\x25\\x6a\\xb3\\x95\\x7a\\x96\\xd1\\x09\\x6d\\x90\\x42\\x2a\\x26\\x53\\x77\\x2b\\x93\\xd7\\x85\\xb1\\x18\\x46\\x6b\\xd2\\x4a\\x1a\\xe8\\xc1\\x78\\xb0\\xf1\\xcb\\x2f\\xeb\\xf9\\xbe\\x9a\\xa8\\xa7\\x69\\x48\\x63\\x8d\\x5e\\x77\\x01\\xb5\\x93\\x8a\\x44\\x12\\xd4\\xf2\\x36\\x86\\x2b\\x0a\\x69\\xcb\\xf7\\xf9\\xcd\\x3c\\xd3\\x34\\xd3\\x3c\\x3d\\xf9\\x09\\xa2\\x16\\x2c\\xa8\\x9f\\x3f\\x9f\\xec\\x81\\xfb\\x40\\xcb\\x2c\\x03\\x7b\\xc8\\x1e\\x20\\xb4\\x0a\\x7b\\xb5\\xce\\xbf\\xde\\x42\\x4f\\x05\\xda\\xb5\\xa8\\x9f\\x4f\\xd1\\x99\\xa9\\x40\\x67\\x46\\x8e\\x73\\x03\\xa4\\x2c\\x25\\x46\\xdb\\x9a\\x5d\\x53\\x43\\xe1\\xa3\\x13\\x8c\\x65\\xe9\\x0a\\xdc\\x81\\x9c\\x0a\\xfa\\xcb\\x86\\xb5\\x8b\\xc2\\x9e\\x1c\\x38\\xda\\xb6\\x28\\xe3\\x25\\xf6\\xd4\\xaa\\x19\\xa2\\x65\\x3d\\x0a\\xe6\\xae\\x24\\xfb\\x78\\x33\\x27\\x23\\xb2\\x80\\x9c\\x0f\\xb0\\xa1\\x26\\x70\\x3e\\x70\\x46\\xcb\\x66\\xd7\\x6b\\x2e\\x52\\xfe\\x90\\xa2\\x69\\x39\\x3b\\x9f\\xf9\\x53\\x14\\x8e\\xfa\\x34\\x53\\x51\\x5e\\x8d\\x58\\xdd\\xec\\x13\\xe3\\x2a\\x57\\x62\\x31\\x45\\x19\\x9b\\x7d\\xa4\\x6f\\x02\\x58\\xc6\\x57\\xae\\x6b\\x2b\\xca\\xa0\\x00\\x9e\\x90\\x1a\\x0c\\xf4\\xc7\\x23\\xa6\\x90\\x02\\x0b\\xbd\\x9b\\xca\\x83\\xc5\\x14\\xe6\\x57\\x95\\x92\\x42\\x09\\x05\\xd3\\xf2\\xdf\\x0f\\x94\\x45\\xc0\\xf3\\x69\\x85\\x03\\xe9\\x59\\xe8\\x5f\\x2a\\x4a\\x7b\\x1a\\xf1\\xa2\\x8b\\x20\\xf6\\x74\\x20\\xab\\x30\\x2d\\xc0\\xfe\\xf1\\xf8\\xf8\\x60\\x2c\\x11\\x78\\xab\\xc6\\x37\\x63\\xc8\\xb2\\xca\\xc9\\x65\\x9e\\x42\\x7d\\x11\\x1c\\xd8\\xb7\\x5b\\xf9\\x8e\\x8c\\xa4\\x27\\xba\\x14\\x99\\x26\\x5a\\xc8\\xfb\\x16\\xa1\\x79\\x5b\\xc0\\x1d\\xa1\\x4c\\xb8\\x9a\\xa5\\x8c\\x5b\\xe7\\xd3\\xc9\\xf0\\x10\\x64\\x94\\x97\\x52\\xaf\\xf3\\x85\\xe1\\x31\\x64\\x92\\x62\\x9d\\xb7\\x93\\x32\\xc9\\x28\\xf8\\xdc\\x34\\x9c\\x83\\x92\\x49\\x22\\xbc\\x50\\x67\\x34\\xd3\\x94\\xd8\\xa7\\xa4\\xbb\\xd3\\x95\\x6e\\x9e\\x92\\x38\\xaf\\x2a\\xb9\\x6f\\xcf\\x22\\x47\\x7c\\xa6\\x6e\\x6a\\x64\\xe1\\x10\\xf6\\x94\\x2b\\xc5\\x95\\x56\\xb2\\x72\\x0a\\xfa\\xf0\\x78\\x47\\x8e\\xcc\\xc1\\xf6\\xcd\\x2e\\xf6\\x14\\x73\\x03\\xad\\x15\\x87\\x77\\x85\\x57\\x12\\x46\\x73\\xf4\\x9a\\x9a\\x70\\xee\\x09\\x2a\\x18\\x1f\\x5b\\x00\\xd0\\x79\\x74\\x90\\x9f\\xb4\\x84\\x85\\x97\\x44\\xf0\\x10\\xcc\\xe1\\x3f\\xd9\\x53\\xba\\x9f\\x6c\\x5f\\xe1\\xbf\\x64\\x6f\\x48\\xc1\\x58\\x1a\\x30\\x32\\x74\\xc2\\x8c\\x5e\\x89\\x88\\x65\\x25\\x0a\\xb9\\x1c\\x31\\xce\\x34\\xbc\\x35\\x79\\x53\\x4d\\x1b\\x92\\x3c\\xdb\\x15\\x88\\x3d\\xf7\\x69\\x3a\\xd6\\x9d\\x55\\x15\\xb9\\x72\\xc0\\xc4\\xa1\\x15\\x2c\\x23\\x5b\\x51\\xdc\\x25\\xfe\\x89\\xac\\xc7\\x27\\x1b\\xb5\\xab\\xd1\\x7c\\x0c\\x66\\x52\\xd8\\xe1\\xdc\\xdb\\x88\\x32\\xf1\\x49\\x8e\\x32\\x13\\x51\\x1e\\xc7\\xc5\\xb9\\x90\\xe6\\xe2\\x32\\x72\\x0c\\xac\\xbd\\x09\\xdf\\xeb\\x09\\x92\\xdf\\xa8\\x7d\\x1d\\x24\\xf6\\x84\\xef\\x31\\xcb\\xaa\\x1f\\x3c\\xa8\\xbe\\x7f\\x9f\\xfc\\xc4\\xfc\\x62\\x3b\\xd2\\x83\\xca\\x89\\x0e\\x6b\\x45\\xd2\\x8e\\xa1\\x44\\x46\\x16\\x68\\x90\\x96\\x97\\x45\\xb1\\xe8\\xed\\xe9\\xbc\\x96\\x47\\xa2\\xe6\\x88\\xc1\\x28\\xa8\\x79\\x7c\\x92\\x33\\x56\\xf4\\x48\\x12\\xa2\\x81\\xce\\xde\\xb1\\x70\\x36\\xc8\\x5b\\x09\\xa7\\x47\\xc9\\x6b\\x2a\\xbb\\x95\\xf7\\x2d\\xb5\\x39\\xcc\\xb9\\x16\\x33\\x5d\\x4d\\xaf\\xf1\\x7f\\x4b\\x1b\\xfc\\x53\\xc6\\x15\\x47\\x8e\\x98\\x54\\x51\\x34\\x70\\xec\\xd7\\xd9\\x29\\x9e\\x1e\\xe5\\x5e\\x93\\x99\\xe4\\x22\\xd1\\x66\\xf0\\x1d\\x53\\x25\\x02\\x68\\xef\\x2a\\x2e\\x61\\x9d\\x5d\\x10\\xb2\\x58\\x92\\xbb\\x19\\xda\\x7c\\x7d\\xee\\x75\\xf0\\x1d\\x6b\\x78\\xf0\\x2d\\x5e\\xfb\\x22\\xa4\\x6f\\x7f\\xcc\\xfe\\x0f\\xe5\\x42\\x6b\\x2f\\x95\\x47\\x46\\x88\\xd1\\x1f\\xc6\\x6a\\xbc\\x84\\x6c\\x0e\\x29\\xb2\\x3c\\xd2\\x02\\x51\\xeb\\x41\\x9c\\x3d\\xd1\\x23\\x6a\\x2e\\xe7\\x04\\x2c\\x0f\\xbe\\x30\\x33\\x73\\xe4\\xf0\\x9e\\x85\\xcb\\x23\\xc6\\xe8\\x6a\\x06\\x8d\\x1c\\x6b\\xcb\\x1b\\xd1\\x30\\x66\\xe7\\x86\\x9f\\xa2\\xa6\\x58\\xd7\\x54\\x0e\\xf1\\xce\\xac\\xa9\\xcc\\xa0\\x5f\\x9f\\xb6\\xa0\\xba\\x32\\x3e\\x2f\\xbf\\x87\\xd7\\x96\\xec\\x70\\xc4\\x8e\\xef\\x31\\x6e\\xca\\x59\\x75\\x6d\\xae\\x3b\\xd1\\xe3\\xb2\\xe7\\x95\\x11\\x3b\\xc9\\x80\\xf4\\x85\\x54\\xf6\\x0b\\x64\\x1b\\xa4\\xd3\\xfb\\x28\\xde\\x76\\x12\\x74\\x08\\x8d\\x88\\x6e\\x22\\xfb\\x76\\x26\\xe2\\xcb\\xd5\\x82\\xac\\x01\\x0c\\x62\\xc9\\x6e\\x8c\\x16\\x47\\x8a\\x10\\x33\\xd5\\x5b\\xe0\\x69\\xf0\\x05\\xd7\\x63\\x79\\xc8\\x73\\x98\\x6f\\x31\\x2c\\x2b\\x06\\x48\\x43\\x4b\\xe3\\xd5\\x6c\\xfe\\x69\\xb5\\x9b\\x7f\\xbe\\x6c\\x0b\\xf3\\xc5\\x72\\x30\\x8a\\xfa\\xbf\\xb5\\xa1\\x77\\x2e\\xa7\\x8f\\xfe\\x1f\\xdb\\x80\\xaa\\xe5\\xcc\\x4f\\x6d\\x6d\\xde\\x20\\x63\\xa0\\x01\\x52\\x39\\xf1\\xd3\\x09\\x80\\x7f\\x16\\x5a\\xd1\\xa3\\xcb\\xb9\\xee\\xc4\\x6e\\xa1\\x98\\xc1\\xcc\\x54\\xf2\\x1c\\x8b\\x85\\x20\\xff\\x1c\\x2e\\xbe\\xcc\\x0c\\x86\\xe6\\xc9\\x60\\x0e\\x33\\xb5\\xe5\\x4f\\xc1\\x86\\x12\\x9e\\x25\\x7c\\x5a\\x24\\xe2\\x18\\x2e\\x48\\x07\\xc0\\x45\\x9a\\xf9\\x36\\x8f\\x4f\\x46\\x8d\\x70\\x6d\\x66\\x66\\x2a\\x9c\\x4b\\xce\\xd1\\x01\\x58\\xc5\\xd8\\x5b\\xa7\\x20\\xfd\\x46\\x71\\x96\\xa3\\x11\\x77\\xa7\\xd2\\x32\\x23\\x6e\\x23\\xa1\\x85\\xa3\\x5a\\xdd\\x46\\x0f\\x63\\x87\\xdf\\xbc\\xb4\\xef\\x64\\xdd\\xa9\\x0d\\xf0\\x6b\\x60\\x7a\\xf1\\x45\\xbc\\xd7\\xcf\\xb3\\x1f\\xb0\\x63\\x45\\x56\\xbe\\xde\\xf4\\x59\\xc0\\x34\\x8a\\x50\\x67\\x48\\x8c\\x64\\x0a\\xfc\\x19\\xa3\\x80\\x95\\xf9\\xd7\\x1b\\xe9\\xa9\\x05\\xe4\\x27\\x77\\x70\\x36\\xbc\\x34\\x9b\\x97\\xab\\x73\\x91\\xde\\xfc\\x16\\xd1\\xb7\\xb5\\x94\\xe6\\xbc\\x26\\x2c\\x4c\\x4b\\x29\\x71\\xeb\\x5b\\x99\\x3c\\xad\\x41\\xbd\\xdb\\x11\\xfc\\x17\\xbd\\x23\\xa8\\x81\\x83\\xdf\\x1f\\x56\\xc6\\x83\\x3a\\x39\\x25\\x85\\xbb\\xc1\\xf1\\x56\\xac\\xab\\x29\\xcf\\xb1\\xa0\\x91\\x63\\x8c\\x68\\x27\\x93\\xc1\\x68\\xc9\\x58\\xdc\\x6f\\x56\\x4c\\x9f\\x5e\\xb0\\x78\\x3a\\x7a\\xcc\\x7c\\xf4\\x28\\x1f\\x8b\\xf4\\x0e\\xfa\\xf2\\x58\\x5b\\x1b\\x5a\\x14\\x6c\\x83\\xd4\\x2e\\x31\\xd6\\x4b\\x1e\\xc3\\x4d\\x3e\\xad\\x80\\xbb\\x8f\\x1e\\x05\\x66\\x32\\x67\\x29\\x70\\x10\\x6a\\x73\\x1f\\xb5\\x41\\xf2\\x9b\\x22\\xf2\\x9b\\x53\\x02\\xa3\\x38\\xce\\x03\\x1e\\x33\\xbc\\xf0\\xa4\\xe1\\x0f\\x95\\x68\\xfa\\x88\\x11\\xd3\\x8f\\x54\\xa0\\x67\\x65\\xe8\\xd9\\x41\\xc2\\xb3\\xb4\\x88\\x7f\\x56\\xcc\\x15\\x20\\x2d\\x05\\x0c\\x52\\xc1\\x1b\\x86\\x17\\xb6\\x1a\\x4f\\x54\\x1c\\xc1\\x8f\\x93\\xf9\\x69\\xfd\\x05\\x56\\x81\\x55\\xad\\xef\\x22\\x3e\\x64\\x44\\x1a\\xa7\\x9e\\x51\\x4a\\xc8\\xe4\\xe0\\xd8\\x21\\x9e\\x5d\\x04\\x4a\\x8b\\x07\\xa4\\x08\\x58\\xb5\\x69\\x68\\x8f\\x11\\x1b\\x86\\xf7\\x18\\x39\\x32\\x3d\\x2e\\xb7\\x67\\x7a\\x7c\\x56\\xef\\x37\\xab\\x96\\x0e\\xed\\x31\\x60\\x79\\x4d\\x7f\\x57\\x4a\\x8f\\x74\\x57\\x5a\\x77\\x4c\\xf3\\x3a\\xa4\\xbc\\xff\\x9d\\xee\\xd6\\x41\\x47\\x63\\x88\\xae\\x34\\xef\\x7b\\xd1\\x9d\\x39\\x2c\\x7a\\xc0\\x60\\x83\\xff\\xd4\\xf1\\x74\\x7c\\x0d\\x94\\xf4\\x06\\xf2\\x7c\\x38\\x5a\\xe3\\x30\\xb4\\xc6\\xc1\\x9d\\xc1\\xb7\\x72\\x90\\x9f\\x74\\x1a\\x69\\x0b\\x7b\\xb6\\x7b\\x45\\xf0\\x45\\x74\\xeb\\x19\\xf4\\x9e\\xd7\\x1f\\xfd\\x1e\\x06\\x6b\\x5f\\xc0\\x4d\\x7e\\xf6\\x65\\xbf\\xb9\\x23\\x82\\x87\\xfd\\xfc\\x07\\x50\\xea\\x40\\xa4\\x0d\\x7e\\xcb\\xff\\x24\\xeb\\x94\\x01\\xeb\\xe9\\xcc\\xd6\\x06\\x34\\x2b\\xba\\x0b\\x5a\\x99\\x44\\x4d\\x35\\x72\\x32\\xbc\\xe9\\xfe\\x9e\\x79\\x5d\\x75\\xfd\\x11\\xf2\\x09\\x8b\\x27\\x90\\x95\\xd8\\xa7\\x87\\x37\\xd2\\xd3\\x4d\\x57\\x93\\xd0\\x38\\x28\\xb9\\x6f\\xf7\\x7c\\xfb\\xb8\\xd8\\x21\\xd1\\xdd\\x6a\\x60\\x3d\\x12\\x4b\\xf9\\x79\\x6b\\x17\\xa1\\x8f\\xc7\\xea\\xc6\\x75\\x41\\xfb\\xf2\\x5b\\xb0\\x91\\x59\\x24\\xd4\\x50\\x37\\x7b\\x65\\x34\\xb3\\xa1\\x86\\x66\\xbd\\x2c\\xb7\\xa1\\x06\\xf1\\x18\\x22\\x08\\x6f\\x09\\xaa\\x00\\x51\\x07\\x36\\xc5\\x5f\\x8b\\x87\\x4f\\xa0\\x1f\\xac\\xff\\xce\\x9d\\x96\\xcd\\x77\\xee\\x60\\x1e\\xac\\x46\\x7a\\xc1\\xd7\\x84\\x37\\xc9\\xce\\x00\\x4e\\xd0\\x94\\x48\\x98\\x10\\x76\\xcc\\xbd\\x05\\xbf\\x4f\\x68\\x2a\\x04\\x5b\\xb8\\xfe\\xef\\x81\\x72\\xc2\\xb3\\x3b\\xa3\\xe7\\xbf\\x11\\x9e\\xe7\\x04\\x65\\x98\\x3c\\xcf\\x60\\xad\\xaa\\x12\\x6c\\x29\\x6c\\x4a\\x80\\xdf\\x73\\xb7\\xe0\\xc9\\xf7\\xc8\\xbe\\xfb\\x04\\x56\\x21\\x1d\\xf6\\x10\\x79\\x9e\\x0d\\x7d\\x1e\\xcd\\xa0\\x83\\x9e\\x05\\xeb\\xd0\\xf3\\x40\\x87\\x36\\x50\\x79\\xdb\\xf3\\xe7\\x85\\xe7\\xa9\\x36\\x7a\\xb4\\x48\\xd7\\x63\\x1c\\xbf\\x03\\x1d\\x22\\x07\\xd6\\xc1\\xbb\\xef\\xc1\\x93\\xbc\\xce\\x9d\\x81\\x78\\xc1\\x18\\xf4\\x3c\\x3e\\xd5\\xe8\\xfd\\x22\\xac\\x76\\x87\\xf4\\x80\\x5a\\x39\\xfd\\x8a\\xc2\\x15\\x71\\xe0\\x9f\\x71\\x2b\\x71\\x2f\\x37\\x6f\\x0a\\x79\\x8a\\xb0\\x9a\\x29\\x14\\xfa\\xa1\\x39\\xde\\x00\\x41\\xad\\x8c\\x6e\\x0c\\x6a\\x36\\x75\\x5d\\x1c\\x5d\\x1b\\xe1\\x0f\\xf3\\xbd\\xf6\\x38\\x7e\\xf6\\x55\\xf4\\x6c\\x18\\xb5\\x13\\x9d\\x7f\\xc4\\x39\\xc2\\xc2\\x18\\xde\\x70\\xc6\\xb1\\x71\\x0e\\xa3\\x93\\xf1\\x60\\xe8\\x31\\xfa\\x37\\x38\\x68\\xd5\\xd4\\xdd\\x0c\\x90\\x4f\\xfd\\x06\\x1c\\x3d\\xf7\\x0b\\xb0\\x28\\x80\\xe5\\x17\\x0a\\xc0\\x7f\\x8b\\x64\\x94\\x4e\\xec\\x6c\\xbf\\x87\\x19\\xa2\\xef\\x97\\x11\\x75\\x5f\\x24\\xe3\\xd5\\x7d\\xb4\\x5f\\x7c\\xe8\\xd9\\x4f\\x1f\\x7a\\x96\\xe8\\xfb\\x87\\x78\\x75\\x5f\\x24\\xe3\\xd5\\x7d\\xd0\\x9a\\xcd\\x9e\\x02\\x77\\xb8\\x77\\x08\\x4d\\xac\\x04\\x29\\xc6\\xc1\\x71\\x0b\\x16\\x1b\\x92\\xd7\\x77\\xd8\\xda\\xe7\\x69\\xf8\\x3b\\xb2\\xd8\\xec\\xb7\\x90\\xc5\\x76\\xe4\\x88\\x0e\\x60\\x5b\\xaf\\xc5\\xcd\\xb5\\xb4\\x66\\x88\\x7e\\x45\\x7a\\x94\\xee\\x82\\x4e\\x26\\xe1\\x64\\x8d\\x6a\\x61\\x83\\x3f\\x7a\\x5f\\x12\\xbd\\x09\\xe6\\x10\\xbd\\x29\\x26\\xcd\\xd2\\x51\\x6f\\xe2\\x5a\\xd0\\x96\\x4c\\xe9\\x1d\\xaa\\x37\\x81\\xd6\\x99\\xec\\xbb\\xe0\\x34\\xb1\\xdb\\xda\\xe9\\xc1\\x60\\x1b\\xb1\\x85\\x88\\xcd\\x06\\x67\\x88\\x9c\\x4c\\xb6\\xe8\\x00\\x6f\\x2f\\x61\\x0a\\xf0\\x66\\x75\\x88\\xe1\\x0c\\x33\\x7b\\xc4\\x2c\\x72\\x36\\x35\\xa1\\xf7\\xac\\x63\\xcf\\x83\\x0f\\xb9\\xe7\\x29\\x05\\x1a\\x67\\x38\\xd7\\x18\\x46\\x08\\x25\\x3b\\x02\\x8b\\x77\\x37\\x8f\\x62\\x83\\x74\\xc8\\xa6\\xe9\\x8d\\x00\\xd4\\xd2\\x83\\x7a\\x97\\x4e\\x35\\xd7\\xc6\\x9f\\x67\\xcf\\x2f\\x9a\\xa6\\xeb\\xda\\xb3\\xa4\\xcb\\xdc\\x55\\xfc\\x7a\\xa7\\xb0\\xef\\x01\\x9a\\x5b\\x8c\\xfa\\x0a\\x3f\\x4b\\x81\\xf5\\x35\\xf8\\xc6\\x9b\\xdc\\x82\\x89\\x53\\x1c\\x67\\x1d\\xec\\x7b\\xc7\\x8e\\xf1\\x3c\\x64\\x12\\x7b\\x0d\\xbc\\xc8\\xcd\\x23\\x67\\x4a\\x73\\x81\\xa3\\x29\\x7a\\x7d\\x0d\\xe6\\x97\\x99\\x42\\x7c\\x81\\x87\\x6c\\x2a\\xf1\\xef\\x31\\x4f\\xc7\\xf8\\xdf\\x89\\x39\\x10\\xc3\\x5e\\xbb\\x88\\xfe\\x23\\x7d\\xc0\\x8f\\xb8\\x9b\\x54\\x83\\x38\\x89\\xd2\\x60\\xb9\\xc4\\x30\\x61\\x4a\\x5e\\xb5\\x43\\x6b\\xc8\\x03\\xa4\\xe4\\xe0\\x3a\\xcf\\x22\\x25\\x70\\x62\\xf4\\xb4\\xe4\\xd8\\x92\\xde\\xb2\\xe1\\x13\\xdf\\xa9\\x1d\\x23\\x9d\\x6a\\x2c\\xcb\\x16\\xad\\x8e\\xb0\\x99\\x46\\xdb\\x17\\x94\\x8c\\x08\\xcf\\x6c\\x60\\x9c\\x84\\x96\\x2f\\xd8\\x2f\\xc1\\x3c\\xd1\\x28\\x81\\xaf\\x2a\\x25\\x7a\\x46\\xe0\\xab\\xe0\\xaf\\xf8\\xea\\xbc\\x87\\xf8\\x2a\\xf7\\x52\\x47\\xc6\\x4a\\xc3\\x56\\xf6\\x14\\x9d\\xcf\\x7d\\xf1\\x48\\x3e\\x89\\x77\\x33\\xe2\\x6f\\xf8\\x27\\x7a\\x0e\\xa8\\x11\\x6b\\x6b\\xf4\\x0b\\x9f\\x48\\x9d\\x6d\\xcf\\xe2\\xd0\\xfa\\xd4\\xa1\\x77\\xb1\\xc2\\x3e\\x14\\xb3\\x8d\\x22\\x10\\xd8\\x87\\x48\\x7c\\x09\\x1e\\x80\\xef\\x6f\\x9d\\x67\\x27\\xbc\\x4a\\xb7\\x60\\x07\\x00\\x50\\xe0\\x6d\\x88\\x73\\x98\\xd9\\x46\\xea\\xe7\\x8e\\xf6\\xbf\\x16\\xc9\\xae\\x53\\x01\\xf3\\x9f\\x6e\\x7d\\x0b\\x7d\\x0e\\x17\\xf8\\x9b\\xe2\\xac\\x88\\x69\\xe4\\x42\\xde\\xae\\x75\\xe3\\xbf\\x85\\xe8\\xe9\\x9d\\x42\\x0b\\x78\\x96\\x18\\xe2\\x74\\x6b\\x22\\xa2\\x49\\xcc\\x1d\\x7e\\xe4\\xf8\\x5c\\x88\\x28\\xb1\\x83\\xfc\\x04\\x07\\xe0\\xa7\\xa2\\x3b\\xcf\\x22\\x41\\xc0\\x7f\\xb2\\xa7\\xee\\xd9\\x3e\\xd7\\xe1\\xbf\\xe8\\x1d\\xcd\\xec\\x19\\xf0\\x81\\x68\\x0c\\xda\\x77\\x1a\\xc4\\x5b\\xa5\\xe1\\xac\\x9a\\x55\\x87\\x29\\x5f\\x12\\xf6\\x9f\\x9a\\xf8\\x81\\x1e\\xda\\x84\\x5a\\x64\\x20\\x2e\\x6e\\xbf\\x11\\x3d\\x78\\x77\\x9d\\x09\\x6e\\x46\\x70\\x8a\\x6c\\x34\\xd0\\x3a\\x14\\xed\\xeb\\x83\\xc2\\xbe\\x0e\\xa3\\x1a\\x65\\x41\\x6d\\x44\\x8b\\x3d\\x4a\\x4e\\x92\\x22\\x88\\x4f\\xe0\\xd9\\xe9\\x8b\\xc8\\xeb\\x7a\\x15\\xcd\\xb6\\xd6\\xc6\\x3f\\xc7\\x3d\\x4f\\x5e\\x55\\x58\\x34\\x67\\x35\\x3f\\xff\\xff\\x61\\xbe\\x03\\x96\\x87\\x7d\\x88\\x4c\\xd0\\x87\\x18\\xee\\x50\\x17\\x74\\x9a\\x37\\xc7\\x58\\x9d\\xc4\\x7c\\x77\\x78\\xf0\\x96\\x5e\\xab\\xe6\\x7f\\x14\\x68\\x67\\xfd\\x6f\\x3e\\x44\\x60\\x75\\x18\\x0a\\x72\\xe6\\x35\\x98\\xab\\x13\\xb9\\x5b\\x87\\x27\\xae\\x2e\\x5a\\xb9\\xe0\\x23\\xb4\\x6e\\x0e\\xd4\\x4e\\xff\\xbf\\xf8\\x10\\x81\\x3e\\xa9\\x5a\\x94\\x39\\x2f\\x3a\\x2c\\x81\\xbb\\xf5\\x51\\x94\\x63\\xf8\\xb8\\xbe\\x55\\xd1\\x7d\\xee\\xf0\\xe7\\xb0\\x86\\xf9\\x06\\xcc\\x47\\xe7\\x04\\xf7\\xcb\\xb2\\xa2\\x00\\xbd\\xda\\x38\\xdc\\xa7\\x1b\\xf5\\x3e\\xc7\\x3e\\xd5\\x35\\x2c\\xe1\\x65\\x87\\x6d\\x0a\\xf3\\x4d\\xcf\\xc4\\xa7\\xde\\x3e\\xb0\\x79\\x09\\x3e\\x5b\\xef\\xc0\\xda\\xd6\\xdf\\x5b\\x1b\\xdb\\xfb\\x42\\x78\\x3e\\x3a\\x91\\x77\\x9b\\xd4\\x06\\xf8\\x28\\x7c\\x12\\xd6\\x51\\xf6\\x47\\xfb\\x4d\\xe0\\x93\\x0f\\xf9\\x4d\\x00\\xdc\\x01\\x87\\x53\\x89\\xad\\xe7\\xc8\\x2e\\x43\\xfa\\x30\\x56\\x87\\x6f\\x13\\xfe\\xce\\x08\\xf6\\xbe\\x69\\x8a\\xe1\\x57\\xf4\\x67\\x0a\\x1c\\x3e\\x63\\xda\\x74\\xbe\\xcd\\x7e\\xd4\\xc6\\x2d\\xb4\\xe1\\x68\\x5a\\x0c\\x02\\x6d\\x38\\x72\\xaf\\x2c\\x76\\xc2\\xaf\\x84\\x46\\xa5\\xd3\\xa7\\xcd\\xe0\\xd7\\xaa\\x84\\x7d\\x85\\x1e\\x28\\x5a\\xc1\\xf3\\x77\\x8e\\xb8\\xe5\\xf8\\x8b\\x30\\xc4\\x17\\xfd\\xeb\\xba\\xfa\\x77\\x59\\xe8\\x9f\\xd9\\x57\\x40\\xde\\x2a\\x8c\\x75\\xcd\\x32\\x88\\x0f\\xfd\\xb7\\xf5\\x79\\xf1\\x51\\x3e\\xde\\xd6\\x70\\x58\\xd5\\xfa\\x63\\xeb\\x5d\\xe2\\x6b\\x41\\x0a\\x1c\\xf6\\xb5\\x30\\xed\\x7c\\x2d\\x43\\x82\\xae\\x16\\x58\\xd5\\xde\\xd7\\x02\\xd7\\xc3\\x2a\\x4a\\xd6\\x7a\\x98\\xe8\\xe3\\xd8\\xd3\\xd2\\xc8\\x05\\xfd\\x26\\x8c\\xe0\\x6b\\x91\\x04\\x5c\\x2d\\xb0\\x8a\\xf8\\x5a\\xe0\\x8b\\xa8\\x4d\\x27\\xa1\\x0d\\x3a\\xc7\\x1c\\x27\\x0e\\xfa\\x67\\x8c\\x82\\xaf\\xc5\\x15\\x70\\xb5\\x5c\\x27\\x9e\\x16\\x00\\x0f\\xa3\\x36\\x31\\xad\\x97\\x43\\xfc\\x2c\\x8c\\x24\\xc4\\xcf\\xa2\\x0d\\xf1\\xb3\\x28\\x43\\xdc\\x2c\\xf0\\xdd\\x80\\x9b\\x05\\xbd\\x23\\x16\\xbe\\x4f\\x9d\\x6a\\x1d\\x1d\\xea\\x6b\\xc3\\xf3\\xb8\\x85\\xb8\\x59\\xe0\\xfb\\x6b\\xf1\\x33\\xd5\\xa8\\x9f\\x71\\xd4\\x0e\\xd4\\x8f\\xf4\\x74\\x18\\xb6\\x12\\xf0\\xf9\\xf2\\x84\\x5c\\x7b\\x8f\\xf3\\x74\\x82\\x5f\\x67\\x97\\x47\\xa5\\x76\\x6f\\xb0\\x65\\xed\\x80\\x5f\\xf0\\x37\\xd5\\x48\\x48\\x22\\xf9\\x85\\x94\\x85\\x30\\xd4\\x56\\x89\\xda\\x72\\xd2\\x60\\x5b\\x21\\x71\\x4c\\xc8\\xbc\\x1c\\x9f\\x25\\x1a\\xd9\\x23\\x2b\\x6a\\x60\\xce\\x37\\x52\\xcf\\x0e\\xf8\\x73\\xa4\\x69\\xa8\\x66\\xbf\\xea\\x56\\x82\\x1b\\xe0\\xcb\\x40\\xd0\\xd2\\x17\\x5e\\xf1\\x77\\x6a\\x5d\\x44\\x78\\x1c\\xd5\\x48\\x07\\xf6\\xa1\\x5b\\xdc\\xd2\\xd7\\xf5\\x9a\\x0b\\x5e\\x11\\x30\\x7a\\x61\\x0a\\xa2\\x73\\x61\\xab\\x52\\x90\\x39\\x2c\\x45\\x53\\xeb\\x6b\\x38\\x2c\\xd0\\x79\\x99\\xc3\\x08\\x32\\xa7\\x57\\x40\\xe6\\xc0\\xaa\\x80\\xcc\\xa1\\xe1\\x53\\xa8\\x6d\\xf6\\xa3\\x74\\x6f\\xe3\\x5f\\xc8\\x88\\xec\\xff\\x0f\\xd5\\x1b\\xcd\\xdd\\x87\\x30\\xaf\\xf5\\xab\\xd6\\xa7\\xf8\\x73\\x0a\\x44\\xe1\\x94\\xea\\x1f\\xb7\\xc8\\x89\\x08\\x9c\\xd3\\x33\\xb3\\xa6\\xab\\xab\\xa3\\xae\\xe9\\xd4\\x45\\x30\\x6f\\xac\\xef\\x50\\x5d\\xd5\\x2c\\xd2\\x6e\\x35\\x2c\\xa6\\xb0\\x75\\xaf\\x41\\x96\\x92\\x4c\\xa5\\x12\\x8b\\x69\\x22\\x05\\x79\\xab\\xce\\xa8\\x13\\xa6\\x1e\\x5f\\x12\\x89\\xd1\\x6b\\xec\\xc0\\x0e\\x6f\\xe4\\x45\\x69\\xd3\\x5d\\x07\\x66\\xdb\\x6c\\x63\\x27\\x76\\xee\\x5f\\xfe\\xc5\\x87\\xec\\x28\\xd1\\xd8\\x22\\xfa\\xfc\\x18\\xba\\x18\\xbd\\xef\\x24\\x1c\\x48\\x21\\xa6\\x4b\\xa9\\xd1\\x1c\\xca\\x09\\xbb\\xc9\\x0c\\xec\\x68\\xde\\x75\\xc4\\x5f\\x85\\xee\\xaa\\xa9\\x9e\\x51\\xb3\\xac\\x62\\x4a\\x42\\x6c\\x0e\\xf1\\x1d\\x55\\x74\\xef\\xf7\\x64\\x6a\\xe2\\x8a\\x22\\x47\\x1c\\x71\\x1e\\x81\\x56\\x80\\xce\\xc5\\x1b\\xe8\\xbc\\x06\\xf6\\x0b\\xe6\\x1e\\x48\\x7e\\xcc\\x59\\x5e\\xbc\\x1c\\xad\\xf4\\x30\\x4c\\xbb\\xff\\x0d\\x34\\x97\\x90\\xe8\\x92\\x58\\xb7\\xc5\\x6a\\x9e\\x9b\\x97\\x35\\x1e\\xa2\\x0d\\xbf\\xb0\\x32\\x0e\\x46\\xc6\\xad\\x28\\xa4\\x7f\\x86\\x55\\x37\\x6f\\xf2\\xfa\\x30\\xd4\\xc0\\xf5\\xd4\\x3f\\x5b\\x17\\x50\\x91\\x58\\x4a\\x18\\xe4\\x72\\x15\\xc5\\xd8\\x1a\\xcd\\x12\\x9e\\x9b\\xe7\\xe5\\xf1\\x87\\x87\\x0f\\x43\\xc8\\x42\\x0c\\x99\\xe0\\x26\\x91\\xcf\\x36\\xc0\\x94\\xd8\\xa7\\xa2\\xaa\\x8a\\x7b\\xf6\\x05\\x92\\x91\\xe2\\x9e\\x9e\\x7e\\x8a\\x21\\x5c\\xa2\\x27\\xb5\\x93\\x6a\\xa4\\x7e\\xd6\\xb0\\xbc\\xde\\xf0\\xbb\\xd8\\xec\\xfe\\x7d\\x5d\\x89\\x31\\x96\\xf2\\xde\\xdd\\x4d\\x7a\\x57\\xd7\\xc2\\xb2\\xfa\\xc5\\x49\\xa8\\xdf\\x64\\x44\\xeb\\xe5\\xd6\\x1a\\x22\\x77\\x45\\xa0\\x51\\xcc\\x06\\x24\\x63\\x5b\\x3d\\xf0\\x41\\xb7\\x4e\\xb3\\x13\\xae\\x61\\xc7\\x3b\\xac\\xfa\\x49\\xbf\\x7a\\xb5\\x1e\\x8f\\xf1\\x4f\\xd4\\x6e\\x65\\xa0\\x1d\\xdd\\xc8\\x4a\\x82\\x12\\x15\\xeb\\x8d\\x62\\xec\\xe9\\x5f\\x89\\x1d\\xfd\\x7f\\x22\\xad\\x51\\x79\\x0b\\xd6\\xe3\\x76\\x3f\\xa1\\xfe\\xaa\\xe0\\x74\\x6a\\x4f\\xeb\\xec\\x80\\xbc\\x0a\\x0f\\xca\\x2b\\xa6\\xbd\\x08\\x3c\\xdf\\x5e\\xfc\\xc1\\xe9\\xed\\xf5\\x30\\x74\\x6e\\xa7\\x53\\x53\\x84\\xf7\\xc8\\x42\\xf5\\x39\\x71\\x7b\\xb9\\xb7\\xa4\\xbd\\xdc\\x5b\\xd5\\x26\\xf6\\x80\\xff\\x1f\\x68\\x0c\\x9f\\xa0\\xb3\\xff\\x17\\x76\\x15\\xf3\\x28\\xbb\\x2a\\xf2\\xaf\\xcc\\xaa\\xaa\\x0e\\x66\\x15\\xa2\\xb1\\x3b\\xbc\\x4c\\x2d\\x69\\xed\\xdc\\x91\\xb7\\xd4\\xf1\\x6e\\xfc\\xcb\\x8b\\xf0\\xd9\\xfe\\x05\\xd6\\x82\\x73\\xf0\\x3b\\xf2\\x0c\\x45\\xf3\\xfa\\x2d\\xda\\x26\\x2d\\xbf\\x60\\xdd\\x15\\xd6\\x22\\xdd\\x95\\x86\\x72\\xb2\\x46\\x3b\\x03\\xfa\\x0b\\xb2\\x32\\x98\\xc0\\xac\\x19\\x05\\x9f\\xc3\\x81\\x10\\x97\\xc3\\x3d\\xde\\xe3\\x00\\xe0\\x08\\xea\\x7f\\xc0\\x48\\xe0\\x0f\\x8c\\xaf\\xa3\\x7e\\xee\\x79\\xd4\\xf8\\x46\\xff\\xc5\\xf8\\xfe\\xa7\\xe3\\xf0\\xd0\\xfb\\x27\\x01\\x0d\\xe8\\x09\\xf6\\x3e\\xa4\\x9b\\x27\\xf9\\xbb\\x59\\xe9\\x17\\x81\\x66\\x1d\\x9a\\xe3\\x79\\xc0\\x4a\\x77\\x01\\xdb\\x3a\\x3e\\x43\\xc7\\x3c\\xa8\\x32\\xb1\\x47\\x80\\x75\\x01\\x7a\\x66\\x7f\\xeb\\x17\\x74\\x77\\xe6\\x73\\xf2\\x0c\\xbe\\x65\\x4a\\xc3\\xa1\\xcf\\x71\\x80\\xee\\xfe\\xe0\\x44\\x39\\xdb\\x9f\\x69\\x6a\\x19\\x35\\x92\\x79\\x0a\\xf5\\x37\\xbb\\xf5\\xef\\xe0\\x63\\xee\\x5f\\x41\\x3d\\x9f\\x3c\\xe7\\x04\\xe0\\x63\\x7f\\xd2\\x06\\xfa\\x7d\\xee\\x5f\\x7f\\xfe\\x26\\x92\\x62\\xba\\xbe\\x82\\x65\\xad\\x37\\x5b\\x6f\\x12\\xd9\\x25\\x65\\x89\\xdf\\x41\\xdc\\xee\\x8e\\x61\\x43\\xdb\\x15\\xc3\\x27\\x21\\x37\\x0c\\x1d\\xcf\\x2e\\xe2\\x57\\x4c\\xe0\\xec\\x0a\\x56\\xe0\\x0b\\x0f\\x1b\\x81\\x34\\x5c\\x81\\xda\\xf4\\x6a\\xbd\\x43\\xd6\\x07\\x69\\x4f\\x7c\\x2b\\xbc\\x3a\\x6a\\x07\\xb2\\x7d\\x3d\\x4e\\x31\\x5c\\xd1\\x0b\\x34\\x6c\\x71\\x3d\\xef\\x42\\x8d\\x1a\\xe0\\xbf\\x9e\\x7f\\x9e\\xdf\\xc3\\x14\\xdc\\x8c\\xd6\\xb5\\x89\\x32\\xe3\\x33\\x4f\\xc9\\x35\\xa2\\x46\\x5a\\x2a\\xd5\\xab\\x28\\x22\\xbf\\x22\\x3e\\xce\\xc4\\x35\\xaa\\x04\\xf8\\x23\\x3e\\x8a\\x83\\xac\\x94\\x51\\x40\\x54\\x19\\x4c\\x97\\x7a\\x7a\\xcb\\x87\\x70\\x43\\x4b\\xed\\xa3\\xac\\xf5\\x65\\xd3\\x62\\x63\\xab\\x73\\xcb\\x4a\\xe1\\xbd\\xde\\xbd\\xbb\\x9b\\xf5\\x23\\x7b\\x97\\x0d\\xae\\x49\\x4f\\xaa\\x2e\\x09\\x43\\x3c\\xeb\\x19\\x76\\x3a\\x78\\x42\\xe4\\x22\\xb1\\xe6\\x52\\x9a\\x0b\\x0f\\xe3\\xc2\\x24\\x62\\x86\\x5c\\x01\\x66\\x06\\x23\\xb7\\xc5\\x71\\xe2\\x38\\x4f\\x9c\\xc7\\xe8\\x41\\x0a\\xed\\xf0\\xf1\\x75\\xbb\\x7a\\xec\\xaa\\x1b\\x5f\\xf7\\x54\\x8f\\xa7\\xd8\\x57\\x07\\x2e\\x5f\\x56\\xb9\\x6c\\xd9\\xc0\\x65\\x4b\\x2b\\x97\\xf2\\xba\\x97\\x94\\xad\\x07\\xdd\\x45\\x2b\\x29\\x03\\x9e\\x5f\\xde\\x07\\xa4\\xc5\\x15\\xe9\\x48\\x6a\\xa0\\x87\\x24\\x0b\\xf2\\x41\\x53\\x52\\xe5\\x14\\x8b\\x65\\x5a\\x93\\x32\\x2f\\x47\\x6f\\x90\\x65\\x8e\\x62\\xeb\\xfb\\x2a\\x2a\\x8d\\xf9\\xf9\\x71\\x7d\\x86\\xc8\\xfb\\x48\\x92\\xd2\\x8c\\x69\\xee\\x64\\x55\\x5a\\x59\\x06\\x9e\\xc3\\xa9\\x22\\x19\\x53\\x21\\x4e\\x17\\xf6\\x38\\x2b\\x6a\\x04\\xc1\\x13\\x8d\\xcf\\x83\\x0b\\xdb\\x73\\x53\\x75\\xec\\x11\\xdd\\x83\\xf9\\xf8\\xa7\\x48\\x36\\x6e\\xdc\\x8b\\xe3\\xc6\\xf1\\xfa\\xd0\\x38\\xf6\\x28\\x35\\x8d\\xbb\\xda\\x5e\\x4f\\xb3\\xe0\\x24\\x54\\x8f\\x75\\x20\\xd3\\xb0\\x9e\\xe1\\xae\\xc2\\x5f\\x65\\x40\\xa2\\x44\\xb4\\x6f\\x60\\x8f\\xd2\\x4c\\xc7\\x67\\x81\\x18\\x69\\x68\\x5a\\x9a\\xa1\\xff\\x68\\xa0\\x5f\\xe0\\xae\\x2a\\xe1\\xef\\x32\\x20\\xe3\\xdf\\x1d\\x83\\x6c\\x00\\x35\\xf7\\x02\\x1a\\xab\\xc5\\x1b\\xae\\xa6\\x10\\x83\\xc0\\x95\\xea\\x1b\\x25\\x58\\xa3\\xe1\\x0b\\x20\\x90\\xd9\\x7b\\xc4\\x51\\x02\\x40\\x91\\x58\\xd8\\xa9\\xb3\\x2b\\xad\\xab\\x6e\\x6c\\xcc\\xe2\\xea\\xe4\\xa2\\x2e\\x5d\\x62\\x86\\x38\\xc7\\x25\\x2f\\x62\\x2f\\x45\\xba\\x22\\xb3\\xf2\\x16\\x2e\\x45\\x1f\\x93\\x56\\x35\\xf0\\xfd\\x3c\\x40\\x7a\\xda\\xff\\xa2\\x47\\x3f\\x42\\x4f\\x63\\x5a\\x33\\xd8\\x3b\\xe0\\x3e\\xf7\\x39\\x6a\\x20\\xc1\\xf5\\x96\\x2e\\x84\\x8b\\xc5\\x54\\xa3\\x94\\xec\\x40\\xc4\\x8f\\x05\\xbf\\x22\\x1e\\x1d\\x10\\xa4\\x3f\\x98\\xc4\\xfc\\x7b\\x16\\x7d\\x01\\xce\\x70\\x6c\\x71\\x80\\xf9\\xe8\\x07\\xf7\\xb9\\x12\\x3e\\x90\\x81\\x30\\xf8\\xfd\\xb1\\x63\\xd8\\xa8\\x00\\xad\\x46\\x24\\xe3\\x7e\\x43\\x7a\\xaf\\x02\\xeb\\xe6\\xe2\\x46\\xb9\\xe0\\x3b\\x61\\x74\\x21\\x09\\x7c\\x6e\\xf1\\x70\\x97\\xd2\\x61\\x48\\x8e\\x9f\\xc5\\x59\\x97\\x9a\\xe0\\x77\\x91\\xa2\\xa9\\xe1\\xb5\\xfa\\x88\\x8d\\xe8\\x3c\\xb7\\x2a\\xd8\\xbb\\x74\\xa1\\x28\\x9a\\xd7\\x83\\xc5\\x21\\xd6\\x16\\x10\\x24\\x20\\x4d\\x05\\x45\\x20\\x7b\\x57\\x10\\x81\\x14\\xed\\xef\\x8f\\x8e\\xc7\\xa4\\xd6\\x85\\xc2\\x1e\\xe0\\x90\\x65\\x47\\x07\\xf8\\x1c\\x87\\x1a\\xe2\\xbf\\xfe\\xd9\\x3a\\xe6\\x73\\xdd\\x83\\x3f\\xf4\\xcc\\xe7\\xfa\\xef\\xeb\\xea\\x5e\\xa8\\xab\\x43\\x7b\\x67\\x35\\x3a\\x7f\\x3d\\x88\\x4c\\xe6\\x25\\x6e\\xf0\\xd4\\x32\\x82\\x75\\xf7\\x13\\x92\\xce\\xcf\\x0a\\x12\\x1a\\xee\\x43\\x52\\x1a\\xc0\\xa7\\x51\\x9b\\xfe\\x82\\xdf\\x26\\x68\\x10\\x62\\x4f\\x0c\\xf6\\x3f\\xc1\\x4b\\x82\\xff\\xc9\\xc7\\xbb\\x9f\\xd0\\x98\\x22\\xd8\\x59\\xb4\\x85\\xfb\\x93\\x8a\\xa0\\x12\\xbc\\x7a\\xa5\\x81\\x96\\xca\\x29\\x13\\xcb\\x85\\x19\\xb8\\x30\\xb5\\x3a\\x8c\\x33\\xb0\\xe1\\x66\\xa4\\x0b\\x90\\xb8\\x39\\x52\\x27\\x8a\\x57\\x40\\x63\\x83\\x67\\x16\\x9d\\x2a\\x03\\xcf\\x60\\x49\\x01\\xb6\\xe2\\x18\\xdb\\xe8\\x24\\xcc\\x61\\xf3\\x7b\\x54\\x0c\\xaa\\x70\\x45\\x8c\\x8b\\xc3\\x3c\\xb6\\xa0\\x73\\xcf\\xca\\x41\\x9c\\x49\\x3b\\x77\\xed\\xa2\\xf4\\xfa\\x9c\\x7a\\xdd\\x5c\\xc4\\x68\\x33\\x26\\x79\\x28\\x9c\\xd7\\x92\\xc9\\x8e\\xa2\\x33\\xc4\\x34\\xa9\\x32\\x12\\x49\\xc5\\x7b\\xb5\\x88\\xa1\\x23\\x6d\\x86\\x93\\x99\\xd5\\x32\\xab\\x55\\xa6\\x36\\xb3\\x76\\x13\\xda\\x33\\x02\\x05\\xa8\\x7b\\xd5\\x5f\\xfb\\x06\\x71\\xe6\\x13\\x56\\x06\\x41\\x6e\\x52\\x69\\x71\\x41\\xa4\\xa7\\x8b\\x76\\x42\\xec\\xc2\\x41\\xc9\\x7d\\x8a\\xba\\xda\\x47\\xc6\\xd4\\xd9\\x0b\\x6b\\xe0\\x36\\x64\\x6d\\x56\\xa2\\xbf\\x9c\\x27\\x2a\\xce\\x91\\xed\\x9e\\x3f\\xd5\\x11\\xe7\\xa8\\xad\\x19\\x92\\xfd\\xde\\xb1\\x63\\xe0\\x57\\xb4\\x49\\xe8\\x56\\x27\\xfb\\x32\\xb2\\x41\\xce\\xe1\\xfa\\x5e\\x54\\x8a\\x57\\x97\\x1c\\x23\\xa1\\x1c\\x26\\x2d\\x27\\x33\\x25\\xc8\\xd0\\x1f\\xb5\\x2d\\x86\\x88\\x1a\\xa4\\xf4\\x07\\x0e\\xc9\\x75\\xd5\\xf5\\xff\\x42\\xd2\\x43\\xb2\\x96\\xf8\\x8a\\x40\\xc2\\x5f\\x10\\x28\\x4b\\x2a\\x2d\\x42\\xbf\\xef\\xaa\\x9d\\x90\\x34\\x77\\x20\\xfa\\x7d\\xbe\\x3d\\xa7\\xab\\x1a\\xff\\x0f\\xf6\\xe5\\xf6\\x04\\x83\\x30\\xf2\\xbd\\xa9\\x0e\\x7d\\xf7\\x64\\xa2\\x5f\\x60\\xbe\\x3b\\x08\\xad\\x7d\\x43\\xeb\\x73\\xe8\\xc4\\x68\\xce\\x33\\x62\\x31\\x0b\\x24\\xa2\\x36\\x2f\\xbc\\x51\\x8c\\x18\\x76\\x9c\\x47\\xec\\xf6\\x34\\x3c\\x67\\xfe\\xcd\\x3c\\xe3\\xa2\\xf1\\x37\\xe3\\x6f\\x67\\x1a\\x1b\\xcf\\x9c\\x98\\x3d\\x1b\\xb5\\xbd\\x4a\\x6c\\x8e\\x77\\xc9\\x9d\\x01\\x85\\x0c\\x36\\x86\\x98\\x29\\xc4\\xbf\\xe6\\xf4\\x20\\x4b\\xe5\\xb7\\xd4\\xd9\\xb7\\x37\\xcf\\x4f\\x85\\x55\\x3f\\xae\\x5b\\xf7\\x23\\x65\\xf2\\x1b\\xd0\\xc6\\xfe\\x96\\xf8\\x39\\x25\\x24\\x06\\xca\\x46\\xb9\\xa8\\x14\\x12\\x79\\xdf\\x9d\\x2a\\xa5\\xfa\\x53\\x3e\\x6a\\x24\\x55\\x4b\\x4d\\xa3\\xe6\\x50\\x8b\\xa9\\x95\\xd4\\x06\\x6a\\x1b\\xb5\\x8b\\xda\\x4b\\x1d\\x02\\x5d\\xbc\\x87\\xb6\\x97\\x1c\\x3c\\xf8\\xf4\\xf4\\xd9\\x75\\x4d\\x4d\\x93\\x97\\xf7\\xd8\\x57\\xb1\\x71\\xe3\\xa0\\x2d\\x39\\xab\\x56\\x75\\x6a\\x16\\xef\\x4e\\x9d\\x3b\\x37\\x73\\xa1\\x61\\xd4\\xa8\\x88\\x71\\xa2\\xa7\\x14\\x83\\x07\\x6b\\x86\\xd9\\xf3\\xf3\\xa3\\xbb\\xc5\\x26\\x32\\x7d\\xfb\\x26\\x76\\x1b\\xf6\\xd4\\xb8\\x85\\xbb\\x9b\\xb7\\xec\\x5b\\x3e\\x5b\\xde\\x67\\x47\\xaf\\xa7\\xc3\\x41\\x3f\\x4a\\xda\\x8f\\xe9\\xf3\\x74\\x9f\\xc3\\xe1\\x3b\\x0e\\xce\\x6f\\x2c\\xdf\\x3f\\x66\\xcd\\x9a\\x09\\xeb\\x87\\x6c\\xda\\x34\\x62\\xab\\x77\\xe9\\xd2\\xe2\\x15\\xf1\\x33\\x67\\x26\\x37\\x44\\xd5\\xd7\\xc7\\x4c\\x55\\x0d\\x18\\xa0\\xab\\x06\\xbd\\x4c\\xb9\\xb9\\xd6\\x2e\\xe9\\x59\\x8d\\xfb\\xd7\\x6f\\x5d\\xd1\\x30\\xb5\\xba\\x57\\x97\\xac\\xac\\x2e\\xbd\\xaa\\xa7\\x36\\xac\\xd8\\xba\\x7e\\x7f\\x63\\x78\\xef\\x3d\\x65\\x07\\x0f\\xee\\xee\\xfb\\xb4\\x6c\\xa7\\x98\\xe9\\xd9\\x33\\x8c\\xed\\x8d\\x39\\x0d\\xae\\xcc\\x77\\x23\\x53\\xf8\\x07\\x1f\\x3e\\x1a\\xf8\\x8f\\x54\\xed\\x13\\x8a\\xf7\\xfd\\xd7\\x1f\\x78\\xcb\\x66\\xaa\\x01\\xfa\\x62\\xe4\\x7f\\xe5\\x6e\\xab\\xfa\\xf7\\xc8\\x97\\x3c\\xe2\\xdf\\xe4\\x1f\\x98\\xcf\\x64\\x3b\\xb3\\x1d\\x9c\\x23\\xdb\\x01\\x9c\\x6a\\xb7\\x4b\\x87\\x59\\x96\\x3b\\x33\\x4e\\xf8\\xd4\\x0a\\x9f\\x46\\xe1\\x13\\x08\\x9f\\xe2\\x0e\\xdf\\x81\\xf3\\xff\\x11\\xf6\\x1d\\x00\\x51\\x1d\\xdb\\xdf\\x77\\x6e\\xd9\\xde\\x2b\\xcb\\xb2\\xcb\\x2e\\x4b\\x07\\x69\\x4b\\x57\\x61\\x15\\x41\\xac\\x2c\\xa2\\xe2\\x8a\\x0a\\xf6\\x8a\\x62\\xc3\\x8a\\xbd\\x77\\x13\\xc5\\xae\\xd8\\x63\\x4b\\x2c\\x18\\x5b\\xa2\\x89\\x35\\xb6\\x14\\x12\\x93\\x68\\x4c\\x4c\\x7b\\x31\\x89\\xa9\\xff\\x24\\x2f\\x51\\xd9\\xe1\\x9b\\x99\\xbb\\xbb\\xa0\\x49\\xde\\x17\\x02\\xb2\\xdc\\x32\\x67\\xce\\xcc\\x9c\\x32\\x73\\xce\\xef\\xe8\\x1d\\x6a\\x3b\\x40\\xd3\\x27\\xcd\\x09\\xfe\\x3f\\xf7\\x3e\\xff\\x39\\xe2\\xb9\\xb6\\xfc\\x6d\\x47\\x20\\x7a\\xd0\\x1b\\x11\\x6d\\x6a\\xa7\\xde\\x49\\x7f\\x5f\\xf9\\x39\\xe8\\xe6\\x7d\\x1d\\x1f\\x91\\xd1\\x79\\x95\\x95\\x70\\x6d\\x6a\\x66\\x66\\xea\\xfa\\xd4\\xac\\xac\\xd4\\xc7\\x19\\xe9\\x99\\x69\\xe1\\xf8\\x23\\x44\\x3a\\x35\\x23\\xfd\\xe5\\xcc\\xb4\\xb4\\x4c\\xba\\x77\\x46\\x7a\\x7a\\x46\\xe3\\x82\\xcf\\x2b\\x41\\x37\\x76\\x31\\x3c\\xf1\\x79\\x65\\xa3\\x38\\x1d\\xfd\\x47\\x2f\\xc3\\x3f\\x6b\\xd3\\x32\\x33\\xd3\\xbc\\x07\\xd2\\x32\\x91\\xba\\xc0\\x9f\\xc1\\x0d\\xfc\\x20\\xf4\\xe0\\x67\\x1e\\xe3\\xc7\\x6b\\xf1\\x5f\\xe1\\x9a\\xca\\x4a\\x26\\x1c\\xb7\\xe8\\x7d\\x0d\\x9e\\xa8\\xfc\\x9c\\x9d\\x7f\\xbf\\xb2\\xb2\\xb2\\x71\\x22\\xe8\\xfe\\x22\\xba\\x2f\\x1e\\x7d\\xc3\\xf7\\xd0\\x7b\\xfe\\x83\\x7e\\x01\\xb5\\xe8\\x97\\xbe\\xe8\\x17\\xef\\x04\\xdc\\xf8\\xd3\\xfb\\xa0\\xd3\\x93\\xd4\\xca\\xfb\\xf4\\x47\\xe9\\xce\\x6c\\x6f\\x4e\\x5a\\x5a\\xc6\\xe6\\xd4\\xd4\\x2c\\xda\\xe6\\xbb\\xdb\\xdb\\x94\\x91\\x91\\xf6\\x0d\\xba\\x11\\x36\\x64\\xa6\\x66\\xc5\\xa2\\xcb\\xe8\\x9d\\x8d\\x13\\x2b\\x2b\\x41\\xa7\\xfb\\xbc\\x0c\\xfd\\x9e\\xad\\x01\\xa9\\x02\\x3b\\x39\\x0f\\xc2\\x1b\\xcd\\x38\\xf6\\xc3\\x77\\x1e\\x94\\xea\\x3b\\x0f\\xe2\\xa6\\x06\\x0e\\x84\\x00\\x95\\xc9\\x4e\\x05\\xe6\\x67\\x63\\xbd\\xb4\\xcf\\xec\\x41\\xbc\\xf7\\x2f\\xa1\\x5e\\x48\\x3e\\x2d\\x64\\xef\\x80\\xb7\\x05\\x8b\\xc8\\xbe\\x9b\\xd1\\x85\\x6c\\x5f\\x15\\xfa\\x12\\x51\\xc4\\x89\\xe4\\x45\\xd2\\xdf\\xb6\\xc8\\xb0\\x48\\xbc\\xff\\xac\\xbb\\x90\\x19\\x56\\x1f\\x26\\x58\\x14\\xf0\\x19\\x60\\x11\\x92\\x7d\\x00\\x4e\\x81\\xed\\xa9\\xf2\\xa6\\x3f\\x5a\\xda\\x53\\x0c\\x10\\x0b\\x9f\\xb1\\xa7\\xb4\\x2d\\xec\\xa9\\xb8\\x16\\xe6\\x14\\xdc\\xd0\\xd2\\x9c\\x02\\xf0\\x2e\\xec\\x4d\\x39\\x9e\\x3d\\x4f\\x33\\xf2\\xe7\\x69\\x8e\\x67\\x8f\\xd3\\xd0\\xbd\\xa7\\xd1\\xbd\\xf4\\xb3\\xe7\\x69\\x46\\x9e\\x7f\\xf4\\x73\\xc7\\x69\\x34\\xf2\\xeb\\x7a\\x53\\x4d\\xe4\\x5e\\x39\\x65\\x71\\xc9\\xc5\\xac\\x44\\x26\\x92\\xc8\\x64\\x12\\x11\\x43\\x9e\\xe4\\x23\\xbc\\x35\\x38\\xeb\\x5c\\x09\\xf8\\x21\\xe0\\x8f\\xfc\\x96\\xf9\\xde\\x44\\xcf\\xe5\\x8f\\xfe\\x7c\\x6f\\x84\\x7b\\xc9\\x09\\x20\\xa0\\x4c\\xec\\x54\\xaa\\xf1\\xd9\\xd8\\x3d\\xed\\x33\\xb6\\xf5\\xae\\x7f\\x09\\xdd\\xa3\\x00\\x58\\xc0\\xee\\xa7\\x0b\\xb8\\xa1\\x88\\x6f\\xc8\\xce\\x17\\x13\\xdf\\x19\\xa4\\xa6\\xfb\\xf2\\x80\\xc2\\x22\\xc1\\x82\\x8e\\xf1\\x8e\\x78\\xfc\\xcd\\xfe\\x19\\x97\\x97\\x68\\x47\\xdf\\xbc\\x9d\\x7c\\x18\\xf5\\x25\\xa6\\xe9\\x12\\x1a\\x4b\\xd1\\x31\\x4e\\xc1\\xdb\\xf3\\x88\\xad\\xc6\\x00\\x8b\\x9d\\x55\\xab\\x25\\xeb\\xf3\\xbb\\xa4\\x0c\\xcf\\xae\\x5e\\x18\\x3d\\x43\\x5b\\x72\\xc3\\xd9\\x25\\x62\\x7a\\xcc\\xec\\x59\\x31\\xd3\\x22\\xba\\xa6\\x61\\xd0\\x4f\\x06\\x86\\x21\\xb9\\x7d\\xb4\\xe9\\x75\\x4a\\x8b\\x6b\\xdb\\x52\\x76\\x97\\xc2\\xa1\\xb4\\x58\\xe4\\x5c\\x4c\\x8c\\xd1\\x28\\x64\\xd4\\x72\\x32\\x76\\x29\\x2d\\x44\\x08\\xd9\\xf6\\x88\\x0a\\x6c\\x7d\\x18\\x31\\x99\\x9c\\x1f\\xaf\\x1c\\x4d\\x18\\xae\\xc5\\x56\\xc8\\xd1\\x79\\xfd\\xfa\\x44\\xba\\xfa\\xb6\\xef\\x3d\\xaf\\x9f\\x27\\x22\\xb7\\x2c\\xaf\\x97\\xf7\\xcd\\xe4\\xc8\\xe4\\x6e\\x89\\x91\\x69\\x5d\\xc0\\xcf\\xc9\\x91\\x29\\x5d\\x12\\xd0\\x6f\\x1f\\x95\\xce\\xe8\\xd4\\xa9\\x47\\xfb\\xd2\\x19\\x85\\x85\\x3d\\x26\\xc7\\xc6\\x75\\x4a\\x8e\\x70\\x76\\x50\\xc7\\xc6\\x75\\x4e\\x42\\xff\\xa2\\xb5\\x71\\x9b\\x1d\\x0e\\xc6\\x0b\\x52\\x79\\xeb\\x57\\x28\\x24\\xcb\\x83\\xb7\\xde\\xb0\\x41\\x82\\x8f\\x09\\xc7\\xd7\\x8e\\x1f\\xdc\\x44\\xa1\\x1f\\xdc\\x5c\\xf8\\xcd\\x09\\x10\\x7c\\x82\\xf0\\xe6\\x73\\x58\\xca\\x69\\x9b\\x6e\\x50\\x12\\x6c\\x37\\xd2\\x2c\\xaf\\x74\\x91\\x1d\\x43\\xd9\\x6d\\x8c\\xd3\\xc0\\x3a\\x6d\\x19\\x9c\\x16\\xbe\\xe3\\x7d\\xd7\\xdb\\xb0\\x67\\x61\\x3e\\x70\\xfe\\x00\\xbe\\xfc\\x2a\\x1d\\xae\\x04\\x13\\xe7\\x55\\xff\\x45\\xd6\\x98\\x95\\xbd\\x20\\x28\\x16\\xa4\\x90\\xe7\\x59\\x4a\\x44\\xfb\\x4f\\x06\\x9a\\x9f\\x17\\x14\\x3f\\xf7\\xbc\\x20\\x25\\xf0\\x02\\xd0\\xf4\\x2d\\x67\\x61\\xbb\\x70\\x5b\\x9f\\xf7\\xef\\xd8\\x94\\xa7\\xaf\\x9a\\xd8\\xce\\x9c\\x65\\x36\\xd9\\x7b\\xf9\\x90\\xd1\\x36\\xf5\\xfa\\x5b\\x3c\\xdb\\x13\\x72\\x0f\\xfc\\x10\\xdd\\xd3\\xf4\\x11\\x7b\\x49\\x50\\xc0\\x35\\xf1\\x76\\xb6\\x8e\\x11\\x29\\x19\\x9c\\x65\\x38\\x47\\xf6\\x9c\\x9d\\x8d\\xf7\\x39\\x22\\x02\\x2b\\x16\\x47\\x4d\\xb2\\xc8\\x80\\x10\\x14\\x74\\x7b\\x67\\xf1\\x46\\xf8\\xd7\\xca\\x0b\\x9d\\xca\\x17\\x24\\x2e\\xec\\xf8\\xd5\\x4c\\xcf\\xb5\\x45\\x54\\xd3\\xc1\\x2d\\x7d\\xb9\\xa6\\xba\\x0d\\xbd\\x5b\\x45\\x97\\xf4\\x5f\\xbb\\x2f\\x26\\xbe\\x37\\x7f\\xd6\\x47\\xda\\x92\\x08\\xd2\\xd1\\x3c\\x44\\xb6\\x1f\\x5a\\xb7\\x3e\\x9e\\x81\\xc8\\x70\\x47\\x18\\x2b\\x74\\xa0\\xae\\x6b\\xb9\\x85\\xf9\\xf0\\xd6\\x0f\\x3f\\xc0\\xed\\xd5\\x0b\\x81\\x93\\x4e\\xa4\\x13\\x77\\xb1\\x97\\xe6\\x55\\x57\\xcf\\x03\\x13\\xe1\\x4a\\xc2\\xf7\\xa3\\xb0\\x94\\x49\\x47\\x36\\x84\\xc0\\xb7\\xd7\\x2b\\x08\\x9c\\xe5\\x09\\x49\\x52\\x26\\x93\\x7e\\xc6\\xd4\\x18\\xac\\x67\\xbe\\xc1\\xc6\\xc3\\x18\\x52\\x27\\x1b\\x7e\\x0c\\x3e\\x05\\xbb\\xd8\\xdf\\x55\\x42\\x6e\\x90\\xf7\\x22\\x1f\\xe3\\x01\\xbf\\x04\\xf7\\xc1\\x46\\xf6\\x37\\xf4\\xb7\\x11\\xde\\x1d\\x14\\x2f\\xbb\\x8e\\x81\\xef\\xa8\\x9f\\x05\\xa4\\xc2\\x3e\\x65\\x38\\x4f\\x71\\x20\\x89\\x62\\x41\\x02\\x59\\x42\\x29\\x24\\x43\\x83\\x3f\\x3f\\xc2\\xd1\\x2d\\x03\\x8c\\xd3\\x8d\\xf0\\xee\\xea\\xe9\\xab\\xb9\\xc5\\xd3\\xa6\\x35\\x0e\\xa2\\x9f\\x7a\\x39\\xfe\\xbd\\xbb\\xd0\\x7b\\x07\\xe2\\x58\\x73\\x6e\\xbc\\x77\\x82\\xaf\\xad\\xfb\\xa8\\xfd\\xed\\xec\\x7f\\xd0\\xdf\\xa6\\x78\\xb7\\x50\\xfc\\xda\\x82\\xe8\\xbe\\xe9\\x2c\\x3e\\xc3\\x33\\xd5\\xd3\\x2a\\x4e\\x2b\\xc3\\x91\\x30\\x14\\x6a\\x33\\xb1\\x19\\xbf\\x51\\xeb\\x2f\\x4e\\x90\\xea\\x83\\x63\\xc7\\x03\\x80\\xbd\\x3c\\xd5\\xf2\\xac\\x51\\x3d\\x1e\\xcc\\x5f\\xd1\\x77\\x6f\\x4d\\xd5\\x62\\xf1\\x34\\x2e\\x2f\\xaf\\xf7\\xc8\\xd6\\x74\\xbb\\x5d\\x8e\\xaf\\xb7\\x2e\\x9d\\xfb\\x47\\x4d\\xf5\\x68\\x75\\x6e\\xd1\\x80\\x1b\\xa3\\x5f\\x43\\x6d\\x9f\\x04\\x9f\\x80\\xab\\x38\\x0f\\x80\\x1b\\xee\\x5d\\xe7\\x6b\\xfb\\x3f\\xe0\\x7b\\xb0\\x0e\\xf5\\x33\\x88\\xb2\\x9f\\xa1\\xf4\\x20\\xe5\\x24\\x15\\x14\\xf4\\xcf\\x59\\x00\\xc8\\xbc\\xfa\\xc7\\x1c\\x00\\x27\\x23\\x4c\\x78\\x3e\\xf0\\xff\\xf2\\x74\\xa7\\xed\\x1f\\xc2\\xfd\\x59\\x03\\xfc\\x65\\x15\\xcf\\x07\\x3b\\xf8\\x9e\\xf6\\x10\\xde\\x8c\\xf3\\x9e\\xe0\\x69\\x69\\xea\\x84\\x68\\x49\\x62\\xff\\x0f\\xd7\\xbe\\x3e\\x2e\\x93\\x0a\\x4f\\x83\\x84\\xe3\\x14\\xad\\xc4\\xcc\\x90\\x52\\x62\\x5f\\x0c\\x93\\x33\\x57\\xdd\\x12\\xbe\\x0e\\xef\\x2b\\xf3\\xa5\\xed\\x82\\xc3\\x4d\\x9d\\x26\\x69\\x7c\\x81\\xf8\\x09\\x3d\\x5b\\x87\\x59\\xd9\\xd9\\xe2\\xba\\xf1\\x70\\x22\\xdd\\xe9\\xd8\\x96\\x01\\x5d\\xc4\\x4d\\x4d\\x4d\\xb3\\xc0\\x7d\\x24\\x37\\x57\\xa3\\x36\\xab\\xbd\\x7b\\x7c\\xe3\\xf1\\x29\\x6a\\x93\\x1f\\x8f\\xe9\\xde\\x11\\x3e\\x9e\\x4c\\x42\\x7f\\x5b\\xc1\\x7e\\x8d\\x75\\x4b\\x3d\\x72\\xdc\\x44\\xdc\\x39\\x92\\x89\\xc0\\x04\\x82\\xe5\\xf1\\x78\\x30\\xc0\\x01\\x18\\x92\\x85\\xa3\\x5d\\xbe\\x0a\\xc2\\xc5\\xa0\\xfb\\x89\\x39\\xf3\\x7f\\x5a\\x01\\x2f\\x5e\\x40\\x4f\\x67\\xc1\\x6b\\x60\\x09\\x98\\x80\\x66\\x5b\\x34\\x5c\\x0d\\xa7\\xa0\\x49\\x33\\x95\\x3d\\x44\\xff\\xf8\\x8f\\x31\\xad\\xf8\\xda\\xae\\x77\\x38\\xf8\\x13\\x7b\\x48\\x07\\xe4\\x16\\xd8\\x48\\x78\\x71\\x06\\xf9\\x49\\x09\\x4d\\x53\\x9f\\xbd\\x9f\\xc3\\x5e\\x24\\x00\\x09\\xe8\\x7e\\x01\\x50\\x2f\\xd1\\xc1\\xdf\\x2c\\x80\\x25\\xfd\\x68\\xfa\\x1a\\xc9\\xd6\\x4b\\x4d\\x73\\x55\\x42\\x46\\x40\\xdd\\xe6\\xfb\\x46\\x55\\x34\\xfd\\xc0\\xf6\\x64\\xbb\\xab\\x04\\xb4\\xbe\\x91\\xaf\\x9d\\xf2\\x03\\x3b\\x84\\xed\\x4e\\x10\\x1c\\x7a\\xb8\\xf4\\x21\\xe6\\x1e\\x65\\x94\\x4e\\xa5\\xab\\xd0\\x55\\xe9\\xe6\\xe8\\xde\\xd0\\xbd\\xab\\x13\\x8a\\x75\\xa7\\x9b\\xde\\x70\\x59\\xcc\\xd6\\x42\\xa5\\x08\\x18\\x18\\x5d\\x88\\x48\\x14\\xa2\\x63\\x82\\xd8\\x20\\x35\\x06\\x4b\\x60\\x65\\xcf\\x56\\x23\\x09\\x54\\x97\\x88\\x43\\xff\\x63\\x1d\\xf4\\x2c\\xaa\\xbe\\x2a\\x50\\x84\\x30\\x12\\x3b\\xbe\\x55\\xab\\x81\\xe3\\xd2\\x89\\x5b\\x17\\x47\\x55\\x5f\\x7b\\xfb\\x17\\x7f\\x99\\xda\\xb7\\x1a\\xc0\\x6e\\xe4\\xe3\\x80\\x35\\x77\\xf9\\x5a\\x36\\x4c\\x9f\\x91\\xf0\\x6b\\xf8\\x13\\xfc\\x9a\\x54\\xa6\\xbd\\x0b\\x14\\xbe\\xb3\\x5c\\xa4\\xeb\\x7f\\x60\\x7b\\x23\\xda\\xb1\\xe7\\xe5\\x72\\x45\\x59\\x42\\x7a\\x94\\x29\\x75\\xa1\\xba\\x71\\x3a\\x24\\xd0\\x54\\x22\\x5a\\xcc\\x88\\x2c\\x3a\\x9d\\x45\\xc4\\xb0\\x26\\x93\\x1a\\x97\\x82\\x61\\xa5\\xcf\\x16\\xb4\\x09\\xd0\\x8a\\x29\\x05\\x3c\\x14\\x07\\x2e\\x1b\\x84\\xe1\\x44\\x5b\\x16\\x0d\\xc2\\x94\\xb2\\xbd\\xd7\\xc3\\x8f\\xdf\\xa8\\xbf\\x7a\\xe9\\xde\\xb5\\x3b\\x53\\xa7\\x23\\x52\\xcf\\x85\\x6e\\xb9\\x3f\\xfd\\xca\\x4d\\xef\\x6a\\x44\\x2a\\x7d\\xee\\x53\\xf8\\xe6\\x89\\x23\\xb5\\x0a\\xe1\\xeb\\x20\\x16\\x48\\x57\\x2e\\x41\\x94\\x0e\\xd8\\x56\\x76\\x0b\\x16\\x1f\\x3e\\x8c\\x78\\x7e\\x14\\xae\\x67\\x3a\\x60\\xcc\\x24\\x8a\\x8f\\x8b\\x2b\\x63\\x8f\\x31\\xaf\\x70\\xff\\x45\\xe3\\xa8\\x3c\\xc6\\xd1\\xa7\\x81\\xec\\x78\\x19\\xe7\\x0b\\xab\\xc6\\x83\\xcf\\xd0\\x65\\xc2\\x25\\x57\\x44\\x5f\\xb1\\xc7\\xec\\x20\\x3c\\x02\\x7e\\x4e\\xa6\\xd9\\x39\\xf6\\x18\\x9b\\x23\\x68\\xe7\\xf3\\x57\\xc2\\x5c\\x52\\xa1\\x54\\x22\\x5d\\xe3\\x11\\x48\\xb8\\x96\\x6f\\xc0\\xa8\\x0f\\x29\\x7e\\xa8\\x2d\\xfc\\x2a\\xbc\\x21\\x80\\x77\\x17\\xe8\\xa5\\xc2\\x9a\\x2b\\xc2\\xbb\\x9b\\xc2\\x57\\x87\\x7b\\x77\\x86\\xaf\\x0d\\xc7\\xef\\x1e\\x17\\x01\\xd7\\x6b\\xc8\\x49\\x03\\x9a\\x2b\\x1b\\x28\\x8a\\x1d\\xcc\\x15\\x68\\x22\\xa9\\x70\\x5c\\x87\\x9e\\xc9\\x84\\x6c\\x93\\x9b\\x12\\x1e\\xa7\\x55\\x0c\\x95\\x9b\\x46\\xd6\\x00\\xb8\\x0b\\xf6\\xd0\\x90\\x7e\\xc7\\x77\\xc6\\xbe\\xc5\\x77\\xc6\\x8e\\xc5\\x1d\\xb8\\x9b\\xfd\\x28\\x1b\\xec\\x01\\x71\\xf0\\x0e\\xea\\x2f\\x32\\xf5\\xb8\\x0c\\xf2\\xae\\xe8\\x81\\xe4\\x5d\\xde\\x06\\xf2\\x2e\\xa0\\xf0\\xbf\\x8b\\xa6\\x06\\xa0\\x7b\\x04\\x5c\\x3e\\x5a\\x4f\\x6a\\x2a\\xd3\\xa5\\x00\\xb4\\x90\\x2e\\xf7\\x88\\x84\\x48\\xcd\\x72\\x9c\\x0c\\x75\\xc8\\x25\\x2f\\x13\\x88\\x25\\x0c\\xc7\\x30\\xac\\x94\\xc1\\x95\\x5f\\x8d\\x29\\xb9\\x46\\x72\\x60\\x12\\x28\\xcc\\x89\\xd1\\x5b\\xec\\x0c\\x4e\\x13\\x44\\x7a\\x58\\xcc\\xf7\\x97\\x29\\x98\\x06\\xfb\\x4c\\xbb\\x00\\x04\\x17\\xc6\\x82\\x97\\xc6\\x9e\\x85\\x4f\\x1a\\x07\\x08\\x96\\x5c\\x11\\x7e\\x45\\x8f\\xf3\\xae\\xe5\\xf2\\xbd\\x37\\xe8\\xf4\\x27\\xe7\\x58\\xca\\xcf\\x57\\x44\\x6b\\x39\\xa2\\xc3\\x42\\x68\\x8d\\x9f\\xdd\\xb2\\xdf\\x01\\x5a\\x71\\x7f\\xd0\\x3c\\xfb\\x92\\xeb\\x8b\\xee\\x49\\x29\\x68\\xd9\\x1f\\x3a\\xf4\\xd9\\xfe\\x74\\x45\\xfd\\x11\\x21\\x6b\\x28\\xfc\\x98\\x54\\x81\\xbb\\xa0\\x2c\\x93\\x72\\x22\\x9a\\x66\\x05\\x42\\x29\\xcb\\x90\\x4e\\xa0\\x2e\\xe0\\x53\\x30\\xcc\\x36\\xbb\\x43\\x4b\\xa2\\x2e\\x7d\\x84\\xd3\\x5f\\xbf\\x36\\xe1\\xed\\xeb\\xf3\\xc1\\xe8\\xeb\\x50\\xe2\\x15\\xf1\\x34\\x17\\xd2\\x5e\\xef\\x7e\\xda\\xe3\\x65\\xc0\\x69\\x1f\\xc5\\x34\\xd2\\xc3\\x38\\x1f\\xba\\x2f\\xa9\\x12\\x9a\\x74\\x2c\\xb6\\x15\\x6e\\x47\\x5f\\x16\\xcb\\x28\\xcc\\x66\\xa9\\xd5\\x62\\x2d\\xf7\\xc8\\x2d\\x1a\\x0a\\x17\\xce\\x64\\x5b\\xa0\\x87\\xf9\\x33\\x64\\x01\\x09\\xf8\\xa5\\x85\\x18\\x27\\x0c\\xa7\\x06\\xfb\\x70\\x14\\x68\\xbd\\xce\\x88\\x67\\x49\\x8a\\x31\\x52\\x4d\\xea\\x48\\xf3\\xac\\x4c\\x78\\xfd\\xc3\\xb6\\xd5\\x07\\xc6\\x0c\\x8e\\x7f\\xcb\\x0a\\x93\\xe3\\xa7\\xd7\\x95\\x4c\\x9a\\x32\\xe3\\xec\\xe8\\xba\\x78\\x98\\x6c\\x7d\\x2b\\xb1\\xdf\\x07\\x65\\x47\\xbf\\xf7\\x2e\\x20\\x84\\x72\\x7d\\xbf\\xbb\\x31\\xea\\x87\\x0f\\x0e\\xbb\\xa4\\x5b\\x3f\\xef\\xfe\\x01\\x70\\x4c\\x5b\\xbc\\x69\\x1f\\xbc\\xb8\\xee\\xc1\\xe2\\xcf\\xb7\\x4a\\x77\\x83\\xa8\\xe5\\xc0\\xf2\\x60\\x2a\\xdc\\xe7\\xeb\\x02\\xe2\\xe7\\x57\\x88\\x9f\\xc9\\x82\\x76\\x9a\\x48\\x66\\x14\\x9a\\x6b\\x02\\x26\\xeb\\x37\\x8a\\x92\\x9d\\x64\\x68\\x60\\x52\\x47\\x52\\x71\\x69\\x69\\x69\\x81\\xf9\\x98\\xaf\\x11\\xe0\\xf9\\x88\\x9e\\xc9\\xe2\\xeb\\xe7\\xa2\\xcf\\x11\\xc4\\x3e\\x9a\\x82\\x3e\\xff\\x85\\xf8\\xcd\\x51\\x1a\\x97\\x98\\xe6\\xca\\x3d\\x34\\x03\\x30\\x87\\x53\\x08\\x30\\xb4\\x03\\xc3\\x41\\x80\\x74\\x34\\x0f\\x98\\x19\\x56\\x6f\\x07\\x2e\\x7f\\x2b\\xd6\\xdf\\xbb\\xd1\\x33\\x93\\xc8\\x33\\x72\\xca\\x79\\x8a\\x16\\x68\\x04\\x48\\x46\\x08\\x4e\\x37\\xbd\\xeb\\xd2\\xc8\\xd5\\x85\\x02\\x86\\x66\\x58\\x89\\x04\\x88\\x29\\xb1\\xaf\\x92\\xb5\\x9f\\x73\\x4e\\x67\\x1c\\x12\\x12\\xc9\\x49\\x38\\xe8\\x46\\x2b\\x04\\x02\\x21\\xb0\\x33\\x91\\x51\\xfd\\x43\\xe8\\x6b\\xbf\\x3f\\xb1\\xc0\\x35\\x1d\\x8b\\x61\\x0a\\x93\\xba\\xcb\\xa8\\x5a\\xcb\\xd6\\x3f\\xed\\xfe\\x22\\x7b\\x7e\\xd5\\xe2\\xc6\\xdf\\x18\\xf9\\xc4\\xf9\\x7e\\xba\\x3f\\x24\\x74\\x47\\x13\\x99\\x8c\\x66\\x1d\\xfb\\x2b\\xf9\\xdc\\x36\\xd0\\xaf\\x6b\\xe4\\x73\\x1c\\xe5\\xc7\\xd4\\xd9\\x8a\\xc6\\x57\\x49\\x85\\x50\\x36\\x2a\\xc7\\x15\\x6d\\x0b\\x2d\\xf7\\x84\\xda\\x72\\x6d\\xb4\\xd2\\x16\\x6a\\xbb\\x60\\x7b\\xc7\\xf6\\xb3\\xad\\xc9\\x26\\xd0\\x32\\x36\\x5b\\x90\\x48\\xa4\\x41\\x6b\\x86\\xa5\\x70\\xfd\\x5a\\xed\\xf3\\xa8\\x35\\xe3\\xe3\\x7c\\x98\\x71\\xc1\\x80\\x37\\xe5\\x25\\xb8\\x9e\\xa7\\x1f\\xf0\\x07\\x8d\\xbd\\x12\\x83\\x7d\\xfd\\x75\\xe3\\xad\\xc1\\xaf\\xfc\\xbe\\xf5\\xea\\xdb\\x83\\xea\\xff\\x02\\x1d\\xbe\\x5d\\x72\\x61\\xe2\\xc3\\x21\\x1b\\x27\\x77\\xde\\x6c\\x85\\xc7\\xac\\xba\\xef\\xee\\xd6\\x81\\x59\\x40\\xbc\\xf0\\xd3\\x4f\\xb7\\xc0\\x79\\xf0\\xe7\\x65\\xcc\\x5e\\xd0\\xea\\x1a\\x1c\\xb3\\x17\\x5e\\x1f\\xf1\\x39\\xe8\\x12\\xb1\\x79\\x33\\xa2\\x7f\\x20\\xa2\\x7f\\x3b\\xa1\\x3f\\xde\\xdf\\x1f\\xce\\x4c\\x3e\\x13\\xc3\\xc8\\x5f\\x97\\x17\\xd9\\xb1\\x7a\\x97\\x04\\x83\\xa9\\x00\\xa1\\xc8\\xbf\\x9e\\x9d\\x24\\x20\\x95\\xc1\\x65\\x84\\x48\\xb2\\x8b\\xe7\\xfa\\x6a\\xa9\\xc6\\xd9\\x07\\xaa\\xaf\\xd3\\x4d\\x57\\x99\\x45\\x9d\\x6f\\x8f\\xdf\\xd7\\x38\\x1d\\x3d\\x8b\\xdf\\x1b\\x84\\xde\\xf3\\x2d\\x79\\x6f\\xd2\\x73\\x7c\\x4b\\x26\\x7c\\x43\\x92\\x95\\x7d\\x07\\xdd\\x8b\\x6d\\x33\\x29\\x15\\xe9\\xd2\\x49\\x25\\xe5\\x1e\\xa9\\x94\\x05\\x2c\\x87\\x8b\\x29\\x03\\xaa\\xdc\\x03\\x98\\xbf\\xa1\\x10\\x61\\x6c\\x31\\xf4\\xad\\x45\\xb3\\x1f\\x04\\x5b\\x99\\x0d\\xd6\\xa7\\x95\\x56\\xe6\\x82\\x95\\xb3\\x7a\\x07\\x5b\\xd9\\x03\\x5b\\xb7\\x3e\\x2d\\xdd\\xba\\x95\\x61\\x36\\x6f\\xe6\\xe5\\x80\\x6f\\x6c\\x50\\x9b\\x29\\x94\\x1f\\xcf\\x04\\xd1\\x80\\x5a\\xb4\\xb8\\x94\\x9c\\x00\\x08\\xd0\\x2c\\x04\\x48\\x60\\x09\\x03\\x1d\\xf4\\xe7\\x06\\xf3\\x69\\xb0\\xd9\\x68\\x3a\\x2e\\x86\\x4f\\x2e\\x7c\\xeb\\xfd\\x13\\x75\\x05\\x09\\xa2\\x03\\x4f\\x4b\\xfd\\x7d\\x39\\x45\\xfa\\xe2\\x24\\xef\\x65\\xb0\\x9d\\x87\\xde\\x2b\\x23\\x95\\x96\\x85\\xac\\xb0\\xdc\\x23\\x46\\x72\\x84\\x62\\x19\\x20\\xa1\\x24\\xcd\\x93\\x93\\x4f\\x2c\\xf5\\x37\\x92\\x21\\xc6\\x5d\\xb1\\x03\\x9c\\x84\\xcc\\x84\\xd2\\x0b\\x61\\xcf\\x50\\xe6\\xa1\\xb5\\xf1\\x17\\x30\\x2d\\xc8\\x7b\\x92\\xa9\\xb4\\xee\\xa2\\x23\\xc0\\xa7\\x3b\\xb7\\xc2\\x81\\x33\\xa1\\x62\\x2b\\xe9\\xcf\\x4d\\x22\\xfb\\x70\\xbb\\x19\\xe4\\xf3\\x9b\\x7c\\x6d\\x4e\\xf4\\xb9\\x0d\\xe1\\xa9\\xa5\\xe9\\x0f\\x34\\x57\\x8b\\x28\\x23\\x15\\x86\\x46\\x37\\xc3\\x15\\x02\\xd8\\x28\\xb6\\xc2\\x13\\x69\\x89\\x0a\\x89\\x96\\x47\\x57\\x78\\x54\\xf2\\x28\\xf4\\x45\\x2b\\x15\\x0c\\x43\\x6b\\x9b\\x03\\xb4\\xfd\\x95\\x23\\xfc\\xf5\\x64\\xc8\\x71\\x3f\\x8f\\x3f\\xd4\\x1a\\xab\\x52\\x1f\\x64\\x8b\\xbf\\x4c\\x75\\x0e\\xcd\\x61\\x4c\\x25\\x2d\\x29\\x21\\x74\\x20\\x26\\xf6\\x64\\x6c\\xcc\\x89\\x86\\x8d\\x40\\x71\\xc0\\x6a\\x3f\\x69\\xb7\\xbc\\xf9\\xc1\\x56\\xf8\\x7f\\xdf\\x2c\\x9b\\xc1\\x2d\\x96\\xf5\\x5e\\x3d\\x22\\xb3\\xf1\\xf8\\x9c\\x99\\xb2\\xc5\\xa2\\xea\\xe3\\xe5\\x6f\\xdf\\xbd\\x7b\\xe7\\xd8\\x46\\x10\\xb2\\xe5\\xf0\\xe1\\x4b\\x07\\x37\\xc3\\x7b\\x2f\\xd1\\x25\\xd3\\xa7\\x79\\x0b\\xf3\\xe7\\xbe\\x32\\x79\\xca\\x52\\xfa\\xf4\\x84\\x3b\\xbc\\x0d\\x74\\x2e\\xd0\\xc7\\xd6\\x84\\xb7\\x48\\xe2\\x70\\x59\\x88\\xb7\\xa1\\xb8\\x76\\x8c\\x15\\xa8\\x40\\x85\\x47\\xab\\x52\\x05\\xa9\\xf9\\x49\\x89\\xa6\\x64\\x56\\xb3\\x72\\x79\\x06\\x22\\xa1\\x35\\xd6\\x73\\xfe\\x0c\\x5d\\x0a\\xe7\\x40\\x1e\\xed\\x96\\xbd\\xef\\x84\\xaa\\xe7\\xce\\x5e\\x8a\\xca\\x31\\xce\\xed\\x5b\\xb6\\x3b\\x17\\x9c\\x0a\\xeb\\xb5\\xb3\\x67\\x02\\x7c\\x78\\x2b\\xbb\\x1b\\x58\\xf9\\xda\\xb1\\xce\\x6e\\x70\\x0c\\x76\\x29\\x68\\x33\\x75\\x2e\\x93\\xd4\\xf8\\xee\\xf5\\xe3\\xe0\\x24\\x2c\\xfa\\x09\\x3e\\x84\\x13\\xd1\\xba\\x68\\x40\\x63\\x7e\\x1a\\xad\\xf3\\x48\\x82\\xb0\\x6b\\x32\\x89\\x43\\xcc\\x21\\x68\\xc2\\x9a\\x35\\x94\\xf6\\xef\\xc2\\xdb\\x27\\xb9\\xa9\\x7f\\x17\\xdc\\x38\\xfa\\x1d\\x49\\x6e\\x46\\x74\\xf3\\x3f\\x4d\\xd4\\x27\\x93\\x13\\x90\\xc8\\xb6\\xc4\\xcf\\x3e\\xdc\\x7b\\xce\\xd2\\xc5\\x97\\xc7\\x1d\\x8d\\x87\\x16\\xeb\\x5b\\xad\\x26\\x4c\\x98\\x34\\xb0\\xfe\\x37\\xae\\xef\\x37\\xef\\xfc\\x0c\\xcb\\xe6\\x20\\x59\\x5d\\x7c\\x0f\\xa8\\x67\\x2f\\xdd\\xbc\\x15\\xbe\\xbd\\xfa\\xfb\\x0d\\x48\\x56\\x97\\xfe\\xf7\\x85\\x05\\xc0\\xf2\\xd1\\x04\\xca\\xbf\\xae\\x05\\x8b\\xb0\\x5e\\xc4\\xf6\\x00\\xe2\\x5b\\x3a\\x90\\x52\\x92\\x7a\\x1a\\x68\\x39\\x22\\xa4\\xfd\\xf3\\x85\\xdc\\xd3\\xc6\\x77\\x4f\\x81\\xef\\x1e\\x55\\xe0\\x9e\\x11\\x68\\xcd\\x3c\\xe6\\xfe\\x8b\\x64\\xfd\\x20\\x22\\xeb\\x33\\xd1\\xad\\xa2\\x13\\x74\\x2b\\x22\\xe9\\xfd\\x35\\xcf\\xc8\\xf5\\x61\\xfc\\x75\\x37\\xbe\\x0e\\x12\\xfc\\xd7\\x31\\xde\\x7e\\x67\\x72\\x7d\\x44\\xcb\\xeb\\xe1\\xfe\\xeb\\x58\\x97\\x48\\xc9\\x75\\x5e\\x97\\x64\\x5a\\xc9\\x75\\x93\\xff\\x7a\\x0d\\xba\\x5e\\x4e\\x74\\x4d\\x35\\xaf\\x6b\\x7e\\xf5\\xe9\\x1a\\xab\\x4f\\xd7\\x20\\x9d\\x4a\\x68\\x24\\x36\\x70\\x14\\x3e\\x45\\x30\\xea\\x95\\x4a\\x71\\x38\\x2e\\x33\\x22\\xa3\\x68\\xb1\\x8a\\xb6\\xba\\x3d\\xb4\\x81\\x6a\\xae\\x90\\x49\\x60\\x55\\xd0\\xbc\\xa6\\x5b\\xd6\\x07\\xc4\\x87\\xfe\\xb4\\xd0\\x17\\x23\\x15\\xe1\\x83\\x7e\\x27\\xe2\\x96\\x69\\xbd\\xf7\\xf7\\x9d\\x9b\\x82\\xaa\\xc0\\x4b\\x33\\xb6\\x18\\xe9\\xe8\\xee\\xaf\\xe5\\xac\\x71\\x98\\xcd\\xa7\\x34\\xde\\x87\\x65\\x03\\xa7\\xbe\\x9f\\x4b\\xdf\\x9f\\x5e\\xdb\\xef\\x47\\xd8\\xb4\\xef\\x50\\xc5\\x0c\\x3a\\x7d\\x5e\\xcd\\xc8\\x79\\xfd\\xe1\\x07\\xd5\\xc7\\x96\\xaf\\x1f\\xd5\\x73\\xd3\\xb0\\x89\\x23\\xbf\\xbd\\x94\\x07\\x86\\x6c\\x87\\x2f\\x61\\xfd\\xf5\\x0b\\xae\\x97\\x4c\\xea\\x51\\x27\\x50\\x29\\xae\\x60\\x4d\\x5c\\x6c\\x5c\\xac\\xdb\\x13\\x17\\x27\\xa5\\xa4\\x21\\x18\\x91\\x48\\x20\\x34\\x13\\x1c\\x28\\x3f\\x70\\x68\\x33\\x34\\x34\\x8f\\x8a\\x13\\x16\\xe5\\xc0\\x0e\\x12\\xf0\\xa1\\x26\\x29\\x80\\x10\\x67\\x7c\\x28\\x7c\\x25\\x92\\x85\\x4c\\x00\\x35\\xc7\\x91\\x91\\x43\\xd3\\xc9\\xa7\\x27\\x09\\xe4\\xba\\xec\\x7a\\x60\\x4e\\x00\\x8a\\x2f\\x8f\\xbc\\x9c\\x37\\x7f\\xf0\\xb4\\x79\\x8b\\x1e\\x37\\x0e\\x1d\\xf0\\x62\\x9d\\x6d\\x7b\\xda\\xd6\\x92\\x51\\x75\\x7d\\x4f\\x1e\\x34\\x4f\\xd9\\x57\\xa2\\x1b\\x30\\x72\\x20\\xfc\\x88\\x3b\\xfc\\xe3\\xfd\\xe5\\x73\\x4a\\x8f\\xd4\\x44\\x98\\xb6\\x4e\\x5a\\xd0\\xb8\\x88\\x3d\\xd1\\xad\\x64\\xcb\\xfe\\xc6\\x77\\x63\\x53\\xca\\x8e\\xf4\\x9d\\x38\\x6d\\x95\\xb8\\xdf\\x4e\\xb4\\xfe\\xb6\\xc3\\x3e\\x88\\xd7\\xd9\\x48\\xbf\\x69\\x4e\\x89\\x59\\x85\\x5e\\x26\\x24\\x09\\x69\\x89\\x7c\\x2e\\xb5\\x16\\x11\\x44\\x92\\x71\\x05\\x38\\x10\\x05\\x80\\x11\\x6b\\x64\\x16\\x61\\x31\\x38\\x77\\xc5\\x3b\\x7f\\x7c\\xcf\\x0b\\xb9\\x63\\x21\\x7a\\xd4\\x3b\\x2e\\xed\\xac\\x52\\xb9\\x92\\xfe\\xed\\xe9\\xd3\\x9b\\xf0\\xa7\\x2b\\x3f\\xb1\\x89\\xd8\\xfe\\x2a\\x45\\x63\\x58\\x8f\\x78\\x23\\xa7\\x1c\\x68\\x45\\x69\\x6d\\x8e\\x30\\xc4\\x09\\x55\\x28\\xcb\\x98\\xc2\\x28\\x93\\x04\\x83\\x65\\x05\\x20\\xa5\\x7c\\xf6\\x31\\x4e\\x1a\\xf1\\x41\\x5e\\xa1\\x85\\x13\\x05\\xc8\\xd1\\x28\\x3f\\xa6\\x54\\x04\\x83\\x44\\x29\\xb3\\x2e\\x3c\\x35\\xef\\x1b\\xef\\xfc\\xa9\\x13\\x8f\\x0c\\xae\\xda\\x44\\x35\\xf5\\x2d\\x8c\\x2e\\xdd\\xfb\\xf9\\xdc\\x2b\\x9f\\x80\\x44\\x10\\xdd\\x64\\xa2\\x7f\\x30\\xd3\\xc9\\x1d\\x26\\x0d\\x2c\\xed\\x06\\xef\\x9d\\x9d\\xb6\\x6c\\xe2\\x67\\xcc\\x0c\\x11\\xbc\\x56\\x39\\x6b\\x61\\xd7\\x89\\x0f\\x8f\\xf4\\xbf\\x7c\\xf4\\x3f\\xa0\\x7f\\x05\\x28\\x9c\\xb7\\x9a\\x3f\\x9b\\xf5\\xd5\\xf6\\x43\\x56\\x40\\xbe\\x2b\\x56\\x8f\\x86\\x4b\\x1e\\x46\\x48\\xac\\x32\\xcd\\x31\\xbd\\x61\\x7a\\xd7\\xc4\\x9a\\xf4\\x2e\\x06\\x30\\xca\\x30\\x20\\x65\\xc2\\xc2\\x04\\x7a\\xe4\\x2c\\xe0\\xea\\x71\\xfe\\x69\\x47\\x20\\x6b\\xc7\\x6b\\xb2\\x78\\x30\\xba\\x38\\x02\\xb9\\x8d\\xfc\\x28\\x3b\\xef\\xfc\\x67\\xa4\\xf9\\xa1\\x87\\x7d\\x9b\\x00\\x64\\x03\\x4c\\x48\\xf6\\x02\\xe8\\xe0\\x31\\xef\\x14\\xf5\\x7e\\x0b\\x5e\\x3c\\x7b\\xb1\\x6c\\x4b\\x9f\\xb2\\xd1\\xd3\\xbe\\x5c\\xb5\\xee\\x52\\xe2\\x5a\\xfb\\x82\\x91\\x2b\\x57\\x9c\\xfa\\x30\\xf8\\x8d\\x5b\\xc3\\x27\\xf4\\xea\\x3a\\xe4\\xd2\\xec\\x69\\x03\\xd6\\xf4\\x15\\xd1\\x92\\x31\\xee\\x7e\\x75\\xbd\\x7b\\x0f\\xee\\xd3\\xb1\\xc3\\xc8\\x9e\\x9d\\x0b\\x17\\x3b\\xc7\\xb8\\xd7\\x12\\xfa\\x57\\xc1\\xf5\\x2c\\xc6\\x6f\\x43\\xdc\\x3d\\x65\\x23\\x28\\xbb\\x1a\\x96\\xe0\\xd4\\x68\\x34\\x52\\x2b\\x25\\x3d\\x8d\\xcc\\xa6\\xdc\\x16\\x28\\x9e\\x40\\x67\\x08\\x25\\x1c\\x25\\xc5\\x14\\x09\\xf2\\x36\\x8d\\xf8\\x0a\\x32\\x04\\x0e\\x0c\\xe8\\xc9\\x52\\x34\\xe8\\x39\\x6c\\x58\\xe5\\x8b\\x63\\xf3\\xba\\x67\\x4e\\x8c\\x4c\\x98\\x51\\xb7\\x7d\\x6d\\x4f\\x70\\x00\\x79\\x18\\x85\\xbd\\x61\\x8a\\x99\\x09\\x0b\\x86\\xaf\\xc1\\xe5\\xe7\\x40\\xef\\x9c\\x62\\xa3\\x39\\x32\\xbd\\x28\\xbb\\xcd\\x96\\x0e\\x99\\x31\\xa5\\x21\\xad\\xf2\\xec\\x61\\x9d\\xaa\\x8a\\x5f\\x03\\x10\\x0c\\x10\\x08\\x56\\x2d\\x7b\\x0c\\xd7\\xc3\\x8f\\x08\\x7d\\x44\\x4e\\x10\\x2c\\x69\\xa4\\x8b\\xf5\\x26\\xa9\\x09\\xe3\\x20\\xab\\xd4\\x4a\\xa9\\x9e\\x22\\xc8\\x6d\\x7e\\x68\\x28\\xf0\\x2f\\x05\\x38\\x6c\\x04\\x30\\xe5\\xa5\\x7b\\xd2\\xd2\\x7e\\xcf\\x96\\xdd\\xe8\\x70\\x76\\x01\\x30\\x2b\\x1e\\xa0\\xd7\\x57\\x64\\x47\\xf7\\xe9\\xf1\\x6c\\xbd\\x8d\\xf2\\xb1\\x30\\xab\\xe0\\xe9\\x22\\xa4\\x2b\\x37\\xa3\\xf1\\x9d\\xc3\\xdd\\x44\\xd6\\xbf\\x01\\xe9\\x96\\x2c\\x97\\x4d\\xa3\\x0d\\xd6\\x16\\x7b\\xcc\\xca\\xe0\\xc4\\xe0\\xdc\\x60\\x46\\xca\\x04\\x07\\x53\\x42\\xa1\\xb1\\x18\\xe3\\x50\\x2a\\xff\\x56\\xb4\\xd6\\x5f\\xbf\\xca\\x0f\\xf3\\xab\\xb1\\xfb\\x2c\\xb6\\xa8\\x14\\x8d\\xd6\\x8e\\x66\\x03\\x08\\xa3\\x19\\x52\\xc7\\x13\\xfc\\xb1\\xbf\\x3e\\xec\\x05\\xf0\\xde\\xab\\x87\\x86\\xec\\xfb\\x71\\xe6\\xaa\\xd3\\xb9\\xde\\x4f\\x43\\xc0\\xab\\xab\\x4e\\xe6\\xd0\\x0e\\x4b\\x3f\\xdd\\xbd\\x2f\\x16\\x1d\\xa5\\x7f\\x7a\\xaf\\x61\\x3f\\xcc\\x84\\xef\\x6d\\x5f\\x08\\xe4\\xc0\\xb1\\x6f\\x34\\xfc\\x82\\xbd\\x0b\\xff\\x84\\x5f\\xed\\x99\\xb8\\x92\\xe4\\x2b\\xf1\\x32\\x13\\xad\\x41\\x2d\\x65\\x3a\\xa5\\x56\\xb8\\x3d\\x6a\\xa5\\x88\\x21\\x78\\x74\\x22\\x43\\xa0\\x7a\\x11\\x68\\x51\\xfb\\x32\\x50\\xda\\xca\\xd3\\xbe\\x7d\\xe5\\x8c\\x82\\x4d\\xf5\\xb5\\x8b\\x15\\x13\\x49\\xf1\\xac\\xd5\\x62\\x20\\xc9\\xcf\\x1d\\x35\\x75\\xc5\\xd4\\x69\\x19\\x9d\\xe8\\xa2\\x55\\x5e\\x5b\\x2b\\x24\\x73\\xe7\\x63\\x7b\\x06\\x63\\xff\\x51\\x4f\\x48\\x7b\\x62\\x64\\x4c\\x7c\\x47\\xe4\\x56\\xa2\\x4b\\x5b\\xa7\\xc3\\x99\\x14\\x0a\\x46\\x47\\xa9\\xa5\\xea\\x20\\xa3\\x4a\\x2f\\xe5\\xa1\\xcf\\xa5\\x7e\\x18\\x11\\x27\\x01\\xf7\\xc1\\x5e\\x39\\x4e\\x9c\\xc5\\xc7\\x8f\\x7c\\xb6\\xb7\\x15\\x18\\x31\\x9e\\x70\\x14\\x06\\xdc\\xa5\\x17\\xa9\\x83\\xec\\xce\\x14\\x9b\\x53\\x1c\\x3c\\xca\\xde\\xb5\\x6f\\x6b\\xf3\\xed\\xf3\\xe5\\x3a\\xc6\\x32\\x04\\xae\\x39\\xc7\\x5c\\x19\\xbc\\xaa\\x22\\x52\\xb6\\x40\\xa4\\xca\\x5e\\xb4\\xe1\\xe9\\x72\\xba\\xdd\\x9a\\x82\\xcc\\xdd\\xde\\xcb\\xd8\\x16\\xfd\\x1c\\x0d\\xe2\\x20\\xd4\\xef\\x30\\x5c\\x0b\\x41\\x2b\\xb2\\x8a\\xdc\\x1e\\xbb\\x39\\xc8\\x6a\\x90\\x01\\x25\\x99\\x24\\x78\\x2b\\xc9\\x1f\\x93\\x07\\x9c\\xff\\x02\\xc9\\x91\\xc6\\x03\\x67\\x45\\x31\\x36\\x10\\x71\\x72\\xa1\\xb4\\x4f\\xf9\\x9c\\x93\\xd6\\xe9\\xf5\\xdb\\xc5\\x36\\x73\\xb0\\xc5\\x54\\x90\\xb8\\x8d\\x65\\xd6\\xbe\\x91\\x37\\x34\\x68\\x00\\x2c\\xe5\\xbe\\xf2\\xf6\\x70\\x45\\x78\\x4a\\x5f\\xd9\\x49\\x4f\\x6c\\x7c\\xb7\\x95\\x25\\xd6\\x22\\x9a\\xab\\x5b\\x95\\x7a\\x31\\x26\\x12\\x92\\xf8\\x41\\xea\\x0a\\xa9\\xd1\\x9e\\x8d\\x63\\xa5\\x4e\\x8a\\x69\\x25\\xcb\\xe3\\xf9\\xf3\\x46\\xb1\\x53\\x8b\\xe1\\xb7\\x48\\xf9\\x03\\x8a\\xce\\x38\\xf8\\xd6\\xeb\\x1b\\x3e\\x6b\\x50\\x1e\\xd3\\xc2\\xb7\\xd9\\xec\\xc6\\x8a\\xcf\\xc0\\xc6\\x63\\xed\\x32\\x33\\x72\\xaf\\x41\\x1c\\x57\\x43\\xad\\x83\\x9b\\x09\\xae\\x5e\\x2a\\xe5\\x72\\x89\\x53\\x75\\x7a\\x9d\\xbe\\xd8\\x13\\x67\\xe1\\x31\\xcc\\x11\\xaf\\x95\\x8c\\x2e\\x4e\\x17\\x27\\x0b\\x47\\x6b\\xf4\\x94\\x82\\x54\\x55\\x93\\x51\\xcd\\x06\\x64\\x16\\xbf\\x5b\\xe3\\x5f\\x1e\\x48\\x90\\x20\\xfb\\x22\\x17\\x08\\x39\\x1c\\x13\\xc0\\x92\\x4c\\x3a\\xa1\\x80\\xfc\\xfb\\xfc\\x82\\x66\\xd2\\x52\\xd3\\xc3\\x33\\xe8\\xdf\\xb6\\x1c\\xe6\\x74\\x87\\x77\\x81\\x10\\xd8\\x34\\xc0\\x4c\\x7f\\x16\\x0c\\xbf\\xfa\\xf3\\xd8\\x7d\\xd3\\x19\\xf8\\xc1\\xc6\\x8a\\x41\\xa3\\x17\\x57\\x64\\x76\\x69\\x3d\\x31\\x32\\x71\\xdc\\xa2\\xa5\\x33\\xbb\\xc6\\xac\\x05\\xda\\xb3\\x4c\\xbc\\x74\\xc2\\xe0\\x84\\x91\\xf3\\x4c\\x22\\x20\\x5c\\xb5\\xc4\\xbe\\xb4\\xca\\xdd\\x4f\\x3d\\xdf\\x30\\xe5\\xf0\\x80\\xdc\\x92\\xa0\\x10\\x87\\xb3\\x73\\x46\\xee\\xfa\\xc2\\xcc\\x98\\x3e\\xa1\\x89\\x39\\xe6\\xd0\\xf4\\xbc\\xd2\\x8c\\xaa\\x87\\x9b\\x82\\x5b\\xd6\\x9a\\xa1\\x7a\\x10\\xde\\xe5\\x37\\xfd\\xc0\\xe1\\x39\\xec\\xc0\\x78\\xa7\\x1a\\x2a\\x98\\x94\\x43\\x57\\xea\\xf5\\x52\\x01\\xae\\x91\\x4b\\xf9\\xc1\\xe1\\xa8\\x96\\xd5\\xa7\\x9a\\xd1\\xc6\\xed\\x12\\x1c\\xbd\\x11\\x0c\\x30\\xaa\\x19\\x46\\x42\\x42\\x3d\\x0d\\x9f\\x2f\\x8a\\x0e\\xb3\\x46\\x70\\xee\\xbc\\x01\\xbd\\x24\\xcb\\xe1\\x8a\\x82\\xea\\xdc\\xd7\\x62\\x3d\\xdd\\x32\\xba\\x2d\\xb4\\x58\\x2c\\x23\\xd3\\x99\\x3b\\x66\\xe6\\xb0\\x77\\x40\\xb4\\x39\\xc1\\x86\\x46\\xb1\\xb0\\x38\\x3a\\x9d\\xbe\\x0e\\x37\\xc2\\xce\\xab\\xca\\x81\\x02\\xb4\\x02\\x1a\\xa3\\xa2\\x56\\xa6\\xe6\\xeb\\x98\\x35\\x7d\\x41\\x6a\\x04\\x15\\x21\\x83\\x32\\x94\\xa0\\xe0\\x52\\x52\\xa9\\x01\\x17\\x54\\x16\\x0a\\xcc\\x14\\x92\\xfc\\x1c\\x5e\\xfc\\x29\\x2d\\x34\\x34\\x59\\xf5\\x51\\x0e\\xb2\\x85\\x4a\\xf9\\xab\\xe4\\x62\\xa5\\x6c\\x93\\x02\\x12\\x78\\xa7\\xa1\\x53\\x2a\\x5f\\x4c\\x61\\x75\\x25\\xf5\\x97\\x13\\x41\\xd4\\x87\\xa7\\x3e\\xea\\xb1\\xf9\\xf6\\xe3\\x59\\x93\\xe1\\x5f\\x5d\\xdb\\xc6\\x6d\\xe8\\x33\\x72\\xf7\\x00\\x5d\\x5e\\xd7\\x19\\xb0\\x94\\xf9\\xe9\\x37\\x60\\x7c\\x78\\x75\\x36\\x84\\x57\\xc7\\xd1\\xf5\\xab\\xb6\\xc2\\x29\\xf0\\x52\\x41\\xb7\\x75\\x20\\x88\\xcc\\x91\\xad\\xec\\x08\\x52\\x27\\x37\\xf2\\x98\\x5e\\xc4\\x23\\xb5\\xdb\\xf5\\x7a\\xab\\xc2\\x8a\\xf4\\x8c\\x55\\xa5\\xe0\\x05\\x78\\x8b\\x7a\\xc2\\x20\\x4c\\x41\\xf3\\x69\\x94\\x48\\x32\\xb6\\x90\\xe1\\x1a\\x1f\\xbe\\x0b\\x43\\x97\\xac\\x9f\\xdc\\xb5\\xe6\\x95\\x45\\x43\\x5b\\x2f\\x98\\x18\\x96\\x32\\x78\\xcb\\xce\\x55\\x1d\\x07\\xbe\\xfa\\x68\\xf1\\xc3\\x21\\x8b\\x3d\\xcc\\x9b\\x7d\\x5f\\xfe\\x26\\xbf\\xf7\\x98\\x8c\\x98\\xcc\\x6e\\x99\\x13\\xeb\\x32\\x23\\xca\\xac\\xd1\\x39\\xb1\\xf1\\xbd\\x66\\x78\\x2a\\x81\\xfe\\x8f\\x39\\x1b\\x27\\xd4\\x90\\x3d\\x93\\x42\\x34\\x86\\xe9\\x44\\x0e\\xd9\\x31\\xfa\\xb9\\x5c\\x62\\x10\\x21\\x3e\\x89\\x94\\xb8\\x74\\x27\\xd5\\x02\\x40\\xa7\\x59\\x2c\\x52\\x31\\x38\\xfd\\x45\\xc8\\x83\\x31\\x6b\\x53\\xa3\\x1c\\x98\\x48\\xbc\\xa7\\xa8\\x01\\x0f\\x6e\\xdd\\x54\\xa7\\x82\\x61\\x40\\x47\\x27\\x9a\\xb7\\xbc\\x08\\xac\\x49\\xb5\\xf0\\x87\\x5f\\xd2\\x3c\\xe3\\xcf\\xcd\\x6b\\xfb\\xfd\\x8c\\x13\\x03\\x75\\xd7\\x5e\\xcd\\xab\\x00\\x52\\xe0\\x58\\x25\\x60\\x5d\\x1b\\x07\\xbe\\x04\\xaf\\xbd\\x44\\x1f\\x7c\\x71\\x7e\\x8f\\x5d\\xf7\\x46\\xc2\\xc6\\xf9\\x80\\xc6\\x73\\xea\\x3e\\x9a\\x63\\x0b\\x7d\\x18\\xe4\\x0a\\x9d\\x02\\xd7\\x35\\x96\\x04\\x0b\\xd1\\xc4\\x12\\x2a\\x5b\\xd4\\xfc\\x03\\x81\\x39\\x63\\xf7\\xa1\\xb1\\x04\\xca\\x80\\x81\\x07\\x25\\xb5\\xc1\\x78\\xb6\\xd0\\xef\\x9a\\xe1\\xb2\\x85\\xdc\\xf0\\x2c\\xb7\\xc9\\x34\\x35\\x75\\xcc\\x10\\xf1\\x72\\xe6\\x70\\x90\\x1c\\xcf\\x10\\x6f\\xcf\\x56\\x7d\\x25\\xf3\\x05\\x8a\\x1e\\xbd\\x1c\\xad\\x68\\x5f\\xae\\x12\\xb1\\x51\\x09\\x76\\xb7\\xce\\x25\\xd6\\x08\\x94\\x94\\xac\\x85\\x11\\xe7\\xef\\x3b\\x2f\\x85\\xf8\\x02\\xd4\\x44\\x2c\\xd0\\x2c\\xf8\\xbf\\x53\\xe7\\x15\\x73\\x4f\\xce\\x13\\x3f\\x58\\x70\\x70\\x60\\xd8\\x6b\\xf6\\xcd\\xf0\\x91\\x6e\\xcd\\x8e\\x82\\xf6\\xf4\\x06\\xef\\xe0\\xe4\\x98\\x5b\\x3b\\x81\\xfb\\xc4\\xd1\\x71\\xd5\\x7b\\xbf\\x82\\xd3\\x48\\x3c\\x1c\\x65\\x47\\xf3\\xf2\\x04\\xdb\\x83\\xb2\\x20\\x3b\\x37\\xd9\\x65\\x72\\xa8\\x25\\x76\\xbd\\xbd\\xd8\\xa3\\x51\\x8b\\xf5\\xaa\\x70\\x35\\xad\\x2e\\xf6\\x58\\x68\\x03\\xc0\\xa2\\x30\\x25\\x50\\x05\\x4d\\x93\\xc5\\xef\\xb9\\x91\\x40\\x76\\xe2\\x65\\xe0\\x48\\x32\\x46\\xaf\\xe2\\x8b\\x1c\\xf0\\x73\\x55\\x48\\xf0\\x43\\xa5\\x20\\x5c\\x9b\\x0e\\x7e\\xab\\x73\\x9f\\xbf\\xbc\\xe8\\xd7\\x6d\\x9c\\x7b\\x6e\\x79\\xfa\\xaf\\xe3\\xa3\\x6e\\xbc\\x38\\x63\\x49\\xf1\\xae\\xef\\xd6\\x81\\xeb\\x59\\x59\\xb5\\x19\\x13\\x40\\x87\\xde\\x46\\x58\\x0a\\x36\\x88\\xae\\x9e\\x3a\\x02\\xba\\xde\\x0a\\x5e\\xa2\\x1e\\xba\\xeb\\xbd\\x81\\xf0\\xa9\\x82\\xee\\x70\\xed\\xe3\\xe3\\xfb\\xe6\\xc3\\x0f\\x3e\\x99\\x2a\\x62\\x0c\\x43\\x2a\\xe1\\x03\\xef\\x19\\x39\\x78\\x7d\\x06\\x92\\xdb\\x6b\\x91\\xcd\\xf8\\x1e\\xeb\\xa6\\xf4\\x48\\x6e\\xab\\x29\\x2d\\xa3\\x62\\x81\\x5a\\x29\\x13\\x62\\x90\\x4b\\x3d\\x30\\x93\\x1a\\x28\\xbc\\x65\\x87\\x8b\\xa9\\x3a\\x00\\x29\\x4e\\xca\\x23\\x2b\\x19\\xc9\\x06\\x9b\\x83\\xce\\x84\\xfa\\xd7\\xe8\\xea\\x19\\x91\\x9d\\x53\\x42\\x6d\\xa2\\x76\\x1d\\x3c\\xc3\\x33\\x46\\x82\\x55\\xe7\\xbc\\x8f\\x80\\xf1\\xfc\\xcf\\xde\\x91\\x4c\\x16\\x28\\x1d\\x5d\\xa5\\x9c\\x6f\\xaa\\xdc\\x06\\xef\\xd2\\x66\\x6f\\xc7\\x46\\xde\\xa6\\x48\\x41\\xfc\\xba\\xc7\\xb5\\x41\\x0c\\x41\\xfa\\x22\\x98\\x61\\x35\\x4a\\xca\\x24\\x33\\xb9\\x3d\\x62\\x99\\x41\\x62\\x6e\\x51\\x29\\x0e\\x3b\\x03\\x39\\x80\\x47\\x1d\\xc2\\x8b\\x18\\xb3\\xc9\\xaf\\x35\\x8c\\x5a\\x27\\x3d\\xb0\\x6e\\xb3\\xa3\\x66\\x47\\x4d\\xd2\\x93\\x1f\\x8a\\xea\\x8a\\x2e\\x9e\\xd0\\xd4\\xec\\xac\\x51\\x4c\\x9c\\xf2\\x53\\xdd\\x04\\x7a\\xcd\\x51\\x7a\\x91\\x77\\xe6\\x1f\\xef\\xd3\\x70\\x34\\x58\\x4f\\xaf\\xd8\\xd2\\xb1\\x2f\\xbd\\xc0\\x3b\\xbd\\x5d\\xce\\xa8\\x52\\x9a\\xbd\\x41\\x68\\xc0\\xf5\\xad\\xf7\\x23\\x59\\x92\\x48\\x25\\xb8\\x8c\\x4c\\xb4\\x29\\x1a\\xf9\\x25\\xa6\\xf8\\x78\\xa9\\xc6\\x64\\x08\\x93\\x48\\x91\\x61\\x6b\\x97\\xaa\\xa8\\x16\\xa3\\x95\\xa8\\xc9\\x0a\\x58\\x60\\xbe\\x6a\\xe5\\x38\\x4b\\xda\\x5f\\x81\\xaa\\x45\\x21\\xdf\\x0c\\x23\\x29\\xd9\\x4b\\x1c\\x15\\xa7\\x50\\x40\\xd7\\xb6\\xc9\\x68\\x3b\\xaa\\x7b\\x87\\x76\\x59\\x93\\xe6\\x4e\\x7e\\x73\\xf2\\xc0\\x91\\x34\\x9b\\x5c\\x37\\x78\\xd4\\xa4\\xc2\\x79\\x87\\x87\\x71\\x7d\\x97\\xf5\\xea\\xdf\\x75\\x96\\x25\\x79\\x47\\xb2\\x12\\xa4\\xf6\\x1b\\xbe\\x13\\x64\\x4d\\xaf\\x5c\\xa8\\x59\\x64\\x6a\\x78\\x69\\x1b\\x5c\\xff\\xd6\\xca\\x59\\xd3\\xd7\\xee\\xdf\\xbe\\x18\\xe8\\x1f\\xac\\xd6\\x2d\\x32\\x9e\\x87\\x47\\xe7\\x9c\\x38\\x5b\\xdb\\xd8\\xd8\\x9d\\x0a\\xf8\\x67\\x33\\xfc\\xfe\\x19\\x35\\xea\\x6b\\x8a\\x78\\x88\\x66\\xde\\xfd\\x22\\xfb\\x0e\\x64\\xfe\\x93\\x7b\\xaa\\x9f\\xb9\\xc7\\xd6\\xe2\\x1e\\x22\\xff\\xb1\\x9f\\x87\\xe5\\x7f\\xb3\\x1f\\xe9\\x78\\xc6\\xcf\\x23\\x7e\\x20\\xef\\xe7\\x65\\xea\\x88\\x1f\\x68\\xf5\\x5f\\x27\\x7c\\x24\\xd7\\xa7\\xf3\\xd7\\x5b\\x91\\xeb\\x69\\xe4\\x3a\\xb2\\xdf\\xe6\\xa2\\xeb\\x43\\x91\\x0e\\x0d\\x41\\x16\\x7a\\x32\\xb6\\xdf\\x04\\x91\\x6e\\x4f\\x70\\x92\\xdb\\xc3\\x50\\x02\\x64\\x92\\x0b\\x82\\x05\\xc1\\x32\\xad\\x36\\xde\\xed\\xd1\\x52\\x32\\x5b\\xb1\\x47\\xf6\\x3c\\xe6\\x32\\xb6\\xcf\\x09\\xb4\\x02\\x9a\\x02\\xbe\\x85\\x41\\x61\\x4e\\xfb\\xa0\\xb6\\x79\\xa4\\x3a\\xa6\\xc5\\x41\\x35\\x59\\x32\\x38\\xf8\\x0c\\x1c\\x4f\\xc8\\x94\\x76\\xbc\\x36\\xf2\\xec\\x2d\\xf8\\x9e\\xf7\\xf2\\xed\\xbd\\x20\\xed\\xb3\\x95\\x3b\\x86\\x1c\\xad\\x1c\\xbc\\xf6\\xc8\\x94\\xaa\\xba\\xd7\\xab\\xab\\x76\\xbe\\x4e\\x4f\\xeb\\xd9\\xf5\\xd8\\x84\\x61\\x5b\\xdf\\x64\\x63\\xcb\\xde\\x1e\\x56\\xdc\\xf7\\xd0\\xde\\x5f\\xe0\\x37\\xbf\\xfc\\x02\\x3a\\x81\\x77\\xbe\\x1d\\x3f\\xb4\\xef\\xbc\\x8e\\x49\\xde\\xa2\\xb1\\xd5\\x57\\x5f\\xae\\x9c\\x70\\x81\\xfe\\x34\\xd1\\xb9\\xa6\\x88\\xdf\\x93\\x2e\\x40\\x7d\\x7a\\x1d\\xf5\\x29\\x91\\xca\\xa6\\x5c\\x81\\x0a\\x1d\\x66\\x0f\\x08\\x4b\\x0a\\x73\\x7b\\x12\\x92\\xb4\\xe8\\x8b\\x8b\\x89\\x49\\x2b\\xf6\\xc4\\x50\\x9c\\xf5\\x9f\\x80\\xa4\\x5b\\xd6\\x0e\\x71\\x08\\x70\\x4d\\x49\\x0c\\x8a\\xd3\\xb2\\x02\\x8b\\xc2\\x0f\\x1a\\x9c\\x11\\x0f\\x02\\x98\\x12\\x42\\xa7\\x30\\x3d\\x50\\x5f\\x87\\xdd\\x35\\x30\\xee\\x3a\\xfc\\x75\\x13\\x84\\x61\\xb1\\x61\\x49\\xce\\x11\\xcc\\x24\\xb7\\xbb\\x97\\x23\\xd6\\x91\\xd7\\x76\\xf8\\xeb\\x9b\\x1d\\xf0\\xbf\\xf0\\xc1\\xa4\\xb7\\x67\\x6e\\xad\\x33\\x0c\\x6c\\xd2\\x94\\x79\\x26\\x2f\\xf8\\x80\\x7e\\xfc\\x29\\x5c\\x7f\\xe5\\xbd\\xd4\\x81\\x7d\\xba\\xda\\xe2\\x93\\x57\\xa6\\xbb\\x0b\\x12\\x3c\\xa5\\xbd\\xe2\\xd2\\x5a\\x6f\\x07\\xd9\\xc7\\xd8\\xc3\\xdb\\x26\\x1f\\x2f\\x3f\\x7f\\xa6\\x7c\\x02\\xe8\\xdf\\x6b\\xd1\\xea\\xc9\\x53\\x47\\x55\\xf1\\x32\\x74\\x1b\\x45\\x71\\x6f\\x73\\x7d\\x29\\x1d\\xde\\xd7\\x91\\x2a\\x14\\x6a\\xb9\\x92\\x91\\x6b\\x28\\x61\\xf3\\x66\\x0a\\xef\\xbc\\xf3\\x58\\xc8\\xbc\\x93\\x24\\x24\\x35\\xef\\x90\\x80\\xc8\\x01\\x1c\\x9d\\xd3\\x27\\x7d\\x92\\x31\\x21\\x32\\xae\\xad\\x05\\xe6\\x8c\\x7f\\x6d\\x3c\\x3c\\x76\\x9b\\x6a\\x02\\x53\\x5c\\xcb\\xb8\\xbe\\x91\\x69\\xf3\\x8c\\x8e\\x78\\x87\\xf7\\x73\\xef\\x69\\xb2\\x25\\xbf\\x0d\\x34\\xb8\\x7b\\xe3\\xd8\\xd8\\xc7\\xa4\\xcd\\x5b\\xa8\\xcd\\x60\\x5c\\x9f\\x29\\xd0\\xaa\\x7e\\x8e\\x91\\x6a\\xd9\\x72\\xf0\\xed\\xff\\x4f\\xe3\\xe4\\xc8\\xef\\xdf\\x49\\x78\\x52\\xc4\\x1f\\x06\\xfe\\x0b\\x29\\xaf\\x04\\x8e\\x08\\xd1\\x3c\\x47\\xab\\x85\\x1b\\x26\\x58\\xa4\\x8a\\x64\\xe6\\x6d\\xa4\\xd4\\x42\\x71\\x01\\xf5\\x12\\xba\\x20\\x3e\\x41\\x03\\x13\\x47\\xe5\\xa2\\xc5\\x84\\xd7\\x12\\x76\\x66\\x30\\x4e\\x15\\x9d\\x05\\xf0\\x3c\\xd1\\x37\\x3d\\xe2\\x14\\xa4\\x26\\x1b\\xde\\x57\\x30\\x05\\x85\\xab\\xc2\\x91\\x6c\\x95\\xcb\\x55\\xd1\\xd1\\x94\\x58\\x65\\x08\\x65\\x78\\x0c\\x61\\x9f\\x12\\x0c\\xc8\\x19\\x75\\x00\\x93\\x59\\xe8\\xf0\\x97\\xb8\\x4b\\x0b\\x08\\x98\\x0c\\x07\\xe0\\xeb\\x92\\xd8\\xf9\\x0a\\x7d\\x01\\x3b\\x7a\\x2d\\x5b\\x63\\xae\\x89\\x1f\\x7d\\xb5\\x66\\xc8\\x40\\x36\\x65\\xcd\\xe8\\x89\\xd5\\x23\\x26\\xcf\\xa4\\x17\\x76\\x9a\\xec\\x72\\x78\\xcf\\x0d\\x19\\x3b\\xae\\xb0\\x2a\\x34\\x7f\\x47\\xbe\\x3a\\x95\\xcd\\x5e\\x3e\\xe5\\xe5\\xf3\\xf0\\xd6\\x91\\x05\\x8b\\xe7\\x2c\\x7f\\x75\\xef\\x36\\xd0\\x6a\\x47\\xe3\\xb5\\xf9\\x8f\\x0f\\x1f\\x1e\\xba\\x18\\xbe\\xb1\\xfd\\x83\\x23\\xdb\\xc0\\x40\\xb8\\xa3\\x4f\\x5e\\x8f\\xfe\\xfc\\x39\\xf1\\x6d\\xd4\\xa7\\x27\\x6c\\x0e\\x95\\x44\\x25\\x1d\\x8b\\x21\\xb0\\xa9\\x06\\x4f\\x8c\\xc1\\x16\\xd1\\xc3\\x63\\x0b\\xd1\\x52\\xb4\\x0e\\xe9\\x8b\\x1e\\x1e\\x99\\x92\\xf6\\x83\\x07\\xa3\\xf1\\xf0\\xbb\\x3a\\x62\\x60\\xa7\\xd4\\x2d\\x32\\x38\\xd1\\x0a\\x36\\x02\\xbb\\xc0\\x0f\\xd8\\x4c\\xfb\\x40\\x53\\x91\\x98\\xe4\\xbd\\xec\\x0c\\x66\\xa3\\x37\\x07\\xfe\\x09\\xe6\\x25\\xc4\\x58\\xb2\\xb9\\x82\\x2e\\x57\\x32\\x86\\x46\\x73\\xf4\\x59\\x20\\x3f\\xfa\\x4e\\x42\\x4c\\x6c\\x6a\\x7a\\xf6\\x2f\\xb9\\xed\\x42\\x63\\x52\\x33\\xf2\\x55\\xda\\xc2\\xae\\xe9\\x83\\x5b\\x31\\xa1\\x8d\\x5f\\x80\\x97\\xc0\\xa8\\x0e\\x9d\\x15\\x9b\\xb4\\xf7\\x7b\\x7e\\xf4\\x59\\x26\\xcd\\x98\\xcf\\xc1\\xe2\\xd3\\x79\\x5d\\xe4\\xf0\\x5b\\xf8\\xb1\\x6c\\xa7\\xbc\\x43\\xf1\\x10\\xc9\\x98\\x8a\\xde\\x77\\xbf\\xcb\\xc5\\xe3\\x31\\x8c\\xe0\\x81\\xf2\\x67\\x00\\x68\\x36\\x53\\xc0\\xc5\\x6f\\xf4\\x03\\x53\\x85\\x07\\xf8\\x37\\xfa\\x09\\x0e\\x4a\\xb2\\xaf\\x7c\\x1f\\x2f\\x64\\x48\\xf1\\xbe\\x96\\x50\\xfa\\xa0\\xab\\xbb\\xb6\\x8e\\xc7\\xd0\\x87\\xd7\\xe1\\x9f\\x6e\\x70\\xad\\x19\\x49\\xbf\\x14\\x6c\\x35\\xfd\\xf9\\x31\\x8f\\xa0\\xff\\x0b\\x5c\\x0b\\x43\\xe2\\xe1\\x60\\x4e\\xd5\\x02\\x4a\\x9f\\x97\\x21\\x78\\xae\\x0c\\x20\\xb5\\xd2\\x8c\\xd8\\x46\\xa3\\x42\\x84\\x6a\\x64\\x0f\\xa9\\x80\\x01\\xc9\\x40\\x60\\xc0\\x9a\\xc7\\x87\\xcb\\xea\\x27\\x85\\xb2\\xdb\\xd4\\x2a\\x4a\\xc8\\x00\\xff\\x81\\xaf\\x0d\\x74\\x2b\\x5a\\xb9\\x03\\xe4\\x01\\x3b\\x58\\x06\\x1f\\x3d\\x2e\\x02\\x3b\\xc6\\x4e\\xbe\\x7a\\xe3\\x01\\x58\\x87\\x48\\xd8\\xa2\\x7f\\xe7\\x34\\xe8\\x08\\xa6\\xc1\\xd1\\xf0\\x1d\\xb8\\xcc\\x06\\x87\\xb2\\x9e\\xd5\\xcb\\xe0\\x27\\xf0\\x67\\xf8\\x19\\x5a\\xd3\\xf8\\x0c\\xe8\\x35\\xc4\\x07\\x52\\x4b\\x42\\x4b\\x95\\x7b\\xf4\\x12\\x2d\\xfa\\x12\\x1a\\x35\\x42\\x79\\xb9\\x47\\xc8\\xb6\\xa8\\x6a\\xc0\\x17\\x8a\\x24\\xf6\\x49\\xb8\\xd3\\xa6\\x7d\\x06\\x71\\xdb\\x41\\x33\\x27\\xce\\x1c\\x00\\x09\\xe7\\x40\\x71\\xfb\\x93\\xca\\x85\\x23\\xae\\x7c\\xb5\\x7c\\x69\\x66\\x4a\\xe9\\x05\\x10\\xa2\\x7e\\xf7\\xe4\\x65\\x90\\x79\\x18\\x1e\\x6b\\x57\\x3d\\x0b\\xfe\\xf6\\xed\\x9a\\x05\\x12\\xd8\\x0e\\xb5\\xdb\\x0e\\xf5\\x19\\x9f\\x89\\xc7\\x22\\x7f\\x55\\x4a\\x19\\x94\\x91\\xe8\\x2b\\x4c\\x1a\\x16\\xc3\\x43\\xd2\\x86\\x85\\x48\\xb5\\xd8\\x9a\\x7f\\x4e\\x56\\x92\\x08\\x00\\xce\\x6f\\x24\\xb7\\x3c\\xf4\\x0e\\xa0\\x95\\xb2\\x76\\x1f\\x64\\x89\\x8d\\xbe\\x57\\x3a\\xbf\\x6e\\x63\\xaf\\xb5\\xc0\\x7a\\xb1\\xfe\\xd6\\xa5\\x91\\x93\\xdf\\x7c\\x37\\xb9\\x74\\x6a\\xe1\\xf4\\x51\\xd9\\xc8\\x4f\\xff\\x63\\xe8\\xe1\\x14\\xfb\\xf8\\x0d\\x1d\\x41\\xcc\\xa0\\xe4\\xd6\\xc6\\x10\\xcf\\xe6\\xa9\\xef\\x81\\xc4\\x7d\\x87\\x37\\x28\\x04\\xbd\\x47\\xc0\\xc7\\x8f\\xbb\\x95\\x65\\x58\\x95\\xa6\\xcc\\xd2\\x0e\\xf5\\xe7\\x2d\\xc6\\x97\\xe2\\x2c\\x88\\x5e\\x0f\\xe2\\xd3\\x3d\\x72\\x96\\x1a\\xe5\\xd2\\xb2\\xac\\x48\\x8c\\x4f\\x22\\x00\\x10\\x8b\\x34\\x62\\xc4\\x34\\x31\\x13\\xd8\\x44\\xf2\\x99\\xf7\\xd8\\x23\\x22\\xf1\\xd4\\x0c\\x3e\\x27\\xa3\\xa9\\x0a\\x7a\\x4f\\xe1\\xc9\\x68\\xa8\\x19\\xc9\\x9f\\x97\\xb1\\x07\\xa0\\x06\\xae\\x7d\\xcf\\xfb\\x15\\x39\\x36\\x23\\x35\\x0d\\xfb\\xb0\\x0b\\x08\\x26\\x7e\\xec\\x49\\x8e\\x13\\x4b\\x68\\x21\\xef\\x5b\\xd2\\xb4\\x44\\x6c\\x96\\x00\\xb7\\x47\\xa2\\xfc\\x87\\x26\\xec\\xcd\\x6d\\xb0\\x23\\xbc\\xbb\\x33\\xe8\\xb8\\x76\\xdb\\xc3\\xe1\\xc4\\x93\\xf5\\x20\\x82\\x51\\x33\\x87\\xe1\\x97\\xf0\\xf8\\x99\\xc6\\x72\\xee\\x4b\\x5e\\x7e\\xf7\\x68\\xfa\\x91\\xbd\\xcc\\xdd\\x46\\x96\\x69\\xa2\\xcb\\x18\\x6c\\xd7\\x44\\x1a\\xa2\\xd0\\x97\\x5d\\x66\\x0f\\x29\\xf7\\xd8\\x29\\x19\\x92\\xa6\\x32\\xed\\xdf\\x39\\x4e\\xec\\x52\\x81\\xc4\\x97\\x26\\xe6\\xdb\\xad\\xd0\\x64\\x60\\xe4\\xc9\\x28\\x1e\\xbe\\xda\\xb7\\xa6\\x69\\x21\\x60\\x2f\\xc7\\xcf\\x28\\x4d\\x8a\\x0b\\xcd\\x61\\xf3\\x7a\\x0e\\x1b\\xd7\\xab\\xeb\\xa1\\x27\\x4f\\x0e\\x99\\xfb\\xbc\\xd2\\xcd\\xd6\\x96\\xcb\\x2f\\xb9\\x3a\\xd4\\xc5\\x14\\xb0\\xdd\\x07\\xc1\\xe3\\xf0\\xed\\xa2\\xbc\\x42\\x65\\x9d\\x6e\\xca\\xe4\\x5e\\xa0\\xf5\\xe5\\x51\\x6b\\xd6\\x8e\\x92\\x5e\\xa6\\x33\\x26\\x55\\xa3\\x3f\\xdd\\x1f\\x08\\x17\\xef\\x04\\xdf\\x12\\x7a\\xd7\\x20\\x9e\\x2f\\xe6\\xe6\\x52\\x62\\xca\\xe0\\x92\\x0a\\x99\\x1e\\x1e\\x21\\x92\\xe0\\xc4\\x83\\x27\\x5c\\xe0\\xcf\\x20\\x71\\x92\\x3e\\x62\\xf0\\x9d\\x8b\\x60\\xb8\\xd7\\x20\\x01\\xdb\\x2e\\xc2\\x3d\\xf4\\xf7\\x62\\x7a\\x45\\x32\\x7d\\xd9\\x7b\\x38\\x99\\xbc\\x67\\x3d\\xf4\\xb0\\x73\\xd1\\x1c\\x0f\\xc5\\x7e\\xac\\x52\\x25\\x96\\xb0\\x4c\\x50\\x50\\x08\\x63\\x0e\\xd1\\x97\\x7b\\x42\\x02\\x33\\x3c\\x91\\x87\\xe9\\x41\\x0b\\x3c\\x2a\\x87\\xc9\\xe0\\xa2\\x40\\x46\\x6a\\x14\\x88\\x02\\xbc\\x22\\xe1\\xb1\\xf0\\x34\\xec\\x5c\\x38\\x1c\\x76\\x34\\x6d\\xb8\\xbb\\xa7\\xd2\\x06\\x13\\x22\\x68\\x11\\xad\\xf2\\x3e\\x89\\xa0\\x85\\x49\\xcb\\x46\\x0d\\x3a\\x35\\x6c\\xc0\\xec\\xc7\\xb5\\x2f\\x7c\\x3c\\x89\\x3e\\x06\\x5d\\xde\\xaf\\x66\\x6c\\x4c\\x99\\x76\\xf4\\xab\\x13\\x4d\\x33\\x81\\x21\\xb7\\xa2\\x1b\\xfc\\x01\\xfd\\x3b\\x75\\xf8\\xb0\\xea\\xca\\x55\\x35\\x07\\xe0\\x4d\\x7e\\x3c\\x5e\\x83\\xbd\\x99\\x87\\xdc\\x07\\xc8\\x0d\\x09\\x71\\x29\\x64\\x62\\xb5\\x42\\xa1\\x44\\xb4\\xe9\\x38\\xb3\\x8e\\x54\\xcd\\x34\\xfa\\xd3\\x53\\x08\\x02\\x1f\\x62\\x35\\xc6\\x25\\x8a\\xc4\\x3f\\xe8\\x88\\x0c\\x96\\x62\\x1e\\x3a\\xda\\x76\\xbb\\xd5\\xaf\\x1f\\x0b\\xa7\\xc7\\x82\\x5d\\x86\\x64\\x58\\x11\\x07\\x5e\\xdc\\x0e\\xaf\\xbc\\x8e\\x5c\\xe5\\x76\\xa0\\x66\\xd2\\x87\\x1f\\xbd\\x9b\\xfe\\x03\\x18\\xba\\x66\\xc1\\x91\\xd5\\xe7\\xa6\\x56\\x9d\\x59\\x73\\x12\\x88\\x0e\\xf5\\xda\\xe1\\xe5\\xf3\\x6f\\x9a\\xee\\xc0\\x3e\\x9c\\x02\\xcd\\xe7\\x44\\x2a\\xc9\\x15\\xd4\\x2a\\x21\\x81\\xe6\\x6c\\x06\\x29\\x13\\x15\\x5d\\xe1\\x89\\x32\\x5b\\x34\\x1c\\x92\\x85\\x14\\xa7\\x0d\\x18\\xbd\\xfc\\xa6\\x91\\x4f\\xbf\\x72\\x61\\x51\\xff\\x58\\xf2\\xdf\\xf7\\x2b\\xc6\\xc4\\x55\\xd0\\x78\\x0b\\x92\\x94\\x8d\\x10\\xd0\\x27\\x96\\x5a\\x92\\x16\\x76\\x9b\\x32\\x5a\\xf7\\xea\\xee\\x13\\xda\\xc4\\xec\\x4e\\x65\\xc1\\xa7\\x77\\x9d\\x54\\xc7\\xa5\\xad\\xcb\\x3c\\xb9\\xeb\\xf7\\xa8\\x9a\\x1b\\x1b\\xbd\\x6f\\x5a\\xe8\\xdc\\x15\\x5b\\x22\\x25\\x4c\\x99\\x6e\\x7f\\xd7\\xb2\\x99\\x73\\xbb\\x8c\\x60\\x0e\\x34\\x0e\\x1f\\xd4\\xa6\\x53\\xce\\x82\\x85\\xcc\\xc9\\xc6\\xb2\\x5e\\xe9\\xdd\\xda\\x01\\x33\\xb3\\xfb\\xa9\\xe9\\xf2\\xbd\\x11\\x2f\\x6e\\x78\\xc3\\x49\\x70\\xbb\\x9a\\xae\\xa3\\x35\\x73\\x1b\\xad\\x99\\x14\\x2a\\xd5\\x15\\x6c\\x30\\x5a\\xac\\x46\\xab\\x3d\\x45\\x12\\xa5\\x14\\x24\\xd8\\x13\\xdc\\x1e\\x93\\xdd\\xa0\\x42\\x72\\x54\\x65\\x6e\\x71\\xce\\xf3\\xaf\\x25\\xa7\\x19\\x01\\xdb\\x4c\\xf1\\xff\\x2e\\x3c\\x1d\\xcd\\xd7\\x6a\\x7e\\x27\\x0e\\xfe\\xf9\\x1f\\xef\\xd7\\x66\\x3a\\x74\\xf3\\xce\\x50\\x13\\x68\\x59\\x80\\x7a\\x3f\\xbe\\x29\\x50\\x80\\x3a\\xab\\x4d\\x12\\x2e\\x40\\xfd\\xf4\\xee\\x97\\x77\\x97\\xaf\\xd8\\x39\\xff\\xb9\\x12\\xd4\\xe8\\x2a\\x5f\\x82\\x1a\\xcd\\x87\\x03\\xe4\\xac\\xb3\\x2f\\x3e\\x95\\x76\\xa9\\x4d\\x74\\xb9\\xc7\\xc4\\x6a\\x44\\xe5\\x1e\\x8d\\x46\\xa6\\xd4\\xc8\\x18\\xdf\\xac\\xf7\\x6d\\x1d\\x36\\x47\\x60\\xf2\\x75\\x32\\x5a\\x02\\xcd\\xd3\\x0f\\x12\\x3b\\xcc\\x58\\x54\\x39\\xbc\\xf4\\xe5\\xfc\\xd9\\x17\\xe0\\x93\\x0b\\x23\\x4e\\xef\\x3b\\x70\\xb6\\xfa\\xce\\xa2\\x8e\\x15\\x91\\xec\\x8a\\xd4\\x9b\\xc7\\xc6\\x4d\\x4b\\x8d\\xa4\\x57\\x3f\\x39\\x47\\x07\\xf5\\x3e\\x77\\x60\\x3f\\xa0\\x97\\x47\\x45\\x92\\xf6\\x0f\\xfb\\xda\\xb7\\xe2\\xf3\\xb2\\x10\\x06\\x57\\x8d\\x60\\x59\\x4a\\x2a\\x55\\xf5\\xf0\\x48\\xd9\\xe6\\xca\\x3e\\x41\\x89\\xbc\\x2e\\xb2\\x6b\\x7d\\x2c\\x4a\\xd7\\xf8\\x2a\\x79\\x3e\\x03\\x04\\xcc\\xc8\\xc6\\x74\\xbe\\xb4\\x78\\xdb\\x16\\x65\\x35\\x08\\x2a\\x6c\\x63\\x4b\\x6f\\x3b\\xd9\\xe2\\x54\\x0c\\x1d\\xbb\\xf2\\x56\\xe8\\xa0\\x13\\xf0\\x09\\x1d\\x53\\xe6\\x9e\\x32\\x33\\x61\\x24\\xdd\\x43\\xb5\\x5f\\xbf\\x0e\\x3e\\xc9\\x4f\\x2d\\xe9\\x74\\x64\\x23\\xf8\\xf3\\x09\\x8f\\x93\\xd9\\xf4\\x10\\x8d\\x6d\\x09\\x9a\\x9f\\x16\\x2a\\xcc\\xa5\\xd1\\x49\\xca\\x3d\\x6a\\x9d\\x4e\\xa1\\x64\\x2c\\x48\\xd8\\x5a\\xcc\\x0a\\x4d\\xc0\\xc2\\x20\\xfb\\x28\\x5a\\x67\\x4a\\x0e\\xc3\\x57\\xf6\\x21\\xb1\\x2a\\x7e\\xaf\\x19\\x0f\\x2a\\xdb\\x78\\xfd\\xf8\\x92\\xbe\\x29\\x13\\x47\\xad\\xdd\\xbd\\xe8\\x02\\x10\\x5e\\x18\\x3c\\xb2\\x36\\xff\\xe4\\xf9\\xc1\\x67\\xe0\\x07\\x8f\\xe1\\x1d\\xf8\\x63\\x5c\\xf9\\x7e\\x78\\x76\\xe3\\xd6\\xbe\\x5e\\x37\\x97\\x0f\\x85\\xce\\x88\\xfb\\x0d\\xbf\\xc2\\xbd\\x0f\\x26\\x92\\x3d\\xa6\\x93\\xa4\\xf6\\x5d\\x2d\\x15\\x47\\x65\\x50\\x6d\\x8f\\x05\\xa9\\xb1\\x44\\xb6\\x7a\\x22\\x9c\\x6e\\x0f\\x2d\\x0c\\x63\\x22\\x82\\xd0\\x17\\xa5\\xd3\\xcb\\x42\\xdc\\xd8\\x55\\x41\\x6e\\x0b\\x8b\\xab\\x83\\x04\\xaa\\x02\\xf0\\xe7\\xb4\\x46\\xde\\x63\\x49\\x31\\xe2\\xa3\\x04\\x21\\xb6\\x1f\\xec\\x24\\xdd\\x43\\xe8\\x20\\xf5\\x56\\xfd\\x85\\xe5\\x7c\\x9c\\xcc\\x01\\xc6\\x00\\x0c\\x66\\x02\\xa0\\x37\\x1e\\xa8\\x6a\\x9d\\x35\\xaa\\x34\\xbd\\x1d\\x7c\\x15\\x7e\\x57\\x38\\xa8\\x20\\xc3\\x92\\xa7\\xd8\\xa8\\xe8\\x50\\xd5\\xba\\x57\\xaf\\x5e\\xbd\\x27\\x1d\\x1e\\x60\\x98\\xf8\\xa8\\x72\\xd2\\xbc\\x59\\xf7\\x26\\x0e\\x5e\\xdc\\x31\\x37\\xf3\\xf8\\x5b\\x96\\xa1\\x6c\\x91\\x3b\\xbf\\x47\\xbf\\xd1\\xad\\x07\\xed\\x83\\xe7\\xe1\\x2e\\xab\\xc3\\xda\\xa5\\xc3\\xa0\\xac\\x94\\x94\\x29\\x3f\\x6d\\xe8\\x95\\x5a\\x31\\x64\\x40\\xdf\\x41\\xfb\\x4a\\x16\\xc7\\x77\\x4b\\x8e\\x6b\\x75\\x36\\x8c\\x1f\\x73\\x5c\\x6b\\xfe\\x65\\x34\\xe6\\xc9\\x54\\xb2\\x2b\\xc8\\x96\\x18\\x23\\x55\\x6a\\x63\\x94\\x31\\xca\\x44\\x6d\\xa2\\xa3\\xdc\\x93\\xa8\\xd5\\xca\\x2b\\x3c\\x5a\\xf6\\xef\\xb5\\x6f\\xd4\\x58\\x2b\\x68\\x53\\x91\\xa0\\xc4\\x8c\\x77\\xd8\\x02\\x65\\x42\\x14\\x34\\xde\\xb9\\xf0\\xf9\\x60\\xc8\\xa6\\xc3\\x35\\xf2\\x50\\xd7\\x12\\x13\\x4b\\xa6\\xac\\xde\\x5b\\xf4\\xc2\\xf8\\x3c\\xa4\\x7c\\x4b\\x8f\\x75\\x07\\x92\\xfb\\x17\\xdf\\xcb\\x1a\\x71\\xec\\x6c\\xf7\\x2d\\x33\\xbb\\xd5\\xae\\xb8\\x74\\x43\\x7a\\x4a\\xb3\\x19\\xfe\\xe7\\xd4\\x27\\x0f\\x41\\x4c\\x9f\\xf9\\x83\\x3b\\xa5\\x45\\x6a\\x1c\\x59\\x65\\x9d\\x0f\\xdf\\xb1\\x1f\\xdc\\x5c\\xbb\\xda\\xb3\\x64\\x48\\xf7\\x18\\x75\\x64\\xbb\\x11\\x25\\xe5\\xc3\\xf6\\xec\\x6a\\x1b\\x9f\\xe9\\xea\\xba\\xe2\\xeb\\x39\\xbb\\x31\\xfd\\x59\\x88\\xfe\\x53\\x88\\xfe\\x78\\xa4\\xd3\\x24\\x0a\\x63\\x38\\xa5\\xd5\\x22\\x4b\\x5a\\x4d\\x6a\\x23\\x19\\x59\\x2a\\x8a\\x2f\\x73\\xf9\\xec\\x49\\x80\\x86\\xe8\\x34\\xb2\\xe5\\xe3\\xeb\\x40\\xe4\\x3f\\xf7\\x00\\x03\\xea\\x3d\\xb9\\xff\\x9f\\x00\\xed\\xb3\\xa7\\xc2\\xdf\\x4b\\x8f\\x62\\xe2\\x2f\\xbd\\x93\\x31\\xf2\\xc4\\x69\\x42\\xfc\\xf2\\x69\\x5f\\xcf\\x52\\xfe\\xa9\\xdb\\xb3\\xa9\\x05\\xdd\\xbd\\x4a\\x31\\xe1\\x1b\\x56\\x79\\x16\\x0d\\x75\\x47\\x13\\xc2\\x2b\\x86\\x46\\x85\\xad\\xeb\\xcc\\xdb\\x7b\\xc8\\x96\\xe0\\x3a\\x71\\xb5\\x94\\x9d\\x0a\\x47\\xd2\\x37\\x58\\xa6\\x54\\x84\\x29\\xc2\\x90\\xb1\\xa5\\x0b\\xd6\\x95\\x7b\\x18\\x63\\xb8\\x54\\x65\\x35\\x72\\x54\\x30\\x9e\\xe5\\x97\\x53\\xfc\\x65\\xc7\\x02\\xb5\\x16\\xd0\\x52\\xe3\\xf3\\x85\\x18\\x12\\x52\\x41\\x76\\x62\\x94\\x80\\x6c\\xc5\\x84\\x62\\xd8\\x5b\\x64\\x14\\xb0\\x9e\\x3a\\x77\\x4d\\x88\\x3d\\x26\\x38\\x2a\\xdb\\xfa\\xea\\xe1\\x90\\xc6\\xe3\\x21\\xe0\\x4a\\x7b\\x69\\x6c\\x74\\x6e\\x97\\xd8\\xd2\\x6d\\x7b\\x06\\x0c\\xd6\\x86\\x8d\\xc9\\x5e\\xe6\\xcd\\x05\\x1f\\xce\\xe4\\x6a\\xaf\\x0e\\x69\\xdb\\x2a\\xd8\\x91\\x0c\\x3f\\xf4\\x86\\xae\\x5d\\x4b\\x7f\\x01\\x62\\x13\\x23\\x4a\\x92\\x06\\x5f\\xad\\x18\\xfb\\xc6\\x1b\\x23\\x86\\x3d\\x95\\xd2\\x85\\x3c\\xcd\\xf8\\xac\\xfa\\x2f\\xb6\\x1d\\xfa\\x2d\\x9c\\xca\\x3c\\x21\\x31\\x58\\x48\\xc5\\x24\\x8d\\x47\\x68\\x32\\xd9\\x91\\x0f\\xc8\\x31\\x16\\xa5\\x5a\\xa1\\x02\\x2a\\x40\\x18\\xae\\x22\\xd0\\xed\\x3c\\xcc\\xbc\\xb3\\x45\\xe1\\x34\\xc6\\x49\\x9c\\xb3\\x28\\xb2\\x52\\x31\\xf9\\x5a\\x3f\\xf9\\x64\\xc9\\x12\\xfa\\xe9\\x6e\\x3b\\xee\\x83\\xd9\\x5d\\x6b\\x22\\x67\\x19\\x13\\xdb\\x74\\xce\\xaa\\x2f\\x33\\x7b\\x9f\\x9a\\xff\\xc8\\x91\\x26\\x3b\\xda\\x96\\xc4\\xf7\\xe8\\xbc\\xbb\\xeb\\xa0\\x81\\x4a\\x63\\xdf\\xec\\xd5\\xc8\\xb8\\xf5\\x32\\x47\\x2b\\xfa\\x8d\\x73\\x0e\\x1a\\x00\\xdf\\x83\\x95\\xcb\\x97\\x83\\x17\\x80\\x33\\x2d\\x72\\x90\\x73\\x5c\\xbf\\x8a\\xea\\xca\\x43\\x87\\xc6\\x4e\\x46\\xd4\\xe2\\x9a\\x61\\x38\\x1e\\x49\\x4f\\x32\\xc7\\xf4\\x5a\\x64\\xde\\xab\\xb5\\x5a\\x56\\x22\\x41\\xd6\\xad\\x84\\x61\\xad\\x03\\x3d\\xec\\xb3\\x61\\x3d\\x59\\xfe\\x38\\x45\\x64\\x62\\x23\\x13\\xd3\\x2e\\xb4\\xe3\\x02\\xa3\\xcd\\x08\\x00\\xd8\\xda\\x66\\x27\\x6d\\x85\\x0f\\xce\\xc3\\xf2\\xcd\\x20\\x05\\x82\\xee\\x16\\x78\\x75\\xda\\xb2\\x91\\x91\\x2f\\xde\\xbc\\x7c\\xf3\\x7a\\xcd\\x9c\\x1b\\x37\\x1e\\x83\\x8d\\xf4\\xca\\xb7\\xe0\\xed\\x7d\\xe0\\x28\\xc8\\x07\\xdb\\xae\\xad\\xcf\\x9e\\x5d\\xb9\\xe4\\xf2\\xad\\xa5\\xb3\\xfe\\x6c\\xa2\\xe0\\x17\\x68\\xce\\x8e\\x47\\x34\\xe1\\xda\\xc8\\x0e\\x2a\\xd6\\x25\\xb1\\x9b\\xdd\\x1e\\xbb\\x9d\\x15\\x8b\\xe5\\xbc\\xe9\\x2b\\x56\\xb1\\x7a\\xf7\\x3f\\x55\\xf3\\xe2\\x17\\x52\\x9a\\x2a\\x22\\xdd\\x29\\xe4\\x9a\\xd7\\x58\\x24\\x66\\x1f\\xd9\\x28\\x60\\x73\\x96\\x43\\xef\\xd1\\x8b\\xb7\\xe9\\x3f\\xb6\\xcc\\xb2\\xc0\\xbb\\x87\\xce\\x4f\\xc8\\xac\\x99\\xb3\\xff\\x7c\\xd5\\x92\\xce\\xad\\x93\\x82\\xa7\\x0e\\x39\\x77\\x14\\xbc\\xbb\\xe6\\xfe\\xd4\\xbb\\xef\\xd0\\x75\\x7a\\xae\\x56\\x28\\x74\\xd5\\x5c\\x5f\\xbd\\x72\\xe3\\xe1\\x0d\\x7d\\x7a\\x4b\\x45\\x8b\\x8c\\x2b\\xf9\\xfa\\x49\\xec\\x4e\\xc4\\x2b\\x33\\xce\\xb1\\x63\\xd4\\x6a\\xa9\\x51\\x2c\\xd7\\x23\\x3e\\x99\\xf4\\x7a\\xa9\\x91\\x91\\x6a\\x5a\\xd4\\x3a\\x25\\x05\\xd9\\x89\\x6d\\x82\\xa7\\x1e\\xc1\\xab\\x76\\x68\\x1d\\x61\\x7a\\x34\\xb6\\xb8\\x66\\x14\\x8e\\x40\\xb1\\xb1\\x3b\\xc3\\x34\\x2b\\xc3\\x16\\x8c\\x38\\x7b\\xfe\\xec\\x88\\x57\\xc1\\x26\\xfa\\xf5\\xb3\\x15\\xad\\xce\\xb7\\x1a\\x04\\x24\\xcc\\xa2\\x41\\xad\\xc3\\x42\\x3b\\x47\\x0e\\x6f\\xcc\\x63\\x5e\\x3f\\x90\\x10\\xda\\xf6\\xa5\\x97\\x1f\\x3d\\x42\\xed\\x9f\\x6e\\xfa\\x95\\x7d\\x85\\xfb\\x18\\xa3\\x90\\xbb\\xe4\\x32\\x0a\\x08\\x25\\x42\\xa4\\xbf\\x25\\x4a\\x1c\\x19\\xe0\\xd7\\xdf\\xc4\\xe8\\x8d\\xc8\\x70\\x6a\\x49\\x32\\xa5\\x96\\x13\\x3a\\x18\\x3b\\xbb\\x0e\\xce\\x38\\xdb\\x44\\x09\\x86\\xee\\x84\\x1f\\x0e\\x0f\\xca\\x04\\x2b\\xdc\\x80\\xe2\\x86\\x66\\x82\\x85\\xcc\\xcb\\x8d\\x79\\x43\\x42\\x98\\xb6\\xeb\\x80\\x0d\\x6c\\x1f\\x62\\x46\\xcc\\xe7\\xfd\\x58\\xc4\\x7f\\xec\\xc7\\x46\\x51\\x0e\\x97\\xd6\\x66\\x46\\xee\\xab\\xe1\\x5f\\xdd\\xd7\\xff\\x9f\\xeb\\x1a\\x08\\x0e\\xff\\x9f\\x1e\\xab\\xa5\\x35\\x5b\\xd0\\xa5\\x62\\x68\\xda\\xd0\\xb8\\xff\\xe1\\xa8\\xa2\\x3f\\x8c\\xab\\x2c\\xb9\\xff\\x5d\\x5b\\xbc\\xde\\x92\\x91\\x7f\\x34\\x9a\\x9c\\xb5\\xc6\\x52\\x71\\x2e\\x63\\x88\\xa6\\x87\\x27\\x24\\x24\\x28\\x44\\x26\\x66\\xc4\\xd1\\x6e\\x8f\\x58\\xcf\\x84\\xb9\\x3d\\x4c\\x4b\\xff\\x28\\x28\\x37\\x8b\\xaf\\x3b\\x47\\x91\\xe2\\xd4\\xb8\\x64\\x5a\\x14\\xae\\x52\\x4a\\x4e\\xf5\\xf4\\x42\\x07\\x96\\x19\\x91\\xa0\\xb9\\x18\\x99\\x26\\x19\\x94\\x82\\x5e\\x37\\x2f\\xc1\\x37\\xe1\\x87\\x55\\xeb\\x13\\x45\\xc5\\x5b\\xd7\\xcd\\x9d\\xd5\\x8e\\xd9\\x01\\x6c\\x5d\\xd6\\xde\\xf9\\x92\\x99\\x39\\x7a\\xe6\\xed\\x4b\\x63\\x27\\x37\\x5c\\xec\\x04\\x9a\\x68\\xc1\\xa5\\x6b\\xf0\\x08\\x5c\\xdd\\xad\\x7b\\x66\\xc2\\xb0\\x09\\xce\\x20\\x57\\xa1\\xd3\\x60\\x10\\x7f\\xca\\xf4\\x58\\xba\\x10\\x3e\\x82\\xdf\\xad\\x58\\x01\\x74\\x64\\x5f\\x64\\x12\\xe2\\xeb\\x08\\x1c\\xf7\\x4c\\x15\\xb0\\x38\\x2e\\xe8\\x32\\x2c\\x65\\xbc\\x04\\xab\\xbb\\x1b\\x8d\\xaf\\xcf\\xe5\\x65\\xb5\\x4a\\xc0\\x6e\\xc4\\x78\\x12\\xd4\\x58\\x34\\xdf\\xea\\xf8\\x3d\\x11\\x97\\x49\\x81\\x6c\\x35\\xa5\\x02\\x48\\x19\\x85\\x02\\x88\\x44\\x52\\x7c\\x46\\x01\\x70\\x69\\x43\\xfd\\xdf\\x4a\\xc5\\x61\\x2c\\x44\\x5f\\xa9\\x35\\xbc\\x3a\\x05\\x18\\x6d\\x8c\\xd8\\x1d\\x76\\xe6\\x6d\\x68\\x39\\x77\\xb1\\x16\\x18\\xea\\x41\\x83\\x19\\x46\\x2e\\x3b\\x13\\x4a\\xcf\\x0e\\xf6\\xce\\x95\\x95\\xd6\\x82\\xbb\\x37\\x2e\\x5c\\x06\\x6d\\x8e\\xad\\x38\\xb4\\x7d\\x41\\x5b\\x67\\xaf\\x35\\x44\\xf7\\xb5\\x42\\xed\\xe3\\x33\\x01\\x03\\x6e\\x5f\\xc0\\xa1\\xf6\\xc9\\x36\\xa4\\xc0\\x20\\x97\\xcb\\xdc\\x1e\\xb9\\xd2\\x40\\xb9\\x3d\\x86\\x7f\\x6a\\x1f\\x1b\\x8a\\x38\\xd3\\x81\\x54\\xe4\\xce\\xb0\\xf3\\xb1\\x56\\x0e\\x7b\\x21\\xb8\\xbb\\xf2\\xb4\\xcd\\x3b\\x37\\x98\\x9e\\x2d\\xfd\\x11\\x46\\x9a\\xc1\\xfd\\x0b\\x57\\xd6\\xc3\\x9f\\x8e\\xc3\\xa8\\x15\\x2f\\xef\\x5f\\x90\\x9e\\xf4\\xd5\\x8a\\xab\\x6f\\x5e\\x86\\x17\\x8f\\xf9\\xe3\\xd1\\x16\\x93\\x98\\xa9\\x3a\\x12\\x43\\xe5\\x45\\xe3\\xdd\\x0f\\xe3\\x5d\\x52\\x6f\\x04\\x78\\x79\\x8e\\xc4\\xc1\\xf1\\x7a\\x1a\\xc7\\xde\\x7d\\x49\\xe2\\xd5\\x42\\x5d\\x0a\\xc0\\x8a\\x59\\x21\\xc3\\x08\\x24\\x42\\x86\\x12\\x68\\xfc\\x48\\xf2\\x9a\\x40\\x35\\x53\\x5c\\x9f\\xc2\\x57\\xd2\\x34\\xe9\\x2b\\xf8\\xf2\\xa2\\x35\\x5f\\x1d\\x04\\x82\\xff\\x2e\\x04\\x9d\\x9e\\xc0\\x27\\xec\\x1a\\xef\\x7d\\x3a\\xfc\\x69\\x15\\x97\\xef\\x7d\\x48\\x9b\\x90\\xb9\\x05\\x9a\\x0e\\xa2\\xb6\\xdf\\x45\\x7c\\xd0\\x53\\x16\\x97\\x82\\x11\\xa8\\x04\\x9c\\x56\\xaa\\x94\\x84\\x70\\x7a\\xbe\\x60\\x48\\xae\\x33\\xf0\\xe6\\xf4\\x0c\\xe0\\x60\\x14\\x00\\x1b\\x59\\x5a\\xe4\\x7b\\xa7\\x63\\xe0\\x78\\x66\\xc8\\x4a\\x55\\x04\\x8c\\xdd\\x34\\x96\\x0d\\x7b\\xb0\\x19\\x44\\xfc\\xb7\\xab\\x8c\\x4d\\xed\\x02\\xf2\\x7f\\x6b\\xa0\\x3f\\xe8\\xb5\\xa6\\xb1\\x23\\x73\\x2a\\xf2\\xd2\\xd3\\xa5\\xdc\\x57\\xde\\xd9\\xfd\\x96\\x75\\xdd\\x5a\\x4b\\xcf\\x7d\\x7a\\x15\\xdb\\x56\\x47\\xc8\\x9e\\x47\\x11\\x65\\x42\\xfd\\x4b\\x75\\x99\\x45\\xac\\xd1\\x68\\x71\\x7b\\x8c\\x2a\\x39\\x29\\xaa\\x2a\\xd1\\x68\\x58\\x65\\x08\\x1b\\xde\\x2c\\x08\\xfd\\x82\\x27\\x28\\x10\\x64\\xe0\\xdf\\x6d\\x27\\xe3\\xcf\\xa3\\xdd\\xf0\\x47\\x7b\\xc2\\x16\\xa1\\x36\\x1a\\x76\\xc0\\xfc\\x1f\\x6b\\x47\\xaf\\x77\\xb2\\x12\\x3b\\xc8\\x09\\x86\\x6f\\xda\\xea\\x6d\\xd3\\x83\\xa7\\x2f\\x4d\\x02\\x41\\xef\\xbd\\x72\\xeb\\xc2\\x94\\xd1\\x35\\x9b\\x62\\x72\\xe2\\x37\\xf4\\xd9\\x74\\x88\\x5e\\xfd\\x3a\\xbc\\xfe\\x4a\\xfb\\x6e\\x45\\x07\\x16\\xef\\xdd\\xbb\\x98\\xbe\\xf8\\x18\\xa8\\x7f\\xb9\\xb9\\x61\\xc7\\xe9\\xf7\\xf0\\xf9\\x1e\\x08\\xc5\\x63\\x92\\x82\\xc6\\x64\\x2d\\x1e\\x13\\x50\\xf8\\xcc\\x18\\x45\\xe2\\x31\\x52\\x0b\\x91\\xdc\\x5a\\x47\\x6b\\x29\\x93\\x4b\\x0d\\x42\\x5c\\x2a\\x75\\x61\\x88\\x4b\\x2e\\x47\\x3f\\xc4\\xe2\\xc2\\x10\\x4a\\x1d\\x17\\x17\\x97\\xd6\\xf2\\x1d\\x91\\xf8\\x1d\\xe4\\x99\\x2e\\xbe\\x67\\x82\\xf1\\x33\\xc1\\xf8\\x99\\x60\\xfc\\x4c\\x70\\xf3\\x33\\x24\\xbe\\x55\\xf0\\x12\\x8e\\xf5\\x26\\xcf\\xe4\\x35\\x9d\\xa1\\x7e\\xc7\\x3b\\xeb\\x6a\\x12\\x02\\x46\\x35\\xdf\\xd3\\x3f\\x70\\xcf\\x28\\xca\\x45\\x7d\\xd9\\x32\\x96\\x0c\\xcd\\xa1\\xd9\\xa4\\x96\\x64\\x3e\\xa2\\xb6\\x9d\\x2b\\x58\\xa3\\xb2\\xaa\\xca\\x3d\\x66\\xab\\x95\\x32\\x06\\xeb\\x8d\\xc8\\x13\\x36\\x32\\x3a\\xb2\\x97\\xcb\\x9e\\x6e\\x7a\\xe3\\x55\\x99\\xb2\\x10\\x99\\xfe\\x5a\\x1c\\x35\\x14\\x17\\x38\\xe6\\x55\\xb7\\x08\\x0b\\xe7\\x02\\xc8\\xb0\\xb9\\x20\\xdd\\x6f\\x7a\\xe3\\x10\\x06\\xa1\\xdd\\x6f\\x7e\\x2b\\x81\\x02\\xd0\\x7f\\x75\\x9f\\xa4\\x9d\\xa1\\x4b\\x6f\\x15\\xef\\xd6\\x47\\x49\\xf3\\xba\\x4c\\x78\\x77\\xe5\\xf9\\x6f\\xe1\\x3d\\x2b\\x93\\x61\\x85\\x47\\x72\\x57\\xac\\x48\\xdd\\xb6\\x4a\\x16\\x1f\\x76\\x5e\\xe7\\xce\\x99\\xe0\\x74\\x0e\\x1b\\x7b\\x2d\\xc7\\x51\\xe0\\x4a\\xf1\\xc6\\xe2\\xb8\\x50\\x78\\x3e\\xc2\\x30\\x6b\\x7a\\x6a\\xbb\\xcf\\x0f\\xbf\\x8e\\xfa\\x47\\x62\\x91\\x05\\x07\\x34\\x91\\x4c\\x3e\\xe9\\x5f\\x35\\xf5\\x12\\xf5\\x07\\xe6\\x81\\xd4\\xc7\\x03\\xd4\\x3f\\xdf\\x78\\x20\\x9f\\xa1\\xbd\\x2b\\xda\\x4c\\x55\\x78\\xcc\\x66\\x34\\x91\\x82\\xca\\x3d\\x4a\\x7d\\x91\\x9e\\x46\\x2a\\x53\\xaf\\x61\\x25\\x6c\\xb9\\x27\\x49\\xe8\\x12\\xba\\x85\\x73\\x84\\xac\\x50\\x28\\xc1\\x3e\\x6e\\x62\\x7f\\xe2\\x20\\x06\\xea\\x50\\xf2\\xfa\\x56\\xa0\\x57\\xe1\\x65\\x6e\\xa4\\xed\\xbe\\xc3\\x1c\\xff\\x9e\\x17\\x9e\\x70\\xa0\\x50\\x0e\\xa4\\xc3\\x2f\\xba\\x5f\\x78\\x00\\xeb\\x3f\\xf8\\x6c\\xc4\\xb1\\xc6\\x9d\\xa0\\xa8\\x7d\\xbd\\x66\\xc1\\x90\\xbd\\xb7\\xd3\\xc1\\x21\\x0b\\x3d\\xb0\\xbf\\x0b\\x5e\\x5a\\xbd\\xbc\\x1d\\x5c\\xf1\\xe3\\x37\\x7b\\xc1\\xcc\\x27\\x73\\xe0\\xb1\\x76\\x53\\x6a\\xbe\\xff\\x72\\x2d\\x1e\\xab\\x68\\x44\\xe7\\x01\\xb2\\xb6\\xd3\\x29\\xea\\x1f\\xe2\\x7b\\xf9\\xb8\\xc0\\xfe\\x2d\\xe2\\x02\\x5b\\x3d\\x3b\\x96\\xe8\\x9e\\xe5\\xe8\\x1d\\x53\\xc8\\x33\\xad\\x88\\xaf\\x52\\xdb\\xf4\\x0b\\x7e\\x07\\x39\\x77\\x6c\\xef\\x8a\\xd1\\x87\\x55\\xa0\\x5e\\x87\\xea\\x2f\\xe8\\xdf\\xd1\\xff\\xac\\x6f\\xd2\\x0b\\xb4\\xa8\\xf7\\x5a\\xa0\\x65\\x90\\x39\\xcf\\x88\\xe4\\x03\\x3d\\x22\\x24\\x25\\x2a\\x3c\\x40\\xd3\\x5c\\xf4\\xe9\\x19\\x09\\x67\\xc7\\x45\\x8c\\x24\\xb8\\xe0\\xba\\xaf\\x98\\x95\\x46\\x6b\\x67\\x7c\\xe6\\x71\\x20\\xa8\\x14\\xd0\\x9f\\x7c\\xf1\\xe8\\x64\\x55\\xff\\x9a\\x65\\x53\\x9c\\x21\\x26\\x6d\\x68\\xa6\\x2b\\xb7\\x64\\xd8\\x38\\xf0\\xa8\\x2a\\xb6\\x76\\x77\\x87\\x99\\xfb\\xdf\\xec\\xd7\\x25\\xb9\\x22\\xab\\x60\\x72\\x07\\xf6\\x0c\\xec\\x09\\xb7\\xc2\\xcb\\x35\\x92\\x05\\xc2\\xcc\\x79\\x10\\x4c\\x03\\xdb\\xbc\\x6f\\x6c\\x59\\x50\\xfa\\xea\\x8a\\x6e\\xe0\\x4a\\xcf\\x0a\\xa8\\xeb\\xb9\\x81\\xf4\\xe1\\x33\\x9e\\x0f\\xa4\\xae\\x71\\xb8\\x4b\\x2b\\x0d\\xae\\xf0\\x98\\xe4\\x1a\\x39\\x26\\x53\\xa3\\x94\\x6a\\xd4\\x14\\xe3\\x2b\\x54\\xcd\\x1b\\xc4\\xc4\\x9e\\xe4\\x49\\x72\\x34\\x67\\x29\\x80\\x00\\x75\\xcc\\xb4\\xaa\\x7e\\x84\\x90\\x7e\\xf0\\xc7\\x19\\xf0\\xd4\\x8c\\x9d\\x40\\xb0\\xb3\\x0a\\x74\\xaa\\x02\\xb1\\xfd\\xba\\x0c\\xae\\x18\\x8d\\x08\\x43\\x32\\xd0\\x47\\x07\\x3d\\xcd\\xbb\\x18\\x7f\\xa2\\x5d\\x8d\\x73\\x7c\\x14\\xa1\\xf5\\x82\\xe8\\xc1\\xeb\\x25\\x98\\x8a\\x77\\x19\\x44\\x02\\x9d\\x80\\x78\\xa1\\x94\\x5c\\x25\\x95\\x4b\\xcb\\x3d\\x72\\x46\\xec\\x0b\\x86\\x7f\\x6e\\x69\\x04\\x2a\\xbf\\x3f\\xbf\\x20\\x90\\xc8\\x1e\\x3c\\xea\\x5f\\x16\\xc1\\x58\\xda\\xfe\\x0f\\x73\\xdf\\x7b\\x13\\xcf\\x87\\x5c\\xe4\\x2f\\xc8\\xc9\\xdc\\xbf\\xe1\\x9b\\xfb\\x8b\\xf9\\xb9\\x6f\\x7c\\x76\\xfd\\x5f\\x13\\x6c\\x45\\xf7\\xbc\\x85\\xef\\x11\\xb7\\x27\\xd9\\x48\\xe8\\x1e\\x6d\\xe0\\x9e\\xa6\\xf3\\x4d\\x3f\\x70\\x25\\xe4\\x3d\\xef\\xe3\\x7b\\x44\\xdf\\x50\\x49\\xfc\\x7b\\x74\\xcd\\x6b\\xc8\\x89\\xe4\\xf2\\x6d\\xb2\\xcf\\x19\\xe1\\x52\\xb3\\x42\\x11\\x83\\xd4\\x0c\\x87\\x63\\xff\\x25\\x62\\x5a\\x43\\x9d\\x06\\x22\\x12\\xc0\\xcb\\x4b\\x62\\x23\\x09\\x27\\xb4\\xf3\\xc9\\x21\\xc8\\x2c\\x03\\xee\\x12\\xb8\\x06\\x08\\x2e\\x3c\\xa4\\x0d\\x0f\\x2f\\xc0\\x27\\x70\\x4d\\x09\\x2c\\x05\\x07\\xb8\\xfc\\xa7\\x65\\xec\\xde\\x27\\xe7\\x60\\x29\\xf5\\x7c\\xce\\x01\\xb2\\x73\\x30\\xdd\\x77\\x50\\x7b\\x78\\xef\\x3b\\xd2\\xa5\\x13\\xa8\\xcb\\x3d\\x02\\x01\\xa0\\x7d\\xd9\\x06\\x9a\\xf2\\xe6\\x29\\x1a\\x58\\x99\\x31\\x00\\x67\\x1e\\x30\\x44\\xed\\x0a\\x58\\x6d\\x6a\\x0c\\x60\\xf0\\x42\\x4d\\xa7\\x0b\\xbc\\xbf\\x01\\x01\\x53\\x6b\\xf5\\xc6\\xb8\\x41\\xfb\\xf7\\x3f\\x59\\x01\\xbd\\x37\\xe1\\xe7\\xf0\\x4e\\x3f\\xe0\\xdc\\x73\\x3c\\x48\\xc0\\xe5\\x6f\\x85\\xc3\\xb6\\xbe\\xb0\\xe0\\xeb\\x69\\xe0\\xec\\x49\\x18\\x5d\\x35\\xd3\\xfa\\xb7\\x9c\\x07\\xbf\\x9c\\xc1\\x9f\\xb1\\x9c\\x41\\x73\\xb2\\x1b\\x1c\\xc1\\x6e\\x43\\xf4\\x29\\x90\\x2e\\x8c\\x74\\x69\\xe4\\x2a\\x3c\\xf0\\x3a\\x4a\\xcc\\x89\\xcb\\x3d\\x1c\\xba\\x8b\\x26\\x2c\\x71\\x3a\\xfd\\xc7\\x36\\x38\\x6c\\x10\\x97\\x4e\\xc7\\x05\\x99\\x9c\\xe9\\x9a\\x0c\\x2d\\x29\\xc4\\x4f\\xa3\\x1f\\xf5\\xaf\\x8c\\xa9\\x2b\\x6a\\xac\\x2d\\xaa\\x1b\\x33\\xa5\\xea\\x40\\x8f\\x7d\\x74\\xbf\\x4b\\xf0\\xee\\xf4\\x6e\\x9b\\xcb\\x69\\x73\\xad\\xb7\\x01\\x6c\\x84\\x23\\xe8\\x84\\x2a\\x90\\xdf\\x08\\x60\\x2d\\x5c\\xf4\\x3d\\x3c\\x3f\\x91\\xa2\\xfe\\x96\\xdb\\x80\\x74\\x35\\xe2\\x1f\\x57\\x41\\x62\\xab\\xb3\\x5c\\x36\\x93\\x20\\x84\\x11\\x30\\x0a\\x2b\\x12\\xb4\\xc8\\xad\\x51\\x28\\x24\\x4a\\x95\\xde\\xc0\\x89\\x19\\x96\\x0b\\x36\\x87\\x72\\x81\\x8c\\x1e\\xdf\\x82\\x09\\x6c\\x7c\\xd9\\xb5\\x91\\x51\\xc8\\x40\\x88\\x8c\\x62\\x9c\\x5a\\x1c\\xf1\\x85\\x37\\x4c\\xf0\\x8e\\x8d\\x40\\x88\\x16\\xbd\\x12\\x30\\xe0\\x48\\x75\\x56\\x34\\x5c\\x75\\x06\\x5c\\x4d\\x09\\xaa\\x3c\\xd2\\x49\\xdb\\x35\\x6f\\x72\\xdd\\xe4\\xc2\\x89\\xad\\x1f\\x1c\\x81\\x9f\\xa4\\x96\\xbc\\x72\\x66\\xa6\\xba\\x6f\\x35\\x5d\\x2e\\x97\\x7b\\x17\\xd3\\xef\\xb8\\x06\\x80\\x8f\\xe1\\xac\\xc1\\xc3\\x54\\x74\\x99\\x77\\xaf\\x6a\\xc8\\x50\\x30\\x0f\\x46\\xf7\\xee\\xe8\\x4d\\xa2\\xa7\\x71\\x7a\\x5f\\xdd\\x77\\x72\\x2e\\x7c\\x80\\xf3\\x50\\x71\\x54\\x27\\x57\\x6c\\xb8\\x4a\\xa9\\x52\\x56\\x78\\x54\\x2a\\xca\\xa2\\x34\\x85\\x9a\\x68\\x39\\x63\\x32\\x59\\x2c\\xc6\\x72\\x8f\\x85\\xc5\\xda\\xc7\\xc5\\xba\\xd9\\x39\\x2c\\xe3\\x57\\x3e\\xfd\\x03\\x05\\x9e\\xb0\\x60\\x52\\xfb\\x37\\xbf\\x5b\\xe8\\x1f\\x7f\\x09\\x4a\\x9f\\x33\\xd4\\xc2\\x8f\\xf7\\x85\\xde\\xd2\\x34\\x75\\xeb\\xbb\\xe4\\xfa\\x88\\x5d\\xf3\\xaa\\x5e\\x1e\\x78\\xa4\\xbe\\xa3\\xa5\\xe3\\xe5\\xb7\\x67\\x4f\\x84\\xde\\x95\\xbb\\x87\\x83\\x98\\xb7\\x5e\\xfb\\xb0\\x78\\xfb\\x98\\x9a\\x55\\x7d\\xea\\xee\\xeb\\x76\\x9d\\xed\\xb6\\x7a\\x6e\\xb7\\xd5\\xbd\\x2b\\x3c\\xeb\\xd6\\x4f\\x2b\\x2e\\xfb\\xb3\\xed\\xe1\\x03\\xdb\\xe6\\xf7\\xde\\x5a\\x19\\xa4\\x5b\\x34\\xb4\\x57\\xfd\\x82\\xce\\xa4\\x2f\\xbe\\x9c\\x08\\x5c\\x03\\xc0\\xa5\\xa0\\x05\\x42\\x19\\x0b\\x18\\x4e\\x24\\x96\\xb3\\x01\\x6e\\xf3\\x75\\xca\\x04\\x42\\x5c\\x27\\x0c\\x1b\\x4c\\x59\\x40\\x70\\xf8\\x25\\x73\\x3c\\xfd\\xe3\\x67\\xf0\\xc9\\xc1\\x83\\xc6\\x38\\x6f\\x08\\x97\\xdf\\x58\\xb7\\x62\\x11\\x3b\\xe1\\xc9\\x39\\x66\\xcc\\xb8\\xd5\\x4f\\x6b\\x9b\\xd7\\xef\\x01\\xff\\xfa\\x45\\x6b\\xd3\\xc2\\xaf\\x4d\\x45\\xf3\\xda\\x24\\x72\\x00\\xb5\\xad\\xa6\\x62\\x5c\\x06\\x89\\x9c\\x56\\xd2\\x4a\\xb4\\x4a\\x68\\x99\\x4a\\x8d\\x9c\\x33\\xc0\\x09\\x18\\x2c\\x20\\x7d\\x23\\x1e\\xd8\\x2e\\x70\\x32\\x29\\x78\\x8b\\x1c\\x07\\x90\\x38\\x90\\x3c\\x47\\x52\\x32\\xff\\xc2\\x84\\xd3\\x27\\x41\\x87\\x1b\\x70\\x61\\x4a\\x79\\x6b\\x30\\xf6\\x33\\xf8\\xfe\\xf0\\xee\\xd5\\x17\\x90\\xf4\\x3b\\xd1\\x00\\x66\\xc0\\x1e\\x59\\x7d\\xa2\\xbc\\x76\\x7a\\x71\\x24\\x4e\\xc9\\x05\\x4d\\xeb\\x90\\x5e\\x79\\x42\\x64\\xb2\\xcd\\xa5\\x42\\x06\\x02\\x50\\x03\\x24\\x05\\x19\\x01\\x12\\x80\\x02\\x6d\\xcb\\xfa\\x5b\\xc4\\x31\\x6b\\xa1\\x31\\x00\\x9e\\xfb\\xc0\\xc1\\xda\\xe1\\xa2\\xca\\x89\\xbb\\x4f\\x2c\\xcd\\x0e\\xb6\\x68\\xc3\\xdb\\xf6\\xe9\\x33\\x2e\\x7f\\x33\\xfd\\x11\\x7c\\x72\\x96\\xdd\\x0b\\x5f\\x86\\x9b\\xe0\\xa6\\xf5\\x92\\x8d\\xc2\\x4e\\x5b\\x80\\xfd\\x0e\\xf8\\x9c\\xec\\xfd\\xfd\\xcf\\x3c\\x94\\xb8\\x7f\\xcc\\x11\\xc9\\x0a\\xe4\\x88\\x68\\x5c\\x62\\x8e\\x46\\x0b\\x93\\xa1\\x58\\x62\\x16\\xc7\\xf9\\xf3\\xd7\\xec\\x80\\xa1\\x1f\\x7a\\xff\\xfb\\x10\\x9f\\xbe\\x2c\\x41\\x46\\xf0\\xde\\xa7\\x65\\x38\\x3b\\xa4\\x79\\x8d\\x05\\x72\\x43\\x9e\\xb7\\xbd\\x9f\\xcf\\xe1\\x40\\x3c\\x21\\x72\\x14\\xb5\\xa7\\xa5\\xb0\\x89\\x27\\x91\\x50\\x0a\\x29\\xb2\\xc3\\x9b\\x13\\x84\\x7c\\xf5\\xa4\\x8c\\x78\\x8a\\x12\\x56\\x64\\x90\\xa2\\x31\\x40\\x41\\xef\\xce\\xa9\\x89\\xad\\x74\\x77\\x4e\\xed\\xd2\\x7b\\x2e\\xac\\xfd\\x08\\x68\\xc0\\x0f\\xb7\\xbd\\xe1\\xa3\\x17\\x2c\\xd3\\x45\\xd8\\xd7\\xb4\\x8e\\xf4\\x1c\\x67\\x56\\x7a\\x2d\\xf4\\x57\\x4f\\x1f\\x6f\\x98\\xd3\\x1a\\xb5\\xeb\\xcb\\x0d\\x41\\x52\\xa6\\xf4\\x1f\\xf3\\x2c\\x8c\\x48\\x56\\xef\\x25\\xb2\\xda\\xe2\\x92\\x89\\x39\\x46\\x4a\\xd2\\x58\\x58\\x0d\\x2f\\x93\\xfc\\xc5\\x0b\\x91\\x40\\x22\\x45\\xe2\\x88\\x94\\x66\\xd8\\xca\\x09\\xf5\\x25\\x8d\\x35\\x44\\x4a\\x4b\\x1e\\x5e\\x78\\x58\\xe7\\x3d\\xe5\\x17\\xd1\\x4f\\xcb\\xd0\\x3b\\x17\\x22\\x5e\\xbc\\x4d\\xf6\\x4b\\x42\\x5c\\x4a\\x46\\x51\\xee\\xc9\\x65\\x00\\xc3\\x88\\x74\\x1a\\x8d\\x88\\xc1\\x1c\\x45\\x2b\\xb0\\x3f\\x1f\\x82\\xe1\\xb0\\xa9\\x5b\\x44\\x4c\\xf1\\xa5\\xdf\\x86\\xef\\xde\\x9d\\x0b\\x77\\x4b\\x2a\\xcf\\x8f\\x12\\x5e\\xc9\\xda\\xb8\\x67\\xe5\\x79\\xf8\\xe4\\x3c\\xf8\\xcc\\x61\\x04\\x92\\xc4\\x54\\x3a\\xd5\\xfb\\xb9\\xc3\\xbe\\x5b\\x13\\x4a\\x7f\\x48\\x18\\x0f\\x9a\\x7e\\x41\\xfd\\x51\\x11\\xfa\\x83\\x31\\xfd\\x80\\x41\\xee\\x0c\\x32\\x50\\x9a\\x53\\x6f\\x70\\x54\\x9a\\x2f\\xf7\\x90\\xa8\\x18\\x15\\x10\\xec\\x7a\\x04\\x82\\x1f\\xf1\\x3f\\x20\\x9a\\x97\\x4f\\x3b\\xb2\\x67\\xf0\\x37\\xf1\\x63\\x7e\\x44\\xfc\\xf8\\x04\\xbd\\x4f\\x49\\xb5\\x72\\x05\\x21\\xdd\\x25\\x95\\x71\\x48\\x7b\\x89\\x25\\x72\\x05\\x87\\x54\\x18\\x32\\x23\\x68\\x8d\\x92\\x57\\x61\\x7c\\xec\\x95\\xf1\\x79\\x1d\\x46\\xbe\\x91\\x47\\x33\\xaf\\xa4\\x31\\x88\\x34\\x05\\x1e\\xf9\\x7e\\xac\\x1a\\xeb\\x53\\x65\\xbe\\xf6\\x9e\\x76\\xf4\\xde\\x24\\xfa\\x0b\\xdb\\x08\\xe3\\x88\\x3c\\x08\\xc2\\xfa\\x8b\\xc2\\x07\\x27\\x94\\x18\\xcd\\x0a\\x62\\x20\\x68\\xcb\\x3d\\xe2\\xbf\\xe9\\x2f\\x5f\\xf5\\x57\\x16\\x1b\\x2d\\x19\\x76\\xbf\\xbd\\x82\\x15\\x58\\xdb\\x05\\x44\\x6b\\x1d\\x82\\xc7\\xbe\\x85\\xc7\\xac\\xb4\\x02\\x80\\xb5\\x6b\\x2a\\xfb\\x4d\\xde\\x73\\x22\\x48\\xc0\\x28\\x89\\xea\\x42\\xc6\\x41\\xe3\\xd4\\x7e\\xbd\\x61\\xf4\\xa4\\x99\\x16\\x92\\x3f\\x84\\xf3\\xd5\\x29\\xe2\\x17\\x1a\\x70\\x6e\\x85\\x4b\\xc7\\xaa\\x2a\\x3c\\x2c\\x0b\\x4c\\x41\\x0c\\xd2\\x9f\\xea\\x0a\\x4f\\xb0\\x11\\x6b\\x50\\xa7\\xd3\\x17\\xf7\\xcb\\x1f\\x9c\\x39\\x31\\x57\\x7d\\xb6\\x13\\x48\\xc5\\xa1\\xb0\\xb8\\x7d\\xec\\x30\\xfe\\xf1\\x07\\x10\\x1c\\xaa\\xca\\xf9\\xe8\\xae\\x7b\\x7d\\x03\\xd0\\xc0\\x2f\\xf2\\x2b\\xba\\xed\\xad\\x0f\\x12\\x5c\\x41\\x7f\\xc5\\xfc\\xf6\\xbe\\xb1\\x79\\x65\\xff\\x53\\xf3\\x3b\\x82\\x0b\\x67\\xa1\\xae\\xa6\\xc6\\x0a\\xf9\\x65\\xc4\\xeb\\xf1\\x39\\x64\\x2c\\xf5\\xc8\\x43\\x55\\xb1\\x48\\x32\\x21\\x2a\\x30\\x0d\\xaa\\x66\\x1d\\xee\\x6b\\x1d\\x29\\x70\\xe7\\xbf\\xa9\\xef\\x0b\\x63\\xff\\x51\\x75\\x7b\\x6f\\x3c\\xab\\xb9\\xf9\\xd8\\x31\\xde\\x97\\xa2\\x42\\x28\\xb7\\x2b\\x99\\x0e\\x41\\x16\\x2f\\x0d\\x64\\x0c\\x4d\\xeb\\xe4\\x3a\\x13\\x1a\\x06\\xa3\\xca\\x68\\x33\\xba\\x8d\\xac\\xcc\\x68\\xd4\\x69\\x95\\x92\\x50\\x49\\xb9\\x84\\x91\\x33\\x12\\x89\\x5c\\x8e\\x56\\x89\\x9c\\xa5\\x9a\\xf5\\x0a\\xb2\\xfd\\x03\\xa6\\x3f\\x6f\\xff\\x02\\xe2\\xdc\\xf3\\xf9\\xc9\\x1a\\xbb\\x4d\\xad\\x93\\x00\\xd6\\x61\\x63\\x32\\x34\\x98\\x51\\xe0\\x77\\x0b\\x38\\x28\\x9f\\xb9\\x68\\xe8\\xab\\x6d\\xb7\\xbe\\x09\\x7a\\x80\\xc3\\xc3\\xce\\x40\\xb8\\x1b\\x9e\\x74\\x1f\\xce\\x6a\\x38\\x78\\x27\\x9d\\x1e\\xb8\\xd6\\xdd\\x75\\xc3\\xa6\\x39\\x93\\xda\\x81\\x22\\x98\\xbf\\x1f\\x2e\\x82\\x8f\\x97\\x83\\x49\\xed\\xe0\\x37\\xff\\xfd\\x9a\\x8f\\x5d\\xfd\\x11\\xd1\\xfd\\x3e\\xa2\\x5b\\x4f\\x85\\x51\\xe9\\x2e\\xab\\xd2\\x84\\x28\\x67\\xa5\\x02\\xf4\\x53\\x8a\\xe8\\x97\\x4a\\x45\\x12\\x31\\x23\\x14\\x69\\xa8\\xd0\\x8a\\x66\\x91\\x42\\x78\\x87\\x69\\xa3\\x7c\\x75\\x58\\xf1\\xd1\\x94\\x83\\xd8\\xbc\\x4e\\x0d\\xe5\\x24\\x14\\x0a\\x02\\x25\\xc6\\x49\\x3c\\xeb\\x9e\\xd5\\x2b\\xf5\\x9b\\xaa\\xb1\\xd5\\x3b\\x71\\x53\\x01\\xa0\\x8f\\x83\\xd0\\xb2\\x75\\x6f\\x01\\x45\\x61\\x97\\x21\\xb5\\xa3\\x57\\x0f\\xd9\\x34\\x46\\x77\\xeb\\x8d\\x11\\x73\\xbd\\x3b\\x10\\x73\\x8f\\x80\\x54\\x90\\x0a\\x67\\x6e\\x81\\x43\\xe0\\xe7\\x2f\\x32\\x3f\\x4d\\x9b\\xfc\\x05\\x8c\\xd9\\xf2\\xd7\\x23\\xf0\\x21\\x4f\\x2f\\x9a\\xe9\\xec\\x5b\\xc4\\x06\\x0a\\x42\\x96\\xb0\\x51\\x0e\\x64\\x5a\\x59\\xb9\\x47\\xab\\xa5\\xc4\\x62\\x1d\\x3e\\xfb\\x96\\x48\\x15\\xfe\\x6c\\xbc\\x40\\x36\\x0c\\xc5\\xaf\\x5d\\x5f\\xce\\x04\\xce\\xcd\\x73\\x00\\x2d\\xde\\xa3\\xd1\\xda\\x6d\\x42\\x41\\x1a\\xcd\\xce\\x7f\\x61\\xc1\\x93\\x97\\xc1\\x97\\xf0\\xc9\\x85\\xaa\\x9f\\x60\\xd8\\xfb\\x73\\x6b\\x40\\x50\\x19\\xfc\\x05\\xbe\\x1b\\x27\\xa0\\x7b\\x19\\x77\\x4c\\x9b\\xf9\\xe1\\xb8\\x27\\xe7\\xe8\\x5c\\xef\\x9b\\xcc\\x0b\\xfd\\xcb\\xc1\\x87\\x0f\\xac\\x48\\x1e\\x76\\x42\\x7c\\x4b\\x27\\xf1\\xc9\\x1d\\xc8\\xda\\x9b\\x87\\x3e\\x7f\\xc2\\x7d\\x86\\xd6\\x7b\\x34\\xde\\xdb\\x55\\x31\\x6e\\x4f\\xa4\\x4a\\x65\\xb4\\xdb\\xc3\\x7a\\x78\\xec\\x94\\x51\\xea\\xf6\\x18\\x0d\\x7f\\xdf\\xdb\\xc5\\x3c\\xf2\\x45\\x54\\xe5\\xd0\\x0c\\xb1\\xcb\\x79\\x17\\x2f\\x18\\xa0\\x59\\x98\\x21\\x94\\x21\\x3b\\x08\\x39\\x0f\\x3b\\x47\\x4f\\x1a\\xb2\\x76\\x70\\x56\\xd5\\xe4\\xe1\\x2b\\x07\\xa6\\xef\\x38\\x71\\x48\\x37\\x1c\\x9a\\x2e\\xbc\\x3e\\xe6\\x00\\x7c\\x73\\xdd\\xaf\\xa1\\xd0\\x0d\\xff\\x5c\\x91\\x90\\xf7\\x90\\xde\\x58\\x3d\\xbe\\xcb\\x86\\x6f\\xfa\\x4c\\xad\\xee\\xb4\\xe5\\x47\\xf0\\xe6\\x4b\\x07\\xdc\\xa3\\xbc\\xbf\\x5f\\xbc\\xb5\\x11\\x9c\\x06\\xba\\xba\\x70\\xb3\\x7d\\x67\\xfa\\xa0\\x8f\\x3e\\x98\\xb9\\x12\\xad\\x53\\x5c\\xeb\\xb4\\x07\\x9b\\x4d\\xea\\xc4\\x44\\x22\\xf9\\x64\\x14\\x58\\x43\\xac\\x21\\xc5\\x1e\\xab\\x55\\xa3\\x56\\x5b\\x70\\x7e\\x80\\x4a\\xe3\\xe6\\xf7\\xcd\\x5b\\x08\\x0b\\xdf\\x56\\x07\\x59\\x2a\\x4a\\xc0\\x9b\\x33\\x48\\x6c\\xa0\\x05\\x83\\x23\\xc4\\x22\\x7d\\xbf\\x92\\x74\\x22\\xfa\\x97\\xa3\\xc7\\x57\\x2f\\x04\\x23\\xc7\\xba\\xe6\\x9c\\x18\\x03\\xcd\\x0d\\x2c\\xd0\\xb9\\x47\\x77\\x70\\x8c\\x9d\\x0e\\xff\\xea\\x93\\x0b\\xa8\\xe1\\x53\\x9c\\x65\\x23\\xd9\\xec\\x31\\xa3\\xc6\\xd6\\x99\\x84\\xf2\\x21\\x25\\x1d\\x57\\x8e\\x48\\x67\\xb3\\x1b\\xbb\\x98\\xdb\\x0c\\x4c\\xe8\\xd8\\x16\\x5c\\x84\\x6f\\x24\\x0c\\xc9\\x6e\\x93\\x49\\xd6\\x15\\xde\\x07\\x9e\\x4f\\xea\\xe8\\x13\\x7d\\xea\\xf6\\x70\\x4a\\x96\\xd1\\xfb\\xf4\\x29\\x10\\x62\\xd3\\x96\\x9d\\x6f\\xf6\\xee\\x3e\\x55\\xdf\\xc0\\x66\\xaf\\x6a\\xec\\xc9\\x66\\xf3\\xf3\\x64\\x00\\xb2\\x95\\xbb\\x91\\xe7\\xb4\\x94\\xd3\\x65\\xa6\\x90\\xbc\\xc6\\x55\\xb4\\x95\\x2c\\x27\\xd7\\x68\\x39\\x99\\x58\\x86\\x37\\x2e\\x85\\x12\\x29\\x23\\x20\\x42\\xd8\\x48\\x8c\\x66\\x2c\\x84\\xfd\\xc7\\x03\\x38\\x64\\xdc\\xae\\x0d\\x18\\xcf\\xd8\\xe5\\x64\\x56\\xc2\\xcb\\xbd\\xf7\\xf7\\x07\\x4f\\x6f\\xed\\x2e\\x6a\\xfc\\xa6\\x68\\xf7\\xe8\\x29\\x23\\x2f\\x8d\\xa7\\xab\\x5e\\x7d\\x81\\x39\\x0c\\xff\\x82\\x33\\x5f\\xf0\\xde\\x23\\xa6\\x73\\xe4\\x42\\x70\\x09\\x0c\\x69\\xec\\x19\\xd0\\xdf\\x7d\\xc8\\x3c\\x29\\x24\\x7a\\x66\\x23\\x92\\x91\\x71\\x88\\x2e\\x3b\\xd5\\xd6\\xe5\\x08\\x16\\x5a\\x58\\x21\\xab\\xb4\\x01\\x25\\x22\\x4e\\x93\\xa8\\x04\\x4a\\xa5\\x54\\xa5\\x36\\x18\\x39\\x89\\x92\\x13\\x98\\x43\\xec\\x1c\\xde\\xf4\\xf2\\x19\\x51\\xfd\\x9f\\xb7\\x9b\\x13\\x00\\x36\\x9c\\x13\\x90\\xbc\\x36\\xfa\\x0c\\x67\\xda\\x6f\\x37\\xe3\\xb0\\x54\\x70\\xb4\\xbf\\x25\\x43\\x08\\x77\\x9c\\x01\\x57\\x34\\x99\\x75\\xc7\\x87\\x25\\xe6\\xc7\\xf5\\xd9\\xdc\\x27\\xd2\\xed\\xf9\\xe6\\x38\\xfc\\xae\\x2c\\xf9\\xde\\x99\\x4d\\xb2\\x76\\x21\\xfd\\xc1\\xe7\\x6c\\xb0\\xd0\\xfb\\x94\\xae\\x08\\x19\\x09\\x7a\\xfd\\x3c\\xa6\\x4c\\x03\\xde\\x82\\x99\\xf2\\x9c\\x81\\x20\\x04\\x9e\\x1b\\x15\\xe7\\xad\\xa3\\x39\\xb1\\x89\\x81\\x36\\x5e\\xc6\\x75\\x47\\x7d\\x29\\x20\\x39\\x4d\\x69\\x2e\\xb3\\x5d\\x21\\x57\\xc8\\xdd\\x1e\\x43\\x30\\x4b\\x29\\x14\\xc1\\x54\\xb0\\xd6\\xed\\x09\\x56\\x51\\xc2\\xbf\\xa5\\xba\\xe0\\x03\\xae\\xe7\\xec\\x64\\x5b\\x2e\\x5f\\x6a\\xcc\\x87\\x1f\\xd2\\x5c\\xdb\\x4f\\xa8\\xe7\\x13\\xd4\\xc0\\x8f\\x57\\x2f\\xeb\\x5f\\x92\\x2e\\x9e\\x0f\\xc4\\x0e\\xe6\\xc2\\x01\\xf3\\xb5\\x8f\\x3e\\x99\\xb7\\xca\\xb4\\x3d\\xe5\\xe7\\x37\\xeb\\xaf\\xf5\\xd9\\x50\\x5a\\xb9\\xaa\\xe6\\x47\\xdd\\xb4\\x85\\xf1\\xbd\\x8a\\xce\\x58\\xdc\\x65\\x4b\\x47\\x0d\\x9a\\x53\\x58\\xa8\\x5b\\x3a\\x6d\\xf6\\xd8\\xa2\\x19\\x3d\\x24\\xb4\\x74\\x7a\\x9f\\x01\\x27\\xca\\x49\\x8e\\x90\\x2f\\xdf\\x42\\x8e\\xb4\\x80\\x5a\\x04\\x64\\x14\\xcb\\x49\\x58\\xb9\\x92\\xc1\\xf9\\xf9\\x32\\x3d\\x19\\x74\\x23\\x8f\\xe4\\x01\\x88\\x8d\\xcc\\x10\\x1b\\xd9\\xa1\\x05\\xef\\x4e\\xe4\\x5a\\xd3\\x5b\\xaf\\x34\\x1c\\x9e\\x13\\x12\\xe4\\xed\\xf7\\x06\\x9a\\x59\\xde\\xa3\\xd6\\x3f\\x99\\xa1\\x4f\\xaf\\xd2\\xeb\\x16\\xba\\x1b\\x37\\xe0\\x49\\x86\\x73\\x15\\xd1\\xfb\\x97\\x72\\xf5\\xc8\\x4e\\xfe\\x16\\xc7\\x98\\x8a\\xbe\\xf9\\x8d\\x78\\xb9\\x0a\\x3e\\xc6\\x14\\x50\\xe3\\x71\\x3c\\x13\\xba\\x57\\x83\\xd6\\x98\\x09\\xd9\\xc8\\x2a\\x5a\\xe5\\xf6\\x24\\xd2\\xc8\\xa3\\x94\\xa9\\x35\\x8c\\x54\\x8f\\x06\\x8b\\xc1\\x51\\x76\\xfe\\x11\\x6e\\x69\\x27\\xa7\\xf3\\x4e\\x10\\xd9\\xe2\\xc4\\xa2\\x35\\xaf\\xbe\\xdf\\xd8\\xdd\\xc3\\xbe\\xbd\\x08\\x1f\\x0c\\xec\\x05\\x14\\xb7\\xee\\x85\\x4f\\x49\\xee\\x57\\xcf\\x66\\xc3\\x48\\xcf\\x24\\x20\\x87\\xe7\\xc6\\xa6\\x79\\x5f\\x06\\x5e\\xa5\\x0e\\x46\\xa2\\x39\\xb6\\x15\\x8d\\xd3\\x5c\\xd2\\xae\\xc3\\xa5\\x01\\xa8\\x59\\x32\\xf3\\x85\\x68\\xca\\x0b\\x0d\\x1a\\x3c\\xa5\\x52\\x9a\\xa3\\x10\\x88\\x51\\x2a\\x01\\x81\\x52\\xe1\\x64\\xa6\\xd3\\x4f\\x4e\\xc1\\xf9\\xeb\\xaa\\x87\\x4d\\xed\\x95\\x1c\\x6b\\x32\\xc5\\xa4\\x0f\\xaa\\x79\\x85\\xbe\\xda\\x80\\x66\\x79\\x7b\\x78\\x6f\\x63\\x07\\xf9\\x5c\\xf1\\x02\\x90\\x45\\xcb\\x9e\\x5e\\x45\\x6d\\x79\\x51\\x1f\\xdf\\x25\\xb1\\xec\\xd9\\x2e\\x89\\x52\\x8f\\x54\\x93\\x5c\\xc6\\x0a\\x85\\x18\\x42\\x24\\x48\\xac\\x2e\\x54\\x18\\x8c\\x42\\xc4\\x72\\xad\\x0b\\xfd\\x4e\\x71\\x02\\xa9\\x36\\x48\\xc0\\x73\\x3e\\x8e\\xa0\\x3b\\x38\\xd5\\x24\\xd0\\xc5\\xae\\xc5\\x76\\xa9\\xc3\\x17\\x4e\\x8d\\xb7\\x73\\x75\\xbe\\xfd\\xdc\\xa1\\x2b\\x45\\x76\\x29\\x8c\\xdd\\x54\\xc9\\x58\\xb9\\x95\\x9b\\x1b\\x9e\\x74\\x95\\xb1\\x29\\xdd\\x41\\x87\\x9f\\x1b\\xe8\\x0f\\x62\\xd7\\xc4\\xe1\\x1d\\x5d\\xd3\\x29\\xad\\x37\\x1e\\x0d\\xd0\\xec\\x51\\x43\\xd3\\x12\\x6a\\xb7\\xf2\\x7b\\xba\\x80\\xea\\x8a\\xe8\\x9a\\x4b\\x62\\x98\\xe2\\x5c\\x41\\x42\\x11\\x10\\x15\\x7b\\xe8\\x44\\x80\\xfe\\x23\\x28\\x13\\x7a\\x82\\x32\\xa1\\x7c\\x6e\\x71\\x91\\x38\\x29\\xad\\xdf\\x63\\x06\\x0d\\x1e\\xf0\\xd4\\x53\\xdf\\x50\\x5f\\x01\\xb9\\x0a\\x2c\\x5d\\x60\\x3a\\xb8\\xf1\\xf4\\x2a\\xf8\\x11\\x6a\\x7d\\xe3\\xff\\x7c\\x8e\\x8a\\xbf\\x4d\\x92\\x1f\\xce\\xa0\\x95\\x8d\\x16\\x83\\x50\\x49\\x23\\x67\\x08\\xf0\\xb3\\x2d\\xd0\\x0a\\xdf\\x02\\x3b\\xb7\\xa1\\xfe\\x14\\xe4\\x88\\xe8\\x7a\\x7a\\x95\\x39\\x4c\\xa4\\x97\\x7f\\xff\\x9d\\x75\\xa3\\xf7\\x96\\x04\\xda\\x19\\x42\\xda\\x29\\x20\\xed\\xbc\\x8b\\xda\\x39\\x41\\xda\\x41\\xb6\\x2a\\xc7\\xea\\x19\\x01\\x25\\x70\\x7b\\x00\\x49\\xac\\x0c\\x18\\xda\\xc4\\xd9\\x47\\xed\\x3c\\x62\\xde\\x32\\xc3\\xea\\x53\\xa8\\xa1\\x6a\\x22\\x20\\x99\\xc3\\xc4\\x7e\\xff\\x19\\xb5\\xf1\\x7f\\x24\\x67\\xab\\x1f\\xb1\\xdd\\xd2\\xd0\\xe7\\x8d\\x24\\xb6\\xd5\\x8c\\x2c\\x81\\x44\\x57\\x90\\x4c\\x4a\\x59\\x83\\x24\\x41\\x6e\\x8f\\x5c\\xa2\\x0a\\x35\\xd2\\x46\\xb7\\x47\\xf7\\xb7\\x64\\x81\\x40\\x63\\xfe\\x5c\\x01\\x3e\\x2a\\x9e\\x55\\xf3\\x49\\x02\\x3a\\xa3\\x56\\x01\\xe8\\x88\\xd4\\x28\\xe4\\xd3\\x6b\\xc0\\xe3\\x2d\\xee\\xfa\\x2b\\x3d\\x36\\x7f\\xb2\\xbc\\xf3\\x96\\xce\\xa0\\xba\\x68\\xd3\\xa7\\xcb\\xe0\\xc1\\x3b\\x7b\\x6a\\x76\\x7b\\xe8\\x6f\\x1a\\xf6\\xcc\\xdc\\x5d\\x8a\\x8c\\xda\\x8d\\x8a\\x1b\\xa7\\xa6\\x01\\xf5\\xb5\\x2a\\x19\\x98\\x0b\\x67\\x5b\\x61\\xdd\\x0c\\xf8\\xe8\\xd6\\x64\\x19\\xd8\\xfc\\x87\\x8d\\xe9\\xae\\xd9\\x02\\x7f\\x3a\\xf5\\x73\\x70\\xe3\\x09\\xcd\\x0e\\x60\\x20\\x7d\\xf8\\x03\\xf1\\xe1\\x02\\xe9\\x43\\x19\\xe1\\x4b\\x47\\x24\\xf3\\x67\\x92\\x31\\x8f\\x41\\xfe\\x30\\x66\\xbb\\x04\\x14\\x7b\\xc4\\x12\\xbd\\x50\\x84\\x84\\xfc\\xc9\\x16\\x63\\xee\\xf4\\xd9\\xdc\\xfe\\x11\\x27\\x63\\xae\\x05\\xb7\\xcf\\x80\\xa7\\x67\\xea\\xcf\\xbc\\x38\\x02\\xc9\\xf7\\x23\\x68\\x50\\x70\\x5d\\xf3\\xc6\\x4e\\xde\\xff\\x80\\x8d\\xe8\\xad\\x80\\x3a\\x84\\xda\\x1b\\x86\\x7e\\xc3\\xfe\\xa7\\x4e\\xc1\\xa1\\xd1\\x55\\xa8\\x14\\x36\\x45\\x85\\x82\\x55\\x28\\x24\\x7a\\x11\\xe1\\x7f\\xae\\xcf\\x27\\x61\\x84\\x7c\\x95\\x7d\\xfc\\x66\\x7f\\x16\\x12\\x38\\xd5\\x9d\\xf5\\xf4\\x98\\x74\\x73\\x30\\x9a\\x54\\x65\\x8f\\x77\\xcd\\x9c\\x26\\x72\\xa3\\x59\\x35\\x36\\x32\\x27\\x27\\x95\\xa6\\xd0\\xcc\\x6a\\x28\\x1b\\x3f\\xcc\\x91\\x00\\xb6\\x50\\x2d\\xd6\\x95\\x14\\xd7\\xc6\\x43\\x7d\\x11\\x4b\\x38\\xa0\\x24\\x7b\\x60\\x14\\x53\\xec\\x91\\x92\\x55\\xdc\\xc2\\x6d\\x70\\x68\\x9b\\x9d\\x06\\xa6\\xa1\\xee\\x0c\\x50\\x9d\\x41\\x3f\\xd4\\x67\\xea\\x02\\xbd\\x60\\x4e\\x91\\xf5\\xfa\\x1b\\xe2\\xd1\\x06\\x92\\x8f\\x9b\\x70\\x4c\\x21\\x47\\x6c\\x71\\x19\\x5a\\xbc\\x1d\\x7b\\x29\\xf8\\xfd\\xca\\x67\\xdf\\x9f\\xeb\\x6b\\xc1\\xe9\\xff\\x46\\x9d\\x92\\xa3\\x56\\x1e\\x9f\\xe1\\xbf\\x57\\x8f\\x58\\x5d\\xd4\\xdc\\x0e\\xcf\\x31\\x64\\x13\\x75\\x43\\x7d\\x28\\x23\\xf2\\xd7\\x88\\x6d\\x22\\xb9\\xb1\\xd8\\x23\\x97\\x8b\\x64\\x52\\xa9\\xd8\\xed\\x91\\x2a\\x45\\x8a\\x62\\x8f\\x48\\xdf\\xec\\xb6\\x6b\\x7c\\x1e\\x89\\xcd\\xbf\\x89\\x9a\\x61\\x97\\x36\\xef\\xa9\\xd0\\x3f\\x83\\x31\\xed\\x67\\x9e\\x98\\x08\\x87\\x9f\\x82\\xa7\\xcd\\xa0\\xd1\\x53\\x71\\x63\\xd8\\xec\\xdc\\x11\\x13\\x6f\\xd2\\x55\\xdf\\x75\\xdb\\x3c\\x22\\x93\\x39\\xbc\\x0a\\xa6\\x43\\x65\\xe6\\xa4\\xbc\\x7c\\x17\\x9e\\xcf\\x00\\xb5\\x7d\\x93\\xf0\\x4f\\x4f\\x99\\xb0\\x2f\\x22\\xd5\\x23\\xb6\\x49\\x45\\x41\\x46\\x89\\x58\\x29\\x92\\x15\\x7b\\x4c\\x06\\xdc\\xf8\\x73\\xbe\\x48\\xa0\\x71\\x67\\x8b\\xa6\\x09\\xe0\\xcd\\x19\\x5f\\xf3\\x6f\\x34\\xec\\xf1\\x54\\x6c\\x19\\x38\\x23\\x67\\x48\\xe5\\x56\\xba\\xa8\\x61\\x4f\\x83\\xaf\\x7d\\x2c\\x1e\\x7c\\xcd\\x43\\x39\\x5e\\xce\\xa8\\xff\\x83\\x11\\x0d\\x02\\x1f\\x0d\\xc8\\x0f\\xf1\\x51\\xe0\\x6b\\xdf\\xdf\\xf5\\xff\\xd5\\x32\\xbd\\xd9\\xd7\\x6a\\xbb\\x86\\x7a\\x4f\\xc5\\x2f\\xa4\\xc3\\xbf\\xfe\\xbd\\x41\\x3c\\xf7\\x8b\\x91\\x8c\\xe8\\x8e\\x74\\x73\\x38\\x95\\xe2\\x0a\\xb1\\x18\\x90\\xf9\\xa6\\xc4\\xb9\\xa7\\x26\\x8b\\x52\\x05\\xa4\\x0c\\xde\\xe1\\x52\\x51\\xd2\\x66\\xe5\\xcc\\x1b\\xf0\\x44\\x37\\x13\\x0b\\x1e\\xaf\\xde\\x5c\\xe0\\x8b\\x34\\xb1\\xb7\\x70\\x38\\x7c\\x1b\\x58\\xd8\\xff\\xbb\\x57\\x7d\\xa2\\x02\\xbc\\x31\\x7b\\xcc\\x0b\\xaf\\xb6\\x82\\xf3\\x4c\\x60\\x96\\x68\\xca\\xcc\\xea\\x1d\\xf6\\xf3\\xad\\x81\\xfe\\xd4\\x8d\\xf7\\xca\\x76\\x7c\\xad\\x2b\\x59\\xdf\\x4f\\x22\\x92\\xc9\\x06\\x8f\\x38\\x7a\\x6e\\x7e\\x76\\x42\\xcd\\x94\\x91\\x65\\x8a\\xf5\\x2f\\x5f\\x3f\\xb7\\x04\\xde\\xbd\\x32\\x0a\\xdb\\x64\\x9f\\x22\\x1a\\x0f\\x23\\x1a\\x0d\\x88\\x4a\\xe4\\x6b\\x18\\xf4\\x4a\\xad\\x4e\\x2f\\x0b\\x46\\x54\\x69\\xf0\\x94\\x43\\x74\\x22\\x86\\xc9\\x0c\\xac\\xbd\\x19\\x62\\xca\\xe7\\x68\\xf8\\xdc\\x0e\\x1c\\x5d\\xd5\\x4c\\x90\\xc3\\xef\\x77\\x20\\x8d\\x11\\x48\\x7e\\xc1\\x3e\\xc7\\x93\\x03\\x39\\x80\\xda\\xbb\\x7c\\x4b\\xb7\\xe5\\xe7\\xc6\\xae\\xd9\\xa9\\xd8\\x5f\\xb1\\xa7\\x61\\xcf\\x9d\\xa2\\x2e\\x65\\xab\\x7a\\x15\\xe5\\x0d\\x7c\\xa1\\x84\\xae\\xfa\\xea\\xe9\\xa5\\x57\\x66\\xc1\\x8f\\xee\\x56\\x9d\\x3b\\x92\\xdf\\x13\\x8b\\x73\\xaf\\x75\\x7c\\xf5\\x11\\x90\\x3b\\x63\\x52\\xcd\\x09\\x78\\x8e\\xd8\\x8f\\xf7\\x11\\x29\\x43\\xd0\\xd8\\x61\\x5f\\x36\\xdd\\x65\\x91\\x31\\x68\\x0c\\x8b\\x3d\\x06\\xa5\\x1e\\x28\\x19\\xbd\\x1e\\x88\\xc5\\x72\\x24\\x59\\x94\\x34\\x32\\x20\\x7d\\xb2\\xfd\\xb9\\xcc\\x5e\\x27\\x8f\\x89\\x4e\\x50\\x0b\\x91\\x1c\\x36\\xfb\\x90\\xda\\x0c\\xad\\x01\\xdd\\x1a\\x8e\\xb9\\x09\\xea\\xaf\\x3c\\xfd\\x09\\x1c\\x45\\xc3\\x3a\\xf0\\xfb\\xc1\\x73\\xda\\x0d\\x18\\xe5\\x05\\x37\\x90\\x7e\\xf9\\x28\\xfe\\xec\\xa9\\xab\\x48\\x12\\xdc\\x00\\xbf\\xa6\\x8f\\xef\\x98\\x97\\x47\\x35\\xdb\\x90\\xd8\\xce\\xc0\\x36\\xa4\\x5a\\x40\\xe5\\x1d\\x23\\xb9\\x30\\x91\\xfe\\x5c\\x17\\xfe\\xfa\\x8c\\xc0\\xf5\\x51\\x22\\x9c\\x4f\\xc3\\xd0\\xd1\\xfe\\x7c\\x1a\\x5f\\xbe\\x74\\x1e\\x92\\xef\\x31\\x54\\x9e\\x4b\\xc5\\x45\\xc6\\x44\\x22\\x7d\\x18\\x23\\xb5\\xb9\\x3d\\x22\\x69\\x84\\x14\\x6b\\x6b\\x8d\\x58\\x56\\x18\\x23\\x8d\\x91\\x52\\x11\\x7a\\x2d\\x12\\xf6\\x5a\\x5c\\xa2\\x33\\xb7\\x39\\x78\\x0c\\x75\\x2f\\xab\\x45\\x72\\x08\\x29\\xab\\x85\\x64\\xbc\\x33\\x1d\\xbb\\x7b\\x42\\x86\\xb7\\x1f\\x70\\x81\\xed\\x96\\xf9\\xd6\\x8e\\x0c\\x27\\xa8\\x3a\\x69\\x05\\x71\\xc1\\xf0\\x8e\\x5c\\x15\\xc7\\xac\\xfa\\x01\\xd8\\xe5\\x75\\x96\\x75\\x53\\xbb\\x26\\x9b\\xdb\\x16\\x74\\xd0\\xd5\\xf2\\xd9\\xd7\\x93\\xea\\xbf\\x5d\\x10\\xbc\\x80\\xbb\\xb5\\x6d\\x7e\\x5e\\xef\\xa3\\xb7\\xa1\\x37\\xab\\x5d\\xe3\\xb5\\x8d\\xcb\\xc5\\xcb\\x05\\x9d\\x87\\x31\\xac\\x2f\\x09\\xfb\\x10\\x7b\\x98\\xe0\\xeb\\x10\\x7f\\x80\\xd8\\x5c\\x5f\\xf9\\xce\\x1f\\x5e\\xe4\\xcf\\x16\\xa4\\xea\\xc0\\xde\\x24\\x3e\\x5b\\xac\\x21\\xb9\\x8f\\x49\\x2e\\xb3\\x19\\x07\\x6f\\x23\\x51\\x63\\x30\\xb3\\xc8\\xa5\\x95\\x22\\x97\\x96\\x32\\x1b\\x28\\x11\\x9a\\x74\\xcf\\x4c\\x31\\xdf\\x4a\\x00\\x81\\x30\\xee\\xe6\\xa3\\x7c\\x7c\\xf0\\xe6\\x03\\x0a\\x40\\x0a\\x8e\\xfe\\xfd\\x54\\xc3\\xc5\\x49\\xd5\\x6b\\x4e\\x26\\x80\\x59\\x26\\x38\\x4f\\x3c\\x6e\\xee\\xf8\\x03\\x11\\xaf\\x85\\x6e\\xfe\\x64\\xfa\\xcd\\x77\\x4a\\xf6\\x7e\\xc7\\x76\\x7f\\x65\\x9d\\x42\\x50\\x3a\\x7c\\xcf\\xe9\\xf9\\x6d\\x52\\xa7\\xce\\x1f\\x37\\x42\\x56\\xbe\\xad\\xef\\xd5\\x0b\\xb3\\x41\\xe8\\x07\\xa3\\x31\\xfd\\x63\\x11\\x6d\\xf9\\x6c\\x17\\xa4\\xb3\\x7a\\x93\\xb1\\x8d\\x44\\xfd\\x09\\x22\\x67\\xed\\x5d\\x03\\x9f\\xbb\\x91\\xb1\\xfc\\x8d\\x1f\\xcb\\x18\\x3e\\x37\\x4a\\xdd\\x9c\\x1b\\xd5\\x74\\x11\\x96\\x32\\x4f\\xc9\\x33\\xdd\\xc8\\x5c\\x7d\\x19\\xbd\\x73\\x01\\xc9\\x63\\x0c\\xa3\\x32\\x5d\\xa1\\xc1\\x61\\x68\\x35\\x05\\x03\\x9c\\x82\\x2e\\x0c\\x0a\\x12\\x17\\x7b\\x82\\x94\\x0a\\xc4\\x04\\x85\\x41\\x68\\x46\\x22\\x41\\xff\\x2f\\xa7\\x6c\\x44\\x00\\x81\\x38\\x80\\xdd\\x07\\x3a\\xb0\\x71\\x9a\\xa1\\x25\\x42\\x18\\x19\\xec\\x71\\x80\\x89\\x07\\x7d\\xc6\\x35\\xac\\x7e\\xe7\\xdc\\xde\\x59\\x6d\\x47\\x4f\\x19\\xd0\\x2a\\xc2\\xa4\\x8b\\x48\\x6c\\x9f\\x97\\xb9\\x1d\\xbc\\xe5\\x19\\xe4\\xfc\\x26\\x8a\\xbb\\x92\\x4a\\x57\\x7d\\x3b\\xea\\xdc\\x60\\xe6\\x4d\\x98\\xff\\xc1\\x37\\x15\\xd2\\xb9\\xc2\\x0e\\xfb\\xdf\\xa4\\x2d\\x48\\x4e\\x71\\xd7\\x53\\x56\\xf2\\x7e\\x19\\xea\\x15\\xbb\\x92\\xe4\\x80\\x86\\x20\\x9d\\x60\\x50\\xe8\\x8a\\x3d\\x21\\x2a\\xa0\\x2a\\xf6\\x70\\xc4\\x3a\\x53\\x2b\\xf4\\x0c\\xaf\\x47\\x03\\x56\\x59\\x5c\\x40\\x49\\x13\\x11\\x89\\x28\\x24\\xd6\\x19\\x21\\x0a\\x4b\\xe7\\x72\\x0f\\xe8\\xe2\\xd9\\xec\\x49\\xe7\\x45\\xe5\\x7b\\x83\\xe0\\xc9\\x41\\x9b\\x1b\\xc0\\xe5\\xf4\\x27\\x51\\xdc\\xf0\\x09\\x19\\xbc\\xd9\\x06\\xd3\\x89\\xcc\\x04\\x7f\\x42\\x31\\xd2\\x53\\xad\\xaf\\x27\\x17\\x14\\xfa\\xfc\\x03\\xbc\\x26\\x6c\\x68\\x85\\x2b\\xa5\\x68\\xd2\\x73\\x16\\x9b\\x05\\xad\\x0b\\x9b\\x48\\x45\\x96\\x04\\xf2\\x12\\x0b\\xa5\\x36\\xa9\\xcd\\x8c\\x5c\\x61\\xca\\x5f\\x2d\\x3c\\xce\\x9f\\x08\\x13\\xf7\\x0f\\xcb\\xc0\\xf1\\xff\\x9d\\xfd\\x8b\\x4e\\xce\\xfd\\xb7\\x49\\xef\\xed\\x46\\x6f\\x6a\\x39\\xdb\\xc9\\x7c\\x20\\x3e\\x04\\x99\\xef\\xdf\\x93\\xf9\\x50\\x3d\\x8a\\xcc\\xf6\\xa0\\x00\\x5e\\x0a\\xf6\\x71\\x9a\\x7d\\x10\\x2a\\xef\\x10\\x7f\\xd2\\xe6\\xbb\\xce\\xdb\\x79\\x44\\x76\\xf4\\xe3\\x7d\\x94\\x5f\\xc9\\x75\\xa3\\xdf\\x47\\xe9\\x8a\\xae\\xf3\\x76\\xb2\\xe5\\x0c\\x25\\x46\\xe6\\x00\\xb6\\x04\\x90\\xfc\\x40\\x46\\x00\\x86\\x7b\\x0b\\x24\\x3c\\x3a\\xfd\\x06\\x06\\xea\\x58\\xd7\\x86\\x7a\\x62\\x28\\x35\\xc0\\xba\\x92\\xdd\\x25\\xbc\\xe2\\x7f\\x7a\\x15\\x6f\\x4a\\xf2\\x7e\\x62\\x36\\x9a\\x8f\\x97\\xb8\\xbe\\x54\\x0a\\xe2\\xab\\x59\\x1a\\x1d\\x16\\x5d\\xee\\x91\\x47\\x9a\\xcc\\x91\\x61\\x14\\x65\\x56\\x85\\xb1\\x6c\\x92\\x39\\xa9\\xdc\\x63\\x34\\x6b\\x9f\\xcb\\x63\\x6c\\xce\\x30\\x42\\x96\\x3f\\x9a\\x7d\\xc1\\x20\\x2d\\x10\\xea\\x64\\xd0\\xab\\xe8\\x66\\x20\\xd8\\x60\\xe0\\xaf\\xd3\\x1e\\xc8\\x05\\xa0\\x33\\x6a\\xbb\\x1b\\x7b\\x76\\x5d\\xd6\\x37\\x39\\x36\\x3e\\xae\\x4b\\xff\\x99\\x83\\x46\\x2f\\xf8\\x64\\xee\\x8b\\xe9\\x93\\x6b\\x87\\x8f\\x9d\\x77\\x7f\\x7e\\x6e\\xf7\\x90\\x91\\xc6\\x84\\xf4\\xa1\\x1e\\xa4\\x6b\\x7b\\xba\\xe9\\x6d\\x70\\xec\\x12\\xaa\\x09\\x1c\\x78\\x61\\xf6\\x92\\x94\\xde\\x13\\x1e\\x5c\\x87\\x4f\\x61\\xf6\\xd3\\x43\\x87\\xae\\xdf\\x7a\\x02\\xde\\x06\\xea\\xf4\\xd6\\xa5\\x29\\xb3\\xa1\\x17\\x9e\\x1e\\x53\\xb3\\x0a\\xd7\\x06\\xa1\\x7a\\x21\\x1e\\x7f\\x4f\\x62\\x52\\x42\\x5d\\x0a\\xb5\\x48\\x21\\x95\\xcb\\x25\\x7a\\xa5\\x54\\x29\\x94\\xf0\\x09\\xfc\\xbe\\x80\\x17\\x4c\\x38\\x41\\x71\\x10\\xe2\\x98\\x17\\x8c\\x0b\\x89\\x8c\\x25\\x4a\\x9d\\x1a\\xc5\\x7e\\x2a\\x1f\\x7c\\xfa\\xe5\\x3a\\xc7\\xfb\\x07\\x57\\x9c\\xf2\\x7c\\x13\\x77\\x2a\\x01\\xb4\\x91\\xb2\\xd9\\x99\\xfd\\x66\\xc3\\xef\\xe0\\xdb\\x9f\\x81\\x25\\x70\\x2a\\xe2\\xe1\\x58\\xf0\\x32\\xf8\\x9a\\xfc\\x2c\\x19\\xe0\\xa4\\x02\\xe7\\x91\\x73\\xc8\\xde\\xbe\\x99\\x72\\xba\\x82\\xb5\\x52\\x99\\xb4\\xc2\\xa3\\x92\\xc9\\xc4\\x0a\\xca\\x48\\xb6\\x76\\x15\\x8c\\x38\\xa8\\x79\\x57\\xb7\\x39\\x1b\\x23\\xb0\\x87\\x11\\xd8\\xdc\\xe5\\xcb\\x2f\\x61\\xb8\\x28\\xdf\\x1e\\x27\\x58\\x03\\xda\\xbf\\xf3\\x60\\x39\\x6c\\x3c\\xe4\\xfd\\xed\\xe2\\x4a\\xcb\\xca\\xa8\\x0b\\x51\\xe0\\xa6\\x05\\xa6\\xd1\\xb4\\x6f\\xaf\\xf3\\xcd\\x13\\x8c\\x72\\xcf\\xe6\\x65\\x77\\x26\\x30\\xdf\\xbc\\x78\\xeb\\xd6\\x8b\\xde\\x1b\\x17\\x60\\xf4\\x32\\x9e\\x2e\\x6c\\xd7\\x2c\\xe4\\x6e\\x22\\xff\\x32\\x18\\x79\\x0a\\x26\\x51\\x30\\xb2\\x66\\x44\\x2a\\x74\\x41\\xa8\\xa1\\x34\\x38\\xf4\\x58\\xa9\\xd2\\x16\\x07\\xf6\\x8f\\x7c\\x63\\xac\\xe6\\xed\\x1c\\x2d\\x99\\x44\\xfe\\x23\\x53\\xb2\\xef\\xcc\\x97\\xf4\\x8d\\x03\\xb3\\x40\\xab\\xee\\xf5\\xdd\\x41\\xac\\x19\\x7e\\x98\\x01\\xd4\\x27\\xea\\xe1\\x93\\xcf\\x61\\xf6\\x29\\xf8\\x3e\\x68\\xff\\xe7\\xea\\x4d\\x1f\\xff\\xc5\\x66\\x83\\xb5\\x70\\xdc\\x72\\xf8\\x9f\\xa5\\x73\\xea\\x3f\\x62\\x5e\\x69\\x7c\\x77\\xc6\\xcc\\x2d\\x7c\\x0c\\xdd\\x87\\x4d\\x3f\\x70\\x21\\x04\\x5b\\xc9\\xe5\\xb2\\x5b\\xad\\x06\\xb1\\x58\\x6f\\xa0\\xb4\\x41\\xda\\x72\\x4f\\x78\\x50\\x90\\xde\\xc0\\xe8\\x35\\x66\\x7b\\xb9\\xc7\\xcc\\xca\\x39\\x34\\x11\\xb5\\xcd\\xf2\\xef\\xd9\\x08\\x42\\x35\\xa9\\xf3\\x20\\xf0\\x01\\xc4\\xe0\\x6c\\x59\\xc7\\x33\\x1b\\x9b\\xf6\\x16\\x21\\x17\\x74\\x91\\xbe\\x5f\\x7f\\x67\\x69\\xcf\\xc2\\x55\\xe3\\x3f\\x5d\\xb4\\xeb\\x80\\xfa\\x60\\xf5\\x6e\\x20\\xd8\\x3d\\xe1\\xe0\\x4a\\xb0\\x1e\\x84\\x44\\x1d\\x51\\xf5\\x2c\\x9a\\xb1\\x35\\x0b\\x14\\x58\\xe8\\x81\\x0b\\xfa\\xcd\\x9d\\x96\\x32\\x64\\x46\\xe6\\xcd\\x03\\xef\\xbf\\x53\\x5e\\xe5\\xdd\\x8d\\x8f\\xb6\\xe8\\x41\\xf0\\xe5\\x9c\\xa5\\xa3\\xef\\xfc\\xb9\\x96\\xa7\\xff\\x09\\x5a\\x2f\\x37\\x91\\xbe\\x8a\\xa2\\x0a\\x5d\\x91\\x0a\\x05\\x63\\xb5\\xd2\\x8c\\x91\\xe2\\x90\\xbd\\xa1\\x53\\x72\\x48\\x8e\\x73\\x1c\\xcd\\x28\\x69\\xbd\\x58\\xed\\xf6\\x88\\x55\\x61\\x66\\xb7\\x27\\xcc\\xf0\\x6c\\x27\\xfc\\x46\\x47\\x73\\x3f\\xb4\\x04\\x94\\xd5\\xe9\\x2b\\x51\\x22\\xcc\\x48\\x6d\\x56\\x68\\xbc\\x3e\\xf3\\x75\\xae\\x71\\x00\\xb2\\x8d\\xca\\x0e\\xb6\\x7e\\x7a\\x72\\xe9\\xc6\\xa3\\x60\\xfd\\xc8\\x25\\xf1\\xa0\\xbb\\x09\\x1e\\x97\\xef\\xe8\\x36\\xdd\\xfe\\x52\\xd2\\x17\\x2f\\x6e\\xdc\\x21\\x05\\x5f\\x42\\x2b\\x92\\xa2\\x71\\x3f\\x36\\xee\\x58\\xa5\\x54\\x04\\x1f\\xdc\\x7b\\x7e\\x7e\\x8f\\xbc\\x7b\\xc3\\x2b\\x65\\x9b\\x4f\\xd6\\x9f\\xe8\\xd0\\x05\\xc9\\x74\\x3f\\xe6\\x9b\\x14\\x79\\x46\\x0e\\x97\\x9a\\x11\\xaa\\x70\\xfa\\x8e\\x44\\xa5\\xc2\\xae\\x36\\x10\\x93\\x2d\\xff\\xdc\\x16\\xa9\\xca\\x76\\xc4\\x52\\x2c\\x1f\\x71\\x60\\x98\\x12\\x08\\x94\\xc0\\x1e\\x15\\x19\\xc5\\x7a\\xae\\xf7\\x9a\\x37\\xfc\\x95\\xe1\\x35\\xf0\\x53\\x0c\\x07\\x37\\x5f\\xd1\\x3d\\x61\\x3a\\xc8\\x77\\xc8\\x45\\xb4\\xce\\xfb\\x03\\xfe\\xe6\\xf2\\x0f\\x58\\xf7\\xf5\\xf8\\xf4\\xd3\\xde\\x15\\x7e\\xfb\\xcc\\x4a\\xe4\\x96\\x86\\x6f\\x53\\x23\\x74\\x7b\\x94\\x12\\x8d\\x46\\x2c\\x41\\x3c\\x13\\xeb\\xff\\xad\\x4d\\x32\\x98\\x09\\x20\\x4a\\x49\\xb3\\xd6\\xeb\\x85\\x33\\x0a\\xf7\\x14\\x4e\\xfa\\xe0\\x06\\x3d\\xff\\x4e\\x7b\\x53\\xb0\\x3a\\xb3\\xf5\\x44\\x50\\x05\\xd7\\xe0\\x6f\\x64\\x12\\x9e\\x9f\\x33\\xff\\x78\\xf5\\x94\\xb7\\x50\\x5b\\x1f\\x62\\x5b\\xd0\\xb7\\x0e\\xe3\\x5d\\x06\\x21\\x23\\x55\\x49\\xcb\\x3d\\x41\\x3a\\x8d\\x4a\\x25\\xd7\\x30\\x68\\x11\\x72\\x40\\x4e\\x3a\\xe9\\xcc\\xe5\\x9b\\xf4\\x5b\\x80\\x2d\\x3a\\xea\\x9b\\x45\\x48\\x63\\x28\\x68\\xa1\\x9d\\x8e\\x62\\x87\\xec\\x4a\\x29\\x1f\\xbe\\x6b\\x78\\x59\\x13\\xb5\\x0b\\x88\\xce\\x0e\\xc7\\xf3\\x67\\xce\\x77\\xa0\\x53\\x5d\\x15\\xd3\\xd9\\x32\\x03\\x88\\x42\\x18\\x7f\\xbf\\xf9\\xbe\\x7b\\x47\\xd1\\xb5\\x07\\x24\\x87\\xda\\x79\\x41\\xda\\x00\\x8a\\xa0\\x8f\\x23\\x9e\\xa3\\xfe\\x63\\x84\\x48\\xa7\\xcb\\x24\\x13\\xa9\\xf4\\x48\\x89\\xd2\\x7a\\x40\\x69\\x71\\xa8\\x9c\\x86\\xd1\\x2a\\x15\\x12\\x81\\x46\\xcf\\x93\\xe5\\x03\\x6a\\xf3\\x4b\\x58\\x2c\\x1b\\xa4\\x00\\xd7\\xe4\\xf0\\x33\\x85\\x7c\\x63\\xe9\\xbe\\xb8\\xd5\\xd5\\xbd\\x4b\\x36\\x6e\\x8f\\xe9\\x59\\xb8\\xa9\\xb0\\xf8\\xd5\\xdd\\x57\\xee\\x15\\xa2\\x09\\x32\\x1e\\x70\\xe0\\x2f\\xf0\\x02\\x1c\\x4b\\xb7\\x47\\xc6\\xa9\\x8f\\x45\\x60\\x3c\\x5c\\x8d\\xd8\\x74\\x96\\xd7\\xeb\\x47\\x10\\x3d\\x8d\\x24\\xe6\\xc7\\x86\\x51\\xec\\xe4\\x2a\\xb3\\xaa\\xc2\\x63\\xa5\\xcc\\xe6\\x10\\xa5\\xd0\\xa0\\x09\\xb1\\x95\\x7b\\x42\\x18\\x2a\\x90\\xbb\\x93\\xe8\\xc7\\x5d\\xe1\\x6b\\x90\\x33\\x0e\\x0d\\xd6\\x9b\\x51\\x88\\x06\\x05\\x4d\\xea\\x69\\xd2\\x19\\x8c\\x5d\\x0c\\xec\\x4c\\xff\\xbd\\xeb\\xb4\\xa9\\xf5\\x99\\x8a\\x19\\xcb\\xa6\\x9f\\x9f\\x3e\\x67\\x43\\x69\\x64\\x4c\\x7d\\x74\\xdc\\xd4\\x2b\\x1b\\xaf\\x31\\x3f\\x79\\xb7\\x03\\x1d\\x9c\\xc0\\x70\\xea\\xda\\xda\\xd4\\xe5\\xf0\\x4f\\x60\\x1d\\x67\\x1d\\xd1\\x97\\xf3\\xae\\xa2\\x27\\x70\\x85\\xeb\\xcf\\x37\\xdc\\xbe\\x7f\\x67\\xaa\\x92\\x76\\x79\\xcf\\x80\\x43\\x98\\x3e\\x44\\x26\\xfb\\x3a\\xe2\\x97\\x99\\xb2\\xe2\\x31\\x14\\x88\\xb5\\xc8\\x09\\xb5\\x1a\\xb4\\x5a\\x85\\x4e\\x67\\x71\\xa3\\x85\\x26\\x02\\x0a\\xbd\\x2f\\x78\\x82\\x97\\xa1\\xfe\\xed\\x31\\x87\\x9f\\xb4\\x30\\x41\\x80\\x34\\x42\\xb6\\x10\\x29\\x44\\xb6\\xdd\\x41\\xdb\\xf4\\x8d\\x3d\\x0f\\xf4\\x3c\\x79\\x24\\x5a\\x71\\x50\\x11\\x3e\\xf9\\x8d\\xda\\x06\\xe6\\x63\\x38\\xe4\\xe0\\x66\\xc3\\x05\\x58\\xb4\\x7c\\x7b\\x87\\x51\\x03\\x38\\x58\\x0c\\x5e\\xd9\\x76\\xab\\xa0\\xe0\\xd8\\x95\\x51\\x0a\\x5a\\xe0\\x7d\\xa2\\x5a\\xb3\\xaa\\xa4\\x92\\x19\\x09\\x67\\x51\\xbe\\xb9\\xf5\\x13\\xe2\\x9b\\x03\\x49\\x2f\\xa7\\xcb\\xac\\x92\\x9b\\x6d\\x66\\x24\\xb7\\x28\\x9b\\xcd\\x12\\x66\\x65\\x84\\x4a\\x03\\x63\\xd1\\x84\\x45\\x96\\x7b\\xc2\\x7c\\xdc\\x43\\x9e\\x86\\x3a\\xc0\\x3f\\x9e\\x81\\xc6\\x67\\x19\\xc8\\x30\\xb8\\x1e\\xa9\\x4f\\x6c\\x21\\x39\\x8b\\x2d\\xba\\x63\\x93\\x46\\x02\\x45\\xc7\\x7d\\x2e\\x55\\x7b\\xf7\\xf4\\x3d\\xd3\\x73\\x4a\\xda\\xc4\\x15\\xec\\x8b\\x0e\\x6d\\x1b\\xbd\\x68\\xea\\x2e\\x20\\xd8\\x55\\x05\\xa6\\x0d\\xa6\\x6f\\xc0\\xc4\\x6b\\xbf\\x31\\x9c\\xb2\\x7a\\x5a\\xdc\\x58\\xf8\\x02\\x28\\x1c\\xe7\\xe8\\xda\\x91\\x70\\x93\\x8d\\xe9\\xb9\\x04\\x6e\\xb8\\xbd\\xff\\xf5\\x6c\\xef\\x7a\\x34\\x0f\\xdf\\xa4\\x73\\xfd\\x3c\\xc5\\x78\\x36\\xd7\\x08\\xbe\\x4e\\x04\\xa6\\xdd\\x80\\x0c\\x33\\xe4\\xba\\x45\\x08\\x19\\x86\\x42\\x46\\x84\\x42\\x8f\\x46\\x5c\\xcf\\x85\\xe3\\x2d\\xfb\\x7f\\xa6\\x9d\\x9f\\x71\\x3c\\x33\\xf9\\xda\\x4a\\x3c\\x9f\\xd1\\x0a\\xf1\\x75\\x01\\x38\\xb4\\xad\\x1b\\xea\\x87\\x80\\x05\\x63\\x11\\x7d\\x0d\\x93\\xc7\\x6a\\xad\\x07\\x13\\x0b\\x8a\\x10\\xbb\\xb3\\xba\\xa6\\x47\\xc5\\x1e\\x54\\x84\\xf6\\xc9\\xfb\\xa8\\x27\\xd3\\xe9\\xb7\\x64\\x34\\x11\\x9f\\x60\\xde\\x2a\\x46\\x4f\\x88\\x5d\\xbe\\xee\\x51\\x9b\\x2e\\x59\\x2c\\x66\\x7b\\x68\\xc1\\x94\\xf7\\x0b\\xb6\\xec\\x8d\\x81\\xc5\\xcc\\x2b\\x98\\xdf\\x00\\xc7\\x01\\xb3\\xa7\\x05\\x8f\\xa8\\x9e\\x54\\x99\\x2b\\x25\\xbb\\x43\\xb9\\x27\\x8a\\x63\\x39\\xb6\\xc2\\x63\\x57\\xeb\\xd0\\x9a\\x76\\x52\\xd9\\x9c\\x5a\\xae\\xcb\\xe6\\xe4\\x3a\\x9d\\x9c\\xcb\\x66\\xd3\\x82\\x3a\\xa5\\x95\\x7b\\x5c\\x9d\\x82\\x2c\\x03\\x3d\\x1a\\x65\\x10\\x08\\xa2\\x12\\xfb\\x5f\\x46\\x5d\\x49\\xbc\\xdc\\x8c\\x27\\xec\\x4b\\x41\\xc9\\x0a\\x24\\x46\\xf0\\x07\\x3b\\x38\\x0c\\xc4\\xa6\\xe6\\xa3\\x40\\x70\\x44\\xb6\\x53\\x9b\\xe1\\x43\\x52\\x71\\x84\\xf9\\xce\\x4f\\x04\\xbe\\xa0\\x10\\xa1\\x82\\x1c\\x93\\x11\\xec\\x61\\xa3\\x0e\\xf5\\x9d\\x3f\\x16\\xf2\\x07\\x73\\xe7\\x30\\xcc\\xa2\\xc3\\x27\\x3a\\x5a\\x3a\\x82\\xda\\x59\\x13\\x9a\\xa8\\x95\\xfb\\x7b\\x7c\\xb9\\xb5\\x7a\\xeb\\xe0\\x85\\x31\\x3d\\xd3\\x8b\\x6d\\xdd\\xa5\\x21\\x8a\\x20\\xed\\xec\\xb9\\x2f\\xbe\\x7a\\x60\\xe6\\xca\\x8e\\xf3\\x3f\\x7d\\xff\\x68\\x55\\xdb\\x17\\xb2\\xab\\x46\\x0d\\x6a\\xd5\\xb5\\x14\\x08\\x36\\xd2\\xfa\\x68\\x4b\\xbf\\x89\\xf3\\xf3\\x26\\x2d\\xe9\\x73\\xee\\xcc\\x1b\\xfb\\x07\\x24\\x83\\x4b\\xa3\\x06\\xae\\x03\\x21\\x65\\x03\\xff\\x6c\\xbb\\x74\\x7f\\x30\\x28\\x81\\xe7\\x3e\\xce\\xcb\\xec\\x96\\x63\\x55\\x5a\\xde\\x0a\\xda\\x5a\\xbd\\xfe\\x72\\x94\\x6e\\x55\\xd5\\xf8\\x7d\\xe3\\x0a\\xf5\\x3a\\x47\\x76\\x42\\x5f\\xb3\\x3d\\xa4\\x6f\\xb1\\xc5\\x1a\\xa4\\xb3\\x87\\x84\\x85\\x4c\\x1c\\x56\\xb1\\xb0\\xbb\\x4a\\x99\\xd4\\x75\\x32\\xb2\\x89\\x44\\x88\\x8f\\xfd\\xb9\\x03\\x54\\x09\\x35\\xee\\x58\\x5e\\x57\\x9c\\x2e\\x10\\xea\\x49\\x94\\x11\\xb4\\xa1\\xe8\\xa0\\x36\\x9d\\x44\\x79\\xb2\\x20\\xbd\\xb9\\x53\\x9e\\x4c\\xaf\\x97\\xe5\\x75\\x62\\x8b\\xcd\\xc5\\x39\\x7c\\x8e\\x76\\x71\\x48\\x68\\x78\\xb1\\x27\\x54\\x69\\x02\\x62\\xc6\\x64\\x76\\x99\\x91\\xbd\\x60\\x26\\x8e\\x58\\x70\\x90\\xea\\x53\\xa4\\xc7\\x2e\\x3f\\x0b\\xd6\\xec\\x63\\xae\\x9a\\x08\\x2e\\x9e\\xb7\\x46\\xc2\\x13\\x72\\xe4\\x94\\x91\\xd2\\xbc\\x4f\\xf1\\x8f\\x1c\\xc6\\xc9\\x8a\\xff\\xc6\\x63\\x1f\\x8b\\x45\\xbd\\x36\\xed\\xdc\\x3a\\xc5\\xb5\\x6e\\x5d\\xf0\\xe9\\x7d\\x25\\xc5\\x7d\\x67\\x9b\\xb6\\x77\\xfe\\x74\\xda\\xd6\\x21\\x2d\\xb9\\x3b\\xbf\\x62\\x44\\xf1\\x72\\x37\\x18\\x36\\x2b\\x63\\xc8\\xa1\\x63\\x55\\x83\\x9d\\x0b\\xb2\\x07\\xf5\\xed\\xd9\\xaa\\x73\\x09\\xe2\\x2f\\x93\\x63\\xe9\\x3c\\x60\\x42\\x87\\x51\\x73\\x6f\\xf7\\x9b\\x52\\x60\\x30\\x38\\xfb\\x14\\xf6\\xe8\\xbd\\x74\\xe8\\x90\\x36\\x1d\\xbb\\xe4\\xeb\\x6e\\xc4\\x03\\x4f\\x33\\x7b\\xdf\\x35\\x4e\\xef\\xd5\\xb5\\xa6\\xbb\\x88\\x96\\x4c\\xeb\\xd7\\x63\\x7a\\xaf\\xb6\\xc1\\xea\\xf0\\xec\\xb8\\x01\\xa1\\xe1\\xa1\\xbd\\x7b\\x58\\x43\\x4d\\xa9\\x16\\x87\\x65\\x06\\xb6\\x35\\xb7\\xfa\\xf0\\x2a\\x2d\\x38\\x13\\x3c\\xc4\\x1f\\x4c\\x65\\x50\\x0a\\xff\\x01\\xaf\\x32\\x2c\\x81\\x26\\x61\\x53\\xfc\\x9e\\xdc\\xb3\\x50\\x95\\x0b\\xc6\\x66\\x87\\x0a\\x54\\x3b\\x95\\x9c\\xc6\\xd1\\xce\\xbd\\x63\\xcb\\x0e\\xe7\\x82\\x57\\xc3\\x09\\x58\\xe5\\x7f\\x6e\\x60\\xb0\\xca\\x98\\x61\\x57\\x4e\\x60\\xb0\\xca\\xe5\\xcb\\x3b\\x5a\\x31\\x58\\xe5\\xb5\\x7a\\x0c\\x56\\xf9\\x2b\\xfc\\x1e\\x4e\\xf4\\xe1\\xd7\\xa1\\xf1\\xc5\\x6b\\xdb\\x84\\xe9\\x08\\x62\\xd5\\x4a\\x69\\x08\\x65\\x94\\x19\\x09\\x18\\x4a\\xc0\\x6e\\x27\\x41\\x11\\x3e\\x28\\x14\\x01\\x4b\\xa0\\x50\\xe8\\x34\\xf4\\xbb\\x8e\\x1c\\x48\\xd1\\x39\\x75\\x87\\xc2\\xa7\\xd7\\x4d\\x4b\\x86\\xff\\xf7\\x43\\xd1\\x8e\\xa2\\xe1\\xe3\\x53\\x05\\xfb\\x05\\xc6\\xb4\\xd4\\x73\\x3b\\xa6\\xd0\\x5b\\xea\\xe9\\x09\\xde\\x35\\x4f\\xbe\\xe4\\x81\\x50\\x3a\\xef\\xbc\\x4c\\x6f\\xf3\\x66\\x8c\\x19\\x1c\\x0b\\x98\\x4b\\x14\\xf5\\x2c\\x2e\\x6e\\x28\\x95\\x88\\xac\\xcc\\x60\\x1b\\x32\\x79\\x63\\x43\\xca\\x3d\\xb6\\x58\\x5b\\x2c\\x25\\x12\\x45\\x12\\x24\\x5c\\xcd\\x73\\x48\\xb8\\x78\\xce\\xc4\\xfd\\x23\\x10\\x2e\\x66\\x0f\\x72\\x1e\\x48\\xba\\x9b\\x20\\x22\\x25\\x23\\x3d\\x4d\\xe5\\xb0\\x31\\x24\\x45\\xd1\\x0a\\xc0\\x5f\\x37\\xaf\\x0d\\x7d\\xf9\\x8f\\xcd\\x04\\x16\\x17\\xee\\x7a\\xb8\\xea\\xf5\\xcc\\x24\\x47\\x9b\\xf2\\x5e\\xbd\\x52\\x3a\\xb7\\xd3\\xd3\\x59\\x71\\xd1\\x86\\x6f\\xe1\\x4f\\x55\\x79\\xed\\x92\\x07\\xa4\\x67\\x97\\xe8\\xbe\\xbb\\xbb\\x13\\xcc\\x06\\xa2\\x05\\x7e\\x98\\x5c\\xd0\\x00\\xaf\\xdf\\xb9\\x2d\\x8f\\x4b\\x8b\\x0b\\x9a\\xb2\\x4d\\x32\\xb5\\x2f\\x68\\x05\\xc7\\x18\\xc3\\xc2\\x23\\x6d\\xb8\\x1f\\xbe\\x33\\x82\\x16\\xfd\\x40\\xf6\\x5b\\x9c\\xca\\xed\\xb1\\xc5\\xd9\\xe2\\x50\\x3f\\xa2\\xdc\\x1e\\x64\\x3a\\x1b\\x9e\\x3b\\x36\\x7b\\xa6\\x1f\\x19\\x9a\\x00\\x48\\x14\\x83\\x88\\xd7\\x37\\xf7\\x85\\xf4\\x03\\x8b\\x18\\xdc\\x11\\x2b\\x0d\\x7e\\x7f\\xed\\x2d\\x4d\\x06\\x70\\x7e\\x7b\\xed\\x62\\xcf\\x5d\\xdf\\x5c\\xc8\\xef\\x20\\x7b\\xf0\\xe2\\xd1\\x56\\xdd\\x33\\x52\\xdd\\x05\\x1d\\x40\\xbc\\xab\\xbd\\xb8\\xb2\\x1a\\x7a\\xcb\\x5d\\xed\\x52\\x3a\\x75\\x28\\xd4\\x5d\\x39\\x5f\\x54\\x01\\x8c\\xc0\\x74\\xfa\\xec\\x62\\x78\\xe7\\x83\\x51\\x74\\x96\\x23\\xbf\\x10\\x36\\xd6\\x9f\\xb4\\xd9\\x63\\xec\\xa1\\xb6\\x36\\x49\\x35\\x33\\xe1\\x35\\xab\\x3d\\xda\\x8e\\xe6\\xc2\\x7e\\x34\\x27\\x5f\\xe7\\x8a\\x90\\x59\\x61\\x74\\xc9\\x64\\x88\\xe7\\x32\\x46\\x00\\x70\\x44\\x24\\x49\\xc2\\xe1\\x01\\x98\\xd1\\x1c\\x34\\x18\\x73\\x01\\xc8\\x69\\x76\\xcd\\x84\\xf4\\x90\\x1b\\xbf\\x5d\\x59\\x2b\\x35\\xb4\\x2a\\x03\\x45\\x69\\x4b\\x3b\\xb6\\xe9\\x17\\x37\\xc5\\xde\\xca\\x92\\x1e\\xce\\xe5\\x37\\x4e\\xcf\\xfb\\x60\\xd8\\x55\\xfa\\x58\\x65\\xff\\xb8\\xb4\\xf1\\x09\\x99\\x05\\xbe\\x1c\\x64\\xd4\\x4e\\x34\\xe2\\x95\\x0e\\x57\\xbf\\x57\\x49\\x65\\x18\\xcc\\x4f\\xd0\\x23\\xb0\\x51\\x93\\xab\\xc9\\xf2\\x01\\x6a\\x90\\xb7\\x03\\xbe\\xcd\\x0c\\x6d\\x0e\\x60\\x87\\x06\\xde\\x0d\\x87\\x3d\\x38\\xf5\\xda\\x50\\xa5\\x6c\\x54\\x63\\xda\\x72\\xb6\\x3b\\xff\\xf6\\xc6\\xf7\\x91\\x7a\\x70\\x8d\\x99\\xfb\\x88\\x96\\x54\\x96\\xa3\\x31\\x21\\xfd\\x11\\x6c\\x23\\x38\\x1e\\x36\\x9c\\x43\\x6f\\xb4\\xcc\\xd1\\x9b\\xa5\\x2e\\xa9\\xba\\xdc\\x23\\x7d\\xb6\\x6b\\x58\\x2c\\x7d\\xc6\\x97\\x9a\\x6e\\xee\\x63\\x7a\\x73\\x17\\x99\\x16\\xf5\\xa7\\x71\\x77\\xaf\\xaf\\x95\\xa9\\x13\\xfb\\x83\\xa2\\x41\\x3b\\x02\\x14\\xad\\x7f\\xb6\\x2a\\x35\\xee\\x7c\\x97\\x5b\\xb8\\xf3\\x37\\x78\\xea\\xc0\\xd4\\x40\\x99\\x6a\\x44\\x1b\\xe1\\x01\\xf7\\x12\\x85\\x61\\x0c\\xed\\x98\\x36\\x35\\xe1\\x43\\x90\\x75\\x8e\\x21\\x84\\x72\\x35\\xb3\\xc3\\x4f\\xd7\\x3f\\x73\\x25\\x14\\x60\\xb6\\x44\\xb5\\x20\\xee\\x39\\x16\\xbd\\x31\\x54\\x2c\\x61\\xc7\\x36\\xa6\\x2d\\x2e\\x84\\x5f\\x70\\x3c\\x75\\xe4\\xdf\\x67\\x59\\xd6\\x61\\x52\\x1a\\xe1\\xd9\\xe0\\x66\\x0a\\x49\\x35\\x0c\\x58\\xca\\xa5\\x70\\xa5\\xb8\\x46\\x03\\xd5\\x8a\\x44\\x61\\xc8\\x0c\\x12\\xa5\\xc5\\x31\\x10\\xc7\\x4d\\x72\\x15\\x1e\\xca\\x6c\\x88\\x1d\\xe8\\x31\\xb4\\xf0\\xb4\\x78\\xf7\\x94\\x14\\xe8\\xf3\\x6f\\x2c\\x11\\x30\\x74\\x24\\xdf\\xb4\\x2a\\x1e\\x48\\x44\\xa5\\x69\\xce\\x6b\\xe3\\xb3\\x82\\xd2\\x35\\x34\\x9d\\x1a\\x1e\\x1c\\x62\\x0f\\xcb\\xcd\\xef\\x96\\x53\\x67\\x04\\x91\\x3b\\x60\\xdb\\x11\\x7b\\x0a\\xc7\\xdc\\x5f\\x3f\\x72\\xc0\\xe8\\x8f\\xd7\\x0d\\x1f\\xb6\\x31\\x32\\xb2\\xcf\\xca\\x0e\\x11\\x8e\\xb2\\x55\\x1d\\x60\\xa9\\x74\\xb1\\x20\\x76\\x50\\x2d\\x9b\\xd6\\xf8\\x13\\xa3\\x79\\x7a\\xf5\\xf7\\x93\\xdc\\x5e\\x78\\x1e\\x26\\x7a\\x4f\\x9d\\x00\\xed\\xc0\\xf5\\x3f\\xf7\\x1d\\x98\\xd0\\xff\\x1b\\x38\\x14\\x3e\\x9a\\x5c\\xfe\\x10\\xec\\xe4\\xfb\\x01\\x70\\x3f\\xd0\\x7c\\x93\\x52\\x41\\x54\\x2c\\x95\\xe4\\x32\\x45\\xb0\\x91\\x0e\\x65\\x88\\xd5\\x64\\x75\\x7b\\x4c\\x21\\x12\\x65\\xb1\\x47\\xa2\\x62\\x0d\\xc5\\xcd\\x09\\x70\\x81\\x00\\x43\\x1e\\x20\\x8b\\x64\\x7d\\xa8\\x49\\xa2\\x33\\xe3\\x8f\\x76\\xc1\\xd9\\x4c\\xda\\xbf\\x75\\x92\\x9e\\x59\\xf9\\xe6\\x9c\\xdb\\x95\\xaf\\xcf\\x79\\xaf\\x36\\x3a\\xb6\\x78\\x52\\x46\\x54\\xd4\\xcc\\x05\\x21\\xff\\xd0\\x37\\x86\\xfb\\x1e\\x2e\\x3f\\x0b\\x4a\\x1f\\x82\\xca\\x53\\xf0\\xed\\x41\\x45\\xfb\\xe1\\xcd\\xdb\\x43\\x7b\\x80\\x41\\x8d\\x4b\\x9e\\xef\\x1d\\xc1\\x0d\\x69\\xda\\xc1\\x6e\\xe1\\x76\\x13\\x1c\\x17\\x64\\xd3\\xda\\x2c\\xc1\\xca\\xe0\\x72\\x8f\\x5e\\xa3\\x64\\xe2\\xa2\\x23\\x19\\x24\\x21\\xc5\\x02\\x86\\x8f\\xb7\\xf2\\xc1\\xb8\\x04\\x8c\\x46\\x15\\xc5\\x83\\x98\\x45\\x11\\x04\\x8f\\x0c\\x7e\\xd1\\x5a\\x81\\xd0\\x97\\xfc\\x1b\\x45\\x90\\xa2\\x48\\xad\\x1d\\x63\\x0e\\xd0\\xb0\\x5b\\xe0\\xaf\\x3f\\x59\\x07\\xa6\\xa5\\x77\\x51\\x4c\\x9a\\x0b\\x94\\xbf\\x84\\x0e\\x70\\x3a\\x3b\\x29\\x6b\\x66\\x5d\\xf7\\x84\\x96\\x25\\x25\\x17\\xaa\\x4b\\x67\\xb6\\xf7\\xe4\\x0f\\x4a\\x2a\\x50\\x97\\xcc\\xee\\xc4\\x4c\\x80\\xc7\\x61\\x74\\x61\\xab\\xcc\\x8c\\xf8\\x88\\x5f\\x2e\\x01\\x0f\\x78\\xaf\\x5d\\x6c\\x6a\\x6a\\x6c\\xe4\\x2f\\x6f\\xfd\\x27\\x3f\\x2a\\x31\\x31\\x2a\\xed\\x5d\\xf8\\x68\\xf5\\xb7\\x5d\\x7a\\x24\\x46\\xa6\\xdc\\x04\\xd1\\xfc\\x7e\\x42\\x4c\\xd3\\x6a\\x76\\x0f\\x7b\\x04\\xcd\\xf9\\x18\\xdc\\x0f\\xab\\x39\\x48\\x1b\\xe4\\x46\\x6a\\x4f\\x6b\\x88\\x08\\x8b\\x62\\xb0\\x84\\xe4\\x70\\x7a\\xd9\\xdf\\xfb\\xa1\\x55\\x51\\x11\\x3e\\x11\\xae\\xf7\\x75\\x09\\xf5\\x28\\x43\\xc7\\x97\\xe6\\x34\\x86\\xab\\xf9\\xfe\\x44\\x09\\xe8\\x18\\x60\\xa6\\x9a\\x5c\\x43\\x9c\\x6d\\xa5\\x7b\\xb7\\xc1\\xaf\\x61\\x48\\x89\\xb3\\xc2\\xbc\\x7d\\xdf\\x6b\\x5b\\x43\\x7a\\xa7\\xa7\\xe5\\x48\\x40\\x7b\\xf4\\x4b\\xda\\x10\\x53\\xdd\\x6e\\xb0\\x02\\xc4\\x83\\x49\\x96\\x21\\x19\\xf1\\x9a\\x86\\xa3\\xf0\\x5d\\xb8\\x3c\\x34\\x3e\\xa3\\x42\\xf5\\xfe\\xab\\x7f\\xd8\\x92\\xda\\x64\\x27\\xe4\\x83\\xc7\\x3f\\x85\\x25\\x64\\x0f\\x73\\xc0\\x07\\x24\\xde\\xad\\xe9\\x07\\xae\\x40\\x78\\x97\\x4a\\xa5\\x72\\x91\\x1d\\xd4\\xc6\\x65\\x29\\x71\\xb9\\x3a\\xe7\\x76\\xce\\x2d\\xe8\\xd6\\x5a\\xef\\x4a\\x0e\\xd1\\x23\\x6d\\xc5\\xe8\\x63\\xc3\\x15\\xe1\\xe5\\x1e\\x89\\x22\\xb0\\xdb\\xc5\\xeb\\x6f\\xb4\\x7e\\xdf\\x4e\\x24\\x1b\\x8a\\x7c\\xfe\\x3f\\x1f\\x03\\xa1\\x92\\x00\\xff\\x26\\x97\\x2a\\xb8\\x65\\x8d\\x17\\x1f\\xc2\\x0b\\x9f\\xe5\\xe2\\x3b\\xe7\\x10\\x22\\x5b\\x9f\\xaf\\x49\\xc9\\x91\\x91\\x6c\\x51\\x8c\\x07\\xdd\\xc6\\x2c\\x8f\\x2c\\x4c\\x1e\\x37\\x75\\xd3\\xd3\\xda\\xda\\xbc\\x31\\xb5\\x73\\x97\\xaf\\x78\\xb8\\x2c\\xb9\\x6d\\x70\\x4f\\x71\\x92\\x36\\x75\\x60\\x8f\\xec\\xee\\x1d\\xb2\\xa6\\xb6\\x52\\xf7\\xc9\\x1e\\x74\\x7c\\x74\\x4c\\x94\\x36\\x4b\\x2f\\x32\\x2a\\x34\\xc1\\xc9\\xa3\\x86\\xa8\\xba\\x9b\\xe9\\xb8\\xce\\xf3\\x3b\\x17\\x0d\\xcf\\xe8\\x3f\\x27\\x7a\\x6e\\xc6\\xbd\\x45\\x6d\\x27\\xf5\\x28\\x9a\\xd6\\x8e\\x2b\\xb5\\x84\\xfd\\xd0\\x00\\x7f\\x83\\x61\\xb0\\xa9\\xb2\\xf2\\xf1\\x17\\x00\\x80\\xdb\\x80\\x0e\\xb3\\xac\\x33\\xda\\x56\\xfe\\x17\\x9e\\xe9\\xb5\\xbb\\xbe\\x67\\xc7\\x82\\x5e\\x7f\\x82\\x2d\\x9f\\x4d\\x5b\\x19\\x1a\\x44\\xbb\\xa6\\x25\\xc5\\x44\\xb7\\xa9\\xe8\\xb4\\x72\\x4e\\x6a\\x56\\xdb\\xa4\\xca\\xaa\\xba\\x33\\x49\\xd9\\x59\\xc9\\x98\\x67\\x32\\xc4\\x33\\x81\\x60\\x1d\\xf2\\x18\\x92\\xa8\\x0e\\x78\\xbf\\xa6\\x43\\x72\\x72\\xeb\\xf8\\xd6\\x49\\x49\\xad\\xe3\\x19\\x03\\x32\\xeb\\x42\\xe5\\x3d\\x90\\x75\\xc8\\x1a\\x54\\x61\\x21\\x4a\\x0c\\x72\\xac\\x34\\xb4\\xdc\\x25\\xe4\\x0f\\xcc\\xf8\\xa2\\x59\\x3c\\xdf\\xfc\\x35\\xaf\\x5a\\xec\\x0e\\x6a\\xc2\\x9d\\x42\\x9c\\x58\\xd8\\xcc\\x2f\\xe6\\x7f\\x31\\x8a\\xa5\\x86\\x8c\\xb7\\x9c\\x7a\\x6d\\xc2\\x07\\x4b\\x57\\xf6\\xaa\\x5e\\x31\\x7d\\xde\\x22\\xa0\\x3a\\x6f\\xb9\\x78\\x66\\x56\\xeb\\xb9\\xd1\\xc6\\xd1\\xd9\\x3d\\xe7\\x14\\xbc\\xc0\\xf3\\x66\\xa8\\x12\\xf1\\x26\\xb6\\x99\\x37\\x59\\xf7\\x16\\x22\\xde\\x14\\x4f\\x71\\xd1\\xaf\\xcd\\xae\\xa9\\x7d\\xff\\xea\\x5d\\x78\\xfe\\xe5\\x92\\x92\\x57\\x8f\\x3f\\x02\\x3d\\xcf\\xd5\\xc2\\xdb\\xf0\\x83\\x07\\xad\\xe3\\x5b\\x65\\x2f\\x03\\x2c\\xf3\\x2a\\xe1\\xc6\\xe0\\x02\\x3f\\x37\\x76\\x9d\\x4a\\xca\\x6e\\x9d\\xc8\\xef\\xef\\x66\\x23\\x7e\\x58\\x04\\xdf\\xa9\\x22\\x59\\x15\\x89\\xb5\\x7e\\x42\\x1f\\x02\\x23\\xf0\\x0e\\x6d\\x9b\\xe6\\x7c\\x0a\\xb2\\xff\\xc8\\xcd\\xd5\\x44\\xb2\\x6a\\xdf\\x3d\\x9d\\xf8\\x33\\x0f\\x5b\\xf3\\x99\\xc7\\x24\\xd8\\xcb\\x87\\x9d\\x83\\x74\\x86\\x52\\xc9\\xf1\\x7a\\x9a\\x65\\x39\\x17\\x47\\x95\\x7b\\x38\\xad\\x4f\\x67\\xdc\\xce\\x0d\\x00\\xb6\\x44\\x60\\xa8\\x1c\\x6d\\x24\\x4d\\xd0\\x84\\xfc\\x7b\\x5b\\xb4\\x5e\\x45\\x77\\x6c\\x97\\x34\\xfe\\x82\\xfb\\xf0\\xe9\\xbd\\x20\\xfb\\x63\\x50\\x84\\x21\\x74\\x86\\xad\\x79\\xaf\\x6a\\xb1\\xd2\\x7b\\x01\\x6c\\xd5\\x03\\xfa\\x0b\\xa0\\x01\\x2f\\xdc\\x86\\xc7\\xda\\x8d\\x9f\\xbf\\x13\\x9e\\xfe\\x16\\x6e\\x26\\xed\\xbf\\x88\\xec\\xc5\\x52\\xb6\\x2b\\x92\\xa4\\x18\\xdf\\x5c\\x06\\x44\\x22\\x15\\xb6\\x6c\\x80\\x9e\\xa4\\x4d\\x86\\xf8\\x8e\\x92\\x9a\\xd1\\x62\\xb4\\x3e\\xec\\x1e\\xff\\x79\\x8b\\x4d\\xcd\\x83\\xf7\\x80\\x25\\xc5\\x75\\xfb\\x96\\x03\\xeb\\xeb\\xfb\\x4f\\xbd\\xd6\\x77\\x24\\x9c\\x3e\\x75\\x62\\x9b\\x14\\x0c\\x5e\\xb4\\x43\\xfe\\xe1\\x99\\x8f\\x40\\xfa\\x91\\x43\\x1b\\x15\\x0a\\xf7\\x30\\xef\\xf7\\x2f\\x6c\\xd0\\x78\\xaf\\xa0\\x76\\x27\\x34\\x7d\\xce\\xbe\\xc4\\xdd\\x43\\x56\\xa0\\xc1\\x25\\x53\\xaa\\xe8\\xff\\xc7\\xdc\\x7f\\xc7\\x45\\x75\\x74\\x7f\\xe0\\xf8\\x9d\\xb9\\x77\\x3b\\x5b\\xd8\\x0a\\x2c\\x2c\\x2c\\x2b\\x02\\x4a\\x5f\\x60\\x05\\x14\\x56\\x05\\xbb\\x34\\x1b\\x6b\\x01\\x54\\xc4\\x8e\\x0d\\xc5\\x86\\x48\\xec\\xdd\\xa8\\xb1\\xb7\\xd8\\x63\\xd4\\x58\\x10\\x41\\xa3\\x46\\x63\\x4c\\x6c\\x29\\x9a\\xc4\\x44\\x93\\xc7\\x34\\x13\\x93\\x27\\xc5\\x94\\x27\\x4d\\x77\\xf8\\xcd\\xcc\\xbd\\xbb\\x2c\\x6a\\x9e\\xe7\\xf3\\xfa\\x7d\\xbf\\x7f\\x7c\\x63\\x84\\x45\\x76\\xef\\x9c\\x73\\xe6\\xcc\\x99\\x33\\x67\\xce\\x79\\x1f\\xa0\\xf0\\x13\\x8b\\xa4\\x52\\xad\\x94\\x89\\x17\\x40\\x54\\x24\\x11\\xac\\x48\\x42\\xd2\\x8e\\x23\\x1c\\x22\\xfa\\xd7\\xce\\x72\\x07\\xba\\xa2\\x63\\xf3\\x41\\x61\\x57\\x74\\xe4\\xe3\\x17\\x7f\\x40\\x0d\\x5d\\x41\\xf7\\x79\\xe8\\x44\\x57\\x90\\xf7\\xc1\\x8e\\x07\\xec\\xf3\\x1b\\x8b\\xd1\\xbf\\x4b\\x36\\x96\\xa2\\x14\\xf0\\xeb\\x90\\x8d\\xc5\\xc0\\x50\\xbc\\xa9\\x04\\xbc\\x8e\\x0c\\x7c\\xac\\x2e\\x86\\x9b\\x05\\x65\\xa2\\xfb\\xd8\\x56\\xa9\\xea\\x80\\x42\\xa1\\x11\\x79\\xfb\\x83\\x59\\x85\\x13\\x5b\\xaa\\xdd\\x4a\\x4f\\x19\\xf8\\x7c\\x07\\x26\\xa3\\x7d\\x8a\\xc8\\x34\\x6b\\x9b\\xd4\\xfe\\x4e\\x30\\x48\\x11\\xd9\\xce\\x1a\\x93\\x32\\x50\\xc4\\xa6\\xa6\\x84\\xd8\\x63\\xda\\xf5\\x4c\\x4d\\x0d\\x4e\\x8a\\xca\\xe8\\xcd\\x3f\\xb7\\x13\\x77\\x0d\\xdc\\x11\\x5d\\xc0\\x5e\\xa0\\xb6\\x5e\\xe1\\xe7\\xc7\\x69\\xe7\\x32\\xb4\\xdd\\x2b\\xff\\x6c\\x21\\x53\\x8a\\xdc\\xcf\\x38\\x68\\x7a\\x2c\\x29\\xfe\\x95\\x80\\xe9\\xa2\\xfe\\xd6\\xee\\x6d\\xf3\\xc6\\x26\\x94\\x07\\x8f\\x4e\\x2e\\x8e\\x1b\\x9b\\xb3\\x5b\\xc6\\x5d\\x0b\\x0e\\xea\\xdb\\xda\\xd4\\x36\\x64\\x55\\x98\\x3e\\x6e\\x7f\\xab\\xb6\\x64\\x6e\\xe2\\xb8\\xee\\x20\\x48\\x74\\x9d\\x74\\xcc\\x3d\\x01\\x21\\x6d\\xba\\xce\\xf7\\xb4\\xb5\\x09\\xf8\\xe5\\xc9\\xa9\\x0e\\x10\\x14\\xe1\\xe2\\xda\\x56\\x59\\x44\\x36\\xd1\\xf5\\xd3\\x46\\x53\\xef\\xbc\\xcc\\x6e\\xa6\\xa4\\x3a\\xde\\x2f\\x33\\xe2\\xcf\\x07\\xfe\\xd7\\x9e\\xb8\\x81\\xc1\\xea\\xc4\\x84\\xaa\\xa1\\x7a\\x57\\x2b\\xd1\\xf5\\x35\\x3d\\xc7\\xa5\\x8f\\x1a\\x7a\\x1a\\xef\\xae\\x15\\xa2\\x0c\\xf8\\x25\\x5e\\xeb\\x3a\\xd2\\x2d\\x5b\\x39\\x97\\x91\\x7b\\xfb\\xcf\\x36\\x2f\\x43\\x7a\\x9d\\x4b\\x96\\x21\\xbc\\x3a\\xf2\\x44\\xbf\\x61\\xf3\\xba\\x4e\\xdd\\x16\\x57\\xdb\\x01\\x70\\x7b\\x3b\\x55\\x4f\\x18\\xbe\\xaf\\x48\\x94\\x99\\xea\\xe0\\x0d\\x48\\xdb\\x2c\\x6c\\x40\\xa4\\x8f\\x23\\xd0\\x41\\xf6\\xae\\xe8\\x14\\xa6\\x45\\xc7\\xe3\\x5a\\x32\\x19\\x4c\\x0e\\x93\\xc7\\x8c\\x72\\xa6\\x74\\xb1\\x59\\x7a\\x66\\x76\\x0e\\xeb\\xd6\\x2d\\xa2\\x77\\x92\\x5a\\xee\\xf0\\x4b\\x4e\\xf6\\x4f\\x8b\\x12\\x31\\xb1\\xfa\\x40\\xd8\\xa6\\x8d\\x24\\xbe\\x67\\xe7\\xde\\x8e\\xb4\\xd8\\xc0\\xf8\\xf8\\xc0\\xd8\\x34\\x47\\xef\\xce\\x3d\\xa5\\xe6\\x8e\\xed\\x8d\\x66\\x4c\\x52\\xbc\\x6f\\xa7\\xcc\\xe6\\x3e\\x96\\xde\\xbe\\x96\\x3e\\xbd\\x2d\\xa9\\xc5\\xb1\\x85\\x1b\\x6c\\xd8\\x07\\x37\\xe8\\xbc\\xaf\\xc0\\x7f\\x7d\\xc5\\x3e\\xe3\\xdf\\x22\\xbc\\xaf\\xe0\\xe3\\xc9\\x93\\x47\\x7e\\xfc\\xb1\\x3f\\xfd\\xfa\\x78\\x05\\xfd\\x06\\x63\\xe9\\xb7\\xbf\\x17\\xd0\\x6f\\xf7\\xf8\\x7f\\x7b\\x9e\\x7e\\x73\\x07\\xd2\\x6f\\xec\\xa5\\x17\\x5e\\x20\\xad\\xab\\xc4\\xf4\\x1b\\xfc\\x91\\x7e\\xfb\\xfb\\x6b\\xfa\\x8d\\x6b\\xed\\xfb\\xbb\\xc7\\x9f\\xd1\\x6f\\xbf\\xd1\\xaf\\x64\\x3e\\xa5\\x8f\\xc7\\xa2\\x5a\\x76\\x87\\xe8\\x9b\\xa7\\x64\\x38\\xcc\\x99\\x2c\\x95\\x39\\x3b\\xc7\\xc6\\xc7\\x47\\x05\\xe2\\xdd\\xcb\\x16\\x11\\x61\\xc9\\xeb\\xed\\x48\\x4f\\x4a\\x97\\xfb\\xcb\\x3a\\xe7\\x44\\x99\\x83\\x2d\\x69\\xbd\\xd3\\x7b\\xf8\\xfb\\xf7\\x48\\xef\\x9d\\x66\\x09\\x36\\x47\\xe5\\x74\\x96\\xf9\\x89\\xd4\\x22\\x7e\\xa5\\xc5\\x3f\\xd1\\x6b\\x54\\x73\\xd9\\xf3\\xd5\\xf3\\x97\\xd6\\x21\\x08\\x91\\x1e\\x5b\\x8a\\x3f\\xed\\xf8\\x2f\\x36\\xd8\\x0d\\xd4\\xe3\\x48\\x31\\xda\\x53\\xec\\x11\\x44\\x17\\x0c\\xad\\x6d\\x06\\x1b\\x4b\\x72\\x1a\\x25\\xad\\x23\\x25\\x91\\x00\\x6b\\x0a\\x76\\xa7\\x4c\\x0e\\x13\\x4b\\xf4\\x0d\\x1f\\xf4\\x23\\x1d\\x04\\x9a\\x81\\x40\\x98\\x98\\x24\\x39\\x41\\xc1\\x65\\x9d\\x7a\\xd2\\x2f\\xee\\x31\\x33\\xb3\\x87\\x44\\x17\\x15\\x6c\\xe1\\x0e\\x09\\x2f\\x3a\\xf4\\x4f\\x88\\x97\\x77\\x55\\xa7\\xa5\\x54\\x3c\\xce\\xc1\\x2f\\x65\\x5d\\xf0\\xcb\\x09\\x7e\\xfd\\x13\\xfb\\x24\\x76\\x1d\\x97\\x9e\\x52\\xc1\\xde\\xea\\x9f\\xd0\\x37\\xb1\\x6b\\x45\\x5a\\xca\\xf8\\x0c\\xfa\\x89\\xfc\\xad\\xdc\\xbf\\x84\\x17\\xee\\x60\\xfa\\xcc\\x64\\xfa\\x15\\xfd\\x31\\x00\\xbf\\xb1\\xcb\\xf8\\x76\\xf8\\x33\\x12\\xfa\\x99\\xf1\\xe4\\x99\\x99\\xfc\\xe3\\xc9\\x93\\x16\\xf7\\x4f\\x8c\\x23\\x23\\xa5\\x8e\\xa7\\xf7\\x36\\xa8\\x9c\\xd4\\xcf\\x60\\xff\\xd8\\x8a\\xfd\\x19\\x43\\xa8\\x69\\x6e\\xb0\\xd6\\x29\\xd2\\x30\\x62\\xc0\\x2a\\x15\\x78\\x02\\x84\\x8e\\x1e\\x4c\\x80\\xe6\\x32\\x1f\\x9a\\x0d\\x12\\x8e\\x18\\x9e\\x62\\x1d\\x96\\x94\\xeb\\x90\\x64\\x44\\x19\\x20\\x99\\x19\\x0e\\xbb\\x84\\xdf\\xfd\\xed\\xb0\\xb9\\x80\\xe7\\xab\\x9d\\xe8\\xe6\\xa1\\x3b\\xe3\\x0e\\x9a\\x23\\xdd\\xc1\\xe0\\x97\\xb1\\xcb\\x7a\\x72\\x7b\\x60\\xdf\\xc1\\xa3\\xc7\\xea\\xf7\\x64\\x78\\x6a\\x7a\\x1e\\x8d\\x72\\x37\\x82\\xcd\\xec\\xb8\\x79\\xb3\\x1e\\xad\\x17\\xed\\x8d\\x75\\xf5\\x4e\\x0c\\x71\\xb6\\xeb\\xd6\\x1b\\x3d\\xc6\\x34\\xe6\\xa3\\x2b\\xdc\\x7a\\xd1\\x43\\xde\\x87\\x77\\x1a\\x43\\x4c\\x73\\xcd\\x5a\\x27\\xab\\x52\\xe0\\x93\\xbe\\xc6\\x20\\x53\\x28\\xf0\\x41\\x43\\x61\\x10\\x88\\xcc\\xf2\\x12\\x49\\xdb\\xf3\\xb5\\x24\\x11\\x7f\\x8b\\xa0\\xa7\\x54\\x3b\\x05\\xc7\\xb5\\x43\\xf0\\xee\\x14\\x7d\\x0c\\xdc\\xfa\\xc6\\x89\\x23\\xe8\\xcb\\x43\\x57\\x66\\x08\\x29\\x94\\xe0\\xcd\\x0d\\x3b\\xc5\\x7b\\xd8\\x03\\xe7\\x93\\xf6\\x74\\x27\\xe9\\x94\\xc5\\xa7\\xd8\\x11\\x8f\\x47\\xa2\\x28\\xe0\\xf0\\xa4\\x54\\x4e\\x9b\\x5e\\xd3\\x2a\\x22\\x6e\\xd3\\x9b\\xe8\\xb5\\x67\\xdc\\x7d\\xa9\\x25\\x52\\x49\\xa9\\xcb\\x4f\\x2a\\x15\\xc9\\x35\\xa6\\x12\\x97\\x46\\x23\\x92\\xb3\\xa2\\x00\\x52\\xf6\\xf6\\x4f\\x77\\x5f\\xbe\\xf7\\x5e\\x76\\x89\\x4d\\x62\\x25\\x87\\x0b\\xfe\\xee\\x8b\\x9b\\x2b\\xdc\\x7b\\x6d\\x0f\\xde\\x1e\\x75\\x3e\\xea\\xcd\\xe0\\x37\\xdb\\x90\\xcb\\xb0\\x4b\\xde\\x9b\\x2f\\xf0\\x1e\\xb9\\xf7\\xba\\xbf\\xf6\\xc6\\x8d\\xb5\\x1f\\xee\\x39\\x23\\x5c\\x7c\\xf1\\xb8\\x23\\x22\\x6c\\x07\\xb5\\x3c\\x4d\\x62\\x7f\\xad\\x7f\\x81\\x8b\\xd5\\x6a\\xd5\\x80\\xde\\xac\\x4b\\xd4\\x80\\x51\\xeb\\x0a\\x5c\\x6a\\xc3\\x3f\\xd1\\xc4\\x93\\x22\\x94\\x1b\\x50\\xea\\x74\\x7c\\xa9\\x58\\x5b\\x00\\x8a\\x6d\\x75\\xb6\\xaa\\xa0\\xaa\\x31\\xc0\\xaf\\xee\\x54\\xd3\\x57\\x28\\xeb\\xcb\\x99\\x41\\x3d\\x7e\\xd9\\xb0\\x62\\xd4\\x94\\x5f\\x45\\xba\\xc6\\xc6\\x79\\xee\\xcf\\xaa\\x6a\\x8e\\xbf\\xc5\\xad\\x9e\\xf7\\x68\\x5c\\xc5\\xf4\\xee\\x39\\xde\\xfb\\xc1\\x53\\x34\\x17\\x3e\\x88\\xc4\\x5f\\x75\\x58\\xb1\\x44\\x46\\x18\\xc8\\xc9\\x03\\x02\\x8d\\xac\\x42\\xa7\\x93\\x2b\\x14\\x5a\\x72\\xa2\\x95\\x6b\\x9b\\xe1\\x92\\xf0\\x4a\\xd5\\xd2\\x14\\x62\\x0a\\xe3\\x41\\x7a\\x77\\x62\\x42\\x48\\x51\\x12\\x11\\x0f\\x2d\\xbe\\x20\\x9d\\x3c\\x53\\xb9\\x53\\x1b\\x8a\\xe7\\x94\\x2c\\xdc\\x87\\xbe\\x29\\x3b\\x0f\\xc4\\xe0\\xfa\\x3b\\x9f\\x5e\\x42\\x5f\\xfe\\x3e\\x12\\x55\\xf5\\xef\\x5f\\x93\\xdb\\x8e\\x7d\\xf4\\xea\\xa6\\xb9\\xa5\\xcf\\x75\\x71\\x23\\x51\\xce\\xa1\\xd3\\x37\\xdc\\x3f\\xc4\\x4e\\x1b\\x3a\\xae\\x1f\\xbd\\x07\\x10\\x72\\x17\\xb1\\x84\\xe2\\x98\\x4c\\x67\\x38\\x1b\\x2d\\x91\\x32\\x31\\x7a\\x9d\\xae\\x6d\\x8c\\x34\\x5a\\x24\\x32\\x99\\x42\\x49\\x61\\xbd\\x5a\\x0d\\x45\\x7e\\xc1\\xa2\\xc8\\x66\\x08\\x52\\x7c\\xd6\\x16\\xa2\\x7e\\x9e\\xde\\x9f\\xd8\\x41\\xa1\\xc4\\x85\\x47\\xda\\x48\\x7c\\x1b\\x6b\\x9a\\x17\\xba\\xdf\\x5f\\x0f\\xe9\\x79\\xcb\\xe3\\x16\\x53\\x8a\\xb5\\xec\\xfa\\xdc\\xa9\\x3d\\x4b\\xab\\xfe\\x48\\x10\\x69\\x4a\\x4e\\xfe\\x6d\\x96\\xbf\\xa2\\x15\\x73\\x5d\\x5e\\x99\\x0d\\x92\\xc7\\x16\\xb8\\x46\\x0f\\x5d\\x34\\xbc\\xfd\\xb8\\x29\\x03\\xb2\\x8a\\xab\\x7a\\xc6\\x75\\xaa\\x1d\\x33\\x70\\x44\\x6a\\x83\\x7c\\x30\\x0a\\x14\\xb1\\x8b\\x8b\\xf4\\x35\\xa1\\xa3\\x4b\\xd0\\xd1\\x4d\\x68\\x11\\xf8\\x6b\\xdc\\xe4\\x7e\\xc7\\xd0\\x5f\\x03\\x67\\x54\\xb6\\xa9\\x19\\x34\\xaa\\x1f\\xb0\\xf2\\xfb\\xdf\\x0c\\x06\\x88\\x8a\\xf0\\x7a\\xa6\\x35\\x5d\\x12\\xae\\xc4\\x05\\x24\\x2c\\x51\\xbc\\xac\\xcb\\x42\\x3b\\x34\\x22\\x40\\xae\\x24\\xa7\\x6e\\xb8\\xbb\\xed\\x03\\x2c\\x2e\\x51\\x0e\\x28\\x43\\xcc\\xa3\\x22\\x51\\x36\\xff\\xf9\\x65\\xe4\\xee\\x01\\xeb\\x8d\\x84\\xf4\\x44\\xe2\\x18\\x28\\xc9\\x77\\x41\\x35\\xe3\\x81\\xf6\\xa0\\x05\\xce\\xf4\\x56\\x14\\x64\\xd5\\xdd\\x84\\x13\\x72\\x77\\x8f\\x76\\xef\\xe2\\xd2\\xc1\\x1a\\xf7\\x67\\xf8\\xb3\\x9d\\x84\\xbe\\x57\\x4a\\xe2\\x57\\xc9\\x94\\x8c\\xb2\\xd4\\x25\\xc6\\x72\\x56\\x68\\xf9\\xaa\\xd4\\x96\\x80\\x04\\x24\\x3f\\x8a\\xe6\\x7d\\xf2\\xb9\\x9f\\xb6\\x92\\x97\\xa6\\xd2\\x7e\\x58\\x03\\xc0\\xc6\\x10\\x34\\xaa\\xf2\\x7c\\xe5\\x4b\\xf0\\x5b\\x38\\x78\\x2b\\x72\\xae\\x75\\x1f\\x84\\xfd\\x29\\x6d\\x4b\\x85\\xfc\\x7a\\xfa\\x7c\\x31\\x45\\x18\\x66\\x15\\x0a\\xa5\\xd4\\xa0\\x84\\x04\\x76\\xe2\\xc9\\xe7\\x93\\x8c\\x7b\\xa2\\xc2\\x34\\xbb\\x81\\xcf\\xbc\\x4f\\xbb\\x16\\x74\\xad\\xac\\xae\\x6c\\x66\\xd0\\xcc\\xbe\\x5c\\xfa\\x4a\\x74\\x67\\xbe\\x1b\\x41\\x38\\x1f\\x08\\xbe\\x43\\x3a\\xd6\\x87\\xcb\\x98\\xfe\\x30\\x72\\xbe\\x66\\xc9\\xb5\\x35\\xcb\\x06\\x87\\x84\\x84\\x95\\xb8\\x42\\x58\\x95\\x3c\\x58\\xee\\x8f\\xcf\\x46\\xc1\\x04\\x5c\\x48\\x00\\x0e\\xf1\\xad\\x8e\\x10\\xce\\x44\\xb4\\x4f\\x5f\\xa4\\xe7\\xe8\\xa3\\xe1\\xb3\\x2b\\x68\\xc3\\xaf\\x57\\xba\\x6c\\xed\\xda\\x70\\x66\\x17\\xfa\\xf0\\x8d\\x7d\\xaf\\x5a\\xce\\x04\\x8c\\x1a\\x3e\\xff\\xb5\\x89\\x5f\\x64\\x2d\\xea\\xb3\\xc2\\xd3\\x08\\x8c\\x9d\\xdc\\x3a\\xea\\xde\\x1d\\xf4\\x3d\\xea\\xfd\\xed\\x82\\x4d\\x96\\x92\\x6e\\x27\\xc0\\xb8\\xfb\\x20\\x35\\x3c\\xd6\\x1d\\xed\\xc1\\x3a\\x4c\\x43\\x03\\xd8\\xdf\\x30\\xff\\x16\\x72\\x93\\x1d\\xec\\x9f\\xef\\x0a\\x0a\\x0e\\x36\\x18\\x8d\\x81\\xf9\\x2e\\xa3\\x5a\\xca\\x19\\x0c\\xb4\\x87\\x60\\xb0\\x57\\x49\\x7d\\xc8\\x8b\\xd0\\xfb\\x12\\xd6\\x5c\\x65\\x8d\\x25\\x44\\xce\\xa4\\xec\\x6f\\xeb\\xd1\\x6f\\x2f\\x1e\\x3b\\xa9\\x3d\\xa9\\x1e\\x33\\xe2\\x95\\xab\\xeb\\x6b\\x2b\\xc7\\xe5\\xe3\\xe9\\x1d\\x6a\\x46\\x7d\\x7a\\xcf\\xac\\x3c\\x7f\\xef\\x7c\\x1d\\xfa\\x66\\xcb\\xf2\\x55\\xca\\x01\\xdd\\x7e\\xbc\\x35\\x6f\\x53\\x18\\x1a\\xce\\xa5\\x2f\\x43\\x95\\xb6\\xf7\\x48\\x5d\\x2d\\x1a\\x45\\xeb\\x6a\\x23\\x98\\x34\\x67\\xa8\\x1a\\x94\\xba\\xb4\\xd6\\xa1\\x2e\\x2e\\x54\\xad\\x55\\x6b\\xe5\\x96\\x50\\x67\\xa8\\xb9\\xc4\\x15\\xaa\\x35\\x6a\\xe4\\x5e\\xc0\\x0d\\xbb\\xe0\\xdc\\x7b\\xa0\\x31\\xdb\\x36\\xd7\\x07\\x3c\\xab\\xb0\\xd6\\x4e\\xef\\xfb\\x68\\x91\\xc0\\xe1\\x69\\xf2\\x3e\\x1c\\x2d\\xaf\\x4d\\x36\\x54\\x1c\\xee\\xae\\xeb\\xdd\\x89\\x94\\xd7\\x4e\\xea\\xc0\\x97\\xd7\\x2e\\xee\\x5a\\x51\\x97\\x27\\x9e\\x2d\\xee\\xa3\\x9d\\x06\\x4b\\x80\\x91\\x25\\x45\\xb6\\x1d\\x87\\xf8\\x16\\xd9\\x0e\\x1b\\x29\\x14\\xd9\\xbe\\xeb\\x7e\\x0b\\x6c\\x84\\x33\\x58\\x3d\\x4b\\x2a\\x6d\\x41\\xd3\\x46\\xcc\\x43\\x0c\\x96\\x6b\\x04\\xd3\\x19\\xeb\\xbc\\xc4\\x8a\\xad\\x64\\x2b\\xa0\\x26\\x88\\x4c\\x4e\\x83\\x4b\\x12\\xa6\\x56\\xcb\\x2d\\x61\\x61\\xd8\\x6a\\x86\\x19\\x30\\x23\\x6a\\x46\\x6c\\xf0\\x32\\x82\\x37\\x1c\\xef\\xbd\\xad\\xc7\\x14\\xf8\\x72\\xe3\\xa9\\x76\\x00\\x59\\xe0\\x49\\x6e\\x8e\\x0e\\x31\\x65\\xc8\\x68\\xc9\\x43\\x44\\xcc\\xa6\\xe3\\xe5\\x71\\x5d\\x48\\xc9\\x43\\xe2\\xd8\\x01\\xaf\\x1f\\x47\\x0f\\x06\\x25\\x1e\\xec\\x39\\x6a\\x77\\x5e\\xc0\\x26\\xbf\\x2e\\xa6\\x21\\xe0\\x33\\x68\\x96\\x92\\xb2\\x07\\x47\\x31\\xc8\\xf9\\x69\\xdc\\x60\\x7f\\x52\\xf6\\xe0\\x3f\\x64\\xec\\x4f\\xa4\\xea\\x01\\xd9\\x48\\xfe\\x2a\\x14\\xc9\\x82\\x20\\xa9\\x7c\\x00\\x4c\\x10\\xd6\\x61\\x52\\x33\\x9c\\xc2\\xe4\\x38\\x5b\\xd9\\xf8\\x9a\\x61\\x51\\x74\\x60\\x88\\x46\\x13\\x1d\\x12\\x2d\\x2d\\x75\\x45\\xeb\\xf8\\x9a\\xe1\\x44\\x7b\\x9c\\x7d\\xa8\\x2b\\x8e\\x40\\xb6\\x5e\\x6a\\xc6\\x2a\\x7c\\x46\\x1d\\x04\\x75\\x69\\x3c\\x6a\\xf3\\xac\\x7a\\x61\\xfe\\x66\\x88\\x93\\x98\\x68\\x47\\x66\\x3e\\x31\\x1f\\x3c\\x80\\xaf\\xdf\\x89\\xaf\\x8b\\xd8\\x5d\\x7b\\xe8\\xfd\\xc3\\x75\\x5d\\x83\\xbb\\x9e\\x7f\\xbf\\xa6\\x92\\x94\\x0e\\x0f\\x03\\xad\\x6e\\xbe\\xfa\\xe1\\x89\\x03\\xb3\\x56\\xa3\\x9f\\x3e\\x87\\x9b\\x56\\x4e\\xce\\x0d\\xea\\xd3\\xbf\\xb0\\xa0\\x8f\\x53\\xb4\\xab\\xae\\xf7\\xaa\\xda\\x17\\x17\\x95\\x95\\xac\\x5b\\x52\\xdd\\xb7\\xf4\\x8f\\x0e\\x7b\\x8e\\xed\\x59\\xbc\\xf0\\x5c\\xa4\\x6e\\xf9\\xd8\\xc3\\xee\\xe0\\xce\\x41\\x9b\\xf6\\x86\\x2f\\xb2\\x95\\x0a\\xb5\\x1d\\x98\\xc7\\x1c\\x2e\\x97\\x49\\x66\\xba\\x38\\x23\\xc2\\x94\\x7e\\x04\\x75\\x86\\x4b\\x36\\x04\\x2a\\x95\\xc9\\x81\\xc9\\xe2\\x7c\\x57\\xb2\\x31\\x2e\\xa1\\x6d\\x42\\x81\\xab\\x6d\\x70\\xa0\\x96\\x74\\x5a\\x21\\xe1\\x6a\\x9f\\x80\\xd8\\x3f\\x14\\x7b\\x18\\xad\\x3c\\x67\\xcf\\xa8\\xf5\\xf0\\x5c\\x81\\x99\\x9a\\x39\\x4c\\x89\\x04\\x3f\\x5c\\x7e\\x43\\x7f\\xc0\\x1f\\x70\\x9b\\xd6\\xbf\\x76\\x20\\xe8\\xcd\\x8f\\xee\\xce\\x79\\x3e\\x68\\x7b\\xd2\\x8f\\x17\\x8f\\x5e\\x75\\x6d\\x2e\\x04\\xe3\\x57\\xbd\\x71\\x84\\x5b\\xf3\\xfc\\xc8\\xdc\\xa0\\xfc\\xdc\\xc2\\x9e\\x90\\x94\\x80\\xec\\x99\\x54\\xda\\x67\\xc8\\x92\\x51\\x25\\x0b\\xba\\x76\\xd7\\x2f\\x9e\\xf9\\xdc\\x94\\x5e\\xb3\\xf2\\xa4\\x50\\x51\\x33\\x68\\x41\\x63\\xc8\\xc8\\x2d\\x3b\\xad\\xf3\\xc3\\x87\\x4e\\xe8\\xcc\\xd7\\x2b\\x63\\x7d\\x24\\x18\\x93\\x46\\x12\\x61\\x32\\x6a\\xa1\\xbe\\xc4\\xe5\\xaf\\xc1\\x87\\x21\\x95\\x86\\xdc\\xe5\\x6b\\xb4\\x22\\x1e\\xd0\\xc1\\x47\\xfd\\x78\\x8c\\x5b\\x9f\\x92\\x65\\xaa\\x68\\x80\\x2f\\xc7\\xc8\\x39\\x3f\\xf9\\xcc\\x71\\x90\\x7d\\x0d\\xcd\\x27\\x75\\xcb\\x96\\x09\\x78\\x9d\\xb4\\x41\\xb7\\x2c\\x93\\x23\\x9e\\x28\\x5e\\xbe\\x40\\x97\\xc5\\x22\\xbf\\x20\\xbe\\xa9\\x30\\x60\\x26\\xa1\\x51\\xb4\\x26\\x84\\xa7\\xc3\\x00\\xf5\\xf9\\xcd\\x74\\x90\\x9c\\x19\\x31\\x9f\\xfd\\xf6\\x2c\\x3a\\x52\\x9f\\x58\\xbe\\x2d\\xcb\\x42\\xca\\x0a\\x6f\\xe6\\x62\\xfd\\x0e\\xbf\\x13\\x3d\\x35\\xce\\xb7\\x32\\x64\\xa2\\x1d\\x25\\x12\\x7d\\x06\\x6e\\x8d\\x0e\\xb5\\xf6\\xd6\\x6e\\x13\\x59\\x04\\x92\\x3a\\x1e\\xad\\xda\\x60\\x82\\x58\\x7d\\x39\\xb5\\x5e\\x02\\x45\\x7a\\x28\\x12\\x41\\x3d\\xeb\\x1f\\xa8\\x95\\x0b\\x08\\x17\\x9e\\x0e\\xe5\\xfe\\x69\\x49\\xfc\\x8a\\x14\\x84\\x82\\xc9\\x48\\x6d\\x2e\\xe6\\xa6\\x59\\xee\\xbc\\x5c\\x52\\xdb\\xf5\\x9d\\xd2\\xa5\\x7d\\x27\\x90\\x73\\x95\\x17\\x4e\\xc5\\xbf\\xd0\\x7f\\xb2\\xa6\\x74\\x6f\\x9f\\xc4\\x8b\\x46\\x0b\\x0e\\xa3\\x4d\\x71\\xbd\\x9a\\xab\\xbb\\x3b\\xa0\\xd3\\x60\\xa6\\xc6\\x2b\\x1f\\xa1\\x66\\x26\\x80\\x74\\x2c\\xd0\\x1b\\xa1\\x11\\xab\\xa1\\xbf\\x04\\x53\\xa6\\x23\\x94\\xe9\\x58\\x4d\\x80\\x41\\x2e\\x24\\x08\\x7a\\x29\\xb3\\x27\\x79\\xd3\\xc6\\x04\\xba\\x84\\xda\\x19\\x05\\x10\\xc8\\xc2\\x62\\x4a\\x8b\\x70\\x8e\\x6e\\xd7\\xbd\\x84\\x17\\x15\\xa9\\xa0\\xc9\\x1e\\x9d\\x15\\x97\\xc0\\x4b\\x4a\\x0a\\x7a\\xa0\\x2f\\xdb\\x8e\\xe7\\xc5\\x45\\x0a\\x69\\xd0\\x6e\\xd0\\x49\\x4a\\x6a\\x69\\xbc\\xb2\\x0a\\x22\\x1d\\xb8\\xe4\\x24\\xdb\\x0a\\x40\\x6c\\x91\\xc5\\xd0\\xa0\\x0d\\x92\\x43\\x39\\xe4\\xf4\\x41\\x5a\\x25\\xc7\\x36\\x77\\xc3\\xe3\\x5b\\x86\\x09\\xf9\\x81\\x5e\\xf7\\xd3\\xb7\\xf0\\x9d\\x9f\\x39\\xd1\\x9e\\xe0\\x3d\\xad\\xce\\xb7\\x3a\\x15\\x7c\\x2a\\xc9\\x47\\x93\\x48\\x05\\x3c\\xd5\\x22\\xf6\\xaf\\xb5\\x8d\\x8d\\x6b\\x51\\x93\\x6f\\x19\\x3c\\xaf\\x45\\x82\\x8c\\x44\\xd7\\x30\\x4d\\xc9\\x4e\\x33\\x29\\xd1\\x20\\xb4\\xc8\\x55\\xfa\\x20\\x03\\x21\\xae\\x00\\x13\\x07\\x39\\x95\\x9a\\x63\\x7c\\x30\\xd2\\x3c\\x39\\x76\\x69\\x4f\\x50\\xf5\\x64\\x99\\xd1\\xa0\\x77\\x83\\xde\\x0d\\xae\\x0b\\xfe\\x2c\\xe8\\xb3\\x4a\\xaf\\x5e\\x11\\x61\\xf1\\x4a\\x55\\x3f\\x6f\\xcd\\x9a\\x79\\xee\\x83\\x1e\\xc5\\x22\\x92\\xe2\\x95\\x8a\\xe2\\x93\\x88\\xda\\xd3\\xda\\xfc\\x28\\xa7\\x01\\x12\\x64\\x0a\\xb9\\x16\\xab\\xb5\\x9f\\x56\\x2b\\x62\\x19\\x3d\\xd9\\xf6\\x85\\x4b\\x9c\\x66\\x3a\\x74\\x56\\x5f\\x0d\\xe2\\x6b\\x7f\\x6c\\xdb\\xc0\\x89\\xc9\\x07\\xf7\\x36\\xcb\\xe3\\x7d\\x74\\x25\\xa8\\x2c\\x70\\xda\\xf9\\x07\\xbf\\x11\\xe5\\x51\\xbf\\xee\\x23\\x0e\\x45\\x20\\x74\\xef\\xe0\\x84\\x9c\\x43\\xe2\\xc7\\xbc\\x4e\\x73\\xf4\\xc8\\xf8\\xd8\\x2f\\x57\\x29\\x74\\x78\\x7c\\xa5\\xce\\x20\\xc1\\xae\\x96\\x80\\x66\\xfe\\xd4\\xf8\\x49\\xde\\x5d\\x44\\x10\\x80\\xce\\xba\\x17\\xdc\\x1d\\x1c\\xd7\\x79\\x70\\x9f\\xd7\\x5f\\x45\\xdf\\x56\\xc6\\xfc\\xf8\\x56\\xbd\\x26\\x27\\x64\\x70\\xdd\\x29\\xf4\\x31\\x51\\x94\\x88\\x92\\x91\\x78\\x8b\\x58\\x18\\xea\\x3e\\x0a\\x7e\\x16\\xab\\x90\\x8d\\x7d\\x85\\xf7\\x21\\x46\\xd1\\x9a\\x7f\\x35\\x1e\\x5b\\xaf\\x62\\x48\\x67\\x5b\\x89\\x84\\x91\\x89\\x58\\x4e\\xcb\\x28\\xbc\\x87\\x3d\\x7e\\x68\\xba\\xb0\\x5b\\x74\\xb2\\xa5\\xd5\\x14\\x2c\\x9c\\xe1\\xfe\\x9d\\xef\\x63\\x0b\\xe5\\x15\\xe7\\xbf\\x59\\x84\\x0d\\x4a\\x73\\x0f\\xdb\\x47\\x83\\x88\\x19\\xe1\\x6b\\x8c\\xf0\\x58\\xb5\\xb4\\x7e\\x03\\xfb\\x53\\x52\\x39\\xf0\\xc3\\xe7\\x0d\\x00\\x14\\x2c\\x00\\x72\\x56\\xad\\x56\\x19\\xe4\\xa2\\x02\\x97\\xdc\\xe0\\x33\\x20\\x5f\\xa7\\x4b\\xc6\\x6c\\x2e\\x75\\x69\\x51\\xe0\\xd4\\x38\\x03\\x9b\\x8d\\xa5\\xbe\\x45\\x4e\\x7c\\x01\\x87\\xa7\\xd0\\x89\\xd4\\xfc\\x30\\xa2\\x31\\x82\\x0f\\xaa\\xe3\\xb9\\xe3\\x64\\x14\\xd7\\x40\\xe6\\xd7\\x8c\\x37\\x6d\\xf7\\xa4\\xf8\\x35\\xf3\\x66\\xc5\\x2a\\x06\\x8f\\xcf\\x40\\x51\\x42\\x87\\xde\\x8f\\x2a\\xc0\\x71\\xcb\\xaf\\x0f\\x9a\\x19\\xdb\\xfa\\x68\\x00\\x7e\\x7e\\x04\\x7e\\x7e\\x2a\\xf5\\x41\\x63\\x9c\\x01\\x40\\xee\\xe5\\xc8\\x8f\\x55\\xaa\\xa5\\x7e\\x06\\x16\\x6f\\x3f\\xac\\xda\\x77\\x10\\x21\\x63\\x99\\x8e\\x60\\xf5\\x94\\x6b\\xbd\\xec\\x02\\xc7\\x5c\\xe0\\x8e\\x19\\xdd\\x39\\x55\\x57\\x8a\\xf2\\xbc\\xdc\\x2c\\x7b\\x5c\\xe0\\x61\\x05\\xfb\\x25\\xff\\xc6\\xfb\\xdc\\x0b\\x98\\x97\\x70\\xb2\\x9e\\x45\\x81\\x25\\x2e\\x56\\x24\\x62\\x00\\xb0\\x92\\x76\\xa1\\x6a\\x86\\x8f\\x9a\\x86\\x52\\x2c\\x9d\\x67\\x78\\xa4\\xd8\\xeb\\x64\\x9b\\x93\\x51\\x59\\x01\\xf3\\x83\\xe2\\x4e\\xf3\\xea\\x6b\\x65\\x0d\\x40\\x0c\\x87\\x0f\\x1a\\x56\\x3c\\x76\\xd2\\xbc\\x07\\xdb\\xbe\\xd5\\xef\\x13\\x27\\x67\\x64\\xcf\\x19\\x10\\x37\\xd4\\x62\\x8f\\x6d\\xb7\\x62\\xcf\\x03\\x74\\xff\\x81\\x28\\x07\\xc5\\xe6\\x5e\\x68\\x44\\x1f\\xa1\\xd8\\xdf\\x80\\xc5\\x92\\x3f\\x60\\xe6\\xc7\\x20\\xe5\\x8d\\x1f\\xd4\\xc6\\x36\\xee\\x68\\xda\\x21\\xd4\\x4b\\x67\\x31\\x97\\x81\\xfd\\xd2\\xf4\\x3a\\x95\\x82\\x51\\x50\\xc0\\x57\\x95\\x4b\\x11\\x2c\\x32\\xe5\\x0b\\x34\\x93\\x8e\\x4f\\x27\\x5d\\x40\\x6d\\x16\\x4a\\xfa\\x3c\\x74\\x32\\x5e\\x5c\\x32\\x42\\x90\\x40\\x6f\\x33\\xb9\\x14\\x25\\x9b\\xa7\\xf5\\x16\\x1c\\x3e\\x7e\\x40\\xd9\\xb4\\x19\\xbf\\xdc\\xe3\\x29\\xed\\x33\\xa3\\xf3\\x84\\xfe\\x83\\x7b\\xee\\xa9\\x43\\xf7\\xeb\\xb8\\x0c\\xf7\\x7b\\xe9\\x5b\\x36\\xa3\\x63\\xe8\\x05\\x9e\\xca\\x1f\\x8f\\x9c\\xcd\\x44\\x35\\xec\\x8e\\xc7\\x43\\xc9\\xd9\\xb3\\x8f\\x80\\x6f\\x15\\x83\\x4f\\xa1\\xf8\\x2c\\x2c\\x32\\x87\\xc7\\x96\\xb8\\x92\\xc3\\xc3\\x25\\x4a\\xa5\\x96\\x54\\xb4\\xb7\\x09\\x94\\x60\\xe1\\x42\\x89\\x0f\\x6e\\xb3\\x97\\xbe\\x38\\x72\\xb8\\xa3\\x80\\x69\\x62\\x01\\xd9\\x52\\x48\\xda\\x80\\x1e\\xb4\\x59\\x01\\x3d\\x98\\xe0\\x78\\xd3\\xa8\\x30\\x5f\\x3b\\x61\\xa2\\x37\\x1f\\xdc\\x8a\\x81\\x23\\x3a\\x0c\\x68\\x33\\x6d\\x17\\x1a\\xb4\\x17\\xb4\\x3a\\x3f\\xb3\\xc7\\xe8\\x84\\xee\\x53\\x4e\\x57\\x2e\\x7a\\x21\\xa2\\x30\\x31\\x65\\xd2\\xd9\\x29\\xc3\\x26\\xec\\x5a\\x15\\x9e\\xd8\\xb1\\xc7\\xb6\\xd4\\xd2\\xac\\xd0\\xb0\\x91\\x53\\x5b\\x47\\xb5\\x0f\\x0a\\x71\\x80\\x1f\\xb1\\x95\\xd9\\xf9\\x71\\xea\\xfc\\xf0\\x33\\x68\\x63\\xc3\\xd1\\x3a\\xff\\x8c\\x77\\x2a\\x0f\\x81\\xe4\\xbd\\xe7\\xb6\\x9e\\x43\\x0b\\xa6\\x69\\x62\\xd8\\xa2\\xda\\xef\\x66\\x15\\xed\\x89\\xaf\\x02\\x99\\xdb\\x07\\x0d\\xe7\\xef\\xa5\\xc8\\xdd\\x7d\\x3e\\xd7\\x8b\\x69\\xc3\\x38\\x98\\xf4\\x13\\x5c\\x8a\\x35\\x8e\\x4c\\x82\\xc9\\x95\\x62\\xb5\\x8a\\x95\\x1a\\xad\\x12\\x3b\\x42\\x4a\\x4d\\x54\\xa0\\x38\\xb0\\xc0\\x05\\xc5\\x46\\x1f\\x46\\x85\\x4c\\x4c\\x21\\xf5\\x30\\xc2\\xe7\\x6a\\x22\\xb5\\x05\\xab\\x8e\\xb8\\xe6\\x1e\\x1a\\x50\\x62\\xc2\\x8c\\xf2\\xc7\\x5a\\x9e\\x57\\xae\\x5d\\xfe\\xd8\\x41\\x3d\\x8a\\x66\\x5f\\xb8\\xb5\\xd2\\xbd\\xbb\\x30\\xc3\\xd5\\xba\\x6d\\xd1\\xa6\\x11\\xcf\\xcd\\xe8\\x62\\x8d\\x2c\\xd9\\x33\\x6c\\xc8\\x98\\x69\\x93\\xe2\\x3b\\xa5\\x8f\\x6c\\x65\\x69\\xdb\\x3d\\x3e\\xd0\\x94\\x3b\\xd2\\xe6\\x88\\x88\\xf8\\xe4\\xad\\x0b\\xa0\\x6b\\x9d\\xb9\\x46\\xbf\\x06\\xfd\\xb0\\x64\\xdd\\x16\\x36\\x71\\xd7\\x80\\x45\\xbf\\xad\\xda\\xba\\x64\\x3d\\xfa\\x75\\x04\\x1b\\x09\\x3e\\xeb\\x92\\x3f\\xea\\x74\\xdf\\x2e\\x73\\xc2\\xbb\\x92\\x8e\\xf1\\x80\\x99\\x82\\x75\\x8c\\xcc\\x61\\x04\\xf1\\x03\\xb8\\x50\\x2e\\x54\\x12\\x1c\\x1c\\x4e\\x60\\xc8\\x55\\x1a\\x85\\x66\\xa8\\x4b\\x61\\xc0\\x8b\\xbd\\xd4\\x25\\x11\\xee\\x71\\x2f\\xf9\\x4c\\x23\\xc9\\x4f\\x20\\xd7\\x88\\xd6\\x24\\x9d\\x09\\x8a\\x7c\\x5c\\xb8\\x0e\\x20\\xf2\\xc9\\x1b\\x05\\x90\\x01\\x14\\x37\\xf7\\xaf\\x39\\x8f\\x7e\\x84\\x1b\\x57\\x4d\\xe9\\x15\\xd4\\xa7\\x5f\\x61\\x01\\x78\\xfd\\xea\\x8b\\xc0\\x71\\xaf\\xf9\\x76\\x01\\xaf\\xd0\\xcd\\x20\\xa8\\x23\\x3a\\xdf\\x76\\xf0\\xe6\\xfd\\xc4\\x2b\\x9d\\x18\\x6e\\x51\\x00\\xf1\\x77\\xc0\\x1f\\x2c\\xff\\xc0\\x73\\xd7\\x40\\x68\\x9e\\x28\\x60\\xf5\\x47\\x33\\xa9\\xce\\xe0\\x48\\x63\\x58\\x78\\x48\\x78\\x81\\x2b\\x24\\x58\\x2f\\xd5\\x4b\\x49\\x8b\\xfa\\x82\\x67\\xb4\\xa8\\xa7\\xd4\\x7a\\x91\\x61\\x9e\\xdd\\xa1\\x1e\\x2f\\x5f\\xa3\\x8f\\xaf\\x9d\\x92\\x8c\\x5d\\xf4\\xa7\\x9a\\xd5\\xc7\\xde\\x5f\\xcd\\x3d\\xbf\\xa6\\x3c\\x37\\x30\\x3f\\xaf\\xb0\\x07\\xdb\\x70\\xf1\\x99\\x1d\\xeb\\xe7\\x9f\\x34\\x58\\x7a\\xae\\xdf\\x8e\\x5d\\xcf\\xd2\\x71\\x29\\x5a\\xc9\\x6d\\x4c\\xf3\\x35\\xec\\x7b\\x86\\xd0\\xfc\\x58\\xab\\x53\\xc3\\x89\\x19\\xa9\\x4c\\x4a\\xcc\\xa6\\x18\\x94\\xb8\\xc4\\x5a\\x1f\\xdc\\x1a\\xde\\x48\\x0b\\x06\\x9a\\x34\\xa4\\xcc\\xbe\\xb2\\xbc\\xe2\\x58\\xde\\xa6\\x07\\x28\\xc7\\xc2\\x25\\x5b\\xb0\\x71\\xf8\\x83\\xec\\x03\\x04\\x94\\x8b\\xaf\\x03\\xc5\\x7b\\x41\\x1d\\xcd\\x81\\xc5\\xcf\\x95\\xc8\\x58\\x05\\xad\\xf0\\x52\\xcb\\xb8\\x02\\x97\\xcc\\xf0\\xc4\\x73\\xa9\\xa5\\x14\\x1e\\xfd\\x3d\\xfb\\x56\\x30\\x9a\\xb6\\xad\\x72\\xf4\\xee\\xbc\\x05\\x42\\x59\\xe8\\x6d\\x62\\xf1\\x49\\x69\\xe8\\xd3\\x7d\\x81\\x01\\x73\\x04\\xcb\\xfc\\x21\\xed\\x5b\\x67\\x74\\xca\\xa5\\xd0\\x8f\\x55\\xab\\xa0\\x01\\x04\\xf3\\x1d\\xf4\\x84\\x56\\x51\\xfc\\x29\\x93\\xc2\\xcb\\x00\\xc8\\xd4\\xf5\\xf9\\xf9\\xea\\x02\\x56\\xa2\\xd6\\xe5\\x1a\\xc0\\x96\\x2b\\xee\\xe1\\xa4\\x36\\x80\\x4b\\x77\\xf7\\xd2\\x26\\xee\\x8c\\x5e\\xd7\\x0a\\xd6\\xf3\\x35\\xba\\x55\\x78\\x9c\\x2e\\x34\\x7e\\x85\\xe9\\x67\\x25\\x52\\xd2\\x42\\x85\\x84\\xf8\\x94\\x72\\x3e\\xbc\\xd2\\x22\\x51\\x54\\xb0\\xf4\\x0e\\x2b\\xc5\\xaf\\x61\\x7b\\x82\\xf6\\x16\\x54\\x36\\xf9\\xd5\\xc9\\xa8\\xdc\\x02\\xd2\\xd1\\xaf\\xa4\\x75\\xca\\xbf\\x6f\\xc0\\xcf\\x36\\x92\\x4e\\x29\\x1b\\xe1\\x08\\xf7\\x36\\x38\\x9c\\x8c\\xd1\\x45\\xa0\\x5d\\x47\\xc6\\x50\\x4b\\xb5\\x72\\x35\\x19\\x08\\x8b\\x49\\x6a\\x10\\x05\\xfb\\xf4\\x74\\x22\\x6c\\x44\\x03\\xcf\\x18\\x3c\\x37\\xc4\\x3b\\x81\\x7d\\x40\\xa6\\x19\\x5d\\x6c\\x57\\xd7\\x0e\\x5d\\x34\\x83\\xcc\\x9f\\xaf\\x11\\xb6\\x3a\\xd9\\x31\\x57\\x4b\\xd1\\xe7\\x20\\x74\\xa9\\xc0\\xd5\\xb2\\xfe\\xb0\\x9e\\xda\\xed\\x33\\xc2\\x5c\\xab\\x49\\xed\\x35\\xc3\\xca\\x59\\x19\\x50\\xb1\\x7e\\x5a\\x89\\x4c\\xc6\\x79\\x33\\xf5\\xf9\\x88\\x2a\\xb9\\x9c\\x92\\xf1\\xcc\\xe0\\x59\\x91\\x01\\xfc\\xbf\\x1d\\xee\\x04\\x47\\x6f\\xb8\\xdf\\x05\\xe2\\xc5\\x78\\xff\\x4f\\x41\\x7f\\xa1\\xe0\\x1b\\x70\\x04\\xba\\x7a\\x83\\xcd\\x86\\xc0\\x3d\\xdb\\x7d\\x8f\\x9e\\x26\\x3a\\xb8\\x5f\\x87\\x17\\xe0\\x7c\\x7e\\x9f\\xf8\\x0f\\xd6\\x81\\xf3\\xd4\\x1f\\x88\\x76\\xea\\x19\\x56\\x26\\x66\\xc5\\x9c\\x12\\x9f\\xae\\x49\\x18\\x52\\xc2\\xf1\\x00\\xb2\\xde\\x53\\xb5\\x80\\x1d\\xc0\\x8f\\x45\\x32\\x13\\xf8\\xb3\\x04\\xcc\\x47\\x23\\x2f\\x42\\x05\\xfa\\xf8\\xcd\\x3b\\x60\\xf6\\x15\\xa4\\xfc\\xb1\\x0c\\x7b\\x04\\x91\\xe0\\x55\\x94\\x0d\\x63\\xa0\\x0a\\x0d\\x02\\x7b\\xdd\\xbf\\xa1\\x7e\\xb4\\xa8\\x93\\xaf\\xaf\\x12\\xb0\\x7e\\xa8\\xbf\\x03\\x39\\x25\\x2b\\x17\\x4b\\xc4\\xd8\\x2b\\x60\\xd5\\x0a\\x4e\\x41\\x40\\x7f\\xbc\\xdd\\xd3\\xe8\\x57\\xa2\\x7e\\x14\\xf6\\x47\\x40\\xa0\\x6b\\x86\\xfe\\x69\\x7a\\x80\\x90\\x05\\xbe\\x6e\\x41\\xe8\\x0a\\x58\\xec\\x01\\x00\\xa2\\x7d\\xb8\\xff\\xa0\\x10\\x40\\x78\\xac\\xfe\\x98\\xbf\\xed\\x94\\x3f\\x3c\\x96\\x42\\x29\\x56\\xe3\\x5d\\x9a\\xf4\\xd3\\x54\\x4b\\x39\\x25\\xd6\\x73\\xa5\\xe1\\xe9\\xb1\\x74\\x9e\\x41\\xf8\\xaa\\x5e\\xeb\\x24\\x58\\x6f\\x46\\x4d\\xdb\\xc1\\x25\\x4f\\x69\\xef\\x57\\xa7\\x50\\x13\\x97\\xbe\\xfc\\xf1\\x07\\x9e\\x5a\\x55\\xf6\\x08\\xe5\\x6b\\x3e\\x1e\\xeb\\x6d\\xea\\xeb\\xe3\\xb9\\xd3\\xb0\\x24\\xcc\\x2c\\x0b\\x08\\x0a\\x32\\x94\\xb8\\x82\\xb4\\x3a\\x19\\xcb\\x34\\x0b\\x32\\x5e\\x80\\x1d\\x6a\\x09\\xca\\x1f\\xe1\\x71\\xaf\\xd8\\x91\\xbb\\x0f\\x64\\xbc\\xbd\\x4a\\x5e\\x71\\x6e\\x8c\\xb4\\xff\\x84\\x29\\x80\\x5d\\x71\\xee\\x9b\\xe5\\x13\\x8e\\xe5\\x6f\\x22\\xf8\\x43\\x3b\\xc6\\xc5\\xa6\\x10\\xfc\\xa1\\xc8\\xb0\\xec\\xc1\\x89\\xf0\\x43\\x1f\\xdf\\xee\\x65\\x3c\\xfe\\x48\\x5a\\xc7\\x45\\xc7\\xcf\\x27\\xc0\\x64\\x7a\\x99\\x3a\\x90\\x61\\x8c\\x05\\x2e\\xc6\\x1b\\x8d\\xb7\\x7b\\xdc\\x2c\\xf1\\xb3\\x1a\\x1f\\x10\\x02\\xe0\\x67\\x83\\xfe\\xda\\xb5\\x66\\xb8\\x2c\\xbf\\x2e\\x97\\x1b\\xd0\\xa7\\x5b\\x43\\x56\\x59\\x5d\\xe3\\x1a\\xbc\\xda\\xc1\\xcd\\x41\\x0b\\x0a\\x23\\x62\\xc0\\x16\\x54\\x61\\xd0\\xb5\\xcf\\x0c\\xd7\\x42\\x46\\x28\\xd6\\xe5\\xf9\\x17\\xf0\\x96\\x42\\x98\\xb6\\xa4\\x2a\\x58\\x2f\\x2a\\x71\\x99\\xf4\\x06\\x4e\\x6f\\x30\\xe8\\x39\\xd6\\x2f\\x44\\x1b\\xe4\\xc7\\xc3\\x2e\\x79\\x0e\\x5e\\xc2\\xca\\xa4\\x69\\xd1\\x4f\\xf7\\xce\\xf6\\xc0\\x30\\x2d\\x1b\\x1f\\x3f\\x2b\\xd6\\xdf\\x2b\\x0d\\x76\\xe8\\xac\\x92\\xf2\\xd5\\x02\\x1a\\x53\\xa8\\xe6\\xb7\\x6f\\x7d\\xe5\\x01\\x7e\\x41\\x46\\xbf\\x10\\x1e\\x94\\x89\\xaf\\xb7\\x26\\xf2\\x08\\x26\\x18\\x25\\x7a\\x7f\\xa3\\x88\\x74\\x0b\\x14\\x89\\x75\\x22\\xb1\\x58\\xa4\\x63\\x55\\x8a\\x60\\xb5\\x8a\\xaa\\x77\\x0b\\x82\\x3c\\xcd\\x14\\xec\\x02\\x09\\xe4\\x64\\x4a\\x08\\xf4\\x16\\x61\\x37\\xe4\\x72\\x2f\\x65\\x4c\\x4c\\x9b\\x32\\xa8\\xac\\xee\\x56\\xdd\\xa0\\x31\\xa3\\xdb\\x4c\\x6c\\x1d\\x11\\x4f\\x84\\x45\\x6a\\xb1\\x0d\\xba\\x99\\x20\\x01\\x7d\\xa4\\x0d\\xe2\\x0b\\xb2\\xa3\\x02\\xef\\x5e\\x16\\xf1\\x22\\x13\\xb0\\xbd\\xe6\\x61\\xf9\\x98\\x98\\x20\\xa7\\x92\\xd5\\xd0\\x58\\xa6\\xc1\\xc8\\xca\\x0d\\x5a\\x01\\x8d\\xca\\x27\\x6a\\xf9\\x44\\x31\\x18\\x5e\\x6b\\x3b\\x77\\xef\\xea\\xe8\\x95\\x42\\xda\\x96\\x5d\\x2b\\xce\\x01\\xf1\\x39\\x76\\xa4\\xcd\\xb4\\x73\\x7c\\x4c\\xb2\\xfb\\x3a\\x0c\\x23\\x02\\xd0\\x86\\xba\\xdb\\x88\\x72\\x84\\xba\\xae\\xee\\xb4\\xc6\\xaf\\x27\\xf5\\x45\\x2c\\xd8\\x17\\xf9\\x37\\xde\\xab\\x5b\\x31\\xb1\\x4c\\x7b\\xa7\\xa5\\x55\\x2b\\x83\\x52\\xc9\\x1a\\x82\\xa5\\xa4\\x29\\x43\\x94\\x56\\xcb\\x1a\\x0c\\x11\\x25\\x2e\\x03\\xc7\\x62\\x47\\x96\\x6d\\x09\\x22\\xfe\\x44\\x65\\x48\\x04\\x9f\\xe1\\x93\\xec\\xe0\\x2f\\x6d\\xc8\\x0d\\xb0\\x90\\x5f\\xa8\\x06\\xde\\x7a\\x47\\x96\\x54\\x8b\\x10\\xea\\x39\\xe7\\xa8\\xcf\\x57\\xbf\\xf5\\x06\\xd0\\x94\\x8d\\x4c\\xd8\\x16\\xdf\\xab\\x07\\x48\\xfd\\xea\\xdc\\x05\\x8b\\xe6\\xf1\\x6f\\xaa\\xbc\\x8d\\xa5\\xeb\\x3a\\x57\\xae\\xac\\x4f\\x87\\x5d\\x55\\x3d\\x3e\\xaa\\x9e\\xf0\\xee\\x47\\xfd\\x47\\x8e\\x28\\xcd\\x1f\\xd6\\x2f\\xa9\\xa7\\x0c\\x24\\x83\\xb4\\x0f\\xdf\\x9d\\xb9\\x29\\xbf\\xa4\\xe7\\xb8\\x13\\x7d\\xfb\\xb3\\x2b\\x3e\\xfb\\x6d\\x68\\xef\\x31\\xaf\\xd2\\x9e\\x84\\x98\\x8f\\xd3\\x14\\x6f\\x3c\\x86\\xf0\\x21\\x95\\x5a\\x0c\\x06\\x85\\x85\\xf1\\x37\\xfb\\xe7\\xbb\\x62\\xcc\\x66\\x85\\xc5\\x12\\x4d\\xfa\\x53\\x2a\\x44\\xcd\\x6d\\x3d\\x9f\\xcd\\x07\\xf0\\xd6\\x66\\xf2\\x88\\x39\\x58\\x03\\x05\\x7e\\x32\\x3c\\x0d\\xaf\\x25\\x91\\x9e\\x09\\x00\\x1f\\xa8\\xc7\\x8d\\x1c\\xbd\\x3a\\xe2\\x85\\xe7\\xd1\\x99\\xba\\x53\\xaa\\xb0\\x8f\\x12\\xf6\\xc7\\x8f\\x12\\x67\\x02\\xe3\\x9b\\x47\\x1b\\x42\\x76\\x8a\\xfa\\xcc\\x98\\x7a\\xc8\\x06\\xfe\\xe8\\xd5\\x71\\x66\\x75\\x71\\xb7\\x58\\xbc\\x01\\xd6\\xe5\\x14\\x9e\\xec\\x32\\xb6\\x5f\\xe2\\x80\\x4f\\x1f\\x36\\x1c\\x2d\\x5f\\xb2\\x34\\x21\\x7a\\xd4\\xa2\\x57\\x36\\xd1\\x79\\x40\\xd7\\xe8\\x3c\\x44\\x32\\x09\\x4c\\x27\\xa7\\x35\\x32\\x52\\xac\\xd1\\x04\\x88\\xc4\\xce\\x50\\x85\\x01\\x9b\\xbe\\xb6\\x06\\x83\\x38\\x20\\x20\\xaa\\xc4\\x15\\xc0\\x89\\x5b\\xe1\\x99\\x10\\xeb\\x3c\\x1d\\x93\\x7c\\x78\\xe0\\x23\\xb5\\xde\\xd9\\xf0\\x76\\x10\\xfc\\x3f\\x4e\\xc8\\xe0\\x57\\x27\\xa7\\x2d\\x4c\\xfb\\xb0\\xf6\\x7f\\x4d\\xc9\\xf8\\xf1\\x4a\\x74\\x07\\xd8\\x34\\xee\\x4d\\xff\\x7b\\x62\\x48\\xaf\\xc8\\xab\\x74\\x5e\\x5a\\x33\\xf1\\x84\\x2f\\xa9\\x54\\x15\\x10\\x60\\x55\\xaa\\x9c\\x8c\\xde\\xa2\\xcf\\x77\\xc5\\x5b\\x2c\\x2a\\xab\\x35\\x26\\xdf\\x65\\xd5\\xa8\\xf0\\x01\\x53\\xa1\\x32\\xfe\\x0f\\xbe\\x9a\\x67\\x47\\x2c\\xf2\\xf0\\xf7\\x7f\\x9a\\xa0\\x1a\\xf4\\x53\\xda\\x82\\xb4\\xba\\x2a\\xe5\\x7f\\x9f\\xa3\\x6f\\x4c\\xe8\\x13\\xd0\\x5a\\x7f\\x7b\\x7e\\x97\\x3e\\xcf\\x98\\xa8\\xa7\\x71\\x6c\\x79\\xac\\x4a\\xf1\\x7d\\x6d\\x6b\\xf6\\x32\\xcd\\xa1\\x79\\x04\\xb4\\x3c\\xa6\\x61\\x58\\x33\\x26\\x29\\xc5\\xe6\\x11\\x3d\\xc4\\xef\\xf9\\xda\\xfb\\x1e\\x9a\\x67\\x13\\xde\\x9c\\x67\\xd3\\x1e\\x0d\\xa0\\xf1\\x20\\x2b\\xe9\\x1c\\x4f\\xb6\\x06\\x26\\x28\\xc8\\x14\\x12\\xc0\\x2a\\x24\\x26\\x89\\x0a\\xef\\x81\\x26\\x9f\\xbb\\x0c\\xbb\\xc7\\x24\\xf0\\xfd\\x4b\\xbd\\x97\\x05\\xe4\\x14\\x63\\xe5\\xeb\\x33\\x84\\xb0\\x10\\x3c\\xfe\\xde\\x4f\\x87\\xd0\\xb5\\xfa\\x57\\xde\\x0f\\x6e\\x34\\xcd\\x9e\\x70\\xf5\\x97\\x9f\\x9b\\x98\\xdc\\x69\\xe4\\xd0\\xec\\x09\\x33\\xda\\x4b\\xe0\\x67\\xea\\x6f\\x2f\\xbc\\x83\\x1a\\x1a\\xd7\\xae\\xb6\\x0c\\xc9\\x03\\xd1\\x8f\\x5e\\x3a\\x40\\x01\\xb3\\xf8\\x60\\x63\\x7a\\x61\\x73\\x1c\\x37\\x8a\\xf6\\xc9\\x8d\\x72\\x1a\\x02\\x74\\x05\\x2e\\x6b\\x40\\x80\\x21\\xe4\\x99\\x77\\x19\\x1e\\xf2\\x9e\\xbc\\xc8\\x88\\x03\\x14\\x41\\xdf\\xde\\x1c\\x1d\\xb1\\x00\\x4e\\xb6\\x1e\\xfd\\xbe\\x5b\\xb8\\xcd\\x38\\xfa\\x96\\x6b\\xcf\\xb8\\xb9\\x43\\xea\\x6e\\xd6\\x79\\x23\\x25\\x63\\xe3\\xce\\x7c\\x78\\xb6\\x1e\\x3d\\xd8\\x48\\x6f\\x34\\x7e\\x7a\\xb7\\x7c\\x65\\x6f\\x14\\xd6\\x1c\\x31\\x99\\x15\\xa1\\xbb\\xcd\\xfb\\x2b\\xeb\\x50\\x39\\x77\\x0e\\xcb\\x2f\\x80\\x89\\x24\\xf4\\xe1\\x95\\xa2\\xe5\\x51\\x1c\\x15\\x32\\xb1\\xac\\xc4\\x65\\x24\\x2b\\xe6\\xb2\\x4f\\xf0\\xfc\\x99\\x50\\x8e\\xfc\\xe5\\x33\\x7b\\x1f\\xbd\\x3e\\xbe\\x6a\\xff\\xd1\\x05\\xe9\\x41\\x16\\x9d\\x4d\\x80\\x73\\xdc\\xf2\\xd5\\x4b\\xe4\\x5e\\x7c\\x01\\x85\\x74\\x5c\\x86\\xb6\\x2d\\x6b\\x86\\x74\\xe4\\xaf\\xc3\\x31\\x0d\\x2f\\xa2\\x2b\\xdc\\x22\\x8a\\xf5\\x8e\\x69\\xd0\\x61\\x2f\\x42\\xa7\\xf6\\x53\\xc9\\x54\\xd8\\xab\\x90\\x19\\xa1\\xa1\\xd0\\x05\\x05\\xe7\\xf9\\x72\\x73\\x0f\\x58\\xe2\\x36\\xb7\\x40\\xc9\\xe1\\xa9\\x80\\x75\\x57\\xe6\\x34\\xa2\\x25\\x6b\\x67\\x8d\\x9e\\xd5\\x27\\x3e\\x26\\x30\\x30\\xba\\xdd\\xa0\\x71\\x7d\\xc6\\xc2\\xb7\\x4f\\x1c\\x44\\x5f\\x60\\x9f\\xc6\\xc1\\x9e\\x42\\xd9\\xe8\\xe6\\xd6\\x1c\\x65\\xad\\x6c\\x32\\xd0\\x23\\x90\\x43\\xae\\xbc\\xe9\\x3c\\x91\\xfa\\x89\\x37\\xe9\\x5e\\x12\\xe9\\xd4\\xd3\\x93\\x80\\x98\\x95\\x72\\xac\\xbf\\x92\\x55\\xea\\x09\\x5c\\xdf\\x13\\x6a\\xc4\\xcb\\xc1\\x13\\x31\\x82\\x4c\\xb3\\x2e\\xe9\\xd8\\x59\\xbe\\x91\\xa3\\xab\\x5d\\xd0\\xc5\\x9f\\x85\\xdb\\xb0\\x8d\\x97\\xd2\\x7d\\x62\\x48\\x0f\\xd1\\x46\\xb4\\x94\\xde\\x82\\x01\\x23\\xc9\\xbc\\x04\\x4c\\x36\\xa6\\x61\\x3a\\x95\\x43\\xac\\x33\\x80\\xd1\\xcb\\xf5\\xd8\\xe5\\xd0\\x07\\x2b\\xa5\\x05\\xae\\x78\\x25\\x50\\x2a\\xe5\\x6a\\x85\\x5a\\x6e\\x10\\xfc\\xf0\\x21\\x3e\\x61\\x05\\x13\\x55\\x14\\x07\\x0f\\x8d\\x45\\x09\\x12\\x53\\x82\\xfe\\x82\\xa5\\xa3\\xaa\\xb7\\x85\\x17\\xa2\\xc0\\x52\\xbc\\xb5\\xba\\xc0\\x37\\xae\\xba\\xcb\\x31\\xe8\\x87\\x4b\\xc7\\x4f\\x88\\xe7\\x0e\\xec\\x72\\xf4\\x14\\xd8\\x47\\xc2\\x30\\x34\\xc2\\x24\\xfa\\x1c\\xfd\\xb5\\x60\\x03\\x8d\\x9d\\x95\\x0b\\xb1\\x33\\xec\\xf3\\x50\\x1f\\x59\\x26\\x56\\x48\\x58\\xa8\\x2c\\x71\\x41\\x7a\\xbd\\x75\\xd9\\xee\\x8b\\x92\\xc1\\x87\\xae\\x3c\\x81\\x33\\x00\\x5f\\xba\\x53\\xdb\\x22\\x70\\x46\\xb2\\x22\\x50\\x39\\xd8\\xec\\xc3\\x37\\x9e\\x75\\xea\\x47\\x5e\\xe1\\x6a\\xfe\\x6b\\xdc\\xac\\xf0\\x7f\\xc4\\xcd\\x80\\x37\\x6e\\xf6\\x09\\x65\\xed\\xc4\\x19\\x92\\xdf\\xb0\\xb2\\x94\\x70\\xeb\\x09\\x9c\\xd1\\x84\\x06\\x21\\xda\\xe4\\xeb\\x4f\\x46\\x38\\x75\\x5a\\x11\\xe9\\x9e\\xa4\\x08\\x0a\\xc0\\xa2\\x26\\x5a\\x6f\\x50\\x08\\x0e\\xa5\\x60\\x36\\x29\\x58\\xaf\\xee\\x59\\x3e\\x25\\x89\\x4b\\xc2\\x1d\\x4b\\x33\\x9f\\xf2\\x29\\xd1\\xdf\\xeb\\xf2\\xeb\\x76\\x82\\xcc\\xa7\\x7c\\xca\\xbf\\xf1\\x29\\xa4\\x85\\x3f\\x69\\x75\\xfa\\x8b\\xb1\\x19\\x17\\x8b\\x95\\xf2\\x20\\xb5\\x52\\x83\\x79\\x27\\x8e\\xf3\\x0d\\x5f\\xc9\\xfa\\xfa\\x90\\x3c\\xa6\\x86\\xaf\\xc7\\x24\\x78\\x91\\xb7\\xaa\\xf3\\x76\\x8f\\x1e\\xd7\\x91\\x77\\x2e\\x79\\x7f\\x89\\x77\\x23\\x1f\\x5d\\x46\\xa3\\xa0\\x19\\xe4\\x09\\xfe\\x25\\x6f\\x8b\\x02\\xf0\\xdc\\x3e\\xa0\\xfc\\x47\\x39\\x75\\x9c\\x5c\\x27\\x57\\x4b\\x24\\x2a\\xa3\\x9a\\x85\\x01\\x64\\x72\\x55\\x2d\\x26\\xd7\\xd3\\x2f\\x53\\x67\\x33\\x93\\xae\\xcd\\x6c\\x3c\\x20\\xb7\\xfe\\x40\\xc8\\xb8\\x17\\xe6\\xba\\xf3\\x4b\\xce\\x0d\\x7f\\x2d\\x29\\x08\\x54\\x47\\x36\\xec\\x04\\xe2\\x1f\\x06\\xaa\\x64\\x6d\\xbb\\x81\\x80\\xcf\\xbf\\xaa\\xe1\\x27\\x9d\\x2d\\x03\\x31\\xe8\\x5f\\xa8\\x07\\xa8\\x7f\\xb9\\x0a\\x7e\\xfe\\xb8\\x8f\\x28\\x07\\x99\\xf2\\x36\\x0e\\x5c\\x0e\\xbe\\xa3\\x4a\\x40\\xed\\x8f\\x1b\\xeb\\xc1\\xbb\\xb4\\xae\\xa5\\xb5\\x53\\x47\\x12\\x05\\x25\\x06\\xa5\\xda\\xcf\\xc0\\x48\\x0c\\xd0\\xe4\\xb3\\xf2\\x9b\\x1b\\x0d\\x00\\x21\\xcb\\x85\\xb6\\x1a\\xd0\\x35\\xb7\\x1a\\xc0\\x04\\x9d\\xbe\\x62\\x59\\xa1\\x0d\\x27\\xe8\\x54\\x22\\x6b\\x33\\x38\\x55\\xce\\x8f\\x27\\xca\\xd1\\x97\\x64\\xf5\\xc3\\xf7\\x87\\xcd\\x23\\x10\\x55\\x91\\xaf\\xbb\\xed\\x04\\xa1\\x6a\\xf0\\xd2\\x5e\\x04\\xa0\\x8a\\xb7\\x01\\x78\\x8f\\x22\\x7d\\xf2\\x1f\\xd1\\x9e\\x14\\x79\\xdf\\x7b\\xf0\\xa8\\xd7\\x8a\\xb7\\x6b\\x5b\\x13\\x3c\\x6a\\x7f\\x89\\xac\\x3b\\x48\\xa4\\xfb\\x0f\\x54\\x35\\xe7\\x82\\x12\\xdc\\xc1\\x2c\\x5a\\xcf\\x9f\\x4d\\xea\\xf9\\xe1\\xa6\\x1f\\xe8\\x3b\\xd2\\x3c\\xf5\\xfe\\x14\\xd3\\x9a\\xe2\\xb5\\xb7\\x12\\xf0\\xda\\x19\\x8a\\xd7\\xce\\x42\\x83\\x17\\xaf\\x9d\\x62\\x17\\x52\\x8c\\x89\\x6c\\x1e\\x63\\xe2\\x21\\x8f\\x17\\xe2\\xf4\\xc1\\x98\\x20\\x7b\\x61\\x28\\xdd\\x3f\\x17\\xd3\\x9f\\xef\\xe0\\xcf\\xdc\\xa4\\x18\\x54\\x07\\x7c\\x30\\xfe\\xb7\\x7b\\x30\\xfe\\x31\\xad\\x39\\xfc\\x5e\\xe9\\xd7\\x4c\\x2b\\xc1\\x25\\x19\\xdc\\x8c\\x5b\\x02\\x37\\xc9\\x29\\xad\\x56\\x0f\\x76\\xc1\\x08\\xda\\x03\\x60\\xa0\\x46\\x0c\\x0a\\x7c\\xb1\\xf2\\x34\\x62\\x18\\xd4\\x8c\\xad\\x4b\\x7a\\x9b\\x82\\x02\\x40\\x7b\\x9b\\x02\\x1b\\xc3\\x53\\x1a\\xe1\\xe5\\xc5\\x8b\\x7d\\x42\\x3e\\x43\\x78\\x01\\x4f\\x60\\x9f\\x78\\xf7\\xfe\\x85\\x9e\\xbd\\xdf\\xfb\\x1c\\x08\\x22\\x3d\\xcf\\x11\\xf6\\xfe\\x59\\xc2\\xde\\xef\\x79\\x0e\\x04\\xd1\\x3e\\x3d\\x89\\x29\\x76\\x34\\x7d\\xce\\x9b\\xc2\\x73\\xa2\\x85\\xe7\\xd8\\xbd\\xf4\\x50\\x8c\\x3c\\xfa\\x9c\\x6f\\xf8\\xe7\\xfc\\xc9\\xbf\\x23\\xc1\\x07\\x8b\\xa5\\x55\\xd3\\xf7\\xa2\\x78\\x51\\x2d\\x63\\x26\\xb9\\xba\\x7a\\x7f\\xad\\x3f\\xf6\\xdc\\x55\\x9c\\x0a\\x9f\\x9b\\x69\\x17\\x59\\xde\\x7d\\xd7\\x5c\\xa2\\xc9\\xe1\\x4f\\x76\\x38\\xe0\\x2f\\x8c\\x01\\x39\\x49\\xf3\\x17\\xa8\\x1c\\x94\\x53\\x48\\xe9\\xdd\\xb5\\xaf\\xdc\\x79\\xe9\\x58\\x56\\x30\\x14\\x3f\\xfe\\xd0\\xc2\\x49\\xc3\\xdc\\xdf\\xd6\\x5d\\xdc\\x81\\xee\\xf3\\x48\\xd2\\x17\\x37\\x8e\\x9f\\xb1\\x06\\xac\\xdc\\xba\\x17\\x4d\\x52\\x9c\\x5c\\xb7\\xea\\xd7\\x65\\x94\\x1f\\x09\\xb6\\xff\\x0b\\x09\\x7e\\x16\\xec\\xe3\\x83\\xdb\\x5e\\xec\\xc1\\x7d\\x86\\x4b\\x19\\x08\\x14\\x64\\x4e\\xd5\\xcd\\x73\\xca\\xe3\\x4d\\x14\\x0a\\x78\\x13\\x12\\x59\\x0f\\x9a\\x24\\x43\\xde\\xe3\\xff\\x04\\xfe\\xfb\\x42\\x2f\\xfe\\x7b\\xb3\\xbc\\x9b\\x75\\x90\\x7f\\xce\\x2c\\x2f\\x6e\\x85\\x47\\xde\\x06\\x1f\\x79\\x0b\\xf3\\x8f\\xf5\\x27\\x89\\x69\\x39\\xff\\xad\\xbc\\xcf\\xe1\\xfb\\x44\\xcf\\xf2\\xf4\\x89\\xf6\\xce\\x7f\\x84\\x57\\xde\\xbe\\xb5\\x64\\x46\\xc6\\x42\\x90\\x71\\x83\\xb0\\xdf\\x11\\x14\\xc4\\x48\\xa5\\x26\\x5a\\x45\\xa6\\x79\\xa2\\x8a\\x8c\\xe2\\x50\\x3d\\x59\\x42\\x16\\x19\\xa6\\xc3\\xde\\xb8\\x06\\xf0\\x8e\\xb8\\xa6\\x45\\xc9\\x58\\x15\\x08\\xaf\\x70\\xaf\\x57\\x82\\xd3\\x6b\\x2e\\xb7\\x83\\x63\\x95\\x4f\\x55\\x88\\x6d\\x01\\xef\\x17\\xf6\\xc4\\x86\\xc7\\xf1\\xf9\\x83\\x21\\x59\\x20\\xb6\\x65\\x5d\\x58\\x00\\xf6\\x25\\xed\\x4e\\x73\\x80\\x26\\x98\\xd8\\xe5\\x60\\xbc\\x27\\x05\\x07\\x63\\xd2\\x02\\x69\\x61\\x98\\xfe\\x29\\x3c\\x45\\xda\\x18\\x82\\xb1\\x3f\\x5d\\x1b\\x06\\x84\\xca\\x30\\x2b\\xf0\\x9c\\x15\\x5a\\xd6\\x83\\xa1\\x93\\xb2\\x7b\\x2f\\xd4\\xc5\\xb8\\xeb\\xc1\\xc2\\x25\\xc7\\x12\\x61\\x57\\xc9\\xf8\\xa7\\x6a\\xc0\\xd8\\xac\\x0c\\xf4\\xf8\\xdc\\x79\\x70\\xf7\\xc0\\xd1\\xb8\\xc4\\xea\\xd9\\x2d\\xe6\\x80\\xdb\\xd8\\x62\\x0e\\x38\\xb6\\xf5\\xd3\\x73\\xc0\\x6d\\xf2\\x99\\x03\\x8e\\xf5\\x5d\\x3b\\x14\\x1f\\x97\\xea\\xc4\\xa7\\xc2\\x73\\x0c\\x82\\x4e\\x34\\xcf\\x25\\xc5\\xb0\\xa2\\x3a\\xe1\\xe6\\x9f\\xf3\\x37\\xff\\x8e\\x18\\x9f\\xb5\\xcc\\xf7\\x0d\\x28\\xf6\\xf4\\x0d\\x68\\xd6\\x51\\x43\\xb3\\x1f\\xcf\\x63\\x9e\\x14\\x0a\\x98\\x27\\x3e\\x3a\\x1a\\xe0\\xff\\x44\\xff\\x81\\x85\\x9e\\xe7\\x60\\x7a\\xec\\x02\\x3d\\x66\\xaf\\x4d\\xe0\\x9f\\x33\\xcb\\x83\\x9d\\xe2\\xd5\\x51\\xcb\\x53\\xf4\\x6c\\xf5\\x3e\\xa7\\x1b\\x70\\x08\\xcf\\x09\\x7d\\xe2\\x39\\x1e\\x0c\\x16\\x09\\xdc\\x0e\\x22\\x84\\xf7\\xf0\\x07\\x0b\\xc2\\x3b\\xc5\\xba\\xa6\\xf4\\xdc\\x16\\xe8\\x51\\x0b\\xef\\x09\\xf1\\xca\\x87\\xe2\\xcf\\x51\\xf9\\xfc\\xc1\\xd3\\xf3\\x23\\xff\\x8e\\x60\\x1f\\xdb\\x52\\x85\\xf7\\x7c\\x92\\x2f\\x26\\xa3\\xfd\\x73\\x44\\xc4\\xa7\\x16\\xb3\\xb4\\x04\\xa0\\xb9\\xbd\\x06\\x0d\\xc8\\xf1\\xd9\\x0c\\x24\\x8b\\xaa\\xdf\\x32\\x12\\x64\\x16\\x32\\xa6\\x76\\x92\\x68\\x14\\x4d\\x8e\\x02\\xcc\\x4e\\xfc\\x2c\\x92\\x1b\\x46\\x9f\\x25\\x96\\xca\\x60\\xbe\\x4b\\xa6\\x96\\xb2\\x3e\\xb0\\x6d\\x82\\x83\\xe4\\x0d\\x2d\\xd3\\x84\\xb0\\xed\\x95\\xa3\\x76\\xe7\\x2d\\xb8\\xe9\\x0d\\x2b\\x73\\xe9\\x7c\\xe2\\xb1\\x88\\xa1\\xfc\\xdd\\x7d\\x42\\x8f\\xc2\\xbd\\xfc\\x51\\xcc\\x36\\xca\\xdf\\xa3\\x16\\x7a\\x64\\x6d\\xe6\\xaf\\x69\\x17\\x96\\xe5\\x9f\\x34\\x77\\xa1\\xbd\\x33\\x94\\xd5\\xe9\\x75\\xa5\\x2e\\x46\\xaf\\xf7\\x37\\x1a\\x03\\xf1\\xe1\\x81\\x55\\x28\\xa5\\xd8\\x71\\x94\\xfa\\xfb\\x63\\x47\\xd2\\x5f\\x08\\xb6\\x5e\\x6a\\x71\\xfd\\xe4\\x1b\\x4e\\xc6\\x8e\\xb4\\x95\\xf7\\xe7\\xb3\\x00\\x9f\\xd0\\x46\\xc4\\xf1\\x16\\xd8\\x13\\x8c\\x06\\x17\\x15\\x39\\xd2\\xd1\\x83\\xf6\\x39\\xa1\\x71\\x5d\\x66\\x86\\x98\\xc6\\x4d\\x7b\\x29\\xf8\\xa5\\x4a\\x76\\x56\\xa8\\x3b\\x1b\\xfe\\xb6\\x16\\xa5\\xa3\\xaf\\xd0\\x47\\x9a\\x9d\\xda\\x75\\x55\\x70\\xe8\\x5a\\x58\\xb0\\x15\\xd3\\x75\\x11\\xd3\\x35\\x8f\\xfa\\x15\\x59\\x4e\\x9d\\xd8\\x68\\x32\\xe6\\xbb\\x58\\x93\\x49\\x1f\\x18\\x88\\x85\\x16\\xa8\\xd6\\xd3\\x0e\\xba\\x0a\\x97\\xde\\x40\\xae\\x56\\x0a\\x5d\\x8a\\x60\\x6f\\xd8\\x92\\x79\\x8a\\x34\\x21\\xc5\\xee\\x69\\xea\\xb8\\x79\\xc1\\x7c\\xba\\x5d\\x4e\\x21\\x21\\x2e\\x19\\x13\\x97\\x59\\x1d\\x12\\x50\\x32\\x7c\\x66\\xd0\\xcc\\x7e\\x7c\\xee\\x1d\\xda\\x24\\x90\\xf6\\xfc\\x4c\\x4f\\x12\\x1e\\x89\\x49\\x0f\\xa0\\x31\\xe9\\x40\\xe2\\x63\\xeb\\x4d\\xfe\\x2a\\x4e\\x63\\xd0\\xb2\\x62\\x29\\x2b\\x2d\\x71\\xb1\\x1a\\xad\\x37\\x5b\\x89\\x8f\\x49\\x8b\\x5a\\x5c\\x83\\xb0\\x9e\\x58\\xb1\\x0c\\x18\\xb9\\x1e\\x97\\x5e\\x48\\xef\\x1a\\x96\\xda\\xa1\\x53\\xbe\\xe3\\x17\\x4f\\x68\\xfa\\x5b\\x3e\\x62\\xed\\x68\\x3d\\x61\\x61\\x9d\\x66\\xa7\\x21\\x3f\\x2b\\xab\\x02\\xaa\\xf9\\x08\\xb5\\xbb\\x89\\x46\\xad\\xab\\xf3\\xf1\\xcc\\xea\\xb1\\x7c\\x76\\x51\\xf9\\xd8\\x9c\\x4a\\x0f\\x0d\\x6a\\x8d\\x81\\x95\\xd2\\x26\\x7d\\x6c\\xb0\\xd7\\xf5\\xfe\\x2f\\x34\\x00\\x9d\\x91\\xfd\\xaa\\x61\\x05\\xa1\\xa1\\x5d\\x56\\xef\\x94\\xe3\\x68\\xc1\\x45\\xec\\x6c\\xff\\xf1\\xe6\\xab\\xa0\\xf8\\x0a\\x6a\\xfb\\x5d\\xec\\xb0\\x65\\xaf\\x12\\x12\\x32\\x73\\xa6\\x81\\xda\\x16\\xc1\\xeb\\xc4\\x22\\x2a\\x07\\x1e\\xb3\\x9e\\xf6\\x2c\\xd0\\x8b\\x95\\x2a\\xac\\x2a\\xac\\x4c\\xc1\\x68\\x54\\x2a\\x05\\xd0\\xb0\\x52\\x85\\x4f\\xf7\\x2a\\x01\\xc3\\x83\\x46\\xe8\\xe9\\x22\\x21\\x01\\x7a\\x40\\x6f\\x1f\\x68\\x8c\\x1e\\xf9\\x83\\x62\\x0b\\xda\\x03\\xe2\\x6e\\xf0\\x41\\xfa\\x70\\xb4\\xcb\\x02\\x4a\\xd0\\x8f\\x7c\\xa4\\xfe\\xcd\\x8d\\xee\\xe5\\x34\\x4c\\x5f\\xb9\\x11\\xa6\\xf1\\xbe\\xb0\\x1e\\xeb\\xf6\\x2e\\x8a\\xb9\\x1c\\x73\\x42\\x23\\x12\\x8b\\x88\\x3e\\xa8\\x5d\\x4a\\xc0\\xca\\xa5\\xf8\\xe4\\xa7\\x90\\xaa\\x19\\x1e\\xd5\\xf8\\x89\\xe1\\xad\\x2c\\x3f\\x2c\\x5f\\x48\\x88\\x09\\xd1\\xb1\\x96\\x1b\\x84\\xed\\x23\\xe8\\x7a\\x08\\x48\\xf8\\x92\\x67\\xbd\\x02\\xa4\\x86\\xa0\\xb7\\x7e\\x27\\x11\\x7b\\xf0\\xf5\\x1a\\x70\\x91\\x70\\x8d\\x32\\xd7\\xa0\\x20\\xfe\\x1e\\xb3\\x87\\x80\\x99\\xad\\x20\\xf9\\xfe\\x4e\\x35\\xe7\\x4f\\xf0\\xd0\\x65\\x62\\x56\\xa6\\x6a\\x09\\x1e\\x44\\x2e\\xc7\\x52\\x5b\\xd9\\x69\\x03\\x95\\xf0\\xd6\\x0e\\xbd\\xd5\\xae\\xb3\\x85\\x8b\\x7b\\xac\\x05\\xd2\\xfd\\x20\\xb0\\x8c\\x74\\x51\\x49\\x7e\\xe7\\xd3\\x4b\\x20\\xe4\\xf7\\x91\\xe8\\xc8\\xdb\\xa0\\xc7\\xe2\\x6f\\x17\\x43\\xf8\\xf7\\x99\\x43\\xa7\\x6f\\x40\\x5d\\x1d\\x8f\\x53\\xfa\\x35\\x77\\x95\\xc6\\x2c\\xbb\\xd2\\x5c\\xe0\\xcf\\xb1\\x3d\\xff\\x06\\x8f\\x1b\\xcc\\x44\\x92\\x68\\x84\\x38\\x4c\\x1f\\x36\\xd4\\x65\\x8e\\x18\\xea\\xd2\\xea\\xcd\\x72\\xb3\\x5c\\xad\\xd7\\x91\\xac\\x10\\x1e\\x56\\x8b\\x64\\x2d\\x7a\\x92\\x78\\xbc\\x28\\xfe\\x2c\\x1f\\xab\\xe4\\x0f\\x22\\xa9\\xad\\x32\\x00\\x10\\x8e\\x28\\x98\\x2c\\x56\\xf9\\xe2\\x39\\x75\\xb1\\xb3\\x20\\x68\\xe0\\xee\\x81\\xd1\\x2f\\x6f\\x2a\\x1a\\xaf\\x9f\\xf4\\xde\\x92\\x2d\\xab\\x81\\xf2\\xc4\\x14\\xf7\\xe7\\x79\\x05\\xb3\\x36\\x06\\x64\\xcc\\x3a\\xf9\\xa1\\x28\\xe7\\x71\\x5c\\xef\\xa4\\x59\\x95\\x0b\\xc1\\x7b\\x28\\xf1\\xbd\\x86\\xce\\xbd\\x56\\x6d\\xd9\\xb4\\xf9\\xe1\\x3c\\x24\\x1e\\x58\\xbe\\xb8\\x06\\xc4\\x5e\\xa5\\xf2\\xc9\\xc0\\x74\\xee\\x15\\x5d\\xc7\\xfb\\x70\\x2c\\x93\\xee\\x0c\\x51\\xe3\\x17\\x4a\\x3f\\x06\\xfa\\xc9\\xf0\\xea\\x95\\xd1\\x16\\x77\\x1a\\x43\\x38\\x0c\\xcf\\x77\\x59\\xa0\\xf1\\xc9\\xeb\\x6c\\xad\\x90\\x4e\\x9d\\x25\\x5c\\x69\\x7b\\xfa\\xde\\xda\\x5b\\xb4\\x23\\x10\\x18\\x91\\x24\\xf1\\x4d\\xaa\\xa1\\xbf\\x41\\x0f\\x1e\\x14\\xed\\x1e\\xd2\\x6f\\x5c\\xfd\\xa4\\xee\\x03\\xfd\\xa1\\x68\\xe8\\x8b\\x1f\\x69\\x06\\x76\\xc4\\xcc\\xec\\x1a\\xd8\\xe6\\xe5\\x0d\\xa3\\x66\\xe8\\x0e\\xe7\\xce\\xe9\\x3a\\x6e\\xe6\\xbc\\xd5\\x7b\\xd6\\x6c\\xbd\\x0f\\x16\\x5c\\xed\\x54\\x68\\x01\\xbf\\x3d\\xda\\xdf\\x2f\\xb1\\x72\\xf2\\x62\\xc2\\xca\\xfb\\x27\\xf3\\xfb\\x06\\xee\\x07\\xad\\xf6\\x7c\\x89\\x1a\\xd1\\xbd\\xe0\\xb7\\xa9\\x8e\\x4d\\xa3\\xf2\\x76\\x31\\x6d\\x98\\x14\\x67\\xb0\\x2c\\x2c\\x34\\x2c\\xb4\\xd4\\x15\\xa6\\x6d\\xd3\\x46\\x1b\\xc6\\x9a\\x58\\x93\\xaa\\xd4\\x65\\xd2\\xb1\\x91\\x58\\xe7\\x7d\\x7a\\xa8\\xf2\\x28\\x0b\\xc2\\xb9\\x5e\\x27\\x84\\xae\\xf9\\xec\\x43\\x1f\\xca\\xe3\\x5a\\xf6\\x35\\xc1\\xfe\\xc5\\xb4\\xfe\\xb7\\x16\\xac\\xda\\xb5\\x65\\x45\\x79\\xde\\x10\\x2f\\xd5\\xfd\\x0a\\x5a\\xcd\\x5f\\xde\\x3a\\x24\\x7d\\xe3\\x96\\xbe\\x45\\xbd\\x6b\\xd3\\xb9\\x91\\xd5\\x53\\x37\\xcd\\x5f\\xfe\\x66\\xa4\\xee\\x8d\\x7f\\xad\\xf5\\x50\\x5d\\x78\\xfe\\x58\\xf9\\xe0\\x75\\xcf\\xad\\xeb\\x55\\xd4\\x35\\x9f\\xd2\\x9c\\x8d\\x69\\xbe\\x4f\\x7b\\xaf\\x63\\x9a\\xf5\\x80\\xa0\\xb2\\xb9\\x80\\x3c\\x2c\\x4c\\x0e\\xd8\\x08\\x65\\x44\\x70\\xbe\\x2b\\xc2\\xa8\\x94\\x90\\x7b\\xf6\\x7f\\xa0\\x19\\xf8\\x60\\x40\\x68\\xad\\x5e\\x18\\x69\\xd8\\x7c\\x98\\x15\\x8e\\xd4\\xad\\x01\\x63\\x3e\\xb5\\xbf\\x2f\\x45\\x78\\x28\\x01\\xbd\\xd6\\x1c\\x2f\\x58\\x9e\\xef\\x1a\\x14\\x1b\\x95\\xd2\\x3e\\x4f\\xa0\\xbf\\x7a\\xf8\\x1a\\xf0\\xab\\x07\\xbc\\x01\\xc0\\xf9\\x13\\x7a\\xcf\\xe9\\x2d\\x85\\x32\\xe7\\x9c\\x91\\xdd\\x7a\\xf0\\x0a\\xf4\\xfe\\xc9\\x9d\\xa7\\x07\\xf1\\x58\\xbf\\x13\\xf0\\xde\\x38\\x01\\xcb\\x9a\\x20\\x9f\\x04\\x05\\xf0\\x18\\x22\\x22\\x95\\x48\\xa5\\xb5\\xda\\x6c\\x96\\x12\\x97\\x4d\\xab\\xf5\\xc3\\xe7\\x7d\\xce\\x67\\x9f\\xf4\\xc0\\x28\\x52\\xaa\\xff\\x5b\\xda\\xa7\\x9a\\xbf\\x11\\xd4\\xa5\\xb2\\x79\\x67\\x0f\\x77\\x0d\\x79\\x2a\\xcf\\xf3\\xb9\\x45\\xd2\\xe8\\x4d\\x15\\x75\\x79\\x1b\\x72\\x44\\x60\\xcd\\x98\\xca\\x96\\xb9\\x9d\\xfa\\x05\\x63\\x6c\\x51\\xef\\x93\\x4d\\x1c\\x0c\\x0d\\xc2\\x74\\xee\\x42\\xa3\\xd8\\x26\\x2c\\x5f\\x7a\\xc7\\x1f\\xca\\x03\\x74\\xf8\\xe9\\xfd\\xf4\\xa2\\x80\\x00\\xff\\x7c\\x57\\x80\\x86\\xa4\\x92\\x14\\xb8\\x44\\xde\\xcb\\xa5\\x66\\xf8\\x01\\x9e\\x52\\xde\\x4f\\x70\\xfc\\x53\\x16\\x27\\x8f\\xd8\\x2d\\x61\\x6b\\xa6\\xe1\\x3d\\x7f\\x5e\\x82\\xa8\\xe1\\x80\\xf9\\xca\\x07\\x9e\\xac\\xcd\\x13\\x6f\\x15\\x6d\\xec\\x3f\\xa5\\x52\\x36\\x8f\\x78\\x01\\xbf\\x9b\\x03\\x86\\x8f\\x5c\\x32\\xba\\x98\\xcf\\xd4\\x5c\\x30\\xb1\\xe7\\xcc\\x7c\\x19\\x54\\x56\\x0e\\x8b\\x8c\\xa3\\x7b\\xd4\\x7a\\x7a\\xbf\\x91\\x83\\x4f\\xad\\x6d\\x9d\\xd8\\x33\\xd4\\x98\\xcd\\x8a\\x52\\x97\\x99\\xb5\\xea\\x74\\x06\\x8d\\x61\\xa8\\x4b\\xa4\\xf1\\x24\\x92\\xf8\\xdb\\x7d\\xcb\\x08\\xf9\\xe9\\x25\\x51\\x8a\\xa7\\x5b\\x84\\x09\\xab\\x8f\\xeb\\xbe\\x6b\\x60\\xf4\\x2b\\x9b\\x7f\\xd0\\xec\\xf6\\xb4\\x07\\x0b\\xd2\\x59\\x3c\\xed\\xc1\\xce\\xa9\\x4a\\x3a\\xf5\\x0b\\x64\\xb3\\x89\\x71\\xf8\\x4f\\x56\\x21\\xdb\\xf5\\xa9\\xee\\x60\\x8f\\xe3\\xba\\x27\\xd5\\x54\\xcd\\x23\\x34\\xee\\xc1\\x34\\x5e\\xc5\\x36\\xbc\\x15\\xd9\\x3f\\x82\\x82\\xc4\\x1a\\x0d\\x28\\x70\\x69\\xd4\\x0a\\xa3\\x4c\\x2c\\xcb\\x77\\x85\\x7a\\x53\\x40\\x5a\\x50\\xe8\\x0b\\xa7\\x08\\x9b\\xa9\\x6a\\x56\\x4c\\x07\\x3c\\x78\\x74\\x4e\\xfb\\x8a\\xea\\x12\\x0a\\xa8\\xd8\\xaa\\x5d\\x4a\\xd6\\x69\\xf0\\xe5\\x52\\x8d\\xcb\\xbb\\xae\\xa6\\x8c\\xd3\\x12\\x44\\xc5\\x9b\\x5f\\x0f\\x53\\xd4\\x4a\\xa2\\xcb\\x5e\\x83\\xb3\\xdd\\x69\\x3e\\x86\\x60\\x52\\x55\\xf6\\x40\\x7e\\x8f\\x61\\x30\\x7d\\xc7\\xa9\\xbd\\x8d\\x71\\x1a\\xb5\\x5a\\x96\\x6b\\x8e\\x2b\\xb2\\x5a\\x7e\\xfd\\xfb\\x66\\xa2\\xf9\\x74\\xee\\xf7\\x44\\xd4\\x9e\\x34\\x58\\x98\\xb8\\x1e\\xe8\\xe6\\x0c\\x02\\x4e\\x55\\x01\\xe2\\x2a\\x76\\xf9\\x5a\\xdc\\xca\\x0a\\xe0\\xdf\\x1c\\x66\\x6b\\x61\\x66\\xa7\\xcc\\xe8\\x3c\\x80\\xf4\\x40\\xc1\\xf4\\x1c\\xa3\\xf7\\x77\\xc9\\x4e\\xb3\\x4e\\x47\\xe8\\x29\\xf0\\xf4\\xb5\\xc4\\x44\\xa9\\x59\\x43\\x80\\x1a\\xeb\\xa0\\xf1\\x89\\xa8\\x9b\\x2f\\x5d\\x3a\\x2f\\x5d\\xbe\\xcb\\x99\\x08\\x2d\\x1c\\xdd\\x2b\\xad\\xbb\\x59\\xe7\\x02\\x56\\x57\\xdd\\x52\\x4d\\x7c\\x8c\\x97\\xae\\x87\\x1a\\x3e\\x00\\x47\\x02\\x72\\xee\\xb4\\x02\\x7b\\x96\\xc3\\x43\\xd6\\x1f\\x59\\xf9\\xde\\x38\\xc3\\x51\\xda\\x53\\xa7\\x0d\\xfd\\x79\\x3c\\xfe\\xb9\\x33\\x89\\x6d\\x40\\x1b\\x95\\xe3\\x0b\\xf8\\xe7\\xcf\\x69\\x8c\\x3a\\xc2\\xa9\\x55\\xa9\\x74\\x50\\x04\\x20\\x20\\xd5\\x16\\x3a\\x79\\x29\\x69\\x35\\xe1\\xcd\\xac\\xa0\\xb7\\x51\\x84\\x50\\x7a\\xaf\\x2d\\x36\\x18\\x9f\\x9c\\x59\\x3d\\xaa\\xb5\\xb0\\xaf\\x5a\\x50\\xed\\x46\\x25\\xd8\\x35\\x76\\x6e\\x68\\x9f\\xba\\xfe\\x91\\xbf\\x9e\\xdb\\xb1\\xdf\\x8f\\x5c\\x72\\x3f\\xfe\\x25\\x27\\x65\\xcf\\xe2\\x4d\\xe0\\x20\\xca\\xb9\\xf1\\xfe\\x86\\x35\\xed\\x9c\\x64\\xec\\xb1\\x78\\xec\\x46\\xea\\x27\\xe1\\xb1\\x95\\x4a\\x2d\\xc3\\x06\\x32\\x81\\x05\\x2e\\x46\\xad\\xc5\\x2a\\xa6\\x35\\x3e\\x35\\x36\\xdf\\xd3\\x8b\\x17\\x4f\\x16\\xb0\\x4b\\xf8\\xc6\\xbc\\x78\\x3d\\x58\\xe7\\xb3\\x51\\x81\\xe8\\x72\\x99\\x32\\x7b\\xce\\x9c\\x0d\\xa1\\xad\\x4f\\xc6\\xb6\\x46\\xdf\\x9e\\xdf\\x73\\x56\\x31\\x16\\x5d\\xe6\\xd2\\xe7\\xb9\\xdd\\x9d\\x93\\xbb\\x57\\x6f\\xdf\\x71\\xf9\\xdb\\xd7\\xee\\x1f\\x59\\x13\\x9f\\x0a\\x49\\xae\\x6b\\x3b\\x3c\\xf6\\x75\\x8a\\xa3\\x97\\xea\\x34\\x6b\\x34\\x7e\\x36\\x1b\\xe3\\x17\\x60\\x2e\\x75\\x05\\x04\\x30\\x7e\\x7e\\x3a\\x52\\x4e\\xcc\\x58\\x9f\\x3e\\x2a\\xf3\\xdf\\xe8\\xad\\x0f\\x3d\\x92\\xa6\\x3a\\x5a\\x0b\\x49\\x4d\\x7c\\xf1\\x3a\\x26\\xce\\x8a\\xfd\\x59\\xbe\\x45\\x7c\\x98\\xce\\x24\\xe6\\xc0\\x9f\\xef\\xfc\\x7c\\xa3\\xf1\\xab\\x95\\xee\\xad\\x6f\\xdd\\x6b\\x75\\xce\\xb4\\x6a\\xce\\x96\\x7a\\x90\\xd1\\x35\\xb8\\xeb\\xd7\\xb7\\x37\\x2e\\x05\\xf0\\xe5\\xf5\\x35\\xe8\\x53\\xfd\\xb9\\x9d\\x5b\\x2e\\x05\\xa5\\x9d\\x9f\\x76\\x7e\\xcc\\xde\\xc3\\x1d\\xe6\\x56\\x2e\\x99\\x7e\\x76\\xc5\\xa2\\x35\\x23\\x26\\x01\\x4d\\xef\\xb3\\x3b\\xc8\\x9c\\xcd\\xc2\\xb4\\x4e\\x26\\xb1\\x22\\xb6\\x9c\\xe5\\xef\\x15\\x06\\xd0\\xde\\x50\\x21\\x4c\\x1b\\xa7\\x91\\xbf\\x51\\x08\\x34\\x1b\\xcd\\xe4\\x46\\x41\\xa6\\xf0\\x76\\x88\\xa2\\xd9\\x30\\x97\\x9a\\xc3\\xfa\\xcf\\xe8\\x12\\xe5\\x8d\\xf1\\x3b\\x38\\x2b\\x5a\\xf4\\xd4\\xfd\\xc2\\x6d\\xf4\\x79\\x70\\xdd\\x9a\\x8c\\xcc\\xd0\\xe8\\x4e\\xb3\\x43\\x9e\\x71\\xc9\\xf0\\x77\\xfa\\xaa\\x4d\\xaa\\x9d\\x9a\\x75\\x0c\\xbd\\x67\\xa0\\xf1\\x15\\xba\\x1e\\xb5\\x81\\xf2\\x02\\x7c\\x10\\xd0\\xea\\xd5\\xf8\\x48\\xaf\\x36\\xe2\\x23\\x99\\x88\\x6f\\x07\\x1e\\xdc\\x32\\x81\\xa1\\xad\\x17\\x23\\x83\\x04\\xd8\\x9f\\xba\\x72\\x80\\xb0\\x7b\\x07\\x3c\\x76\\xb6\\xa3\\x8b\\xe6\\xbd\\xa7\\xef\\x1d\\x6e\\xfc\\x3b\\x1d\\x0d\\x50\\x6d\\xd5\\x74\\x2e\\xe0\\x92\\x9e\\xb8\\x78\\x78\\x94\\x83\\x3e\\xa2\\xe7\\x79\\x54\\x2d\\xf4\\xab\\x4a\\xe6\\xb1\\xe5\\x31\\x8d\\xf3\\xb9\\x1e\\xf8\\x67\\xbe\\x5f\\xc5\\x18\\xec\\x23\\x8f\\xa6\\x71\\x3f\\x1e\\xe3\\x7e\\x38\\xfe\\xd9\\x4a\\x31\\xd6\\x07\\xd2\\xb5\\xf1\\x3b\\xaa\\x81\\xb5\\x4d\\xd7\\x18\\x03\\x63\\x75\\xea\\xb4\\x62\\xb5\\x5a\\x71\\x0f\\xe0\\x5d\\xdb\\x09\\xf2\\x41\\x29\\xe0\\x80\\x3f\\x13\\x7f\\x7d\\xc8\\x10\\x52\\xb5\\x4c\\x51\\xe1\\x85\\xad\\x99\\xe2\\xa6\\x91\\xbb\\x24\\x92\\x64\\x05\\x27\\x8d\\x54\\x5a\\x23\\x92\\xec\\x72\\x69\\x99\\x5c\\xd3\\xa7\\xa7\\x66\\xa4\\xff\\x78\\x54\\xd3\\xcb\\x2f\\x34\\x38\\x2e\\x35\\x3e\\xb1\\xff\\x60\\x45\\x71\\xb1\\x76\\x3c\\x39\\xaf\\xb3\\xf0\\x4f\\x51\\x2e\\x37\\x4b\\xfc\\x2a\\xf6\\x5b\\x4d\\xf4\\x3e\\xcb\\x68\\x90\\xc9\\xd4\\x6a\\x16\\xbc\\xc2\\xfe\\xc4\\x36\\xb1\\x2c\\xeb\\x94\\x29\\xbb\\xb1\\x66\\x6b\\x03\\x28\\xc4\\x86\\xf7\\x52\\xdb\\x21\\x93\\x92\\x92\\x78\\x4c\\x00\\x3e\\x68\\x43\\xdc\\x31\\x87\\xcf\\x6b\\x89\\xcf\\x6b\\xf8\\x67\\x5c\\x58\\x78\\x5c\\x5c\\x78\\x58\\xdc\\x7d\\xcf\\x8b\\x2d\\xb1\\xf8\\x45\\x42\\x58\\x58\\xac\\x78\\x42\\x58\\x6c\\x2c\\xff\\x8f\\xfc\\xf7\\x57\\xc8\\x6b\\xfc\\x3b\\xcc\\x3f\\x9c\\x22\\xca\\x65\\x7f\\x14\\x3f\\xc6\\x34\\x29\\x8e\\x29\\xc4\\x74\\xe8\\x4b\\xe4\\xcc\\x66\\xc2\\x7f\\x6c\\x8e\\x48\\xfc\\x87\\xfd\\xf1\\xd0\\xb2\\x43\\xcb\\x5e\\x9f\\x76\\x64\\xd9\\xa1\\xe5\\x87\\xc4\\x8f\\xfb\\x7b\\xff\\x23\\xbe\\x26\\x7c\\x03\\x7f\\x7e\\x95\\xc0\\x53\\xb8\\x53\\x27\\xf3\\x65\\x47\\x8a\\xd9\\x51\\x1b\\x7c\\xd8\\x69\\xc9\\x4b\\x0b\\xfa\\x1f\\x62\\xca\\x12\\xe2\\x6d\\x61\\xb1\\x6d\\x63\\xc3\\xc3\\x12\\xe2\\xad\\xe1\\xb1\\xe2\\xf1\\xe1\\xb1\\xf8\\x35\\x26\\x37\\x2c\\x01\\xb3\\x91\\x10\\x47\\x65\\x58\\x88\\xc7\\xfb\\x45\\x18\\xcf\\x8c\\x6d\\x8a\\x31\\x90\\x0d\\x90\\x3d\\x29\\x43\\xb5\\x81\\x89\\xb7\\x5f\\x27\\x23\\x5e\\xd2\\x5c\\xfa\\xe7\\x41\\x49\\xe9\\x01\\x5b\\x88\\xc5\\x82\\x9f\\x1f\\x1e\\x17\\x1d\\x17\\x66\\x8d\\x27\\x82\\xbb\\xdd\\xad\\xa2\\xab\\xef\\xe0\\x98\\x98\\xb8\\xb8\\x38\\x50\\x81\\xd6\\x30\\x00\\x64\\x63\\x7d\\x19\\xdf\\x74\\x04\\x8f\\xaf\\x39\\x25\\x62\\xc4\\x1a\\x31\\x14\\x33\\x4c\\xfc\\xa5\\x21\\x98\\x37\\x11\\xb5\\x08\\x12\\x6a\\xae\\xc0\\x69\\xae\\xd8\\x65\\x98\\xf7\\xbc\\xb4\\x50\\x13\\xda\\x35\\x6f\\xcc\\xd4\\x8a\\x98\\x30\\xba\\xa7\\xc1\\xe7\\x45\\x45\\xec\\x05\\xf1\\x01\\x7c\\x50\\x50\\x1c\\x63\\x01\\x95\\xcd\\x0d\\x22\\x6f\\x2c\\xe7\\x0b\\x8d\\x55\\x8d\\x62\\xe6\\xc0\\x81\\x03\\xf8\\x7d\\xe0\\x4f\\x51\\x3e\\xd7\\x57\\x3c\\x8f\\x09\\x67\\x5a\\x39\\xd5\\xda\\x10\\x46\\x11\\x82\\xff\\x98\\x08\\x64\\x9b\\x88\\x9f\\x25\\xfb\\x75\\xac\\x96\\x69\\x5e\\xdc\\x08\\x62\\x8e\\x4c\\x12\\x5a\\xae\\x9f\\x64\\x01\\x26\\x21\\xb6\\x8a\\x57\\x1a\\xcf\\x6a\\x64\\x1c\\x80\\x9b\\xc3\\x93\\xda\\x46\\x16\\x8e\\xec\\x6d\\x4d\\x88\\xb2\\x86\\xc6\\x86\\x85\\xda\\xdb\\x46\\x17\\x8e\\xea\\x96\\xd8\\x35\\xca\\x1a\\x25\\x4e\\x4b\\x8b\\x8d\\xd6\\x76\\xb3\\x0c\\xc8\\xad\\x30\\xc6\\x74\\xc8\\x88\\x4d\\x4a\\x68\\x63\\xe8\\x16\\x36\\x20\\x77\\x5c\\x72\\xcf\\xcc\\x36\\x94\\xee\\x25\\x58\\xee\\xc7\\xc5\\x35\\xe4\\xcc\\x75\\x4a\\xa4\\x16\\x87\\x12\\xbe\\x79\\x6d\\x21\\xac\\x03\\xc1\\x9f\\xa2\\x79\\x22\\x19\\xdc\\x10\\x97\\x61\\xc1\\x2a\\xb1\\x28\\xd7\\x68\\xce\\xc9\\x1d\\x3f\\x7d\\x7c\\x44\\x24\\xe5\\x1d\\xa4\\x60\\xd9\\x6d\\x6e\\xfa\\x86\\x11\\x31\\xd2\\x63\\x80\\xc3\\x2b\\x8b\\x2c\\xa9\\x48\\x87\\x5d\\x02\\xfb\\xae\\x5a\\xfd\\xc1\\xea\\x0f\\x50\\x4d\\x5d\\x5d\\x1d\\x03\\x81\\x0d\\xbf\\x6f\\x5f\\xd3\\x2f\\xf4\\x7c\\xa7\\x39\\xa9\\xd3\\x69\\xd4\\x32\\x16\\x4f\\xe8\\xa5\\x24\\x6a\\x93\\x7d\\x26\\x90\\xe4\\x7e\\x38\\x48\\xd3\\x28\\x87\\x67\\xee\\xc0\\x84\\xe0\\x6b\\x5b\\xf5\\xe5\\x4b\\xb5\\xc5\\x9e\\x79\\x5b\\xb1\\x6b\\xcc\\xe8\\xc1\\xbc\\xec\\x87\\x61\\x1e\\xee\\x63\\x1e\\x24\\x98\\x07\\xbc\\x5b\\x87\\xb2\\x90\\xe5\\x79\\xb8\\x41\\x79\\xc0\\x36\\x5e\\x42\\x50\\x9e\\x86\\x59\\xae\\x6e\\xd1\\x8f\\x5c\\xa4\\x15\\xe5\\x3e\\xbf\\x73\\xfc\\xa8\\xff\\xc7\\x9f\\x85\\xe0\\x1c\\x5e\\xf7\\x4b\\xe8\\x67\\xd5\\x4c\\xb0\\xd3\\x8f\\x63\\xfd\\x58\\xb5\\x22\\x54\\x01\\x15\\x8c\\x94\\x9f\\x4a\\xfc\\x8c\\x24\\x0f\\x6a\\x0a\\x79\\x8c\\x55\\xf8\\xce\\x8a\\x85\\xc7\\xa1\\xee\\x21\\xd7\\xb7\\x18\\x46\\x2c\\x34\\x08\\xcf\\x5d\\xfd\\xe2\\xf8\\x32\\x52\\xe8\\xc4\\x81\\x78\\x51\\x86\\x28\\x5b\\x12\\x4d\\xf1\\xb8\\xda\\x32\\x0e\\x12\\xd9\\x8a\\x8e\\xd7\\x01\\x9d\\x2d\\x24\\x25\\x9e\\x05\\x6c\\xbc\\x8c\\x08\\x6e\\x48\\x12\\xfd\\xd2\\x62\\x25\\x44\\x62\\x95\\x6b\\x1d\\x21\\xfc\\xcc\\xd7\\xcd\\x92\\x33\\xb2\\xb7\\xf1\\xbd\\x58\\xe4\\xf3\\x9a\\x5d\\x3f\\xc7\\x35\\x60\\xee\\x1c\\x57\\xb7\\x94\\x59\\x9d\\xaa\\xf4\\xee\\x4d\\x73\\x5c\\xae\\x39\\xb6\\xf6\\xc3\\x3b\\x58\\xe3\\x07\\xcd\\xae\\x6a\\x17\\x15\\xd5\\x2e\\xbd\\x75\\xeb\\x74\\x58\\xde\\x2e\\x9a\\xbc\\x8a\\x4c\\x17\\x17\\xba\\xe6\\xcc\\x71\\x0d\\xac\\x8e\\x1c\\xd9\\x77\\x44\\x7c\\x3c\\x79\\x9d\\x93\\xd4\\xab\\x6f\\xae\\x6a\\x8e\\x2b\\xaa\\x1d\\x79\\xb7\\xe7\\x2f\\x8d\\x25\\x40\\x18\\x2a\\xca\\xe0\\xe2\\x29\\x0f\\x66\\x46\\x53\\x1f\\x48\\xe8\\xd6\\x09\\x74\\x3f\\x4d\\xb2\\x2f\\x89\\xb0\\x96\\x10\\x32\\x7b\\x10\\x26\\xab\\x63\\x95\\xc1\\x4b\\x08\\x3f\\xbc\\x6b\\x0e\\x19\\x3e\\x26\\x49\\x18\\x0e\\xcf\\x61\\x29\\xb5\\x75\\x9b\\x19\\x7f\\x26\\x00\\x9b\\x09\\x8e\\x93\\xa9\\xc9\\xc5\\x35\\x9d\\x82\\xeb\\x43\\x04\\x64\\x0a\\x1e\\x74\\x47\\x82\\x1d\\x35\\x09\\xef\\x82\\xb0\\x3f\\x2a\\xfc\\xc7\\x0e\\x08\\x33\\xe9\\x47\\x74\\x2a\\x0b\\x12\\x87\\x27\\xc4\\x29\\xe4\\xe2\\xcd\\x49\\x45\\xe5\\xf2\\x72\\xd0\\x6b\\xa9\\x5f\\xac\\x23\\x89\\xd7\\xed\\x48\\xac\\xb3\\x47\\xf1\\x3e\\x62\\x64\\xcc\\x4e\\x95\\xca\\x08\\x21\\x43\\x77\\x10\\x16\\x68\\x25\\xc4\\x16\\x0d\\xf1\\xec\\x20\\x34\\x45\\xda\\x61\\x57\\x01\\x1f\\x17\\x47\\x02\\xee\\x97\\x6b\\xdb\\xc7\\xa9\\x46\\x88\\x25\\xe1\\x51\\x71\\x78\\x23\\x29\\x97\\x5a\\xd6\\xa0\\x9a\\xc1\\xb2\\x8e\\xf6\\x90\\xfe\\xb6\\x68\\x55\\x68\\x48\\x42\\x4a\\x62\\xe2\\xfe\\x00\\x32\\x8e\\x09\\xed\\x81\\x5b\\x9b\\x3e\\xc5\\x6b\\x48\\x75\\x92\\xc5\\xba\\x05\\xbd\\xd6\\x87\\xb5\\x3a\\xec\\x0e\\xb8\\x35\\x13\\x35\\x1a\\xef\\x46\\xda\\xd0\\x9b\\x63\\xde\\xf1\\xac\\xb9\\xad\\x74\\xcd\\xa9\\xea\\xc9\\xa6\\x06\\x01\\x4b\\x3e\\xe0\\x5d\\x79\\xfd\\x57\\xad\\xb9\\xbd\\xfa\\x36\\xbf\\xf2\\xc8\\xfb\\x35\\xf8\\xfd\\x6b\\xb1\\x7d\\x93\\x30\\x7e\\x27\\x38\\x96\\x82\\x76\\x90\\x4a\\x7e\\x91\\xb0\\xd2\\xe0\\xda\\xe0\\x2b\\xdb\\x0d\\xe5\\x8b\\x74\\x85\\x2b\\x5f\\x14\\xd6\\x15\\x64\\xf0\\x7e\\xc7\\x3a\\xe8\\x67\\xd4\\x8c\\xfe\\x94\\x9f\\x42\\x81\\x3f\\xa8\\xc6\\x9f\\x24\\x20\\x00\\x54\\xaf\\x3d\\x9f\\xb6\\x7a\\xd6\\xeb\\x43\\xba\\x4a\\x17\\x6b\\x41\\xbd\\xe7\\x71\\x78\\x99\\x8e\\x1a\\xe2\\x7d\\x26\\x00\\x76\\x4c\\x47\\x4d\\xd3\\x9f\\x84\\x8e\\x3a\\x27\\x00\\x80\\x80\\x74\\x10\\xaa\\x45\\x59\\x20\\x32\\x42\\x0d\\xe0\\x40\\xf4\\xb1\\xff\\xf3\\x35\\x20\\x5a\\xb5\\x1e\\x1d\\xb7\\xe7\\x1b\\x3f\\xb3\\xf7\\x0a\\xfc\\xff\\xdf\\x4e\\x69\\xac\\x3e\\x76\\x0a\\xc2\\x4e\\x58\\x1f\\xa5\\x4f\\xe8\\xa3\\xf2\\x49\\x7d\\x7c\\xd6\\x92\\x81\\x9d\\xc8\\x32\\xb1\\x65\\x0c\\xcb\\x0c\\x4d\\x18\\x34\\x7b\\x5a\\xcb\\xe5\\x90\\x6d\\xf7\\x5d\\x02\\x69\\x2d\\x74\\x26\\xc4\\xa9\\xe1\\x75\\xc6\\xe3\\x77\\xfc\\xbf\\xaa\\x35\\x44\\x2e\\x8b\\xb0\\x5c\\x1e\\x8a\\xeb\\xb1\\x1e\\xf8\\xd7\\xe7\\xb1\\x25\\xa4\\x79\\xa0\\x20\\x16\\x8f\\x2a\\xb0\\x07\\x56\\xad\\xf9\\x78\\xf5\\xc7\\xa2\\x5c\\x5e\\x15\\x04\\x9b\\xf7\\x8d\\x78\\x11\\xfe\\x8c\\xd1\\x29\\x57\\x8b\\x4a\\x44\\x13\\x44\\xac\\x88\\x74\\xe5\\xa5\\x1b\\xfa\\x10\\x9a\\x49\\x80\\x75\\x8e\\xfd\\xa6\\x03\\x6a\\x30\\xdc\\x8d\\x16\\x2f\\xa2\\x4a\\xe7\\xbb\\x47\\xfa\\x9d\\x10\\x89\\xe7\\xf2\\xc0\\x2f\\xff\\xb7\\xfd\\xf1\\xff\\x63\\xfb\\x1e\\xc4\\x32\\x98\\xc5\\x69\\xb0\\x2e\\x10\\x7f\\x43\\x53\\x6f\\x20\\xba\\xa0\\x96\\xd1\\xb9\\x79\\xc2\\x9b\\x69\\xa1\\x07\\xc3\\x78\\xbb\\x44\\x8d\\x63\\x74\\xbb\\xf4\\xc8\\x66\\x9b\\xe4\\x35\\x81\\x78\\xed\\x4e\\xc5\\x72\\xca\\x68\\xfa\\x91\\x3e\\xdb\\xe4\\xf4\\x53\\x33\\x06\\xe0\\x34\\xec\\x34\\x40\\x03\\xdd\\xee\\xae\\x53\\x87\\x49\\xf4\\x0f\\xbe\\x0b\\xd8\\x1a\\x6f\\x0d\\x8b\\x8f\\xc7\\x7e\\x51\\x64\\x42\\x98\\x35\\x2e\\x1e\\x3b\\x30\\xc3\\xf8\\x2d\\x90\\xb8\\x77\\xc4\\x9f\\x89\\xa3\\x57\\x14\\xe7\\xf0\\xda\\x0c\\x14\\xc6\\xb0\\x31\\xf1\\x4c\\x06\\xc9\\xcf\\xb1\\x9b\\xcd\\x69\\x8c\\x15\\x38\\xad\\x3b\\xad\\xd0\\x1a\\x8b\\xbd\\xd0\\x48\\x35\\x19\\x91\\x22\\xc3\\x5c\\xf7\\xb8\\x9d\\xa6\\xff\\x83\\xdb\\x19\\xf1\\x0f\\xff\\x7e\\xce\\xe3\\x84\\x7e\\xed\\x79\\xb1\\x35\\x8e\\xf7\\x46\\xe3\\xc0\\x14\\xcf\\x3f\\xb5\\x25\\x5e\\x1d\\xd9\\xa4\\x4b\\x31\\xd1\\xc2\\xbf\\xc5\\xf9\\xfa\\xa7\\x3f\\x09\\xff\\x46\\x19\\xa2\\x0e\\x20\\xcb\\xbc\\x83\\x65\\xf6\\xb7\\xc0\\x8f\\x99\\x44\\x7f\\xd5\\x01\\x81\\x81\\x2d\\x05\\x77\\x69\\xc8\\x24\\xbc\\x6e\\xfe\\x8b\\xec\\x22\\xf0\\xf1\\x16\\x0e\\xa4\\x43\\xf8\\xfa\\x7d\\x68\\xbb\\x1e\\x74\\xd3\\x0f\\xe3\\xc9\\xf4\\x3a\\x7e\\xc7\\xc6\\x8f\\x7f\\x72\\xdc\\x50\\xd2\\x23\\xf8\\xdd\\x00\\x60\\x09\\x0a\\x0a\\x98\\x6b\\x36\\xab\\x9f\\x1a\\x1e\\xef\\x25\\x41\\xd7\\xb1\\x30\\x87\\xfc\\x37\\x1a\\x6c\\x98\\x0a\\xdb\\x33\\xe9\\xf8\\xdd\\x58\\x41\\x28\\x19\\x6b\\x7c\\x92\\x96\\xac\\xc9\\xe3\\xc7\\x4f\\xe6\\xd7\\xc9\\x2c\\xbc\\x0f\\x98\\x9b\\x3a\\x61\\x7a\\xa4\\xc7\\xe8\\xb0\\x2d\\xb5\\x11\\xcc\\x22\\x1f\\x20\\x52\\x43\\xbf\\x58\\xe3\\xe9\\x43\\x78\\x5f\\x44\\x8a\\x3f\\xb7\\xa2\\x29\\x9b\\xf2\\xa1\\xaa\\x23\\x07\\x10\\x3a\\xf3\\xff\\xed\\x9c\\x01\\xa4\\x9e\\x89\\x7a\\x10\\xcb\\x93\\x18\\x8b\\x7e\\x13\\xa6\\x24\\x5c\\xa0\\x8c\\xf8\\xe6\\x20\\x1a\\xcb\\xe8\\x88\\x57\\xd7\\xf0\\xdc\\x98\\xbd\\x4a\\xe6\\x33\\xd0\\xd3\\x7a\\xfd\\x4f\\xda\\x05\\xa2\\x79\\xd9\\x84\\x25\\x7c\\xe3\\xd1\\x9e\\x6d\\xf8\\x4b\\x3c\\x55\\x76\\xfe\\x17\\x74\\x70\\xf2\\xa6\\x57\\x78\\xdd\\x21\\x67\\x1a\\x10\\xdf\\x14\\x08\\x97\\x35\\xcd\\xc3\\xb3\\xa6\\x39\\xc5\\x4a\\x30\\x31\\x50\\x8a\\x6d\\x50\\x31\\xdd\\x25\\xc9\\xdd\\x47\\x36\\xe8\\xaa\\x47\\x0d\\xd5\\x63\\xe8\\x7b\\xb1\\x3c\\xc8\\x7b\\x25\\x8c\\xf8\\x28\\x64\\x48\\xf0\\x43\\x98\\x18\\xb0\\x20\\x70\\x82\\x01\\xbf\\x71\\x6c\\x00\\xda\\x33\\x75\\xcc\\x98\\xa9\\xd8\\x1e\\xde\\x16\\xed\\x63\\xab\\xc4\\x5d\\x68\\x4f\\x5d\\x15\\x9b\\x27\\xab\\x91\\xed\\x90\\xbd\\x23\\xe3\\x18\\x19\\x90\\x35\\x80\\x3e\\x4c\\xd6\\x90\\x21\\x4f\\x48\\x11\\xde\\xf6\\xd0\\x28\\xfa\\x9d\\x3f\\xc4\\xd0\\x33\\xd7\\xc7\\xf8\\x39\\x33\\xe8\\x73\\xf0\\x19\\x80\\xff\\xe8\\x93\\x1f\\xfc\\xf8\\xe9\\x0f\\xb2\\xcc\\x6f\\x58\\xbe\\x6f\\x34\\x3d\\xf4\\x9e\\x1f\\xd5\\x06\\xb5\\xda\\x6c\\x26\\x02\\xfe\\xcc\\xfa\\xd0\\xca\\x59\\x1b\\x9a\\x5e\\x3b\\x69\\xb6\\x74\\xb3\\xf2\\xe6\\xa3\\xed\\x90\\x24\\x2d\\xf5\\x69\\x7c\\x17\\xf2\\x3f\\xbd\\xfe\\x0d\\x0b\\x8f\\x1e\\x78\\x36\\x78\\x06\\xde\\xec\\x5d\\x9d\\xc2\\x2a\\xec\\x2e\\x10\\xd2\\xcd\\xbb\\x1a\\x09\\x2f\\x0e\\x38\\x09\\xde\\x66\\x55\\x98\\x26\\x55\\x3d\\xcb\\xc8\\x12\\x64\\x10\\x5b\\xc7\\xa7\\xe4\\xe0\\xa0\\x9f\\xc4\\x7f\\xe1\\x39\\x5b\\x6c\\x2c\\x3e\\xe5\\xc5\\x12\\xd9\\xcf\\xc3\\xb2\\x0f\\xa5\\xf3\\x24\\x3d\\x86\\x3d\\xb1\\x78\\x01\\x52\\x06\\xcc\\x8b\\x9d\\x10\\x8b\\xf6\\xdc\\xbb\\x47\\xde\\x73\\x8e\\x9b\\xc1\\xd9\\x44\\xbd\\xe8\\x7b\\x80\\xa0\\xe7\\x64\\x0e\\xbf\\x81\\xed\\xa3\\xdd\\x97\\x44\\xbd\\x6e\\x61\\x1a\\x66\\x88\\xba\\xb2\\x1f\\x88\\x8e\\xd1\\xf9\\x06\\xd8\\x42\\x4b\\x59\\xf2\\x4e\\x7e\\x36\\xf0\\x7b\\xe1\\x0a\\xbc\\x98\\x50\\x83\\xe8\\xd8\\x18\\xfc\\xbc\\x52\\x54\\xca\\xbe\\x27\\xb9\\xcd\\x8f\\x89\\x27\\x3c\\x9e\\xbf\\x12\\xc3\\x9b\\xee\\xed\\xcd\\x28\\x1a\\x95\\xca\\xaa\\x7e\\x5f\\xc2\\xd0\\xb9\\xee\\xc8\\x56\\x89\\x3e\\x27\\x7b\\x58\\x1d\\xf6\\xa2\\xc1\\xb3\\xb8\\x6a\\x9e\\xdd\\xe7\\xbd\\xb3\\xcb\\xb4\\xd0\\x13\\x7e\\x7e\\x7b\\x3c\\x3d\\xbf\\xcf\\x50\\x0c\\x08\\x16\\xe1\\x45\\x94\\xcd\\xa5\\x11\\x44\\x52\\x26\\xf4\\x98\\x88\\x6b\\x00\\x03\\xea\\x5c\\x22\\xfc\\xc4\\x33\\x60\\x00\\xe3\\xc2\\xdf\\x73\\x85\\xa8\\x36\\xad\\x96\\xb0\\x2b\\x68\\x23\\xaf\\x45\\xe9\\xff\\x4e\\xeb\\x9b\\xf6\\x7d\\x3a\\x68\\x8b\\x3e\\x60\\x55\\xe4\\x2b\\xa5\\xe1\\xa1\\xd8\\x84\\xcf\\xe5\\xf5\\xd4\\x3e\\xb0\\xb2\\xa7\\xec\\x03\\x7c\\x18\\xcf\\xcf\\x48\\xbc\\xb8\\x3c\\x34\\x31\\x81\\x4c\\x3e\\x6f\\x57\\x26\\xa0\\x31\\x50\\xd5\\x24\\xfd\\x47\\xbb\\x32\\x21\\x9e\\x5f\\x89\\xf1\\xa8\\x41\\x30\\x4e\\x7c\\xac\\xf6\\x1b\\x4c\\xfb\\xef\\xdc\\x35\\xec\\x33\\x85\\x1f\\x03\\xb0\\xa3\\x1c\\xf4\\xc5\\x14\\x03\\xd0\\x9b\\x3c\\x88\\xbe\\x56\\x08\\xd4\\x67\\xf1\\x7d\\x66\\xf8\\x0a\\x53\\x72\\x01\\x98\\x09\\xd9\\x5e\\x07\\xad\\x47\\x7b\\x0e\\xcc\\xb0\\x94\\x83\\x17\\xc3\\xdc\\x7b\\xd7\\xd8\\xc6\\xee\\xe1\\xae\\x1d\\xec\\xb0\\x6c\\x9b\\xfb\\xc7\\x83\\xf0\\x61\\xfd\\x75\\xfc\\x20\\x06\\x61\\xdd\\x7f\\xbd\\x69\\x3b\\x23\\xc3\\xeb\\x54\\x42\\xd6\\xa9\\xc8\\xa6\\x06\\xb6\\x2c\\xec\\x1a\\x59\\xe1\\x91\\x3a\\x3f\\xd1\\x38\\x2e\\xfe\\xb8\\x1e\\x1c\\xbb\\xb1\\x53\\xaf\\xdf\\x39\\x96\\x01\\x4d\\x07\\xc9\\xe6\\x87\\xe9\\x09\\x64\\x42\\x4f\\x29\\xa0\\x2a\\x10\\x06\\x2a\\xf5\\x67\\x30\\x09\\x44\\x9c\\xbd\\xf9\\x7e\\x3c\\x42\\xf5\\x90\\xce\\x0e\\x52\\x75\\x0e\\xda\\xc7\\x80\\x94\\x6d\\x43\\x92\\xbf\\x9e\\x09\\x1d\\xb7\\xbe\\x04\\x3d\\xea\\x7b\\x74\\x3a\\xd7\\x29\\xac\\xa4\\x66\\x3a\\xf0\\xfb\\x0e\\xcd\\x8a\\x77\\x3a\\x52\\xb6\\xbd\\xbe\\x33\\xc7\\x35\\xbe\\x80\\xbb\\xe6\\x5e\\xbb\\x8a\\x69\\xba\\x77\\x77\\xdc\\x2b\\xeb\\xca\\x90\\x0d\\xde\\x30\\x64\\x0e\\x5b\\x80\\xc6\\x83\\x55\\x2f\\x3d\\x5f\\x64\\xa1\\xf1\\x7f\\x2c\\x0f\\xce\\x81\\xc7\\xd7\\x31\\x11\\xc7\\x00\\x73\\xc6\\x23\\x8e\\x13\\x52\\x3f\\x85\\xdf\\x19\\x1f\\x81\\x78\\x82\\x64\\x3a\\x87\\x95\\xf7\\x4a\\xed\\x12\\xab\\xc3\\xca\\x57\\x5a\\x7c\\x69\\x05\\x33\\xbe\\x7c\\x4f\\x3f\\x76\\x41\\xd8\\xa3\\x77\\xad\\xf0\\x97\\x31\\xea\\xda\\x8d\\x9c\\xf5\\xe0\\xe6\\xa3\\x1d\\x27\\xb9\\xef\\x1e\\x3c\\x08\\x23\\x3b\\x65\\x4c\\x28\\x23\\xb2\\xc7\\x0a\\xcb\\x56\\x71\\xa4\\x7e\\x3e\\xfa\\x98\\x1e\\x9f\\x67\\xfa\\x9f\\x74\\xe9\\xf5\\x41\\x12\\xd5\\x39\\x3c\\x42\\x10\\x13\\x48\\x47\\x0b\\x22\\x5c\\xfb\\xe6\\x47\\x26\\x59\\xa0\\x89\\xf6\\x46\\xe2\\x9b\\x00\\x64\\x81\\x38\\xd8\\x16\\x38\\x60\\xc6\\xd0\\xe1\\xed\\xcc\\x72\\x73\\xbd\\x7f\\x49\\x51\\x97\\x36\\x9d\\xcf\\x76\\x71\\x0e\\x5b\\x30\\xb1\\x8b\\x34\\x30\\x31\\x6d\\x51\\x18\\x77\\xcd\\xd2\\x63\\xd1\\x17\\x6e\\x31\\xf8\\x33\\xa0\\x63\\x55\\x65\\x5d\\xfd\\xcb\\xeb\\x5c\\xa1\\xda\\x77\\x36\\xa7\\x1d\\x24\\x34\\x6c\\xc7\\xfc\\xde\\xc0\\x34\\x48\\x48\\xdf\\x1d\\x00\\x72\\x4f\\x48\\x58\\x8e\\xe5\\x19\\xe5\\xe8\\xd0\\x42\\xb9\\xa2\\x95\\x2f\\x05\\xb4\\xb1\\x5d\\x1a\\x6f\\xb8\\xb3\\xc3\\x38\\xb5\\x75\\x33\\xe6\\xe9\\x20\\x3d\\x47\\x44\\xe3\\x67\\x2c\\xc3\\xcf\\x60\\x49\\x75\\x5b\\x1d\\x84\\x4a\\x11\\x20\\x2c\\x28\\x19\\x3f\\xfa\\x1c\\xa5\\x2f\\x0b\\xa4\\xcf\\x36\\x49\\x25\\xe5\\x25\\x65\\x15\\xa4\\xf7\\x79\\xc3\\xe6\\x06\\x38\\xa9\\x71\\x19\\x96\\x14\\x8a\\xb5\\x82\\x0f\\xb0\\xf4\\xd8\\x90\\xc7\\x5f\\xc2\\xf7\\x88\\xa8\\xa8\\xe4\\x88\\x8e\\xaf\\xc2\\xf2\\x4a\\xa1\\xe3\\xa8\\xce\\x50\\x75\\x60\\xc9\\x54\\xf0\\xa8\\x14\\x36\\x58\\xdd\\xf0\\x43\\x23\\x77\\xed\\x51\\x0a\\xbf\\x1e\\xd6\\x63\\x9a\\x20\\xf7\\x29\\xa3\\x62\\x42\\x9d\\x32\\x3f\\xa0\\x04\\x0c\\x23\\x51\\xaa\\x4e\\x83\\x5e\\x58\\xad\\x73\\x3d\\x35\\x7d\\xfe\\xb4\\x68\\x50\\x12\\x29\\x28\\x0f\\x70\\x44\\x38\\x38\\x18\\x51\\xee\\x74\\xb4\\x52\\xcc\\x6b\\xa8\\xd5\\x8f\\x1b\\x89\\x5e\\x8b\\xe0\\x02\\xcf\\x47\\x84\\xa6\\xf4\\x4a\\x73\\x0f\\x84\\xdb\\xc7\\xcc\\x0f\\x9b\\x72\\x8e\\x5f\\x37\\x21\\xa4\\xf7\\x0c\\xa6\\xc5\\x9f\\x31\\x1f\\x53\\x8b\\x09\\xbb\\x12\\x2c\\x30\\xc2\\xae\\xc4\\xcb\\x2e\\x0f\\x0b\\x4a\\x4b\\xf9\\xbc\\x95\\x38\\xec\\x9b\\x98\\xc5\\xdf\\x6e\\x34\\xfc\\x00\\xde\\xc4\\x4c\\x2e\\x6f\\x58\\xa6\\x66\\x73\\x27\\x94\\x3d\\xba\\xc7\\x5d\\xa3\\xfa\\x91\\x88\\x59\\xa6\\xcf\\x1f\\xd5\\xf4\\x3d\\xb7\\x96\\xbb\\x87\\xfd\\xe9\\xc8\\x63\\x66\\x43\\x47\\x5e\\x92\\x66\\x4c\\xbe\\x18\\x10\\xa4\\x46\\x25\\xfd\\x99\\x01\\x79\\xc2\\x9d\\x85\\x17\\xa3\\xdb\\x7b\\x49\\x41\\xeb\\xc1\\xe9\\x7d\\xa4\\x23\\xd5\\x9b\\x9a\\xf5\\xf9\\x9b\\xc7\\x4d\\x2b\\x1a\\x97\\x6b\\xcb\\xab\\xa6\\x6d\\x18\\x3e\\x28\\xbb\\x7b\\xe2\\xc4\\xa4\\xf0\\x21\\x8b\\x36\\x2e\\xac\\xd8\\xf5\\x8b\\x7e\\xf3\\xcb\\xf9\\x55\\xf0\\x96\\xdb\\x5e\\xea\\x1c\\x33\\xb8\\xcf\\x7e\\x50\\x3d\\xae\\xb4\\xc8\\x66\\x39\\xda\\x61\\xc3\\xae\\x3d\\x28\\xff\\xe1\\x34\\x62\\x9b\\xf4\\xb0\\x0b\\xdb\\x83\\xca\\x5f\\x5d\\xa7\\x26\\xb6\\xba\\x81\\xb0\\x7a\\x63\\x88\\x30\\x01\\xcf\\x37\\x56\\xe3\\x09\\x70\\xcf\\xa2\\xf4\\xbf\\x89\\x6a\\x38\\x3d\\xb5\\x2b\\x81\\xe7\\xf1\\x74\\x14\\x60\\x03\\xc0\\xdb\\x13\\x99\\x47\\x3c\\xb4\\x5c\\xb3\\x85\\x16\\xb0\\xd1\\x0d\\xb7\\x55\\x58\\x3c\\x4b\\xc3\\xe8\\xfa\\xc1\\x4f\\x28\\x2c\\x6c\\xdb\\x3c\\xff\\xa4\\xeb\\x28\\xd7\\x85\\xae\\xcd\\xf0\\x63\\x8c\\x4e\\xb0\\x55\\x44\\x0f\\xa4\\xf8\\xa9\\xe4\\xb5\\xd4\\xd7\\x56\\x91\\x0e\\xe5\\x12\\x18\\x0d\\x1c\\x56\\x8f\\x2c\\xac\\x78\\xc3\\x70\\x82\\x5b\\x81\\x53\\xdc\\xd7\\xd0\\x85\\x30\\x90\\x3d\\xfd\\xf0\\xb4\\x4e\\xeb\\xb6\\xa1\\x57\\xb9\\x6b\\xa8\\xbc\\xdf\\x62\\xf7\\xa1\\x83\\xf9\\xfb\\x01\\x1c\\xb1\\x62\\x39\\xc5\\xbf\\x6f\\xba\\xc5\\x4d\\x11\\xd7\\x32\\x5a\\xc6\\x7a\\x4c\\xad\\xea\\x28\\x03\\xf9\\x78\\x7a\\x7b\\x30\\x62\\xac\\x73\\x64\\x24\\xb1\\x87\\x0b\\x7e\\x96\\x6d\\x14\\x37\\x8b\\x0e\\xc8\\x88\\x1c\\xa9\\xad\\xb4\\xec\\x91\\x37\\x90\\xba\\xaa\\xa1\\x3f\\xe8\\x05\\xfa\\x2b\\xda\\xb9\\x7f\\x41\\x33\\xa3\\xef\\x81\\xfc\\xd3\\xec\\x82\\xad\\xb0\\x14\\xf5\\x40\\x8f\\xdb\\x38\\xd0\\xa7\\xc8\\xbf\\xf6\\x9d\\xbc\\x5f\\x40\\x28\\x5d\\x43\\x21\\x14\\xff\\xea\\x1a\\x66\\xc5\\x1f\\x73\\x07\\x65\\x02\\x77\\x10\\x8f\\x03\\x18\\x8f\\x55\\x6e\\xe6\\x2e\\x1a\\x08\\x3a\\x45\\x92\\xc2\\xa9\\x10\\xd9\\xfb\\x8f\\xdb\\x61\\xa5\\xba\\x7f\\x43\\xeb\\x4e\\x3c\\x04\\x8b\\xa8\\xd1\\xb9\\xb6\\xed\\x70\\xc1\\x50\\x50\\xf8\\x78\\x09\\x8c\\xec\\x99\\x44\\x6d\\x0e\\xed\\x3f\\x52\\x8d\\xf5\\x2a\\x98\\x49\\x39\\x61\\x0a\\x92\\x04\\x74\\x54\\xe3\\x11\\xf4\\xf8\\xc9\\x0c\\xa3\\x16\\xe4\\xd9\\x0b\\xab\\xb2\\x54\\x50\\xe5\\xdc\\x16\\x0d\\x7e\\x3c\\x7d\\xb7\\xf1\\x06\\xe0\\xb1\\x75\\xe1\\x62\\x02\\x6e\\x42\\xba\\x1e\\x98\\x32\\x01\\x9b\\xf1\\xd2\\xa6\\xd0\\x19\\xee\\x7d\\x56\\xb0\\xb3\\xaf\\xa5\\x77\\xd1\\xcc\\x1b\\xb3\\x3f\\x78\\xf3\\xeb\\x6e\\x3d\\xb7\\x5d\\xcd\\x2d\\x3b\\xc5\\xdd\\xdb\\x77\\xb4\\x6a\\x8b\\x7b\\xc9\\x41\\x50\\xbf\\xaf\\xb4\\xa2\\xe4\\x3f\\xe8\\xba\\xfb\\x77\\x18\\x78\\x68\\x01\\xa8\\xbd\\x36\\x73\\x04\\xbf\\x66\\x8b\\xf0\\x99\\xa7\\x47\\xcb\\xf5\\x5d\\x20\\xac\\x6f\\x40\\xd4\\x0b\\x5d\\x6e\\xe0\\xae\\xfd\\x45\\xe3\\x1d\\x0c\\x5e\\x86\\xec\\xeb\\x1c\\xe9\\xfd\\x14\\x7e\\x4c\\x21\\x17\\xa4\\xa5\\xa0\\xd2\\x82\\xcf\\x90\\x96\\x40\\x2e\\xbd\\xec\\xe6\\x6f\\x8a\\x03\\xdd\\x7b\\xad\\x60\\x57\\x79\\x48\\xc7\\xdc\\xa3\\x61\\x07\\x67\\x57\\x67\\x04\\x1e\\x84\\xda\\x55\\xdd\\x7a\\x75\\x3a\\x98\\x54\\x51\\xdc\\x87\\xc7\\xd9\\x2b\\xc6\\x6b\\x70\\x33\\x5d\\xe3\\x56\\x26\\xf2\\x84\\x16\\x3f\\xda\\x67\\x7f\\x94\\x0b\\x06\\x5a\\xee\\x59\\x83\\x02\\xf0\\x99\\xa0\\xcb\\x90\\xb1\\xf2\\x49\\x18\\xe4\\xf4\\x0f\\x7d\\x57\\x64\\x8d\\x15\\x26\\x7e\\xff\\xa9\\xad\\x13\\xba\\x88\\xfe\\xb8\\x79\\x2e\\x73\\x44\\xd2\\x9e\\xc4\\x9e\\xa9\\x95\\x33\\xa6\\x6e\\x29\\xeb\\xbe\\x6a\\x0d\\xb6\\xa9\\xfb\\x8e\\x67\\x37\\xa0\\x57\\xd0\\xe5\\xc6\\xd7\\x67\\x03\\xf3\\x8f\\xc9\\x59\\x77\\xd1\\xa7\\x3d\\x16\\x55\\xf7\\xab\\x07\\xc3\\xb3\\xab\\x86\\xd1\\x3d\\xea\\xf5\\xa6\\x7b\\xdc\\x7b\\x98\\x2e\\x25\\x63\\xa8\\x67\\xfd\\x80\\x9f\\x42\\x0c\\xe8\\x4a\\xb4\\x0b\\x16\\x2d\\x82\\xb5\\xeb\\x52\\xb5\\x3a\\x3b\\x64\\x38\\x91\\x23\\x0c\\xec\\x3b\\x72\\xed\\xf9\\x1d\\xd7\\x0a\\x2f\\x0c\\x41\\xef\\x21\\x3d\\x1a\\xd3\\x1a\\xe8\\x3f\\x60\\x7f\\x7f\\x5c\\x54\\x06\\x76\\x81\\x5d\\xa8\\xb5\\xfb\\xd1\\x9f\\x86\\xd7\\x79\\x9b\\x86\\xcf\\xb5\\x58\\x37\\xc8\\xfa\\x8a\\x3c\\xa6\\xd6\\x36\\x80\\xbe\\x75\\x2e\\xb5\\x5a\\x27\\x39\\x87\\x67\\x41\\xc7\\xa8\\x28\\xb7\\x3a\\x8f\\xde\\x7b\\x76\\x23\\xdf\\x0a\\x43\\x92\\x2f\\x66\\xd5\\xc1\\x6b\\xf7\\x6f\\xe8\\x6e\\x37\\xdc\\x26\\xb6\\xfc\\xdf\\x9d\\x7f\\xb3\\xa2\\xc2\\x05\\x44\\x11\\xfb\\x0d\\x79\\x74\\x94\\x2b\\x2c\\x8a\\x98\\x50\\x86\\xf6\\x1d\\x84\\x47\\xc8\\x78\\x81\\x82\\x0d\\x0d\\x60\\x92\\x8f\\x05\\x40\\x3c\\x5e\\xbd\\x2b\\x20\\x40\\xc9\\xb2\\x26\\x41\\xcc\\x2c\\x1e\\x4c\\x29\\x0c\\xac\\xf4\\x4e\\xa7\\x37\\x33\\x96\\xf4\\x45\\xf7\\x08\\x9b\\xcc\\x70\\x98\\x87\\x0a\\xd8\\x85\\x0c\\x0a\\xde\\xfb\\xe2\\x43\\x6b\\x26\\x3a\\x82\\x1e\\xa0\\x21\\x61\\xe0\\x00\\x98\\x59\\x60\\x5e\\xfe\\x3c\\xfa\\x3e\\x1b\\xbe\\x89\\x87\\x6f\\x3c\\xdd\\xf7\\x28\\xba\\x85\\x3e\\x3e\\x08\\x0e\\xac\\xec\\x5a\\x33\\x0b\\xed\\x23\\xf4\\x60\\x3f\\x9d\\x3b\\xc7\\x91\\xb8\\x4e\\xc0\\x49\\xa3\\x52\\x09\\xfc\\xa5\\xa7\\x89\\x42\\x51\\x25\\xb4\\xf3\\x3e\\xb9\\x60\\xb2\\xe2\\x81\\x1d\\x6b\\x91\\x84\\xde\\x25\\x11\\xc8\\x2f\\x70\\xb4\\xa1\\xce\\x2f\\xad\\x4b\\xce\\xc7\\x93\\x52\\xb8\\x95\\xcb\\x12\\xba\\xbc\\x56\\xe0\\x7c\\xf8\\x0d\\xd6\\xe6\\x5d\\xe9\\xa9\\x3d\\xce\\x6f\\xd8\\xfc\\xf8\\xe2\\x80\\xdc\\xf0\\xad\\x87\\xff\\x44\\xdf\\xde\\xbe\\x13\\xc3\\xcb\\x1a\\xbb\\x6d\\xdc\\x01\\x3c\\x96\\x86\\x89\\xa8\\x53\\x8b\\x81\\x1c\\x3b\\x8d\\xbd\\x4f\\x68\\x20\\x80\\x67\\x7c\\xb4\\xd7\\x53\\x12\\x9e\\xc6\\xab\\x30\\x5e\\x06\\xfc\\xed\\x15\\x1e\\x51\\xc7\\x7e\\xfa\\x38\\xdf\\x0a\\xaf\\xb9\\x1b\\xee\\x83\\xc0\\x7e\\x25\\x11\\x1d\\xcf\\x3b\\x53\\xd7\\xac\\xf9\\xfe\\x20\\x67\\x75\\xff\\x1d\\x3e\\xef\\xb9\\x7b\\x77\\x5f\\x3b\\x9c\\x82\\xf2\\xf9\\x38\\x1f\\x83\\xf9\\x5a\\x4f\\xd7\\x95\\x81\\x89\\xac\\x63\\x59\\x4e\\xe9\\x87\\x0d\\x5a\\x1e\\x5e\\x28\\x05\\x0c\\x87\\x0f\\xc1\\xcd\\x9b\\xbd\\xe7\\xfa\\x9b\\x84\\x88\\x6c\\x66\\xbe\\x6f\\x1b\\x64\\x24\\xc4\\xa2\\xf1\\x06\\x74\\xfb\\xd7\\x0d\\xf7\\xad\\x50\\xfc\\x5e\\xe3\\x3b\\x68\\xdd\\x83\\xe8\\x03\\x00\\xae\\x18\\x55\\xe5\\xfe\\x99\\x0d\\x79\\x34\\x8c\\xdb\\x0e\\x8e\\x54\\x2f\\x7b\\x0d\\xcd\\x40\\x97\\x87\\xdc\\xea\\xf2\\x2d\\x30\\x2f\\x29\\xc8\\x21\\xfb\\x00\\xe6\\x53\\xdb\\xbc\\x0f\\xe4\\x3e\\x6b\\x1f\\xb0\\x3e\\xb9\\x0f\\x4c\\x6d\\x5c\\xee\\xd9\\x07\\xb0\\x3d\\x83\\xef\\xd1\\x5d\\x80\\xd8\\x32\\x5e\\x76\\x9b\\x9b\\x7e\\x17\\x25\\x52\\xbd\\x69\\x7b\\x8c\\x91\\x63\\xbf\\xa9\\x1e\\x9b\\x2d\\xa3\\x86\\x33\\x9d\\xc3\\xcf\\x34\\x62\\x2b\\xd0\\x0f\\x3f\\xdf\\xe8\\x51\\x18\\x6f\\x4f\\x5d\\xbe\\x3f\\x08\\xde\\xeb\\xfd\\x93\\xf8\\x97\\x72\\xc0\\x59\\xfd\\xed\\xa0\\x70\\x7a\\x65\\xab\\xa2\\xf3\\xc5\\x49\\x13\\xea\\x2a\\x1b\\xbf\\xd8\\xd2\\x79\\xdf\\x6b\\x7b\\x4a\\x3e\\x45\\x9b\\xd1\\x2b\\x0d\\x70\\x58\\xe0\\x73\\x8b\\x41\\x17\\xd4\\x70\\x6c\\x5f\\x5f\\x1d\\xfa\\xa1\\xf4\\xee\\x7b\\x50\\xe9\\xfe\\x1b\\xaf\\xa2\\x4f\\xab\\xb9\\x0f\\xf0\\x3a\\xbc\\x20\\xd8\\xec\\x10\\xa6\\xcd\\x09\\xb9\\xc9\\x14\\xc0\\x4f\\x9d\\x09\\x3b\\x51\\xfe\\x00\\x82\\x33\\x5e\\x03\\xee\\x73\\xb1\\x4a\\x83\\x82\\x56\\xdf\\x55\\xd3\\x16\\xb0\\xa4\\x99\\xa4\\x83\\xe2\\xf4\\x83\\xfe\\xe7\\xc2\\xa0\\xe9\\xcb\\xf7\\xb4\\xc4\\x31\\x98\\xb7\\x71\\xfb\\x44\\xdb\\xb8\\xbd\\x3b\\xe4\\x61\\xfe\\x39\\x45\\x0e\\x13\\x36\\x0d\\xdb\\x8f\\xe4\\x0d\\x25\\x2e\\x42\\xcf\\x84\\x89\\x23\\xdc\\xa7\\x4f\\xde\\x70\\x1d\\x4c\\x1c\\x45\\xfa\\xa4\\x34\\x35\\x31\\x37\\x30\\x2d\\x93\\xb9\\x6b\\xda\\x48\\x11\\xd7\\x94\\xc9\\x30\\x1a\\x89\\x88\\x03\\x1d\\x18\\xfa\\x3b\\x92\\xe1\\x2c\\xfc\\x4e\\xda\\x04\\x9e\\xfc\\x1d\\xec\\xc2\\xf5\\x68\\xf1\\x3b\\x29\\x60\\x18\\xfe\\x3c\\xa4\\xe2\\xc4\\xec\\x63\\xbc\\x07\\x92\\x3b\\x2f\\x00\\xe9\\x79\\x88\\xdc\\x79\\xd9\\x80\\x1d\\x6e\\x5c\\x0a\\xc4\\x0f\\x38\\x31\\x9c\\x45\\x62\\x13\\xf1\\x9c\\x98\\xbb\\x4b\\xdf\\x27\\x61\\xd4\\x27\\x44\\x40\\xcc\\xbf\\xd7\\x4e\\x21\\x96\\x49\\xed\\x0c\\x29\\x3b\\x6e\\x58\\x82\\x3f\\x31\\x10\\x7f\\xf9\\x86\\x7c\\xcc\\xbd\\x80\\x7c\\x94\\x76\\x0d\\x63\\xd8\\xaf\\x68\\x0f\\x71\\x39\\x13\\xec\\x54\\xc9\\xd9\\x7c\\x97\\x4c\\x2c\\x97\\x8b\\xc4\\x6a\\x20\\x32\\x08\\xe5\\xcc\\xda\\x34\\xbe\\xb5\\x07\\xcd\\x0f\\x51\\x40\\xf6\\xab\\x83\\xe9\\x68\\xea\\xd1\\x57\\x60\\xf9\\x81\\xd4\\x4e\\x3f\\x83\\x14\\x74\\x8d\\x4b\\x77\\xcf\\x03\\x37\\x90\\x9d\\x81\\x4d\\x6b\\xf0\\xf9\\x41\\x43\\xeb\\xab\\x74\\xa4\\x07\\x29\\xa9\\x5e\\x97\\x2b\\xf3\\x5d\\x3a\\xb9\\x58\\x23\\xd7\\xc8\\x81\\x98\\x64\\xc8\\x88\\xd5\\x22\\x03\\x50\\x51\\x40\\x70\\xc1\\x7b\\xf2\\x24\\x1b\\xf9\\xf3\\xa0\\x85\\xd1\\xb4\\xb7\\x27\\xf0\\x20\\x58\\x5a\\x09\\x0b\\xdc\\x00\\x77\\x63\\x47\\x74\\xfb\\xfd\\x8b\\xf0\\x5d\\x78\\xc4\\x8c\\x16\\x66\\x82\\x3e\\x66\\x74\\xb8\\x33\\x58\\xeb\\xd6\\x7c\\x3b\\x38\\x00\\xf4\\x42\\x75\\x04\\x38\\xf1\\xc2\\x52\\xb4\\x17\\xf4\\x04\\x1f\\x93\\xb8\\x4a\\xd3\\x5f\\x78\\xff\\xf8\\x95\\xcb\\xa5\\xf7\\x3b\\x4e\\xa6\\x8b\\xb3\\x75\\x70\\xbb\\xc8\\x76\\x04\\xc2\\xae\\xc0\\xd5\\xb6\\x7d\\xbe\\x2b\\x22\\x34\\x32\\x59\\xa2\\x6c\\x9b\\x8c\\xff\\xc8\\x6d\\x91\\xc6\\x78\\x4e\\xce\\x91\\xd6\\x71\\x1a\\x5f\\xa0\\x79\\x12\\x30\\x4d\\xe3\\xdb\\x3a\\x79\\xf2\\x12\\x3d\\xb9\\x4f\\x5a\\x92\\xd9\\x20\\x9c\\xf0\\xd4\\xb0\\xb9\\x43\\xac\\x80\\xdc\\xef\\x9f\\xec\\x00\\x3c\\x8a\\x8b\\x9a\\xc0\\x14\\x03\\x12\\xc6\\x27\\x6f\\x82\\xb1\\x86\\x79\\x3d\\xc7\\x5a\\x6a\\xab\\x7e\\x9b\\x35\\x45\\xb6\\xf2\\x4a\\xf9\\x98\\x5b\\x6f\\x1d\\x50\\xa8\\x93\\x52\\x7a\\x14\\x06\\xee\\x8d\\x6f\\x5c\\x7e\\x34\\x66\\xc2\\x2e\\xb7\\x8d\\x6b\\xd3\\x26\\xc6\\x39\\xa5\\xaf\\xda\\x7f\\xd6\\xd2\\xe9\\x8f\\x3f\\x2a\\x98\\x6b\\x45\\x1b\\x14\\x31\\xb0\\x73\\x55\\x97\\x37\\x8b\\xbb\\xc5\\x02\\x66\\x52\\xd5\\x83\\xca\\xc9\\x9f\\xfc\\x8b\\xe3\\x32\\x7a\\x25\\x76\\x6c\\x57\\x38\\xd0\\xff\\x85\\x55\\xcb\\x96\\x81\\xec\\xf1\\xfb\\x80\\x28\\x2d\\x7b\\xd0\\x96\\x42\\x17\\xc7\\xae\\x76\\xd7\\x1f\\xd9\\x9c\\x9b\\xd1\\x65\\x06\\xd6\\x8a\\x6e\\x58\\xff\\xa6\\xd0\\x7e\\xe5\\xc1\\x14\\x4b\\xd2\\xa2\\x30\\xe8\\x49\\x45\\x81\\xd4\\x22\\x34\\x5b\\xd6\\x42\\x18\\x42\\xb0\\x48\\xb5\\xc6\\x7c\\x97\\xd6\\xf0\\x64\\x99\\x41\\x73\\x9b\\x05\\xbb\\x60\\xef\\xf1\\x31\\x94\\xd6\\x9c\\x10\\xe8\\x5a\\xd2\\xc1\\x91\\x88\\x44\\xe1\\x41\\xbf\\x1c\\x3e\\x75\\x30\\x78\\x65\\x77\\xc3\\xe4\\xfd\\xe6\\x65\\xc6\\xa0\\xef\\xbf\\x40\\x49\\x83\\xa7\\x82\\xe8\\x8e\\x40\\x35\\xbf\\xe6\\xe2\\xf1\\x8e\\x3f\\xcd\\xab\\x1d\\x34\\x0a\\x0e\\x03\\x1f\\x3d\\x37\\x7d\\x61\\xd1\\xd2\\x80\\x9e\\xd1\\x3b\\x0f\\x81\\x8f\\xd0\\xd1\\x92\\xd1\\x8b\\xc1\\xc7\\xe8\\xd8\\xb0\\xd1\\xce\\x6c\\x21\\x2f\\x67\\x14\\xc9\\xe9\\x60\\xba\\x70\\x44\\x47\\xdb\\x63\\xfa\\x73\\xa9\\x8e\\x6a\\x48\\xbc\\x57\\xe4\\x47\\x5a\\x89\\x71\\x58\\xab\\x38\\x43\\xb3\\xbb\\xa9\\x61\\x88\\xd6\\x84\\xb1\\x74\\x45\\xdb\\x93\\xb4\\x5c\\x2e\\xda\\x86\\xce\\xa3\\x35\\x37\\x41\\x05\\xb8\\x79\\x7a\\xcd\\xee\\x86\\xad\\x67\\xbe\\xf8\\x1e\\xbe\\x84\\xce\\xa2\\xcd\\x5c\\x3a\\x1a\\xb6\\x62\\xc1\\xe3\\x4f\\x81\\x82\\xb7\\xcf\\x3a\\xe1\\xf9\\xa4\\xff\\x07\\xc9\\x3e\\xa4\\xf8\\x29\\xfe\\x82\\x6c\\x64\\x10\\x6a\\x88\\x6c\\x64\\x86\\x7c\\x1f\\x34\\x95\\x16\\x3d\\x9e\\x79\\xc9\\x84\\xf9\\x53\\x12\\x6c\\x11\\x3c\\x05\\x24\\x73\\x3b\\x49\\x1b\\xb7\\xc8\\x45\\xc6\\xe7\\x49\\x29\\x5e\\xc4\\xd6\\xae\\xdd\\xd5\\x90\\xf9\\xb3\\xf9\\xe7\\xce\\x67\\xbe\\xfa\\x0e\\x4e\\x04\\x57\\xd1\\x04\\x42\\x10\\xf8\\xba\\x7e\\xf9\\x42\\x74\\x91\\xe8\\xae\\x0a\\xdb\\x57\\xec\\x28\\x72\\x29\\x94\\x9e\\x38\\x67\\x20\\x59\\x30\\x42\\xae\\x14\\x80\\x50\\x44\\x48\\x01\\xf2\\xe6\\xb5\\xd3\\xa2\\x77\\x2f\\x91\\x80\\x67\\xcd\\xb0\\xb3\\x1f\\x3f\\xb8\\x09\\x9b\\xcc\\xee\\x93\\x99\\xb0\\x95\\xd9\\xfd\\x49\\x67\\x58\\xe6\\x59\\x20\\xb4\\x3e\\x00\\xcb\\x18\\x73\\xcd\\x44\\x11\\x8e\\xad\\x2a\\xa5\\x8a\\x88\\x53\\x65\\x32\\xa9\\x38\\x96\\x09\\x0a\\xc2\\xca\\x11\\xa4\\x61\\x24\\x2d\\x8b\\x4e\\x5a\\xe4\\x5b\\xb6\\xa8\\x44\\xb2\\x3d\\x23\\xf9\\xd2\\xd3\\x78\\x0b\\xdc\\xdb\\x7f\\x58\\x7f\\x40\\x56\\x31\\x72\\xe2\\x12\\x9f\\xde\\x5a\\x25\\xa0\\xd7\\xda\\xa3\\xf9\\x4b\\x0b\\x41\\xf9\\x9c\\xca\\xdb\\xfa\\xea\\xda\\x98\\xdc\\xfe\\x95\\x23\\x9a\\x5b\\x66\\xd1\\xac\\xcb\\xd9\\x79\\xb4\\x49\\xd6\\x98\\xfd\\x43\\xf0\\x1c\\xd5\\xa3\\x0a\\xbc\\x5f\\x93\\x1a\\x04\\x25\\xa9\\xdc\\x51\\xfa\\xf5\\x19\\xa4\\x94\\x91\\x7c\\x2c\\x3a\\x37\\xe2\\xfc\\x27\\x91\\x6e\\xda\\x7a\\xd3\\xb1\\xf0\\x5f\\x92\\x92\\x01\\x93\\xd0\\xfc\\x60\\xf6\\xc3\\x60\\x34\\x70\\x0b\\xc8\\x0a\\x46\\xca\\x1d\\x11\\x6f\\x45\\xb0\\x87\\x56\\xae\\x7c\\xfc\\xc5\\xca\\x9b\\xaf\\xbd\\x46\\xf7\\xb5\\xd9\\x4d\\xdf\\xb3\\x6f\\xe0\\x31\\xb4\\x44\\xcb\\x88\\x40\\x54\\x6a\\xda\\x20\\xda\\xe8\\xd5\\x32\\x51\\x98\\x7f\\x8a\\xc3\\x93\\x83\\x86\\x37\\x12\\xec\\x7b\\x80\\xd5\\xe8\\xfb\\x3d\\xdd\\x3a\\xe6\\x4d\\x36\\x55\\x3d\\x34\\x83\\x5d\\xeb\\x42\\x3f\\xd5\\x03\\x83\\x34\\x52\\xdb\\x6f\\xc0\\xa8\\xc9\\x70\\xf8\\x32\\xb7\\x68\\xe7\\x09\\xb2\\x3f\\xcc\\x23\\x18\\xcd\\x34\\x7f\\xe6\\x6f\\x46\\xe8\\xef\\xc5\\xce\\xa4\\x58\\x67\\xe1\\x4e\\x0d\\x94\\xca\\x58\\xfc\\x87\\x20\\x68\\xf8\\x35\\x4f\\xad\\x07\\x46\\x90\\xce\\xab\\x24\\x8b\\x44\\xad\\x1c\\x6a\\x7c\\xde\\x60\\x4b\\xdc\\x55\\x05\\xcb\\x42\\x97\\x0d\\xab\\xeb\\xfd\\xb1\\xe5\\x4e\\x4f\\xf0\\x01\\xd8\\x31\\x62\\xc7\\x08\\xf0\\x18\\x4d\\xdc\\xb1\\x63\\x07\\x9a\\xcb\\xef\\xd1\\x12\\x3c\\xde\\x65\\x8a\\x83\\x17\\xe4\\x54\\x1a\\xa0\\x1f\\x2b\\x56\\xab\\x25\\x6a\\x2d\\x10\\xf3\\xcd\\x0d\\xb3\\x68\\x7a\\xbd\\x55\\xa8\\x66\\xb4\\x0a\\xd5\\x8c\\x56\\x8a\\xaf\\x0c\\xfb\\xbe\\xd8\\x87\\x0b\\x5f\\x70\\xe4\\x26\\x08\\xb0\\x2b\\xb8\\xd8\\x7e\\x00\\x1f\\xdf\\x6f\\x1e\\x5e\\xa0\\x0d\\x67\\x57\\x45\\x5e\\x74\\x0f\\xc4\\xc6\\xfe\\xdd\\x89\\x73\\x72\\x17\\xd6\\xc3\\x84\\x47\\x97\\xe1\\xa1\\x61\\xf3\\xe8\\x78\\x79\\xf4\\x5c\\x43\\xf8\\x31\\x38\\x65\\xac\\xdc\\x8f\\x53\\xaa\\x25\\x7e\\x9e\\x4c\\xf6\\x34\\x2f\\x5a\\xb8\\x80\\x14\\x0e\\xde\\xe1\\xb1\\xc1\\x6f\\x1e\\x12\\x60\\xc1\\x3d\\x50\\xe0\\xf8\\x89\\x02\\x0c\\xb8\\xa7\\x9e\\x88\\xd6\\x1a\\x16\\xd2\\x3d\\xb6\\x8c\\xaf\\x0b\\xd4\\x8a\\xa1\\x81\\xae\\xdb\\xd6\\x4c\\x22\\xb7\\x8b\\xfd\\x13\\xef\\x5c\\x01\\x8c\\xdf\\x09\\x9d\\x58\\x41\\xee\\x4e\\xa9\\x97\\x48\\xa0\\xce\\x18\\xba\\x22\\x45\\xe1\\x2a\\x21\\x07\\x18\\x2b\\x28\\xbc\\xf0\\xeb\\x8f\\x68\\x1f\\x5e\\x71\\x24\\x96\\x9d\\x34\\xef\\xd5\\xa9\\x8e\\xd3\\xe7\\xff\\xf3\\xe7\\xab\\xec\\x9f\\x97\\x1b\\xd1\\xb7\\xe8\\x1d\\x30\\x1b\\xef\\x96\\x51\\x67\\xa3\\x72\\x6b\\xc7\\xcc\\x9c\\xbc\\xff\\xf4\\xec\\x89\\x98\\xaf\\x48\\x66\\x2c\\xb7\\x83\\xfd\\x17\\x1d\\x81\\xf1\\xc3\\xa4\\x90\\x3e\\x01\\x78\\x04\\xd2\\xa7\\x82\\xe4\\xb5\\xa5\\xe0\\x71\\x78\\xd8\\x2e\\x07\\x6d\\xd6\\x0f\\xb7\\xa3\\xe0\\xbe\\x45\\x09\\xb3\\xd6\\x81\\xc1\\x20\\xe3\\xc1\\x5f\\x9f\\x9f\\x35\\xce\\xa8\\x39\\xcc\\x86\\xa3\\x73\\x3d\\x47\\x2a\\xeb\\xd5\\x27\\x96\\x01\\x31\\x08\\x7b\\xad\\xfe\\x32\\xfa\\x39\\xbc\\x51\\xb7\\xb1\\x6a\\x62\\x39\\xb9\\x23\\x89\\x6e\\xfa\\x90\\xdb\\xcb\\x15\\x53\\x8c\\x73\\x1b\\xa9\\xcd\\x30\\x86\\x9a\\x2c\\x5c\\xb0\\x3e\\x58\\x22\\x15\\xa9\\xb5\\x9c\\x5c\\xef\\x4f\\x18\\x4b\\x8a\\x37\\xa5\\xd9\\xf1\\x01\\x83\\x4c\\x1c\\x8f\\xb4\\x4e\\xe0\\xae\\x09\\x0a\\xb6\\x98\\xde\\xa9\\x46\\x26\\x39\\x28\\xda\\x02\\x08\\x97\\xd0\\xeb\\x5a\\x28\\xff\\xed\\x87\\x43\\xa5\\x61\\xc7\\x37\\xdf\\x07\\xf7\\xf2\\xfb\\x0f\\x08\\x3b\\xb0\\xf6\\xc6\\x73\\xa5\\x28\\x66\\xc9\\xab\\x20\\xe9\\xb9\\x81\\xe0\\xd6\\x73\\xa7\\x93\\x2e\\x37\\xfe\\x7d\\xa0\\x6c\\x7f\\x43\\x1f\\x34\\x7f\\xca\\x9d\\xa2\\x41\\xfb\\x0f\\x17\\x9c\\x35\\x81\\x2f\\x8b\\x8f\\xce\\x9e\\x08\\x7b\\x07\\x20\\x4b\\xf1\\xd1\\x99\\xf4\\xce\\x84\\xf6\\xb7\\xe1\\xde\\xc6\\xb6\\xc2\\xc2\\x44\\x33\\x89\\x8c\\xc3\\x19\\x12\\xde\\x26\\xb0\\x4d\\xbe\\xcb\\x12\\x97\\xef\\x32\\x05\\x4a\\xfc\\x2c\\x16\\xb9\\x21\\xd0\\x18\\x49\\xb7\\x4f\\x55\\xcb\\xed\\x33\\x3e\\x2d\\xad\\x39\\xa1\\xdf\\x67\\xe3\\x14\\xf6\\x4d\\x9f\\x66\\x2d\\x0e\\x9a\\x36\\xa1\\xf5\\x27\\x59\\xf1\\x9e\\xbd\\x12\\x6a\\x8c\\x53\\xd2\\x87\\x87\\xd5\\x4e\\xfe\\xea\\x54\\xec\\xb4\\x53\\x53\\x6a\\x26\\xbd\\xbf\\xb2\\x31\\xae\\xea\\x95\\x29\\xb3\\x5a\\xc1\\x89\\x8e\\x0e\\x8b\\x36\\x4e\\x5e\\xba\\x01\\xcd\\xe9\\x5e\\x65\\x45\\xaf\\x2a\\x61\\xe7\\xca\\xc2\\x73\\x7d\\x0b\\xf1\\xde\\x78\\xea\\x54\\x43\\xe3\\xa7\\xe8\\xa5\\xb3\\xc7\\x8e\\x6d\\xdd\\x52\\x79\\xe8\\x97\\xc9\\x15\\xa0\\x3f\\x08\\xf8\\x0e\\x1d\\x75\\xff\\x79\\x74\\x63\\xff\\xac\\x13\\x44\\x6f\\x0e\\x61\\x7e\\x7a\\x60\\x5d\\xb5\\x32\\x31\\xa4\\xfa\\x97\\xd3\\x59\\x5a\\x15\\xba\\x74\\x16\\x8b\\xc2\\x1a\\xa0\\x56\\xb4\\x29\\xf0\\x02\\x8e\\xf0\\xc0\\x08\\x3c\\xf1\\xcd\\x06\\x4d\\x68\\xc7\\x98\\x05\\xf8\\xbb\\x65\\x2f\\x32\\x47\\xb2\\x90\\xda\\x98\\x94\\xca\\xf5\\x08\\x3a\\x56\\x0d\\xca\\x67\\x4e\\xf9\\x74\\xc3\\xee\\x97\\x87\\xee\\x1d\\x0e\\x4a\\x47\\x4b\\x1b\\x64\\xb9\\xdd\\x8b\\x67\\x06\\x17\\x37\\x3c\\xb7\\xa9\\x74\\xc0\\xc2\\xf5\\x5c\\xfa\\xfc\\x53\\x01\\x9c\\x66\\xd3\\xd4\\x65\\x1f\\x4e\\xdf\\xb5\\xbe\\xf2\\xfc\\x0c\\x7f\\x2e\\x60\\xf1\\xf0\\xc8\\xb6\\x49\\xf1\\xf9\\xfd\\xe7\\x2c\\x71\\xaf\\xbc\\x50\\xbf\\x65\\xd8\\xc8\\x7a\\xac\\x7f\\xf3\\xa0\\x85\\x2b\\xc1\\xb2\\xd7\\x90\\x75\\xc5\\xc8\\x14\\x14\\x10\\x45\\x23\\x54\\x34\\x79\\x6f\\xe6\\x49\\x07\\x0d\\xad\\xe0\\xd6\\xae\\x30\\x8c\\x99\\xb9\\xfd\\x64\\xdb\\xb3\\xe3\\xc0\\xd7\\x6f\\xbe\\x6e\\x80\\x96\\x8a\\x5e\\xb3\\xa7\\xbe\\xfd\\x29\\x4c\\x38\\xd6\\x58\\x54\\xc1\\xdb\\x86\\x09\\x84\\x7f\\x68\\xe1\\x9f\\x29\\xd5\\x28\\x7c\\x40\\x56\\xf8\\x67\\x7a\\x78\\xb2\\x0b\\x90\\x2a\\xc0\\xa9\\x1f\\x5f\\xf9\\x62\\x5d\\xdb\\xb3\\x13\\x50\\xd0\\xc5\\x4b\\x7a\\x68\\x19\\xd9\\x7d\\x4e\\xcd\\x8d\\xcf\\xdc\\x6f\\x5f\\x3c\\x5d\\x58\\xc6\\xef\\xa1\\xc3\\x84\\x3e\\xb4\\xa4\\xf7\\x6f\\x88\\x53\\xad\\xc4\\x3b\\xa8\\x52\\x09\\xb1\\x7b\\xeb\\x47\\x41\\xce\\x7d\\xce\\xac\\x56\\x21\\x1c\\x87\\x25\\x69\\xd5\\xb1\\x02\\x30\\x30\\x30\\xd6\\xdd\\x04\\x6f\\x6f\\x3c\\x3f\\xe3\\xe3\\x85\\xe8\\xeb\\x91\\xbd\\x80\\x6a\\xf6\\xca\\xd2\\x62\\x2e\\x7d\\xdd\\x9c\\xaa\\x57\\x4a\\xa0\\x0a\\xcd\\x9c\\x53\\xd1\\xbd\\x80\\xd6\\x92\\xbc\\x8b\\xc7\\x29\\xc2\\xe3\\xf8\\xe1\\x71\\x42\\x9d\\x1a\\x1d\\x53\\xe0\\xd2\\xe9\\xa4\\x0a\\x68\\x90\\xaa\\x0a\\x5c\\x52\\x75\\x8b\\x58\\x2d\\x29\\xd5\\xe1\\x1b\\xb1\\x90\\xc3\\x94\\x2d\\x8c\\x22\\x12\\xc1\\x78\\x34\\xee\\x1a\\xa8\\xbb\\x8c\\xbe\\x07\\x47\\x6f\\xd6\\xb9\\x86\\x7e\\x87\\x3e\\x29\\x1e\\xe3\\x26\\xad\\xe1\\xc1\\xed\\x36\\x57\\xea\\x4f\\x3f\\xba\\x0c\\xae\\x82\\x9f\\xbf\\xea\\xd6\\xad\\x99\\xaf\\x22\\xde\\xae\\x91\\xf1\\x94\\xea\\x02\\xcc\\x17\\x07\\x14\\x6a\\x4e\\x5f\\xe0\\xf5\\x3f\\xbc\\xa8\\x04\\x76\\xd6\\xca\\xa7\\xbe\\xb2\\x76\\x9d\\x89\\xea\\x43\\x06\\x60\\x7b\\xba\\xea\\x6e\\xa2\\xfc\\x53\\x67\\xf7\\x6e\\x78\\x7c\\xed\\x8b\\xaf\\xdc\\x8b\\x97\\xdc\\xa5\\x5b\\xff\\xa3\\xcb\\xb3\\x67\\xae\\x39\\x6b\\x01\\xb7\\x51\\x6a\\xf5\\x98\\x69\\xeb\\xf0\\xe1\\x0c\\x3b\\x3b\\x14\\xd3\\x53\\x42\\xf2\\x06\\x44\\x06\\x56\\xc2\\x48\\x0a\\x78\\xc0\\x52\\x21\\x08\\xec\\x01\\x3f\\x03\\x21\\x6c\\x59\\x20\\x3a\\xd0\\x58\\xd7\\x88\\xf0\\x9e\\x38\\x8f\\xf4\\x5d\\x27\\xf6\\xb1\\x1a\\xcf\\x6b\\x09\\xd9\\x63\\xd8\\x69\\x42\\x2c\\xbd\\x88\\xbb\\xca\\x9e\\xc3\\xe7\\x7c\\x6d\\x3d\\x13\\xa8\\xf5\\x97\\x4a\\xfd\\x18\\xd2\\x66\\x8a\\x5a\\x30\\x9d\\x20\\x79\\x72\\xe8\\x73\\x48\\x48\\x38\\x5b\\x70\\xe9\\xe4\\xf0\\xc8\\xc9\\x35\\x6b\\x57\\xb8\\x57\\xd8\\xd8\\x3e\\xe7\\xda\\x58\\x45\\xb1\\x69\\x79\\x20\\x3b\\xff\\x5f\\xdf\\xbb\\xe3\\x81\\xb2\\x76\\xf5\\xe8\\xea\\x3a\\xf1\\x41\\x00\\x59\\xc8\\xb6\\xa9\\x1e\\xf6\\xc5\\x65\\xea\\x67\\xff\\x0b\\x8f\\xf3\\x0b\\x1e\\x27\\x00\\xfb\\x97\\x61\\xd8\\x7e\\xa9\\xc3\\x42\\x02\\x83\\x43\\xf0\\x1f\\x19\\x13\\xa0\\x94\\x4a\\x65\\x74\\xd0\\x78\\xc1\\x9b\\xe6\\xef\\x0e\\x9e\\x18\\x5c\\x62\\xe0\\x3b\\x21\\x10\\xb7\\x49\\x87\\xff\\xfe\\x0d\\xbe\\x26\\x34\\xa0\\x7e\\x36\\xb8\\x8c\\xd2\\x90\\x9e\\xb7\\x0e\\x53\\xf0\\xc7\\xc7\\x0d\\x61\\x0d\\xe3\\xf0\\xdf\\x96\\x94\\x0c\\x3a\\xf2\\xc5\\x65\\x90\\xb9\\x1b\\xc6\\xee\\xa5\\xfa\\xdd\\x54\\xdf\\xe4\\x12\\x49\\xb8\\xdf\\xb0\\x6f\\x13\\xe2\\xf4\\x0b\\x88\\x8a\\xc2\\x4e\\x5c\\x58\\xa8\\xbf\\x2f\\x21\\xf1\\xff\\x40\\x05\\x0f\\x45\\x2d\\x10\\xe3\\xf0\\xfc\\xba\\x10\\x1e\\x39\\xb1\\xf2\\x85\\xd5\\xcd\\x12\\x49\\xcf\\xeb\\x52\\xb8\\x64\\xe1\\xfa\\x3b\\xdf\\xba\\xe3\\x6d\\xf0\\xc8\\xf1\\x95\\x9b\\x97\\xb9\\x57\\xc0\\xd9\\x13\\x6a\\x4a\\x27\\x9d\\x10\\x48\\x8a\\xac\\x1c\\xbc\\xf1\\x58\\x38\\xdb\\xe7\\xc8\\xf5\\xba\\xe3\\x93\\x6a\\xca\\xc6\\xd2\\xfd\\xeb\\x08\\x9e\\xdf\\x87\\xd4\\x07\\x70\\x3d\\x9d\\x53\\x8b\\x7f\\x6e\\x83\\x7f\\x3f\\x91\\xfe\\x3c\\x84\\xae\\xd3\\xb9\\xa4\\x0e\\x96\\xe2\\x36\\xb4\\xe6\\xeb\\xc3\\xf3\\x5d\\x06\\x4e\\xa5\\x62\\xb4\\x6a\\x5f\\xd7\\x8c\\x18\\xa9\\xff\\x59\\x1e\\xce\\x81\\x07\\x82\\x1b\\x56\\xb9\\x6a\\xc6\\xe2\\x04\\x33\\x98\\xe8\\xfe\\xc6\\x0c\\xbf\\x0d\\x42\\xa3\\x97\\x6d\\x41\\x6e\\xde\\x01\\xab\\x1d\\xd5\\x27\\x6f\\x09\\x88\\x5e\\xb6\\x08\\x5d\\x84\\x0b\\x66\\x9f\\xb8\\x45\\x69\\x38\\xd9\\xf4\\x6f\\xce\\xc4\\xf5\\xc2\\xb2\\x24\\xb9\\xfb\\x20\\x4a\\x2f\\x03\\xfa\\x90\\x10\\x3d\\x90\\x71\\x4a\\xab\\xd5\\x4c\\x80\\x80\\x68\\x59\\xce\\x53\\x6e\\xa2\\x27\\xcf\\xc4\\x63\\x14\\xbd\\xad\\xc6\\x49\\x12\\x8e\\x07\\x26\\xdf\\xa7\\x7e\\x04\\x1e\\xcc\\x58\\x34\\x33\\xaf\\xf7\\x8e\\x01\\xfb\\x32\\xbe\\xd9\\xb0\\x66\\xdf\\x6b\\xeb\\x02\\x32\\x16\\xce\\xce\\xef\\xb5\\xab\\xef\\xbe\\xb4\\x6f\\x36\\xad\\xd9\\x57\\xb4\\xad\\x14\\x1c\\x1a\\x32\\x28\\xb5\\xfb\\xcb\\xfa\\x95\\x6b\\x67\\x4d\\x5c\\xf2\\x92\\x64\\xf6\\xe0\\xc1\\xe4\\xa7\\xe5\\x2f\\x54\\x57\\x0c\\x5c\\x9e\\x47\\x70\\x2c\\x9b\\xae\\x62\\x79\\xf5\\xe7\\x7a\\xe3\\xf3\\x1e\\xf6\\xa9\\xa2\\x02\\x15\\x0a\\xc6\\x5f\\x13\\x22\\x21\\xb2\\x6a\\x45\\x84\\x95\\xc4\\x2f\\x23\\x52\\xa7\\x45\\x6e\\x77\\xbd\\xb2\\xca\\x02\\x91\\x7c\\x1e\\x8c\\xe0\\xb7\\x0a\\xb0\\x26\\x3c\\xc1\\xf1\\x24\\xb3\\xed\\x54\\xff\\x31\\xb1\\x15\\x41\\xf9\\xb1\\xe1\\xbd\\xc3\\xaa\\x26\\x14\\x7c\\xf7\\xfe\\xde\\xdd\\x31\\xd9\\xfd\\xea\\xb2\\xb5\\x1d\\xc3\\x63\\x87\\x47\\x77\\xea\\x3c\\xb7\\xc8\\x35\\x2e\\xb2\\x75\\xd7\\x9e\\x8b\\xf5\\x8e\\xac\\x29\\x91\\xc9\\xe1\\xb6\\x79\\xc7\\xe7\\x4e\\xdd\\x7b\\x7e\\xc1\\x94\\xac\\xf1\\xa5\\xfd\\x8e\\xcf\\xb3\\x85\\x27\\x47\\x4e\\xc9\\x6c\\xd7\\xa3\\xa8\\x5f\\xbf\\x81\\xdd\\x88\\x4c\\x7f\\xc1\\x8b\\xe6\\x3e\\x9e\\x57\\x11\\xe3\\x7f\\x8a\\x33\\x88\\x60\\x81\\xb7\\x33\\x32\\x5f\\xf5\\x69\\xd3\\xb1\\xf7\\x03\\xd1\\xda\\x46\\x02\\x27\\x82\\x17\\x37\\xf1\\x85\\x3c\\x7d\\xce\\xb1\\xef\\xd3\\x9b\\xce\\x0b\\xc1\\x35\\x1a\\x47\\x6d\\x85\\xde\\x29\\xc3\\xa7\\x4f\\x09\\x57\\xe0\\x92\\xa8\\x9b\\x2f\\x3e\\x04\\x34\\x5c\\x6e\\xdc\\x4d\\x6c\\x24\\xe2\\xe9\\xa3\\x1e\\x5d\\x26\\x38\\x77\\x1c\\x9f\\xcf\\x2d\\xd8\\x6b\\xad\\x58\\xe4\\xa0\\xcf\\x6b\\x4d\\x70\\x0f\\x68\\x8e\\x7a\\xa8\\x53\\x6d\\xc6\\xdb\\x1d\\x69\\xbc\\xa7\\x32\\xa8\\x25\\x7c\\x83\\x8a\\x96\\xfd\\x66\\x49\\x41\\x88\\xe7\\xa2\\x43\\x27\\x20\\x92\\x63\\x4f\\x92\\xb3\\xb1\\x60\\x4f\\xfb\\x2b\\x0f\\x81\\x34\\xe7\\x70\\x7b\\xd9\\xfa\\x25\\xb3\\x8f\\xcd\\xde\\x7b\\x2b\\xb4\\xfd\\xe1\\x9c\\x80\\x9d\\xa8\\x69\\x6b\\x7b\\x90\\xda\\xb8\\x35\\x22\\x12\\x0c\\x47\\xd7\\x63\\xa2\\xa6\\xd7\\xc0\\x1a\\x77\\xed\\xe1\\xed\\x20\\x19\\x6d\\x9b\\x79\\x76\\x0c\\xba\\x4a\\xf3\\xe4\\xf1\\xfc\\x2d\\xa2\\x18\\x8d\\x16\\xa7\\xc6\\x1f\\x8b\\xc5\\x5f\\x2d\\xf7\\x93\\xe0\\x0d\\x44\\x62\\xe4\\xbb\\x64\\x78\\x2e\\xfd\\xac\\xcf\\xca\\x88\\x6f\\x7a\\x16\\x00\\xcf\\xad\\xa7\\x90\\x77\\x08\\xe4\\x24\\xb6\\xeb\\xeb\\xc0\\x77\\x5c\\x1a\\xed\\xc5\\xa1\\x64\\xcc\\x27\\xa1\\x5c\\xce\\x49\\x45\\x67\\x40\\x0c\\xcd\\x0d\\x8d\\xf3\\x14\\x60\\x52\\x41\\xd2\\xa8\\x87\\x0e\\x88\\xf1\\x8b\\xd6\\xec\\xe1\\x14\\x54\\xb4\\xff\\x05\\xd8\\x6d\\xeb\\x05\\xf4\\x89\\xf5\\x2b\\xd0\\xbf\\x83\\x12\\x7c\\x07\\xac\\xe8\\x1e\\xfb\\xc5\\x63\\x0b\\x3b\\xa2\\x23\\x1a\\x07\\x3a\\xd2\\x9e\\x2c\\x4d\\x73\\xc0\\x77\\xa2\\x3c\\xfc\\x7c\\x12\\x07\\x89\\x73\\xca\\xfc\\x64\\x32\\x11\\xd4\\x6a\\xc9\\xdd\\x74\\xdc\\x09\\xa9\\xbf\\x3f\\x1d\\x4b\\x89\\x99\\x8e\\xa3\\x77\\xaa\\xfe\\xf6\\x2c\\x7f\\x62\\x94\\xf8\\x21\\x5b\\x06\\x3f\\xc8\\xed\\xaa\\x15\\xa0\\x76\\x68\\xe3\\xb9\\x35\\x70\\x35\\xdb\\xd1\\xe4\\x76\\xb7\\x07\\x77\\x8c\\xa8\\x75\\x27\\x68\\x31\\x22\\x30\\x10\\x5d\\x06\\xa9\\x1e\\x22\\x2a\\xd1\\xd5\\xc9\\xe8\\x48\\x25\\x3b\\x15\\x99\\xb1\\xdf\\xf6\\x33\\xe6\\xb1\\x1d\\xa6\\x41\\x45\\x73\\x6f\\xa2\\x9c\\x6a\\xec\\xaa\\xc5\\x9b\\xb2\\x4c\\x79\\x26\\xd6\\x64\\xe2\\x8c\\x94\\x86\\x50\\x5f\\x7e\\x87\\x08\\xfd\\x2c\\xc9\\xc1\\xde\\xea\\x29\\x44\\x8b\\x10\\xac\\x09\\xab\\x23\\x2f\\xf0\\x77\\xce\\x78\\xef\\x02\\x9a\\x75\\x01\\x0c\\x5a\\xff\\xc2\\xa4\\xd1\\xc5\\x03\\xd1\\xde\\x89\\xb3\\x06\\x16\\x5d\\x6b\\xbf\\xb1\\x7a\\xe1\\xd5\\xaf\\xb3\\xd9\\xa8\\x75\\x07\\xd9\\x2f\\x2a\\xca\\x87\\xcf\\x33\\xeb\\x26\\x9c\\x28\\xee\\x9b\\x93\\x81\\xde\\x46\\xc9\\xe3\\x47\\x2c\\x47\\xbb\\xa8\\x2f\\x79\\x1f\\xd3\\x54\\x8b\\x69\\x22\\xbe\\x6e\\x2b\\x6c\\xd7\\x14\\x8a\\x20\\xbc\\x7f\\x13\\x8c\\x12\\x1b\\x24\\xf4\\x98\\x19\\x7f\\x1f\\xf9\\xd3\\xcc\\xaa\\x96\\x81\\x07\\x4f\\xcb\\x1c\\x20\\x50\\x03\\x3c\\xe4\\x3d\\x2e\\x2e\\x20\\x24\\x95\\xd7\\x9b\\xd6\\xb6\\x23\\x04\\xba\\x8a\\xc1\\xa6\\xea\\x85\\x17\\x7e\\xca\\x06\\x91\\x53\\xa6\\x13\\x02\\xb9\\x58\\xb0\\xa3\\xa2\\x7c\\x7e\\xd7\\xe9\\xed\\xfa\\xad\\x3b\\x08\\xae\\xa1\\xfd\\xe3\\x47\\x2c\\x42\\xfb\\xc1\\x7b\\x03\\xfb\\x60\\x22\\x6f\\x61\\x9d\\x78\\x1b\\xd3\\x36\\x95\\xf6\\x37\\xd3\\x33\\xba\\x63\\x2a\\x4a\\x8f\\x1a\\xef\\xcb\\x3c\\x3d\\x64\\xfb\\xe5\\xc9\\x80\\x1c\\x10\\xa2\\x0c\\x99\\x10\\x26\\xa3\\xcd\\x17\\x40\\xfb\\x77\\xee\\xae\\x43\\x7f\\x00\\xcd\\xce\\xf5\\x87\\x5e\\xb8\\x32\\x64\\xe7\\xd4\\xf6\\xe0\\x3b\\xf6\\x8b\\x8b\\x8d\\xa7\\xd0\\xb7\\x9b\\x60\\xe9\\xfc\\xe5\\x6e\\xd8\\x73\\xd5\\xab\\xbc\\xef\\xf5\\x19\\x1e\\x63\\x16\\x1e\\x43\\x81\\x6d\\x94\\x9f\\x34\\x5e\\x94\\x85\\xb5\\x84\\x15\\x89\\x38\\x40\\x06\\x93\\x79\\x15\\x22\\x8d\\x66\\x4d\\x98\\x7d\\xb4\\xe0\\xb3\\x0b\\xf0\\x8e\\xc9\\x7d\\xa2\\x3d\\x8c\\x30\\xba\\xef\\x76\\x82\\xa3\\x8d\\x64\\x08\\x61\\xbe\\xc9\\x7d\\x8c\\x40\\x3b\\x7d\\x2e\\xe7\\x7d\\xae\\x54\\x46\\x9e\\x0b\\x9e\\x78\\xae\\xce\\x41\\x31\\x38\\x29\\xc2\\xe9\\x39\\x23\\x1c\\xdd\\xc9\\x7d\\xd7\\x08\\x23\\xda\\xbb\\x4f\\x98\\xe0\\x9d\\x0b\\xe0\\xbb\\x4a\\x50\\x38\\x19\\xa4\\x56\\x3e\\xb6\\xe0\\x0f\\xde\\x00\\x9f\\x70\\x0b\\x45\\x77\\xb1\\x9e\\x84\\x3b\\x65\\x1c\\x17\\xa0\\xd3\\xeb\\x03\\x24\\xcc\\x19\\x10\\x8b\\xb5\\x2a\\x00\\xc4\\x13\\xc9\\x24\\x09\\xaa\\x9b\\xc8\\xb7\\x9f\\xe5\\x1b\\x55\\x7a\\x12\\x2e\\xc9\\x10\\x62\\xea\\x14\\x65\\x42\\x56\\xbf\\xe1\\x58\\x9b\\xe7\\x22\\xa7\\x0f\\x9b\\x7d\\x6e\\xf4\\xaa\\x25\\x83\\x76\\x67\\x86\\xa3\\x2f\\x4c\\x60\\x67\\xf6\\xf9\\x26\\xe6\\xf5\\x4f\\xfa\\xae\\xff\\x50\\x74\\x77\\xf2\\xec\\xb8\\xd2\\x6e\\x35\\x3f\\x2e\\x5d\\xba\\xc1\\x61\\x7f\\xa5\\x0a\\x6d\\xdd\\xf1\\x41\\xe3\\xe4\\xbf\\x0e\\x0d\\xc4\\x74\\xbc\\x85\\xf9\\xdb\\x4a\\xf9\\x6b\\xe5\\x54\\xc2\\x78\\x49\\x96\\x24\\x4f\\xc2\\x52\\xfc\\xf1\\xa7\\x56\\xed\\x10\\xcf\\x1a\\x12\\x8a\\xc6\\xd8\\x5e\\x2e\\x24\\x73\\xad\\xb8\\xb0\\xa2\\x00\\xfc\\x51\\xb0\\x0a\\xf3\\x47\\x9c\\x3d\\xf6\\x0b\\x54\\x0c\\x76\\x61\\x16\\xf1\\xfc\\x3e\\xc6\\xa2\\xec\\x89\\x9f\\x4d\\xef\\xbd\\x20\\x91\\x17\\x79\\x18\\x7f\\x41\\x6a\\x87\\x4b\\x57\\x5e\\x58\\x49\\x64\\xcd\\xdf\\x91\\xc5\\x80\\x4f\\x58\\x37\\x7e\\xaf\\x86\\x31\\x9d\\xe0\\x38\\x3f\\x25\\x19\\x1d\\x9f\\xb5\\x89\\x24\\xa8\\x78\\xf9\\xa6\\x76\\x0e\\x01\\x19\\x8b\\x84\\x08\\x20\\x6c\\x33\\xbd\\x46\\xb2\\x00\\x76\\x4b\\xed\\x3c\\x54\\x37\\xe9\\x94\\x09\\x64\\x2f\\x6e\\x0f\\x3e\\xa9\\x59\\xaa\\x1b\\xdc\\x7b\\x58\\x29\\xec\\x5a\\xe9\\xee\\x86\\xde\\xe2\\x75\\xe3\\x7b\\xcc\\xe3\\x8b\\x94\\xc7\\xe0\\x53\\x72\\x09\\x80\\xdc\\xd3\\x36\\x89\\x07\\x8b\\x95\\x50\\xde\\x48\\x2d\\x3e\\x3b\\x11\\xdd\\x59\\xdc\\x1d\\xf3\\x56\\x0c\\x03\\x0f\\x21\\x03\\x28\\xc5\\xdc\\x7d\\x50\\x86\\x56\\x61\\xf6\\x82\\xc0\\xd7\\xa8\\x93\\xfb\\x13\\x4c\\x73\\x67\\x4c\\xfe\\x5b\\xf8\\xb9\\x78\\xbf\\x79\\x95\\xb0\\x40\\x8e\\x74\\xbc\\x3e\\x08\\x3e\\xab\\x04\\x74\\xbe\\xb0\\xe2\\x65\\xf0\\x05\\xd5\\xa9\\xc7\\x6b\\x88\\x3e\\x55\\x63\\x5a\\xbe\\xc5\\x9f\\x31\\x32\\x61\\x75\\x5a\\xb9\\x92\\xd5\\x9f\\xc6\\x9f\\x53\\x81\\x98\\xe3\\xd8\\x60\\x36\\x50\\x6a\\xec\\x59\\x9e\\xa3\\x3d\\x3e\\xd3\\xd3\\xd6\\x01\\xad\\x23\\x25\\x3c\\x34\\x92\\x89\\x00\\x23\\xb1\\x07\\x6a\\x35\\xb6\\xb4\\x70\\xb4\\xb0\\x6c\\xba\\x54\\x61\\xae\\xad\\xb9\\x70\\x64\\x86\\x54\\xdc\\x09\\x54\\x9f\\xc2\\x33\\x00\\x37\\xe4\\x57\\x3f\\x97\\xe9\\x1e\\x0c\\xf7\\xc4\\x0f\\xdb\\xee\\x1e\\xcd\\x7e\\xe1\\x2e\\x8c\\xeb\\x57\\x0b\\x8f\\xd2\\xf9\\x60\\x6e\\xe1\\xb1\\xf7\\xd3\\x3e\\x85\\x41\\xc7\\x81\\x5c\\x74\\x16\\x8f\\x4c\\x04\\x20\\xf1\\x50\\x8d\\xe5\\xec\\x95\\x02\\xc8\\x24\\x1c\\xb0\\x5d\\xd1\\x3e\\xf3\\xdc\\x9a\\x0b\\x1b\\x41\\x89\\x52\\x3e\\xbf\\x16\\x8f\\xc0\\xa6\\xee\\x72\\x8f\\xc3\\xcc\\xbc\\x31\\x28\\x03\\xee\\x7d\\x4c\\x73\\x4b\\x98\\xdb\\xf8\\xb9\\x2f\\xe3\\xe7\\x62\\x8b\\xdf\\xc8\\xc8\\x40\\xdc\\x71\\x3f\\x31\\x5d\\x76\\xa2\\xe6\\xe5\\x91\\x45\\x16\\x9d\\xdd\\x27\\x56\\x71\\xfb\\xc2\\xdc\\x1a\\x45\\x28\\xdc\\xbc\\xeb\\xc2\\xdc\\xb9\\x5a\\x83\\x7b\\x3c\\x91\\x90\\x7b\\xaa\\x63\\x06\\x9b\\xf1\\xd8\\x02\\xd7\\x15\\xf5\\x7c\\x7c\\x85\\x3f\\x27\\xbc\\x85\\xd7\\xc9\\x0e\\xbc\\x4e\\xd4\\x4c\\x08\\xb6\\x1d\\x3a\\x29\\x59\\x21\\x41\\x5e\\xbd\\xa0\\x5a\\x41\\x96\\x00\\xef\\x64\\x40\\xe0\\xc5\\xf7\\xa6\\xed\\x8d\\x47\\x5d\\xb8\\x57\\xb8\\xee\\xe6\\xfc\\x73\\x9f\\xf6\\x79\\xe1\\x6d\\x10\\xf1\\xc2\\x73\\xd5\\xa7\\x47\\xae\\x99\\x5f\\xd3\\x38\\x12\\x7c\\xf2\\xe1\\xd9\\x09\\x7f\\xbe\\x3c\\xf0\\x66\\xe3\\x94\\x3f\\x5f\\x19\\x08\\xc7\\x2f\\xda\\x50\\xfb\\xd7\\xcc\\x65\\x9b\\xe6\\x03\\x96\\xe6\\x24\\x26\\x82\\x8f\\xb9\\x4c\\xd1\\x51\\x82\\xd3\\x4a\\x6e\\x22\\x31\\x93\\x01\\x11\\xaa\\x06\\xba\\x28\\x2f\\xf1\\x99\\x9c\\xe4\\x24\\x6d\\xc7\\xde\\x95\\x70\\x72\\x0d\\xf3\\x27\\x3d\\xf3\\x3d\\xf0\\x92\\x46\\x93\\x87\\x04\\x3e\\x72\\x71\\xa7\\xcf\\x4c\\x63\\xad\\xff\\x98\\xa2\\x9c\\xcc\\x92\\x93\\x0b\\xd1\\xa7\\xed\\xa7\\xe5\\x8d\\x91\\xcd\\x91\\xf5\\x4a\\xce\\x9b\\xdb\\x75\\x40\\xbf\\xa2\\xaa\\xce\\x03\\xb9\\xd7\\x6a\\x26\\x95\\x6e\\x89\\x8d\\x98\\x98\\x3f\\xed\\x9b\\xf1\\x40\\x36\\xf8\\x74\\xad\\xb9\\xe3\\xc2\\xa8\\xd8\\x98\\xd6\\xb9\\xf9\\xc3\\xcb\\x8f\\x96\\x0d\\xca\\x1b\\x70\\x3e\\x6f\\x90\\x70\\x1e\\x24\\x76\\x6e\\x30\\xd5\\x65\\x3d\\x13\\x58\\x07\\x34\\x1a\\x92\\xd5\\x12\\x87\\xc5\\xc3\\x61\\x81\\xf3\\xd7\\x0a\\x76\\xa1\\xb4\\x53\\x38\\x0d\\xea\\x88\\x35\\xc7\\x8e\\x78\\x2a\\xbc\\x86\\x7e\\xe8\\xb9\\xe2\\x02\\x58\\xb3\\x6c\\x7b\\xd9\\xa9\\x65\\x8d\\x8f\\x7a\\x02\\xf0\\xa1\\x4d\\xc4\\x8e\\x45\\x35\\xec\\x17\\x0b\\xa7\\x95\\x1d\\x70\\x81\\x21\\x6b\\x50\\xed\\xd9\\x60\\x3a\\x0e\\xb1\\xd9\\x23\\xe8\\x9c\\x1a\\x99\\xd0\\x53\\x7e\\x10\\x1a\\x8d\\xd8\\xa5\\x7a\\x7a\\x27\\xf7\\xf7\\xec\\xe5\\x9e\\x8d\\x4d\\x07\\x04\\xef\\x9e\\x65\\xc7\\x1f\\x43\\x3f\\xe5\\xe3\\x01\\x5f\\x5a\\xfe\\xe2\\xfa\\x15\\x67\\xd1\\x67\\x13\\x17\\x8e\\x18\\x84\\x7e\\xee\\x82\\x97\\xd2\\x66\\x54\\xce\\x7e\\x51\\x5b\\x39\\x77\\x5f\\x08\\xea\\x0f\\xe5\\x13\\x86\\xf6\\xec\\x49\\xdb\\x9c\\xe2\\x45\\x34\\x12\\x8f\\xbb\\x99\\xef\\xe5\\xd5\\x88\\xa7\\x22\\xee\\x04\\xc3\\x71\\xa2\\x06\\xca\\x1b\\x05\\x01\\x00\\xac\\x80\\xdd\\x9d\\x71\\x70\\xf9\\x41\\xd4\\x60\\x62\\x83\\x4d\\xa2\\xa2\\xc7\\x6b\\xd8\\x8a\\xca\\x4a\\xaa\\x8b\\xbf\\x63\\x7d\\xd9\\x88\\x3f\\x6f\\xc0\\xda\\xe2\\x2f\\xf6\\x78\\x03\\x2d\\xb4\\xc5\\xf1\\x64\\xc1\\x2b\\xec\\x73\\xe0\\xa4\\x5f\\xd5\\x8a\\x19\\xf2\\x71\\xe5\\x73\\xf7\\x06\\xe1\\x17\\xb6\\x5f\\xc1\\x27\\x1b\\xd7\\xd8\\x32\\xe1\\x08\\xf7\\xda\\xb8\\xa8\\x81\\xa5\\xcf\\x2f\\x86\\x65\\xee\\x17\\x1a\\xaf\\xe3\\xe7\\xaf\\xc0\\xfe\\xc7\\x7c\\xba\\xcf\\x5a\\x8f\\x69\\xe9\\x26\\xc0\\x91\\xe5\\x5b\\xe7\\xaf\\x50\\x00\\xa9\\xb0\\x80\\x31\\xa1\\xfc\\xbe\\x66\\x63\\x23\\x1d\\x42\\xcb\\x70\\x02\\xb2\\xa6\\x33\\x61\\xed\\x7f\\x75\\x4f\\x1b\\x11\\x4c\\x6e\\x83\\xbe\\xdb\\xd3\\x65\\x75\\xeb\\x38\\x3b\\xb0\\x2c\\x8a\\x53\\x80\\xb1\\x1b\\xf0\\xda\\xed\\x3d\\x6b\\xee\\xea\\xc1\\xee\\x3d\\x78\\x71\\x1d\\x9f\\x38\\x15\\x8e\\x76\\x6f\\xf8\\x82\\xa5\\xd8\\xb4\\xc0\\x08\\x3e\\x65\\x3f\\xa3\\xe7\\xae\\x64\\xa6\\x8d\\x53\\xd6\\x86\\x63\\x8c\\x41\\x4a\\xa5\\x2e\\xa8\\x01\\x24\\x9e\\x6c\\x95\\x90\\xc0\\x32\\x12\\x7e\\xe0\\x24\\x3a\\xb2\\x80\\x6f\\x41\\x98\\x4d\\x71\\xd8\\x9a\\x4f\\x07\\xde\\x48\\xb2\\x17\\x40\\x97\\x56\\x23\\x3b\\x24\\x62\\xd2\\xf8\\x51\\xd0\\x57\\x07\\x5b\\x3d\\x9b\\xe5\\x32\\x67\\xf6\\x2f\\x9b\\x7e\\xf2\\xed\\x5d\\xaa\\x1e\\x9d\\x0a\\x06\\xe8\\x66\\x87\\x6e\\x7b\\x6e\\xda\\x72\\x65\\xb2\\xa4\\x9d\\xde\\x28\\x8f\\xa9\\x59\\xb6\\x7a\\x6a\\xc7\\xb4\\xce\\xe3\\x7a\\xc8\\xc1\\x57\\xe3\\x62\\x07\\xe5\\x54\\x0d\\x9a\\xbb\\x98\\x85\\xdd\\xfd\\xb3\\x32\\x33\\x32\\x0d\\xa3\\x86\\x4c\\x2c\\x6d\\xdd\\x1d\\xfd\\x1e\\x11\\x98\\x2c\\xca\\x53\\x80\\x5a\\x96\\x2d\\x2a\\x4c\\xce\\x6e\\x57\\x96\\x4c\\xf9\\x88\\xc0\\x7c\\xfc\\x84\\xf9\\x88\\x64\\xec\\x4c\\x74\\xbd\\xd2\\x10\\x18\\x15\\xa5\\x0d\\xc4\\xeb\\xea\\x54\\xbc\\xcd\\xc6\\xb1\\xf8\\x58\\x8e\\x19\\xc2\\x13\\x95\\xe4\\x6f\\x4f\\xf2\\x30\\x42\\x83\\x8e\\x06\\xda\\x96\\x8e\\xc4\\x1e\\xad\\x92\\x16\\xf7\\x41\\x74\\x32\\x69\\xf8\\x4b\\xe2\\x48\\xd5\\xf1\\x81\\x42\\x9a\\xc8\\x07\\x16\\x7b\\xb8\\x40\\xd5\\x1e\\x2e\\x2c\\xdb\\x9f\\xc9\\x05\\xf7\\x03\\xcf\\x05\\xfa\\x8f\\x87\\x89\\x91\\xc5\\x84\\x09\\x20\\xe7\\x99\\xc0\\xab\\xa3\\x99\\x09\\x08\\x64\\xe0\\x2e\\xfb\\x25\\xf7\\x0b\\x5e\\x7d\\x56\\xa6\\x6d\\xbd\\x5c\\xa6\\x95\\x29\\xfc\\xd5\\x1d\\xb1\\xd1\\x63\\x14\\x20\\x01\\x7b\\xf9\\x12\\xcc\\x82\\xc1\\xab\\x71\\x3e\\x30\\x77\\xde\\xf6\\x04\\x76\\x87\\x9d\\x95\\xd8\\x92\\xc9\\xd4\\x44\\x26\\x79\\x49\\x36\\xe8\\xc1\\xcf\\x13\\xa7\\xf7\\xdf\\x3a\\xfd\\xa5\\x04\\xd6\\x54\\x5d\\x69\\x9e\\xae\\xe6\\x92\\x26\\xc5\\x17\\x4f\\xcb\\x1a\\xd4\\x6b\\xc0\\xf0\\x0c\\x70\\x77\\xd1\\x94\\x15\\x40\\x33\\x77\\xd9\\x1c\\xf7\\xae\\x6d\\xe1\\x79\\x9d\\x32\\x87\\x8d\\x7b\\xaf\\x74\\x70\\xf1\\xa8\\xaf\\x07\\x1d\\xc1\\x9b\\x4e\\x26\\xf8\\x94\\xfb\\x37\\x96\\x2b\\xe9\\xa3\\x90\\xc5\\xa4\\x3b\\xb5\\xed\\x83\\x82\\xac\\x59\\x58\\xf3\\xc5\\xea\\x10\\x9b\\xd5\\x60\\x50\\x47\\x58\\xb1\\x64\\xeb\\x58\\xbb\\x5d\\xae\\xe6\\xcd\\x18\\x55\\x14\\x1e\\x15\\x10\\xff\\x6f\\xb7\\x0b\\x6d\\xc0\\x80\\x44\\xdf\\x2c\\x5b\\x0f\\x2c\\x48\\x16\\xf0\\x45\\x25\\xe0\\x23\\x8c\\x62\\x49\\x84\\x44\\xe5\\xc9\\xfe\\x70\\x44\\x38\\x78\\xcd\\x82\\x77\\xc4\\x07\\x3b\\x94\\x85\\x0c\\xb5\\xbf\\x50\\x3e\\x66\\x7e\\xc0\\xdc\\x77\\x46\\x54\\x9d\\xbe\\xb5\\x5f\\xf9\\x7c\\xdf\\x81\\xc6\\xd9\\xe1\\xbb\\x16\\x6e\\xeb\\x52\\xb4\\x69\\xd1\\x46\\x56\\xe9\\x5e\\xb0\\x7a\\xf4\\xc8\\xf6\\x59\\xed\\xba\\x4e\\x2b\\x50\\x40\\x13\\x5b\\xd4\\x6d\\x40\\x65\\x00\\x9b\\x9b\\x7f\\xb1\\x53\\xfb\\x98\\x92\\xc2\\x61\\x83\\xce\\xf2\\x0a\\x95\\x6d\\xac\\x4e\\x73\\x1a\\x46\\x0f\\x9e\\x30\\xe1\\xf9\\x05\\x03\\xd2\\x0c\\x10\\x46\\x74\\xeb\\x90\\xda\\x29\\xb3\\xa2\\xfd\\x52\\xfb\\x90\\x01\\xd3\\x27\\x50\\x7d\\x0a\\x27\\x3e\\x83\\x98\\xc1\\x16\\xca\\xc6\\xb4\\x6d\\x64\\xd4\\x20\\xa9\\x5e\\x26\\xd7\\xeb\\xe4\\x3a\\xe5\\x39\\x3c\\x1f\\x16\\x3c\\x17\\xf1\\xd8\\x43\\x67\\xa8\\x52\\xe1\\xb9\\x48\\xf3\\x00\\x89\\x00\\x6f\\x8c\\xd4\\x26\\x96\\xd8\\xa8\\x39\\x20\\x1a\\xd6\\xc2\\x6c\\xb3\\x86\\x89\\xd3\\x07\\x6c\\x9e\\x71\\x20\\x01\\x9a\\x24\\x33\\xc2\\x0f\\x55\\xa7\\xfb\\xf9\\xb1\\x49\\x93\\xe3\\x07\\x4f\\xcf\\x1a\\xd4\\xbb\\xff\\xf0\\x0c\\xee\\xd7\\x45\\x53\\xd6\\xa2\\x3f\\x6a\\x97\\x8d\\xd6\\x6f\\x63\\x67\\xa0\\x0f\\xb3\\x5a\\xe1\\x39\\x19\\xfb\\xee\\x30\\x61\\x4e\\x20\\x3e\\x59\\xdc\\xe5\\x92\\x30\\x6d\\x06\\x26\\x9c\\xea\\x89\\x4e\\x26\\xd1\\x6a\\xa8\\x9e\\xf8\\x81\\x24\\xbc\\xb3\\x10\\x3d\\x31\\xfe\\x77\\x3d\\x49\\xd5\\x3d\\x5b\\x51\\xa0\\xcc\\xa3\\x28\\xe2\\xae\\x73\\x5e\\xfe\\x27\\x4d\\x89\\x02\\x93\\x1e\\x2f\\x7a\\x52\\x57\\x20\\xf6\\x59\\x3e\\x61\\xff\\xe2\\x7e\\xa5\\x48\\x6d\\x21\\xf5\\x8c\\xd8\\x62\\x91\\x9b\\xfd\\xcf\\x60\\x62\\x58\\x46\\xce\\xbb\\x9d\\x34\\x3a\\xfb\\xa4\\x32\\x78\\xda\\x68\\x60\\x2d\\x10\\x26\\x1b\\x5c\\x96\\x9c\\xc9\\x1a\\xdf\\x6a\\x68\\xea\\x8e\\xb1\\xcb\\xb7\\x0e\\xaf\\x9b\\xb4\\x6a\\x07\\xab\\x9a\\xc0\\x96\\xe6\\x96\\xd4\\x04\\xb1\\xbd\\xf3\\x2f\\x66\\x3a\\xf1\\x6c\\x6e\\x5d\\xbd\\xf2\\xb3\\xea\\xe7\\x17\\x14\\x66\\x0e\\x15\\x26\\x0d\\x82\\x6e\\x78\\x7c\\x84\\xc7\\x27\\x27\\xa7\\x90\\xfa\\x00\\xb1\\xc9\\xa4\\x08\\xd6\\x9e\\xc1\\x23\\xb3\\x78\\x01\\x25\\xb6\\x18\\xdf\\x21\\x68\\x9d\\xb0\\xb9\\x53\\x32\\x30\\x3d\\x42\\xaf\\x56\\x76\\x96\\xe4\\x4c\\xc7\\x8a\\xf0\\xd2\\xa8\\x3e\\x53\\xf3\\x97\\x6f\\x2d\\xab\\x9b\\xe8\\x4b\\xc0\\x73\\xf9\\x17\\x3b\\x76\\x88\\xc9\\xc9\\x8e\\xda\\xba\\x7a\\xc5\\xe7\\x98\\x82\\x81\\xa9\\x1e\\x0a\\xc8\\x1e\\xd3\\x03\\xd3\\x70\\x0a\\xaf\\xe1\\x48\\x6c\\x4d\\x55\\x4a\\xab\\x35\\x8c\\x0d\\x0b\\x08\\x08\\xc3\\x06\\xc8\\xac\\x3f\\x43\\x21\\x21\\x25\\x1e\\x49\\x08\\x9d\\xd0\\xe9\\xe9\\xcd\\x47\\x16\\xa9\\x8e\\x14\\x12\\xa4\\x4e\\xf5\\xad\\xc1\\xb7\\x4b\\x78\\xf5\\x81\\x3d\\x7a\\x4c\\x4c\\xcc\\xcc\\x5e\\x55\\x3c\\x75\\xde\\xcc\\xf2\\xb4\\x1e\\x6b\\x9f\\x2b\\x9a\\x15\\x55\\x1c\\xd2\\x3b\\x25\\x27\\xff\\xbe\\x6e\\x6e\\x45\\x87\\x1c\\xd8\\xbe\\x5d\\x42\\x8f\\xec\\xf4\\xc9\\xa5\\xfd\\x2b\\xe5\\x50\\xdd\\x2f\\x7d\\xc4\\xd8\\xd4\\x4e\\xed\\x63\\x23\\x9d\\x8e\\x49\\xc3\\x43\\x3a\\xa6\\xd9\\x3b\\x62\\xfa\\x06\\x62\\xfa\\x2e\\x61\\x19\\xb5\\xc2\\x67\\x4b\\xa5\\x45\\xa1\\xf0\\x63\\xfd\\xf4\\x7a\\x3f\\x96\\xd5\\x06\\x10\\xf2\\x44\\x5e\\xad\\xf1\\xa5\\xce\\x8b\\xe6\\xd4\\x7c\\x69\\xe8\\xb5\\xf4\\x62\\x21\\x00\\x07\\x47\\x3e\\x88\\x98\\x1c\\xbc\\x38\\xb7\\xcf\\xf8\\x61\\xba\\x9a\\xc9\\x9d\\xdb\\x55\\x5b\\x26\\x86\\xac\\x18\\x3b\\xfe\\xb9\\xa9\\x03\\x72\\xfa\\x6f\\x07\\x9f\\x9c\\x08\\xad\\xec\\xd9\\xb9\\x6b\\xfb\\x92\\x9c\\xce\\x89\\x89\\x23\\x54\\x65\\x85\\xe5\\x05\\x05\\x63\\xa5\\xac\\x74\\x68\\xce\\xb8\\x1a\\xbe\\x56\\x43\\xce\\x9c\\xe3\\x0c\\x58\\x6e\\x56\\x26\\x8e\\xb1\\x9f\\x92\\xc9\\x03\\x4c\\x72\\x93\\xd2\\x7c\\x06\\xdb\\xbd\\xb6\\x8c\\x1e\\x24\\x9e\\x60\\xd9\\x56\\x4a\\xe2\\x8c\\x10\\x0a\\x53\\x04\\xbf\\x9d\\xba\\x24\\x42\\x66\\x73\\x84\\x40\\x64\\x16\\xf0\\x6c\\x4b\\x02\\x96\\x0f\\xb6\\x21\\x76\\xb1\\x84\\xdc\\x99\\xe9\\xed\\xcd\\x9a\\x0e\\x83\\x7f\\x88\\x98\\x1c\\xb8\\x74\\xc4\\x58\\x63\\x00\\x68\\x3f\\xb1\\xe7\\xf8\\xb9\\x03\\xb6\\x54\\x15\\x4c\\xd3\\x41\\xd6\\xcc\\x56\\x29\\x4c\\x13\\xc3\\x8f\\xfc\\xb1\\xba\\xd7\\xec\\x4e\\x45\\x79\\xfd\\xcb\\xd2\\xce\\x1d\\xb7\\x4c\\x18\\x53\\x39\\x6b\\x40\\x87\\xe7\\x27\\xcf\\x07\\xf2\\xea\\x9e\\x39\\xfa\\x31\\xa2\\xb0\\x39\\xee\\xc6\\x43\\xeb\\xa1\\xfd\\x95\\x89\\xaf\\x8d\\x72\\x0d\\x2d\\xff\\x82\\xe7\\xe1\\x5f\\xcc\\x3b\\x6c\\x38\\x77\\x9f\\xe6\\x74\\xe8\\x4f\\x40\\xbc\\xf2\\x4f\\x63\\xfa\\xc5\\xf4\\x60\\xa2\\xf9\\x90\\x96\\x3e\\xdb\\x1c\\xc4\\xc9\\x80\\x15\\xa6\\x19\\x26\\x10\\xbb\\x6e\\xc6\\x3a\\xd0\\x6d\\xc6\\x0c\\x76\\x9b\\x5b\\x04\\x1f\\x51\\xdd\\xf9\\x8e\\x4b\\xc3\\xeb\\xda\\x8f\\x09\\xad\\x57\\xd0\\xb3\\x84\\xec\\x2c\\x7e\\x80\\x08\\x24\\x35\\x3b\\x46\\xfc\\x25\\x20\\x60\\xf9\\xe3\\x04\\x81\\x78\\xd6\\xb1\\xd1\\x67\\xa6\\x26\\x55\\x5f\\xa9\\xae\\x5e\\xf5\\x78\\x0b\\x5a\\xf9\\x1d\\x76\\x81\\x86\\x15\\xa1\\xdf\\x39\\xa3\\x7b\\xe6\\xc2\\xfb\\xa8\\x01\\xf1\\xb1\\xa7\\x0a\\xfc\\xec\\x7d\\x58\\xbe\\x51\\x4c\\x6c\\x5d\\x2b\\xb1\\x38\\x40\\x87\\xad\\x76\\xbd\\x41\\xa1\\xd4\\xa8\\xd5\\xf8\\x6c\\x90\\x70\\xdc\\xc2\\x28\\x3c\\x47\\x04\\x62\\xb0\\x09\\xc4\\x34\\x6f\\xb6\\x7d\\x80\\xf0\\x49\\xe6\\x38\\xdd\\x2d\\x4d\\xe4\\x8b\\x81\\x6f\\xed\\xea\\xf9\\x2d\\x0c\\xec\\xaf\\x8d\\xc9\\x28\\x98\\x66\\x2c\\xc4\\x3b\\x0c\\x96\\x64\\x72\\x79\\xd7\\x3d\\xba\\xf4\\x29\\x5d\\x1a\\xfd\\x06\\xcd\\xf6\\xfc\\x06\\x93\\x76\\xbe\\x6f\\x64\\x72\\xbb\\x25\\x53\\xb0\\x6b\\x56\\xb4\\x7b\\x5e\\x41\\xd6\\xee\\xc1\\x5d\\xdf\\x32\\xe7\\xa2\\x68\\xe1\\xdf\\x27\\xa1\\xbe\\x58\\x0e\\xd1\\xcc\\x39\\xf6\\xdf\\x98\\xd6\\x70\\x26\\xf2\\xb8\\xc9\\xa8\\x25\\x06\\x57\\xc9\\x04\\x51\\xa3\\xa6\\xc7\\xa4\\xb2\\x22\\xbc\\x99\\x13\\x1d\\x20\\xc6\\xcd\\x9e\\xe5\\x3b\\xfb\\xc2\\x8e\\xdd\\x82\\x58\\xea\\x8e\\xe0\\x19\\x7f\\x29\\x36\\x56\\x63\\x0e\\x6d\\x13\\xa5\\x1c\\xa1\\xac\\x1e\\xb0\\xd0\\xd4\\x87\\x27\\xb3\\xfd\\xd4\\xdc\\x91\\xa3\\xd4\\x63\\xf5\\xc3\\xce\\xc9\\x4b\\xc5\\x19\\x9d\\xa0\\xb6\\x8b\\x6d\\xda\\x82\\x69\\xa8\\x1f\\x21\\xaf\\x30\\x73\\xe4\\x50\\x5b\\x81\\xfb\\xc3\\xf1\\x43\\xf9\\xf9\\x4d\\xc0\\x6b\\xe7\\x27\\x4c\\x17\\x26\\x06\\x7b\\x80\\x1a\\x05\\x59\\x31\\x26\\x52\\x97\\xec\\x89\\x35\\xe8\\x7d\\xed\\x99\\x24\\xd9\\xd6\\x6c\\xf4\\xd9\\x9f\\x4a\\x8e\\x2f\\x5c\\xba\\x7d\\xe8\\xf1\\x39\\x2f\\x6c\\x7a\\xee\\x70\\xc9\\xe4\\xcc\\xa2\\x01\\xc3\\x2b\\xda\\xb3\\xd7\\x9f\\x7b\\x38\\x67\\xdf\\xaa\\x05\\x0f\\x2a\\x37\\x2f\\xbf\\x52\\xf6\\xe6\\xa0\\xf2\\x09\\x63\\xdf\\x26\\x09\\x5f\\x78\\x9c\\x3b\\x78\\x8d\\x06\\x60\\xef\\x18\\x42\\x91\\x46\\xe3\\xc7\\x88\\xc8\\x58\\x3a\\x6c\\xdf\\xbd\\x66\\x94\\x3f\\xbc\\xe3\\x85\\x98\\xda\\x6c\\xc2\\x22\\xbd\\x6d\\xa2\\xe0\\xc5\\x95\\xed\\xc7\\xf7\\xbd\\xbf\\x70\\xf5\\xa0\\xfd\\xf3\\xa6\\x2d\\x91\\xce\\x16\\xe5\\xe4\\x14\\x8d\\xeb\\xc0\\xad\\xda\\x15\\xfe\\xd5\\x96\\x25\\xf3\\x1f\\xd6\\x54\\x8e\\xd3\\x66\\xe5\\x15\\x5f\\x1f\\xfd\\x2a\\xb1\\x59\\xb1\\xec\\x28\\xf6\\x1b\\xcc\\x97\\x3f\\xa3\\x3e\\xa1\\x91\\x40\\x39\\x75\\x95\\xec\\xf4\\x56\\x89\\xef\\x8e\\x65\\xf3\\xc8\\xd1\\x96\\xca\\x8e\\x38\\x9c\\x5f\\xd6\\xd9\\x7f\\x9e\\xf9\\xca\\x81\\x17\\x36\\x49\\xe7\\xc9\\xd8\\xeb\\x57\\x3a\\x2d\\x1c\\x71\\xee\\xfa\\xe6\\xe5\\x09\\xc9\\xc9\\xa4\\xc6\\x08\\xd3\\xfe\\xf5\\xff\\x8f\\xb5\\x37\\x81\\x8f\\xaa\\x48\\x1e\\xc7\\xbb\\xdf\\x31\\xf7\\x64\\xee\\x99\\x24\\x93\\x49\\x32\\x99\\x24\\x93\\x8b\\x24\\x64\\x92\\x4c\\x2e\\xc8\\x40\\xb8\\xcf\\x24\\x84\\x84\\x21\\x07\\xe1\\xbe\\x8f\\x70\\xdf\\x47\\x00\\x91\\x5b\\x04\\xbc\\x38\\x04\\x4f\\x40\\x6e\\x82\\xa0\\xa2\\xd9\\x55\\x3c\\xc1\\x63\\xdd\\xd5\\xaf\\xab\\xe8\\xba\\xab\\xa2\\x5f\\x57\\xd1\\xf5\\x5e\\x25\\x6f\\xfe\\xdd\\xfd\\x8e\\x79\\x33\\x01\\xfd\\xfe\\x3e\\x9f\\xbf\\x59\\x20\\xdb\\xaf\\x5e\\x75\\x55\\x75\\x75\\x75\\x55\\xbf\\xae\\x6a\\x7a\\x1a\\x30\\x23\\x5c\\x3a\\x4a\\x65\\x14\\x42\\x1b\\x82\\x4b\\xfc\\xf0\\x86\\xa7\\x24\\xa1\\x17\\xe6\\xb1\\xeb\\x95\\x63\\x1a\\xaa\\x5b\\x11\\x42\\xd7\\xab\\x47\\xb7\\x1c\\xa4\\x4d\\x3d\\xd3\\xb3\\xf2\\xa6\\xcc\\xed\\x73\\xc7\\xd4\\xce\\xd7\\x1f\\x03\\x24\\xe7\\xf7\\x39\\xc6\\x42\\x64\\x91\\x06\\x72\\xce\\xc4\\x99\\x11\\x6d\\x17\\x0c\\x31\\x31\\x1a\\x8a\\xa6\\x35\\x78\\x72\\x28\\x91\\x26\\x24\\x8b\\x56\\xab\\x52\\xb8\\x81\\x98\\x77\\xc7\\x85\\xcb\\x87\\xd1\\x1c\\x11\\x2e\\x1f\\xe6\\x97\\x66\\x5a\\xbe\\x14\\x53\\x47\\xd1\\x52\\xa7\\x1a\\xb0\\xea\\xa4\\x49\\xb5\\x50\\xc5\\xa0\\x55\\x78\\x14\\x5a\\xff\\xf6\\x39\\x9b\\x17\\x07\\xd0\\x8a\\x37\\x01\\xc5\\xfc\\x5b\\x99\\x72\\xee\\x1e\\x7a\\xeb\\xc4\\x52\\x6d\\x8d\\xbd\\x6f\\x6f\\xb4\\xfe\\x71\\xdf\\xb5\\x53\\xe7\\x67\\xbe\\x39\\xb1\\x71\\xdc\\xd4\\xeb\\x4d\\xe4\\xee\\x11\\xf8\\x3e\\xe2\\x79\\x0c\\xbb\\x13\\xd1\\xe8\\x3c\\x6f\\x50\\x2a\\x75\\x1a\\x15\\xb6\\x5b\\x56\\x91\\xaa\\x97\\x84\\x99\\xc4\\xbb\\x94\\xe1\\x0b\\xfc\\x44\\x17\\x99\\x0a\\x96\\xf7\\xd3\\x8c\\x69\\x30\\x07\\x07\\xd7\\xb9\\xb7\\x99\\xb7\\x35\\xa8\\x2b\\x13\\x33\\xf4\\x95\\xf0\\xda\\xa0\\xf2\\xe4\\x0a\\xf8\\x7a\\xf3\\xb1\\x63\\xcd\\x5c\\x59\\x56\\x5c\\x6f\\x4d\\x8b\\x09\\xf5\\xd5\\x07\\xf9\\x63\\x34\\xb2\\x31\\xf1\\x20\\xe9\\x9c\\x49\\xaf\\x8e\\x7f\\x0e\\x1b\\x08\\x34\\x2d\\xf2\\x80\\x11\\xe8\\x85\\xd8\\x49\\xb8\\xd8\\x47\\x56\\x11\\x08\\x2d\\xf5\\xc5\\x61\\x7f\\xdd\\x42\\x79\\xc7\\x08\\x73\\x60\\x41\\xc2\\xe2\\x18\\x96\\x2a\\x5f\\x34\\x72\\xea\\x34\\x76\\x02\\xf3\\x19\\x57\\x3a\\xd8\\xbd\\x68\\xe3\\x62\\xf8\\x44\\xd7\\x91\\x87\\x55\\x2d\\x09\\xb5\\xbd\\xa6\\x8e\\x37\\x67\\x51\\x0c\\x8e\\xef\\x29\\x07\\xd3\\x83\\x99\\x82\\xb8\\x32\\x3f\\x09\\xac\\x7a\\x95\\xca\\xaa\\x06\\x79\\x38\\xef\\x2f\\xaf\\x20\\xe2\\xa3\\x8c\\xdf\\x00\\x85\\x4f\\x31\\xff\\x86\\xef\\x2e\\x98\\x35\\x77\\x22\\xd7\\x1a\\x4b\\x0d\\x3c\\xe4\\x58\\x3b\\xf1\\xc0\\x3e\\xce\\x4c\\xdd\\x5d\\xdf\\x3a\\x64\\xf4\\x0a\\x66\\x21\\x4b\\x05\\x56\\xee\\xde\\x48\\xf6\\x2c\\x3e\\x62\\x5e\\x65\\xae\\x23\\x2b\\x9f\\x79\\xde\\xe4\\x30\\x64\\x6b\\x92\\x91\\x35\\xea\\x50\\x78\\xbd\\xd6\\xf8\\x67\\x08\\x53\\x06\\x81\\x29\\x32\\xac\\xd2\\xb9\\x84\\x70\\x88\\x45\\x2e\\x30\\xe1\\xb5\\x5f\\xe2\\x4f\\x16\\x83\\xd1\\xb6\\x06\\x53\\x51\\xc5\\xc8\\x25\\xd8\\x2c\\x99\\x34\\x68\\xc2\\x17\\x4d\\xe9\\x3f\\x7a\\xa2\\xa6\\x74\\xde\\xe0\\x96\\x29\\xea\\x71\\x2b\\xf1\\xc3\\x9a\\xc5\\xb6\\x5a\\xe6\\x3a\\xd7\\x67\\x64\\x76\\xb1\\x7f\\xcb\\x7c\\x78\\xac\\xeb\\xc8\\xa4\\xca\\xf5\\xa3\\x7a\\xd5\\x55\\x37\\x0e\\x9e\\x3a\\x3e\\xb6\\x0c\\xde\\xe0\\x1f\\x6d\\x9d\\x0b\\x8f\\xf3\\x6b\\xfc\\x22\\x64\\x4b\\x8b\\xd1\\x18\\xa8\\x91\\x15\\x50\\x51\\x78\\xac\\x15\\xf2\\x1d\\x47\\x1c\\x92\\x91\\xed\\x14\\x6a\\xf3\\xde\\x35\\xeb\\x07\\x68\\x14\\xa3\\xa0\\x6e\\x33\\x8a\\xc1\\x7e\\xe3\\x0c\\x83\\x5b\\x1e\\x83\\xdf\\x11\\x7b\\x7c\\x0d\\xc5\\x2b\\xdf\\x22\\xbd\\x4e\\x07\\x69\\x1d\\x1e\\x9c\\x31\\x88\\x15\\x3b\\x56\\xa1\\x70\\x32\\x4c\\x12\\x20\\x93\\x46\\x8c\\x55\\xf8\\x4f\\x1f\\x64\\x87\\x8a\\xd4\\x93\\x0c\\x7f\\xf8\\x30\\x40\\x87\\x5d\\xfe\\xd5\\x23\\x86\\x82\\xab\\x7c\\xc3\\x52\\x06\\x67\\x54\\xf6\\xe8\\x51\\x37\\xbc\\xe4\\xd0\\xf6\\xb6\\xd9\\xed\\xab\\x52\\xd2\\x2b\\x92\\xfa\\x39\\x7b\\x14\\x8e\\xf1\\x95\\x0f\\x4c\\x4e\\x68\\xf4\\x97\\xc3\\x0f\\x3d\\x05\\xb5\\x7d\\x72\\x1b\\x56\\x34\\x36\\x2d\\xda\\xd0\\x58\\xd3\\xde\\xbe\\xba\\x57\\xff\\x54\\x57\\x6d\\x81\\x27\\xbf\\xa2\\xa0\\x35\\xcb\\x8a\\xe2\\xf3\\xaf\\xd1\\x9c\\x4b\\x44\\xeb\\x90\\x15\\xd7\\xfe\\x7b\\x0a\\x98\\x61\\x51\\x40\\xad\\x70\\xbb\\x0d\\xba\\x94\\x14\\xa7\\x0e\\x8f\\x0a\\x0e\\x42\\x0a\\x84\\x45\\x18\\xc5\\x51\\xe6\\x52\\xd1\\xf1\\xe5\\x8b\\xa0\\x11\\xef\\x17\\x8d\\x4b\\x3c\\x64\\x53\\x94\\x74\\xf8\\xc0\\x11\\x59\\x7d\\x69\\xd7\\xfc\\x9d\\x8b\\x9a\\x86\\x4f\\x7a\\xe9\\xe8\\xba\\x56\\xc6\\x91\\xb9\\xaa\\x7d\\x1d\\x4c\\x7e\\xb2\\xc7\\x9c\\x1e\\x0b\\x7b\\xce\\x6f\\x9f\\xd5\\x64\\x9d\\x34\\x67\\x90\\x02\\xac\\x9c\\x3e\\xe5\\x6e\\xb3\\x65\\x69\\xc3\\xfe\\x0b\\x7d\\x77\\xbc\\x4d\\x1d\\xa6\\x0e\\x4f\\xfc\\xaa\\xeb\\x35\\x57\\xea\\x8a\\x79\\xb5\\x13\\x27\\xc5\\x4c\\x9e\\x54\\x31\\x8c\\x3f\\x87\\x39\\x17\\xbc\\xc8\\xb8\\x98\\x4f\\x8d\\x4a\\xf6\\x0e\\x30\\x93\\x9a\\x2f\\xec\\xaf\\x5c\\x63\\x6c\\x64\\x0d\\x4d\\xc6\\xbb\\x9f\\x8a\\x84\\x04\\x7b\\xa2\\xde\\x60\\x48\\x7c\\x86\\x2c\\xa2\\x76\\xc1\\x7e\\x92\\x15\\x8e\\x4c\\x4a\\x42\\x9a\\x97\\xc4\\x1b\\x96\\x14\\xaf\\x43\\x20\\x9f\\xf8\\x61\\x5e\\x9c\\x3a\\xdb\\xd2\\xd6\\x5e\\x92\\xb1\\x7c\\xe5\\xe0\\x96\\x9f\\xfd\\xf9\\xc7\\x07\\x06\\xde\\x3e\\xba\\xe5\\xc0\\x0b\\x57\\x8e\\x1b\\xe1\\x77\\x66\\xaa\\xec\\x91\\xcd\\x8d\\xeb\\x0b\\xb3\\x27\\x6c\\x9b\\xd4\\x34\\x85\\x9e\\xae\\xf8\\xac\\xe9\\xd1\\x86\\xb3\\x1f\\x3d\\x78\\xc7\\xe1\\x7f\\x96\\x7d\\x53\\xd7\\x8c\\xf7\\x39\\x7e\\x46\\x72\\xf4\\x32\\x3f\\xa1\\xc8\\x2d\\x1d\\xa4\\x3e\\x07\\x4c\\xc8\\xac\\x6a\\x90\\xb9\\x72\\xe1\\xb0\\xa1\\xc3\\x1d\\x17\\xa7\\xd2\\x86\\x23\\xa6\\x82\\x4a\\x51\\x86\\x7c\\x62\\x0d\\xb9\\x47\\x0f\\x8d\\x2c\\x26\\xcc\\x61\\xc1\\x01\\x04\\x5a\\xd4\\x7a\\x53\\x28\\x78\\x18\\xd7\\x38\\xbb\\x64\\xc6\\xe1\\x59\\xc5\\x0b\\x8a\\xd7\\xec\\x7c\\xfa\\x11\\x6b\\xcd\\xcc\\xe2\\xea\\xea\\x61\\xae\\x25\\x13\\xf2\\x02\\x96\\x61\\x13\\x57\\x06\\x98\\x1f\\x36\\xae\\x9f\\xf0\\xd7\\x1d\\x83\\x69\\x7c\\xc5\\x95\\xe2\\xc8\\xae\\x67\\x21\\x1d\\xdf\\x62\\x9d\\x7a\\xb2\\x71\\xfc\\x3c\\x16\\xde\\x7f\\xff\\x86\\xe6\\xfa\\x69\\xdc\\x64\\x6a\\xce\\xe7\\x33\\xef\\xe5\\xf5\\x10\\x74\\x32\\xc3\\x50\\x7c\\x67\\x07\\xa9\\x4f\\x9a\\x68\\x2b\\x60\\x28\\x33\\x76\\x07\\xd4\\x4a\\xdd\\x33\\x64\\xc1\\xa5\\xf0\\x4a\\x4b\\x6e\\x77\\x16\\xf6\\x31\\x3d\\xd0\\x8b\\xbd\\x52\\xb2\\xee\\x24\\xc2\\x24\\x68\\x41\\x1e\\x88\\x87\\x7a\\x98\\xeb\\xbc\\x03\\x1e\\x1c\\xe0\\x4a\\x75\\xea\\xed\\xb1\\x79\\x3d\\x33\\x7a\\x7a\\x9c\\xa5\\xbf\\x6d\\xe0\\x8e\\x9e\\x5e\\x4e\\xdd\\xcd\\xf5\\xa0\\x06\\x7c\\x37\\xb9\\x48\\x3d\\xc6\\x9a\\x10\\x18\\xf7\\x16\\x5c\\xc9\\x59\\xbb\\x5e\\x22\\xe3\\x77\\x30\\xb4\\x94\\xba\\x46\\xef\\x34\\x29\\xe9\\x74\\xf8\\x75\\xd7\\x4e\\xa0\\x3d\\x0b\\x01\\x73\\x11\\xf6\\x06\\x95\\x45\\x45\\xf8\\xf9\\xe8\\xd0\\x52\\xba\\x82\\x5a\\x8b\\x9e\\xf7\\xa0\\x74\\x5d\\x3b\\x80\\xfa\\x0c\\xde\\x8d\\xc0\\x8f\\xf9\\xf3\\xbb\\x5f\\x85\\x66\\xd2\\x27\\xa9\\x05\\x26\\x25\\xbb\\x24\\xf4\\x04\\xff\\x5c\\x2f\\x7f\\xde\\x85\\xde\\x7f\\x8e\\x3c\\x5f\\x1e\\xba\\x93\\x7f\\x0e\\xa4\\xe7\\x68\\x7c\\x76\\x71\\x23\\xe8\\x13\\xf4\\xce\\xb0\\x9e\\xf7\\x89\\xd0\\xf3\\x4a\\xa2\\xe7\\xfd\\xfe\\x40\\xcf\\xd1\\x60\\xdd\\x52\\xcf\\xa9\\x73\\x6d\\x9b\\xe7\\x35\\xd5\\x36\\xfe\\xe9\\xd1\\x95\\xad\\x8c\\xa6\\x70\\xf9\\xea\\x35\\x30\\xf6\\x74\\x8f\\x99\\x19\\xf3\\x7d\\x73\\x57\\x4f\\x6d\\xb2\\x4c\\x98\\x39\\x90\\xde\\xb9\\x7a\\xea\\x94\\xbb\\x2c\\xf6\\x15\\xb5\\xfb\\x2e\\xf6\\x1d\\xc4\\xfd\\x2f\\x52\\xf4\\x43\\x13\\xff\\xdd\\xf5\\xaa\\x33\\x7d\\xc5\\xbc\\xea\\xc9\\x92\\xa2\\x43\\xc8\\x70\\xa3\\xe8\\xb3\\x48\\xbf\\x63\\x80\\xbd\\x43\\x4f\\x6b\\x15\\x31\\x4f\\xc3\\xbe\\x28\\xa2\\xe9\\x03\\xc2\\xbb\\xb9\\x76\\x5b\\x6f\\x48\\xae\\xfb\\xf0\\xa0\\xe8\\x05\\x6e\\x18\\x61\\xd0\\x64\\xc2\\xf8\\x0d\\xdc\\xdc\\x91\\xfe\\xf6\\xcc\\xe1\\x5b\\xa9\\xf9\\x5c\\xea\\x9a\\x8c\\xf8\\x3a\\xca\\xd6\\x95\\xb5\\xf3\\xe9\\xf6\\x63\\xd4\\xf7\\x84\\xff\\x17\\xb9\\x56\\xfa\\x21\\x6a\\x2d\\x70\\xe2\\xaf\\xee\\x4f\\xa1\\xc9\\x11\\x38\\xa7\\x67\\xd2\\xb4\\x98\\xf3\\x44\\xe4\\xd6\\x54\\x09\\xae\\x46\\x25\\x4e\\xab\\x35\\x87\\xdd\\x0c\\xaf\\xc3\\x9a\\x48\\x16\\x53\\x4f\\x2e\\x59\\xc4\\xe5\\x7e\\xce\\x8b\\xc3\\x2f\\x1f\\xdc\\x7b\\x3f\\xf6\\x75\\x06\\x53\\xb9\\xe3\\x66\\xed\\x18\\xdd\\x46\\xe5\\x2f\\x39\\xf0\\x00\\xd5\\x28\\xf9\\x3c\\x93\\xce\\xc1\\xd5\\xe7\\x1e\\xd8\\x86\\x1c\\x9f\\x85\\xa5\\xfd\\x47\\xa6\\x96\\xd7\\x3a\\xf4\\xed\\x54\\x9d\\xe4\\xfd\\xe0\\x71\\x3b\\xcc\\x0d\\xa5\\xff\\x42\\xad\\x47\\xe3\\xb6\\x26\\x74\\xac\\x6b\\x3b\\xd1\\x0b\\x55\\x58\\x2f\\x40\\x0b\\x37\\x9c\\x7e\\x83\\x6a\\x47\\xcf\\xd7\\x86\\xda\\xf9\\x71\\x45\\x4a\\xdb\\x57\\x1c\\xd7\\xd0\\xc7\\xa1\\xaf\\x98\\xbf\\x92\\xba\\x94\\x3e\\x7c\\x72\\x36\\x36\\x1b\\x17\\x4b\\xcc\\x4d\\xac\\x0e\\x82\\x34\\xda\\xae\\xce\\xcd\\xa5\\xad\\x6a\\x43\\x8a\\x91\\x36\\x56\\x07\\x33\\x68\\x7b\\xc4\\xd1\\x27\\xbc\\xbb\\x55\\x2a\\x9c\\x1b\\x4c\\xeb\\x76\\x9f\\x03\\x5e\\x6f\\x94\\x42\\x45\\x0c\\xb7\\xb0\\xb8\\x3a\\x28\\x2c\\x02\\xb1\\x6a\\x37\\x05\\x4a\\x37\\xcc\\x69\\x5f\\x60\\xdf\\x76\\x74\\xa3\\x35\\x2f\\xaf\\x7a\\x74\\xca\\xc6\\xc3\\xb1\\x73\\x1f\\x5a\\xd1\\xee\\xe9\\xfa\\xc6\\xb6\\x7e\\xe8\\xac\\xc4\\x75\\x4b\\x7e\\x5c\\xb0\\x14\\x3e\\x54\\xb3\\x3a\\x05\\x4e\\xd7\\xe6\\x1e\\x9d\\x37\\xbc\\x71\\xc6\\xa0\\x79\\xd4\\x5f\\xba\\x6a\\x27\\x95\\xf5\\x29\\x9e\\x7d\\x84\\x3a\\xb9\\x64\\xeb\\xc1\\x83\\xf3\\x8f\\xf2\\x67\\x86\\x43\\xa0\\x89\\x5e\\x77\\x7c\\xff\\xf0\\xb2\\x81\\xcb\\x79\\x7d\\x2d\\x43\\x7c\\x35\\xb2\\x57\\x51\\x84\\x54\\x01\\x46\\x07\\xb2\\x63\\xe3\\xe3\\x3d\\x6e\\x93\\x4e\\xaf\\xb7\\xd9\\xac\\x2e\\x13\\xfa\\xc9\\xb0\\x53\\x74\\x7a\\x1a\\x9d\\xa6\\xce\\xc8\\x28\\x40\\xbc\\x19\\xed\\x40\\x6d\\x03\\xa5\\xe1\\x53\\x07\\xe2\\xa1\\x6d\\x13\\x6f\\xff\\xf0\\x37\\x7f\\xe3\\xe5\\x02\\x7c\\xfc\\x0e\\xfd\\xc3\\x17\\x2f\\x41\\x0a\\x1d\\x43\\x63\\x25\\xb2\\x78\\xf1\\xf9\\x24\\xe4\\x34\\x39\\xfc\\x7c\\x75\\x18\\xde\\x65\\xf3\\x22\\x4f\\x8a\\x9c\\x5f\\x53\\x52\\xc0\\x52\\x18\\xbe\\xf7\\xb3\\xd8\\x4c\\x0d\\xff\\xa1\\x98\\x62\\xf5\\x3a\\x0d\\x3c\\xa9\\xca\\x7c\\xa9\\xa7\\x37\\x55\\xdd\\x6e\\x6f\\x1f\\x5d\\x68\\xeb\\x48\\x49\\xb4\\x24\\x79\\x0c\\xed\\xf6\\x79\\xad\\x0e\\xb7\\xc3\\xcd\\xb4\\x7f\\x0f\\x0b\\x62\\x4b\\xb8\\xd0\\x9e\\x71\\x13\\xd6\\x1c\\x19\\x37\\x6b\\xfe\\xe2\\x7b\\x9b\\xac\\x17\\xe3\\xfd\\xb9\\x6e\\x26\\xee\\x25\\x9a\\x53\\xe4\\xe7\\x4d\\x5d\\xc5\\x4e\\x3f\\xa1\\xcc\\xcb\\x9f\\x3f\\x5f\\xb9\\xec\\xfe\\x57\\xb8\\xa3\\x2d\\xcb\\xb8\\x4f\\xb9\\xeb\\xd4\\x0f\\x4b\\x67\\x1f\\xe2\\x9e\\xdb\\xb0\\x62\\xc1\\x01\\x38\\x02\\xc9\\x62\\x50\\xe8\\x3a\\x8b\\xbf\\x49\\xe6\\x81\\xde\\x60\\x70\\x20\\x2d\\x0f\\xc4\\xe8\\x81\\x5e\\x93\\x63\\x4b\\x4c\\x4e\\xce\\xf0\\xda\\xcd\\x71\\x1e\\x3b\\xfa\\xd1\\x24\\x00\\x4d\\x59\\x75\\x50\\x63\\xa4\\x7d\\xd5\\x41\\xda\\x1e\\xce\\xcb\\x22\\xc7\\x5a\\x10\\xd3\\x98\\xef\\x3c\\x79\\x14\\x29\\x8e\\x39\\x3e\\x98\\xe5\\xf0\\x55\\x42\\xfe\\x98\\x16\\x89\\x79\\xe4\\x72\\xf0\\xa2\\xd8\\xce\\x83\\xc0\\xd2\\x78\\xde\\xc5\\xa0\\x92\\xfa\\xa6\\xff\\xf9\\x65\\x07\\xef\\x89\\x9d\\x0b\\x37\\x2d\\xdb\\x9d\\x48\\xd9\\x32\\x1c\\x2e\\x41\\x0e\\x6e\\x3b\\x12\\x84\\xdd\\x91\\x94\\x4a\\x04\\x51\\xf4\\x94\\x53\\x73\\x3c\\x96\\x33\\x35\\x4f\\x5a\\xf3\\xf8\\x84\\x59\\x0b\\xc7\\xac\\x1e\\x5b\\x7a\\x72\\xfa\\xb8\\xc7\\x8f\\xb5\\xae\\xa2\\x8a\\xeb\\x27\\x2c\\xf9\\x8b\\x1a\\x4b\\x41\\x31\\xe3\\xa4\\x02\\x4b\\x81\\xbd\\x39\\xb0\\xbd\\x99\\xc9\\x5e\\xf3\\xf0\\xa2\\x99\\x07\\xe1\\xd0\\xd5\\xcb\\x16\\xd6\\x9d\\xe3\\xbe\\xe2\\xcf\\xbe\\xa2\\xa8\\x90\\x23\\x32\\xe8\\x7f\\x26\\x25\\x13\\x57\\x25\\x4e\\x0a\\xa6\\x00\\x90\\xe0\\x4a\\xa8\\x0e\\x42\\x86\\xd1\\x69\\xed\\x46\\xb3\\x39\\x3e\\x4e\\x69\\x47\\x3f\\x86\\x1e\\x2e\\x83\\x41\\xb8\\x10\\x86\\xe7\\x1d\\x0d\\x38\\xff\\x77\\xb8\\x78\\x1d\\xed\\x0b\\x73\\x88\\xef\\x11\\x91\\xb8\\x77\\xe0\\x7d\\x71\\xbf\\xac\\x30\\x20\\x0a\\x0a\\xd0\\xe2\\xb8\\x6b\\x18\\x8c\\xb7\\x09\\x83\\x5b\\x0c\\xab\\x3b\\x9a\\x63\\xe3\\x05\\x7e\\x8b\\x2a\\xb9\\x5f\\x13\\xa0\\x82\\xcd\\xf8\\xf8\\x93\\xc1\\x8f\\xa7\\x25\\x24\\x3f\\x99\\x3d\\xbd\\x6d\\x80\\x15\\xfe\\x3b\\x81\\x3e\\xce\\x2d\\x25\\x83\\xab\\xe0\\x26\\xc0\\x8f\\x55\\x64\\xb8\\x61\\xbf\\x1d\\x71\\xaf\\x9d\\xd2\\xab\\x76\\xb1\\xba\\xbc\\x19\\x93\\x76\\x90\\xf3\\x49\\x47\\x01\\x60\\x75\\x68\\x0e\\xe7\\x21\\x5d\\x1f\\x04\\x66\\x04\\xca\\x4a\\x7b\\xd9\\x7b\\x55\\x07\\x5d\\x76\\x63\\x76\\x4e\\x41\\x4e\\x4d\\x30\\x37\\x1f\\x56\\x31\\x74\\x80\\xae\\x09\\xc6\\xc7\\x59\\x2d\\x4a\\x4d\\xa0\\xca\\x93\\xef\\x63\\x0b\\xfa\\x58\\xd2\\x8c\\x9a\\x82\\x3e\\x69\\x69\\x7d\\x0a\\x34\\x8c\\xc2\\x68\\xc8\\x02\\xc2\\xe1\\x59\\x7e\\xbb\\x85\\x5c\\x39\\x8e\\x7e\\x35\\x61\\xa7\\x4a\\x28\\x49\\x2a\\x0a\\x40\\x3a\\x2a\\x91\\x8e\\x6d\\xba\\x85\\x30\\x5e\\x09\\x91\\x34\\x0c\\xd0\\x47\\x26\\xbd\\x4f\\xda\\xf2\\x28\\x26\\x5b\\x0a\\x1e\\x8b\\x32\\xc5\\x4b\\x5b\\xec\\x3e\\x71\\x73\\x18\\xb5\\xe1\\xd4\\x51\\x1c\\x1e\\xe3\\x9a\\xb5\\xc7\\x1a\\xdb\\x87\\x65\\x4f\\x3c\\x5a\\x9f\\xa8\\x6f\\x4f\\x99\\x38\\xb0\\xa7\\xd5\\xb2\\x57\\x63\\xa6\\x26\\x3d\\x50\\x3b\\x98\\xaa\\x58\\x5f\\xd7\\x50\\xa3\\x73\\x1b\\x54\\x1b\\x4a\\xd7\\x8f\\x3e\\x32\\xac\\xaa\\x7a\\x7a\\xcd\\xac\\x85\\x83\\x7b\\x67\\x69\\xbd\\x59\\x7d\\xe7\\xb8\\xdf\\xeb\\xdd\\x96\\x5c\\xdc\\x3c\\xcd\\xa9\\xcd\\x80\\x7f\\xcd\\xa4\\x38\\x05\\xbc\\x18\\xeb\\x1c\\x35\\xde\\xd5\\x35\\xee\\xce\\x41\\x53\\x5f\\x18\\x33\\x6b\\x5a\\x53\\xe3\\x44\\xef\\xd4\\x23\\x06\\xeb\\xae\\x72\\x6e\\x24\\xdc\\x44\\x25\\x70\\xe3\\xa8\\x9c\\x74\\xe6\\x9d\\x26\\x57\\x45\\xde\\x91\\x23\\xb0\\xfa\\xf4\\x7d\\x54\\xd2\\xe6\\x9a\\xa4\\x8a\\x7c\\x62\\x0b\\x2f\\x23\\x1d\\x09\\x91\\x3b\\x57\\xfd\\x60\\x68\\x20\\xd3\\x55\\x88\\x64\\x68\\x4c\\xc9\\xcd\\x85\\xd5\\x41\\x85\\xda\\xa0\\xae\\x46\\xe2\\xcb\\xca\\x35\\xc4\\xa5\\xda\\x74\\xb9\\x86\\xd4\\x54\\x43\\xae\\x8e\\x51\\xd9\\x0c\\x40\\x65\\x0b\\x5f\\x16\\xc8\\xcb\\x4c\\xbc\\x18\\x3d\\x7c\\x9c\\x23\\x97\\xf6\\x86\\xc5\\xd4\\x9b\\x2e\\x12\\xa3\\xac\\x64\\xbc\\x31\\xc0\\x7f\\xc2\\xa2\\xa1\\xdd\\x81\\x3c\\xe1\\x62\\x71\\x7e\\xfc\\xd6\\xa7\\x6c\\xc5\\xb2\\xc5\\x45\\xe3\\x3a\\x5a\\xc7\\x98\\xdb\\x2d\\x7b\\x5a\\xb3\\x94\\x7a\\xad\\xea\\x98\\x49\\x4b\\x8f\\xe8\\x5c\\x04\\x9d\\x8a\\x92\\x31\\x71\\xed\\xb1\\xbb\\x26\\xf7\\xe9\\x7a\\x7d\\xd4\\xe3\\x8f\\x94\\xe7\\x68\\xc7\\x34\\x8e\\xba\\x67\\x12\\x1c\\xae\\xf1\\xa2\\xc8\\x9d\\x8b\\x85\\xff\\x89\\x1d\\xd5\\x72\\x87\\xe1\\xfd\\x94\\xa1\\x55\\xf9\\x4a\\xc5\\x8a\\x92\\x99\\x13\\xb8\\x84\\x72\\xee\\x5f\\x69\\x2b\\x16\\x3d\\x18\\xcb\\x9d\\xa1\\x66\\x5b\\x7b\\x55\\xe8\\x3f\\x2d\\xcb\\x18\\x53\\xdb\\xf0\\x20\\xe2\\xdb\\xc9\\x35\\x30\\x4d\\x4c\\x35\\xbe\\x71\\x0f\\x04\\x03\\xc8\\x21\\xc1\\x06\\x91\\xa2\\xd3\\x52\\xe9\\x54\\x90\\x6c\\x30\\xc6\\x28\\x63\\x90\\x00\\x94\\x16\\x5b\\x82\\x0d\\x09\\x24\\x21\\x4e\\x99\\xa0\\xd1\\x24\\x28\\xe3\\x18\\x60\\x4e\\x90\\x5b\\x4c\\x51\\x02\\x82\\xaa\\x88\\x87\\x91\\xf8\\xcd\\xde\\x6c\\xde\\x5e\\xe2\\xa3\\xbc\\x62\\x44\\xeb\\x55\\x7a\\xfc\\xb2\\x49\\x83\\xa4\\x20\\x0a\\x05\\x5b\\x4c\\xe1\\x86\\xe0\\xb0\\xc5\\xfc\\x39\\x9f\\x35\\xe6\\xf6\\x44\\x1e\\x07\\x9e\\x40\\x36\\x8f\\xe3\\xbc\\xc7\\x69\\x15\\x26\\x90\\xef\\x92\\x53\\x73\\xca\\xac\\x60\\x06\\x9c\\x5a\\x09\\x0b\\xe3\\xe6\\x14\\x05\\xa7\\x8f\\xdf\\x34\\xb1\\x62\\xd6\\x82\\x45\\xf7\\x23\\x73\\xa9\\x69\\xfc\\x46\\x01\\x73\\xd1\\x24\\x52\\x2d\\x3e\\x4f\\x6c\\x05\\x43\\x5f\\xbe\\x73\\x8c\\x75\\x4d\\xd2\\xf4\\x71\\xdc\\xe9\\x71\\x6b\\xba\\x5e\\xa3\\x7e\\x9b\\x35\\x7f\\xf4\\x19\\xee\\xbf\\x63\\x97\\x2d\\xdc\\x0f\\x5b\\xc4\\xb3\\xe5\\x6b\\x90\\x1e\\xe4\\x82\\xea\\x40\\x36\\xa0\\x72\\xa8\\xda\\x60\\x8e\\xd1\\x64\\x50\\x19\\x90\\x18\\x54\\x56\\xbb\\xcb\\x5e\\x1d\\x4c\\x74\\x65\\x78\\xbd\\xda\\x94\\x78\\x95\\x4b\\xab\\x75\\xa9\\xe2\\x19\\x4b\\x8a\\xc1\\x82\\x2d\\x86\\x4c\\x0d\\x7c\\x91\\x92\\x10\\xce\\xd9\\xf2\\x65\\x22\\x65\\x8b\\x44\\x84\\xe9\\x40\\xc3\\xef\\xf5\\x91\\x83\\x20\\x78\\xb7\\xd5\\xc1\\x8c\\x9b\\x3d\\xe9\\xd0\\x2f\\x29\\x1a\\x47\\x92\\x60\\x38\\x9c\\x9e\\xde\\x1d\\x43\\xed\\x36\\x81\\xef\\x5c\\x4f\\x2c\\xf5\\x84\\x42\\xc1\\x0e\\x5e\\xb0\\x63\\xdc\\x8c\\xf1\\xf4\\x3d\\x96\\xef\\x9f\\x2e\\x52\\x63\\x7b\\xa1\\xe2\\x3a\\xe1\\x7a\\xb2\\x3c\\x30\\xe7\\x56\\x1e\\x9c\\x98\\x3f\\x70\\x70\\x59\\xdb\\xb4\\x22\\x13\\xe6\\xed\\x79\\x92\\xe3\\x3c\\x02\\xa4\\x82\\xca\\x40\\x8a\\xd5\\xac\\x35\\x57\\x07\\xd5\\x5a\\x47\\x5c\\x72\\x5c\\x75\\xd0\\x9d\\xec\\xd2\\x26\\xc7\\xc4\\x24\\x6b\\x5d\\x0c\\xb0\\xdb\\x00\\x5b\\x1b\\x04\\xc6\\xdb\\x0e\\x2d\\x76\\xee\\xf8\\x1b\\x9e\\x7f\\x8f\\x9b\\x54\\xfa\\x8b\\xd2\\xb4\\xe4\\x94\\x8a\\x15\\x9b\\xdd\\x29\\x72\\x26\\x4e\\xcb\\x98\\x48\\xce\\x80\\x14\\x33\\x42\\xf3\\xa8\\x66\\xf3\\xb1\\x53\\xd1\\xd4\\x3f\\xf2\\xda\\xbb\\xf8\\x4e\\x2b\\xb4\\x96\\x2f\\x67\\x86\\x22\\x0f\\x65\\x50\\x20\\x33\\xa7\\xa0\\x26\\x88\\xef\\x7b\\xd3\\x29\\xed\\x69\\xb1\\x6e\\xa5\\x3d\\x27\\x2f\\xd6\\xed\\x8e\\xcd\\xcb\\xb1\\x2b\\x15\\xb4\\xcb\\xe5\\xc1\\x53\\x96\\xd6\\xc8\\x56\\xb0\\xf0\\x89\\x3d\\x71\\x76\\xe2\\x0c\\x2c\\x68\\x95\\xae\\x82\\x4b\\x26\\xf9\\x96\\xc4\\x4f\\xf7\\x90\\x9a\\xae\\xfc\\x76\\x72\\x3a\\x3e\\x4f\\x8b\\x9d\\x76\\x9e\\x3b\\x85\\xd2\\x4e\\xdf\\xe4\\x7e\\xf8\\xe6\\xd5\\xe7\\x15\\x8f\\x2a\\xd7\\xac\\x85\\x39\\xc3\\x1a\\xe7\\x56\\xaf\\xc9\\x1e\\x6a\\x6d\\xf7\\xee\\xd0\\xff\\xfa\\xe9\\xb9\\x67\\xe0\\x63\\xcc\\x3f\\xb8\\xef\\xb2\\x6b\\x37\\x0d\\x5a\\x97\\xe7\\x74\\x9a\\xdb\\xdd\\xd3\\x75\\x70\\xdc\\xf1\\x97\\xd7\\xef\\x4c\\x6a\\xa8\\x79\\xbe\\xa0\\xca\\x99\\x12\\x9f\\x31\\xfd\\x6c\\xa6\\x3b\\xef\\xd1\\xa7\\x56\\x6f\\xb5\\xee\\x3d\\x96\\xea\\xf3\\xa6\\xdb\\x32\\x9c\\xc5\\x8f\\xe7\\xa4\\x90\\xf5\\x69\\x52\\xe8\\x5b\\xc6\\xc7\\xd6\\x81\\x9e\\xa0\\x2e\\xe0\\xb2\\x5b\\x74\\x16\\x34\\x2e\\x3a\\x6f\\x46\\x5e\\x46\\x75\\x30\\x3f\\x2f\\x47\\x97\\x67\\x30\\xe4\\xe9\\x72\\x18\\x37\\x74\\x27\\xe0\\xb5\\x4b\\x1f\\x74\\xdb\\x55\\xa4\\x86\\x38\\x4b\\x43\\x03\\xb9\\x5f\\x4a\\x2a\\xd6\\x2e\\x9d\\x4f\\x8c\\x18\\x2c\\xbf\\x8f\\x1c\\x84\\x70\\xf3\\xae\\xb7\\xb0\\xa7\\xe4\\x15\\x3e\\xe3\\xf9\\x95\\x7c\\x1c\\x87\\x02\\x66\\x69\\x3e\\x42\\x9d\\xf3\\x58\\xdb\\x52\\x3f\\x3c\\xed\\xe4\\xaa\\x07\\x2a\\x73\\x58\\x61\\xf0\\xd8\\x62\\x26\\x91\\xad\\x18\\xbf\\xf1\\x58\\xfc\\xe9\\x23\\x0f\\x2d\\x54\\xe7\\xa6\\x09\\xc3\\x98\\x59\\x46\\x1f\\xdf\\x01\\xe3\\xb9\\xeb\\x3b\\xb8\\xdd\\x34\\xbf\\x68\\xd1\\xf7\\xc7\\x5a\\x73\\xfb\\xa4\\x6c\\xce\\x5d\\xd4\\x90\\x96\\x73\\x83\\xc5\\x03\\x4a\\xc3\\x2c\\x44\\x75\\x39\\xd2\\xc1\\xd9\\xe4\\x7c\\xfa\\xa0\\x80\\x97\\x42\\x2e\\x75\\x75\\x30\\xce\\xa9\\xd2\\x98\\xd0\\xb0\\x59\\x4c\\x31\\x4e\\x53\\x62\\xa2\\xc9\\x19\\xc3\\x28\\xec\\x76\\x64\\x6f\\xec\\x06\\x05\\x8d\\xa6\\x9d\\xed\\x16\\xe7\\x2f\\x23\\xf8\\x4b\\xf1\\xe2\\xb3\\x44\\x7e\\xb9\\x13\\xc2\\x9f\\x0e\\x15\\x95\\x93\\x0e\\x14\\xee\\xe7\\x4e\\x53\\xcf\\x38\\x6f\\xae\\x70\\xc2\\x95\\x25\\xf1\\x5e\\x2f\\xa2\\xfb\\x8e\\xfa\\xc2\\x65\\xb0\\x4f\\xd7\\x6e\\x27\\x5d\\x12\\xcf\\xed\\x1c\\x90\\xc5\\xfb\\x1c\\xf0\\x94\\x97\\x3b\\xbf\\x75\\x33\\x5c\\xa2\\xc7\\x34\\x27\\xc3\\x5e\\x5b\\x37\\x73\\x7b\\x2d\\xf9\\x88\\x27\\xde\\x67\\xfe\\x8e\\x1b\\xc3\\x64\\x21\\x7d\\x4c\\x01\\x05\\xa0\\x57\\x20\\x39\\x36\\x4e\\xab\\xd1\\xe7\\x22\\x1e\\x34\\x7a\\x97\\x9e\\x61\\xf4\\x2e\\xda\\x06\\x6c\\xe9\\xd5\\x41\\x9b\\x93\\x1c\\x63\\xed\\x56\\xd1\\x1d\\xbb\\xcd\\x84\\x74\\xd9\\x81\\x22\\x5a\\xe9\\x93\\xaa\\x28\\xe0\\x81\\xf1\\xe0\\x9d\\xc4\\x4a\\x68\\x41\\x33\\x48\\x5e\\x6c\\x21\\x86\\xa2\\x5e\\x3f\\x7a\\x9a\\x79\\x96\\x9a\\xd0\\xf4\\x6b\\x79\\x3a\\xb5\\xfd\\xfb\\xfd\\xbb\\xaa\\x37\\x74\\xae\\x6b\\xbb\\x3b\\x9e\\x56\\xa6\\xb2\\x4f\\x58\\x12\\x0f\\xe7\\x40\\x70\\xa3\\x6d\\xea\\xd8\\xd5\\x63\\xca\\x9b\\x67\\x56\\x6f\\x9f\\x56\\xcc\\x0c\\xdd\\xb2\\x2e\\x6e\\x68\\x0d\\xf7\\xe2\\xf3\\x7f\\x39\\xf0\\xe0\\x4a\\xee\\xcc\\x9b\\xd3\\xa7\\x8f\\x4f\\xdb\\xaa\\xae\\xdd\\x41\\x97\\x7d\\xf2\\xd9\\x6f\\x0f\\xae\\xde\\x31\\xe2\\x31\\x68\\x69\\x9c\\x33\\xa9\\xfe\\xf0\\xdf\\x49\\xfc\\x54\\x0c\\x3f\\x60\\x54\\xcc\\x11\\x5c\\xcb\\xe8\\x8c\\x92\\xba\\x08\\x53\\x2f\\x04\\x95\\x4a\\x05\\x03\\xd4\\x24\\x33\\xa4\\x40\\x3c\\x08\\x2e\\x3b\\x7d\\xc4\\x56\\x72\\x47\\x2a\\x97\\x6c\\x5d\\x52\\x0a\\xc7\\x94\\x2e\\xdd\\x0a\\x3f\\x80\\x55\\xdc\\xb3\\xd4\\xeb\\xdc\\x7b\\x30\\xa3\\xcb\\xc7\\xfb\\xe2\\x3a\\xb4\\xbe\\x8c\\x45\\xe3\\x9d\\x84\\x56\\x98\\x8c\\x80\\x8d\\x49\\x46\\xc3\\xca\\x30\\x2e\\x9d\\xcb\\x8b\\xd7\\x13\\x52\\xa9\\xdd\\x10\\x91\\xed\\x85\\xf3\\x31\\x1d\\xf8\\xfe\\x72\\xfe\\xbb\\x27\\x1e\\x47\\x16\\x87\\x4d\\x89\\x8c\\x70\\xbf\\x24\\x8c\\x38\\xd9\\xa1\\x3b\\x08\\x4d\\xf7\\x15\\xf8\\x46\\x5e\\xed\\x7a\\xc2\\x49\\xa7\\xc5\\x73\\xaf\\xc6\\x27\\xe7\\xf6\\xab\\xe9\\x97\\x7b\\x88\\xfb\\xfc\\x91\\x67\\x3e\\xa6\\xca\\x57\\x5c\\x18\\x73\\xc7\\xea\\xa5\\x9d\\x4d\\x5b\\x3c\\x07\\x21\\x75\\x4f\\x79\\x61\\x76\\xff\\xc2\\xcd\\x5b\\x37\\x7d\\x68\\x76\\xdb\\x62\\x0b\\x2a\\x86\\x4e\\x58\\x5d\\x73\\x98\\x0b\\xed\\x7e\\x9b\\x9a\\x3c\\xed\\xcf\\xeb\\x56\\x6d\\x99\\xf1\\xa7\\x75\\x2b\\xb7\\x00\\x21\\x0f\\xfe\\x65\\xf6\\x15\\xf6\\xdf\\xa0\\x18\\xdb\\xca\\x22\\x98\\x99\\xe9\\xed\\x09\\x72\\x63\\xd2\\xbd\\xe9\\x35\\xc1\\x42\\x6b\\x5e\\x22\\x63\\xc9\\x06\\x5e\\x63\\x82\\xa3\\x26\\x98\\x9c\\x60\\x57\\x5a\\x88\\x1b\\x70\\x59\\xc8\\x08\\x76\\x94\\x0a\\x05\\xd2\\x91\\xc0\\x70\\x20\\xcc\\xd7\\x04\\x10\\x33\\x72\\x95\\xc4\\x23\\x82\\xe2\\xcc\\xc3\\x2b\\xa1\\x37\\x62\\xbb\\x13\\x9f\\xf9\\x51\\x42\\x1f\\xd3\\xd8\\xbf\\x9f\\x7d\\xdb\\x91\\x8d\\x36\\x6f\\x16\\x7c\\xc2\\x66\\x58\\x7e\\x64\\x22\\xf7\\xb6\\xa5\\x5f\\xea\\x80\\xb8\\x96\\xe6\\xc1\\xd9\\xe5\\x87\\x1f\\x84\\x9a\\x6d\\xab\\xe2\\x36\\x4c\\x9a\\x93\\xf7\\x46\\xdc\\x1b\\x0b\\xe1\\xe8\\xbb\\x3a\\x86\\xda\\xe0\\x9f\\x0f\\x33\\xc3\\x94\\xc1\\xe6\\x21\\x0b\\xbb\\xf2\\xa8\\x93\\xf3\\xca\\x2a\\xf2\\x2e\\x97\\xd7\\x74\\x6d\\x87\\x37\\xb9\\xa3\\xe9\\x31\\x1b\\x63\\x9d\\xfd\\x9e\\xb4\\xa4\\xe7\\x51\\x6f\\xaf\\xff\\xee\\xbb\\xf5\\x5d\\x27\\xe0\\x7a\\xea\\x33\\x6e\\x75\\x0b\\x0c\\xf1\\x7b\\x75\\x77\\x23\\x67\\xb2\\x52\\xb8\\x67\\xdd\\xa4\\x24\\x59\\x82\\x4c\\x1e\\x3e\\x5c\\xa7\\xc6\\xe9\\x81\\x78\\x75\\xc3\\x87\\xcf\\xc4\\xeb\\x2b\\xf0\\x5d\\x81\\x4a\\x0f\\xb9\\x5d\\xe7\\xf8\\xec\\xb1\\x1d\\x63\\xe7\\xc7\\xcf\\x6f\\xe9\\x68\\x99\\x4d\\x4d\\x87\\x7f\\xe1\\xf2\\x36\\x72\\x09\\xf0\\x53\\xbc\\x2f\\x21\\xe0\\x34\\x2b\\xd8\\x07\\x88\\xaf\\xda\\x85\\x74\\x61\\x1f\\xf2\\x35\\x12\\xc9\\xcd\\xb2\\xb5\\x81\\xec\\x84\\x04\\x47\\xac\\xc7\\x92\\x08\\x50\\xc8\\x99\\x6d\\x04\\x6a\\x55\\xac\\x4d\\xc5\\x08\\xa9\\x89\\x36\\xc6\\x96\\x84\\xa6\\x91\\x5d\\x87\\x8c\\xa0\\xce\\x88\\x5a\\x2b\\xa3\\x52\\x02\\xc5\\x4b\\x29\\xf8\\x04\\x4e\\x13\\x7f\\xef\\xbd\\xcf\\x1c\\xe9\\x4a\\x20\\x22\\xf1\\x05\\x33\\xfc\\x06\\xb7\\x47\\xca\\x53\\x95\\xe2\\xd0\\xea\\xa5\\x95\\x66\\x5a\\x72\\x1f\\xf4\\xc3\\xe2\\x87\\x2d\\xe6\\x76\\x60\\x6f\\x63\\xdc\\xf9\\x33\\x4b\\x29\\xb0\\x62\\x7f\\x6e\\xd7\\x17\\xba\\x59\\xd0\\xb9\\xe9\\x68\\x2e\\x65\\xd3\\x06\\x11\\x7f\\xfd\\x17\\xc6\\x0a\\xfe\\x43\\xef\\xe0\\x46\\x4e\\x75\\x51\\xd3\\xc4\\xc5\\xd1\\xdb\\xb9\\xed\\x27\\x5f\\x1c\\x5e\\xba\\x6c\\x21\\x5d\\x77\\xe2\\xd4\\xf0\\x9e\\xb3\\x78\\x5b\\x41\\xee\\xa0\\xc3\\x67\\x7e\\xed\\xc8\\xda\\x15\\x04\\xe2\\xb5\\x09\\x76\\x80\\x6f\\x77\\x16\\x59\\x34\\x28\\x28\\x83\\xc1\\x81\\x2b\\x65\\x87\\x33\\x2d\\xa2\\x52\\x52\\x85\\x3b\\x20\\x95\\x1e\\xb1\\xe6\\x79\\x25\\xc4\\x5c\\xa0\\x69\\x41\\xac\\xf7\\xc4\\xa9\\x63\\xcf\\x8f\\x85\\x37\\xd0\\x5f\\x93\\xe3\\x27\\xc7\\xa6\\x71\\x3f\\xbf\\x76\\xea\\x19\\x4d\\xec\\x54\\x78\\x65\\xfd\\xae\\x78\\x13\\x67\\x36\\x69\\x5a\\xf9\\x11\\x21\\xa3\\xb2\\xe2\\xe9\\x17\\xee\\xd9\\x94\\x53\\xb8\\x82\\xdb\\xbd\\x6d\\xf3\\x98\\x31\\xc5\\x59\\x63\\x1b\\x31\\x8d\\x49\\x88\\xc6\\x6b\\xe4\\x2e\\xd5\\x1c\\xe0\\x0f\\x24\\xc4\\x65\\x78\\x00\\x5a\\x47\\xed\\x5a\\x00\\x5c\\xf8\\x12\\x6a\\xb6\\x3a\\x68\\x54\\x18\\x5c\\xa9\\x38\\xa2\\x10\\xa8\\x94\\x0a\\xb3\\xcb\\x08\\x45\\x7e\\x1d\\x9e\\xa8\\x38\\xda\\xc9\\x85\\x78\\x3f\\xd0\\x9d\\x08\\x1d\\x88\\x6c\\x7c\\x6e\\x9a\\xbf\\xb8\\x58\\x92\\x7d\\x69\\x73\\xda\\x8a\\x65\\xdc\\x2f\\x4e\\xf8\\x92\\xb3\\xfe\\x1e\\x1f\\x35\\x9c\\xaa\\x1f\\xec\\x84\\x2f\\x3b\\xb9\\x9f\\xeb\\xfa\\xb0\\xe3\\xe2\\x87\\x19\\x1e\\xe5\\xb8\\x03\\x2f\\x7c\\x64\\x1e\\x02\\x7f\\xdc\\xf5\\x56\\x42\\xd7\\x6e\\xcd\\x7a\\x6a\\x7a\\xed\\xae\\x89\\x5b\\xb7\\x7a\\x1f\\x5b\\xb6\\xf0\\x58\\xc6\\xd6\\xad\\x13\\x77\\xd5\\x6e\\xdc\\x72\\x63\\xed\\x0b\\x8f\\x15\\x34\\x73\\xf7\\xfe\\xf9\\x48\\x45\\xe6\\xaa\\x4d\\xe4\\xfe\\x17\\xa4\\x5b\\x38\\xe6\\xf7\\xa0\\x55\\xb4\\x2c\\x90\\xa4\\xd3\\xc7\\xc7\\xe9\\xe3\\x2c\\x09\\x09\\xc8\\xcc\\x24\\xa0\\x00\\x5f\\x65\\xb1\\x69\\x90\\x99\\xd6\\xd8\\x89\\x6b\\x93\\x10\\x8e\\x70\\x7d\\xf2\\x60\\x5f\\xfa\\x86\\x5b\\x49\\x2a\\xa6\\x8b\\x21\\xbe\\x8f\\x16\\x82\\x79\\x4a\\x49\\x53\\x51\\xd1\\xbc\\xad\\x6c\\x60\\x72\\x6e\\xff\\x55\\x2e\\x47\\xff\\x01\\xb2\\xb8\\xfe\\xc7\\x8e\\xda\\x14\\x12\\xc1\\x4f\\x1d\\x53\\x58\\x36\\x2f\\x1c\\xc1\\x73\\x0d\\xe4\\x46\\x25\\x29\\x90\\x67\\xbe\\xe6\\x82\\x07\\x50\\xec\\xbe\\x97\\xdb\\x3b\\x8b\\xfb\\x8e\\x7b\\x8f\\xd9\\x2c\\x8f\\xde\\x31\\x5f\\x6d\\x88\\xaf\\x2b\\x88\\xaf\\x14\\xc4\\x57\\x55\\x40\\x93\\x42\\xe2\\xf7\\x24\\x4d\\x92\\x19\\xbb\\x02\\x8e\\x60\\x92\\xcd\\xee\\xac\\x0d\\xda\\x13\\x8c\\x40\\xd3\\x83\\x04\\xf0\\xe9\\x91\\x01\\x7c\\x78\\xd2\\xdc\\x3a\\x72\\xc7\\xf7\\x97\\x47\\x5c\\xc2\\xd4\\x3d\\x58\\xa7\\x63\\x23\\x83\\xf5\\x86\\x0e\\x8e\\x6b\\xf2\\x97\\x71\\x9f\\x8b\\x9c\\x07\\x6f\\x1f\\xa1\\xc3\\x17\\x7e\\x7d\\x53\\xba\\x47\\xea\\x96\\xb1\\xf9\\x31\\xc4\\x5f\\x16\\xfb\\x1a\\x9a\\x21\\x65\\x01\\x0b\\xae\\x66\\x8f\\x94\\x0f\\x00\\xa3\\xc9\\x58\\x13\\x4c\\x32\\x19\\x62\\x20\\x66\\x53\\x1d\\x8c\\xb1\\xb1\\x9a\\xda\\x20\\x2b\\x1f\\xb7\\x08\\xcf\\xba\\xfb\\x45\\x52\\x24\\x08\\x17\\x9d\\x54\\x9f\\x92\\xfa\\x7e\\x5f\\x1d\\xa6\\xb9\\x24\\x90\\x94\\x53\\x89\\x68\\x1e\\xf7\\xd4\\x7d\\x71\\xf7\\xc5\\x26\\xed\\x5f\\x3f\\xa4\\x20\\xbe\\x47\\xca\\xc0\\x61\\x06\\xcb\\x5f\\xe3\\xe8\\x0b\\x37\\x3f\\xc5\\xc4\\x1a\\x0e\\x99\\xf6\\x2c\\xa1\\x2f\\xac\\x5f\\x7e\\xef\\x1a\\xdd\\x66\\xd5\\xd0\\x86\\xf1\\xeb\\xd1\\xba\\xff\\x0b\\x5a\\xf7\\xef\\x23\\x7e\\x68\\x15\\x68\\x0c\\x38\\x35\\xda\\x94\\x9e\\x38\\x26\\xd4\\xc6\\xc4\\xb9\\x52\\x52\\x62\\x5c\\x06\\xbb\\x1f\\x11\\x6e\\xcc\\xca\\xf1\\xe6\\x60\\x8a\\xcd\\x41\\xc6\\xeb\\x8d\\x01\\x31\\x95\\xd5\\x88\\x74\\xe2\\x09\\x38\\xa3\\x16\\x39\\xe9\\x62\\x2c\\x61\\x37\\x2d\\xec\\xcc\\x08\\x5f\\x27\\x2d\\xd2\\x77\\x28\\x33\\xbf\\x9f\\x40\\xbe\\xd0\\xe3\\xd5\\xc3\\x4d\\x87\\xd3\\x03\\x10\\xb7\\x4a\\x5e\\x25\\xa5\\x4a\\x30\\x14\\x1c\\xfd\\xc4\\x69\\x0a\\xbb\\x09\\x3f\\xf7\\x4e\\xa7\\xfa\\xbe\\xb8\\x6c\\xff\\xae\\x9a\\xf5\\xcf\\xb5\\x8b\\x7e\\x82\\xd2\\x61\\x99\\x0f\\xb5\\xc3\\x0d\\xf3\\xfa\\xf9\\x12\\x5d\\x5a\\x7b\\x7c\\x22\\x9b\\x33\\xcb\\x3a\\x26\\xbe\\x6d\\x6a\\xe3\\x2a\\xd1\\x6f\\xe0\\xc6\\x6c\\x5f\\x8d\\xfc\\x06\\x58\\xfe\\xfc\\xa4\\xd9\\x07\\x1e\\x5c\\x05\\x47\\xbe\\xc1\\x3b\\x0e\\x89\\xc1\\xe9\\x5d\\x4f\\x71\\x8b\\x46\\xb6\\xa9\\xee\\x57\\x64\\xc5\\x7e\\x3c\\x99\\x2b\\x61\\xc6\\xaf\\xde\\x31\\xf2\\x51\\xee\\x6b\\xd1\\x89\\x80\\xa0\\x1d\\x8d\\xe7\\x93\\x48\\x5f\\x1d\\x20\\x27\\x60\\xb5\\x80\\xda\\xa0\\x25\\x41\\xc1\\x6a\\x63\\x18\\x46\\x67\\x50\\xa3\\x70\\x99\\x31\\x90\\x1b\\x01\\xc4\\xe4\\x32\\x12\\x34\\x91\\x2d\\x15\\x3c\\x6e\\x90\\x5c\\x22\\x4f\\xce\\xfe\\x8a\\xe3\\x49\\x1d\\x44\\x83\\xe5\\xe5\\xbe\\xbb\\x7f\\x68\\x07\\x4c\\xee\\xe8\\xa0\\xfa\\xfc\\xb5\\xeb\\x1b\\x08\\xda\\x44\\xf5\\xe3\\x7e\\xdc\\xb3\\x04\\xde\\x98\\xcd\\xad\\x61\\xaf\\xde\\x1c\\x4f\\xe9\\xb9\\x3c\\xae\\x40\\x50\\x37\\x4c\\xcb\\x97\\x5c\\x03\\xbd\\x85\\xe4\\x29\\xa4\\x04\\x74\\x80\\xd2\\xa3\\x58\\x4e\\x9f\\xa0\\x04\\x0a\\x35\\xa1\\x41\\x11\\xae\\xd0\\x40\\xf2\\x8b\\x78\\xdd\\x81\\xe2\\x7c\\x80\\xea\\x8c\\xe2\\xd5\\x2e\\xc7\\x24\\xe8\\x46\\xfa\\x5e\\x8f\\xef\\x22\\xeb\\xd1\\x3b\\xa4\\xdb\\xb3\\x84\\xbd\\xca\\xab\\xb4\\x96\\x3f\\xd7\\x0c\\x10\\xbf\\x07\\x50\\x4c\\xd5\\x0b\\xf4\\x0d\\xa8\\x5d\\x09\\x36\\xab\\x15\\x4d\\xb3\\x74\\x7e\\x72\\xfa\\x6c\\x59\\x79\\xb5\\xc1\\xac\\x84\\x52\\x45\\xac\\xa2\\x3a\\x98\\x1c\\x8b\\xe2\\x48\\xa0\\x25\\xae\\x82\\xa4\\xbe\\xa2\\x4a\\xe0\\x6d\\x16\\xbc\\x59\\x20\\x3b\\x44\\x80\\xb7\\x0a\\x90\\xea\\x92\\xc1\\x77\\xc1\\xf0\\x27\\xfa\\x48\\x55\\x97\\x5e\\x80\\xc7\\xb0\\xab\\x50\\xb9\\xd0\\xbd\\xf8\\xe8\\xa3\\x78\\xbb\\x60\\xaf\\x45\\x4d\\x95\\x2e\\x1b\\x36\\xa6\\x1f\\xd5\\x6b\\x5d\\x5d\\x43\\x8d\\x7d\\xce\\x04\\xf9\\x9c\\x1d\\x8f\\x81\\xfb\\xcc\\x4d\\x5e\\xce\\xfb\\x09\\x97\\x8e\\x74\\x1d\\xa6\\x47\\x91\\x1d\\x83\\x35\\xf9\\x33\\x82\\xe3\\xc6\\x29\\x66\\x8c\\x6d\\x9c\\x38\\x6c\\x41\\xd7\\x6b\\xe1\\x5b\\xe0\\x08\\xe0\\xb1\\xc7\\xba\\xb6\\x13\\xbe\\x87\\x23\\xbe\\x07\\x91\\xfa\\x13\\x05\\x01\\xbb\\x17\\x8d\\xb3\\x37\\xc1\\xa5\\xc1\\x01\\x58\\x7c\\x5c\\x1c\\x63\\x33\\x18\\x6c\\x8c\\x27\\x72\\xa4\\xb1\\x8a\\x4b\\x05\\x0d\\x22\\x49\\xe7\\x79\\x95\\x7d\\x7c\\x0e\\x33\\x49\\x9d\\x40\\xc4\\x4e\\xd9\\x18\\x53\\x33\\xa5\\xfd\\x42\\xf2\\xf2\\x8e\\x47\\xc5\\x8d\\x90\\x51\\x4f\\x2d\\xbe\\x7b\\x8b\\x61\\xce\\x58\\xb9\\x22\\x50\\x27\\x87\\xf8\\x6a\\x06\\x9e\\x79\\xb0\\x6b\\xbb\\xc0\\x8a\\x62\\x45\\xc9\\xbc\\xe6\\x85\\xab\\x7b\\x8d\\x90\\xd8\\xe0\\x7d\\xf8\\x2e\\x61\\xcf\\x23\\x1d\\x14\\xe1\\x3a\\x1e\\xae\\x2c\\x4c\\xb7\\x3e\\x26\\x3e\\x2e\\x26\\x4e\\x6d\\x33\\x98\\x13\\xb4\\x05\\x38\\x67\\x54\\x6d\\x93\\xaf\\x15\\x52\\x99\\x2a\\x71\\x4b\\x03\\x4a\\x33\\x90\\x2c\\x15\\xfc\\x21\\x0f\\xb9\\xf3\\x41\\x21\\xc3\\x13\\x03\\x61\\xe4\\x5e\\x06\\xfc\\x95\\x5c\\xb7\\xd7\\x6b\\x98\\xd1\\x5e\\x52\\xcc\\x3b\\x1a\\xbf\\xca\\x36\\x30\\x7a\\x8d\\x1f\\x9a\\xe5\\x7c\\x1c\\xc6\\xc9\\x76\\x31\\xc8\\x92\\x51\\x55\\x33\\x4f\\x4f\\x5c\\x0d\\x96\\x96\\xf6\\x2f\\x66\\x71\\xd7\\xdf\\x1d\\xf8\\xd1\\x5d\\xf7\\x31\\x77\\x45\\xef\\x61\\x4c\\x47\\xfc\\xd9\\x48\\x4e\\x73\\x5e\\xc0\\x1a\\x8f\\xc6\\x26\\x3e\\x41\\x6f\\x46\\xba\\x6f\\xd4\\xa8\\xd5\\x8c\\xd2\\xc0\\xd8\\x23\\x46\\x46\\x3e\\x30\\x16\\x32\\x30\\xb8\\x0c\\x90\\x2f\\x6c\\x3f\\xc3\\xa3\\xf1\\xc3\\x4a\\x97\\xa3\\xf9\\x70\\x9c\\xf9\\x98\\x87\\xe9\\xbf\\x71\\x4a\\x0a\\x8e\\xee\\xe7\\xee\\x4f\\xad\\x1e\\x25\\xde\\xd4\\x87\\x47\\x81\\xee\\xbd\\x65\\xfe\\x87\\x5b\\xa6\\xa2\\x98\\xfe\\xb9\\x0b\\xdc\\x54\\x99\\xdc\\x21\\xb9\\x87\\x63\\x28\\xb2\\xa1\\x45\\xa0\\x34\\xe0\\x52\\x69\\x2c\\x68\\x81\\x45\\x3f\\x9a\\xa4\\xa4\\xb4\\xea\\x60\\x92\\x51\\x63\\xba\\xd5\\xfa\\x2c\\x95\\x4f\\x21\\xc7\\x24\\x23\\x17\\x68\\x29\\x86\\xcf\\xa5\\xbc\\xb9\\x54\\x64\\xf0\\x4e\\x39\\x12\\x69\\xac\\x48\\x14\\x55\\x4d\\x24\\xbe\\xd2\\xe5\\x5a\\xf8\\xf0\\x6b\\x7f\\x52\\xf2\\x01\\x7c\\xe6\\x90\\x29\\xbd\\x56\\x2c\\xee\\xf3\\xeb\\x27\\x62\\xec\\xee\\xed\\xdf\\x5a\\xb2\\x72\\x56\\x65\\xa2\\x72\\x54\\x19\\xbf\\x46\\xdf\\xe3\\x23\\xd1\\xfb\\x0b\\x19\\x45\\xe9\\x2e\\x93\\xbb\\xaa\\xa5\\xea\\x11\\x12\\xbb\\x1f\\x4f\\xcb\\xf7\\x38\\x0d\\xee\\xa2\\x5e\\xc3\\xb2\\x13\\x53\\xb8\\x3a\\xee\\x3d\\x1c\\x2b\\xbc\\x82\\xec\\xcc\\x3b\\xc8\\xce\\xa4\\x83\\x8a\\x33\\x09\\x0e\\xfe\\xd6\\x3b\\x0b\\x0a\\x74\\x12\\x2c\\x09\\x96\\x54\\x35\\xa0\\x52\\x51\\x2c\\x15\\xdf\\x11\\x4c\\x4d\\x50\\xc7\\x10\\xc9\\xab\\x41\\xc4\\x15\\x37\\xe4\\x26\\x2a\\x24\\x7c\\x9a\\x3f\\xf2\\x61\\x41\\x2b\\x33\\x11\\x3c\\x29\\x86\\x29\\x9b\\xec\\x6e\\xbe\\x0e\\x7d\\x5c\\xbe\\xa7\\xb8\\x5f\\xb6\\xe5\\x93\\x7e\\xb0\\x57\\x43\\x46\\x52\\x6e\\xc0\\x3f\\x24\\xdf\\x7a\\x08\\x3e\\x57\\x5a\\xc6\\xdd\\xc8\\xc8\\x4d\\xca\\xce\\x58\\x94\\xe8\\xe4\\xfe\\xe9\\xf5\\x3c\\xf9\\x40\\x51\\x7e\\x08\\xc4\\xe4\\xd4\\x4f\\x65\\x76\\xc2\\x09\\xe6\\x87\\x9d\\x05\\x0d\\xad\\x37\\x5f\\xe3\\x3e\\xe4\\xde\\x53\\x1d\\xd0\\xdc\\xbb\\xf5\\x4a\\xc7\\x29\\x2d\\x1e\\x93\\x77\\xb9\\x7a\\xe6\\x15\\x72\\x3f\\x7a\\x76\\x40\\x6d\\xd1\\xdb\\x63\\x0c\\x4a\\x35\\xa3\\xe6\\x57\\x5d\\x46\\xaf\\x47\\xe1\\xb9\\xde\\x16\\x71\\xc7\\x24\\x39\\x33\\x91\\x26\\x37\\x42\\xf8\\xe2\\x3e\\x7b\\x12\\xc4\\x37\\x46\\x53\\x67\\xbe\\x2e\\x0c\\xd3\\xe1\\xe0\\x8e\\x5e\\xf8\\xd3\\x64\\xb5\\x86\\x19\\x91\\x05\\xd7\\x74\\x6e\\xe5\\xbe\\xe7\\xfb\\x5e\\xca\\x94\\x75\\x05\\xfa\\x2d\\x2c\\x7a\\x64\\x20\\xf5\\x3c\\xd1\\x0b\\x1d\\xa2\\xe1\\x01\\x42\\x43\\xfe\\x39\\x93\\x25\\xc6\\xc2\\xaf\\xa0\\x31\\x0e\\xa0\\x70\\x30\\x0e\\x64\\x54\\x1c\\x36\\x25\\x63\\xa0\\xc8\\xa6\\xbc\\xa8\\x0f\\x3c\\x35\\xe4\\x3b\\xab\\x78\\x6d\\x62\\x84\\x5d\\xa4\\x06\\x47\\xde\\x9b\\xf8\\xb7\\x36\\x44\\xd7\\xd7\\xde\\xdc\\xc4\\xec\\x8c\\xc5\\x89\\x8e\\x32\\x7c\\x8b\\xa0\\xec\\xea\\xc4\\x66\\x89\\x34\\x42\\x4f\\x39\\xa2\\x67\\x36\\xc9\\xd5\\x2b\\x38\\x87\\x2f\\xcd\\xc7\\xf4\\x58\\x82\\x6a\\xb3\\x85\\x35\\xb3\\xb8\\x88\\x0c\\x23\\x94\\xe6\\x88\\xb8\\xd5\\x46\\xa4\\x88\\xdf\\x79\\x88\\x18\\x37\\x3f\\xbd\\x89\\xdf\\x66\\xb8\\xf9\\x3a\\xf5\\x8c\\x9c\\x8e\\xae\\x78\\x27\\x7d\\x6a\\xeb\\xe6\\x9b\\xef\\x4b\\xfd\\x6f\\xc6\\x3e\\x5f\\x32\\xea\\x7f\\x1f\\x9a\\xbf\\x3e\\x10\\x00\\xc3\\x03\\xae\\x1c\\x67\\x4d\\x30\\xc7\\x96\\xdf\\x93\\x2d\\xab\\x09\\xf6\\xc4\\xf7\\xaf\\x01\\x93\\x09\\x17\\x71\\x31\\xa6\\xa6\\x78\\x53\\xf8\\x91\\xf2\\x02\\x50\\x28\\xed\\xc6\\x46\\xdc\\x06\\x8a\\x95\\xab\\x54\\xda\\x8d\\xc6\\x75\\x1c\\x8d\\x69\\xfe\\xa8\\x82\\x26\\xe1\\x53\\xe8\\xc2\\x3f\\xf8\\xf6\\xa9\\x4a\\x48\\xfc\\x76\\xfe\\xdc\\x6b\\x25\\xe4\\x8f\\x1a\\xc3\\x9e\\x9b\\xef\\xa4\\xdc\\x3f\\x58\\x9b\\x27\\xad\\x58\\xed\\xbc\\x38\\x09\\x6e\\xba\\xba\\x4b\\xd3\\xa8\\x1a\\xe0\\x74\\xe7\\x2a\\xc6\\x65\\xe4\\x25\\xe5\\x67\\x7c\\xaa\\x89\\xdd\\xc0\\x2a\\x9a\\x5e\\xeb\\x3b\\xf1\\x89\\xa5\\x46\\xd3\\x4b\\xf7\\xee\\x19\\x39\\xc2\\xba\\x69\\x21\\x3c\\xac\\x62\\x66\\xa7\\x8e\\x1a\\x3e\\xba\\xc1\\x04\\x53\\x0f\\xcd\\xca\\x29\\xe4\\x72\\x33\\x93\\x82\\xca\\x1b\\xc9\\xb1\\xe3\\x34\\x07\\x54\\xaf\\x66\\x15\\x2d\\x53\\xef\\x48\\xf4\\x2c\\x9f\\xbe\\x69\\xec\\x81\\x51\\x41\\x86\\x29\\x5d\\xd8\\xd2\\x7f\\x28\\x92\\x43\\x7f\\x24\\x87\\x26\\x66\\x08\\x48\\x03\\x85\\x60\\x50\\x20\\x3e\\x8d\\xf8\\xbe\\x29\\x86\\x14\\x64\\x28\\x52\\xd0\\x12\\xa3\\xc9\\xc7\\x1e\\x6f\\x9c\\x83\\x9f\\x72\\xea\\x60\\x02\\x4d\\x67\\x4a\\xde\\xaf\\x24\\x84\\x70\\x0d\\xa6\\x5b\\x3b\\xc0\\x28\\xbc\\xa2\\x23\\xf9\\xbe\\xd5\\x07\\xab\\xaf\\x22\\x7c\\xe0\\xc4\\x8e\\x0b\\xfd\\x0a\\x30\\xc7\\x89\\xf9\\x99\\x9f\\x68\\xe2\\x86\\xdd\\xd6\\x01\\x3e\\x72\\xb3\\x86\\xeb\\x92\\xb8\\x6c\\xef\\xe6\\x01\\x53\\xa0\\x1f\\xd7\\xc0\\xee\\x60\\xdf\\x27\\xdf\\x1d\\x2a\\xf0\\x7e\\x92\\x37\\x3d\\x2e\\x3d\\xc1\\xe3\\x41\\xde\\xbc\\xc7\\x98\\x80\\x06\\x35\\xc1\\x6e\\xd6\\xd7\\x06\\xcd\\x09\\xc4\\x30\\x02\\x99\\x61\\x8c\\x72\\xec\\x85\\x2d\\x59\\x25\\x2d\\xdb\\xd6\\x43\\xdc\\x50\\x9e\\x48\\x7e\\x2d\\x66\\x3a\\x22\\x80\\x61\\x35\\x55\\x7d\\x92\\x8b\\xcb\\x97\\x24\\x85\\x94\\x1e\\x7f\\x46\\x7e\\x52\\xd1\\x90\\xd7\\x35\\x29\\x2e\\x6a\\xd8\\x99\\xe5\\x88\\xdd\\x39\\x70\\x53\\xfb\\xe6\\x44\\xaa\\xac\\xec\\xf1\\x99\\x0b\\x17\\x3d\\x10\\x6c\\x9c\\xbc\\xe6\\xf1\\xf1\\xec\\xfb\\x86\\x23\\xb6\\x3d\\xbf\\xfe\\x6f\\x4a\\xbc\\xa7\\x48\\xf7\\x90\\xee\\xe5\\xec\\xe2\\xb3\\x1b\\xe7\\x4c\\x38\\x72\\x14\\x33\\x3c\\xb6\\x05\\x26\\xc3\\x8c\\x9b\\xbf\\xad\\x58\\x74\\x90\\x3b\\xb9\\x66\\xc1\\xfc\\x43\\x30\\x80\\xf5\\x79\\x21\\xb2\\xfb\\xb3\\x90\\x3e\\x7b\\x41\\x2e\\xe8\\x15\\x70\\x66\\x27\\xa0\\x90\\x3e\\x35\\x3b\\x35\\x3b\\xc6\\x6e\\xcf\\xc0\\x5e\\x73\\x8c\\x1b\\xb9\\xc9\\x76\\x86\\xc2\\x7b\\x4e\\xc8\\x3c\\x2a\\xbb\\x5f\\x1c\\xcb\\x6b\\x31\\xbe\\x33\\x55\\x36\\x4e\\x0a\\xc9\\x3b\\x46\\xab\\xad\\x01\\xba\\xa5\\xb4\\x04\\x5a\\x81\\xbf\\x2f\\xb9\\xfd\\x46\\x7a\\xff\\xc4\\xbe\\xd9\\x89\\x83\\xfc\\x9f\\xab\\x93\\x16\\xdd\\xdf\\xf9\\x66\\xf5\\xa1\\x7f\\xdd\\x05\\xdb\\x6d\\xcc\\xcd\\x9b\\xfa\\x55\\x6d\\x53\\x4e\\x64\\xed\\x1d\\xa6\\xf8\\x68\\x63\\x67\\x0a\\x35\\x88\\x39\\xdb\\x6c\\x78\\xc0\\xf0\\x7a\\x86\\xef\\xe1\\xe2\\xcb\\xcf\\xaf\\x84\\xee\\xbf\\xce\\xe2\\x36\\x36\\x4e\\x8f\\xed\\x5f\\xb8\\x6e\\xcb\\x98\\x11\\x3d\\xb8\\xfb\\x93\\x98\\x89\\xa7\\xef\\x1b\\x84\\x33\\x0d\\xc1\\x3e\\xc4\\xcb\\x40\\xc4\\x4b\\x31\\x18\\x74\\xae\\x47\\x76\\x7e\\x36\\x56\\xbd\\xe4\\x60\\x7e\\x82\\x12\\x17\\x05\\xa8\\x0e\\x16\\xa5\\x25\\x98\\xcd\\x09\\x69\\x34\\x88\\x89\\x41\\xa1\\x7e\\x8c\\x11\\x07\\xd3\\xdd\\xeb\\x0c\\x95\\xf2\\x61\\x40\\xa5\\xec\\x92\\x6b\\x64\\xf8\\x85\\xf3\\xcc\\xc9\\x2e\\xa8\\xe4\\xe7\\x27\\x7f\\x35\\x82\\x98\\x63\\x1e\\xa5\\xa5\\x0a\\xf8\\xf3\\xa3\\x17\\x1a\\xf6\\x8f\\x6d\\x9a\\xff\\xeb\\xd3\\x70\\xc0\\xa3\\xe3\\xc7\\x4e\\x59\\xb9\\xf9\\x6e\\xe7\\x33\\xcf\\xb5\\xd6\\xbd\\x56\\x77\\x4f\\x7f\\xc5\\xa4\\x40\\x8f\\xc4\\xbe\\xbd\\xfe\\x57\\xe3\\x9e\\x6d\\xdd\\xbe\\xaa\\x7e\\xfb\\x18\\x15\\xa5\\x9e\\x3b\\x6a\\xdb\\xa5\\x9b\\x0a\\x2b\\xdb\\x77\\xf0\\x94\\xfa\\xc1\\x03\\x37\\x2f\\x9d\\x3f\\x78\\xc4\\x23\\x39\\xdc\\x3e\\x97\\x7d\\x3c\\x62\\xfe\\x6a\\xa6\\xef\\x68\\x05\\xbe\\xab\\x12\\xf1\\xe7\\x22\\xb6\\x67\\x50\\xc0\\xed\\xb5\\x59\\x6d\\xd6\\xea\\x60\\x4f\\xbd\\x2d\\x31\\xd1\\xa6\\xa7\\xf3\\xdc\\x79\\x86\\xea\\x60\\x9e\\x9d\\xcf\\x8d\\xff\\x9d\\xf1\\x92\\x73\\xd9\\x33\\xdf\\x11\\x26\\xdb\\x6f\\x11\\x4e\\x48\\xbb\\xbb\\x55\\x55\\x52\\x84\\x6b\\x90\\x78\\x95\\x8a\\xff\\xf2\\x03\\xf7\\x85\\x66\\xe0\\xe3\\xb6\\x57\\xdb\\xb6\\x72\\xef\\xc4\\x5f\\x0c\\xdf\\x6b\\xb9\\xe7\\xd4\\xb1\\x76\\x38\\x6d\\xc5\\xc2\\xff\\xd9\\xb6\\xa9\\x3e\\x59\\x71\\x12\\x93\\x7f\\x25\\xb3\\x10\\xce\\xcc\\x79\\x64\\xe9\\x84\\xc7\\xc3\\x65\\x96\\x36\\xcf\\x6d\\x3b\\xa0\\xa7\\xb4\\x2b\\x9a\\x66\\x3c\\xd6\\x58\\xf1\\xb0\\x8b\\xdf\\x93\\xa9\\x42\\xfc\\x9d\\x24\\xb5\\xa1\\x70\\x3c\\xed\\x48\\xce\\xcc\\x40\\x36\\xc3\\x98\\xa1\\xca\\x50\\x79\\xb4\\x9e\\x5c\\x34\\xe9\\xec\\xb1\\x76\\xa7\\x9d\\x37\\x28\\xce\\x04\\x59\\x45\\x92\\xca\\x28\\xa3\\xea\\x93\\x2a\\xbf\\x90\\xc3\\xe7\\x92\\x2d\\x8d\\xb4\\x26\\x7e\\x8b\\x78\\x59\\x9d\\x43\\x2a\\xa6\\x42\\x1b\\xe1\\xc4\\xe6\\x86\\xad\\x59\\x7b\\x37\\xc3\\x82\\x37\\x77\\xc4\\x9c\\xbe\\x53\\x18\\xac\\xaf\\x34\\x73\\x2b\\xb9\\xef\\x2f\\x3d\\x76\\xc2\\xf5\\xa0\\x62\\xf0\\xbc\\xd9\\x87\\x53\\xa8\\xaa\\xd1\\x83\\xda\\x16\\x93\\xca\\x2f\\xd7\\xee\\x1e\\xd4\\xd0\\xd5\\x4f\\x1a\\x2a\\xaa\\xfc\\x5f\\x5f\\x9d\\x3b\\x3a\\x7b\\xc7\\x96\\xe2\\x1e\\xe3\\x37\\x9c\\xb9\\x17\\x50\\x70\\x0f\\xf2\\x41\\xa6\\x91\\x9c\\x28\\x07\\xc8\\x0d\\x68\\x6c\\xd6\\xda\\x46\\x14\\x78\\x1a\\x48\\xac\\xf3\\x24\\x8a\\x75\\x50\\xe8\\x61\\x88\\xbe\\x8c\\x4d\\x28\\xee\\x0b\\x79\\xab\\x67\\x91\\x5b\\x42\\x1a\\xdf\\x03\\x73\\xf1\\x0b\\x4d\\xdc\\xb8\\xb7\\x3b\\x3a\\x1a\\x8b\\x15\\x64\\x38\\x9a\\xdc\\x1d\\x6e\\xae\\x01\\x89\\x7a\\x1d\\x53\\x76\\x73\\x3c\\xf7\\x25\\x4f\\x8e\\xe2\\xd5\\xe3\\xfc\\x79\\x3f\\x80\\x1e\\x32\\xa3\\xc8\\xb7\\xb3\\xd2\\x80\\x89\\xb2\\xa6\\x58\\x53\\x80\\xd7\\x9b\\x54\\x1d\\xf4\\x1a\\xd5\\x4a\\x9d\\x92\\x97\\xa9\\x2e\\x01\\xc4\\xca\\xa7\\x44\\xe4\\x42\\x45\\xbe\\x14\\x2a\\x23\\x05\\x98\\x2e\\x56\\xa5\\x32\\x4b\\xc9\\x53\\x94\\x54\\x74\\xf8\\xa3\\x3b\\x5a\\x12\\x15\\xa2\\xae\\xf4\\xd1\\x3f\\x3f\\x63\\xf1\\x1d\\x27\\xc7\\x2f\\x5d\\x3a\\xeb\\xe1\\xf4\\x4b\\xc9\\x7b\\xdf\\x59\\x7e\\xe5\\xcd\\x51\\x8f\\xfe\\xaf\\xb5\\xe7\\x7d\\x3c\\xa5\\x58\\x49\\x86\\xf7\\x28\\x8e\\x51\\xd4\\x4f\\xdb\\x0e\\x8b\\xb7\\xac\\x5f\\x3e\\x63\\xb6\\xae\\xf5\\x40\\xf0\\xa5\\xce\\x35\\xdc\\x3f\\xff\\x36\\x93\\xe7\\x61\\x25\\xe2\\x01\\xe7\\x1a\\xa7\\x82\\x9e\\x01\\x8d\\xd3\\x15\\xeb\\xaa\\x0d\\xc6\\x02\\x63\\x2a\\x91\\x62\\x8c\\x91\\xa5\\x55\\x34\\x91\\xa2\\x4a\\x94\\x22\\xd2\\x03\\xa9\\x3e\\x2b\\x1b\\xf9\\x3d\\x45\\x70\\xe7\\xe4\\x8e\\x34\\x4e\\x8b\\xea\\xe9\\xed\\x49\\xe8\\x5d\\x30\\x43\\xeb\\x2e\\xf5\\xfb\\x7a\\x67\\x98\\x4f\\xbb\\x9f\\xda\\x33\\x2b\\x23\\x39\\x37\\x30\\x6c\\x9c\\xf3\\x78\\xca\\x81\\x75\\xcf\\x65\\x79\\x11\\xb5\\x4d\\xe3\\xb2\\xfd\\xc7\\x62\\x33\\x6a\\x27\\xd0\\x77\\x3e\\x71\\xc1\\xfc\\xb8\\x73\\xf2\\x86\\x9b\\x9b\\x4f\\x1c\\xd5\\x22\\x1a\\x47\\x21\\x1a\\xdb\\x91\\x7f\\x92\\x05\\xca\\x02\\x86\\x64\\xb7\\xdb\\xa5\\xc9\\x32\\xa4\\xa2\\x08\\x33\\xd5\\xee\\xd2\\x11\\x42\\x5d\\x36\\xab\\xd9\\x61\\x26\\x84\\x3a\\x22\\x27\\x27\\xbf\\xcd\\xc8\\x27\\x0c\\xca\\x0e\\x87\\x76\\x5b\\x02\\x65\\xc7\\x60\\xfd\\x16\\xf8\\xb0\\x14\\x80\\x75\\x04\\x91\\x2e\\xf4\\xca\\x4e\\xac\\x2c\\x47\\xba\\x31\\xdc\\xa6\\xc4\\x81\\xd8\\xee\\xcd\\x86\\x6d\\xc8\\xa5\\xab\\xe5\\xa3\\x2f\\x6a\\x41\\x58\\x35\\xb0\\xaa\\x68\\x37\\x66\\xce\\x6b\\x5e\\xb4\\xba\\x62\\x04\\xf5\\x17\\xec\\x2b\\xff\\x8c\\x68\\xdf\\x89\\x68\\xcf\\x04\\xbd\\xcf\\xb9\\x93\\x52\\x93\\xb0\\x56\\x38\\x83\\x4c\\x1c\\xf2\\xab\\xb4\\xce\\x54\\x06\\x68\\xb5\\x80\\xa1\\x0d\\xa9\\x09\\xa6\\x18\\x43\\x4c\\x75\\xd0\\x20\\xf9\\x58\\xfc\\x67\\x48\\xb2\\x4f\\xc2\\x0b\\xdb\\xaf\\x14\\x2b\\x5f\\x45\\x14\\x03\\xc1\\xd3\\xcd\\x1b\\xa9\\x40\\x3f\\xc0\\x75\\x1b\\xee\\x7f\\x6d\\xc7\\xa1\\xda\\x58\\xf8\\x54\\xd7\\x68\\x27\\xbd\\xc0\\xc5\\x55\\x9e\\x39\\x7d\\x17\\x17\\x3a\\xf0\\xc6\\x04\\xc3\\x0c\\x41\\x77\\x7a\\x5f\\x8d\\x5d\\x3c\\xe3\\xd4\\x86\\x59\\x93\\xd7\\xc2\\xd1\\xdb\\xef\\xe1\\x3a\\x74\\x0f\\xed\\x5c\\xf5\\xee\\xaa\\x59\\xc3\\x6c\\x93\\x05\\xc5\\xe9\\xc3\\x9f\\x6d\\x4f\\x85\\x1f\\xd0\\x9f\\x93\\xdc\\x99\\x54\\x90\\x71\\x26\\xd6\\x84\\xf3\\xff\\x28\\x9a\\xd6\\xb3\\x42\\x0a\\x42\\x2e\\x48\\x92\\x4e\\x59\\x93\\x68\\x51\\x3c\\x63\\xad\\x44\\xe1\\xe1\\xef\\x1f\\xb1\\xde\\xf4\\x48\\x1e\\x63\\x59\\xd6\\x66\\x50\\x50\\xf3\\x55\\x0c\\xdd\\x73\\x6e\\xcd\\xec\\x85\\xa3\\xee\\x8b\\x1f\\xbb\\xb0\\x77\\x70\\xe8\\xe8\\xf1\\x25\\xf0\\x83\\x6d\\xab\\xa8\\x71\\x35\\xc5\\x56\\x4d\\xad\\x0d\\x1f\\xb0\\xbe\\x9b\\xfb\\x71\\x1d\\xf5\\xe4\\xcc\\x77\\x5a\\x1a\\xc7\\xcd\\xfc\\xb2\\xee\\x14\\xde\\xc3\\xaf\\x87\\xd7\\xe8\\xb7\\x99\\x1f\\xc8\\x79\\x78\\xa3\\x51\\x47\\x51\\xac\\x45\\xc7\\x27\\xd3\\xb0\\xd1\\xe7\\xe1\\xd1\\x7a\\xa2\\x08\\x1f\\xc1\\x0f\\x27\\xb6\\x53\\xd3\\xb6\\x96\\xce\\xa8\\xfd\\xc7\\xfa\\x6d\\x63\\x1f\\x5d\\x35\\x6f\\x93\\x7a\\x19\\x5b\\x55\\x55\\x3f\\xbd\\x9c\\xea\\xf3\\x90\\xe7\\xd3\\xfd\\x9b\\xd7\\xfd\\xb8\\x6a\\xf1\\x4c\\x53\\xe5\\xc8\\x96\\xd7\\x66\\x5e\\xc2\\xb2\\x50\\xc0\\xa3\\xf4\\x4b\\x48\\x16\\x29\\xa0\\x07\\xc8\\x09\\xe8\\xb3\\x29\\x65\\x86\\x32\\x1e\\x9f\\xb0\\x02\\x56\\x3d\\x92\\xcb\\x59\\x0f\\xc3\\x9f\\xd0\\x7d\\xc9\\x27\\x9c\\xa6\\x29\\x2d\\xf5\\x09\\x87\\x74\\xbd\\x68\\x1a\\x47\\x5f\\xa2\\x89\\xfb\\x77\\x88\\x67\\x47\\xbc\\xe2\\x3d\\xbc\\x89\\x90\\x9a\\xbb\\xa8\\xba\\x9f\\x69\\x64\\x51\\x71\\x7a\\xe3\\xe3\\x2b\\xe7\\x6d\\x66\\x96\\xb2\\x03\\x2b\\xeb\\xa7\\x57\\x28\\x6a\\xd6\\x56\\x56\\x8f\\xbd\\x67\\x4d\\x4d\\xcb\\xb0\\x8a\\xb9\\xc5\\x96\\xfe\\xf0\\x5a\\xaf\\xd1\\xce\\x3e\\xfd\\xca\\x2b\\xe7\\xb4\\x7d\\xbb\\x72\\xc5\\x64\\x73\\xd5\\xd0\\xa6\\x37\\xc7\\xa4\\x26\\x0c\\xee\\x35\\x72\\xc0\\xb4\\x65\\x2d\\x7d\\x8b\\x7b\\x0f\\x2e\\x8d\\x25\\x79\\xb5\\xb0\\x1f\\xfc\\x07\\xfd\\x89\\x02\\xa0\\xf8\\x38\\x07\\xcd\\x72\\x7d\\x52\\x9c\\xc1\\xce\\xba\\xec\\xe8\\x87\\x4a\\x37\\x3c\\x8d\\x08\\x56\\xc0\\x82\\xb3\\x09\\x00\\x2d\\x6e\\x05\\xe1\\x54\\x70\\x5c\\x2b\\xd3\\xc4\\xe7\\x42\\xa6\\x7b\\x7d\\x76\\x87\\x9f\\x5f\\xae\\x28\\xb9\\x14\\x73\\xa1\\x57\\xe9\\xb7\\x44\\x26\\x1e\\xff\\xa9\\x60\\xd4\\xd2\\x1e\\xbd\\xce\\xe9\\x17\\x0c\\x1f\\x10\\x7c\\x68\\xc3\\x1d\\x0f\\x34\\x1c\\x5e\\xec\\x6b\\x75\\xe9\\xca\\xb3\\x9e\\x8a\\x99\\x59\\x3d\\xdd\\x5f\\x3f\\x32\\x38\\xb3\\x68\\x02\\x7b\\x77\\x41\\x45\\x6c\\xfe\\xa0\\x61\\x79\\xcd\\x2f\\x2e\\xdd\\x1d\\x02\\xcb\\x0e\\x6d\\x6a\\x7b\\x61\\x42\\x7a\\xea\\xb0\\xad\\x3d\\x47\\xd6\\x71\\xff\\x18\\x76\\x74\\x44\\xe3\\xc4\\xd6\\xe7\\x46\\xf4\\x6e\\x40\\x63\\x3c\\x09\\x8d\\xf1\\x9b\\x68\\x8c\\xff\\x7f\\xcf\\x4b\\x9a\\xff\\x65\\xea\\x82\\x84\\x3b\\x87\\xd5\\xcd\\x9a\\x68\\x59\\xd7\\xd6\\xaf\\x64\\x65\\x62\\x5b\\xc2\\xc6\\x85\\x73\\xda\\x17\\x8d\\x21\\x79\\x49\\x1d\\x49\\x0b\\x07\\xf7\\x1f\\x58\\xd1\\xd2\\xbf\\x1f\\xce\\x4b\\x6a\\x1a\\x3b\\xb5\\xba\\x66\\x96\\x8a\\x56\\x4e\\x10\\xf2\\x92\\x20\\xfc\\x0a\\x7e\\x49\\x3f\\x45\\xce\\x42\\xbb\\x49\\xce\\xf0\\x59\\x7d\\x8c\\x06\\x09\\xb0\\x03\\x30\\x8c\\x99\\xbd\\x88\\xa6\\x86\\x78\\x32\\x5d\\xc8\\x1f\\x0e\\x6f\\xd1\\x7a\\x85\\x1d\\xda\\xcf\\x56\\xaf\\x58\\x3d\\xd5\\x34\\xcd\\x60\\x9b\\xd6\\xe4\\x4b\\x31\\xf7\\x2e\\xcc\\x52\\xeb\\xee\\x32\\x33\\x9b\\xba\\x26\\x52\\x07\\x9a\\x1b\\x66\\x8f\\x51\\x8d\\x57\\x94\\xfb\\x07\\x36\\xe3\\xbe\\x56\\x83\\xb7\\xe8\\x91\\xcc\\xa7\\xb8\\xe2\\x70\\x40\\x6f\\xd0\\xd0\\x36\\x9b\\xc2\\xaa\\xd7\\x58\\xad\\x50\\xf3\\x34\\x2c\\x42\\xcf\\xf3\\xf9\\xcf\\x55\\xe4\\xeb\\x90\\xe0\\x1c\\x0b\\x1f\\xac\\x22\\x36\\x4e\\xfd\\xd4\\xec\\xfa\\x15\\xf5\\x53\\x8d\\x53\\xf3\\xad\\xd3\\xc7\\x96\\x38\\x4d\\x6e\\x4b\\xcf\\x9e\\xda\\x1e\\x3b\\x8d\\x14\\x07\\xaf\\x73\\xf1\\x4d\\xdc\\x77\\x33\\xc6\\xa2\\x4e\\x0b\\x7b\\x77\\x35\\x85\\x42\\x20\\x04\\x9e\\x63\\x34\\xcc\\x77\\x46\\x05\\x3b\\xeb\\x47\\xf1\\x6c\\x7b\\x2a\\xe2\\x37\\x16\\x9f\\x9e\\xa6\\x0d\\xb1\\x00\\x18\\x0c\\x6a\\x3b\\xce\\xbc\\xb2\\x00\\x35\\x51\\x1c\\x52\\xbc\\x48\\xe8\\x3e\\xf2\\x88\\xa4\\x60\\x74\\x3d\\x16\\x3f\\xed\\x2f\\x69\\x1b\\x39\\x79\\x72\\x4c\\xfd\\x8a\\xd1\\xba\\x65\\xf5\\xed\\xf6\\x9a\\x65\\x97\\x97\\xfb\\x92\\xe9\\x3b\\xab\\x03\\x53\\xc7\\x67\\x0c\\x83\\x57\\xb9\\xd2\\x3e\\x19\\x8b\\x51\\xfc\\xf4\\xc4\\x6f\\x5f\\x42\\xe3\\x0e\\xac\\xbb\\xdf\\x20\\x39\\x57\\xa1\\x7e\\xb5\\x78\\x57\\xf3\\x49\\x0d\\x45\\x29\\x69\\x9a\\xc5\\xa6\\x07\\xa7\\xf9\\xeb\\x80\\x9e\\xef\\xba\\xb2\\x54\\xbc\\xbf\\x07\\x0b\\x5a\\x60\\x1e\\x67\\xfa\\x50\\x6c\\x59\\xb5\\xa9\\xa6\\x6a\\x79\\x55\\xad\\xb9\\xb6\\xcc\\xe7\\x58\\xee\\x80\\x5f\\xc2\\x92\\x66\\x38\\x99\\xdb\\xd7\\xcc\\xbd\\x42\\x1f\\x58\\xb6\\x0c\\xd7\\xe6\\x85\\xa8\\x0f\\x0d\\x92\\xaf\\x50\\x2b\\x3d\\x1f\\xd0\\x62\\xcd\\x08\\x5c\\x8a\\xff\\xae\\xe5\\x3b\\x97\\x33\\x9f\\xe2\\x9c\\xcf\\xff\\x47\\x58\\x42\\xbb\\x0b\\xc1\\x6a\\x41\\xbc\\x48\\xf9\\xd3\\x02\\xe5\\xb7\\xa6\\x38\\x82\\x5a\\x39\\xa5\\xa4\\x76\\x1f\\x2c\\x03\\xcf\\xd1\\xbb\\xd9\\x10\\x92\\x04\\xae\\xce\\x95\\xf6\\xa4\\xde\\x6a\\xd5\\x28\\x14\\x2a\\x9c\\xea\\x11\\x07\\xe2\\x91\\x24\\x8c\\x52\\x12\\x9c\\x84\\x9e\\x54\\x17\\x2c\\x2e\\x87\\xe2\\x67\\x35\\x64\\x67\\xfc\\xc4\\xd5\\x26\\xb7\\xcc\\x7c\\x31\\xa2\\x75\\xe3\\x82\\xbc\\xf6\\x15\\x1b\\x5a\\x2c\\xcd\\x4c\\xce\\xe9\\xf4\\x5c\\xb3\\x2b\\xd0\\x1f\\xd6\\xdb\\x57\\x38\\x9e\\xab\\x1f\\xd1\\x32\\x93\\x7a\\xaa\\x6b\\xe0\\x04\\xc7\\x0f\\x93\\xfa\\x4d\\x2c\\xc9\\xed\\xc3\\x4c\\xc2\\xd2\\xc2\\x32\\xa0\\x41\\x27\\xdd\\x80\\x78\\x34\\x00\\x0b\\xc9\\x80\\x3d\\xab\\xc0\\x3b\\x28\\x45\\x40\\xd4\\x76\\xa5\\x35\\xec\\x16\\xf8\\x2d\\x74\\xc3\\xbb\\x74\\x9f\\xac\\x24\\x6b\\x86\\xaf\\xcf\\x68\\xc5\\xdf\\x14\\xe0\\xb7\\xdd\\x9e\\xbe\\xea\\xb9\\xea\\x11\\x23\\x9d\\x1e\\x66\\x0a\\xe0\\xef\\xa2\\xe8\\xa4\\xa7\\x21\\x7c\\x46\\xe0\\xbc\\x84\\xf1\\xa1\\xc6\\x18\\x34\\xa3\\x54\\x1a\\x56\\xc4\\x4a\\xf0\\xfa\\x94\\x92\\x3a\\x13\\xf7\\x8d\\xba\\x58\\x91\\x6e\\x9b\\xd9\\xda\\x33\\xd7\\xe6\\xc9\\xaa\\xb5\\x1a\\x2a\\x2e\\x2f\\xa7\\x1a\\x5e\\x99\\x3d\\xd1\\x38\\xdf\\x38\\xad\\x86\\xb1\\x23\\xbc\\x9b\\x91\\xfc\\x97\\x22\\xf9\\x93\\x5a\\x19\\x14\\x92\\x12\\x23\\xa6\\x63\\x90\\xfa\\x2f\\x3e\\xda\\x4d\\x4f\\xe6\\x52\\x77\\x2c\\x5b\\x01\\x27\\xc2\\x2f\\xa9\\x5f\\xbb\\xe6\\x22\\x5f\\x63\\x36\\xd2\\xfb\\x83\\xcc\\x77\\x28\\xde\\x29\\x3a\\x9b\\xe9\\x45\\x7e\\x50\\x51\\x47\\x81\\x42\\xe1\\xb4\\xe1\\xb4\\xb8\\x58\\xad\\xde\\x6c\\x32\\xe9\\x71\\x62\\x07\\x52\\x48\\x21\\xb1\\x23\\x9c\\x14\\x57\\xe9\\xeb\\x9e\\x17\\x27\\x2d\\x7f\\x0e\\x59\\xca\\x99\\x47\\x9e\\x95\\x26\\x64\\xc9\\x39\\xea\\x4c\\xbe\\xf2\\x11\\x0b\\xec\\xd5\\xcb\\xdb\\x9c\\x0b\\x62\\x58\\xaa\\x78\\x42\\xd5\\xa8\\x56\\x4d\\xf1\\xbc\\x01\\x4d\\x13\\x0d\\x53\\xac\\xad\\xd5\\xd9\\x3d\\x8c\\xb1\\xc9\\x99\\x5e\\xfd\\x04\\x04\\x36\\x72\\xbe\\xbd\\x1a\\xa7\\xcc\\x0d\\xc9\\xc7\\x89\\x29\\x24\\x65\\x4e\\x35\\x2e\\xa1\\xae\\xa2\\xae\\x7a\\xec\\x90\\xa9\\xe3\\x93\\x1a\\xba\\xde\\x9b\\xd3\\x8a\\xb3\\xd6\\xfa\\x50\\xda\\x31\\x29\\x08\\x64\\x1e\\x57\\x47\\x7c\\xbd\\x75\\xe0\\x59\\xe6\\x2c\\x92\\x47\\x26\\xce\\x5c\\xf6\\xc2\\xc2\\x0b\\x99\\x68\\xa5\\x54\\xa5\\xc6\\xc5\\xe0\\xd4\\x9a\\x64\\x9b\\x8d\\x56\\xc9\\x32\\xb5\\xf9\\xe4\\xe0\\x4a\\x61\\x32\\xdf\\x32\\x87\\x26\\xe2\\x57\\x3c\\xbb\\x2f\\x17\\x4d\\xea\\x7b\\xd4\\x5a\\x34\\x6f\\x60\\xd3\\x44\\x66\\xfc\\xb2\\x3a\\x81\\xd4\\x65\\x12\\x6b\\xaf\\x2c\\x2f\\x49\\xa4\\x66\\x8e\\xaa\\x78\\x38\\x88\\xe8\\x34\\x79\\x29\\x15\\xd7\\xa7\\x39\\xb1\\x08\\x11\\x08\\x8f\\x0b\\xbf\\xcd\\x87\\xc7\\x7e\\xfb\\x3b\\xcc\\xe6\\xeb\\x90\\x3e\\x8a\\xc6\\x42\\x45\\x72\\x13\\xbd\\x67\\x93\\x12\\xc1\\x73\\x24\\xcd\\x33\\x05\\x99\\xfd\\x44\\xa4\\xed\\xf9\\x67\\x0d\\x26\\x5d\\x58\\x3f\\xf8\\x7c\\x3f\\x28\\xe5\\xf9\\xc9\\xa5\\xdc\\x6d\\xb7\\x9d\\xce\\xa8\\xd7\\x2d\\x1f\\xdd\\xee\\x18\\x6f\\x6b\\x1d\\x29\\x0a\\x76\\x0d\\xa3\\x56\\xb1\\x0b\\x91\\xe4\\x4b\\x17\\x0c\\x9b\\x34\\x25\\xa6\\x01\\x09\\xf8\\xa5\\x2a\\xef\\xe2\\x3b\\x17\\x74\\xfd\\x34\\xb7\\x85\\x97\\xe6\\x23\\xb1\\x45\\x79\\x29\\x2c\\x12\\x35\\x4e\\x00\\xcc\\x1e\\xcc\\xe1\\xbc\\xb6\\x74\\x34\\x27\\x3f\\x23\\x79\\xbd\\xde\\xb3\\x89\\x2e\\x3b\\xa6\\xd1\\x04\\xdc\\x88\\x46\\x17\\x70\\x22\\x1a\\x51\\xd0\\xd8\\x8d\\xc6\\x88\\xd9\\x11\\xce\\x4b\\xec\\x4d\\x15\\xc9\\x33\\x13\\xe9\\xe6\\xca\\x74\\x8f\\xb5\\x67\\x16\\x9a\\x34\\x53\\x08\\xb1\\xd5\\xcb\\xe7\\xd1\\x4a\\xd3\\x42\\x0b\\x55\\xda\\x36\\x62\\xd2\\x14\\xc3\\x14\\x38\\xb7\\xaf\\x66\\x1e\\x9a\\x46\\x2e\\x37\\xe5\\x20\\x84\\xe2\\xe4\\x44\\xa3\\x67\\x2e\\x24\\xf9\\x89\\xe9\\x23\\xba\\xae\\xe1\\xb9\\xe5\\x45\\x76\\x1b\\xa2\\x31\\x37\\x80\\xb8\\x0e\\x5a\\x1b\\xc3\\x1a\\xb0\\xf6\\xaa\\xf0\\xfc\\x92\\xd5\\x73\\xc5\\x69\\x49\\x78\\x08\\x85\\xaa\\x2f\\x54\\xe6\\xc7\\x0e\\x95\\xa6\\x69\\xc1\\xce\\xa9\\x9f\\x26\\xa8\\x95\\xe3\\x17\\xec\\x64\\x3e\\xe5\\x9c\\xb9\\xce\\x01\\xf0\\x8b\\x2e\\x05\\xfc\\xa6\\xd2\\x59\\xd2\\xf5\\x0d\\xf5\\x2b\\xb2\\x47\\xa5\\x38\\xa7\\x0f\\xf9\\x43\\x7a\\x92\\xd9\\x9d\\x8a\\xd6\\xa6\\xb9\\x09\\x6b\\x12\\x76\\x26\\xd0\\x09\\x09\\x4c\\x9c\\x96\\xcf\\x4c\\x64\\xc2\\x9e\\x58\\x73\\xb7\\x54\\x48\\xda\\xad\\x14\\xf2\\xfe\\x88\\x10\\xdc\\x7e\\xfa\\x7a\\xf3\\xc9\\xf6\\x8d\\xfb\\x9a\\x4f\\x2f\\xdf\\xb5\\x77\\x07\\x37\\x81\\xae\\xaf\\x1b\\xd2\\xdc\\xcf\\x79\\x64\\xca\\xc2\\x04\\x78\\x00\\xd2\\x57\\x57\\xff\\xb0\\xfa\\x91\\xbb\\xdb\\xbf\\x5c\\xb4\\x8f\\xfb\\xc6\\x3f\\x6d\\x4e\\xf9\\xba\\x77\\x5f\\x5b\\xbe\\xcc\\xc2\\xdb\\xc6\\x3c\\x64\\x43\\xae\\x21\\x1b\\x62\\x01\\xf1\\xc0\\x0d\\xf2\\xfa\\x18\\xc9\\xaa\\x84\\xcd\\x61\\x22\\x50\\x91\\x8c\\x15\\x5c\\x2b\\xc1\\x45\\x0c\\x80\\x03\\x98\\x05\\xaa\\xc8\\x0f\\xd2\\xf1\\x34\\x92\\x57\\xc3\\x57\\xb2\\xe7\\xa3\\x72\\x25\\x0d\\x0b\\xbd\\x74\\x6f\\x8a\\xb5\\x3a\\x2c\\x31\\x14\\xbc\\xe2\\x9f\\xd0\\x56\\xff\\xd0\\x1c\\xdf\\xdc\\xc2\\x99\\x73\\x46\\x1d\\x5a\\x56\\x0c\\x3d\\xb3\\xe6\\x0e\\x69\\x2a\\xe2\\xaa\\xa7\\xce\\xad\\x6a\\x2e\\xee\\x84\\xe9\\xb6\\x7d\\xab\\x56\\x7c\\xba\\x4c\\x09\\x0d\\xdc\\xbf\\xad\\xbb\\x97\\x2e\\xf9\\xf7\\x06\\x15\\xf7\\x4f\\x5a\\x7f\\x28\\xa5\\xeb\\x84\\x7a\\xce\\xcb\\x33\\x1e\\x4b\\xa3\\x46\\x6a\\xa7\\xe0\\x4b\\x81\\x6c\\x48\\x5f\\xfe\\xc5\\x7c\\x0b\\x0a\\x41\\x7e\\x40\\xcb\\x3a\\x73\\x33\\x6d\\xe8\\x87\\xce\\x4e\\xc7\\xfe\\xa3\\x56\\x1d\\xf3\\x0c\\x22\\x38\\x96\\xb0\\xc3\\x27\\xd7\\xf8\\xc4\\xc2\\xc1\\x3e\\xbe\\x96\\x97\\xdc\\xd7\\x27\\xd3\\x51\\x2c\\x11\\x88\\x7c\\x31\\xe1\\x93\\x00\\x1f\\x7b\\xe1\\xf3\\x7c\\x8e\\x44\\x48\\x9f\\x7a\\xe2\\xc0\\xca\\x81\\xf1\\x03\\x92\\x53\\x6d\\xc9\\x19\\x23\\xea\\xa8\\x82\\x49\\xd6\\xc6\\xfa\\xf1\\x93\\x93\\x7b\\x8f\\x19\\x5b\\x97\\xbb\\x7f\\xd7\\x37\\xc9\\x73\\x13\\xb6\\x8d\\x6a\\x72\\xf7\\xae\\x5b\\x36\\x95\\x7a\\x75\\xfe\\xca\\x9e\\xbb\\x0d\\x65\\xaa\\xf9\\xaa\\xe1\\x83\\x34\\x36\\x68\\xf3\\x96\\xf4\\x1e\\x10\\x48\\xcc\\xf1\\xb8\\x92\\xfc\\x43\\x0b\\xa6\\xcc\\xed\\x30\\x4d\\x2f\\xf1\\x25\\x65\\xbb\\x9d\\x69\\xf8\\x0e\\xb1\\x12\\xd0\\xc9\\x98\\x48\\xad\\x01\\xc7\\xd9\\x18\\xa3\\x16\\xb9\\x3e\\x11\\xf9\\xb7\\x11\\xb9\\xb7\\x66\\x9f\\xb8\\x57\\x87\\x22\\xd8\\x07\\x8a\\x7a\\xd8\\x72\\x5c\\x45\\xbd\\x8d\\xf7\\xe7\\x5d\\x2d\\xce\\xb5\\x7b\\x53\\xa7\\x24\\x3f\\x10\\xb7\\xa8\\xd3\\x30\\xd7\\x34\\xbc\\x81\\xce\\x83\\xd0\\xb8\\xd0\\xf6\\xc8\\xcd\\xab\\x1b\\x16\\xa3\\x3e\\xfe\\x84\\x64\\x35\\x9d\\xdd\\x89\\x22\\x8c\\xb4\\xf3\\x0e\\x83\\xc1\\x6a\\x36\\x62\\xe5\\x75\\xa2\\xf1\\xcc\\x3b\\xcb\\xd2\\xb2\\x64\\xdf\\x97\\x7c\\x11\\xb9\\xde\\x7e\\x5e\\x34\\xe1\\x23\\x46\\xc2\\x82\\x44\\xc5\\x64\\xa5\\x5a\\x13\\x1d\\xb9\\x39\\x31\\xa5\\x55\\xaa\\x31\\xa3\\xcd\\xf5\\x03\\x6b\\x93\\xef\\x34\\xdf\\x39\\x5a\\xd5\\x2b\\x21\\x23\\xd1\\xf9\\x9c\\x61\\x56\\xcc\\xa0\\xe9\\x03\\x2b\\x1c\\xa5\\xf0\\xef\\x4d\\x4f\\x3c\\xd1\\xc4\\x95\\x56\\xf5\\xd6\\xbc\\xf9\\x2c\\x5a\\x38\\x5c\\xf0\\x03\\x46\\x87\\xe6\\x10\\xae\\xb8\\x9e\\x1f\\xd0\\xa5\\xa8\\xe2\\xe2\\x58\\x68\\x8c\\x8f\\xd7\\xd1\\x09\\xcf\\x11\\xa5\\xb2\\xa0\\xf1\\x32\\x00\\x9d\\x2c\\xcd\\x32\\xaf\\x54\\xac\\x77\\x06\\xc5\\x23\\x2d\\x06\\x2a\\x22\\xca\\x44\\xd4\\x39\\x21\\x56\\x7d\\x52\\x1d\\x37\\xbf\\x37\\xac\\xef\\xbd\\xa2\\xf7\\x60\\xd3\\x10\\xb7\\x49\\x83\\xed\\x7f\\x49\\x5b\\xf5\\xa4\\x29\\xf6\\xc1\\xa6\\xc1\\xbd\\x77\\x97\\x4d\\xed\\xa7\\xe1\\x8e\\x59\\xd0\\x24\\xbc\\x08\\x07\\x71\\x17\\x5b\\xce\\x4e\\xea\\xad\\x6e\\x74\\x55\\x07\\xa6\\x8d\\x4f\\x5a\\xd1\\x02\\x07\\x75\\x05\\xab\\x56\\x54\\x4d\\xf3\\x2c\\xe6\\x7d\\x8e\\x1e\\xf0\\x1a\\xd3\\x03\\xd1\\x8a\\x5c\\x82\\x8e\\x74\\xad\\xd6\\xa3\\xc3\\x22\\x8b\\x95\\xdc\\x64\\x59\\xc6\\x29\\xf6\\xd7\\xc9\\x5d\\x09\\xc4\\x2b\\x56\\x48\\x3e\\xbc\\x97\\x77\\x18\\xf8\\xdb\\xfd\\x13\\x29\\xec\\x2b\\x8f\\xdb\\xf1\\xc8\\xd8\\xb2\\xa4\\x9e\\x25\\xe6\\x11\\x85\\x55\\xde\\x8c\\xea\\xd6\\xfa\\x01\\x0b\\xfa\\xda\\xed\\x4d\\x43\\x6b\\xcd\\x25\\x9e\\x14\\x4b\\xac\\xe5\\x2d\\x78\\xed\\xee\\x15\\xab\\x66\\x0f\\xe8\\x61\\xcd\\x98\\x50\\x55\\x98\\x57\\xdf\\x73\\xfc\\xe4\\x91\\x13\\x86\\x6c\\x1c\\x9c\\x39\\x70\\x90\\xb7\\x2e\\x38\\x21\\xc3\\x19\\x9b\\x57\\x32\\xa0\\xc7\\xd1\\x57\\xf0\\xfd\\x1f\\xf0\\x23\\x06\\x20\\xfa\\x2c\\xc0\\x72\\xc6\\xc0\\x62\\xe2\\x74\\xf2\\x5a\\x39\\xc9\\xf2\\xbc\\x1a\\xa1\\x52\\x4e\\x0d\\xf2\\x78\\xea\\x56\\x35\\xab\\x07\\xf7\\x3b\\x96\\xde\\xbc\\xa2\\xc9\\xf5\\x20\\xfc\\xe8\\xcd\\xb2\\xa1\\xf0\\x2c\\xe7\\xe9\\x91\\xe1\\x2b\\x7f\\x01\\x7e\\xc8\\x79\\x1f\\xd8\\x8d\\x79\\x0f\\x22\\x7b\\xf4\\x77\\x84\\xdb\\x81\\x70\\x6b\\x1c\\xcf\\x90\\x0c\\x58\\x53\\x38\\x0b\\x5b\\x70\\x45\\x11\\x87\\x3e\\xbb\\x14\\xc9\\xf8\\x2d\\x54\\x8f\\x5a\\xcd\\xd6\\x65\\x1b\\x1d\\x6b\\xed\\x2d\\xa7\\x97\\x2f\\xdc\\xa0\\x1d\\x81\\x04\\x3d\\xb4\\x20\\xf3\\x9e\\x9f\\x3f\\x9b\\x36\\xa1\\x75\\xea\\x13\\xdc\\x6f\\xbb\\xda\\x57\\x14\\x17\\xc1\\x43\\xbc\\x7c\\x15\\xc8\\xa7\\x78\\x19\\xf5\\x81\\x73\\x3c\\x69\\x35\\xf6\\x7f\\x15\\xc4\\x0d\\x14\\xe8\\xf7\\x59\\x88\\x11\\x85\\x1e\\xea\\x9c\\x90\\xe3\\xc9\\xfd\\xb0\\x19\\x7b\\x84\\xf0\\xdb\\xc1\\x2d\\x8f\\x71\\x06\\x82\\xc3\\x87\\x70\\xfc\\x53\\xc4\\xc1\\x60\\x3a\\xa5\\x72\\x58\\xe4\\xf8\\xaa\\xf0\\x49\\x45\\x09\\x7d\\x46\\xf8\\x0b\\xb7\\xd6\\x44\\xd9\\x4c\\x9c\\x0a\\x3e\\x66\\x82\\x5f\\xb6\\x52\\x25\\x13\\x5a\\xbb\\x5e\\x99\\xc0\\xd3\\xe2\\x42\\xf3\\xe3\\x67\\xc2\\xaf\\xeb\\x8c\\xd1\\xc4\\xe7\\x16\\xeb\\x91\\xe3\\x14\\xb9\\xe8\\x44\\xad\\x38\\x6e\\x09\\xbd\\x82\\x9e\\x55\\xe4\\x4e\\xb4\\xf7\\x4c\\x2c\\x1f\\xe1\\xe0\\xac\\x66\\x2a\\x91\\x9b\\x6a\\xa1\\xf2\\xcd\\x5d\\x1f\\xc3\\x37\\xdc\\x0a\\x38\\xad\\x44\\xd5\\xa6\\x1e\\x34\\xd4\\xb5\\x12\\xf7\\x39\\xbe\\xeb\\xd5\\x73\\x2e\\x12\\x4b\\x5a\\xe0\\x6c\\xfa\\x6b\\xd4\\xa7\\x1d\\x24\\x83\\xb4\\x0b\\x3a\\x83\\x83\\xa6\\x0d\\x66\\x0b\\x76\\x20\\xe2\\xed\\x76\\x5c\\xea\\x25\\x57\\x56\\xea\\xc5\\x47\\x6e\\x9e\\x17\\x23\\xaf\\x6c\\x88\\x2b\\x79\\x78\\x84\\xfe\\xd3\\x90\\xc1\\x17\\x2a\\x79\\xa7\\x4d\\x5d\\xdf\\xa7\\xff\\xa8\\xb6\\x25\\xc7\\xf3\\x93\\xeb\\x8b\\xde\\x92\\x13\\xb2\\x25\\x67\\x74\\x8f\\x19\\xc5\\x03\\x13\\xa9\\x61\\x9b\\xc6\\x8f\\xec\\xd3\\xd2\\xd4\\xaf\\x34\\xbb\\x76\\x3c\\xe5\\xc7\\x32\\x58\\x37\\xb8\\x24\\x2d\\xcb\\xe1\\xc4\\x7e\\xc2\\xaf\\xe0\\x59\\xba\\x0b\\xd1\\x14\\x8f\\x62\\x44\\x4d\\x2c\\x4d\\x3b\\xf4\\xe8\\xc7\\x80\\xc2\\xb1\\xc2\\x73\\x54\\x7c\\x3c\\x20\\xd1\\x18\\x5f\\xdd\\x27\\x7c\\x67\\xae\\xb0\\x7d\\x82\\x0b\\x69\\x11\\xa3\\x41\\xa2\\x57\\xb2\\xb3\\x02\\xaf\\x52\\x3d\\x1d\\xdc\\xdb\\x93\\x97\\x8e\\x3f\\xb1\\x90\\xe3\\x1c\\x8b\\x6c\\x7b\\x86\\x2d\\xea\\x33\\xbd\\xd1\\x6f\\x81\\xa5\\x1c\\x8a\\xc2\\x56\\x23\\x6d\\xbc\\x67\\xde\\x9c\\xce\\xa9\\xef\\x18\\xd6\\xd6\\xee\\x1d\\x5c\\x3f\\x69\\x32\\x34\\x22\\x83\\x3d\\x1e\\xcd\\x3b\\x9a\\xe4\\x97\\x5a\\x91\\x41\\x40\\x6b\\xa1\\x69\\x6e\\xec\\x9a\\xd8\\x9d\\xb1\\x74\\x6c\\xac\\xc2\\x06\\x70\\x96\\xa9\\x1e\\xc5\\xd9\\x52\\x8d\\x3d\\xb2\\x16\\x16\\x98\\x44\\x2d\\x34\\x17\\xd3\\xc2\\x79\\x31\\xe9\\xa8\\x1e\\xad\\xfd\\x65\\xc6\\xc5\\x6d\\x8b\\x57\\xcf\\xb9\\x90\\x33\\x61\\x6d\\x16\\xb7\\xc1\\x0c\\x73\\x27\\xac\\xce\\x82\\xab\\x2c\\x95\\x0a\\xc0\\x75\\x3e\\xc8\\xad\\xe8\\x3c\\x73\\xe8\\x21\\xb8\\xfc\\xc2\\xcd\\xb2\\xe7\\xae\\xb6\\x0d\\x7d\\x83\\x9e\\x79\\xe9\\x95\\xb6\\xe1\\x93\\xc7\\xe3\\x73\\x87\\x85\\xcc\\xf3\\x54\\xbc\\x22\\x13\\x69\\xbf\\x9a\\xd4\\xa4\\x37\\xa9\\xd4\\x77\\x35\\xaa\\x54\\x54\\x80\\x65\\x35\\x1a\\xed\\x5d\\x8d\\x9a\\x3d\\xe2\\x66\\x5e\\xfc\\xeb\\x05\\xf8\\x8c\\xab\\x85\\x46\\x21\\x88\\x12\\x7f\\x06\\x67\\x91\\xc5\\x3c\\xbd\\x47\\xf5\\x5c\\x92\\x62\\x4c\\xea\\xc3\\xa9\\x5d\\xbd\\x53\\x1f\\x4d\\x65\\x9e\\x87\\x7d\\xd3\\xb8\\xa7\\xdd\\xa7\\x2e\\x5e\\x3c\\x79\\xf1\\x22\\xc6\\xaf\\x42\\xf8\\x07\\xfe\\xbf\\xe0\\xa7\\x71\\x82\\x1c\\x4c\\xf3\\xf3\\xf8\\x55\\x8a\\x07\\x9f\\x53\\x71\\xdf\\xc2\\x5e\\xa8\\x87\\x9b\\x9f\\x91\\x1e\\xdc\\x70\\x40\\x1a\\xf7\\x9c\\xd8\\x03\\x1a\\x53\\xee\\x47\\x6e\\x44\\xe8\\xc3\\xd0\\x31\\x90\\x83\\xef\\xa8\\x8c\\x25\\xf7\\xe4\\xd3\\x29\\xb8\\xea\\x1a\\xfe\\xfa\\xcd\\xff\\x4b\\x2a\\x30\\xe1\\x7a\\x13\\xf8\\x53\\x1d\\x36\\x54\\x7c\\x52\\xec\\xa4\\xc7\\xd3\\x7b\\xa4\\x27\\xa6\\x26\\x66\\xe6\\x67\\xe6\\x66\\x16\\xc1\\xbe\\x15\\x63\\x53\\x73\\x52\\xe3\\x13\\xe3\\xdd\\x99\\xee\\xb4\\x3c\\x6e\\x44\\x99\\x19\\xa9\\x86\\x52\\xa5\\x52\\x1b\\x8c\\xc6\\x58\\x8b\\x49\\x6d\\xb0\\xe6\\xbb\\x7b\\xc5\\x27\\x9a\\x75\\x6a\\x56\\xa5\\x35\\x1b\\xcc\\x36\\x9d\\x46\\xa5\\x34\\x50\\x78\\xef\\xae\\x99\\xf9\\x84\\x72\\xb0\\xef\\x20\\x5d\\x37\\x9e\\x87\\x36\\xdd\\x5a\\x23\\x3e\\x17\\x1c\\x7f\\x8d\\x14\\x2d\\xc0\\xe7\\x93\\xf9\\x09\\xe5\\xe3\\x7d\\x18\\xaa\\x1c\\xc2\\x50\\x4a\\xc9\\xd4\\x69\\x73\\x03\\xcd\\xb3\\x15\\x6b\\xe8\\x9c\\xd2\\xc2\\x09\\x53\\xda\\xaa\\x3c\\xec\\xd8\\xb4\\x1e\\x69\\x93\\x46\\x3b\\x13\\x93\\x53\\x2b\\x32\\xf2\\x33\\x30\\xde\\xe1\\xcc\\xdf\\xe0\\x5b\\xec\\xdf\\x90\\xfc\\x74\\xe7\\xd8\\xb5\\x34\\x85\\xb1\\x22\\xfe\\x20\\x8b\\x26\\x46\\x1a\\x7c\\x8b\\xfb\\x1b\\x77\\x34\\x0e\\x96\\x41\\x96\\x9d\\xb6\\x67\\xed\\x5a\\x04\\xbf\\x14\\xc1\\xbf\\x2f\\xc0\\xd3\\x6b\\x19\\x7c\\x4b\\x68\\x3c\\xae\\x1a\\xe2\\xf6\\xfa\\x1d\\x6e\\xf8\\x67\\xee\\xe8\\x77\\xa3\\xff\\x0a\\xcb\\x98\\xbf\\xed\\x99\\xb5\\x96\\x9c\\xe5\\x9d\\x82\\xe0\\x5f\\x11\\xe0\\x29\\x66\\xad\\x78\\x7f\\x39\\xf4\\x22\\xfc\\x0e\\xb8\\xe0\\xaf\\xdc\\x4b\\x71\\xb0\\xe1\\x3b\\xe6\\x6f\\x6b\\xd7\\xee\\x21\\xf0\\xf3\\x10\\xfc\\xf7\\x02\\x3c\\x64\\xd7\\x52\\xc2\\x5d\\xd5\\xd0\\xcd\\x7a\\xd3\\xdc\\xf0\\x7d\\xee\\x25\\xee\\xb7\\x6c\\x98\\x03\\x1b\\xd8\\xba\\xb5\\xb3\\xf6\\x20\\x78\\x05\\xf3\\x37\\xaa\\x17\\x92\\x8b\\x12\\x38\\x02\\x6a\\x14\\x62\\xd3\\x0a\\x05\\xbb\\x16\\xe2\\xb7\\xc8\\x94\\xc7\\xaf\\x2a\\xbd\\x6c\\x9a\\xdf\\x91\\x46\\xf5\\xaa\\x7d\\x85\\xfb\\x8e\\xfb\\x4f\\xed\\x5f\\x21\\xc3\\xf6\\x99\\xbd\\x7c\\xf9\\x9e\\xd9\\x6b\\x09\\x8d\\x1c\\x87\\x70\\xf4\\x27\\x38\\xac\\x17\\x14\\x0c\\x05\\x99\\xb5\\xac\\x70\\x5b\\xfa\\x65\\x6c\\x34\\x2c\\x5e\\xd4\\xb7\\xc3\\xef\\xe8\\x7a\\x9b\\xfb\\x2d\\x03\\x0e\\xfe\\xe8\\x97\\x0c\\x4c\\xee\\xec\\x3d\\xcb\\x97\\xcf\\xe6\\xf5\\xe3\\x49\\xae\\x21\\xf4\\x4b\\xe8\\x35\\xec\\xd7\\x06\\x34\\x1a\\x15\\xcb\\x30\\x14\\x05\\x74\\x2a\\x7c\\xe9\\x2b\\xa9\\x10\\x67\\xc4\\x02\\x12\\x6b\\x7d\\x10\\xef\\xc3\\x80\\x5e\\x2a\\x8e\\xa9\\xd3\\x52\\x49\\xbd\\x0b\\x52\\xcd\\xe6\\x84\\xf9\\x71\\x89\\x5c\\x03\\x8c\\xad\\x1b\\x92\\x97\\x42\\x8f\\x65\\x56\\xef\\xe7\\xf7\\xc3\\xb5\\xcc\\x2a\\x38\\x5a\\xe1\\x46\\x56\\x1d\\xe9\\x1d\\x43\\xf4\\x0e\\x97\\x11\\x46\\x86\\x0b\\x8e\\xb6\\x3f\\x7b\\xaf\\xfd\\x17\\xa3\\xc2\\x3d\\xbf\\xb5\\x75\\xfe\\xd1\\x5a\\xb2\\x3f\\xca\\xe5\\x70\\xf5\\xb0\\x38\\xf4\\x2b\\x82\\xd7\\x63\\x4a\\x54\\x5a\\x9d\\x5a\\x8b\\x7e\\x28\\xa4\\x2a\\x57\\xc3\\xe6\\xc6\\x40\\xee\\x6c\\xf7\\xe3\\x12\\x00\\x0e\\xbf\\x6f\\x8b\\x91\\x7b\\xc9\\xfe\\xec\\x7d\\x0e\\xf8\\x5e\\xed\\xfc\\xf9\\x95\\xeb\\xe6\\x9f\\xaa\\x3d\\x8a\\x51\\x72\\x8f\\xc2\\xb8\\x63\\xc7\\x42\\xa1\\xd0\\xbd\\x5c\\x03\\x33\\x91\\xed\\x6f\\x4e\\x07\\xa9\\xf8\\x16\\x21\\xea\\x3a\\x35\\x85\\xe4\\xbf\\x0e\\xe6\\xf2\\x99\\x62\\x66\\x04\\x6a\\xef\\x27\\xb4\\xf7\\x0b\\xfd\\x1d\\xb5\\x97\\x02\\xc0\\xec\\x56\\x4c\\x41\\xed\\x69\\x00\\x98\\x94\\x14\\x3e\\x7d\\xfc\\x00\\x50\\x9d\\xa3\\xd3\\xd9\\x74\\x90\\x5d\\x44\\xde\\x1d\\xc2\\xe7\\x88\\x22\\x98\\xfe\\xe8\\x5d\\x05\\xf5\\x00\\x9f\\x2b\\x0f\\x4a\\xb9\\x4e\\x66\\x37\\xe9\\x2b\\x0d\\xe3\\x54\\xfd\\x87\\xb6\\xf2\\xf0\\xa8\\x3d\\x0c\\x8f\\xda\\xa9\\xef\\x04\\xf8\\x4b\\x72\\x78\\xea\\x3b\\x6a\\xad\\x00\\x7f\\x49\\x0e\\x8f\\xda\\xfd\\xa4\\x7d\\x21\\xd7\\x8f\\x79\\x46\\xb1\\x0f\\xb5\\xa7\\xa3\\x76\\xaf\\xba\\x0a\\x5e\\xc1\\x34\\x82\\xe5\\x10\\x2f\\x62\\xaa\\x73\\x30\\x39\\x4c\\xe3\\x3c\\x04\\xbb\\x83\\xed\\x40\\xb0\\x03\\x30\\x2c\\x58\\x0c\\x0e\\x0b\\xb0\\x35\\x3c\\x6c\\xaa\\x49\\x82\\xc5\\x3c\\xdf\\x4b\\x78\\xf6\\xf2\\x3c\\x87\\xde\\x23\\x3c\\x53\\xb1\\x32\\x7c\\xa1\\xeb\\xcc\\x6b\\x84\\xa6\\x81\\x3c\\xcf\\x97\\xc2\\x3c\\xdf\\x4b\\x78\\xf0\\x0a\\xbc\\xfd\\xaf\\xd0\\x7f\\xa7\\x0c\\x1e\\xb7\\xdf\\x90\\x78\\x96\\xc1\\x23\\xde\\xc6\\x08\\xf0\\x97\\xe4\\xf0\\xa8\\xbd\\x4e\\x80\\x2f\\x8d\\x80\\xff\\x9c\\xaa\\x17\\xe0\\x4b\\x23\\xe0\\x3f\\x17\\xf0\\x94\\xa2\\xf1\\x96\\xc3\\xdf\\xa0\\x5a\\x49\\xfb\\x68\\xd4\\x2e\\x87\\xbf\\x41\\x35\\x49\\xbc\\xbf\\xab\\xcc\\x46\\xed\\x19\\x98\\x77\\xd5\\x4d\\x0a\\x27\\x02\\x6b\\x3a\\xd0\\xea\\x4c\\x98\\x2f\\x12\\xee\\xdd\\x19\\xa3\\x78\\x19\\xc1\\x0c\\x22\\xb2\\xac\\x0a\\xbd\\x00\\x2d\\x48\\x06\\x5b\\x28\\x70\\x4b\\x1c\\x5d\\xd4\\x06\\x01\\x87\\xed\\xb6\\x38\\x16\\x83\\x5e\\x91\\x38\\x10\\x7d\\xef\\x12\\xba\\x33\\x04\\xfa\\xee\\x21\\xed\\xb3\\x51\\xfb\\x18\\xa2\\xa7\\x83\\x84\\xf6\\x85\\xb7\\x84\\xff\\x0f\\xb5\\x47\\xd0\\x9d\\x48\\xf8\\xff\\x50\\xb3\\x04\\xf8\\x7e\\xcc\\xbb\\x8a\\xa3\\x02\\xbc\\x17\\xe9\\xc1\\x22\\x32\\xd6\\xf7\\xa3\\xee\\x7f\\xc4\\x63\\x9d\\x12\\x1e\\x6b\\xac\\x67\\x63\\xd8\\x0e\\x02\\x85\\xa5\\x45\\x70\\x99\\x14\\xd4\\xfd\\x0c\\xd6\\x1c\\xda\\x4f\\x34\\x07\\xc1\\x05\\x11\\xdf\\xef\\x13\\xbd\\xc9\\x14\\xe6\\x4a\\x4f\\xa2\\x37\\x50\\x2f\\xe0\\x02\\x14\\x78\\x16\\xc1\\x7c\\xaa\\x98\\x42\\x6e\\x57\\x2f\\x08\\x98\\xe2\\x62\\x35\\x01\\xc0\\xb0\\x4c\\x75\\xd0\\x86\\x16\\x38\\x4a\\x63\\x22\\xa7\\x9b\\x34\\x34\\xc5\\xd7\\xb1\\x26\\x07\\x5c\\xc9\\xd7\\xd1\\xf8\\x58\\xe3\\x47\\xaf\\x4b\\xe5\\x22\\xbb\\xa5\\xc5\\xe2\\x1d\\x37\\x6a\\xc9\\xfe\\x8e\\xfd\\x38\\x05\\x96\\x65\\x33\\x3e\\xfe\\x74\\xf0\\xe3\\x69\\x2e\\xd7\\x45\\x31\\x05\\x96\\x7b\\x1b\\x5f\\x63\\x93\\x76\\xf3\\x03\\x3a\\x2d\\x22\\xef\\x95\\x5a\\x87\\xef\\xb4\\x11\\xc6\\xe3\\xb4\\xa2\\x05\\xd1\\x9e\\x45\\x68\\xdf\\x02\\xd2\\xa1\\x16\\xd3\\x9e\\x14\\x96\\xc3\\x48\\x6e\\x0c\\xb3\\x89\\xad\\x45\\x30\\x43\\x30\\x8c\\x7a\\x08\\x54\\x92\\xb9\\x43\\x15\\x46\\xce\\x9d\\x97\\x89\\x0c\\xb2\\x23\\xec\\x05\\x34\\x84\\x65\\x50\\x8d\\x60\\x06\\x23\\x19\\xe0\\x9d\\xc6\\xf4\\x80\\x19\\xd9\\x57\\xa5\\x3e\\xd6\\x16\\x1f\\x17\\x00\\x4a\\xa5\\xa5\\x3a\\xa8\\x14\\xae\\xad\\xf8\\x5b\\xfc\\x47\\xaf\\x4b\\x5f\\xd8\\x70\\x6a\\xa7\\x90\\x05\\x2e\\xaf\\x00\\xe5\\x21\\x5b\\x8d\\xf5\\xe7\\x5d\\x29\\x29\\xf4\\x5d\\xff\\x86\\x6e\\xfd\\xb6\\xf3\\x9b\\x34\\xb5\\xad\\x2b\\xff\\x9c\\xb4\\xbc\\x83\\x9a\\x80\\x78\\x66\\xfb\\xdf\\x77\\x66\\xc5\\xeb\\x1c\\xe7\\xef\\xd7\\x95\\x47\\x5d\\xf0\\x67\\xd5\\x8f\\x3e\\xbf\\xaf\\x6b\\x3b\\xfb\\x18\\xb9\\xca\\x47\\x98\\xaf\\x2f\\x13\\xbd\\xc9\\x16\\xe6\\x65\\x17\\x69\\xaf\\x46\\xed\\x83\\xc9\\xfc\\x18\\x1a\\xd1\\xce\\xf3\\x77\\x87\\xc8\\x9f\\x7a\\x00\\xf4\\x44\\xce\\x0f\\x40\\x13\\xfe\\x82\\x8a\\x3b\\x84\\x7b\\x0e\\xb2\\x02\\xb6\\xf8\\xc4\\x40\\x9c\\x8b\\x15\\xf8\\xc4\\x2c\\x02\\x1a\\x33\\x19\\xfe\\x84\\x58\\xe9\\xe3\\x57\\xd1\\xdf\\xe3\\xd2\\x7d\\x7b\\x4e\\xe9\\xbe\\xd8\\xa1\\xfa\\x2b\\x72\\x77\\x6e\\xc3\\xee\\x1b\\x17\\x2f\\x62\\xe7\\x07\\xd9\\xff\\xd7\\x90\\x2e\\x87\\xf9\\x55\\x80\\xe5\\x66\\x22\\x87\\xd0\\xbb\\xa8\\x3d\\xcc\\x2f\\x6a\\x4f\\x14\\xe5\\x33\\x5f\\x2e\\x1f\\xea\\x1b\\x61\\xbd\\xa8\\x46\\xed\\x32\\xf9\\x48\\xed\\xf8\\xcc\\xc3\\x41\\x02\\x9f\\x23\\xcc\\x37\\xbe\\x3d\\x1d\\xb5\\xc7\\x12\\xf8\\x61\\x42\\xfb\\x72\\xd2\\x8e\\xeb\\xd3\\x1f\\x24\\xb6\\x22\\x87\\xd8\\x8a\\x1f\\x31\\x3c\\xd0\\x9d\\xa7\\x29\\x18\\xc7\\x0b\\x94\\xd7\\xab\\x74\\x7c\\xdf\\xb3\\xe2\\x22\\x82\\xfb\\x9e\\xcc\\xc0\\x19\\xef\\x63\\xeb\\xbd\\x18\\x0c\\x81\\x0c\\x0f\\x1d\\x63\\xe2\\xa1\\xf9\\x31\\x62\\x9d\\x64\\x5d\\xc8\\x25\\x63\\x54\\x45\\xee\\x79\\x43\\x3a\\x68\\x0a\\xeb\\x20\\xb9\\x67\\x49\\xf1\\x02\\xd0\\x02\\x13\\x48\\x0e\\x98\\x62\\xd6\\xea\\x58\\xa1\\x94\\xb2\\x01\\x85\\xff\\x8c\\x4d\\xac\\x7b\\x56\\x89\\xbd\\x21\\x77\\xf8\\x34\\x35\\xe5\\x4f\\x43\\x9e\\x26\\x9d\\xc9\\x7d\\x7f\\xef\\x88\\x0e\\xa8\\xe8\\x78\\x80\\x3f\\x46\\x5d\\xcf\\xbd\\xcc\\x40\\xe6\\x4d\\x96\\x3b\\x04\\xbf\\x9f\\xc0\\xcd\\x65\\xfb\\xdf\\xfc\\x02\\x1f\\xa1\\xee\\xba\\x97\\x7d\\xdd\\xfa\\x2f\\xd7\\xdf\\x25\\x5d\\x63\\x9d\\x44\\x36\\xb9\\xc2\\x7a\\x98\\x43\\xda\\xd7\\x23\\x5d\\xbb\\x40\\x64\\x33\\x42\\x68\\x8f\\x15\\xd7\\x06\\x39\\x3c\\x5a\\x03\\xf6\\x0a\\xf0\\x97\\xe4\\xf0\\xa8\\x7d\\x15\\x69\\xdf\\x80\\xf0\\x40\\x02\\x9f\\x27\\xe0\\xc9\\x24\\xed\\x2e\\xd4\\x6e\\x20\\xf0\\x23\\x85\\x76\\xa7\\x04\\xdf\\x9b\\xcc\\x79\\x0c\\xef\\xe5\\xe1\\x65\\x73\\x9f\\xd2\\x8a\\xf2\\xa2\\x11\\x8e\\x57\\x99\\x3a\\x45\\x0b\\xf1\\xca\\x4d\\xa0\\x47\\x20\\xd6\\x60\\xac\\x09\\x1a\\x58\\x95\\xb2\\x3a\\xa8\\xa2\\x35\\x5a\\x1a\\x59\\x31\\x1a\\x59\\x31\\xda\\xc6\\xbb\\xe7\\xc4\\x5c\\x89\\x27\\x61\\xd3\\xdc\\x4a\\xa1\\x8a\\x38\\x99\\xad\\xe8\\x5f\\x6a\\x37\\x5c\\x99\\x70\\x33\\x2b\\x01\\x3e\\xf6\\x26\\xf7\\x0f\\x27\\x7c\\x87\\x53\\xb9\\x3b\\xdc\\x14\\xd5\\xf5\\xf7\\x38\\xca\\xbb\\x63\\xc7\\x0e\\x26\\x73\\xc7\\x7f\\x37\\x1c\\x3f\\xae\\xb4\\xaf\\x11\\xe8\\xbc\\x24\\xe7\\x0b\\xf1\\xbb\\x4f\\xe0\\xeb\\x92\\x9c\\x2f\\xd4\\x7e\\x87\\x00\\xdf\\x10\\x01\\x7f\\x83\\x7a\\x44\\x80\\x6f\\x88\\x80\\xbf\\x41\\x6d\\x25\\xed\\x48\\xda\\xcc\\x17\\x44\\x5f\\xf2\\x05\\x7d\\xb9\\xca\\xeb\\x8b\\x2b\\x6c\\xfb\\xd0\\x7f\\xcc\\x01\\xe2\\x3f\\x54\\x03\\x5e\\xf3\\xee\\xe3\\x61\\xfc\\x61\\xdb\\xc7\\xe3\\x99\\x22\\xe2\\x09\\xdb\\x3e\\x67\\x34\\x9e\\xab\\x02\\x1e\\x05\\x81\\x41\\x10\\x45\\xe2\\x1a\\x12\\x8b\\xc6\\xe4\\x0b\\x42\\x7b\\x7e\\x84\\xdd\\x41\\x71\\x19\\x3e\\x1b\\xcf\\xbf\\xd7\\xcd\\x1e\\xe1\\x3e\\x7b\\x46\\xf6\\x69\\x0a\\xf7\\x39\\x11\\xc1\\x34\\xb3\\x57\\xd1\\xac\\xa9\\xb1\\x10\\x5f\\xc5\\x15\\x6d\\xfb\\x7a\\x46\\xe0\\x9c\\x88\\xda\\x9b\\x99\\x11\\x02\\x3c\\xd6\\x17\\x93\\xe4\\xab\\xc8\\xe0\\x91\\xbc\\xa7\\x08\\xf0\\x97\\xe4\\xf0\\xa8\\x7d\\xb9\\xb4\\x26\\xcb\\xe1\\x6f\\x50\\x33\\x05\\xf8\\x86\\x08\\xf8\\x1b\\x14\\x3f\\xce\\x53\\xd0\\x1a\\xb4\\x9f\\xd8\\x82\\x02\\x62\\x0b\\x38\\x62\\x0b\\x34\\x1d\\x34\\x95\\x26\\xf9\\x0d\\xf8\\xae\\xaf\\x07\\x15\\x8f\\x22\\x98\\x5a\\x6c\\x07\\xa8\\x03\\x90\\x1f\\xb1\\x37\\x81\\x06\\xd8\\x02\\x3a\\xba\\x22\\xa0\\xb6\\x0e\\xaa\\xa0\\xa9\\x74\\xde\\x1c\\x98\\xb2\\x85\\xba\\x3c\\x3c\\xee\\x51\\x12\\xee\\x90\\x60\\x67\\x18\\x9a\\xea\\x21\\xb7\\x33\\x18\\xff\\x6a\\xc5\\x5d\\x51\\xf8\\xb1\\x95\\xd7\\x80\\xec\\x80\\x8b\\xa1\\xcb\\x03\\xfa\\xb8\\x41\\xe5\\x6b\\x75\\xba\\x41\\xe5\\x01\\x8d\\x16\\xfd\\xa6\\x56\\x0f\\x2a\\x67\\xa4\\x0e\\x51\\x8f\\xe8\\x3f\\xbe\\x66\\x4c\\x34\\x3f\\x37\\x25\\x7e\\x52\\x23\\xf8\\x69\\x56\\xcc\\x14\\xfa\\xf3\\xa2\\x35\\xd5\\x4d\\x74\\xb0\\x2f\\xf8\\x34\\xf4\\x26\\x81\\x4d\\x32\\x89\\xb0\\xd1\\xf8\\xba\\x24\\x7c\\xe9\\x51\\xf8\\x66\\x74\\xc3\\x57\\x05\\x97\\x74\\xc3\\x57\\x4a\\x6c\\x20\\xd6\\x7b\\x9f\\x00\\x73\\x27\\xbf\\x9e\\xc7\\x4b\\xba\\xc3\\x9f\\xef\\x27\\x7a\\x3f\\x0a\\xeb\\x2b\\x58\\x3c\\x8e\\x40\\xe4\\x88\\xfa\\xca\\xe3\\x98\\x22\\xe2\\x90\\xf4\\x4f\\xe6\\x2b\\x0b\\x38\\xae\\x8a\\x38\\xa8\\x07\\x12\\x08\\x8e\\x2c\\x39\\x8e\\x4e\\x82\\xa3\\x28\\x12\\x87\\x6c\\xde\\x60\\xbf\\x69\\x0d\\xc1\\x31\\x9a\\xc7\\x91\\x42\\xe6\\x8d\\x53\\xc2\\x81\\x74\\xb6\\x93\\xe8\\x5a\\x51\\x84\\x2e\\xaf\\x40\\xed\\x6b\\xc8\\xbc\\x19\\x2d\\xb4\\xbb\\x24\\xdd\\xef\\x24\\xb6\\xaf\\x88\\xb7\\x7d\\x18\\x5e\\x66\\xfb\\x68\\xd9\\xdc\\x27\\x38\\x88\\xdf\\x33\\x5a\\x80\\x75\\x09\\xfe\\x4f\\x3f\\x5e\\x5e\\x2e\\x99\\xff\\x83\\xe6\\x82\\x8c\\x0e\\x71\\x8e\\x84\\xae\\xa2\\x76\\x19\\x1d\\xd4\\x77\\x70\\x13\\x81\\xcf\\x40\\xe3\\x75\\x94\\xf0\\x5e\\x2c\\xf0\\x6e\\xe2\\xe7\\xaf\\x2f\\xdc\\xff\\x1c\\x04\\xd3\\x9f\\xf0\\x5e\\xcf\\xf3\\x6e\\x21\\xbc\\xf7\\x14\\x79\\xcf\\x40\\xf4\\x1d\\x65\\xc7\\xf2\\x38\\x08\\x8f\\x1c\\xff\\x1e\\x6a\\xef\\xcf\\x0c\\xe5\\xdf\\x23\\xf3\\x58\\x2d\\xeb\\xf3\\x69\\xb1\\x4f\\x35\\xa0\\x1a\\x05\\x1f\\xa6\\x54\\xd2\\x23\\xdc\\xe7\\x4e\\xf6\\x15\\xa1\\x4f\\x0c\\x53\\x13\\x8a\\x21\\x30\\x7e\\x49\\x7f\\x78\\x3c\\x3f\\x49\\x78\\x20\\xb5\\x44\\xc0\\x53\\x14\\x81\\x67\\x8f\\x82\\x96\\xf0\\x40\\x6a\\x6a\\x48\\x4f\\x60\\x7c\\x61\\x3c\\x98\\x7e\\x51\\x06\\x64\\x1d\\xa2\\x22\\xf5\\xa0\\x50\\x26\\x0b\\xcc\\x93\\x28\\x0b\\x69\\xdc\\x44\\x99\\x50\\x92\\x1d\\x45\\x91\\x20\\xeb\\x22\\x38\\xfd\\x91\\x76\\x51\\x2b\\xe1\\x82\\x3a\\x5c\\x2b\\x80\\xc0\\x34\\x08\\x30\\xcd\\x3c\\x4c\\x42\\xb8\\xbf\\x2b\\x68\\xcd\\x76\\x91\\xf1\\xf4\\xcb\\xf5\\x0a\\xea\\x10\\x1d\\x3e\\xb6\\x8e\\x7f\\x97\\xb4\\x9f\\x26\\xf0\\x4f\\xa0\\x35\\x5b\\x06\\x2f\\xd9\\xc8\\x77\\xd0\\xf8\\xcb\\xe0\\x51\\xfb\\x5d\\xfc\\x5d\\x85\\x5c\\x43\\x04\\xbc\\x68\\x23\\x71\\x7e\\x87\\x1c\\xfe\\x06\\x96\\x2d\\xe1\\xff\\x05\\xe6\\x7d\\x02\\x5f\\x42\\x68\\xfe\\x0c\\xe1\\x9f\\x45\\xe4\\xe9\\xb4\\x8a\\xf2\\xdc\\x86\\x60\\x36\\x31\\x65\\xc8\\xbe\\x8e\\x61\\xc3\\x30\\xea\\x73\\x14\\x4c\\x77\\x88\\xf5\\xac\\xb0\\x9f\\x26\\xe1\\x91\\xf9\\x69\\xb8\\x5d\\x7a\\x57\\xd6\\x3e\\x29\\x0a\\x5e\\xa4\\x73\\x52\\x14\\xbc\\xd8\\x8e\\xc7\\xfd\\x7d\\x62\\xab\\x4a\\x22\\x6c\\x39\\x05\\x13\\x25\\xdd\\xd8\\x86\\x73\\x7a\\x15\\xfb\\x84\\x77\\xc3\\xb6\\xfc\\x49\\x04\\xd9\\x2b\\x90\\x4b\\x95\\xaf\\x75\\xb9\\x90\\x95\\x8d\\x77\\xa2\\xbf\\x1c\\x0e\\xf4\\x97\\xd1\\x88\\xfe\\xd2\\xeb\\xbb\\x99\\x5f\\x98\\x49\\x86\\x9d\\x98\\x5e\\x62\\x7e\\xc1\\xad\\x68\\x50\\x53\\x61\\xdf\\x32\\x49\\x6e\\xf3\\x79\\x3a\\xc6\\x0b\\x74\\x48\\x36\\x13\\xcc\\x00\\x2c\\xb8\\x4e\\x56\\x15\\x2a\\x33\\x90\\x94\\x34\\x28\\x13\\xba\\x85\\x7e\\x78\\x19\\x3e\\x8e\\x74\\x6c\\x9c\\xe2\\x41\\x84\\xbf\\x94\\xe0\\x1f\\x08\\x63\\xf9\\xd5\\xdc\\x1a\\xd6\\x1f\\x72\\x97\\x17\\x8b\\xe3\\xcc\\x20\\xd1\\x53\\xc4\\x23\\x86\\xb0\\x8b\\x7a\\xfa\\x38\\xd2\\xaf\\x71\\x44\\xae\\xa5\\x11\\x76\\xeb\\x24\\xd2\\x2f\\x7c\\x07\\x18\\x79\\x4f\\xd6\\x3e\\x03\\xf5\\x39\\x9d\\xc4\\xad\\x65\\x84\\xc6\\xaa\\xd0\\x8f\\x24\\x5e\\x95\\xfb\\x2a\\xe4\\xbe\\x30\\x62\\xb3\\xc7\\x12\\x9b\\x5d\\x75\\x27\\xef\\xcd\\x88\\x7d\\x46\\xe3\\x58\\x0c\\xee\\xfd\\x43\\x1c\\x8b\\x5b\\x6e\\x85\\xa3\\x45\\xc2\\x31\\x03\\xf4\\x00\\x9f\\x90\\xf1\\x4d\\x92\\xc6\\x97\\xc7\\xb1\\x42\\xc2\\x31\\x03\\xf2\\x1a\\x20\\xac\\x40\\x32\\x7e\\xa6\\x88\\x78\\x6e\\xe9\\x33\\xf1\\x78\\xae\\x8a\\x78\\x44\\x9f\\x49\\xb2\\xfd\\x33\\x90\\x0c\\xa7\\x13\\x19\\x96\\x45\\xfb\\x31\\xe4\\xde\\x34\\xf2\\x5e\\xb8\\x3d\\xf4\\x8c\\x64\\x1b\\xca\\x23\\x6d\\xae\\x21\\xbc\\x66\\xfd\\x88\\xd7\\x24\\xd2\\x67\\xa3\\xbc\\x4f\\x83\\xd0\\xa7\\x80\\xe3\\x0e\\x11\\x47\\xf7\\x38\\x50\\xc2\\xb1\\x42\\xc4\\x21\\xf1\\x6f\\x91\\xf1\\xff\\x67\\x84\\xa7\\x3f\\xa1\\xa5\\x22\\x92\\x16\\x5d\\x98\\x96\\x6f\\xd0\\x1c\\xfb\\x8e\\xd0\\xd2\\x24\\xa7\\x25\\x5e\\xa4\\xe5\\x63\\xd4\\xcf\\x7f\\x14\\x47\\xd0\\xf3\\x5e\\x84\\x96\\x7e\\xe4\\x80\\x25\\x82\\x30\\x86\\x65\\x48\\xee\\x8c\\x23\\xe3\\xd9\\x4c\\x70\\x6c\\x12\\x20\\x24\\x1c\\x48\\xdf\\xfe\\x43\\x64\\xd8\\x4b\\x58\\x2b\\x54\\xfc\\x7b\\xa8\\x7d\\x1e\\x91\\x61\\xb3\\xd0\\xae\\x23\\x34\\x7d\\x8c\\xec\\x99\\x0c\\x1e\\xd9\\xb3\\xf9\\x02\\xfc\\x25\\x39\\xbc\\x64\\xff\\xaa\\x51\\xbb\\x3c\\x5e\\xfc\\x8e\\x9a\\x27\\xb3\\xc1\\xad\\xa2\\x0d\\x46\\xfa\\xa0\\x03\\x9f\\x11\\x29\\x25\\x9b\\x22\\xf4\\x48\\xa1\\x95\\xc6\\x7f\\x9f\\x20\\xe9\\xd8\\xb0\\x1c\\x79\\x19\\x11\\x98\\xa6\\x08\\x18\\x87\\x4c\\xd6\\xb8\\x86\\x40\\x31\\xfb\\xbd\\x99\\xec\\x71\\x22\\x98\\x35\\x6f\\x93\\x35\\xa3\\x8a\\x5f\\xbd\\x29\\xe8\\x15\\xf6\\x66\\xf0\\x5d\\x5c\\x71\\xe7\\x4d\\x46\\x36\\xc0\\xea\\xc8\\xc1\\x5f\\x14\\x11\\xa2\\x58\\x46\\xd8\\x82\\x71\\x7b\\x2c\\xb2\\xdd\\x17\\x85\\x12\\x6f\\x04\\xc3\\x0f\\x3a\\x9e\\x4d\\xff\\xe7\\xa7\\x42\\xd9\\xb1\\xbd\\xed\\xce\\x3d\\x78\\xbb\\xe5\\xea\\x2b\\x67\\xc8\\x46\\xcb\\xac\\x4d\\xf0\\x7f\\xc9\\x7e\\x03\\x80\\xa0\\x07\\xa2\\xe1\\x5e\\xb6\\x9e\\xdc\\x69\\x65\\x49\\x31\\x1a\\x9d\\x49\\x49\\xb6\\x71\\xc1\\x24\\xc6\\x69\\x66\\xd4\\xe3\\x82\\x8c\\x45\\x7e\\xd3\\x79\\x6c\\x9e\\x74\\xaa\\x41\\x3a\\x75\\x88\\x3f\\x23\\x09\\xbb\\x3e\\xb4\\xc7\\x62\\x06\\xbe\\x64\\x0b\\x4c\\x84\\xcc\\xac\\x0d\\xdf\\xec\\xba\\x63\\x61\\xd9\\xa8\\x45\\x7b\\x1f\\x59\\x77\\x47\\x66\\x12\\x4c\\x73\\x2e\\xed\\xd7\\xba\\x79\\xac\\xfb\\x9e\\xce\\x7b\\x2a\\xa1\\xfe\\x07\\x98\\xbc\\x90\\xfb\\x73\\xfb\\xdd\\xf0\\x5f\\x7b\\x3f\\x59\\x9d\\x7c\\xd0\\x7b\\xe2\\x81\\xc9\\x2d\\xf7\\xc3\\x84\\xa2\\xaa\\x96\\x73\\x8f\\xdd\\xec\\xa2\\x69\\x18\\x80\\x16\\x2e\\xc4\\xbd\\xac\\x3f\\x42\\x64\\x79\\x2f\\x1a\\x73\\xd9\\x1e\\xb1\\x34\\x9f\\x06\\xa3\\x76\\xd9\\x1e\\x31\\x6a\\xff\\x8a\\x87\\x47\\x72\\x9b\\x48\\xec\\x6c\\x2a\\xd1\\xe1\\xd7\\xe8\\x75\\x82\\x5f\\x14\\xd6\\x3f\\x5e\\xf6\\x3f\\x09\\xb2\\xc7\\x30\\xad\\xdc\\x15\\x0c\\x33\\x48\\xf2\\x9d\\x30\\x1e\\x76\\x81\\x32\\x5e\\xc4\\xa3\\x2e\\xa0\\x5e\\x17\\xfc\\xdb\\x78\\xc9\\xa6\\x20\\x3c\\x6c\\x91\\x22\\x5d\\xc4\\xa3\\x2e\\xa3\\x3a\\x05\\x98\\xfe\\xa2\\xbe\\x08\\xf4\\x84\\xf1\\xf8\\x60\\xd7\\xad\\xf0\\x30\\xc5\\x8a\\x64\\x09\\x4f\\x39\\xfc\\x3a\\xf4\\x2b\\x81\\x19\\x28\\xc7\\xc3\\xea\\x65\\x78\\x0a\\xa9\\xc3\\xdd\\xe2\\x11\\x4c\\x0f\\x50\\x4c\\x93\\xf0\\x54\\x50\\x8f\\x87\\xbe\\x27\\x30\\x35\\x11\\xf4\\x1c\\x94\\xe1\\x29\\x92\\xfc\\xf6\\xfc\\x08\\x7a\\x16\\x2a\\x3e\\x93\\xf0\\xf4\\xa2\\x46\\x86\\x7e\\x22\\x30\\x7d\\xc2\\x78\\xf0\\xb8\\x28\\x8e\\x88\\x5e\\x8f\\x51\\x94\\x37\\x9e\\xcb\\x3f\\x60\\x9f\\x55\\xb6\\xee\\x90\\xb1\\x22\\xf3\\xbd\\x1f\\x89\\x63\\x36\\xfd\\x80\\x57\\xe1\\xff\\x50\\xff\\xc3\\x8f\\x4c\\xb9\\x38\\xef\\x31\\x6d\\x6b\\x64\\xb4\\x15\\x4b\\xb4\\x59\\x23\\x68\\x5b\\xae\\xf8\\x56\\xa2\\xad\\x37\\x35\\x42\\x80\\x29\\x8d\\xe0\\x71\\xbd\\x0c\\x8f\\x9f\\x9a\\x71\\x4b\\x3c\\xa3\\x64\\x78\\x2a\\xa9\\x21\\xb7\\xc4\\x23\\xa7\\xa7\\x44\\xa2\\x27\\x26\\x02\\xcf\\x64\\xa2\\x6f\\x3c\\x9e\\x00\\xde\\xbb\\xbe\\x05\\x9e\\x03\\x32\\x3c\\xa5\\xb7\\xc1\\xb3\\x51\\xf1\\x8d\\x84\\xa7\\x0f\\x15\\xec\\x8e\\x87\\xc8\\xfc\\x68\\x37\\x99\\x8b\\xfb\\xc4\\xb4\\x39\\x52\\xe6\\x95\\x78\\x9f\\x18\\xc1\\xfe\\x93\\xc0\\xf2\\x76\\xe6\\xfe\\xaf\\xc9\\x3e\\x71\\x2f\\x79\\xac\\x22\\xdb\\xab\\x46\\x36\\x35\\x5d\\xd8\\x67\\xee\\x94\\xef\\x55\\xa3\\x76\\xf6\\x56\\xfb\\xe9\\x68\\xee\\xec\\x16\\x56\\x40\\xd9\\x1e\\x35\\xde\\x4f\\x27\\xf3\\x6b\\x90\\x00\\xb3\\x8c\\x9f\\x5f\\xf9\\x91\\x7b\\xb3\\xef\\x2a\\x0e\\x4a\\x78\\x0e\\x20\\x7b\\x44\\xd6\\x7d\\x5b\\x24\\x9e\\xd5\\xc4\\x5f\\x19\\x24\\xf3\\x57\\x22\\x62\\x35\\x76\\x13\\x91\\x6b\\x86\\x30\\x47\\xff\\x29\\x5a\\x63\\xf9\\xde\\x3e\\x3b\\x82\\xcc\\xd1\\x41\\xc2\\x1c\\x7d\\x4f\\x90\\x6b\\x8f\\x88\\xd8\\xf3\\x5d\\x19\\x1e\\x1f\\xb9\\xab\\xbb\\x1b\\x1e\\x66\\x8c\\x0c\\x4f\\x39\\x45\\x09\\x78\\xf2\\xe4\\x78\\xd8\\x24\\x19\\x9e\\x42\\xea\\x9c\\x80\\xc7\\x13\\x41\\x8f\\x45\\xb1\\x48\\xc2\\x53\\x41\\x3d\\x1d\\x3d\\xce\\xdd\\xe8\\x29\\xa2\\x16\\x0b\\x78\\x72\\x23\\xe8\\xb9\\x9b\\xe8\\xcb\\x20\\x61\\x8e\\xce\\x16\\xf0\\x64\\x86\\xf1\\xe0\\xb1\\xe5\\xe7\\x28\\xde\\x65\\x33\\x8a\\xb2\\x16\\xe7\\x28\\x65\\x96\\x7f\\x57\\xe8\\xe4\\xbf\\x2b\\x20\\x58\\xa3\\xec\\xbb\\xc2\\x26\\x25\\xd1\\x17\\xaf\\x28\\xf3\\xa8\\x3d\\x52\\x34\\xb6\\x8b\\xbb\\x8d\\x3f\\xde\\x1f\\x8d\\xc5\\xeb\\x9f\\xea\\x7b\\x11\\x86\\xfb\\x18\\xc3\\xc4\\x85\\xc7\\x7f\\x3c\\xea\\x4f\\xb6\\x37\\x2b\\xd9\\xf5\\x74\\xd4\\x2e\\xdb\\x9b\\x45\\xd4\\xc4\\xf1\\x7b\\x26\\xa8\\x7d\\x3f\\x89\\x2b\\x0b\\x22\\xe0\\xe7\\xf1\\xfb\\x43\\xc2\\x1e\\x43\\xb8\\x3d\\x6a\\x7f\\x42\\xa2\\x93\\xca\\x91\\x7f\\x37\\xc3\\xfb\\x13\\x5a\\xfe\\x5d\\x19\\x9d\\x82\\x6a\\x88\\x78\\xd8\\x29\\x64\\x2c\\x0a\\x04\\x1d\\xfb\\x93\\x28\\x67\\xf9\\x3e\\x07\\x5b\\x45\\x74\\xa3\\x56\\xd0\\x31\\x71\\xad\\xc8\\x8a\\xda\\x2f\\x09\\xe3\\xf1\\xc1\\x1f\\x6e\\x85\\x07\\xd1\\x13\\xc6\\x53\\x4e\\xb1\\x02\\x4c\\x8e\\x1c\\x0f\\x1b\\x2f\\xc3\\x53\\x48\\x9d\\x14\\x60\\x0a\\x23\\xe8\\x89\\x21\\x3a\\x56\\x2b\\xe8\\xd8\\x79\\x01\\xa6\\x38\\x82\\x9e\\x83\\x32\\x3c\\xe1\\x75\\xa0\\x32\\x82\\x9e\\x9d\\x44\\xc7\\x6a\\x05\\x1d\\x13\\xed\\x68\\x7a\\x18\\x0f\\x1e\\x97\\x88\\x75\\xa0\\x20\\x72\\x1d\\xf0\\xc8\\xbf\\x7b\\xa2\\xb1\\x12\\x6c\\x12\\x0f\\x5b\\x2b\\xf3\\xff\\xe8\\x54\\x51\\xc7\\x30\\x8f\\x3b\\xb1\\x0f\\x89\\xbf\\x9d\\x92\\x98\\x60\\x02\\xaf\\xaf\\x59\\x11\\x63\\xc7\\xce\\xc6\\x6b\\x0a\\x9c\\xc8\\xc7\\x04\\x93\\x41\\x78\\xe4\\x6e\\x81\\xa3\\x2a\\x74\\xec\\x0f\\x71\\x54\\x3d\\x4d\\x70\\x64\\x44\\xe0\\xc0\\x3a\\xc4\\xe3\\x40\\xfa\\xb1\\x41\\xf8\\xc6\\x14\\x85\\x03\\xeb\\x10\\xc1\\x81\\x61\\x96\\xf3\\x3a\\xe4\\x8f\\xd4\\xa1\\x9d\\x8a\\x03\\x12\\x9e\\x03\\x20\\x8e\\xa7\\x25\\x37\\x9a\\x96\\xa3\\x22\\x2d\\x08\\x86\\xf4\\x24\\xed\\xab\\x20\\x39\\xb3\\x3b\\xd9\\x75\\x3c\\x0e\\x32\\x2f\\x14\\xa2\\x4c\\xd9\\xd9\\x58\\xff\\xf1\\x7b\\x32\\xfd\\xc7\\x7b\\x13\\xb2\\x18\\x59\\x6a\\xdf\\x86\\xda\\x65\\x31\\x72\\x18\\x3e\\x32\\x3e\\x0d\\xcf\\xeb\\xb4\\x30\\x8d\\x7c\\x6c\\xaa\\x95\\x62\\xf9\\xd7\\xe8\\xb9\\xfc\\xbc\\xce\\x0b\\xf3\\x3a\\x1b\\xf1\\xf1\\x3a\\x91\\x7b\\x9b\\x30\\x76\\xf5\\x84\\x57\\x28\\xfb\\x46\\xbf\\x11\\xc1\\xb4\\x20\\x3d\\x48\\x87\\xf3\\x59\\x32\\x76\\xa3\\x49\\x4f\\x92\\xdc\\xa3\\x71\\x54\\x85\\x1e\\xfc\\x43\\x1c\\x55\\x07\\x08\\x8e\\x1e\\x11\\x38\\xc8\\xd8\\xb5\\x09\\xfc\\x04\\x79\\x7e\\xf2\\xa3\\x70\\x60\\x7e\\x08\\x0e\\x0c\\x33\\x95\\xe7\\xc7\\x1f\\xcd\\xcf\\x41\\x09\\xcf\\x81\\xd0\\xfb\\xfc\\x3a\\x95\\x15\\x4d\\xcb\\x51\\x91\\x16\\xea\\x40\\x17\\xdf\\x93\\x44\\x0b\\x1a\\xa3\\xd7\\xc9\\xd8\\xb5\\x09\\x63\\xf1\\x11\\xff\\x1e\\x6a\\x6f\\xc1\\x63\\x81\\xdf\\x23\\xed\\x5f\\xca\\xe2\\xb0\\xa3\\x62\\x1c\\x86\\xf8\\xff\\x92\\xef\\x33\\x26\\x3a\\x0e\\xeb\\x10\\x63\\x0c\\x50\\xf5\\x22\\xe9\\x33\\x41\\xec\\xf3\\xcf\\x08\\x77\\x7f\\x32\\xfe\\x15\\x82\\xbe\\xc0\\xf0\\x7b\\x24\\x26\\x6a\\xe2\\xdb\\x99\\xcc\\x70\\x9f\\x64\\xfc\\x2b\\x04\\x79\\xb5\\xf1\\xf2\\x8a\\x8d\\xea\\x53\\x8a\\x6b\\x30\\xcc\\x02\\x5e\\x5e\\xe9\\x61\\x79\\xf1\\xb4\\x1f\\x94\\xf0\\x48\\xeb\\xba\\x39\\x9a\\xf6\\xa3\\x52\\x7c\\x24\\xec\\x43\\x24\\x8b\\xb4\\x4f\\x43\\x7a\\xf6\\x5f\\x45\\xbe\\x39\\x9d\\x26\\xf3\\x45\\xb9\\x0b\\x74\\x81\\x49\\x51\\x76\\x39\\x1a\\xe6\\x0a\\xf8\\x9e\\x87\\xc9\\xbd\\x3d\\xcc\\x21\\xf0\\x5f\\x04\\x83\\xed\\x57\\x78\\xbf\\x2f\\x1a\\xe6\\x04\\xf8\\x4a\\x80\\x29\\xbc\\x2d\\xcc\\x61\\xd8\\xf3\\x0f\\xf1\\x9c\\x84\\xe9\\xb7\\xc6\\xa3\\x1c\\x22\\xc1\\x3c\\x04\\xa1\\x00\\x33\\xe0\\xb6\\x30\\xa7\\xc0\\x4f\\x02\\xcc\\xc0\\xc8\\x98\\x82\\xac\\x91\\x38\\x26\\x52\\x28\\x77\\x6d\\x06\\xe1\\xd8\\x47\\xd6\\x7e\\x65\\x37\\xdf\\xbe\\x24\\xa2\\x1d\\xc9\\x81\\x7b\\xe7\\x16\\xf0\\x88\\x77\\xa1\\x3d\\x1a\\xfe\\xf0\\x6d\\xe0\\x4f\\xca\\xdb\\x15\\xd7\\x45\\xff\\x56\\xf9\\x50\\x28\\x0d\\x75\\xac\\x3e\\x47\\x53\\x3d\\x81\\xb0\\xc7\\xd7\\x0d\\xe6\\x54\\x77\\x18\\xb0\\x14\\xf1\\x3e\\x97\\xc8\\x70\\x0a\\x3f\\xee\\x30\\x83\\x8c\\x29\\x94\\x8d\\x69\\x34\\xcc\\x15\\xa8\\xe7\\x61\\xf2\\x6e\\x0f\\x73\\x48\\x18\\x0b\\x0a\\x86\\xc7\\x22\\x1a\\xe6\\x04\\x34\\x09\\x30\\x45\\x11\\x30\\x0b\\x64\\x30\\x87\\x61\\xd5\\x2d\\xf1\\xac\\x93\\xc1\\x9c\\x84\\xb5\\xd1\\x78\\x42\\x9d\\xd8\\x9f\\x23\\x72\\xcb\\xe0\\xf9\\x22\\x79\\x2a\\xca\\xb3\\xd0\\x0e\\xa4\\xbb\\x1a\\x1e\\x46\\xf3\\xe6\\x20\\x7b\\xd5\\xe8\\x45\\x30\\xaf\\xf0\\x9c\\x85\\x12\\xe4\\x50\\xa1\\x10\\x57\\x12\\x85\\xe7\\x50\\xd7\\x3d\\x08\\x42\\xdb\\x01\\x29\\x98\\x40\\x84\\xc8\\xe3\\xe2\\x1a\\xa3\\xe0\\x4e\\x10\\x38\\xbc\\xe7\\x9a\\x20\\xca\\xba\\x1b\\xae\\xc3\\xb7\\x80\\x89\\xc6\\x73\\xb2\\x3b\\x0c\\xa8\\x46\\x73\\x79\\x08\\xe1\\x7f\\x9a\\x30\\x66\\x29\\xfc\\x78\\xc8\\xce\\x30\\x45\\xc3\\x5c\\x81\\x99\\x3c\\x4c\\xda\\xed\\x61\\x0e\\xc1\\x78\\x41\\x8e\\x61\\x1f\\x2a\\x1a\\xe6\\x84\\x04\\x93\\x7d\\x5b\\x98\\xc3\\xd0\\xf6\\x87\\x78\\x4e\\x4a\\x30\\x91\\x78\\x9e\\x21\\xf3\\x70\\x9a\\x30\\x57\\x45\\xfd\\xe8\\x15\\x01\\xf3\\x17\\x19\\xcc\\x29\\xe8\\x15\\x60\\x7a\\x47\\x8c\\xfd\\xcb\\x44\\x86\\xe4\\xcc\\x02\\x3f\\xf6\\xa8\\xfd\\x83\\xa8\\xf6\\x2b\\x7c\\x3b\\x19\\x17\\x79\\x3b\\x19\\x63\\xd4\\x3e\\x27\\xaa\\xfd\\x44\\xd7\\xd1\\x5b\\xc2\\x1f\\x16\\xe0\\x1b\\xa3\\xda\\x4f\\x0a\\xed\\x2d\\xe4\\x1b\\xed\\x75\\xbe\\x1d\\xf3\\xd5\\xd5\\x21\\x8c\\x69\\x9e\\x34\\xee\\xd1\\x30\\xa7\\xba\\xc3\\x80\\x4f\\x90\\xde\\x6b\\x89\\x0c\\x67\\x08\\x36\\xfa\\x1a\\x3f\\xa6\\x32\\x1f\\x3f\\x1a\\xe6\\x0a\\x78\\x8f\\x87\\x89\\xbf\\x3d\\xcc\\x21\\x70\\x5d\\x90\\x61\\xf8\\xdb\\x60\\x34\\xcc\\x09\\xf0\\x2f\\x01\\x26\\x39\\x02\\xc6\\x22\\x83\\x39\\x0c\\x3e\\xb9\\x25\\x9e\\x18\\x19\\xcc\\x49\\xf0\\x8f\\x5b\\xe2\\x59\\x4f\\xc6\\x94\\x87\\x79\\x08\\xfc\\x5d\\x80\\x29\\xb8\\x2d\\xcc\\x29\\x09\\xc6\\x17\\x31\\xee\\x07\\x89\\xfc\\x73\\xba\\x8d\\xbb\\xbc\\x5d\\x3e\\xee\\xf2\\xf6\\x43\\xb2\\x71\\x94\\xb7\\x9f\\x10\\xda\\xa3\\xe1\\x0f\\xdf\\x06\\x5e\\x3e\\xee\\x07\\xc9\\x98\\xf2\\xed\\x64\\xdc\\x6f\\xd1\\x7e\\x8a\\x6f\\x17\\x62\\x91\\x7c\\xd1\\xf7\\x47\\xf3\\x3a\\x86\\x5f\\x5f\\x3d\\xa6\\xa8\\xf8\\x29\\x0c\\x73\\x85\\xcc\\x23\\x04\\x93\\x7a\\x7b\\x18\\x71\\x5e\\xcb\\xe3\\xd4\\x68\\x98\\x13\\x12\\x4c\\xd6\\x6d\\x61\\xc4\\x79\\xfd\\x7b\\x78\\x4e\\x4a\\x30\\x61\\x3c\\x1e\\x1c\\x87\\x11\\xf9\\x14\\x08\\xe3\\x42\\xce\\x22\\x81\\xca\\xa8\\xf6\\x2b\\x7c\\x3b\\xb7\\x3f\\xaa\\xfd\\x50\\xd7\\xaf\\xa4\\xbd\\x33\\xaa\\xfd\\x04\\xdf\\x1e\\x02\\x51\\xed\\x87\\xb1\\x84\\x51\\x7b\\x74\\xbf\\x27\\xf9\\x76\\xb0\\x0a\\xb5\\x8f\\x23\\x3a\\xb9\\x58\\x98\\x47\\x1c\\x3f\\x47\\x12\\xc3\\x32\\x8c\\x86\\xb9\\x02\\x6e\\xf0\\x30\\x49\\xb7\\x87\\x39\\x44\\x7c\\x26\\xac\\x93\\xa9\\x12\\xef\\xd1\\x30\\x27\\x04\\x7f\\x88\\x12\\x0c\\xf1\\xad\\x60\\x0e\\xc3\\x9c\\x3f\\xc4\\x73\\x52\\x82\\x89\\xc4\\xc3\\xdb\\xcf\\xc5\\x51\\xf6\\xd3\\x7f\\x5b\\x98\\x53\\x12\\x4c\\x89\\x34\\x8f\\x96\\x60\\x7f\\x92\\xc8\\xad\\x82\\x1f\\x97\\xae\\x6f\\x45\\x3d\\x8f\\x68\\x17\\xe6\\x45\\xd7\\xcf\\x51\\xed\\x27\\xbb\\x0a\\x08\\xfc\\x28\\xe2\\x97\\x5e\\x97\\xda\\x4f\\xf1\\xf6\\x13\\xc4\\x23\\x1a\\x1e\\x27\\xbc\\x2c\\x8f\\xd0\\x73\\x61\\xf9\\xbe\\x25\\x8c\\xa8\\xe7\\xb0\\xf8\\xf6\\x30\\xe1\\xf5\\xab\\x5c\\xe2\\x37\\x1a\\x26\\xbc\\x7e\\x55\\xdc\\x16\\xe6\\x30\\x59\\x2b\\x7f\\x1f\\xcf\\x49\\x09\\x26\\x12\\x0f\\x2f\\xdb\\xe5\\x51\\xf2\\x1f\\x71\\x5b\\x98\\xb0\\xfc\\x47\\x4a\\xf2\\x7f\\x1b\\xd9\\x87\\x8b\\x58\\x9e\\xf4\\x58\\xf9\\x7c\\xe9\\xd6\\x2e\\xcd\\x97\\xa8\\x76\\x71\\xbe\\xe0\\x33\\x13\\x17\\xf0\\xb9\\x1f\\x7a\\x6c\\x88\\x1f\\xaf\\x5f\\xf8\\xf9\\x12\\x05\\x2f\\xcd\\x97\\xa8\\x76\\x61\\xbe\\x84\\xac\\xb8\\x1d\\x8f\\xa3\\xd0\\xfe\\x10\\x37\\xe3\\x96\\xed\\xa7\\xf8\\x76\\xc1\\x2f\\x57\\x4a\\xfe\\x74\\x27\\x38\\x0e\\xc0\\xad\\x62\\x09\\xbc\\x5f\\x49\\x60\\x14\\x74\\x89\\x3b\\x72\\x2f\\x81\\xf7\\x15\\x95\\x92\\x8f\\xd7\\x09\\xde\\xe5\\x63\\xa3\\x68\\xbf\\x94\\xe0\\x98\\xc2\\xe3\\x98\\x20\\x83\\x90\\x7c\\x0e\\xa5\\xe4\\x2b\\x74\\x82\\x0f\\xbb\\x9d\\xf5\\x26\\x30\\x04\\xc7\\x34\\x1e\\x47\\x83\\x0c\\x42\\x5a\\x07\\x95\\xd2\\xba\\xd3\\x09\\x1e\\xe4\\x71\\x44\\xaf\\xb9\\x04\\xc7\\x0c\\x1e\\x47\\xac\\x0c\\x42\\xb2\\x91\\x4a\\xc9\\x46\\x76\\x82\\xb7\\x79\\x79\\x44\\xdb\\x75\\xb2\\x7f\\x5b\\x2b\\x97\\x87\\x47\\xc4\\xc1\\xcf\\x7f\\xa5\\x34\\x6f\\x3b\\xf1\\x0d\\x14\\xb7\\xb2\\x59\\x84\\x8e\\xc5\\x3c\\x8e\\x78\\x19\\x84\\xa4\\xc3\\x4a\\x49\\xf7\\x3a\\xc1\\xd3\\xf2\\xd3\\x67\\xe1\\x39\\x45\\x70\\x2c\\xe7\\x71\\x94\\x47\\x9e\\x4f\\x9b\\x86\\xe4\\x25\\xc5\\x5c\\x46\\x2f\\xb2\\x9d\\xbf\\x82\\x49\\x26\\x25\\xad\\xa0\\xfa\\x75\\x1f\\xe3\\x28\\xd8\\x2b\\xe0\\x87\\x3f\\x80\\xcd\\x94\\x60\\x0f\\xa1\\xd8\\xb2\\x59\\x82\\x8d\\x8a\\xfb\\xa2\\xf0\\x9e\\x88\\xc0\\xfb\\xfb\\xb0\\x87\\xa1\\xe5\\xff\\x0c\\x7b\\xf2\\x8f\\x60\\xc5\\x98\\x11\\xc1\\x3e\\x04\\x7e\\x8e\\x82\\xed\\x7f\\x5b\\xd8\\x53\\xe0\\xdb\\x28\\xd8\\x01\\xb2\\xef\\x0d\\x0d\\xb2\\x78\\x2f\\x5d\\xb9\\xeb\\x00\\x9a\\x59\\x08\\x72\\x1a\\x10\\xe2\\xcd\\xa8\\xe7\\x57\\xa2\\x9e\\x2f\\x89\\x78\\xee\\xe5\\xe3\\x4e\\x11\\xa2\\xdb\\xfb\\x5e\\x3e\\xfe\\x94\\x3d\\x8f\\x7e\\xff\\xf0\\x1f\\xbc\\x7f\\xf2\\x56\\xcf\\xc5\\x98\\x13\\xcb\\x25\\x94\\xf6\\xbb\\xcf\\x4f\\x45\\x3e\\x07\\x79\\xf2\\x38\\x01\\xeb\\x17\\x8e\\x35\\xb1\\xac\\xc4\\xb3\\x15\\xb2\\xb9\\x1b\\x0d\\x7b\\x05\\xdb\\xd2\\xff\\x23\\xec\\x21\\x48\\xcb\\x60\\x35\\x28\\x9e\\x0b\\xfb\\x34\\xd1\\xb0\\x27\\x40\\x28\\x0a\\x36\\x2b\\x02\\xb6\\x5a\\x06\\x7b\\x18\\x26\\xff\\x2e\\x5e\\x39\\xec\\x49\\xe8\\xfe\\x5d\\xbc\\xcf\\x2b\\xfb\\x49\\xb0\\x0f\\x21\\x98\\x96\\x08\\xd8\\x8a\\x08\\xd8\\x0b\\x62\\x4c\\x84\\x65\\x1a\\x21\\x33\\x0c\\xdb\\x2b\\xec\\x23\\x93\\x33\\x99\\x62\\x8c\\xe2\\xe5\\x7d\\x64\\x22\\xff\\xc9\\xbc\\xaf\\x1c\\xf5\\xfc\\x4a\\xe4\\x73\\xae\\x24\\xea\\x39\\xf1\\x99\\x65\\xcf\\x1b\\xa3\\x9e\\x9f\\x88\\x7a\\x1e\\xfd\\xfe\\xe1\\x3f\\x78\\xff\\x64\\xd4\\xf3\\x00\\x7e\\x2e\\xc6\\x49\\x58\\x2e\\x7f\\xf0\\xfc\\x54\\xe4\\x73\\x10\\x8f\\x9e\\x4b\\xeb\\x38\\xd1\\xaf\\x18\\x61\\x2e\\xce\\xe1\\x75\\x46\\x96\\xcb\\x10\\x0d\\x4b\\x7c\\x10\\x39\\x6c\\xd1\\xed\\x61\\x89\\x2f\\x22\\xc1\\xe2\\x31\\x28\\x0b\\xfb\\x00\\x51\\xb0\\x27\\xba\\xc1\\x96\\xdf\\x16\\xf6\\x30\\xf4\\xfd\\x9f\\xf1\\x9e\\xec\\x06\\x1b\\x89\\x57\\xf2\\x43\\x88\\x7e\\x99\\xa2\\x60\\x87\\xdf\\x16\\xf6\\x54\\x37\\xd8\\x11\\x61\\xdf\\x05\\xc1\\x86\\x7d\\x08\\x2f\\xef\\xbb\\x10\\xf9\\x2f\\xe6\\x7d\\x98\\xa8\\xe7\\x57\\x22\\x9f\\x73\\xfb\\xa3\\x9e\\x13\\x5f\\x46\\xf6\\xbc\\x33\\xea\\xf9\\x89\\xc8\\xe7\\x21\\x10\\xf5\\x9c\\xf8\\x36\\xb2\\xe7\\x9e\\xa8\\xe7\\x27\\xa3\\x9e\\x5b\\xf1\\x73\\xc9\\xa7\\xf1\\xf2\\xbe\\xce\\xef\\x3c\\x3f\\x15\\xf9\\x5c\\xf0\\x6b\\x3a\\x44\\xbf\\x86\\x7c\\x27\\x96\\x7f\\xdf\\xe0\\x9f\\xd7\\x8a\\xbe\\x11\\x7f\\xd6\\x0c\\x43\\x64\\x46\\xaf\\x85\\x4a\\x69\\xbd\\xe8\\x04\\x0f\\x61\\xd8\\xdb\\xaf\\x9b\\xf8\\x5b\\x04\\x81\\x15\\x60\\xc4\\x76\\xd1\\xbf\\x42\\x1e\\x60\\x49\\xca\\x2d\\x30\\x48\\xf4\\x1c\\x95\\xe8\\x15\\xbe\\xf7\\xf6\\x8c\\x58\\xef\\xc5\\xe7\\xe2\\x19\\xbd\\x30\\x9e\\x0c\\xf9\\x39\\x82\\x76\\xb2\\x7f\\x2e\\x7e\\x1f\\xcf\\xe7\\xf3\\xa8\\x64\\xfb\\xe7\\xfc\\x7e\\x64\\x8b\\x04\\xb3\\x05\\x14\\xf3\\x79\\x06\\x86\\x68\\x18\\xa5\\xb4\\xdf\\xd9\\x19\\x9a\\x2e\\xdb\\x07\\xfd\\x49\\x6c\\xa7\\x4b\\xb8\\xc5\\xb2\\xf5\\x48\\x3a\\xab\\x22\\xe8\\x24\\x84\\x33\\x99\\x8d\\xd4\\x62\\xf6\\x2a\\xd0\\x00\\xed\\x39\\x76\\x2d\\x6a\\xaa\\x24\\x69\\xb0\\x4a\\xfe\\x66\\x71\\xbf\\xc7\\x4f\\x2d\\x36\\x18\\xfc\\xfe\\x35\\xfe\\x0a\\x65\\x83\\x9b\\xbd\\x3a\\xbc\\x66\\xbe\\xdf\\x37\\xcc\\xf3\\x28\\x39\\xa3\\xd3\\xc6\\x35\\xc0\\xea\\xd0\\x3a\\x10\\x03\\xe2\\x02\\x7a\\x5c\\x9a\\xb3\\x26\\x08\\x94\\x46\\x25\\xa5\\xd4\\x81\\xbc\\xd7\\x9b\\xf9\\x92\\x79\\x16\\x79\\x89\\x3f\\x9f\\xf2\\xb7\\x34\\x83\\xdb\\x9e\\x93\\xb1\\x88\\x4d\\xd8\\x10\\xcb\\xfd\\x3b\\x49\\x31\\x4f\\x3b\\xdd\\x16\\x7f\\xf7\\x2a\\x10\\x45\\x8b\\xe6\\xac\\x1a\\xb0\\x20\\x8f\\x64\\xc0\\xfe\\x1f\\x48\\xc1\\xf5\\xc7\\x99\\x33\\xf4\\x0c\\xf6\\x59\\xe0\\x00\\xd6\\x0b\\x16\\x9d\\x9a\\xd5\\xad\\x35\\xc9\\x73\\x59\\x61\\x4a\\x2e\\x25\\xdd\\xd4\\x94\\x48\\x21\\x9a\\x7c\\x31\\x14\\x35\\x2b\\x6b\\xd8\\x80\\x40\\x92\\xbf\\xaf\\xb5\\x31\\x73\\x6d\\x7d\\xce\\xf0\\xfe\\xbd\\x13\\xa7\\xa4\\x37\\xa5\\xf4\\x6d\\x64\\xce\\xa4\\xf5\\x48\\xeb\\x5d\\xba\\x7d\\x0d\\xfa\\x67\\xc9\\x8c\\x29\\x15\\x80\\x06\\xaf\\x32\\x2f\\xd0\\xed\\x8a\\x3f\\xa1\\xdf\\x94\\x20\\x11\\xa4\\x05\\x8c\\x4e\\xab\\x49\\x05\\x59\\x55\\x1c\\x8b\\x7e\\xf4\\x56\\x9c\\xa6\\xea\\xbb\\x5a\\x20\\x66\\x9b\\x1a\\xf9\\x4e\\x85\\x64\\xeb\\x5b\\x75\\x0e\\xa9\\x2a\\x9c\\x8b\\x74\\x3d\\xf5\\xd1\\x54\\x98\\x9d\\xde\\xbf\\xb2\\x2c\\xc1\\x57\\x6e\\x1e\\xe5\\x5d\\x38\\x2c\\xa3\\x7f\\x65\\xa9\\xb3\\x31\\x75\\x94\\xb7\\x8d\\xb9\\x7c\\xf1\\x22\\x44\\xff\\xd3\\xa4\\x64\\xa4\\x94\\x14\\xb6\\xb7\\xa1\\x7f\\x66\\xad\\x9f\\x27\\xad\\xbb\\x4a\\x69\\x1d\\xeb\\xc4\\x27\\x2c\\x7f\\x6f\\x3d\\x27\\x7a\\x3f\\x8d\\x1f\\x77\\x18\\x1b\\x6e\\x17\\xfd\\x79\\xac\\xf7\\x53\\x6f\\x81\\x41\\xf0\\xfb\\x37\\x11\\xbd\\x9e\\xc6\\xeb\\xbd\\x26\\xf2\\x7b\\x58\\x9e\\xfc\\xb9\\xd1\\xcb\\x63\\x90\\xe0\\x28\\x31\\xc6\\x08\\x9d\\x25\\x67\\x2a\\x94\\xe2\\x59\\x0e\\x65\\x27\\x97\\x4d\\xf4\\x92\\xb4\\x13\\x7d\\xcd\\xe0\\xf5\\xb5\\xab\\x41\\x6a\\x7f\\x99\\xc0\\x67\\x77\\x83\\x7f\\x99\\xc0\\x67\\xcb\\xe1\\x65\\x39\\x14\\xd9\\x82\\x7e\\xcf\\x05\\x38\\x7f\\xe9\\x21\\xa4\\x53\\x37\\x90\\x4e\\xb1\\xc0\\x08\\x4c\\x4f\\x52\\x94\\x76\\xad\\x91\\x45\\x4a\\x7e\\x19\\xe7\\x49\\x63\\xe5\\xf2\\xd0\\x7e\\x9f\\x5b\\xa6\\x62\\x37\\xe8\\xf9\\x1b\\xe9\\xeb\\xdc\\x5b\\x61\\x4d\\x63\\x8e\\xeb\\x60\\x62\\x4c\\x58\\xdb\\x08\\x4e\\x3a\\x5f\\xc2\\xc9\\x30\\x08\\x27\\x94\\xe1\\xf4\\x29\\x69\\x8f\\x9f\\x96\\xe1\\x1c\\x72\\x9d\\xfe\\x71\\x3e\\x9d\\x20\\x57\\xde\\x18\\xee\\x5f\\x3a\\x98\\x2c\\x21\\xa5\\xc0\\x31\\x66\\x05\\x7d\\x4c\\x71\\x1d\\xc4\\x02\\x0f\\xf0\\x04\\x8c\\x29\\x1e\\x13\\x9a\\x01\\x3a\\x0f\\xd0\\xe9\\x80\\x87\\xb6\\x25\\xa2\\xb9\\x20\\x54\\xd7\\x33\\x5e\\x16\\xea\\x87\\x44\\xe9\\x14\\xbe\\x74\\x8c\\xc2\\xd5\\xff\\xc5\\x5e\\x4f\\x67\\x8d\\x18\\xd8\\x37\\xc9\\x1f\\xb0\\x36\\x7a\\x57\\x8d\\xc9\\xa9\\x1e\\xd4\\x27\\xb1\\xb8\\x97\\xb9\\x29\\x29\\x30\\x76\\x93\\xc1\\x58\\x58\\x42\\x08\\x49\\x66\\x6f\\xb8\\x52\\x5d\\x85\\xa5\\x77\\x2c\\x49\\x4a\\x4b\\x2a\\x2a\\x19\\xdf\\xea\\xcf\\x19\\x5e\\x37\\xbb\\x94\\x90\\x24\\xc5\\x6b\\x1d\\x62\\xbc\\x46\\xdd\\xff\\x14\\x7f\\x6a\\x37\\x22\\xe6\\x23\\x36\\x7a\\x06\\x6f\\xa3\\xc1\\x17\\xbc\\xf6\\xd8\\xa2\\xf7\\x50\\x7f\\xe6\\x61\\x70\\x3e\\xda\\xcb\\x7c\\x44\\x75\\x1f\\xf2\\xed\\x2d\\x01\\x1d\\xed\\x0e\\x58\\xe2\\x06\\xb9\\x03\\x6a\\xe3\\x20\\x37\\x30\\xe1\\x13\\xc9\\xd2\\x3b\\xd7\\xc3\\xef\\xbc\\x46\\x46\\x1a\\x58\\xc1\\xb7\\x12\\xce\\xe1\\x44\\xe7\\x78\\xba\\x0e\\xbc\\x15\\x79\\xe6\\x16\\x3f\\x6f\\x50\\xfc\\x49\\x8a\\x45\\xf7\\x82\\x77\\xc4\\xf3\\xcc\\xfc\\x59\\x58\\xe1\\x9c\\x23\\x39\\x2f\\x42\\xce\\x83\\xe6\\x00\\xf1\\xac\\xd2\\x0f\\x91\\x67\\x4a\\x05\\x98\\x16\\x09\\x66\\x0b\\xa0\\xf8\\x7c\\x4f\\x7d\\xd8\\x16\\x9f\\x26\\x30\\x4a\\x69\\x9f\\xb2\\x93\\x23\\xdf\\x2d\\x43\\x3f\\x93\\xfd\\xce\\x9f\\xc4\\x76\\xa4\\xab\\xfb\\x89\\x4e\\xbe\\x88\\x74\\xf2\\x6b\\x41\\x7f\\x2c\\x17\\x28\\xca\\xa8\\xd2\\xe1\\xcc\\x7b\\x64\\x79\\x7d\\x3e\\xb9\\x56\\x7a\\x94\\x56\\x87\\x07\\x97\\x37\\xa0\\xbe\\xa6\\xe6\\x6f\\xa4\\xae\\x73\\x57\\x93\\x1b\\xa8\\xde\\x6b\\x32\\x13\\x78\\x95\\x7c\\xd4\\xde\\xb3\\xb1\\xef\\x80\\xdc\\x5d\\x22\\x4e\\x3a\\x4f\\xc2\\xc9\\x30\\x3a\\xa3\\x6e\\x2d\\x24\\x38\\x2f\\x9b\\xe5\\x5a\\x19\\xc6\\x39\\xf8\\x3a\\xf5\\xe3\\x7c\\x2a\\x59\\x40\\x29\\xaa\\x64\\x18\\x69\\xa4\\x4e\\xa6\\x05\\x4c\\xce\\x48\\x9d\\xfc\\x53\\x12\\xae\\x36\\xf0\\x7f\\xd3\\xca\\x70\\xaf\\xb7\\xd5\\xca\\xad\\x22\\x21\\xdd\\x54\\x32\\x4c\\x92\\x14\\xbb\\x77\\x88\\xb1\\xbb\\xe0\\x37\\x84\\xf7\\x10\\xf8\\xe7\\xb5\\x62\\xfc\\x2f\\xf9\\x0d\\xf2\\x7d\\x7d\\x7e\\x8f\\xe0\\x67\\x1e\\x06\\xeb\\x17\\xe4\\x75\\xf2\\x7d\\x41\\x27\\xd3\\xb1\\x4e\\xa6\\x63\\x9d\\x4c\\x97\\x74\\x92\\x7f\\xe7\\xba\\xfc\\x1d\\xa2\\x93\\xfd\\x79\\x9d\\x0c\\xfd\\x13\\xd9\\x1f\\x7e\\xdf\\x71\\xbe\\xb0\\x57\\x67\\xe1\\xf7\\x9b\\xc3\\xdf\\x91\\xba\\xc1\\x5c\\x81\\x3a\\x1e\\x26\\x3d\\x92\\x36\\x72\\xae\\x4c\\xe0\\x4f\\xf8\\xfe\\x9c\\x22\\xe7\\xef\\x6e\\xa2\\xdb\\xfc\\xfe\\xc6\\x5e\\x68\\x14\\x75\\x3b\\x59\\xae\\xdb\\x51\\xdf\\xba\\xd5\\x83\\x49\\x4d\\x56\\x84\\x49\\x1d\\xd6\\x6d\\x1e\\xa6\\x45\\xfa\\x1e\\x2e\\xe9\\xb6\\x26\\xac\\xdb\\x64\\x8f\\x93\\xe8\\x36\\xbf\\x37\\xd9\\xc9\\xef\\x71\\x86\\xe6\\x90\\xbd\\xcc\\x9f\\xc4\\x76\\xa4\\xdb\\x16\\xe9\\x1b\\x02\\x9f\\x73\\xe9\\x0b\\x7f\\x43\\x40\\xab\\xe6\\x3c\\xe6\\x2d\\x7a\\x26\\xfb\\x09\\xfa\\x0d\\x67\\x46\\x3a\\x02\\x1a\\x4a\\x07\\x75\\x77\\x35\\xaa\\xb5\\x0a\\x5c\\x4a\\xc3\\xf7\\x86\\x50\\xd9\\xda\\xe3\\xf7\\xb1\\x44\\xfb\\x91\\xb2\\xfa\\xe8\\x81\\x27\\x52\\x4f\\x70\\x3f\\xd2\\x8b\\xb6\\x53\\x67\\xbf\\x43\\xbf\\x32\\x6f\\x3d\\x7d\\x42\\x0f\\x95\\x3a\\xee\\xeb\\xa7\\x7f\\x0f\\x27\\xab\\x55\\x45\\xe3\\x4c\\x23\\xda\\xaf\\x94\\x70\\x3e\\x76\\x96\\xfa\\x7e\\x11\\x5d\\xc9\\xe3\\x0c\\xea\\xb8\\xff\\xea\\xf5\\x4f\\xf3\\x3e\\xc8\\x26\\xe6\\x79\\x6a\\xba\\x42\\x89\\xe6\\x91\\xe6\\x2c\\xbd\\x96\\x94\\xed\\xc0\\xd9\\xe4\\xb8\\x36\\x0b\\x15\\xbb\\x4b\\xf9\\xa6\\x4e\\xc1\\x3c\\x0f\\x93\\xd3\\xb8\\x6b\\x6e\\x20\\x8b\\x67\\x94\\x92\\xcf\\xdf\\x09\\x4e\\x09\\x3e\\xe8\\x6d\\x62\\x1f\\x66\\xa4\\x00\\x2b\\xc0\\x88\\xed\\xe2\\x5e\\x12\\x5e\\x8b\\x07\\x45\\x60\\x28\\x8e\\xd8\\x97\\x22\\xba\\xb1\\x5c\\xae\\x1b\\xa5\\xd2\\x73\\x82\\xe7\\xa8\\x88\\x47\\xf2\\x41\\x05\\x3c\\xe2\\x99\\x8f\\xd0\\x57\\x78\\xbf\\x9f\\x8c\\x69\\x81\\x60\\xaf\\xf8\\x98\\xf6\\x67\\xf2\\x1d\\xe0\\x27\\xb1\\x9d\\xb7\\x57\\xe2\\x7e\\x2a\\xe1\\x71\\x6c\\x04\\x3c\\xbf\\xcf\\xfa\\x93\\xd8\\x1e\\x86\\x27\\xb1\\xc3\\x58\\xa9\\x9d\\xf8\\xfc\\x48\\xb6\\xf3\\x99\\x27\\xa8\\xff\\xb2\\xcf\\x47\\xc9\\x16\\xd7\\xa5\\x61\\xd1\\xb3\\x8e\\x37\\x59\\xee\\x1a\\xf3\\x84\\x15\\xd2\\xae\\x5f\\xc5\\xb1\\xd8\\x48\\xcd\\x20\\xfe\\xa0\\xbe\\x03\\x97\\x44\\x41\\xe6\\xac\\x20\\xfe\\x0d\\x62\\x1f\\x25\\x7b\\x32\\x43\\xb2\\x5f\\x32\\x73\\x08\\x60\\xe8\\x5d\\xee\\x1b\\x90\\xc5\\x2a\\x91\\x6e\\x98\\xce\\x43\\x8a\\x62\\xd0\\xdb\\xc8\\x4e\\x41\\x62\\xa5\\x2c\\x26\\x8f\\x29\\xab\\x8e\\x55\\xfe\\xf7\\x0b\\x05\\xae\\xca\\x15\\x4a\\x46\\xb0\\x1f\\xb3\\x77\\x20\\x3f\\x76\\x40\\x20\\x45\\x0b\\x34\\x3a\\x9d\\x16\\x28\\x18\\xc0\\x32\\x34\\x34\\xe8\\x69\\x2d\\x8b\\x3c\\x45\\x15\\xcd\\xaa\\x54\\x2c\\x4d\\x43\\xb5\\x12\\xe9\\x56\\x9e\\xcf\\x2c\\xd8\\x3d\\xe1\\x07\\xfa\\x1c\\x05\\xb2\\xd2\\xaf\\x16\\x8f\\x49\\xe9\\xf5\\x7b\\xfd\\x0e\\xbf\\x43\\xe9\\x50\\x7a\\xb3\\xea\\xd6\\xf8\\x8f\\x1e\\x15\\xfe\\xb7\\x86\\xfb\\x86\\x0d\\xae\\xf5\\x1f\\x79\\xbc\\xe4\\xd8\\xb1\\x92\\xc7\\x8f\\xf8\\xd7\\xf2\\xf4\\xfe\\x0f\\xf7\\x0d\\x3c\\x87\\x68\\xd0\\x80\\xfc\\x80\\x4d\\x4d\\xb1\\x40\\x45\\xd3\\x68\\x8a\\x29\\xb4\\x8c\\x12\\xa2\\x1f\\x85\\x46\\x01\\x48\\x0d\\x3a\\xd2\\x29\\x32\\xae\\x05\\xe2\\x45\\xf1\\xa4\\xd0\\x8b\\xdf\\x83\\x58\\x72\\x7b\\xfd\\xf0\\xdc\\x3f\\xfc\\x1b\\x7e\\xa9\\x85\\x43\\x36\\xf8\\x99\\xa3\\x1f\\xf8\\x57\\xfd\\x3a\\x9b\\xfd\\xd7\\xaa\\x12\\x5c\\xab\\x65\\x18\\xe2\\x31\\x83\\xe0\\xcf\\x09\\x58\\x54\\x8c\\x42\\x4d\\xd3\\x0a\\x05\\x80\\x5a\\x96\\x56\\xd3\\x6a\\x48\\x98\\x22\\xd8\\x65\\xc8\\x31\\x6e\\xc4\\x89\\x07\\x17\\x5e\\x71\\x28\\xdd\\x19\\xb5\\xbf\\x6c\\xf0\\xff\\x03\\xe1\\x87\\x43\\x10\\x0b\\xbb\\x57\\xf9\\x3f\\xf8\\xb0\\x84\\xcf\\xa7\\xbe\\x07\\xbe\\xc0\\x64\\x50\\xc3\\x8c\\x0a\\xe5\\x5f\\xba\\xb0\\x2f\\x7e\\x3f\\xfa\\xff\\xd9\\xd4\\x30\\x24\\x7b\\xdd\\x79\\x08\\x9e\\x0a\\xc2\\x4b\\x80\\x5c\\xf4\\xe3\\x77\\x2b\\xef\\x8f\\xa7\\x97\\xc6\\xc3\\x17\\x36\\x6f\\xc6\\x3c\\x7f\\x86\\xe0\\xfe\\xd1\\x1d\\x8e\\x46\\x70\\xce\\x78\\xe6\\xe3\\xff\\x47\\x38\\x2a\\x54\\x89\\xf7\\x8d\\x42\\x1b\\x88\\x8f\\xde\\x23\\xa0\\x63\\xd8\\x67\\x82\\x80\\x31\\x32\\x54\\x1c\\xcd\\x5c\\x0c\\xfd\\x29\\xa0\\xd3\\x1b\\x07\\x31\\x10\\xa0\\x46\\x08\\x11\\xbf\\xf3\\xb3\\x41\\x6c\\x5e\\xf6\\xb8\\x96\\x66\\x84\\x4a\\x89\\x6f\\xfc\\xc4\\xe4\\x59\\x98\\x77\\x2d\\xbf\\x51\\xf8\\xef\\x6b\\xad\\xad\\xaf\\xb7\\xb6\\x12\\x3d\\xbc\\x4a\\xb7\\xd0\\x3f\\x21\\x3d\\xc4\\xfd\\xd3\\xf0\\x40\\x23\\x0d\\x48\\xff\\x6a\\xe8\\x86\\xf4\\x4f\\xdc\\x3f\\xb8\\x9f\\xe1\\x29\\xf6\\x6a\\xd7\\xdd\\x68\\x9e\\x41\\xf8\\x06\\x82\\xfd\\x45\\x80\\x85\\xf4\\x81\\x46\\x18\\x86\\x85\\x6f\\xa0\\xbf\\xd4\\x5c\\x0d\\xdd\\x42\\xcd\\xe9\\xba\\x1b\\xc9\\xe9\\x04\\xb7\\x97\\x7a\\x0f\\xd2\\x08\\x56\\xcf\\xc3\\x32\\xc0\\xf8\\x12\\x16\\x14\\x82\\x3b\\x01\\x53\\x10\\x6c\\x35\\x82\\x20\\xb0\\x54\\x7f\\x84\\x77\\x8d\\x80\\x97\\x02\\x07\\x1a\\x29\\x1e\\x2f\\xae\\x6c\\x47\\x33\\x9d\\x50\\xdd\\x53\\xc0\\x8a\\xd7\\xed\\x6f\\xe9\\x16\\xe6\\x2f\\x04\\x56\\x09\\xac\\x01\\x35\\x0b\\x31\\xd1\\x4a\\x4c\\xb5\\x4f\\xbc\\xc1\\xc6\\x4d\\x7e\\xe8\\x78\\x9e\\x7a\\xaa\\x40\\xce\\x05\\xe1\\x04\\xe3\\xf9\\x0f\\xc2\\xf3\\x76\\x18\\x8f\\x92\\xc6\\x44\\xb2\\xb0\\x3b\\x1e\\xea\\x08\\xcf\\x59\\x57\\x04\\x87\\x12\\x3d\\x14\\xb7\\x87\\xfe\\x14\\x52\\x04\\x8f\\x2d\\x8c\\x47\\x05\\x8c\\x97\\x0b\\x22\\x11\\xc1\\xa7\\x78\\xb6\\x11\\x22\\x9e\\xfd\\x3d\\x12\\xa2\\x50\\x08\\x0e\\x44\\xf4\\xa4\\xe2\\x73\\x28\\xca\\xf7\\x42\\x14\\xb1\\x44\\xef\\x01\\x12\\xfe\\x21\\xb9\\x6b\\x42\\xd9\\xcc\\x16\\xf6\\x0a\\xd0\\x82\\xac\\x80\\x03\\xd0\\x5a\\x9a\\x61\\x99\\x3f\\x07\\x15\\x6a\\x0d\\xcd\\x2a\\xd9\\xe7\\x1b\\x55\\x4a\\x24\\x43\\xb4\\x28\\x10\\xca\\x1d\\xfc\\x5f\\x7c\\x95\\x10\\xd6\\xcf\\x5a\\x7c\\x74\\x9a\\x92\\x66\\x7e\\x5e\\xf0\\x01\\xb7\\x37\\x19\\x4e\\xea\\xf1\\xc2\\x78\\x38\\x3b\\x99\\xfe\\xf0\\xb7\\x11\\xcc\\x59\\xd3\\x23\\x16\\x38\\x87\\xbb\\xdb\\xf2\\x08\\xd6\\xeb\\xa9\\x42\\x1f\\x36\\x30\\x30\\x90\\xa9\\x31\\x5b\\x68\\xad\\x4e\\xfb\\xe7\\xa0\\xde\\x68\\xa2\\x75\\x31\\xba\\xe7\\x1b\\x0d\\x31\\xc8\\xcc\\xda\\x68\\xa5\\x42\\xf9\\xe7\\x20\\xc4\\x15\\x99\\x18\\xc5\\xf3\\x8d\\x34\\x0e\\x0c\\xc3\\x7d\\xc6\\x46\\x11\\xa0\\x4c\\xe3\\x49\\x70\\x42\\x91\\x8e\\x34\\x2d\\xa4\\x3f\\x4f\\xe6\\xf6\\x21\\x2a\\xb8\\x3d\\xc9\\x70\\xf2\\x14\\x8f\\x8c\\x28\\xee\\x81\\xa9\\x29\\x30\\xeb\\x11\\x0b\\x77\\x37\\x9c\\x63\\x79\\xc4\\x04\\x27\\xc0\\x09\\x12\\x85\\x26\\xee\\x20\\x77\\x90\\xc8\\x62\\x2a\\xdc\\x45\\xef\\xa7\\x2f\\xa1\\x35\\x51\\x75\\x06\\x89\\x3c\\xef\\x75\\xa1\\xdc\\xa0\\x50\\x04\\x0e\\xc5\\x9e\\x03\\x5b\\xd7\\x8e\\xdb\\x5f\\x33\\x65\\xfd\\xe4\\x07\\xe1\\xae\\x35\\x13\\x1b\\xee\\x1b\\xbb\\xa6\\xb5\\x7e\\x5f\\x23\\x5e\\x53\\x75\\xc8\\xa6\\xc7\\x83\\x0f\\xc8\\x58\\x69\\xf1\\x9a\\xca\\x42\\xb5\\x4a\\xbd\\xaf\\x91\\x01\\xb8\\xae\\x93\\x78\\xfb\\xa6\\x5b\\xa8\\xb3\\x81\\xff\\xd0\\x7d\\xb2\\x4f\\x66\\x77\\x3d\\x95\\x7d\\x3c\\xbb\\xeb\\x62\\xf6\\xa9\\xec\\x0f\\xc8\\x7f\\x61\\x9b\\xc6\\xfc\\x05\\xd9\\x7b\\xdb\\x05\\x06\\x19\\x61\\x05\\xc0\\x75\\xb6\\x88\\x89\\x21\\x65\\x19\\xb1\\x1d\\x76\\xdb\\xb2\\x46\\xc1\\x6b\\x4c\\x3b\\xb6\\x54\\x23\\x91\\x9d\\x1a\\x8e\\xec\\x54\\xa6\\xf0\\x0e\\xa4\\x19\\x06\\xd9\\x61\\xbc\\x98\\xe7\\x89\\xef\\xc0\\x22\\x37\\x7a\\x8b\\x1b\\x0e\\xaf\\x8d\\x62\\xda\\x47\\xfe\\x9a\\xc8\\xee\\xe6\\xed\\xa7\\x19\\xbd\\x77\\x83\\x5d\\x8f\\xa3\\x73\\x7c\\xef\\x1e\\x12\\x3f\\x8a\\xce\\x59\\x1a\\x69\\x3d\\x36\\x6c\\x92\\x59\\xe3\\x2d\\x1a\\xee\\xf7\\xc6\\xe5\\xba\\xcb\\xf0\\x1a\\xfd\\x97\\xdf\\x12\\x99\\x7f\\xc1\\xb3\\x11\\x38\\xb4\\xd8\\x46\\x6a\\x58\\x15\\xd2\\x5d\\x96\\xa2\\x75\\x10\\x97\\x54\\xa3\\xd5\\x0a\\x9a\\x18\\x7e\\x52\\xd9\\x2a\\x6c\\x24\\x65\\x18\\x6d\\x6e\\x11\\x2b\\xb7\\x08\\x6e\\x15\\x31\\x8f\\xe4\\xfe\\x1d\\x89\\x3b\\x37\\x60\\x85\\x0a\\x85\\x8a\\xd6\\x6a\\x55\\x6a\\xb5\\x4e\\xa9\\xd5\\x22\\x89\\xab\\x89\\x9a\\xe4\\x49\\xc8\\x85\\x95\\x04\\x63\\xa7\\x11\\x56\\xc2\\x33\\xfa\\xb9\\x01\\xb7\\x22\\xd4\\xd7\\x50\\x1f\\x4c\\x12\\xb4\\x8d\\xe4\\x46\\xe0\\x2e\\x30\\xff\\xca\\xd0\\x75\\x84\\xe5\\x18\\xc2\\x4f\\x23\\xff\\x3f\\x11\\xc5\\xc0\\xa5\\x60\\x00\\xa8\\x03\\xd5\\x81\\xbc\\x9a\\xe2\\xf4\\xe2\\x27\\x83\\x43\\xf2\\x92\\xf2\\x9e\\x0c\\x96\\x25\\xa5\\x27\\x5d\\x68\\x04\\x94\\x91\\xa2\\xf4\\x34\\x9e\\x98\\x4c\\x9f\\xf4\\x38\\xad\\xf3\\xc9\\x20\\xa3\\xbd\\xd0\\xc8\\x58\\xd1\\xbf\\xd7\\x90\\x55\\xc9\\x16\\xca\\xad\\xa0\\xd5\\x00\\x5b\\x47\\x34\\xe2\\xe2\\x1f\\xcc\\x2b\\xf4\\x41\\x52\\xee\\x0d\\xef\\xe8\\xf4\\x86\\x0e\\xfe\\xb2\\x22\\xa1\\x70\\xa5\\xe5\\xb6\\x4f\\x6e\\xff\\xce\\x92\\x5d\\xd4\\x0b\\xbb\\xb9\\xe0\\x85\\xcc\\x91\\x6d\\x03\\x9e\\x1a\\xb0\\x7e\\xbf\\xd7\\x53\\x58\\x91\\x91\\x91\\x9e\\x17\\x48\\xeb\\x79\\x31\\xb3\\x66\\x5e\\xff\\xa7\\x07\\xac\\x3f\\x90\\xe1\\x29\\xea\\x9d\\x96\\x91\\x9e\\x1f\\x48\\x83\\x97\\x45\\x40\\xb1\\x31\\xb7\\x4f\\x3a\\xdc\\x4a\\xad\\x81\\xcb\\x2e\\xf5\\x79\\x6c\\x49\\xf9\\xf3\\x4d\\x6f\\x4c\\x7f\\xa5\\xc8\\x3b\\xf0\\x60\\x61\\x51\\xd6\\x88\\xbd\\x5d\\x7f\\x7d\\x36\\xf0\\xe8\\xb2\\x32\\xdc\\xf8\\x6a\\x51\\xc6\\x90\\x83\\xf9\\xc5\\xa8\\x11\\x42\\x09\\x92\\x34\\xf6\\x2c\\xca\\x1a\\x86\\xcf\\x8e\\x41\\x6a\\x2c\\x3d\\x9c\\xde\\x4e\\xec\\x9d\\xf6\\x1c\\xb6\\x5b\\xc8\\xce\\xe1\\xc8\\x09\\x97\\xb9\\xfe\\x7c\\xfb\\xa8\\x8f\\xe9\\xe1\\xb8\\xfe\\x02\\xf2\\x91\\x97\\xd1\\xc3\\x99\\xd9\\x82\\x5d\\x34\\x9c\\x47\\x91\\x9b\\x82\\xc0\\xfa\\xf2\\x0a\\x78\\x68\\x72\\xaf\\xc9\\xcb\\x3b\\xea\\x3e\\xee\\xba\\x5f\\x78\\xad\\x6b\\x1d\\x79\\x15\\xad\\x95\\xdf\\xa2\\x77\\x5f\\x42\\x36\\xcc\\xa3\\xfc\\x9c\\xc3\\x3b\\xee\\x29\\xca\\xcf\\xbf\\x00\\x46\\x5a\\xf9\\x39\\x2c\\x25\\x73\\x77\\x14\\xd8\\x4e\\x1f\\xa5\\x8f\\xa3\\xd9\\xe6\\x0c\\xe8\\x28\\xa4\\x28\\xc8\\x6c\\xd3\\xdf\\x34\\x82\\x1b\\x80\\xcf\\x75\\xeb\\x95\\x47\\xea\\xba\\x42\\x3f\\x0a\\xe8\\xd0\\xba\\x4d\\x35\\x71\\x3f\\xeb\\xe1\\x7d\\x67\\x14\\xdc\\x34\\xa8\\x51\\x6c\\x87\\xb3\\x2b\\xe1\\x82\\x24\\x6e\\x1b\\xb7\\x0b\\x57\\xd9\\x4d\\x46\\xb8\\x96\\x88\\xb8\\x54\\x4a\\x1a\\x1f\\xcb\\x56\\x74\\xc7\\xe5\\xf1\\xab\\xa1\\xdf\\x87\\x7c\\x80\\xb7\\xcf\\x2a\\xe0\\xfd\\xdc\\x7f\\x15\\xa7\\xa1\\x5a\\xbf\\xdd\\x05\\xe7\\xc2\\x85\\x49\\xdc\\xf6\\x4a\\xac\\x5f\\x0c\\xd8\\x80\\xfe\\x5a\\xc5\\xf6\\x13\\xec\\x82\\x01\\x14\\x06\\x5c\\x40\\xad\\xa2\\x21\\x64\\x28\\x85\\x3e\\x86\\x66\\x19\\xf6\\x60\\xa3\\x52\\x67\\xa0\\x19\\x33\\xae\\x72\\x42\\xd1\\xa0\\xd2\\xe1\\xab\\x14\\xec\\x1c\\xb9\\xb9\\x97\\x98\\x3b\\x2c\\x1c\\xbc\\x21\\x26\\xfe\\xbb\\x66\\xcf\\xe1\\xcb\\x5c\\xa1\\xf7\\x79\\x2f\\x35\\x45\\xfc\\x0d\\x6e\\xa7\\x2f\\xfc\\x7a\\xe9\\xd5\\x57\\xc5\\x7f\\x91\\xcc\\x8e\\xb3\\xc7\\xd9\\xbd\\x0a\\x9d\\x59\\x09\\xfa\\xc2\\xfe\\x8a\\x3b\\xc9\\x7e\\x1f\\xae\\xd5\\xb1\\x8f\\xed\\x8f\\x6b\\xc0\\xa3\\xd8\\x07\\x05\\x11\\xb1\\x42\\xe9\\x4e\\x1f\\xd2\\xd0\\xbf\\x2f\\xa6\\x5f\\x5c\\x80\\x1e\\x02\\x06\\x22\\x8f\\x54\\x58\\x37\\x79\\xba\\x03\\x67\\xd4\\xaa\\x8b\\xb0\\xff\\x93\\x8d\\x6a\\x14\\xcb\\xea\\x75\\xe4\\x57\\xbd\\x1e\\xb0\\x2c\\x83\\x7e\\xed\\x68\\xc4\\x97\\x19\\xa0\\x5f\\xce\\x36\\x02\\x73\\xc4\\xe5\\xa9\\xe2\\x3f\\xbc\\xe9\\x23\\xa9\\x8c\\xe2\\x9f\\xfd\\xd9\\x2f\\x64\\xfb\\xb2\\x5e\\xc8\\xe2\\xfe\\x8d\\x7e\\xe1\\xfe\\x8d\\x7e\\xfb\\xe0\\x03\\xe6\\x3f\\x1f\\x7c\\xc0\\x35\\xa2\\x3f\\x41\\x62\\x0a\\x65\\xf3\\xdf\\x00\\xfa\\x05\\x92\\x15\\x1a\\x8d\\x4a\\x47\\x1b\\xa0\\x41\\x47\\xa3\\xbe\\x35\\x2c\\x72\\x00\\x8c\\x5a\\x83\\x01\\x19\\x1c\\x46\\x8f\\x86\\x09\\xdb\\x02\\x13\\x6f\\x0d\\x44\\x73\\x80\\x0d\\x8f\\xc9\\xe1\\x13\\x7c\\x4c\\x64\\x15\\x7c\\x26\\x4f\\x91\\xdb\\xe6\\x31\\xf9\\x6c\\xbc\\x65\\xb8\\x8c\\xcc\\xce\\xe5\\xcb\\xa2\\x65\\x40\\x46\\x47\\xb2\\x0d\\x94\\xd4\\x37\\x2d\\x58\\x1f\\xa5\\x52\\x0d\\x18\\x46\\xad\\xd1\\xe8\\x54\\x0c\\x83\\x9c\\x4c\\xb4\\x46\\xfe\\x9e\\xf5\\xa1\\x4d\\xbc\\xf9\\x39\\x00\\xcb\\xb8\\x97\\x6a\\xb0\\xf9\\xc1\\x7d\\x70\\x07\\xe0\\x59\\xc9\\x00\\xc1\\x90\\x11\\xf5\\xf1\\x2d\\xea\\x83\\xd8\\x7a\\x1a\\x17\\x69\\xc5\\x35\\x12\\x05\\xb3\\x5d\\x40\\x8c\\x24\\xed\\xa6\\xb3\\xea\\x5e\\x82\\x1f\\xbf\\x84\\xdc\\xc7\\x74\\xbc\\x66\\x85\\xdf\\xdb\\x02\\x14\\xd8\\x6e\\x2b\\x20\\x5a\\x26\\x94\\x88\\x36\\x64\\x77\\xbb\\xd9\\x6d\\x4c\\x83\\x13\\x22\\x0c\\xdf\\x7e\\x2b\\xd8\\xd6\\xa7\\xb8\\x81\\x84\\x3f\\x13\\xc2\\xf1\\x0d\\xf2\\x6d\\x15\\xc8\\xbb\\xcd\\x0a\\x98\\x19\\x95\\x46\\x03\\x95\\x2c\\x8b\\x5c\\x5c\\x44\\x87\\x56\\x45\\x08\\x91\\xf8\\xc2\\x66\\xbb\\x94\\x5f\\x7e\\x3c\\x26\\xec\\xd8\\xfa\\xbd\\x4a\\x47\\x56\\xdd\\x8b\\xdf\\x7c\\xf3\\x62\\xdd\\xea\\xd5\\xab\\x11\\x6d\\xec\\xf9\\x0f\\x3f\\x3c\\x7f\\xbe\\xad\\x6d\\x9e\\x7c\\xdc\\xf4\\xc8\\x2f\\xb7\\xab\\x14\\x1a\\x5a\\x0f\\x35\\x28\\x26\\xd0\\xc6\\xa8\\xf5\\x7a\\x34\\x9d\\x18\\x6d\\xd8\\x72\\x0b\\xc2\\x13\\x46\\x49\\x1c\\x23\\xf9\\x08\\xc5\\x4a\\x03\\xc4\\xed\\x97\\xc6\\x07\\xc2\\xc9\\x94\\x92\\xbe\\xc6\\xe0\\xcc\\x8b\\xba\\x40\\x89\\x1a\\xc6\\xea\\x0c\\xac\\x05\\xc4\\xe8\\xf5\\x16\\x8b\\xe2\\xd3\\xa0\\xc1\\x92\\x64\\xa1\\xd4\\xb4\\x25\\x80\\xbc\\x57\\x60\\xd9\\x1f\\xd4\\x68\\xe3\\x68\\x03\\xa8\\x04\\x23\\x01\\xfd\\x26\\x08\\x21\\x5b\\x0e\\x92\\x41\\x35\\x1a\\x5a\\x90\\xd7\\xdc\\xdc\\xe6\\x28\\xc8\\x06\\xd9\\x82\\xd1\\x8e\\x45\\x3c\\xa3\\x30\\xa5\\x5b\\x39\\x7c\\x59\\x7d\\x73\\x8a\\x1b\\xae\\xce\\x2f\\x1e\\x34\\xcd\\x3c\\x70\\xed\\x44\\xc7\\x12\\x03\\x95\\x39\\xb3\\x2e\\x58\\xab\\xae\\xa3\\x94\\x70\\x47\\x8e\\xab\\x67\\xfa\\xa4\\x16\\x6e\\x0f\\x0c\\x6d\\x9d\\x5b\\x52\\xd5\\x7f\\x78\\x6a\\x1e\\x37\\x12\\xdb\\xaf\\x57\\x43\\x53\\xe9\\xdd\\xd4\\x6a\\xa3\\x92\\x9d\\x10\\x3a\\xd7\\xb5\\x85\\xd8\\xb4\\xb7\\x42\\xd3\\xe9\\x3b\\xa8\\xb5\\xa8\\x6d\\x5a\\x68\\x3b\\xbe\\xab\\x15\\xb5\\xbd\\x1e\\x9a\\x49\\x6f\\xa3\\xd6\\xa1\\xb6\\xb6\\xd0\\x81\\xae\\x9d\\xa4\\xed\\x54\\x68\\x19\\xfd\\x32\\xb5\\x00\\x45\\x84\\xf9\\x54\\xb9\\xd0\\xf6\\x56\\x68\\x1a\\x7a\\x77\\x0d\\x82\\x9b\\x1e\\xba\\xb3\\x6b\\x1b\\x99\\xdb\\x28\\x7a\\x65\\xfe\\x87\\xfd\\x1b\\x5a\\xc7\\xfa\\x07\\x3c\\x00\\x58\\x29\\xb5\\xae\\x35\\xa8\\x56\\x5b\\x29\\xa3\\x4d\\x65\\x6b\\x0d\\xea\\x55\\x2a\\x2b\\x45\\x39\\x5b\\x83\\x14\\x6d\\x35\\xb5\\x06\\xad\\x91\\x33\\x35\\x7c\\x57\\xb8\\xd0\\x80\\x6f\\x4f\\xe1\\x2f\\x36\\x73\\x58\\xdc\\x4a\\x37\\x2d\\xfc\\xb1\\xa4\\x9a\\xf0\\x8d\\xff\\x05\\x76\\x07\\xbd\\xc4\\x70\\xf6\\xc5\\xa7\\xe6\\x2f\\x1b\\x4d\\x8d\\x73\\x72\\xa3\\xcb\\xe0\\x06\\x27\\xb7\\xb2\\x12\\x5e\\x76\\x76\\xdd\\x39\\x96\\x9b\\x7f\\x27\\xb4\\x3f\\xb7\\xaf\\x43\\xcb\\x1c\\xdf\\xf7\\xf5\\x7f\\x37\\xac\\x81\\xf0\\xfc\\x56\\xee\\x9d\\x2d\\xdc\\x53\\x5b\\xe1\\x9b\\x0c\\x5c\\xf1\\x32\\x4c\\x3c\\xbc\\x6b\\x3d\\xd9\\x8b\\x30\\x85\\x76\\x32\\x1f\\x22\\x3b\\x93\\x0c\\xf0\\x0e\\xf4\\xa8\\x40\\x8e\\xda\\x6d\\xb3\\x78\\x75\\xee\\x0c\\x15\\xa5\\x53\\xa1\\xf8\\x51\\x47\\x83\\x74\\x8b\\xc5\\x6c\\x0c\\x18\\x35\\xe3\\x82\\x46\\x8b\\xc3\\x60\\x01\\x9e\\x71\\x41\\x90\\x34\\x3e\\x48\\x23\\xeb\\x5a\\xf9\\x12\\x59\\x74\\x2f\\xf3\\xd9\\xd3\\xaf\\x23\\xfd\\x11\\x02\\x4c\\x7c\\x01\\x40\\xa9\\x50\\xda\\xcd\\xee\\x40\\x83\\x67\\x47\\xd1\\x18\\x2c\\xb6\\x38\\x28\\x37\\xbe\\xc5\\x3f\\x1d\\xfd\\x65\\xc1\\xb5\\x6b\\x53\\x2b\\xa1\\xcf\\x92\\xee\\x45\\x30\\x34\\xc4\\xf7\\x67\\xcf\\xab\\xa9\\x1c\\xb9\\x63\\x49\\xaf\\xd8\\x0e\\x2d\\x37\\xf2\\xcd\\x47\\xef\\xfe\\x07\\xd7\\xe1\\xed\\xb1\\xa3\\x74\\x50\\x59\\xd3\\x8e\\x3d\\x3d\\xef\\x46\\x7a\\x58\\xb6\\x83\\xf1\\xd7\\x70\\x45\\xc9\\x23\\xb6\\xc2\\xea\\x49\\x9b\\x9b\\xd8\\x7a\\x75\\xca\\xe1\\x9f\\x6a\\x97\\xf5\\x29\\xbc\\xb9\\x99\\x86\\x8e\\x3e\\xdc\\x36\\xd8\\xb2\\xd0\\xd1\\xf3\\x12\\xcc\\x9b\\xf3\\xec\\x4d\\xb8\\xf6\\x63\\xd3\\x62\\xee\\x82\\x4f\\x79\\xb3\\x76\\x84\\x07\\x06\\xa9\\xb3\\x9e\\x4b\\x1c\\xbe\\x77\\x83\\xe4\\xf9\\x5d\\x62\\xc7\\x82\\x2c\\xd0\\x3b\\xe0\\x56\\xab\\x74\\xa6\\x71\\x41\\x3a\\x5e\\xa5\\x70\\x28\\x74\\xa9\\xa9\\x3a\\x85\\x83\\x89\\x77\\xbb\\xbd\\xe3\\x82\\x6e\\x26\\xde\\x36\\x2e\\x18\\x6f\\x89\\xbe\\x90\\x8e\\x5c\\x41\\x2d\\x6c\\xd1\\xe0\\xb1\\x89\\xba\\x01\\xd6\\xc0\\x73\\x99\\x42\\x15\\x19\\xd1\\x30\\x25\\x5b\\xf8\\x2c\\x72\\x0a\\x56\\xfc\\x7f\\xbc\\xbd\\x09\\x7c\\x14\\xc5\\xf6\\x28\\x5c\\x4b\\xf7\\xf4\\xec\\x6b\\x26\\x33\\x99\\x24\\x33\\x99\\x4c\\x16\\x92\\x00\\x09\\x99\\x24\\x43\\xd8\\x32\\x2c\\x09\\x01\\x04\\x12\\xf6\\x66\\x4b\\x08\\x48\\xc2\\xbe\\x2f\\xb2\\x0b\\x44\\x40\\x10\\x0c\\x01\\x65\\x51\\x04\\x05\\x95\\x7d\\x87\\xa0\\x22\\x28\\x88\\x0b\\x20\\xb8\\x5d\\xc4\\x5d\\xd1\\xeb\\x55\\x51\\x51\\xb9\\x78\\x25\\x99\\xce\\x57\\x55\\xdd\\x93\\x84\\xc5\\xff\\x7b\\xf7\\xf7\\xde\\xf7\\x26\\xe9\\x9e\\xee\\x9a\\xea\\xaa\\x53\\xa7\\x4e\\x9d\\xa5\\xba\\xea\\x9c\\x76\\x1d\\xfa\\xdc\\x1d\\x0d\\x36\\xe1\\xb5\\x4d\\xd5\\xa4\\x89\\x1f\\x7e\\xb9\\x03\\xb6\\xf9\\x18\\xf6\\xee\\x74\\xd4\\x54\\x39\\xfa\\xf1\\xf7\\x26\\xc3\\xeb\\x33\\xf6\\xf8\\xe0\\x8e\\xc6\\xd8\\xb0\\x2f\\x47\\x40\\x9e\\xb6\\x4d\\xfd\\x6f\\x68\\x85\\x6b\\x2f\\x4a\\x07\\x3b\\x4e\\x59\\xb2\\x8d\\xbe\\x58\\x85\\xf5\\x44\\x49\\xe3\\x7e\\x20\\x22\\xc3\\x02\\xfa\\x04\\xb3\\xd5\\x3a\\xa3\\x6e\\x84\\xc8\\x1b\\x21\\x57\\x22\\x7a\\x60\\x3a\\xcc\\x83\\x84\\x59\\x7b\\x60\\x6f\\xb8\\x10\\x9e\\x82\\x97\\xe0\\xaf\\xb0\\x1e\\xaa\\x6d\\xd8\\x48\\x30\\xad\\x31\\x99\\x40\\x89\\x68\\xc2\\x5a\\x8d\\x15\\x34\\x46\\x0a\\x65\\x8a\\xd3\\x94\\x46\\xad\\x09\\x52\\x82\\xa3\\x7f\\x72\\x10\\x1a\\x42\\x86\\xc8\\x34\\x00\\x6d\\xf7\\x84\\x86\\x36\\x83\\xcb\\xa2\\xa4\\x87\\x32\\x4f\\x65\\xee\\x8f\\xda\\xff\\x32\\x9e\\xeb\\xe6\\x76\\x4a\\x5d\\xb6\\x9c\\x7f\\x58\\x0a\\x41\\xfc\\x30\\x7e\\x4d\\xf6\\x87\\x5a\\xff\\x3b\\x81\\x6d\\x35\\xc1\\x73\\x0b\\x30\\x25\\x98\\x9f\\xa4\\xd1\\x6b\\xa6\\x89\\x3e\\x7d\\xbc\\xc1\\x6c\\x98\\x26\\x7a\\xcc\\x1e\\x7d\\x89\\x7e\\x92\\x1e\\xe7\\x91\\x13\\xf2\\x98\\xa1\\xc9\\x7c\\xca\\xfc\\xab\\x19\\xeb\\xb1\\xde\\xac\\x37\\x73\\x11\\x11\\xd1\\xd3\\x44\\xa7\\x33\\x42\\xe0\\x53\\xb8\\x94\\x69\\xa2\\xb9\\x45\\x5c\\x0b\\xd4\\xa2\\x05\\xe7\\xa4\\x9a\\xcd\\x30\\x25\\xb6\\x6a\\xfa\\x1d\\x40\\x0f\\x9b\\x22\\x47\\x05\\x6f\\x88\\x0d\\x6e\\x84\\x3e\\xea\\x46\\x91\\xc6\\xae\\xf1\\x07\\xc2\\x11\\x74\\xc2\\x9b\\xfa\\x4d\\x50\\x69\\x18\\x31\\x7a\\xbc\\x99\\x39\\x01\\x2e\\xb7\\xf9\\xa5\\xb5\\xa1\\x02\\xf7\\xe4\\x11\\x76\\xfe\\xa5\\x98\\x97\\x62\\xc9\\x61\\x4c\\xba\\x75\\xa6\\xfa\\xa0\\xe1\\x84\\xba\\xa4\\xdb\\xd4\\x65\\x4e\\x33\\xdc\\x10\\x23\\x55\\xc4\\xb2\\x33\\x4c\\x7d\\x09\\x5e\\xeb\\xff\\x90\\x07\\x06\\xd6\\x3d\\xb7\\x29\\x7b\\xde\\xb8\\xa8\\xd5\\x1b\\x1e\\x7b\\xe0\\xcc\\xdb\\x0f\\x4d\\xc8\\xcd\\x7b\\x60\\xda\\xfc\\x7e\\x8f\\x6d\\x58\\x2d\\x5c\\x19\\x24\\x0e\\x94\\xdf\\xef\\x81\\xfa\\xd6\\xdc\\xd3\\x7c\\x10\\xf8\\x81\\x3f\\x18\\xe5\\x89\\x72\\xb6\\xd2\\xc6\\x68\\x4b\\xc5\\xf8\\x18\\xe8\\xb4\\xc7\\xd8\\x63\\x4c\\x71\\x38\\x15\\x03\\x13\\xed\\x83\\x73\\x34\\x08\\x0e\\x8b\\xfb\\x14\\x6e\\x08\\xb3\\x57\\xb0\\x0f\\x32\\xf7\\xd2\\xf7\\x09\\x74\\x6d\\xa7\\x84\\x27\\x33\\x44\\xd9\\x97\\x60\\x1a\\xd4\\x41\\xb8\\x2b\\x95\\x48\\xb8\\x6b\\xb1\\xba\\xfb\\xc4\\xb7\\x1e\\x98\\x0f\\xb5\\x1b\\xd7\\xf1\\x03\\x8b\\x23\\x57\\xbd\\x48\\x63\\x5a\\xc3\\xcb\\x0f\\x7d\\x2c\\x95\\xe2\\x88\\xf5\\x43\\x62\\xee\\x0d\\x6b\\x5d\\x06\\x0f\\xff\\xce\\xc2\\x5a\\xa7\\xcb\\xd1\\xac\\xa5\\x9d\\xa1\\x75\\x34\\x66\\x12\\xe9\\xd3\\x7a\\x42\\x6f\\xd1\\xc0\\x03\\x7c\\x20\\x99\\x8c\\xa1\\xfe\\xc1\\xe6\\xc9\\x2e\\xa4\\x12\\x54\\x25\\x62\\x5c\\x8c\\x43\\xf0\\x79\\x22\\xb5\\x3a\\xc2\\x2b\\x52\\x6c\\x26\\x5d\\x02\\x27\\x34\\x4b\\x35\\x08\\xba\\xd4\\x54\\x1d\\xb1\\x53\\x2d\\x44\\x77\\xe7\\xac\\x72\\x44\\x87\\x30\\x97\\xa0\\xff\\x7e\\xc5\\x3c\\xf3\\x37\\x5e\\x91\\x96\\x63\\x85\\xe8\\x02\\x2c\\xc4\\x8d\\x4d\\x71\\x84\\x4f\\x5d\\xf2\\xeb\\x20\\x49\\xe4\\xfd\\xc9\\x3e\\x98\\x13\\xf0\\x41\\xc1\\x8f\\x3e\\x1d\\x2f\\x9d\\x2d\\xda\\x55\\xb4\\xc2\\xbd\\xa2\\x05\\x39\\x7a\\x7d\\x31\\x0e\\xe6\\xf7\\xda\\xd3\\xab\\xd2\\x5d\\xd9\\x82\\x1c\\x45\\x97\\xd7\\xb6\\x08\\x49\\x5b\\x6e\\xb6\\x7f\\x14\\x7e\\xa0\\x31\\x3c\\x20\\xad\\xb3\\xe7\\x13\\x65\\xb1\\x1c\\x6e\\xdc\\xfc\\xfd\\x66\\xb8\\x46\\x9a\\x42\\x0f\\x72\\x29\\x95\\xa3\\xac\\xef\\xbf\\xff\\x3e\\x54\\x33\\xe7\\x01\\xf4\\xde\\x11\\xb9\\x99\\x67\\xeb\\x6f\\x71\\xcf\\x92\\xb6\\x6a\\x41\\x26\\x68\\x07\\xfa\\x80\\x59\\xc1\\x8e\\xf9\\x7d\\xf2\\xfa\\x4c\\x17\\xed\\xce\\x96\\xa9\\x9c\\x5b\\xe7\\x6e\\x36\\x5d\\x4c\\x48\\x70\\xbb\\x3b\\x99\\x82\\xd0\\x88\\x83\\x79\\xc1\\xd6\\x70\\x9a\\x08\\x5a\\x93\\xeb\\xbc\\xd6\\x79\\xad\\x75\\x1c\\x17\\x98\\x26\\x72\\xaa\\x6e\\x36\\x9d\\x6d\\xba\\xd8\\x4b\\x67\\x36\\xeb\\x74\\x98\\x51\\x30\\xb1\\x0a\\xfd\\x77\\x45\\xf3\\xa3\\xb2\\x8f\\xb1\\x50\\x72\\xe1\\xa7\\x39\\x64\\x7e\\x13\\x9e\\x09\\xa6\\xde\\x09\\xe3\\xa8\\x05\\x4c\\xec\\xe1\\xf6\\x30\\x40\\x7d\\xd1\\xe7\\x41\\xe6\\x6d\\x5f\\x91\\x89\\x26\\x18\\xc8\\x62\\x7e\\x8a\\x09\\x47\\xa2\\xfe\\xd2\\x21\\xa5\\x06\\x4c\\xed\\x14\\x7c\\x77\\x24\\x03\\x62\\xcc\\x04\\x6c\\xd0\\xdb\\x7e\\xe1\\x36\\xa8\\x7a\\x1f\\x9a\\x47\\x1f\\x81\\xa1\\x82\\xe2\\x49\\xed\\xda\\x99\\x50\\xc1\\x98\\x9c\\x92\\x2e\\x1d\\xbb\\x12\\x05\\xda\\x69\\xcf\\x31\\xa1\\x84\\x16\\xa5\\xf3\\xa4\\x88\\xfc\\x76\\xad\\x7b\\x07\\x3b\\x0c\\xf4\\x77\\xb3\\x0d\\x1e\\xd8\\x35\\x66\\xbd\\x6d\\x7d\\x77\\xdc\\xba\\x45\\x8c\\x2d\\x3b\\x6b\\x35\\xdf\\x0b\\xad\\x0e\\x4d\\xe5\\xf3\\xaf\\x4f\\xfb\\x62\\x4e\\xa8\\xa2\\x47\\xa1\\xd9\\xa2\\xe9\\xdd\\xd3\\x1e\\x08\\xf4\\x15\\x03\\xa5\\xfe\\x1e\\x79\\x26\\x5e\\x6f\\x76\\x7b\\xbb\\x59\\x5d\\x99\\xbe\\x6e\\x43\\x06\\x2c\\xe1\\xba\\xe4\\x07\\xa4\\x07\\x7b\\x56\\x4b\\x2d\\x47\\xac\\x5e\\x3d\\x42\\x5a\\xe4\\xca\\x12\\x46\\xe8\\x66\\x34\\x87\\x74\\xaa\\x05\\xe0\\xfa\\xfd\\x84\\x27\\xff\\x41\\x70\\x4d\\xe3\\x81\\xe4\\x81\\x9e\\xc1\\x66\\x6d\\x12\\xdc\\x59\\xe4\\x2f\\xdd\\x95\\x1e\\x18\\x21\\xa6\\x9b\\x5d\\xde\\x11\\x84\\x17\\xeb\\x91\\x0d\\x95\\x88\\x36\\x1b\\xc7\\xf3\\xd6\\x12\\xea\\xb6\\x83\\x6b\\x64\\x5f\\x54\\x70\\xde\\x13\\x08\\x95\\x4d\\x34\\x12\\x4a\\xa2\\x08\\x94\\x83\\x15\\xd8\\xb0\\x82\\x9a\\x1c\\x16\\x13\\x43\\x8e\\x8b\\x7d\\x67\\x14\\x8c\\x48\\xbb\\x49\\x8e\\x2a\\x42\\x65\\xaf\\x1b\\xc2\\xf2\\x91\\xad\\x27\\xef\\x25\\xc8\\x7a\\x76\\x4b\\xf5\\xfc\\xe9\\xf6\\x41\\xa3\\x22\\x87\\xc4\\x54\\xae\\x42\\xab\\xcf\\xee\\x7d\\x78\\x3e\\xbf\\x11\\x75\\xea\\x30\\x74\\x68\\x4c\\x76\\xaf\\x82\\x4e\\x89\\x47\\xb6\\x4f\\x99\\x06\\x37\\xc1\\x91\\x0f\\xf4\\x0f\\xf6\\x1c\\x3f\\x00\\xe5\\x85\\x5e\\xe3\\xf3\\x37\\x2f\\xdb\\xfc\\x63\\x5a\\xe8\\x31\\x4e\\x5b\\x5c\\x2c\\xa5\\x6e\\x0b\\xfd\\xba\\xff\\xfc\\xbc\\xc7\\x3d\\x83\\x7a\\x4e\\x29\\x49\\xcc\\x4d\\x4b\\x88\\xeb\\x30\\xa0\\xc3\\xfe\\x97\\x67\\x4f\\x8e\\x89\\xb0\\x2d\\x1c\\x23\\x66\\x75\\x8e\\x6b\\xb9\\x80\\x58\\x3a\\xf5\\xdf\\x13\\xdd\\x76\\x6c\\xc3\\x18\\xa3\\x1e\\x5b\\x5b\\x80\\x21\\xc1\\xf4\\x84\\xe4\\x94\\x24\\x9d\\x60\\x32\\x9b\\x4a\\xc4\\xe6\\x71\\x31\\x9c\\xd9\\xe7\\xc1\\xb6\\x08\\x5b\\x89\\xe8\\x04\\x11\\xc9\\x86\\x16\\x69\\xe6\\x88\\x16\\xe6\\x88\\x08\\x73\\x0b\\x6c\\x70\\x45\\x62\\x8d\\xe1\\xbe\\x03\\xad\\x71\\x9c\\x29\\x97\\xf2\\xdb\\x2f\\x65\\x60\\x61\\xf6\\xd7\\x38\\xe8\\x68\\xf4\\x09\\x79\\xac\\x91\\x71\\x46\\xbe\\x02\\x3e\\x81\\x0c\\x37\\xee\\xf3\\xa0\\x7b\\x50\\xf1\\x3c\\xf7\\xba\\x35\\x97\\xdd\\x3b\\x4f\\x5f\\x36\\x57\\xbb\\xe7\\x68\\x06\\xb8\\x3b\\x98\\x4f\\xba\\xd0\\xf5\\x45\\x27\\x43\\xaf\\x3e\\xda\\xfd\\x9f\\x92\\x75\\xf9\\x84\\x7f\\x22\\xbe\\xa0\\x28\\xf4\\x5e\\x79\\x4f\\x0d\\x5c\\xd0\\x77\\x08\\x3e\\xc6\\xc6\\xd8\\x5d\\x23\\xaf\\xee\\x57\\x3a\\xe4\\x1e\\xfb\\xed\\xb7\\xdf\\x86\\xc2\\x63\\xa7\\x98\\x4e\\x4c\\xfd\\x7a\\x25\\x72\\xe7\\x69\\x20\\x1c\\xd0\\xfe\\xb8\\xcd\\x66\\x11\\x04\\xab\\x25\\xba\\xa3\\x09\\xf6\\x04\\x66\\xd8\\x8b\\x24\\x1b\\x61\\x3f\\x20\\x02\\x0b\\xb9\\xb7\\x02\\x3b\\xbb\\xb6\\x92\\xf4\\x86\\x88\\x8d\\x79\\x96\\xc6\\xb8\\x7d\\xb4\\xbf\\xb1\\x2f\\x20\\xb3\\x46\\xec\\x8b\\x46\\x7e\\x2c\\x87\\x99\\xf4\\x63\\x62\\xd3\\x23\\xef\\xdb\\xfb\\xcc\\xed\\x4e\\x64\\x44\\x0c\\x9f\\xbf\\xe7\\x62\\xcd\\xcf\\xbd\\x1e\\x3b\\x31\\xe1\\xc0\\xc4\\x05\\xc5\\xb1\\x4b\\x6b\\x2a\\x9b\\x2d\\xfb\\x70\\x0f\\x77\\xfe\\x89\\x17\\xb3\\x17\\x49\\xef\\xd6\\x55\\xf4\\xab\\x18\\x52\\xfb\\x25\\x77\\xbe\\x36\\x1b\\x5d\\x0d\\xbd\\x57\\xb0\\x7d\\x3d\\x7a\\x36\\xd4\\xe7\\xfc\\x8f\\x15\\xb2\\x5d\\x9c\\x24\\xfd\\x83\\x4f\\x67\\xef\\x8d\\x3e\\x60\\xef\\xb5\\xde\\x23\\x9a\\xa4\\x0d\\x08\\x87\\x50\\x2b\\x87\\xbc\\x0f\\x8d\\xc8\\x80\\x1e\\x84\\xb6\\xbf\\x24\\x72\\x30\\x85\\xf4\\x62\\x36\\x34\\x59\\x4d\\xd3\\xc4\\x66\\xd6\\xa4\\x08\\x47\\x04\\x91\\x87\\x0e\\x8f\\x15\\xe6\\x59\\x27\\x59\\x91\\xc9\\x71\\xca\\xf1\\xab\\x83\\x08\\x40\\xab\\xc3\\xea\\xd0\\xbb\\x5c\\x71\\xd3\\x44\\xb7\\x4b\\xd0\\xf3\\xd3\\x44\\xb5\\x3e\\x8a\\xce\\x5c\\x02\\x36\\x07\\xd7\\xc8\\x2f\\xee\\x91\\x78\\x72\\x40\\x9c\\x9c\\x80\\x83\\x06\\x26\\xb0\\xd0\\x2e\\xcc\\x61\\xa7\\x04\\x25\\xd4\\x3b\\x8d\\x0e\\x20\\x78\\x89\\xe8\\xc3\\x83\\xa5\\x6c\\x6e\\xd1\\xb2\\xee\\x8f\\x4f\\xce\\x9c\\xf4\\xd6\\x04\\x69\\x04\\x5e\\x12\\x33\\x4b\\xe5\\x9c\\x15\\xf3\\x70\\x0f\\xd8\\xec\\xbb\\x09\\xbb\\x7b\\x4e\\x98\\xf5\\xf8\\x73\\x07\\xb3\\xe1\\xc5\\x18\\x29\\xd1\\xa2\\x83\\x9f\\xc0\\x4b\\xf9\\x95\\x0b\\x52\\x3b\\x2c\\xeb\\xd4\\x06\\x3e\\xdd\\xf9\\xf1\\xce\\x03\\x57\\xff\\x78\\x3d\\xa7\\xc3\\xaa\\x51\\x55\\xbb\\x1f\\xeb\\xd5\\x9d\\xb5\\xcf\\x42\\xfd\\xb1\\x12\\x7a\\x8d\\x00\\x89\\x41\\xab\\x0d\\x09\\x6a\\x81\\xa8\\x8a\\x7a\\xb5\\x9a\\x37\\x6a\\x31\\xe0\\xad\\xe1\\x18\\x3e\\x8d\\xb3\\x70\\xd0\\x27\\x28\\x1a\\x05\\xe9\\x11\\xe8\\xa7\\xc2\\x18\\xe2\\xc5\\xd2\\xd3\\xae\\x43\\x43\\x4e\\x3d\\xb4\\xcd\\xb3\\x6d\\xe2\\xa9\\x89\\x43\\x50\\xef\\xaf\\x43\\xcf\\xa0\\xf6\\x1e\\xa9\\x15\\x51\\xdd\\x26\\x6d\\x92\\xd2\\xd0\\xa4\\xad\\x28\\x27\\xf4\\x0e\\x3d\\xb6\\x86\\xaa\\x98\\x1e\\x47\\x7d\\x34\\x91\\x7a\\x1d\\x20\\x3e\\x18\\x01\\x22\\xec\\x11\\x25\\x22\\x82\\x2a\\x13\\x6f\\xd6\\xe9\\xd5\\x5a\\x3b\\xd6\\x5a\\x01\\x73\\xf1\\x1a\\xd6\\x65\\x12\\x05\\x5e\\x20\\x07\\x9b\\xb8\\x4c\\x0c\\x90\\x83\\x7a\\x2c\\x15\\x70\\x97\\x36\\x70\\x8c\\x47\\xda\\x10\\x07\\x2b\\xc8\\xb9\\xf8\\xd5\\x0e\\xd2\\x06\\x37\\xac\\x88\\x93\\x36\\x92\\x73\\x4f\\x29\\xdf\\xcd\\x65\\x51\\xe5\\xe6\\xea\\x9e\\x67\\x76\\xed\\x20\\x87\\x34\\x0c\\x06\\x77\\x6e\\xda\\xfd\\x3c\\x39\\xe0\\xca\\xa7\\x98\\x9e\\xc3\\xd7\\xef\\x91\\x5e\\xe2\\xaa\\xf9\\x14\\x42\\x90\\x39\\xa0\\x23\\x31\\x70\\x06\\x81\\xce\\x41\\x6f\\xa7\\x5c\\x73\\x1f\\x77\\x64\\x5c\\x62\\x46\\xb3\\x38\\x95\\x3b\\xa3\\x99\\xd9\\xed\\x36\\x37\\xcb\\xe0\\xa2\\x5a\\x74\\xcb\\x1b\\x38\\xd0\\xa6\\xc5\\x51\\xb2\\xcc\\xa7\\x63\\x31\\x5d\\x1e\\xa4\\x84\\x6a\\xe5\\x51\\x4a\\xff\\x32\\x95\\x90\\x3d\\x44\\x51\\x56\\x09\\xbe\\x1c\\x39\\x32\\x6a\\x24\\xe1\\xfe\\x2c\\x98\\x96\\x1c\\xab\\x27\\x90\\x63\\xcd\\x09\\x18\\x21\\x0d\\x64\\x40\\x3a\\x9d\\x46\\x7f\\xa4\\x91\\x49\\xa0\\xc2\\xb8\\x28\\x83\\x53\\x21\\x01\\x09\\xe1\\x70\\xb0\\x8a\\x35\\xe1\\xcf\\xe4\\xaa\\x1f\\x9b\\xe8\\x4b\\x8f\\x7c\\x20\\x33\\x76\\x46\\xeb\\x66\\x8f\\xb7\\x9a\\xd2\\x3b\\xbf\\x67\\xdd\\xef\\xc1\\xc1\\x69\\xbe\\xe1\\xfe\\xd2\\x7e\\x1d\\xb2\\x52\\x32\\xdc\\x73\\xa7\\xb6\\x2d\\xda\\x9e\\xa1\\x7d\\xf4\\x8d\\xde\\x53\\xa2\\x83\\x9d\\x26\\xcd\\xdf\\xf4\\x03\\x4a\\xe9\\xdc\\xbe\\xb7\\xd7\\xd7\\xae\\xb7\\xd4\\x23\\x7b\\x76\\xff\\x91\\xad\\x0a\\xc4\\x11\\x2f\\xcf\\x1f\\x10\\x3a\\x19\\x9f\\xe1\\xcd\\xcc\\x2e\\x84\\xa9\\x0f\\xef\\xf1\\xb8\\xdf\\x5d\\xda\\xb2\\x6c\\x0c\\x1c\\x33\\x6f\\xec\\x50\\x69\\x79\\x9b\\x76\\x39\\xc1\\xb2\\xae\\x62\\xfc\\xaa\\x12\\xd8\\xe7\\xcb\\xee\\x7c\\x6a\\x4c\\x56\\x8f\\x21\\xfd\\x22\\x3b\\x0c\\xe1\\x4e\\xed\\x7a\\x59\\x5a\\xf2\\x11\\xf4\\x8e\\x5f\\x30\\x2a\\x33\\x6f\\x39\\x5e\\xda\\x5b\\xaa\\xff\\x4e\\xba\\x59\\x52\\x7a\\x05\\x4e\\xdc\\xfa\\xc8\\xfa\\xba\\xb2\\xf8\\xb4\\x8c\\x5c\\xca\\x07\\x3e\\x90\\xd7\\x89\\x12\\xbb\\xa4\\x39\\x68\\x13\\xf4\\x58\\x23\\x9c\\x38\\x32\\x15\\x47\\xe1\\x04\\x87\\x23\\x92\\xc8\\xdc\\x52\\x31\\x01\\x47\\x5a\\x75\\x06\\xb5\\xa1\\x54\\x54\\xdb\\x88\\x8e\\xae\\x84\\x30\\x0f\\x8b\\x02\\x82\\x52\\xd9\\x86\\x8c\\x80\\x82\\xcd\\xc1\\x82\\x1f\\x51\\x0f\\x4b\\xed\\x61\\x32\\x86\\x58\\xf0\\xc1\\x68\\xa8\\xb0\\x7a\\x21\\x1c\\x3d\\xda\\xd1\\x01\\x72\\x6f\\x4a\\x5f\\x17\\xb4\\xc5\\xaf\\xec\\x28\\x7c\\xc0\\xdd\\xab\\xcb\\x26\\xe8\\x93\\x2e\\x4e\\x3b\\xf0\\x22\\x5c\\x33\\xe6\\x7a\\xab\\xd3\\x4f\\x8d\\x9d\\xfb\\x42\\x20\\xb1\\x6b\\x2f\\xbd\\xaa\\x72\\x30\\xf7\\xcb\\x31\\x69\\xde\\xf0\\xd0\\x13\\xdd\\xb6\\xee\\xb1\\x6d\\x8e\\x3f\\x10\\x13\\x03\\x5f\\x93\\x86\\x40\\xdb\\x6d\\xe4\\x96\\xfe\\x01\\xbb\\xc0\\x09\\x7b\\xf7\\x5e\\x9c\\x35\\xbb\\x55\\xab\\x55\\x4b\\x7a\\xbf\\xdc\\xfc\\xe3\\xf3\\xf2\\x3c\\x14\\xf5\\x63\\x92\\x4e\\x68\\xd5\\x45\\x78\\x7a\\x02\\xe1\\x04\\x0b\\x82\\xda\\xa8\\x18\\xc2\\xcb\\x47\\x88\\x91\\x89\\x66\\xfa\\x96\\x27\\xa8\\xd1\\x17\\x9a\\xcd\\x1a\\x2b\\xf6\\xe9\\xf4\\x44\\x89\\x07\\xb1\\x66\\x7d\\x9c\\x3e\\x43\\x7f\\x40\\xcf\\x99\\xf4\\x90\\xa8\\xc5\\x7a\\x8d\\x35\\x81\\x8c\\x2b\\x90\\x60\\x4e\\x88\\x4b\\xd8\\x9a\\x70\\x20\\xe1\\x74\\x82\\xca\\x80\\x13\\x12\\xac\\x1a\\xab\\x35\\xa5\\x44\\xb4\\x62\\x99\\x07\\x92\\x71\\xc6\\xec\\x68\\x86\\x05\\xca\\x25\\x94\\x51\\x27\\x5b\\x96\\x0d\\x43\\x90\\xb2\\x7c\\xaa\\x21\\x37\\xb2\\xfb\\x00\\x0b\\x79\\x2e\\xf8\\x54\\xc9\\x64\\x34\\xe6\\xc0\\x4c\\x32\\x34\\x6c\\x5e\\xc2\\x37\\xb9\\x2d\\xa3\\x5c\\x8f\\xf5\\xaa\\x7d\\x5a\\xfa\\x7e\\xd4\\xa9\\xb5\\x2b\\x5c\\x2b\\x6c\\xe4\\x68\\x01\\x2f\\x9c\\xb8\\xec\\x7a\\xd8\\x35\\x42\\x77\\x3c\\xf4\\x86\\x0d\\xb5\\xb6\\x48\\x8f\\x3e\\x3b\\x5a\\xd2\\x59\\x06\\x41\\xa9\\xf3\\xb1\\x5b\\x78\\x5a\\xe5\\x94\\xb9\\x21\\x09\\xfd\\x52\\x59\\x56\\xf9\\xd3\\x82\\x09\\x95\\xc1\\x60\\x59\\xba\\xf4\\x67\\xff\\xfe\\xf0\\x35\\x16\\xf7\\x00\\x13\\xfb\\xab\\x39\\x77\\x80\\xf4\\xad\\x83\\x46\\xfe\\x02\\xed\\x82\\x5e\\x57\\x9c\\x23\\x8e\\x34\\xc1\\x43\\x0e\\xc2\\x1d\\x75\\x08\\x06\\x1d\\x36\\x4b\\xb4\\x3a\\xba\\x44\\xd4\\x69\\x46\\x88\\x3a\\x35\\x47\\xf9\\x9f\\xdc\\xc1\\xae\\x8b\\xf2\\x0c\\xaf\\x12\\xd9\\x96\\x27\\xb6\\x24\\xb1\\xb4\\x00\\x8d\\x0f\\xe2\\x86\\x84\\xcb\\x25\\x13\\xbd\\x91\\x46\\x0e\\x36\\x3b\\x6c\\x46\\xfa\\x32\\x83\\xb2\\x7b\\xd4\\x6a\\x5e\\xe2\\xbe\\x1a\\xd2\\x33\\xe9\\x8e\\x79\\x8e\\x55\\xcf\\x47\\x1f\\xf3\\x3c\\x51\\x06\\x1f\\x9d\\x34\\xe7\\xf2\\x70\\xe9\\x9f\\x27\\x2f\\xcf\\x3f\\x50\\x0a\\x97\\x17\\xe5\\xce\\x49\\xeb\\xf4\\xe1\\x19\\x0b\\xd4\\x7f\\x05\\x1f\\x81\\xef\\x3a\\x66\\xcc\\x34\\x3e\\xb3\\xa9\\xf5\\x19\\xb7\\xa4\\x09\\x9d\\xed\\x5a\\xa0\\x41\\x40\\x3a\\x97\\xcc\\xa5\\x59\\xf7\\x49\\x17\\xb6\\x4b\\x15\\xaa\\x66\\x2e\\x58\\x44\\x74\\x96\\x6d\\xa4\\x4f\\xcd\\x8c\\xff\\x44\\x13\\x69\\x95\\x1f\\x4c\\x50\\x73\\x7a\\x83\\x9e\\x08\\x64\\x68\\x88\\x06\\x66\\x8b\\xb9\\x44\\x8c\\xb1\\x5b\\xe2\\x62\\x6d\\x06\\x4b\\x6c\\x2c\\x51\\x7e\\xb5\\x36\\xac\\xd2\\x32\\x6e\\xd8\\x28\\x95\\xc3\\xbd\\xd3\\xd8\\x31\\xb4\\x0f\\x6c\\xbe\\x06\\xed\\x97\\x3a\\x55\\xa6\\x86\\x17\\xef\\x4d\\xf6\\x06\\xfc\\x49\\xe9\\x50\\x85\\x3f\\x6c\\x76\\x3e\\xb6\\xba\\xd3\\xdb\\x6d\\x42\\x9f\\x9c\\x7b\\xfb\\x62\\x55\\xec\\xdb\\x8b\\xa4\\x6b\\xb1\\xb0\\x3f\\x54\\x9f\\xeb\\x0b\\x07\\xc6\\xd6\\xad\\x81\\x27\\x13\\xa4\\x6b\\x7d\\x8e\\x58\\xd5\\x1a\\x0d\\xfa\\xea\\xeb\\xf5\\xd2\\x13\\x70\\x2c\\x3d\\xd6\\x7f\\xbd\\x1e\\x5e\\x96\\x32\\xd6\\x7f\\xfd\\xf5\\xfa\\xd1\\x43\\x07\\xd3\\xd8\\x37\\xf5\\xb7\\xeb\\xaf\\xf3\\x26\\x22\\x97\\x02\\x54\\xdf\\x4a\\xe1\\x78\\x62\\x35\\x26\\xf1\\x5e\\xd6\\x04\\xb7\\x21\\x33\\x9b\\xb7\\x1b\\xa2\\x78\\x03\\x6f\\xc8\\x8e\\xca\\xce\\x28\\x11\\xb3\\x6d\\x51\\xd6\\x52\\x31\\x8a\\x03\\x77\\x2a\\x58\\x61\\xd5\\xa2\\xa9\\x24\\xb2\\x65\\x31\\xab\\xab\\x03\\xca\\xa3\\xbe\\xa0\\x95\\x28\\x75\\xe1\\x20\\xaa\\x02\\xa3\\x3c\\x81\\xc9\\x22\\x23\\x8c\\x25\\x0a\\xab\\x3f\\x2e\\x40\\x0d\\xe6\\xa4\\x1c\\x8b\\xd0\\x2f\\x76\\x75\\xea\\xb8\\x85\\xcf\\xcd\\x0c\\x4d\\x89\\xc5\\x0f\\x3a\\xff\\x5c\\xf0\\x6c\\xcb\\x63\\xbd\\xeb\\x3e\\x3c\\xfb\\x51\\xe4\\xca\\xd8\\x73\\xd9\\x2f\\xec\\xdb\\xd4\\x0c\\x7d\\x17\\x5b\\x37\\xc6\\x68\\x5c\\xbb\\x02\\xb6\\x28\\x3b\\xb4\\x46\\xca\\xb9\\xfa\\x03\\xcc\\xe8\\x99\\x68\\x5e\\xdf\\x22\\x2f\\x3d\\x25\\x76\\x7d\\xf3\\xec\\x3d\\xa3\\x27\\x79\\x0f\\xac\\x7b\\x72\\x4d\\xab\\x82\\xf5\\x39\\x45\\x29\\x89\\x86\\xf5\\xce\\xb6\\x66\\x6d\\xc9\\x83\\xb7\\x12\\xa5\\x4d\\x3b\\xd9\\x3b\\xbd\\xe9\\xf5\\x11\\xdc\\xcb\\x84\\xf6\\xa2\\x89\\x66\\x95\\x1b\\x8c\\xb5\\x7a\\xd4\\x84\\xea\\x22\\x4d\\x91\\x26\\xa8\\x53\\x68\\xcd\\xe6\\x86\\x6e\\x62\\xf7\\x03\\x48\\xb8\\xca\\x45\\x45\\x4f\\x6f\\x14\\xbc\\x0a\\xd9\\x05\\x68\\xcc\\xb7\\x80\\x35\\x4c\\x76\\x44\\x77\\xa4\\x94\\x46\\x24\\xaf\\x09\\x32\\xd2\\x43\\x08\\xbe\\x96\\x7a\\xfc\\xb4\\x73\\x01\\xfc\\x85\\xd0\\xdc\\x92\\xed\\x71\\x47\\x8c\\xc3\\x0a\\xdf\\x1d\\xf4\\x6c\\xde\\xda\\x71\\x37\\x57\\xa6\\x4a\\xf5\\xef\\x5e\\x2e\\x79\\x7c\\x5c\\x97\\xeb\\x9f\\x9a\\x7e\\xbc\\x32\\x7e\\x01\\x5a\\xed\\x9d\\x3e\\xcb\\xbc\\x75\\x53\\xc7\\xe1\\x0f\\xd9\\x6a\\xaf\\xda\\xaa\\x27\\x76\\xdc\\x7f\\xd0\\xfc\\x19\\x3a\\x20\\x7d\\x1f\\xc7\\x65\\xe8\\x27\\x7e\\x28\\xbd\\x2b\\xef\\xfd\\xd0\\x71\\xd1\\xf0\\x7b\\xd5\\x8f\\x66\\x01\\x18\\x42\\x9b\\xa1\\x87\\xf1\\x95\\xf6\\xf5\\x37\\xb9\\x73\\x7c\\x11\\x8d\\x20\\x02\\xb2\\x09\\x97\\x19\\x17\\xb4\\xb7\\x56\\xe5\\x38\\x81\\xbb\\xd4\\x3d\\xd9\\x8d\\x81\\xdb\\xec\\xbe\\xe1\\xc6\\x3a\\xec\\xa6\\x2c\\x26\\xc3\\xe6\\x28\\x74\\xbb\\xe3\\xe3\\x63\\x8e\\x89\\x29\\xf1\\x35\\x43\\x52\\x32\\x8f\\x89\\xa6\\x96\\xf5\\x2d\\x91\\x1e\\xb7\\x0c\\x92\\x9f\\x5a\\xb6\\x4c\\x11\\x04\\xf3\\x31\\x11\\x08\\x35\\x43\\x40\\x24\\xf9\\x8e\\x6a\\x78\\xa9\\x22\\xbf\\x6f\\x96\\x87\\x20\\xbb\\x9e\\x42\\x23\\xdf\\xf1\\x72\\xf8\\x21\\x39\\x8c\\x8e\\x8d\\xf6\\x32\\x62\\x51\\xb2\\xac\\x2c\\x68\\x94\\x43\\x89\\x56\\x46\\x33\\x44\\xc6\\x42\\x81\\xd1\\x81\\x11\\xd2\\x37\\x31\\xb8\\xdf\\xc8\\xf2\\xc1\\xcf\\xcc\\xba\\x90\\x33\\x6a\\xd9\\xe3\\x45\\xed\\x8b\\x3a\\x14\\xb7\\x19\\xd0\\xa6\\xee\\xa9\\x3e\\xfd\\xb2\\x56\\x25\\x6f\\x29\\x1b\\x33\\x76\\xd8\\xf3\\x53\\x07\\x8f\\xa8\\x82\\xf9\\xad\\xfb\\xb7\\x51\\xd3\\x19\\x71\\xfd\\xe2\\x39\\xf3\\x60\\xc6\\xd3\\x7f\\x0d\\xb9\\xbe\\x47\\x44\\x83\\x16\\xcc\\x95\\xbe\\xef\\xb3\\xf8\\x51\\xa8\\x81\\x89\\x5b\\x76\\x6a\\xe6\\x3e\\xf9\\xe8\\xfc\\x85\\x30\\x71\\xf3\\xbc\\x79\\x3a\\x5d\\x8c\\xfa\\xa1\\xb9\\xd7\\xeb\\x96\\x93\\x11\\x89\\x20\\x4f\\x74\\x2e\\xc4\\xaf\\x27\\xe3\\xb2\\x39\\xe8\\x16\\x4c\\xb4\\x98\\x52\\x8c\\xa6\\x62\\x51\\x1f\\x63\\x34\\xc6\\xa4\\xc4\\x14\\x8b\\x29\\x29\\xf6\\x66\\x89\\xc0\\x9e\\x58\\x2c\\x5a\\x55\\x76\\x15\\x28\\x16\\x31\\x56\\x45\\x52\\xdb\\x8c\\xbe\\x5c\\xb7\\xca\\xd1\\xf8\\xad\\x61\\x93\\x22\\x9c\\xd0\\x2a\\x23\\x91\\x2e\\x0c\\x93\\x63\\xf7\\xe4\\x04\\x54\\x44\\xf2\\x2a\\x82\\x99\\x0a\\x5e\\x13\\xa4\\x62\\x04\\x2a\\xa6\\x7a\\x07\\x84\\xc6\\xfb\\x47\\x26\\xe5\\x97\\x5f\\x1d\\x3a\\x86\\x4f\\xf6\\x0f\\x35\\xf6\\xec\\x3c\\x35\\x7a\\xdb\\xbc\\x01\\x25\\x33\\xdf\\x9e\\x9b\\xae\\x09\\xc0\\x92\\x56\\xa9\\xfe\\x02\\x67\\x99\\xb8\\x71\\x68\\xaf\\x8a\\x09\\xd2\\xdb\\x13\\xc6\\x39\\x5a\\xbd\\x1d\\xe5\\xed\\x16\\xe3\\x41\\x3d\\xd6\\x6e\\x9c\\x54\\x36\\x43\\xfa\\xf9\\xcb\\xbc\\x9b\\x2d\\x13\\xbb\\x76\\xe2\\xca\\xf3\\x7b\\x57\\xcc\\x96\\xf8\\xac\\x73\\xbf\\x51\\x9b\\x74\\x2f\\x39\\xfd\\xc8\\xec\\x24\\x17\\x68\\x46\\xda\\x96\\x1d\\x8c\\x31\\x92\\x56\\x18\\x8d\\x11\\x29\\x11\\xee\\x62\\x31\\xc2\\xa4\\x23\\x1c\\x22\\x25\\x95\\xf4\\x70\\x8a\\x5a\\xd6\\xbd\\xfc\\xac\\x51\\x34\\xa0\\x57\\x93\\x97\\x01\\xd8\\x04\\xa9\\x49\\x44\\xa0\\xb7\\xf9\\x35\\x34\\xa8\\x3d\\xeb\\x25\\xda\\x0c\\x1b\\x6b\\x00\\x52\\xc2\\xc8\\x43\\x1a\\x6e\\xab\\x63\\x27\\x63\\xec\\xe6\\x55\\x50\\x75\\xba\\x9b\\xd9\\xbe\\xf5\\x31\\xe9\\x36\\x5c\\xf6\\xf2\\xc0\\x27\\xc6\\x96\\x0f\\xea\\x5f\\x3d\\x20\\x2e\\x2e\\xbb\\x63\\x5b\\x8f\\x3b\\xd0\\xa9\\xad\\x94\\xec\\x82\\x87\\x5d\\x9c\\x6b\\xd0\\xf3\\x75\\xdf\\xf2\\xf9\\xb5\\x5f\\x54\\x2c\\xc6\\xad\\x6f\\xbf\\x0c\\xd3\\xbe\\x59\\x00\\xdd\\x6b\\x26\\x57\\xcc\\x90\\x2e\\xac\\x42\\x6d\\x03\\x69\\x13\\xa5\\x5f\\x7a\\xe5\\xa4\\x8c\\x87\\x51\\x75\\x5f\\x2d\\x5f\\x4e\\xe8\\xb7\\x1b\\x48\\xe2\\xae\\x90\\xf1\\x68\\x02\\x31\\x20\\x19\\x64\\x80\\xbc\\x60\\x42\\x6c\\x8b\\xb7\\xc4\\xd8\\xe6\\xc1\\xe6\\x71\\x6f\\x89\\xa0\\xb9\\xb9\\x79\\x5c\\x73\\x42\\xbf\\xcd\\x4d\\x7a\\xdb\\x5b\\xa2\\x1e\\x7a\\x3c\\xa4\\x8a\\xb7\\x44\\x0e\\x28\\x3d\\xc3\\x98\\x51\\x83\\xf1\\x4c\\x17\\x16\\x44\\x20\\xce\\x17\\x9f\\x80\\xb2\\xd9\\x24\\x29\\x67\\x15\\xcc\\x80\\x35\\xc7\\x0c\\xfc\\x99\\x20\\x91\\xbe\\xee\\x64\\x66\\x81\\xcf\\x46\\x6d\\x02\\xa2\\x67\\xe5\\x70\\x57\\x56\\x4b\\x7f\\x1d\\x3a\\x20\\xfd\\xf5\\xf8\\x6a\\xa8\\x39\\x70\\x00\\x6a\\x56\\x0f\\x95\\xea\\xbe\\x7f\\xf2\\xd3\\x99\\xa0\\xfe\\x87\\x1f\\x20\\x0a\\x3d\\xba\\x10\\xfa\\x57\\x3f\\xf9\\xf8\\x82\\x35\\x25\\xc5\\xbb\\x8e\\x15\\xf5\\x43\\x7f\\x7d\\x2b\\xbd\\xb4\\x73\\x17\\xec\\xf2\\xdd\\x37\\xb0\\x60\\xf7\\x2e\\xe9\\xe5\\x6f\\x61\\x0b\\xd8\\xb5\\x4a\\xfa\\xee\\x2d\\xe9\\x23\\xe9\\x18\\x2c\\xfc\\x54\\x3a\\x80\\xf3\\x16\\x4c\\x9a\\xb9\\x0a\\x82\\xfc\\x42\\xe9\\x83\\xfe\\x94\\xe7\\x70\\xb8\\x3b\\xf7\\x16\\x7f\\x1e\\x98\\x81\\x13\\xe4\\x04\\xe3\\xed\\x36\\xa3\\xc5\\x1e\\x69\\x7f\\x4b\\x84\\x2a\\x8d\\x51\\x85\\x23\\x81\\x49\\xef\\xd1\\x23\\x13\\xe7\\xe1\\x48\\x56\\xb5\\x9e\\xb3\\xbd\\x47\\x5f\\x42\\x0d\\x1b\\x96\\xe7\\x50\\x38\\x2a\\x6d\\x96\\x85\\x68\\xcc\\x28\\x99\\xc0\\xef\\xb7\\xd1\\x78\\x9b\\x16\\x48\\xe7\\xe6\\xb3\\xbd\\x76\\xae\\x44\\xf5\\x96\\xb8\\x31\\x7d\\xcc\\x53\\x35\\x86\\xf6\\x2b\\x37\\xd4\\x0d\\x98\\xb4\\x1b\\xbe\\x8d\\xbb\\x23\\x60\\x95\\xac\\x70\\xe9\\x3c\\x09\\xa0\\x87\\xa5\\x74\\xdf\\x16\\x38\\x20\\xb4\\x10\\x25\\x86\\x3e\\x45\\x89\\x43\\x87\\xca\\x36\\x49\\x5b\\x1a\\xf7\\x87\\xf0\\x7e\\xba\\x42\\xd2\\xaa\\x77\\x3a\\x35\\xd1\\x2e\\x2a\\x6e\\x5d\\x56\\x40\\x0c\\x6b\\xa0\\x70\\x79\\x59\\x28\\xc9\\x6e\\x2a\\x33\\x81\\x25\\x02\\x09\\x39\\x6d\\xa1\\xdd\\x9b\\xcd\\xf4\\x49\\xa6\\x36\\x59\\x1d\\xe4\\x96\\xe8\\xa2\\x4c\\x08\\xa3\\xf2\\x7f\\x43\\xcf\\xbe\\xe7\\x66\\x34\\x7f\\x4b\\x8a\\x7d\\x64\\xf1\\x9e\\xed\\x2f\\xee\\x5a\\x52\\x29\\xc5\\xbe\\xd5\\x7c\\xc6\\x73\\xfb\\xa0\\x87\\x1f\\x2c\\xbd\\x22\\xfd\\x7c\\x52\\x3a\\x3e\\x5e\\xf7\\xd4\\x57\\x65\\x50\\xbd\\xe7\\xab\\x7f\\x5d\\xff\\x6c\\xaf\\xf4\\x57\\xd9\\x57\\x4f\\xe9\\x26\\xc0\\x6e\\xaf\\x10\\x4d\\xad\\x33\\xc1\\x55\\x49\\xfd\\x17\\xdc\\x12\\xae\\x90\\xc8\\x54\\x0f\\xe8\\x70\\x24\\xc2\\x60\\xf1\\x18\\x6a\\x60\\x42\\x50\\x2f\\x9a\\x3c\\x50\\x87\\x3d\\x1e\\xa0\\x56\\xc7\\x90\\x84\\x23\\xa2\\xda\\x0c\\x2c\\xe4\\xe2\\x90\\x48\\x27\\x0c\\x9a\\xcc\\xa3\\x87\\xb5\\x1f\\xc6\\x9e\\x90\\x42\\xd8\\x56\\xbb\\xd7\\xc2\\xcc\\x7c\\xca\\x95\\x6c\\x16\\x3a\\x07\\x28\\x58\\xd0\\xd4\\x2d\\x37\\x2a\\x1f\\xf9\\xf3\\x89\\x0d\\x7f\\x3c\\x52\\xf7\\x46\\xe6\\x73\\xfd\\x97\\x9e\\xe8\\x55\\x58\\xf6\\xd9\\x7a\\xff\\xb3\\x03\\x0f\\xcf\\x88\\xaf\\x82\\xc2\\xd3\\xcf\\x83\\xfa\\xc7\\x57\\x4b\\xd2\\x0e\\xe9\\xa9\\x9c\\x82\\xf1\\x0b\\x52\\x37\\xcf\\x41\\x8f\\x42\\x7b\\x76\\xc7\\x19\\xd2\\x8f\\xb2\\x4e\\x67\\xad\\xaf\\xe7\\xfe\\x62\\xef\\xf2\\x74\\xc0\\x48\\x74\\xff\\x07\\x82\\xcd\\xad\\x51\\xc7\\x44\\xab\\x95\\x53\\x27\\xb5\\x38\\x26\\x1a\\x54\\xc7\\xc4\\x98\\x8c\\xc8\\x54\\xbd\\x41\\x93\\x67\\x80\\x91\\xa9\\xea\\x24\\x83\\x21\\x49\\x9d\\x1a\\xc9\\x23\\x0d\\xc6\\x18\\x51\\xeb\\x44\\xd1\\x04\\xd2\\xd3\\x87\\xc9\\x72\\x34\\x57\\xd1\\x72\\xd8\\xca\\x1b\\x9f\\x06\\xd2\\x50\\xf8\\x64\\x94\\xea\\x88\\x8d\\xc4\\xac\\x81\\xec\\xa6\\x93\\x15\\x90\\x69\\xb0\\x84\\xb3\\x66\\x37\\xcc\\x55\\x20\\xee\\xaf\\xda\\x3f\\x27\\x70\\xea\\x50\\x9e\\xe5\\x83\\x8a\\xf1\\x70\\x46\\x69\\xd1\\xd3\\xcb\\xb7\\xa2\\xab\\x5b\\x2a\\x2b\\xc6\\x8d\\x46\\x81\\x82\\x9e\\xfd\\x9d\\x2d\\x0a\\x07\\xf7\\x58\\xbb\\xe8\\xec\\xe8\\xc9\\xf9\\x0f\\x74\\x6d\\xd7\\xbb\\xbd\\x8f\\xcf\\xbf\\xfd\\x32\\x9f\\x1f\\x8a\\xbc\\x7a\\x15\\xfd\\x18\\x8a\\x44\\xa2\\xf4\\x45\\x68\\xc2\\xec\\xe5\\xc3\\xca\\x23\\xdb\\x06\\xf3\\x3b\\xc5\\x24\\xc4\\x38\\xdc\\x7d\\xda\\x4c\\x5a\\xb4\\x4b\\x67\\xe4\\x46\\xe4\\xe5\\x34\\x6f\\x6e\\x73\\x35\\x0f\\x32\\xfa\\x29\\x25\\x08\\x68\\xc5\\xb5\\x01\\x1a\\x10\\x1b\\x34\\xb1\\x28\\x11\\x6a\\x0c\\x4c\\x0d\\x21\\x22\\x64\\x4d\\x34\\x8d\\x85\\xb6\\x56\\x62\\x43\\xe0\\xf9\\x47\\xde\\x0f\\xc1\\x68\\xd4\\xa3\\x43\\xe8\\xb3\\x68\\x94\\xc0\\xb5\\xa9\\x3d\\xb7\\x12\\xe6\\x3d\\x4a\\x6c\\xe8\\x0e\\xf5\\xbf\\xf2\\x80\\xcf\\x37\\x27\\xab\\x7f\\x94\\xae\\xb3\\x5d\\x8f\\xbf\\xdc\\x20\\xb6\\xb4\\xfa\\x3a\\xdc\\x13\\x3a\\x42\\x6d\\x69\\x5b\\x54\\xd8\\xa7\\x4b\\xfd\\xaf\\x2c\\x6f\\x31\\xc9\\xfb\\xd3\\xfd\\xf3\\x7a\\x1a\\xf2\\x82\\x96\\xf5\\xff\\xe6\\x4e\\xf0\\xf9\\x56\\x5a\\xee\\x67\\x72\\xde\\x9f\\x68\\xde\\x1b\\xb0\\x47\\xe8\\x28\\xd0\\x1d\\xe1\\x30\\x4a\\x8b\\x6a\\xf4\\xf1\\x02\\x5a\\xb3\\xfc\\xc5\\x24\\xff\\xf5\\x7a\\x8f\\x9c\\xbf\\xee\\xae\\xfc\\x5d\\x9b\\xe6\\xef\\xd3\\x50\\xfe\\x2f\\xf5\\x5e\\x39\\xbf\\xfa\\xae\\xfc\\x6d\\x9b\\xe6\\x77\\x92\\xfc\\x1b\\x59\\xfe\\x5f\\xeb\\xdb\\xcb\\xf9\\x8f\\xca\\xf9\\xd3\\xc2\\xf9\\x9b\\x35\\xe4\\x27\\x38\\x1e\\x4a\\x64\\x58\\x11\\xd7\\x8b\\x68\\xc9\\xc9\\x41\\x9b\\xd5\\xea\\xe0\\x38\\xe0\\x70\\x98\\x8a\\x44\\x87\\x19\\xa8\\x8b\\xee\\xa6\\x7b\\x36\\xe7\\x41\\x25\\x72\\x40\\x61\\xdd\\xca\\xa4\\x71\\x72\\x07\\x24\\x73\\x76\\x23\\x84\\x9f\\x1e\\x7d\\xe7\\xf5\\xb1\\x33\\x1f\\xd9\\x37\\x62\\xf6\\xec\\xf1\\xcf\\x25\\xbd\\x12\\xb7\\xfe\\xa3\\x39\\xe7\\x2f\\xf5\\xdd\\xf1\\x43\\xc4\\xde\\x27\\x8c\\xaa\\x01\\x15\\x8f\\xc1\\x9c\\x47\\x97\\xcc\\x19\\x3b\\x41\\x5f\\xfa\\xb4\\x78\\xee\\xd4\\x42\\xe9\\xeb\\x0f\\xc7\\x31\\x38\\xd4\\x60\\x14\\x77\\x16\\x75\\xa1\\x73\\x73\\x41\\x0d\\x06\\x41\\x1d\\xd8\\x2f\\xaa\\x75\\x20\\xfd\\xa2\\xcc\\x75\\x89\\xc2\\x17\\xe9\\xf0\\x25\\x25\\x67\\x13\\xd9\\x48\\xd4\\x3a\\xfb\\xf7\\xb9\\x1d\\x0a\\x17\\xae\\x59\\xb3\\xb0\\xb0\\x43\\x2e\\xfe\\x1c\\xa6\\x74\\x5e\\xbc\\xbe\\x5b\\x42\\xb7\\xf5\\x8b\\x3b\\x0f\\xa0\\xef\\x0c\\x67\\xd6\\x9f\\xc1\\x03\\xb8\\x85\\xa4\\x2c\\x3b\\xb1\\x78\\x74\\x40\\x33\\x09\\x11\\x35\\x1d\\xa4\\x9f\\x1d\\x46\\x37\\xa1\\x10\\x7a\\x51\\x09\\xb4\\x9c\\x48\\x87\\x3d\\x89\\x70\\x3b\\xd4\\xb6\\xf1\\x69\\xbc\\xb5\\xb1\\xdc\\x3a\\xdf\\x3d\\x70\\x69\\xf4\\x41\\x83\\x7e\\xbf\\x88\\x0c\\x20\\xfd\\x5d\\x06\\x17\\x5d\\x70\\x99\\x94\\x4c\\x4b\\x62\\x16\\xb4\\x37\\x1b\\x7f\\xd7\\xb4\\x00\\xb8\\xb0\\x09\\x60\\xf7\\xc2\\x85\\x4a\\x35\\x50\\xa3\\x6a\\x84\\x2b\\x31\\x27\\x40\\xcb\\x21\\xad\\x8c\\x74\\x58\\xfc\\xa8\\xaa\\xf1\\xe1\\x67\\x9b\\x36\\xf7\\x0e\\x7c\\x39\\x40\\x4c\\x50\\x6f\\x54\\xeb\\xec\\x48\\xc6\\x19\\x41\\x99\\x8c\\xb1\\x4c\\x33\\x8d\\x06\\x74\\x07\\xd6\\x9a\\x40\\xda\\x04\\x7f\\x48\\x6a\\xbc\\x6e\\x82\\xc9\\x86\\x0b\\xf9\\x3d\\x6c\\x18\\x76\\x07\\xf0\\x06\\xcd\\x0e\\xbd\\xb1\\xd4\\x0e\\xed\\x56\\xa0\\x0b\\xa3\\xf6\\x02\\x6b\\x02\\x3b\\xdf\\x85\\xdf\\x26\\x6d\\x6a\\x82\\xe9\\x86\\x8b\\xa6\\x18\\x0f\\xa1\\xc6\\x6b\\xba\\x96\\x64\\x66\\x7d\\x21\\xab\\x13\\x13\\x4d\\x3a\\x2b\\xe8\\x8a\\x36\\x5b\\x41\\x14\\x34\\xe1\\xa8\\xc8\\x20\\xc0\\xfb\\x45\\x00\\x22\\x39\\x93\\x61\\x92\\x8a\\x48\\xb8\\x70\\xfd\\x7e\\xb9\\xed\\x17\\x08\\x7f\\x66\\x80\\xf0\\x5e\\xbb\\xd7\\xf6\\x37\\xc0\\xc0\\x99\\xf0\\x2b\\x29\\xee\\x8d\\x7b\\x21\\xaa\\x28\\xe2\\x06\\xfd\\x2d\\x4c\\x60\\x4c\\xfd\\x77\\xdc\\x48\\xfe\\x0d\\x32\\x5e\\x9a\\x83\\xf4\\xa0\\xd3\\x63\\x36\\x1b\\x0c\\xf1\\xc5\\xa2\\xc1\\xc0\\xc7\\xc4\\x44\\x16\\x89\\x31\\x80\\x4f\\x29\\x12\\xf9\\xc8\\xbb\\x16\\x48\\x00\\x79\\x0e\\x34\\x42\\x0b\\xe5\\x78\\x9a\\x6c\\xbc\\x38\\xfc\\xe1\\x77\\xcf\\x34\\x4c\\xa4\\x15\\xcb\\x2f\\xf1\\x94\\x91\\xc5\\x8d\\x1c\\xba\\xf3\\xa7\\xaa\\xa3\\x67\\xfb\\xad\\x3a\\x33\\x63\\xd4\\xa6\\x44\\x8e\\x5f\\x5b\\xd5\\xee\\xd1\\xac\\xe4\\x79\\x73\\xde\\xff\\xf6\\xaa\\xfd\\x91\\xfe\\x0f\\x6e\\x1f\\x3b\\x69\\x54\\xc9\\x8e\\x19\\x78\\xd7\\x61\\x69\\xb1\\xf4\\xef\\x15\\x6f\\x1f\\x9b\\x59\\x7b\\x78\\xd4\\xc8\\x7e\\x79\\x39\\x67\\xdf\\x4b\\x4e\\xa8\\xee\\x20\\x5d\\x0f\\xfd\\x29\\x4e\\xad\\x94\\xfe\\x7a\\x78\\xda\\x23\\xeb\\x59\\x88\\x2d\\x02\\x3b\\x5d\\xbf\\x76\\x9a\\x7f\\x98\\xae\\x31\\x06\\x19\\x41\\x57\\xac\\x0a\\x9a\\x54\\xd0\\xc0\\xa9\\x30\\xe2\\x34\\x1c\\x84\\x9c\\x06\\xab\\x81\\x9a\\x48\\x66\\x2b\\x8b\\xbf\\xe3\\xf0\\xd3\\x37\\x91\\x44\\xa7\\xa3\\x16\\x7e\\xab\\x0c\\x7f\\x36\\x11\\x10\\x76\\x88\\xa1\\x17\\xea\\xe1\\xe7\\x37\\xe1\\xb5\\xd0\\xf6\\x32\\xe9\\x1d\\x9c\\x25\\x9d\\xab\\xe2\\x6e\\xd4\\x5a\\xab\\xb9\\xdb\\xd2\\x4f\\x75\\xc7\\x71\\x37\\xba\\xdf\\x4c\\xca\\xe5\\xca\\x88\\xcc\\x12\\x80\\xf9\\x38\\x8f\\xe8\\x1c\\x3a\\x47\\xf7\\x9b\\xb1\\x35\\x99\\x6c\\xbd\\x84\\xd7\\x82\\x77\\x85\\x16\\x9c\\xc2\\x7f\\x49\\xb9\\xaa\\xb1\\x7f\\x3d\\x21\\xe8\\xff\\x73\\x93\\xd2\\x74\\x34\\x79\\xee\\x20\\x79\\x4e\\x07\\x9a\\x05\\x6d\\x58\\xe0\\x84\\x12\\x51\\x8d\\x90\\x86\\xc3\\x50\\x03\\x34\\x04\\x2e\\x45\\x21\\x23\\x5c\\x3f\\x2a\\x3d\\x6c\\x06\\x66\\x6b\\x20\\xd1\\x50\\xbc\\x1a\\xe8\\xb5\\x47\\xa3\\xb9\\xa1\\xf5\\x5c\\xa7\\xba\\x43\\xa8\\x30\\xf4\\x22\\x7e\\x56\\xca\\x9d\\x80\\xe3\\xb1\\x6d\\xec\\x86\\x50\\x6c\\x48\\xd8\\x40\\xcb\\x9f\\x81\\x4a\\xb9\\x41\\xe8\\x77\\x65\\xad\\xec\\x5e\\x11\\x1e\\x96\\xd7\\xde\\x92\\x02\\x66\\xe0\\x6b\\xa8\\x74\\xed\\x5a\\x99\\x87\\x2a\\xeb\\x67\\xcc\\x2a\\xe1\\x17\\x46\\xfb\\x57\\xe1\\x76\\x24\\xa1\\x4b\\x54\\x06\\x1f\\x01\\x90\\xae\\x05\\x64\\x52\\xc7\\xe6\\xc7\\xf0\\x6a\\x9b\\x9f\\xda\\xc0\\xed\\x30\\x4d\\xfa\\x88\\x94\\xdf\\xab\\xfe\\x77\\x6e\\xbe\\xaa\\x1f\\x19\\x9b\\xf6\\xa0\\x96\\x47\\xfb\\x45\\x9e\\x17\\xa2\\x54\\xac\\xe9\\x4c\\x4e\\xf1\\x3e\\x48\\xd4\\x29\\x1b\\xf4\\xa3\\x15\\x63\\xa5\\xef\\x8e\\x41\\xe3\\xef\\x70\\xdf\\xc3\\x46\\xec\\x9c\\x11\\xea\\xc5\\x2f\\xa3\\xf1\\x91\\xc0\\x79\\x6e\\x37\\xbe\\x02\\x22\\x40\\x1c\\x48\\x03\\x9d\\x82\\xcd\\xec\\x09\\xc6\\x84\\xbd\\xa2\\xd3\\xcb\\x7b\\xcd\\x58\\x6d\\x35\\x46\\xa7\\xaa\\x53\\xf7\\x8a\\x38\\x4f\\x5d\\xa2\\xae\\x57\\x63\\x75\\x30\\xba\\x79\\xa1\\x3a\\x68\\x8d\\x2c\\x54\\x13\\x78\\xd2\\x86\\xf9\\x95\\x85\\x0d\\x44\\xdc\\x37\\x4c\\xd7\\x52\\x81\\x8e\\xc3\\xa1\\xf1\\xfd\\x99\\x34\\xd2\\x75\\x24\\x0d\\x6c\\xab\\x48\\xf8\\x24\\x9e\\xd1\\x1c\\x23\\x39\\x6e\\xf7\\xd6\\x39\\x27\\x66\\xb5\\xde\\xd2\\x67\\xc1\\x96\\x6d\\x73\\x8f\\x4f\\x5b\\xbc\\x6f\\xe1\\x46\\xe9\\xdd\\xf6\\xe5\\x19\\x2d\\x46\\x77\\x2a\\x1c\\x3e\\x5c\\x2a\\x6d\\x5e\\xde\\xb9\\xeb\\xd0\\xa1\\xdd\\x66\\xa0\\x5e\\xcf\\x7f\\x0e\\x5d\\x0b\\x9e\\xf8\\x70\\xff\\xee\\x8f\\xa5\\xef\\xa0\\xfd\\xa3\\x3e\\x0b\\x16\\x2f\\x5a\\xb4\\x66\\xda\\xb8\\xea\\xdb\\x8b\\x16\\xad\\x9d\\x3c\\x6d\\xa5\\x2c\\x57\\xb2\\x08\\x0e\\x37\\x70\\x6f\\x12\\x5a\\x33\\x1c\\x65\\xa8\\xa0\\x6b\\xcc\\x29\\xb2\\xfd\\x74\\x31\\x60\\xd6\\x70\\x4e\\x55\\xfb\\x14\\xf7\\x66\\xed\\x93\\xc3\\x49\\xde\\xa7\\xea\\x25\\x2e\\x83\\x53\\x03\\x1b\\x30\\x1d\\xe3\\x4d\\x24\\xaf\\x8e\\xe2\\x8c\\xe6\\x76\\x58\\xd8\\xcb\\x27\\x37\\xb4\\x13\\xaa\\x91\\xd5\\x41\\xcb\\x53\\xd3\\xdf\\x5b\\xbc\\xe4\\x83\\x59\\xe5\\x67\\xb7\\x3e\\x7b\\x1a\\x21\\xf0\\xc4\\xaf\\x95\\x4b\\x7f\\x5f\\x47\\x94\\x50\\xf4\\xea\\xb7\\xdf\\xbc\\x2e\\xd1\\xba\\x7f\\x92\\x72\\xf1\\xd7\\xfc\\x35\\x22\\xbc\\x48\\x3f\\x58\\x49\\x47\\x5b\\x05\\xfd\\x5e\\x51\\x00\\xcc\\xf0\\xa2\\x3d\\x47\\x8b\\x61\\xf3\\x75\\xd9\\xa4\\xe1\\xd9\\x16\\x36\\xd3\\x69\\x4f\\xc2\\x13\\xfb\\x8a\\xfb\\x9e\\xeb\\x1d\\x68\\x97\\xbb\\x6b\\xdf\\xf3\\x03\\x9b\\xb7\\xe2\\x07\\xcd\\x9a\\x5a\\xdb\\x62\\xcf\\x71\\x5b\\xb5\\xf3\\x07\\xee\\xbd\\x3d\\xc7\\xac\\xeb\\xa2\\xe5\\x71\\x34\\x1e\\x16\\x71\\xa5\\xf8\\x26\\xe1\\x85\\x2d\\xc0\\x92\\xe0\\x80\\x14\\xdf\\x5e\\xd1\\x65\\x4a\\xf1\\xa4\\xa4\\xa7\\x60\\x2b\\x4e\\x09\\x3a\\x62\\x0a\\x53\\xe8\\x4c\\x5b\\x8a\\x3b\\x98\\xe4\\x76\\x3b\\xf7\\x8a\\x25\\xc4\\xda\\x0f\\x5a\\xed\\x85\\xd4\\x52\\x46\\x5a\\xec\\xd6\\xf1\\x7b\\xa9\\x11\\xe5\\xd1\\xa5\\xeb\\xc8\\x03\\x3a\\xfa\\x80\\x8e\\x3e\\xa0\\x03\\x41\\x35\\x00\\xd6\\xbd\\x62\\x1e\\x7d\\xa9\\x2b\\xbf\\x84\\x66\\x26\\x07\\xb5\\x86\\x33\\x29\\xf0\\x54\\xf1\\xbc\\x3b\\x99\\x2d\\x60\\x4d\\x66\\x7c\\x24\\x9b\\xea\\xa1\\x1e\\x48\\x7b\\x37\\x60\\x37\\x42\\xcc\\xce\\xbe\\xa6\\xbf\\xd2\\x90\\xeb\\x43\\xf3\\xab\\xba\\x55\\xf6\\xcb\\x9b\\xda\\x75\\xea\\xfa\\x9e\\xd5\\x05\\x26\\xb1\\x57\\xec\\xe2\\xa9\\xed\\xa6\\xe5\\x93\\xd3\\x8c\\xbe\\xec\\xa7\\xce\\xd3\\x3b\\x4e\\xda\\x30\\xba\\xb2\\x7a\\x20\\xba\\x95\\xe6\\x6a\\x91\\xe8\\x7f\\xbc\\x5f\\xf3\\x28\\xde\\x6d\\x1a\\xbe\\x3e\\x35\\x49\\xba\\x36\\xb4\\xba\\x45\\x62\\x73\\x57\\x7a\\x4a\\xfa\\x63\\xfd\\x5a\\xfa\\x23\\x80\\x3c\\x47\\x1e\\xe0\\x06\\xf2\\x66\\xd2\\x7f\\x83\\x83\\x1d\\xcc\\x6a\\x8d\\x7a\\xaf\\x68\\xd0\\x65\\x68\\x8a\\x34\\xa5\\x9a\\xc9\\x1a\\xae\\x88\\x9c\\x16\\x69\\x0e\\x68\\x2e\\x6b\\x78\\x13\\x91\\x77\\x58\\x63\\xe1\\x39\\x82\\x00\\x04\\x3c\\xdc\\x42\\xee\\x19\\x6e\\x3f\\x77\\x8a\\xe3\\xf3\\x38\\xc8\\x51\\x4a\\xa6\\x36\\xd7\\xb0\\x29\\xfe\\x73\\x32\\x29\\xb3\\x17\\x10\\xe7\\x1a\\xd6\\x09\\xf8\\x6c\\x74\\xf4\\x78\\xb3\\xe9\\x6b\\x5a\\x42\\x43\\xe4\\x80\\x7f\\x6c\\xa8\\x7a\\xf2\\x67\\x18\\x78\\x55\\xd2\\xa1\\xf6\\x9b\\xd6\\x6c\\x80\\x76\\xe9\\xd9\\x53\\x28\\x16\\x0e\\x92\\xbe\\x84\\xde\\x75\\x70\\xfc\\x3a\\x98\\x20\\x7d\\xb6\\x4e\\x5a\\xb7\\x4e\\x99\\x13\\x04\\x37\\xb9\\x81\\x5c\\x91\\xb2\\xde\\xad\\x4d\\x30\\x91\\x42\\xaa\\xd1\\xf0\\x90\\xc2\\xc3\\x51\\x8e\\x30\\x09\\x3e\\x03\\xf7\\xb3\\x55\\x0c\\x7c\\x11\\x84\\x74\\x5d\\x03\\x82\\x74\\xf1\\xd0\\x30\\x46\\x39\\x0d\\xa6\\x2d\\xe5\\x18\\x50\\x39\\xa6\\xe3\\x6b\\x75\\xb1\\xf2\\x81\\x5f\\x59\\xb7\\x2e\\xd4\\x7a\\xdd\\x3a\\x38\\x8a\\xd6\\x88\\xc0\\x34\\x32\\x06\\x06\\x71\\x97\\xd8\\xda\\xab\\x4e\\xc1\\x54\\x81\\xd4\\x26\\x40\\xb6\\x82\\xeb\\xb2\\x0a\\xa6\\xab\\xf2\\x54\\x97\\x54\\x58\\x85\\x0f\\x20\\x42\\xc6\\x6b\\x10\\x9c\\x8c\\xa0\\x09\\xf5\\x46\\x25\\x88\\x2e\\x04\\x26\\x55\\x0e\\xf3\\x93\\xb3\\xdf\\xca\\x56\\x22\\x2a\\xb5\\x42\\xbb\\x06\\xda\\x79\\x99\\x5d\\xd5\\x3d\\x8f\\x07\\xd7\\x45\\x13\\xb6\\x35\\xeb\\x22\\x5c\\xb9\\x49\\x7a\\x51\\x7a\\x71\\xe3\\xf5\\x2a\\x79\\xbf\\xdb\\x74\\x52\\xef\\x40\\xa5\\xde\\x60\\x30\\x85\\xd5\\xab\\xe2\\x11\\xc2\\x07\\xb8\\xd3\\x1c\\x5a\\xc3\\xc1\\xc9\\x1c\\x34\\x71\\xbd\\xb9\\x12\\x0e\\x73\\xf0\\x32\\x8b\\x6e\\x0e\\x2e\\x29\\xcb\\xa4\\x32\\xe5\\xaa\\x1b\\x6b\\x0d\\x50\\x0e\\x0b\\x95\\xa6\\x0e\\x26\\xb5\\xb2\\xa6\\x5e\\xdf\\x08\\x07\\xc1\\x41\\x9b\\xa4\\x19\\x17\\x43\\x2b\\x48\\xad\\x08\\x3c\\x4a\\xea\\xec\\xc4\\xb5\\x25\\x16\\x8b\\x86\\xc6\\xc2\\x33\\xa9\\x3d\\x6a\\x64\\xe0\\x91\\x9a\\x68\\x4b\\x80\\xdf\\xcf\\x78\\x37\\x45\\x21\\x20\\x7d\\x4a\\x64\\x89\\x45\\x03\\x2d\\x89\\x5e\\x72\\x7e\\x14\\x7e\\x06\\x3f\\xab\\xdb\\x8c\\xad\\xd2\\x2c\\x69\\x16\\x9a\\x0b\\x4f\\x4b\\xc1\\x50\\x65\\x7f\\x04\\xe0\\x54\\x69\\x35\\xa3\\xad\\x69\\xe0\\x08\\x37\\x90\\xf0\\x6c\\x1e\\xb8\\x82\\x66\\x4c\\xba\\xc8\\x84\\xf3\\xf0\\xaf\\xc4\\xb6\\xc9\\x63\\x1b\\x15\\x86\\xa5\\x0f\\x63\\x52\\xc5\\x67\\x23\\xbd\\xa1\\xaa\\x86\\x94\\x8d\\x4b\\xfd\\x50\\x07\\xba\\x7e\\x0e\\xb9\\x43\\x1b\\x39\\xa4\\xda\\x49\\xe8\\x52\\x7f\\xd8\\xac\\x63\\x1c\\xe8\\x22\\x5d\\xef\\x4d\\x58\\x89\\x55\\x7e\\x53\\xeb\\x93\\xf7\\xe4\\xd9\\xd1\\xfe\\xaa\\xed\\xeb\\x0b\\x1e\\xcc\\xf4\\x25\\xa7\\xc5\\x46\\x47\\xfa\\xd3\\x42\\x1b\\x05\\xf7\\x0f\\x50\\xd3\\xad\\x75\\x72\\xab\\x84\\xb4\\x84\\x27\\x5f\\x90\\x79\\xda\\xf9\\xd0\\x46\\xb4\\xff\\x3e\\xe5\\xf9\\x89\\xd5\\x1a\\x66\\xb1\\x6c\\x63\\x5f\\x36\\x72\\x57\\x3d\\x5f\\xdd\\xa4\\x3c\\xd5\\xce\\xff\\x7c\\xf3\\xb3\\x54\\x7b\\x67\\x79\\xf5\\xb7\\x50\\x1a\\x77\\x05\\xbd\\x42\\x30\\xef\\x3c\\x8a\\x08\\x15\\x42\\x50\\x03\\xc1\\x21\\x11\\xd6\\x51\\xf9\\x2b\\x6f\\xc7\\xc1\\x04\\xed\\x5a\\xee\\x6b\\x94\\x56\\x25\\xef\\xdd\\xa1\\x6d\\x62\\x30\\x60\\xaa\\x8f\\x22\\x8c\\x39\\x1e\\x49\\xe0\\x36\\xa0\\xef\\x24\\xa1\\x12\\xe5\\x92\\xa8\\xb4\\xee\\xaa\\x2a\\xd5\\xce\\x5b\\x37\\x14\\x1c\\xd0\\x3a\\x78\\x10\\x1f\\xd4\\x72\\x3c\\xaf\\x82\\x02\\x27\\x01\\xcc\\x2a\\x02\\x75\\xb2\\x9a\\x42\\xea\\x52\\x96\\x51\\xd1\\x75\\xda\\xe4\\x69\\x74\\x22\\xf4\\x71\\x15\\x7a\\xa5\\xaa\\x76\\xa2\\x0c\\x27\\xad\\x33\\x5c\\x06\\xe6\\x38\\x01\\xa8\\xb0\\xd4\\x14\\xd8\\xa6\\x65\\x60\\xb6\\x20\\x5b\\x8b\\x4e\\x54\\x11\\xa0\\x6f\\x7f\\xce\\xad\\x55\\xe0\\xa6\\x6d\\x25\\x70\\xf3\\xc0\\x73\\x1c\\x11\\x30\\xb0\\x80\\x78\\x52\\xc0\\x11\\x11\\xd5\\x31\\xf0\\xd3\\x1a\\x81\\x60\\x12\\x82\\x34\\x01\\x35\\x0b\\x75\\x55\\xed\\xac\\xb3\\x55\\x29\\xb8\\x62\\xed\\x66\\x30\\x10\\x5a\\xa6\\x30\\xdc\\x66\\x45\\x1c\\xa2\\x45\\xdc\\x0b\\x83\\x9f\\xc0\\xd0\\x8c\\xc2\\x80\\x7f\\xae\\x5d\\xdc\\x80\\x3b\\x06\\x83\\x00\\x52\\x82\\x7a\\xa4\\x52\\x09\\x82\\x1a\\x6b\\x54\\xd2\\x5d\\x80\\x34\\x16\\xd4\\x08\\x0d\\x43\\x29\\x81\\xe7\\xe3\\x2a\\x06\\x50\\x53\\xbc\\xb0\\xf2\\x92\\x83\\x84\\xd6\\x55\\x44\\x11\\x55\\xf3\\x12\\xbe\\x7d\\x17\\x6a\\xc2\\xc5\\x35\\x00\\xe6\\x63\\xa0\\xc9\\xb0\\xdd\\xba\\xc1\\xad\\x55\\xca\\x62\\xfd\\x24\\x80\\xd4\\xa0\\x91\\x57\\xa9\\xd4\\x48\\x03\\x49\\x61\\x74\\x85\\x7f\\x13\\xa2\\xa0\\xda\\x0f\\xa3\\x8c\\x86\\x76\\xda\\x19\\xb6\\xb9\\xaf\\x69\\x87\\x11\\x22\\xa9\\x9d\\xc8\\x10\\xae\\xd0\\x16\\x83\\x8d\\x96\\x87\\x90\\x5a\\x45\\xca\\xc3\\xb7\\x79\\xf8\\xbf\\x28\\xcf\\x42\\xdb\\xcb\\x30\\xd7\\x8c\\xc1\\xc7\\xd0\\x1f\\x86\\x8f\\x94\\xa7\\x03\\xd9\\x41\\x1b\\xaf\\xd1\\x20\\xad\\x56\\xaf\\x32\\x40\\xbd\\x86\\xb4\\x57\\x2d\\x03\\x79\\x58\\xe4\\x69\\xa9\\xca\\x74\\x76\\x63\\xb9\\xfe\\xa6\\x45\\x7b\\x95\\xd6\\x33\\x64\\x86\\x6b\\x60\\x50\\xa3\\xfa\\x5b\\x70\\x16\\x77\\x05\\x4f\\x66\\xfc\\xb9\\x65\\x50\\x2b\\x50\\xdd\\x0f\\x12\\x2c\\x70\\xac\\x7f\\xf8\\x50\\x18\\xf4\\xda\\xb0\\x76\\x0d\\x1b\\xd7\\xe2\\x2a\\xdc\\x98\\x60\\xa2\\xd6\\x43\\xc6\\xcb\\x97\\x55\\x55\\xd2\\x06\\x79\\xcc\\x20\\x38\\x36\\xb4\\x11\\x8f\\x64\\x63\\x46\\x20\\xbc\\xc9\\x88\\xb0\\x40\\xf8\\xae\\x5a\\x23\\x20\\x82\\xde\\xdb\\x6c\\x69\\x34\\x1d\\x3c\\x8d\\x1d\\xee\\x63\\xc7\\xd8\\xaa\\x2a\\x58\\x21\\x8f\\x23\\x8d\\xb9\\x71\\x2c\\x11\\xf8\\x34\\x20\\x37\\x68\\xe2\\xd4\\x6a\\x8d\\x46\\xab\\x53\\xd1\\x55\\xb4\\x12\\x27\\x30\\x10\\xb9\\x50\\x78\\x64\\xd5\\x36\\xae\\x16\\x90\\xa1\\x6c\\xa0\\x27\\x82\\x02\\x7b\\x93\\x61\\xc6\\xf0\\x80\\x27\\x57\\x5d\\xa9\\xaa\\x8b\\xa7\\xba\\xe6\\x58\\x85\\x0e\\x34\\xa0\\x45\\xd0\\x20\\xa8\\x39\\xac\\xc6\\x5a\\xa0\\x43\\x2a\\x8d\\x8a\\x14\\x7c\\x54\\xd4\\xd4\\xa9\\xb1\\x24\\x2f\\x47\\x01\\x7e\\x46\\x57\\xe1\\x72\\xed\\xca\\x3e\\x08\\x0b\\x77\\x45\\x5a\\x45\\x8a\\x63\\xc3\\x97\\x5b\\x5b\\x3b\\x91\\xf7\\x29\\x38\\x60\\xb0\\xf3\\xa4\\x07\\xdb\\x06\\x8d\\x1c\\xaf\\xd3\\xf2\\x5a\\xbd\\x41\\x0d\\xa1\\x41\\xa5\\x21\\x45\\x1f\\x17\\x55\\x21\\x5d\\x23\\x67\\x50\\xe0\\xf7\\x87\\x91\\xdc\\x58\\x0f\\x83\\x5d\\x39\\x8f\\xc5\\x13\\x42\\x09\\x04\\x4b\\x88\\x27\\x55\\x92\\x46\\xdc\\x7e\\x89\\x9b\\x24\\xb7\\x43\\x1e\\x1b\\x0c\\x57\\x81\\xa0\\x51\\x40\\x6a\\xb5\\x56\\x47\\x8c\\x00\\xad\\x20\\x85\\x7b\\xb3\\x36\\xdc\\x9b\\xa1\\xfb\\xa1\\x4a\\xee\\xd2\\x6c\\xaf\\xc2\\x4c\\x08\\x92\\x08\\x43\\x81\\xb3\\x48\\xbb\\x6e\\xa7\\xe0\\x2f\\xe4\\xf2\\xf1\\x48\\x86\\xa7\\x96\\x41\\xb3\\x8c\\x27\\x1d\\xd0\\x12\\xe4\\xa8\\xee\\x1d\\x31\\x77\\x20\\x0a\\x87\\x37\\x8c\\x58\\xb4\\x78\\x02\\xc5\\x93\\xcc\\xa5\\xe4\\x81\\x83\\xe4\\x72\\x1b\\xf1\\xa4\\x12\\x10\\x14\\xa0\\xde\\xa0\\xe1\\x38\\xbd\\x56\\xc3\\x20\\xd7\\x86\\x58\\x13\\x8e\\x92\\x26\\x08\\x50\\xee\\x8b\\x46\\x62\\x6c\\xc4\\x13\\x35\\x73\\xb2\\x21\\x3d\\x79\\xf1\\xc8\\xaa\\x50\\x02\\xe2\\xab\\xa4\\x55\\x88\\xc7\\x93\\x6f\\xa7\\xf0\\x05\\xac\\x15\\x55\\x8c\\x27\\x51\\x9a\\x27\\xb4\\x49\\xf1\\x64\\xa0\\x2c\\x84\\xd0\\x94\\x1a\\x63\\x9d\\x4a\\xae\\x4c\\x15\\x0a\\x73\\xa7\\xda\\x06\\xee\\x94\\x76\\x17\\x45\\xb1\\x61\\x65\\x6f\\xe0\\x99\\x1f\\x2b\\x7c\\xf3\\x4d\\xd2\\x38\\xd9\\x76\\x1f\\xab\\xf0\\x02\\x0d\\xe1\\x05\\x3a\\x35\\xaf\\x41\\x3c\\xd1\\x42\\xc9\\x05\\x29\\xf8\\x98\\x88\\xd4\\x75\\x2a\\x65\\x14\\xa4\\xdd\\x41\\x50\\xf2\\x68\\x25\\xd7\\xe8\\xfd\\x2a\\x38\\xbd\\xae\\xba\\xea\\x0a\\xe3\\x7d\\xdc\\x82\\x3a\\x1b\\xa5\\x27\\x05\\x6e\\x05\\x4f\\x88\\x27\\xe5\\xa9\\xf5\\x06\\x2d\\xc6\\x06\\xb5\\x8e\\x41\\xac\\xae\\x65\\xa0\\x1f\\x15\\x51\\x48\\xa9\\xe0\\xbe\\x78\\x62\\xd5\\x28\\xe7\\xb1\\x55\\xe8\\xb3\\xba\\x6a\\x32\\xea\\xe0\\xf4\\x50\\xad\\x6a\\x67\\x6d\\x49\\x15\\x9f\\x49\\xda\\xc1\\xe8\\x09\\xce\\x62\\xbc\\x96\\xd1\\x93\\x46\\x85\\x90\\x4e\\xcb\\xe8\\xe9\\xf6\\x7f\\x4d\\x4f\\x7e\\x85\\x9e\\x9a\\xc9\\xf4\\x84\\x73\\x6f\\xbf\\x2b\\xf3\\x4b\\xc6\\x23\\x18\\x3d\\x11\\xe9\\x44\\x8d\\x3d\\xa8\\x55\\x73\\xb7\\x49\\x55\\xb0\\x51\\xca\\xdc\\x4b\\x4f\\x50\\x2e\\x93\\xfc\\xe1\\x91\\x04\\xf6\\xe9\\x32\\x49\\x51\\xb6\\x86\\x7f\\x96\\x79\\x1a\\x2b\\x57\\xc1\\x93\\x5a\\x47\\x27\\x72\\x09\\x3d\\x41\\x28\\xd3\\xd3\\x71\\x51\\x5b\\xab\\xe2\\x6e\\x87\\xeb\\x08\\xfd\\xfd\\xb8\\xa3\\xd5\\x78\\xfd\\x32\\x3d\\xd5\\x55\\xa3\\xcf\\xaa\\x24\\xa1\\x2a\\x54\\x0b\\xa7\\x93\\x56\\x70\\xdb\\xea\\x72\\xaa\\xee\\x94\\x71\\x3a\\xd0\\x81\\xb4\\x83\\x70\\x69\\x9d\\x8e\\x8c\\x72\\xd2\\x2b\\x5a\\xe9\\x7f\\x22\\xa9\\xbb\\xf8\\xd4\\x1d\\x64\\xd5\\x20\\xfc\\xc2\\x02\\xf0\\x4d\\x85\\x5b\\x35\\xf0\\x15\\x26\\x67\\x74\\xa0\\x55\\xd0\\xa4\\xd5\\x09\\x48\\xa5\\x53\\xe9\\xb1\\x41\\xa7\\x08\\x56\\xd2\\xff\\x75\\xea\\xc6\\xfe\\x6f\\xc0\\xdd\\x1d\\xd2\\x95\\x29\\x2d\\x94\\xcc\\x08\\x1f\\xa1\\x7c\\x5b\\x91\\xb2\\x8c\\xef\\xe2\\x86\\x3a\\xe8\\x5e\\x76\\x13\\xe8\\x1a\\xb4\\x18\\x79\\xde\\x02\\xa0\\x49\\xa3\\xd1\\xab\\xa1\\xda\\x6c\\xd1\\x9b\\x58\\x7b\\xf4\\xb5\\x8c\\x0d\\x07\\x35\\x84\\x0f\\x6b\\xd1\\x6d\\x0d\\x90\\x18\\x55\\x87\\x67\\x62\\xa0\\x52\\x6b\\x58\\x64\\x40\\xfa\\x9e\\x43\\x16\\x48\\x32\\xf5\\xd5\\x56\\x55\\x5d\\x61\\x9c\\x8c\\x91\\x5f\\x68\\xa3\\xc6\\x4c\\x08\\xb0\\x2e\\x5e\\x63\\x66\\x24\\xd8\\x44\\xde\\xeb\\x40\\xbb\\xa0\\x45\\x43\\x91\\xab\\x37\\x10\\x22\\x24\\x32\\xf0\\x7f\\x26\\xc3\\xa6\\x74\\x78\\x07\\x21\\xfa\\x1a\\x48\\x31\\x4c\\x8b\\xb7\\x6e\\x10\\xee\\xd6\\xc0\\x87\\x1a\\xf0\\x6a\\x25\\xda\\x85\\x4e\\xab\\xd2\\x1a\\x80\\x5e\\xc7\\x4b\\xea\\x7b\\x54\\x0c\\x7f\\x53\\x9a\\x6c\\xa2\\x67\\x50\\xbc\\x6a\\x09\\x4d\\x32\\x49\\xd6\\xa0\\x6f\\x70\\x0b\\x08\\x5a\\x01\\x6e\\xa8\\xa3\\x01\\xaf\\x2a\\xad\\x56\\xa3\\xc3\\x48\\x87\\xcc\\x16\\x83\\x20\\x98\\x8d\\x06\\xd6\\x26\\x63\\x48\\xad\\xe0\\x55\\x5d\\xab\\x6b\\x94\\x99\\xf7\\x19\\xce\\x4d\\x05\\x28\\xb5\\xd3\\x18\\xf7\\x23\\xfd\\x4a\\xfb\\x94\\x92\\x6a\\x15\\x63\\x81\\xb2\\x44\\x25\\x14\\x2b\\x33\\x41\\x24\\xeb\\x16\\x84\\xe7\\xd2\\xb6\\x06\\x83\\x26\\xa2\\xfd\\x18\\xf4\\x58\\xa7\\x33\\xa8\\x29\\x6e\\xd5\\x72\\xd5\\x9a\\xda\\xa6\\xca\\x50\\x28\\x3c\\x14\\x9b\\x28\\x01\\x96\\x3b\\x75\\x22\\x45\\x1b\\x20\\x14\\x1b\\xfa\\x98\\xfb\\x9a\\xa0\\x97\\x74\\x25\\xfe\\x82\\xe2\\x01\\x34\\xd5\\xb7\\x74\\x20\\x2b\\x68\\xd3\\x68\\x55\\xbc\\x96\\x27\\x44\\x0b\\xf4\\x5a\\x82\\xde\\x7b\\x94\\x2e\\x65\\xcc\\x5b\\xee\\x90\\x22\\x0d\\x02\\x97\\xd4\\x22\\x4b\\x5c\\x45\\xff\\x52\\x74\\x30\\xdc\\xd0\\x2e\\x9e\\xed\\xae\\xea\\x16\\xb4\\x02\\xa8\\xd3\\x42\\xad\\xc5\\x6c\\x50\\xab\\x2d\\x46\\x8c\\xcd\\x26\\x23\\x63\\xc1\\xa6\\x5a\\x0d\\xe6\\x30\\xbb\\x54\\x71\\x21\\x9d\\x42\\xb7\\xe1\\xd5\\xbb\\x4d\\xda\\x97\\xdb\\x40\\xb9\\x04\\xaf\\x7e\\x79\\xe4\\xd8\\x89\\x94\\xa9\\x65\\x78\\x95\\x89\\x17\\xf1\\xb5\\x1e\\xd2\\xaf\\x5f\\xd0\\xf6\\xf2\\x57\\xaa\\xaa\\xc2\\x7a\\x95\\x42\\x4b\\x14\\xbf\\x08\\x19\\xf4\\x3a\\x41\\xb8\\x13\\xbf\\xa1\\xa6\\xca\\x61\\xed\\xff\\x88\\x5f\\x36\\x5e\\x18\\x7e\\x99\\x22\\xa7\\x28\\x5c\\x38\\x97\\x8c\\x13\\x45\\xe9\\x6a\\xd4\\x3f\\x19\\x7e\\x09\\xf5\\x6a\\x90\\x46\\xaf\\x23\\xf8\\x15\\xf0\\x6d\\xcd\\x3d\\x4a\\xe8\\x7d\\xf1\\xab\\xd4\\x4a\\x6a\\x61\\x4c\\x15\\x4e\\x6f\\x60\\xab\\xb2\\x4e\\x8a\\x1b\\xda\\xd5\\x80\\x5f\\xb5\\x8e\\x27\\xc4\\x6b\\x31\\x9b\\x38\\xce\\xa2\\xd7\\x68\\xcc\\x74\\x0f\\x1b\\x41\\xaa\\x21\\xc4\\x6b\\x18\\xb3\\x25\\xd2\\x8e\\x70\\xdb\\x06\\x69\\xf7\\xb7\\xf8\\x6d\\x90\\x49\\xd9\\x5e\\xda\\x4c\\xc6\\x99\\x42\\xb5\\x0a\\x11\\x4b\\xab\\xb8\\xaf\\x19\\x13\\xc4\\xef\\x10\\x1a\\x26\\x4c\\xb8\\xaa\\xa9\\x7e\\x6c\\x03\\x03\\x82\\x2e\\x83\\xc6\\x62\\x51\\x21\\xab\\xd5\\x1e\\x61\\xd2\\x6a\\xed\\x80\\xe7\\x23\\x2c\\x84\\x45\\xe8\\x39\\xc6\\x24\\x8e\\x8b\\x1a\\xbe\\xd6\\x1c\\x56\\x99\\x0d\\x94\\x96\\x1b\\x57\\x80\\x34\\x6a\\xce\\x96\\x46\\x96\\x71\\x97\\xf8\\x6a\\x60\\xcb\\x0d\\xdc\\xa3\\x81\\x39\\x2b\\x5c\\x44\\xe1\\xd0\\x8c\\x95\\xdc\\x01\\x5b\\xb7\\x60\\xa4\\x55\\xab\\x35\\xe9\\x6c\\x02\\x63\\xd3\\x11\\x9c\\xdd\\x10\\xa1\\xe1\\x0d\\x6c\\xa0\\x07\\x75\\xa2\\x15\\x19\\xeb\\x08\\xdf\\x36\\x87\\x47\\x78\\x78\\xe5\\x50\\x43\\xd7\\xf8\\x9b\\x8e\\xf2\\xc6\\x11\\xa0\\x88\\xc0\\x30\\x07\\xbf\\x42\\xc8\\x91\\xf6\\x99\\xc2\\xc5\\xe5\\x11\\xc1\\xfa\\x4e\\x5e\\xf3\\x1e\\x86\\x87\\x67\\x91\\xf3\\x1d\\xa0\\x2c\\xe8\\x8a\\x50\\xa9\\x1c\\x02\\x6f\\xb1\\x20\\xb3\\x60\\x8e\\x72\\x62\\xa3\\x31\\xca\\xae\\xd1\\x38\\x79\\x7b\\xa4\\x9d\\x61\\x0c\\x45\\xd6\\x9a\\xe4\\x2e\\x0c\\x6a\\x45\\xbd\\x36\\x64\\x51\\x49\\xd6\\x06\\x20\\x9b\\x20\\xef\\xae\\xce\\xbc\\x1b\\x5c\\xdc\\x74\\xe0\\xf8\\x15\\xe6\\x44\\xbb\\xf6\\x4a\\x93\\x01\\xa4\\x74\\x33\\xeb\\xe2\\xdb\\x2f\\xc9\\x03\\x89\\xb1\\x2b\\x79\\xaf\\x05\\x9a\\xc6\\x5d\\x64\\x3c\\xd3\\x7a\\x0c\\x10\\x9b\\x1d\\xdd\\x06\\x20\\x3d\\x4f\\xb1\\xd6\\xa1\\xd7\\xe2\\xe5\\x2e\\xd6\\xfa\\xb9\\x8b\\x24\\x57\\x8e\\x9c\\x9f\\xb4\\x95\\xdc\\x35\\xe6\\xa7\\xa3\\x3b\\xfd\\x9e\\xfc\\x24\\xd7\\x27\\x8d\\xf9\\x59\\xf9\\xb6\\xe3\\x4a\\xf9\\x12\\xc8\\xbb\\xb7\\x02\\x2a\\x9e\\x94\\xfc\\xa8\\x3c\\x9c\\x1f\\xde\\x2f\\x3f\\x2a\\xa7\\x59\\x94\\xfc\\x68\\x74\\x43\\xf9\\x96\\x63\\x10\\xf0\\x8d\\xd9\\x33\\xc3\\xa5\\x37\\xe6\\x06\\xd4\\x1f\\x5e\\xa8\\x96\\x2b\\x57\\x6c\\x27\\x1d\\x8b\\x6a\\xe9\\x68\\xd8\\x97\\x91\\x06\\xd2\\x81\\x1f\\x04\\x40\\x5b\\x90\\x07\\x3a\\x83\\xae\\xa0\\x07\\xe8\\x0d\\xfa\\x82\\x81\\x60\\x08\\x28\\x01\\x23\\x41\\x39\\x18\\x07\\x26\\x81\\x69\\x60\\x16\\x98\\x0b\\x16\\x82\\x25\\x60\\x19\\x58\\x09\\xd6\\xc0\\x77\\x82\\x63\\x8d\\x49\\x05\\x03\\xe6\\xf0\\x13\\x27\\x9a\\x92\\xbb\\x0e\\x9c\\xcb\\x4f\\x52\\xb9\\x73\\x7a\\x3d\\xca\\x8f\\x1e\\x2d\\x78\\x02\\xbd\\x57\\xf2\\xe5\\xd6\\xd4\\x0e\\x83\\x17\\xf0\\x53\\xa7\\xda\\xd2\\xf2\\x86\\x2c\\xe4\\xa7\\x69\\xe3\\xdb\\x74\\x5f\\xcd\\x97\\x95\\xe9\\x7c\\x6d\\x7b\\xac\\xe1\\x47\\x8e\\x9c\\x56\\x3e\\x89\\x1b\\x37\\x0b\\xb9\\x32\\xfb\\x3c\\xc2\\x8f\\x1d\\x8b\\xa3\\xfd\\x7d\\x97\\xf1\\xe3\\xc6\\x3d\\xee\\x48\\xef\\x5c\\xb2\\x84\\x9f\\x15\\xd9\\xb2\\xd3\\xf0\\xc5\\xfc\\xac\\x99\\x33\\xab\\xca\\x47\\x8e\\xab\\x18\\x57\\x03\\x39\\xc2\\xda\\x46\\x95\\x56\\x94\\x0c\\x19\\xd8\\x6f\\xa0\\x7c\\x37\\x74\\x50\\xbf\\xde\\x3d\\xfa\\x16\\xf5\\x95\\xef\\x1e\\x28\\x2c\\xea\\x9c\\xd7\\xb5\\x4b\\x57\\xf9\\x2e\\xd8\\xae\\x4b\\xdb\\x80\\x3f\\xc3\\x2f\\xdf\\xb5\\xce\\xca\\x48\\x4f\\x4b\\x4e\\x48\\x96\\xef\\x9a\\x37\\x4b\\xf0\\x79\\xa2\\x9d\\xd1\\xf2\\x5d\\x5c\\x8c\\xd3\\x61\\x33\\x51\\xc5\\x83\\xde\\x45\\x98\\x09\\x3f\\xc5\\xd4\\x76\\xa2\\x77\\x44\\x7e\\x2c\\x59\\x38\\x77\\xf6\\x5c\\x7a\\xe7\\x11\\x17\\xcd\\x9b\\x5d\\xd1\\xaf\\xa8\\x4b\\x46\\x82\\x53\\x0f\\x66\\xcf\\x06\\x7a\\x67\\x42\\x46\\x97\\xa2\\x7e\\x15\\xda\\xa5\\xd3\\x27\\x8f\\x9f\\x34\\x5e\\x7e\\x62\\xd6\\xb4\\x49\\x6b\\x56\\x2e\\x5b\\xba\\x8c\\xdc\\x1d\\x11\\x57\\x2d\\x5f\\x7a\\x1b\\x84\\x87\\x9e\\x33\\xbc\\xa2\\xd9\\xaa\\x6c\\x0c\\x93\\x3f\\x77\\xaf\\xe9\\xfb\\x3f\\xfe\\xa6\\xe4\\xe2\\x50\\xf6\\x67\\x3a\\xfc\\xec\\x82\\xbe\\x47\\x50\\x2e\\xef\\xf7\\xd5\\x2a\\x83\\xee\\xde\\x4c\\x54\\x0e\\xfe\\xbf\\xbc\\x16\\xfe\\x26\\xdd\\xf1\\x37\\x79\\x9a\\xa6\\xc3\\xbf\\xb9\\x2e\\x2f\\x87\\x9b\\xe4\\x23\\xb4\\x71\\xf4\\x68\\xb8\\x49\\x3e\\x6a\\xeb\\xff\\xd7\\xe9\\x17\\xe5\\xa4\\xba\\x0b\\xa3\\x47\\xa3\\xf2\\xf2\\x72\\x69\\xb4\\x7c\\x5c\\x6c\\xcc\\x7d\\xf1\\xbe\\xa9\\xf4\\x81\\xfb\\x95\\xc7\\x37\\x2b\\xa3\\x9f\\x11\\xa5\\x8d\\x9f\\x91\\xf7\\x5e\\x8f\\xa0\\x9f\\xb2\\xe1\\xf4\\x53\\xc6\\xae\\xe5\\x64\\xe1\\x67\\xf6\\x30\\xf4\\xb1\\x3b\\x40\\xe3\\xf9\\x91\\x31\\xf8\\xee\\xff\\xbd\\x31\\x08\\xaa\\xc1\\x93\\x60\\x33\\x78\\x06\\x3c\\x07\\x5e\\x00\\xbb\\xc1\\x7e\\x70\\x18\\x1c\\x07\\x2f\\x83\\x53\\xe0\\x0c\\x78\\x13\\x9c\\x07\\x97\\xc0\\x07\\xe0\\x0a\\xf8\\x14\\x7c\\x09\\xae\\x81\\xef\\xc1\\x4f\\xe0\\x57\\xf0\\x07\\xf8\\x13\\xd4\\x82\\x7a\\x88\\x89\\x29\\xac\\x83\\x26\\x68\\x83\\x0e\\x18\\x0d\\x3d\\x58\\x77\\x18\\x65\\x96\\x3d\\x5f\\x03\\xb5\\xc7\\xf8\\x7f\\xfc\\x03\\xfb\\x47\\xbe\\x50\\x03\\x75\\x41\\x3b\\x7f\\xc5\\xdd\\x6b\\xf5\\xbe\\x5b\\xfc\\x17\\x5f\\x78\\x7a\\xaf\\xd9\\xff\\x27\\xff\\xa5\\x2a\\x67\\xf4\\xb3\\x35\\xd0\\x78\\x8c\\x7f\\xff\\x7d\\x21\\x50\\xfe\\x5c\\x0d\\x34\\x91\\x4c\\x1f\\xc4\\xf7\\x59\\x70\\xe8\\x36\\xff\\xcd\\x37\\xbe\\xbe\\x0b\\x0f\\xd7\\xf2\\xd7\\xb4\\x6d\\xc6\\x6e\\xa9\\x81\\xd6\\x63\\xfc\\xbb\\xef\\xea\\xda\\x8e\\x7b\\xa6\\x06\\xda\\x48\\xa6\\x4b\\x49\\x03\\x16\\x1f\\x93\\xf8\\x7f\\xfe\\x33\\x79\\xe0\\x92\\xe3\\xf5\\xfc\\xf7\\xc6\\x0e\\x13\\x37\\xd5\\xc0\\xc8\\x63\\xfc\\x3b\\xef\\x98\\xf2\\x26\\x6d\\xae\\x81\\x8e\\xa3\\xfc\\xf9\\xd4\\xc1\\x8f\\xbc\\x54\\x03\\xd1\\x31\\xfe\\xc7\\x1f\\xd3\\x86\\x2c\\x7b\\xb9\\x06\\xe2\\xa3\\xfc\\x4f\\xd6\\x4e\\x53\\x9f\\xa8\\x81\\xae\\x63\\xfc\\xb9\\x73\\xb6\\xce\\xd3\\x9e\\xac\\x81\\xd1\\x47\\xf9\\x37\\x5b\\x0e\\x7f\\xf4\\xd5\\x1a\\xa8\\x3a\\xc6\\xff\\xf2\\x4b\\x7a\\xc9\\xca\\x53\\x35\\x50\\x08\\x7a\\xf8\\x5f\\x7f\\x7d\\xf3\\xa7\\xf3\\xdf\\x5f\\xba\\xf6\\xc1\\x97\\x57\\xb4\\x9f\\x9e\\x71\\x75\\x9f\\xb3\\xeb\\x77\\xfe\\x93\\x4f\\xa2\\x7b\\xcc\\xdd\\xfd\\x07\\xff\\xe9\\xa7\\x35\\x30\\xee\\xb0\\xa3\\xeb\\xac\\xea\\x1a\\xe8\\x39\\xca\\x9f\\x89\\x2c\\x98\\xb9\\xb6\\x06\\xba\\x0f\\xf3\\x67\\x5e\\x7f\\xbd\\x06\\x7a\\x83\\x9a\\x33\\x6f\\x9e\\xbf\\xf4\\x01\\x7f\\xe5\\xc3\\x2b\\x74\\x1c\\x5b\\xc4\\xd3\\x67\\xdf\\xba\\x70\\x99\\xff\\x70\\xff\\xe1\\xe3\\x2f\\x9f\\xe2\\x77\\xbf\\xb8\\x5b\\x4e\\xdd\\x73\\xe0\\x48\\xcd\\x2b\\xfc\\x8b\\xd5\\x4f\\x6e\\x7e\\xe6\\x39\\xfe\\x85\\xed\\x2f\\xc8\\xa9\\x8f\\xaf\\xdb\\xf0\\xd4\\x56\\x7e\\xfb\\xc2\\x25\\xcb\\x56\\xae\\xe1\\x15\\x6e\\x61\\x11\\xe7\\x2d\\x5a\\xba\\x7c\\x15\\x3f\\xbb\\x7c\\xdc\\xa4\\x69\\xb3\\xf8\\x91\\xa5\\x23\\xe5\\xd4\\x51\\x15\\xe3\\x27\\x4f\\xe7\\x4b\\x7b\\xf7\\x1d\\x38\\xa4\\x84\\xef\\x51\\xd8\\x43\\x4e\\x7d\\xa0\\xa8\\xdf\\xa0\\xa1\\x7c\\x61\\xa0\\x6d\\x5e\\xe7\\xae\\xbc\\xc2\\xb5\\x2c\\x62\\x56\\xeb\\x76\\xc1\\x2e\\x7c\\x86\\xc7\\x97\\x9c\\x96\\xce\\x2b\\xfc\\xca\\x22\\xc6\\xc4\\x25\\x34\\x6b\\xce\\x3b\\x05\\x9d\\xc9\\xe6\\xe0\\x15\\x4e\\xa5\\x13\\x39\\xb5\\xde\\x1c\\xc1\\x83\\x3f\\x6b\\xeb\\x4f\\xd0\\xce\\x3d\\xcc\\xff\\x71\\xe3\\x0f\\xf2\\xcb\\x61\\xf1\\xe6\\x7f\\xea\\x4e\\x40\\x40\\xf2\\x38\\xf8\\x1b\\x1f\\xbe\\xb8\\x7d\\x76\\x69\\x61\\x86\\x13\\xdc\\xb8\\x01\\x9c\\x19\\x85\\xa5\\xb3\\xb7\\xbf\\xf8\\xa1\\xb6\\x06\\xaa\\x83\\x9a\\xcf\\xbe\\xfa\\xf6\\x5f\\xd7\\xf9\\x8f\\x3f\\xfd\\x98\\x3c\\x73\\x5c\\xfc\\xf2\\xda\\xf7\\x3f\\xfd\\xca\\x7f\\xda\\xd1\\xd6\\x48\\x21\\x44\\x80\\xe9\\xa0\\x9a\\x1c\\x1c\\x10\\xa1\\x1e\\x9a\\x61\\x04\\x74\\xc2\\x18\\x40\\xdd\\xdb\\xdc\\x06\\x61\\x0f\\x08\\xd4\\xfd\\x01\\xbb\\xb8\\x8b\\xc5\\x85\\x1d\\x24\\xfc\\xdf\\xfa\\xfe\\xef\\x59\\xdc\\xff\\xfe\\x17\\x7d\\xaf\\x69\\xf7\\x05\\xee\\x73\\xf0\\xff\\x0f\\xd2\\x13\\xef\\x4a\\x0b\\x33\\xd5\\xe4\\xfb\\x1c\\xc2\\xdf\\x94\\xe3\\xf8\\x2f\\xf3\\xc3\\xff\\x32\\x9d\\x32\\xce\\x3b\\xff\\x6b\\x09\\x33\\xbe\\x78\\xe7\\x7f\\xdd\\x83\\xff\\x07\\xb9\\x18\\x9b\\x6e\\xc8\\x43\\x38\\x33\\xde\\x74\\x4f\\xbe\\xd1\\xf7\\x14\\x76\\x2f\\x5c\\xf7\\xe6\\xa9\\xad\\xff\\xdf\\x81\\x41\\x61\\xfa\\x65\\xf7\\xb0\\xfe\\xd2\\xbf\\x11\\x03\\x7f\\x9b\\x3e\\xa2\\xf1\\x23\\x8b\\x87\\xe1\\x4d\\x84\\xc4\\x88\\x26\\xa2\\xe2\\x0e\\x81\\x51\\xd6\\x54\\x6c\\xc8\\x1f\\x1a\\x13\\x92\\xe8\\x7b\\x54\\x76\\xe4\\x83\\x6e\\xa0\\x27\\x28\\x06\\xfd\\x81\\x08\\x86\\x81\\x11\\xe0\\x41\\x30\\x06\\x4c\\x00\\x53\\xc0\\x0c\\xf0\\x10\\x98\\x0f\\x1e\\x06\\x95\\x60\\x05\\x78\\x0c\\x54\\x81\\xf5\\x60\\x23\\x78\\x1a\\x6c\\x03\\x3b\\xc0\\x4e\\xb0\\x17\\x1c\\x04\\x47\\xc1\\x09\\x70\\x12\\xbc\\x06\\xde\\x00\\x6f\\x83\\x8b\\xe0\\x3d\\xf0\\x11\\xb8\\x0a\\x3e\\x07\\x5f\\x83\\xef\\xc0\\x0f\\xe0\\x67\\xf0\\x1b\\xf8\\x37\\xf8\\x0b\\x84\\x20\\x84\\x3c\\xd4\\x40\\x03\\xb4\\x40\\x3b\\x8c\\x82\\xb1\\xd0\\x8b\\x2d\\xc1\\x71\\xae\\x51\\xb3\\x77\\x7c\\xcb\\xbf\\xf1\\x86\\xc2\\x74\\x7a\\x8c\\xab\\xda\\x7d\\x83\\x3f\\x7f\\xbe\\xb0\\x62\\xf9\\x8b\\xff\\xe6\\xdf\\x72\\x97\\xce\\xdd\\xf6\\x15\\xff\\xda\\x6b\\xd1\\x0f\\x3e\\xf4\\xec\\x77\\xfc\\xeb\\xbd\\x27\\xad\\xdc\\x7f\\x9d\\xbf\\x74\\xe9\\x81\\xf1\\xab\\xf7\\xfc\\xc6\\x5f\\x88\\x1f\\xba\\xf0\\xe9\\xcf\\xf8\\x93\\x27\\x3d\\x23\\xe6\\x6d\\xf9\\x9a\\x7f\\xb5\\xef\\xb4\\xea\\xc3\\xff\\xe2\\x3f\\xf8\\xa0\\x68\\xf2\\xaa\\x03\\x3f\\xf3\\x97\\x93\\x06\\x2d\\xd9\\xf8\\x31\\x7f\\xe2\\x84\\x6f\\xd8\\xa2\\x4d\\x9f\\xf3\\x2f\\xfd\\x59\\x7f\\x92\\x48\\x26\\x13\\x8c\\x23\\x9c\\xc5\\x01\\x1d\\x41\\x4d\\xbf\\xe9\\xeb\\x8e\\xfc\\xc0\\x7f\\x98\\x5a\\x77\\x92\\xb0\\x35\\x03\\xe3\\x38\\x76\\x68\\x0f\\x9a\\x93\\xc5\\xa5\\x4f\\x5c\\xe5\\x8f\\x65\\x50\\x1e\\xc9\\x77\\xe9\\xf2\\x9f\\x57\\x09\\x8f\\x53\\x13\\xb6\\xe4\\x25\\x19\\x9c\\xd0\\x19\\xd4\\x1d\\xfb\\xf0\\xa5\\xcb\\xaf\\x5e\\x78\\xfd\\x2d\\xac\\x85\\x44\\x18\\x05\\xcd\\x5d\\xcb\\x97\\xbd\\x70\\x93\\x7f\\xf3\\x4d\\x5e\\x63\\xb0\\xd8\\x89\\xd9\\x5a\\x03\\xe3\\x83\\xba\\x96\\x99\\x39\\x6d\\x3a\\x74\\x52\\x01\\x90\\x16\\x7a\\x15\\x72\\x50\\x0b\\x63\\xc9\\xe3\\x56\\xf2\\xe7\\x0b\\xea\\x15\\x3e\\x1b\\xd9\\xf9\\x9d\\x77\\xdf\\x27\\x92\\xea\\x30\\x7f\\x0e\\x9d\\x63\\x5a\\xdd\\x89\\x93\\xaf\\xbd\\x51\\x03\\xed\\x47\\x79\\x54\\xf3\\xca\\xe9\\xb3\\x35\\x30\\xe2\\x30\\xcf\\xbf\\xc0\\xb3\\x9f\\x82\\xbb\\xf7\\x1f\\x26\\x42\\xf1\\x28\\xff\\x42\\xde\\xae\\x7d\\x87\\x88\\xa4\\x3c\\xcc\\x3f\\xaf\\x7a\\x9e\\xfd\\xb4\\xf1\\xe9\\x6d\\x3b\\x6a\\xa0\\xe1\\x28\\xaf\\x22\\xc2\\x62\\x7b\\x0d\\xd4\\x1f\\xe6\\x35\\xcb\\x34\\xec\\xa7\\x76\\x2b\\xab\\x88\\x54\\x12\\x8e\\xf2\\xcb\\xda\\x3e\\xfa\\x38\\x91\\x4a\\xaa\\xc3\\xfc\\x23\\xda\\x47\\xd8\\x4f\\xb3\\xe7\\x2e\\x5c\\xc2\\xc4\\xa0\\x76\\xd6\\x9c\\x05\\x8b\\x89\\x6c\\x3c\\xcc\\x1b\\xca\\x0d\\xb2\\x20\\x68\\x4d\\x24\\x4b\\x3d\\x5f\\x1e\\x18\\x3b\\x71\\xaa\\xc4\\x8f\\x36\\x8e\\x96\\x53\\x07\\x0d\\x2d\\x1d\\x55\\xc7\\x1b\\x89\\x78\\x19\\x59\\xcb\\x5b\\xba\\x5a\\x14\\x51\\xd2\\xa3\\x77\\xdf\\x3f\\xf9\\xae\\xfe\\xee\\xbd\\xfa\\xdc\\xe2\\x0b\\xac\\x05\\xac\\xf0\\x8f\\x09\\xd7\\xaf\\x81\\x31\\x47\\x79\\xeb\\x95\\x4f\\xbf\\xbc\\x46\\x04\\xeb\\x61\\xde\\x7e\\xd3\\xce\\x7e\\xca\\xf8\\xd7\\xf5\\x1b\\x44\\x60\\x06\\x63\\xf8\\x9b\\xe8\\x05\\xd5\\x32\\x6d\\xb9\\xb1\\xab\\xf5\\xe6\\x4d\\x6b\\x57\\x63\\xb9\\x76\\x99\\xea\\x05\\xa4\\x8d\\xec\\x42\\xa4\\x25\\x11\\xda\\x87\\xf9\\x37\\xe1\\x9b\\xe4\\x89\\x63\\x22\\x94\\xd2\\x89\\xd0\\x20\\xc2\\x95\\x88\\x9e\\xc8\\x3f\\x98\\x18\\x71\\xb9\\xe3\\x93\\x52\\xf9\\x48\\x90\\xde\\xe0\\x15\\xec\\xff\\x81\\x70\\x70\\x9a\\xcf\\x39\\x32\\x65\\x07\\x25\\xff\\xbf\\x49\\x08\\x62\\x5d\\xf9\\xb3\\x7d\\xf7\\x39\\xfc\\xf6\\xfb\\x1d\\x3e\\xbb\\xdf\\x72\\x9f\\x03\\xde\\x95\\xd1\\x41\\xd2\\x92\\x9b\\x1c\\xc2\\x5d\\xbf\\xf3\\x24\\x2d\\xd0\\xf4\\x9e\\x1c\\x5e\\x72\\x08\\xd9\\x3e\\x7b\\x22\\xf9\\xb6\\x91\\x6f\\x5f\\x93\\xe3\\xee\\xe7\\xff\\x97\\xbf\\xdf\\x55\\x3f\\xbc\\xfb\\x5e\\x81\\x91\\x3e\\x17\\x0b\\x49\\xbd\\x4a\\x99\\x77\\x7c\\x93\\xdf\\x31\\x39\\xb8\\x77\\x6b\\x33\\x47\\x37\\x7e\\xca\\x1b\\xff\\x9a\\x7e\\x6a\\x37\\x84\\x93\\x9b\\xb2\\x64\\x25\\x2d\\x54\\x1f\\x7e\\xae\\xee\\x42\\x39\\xf4\\x13\\xbe\\x4c\\xf4\\xf1\\x86\\xa2\\x1a\\x1e\\xbc\\xfb\\xbe\\xb1\\x20\\x04\\x9b\\xb0\\x74\\x74\\x91\\xfd\\x56\\x4e\\xff\\x69\\x6e\\x76\\xd0\\x73\\x68\\x23\\x8c\\x1f\\x41\\xff\\x7d\\xa5\\xd0\\x5b\\xc6\\xfe\\x9b\\xb0\\xdd\\xd7\\xca\\xa4\\x2f\\x4b\\xa5\\xcf\\xe5\\xff\\xe1\\xe4\\xac\\x1a\\x1b\\xfe\\xe9\\xf4\\xdd\\xf2\\xe1\\x74\\xf8\\xe2\\x4c\\xe3\\xf3\\xd2\\x97\\xf7\\xb0\\xff\\xc6\\xa4\\x86\\x5c\\xaa\\x8b\\x61\\x96\\x1f\\xaf\\x5c\\x90\\x5a\\x49\\x05\\x23\\x58\\xa1\\x67\\xe4\\x62\\xca\\xe4\\x47\\xe5\\xec\\x24\\x23\\x9b\\x63\\x98\\x05\\x66\\x70\\x03\\xb8\\x7e\\xb2\\xff\\x4f\\x1e\\xdc\\xe9\\xff\\xd3\\x6b\\xf1\\xce\\xc2\\x5f\\xd6\\x79\\xb9\\x7e\\x75\\x5e\\xea\\x06\\x0d\\x00\\xee\\x3c\\xf7\\x36\\xb3\\x3d\\x5c\\x07\\x31\\x4f\\xb9\\x09\\x75\\xcb\\x42\\xbe\\x0f\\x36\\xac\\xea\\x90\\x1f\\xb3\\x59\\xbc\\x16\\xc4\\xbd\\x5d\\x1b\\x78\\x80\\x6b\\x45\\xbf\\xb8\\xf9\\xb5\\x97\\xb8\\x56\\x00\\xc2\\x0a\\xb8\\x10\\x8f\\xc2\\x73\\x49\\x19\\xea\\x83\\xa4\\x40\\xe6\\x73\\x8f\\xfa\\x4e\\x1a\\x25\\x71\\xb0\\x0e\\x2e\\x84\\x75\\x00\\x35\\xc9\\x23\\x80\\x94\\x83\\x40\\x20\\xe5\\x07\\x0d\\xa4\\x02\\x33\\x40\\x1a\\x0c\\x50\\x10\\xa9\\x58\\x8d\\x08\\x34\\x2e\\xf1\\x4c\\x53\\x8a\\xa1\\xcb\\x09\\x59\\x51\\x0f\\x48\\x4f\\xd1\\xd2\\xa4\\x22\\x58\\x26\\x6d\\x61\\x6b\\x64\\x0b\\xb8\\x37\\x50\\xfc\\xdf\\xb6\\x53\\xcd\\x9d\\xac\\xed\\x8c\\xe2\\xa5\\x04\\x92\\xd7\\x04\\x32\\xb9\\x93\\xdc\\x3e\\x02\\x9e\\xfd\\x38\\xf5\\x89\\x0a\\x68\\xdc\\x5d\\x25\\xb7\\x25\\xb7\\x55\\x46\\x40\\x03\\x4d\\x68\\x10\\x1a\\x90\\xc9\\xcd\\xab\\x5d\\x4a\\xd7\\xb7\\xd5\\x7f\\x47\\xf0\\xb2\\x87\\xe4\\x27\\x65\\x73\\xd4\\x79\\x5f\\x93\\xb2\\x35\\x30\\x8b\\x7b\\xb2\\x76\\x0c\\xb7\\x27\\xb4\\x25\\xb4\\x59\\x5e\\x3b\\x62\\x22\\xf9\\x4f\\x72\\x23\\x94\\xf2\\x09\\x2c\\x77\\x95\\xaf\\x41\\xdc\\xc9\\xd0\\xae\\xd0\\x8b\\xdc\\x88\\xda\\xa5\\xdc\\x3c\\xf9\\x19\\x44\\x9e\\xd9\\xa8\\xd4\\x71\\xe7\\x13\\xf4\\xfd\\x22\\xe4\\x36\\xd2\\x2a\\x6a\\x73\\xd1\\x83\\xca\\x5a\\x23\\x91\\xdf\\x0a\\x78\\xf6\\xe6\\xd8\\x81\\x78\\x0d\\x16\\x04\\xac\\xc6\\xaa\\x03\\xa2\\x09\\x43\\x0d\\xc6\\x50\\x7d\\x40\\x84\\x72\\x7f\\x85\\xb7\\x2f\\xb4\\x67\\x8e\\xc7\\xbc\\x3e\\x0d\\xf4\\x6b\\x38\\xb4\\xba\\x8f\\x14\\x80\\x6f\\xf7\\x81\\xe7\\x25\\xa3\\xb4\\x05\\x96\\xc1\\x52\\x74\\x09\\xbd\\x17\\x6a\\x85\\xb2\\x43\\xe7\\x43\\xaf\\xa3\\x0e\\xa4\\x8e\\xe7\\xc0\\xb3\\x5c\\x2a\\x97\\x42\\x70\\xe5\\x01\\x19\\x41\\xad\\x53\\xad\\x36\\x03\\x10\\xe7\\xd5\\x47\\x90\\xae\\x39\\x2a\\xea\\xf5\\x1c\\x17\\xc3\\x3a\\xa9\\x61\\xe7\\x4c\\x9a\\xbc\\x28\\x45\\x46\\x4a\\x78\\x25\\x5f\\x04\\x5d\\x92\\xd6\\x12\\x06\\x22\\xe8\\x32\\x35\\xea\\x77\\x84\\xae\\x41\\x34\\xc2\\xe7\\x66\\xbf\\xf7\\xd0\\x9c\\xf7\\x1f\\x7a\\xe8\\xbd\\xb9\\x73\\x2e\\xcf\\x1e\\x50\\xf6\\xc2\\xc8\\xb2\\x9d\\xa3\\xca\\x76\\x97\\x8d\\xd8\\x59\\x86\\x46\\xd1\\xf4\\x0f\\xc8\\x4f\\xb3\\x67\\x5f\\x9e\\x53\\xb6\\x73\\x44\\xe9\\xae\\x32\\xf2\\x4b\\xd9\\x4e\\x4a\\x1d\\x15\\x60\\x00\\xf7\\x20\\xd7\\x87\\x7a\\x9b\\x63\\xfb\\x39\\x92\\x89\\x3d\\x1c\\x20\\xb6\\x70\\x57\\x62\\x07\\x0f\\x24\\x36\\x70\\x39\\xb1\\x7f\\x67\\x11\\xdb\\x77\\x6d\\xb0\\x6f\\xd9\\xe8\\x62\\xd1\\xd8\\x32\\xb5\\x65\\xb1\\xa8\\x4d\\x55\\x75\\x68\\xd3\\xa1\\x58\\x44\\x6d\\x22\\x07\\xf4\\x19\\x50\\x2c\\x5a\\xfb\\xb8\\x87\\x0f\\x1e\\x5e\\x2c\\xba\\x06\\xe7\\x4c\\x1c\\x3b\\xb1\\x58\\xcc\\x1c\\x5b\\xb0\\x60\\xce\\x82\\x62\\xb1\\xd3\\x9c\\x5e\\x33\\xa7\\xce\\x2c\\x16\\xbb\\x4f\\x4d\\x6d\\xd3\\x67\\xf0\\xd8\\x39\\x53\\xa7\\xce\\x19\\x3b\\xb8\\x4f\\x9b\\x54\\xa1\\x2c\\x29\\x29\\xbe\\x58\\x4c\\x32\\xb3\\xb7\\x2f\\xe6\\xb3\\xca\\x06\\x8b\\xf4\\xf4\\xa6\\x7b\\x14\\xff\\xe7\\x33\\xdb\\x46\\x44\\x77\\x59\\xfb\\x33\\x93\\x95\\x6f\\x9b\\xf2\\xed\\x50\\xbe\\xc3\\xbf\\x0b\\x77\\xdd\\xdf\\xfd\\x7d\\xf7\\xef\\x77\\xdf\\x27\\xde\\x55\\x7e\\xb8\\x3e\\xfc\\x45\\x56\\xeb\\xd6\\x59\\xeb\\xe8\\xe9\\xcf\\x40\\x76\\x20\\x3b\\x81\\x5e\\x49\\x81\\x1c\\xf2\\xd9\\x1b\\xc8\\xce\\x0e\\xa0\\x3e\\xf4\\x1c\\x72\\xd1\\x04\\xb4\\xa4\\x21\\x6f\\x68\\x5f\\x56\\xeb\\x9c\\x1c\\x96\\x19\\xbe\\x45\\x7f\\x93\\x86\\xd2\\xf3\\x9f\\x34\\xf3\\x3a\\x7a\\x85\\x9f\\x20\\xa7\\xe6\\xe4\\x4e\\xfa\\x20\\x10\\xc8\\xbe\\x46\\x6e\\x60\\x35\\xb9\\x18\\x4c\\x0b\\x9b\\x45\\x4e\\xf0\\x44\\x8e\\x3f\\x37\\xd4\\x85\\x5c\\x6d\\xcc\\xca\\x6a\\x8d\\x62\\x94\\x4c\\x12\\x26\\x17\\xdf\\xd2\\xc7\\x3e\\x6a\\x9d\\xd5\\x3a\\x95\\x5c\\xd0\\x31\\xb0\\x0f\\xac\\xe0\\x3c\\xf8\\x36\\xf3\\xd7\\x29\\x00\\x99\\x77\\x30\\x2a\\x02\\xbe\\x78\\x40\\x5d\\x93\\xa0\\xd1\\x13\\xaf\\x4e\\x95\\xa4\\xe3\\xc7\\x24\\x69\\xd2\\x15\\x7c\\x7b\\xfa\\x27\\x63\\x8f\\x4b\\x12\\xc4\\xc7\\xc6\\x7f\\x34\\x8b\\xae\\x85\\x4b\\x24\\xe3\\xe2\\x45\\x8e\\xfa\\x77\\xb3\\x51\\x2f\\x6a\\x9c\\x9e\\x0c\\x6e\\x3b\\x8c\\x30\\x13\\x13\\x94\\x14\\x96\\x7e\\xb1\\xe1\\xfd\\x15\\x5d\\x95\\xe6\\xb5\\xc0\\xbb\\xa8\\x32\\x91\\x5b\\x52\\xc7\\xcd\\x3c\\x3f\\x6b\\xe6\\xc5\\x99\\x33\\x2f\\x90\\xf3\\x0c\\x6e\\x49\\xed\\x7c\\xd4\\x71\\xe6\\x85\\x99\\xe4\\x9a\\x24\\xce\\xa2\\xde\\xf3\\x9a\\xd6\\xe1\\x63\\x5e\\xd6\\x22\\xf4\\x31\\x11\\x31\\xa4\\xa6\\x44\\x98\\xa0\\x8e\\x83\\x66\\x27\\xa9\\xeb\\xf3\\x77\\xc9\\xff\\x5d\\x2f\\x75\\x59\\x8d\\x77\\x8d\\x8b\\xe4\\xfb\\x40\\x50\\x5c\\xb6\\x6b\\xc4\\x08\\x42\\xf4\\xec\\xdc\\xf3\\x5e\\x70\\x1a\\x7e\\x23\\xe7\\xa6\\xa0\\x11\\xbe\\x3a\\x11\\x56\\xe2\\xe1\\x78\\x06\\xdb\\xbb\\x99\\x72\\x10\\x3b\\x14\\xbe\\x8a\\xcd\\x98\\xee\\x10\\xd2\\x06\\xb5\\x16\\x36\\x64\\xb5\\x77\\xf1\\x55\\xb6\\x34\\x4e\\xde\\xfc\\xe3\\x68\\xdc\\xbf\\xee\\xcf\\xcc\\xc1\\xc3\\x9f\\x1c\\xd1\\x65\\x72\\x97\\xea\\x07\\xcb\\xbb\\x76\\x7f\\x60\\x74\\x41\\xc1\\xe8\\xb2\\xee\\x3d\\x4b\\xd0\\xfc\\x71\\x8f\\x75\\x9c\\x9a\\x5f\\x5e\\xd5\\xbd\\x6b\\x79\\xc1\\xe8\\xd1\\x05\\x5d\\x1f\\x1c\\x03\\x08\\x27\\x8a\\x06\\x88\\x3b\\xc8\\x6d\\x60\\xfc\\x22\\x8d\\x8c\\xca\\x7c\\x30\\x2f\\x18\\x91\\x14\\xd7\\x3c\\x33\\x2f\\x33\\x2e\\x9f\\x03\\x84\\x7f\\x74\\x25\\x0c\\xa4\\xa0\\x43\\xeb\\x9a\\xfa\\xaf\\x8e\\x6b\\x0c\\x85\\xad\\x5b\\xb7\\x6d\\xdb\\x91\\x69\\x92\\xd9\\x29\\xbe\\x14\\x3a\\xd9\\x6f\\x16\\xd3\\x7d\\x6d\\x83\\x7a\\x73\\x61\\x5b\\x5f\\x5b\\x1f\\xe9\\x3c\\xca\\x69\\x0e\\x89\\x8c\\xcd\\x90\\x2f\\x3d\\x48\\xbf\\x90\\xd6\\x64\\xd7\\x6c\\x83\\x2f\\x4e\\xba\\x0b\\xbd\\xe1\\x55\\x00\\x5b\\x0f\\x2d\\x73\\x20\\x79\\xbb\\x9e\\x5d\\xd9\\xbe\\x77\\x37\\x07\\x0a\\xc8\\x7e\\x59\\xd8\\x26\\xa8\\xc4\\x26\\xd7\\x50\\xd9\\xd5\\xc5\\x50\\x92\\x1c\\xfd\\x34\\x34\\x6f\\xd9\\x02\\x4d\\x5b\\x9e\\x96\\x6e\\x6c\\xd9\\x22\\xdd\\x78\\x3a\\x6f\\xd5\\x1f\\x8f\\xad\\xfa\\x63\\xd5\\xaa\\xdf\\xc9\\xf9\\xb1\\xeb\\x29\\xb1\\xb1\\xa9\\xa9\\xb1\\xb1\\x29\\xf0\\x70\\xf8\\x4a\\xaa\\x68\\x33\\xbf\\x57\\xd1\\xbc\\xdc\\x36\\x93\\x2f\\x75\\x9d\\x36\\xb0\\x25\\xea\\xb9\\x05\\x9a\\x9f\\x0e\\x3f\\x4c\\x0b\\x23\\x8f\\x3d\\x76\\x73\\x25\\x7d\\xfe\\xa6\\x41\\x7e\\x24\\xfc\\x68\\x8a\\xf4\\x7b\\xaf\\x36\\x6d\\x7b\\xb6\\x3a\\xd8\\xac\\x4b\\x3e\\xe0\\x9a\\xe0\\x33\\x9a\\xf0\\xb9\\x6c\\x50\\x16\\xb4\\xc5\\xc4\\x47\\x9a\\x9b\\x99\\xe3\\x5b\\x72\\x6a\\xa0\\x0e\\x80\\x1c\\x8f\\x2d\\xca\\x26\\xbf\\xcf\\x4b\\x8c\\x4a\\xcf\\xce\\xce\\xcc\\x6c\\x4e\\x35\\x79\\xbb\\x68\\x8a\\x82\\x26\\x82\\xf5\\xde\\x99\\x93\\x32\\x17\\x66\\xf2\\x51\\x99\\x51\\x99\\x14\\x79\\x67\\xe9\\x26\\xf7\\x61\\x0d\\x0e\\xf1\\x9a\\xbc\\x41\\xf9\\x5b\\x9c\\x41\\x46\\x04\\xf2\\xb6\\x05\\xbe\\xc9\\x35\\x64\\xa1\\x5b\\x92\\xe5\\xd5\\xc6\\xf7\\xa0\\x08\\xa6\\xdd\\x07\\x2d\\x2d\\x5b\\x0c\\x9c\\xda\\xed\\xd2\\xe4\\x36\\x04\\x3b\\xbd\\xe7\\xe7\\xde\\x83\\x16\\x98\\xd3\\x04\\x0f\\xf4\\x5b\\x5a\\xd6\\xa5\\x4b\\xca\\xc1\\x56\\x14\\x21\\x64\\x5c\\xbb\\xea\\x1f\\xe1\\x0e\\x71\\x6e\\x82\\x07\\x3f\\x28\\x09\\xda\\x9a\\x25\\x78\\xbd\\xb8\\xa5\\xc1\\x6c\\x76\\xa8\\x54\\x2e\\x8c\\xb3\\xb2\\x1d\\x69\\x84\\x46\\x88\\x35\\xe1\\x70\\x98\\xbd\\x09\\x5e\\x46\\x2f\\xaa\\x56\\x94\\xf8\\xf5\\x22\\x9e\\xac\\x82\\x2a\\x95\\xc1\\x93\\x00\\x13\\x40\\x3a\\xf5\\x84\\x34\\x4c\\xde\\xf8\\xef\\x67\\x0e\\xf2\\xc2\\x12\\xcb\\x1f\\x7e\\x7d\\x44\\x90\\xe0\\xc8\\x09\\x10\\x65\\x37\\x92\\xba\\x2c\\x8f\\xa4\\x13\\x25\\x2a\\xea\\xb9\\x5c\\x25\\x10\\x85\\x38\\x29\\x59\\x48\\x0e\\x24\\x25\\xfb\\xb2\\xfd\\x39\\x81\\x64\\x5b\\x13\\x84\\x7c\\xb5\\x7d\\x60\\x79\\xe1\\xe8\\x81\\x3b\\xfc\\x3b\\x0a\\x34\\x3f\\xfc\\xa0\\xcd\\x27\\x17\\x03\\x47\\x17\\x96\\x0f\\xdc\\xee\\xdf\\x9e\\xaf\\xfd\\xd7\\xbf\\x34\\x05\\xdb\\x9f\\xda\\x31\\x7b\\xf6\\x8e\\x17\\x66\\xce\\x7c\\x01\\xaf\\xdc\\x91\\xaf\\xfd\\xe1\\x07\\x4d\\x41\\x93\\x3c\\x05\\x9a\\x7f\\xfd\\x4b\\x9b\\x4f\\x2e\\xe4\\x52\\xa4\\x39\\x33\\x5f\\xa0\\x59\\x5f\\x60\\x6b\\x2e\\xda\\x81\\x02\\xfc\\x38\\xb7\\x0e\\x44\\x82\\x78\\x42\\x03\\x91\\x8e\\x48\\xde\\x64\\xb3\\xc1\\x88\\x58\\x8b\\x4e\\xc7\\x47\\x60\\x5f\\x42\\x84\\x35\\x12\\x44\\xd2\\x29\\x51\\xd1\\x44\\xb2\\x23\\x17\\x6d\\xb6\\x4e\\x34\\x92\\x27\\xf5\\x18\\xa9\\xd5\\x71\\x6c\\xc4\\xab\\x99\\x2e\\x60\\x3e\\xcb\\xd6\\x90\\xcb\\x14\\xa0\\x38\\x71\\x80\\x8e\\xdc\\x3b\\x9a\\x4f\\xb4\\x76\\x85\\x15\\x30\\xe7\\x46\\x76\\x6a\\x9b\\x10\\x53\\xa0\\x69\\x6b\\xe1\\xa0\\x1f\\xa7\\xae\\xdb\\x3f\\x77\\xee\\xfe\\x75\\x53\\x7f\\xfc\\xb1\\xf0\\xc7\\xe6\\x4b\\x87\\x97\\x2c\\x59\\x3a\\x7c\\xc8\\x32\\x38\\xfb\\x1d\\xe3\\xae\\xc9\\x73\\xf7\\xef\\x9f\\x3b\\x69\\x97\\xe9\\x9d\\xc2\\x1f\\x7f\\x44\\x6d\\x86\\x2f\\x7d\\x64\\xe8\\xb0\\xca\\xc5\\x94\\x37\\x6f\\x07\\x53\\x39\\x0e\\xbf\\x0f\\xec\\xc0\\x0b\\xc6\\x07\\x9d\\x91\\xc0\\xa0\\x52\\xab\\xf5\\x3a\\x9d\\x91\\x07\\x31\\x66\\x60\\x8e\\xf7\\xf1\\x46\\x6c\\xb3\\x45\\x51\\xf0\\xa3\\xc4\\x0c\\x1b\\xb4\\x61\\x95\\x41\\x27\\x04\\xe9\\xda\\xe2\\x74\\x35\\xd6\\x60\\xb5\\x1a\\x63\\x0f\\x6b\\x0c\\x0e\\x6b\\x1c\\xa4\\x35\\xae\\x8b\\x17\\x72\\x73\\xcd\\x67\\x65\\x15\\x27\\x57\\x59\\xf7\\x41\\x58\\x2e\\x6d\\x0c\\xe3\\xbc\\x94\\xaa\\x29\\x5f\\x83\\xe9\\xd0\\xeb\\xb0\\xa4\\x43\\xa8\\x8c\\xf3\\x40\\x93\\x06\\x6d\\xdf\\x3f\\x77\\x74\\x31\\x84\\xdf\\x20\\xd8\\xc3\\x11\\x88\\x90\\xea\\x83\\xb4\\x71\\x85\\x0d\\xcd\\x7a\\x6a\\xee\\xfe\\x20\\x84\\x11\\x01\\x87\\x74\\x14\\x7d\\x23\\xd5\\x17\\x8f\\xa6\\x4d\\x6c\\x68\\x19\\x95\\x5b\\xa3\\x89\\x4c\\x18\\xcd\\xed\\x26\\x2d\\xcb\\x08\\xba\\xf4\\x76\\x95\\xd9\\x6e\\x89\\xe6\\xe3\\x7d\\x1a\\xa7\\xde\\x6e\\xf7\\x38\\xd3\\x9d\\x79\\x4e\\xec\\x74\\x9a\\xa9\\x42\\x97\\x9b\\x3e\\x4c\\x76\\xc8\\x22\\x23\\x5e\\xf6\\xf8\\x47\\xe5\\x01\\x73\\xcd\\x42\\x60\\xb2\\x7b\\xb3\\x09\\x58\\xe1\\x5d\\x1c\\x01\\xc2\\xb0\\xd0\\xa2\\xd5\\x13\\x16\\x8f\\x59\\x3e\\xb2\\xdd\\xd2\\xc4\\xfd\\x55\\xa1\\xb8\\xaa\\xfd\\x49\\x4b\\xdb\\x8e\\x5a\\x36\\x72\\xf9\\x84\\xd5\\xdc\\xee\\x01\\x1f\\x0d\\x18\\xfd\\x64\\xef\\xf1\\x8b\\x73\\xd3\\x2a\\x9f\\x6c\\xdd\\xfa\\xc9\\xca\\xb4\\xdc\\xc5\\xe3\\x7b\\xae\\x9d\\xd0\\xff\\x4a\\x7f\\x06\\x17\\x8d\\xd9\\x32\\x8e\\xc0\\x95\\x4a\\xe1\\xb2\\xb8\\x74\\x76\\x57\\x64\\x1c\\x9f\\xd6\\xdc\\x18\\x6b\\x71\\xb9\\x3c\\xb1\\xe9\\xb1\\x79\\xb1\\x38\\x36\\xd6\\x7e\\x7f\\xb8\\x98\\x94\\x52\\x09\\x81\\x30\\x63\\xbc\\x17\\x38\\xbf\\x83\\x52\\x0a\\x15\\xca\\xfd\\xe7\\x75\\xe9\\xec\\x0f\\x2c\\x7b\\x71\\xf9\\xc8\\xf6\\xcb\\x15\\x20\\x13\\x96\\xe5\\x8d\\x5a\\xf6\\xe2\\xb2\\x80\\xbf\\x73\\x97\\x79\\xdc\\xee\\xf6\\x13\\x82\\x9d\\x2b\\x13\\xf0\\x8a\\x29\\xe3\\x17\\xb7\\x4d\\x91\\x41\\x4d\\x69\\xbb\\x78\\xfc\\xd4\\xe5\\x38\\xa1\\xb2\\x73\\x70\\x42\\x7b\\x8a\\xc3\\xfa\\x7a\\x82\\xc3\\x0a\\xe0\\xa2\\xfb\\xe5\\x22\\x0c\\x7a\\x9e\\x8b\\x8e\\xd1\\x30\\x1d\\x98\\x82\\xd4\\x2a\\x83\\xcf\\x4a\\x4a\\x46\\x8a\\x7b\\x32\\x87\\x3f\\x2c\\x46\\xb1\\x11\\xd9\\xd1\\x03\\xb3\\x96\\xfe\\xd4\\x79\\x6a\\x50\\xac\\x72\\xab\\xdc\\x6b\\x07\\x05\\xa7\\x76\\xfe\\x69\\xbc\\x98\\x03\\xbb\\xbc\\xb7\\x05\\xc6\\x6e\\x2b\\x98\\x1a\\x5c\\x32\\x72\\xd4\\xe2\\xe0\\xb4\\xfc\\x6d\\xd2\\xb5\\xca\\x47\\x66\\xb5\\xa2\\x78\\x59\\x4a\\xea\\x2a\\x24\\xfa\\xbf\\x8e\\xea\\xda\\x2a\\xbd\\x41\\xcb\\xc9\\xf5\\x30\\x47\\xff\\xd9\\x56\\x9b\\xdf\\x6a\\xb3\\x23\\xec\\x43\\x4b\\xff\\xba\\xa6\\xbf\\xf6\\x17\\x3d\\xa1\\xfe\\x18\\xc6\\x50\\xb7\\xaf\\xd2\\xb7\\x58\\xfa\\x56\\x3a\\x07\\xdb\\xd0\\xb5\\x76\\x2e\\xe0\\xc4\\x3b\\xb9\\xd1\\x20\\x06\\x24\\x04\\x4d\\x56\\x41\\x30\\xe0\\x28\\x43\\x54\\xac\\x5b\\x65\\xd3\\x12\\x65\\x35\\xdd\\x7f\\x31\\xbd\\x71\\xad\\x29\\xc3\\x29\\x73\\xbc\\x97\\x6c\\x91\\x77\\xde\\x32\\xb2\\xb4\\xf8\\x95\\xee\\x17\\x70\\x84\\x2f\\x65\\xe2\\xe0\\xe5\\x03\\xf2\\x87\\xac\\xe8\\xdb\\x26\\x35\\x49\\xff\\xd0\\xc0\\x9e\\x81\\x0c\\x68\\x4e\\x9a\\xd6\\xb1\\x62\\x87\\x3b\\xb4\\xab\\xcb\\xc8\\x2e\\xad\\x3b\\x8e\\x72\\xe0\\x2e\\xd3\\xe7\\x8a\\x3b\\x46\\x17\\x2e\\xf7\\xd3\\x31\\x35\\xb9\\xfe\\x7d\\xae\\x1d\\xd1\\x45\\xe8\\xfb\\xa1\\x05\\xc1\\x1e\\x31\\x91\\x3a\\x9d\\x25\\x56\\xad\\x8e\\xb2\\x44\\xc5\\x79\\x57\\x68\\xa1\\x36\\x66\\x79\\x0c\\x2c\\x8f\\x81\\xfd\\x62\\x60\\xcc\\x0a\\x0d\\xd4\\xc4\\x26\\xc7\\x42\\x7b\\x2c\\xe4\\x62\\x61\\xac\\xf3\\x21\\xcf\\x0a\\x0f\\xf2\\x38\\x66\\x39\\x96\\x39\\xd0\\x00\\x07\\x74\\x38\\x81\\x4a\\x15\\xb1\\xc2\\x0d\\xdd\\x4e\\x63\\x5e\\x04\\x8c\\x20\\xbc\\x92\\x40\\x3f\\xcc\\x9a\\x4b\\x94\\x26\\xff\\xb0\\x61\\xe4\\xa0\\x5f\\xf4\\xa4\\x7c\\x35\\x69\\x18\\xe3\\x1b\\x89\\x0d\\x2d\\xe2\\xef\\x68\\x5f\\x22\\xb9\\x83\\x89\\xd9\\x3c\\x1e\\x2e\\x37\\x2c\\x74\\x23\\xdc\\x44\\xb4\\x6a\\xb9\\xd4\\x06\\x99\\x43\\x37\\x9a\\xb3\\x96\\xc1\\xc3\\xc5\\xa1\\xaf\\xc3\\xad\\xec\\x3c\\xaa\\xae\\xa8\\xcb\\x48\\xf4\\x9f\\xe2\\xd9\\xc5\\xb4\\x9d\\xd9\\xf5\\xad\\xb9\\xd7\\x98\\x8f\\x0d\\x0f\\x68\\x15\\x8c\\x89\\xb4\\xeb\\x75\\xae\\x28\\xb5\\x20\\xa8\\xdc\\xc8\\x19\\xa5\\xd3\\x9a\\x63\\xec\\x3a\\xa3\\x11\\x5a\\xe9\\xcc\\x1c\\xc8\\x3b\\x4b\\x37\\x0a\\x3b\\x72\\x1b\\xd7\\x7e\\x79\\x7d\\x36\\xea\\xa3\\x49\\xc8\\x83\\xec\\xf0\\xe3\\x44\\x72\\x04\\x4c\\x90\\x1e\\xe4\\x97\\x44\\x8c\\x4b\\x3b\\x48\\xeb\\x0b\\x4a\\x3b\\x5c\\xf5\\x5c\\x2d\\xfb\\xc4\\x73\\x35\\x58\\xda\\x1a\\x8e\\xeb\\x52\\xda\\x4e\\xb9\\x75\\x4a\\xeb\\x47\\xc0\\x71\\xb0\\xfd\\x56\\x69\\x33\\xec\\x20\\x3e\\x23\\xc2\\x7f\\xd3\\x53\\x57\\xe9\\xab\\xad\\x70\\xa8\\x74\\x9e\\x5c\\x4b\\x3a\\x72\\x42\\x13\\xb6\\x4a\\xba\\xad\\x84\\xb6\\xfa\\x51\\x67\\xcb\\x7c\\x3e\\xe1\\x73\\x1d\\x83\\xf1\\x46\\x95\\xa0\\x1a\\x21\\xea\\x4c\\x02\\x61\\xc6\\x82\\x00\\x34\\x56\\x84\\xd1\\x08\\x62\\xa3\\x61\\x40\\xec\\x5c\\x9b\\xb2\\xfb\\x4e\\xde\\xda\\xdc\\xe8\\xae\\x95\\x7a\\xec\\x93\\xb7\\xc1\\xf8\\x9b\\xba\\x4e\\x53\\x1c\\x67\\x7a\\x85\\xa5\\xc3\\x57\\xbb\\x56\\xc7\\xae\\x8e\\x5a\\x3d\\xe8\\xd4\\x20\\x58\\x19\\x25\\xcd\\x8b\\x85\\x4b\\x5d\\xd2\\xdc\\x20\\xda\\xea\\x86\\xdf\\x56\\xae\\xab\\x84\\x67\\xa4\\xf6\\xe4\\x4b\\xaa\\x79\\x8a\\xd2\\x28\\x31\\x49\\xf1\\x5c\\x82\\x3b\\x1b\\xf5\\x8b\\x43\\xe1\\x29\\xa2\\xf0\\x78\\x84\\x74\\x01\\x6b\\x1a\\x60\\x2a\\xa2\\x30\\x91\\xd1\\x66\\x07\\x79\\x79\\xf7\\x07\\xc5\\xdb\\x04\\x94\\xb0\\x77\\x37\\xf8\\xdc\\xe8\\x89\\xae\\x89\\xb1\\x13\\xa3\\x26\\x8e\\x3b\\x32\\x8e\\x9c\\x63\\xc9\\xdd\\x68\\xa4\\x27\\x75\\xa3\\xf8\\xd0\\x17\\xe4\\x2b\\x74\\x53\\xe6\\x8f\\x36\\x82\\x13\\xc4\\xfc\\xcf\\x75\\x0c\\xfa\\x0c\\xa6\\x48\\xd3\\x08\\xd1\\x19\\xa9\\x82\\x48\\x43\\x90\\xa1\\xd5\\x58\\xe9\\x76\\x28\\x6b\\x50\\xa5\\x02\\x3a\\x0c\\xa2\\xee\\x40\\x8a\\xeb\\xb3\\x34\\x39\\x32\\x82\\xb3\\x21\\x42\\x82\\xdf\\x96\\xac\\xc4\\x55\\x72\\x10\\x50\\x22\\xe5\\xc8\\x4a\\x84\\x23\\x25\\x53\\xcc\\x2c\\xf7\\x25\\x27\\x68\\x16\\x47\\x2e\\xee\\x9f\\x34\\xea\\xd4\\xd4\\xa8\\x18\\x8f\\xcf\\xb4\\x38\\x72\\x72\\xa9\\xdb\\x3d\\x04\\x6d\\xf5\\xa0\\x13\\x5c\\x46\\x7a\\xf9\\x7c\\x8c\\x54\\xa1\\x43\\x7c\\x7a\\xc6\\xd4\\xa9\\xbc\\x94\\xfa\\x94\\xbc\\xc7\\x2b\\x97\\xc5\\xea\\xc9\\x67\\xba\\x96\\x3f\\xe8\\x72\\x68\\xb4\\x9a\\x11\\x62\\x84\\x56\\x2b\\xe8\\x9d\\x7c\\x89\\xe8\\x74\\xea\\x05\\xab\\x9e\\xf4\\x96\\xbe\\xd1\\x25\\x52\\x53\\x1f\\xbb\\x4c\\x83\\xe6\\x7c\\x0d\\x3e\\x4d\\xa9\\x0f\\x28\\xaf\\x8f\\x75\\x17\\x75\\x07\\x71\\xbc\\x5a\\xfa\\xeb\\x45\\xea\\xec\\xe8\\xc5\\xc7\\x5c\\x8f\\x75\\x81\\x17\\x2e\\x7d\\x7e\\x56\\xba\\x76\\x2b\\x09\\x0e\\x73\\x49\\xcf\\x25\\x4b\\xfb\\xde\\xc5\\xb5\\x2b\\x7e\\x7c\\x24\\x24\\xe1\\xb2\\x4a\\x38\\x7c\\xcf\\x4b\\x17\\xdf\\xa8\\x7c\\xfb\\x08\\x85\\x29\\x52\\x1a\\xc8\\xbd\\x4a\\x60\\x22\\xbc\\x85\\xd0\\x7c\\x54\\xa4\\xcb\\xeb\\x2a\\x11\\xbd\\x5e\\xa7\\x91\\x27\\x86\\x7e\\x89\\xa8\\x76\\x5a\\x8d\\x71\\x25\\xa2\\x51\\x01\\xe9\\x6c\\x13\\x67\\xbf\\x14\\x22\\x07\\x15\\x6f\\xcc\\x37\\x23\\x0d\\x0e\\x03\\xbd\\x72\\xb8\\x03\\x81\\x3a\\x7e\\xc4\\x2a\\x98\\x95\\x02\\xb1\\x37\\x33\\xe7\\x53\\x67\\x56\\xfb\\x2c\\x77\\xb7\\xbc\\x71\\x53\\xd4\\xd0\\x0b\\xbf\\x79\\xef\\xc2\\x98\\xd3\\x0f\\xc3\\x98\\xcf\\xa4\\x5f\\x2a\\xd5\\x38\\x4e\\xba\\x25\\xdd\\x18\\x0a\\x9d\\x3b\\x4e\\x1c\\x76\\xe7\\x9a\\xb7\\x58\\xca\\x47\\x26\\xa7\\xf1\\xef\\x3f\\xbb\\x7a\\xec\\x6b\\x8b\\xec\\xa1\\xdd\\x28\\x2f\\xd4\\xaf\\x19\\xf7\\xd8\\x11\\x29\\x75\\x33\\x5d\\xe3\\x73\\x58\\x1a\\xc4\\xab\\x09\\x8d\\x65\\x10\\xbd\\xbf\\x3d\\xe8\\x0c\\x86\\x06\\x5b\\xb5\\x69\\xd5\\xb2\\x55\\x91\\x98\\x9a\\xd6\\x36\\x10\\x0c\\x14\\x8b\\x9a\\xb4\\x96\\x41\\x53\\xd0\\x14\\x01\\x5b\\x46\\x26\\xc6\\x15\\x8b\\x89\\x76\\x3b\\x70\\x44\\x44\\x58\\xf3\\xb4\\x5a\\xbd\\x55\\x5f\\x24\\x5a\\xcd\\x04\\xf1\\x79\\xf2\\x32\\x77\\xf6\\xe7\\x94\\x57\\xaa\\xca\\x9e\\x99\\xac\\xb9\\x77\\x38\\x03\\xc2\\x90\\x89\\x1d\\x14\\xb0\\xc9\\xdb\\xd1\\xad\\x5e\\x22\\xdd\\xfd\\x90\\xb9\\x2d\\x65\\xee\\xc8\\x1a\\x9a\\xed\\x33\\xc2\\x34\\xa8\\x81\\xd4\\x6d\\x90\\x00\\x23\\xa8\\xff\\x26\\x98\\x4c\\x38\\x40\\x4e\\x4f\\x68\\xe9\\xd2\\x29\\x38\\xf7\\xfc\\x73\\x35\\xcd\\x7b\\xce\\x99\\x1f\\x73\\x62\\x14\\x5c\\x36\\xb2\\x27\\xe4\\x57\\x4b\\x1f\\x16\\x68\\x87\\x68\\x7a\\x47\\x7b\\xed\\x05\\xdd\\xfa\\xf4\\xe4\\x55\\x43\\xdf\\xa9\\xd4\\x49\\x21\\x28\\x96\\xee\\x9a\\x61\\xb2\\xac\\x93\\xfa\\x35\\xbb\\x51\\x5d\\x89\\x26\\xa2\\x49\\x43\\x75\\x5a\\x69\\x10\\xdc\\xe5\\x9a\\xd5\\x77\\xe4\\xda\\xb2\\x0e\\x76\\xe8\\x89\\xec\\x33\\xd8\\x02\\x13\\xa2\\xe0\\x93\\x52\\xf3\\x2e\\xd3\\x9b\\x67\\x4a\\x2d\\x5b\\x7a\\xfa\\x09\\x93\\xcd\\x85\\xbd\\xdd\\x09\\x73\\xc6\\x48\\xe3\\x51\\x34\\x1c\\xbe\\xa9\\x58\\xc4\\xd2\\xaf\\x3d\\xe2\\xe1\\x2c\\x4b\\x25\\xdc\\x1b\\xbb\\x0f\\xb5\\xcd\\x90\\x7d\\x92\\xbf\\x4f\\x70\\xe7\\x21\\xb8\\x73\\x13\\xed\\xa1\\xcd\\x71\\x67\\x74\\xa4\\x87\\xb0\\x5f\\x53\\x0d\\x74\\x05\\x6d\\x62\\x44\\x24\\xc6\\x50\\x00\\x5e\\x3d\\x19\\x43\\x45\\xa2\\x86\\x87\\xa6\\xc6\\xb5\\x22\\x94\\x0a\\xc3\\x5e\\x93\\xf2\\x58\\x88\\x45\\xca\\x24\\x08\\x22\\xc8\\xc8\\x84\\xe1\\xce\\x4f\\x86\\x3e\\x48\\x31\\x11\\x0d\\xc9\\x85\\x3e\\x66\\xd7\\x94\\xd9\\x01\\x68\\x80\\x60\\x75\\x3d\\xb0\\xc7\\xf4\\x93\\x9a\\x45\\xcd\\x5b\\x78\\x30\\xfa\\xc0\\x8b\\xf3\\xf2\\xa5\\x6f\\xd7\\xc0\\xe1\\x82\\x66\\xb1\\x08\\x53\\xde\\xc5\\x7b\\x56\\x43\\x97\\xf4\\x4f\\xb8\\x56\\x9a\\xb8\\x3a\\x14\\x15\\x8c\\x5f\\xd1\\x32\\x59\\xea\\x88\\x92\\xa2\\xbd\\x89\\x2d\\xd1\\x33\\x52\\x0b\\xf8\\x81\\x3c\\xa6\\x73\\xa5\\x0a\\x1a\\x67\\x90\\x8c\\x99\\x66\\x41\\x62\\x2f\\xe8\\x54\\x25\\xa2\\x4e\\xc7\\x19\\x88\\xa2\\x66\\xe5\\x4c\\x25\\x22\\xa7\\x0c\\x62\\xe6\\xa8\\x8f\\xea\\x9e\\xe7\\x88\\x8c\\xa0\\x23\\xc4\\xe6\\xa5\\x7e\\x62\\xa8\\x27\\x48\\xcc\\x8d\\x9b\\x78\\xb0\\xf7\\xc6\\x87\\x42\\xb7\\x1e\\x3a\\x05\\x55\\xa7\\x26\\x22\\xed\\xc4\\x53\\xdf\\x6f\\x0d\\xbd\\x05\\x37\\xa0\\x49\\xa1\\x2a\\x3e\\x9f\\xba\\xe6\\xab\\x1d\\x42\\xeb\\x2a\\x22\\x75\\xf5\\x60\\x38\\x4a\\x0b\\x46\\xba\\x40\\x94\\x1d\\xb8\\xdd\\x58\\x6f\\x34\\x6a\\x8a\\x45\\xa3\\x1d\\x47\\x14\\x89\\xd8\\xdc\\xb0\\x00\\xd7\\x7c\\x8e\\xae\\xa3\\xa3\\xde\\x84\\x60\\x83\\x7b\\x6f\\x3f\\xab\\xb8\\xd1\\xf9\\x37\\xa9\\x5f\\x25\\xc0\\xbd\\xbd\\x8f\\xcd\\x5f\\xf3\\x98\\x69\\xda\\x8c\\x8a\\xe7\\x7a\\x2f\\xab\\x34\\x0d\\x2a\\x5d\\xf8\\x92\\x7b\\xde\\x11\\x18\\x77\\xa4\\x87\\x35\\x16\\x3f\\x3c\\x76\\xe4\\xf4\\x59\\x9d\\x7b\\x87\\x0e\\x85\\xbe\\x23\\xf0\\xec\\x2b\\xce\\xec\\x99\\xbf\\xff\\x89\\xd0\\x62\\xfe\\x82\\xb4\\x60\\xd4\\x83\\x14\\xa6\\x44\\xa9\\x82\\x17\\x58\\xfb\\x13\\x82\\x36\\x40\\x77\\x6f\\xa8\\x8c\\x3a\\xac\\xb5\\x72\\x2a\\x15\\x2c\\x11\\x55\\x72\\xf3\\xcd\\xe7\\xf2\\x98\\xcb\\x4c\\xea\\x7d\\x83\\x01\\x01\\xe5\\xda\\xa1\\x1f\\x6d\\x85\\xfd\\x57\\x92\\xe6\\x77\\x92\\xd6\\x9f\\x1d\\x42\\x9b\\xbf\\x04\\x9d\\xfa\\x1a\\x6b\\x42\\x4f\\xb2\\xf6\\x2f\\xd8\\x29\\xa5\\x11\\x04\\x94\\xa0\\x6d\\x0c\\xd7\\x4b\\x48\\xfb\\x8f\\x33\\x9f\\x36\\xbe\\xa0\\x8d\\x68\\x2b\\x3c\\x87\\x75\\x26\\x35\\x10\\xec\\xd8\\x58\\x2c\\x42\\xea\\x1f\\xe3\\x1c\\xc3\\x75\\x9e\\xec\\xa2\\xae\\x69\\x3d\\xb4\\xde\\x3d\\xcf\\xf5\\x4e\\x97\\xfe\\x78\\xb2\\x17\\x6d\\xdb\\x11\\xd4\\xf1\\x83\\xd0\\xaf\\xd0\\x30\\x42\\xaa\\x80\\x1b\\xe0\\x1f\\x65\\xd2\\x24\\xfe\\x42\\xdd\\x08\\x64\\x90\\xd2\\x25\\x17\\x5b\\x3f\\xf8\\x15\\xa9\\xeb\\x37\\xb6\\x2f\\x3b\\x9e\\xae\\x7b\\xa6\\x5e\\x78\\x05\\xcc\\x69\\xb1\\xb6\\x84\\xd4\\x64\\xa5\\x35\\x29\\x4b\\x29\\x65\\x47\\xb2\\x36\\x6f\\x80\\xfa\\xe4\\x12\\xa0\\x17\\x9f\\x3f\\xd8\\xbb\\x6e\\x56\\x0c\\x96\\x42\\x0e\\x37\\x7e\\x3d\\xba\\x0e\\x62\\x56\\xc7\\x1a\\xce\\xf5\\xd4\\xca\\xda\\x6f\\x64\\x1f\\x31\\xa4\\xec\\x09\\x5c\\x1b\\xb9\\x6c\\x15\\xe6\\x70\\x91\\xc8\\x99\\x08\\x81\\x0b\\x45\\xa2\\x16\\xd8\\xef\\x2a\\xdb\\xdf\\x50\\xb0\\xcf\\xd6\\x36\\x1a\\xb7\\x0a\\x55\\x47\\xe3\\xd6\\xae\\xba\\x8b\\xe8\\xe5\\xb1\\xcf\\xf5\\x5e\\x81\\x93\\x56\\xae\\xa8\\xfb\\x24\\xf4\\x39\\xdc\\xc0\\x7c\\x70\\x5d\\xe7\\xbe\\xe3\\x07\\x13\\xa5\\x2b\\x06\\x24\\x06\\x6d\\xd0\\x00\\x8c\\x58\\xe7\\x24\\x04\\xc9\\x61\\xc2\\xb6\\xb1\\x8d\\x4a\\x94\\x86\\x05\\xda\\xb2\\x07\\xd7\\x80\\xcc\\x23\\xac\\xcc\\xcf\\x76\\x80\\xa0\\xc9\\xec\\xcd\\x64\\x1c\\x85\\x3a\\x0d\\x8f\\xd3\\xce\\x5d\\xf1\\xe1\\x17\\x15\\x87\\xea\\xb6\\x1e\\x14\\xd7\\x7a\\xa4\\xbf\\x42\\xc3\\xa1\\x76\\xf3\\xc4\\x6d\\x81\\x3d\\x13\\x76\\xcc\\xec\\x96\\xd3\\xfd\\xe7\\x7f\\xee\\x80\\x73\\xeb\\x16\\x0e\\x79\\xe0\\xf6\\x51\\x78\\x56\\x3a\\x33\\x13\\xb7\\x7d\\xa4\\xe2\\x23\\xe9\\x15\\x79\\x5c\\xbc\\x0d\\x00\\x9f\\xc9\\xf5\\x22\\xcd\\xf1\\x1c\\x06\\xc8\\x86\\xe8\\x48\\xd6\\x88\\x36\\x33\\xa1\\x10\\x93\\x40\\xe5\\xab\\x35\\x37\\x8c\\x3c\\x46\\x8d\\x84\\x25\\xfb\\x6d\\x91\\x1e\\x48\\x34\\x13\\x06\\x0b\\xf7\\x9e\\x33\\x2e\\x35\\xcf\\x27\\x15\\x7e\\x74\\xfc\\xf4\\x83\\x1a\\x2d\\xe7\\x1a\\xfe\\xaf\\x82\\xb5\\xe5\\xfd\\xda\\xe0\\x67\\xcd\\xed\\x3a\\xd5\\x5d\\xe0\\xda\\x84\\x82\\x5d\\xa6\\x67\\x67\\x1f\\x83\\x97\\x57\\xcd\\x49\\x21\\xf5\\x8d\\x25\\xf5\\xed\\x23\\xfd\\x15\\x4f\\xc7\\x61\\xac\\x27\\xca\\x53\\x22\\xda\\xf4\\x7a\\x6c\\x34\\x0a\\x51\\x44\\x50\\x40\\x81\\xf9\\x87\\xa3\\xcc\\x22\\xb7\\x61\\xa7\\xb8\\xd7\\x87\\x92\\xa9\\xbb\\x26\\x1b\\x1d\\x06\\x01\\xe8\\x8f\\xb4\\x0a\\xf6\\x68\\x28\\xbb\\x29\\x90\\xdd\\x7a\\xe2\\x92\\xcb\\x11\\x28\\x57\\xdc\\xf9\\xa1\\xff\\x64\\xb6\\x3e\\x32\\x07\\x6a\\xf7\\xeb\\x4d\\x78\\xf4\\x1b\\xb1\\x0f\\x94\\xf6\\x74\\xb5\\x33\\x74\\x75\\x5a\\xbc\\x59\\x4e\\x34\\xa2\\x7a\\xf5\\x55\\x69\\x1a\\x9f\\x5f\\x77\\x72\\xeb\\x4b\\x4b\\xd0\\xec\\x9b\\xd2\\x15\\xb1\\x12\\x0e\\x46\\xfd\\x07\\x56\\xa4\\xeb\\x85\\x35\\xaa\\x36\\x5d\\xc2\\xf1\\x29\\xf8\\xb1\\x04\\x1f\\xf1\\x20\\xed\\x30\\x05\\x8f\\xe2\\xc3\\x24\\x46\\x99\\x2d\\x0c\\x48\\x95\\x40\\xbd\\x5c\\x31\\x17\\x76\\x32\\x84\\x79\\x61\\x10\\x71\\xb2\\xc0\\x20\\x14\\x08\\x88\\x36\\x3f\\xb1\\xca\\x29\\x82\\xee\\x00\\xf1\\x42\\xbc\\x76\\xdc\\xbb\\xe7\\xa3\\x0f\\x45\\x71\\x1a\\x43\\x8f\\x8f\\x5e\\x73\\x6b\\x8d\\x6d\\xed\\x8f\\x79\\x7b\\x0e\\xeb\\x21\\x83\\xe8\\xc9\\x8c\\x81\\xfb\\x7f\\xbf\\x25\\xf5\\x27\\x28\\xdb\\x96\\x77\\xb4\\xc3\\x3e\\xf8\\x8a\\xb4\\xf0\\x87\\x2e\\x7b\\x3b\\xc2\\x4a\\x05\\xc2\\xec\\x6e\\x84\\x76\\xd6\\x11\\x01\\x76\\x94\\xcb\\x07\\x4e\\x02\\x61\\xcb\\xa0\\xd9\\x82\\x31\\xcf\\x71\\xaa\\x68\\x95\\x1d\\x23\\xa7\\x49\\x47\\xcc\\x67\\xd7\\x11\\x51\\x67\\x46\\x76\\x85\\x82\\xd8\\x64\\x49\\xba\\x3c\\xcb\\xad\\x21\\x7d\\x47\\x67\\x04\\x1a\\xcd\\x65\\x07\\xeb\\x48\\xc8\\x47\\x38\\x14\\x66\\xc3\\x1d\\x0d\\x6d\\xfc\\x68\\xc8\\x94\\xa8\\x19\\x9a\\xe7\\x16\\xf6\\x1a\\xfc\\xf0\\xa3\\x29\\x82\\x9e\\x73\\x0d\\x83\\x8b\\x42\\x2f\\xea\\x1f\\x89\\x76\\xa4\\x65\\x53\\xa7\\x35\\xc8\\x97\\x30\\x3f\\xb9\\x6d\\x70\\xde\\xee\\xe1\\x45\\xe3\\xaa\\xdb\\x5d\\x4b\\xac\\x26\\xbd\\x8b\\x5e\\xaf\\xcb\\xcc\\xec\\x3c\\xc0\\x15\\xdf\\x3e\\x6c\\xc7\\xb5\\x62\\x3e\\x16\\x22\\x83\\x3a\\x1e\\x94\\x88\\x3c\\x8f\\x14\\x87\\x3f\\x8a\\x53\\x1c\\x99\\xa7\\x0a\\x70\\xa3\\xc2\\x4a\\x1f\\xf2\\x84\\x79\\x28\\xd5\\x49\\x0f\\x10\\x1d\\xf0\\x2c\\x19\\x77\\x02\\x70\\x05\\x8d\\x90\\x2b\\x16\\x89\\x1d\\x0c\\x21\\xc1\\xbd\\x4a\\x26\\x48\\x79\\x5f\\x2d\\x96\\xfd\\xb2\\xa3\\x1c\\x11\\x7e\\x1f\\x25\\x45\\x95\\x1e\\x79\\x9f\\x6b\\x23\\xe5\\x2c\\x91\\x6c\\xe4\\x49\\x04\\x6c\\x64\\x8c\\xbd\\xce\\xf5\\x01\\x91\\x2c\\xea\\x6f\\x44\\x84\\xab\\x48\\x8c\\x30\\x6b\\xb4\\x44\\x2c\\x99\\x63\\xcd\\xd8\\x4c\\x78\\x70\\x64\\x78\\x1d\\x39\\x1b\\x69\\xa4\\x40\\x33\\xf0\\xc6\\x59\\xb2\\xac\\x39\\x44\\x14\\x21\\x16\\x75\\x80\\x31\\x64\\x36\\xc1\\xa8\\x83\\x09\\xdc\\xeb\\x52\\x95\\xb4\\x4d\\xf2\\x3c\\xf2\\xd7\\x76\\x7e\\xc7\\xc9\\x19\\x33\\x27\\x27\\x9e\\xdd\\xb2\\x78\\xcd\\x4b\\x81\\xd6\\x8f\\x67\\x4d\\x81\\xdb\\xd1\\x65\\x69\\x9d\\xb4\\x1c\\xee\\x3a\\x04\\x5b\\x9c\\x8d\\x5a\\x1e\\x27\\x5d\\xfa\\x7a\\xf5\\x0a\\x01\\x75\\x7c\\xed\\xc3\\xf3\\x3b\\x26\\xcd\\x93\\xfe\\x08\\xbd\\x62\\x01\\x08\\x72\\x60\\x25\\x7e\\x1d\\x2f\\x63\\xef\\x91\\x12\\x83\\x56\\x08\\x04\\x15\\x20\\x7f\\x88\\xf0\\x47\\x13\\xf2\\x20\\x44\\xf7\\x56\\xb3\\x88\\x21\\x4a\\x34\\x62\\x2a\\x26\\x13\\x05\\x76\\x74\\x8f\\x43\\x83\\xe2\\x42\\x65\\x1e\\x34\\xc8\\x03\\xff\\xfd\\xec\\x8d\\x67\\x43\\xcf\\x93\\x13\\x95\\xc7\\xaf\\xe2\\x63\\x70\\x9c\\x12\\x27\\xc5\\x78\\x84\\xc5\\xef\\x00\\xe9\\x17\\x73\\xa9\\xcb\\x2a\\x1c\\xf0\\x0b\\x54\\xe9\\xec\\x14\\xbb\\x29\\x36\\xa3\\x62\\x6e\\x05\\x37\\xad\\xba\\xfa\\x24\\x8a\\x0c\\xfd\\x48\\xf5\\xb5\\x0c\\xfc\\x27\\x4a\\x6d\\x78\\x0e\\x63\\x8e\\xc6\\x73\\xbc\\x90\\x49\\x5d\\xbd\\x68\\x60\\x32\\xa4\\xe1\\x8f\\x51\\xaa\\xf4\\x40\\x01\\x3c\\x22\\x8d\\x8d\\xd9\\x14\\xc3\\x8f\\x92\\xaa\\x07\\xc0\\x09\\x0f\\x57\\x57\\x93\\x3a\\x4b\\xb8\\x12\\xb8\\x59\\x79\\x56\\x7f\\x98\\x53\\xd1\\x7d\\xe8\\x7e\\x16\\xf3\\x99\\x70\\x40\\xea\\x12\\x10\\x2e\\x09\\x7d\\xe6\\x44\\x09\\xd2\\x61\\x52\\x33\\x57\\xf2\\xd0\\x88\\xea\\x6a\\xc6\\xab\\xe9\\x73\\xef\\xb0\\x58\\xa7\\xda\\x43\\x98\\xc6\\x89\\xf6\\x5f\\xa0\\x91\\x4a\\x02\\x84\\x14\\x56\\xc0\\x17\\xd2\\xe7\\x77\\x0d\\x7d\\xc6\\x7d\\x7c\\x53\\xaa\\xa6\\x76\\xc0\\x19\\x4e\\xe0\\x9e\\x10\\x66\\x02\\x0d\\x30\\x1f\\x85\\x3c\\xaf\\xc6\\x6a\\x25\\xb0\\x08\\xad\\x05\\x33\\x3e\\xee\\x87\\xdc\\x5a\\xe9\\x9b\\x51\\xd5\\xa3\\xa4\\x6f\\x38\\xb8\\xc5\\x02\\xe3\\x54\\xda\\x50\\x08\\x61\\x07\\xec\\x2f\\xed\\x62\\x7b\\xcb\\xb6\\x91\\x32\\xa6\\x2b\\x65\\xd0\\x28\\x3a\\x50\\xd5\\x58\\x86\\x0f\\x06\\xd8\\x5e\\x7d\\x01\\x9d\\xb7\\x48\\xdf\\x73\\xd0\\xfd\\x60\\xf5\\x83\\xd0\\xcd\\x71\\x02\\xec\\xef\\x40\\x38\\x14\\x8a\\x04\\x08\\xe5\\xe3\\xe7\\xf1\\x0d\\xe1\\x22\\x6b\\xa7\\x33\\xa8\\x85\\x90\\xc3\\x34\\x5c\\x0e\\x47\\x03\\x4a\\x35\\x06\\xa9\\x50\\x62\\xe2\\xe0\\xf8\\x31\\xc3\\x3e\\x91\\xfa\\xbb\\xaf\\xb8\\xb9\\xf7\\x51\\x6d\\xed\\xd5\\x0d\\x1b\\xa8\\xbe\\x84\\xba\\x92\\x32\\x7e\\x6a\\x2c\\x03\\x21\\x48\\xec\\xc0\\x2d\\x43\\x58\\xe0\\xbe\\x3b\\xca\\xb0\\x09\\xbe\\x00\\xf6\\x7e\\x72\\x61\\xcc\\x24\\x52\\x04\\x7e\\x1e\\xd5\\xc2\\xe6\\xac\\x08\\x42\\x37\\xd7\\xe0\\x0e\\xbc\\x4c\\xc1\\x77\\x54\\x50\\xd3\\x50\\x46\\x0d\\x6c\\xae\\xbc\\xe4\\xc9\\x6d\\x52\\x08\\x3a\\xa9\\x14\\x02\\x77\\x34\\x14\\x02\\xeb\\xad\\xdc\\x18\\xf8\\x2b\\x29\\x43\\xc1\\xa7\\x86\\x06\\xd8\\x22\\x7d\\x26\\x6f\\xd9\\x20\\x4f\\x91\\xc3\\xe6\\x85\\x57\\x7e\\x6d\\x31\\xbf\\xc5\\xfe\\x16\\xf3\\xf3\\xd1\\x06\\xbe\\xf7\\x3f\\xff\\xf9\\x4f\\x38\\x92\\xc6\\x20\\x0c\\x90\\x12\\xbe\\x27\\x97\\xf4\\x59\\x15\\x56\\x73\\x34\\x30\\x0b\\x21\\x4f\\xea\\xc3\\xc7\\x4f\\x90\\x28\\x30\\x07\\xeb\\x97\\x42\\x15\\xf9\\xec\\xd9\\x16\\xbf\\xc2\\x91\\xe4\\x51\\x52\\x67\\xa9\\x34\\x10\\x5e\\xad\\x9f\\x4e\\x68\\x9c\\x50\\x26\\xb7\\x88\\xc6\\x86\\xf1\\xbb\\xe8\\x53\\x44\\xd0\\xdb\\x7c\\xc9\\xc2\\x56\\x18\\xbf\\x67\\xf7\\xae\\xc9\\xc7\\x49\\xb6\\x58\\xe9\\xda\\xab\\xaf\\xd2\\xb6\\x9e\\x01\\x6f\\x63\\xea\\x57\\x4b\\x8e\\x5d\\xa7\\xa3\\xf8\\x86\\x80\\x1c\\x26\\x42\\xd6\\x79\\x69\\x69\\x72\\x70\\x6e\\x7a\\xa0\\x82\\x66\\x67\\x9a\\x49\\x2f\\x91\\x13\\x1e\\x77\\xe9\\x52\\x68\\xf8\\xa5\\x4b\\xcc\\x36\\xba\\x0c\\x6e\\x72\\x08\\x8f\\x55\\x68\\x13\\x90\\xb1\\x15\\xa6\\x4d\\x2a\\x9c\\xe9\\xd1\\x32\\x06\\xd5\\xc4\\xd4\\xfd\\x18\\x8b\\x6a\\x62\\xd1\\x3f\\xd6\\xad\\x93\\xdc\\xeb\\xd6\\x01\\x88\\xba\\x21\\x91\\xd9\\x9d\\x3c\\xd0\\x1c\\x02\\x1c\\x00\\x79\\x6c\\x33\\x3e\\x0d\\xbb\\x82\\x36\\x15\\xf7\\x6c\\x7e\\xa2\\x39\\x12\\xd1\\xda\\xaf\\xbf\\x66\\xfb\\xd8\\x1e\\xc2\\x45\\x0d\\x79\\x21\\xbe\\x23\\xef\\x3b\\xc5\\xb1\\x24\\x2f\\x2e\\x82\\x9b\\x59\\x5e\\x0c\\x96\\x10\\x5e\\xf8\\x19\\xc9\\x6b\\x07\\x51\\x20\\x96\\x58\\x6b\\xb1\\x8e\\xc8\\xbe\\xa2\\x03\\x68\\x4d\\x54\\x87\\x00\\x58\\x85\\x8b\\x45\\x5b\\x74\\x0c\\x56\\x99\\x90\\x2b\\x16\\x43\\xba\\xb2\\x44\\x5e\\x7b\\xd8\\x84\\x2f\\x29\\x9e\\x50\\x9b\\x86\\xd8\\x50\\x42\\x18\\x51\\x2f\\x2f\\x37\\x4e\\x1c\\x39\\xb1\\x21\\x6a\\x83\\xd3\\xf3\\xd4\\x92\\x6e\\x59\\xd1\\x2d\\xbc\\x9d\\x7b\\xda\\x6c\\x1f\\x44\\xc1\\x2e\\xde\\x23\\x5e\\xa9\\xe7\\xfb\\x47\\xde\\xc7\\xc7\\xeb\\xba\\xe1\\xe3\\x4b\\xe6\\x3c\\xb9\\x50\\xbf\\x42\\xdd\\x65\\xf8\\x88\\x25\\x70\\xcc\\x9e\\x3d\\xb7\\xbf\\xa2\\x9c\\x9c\\xe2\\xab\\x29\\x7c\\x2d\\x82\\x4e\\xe7\\x5d\\xa0\\x11\\xb8\\x22\\xa3\\x30\\xb4\\xb3\\xb0\\x50\\x4d\\xe0\\xf2\\xff\\x1d\\x5c\\x36\\x32\\x2c\\xff\\x06\\xa6\\x7c\\xa2\\xcf\\x49\\x5f\\xdd\\x03\\x4f\\x5d\\x37\\xfe\\xc2\\xed\\x2c\\x1a\\x27\\xb0\\x16\\xa6\\xe2\\xee\\xdc\\x79\\x6b\\x12\\x0d\\xe1\\x66\\x11\\xb8\\x3f\\xea\\xcf\\x4a\\x27\\x80\\xf6\\x08\\x2c\\x35\\x42\\x23\\xb0\\x0c\\xcb\\x26\\xb8\\x57\\xf1\\xcf\\x73\\x5b\\x55\\xd7\\x68\\xb4\\xe4\\x63\\x66\\x93\\x1a\\xaa\\x0d\\xb8\\x06\\xf6\\x25\\x12\\xf9\\xe2\\xb0\\x4c\\x39\\xea\\x05\\xb3\\xa5\\xfc\\x8a\\x2f\\x70\\x6e\\x6b\\xcc\\x87\\x4f\\x2e\\xae\\x52\\x3d\\xcb\\x75\\x2e\\x7c\\x60\\x82\\x59\\x75\\xed\\xf1\\xbd\\x95\\xd3\\xbc\\x09\\x29\\x81\\xee\\x43\\x7b\\x51\\x7f\\x3a\\xd0\\x0e\\xdb\\x71\\xb4\\xce\\x64\\x5e\\x5d\\x0f\\x69\\x24\\x58\\x5e\\x4d\\xbe\\x80\\x59\\xe0\\x7e\\x01\\xa3\\x91\\x8f\\xf9\\x5c\\x3b\\x53\\xff\\x25\\xf7\\x1e\\xc9\\xa3\\xe2\\x2d\\xec\\x7e\\x17\\x7d\\x81\\x44\\xef\\xb9\\x7a\\xe6\\x93\\x67\\x0b\\xc1\\xe1\\x45\\xf6\\x3b\\x62\\xf7\\x29\\xe4\\x7e\\x25\\xbb\\xc7\\xec\\xbe\\x80\\xdc\\x17\\xb0\\x7b\\x2d\\xbb\\x7f\\xaa\\xfe\\x03\\x6e\\x9a\\xea\\x61\\x72\\xaf\\x63\\xf7\\xb1\\xe4\\xf7\\x25\\xec\\x77\\x3d\\xbb\\x7f\\x93\\xdc\\x5b\\xd9\\xbd\\x83\\xd5\\xf7\\x5a\\xc3\\xef\\x51\\x4c\\x47\\x99\\x8b\\x10\\xd1\\x4b\\x2b\\x28\\x47\\x39\\x4c\\x98\\x2f\\xd1\\xd9\\xfa\\x1f\\x12\\x21\\x57\\x03\\x7b\\x28\\x7e\\xa0\\x65\\x4e\\x4c\\xd9\\x1b\\x57\\x58\\xe7\\x4f\\x84\\xcb\\xfa\\xbd\\xd4\\x0f\\xae\\x42\\xe8\\x25\\xb8\\x87\\x85\\xf5\\x25\\x75\\x6c\\xaa\\xbf\\xc5\\x77\\xe1\\xbf\\x26\\xb8\\x76\\xb2\\xd6\\xfe\\x07\\x5e\\x6c\\x48\\x6f\\xd5\\x34\\x3d\\xf4\\xee\\x7d\\xf2\\x27\\x73\\x7f\\x00\\x7f\\x3d\\xfc\\xdb\\xe7\\x9a\\xfc\\x2e\\x3f\\x5f\\xbf\\xab\\x3e\\x8a\\xe1\\x2c\\x89\\xe2\\xcc\\xac\\xe2\\x7e\\xf9\\x59\\xf6\\x67\\xb7\\x4b\\xda\\x7e\\x47\\xfa\\xaf\\xe1\\x74\\x05\\xc7\\x72\\x3a\\xa5\\x85\\x6e\\x12\\x24\\xe9\\xdf\\x13\\x5c\\x04\\x18\\x8d\\x00\\x25\\x7d\\x6a\\xfd\\x7e\\x52\\xff\\x0a\\x42\\xb1\\xb3\\x58\\x3a\\x54\\xd2\\xed\\xa0\\x4f\\x93\\xbe\\x49\\xe2\\x51\\x38\\xbd\\xbe\\xbc\\x49\\x1f\\x25\\xd1\\x3e\\x62\\xe9\\x3f\\xb3\\xf4\\x5a\\x52\\xce\\x66\\x96\\xce\\x8d\\x66\\xe9\\xd2\\x59\\x56\\x3e\\x8d\\xd3\\xe7\\xe5\\x3e\\x27\\xe9\\xbc\\x47\\x4e\\xdf\\xcf\\xf2\\x57\\x10\\x3d\\xa3\\x9a\\xfb\\x92\\xa4\\x0b\\x0c\\xfe\\x3f\\x7e\\xdb\\xcf\\xe8\\x6a\\x1c\\x2a\\xc0\\x6f\\xc8\\xb4\\x3c\\x57\\x2e\\x3f\\x0b\\xec\\xa1\\x7d\\x2b\\x2d\\xe4\\x22\\x58\\xba\\x46\\xa9\\x37\\x8b\\x95\\x13\\xa6\\x91\\x24\\x4a\\x23\\xb4\\x9c\\xcd\\xfb\\xef\\xa0\\x95\\x24\\x4a\\x2b\\x2c\\xff\\x3c\\x86\\x9f\\x97\\x68\\x5c\\x37\\x56\\xaf\\x41\\xce\\x6f\\x94\\xf3\\x13\\x26\\x8a\\xcf\\xb0\\x72\\x4c\\x4a\\xfe\\xbe\\x0c\\xfe\\xe1\\x04\\xce\\x4d\\x2c\\xdd\\x2c\\xe7\\xff\\x59\\xce\\x3f\\x83\\xc0\\x33\\x9f\\xa5\\x5b\\xe5\\xf4\\xa1\\x72\\x3a\\xa1\\x34\\xae\\x92\\xa5\\xdb\\xe4\\xf4\\xd1\\x72\\x7a\\x0b\\xf6\\x3e\\x99\\xa6\\xdb\\xe5\\xf2\\xa5\\x3f\\xa5\\x8f\\x49\\x3a\\x20\\xe5\\x3c\\xc1\\xd2\\x23\\xe5\\xfc\\x7f\\x7e\\x7c\\x07\\x2d\\x27\\x51\\x5a\\x6e\\xd2\\x5e\\x46\\x2f\\x2c\\x5d\\xa6\\x33\\x46\\x2f\\x4d\\x68\\x3d\\x89\\xd2\\x3a\\x4b\\x8f\\xa0\\xf9\\xe1\\x1a\\xd2\\xae\\x87\\x54\\x05\\xb4\\x5f\\x58\\xf9\\xbf\\x01\\x99\\x4e\\x18\\x3d\\xf0\\x07\\x1b\\xe8\\xe1\\x56\\xfd\\xd4\\xc6\\x31\\xc7\\xd2\\xb5\\x4a\\xfa\\x9c\\xc6\\x76\\xb1\\x74\\x5b\\x63\\x7e\\x32\\xa6\\x06\\x91\\xf4\\xf7\\x54\\x0f\\x03\\x0b\\xf0\\x1d\\x31\\xa9\\x2c\\x1c\\x3a\\x05\\xbb\\x03\\x0d\\xec\\x09\\x2c\\xb0\\x17\\xf9\\x99\\x23\\x57\\xd4\\x30\\xc9\\x93\\x5f\\xc7\\xdb\\x7c\\xcc\\x73\\x7f\\x0e\\xe5\\xf9\\x46\\x44\\x8c\\xa2\\x5b\\x5b\\x66\\xbc\\x34\\x60\\x00\\xec\\x7e\\xac\\x7b\\xc7\\x53\\x9d\\xe2\\x4a\\x16\\xce\\x86\\xfa\\x1f\\xb9\\x74\\xd4\\x47\\xea\\x1e\\xaa\\x5e\\x03\\xea\\xbf\\xfc\\x74\\xfc\\xfe\\x75\\xa3\\x24\\x1f\\xb3\\xb9\\x42\\xe3\\xb9\\x53\\xe0\\x92\\x2a\\x93\\xc8\\x53\\xf5\\x41\\x0d\\x75\\x50\\x47\\x0b\\x8c\\xe7\\x04\\x5f\\x4e\\x82\\xd7\\x7f\\x9c\\xfb\\x49\\x7a\\x66\\x66\\xe5\\xd3\\x70\\x1b\\x34\\x38\\xf9\\xe3\\x33\\x17\\xbf\\x7a\\x94\\xc2\\x77\\x80\\x3b\\x85\\x37\\x2b\\xcf\\x40\\xe5\\x19\\x7f\\x1c\\xe7\\xf0\\x25\\x25\\xa4\\xc1\\xb7\\x9c\\x50\\x0f\\x87\\xf6\\xad\\xcc\\x97\\xde\\xfd\\x89\\x53\\x65\\x1e\\x7d\\x75\\xf1\\x4c\\x5a\\xcf\\x22\\xee\\x2c\\xd8\\xc7\\x5f\\x06\\x7a\\x22\\x09\\xb1\\x76\\x91\\x40\\x03\\x37\\x53\\xbf\\x7b\\xcc\\xb1\\x96\\x1c\\xeb\\xdd\\xb1\\x66\\xc8\\xce\\x82\\xc5\\xab\\x12\\xd7\\xb6\\xff\\xe3\\xa5\\xd9\\x17\\xb8\\x5a\\x47\\x4a\\xab\\x82\\xc7\\xe7\\x29\\xfe\\x17\\xd7\\x70\\x67\\xf1\\x49\\xf2\\xbc\\x91\\x3c\\x2f\\x2c\\xc2\\x3a\\x26\\xbe\\xc9\\xf3\\xf2\\x3b\\x67\\x3f\\x8d\\x0b\\x99\\x94\\xbc\\x6f\\xd8\\x8b\\xf9\\xcb\\x56\\x7a\\xd6\\xa5\\x3d\\xf4\\xca\\x23\\xbd\\x9e\\xef\\xc7\\x6f\\x76\\xa6\\x66\\x77\\x1a\\x35\\xae\\x7d\\xbc\\x9d\\xe9\\x60\\x71\\x92\\x88\\xa6\\xd5\\x6f\\x21\\x83\\x39\\xea\\x18\\x42\\xaa\\xc9\\x3c\\xe4\\x6b\\xea\\x4f\\x1f\\xd6\\xe8\\x0b\\x79\\xea\\x4f\\x49\\x8e\\x71\\x4f\\x43\\x49\\x63\\xa2\\xbf\\x2d\\x7f\\x43\\xb8\\x26\\x89\\x5e\\x98\\x90\\x28\\x7d\\x45\\x9e\\x3d\\xc2\\x1d\\xe0\\x9e\\xe0\\x8f\\xd0\\xf5\\x01\\xc7\\x75\\x18\\xe0\\x55\\x43\\x80\\xba\\x06\\x26\\x1d\\x12\\x41\\x35\\xf5\\xcc\\x2c\\x33\\xba\\xb8\\xec\\x06\\x66\\xef\\x47\\xe8\\xa6\\x74\\x9a\\xdb\\x8e\\x8a\\x4a\\x1f\\x1c\\xef\\xd8\\xde\\x96\\x3b\\x70\\x39\\xcb\\xd3\\x3e\\xb7\\x4b\\xb1\\x54\\xc7\\xe4\\x76\\x5f\\x6e\\x19\\x7e\\x9e\\xc9\\x6d\\xd3\\x41\\xba\\xff\\x5b\\x7f\\xa8\\x21\\x1c\\x2f\\x83\\x00\\xf5\\x15\\x96\\x11\\x08\\xb8\\x65\\x0a\\x04\\xf4\\x99\\x61\\xdc\\xcb\\xf8\\xa0\\x0a\\xb0\\x67\\x78\\xc4\\x9e\\xe1\\x95\\x67\\x68\\x68\\x72\\x1b\\x3e\\x28\\x2c\\x7f\\x43\\x7d\\x4d\\x05\\xbc\\xd2\\x67\\x89\\x30\\x8e\\xe9\\x5a\\xaf\\x4b\\x03\\xf1\\x5e\\xa2\\xc3\\x10\\xfb\\x3e\\x68\\x32\\x10\\x9b\\xc3\\x60\\x32\\x6a\\x22\\x81\\xaa\\x48\\xa4\\xf3\\x86\\xca\\x1e\\x7a\\x82\\x47\\x1a\\x7c\\x85\\x01\\xce\\xdc\\x83\\xaa\\xb8\\xab\\xbd\\x9f\\x4e\\x8b\\x5e\\x33\\x77\\xe1\\x76\\xe7\\x2b\\xd2\\x98\\x68\\xd4\\xe3\\x4a\\x82\\x74\\x4b\\x1a\\xe8\\xb2\\xac\\x8a\\x5f\\x32\\x1b\\xbf\\xb1\\xba\\x76\\xd7\\x4b\\x1f\\x30\\x9c\\xf6\\x41\\x3d\\xd1\\x0d\\x62\\x5f\\x19\\xe9\\xae\\x76\\xac\\xd2\\x09\\xaa\\xef\\x44\\x21\\xa8\\x35\\x16\\x0a\\x82\\xae\\x06\\x5a\\x8e\\xe9\\x11\\x40\\xdf\\x8a\\xa0\\x06\\x5a\\x1b\\xbc\\x02\\xa4\\xa7\\x29\\x4e\\x61\\xe9\\xc4\\x1b\\x11\\x92\\x01\\x8a\\x2e\\x4c\\x54\\x88\\x3e\\xf6\\x65\\xa3\\x62\\xa6\\x12\\xb5\\x63\\x7a\\xc2\\x43\\x0b\\xa7\\xdb\\x51\\xcf\\x71\\x08\\x36\\x0b\\xcc\\x0a\\x66\\x85\\xa6\\x8d\\xa3\\x75\\x61\\xd4\\x13\\xcf\\xe0\\x8b\\x81\\x0b\\xb4\\x0b\\xda\\x05\\x60\\x36\\xe9\\xa1\\x11\\xeb\\x83\\xce\\x98\\x42\\xbd\\xde\\x6c\\xd6\\x7c\\x2b\\x9a\\x6b\\xa0\\xed\\x18\\x74\\x02\\xe7\\x9d\\x35\\x36\\xba\\xca\\x26\\x23\\x86\\x56\\xdb\\x81\\xfe\\x37\\x71\\x85\\x4e\\xed\\x4f\\x23\\x14\\x88\\x42\\x86\\x6d\\xc9\\x0f\\x57\\x8c\\x2e\\x19\\xda\\xbe\\x6b\\xc4\\xc3\\xde\\x6d\\x93\\x2f\\x4e\\x19\\xbd\\x60\\x44\\x14\\x9c\\x47\\x60\\x19\\xd1\\x61\\x4a\\x7e\\xe7\\x89\\x5d\\xfb\\x76\\x68\\xcf\\x97\\x4f\\xdb\\x26\\x3e\\xd1\\xa9\\x4f\\xcf\\x66\\xe3\\x64\\xbf\\x11\\x51\\xa8\\x2d\\xee\\x47\\xe0\\x4a\\x05\\x03\\x82\\x69\\x3e\\x93\\xd9\\x6c\\xfa\\x56\\xe4\\x81\\xcb\\xbd\\xc6\\x0c\\x7b\\x9b\\x4b\\xcc\\xc8\\x64\\xf6\\x98\\xd3\\xcd\\x93\\xcc\\x0b\\xcd\\x6b\\xcc\\x2a\\x0d\\x36\\x9b\\x81\\xdb\\xed\\xf8\\x56\\x74\\x13\\x68\\x8f\\x00\\x0d\\x83\\x35\\xe2\\x6e\\xbf\\xb9\\x53\\xa6\\xca\\xa1\\xcd\\x64\\x44\\x29\\x91\\x86\\xe4\\xf7\\xae\\x69\\x04\\x6f\\x99\\x77\\xc0\\xcf\\x82\\x0e\\xd1\\xe9\\x3a\\x23\\x84\\xbf\\x57\\x4c\\x59\\x99\\xdd\\xa2\\x4b\\xd1\\xc3\\x29\\xf6\\xc4\\xec\\x82\\x84\\x5e\\x2d\\x7a\\x59\\x2a\\x3d\\x4f\\x8f\\x1d\\x56\\xbe\\x0f\\x2e\\xe0\\x6d\\xcf\\xa2\\xb6\\x63\\x4b\\xb5\\x06\\x5d\\x4e\\xeb\\x81\\xf9\\xe2\\x04\\x5f\\xaf\\xe4\\xee\\x79\\xb9\\xfa\\x11\\x33\\xfa\\x77\\xdb\\xda\\x1e\\xc5\\x4e\\xb1\\x45\\x3d\\x38\\x87\\xe8\\x61\\x3f\\xa3\\x1e\\x78\\x0a\\x8b\\xb5\\x64\\x02\\x39\\x41\\x27\\x07\\xb0\\x09\\x93\\x16\\xa9\\x8d\\xd8\\x64\\xf2\\x98\\xd2\\x4d\\xe4\\x0b\\x92\\x8e\\x7e\\x19\\x12\\x43\\x92\\x34\\x5f\\x0e\\x2a\\x42\\x27\\x2b\\x87\\x39\\x1a\\x5c\\xe7\\x13\\x35\\x9e\\x9a\\x45\\xa4\\x5b\\x31\\x01\\xca\\x8b\\xae\\x79\\x16\\x7a\\xa4\\x15\\x11\\xf0\\x9d\\xc7\\x46\\xcc\\x89\\x78\\x4a\\xdb\\x5c\\xfa\\x16\\x6a\\xd0\\xf5\\x6d\\xdb\\x46\\xc2\\x5b\\x92\\xfe\\x41\\x78\\x55\\x9f\\x29\\xbd\\x43\\x71\\xd9\\x8a\\xc8\\xaa\\xd9\\xa4\\x6e\\x37\\xc8\\x0d\\xda\\x08\\x2a\\xed\\x0e\\x87\\xfe\\x5b\\x91\\x73\\x38\\x80\\xc5\\x12\\xf1\\x9d\\x68\\x21\\x34\\x75\\x04\\x08\\xf7\\xc1\\x59\\x6e\\x13\\xff\\xc8\\xf1\\x04\\x5b\\x14\\x59\\x79\\x2c\\x00\\x07\\xb5\\x26\\x48\\xdf\\xca\\x13\\x0d\\x04\\x45\\x48\\x7b\\x75\\x79\\xab\\xcc\\x19\\x31\\xfc\\xf0\\x66\\xad\\xa3\\x1f\\x9e\\x09\\x77\\x45\\x4a\\xaf\\xb7\\xef\\x58\\x5c\\x32\\x52\\x70\\x3c\\x8d\\x0a\\x5e\\xc1\\xa6\\x9c\\xf4\\x75\\x2d\\x86\\xb8\\xdd\\xf0\\xd8\\x94\\x2b\\x6d\\x07\\x0f\\x88\\xf7\\xcd\\x59\\x22\\xf7\\xf3\\x12\\x42\\x7f\\x5b\\xd9\\xfc\\x5e\\xec\\x71\\x4e\\xcd\\xab\\xf8\\xef\\x44\\x86\\x04\\x22\\xe5\\x29\\x12\\x32\\xf3\\xc2\\x8d\\xf7\\xe5\\x58\\x69\\xb0\\x00\\x81\\x06\\x7d\\xaf\\xf4\\xec\\x3a\\x29\\xcd\\x89\\x44\\x82\\x6d\\xed\\x8a\\x62\\xd4\\x73\\x2b\\xf4\\x9e\\x9b\\xf2\\xe0\\x96\\x53\\x2f\\x03\\x0c\\x3b\\xa0\\x20\\x9e\\x48\\xe8\\x46\\x07\\x1c\\x20\\x93\\x60\\xda\\x9a\\xe6\\xf1\\xa8\\x8d\\x6a\\xe3\\xb7\\xa2\\x5a\\xed\\x4c\\x4c\\x24\\x38\\x4f\\xa4\\x24\\xe2\\x8c\\xf8\\x56\\x74\\xde\\xdd\\x5c\\xf6\\xc5\\x2c\\xa6\\xac\\x70\\x2c\\x91\\x0e\\x10\\x67\\xc9\\x41\\x71\\xe9\\xb5\\x20\\x47\\x6b\\xce\\x83\\x4d\\xe6\\x58\\xec\\xf2\\xf2\\x29\\xf4\\xbd\\xaf\\x65\\x30\\xb7\\x77\\x6a\\xc0\\xd5\\xb2\\x2c\\x23\\xe8\\x2d\\x6b\\x15\\x8c\\x7b\\x7e\\xf2\\x83\\x89\\x3d\\x32\\x61\\xe1\\xc6\\xd9\\x43\\x2b\\xba\\xe6\\xb7\\x6a\\xde\\x75\\x19\\xb7\\x2b\\xce\\x27\\x06\\x7a\\xa7\\xf4\\x97\\xde\\xea\\x9f\\x3a\\xb8\\xd9\\xa0\\xb4\\x91\\x7f\\x0c\\x79\\xc0\\x3f\\x2e\\xdf\\x84\\x93\\x06\\x4c\\x7a\\xb4\\x77\\x8f\\x82\\x59\\xb1\\xd8\\xd4\\x21\\xf3\\x81\\x47\\xf3\\x29\\x6e\\xa4\\xe1\\xd2\\xa9\\xfa\\x1e\\xf5\\x0b\\xef\\x58\\xbb\\x4a\\x98\\xa1\\x34\\x3c\\xf1\\xad\\x44\\xe9\\xd4\\xe9\\xd3\\x2c\\x46\\x3e\\x5f\\x08\\x4e\\xaa\\x56\\x01\\x2b\\xb1\\xdd\\x78\\x8c\\xd5\\x8b\\x4c\\x44\\x0a\\xc8\\x76\\x1f\\xf3\\x74\\x2e\\x24\\x33\\xff\\xf5\\x44\\x77\\xf7\\x91\\xf1\\x69\\x6e\\x9e\\x54\\xd8\\x5d\\x5f\\x32\\xee\\x83\\x31\\xa3\\xb8\\xc9\\x96\\x5e\\xd9\\xfc\\x75\\x57\\xac\\x73\\xa4\\x7b\\x7e\\x61\\xa9\\x2e\\x62\\x30\\xf6\\x11\\xac\\x27\\x11\\x39\\xe9\\x64\\x7e\\x8f\\xa3\\x83\\x46\\xe6\\xf7\\xd8\\x04\\xb8\\x06\\xb7\\xc7\\x61\\xe7\\xcd\\x89\\xa4\\xf3\\x65\\xaf\\xc7\\xe8\\x29\\x38\\x2f\\xa6\\x2e\\x35\\x06\\x3e\\xbf\\x59\\x7a\\x2d\\x1a\\xfe\\xb1\\x7a\\xf5\\x6a\\xec\\x5e\\xcd\\x7c\\xde\\xd5\\x2f\\xe7\\x0f\\x21\\xa3\\x90\\xa6\\xec\\x1d\\x74\\x07\\x0d\\x3c\\xd4\\xe8\\x40\\x90\\x08\\x78\\xf8\\xf8\\x10\\xc5\\xa3\\x26\\x5d\\xf7\\x25\\x5b\\xa9\\x4a\\xd8\\xea\\x44\\x1a\\x11\\xa2\\x4d\\xc2\\x73\\x09\\xa1\\xdd\\xe4\\x04\\xcf\\x87\\x3e\\x75\\xa2\\x44\\xfe\\x50\\x0d\\xf9\\xdc\\x5e\\x28\\x97\\xfb\\x08\\xff\\x22\\x8a\\x26\\xe5\\xd2\\xf5\\xa6\\x06\\x10\\x1f\\x34\\xe9\\x04\\x6a\\xd8\\xab\\x16\\x69\\x55\\x2a\\xe1\\xf1\\x21\\xaa\\xc6\\x92\\x2d\\xb9\\xe9\\x4a\\x00\\x28\\xde\\x17\\x70\\x28\\x35\\xc0\\xdc\\x6f\\x90\\xf4\\xc9\\x62\\xf4\\x46\\xb8\\x12\\x21\\x4d\\xbf\\x5b\\xfb\\x0f\\x5a\\x43\\x63\\xf9\\x2d\\x49\\xf9\\x6a\\x22\\x59\\xcd\\x20\\x29\\x68\\x31\\x6a\\x89\\x51\\xac\\x55\\x41\\xcd\\x69\\x83\\x46\\xa3\\x7d\\x7c\\x88\\xa6\\x29\\xec\\x2c\\x3a\\x2b\\xad\\x83\\xa0\\x38\\x39\\xe0\\x77\\xd8\\xc2\\xd5\\x54\\x6f\\x46\\xbf\\x9d\\x39\\x80\\x36\\x2f\\xed\\xdd\\x58\\x91\\x76\\xef\\x6e\\xfd\\x08\\xe9\\x8b\\x3b\\xea\\x82\\xf5\\x77\\xb6\\x05\\x21\\x81\\xff\\x1f\\xda\\x22\\xd0\\x5a\\xc2\\xd8\\x82\\x9d\\xd0\\xe2\\x6f\\xd1\\x37\\xd2\\x5b\\x14\\x57\\x26\\x72\\x52\\x2d\\xd0\\xee\\xd6\\x4b\\xf3\\x95\\x0a\\x50\\xfd\\x7b\\xfc\\x2b\\xc8\\xa4\\xf4\\x81\\xf1\\x08\\x84\\x54\\x8d\\x55\\xe6\\x81\\x28\\xa0\\x74\\x48\\x0d\\x23\\x8f\\xdd\\x0a\\x7d\\x1a\\x45\\xd0\\xfc\\x4a\\x4d\\xcd\\x0d\\x16\\x4b\\xb9\\x7e\\x36\\x7f\\x86\\xe1\\x18\\x83\\x18\\x42\\x09\\x3a\\x3b\\xe7\\x54\\x9b\\xcd\\x10\\x9f\\xd6\\x13\\x7b\\xfb\\xac\\x8b\\x16\\xe0\\x3f\\x6b\\x51\\x0c\\x11\\x1c\\x2f\\x3b\\x79\\xf4\\xd1\\x09\\x51\\xe6\\x84\\x8e\\x2a\\x0f\\x50\\x2e\\xf3\\x93\\xac\\x07\\x7a\\x26\\xb4\\xc8\\x32\\x0f\\x89\\x6e\\xdd\\x3f\\x2f\\xa1\\x63\\xdb\\x1c\\x57\\x46\\xa6\\x71\\x68\\x6c\\xeb\\x3e\\xaa\\x3d\\x0b\\xa5\\x0d\\x49\\x89\\xbe\\x66\\x45\\xdd\\x52\\x1c\\xb1\\x8e\\xa4\\xc4\\x7e\\x5d\\x93\\x19\\x4f\\x90\\xbe\\xe2\\x5e\\x45\\x53\\xf9\\x87\\x09\\xcd\\x44\\x10\\x9e\\xa0\\x06\\x04\\x17\\x74\\x6a\\x81\\xce\\x2d\\x84\\x31\\xe0\\x53\\x0e\\x34\\x75\\x51\\xb3\\xe8\\x8f\\x3a\\xb3\\x23\\x8b\\x7f\\xf8\\xcc\\x83\\xe4\\x73\\x86\\xea\\x36\\x5b\\xb8\\x03\\x78\\x31\\x7f\\x83\\xc8\\x50\\xe3\\x11\\x9d\\x6a\\x11\\x5d\\xba\\x91\\xe9\\x62\\xf3\\x04\\x61\\xfb\\xd1\\x9f\\x49\\xdf\\xd4\\xc2\\x8f\\x9e\\xdc\\xaa\\xda\\x8e\\x5f\\x38\\x9d\\xb9\\x3d\\xe5\\x13\\xee\\xc0\\xec\\x85\\x09\\x89\\x19\\x4f\\xbe\\xb9\\xf3\\x49\\x8a\\x83\\x17\\xf9\\x8f\\xe1\\x3f\\x95\\xbe\\xb1\\x12\\xed\\x46\\xcd\\x2f\\x52\\x0b\\x54\\x49\\xba\\x20\\x07\\xe0\\x62\\x3d\\x41\\x07\\x01\\x1c\\x8c\\x16\\x5f\\x43\\xdf\\xc8\\x0d\\x96\\x7b\\x60\\xef\\x42\\xf9\\x7d\\x1a\\x29\\x03\\x71\\x0d\\x65\\x70\\x9c\\x0a\\x2e\\xa2\\x3e\\x83\\x1b\\xca\\x60\\x94\\x49\\x5f\\xce\\xc2\\x78\\x42\\x95\\x57\\x17\\xa3\\x4d\\x28\\x31\\x2a\\xf4\\x29\\x23\\xc9\\x64\\xa5\\x8c\\x70\\x5f\\x38\\x09\\x07\\x27\\x7d\\xa1\\x06\\x11\\x9c\\x5e\\x6f\\x89\\x75\\x59\\x68\\xa3\\x64\\x0a\\x3c\\x6b\\x3e\\x4b\\x9b\\x76\\xbf\\x7e\\xc0\\xac\\x0a\\x22\\xda\\xfe\\xa6\\x1f\\xfa\\x90\\x7a\\xeb\\x17\\x23\\xfe\\xcc\\x5d\\x7d\\x01\\x2b\\xf4\\x4b\\xb4\\x8c\\x46\\x69\\xfd\\x2d\\x85\\xbe\\xb2\\x0f\\x33\\x90\\x18\\x34\\x9b\\xd5\\x31\\xfa\\x08\\xa4\\x8a\\x20\\x7f\\x51\\x02\\x88\\x52\\xcb\\x53\\x4d\\xe1\\x69\\x4d\\x19\\x16\\x2a\\xac\\xc8\\x71\\x7f\\x98\\x50\\x4b\\x42\\x73\\xd2\\x6f\\x94\\x68\\x87\\xfe\\x1d\\x5c\\x42\\x5f\\x4a\\xc4\\xd2\\xe4\\xbb\\x49\\x04\\x81\\x78\\x7e\\x07\\xea\\xa0\\x7a\\x89\\xf9\\x8e\\x31\\x1f\\x85\\x64\\xbc\\x2c\\xe2\\xa8\\xee\\xcb\\x66\\xfe\\xe8\\x9c\\x05\\xa6\\x51\\xb8\\xf9\\x9d\\xcb\\xa2\\x97\\x8d\\xe2\\xa0\\xee\\x92\\x4a\\x7a\\x44\\x95\\xbc\\x42\\xfa\\x77\\x04\\x84\\xb1\\xff\\x21\\xf8\\xac\\x26\\xcf\\xb7\\x50\\xdd\\x22\\xcf\\x13\\xcd\\x33\\xa8\\xd5\\x69\\x04\\x81\\x87\\x41\\x7c\\x9a\\x68\\xac\\xae\\xcf\\x5c\\x17\\xe9\\xd4\\x3f\\x93\\x38\\xa4\\x20\\x36\\xa2\\xe9\\xfc\\x17\\x74\\x91\\xd2\\x5c\\x17\\x5e\\xe1\\x2a\\x2e\\xa2\\x5b\\x63\\x38\\xd5\\x84\\x15\\xd2\\xfe\\x5f\\xed\\x2b\\x57\\xda\\x09\\x7e\\xb6\\x12\\x3e\\x97\\xd4\\xc0\\xe7\\x22\\x8e\\x23\\x95\\x4a\\x2b\\x00\\xad\\x46\\x41\\x4b\\xba\\xbf\\x09\\x3a\\x28\\xcb\\x4c\\xf2\\x3d\\xe7\\x93\\x7e\\x23\\x27\\x78\\x93\\x51\\x8c\\x90\\xc6\\x5a\\xba\\x6c\\x61\\x13\\xfe\\x6b\\x21\\xb2\\xda\\x8d\\x75\\x7a\\x1d\\x51\\x2a\\x89\\x4e\\xa6\\xc3\\x7a\\xbd\\x40\\x94\\xa0\\x22\\xd1\\x6c\\xe2\\xd4\\x82\\xba\\x48\\x14\\x1a\\xf9\\x71\\x83\\x82\\x13\\x7e\\xff\\x4f\\x57\\x43\\xc8\\x1c\\xda\\x27\\x13\\x28\\xfa\\xcf\\x3f\\x5c\\xff\\xe8\\x14\\xe6\\xd4\\x9d\\x7e\\x70\\xfd\\x90\\xc7\\xb8\\x35\\x1a\\x53\\x29\\xed\\x5a\\xbd\\x1a\\x0e\\xa8\\x84\\x9d\\x57\\x33\\xfb\\x89\\xda\\xbb\\x7f\\x09\\x59\\xd6\\x24\\x5c\\x46\\xed\\x7c\\x4d\\x77\\x68\\x63\\x71\\xdf\\xb6\\x12\\xa9\\x57\\x01\\xf4\\x47\\x31\\xe2\\x9a\\x59\\x92\\xfe\\x3f\\xf6\\xde\\x03\\xbe\\x6a\\x23\\x5d\\x1b\\x9f\\xa6\\x72\\xdc\\xb0\\xc1\\xf4\\x66\\x20\\x10\\x92\\x80\\xb1\\x25\\x1d\\x17\\x42\\x73\\x91\\x02\\x84\\x16\\x3a\\xa4\\xc0\\xb1\\x7d\\x6c\\x1f\\xb0\\x7d\\x8c\\xcf\\x31\\x2d\\x8d\\xf4\\x84\\x64\\xd3\\x36\\xbd\\x27\\x9b\\xbe\\xe9\\xbd\\x90\\x84\\xf4\\xb2\\xa4\\x67\\xd3\\x37\\xbd\\xb0\\xe9\\x85\\x64\\x53\\x88\\xf9\\x8f\\xa4\\xc7\\xb6\\x5c\\x20\\x64\\xff\\x77\\xef\\x77\\xef\\xf7\\xfb\\xec\\x9f\\x66\\x5e\\x8d\\x66\\xe6\\x79\\xa7\\x68\\x9e\\xf7\\x95\\x74\\x24\\xb2\\x8f\\xf7\\x12\\xf7\\xae\\xf9\\xb5\\xcb\\xe9\\x32\\x5a\\x9b\\xa5\\xf9\\xe5\\xfc\\xfc\\xc5\\xbb\\xca\\x7f\\x23\\x2d\\xfa\\x43\\xf9\\x6f\\xa2\\x13\\xfe\\x48\\x7e\\xf6\\x24\\x2b\\xdf\\xf1\\x86\\xa7\\xbf\\x25\\xf5\\xef\\x3d\\x25\\x4d\\xf0\\x09\\x53\\x52\\xd2\\xa6\\x4e\\x60\\x7e\\x33\\xb2\\x64\\xc9\\x5d\\x95\\xbb\\x9c\\x4e\\x69\\x2d\\x57\\xe8\\x96\\x2b\\xdc\\xcd\\x72\\x37\\xd2\\x3d\\xff\\x2d\\xbc\\x9b\\xe8\\xbe\\xbb\\xc4\\xfb\\x50\\x96\\x4b\\xd5\\xc6\\xca\\x72\\x2b\\xfc\\xf1\\x71\\xaf\\x5c\\x78\\xed\\x1b\\x40\\x23\\x5e\\x7f\\xd0\\xec\\x60\\x7f\\xb8\\xf9\\x0f\\xf2\\x70\\x56\\x60\\x7c\\xc6\\xf8\\xfd\\xe7\\x96\\xf3\\xf3\\x8f\\xec\\x9c\\x3f\\x2d\\x90\\xff\\x46\\x3a\\xf4\\x77\\xf3\\x97\\x05\\xf2\\xdf\\x44\\xb3\\x7f\\x37\\x7f\\xaa\\xb6\\x6f\\x5b\\xfe\\xcb\\x68\\x5f\\x1a\\xcf\\xd2\\x64\\xfb\\x47\\xed\\x78\\xc3\\x6d\\x37\\x65\\xfd\\xdd\\x76\\xf7\\xe7\\x23\\xbb\\xb4\\x7b\\x7a\\x87\\x76\\x0c\\x70\\x71\\x82\\xe5\\xb2\\xdd\\x72\\xd9\\xdd\\x94\\x4b\\xed\\xd0\\x1e\\xa5\\x73\\xb9\\x9d\\xe2\\x4d\\xe9\\xd0\\xae\\xac\\xdd\\xc2\\x3b\\x5c\\x96\\x5b\\xe6\\x95\\x5b\\x8d\\xf3\\x27\\x84\\xf1\\x29\\xc6\\xf9\\x43\\xfb\\x07\\xfb\\xc3\\xcd\\x7f\\x52\\x7b\\x7e\\xd9\\xae\\x25\\x98\\xdf\\xa1\\xd6\\xfe\\xdb\\xbb\\x73\\xfe\\x40\\xfd\\xb2\\x3d\\x63\\x7f\\x37\\x7f\\x6d\\x20\\xff\\x4d\\xae\\x1e\\x7f\\xa0\\xfe\\xcb\\xe8\\x3e\\x68\\xb7\\xd5\\xda\\xee\\x21\\x6e\\xbb\\x87\\xf0\\xbd\\xbb\\xb4\\x3b\\xda\\xa1\\x1d\\xe1\\xce\\xe5\\xd0\\xcf\\x5d\\xcb\\x75\\x6c\\xcf\\xf0\\xdd\\xc6\\x5b\\xd6\\xa1\\x5d\\x23\\x77\\x0b\\xcf\\x5d\\x5f\\xab\\xb4\\x21\\x3d\\x47\\x91\\x19\\xee\\xb8\\x90\\xd5\\x64\\x0d\\x5d\\x41\\xf4\\xdb\\x59\\x2f\\xe6\\x66\\xc3\\xb3\\x24\\x8b\\xc4\\x46\\x65\\x89\\xcc\\xbb\\xc7\\x94\\x5e\\x43\\x7a\\x2c\\x5b\\x32\\x44\\x0c\\x1c\\x30\\xa0\\x77\\x5f\\x4e\\xd4\\x65\\x4b\\x48\\x6f\\xf7\\xa1\\x3e\\xff\\xce\\x7d\\x96\\xe7\\xe7\\xd3\\x76\\x3f\\xbf\\xc0\\xfb\\x4a\\x6d\\x86\\x7b\\xe9\\x60\\x20\\x35\\xd5\\xe0\\x27\\xdd\\x09\\x7d\\x72\\xd9\\x39\\x63\\xce\\x29\\x5f\\x71\\xe4\\x59\\xf9\\x47\\xf6\\xa6\\xb3\\x97\\xce\\xba\\x7a\\x6d\\xf6\\x15\\x0f\\x3d\\x5d\\x7c\\x4f\\x76\\x4f\\x31\\x7f\\xcb\\x51\\xa7\\x9f\\xd8\\xe7\\xd8\\x49\\x2d\\xdf\\xb5\\x2c\\xda\\x7f\\x5a\\xa2\\xe1\\xe5\\xed\\xec\\xe4\\xba\\xa9\\xd5\\x4b\\x57\\xde\\x5a\\xb9\\xfd\\x61\\xa1\\xd3\\x89\\x67\\xcd\\x3b\\xf2\\xb0\\xf3\\xce\\x5f\\x98\\xf8\\xed\\xa0\\x96\\x47\\x5b\\xde\\x80\\x8e\\x4f\\x7a\\xdf\\x66\\x1b\\x31\\x25\\x2b\\x2b\\x25\\x23\\xbb\\x07\\xe7\\x0a\\x51\\xa4\\x7e\\x19\\x3d\\xdd\\x6f\\x5e\\xb7\\x7e\\x30\\xd0\\xf4\\xae\\x67\\x51\\xff\\xf3\\x80\\x05\\x93\\xdd\\xdb\\xac\\xee\\xcd\\x59\\x2a\\x95\\x35\\x25\\x73\\xae\\x99\\x37\\x71\\x88\\x31\\xba\\x74\\x52\\xef\\x9e\\x2d\\xd7\\xf5\\x49\\xbb\\xfe\\x7a\\xaa\\xbe\\x43\\x4b\\xd3\\xfa\\x9e\\x7f\\x43\\xcb\\x7b\\x45\\x2d\\x8b\\x32\\xce\\x4b\\x2d\\xab\\x3f\\x44\\xac\\x78\\xa2\\x68\\xfb\\x59\\x8a\\xfd\\xeb\\x9b\\x17\\xae\\xe1\\xd9\\xbf\\x84\\x5b\\xfe\\x21\\xf1\\xeb\\x65\\xff\\xbb\\x7d\\x34\\x92\\xe4\\x4e\\xe9\\x37\\x58\\xf6\\xd1\\x60\\x31\\xa0\\x7f\\xff\\xde\\x7d\\x45\\x6f\\xd1\\x9b\\xa0\\xa7\\x7a\\xb5\\x3e\\x9f\\x56\\x8c\\x8f\\xc1\\xb9\\xbd\\xa5\\xb4\\xf6\\xd6\\x64\\xda\\xda\\x5b\\xd2\\x70\\xee\\xd9\\xcb\\xec\\xd8\\x59\\xdf\\xde\\xf3\\x50\\xfa\\xbd\\xe9\\x6f\\x1c\\xfd\\x70\\x6e\\x5e\\x6b\\x67\\x0d\\x7f\\x68\\x56\\xf8\\x9e\\x51\\x62\\xfe\\xb3\\x47\\xca\\xbe\\xb2\\xf6\\x6d\\x79\\x36\\xfb\\xd4\\xb3\\x87\\xdc\\xf0\\xcd\\xfb\\x3f\\xa1\\xa7\\x6e\\xa4\\x67\\xd0\\xe1\\x9f\\xfa\\xfd\\xd4\\xf2\\x7d\\xcb\\x2b\\x2d\\x4f\\x10\\xd6\\x72\\x07\\x59\\x41\\x0b\\xe5\\x39\\x9c\\x42\\xb2\\x49\\xaf\\x5b\\x33\\x42\\xf7\\xd3\\x7d\\xa5\\xaf\\xc4\\xe9\\x44\\xcf\\xc1\\xf6\\xbe\\xa7\\xd4\\xfa\\x74\\x28\\x77\\xb5\\xc9\\x72\\x3f\\xf0\\x45\\x0b\\x5f\\xda\\xb4\\xfe\\xd0\\x27\\x9f\\xfc\\xe1\\xcf\\x93\\xc7\\x7f\\xb4\\xae\\x7e\\x0d\\x3b\\xf0\\xcb\\x96\\xed\\xa7\\x1e\\xf7\\xed\\xf6\\x96\\x8f\\x97\\xce\\x68\\x39\\xfb\\xaf\\x8f\\xf9\\xef\\xb6\\x8a\\x92\\xc3\\xc9\\xa7\\xbc\\x92\\xa8\\xa4\\xef\\xed\\xee\\xcf\\xf6\\xee\\xa7\\x13\\xbc\\x4b\\x89\\xfb\\xe2\\x01\\x82\\xfc\\xbc\\x3d\\xdd\\x47\\x3c\\x4d\\x9e\\x9f\\x7c\\x67\\xe0\\xd6\\x23\\x4f\\x3f\\x9c\\x2d\\x59\\x7b\\xca\\xba\\xdf\\x06\\xb8\\x36\\xee\\x29\\xe4\\x70\\x6a\\x48\\xbd\\x06\\xca\\xb2\\x69\\x69\\xa1\\x4c\\x57\\xaf\\xfe\\xf2\\xc0\\x04\\xef\\xc5\\x52\\xde\\x17\\x39\\x0a\\xbd\\xe7\\xad\\x5b\\xbf\\x72\\xe2\\xf7\\x0d\\xbe\\x2c\\xd7\\x72\\x4a\\xfa\\xf2\\x8f\\x2b\\x16\\x8d\\x2f\\x18\\x7f\\x48\\xcf\\x0d\\x83\\x6f\\x5d\\x9b\\x38\\xac\\xb8\\xea\\x8c\\xe3\\x72\\xe9\\xb9\\xbd\\x0f\\x2f\\xdb\\x78\\xc2\\xf8\\x43\\xcc\\x7d\\x72\\x0b\\xc2\\x83\\x97\\xc6\\x0e\\x99\\x3b\\xb9\\x72\\xfe\\xbc\\x19\\xe3\\xbd\\x77\\x06\\xb7\\xfc\\x45\\xf6\\x85\\x25\\x31\\x47\\x13\\x63\\x4a\\xef\\x91\\x59\\x59\\x3d\\x87\\xf6\\x1c\\xd7\\x73\\x72\\x4f\\xae\\xf7\\x1c\\x38\\xb0\\xa7\\xce\\x79\\xbf\\xa1\\xae\\x16\\xa9\\x6d\\xbd\\xe3\\x7f\\xbc\\xe7\\x60\\xf7\\x09\\xf6\\xd6\\xcf\\x75\\xe2\\xe3\\xcc\\xad\\x57\\x4c\\x3a\\x7d\\xfb\\xce\\xf3\\x86\\x69\\xea\\x03\\x97\\x1c\\x79\\xea\\x79\\x1b\\xe7\\x45\\xae\\x99\\x3c\\xc2\\xac\\x5a\\x70\\xe8\\xe4\\x85\\x3d\\x4e\\x1a\\x22\\x75\\xdc\\xd0\\x10\\x5d\\x3a\\x87\\xd6\\x24\\x36\\xd6\\x2e\\x49\\x19\\xa0\\xae\\x98\\x31\\x65\\xc9\\xca\\x7d\\x0b\\xe7\\xe5\\xe7\\xf7\\x38\\xb8\\xee\\xa0\\xb9\\x73\\xa3\\x59\\x4c\\x9f\\xe1\\xd9\\xbb\\x2d\\xa7\\xcb\\xbe\\x19\\x29\\xfb\\xd5\\x7d\\x6c\\x79\\xf4\\x14\\xe9\\x7f\\x0a\\xdd\\xbd\\x44\\x32\\xd9\\xbd\\x48\\xa2\\x32\\xb7\\x97\\x53\\x89\\xda\\xd6\\xcb\\x07\\xe3\\x37\\x7e\\x81\\xab\\x23\\x3d\\xe4\\x2c\\x37\\x2f\\x19\\x9a\\x1c\\xda\\x52\\x9d\\x49\\xbf\\x3a\\xea\\xc0\\x55\\x7d\\xce\\xcb\\x7d\\xb7\\xd7\\x80\\xed\\x74\\xd0\\xa5\\x97\\xce\\xa7\\xdf\\xb7\\xec\\xbd\\x8a\\xde\\x1c\\x7e\\xb7\\x4f\\xb6\\xec\\x93\\x2b\\x64\\x9f\\x4c\\xe1\\x07\\xba\\x5f\\x6a\\x9c\\x92\\xd2\\x7b\\x40\\x96\\x3e\\x60\\xd0\\x20\\xd1\\xbf\\xcf\\xfd\\xd4\\x7d\\x2c\\x48\\xb4\\x76\\x84\\xfb\\x30\\x88\\xef\\xe5\\x65\\xfb\\x3f\\x33\\x69\\xfd\\x4e\\xd1\\xa8\\x8e\\xd7\\x42\\x68\\xbf\\xa5\\xd7\\xac\\xd8\\x70\\x22\\x3f\\x2f\\x54\\x3e\\x69\\x51\\xc3\\xc4\\xb2\\xc9\\x4b\\x46\\x35\\xd7\\xd1\\xdf\\xfa\\xb4\\x34\\x59\\x4b\\x6b\\x9b\\x0e\\xa3\\xd7\\x2d\\x39\\x6b\\x6e\\x4d\\x45\\xbf\\x7d\\xc3\\xd5\\x0b\\xac\\x29\\xa3\\x87\\xd0\\x73\\x9b\\x6f\\x9d\\x5c\\xef\\xb5\\xf9\\x01\\x12\\xa3\\x79\\x72\\x6c\\xfa\\x7a\\xbf\\xe2\\xca\\x1c\\xd8\\x33\\xb3\\x77\\x4e\\xef\\xbc\\xde\\xbc\\x77\\x7a\\xef\\x74\\xde\\x23\\xc5\\x1d\\x98\\x61\\xed\\x03\\xe3\\xfd\\x78\\xa6\\xb8\\xf5\\x2b\\x0b\\xf8\\x4c\\x36\\x9e\\x44\\x69\\x7f\\xaa\\xa1\\xf5\\x33\\xa9\\xe9\\x8f\\x9c\\x73\\xc4\\xfa\\xaa\\x7b\\xd6\\x3f\\xd9\\xe7\\x94\\xf4\\x43\\x66\\x25\\xfa\\x0d\\x5e\\x31\\x35\\xd6\\x7c\\x56\\xc9\\xe4\\x39\\x07\\xee\\xbb\\xef\\x01\\x55\\xf4\\xc2\\xe3\\x6e\\x3c\\xed\\xc8\\xb3\\x3f\\x5e\\x77\\x7e\\xff\\x19\\x87\\x1e\\x3e\\x3c\\x3f\\xb6\\x72\\xfc\\xd8\\x43\\x0e\\x08\\x4f\\xac\\xf4\\xe6\\xb8\\x4a\\x0e\\xa3\\x15\\xfc\\x20\\xf7\\xd9\\xf4\\x4d\\x84\\xca\\xae\\x57\\x64\\xd7\\x8f\\x77\\xb5\\x90\\xb3\\xbb\\xfd\\x9a\\xcc\\xb4\\xb3\\x06\\xdd\\xfb\\x74\\x8b\\xdd\\x87\\x39\\xbd\\x4e\\x3a\\xbb\\xf2\\xb0\\xb3\\xe9\\x88\\x7b\\xe3\\xcb\\x0f\\xdd\\xf4\\x8a\\xeb\\x3f\\xb4\\x5c\\x2b\\xfb\\xb8\\x58\\xb6\\x6d\\x80\\x5c\\x2d\\xc6\\xb9\\xad\\x0b\\xf5\\xdd\\x6b\\xaf\\xa1\\x23\\xc6\\x8d\\x98\\x3c\\x82\\x8f\\x18\\xc1\\x07\\x67\\xb9\\xad\\xcb\\x0d\\xb4\\x6e\\xdc\\xc1\\x58\\xb6\\x5a\\x1f\\xdd\\x9e\\xec\\x3f\\x64\\x19\\x98\\x65\\xbc\\xfd\\x33\\xb0\\xbc\\xed\\x6a\\x0d\\x0d\\xdd\\x7d\\xc5\\x11\\x1b\\x0f\\x3f\\x90\\x4e\\x9a\\x74\\xc0\\x99\\x07\\x26\\x8e\\xa9\\x5d\\x52\\x32\\x67\\xf9\\xda\\x19\\xf3\\x27\\x17\\xcd\\x9e\\x9b\\xe7\\x94\\xce\\x8d\\x9c\\x70\\x07\\xad\\x48\\x1c\\x77\\xc8\\xc2\\x45\\xeb\\xd3\\x58\\xfa\\x6c\\x6b\\x42\\xcd\\xf8\\x03\\x67\\xda\\xf1\\x4c\\xa6\\xcf\\xa1\\xd9\\xf3\\xa7\\x4c\\x1a\\x93\\x5b\\xde\\xf2\\xf5\\xb8\\xfc\\x59\\xe5\\xd5\\xde\\x98\\xdc\\x8a\\x31\\xe9\\x27\\xc7\\x64\\xcc\\x94\\xac\\x41\\xbd\\xfa\\x0c\\xed\\x33\\xae\\xcf\\xe4\\x3e\\x3c\\xbd\\x4f\\x7a\\x1f\\x9e\\x29\\xd7\\x92\\x89\\xde\\xa0\\xec\\x1b\\x18\\x94\\x2c\\x6f\\x54\\x70\\x75\\x88\\xb5\\x4f\\x95\\x42\\x6f\\xde\\xb4\\xfe\\xcc\\x43\\xea\\xdb\\xf2\\x9e\\x3b\\x2a\\xaf\\x3c\\x52\\xbd\\x2e\\xe5\\x64\\xdd\\xd9\\x67\\x56\\x53\\xdb\\xb0\\x1c\\x70\\xe0\\xda\\x03\\x2a\\x59\\x91\\x3b\\x2a\\xdf\\xef\\x20\\x0b\\xf6\\xef\\xbf\\xd7\\x9e\\x6b\\xdd\\x71\\xa9\\xdf\\x37\\xef\\x90\\xf9\\xf1\\x65\\xbe\\x4f\\xc8\\xa5\\x0f\\x73\\xb5\\x36\\xc0\\xbd\\x6e\\xed\\xfa\\x95\\x19\\x19\\x74\\x73\\x9a\\xee\\xf9\\x95\\xbe\\xbf\\xe1\\x5f\\xf1\\xf0\\xbd\\x64\\xf7\\x51\\x8a\\x67\\xdf\\xe0\\x2d\\xdb\\x97\\xb3\\xb9\\x22\\x76\\x1f\\xdb\\x51\\x2b\\x68\\xf6\\x16\\x6d\\x40\\xda\\x2d\\x29\\x37\\x67\\x5f\\x77\\x5d\\x36\\xcd\\xf0\\xeb\\xdc\\x5f\\xd6\\xb9\\x1c\\x75\\x4a\\xf2\\x4c\\xc9\\x60\\xf2\\x5f\\x69\\xab\\xd7\\x73\\xef\\xbc\\x13\\xcd\\xbd\\x00\\xd1\\x56\\x75\\x3d\\x5b\\xbe\\x99\\xbd\\xc1\\xc6\\xb7\\xd7\\xac\\xd6\\xa6\\xdc\\x92\\xd6\\x72\\x29\\xaa\\x66\\x3b\\xc6\\xc8\\x7a\\xeb\\x64\\xbd\\x99\\xee\\xd7\\x61\\xa7\\xa4\\xf7\\xc8\\xe8\\xdd\\x3f\\x43\\xfe\\x33\\x6d\\x73\\xdf\\x5e\\x5e\\xd5\\x46\\xe0\\x89\\x18\\xab\\xfd\\x9a\\x95\\x5b\\xbf\\xe1\\x5e\\x55\\x41\\x1b\\x5a\\xc2\\xc6\\x18\\x6d\\x72\\xe9\\x09\\xf3\\xf7\\x15\\x13\\x7b\\xcc\\x2b\\x0d\\x00\\xde\\x33\\x24\\x73\\x4a\\xf6\\x1c\\xa3\\xb4\\xef\\xac\\x57\\xda\\x1a\\xc4\\x76\\x1c\\x29\\x71\\x8b\\x24\\x6e\\x7f\\x32\\xdc\\xf5\\x5a\\x07\\x0c\\xe9\\x19\\x92\\xe7\\xf9\\x10\\x32\\xbc\\xb7\\x92\\xbe\\x79\\xd0\\x70\\x17\\xfa\\x6d\\xe3\\x31\\x6f\\xdc\\x32\\x1f\\xf3\\xd1\\xfd\\x77\\xf2\\x77\\xf2\\x56\\xa5\\x0a\\x72\\x15\\x97\\x9d\\x49\\xe7\\x8e\\x98\\x32\\xa1\\x68\\xe0\\x58\\xb3\\x93\\xb7\\x3a\\xb0\\x78\\xee\\x2b\\x57\\x5e\\xc8\\xbe\\x7c\\xf4\\x0e\\x76\\xa1\\xba\\x58\\x7a\\xaa\\xed\\x1e\\xeb\\x9c\\xe9\\xa3\\x1b\\xcb\\xd2\\xfe\\x74\\x5a\\x8a\\xd4\\xe7\\x1a\\xa9\\x4f\\x7f\\xaf\\x7f\\x7b\\x49\\x2f\\x31\\x53\\xa4\\xa4\\xd0\\xcd\\x19\\x2a\\x06\\xed\\xb1\\xd6\\x6b\\x48\\x85\\x7d\\xdd\\x65\\xd6\\xf4\\x3e\\xa4\\xe1\\x5e\\xa0\\x18\\xf8\\x01\\xfb\\xf9\\x68\\x36\\xf6\\xf0\\x93\\x57\\x8a\\x65\\xf3\\x6f\\x09\\xaf\\xcc\\xbb\\x4f\\x8e\\xdc\\x99\\x29\\xef\\x1f\\x1e\\x4f\\x2f\\x2f\\x3c\\xf4\\xb0\\xc3\\xfd\\xb1\\xeb\\x54\\x37\\x4d\\x49\\x51\\x3a\\xd5\\xed\\x0d\\x1b\\xef\\x58\\x77\\x11\\x3b\\xfa\\x61\\xf6\\xc1\\xe8\\x40\\xdd\\xea\\xf1\\x29\\x67\\xa6\\xb5\\x9c\\x1c\\xa8\\xbc\\xbd\\xee\\x74\\x32\\x98\\x0c\\x9b\\x92\\x31\\x70\\xa0\\xde\\x33\\x33\\xb3\\x37\\xd9\\x9c\\xe2\\x5e\\x9c\\x21\\xe3\\x8c\\xcc\\xc7\\x8c\\x01\\xde\\x55\\x3c\\xef\\x92\\x46\\xaf\\x0e\\x10\\x3c\\x30\\x9e\\x92\\x32\\x8c\\x9b\\x03\\x58\\x63\\xe5\\x78\\xea\\x93\\x4b\\x4f\\x5c\\x38\\x6f\\x44\\xea\\x3c\\xe5\\xaa\\x56\\x4c\\xda\\xcb\\x1b\\xcd\\xc2\\x89\\x85\\x12\\xfb\\x22\\x89\\x5d\\xe8\\x61\\x8f\\x74\\xb1\\x87\\xf4\\xc9\\xc8\\x10\\xc3\\x7a\\xf5\\x97\\xd8\\x1b\\x3c\\xec\\x01\\xcf\\x1a\\xfe\\x20\\x7a\\x8d\\xec\\x88\\x5d\\xe8\\x8d\\xa6\\x7f\\x23\\xac\\x6d\\x30\\x6f\\xad\\x8c\\x2f\\x50\\x66\\x96\\x9d\\x90\\xbb\\x60\\xe4\\x39\\x25\\x23\\x4a\\x26\\x14\\x0f\\x9c\\x33\\xe4\\xc0\\xa1\\xb1\\x45\\x7b\\x94\\x4e\\x2c\\x1c\\x90\\x97\\x9f\\x7a\\xd0\\xc0\\xf0\\x01\\xca\\x55\\x15\\x4b\\xd2\\x46\\xef\\x33\\x6f\\x79\\xcd\\x5b\\xbd\\xfa\\xf4\\x9a\\xb0\\xa8\\x4c\\x86\\x43\\x07\\xdb\\x85\\x43\\x7c\\x7e\\x7a\\x59\\xdc\\xca\\x56\\xab\\xa3\\x76\\xfb\\xdc\\xbb\\xb8\\xcb\\xb9\\xa7\\x8e\\xea\\x7c\\xee\\x0d\\x90\\x75\\x1a\\xa8\\xd3\\x35\\x5c\\x55\\x26\\xff\\xe5\\x10\\xa6\\x74\\x73\\xee\\xf5\\x75\\x9f\\x03\\xf2\\x2a\\x9f\\xe0\\x9d\\x7b\\x8f\\x6f\\xb9\\x41\\xd4\\x3e\\xc0\\xb6\\xc7\\x84\\x92\\x94\\x67\\xde\\xbc\\x96\\xef\\xdc\\x9a\\x7d\\x5d\\xbf\\x90\\xf5\\x2e\\x51\\x9b\\x49\\x96\\xfb\\x0d\\xdf\\x29\\x19\\x7d\\x06\\x64\\xc8\\xff\\x6c\\xc1\\xe4\\xc9\\xd7\\x2f\\xdb\\x3f\\xf9\\xdc\\x71\\x43\\xfd\\xc1\\xb3\\xcf\\xbf\\x62\\xcc\\xdb\\x9b\\xf1\\x9c\\x3d\\xa9\\x30\\x75\\xe6\\xa2\\x1b\\x66\\x2d\\xd2\\x0f\\xec\\x39\\x69\\x6c\\xa0\\x39\\xca\\xaf\\x23\\x7b\\xcd\\xe9\\xb7\\xcc\\x3c\\x20\\x75\\xd4\\x21\\x7c\\x60\\xcb\\xd6\\xc0\\x39\\x38\\x51\\xe2\\x8f\\x54\\xbf\\x26\\x21\\xef\\x4b\\x8c\\x99\\x2a\\x19\\xd4\\x2b\\x45\\x12\\x7b\\x8a\\x18\\xda\\xa3\\xef\\x66\\x5d\\x74\\x73\\x0e\\xf6\\x6a\\x6b\\x5d\\xf7\\x67\\xe3\\x82\\xb6\\xd6\\xd2\\x96\\x9d\\x9e\\x8e\\xca\\xcb\\x7e\\x27\\xd0\\xda\\xce\\x67\\xa3\\xd4\\xa9\\x41\\xea\\x34\\x46\\xfd\\x86\\xa4\\x49\\x4b\\x50\\xf6\\x75\\x7a\\xba\\xc8\\x9c\\xa2\\x85\\xc4\\x06\\xe2\\x5d\\x3a\\x6f\\xbd\\x34\\xd7\\xcb\\xfd\\xd6\\x9c\\x89\\xcb\\x84\\xbc\\x70\\xa4\\x1c\\xd5\\x23\\x0f\\x3f\\x8b\\x36\\x6f\\xba\\x6f\\x7c\\x73\\xfe\\xcb\\xb7\\x0a\\xaa\\x3c\\xaf\\xb4\\x5c\\x2a\\x6e\\xbd\\xe0\\xa8\\x01\\xe7\\x9f\\x7f\\xfa\\x55\\x74\\x5a\\xf6\\x07\\x83\\xdf\\xf0\\xda\\x1c\\x97\\xf5\\x87\\x64\\xfd\\xe9\\xee\\xdb\\xf2\\xa6\\x84\\x32\\x32\\xb2\\x36\\x6b\\x29\\x81\\xea\\xdb\\xcf\\x92\\x6c\\xfc\\x5e\\x84\\x8f\\x94\\xa3\\xaa\\x1d\\x75\\xd4\\x19\\xcd\\xf7\\x45\\xd6\\x0c\\x69\\x1e\\xf7\\xda\\xb4\\x96\\x1f\\x94\\xe7\\x6f\\x14\\xe2\\xd6\\x8b\\x36\\xf6\\x38\\x7f\\xc6\\xcc\\x53\\xaf\\xa1\\xd3\\xde\\x18\\xfc\\x81\\x3f\\xa6\\x9e\\xfe\\x21\\x6d\\x1f\\xa9\\xbf\\x77\\x3d\\xb0\\x47\\x36\\xd9\\xac\\x91\\x81\\x68\\x80\\xec\\xcd\\x2c\\xd3\\x3d\\x1d\\x3b\\xb5\\xa0\\x57\\x97\\xa1\\x0d\\xb4\\x26\\x6d\\xbe\\x77\\x5b\\xe0\\x95\\xfa\\x65\\x7a\\x63\\xef\\x99\\x05\\xed\\x8d\\xfa\\x30\\xb7\\x5f\\xe5\\x90\\xd5\\xd3\\x0e\\x4a\\x1d\\xdd\\xc0\\x87\\x93\\xb6\\xbe\\xfb\\x5a\\x62\\xfb\\xe7\\x63\\x6f\\xd9\\x7b\\xc3\\xb2\\xbc\\xf3\\x51\\xc3\\x35\\xd6\\x8e\\xe7\\x63\\x40\\x83\\x6e\\x2f\\x05\\x06\\xb4\\x28\\xf1\\x2e\\x05\\x9a\\x59\\x5d\\x2e\\x05\\xb6\\xeb\\x73\\x58\\xd7\\x0b\\xc6\\x94\\x96\\x2b\\x57\\xb3\\x27\\xd4\\x8b\\xfc\\xe7\\x0e\\xbd\\x4e\\x70\\xef\\x94\\x78\\x5d\\xca\\xe6\\xb4\\x6c\\x53\\x65\\x47\\x2a\\x57\\x7b\\xdd\\x47\\xc9\\x4f\\x72\\x3d\\x79\\x41\\xbd\\xb0\\x63\\xde\\x5e\\xde\\xe8\\xfe\\xe4\\x0e\\xa9\\xda\\x72\\x99\\x72\\x95\\x37\\x92\\x94\\xdc\\xa2\\x5c\\xc5\\xa7\\xab\\xd7\\xca\\xb9\\x9b\\x71\\x87\\x08\\x6d\\x50\\xdb\\x9e\\x6f\\xf3\\xc8\\x4f\\x9e\\xe3\\x23\\x4d\\x3e\\x5d\\xc4\\x36\\xb3\\x96\\xdf\\xe4\\x69\\x30\\xe6\\x4a\\xe5\\xde\\xec\\x8d\\x1b\\xb3\\xbf\\xf6\\x7c\\xc8\\x77\\x64\\xd9\\xb5\\x28\\xab\\x89\\x0d\\xee\\xd3\\x97\\x28\\xdb\\x76\\x49\\x91\\xcd\\xbd\\xf2\\x05\\x5c\\x4e\\x54\\xae\\xfa\\xda\\x2d\\x4a\\x18\\xf9\\x58\\x79\\x8e\\x17\\xa8\\xc7\\xe3\\xf9\\xb8\\x90\\x42\\xdd\\x7b\\x25\\x82\\x9c\\x25\\xdd\\x02\\x5c\\xdc\\xc3\\x95\\x7f\\x16\\x77\\xef\\x2a\\xbc\\xbc\\xc7\\x55\\x7b\\x28\\xcf\\x79\\x57\\xfb\\x29\\x39\\x4f\\xb9\\x86\\x9f\\xad\\x5e\\x2a\\xed\\x95\\xec\\xbb\\xb3\\xd3\\x42\\x4a\\xda\\x86\\x2c\\x2c\\x91\\xb8\\x3c\\xdc\\x7a\\x3a\\x05\\xd7\\x43\\x76\\xe1\\xde\\x33\\xa7\\xda\\x23\\xf6\\x18\\x37\\x20\\x3e\\xea\\xd0\\xa5\\x63\\x66\\xee\\x57\\x36\\x2c\\x37\\xb7\\x67\\xe3\\xd0\\x29\\x4b\\x95\\x6b\\x46\\x8e\\x1d\\x39\\x76\\xfa\\x31\\xcd\\x32\\x9a\\x5c\\x14\\x59\\x5e\\xe8\\x3d\\x7f\\x27\\xdb\\xf5\\xb5\\xd7\\xd7\\xa9\\xb2\\x65\\x3a\\xdf\\xa0\\x02\\x42\\xf6\\xe2\\x64\\x77\\xe5\\x33\\xbd\\xf0\\x05\\xf1\\xad\\xdb\\x95\\xbf\\xf9\\x91\\xec\\xd1\\x0f\\x07\\xbf\\xe9\\x6e\\x5e\\xdf\\x3c\\x25\\xeb\\xa8\\x50\\x2f\\xf1\\xaf\\xcd\\x2b\\x58\\xc7\\x71\\x6d\\x1e\\xcb\\xb7\\x77\\x56\\xd0\\x8f\\x8e\\xbe\\xa0\\x59\\x8b\\x1c\\x78\\xe0\\xda\\x01\\xcd\\x63\\x9f\\x51\\xae\\x3a\\x76\\x45\\x6a\\x78\\xc2\\x44\\x2b\\x71\\xbc\\xac\\xe3\\x3e\\xf1\\x32\\xfb\\x49\\x99\\xeb\\xdd\\x1b\\xf3\\x9e\\x4f\\xf5\\x6f\\x45\\xb0\\x77\\xbd\\x2b\\xaa\\xe2\\xe5\\x23\\xbd\\xef\\x6e\\xbe\\x2c\\x4e\\xf0\\x9f\\xad\\xc9\\x76\\x9f\\x59\\xfa\\xe6\\xb7\\x9a\\x1d\\x4d\\xde\\xb3\\x37\\xfe\\x33\\x52\\x1d\\x8f\\x6b\\xfe\\xf1\\x6e\\x9e\\xe1\\xf9\\x7a\\xc7\\x07\\x3c\\xa5\\x9b\\xf4\\x4f\\x91\\xbe\\x58\\xa6\\xbf\\xe8\\xd6\\xa3\\xbf\\xe7\\x3d\\xbb\\xb2\\xf5\\x25\\xbf\\xfe\\xce\\xe9\\x5f\\x3e\\xd4\\x9a\\x7e\\x65\\x87\\xf4\\x2f\\x3e\\x20\\xdd\\x3d\\x37\\xd6\\xfd\\x33\\x52\\xd2\\xdb\\x9c\\xd6\\x72\\x24\\x3f\\x79\\xc7\\x57\\xde\\x3d\\xce\\x11\\xd2\\xa2\\x76\\xdf\\xbf\\xb9\\xcf\\x94\\xbe\\x13\\xcc\\x81\\x03\\x8b\\xc9\\x30\\x3a\\x65\\xd8\\x65\\xc3\\xd8\\xb0\\xde\\x63\\x43\\xa1\\x1e\\x7b\\x4e\\xe4\\xdc\\x7d\\xe6\\xd0\\xfd\\x51\\xe4\\x63\\x07\\xaf\\x32\\xe4\\x5a\\x2f\\xbb\\xb9\\x6f\\xe0\\x05\\x03\\xc1\\x17\\x0f\\x68\\x3b\\x79\\x09\\x41\\x30\\x5d\\xeb\\x65\\xf2\\x69\\xb9\\xc3\\x87\\xe7\\xe6\\xe5\\xe4\\xe4\\x7d\\x9a\\x9b\\xe3\\x09\\xb9\\x17\\xcb\\x60\\xdc\\x38\\xb9\\xc3\\x16\\xe7\\x0e\\xcf\\xc9\\xcb\\x93\\xd2\\x5e\\xb9\\x39\\xc3\\xc6\\xc9\\x9d\\xdc\\xd7\\xa6\\x36\\xec\\x57\\xe1\\xe7\\x1f\\x37\\x6c\\x78\\xae\\x57\\xf6\\xe6\\x9c\\x5c\\xaf\\xe8\\x37\\xc3\\xc7\\x8e\\x95\\x59\\x72\\x6f\\xc6\\xb1\\x5c\\xda\\xd0\\xe2\\xbe\\xbf\\x5c\\x90\\xd9\\x2d\\x1b\\xf8\\x6a\\xd9\\x46\\xee\\xfd\\x0a\\x6e\\xa8\\xb4\\x1b\\x33\\x39\\x19\\x3c\\xa8\\x17\\xe9\\x4f\\xa7\\xf4\\xbf\\xac\\x3f\\xeb\\x9f\\xee\\xde\\x89\\xf1\\xda\\x64\\xba\\x83\\xdf\\x57\\xba\\x60\\xbb\\xd2\\xb9\\x8a\\xee\\x97\\xdd\\x72\\x0f\\x3b\\xa1\\x5b\\xf5\\xc2\\x2b\\x26\\x75\\xaf\\x48\\xbb\\x1e\\x9a\\x5c\\xcb\\xdd\\xb7\\x9e\\x8e\\x9d\\xd2\\xef\\x05\\x42\\x55\\xc6\\xc8\\x06\\xce\\x87\\xe5\\xf4\\x25\\x83\\xe9\\x94\\xc1\\x97\\x0d\\x66\\x83\\xb3\\x52\\xdb\\xf4\\x29\\x96\\xeb\\xbc\\xec\\xf1\\x83\\xdd\\x85\\xc5\\xbb\\xec\\xaf\\xed\\x4a\\xb3\\xab\\xfa\\xc7\\x7b\\x4b\\xe5\\x56\\xf6\\xa3\\x8f\\x74\\xab\\x5c\\xcb\\x17\\xcd\\x2b\\x56\\x34\\xdf\\xde\\xad\\x82\\x8c\\xcc\\xd8\\xf1\\x85\\xb8\\x5b\\x1d\\x28\\xb5\\x73\\x7f\\x4a\\x5c\\x90\\xcb\\xf6\\xcc\\xe0\\xee\\x0f\\x51\\x4d\\x63\\x12\\xe3\\xbd\\xdc\\x4f\\xe6\\x6a\\x19\\xdc\\xfd\\xd4\\x54\\xe1\\x24\\x5e\\xc8\\x47\\x15\\xee\\xa1\\x68\\xa3\\x78\\xa4\\x67\\xcf\\xb1\\xc5\\xbd\\x67\\x9d\\x7b\\xc4\\x41\\xbd\\x32\\xb5\\x70\\xe5\\xcc\\x03\\x0e\\x5b\\xb2\\xef\\xc3\\x9f\\x39\\xa9\\x7b\\x1a\\x99\\xbd\\xfb\\xd6\\x9c\\xfb\\x68\\xa2\\xe9\\xea\\x8a\\x81\\xfd\\xfb\\xc6\\x2f\\x7c\\xb0\\xe6\\x2d\\x7d\\x18\\x7d\\x88\\x0e\\x1c\\xf4\\x2a\\x7d\\x6d\\xc1\\x19\\x89\\x85\\x03\\x07\\x1c\\xd0\\x74\\xe6\\x81\\x33\\x8e\\x59\\x5e\\x58\\xb0\\xec\\x18\\xfe\\x44\\xcb\\x03\\xcb\\xb3\\xc6\\x1f\\x7f\\x69\\xa4\\xe1\\xae\\x63\\xa6\\x96\\x1f\\x79\\x77\\xa2\\xf1\\x96\\x13\\x22\\xc3\\xe8\\xf8\\x50\\xc3\\xa6\\xf9\\xc7\\xce\\xf3\\xb8\\xea\\x37\\xd9\\x89\\x2f\\x28\\xf3\\xbc\\x71\\x24\\xee\\x19\\xea\\x3e\\xd4\\x3a\\x0c\\x9b\\xb8\\x7b\\xfb\\x94\\xfe\\x7c\\xf3\\xaf\\x63\\x5f\\xba\\xec\\x5e\\x9a\\x79\\xaf\\x0c\\xb2\\xee\\xbd\\xec\\x25\\xf1\\xca\\x91\\xbf\\xdc\\x28\\xc6\\xbb\\x8f\\x91\\xba\\x9b\\xff\\x1c\\xeb\\x09\\xb2\\x9d\\xd7\\x7a\\xf5\\x8c\\x40\\x3d\\x1c\\xee\\x5f\\xa1\\xac\\x28\\x83\\xf7\\x1e\\x61\\x15\\xb8\\xbf\\xb0\\xf3\\x1f\\x0f\\xed\\x25\\x4e\\xdb\\x7e\\x4f\\x7f\\x3e\\xf5\\xb7\\xdc\\xe3\\x32\\x16\\x54\\x1e\\x73\\xcf\\xe0\\xf5\\x77\\x5e\\xa5\\xa5\\xa7\\xea\\xd7\\xf7\\xd6\\xf8\\xbc\\x7b\\x57\\x9f\\xb9\\xb1\\xc7\\x29\\x12\\xa5\\xe5\\xd3\\xdf\\xe6\\x4e\\x35\\xe7\\x3b\\x77\\x5c\\xc4\\x12\\xdb\\x6f\\x1c\\xbe\\x7f\\x59\\x9e\\x96\\x7a\\xdc\\x5e\\x8d\\x07\\x27\\x8f\\x9c\\x30\\x8b\\xbd\\x48\\xbc\\xbf\\x21\\xb4\\xc1\\x7d\\x16\\xc1\\xfb\\x5b\\x48\\x6e\\x82\\x4c\\x49\\x0f\\x3a\\x12\\x32\\x93\\x0e\\x71\\x19\\x64\\x4e\\x06\\xd0\\x0d\\x90\\x05\\xe9\\x43\\x9f\\x86\\xac\\x90\\x0c\\xda\\x02\\x59\\x25\\xbd\\x59\\x31\\x64\\x8d\\xac\\xe7\\x36\\x64\\x9d\\x64\\xf3\\xcf\\x20\\x4b\\xd6\\x10\\x83\\x21\\xa7\\xd0\\x84\\x96\\x0d\\x39\\x95\\x0c\\xd2\\x1f\\x81\\x9c\\x46\\x72\\x43\\x13\\x21\\xa7\\x93\\x70\\xe8\\x75\\xc8\\x19\\x64\\x40\\x4a\\xb9\\xd4\\x84\\x0a\\xf7\\x0a\\xef\\x0d\\x9e\\x56\\xae\\x4c\\x65\\x5b\\x14\\xc8\\x8c\\xa4\\xd1\\x30\\x64\\x4e\\x2c\\x3a\\x1d\\xb2\\x20\\x63\\xe8\\x85\\x90\\x15\\x32\\x88\\xbe\\x07\\x59\\x25\\x7b\\xb3\\x74\\xc8\\x1a\\xd9\\xc6\\x66\\x43\\xd6\\xc9\\x68\\xbe\\x19\\x72\\x88\\x0c\\xe2\\x3b\\x20\\xa7\\xb0\\x4f\\xc4\\x18\\xc8\\xa9\\xa4\\x48\\x3f\\x11\\x72\\x1a\\x39\\x48\\x7f\\x17\\x72\\x3a\\x59\\x11\\xaa\\x83\\x9c\\x41\\xac\\x94\\x0c\\x52\\x4e\\x62\\xa4\\x46\\x6e\\x49\\xb9\\xad\\x27\\x51\\x52\\x45\\x72\\xe4\\x16\\x91\\xfb\\x11\\x29\\x55\\x92\\x38\\x69\\x24\\xeb\\x48\\x93\\x97\\xab\\x56\\xa6\\xe6\\x90\\xd1\\x32\\x75\\x2f\\x19\\x1b\\x24\\x4f\\xce\\xff\\x3c\\x29\\xed\\x27\\x73\\xc5\\xe5\\xf1\\x3a\\x59\\x3e\\x87\\x94\\x49\\xb9\\x49\\x96\\x72\\xc3\\x88\\x57\\x6f\\x9c\\x34\\x90\\x5c\\x69\\x80\\x96\\xfd\\x6e\\x6d\\x86\\x94\\xe6\\x42\\x8b\\xa9\\x5e\\xe9\\x31\\x52\\x9a\\x26\\xcb\\x57\\xca\\x1a\\x48\\x79\\xac\\x26\\x96\\x8c\\xad\\x8f\\x56\\xe5\\x54\\x45\\x92\\x91\\x9c\\xca\\x78\\xe3\\xba\\xa6\\x58\\x4d\\x6d\\x32\\x67\\x74\\xe5\\x5e\\x39\\x46\\x5e\\x7e\\x5e\\xce\\x7e\\xf1\\x78\\x4d\\x5d\\x34\\xa7\\x2c\\xde\\xd4\\x18\\x6f\\x8a\\x24\\x63\\xf1\\x86\\xdc\\x94\\xb2\\xce\\xd9\\x8c\\x9c\\xb9\\xb2\\x8a\\xa9\\x91\\xe4\\x98\\x9c\\x69\\x0d\\x95\\xb2\\xde\\x19\\x52\\xa1\\x0a\\x09\\x1b\\x54\\x38\\x87\\xcc\\xf4\\xe2\\xb8\\x3c\\x1c\\xab\\x88\\xfa\\x95\\xe5\\xcc\\x8c\\x37\\xc8\\x84\\x69\\x5e\\xf7\\xd4\\xc9\\x9c\\x95\\x72\\x27\\x19\\xa9\\x8b\\xc9\\xb8\\x84\\x24\\xe4\\x6e\\x54\\x16\\xa9\\xf2\\xaa\\xca\\x21\\x63\\xe5\\xf6\\x3b\\x55\\x97\\x24\\x2a\\xa3\\x0d\\x55\\xd1\\xa6\\x9c\\xb1\\x39\\x5d\\x50\\x76\\x5d\\x34\\xa7\\xa3\\x16\\x9d\\x4a\\xe7\\xb4\\x6a\\xb5\\xd0\\xab\\x20\\xd1\\x56\\xdc\\x90\\xfd\\x98\\x27\\xff\\x73\\xdd\\xb5\\x6b\\x61\\xb4\\x29\\xe1\\x96\\x30\\x72\\xf3\\xf2\\x72\\xf3\\xbb\\x47\\x6c\\xc5\\x1b\\xbb\\x33\\x3c\\x17\\x6e\\x6c\\x2b\\x5c\\xf7\\x3a\\xc7\\xa4\\x02\\x39\\xde\\x84\\x4a\\x7a\\x47\\xdc\\x0e\\xaa\\x97\\x71\\x13\\x59\\x29\\xd3\\xe2\\xa4\\x7a\\x97\\xc3\\x9e\\x23\\xf3\\x45\\xbd\\x49\\x9a\\x90\\x47\\xa2\\xde\\x5e\\x95\\x57\\xab\\x5b\\xf7\\x02\\x99\\x63\\x9e\\x97\\x6b\\x8e\\x57\\xd2\\x1d\\x80\\xa4\\x87\\xd6\\xe0\\xe5\\x9a\\xdf\\x0d\\xe2\\x6c\\x89\\x58\\xed\\xb5\\x23\\x1a\\xc8\\x59\\xe9\\xd5\\xed\\xb6\\xd1\\xaf\\x39\\x2e\\xe5\\x5a\\x0c\\xe5\\x0a\\xd2\\xec\\x4d\\xdb\\x84\\xcc\\xe9\\x96\\x6b\\x6d\\x5b\\xc2\\x9d\\x96\\x81\\xbe\\x8f\\x25\\x72\\x22\\x39\\xc9\\xa6\\x48\\x55\\xb4\\x3e\\xd2\\xb4\\x32\\x27\\x5e\\xdd\\x71\\xaa\\xe5\\x34\\x45\\x6b\\x62\\x89\\x64\\xb4\\x49\\x26\\xc6\\x1a\\x72\\x16\\xe4\\xce\\xcb\\xcd\\x99\\x13\\x49\\x46\\x1b\\x92\\x39\\x91\\x86\\xaa\\x9c\\xf9\\x6d\\x05\\x67\\x57\\x57\\xc7\\x2a\\xa3\\x5e\\x62\\x65\\xb4\\x29\\x19\\x91\\x99\\xe3\\xc9\\x5a\\x39\\x4f\\x56\\x34\\x37\\xc5\\x12\\x55\\xb1\\x4a\\x17\\x2d\\x91\\xdb\\xdd\\xac\\xeb\\xfe\\xfc\\x6b\\x9f\\x69\\x81\\x73\\x83\\xc8\\x9e\\x73\\x7b\\x6c\\xb5\\xd7\\x0f\\x33\\xbd\\xec\\xee\\x7e\\xc2\\x2f\\x32\\x2f\\x19\\x5d\\x1d\\xcd\\x99\\x19\\x49\\x26\\xa3\\x09\\x37\\x73\\xa9\\xcc\\x90\\x40\\xe7\\xfb\\x03\\xeb\\x62\\x35\\x7b\\xb3\\xab\\x41\\xa6\\xbb\\x83\\xb6\\x46\\x76\\x99\\xdb\\x41\\xb5\\x9e\\x1c\\xf1\\x06\\xbe\\xca\\xab\\xd2\\x3d\\xe7\\x1b\\x50\\xba\\x42\\xae\\x02\\x39\\xbb\\x04\\xcf\\x41\\xd9\\x08\\x26\\x50\\x83\\x37\\x09\\x57\\xa3\\x45\\xab\\x81\\xe6\\x4e\\x85\\x6a\\x2f\\x4c\\x78\\xb8\\x0d\\x12\\x23\\x47\\xca\\x11\\x6f\\x68\\x72\\x3c\\x6d\\xdd\\x61\\xab\\xee\\xa4\\x45\\x8e\\x37\\xb4\\x11\\x6f\\xa2\\xf8\\x93\\xb3\\x5e\\x1e\\x4d\\x7a\\x79\\x2b\\xbd\\x49\\x5e\\xe7\\x69\\xe8\\xae\\x7f\\xf5\\xb2\\x2f\\x7d\\xd4\\x0a\\xac\\x70\\x6b\\xbc\\xf5\\xb2\\xb6\\xad\\xfd\\x6e\\x29\\xbf\\xef\\x67\\xc9\\x78\\xcd\\xb0\\xe1\\xde\\x74\\xec\\xd8\\x37\\xfe\\x34\\xaf\\xc6\\xd9\\x98\\xe3\\xbd\\x8d\\xb7\\x51\\xca\\x71\\xaf\\x2d\\xad\\x3d\\x3a\\xd6\\x1b\\x4d\\xb7\\x3d\\x51\\x4f\\x4b\\x57\\x8a\\x78\\xeb\\x71\\x85\\x2c\\x51\\xe7\\xe1\\xfa\\x7a\\xd5\\x7a\\x93\\x39\\xe2\\x4d\\xc5\\x28\\xa6\\x66\\xd2\\xd3\\x3e\\x11\\x98\\xd2\\xfe\\x04\\xce\\xf1\\x5a\\xe0\\xd6\\x6e\\x7b\\xda\\xba\\xab\\x70\\x14\\x3d\\xbb\\x48\\xae\\xde\\x33\\xba\\xad\\xd1\\xef\\xbd\\xe0\\xa9\\xe4\\x8e\\x4c\\x9d\\xa7\\x6f\\x22\\x50\\x77\\x83\\xa7\\x6d\\x95\\x97\\x16\\x6f\\xeb\\x69\\x37\\x57\\x1d\\x90\\xfc\\x16\\xd7\\x79\\x2c\\xb1\\xb2\\x6d\\x94\\xaa\\xbd\\x19\\xea\\xf7\\x66\\x95\\x57\\xdb\\xd8\\x9d\\xf4\\x77\\xb5\\xd7\\x37\\x49\\xa0\\xc6\\x3d\\x8d\\xaa\\xe4\\xbf\\x3f\\xee\\xfe\\x0c\\x8b\\xcb\\xb2\\xcd\\xde\\x28\\xfa\\xa7\\xbf\\x3f\\xff\\x93\\x5d\\x7a\\x2e\\xe2\\xf5\\x6f\\x1c\\xe5\\x1a\\xe5\\x11\\x17\\xcb\\xd7\\xa5\\xde\\x3f\\x9d\\x4b\\x23\\x09\\x79\\x7a\\xca\\x93\\xb9\\x2c\\xde\\x9c\\x88\\x35\\x44\\xc7\\xe4\\xac\\xa9\\x8d\\x55\\xd6\\xe6\\xac\\x89\\x24\\x72\\xaa\\xa2\\x89\\x58\\x4d\\x83\\x3c\\x5c\\xb1\\x2e\\xa7\\xe3\\xe9\\x91\\x23\\x8f\\x46\\xe4\\x02\\xd0\\xd0\\x10\\x5f\\x2d\\x4f\\xae\\xd5\\xb2\\x58\\x53\\xb4\\xba\\x29\\x9a\\xa8\\x8d\\x35\\xd4\\xe4\\x24\\x22\\x0d\\x89\\x9c\\x44\\xb4\\x29\\x56\\x8d\\x2a\\x72\\x92\\xb5\\x91\\xa4\\xbb\\x5c\\xd4\\x47\\x93\\x4d\\xb1\\xca\\x48\\x5d\\xdd\\x3a\\xc9\\x67\\xf5\\x8d\\xb2\\x68\\x85\\x24\\xb0\\x35\\xb1\\x64\\xad\\x8b\\xdf\\x14\\x93\\x67\\xec\\xac\\xe8\\x9a\\xeb\\x73\\x5b\\xb5\\x91\\x6b\\x4a\\xb5\\x5c\\xb6\\x73\\x62\\xf5\\x8d\\x4d\\xf1\\xd5\\x9e\\xa2\\x63\\x13\\x95\\x4d\\xd1\\x68\\x83\\xc4\\x8b\\x54\\x45\\x2a\\x62\\x75\\xb1\\xa4\\xac\\xab\\x36\\xd2\\x14\\xa9\\x94\\x2b\\x8d\\x5c\\x6e\\x62\\x95\\x09\\x6f\\x25\\x91\\x0b\\x48\\x4e\\x63\\xa4\\x61\\xac\\xdd\\xdc\\x14\\x6f\\x8c\\x4a\\x65\\x17\\xed\\x37\\xa3\\x3d\\xa3\\x54\\xcf\\x5f\\x85\\x12\\xf1\\xba\\xd5\\xd1\\x84\\x97\\xbb\\x21\\x1a\\xad\\x4a\\xb8\\xab\\x58\\x95\\x6c\\x6a\\x9d\\x2c\\x24\\x81\\xeb\\xe2\\xf1\\x95\\x6e\\x93\\xaa\\xe3\\x4d\\x52\\xcd\\xaa\\x64\\xed\\xd8\\x80\\xde\\xd5\\xf1\\x86\\xa4\\x2c\\x1a\\xcf\\x89\\x54\\x55\\xc9\\xb6\\xcb\\x0e\\x8b\\x57\\x36\\xd7\\xbb\\xeb\\x9b\\x5c\\x73\\x92\\xad\\xca\\x45\\x2a\\x9b\\xe2\\xf2\\x58\\x63\\x5d\\x24\\x29\\x6b\\xa9\\x77\\xd7\\xb1\\x5a\\xef\\xec\\x6f\\x24\\xe3\\xa5\\x6f\\x35\\x4e\\xce\\x09\\xf7\\x3f\\xd7\\x5b\\x03\\x82\\xab\\x5b\\x25\\xd6\\xb6\\x5c\\xcc\\x94\\x71\\xb2\\x60\\x32\\xd9\\x38\\x7e\\xdc\\xb8\\x35\\x6b\\xd6\\xe4\\x46\\xb0\\xc4\\x55\\xca\\x15\\x2e\\x57\\x2a\\x35\\xee\\xdf\\xaf\\xd6\\x9d\\x2c\\x8d\\xde\\xb4\\x0e\\x2e\\x5d\\x4d\\xde\\x04\\x71\\xeb\\xac\\x97\\x13\\x67\\x97\\xd0\\xc9\\x75\\x8d\\x51\\x4c\\x96\\xa6\\x44\\x6e\\x6d\\xb2\\xbe\\xce\\x27\\x47\\x1f\\xb6\\x75\\x15\\x6d\\x0e\\xac\\xdb\\xad\\xe7\\xd3\\x3c\\x49\\x7c\\x33\\x3c\\x92\\x6a\\xc4\\x2a\\xe0\\x60\\xfe\\xe7\\x74\\xaa\\xc1\\x5d\\x01\\x3b\\xf3\\x7b\\xbe\\xcf\\xec\\x33\\x24\\x7b\\x34\\xb8\\xd3\\xb8\\xd9\\x5b\\xf3\\xdd\\xb1\\x9c\\x37\\x6d\\x46\\xce\\xec\\x46\\x39\\x4d\\x1c\\x39\\x46\\x39\\xc8\\x30\\x26\\xa7\\xd5\\x06\\xc8\\x77\\x0d\\x80\\x8e\\xdd\\xe5\\xaf\\x45\\x31\\xb9\\x9f\\xf4\\x1a\\x9e\\xf0\\xce\\xa4\\x5c\\xaf\\xb3\\x6a\\xe4\\xf1\\xd9\\x52\\xb3\\x19\\x6d\\xdd\\x20\\x27\\x61\\xac\\x31\\x99\\xc8\\x4d\\xc4\\xea\\x72\\xe3\\x4d\\x35\\xe3\\x66\\x3b\\x33\\x60\\xab\\x93\\x1d\\xdb\\x08\\x69\\x19\\xe1\\xbe\\x17\\xa7\\xcd\\xae\\x6f\\xfb\\x0b\\x2d\\xf5\\x52\\x99\\xb4\\x4a\\x85\\x7b\\xa3\\x4b\\xda\\xba\\xba\\xb4\\x6b\\x53\\xdc\\xcf\\xe6\\x49\\x7b\\x35\\x43\\xfa\\x30\\x99\\x24\\x8b\\xf4\\x74\\xaf\\xb1\\x93\\xde\\xa4\\x8f\\xf4\\xbf\\xfb\\x91\\xfe\\x64\\x80\\xf4\\x50\\x07\\x91\\xc1\\x64\\x88\\xf4\\x10\\x73\\xc8\\x30\\x32\\x5c\\xfa\\x28\\x7b\\x90\\x91\\x64\\x14\\xd9\\x53\\xda\\x94\\x7b\\x91\\xbd\\xc9\\x3e\\xb2\\x7f\\xc6\\x4a\\x6d\\xc7\\xc1\\xb2\\x34\\x89\\x45\\xc2\\xa4\\x80\\x14\\x92\\x22\\x52\\x2c\\x5b\\xb8\\x2f\\x99\\x40\\x26\\x92\\x49\\xd2\\x8f\\x9f\\x22\\x59\\xb4\\x54\\xae\\xd7\\xe5\\x72\\x7d\\x74\\xe4\\x7a\\x38\\x55\\x8e\\xc0\\x74\\xb2\\xbf\\x6c\\xdb\\x4c\\xb9\\xa2\\xcf\\x96\\x86\\xc5\\x01\\xd2\\x3c\\x99\\x27\\xf5\\x5f\\x20\\xfb\\x7b\\x11\\x59\\x4c\\x96\\x90\\xa5\\xe4\\x40\\x72\\x10\\x39\\x98\\x1c\\x42\\x96\\x91\\xe5\\x24\\x42\\xdd\\xb7\\xa5\\x1e\\x4b\\x8e\\x23\\x0f\\x90\\x73\\xc8\\x56\\x72\\x3c\\x39\\x95\\x9c\\x4c\\x2e\\x26\\xd7\\x91\\x2b\\x29\\x27\\x1b\\xa9\\x20\\xc7\\x90\\x3f\\x93\\xef\\xc8\\xf7\\xe4\\x4f\\xd2\\x1f\\x38\\x91\\xaa\\xe4\\x1d\\xf2\\x2d\\xb9\\x84\\x5c\\x4f\\x7e\\x20\\xdb\\xc8\\x8f\\xe4\\x0a\\x72\\x23\\x79\\x9a\\x3c\\x29\\x7d\\x9d\\x0a\\xd9\\xe7\\xa7\\xcb\\x39\\xf1\\x37\\x39\\xae\\x4f\\x91\\x67\\xc8\\xf3\\x64\\x0b\\x79\\x96\\x3c\\x47\\xfe\\x29\\xd7\\xa8\\x97\\xc9\\x0b\\xe4\\x45\\x72\\xb3\\xec\\xfb\\x6f\\xc8\\x19\\xe4\\x55\\xf2\\x0a\\xf9\\xbb\\x1c\\xb1\\xcf\\xc9\\x97\\xe4\\x24\\x69\\xa0\\xc4\\xe4\\xda\\xea\\x4e\\xcb\\x06\\x72\\x99\\x1c\\xa1\\x55\\x1e\\xbb\\x24\\xe4\\x0c\\x4b\\xba\\xcf\\x5b\\x90\\xcf\\xc8\\x5a\\x69\\xdf\\xaf\\x23\\x87\\x92\\xc3\\xc9\\x61\\xe4\\x1e\\x72\\x39\\x39\\x92\\x1c\\x41\\x36\\x90\\xa3\\xc8\\x17\\xe4\\x2b\\x72\\x1f\\xd5\\xa8\\x4e\\x43\\x34\\x85\\xa6\\xd2\\x34\\xf2\\x1b\\x69\\xa1\\xe9\\xd4\\x7d\\x46\\x20\\x93\\xec\\xa0\\x84\\x66\\xd1\\x9e\\xb4\\x17\\xa5\\x34\\x9b\\xf6\\xa6\\x7d\\x68\\x5f\\xda\\x8f\\xf6\\xa7\\x03\\xe8\\x40\\x3a\\x88\\x0e\\xa6\\x43\\xe8\\x50\\xf2\\x13\\xf9\\x99\\xe6\\xd0\\x61\\x74\\x38\\x1d\\x41\\xf7\\xa0\\x23\\xe9\\x28\\xba\\x27\\x1d\\x4d\\xf7\\xa2\\x7b\\xd3\\x7d\\xe8\\x18\\x3a\\x96\\xe6\\xd2\\x71\\xe4\\x17\\xf2\\x1a\\xcd\\xa3\\xf9\\xd4\\xa0\\x26\\xb5\\x68\\x98\\x16\\xd0\\x42\\x5a\\x44\\x8b\\xe9\\x78\\xba\\x2f\\x9d\\x40\\x27\\xd2\\x49\\xe4\\x03\\xf2\\x21\\x9d\\x4c\\xa7\\xd0\\x12\\x5a\\x4a\\xcb\\x68\\x39\\xb5\\xa9\\x43\\xf7\\xa3\\x53\\xe9\\x34\\x3a\\x9d\\xee\\x4f\\x67\\xd0\\x99\\xe4\\x16\\x72\\x2b\\x9d\\x45\\x67\\xd3\\x39\\xf4\\x00\\x3a\\x97\\xce\\xa3\\xf3\\xe9\\x02\\xba\\x90\\x2e\\x22\\xbf\\x92\\xed\\xe4\\x23\\xf2\\x31\\x5d\\x4c\\x97\\xd0\\xa5\\xf4\\x40\\x7a\\x10\\x3d\\x98\\x1e\\x42\\x97\\xd1\\xe5\\x34\\x42\\x2b\\x68\\x25\\xad\\xa2\\x51\\x5a\\x4d\\x6b\\x68\\x2d\\x8d\\xd1\\x15\\x74\\x25\\xad\\xa3\\xf5\\xe4\\x7e\\xda\\x40\\xe3\\xb4\\x91\\xae\\x22\\x9f\\x90\\x4f\\x69\\x13\\x4d\\xd0\\x24\\x6d\\xa6\\xab\\xe9\\x1a\\xba\\x96\\xae\\xa3\\xeb\\xe9\\xa1\\xf4\\x30\\x7a\\x38\\x3d\\x82\\x1e\\x49\\x37\\xd0\\xa3\\xe8\\xd1\\xf4\\x18\\x7a\\x2c\\xb9\\x9a\\x1e\\x47\\x8f\\xa7\\x27\\xd0\\x13\\xe9\\x49\\x74\\x23\\x3d\\x99\\x9e\\x42\\xff\\x44\\x4f\\xa5\\xa7\\xd1\\xd3\\xe9\\x19\\xf4\\x4c\\xfa\\x67\\x7a\\x16\\x3d\\x9b\\x9e\\x43\\xcf\\xa5\\xe7\\xd1\\xf3\\xe9\\x05\\xf4\\x42\\x7a\\x11\\xbd\\x98\\x5e\\x42\\x2f\\xa5\\x97\\xd1\\xcb\\xe9\\x15\\xf4\\x2f\\xf4\\x4a\\x7a\\x15\\xbd\\x9a\\x5e\\x43\\xaf\\xa5\\xd7\\xd1\\xeb\\xe9\\x5f\\xe9\\x0d\\xf4\\x46\\x7a\\x13\\xbd\\x99\\xde\\x42\\x6f\\xa5\\xb7\\xd1\\xdb\\xe9\\x1d\\xf4\\x4e\\x7a\\x17\\xbd\\x9b\\xde\\x43\\xef\\xa5\\xf7\\xd1\\xfb\\xe9\\x26\\xfa\\x00\\x7d\\x90\\x3e\\x44\\x37\\xd3\\x87\\xe9\\x23\\xf4\\x51\\xfa\\x18\\x7d\\x9c\\x3e\\x41\\x9f\\xa4\\x4f\\xd1\\xa7\\xe9\\x33\\xf4\\x6f\\x74\\x0b\\x7d\\x96\\x3e\\x47\\x9f\\xa7\\x2f\\xd0\\x17\\xe9\\x4b\\xf4\\x65\\xfa\\x0a\\xfd\\x3b\\x7d\\x95\\xbe\\x46\\x5f\\xa7\\x6f\\xd0\\x37\\xe9\\x5b\\xf4\\x6d\\xfa\\x0f\\xfa\\x0e\\x7d\\x97\\xbe\\x47\\xdf\\xa7\\x1f\\xd0\\x0f\\xe9\\x47\\xf4\\x63\\xfa\\x09\\xfd\\x94\\x6e\\xa5\\xff\\xa4\\x9f\\xd1\\xcf\\xe9\\x17\\xf4\\x4b\\xfa\\x15\\xfd\\x9a\\x7e\\x43\\xbf\\xa5\\xdf\\xd1\\xef\\xe9\\x36\\xfa\\x03\\xfd\\x91\\xfe\\x8b\\xfe\\x44\\x7f\\xa6\\xbf\\xd0\\x5f\\xe9\\x76\\xfa\\x1b\\x6d\\xa1\\x3b\\x18\\x61\\x94\\x31\\xc6\\x99\\x60\\x0a\\x53\\x99\\xc6\\x74\\x16\\x62\\x29\\x2c\\x95\\xa5\\xb1\\x74\\x96\\xc1\\x7a\\xb0\\x4c\\x96\\xc5\\x7a\\xb2\\x5e\\x2c\\x9b\\xf5\\x66\\x7d\\x58\\x5f\\xd6\\x8f\\xf5\\x67\\x03\\xd8\\x40\\x36\\x88\\x0d\\x66\\x43\\xd8\\x50\\x96\\xc3\\x86\\xb1\\xe1\\x6c\\x04\\xdb\\x83\\x8d\\x64\\xa3\\xd8\\x9e\\x6c\\x34\\xdb\\x8b\\xed\\xcd\\xf6\\x61\\x63\\xd8\\x58\\x96\\xcb\\xc6\\xb1\\x3c\\x96\\xcf\\x0c\\x66\\x32\\x8b\\x85\\x59\\x01\\x2b\\x64\\x45\\xac\\x98\\x8d\\x67\\xfb\\xb2\\x09\\x6c\\x22\\x9b\\xc4\\x26\\xb3\\x29\\xac\\x84\\x95\\xb2\\x32\\x56\\xce\\x6c\\xe6\\xb0\\xfd\\xd8\\x54\\x36\\x8d\\x4d\\x67\\xfb\\xb3\\x19\\x6c\\x26\\x9b\\xc5\\x66\\xb3\\x39\\xec\\x00\\x36\\x97\\xcd\\x63\\xf3\\xd9\\x02\\xb6\\x90\\x2d\\x62\\x8b\\xd9\\x12\\xb6\\x94\\x1d\\xc8\\x0e\\x62\\x07\\xb3\\x43\\xd8\\x32\\xb6\\x9c\\x45\\x58\\x05\\xab\\x64\\x55\\x2c\\xca\\xaa\\x59\\x0d\\xab\\x65\\x31\\xb6\\x82\\xad\\x64\\x75\\xac\\xde\\x7d\\x97\\x0f\\x6b\\x64\\xab\\x58\\x13\\x4b\\xb0\\x24\\x6b\\x66\\xab\\xd9\\x1a\\xb6\\x96\\xad\\x63\\xeb\\xd9\\xa1\\xec\\x30\\x76\\x38\\x3b\\x82\\x1d\\xc9\\x36\\xb0\\xa3\\xd8\\xd1\\xec\\x18\\x76\\x2c\\x3b\\x8e\\x1d\\xcf\\x4e\\x60\\x27\\xb2\\x93\\xd8\\x46\\x76\\x32\\x3b\\x85\\xfd\\x89\\x9d\\xca\\x4e\\x63\\xa7\\xb3\\x33\\xd8\\x99\\xec\\xcf\\xec\\x2c\\x76\\x36\\x3b\\x87\\x9d\\xcb\\xce\\x63\\xe7\\xb3\\x0b\\xd8\\x85\\xec\\x22\\x76\\x31\\xbb\\x84\\x5d\\xca\\x2e\\x63\\x97\\xb3\\x2b\\xd8\\x5f\\xd8\\x95\\xec\\x2a\\x76\\x35\\xbb\\x86\\x5d\\xcb\\xae\\x63\\xd7\\xb3\\xbf\\xb2\\x1b\\xd8\\x8d\\xec\\x26\\x76\\x33\\xbb\\x85\\xdd\\xca\\x6e\\x63\\xb7\\xb3\\x3b\\xd8\\x9d\\xec\\x2e\\xf2\\x3a\\x79\\x9f\\xdd\\x4d\\xde\\x64\\xf7\\xb0\\x7b\\xd9\\x7d\\xec\\x7e\\xb6\\x89\\x3d\\xc0\\x1e\\x64\\x0f\\xb1\\xcd\\xec\\x61\\xf6\\x08\\x7b\\x94\\x3d\\xc6\\x1e\\x27\\x6f\\x91\\xb7\\xc9\\x3f\\xc8\\x7b\\xe4\\x0d\\xf2\\x2e\\x7b\\x82\\x3d\\xc9\\x9e\\x62\\x4f\\xb3\\x67\\xd8\\xdf\\xd8\\x16\\xf6\\x2c\\x7b\\x8e\\x3d\\xcf\\x5e\\x60\\x2f\\xb2\\x97\\xd8\\xcb\\xec\\x15\\xf6\\x77\\xf6\\x2a\\x7b\\x8d\\xbd\\xce\\xde\\x60\\x6f\\xb2\\xb7\\xd8\\xdb\\xec\\x1f\\xec\\x1d\\xf6\\x2e\\x7b\\x8f\\xbd\\xcf\\x3e\\x60\\x1f\\xb2\\x8f\\xd8\\xc7\\xec\\x13\\xf6\\x29\\xdb\\xca\\xfe\\xc9\\x3e\\x63\\x9f\\xb3\\x2f\\xd8\\x97\\xec\\x2b\\xf6\\x35\\xfb\\x86\\x7d\\xcb\\xbe\\x63\\xdf\\xb3\\x6d\\xec\\x07\\xf6\\x23\\xfb\\x17\\xfb\\x89\\xfd\\xcc\\x7e\\x61\\xbf\\xb2\\xed\\xec\\x37\\xd6\\xc2\\x76\\x70\\xc2\\x29\\x67\\x9c\\x73\\xc1\\x15\\xae\\x72\\xf7\\xbd\\xd3\\x21\\x9e\\xc2\\x53\\x79\\x1a\\x4f\\xe7\\x19\\xbc\\x07\\xcf\\xe4\\x59\\xbc\\x27\\xef\\xc5\\xb3\\x79\\x6f\\xde\\x87\\xf7\\xe5\\xfd\\x78\\x7f\\x3e\\x80\\x0f\\xe4\\x83\\xf8\\x60\\x3e\\x84\\x0f\\xe5\\x39\\x7c\\x18\\x1f\\xce\\x47\\xf0\\x3d\\xf8\\x48\\x3e\\x8a\\xef\\xc9\\x47\\xf3\\xbd\\xf8\\xde\\x7c\\x1f\\x3e\\x86\\x8f\\xe5\\xb9\\x7c\\x1c\\xcf\\xe3\\xf9\\xdc\\xe0\\x26\\xb7\\x78\\x98\\x17\\xf0\\x42\\x5e\\xc4\\x8b\\xf9\\x78\\xbe\\x2f\\x9f\\xc0\\x27\\xf2\\x49\\x7c\\x32\\x9f\\xc2\\x4b\\x78\\x29\\x2f\\xe3\\xe5\\xdc\\xe6\\x0e\\xdf\\x8f\\x4f\\xe5\\xd3\\xf8\\x74\\xbe\\x3f\\x9f\\xc1\\x67\\xf2\\x59\\x7c\\x36\\x9f\\xc3\\x0f\\xe0\\x73\\xf9\\x3c\\x3e\\x9f\\x2f\\xe0\\x0b\\xf9\\x22\\xbe\\x98\\x2f\\xe1\\x4b\\xf9\\x81\\xfc\\x20\\x7e\\x30\\x3f\\x84\\x2f\\xe3\\xcb\\x79\\x84\\x57\\xf0\\x4a\\x5e\\xc5\\xa3\\xbc\\x9a\\xd7\\xf0\\x5a\\x1e\\xe3\\x2b\\xf8\\x4a\\x5e\\x47\\xae\\xe5\\xf5\\xbc\\x81\\xc7\\x79\\x23\\x5f\\xc5\\x9b\\x78\\x82\\x27\\x79\\x33\\x5f\\xcd\\xd7\\xf0\\xb5\\x7c\\x1d\\x5f\\xcf\\x0f\\xe5\\x87\\xf1\\xc3\\xf9\\x11\\xfc\\x48\\x72\\x29\\xdf\\xc0\\x8f\\xe2\\x47\\xf3\\x63\\xf8\\xb1\\xfc\\x38\\x7e\\x3c\\x3f\\x81\\x9f\\xc8\\x4f\\xe2\\x1b\\xf9\\xc9\\xfc\\x14\\xfe\\x27\\x7e\\x2a\\x3f\\x8d\\x9f\\xce\\xcf\\x20\\xe7\\xf2\\x33\\xf9\\x9f\\xf9\\x59\\xe4\\x42\\x7e\\x36\\x3f\\x87\\x9f\\xcb\\xcf\\xe3\\xe7\\xf3\\x0b\\xf8\\x85\\xfc\\x22\\x7e\\x31\\xbf\\x84\\x5f\\xca\\x2f\\xe3\\x97\\xf3\\x2b\\xf8\\x5f\\xf8\\x95\\xfc\\x2a\\x7e\\x35\\xbf\\x86\\x5f\\xcb\\xaf\\xe3\\xd7\\xf3\\xbf\\xf2\\x1b\\xf8\\x8d\\xfc\\x26\\x7e\\x33\\xbf\\x85\\xdf\\xca\\x6f\\xe3\\xb7\\xf3\\x3b\\xf8\\x9d\\xfc\\x2e\\x7e\\x37\\xbf\\x87\\xdf\\xcb\\xef\\xe3\\xf7\\xf3\\x4d\\xfc\\x01\\xfe\\x20\\x7f\\x88\\x6f\\xe6\\x0f\\xf3\\x47\\xf8\\xa3\\xfc\\x31\\xfe\\x38\\x7f\\x82\\x3f\\xc9\\x9f\\xe2\\x4f\\xf3\\x67\\xf8\\xdf\\xf8\\x16\\xfe\\x2c\\x7f\\x8e\\x3f\\xcf\\x5f\\xe0\\x2f\\xf2\\x97\\xf8\\xcb\\xfc\\x15\\xfe\\x77\\xfe\\x2a\\x7f\\x8d\\xbf\\xce\\xdf\\xe0\\x6f\\xf2\\xb7\\xf8\\xdb\\xfc\\x1f\\xfc\\x1d\\xfe\\x2e\\x7f\\x8f\\xbf\\xcf\\x3f\\xe0\\x1f\\xf2\\x8f\\xf8\\xc7\\xfc\\x13\\xfe\\x29\\xdf\\xca\\xff\\xc9\\x3f\\xe3\\x9f\\xf3\\x2f\\xf8\\x97\\xfc\\x2b\\xfe\\x35\\xff\\x86\\x7f\\xcb\\xbf\\xe3\\xdf\\xf3\\x6d\\xfc\\x07\\xfe\\x23\\xff\\x17\\xff\\x89\\xff\\xcc\\x7f\\xe1\\xbf\\xf2\\xed\\xfc\\x37\\xde\\xc2\\x77\\x08\\x22\\xa8\\x60\\x82\\x0b\\x21\\x14\\xa1\\x0a\\x4d\\xe8\\x22\\x24\\x52\\x44\\xaa\\x48\\x13\\xe9\\x22\\x43\\xf4\\x10\\x99\\x22\\x4b\\xf4\\x14\\xbd\\x44\\xb6\\xe8\\x2d\\xfa\\x88\\xbe\\xa2\\x9f\\xe8\\x2f\\x06\\x88\\x81\\x62\\x90\\x18\\x2c\\x86\\x88\\xa1\\x22\\x47\\x0c\\x13\\xc3\\xc5\\x08\\xb1\\x87\\x18\\x29\\x46\\x89\\x3d\\xc5\\x68\\xb1\\x97\\xd8\\x5b\\xec\\x23\\xc6\\x88\\xb1\\x22\\x57\\x8c\\x13\\x79\\x22\\x5f\\x18\\xc2\\x14\\x96\\x08\\x8b\\x02\\x51\\x28\\x8a\\x44\\xb1\\x18\\x2f\\xf6\\x15\\x13\\xc4\\x44\\x31\\x49\\x4c\\x16\\x53\\x44\\x89\\x28\\x15\\x65\\xa2\\x5c\\xd8\\xc2\\x11\\xfb\\x89\\xa9\\x62\\x9a\\x98\\x2e\\xf6\\x17\\x33\\xc4\\x4c\\x31\\x4b\\xcc\\x16\\x73\\xc4\\x01\\x62\\xae\\x98\\x27\\xe6\\x8b\\x05\\x62\\xa1\\x58\\x24\\x16\\x8b\\x25\\x62\\xa9\\x38\\x50\\x1c\\x24\\x0e\\x16\\x87\\x88\\x65\\x62\\xb9\\x88\\x88\\x0a\\x51\\x29\\xaa\\x44\\x54\\x54\\x8b\\x1a\\x51\\x2b\\x62\\x62\\x85\\x58\\x29\\xea\\x44\\xbd\\x68\\x10\\x71\\xd1\\x28\\x56\\x89\\x26\\x91\\x10\\x49\\xd1\\x2c\\x56\\x8b\\x35\\x62\\xad\\x58\\x27\\xd6\\x8b\\x43\\xc5\\x61\\xe2\\x70\\x71\\x84\\x38\\x52\\x6c\\x10\\x47\\x89\\xa3\\xc5\\x31\\xe2\\x58\\x71\\x9c\\x38\\x5e\\x9c\\x20\\x4e\\x14\\x27\\x89\\x8d\\xe2\\x64\\x71\\x8a\\xf8\\x93\\x38\\x55\\x9c\\x26\\x4e\\x17\\x67\\x88\\x33\\xc5\\x9f\\xc5\\x59\\xe2\\x6c\\x71\\x8e\\x38\\x57\\x9c\\x27\\xce\\x17\\x17\\x88\\x0b\\xc5\\x45\\xe2\\x62\\x71\\x89\\xb8\\x54\\x5c\\x26\\x2e\\x17\\x57\\x88\\xbf\\x88\\x2b\\xc5\\x55\\xe2\\x6a\\x71\\x8d\\xb8\\x56\\x5c\\x27\\xae\\x17\\x7f\\x15\\x37\\x88\\x1b\\xc5\\x4d\\xe2\\x66\\x71\\x8b\\xb8\\x55\\xdc\\x26\\x6e\\x17\\x77\\x88\\x3b\\xc5\\x5d\\xe2\\x6e\\x71\\x8f\\xb8\\x57\\xdc\\x27\\xee\\x17\\x9b\\xc4\\x03\\xe2\\x41\\xf1\\x90\\xd8\\x2c\\x1e\\x16\\x8f\\x88\\x47\\xc5\\x63\\xe2\\x71\\xf1\\x84\\x78\\x52\\x3c\\x25\\x9e\\x16\\xcf\\x88\\xbf\\x89\\x2d\\xe2\\x59\\xf1\\x9c\\x78\\x5e\\xbc\\x20\\x5e\\x14\\x2f\\x89\\x97\\xc5\\x2b\\xe2\\xef\\xe2\\x55\\xf1\\x9a\\x78\\x5d\\xbc\\x21\\xde\\x14\\x6f\\x89\\xb7\\xc5\\x3f\\xc4\\x3b\\xe2\\x5d\\xf1\\x9e\\x78\\x5f\\x7c\\x20\\x3e\\x14\\x1f\\x89\\x8f\\xc5\\x27\\xe2\\x53\\xb1\\x55\\xfc\\x53\\x7c\\x26\\x3e\\x17\\x5f\\x88\\x2f\\xc5\\x57\\xe2\\x6b\\xf1\\x8d\\xf8\\x56\\x7c\\x27\\xbe\\x17\\xdb\\xc4\\x0f\\xe2\\x47\\xf1\\x2f\\xf1\\x93\\xf8\\x59\\xfc\\x22\\x7e\\x15\\xdb\\xc5\\x6f\\xa2\\x45\\xec\\x50\\x88\\x42\\x15\\xa6\\x70\\x45\\x28\\x8a\\xa2\\x2a\\x9a\\xa2\\x2b\\x21\\x25\\x45\\x49\\x55\\xd2\\x94\\x74\\x25\\x43\\xe9\\xa1\\x64\\x2a\\x59\\x4a\\x4f\\xa5\\x97\\x92\\xad\\xf4\\x56\\xfa\\x28\\x7d\\x95\\x7e\\x4a\\x7f\\x65\\x80\\x32\\x50\\x19\\xa4\\x0c\\x56\\x86\\x28\\x43\\x95\\x1c\\x65\\x98\\x32\\x5c\\x19\\xa1\\xec\\xa1\\x8c\\x54\\x46\\x29\\x7b\\x2a\\xa3\\x95\\xbd\\x94\\xbd\\x95\\x7d\\x94\\x31\\xca\\x58\\x25\\x57\\x19\\xa7\\xe4\\x29\\xf9\\x8a\\xa1\\x98\\x8a\\xa5\\x84\\x95\\x02\\xa5\\x50\\x29\\x52\\x8a\\x95\\xf1\\xca\\xbe\\xca\\x04\\x65\\xa2\\x32\\x49\\x99\\xac\\x4c\\x51\\x4a\\x94\\x52\\xa5\\x4c\\x29\\x57\\x6c\\xc5\\x51\\xf6\\x53\\xa6\\x2a\\xd3\\x94\\xe9\\xca\\xfe\\xca\\x0c\\x65\\xa6\\x32\\x4b\\x99\\xad\\xcc\\x51\\x0e\\x50\\xe6\\x2a\\xf3\\x94\\xf9\\xca\\x02\\x65\\xa1\\xb2\\x48\\x59\\xac\\x2c\\x51\\x96\\x2a\\x07\\x2a\\x07\\x29\\x07\\x2b\\x87\\x28\\xcb\\x94\\xe5\\x4a\\x44\\xa9\\x50\\x2a\\x95\\x2a\\x25\\xaa\\x54\\x2b\\x35\\x4a\\xad\\x12\\x53\\x56\\x28\\x2b\\x95\\x3a\\xa5\\x5e\\x69\\x50\\xe2\\x4a\\xa3\\xb2\\x4a\\x69\\x52\\x12\\x4a\\x52\\x69\\x56\\x56\\x2b\\x6b\\x94\\xb5\\xca\\x3a\\x65\\xbd\\x72\\xa8\\x72\\x98\\x72\\xb8\\x72\\x84\\x72\\xa4\\xb2\\x41\\x39\\x4a\\x39\\x5a\\x39\\x46\\x39\\x56\\x39\\x4e\\x39\\x5e\\x39\\x41\\x39\\x51\\x39\\x49\\xd9\\xa8\\x9c\\xac\\x9c\\xa2\\xfc\\x49\\x39\\x55\\x39\\x4d\\x39\\x5d\\x39\\x43\\x39\\x53\\xf9\\xb3\\x72\\x96\\x72\\xb6\\x72\\x8e\\x72\\xae\\x72\\x9e\\x72\\xbe\\x72\\x81\\x72\\xa1\\x72\\x91\\x72\\xb1\\x72\\x89\\x72\\xa9\\x72\\x99\\x72\\xb9\\x72\\x85\\xf2\\x17\\xe5\\x4a\\xe5\\x2a\\xe5\\x6a\\xe5\\x1a\\xe5\\x5a\\xe5\\x3a\\xe5\\x7a\\xe5\\xaf\\xca\\x0d\\xca\\x8d\\xca\\x4d\\xca\\xcd\\xca\\x2d\\xca\\xad\\xca\\x6d\\xca\\xed\\xca\\x1d\\xca\\x9d\\xca\\x5d\\xca\\xdd\\xca\\x3d\\xca\\xbd\\xca\\x7d\\xca\\xfd\\xca\\x26\\xe5\\x01\\xe5\\x41\\xe5\\x21\\x65\\xb3\\xf2\\xb0\\xf2\\x88\\xf2\\xa8\\xf2\\x98\\xf2\\xb8\\xf2\\x84\\xf2\\xa4\\xf2\\x94\\xf2\\xb4\\xf2\\x8c\\xf2\\x37\\x65\\x8b\\xf2\\xac\\xf2\\x9c\\xf2\\xbc\\xf2\\x82\\xf2\\xa2\\xf2\\x92\\xf2\\xb2\\xf2\\x8a\\xf2\\x77\\xe5\\x55\\xe5\\x35\\xe5\\x75\\xe5\\x0d\\xe5\\x4d\\xe5\\x2d\\xe5\\x6d\\xe5\\x1f\\xca\\x3b\\xca\\xbb\\xca\\x7b\\xca\\xfb\\xca\\x07\\xca\\x87\\xca\\x47\\xca\\xc7\\xca\\x27\\xca\\xa7\\xca\\x56\\xe5\\x9f\\xca\\x67\\xca\\xe7\\xca\\x17\\xca\\x97\\xca\\x57\\xca\\xd7\\xca\\x37\\xca\\xb7\\xca\\x77\\xca\\xf7\\xca\\x36\\xe5\\x07\\xe5\\x47\\xe5\\x5f\\xca\\x4f\\xca\\xcf\\xca\\x2f\\xca\\xaf\\xca\\x76\\xe5\\x37\\xa5\\x45\\xd9\\xa1\\x12\\x95\\xaa\\x4c\\xe5\\xaa\\x50\\x15\\x55\\x55\\x35\\x55\\x57\\x43\\x6a\\x8a\\xfb\\x3d\\x68\\x35\\x5d\\xcd\\x50\\x7b\\xa8\\x99\\x6a\\x96\\xda\\x53\\xed\\xa5\\x66\\xab\\xbd\\xd5\\x3e\\x6a\\x5f\\xb5\\x9f\\xda\\x5f\\x1d\\xa0\\x0e\\x54\\x07\\xa9\\x83\\xd5\\x21\\xea\\x50\\x35\\x47\\x1d\\xa6\\x0e\\x57\\x47\\xa8\\x7b\\xa8\\x23\\xd5\\x51\\xea\\x9e\\xea\\x68\\x75\\x2f\\x75\\x6f\\x75\\x1f\\x75\\x8c\\x3a\\x56\\xcd\\x55\\xc7\\xa9\\x79\\x6a\\xbe\\x6a\\xa8\\xa6\\x6a\\xa9\\x61\\xb5\\x40\\x2d\\x54\\x8b\\xd4\\x62\\x75\\xbc\\xba\\xaf\\x3a\\x41\\x9d\\xa8\\x4e\\x52\\x27\\xab\\x53\\xd4\\x12\\xb5\\x54\\x2d\\x53\\xcb\\x55\\x5b\\x75\\xd4\\xfd\\xd4\\xa9\\xea\\x34\\x75\\xba\\xba\\xbf\\x3a\\x43\\x9d\\xa9\\xce\\x52\\x67\\xab\\x73\\xd4\\x03\\xd4\\xb9\\xea\\x3c\\x75\\xbe\\xba\\x40\\x5d\\xa8\\x2e\\x52\\x17\\xab\\x4b\\xd4\\xa5\\xea\\x81\\xea\\x41\\xea\\xc1\\xea\\x21\\xea\\x32\\x75\\xb9\\x1a\\x51\\x2b\\xd4\\x4a\\xb5\\x4a\\x8d\\xaa\\xd5\\x6a\\x8d\\x5a\\xab\\xc6\\xd4\\x15\\xea\\x4a\\xb5\\x4e\\xad\\x57\\x1b\\xd4\\xb8\\xda\\xa8\\xae\\x52\\x9b\\xd4\\x84\\x9a\\x54\\x9b\\xd5\\xd5\\xea\\x1a\\x75\\xad\\xba\\x4e\\x5d\\xaf\\x1e\\xaa\\x1e\\xa6\\x1e\\xae\\x1e\\xa1\\x1e\\xa9\\x6e\\x50\\x8f\\x52\\x8f\\x56\\x8f\\x51\\x8f\\x55\\x8f\\x53\\x8f\\x57\\x4f\\x50\\x4f\\x54\\x4f\\x52\\x37\\xaa\\x27\\xab\\xa7\\xa8\\x7f\\x52\\x4f\\x55\\x4f\\x53\\x4f\\x57\\xcf\\x50\\xcf\\x54\\xff\\xac\\x9e\\xa5\\x9e\\xad\\x9e\\xa3\\x9e\\xab\\x9e\\xa7\\x9e\\xaf\\x5e\\xa0\\x5e\\xa8\\x5e\\xa4\\x5e\\xac\\x5e\\xa2\\x5e\\xaa\\x5e\\xa6\\x5e\\xae\\x5e\\xa1\\xfe\\x45\\xbd\\x52\\xbd\\x4a\\xbd\\x5a\\xbd\\x46\\xbd\\x56\\xbd\\x4e\\xbd\\x5e\\xfd\\xab\\x7a\\x83\\x7a\\xa3\\x7a\\x93\\x7a\\xb3\\x7a\\x8b\\x7a\\xab\\x7a\\x9b\\x7a\\xbb\\x7a\\x87\\x7a\\xa7\\x7a\\x97\\x7a\\xb7\\x7a\\x8f\\x7a\\xaf\\x7a\\x9f\\x7a\\xbf\\xba\\x49\\x7d\\x40\\x7d\\x50\\x7d\\x48\\xdd\\xac\\x3e\\xac\\x3e\\xa2\\x3e\\xaa\\x3e\\xa6\\x3e\\xae\\x3e\\xa1\\x3e\\xa9\\x3e\\xa5\\x3e\\xad\\x3e\\xa3\\xfe\\x4d\\xdd\\xa2\\x3e\\xab\\x3e\\xa7\\x3e\\xaf\\xbe\\xa0\\xbe\\xa8\\xbe\\xa4\\xbe\\xac\\xbe\\xa2\\xfe\\x5d\\x7d\\x55\\x7d\\x4d\\x7d\\x5d\\x7d\\x43\\x7d\\x53\\x7d\\x4b\\x7d\\x5b\\xfd\\x87\\xfa\\x8e\\xfa\\xae\\xfa\\x9e\\xfa\\xbe\\xfa\\x81\\xfa\\xa1\\xfa\\x91\\xfa\\xb1\\xfa\\x89\\xfa\\xa9\\xba\\x55\\xfd\\xa7\\xfa\\x99\\xfa\\xb9\\xfa\\x85\\xfa\\xa5\\xfa\\x95\\xfa\\xb5\\xfa\\x8d\\xfa\\xad\\xfa\\x9d\\xfa\\xbd\\xba\\x4d\\xfd\\x41\\xfd\\x51\\xfd\\x97\\xfa\\x93\\xfa\\xb3\\xfa\\x8b\\xfa\\xab\\xba\\x5d\\xfd\\x4d\\x6d\\x51\\x77\\x68\\x44\\xa3\\x1a\\xd3\\xb8\\x26\\x34\\x45\\x53\\x35\\x4d\\xd3\\xb5\\x90\\x96\\xa2\\xa5\\x6a\\x69\\x5a\\xba\\x96\\xa1\\xf5\\xd0\\x32\\xb5\\x2c\\xad\\xa7\\xd6\\x4b\\xcb\\xd6\\x7a\\x6b\\x7d\\xb4\\xbe\\x5a\\x3f\\xad\\xbf\\x36\\x40\\x1b\\xa8\\x0d\\xd2\\x06\\x6b\\x43\\xb4\\xa1\\x5a\\x8e\\x36\\x4c\\x1b\\xae\\x8d\\xd0\\xf6\\xd0\\x46\\x6a\\xa3\\xb4\\x3d\\xb5\\xd1\\xda\\x5e\\xda\\xde\\xda\\x3e\\xda\\x18\\x6d\\xac\\x96\\xab\\x8d\\xd3\\xf2\\xb4\\x7c\\xcd\\xd0\\x4c\\xcd\\xd2\\xc2\\x5a\\x81\\x56\\xa8\\x15\\x69\\xc5\\xda\\x78\\x6d\\x5f\\x6d\\x82\\x36\\x51\\x9b\\xa4\\x4d\\xd6\\xa6\\x68\\x25\\x5a\\xa9\\x56\\xa6\\x95\\x6b\\xb6\\xe6\\x68\\xfb\\x69\\x53\\xb5\\x69\\xda\\x74\\x6d\\x7f\\x6d\\x86\\x36\\x53\\x9b\\xa5\\xcd\\xd6\\xe6\\x68\\x07\\x68\\x73\\xb5\\x79\\xda\\x7c\\x6d\\x81\\xb6\\x50\\x5b\\xa4\\x2d\\xd6\\x96\\x68\\x4b\\xb5\\x03\\xb5\\x83\\xb4\\x83\\xb5\\x43\\xb4\\x65\\xda\\x72\\x2d\\xa2\\x55\\x68\\x95\\x5a\\x95\\x16\\xd5\\xaa\\xb5\\x1a\\xad\\x56\\x8b\\x69\\x2b\\xb4\\x95\\x5a\\x9d\\x56\\xaf\\x35\\x68\\x71\\xad\\x51\\x5b\\xa5\\x35\\x69\\x09\\x2d\\xa9\\x35\\x6b\\xab\\xb5\\x35\\xda\\x5a\\x6d\\x9d\\xb6\\x5e\\x3b\\x54\\x3b\\x4c\\x3b\\x5c\\x3b\\x42\\x3b\\x52\\xdb\\xa0\\x1d\\xa5\\x1d\\xad\\x1d\\xa3\\x1d\\xab\\x1d\\xa7\\x1d\\xaf\\x9d\\xa0\\x9d\\xa8\\x9d\\xa4\\x6d\\xd4\\x4e\\xd6\\x4e\\xd1\\xfe\\xa4\\x9d\\xaa\\x9d\\xa6\\x9d\\xae\\x9d\\xa1\\x9d\\xa9\\xfd\\x59\\x3b\\x4b\\x3b\\x5b\\x3b\\x47\\x3b\\x57\\x3b\\x4f\\x3b\\x5f\\xbb\\x40\\xbb\\x50\\xbb\\x48\\xbb\\x58\\xbb\\x44\\xbb\\x54\\xbb\\x4c\\xbb\\x5c\\xbb\\x42\\xfb\\x8b\\x76\\xa5\\x76\\x95\\x76\\xb5\\x76\\x8d\\x76\\xad\\x76\\x9d\\x76\\xbd\\xf6\\x57\\xed\\x06\\xed\\x46\\xed\\x26\\xed\\x66\\xed\\x16\\xed\\x56\\xed\\x36\\xed\\x76\\xed\\x0e\\xed\\x4e\\xed\\x2e\\xed\\x6e\\xed\\x1e\\xed\\x5e\\xed\\x3e\\xed\\x7e\\x6d\\x93\\xf6\\x80\\xf6\\xa0\\xf6\\x90\\xb6\\x59\\x7b\\x58\\x7b\\x44\\x7b\\x54\\x7b\\x4c\\x7b\\x5c\\x7b\\x42\\x7b\\x52\\x7b\\x4a\\x7b\\x5a\\x7b\\x46\\xfb\\x9b\\xb6\\x45\\x7b\\x56\\x7b\\x4e\\x7b\\x5e\\x7b\\x41\\x7b\\x51\\x7b\\x49\\x7b\\x59\\x7b\\x45\\xfb\\xbb\\xf6\\xaa\\xf6\\x9a\\xf6\\xba\\xf6\\x86\\xf6\\xa6\\xf6\\x96\\xf6\\xb6\\xf6\\x0f\\xed\\x1d\\xed\\x5d\\xed\\x3d\\xed\\x7d\\xed\\x03\\xed\\x43\\xed\\x23\\xed\\x63\\xed\\x13\\xed\\x53\\x6d\\xab\\xf6\\x4f\\xed\\x33\\xed\\x73\\xed\\x0b\\xed\\x4b\\xed\\x2b\\xed\\x6b\\xed\\x1b\\xed\\x5b\\xed\\x3b\\xed\\x7b\\x72\\x1b\\xb9\\x5d\\xdb\\xa6\\xfd\\x40\\xee\\x22\\x77\\x93\\xc7\\xb4\\x1f\\xc9\\x1d\\xe4\\x4e\\xf2\\xb8\\xf6\\x2f\\x72\\x34\\x79\\x84\\x9c\\x40\\xfe\\xaa\\xfd\\xa4\\xfd\\xac\\xfd\\xa2\\xfd\\xaa\\x6d\\x27\\x4f\\x68\\xbf\\x69\\x2d\\x9a\\xfb\\xce\\x8c\\x87\\x74\\xa2\\x53\\xb2\\x49\\x67\\x3a\\xd7\\x85\\xae\\xe8\\xaa\\xae\\xe9\\xba\\x1e\\xd2\\x53\\xf4\\x54\\x3d\\x4d\\x4f\\xd7\\x33\\xf4\\x1e\\x7a\\xa6\\x9e\\x45\\xfe\\xa5\\xf7\\xd4\\x7b\\xe9\\xd9\\x7a\\x6f\\xbd\\x8f\\xde\\x57\\xef\\xa7\\xf7\\xd7\\x07\\xe8\\x03\\xf5\\x41\\xfa\\x60\\x7d\\x88\\x3e\\x54\\xcf\\xd1\\x87\\xe9\\xc3\\xf5\\x11\\xfa\\x1e\\xfa\\x48\\x7d\\x94\\xbe\\xa7\\x3e\\x9a\\x9c\\xa2\\xef\\xa5\\xef\\xad\\xef\\xa3\\x8f\\xd1\\xc7\\xea\\xb9\\xfa\\x38\\x3d\\x4f\\xcf\\xd7\\x0d\\xdd\\xd4\\x2d\\x3d\\xac\\x17\\xe8\\x85\\x7a\\x91\\x5e\\xac\\x8f\\x27\\xe7\\xe9\\xfb\\x92\\x0b\\xc8\\xf9\\xe4\\x6b\\x7d\\x02\\x79\\x94\\x5c\\x45\\xce\\xd4\\x27\\xea\\x93\\xc8\\x45\\xe4\\x1a\\x72\\x9a\\x3e\\x99\\x9c\\x45\\xce\\xd6\\xa7\\xe8\\x25\\x7a\\xa9\\x5e\\xa6\\x97\\xeb\\xb6\\xee\\xe8\\xfb\\xe9\\x53\\xf5\\x69\\xfa\\x74\\x7d\\x7f\\x7d\\x86\\x3e\\x53\\x9f\\xa5\\xcf\\xd6\\xe7\\xe8\\x07\\xe8\\x73\\xf5\\x79\\xfa\\x7c\\x7d\\x81\\xbe\\x50\\x5f\\xa4\\x2f\\xd6\\x97\\xe8\\x4b\\xf5\\x03\\xf5\\x83\\xf4\\x83\\xf5\\x43\\xf4\\x65\\xfa\\x72\\x3d\\xa2\\x57\\xe8\\x95\\x7a\\x95\\x1e\\xd5\\xab\\xf5\\x1a\\xbd\\x56\\x8f\\xe9\\x2b\\xf4\\x95\\x7a\\x9d\\x5e\\xaf\\x37\\xe8\\x71\\xbd\\x51\\x5f\\xa5\\x37\\xe9\\x09\\x3d\\xa9\\x37\\xeb\\xab\\xf5\\x35\\xfa\\x5a\\x7d\\x9d\\xbe\\x5e\\x3f\\x54\\x3f\\x8c\\xdc\\xab\\x1f\\xae\\x1f\\xa1\\x1f\\xa9\\x6f\\xd0\\x8f\\xd2\\x8f\\xd6\\x8f\\xd1\\x8f\\xd5\\x8f\\xd3\\x8f\\xd7\\x4f\\xd0\\x4f\\xd4\\x4f\\xd2\\x37\\xea\\x27\\xeb\\xa7\\xe8\\x7f\\xd2\\x4f\\xd5\\x4f\\xd3\\x4f\\xd7\\xcf\\xd0\\xcf\\xd4\\xff\\xac\\x9f\\xa5\\x9f\\xad\\x9f\\xa3\\x9f\\xab\\x9f\\xa7\\x9f\\xaf\\x5f\\xa0\\x5f\\xa8\\x5f\\xa4\\x5f\\xac\\x5f\\xa2\\x5f\\xaa\\x5f\\xa6\\x5f\\xae\\x5f\\xa1\\xff\\x45\\xbf\\x52\\xbf\\x4a\\xbf\\x5a\\xbf\\x46\\xbf\\x56\\xbf\\x4e\\xbf\\x5e\\xff\\xab\\x7e\\x83\\x7e\\xa3\\x7e\\x93\\x7e\\xb3\\x7e\\x8b\\x7e\\xab\\x7e\\x9b\\x7e\\xbb\\x7e\\x07\\xd9\\x4c\\x1e\\xd6\\xef\\xd4\\xef\\xd2\\xef\\xd6\\xef\\xd1\\xef\\xd5\\xef\\xd3\\xef\\xd7\\x37\\xe9\\x0f\\xe8\\x0f\\xea\\x0f\\xe9\\x9b\\xf5\\x87\\xf5\\x47\\xf4\\x47\\xf5\\xc7\\xf4\\xc7\\xf5\\x27\\xf4\\x27\\xf5\\xa7\\xf4\\xa7\\xf5\\x67\\xf4\\xbf\\xe9\\x5b\\xf4\\x67\\xf5\\xe7\\xf4\\xe7\\xf5\\x17\\xf4\\x17\\xf5\\x97\\xf4\\x97\\xf5\\x57\\xf4\\xbf\\xeb\\xaf\\xea\\xaf\\xe9\\xaf\\xeb\\x6f\\xe8\\x6f\\xea\\x6f\\xe9\\x6f\\xeb\\xff\\xd0\\xdf\\xd1\\xdf\\xd5\\xdf\\xd3\\xdf\\xd7\\x3f\\xd0\\x3f\\xd4\\x3f\\xd2\\x3f\\xd6\\x3f\\xd1\\x3f\\xd5\\xb7\\xea\\xff\\xd4\\x3f\\xd3\\x3f\\xd7\\xbf\\xd0\\xbf\\xd4\\xbf\\xd2\\xbf\\xd6\\xbf\\xd1\\xbf\\xd5\\xbf\\xd3\\xbf\\xd7\\xb7\\xe9\\x3f\\xe8\\x3f\\xea\\xff\\xd2\\x7f\\xd2\\x7f\\xd6\\x7f\\xd1\\x7f\\xd5\\xb7\\xeb\\xbf\\xe9\\x2d\\xfa\\x8e\\x10\\x09\\xd1\\x10\\x0b\\xf1\\x90\\x08\\x29\\x21\\x35\\xa4\\x85\\xf4\\x50\\x28\\x94\\x12\\x4a\\x0d\\xa5\\x85\\xd2\\x43\\x19\\xa1\\x1e\\xa1\\xcc\\x50\\x56\\xa8\\x67\\xa8\\x57\\x28\\x3b\\xd4\\x3b\\xd4\\x27\\xd4\\x37\\xd4\\x2f\\xd4\\x3f\\x34\\x20\\x34\\x30\\x34\\x28\\x34\\x38\\x34\\x24\\x34\\x34\\x94\\x13\\x1a\\x16\\x1a\\x1e\\x1a\\x11\\xda\\x23\\x34\\x32\\x34\\x2a\\xb4\\x67\\x68\\x74\\x68\\xaf\\xd0\\xde\\xa1\\x7d\\x42\\x63\\x42\\x63\\x43\\xb9\\xa1\\x71\\xa1\\xbc\\x50\\x7e\\xc8\\x08\\x99\\x21\\x2b\\x14\\x0e\\x15\\x84\\x0a\\x43\\x45\\xa1\\xe2\\xd0\\xf8\\xd0\\xbe\\xa1\\x09\\xa1\\x89\\xa1\\x49\\xa1\\xc9\\xa1\\x29\\xa1\\x92\\x50\\x69\\xa8\\x2c\\x54\\x1e\\xb2\\x43\\x4e\\x68\\xbf\\xd0\\xd4\\xd0\\xb4\\xd0\\xf4\\xd0\\xfe\\xa1\\x19\\xa1\\x99\\xa1\\x59\\xa1\\xd9\\xa1\\x39\\xa1\\x03\\x42\\x73\\x43\\xf3\\x42\\xf3\\x43\\x0b\\x42\\x0b\\x43\\x8b\\x42\\x8b\\x43\\x4b\\x42\\x4b\\x43\\x07\\x6a\\xcd\\x0d\\xb1\\xbc\\xbc\\x92\\x3c\\xc4\\xe5\\xa1\\xf8\\xea\\x68\\x53\\xa2\\x32\\xde\\x14\\xe5\\xf5\\xcd\\xf9\\x29\\xf5\\xb1\\xaa\\xaa\\x78\\x32\\x37\\x2f\\x2f\\x5f\\x2b\\xa9\\x77\\xaf\\x76\\x36\\x68\\x11\\x3f\\x56\\x4b\\x2a\\x9a\\xa2\\xab\\xa3\\x6a\\xc4\\x8b\\xb4\\x92\\x78\\x4d\\xbc\\x21\\xba\\x52\\x8b\\xf8\\x71\\x6a\\x59\\x65\\xac\\xa9\\xb2\\xb9\\xbe\\xba\\x2e\\xba\\x36\\xb5\\xb2\\x5d\\x4e\\x29\\x93\\xd5\\x45\\x2a\\x2b\\xa3\\x0d\\xc9\\x94\\xca\\x36\\x51\\x2d\\xaf\\x8c\\xb8\\x55\\x56\\xf9\\x51\\xb9\\xac\\x3f\\x92\\xd4\\x6c\\x00\\x46\\x01\\x68\\xfb\\x80\\x51\\x2f\\x4a\\xb1\\xdb\\x2b\\x8a\\xb6\\x89\\x9a\\x0d\\x35\\xa2\\x7e\\xac\\xda\\x7e\\x8d\\x51\\x2f\\x4a\\xdd\\x2f\\xa0\\x54\\x4d\\x40\\xa9\\xfd\\xda\\xeb\\xaa\\x69\\x13\\xd3\\xf6\\xab\\x8c\\xd7\\xd7\\x47\\xb0\\x53\\x13\\xd8\\x49\\x9d\\x1a\\xa8\\xa7\\xb6\\x5d\\x16\\x53\\x2b\\x22\\x4d\\xa2\\x56\\x06\\xea\\xb4\\x64\\xac\\xae\\x2a\\xaa\\xc6\\xbc\\x48\\x9b\\x86\\x96\\xc4\\xd0\\x92\\x69\\x7e\\x4b\\x62\\x7e\\xd7\\x4d\\x83\\xce\\x31\\x3f\\x66\\xd3\\xa6\\xb3\\xd8\\x8a\\xd4\\xe9\\x01\\x8c\\x15\\xed\\x72\\xda\\xfe\\x41\\xad\\x56\\x76\\xd8\\xa9\\x71\\x2f\\x9e\\xd7\\x45\\x1a\\xaa\\x62\\x95\\xea\\x8c\\x48\\x65\\x73\\x32\\xaa\\xd6\\x79\\x51\\xda\\x8c\\x60\\xbe\\xba\\xc0\\x8e\\x3a\\xc3\\xef\\xa0\\x3a\\x2f\\x12\\x33\\x64\\xeb\\x45\\x9d\\x0c\\xd4\\x59\\x7e\\xf9\\x06\\xbf\\xfc\\xac\\x60\\xf9\\x86\\x60\\xf9\\x59\\x7e\\xf9\\x06\\xbf\\x83\\x1b\\x22\\x8d\\xf1\\x44\\xb2\\x29\\xde\\x58\\x1b\\xe5\\x76\\x43\\x0d\\x8f\\x36\\xd4\\x68\\xb3\\xd1\\xf8\\x38\\x1a\\x3f\\xdb\\x6f\\x7c\\xdc\\x8b\\xd2\\x67\\xd7\\x36\\x37\\xd4\\x44\\x9a\\x9a\\xeb\\xeb\\x22\\xcd\\xc9\\xf4\\x78\\x70\\x4f\\x9d\\xeb\\xeb\\xd0\\xe4\\xeb\\x30\\x37\\xa8\\x43\\x53\\x50\\x87\\xb9\\xbe\\x0e\\x4d\\x7e\\x34\\xcf\\x2f\\x95\\xf0\\xa2\\xd4\\x79\\x81\\x6e\\x4c\\x04\\xba\\x71\\x7e\\xb0\\xb6\\x64\\xb0\\xb6\\xf9\\x7e\\x35\\x49\\xbf\\x47\\xe6\\xbb\\x43\\x9a\\x74\\x87\\x74\\x81\\x3f\\xa4\\xcd\\xfe\\x90\\x2e\\x40\\xab\\x9a\\xd1\\xaa\\x05\\x7e\\xab\\x9a\\xbd\\x48\\x59\\xd0\\x14\\x6b\\xa8\\x51\\x9a\\xdd\\x30\\x7d\\x41\\x87\\x16\\x36\\x07\\xf7\\xb4\\x05\\x18\\xfa\\x66\\x9c\\x35\\x8b\\x02\\xda\\xae\\x09\\xc8\\x4b\\x02\\xf2\\xba\\x76\\x59\\x5d\\xea\\xb7\\x75\\xbd\\x17\\xa5\\x2c\\x6d\\x9f\\xc6\\xeb\\xdb\\x44\\xa5\\x2e\\xde\\x50\\x93\\xf0\\x4e\\xef\\xfc\\xa2\\x3c\\xc4\\xf9\\x88\\x0d\\xc4\\x26\\x62\\x0b\\x71\\x18\\x71\\x01\\xe2\\x42\\xc4\\x45\\x88\\x8b\\x11\\x97\\x20\\x2e\\x45\\x5c\\x86\\xb8\\x1c\\xb1\\x8d\\xd8\\xf1\\xe3\\x62\\xe0\\x17\\x03\\xbf\\x18\\xb8\\xc5\\xc0\\x2d\\x06\\x6e\\x31\\x70\\x8b\\x81\\x5b\\x0c\\xdc\\x62\\xe0\\x16\\x03\\xb7\\x18\\xb8\\xc5\\xc0\\x2d\\x06\\x6e\\x31\\x70\\x8b\\x1d\\x65\\x76\\x6d\\xbc\\x49\\x3a\\x40\\x6e\\xe8\\xa7\\x95\\xa0\\xcd\\x25\\xc0\\x2e\\x01\\x76\\x09\\xb0\\x4b\\x80\\x5d\\x02\\xec\\x12\\x60\\x97\\x00\\xbb\\x04\\xd8\\x25\\xc0\\x2e\\x01\\x76\\x09\\xb0\\x4b\\x6c\\x65\\x81\\x87\\xd9\\xdc\\x8e\\x59\\x8a\\xf6\\x96\\x02\\xbb\\x14\\xd8\\xa5\\xc0\\x2e\\x05\\x76\\x29\\xb0\\x4b\\x81\\x5d\\x0a\\xec\\x52\\x60\\x97\\x02\\xbb\\x14\\xd8\\xa5\\xc0\\x2e\\x05\\x76\\x29\\xda\\x5d\\x8a\\xfe\\x2e\\x43\\x7f\\x97\\x01\\xbf\\x0c\\xf8\\x65\\xc0\\x2f\\x03\\x7e\\x19\\xf0\\xcb\\x80\\x5f\\x06\\xfc\\x32\\xe0\\x97\\x01\\xbf\\x0c\\xf8\\x65\\xc0\\x2f\\x03\\x7e\\x19\\xf0\\xcb\\x80\\x5f\\x06\\xfc\\x72\\xe0\\x97\\x03\\xbf\\x1c\\xf8\\xe5\\xc0\\x2f\\x07\\x7e\\x39\\xf0\\xcb\\x81\\x5f\\x0e\\xfc\\x72\\xe0\\x97\\x03\\xbf\\x1c\\xf8\\xe5\\xc0\\x2f\\x07\\x7e\\x39\\xf0\\xcb\\x81\\x5f\\x0e\\x7c\\x1b\\xf8\\x36\\xf0\\x6d\\xe0\\xdb\\xc0\\xb7\\x81\\x6f\\x03\\xdf\\x06\\xbe\\x0d\\x7c\\x1b\\xf8\\x36\\xf0\\x6d\\xe0\\xdb\\xc0\\xb7\\x81\\x6f\\x03\\xdf\\x06\\xbe\\x0d\\x7c\\x07\\xf8\\x0e\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x80\\xef\\x00\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x4e\\x71\\x4a\\x89\\xbb\\x96\\xf8\\xa7\\x79\\xa4\\x4d\\xd4\\x4a\\x6c\\x3f\\x8e\\x44\\xfd\\xd5\\x6e\\x76\\xa2\\x2e\\x92\\xa8\\xf5\\xe5\\x78\\xbb\\xec\\xd5\\x62\\xe4\\xe5\\x21\\xce\\x47\\x6c\\x20\\x36\\x11\\x5b\\x88\\xc3\\x88\\x0b\\x10\\x17\\x22\\x2e\\x42\\x5c\\x8c\\xb8\\x04\\x71\\x29\\xe2\\x32\\xc4\\xe5\\x88\\x6d\\xc4\\x7e\\x6f\\x18\\xf9\\xc0\\xcf\\x07\\x7e\\x3e\\xf0\\xf3\\x81\\x9f\\x0f\\xfc\\x7c\\xe0\\xe7\\x03\\x3f\\xbf\\x30\\x6d\\x5e\\x70\\xb5\\x4e\\x04\\x76\\x90\\x03\\x9a\\xe4\\x43\\x93\\x7c\\x68\\x92\\x0f\\x4d\\xf2\\xa1\\x49\\x3e\\x34\\x31\\xa0\\x89\\x01\\x4d\\x0c\\x68\\x62\\x40\\x13\\x03\\x9a\\x18\\xd0\\xc4\\x80\\x26\\x06\\x7a\\xc2\\x40\\x4f\\x18\\xe8\\x09\\x03\\xf8\\x06\\xf0\\x0d\\xe0\\x1b\\xc0\\x37\\x80\\x6f\\x00\\xdf\\x04\\xbe\\x09\\x7c\\x13\\xf8\\x26\\xf0\\x4d\\xe0\\x9b\\xc0\\x37\\x81\\x6f\\x02\\xd7\\x04\\xae\\x09\\x5c\\x13\\xb8\\x26\\x70\\x4d\\xe0\\x9a\\xc0\\x35\\x81\\x6b\\x01\\xd7\\x02\\xae\\x05\\x5c\\x0b\\xb8\\x16\\x70\\x2d\\xe0\\x5a\\xc0\\xb5\\xd0\\x6e\\x0b\\xf8\\x16\\xf0\\x2d\\xe0\\x5b\\xc0\\xb7\\x80\\x6f\\x01\\xdf\\x02\\xbe\\x05\\xfc\\x30\\xf0\\xc3\\xc0\\x0f\\x03\\x3f\\x0c\\xfc\\x30\\xf0\\xc3\\xc0\\x0f\\x03\\x3f\\x0c\\xfc\\x30\\xf0\\xc3\\xc0\\x0f\\x03\\x3f\\x0c\\xfc\\x30\\xf0\\xc3\\xc0\\x0f\\x03\\x3f\\x0c\\xfc\\x02\\xe0\\x17\\x00\\xbf\\x00\\xf8\\x05\\xc0\\x2f\\x00\\x7e\\x01\\xf0\\x0b\\x80\\x5f\\x00\\xfc\\x02\\xe0\\x17\\x00\\xbf\\x00\\xf8\\x05\\xc0\\x2f\\x00\\x7e\\x01\\xf0\\x0b\\x80\\x5f\\x00\\xfc\\x42\\xe0\\x17\\x02\\xbf\\x10\\xf8\\x85\\xc0\\x2f\\x04\\x7e\\x21\\xf0\\x0b\\x81\\x5f\\x08\\xfc\\x42\\xe0\\x17\\x02\\xbf\\x10\\xf8\\x85\\xc0\\x2f\\x04\\x7e\\x21\\xf0\\x0b\\x81\\x5f\\x08\\x7c\\xf0\\xbf\\x01\\xfe\\x37\\xc0\\xff\\x06\\xf8\\xdf\\x00\\xff\\x1b\\xe0\\x7f\\x03\\xfc\\x6f\\x80\\xff\\x0d\\xf0\\xbf\\x01\\xfe\\x37\\xc0\\xff\\x06\\xf8\\xdf\\x00\\xff\\x1b\\xe0\\x7f\\x03\\xfc\\x6f\\x80\\xff\\x0d\\xf0\\xbf\\x01\\xfe\\x37\\x8a\\x81\\x0f\\x3b\\xc0\\x80\\x1d\\x60\\xc0\\x0e\\x30\\x60\\x07\\x18\\xb0\\x03\\x0c\\xd8\\x01\\x06\\xec\\x00\\x03\\x76\\x80\\x01\\x3b\\xc0\\x80\\x1d\\x60\\xc0\\x0e\\x30\\x60\\x07\\x18\\xc5\\xc0\\x87\\x9b\\x63\\x94\\x00\\x1f\\xb6\\x80\\x01\\x5b\\xc0\\x80\\x2d\\x60\\xc0\\x16\\x30\\x60\\x0b\\x18\\xb0\\x05\\x0c\\xd8\\x02\\x06\\x6c\\x01\\x03\\xb6\\x80\\x01\\x5b\\xc0\\x80\\x2d\\x60\\xc0\\x16\\x30\\x4a\\x80\\x5f\\x02\\xfc\\x52\\xe0\\xc3\\x1e\\x30\\x60\\x0f\\x18\\xb0\\x07\\x0c\\xd8\\x03\\x06\\xec\\x01\\x03\\xf6\\x80\\x01\\x7b\\xc0\\x80\\x3d\\x60\\xc0\\x1e\\x30\\x60\\x0f\\x18\\xb0\\x07\\x0c\\xd8\\x03\\x06\\xec\\x01\\x03\\xf6\\x80\\x01\\x7b\\xc0\\x80\\x3d\\x60\\xc0\\x1e\\x30\\x60\\x0f\\x18\\xb0\\x07\\x0c\\xd8\\x03\\x06\\xec\\x01\\x03\\xfc\\x6f\\x80\\xf7\\x0d\\xf0\\xbe\\x01\\xde\\x37\\xc0\\xfb\\x06\\x78\\xdf\\x00\\xef\\x1b\\xe0\\x7d\\x03\\xbc\\x6f\\x80\\xf7\\x0d\\xf0\\xbe\\x01\\xde\\x37\\xc0\\xfb\\x06\\x78\\xdf\\x00\\xef\\x1b\\xe0\\x71\\x03\\x3c\\x6e\\x80\\xc7\\x0d\\xf0\\xb8\\x01\\x1e\\x37\\xc0\\xe3\\x06\\x78\\xdc\\x00\\x8f\\x1b\\xe0\\x71\\x03\\x3c\\x6e\\x80\\xc7\\x0d\\xf0\\xb8\\x01\\x1e\\x37\\xc0\\xe3\\x06\\x78\\xdc\\x00\\x8f\\x1b\\xe0\\x71\\x03\\x3c\\x6e\\x80\\xc7\\x0d\\xf0\\xb8\\x01\\x1e\\x37\\xc0\\xe3\\x06\\x78\\xdc\\x00\\x8f\\x1b\\xe0\\x71\\x03\\x3c\\x6e\\x80\\xc7\\x0d\\x07\\xf8\\x0e\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x80\\xef\\x00\\xdf\\x71\\x42\\x35\\x4d\\x91\\xd5\\x51\\x49\\x78\\x15\\x21\\x8f\\xc9\\x5d\\xc9\\x3b\\x66\\xe6\\x19\\x21\\xcf\\x13\\x09\\xa4\\x58\\x88\\xc3\\x88\\x0b\\x10\\x17\\x22\\x2e\\x4a\\xaf\\x8d\\xc7\\x57\\x46\\x2a\\xe2\\xab\\x83\\xa5\\x4a\\x10\\x97\\x22\\x2e\\x43\\x5c\\x8e\\xd8\\x46\\xec\\xf7\\x85\\x09\\x16\\x37\\xc1\\xe2\\x26\\x58\\xdc\\x04\\x8b\\x9b\\x60\\x71\\x13\\x2c\\x6e\\x82\\xc5\\xcd\\x7c\\x68\\x91\\x5f\\x84\\xb8\\x18\\x31\\xf0\\xc1\\xdd\\x26\\xb8\\xdb\\x04\\x77\\x9b\\xe0\\x6e\\x13\\xdc\\x6d\\x82\\xbb\\x4d\\x70\\xb7\\x69\\x18\\x69\\xd2\\xd7\\xa9\\x88\\xd6\\xc5\\xd7\\xb4\\x37\\x0a\\x04\\x6e\\x82\\xc0\\x4d\\x10\\xb8\\x09\\x02\\x37\\x41\\xe0\\x26\\x08\\xdc\\x04\\x81\\x9b\\x20\\x70\\x13\\x04\\x6e\\x82\\xc0\\x4d\\x10\\xb8\\x09\\x02\\x37\\x41\\xe0\\x26\\x08\\xdc\\x04\\x81\\x9b\\x20\\x70\\x13\\x04\\x6e\\x82\\xc0\\x4d\\x10\\xb8\\x69\\x02\\x1f\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6e\\x82\\xc8\\x4d\\x10\\xb9\\x09\\x22\\x37\\x41\\xe4\\x26\\x88\\xdc\\x04\\x91\\x9b\\x20\\x72\\x13\\x44\\x6d\\x82\\xa8\\x4d\\x10\\xb1\\x09\\x22\\x36\\x41\\xc4\\x26\\x88\\xd8\\x2c\\xb4\\x95\\x64\\xbc\\x21\\x9e\\x48\\xaf\\x8a\\x45\\x9b\\xa2\\x89\\x58\\xc2\\xdb\\x4b\\x29\\xa9\\x6b\\xac\\x8d\\x78\\x62\\x28\\xd2\\x10\\x4f\\x46\\xeb\\xa2\\xb1\\x48\\x9a\\xdd\\x98\\x88\\x49\\x9f\\xdd\\x4b\\xd6\\xed\\x24\\x8e\\x4f\\x8b\\x43\\x4a\\x9b\\x5d\\x1f\\x73\\xaf\\x38\\xf8\\x3b\\x0b\\x02\\x99\\x53\\x66\\xd7\\x47\\x6b\\xfc\\x4c\\x59\\x31\\x99\\xbd\\x03\\x96\\xe2\\x61\\x89\\xd2\\x68\\x32\\xa2\\xec\\x17\\x91\\xf6\\xb3\\x06\\x1c\\xb1\\x54\\x26\\x71\\x89\\xa3\\xcc\\xaf\\x95\\x92\\x70\\x81\\x94\\xfd\\x23\\x8d\\x8d\\x11\\x75\\x46\\xa4\\xbe\\xa2\\x2a\\xc2\\x66\\x36\\xb3\\x59\\xcd\\x6c\\x71\\x4c\\x03\\x32\\x9b\\x13\\xe3\\x73\\x6b\\xe3\\xca\\xbc\\x58\\x4d\\x7d\\x84\\xcf\\x8f\\x34\\x6b\\xd0\\x82\\xcf\\xa9\\x8d\\xf1\\x32\\xb9\\xcd\\x49\\xc4\\xd2\\xa6\\x05\\x34\\xe8\\x81\\x0c\\xad\\xfb\\x29\\x91\\xb6\\x86\\xa7\\x45\\x83\\xcd\\x8d\\xb6\\x36\\x37\\xd6\\xda\\xdc\\xec\\xe6\\x8e\\x45\\xfd\\xc6\\x78\\xe5\\x45\\x85\\xdb\\x98\\x1a\\xb7\\x31\\x4a\\x55\\xb4\\x2e\\x19\\xd1\\x50\\x97\\x58\\xef\\x36\\xc9\\x3d\\x98\\xf4\\x9a\\xe4\\x56\\xa6\\xac\\xf4\\x9a\\x54\\xe7\\x37\\xa9\\xa1\\x99\\xad\\x8d\\x69\\x71\\xbf\\x3d\\xbc\\xa9\\x36\\xae\\x26\\xdc\\xc6\\xe4\\x2b\\x5e\\xc4\\x93\\xb2\\x4d\\xc0\\xe5\\x8d\\xb2\\x3d\\x95\\x72\\x93\\xbb\\x4a\\xdc\\xed\\xe0\\xb4\\x60\\xdf\\xf6\\xe8\\xa4\\x5e\\x5a\\x3c\\x38\\x3a\\xcd\\xc1\\xd1\\x89\\xb7\\x8d\\x8e\\x3f\\x27\\x40\\x92\\x26\\x48\\xd2\\x04\\x49\\x9a\\x20\\x49\\x13\\x24\\x69\\x82\\x24\\x4d\\x90\\xa4\\x09\\x92\\x34\\xe1\\x1c\\x9b\\x70\\x8e\\x4d\\x38\\xc7\\x26\\x9c\\x63\\x13\\xce\\xb1\\x09\\xe7\\xd8\\x04\\xa9\\x9a\\x20\\x55\\x13\\xa4\\x6a\\x82\\x54\\x4d\\x90\\xaa\\x09\\x52\\x35\\x41\\xaa\\x26\\x48\\xd5\\x04\\xa9\\x9a\\x20\\x55\\x13\\xa4\\x6a\\x82\\x54\\x4d\\x90\\xaa\\x09\\x52\\x35\\x41\\xaa\\x26\\x48\\xd5\\x04\\xa9\\x9a\\x20\\x55\\x13\\xa4\\x6a\\x82\\x54\\x4d\\x90\\xaa\\x09\\x52\\x35\\x41\\xaa\\x26\\x48\\xd5\\x04\\xa9\\x9a\\x20\\x55\\x13\\xa4\\x6a\\x82\\x54\\x4d\\x90\\xaa\\x09\\x52\\x35\\x41\\xaa\\x26\\x48\\xd5\\x04\\xa9\\x9a\\x8e\\x8f\\x6f\\xc1\\x1d\\xb6\\xe0\\x0e\\x5b\\x70\\x87\\x2d\\xb8\\xc3\\x16\\xe8\\xd4\\x02\\x9d\\x5a\\xa0\\x53\\x0b\\x74\\x6a\\xc1\\x1d\\xb6\\xe0\\x0e\\x5b\\x20\\x52\\x0b\\x44\\x6a\\x81\\x48\\x2d\\x10\\xa9\\x05\\x22\\xb5\\x40\\xa4\\x16\\x88\\xd4\\x02\\x91\\x5a\\x20\\x52\\x0b\\x44\\x6a\\x81\\x48\\x2d\\x10\\xa9\\x05\\x22\\xb5\\x40\\xa4\\x16\\x88\\xd4\\x02\\x91\\x5a\\x20\\x52\\x0b\\x44\\x6a\\x81\\x48\\x2d\\x10\\xa9\\x05\\x22\\xb5\\x40\\xa4\\x16\\x88\\xd4\\x02\\x91\\x5a\\x70\\x82\\x2d\\x38\\xc1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\x81\\x43\\x2d\\x70\\xa8\\x05\\x0e\\xb5\\xc0\\xa1\\x16\\x38\\xd4\\x02\\x87\\x5a\\xe0\\x50\\x0b\\x1c\\x6a\\xc1\\x19\\xb6\\xe0\\x0c\\x5b\\x70\\x86\\x2d\\x38\\xc3\\x16\\x38\\xd6\\x02\\xc7\\x5a\\x70\\x86\\x2d\\x38\\xc3\\x16\\x9c\\x61\\x0b\\xce\\xb0\\x05\\x0e\\xb6\\xc0\\xc1\\x16\\x38\\xd8\\x02\\x07\\x5b\\x70\\x86\\x2d\\x38\\xc3\\x16\\x9c\\x61\\x0b\\xce\\xb0\\x05\\x67\\xd8\\x82\\x33\\x6c\\xc1\\x19\\xb6\\xe0\\x0c\\x5b\\x70\\x86\\x2d\\x38\\xc3\\x16\\x9c\\x61\\x0b\\xce\\xb0\\x05\\x67\\xd8\\x82\\x33\\x6c\\xc1\\x19\\xb6\\xe0\\x0c\\x5b\\x70\\x86\\x2d\\x38\\xc3\\x16\\x9c\\x61\\x0b\\xce\\xb0\\x05\\x67\\xd8\\x82\\x33\\x6c\\xc1\\x19\\xb6\\xe0\\x0c\\x5b\\x70\\x86\\x2d\\x38\\xc3\\x16\\x9c\\x61\\x0b\\xce\\xb0\\x05\\x67\\xd8\\x82\\x33\\x6c\\xc1\\x19\\xb6\\xe0\\x0c\\x5b\\x70\\x86\\x2d\\x38\\xc3\\x16\\x9c\\x61\\x0b\\xce\\xb0\\x05\\x67\\xd8\\x82\\x33\\x6c\\xc1\\x19\\xb6\\xe0\\x0c\\x5b\\x70\\x86\\x2d\\x38\\xc3\\x16\\x9c\\x61\\x0b\\xce\\xb0\\x05\\x67\\xd8\\x82\\x33\\x6c\\xc1\\x19\\xb6\\xe0\\x0c\\x5b\\x70\\x86\\x2d\\x38\\xc3\\x16\\x9c\\x61\\x0b\\xce\\xb0\\x05\\x67\\xd8\\x82\\x33\\x6c\\xc1\\x19\\xb6\\xe0\\x0c\\x5b\\x70\\x86\\x2d\\x38\\xc3\\x16\\x9c\\x61\\x0b\\xce\\xb0\\x05\\x67\\xd8\\x82\\x33\\x6c\\xc1\\x19\\xb6\\xe0\\x0c\\x5b\\x70\\x86\\x2d\\x38\\xc3\\x16\\x9c\\x61\\x0b\\xce\\xb0\\x05\\x67\\xd8\\x82\\x33\\x6c\\xc1\\x19\\xb6\\xe0\\x0c\\x5b\\xb8\\x38\\x6e\\xe1\\xe2\\xb8\\x05\\xe7\\xd8\\xc2\\xc5\\x71\\x0b\\x4e\\xb2\\x05\\x27\\xd9\\x82\\x93\\x6c\\xc1\\x49\\xb6\\xe0\\x24\\x5b\\x70\\x92\\x2d\\xf0\\xbf\\x05\\xfe\\xb7\\xc0\\xff\\x16\\xf8\\xdf\\x02\\xff\\x5b\\xe0\\x7f\\x0b\\xfc\\x6f\\x81\\xff\\xad\\xf2\\xa2\\x50\\xa4\\x3a\\x16\\xcb\\xcf\\x2b\\x6a\\x5d\\x99\\x60\\x01\\x58\\xb0\\x00\\x2c\\x58\\x00\\x16\\x2c\\x00\\x0b\\x16\\x80\\x05\\x0b\\xc0\\x82\\x05\\x60\\xc1\\x02\\xb0\\x60\\x01\\x58\\xb0\\x00\\x2c\\x58\\x00\\x16\\x2c\\x00\\x0b\\x16\\x80\\x05\\x0b\\xc0\\x82\\x05\\x60\\xc1\\x02\\xb0\\x60\\x01\\x58\\xb0\\x00\\x2c\\x58\\x00\\x16\\x2c\\x00\\x0b\\x16\\x80\\x05\\x0b\\xc0\\x82\\x05\\x60\\xc1\\x02\\xb0\\x60\\x01\\x58\\xb0\\x00\\x2c\\x58\\x00\\x16\\x2c\\x00\\x0b\\x16\\x80\\x05\\x0b\\xc0\\x82\\x05\\x60\\xc1\\x02\\xb0\\x60\\x01\\x58\\xb0\\x00\\x2c\\x58\\x00\\x16\\x2c\\x00\\x0b\\x16\\x80\\x05\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x0b\\x20\\x0c\\x46\\x0f\\x83\\xd1\\xc3\\x60\\xf4\\x30\\x18\\x3d\\x8c\\x95\\x23\\x8c\\x95\\x23\\x8c\\x95\\x23\\x8c\\x95\\x23\\x8c\\x95\\x23\\x8c\\x95\\x23\\x8c\\x95\\x23\\x8c\\x95\\x23\\x8c\\x95\\x23\\x8c\\x95\\x23\\x8c\\x95\\x23\\x8c\\x95\\x23\\x5c\\xdc\\x8a\\x03\\xbd\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\xb1\\x72\\x84\\x4b\\x1c\\x25\\x51\\x1b\\x5d\\x1d\\x49\\x91\\xbe\\x43\\xa4\\x3a\\x11\\xad\\x89\\xd7\\xf9\\x62\\xa3\\x0c\\x6a\\x53\\x3d\\x71\\x55\\xa4\\x3e\\x92\\x4c\\x28\\xb5\\xb1\\xa6\\xd8\\x2a\\x25\\x99\\x90\\x56\\xb9\\xe2\\x65\\x54\\xbc\\x3c\\x6a\\xeb\\xe1\\xb8\\x74\\x04\\xfc\\x4a\\x4b\\x4b\\xd4\\x55\\xcd\\x15\\xcd\\xc9\\x84\\x5a\\x15\\xa9\\x89\\x26\\x6a\\x95\\xfa\\x68\\x32\\x5a\\xa3\\xd4\\x47\\x56\\x45\\xaa\\x45\\x53\\xa4\\x3a\\x2a\\x4b\\x26\\xa2\\xab\\x34\\xf7\\xe7\\x6f\\xee\\x8d\\xf1\\x84\\x17\\xe9\\x89\\xb8\\x44\\x4d\\x34\\xaf\\x0a\\x35\\x37\\x36\\x46\\x9b\\x96\\xb9\\x49\\x75\\xf1\\x35\\xd1\\x26\\x29\\xf8\\xf5\\x96\\x15\\xa4\\xfa\\x60\\xab\\x24\\x70\\x83\\x88\\xd4\\x45\\xab\\xb9\\x74\\x58\\x94\\x9a\\x58\\x7d\\xb4\\x4e\\xa9\\x92\\xfb\\x49\\x56\\x1b\\xe5\\xab\\x23\\xab\\x95\\xf5\\x91\\x75\\xb1\\x06\\x2e\\x5d\\x15\\x9e\\x94\\xdb\\xba\\x78\\x95\\x5e\\x1d\\x6b\\x88\\xd4\\xad\\x8c\\x54\\x73\\xb9\\x29\\x52\\xd5\\x28\\x92\\xea\\xa3\\xf5\\x5c\\x6e\\xfe\\x4e\\x43\\x73\\x03\\x97\\x9b\\x9a\\x90\\xc7\\x57\\xd6\\x0a\\xb7\\x12\\xcd\\x3b\\xd0\\x18\\x65\\x8d\\xd1\\x14\\x4f\\x4c\\x26\\xa4\\xab\\xa2\\x78\\x21\\x5f\\x15\\x97\\x0d\\x92\\x2d\\x14\\x6e\\x53\\xa4\\x8f\\xb3\\x5a\\x95\\xe0\\xab\\xfd\\x48\\x82\\xaa\\x72\\x73\\xa3\\x1a\\xd7\\x93\\xa9\\x0d\\xc9\\x28\\x51\\x2b\\xeb\\xf4\\xba\\x29\\xbf\\xdc\\x3f\\x57\\x64\\x9c\\x8f\\xd8\\x40\\x6c\\x22\\xb6\\x10\\x87\\x11\\x17\\x20\\x2e\\x44\\x5c\\x84\\xb8\\x18\\x71\\x09\\xe2\\x52\\xc4\\x65\\x88\\xcb\\x11\\xdb\\x88\\x1d\\x3f\\xce\\x07\\x7e\\x3e\\xf0\\xf3\\x81\\x9f\\x0f\\xfc\\x7c\\xe0\\xe7\\x03\\x3f\\x1f\\xf8\\xf9\\xc0\\xcf\\x07\\x7e\\x3e\\xf0\\xf3\\x81\\x9f\\x0f\\xfc\\x7c\\xe0\\xe7\\x03\\x3f\\x1f\\xf8\\xf9\\xc0\\x37\\x80\\x6f\\x00\\xdf\\x00\\xbe\\x01\\x7c\\x03\\xf8\\x06\\xf0\\x0d\\xe0\\x1b\\xc0\\x37\\x80\\x6f\\x00\\xdf\\x00\\xbe\\x01\\x7c\\x03\\xf8\\x06\\xf0\\x0d\\xe0\\x1b\\xc0\\x37\\x81\\x6f\\x02\\xdf\\x04\\xbe\\x09\\x7c\\x13\\xf8\\x26\\xf0\\x4d\\xe0\\x9b\\xc0\\x37\\x81\\x6f\\x02\\xdf\\x04\\xbe\\x09\\x7c\\x13\\xf8\\x26\\xf0\\x4d\\xe0\\x9b\\xc0\\xb7\\x80\\x6f\\x01\\xdf\\x02\\xbe\\x05\\x7c\\x0b\\xf8\\x16\\xf0\\x2d\\xe0\\x5b\\xc0\\xb7\\x80\\x6f\\x01\\xdf\\x02\\xbe\\x05\\x7c\\x0b\\xf8\\x16\\xf0\\x2d\\xe0\\x5b\\xc0\\x0f\\x03\\x3f\\x0c\\xfc\\x30\\xf0\\xc3\\xc0\\x0f\\x03\\x3f\\x0c\\xfc\\x30\\xf0\\xc3\\xc0\\x0f\\x03\\x3f\\x0c\\xfc\\x30\\xf0\\xc3\\xc0\\x0f\\x03\\x3f\\x0c\\xfc\\x30\\xf0\\xc3\\xc0\\x2f\\x00\\x7e\\x01\\xf0\\x0b\\x80\\x5f\\x00\\xfc\\x02\\xe0\\x17\\x00\\xbf\\x00\\xf8\\x05\\xc0\\x2f\\x00\\x7e\\x01\\xf0\\x0b\\x80\\x5f\\x00\\xfc\\x02\\xe0\\x17\\x00\\xbf\\x00\\xf8\\x05\\xc0\\x2f\\x04\\x7e\\x21\\xf0\\x0b\\x81\\x5f\\x08\\xfc\\x42\\xe0\\x17\\x02\\xbf\\x10\\xf8\\x85\\xc0\\x2f\\x04\\x7e\\x21\\xf0\\x0b\\x81\\x5f\\x08\\xfc\\x42\\xe0\\x17\\x02\\xbf\\x10\\xf8\\x85\\xc0\\x2f\\x02\\x7e\\x11\\xf0\\x8b\\x80\\x5f\\x04\\xfc\\x22\\xe0\\x17\\x01\\xbf\\x08\\xf8\\x45\\xc0\\x2f\\x02\\x7e\\x11\\xf0\\x8b\\x80\\x5f\\x04\\xfc\\x22\\xe0\\x17\\x01\\xbf\\x08\\xf8\\x45\\xc0\\x2f\\x06\\x7e\\x31\\xf0\\x8b\\x81\\x5f\\x0c\\xfc\\x62\\xe0\\x17\\x03\\xbf\\x18\\xf8\\xc5\\xc0\\x2f\\x06\\x7e\\x31\\xf0\\x8b\\x81\\x5f\\x0c\\xfc\\x62\\xe0\\x17\\x03\\xbf\\x18\\xf8\\xc5\\xc0\\x2f\\x01\\x7e\\x09\\xf0\\x4b\\x80\\x5f\\x02\\xfc\\x12\\xe0\\x97\\x00\\xbf\\x04\\xf8\\x25\\xc0\\x2f\\x01\\x7e\\x09\\xf0\\x4b\\x80\\x5f\\x02\\xfc\\x12\\xe0\\x97\\x00\\xbf\\x04\\xf8\\x25\\xc0\\x2f\\x05\\x7e\\x29\\xf0\\x4b\\x81\\x5f\\x0a\\xfc\\x52\\xe0\\x97\\x02\\xbf\\x14\\xf8\\xa5\\xc0\\x2f\\x05\\x7e\\x29\\xf0\\x4b\\x81\\x5f\\x0a\\xfc\\x52\\xe0\\x97\\x02\\xbf\\x14\\xf8\\xa5\\xc0\\x2f\\x03\\x7e\\x19\\xf0\\xcb\\x80\\x5f\\x06\\xfc\\x32\\xe0\\x97\\x01\\xbf\\x0c\\xf8\\x65\\xc0\\x2f\\x03\\x7e\\x19\\xf0\\xcb\\x80\\xef\\x00\\xc7\\xb7\\xc9\\xf2\\x6d\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x17\\x3a\\xea\\x22\\xef\\x5e\\xa7\\xba\\xc6\\x8f\\x16\\xf9\\x8f\\x36\\xae\\xf1\\xa2\\xd0\\xa2\\xd6\\x0b\\xec\\xa1\\x35\\xad\\x92\\x5f\\x0e\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x06\\xcf\\xd8\\xe0\\x19\\x1b\\x3c\\x63\\x83\\x67\\x6c\\xf0\\x8c\\x0d\\x9e\\xb1\\xc1\\x33\\x36\\x78\\xc6\\x2e\\xb6\\x43\\x25\\xad\\xf7\\x2b\\x43\\x91\\x56\\x29\\xa5\\xa4\\xed\\xce\\x6c\\x4a\\xa4\\x4d\\xcc\\x2c\\x69\\x7f\\xd4\\xd3\\xeb\\x86\\xcc\\x48\\xe7\\x84\\x40\\x0e\\xaf\\xdb\\x82\\x39\\xbc\\x84\\xec\\x40\\x8e\\xb6\\x8a\\xb3\\x23\\xdd\\x24\\x06\\xeb\\xf2\\xee\\x2c\\x07\\xeb\\xf2\\x12\\x7a\\x05\\x72\\xb4\\x6a\\xde\\x2b\\xd2\\x35\\x2d\\xd5\\x7f\\x34\\xdc\\x7f\\x0c\\x2d\\x12\\x90\\xfd\\x74\\x4f\\x2f\\xa4\\x7b\\x72\\x0f\\x3f\\xbd\\x4d\\x93\\x1e\\x91\\x8e\\xfb\\x28\\xe7\\xe9\\x80\\x72\\x9e\\x9c\\xe1\\xa7\\xb7\\xc2\\x66\\x44\\x3a\\xec\\x86\\xec\\x36\\xa9\\x2d\\x2d\\xc5\\x6e\\xef\\xe7\\xf6\\xfa\\x55\\xdb\\x7f\\xb4\\xd7\\xaf\\x35\\xd3\\xee\\xdc\\xc9\\xd1\\xce\\x09\\x76\\xe7\\x5e\\x8f\\x76\\xee\\x75\\xbb\\xbb\\x5e\\x8f\\x76\\xd7\\xeb\\x76\\xe7\\x5e\\x8f\\x76\\xee\\x75\\xbb\\x9b\\x5e\\x8f\\x76\\x4d\\x4b\\x99\\xd6\\xde\\xb6\\x58\\x9b\\x18\\x9a\\xd6\\xd6\\x0b\\xb1\\x36\\x69\\x76\\x9b\\x14\\x6f\\x2b\\x3d\\xbb\\xbd\\x74\\xbc\\x5d\\xbb\\xd9\\x9d\\x9b\\x1e\\xef\\x9c\\x30\\xbb\\x73\\x5f\\xc4\\x3b\\xf7\\xc5\\xec\\xee\\xfa\\x22\\xde\\x5d\\x5f\\xcc\\xee\\xdc\\x17\\xf1\\xce\\x7d\\x31\\xbb\\x9b\\xbe\\x88\\x77\\xd3\\x17\\xde\\x63\\xbf\\xfe\\xe3\\x92\\xf1\\x76\\xd1\\x4b\\xf5\\x94\\xf2\\x53\\x3d\\x31\\xc3\\x4b\\x6d\\x53\\x22\\x23\\xde\\x61\\xd7\\x2f\\xe3\\x81\\xfb\\x65\\x3c\\x31\\xdd\\x4b\\x6d\\x45\\x4b\\x8f\\x07\\xf7\\x42\\x0b\\xda\\xa4\\xe6\\x36\\x7d\\x16\\xb4\\x57\\xd8\\xdc\\x2e\\x2e\\x68\\x57\\xad\\xb9\\x5d\\x5c\\xd0\\xae\\x65\\x73\\xbb\\x96\\x0b\\x3a\\x6a\\xd9\\xdc\\x51\\xcb\\x05\\xed\\x5a\\x36\\xb7\\x6b\\xb9\\xa0\\x83\\x96\\xcd\\xc1\\x3d\\x75\\x89\\xbf\\xcc\\xae\\xf3\\xa2\\xd0\\x92\\x36\\x9d\\xd7\\xb5\\xe9\\xbc\\xa4\\xbd\\xfa\\x75\\xed\\xe7\\xca\\x12\\xff\\x5c\\x59\\xe7\\x3f\\x06\\xef\\xae\\x69\\x0e\\x6c\\x36\\x07\\x36\\x9b\\x03\\x9b\\xcd\\x81\\xcd\\xe6\\xc0\\x66\\x73\\x60\\xb3\\x39\\xb0\\xd9\\x1c\\xd8\\x6c\\x0e\\x6c\\x36\\x07\\x36\\x9b\\x03\\x9b\\xcd\\x81\\xcd\\xe6\\xc0\\x66\\x73\\x60\\xb3\\x39\\xb0\\xd9\\x1c\\xd8\\x6c\\x0e\\x6c\\x36\\x07\\x36\\x9b\\x03\\x9b\\xcd\\x81\\xcd\\xe6\\xc0\\x66\\x73\\x60\\xb3\\x39\\xb0\\xd1\\x1c\\xd8\\x68\\x0e\\x6c\\x34\\x07\\x36\\x9a\\x03\\x1b\\xcd\\x81\\x8d\\xe6\\xc0\\x26\\x73\\x60\\x93\\x39\\xb0\\xc9\\x1c\\xd8\\x64\\x0e\\x6c\\x32\\x07\\x36\\x99\\x03\\x9b\\xcc\\x81\\x4d\\xe6\\xc0\\x26\\x73\\x60\\x93\\x39\\xb0\\xc9\\x1c\\xd8\\x64\\x0e\\x6c\\x32\\xc7\\x68\\xc5\\x43\\xfb\\x60\\x93\\x39\\xb0\\xc9\\x1c\\xd8\\x64\\x0e\\x6c\\x32\\x07\\x36\\x99\\x03\\x9b\\xcc\\x81\\x4d\\xe6\\xc0\\x26\\x73\\x60\\x93\\x39\\xb0\\xc9\\x1c\\xd8\\x64\\x0e\\x6c\\x32\\x07\\x36\\x99\\x03\\x9b\\xcc\\x81\\x4d\\xe6\\xc0\\x26\\x73\\x60\\x93\\x39\\xb0\\xc9\\x1c\\xd8\\x64\\x0e\\x6c\\x32\\x07\\x36\\x99\\x03\\x9b\\xcc\\x81\\x4d\\xe6\\xc0\\x06\\x73\\x60\\x83\\x39\\xb0\\xc1\\x1c\\xd8\\x60\\x0e\\x6c\\x30\\x07\\x36\\x98\\x03\\x9b\\xcb\\x81\\xcd\\xe5\\xc0\\xe6\\x72\\x60\\x73\\x39\\xb0\\xb9\\x1c\\xd8\\x5c\\x0e\\x6c\\x2e\\x07\\x36\\x97\\x03\\x5b\\xcb\\x81\\x8d\\xe5\\x84\\x5b\\xeb\\x85\\xfe\\xb0\\xa9\\x1c\\xd8\\x54\\x0e\\x6c\\x2a\\x07\\x36\\x95\\x03\\x9b\\xca\\x81\\x4d\\xe5\\xc0\\xa6\\x72\\x60\\x53\\x39\\xb0\\xa9\\x1c\\xd8\\x54\\x0e\\x6c\\x2a\\x07\\x36\\x95\\x03\\x9b\\xca\\x81\\x4d\\xe5\\xc0\\xa6\\x72\\x60\\x53\\x39\\xb0\\xa9\\x1c\\xd8\\x54\\x0e\\x6c\\x2a\\x07\\x36\\x95\\x03\\x9b\\xca\\x81\\x4d\\xe5\\xc0\\xa6\\x72\\x60\\x53\\x39\\xb0\\xa9\\x1c\\xd8\\x54\\x0e\\x6c\\x2a\\x07\\x36\\x95\\x03\\x9b\\xca\\x81\\x4d\\xe5\\xc0\\x57\\x77\\xe0\\xab\\x3b\\xf0\\xd5\\x1d\\xf8\\xea\\x0e\\x7c\\x75\\x07\\xbe\\xba\\x03\\x1b\\xca\\x81\\x0d\\xe5\\xc0\\x86\\x72\\x60\\x43\\x39\\xb0\\xa1\\x1c\\xd8\\x50\\x0e\\x6c\\x28\\xa7\\xa8\\x15\\x0f\\xed\\x85\\x0d\\xe5\\xc0\\x86\\x72\\x60\\x43\\x39\\xb0\\xa1\\x1c\\xd8\\x50\\x0e\\x6c\\x28\\x07\\x36\\x94\\x03\\x1b\\xca\\x81\\x0d\\xe5\\xc0\\x86\\x72\\x60\\x43\\x39\\xb0\\xa1\\x1c\\xd8\\x50\\x0e\\x7c\\x75\\x07\\xbe\\xba\\x03\\x5f\\xdd\\x81\\xaf\\xee\\xc0\\x57\\x77\\xe0\\xab\\x3b\\xf0\\xd5\\x1d\\xf8\\xea\\x0e\\x7c\\x75\\x07\\xbe\\xba\\x03\\x5f\\xdd\\x81\\xaf\\xee\\xc0\\x57\\x77\\xe0\\xab\\x3b\\xf0\\xd5\\x1d\\xf8\\xea\\x0e\\x7c\\x75\\x07\\xbe\\xba\\x03\\x5f\\xdd\\x81\\xaf\\xee\\xc0\\x57\\x77\\xe0\\xab\\x3b\\xf0\\xd5\\x1d\\xf8\\xea\\x0e\\x7c\\x75\\x07\\x3e\\xba\\x03\\x1f\\xdd\\x81\\x8f\\xee\\xc0\\x47\\x77\\xe0\\xa3\\x3b\\xf0\\xd1\\x1d\\xf8\\xe8\\x0e\\x7c\\x74\\x07\\x3e\\xba\\x03\\x1f\\xdd\\x81\\x8f\\xee\\xc0\\x47\\x77\\xe0\\xa3\\x3b\\xf0\\xd1\\x1d\\xf8\\xe8\\x0e\\x7c\\x73\\x07\\xbe\\xb9\\x03\\xdf\\xdc\\x81\\x6f\\xee\\xc0\\x37\\x77\\xca\\x80\\x5b\\x06\\xdc\\x32\\xe0\\x96\\x01\\xb7\\x0c\\xb8\\xe5\\xc0\\x2d\\x07\\x6e\\x39\\x70\\xcb\\x81\\x5b\\x0e\\xbc\\x72\\xe0\\x95\\x03\\xaf\\x1c\\x78\\xe5\\xc0\\x2b\\x07\\x5e\\x39\\x70\\xca\\x81\\x53\\x0e\\x1c\\x1b\\x38\\x36\\x70\\x6c\\xe0\\xd8\\xc0\\xb1\\xd1\\x3e\\x1b\\xe3\\x6a\\x03\\xd7\\x06\\xae\\x0d\\x5c\\x1b\\xb8\\x36\\x70\\x6d\\xe0\\xda\\x68\\xa7\\x0d\\x7c\\x1b\\xf8\\x36\\xf0\\x1d\\xe0\\x39\\xc0\\x73\\x80\\xe7\\x00\\xc7\\x01\\x8e\\x03\\x1c\\x07\\x38\\x0e\\x70\\x1c\\xe0\\x38\\xc0\\x71\\x80\\xe3\\x5f\\x03\\x31\\xf2\\x7c\\x9e\\x93\\x71\\x39\\xe2\\xd6\\x74\\xc7\\x8f\\x7d\\x5e\\x93\\x71\\x38\\xdd\\x7b\\x1b\\x9a\\xf7\\x33\\xcd\\xaa\\x8a\\xba\\xf4\\x55\\xcd\\x71\\xf7\\x55\\x9c\\xee\\x2f\\x37\\xa3\\x55\\xc8\\x83\\x32\\x3e\\xd7\\xc8\\xb8\\x14\\x31\\x30\\x0c\\x60\\x18\\xb6\\x5a\\x1f\\x6b\\xf0\\x7e\\x30\\x17\\xad\\x8c\\x37\\xa0\\xb4\\x69\\x85\\xa2\\x6b\\x2b\\xeb\\x22\\xf5\\xb2\\xf6\\x50\\x53\\xa4\\xca\\x7d\\xaf\\x5f\\x74\\xad\\x7f\\x2c\\x0c\\xad\\x0a\\x50\\x73\\x01\\x6a\\x2e\\x40\\xcd\\x05\\xa8\\xb9\\xa0\\x35\\x9f\\x13\\x6a\\x48\\x34\\x37\\x46\\x9b\\x62\\xf1\\x26\\x3f\\xc5\\x5f\\x1f\\x64\\x9c\\x8f\\x18\\xed\\xf2\\xd7\\x07\\x19\\x5b\\x7e\\x5c\\x82\\x7c\\x25\\xc8\\x57\\x62\\x88\\xba\\x58\\x53\\x04\\x3b\\x61\\xc4\\x05\\x6a\\x63\\x34\\x11\\x4d\\xb6\\x26\\x17\\x21\\x2e\\x56\\x13\\xb5\\xd1\\x55\\xd1\\x3a\\x51\\x15\\x6f\\xa8\\x11\\xee\\x9b\\x02\\x71\\x00\\xea\\x95\\x40\\xbd\\x12\\x74\\x54\\x29\\xc0\\x4a\\x01\\x56\\x0a\\xa5\\x4a\\xa1\\x54\\x29\\x94\\x2a\\x05\\xae\\x7f\\xf3\\xd2\\xc8\\xf7\\x8d\\x1a\\x23\\xdf\\x37\\x36\\x64\\x5c\\x80\\xb8\\x90\\xcf\\xae\\xad\\x0f\\x45\\x13\\xc9\\x58\\x7d\\x24\\x89\\x61\\xc9\\xf7\\x29\\x4f\\xc6\\xb6\\x1e\\x6f\\x88\\x26\\x6b\\x63\\x4d\\x55\\xa1\\xe4\\x9a\\xb8\\x27\\x24\\x42\\x32\\x29\\xea\\xbe\\xdf\\xb7\\x36\\x2d\\x59\\xdb\\x14\\x85\\x9c\\x48\\xad\\x8e\\xad\\x6e\\x95\\xd3\\x12\\x72\\x94\\x1b\\xb0\\xe3\\x57\\x55\\x64\\x85\\x22\\x4d\\x4d\\xf1\\x35\\x75\\xd1\\xea\\xa4\\xe6\\x49\\xcd\\x8d\\x29\\x5e\\xec\\xbd\\x2b\\xd8\\x3f\\x58\\x15\\x5f\\xd3\\xe0\\x4b\\x15\\x12\\x2c\\x84\\x6c\\x55\\x0d\\x69\\x6d\\x52\\x45\\xc2\\xb3\\xe6\\x0c\\xfc\\xec\\xc7\\x30\\xf2\\xc3\\x29\\xf1\\xa6\\x64\\xad\\xfb\\xcb\\xc4\\x48\\x5d\\x5a\\xac\\x21\\xe9\\xce\\x2e\\xef\\x75\\xad\\xa9\\xd1\\x55\\xcd\\xb1\\xd5\\x72\\x46\\x34\\x54\\x46\\x95\\xda\\x78\\x73\\x22\\x9a\\x2e\\x27\\x5f\\x5d\\xbc\\xc6\\x9d\\x26\\x0d\\xf1\\x64\\x8a\\x9b\\x59\\xda\\x95\\x75\\xc9\\xc6\\x36\\xb1\\xc2\\xbb\\x2d\\x66\\xe0\\x9e\\xab\\x81\\x7b\\xad\\x06\\xee\\x91\\x1a\\xb8\\x17\\x2a\\x63\\x0b\\x71\\x11\\x62\\x1c\\x37\\x90\\x8e\\xf9\\x1b\\x36\\xb1\\x6f\\x62\\x3f\\x8c\\xf2\\xbe\\x0d\\x21\\x63\\xd4\\xef\\xdb\\x10\\x32\\x46\\x7e\\xdf\\x86\\x90\\x71\\x01\\xe2\\x42\\xc4\\xc0\\xf3\\x6d\\x09\\x19\\x97\\x20\\x2e\\x45\\xdc\\x8a\\x53\\x8e\\xd8\\x46\\xec\\x4f\\x9f\\x70\\x01\\xf0\\x0b\\x80\\x5f\\x00\\xfc\\x02\\xe0\\x17\\x00\\xbf\\x00\\xf8\\x05\\xc0\\x2f\\x00\\x7e\\x01\\xf0\\x0b\\x80\\x8f\\xb3\\x2b\\x8c\\xb3\\x2b\\xec\\x9e\\x5d\\x8d\\x15\\x75\\xf1\\xca\\x95\\x9a\\x1c\\x2b\\x37\\x56\\xfc\\xbd\\xba\\x6a\\x3f\\x6e\\x4a\\x62\\x3f\\x99\\xa8\\x8d\\x54\\x45\\x15\\x2f\\xd4\\xaa\\x56\\x7a\\x71\\xa8\\x3a\\x56\\x57\\x27\\x97\\x8a\\xb8\\x7f\\x0e\\xe3\\xce\\xad\\x81\\x3b\\xaf\\x32\\x2e\\x4d\\xf1\\x73\\x34\\xc9\\x11\\xd6\\x92\\x4d\\xb1\\x48\\x4d\\x73\\xa3\\x1f\\x37\\x61\\xbf\\xaa\\xc1\\x8f\\xeb\\xaa\\x55\\xd7\\xdf\\xaa\\xf3\\x67\\x4b\\xb8\\x0c\\xfd\\x52\\xe6\\x84\\x62\\x0d\\xab\\x2b\\x9a\\x65\\x25\\x49\\x57\\xf2\\xf3\\xa4\\xc4\\x1b\\xa3\\x0d\\x48\\x4c\\xd4\\xc7\\xe4\\x14\\x8d\\x54\\x46\\xe5\\x5c\\x5a\\xdd\\xb6\\xc3\\x13\\xcd\\x0d\\x6a\\x75\\xb4\\x5e\\xce\\x26\\xe1\\x06\\x4a\\xa2\\x51\\xea\\x2b\\x2a\\xeb\\x9a\\x2b\\x94\\xda\\x68\\x44\\xa2\\x57\\xc5\\x22\\xf5\\x72\\x61\\x4a\\xad\\x6f\\x4e\\x60\\x7e\\x45\\x33\\x02\\xb2\\x5c\\xa1\\x3c\\x0d\\x0a\\x7c\\x6b\\xcb\\x28\\xc3\\x48\\x94\\x61\\x24\\xca\\x30\\x12\\x65\\x18\\x89\\x32\\x8c\\x44\\x19\\x46\\xa2\\x0c\\x23\\x51\\x86\\x91\\x28\\xc3\\x48\\x94\\x61\\x24\\xca\\x30\\x12\\x65\\x18\\x89\\x32\\xac\\x73\\x65\\x58\\xe7\\xca\\x0a\\x81\\x53\\x08\\x9c\\x42\\xe0\\x14\\x02\\xa7\\x10\\x38\\x85\\xc0\\xf1\\xad\\x3a\\x03\\x57\\x8c\\x4b\\x0a\\xdb\\xe2\\x22\\xc4\\xc5\\x88\\x4b\\x10\\x97\\x22\\x2e\\x43\\x5c\\x8e\\xd8\\x46\\xec\\xf8\\xb1\\xef\\xa5\\xc8\\x38\\xdf\\x8f\\x8b\\x50\\x5f\\x11\\xea\\x2b\\x42\\x7d\\x45\\xa8\\xcf\\xb7\\xe2\\xa4\\x91\\x52\\x8e\\xd8\\x4e\\xf3\\xef\\x00\\x2f\\xf3\\x6e\\x95\\xf7\\x90\\xa7\\x6f\\x54\\xba\\xa4\\xee\\x1b\\x60\\xdd\\x5b\\xcb\\xba\\x7b\\x07\\x7b\\x4d\\x4c\\xce\\x25\\xef\\xde\\xb5\\x2b\\xa9\\xb5\\x51\\x37\\xd2\\x56\\x46\\xfc\\x03\\xde\\x8d\\x6a\\x57\\x4a\\x6b\\xbd\\x59\\xed\\xee\\xe8\\xee\\xed\\x64\\x2f\\x5f\\x32\\xb2\\xda\\x3b\\x2a\\x6b\\x5e\\xd6\\x58\\xd7\\x9c\\x70\\x5f\\x2a\\x9a\\xea\\xde\\x8c\\xc6\\xbd\\xf5\\x14\\x4f\\xf6\\xc4\\x2c\\x2f\\xc9\\xbb\\x21\\x8f\\x83\\x99\\x81\\x14\\x2f\\x21\\xe4\\x2a\\xe4\\xa9\\x9a\\xe2\\x4a\\xfe\\xcd\\x76\\x2f\\xb1\\x3e\\xd2\\x18\\x5b\\x15\\xaa\\x88\\x26\\xfd\\xec\\xa9\\xde\\x2d\\x77\\xc8\\x9e\\xf2\\xbe\\xac\\xd7\\x46\\x7d\\x21\\xb4\\x3a\\xb2\\x1a\\x87\\xbd\\x5b\\xf1\\x48\\x4d\\xb6\\x66\\x0c\\xc9\\x4e\\xf1\\xa5\\x8c\\xd6\\x1b\\xf3\\x38\\xd0\\x26\\xa5\\x7a\\x6d\\x47\\xaa\\x6c\\x38\\xa4\\x86\\x66\\x54\\x96\\xe6\\xdf\\xa4\\xf7\\x77\\xd2\\x71\\x97\\x1e\\x6a\\xb4\\x0a\\xa9\\xde\\x6d\\x7a\\x94\\x5c\\x15\\x47\\xcd\\x29\\x6e\\xf7\\x41\\x6c\\xef\\x82\\x50\\xb2\\x55\\x65\\x5d\\x2a\\xef\\x3f\\xce\\x20\\x1b\\xec\\x3e\\xaf\\xe0\\x0e\\x87\\x1b\\x4b\\x5a\\x74\\x23\\xaf\\x47\\x3c\\xed\\xbc\\x61\\xc6\\x0d\\x06\\x07\\x37\\x18\\x1c\\xdc\\x60\\x90\\xb1\\x99\\xd9\\xec\\xbf\\xf8\\xb5\\xed\\xc7\\x95\\xe9\\x95\\xeb\\x9a\\xe4\\xaa\\x10\\xab\\xf4\\xae\\xab\\x65\\x7a\\x3f\\x88\\x0f\\x1c\\xce\\x0a\\xc8\\x4d\\xee\\xf3\\xda\\x51\\x5d\\x0e\\x4b\\x5d\\x34\\x91\\x58\\x91\\x2a\\x99\\xac\\xda\\x7d\\x1b\\xaf\\xcb\\x16\\x92\\xdf\\x5a\\xe5\\x74\\x8f\\xd7\\x5a\\xf7\\xd2\\xaa\\xe3\\xcd\\x4d\\xed\\x3b\\x72\\xa2\\xb5\\xe5\\xf3\\x68\\xae\\x6d\\xcf\\xe3\\xbb\\xb6\\xbd\\xd6\\x0b\\x14\\xb9\\x72\\x1e\\xe5\\x67\\xb4\\x5d\\x99\\x70\\x77\\xad\\x74\\x68\\x10\\xf3\\x0e\\xf6\\x90\\x2d\\x73\\x7f\\xf7\\xe2\\xfe\\x36\\x26\\xb7\\x32\\xd2\\x18\\xd8\\xcf\\xef\\xb4\\x5f\\xd6\\x69\\x3f\\x2f\\xb0\\x5f\\xd8\\xa9\\xbc\\xd9\\xb6\\xdf\\xda\\x41\\xcb\\xe2\\x49\\xf7\\x6d\\xe7\\x21\\xaf\\xa3\\x72\\x65\\x2a\\x72\\x5a\\x9d\\x6a\\xb2\\x3a\\x21\\x9b\\xdd\\xec\\x17\\x05\\xf6\\xf3\\x5d\\xf4\\xc0\\x7e\\x59\\xa7\\x7d\\xab\\x35\\x7f\\x5a\\x45\\xa4\\x29\\x96\\x8b\\xc6\\xf7\\xf2\\x0e\\x96\\xe6\\xfb\\x19\\xf2\\xdd\\x4a\\xf3\\xba\\x49\\xcb\\xef\\x94\\x66\\x75\\x93\\xcf\\xea\\x94\\xaf\\xa0\\x9b\\xfa\\x0a\\xba\\xa9\\xaf\\xa0\\x9b\\xfa\\x0a\\x3a\\xd5\\x57\\xdc\\x8d\\x7e\\xc5\\xdd\\xe8\\x57\\xdc\\x8d\\x7e\\xc5\\xdd\\xe8\\x57\\xdc\\x8d\\x7e\\xc5\\xdd\\xe8\\x57\\xdc\\x8d\\x7e\\xc5\\x5d\\xf5\\x2b\\x0b\\x77\\xd5\\xaf\\x43\\x5a\\xe7\\x7c\\x56\\x37\\xf9\\x3a\\xd7\\x57\\xd0\\x4d\\x7d\\x05\\xdd\\xd4\\x57\\xd0\\x4d\\x7d\\xdd\\xf5\\x5f\\x51\\xeb\\x24\\xeb\\x26\\xad\\x73\\xbe\\x82\\x6e\\xf2\\x15\\x74\\xc2\\xed\\x54\\x5f\\x87\\xb4\\xce\\xf9\\x0a\\xba\\xc9\\xe7\\xd5\\xe7\\xfe\\x20\\x4b\\x12\\x73\\xcc\\xbb\\x9c\\xa9\\xdb\\x0d\\x35\\xde\\xc9\\xd8\\x2a\\x18\\xad\\x82\\xa9\\xaf\\x8f\\x36\\xc5\\x5d\\x49\\x93\\xcb\\x85\\x17\\xcb\\xa5\\xc2\\x8d\\x43\\xde\\x32\\xe1\\x4a\\xba\\xbb\\x44\\xf8\\x42\\xcc\\x3f\\xc5\\xb5\\x44\\x6c\\xad\\x97\\xc7\\x5b\\x22\\x3c\\xc9\\x5b\\x1e\\xbc\\x4c\\x0d\\x31\\xbf\\xa2\\x1e\\x9d\\xae\\x52\\xf7\\xe8\\x74\\x4d\\x3a\\xa3\\xe3\\xd5\\xe7\\x1e\\x9d\\x2e\\x33\\xa7\\xb4\\xdf\\xb3\\x48\\x69\\xbf\\x4d\\x11\\x6a\\xbb\\x2b\\x91\\xd2\\x7e\\x0f\\xa2\\x67\\x27\\xa4\\xdc\\xba\\xca\\x9e\\x9d\\xc0\\x64\\x52\\x56\\x47\\xbc\\x8e\\x99\\xbc\\x7a\\x64\\x52\\x7a\\x3b\\x6a\\xdb\\x5e\\x6b\\x05\\x69\\x6d\\xd8\\x6d\\x87\\x5a\\x8b\\xe9\\x7e\\x9e\\xe6\\x4a\\xdd\\x2f\\xda\\x5c\\x99\\xde\\x5e\\xb7\\x9b\\xec\\xad\\xdb\\x52\\x48\\x6d\\xbd\\x73\\xe6\\x26\\xfa\\xa5\\x9b\\x2b\\x7b\\x04\\xdf\\x47\\xe2\\x1e\\xf0\\x97\\x30\\x79\\xc0\\x7f\\xb1\\xc9\\xb2\\xa6\\x68\\x75\\xb4\\x49\\xba\\x99\\x99\\x1e\\x87\\x78\\x4c\\x03\\x36\\x6a\\x4f\\x68\\xa3\\x45\\x9f\\x84\\xd3\\x5b\\x77\\xbd\\xa7\\xf5\\x7a\\xb5\\x11\\x50\\xfb\\x63\\x7b\\x19\\x6d\\x69\\x9d\\x76\\xbd\\x27\\xf6\\x32\\x03\\xa6\\x87\\x97\\xea\\x11\\x3c\\x48\\xb2\\xd9\\x7b\\x68\\x4f\\xba\\x5d\\xa5\\xe5\\x90\\x8d\\x80\\x6c\\xba\\xb2\\x98\\xb7\\xac\\xd4\\x96\\xc1\\x7c\\x37\\x98\\x63\\x13\\x7c\\x5d\\x47\\x27\\x8c\\x64\\x11\\xba\\xc3\\xfd\\xce\\x0c\\xde\\xdf\\xbd\\x65\\xe2\\x15\\xcf\\xbb\\xf1\\x53\\x73\\x6e\\x5b\\xed\\xed\\x9f\\xb1\\xc3\\xff\\x8a\\x8e\\xfb\\xfd\\xc1\\xb5\\x64\\x83\\xf7\\xd6\\xef\\x2c\\x42\\xc4\\x93\\x84\\x8a\\xa7\\xc4\\x36\\xc2\\xc5\\x0f\\xe2\\x07\\x29\\xff\\x28\\x7e\\x94\\xf2\\xbf\\xc4\\xbf\\xa4\\xfc\\x93\\xd8\\x2e\\xe5\\xdf\\xc4\\x6f\\x52\\x6e\\x11\\x2d\\x52\\xde\\xa1\\xdf\\x4e\\xa8\\x7e\\x87\\x7e\\x07\\xe1\\xfa\\x9d\\xfa\\xbb\\x52\\x7e\\x4f\\x7f\\x8f\\x30\\xfd\\xfd\\xd0\\x2c\\x42\\x43\\xb3\\x43\\x07\\x10\\xe6\\xbe\\x8b\\x49\\xca\\xf3\\x43\\x0b\\x09\\x0f\\x2d\\x0a\\x2d\\x71\\xbf\\xfd\\xec\\xbf\\x63\\xdc\\xc3\\x6f\\xdd\\x52\\x48\\x2e\\x59\\x4c\\x98\\x64\\x94\\x3a\\x92\\x51\\x1b\\xad\\x68\\x22\\xfd\\xbc\\x7c\\xee\\x17\\xbf\\x48\\x9b\\xe4\\xe5\\x76\\x09\\x48\\xb6\\x91\\xb8\\xdf\\x4a\\xda\\xe5\\x7b\\xc8\\xfb\\xc8\\x3a\\x0b\\xc8\\x24\\xe2\\x90\\x59\\x64\\xa1\\xf7\\xf5\\x81\\x0d\\xe4\\x54\\x72\\x0e\\xb9\\x84\\x5c\\x4d\\x36\\x91\\xb7\\xc9\\x27\\xe4\\x2b\\xf2\\x23\\x69\\xa1\\x2a\\xcd\\xa0\\x7d\\x64\\x1d\\x54\\xfe\\x7f\\x23\\x63\\x8d\\x50\\x7e\\xba\\xbf\\xcf\\xef\\xf2\\x63\\x71\\xbc\\x1f\\xa7\\x38\\x12\\x43\\xb6\\x20\\xb3\\x29\\xf3\\xb1\\xac\\x3e\\x59\\xb5\\xfe\\x5e\\xd6\\x0d\\x3d\\xf7\\xe8\\x79\\x75\\xaf\\xd1\\xfe\\x5e\\xaf\\x33\\x7b\\x7d\\x94\\x5d\\x90\\x7d\\xa2\\xbf\\x97\\xbd\\xa5\\xf7\\xac\\xde\\x4f\\xf4\\x99\\xea\\x97\\xef\\x73\\x9b\\x1f\\xf7\\x5f\\xe1\\xc7\\x83\\xfa\\x78\\xb9\\xf4\\x21\\x8f\\x0c\\xcd\\x1b\\xba\\x71\\xe8\\x47\\x39\\x93\\x72\\xce\\xcb\\xf9\\x6e\\xd8\\x0c\\x2f\\x35\\x7d\\xd8\\x89\\xc3\\xee\\x19\\xb6\\x75\\x78\\xbf\\xe1\\x53\\x87\\xaf\\x1d\\x7e\\xed\\xf0\\xd7\\x47\\xe8\\x23\\x8a\\x46\\xd4\\x8e\\x38\\x6f\\xc4\\x53\\xde\\x71\\x36\\xe2\\xf5\\x3d\\x54\\xbf\\x9e\\x3d\\xf6\\xf6\\xe3\\x51\\xaf\\xfa\\xf1\\xde\\xe7\\xf8\\xf1\\xd8\\x97\\xbc\\x56\\xd1\\xfc\\x33\\x11\\x5f\\x20\\xfb\\xcb\\x8d\\xef\\x22\\x94\\x9d\\xc3\\x1a\\x64\\x78\\x91\\xec\\xad\\x19\\xe4\\x02\\x72\\x99\\xec\\x95\\x1b\\xc8\\x6d\\xe4\\x1e\\xf2\\x20\\x79\\x8c\\x3c\\x43\\x5e\\x20\\xaf\\xca\\x3e\\xfa\\x80\\x6c\\x95\\xbd\\xb4\\x8d\\xfc\\x22\\x0b\\xa9\\x34\\x8d\\xf6\\xa4\\xfd\\xe8\\x10\\xba\\x07\\xdd\\x9b\\xe6\\xd1\\x02\\x3a\\x81\\x96\\xd2\\xa9\\x74\\x16\\x9d\\x4f\\x97\\xd2\\xe5\\xb4\\x9a\\xd6\\xd1\\x26\\xba\\x96\\x1e\\x41\\x8f\\xa5\\x1b\\xe9\\xe9\\xf4\\x1c\\x7a\\x11\\xbd\\x82\\x5e\\x4b\\x6f\\xa2\\x77\\xd0\\xfb\\xe8\\x66\\xfa\\x04\\xdd\\x42\\x5f\\xa2\\xaf\\xd3\\x77\\xe8\\x47\\xf4\\x33\\xfa\\x0d\\xfd\\x91\\x6e\\x67\\x8c\\xe9\\x2c\\x83\\x65\\xb3\\x01\\x2c\\x87\\x8d\\x62\\x63\\x98\\xc1\\x8a\\xd8\\x24\\x56\\xce\\xa6\\xb3\\x39\\x6c\\x21\\x3b\\xc8\\x1d\\x71\\xe5\\x1c\\x19\\x66\\x7b\\xe1\\x53\\x5e\\x48\\xda\\x43\\x56\\xe3\\xc9\\x6f\\x77\\x4e\\xa7\\xa7\\x77\\x4e\\xd9\\xf1\\x41\\x67\\xd9\\xcf\\x43\\x45\\x20\\xe7\\x90\\xce\\xa5\\x76\\x16\\xee\\x78\\x2c\\x90\\xb2\\xb6\\x4b\\x58\\xa5\\x5c\\xde\\x26\\xef\\xac\\x86\\x0f\\x76\\x55\\xf3\\x8e\\xe5\\x9d\\xe5\\x6e\\xea\\xd9\\x49\\x9f\\xd0\\x2d\\x9d\\xfb\\x04\\x29\\x5d\\xd0\\xd1\\x0f\\xe2\\xdf\\x69\\x75\\xd7\\x3a\\x91\\x67\\x79\\xb7\\x3a\\x33\\xa2\\x8a\\x1d\\xca\\x20\\x42\\xf4\\xf5\\xfa\\x7a\\x32\\x44\\xae\\x16\\x77\\x92\\xa1\\xfa\\xdd\\xfa\\x83\\x24\\x47\\xdf\\x2c\\x57\\x8e\\xd1\\xa1\\xfd\\xe5\\x9a\\x31\\xd5\\x3b\\xd7\\xbe\\xf1\\xce\\x73\\x55\\x8e\\x6e\\xb5\\xb2\\x42\\xca\\x83\\xe4\\x99\\x4c\\xc9\\x70\\x39\\x4f\\xdd\\xb5\\x83\\xf2\\xad\\x5e\\xad\\x54\\xd6\\xe3\\xe6\\xfe\\x29\\x90\\xdb\\x4d\\x7f\\x42\\x9e\\xdf\\x94\\x6c\\xf1\\xbe\\x5b\\x3a\\x8a\\x8c\\x21\\x06\\x29\\x92\\x6b\\x40\\x39\\x99\\x4e\\xe6\\xc8\\x55\\xe0\\x20\\x52\\x41\\x6a\\xbd\\x6f\\x33\\xac\\x97\\xab\\xc1\\xf1\\xe4\\x14\\xb7\\x1c\\x5b\\xdc\\x1a\\xd2\\x29\\x6c\\x93\\x94\\x6f\\xe7\\x25\\xb2\\x8e\\x87\\xd9\\x20\\x19\\x1a\\x6e\\x0a\\x31\\xf8\\xfa\\xd6\\x50\\xce\\x4e\\x37\\xe7\\x23\\x64\\x82\\x1b\\x06\\xca\\xde\\xc3\\x36\\xc8\\xf0\\x26\\xf6\\x42\\x5b\\xfa\\x15\\xec\\x2c\\x19\\xde\\x44\\x9f\\x6c\\x0d\\x49\\x4f\\x45\\x55\\xd2\\x94\\x0c\\x25\\x4b\\xc9\\xf6\\xdf\\xab\\x2b\\xfb\\xa3\\xfd\\x1d\\x7f\\xee\\x1b\\xfe\\x36\\xeb\\x0f\\x7b\\xed\\xfa\\xbe\\xbd\\x5d\\xae\\x06\\x72\\x25\\x7e\\x8e\\x30\\xd9\\x83\\xf2\\x6c\\xa5\\x06\\x2d\\xa2\\x93\\x68\\x39\\x9d\\x4e\\xe7\\xd0\\x85\\xf4\\x20\\x5a\\x41\\x6b\\x69\\x03\\x4d\\xd2\\xf5\\x74\\x03\\x3d\\x9e\\x9e\\x42\\xcf\\xa4\\xe7\\xd1\\x4b\\xe8\\x95\\xf4\\x7a\\x7a\\x0b\\xbd\\x8b\\x6e\\xa2\\x8f\\xd0\\xa7\\xe8\\x73\\xf4\\x15\\xfa\\x26\\x7d\\x8f\\x7e\\x42\\xbf\\xa0\\xdf\\xd1\\x9f\\x68\\x0b\\x13\\x2c\\x85\\x65\\xb2\\x3e\\x6c\\x10\\x1b\\xce\\x46\\xb3\\x5c\\x66\\xb1\\xf1\\x6c\\x0a\\x73\\xd8\\x0c\\x36\\x97\\x2d\\x66\\x87\\xb0\\x2a\\xb6\\x82\\x35\\xb2\\xd5\\xec\\x30\\x76\\x34\\x3b\\x91\\x9d\\xca\\xce\\x62\\x17\\xb0\\xcb\\xd8\\xd5\\xec\\x06\\x76\\x1b\\xbb\\x87\\x3d\\xc8\\x1e\\x63\\xcf\\xb0\\x17\\xd8\\xab\\xec\\x6d\\xf6\\x01\\xdb\\xca\\xbe\\x62\\xdb\\xd8\\x2f\\x9c\\x70\\x95\\xa7\\xf1\\x9e\\xbc\\x1f\\x1f\\xc2\\xf7\\xe0\\x7b\\xf3\\x3c\\x5e\\xc0\\x27\\xf0\\x52\\x3e\\x95\\xcf\\xe2\\xf3\\xf9\\x52\\xbe\\x9c\\x57\\xf3\\x3a\\xde\\xc4\\xd7\\xf2\\x23\\xf8\\xb1\\x7c\\x23\\x3f\\x9d\\x9f\\xc3\\x2f\\xe2\\x57\\xf0\\x6b\\xf9\\x4d\\xfc\\x0e\\x7e\\x1f\\xdf\\xcc\\x9f\\xe0\\x5b\\xf8\\x4b\\xfc\\x75\\xfe\\x0e\\xff\\x88\\x7f\\xc6\\xbf\\xe1\\x3f\\xf2\\xed\\x82\\x09\\x5d\\x64\\x88\\x6c\\x31\\x40\\xe4\\x88\\x51\\x62\\x8c\\x30\\x44\\x91\\x98\\x24\\xca\\xc5\\x74\\x31\\x47\\x2c\\x14\\x07\\x89\\x0a\\x51\\x2b\\x1a\\x44\\x52\\xac\\x17\\x1b\\xc4\\xf1\\xe2\\x14\\x71\\xa6\\x38\\x4f\\x5c\\x22\\xae\\x14\\xd7\\x8b\\x5b\\xc4\\x5d\\x62\\x93\\x37\\x37\\x1c\\x37\\x54\\xaf\\x94\\x63\\xb3\\xcd\\x95\\xe9\\x36\\x4f\\xde\\xe2\\xc9\\x5b\\x5c\\x99\\x0d\\xf2\\xf2\\x0c\\xf2\\xe4\\x59\\x9e\\x3c\\xcb\\x93\\x03\\x65\\x3b\\xc8\\xc1\\x3c\\x3b\\xc9\\x4f\\xdf\\xf3\\xea\\x7f\\xaf\\x33\\x2e\\x5b\\xec\\xe5\\x59\\xdc\\xa5\\xec\\x26\\x4f\\xde\\xd4\\x05\\x6b\\x94\\x27\\x8f\\xea\\x92\\xbf\\xd1\\x93\\x1b\\x3d\\xb9\\xdc\\x93\\xcb\\xbb\\xc8\\x41\\xac\\x60\\x7a\\x9e\\x27\\xe7\\x79\\xba\\x3d\\xe2\\xe9\\xf6\\xc8\\x2e\\xdb\\xb8\\xb3\\x7e\\xd8\\xb5\\xac\\x77\\x49\\xdf\\x49\\x3f\\xef\\x4e\\xff\\x74\\xd0\\x33\\xa8\\xdb\\x46\\x4f\\xfe\\x69\\xb7\\x65\\x5f\\x9f\\xb3\\x76\\x25\\x77\\x98\\x27\\xbe\\x5c\\xdb\\x45\\xff\\xa0\\x9e\\xde\\xd8\\xd1\\x8c\\x76\\x2c\\x7a\\x65\\x97\\xfa\\x5f\\x68\\xcf\\x83\\x3a\\x4f\\xf7\\xe4\\x57\\xdb\\xe5\\x0e\\x75\\x7a\\xf5\\xf0\\x34\\x4f\\xd6\\xbd\\x3c\\x53\\x02\\x75\\x6e\\x08\\x8c\\xe9\\xe2\\x9d\\xc8\\x7a\\x97\\xb1\\x7e\\x2f\\xa0\\x5b\\xb0\\x4f\\x46\\x05\\xe6\\x9e\\xdf\\x03\\x7e\\x5b\\x74\\x5f\\x5b\\x3f\\x8f\\x7f\\xd6\\xf8\\x75\\x06\\xc2\\xaf\\x02\\xb8\\x01\\x19\\xe3\\x75\\x7a\\x27\\x79\\xf7\\xd9\\x20\\xab\\xed\\xfd\\xe8\\xee\\xdb\\xd1\\x5f\\xf6\\xde\\x8a\\xfe\\xba\\x78\\xd7\\x7b\\x07\\xfa\\x27\\x72\\x4d\\xfc\\x55\\xda\\x9e\\xd2\\x6e\\x95\\x36\\x9e\\xfb\\xb5\\x1e\\x42\\xe6\\xca\\x6d\\xb1\\xdc\\x0e\\x91\\x5b\\x95\\xdc\\x56\\xc8\\xad\\x51\\x6e\\xae\\xd5\\x7b\\x98\\xdc\\x8e\\x96\\xdb\\x89\\x72\\x3b\\x55\\x6e\\x67\\xc9\\xed\\x02\\x89\\x71\\x99\\x8c\\xaf\\x6e\\xd3\\xbb\\xfa\\xbf\\x2c\\x6c\\x08\\xcc\\xfb\\x0c\\x4f\\xbe\\xa0\\x6d\\x1d\\xcf\\xfd\\x7f\\xeb\\xf8\\xbf\\xb5\\x8e\\xcf\\x72\\x6d\\x7e\\x84\\x79\\x81\\xb0\\xba\\x3d\\xe4\\x33\\xdb\\xc3\\x60\\x7a\\x87\\xf0\\xa0\\x5d\\x1e\\xed\\x12\\xd2\\x2b\\x03\\xe1\\xb6\\x40\\x18\\x48\\xdf\\x59\\x59\\x69\\x81\\xb4\\xa7\\x94\\x07\\xc2\\xc5\\x81\\xf0\\xac\\xf6\\x90\\xde\\xd3\\x1e\\xb2\\xf1\\xed\\x21\\xdf\\xec\\xa5\\xb7\\x74\\xae\\x87\\xfb\\x6d\\xa9\\xf3\\xe4\\x63\\xbd\\x3c\\x8f\\x74\\xa9\\x7f\\xb7\\x5b\\x8a\\xb0\\x6b\\x29\\x3d\\xd0\\xf3\\xb3\\x76\\xd5\\xcf\\xbb\\xd3\\x3f\\xbe\\x86\\xd0\\x33\\x88\\xf2\\xc2\\x1f\\x0b\\x69\\x6d\\xa0\\xdf\\x6a\\x3b\\xf7\\x24\\xc2\\xe0\\x3c\\x59\\xdc\\x8e\\xcb\\x27\\x05\\xd2\\x83\\xf9\\x2f\\xf1\\xf2\\x64\\x78\\xf2\\x46\\x4f\\x1e\\x13\\xd0\\xf0\\x5a\\x2f\\xdc\\xe4\\xa5\\xf7\\x0b\\xb4\\xd1\\xfb\\x56\\x16\\xdd\\x12\\x08\\x83\\x6d\\xbf\\x36\\x10\\x56\\x07\\xb4\\x0d\\xd4\\x19\\xec\\xb7\\x0e\\x63\\x17\\x08\\xbb\\x19\\xeb\\x6d\\x5d\\x7a\\x26\\xd8\\x96\\xea\\x40\\x5b\\x82\\xfd\\x30\\xaa\\x5d\\xcf\\x60\\xfd\\x1d\\xe6\\x79\\xd7\\x70\\x7e\\x27\\x79\\xf7\\xd7\\xf1\\x01\\xe2\\x29\\xf1\\xac\\x78\\xa9\\xc3\\xd7\\x2c\\xde\\xef\\xe6\\xfb\\x15\\xdf\\x89\\x6d\\x62\\xbb\\x68\\xf1\\xdf\\xde\\x4c\\x06\\x90\\xdd\\x59\\xc1\\x09\\x56\\x70\\xff\\x3b\\xbe\\xb7\\xc9\\xcd\\x3d\\x77\\x1e\\x94\\xdb\\x63\\x72\\x7b\\x46\\x6e\\x6e\\xbf\\xbc\\x2a\\xb7\\xb7\\xe5\\xf6\\x81\\xd4\\x66\\xab\\x8c\\xbf\\x92\\x9b\\xdb\\x77\\xbf\\xb8\\xa7\\x68\\x97\\x73\\x20\\x7b\\x27\\xe1\\xce\\xf2\\xec\\xac\\x54\\xd7\\xfc\\x3b\\x4b\\x31\\x76\\x5a\\x0f\\xf7\\x7c\\x20\\xea\\xee\\xbb\\xb9\\x88\\x7b\\xe5\\x43\\x7a\\xff\\xe2\\x47\\xc9\\x7d\\xcc\\xbd\\x0a\\x13\\x18\\x01\\xb7\\xef\\x87\\xca\\xa3\\x19\\xbb\\xe2\\x4d\\x59\\x23\\x93\\x35\\x4e\\xf0\\xea\\x24\\x9d\\x6a\\xfc\\xbd\\xb2\\xdd\\x23\\xfe\\x8e\\x8e\\xde\\xcc\\x20\\xde\\x9c\\xa0\\xde\\x9c\\x18\\xf6\\x9f\\xd6\\xb1\\x1b\\x44\\x57\\xc7\\xe9\\xd0\\x71\\xb9\\x57\\x63\\xa6\\x0c\\xfb\\xff\\x81\\x99\\xd9\\x3a\\x2f\\x77\\xd6\\xeb\\x29\\xdd\\xd5\\xf5\\xdf\\x80\\xdb\\xe3\\x77\\xca\\xfd\\x97\\x6a\\xd0\\xed\\x58\\xfe\\x9f\\xd7\\x60\\x67\\x7d\\xcf\\x88\\xd5\\x61\\x16\\x65\\xfd\\xee\\xec\\xd9\\xf5\\xb9\\xe5\\xb6\\xc4\\x42\\x4b\\xa6\\xef\\x66\\x8d\\x3b\\x1b\\x37\\x1f\\xe7\\xff\\xa7\\x8e\\x3b\\x99\\xe9\\xff\\x86\\x8e\\xdd\\xf6\\x6b\\xbb\\x8e\\xd3\\x49\\x5d\\x40\\xc7\\x9e\\xff\\xe6\\xf8\\xfd\\xfe\\x5c\\xd9\\x59\\xbf\\xbb\\x1a\\x54\\xfc\\x97\\x68\\xd0\\xfd\\x5c\\xd9\\x15\\xee\\x7f\\x5b\\xcb\\xbb\\x1d\\xcd\\xff\\x86\\x96\\x77\\x37\\xf6\\xb8\\x42\\x7c\\xd9\\xff\\xf0\\x2b\\xc4\\xdf\\xb8\\x3e\\xd6\\xce\\x42\\xb6\\xda\\xbf\\x62\\xd0\\x7d\\x7a\\x87\\xfc\\x24\\x20\\x9f\\xd2\\xa5\\xec\\x53\\x81\\x70\\x97\\x88\\x5d\\x43\\x7a\\x48\\xe7\\x30\\x98\\xbe\\xd3\\xb2\\x64\\xb7\\x8f\\xee\\x3a\\x67\\xd7\\x3e\\x79\\xc1\\xbf\\x32\\xd0\\x39\\xa5\\x9b\\xfa\\x4f\\xe9\\xd2\\x03\\xbb\\xdf\\xea\\x6d\\x3b\\x39\\x3a\\xc1\\xf5\\x86\\x11\\xb6\\xa7\\xef\\xbe\\x2d\\xc9\\xc5\\x0b\\xe2\\x3d\\xf1\\xb1\\x77\\x77\\xcb\\xb5\\x6c\\xdd\\xb3\\x62\\x80\\x7b\\x95\\xc4\\xbb\\x56\\x32\\xd7\\x0b\\x2f\\xf6\\x5a\\xe5\\xcf\\xdf\\x4b\\xfe\\x67\\xcf\\x5f\\x31\\xc0\\xd3\\xf8\\x58\\x4f\\xe3\\x8d\\xed\\x32\\xdf\\x1a\\xb8\\x9a\\xf0\\x66\\x7b\\x4a\\x30\\x9d\\xe7\\x04\\xc2\\xc6\\xee\\xf3\\xf8\\xd7\\x35\\x82\\xe9\\x1d\\xc2\\xbb\\x3a\\x23\\xf2\\x83\\xdc\\x10\\x5a\\xf9\\x47\\xad\\x2e\\xe1\\xd6\\xf6\\xbe\\x0e\\xea\\x8f\\xf4\\xa0\\x56\\x81\\x3a\\xfd\\xda\\x94\\xec\\xf6\\x52\\x41\\xb9\\x6b\\xb8\\xd3\\x3e\\xd9\\x18\\x48\\xf7\\x53\\x2e\\xe9\\x82\\x1b\\xcc\\xbf\\xb3\\x1e\\xd8\\x75\\xab\\x83\\xf5\\x1c\\x1b\\x48\\xbf\\xab\\x4b\\x9e\\x9c\\x3f\\x34\\x7f\\x99\\x78\\x45\\xbc\\xe6\\xdd\\x01\\x4d\\xf1\\xed\\x20\\x5c\\x09\\x7c\\xef\\x7f\\xcf\\x9c\\xe5\\x5b\\x3d\\x0f\\x74\\xaa\\x17\\xe6\\x78\\x5e\\xcb\\x4f\\x9e\\x7c\\x85\\x27\\xf7\\xf4\\x3c\\xc4\\x96\\xf6\\x94\\x60\\xba\\x98\\x41\\xda\\xbc\\x6f\\xbf\\x6c\\x30\\x0f\\x6a\\x7b\\xb3\\x73\\xba\\xb8\\xa5\\xdd\\xe7\\x65\\x1f\\x79\\xf2\\xfa\\x80\\x5f\\x1c\\xac\\xe7\\x3c\\x2f\\x4c\\xeb\\x12\\x6e\\x0d\\xe0\\x6e\\xed\\xac\\x33\\x6a\\x08\\xd6\\x53\\xdd\\x8e\\xd8\\x41\\xc3\\x60\\xb8\\xb5\\x4b\\xb8\\xb3\\x3e\\x59\\xdd\\xde\\x03\\xc1\\x94\\x9d\\xf5\\x46\\xb0\\x07\\x82\\x6d\\x47\\x0f\\x74\\x6d\\x75\\xa0\\x4e\\xe8\\x30\\x29\\x90\\x7f\\x53\\x7b\\xe8\\x23\\x7a\\xe1\\x1f\\x99\\xb3\\x2f\\x8a\\x8f\\x3a\\xcc\\xd9\\xc7\\xc9\\x68\\x19\\x3e\\x2a\\xf7\\x7d\\x4f\\x6d\\x52\\xc0\\x3e\\xe9\\xd5\\x56\\xe2\\xf7\\x6d\\x1e\\x4a\\xfa\\x78\\xdf\\xa4\\x74\\xbf\\x48\\xa9\\x2b\\xa9\\x4a\\x0f\\xa5\\xaf\\x7e\\x8f\\x77\\x2f\\xcc\\xfd\\xb2\\x95\\xfb\\x5d\\xab\\xe7\\xf4\\x17\\xf5\\x97\\xf5\\x37\\xf4\\xb7\\xdd\\xaf\\x3c\\x49\\x34\\x4e\\x86\\x90\\x3d\\xc8\\xde\\x6e\\xc9\\x6e\\xf0\\xa8\\xf8\\xdc\\x0b\\x3f\\xfd\\x0f\\xd4\\xbc\\xed\\x3f\\x5c\\xf3\\xe7\\xff\\xb1\\x9a\\xbf\\xf8\\x8f\\xd5\\xfc\\xd5\\x7f\\xac\\xe6\\xaf\\xff\\x8d\\x9a\\xdd\\x99\\x38\\x7c\\x27\\x33\\xd1\\xaf\\xf7\\x8f\\xd7\\xe8\\x6b\\xda\\x5a\\xa3\\xeb\\x53\\xa9\\x9e\\x15\\xed\\x5b\\xd0\\xdb\\x3a\\x8c\\xdf\\xee\\xe6\\x7f\\x13\\xa3\\xf2\\xc7\\xea\\xdf\\xfd\\xfc\\x7e\\xfd\\x5f\\xee\\x76\\xfe\\x17\\xff\\x60\\xfe\\x67\\x31\\xf6\\xbb\\x9b\\xff\\x53\\x8c\\xe8\\xee\\xe6\\xff\\xfc\\x0f\\xe6\\x7f\\xf6\\x0f\\xe6\\x7f\\xf1\\x0f\\xe6\\x7f\\xf3\\x0f\\xe6\\x7f\\xeb\\x0f\\xe6\\xdf\\x16\\xc8\\x3f\\x5c\\xae\\xac\\x4c\\x9e\\x19\\x83\\x50\\xa2\\x77\\xa0\\xc6\\xb7\\x49\\xeb\\x13\\x12\\x54\\xc9\\xda\\xcd\\xdc\\xdf\\x23\\xf7\\xff\\x12\\xdb\\x42\\xda\\x60\\xe7\\x78\\x16\\xd7\\x39\\x9e\\x65\\xe5\\x86\\xe7\\x79\\xe1\\xd6\\x40\\xfa\\xb1\\xed\\x29\\xa2\\xa8\\x73\\x4a\\xd7\\xb0\\x43\\x9d\\xbb\\xcc\\xc9\\x5f\\x09\\x84\\x01\\x44\\x31\\x23\\x90\\xd2\\xd8\\x25\\x0c\\xa4\\x77\\xc0\\xda\\x19\\x4a\\x20\\x54\\xae\\x6f\\xaf\\x3f\\x28\\xfb\\xf5\\x04\\x43\\x94\\xea\\xda\\x27\\x77\\xb5\\xa7\\x20\\xe7\\x5d\\xbb\\xd1\\x0f\\x3b\\x69\\x7b\\x30\\x4f\\x50\\x93\\x6e\\xea\\x09\\xa2\\xdf\\xd5\\xa9\\x87\\xff\\x88\\x6d\\xe1\\x5f\\xc9\\x6a\\xb3\\x2d\\xfc\\x27\\x79\\x10\\xfa\\x73\\x76\\xcb\\xff\\xec\\x39\\x0b\\xfb\\x2a\\x78\\x75\\x7f\\x54\\xc0\\xee\\x0a\\xa6\\x77\\x49\\x09\\xde\\x5d\\xc2\\xdd\\xa2\\x4d\\x3b\\x29\\xbb\\x93\\x52\\xbf\\x13\\xee\\xb2\\x9e\\x6e\\xf2\\x6c\\xda\\x89\\x3e\\xbb\\x51\\x5b\\xd0\\x8a\\xde\\x69\\xce\\x5d\\xa6\\xef\\xb4\\x37\\xfe\\x68\\xdb\\x77\\xdd\\x7b\\xc1\\xbb\\x5a\\x63\\xda\\xc2\\xdd\\x9f\\xb3\\xff\\xce\\xd5\\xb7\\xfe\\x12\\xc1\\x45\\x77\\xef\\xde\\x35\\x11\\xf7\\xb9\\x5b\\x42\\x8e\\x90\\x9b\\x6b\\xa1\\xbb\\xf7\\x19\\x4f\\x97\\xdb\\x39\\x72\\xbb\\x48\\x6e\\xae\\x35\\xef\\xde\\x15\\xbc\\x49\\x6e\\x77\\xc8\\xed\\x3e\\xb9\\x6d\\x96\\xdb\\x13\\x72\\x73\\xef\\xda\\xbd\\x24\\xb7\\xd7\\xe5\\xf6\\x8e\\xdc\\x5c\\x6f\\xe8\\x33\\xb9\\x7d\\x23\\xb7\\x1f\\x65\\x4b\\xc6\\xbb\\x1c\\xb3\\x5b\\x61\\xbf\\xdd\\xce\\xf9\\x07\\x43\\x79\\x4e\\xba\\xe1\\x2f\\xed\\x21\\xce\\xe3\\xbb\\xfe\\x67\\x9f\\xc7\\xad\\xcf\\xfc\\x78\\x9e\\x78\\x79\\x20\\x1c\\xd5\\x7e\\x1d\\x01\\x57\\x55\\x46\\x75\\x4e\\x47\\xa9\\x51\\x81\\xeb\\x0e\\x5d\\xf2\\x74\\xf3\\x9c\\xc8\\xa8\\xdf\\x0f\\xfd\\xeb\\x6f\\xbb\\x95\\x73\\x5b\\xf7\\xf9\\x83\\xfa\\x04\\x8f\\x42\\xfe\\xaa\\x8b\\xbc\\xad\\xfb\\xb0\\x6b\\x9f\\xf8\\xd7\\x80\\x82\\x6d\\xf1\\x53\\x82\\xa5\\x3a\\xf4\\xc6\\xc6\\x3f\\xd8\\x8a\\x40\\x5f\\xd1\\xd3\\xdb\\xd3\\xfd\\x30\\x78\\x35\\x27\\x80\\xb8\\xfb\\xe7\\xf1\\xae\\xef\\x89\\xb8\\x57\\x17\\xdd\\x67\\x2f\\xa6\\x90\\x3f\\xfa\\x84\\x11\\xe5\\xdb\\x3d\\xcd\\x1a\\xbb\\x0f\\x45\\x66\\x20\\xe5\\x19\\x2f\\xe5\\x88\\x40\\x8a\\x7f\\x6d\\xe9\\xbc\\x80\\xfc\\x8a\\xf7\\x34\\xd1\\xff\\x0e\\x2e\\xfc\\xa3\\xcf\\x9a\\xec\\xfe\\x53\\x38\\xdb\\x76\\x23\\xcf\\xe9\\xed\\x32\\x79\\xea\\x3f\\xa5\\xc9\\x6e\\x69\\x7b\\x7c\\x7b\\xf8\\xdf\\x89\\xfb\\x5f\\xd4\\xea\\xff\\x2b\\xb8\\x90\\x37\\xba\\xdc\\xc3\\xdd\\xf3\\xb3\\x5d\\xee\\x1a\\xba\\x47\\xef\\xfa\\x9d\\x3c\\x7f\\x34\\x24\\x3b\\xc7\\x75\\x7f\\xbd\\x41\\xa7\\x90\\xf6\\xab\\x6a\\x9e\\x4f\\xf8\\xdb\\x47\\xad\\xff\\x2d\\x8d\\xdd\\xf8\\x88\\x6e\\x1e\\xf7\\x3f\\xcd\\xf3\\xeb\\x9e\\xda\\x51\\x04\\x3f\\x8f\\x10\\xff\\xf7\\x33\\x93\\x64\\x7f\\x06\\x7f\\x3f\\xe3\\xda\\x9f\\x6c\\xe6\\xfe\\xe5\\x39\\x24\\x73\\xde\\xdc\\x52\\x19\\xe2\\x17\\x34\\xac\\xed\\xd7\\x34\\xfe\\x6f\\x70\\x78\\x65\\x65\\xbd\\xd4\\xaa\\xaa\\x2e\\x56\\x43\\x06\\xd5\\xc5\\x2b\\xeb\\xa4\\x47\\xe9\\x8e\\x3e\\xc3\\xaf\\x87\\x5a\\x7f\\xa1\\xa3\\x48\\xe4\\x6c\\xe9\\x65\\xee\\x41\\xc6\\x20\\x6d\\x34\\x7e\\x33\\x33\\x09\\xf1\\x2c\\xf7\\x69\\x75\\x39\\x7b\\x32\\xfd\\x7d\\x36\\x5d\\xd6\\x91\\x49\\x94\\xd0\\x22\\xf2\\x25\\x99\\x1e\\x5a\\x12\\x5a\\x2c\\x53\\x15\\xfe\\x3e\\xff\\x90\\x7f\\xc4\\xbf\\xe6\\xdf\\xc9\\xbd\\x9e\\x7e\\x5f\\x10\\xe1\\xfe\\x6a\\x48\\x49\\xf5\\x5a\\x24\\x75\\xa4\\x17\\xc9\\xf9\\x51\\x44\\x4a\\xe5\\x2a\\xb7\\x90\\x2c\\x97\\x2b\\x6c\\x52\\xce\\x8d\\x13\\xe5\\x8a\\x77\\xa5\\x9c\\x03\\x9b\\xc9\\x9b\\xe4\\x23\\xf7\\xa7\\x38\\x34\\x5b\\xae\\x6b\\xa3\\xa9\\x21\\xd7\\x34\\x87\\xce\\xa1\\xee\\x2f\\x5c\\x44\\x68\\xbe\\xec\\xd3\\x6d\\x9e\\xb4\\xa0\\x4d\\x5a\\xd8\\x26\\xcd\\x93\\xd2\\xf7\\x1e\\xde\\x93\\x6d\\xd2\\x53\\x6d\\xd2\\xd3\\x6d\\xd2\\x33\\x9e\\x24\\xcf\\x00\\x92\\xa6\\xbf\\x2d\\xe5\\x6f\\xf4\\xbf\\xb5\\x1d\\xdb\\xd2\\x26\\x3d\\x1b\\xc8\\xf5\\x9c\\x2b\\xeb\\xb7\\xcb\\xf0\\x73\\xef\\x17\\x58\\x19\\x24\\x5b\\x9e\\x1d\\x4c\\x7c\\x1a\\x9a\\x29\\xc3\\xaf\\xf5\\xe7\\xdb\\x4a\\xbd\\xe0\\x49\\x6e\\x9e\\x4c\\xd2\\x27\\xb4\\x3f\\xe1\\xe2\\x7b\\xf1\\x4d\\x68\\x86\\x87\\xf2\\x62\\x5b\\xae\\x97\\xda\\xa4\\x97\\xdb\\xa4\\x57\\xda\\xa4\\xbf\\xb7\\x49\\xaf\\xb6\\x49\\xaf\\xb5\\x49\\xaf\\xb7\\x49\\x6f\\x78\\x92\\x26\\x91\\xfa\\x91\\x1c\\x39\\x5e\\x79\\xa4\\x80\\x4c\\xd0\\x1f\\x95\\x98\\x3f\\x4b\\x6d\\x1f\\xf5\\xb0\\x7f\\xd6\\x1f\\x91\\xf1\\x4f\\x72\\xff\\x11\\x6f\\xff\\x27\\xfd\\x4d\\xaf\\x2d\\x0f\\xcb\\xf0\\x67\\x7d\\xb3\\x0c\\x7f\\xf2\\xea\\x7a\\x0b\\xad\\xd5\\xe4\\x79\\x2d\\xcf\\x30\\xb9\\x36\\x28\\x84\\x2b\\x9a\\x1c\\xb5\\x14\\x25\\x5d\\x49\\x27\\x3d\\x94\\x1e\\x4a\\x26\\xc9\\x54\\x7a\\x2a\\xbd\\x48\\x4f\\xa5\\xb7\\xd2\\xdf\\x7b\\x72\\x89\\x78\\xb3\\xdb\\xbd\\x22\\xe7\\xcf\\x1a\\x77\\x66\\x28\\xb2\\x2c\\x51\\x52\\x94\\x5e\\x8a\\xfb\\xc4\\x10\\xf7\\xd6\\x86\\x1f\\x77\\xfa\\x8c\\xc4\\x74\\x39\\xf3\\x32\\x65\\x0d\\x63\\xa4\\xee\\x53\\xd0\\xdb\\x8f\\x7b\\x7d\\xfa\\x98\\x0c\\xbf\\xf2\\x74\\xfb\\x87\\xeb\\x43\\x7a\\xd2\\x3b\\x6d\\xd2\\xbb\\x6d\\xd2\\x9d\\xc8\\x17\\xc0\\xfd\\xff\\x02\\x00\\x00\\xff\\xff\\x7c\\x22\\x13\\xc6\\x28\\x32\\x04\\x00\")\n\nfunc liberationmonoItalicTtfBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_liberationmonoItalicTtf,\n\t\t\"LiberationMono-Italic.ttf\",\n\t)\n}\n\nfunc liberationmonoItalicTtf() (*asset, error) {\n\tbytes, err := liberationmonoItalicTtfBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LiberationMono-Italic.ttf\", size: 274984, mode: os.FileMode(420), modTime: time.Unix(1459927769, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _liberationmonoRegularTtf = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\xe4\\xbd\\x77\\x60\\x54\\xd5\\xf6\\xc7\\xbb\\xf7\\x39\\x67\\x4a\\x7a\\x2f\\x10\\x60\\x26\\x84\\x84\\x12\\x20\\x90\\x50\\x04\\x81\\x0c\\x25\\x21\\x34\\xe9\\x9a\\x80\\x90\\xd0\\x11\\x95\\x16\\x10\\x45\\xa5\\x89\\x8a\\xf4\\x26\\xa8\\x20\\xa0\\xa2\\x02\\x82\\x0c\\x45\\x08\\x88\\x80\\x80\\x05\\x05\\xc5\\x6b\\x57\\x54\\x04\\x25\\x16\\x04\\x14\\x3b\\x64\\xe6\\x7d\\xf6\\x99\\x33\\x24\\x72\\xf5\\xde\\xfb\\x7b\\xef\\xcf\\xc7\\x75\\x65\\x9f\\xb3\\xcb\\x5a\\xdf\\xf5\\x5d\\x6b\\xb7\\x13\\xf4\\x0a\\x29\\x84\\x88\\xe5\\x87\\x21\\xdc\\xf9\\xf9\\xfd\\x7a\\x0c\\x89\\xab\\x19\\x26\\x8c\\x25\\xd7\\x51\\x5b\\xa3\\x73\\xa7\\xbc\\xfc\\xbb\\x3e\\x1d\\xff\\x0e\\xef\\xfd\\x78\\x9f\\xd3\\xb9\\x57\\xcf\\xbe\\x6f\\xdf\\xf0\\x76\\x6f\\xde\\x4f\\x0a\\x91\\xd3\\xae\\x73\\xdf\\xfe\\x1d\\xea\\xed\\xb8\\xb5\\x58\\x18\\xaf\\xd4\\x10\\x42\\xaf\\xdd\\xb3\\x6f\\x56\\xb6\\x18\\xbb\\xf7\\x01\\x21\\xe4\\x06\\xfa\\x97\\x0c\\xbb\\x7d\\xc8\\xf8\\x8e\\x35\\x6a\\xbc\\x2f\\x44\\xdd\\xd1\\x42\\xd8\\x1b\\x0f\\xbb\\x63\\x92\\x7b\\x94\\xfd\\xf6\\x9b\\x84\\x68\\xfd\\xba\\x10\\xda\\xf3\\x23\\xc7\\x8f\\xba\\x7d\\xda\\x90\\x5d\\x31\\x42\\x34\\x7a\\x44\\x08\\xc7\\xce\\x51\\x43\\x4a\\xc7\\x8b\\x64\\x11\\x82\\xfe\\x7a\\x8c\\x8f\\x1e\\x75\\xdb\\x5d\\x23\\xeb\\xf7\\x9a\\xfc\\x8b\\x10\\x43\\x4f\\x0a\\xfd\\xd5\\xdf\\x47\\x8f\\x18\\x32\\xfc\\xca\\xd8\\xd9\\x3e\\xf4\\x37\\xa4\\xbd\\xc5\\x68\\x2a\\x9c\\x87\\xec\\xad\\x78\\x1f\\xce\\x7b\\x9d\\xd1\\xb7\\x4f\\xba\\xf3\\x53\\xe7\\xfc\\xb7\\xd0\\xed\\x14\\x22\\xbd\\xe4\\xb6\\x71\\xc3\\x86\\xc4\\xf6\\x1e\\xbc\\x58\\x88\\xb6\\x77\\xf2\\x3e\\xfc\\xf6\\x21\\x77\\x8e\\x8f\\x78\\xdb\\x38\\x48\\xff\\x39\\xf4\\x77\\x8f\\x1d\\x72\\xfb\\x88\\x71\\x73\\x5b\\x4e\\x11\\x46\\xfd\\xf7\\x84\\x08\\x7b\\x66\\xfc\\xb8\\xd2\\x49\\x6d\\x5e\\x5f\\xbe\\x4d\\x18\\xcd\\xef\\x11\\x62\\xe0\\x73\\xe3\\x27\\x8e\\x18\\xff\\xfa\\xa5\\xf9\\x8b\\x84\\x68\\xde\\x5d\\x08\\xdb\\x54\\x93\\x2b\\x4d\\x88\\x6d\\x1b\\x65\\x4e\\x71\\x54\\x9b\\x5f\\x34\\x17\\x66\\xf8\\x73\\x6c\\x59\\xcd\\xce\\xc1\\xf2\\x4a\\x7a\\xc5\\xa3\\xb6\\x1f\\x1d\\x1f\\xf3\\xaa\\x1a\\xa5\\xd9\\x81\\x9f\\xf6\\x8d\\x15\\x8f\\x42\\xf2\\xf1\\x2b\\xe9\\x7f\\x4e\\xb5\\xfd\\x68\\xd5\\x5f\\xfd\\x13\\x52\\xa8\\x6a\\x42\\x0a\\x65\\x6d\\x51\\x20\\x06\\x0a\\x3b\\x56\\xa2\\x45\\x96\\xb8\\x19\\x56\\xf7\\xe8\\x31\\x42\\xa7\\x55\\x37\\x8e\\xcb\\xc5\\xc2\\x06\\x8e\\xc7\\x6c\\x39\\xa8\\xac\\x19\\x28\\xf5\\x21\\x62\\xa4\\x16\\xeb\\xb4\\x69\\x0e\\x23\\x44\\xd3\\x6c\\x9a\\x61\\x9c\\x12\\xa1\\x7e\\x8f\\xb8\\xd3\\x1f\\xb4\\xde\\xb4\\x7d\\xdf\\x8e\\xc2\\x23\\xdc\\xbe\\x34\\xa3\\xdc\\x37\\x4d\\x21\\xd1\\x46\\x95\\x08\\x79\\xe0\\x8b\\xdf\\xc0\\xd3\\xda\\x96\\xa7\\x98\\x10\\x91\\xc6\\x71\\x31\\x5d\\xf5\\xa6\\xb4\\x44\\x53\\x16\\x13\\x78\\x6e\\x81\\x74\\xb0\\xea\\x33\\xa9\\xfb\\x15\\xb9\\x11\\xe9\\xc5\\xfb\\xef\\xc8\\x24\\x9e\\x55\\xdf\\x1b\\x90\\x8b\\xbc\\x4f\\x44\\xee\\x41\\x96\\x23\\x8b\\x91\\x19\\xc8\\x28\\xab\\x5c\\x89\\xac\\x41\\xee\\x47\\x16\\x04\\xfa\\xcb\\x92\\x80\\x8e\\xab\\x32\\x18\\x69\\x68\\xd9\\x7b\\x12\\x99\\x60\\x95\\x4a\\x0e\\x55\\x79\\x7f\\x03\\xf1\\x5a\\xcf\\x3f\\x20\\x33\\xad\\xe7\\x91\\xd7\\x94\\x3d\\x91\\xee\\xc8\\x42\\x24\\xd4\\xd2\\x5b\\xc7\\x92\\x2e\\xd8\\x7f\\x8c\\xb2\\x94\\x32\\x32\\x80\\xcb\\x7f\\x99\\xe7\\xa5\\x16\\xde\\x1d\\xc8\\x2c\\x64\\xae\\x85\\x59\\x95\\x8b\\x90\\x3d\\x56\\x39\\x19\\x39\\x87\\x3c\\x80\\x0c\\xab\\xd2\\x7f\\x87\\xd5\\xf7\\x27\\xe4\\x59\\x64\\xbf\\x35\\x26\\x0f\\x49\\xb0\\x7c\\x54\\x9c\\x2e\\x43\\xce\\xc0\\x75\\x9c\\xd5\\xef\\xb6\\x4a\\xee\\x4d\\x7b\\xd7\\x59\\x7c\\x35\\xb3\\xfa\\xac\\x05\\x9b\\xf2\\xc7\\x85\\xbc\\xa5\\x62\\x66\\xf1\\x7f\\x43\\xa0\\xce\\xc4\\xde\\xd9\\xaa\\x63\\xac\\xcc\\xb6\\x7c\\x59\\x1c\\xe8\\x6b\\xc6\\x67\\x0a\\x65\\x4d\\xca\\xd3\\xc8\\xad\\x48\\x0a\\x12\\x83\\x84\\x21\\x8f\\x56\\xc6\\xff\\xdf\\x44\\x5e\\x13\\x8b\\x27\\xab\\xc4\\xa1\\xaa\\xa4\\x54\\xe1\\xff\\x5a\\x79\\xdc\\xf2\\x69\\xe1\\x35\\x52\\xc7\\x1a\\xb3\\xd0\\xe2\\xfd\\xef\\x24\\xde\\xe2\\xf6\\xfe\\x6b\\x64\\xd1\\x35\\x72\\x6f\\x95\\x38\\x5c\\x2b\\x2a\\xbf\\xc6\\x5a\\xb1\\xa8\\x2a\\x1d\\xaa\\x94\\xc2\\xb2\\x77\\x6d\\x39\\xc1\\xd2\\xf1\\x4f\\xe5\\x93\\x56\\x5c\\x52\\xac\\xd8\\x3f\\x69\\xe1\\xfb\\x6f\\xe5\\x04\\x0b\\xf7\\x3f\\x95\\x4f\\x5a\\xd8\\x34\\xa4\\xb9\\xc5\\xf1\\xa2\\xff\\xa1\\x1c\\x8a\\x7c\\x64\\x04\\xe6\\xc8\\x64\\x4b\\xcf\\x39\\x4b\\xd4\\x7c\\x79\\xe0\\x9a\\xb2\\x7f\\x95\\xf7\\x16\\x56\\xf9\\xa4\\xc5\\xe5\\xb5\\xa5\\xcd\\x2a\\x77\\x58\\x71\\x9d\\xf5\\x37\\xa5\\x8a\\x57\\x0d\\x6b\\xcc\\x4f\\x56\\xf9\\x66\\x95\\x77\\x95\\xc7\\xcf\\xfe\\x87\\x52\\xcd\\xd9\\xfd\\x56\\x39\\xc2\\x2a\\x5f\\x37\\x02\\x39\\xb2\\xe7\\xff\\x50\\xaa\\xf8\\xa9\\x39\\x57\\xc7\\x8a\\xaf\\x35\\xef\\xcd\\xb9\\x77\\x4d\\x29\\xd5\\x3c\\x69\\xcd\\x3c\\xfa\\xac\\x8a\\xaf\\x06\\xd2\\x0a\\xb9\\xa9\\x8a\\x6f\\x29\\x56\\x9f\\x56\\x56\\xac\\x55\\x9d\\x9a\\x4b\\x6a\\x9d\\x1b\\x44\\xdb\\x29\\xca\\xef\\xac\\x18\\x2a\\xae\\x6e\\xb1\\xf8\\x7c\\xa3\\x4a\\x1c\\xd4\\xfb\\xc4\\x00\\xef\\xfe\\x37\\xab\\x70\\x19\\xb4\\xc1\\xdc\\x15\\x19\\x96\\x9d\\x3d\\xd6\\xb8\\xe1\\xc8\\x46\\x23\\xb0\\x4e\\x7c\\x61\\xf1\\x13\\x5f\\x85\\x27\\xe5\\xf3\\xce\\x80\\x0f\\xe6\\xb3\\xb0\\xea\\x83\\x7e\\x26\\x21\\xf9\\x46\\xe5\\x5a\\x7c\\x37\\x72\\x27\\xb2\\xce\\x08\\xac\\x9f\\xd8\\xd1\\xc2\\xe1\\x61\\x62\\x00\\x83\\xb9\\x0e\\x15\\x59\\x92\\x5d\\xe5\\x59\\x54\\x79\\xee\\x6b\\x54\\xce\\x91\\x60\\xee\\x05\\x7d\\xf8\\x5f\\x63\\x74\\xbf\\xf1\\xef\\xf3\\x4d\\x5a\\xbe\\x4d\\xb0\\xf4\\x55\\x9d\\x0f\\xe7\\x8c\\x7f\\xcf\\x37\\xd6\\x48\\x31\\xcf\\x08\\xe4\\x7a\\x55\\xcc\\xc1\\x71\\x83\\x8c\\xca\\x35\\xeb\\xd5\\xbf\\xb1\\xa3\\xd6\\xa5\\xb1\\x56\\x7d\\x71\\x95\\x76\\xd5\\xbf\\xd4\\xa8\\x9c\\xaf\\x13\\x2d\\xae\\xaa\\xfa\\x5a\\x5a\\x05\\x47\\xd5\\xfe\\x3f\\x59\\x3e\\xde\\x5b\\xc5\\xd7\\x6b\\xf3\\x5b\\xf1\\xbf\\xde\\xa8\\x9c\\xe7\\xaa\\xac\\x63\\xe1\\x9f\\x51\\x25\\x76\\x55\\xf1\\xdc\\xff\\x37\\xfe\\x5f\\x5b\\x06\\xf3\\xfd\\x03\\x64\\x8e\\x85\\x39\\x3f\\x20\\x7e\\x3f\\x65\\x7d\\x8b\\xab\\x61\\xd6\\xf3\\x56\\x64\\x13\\x92\\x63\\x04\\xe6\\x59\\xaa\\x11\\xd8\\x13\\x42\\x2d\\x9b\\x77\\x19\\x95\\x6b\\x89\\xe2\\x74\\xb6\\x85\\x69\\x93\\xd5\\x2f\\x1d\\x69\\x6a\\x04\\xe6\\x43\\x70\\x6d\\x98\\x67\\x54\\xee\\x9f\\xc1\\x3d\\x54\\x49\\x96\\x65\\x4f\\xd5\\xa9\\x35\\xed\\x01\\x8b\\x87\\xe0\\x1a\\x3e\\xcb\\xd2\\xe5\\x30\\x02\\xf9\\x1c\\x5c\\xa7\\x55\\x1b\\xe7\\x0f\\x71\\xdc\\x1a\\xa3\\xe4\\x4b\\xab\\x6d\\xb4\\x25\\xf8\\xe3\\xf7\\x59\\xf6\\xf7\\x58\\xba\\x54\\x6c\\x9b\\x59\\xcf\\x65\\x55\\xe4\\xa7\\x80\\xc8\\x1a\\xd7\\xd4\\xab\\xf8\\xf8\\x03\\x22\\x35\\x2b\\xe6\\xdb\\xac\\x78\\x75\\xb1\\x38\\x78\\xca\\xa8\\xdc\\xcf\\x3b\\x21\\xd7\\x5b\\x71\\x52\\x32\\xb5\\x4a\\x9c\\x82\\x32\\xd7\\x8a\\xcd\\x1e\\xab\\x5d\\x61\\x79\\xc1\\xd2\\x07\\x6e\\x19\\x72\\x0d\\x47\\xd9\\x96\\xd4\\xb2\\x78\\x86\\x33\\xff\\x39\\xeb\\x39\\xdf\\xa8\\x9c\\x3f\\x5b\\x8c\\xab\\x7b\\xb4\\xec\\x88\\x78\\x10\\x62\\x22\\x8f\\x21\\x4a\\x2f\\xb9\\x2c\\x95\\xef\\xb7\\x53\\x46\\x58\\xe7\\x37\\x30\\x6b\\x5a\\x15\\x61\\x9d\\x91\\xe7\\x91\\x16\\x01\\x31\\xd7\\x32\\x95\\x6b\\x77\\x04\\x44\\xa6\\x04\\x44\\x6b\\x4c\\xd9\\x1b\\xd9\\x1b\\x38\\xb7\\x99\\xef\\xfd\\x90\\xfd\\x96\\x5c\\x0e\\xc8\\x55\\x7d\\x3b\\xaa\\x88\\xea\\xdb\\xc8\\x3a\\x57\\xaa\\xf3\\xc9\\x1e\\x8b\\x63\\xce\\x22\\xfe\\xb3\\xbc\\x33\\x07\\xa5\\x1b\\x51\\x7e\\xb4\\x44\\xaa\\x5b\\x78\\x26\\xfd\\x8d\\x94\\x5a\\xd2\\xc0\\xd2\\x9b\\x62\\xe5\\xf7\\x4c\\x2b\\x77\\x95\\x2c\\x08\\x88\\xd2\\xed\\x2f\\x47\\xbe\\xc5\\x36\\x6b\\xb1\\x5c\\xf5\\x57\\x31\\xf7\\x3c\\xd6\\x6a\\xd9\\x4d\\x88\\x8a\\x2b\\x42\\xf8\\x1e\\x46\\x5e\\x10\\xe2\\x4a\\x47\\xca\\x1f\\xa8\\x7b\\x8e\\x92\\xfb\\x8e\\xff\\x19\\xca\\x6f\\x91\\x24\\x9e\\xb9\\x1f\\xf9\\xa6\\x07\\xfa\\xf9\\x8f\\x22\\x45\\xd6\\xfb\\x49\\xab\\xef\\xaa\\x2a\\xf2\\x33\\x32\\x10\\xe9\\x89\\xe4\\x22\\x83\\xe9\\xf3\\x20\\x47\\xed\\x76\\x01\\x9d\\x7e\\xee\\x16\\xfe\\x1e\\x08\\xf6\\x7d\\x4a\\x57\\x4c\\xe0\\x4e\\x70\\xe5\\x97\\x80\\x3d\\x65\\xcb\\xcf\\xdd\\xc1\\xdf\\xd5\\xea\\xfb\\x52\\x60\\xbc\\xef\\x71\\x64\\x4f\\x00\\x43\\xd0\\xae\\xef\\xb1\\x2a\\x98\\x8f\\x5a\\xef\\x4f\\xf0\\xbe\\x85\\x12\\x9d\\xbe\\xb3\\x8c\\x7f\\x2a\\x30\\xde\\xdf\\x89\\xf2\\x49\\xca\\x74\\x64\\x25\\x7d\\x36\\xf3\\xbe\\x43\\xdd\\x06\\x29\\xd7\\x53\\xb7\\x9a\\x12\\x3d\\xfe\\xbd\\x96\\xbd\\x08\\x9e\\xb9\\xe7\\xf8\\x9b\\x5b\\x7a\\xb9\\xb3\\xf9\\xd6\\x22\\x17\\x02\\xbe\\x55\\x24\\x52\\x4e\\xb2\\xf4\\x9f\\xb4\\xf4\\x4e\\x0a\\x88\\xef\\x1b\\x4a\\x74\\x0a\\x7c\\xf2\\xb7\\xe7\\xfd\\x80\\xe5\\x57\\xdf\\x7f\\x16\\x5f\\x19\\xb2\\x8f\\xe7\\x23\\x01\\x5c\\xbe\\x8f\\x10\\xb2\\xdc\\xc7\\xdd\\xd1\\xf7\\x25\\x92\\x6c\\x71\\xca\\x7d\\xd2\\xb7\\x11\\xd9\\x85\\xfe\\x3f\\x90\\xc9\\xc8\\xc5\\x2a\\x6b\\xcf\\xbc\\x40\\xae\\xca\\x4f\\x03\\x79\\x65\\xce\\x13\\xda\\xfd\\x6f\\x1b\\x57\\xcf\\xb5\\xc1\\x67\\xbf\\x3a\\x53\\x3f\\x6c\\x54\\xde\\x3d\\xd4\\x3e\\x1e\\x6e\\x3d\\x77\\x31\\x2a\\xcf\\xb5\\xc1\\x7d\\x3c\\xd4\\xa8\\xbc\\x77\\x3c\\x68\\xb5\\x3d\\x65\\xbd\\xab\\x3d\\x5a\\xad\\xf1\\x6a\\x1d\\x76\\x5a\\x65\\x53\\x6b\\x9d\\x78\\xc3\\x7a\\x57\\x63\\xb7\\x5a\\x6b\\xd5\\xc3\\xd6\\x58\\x55\\xb7\\xd9\\x08\\xac\\x8b\\xe3\\xad\\xf6\\x32\\xab\\xcf\\x4a\\xab\\xdf\\x39\\x6b\\x4d\\x5a\\x8d\\xdc\\x8c\\x1c\\xb0\\x7c\\x4d\\x34\\x02\\x67\\x6c\\xaf\\x55\\x1f\\xd4\\xa9\\xd6\\x11\\x75\\x26\\x28\\xb4\\xf4\\x06\\xeb\\x67\\x59\\x65\\x73\\xeb\\xb9\\x49\\xc0\\x77\\xdf\\xdd\\x16\\x07\\xaa\\xae\\x9e\\x11\\x38\\x0f\\x06\\xf7\\x95\\xe0\\x79\\xf7\\x50\\x60\\xcd\\xf2\\xff\\x6a\\xad\\x67\\xaa\\x9f\\xda\\x47\\xfb\\x07\\xd6\\x33\\x73\\x2f\\x5d\\x68\\x71\\xa1\\xd6\\xb0\\x01\\x46\\xe0\\xfc\\xa2\\x38\\x4b\\xa9\\xa2\\x6f\\xac\\xc5\\x5d\\x0b\\xa3\\xf2\\x9c\\x3e\\xb9\\x4a\\xfb\\x0a\\xa3\\x72\\x6f\\x9c\\x50\\x85\\xe7\\x6e\\x46\\xe0\\x4c\\x36\\xc1\\x2a\\x83\\x7b\\xbb\\xb0\\xe2\\xa6\\xea\\x7b\\x1a\\x95\\xf7\\x12\\xaf\\xd5\\xd6\\xd9\\x2a\\x37\\x58\\xfd\\xe3\\x2d\\x1e\\x45\\x15\\x1d\\x6a\\xbc\\xad\\x8a\\xbe\\x8e\\x55\\xda\\x36\\x58\\xfb\\xcb\\xb5\\xf7\\xcd\\xe0\\x5d\\xb5\\xbb\\xa5\\x33\\x18\\x73\\xb5\\x8e\\xaa\\xf3\\x84\\xda\\xcf\\x6f\\xb4\\xf4\\xdd\\x62\\xf5\\xbf\\xc9\\xaa\\x6b\\x66\\xf5\\x9b\\x1f\\xf0\\xd3\\xdc\\x0b\\x54\\x2c\\xd5\\x3e\\xa0\\xce\\x27\\x73\\x8d\\xca\\x3d\\xf0\\x13\\xc4\\x6e\\xd9\\x7d\\xc1\\xa8\\xdc\\x47\\xaa\\xde\\x79\\xd4\\xbe\\xaf\\xf6\\x88\\xc1\\x96\\xdf\\x8f\\x59\\xfd\\x6f\\xb6\\xf6\\xfe\\x31\\x08\\xfb\\x83\\x79\\x4f\\x57\\xfd\\xf2\\x8c\\xca\\x7d\\xa7\\xb9\\x65\\x7f\\x89\\x11\\xd8\\x07\\x83\\x7b\\xb2\\x8a\\x49\\xb5\\x80\\x0e\\x33\\x5f\\x3e\\x31\\x2a\\xef\\x4c\\xca\\x7e\\x81\\xb5\\x3f\\x25\\x58\\x92\\x6b\\x04\\xce\\x16\\xa1\\x96\\xfe\\xe0\\xbb\\xf2\\x2b\\xcd\\x7a\\x6f\\x6c\\xf1\\xb5\\xc2\\xc2\\x95\\x60\\xe1\\x9c\\x69\\x8d\\xeb\\x5b\\xa5\\x74\\x59\\xa2\\xda\\xdb\\x58\\x3c\\xd6\\xad\\x62\\x57\\x71\\xaf\\xce\\x51\\x63\\x03\\xeb\\x9a\\xb9\\x76\\xac\\x0d\\x48\\xc5\\xbb\\xac\\xa7\\xac\\x47\\x57\\x6e\\x35\\x2a\\x73\\x49\\x9d\\xeb\\x7b\\x59\\xef\\x6a\\xbe\\xa9\\xfb\\xf0\\xcf\\x48\\x4b\\xcb\\xdf\\xe7\\x2d\\x4e\\x83\\x77\\xdf\\x8e\\x56\\x1c\\x36\\x58\\xbe\\x07\\x4b\\xc3\\xa8\\xfc\\xae\\xd0\\xc6\\xd2\\xa7\\xf8\\x50\\xe7\\x23\\x95\\xff\\xfd\\x2c\\xe9\\x6b\\xfc\\x75\\xfe\\x74\\x37\\x2a\\xcf\\x69\\x79\\xd7\\x94\\x83\\x2d\\x7d\\x2a\\x87\\x8a\\xad\\xf8\\x05\\x4b\\x0b\\xbf\\xda\\xcf\\xcc\\xb5\\xcb\\x2a\\xcd\\x1c\\x0f\\x62\\x55\\xd8\\x5e\\xb7\\xf2\\x54\\x9d\\xcd\\x54\\x5e\\x1d\\xb0\\xc6\\x1e\\xa8\\xa2\\x6b\\xa6\\xc5\\xe7\\x03\\xc6\\x3f\\x9f\\xbf\\x83\\xe7\\x98\\x51\\x56\\x39\\xda\\xa8\\x3c\\xaf\\x57\\xe5\\xa5\\x87\\x51\\x79\\xee\\xd9\\x53\\xa5\\xfc\\xa7\\xf3\\xa9\\xca\\xfd\\x7b\\x2c\\x1b\\x1d\\xfe\\xa6\\x0c\\x62\\x3c\\x65\\xe5\\xa3\\x9a\\x33\\x63\\xac\\xf8\\xdc\\x6d\\xf1\\x74\\x6f\\x95\\x72\\xac\\x85\\x43\\xf9\\x3b\\xc4\\x8a\\x8b\\x1a\\x17\\x6d\\x61\\x57\\x78\\xa3\\x2c\\x3d\\x37\\x56\\x89\\x83\\xca\\x47\\xb5\\x1e\\xa9\\xbc\\xde\\x5a\\x85\\xb3\\x91\\x96\\x3e\\xf3\\xfe\\x18\\xf8\\xa6\\x29\\xd9\\xc3\\x24\\xb9\\xa4\\xc5\\x53\\x6e\\x47\\x0e\\x23\\x6f\\x23\\xd7\\x5b\\xcf\\xaf\\x20\\x5e\\xeb\\x59\\x89\\x8b\\xbd\\xe8\\x66\\xca\\x09\\xc8\\xcb\\x96\\x8e\\x60\\x3f\\xab\\x5d\\x1e\\xb5\\x9e\\x27\\x58\\xed\\xaf\\x54\\x19\\xaf\\xf4\\x2e\\xc2\\x1e\\x67\\x0e\\xa9\\xbe\\x73\\xde\\x18\\x10\\xf3\\x7d\\xbd\\x25\\x56\\x5f\\x55\\x67\\xd6\\x4f\\xb1\\x9e\\x39\\x2f\\xca\\x02\\xd5\\xc6\\xb9\\xa7\\x5a\\xb0\\x5d\\xed\\x7d\\x55\\x9e\\x6f\\xa0\\x7d\\x81\\xc5\\x91\\xfa\\x86\\x74\\xb1\\x92\\x5f\\x8d\\x9c\\x96\\x6a\\xbf\\xb8\\x2f\\x10\\x6f\\xf5\\x2e\\xd4\\xb7\\x3a\\x35\\x57\\x96\\x58\\xf5\\x91\\x56\\x3f\\x75\\xf6\\x57\\x6b\\x83\\x5a\\x4b\\xd4\\xdd\\x47\\xad\\x15\\x9c\\x37\\x45\\x57\\x23\\xf0\\x8d\\xaa\\xc4\\x6a\\x67\\xbe\\xca\\xb0\\x2a\\xa2\\xe6\\xd8\\xdb\\x81\\x3e\\xea\\xdb\\xd5\\xd5\\xfd\\x43\\xc5\\xe5\\x69\\x23\\xb0\\x6f\\xa8\\xb3\\xfe\\x0e\\x2b\\xef\\xb6\\x1b\\x81\\xbd\\x4f\\x9d\\xef\\xd4\\xde\\x58\\x66\\x5c\\xdd\\xe3\\xcd\\x35\\x49\\x89\\xc2\\xa2\\xce\\xf3\\x1f\\x58\\x18\\x95\\xa8\\xfb\\x75\\x2b\\x4b\\xd4\\x7d\\x42\\xed\\x79\\x6a\\xfd\\x49\\xb6\\xca\\xe0\\x39\\x5e\\x9d\\xdd\\xf7\\x21\\x3f\\x22\\xea\\x2c\\x3a\\xd0\\x6a\\x7b\\xc3\\xd2\\x11\\x6a\\xe5\\x06\\xfd\\xfc\\x7f\\xd0\\xae\\x78\\x53\\x3e\\x9c\\x34\\x02\\x67\\xd9\\x0f\\x8d\\xc0\\x5e\\xc2\\x9d\\x5d\\x63\\xad\\x92\\xb1\\x3c\\x5f\\x08\\x9c\\xcb\\x4d\\xce\\x3e\\xb3\\x84\\x3d\\x4c\\xc6\\x05\\xbe\\x9b\\x9a\\xdf\\x68\\x3e\\x0a\\x8c\\xf5\\x7f\\x1f\\x38\\x07\\x2b\\x1f\\xd5\\x59\\x59\\xed\\xc7\\xaa\\x34\\xc5\\x65\\x49\\x1f\\x4b\\xd4\\x59\\xba\\x41\\xe0\\x3b\\x9f\\x98\\x46\\x89\\x1f\\x12\\xbe\\x64\\x6b\\xab\\xac\\x65\\x8d\\xdb\\x19\\x68\\x33\\x79\\x53\\xfd\\xa2\\x02\\x78\\x65\\xaa\\x75\\xc6\\xae\\x15\\xc0\\x24\\x9d\\x96\\x3e\\x75\\x6f\\xe8\\x14\\xe8\\x27\\x6b\\x5b\\x65\\x7c\\x65\\x1f\\x15\\x47\\xff\\x21\\x6b\\x0e\\x31\\x3f\\xfc\\xdc\\xa5\\xfd\\xdc\\xc1\\xfc\\x47\\x8c\\xc0\\x1e\\xfe\\xa3\\x15\\x2b\\x35\\xb7\\xd7\\x07\\xc4\\xf4\\x5f\\xe5\\x84\\xd2\\xff\\x78\\x40\\x44\\x7b\\x23\\xb0\\x2e\\x36\\x08\\xcc\\x3b\\xb5\\x5e\\x4a\\xb5\\x26\\xa8\\x3d\\x41\\xf1\\xa0\\x62\\xa4\\xf6\\x0b\\x6f\\x80\\x63\\x85\\xc5\\x5c\\xd7\\x66\\x5a\\xb9\\x35\\xd9\\xd2\\x1f\\xdc\\x43\\x6f\\xb4\\x72\\xed\\x84\\x25\\xe4\\xae\\xac\\x30\\xcc\\xfb\\x91\\xca\\x35\\x73\\xcd\\xba\\xcf\\xe2\\xa4\\xb5\\xf5\\x7d\\xb4\\xba\\x75\\x9f\\x79\\xde\\x92\\x46\\xd6\\xfd\\xe9\\xa3\\x00\\x17\\x26\\x1f\\x3c\\x4b\\xd6\\x6e\\xa9\\xd6\\x21\\xfc\\x94\\xd6\\xb7\\x54\\x13\\x87\\x9a\\x2f\\x97\\xa8\\x6b\\x5f\\x85\\x73\\x75\\x77\\x01\\x9b\\x54\\x7b\\xc0\\xef\\xd6\\xbd\\xc6\\x63\\x89\\xe2\\x52\\xed\\xf5\\xec\\x33\\xe6\\x5d\\x4c\\xf5\\xcf\\x64\\xaf\\x62\\xcd\\xf0\\xcd\\x66\\xaf\\xba\\xdf\\x3a\\xcb\\xbe\\x8a\\xbc\\x57\\xa5\\x1c\\x1a\\x10\\xff\\xb8\\xe0\\x79\\xda\\xf8\\xeb\\xf7\\x80\\xbf\\xfb\\x46\\x57\\xf5\\xbb\\xe4\\xdc\\xff\\xb1\\xfc\\x5f\\xbe\\x57\\x1e\\xb2\\xfa\\x5f\\xfb\\x7d\\xf2\\xda\\xf2\\x21\\x23\\x70\\xce\\x0c\\xbe\\x5f\\xfb\\x7d\\x32\\xf8\\x1d\\xe7\\xda\\xf2\\xef\\xbe\\x4d\\x56\\x2d\\x67\\x5a\\x79\\x71\\x6d\\x19\\xfc\\xae\\xf3\\x4f\\xe5\\x7f\\xfb\\x5e\\xf2\\x77\\x3c\\xfe\\xf4\\x0f\\xa5\\xfa\\x8e\\xfc\\xdf\\xbe\\x5f\\xfe\\xdd\\x77\\xcc\\xbf\\x2b\\xff\\xd7\\x6f\\x64\\xc1\\x73\\x54\\xb0\\x0c\\x7e\\xd7\\xfc\\x6f\\x65\\xf0\\x3c\\x51\\xb5\\x54\\xfb\\xeb\\x3f\\x7c\\x03\\x35\\x6d\\xed\\xb7\\xc6\\xaa\\x7e\\x33\\xac\\x9c\\x5f\\x61\\xfc\\xf3\\xb7\\x71\\x55\\x7a\\xfe\\x4b\\xfb\\xff\\x52\\xfe\\xb7\\xdc\\x53\\xfb\\x7f\\xff\\xff\\xd0\\x7e\\x6d\\x8e\\xfd\\x53\\xac\\x95\\xaf\\x85\\xff\\xa1\\xfd\\x7f\\x2d\\xff\\xaf\\xdf\\xa2\\x83\\x65\\xd5\\x6f\\xd1\\x7f\\x57\\xce\\xfc\\x2f\\x62\\x7d\\xef\\xf1\\xf9\\xff\\x2a\\xfe\\xf8\\x80\\x98\\xeb\\xe9\\xdf\\x88\\x5f\\xdd\\x7d\\x58\\xc3\\x2b\\x0e\\xfe\\x55\\xae\\x7e\\xaf\\xfb\\x07\\x51\\xe3\\xfc\\x1e\\xab\\xff\\xbb\\x55\\xc6\\x3e\\x15\\x10\\x73\\x9e\\xff\\x07\\xf9\\xcb\\xf8\\x83\\x7f\\x33\\x7e\\xd6\\xdf\\x8b\\xff\\x39\\x84\\x35\\xde\\x57\\xc7\\x92\\x39\\x01\\x31\\xf7\\xef\\xff\\x20\\xbe\\x93\\x96\\x7e\\xce\\x74\\x15\\x8f\\x18\\x95\\x67\\x83\\x7f\\x90\\xbf\\xd8\\xa9\\x5d\\x69\\xc7\\x57\\x14\\x90\\xab\\xbc\\x07\\xb9\\x0c\\x72\\x13\\xf4\\x31\\x88\\x39\\x88\\x21\\xa8\\xfb\\xff\\x6b\\x1c\\xff\\x2f\\x71\\xa9\\x2a\\xf7\\x07\\xe4\\xff\\xe4\\x77\\x9d\\xff\\xe0\\xf7\\x7f\\xc0\\xfe\\x17\\xb9\\x64\\x9d\\x15\\x2e\\x59\\xf7\\x92\\x98\\xbf\\xc7\\xed\\xfb\\x95\\xf6\\xec\\xca\\xd2\\x9c\\xbf\\x0d\\x02\\xe2\\xbf\\xf0\\x1f\\x72\\xc9\\xba\\xcb\\xfb\\xd8\\x3f\\xfd\\x53\\xae\\x19\\x73\\x6d\\x1e\\x3c\\x6e\\x49\\xf0\\xdd\\xfa\\x9d\\xaf\\xef\\x45\\xe4\\x7c\\x80\\x37\\xff\\x77\\x01\\x31\\xcf\\x76\\x7f\\xc7\\x4f\\x93\\x80\\x9d\\x60\\x69\\x7e\\xbb\\xc1\\x37\\x71\\x8e\\x7d\\xf8\\x03\\xc4\\x8d\\x7c\\xc8\\x7e\\xac\\xd6\\xf2\\x4d\\x01\\x51\\xdf\\x43\\x4c\\x51\\xdf\\x42\\xd5\\xef\\xb8\\x59\\x87\\xe4\\x20\\x44\\xcd\\x7d\\xf5\\x0d\\x79\\xbb\\x25\\xea\\xdc\\xb8\\x2b\\x20\\xe6\\xef\\xd2\\x27\\x5b\\xba\\xd4\\xb7\\xc0\\xd8\\xa0\\x04\\x78\\x0d\\x7e\\xb3\\x15\\xcf\\x50\\x0e\\x40\\xd4\\x5d\\xe7\\x07\\xeb\\xcc\\x7c\\x4c\\x7d\\xd7\\xac\\x32\\x26\\xda\\x92\\x98\\xc0\\x78\\x39\\x02\\x91\\xd6\\xd9\\xb1\\x96\\x75\\xe6\\x51\\xf7\\x68\\x75\\x56\\x9b\\x60\\x89\\x3a\\x5b\\x29\\x0c\\x6a\\x1f\\x55\\xe7\\x74\\x75\\xf6\\x4c\\xb6\\x62\\x1a\\xfc\\xa6\\xaf\\xce\\xc2\\xea\\xbe\\xd7\\xdd\\xa8\\xbc\\xeb\\x56\\xb3\\xc6\\x07\\xef\\x56\\xdc\\x61\\x7c\\xd6\\xef\\x2a\\xcc\\x73\\xa5\\xba\\x5b\\x29\\x5b\\x86\\xc5\\x9d\\xba\\xd3\\xa9\\x6f\\x17\\x47\\x03\\xb9\\xa1\\xbe\\xcd\\x9a\\x3a\\xd5\\x3d\\x4d\\x9d\\xdb\\xd5\\xf9\\x5c\\x7d\\xcf\\x66\\x8d\\x92\\x77\\xfc\\x7b\\x69\\x3e\\xab\\xfb\\x5b\\xb8\\x55\\xaa\\x7b\\xdb\\xe4\\x00\\x07\\xe6\\xef\\xb6\\xd5\\x1d\\x46\\xfd\\x6e\\x5b\\x9d\\xb1\\xd4\\x39\\x9c\\x73\\xa4\\xf9\\x1d\\x2e\\xf8\\x77\\x0b\\x4a\\xad\\x72\\x6e\\xe0\\x59\\xab\\x15\\x88\\xbd\\x8a\\x97\\x7a\\x56\\x12\\x7c\\xae\\x5a\\x5e\\x2b\\x72\\x4c\\xa0\\x4d\\x95\\x4a\\xaa\\xb6\\xfd\\x5f\\xeb\\xff\\x17\\xb9\\x76\\x9e\\x69\\x23\\xaf\\xa9\\x53\\xb9\\xa9\\x19\\x81\\xef\\xfd\\xa3\\x03\\x7c\\x99\\xf1\\x68\\x66\\x95\\x9a\\xe5\\xbb\\x9a\\x07\\xa3\\xad\\xdc\\x4b\\x0f\\x88\\x99\\x4b\\x29\\x96\\xa8\\xdc\\x50\\x71\\x55\\xe7\\x6a\\x65\\x63\\x88\\x55\\xce\\x0e\\xe4\\x8d\\x79\\xe7\\x7a\\x24\\x10\\x47\\xb9\\xc6\\x8a\\xa5\\xca\\x4b\\x35\\x7f\\x95\\x9e\\x05\\x46\\xe5\\x79\\x4f\\xe5\\xbb\\x3a\\xcf\\x75\\xb1\\xf4\\xa9\\x3c\\x29\\x31\\x2a\\xcf\\x25\\xd6\\xef\\xd0\\xa4\\xca\\xa1\\x3a\\xea\\x4e\\x63\\x7d\\xe3\\x56\\xdf\\x7a\\xcf\\x2b\\x31\\x2a\\x7f\\x07\\xf3\\x7b\\x50\\xa8\\x5f\\xa7\\xc4\\x30\\xef\\x78\\xe6\\xf7\\xfc\\xd0\\xc0\\x1d\\xd4\\xbc\\x9f\\x5a\\xdf\\x5a\\xb4\\x50\\xf5\\x37\\x64\\xac\\x73\\xbf\\xfa\\xee\\xa8\\xee\\x69\\xc1\\xef\\x06\\x55\\xef\\xaf\\x0a\\x8f\\xfa\\x86\\x34\\xdd\\xca\\x65\\x67\\x95\\x32\\xba\\x8a\\x5c\\x73\\x37\\x96\\xd3\\xac\\xbb\\x1f\\x6b\\xac\\x5c\\x62\\xfc\\xf5\\x5e\\x1c\\x59\\xe5\\x3e\\x1c\\xbc\\x0b\\xff\\xcd\\x3d\\xd8\\xc4\\x7b\\x83\\x35\\xce\\xfc\\xb6\\x26\\xc4\\x15\\xf5\\xbd\\xbf\\x82\\xf2\\x4a\\xe0\\xef\\xe2\\x98\\xdf\\xac\\x6d\\x56\\xf9\\x69\\xa0\\x9f\\xa9\\xfb\\x4f\\x23\\xf0\\xfb\\xe5\\x57\\x78\\x57\\x73\\xeb\\x0a\\xa5\\x9a\\xef\\xac\\x03\\x3e\\x75\\xd7\\x5b\\x44\\xf9\\x81\\x25\\x6f\\x5b\\xa5\\xe2\\xf4\\x10\\x82\\x0f\\xfe\\xaf\\x83\\x1c\\x5b\\x75\\x87\\xac\\xdf\\x61\\xa8\\xdf\\x25\\xa8\\x7b\\xf3\\x22\\xe3\\xbf\\xef\\x5d\\xff\\x65\\xcf\\xff\\xcf\\x7b\\xb4\\xf8\\x2f\\x7f\\x2c\\x0c\\x6b\\xac\\x7c\\x5a\\x03\\xae\\x63\\x60\\x2c\\xa4\\xfc\\x0c\\x39\\x61\\xe1\\x56\\xbe\\x7d\\x68\\xd5\\x7d\\x68\\xfd\\x8e\\x40\\xfd\\xee\\xa0\\x3f\\x72\\x8f\\xd5\\xe7\\xb5\\x2a\\x72\\xc8\\x6a\\x57\\x72\\x9b\\xf5\\x3b\\x86\\x1d\\x55\\xc5\\x08\\x9c\\x31\\x0b\\xaa\\xcc\\x2d\\xd6\\x42\\xbf\\xba\\x6f\\xb9\\x03\\xb9\\xaa\\x7e\\xdf\\x65\\xfe\\xfe\\x32\\xcb\\x8a\\x67\\x30\\xa6\\x41\\x51\\x39\\xc0\\xfa\\x2b\\x8e\\x20\\x67\\x94\\xf0\\xce\\x9d\\x4d\\xe8\\x96\\xd4\\x08\\xfc\\xbd\\x2c\\xa3\\x8e\\xf9\\xf7\\xba\\xd4\\xbb\\x61\\xa8\\xbf\\x2b\\xe6\\x13\\x33\\x84\\x5d\\x4c\\x13\\xd3\\xb4\\x16\\xfa\\x38\\x7d\\xb2\\x3e\\x4d\\x9f\\xab\\xcf\\xd7\\x9f\\xd0\\xdf\\xb2\\xc5\\xd9\\x6a\\xda\\x5e\\xb3\\x7d\\x67\\xfb\\xb9\\xe6\\x1b\\xb5\\x56\\xd5\\x5a\\x53\\xeb\\x0f\\x57\\x82\\xab\\xa6\\x2b\\xcf\\xd5\\xc3\\x75\\x93\\xab\\xc8\\x35\\xd0\\x35\\xc8\\x75\\xaf\\x6b\\xa7\\xeb\\x88\\xeb\\x5d\\xd7\\xa7\\xae\\x0b\\xae\\x9f\\x5d\\x3e\\x77\\x94\\x3b\\xc1\\x5d\\xdb\\x9d\\xe1\\x6e\\xec\\x6e\\xe2\\x6e\\xe6\\x6e\\xed\\x6e\\xe3\\x6e\\xe7\\xee\\xe4\\x1e\\xec\\x1e\\xe7\\x9e\\xee\\x5e\\xee\\x7e\\xc1\\x7d\\x31\\xd5\\x96\\x1a\\x97\\x9a\\x94\\x5a\\x3b\\x35\\x23\\xb5\\x71\\xea\\x0d\\xa9\\xfd\\x52\\x07\\xa7\\xce\\x4e\\x7d\\x38\\x75\\x43\\x6d\\xad\\xb6\\xbd\\x76\\x54\\xed\\xd8\\xda\\x09\\xb5\\xab\\xd7\\x76\\xd5\\xae\\x5f\\x3b\\xb3\\x76\\x41\\xed\\x21\\xb5\\x47\\xa4\\x69\\x69\\xd1\\x69\\xa9\\xe9\\x22\\x5d\\x4b\\x0f\\x4f\\x8f\\x4e\\x8f\\x4f\\x4f\\x4e\\xaf\\x91\\x5e\\x27\\xbd\\x61\\x7a\\xb3\\xf4\\x36\\xe9\\xb7\\xa5\\xcf\\x48\\x9f\\x9d\\x3e\\x27\\x7d\\x7e\\xfa\\xb2\\xf4\\x27\\xd2\\x37\\xa7\\x6f\\x4f\\xdf\\x9b\\xbe\\x2f\\xfd\\x48\\xfa\\xb1\\xf4\\xb7\\xd3\\x3f\\x4e\\x3f\\x9b\\xd1\\x26\\xc3\\x93\\xd1\\x21\\xa3\\x24\\x63\\x58\\xc6\\xc8\\x8c\\x5b\\x33\\xc6\\x35\\xbc\\xbd\\xe1\\x94\\xc6\\x49\\xcf\\xa6\\x3e\\x3b\\xff\\xb2\\x76\\xb9\\xc5\\xe5\\x36\\x97\\xdb\\x5d\\x6e\\x7f\\xb9\\xd3\\xe5\\x9e\\xbe\\x34\\xbf\\xdf\\xfc\\xdb\\x68\\xeb\\xb4\\xeb\\xf4\\x49\\xfa\\x54\\x7d\\x36\\xfe\\x2f\\xd4\\x9f\\xd2\\x4f\\xd8\\xaa\\xdb\\x96\\xd8\\x4e\\xd8\\x2e\\xd6\\x14\\x35\\x7d\\xf8\\xbf\\xce\\x25\\x5c\\xc9\\x2e\\xb7\\xab\\xc0\\xd5\\xcb\\xf2\\xbf\\xd8\\x35\\xc3\\xb5\\xcb\\xf5\\xaa\\xeb\\x03\\xd7\\x67\\xae\\x9f\\x5c\\xbf\\xba\\xc3\\xdd\\xb1\\xee\\x24\\xfc\\x6f\\x80\\xff\\xd9\\xee\\x56\\x57\\xfd\\x1f\\x83\\xff\\x8b\\xdd\\xeb\\x2c\\xff\\x13\\x2d\\xff\\x7b\\xa4\\xf6\\x4d\\x1d\\x88\\xff\\x8b\\xaf\\xfa\\x1f\\x83\\xff\\xd5\\x6a\\xd7\\xb2\\xfc\\x2f\\xa9\\x3d\\xdc\\xf4\\xdf\\xfd\\x0f\\xfe\\xf7\\xba\\xea\\xff\\xe2\\xf4\\x75\\xe9\\x9b\\xae\\xfa\\xff\\x06\\xfe\\x7f\\x84\\xff\\xad\\xaf\\xfa\\x3f\\x22\\x63\\x0c\\xfe\\x97\\x34\\x9c\\x80\\xff\\x49\\xcf\\xce\\xb9\\x2c\\x2f\\xd7\\xbc\\x7c\\x1d\\xfe\\x7b\\x2e\\x77\\xbc\\x9c\\xef\\x73\\xfb\\xfd\\xfe\\x33\\xfe\\x43\\xfe\\x97\\xfd\\x2f\\xf9\\xf7\\xf8\\x77\\xfa\\x77\\xf8\\xb7\\xfb\\xb7\\xf9\\xbd\\xfe\\x4d\\xfe\\x96\\xfe\\x2c\\x7f\\x83\\x6f\\x5c\\xe5\\xe7\\xca\\xbf\\x2b\\xff\\xb6\\xfc\\x4c\\xf9\\x97\\xe5\\x5f\\x94\\x7f\\x56\\xfe\\x69\\xf9\\x27\\xe5\\x1f\\x97\\x7f\\x54\\xfe\\x61\\xf9\\xfb\\xe5\\xef\\x95\\xbf\\x5b\\xfe\\x4e\\xf9\\x89\\xf2\\xb7\\xca\\x8f\\x97\\x1f\\x2c\\xdf\\x5f\\xfe\\x52\\xf9\\xde\\xf2\\xdd\\xe5\\xbb\\xca\\x5f\\x28\\xdf\\x56\\xee\\x2d\\xdf\\x5a\\xbe\\xa9\\x7c\\x49\\xf9\\x03\\xe5\\x53\\xca\\x47\\x95\\xdf\\x5c\\x5e\\xbb\\x3c\\xb2\\x5c\\x9e\\xf5\\x9f\\xfd\\xe5\\xec\\x4f\\x67\\xbf\\x3f\\x7b\\xfc\\xec\\xd1\\xb3\\x87\\xcf\\xae\\x39\\xbb\\xec\\xec\\xcc\\xb3\\xf5\\xce\\xa6\\x9f\\xad\\x79\\xb6\\xc6\\xd9\\xea\\x67\\x93\\xce\\xc6\\x9f\\x0d\\x3b\\x1b\\xfa\\xf5\\xf9\\xaf\\x3f\\xfc\\xfa\\xfd\\xaf\\x5b\\x7d\\xdd\\xf0\\xeb\\x9a\\x67\\x72\\xcf\\xb4\\x3b\\xd3\\xfc\\x4c\\xf6\\x99\\xac\\x33\\x0d\\xcf\\xd4\\x3f\\x53\\xfb\\x4c\\xca\\x99\\xf8\\x33\\x11\\xa7\\xff\\x3c\\x5d\\x7e\\xfa\\xab\\xd3\\x5f\\x9e\\xfe\\xfc\\xf4\\xa7\\xa7\\xdf\\x3e\\xfd\\xda\\xe9\\x43\\xa7\\x5f\\x3c\\xbd\\xf7\\xf4\\x8e\\xd3\\xcf\\x9f\\xde\\x7c\\x7a\\xfd\\xe9\\x47\\x4e\\xe7\\x9d\\xee\\x70\\xba\\xfd\\xe9\\x3a\\xa7\\x6b\\x9f\\x4e\\x3d\\x5d\\xeb\\x74\\xca\\xc9\\xcc\\x93\\xf5\\x3e\\x79\\x68\\xc8\\xdc\\x21\\x75\\x22\\xbc\\x11\\x2b\\x22\\x1e\\x8e\\x58\\x1e\\xb1\\x2c\\x62\\x69\\xc4\\x92\\xd0\\x97\\xaf\\xfd\\x5b\\x91\\xff\\xbf\\xfb\\x63\\x57\\xfb\\x96\\xf9\\xd7\\x36\\xaf\\x65\\x42\\xaa\\xbf\\x77\\x6a\\xfe\\xd1\\xfe\\x8b\\x8e\\xc0\\x48\\x5d\\x18\\xc2\\xc6\\x6a\\xe2\\x10\\x4e\\x11\\x22\\x42\\x45\\x98\\x08\\x17\\x11\\x22\\x52\\x44\\xb1\\x32\\xc5\\x88\\x58\\x11\\x27\\xe2\\x45\\x82\\x48\\x14\\x49\\x22\\x99\\x7d\\xa7\\xba\\x48\\x61\\x15\\xaa\\x29\\x6a\\x09\\x17\\xb3\\x2f\\x55\\xd4\\x16\\x69\\xa2\\x8e\\x48\\x17\\x19\\xa2\\xae\\xa8\\x27\\xea\\x8b\\x06\\x22\\x53\\x34\\x14\\x8d\\x44\\x63\\x91\\x25\\x9a\\x88\\xa6\\x22\\x5b\\xe4\\x88\\x66\\xa2\\xb9\\x68\\x21\\x5a\\x8a\\xeb\\x44\\x2b\\xd1\\x5a\\x5c\\x2f\\xda\\x88\\xb6\\xa2\\x9d\\xc8\\x15\\x1e\\xd1\\x5e\\x74\\x10\\x1d\\x45\\x27\\x91\\x27\\xf2\\x45\\x67\\x51\\x20\\xba\\x88\\xae\\xa2\\x9b\\xe8\\x2e\\x7a\\x88\\x1b\\x44\\x4f\\xd1\\x4b\\xf4\\x16\\x7d\\x44\\x5f\\xd1\\x4f\\xf4\\x17\\x37\\x8a\\x9b\\x44\\xa1\\x28\\x12\\x03\\xc4\\x40\\x71\\xb3\\x18\\x24\\x06\\x8b\\x62\\x51\\x22\\x86\\x80\\xff\\x01\\xf1\\xa0\\x78\\x48\\xcc\\x13\\xcb\\xc4\\x23\\xac\\xfd\\x4f\\x89\\x27\\xc5\\x7a\\xf1\\x8c\\x78\\x5a\\x3c\\x2b\\x36\\x8a\\xe7\\xc4\\x26\\xb1\\x59\\x6c\\x11\\x5b\\xc5\\xf3\\xc2\\x2b\\xb6\\x89\\x1d\\xe2\\x05\\xb1\\x53\\xec\\x12\\x65\\x62\\xb7\\xd8\\x27\\x5e\\x14\\x2f\\x89\\xfd\\x8e\\xcf\\xc4\\x44\\x31\\x5c\\x8c\\x10\\xb7\\x38\\xbe\\x10\\x77\\x8a\\x27\\xc4\\x78\\x71\\xab\\x33\\x49\\xdc\\x21\\xc6\\x38\\x5b\\x8a\\x39\\xe2\\x31\\x67\\xb6\\x28\\x75\\xb6\\x72\\xb6\\x16\\xa3\\xc4\\x14\\x67\\x03\\x67\\x23\\x67\\x43\\x7d\\x82\\xb3\\xb9\\xb8\\x4d\\xdc\\xa3\\x0f\\x10\\x1b\\xc4\\x5e\\x31\\x53\\x0c\\x13\\x63\\x9d\\x4d\\x65\\x3f\\x67\\x0b\\x67\\xa6\\xb8\\x5d\\xdc\\xeb\\x38\\x25\\x86\\x8a\\x59\\xe2\\x7e\\xb1\\x52\\xc6\\xcb\\x04\\xc7\\x3b\\x8e\\x7f\\x39\\x3e\\x76\\x7c\\xe2\\x78\\xdf\\xf1\\x81\\xd8\\xe3\\xbc\\x53\\xbc\\x2c\\x5b\\x3b\\xce\\x3b\\x9d\\x8e\\xef\\x1c\\xdf\\x3b\\xb7\\x39\\xb7\\x3b\\x3e\\x17\\x77\\x39\\x3e\\x74\\x7c\\xea\\x38\\x2b\\x66\\x8b\\xf9\\xe2\\x3e\\xb1\\x40\\xcc\\x65\\x4f\\x5e\\x2c\\x96\\x88\\x85\\xe2\\x61\\xb1\\x02\\x0f\\x97\\x8b\\xd5\\xe2\\x71\\xb1\\x4a\\x5c\\xd2\\x1e\\xd4\\x1e\\x17\\x13\\xb4\\x47\\xb5\\xc7\\xb4\\x55\\x62\\xaa\\xb6\\x46\\x5b\\xad\\xcd\\x11\\xc2\\xd3\\x79\\xe0\\x80\\xa2\\xc2\\xfe\\xfd\\xfa\\xf6\\xe9\\xdd\\xab\\xe7\\x0d\\x3d\\xba\\x77\\xeb\\xda\\xa5\\xa0\\x73\\x7e\\x5e\\xa7\\x8e\\x1d\\xda\\x7b\\x72\\xdb\\xb5\\x6d\\x73\\x7d\\xeb\\x56\\xd7\\xb5\\x6c\\xd1\\xbc\\x69\\x93\\xac\\xc6\\x8d\\x1a\\xd6\\xab\\x9b\\x91\\x5e\\x27\\xad\\x76\\xaa\\x2b\\x39\\x3e\\x26\\x3a\\x2a\\x32\\x22\\x2c\\x34\\xc4\\xe9\\xb0\\xdb\\x0c\\x5d\\x93\\xa2\\xa1\\xdb\\x2b\\x4b\\xf2\\xbc\\x7a\\xba\\x3b\\x26\\x7f\\x48\\x5a\\x5e\\xda\\x90\\x82\\x46\\x0d\\xdd\\x79\\xc9\\xa3\\x3b\\x35\\x6a\\x98\\x97\\x96\\x5f\\xe2\\x75\\x0f\\x71\\x7b\\x29\\x8c\\x8c\\xb4\\x82\\x02\\xb3\\x2a\\x6d\\x88\\xd7\\x5d\\xe2\\xf6\\x66\\x50\\x0c\\xa9\\x52\\x5d\\xe2\\xf5\\xd0\\x73\\xe4\\x35\\x3d\\x3d\\x81\\x9e\\x9e\\xab\\x3d\\x65\\xb4\\xbb\\x8d\\x68\\xa3\\x4c\\xa4\\xb9\\xbd\\xc7\\x3b\\xa5\\xb9\\xcb\\xe4\\x80\\xde\\x85\\x3c\\x2f\\xe8\\x94\\x56\\xe4\\xf6\\xfe\\x60\\x3e\\xf7\\x30\\x9f\\x8d\\x0c\\xf3\\x25\\x82\\x97\\xd4\\x54\\x46\\x98\\xa8\\x14\\x5a\\x77\\x9e\\x37\\xff\\x8e\\xd1\\x73\\xf3\\x4a\\xc0\\x28\\xb7\\x85\\x85\\x76\\x4c\\xeb\\x38\\x22\\xb4\\x51\\x43\\xb1\\x2d\\x34\\x8c\\xc7\\x30\\x9e\\xbc\\xf5\\xd2\\xc6\\x6f\\x93\\xf5\\xda\\x49\\xf3\\x41\\xab\\x97\\xd7\\x7a\\x9b\\x26\\x9c\\x11\\xca\\x2c\\x9e\\xe6\\x0d\\x19\\xee\\xed\\xd5\\xbb\\x30\\xaf\\x53\\x4a\\x6a\\x6a\\x51\\xa3\\x86\\x5d\\xbc\\x91\\x69\\x9d\\xcc\\x26\\xd1\\xd1\\x54\\xe9\\xb5\\x77\\xf4\\x3a\\x4c\\x95\\xee\\x5b\\x14\\x74\\x31\\xcf\\xbd\\xad\\xe1\\xc1\\xb9\\xf3\\xcb\\xa2\\xc5\\xd0\\x92\\xcc\\xf0\\xe1\\x69\\xc3\\x87\\xdc\\x5c\\xe8\\xd5\\x87\\x30\\x76\\xae\\x9e\\x37\\x77\\xee\\x83\\xde\\x98\\x4c\\x6f\\xfd\\xb4\\x4e\\xde\\xfa\\x53\\xbf\\x4a\\xc6\\xf3\\x11\\xde\\x86\\x69\\x9d\\xf2\\xbc\\x99\\x4a\\x6b\\xb7\\x3e\\x57\\xed\\x74\\xab\\x34\\x29\\xbd\\xb6\\x74\\xb6\\x8b\\xb9\\xbf\\x08\\xdc\\x49\\xfb\\xe1\\xdc\\x5f\\x6b\\x86\\x58\\x35\\xf6\\xf4\\xe8\\x5f\\x84\\x7a\\xf4\\x6a\\x1d\\xbd\\xb2\\x4f\\x61\\xaa\\xfa\\x93\\x92\\x0f\\xd7\\x73\\xe7\\xe6\\xa7\\xb9\\xf3\\xe7\\x96\\xcc\\x1d\\x52\\xe6\\x9f\\x31\\x34\\xcd\\x1d\\x9d\\x36\\x77\\x5b\\x78\\xf8\\xdc\\xf1\\x79\\xd0\\x2d\\x7a\\x15\\xa2\\xa2\\xcc\\xbf\\x77\\x5e\\x8a\\x37\\x7f\\x7e\\x91\\x37\\xba\\x64\\xb4\\x6c\\x5d\\x64\\xb9\\x9e\\xdf\\xa7\\x9b\\x37\\xae\\xf7\\xc0\\x42\\xaf\\x96\\x9e\\xef\\x1e\\x3d\\x84\\x1a\\xfe\\xc9\\x4d\\x4b\\xbd\\x2e\\x25\\x35\\xe6\\x6a\\x9f\\x5e\\xff\\xd4\\x2c\\xa0\\x05\\x72\\x60\\x38\\x35\\x55\\xd1\\x30\\xaf\\xcc\\x23\\x86\\xf2\\xe2\\x9d\\xd1\\xbb\\x30\\xf0\\xee\\x16\\x43\\x53\\xb6\\x0b\\x4f\\x56\\x66\\x91\\x57\\x2b\\x51\\x2d\\x07\\x83\\x2d\\x09\\xfd\\x55\\xcb\\x8c\\x60\\xcb\\xd5\\xe1\\x25\\x69\\xc4\\xb6\\x5b\\xdf\\xc2\\xb9\\x5e\\x23\\xbd\\xcb\\xf0\\xb4\\x3c\\x18\\x9f\\x37\\xc4\\x3b\\x63\\x28\\xd9\\x35\\x46\\x05\\x26\\x2d\\xda\\x1b\\xf9\\x6b\\x4a\\x6a\\xda\\xdc\\xd8\\x18\\x77\\xab\\xac\\x22\\xb3\\xaf\\x1b\\x54\\x5d\\x86\\xdf\\xe2\\xf6\\xda\\x32\\x20\\x89\\x51\\x55\\x07\\x90\\x37\\x6a\\xc8\\xdc\\x68\\xf3\\x25\\xf2\\xd7\\x40\\xf1\\x43\\x0a\\x06\\x32\\x62\\x62\\xdd\\xad\\xd2\\x50\\xa3\\xf4\\xe4\\xa5\\xe5\\x95\\x58\\xff\\xdc\\x31\\x3a\\x19\\x05\\x6e\\x88\\x2e\\xc8\\x0c\\x24\\x42\\xbf\\x42\\xaf\\xa7\\x13\\x0f\\x9e\\x21\\x56\\xc4\\xf2\\xb6\\x35\\xc9\\x62\\xc4\\x90\\x12\\x02\\x76\\x4b\\x27\\x33\\x98\\xde\\xac\\xb4\\xf1\\xde\\xf8\\xb4\\x0e\\x57\\xa3\\xab\\x60\\xe5\\xdd\\xd2\\xb7\\xd0\\x1c\\x62\\x0d\\xf3\\xc6\\x77\\xf4\\x8a\\x92\\x61\\xd6\\x28\\x6f\\x56\\x9e\\x39\\xaf\\xdc\\x79\\x73\\x4b\\x3a\\x05\\x20\\x28\\x5d\\x69\\xbd\\x0b\\xf7\\x88\\x1c\\xff\\xa9\\x6d\\xcd\\xdc\\x29\\x3b\\xd4\\xd2\\x59\\xd4\\x49\\x75\\x4e\\xec\\x48\\x96\\x65\\xe4\\xcd\\x2d\\x1c\\x3e\\xd2\\xeb\\x2a\\x49\\x19\\xce\\xbc\\x1b\\xe9\\x2e\\x4c\\x49\\xf5\\x7a\\x8a\\x88\\x70\\x51\\x5a\\xe1\\x88\\x22\\x95\\x76\\x30\\x54\\xff\\x54\\x8a\\x99\\x1c\\x45\\x66\\xae\\xf4\\x2b\\xec\\xd6\\x37\\xad\\x5b\\xef\\x01\\x85\\xd7\\x59\\x40\\x02\\x0d\\x4a\\x9d\\x91\\x9e\\x77\\x8d\\x9a\\xb4\\xc2\\x94\\x80\\x1a\\x12\\xd0\\xeb\\x4c\\x77\\xba\\x0b\\xb5\\x14\\xbd\\x88\\x8e\\xd1\\x54\\xb8\\xf3\\x79\\x48\\xeb\\xd0\\x86\\x9f\\x5e\\x47\\xba\\x13\\x89\\x86\\x70\\xb3\\x56\\x25\\x6e\\x87\\x36\\xee\\x42\\x99\\x22\\x82\\xbd\\x81\\xe1\\xad\\xef\\xce\\x1b\\xd1\\xc9\\xea\\xa7\\xde\\xff\\xa2\\xd4\\xa6\\xd2\\xa9\\x63\\x41\\x50\\x9b\\x5d\\xbd\\xa2\\xa7\\x63\\x41\\x4a\\x6a\\x51\\x6a\\xe0\\x4f\\xa3\\x86\\x1a\\xcd\\x6e\\xcb\\x30\\x23\\x9c\\x8a\\xd4\\x82\\x60\\x13\\xcb\\x14\\x0d\\x4e\\xf2\\xb3\\x63\\x81\\x59\\xa5\\xb8\\x4c\\x56\\x49\\xef\\x2e\\x4c\\x1b\\x91\\x56\\x94\\x36\\xda\\xed\\xf5\\xf4\\x2a\\x54\\xbe\\x29\\x7a\\x4c\\x96\\x2d\\x32\\x4c\\xce\\xad\\x58\\xf5\\xfb\\xcb\\x5b\\x15\\xb2\\xa0\\x49\\xa4\\xd2\\x1c\\x7c\\x51\\x64\\x7a\\xf3\\x33\\x53\\xaa\\x92\\xeb\\xed\\x6c\\xbe\\x5f\\x7d\\x2d\\xb8\\xa6\\xb9\\x4b\\xb0\\xd9\\x3d\\xd7\\x99\\xd6\\xad\\xef\\x5c\\xa5\\x3c\\xcd\\x52\\x28\\x40\\xde\\xc5\\x2b\\x54\\x0a\\x7b\\xae\\x8b\\x49\\x31\\xd7\\x02\\x35\\xa1\\xd3\\x58\\x7b\\xdd\\xd1\\x4c\\x69\\x73\\x42\\xcf\\xdd\\xe6\\xf1\\xa8\\xc9\\x3c\\xba\\xb5\\x52\\x92\\xd6\\x65\\xf8\\xdc\\xb4\\xbe\\x85\\x6d\\xcc\\xde\\xac\\x27\\xf7\\xa6\\x4c\\x55\\xb6\\x62\\x45\\x37\\xd9\\xad\\x5f\\x87\\x46\\x0d\\x59\\xda\\x3a\\x6c\\x4b\\x93\\x73\\x7a\\x6f\\xf3\\xc8\\x39\\x7d\\x07\\x14\\xee\\xe1\\x72\\xe1\\x9e\\xd3\\xaf\\x70\\xbb\\x26\\xb5\\x8e\\x25\\x1d\\x8a\\xb6\\xd5\\xa1\\xad\\x70\\x8f\\x9b\\x4d\\xc3\\xac\\xd5\\x54\\xad\\xaa\\x54\\x2f\\x6e\\xf5\\xa2\\x34\\xf5\\xe1\\xc5\\x69\\xf6\\x4f\\xd9\\xe3\\x11\\x62\\x86\\xd9\\x6a\\x98\\x15\\xe6\\xfb\\xb0\\x32\\x29\\xcc\\x3a\\x67\\xb0\\x4e\\x8a\\x61\\x65\\x5a\\xa0\\x2e\\x3a\\x60\\x28\\xc3\\x34\\xe4\\xe1\\x0c\\x32\\xac\\xcc\\x08\\xb4\\x78\\x82\\xbd\\x0d\\xea\\x9c\\x81\\xba\\x19\\x66\\x9d\\xf9\\x67\\x9b\\x50\\x94\\x79\\x42\\x6d\\x1e\\xa7\\x27\\xc4\\x13\\xae\\x45\\x68\\x29\\xdb\\xa4\\xaa\\xda\\x4e\\xcd\\x5e\\xf5\\xef\\xbc\\x48\\xb1\\x23\\x5c\\x46\\xc8\\x94\\x6d\\x8c\\xea\\x63\\x56\\x97\\xc9\\x19\\xdb\\x42\\x3c\\x29\\x81\\x1e\\x33\\xe8\\xe1\\x09\\x20\\x9c\\xd3\\xbf\\xd2\\x74\\xff\\x01\\x85\\x3b\\x38\\xd1\\xc8\\x14\\xf3\\x27\\x86\\x3a\\xa8\\x3f\\xa4\\x4b\\xf2\\x68\\x82\\xcd\\xb6\\x92\\xe7\\x1e\\xae\\x12\\xe5\\x9e\\xa2\\xd1\\x73\\x4b\\x8a\\xd4\\x64\\x13\\x89\\x84\\x86\\x7f\\xa4\\x57\\xa6\\xb5\\x23\\x4c\\x69\\xed\\x00\\x62\\x0f\\xf7\\x86\\xa6\\x8d\\xe8\\xe0\\x0d\\x4b\\xeb\\xa0\\xea\\x73\\x55\\x7d\\x6e\\xa0\\xde\\xae\\xea\\x1d\\xa4\\xa8\\x4c\\x94\\x0c\\x9f\\x41\\xec\\x7b\\x79\\xa5\\xca\\x80\\x81\\x85\\xa9\\x4c\\x49\\x77\\xf5\\xa3\\x29\\x73\\xa3\\x7f\\x50\\x91\\x2a\\x62\\x51\\x99\\x1b\\xfd\\x75\\xa3\\xf6\\x19\\xb2\\xaf\\x90\\xb2\\x87\\xe8\\x2f\\xfb\\x58\\xe5\\x8d\\xb2\\x1f\\x27\\x2d\\x97\\xec\\x4f\\xc9\\xa5\\x45\\xf6\\x14\\x39\\xf2\\x06\\xea\\xbb\\x53\\xaa\\xf6\\xb6\\xa2\\xad\\x6c\\x43\\xd9\\x86\\xfe\\xad\\x29\\xaf\\xe7\\x5d\\x95\\xcd\\x65\\xb3\\xed\\x33\\x5c\\xa2\\x7d\\x63\\xd9\\x4c\\x44\\x23\\x9a\\x29\\x8d\\x69\\xc9\\x11\\x05\\x32\\x9b\\xb3\\xd3\\x0c\\x7e\\x4a\\x24\\x50\\xdb\\x94\\x71\\x4d\\xa8\\x8d\\xe2\\xa7\\x44\\x02\\xb5\\x59\\xd4\\x52\\x0a\\x37\\x3f\\x4b\\x10\\xce\\x8e\\xfc\\x74\\x9b\\x4f\\x21\\xb2\\xf1\\x76\\x29\\xfa\\x97\\xc9\\x46\\xdb\\xdb\\xaa\\xa2\\xe1\\x0e\\xe1\\x77\\x8d\\x6f\\x1f\\x23\\x3b\\xa1\\x40\\x49\\x3b\\x14\\x74\\x44\\x41\\x07\\xca\\x0e\\xd6\\x7b\\x2e\\xef\\xed\\x3c\\xa3\\xfa\\x8b\\x0a\\xf9\\x4b\\xaf\\x7a\\xae\\x9f\\xf2\\xeb\\xb9\\x7e\\xcc\\x6f\\xe0\\xba\\x98\\xdf\\xdc\\xb5\\xe8\\xfc\\xda\\xf3\\x5b\\xcf\\xeb\\xe3\\x2e\\x2c\\xba\\xa0\\x1d\\xb8\\x20\\xd7\\x5d\\x90\\xae\\x0b\\xc5\\x17\\xc6\\x5d\\xd0\\xc5\\x39\\xcf\\x39\\x2d\\xf4\\xfb\\x7c\\xbf\\xab\\xfc\\xab\\x0c\\xd7\\xd9\\xaf\\xda\\xba\\xbe\\xfe\\xaa\\x96\\x2b\\xea\\x2b\\x59\\xf3\\xcc\\xe9\\x7c\\x57\\xd4\\x69\\xe9\\x39\\x9d\\x9f\\xe8\\xfa\\xf2\\x54\\xbe\\xeb\\xc0\\xa9\\xb7\\x4f\\x7d\\x71\\x4a\\xf7\\x9c\\xca\\x69\\x91\\x7f\\x2a\\x3f\\xd9\\xb5\\x4f\\xc6\\x8b\\x76\\x32\\x16\\xbb\\x71\\x9e\\xf0\\xb6\\x7a\\xff\\x2f\\xda\\x7e\\xd6\\xff\\xf3\\xb6\\x27\\xfb\\x8b\\xf6\\xb1\\x32\\x11\\x44\\x4a\\x12\\x70\\x6f\\x2b\\x3f\\x25\\x6e\\x25\\x88\\x5e\\x88\\x06\\x09\\xbc\\xcb\\x18\\x4f\\x5f\\xdd\\xef\\xfa\\x4c\\x9e\\xec\\xef\\x3e\\xd9\\xeb\\xe4\\x8c\\x93\\xde\\x93\\x46\\xd4\\x49\\x79\\x22\\x21\\xc7\\x55\\x7c\\x78\\xdc\\xe1\\xe9\\x87\\xf5\\x03\\x87\\xe4\\xcb\\xbd\\x32\\x5c\\xe3\\xf7\\x4b\\xf7\\xfe\\x26\\xfb\\x0f\\xee\\xd7\\xc7\\xef\\x9f\\xb1\\x5f\\x8b\\xda\\xe7\\xda\\xa7\\x65\\xed\\xcb\\xdd\\x37\\x6e\\xdf\\xd6\\x7d\\x5f\\xec\\xb3\\xed\\xd9\\x92\\xe1\\x72\\x97\\x35\\x29\\xeb\\x55\\x36\\xbe\\x6c\\x46\\x99\\xad\\xcc\\x7f\\xd0\\x53\\xa3\\x2c\\xae\\x7e\\x7e\\xf4\\x6e\\xe9\\xde\\xdd\\x6b\\xf7\\x8c\\xdd\\xde\\xdd\\xc6\\x8c\\x17\\xbc\\x2f\\x68\\x51\\x3b\\x72\\x77\\x5c\\xd8\\xa1\\x97\\xc9\\x08\\x4f\\xe6\\xa6\\x02\\xd7\\x0c\\xef\\x62\\xaf\\xe6\\xf5\\x1e\\xf4\\x9e\\xf0\\xea\\x59\\x5b\\x73\\xb7\\x6a\\xeb\\xb6\\x78\\xb7\\x68\\x07\\xb7\\x9c\\xd8\\xa2\\x65\\x6d\\xce\\xdd\\xac\\xad\\x7d\\x4e\\x1e\\xdc\\x74\\x62\\x93\\xd6\\x3e\\x42\\x46\\x89\\x6c\\x19\\x89\\x1f\\x82\\x9f\\xd1\\x88\\x1b\\xd1\\xf1\\x22\\xda\\x93\\x20\\x7b\\xad\\x2e\\x59\\x3d\\x7e\\xb5\\xfe\\xe8\\x8a\\x0c\\xd7\\x23\\xf9\\x19\\xae\\x26\\x2b\\x3d\\x2b\\x35\\x30\\xec\\x58\\x91\\x58\\x23\\x5f\\x61\\x09\\x59\\x11\\x19\\x93\\xff\\xc4\\xf2\\x36\\xae\\x75\\xed\\x43\\x64\\x1e\\xa7\\x70\\x97\\xec\\x6c\\x95\\xf9\\x32\\xcf\\x53\\x6f\\xb8\\xeb\\xe1\\x14\\xbf\\x2b\\x6a\\xf9\\xd6\\xe5\\x07\\x96\\xeb\\x9e\\xe5\\x35\\x9b\\xe6\\x7b\\x96\\x27\\xa6\\xf0\\x23\\x3c\\x2a\\x3f\\x6a\\x59\\xd6\\xb2\\xdc\\x65\\xd3\\x97\\x5d\\x58\\x66\\x8b\\xda\\x2b\\xc3\\xc5\\x38\\x19\\xee\\x71\\x6b\\x4b\\x17\\x64\\xb8\\x96\\xf4\\xf5\\xbb\\xbe\\x58\\x2c\\x9b\\x2c\\x96\\xae\\xc5\\x59\\x8b\\xb5\\x71\\x8b\\xa7\\x2f\\xd6\\xc4\\xa2\\xe8\\x45\\xee\\x45\\xba\\x32\\xea\\x5e\\x94\\x5c\\x23\\xdf\\xbd\\xb0\\xc9\\x42\\xad\\xe7\\x82\\xe2\\x05\\xe3\\x16\\xe8\\x4d\\xe6\\xcb\\xa8\\xf9\\xae\\xf9\\x59\\xf3\\x75\\xcf\\xfc\\xe8\\xb8\\xfc\\xe8\\x03\\x32\\x0c\\x2f\\xc2\\x44\\x13\\x44\\xf7\\x1f\\x94\\x61\\xdb\\x93\\xdc\\xf9\\x7b\\xd4\\x83\\xa7\\x57\\x74\\x7c\\xfe\\xbc\\x59\\x19\\xae\\x87\\xba\\xb6\\x71\\xcd\\x79\\xb0\\xad\\xeb\\xc1\\xd9\\x6d\\x5c\\x0f\\x74\\xf5\\xbb\\xd6\\xde\\x2f\\xa3\\x67\\xbb\\x67\\x37\\x99\\xad\\x37\\xb9\\x4f\\x4e\\x9f\\x25\\x3d\\xb3\\x42\\xc2\\xf3\\x4b\\x89\\xcf\\x38\\x92\\x6b\\x2c\\x52\\x5d\\x26\\xf7\\xaf\\x96\\x93\\xdc\\xdf\\x91\\xa3\\xf7\\xb7\\x13\\xd9\\x12\\xda\\x8a\\x91\\x3d\\xfe\\x53\\xd2\\xb1\\xdd\\x95\\x91\\x6f\\x3e\\x78\\x5c\\x71\\x35\\xf2\\x07\\x0f\\x28\\x70\\xdd\\x9c\\xdf\\xd4\\x35\\x90\\x72\\x00\\x65\\x5c\\x76\\x6c\\x7f\\x9b\\xd4\\xfb\\x1b\\xd9\\x3a\\x99\\xee\\x7c\\x21\\xa5\\x8d\\x2b\\x4a\\x97\\x7b\\x64\\x35\\x99\\xbc\\xbd\\xb9\\xcb\\x53\\x46\\x91\\x54\\x2f\\xbf\\x4c\\x86\\x7a\\xd2\\x51\\xd8\\xa7\\x57\\x8a\\xeb\\x42\\x6f\\x7f\\x6f\\xcd\\xd3\\xbb\\xf9\\x75\\xf9\\x9e\\xde\\xe9\\xf5\\xf2\\xdf\\xee\\x25\\xbf\\xe8\\x2e\\xbb\\xe7\\xd7\\x74\\x75\\xcb\\x2f\\x70\\xf5\\x2a\\x93\\x29\\x9e\\xa1\\xb2\\x2b\\xf1\\xe8\\x02\\xb0\\x02\\xa4\\x33\\xb2\\x35\\x5f\\x7e\\x91\\x7f\\x21\\x5f\\x9b\\x91\\x2f\\x93\\x64\\x42\\xff\\xc4\\xec\\x84\\xfe\\x31\\x32\\xaa\\x7f\\x74\\x76\\x54\\x7f\\xce\\xe1\\xfd\\x25\\xf3\\xab\\x46\\xca\\x70\\x97\\x2b\\x2a\\x37\\xaa\\x38\\x6a\\x7a\\x94\\x11\\x15\\x95\\x15\\xd5\\x33\\x6a\\x5c\\xd4\\xa2\\xa8\\x2f\\xa2\\xfc\\x51\\x8e\\x5c\\xea\\x2e\\x44\\xe9\\xe3\\x04\\x8b\\x84\\x5c\\x97\\x28\\x6d\\xb2\\x4c\\x2e\\xde\\xd6\\xaf\\x6f\\x66\\x66\\xb7\\x32\\x87\\x9f\\x73\\x5d\\x48\\xaf\\x81\\x5e\\x39\\xc7\\x9b\\xde\\x57\\xfd\\xf4\\xf4\\x1e\\xe0\\xb5\\xcf\\xf1\\x8a\\xfe\\x03\\x06\\x16\\x6e\\x93\\x72\\x61\\xd1\\xfd\\x0b\\x16\\x88\\x0e\\x35\\xbb\\x79\\xb3\\xfb\\x16\\x7a\\x4b\\x6a\\x16\\x75\\xf3\\x0e\\xe7\\xc1\\xa3\\x1e\\x66\\xf0\\x10\\x5d\\x73\\x5b\\xa2\\xe8\\x50\\x54\\x3a\\xa9\\x74\\xd2\\xe4\\xcc\\xc0\\x1f\\x69\\x3d\\x96\\x8a\\xcc\\xcc\\x49\\x93\\x28\\xcd\\x17\\xb3\\x05\\x11\\x99\\xc1\\x3f\\x52\\xbd\\xc8\\xcc\\xd2\\x49\\x93\\x4a\\xad\\x1a\\x46\\xf0\\x36\\x29\\x73\\xb2\\xf9\\x33\\xb3\\xb4\\x34\\x38\\x50\\xf5\\xe5\\x41\\x60\\x06\\xf5\\xa5\\x93\\x84\\x1a\\x34\\x29\\xb3\\x54\\x96\\x0a\\x55\\x30\\x4a\\x19\\x65\\xb4\\x9c\\x24\\xcc\\x61\\xa5\\xfc\\x08\\x9a\\x44\\xd3\\xe0\\xd2\\x4c\\x31\\xb8\\xd4\\x7c\\x1d\\xcc\\x10\\x34\\x94\\x06\\xb0\\x5c\\xc5\\x36\\xb8\\x34\\x80\\xb4\\x34\\x68\\xd1\\xfc\\x93\\x2c\\x84\\xed\\x98\\xed\\x98\\xb8\\xd7\\x96\\xc7\\xad\\xb6\\xc4\\xfc\\xf9\\x97\\x3f\\x46\\x6b\\x56\\xe1\\x29\\x42\\xf8\\xcf\\xa9\\x37\\xff\\x39\\x7f\\x71\\xe0\\xd9\\x77\\x93\\xef\\xa6\\xff\\xf7\\xd7\\xf5\\x7f\\xff\\x13\\xf8\\xf7\\x41\\xb9\\x8d\\xbe\\xc4\\x1d\\x75\\x9d\\x78\\x9d\\xa7\\xfb\\xad\\xa6\\x39\\x62\\x1a\\xf7\\xd7\\x83\\x7f\\xe9\\x7e\\x40\\x1c\\xe5\\x36\\x3b\\x9f\\x5b\\xeb\\x2a\\x6e\\x88\\xcd\\xfe\\x51\\xed\\x1e\\xf4\\xdc\\x63\\x3e\\x2d\\xe7\\x86\\xfc\\x8f\\x7f\\xe4\\x06\\x31\\x8e\\xdb\\xee\\x7a\\xec\\xaa\\x1b\\xe7\\x8b\\x62\\xb0\\x9c\\x2b\\x75\\x6e\\xd4\\x93\\xb8\\xcf\\x96\\x61\\xbb\\x97\\xb1\\xcd\\x38\\xec\\xeb\\x2e\\xbe\\x97\\xdb\\xc5\\x61\\x19\\x22\\xee\\x96\\x99\\xda\\x0a\\x30\\xac\\x10\\x9f\\xda\\x3e\\x32\\xde\\xff\\x37\\x85\\x4b\\xb9\\x0b\\xdf\\xca\\xcf\\xdd\\xfc\\x5c\\xa5\\x2a\\xb4\\x9f\\xc4\\x52\\xad\\x9d\\x18\\xab\\x3d\\xad\\xe7\\x71\\x3f\\x5f\\x27\\x4a\\xb4\\xee\\x54\\xab\\xbf\\x81\\x76\\x83\\x58\\x2f\\x07\\x72\\x83\\x9f\\x21\\x6e\\x01\\x85\\xe0\\x69\\xf4\\x5f\\x74\\x65\\xe8\\x5d\\xb9\\xd3\\xdf\\x2d\\xd4\\xdf\\xcf\\xae\\xd2\\x62\\x9b\\x75\\x65\\x9b\\x08\\xf3\\xff\\x0c\\xe2\\x87\\xb8\\x21\\xaf\\x60\\xf4\\x04\\x31\\x50\\xf4\\xb1\\x9a\\xb7\\x6b\\xea\\x8b\\xe9\\x02\\xdd\\x85\\x37\\xcf\\x73\\xcf\\x57\\x7f\\xe6\\x05\\xc7\\xda\\x37\\xea\\xe3\\xb5\\x7d\\x9a\\xb3\\xe2\\x51\\xee\\xd5\\x4b\\x44\\x0f\\xfe\\x37\\x5c\\x0c\\x97\\x33\\xc5\\x5a\\xb1\\xc1\\x37\\xda\\xb7\\x5a\\xac\\x92\\x79\\xac\\x85\\x8b\\x7d\\xbf\\xfa\\xbf\\x15\\x53\\x6d\\x79\\x5a\\x0f\\x11\\xee\\x3f\\x6f\\x7b\\xe4\\xca\\x25\\x31\\x56\\x74\\xe7\\x3e\\x9f\\x2f\\xbe\\xf9\\x67\\x36\\x2d\\x7c\\xc7\\x44\\xd4\\x95\\x5a\\xfe\\x9f\\xb4\\xcb\\x22\\xd2\\x48\\x14\\xa1\\xbe\\x77\\x89\\x9a\\xf5\\x47\\x1f\\x28\\xa2\\x2b\\x6a\\x93\\x4d\\x77\\xfa\\x2f\\xfa\\x4a\\x7c\\x7d\\xe9\\x13\\x65\\x24\\xda\\x9e\\xb6\\x6d\\xb7\\x1d\\x16\\x77\\x89\\x62\\xfb\\x4c\\x63\\xb4\\x88\\x37\\xde\\x34\\x33\\xee\\x5d\\xdf\\x74\\x7c\\xfc\\x94\\xbc\\xd8\\x0b\\x6f\\xc1\\x3f\\x05\\xd7\\xc8\\x6a\\x04\\x4c\\x5a\\x38\\xda\\x4b\\xc8\\xdb\\x7e\\x20\\x98\\x84\\x6c\\xc0\\x5b\\x92\\xcb\\x0e\\x73\\x0e\\x8e\\x7f\\x0e\\xea\\x1d\\xcb\\x91\\xd7\\x91\\xdf\\xc9\\x3b\\x72\\xc7\\x79\\x91\\xd3\\x14\\x63\\x42\\x78\\x0f\\x25\\xb7\\xc3\\xc6\\x0b\\x11\\x5e\\x0f\\xe1\\x3d\\x82\\xfe\\x91\\x48\\x14\\xef\\x51\\x77\\x22\\x1f\\x09\\x11\\xdd\\x06\\xd9\\x27\\x44\\x4c\\x0d\\xe4\\x84\\x10\\x71\\xbc\\xc7\\xbd\\x27\\x44\\xfc\\x62\\x21\\x12\\x88\\x6a\\xc2\\x41\\x21\\x12\\xc1\\x94\\x48\\x99\\x74\\x1b\\xc2\\x98\\xe4\\x4e\\xc8\\x4e\\x21\\xaa\\x61\\xaf\\x1a\\xfa\\xab\\xc7\\x23\\xf4\\x4f\\xa1\\x4c\\xa1\\xac\\x41\\xff\\x1a\\xd8\\xab\\x09\\xae\\x5a\\xd4\\xd5\\xc2\\x56\\xad\\x93\\x42\\xb8\\xc0\\xea\\xe6\\xdd\\x3d\\x03\\xf9\\x4a\\x88\\x54\\xc6\\xa7\\x32\\x3e\\x15\\xdd\\xb5\\xb1\\x5f\\x1b\\x7b\\xb5\\x67\\x0b\\x91\\x46\\xff\\x3a\\xbc\\xd7\\x39\\x25\\x44\\xfa\\x1c\\x92\\xe6\\x3a\\x04\\x8c\\x75\\x61\\xac\\x1e\\xe3\\xeb\\x51\\x57\\xdf\\x40\\xe8\\x57\\x1f\\xcc\\x0d\\x78\\xcf\\xe4\\x3d\\x13\\xbd\\x0d\\xf1\\xad\\xe1\\x31\\x21\\x1a\\x79\\x84\\x68\\x0c\\x57\\x8d\\x69\\xcb\\x82\\xc7\\x2c\\xf8\\x6b\\xd2\\x10\\x81\\xc3\\xa6\\xd8\\x6d\\x0a\\x96\\x6c\\xb8\\xc8\\xa6\\x3d\\x07\\xbb\\x39\\xe8\\xc9\\xc1\\x5e\\x33\\xda\\x9a\\x63\\xa3\\xf9\\xcf\\x42\\xb4\\xa0\\xae\\x25\\x3a\\x5b\\x52\\xb6\\x72\\x23\\xcc\\xbe\\xd6\\xe8\\xbe\\xbe\\x4c\\x88\\x36\\x37\\x23\\xeb\\x11\\x78\\x68\\xcb\\xb8\\xb6\\xf4\\x6f\\x87\\x8d\\x5c\\x70\\xe7\\xe2\\x8f\\x67\\x33\\x82\\x8f\\xed\\xa9\\x6b\\xaf\\x4a\\xda\\x3b\\x80\\xb7\\x03\\xcf\\x1d\\x19\\x0b\\x85\\xa2\\x13\\x76\\x3b\\x61\\xbf\\x13\\x3a\\xf3\\xb0\\xc3\\x8d\\x54\\xe4\\xa1\\x2b\\x9f\\xd8\\xe6\\x83\\x3f\\x9f\\xb1\\xf9\\xd8\\xe8\\x8c\\xdd\\xce\\xaa\\x24\\x2e\\x05\\xf8\\x59\\x00\\xc6\\x02\\x72\\xa0\\xe0\\x11\\x04\\x8e\\x0b\\xe0\\xba\\x0b\\xbe\\x75\\x21\\x67\\xba\\xb2\\x0a\\x76\\x85\\xff\\xae\\xd8\\xea\\x8a\\xaf\\x5d\\x89\\x57\\x37\\xfc\\xef\\x86\\xae\\xee\\xbd\\x10\\xec\\x74\\xc7\\x4e\\x77\\xec\\xf4\\xc0\\xcf\\x1e\\x00\\xe9\\x81\\x8e\\x1b\\xa8\\xbb\\x81\\xba\\x9e\\xf4\\xed\\x89\\xed\\x9e\\xd8\\xec\\x89\\x6f\\x3d\\xc1\\xdb\\x1b\\x4e\\x7b\\x33\\xb6\\x37\\x63\\x7b\\xe3\\x57\\x6f\\x74\\xf6\\x81\\xdb\\x3e\\xf4\\xeb\\x43\\x4e\\xf4\\xc1\\x4e\\x1f\\xf2\\xae\\x2f\\xd2\\x0f\\xff\\xfb\\xe1\\x57\\x3f\\xec\\xf7\\x03\\x73\\x3f\\xb8\\xe3\\x4c\\x23\\xfa\\xcf\\x17\\xe2\\x46\\xfa\\xde\\x48\\x6e\\xdf\\x88\\xbd\\x1b\\xc1\\x7c\\x13\\x98\\x6f\\x2a\\x14\\x82\\x7f\\x44\\x61\\x13\\x84\\xbc\\x2d\\x24\\x7f\\x0a\\xe1\\xaf\\x90\\xdc\\x2d\\x02\\x5f\\x11\\xf9\\x58\\xc4\\xb8\\x22\\x7c\\x2d\\x62\\x5c\\x11\\x3c\\x0e\\xa8\\x83\\x80\\x67\\x00\\x78\\x06\\x80\\x67\\x00\\xb9\\x35\\x90\\xfc\\x18\\x08\\x8f\\x37\\xe3\\xc7\\xcd\\xf8\\x31\\x08\\x3f\\x06\\x31\\x76\\x10\\x3c\\x0d\\x62\\xec\\xa0\\x23\\x08\\x3a\\x07\\xa3\\x73\\x30\\x3e\\x0f\\x86\\x8f\\xc1\\xe0\\x1b\\x0c\\x3e\\xb5\\x98\\x16\\x83\\xa5\\x98\\xb8\\x14\\x13\\x8f\\x62\\x74\\x16\\xe3\\x63\\x09\\x3e\\x96\\x80\\x65\\x08\\x3a\\x86\\xe2\\xd7\\x50\\xfc\\x1a\\x0a\\x2f\\x43\\x37\\x9b\\xff\\x2d\\x02\\x31\\x0c\\x1b\\xc3\\xc8\\xcd\\x61\\xe0\\x1e\\xc6\\xb8\\x61\\xe4\\xc5\\x70\\x62\\x37\\x1c\\x7b\\x23\\xb0\\x3d\\x02\\xdc\\x23\\xc8\\xe7\\x11\\xf4\\x1f\\x41\\xec\\x46\\x12\\x97\\x91\\xf0\\x32\\xf2\\x8a\\x10\\xa3\\xf0\\x61\\x14\\xfa\\x46\\xf1\\x3e\\x0a\\xfe\\x46\\x81\\x63\\x14\\xf5\\xa3\\xd1\\x7f\\x0b\\x3a\\x6e\\x81\\xdb\\x5b\\x98\\x1b\\xb7\\xa0\\xeb\\x16\\x30\\xdc\\x02\\xb7\\x63\\xc0\\x30\\x06\\xbf\\x6f\\x25\\x07\\x6e\\x05\\xfb\\xad\\xe8\\xc4\\x84\\xb8\\x0d\\xee\\x6e\\x03\\xfb\\x6d\\x70\\x77\\x1b\\x7e\\xde\\x8e\\xbd\\xb1\\x4a\\xc0\\x38\\x0e\\x1f\\xc6\\xd1\\x3e\\x0e\\x92\\xc7\\x81\\x71\\x1c\\x18\\xc7\\x91\\x27\\xe3\\xe1\\x61\\x3c\\x3c\\x8c\\xc7\\xc6\\x78\\x6c\\x8c\\xc7\\xc6\\x78\\x6c\\x4c\\xc0\\xc6\\x04\\xea\\x27\\xe0\\xf3\\x04\\xea\\x27\\xa0\\x6f\\x22\\xef\\x13\\x69\\x2b\\x65\\x0e\\x94\\x62\\xbf\\x14\\xde\\x4b\\xe1\\xb9\\x14\\x9e\\x27\\x81\\x75\\x12\\xba\\x27\\x11\\xdf\\x49\\xe8\\x98\\x44\\x7c\\x26\\x93\\x83\\x93\\xc1\\x3f\\x19\\xdd\\x93\\x99\\xb3\\x93\\xf1\\xed\\x0e\\x70\\xde\\x41\\xde\\xde\\x31\\x1c\\x01\\xe7\\x1d\\xf4\\xbd\\x83\\x78\\x4c\\xc1\\xde\\x14\\x78\\x99\\x42\\xbf\\x3b\\xe1\\xea\\x2e\\xda\\xef\\x22\\x36\\x53\\x89\\xc7\\x54\\xf2\\xef\\x6e\\xb8\\xbd\\x1b\\x9d\\xf7\\x10\\xdf\\x7b\\xc1\\x7f\\x2f\\x98\\xa6\\xc1\\xed\\x34\\x62\\x3d\\x9d\\xf7\\x19\\xf8\\x36\\x83\\xb1\\x33\\xc1\\x38\\x8b\\x78\\xcc\\x82\\x97\\xfb\\xb0\\x3d\\x1b\\xff\\x66\\x63\\xe3\\x7e\\x08\\xba\\x1f\\x4e\\x1f\\x00\\xfb\\x03\\xf8\\xfe\\x20\\x9c\\x3f\\x48\\x6c\\xe7\\xc0\\xfb\\x43\\xc4\\xe0\\x21\\xb8\\x7f\\x88\\xfa\\x87\\xc8\\xad\\xb9\\xf8\\x35\\x0f\\x7d\\xf3\\xc0\\x3b\\x9f\\xf6\\x05\\x8c\\x59\\x80\\x8f\\x0b\\xc1\\xb5\\x88\\xb5\\x62\\x31\\xef\\x8b\\x69\\x5f\\x0c\\x17\\x4b\\xb0\\xb9\\x14\\x1b\\x4b\\xc1\\xb8\\x8c\\xfa\\x65\\xe8\\x58\\x8e\\x9d\\x87\\xf1\\xf1\\x61\\xb0\\xae\\xc0\\xa7\\x15\\xc4\\x73\\x25\\xfd\\x1e\\x01\\xdb\\x23\\xf8\\xf0\\x28\\xcf\\x8f\\x51\\xbf\\x0a\\x9f\\x57\\xa1\\x77\\x35\\xf6\\x1e\\xe7\\xf9\\x71\\xe2\\xb4\\x06\\x7b\\x6b\\xc0\\xb2\\x06\\x4e\\xd6\\xf2\\xbc\\x16\\xdf\\xd6\\x21\\x4f\\xd0\\xe7\\x49\\x6c\\x3c\\x85\\xde\\xa7\\xe8\\xb7\\x1e\\xee\\x9e\\x46\\xc7\\x33\\x70\\xfc\\x0c\\x3a\\x9f\\xc5\\x87\\x67\\xc1\\xf6\\x2c\\x18\\x9f\\xa5\\xdf\\xb3\\xcc\\xd7\\x0d\\xc4\\x64\\x03\\x1c\\x6c\\x80\\xff\\x0d\\xe8\\xdc\\x80\\x6f\\x1b\\xe1\\x7f\\x23\\x38\\x37\\x12\\xab\\x8d\\xe8\\xdf\\x48\\xfc\\x36\\xe2\\xe7\\x46\\x70\\x6c\\x42\\xd7\\x26\\xb0\\x6f\\xa2\\xee\\x39\\xc6\\x3e\\xc7\\xd8\\xe7\\xe0\\x6d\\x33\\xb8\\xb7\\xc0\\xd7\\x16\\xda\\xb6\\x90\\x4f\\x5b\\xb0\\xff\\x3c\\x78\\x9e\\x27\\x06\\xcf\\xd3\\xf7\\x79\\x6c\\x6d\\x65\\xec\\x56\\xe2\\xb1\\x95\\xfc\\xdb\\x0a\\x5e\\x2f\\x63\\xbd\\xf8\\xbd\\x0d\\x3f\\xb6\\xe3\\xdb\\x76\\xb0\\x6e\\x67\\xdc\\x0e\\x6c\\xee\\x00\\xcb\\x0e\\xb0\\xa8\\x0d\\x7c\\x17\\x58\\x77\\x31\\x7e\\x37\\xf6\\x76\\x33\\x66\\x37\\xf6\\x76\\xc3\\xcf\\x6e\\x72\\x9a\\xab\\xbd\\x28\\xc3\\xdf\\x32\\x72\\xb0\\x8c\\xf5\\xa2\\x8c\\x58\\x97\\xa1\\x73\\x0f\\xdc\\xef\\x21\\x3f\\xf6\\xb0\\x76\\xef\\x21\\x2f\\xf7\\xb0\\x86\\xec\\x25\\x4f\\xf6\\x62\\x7b\\x2f\\xf9\\xb7\\x97\\x78\\xef\\x85\\x93\\x17\\xe1\\xe4\\x45\\x38\\x79\\x11\\x3c\\x2f\\x12\\x8b\\x17\\xc1\\xb2\\x0f\\x2c\\xfb\\xf0\\x67\\x1f\\x76\\xf6\\x31\\x7e\\x1f\\xf5\\x2f\\xd1\\xbe\\x1f\\x7d\\xfb\\x79\\x3f\\x40\\xdb\\x01\\x30\\x1d\\xc4\\xfe\\xcb\\xf0\\x72\\x08\\xff\\x0e\\x83\\xe1\\x30\\x71\\x3d\\xcc\\x7c\\x39\\x82\\x9f\\x47\\xb0\\x7f\\x04\\x7f\\x8e\\xc0\\xc1\\x11\\x7c\\x7a\\x05\\xec\\xaf\\x30\\x1f\\x5e\\xe1\\xfd\\x15\\xf8\\x79\\x05\\x2e\\x5f\\x65\\xcc\\xab\\xe8\\x7c\\x95\\x38\\xbd\\xc6\\xf3\\xeb\\x8c\\x79\\x1d\\xec\\x6f\\xe0\\xd3\\x1b\\x94\\x6f\\xa2\\xfb\\x18\\xb6\\x8f\\xd3\\xff\\x2d\\x74\\xbe\\x85\\xcd\\xb7\\xf1\\xe5\\x04\\xbe\\x9e\\x20\\xaf\\xde\\x01\\xdf\\xbf\\x18\\xff\\x2e\\xb9\\xfc\\x2e\\x98\\xdf\\xa3\\x7c\\x1f\\x6c\\xef\\x63\\xef\\x03\\xf0\\x7e\\xc8\\xf3\\x47\\xcc\\xe9\\x8f\\xc0\\xf7\\x31\\x3e\\x7e\\x42\\xfb\\x27\\x8c\\xfb\\x94\\x9c\\x3e\\x49\\x0e\\x7c\\xc6\\x5a\\xfd\\x19\\xfe\\x7e\\x4e\\xcc\\xbe\\xa0\\xfd\\x14\\x39\\x7a\\x8a\\xb1\\x5f\\xd2\\x76\\x1a\\xae\\xce\\xa0\\xf3\\x8c\\x2a\\x89\\xd9\\x57\\xe8\\xfa\\x1a\\x5c\\x5f\\xa3\\xf7\\x2c\\x3e\\x9c\\x05\\x73\\x39\\x98\\xcb\\xe9\\xff\\x0d\\xfa\\xbe\\x65\\xfc\\xb7\\xf8\\xfe\\x1d\\x31\\xf8\\x9e\\x75\\xee\\x7b\\x78\\xfa\\x1e\\xce\\xcf\\x61\\xfb\\x07\\x72\\xeb\\x07\\xe2\\x72\\x9e\\xba\\x0b\\x70\\x70\\x11\\x4c\\x17\\xf1\\xff\\x47\\xec\\xfe\\x84\\xcd\\x9f\\xd0\\xf9\\x13\\x79\\x72\\x09\\x7f\\x7e\\xc6\\xde\\xcf\\x60\\xfa\\x85\\x38\\xfd\\xc2\\x98\\x5f\\xd1\\xfb\\x2b\\x79\\xf0\\x1b\\xef\\xbf\\xa1\\xeb\\x77\\x30\\xfc\\x8e\\x8d\\x3f\\xb0\\xfd\\x27\\x7c\\xfd\\x09\\x37\\x97\\xc9\\xbb\\xcb\\xf4\\xb9\\x82\\xfe\\x0a\\x78\\xaa\\x50\\xff\\x9e\\x61\\xa1\\xf5\\x77\\xad\\xe8\\xe3\\x9f\\xcf\\x65\\x3f\\x19\\x79\\x04\\xb9\\xc2\\x45\\x7f\\x8e\\x90\\x5a\\x27\\xe4\\x9c\\x90\\xfa\\x09\\x21\\x8d\\x9b\\x91\\x6f\\x84\\xb4\\xdd\\x29\\x24\\x67\\x26\\x69\\xf7\\x22\\x07\\x85\\x74\\x30\\xce\\x39\\x1c\\x99\\x24\\x64\\x48\\x13\\x64\\x03\\xc2\\x98\\xd0\\xcd\\x42\\x86\\xdd\\x26\\x64\\x78\\x43\\x21\\x23\\xa2\\xb9\\x83\\xa3\\x8b\\x33\\x92\\x8c\\xa6\\x5f\\x4c\\x89\\x90\\xb1\\x33\\x84\\x8c\\x1b\\x2f\\x64\\x7c\\x77\\x04\\x3d\\x09\\xe8\\x49\\xa4\\x5f\\x22\\xe3\\x93\\x68\\x4f\\xa2\\x5f\\x32\\x78\\x92\\x17\\x0b\\x59\\xcd\\x40\\x78\\xaf\\xce\\x81\\xb8\\xfa\\x7a\\x21\\x53\\xd0\\x95\\x72\\x04\\x79\\x0f\\xf9\\x4a\\xc8\\x1a\\xf5\\x10\\x6c\\xd5\\x00\\x53\\x0d\\xb0\\xd7\\x44\\x67\\xcd\\x93\\x42\\xd6\\xa2\\xae\\xd6\\x3d\\x08\\xba\\x39\\x2f\\x49\\x17\\x58\\x5c\\xe8\\x71\\x61\\xcf\\x75\\x51\\x48\\x77\\x1d\\x04\\xec\\x6e\\x74\\xba\\xd1\\x95\\x8a\\x5f\\xa9\\xe8\\x4e\\x05\\x5b\\x2a\\x3e\\xd7\\xc6\\x6e\\xed\\x5e\\xc8\\x6a\\xe4\\x94\\x90\\x69\\xf4\\xe7\\x2c\\x25\\xd3\\xe8\\x5f\\x87\\xb6\\x3a\\xfd\\x10\\xec\\xa5\\x83\\x37\\x1d\\x1c\\x19\\x05\\x08\\x7d\\x33\\xa8\\xe3\\x6c\\x25\\xeb\\xd1\\xa7\\xde\\xeb\\x42\\xd6\\x47\\x67\\x7d\\xfa\\xd6\\x07\\x07\\xe7\\x2b\\xd9\\x20\\x1e\\x29\\x44\\xf0\\xad\\x01\\xed\\x99\\xf8\\x9d\\x89\\x8e\\x4c\\x7c\\x6f\\x88\\xcf\\x0d\\xc1\\xd4\\x10\\x5f\\x1a\\xfe\\x2c\\x64\\xa3\\xeb\\x10\\xec\\x35\\xc2\\x7e\\x63\\x0f\\x82\\xfe\\x2c\\x70\\x66\\x31\\x3e\\x8b\\xf1\\x59\\x8c\\x27\\x7c\\xb2\\x09\\xfd\\x9a\\xe0\\x6b\\x93\\x9d\\x42\\x36\\x45\\x5f\\x53\\xb0\\x34\\xc5\\x8f\\xa6\\xf8\\x95\\x8d\\xfd\\x6c\\xb8\\xce\\x66\\x6c\\x0e\\x63\\x73\\x9a\\x21\\xf0\\x90\\xf3\\x91\\x90\\xcd\\x68\\x6b\\x86\\xfe\\x66\\xbf\\x0b\\xd9\\x1c\\xff\\x9a\\x8f\\x46\\xd0\\xd9\\x82\\x3e\\x2d\\xc8\\x81\\x16\\x3c\\xb7\\x0c\\x47\\xe0\\xa1\\xe5\\x72\\xe4\\x98\\x90\\xa4\\xae\\xbc\\xae\\x0d\\x82\\xbd\\xeb\\xb0\\x77\\x1d\\x63\\x5b\\xf1\\xce\\x79\\x4e\\xb6\\xda\\x27\\x64\\x6b\\xfc\\x6b\\x0d\\xd6\\xd6\\xb3\\x11\\xc6\\xb7\\x86\\xfb\\xeb\\x6b\\x20\\xbc\\x5f\\xcf\\x7b\\x1b\\x6c\\x72\\xd6\\x93\\x6d\\xd0\\xd5\\x16\\xac\\x6d\\xe1\\xa5\\x2d\\x7d\\xda\\x11\\x9f\\x76\\x60\\x6e\\x07\\x47\\xb9\\x8c\\xcf\\x25\\x7e\\xb9\\xe4\\x63\\x2e\\xbe\\x7b\\x88\\xa9\\x07\\xee\\x3d\\x8c\\xf3\\xe0\\x53\\x7b\\xb8\\x6d\\x4f\\x5d\\x7b\\xc6\\xb6\\xa7\\x7f\\x07\\x9e\\x3b\\xc0\\x59\\x47\\x72\\xa1\\x23\\xbe\\x76\\x24\\xff\\x3a\\x92\\xaf\\x9d\\xe0\\xa9\\x13\\x7e\\xe7\\xe1\\x77\\x1e\\x7d\\xf2\\xe0\\x2c\\x8f\\xf1\\xf9\\x60\\xcc\\xe7\\xbd\\x33\\xbe\\x74\\x86\\xf7\\x02\\xec\\x16\\xa0\\xa7\\x0b\\x78\\xba\\x83\\xb5\\x3b\\xf1\\xe8\\x4e\\x7d\\x0f\\x37\\x02\\x6e\\xce\\x74\\xf2\\x06\\x74\\xdc\\x00\\x27\\x37\\xd0\\xaf\\x27\\xe3\\x7b\\xa2\\xab\\x17\\x3a\\x7a\\xc1\\x4b\\x2f\\x6c\\xf5\\xc6\\xaf\\xde\\xf0\\xda\\x1b\\x8c\\x7d\\x88\\x23\\x67\\x39\\xd9\\x07\\x1c\\x7d\\xf1\\xa1\\x1f\\xf1\\xe8\\x07\\x8e\\xfe\\xd4\\xf7\\xe7\\xfd\\x46\\x7c\\xbd\\x91\\x9c\\xb9\\x09\\xbe\\x0b\\xe1\\xbd\\x10\\x1d\\x45\\xd8\\x2e\\x02\\x7b\\x11\\xf3\\x67\\x00\\x7e\\x0c\\x00\\xc3\\x00\\xf4\\x0d\\xc0\\xfe\\x40\\xf8\\xbf\\x99\\xb1\\x37\\x53\\x7f\\x33\\x7a\\x6f\\x66\\xec\\x20\\x30\\x0c\\x22\\xaf\\x06\\x31\\x76\\x30\\xf1\\xe2\\x0c\\x26\\x39\\x83\\xc9\\x62\\xb8\\x2b\\x41\\x7f\\x09\\xe3\\x4b\\xd0\\x57\\x82\\x6f\\x25\\xc4\\x65\\x08\\x18\\x86\\xc0\\x07\\xe7\\x2f\\x39\\x04\\x2e\\x87\\x92\\x33\\x43\\xa9\\x1b\\x4a\\xdd\\x50\\xda\\x87\\x12\\x0f\\xce\\x61\\x72\\x18\\xed\\xc3\\x68\\x1f\\xc6\\x3c\\x19\\x86\\xaf\\xc3\\x99\\xfb\\xc3\\xb1\\x39\\x9c\\xf8\\x8e\\x00\\xc7\\x08\\xf4\\x8e\\x20\\x37\\x47\\xe2\\xdb\\x48\\x62\\x33\\x0a\\x1c\\xa3\\xb0\\x39\\x8a\\x3e\\xa3\\xf0\\x6d\\x14\\x73\\x73\\x14\\x39\\x31\\x9a\\xb1\\xb7\\xe0\\xf3\\x18\\xfc\\x1b\\x43\\xae\\xdd\\x4a\\xff\\xdb\\xc8\\xed\\xdb\\xc0\\x7e\\x3b\\x71\\x1b\\x0b\\xf7\\x63\\xf1\\x79\\x2c\\x71\\x1b\\x07\\x77\\xe3\\x68\\x1f\\x8f\\x2f\\xe3\\xf1\\x61\\x02\\xf9\\x34\\x81\\x38\\x4d\\xa4\\x1f\\xe7\\x24\\x59\\xca\\x7c\\x9a\\x44\\x5c\\x26\\x51\\x37\\x99\\xba\\x3b\\x78\\xe6\\xbc\\x23\\xa7\\xd0\\x36\\x05\\x0e\\xa6\\xe0\\xe3\\x14\\xc6\\x4f\\xc1\\xce\\x9d\\xf8\\x71\\x17\\x18\\xa6\\x82\\x75\\x2a\\xbe\\x4c\\x05\\xc3\\x54\\xda\\xee\\x06\\xff\\x3d\\xc8\\xbd\\xd8\\xbc\\x17\\x7d\\xd3\\xe0\\x72\\x1a\\x38\\xa7\\xd3\\x67\\x3a\\x7e\\xcf\\x00\\xc7\\x4c\\x62\\x3c\\x13\\x9f\\x66\\x11\\xe7\\xfb\\x18\\x3f\\x1b\\xfd\\xb3\\xc9\\xf1\\xfb\\x89\\xf3\\xfd\\xe0\\x7e\\x00\\xfd\\x0f\\xd2\\x6f\\x0e\\x5c\\x3f\\x04\\x77\\x73\\x89\\xc9\\x5c\\x6c\\xcd\\x83\\xe7\\xf9\\x8c\\x9d\\x4f\\xac\\x16\\x50\\xbf\\x90\\xfa\\x85\\xe8\\x5f\\x08\\xc7\\x0b\\xd5\\x3b\\x3a\\x17\\x61\\x7b\\x11\\xd8\\x17\\x81\\x67\\x11\\x78\\x16\\xc3\\xcb\\x62\\x74\\x2d\\x41\\xd7\\x12\\xc6\\x2d\\x29\\x43\\xf0\\x69\\x29\\xbe\\x2d\\xc5\\xf6\\x32\\x70\\x2e\\x83\\xd7\\xe5\\xac\\xab\\xcb\\x55\\x49\\xdd\\x72\\xfa\\x2d\\x87\\xa3\\x87\\xf1\\x79\\x05\\xfc\\xad\\xe0\\x79\\x05\\xf6\\x57\\x10\\x8f\\x95\\xe8\\x5b\\x89\\xfe\\x95\\xe8\\x7f\\x84\\x7c\\xe0\\x9c\\x24\\x1f\\xa1\\xdf\\x23\\xac\\x75\\x8f\\xd2\\xf7\\x51\\x7c\\x7d\\x8c\\xe7\\x55\\xc4\\x69\\x15\\x7d\\x56\\x83\\x6d\\x35\\x36\\x57\\x93\\xdb\\xab\\xf1\\x6b\\x35\\x39\\xfc\\x38\\xb6\\x1e\\xc7\\xd6\\xe3\\xd8\\x7a\\x9c\\x38\\x3f\\xce\\x98\\x35\\xf8\\xb5\\x06\\x7f\\xd6\\x80\\x7f\\x0d\\x7d\\xd6\\xc2\\xc5\\x5a\\xc6\\xac\\x43\\xf7\\x3a\\xde\\x9f\\x20\\xa6\\x4f\\xd2\\xf7\\x29\\xb8\\x7a\\x0a\\xee\\x39\\x57\\xc9\\xf5\\xf8\\xf7\\x34\\xbc\\x3e\\xcd\\x1c\\x7a\\x06\\x1c\\xcf\\xd0\\xf7\\x59\\xf4\\x6e\\x00\\xe3\\x06\\x30\\x6f\\x20\\xb7\\x36\\x62\\x63\\x23\\x7a\\x36\\x31\\x76\\x93\\x2a\\xc1\\xf0\\x1c\\xed\\xcf\\x81\\xfd\\x39\\xc6\\x3c\\xc7\\xfc\\x7a\\x8e\\x38\\x6d\\xa6\\x7d\\x33\\xfc\\x6e\\xa6\\x7d\\x0b\\xf5\\x5b\\xd0\\xf9\\x3c\\xb6\\x38\\x33\\xc9\\xad\\x70\\xbb\\x95\\xb1\\x5e\\xec\\x6d\\xa3\\xcf\\x76\\xd6\\xaa\\xed\\xe4\\xce\\x76\\x7c\\xdc\\x81\\x7f\\x3b\\xc0\\xb0\\x13\\x3b\\x3b\\xd1\\xb1\\x93\\xf6\\x9d\\xe8\\xdb\\xc9\\xb8\\x17\\x78\\xde\\x85\\x8e\\x5d\\xe0\\xdd\\x85\\x8f\\xbb\\x89\\xd5\\x6e\\x30\\xee\\x86\\x8f\\x32\\xfa\\xec\\xc1\\xce\\x1e\\x7c\\xdb\\x4b\\x1e\\xbc\\x88\\x0e\\xce\\x3a\\x72\\x1f\\x7e\\xbd\\xc4\\xb8\\xfd\\xe8\\xdd\\xcf\\x1a\\x7f\\x00\\xde\\x0f\\x12\\x8f\\x97\\xa9\\x3b\\xc4\\x1c\\x3a\\x8c\\xae\\x57\\xe0\\xef\\x15\\x72\\xf4\\x55\\xec\\xbf\\xc6\\x98\\xd7\\x99\\x1b\\xaf\\xe3\\xc7\\x51\\x62\\x79\\x94\\xf7\\xa3\\xcc\\xab\\x37\\xe0\\xeb\\x4d\\x38\\x3c\\xc6\\xfb\\x71\\xb0\\xbe\\x45\\xbe\\xbf\\x4d\\x7e\\x9c\\x80\\xe7\\x13\\xe8\\x3e\\x81\\x3f\\xef\\xa0\\xef\\x5f\\xc4\\xec\\x5f\\xd8\\xfe\\x17\\x7a\\xdf\\x65\\xfc\\xbb\\xe0\\x7b\\x17\\x9b\\xef\\xc3\\xe3\\x07\\xc4\\xf1\\x43\\x9e\\x3f\\x42\\xf7\\xc7\\xf0\\xf5\\x31\\x36\\x3f\\x21\\xf6\\x9f\\x82\\xe7\\x53\\xe6\\xdd\\x49\\x72\\xe8\\x24\\xef\\x27\\xc1\\xf9\\x19\\xf9\\xfb\\x39\\x78\\xbe\\xa0\\xed\\x14\\x75\\x5f\\xc2\\xff\\x69\\x7c\\x3c\\x03\\x2f\\x5f\\x61\\xf3\\x2b\\xf4\\x7c\\xcd\\xfc\\x39\\x8b\\x9e\\xb3\\xf8\\x5c\\x8e\\xcf\\xdf\\xc0\\xc7\\x37\\x8c\\xfb\\x16\\x7c\\xdf\\xc2\\xd7\\x77\\xf8\\xf5\\x1d\\x36\\xbf\\x87\\xe7\\x73\\xc8\\x0f\\x60\\x3e\\x8f\\x2f\\x17\\xf0\\xfd\\x02\\x71\\xb9\\x08\\xa6\\x8b\\xe8\\xbb\\x48\\x5c\\x7f\\xc4\\xaf\\x1f\\xc1\\xf3\\x13\\x6d\\x97\\xd0\\x7f\\x09\\xbb\\x3f\\xb3\\x5e\\xff\\x8c\\xde\\x5f\\xf0\\xe3\\x17\\xe2\\xf7\\x2b\\x71\\xfb\\x15\\xfd\\xbf\\x62\\xfb\\x37\\x72\\xf1\\x77\\xfa\\xfe\\xc1\\x3a\\xf3\\x27\\x63\\xff\\xc4\\xcf\\x3f\\x19\\xf3\\x27\\xed\\x97\\xb1\\x71\\x85\\xba\\x2b\\x70\\x5f\\x41\\xfe\\xf9\\xc8\\x43\\x1f\\x31\\xf2\\x83\\xcb\\xff\\xba\\xd0\\x44\\x2f\\xe4\\x23\\xa1\\xc9\\x47\\x84\\xc6\\x79\\x45\\xd3\\xfa\\x21\\x33\\x10\\x2f\\xf2\\x95\\xd0\\xf4\\x64\\xa4\\x1e\\x72\\x1d\\x32\\x1a\\x59\\x8e\\xac\\x47\\x76\\x22\\xdf\\x08\\xcd\\xa0\\xdd\\xe8\\x8e\\xdc\\x83\\x30\\xc6\\x38\\x25\\x34\\xdb\\x62\\x64\\x1d\\x72\\x02\\xb9\\x22\\x34\\x7b\\x13\\xa4\\x04\\x61\\xac\\xfd\\x88\\xd0\\x1c\\x77\\x0a\\xcd\\x59\\x07\\x29\\x44\\xe6\\x20\\xfb\\x90\\x73\\x42\\x0b\\xa9\\x81\\x14\\x20\\xe8\\x0a\\xd9\\x8c\\xa0\\x2b\\x34\\x1e\\xa1\\x2e\\x94\\x31\\xa1\\xef\\x09\\x2d\\x0c\\x5d\\x61\\xc3\\x11\\x74\\x85\\x83\\x37\\xfc\\xa2\\xd0\\x22\\xb0\\x15\\x09\\xee\\xc8\\xdf\\x85\\x16\\x05\\xb6\\x68\\x37\\x42\\xbf\\x68\\xf0\\xc7\\x80\\x33\\x76\\xb6\\xd0\\xe2\\x68\\x8f\\x8f\\x46\\x8e\\x09\\x2d\\x01\\xfd\\x89\\xd8\\x4f\\xc4\\xff\\x24\\x74\\x71\\x56\\xd2\\x92\\xe8\\x93\\xec\\x44\\xe6\\x0b\\xad\\xda\\xcd\\xc8\\x6d\\x42\\xab\\xce\\x3b\\xe7\\x25\\xad\\x3a\\x3a\\xaa\\x83\\xbb\\x3a\\xf6\\xab\\xa3\\x33\\x05\\x3c\\x29\\x27\\x85\\x56\\x03\\xbc\\x35\\xe8\\x5f\\x33\\x1c\\x69\\x83\\xa0\\xab\\x26\\x7e\\xd4\\xc2\\x7e\\x2d\\xfa\\xd4\\x5a\\x8d\\xc0\\x41\\x2d\\xfc\\x70\\x81\\xc7\\xf5\\xb3\\xd0\\x38\\x2f\\x69\\xee\\x32\\xa1\\xa5\\xc2\\x1b\\x67\\x25\\x2d\\x15\\x3b\\xa9\\xe0\\x4f\\xc5\\x8f\\xda\\x60\\xaa\\xdd\\x0c\\xc1\\x66\\x6d\\x6c\\x72\\x66\\xd2\\xd2\\xc0\\x9c\\x86\\xbe\\x34\\xc6\\xa7\\x61\\x2b\\x8d\\x7e\\x75\\x0e\\x0a\\x2d\\x9d\\x7e\\xe9\\xf4\\x49\\xc7\\x1e\\xe7\\x26\\x2d\\x03\\x3b\\x19\\xf8\\x5f\\x97\\xbe\\x75\\xb1\\x51\\x17\\xdb\\xf5\\xd0\\x57\\x0f\\xde\\xeb\\xe1\\x5b\\x3d\\x62\\x53\\x0f\\xcc\\xf5\\xc1\\x5a\\x9f\\xfe\\xf5\\x89\\x71\\x7d\\xfc\\x6f\\x20\\x10\\x62\\xdb\\x00\\x9b\\x0d\\xf0\\x2f\\x93\\xfa\\x4c\\x70\\x36\\x24\\x86\\x0d\\xb1\\xdf\\x08\\xde\\x1a\\x11\\xa3\\x46\\xe8\\x6e\\x0c\\x2f\\x8d\\x69\\xcb\\x6a\\x88\\xa0\\x33\\x8b\\xba\\x26\\x70\\xd7\\x04\\x4e\\x9a\\x62\\xaf\\x29\\x18\\xb2\\xd1\\x95\\x4d\\x5e\\xe4\\x10\\xdb\\x1c\\xde\\x9b\\xe1\\x5f\\x33\\x30\\x37\\x47\\x6f\\x0b\\x6c\\xb7\\x00\\x4f\\x4b\\x62\\xda\\x72\\x03\\x02\\xa7\\x2d\\xb1\\xd1\\x92\\x1c\\xb9\\x0e\\x7f\\xae\\xc3\\xbf\\x56\\x06\\x02\\xae\\xeb\\xc9\\xb9\\x36\\xf4\\x6f\\x03\\xc7\\x6d\\xb0\\xdf\\x16\\xff\\xdb\\x92\\x13\\xed\\xb0\\xd7\\x0e\\xfd\\xb9\\xe0\\xca\\xc5\\xcf\\x5c\\x6c\\x78\\xd0\\xe9\\x21\\xae\\x1e\\xfc\\xf3\\xc0\\x47\\x7b\\xea\\xdb\\x53\\x76\\x20\\xaf\\x3a\\x52\\xdf\\x09\\xac\\x9d\\x68\\xcb\\x03\\x5b\\x1e\\x3c\\x70\\x6e\\xd1\\xf2\\x79\\xef\\x8c\\x8d\\xce\\xd4\\x75\\xa6\\x5f\\x01\\x39\\xd1\\x85\\x78\\x74\\x41\\x6f\\x17\\xc6\\x77\\xc1\\x4e\\x57\\x6c\\x77\\x03\\x6b\\x37\\x6c\\x74\\x27\\x0e\\xdd\\xe1\\xb6\\x3b\\xfe\\x74\\xa7\\x6f\\x0f\\xb0\\x71\\xae\\xd1\\x6e\\xa0\\xbc\\x01\\x3c\\x3d\\x89\\x45\\x2f\\x70\\xf6\\x86\\xcf\\xde\\xf8\\xd1\\x87\\xb1\\x7d\\xb0\\xdd\\x17\\x9d\\x7d\\xc9\\xdd\\xbe\\xe0\\xe9\\xc7\\xfc\\xe9\\x87\\xfd\\xfe\\xd8\\xe8\\x4f\\x0c\\x6f\\xc4\\xa7\\x1b\\xc9\\x85\\x9b\\xb0\\x75\\x13\\xbc\\x16\\xc2\\x61\\x21\\x5c\\x15\\xc1\\xf3\\x00\\xf4\\x0c\\x80\\x97\\x81\\x8c\\xbb\\x99\\xd8\\x0c\\xa2\\x7d\\x30\\xfe\\x17\\x83\\xad\\x84\\xdc\\x29\\x01\\xff\\x10\\xc6\\x0e\\x25\\x4e\\x9c\\x35\\xb4\\x61\\xd8\\x1a\\x4e\\x5c\\x47\\x30\\x6e\\x04\\xfd\\x47\\x12\\xfb\\x91\\x60\\x1a\\x05\\xee\\x51\\xe3\\x85\\x36\\x1a\\x5f\\x47\\xc3\\xf9\\x2d\\xc4\\xee\\x16\\xca\\x31\\x60\\x19\\x03\\xff\\xb7\\xe2\\xcb\\x6d\\xe0\\xb9\\x0d\\x0e\\x6e\\xc7\\xb7\\xb1\\xf4\\x1b\\x4b\\xfd\\x58\\xd6\\x84\\xb1\\xd8\\x1e\\x87\\xbe\\x71\\x70\\x30\\x0e\\x0e\\xc6\\xe3\\xcb\\x78\\x30\\x4d\\x00\\xc7\\x04\\xf0\\x4f\\x44\\x7f\\x29\\xb1\\x9a\\x84\\x4c\\xa6\\xee\\x0e\\x30\\x4e\\x01\\xff\\x5d\\xcc\\x9b\\xbb\\xe0\\x84\\x33\\x83\\x76\\x37\\xfe\\xde\\x43\\x7e\\xdf\\x8b\\x8f\\xd3\\x58\\x6b\\xa6\\x31\\x6e\\x3a\\x6b\\xcd\\x0c\\xc6\\xce\\x04\\xdb\\x4c\\x38\\x9d\\x45\\xff\\x59\\xf4\\xbd\\x8f\\xfa\\xd9\\xe0\\xb9\\x1f\\xff\\x1f\\xa0\\xed\\x41\\xe6\\xd4\\x83\\x60\\x98\\x43\\x2e\\x3d\\x84\\xed\\xb9\\xf4\\x9b\\xcb\\xfb\\x3c\\xe6\\xfe\\x7c\\x38\\x5e\\x00\\xee\\x05\\xbc\\x2f\\x44\\xff\\x22\\x70\\x2f\\xf6\\x08\\x6d\\x09\\x7e\\x2f\\x05\\xf3\\x52\\xf2\\x6a\\x19\\xf9\\xbc\\x1c\\x6c\\x0f\\xc3\\xc7\\x0a\\xfc\\x5e\\x41\\x5f\\xf6\\x77\\xed\\x11\\xe2\\xff\\x28\\xef\\x8f\\xd2\\xe7\\x31\\xec\\xad\\x82\\xbf\\xd5\\xd8\\x7c\\x1c\\x7d\\x8f\\xe3\\xf7\\x1a\\x9e\\xd7\\xc0\\xc5\\x1a\\x7c\\x59\\x0b\\x77\\x6b\\x19\\xbf\\x96\\xfa\\x75\\xe4\\xca\\x3a\\xfc\\x7f\\x82\\x7e\\x4f\\xa0\\xf7\\x49\\x30\\x3e\\x89\\x9f\\x4f\\x61\\x7f\\x3d\\xf8\\xd6\\xf3\\xfc\\x34\\xf1\\x79\\x86\\x9c\\x78\\x06\\xdb\\xcf\\x12\\x93\\x0d\\xd8\\xda\\xc0\\x3c\\xd9\\x08\\xbf\\x9b\\xc8\\x8f\\x4d\\x60\\x78\\x8e\\x7c\\x7d\\x8e\\xf7\\xcd\\x60\\xd8\\x4c\\x1f\\xf6\\x63\\xed\\x79\\x6c\\x6e\\xe5\\x7d\\x2b\\xb6\\xbc\\x70\\xe2\\x85\\xef\\x6d\\xf8\\xbf\\x8d\\xf8\\x6e\\x23\\xd6\\xdb\\xf1\\x6b\\x3b\\x58\\xb6\\x53\\xbf\\x03\\x5f\\x77\\x30\\x9f\\x76\\x10\\xa7\\x9d\\xe8\\xdf\\x09\\xb7\\xec\\xcb\\xda\\x4e\\xda\\x76\\x82\\xe1\\x05\\x70\\xbd\\x00\\xd6\\x17\\xb0\\xf3\\x02\\x36\\x5f\\x00\\xeb\\x2e\\xb8\\xdb\\x45\\xdd\\x2e\\xb8\\xdc\\xc5\\xd8\\x5d\\xd8\\xdc\\x45\\x7f\\xf6\\x6e\\x6d\\x37\\xf6\\x76\\x93\\x3b\\xbb\\xd1\\xbf\\x9b\\x18\\xec\\x06\\x53\\x19\\xf3\\xb0\\x8c\\xfe\\x65\\xd4\\x95\\x51\\x57\\x46\\xdc\\xca\\xd0\\xbd\\x07\\xdd\\x7b\\xe8\\xbb\\x07\\xde\\xf6\\x10\\xb3\\xbd\\xe0\\xde\\x0b\\xa7\\x7b\\xf1\\x67\\x2f\\xbe\\xbd\\x88\\xee\\x17\\xd1\\xfd\\x22\\xba\\xf7\\xa1\\x63\\x1f\\xcf\\xfb\\x18\\xbb\\x0f\\xfe\\x5e\\x22\\x2e\\x2f\\x81\\xfd\\x25\\xf2\\xe0\\x25\\x38\\x7f\\x89\\xdc\\xd8\\x4f\\x9f\\xfd\\xcc\\xfd\\xfd\\xb4\\x1f\\xa0\\xfd\\x00\\xed\\x07\\x68\\x3f\\x40\\xfb\\x01\\x7c\\x3a\\x00\\xf6\\x03\\xe4\\xd5\\x41\\xfc\\x38\\x48\\xff\\x83\\xf4\\x7b\\x99\\x7e\\x2f\\xd3\\xef\\x65\\x7c\\x79\\x99\\xfa\\x97\\x99\\x07\\x2f\\xb3\\x06\\x1d\\x82\\xf7\\x43\\xe8\\x3a\\x44\\x0c\\x0e\\x81\\xef\\x10\\x5c\\x1e\\x02\\xd7\\x21\\xd5\\x46\\xdc\\x0e\\xc3\\xe1\\x61\\x38\\x3d\\x8c\\x4f\\x87\\x89\\xfd\\x11\\xe6\\xd1\\x11\\x9e\\x8f\\xd0\\xef\\x15\\x74\\xbe\\xc2\\xd8\\x57\\xe0\\xfb\\x15\\xf0\\xbe\\x82\\x2f\\xaf\\x32\\x87\\x5f\\xc5\\xd7\\x57\\xc1\\xf2\\x2a\\x7d\\x5e\\x85\\x97\\x57\\xc1\\xf2\\x1a\\x7c\\xbd\\x46\\xfd\\x6b\\x8c\\x7d\\x0d\\x6e\\x5e\\x03\\xe3\\x6b\\xd4\\xbf\\x4e\\xff\\xd7\\xc9\\x83\\xd7\\xe9\\xff\\x3a\\xdc\\xbc\\x8e\\x8d\\xa3\\xcc\\x9d\\xa3\\xe4\\xe5\\x51\\xe6\\xdb\\x51\\xfa\\x1e\\xa5\\xef\\x51\\xf2\\xea\\x0d\\x6c\\xbf\\x41\\xfd\\x1b\\xd4\\xbf\\x81\\xcd\\x37\\xf0\\xe1\\x0d\\xfa\\xbf\\x89\\x0f\\x6f\\x82\\xe3\\x4d\\x78\\x7d\\x93\\xf5\\xe5\\x4d\\xf4\\xbc\\x49\\xfd\\x31\\x72\\xee\\x18\\x3c\\x1f\\x23\\xaf\\x8e\\xc3\\xd9\\x71\\xd6\\x8e\\xe3\\xf8\\x7f\\x1c\\xbe\\x8f\\xc3\\xcb\\x71\\xfa\\xbc\\x45\\x6c\\xde\\xc2\\xbf\\xb7\\xc0\\xf5\\x16\\xdc\\xbd\\x45\\x0c\\xde\\xc2\\xef\\xb7\\xf1\\xfb\\x6d\\xf2\\xe4\\x6d\\x38\\x79\\x9b\\x78\\xbc\\x4d\\x3e\\x9d\\xc0\\xce\\x09\\xfa\\x9e\\xc0\\xfe\\x09\\x70\\x9d\\x20\\x97\\x4e\\xe0\\xf3\\x3b\\xe0\\x7d\\x87\\xfa\\x77\\xe0\\xf0\\x1d\\xec\\xbd\\x83\\xcf\\xef\\xa0\\xe3\\x5f\\xe4\\xe6\\xbf\\xc0\\xf4\\x2f\\xec\\xbf\\x4b\\xff\\x77\\xe1\\xe8\\x5d\\xf2\\xe1\\x3d\\xfc\\x78\\x0f\\x2e\\xde\\x43\\xf7\\x7b\\xe0\\x78\\x0f\\xae\\xdf\\xa7\\xee\\x7d\\xec\\xbd\\x0f\\xb6\\xf7\\x99\\xe7\\xef\\xd3\\xef\\x03\\x38\\xfb\\x00\\x5b\\x1f\\xb0\\xc6\\x7d\\x00\\xae\\x0f\\xf1\\xe1\\x43\\xf2\\xeb\\x43\\xe6\\xd9\\x87\\x60\\xfd\\x10\\xbd\\x1f\\x91\\xa3\\x1f\\xc1\\xc9\\x47\\xf0\\xf7\\x11\\x75\\x1f\\xc1\\xd5\\x47\\xe4\\xe7\\xc7\\xc4\\xfa\\x63\\x7c\\xfd\\x18\\x3e\\x3e\\x86\\xa7\\x8f\\xc1\\xf9\\x09\\xfa\\x3e\\x81\\x93\\x4f\\x88\\xff\\x27\\xc4\\xf8\\x13\\x38\\xfd\\x14\\x3f\\x3f\\x25\\xe7\\x3f\\x05\\xdf\\xa7\\x8c\\xfd\\x94\\xb1\\x27\\xe9\\x77\\x12\\x7c\\x27\\xe1\\xe4\\x24\\xf5\\x27\\xa9\\x3f\\x49\\xfd\\x67\\xf8\\xf3\\x19\\x7d\\x3f\\x63\\x2d\\xf9\\x8c\\xba\\xcf\\xf0\\xf1\\x73\\x38\\xfd\\x1c\\xbf\\x3f\\xa7\\xdf\\xe7\\x60\\xfc\\x02\\x3c\\x5f\\x80\\xf1\\x0b\\xea\\xbe\\xa0\\xdf\\x17\\x70\\xf4\\x05\\x71\\x3e\\x85\\x9d\\x53\\xd8\\x3e\\x05\\x9e\\x53\\xc4\\xe7\\x14\\xd8\\x4f\\x31\\xfe\\x4b\\xea\\xbf\\xa4\\xfe\\x4b\\xea\\xbf\\xc4\\xef\\x2f\\xa9\\x3f\\x8d\\x9f\\xa7\\xa9\\x3f\\x4d\\xfd\\x69\\xfc\\x3a\\x0d\\xff\\xa7\\xb1\\x77\\x1a\\xbc\\x67\\xd0\\x7f\\x06\\xfd\\x67\\xe0\\xe5\\x0c\\x39\\x70\\x86\\xb6\\x33\\xe4\\x37\\x67\\x4a\\xed\\x2b\\xea\\xbf\\xc2\\xee\\x57\\xd8\\xe5\\x7c\\xa9\\x7d\\x05\\xe6\\xaf\\xc1\\xfc\\x35\\x98\\xbf\\xa6\\xee\\x6b\\x74\\x7c\\x8d\\xcd\\xb3\\xc4\\xeb\\x2c\\xf5\\x67\\xc9\\xbb\\xb3\\xc4\\xe7\\x2c\\x6b\\xc1\\x59\\xe2\\x76\\x96\\x7c\\x3d\\x0b\\x2f\\x67\\xe1\\xaa\\x9c\\xbc\\x2c\\x67\\x4e\\x95\\x83\\xab\\x1c\\xfe\\xca\\xa9\\xfb\\x06\\x5c\\xdf\\xc0\\xcd\\x37\\xd8\\xf9\\x86\\xb6\\x6f\\xc0\\xf0\\x0d\\xf1\\xfa\\x86\\x18\\x7e\\x43\\x2e\\x7d\\x8b\\xde\\x6f\\xe1\\xed\\x5b\\xe2\\xca\\xf9\\x55\\xfb\\x96\\xb8\\x7e\\x47\\x5c\\x39\\xc7\\x6a\\xdf\\x51\\xff\\x1d\\x38\\xbe\\xc3\\x9f\\xef\\xc0\\xfd\\x1d\\xb8\\xbf\\x23\\x1f\\xbe\\x03\\xfb\\xf7\\x60\\xff\\x1e\\x9d\\xdf\\x13\\xd7\\xef\\x89\\xe1\\xf7\\x70\\x70\\x8e\\xba\\x73\\xe4\\xd4\\x39\\x62\\x70\\x8e\\x78\\x9d\\xa3\\xfe\\x1c\\x38\\xce\\xc1\\xf1\\x39\\x72\\xe3\\x07\\xe6\\xde\\x0f\\xe8\\xfe\\x01\\xdd\\x3f\\xa0\\xf7\\x07\\x74\\xfe\\x80\\xcf\\x3f\\xe0\\xf3\\x79\\x7c\\x3b\\x4f\\x1d\\x67\\x65\\xed\\x3c\\xf5\\xe7\\xb1\\x75\\x1e\\x5b\\xe7\\xb1\\x75\\x1e\\x0e\\x2f\\xe0\\xc3\\x05\\xf0\\x5f\\xc0\\xb7\\x0b\\xe8\\xbc\\x80\\x6f\\x17\\xa9\\xbb\\x08\\xdf\\x17\\xb1\\x75\\x11\\x5b\\x17\\xa9\\xbf\\x88\\xad\\x8b\\xd8\\xfa\\x11\\x3b\\x3f\\x82\\xff\\x47\\xfc\\xfa\\x11\\xbf\\x7e\\xc4\\xaf\\x9f\\xa8\\xfb\\x89\\x7c\\xfd\\x09\\xff\\x7f\\x22\\xf6\\x3f\\x51\\xff\\x13\\xfc\\xfe\\x04\\x0f\\x3f\\x81\\xe1\\x12\\xf3\\xea\\x12\\x39\\x78\\x89\\xdc\\xbc\\x84\\x0f\\x97\\xd0\\x79\\x09\\x7d\\x97\\xe0\\xff\\x67\\xf0\\xfd\\x4c\\x6e\\x72\\x36\\xd7\\x7e\\x26\\xe6\\x3f\\xa3\\x8f\\x33\\xba\\xf6\\x0b\\x7d\\x7f\\x81\\x83\\x5f\\xc8\\xf7\\x5f\\xd0\\xf5\\x2b\\x3e\\xfe\\x0a\\x2f\\xbf\\x12\\x9f\\x5f\\xd1\\xff\\x2b\\x38\\x7f\\x43\\xe7\\x6f\\xc4\\xf8\\x37\\xf4\\xfd\\x86\\x4f\\xbf\\x61\\xef\\x77\\xfa\\xfd\\x0e\\xfe\\xdf\\x19\\xff\\x3b\\x7e\\xff\\x0e\\xa6\\xdf\\x69\\xff\\x9d\\x79\\xf8\\x3b\\x58\\xfe\\x20\\x97\\xfe\\xc0\\xdf\\x3f\\xc0\\xff\\x07\\x5c\\xfc\\x01\\xbf\\x7f\\x32\\xe6\\x4f\\xc6\\xfc\\xc9\\x98\\x3f\\x19\\xf3\\x27\\x63\\xfe\\x64\\xcc\\x9f\\xe8\\xfc\\x13\\x9d\\x97\\x69\\xbf\\x0c\\xce\\xcb\\xe0\\xbc\\x0c\\x4f\\x97\\xb1\\x7f\\x99\\x35\\xe0\\x0a\\x71\\xb9\\xc2\\x5a\\x73\\x85\\x31\\x57\\x18\\x73\\x85\\x31\\x57\\x18\\x73\\x85\\x31\\x15\\x8c\\xa9\\x40\\x67\\x05\\x3a\\x2b\\x68\\xaf\\x80\\xfb\\x0a\\xda\\x2a\\xc0\\xed\\x23\\x37\\x7c\\xc4\\xd3\\x87\\x7f\\x3e\\x72\\xd1\\x47\\xac\\x7c\\xcc\\x0b\\x3f\\x6b\\x8a\\x1f\\x7c\\x7e\\xb8\\xf4\\x53\\xef\\x3f\\x29\\x74\\xa1\\xfe\\x7d\\xa2\\xe5\\x42\\x97\\x6d\\x90\\xd1\\xc8\\x0c\\x64\\x33\\xf2\\x91\\xd0\\x35\\x81\\x24\\x23\\x4d\\x90\\x02\\xa4\\x04\\x99\\x23\\x74\\x9d\\x7a\\xfd\\x4e\\xa1\\x1b\\x0d\\x91\\x9b\\x91\\xf9\\x48\\x19\\xf2\\x95\\xd0\\x6d\\xf1\\x48\\x77\\xe4\\x1e\\x04\\x3d\\xb6\\x23\\x08\\x76\\xec\\xfd\\x90\\x63\\x42\\x77\\xcc\\x46\\x76\\x22\\xf4\\x75\\x46\\x23\\xd8\\x75\\xde\\x86\\xac\\x46\\x68\\x0f\\x31\\x10\\xec\\x85\\x60\\x2b\\x04\\x1b\\x21\\x8b\\x91\\x0d\\x42\\xe7\\x9e\\xa1\\x87\\x82\\x2d\\x14\\x7d\\xa1\\x17\\x85\\x1e\\x06\\xae\\x30\\x0f\\xc2\\x58\\xee\\x1a\\x7a\\x18\\xb6\\xc2\\x68\\x0b\\xc3\\x56\\xd8\\xcf\\x42\\x0f\\xaf\\x81\\x14\\x22\\xd4\\x87\\xe3\\x4b\\x04\\x38\\x23\\xf6\\x09\\x3d\\x92\\x71\\x91\\xf5\\x10\\xda\\x22\\xf1\\x25\\x12\\xdc\\x51\\xe8\\x8e\\x02\\x5f\\x14\\x7a\\xa2\\xde\\x13\\x7a\\x34\\xef\\xd1\\xd8\\x8e\\x66\\x5c\\x0c\\x36\\x62\\x18\\x1b\\x83\\xee\\xd8\\xf1\\x08\\xd8\\xe3\\xc0\\x1d\\xd7\\x09\\xc1\\xc7\\xb8\\x83\\x42\\x8f\\xc7\\x56\\x3c\\xcf\\x09\\xf4\\x4f\\x0c\\x47\\xd0\\x9d\\xc8\\xf8\\x44\\xde\\x93\\xae\\x43\\xb0\\x91\\x84\\x6f\\xc9\\xf8\\x96\\x8c\\xcd\\x6a\\x94\\xd5\\xe0\\xba\\xda\\x3a\\x04\\x1e\\xaa\\x63\\x83\\x7b\\x8c\\x9e\\x02\\xae\\x14\\xf8\\x48\\xe9\\x85\\x0c\\x47\\xd0\\x91\\x02\\xb7\\x35\\xb0\\x5f\\x93\\x71\\xb5\\xf0\\xd5\\x05\\xf7\\x6e\\xb7\\xd0\\x53\\xd5\\x7f\\x3a\\x9d\\xd8\\xa5\\x81\\xb9\\x0e\\x98\\x33\\xc0\\xc4\\x1d\\x43\\xcf\\xc0\\xf7\\xba\\xbf\\x0b\\xbd\\x1e\\xf5\\xf5\\xc1\\xd8\\x00\\x3e\\x32\\x5f\\x17\\x7a\\x43\\x38\\x6b\\x44\\xbf\\xc6\\x60\\x6a\\x42\\x7d\\x53\\xc6\\x36\\x05\\x5b\\x36\\x58\\x73\\xd0\\xdf\\x8c\\xf8\\x36\\x27\\x6e\\x2d\\xd0\\xd3\\x02\\xac\\x2d\\xb1\\x7b\\xdd\\x37\\x42\\x6f\\x45\\x5d\\x2b\\xec\\xb6\\xe2\\xbd\\x15\\xe3\\x5b\\xe3\\x6b\\x6b\\xb0\\xb7\\x86\\xcb\\xeb\\xf1\\xf9\\xfa\\x53\\x42\\x6f\\x03\\xe6\\x36\\xc4\\xaf\\x0d\\x76\\xdb\\x82\\xb3\\x1d\\x1c\\xb7\\x43\\x47\\x2e\\x7e\\x7b\\x68\\xf3\\x50\\xd7\\x1e\\x5e\\xda\\xf3\\xdc\\x1e\\x7d\\xed\\xd1\\xd5\\x1e\\xdd\\x1d\\xe8\\xd3\\xd1\\x89\\xa0\\xbf\\x23\\x38\\x3b\\xc1\\x45\\x1e\\x63\\xf2\\xe9\\x97\\x0f\\xaf\\x9d\\xc1\\xd9\\x19\\x8e\\x3a\\xd3\\xb7\\x80\\xe7\\x02\\x9e\\x0b\\xc0\\xd0\\x05\\xfe\\xba\\x80\\xb7\\x0b\\x7a\\xba\\xa0\\xa3\\x2b\\x98\\xbb\\x92\\x2f\\x5d\\x89\\x75\\xd7\\x2b\\x42\\xef\\x86\\x8d\\x6e\\x5e\\xa1\\x77\\x47\\x77\\x77\\xb8\\xec\\x4e\\xcc\\xb8\\x0f\\xe8\\x3d\\xc0\\xdb\\x03\\x3b\\x37\\x34\\x43\\xe0\\xbb\\x27\\xed\\x3d\\xf1\\xbd\\x27\\x3a\\x7a\\x91\\xcb\\xbd\\xc8\\xcd\\x5e\\xf0\\xd7\\x1b\\xee\\x7b\\xc3\\x59\\x1f\\xc6\\xf6\\xc1\\xcf\\xbe\\xf0\\xdd\\x97\\x1c\\xec\\x87\\xef\\xfd\\xc8\\xc1\\xfe\\x8c\\xeb\\x8f\\xae\\xfe\\xf8\\x7e\\x23\\xd8\\x6f\\xe2\\xfd\\xa6\\x47\\x84\\x5e\\x48\\x0e\\x15\\xa2\\xa3\\x10\\x7b\\x85\\xf8\\x52\\x44\\x1e\\x15\\x81\\xfb\\x66\\x74\\x0d\\x03\\xf3\\x2d\\xf0\\x72\\x0b\\xef\\xb7\\x80\\xfb\\x16\\xf2\\x69\\x0c\\xf1\\x1e\\xc3\\x98\\x31\\x8c\\x19\\xc3\\x98\\x31\\xf8\\x79\\x2b\\x63\\x6e\\x85\\xcb\\xdb\\x98\\x03\\x63\\x89\\xe1\\x58\\x6c\\x8c\\x63\\xcc\\x38\\xca\\xf1\\xd8\\x9a\\x00\\x9e\\x89\\xe8\\x2b\\x65\\xfc\\x24\\xf4\\x4c\\x26\\x16\\x77\\x90\\x0b\\x77\\xe0\\xfb\\x14\\xf4\\x4f\\x81\\x87\\x29\\xf4\\xbd\\x93\\x3e\\x77\\xc1\\xc1\\x54\\xf4\\x4f\\x85\\xb3\\xbb\\xc9\\xa5\\x7b\\xf0\\xe3\\x1e\\xfc\\x9f\\x86\\xbe\\xe9\\x3c\\x4f\\x67\\xcc\\x0c\\x78\\x9c\\x41\\x4e\\xcc\\x44\\xf7\\x4c\\xda\\x66\\xc1\\xdd\\x2c\\xb0\\xdf\\x87\\x9e\\xd9\\xe4\\xc8\\x6c\\xf2\\xe6\\x7e\\x62\\xf1\\x00\\xba\\x1f\\xa0\\xcf\\x83\\xe0\\x7b\\x10\\x5d\\x0f\\x52\\x37\\x07\\x4e\\xe7\\xc0\\xd1\\x1c\\xe2\\x3b\\x87\\xb1\\x0f\\x81\\xf9\\x21\\xf8\\x79\\x88\\x3c\\x9c\\xcb\\xd8\\xb9\\xcc\\x97\\xb9\\xe0\\x9d\\x47\\xbf\\x79\\xf4\\x9b\\x07\\x47\\xf3\\x68\\x9b\\x0f\\x5f\\xf3\\xa9\\x5f\\x40\\xdd\\x82\\x49\\x08\\xbe\\x2f\\x00\\xc3\\x02\\xfc\\x5f\\x40\\x0e\\x2d\\xa4\\x7d\\x21\\xf6\\x16\\xc2\\xcf\\x42\\x72\\x74\\x21\\x18\\x17\\x92\\xa7\\x0b\\xf1\\x75\\x21\\xe3\\x16\\xd2\\x6f\\x11\\xed\\x8b\\xc0\\xb3\\x08\\x1c\\x8b\\x78\\x5f\\x0c\\xae\\xc5\\x60\\x5e\\x4c\\x8e\\x2c\\x81\\xeb\\x25\\xf8\\xb1\\x04\\xfe\\x96\\xa2\\x6b\\x29\\xf1\\x5c\\x0a\\x17\\xcb\\x98\\x67\\xcb\\xc0\\xba\\x0c\\x9f\\x96\\x13\\xef\\xe5\\x3c\\x2f\\xe7\\xf9\\x61\\xf2\\xed\\x61\\x70\\x3c\\x4c\\x9f\\x15\\x8c\\x5d\\x81\\xbd\\x15\\x8c\\x5d\\x41\\x5e\\xac\\xa4\\xdf\\x4a\\xf8\\x5a\\x89\\xad\\x95\\xd4\\xad\\xc4\\xfe\\x23\\xbc\\x3f\\x02\\xf7\\x8f\\xc0\\xeb\\xa3\\xf8\\xf9\\x28\\x7c\\x3c\\x0a\\x8e\\xc7\\xc8\\x8f\\xc7\\xc0\\xf0\\x18\\xb9\\xb5\\x0a\\xbb\\xab\\x88\\xeb\\x6a\\xc6\\x3f\\x0e\\x2f\\x8f\\x33\\x6e\\x0d\\x7c\\xac\\xc1\\xff\\xb5\\xf4\\x5d\\x0b\\xe6\\x75\\x60\\x5c\\x47\\xdf\\x27\\xe0\\xe7\\x09\\xf2\\xe9\\x49\\xe2\\xf8\\x24\\x7d\\x9e\\x24\\xb6\\x4f\\x81\\xf9\\x29\\xf0\\xac\\x47\\xcf\\x7a\\x74\\xae\\x87\\xa3\\xa7\\xe9\\xff\\x34\\xfc\\x3c\\x03\\x17\\xcf\\xd0\\xe7\\x59\\x74\\x3f\\x4b\\x9f\\x67\\xcf\\x09\\x7d\\x03\\x5c\\x6d\\x60\\xcc\\x06\\xfc\\xdf\\x80\\xee\\x8d\\xd8\\xdc\\x08\\xae\\x8d\\xd8\\xda\\xc8\\x9c\\xd8\\x04\\x8f\\x9b\\xf0\\x71\\x13\\xfd\\x37\\xa1\\xe3\\x39\\xb8\\x78\\x0e\\xff\\x9f\\x03\\xcf\\x66\\xec\\x6f\\xc6\\xe7\\xcd\\xe0\\xdd\\x4c\\xff\\x2d\\xd8\\xdc\\x42\\x6c\\xb6\\x10\\xaf\\x2d\\xa7\\xfe\\xbb\\x3c\\xcf\\xfc\\x7b\\x9e\\x79\\xbb\\x15\\x1d\\x5b\\xd1\\xed\\x05\\x87\\x97\\xf9\\xb2\\x8d\\xdc\\xdb\\x8e\\xdd\\xed\\x60\\xdf\\x01\\x96\\x9d\\xe0\\xdd\\x09\\x6f\\x2f\\x10\\xc7\\x5d\\x3c\\xef\\x02\\xcb\\x6e\\xe6\\xe2\\x6e\\x62\\x5f\\xc6\\x3a\\xbf\\x07\\x1c\\x7b\\xc0\\xb4\\x17\\x4e\\xf7\\x52\\xf7\\x22\\x18\\x5e\\x24\\x8f\\xf7\\xd1\\xff\\x25\\xb8\\x7d\\x09\\xfe\\xf7\\xd3\\x67\\x3f\\xba\\x0f\\xc0\\xc1\\x01\\xf0\\x1d\\xa0\\xdf\\x41\\x74\\x1d\\x24\\xef\\x0e\\x12\\xaf\\x97\\xf1\\xeb\\x65\\x38\\x7d\\x19\\x9f\\x0f\\xc1\\xc1\\x21\\xfa\\x72\\xb7\\xd0\\x0f\\x83\\xe3\\x30\\xfe\\x1f\\xc6\\xbf\\xc3\\x60\\x3c\\x42\\xfe\\x1f\\xa1\\xfd\\x08\\xbc\\xbf\\x82\\xae\\x57\\xd0\\xf3\\x6a\\x89\\xfa\\xff\\x8b\\x10\\x9a\\xfa\\xff\\x34\\xd0\\x67\\x6a\\xe7\\xd9\\x19\\x1d\\xa2\\x96\\x27\\xdc\\x2e\\x1c\\x3a\\xbb\\x53\\x88\\x4d\\xda\\x85\\xc8\\x3a\\x9e\\x75\\x3c\\x26\\x56\\xb6\\x6a\\x15\\x93\\x13\\x93\\xd3\\xb4\\x49\\x4e\\x4c\\x6a\\x8c\\x9e\\x1a\\x93\\x3a\\x5d\\xd7\\x66\\xfa\\x18\\xaa\\x9d\\xaf\\x88\\xd5\\x6e\\x67\\x07\\x66\\x7f\\x56\\x7f\\x0b\\x4d\\x3b\\x6a\\xeb\\x64\\xea\\x69\\xe0\\x89\\xd3\\x1d\\x0e\\xcd\\x30\\x9c\\x21\\x52\\x52\\xd8\\x1e\\x1f\\x68\\xd0\\x21\\x37\\x2b\\x33\\x26\\x56\\xb4\\x4a\\xce\\x52\\x3a\\x63\\x72\\x4c\\x9d\\x32\\x4d\\xcf\\xd1\\x9b\\xe7\\x24\\x68\\xdb\\x96\\x27\\x1f\\x79\\xf5\\x90\\x5c\\xa0\\xef\\xfe\\x73\\xdf\\xd1\\xa3\\xea\\x6f\\x7e\\x69\\x32\\x41\\xef\\xa1\\xef\\xb2\\x1d\\x33\\x75\\xa6\\x7a\\x22\\x1d\\x76\\x4d\\xb7\\x2b\\x6c\\xea\\xdf\\x03\\x14\\x22\\x37\\x27\\x27\\x2b\\xbb\\x0a\\x3c\\xa5\\xca\\x54\\x37\\x7f\\x61\\xbd\\x53\\xbe\\x84\\x05\\xf5\\x4f\\xe9\\x3d\\xb4\\xe9\\x15\\x33\\x35\\x5c\\xd4\\x44\\x0b\\x21\\x8c\\x79\\xb6\\x3c\\x91\\x22\\x5c\\x62\\x9b\\x67\\x8c\\xb3\\x66\\x8d\\x04\\x23\\x3e\\x24\\x26\\x3c\\x3c\\x24\\x36\\x2a\\x32\\xcc\\x08\\x8d\\x8b\\x8b\\x4f\\x74\\xd5\\x72\\x18\\xf6\\x24\\x43\\x8a\\x6a\\x46\\xb2\\xcd\\x66\\x8f\\xb7\\x87\\xa6\\xea\\xd5\\x93\\xf4\\xe4\\xd0\\x64\\x77\\xaa\\xd3\\x08\\x8f\\x08\\xdf\\x5a\\x54\\x53\\x46\\xd4\\x10\\xd1\\x31\\xd1\\x5b\\x8b\\xaa\\x25\\xc4\\x4c\\x8f\\x58\\x14\\xb1\\x36\\x42\\xef\\x19\\x51\\x1c\\xa1\\xf5\\x8c\\x91\\x3d\\x63\\x8a\\x63\\x2e\\xc4\\xb0\\x8d\\xba\\x6a\\x17\\x44\\xc4\\x44\\xc4\\xd8\\x92\\xe2\\xf4\\x50\\x9b\\xc8\\xca\\xc9\\xcd\\x89\\x6d\\xd5\\x2a\\x2b\\x2b\\x73\\xd0\\x84\\x41\\x13\\xf0\\x3b\\x33\\x46\\x28\\xe7\\xad\\xd2\\x74\\x20\\x89\\xd2\\xf4\\x23\\x36\\xa9\\x95\\x29\\xe6\\x53\\x76\\x76\\xa0\\xc4\\x37\\x3d\\x35\\x21\\x55\\x4f\\x8b\\x53\\x92\\xd6\\x3c\\x07\\x49\\x8d\\xcb\\xd1\\x95\\xe4\\x50\\x9f\\x1a\\xa7\\x3f\\xd9\\x51\\x1a\\xbe\\xaf\\x0b\\xc7\\xde\\xe8\\x7b\\xb8\\xdf\\xd8\\x7e\\x47\\xbf\\xec\\xf8\\xa3\\x74\\x14\\x8d\\x2d\\x94\\xb7\\x16\\x8e\\x2d\\x7c\\xb7\\xc2\\x93\\x27\\xc7\\x74\\xd4\\xdb\\xfb\\x0e\\xdf\\xe6\\x1b\\x2d\\x1f\\x51\\x72\\x9b\\x6c\\x7b\\x5b\\xe0\\xc9\\x37\\xfa\\x36\\xdf\\x61\\xd9\\x56\\xfd\\x1b\\x91\\x1d\\xfc\\xa5\\xc6\\x34\\x4e\\x31\\x75\\x44\\x43\\xd1\\x4c\\x6c\\xf0\\x8c\\x4c\\x76\\x67\\xeb\\x46\\x78\\x42\\x7d\\x42\\x68\\x6b\\x14\\x1b\\xe2\\x74\\xa6\\xc7\\xd6\\x48\\x69\\x94\\x22\\x62\\x45\\xf3\\x16\\xae\\x06\\x09\\x0d\\x4a\\x8b\\x9a\\x46\\xd4\\x8f\\x28\\x2d\\x72\\xd7\\xaf\\x9f\\x60\\xaf\\x51\\x23\\x39\\x21\\xd1\\xe3\\xae\\x5b\\x90\\xe8\\x89\\x4d\\x2a\\x48\\x4c\\x4c\\xb0\\x67\\x87\\xdb\\xc3\\x4b\\x8b\\x44\\x48\\x74\\x88\\x27\\xa4\\x57\\x48\\x49\\x88\\x4d\\x15\\xeb\\x42\\xbc\\x21\\x17\\x43\\x6c\\x21\\x21\\xf6\\xc5\\x36\\x69\\xb3\\xe9\\xf6\\x64\\x33\\x92\\x83\\x62\\x90\\x09\\x8a\\x92\\xe4\\xdc\\x9c\\xac\\xcc\\x4c\\xf8\\x21\\x4f\\x5a\\x65\\x99\\x2c\\x29\\xb1\\x22\\x9d\\xa3\\x82\\xad\\x7e\\xc4\\x9a\\xac\\x25\\xa9\\xc0\\xc7\\xdb\\x1d\\x09\\x69\\xcd\\xeb\\xe8\\x2d\\x6b\\xc9\\xa4\\x98\\xba\\x8d\\xb5\\xe6\\xcd\\x5a\\xb4\\x24\\xa7\\x78\\x73\\x34\\x96\\x75\\x63\\x6a\\xe9\\x32\\x5e\\xb5\\x44\\x4a\\xd9\\x4c\\xbd\\xb7\\x93\\xc6\\xb4\\x8b\\xa7\\x66\\xf8\\x06\\xe4\\x6f\\xaa\\xbe\\x6e\\x4e\\xad\\x0d\\x8f\\x77\\xf9\\xf4\\x9d\\x19\\x7b\\xdf\\x68\\xf4\\x7c\\xe2\\x8c\\xdb\\x37\\x3f\\x76\\x73\\xe3\\x2b\\xde\\xac\\x01\\x53\\xa6\\xcd\\xd2\\xd6\\xb7\\x1c\\xfe\\xd0\\xe2\\xe5\\xf2\\x9e\\x27\\x5f\\x0a\\x79\\xe2\\x89\\x48\\x59\\x94\\x3e\\xed\\x5e\\x87\\xfc\\xd6\\x59\\x7f\\xc8\\x9c\\xc1\\x0f\\x3f\\xeb\\x98\\x35\\xcb\\xb1\\x64\\x63\\xea\\x98\\xdb\\x1c\\xbe\\x1b\\x1b\\x14\\xdc\\x7c\\x97\\xd6\\xb8\\x55\\x8f\\x1c\\x97\\x7c\\xdc\\x36\\xa2\\xa2\\x41\\x87\\x1b\\x5b\\xa5\\xf9\\xea\\x87\\x4c\\x16\\xea\\xff\\x8d\\xc4\\xff\\xb3\\xf1\\x96\\xad\\x37\\xec\\x46\\x8a\\xea\\x22\\x5d\\x34\\x15\\x03\\x3d\\x2d\\x84\\x8c\\xb2\\x37\\x4c\\xd3\\x74\\x3d\\xcd\\x2e\\x8d\\xf0\\x8c\\x9a\\x35\\x13\\xc2\\xc3\\x73\\xb2\\x53\\xea\\xef\\x2a\\x72\\xa7\\xec\\x1e\\xe8\\xce\\xa2\\xac\\x16\\x92\\xbc\\xab\\xc8\\x08\\xd9\\x3d\\xd0\\x88\\xa5\\x74\\x68\\x76\\x01\\x4f\\xb9\\xb9\\xea\\x2f\\xfb\\x26\\xab\\x9f\\x81\\x39\\x44\\x82\\x04\\xb2\\x25\\xc7\\x9a\\xa2\\x69\\x32\\x27\\xdd\\x1d\\x13\\x6f\\x4f\\xab\\x9d\\x01\\x0b\\xb2\\x59\\x46\\x5a\\x6d\\x7b\\x42\\x7c\\x62\\x4e\\x76\\x0b\\xdb\\xdf\\x57\\x7f\\xb6\\x44\\x5f\\xbf\\xec\\xca\\x3a\\x99\\xb2\\x74\\xc1\\x82\\xa5\\xf3\\xa5\\x2b\\xb7\\x6b\\x8f\\x0e\\x1d\\xba\\x77\\xee\\xa8\\x39\\xff\\xad\\xca\\xd6\\xc5\\xe9\\xf3\\x3e\\xfb\\xfc\\xe6\\x8d\\xcf\\x6e\\xf4\\x79\\xa7\\xdc\\x3e\\x66\\xea\\xa4\\xf1\\xe3\\x2e\\xfd\\x5b\\x0d\\x9e\\x66\\xfa\\xcf\\x19\\x4f\\xd8\\x7a\\x98\\xde\\x5e\\x2f\\xc6\\x78\\x3a\\xb6\\x70\\x36\\x8c\\xc8\\x88\\xab\\x93\\x52\\xa3\\x46\\x5c\\x2d\\xbd\\x5a\\x76\\x52\\xe3\\x66\\xa1\\x11\\xce\\xf0\\x36\\x6d\\xf3\\xb2\\x65\\x48\\xb6\\x0c\\x13\\xd5\\xa2\\xab\\xb9\\xab\\xe9\\x51\\x7a\\xe3\\xd0\\xa4\\x66\\x29\\xd5\\x6a\\x65\\xeb\\x21\\xb6\\xe8\\xe8\\xfa\\xbd\\x8b\\xa2\\xf5\\xd4\\x56\\xb6\\x56\\xbd\\x8b\\x84\\x2d\\x91\\x24\\x09\\x24\\x87\\x5a\\x43\\x92\\x5a\\x15\\x0f\\x1e\\x34\\x78\\xd0\\x20\\x48\\x48\\x0a\\xe6\\x84\\x72\\xdf\\x56\\x3b\\xa3\\xae\\xe9\\x63\\x74\\x7a\\x63\\x89\\xa3\\x39\\xd9\\x89\\x09\\xf1\\x91\\xd2\\x91\\x98\\xd4\\xa2\\x65\\x92\\xdd\\x51\\x4b\\xe6\\x64\\xb7\\x4c\\xb0\\x07\\xdd\\x4f\\x6a\\xa7\\xe9\\xf4\\x0f\\xf0\\x60\\x34\\xe9\\xb2\\x20\\xfb\\xd1\\x43\\xaf\\x7d\\x2a\\xeb\\xb8\\x33\\xf7\\x3c\\xb3\\x74\\x6b\\xcf\\x87\\x77\\xcc\\x5e\\x52\\x98\\xbe\\xa4\\xe1\\x1d\\x99\\x43\\xea\\xb5\\x4e\\x6f\\xe2\\x5b\\x55\\xd2\\xbd\\x68\\x5c\\xdb\\x27\\x86\\x36\\xeb\\xba\\x73\\xce\\x8e\\xb9\\x77\\x7a\\xee\\x0d\\xcf\\xbf\\xfe\\xa1\\xd7\\xb7\\xcb\\xf0\\x95\\x6d\\x1e\\xcd\\x9b\\xf3\\xe4\\xe2\\xbb\\xbb\\x4d\\x1e\\xd1\\xad\\x7c\\xcd\\xae\\x53\\x99\\xe7\\x4e\\xb7\\xc8\\x89\\x7e\\x30\\xd1\\xe8\\x92\\xdf\\x7b\\x68\\x9f\\xb1\\x13\\x3b\\xe5\\x76\\xbb\\xf2\\xe6\\x9b\\xe7\\x87\\xbc\\x56\\x3a\\xa7\\x25\\xeb\\x9a\\x94\\xbf\\xb2\\x30\\x7d\\x60\\xae\\x6b\\x49\\x9e\\x10\\x5d\\xd3\\x0c\\x9b\\x5a\\xa1\\xf0\\xd0\\x5a\\x19\\x03\\x6b\\x99\\xb6\\xd9\\x5a\\xc2\\xcc\\x31\\x37\\xfa\\x6e\\xd2\\xef\\x66\\x4c\\x84\\xa8\\xed\\x89\\x0a\\x0d\\x0b\\x33\\xb8\\x9a\\x38\\x1c\\x91\\x51\\xa1\\xc2\\x48\\x21\\x31\\xae\\x2e\\xa9\\x81\\xa5\\x30\\x3a\\x36\\x29\\x2d\\x43\\x8b\\x89\\x8e\\x6d\\x99\\x63\\xd7\\xb4\\x98\\x4d\\x07\\xf7\\x1f\\x7c\\x76\\xfd\\xe1\\xfd\\x07\\x37\\x69\\xb1\\xbe\\x1f\\x7c\\x9d\\xce\\x9d\\x93\\x2f\\xca\\x44\\x19\\x23\\x77\\x5f\\x3c\\xe7\\xeb\\x68\\xea\\xef\\x85\\xfe\\xc9\\x41\\xfd\\x61\\xa1\\xa1\\xba\\x61\\x38\\x84\\x50\\xfa\\xf5\\xbf\\xd3\\xaf\\x39\\xd2\\x5a\\xc4\\xc6\\x44\\x6b\\x75\\x73\\x12\\x63\\xf5\\xc9\\x4f\\x1f\\x3c\\x78\\x64\\xc3\\x86\\x23\\x07\\x0f\\x3f\\xa9\\xc5\\xfb\\xbe\\xf1\\x75\\x3e\\xf7\\xa3\\x7c\\x49\\x46\\xc8\\x70\\xf9\\xd2\\x8f\\x17\\x7d\\xea\\xef\\x3f\\x4b\\xf1\\xbb\\x76\\x45\\x7f\\xcf\\xf6\\x26\\xb3\\x60\\x98\\xa7\\x49\\x64\\x44\\x44\\xa8\\x16\\xaa\\x45\\x45\\x6b\\xa1\\xa1\\x84\\x3f\\x9c\\xab\\x90\\x73\\x72\\xf8\\xfd\\xe1\\x9a\\xd3\\x1e\\x12\\x6e\\x38\\xa6\\x87\\x2d\\x0a\\xd3\\xc2\\xc2\\x22\\x6c\\xe3\\x1d\\x33\\x1c\\x8b\\x1d\\xba\\xa3\\xcc\\x7f\\x70\\x57\\x48\\x78\\x81\\xc3\\x11\\x61\\xb2\\x94\\x39\\x88\\x05\\x35\\x6b\\x10\\x99\\x3f\\x28\\x98\\xfa\\xe6\\x8a\\xa0\\x16\\x88\\xd8\\x00\\x7f\\xe9\\x49\\xb6\\x24\\x47\\x98\\xac\\xdb\\x32\\xbd\\xa5\\x0d\\x2a\\xd7\\x4a\\x67\\x23\\xdf\\xd9\\x3d\\x53\\x56\\xac\\x9e\\xf2\\x92\\xef\\x9b\\x46\\x32\\x2c\\x7c\\x8e\\xb1\\x7e\\xd4\\xec\\x2e\\x7f\\x16\\x48\\xcd\\x2f\\x0a\\x7e\\xef\\xf2\\xc0\\xad\\xb2\\xbe\\x89\\x73\\x92\\xd8\\x69\\xdc\\x64\\xac\\x11\\x61\\x22\\xde\\x13\\xa2\\x85\\x47\\xd8\\x8c\\x2d\\x45\\xb6\\x1d\\x22\\xd7\\x9c\\x70\\x28\\x8e\\x49\\x8b\\x49\\x6d\\x9e\\x8a\\xb5\\xd4\\x04\\x6d\\xeb\\x32\\x5f\\xa1\\xdc\\xb0\\x4c\\x6e\\xd0\\x4a\\x7c\\xfd\\xe4\\xe6\\xa5\\x72\\xb3\\xaf\\xdf\\x52\\xb8\\xd4\\x7d\\x0f\\x6b\\x2f\\xc8\\x4c\\xe2\\xeb\\xf6\\x44\\xeb\\x42\\xb2\\x55\\x1a\\x36\\x29\\x56\\x0f\\x34\\xe4\\xaa\\x81\\x22\\x30\\x77\\x83\\x9b\\x56\\x5c\\x2a\\xfd\\x37\\xca\\x10\\xdf\\x51\\x06\\xad\\xa8\\x18\\xa3\\x62\\x71\\x83\\x3c\\xa1\\x4f\\xd3\\x38\\x1d\\x89\\x6a\\x1e\\xce\\x00\\x6a\\xec\\xde\\xa2\\x2c\\x29\\xa5\\xc8\\x1a\\x14\\x18\\xcc\\xc0\\xe6\\xa9\\x09\\xf2\\x06\\xad\\x89\\x3c\\xb1\\x6e\\x9d\\x1a\\xa3\\xfe\\x9b\\xa5\\x9f\\x9a\\x36\\x93\\x3c\\xa1\\x6c\\xc6\\xe4\\x94\\x32\\x26\\xb2\\x32\\x83\\x39\\xa5\\x40\\xcb\\x8b\\xdf\\xcb\\x4c\\xdf\\xfb\\xf8\\x39\\x91\\x39\\x5a\\x64\\xe6\\x60\\x0d\\x4f\\xb8\\x64\\x77\\xd6\\x18\\xa2\\x57\\x93\\xc2\\x0a\\xb6\\x85\\x2f\\x49\\xe6\\xc8\\x89\\x7a\\xf3\\xed\\x57\\xde\\x8e\\xb7\\x9d\\xe2\\x62\\xaf\\xfe\\x52\\xb7\\xb8\\x87\\xb1\\x3d\\x6d\\x03\\xe0\\x28\\x89\\xfd\\xb4\\x9f\\xa7\\x71\\xf5\\x6a\\xe1\\xb1\\xb1\\xf6\\x70\\x61\\x17\\x35\\x6a\\x46\\x25\\xcb\\xa8\\x64\\x57\\xb2\\x16\\x91\\xec\\x89\\xaa\\xe6\\xaa\\xa6\\x25\\xe8\\xd5\\xaa\\xe9\\x21\\x21\\x51\\xa5\\x45\\x21\\x0e\\x3d\\xa1\\xb4\\x48\\xaf\\x06\\x99\\x22\\x30\\x8f\\x39\\x0b\\x30\\x91\\xab\\x1f\\x1f\\xcc\\xbe\\x18\\xb4\\xa9\\x36\\x42\\x33\\xc3\\xd2\\x6a\\xab\\x04\\x4e\\xcd\\x8e\\xd5\\x83\\xcf\\x39\\xd9\\xb1\\xe9\\xac\\xeb\\x46\\xcf\\x3f\\x2e\\x5d\\xfa\\xf9\\xbc\\xf0\\xff\\xf1\\xc3\\xee\\x05\\x4f\\x3e\\xb3\\x64\\xd9\\xba\\xb5\\xcb\\x7d\\x85\\xdf\\x6b\\x4f\\xf9\\x9e\\xf7\\xad\\x92\\xc3\\x64\\x3f\\x39\\x48\\x0e\\xf0\\x3d\\xe5\\x7b\\x46\\xd6\\x96\\xba\\x5f\\xf8\\x3e\\xf5\\x9d\\xf1\\xfd\\x21\\x23\\xd7\\xfc\\xf1\\x07\\x7e\\x2f\\x87\\x9a\\x31\\x9c\\x03\\x22\\xc5\\x75\\x9e\\x9a\\x11\\xe1\\x76\\x19\\x2a\\xc3\\x99\\x82\\x51\\xd1\\x0e\\x7b\\x69\\x91\\xc3\\xa1\\x87\\xda\\xc3\\xa5\\x90\\xec\\x5a\\xc9\\x2a\\xe6\\xe6\\x6e\\x94\\x63\\x71\\x98\\x14\\x5c\\x64\\x89\\xbf\\xdd\\x48\\x6b\\x9e\\x5d\\xa7\\xa5\\x4a\\x83\\xc7\\xe5\\xee\\x74\\xdf\\xf7\\x0f\\x2c\\x97\\x8e\\x66\\xcf\\xc8\\x21\\x4b\\xf4\\x8a\\x1b\\x26\\x2d\\x9f\\x35\\xec\\x72\\xf7\\x25\\x66\\x3e\\x2d\\xc6\\x5e\\x1b\\xb8\\xaa\\x21\\xda\\x78\\x6a\\x56\\x17\\x22\\x22\\xb2\\x86\\x23\\x3e\\x32\\xbe\\x66\\xad\\x88\\x88\\x98\\x98\\xd0\\xd2\\xa2\\x18\\x87\\xac\\x2e\\xaa\\x57\\xb5\\x67\\xfe\\xcc\\xaa\\xdc\\xee\\x2c\\x9b\\xed\\x64\\xcb\\x76\\xac\\x69\\x6a\\xe9\\x72\\xd4\\x6d\\x27\\xcd\\xa5\\xcd\\xee\\x60\\x71\\x4b\\x4d\\x58\\xdc\\xf4\\xed\\xed\\x6b\\xe7\\xcf\\x9d\\x31\\x71\\x41\\x44\\x59\\xfc\\xf9\\x43\\xef\\x9f\\x7f\\x64\\xe5\\x5b\\x6b\\x53\\xb5\\x77\\x27\\xdf\\xfe\\xd9\\xc2\\xe9\\xfb\\x6e\\x1a\\x77\\xe7\\xbd\\x13\\x62\\x36\\xbd\\x76\\xd0\\x5b\\xfa\\xf5\\x9d\\xeb\\x57\\x75\\x59\\x6a\\xe2\\x9a\\x41\\x0c\\xbb\\x81\\xab\\x81\\xb8\\xc3\\xd3\\xbe\\x6e\\x1d\\xc2\\xd7\\xb0\\x66\\xad\\x5a\\x0e\\x7b\\x52\\x9d\\x3a\\x2a\\x8e\\x99\\x0d\\xeb\\xc6\\xc6\\xc4\\xc6\\x94\\x16\\x45\\xb1\\xc4\\xea\\xb1\\xb1\\x7a\\x6a\\xcd\\x9a\\xa9\\xa9\\xe0\\x4c\\x75\\xe8\\x21\\xa5\\x45\\x1e\\xa6\\xa5\\xa6\\x7e\\x5c\\x64\\x76\\x3a\\x54\\x48\\xcd\\xdd\\x5b\\x54\\xa2\\x6f\\xa5\\x22\\x6b\\xc6\\xf8\\x6f\\x36\\xee\\xd8\\x56\\xe6\\xae\\x9d\\x56\\xbb\\x4e\\xdd\\x96\\x89\\xa9\\xd9\\x2d\\x9a\\xb3\\x2f\\x67\\xca\\xe6\\x39\\xd9\\x7f\\xe3\\x21\\xdb\\xb8\\xd1\\xed\\xca\\xe9\\x0f\\xfc\\x22\\x69\\x6f\\x1d\\x19\\x35\\x67\\xd5\\xc0\\xd5\\x43\\x46\\x0e\\xbd\\x71\\x51\\x9f\\xfb\\xef\\x9b\\xb2\\x2c\\xfc\\x85\\xf8\\xdf\\x0e\\xbd\\xf7\\xfd\\x9a\\x87\\x56\\xee\\x96\\x13\\xf7\\x1e\\x3b\\xb4\\x2f\\xe6\\xcf\\x69\\x77\\x75\\x1b\\xd5\\x72\\x75\\xab\\xd1\\x9d\\xc7\\x4c\\x99\\x3a\\x2e\\x72\\xcb\\xa1\\x17\\x9f\\x9d\\xe2\\xad\\x61\\xc4\\x6c\\x27\\xc1\\x47\\x11\\x8b\\x11\\xc4\\x3e\\x94\\x55\\x2e\\xdf\\x53\\x37\\xdc\\x16\\x61\\xd7\\x9c\\x21\\x9a\\x2e\\x6d\\x32\\x32\\x4a\\x18\\xe1\\x46\\x69\\x91\\xd3\\x16\\x15\\xee\\x0a\\xcf\\x0a\\x1f\\x17\\x6e\\x84\\x87\\xcb\\x30\\xbb\\x5d\\xaa\\x6d\\xd7\\x5c\\x6e\\x72\\xaa\\x1c\\x43\\x92\\xae\\xae\\x84\\xe6\\x7a\\x20\\x79\\x4e\\x08\\x91\\xa9\\xfa\\xc6\\x9d\\x15\\x13\\xb5\\xbb\\x5f\\xdb\\xe7\\x5b\\xec\\x0b\\x97\\x3f\\xcb\\x5c\\xdf\\xcb\\x32\\x77\\xbe\\x3e\\xf5\\xca\\x9c\\x85\\x7a\\xc7\\x8a\\x6e\\x95\\xbc\\xe7\\x89\\x9a\\xa2\\xd0\\xd3\\xa8\\x5a\\x72\\x5c\\x5c\\x42\\x7c\\xbc\\xd3\\x11\\x91\\xa8\\x8e\\xdf\\xae\\xf8\\x6a\\xa5\\x45\\xf1\\xf1\\x29\\x29\\xd1\\xa5\\x45\\x29\\x29\\x46\\x42\\x42\\x72\\x69\\x51\\x82\\xdd\\x20\\x4b\\x9c\\x4e\\xc3\\xe4\\xb8\\xca\\xc4\\x09\\x10\\x9d\\xf9\\x97\\x3c\\x51\\xff\\x28\\x66\\x23\\x25\\x9b\\x20\\xd4\\xe6\\x28\\x6a\\x4d\\x3e\\x39\\x3a\\x72\\x50\\x54\\x1b\\xa2\\xd1\\xed\\x8e\\x33\\xab\\x5e\\xf9\\xc9\\xbd\\xab\\xd5\\xb9\\x05\\x1b\\x9e\\x99\\xd7\\x65\\x5a\\xae\\x37\\x4b\\x4f\\xad\\xb8\\xbf\\xe6\\xe4\\xe7\\x8f\\x5d\\x96\\xfb\\xe6\\xfd\\xab\\x74\\xf3\\x53\\x09\\xef\\x6c\\x58\\x72\\xcf\\x9a\\xc6\\x2d\\xb5\\x8f\\x96\\xf8\\x6e\\x1a\\xf0\\xbd\\xda\\x9d\\x56\\x82\\xbb\\x80\\x7c\\x49\\x14\\x69\\x9c\\x60\\xb2\\x63\\x6a\\xd5\\xb2\\x87\\x87\\x85\\x25\\x91\\x2a\\x75\\xd2\\xe3\\xc9\\x8b\\xe2\\x78\\x29\\xe2\\xa3\\xe3\\xb5\\x50\\x3d\\x3e\\x9e\\xe9\\x1e\\x49\\xe6\\x84\\xcb\\x18\\x9d\\xf3\\xb5\\x43\\x4f\\xad\\x9c\\xf5\\x39\\x57\\xd3\\xc2\\x9c\\xfa\\x83\\x32\\xab\\x66\\x47\\x4c\\x8e\\x95\\x16\\x4c\\x76\\x91\\xe3\\x8e\\x73\\x00\\x5d\\x4b\\x30\\x33\\xc1\\xa1\\xdc\\x88\\x94\\xd6\\x5e\\x5d\\x70\\xe9\\xbd\\x73\\x3e\\xe9\\xbc\\x28\\x73\\xfb\\x6e\\x6e\\xbe\\xe3\\xd1\\x4d\\x4d\\xb7\\x97\\x1e\\xfc\\x66\\xf7\\xa3\\xf7\\x75\\x9d\\xdd\\xed\\x89\\x69\\xd3\\x57\\xca\\xfd\\xef\\xf9\\x64\\x91\\x6c\\x2b\\x6f\\x96\\xf7\\xf8\\xbe\\x74\\x6d\\xf6\\x7d\\x77\\x79\\x60\\xf1\\x0f\\x6f\\x2d\\x5e\\xd7\\x71\\x4a\\xb7\\x47\\x8e\\x6d\\x30\\xf3\\x7f\\x0d\\xb9\\xd0\\x88\\x38\\x84\\x88\\x86\\x9e\\x04\\x4e\\x62\\x8e\\x30\\xf5\\xdf\\x02\\x09\\x0d\\x13\\x0e\\xa7\\x03\\xbe\\xed\\x9a\\x8a\\x7b\\x95\\x73\\x67\\x70\\x63\\x11\\x31\\x69\\xd1\\xb1\\x71\\x6c\\x01\\x46\\x23\\x5f\\xdd\\x7d\\xbf\\xfc\\x54\\xe1\\xd2\\x17\\x19\\x7b\\x2b\\x0a\\x2b\\xce\\x4b\\x87\\x36\\x44\\x32\\xeb\\x75\\x71\\x3f\\x5c\\xe5\\xc3\\x55\\x8a\\xc8\\x10\\xd9\\x9c\\x7f\\x5a\\x25\\x27\\x34\\x0a\\xad\\x1b\\x51\\x23\\xa1\\x76\\x44\\x44\\x23\\x7b\\x42\\x5d\\x48\\xcb\\x69\\x26\\x62\\xa2\\x63\\xb4\\x28\\xdd\\xa5\\x6b\\xd1\\xb6\\xe4\\xd0\\xd0\\xf4\\x06\\xe9\\x1c\\xa7\\xd3\\xd3\\xf5\\x98\\x18\\x97\\x5a\\x15\\xf4\\x26\\xff\\xb6\\x54\\x06\\x66\\x53\\x4e\\x71\\xe0\\xe0\\x53\\x19\\xf5\\x6b\\xe6\\x54\\x86\\x79\\xfc\\x55\\xe7\\x1f\\xc5\\x5c\\x2d\\x69\\x4d\\x22\\xfd\\xea\\xa1\\xcf\\x1d\\x57\\xe5\\xfc\\x67\\xe4\\xff\\x51\\x7e\\xda\\xbf\\xe6\\xee\\xf1\\x73\\xc6\\xbd\\x71\\xdf\\x43\\xc7\\x6e\\x9b\\x3b\\x7e\\xd6\\xaa\\xcf\\x1f\\x9c\\x7e\\xf7\\x43\\x73\\xef\\x91\\x46\\xda\\xea\\x05\\x73\\x56\\xad\\x5c\\xba\\x6c\\xb1\\x9c\\x5a\\xf6\\xc1\\xbf\\xf6\\xce\\x7c\\x21\\xc1\\x48\\x79\\x7e\\xfc\\xd0\\x75\\x85\\x45\\x6b\\x46\\x4c\\x78\\x3e\\xd1\\x48\\xd8\\x26\\x7f\\x19\\x37\\x61\\xe2\\xd8\\x71\\x53\\x7d\\x33\\xee\\x9c\\x39\\x6f\\xe2\\x83\\x0b\\xe6\\xaa\\x5c\\x59\\x80\\xff\\xb9\\x56\\xae\\x14\\x7b\\xae\\x73\\xd8\\xed\\x35\\x63\\xc3\\x93\\x92\\xb8\\x36\\xd4\\x49\\x8f\\x72\\x97\\x16\\x85\\x47\\x45\\xb9\\xa2\\xd6\\x46\\x6d\\x8d\\xba\\x10\\xe5\\x8f\\xb2\\x87\\xea\\x51\\x51\\x7a\\x42\\x02\\x39\\x94\\x60\\xae\\x2d\\x6a\\xd3\\xd7\\xae\\x2e\\x2a\\x7f\\xdd\\x2a\\x72\\x2a\\xf7\\xce\\xab\\x47\\x11\\x11\\xcc\\xf5\\xd8\\x96\\x2a\\xef\\xd5\\xe9\\x3f\\xc7\\x5d\\xe9\\x2d\\x6b\\x8a\\x91\\xeb\\xfb\\xf5\\xe7\\xa7\\x5f\\xcb\\xdc\\xdc\\xa2\\xec\\xb1\\x2d\\x5a\\xbd\\x43\\x93\\x5e\\xfa\\xfa\\xf2\\x27\\xf2\\xb3\\x23\\xeb\\xa6\\xcf\\x5a\\xb1\\x62\\x46\\xf7\\x07\\x6f\\xd0\\x0e\\xf8\\x9e\\xf1\\x3d\\x38\\x6f\\x55\\x8a\\x57\\x26\\xfd\\x3a\\xe0\\x76\\xe1\\x3f\\xfe\\xde\\x6f\\x3e\\xe3\\x89\\xa3\\xcf\\xcf\\x5b\\xb4\\x35\\xef\\x6e\\xf3\\x2e\\x6a\\xee\\xaf\\x46\\x6b\\xf3\\x2e\\x5a\\xd7\\x13\\x67\\xd7\\x6d\\x6c\\xb2\\x21\\x4e\\x9b\\xb1\\x6a\\xa0\\x2d\\x2a\\xb8\\xd5\\x06\\xb0\\x5e\\xbd\\xdc\\xaa\\x1d\\x57\\x0f\\xec\\xba\\xdf\\x9b\\xfb\\xae\\x1e\\x65\\xee\\xbe\\x4a\\x5f\\x89\\xef\\x61\\x3d\\xd6\\xd2\\xd7\\xc4\\x53\\x5d\\x93\\xd2\\xee\\x30\\x6c\\x76\\xc3\\xce\\xfd\\xd6\\x58\\x3d\\xd0\\x69\\x5b\\x35\\x50\\x0a\\x24\\x4a\\x04\\x4f\\xfb\\xa6\\xd7\\x56\\x16\\x2a\\xa5\\xea\\xe4\\x70\\xf1\\x7b\\xdf\\xfd\\xe6\\xe1\\x21\\xa0\\xf9\\xf2\\x03\\x81\\x23\\x84\\x79\\x8e\\x79\\x8c\\x73\\xcc\\x26\\x52\\xed\\x7a\\x8f\\xdb\\x10\\xdc\\x1f\\xec\\x0e\\xa7\\x14\\x86\\xa1\\xd9\\x72\\xed\\xe3\\xec\\xd3\\xed\\xba\\xdd\\x13\\x9b\\x50\\x60\\xd7\\xa3\\x34\\xce\\x27\\xac\\x6e\\x81\\x53\\x55\\xdb\\xac\\x9c\\x9c\\x2a\\xdb\\x7f\\x5c\\x73\\xc9\\xba\\x96\\x30\\x49\\x3f\\x73\\xe5\\x19\\x7d\\x80\\x76\\xfd\\x71\\xf9\\xe4\\x63\\xbe\\xa5\\xbe\\x25\\x8f\\x2a\\x1f\\xc4\\x24\\x59\\x68\\xdc\\xa4\\x9f\\x33\\x7d\\xb8\\xd1\\x73\\xbd\\xc1\\x0c\\x90\\x2c\\xa8\\x86\\x6d\\x4b\\x51\\x94\\x31\\xce\\x58\\x64\\xac\\x35\\xb6\\x1a\\xb6\\xea\\xba\\xe1\\x89\\x4d\\x2c\\xe0\\x5a\\xbd\\xa5\\xa8\\x89\\xec\\x25\\x4b\\xe4\\x78\\x69\\xf4\\xe2\\xc7\\x0c\\xe9\\x95\\x27\\xa4\\x2d\\x2a\\x70\\xb0\\x31\\xb7\\x8f\\xac\\xcc\\xc0\\xf2\\x50\\x05\\x00\\xc7\\x1c\\x44\\x21\\xa8\\xa9\\x9f\\xd1\\x0b\\x97\\x2f\\xf7\\x89\\xe5\\xcb\\xc5\\x35\\x3e\\xb6\\xf2\\xb8\\x82\\x3e\\xda\\x6d\\x9a\\xa6\\x47\\x19\\xd2\\x90\\xb9\\x62\\x9c\\x98\\x0e\\x38\\xe5\\xa7\\x8a\\xce\\xa0\\x6c\\xdc\\xbc\\xd6\\xc3\\x96\\xcd\\x43\\x64\\x73\\xe5\\xe1\\x00\\x3c\\x3c\\xf3\\xd8\\xa3\\x72\\x9c\\x1c\\xfb\\x98\\x6f\\xf0\\x71\\xe5\\xdf\\x60\\xd6\\x88\\xa6\\xe4\\x71\\x4d\\x91\\x2a\\xf2\\x3c\\xa9\\xce\\xd4\\xd4\\x90\\x5a\\xb5\\x44\\x52\\x72\\x0c\\x9b\\x75\\xed\\xb4\\x90\\x90\\x94\\x5a\\xb5\\x5c\\x8f\\x0f\\xac\\x95\\x94\\x94\\x92\\x12\\x5f\\x5c\\x94\\x62\\x58\\x3b\\x78\\x56\\xd5\\xef\\x1c\\x57\\xa3\\x66\\xad\\x6e\\x6c\\xd8\\x91\\x1c\\x9e\\xdb\\x69\\x2d\\xdb\\x69\\xc1\\xbd\\xae\\x45\\x9d\\x9c\\x6c\\x43\\xaa\\x93\\x4d\\xd3\\x86\\x7d\\x6f\\x1e\\xdb\\xb9\\xbe\\xdc\\xaa\\x35\\xea\\x59\\x7c\\x6b\\xc7\\x7a\\x6b\\xe7\\x3c\\xb8\\x31\\xb2\\xac\\xba\\x0c\\x7b\\xfb\\x0b\\x29\\x2a\\x16\\x1d\\xd6\\xbf\\xeb\\x32\\x71\\x48\\x87\\x5e\\x5d\\x6f\\x6c\\x99\\x3f\\x6e\\x50\\xe7\\x1b\\xba\\xf6\\x6f\\x79\\xfb\\xe4\\xa5\\xd3\\xc2\\x5f\\x79\\xff\\xe5\\xcb\\xa3\\xd4\\x57\\x13\\x4d\\x34\\xf4\\x7d\\x6d\\x3c\\xcd\\xb9\\xae\\x8d\\xe8\\x22\\x16\\x79\\xfa\\x24\\xa7\\x24\\xb5\\x4d\\xd1\\x6d\\x8d\\x1a\\x77\\x8a\\x8c\\xb4\\x35\\xd6\\x9b\\xbb\\x45\\xdd\\xe6\\xa2\\x79\\xd7\\x6e\\x35\\xf3\\xc3\\xf2\\x3f\\x28\\x72\\xe8\\x61\\xb1\\x9e\\x0f\\x8a\\x92\\x92\\x42\\x12\\x64\\x68\\x42\\x6c\\x54\\x98\\x2b\\xac\\x38\\x6c\\x5c\\xd8\\xf4\\x30\\x5b\\x98\\x88\\xe5\\x5c\\xd4\\x28\\x2c\\x36\\x36\\xac\\x91\\xde\\xb4\\x55\\xab\\xb4\\xf7\\x8b\\x5a\\x89\\xa6\\x0d\\xde\\x2f\\x6a\\x7a\\x35\\xcd\\xb9\\x85\\xe1\\x6a\\x96\\x79\\x13\\x8b\\xc9\\x19\\xac\\x32\\x48\\x7d\\xd0\\xa8\\xba\\x66\\x5e\\xbd\\x9c\\x26\\x05\\xaf\\x0d\\x69\\xb5\\xdb\\xca\\x96\\x69\\xe6\\xfe\\xd4\\xbc\\x59\\xac\\xda\\x8f\\x92\\x72\\x5a\\xe6\\xe8\\xcc\\x54\\xe6\\x6f\\x73\\xd5\\x6e\\xd7\\x12\\xd4\\x49\\x8f\\x0b\\x9b\\xd9\\x4b\\x6b\\x1e\\x1d\\x0b\\x3d\\x89\\xb1\\x36\\x6b\\x07\\x88\\xa6\\x2d\\xd6\\x78\\xfa\\xe9\\xf9\\x8b\\x34\\x7b\\xed\\xbb\\x6f\\x18\\x33\\x65\\xc8\\xb3\\xa3\\x3a\\x0f\\x4c\\xb4\\xb9\\x27\\x0d\\xab\\xd7\\xf4\\x86\\x61\\x9f\\xec\\x5c\\xfe\\xd5\\x3d\\xdf\\xbc\\x31\\xf8\\xf9\\x11\\x9d\\x4b\\x3f\\x9a\\xf2\\xf4\\xe5\\x07\\x1e\\x93\\xb5\\xf6\\xad\\xf9\\x76\\x9a\\x6f\\x68\\xfe\\xf5\\xb9\\x63\\xda\\x4f\\xec\\x7a\\x47\\x2b\\xed\\x92\\xef\\x03\\xdf\\xda\\xc7\\x9d\\xb5\\x0a\\x6f\\x7d\\x7d\\xcf\\x13\\xb2\\xd6\\xd3\\x7d\\x07\\xac\\xf4\\xd9\\xfe\\xd5\\xa9\\x50\\x36\\xf8\\x43\\xc6\\xca\\xfe\\x1f\\xfa\\xa6\\xfe\\xe1\\x7b\\xd3\\xb7\\x30\\xbf\\xf0\\xa6\\x61\\x03\\x0e\\xc9\\xdb\\xcf\\xcb\\x5a\\xf2\\xc5\\x1f\\x5f\\xf0\\xbd\\xb0\\x6f\\xcc\\xed\\xf7\\x5f\\x9a\\xed\\x2b\\xdf\\x2f\\x5b\\x9b\\xf9\\xcf\\x1f\\xe3\\x18\\x7b\\x88\\x83\\xf3\\x44\\x5f\\x4f\\x83\\x30\\x4d\\xe7\\xec\\x68\\xb7\\xb1\\x59\\x73\\x35\\xe3\\x02\\x15\\x15\\xe9\\x90\\x5a\\x98\\x56\\x5c\\xc4\\x4e\\x39\\xc0\\x29\\xbb\\x39\\x25\\xd9\\xa9\\x1b\\xac\\x83\\xb9\\xd9\\x1c\\x2b\\x07\\x0d\\xb2\\x3e\\x6f\\x04\\xbf\\x88\\x65\\x5b\\x99\\xc2\\x09\\xd8\\x3c\\x04\\xa7\\xea\\xa9\\x3a\\x17\\xfa\\x10\\x19\\x25\\x79\\x32\\x42\\xe7\\x56\\x1c\\x7f\\xe8\\x88\\xf4\\x7d\\x2c\\x7f\\xa9\\x58\\x1d\\x9e\\xb7\\x52\\xbe\\xbd\\x45\\x4e\\xf3\\xcd\\xb2\\xe5\\xfd\\xf9\\xa2\\xf1\\x42\\xdd\\xf7\\x7c\\x45\\xf2\\xe7\\xc0\\xf9\\xfc\\x49\\x70\\xcd\\x00\\x57\\x84\\x48\\x10\\xb5\\x44\\x2f\\x4f\\xbd\\xb0\\x94\\x48\\x05\\x2a\\x8e\\x43\\x45\\xa2\\x30\\x84\\xcb\\x1d\\x16\\x57\\x3d\\xae\\x7a\\x71\\x51\\x5c\\x9c\\x61\\xb3\\xc5\\x16\\x17\\x01\\x2a\\xa5\\xb8\\xc8\\x88\\xfd\\x9b\\xed\\xa6\\x72\\xb9\\x35\\x77\\xc0\\xc0\\x2e\\x63\\xa4\\xa5\\xc6\\xa4\\xaa\\xef\\x09\\x5c\\xa9\\xb9\\x4d\\x67\\xb2\\x1e\\xa9\\x4d\\x85\\x92\\xc3\\x9c\\x31\\xc3\\x77\\xfe\\x67\\x5f\\x3d\\xb9\\x5a\\x5e\\x5c\\x7c\\xcf\\xb3\\xbb\\x7d\\xe7\\x57\\xae\\xfc\\xe2\\x4b\\xd9\\xb0\\xf7\\x76\\xef\\x15\\x19\\xba\\xf5\\x69\\x79\\xcf\\xce\\xd7\\x6d\\x79\\xbe\\x3d\\x53\\xd7\\x57\\x8b\\xdd\\x2e\\xcf\\xdc\\x3a\\xd0\\x57\\xe2\\x9b\\x39\\xf1\\x4e\\x5f\\xed\\xbb\\xcc\\x39\\x3d\\x81\\xbd\\xe3\\x0e\\x73\\xef\\x18\\xe1\\xc9\\x8d\\x89\\x8e\\xb6\\x3b\\x1c\\xc9\\x22\\x3c\\x3c\\x29\\x59\\x44\\x46\\x47\\x6a\\x51\\x21\\xae\\x10\\x2d\\xc2\\x16\\xc9\\x74\\x8b\\x89\\x89\\x34\\x84\\xbd\\x89\\xdd\\x63\\xd7\\x85\\xbd\\x97\\x7d\\x9d\\xdd\\x6b\\x3f\\x65\\xbf\\x68\\xb7\\x87\\xeb\\x76\\x7b\\x48\\x88\\x5e\\x5c\\x14\\x12\\x17\\x9c\\x8f\\xa4\\xe8\\x04\\xf3\\xf0\\x14\\xdc\\x3a\\xab\\xce\\x48\\x2b\\xd9\\xb4\\x54\\x37\\x3b\\x72\\x2a\\x87\\x8e\\xc6\\x6a\\x13\\x91\\xad\\x9f\\xf3\\x8e\\x58\\xdf\\x6a\\xed\\xc3\\xbe\\xed\\xbe\\x3f\\x7c\\x5f\\x6b\\xc9\\xb2\\xef\\xf4\\x0d\\xe9\\x8f\\x8f\\x7a\\xee\\x69\\x6d\\xa3\\xef\\x82\\xef\\xc2\\x43\\x4b\\xda\\xfb\\xe6\\xcb\\x31\\xb2\\xaf\\xb6\\xcd\\xb7\\xad\\xfd\\x84\\xfb\\x7c\\xea\\x83\\xe8\\x93\\xd6\\xf9\\xd2\\x29\\x62\\x44\\x3d\\x4f\\x7c\\xa4\\x11\\x02\\xd9\\xb1\\x71\\xb6\\x08\\x93\\xe1\\xc8\\xbf\\x30\\x5c\\x79\\x03\\x8c\\x16\\xf5\\xe1\\xcd\\x2d\\xf4\\x68\\x93\\xc8\\xec\\x58\\x63\\x84\\xef\\xb8\\xef\\xb4\\x6f\\xa1\\x6c\\x29\\xbb\\xc8\\x8e\\x07\\x4f\\x5e\\xb8\\xeb\\xc9\\xf7\\xde\\xd2\\xbc\\xbe\\x17\\x7c\\xab\\x20\\x6e\\xb7\\x6f\\xa7\\x74\\xfe\\x78\\xf9\\x92\\x0c\\x35\\xf9\\x52\\x36\\x87\\x62\\x33\\x4c\\xdc\\xe4\\x69\\x61\\x0b\\x09\\x11\\x7a\\x68\\xa8\\x43\\xe8\\x5c\\x5c\\x9d\\xc5\\x45\\x2e\\x5b\\x96\\x4d\\x8b\\xe2\\x47\\xae\\xad\\xd8\\x36\\xdd\\xb6\\xd5\\xf6\\x85\\xcd\\xe1\\xd2\\x6d\\x5c\\x0d\\xa5\\x51\\x5c\\x24\\x75\\x11\\x52\\x5c\\x24\\x62\\xaf\\xbd\\x8f\\x4d\\xc8\\xb4\\xbe\\xab\\x5c\\xfd\\xec\\x9b\\x90\\x6a\\xc9\\x93\\xfa\\xca\\x8a\\x7a\\xda\\xea\\x8a\\xe1\\x9c\\x99\\xf3\\x56\\xfb\\x06\\x3c\\xe6\\xcb\\x59\\x1d\\x58\\x8b\\x0f\\x81\\xa3\\xad\\x79\\x9e\\xea\\xee\\xc9\\x92\\x36\\x9b\\xdd\\xa9\\xd9\\xf5\\xd0\\x30\\x65\\x27\\x4a\\xf6\\x94\\xc5\\x92\\x1d\\x2a\\x97\\xc5\\x55\\x0f\\xd7\\xa5\\x27\\xa1\\x7e\\x81\\x94\\x36\\x87\\x43\\x14\\xb3\\x04\\xd9\\x62\\xcd\\x93\\x56\\x20\\xe7\\x30\\x3f\\xb1\\xd2\\xbc\\xda\\xe9\\x94\\x61\\xce\\xd8\\x09\\x72\\xa6\\xb6\\xbe\\xe2\\xe6\\x03\\xfa\\xdd\\xc6\\x46\\x5f\\xec\\x9a\\x8a\\x33\\xd8\\x0f\\xe6\\x8b\\xba\\x8b\\x56\\x23\\xcf\\x23\\x93\\x52\\xa2\\x6d\\x61\\xa1\\x09\\xa1\\xc2\\x26\\xaa\\xa7\\x38\\xcb\\xfc\\x17\\x3d\\xd5\\x22\\x62\\x0a\\x92\\x93\\x8a\\x8b\\x92\\x93\\x35\\xa7\\x93\\x38\\x84\\x85\\x39\\x0d\\x8d\\x8c\\xd7\\xe2\\x82\\xe7\\xd1\\xa0\\x65\\xf1\\x97\\xa3\\xa8\\xca\\xf3\\x74\\x0e\\x53\\xe4\\x84\\x48\\x0d\\x9c\\x44\\xed\\xa4\\x07\\x99\\xa2\\xae\\xff\\x46\\x8f\\xaf\\xbf\\xfd\\xd3\\x77\\x4e\\x3a\\x65\\x88\\x1c\\x50\\xfa\\x5c\\xaf\\x13\\x1b\\x9f\\x90\\xfd\\x3b\\x2d\\x6d\\xec\\xfb\\x54\\x7e\\x71\\xff\\xa3\\xb2\\x54\\x76\\x95\\x03\\xe5\\x8d\\xbe\\x17\\xae\\x2b\\xbf\\xe2\\x2b\\xaf\\xf8\\xbc\\x81\\x5b\\xf6\\x5a\\x67\\xc5\\xaa\\x81\\x19\\x2b\\xf6\\x64\\x87\\xae\\xab\\xff\\xa8\\x65\\x98\\x11\\x16\\x1e\\xe1\\x60\\x8d\\xe8\\xe5\\x90\\xeb\\x1c\\x5e\\x75\\xf2\\x09\\xa9\\x5c\\x23\\x5a\\x65\\x05\\xa2\\xd1\\xaa\\xca\\x37\\x3e\\xe2\\x00\\x21\\xea\\x63\\x3c\\xa7\\x8b\\x5b\\x2b\\x7e\\x3d\\x70\\x40\\x0b\\x3d\\xa0\\x8d\\xab\\x58\\x62\\xcb\\xab\\x78\\x43\\x6b\\xf1\\xe7\\x8b\\x66\\x3c\\xde\\xc0\\x96\\x34\\x6d\\xb5\\xf2\\xd4\\xb0\\x13\\x6f\\x07\\xb9\\x18\\x12\\x12\\x1e\\x61\\x38\\x1d\\x64\\x86\\x23\\x56\\x0f\\x13\\x61\\x44\\x5f\\xaf\\x7a\\xed\\xbc\\x7a\\x76\\xb1\\x36\\x5f\\x2b\\xf0\\xdc\\x77\\x53\\xdf\\xd0\\x5b\\xfa\\x8e\\xc8\\x36\\x57\\x8e\\xca\\x36\\xbe\\x23\\x70\\x7f\\xf9\\xd2\\xea\\xd5\\x46\\x44\\x20\\xf6\\x5e\\xff\\x39\\xfd\\x13\\x6c\\x45\\x73\\x92\\x49\\x8e\\x8c\\x75\\x98\\x5f\\x02\\x62\\x62\\xa3\\xc8\\xf8\\x28\\x5d\\x0f\\x2d\\x56\\xf7\\xea\\xb8\\x2a\\xd7\\x97\\xab\\xbb\\x62\\xf0\\xc4\\x5a\\xb7\\xa5\\xfa\\x34\\x57\\x4d\\x62\\x49\\xff\\xe4\\x5f\\xfb\\x9f\\x3b\\x96\\xf6\\x62\\xec\\xe4\\xa2\\x77\\x7c\\x47\\xe5\\x2f\\x72\\xfd\\x3b\\xe5\\xdb\\x0f\\xba\\xee\\x98\\x21\\xab\\xe9\\x21\\x56\\xae\\x29\\x1e\\xdf\\x34\\x7d\\x2b\\xf0\\x64\\x38\\x43\\x42\\x42\\xc9\\xe4\\x30\\xc5\\x67\\x98\\x11\\x1e\\x21\\xdd\\x61\\x31\\x05\\x9a\\x23\\x54\\xde\\xe1\\x78\\x00\\x36\\xa5\\xb3\\x0a\\x9b\\x81\\xef\\x45\\x55\\x09\\x65\\x9d\\x0d\\x90\\x2a\\x1d\\x26\\xa9\\x6a\\xb5\\xd5\\xbf\\xf7\\x55\\x7b\\x0a\\x56\\xdb\\x7c\\xe9\\x73\\x6a\\x79\\xda\\xb4\\x8d\\xbe\\x4c\\xa8\\x2d\\xd6\\x9e\\xa8\\x38\\x72\\xe5\\x37\\x65\\xff\\x07\\xec\\x77\\xc7\\xbe\\x4d\\xb8\\x3c\\x91\\x1c\\x03\\x6d\\x76\\x07\\x08\\xf4\\xca\\xb9\\x64\\x19\\x50\\x73\\x47\\xcd\\x9e\\x1f\\x0e\\x68\\xeb\\x6c\\x79\\x97\\x6f\\x5a\\xcd\\xd8\\x99\\x8c\\x55\\xf7\\xbf\\x64\\xb0\\x27\\x26\\x0a\\x91\\xec\\x74\\xc4\\x45\\x47\\x44\\x44\\x46\\xc6\\x25\\xeb\\xd5\\xab\\x19\\x61\\x61\\x51\\x71\\xea\\x3f\\x20\\x12\\x1e\\x19\\x53\\x10\\xe7\\x74\\x26\\x46\\xe9\\x91\\x57\\x53\\x01\\xe0\\x81\\xcf\\x5c\\x49\\x95\\x07\\xe0\\x40\\x42\\x34\\xcb\\xe5\\xf4\\xa8\\xa7\\xe9\\x19\\x75\\xe3\\x94\\x17\\x71\\x89\\x49\\xb9\\x32\\x8e\\xec\\xd8\\xa8\\xeb\\x1e\\xd7\\xfa\\x87\\x9e\\x89\\xbd\\xc1\\x58\\xf7\\xc3\\x9e\\x84\\xac\\xea\\x0d\\xf7\\x7c\\xa9\\x0f\\x7f\\xb0\\xc3\\xf0\\xb7\\xfa\\xfb\\xba\\xca\\x5d\\x8d\\x7f\\xf1\\xbd\\x7b\\x65\\x35\\x6b\\x4a\\x52\\xf3\\xed\\x03\\xe6\\xcb\\xef\\xcc\\xd4\\xa9\\x92\\xa7\\x11\\xa2\\x93\\x27\\xc3\\x61\\x18\\x36\\x11\\x16\\x16\\x6e\\x0b\\x8f\\x8c\\x0a\\x9b\\x2f\\xe5\\x54\\x29\\x6f\\xe1\\xc4\\x66\\xd7\\xef\\x73\\xca\\xc9\\x4e\\x39\\x92\\x4d\\x4d\\xa8\\x29\\xac\\xf6\\xb3\\x41\\xb9\\xea\\x47\\xce\\xb5\\x09\\x2b\\x13\\x13\\x14\\x2c\\x99\\xd1\\x5c\\xa5\\x6c\\xa7\\x8a\\xdf\\xa3\\x37\\x7d\\xae\\x45\\xc7\\x6e\\x36\\xc6\\x6c\\xee\\x73\\x65\\x39\\xcc\\x2c\\x5c\\x3c\\x4b\\x2f\\x51\\xd6\\x35\\x31\\x92\\xf9\\x3c\\xd2\\xfc\\xb6\\x94\\xa0\\xd6\\xd0\\x68\\x33\\x97\\x12\\x93\\x42\\xc8\\xa5\\x10\\x43\\x8f\\x2b\\x2e\\xd2\\xe3\\xfe\\x76\\x0d\\x0d\\x4c\\xd5\\x9c\\x6c\\x96\\x51\\x76\\x26\\xf3\\x5b\\x91\\x31\\xd2\\xf7\\xdb\\xef\\x7f\\xf8\\xfe\\x94\\x46\\xc5\\x6f\\xd2\\x79\\xd4\\xf7\\x86\\xef\\xf5\\x35\\x8f\\x3e\\xb5\\x9c\\x05\\x7c\\xab\\x6f\\xb9\\x1c\\x29\\x6f\\x92\\xbd\\x39\\x86\\x3f\\xed\\xdb\\xa4\\x25\\x54\\x7c\\xef\\xfb\\x89\\xf9\\x9c\\x6c\\xfe\\xde\\xc9\\xf4\\xbf\\xd8\\xcc\\xaf\\x38\\xd1\\xcc\\x53\\x3d\\x5c\\x44\\xdb\\xed\\x0e\\xe1\\x48\\x88\\xb7\\x45\\xb3\\x92\\xb3\\xb4\\x39\\xa3\\x8a\\x8b\\x9c\\xba\\xbd\\xea\\xc2\\x55\\xc5\\x67\\xeb\\x06\\x6e\\x2e\\x5b\\xd9\\x86\\xa3\\x59\\x2a\\xbe\\xb3\\x2d\\x16\\x4f\\xf9\\x6c\\x89\\xaf\\xfc\\x80\\x3c\\x76\\x5e\\xea\\x07\\x7d\\x65\\xbf\\xfa\\x1e\\x7e\\x4e\\xdf\\x76\\xef\\x91\\xb1\\x15\\x3e\\x5b\\xde\\xfb\\x87\\x7c\\x15\\x3f\\x2c\\x35\\xfd\\xf7\\xdd\\x6b\\x4c\\x30\\xf7\\x3f\\xb7\\xe8\\xe8\\xa9\\xa3\\x47\\x46\\x8a\\x94\\x18\\x67\\x92\\x10\\x91\\x31\\x7a\\x6a\\xed\\xf8\\x6a\\xc5\\x45\\xf1\\x46\\x64\\x2d\\x68\\x88\\x8c\\x0b\\xb3\\x97\\x14\\x15\\x87\\xc9\\x30\\x11\\xb8\\x25\\xe5\\x04\\x59\\xb1\\x3e\\x89\\x5b\\x57\\x85\\x68\\x2d\\xf8\\xdd\\x5b\\x4d\\xb4\\x0c\\xed\\xdf\\x59\\x7a\\x65\\x77\\xfd\\x07\\x46\\xb4\\x6c\\x33\\xa8\\xff\\x8a\\xc3\\xb9\\x9f\\x9e\\xfd\\x77\\xb6\\x3e\\xf7\\x3d\\xd1\\x70\\xda\\xc4\\x88\\x07\\x12\\x37\\xbe\\x91\\x28\\x87\\x49\\xcf\\xdf\\xd0\\x16\\xe0\\xec\\x51\\xeb\\xcc\\x51\\xec\\x69\\x2e\\x22\\x22\\x42\\x64\\x78\\xb8\\x1e\\x19\\x12\\xcb\\xbc\\x0c\\x31\\x92\\x12\\xc3\\xb5\\x58\\x56\\xb9\\x9e\\xb1\\x32\\x2a\\x36\\x37\\x76\\x5c\\xec\\x81\\xd8\\x0b\\xb1\\xb6\\x70\\x3d\\x36\\x56\\xd8\\x6c\\x31\\xe6\\xfe\\x18\\xc8\\xf3\\xbf\\x6c\\x43\\x22\\xe7\\x2f\\x53\\xb5\\x32\\xa1\\xd2\\x4c\\x6e\\xcd\\xef\\x43\\x5c\\x6c\\xeb\\x9b\\xe7\\x0e\\xfd\\x25\\xdf\\xd2\\xf3\\x07\\xe4\\xe9\\x6f\\x7f\\x7e\\xf1\\x71\\xb9\\xf8\\x77\\xdf\\x09\\xdf\\x45\\x99\\xbc\\xe8\\x51\\x2d\\xb7\\xe2\\x65\\x5b\\xde\\xcb\\x3b\\x1f\\x3e\\x56\\xbd\\xe2\\x39\\xfd\\xf8\\x17\\xbe\\x06\\x33\\x54\\x8e\\xf7\\x24\\xcf\\x46\\xc3\\x73\\x43\\xd1\\xd5\\x53\\xcf\\x6e\\xab\\x9d\\x58\\xb3\\x46\\xb8\\x10\\x35\\x12\\x6d\\x46\\xa3\\xc6\\xb5\\xc3\\xab\\xe9\\xd5\\xdc\\x25\\x45\\x35\\x6b\\x56\\x33\\x74\\xb6\\x48\\x0f\\xe7\\x0b\\xcd\\x6e\\x0f\\xac\\x61\\x83\\xaa\\x6c\\x1b\\xad\\xaa\\x4c\\xc6\\x40\\xdc\\x8d\\x34\\xb7\\x6e\\x2e\\x66\\xea\\x9b\\x96\\x56\\x97\\x13\\xb7\\xf9\\x5b\\x08\\xf5\\x8b\\xa8\\x34\\x77\\x42\\x7c\\x2d\\x2d\\xa9\\x96\\x61\\x8c\\xf6\\x5d\\xfa\\xc3\\xd7\\xb2\\xeb\\x9e\\x1a\\xde\\x65\\x6b\\x9f\\x6e\\x3f\\xe6\\xfe\\x4e\\x4f\\x3c\\xd4\\xa7\\xc1\\xa5\\x33\\xef\\x9d\\x6a\\xb8\\x2f\\x79\\xf1\\xbd\\xbe\\xaf\\x9b\\x0f\\xbc\\x2b\\x6f\\xde\\xd4\\xe2\\x4e\\x75\\xe5\\xc4\\xb2\\xb7\\xe4\\xc8\\xf4\\x99\\x93\\xef\\x99\\x98\\x5f\\x78\\x5d\\x5a\\x4c\\x83\\x0e\\xfd\\xc7\\x76\\xdd\\xf2\\xe2\\x72\\x6f\\xea\\xf8\\x11\\xef\\xb7\\xe9\\xd6\\xd4\\x1d\\x9b\\x96\\xd5\\xa6\\x8f\\xfa\\x77\\xaf\\x44\\x77\\xeb\\xcc\\xe7\\x10\\x19\\x9e\\x58\\x07\\xeb\\xbd\\xc6\\x4d\\x4c\\x18\\x36\\x43\\x71\\x2b\\x63\\xab\\x7c\\xcc\\xf8\\xcb\\x97\\xab\\xd4\\x04\\xed\\x95\\xfd\\xbe\\x3c\\xa3\\x99\\xb1\\xf1\\xf2\\x4d\\xc6\\xc6\\xd5\\xe6\\x9e\\xba\\x10\\x6e\\xd4\\x5e\\x1e\\x23\\xd2\\x3d\\x31\\x21\\xf6\\x28\\x66\\x60\\x6c\\x5c\\x34\\x0b\\x6c\\x78\\xe5\\xf4\\xcb\\xf9\\xcb\\xf4\\x53\\xb9\\x55\\x4d\\xe6\\xc4\\x98\\x9f\\x14\\x98\\xe5\\x46\\xdb\\xaf\\xae\\xfc\\xfc\\xe9\\x81\\xc9\\x8f\\x3d\\x31\\x6b\\xbf\\xfc\\xce\\xf7\\xcb\\xa5\\xef\\xa5\\xd4\\x6f\\xbf\\xb2\\xe5\\xd8\\xda\\xf5\\xef\\xe9\\xf9\\xca\\x06\\xa7\\x17\\xe3\\x90\\xf9\\x2d\\x2e\\xdb\\x53\\x4d\\xe7\\xd8\\x6c\\xd7\\x42\\x42\\xb5\\xd0\\xb0\\xf0\\x10\\x4d\\xef\\x6f\\x97\\x9d\\xec\\xd2\\x2e\\xa4\\xb5\\xac\\x5c\\x35\\x66\\x9e\\xda\\xb2\\x49\\x00\\x4e\\xc5\\x52\\xfd\\x52\\x47\\xe6\\x68\\x47\\x5f\\xf5\\x39\\x8e\\x4a\\x8f\\xab\\x79\\xbd\\x86\\xb2\\xdd\\x51\\x5b\\xde\\x95\\xa9\\x37\\xbe\\xfc\\xf0\\x2c\\xfd\\x01\\xeb\\xbf\\x21\\xad\\xce\\xe7\\x49\\x62\\xa0\\xa7\\xa9\\xd3\\x11\\x11\\x13\\xcd\\x25\\x34\\x3e\\xde\\x88\\x08\\x31\\x12\\x93\\x42\\x43\\x42\\x92\\x92\\xab\\x19\\x59\\xd1\\x3d\\xa3\\x8b\\xa3\\xf5\\xe8\\xe8\\x88\\xc4\\x10\\x3d\\x3e\\xa2\\x4e\\x84\\x8c\\x70\\x72\\x3c\\x72\\x38\\x4d\\xdb\\xca\\x3f\\xf6\\x0c\\xeb\\x03\\xe0\\x55\\x97\\x93\\x5a\\x55\\xf9\\xdc\\x96\\x9a\\x16\\x2a\\xeb\\x46\\x4a\\x96\\x5f\\xb5\\xf0\\xb6\\x63\\xe1\\x4d\\x8c\\x4d\\x4a\\x91\\x39\\xfa\\x9f\\x27\\xba\\xf6\\xc8\\xac\\xd9\\x74\\xca\\x89\\x77\\x5f\\xba\\x3d\\x3a\\xc6\\x9d\\x39\\x75\\x6b\\x5e\\xcf\\xa6\\x69\\xa3\\x5f\\x92\\xf1\\xd2\\x7d\\xf0\\xde\\x37\\x7c\\x7d\\x01\\xfb\\xd2\\x7d\\x1f\\xce\\xdd\\x29\\x5f\\xaa\\xf0\\x7d\\x7e\\x52\\x0e\\xd0\\x3b\\x06\\xd6\\xdf\\x3a\\xe0\\xde\\x68\\xae\\x3f\\x1e\\x4f\\xaa\\x6e\\x17\\x21\\x86\\xc1\\x3d\\x02\\x76\\x9c\\x36\\xc3\\xe1\\x34\\x9c\\x11\\xe1\\x22\\x44\\xb7\\x1b\\xd2\\x69\\xc4\\xaa\\xad\\x2f\\x57\\xe1\\x4b\\x6a\\x55\\x65\\x5f\\xb5\\x2e\\x5d\\xec\\xaf\\x21\\x6a\\x43\\x4b\\x33\\xff\\xc9\\xd1\\x46\\xca\\x1e\\xc7\\x7d\\x3d\\xe4\\xc9\\xe3\\xbe\\xb9\\xbe\\x79\\xc7\\xe5\\x49\\x5f\\x8f\\xe3\\x7a\\x27\\x4d\\xfe\\x3f\\xa4\\x7d\\x07\\x7c\\x14\\xc5\\xfe\\xf8\\xcc\\xce\\xee\\x5e\\xdf\\xdb\\xbd\\x7e\\xb9\\xcb\\x5d\\x2e\\x97\\x02\\x04\\x08\\xe4\\x48\\x20\\xb4\\x1c\\x48\\x93\\x1a\\x3a\\x4b\\x4b\\x40\\x40\\x82\\x05\\xa4\\x49\\x51\\xe9\\x1d\\x82\\xf4\\x8e\\x80\\x28\\xa0\\x52\\xe4\\x45\\xc0\\x0a\\x8a\\x22\\x28\\x8a\\xdd\\xf7\\xc4\\x8e\\xfa\\xec\\xfa\\xec\\x4a\\x6e\\xf3\\x9f\\x99\\xdd\\x6b\\x49\\x9e\\xef\\xff\\xf9\\xfc\\xd4\\xf8\\xf2\\x70\\xf6\\xbb\\xdf\\x9d\\xf9\\xce\\xb7\\x97\\xd8\\x5d\\xb1\\x32\\xa6\\x53\\xec\\x3c\\xf3\\x2c\\xb3\\x34\\xf1\\xfe\\xc3\\x54\\x8f\\xed\\x1c\\x0d\\x91\\x57\\xea\\x79\\x6c\\x4e\\x33\\x8c\\xd1\\xc0\\xa3\\x28\\x28\\x07\\x95\\x00\\x95\\xd1\\x1e\\xbc\\x3a\\x56\\x25\\x2d\\xba\\x3d\\x63\\x22\\x71\\xf2\\xb2\\x95\\x16\\x49\\x09\\x1a\\x23\\x08\\x44\\x98\\xe7\\x9f\\x52\\xfc\\xaf\\xc0\\xd9\\x70\\xe6\\x2b\\x4c\\xaf\\xd8\\x19\\xa6\\x17\\x13\\x8b\\xed\\x61\\x6e\\xc2\\x40\\x6e\\xc4\\xef\\x5a\\x42\\xf5\\xc6\\xe2\\x68\\x06\\xab\\x67\\x0c\\x08\\x0b\\x6d\\xa3\\x49\\xa7\\x51\\x2e\\x83\\xc5\\x0b\\xd6\\x54\\x6d\\xf5\\xb5\\x94\\xd2\\xf8\\xee\\x37\\xc5\\xd6\\x3b\\x21\\x63\\x18\\x62\\x97\\x5c\\xbf\\x80\\x8a\\x62\\x6e\\xf4\\x5c\\xed\\xab\\x68\\xdc\\x7a\\x36\\x63\\xf7\\x9a\\xeb\\x9f\\xd2\\xd8\\xd6\\x4e\\x65\\x38\\x7a\\x1a\\xdb\\xc4\\x3a\\x22\\x51\\xb0\\x82\\xc5\\x01\\xa0\\x37\\x40\\xf6\\x57\\x19\\x7f\\x03\\xf7\\xab\\x0c\\x7c\\x29\\x12\\x25\\x71\\x3b\\x54\\xdd\\x07\\xee\\x64\\xc2\\xca\\x06\\x38\\x55\\x19\\xae\\x9b\\xb5\\xe6\\xcf\\xfd\\x6b\\xe8\\xfe\\xcc\\xc0\\xf7\\x63\\x64\\x3c\\x76\\xc2\\x40\\x80\\x20\\x62\\x39\\x6c\\x0e\\x7a\\xd3\\x63\\x27\\x1c\\x26\\x52\\x74\\xb0\\xf6\\xca\\x49\\x54\\x1c\\x0f\\x9e\\x40\\x28\\x60\\x5c\\x5a\\xc7\\x71\\x61\\x31\\xc7\\xd7\\xe9\\x88\\xc7\\xe7\\x57\\x19\\x23\\x05\\xff\\x0b\\x2e\\x44\\xff\\xc2\\x3f\\x50\\xc0\\x78\\x6c\\xc0\\xf8\\x0c\\x5f\\xc3\\x57\\xac\\xf9\\x43\\xc5\\x65\\x19\\x7c\\x82\\xed\\x81\\xf7\\x8f\\x07\\xad\\xa3\\x1e\\x8e\\xc5\\x82\\x99\\xc1\\xf6\\x10\\xe2\\x75\\x7a\\x62\\x9f\\x42\\x11\\x32\\x90\\x25\\x24\\x32\\x26\\x35\\x59\\x82\\xde\\x23\\x4c\\x1c\\x0c\\xb9\\x47\\xe8\\x11\\x6c\\x53\\x3c\\xb1\\x1d\\xce\\x7b\\x19\\xde\\x05\\x9f\\x40\\xe1\\xda\\x0f\\xd0\\x9a\\xda\\x59\\xf8\\xd9\\xba\\xeb\\x75\\x39\\xec\\xeb\\x75\\x4b\\xf1\\x77\\x3a\\xa3\\x06\\xc4\\x61\\x85\\x12\\x3c\\x89\\xf7\\x0c\\xf3\\x3e\\x48\\x11\\xd3\\xe1\\x7d\\xe7\\xd8\\x77\\xde\\xaf\\xac\\xa4\\x74\\x0b\\x37\\xb2\\x8f\\xa2\\xf6\\x5c\\x0d\\xd6\\x8b\\x3c\\x51\\x13\\x41\\x05\\x1b\\x22\\x6b\\x47\\x81\\x4d\\xa0\\x2c\\x11\\x84\\x82\\xb9\\xc5\\x11\\xb7\\x93\\x79\\x46\\x79\\xeb\\x85\\x6b\\xec\\xa3\\x5f\\x64\\xfe\\xe0\\xc0\\xb2\\x83\\xf8\\xc4\\x57\\xb2\\xfd\\x41\\x36\\x28\\x04\\x13\\xa2\\xed\\x5b\\x58\\xbd\\x19\\x36\\x7d\\x7e\\x7e\\x56\\x56\\x86\\x15\\xb5\\x6a\\x6d\\x6b\\x32\\x50\\xb6\\xd9\\xcc\\x7e\\xab\\x77\\xaa\\xf7\\x23\\xef\\x0f\\xde\\x3a\\x2f\\x67\\x42\\x5e\\xaf\\xdf\\xef\\x2a\\x97\\xfd\\xa2\\x39\\x5c\\x8e\\xb7\\x6e\\x20\\x16\\xcb\\x7a\\xb3\\x8b\\x66\\x12\\x14\\x24\\xc3\\x10\\x58\\x8a\\x90\\x48\\x44\\xd2\\xa0\\xd0\\xf8\\x74\\x6e\\x5c\\x1c\\x6a\\x9e\\x08\\x31\\xb7\\x6d\\xdc\\x17\\x63\\x23\\x62\\x05\\xf3\\xb1\\xdc\\xa2\\xce\\xb0\\x13\\xf1\\xd5\\x38\\x1d\\x2e\\xb6\\x5f\\x46\\xa8\\x5b\\xcf\\x09\\xa3\\x78\\xbe\\xcb\\xa3\\x8b\\xf7\\xee\\x83\\x17\\xbe\\x9d\\x32\\x73\\xf6\\x64\\xe3\\x53\\x2d\\xe1\\xdc\\x8b\\x97\\x9a\\xc5\\xde\\xab\\xdc\\x3c\\xe8\\x99\\xd9\\x77\\x75\\x97\\xa7\\xea\\xa6\\x89\\x55\\xd3\\xe6\\x4e\\x79\\x64\\x2b\\x1c\\xc3\\xb1\\x1d\\x96\\xcc\\x18\\x32\\x42\\x82\\x39\\x4f\\x3e\\xaa\\xb4\\x2c\\x1f\\xc8\\x8f\\xde\\x39\\x48\\x66\\x99\\x56\\x37\\x0d\\x1a\\x34\\x81\\xc8\\xf9\\x7f\\xe0\\x6f\\xee\\x8a\\xe9\\xc0\\x09\\x42\\x24\\x12\\xe5\\xe7\\x04\\xc1\\xe2\\x22\\xd1\\xd7\\xb0\\xc3\\x5b\\x2e\\x4b\\x0e\\xd1\\x02\\x8c\\x4e\\x14\\xc4\\x1f\\x87\\x68\\xec\\x1b\\x7f\\x53\\x59\\x59\\xba\\xfb\\x53\\x73\\xa8\\xe4\\x87\\xb1\\x14\\x0c\\x13\\xae\\x2b\\x39\\x74\\x91\\x74\\xdf\\x67\\x09\\xdb\\xf5\\xe5\\xa7\\x7f\\x19\\xc9\\xe8\\x98\\x63\\x7c\\x0d\\xcb\\x8e\\xfa\\x19\\xae\\x78\\x62\\xfe\\x92\\x2d\\x2b\\x97\\x6e\\x5b\\x31\\x97\\xc9\\x56\\x3e\\x53\\xbe\\x38\\xd3\\x6a\\xb2\\xb9\\xe4\\x08\\xfb\\x9d\\x22\\x77\\x19\\x7d\\x31\\x76\\xf9\\xe3\\x4b\\x57\\x3f\\x7c\\xfd\\xa5\\xd7\\x55\\x3e\\xb4\\x18\\xe3\\xd8\\x0e\\x9f\\x4b\\x06\\x98\\x1c\\x0d\\x58\\x80\\x8e\\xe7\\xed\\x0e\\xe0\\xf0\\xf9\\xa7\\xd9\\x21\\xb0\\x8b\\xf6\\x4a\\xfb\\x34\\xfb\\x42\\xfb\\x39\\x3b\\x6f\\x40\\x54\\x67\\xcd\\xf2\\x05\\x7a\\xd9\\xed\\x1e\\x8f\\x58\\x2e\\x7b\\x5c\\xc8\\x58\\x2e\\x07\\x75\\x0b\\x74\\xeb\\x75\\x48\\x17\\xc5\\xff\\x01\\x9b\\x00\\xa2\\x1a\\xbb\\x4d\\x1e\\x0f\\xb1\\xf6\\xee\\x48\\xb5\\xba\\xb0\\xc9\\x41\\xb4\\x13\\x55\\x5c\\xc6\\x3f\\xa1\\xad\\x5b\\xc0\\x5f\\x09\\x16\\x43\\xe6\\x97\\x53\\xdf\\xfa\\xcf\\x89\\x0b\\x67\\xef\\xdd\\xb4\\x69\\xcf\\xad\\xd5\\xd2\\x33\\x96\\x3b\\x9f\\x9f\\xfb\\x6b\\x1d\\x60\\x02\\xf8\\x66\\x64\\x1f\\xdf\\x2c\\x8c\\xaa\\x7a\\xfe\\xea\\x87\\xaf\\x4c\\xb9\\xcd\\x5c\\xb9\\x47\\x86\\x59\\xaa\\x2e\\xb7\\xba\\xee\\x0b\\xd6\\x8b\\xf7\\xd9\\x85\\xa9\\xab\\x7d\\x34\\xd3\\xcd\\x67\\x02\\x41\\xb0\\xf2\\xd6\\x70\\x8e\\xdd\\x29\\x00\\x7d\\x56\\xb9\\x6c\\xd2\\x8b\\x28\\xa3\\x1c\\x5b\\x42\\xf1\\x7d\\x56\\x37\\x3b\\xb1\\xd3\\x2a\\xc5\\x50\\xd7\\x32\\xb1\\x00\\x5d\\xee\\x48\\x3e\\xd9\\x6a\\x77\\xb8\\x25\\x66\\x3d\\x8e\\x64\\x8c\\x05\\x8d\\x6d\\x7d\\x60\\xee\\x4b\\xcf\\xc0\\x95\\x73\\xef\\x6f\\xcd\\x30\\x35\\xfc\\x23\\x2c\\x1f\\xfb\\xe4\\xce\\xe5\\x1b\\xd7\\xae\\xd8\\xb2\\x62\\xce\\xb1\\xaa\\x0a\\xe8\\x82\\x1e\\xa6\\x64\\xd8\\xf8\\x6d\\xf0\\xfe\\xeb\\xf6\\x23\\x25\\xd6\\x99\\x05\\xf0\\xd6\\x0f\\x5f\\x7e\\xf3\\x8b\\x77\\x9f\\x7f\\x15\\xe3\\x49\\x63\\x06\\x78\\xaf\\x1d\\x78\\xb7\\x07\\x44\\x9b\\x63\\x4d\\xd4\\xc2\\xeb\\xbc\\x76\\xbb\\xce\\x82\\x7c\\x7e\\x0f\\xc0\\x5b\\xea\\x31\\x8a\\xa2\\xb3\\x5c\\x16\\x45\\x23\\x2a\\x97\\x3f\\xe2\\x7f\\xe0\\x99\\x85\\x58\\x48\\xf2\\x46\\x17\\xd5\\x4a\\xc6\\xa4\\x7b\\x6e\\xea\\xa9\\x25\\xae\\x84\\x43\\x4d\\x8b\\xa3\\x4a\\x4e\\x88\\xa9\\x3d\\xc4\\xc0\\xae\\xfb\\xd7\\xde\\xbc\\x2b\\x63\\x6f\\xf3\\x6f\\xee\\xff\\x56\\xf9\\xf3\\x9b\\x6f\\x7e\\x52\\x72\\x97\\xef\\xe6\\x98\\x5e\\x7e\\xf8\\xfb\\xa9\\x57\\xe5\\x7e\\x2d\\xee\\x5a\\x0a\\xf3\\xa0\\x0d\\x9a\\x60\\x50\\xf9\\x54\\xf9\\xc8\\x03\\xdf\\x38\\xbe\\x83\\x8e\\xcc\\x04\\xab\\xa9\\x1d\\x73\\x19\\xdb\\x31\\x91\\x68\\x86\\x8b\\xb0\\x1d\\xc6\\xe2\\xcd\\x30\\x4a\\xe5\\x32\\x91\\xec\\x1c\\x5b\\x2e\\xbb\\x38\\xd2\\x66\\xb2\\x2c\\x25\\x6f\\x23\\x7e\\xd0\\x09\\xe5\\x43\\x53\\x8e\\x9c\\xe4\\xb4\\x05\\x98\\x09\\xb1\\x36\\xd2\\xad\\x06\\x2b\\xec\\xfc\\xb3\\x9f\\xf4\\x3a\\xd4\\x2c\\x70\\xba\\x70\\xf2\\x94\\xd6\\xf0\\x1b\\xf4\\x48\\xed\\x10\\xf4\\x48\\xb5\\xf7\\x95\\x47\\x2c\\xfa\\x0d\\x9c\\xb9\\xe5\\xe4\\x31\\xc6\\x6a\\x7a\\xb6\\xeb\\x95\\x11\\x6c\\x80\\xed\\x83\\x6f\\x50\\x21\\x18\\x18\\x2d\\x60\\x11\\x6a\\x22\\x65\\xbb\\x0d\\x86\\xa0\\x14\\x6c\\xd5\\xda\\x67\\x75\\xe4\\x96\\xcb\\x6e\\x87\\x28\\x34\\xc7\\x38\\x09\\x4e\\xa0\\x2b\\x97\\xb3\\xd8\\x56\\x2c\\xc3\\xb2\\x84\\xc9\\x16\\xa5\\x28\\xcd\\x91\\x14\\x9b\\x2d\\x25\\xc9\\x21\\x6e\\x97\\x4a\\xc5\\xe1\\xe4\\xce\\xe1\\xe3\\x6f\\x53\\xd2\\x36\\xc2\\x63\\x1e\\xc1\\xc7\\xe3\\x28\\x64\\x51\\x67\\xc8\\xdc\\x7c\\xf8\\xb2\\xff\\x8c\\x74\\xc7\\xe8\\x3f\\x98\\xd6\\xc7\\xe6\\x5c\\x38\\xfd\\xfc\\xe5\\x3b\\x0e\\xb5\\x40\\x7a\\xf6\\x61\\xfe\\xad\\xd0\\xd6\\x25\\xab\\xe6\\x45\\x6e\\x1d\\x37\\x74\\x51\\x0f\\x65\\xc4\\xea\\x45\\xde\\x3e\\x03\\x61\\x87\\xe7\\x6e\\x9e\\x02\\x11\\xa6\\x09\\x1f\\x34\\x55\\x8d\\x0b\\xac\\x37\\x97\\x3c\\x54\\x7b\\xe1\\xda\\xe7\\xe8\\xca\\xb3\\x1f\\x9c\\xfd\\x68\\xdb\\xf1\\xf2\\x8a\\xd3\\xea\\x1d\\x7c\\x1c\\xef\\x26\\xa1\\x5f\\x07\\xb6\\xad\\xdd\\x2c\\x63\\xb7\\x3b\\x8c\\x26\\x87\\xc9\\xe9\\x72\\x18\\x9d\\x3a\\x6b\\xb9\\xcc\\x92\\x66\\x67\\x74\\x93\\xd3\\x74\\x32\\xca\\x1d\\xec\\x71\\x86\\xe0\\xc5\\xfa\\xb2\\x8a\\xaa\\x14\\x7e\\xfc\\x31\\x03\\xaa\\xfa\\x1a\\x8e\\x7d\\xac\\x6a\\xc6\\x5d\\xf7\\xd5\\x70\\x97\\x95\\x79\\x1d\\x56\\xbf\\xa2\\x2c\\x89\\x15\\x32\\xa7\\x57\\x2e\\x7d\\x6c\\x57\\x6c\\x1d\\xd9\\x57\\xea\\xc7\\xba\\x8c\\x65\\xb2\\x05\\x74\\x8c\\x06\\x4d\\x66\\x33\\x24\\x67\\xca\\x61\\x03\\xd0\\x38\\x58\\x36\\x01\\x3d\\xde\\x4a\\xbd\\x15\\xb0\\x08\\x9f\\x32\\x72\\x26\\x44\\x73\\x9a\\xd8\\x52\\x6f\\x8d\\xe6\\x3c\\x28\\x0e\\xe5\\x93\\x1c\\xbf\\xaf\\xe0\\x5d\\xb5\\xcd\\xe0\\x83\\xca\\xb3\\xf0\\xe7\\x8b\\x17\\xab\\xab\\xab\\x51\\xa0\\xfa\\x8d\\x73\\xe7\\xd4\\x7b\\x3a\\x0b\\xcb\\xc5\\x6e\\xf8\\x9d\\x22\\xfe\\xd2\\x92\\xa8\\x5f\\x72\\x38\\x00\\x30\\xf3\\x66\\xa7\\xcb\\x26\\x0d\\x96\\x6d\\xc0\\x2a\\x94\\xcb\\x56\\x2b\\x32\\xe0\\x17\\xc6\\x25\\x64\\x9a\\x0d\\x48\\xe5\\xad\\xea\\x4b\\x28\\x56\\x75\\x50\\xed\\xa5\\xa8\\xdb\\xc7\\x57\\x06\\x1c\\x6c\\xb1\\x75\\xfe\\xc2\\xd5\\x4a\\x15\\xd3\\xe7\\xe2\\x45\\xff\\x93\\x6f\\x64\\x48\\x6b\\xb3\\x97\\xde\\x89\\x5e\\x50\\xdf\\x0e\\xc9\\xac\\x2a\\xfa\\xbd\\x26\\xd0\\x29\\x9a\\x09\\x8d\\x06\\xea\\x9a\\x31\\x18\\x54\\xdf\\x0c\\x71\\x25\\xe8\\xa0\\xde\\x8a\\xc5\\x1f\\x66\\xd6\\xd8\\x42\\x29\\x8b\\xe7\\x29\\xa4\\x06\\x2e\\x55\\x7f\\x6d\\xaa\\x13\\x61\\xa3\\xb2\\x71\\x69\\x4d\\x0d\\xbc\\xfa\\xa6\\x72\\x23\\x7c\\x15\\xfe\\x3c\\x5e\\x99\\xca\\x5d\\xae\\x1d\\xc7\\x58\\x94\\xc2\\xd8\\x36\\xfc\\xce\\xe5\\xf8\\x9d\\xa3\\xe9\\x1e\\x37\\x8f\\xba\\xd4\\xed\\x35\\x9a\\xe8\\xc6\\x82\\x06\\x1b\\x9b\\xa2\\x0b\\x24\\x77\\x94\\xf9\\x58\\xdb\\xcd\\x8f\\xe0\\xdb\\x78\\x2f\\xd9\\x13\\xd5\\x94\\x5e\\x6e\\xc2\\x8f\\x4f\\xc0\\x7c\\x24\\x1f\\x74\\x8f\\x66\\xbb\\xf2\\xf3\\x01\\x30\\x04\\x83\\x01\\xab\\x5e\\x6f\\x08\\x18\\x9a\\x34\\x0d\\xb3\\x76\\x0c\\x3a\\xc3\\x65\\xb5\\x8b\\x66\\x6b\\xd0\\x40\\x3f\\x08\\x7f\\x51\\xa4\\x9e\\xdb\\x3e\\xc5\\xd9\\x1b\\x4a\\x50\\x8e\\xd4\\x26\\x1f\\x8b\\xee\\x08\\x0d\\xc7\\xba\\xd5\\xff\\xa1\\x7f\\xaa\\xfe\\x67\\xc6\\xde\\xba\\x4b\\x74\\xc0\\x11\\x7e\\x0b\\xcf\\x64\\x4f\\xee\\x3f\\x62\\xb8\\x9d\\x69\\x32\\x75\\xe8\\xec\\x49\\x87\\x5b\\x77\\xe9\\xda\\x8f\\x39\\xb6\\x73\\xfe\\xb9\\x83\\xb1\\xfd\\x68\\xf0\\xd3\\xcd\\x16\\xb4\\x9a\\x34\\xa6\\x72\\xc2\\x94\\x91\\x8f\\xbc\\x8e\\x49\\x0e\\xff\\xf9\\xe1\\xc3\\x98\\xe4\\x30\\xde\\xff\\x20\\x74\\x8e\\xf1\\xf6\\x80\\xc2\\xa8\\x5b\\xc2\\xe8\\x02\\x8f\\xc1\\xe3\\xcd\\xc0\\x74\\x80\\x11\\x76\\x60\\x6c\\x0d\\xda\\xee\\xd7\\x43\\xb4\\x3e\\x86\\xd8\\xc2\\x8a\\xd0\\xbc\\x2f\\x09\\x4d\\xa0\\x24\\xce\\x3f\\x04\\x19\\xc4\\xa0\\xaa\\xff\\x1c\\x7d\\x28\\x4e\\xe2\\x04\\x0f\\xae\\x79\\xe9\\x80\\x57\\x9e\\x7c\\x2e\\x56\\x88\\x69\\x8f\\xc8\\xb9\\x1b\\xf1\\xbb\\x49\\x3e\\x0b\\xd6\\xca\\xd4\\x4c\\x16\\x8f\\xd7\\x80\\xef\\x97\\x41\\x44\\x98\\xe7\\x12\\xd1\\xd0\\xd0\\xe7\\x90\\xcc\\x4a\\x49\\x93\\xb8\\x37\\x5e\\xff\\xee\\xcb\\xdf\\x63\\x5f\\xfe\\xf2\\xfd\\xd3\\xab\\x76\\xec\\xba\\xf7\\xde\\x7b\\xef\\xab\\x66\\x02\\xca\\x0f\\xf8\\x98\\x72\\xb0\\x98\\x72\\x43\\xaf\\xf2\\xb5\\xf2\\xc5\\xbb\\x6f\\xfd\\xf3\\xcd\\x37\\xae\\xbe\\x43\\xf4\\x00\\x65\\x38\\xdb\\x95\\x2d\\xc7\\x6f\\x0e\\x13\\x3d\\x20\\x40\\x3e\\xdd\\x83\\xa9\\x22\\x27\\xd7\\xe9\\xc3\\x7a\\x80\\x13\\x7f\\xb9\\xde\\xc7\\x84\\xf0\\x4d\\x67\\xfe\\x4e\\x0f\\x08\\x61\\x35\\xc0\\x95\\xd8\\x02\\xf5\\x94\\xd2\\xd1\\xea\\xaa\\xcc\\xf9\\x6d\\x28\\xc7\\x3e\\xc6\\x1f\\x87\\x98\\x3d\\x17\\xed\\xba\\xfb\\xc2\\x73\\x4f\\xcc\\x5b\\xb2\\x6d\\xf9\\xf2\\x2d\\xcb\\xe6\\x31\\xd9\\xb1\\x97\\xce\\xe8\\xf7\\x2a\\x58\\xd9\\x78\\xa8\\x84\\x8d\\xdc\\xe4\\xa9\\xaa\\xc0\\x18\\x5f\\xfb\\xf4\\xd9\\xab\\x1f\\xbe\\x7d\\xe1\\x25\\x55\\x8e\\x62\\x3c\\x33\\xd8\\xde\\x54\\x8e\\x16\\x47\\x7d\\x99\\x4e\\x37\\x32\\x9b\\x4d\\x4e\\x53\\x38\\xc7\\x86\\x65\\xa8\\x60\\x73\\x99\\x7c\\x00\\x4b\\x51\\x84\\x2f\\x70\\x59\\x11\\xc5\\x32\\x05\\x49\\x75\\xc3\\x52\\x78\\x67\\x58\\x6a\\x1b\\xe7\\xa9\\xa9\\xc9\\x88\\x8c\\xb4\\x68\\x67\\x6b\\x46\\xc7\\x1d\\xe7\\x1f\\x63\\x99\\xe2\\xbd\\x77\\xbd\\xf4\\x0c\\xf3\\xf6\\xca\\xcd\\xcb\\xe7\\xce\\x5b\\xb2\\x69\\x0d\\xdb\\x5b\\xae\\x08\\x2c\\x30\\x97\\x7c\\x76\\xbd\\x04\\x9e\\x3e\\x7c\\xcb\\x44\\xe8\\x85\\x4e\\xa6\\x24\\xf6\\xf1\\x5b\\x2f\\x5e\\xfe\\xe8\\x83\\xcb\\xef\\x11\\x1a\\xfa\\x09\\xd3\\x90\\x13\\x9f\\xa3\\x13\\x34\\x8d\\x3a\\x04\\x9e\\xd7\\xe9\\x9c\\x2e\\xb7\\x60\\xb7\\x33\\x83\\x64\\xbb\\x68\\xb2\\xf2\\x4e\\x9a\\x41\\x99\\x4a\\x3f\\x18\\xab\\x04\\xed\\xe4\\xe5\\x47\\x08\\x5d\\x33\\x91\\x22\\x37\\xeb\\x9c\\x36\\x61\\xff\\x85\\x1a\\x9f\\xf7\\xe1\\x26\\x7a\\xae\\xa8\\x72\\x69\\xc5\\xe4\\x49\\x68\\xab\\xfd\\xa7\\x27\\x15\\x96\\x79\\xba\\xef\\xab\\x37\\xad\\x9e\\x36\\xad\\xaa\\x58\\x52\\xf9\\xf3\\x21\\x4c\\x3b\\x39\\x58\\x06\\xe5\\x81\\xfe\\xd1\\x66\\x3a\\x3e\\x68\\xcf\\xf0\\x9a\\xb1\\x21\\x60\\xe7\\xd9\\xfc\\x26\\x41\\xb3\\x0b\\xb9\\x32\\xb1\\x6a\\x91\\x31\\x2d\\x83\\x31\\xa1\\x8c\\x0c\\x97\\x48\\xd4\\x22\\xac\\x0a\\xb9\\xe2\\xde\\xd0\\x64\\x3e\\x44\\x43\\x5f\\x42\\xc2\\x33\\x9a\\x85\\x15\\x8c\\xfc\\x9c\\x78\\x46\\xa3\\xaa\\x1c\\xe1\\x0d\\x0b\\xc2\\x00\\xc3\\xe6\\x7c\\xf5\\xea\\xab\\xef\\x86\\xee\\xb3\\xdf\\xbd\\x0d\\x0a\\xe3\\x27\\x2a\\x7f\\x54\\xf7\\x7d\\xeb\\xd2\\x89\\x37\\x32\\x0e\\x98\\xe6\\xdc\\xf9\\xeb\\xe0\\xd1\\x77\\xde\\xbf\\x7e\\x10\\x2c\\xde\\x79\\x7c\\xd1\\x9a\\xe0\\xb0\\x01\\x0f\\x47\\x07\\x78\\xbb\\xf4\\x9e\\x3a\\x78\\xd3\\x83\\xcb\\x16\\x38\\x7a\\xf5\\xde\\xd6\\xb1\\x97\\x2b\\xd8\\xa4\\xff\\x2c\\xf5\\x3b\\x9e\\xa9\\xfb\\x11\\xfd\\xc9\\x0d\\xc1\\x7b\\x57\\x12\\xf5\\x71\\x06\\x03\\xe3\\x70\\x58\\x5d\\x6e\\xc9\\x8c\\x69\\xd0\\x85\\x0d\\x62\\xac\\x80\\x70\\x10\\x21\\x12\\x8e\\x8e\\x14\\x4a\\x8d\\x89\\x74\\x7b\\x71\\xc4\\xae\\x86\\x0a\\xc8\\x51\\xaa\\xfa\\x75\\xb1\\xf4\\xcc\\x43\\xed\\xe7\\xc0\\x13\\x4a\\xf9\\xd0\\x71\\xcb\\xef\\x3f\\xf2\\xe0\\x81\\x03\\x58\\x8e\\xc3\\x0c\\xe5\\x8b\\xea\\xd8\\xcc\\x01\\x7d\\xb3\\x57\\xb5\\x5c\\xb5\\x99\\xb9\\x4f\\x93\\x73\\x78\\x1f\\x83\\x6c\\x7b\\xbc\\x75\\xda\\xfd\\x87\\x1e\\x8f\\x21\\xc3\\x27\\x39\\x9d\\xf8\\xfe\\x3b\\x5d\\x16\\xa7\\x1e\\x58\\x1b\\xbf\\xff\\x30\\xe1\\x75\\xa0\\x4a\\x19\\x13\\x57\\xea\\x25\\x78\\xdb\\xf8\\x7b\\x16\\x6d\\x7d\\x4c\\x63\\x00\\x9d\\xef\\x9f\\x7b\\xf2\\x01\\xb6\\x7d\\x6c\\xd0\\xee\\xb9\\x27\\xf6\\x31\\x33\\x6a\\x8f\\xaa\\x3c\\x60\\xda\\x98\\x47\\x2f\\x33\\x9a\\xbe\\xdb\\x1d\\xd3\\xcf\\x0a\\x8c\\x83\\x91\\x78\\xfd\\x34\\x97\\x04\\x62\\x8c\\x8c\\xd9\\x64\\x60\\xac\\x09\\xa7\\x84\\xb3\\x9e\\x53\\x22\\x61\\x4e\\x51\\xaf\\x44\\x10\\x96\\x41\\x6c\\xef\\xbe\\xfc\\xb6\\x32\\xe0\\x25\\x68\\x96\\xda\\x84\\xf3\\xa1\\xe3\\x12\\x7e\\x6d\\xb4\\xf8\\xcc\\xac\\xd9\\xcc\\x73\\xf4\\x3d\\x4e\\xfc\\x9e\\x33\\xf4\\x5b\\x47\\x46\\x5b\\x42\\x60\\xb3\\x0a\\x88\\xe7\\x4c\\x36\\x64\\x42\\x3a\\x8f\\x57\\xaf\\xf3\\xea\\x7c\\x19\\x48\\x10\\x4c\\x3a\\xaf\\xd7\\xa3\\xd7\\x59\\x6d\\xa6\\x59\\xa6\\x65\\x26\\xc6\\xc4\\x61\\x8c\\xe8\\xbb\\x23\\xaa\\x4b\\x22\\x9e\\x20\\x9d\\x1e\\x6c\\x4d\\x71\\x4b\\xa0\\x7c\\x1d\\x75\\x4a\\xd8\\x9c\\x25\\x6d\\xed\\xc4\\x37\\xd1\\xa6\\x33\\x83\\x7f\\x41\\x7f\\x5d\\x5e\\x5f\\x9a\\x7f\\xf8\\xe5\\xd3\\x27\\xc7\\x84\\xf2\\xed\\x2b\\x9e\\x5d\\x9c\\xe5\\xd6\\x9b\\xcd\\x68\\xe2\\x09\\xf8\\xee\\x4b\\x6b\\x62\\x5f\\x63\\x5c\\xf7\\x2b\\x7f\\x74\\xde\\x57\\x02\\x0f\\x2b\\xc3\\xab\\x6e\\x0d\\x8c\\xac\\x18\\xe6\\x65\\x2a\\x28\\xde\\x24\\x1e\\x7e\\x1b\\xc6\\xdb\\x44\\xb4\\x02\\xe2\\x77\\xd7\\x41\\x16\\x1b\\x97\\x26\\x9e\\xe3\\x18\\x84\\x48\\x1c\\xc3\\xc8\\x42\\x56\\xcf\\x59\\x91\\xca\\xab\\x23\\xee\\xb4\\xe4\\x2f\\x8c\\x9f\\xca\\xb0\\x55\\x77\\x04\\xfd\\x07\\x1d\\x54\\xce\\x2a\\x4f\\x3f\\x07\\xef\\x53\\x66\\xbc\\x08\\x9b\\xc3\\x66\\x97\\x94\\x19\\xf0\\x20\\x7c\\x4a\\xe9\\xc6\\x34\\x67\\x04\\x65\\x14\\x7c\\x20\\xf6\\x4b\\x8c\\xf4\\x4e\\x01\\x5d\\x31\\xff\\x59\\x45\\xbb\\x14\\x97\\x46\\x7d\\x36\\x83\\xc0\\x08\\x46\\x51\\x32\\x19\\x8d\\x92\\xd3\\x25\\x18\\x0c\\x9c\\x68\\xb4\\x02\\xae\\x3c\\x61\\x3e\\x47\\xd2\\x37\\xa6\\x54\\x3d\\x20\\x98\\xad\\x2a\\x07\\xe4\\x84\\xa0\\xcb\\xdd\\x16\\xff\\x5b\\x80\\x30\\xa7\\x77\\x51\\x5e\\xcb\\x01\\x6b\\x5a\\xd9\\x94\\x66\\xe7\\xa0\\x7e\\x94\\xae\\x29\\x2c\\x79\\x46\\x69\\x27\\x9f\\x55\\x86\\x9b\\x56\\xf0\\xb3\\x17\\xb5\\x66\\x0b\\x63\\xf7\\x7c\\x1c\\xb8\\x1d\\xd9\\xae\\x5f\\xf8\\xe6\\x19\\xba\\x0f\\x9b\\xf0\\x3e\\x34\\xc7\\xb8\\x50\\x9f\\x85\\x0e\\x41\\x3d\\x83\\x09\\xc3\\x68\\xe2\\x11\\x8b\\x35\\x73\\xd6\\x0a\\x75\\x44\\xd7\\x04\\xce\\xff\\xea\\xb3\\x88\\xc4\\x5d\\x16\\xce\\x4d\\xcc\\x91\\xd8\\x02\\xd4\\x37\\x36\\x8c\\xb9\\xb2\\x0a\\xe5\\xad\\x59\\x55\\xfb\\xde\\x1a\\x0c\\xff\\x1a\\xfe\\xd6\\x5c\\xac\\x1b\\x84\\xc1\\xb0\\x68\\x91\\x18\\x76\\x05\\xf4\\xa6\\x40\\xd8\\xcb\\x21\\x94\\x93\\x8b\\xc9\\x43\\xaf\\xfb\\x55\\xb6\\xea\\x0b\\xf5\\xeb\\xf5\\x57\\xf4\\x3f\\xe8\\x39\\x09\\xe9\\xf5\\x62\\x58\\x94\\x7e\\x95\\xb1\\x26\\x98\\x9d\\xe6\\x41\\xd0\\x1c\\xa9\\x89\\x40\\x6e\\x22\\x83\\x11\\x92\\xeb\\x81\\x79\\x4a\\x71\\x67\\x88\\xff\\xb7\\x24\\x12\\x72\\x52\\x26\\xa8\\x26\\x0a\\x11\\xeb\\xb7\\x03\\x74\\x22\\xff\\xe2\\x83\\x1b\\x17\\x2d\\xde\\x70\\x60\\x29\\x34\\xbc\\x3d\\xaa\\x7c\\xe1\\xcd\\x93\\x16\\x95\\x8f\\x7a\\x5b\\x19\\x7e\\x64\\x39\\xac\\xb8\\x65\\x0e\\xb7\\x8a\\x9b\\x37\\x19\\x56\\xae\\x7a\\x70\\xcd\\x88\\x5b\\x94\\x07\\xc7\\x6f\\xf1\\x32\\x9e\\x4d\\x37\\x2b\\x0f\\x4c\\x91\\x31\\xfe\\x8c\\x5d\\x19\\xce\\x3c\\x4e\\xfd\\x23\\xae\\xa8\\x81\\xe6\\xa2\\x62\\x05\\x27\\x99\\x45\\xac\\xe6\\xaf\\x30\\xf6\\x07\\x89\\x53\\x85\\xba\\x31\\x08\\x1f\\xc5\\xfa\\xdf\\x57\\xf4\\x9b\\x47\\x46\\x8b\\x0d\\x1e\\x1f\\xca\\xb2\\x63\\xed\\x33\\x0b\\x71\\x5c\\x4e\\xae\\xc1\\xe7\\xf7\\xf9\\xf1\\x47\\xfb\\x0a\\x7d\\xeb\\x7d\\xc7\\x7d\\x57\\x7c\\x3f\\xf8\\x78\\x09\\xf9\\x7c\\x76\\x60\\xb7\\xfd\\x2a\\xdb\\xeb\\x3b\\x4e\\x1a\\xff\\x6c\\xb7\\xca\\xa3\\x08\\xa3\\xd0\\xf2\\xa3\\x24\\x12\\xb1\\x2e\\xd6\\xec\\x7d\\xb7\\x53\\x20\\x5f\\xce\\x87\\x0f\\xbd\\x3d\\x6a\\xe0\\xc2\\x49\\x93\\x16\\x96\\x8f\\x7e\\x1b\\x1a\\x96\\xed\\x27\\x5b\\x70\\x70\\xb1\\x32\\x7c\\x8d\\x3c\\x05\\x8e\\x9a\\xb4\\xd9\\xc3\\x78\\xb7\\x8e\\x83\\x23\\xab\\x46\\xae\\x79\\x70\\x95\\xb2\\xaf\\x6a\\x2e\\xde\\x87\\xb9\\x53\\x94\\xfd\\x2b\\x0e\\x93\\x6f\\xb8\\x95\\x69\\xca\\x56\\xa2\\x7c\\x7c\\xf2\\xed\\xa2\\x59\\x76\\x9d\\xcb\\x0d\\xc4\\xa3\\xb2\\x0e\\x44\\xdd\\xfe\\x5e\\x20\\x6a\\x30\\xf7\\x02\\xa6\\xa8\\xdd\\x64\\x22\\xd9\\x31\\x9a\\xd7\\x1e\\x13\\x46\\x86\\x47\\x7c\\xa5\\xa0\\xa0\\x28\\x91\\xd6\\x5b\\xe4\\x56\\xbd\\xf5\\x6a\\x0a\\x1f\\xf5\\x49\\x14\\x97\\xc0\\x19\\x93\\x96\\x6d\\x1a\\x9e\\xb3\\x78\\x7a\\xc7\\x19\\x43\\xbb\\x6f\\xb8\\x71\\xd1\\x88\\x1b\\x66\\x76\\x99\\x8a\\xf2\\x5b\\x46\\x1c\\xa3\\xb7\\x34\\xcb\\x6b\\x9e\\xd1\\xa2\\x69\\x21\\x69\\xc2\\x09\\xe8\\x74\\x38\\xfa\\x97\\xc8\\xd3\\x49\\x7a\\x0c\\x83\\x94\\xdf\\x98\\x4b\\x5a\\x9e\\x51\\x8b\\xa8\\x1d\\x5b\\x3f\\x88\\x78\\x9c\\x00\\xc0\\x76\\x39\\xbf\\x67\\x94\\xce\\x8a\\xce\\x40\\x21\\x19\\xc7\\x48\\x75\\x3b\\x45\\xec\\x61\\xbb\\x33\\x5c\\xcc\\xf8\\x68\\x69\\x0e\\x73\\xb4\\xf6\\x46\\xae\\xdb\\xa5\\x4b\\xc4\\xe7\\x54\\x77\\x9e\\xed\\xc1\\xdd\\x04\\x82\\x60\\x5e\\xb4\\xa7\\x1d\\x93\\x9f\\xc1\\x60\\x61\\xdd\\x2e\\x17\\x62\\x33\\x2d\\xac\\x25\\x2b\\x24\\x62\\x45\\x20\\xe8\\x5e\\xe0\\x5e\\xef\\x46\\x6e\\xb7\\x5d\\xd4\\x19\\xb3\\x10\\x04\\x48\\x44\\x95\\x68\\x1a\\x5a\\x88\\xce\\x21\\xde\\x80\\x10\\x32\\x1a\\xb1\\x4c\\x11\\x8d\\xa2\\x51\\x6f\\x95\\xa0\\xa4\\x07\\x85\\x85\\x63\\xd4\\x2a\\x99\\x44\\xc8\\x9e\\x6a\\x0e\\x85\\x63\\xd2\\xd4\\x08\\x29\\x19\\xb8\\x57\\x2d\\x5a\\x52\\xf9\\x91\\xc7\\x14\\xb7\\xb1\\x25\\x2b\\x3e\\x54\\x75\\x82\\x99\\x7f\\xc7\\x26\\xe9\\x94\\xf3\\x9d\\xfd\\x0b\\x5f\\xfb\\xfc\\xcb\\x57\\x16\\xee\\xb9\\x9c\\xf9\\xb8\\xb4\\x64\\xde\\xee\\xfd\\x87\\xa1\\x65\\x5a\\x95\\xb9\\xfa\\x8c\\x70\\xfe\\xbc\\x15\\xda\\xbf\\xfc\\x11\\x7a\\x6d\\x67\\xce\\x58\\x8e\\xac\\x15\\x46\\xdd\\x7a\\xe9\\xe9\\x0b\\x97\\xc8\\x39\\xb6\\xc3\\x24\\xbb\\x89\\x1b\\x89\\x65\\xfa\\xed\\xd1\\x0e\\x79\\x00\\x38\\xec\\xd9\\xc8\\x17\\x34\\x07\\x11\\xd2\\xdb\\xf5\\xf9\\x4d\\x02\\x46\\x93\\x71\\x86\\xec\\xc3\\x87\\x68\\x46\\x26\\x13\\x12\\x45\\xf7\\x0c\\x99\\xe6\\x3e\\x1a\\x90\\xc3\\x21\\xea\\xd8\\x6c\\x94\\x3d\\x43\\xce\\xcb\\x43\\x1e\\x2a\\xe4\\xb5\\x8a\\x96\\xb4\\xb4\\xc7\\x7a\\x99\\xa4\\x49\\x2f\\x03\\x1f\\x0e\\x15\\x77\\x66\\x3a\\xc1\\x70\\x71\\x24\\x55\\xd8\\xf3\\xc4\\x34\\x0e\\x91\\x68\\x07\\x89\\x40\\xb3\\x9b\\x8a\\xce\\xd4\\xae\\x1f\\xde\\x33\\xf7\\x89\\x27\\xfe\\xf5\\xca\\x8e\\xcb\\xd9\\xc7\\x5c\\xb3\\xfa\\xcf\\x9b\\x43\\x2a\\x79\\x7a\\x0d\\x66\\x46\\x74\\x28\\x35\\xfd\\xf8\\xe3\\xce\\xe6\\xfd\\xef\\x18\\xb4\\xae\\xfa\\xfd\\xe7\\x5e\\x9a\\x7b\\x5b\\x69\\x59\\x74\\xc6\\xdd\\xff\\xac\\x5e\\xb3\\x70\\x7d\\xf3\\xe2\\x62\\xaa\\xcb\\xed\\x05\\x9f\\xb0\\x85\\xec\\x0c\\x7c\\x65\\xf2\\xc1\\xb8\\x68\\xc4\\x0f\\xb2\\x05\\x20\\x34\\x69\\x6a\\xf3\\x78\\x9c\\x06\\xce\\xcc\\x88\\x19\\x76\\xb7\\x3b\\x83\\xe1\\x58\\x9d\\xd3\\x19\\x3c\\x21\\x8b\\xce\\x56\\x4e\\xc6\\xea\\xc4\\x1f\\xeb\\x34\\xb2\\xac\\x4e\\x97\\x7b\\x02\\xd3\\xb4\\x76\\x4c\\x91\\x78\\x12\\x27\\x48\\xaa\\x2e\\x12\\xf9\\xf3\\xd4\\x14\\xae\\x36\\x6d\\xf3\\xdb\\xba\\xf1\\xc7\\xb8\\xdb\\xba\\x75\\x2e\\xa7\\x43\\xe7\\xd6\\x91\\x22\\x8d\\x7c\\x5d\\x7e\\xdb\\xbc\\xb6\\x29\\xfe\\x93\\x53\\xfd\\x27\\x4c\\xbe\\x69\\xfa\\xda\\x55\\xd3\\xc7\\x4d\\xae\\x2c\\x1f\\x34\\x61\\xd2\\xc4\\xe9\\xab\\xd6\\xdf\\x56\\x35\\x69\\x52\\xff\\x9d\\x07\\x67\\x4d\\x7f\\xf0\\x81\\x19\\xb3\\x0e\\x32\\x8f\\xac\\x9e\\x3e\\xe1\\xe6\\x89\\x83\\xca\\xc7\\x55\\x55\\xce\\x5a\\x81\\x7f\\xaf\\x9a\\xd8\\xbf\\xbc\\xaa\\x6a\\xd2\\xf4\\xb5\\xd3\\x1f\\x3c\\x30\\x7b\\xe6\\x03\\x87\\xf0\\xd9\\xb5\\xc1\\x67\\xb7\\x9d\\xeb\\x8e\\xf5\\xd4\\x91\\xd1\\x42\\xbb\\xcd\\x86\\x2d\\x65\\x03\\x60\\x5d\\x48\\x6f\\x91\\xf4\\x88\\xb8\\xfc\\x75\\x26\\xb3\\xa9\\x52\\x66\\xcd\\xc8\\x2a\\x5a\\x2b\\x65\\x07\\x10\\xcd\\xf8\\x6f\\xbd\\xd3\\x86\\xf4\\x9a\\x27\\x1b\\xd3\\xa0\\x56\\x9c\\x25\\x25\\xce\\x49\\x2d\\x35\\xb2\\xa9\\x39\\x3a\\x98\\xf6\\xc8\\x69\\x68\\x89\\x09\\xc5\\xa1\\xb6\\xf8\\x47\\xf5\\x72\\xd7\\xc2\\x2e\\xca\\x22\\xb8\\x40\\x59\\x74\\x52\\x59\\x02\\xef\\x66\\xf0\\xef\\x51\\x65\\xe2\\x8b\\xb0\\x0a\\xde\\xf6\\x22\\x73\\xa8\\x7a\\xd5\\xbd\\x75\\x24\\x21\\x7c\\x55\\x35\\xb3\\x37\\xb6\\x8d\\xa9\\xa2\\x76\\x2f\\xe6\\x95\\xa5\\x98\\x57\\x1e\\xa3\\xf7\\x33\\x2f\\x2a\\xe1\\xcb\\x49\\x86\\x5d\\x1a\\x38\\xc0\\x01\\xc8\\xfa\\x68\\x3a\\xbe\\x8a\\x52\\xaa\\x6f\\x5a\\x4d\\x2b\\xc4\\x1c\\xf4\\xc1\\x07\\x99\\x83\\xc8\\x58\\xfb\\xdb\\xf5\\x2d\\xc8\\x54\\xfb\\x2b\\x39\\xdb\\xfb\\xea\\x86\\xb0\\xcd\\x31\\x1f\\x6d\\x03\\xba\\x80\\xd5\\xd1\\x1b\\xcb\\x9c\\x1d\\x3c\\x1d\\x9a\\x17\\xb6\\x2b\\x36\\x16\\x15\\x35\\x0f\\x06\\x02\\xcd\\x8b\\x6d\\xb9\\x1e\\x8f\\x8d\\x45\\xc8\\xd6\\xdc\\xd6\\xf5\\x86\\x76\\x42\\x61\\x59\\x53\\xa7\\xa3\\x30\\xa7\\x90\\xb1\\x14\\x42\\x2b\\x5b\\xe8\\x04\\x3e\\x5f\\xf6\\x40\\x19\\x04\\x2b\\x83\\x58\\x63\\x0d\\x06\\x7d\\x40\\x37\\x50\\x66\\x59\\xe2\\x63\\x28\\x22\\x0a\\x6b\\x61\\x8a\\xc2\\x4a\\xb3\\x69\\x54\\x85\\x23\\x35\\xe0\\x9b\\xfc\\x5b\\x2b\\x69\\x53\\xf9\\x5a\\xd2\\xa9\\x87\\x6f\\x29\\x36\\x51\\x68\\xf2\\x90\\x33\\x25\\xfc\\x4f\\xb3\\xc0\\xf3\\xa9\\x96\\xdb\\x96\\xfe\\x1b\\x5b\\x06\\xf9\\x24\\xe5\\x17\\xaf\\xef\\x0c\\x99\\x39\\x47\\xdf\\xf6\\xed\\x17\\x16\\xdd\\x76\\xf7\\xa2\\x8e\\x53\\x17\\x6f\\xda\\x3d\\xec\\xce\\x09\\xd3\\x26\\xfe\\xfb\\x8d\\xd7\\xaf\\x66\\xef\\x77\\xac\\x5f\\xbd\\x64\\x6b\\x74\\xd6\\x7d\\xe7\\x1f\\x9a\\x5f\\x55\\x39\\xf5\\x4d\\xf8\\xc9\\x9a\\x13\\xb7\\x2d\\xea\\x30\\x75\\xd1\\x9d\\x2b\\xb8\\xcb\\x58\\xd3\\x1d\\x30\\x50\\xee\\xd9\\xaa\\x47\\x9b\\x60\\x78\\xf0\\xec\\x81\\x37\\x6d\\xf5\\xb4\\x5a\\x34\\x6a\\xf3\\x91\\x65\\x6b\\x82\\x63\\x46\\x56\\x0e\\x6d\\xd7\\xbf\\x5d\\x7e\\x8b\\xdd\\xd3\\xe4\\xcd\\x81\\xac\\xe5\\xc3\\xd6\\xec\\xaa\\x7d\\xb9\\xd7\\xe4\\xa6\\xfc\\x94\\x21\\xad\\x6f\\x2c\\x09\\x91\\xee\\x45\\x24\\x4f\\x73\\x00\\x7b\\x1e\\xdd\\xc5\\xcd\\xa7\\xe7\\x53\\x12\\xcd\\xc2\\x4c\\x55\\x47\\xcf\\x07\\x02\\x78\\xef\\x28\\x16\\xab\\xa4\\xa0\\x02\\x1c\\x07\\x67\\xf1\\x71\\x45\\x5d\\x01\\x2d\\xcd\\xb0\\x7e\\xa4\\x0d\\x73\\xa6\\x10\\xf1\\x7f\\xfc\\xeb\\xfe\\xd8\\x9b\\x0f\\xb0\\xe7\\xcf\\xe0\\xbf\\x68\\x9e\\x56\\x10\\xe4\\xb1\\x47\\xa9\\x0f\\xad\\x09\\x28\\x06\\x7b\\xa3\\x13\\x5b\\x01\\x0b\\x6f\\xb7\\xeb\\x6c\\x16\\x5b\\xa8\\xa9\\x37\\xe4\\x2d\\x69\\x0b\\x78\\x91\\x5f\\xc8\\xdf\\xcb\\xef\\xe3\\x39\\x40\\x7f\\x41\\x24\\xbd\\xc9\\x68\\x44\\x97\\x64\\xd1\\x75\\x49\\xb6\\xdb\\xc5\\x0a\\x23\\xb4\\x1a\\x83\\xc6\\x05\\xc6\\xf5\\xc6\\x1f\\x8c\\x75\\x46\\xfe\\x84\\x78\\x4e\\x64\\x80\\x28\\x8a\\xd3\\xc4\\x85\\x22\\x6b\\x40\\x98\\xc1\\x8a\\x99\\xb9\\xb9\\xcd\\x2f\\xca\\xb9\\x20\\x33\\x72\\x51\\xce\\x7c\\x2d\\x45\\x4e\\x92\\x04\\x3e\\xc2\\x69\\x09\\xaf\\x25\\x35\\x77\\x09\\xce\\x1b\\x0f\\xb7\\xc5\\x55\\xb7\\xa2\\x74\\x27\\x62\\x1e\\x65\\x4e\\xda\\x81\\x72\\x0e\\x86\\x0d\\x67\\xe7\\x10\\x1e\\x4c\\xf2\\x18\\x6d\\x3a\\x12\\x8c\\x27\\x59\\x7c\\x24\\xce\\x0c\\xab\\x67\\x4f\\xe9\\x52\\x19\\x9e\\xd1\\x66\\xc7\\x94\\xc3\\x8f\\x9f\\x3c\\xfc\\xaf\\x61\\xd3\\x33\\xc6\\x45\\x6f\\x99\\x86\\x82\\xd5\\xca\\x1f\\x8f\\x3e\\xaa\\xfc\\xb9\\xbe\\x1a\\x1a\\x4e\\x9c\\x80\\x86\\xea\\xd1\\x4a\\xed\\xbf\\xb7\\x5d\\x9d\\x0d\\xea\\xbe\\xfa\\x0a\\x32\\xcc\\xf5\\x1d\\x47\\x7b\\x0f\\x0a\\xcf\\xbe\\xe5\\xda\\xcb\\x2f\\x7d\\xf8\\x7a\\xe8\\x86\\x1e\\xfb\\xf7\\x5d\\x53\\x1e\\x3f\\xf2\\x30\\xec\\xf1\\xe9\\xa7\\xb0\\xc7\\xc3\\x0f\\x29\\x4f\\x7e\\x06\\x5b\\xc0\\x9e\\x1b\\x94\\xcf\\x2f\\x2a\\x6f\\x2b\\xa7\\x88\\x47\\x92\\xd0\\xfe\\xab\\xcc\\x1a\\x14\\xe3\\xb6\\x63\\x0b\\xb5\\x25\\x18\\x1f\\xc5\\x6c\\xda\\x14\\x06\\x7e\\xb6\\x59\\x33\\x1b\\xb0\\x15\\xb6\\x72\\xe6\\x65\\xe5\\x7d\\x26\\xa3\\x02\\xfc\\x83\\x04\\x7f\\x46\\xd6\\x19\\xe8\\x8a\\xda\\xac\\x46\\xe8\\x42\\xc6\\xa8\\x20\\xf5\\x32\\x1a\\x05\\x41\\xf7\\x99\\x2c\\x9c\\x81\\x71\\xbd\\x8d\\xba\\xa7\\xcb\\x48\\x34\\x4b\\xdd\\x9a\\x06\\x0e\\x42\\x7b\\x1b\\xac\\x49\\x16\\xb7\\x49\\x29\\x57\\x48\\x9a\\x3e\\x9a\\x11\\xd2\\x56\\x4d\\x40\\x26\\x81\\x04\\xf8\\x6a\\xcd\\xc9\\xb3\\x35\\x43\\x46\\x9b\\xb6\\xd8\\x4e\\x6c\\xdc\\xf1\\x60\\xb0\\xc0\\xeb\\x29\\x6a\\xb3\\x93\\x67\\x0b\\x36\\x4e\\x9a\\xbb\\x6a\\xd3\\xa0\\x1e\\xdd\\x67\\x74\\xdd\\xb9\\x78\\x36\\x9a\\x34\\x6b\\x3e\\xc3\\x16\\x9c\\xea\\xd6\\xcf\\x38\\x65\\xce\\xf2\\x65\\xca\\x07\\xed\\x3b\\xea\\xc7\\x5a\\xf6\\xf5\\x93\\xa7\\xdf\\x1d\\xed\\xdd\\xed\\xb6\\x92\\x08\\x4b\\x83\\x84\\xa4\\x6e\\x77\\x1d\\xd6\\x35\\x1e\\xa1\\xb9\\x66\\x43\\xa2\\x4d\\x81\\x5e\\x8f\\x58\\x96\\x87\\x06\\x49\\x32\\x5b\\xac\\x16\\x88\\xc5\\xab\\xcd\\x6e\\x62\\x18\\xde\\x08\\xa1\\x95\\xe7\\x81\\x19\\x01\\xf4\\xc3\\x28\\x03\\xf8\\x9e\\x58\\xe7\\xf8\\x63\\xb4\\x4c\\xdf\\x48\\xdc\\x93\\x15\\xaf\\x68\\x48\\xf1\\xdd\\xc1\\x62\\x48\\x8a\\x1a\\x9c\\xa1\\xf8\\x2f\\xe8\\x11\\xe5\\x18\\x1c\\x74\\x12\\xff\\x6b\\x48\\x6c\\xaa\\x72\\x02\\x96\\x3f\\xaa\\x3c\\x0a\\x07\\xae\\x83\\xb7\\x95\\xc1\\x19\\x41\\x65\\xad\\xb2\\x21\\x33\\xe5\\xd7\\x44\\x2d\\x15\\xf3\\x13\\xbe\\x1b\\x4d\\xa2\\x76\\xc8\\x22\\x96\\xd7\\x59\\x01\\x96\\x23\\x00\\xdb\\x63\\x47\\x65\\xf4\\x0f\\x4a\\x89\\xe2\\x05\\x1a\\xa5\\xd1\\x12\\x66\\x72\\x69\\xa4\\x0b\\x5d\\xa8\\x3d\\x86\\xae\\xd5\\xc0\\x47\\x36\\xc6\\x9e\\xab\\xab\\x8b\\xd7\\x43\\x61\\x9d\\x86\\x38\\x3b\\xd9\\xc4\\xbd\\xb1\\x02\\x3f\\x68\\x06\\x22\\xe0\\xee\\x68\\x77\\xb7\\xbe\\x69\\x20\\x90\\xd7\\x2a\\x2b\\x2b\\x94\\xd9\\xac\\x59\\x41\\x5e\\x28\\x4f\\x2f\\xe2\\xad\\x69\\x53\\x9c\\x19\\x6a\\x1a\\x6c\\x15\\xbc\\x28\\x67\\x17\\x5e\\x94\\x41\\xb6\\x98\\xcd\\x58\\x43\\xc1\\x10\\x16\\xd4\\xa1\\x56\\xd9\\xd9\\xad\\x42\\x88\\x35\\x9b\\xed\\x17\\x65\\x33\\x60\\x33\\x2e\\xca\\x6c\\xca\\xcd\\x48\\xa4\\xb6\\x8e\\x51\\x8f\\x3e\\xd2\\xe0\\x46\\xc4\\xf3\\x11\\xc8\\xc5\\xf8\\x1b\\xfa\\xe7\\x50\\x4a\\xaa\\x82\\x1d\\xa9\\xb9\\x92\\x45\\x25\\xec\\xd1\\xbf\\xa5\\x7f\\xe5\\xc3\\x17\\xf7\\x2f\\x80\\x91\\xea\\x6d\\x93\\x87\\x7e\\x70\\x5f\\xc5\\xc0\\x87\\x4e\\x95\\x0f\\x61\\xfe\\xfc\\xfb\\x1b\\x30\\x0b\\x96\\x2b\\x27\\x50\\xd9\\x3d\\x53\\x27\\xcd\\xb7\\x2b\\x07\\x98\\xf2\\xee\\xbd\\x94\\x37\\x87\\xd6\\xd5\\xd5\\x5d\\xe7\\x7e\\x62\\x5f\\xe7\\x07\\xd9\\x74\\xa0\\x2b\\x00\\xfc\\xab\\x94\\xa7\\xf5\\x44\\x59\\x68\\x99\\x56\\xbf\\x15\\x21\\xf9\\x2d\\xc0\\xc6\\xf3\\x1e\\x2f\\x72\\x1e\\x97\\x01\\x82\\x44\\x39\\x33\\x18\\xac\\xc7\\x65\\x03\\x9b\\x92\\x40\\x99\\x16\\x90\\x8c\\x97\\x19\\xc4\\x0b\\x33\\x34\\xf7\\x0d\\x5a\\x76\\x64\\xf6\\xec\\x23\\x87\\xe6\\xcc\\x39\\x74\\xdb\\xcd\\x7d\\xfa\\xdc\\x5c\\x75\\x63\\xef\\xc9\\x6c\\xa7\\x3b\\x1f\\x3c\\x3c\\x6b\\xd6\\xe1\\x07\\xef\\xec\\x3b\\x79\\x4a\\xef\\xde\\x53\\xaa\\x68\\xde\\x38\\x3e\\xc4\\xe1\\xec\\x79\\xfc\\x7e\\x2b\\x98\\x1c\\x6d\\x8b\\x95\\x51\\x1e\\x21\\xd6\\x6a\\x32\\xb3\\x26\\x56\\xc4\\xf4\\x7b\\x54\\x36\\xb3\\x8c\\x20\\xeb\\x38\\xc1\\xaa\\x83\\x56\\x5d\\x50\\x57\\xa1\\x9b\\xaa\\x3b\\xae\\x3b\\xab\\xc3\\x5a\\xbf\\x8e\\x23\\xd1\\x85\\xa3\\xb2\\x81\\x0c\\x9a\\xfa\\x87\\xdd\\xd5\\x8b\\xc3\\x2c\\x57\\xf5\\x47\\x50\\x4a\\xba\\xa3\\x80\\xa6\\x91\\x37\\x92\\x7a\\x9d\\x52\\xb9\\x47\\x32\\xca\\x93\\xd5\\x7b\\x24\\xb1\\x9c\\x39\\xac\\xcc\\x82\\x6b\\x36\\xc0\\xd5\\xca\\xec\\x0d\\xb1\\x11\\x1b\\x68\\xed\\x16\\x6c\\xc7\\x44\\xd0\\x66\\x6e\\x1d\\xa6\\xb2\\x6e\\xd1\\x6c\\x8b\\x20\\x64\\x00\\x9f\\xce\\x01\\x1c\\x99\\x01\\x7c\\xc1\\x2c\\x88\\x16\\x70\\x7d\\x26\\x4b\\x1f\\x92\\x02\\xae\\xcf\\x64\\xf0\\x41\\x7a\\x01\\x57\\x92\\xaa\\x13\\x0e\\xb0\\xfc\\xff\\x5e\\xc3\\xe5\\x86\\xed\\x99\\xe0\\xc2\\x5b\\xc7\\x8d\\xe8\\xd9\\xbb\\xdb\\x08\\xfd\\x32\\xcb\\xc1\\x7b\\x96\\x6c\\x18\\x5b\\xb9\\x74\\x82\\x07\\xbe\\xcc\\x30\\x91\\x9b\\xbb\\x2f\\xec\\xd3\\x75\\x7a\\xc7\\xce\\x7d\\x6e\\xec\\xa6\\xbf\\x75\\xc9\\x82\\x69\\x7d\\x96\\x77\\x1b\\x33\\xba\\xe8\\x16\\x82\\x63\\x11\\x93\\x8f\\x76\\x60\\x1c\\x73\\xc1\\x3d\\xd1\\x9e\\xd9\\x41\\x41\\xe0\\x80\\xc7\\xeb\\xe5\\x39\\x5b\\x30\\x48\\xd2\\x20\\xf3\\xf2\\xb3\\x05\\x8b\\x60\\xf9\\x4c\\xae\\x10\\xa6\\x0a\\x8c\\x59\\xf0\\x0b\\x8c\\x41\\x10\\x90\\x9f\\x94\\xe8\\x15\\x7a\\x90\\x05\\x79\\x3c\\x7e\\xbf\\xf3\\x33\\xd9\\xff\\x21\\xd2\\x7f\\x26\\x47\\x49\\x40\\x09\\x7d\\x94\\x52\\x78\\x91\\x12\\x45\\xd5\\x14\\xbd\\xbf\\xab\\xe7\\xca\\xa2\\x75\\x18\\xc5\\x6d\\x68\\x2d\\x57\\x49\\x63\\xa5\\x5c\\x68\\xc7\\xae\\x6a\\xe5\\xd3\\xac\\x95\\xb6\\x83\\xfb\\x9e\\xee\\x54\\x5a\\x3e\\xba\\x77\\xcf\\x6e\\x43\\xf8\\x15\\x96\\x3d\\x0b\\x16\\x6f\\x1e\\x36\\x72\\xd4\\x14\\xe4\\x9b\\xb9\\xf0\\x9a\\x65\\xe5\\xe6\\x55\\xb7\\xf5\\xea\\xd2\\xb1\\x7b\\x8f\\x2e\\xe6\\xdb\\xe6\\xdc\\x39\\xbe\\xcf\\xed\\x58\\xb5\\xae\\xaa\\x1f\\x5f\\xc6\\x92\\x98\\xd7\\x71\\xcc\\xda\\x51\\x5c\\x5a\\x7c\\xb9\\xb8\\x6d\\xc4\\xc9\\xc1\\x8d\\xd7\\x5e\\x50\\xde\\x62\\x1f\\x75\\xfc\\x90\\xf9\\x05\\x51\\xb9\\x94\\x3b\\xd9\\x8e\\xd8\\x06\\xf2\\x91\\x5c\\x48\\xc9\\x68\\xb1\\x08\\xd8\\x2e\\xf1\\x08\\x1e\\x7f\\xa6\\xdb\\x6a\\x15\\x7c\\xbc\\xbd\\x5c\\x36\\x20\\xde\\x05\\x68\\xb4\\x4a\\x75\\xb1\\xa6\\xab\\x34\\xc4\\x69\\x81\\x55\\x92\\xb0\\x1a\\x33\\x56\\xb3\\xd9\\x68\\x36\\xa8\\xea\\x74\\x42\\x9b\\x19\\x3d\\x3b\\xe5\\xb3\\x41\\x0b\\xb3\\x58\\xf6\\xd4\\x29\\xa8\\x5f\\x72\\xe2\\x31\\xde\\x74\\x20\\xe3\\x6a\\xb4\\x7d\\xc1\\x00\\x65\\x0d\\x77\\x3e\\x76\\x97\\x72\\xfe\\x59\\xac\\xf1\\xd5\\x1e\\x3f\\xdb\\x8c\\xf0\\xc5\\x05\\xca\\x53\\x6c\\x3b\\xac\\xa3\\x5a\\xb1\\x46\\x61\\xe5\\x78\\x9e\\x31\\x32\\xd0\\x08\\x45\\x89\\xb5\\x0a\\xd6\\x33\\x50\\x3c\\x2d\\xeb\\x74\\x50\\x40\\x3c\\x24\\xad\\x03\\x68\\xf8\\xba\\x41\\x15\\x92\\x14\\xa6\\x7f\\xab\\x97\\x30\\xe4\\x44\\xa7\\x97\\xbe\\xb0\\xec\\xf0\\x73\\x2f\\x1c\\x65\\x7a\\xb2\\x2f\\xff\\xf9\\x1f\\xde\\xfa\\xe7\\x7f\\xd0\\x33\\x8f\\x3f\\x74\\xe4\\xec\\x3c\\x62\\x13\\xc2\\x1f\\xe1\\x41\\xe6\\x2a\\x73\\xc5\\xc6\\xeb\\x5b\\x51\\x5b\\xfb\\x4e\\xa5\\x1b\\x24\\x73\\xd7\\xed\\xa0\\x2c\\x1a\\x12\\x25\\xc9\\x2a\\x08\\xac\\x01\\xdf\\x76\\xe0\\x70\\x4a\\xe6\\x8d\\xb2\\x14\\xb5\\x88\\xbd\\x24\\x49\\x67\\x65\\x74\\xeb\\x64\\x66\\x0b\\xe5\\x8a\\x85\\xaa\\x14\\xd4\\x78\\x40\\x4a\\x3d\\x43\\x48\\xf5\\xa9\\xd0\\xb3\\xd6\\xb5\\x8d\\x90\\x84\\xf0\\x6b\\xca\\xf7\\xa5\\xa1\\xa2\\x9c\\x4d\\x9d\\x7a\\x15\\x08\\x5d\\x6e\\xc9\\x1f\\x3b\\x56\\x51\\x9e\\x60\\xc7\\xf3\\xc3\\x9a\\x34\\x63\\x4e\\x4d\\x40\\x83\\xd5\\x5c\\x81\\x4c\\x7c\\xb7\\x76\\x71\\x8b\\x81\\x00\\x8a\\xa3\\x7e\\x8b\\x19\\xf2\\x46\\x7c\\xe7\\x69\\x19\\xe6\\x67\\xb4\\x0c\\xf3\\x7d\\x52\\x86\\x99\\x7a\\xab\\xd2\\xca\\x30\\xd5\\xa4\\x08\\x2c\\x62\\x8b\\xb1\\x4a\\x82\\xff\\xbf\\x13\\x86\\xa1\\xc1\\xbb\\x77\\xc4\\x4d\\x5b\\x42\\x73\\xbf\\x65\\x22\\xb7\\x30\\xe3\\x8b\\xba\\xdc\\x76\\x63\\x59\\xcc\\x7f\\x0b\\xe1\\x37\\x9f\\x62\\xbd\\xe0\\x6b\\xac\\x17\\x98\\xb0\\x55\\xd0\\x22\\x6a\\x91\\xa8\\x7f\\xdf\\xed\\x31\\x58\\x3f\\x93\\x0d\\x58\\xde\\xd7\\x20\\x07\\x56\\x0a\\xb0\\x3e\\xd0\\x88\\x93\\xbf\\x3e\\xa7\\x53\\x7d\\x8d\\xe8\\xeb\\x57\\x9e\\x38\\xf5\\xf2\\xab\\xa7\\x9f\\xbe\\xb0\\x65\\xce\\xf4\\xff\\xcc\\xbe\\x63\\xd6\\x02\\xd6\\x76\\xfa\\xb5\\x77\\x1e\\x3d\\xf5\\xda\\xa5\\xa7\\xb7\\x2d\\x57\\xae\\xad\\xdd\\xb8\\x8c\\xbc\\xf7\\x16\\x2c\\xa3\\xfb\\x6a\\x32\\x7a\\x58\\xb4\\x00\\x1b\\xdc\\x58\\xad\\xd7\\x21\\x08\\x8d\\x66\\xd1\\x2a\\x18\\x04\\x91\\x4a\\x69\\x09\\x8b\\x6e\\x51\\xa7\\x33\\x23\\x04\\xac\\x3c\\xe0\\xff\\xa7\\x94\\x56\\x73\\x7b\\xe2\\x99\\x0c\\x61\\x52\\xbf\\x12\\x81\\x78\\x03\\xb4\\x5f\\x98\\xbf\\x4e\\xc2\\x41\\x0a\\x96\\x29\\x83\\x6a\\xdf\\xac\\x21\\xbf\\x9d\\x84\\x03\\xd6\\x65\\xc2\\xa9\\x70\\x66\\x50\\x59\\x57\\xa6\\x6c\\x4a\\xfc\\xaa\\xfa\\x0b\\x7c\\x64\\x82\\x3f\\xd7\\x5d\\xcc\\xd7\\x7f\\xad\\xfc\\x06\\x80\\x98\\xa7\\xfb\\x1e\\x00\\x49\\xa7\\xff\\x0e\\x6e\\x8f\\x9d\\xc2\\x72\\xdb\\x8d\\x18\\x87\\x07\\x31\\xe5\\x4e\\x18\\x75\\xe2\\xb7\\x54\\x8a\\x50\\x04\\x59\\x98\\x86\\xa4\\x31\\xc5\\xf4\\x9f\\x31\\xd8\\xa6\\x2c\\x23\\x76\\x25\\x86\\x25\\x61\\x58\\x27\\x34\\x58\\xdf\\xaa\\xb0\\x7e\\x24\\xb0\\xbe\\x81\\x8f\\xc4\\x6a\\xf0\\x9d\\xb5\\x30\\x76\\x4f\\x7d\\x08\\xf8\\x61\\xfa\\xac\\x89\\xe2\\x31\\x10\\x3f\\xfb\\x6d\\x5d\\x48\\x7d\\xd6\\x9b\\xc4\\x23\\x2b\\x6a\\x43\\x4c\\x33\\x82\\x47\\x21\\x8c\\x16\\xc2\\x42\\x10\\x8d\\x03\\x48\\xbc\\x1f\\xef\\xf7\\x0e\\xe5\\x23\\xf6\\x56\\xb6\\x94\\xd6\\xeb\\xf4\\x8a\\x92\\x62\\x1d\\x7d\\x28\\xe4\\x91\\xf0\\x51\\x03\\x4f\\x76\\x58\\xaf\\x0f\\xf9\\x42\\x59\\x7b\\x46\\x85\\xac\\xf1\\x82\\x9d\\x33\\xb4\\xba\\x8a\\xf2\\xb8\\xb2\\xff\\x5a\\xb2\\xd3\\xb6\\x0d\\xe1\\xda\\x4c\\xdb\\x88\\xc0\\xa8\\xd9\\x20\\x54\\x0b\\xe6\\x89\\xc8\\x87\\xce\\x70\\xf1\\x8e\\xc6\\x2b\\x76\\x94\\x5f\\xaf\\x7c\\x54\\x07\\x98\\x3b\\xce\\x0f\\xb8\\x71\\xfa\\xb8\\x1b\\x06\\xa8\\x05\\x3b\\x3d\\x06\\xa4\\x14\\xec\\xb0\\x3b\\x2e\\x5d\\x52\\xfd\\x35\\xec\\x65\\xfe\\x90\\x2d\\x8f\\x64\\x5d\\x49\\x3a\\x70\\x43\\xdd\\xfd\\xe0\\x67\\xe0\\xac\\x61\\x04\\x2e\\x8f\\x39\\x53\\x77\\x7f\\x8d\\xd5\\xc6\\xea\\x72\\x61\\x41\\x31\\xc0\\xff\\x24\\xd6\\x1f\\x4e\\xac\\x9f\\x0d\\xc6\\x80\\x5f\\x80\\x3d\\x6a\\xa2\\x0f\\x8c\\x11\\xa4\\xe4\\x6a\\xd0\\xc8\\x7a\\x66\\x05\\xfe\\x03\\x75\\xbd\\x15\\xaf\\x07\\x0e\\xa1\\xd1\\xf5\\x7b\\x12\\xeb\\xf7\\x24\\xd6\\x13\\xf8\\xc0\\x93\\xdb\\xe8\\xfa\\x31\\x09\\x7c\\x48\\xf5\\xd9\\xa7\\xc0\\x1d\\xb5\\x20\\xf2\\x00\\x62\\x80\\x4d\\x54\\x9f\\x20\\x8f\\xa4\\x3d\\x53\\xa9\\x3d\\xc3\\x33\\xbb\\xd0\\x50\\xe0\\x8a\\x9a\\x11\\x13\\x46\\x88\\x41\\x71\\x94\\x92\\xe7\\x4a\\xc2\\xa3\\x0f\\x53\\x7e\\xe9\\x04\\x8b\\xa3\\x7d\\x8d\\x16\\xab\\x03\\x4a\\x0c\\x66\\x97\\x88\\x17\\xf4\\x66\\xb3\\xd3\\x6a\\xb5\\x20\\xcc\\xd2\\x5d\\x0e\\x58\\x21\\xeb\\x4d\\x15\\x72\\x50\\x5f\\xa8\\x67\\x88\\x8b\\xb4\\x4c\\x5f\\xa1\\x5f\\xa0\\x3f\\xae\\xff\\x48\\xaf\\x0b\\x22\\x87\\xde\\xa1\\xb7\\xb2\\x92\\x8e\\xd5\\x55\\xc8\\x2c\\xb2\\x92\\x5c\\x46\\xab\\x0d\\xc4\\xd3\\x66\\x01\\x35\\x54\\x35\\x7b\\x28\\x5e\\x70\\x67\\x2b\\x4d\\x16\\x58\\x96\\x6a\\x3f\\xc4\\xfa\\x47\\x61\\x98\\xac\\x89\\x08\\x49\\x61\\x9e\\x41\\x21\\x66\\xb9\\xf2\\x68\\xf5\\x61\\xf8\\x05\\xb3\\x4b\\x39\\x0e\\x7b\\x2a\\x8f\\xc3\\x79\\xb1\\xab\\x37\\xb2\\xfd\\x16\\x43\\x3f\\xdc\\xad\\x4c\\xe0\\xba\\x6f\\x57\\x06\\x6d\\x55\\x0a\\xb7\\xb3\\x27\\x45\\xa5\\x56\\xd9\\x44\\xf7\\xe1\\x0e\\xa5\\x1b\\xa9\\x75\\xc1\\xfb\\x90\\x47\\xf7\\x6e\\x1e\\x1c\\x8f\\xbf\\xd7\\x74\\x0a\\xfa\\x7c\\x6e\\xb3\\xba\\xcd\\x74\\x1d\\xad\\xf1\\xa0\\x67\\xd8\\x44\\xa3\\x91\\xc7\\xf1\\x99\\x38\\x6b\\xa0\\x99\\xcb\\x83\\x67\\xea\\xf6\\xd4\\x58\\x44\\x60\\x4c\\xa1\\x91\\xfa\\xeb\\x67\\x83\\x51\\xea\\x19\\xd2\\x07\\xca\\xcc\\xd6\\xe4\\xea\\xc6\\xe0\\x6b\\x34\\x82\\xe1\\x5b\\x28\\xfc\\xcf\\x6a\\x6c\\xe6\\x46\\xe0\\x8f\\x49\\xc0\\x9f\\x02\\x1c\\xf8\\xcc\\xbd\\xa7\\x18\\x02\\x9f\\xc1\\x4f\\xfc\\x51\\x23\\x0a\\xea\\x13\\xea\\xa9\\xe3\\x67\\x68\\x3d\\x02\\x7d\\x47\\x73\\xed\\x1b\\x8e\\xa7\\x7e\\xc3\\x09\\xf2\\x0d\\x30\\xe5\\x1d\\xf5\\xd7\\xcf\\x06\\x37\\xa7\\x7c\\xc3\\xcd\\xf8\\x1b\\x60\\xda\\x37\\xd4\\x5b\\x9f\\xa4\\x73\\xfa\\x11\\x00\\x7f\\x41\\x63\\xeb\\xc7\\x24\\xe0\\x27\\xe8\\x56\\xfb\\x08\\x80\\xbf\\x00\\xa6\\xd2\\x2d\\xa6\\x43\\x9f\\x56\\xdf\\x43\\x02\\x7c\\xa3\\xa3\\x6d\\xbc\\x76\\x8f\\xd5\\xaa\\x67\\xed\\xd8\\x22\\xc9\\xf0\\x09\\xbc\\x8e\\xaf\\x90\\x3d\\x65\\x44\\x61\\x25\\x59\\x4f\\x67\\x75\\x3f\\xe8\\x38\\x33\\xd2\\xe9\\xb0\\x64\\x75\\x57\\x60\\xfd\\x82\\xb5\\x36\\xa8\\xb0\\x22\\xa4\\x16\\xa9\\x6f\\x5a\\x52\\x0a\\xa3\\x35\\x41\\xe1\\xe2\\x08\\xa9\\x0b\\x82\\x21\\x52\\x14\\x24\\xd1\\xea\\xa0\\x50\\xbc\\x36\\x68\\xc5\\x0a\\xb5\\x3a\\x48\\xc9\\x54\\x3e\\x3a\\xf0\\xd6\\xab\\xef\\xff\\x30\\x17\\x86\\xd4\\x12\\x21\\x66\\xe8\\x16\\x66\\x94\\x72\\x5a\\x91\\x95\\x9e\\x58\\xa9\\x30\\x42\\xfd\\x7f\\x94\\x2e\\xda\\x99\\x35\\xe3\\xf7\\xe2\\xef\\x6d\\x9d\\xb8\\xd7\\xbf\\xd2\\xfd\\x11\\xc8\\xfe\\x78\\x72\\x39\\x73\\xda\\xfe\\xd0\\x3c\\x7c\\xba\\x9f\\x45\\xda\\x79\\x3d\\x44\\xcf\\x8b\\x71\\x51\\xbe\\xf4\\x50\\x8d\\x3b\\x83\\x07\\x29\\xe7\\x55\\x7f\\xfd\\x6c\\x30\\x5e\\xe3\\x1b\\xe4\\x81\\xf1\\x2e\\x6f\\x72\\x75\\x63\\xf0\\x53\\xf8\\x92\\x9b\\xf0\\x19\\xbf\\xab\\xd1\\xf5\\x7b\\x12\\xeb\\x93\\x7c\\x89\\xc0\\x07\\x59\\x2d\\x1a\\x5d\\x3f\\x26\\x81\\xcf\\x14\\x80\\xe2\\x7c\\xc9\\x45\\xf8\\x12\\x93\\xe1\\x51\\x9f\\x48\\x9c\\x2f\\x04\\x7b\\xc0\\x27\\x6c\\x4b\\x76\\x06\\x96\\x45\\x39\\x51\\x2b\\x6b\\x34\\xea\\x19\\x32\\x53\\x50\\x6f\\xb6\\xe8\\xe0\\x49\\xe0\\xad\\x17\\xf0\\xc3\\xf6\\xbf\\x01\\xb6\\x35\\x40\\xb7\\x01\\xea\\x0c\\x70\\x0f\\x1c\\xaf\\xec\\x9b\\x0c\\xc7\\xc2\\xb1\\x55\\xca\\x01\\x58\\x39\\x49\\xb9\\x4f\\xd9\\x0d\\x7b\\xc3\\xf1\\xb0\\xf2\\x66\\xe5\\x3e\\x58\\x51\\xa5\\x1c\\x54\\xf6\\x55\\xc1\\x71\\xca\\x1e\\xe2\\xf7\\x69\\x57\\xf7\\x1e\\xbb\\x91\\x9b\\x86\\xf5\\x2f\\x1f\\xc8\\x06\\x72\\xb4\\xc8\\x15\\x74\\x07\\x58\\xbf\\xc3\\x66\\xe5\\xf4\\x2c\\xf0\\xeb\\x8c\\x0e\\x09\\x18\\x41\\x38\\xc7\\x1d\\x70\\x05\\xd9\\x90\\xd7\\x12\\xaa\\x90\\x39\\xbd\\xcd\\xca\\x22\\xd1\\xc2\\x22\\x6f\\x85\\xac\\x66\\xa2\\xab\\x71\\x2e\\x77\\xa9\\xe6\\x7d\\x4d\\xda\\x1a\\x5a\\x0f\\x29\\xad\\x2c\\x82\\xfa\\x59\\x69\\xd2\\x3f\\xf5\\xbf\\xa2\\x36\\xf9\\x90\\xd4\\x4a\\x43\\x87\\x1b\\xe6\\x85\\xb3\\x68\\x8d\\xc4\\x7b\\x0b\\x67\\x8d\\x5d\\x57\\x01\\xd9\\xd8\\xbf\\x16\\xce\\x1c\\xbb\\xb6\\xf2\\x52\\x40\\x01\\x03\\xb6\\xdf\\xbf\\x39\\xb6\\x31\\xc0\\x80\\x7e\\x3b\\x94\\x8b\\x6a\\xc5\\xc4\\xea\\xdd\\x5d\\x9e\\x3e\\x86\\xf5\\xac\\x81\\xb0\\x72\\xf9\\xee\\x2e\\x4f\\x3e\\xa4\\x7c\\x74\\x70\\x7a\\x6c\\xd0\\x6a\\xe8\\x81\\xc6\\x07\\x67\\x32\\x8f\\x2c\\x51\\xf7\\x9d\\xe6\\x8e\\xd3\\x73\\x6d\\xa7\\xd1\\xcd\\x7d\\xea\\x3d\\xb7\\xd1\\x7b\\xbe\\xaf\\xc6\\xee\\x4a\\xa3\\x9b\\xfa\\xeb\\x67\\x83\\x61\\xda\\xbd\\x25\\x0f\\x0c\\xb3\\x39\\xeb\\x9d\\x6b\\xbd\\xf5\\x29\\xf7\\xdc\\x4e\\xe9\\xd8\\xd6\\xe8\\xfa\\x31\\x09\\xf8\\x29\\xf7\\xdc\\x46\\xef\\xb9\\xcb\\x91\\x4e\\x07\\xf8\\x19\\x9a\\xff\\x4c\\xdf\\xd1\\x51\\xc3\\x69\\xa2\\xf6\\x0e\\x03\\x7e\\xc7\\x44\\x83\\x99\\xd5\\x27\\xdf\\x91\\x52\\x2f\\x62\\xc1\\xfa\\x65\\x49\\xd4\\x6f\\x37\\xf2\\xd8\\xa8\\x03\\x3a\\xac\\x77\\x70\\xf6\\x4a\\xd9\\x68\\xab\\x94\\x39\\x23\\x67\\xe4\\xb5\\x8a\\x11\\x35\\xca\\x51\\x3f\\x83\\x83\\x56\\x8c\\x38\\xb1\\x5d\\xe1\\xa4\\x35\\x23\\x71\\x3f\\x41\\xc5\\xcc\\xab\\x5b\\x95\\x7f\\x9f\\x3d\\x0b\\x2d\\x3f\\x40\\xe6\\xdc\\xc1\\x83\\xbf\\x29\\x3b\\x0e\\x31\\x35\\x0b\\x5f\\x9c\\xaa\\x70\\xdd\\xbf\\xf9\\xf0\\xf2\\xf2\\x2d\\xb1\\x73\\xbb\\x80\\x9a\\xb3\\x7f\\x8d\\x5d\\xcf\\x5d\\xc6\\xb7\\x7b\\x58\\xb4\\x90\\x0f\\x9a\\x9b\\xdb\\x3c\\xf9\\xb6\\x7c\\x10\\xcc\\x32\\x63\\x65\\xab\\x28\\x62\\x6e\\xee\\x41\\x39\\x28\\xc7\\x57\\x2e\\xe7\\x80\\x2c\\x27\\xc9\\xa3\\xaa\\xe4\\xa7\\xf1\\x0b\\x79\\x84\\xed\\x3d\\x57\\xc2\\xde\\x2b\\x4b\\xa3\\xa5\\x64\\x26\\x79\\xa2\\x52\\xab\\x10\\x6a\\x9e\\xda\\x3c\\xcd\\x51\\x1b\\x37\\x67\\x69\\x06\\x85\\xda\\x6f\\x49\\x47\\xdb\\x34\\xb8\\x03\\x90\\x5d\\xff\\xcc\\xe1\\x87\\xa7\\x31\\xed\\x77\\x76\\x1f\\x3d\\x7e\\xd0\\x84\\xd1\\xa3\\x4a\\x4b\\xda\\x17\\x2f\\xbf\\x6d\\xf3\\x9a\\x9a\\x6f\\xbe\\x7c\\xe6\\x93\\x3b\\x7a\\x36\\xeb\\x7a\\xa7\\x5c\\x01\\xf3\\xb7\\x3f\\xd2\\xfa\\x60\\x28\\xa7\\x62\\xc0\\x0d\\x55\\x9d\\xda\\xde\\x33\\xa8\\xd3\\x84\\x16\\xad\\x86\\x14\\xf5\\x1b\\xb3\\xef\\x40\\x2d\\x62\\xd1\\xb5\\x2f\\xf6\\xaf\\x5c\\x3d\\xb1\\xac\\x63\\x76\\xb3\\xee\\xe5\\x1d\\xb7\\xd2\\xb3\\xa1\\xb9\\xc2\\x5c\\x0d\\x3e\\x9b\\x6e\\x44\\x77\\x00\\x37\\x54\\x03\\xc2\\x95\\x5a\\x49\\x84\\x2b\\x4d\\xab\\x69\\xdd\\xc6\\xca\\xa4\\x9d\\x7f\\xfd\\xf5\\xb3\\xfb\\x01\\xca\\x35\\xc8\\x03\\x85\\xad\\x22\\xc9\\xd5\\x0d\\xd7\\x32\\x2b\\xb0\\x2a\\xec\\x3d\\xcd\\xb4\\xc6\\x4b\\xb3\\x4a\\x30\\xf1\\xbe\\x56\\x53\\xd2\\x8a\\x3e\\x30\\xa6\\x3e\\xfc\\x23\\x89\\x67\\xf6\\xfc\\x01\\x40\\x76\\x54\\xa0\\xf0\\x5b\\xb5\\x87\\x59\\xed\\xa1\\xd8\\x1e\\x3f\\xfa\\x5e\\x4d\\xfb\\x9e\\xea\\xa3\\x63\\xb4\\x87\\x13\\xcf\\xce\\x4f\\xe0\\x36\\xe5\\x47\\x00\\x02\\x51\\x23\\x22\\x0f\\x23\\x26\\xab\\x0d\\x7e\\xee\\x8d\\x9a\\x36\\x45\\xda\\x2b\\x35\\x02\\x8d\\x3f\\xc7\\x9b\\x12\\xef\\xdc\\x85\\xdf\\x49\\x39\\x5b\\x84\\x3c\\x67\\x2b\\x69\\x95\\x11\\x4c\\xa1\\x68\\x04\\x1c\\x78\\xfd\\x19\\xb6\\x3f\\xf5\\x32\\x77\\x04\\xab\\xa2\\xbd\\xcd\\xd9\\xad\\x4b\\xf1\\xb6\\xb5\\x6e\\x6d\\xcb\\xf7\\x67\\x66\\x36\\xb5\\xf1\\x3a\\x5d\\x7b\\x4c\\x2d\\x9d\\x3a\\x97\\x78\\xb3\\xbc\\xe5\\x72\\x29\\x28\\x97\\x9d\\xad\\x07\\xca\\xa5\\xce\\x52\\xa7\\x35\\x27\\x3b\\xcb\\xea\\x9f\\xea\\x67\\x4c\\xc8\\xef\\xcf\\x12\\x51\\x73\\x6b\\xf3\\x72\\xd9\\x6c\\xb0\\xd2\\xdc\\x53\\xab\\x4a\\x3a\\x5a\\xb8\\x44\\x0b\\x73\\xa9\\x05\\xcc\\x84\\xc4\\xff\\x4b\\xdb\\xb6\\x48\\x3c\\x5f\\x0e\\x3a\\xb5\\xda\\x5b\\x62\\x56\\x37\\xc8\\xc4\\x26\\x6e\\x03\\x12\\x36\\xb2\\x49\\x4e\\x2e\\xe9\\x46\\x65\\x68\\xde\\x6a\\x4b\\xc8\\x1c\\xe2\\x6a\\xfa\\xc8\\xe2\\xea\\x6e\\xbf\\xcd\\x5d\\x95\\xdd\\x66\\xcb\\xb8\\x45\\x8b\\x60\\xef\\x43\\xd1\\x5e\\xbd\\x6f\\xd0\\x1d\\xb6\\xef\\x5a\\x77\\xa2\\xe7\\xd0\\xfd\\x0f\\x1e\\xa9\\xe5\\x4a\\x4b\\xa3\\x95\\x25\\xf3\\x06\\x0c\\x6c\\xc9\\xec\\x1d\\x34\\x06\\xc1\\x2a\\xc3\\x08\\xf8\\xbb\\xa4\\xac\\x1b\\xdb\\xab\\x45\\x1d\\xb8\\x7d\\xde\\xbc\\xdb\\x0f\\xee\\xa5\\x99\\xda\\x2b\\xa6\\x0e\\x1c\\x25\\x6d\\x5b\\xb7\\x66\\x8d\\xf2\\xb9\\xf2\\xbe\\xe7\\xf2\\xa0\\x09\\xf2\\xb6\\x11\\x24\\x59\\x7b\\x02\\xd3\\xef\\xd8\\xce\\x87\\xf7\\x90\\x3d\\x5f\\x8c\\x75\\xb5\\x76\\x6c\\x7f\\xbc\\xe7\\x3d\\x34\\x5d\\x6d\\xa0\\xaa\\xab\\x85\\x82\\x3e\\xe0\\x48\\xea\\x6a\\x6a\\xef\\x0f\\x42\\x43\\xbd\\x54\\xfa\\x7c\\x94\\xd2\\xa7\\x8f\\xd2\\xe7\\xc9\\x1a\\x7f\\xd0\\x62\\x4f\\xa3\\xcf\\xfa\\xeb\\x67\\x4f\\x55\\xe9\\x93\\x3c\\x30\\xd5\\x17\\x48\\xae\\x6e\\xb8\\x96\\x59\\xa1\\x53\\xd7\\xfa\\xf1\\x5a\\x5d\\xc8\\xd7\\xc8\\xda\\xf9\\x09\\xb8\\x53\\xf4\\x1a\\x8d\\xf8\\x08\\x8d\\xe8\\x83\\x99\\xea\\xea\\x84\\x7e\\xa6\\xe6\\x7c\\x12\\xd8\\x3f\\xab\\x78\\x3f\\x4d\\x68\\xd1\\x04\\x8d\\x52\\x1e\\xac\\x34\\xc1\\x72\\x13\\x26\\xc6\\x23\\x35\\x26\\x01\\x41\\x4a\\xc4\\x09\\x1a\\xae\\xff\\xdc\\xec\\xc9\\x14\\x27\\xfa\\xdc\\x10\\xa3\\x05\\xa5\\xea\\x74\\xf5\\xd6\\x32\\x2b\\x8c\\xf4\\xae\\x40\\x13\\x79\\x87\\x08\\xcb\\x45\\xd8\\x4a\\xc4\\xaf\\xf9\\xad\\x46\\x34\\x6a\\xaf\\xa9\\xff\\x9e\\xf9\\x89\\xf7\\x4c\\x69\\x0a\\x40\\x61\\x34\\xc8\\x90\\x17\\x31\\xf0\\x5e\\x01\\x2e\\x14\\xe0\\x34\\x01\\x56\\x0a\\xb0\\x5c\\x80\\x18\\x26\\x10\\xcc\\xbc\\x41\\x85\\x31\\x66\\x4c\\xe2\\xf2\\x30\\xe0\\x6e\\xbc\\x2f\\xfd\\xb9\\x7f\\x82\\x0c\\xac\\x73\\x2f\\x88\\xf6\\x66\\x75\\x66\\x2b\\x2b\\xf0\\x02\\x2f\\x79\\x18\\x9f\\x4f\\x0a\\x79\\x3c\\x52\\x7e\\x13\\x0b\\x9b\\xc9\\xb6\\x60\\x11\\x63\\xb6\\x99\\xb3\\xcd\\xc8\\xca\\x9a\\x75\\x56\\x96\\xe5\\x2c\\x20\\x50\\x2e\\x93\\xa2\\x0a\\x11\\x30\\xa4\\x1a\\x82\\x03\\x06\\xa7\\x33\\x87\\x24\\x27\\x09\\x16\\x8b\\x81\\x36\\x26\\x8b\\xa4\\x85\\x55\\x68\\xa5\\xa9\\xda\\xab\\x6e\\x4c\\x7a\\x6a\\x65\\x5c\\x3e\\x17\\xb9\\xf3\\xf2\\x39\\x2c\\x9e\\x49\\xe6\\x59\\xae\\x5b\\x07\\x24\\x27\\x4d\\x2a\\xac\\xd7\\xa2\\x8f\\x99\\xb0\\x6a\\xec\\xd0\\x15\\x4a\\x6d\\xdb\\xf7\\x6e\\x5b\\xf6\\x7a\\xf9\\x48\\xa8\\x6f\\xfb\\x26\\xec\\x73\\xfd\\xb7\\x2f\\xff\\xf8\\x83\\xf1\\xaf\\xdb\\xbd\\x67\\xc3\\xbd\\x1b\\xf6\\x6f\\x41\\x6f\\x76\\x38\\x3f\\x6f\\xc6\\xed\\x63\\x87\\xf7\\xcc\\xe9\\x3a\\xfd\\xd6\\xd1\\xca\\x9b\\x4a\\x88\\x57\\xae\\x2b\\x3f\\x43\\xe6\\xe7\\x5f\\x14\\x45\\x38\\x77\\xf4\\xd8\\xd9\\x67\\x4e\\x1e\\xc7\\xfb\\x48\\xf3\\x2c\\x29\\xbf\\x1a\\xa8\\xf2\\x2b\\xa3\\x7a\\x5e\\x5e\\x7c\\x06\\x86\\x70\\x2b\\xb3\\x3b\\xe5\\xbc\\x68\\x5e\\x24\\x3d\\xaf\\x41\\x2a\\x4d\\x3c\\x41\\x69\\xd9\\x43\\x69\\xf9\\xc9\\x1a\\xaf\\xbf\\x9e\\xac\\xad\\xbf\\x7e\\xf6\\x44\\x95\\x3e\\xc9\\x03\\x13\\x3d\\xbe\\x34\\xb9\\x5f\\x6f\\x2d\\x95\\xe3\\x64\\x2d\\xc6\\x83\\x01\\x01\\x4f\\x23\\x6b\\x8f\\x24\\xd6\\xee\\x01\\x49\\xb8\\x20\\xbb\\xb0\\x91\\xb5\\xf3\\x13\\x38\\x10\\x79\\x4f\\xe9\\xde\\x43\\xe8\\x1e\\xf8\\x33\\xd2\\xa4\\x3d\\x02\\x33\\xc1\\x47\\xec\\x70\\x76\\x16\\x8d\\xef\\x99\\xc0\\xd0\\x68\\xb1\\x89\\xd1\\x93\\x66\\x2c\\x1c\\xcf\\x59\\xcc\\x7a\\xc3\\x31\\x99\\xd5\\x0b\\xa3\\x20\\x87\\x09\\xea\\x98\\x6c\\x85\\x50\\xad\\x65\\x3f\\x0e\\x7f\\x80\\x75\\x90\\xc7\\xd4\\xcd\\x25\\xfa\\xc3\\x81\\x84\\xff\\xb9\\x9e\\xf5\\xa8\\x06\\x00\\x69\\xbf\\x36\\x12\\x04\\x94\\x0e\\xc7\\x9e\\x44\\xd7\\x62\\x4f\\x1c\\x46\\xcf\\x9c\\x3e\\xad\\x1c\\xd8\\xb8\\x51\\x59\\x70\\x9a\\xe6\\x7a\\x23\\x70\\x3b\\xc6\\x7d\\x0c\\xe6\\xd3\\x44\\x2f\\x24\\x9d\\x73\\x8a\\x1b\\xd5\\x0b\\x73\\x72\\x83\\xae\\x80\\x9b\\xf5\\x86\\x2c\\xa1\\x72\\x55\\x2f\\xb4\\x90\\xf2\\x35\\x11\\x61\\xce\\x1d\\x97\\xe6\\x6a\\x6a\\xa1\\xf4\\xff\\xa9\\x1d\\x16\\x27\\xb4\\x43\\x9d\\xaa\\x1d\\x96\\xe4\\x52\\xed\\x30\\x9b\\x67\\xc7\\x28\\xb5\\x7f\\x5c\\x5e\\xd0\\xaf\\xef\\x90\\x9b\\x20\\xfc\\xe3\\xed\\x79\\xbd\\xfa\\x97\\x8f\\x7b\\x3a\\xa4\\xa0\\x7e\\xf7\\x1e\\xde\\x11\\x5b\\x93\\x0d\\x63\\x7d\\xb6\\x1c\\xdc\\xc5\\x04\\x94\\x1f\\x95\\x0f\\x6f\\x19\\xde\\xad\\xa2\\xfa\\x3b\\x28\\xc2\\xac\\x09\\x83\\xba\\x8d\\x5c\\xf5\\xfb\\xa6\\x8a\\xd8\\xb9\\x8a\\xb7\\xff\\xb9\\x71\\x34\\x13\\x95\\xdf\\x55\\xe9\\x83\\xe6\\xf8\\xd1\\x33\\x1f\\xa1\\xd2\\xd3\\x01\\x42\\x4f\\x30\\x43\\x22\\x9a\\xe1\\xee\\x1a\\x5f\\xc0\\x93\\x6e\\x83\\xd4\\x5f\\x3f\\x7b\\xa4\\x4a\\xab\\xe4\\x81\\x21\\x19\\x99\\xc9\\xd5\\x0d\\xd7\\x52\\x7a\\xc2\\xb0\\x7d\\x14\\xf6\\x5f\\x35\\x59\\x19\\x8d\\xc2\\x9e\\x9f\\x80\\x4d\\xe8\\x84\\x58\\xb0\\x19\\x12\\xb5\\x60\\xff\\xaa\\x09\\xf8\\xd5\\x27\\x52\\xf4\\x42\\x9a\\x83\\x46\\xdf\\x31\\x5a\\xc5\\xe7\\x16\\x15\\x1f\\x27\\x7e\\xc9\\x2d\\x4e\\x8f\\x51\\x4a\\xbc\\x81\\x01\\x8f\\x93\\xbc\\x5e\\x9a\\x53\\x9e\\x05\\x3a\\x47\\x83\\x99\\x7c\\x46\\x86\\x0f\\xd8\\x7c\\xb6\\x50\\xb6\\x1f\\x5b\\x8b\\x2e\\x87\\x03\\xab\\x60\\x0e\\x97\\xd9\\x6a\\x45\\xe5\\xb2\\x55\\x4c\\x0b\\x1d\\xa4\\xd4\\x9e\\xa8\\xba\\x61\\x0a\\x2f\\x80\\x34\\xb1\\x57\\x4a\\xe6\\xfb\\x92\\x1c\\x7f\\xb4\\x32\\x9e\\xc8\\x1b\\xfb\\x92\\x26\\xf6\\x6a\\xa9\\xbe\\x35\\x2c\\x93\\xad\\xe5\\xf0\\x32\\xfd\\xd4\\x94\\x5e\\x2d\\xcf\\x57\\x37\\x8b\\xd4\\xfb\\x24\\xbf\\x69\\x7e\\xe2\\x9b\\xa6\\x70\\x40\\xd5\\x8e\\x9d\\x64\\x23\\x38\\xaf\\x5b\\xfd\\xaa\\x84\\x9c\\x50\\x7d\\x37\\x63\\x13\\xfe\\xa1\\xd5\\x80\\x81\\xa6\\xa4\\x7f\\xc8\\x5a\\xdf\\x9f\\xa4\\xea\\x38\\x83\\x13\\xba\\xca\\xea\\xab\\x29\\xfa\\xda\\x2f\\x35\\xad\\x35\\x5d\\xa5\\x9e\\x3f\\xe9\\x48\\x02\\xfe\\x8e\\xb8\\x9d\\xaa\\xc2\\x97\\xbc\\x8d\\xc2\\x4f\\xea\\x6c\\x3b\\xbe\\x4b\\xea\\x77\\xba\\x48\\x87\\x24\\x74\\x02\\x5b\\xa9\\x64\\x3f\\xe2\\xba\\x27\\x60\\xef\\x86\\x17\\xf1\\xf9\\x98\\x4e\\x31\\x36\\x52\\x89\\x9f\\x94\\xe1\\x0b\\x95\\xa1\\xa4\\x1e\\x4d\\x83\\x49\\xd6\\xdd\\x81\\xff\\x83\\xf0\\x38\\x60\\xea\\x9e\\xab\\x29\\x2d\\x65\\xa8\\xce\\x48\\xfc\\x37\\xa4\\x57\\x09\\xb5\\x13\\xf2\\x34\\x3b\\x61\\xa9\\x66\\x27\\x60\\x1b\\x16\\xce\\x76\\x67\\x98\\x75\\x0d\\xf8\\x63\\x3b\\x8a\\x6b\\x0f\\x95\\x7e\\x26\\xa9\\xf4\\x43\\x88\\x14\\xcb\\x7a\\x4d\\x8d\\x50\\x71\\x55\\x61\\x1f\\x89\\xc3\\xc6\\xf4\\xec\\xd0\\xec\\x75\\x0f\\x86\\xcd\\x67\\xba\\xff\\x1e\\x76\\x9c\\x9f\\x42\\x3f\\xe1\\xeb\\x21\\x5f\\x23\\xb0\\x27\\x25\\x60\\xef\\x04\\x01\\xb0\\x33\\x81\\xb7\\xe4\\xf6\\x36\\x0a\\xfb\\x72\\x02\\xf6\\x4e\\x47\\x12\\xef\\x80\\x2f\\xf3\\x6f\\xf1\\x5e\\x09\\x24\\x0d\\x6f\\x02\\x1b\\x79\\x83\\xff\\x03\\xef\\x95\\xb5\\x49\\xd8\\x5c\\x66\\x38\\x0d\\x36\\xed\\xaf\\x42\\x61\\xe7\\xab\\xb0\\xeb\\xae\\x61\\xd8\\x98\\x9a\\x6c\\xd4\\x27\\x71\\xa1\\xc6\\x91\\xc1\\x26\\x25\\x12\\x02\\xc1\\xba\\x2f\\xd8\\x2b\\xf8\\x0e\\x92\\xdc\\xfa\\xa6\\x60\\x78\\xd4\\xd5\\x34\\x27\\x27\\x2f\\x3f\\xbf\\xc0\\xc3\\x07\\x80\\xd5\\x2a\\xf2\\x62\\xb3\\x02\\x87\\x33\\xaf\\xe9\\x19\\x68\\x8e\\xda\\xe5\\xbc\\x3c\\x2b\\x30\\x60\\x8e\\x6a\\x31\\x88\\xc8\\xd7\\xa0\\x1c\\x4c\\x65\\xa9\\x69\\x99\\x68\\x91\\x7a\\xa5\\x61\\x6a\\x71\\x50\\xe3\\xb5\\x61\\xb0\\xd8\\x1e\\x71\\x22\\x66\\x5b\\xeb\\x65\\xe3\\x1e\\x3a\\xfd\\xd4\\x03\\xe3\\x97\\xc6\\x2b\\xc4\\x94\\xce\\x63\\xaa\\xa6\\xae\\x5a\\x36\\xfd\\xe6\\x4a\\xe6\\xd3\\x01\\x2f\\x3c\\x4c\\xca\\xc4\\xc2\\xd0\\x04\\x2d\\xb0\\x69\\x7a\\xa1\\xd8\\xbf\\x5e\\xfb\\xf1\\xd2\\xd3\\x1f\\xbe\\x06\\x37\\x86\\x60\\x4e\\xae\\xf2\\x71\\xd2\\x77\\x3f\\x11\\xd3\\x33\\x0f\\x36\\x82\\x78\\xad\\xdb\\x56\\xfc\\xbd\\x01\\xd0\\x0c\\x4c\\x88\\xe6\\xeb\\x5c\\xb9\\x28\\x23\\x03\\xf8\\x82\\x82\\xe0\\x2b\\x68\\x8e\\xad\\x51\\xf7\\x40\\x99\\x06\\xfe\\x18\\x3b\\xf2\\x78\\xc4\\x0c\\x20\\x36\\x29\\x97\\xed\\x22\\x29\\xdd\\x13\\x0c\\xe6\\x5e\\xa2\\xd5\\x94\\x5d\\x2e\\xeb\\x4c\\x2e\\xd6\\x19\\x2f\\x28\\x2a\\xa0\\xff\\x56\\x7b\\x39\\xd6\\x77\\x54\\xb9\\xd5\\xd4\\x6b\\xfa\\xa9\\xe1\\xb4\\xea\\xb8\\x62\\x52\\xd9\\x15\\x71\\x62\\x99\\x97\\xb2\\x03\\xac\\x9d\\x7c\\x2e\\x97\\x5a\\x22\\xa7\\xbc\\x05\\x9b\\xd7\\x2c\\xa9\\x3d\\x36\\x7b\\xc5\\xa6\\x35\\xcb\\xb6\\x2d\\x9f\\xcb\\x3e\\x52\\x1b\\xa1\\x9f\\x8b\\x37\\xc1\\x0a\\x45\\xa6\\x00\\x6f\\xc1\\x9e\\x25\\x7b\\xf6\\x2c\\x89\\x55\\xbc\\x7b\\xfe\\xd5\\xab\\x57\\x9e\\x7b\\x39\\xe1\\x7b\\x1c\\x9b\\xf0\\x55\\xae\\x06\\x36\\xcc\\x7f\\x12\\x7e\\xc4\\x5f\\x6b\\x2c\\xe9\\xbe\\x4a\\x55\\x0f\\x1e\\x9c\\xd0\\x99\\x57\\x33\\x49\\xfd\\x1a\\xfa\\xd3\\x75\\x66\\x15\\xf6\\x91\\x04\\x6c\\x95\\xf7\\x24\\x60\\x7f\\x56\\x63\\x75\\x37\\x02\\x3b\\xa9\\x8f\\xef\\x60\\x93\\xb0\\xd9\\x40\\x5e\\x23\\xb0\\x27\\x25\\x60\\xef\\xc4\\xb0\\x77\\x26\\x61\\x7f\\x5e\\x63\\x16\\x1a\\x81\\xfd\\x46\\x02\\xf6\\x4e\\x86\\x4f\\xc0\\x46\\xbe\\xcc\\x74\\xd8\\x98\\x5f\\x8d\\xa7\\x7c\\xad\\x89\\xc6\\xaf\\xfa\\xa8\\xfc\\x0a\\x62\\x7e\\xe5\\x74\\x1a\\x8d\\x1a\\xbf\\x5a\\x86\\xd7\\xf5\\xa0\\x7c\\x4d\\x85\\xb9\\xbb\\xb3\\xca\\xd5\\x94\\xef\\x6b\\x72\\x72\\x74\\x9a\\xc3\\xb9\\x91\\x7d\\x58\\x59\\x7f\\x1f\\x04\\xc7\\xdf\\xee\\xc3\\xca\\x3f\\x53\\x6c\\x9e\\xbf\\x6a\\x32\\xc3\\xf5\\x6c\\x1e\\xda\\xb3\\x87\\xc2\\x6f\\x96\\xf0\\xe1\\xa8\\x3c\\xc2\\x47\\x78\\x5b\\x56\\x06\\x97\\xee\\x9f\\xa6\\x75\\x7e\\x14\\x7e\\x6f\\x95\\xb7\\xfd\\xae\\xee\\x33\\x31\\xcc\\xf9\\x92\\x56\\x92\\xbf\\x1e\\xff\\x49\\x85\\xbd\\x03\\xf3\\x01\\x15\\x76\\x06\\x86\\x6d\\xc8\\xcc\\xfd\\x1f\\xb0\\x77\\xfc\\x9e\\x94\\x1f\\x7c\\xa4\\x43\\x23\\xb0\\x27\\x25\\x60\\xef\\xc4\\xda\\xd8\\xce\\x04\\x6c\\x29\\xc3\\xdf\\x28\\xec\\xcb\\x09\\xd8\\x3b\\x53\\x60\\xeb\\x5a\\x15\\xa5\\xc3\\x56\\x64\\xd2\\xc7\\x48\\x83\\xcd\\xeb\\x3f\\x57\\xad\\x4b\\x2e\\x23\\x53\\x03\\x1a\\x87\\xc7\\x83\\x38\\x3c\\xfd\\x97\\x75\\x2a\\xbc\\x22\\x0c\\xcf\\x12\\x49\\xdf\\x07\\xd5\\xdf\\x4b\\xf6\\xa1\\xa0\\xde\\x1e\\x6b\\xfe\\x70\\xd6\\x98\\xe6\\xc3\\xa2\\x75\\x86\\xfc\\x11\\x2c\\x65\\x02\\x98\\x53\\xb6\\xa4\\x95\\x86\\x81\\x4c\\x8f\\xc7\\xe7\\x76\\xb9\\x32\\x7c\\x26\\xa3\\xd1\\xe7\\x40\\xc1\\x2c\\xb5\\xe4\\x50\\x07\\x1c\\x46\\x67\\xc0\\x53\\x2d\\xbb\\x03\\x6b\\xe5\\x0c\\x37\\xe9\\x21\\xf4\\x6a\\x51\\x41\\x22\\xef\\x3e\\xad\\xdc\\x3a\\x11\\x42\\xf9\\x6f\\x05\\x89\\xd0\\x19\\xce\\x0f\\xeb\\xc2\\xc5\\x6d\\x23\\xe9\\xa5\\x89\\xcc\\x1f\\x55\\x57\\x99\\x2f\\x27\\x2b\\x07\\xb9\\xee\\xca\\x0b\\x6a\\x8d\\xe2\\x2d\\xcc\\x7c\\x5a\\xc0\\x75\\x89\\x7b\\xdc\\xb1\\x66\\x8d\\x83\\xb4\\x64\\x24\\x5d\\xd8\\xd8\\x97\\xb8\\xee\\x58\\x67\\xa6\\x5d\\x1e\\x1c\\xac\\xd9\\x8d\\xac\\x56\\x20\\x9a\\x75\\x26\\xd1\\xe4\\xf1\\xba\\x85\\x0a\\xd9\\x65\\xb4\\xd9\\x6d\\x95\\xb2\\x0e\\xd9\\xcb\\xdd\\x70\\x9f\\xfb\\x84\\x9b\\x71\\xdb\\xdd\\x76\\x28\\x9a\\x6c\\x5c\\xbc\\x7b\\x02\\xf1\\x57\\x24\\x7b\\xf3\\x37\\xd6\\x54\\xd5\\xae\\x25\\xf1\\x45\\x9c\\x34\\xa1\\x87\\x84\\xdf\\x8b\\x89\\x4e\\x7f\\x80\\x74\\x5f\\xda\\xb7\\xef\\x6c\\xec\\xb7\\xb3\\xfb\\x50\\x55\\xec\\x37\\x76\\xd1\\xf3\\xf8\\xaf\\xcd\\xb5\\x76\\xd2\\x91\\x09\\x7d\\xb7\\x59\\xa9\\xfe\\xf0\\x43\\xe2\\x9f\\x2b\\xd6\\xea\\x38\\xfd\\x60\\x74\\xb4\\xa9\\x9e\\x71\\xbb\\x3d\\x56\\x41\\xc0\\x3a\\xa6\\x27\\x33\\xe0\\x11\\x9c\\x5c\\x86\\x2f\\x63\\xa0\\x8c\\x2d\\x50\\x60\\x32\\xd9\\xb1\\xf0\\x31\\xc1\\x8f\\x4d\\x3f\\x9a\\x18\\x93\\xd6\\xf8\\xda\\x64\\x25\\x09\\x98\\x65\\x05\\xb4\\x19\\x14\\x89\\x1c\\xc4\\xfd\\x2d\\xc9\\x66\\x66\\x89\\x2d\\xa6\\x99\\xa9\\x0d\\xb7\\x99\\x44\\x13\\x1e\\x7f\\x8c\\x34\\x89\\x4c\\xdd\\xe4\\xa5\\x4b\\xb9\\xcb\\x7b\\x96\\x2c\\x55\\xb7\\xb7\\x1f\\xb3\\x83\\x6e\\xef\\xc3\\x2c\\x71\\xe6\\x26\\x62\\x24\\x7b\\x13\\x31\\x95\\x3d\\xf8\\x3b\\x7e\\x4d\\xc4\\x60\\xa0\\x2b\\x5c\\x2f\\xa6\\xa2\\xda\\xe8\\x47\\x12\\xf6\\xfd\\x1e\\x55\\x07\\x37\\x52\\x1d\\xfc\\xdb\\x1a\\x47\\x08\\x35\\x16\\x83\\x19\\x9b\\x80\\x9f\\xd0\\x25\\x55\\xf8\\x96\\xfa\\x31\\x1b\\x15\\xfe\\xe0\\x04\\xfc\\xd5\\xfa\\x14\\xf8\\x3f\\xd7\\x98\\x8c\\x8d\\xc2\\x4f\\xc6\\x84\\x76\\x24\\x7c\\xc5\\x04\\x3e\\xc0\\xdc\\xbc\\x31\\xf8\\x49\\xff\\xc4\\x0e\\x47\\xd2\\x97\\x01\\x2c\\xce\\x34\\x5f\\xc6\\x4b\\x98\\x97\\x42\\xca\\x73\\x9b\\xab\\xbc\\xd4\\x82\\x79\\xe9\\x69\\x6c\\x20\\x4a\\x71\\xac\\x35\\xbf\\x05\\x5e\\x37\\x91\\xf2\\x80\\xbe\\xea\\xba\\x76\\x64\\x1d\\xc3\\xe4\\xd9\\x05\\x94\\xba\\x4e\\xc5\\x75\\x52\\x02\\x57\\x55\\x3e\\x24\\xf6\\xc2\\x2c\\xa4\\xe2\\x8a\\xcf\\x81\\xe2\\x4a\\x6b\\x50\\x12\\xf5\\xa3\\x26\\xe3\\x7f\\x29\\xcc\\x6d\\xbc\\x7e\\x34\\xa5\\x1a\\x57\\xad\\xc5\\xa5\\x7c\\x60\\x3c\\xe6\\x71\\xcb\\xf0\\x7d\\x22\\x25\\x3c\\x1d\\xa2\\x01\\x06\\xd9\\x6d\\x3a\\xb3\\xd9\\x86\\x90\\xcb\\x6d\\xb7\\x5b\\xad\\xa4\\x9d\\x9b\\xdd\\x48\\xda\\xc6\\x19\\x11\\xb2\\x25\\xf4\\x84\\x78\\x13\\xc3\\x64\\xd7\\x38\\x7c\\xd7\\xc3\\xb9\\x5a\\x1d\\xae\\x94\\xc8\\xf2\\x1d\\x7f\\xf6\\x2c\\xb3\\x77\\x72\\x85\\xf2\\x1f\\xf8\\xca\\x4b\\x4f\\x1d\\x7e\\x3c\\xf7\\x09\\xc7\\xcd\\xa4\\x7d\\xe1\\x8a\\xf5\\xab\\x91\\x61\\x77\\x6d\\xc5\\x9b\\x9f\\x1f\\x7d\\x21\\xb8\\x68\\x16\\xc9\\xf1\\xfb\\xa7\\x56\\x03\\x43\\xec\\x72\\x17\\xc8\\x00\\xbd\\xa2\\x4d\\x30\\xe3\\x61\\x18\\xe4\\xce\\xc8\\x70\\x19\\x45\\xfc\\x76\\x9f\\xdf\\x82\\xaf\\x8a\\xc5\\xe7\\xe1\\xdc\\xad\\xd8\\x4a\\x96\\x59\\xc8\\x42\\x16\\xc5\\xcb\\xc4\\xf0\\x6d\\xd6\\xdc\\x31\\xa9\\x13\\x02\\xe2\\x88\\x91\\x89\\x23\\x5c\\x44\\x4a\\xad\\x17\\x26\\x7f\\xf4\\xdd\\x3f\\x6a\\x1c\\x17\\xe1\\xeb\\x35\\x89\\x8a\\x61\\xc7\\x45\\xb6\\xfd\\xf5\\x0b\\x9c\\xf9\\xdc\\xb9\\x37\\xae\\x3f\\x14\\xaf\\x1b\\xe6\\x72\\x69\\xcd\\x32\\x3e\\xb3\\x13\\x78\\xaf\\x9a\\x52\\x1e\\xdb\\x42\\xe3\\xb1\\x73\\xb4\\xfb\\x41\\x62\\x17\\x3b\\xdc\\x52\\x3d\\xff\\xc8\\x2c\\xfc\\x4d\\x1e\\x42\\x5f\\xfa\\xaf\\x48\\x85\\x06\\xb3\\xe2\\x66\\x2d\\xfe\\x8a\\x79\\xff\\xcb\\x94\\x96\\x5a\\x26\\x78\\x3f\\x95\\xde\\xc7\\x6b\\xcc\\x56\\xd6\\x94\\x90\\xcb\\xdf\\xe2\\x75\\x2a\\x2d\\xf5\\x4f\\x5f\\xf7\\x74\\xca\\xba\\x78\\x3d\\xb3\\x56\\xa7\\x95\\xac\\x67\\xc6\\xac\\xc5\\xc0\\xa2\\x44\\x41\\x33\\x67\\xd5\\xea\\x99\\x23\\x89\\x7a\\xe6\\x64\\x0e\\xff\\xff\\x2a\\x67\\xfe\\x7e\\xbc\\x32\\x93\\x6d\\x1f\\xfb\\x82\\xc9\\xa0\\xe5\\xcc\\x18\\x37\\xda\\x13\\x8d\\xee\\x45\\xa1\\x6a\\x0b\\xd5\\xed\\x55\\x75\\x06\\x9e\\xea\\x0c\\x93\\x6b\\x78\\x03\\x60\\x53\\xec\\x63\\x5a\\xff\\x8c\\xe5\\x8d\\x01\\x9f\\x57\\xcf\\x68\\x8e\\xd9\\x62\\xb1\\x1a\\x8d\\x9c\\x4a\\xc8\\x92\\x68\\x35\\xaf\\x95\\xad\\xfa\\x28\\xa5\\x67\\xd4\\xb0\\xd0\\x3c\\xc3\\x23\\xbe\\x5a\\x90\\xd6\\xac\\x2e\\x52\\xbf\\xdc\\x9c\\xa4\\x81\\xa5\\x96\\x48\\xbf\\x42\\x32\\xc2\\x48\\x9d\\x74\\xd3\\xea\\x4a\\xc7\\x8f\\x99\\xff\\xa6\\x38\\xe3\\xfd\\xec\\x4b\\xf7\\xbd\\x50\\xdd\\x4f\\xa3\\xb6\\x9f\\x6f\\x26\\xb1\\x25\\xeb\\x96\\xe3\\x75\\xa3\\xe9\\xbe\\x0f\\x48\\xdf\\xf7\\x5f\\x6a\\x12\\x1e\\xce\\xc4\\x1e\\x24\\xe0\\xe9\\xf4\\x9f\\xc3\\xe6\\xdc\\x21\\x60\\x8b\\x1a\\xa1\\x1e\\xc1\\x5f\\x12\\x20\\xcb\\x88\\x2e\\x36\\x94\\xd6\\x98\\x5c\\x16\\x31\\xcc\\x2b\\x64\\xed\\xbf\\xe1\\x41\\x0c\\xd5\\xf1\\x0f\\x88\\xd9\\xc7\\x19\\x78\\x29\\x09\\xb8\\xac\\x51\\xd8\\x98\\x3f\\xec\\x8e\\x0d\\x21\\x1a\\xc2\\x24\\x5e\\x1f\\x47\\x95\\xe2\\x8a\\xd7\\xdd\\x92\\xc0\\x15\\xaf\\x83\\xfb\\xf0\\x3a\\xe9\\x51\\x88\\xa1\\x6e\\xad\\x31\\x9a\\x93\\x4c\\x07\\xd2\\x99\\x38\\x7d\\x69\\xdc\\xaa\\x17\\xb6\\x16\\x4c\\x26\\x96\\xb4\\xa7\\xb7\\x1a\\x10\\x34\\xb2\\x3a\\x96\\xb1\\xea\\x49\\x1e\\x05\\xb2\\x22\\x3d\\xa3\\x67\\x00\\x87\\x68\\xbb\\x40\\x2d\\x80\\x4d\\x05\\x26\\x36\\x0a\\xc8\\x90\\x9a\\x48\\x6a\\x15\\x68\\x44\\xd2\\xe5\\xb7\\xc5\\x07\\x92\\xeb\\xe6\\x48\\xe3\\xbb\\x59\\x5d\\x4f\\x9f\\x85\\x39\\x9d\\x94\\xfb\\x98\\x7d\\xf0\\xa5\\x4e\\x73\\x2b\\x99\\x8f\\x62\\x4b\\xb7\\xcd\\x7d\\x5c\\xb9\\x9d\\xf6\\x99\\x8a\\xd7\\xc0\\x4b\\x60\\x40\\xb4\\x19\\x07\\x58\\xbd\\x85\\x45\\x06\\x83\\xcd\\x6e\\x44\\x16\\xc0\\x9a\\x68\\x7d\\x0d\\xb6\\x85\\x4c\\xa2\\x4e\\xc4\\x6a\\x87\\x08\\x48\\xe7\\x42\\x6c\\xa0\\xa4\\xf2\\xb5\\x84\\xaf\\x55\\xeb\\x7f\\xa4\\xa6\\x31\\x63\\xc3\\xa4\\x2d\\x7d\\x3f\\xa1\\x06\\x5d\\x7e\\xae\\x5a\\x2e\\xff\\x49\\x67\\xe5\\x13\\x95\\x1e\\xde\\x8b\\xc2\\x0c\\xe5\\x28\\xa3\\x43\\x33\\x17\\xdd\\x71\\x30\\x76\\xac\\xba\\x1a\\x7e\\x37\\x7f\\xda\\x7d\\x4c\\x61\\x75\\x9a\\xde\\xd4\\x5a\\xb3\\xe9\\xe7\\xa5\\xc4\\xc9\\xe7\\x09\\x52\\xbd\\x38\\xb9\\xea\\x4f\\xad\\xd1\\xfc\\xa9\\x64\\xfd\\x2a\\x90\\xf4\\xa8\\xae\\xf2\\xfa\\x93\\x1e\\xd5\\xc4\\x5d\\x6f\\x46\\xcf\\xb1\\xb5\\x4a\\x4b\\x9f\\x68\\xb4\\xf4\\x71\\x4d\\x02\\x36\\x85\\x8b\\xd7\\x79\\xa9\\xae\\x3e\\x50\\x5d\\xf7\\xb9\\xb6\\xee\\xb3\\x9a\\x04\\x4c\\xd0\\x10\\x5f\\xac\\xab\\xf3\\x29\\xf8\\xf2\\xa2\\xeb\\x6f\\xf1\\xe5\\xa9\\x6e\\x1f\\xc7\\x16\\xf8\\x42\\x69\\xfe\\x5f\\x0e\\xaf\\x5d\\xcc\\xf5\\xc0\\x34\\x3a\\xb0\\x8a\\xd2\\xb3\\xd2\\x8c\\x3b\\x0c\\x3c\\xa7\\xa0\\x0f\\x41\\xac\\x5c\\x9c\\x89\\x9d\\x8b\\xe3\\xa2\\xe5\\x71\\x91\\x3a\\x7e\\xcc\\x13\\x87\\x72\\x23\\xb1\\xc5\\x7d\\x43\\x34\\x5b\\xc7\\xf3\\x96\\x80\\xd3\\x89\\x45\\xa3\\xcb\\x95\\x93\\x1b\\x08\\x85\\xa4\\x4a\\x39\\xc4\\x7a\\x91\\xcb\\x56\\xbf\\x2b\\x64\\xb2\\xae\\x57\\x2b\\xb2\\x49\\x74\\xaf\\x4b\\xa9\\x0f\\x69\\x58\\xe8\\x1f\\xca\\x92\\xd8\\xa1\\x07\\x1e\\x1d\\xbd\\xa4\\xf3\\x92\\x82\\x1e\\x2d\\x07\\xf4\\x9e\\x79\\xd7\\xba\\x53\\xf1\\x8a\\xff\\x29\\xd0\\x03\\x6f\\x61\\x02\\xca\\x9b\\xca\\xf5\\x32\\x79\\x42\\xc7\\xfc\\xa7\\x3e\\x81\\xfb\\x57\\x2d\\x39\\xbd\\xa3\\x76\\x11\\x5b\\xa1\\xd5\\xff\\x2b\\x4b\\x54\\x9c\\x31\\x5f\\x26\\xbd\\x07\\x48\\x27\\x9e\\x40\\xc0\\x61\\x21\\xe3\\x8e\\x1c\\x5e\\x94\\x1d\\x76\\xfb\\xca\\x65\\xb7\\xcf\\x22\\x8a\\xa4\\x54\\x4d\\xd4\\x5b\\xb9\\x44\\x05\\x79\\xb2\\xd3\\x5e\\xbc\\xa2\\xb2\\x61\\x03\\x02\\x22\\x5e\\xf2\\x8b\\xdd\\x2a\\xe2\\xcc\\xca\\xf4\\x5e\\x04\\x73\\xe6\\xf6\\x2b\\xea\\xdc\\xbd\\x5d\\x15\\x3a\\x5f\\xaf\\x23\\x41\\xed\\x91\\x6d\\x6b\\x0d\\x6b\\xf8\\x5e\\x93\\x51\\xf6\\xca\\xa5\\xa9\\xb9\\x0c\\x63\\x13\\xb9\\x0f\\x49\\x9f\\x1b\\xcd\\x7d\\x70\\xd7\\xcf\\x95\\x50\\x7d\\xe0\\x83\\x13\\xfe\\xf2\\xb8\\xcd\\x4b\\xfc\\xe5\\xd0\\xeb\\x69\\x24\\x6f\\xe3\\x48\\x02\\x76\\xd2\\xdf\\x46\\x61\\x7b\\x43\\x7f\\xef\\xe3\\xa7\\xeb\\x13\\xbe\\x78\\x5f\\xf8\\xef\\x72\\x42\\x98\\xbd\\xb0\\x05\\xd6\\xbf\\x92\\x39\\x18\\x15\\x7e\\x6f\\x83\\xd8\\x3b\\x81\\x3f\\x38\\x01\\x9f\\x3c\\x13\\x4d\\xf3\\xe0\\x4f\\x0f\\xf8\\xea\\xe5\\x6d\\x30\\xc0\\x51\\x77\\x9d\\x7d\\x81\\xeb\\x83\\x6d\\x97\\x20\\x98\\x1b\\xed\\x2d\\x9a\\xdd\\x99\\x9c\\x60\\xb3\\xb9\\xcd\\x76\\xbb\\x9b\\x43\\x59\\x21\\x41\\xc2\\x5a\\x8b\\x30\\x40\\xa8\\x10\\x50\\x99\\x40\\x12\\xa1\\xd7\\x0b\\xf7\\x09\\xc7\\x85\\x8f\\x04\\x9d\\x55\\x38\\x2b\\x30\\x66\\x52\\x6c\\xed\\x70\\xda\\x1d\\xf6\\x0a\\x99\\x61\\x1c\\xb6\\x0c\\xb3\\xc9\\x5c\\x21\\xeb\\xf5\\x26\\x94\\x5a\\xc0\\xa7\\xa5\\x88\\xa9\\x59\\x3b\\xd3\\xd3\\x5b\\xec\\xd0\\x00\\x79\\x88\\x8f\\x4f\\x2c\\x71\\x27\\x93\\xc3\\x72\\x8b\\xda\\x4a\\x79\\xea\\x9f\\x33\\xe3\\x4a\\x9b\\xd6\\x7d\\xfb\\x1d\\x04\\xed\\x23\\x4c\\x4b\\x65\\x3a\\xe9\\xe5\\x05\\x4f\\xc7\\x3a\\xf4\\xf2\\xe7\\x75\\xba\\x7f\\xcb\\x4e\\x0e\\x0e\\x82\\xa3\\xe1\\x58\\xd8\\x8d\\xdf\\xae\\xf4\\xda\\xaa\\x94\\x6e\\x5f\\xcb\\xb3\\x21\\xbe\\x0e\\x28\\x3f\\x2a\\xdf\\x91\\xc4\\x4c\\xe2\\xcf\\xf2\\xe3\\xbd\\xa9\\xa1\\xfd\\x98\\x72\\xb1\\x96\\x38\\x35\\xda\\xc1\\xe4\\xf4\\x35\\x05\\xc0\\xe7\\xf3\\x86\\x48\\x9f\\xe4\\x66\\x5e\\xd1\\xdb\\xa2\\x65\\x53\\x4c\\xab\\x4d\\x9b\\x5a\\xec\\x79\\x01\\x7b\\x00\\x53\\xaf\\xd3\\x2e\\xa2\\xb0\\x25\\x5c\\x2e\\x9b\\x0c\\x96\\x64\\xd3\\x20\\x8b\\xd6\\x34\\x28\\x19\\xb9\\x8d\\x24\\xbe\\xaf\\x5e\\x1f\\xdc\\x84\\x3a\\x10\\x2f\\x00\\x22\\x2d\\xa7\\xf8\\xb8\\xc7\\xcb\\x8d\\xcd\\x0c\\xc9\\x99\\xab\\x5e\\x4c\\xd2\\x9a\\x3b\\x1e\\x9e\\xbd\\x38\\x7c\\x60\\x97\\xfe\\xc2\\xea\\xb2\\x2f\\x4e\\x0d\\x1c\\x7c\\x7a\\xcf\\xe1\\x87\\x0e\\x3c\\x39\\x60\\xe8\\x31\\x58\\x16\\xbb\\x65\\xc0\\xa8\\x51\\x43\\x1f\\x1a\\x3b\\x08\\xf6\\xed\\x35\\x0c\\xc1\\x6e\\xfa\\x72\\xf8\\xfb\\xd3\\x2f\\xd2\\x78\\xec\\xe9\\xd3\\x30\\x04\\x25\\xd2\\x21\\xe3\\xd1\\x47\\x63\\xcf\\x7a\\xf2\\xaf\\xbe\\xf6\\xda\\x55\\x65\\xf0\\xeb\\xcc\\x8a\\xa3\\xbb\\x1e\\xde\\x93\\xe0\\x75\\x3b\\x28\\xad\\x16\\x6b\\xbc\\xb6\\x57\\x0a\\xad\\x8a\\x2e\\x2f\\x6b\\x49\\xa3\\x55\\xda\\x0f\\x82\\xd2\\xd2\\x50\\xd5\\xdf\\x2a\\xab\\xbc\\xce\\x85\\x79\\x5d\\x07\\x97\\xd7\\x04\\xd2\\x7c\\x28\\x32\\xe9\\x5f\\xa9\\xc1\\xc6\\xfc\\x36\\xa6\\x79\\x7c\\x5f\\xa8\\x49\\xc0\\x25\\xeb\\x5e\\xc6\\xeb\\x9c\\x94\\x2f\\x0f\\x55\\x65\\xbc\\xf2\\xa3\\xa6\\x0d\\x28\\x6f\\xd4\\xc4\\x61\\x36\\xc4\\x95\\x59\\x59\\xf7\\x9d\\xea\\xab\\x54\\xf3\\xa7\\x4e\\xd5\\x78\\x02\\x49\\x6c\\x1b\\xe2\\xca\\xac\\x74\\x50\\xdb\\xc6\\x45\\x6d\\x9b\\xdf\\xf1\\x6a\\x53\\xfa\\x3d\\xa4\\xfd\\x2b\\x29\\xfc\\x12\\x6d\\x2f\\xe2\\xba\\x67\\x0b\\xcc\\xf7\\x17\\xb7\\x68\\xc5\\xa5\\xaf\\xa7\\x7d\\x2a\\x28\\xfc\\x61\\xea\\x5e\\x0c\\x53\\xf7\\x22\\x1f\\xbf\\x60\\x58\\x7e\\xb3\\xb4\\x7b\\x5b\\x0f\\x36\\xd6\\x6b\\x59\\x0d\\x76\\x4b\\x0c\\x5b\\x88\\xb4\\xf8\\x7b\\xd8\\xcc\\x0a\\xab\\x0a\\xbb\\x09\\x86\\x6d\\x6d\\x91\\x9f\\x0e\\x5b\\xe9\\x46\\xfa\\x6e\\x26\\xf0\\x9e\\x07\\xfb\\xaa\\x9e\\x8e\\xcc\\xd6\\x71\\xb0\\x2a\\x4c\\xbc\\x2e\\x87\\xed\\xa3\\xc1\\x24\\xeb\\x86\\x69\\xeb\\x0a\\xe2\\x00\\x53\\xf6\\xe1\\x70\\x02\\xd7\\x95\\x09\\x1b\\x8f\\xec\\x83\\xb1\\xb0\\xf8\\x7f\\xe0\\xba\\x92\\x4b\\xee\\x03\\xd7\\x34\\x3d\\x96\\xd8\\x17\\x9f\\xf5\\x42\\x4a\\x13\\x6d\\x55\\x9a\\xb8\\xa6\\xc9\\xe0\\x4f\\x6b\\xf4\\x26\\x96\\x4f\\xd0\\xc4\\x33\\x8a\\x4c\\x7a\\x67\\xe0\\x75\\xc3\\xd5\\x75\\x1c\\xc5\\x54\\x70\\x79\\x81\\x10\\xf7\\xdd\\xd0\\xfe\\x9c\\x74\\x4f\\xdb\\xa6\\xf8\\xd4\\xc8\\x9b\\xf5\\xc4\\x16\\x35\\x8a\\x1a\\xbc\\x38\\x9e\\x13\\xeb\\x7e\\xc4\\x3c\\x8d\\xe8\\x87\\xc3\\x0f\\xa9\\xfa\\xe1\\x3b\\xf8\\x3f\\x50\\x3d\\x8e\\x69\\x57\\x93\\x80\\x5c\\x9c\\xda\\xfb\\xd3\\x0a\\x7a\\x44\\xc3\\x06\\x8b\\x85\\x67\\x04\\x01\\x72\\x9c\\x91\\xe7\\x45\\x09\\x98\\x2d\\x98\\x99\\x61\\xf5\\x9f\\xb4\\x51\\x34\\x18\\x38\\x8b\\xda\\x6f\\xbb\\xfe\\x64\\x3d\\x2d\\x36\\xa8\\x35\\xfd\\x81\\x92\\xea\\xe6\\xa0\\x19\\x88\\xb4\\x47\\xe8\\x8f\\x3f\\x3e\\xf3\\xe3\\x8f\\x6a\\x9f\\x50\\x65\\xc4\\x96\\xd8\\x66\\xe6\\xd6\\x2d\\xf0\\xf0\\x6e\\xad\\x1f\\xf3\\x45\\x8c\\x2b\\xe2\\x86\\x80\\x4c\\x30\\x28\\xda\\x3c\\xd3\\x8b\\x6d\\x45\\x9b\\xa0\\xf7\\x41\\xc1\\x21\\xf2\\x81\\xa0\\xdf\\xe1\\x74\\x94\\xcb\\x8c\\x28\\x89\\xe5\\x72\\xa6\\x24\\xf1\\x5e\\xa7\\xdb\\xed\\xb4\\x9a\\x78\\xcc\\x91\\x5c\\xf1\\x1e\\xdc\\x52\\xa4\\x1e\\x3e\\xd4\\x66\\xd3\\x54\\x39\\xe2\\xce\\x48\\x74\\x14\\xa1\\xa5\\xd1\\x04\\x2f\\xad\\xd7\\x08\\x7a\\x2b\\xd9\\x5b\\xe4\\xf0\\xe1\\xc3\\x5a\\xb7\\x11\\x66\\xc5\\xd2\\x6b\\x5a\\x7f\\x91\\xdf\\x96\\xc2\\x5c\\xb5\\xe5\\x88\\x72\\x35\\x99\\x0f\\xb6\\x37\\x91\\x3f\\x96\\xf4\\x69\\x10\\x9b\\x0d\\xfa\\x9b\\xd6\\x93\\x77\\x6a\\x9c\\xf0\\x48\\x22\\xae\\xb8\\x07\\xa6\\xc4\\x2c\\xaf\\xd7\\xe4\\xb4\\xae\\x17\\x57\\x54\\xe1\\x8f\\x4d\\xc0\\x4f\\xfa\\x34\\x28\\x7c\\x7b\\xfd\\xfc\\x34\\x15\\xfe\\xe0\\x04\\x7c\\x22\\xab\\x53\\xe0\\xfb\\xea\\xc7\\x2d\\x55\\xf8\\x47\\x12\\xf0\\x13\\xf2\\x9a\\xc2\\x07\\xce\\xcc\\x46\\xe1\\x27\\xe3\\xa2\\x3b\\x40\\x0a\\xfc\\xbf\\x6a\\x32\\x73\\xff\\x07\\x7c\\x92\\x5d\\xb6\\x17\\xb4\\x3c\\xc9\\x40\\x27\\x09\\x14\\x78\\x1c\\x9e\\x5e\\xf7\\x3a\\xe1\\x34\\x27\\x14\\x9d\\xf8\\x6d\\xd0\\xc9\\x24\\x73\\xee\\x8a\\x81\\x44\\x72\\x2d\\xf0\\x2f\\xf1\\xf7\\xd2\\x1c\\x25\\xf5\\xbd\\xbb\\xb4\\xf8\\x6a\\x66\\x3c\\xbe\\x1a\\x8f\\xc8\\xa6\\xc8\\x7e\\xf2\\xee\\x3e\\x29\\xef\\xde\\x0b\\xdb\\xe1\\x6f\\x4b\\xe6\\xea\\x4d\\xf1\\x38\\x1b\\xe8\\x0b\\xe4\\x3d\\x03\\x13\\xdf\\x47\\x9e\\xe9\\x0c\\xb4\\x08\\x26\\x0d\\xe5\\x4e\\xc9\\xca\\x6c\\xf8\\x1e\\x65\\x28\\xe9\\x6f\\xab\\xbd\\x87\\x67\\x76\\x77\\xa0\\xf7\\xb5\\x93\\x3b\\x7e\\x38\\x04\\x2e\\x5e\\xd3\\x8e\\x6d\\x9f\\x80\\xbb\\x1b\\x86\\x54\\xfe\\x03\\xb2\\xb3\\x2d\\x96\\x24\\xff\\x49\\xc6\\x2b\\xdb\\xab\\xbc\\xb2\\xae\\x56\\xb5\\x7b\\xbd\\xd4\\xee\\xad\\xad\\x09\\x78\\x0c\\xa9\\x3a\\x35\\xed\\xfd\\x42\\xf1\\x1d\\xa9\\xf2\\xca\\xda\\x94\\x38\\x75\\x2d\\xde\\x15\\x9d\\x37\\xed\\x3c\\xd4\\x5c\\xc4\\x23\\xf1\\x5c\\xc4\\x24\\x7c\\xa3\\x06\\xdf\\x6a\\x48\\x66\\x23\\x36\\x8c\\x51\\xc7\\xe1\\xab\\x72\\x24\\x56\\xe3\\x73\\xa6\\x44\\xa9\\x93\\xf0\\xc7\\x24\\x72\\x1d\\xa7\\xe0\\xfb\\xa0\\xe5\\x47\\x1a\\x68\\x7e\\xa4\\xc5\\xa4\\xc2\\x4f\\xd9\\x3f\\xda\\xb3\\x95\\xe2\\xd4\\x49\\x93\\x3d\\x93\\x34\\x1a\\x24\\x48\\x4d\\x32\\x5a\\x60\\x3a\\x0d\\xd2\\x7e\\x29\\x14\\xa7\\x31\\xaa\\xec\\x19\\x9a\\xf4\\xab\\x8d\\x32\\x5a\\x40\\x2a\\xfe\\x2a\\xec\\x49\\x71\\xd8\\xd8\\xce\\xb5\\x68\\x7e\\x30\\x02\\x5b\\x30\\x9a\\x1b\\x85\\x7d\\x39\\x0e\\x9b\\xd9\\x19\\x4b\\xc2\\x66\\x8d\\xe6\\x46\\x60\\x1f\\x4e\\xc0\\x5e\\x09\\x8c\\x9a\\xac\\x20\\xb0\\x8d\\x66\\xdb\\xdf\\xe3\\xcd\\xac\\x84\\x49\\xd8\\x3a\\xb3\\x2d\\x09\\x1b\\x40\\x78\\xaf\\xd6\\x0f\\x51\\x04\\x99\\x51\\x01\\xff\\x7f\\xbd\\x64\\xe3\\xcc\\xa4\\x35\\x29\\xad\\x2a\\x2b\\x48\\x14\\xb8\\x86\\xb4\\x3c\\xc9\\x78\\xd3\\x43\\xd2\\xf1\\x30\\xa5\\xdb\\x21\\x3b\\x38\\xd9\\xe5\\x90\\xea\\xb6\\xed\\xb5\\x3e\\xa1\\x99\\xa0\\x29\\x98\\x14\\x6d\\x99\\xe3\\xd0\\x21\\xe4\\x67\\x02\\x56\\xc6\\xda\\xac\\xc0\\xeb\\xb4\\xe5\\x97\\xcb\\x0e\\x9b\\x4b\\x97\\x09\\x32\\x07\\xca\\xac\\x15\\xeb\\xbf\\x8c\\x1d\\x61\\x2b\\x9e\\x21\\xb9\\x21\\x46\\x8b\\xe6\\x3e\\xb6\\x88\\x0c\\x75\\x1f\\x47\\xea\\x75\\xa0\\x68\\xac\\xf3\\x21\\xf5\\x90\\x15\\xa7\\x7a\\x91\\xa5\\xb4\\x26\\xa3\\xe1\\xd4\\x6c\\x84\\xf6\\x0b\\x6a\\x60\\x6b\\xe5\\x8a\\xda\\x58\\x34\\xd1\\x68\\x74\\x01\\xea\\x3f\\x6f\\xe9\\x96\\x95\\xcb\\xb6\\xae\\x98\\xcb\\x95\\x6e\\xda\\xb4\\x64\\x03\\xe9\\x2c\\xfa\\x46\\xb2\\xd9\\x28\\x7a\\x37\\x36\\xe9\\xc3\\x97\\xdf\\xff\\xe0\\x8d\\x4b\\xb4\\xef\\x12\\xaa\\xfb\\x40\\x93\\x5f\\x1e\\x6c\\x81\\x35\\x05\\xa3\\xa3\\x2d\\x5d\\xf6\\x80\\x9d\\x05\\xf9\\x01\\xbd\\xc5\\x12\\x60\\xbd\\x58\\xfb\\x68\\x56\\xe0\\xca\\xcf\\xcc\\xcf\\xac\\x90\\xf3\\x4d\\xf9\\x26\\x56\\xcc\\xe3\\x44\\xae\\x52\\x16\\x11\\x1b\\x48\\xcd\\xa9\\x4f\\x94\\x70\\xa4\\x4f\\x2e\\x89\\x6b\\xe8\\x52\\x72\\x76\\x09\\x9d\\xfe\\xa9\\x53\\x8b\\xe7\\xb4\\x31\\x26\\x89\\x94\\x5b\\xad\\x46\\x37\\x4b\\x1d\\x63\\xb2\\xb6\\x5f\\x57\\xdb\\x2e\\x69\\x57\\x35\\x6c\\x07\\x7f\\x5c\\x7f\\xf7\\xa1\\xd3\\xcf\\x9e\\x3c\\xb1\\xfd\\xc1\\xe3\\x0f\\x0c\\xdc\\xb6\\x6d\\xfe\\xdd\\xb0\\x39\\x99\\x65\\xc2\\x3e\\xda\\xad\\x67\\xeb\\x76\\x52\\x97\\x8e\\xcb\\xb6\\x29\\x8f\\xcf\\xbb\\x3f\\xc3\\x76\\x72\\x36\\x9d\\x66\\xc2\\xbc\\x45\\x46\\x9b\\x24\\xf4\\xd6\\xcd\\x24\\x4e\\x8b\\x9e\\x05\\xa9\\xbd\\x5f\\x49\\x5c\\xba\\x67\\xd4\\x25\\x80\\x00\\x27\\x8a\\x16\\x0f\\xa6\\xf4\\x9c\\x5c\\x17\\x36\\x39\\xed\\x2e\\xd1\\x22\\x9e\\x81\\xc6\\xa8\\x59\\xb6\\x40\\xa3\\x13\\x85\\xd2\\xba\\xc0\\xaa\\x31\\xe9\\xd4\\x14\\x11\\x5b\\x69\\xfd\\x56\\xb0\\xb4\\x0d\\xd7\\xdf\\x35\\x83\\x65\\x3e\\x8c\\xbd\\xa3\\xf5\\x83\\x8d\\x9f\\x55\\x7a\\x3f\\xd8\\xfb\\x94\\x3f\\x68\\x43\\xd8\\xe4\\x41\\x31\\xf8\\x1c\\xe8\\x77\\xd0\\x3c\\xe7\\x36\\xd1\\x0c\\xa3\\xdd\\xce\\xb3\\x02\\xfe\\x53\\xb7\\xc7\\x68\\xab\\x90\\x8d\\x46\\x56\\x8f\\x58\\x7b\\xf2\\x44\\xb4\\xce\\xbb\\xa9\\x2d\\xe0\\xb0\\x49\\x1c\\x92\\xf2\\x8b\\x73\\x23\\x6a\\x67\\xfc\\x3c\\x32\\x47\\x06\\xe3\\xb5\\xb9\\xee\\x8b\\xd8\\xcf\\x7b\\x61\\x6e\\x3b\\xd8\\xf5\\x27\\x50\\x77\\xee\\xe0\\x41\\xe5\\x6d\\x18\\x39\\xb8\\x1b\\xae\\x3a\\xfd\\x06\\x3a\\xfd\\x40\\xe8\\x62\\xec\\xa5\\xcb\\xe7\\xe6\\xce\\x50\\x9a\\x4c\\x53\\xed\\xbd\\x52\\x6d\\xff\\x3c\\x98\\x7b\\xb5\\x8f\\x06\\x82\\x9c\\x24\\x09\\x16\\x2f\\x46\\x2b\\x37\\xcf\\xed\\xc7\\x17\\xc2\\x2d\\x8a\\x64\\xdb\\xb2\\xff\\x6b\\xf3\\xdc\\x48\\x23\\xdd\\x73\\x29\\x56\\x7f\\xbb\\x67\\x0b\\x21\\x8c\\xfc\\xcd\\x9e\\xa1\\x8a\\x9a\\xd0\\xe3\\x5a\\x1b\\xdd\\xf8\\xae\\x41\\x30\\x1c\\xe3\\x3a\\x9a\\xf6\\xf3\\xef\\x18\\xcd\\xc4\\x46\\x9a\\x24\\x02\\x93\\x68\\x72\\x7b\\x24\\x5e\\xe2\\x05\\x03\\x19\\x64\\x23\\xd8\\xe9\\xb4\\x1a\\xb6\\x5e\\x5f\\x86\\x7a\\x3b\\x47\\x47\\x23\\x91\\xf6\\xc4\\x59\\x74\\x22\\x89\\xda\\x64\\xde\\x86\\x36\\x1d\\x7c\\xe4\\xe6\\x3d\\xb9\\x87\\x17\\xc0\\xc1\\x8c\\x47\\xf9\\x5c\\xf9\\x53\\x39\\xb9\\xe5\\xbe\\x76\\x0f\\x4c\\x3c\\xf1\\x30\\x73\\x04\\xdb\\x52\\xec\\x92\\x3b\\xba\\xc0\\x01\\xb1\\x01\\xca\\x51\\x65\\x2b\\x9c\\xd9\\xe5\\xde\\xd5\\x50\\x22\\xfa\\x1a\\xb6\\xcb\\xb9\\x16\\x7c\\x36\\xde\\xbd\\x81\\xd1\\xa6\\xc0\\x22\\x05\\x83\\x81\\x80\\x9b\\xd7\\x59\\x74\\xb9\\x79\\xce\\x8c\\x0a\\xd9\\x69\\x95\\x82\\x56\\x3e\\xc8\\x07\\x8d\\x56\\x6b\\x36\\xb6\\x9c\\x59\\x23\\xc6\\xcf\\x68\\x6f\\x80\\x5f\\xa9\\xf8\\x7c\\xc2\\x56\\x8c\\x24\\x3d\\x36\\x89\\xe1\\x4d\\x59\\x64\\xa0\\x4e\\x91\\x5b\\xed\\x15\\xe1\\xcc\\xa3\\x6d\\x6c\\xb4\\xe9\\x3a\\x85\\xea\\x74\\x9d\\xf2\\x9f\\xf6\\xab\\xd3\\x75\\x9e\\x98\\xb7\\x6a\\x5e\\x49\\xd7\\x16\\x05\\x3d\\x3b\\xd7\\x1b\\xb2\\xf3\\xec\\x3f\\xd4\\x21\\x3b\\x55\\x86\\xd5\\x7b\\xad\\x7b\\x6c\\x3d\\xfb\\x7d\\xa5\\x0e\\xdb\\x01\\xf1\\xfe\\xc4\\x0a\\x87\\xb0\\x35\\x3c\\x3c\\x1a\\xf4\\x00\\xce\\x66\\x93\\xa4\\x80\\x31\\x08\\x82\\x79\\xf9\\x9c\\x0d\\x05\\x6c\\x01\\x5b\\x18\\x85\\xf1\\x7d\\x0a\\xbb\\xf4\\x16\\x72\\x9d\\x0c\\xb2\\x1e\\xd1\\x76\\x8e\\xa2\\x9a\\xaf\\xf7\\x7c\\xfd\\x0f\\x6a\\xf0\\x35\\xb4\\x1d\\xb1\\x9b\\x66\\x22\\xa7\\x7e\\x40\\xc3\\xce\\xc4\\xc7\\x66\\xe9\\x96\\xcf\\x28\\x6c\\x93\\x53\\xd0\\xb5\\xed\\x7f\\xed\\x50\\x3c\\xf0\\x9e\\x95\\xe6\\xad\\x62\\xcf\\x7e\\x6f\\x34\\x68\\x54\\xdc\\x30\\x97\\x83\\xf2\\xc4\\x89\\x34\\xae\\xe9\\x07\\x9d\\xa2\\x41\\xcc\\x09\\xbd\\xac\\x03\\xdf\\xb5\\xcc\\x80\\x09\\x33\\x40\\xd1\\x53\\x21\\x6b\\x2c\\xd0\\x9b\\xc2\\x02\\xeb\\x17\\x31\\x46\\x92\\x03\\x86\\x92\\x2c\\xaf\\x03\\x6c\\x38\\x6b\\xe8\\x27\\x8d\\xcd\\xbd\\xa9\\x4d\\x1c\\x72\\x76\\x8e\\x4f\\x1c\\x4a\\x65\\x6f\\x69\\xa3\\x87\\xc8\\x3d\\xc4\\x38\\x16\\xd0\\x7a\\x28\\x2c\\xe3\\xa2\\x59\\x3a\\xc9\\x02\\x58\\x49\\x32\\x00\\x83\\xcb\\x4d\\x27\\x75\\x20\\xa3\\xce\\x28\\x62\\xd2\\xb1\\x91\\xd2\\x28\\x1d\\xaa\\x3f\\x5d\\x2a\\x65\\xb2\\x03\\x69\\xa6\\x91\\x13\\x51\\xdb\\x9c\\x87\\xb2\\x73\\x48\\xdb\\x0c\\xf2\\x0b\\x5f\\x0a\\xea\\x7e\\x82\\x5d\\x63\\x4d\\xd1\\xd6\\xd8\\xcf\\x9f\\xd7\\x81\\x73\\xbb\\x0f\\xc2\\x88\\xf2\\xf6\\xc1\\x83\\x70\\xd5\\x13\\x97\\xe1\\xce\\xdd\\x7f\\x3d\\xf9\\xfa\\xc9\\xbb\\xa6\\xc1\\x7f\\xce\\x00\\x20\\xb5\\xd7\\x33\\xe1\\x0b\\x3d\\xa3\\xa2\\x57\\xe4\\x83\\x40\\x10\\xf0\\x4d\\xc3\\x74\\xed\\x14\\xad\\x84\\x04\\x24\\x59\\x84\\xfa\\x6c\\xb5\\xe9\\xb3\\xbf\\x41\\x96\\x4f\\xba\\x34\\xb4\\x95\\x16\\x35\\x68\\xfc\\x4c\\xa3\\x59\\xff\\xa3\\xf5\\x73\\xec\\x1d\\xe6\\x43\\xfe\\x11\\xa4\\x53\\xbb\\x3f\\x2f\\xdf\\x5a\\xaf\\xfb\\x33\\x7b\\x1f\\xc9\\xea\\xe1\\xef\\x69\\x06\\x6f\\xfd\\xf8\\xd2\\x9b\\x5f\\xbc\\xf3\\xc2\\xab\\x04\\xf7\\xc5\\x58\\x6f\\x23\\x3d\\x48\\x6d\\x20\\x00\\x3a\\x47\\xb3\\xbd\\x16\\xe2\\x1c\\x05\\x88\\xe1\\x2d\\x5c\\x30\\x4b\\x74\\x11\\xff\\x23\\xe2\\x39\\x6c\\x35\\x71\\x7e\\x06\\x23\\xce\\x38\\x93\\x52\\xaf\\x81\\x2f\\x52\\xe4\\x20\\x71\\x7d\\xab\\xdd\\x74\\x1a\\x69\\x50\\xaa\\xdc\\x08\\x2b\\x6a\\xff\\x60\\x74\\x13\\x3e\\xac\\xba\\x6d\\x98\\xd6\\xa9\\x74\\xc7\\xc6\\x8d\\xd5\\xbb\\x36\\x32\\x01\\x05\\x04\\x94\\xab\\x4b\\x37\\xc8\\xc7\\x47\\x8c\\x7a\\xf3\\x70\\xb2\\x5d\\xe9\\x1b\\xff\\xba\\xf8\\xc6\\xcb\\xe4\\xce\\xdd\\xa2\\x9d\\xb9\\x89\\x9c\\xb8\\x9e\\x05\\x26\\x9e\\x61\\x4c\\xc0\\x44\\x06\\x25\\x93\\xd9\\x28\\xc0\\x40\\x0c\\x4d\\x03\\x02\\xb0\\xc1\\x64\\xa9\\x94\\x13\\xa7\\xfe\\xa4\\x88\\xd6\\xd6\\x9e\\xfc\\xdc\\x82\\x60\\x6c\\x02\\xb3\\x3b\\xd6\\x04\\x6d\\xdb\\x0d\\x5f\\xd9\\x09\\x1f\\xdc\\xad\\xce\\xa2\\x61\\xc0\\xcd\\xf8\\x8e\\x4f\\xc4\\xfc\\x53\\xc2\\xd2\\xb2\\x7b\\x34\\x8c\\xf9\\x97\\xd3\\x64\\x71\\x38\\x38\\x13\\xe7\\xf1\\x9a\\x9d\\x15\\xb2\\x59\\x32\\x4b\\x7a\\xa4\\xc7\\xf2\\x47\\x6f\\x47\\x56\\x4c\\x74\\xf5\\xf9\\x68\\x83\\x89\\x91\\x76\\x7c\\x9d\\x09\\x13\\x25\\x13\\x63\\x8a\\x43\\x4c\\x28\\x5b\\x07\\xb3\\xec\\xa1\\x00\\xdc\\xd5\\xf7\\x5f\\xbb\\x18\\xa3\\xf2\\xfb\\x1f\\x7f\\x28\\xd7\\x51\\xb1\\x43\\x79\\xf5\\xc2\\x04\\x58\\x0a\\xc3\\x8e\\xd8\\x06\\xd3\\x7d\\xec\\xed\\xb3\\xee\\xc4\\x6c\\x94\\xcc\\x8d\\x19\\x0f\\x87\\x97\\xc3\\x4b\\x0f\\xd5\\xce\\x80\\x6f\\x7d\\xf9\\xad\\xca\\x87\\xc6\\x60\\x1c\\x17\\x72\\x32\\xe6\\x43\\x43\\xa2\\x2d\\x32\\x91\\x53\\x6f\\x15\\x84\\xec\\x70\\xd8\\xcb\\xeb\\x11\\x97\\x97\\xcf\\xbb\\x33\\xdc\\x19\\x95\\x72\\xb6\\xdb\\x6a\\x75\\x67\\x23\\x60\\x32\\x61\\x5c\\x4d\\x2c\\xc8\\xc2\\x1b\\x64\\xaf\\xdf\\x71\\x24\\xae\\xb9\\xd4\\x9b\\x6a\\x9e\\x43\\x4a\\x6d\\xf0\\xbf\\x72\\x52\\x7b\\xa3\\x87\\x22\\xce\\xc4\\x40\\x4f\\x37\\xcf\\x32\\x95\\xdf\\x2b\\xdf\\x3c\\xb6\\x4e\\xf9\\x12\\xf2\\xff\\x3a\\xff\\x47\\xaf\\xc3\\xc5\\xc7\\xe6\\x2f\\xdd\\x01\\xc7\\xf7\\xec\\xf9\\xd2\\xb9\\x47\\xb7\\x43\\xdd\\x9d\\xbb\\x86\\x2b\\xbf\\x3b\\x5e\\x3f\\xb5\\xec\\x8c\\xed\\x86\\x6b\\xf7\\xbf\\xba\\xfb\\x64\\x97\\x25\\x77\\xcc\\xbd\\xf9\\xbd\\xcd\\x73\\xef\\x9e\\xb6\\x0c\\x8a\\xfd\\x9e\\xda\\x47\\x42\\x10\\x98\\x06\\xc9\\xdc\\x0f\\x1b\\x18\\x16\\x8d\\x30\\x12\\x71\\x21\\x58\\xad\\x92\\xdd\\xc1\\x42\\x22\\x05\\x06\\xb0\\x15\\x2c\\xb2\\xb2\\x65\\xec\\x54\\x16\\x99\\x11\\x4b\\x86\\x78\\xb1\\xac\\x5e\\x14\\x01\\x66\\x45\\x88\\xcc\\xd6\\xd2\\x83\\xb4\\xf9\\xb4\\xf1\\x51\\x5e\\xa5\\xa5\\xc9\\xba\\x46\\x55\\x31\\x21\\x7e\\x71\\xda\\x28\\x22\\x31\\xd6\\x6b\\xfd\\x92\\x4e\\x83\\xc2\\x91\\x9c\\xc9\\xf1\\xe9\\x5e\\xe3\\xd6\\x6f\\x77\\xec\\x96\\xf6\\x70\\x27\\x69\\x9c\\xe8\\x6b\\x8c\\x57\\x0b\\x8e\\x74\\x54\\xec\\x17\\xcd\\xb7\\x59\\xed\\x82\\xc1\\xac\\xd7\\x5b\\xec\\x16\\x41\\x60\\x5c\\x6e\\xb3\\x28\\x89\\x03\\x65\\x03\\x90\\xa0\\x88\\x24\\x09\\x58\\x7c\\x80\\x9b\\x21\\x03\\x5d\\x42\\x05\\xa9\\x97\\xba\\xa6\\x55\\x35\\x69\\x4d\\xa9\\xdc\\x74\\xb0\\x97\\x15\\x86\\x74\\x21\\x14\\xb6\\x87\\xdb\\x46\\xda\\x76\\x86\\x68\\xdd\\x80\\x81\\x4d\\x4a\\xfa\\x0e\\xe9\\xeb\\xf0\\xc1\\x96\\x5e\\xe5\\xf5\\x9f\\x6b\\x7e\\xae\\xf5\\x5d\\xcf\\xcc\\xf9\\x07\\x27\\xbb\\x57\\xda\\x3b\\x55\\xac\\x5a\\x72\\xbd\\x88\\x7d\\x75\\xc9\\xf6\\x9d\\x0b\\xb4\\xf9\\x63\\x5c\\x73\\x9e\\x64\\x3b\\x8e\\x8c\\x16\\x66\\x72\\x46\\x8f\\xc7\\xed\\xce\\x16\\x01\\xc8\\xe5\\x50\\x7e\\x13\\x01\\x73\\x41\\x41\\x9f\\x9b\\x83\\x79\\xa0\\x47\\x9f\\xeb\\xc9\\x25\\x43\\xc8\\xb0\\x80\\xd5\\xb3\\x4c\\x30\\x39\\x82\\x2c\\x55\\x00\\xa9\\x52\\x29\\xc5\\x01\\xa2\\x8a\\xa1\\xc4\\x24\\xb2\\xfa\\xd2\\xf4\\xbf\\x8e\\x25\\x7b\\x72\\x26\\x11\\xa8\\xed\\xb2\\x7a\\x76\\x7e\\x78\\xe0\\x15\\x32\\x9d\\xac\\xeb\\xda\\x92\\xf4\\xe9\\x64\\x13\\x13\\x12\\x55\\x9b\\x52\\x96\\x1f\\x26\\x53\\xca\\xc8\\x9d\\xe3\\xf0\\x7e\\xbf\\x48\\xe7\\xbf\\x64\\x82\\xae\\xd1\\x10\\x6f\\x76\\x22\\x83\\xcd\\xea\\x41\\xc8\\x6a\\x40\\x26\\x3d\\x99\\xce\\x61\\x0a\\x04\\x9d\\x06\\x60\\xc4\\x3c\\xdd\\x87\\xc9\\x58\\x3d\\x77\\x75\\x5f\\x1b\\x0c\\x7e\\x54\\xbb\\x4d\\xb6\\x21\\x3d\\x37\\x0d\\x30\\x02\\xdd\\xa4\\x13\\x48\\xbe\\xd6\\xd9\\x8b\\x56\\x37\\x4c\\x9e\\xb9\\xac\\x5f\\x0f\\x05\\x5d\\x82\\x3b\\xe1\\xd6\\x4b\\x0a\\xea\\x35\\x60\\x79\\xa6\\xaf\\x43\\x7b\\x7f\\xcb\\x26\\x4d\\x5a\\x2a\\xc3\\x57\\x4e\\x9f\\x50\\xbd\\x94\\xbd\\xa7\\xb6\\x2d\\xba\\x74\\x7d\\xc9\\x92\\xf5\\x13\\xa7\\xaf\\xac\\x6d\\x5a\\x31\\x77\\x6e\\x45\\xd3\\xd6\\xc5\\x6d\\xe8\\xdd\\xab\\xc2\\x77\\x6f\\x02\\xed\\x1b\\x79\\x43\\x34\\x6c\\x13\\xcd\\x66\\x2c\\x27\\x83\\xd9\\xd9\\xac\\x05\\xe5\\xe4\\x66\\x59\\x6d\\x4e\\xa7\\xbe\\x5c\\x76\\x8a\\x02\\xb4\\x38\\x01\\xe1\\xf7\\x9a\\xcb\\x29\\x1e\\xc4\\x49\\xf3\\xe2\\xd3\\xab\\xa6\\xf6\\x85\\xd4\\xc2\\x4c\\x9a\\x42\\x18\\xef\\xec\\x44\\xdb\\x7d\\x88\\xe8\\xc6\\x09\\xf3\\x3b\\x74\\xec\\xd1\\x7d\\xd8\\x91\\x23\\x3a\\xd4\\x7f\\xe3\\xdc\\x3b\\xda\\x74\\xec\\x5c\\x7c\\xc4\\xd1\\x6f\\xd7\\x16\\x28\\x6f\\xb9\\xf5\\xd8\\xb6\\xd8\\x62\\xee\\xb2\\x72\\xcf\\xbc\\xd6\\xc7\\x1f\\x79\\x5a\\xd9\\xb5\\x7d\\xc6\\x9c\\x4d\\xcc\\x13\\xb1\\x88\\xb2\\x40\\x8b\\xcd\\x92\\x38\\x32\\x4f\\x62\\xb3\\x29\\x33\\xda\\xec\\xa0\\x32\\x1a\\x01\\x18\\x75\\x68\\xc0\\xc6\\xbc\\x5e\\xb2\\x58\\x1c\\x4e\\x1d\\x6d\\x4f\\xc7\\x92\\x4e\\x5e\\x27\\x44\\x64\\x47\\xa2\\x68\\x02\\x7a\\x1a\\x98\\x30\\xd9\\xb0\\x64\\xb0\\x37\\x1c\\xdd\\x56\\xaf\\xb5\\x60\\xca\\x74\\xe0\\xf8\\x28\\x37\\xe2\\xd4\\x53\\x83\\xa2\\xd4\\xb1\\x47\\x47\\xba\\x5d\\xb9\\xa2\\x0e\\x75\\xbb\\x72\\x85\\x8e\\x75\\x53\\x26\\xad\\x53\\x32\\x76\\xef\\x86\\x5f\\xac\\x83\\x3b\\x41\\x72\\xd6\\xda\\x48\\xe0\\x00\\xbd\\xa3\\xb9\\x76\\x68\\x84\\x48\\xb2\\xd9\\x00\\x70\\x88\\x08\\xb1\\x0e\\xd6\\xe5\\x84\\x76\\xbb\\xc8\\x20\\x56\\x52\\x39\\x00\\x0b\\x88\\x2e\\x12\\x51\\xef\\x1e\\xdd\\xd9\\xf4\\xce\\x70\\x36\\xcd\\x08\\xa6\\x99\\x05\\x09\\x4a\\x76\\xc6\\xc7\\xae\\x85\\x1e\\x3e\\xbb\\x7d\\x6d\\xd7\\xae\\x45\\xa5\\xf7\\x90\\xe1\\x6b\\x22\\xd3\\x89\\x99\\x71\\x52\\x29\\x63\\x8b\\xd6\\xef\\xb0\\x3e\\x60\\xdb\\xac\\xdc\\xca\\x3c\\x16\\x7b\\x2c\\xc6\\x83\\xd4\\x9e\\xed\\x0e\\xd0\\x2b\\x9a\\x43\\xf0\\xa2\\x18\\x11\\xdc\\x1c\\xac\\xc3\\xe9\\x8a\\xa3\\x65\\xd5\\x5b\\x06\\xc9\\x64\\xee\\xad\\xb3\\x31\\xb4\\xfe\\x7f\\xb0\\xa2\\x89\\x0f\\x14\\xab\\xae\\x0b\\x53\\xbb\\xb9\\xb3\\x07\\x55\\xac\\x62\\xdb\\x1a\\xf4\\x74\\x97\\x40\\xdf\\x68\\x9e\\xa8\\x27\\x5d\\xfc\\x58\\xd6\\x42\\x22\\xda\\xc8\\x64\\x36\\x61\\xea\\x33\\x9b\\x75\\x22\\x8d\\x65\\xc3\\x46\\x63\\xd9\\x5a\\x5e\\x57\\xfa\\xe9\\x91\\x46\\x9c\\xe9\\xe7\\x46\\x82\\xd9\\xaf\\xbf\\xae\\x86\\xb2\\x3f\\xfd\\x94\\x24\\x37\\xa0\\x16\\xeb\\x62\\xdf\\x57\\x57\\x33\\xb6\\x75\\x8c\\x54\\xad\\xca\\xa4\\xe9\\x18\\x97\\x41\\x18\\x17\\x3b\\xe6\\x99\\xcd\\x0c\\x46\\x1b\\x69\\x98\\xc0\\x9b\\xcc\\x56\\x16\\x6f\\x13\\xc3\\x00\\x51\\x30\\x72\\x0e\\xa7\\xcd\\x0a\\xcd\\xac\\xdd\\x6e\\x11\\x21\\x6f\\x32\\x5a\\x44\\x64\\xa4\\xbb\\x84\\xb7\\x83\\x30\\x4e\\x77\\xa2\\x23\\x35\\x89\\xf2\\x4b\\xda\\x26\\x41\\x1d\\x24\\x73\\xe6\\x04\\x08\\xc3\\x90\\x14\\x8f\\xe4\\x47\\xdc\\x6d\\x51\\xcb\\x7d\\xf0\\xf9\\x67\\xae\\x34\\xf5\\x58\\x9b\\x29\\x9f\\x3e\\x09\\x9f\\xed\\x7e\\xba\\xe5\\x53\\x37\\x3e\\x5a\\xb2\\x87\\xbd\\xde\\xf1\\x7a\\x17\\xe6\\x86\\x69\\x93\\x5a\\x56\\xc5\\xee\\x41\\x2f\\x3d\\xd3\\x6d\\x76\\xf7\\x57\\x36\\x95\\xaa\\xf8\\x0d\\xc5\\xf7\\x76\\x2e\\xa6\\xfd\\x10\\xe8\\x16\\x0d\\x19\\x0d\\x8c\\xdd\\x6e\\xb3\\x19\\xb2\\x32\\x32\\x7c\\x06\\x5f\\x76\\x38\\x68\\xcb\\xb0\\x19\\x90\\x5b\\xe0\\x84\\x0a\\x39\\x0b\\xf3\\x23\\x3b\\x88\\xb7\\xa8\\x27\\x91\\xaa\\xb2\\xb4\\x3a\\x6c\\x95\\x43\\x72\\xd9\\x5a\\x01\\xa1\\x14\\x49\\x69\\x07\\xed\\x22\\x43\\x05\\x69\\x3e\\x76\\x3e\\x8f\\x82\\x2b\\x3b\\x67\\xcd\\xea\\xb7\\x7d\\xf5\\xfd\\x65\\xe5\\x37\\x76\\x3d\\xd0\\xa9\\xd7\\x96\\x03\\x86\\xd5\\xfa\\xce\\x8e\\x43\\x7d\\x47\\xbd\\x7d\\x15\\x1d\\xa9\\xbd\\x79\\xd7\\xea\\xc5\\x2b\\xd0\\x63\\xb5\\xa3\\x36\\xae\\x80\\x3e\\x74\\xff\\xf5\\x03\\x73\\xa6\\x2e\\xdf\\x49\\x71\\xad\\x7b\\x19\\xf3\\xc3\\x66\\xb4\\xa7\\x64\\x71\\xd4\\x2b\\xb2\\xac\\x41\\x00\\x0e\\x87\\x53\\x70\\xba\\x3d\\x0e\\x68\\x45\\x3a\\x7c\\x27\\x75\\x12\\x9d\\x5e\\x46\\x0d\\x8a\\xb4\\x76\\x88\\x91\\xc4\\x00\\x3c\\x35\\x1a\\x4c\\xa5\\x5e\\xea\\x24\\xbc\\x95\\x0b\\x7b\\x16\\x35\\x6f\\x37\\x43\\x9b\\x87\\x77\\xa2\\x7f\\xad\\x6d\\xe3\\x16\\xd3\\x01\\x01\\x8b\\xbe\\xe4\\x54\\x3c\\x35\\x1f\\x80\\xc6\\xa8\\x6d\\x3c\\x9a\\x9c\\x8c\\x09\\x73\\x23\\x6d\\x3c\\xbb\\x1d\\xc4\\xe7\\xe6\\x7d\\xc1\\x2d\\xa2\\xf9\\x9b\\xbd\\xa2\\xb9\\x5e\\xde\\x22\\x49\\x4e\\xc0\\x83\\x60\\x16\\x1d\\xc3\\x68\\x30\\xd9\\x2b\\x65\\x93\\x09\\xa9\\xcd\\x08\\x58\\xe4\\x4f\\x1b\\xa4\\xa7\\x0e\\xc0\\xf4\\x88\\x17\\x0a\\xd2\\xa7\\xb1\\x24\\xe7\\xea\\x65\\xd9\\x4b\\x8a\\x31\\xf1\\x39\\x1d\\x3a\\x97\\xae\\xe1\\x80\\x3d\\xc3\\x1f\\xb0\\xef\\xec\\x41\\x23\\xce\\x1f\\xc8\\x6e\\x6c\\xca\\x9e\\x0c\\x47\\x28\\x57\\xca\\xa6\\x1f\\x9a\\xf2\\xd6\\xed\\x0b\\x8e\\xd6\\x9f\\xb5\\x87\\x6d\\x38\\x0e\\xd1\\x9e\\xed\\x21\\x22\\x6b\\xfc\\x04\\x6f\\x17\\xc6\\x3b\\x3b\\x8c\\xb1\\xb5\\x5a\\x85\\x41\\xb2\\xd5\\x6a\\xf0\\xd2\\x46\\xfc\\xc1\\x94\\x46\\xfc\\x49\\xbc\\xeb\\x63\\x1c\\xef\\xca\\x9f\\xc0\\x98\\xd7\\xa5\\x35\\x29\\x8b\\xf7\\xe7\\x87\\xeb\\xba\\x57\\x8c\\x38\\x5f\\x39\\x96\\xa5\\xca\\x6f\\x23\\x6d\\xfa\\x57\\xdc\\xb0\\xe8\\xd0\\x94\\xe9\\xff\\x68\\xdb\\xbc\\x15\\x51\\x7f\\x49\\xb7\\x7e\\x82\\x6f\\x91\\x32\\x82\\xce\\xe7\\x13\\xb1\\xc5\\x76\\x43\\x34\\xdb\\xc5\\x61\\x5b\\xc8\\x27\\x58\\x2c\\x3e\\x0e\\xf9\\x33\\x25\\xd1\\x68\\x64\\x4c\\xac\\xde\\x4e\\x65\\x3c\\xb6\\xcc\\x04\\x22\\xe4\\x2f\\xc4\\x31\\x56\\x73\\x61\\xd3\\xdb\\xbc\\xe7\\x26\\x43\\xa9\\xb9\\x11\\x12\\x72\\xc9\\xa7\\x43\\xef\\x1d\\xf8\\x0f\\xda\\x22\\xf7\\xb2\\x4d\\x9f\\x7e\\xf3\\xd3\\xeb\\x77\\xdf\\x01\\x6f\\x2a\\xa8\\x79\\xb0\\xa6\\xa0\\xe7\\xec\\x15\\xeb\\xee\\xe9\\x9c\\xd7\\xa7\\x82\\xee\\x6b\\x37\\x78\\x5b\\xcf\\xe8\\x9f\\x1c\\x1f\\xd1\\x17\\x28\\x5f\\x5c\\x8f\\x29\\x57\\xb3\\x30\\x7e\\x79\\xb4\\x4f\\x76\\x7f\\xcc\\x83\\x48\\xd7\\xb2\\xb0\\xd3\\x20\\x20\\x94\\x01\\x24\\x29\\xc3\\x80\\x32\\x03\\x3e\\x46\\x10\\x6c\\x56\\xd1\\x64\\xc3\\x06\\x90\\xc8\\x7b\\xca\\x65\\xde\\x85\\x97\\x95\\x95\\xfd\\x1d\\x82\\xa4\\xd7\\x54\\x8a\\x0d\\x84\\x91\\x84\\xda\\x56\\xb6\\x45\\x79\\xe8\\xea\\x3f\\x4a\\x77\\x0c\\xfc\\xee\\x27\\xf8\\xf9\\xa0\\x2d\\x11\\xd8\\xbe\\x59\\x6c\\xd9\\xde\\x75\\x6b\\xb6\\x44\\xdb\\xc1\\x36\\xca\\x70\\xae\\xac\\xf6\\x48\\x7e\\x73\\x12\\xd3\\x65\\x5a\\x15\\x04\\xbb\\xfc\\x65\\xe3\\xa6\\x5f\\x79\\xff\\x9d\\x77\\x5d\\xa8\\xa5\\x43\\xb3\\x6f\\xab\\xe8\\x9d\\x0a\\x90\\xee\\x6a\\x26\\x51\\xd4\\xf9\\x78\\x5e\\xe7\\xc6\\x9a\\x5b\\x30\\xcb\\xc7\\x55\\xc8\\x3e\\xc1\\x27\\xe8\\xec\\x19\\x7a\\xbb\\xbe\\x52\\xb6\\x23\\x5d\\x72\\x82\\x5d\\x03\\xad\\x3e\\xde\\xaa\\x49\\x80\\x05\\x04\\xd9\\x54\\xe7\\x5e\\xca\\xf8\\xc5\\xaa\\x3b\\x3f\\xd8\\x70\\xf6\\x6c\\xdc\\x9d\\x37\\x5d\\x1d\\xc2\\xb8\\xfb\\x60\\x62\\x08\\x63\\x8a\\xa1\\x1b\\x9f\\xc6\\x98\\x5a\\xc7\\x45\\xfc\\xaf\\x37\\x10\\xfb\\x23\\xc7\\x6d\\x30\\x18\\x03\\xc0\\x08\\x9a\\x15\\xf8\\x42\\x24\\x3d\\x44\\x14\\x1c\\x83\\x64\\x01\\x1a\\xfd\\x4c\\x3e\\xb6\\xce\\x98\\xff\\xe9\\xa7\\x0b\\x25\\x7a\\x88\\x11\\x51\\x13\\x84\\xaa\\xac\\x69\\x7c\\x62\\xc3\\xfc\\x23\\xf9\\x1c\\xfb\\xd8\\xc6\\xf5\\x25\\xf9\\xb9\\xed\\x3a\\xde\\xcd\\x16\\xed\\xba\\xe7\\xc2\\x73\\x4f\\xcc\\x59\\x96\\x9c\\xda\\x30\\x76\\x24\\x29\\xe7\\xe2\\xfb\\x6d\\xd8\\xa6\\xd7\\x3f\\xe8\\xd8\\xac\\xfc\\x74\\xf3\\x38\\x52\\xe6\\xf5\\xc1\\x05\\x75\\x72\\x03\\x03\\x0e\\x28\\xcf\\xb2\\x0f\\xd0\\xd8\\xa0\\x1b\\xf4\\x89\\xe6\\x61\\xbe\\x6d\\x22\\x2e\\x64\\x96\\x14\\xc0\\x98\\x58\\x93\\xc7\\x2b\\x30\\x0e\\x06\\x33\\x30\\x4c\\xb2\\x0e\\x9d\\x43\\xc7\\x72\\x88\\x8a\\xf0\\x0b\\x89\\x36\\x05\\xa0\\x9e\\xb0\\xd4\\x18\\xae\\x81\\xce\\x60\\x24\\xdd\\x0a\\x68\\x6b\\x37\\x03\\x8c\\x4f\\x61\\xbc\\xa4\\x2c\\xfe\\xfa\\xec\\x59\\x18\\xfe\\xea\\x97\\xa7\\xf6\\xc1\\x7d\\x4a\\xad\\x3a\\x87\\x71\\xe3\\x56\\xe5\\x59\\xe6\\x73\\x65\\x24\\xd7\\x7d\\xc7\\xb3\\x35\\x9b\\x5e\\xcd\\x88\\x71\\xec\\x0c\\x75\\x14\\x23\\x96\\x05\\x13\\x30\\xef\\x9a\\x83\\xef\\x54\\x13\\x30\\x28\\xda\\x4c\\xb0\\x5a\\x41\\x38\\x27\\x07\\x8b\\x22\\x67\\xd3\\x66\\x99\\xc6\\x3c\\x1b\\x08\\x8b\\x61\\xc6\\x82\\xc2\\xe1\\xbc\\x3c\\x6c\\x33\\xe5\\xd9\\x31\\x09\\xdb\\xcc\\x95\\xb2\\x8d\\x4d\\xe9\\xdd\\x94\\x6c\\x53\\x57\\x9a\\x8e\\x2d\\x71\\x2c\\x90\\x59\\xeb\\xa8\\xb8\\x4d\\x28\\x2b\\xd1\\x8a\\x4e\\x80\\x29\\xad\\x9c\\xb0\\x05\\x98\\x33\\x21\\x52\\xb1\\x7f\\x7f\\xf7\\x05\\x37\\x75\\x50\\x3e\\x57\\x7e\\x69\\x71\\xba\\xf0\\xbb\\x7f\\x7d\\xf2\\xc3\\xd0\\x53\\xc7\\x8f\\x2e\\xee\\xfd\\xf0\\x7d\\x9b\\x1e\\xf6\\xd5\\xf4\\x56\\x4a\\x7f\\x57\\x7e\\x81\\xb7\\x0d\\x5c\\x30\\xb6\\x77\\x9e\\x98\\x55\\xd4\\xb7\\xe3\\xdb\\x6f\\x87\\x1e\\xd9\\xfe\\xe4\\xd1\\x71\\xf7\\x8e\\xcf\\xcb\\xeb\\x3c\\xb6\\xd7\\x8c\\xf9\\x73\\xee\\xc9\\x55\\x76\\x5e\\xa0\\xdf\\x73\\x04\\x7f\\x4f\\x36\\xdb\\x07\\xe4\\x63\\x7b\\xb0\\x00\\x7f\\x8f\\x0f\\x84\\xb2\\xb3\\x8d\\x0e\\xe0\\x68\\xd2\\xd4\\x67\\xcc\\xb5\\x85\\x42\\xb9\\xb9\\x81\\x72\\x39\\xd7\\x05\\x84\\x69\\x02\\x63\\x42\\xf4\\x83\\xca\\x65\\x9b\\x98\\xd2\\x6e\\x31\\x91\\x52\\x5b\\x5a\\xbf\\xdf\\x5e\\xca\\x17\\x85\\xb3\\xe9\\x17\\x65\\x49\\xf4\\x83\\xa0\\x33\\xb5\\x43\\xeb\\x91\\x82\\xa1\\xcb\\x37\\x76\\xb9\\xb5\\x7f\\xc1\\xaf\\x57\\x83\\x7b\\x33\\xde\\x38\\x01\\x77\\xc8\\x07\\xff\\x98\\x5c\\x59\\xbd\\x70\\xd9\\x3a\\xe7\\xae\\xd0\\x9b\\xaf\\xbe\\xf1\\x39\\xf4\\x77\\xbe\\x69\\x40\\x34\\x5f\\xca\\x6c\\xda\\xa1\\xe5\\xc6\\x8d\\xae\\x7b\\x96\\x2a\\x57\\x87\\xce\\x1b\\xda\\x29\\x63\\x40\\xd9\\xc0\\x91\\x83\\x06\\x67\\xaf\\x5c\\xb4\\x9d\\xc8\\x99\\x5b\\xf1\\x3d\\xdd\\x4f\\x7d\\xd7\\x43\\xe8\\x7d\\xf8\\x48\\x19\\x8e\\xb6\\x70\\x6f\\x53\\x1f\\xcb\\xe0\\xa8\\x60\\xd1\\xe9\\x6c\\x5e\\x00\\x82\\x36\\x5b\\x6e\\x9e\\xcb\\xff\\x24\\xe6\\xea\\x58\\xc7\\xae\\x3b\\x17\\x35\\x18\\x2c\\xbd\\x5c\\x2e\\x64\\x45\\xd9\\x67\\xa0\\xa7\\x46\\xc6\\x9c\\xdc\\x78\\x06\\x1a\\x4f\\xca\\x56\\x7f\\xdc\\xf5\\xa6\\x49\\x9d\\xf4\\x34\\x4e\\xda\\x54\\x35\\xbd\\x93\\x2a\\x16\\x95\\xc9\\x56\\xaa\\x9a\\xbf\\xe5\\xa3\\xa9\\x63\\x97\\x2f\\xed\\xd0\\xbe\\xa4\\x4d\\xf7\\x2e\\x0b\\xd7\\x59\\x3b\\xf9\\x86\\x4c\\xee\\xd7\\xb1\\x55\\xeb\\x8e\\x1d\\x8a\\x5a\\x75\\xe4\\x5c\\x23\\x27\\x6e\\x5f\\xf5\\xd7\\x6b\\xdd\\xfa\\x58\\xf6\\x5a\\x76\\xac\\x67\\x63\\x26\\xdb\\xcd\\x43\\x5b\\x77\\xec\\xd8\\xba\\x55\\xc7\\x8e\\x74\\xce\\x05\\xc6\\x9f\\xcc\\xb9\\xc8\\xc2\\x7a\\x91\\x48\\xe6\\x5c\\x04\\xed\\x19\\x19\\xbc\\x10\\x14\\x42\\xd9\\x7e\\x33\\x46\\xb1\\x46\\xf6\\xbb\\x24\\x17\\x71\\x15\\x59\\x64\\xc9\\xaf\\x4d\\xbe\\xa0\\x73\\x2f\\x2e\\x44\\xea\\xcd\\x39\\x4a\\x3f\\x94\\xf4\\xf1\\x17\\x92\\xa8\\x49\\xfb\\x92\\x4e\\xb0\\xe1\\x24\\x8c\\xd8\\x0d\\xdd\\xda\\x15\\x75\\x2c\\x19\\xd5\\xb7\\xde\\x40\\x0c\\x2c\\x3c\\xbf\\x90\\xf6\\xd9\\xba\\xf6\\xbc\\xdb\\xac\\x4e\\xc6\\x80\\x58\\x9e\\xab\\xb1\\x11\\x89\\xe8\\x1e\\x3a\\xb3\\x99\\x11\\x21\\x64\\x18\\x9b\\x1d\\x0b\\x1a\\x2b\\x60\\x69\\x3e\\x36\\x62\\x52\\x98\\x63\\xbc\\x85\\x7b\\x2a\\xfb\\x0e\\xa7\\xb2\\x44\\x32\\xf0\\xf3\\x25\\x95\\x0d\\x6e\\x43\\xed\\xd5\\xb1\\x9f\\x1d\\x09\\xe7\\xeb\\xdd\\x69\\xf9\\xda\\xdd\\x20\\x39\\x0b\\xe4\\x3d\\x10\\x04\\x5d\\xa2\\x66\\xab\\xde\\x6e\\x67\\x02\\x01\\x4f\\x56\\xc8\\x47\\xb7\\xc5\\x26\\xfb\\x5c\\xbc\\x69\\x90\\xcc\\x43\\x1b\\xdd\\x1c\\x2b\\x9d\\x09\\xa2\\x36\\xe0\\x7c\\xbe\\xde\\xde\\xa8\\xfb\\x92\\x66\\xb2\\x36\\x18\\x10\\x72\\x7c\\xed\\xf2\\xae\\x25\\xed\\x5a\\x96\\xb5\\xab\\x37\\x26\\xe4\\xf6\\xed\\x3b\\x85\\xc3\\x8e\\x1b\\xfb\\x4c\\x69\\x38\\x2b\\xa4\\x2f\\xe6\\xc9\\xea\\x9e\\x34\\x8f\\xba\\x44\\x1d\\x84\\x56\\xb3\\xd9\\x66\\x07\\x82\\x95\\x0e\\x09\\xc6\\x3f\\x56\\x6c\\x1a\\x3d\\x5f\\x90\\xae\\x4b\\xc7\\x07\\x85\\xc4\\x5f\\xac\\xe6\\x35\\xb4\\x6a\\xd3\\xb1\\xa8\\x47\\xe7\\x45\\x6b\\xd4\\xd4\\x86\\xbf\\xbe\\x1e\\xd8\\x57\\xdc\\x2b\\x6d\\x5e\\xc9\\x95\\xc4\\x73\\x1b\\xaa\\xb1\\x7e\\x92\\x83\\xf5\\x2a\\xea\\x85\\x75\\x90\\xfe\\xdc\\x19\\xc0\\x24\\x99\\x32\\xb1\\x04\\xa8\\xc4\\x96\\xaf\\xc0\\xb1\\x3e\\x64\\x43\\x82\\x9b\\xf8\\xf1\\x35\\xdb\\x32\\x72\\x21\\x25\\xf2\\x91\\x50\\x4c\\x3a\\xc3\\xb8\\x3a\\x22\\x35\\x1c\\x97\\x0a\\x2b\\xe4\\x11\\xe7\\x37\\x6e\\x78\\xfb\\xbb\\x6b\\xaf\\x9e\\xad\\x5a\\xb9\\x61\\xe6\\x33\\xe8\\x7a\\xe6\\xd4\\xc1\\x87\\xa6\\xec\\x38\\x17\\x52\\xfa\\x29\\xbf\\xff\\xfa\\x35\\x64\\xc8\\xf8\\xd4\\xd7\\x76\\x1d\\x78\\x87\\x8c\\x4f\\xc5\\x78\\xd5\\x60\\x1e\\xf3\\x03\\xdb\\x1e\\xdf\\xc2\\x21\\x51\\x1f\\x0c\\x63\\xad\\xc9\\xe1\\xd7\\xe9\\x8c\\x8e\\xb0\\x23\\x37\\x2f\\xc7\\x9a\\xc5\\x96\\xcb\\x59\\x2e\\x7f\\xa6\\xd1\\x71\\x06\\x7a\\xa3\\x66\\x39\\xd3\\x98\\x69\\xd4\\x7b\\x9c\\x56\\x41\\x4f\\x0e\\x2b\\x52\\x96\\xec\\xb4\\x9f\\xea\\xf3\\x4c\\x95\\xa6\\x49\\x2d\\x3a\\x05\\xf1\\x7a\\xf3\\x55\\x26\\x0f\\x9b\\x3d\\x77\\xf5\\x63\\x83\\x7a\\x8c\\x38\\x3f\\x7f\\xa5\\x96\\xda\\x18\\xdd\\x7e\\xfb\\x43\\x3b\\xc8\\x94\\x95\\x3d\\x73\\x1e\\xbd\\x8f\\x99\\xa1\\xcc\\x0c\\x4f\\x1e\\x79\\x68\\xca\\x96\\xc7\\x5b\\x2b\\x5b\\xd5\\x0c\\xc7\\x19\\x23\\x93\\xf3\\x56\\xda\\xd7\\x7d\\xc3\\x6e\\xc4\\xe7\\x48\\x6c\\xf7\\x90\\xd5\\x68\\xe6\\x03\\x1e\\xde\\x83\\x32\\x9c\\x21\\x14\\xca\\xc9\\x0d\\xf8\\x79\\x03\\x29\\x34\\xf0\\x1a\\x11\\xb0\\x25\\x7d\\x65\\x6a\\x85\\x4e\\x42\\x26\\x69\\x1d\\x6a\\x8a\\x8a\\x88\\x09\\x00\\xa4\\x36\\xb6\\xb6\\x3c\\x99\\xe9\\xe0\\xe4\\x35\\xf6\\x5e\\xdc\\x86\\xc9\\x2f\\x26\\xe3\\x2d\\xf2\\x5d\\x36\\xa7\\x08\\x98\\x49\\xbf\\x2a\\x9f\\x1c\\xbb\\x7f\\x56\\xf3\\x8b\\xf0\\xda\\xf2\\xc5\\x8f\\x1c\\x3c\\xfc\\xd0\\x92\\x65\\xf0\\xda\\xc5\\xe6\\xb3\\xee\\x3f\\xa6\\x7c\\xe2\\xc4\\x1a\\x95\\xfd\\x69\\x78\\xe3\\xad\\xa6\\xdd\\x1f\\x8f\\x57\\xfe\\x78\\xe4\\xe3\\x2f\\xbf\\x7d\\xff\\x28\\xd4\\x8d\\xff\\x78\\xb7\\xe9\\x36\\xe5\\xf4\\x53\\xca\\xb7\\xca\\xd3\\x09\\x9a\\xa0\\x33\\xaa\\x7d\\xa0\\x45\\xd4\\xc3\\x23\\x8b\\xdb\\x6d\\x47\\x58\\xfb\\x73\\x8a\\x15\\xb2\\x93\\x0c\\x44\\x31\\x24\\xd1\\x2d\\x4b\\x1d\\x66\\xcf\\xa5\\xd8\\x27\\x36\\xea\\x65\\xd0\\xe5\\xab\\x01\\x56\\x01\\x32\\xf2\\xf7\\x1f\\x9c\\xbd\\x6b\\xe3\\xed\\x9b\\xfb\\x0c\\x18\\xd9\\xbe\\x48\\x77\\x43\\x7f\\x78\\x63\\xd9\\x82\\x17\\x1c\\x7f\\xc6\\xd0\\x4d\\xb5\\x47\\x9f\\x39\\xba\\x0b\\x0e\\x80\\xc1\\x3d\\xd5\\xc6\\x3d\\x66\\xe5\\x06\\xe5\\x2b\\xe5\\xe8\\xbb\\xd3\\xd4\\xf9\\xb6\\x5c\\x1f\\x8c\\x87\\x1d\\xb4\\x8f\\xfa\\xad\\x82\\x20\\x92\\x79\\x04\\x66\\xb3\\xc3\\x69\\x31\\x8a\\x22\\x6b\\x16\\x90\\xd9\\x06\\x78\\x8c\\x8b\\xe6\\x12\\x2d\\xd3\\xba\\x17\\x6b\\xfc\\x81\\x4e\\x69\\xd5\\x3a\\xb3\\xd3\\x8e\\x2b\\xf1\\x69\\xad\\x9d\\x21\\x7b\\x53\\xd9\\xed\\x1d\\x86\\xf4\\xeb\\x50\\xd8\\xc6\\xa5\\x3c\\xa4\\x4d\\x6e\\xcd\\x6a\\x85\\x45\\x74\\x8b\\xc8\\xca\\xee\\x2d\\x73\\x62\\xd7\\xe2\\x23\\x5c\\xe1\\xd5\\x01\\xfd\\x13\\x77\\x92\\xfb\\x0f\\xad\\x3d\\xed\\x11\\x15\\xfd\\x7a\\xbd\\xc5\\xe0\\x72\\x61\\xe6\\x9a\\xe5\\x36\\x38\\x1c\\x5e\\xc2\\x37\\x44\\xd9\\x01\\xfd\\x7a\\x41\\x00\\x06\\x75\\x52\\x8b\\x1f\\x24\\x55\\xce\\xb2\\x64\\xc4\\x36\\x92\\x30\\x34\\x55\\xfe\\xa9\\xcd\\x6a\\x89\\x94\\xb4\\xa5\\xa5\\xef\\x14\\x55\\x1d\\x19\\xdb\\xd2\\xac\\x47\\x51\\x5e\\xb3\\xe3\\x95\\x12\\x9d\\xda\\x22\\x96\\x33\\xd6\\xbe\\x50\\x6a\\xbe\\x7c\\xea\\xe2\\x5b\\x07\\x75\\xeb\\x35\\x2e\\xa2\\xdc\\x38\\x5c\\x1d\\xe0\\x52\\xdb\\x9c\\xcc\\x6f\\x69\\xf2\\x5a\\xf4\\x35\\x64\\x98\\x3f\\x67\\xcc\\xc2\\xce\\xab\\xae\\x8f\\xfe\\xee\\x29\\x15\\xe7\\xf8\\xec\\x59\\x09\\x8c\\x8e\\xb6\\xd6\\x19\\x79\\x93\\x09\\x9b\\x0f\\x56\\x86\\x37\\xf3\\xc8\\xca\\xda\\xec\\x56\\x93\\x60\\xaa\\x90\\x8d\\x12\\x90\\x2a\\x65\\xad\\x71\\x35\\x60\\x05\\x1b\\x19\\xf3\\x42\\x3a\\x08\\xc6\\x4d\\xf7\\x14\\x1f\\x63\\x4a\\xf6\\x92\\x64\\xd3\\xbe\\x85\\xf8\\x5e\\xe2\\xe3\\x5e\\x42\\xe4\\xa7\\x18\\x86\\xe6\\xc3\\x47\\xe0\\x10\\x32\\xa9\\x56\\xd9\\x07\\xc7\\x28\\x1d\\x95\\x2d\\x68\\xdc\\xf5\\x0b\\x70\\xb6\\xf2\\x14\\xf3\\x2b\\xac\\xd9\\xbd\\x46\\xe9\\xb0\\x4c\\x69\\xbe\\x7b\\x3d\\xfc\\x24\\x65\\xd6\\xcc\\xdf\\xe0\\x58\\x4e\\x71\\x2c\\xa7\\x38\\x9a\\x28\\x8e\\xce\\xf8\\x28\\x9a\\xff\\x03\\x8e\\x0f\\xc0\\x25\\xd0\\x41\\x86\\xd3\\x28\\x5f\\xc3\\x80\\x32\\x5d\\x79\\x9f\\xb9\\x52\\x7b\\x33\\xcc\\x55\\xbe\\x63\\xaa\\x60\\x8f\\x35\\xab\\x94\\x33\\xcb\\x94\\x43\\x6b\\x56\\xc1\\x51\\x18\\x47\\xb7\\x32\\x8c\\x9d\\x81\\xf7\\xd1\\x8f\\x35\\xcc\\x26\\x36\\x89\\xf7\\x43\\xce\\x63\\x30\\x70\\x7e\\x46\\xe2\\x32\\x03\\x16\\x67\\x85\\x6c\\xb1\\xf1\\x3e\\xcc\\x2d\\x79\\x1e\\xd9\\x6c\\x1c\\x66\\x13\\x24\\x36\\x94\\x82\\x5a\\x24\\xcd\\xed\\x19\\x67\\x41\\x06\\x15\\x23\\x16\\x38\\x69\\x83\\xed\\x96\\x30\\x31\\x26\\x20\\xaf\\x00\\xc2\\xb5\\xf0\\x97\\xda\\x3f\\xd1\\xfb\\x8a\\x0e\\x1a\\xa1\\x65\\x9d\\x72\\xfd\\xc1\\xd5\\xaf\\xdc\\xdb\\xe9\\x40\\xd9\\x13\\xcb\\x4f\\x5c\\xf9\\xf2\\xcf\\xde\\xcc\\x93\\xf0\\xfb\\xdd\\xfb\\x15\\xb7\\xa4\\xfc\\xf8\\xe7\\x23\\xca\\xaf\\x9b\\x6f\\x5c\\xb7\\xb4\\xcf\\xfa\\x45\\x5f\\xbd\\xf2\\xc2\\x45\\x72\\xee\\x3d\\x30\\xbe\\x58\\xa7\\x01\\x19\\xa0\\x77\\x34\\x9f\\x95\\xbc\\x4e\\xe0\\x30\\x9a\\x4c\\x1e\\x87\\x53\\xe2\\x7c\\xfe\\x0c\\x87\\x03\\x56\\xca\\x0e\\x87\\xd1\\xe5\\xc2\\x06\\x9c\\x0b\\x09\\x3a\\xcc\\xda\\x8d\\x36\\x22\\x50\\x52\\x63\\x19\\xa0\\x81\\x9d\\x14\\xce\\x66\\x53\\xba\\x83\\x66\\x61\\x66\\x04\\x72\\x09\\x2b\\x0a\\x41\\x54\\xd6\\xfb\\x7b\\xe5\\xfa\\xc5\\xd3\\xcb\\x9e\\xee\\xb4\\x7f\\x88\\xf2\\xc3\\x45\\xac\\x14\\xbf\\x03\\xf3\\x21\\x54\\xf4\\xe8\\xfd\\xda\\x3f\\xe1\\x2f\\x4c\\xcb\\x8f\\x2e\\x9f\\x7f\\x7b\\xd9\\x9a\\x3e\\xa7\\x0e\\x62\\xeb\\x93\\xf9\\x0f\\x2c\\xf4\\xc1\\xef\\xf6\\xef\\x56\\x88\\x80\\x5d\\x88\\x65\\x5d\\x0f\\x3a\\x2b\\x0a\\xef\\xad\\xce\\x0e\\xdd\\xc8\\x65\\xb6\\x58\\x80\\xcb\\x6d\\xe7\\x32\\x7c\\x2e\\xcc\\xe6\\x19\\x97\\x19\\xff\\x2d\\x7a\\x3c\\xb0\\x5c\\xf6\\x58\\x45\\x63\\xb9\\x2c\\xfa\\xeb\\x3b\\x96\\x23\\x0d\\x26\\x82\\x86\\x60\\x22\\x78\\xa0\\x2a\\x8c\\x80\\x8c\\x50\\xc1\\xe8\\xb2\\x42\\xac\\x37\\x5c\\x35\\xe8\\xc0\\x99\\x03\\xab\\xa0\\x94\\xf3\\xa8\\xbb\\xf6\\x5f\\xef\\xd5\\x81\\xcf\\xce\\x2a\\x8b\\x51\\x15\\x3a\\xaa\\xdc\\x73\\xef\\xd3\\x7b\\x0e\\x3e\\x5d\\x6b\\x7e\\xf2\\x19\\x50\\xf7\\xee\\x15\\x68\\xf2\\xc2\\x29\\x27\\xd4\\xbb\\xb4\\x0d\\xef\\xe9\\x64\\x8c\\x67\\x13\\xac\\x15\\x36\\x0f\\xeb\\x3c\\x92\\xe0\\xb3\\xbb\\x9b\\x00\\xe0\\xf6\\x49\\x0e\\x1d\\xdf\\xb4\\x99\\x9b\\xa6\\x01\\xda\\x3c\\x1e\\x4c\\xa8\\x4d\\x3c\\x4d\\x3c\\xc8\\x89\\xf2\\x48\\x51\\x8f\\x95\\x6c\\x6c\\x32\\x56\\x93\\x4e\\x9f\\xc9\\x10\\x08\\x4f\\x29\\xa0\\xb8\\x4d\\xa2\\x83\\xb6\\x36\\x42\\x89\\x8c\\x90\\x48\\x68\\xf3\\x59\\x6d\\xd9\\xc9\\x4d\\x94\\x9f\\xdf\\x58\\xfd\\x6e\\xd5\\xd0\\x2d\\x47\\x1e\\x9e\\x7e\\xfe\\x59\\x38\\x21\\x56\\x8d\\x26\\x28\\x33\\x4f\\x9e\\x1a\\xb0\\xfa\\xc4\\xaa\\x71\\x6d\\xd6\\xae\\x84\\xb6\\xae\\x13\\x77\\x3d\\xd4\\x77\\xd5\\xe8\\x01\\xb7\\xf7\\x2f\\x68\\x36\\xb0\\x7d\\xef\\x4e\\x6b\\x60\\xb3\\xb5\\x77\\x2a\\xcf\\x58\\xd6\\xdc\\x39\\xe8\\xd6\\x5e\\x05\\xd9\\x2d\\xbb\\xb4\\xba\\x71\\xd0\\x25\\xfa\\x4d\\xf3\\xf1\\x5d\\x1a\\x88\\xf9\\x6b\\x88\\xce\\xe9\\xca\\x42\\x99\\x28\\xc3\\x60\\xc4\\x62\\xc4\\xeb\\xcd\\xcc\\x34\\x8a\\x08\\x9b\\x6d\\x21\\x10\\xc2\\x96\\x08\\x00\\x7e\\x8b\\xdf\\x5b\\x29\\xfb\\x6d\\x06\\x92\\x7d\\x59\\x29\\x5b\\xd8\\xfa\\x7d\\x65\\xeb\\x5f\\x3b\\x22\\xb2\\xe2\\x37\\xaf\\x7e\\xa3\\x6c\\x1d\\xb6\\xaa\\x04\\x46\\x47\\xae\\x21\\xfe\\xdc\\xd0\\x7c\\xa6\\x6a\\xd5\\xca\\xc5\\xd3\\xd7\\x59\\xce\\x38\\xbe\\x3b\\xff\\xcf\\x6f\\xa6\\x6c\\x51\\x3e\\xfd\\xe5\\x9e\\x11\\x6e\\xe6\\xeb\\xda\\x21\\x91\\xe7\\xce\\x2a\\x6d\\x99\\x5f\\xef\\x5c\\x78\\xeb\\xed\\x77\\xdf\\x21\\x1d\\xb9\\xf8\\xd4\\xd1\\x95\\x33\\x97\\x9d\\x9d\\x35\\xad\\xfd\\xc6\\x59\\xf7\\x7c\\xb5\\x99\\x7e\\xc3\\x1c\\x2c\\xab\\xba\\x63\\x5a\\xf7\\x81\\x9e\\xd1\\x3c\\x1d\\xef\\x91\\x48\\x31\\x86\\x64\\xe7\\x39\\x7f\\xa6\\x07\\xcb\\x2b\\x8f\\x07\\x39\\xdc\\x34\\xf3\\xdd\\x81\\x10\\xd6\\x68\\x52\\x6b\\x32\\xd2\\x32\\xc2\\x53\\xc2\\x8b\\x0e\\x36\\x75\\x66\\x07\\x09\\x24\\x87\\x8b\\xa9\\x7b\\xb9\\x88\\x65\\xbb\\x2b\\xbf\\x7d\\x7d\\xf6\\x8f\\xec\\x7f\\x84\\xb7\\xdc\\xb1\\xe9\\xfe\\x63\\x07\\xae\\x9e\\x42\\x77\\xc4\\x62\\xdd\\xbe\\x82\\x10\\x9e\\xfb\\xd7\\xf5\\xe7\\x1e\\x76\\xde\\x33\\xeb\\xe1\\xad\\x1b\\x37\\xc0\\x97\\x76\\xef\\x56\\x5e\\xff\\x8a\\xe0\\xb7\\x0f\\xe3\\x17\\xc2\\x74\\x93\\x41\\xf0\\x73\\x39\\x4d\\xc4\\x30\\x35\\xb0\\xbc\\x13\\xdf\\x44\\x13\\x66\\x61\\x26\\x93\\x0d\\x1b\\x18\\xe5\\xb2\\xcb\\x65\\x73\\x19\\x79\\x1d\\x4f\\xb9\\x5c\\x59\\x32\\x27\\xbf\\xc1\\xbc\\x5b\\xda\\x2e\\x25\\x8e\\x92\\x53\\x6d\\x3c\\x9e\\x98\\xa3\\x87\\x6e\\xbd\\xf7\\xbe\\x17\\xde\\x42\\xa3\\x95\\x8c\\xde\\x6f\\x7f\\x79\\xed\\xf5\\xe7\\xbe\\xc8\\x3d\\x66\\xdb\\x5e\\x05\\x4d\\x70\\xe4\\xe4\\x09\\x70\\xe5\\xda\\xb5\\xca\\xd1\\x43\\xc7\\x9e\\xdb\\xff\\x90\\x79\\xdc\\x1d\\x74\\xef\\x16\\x61\\xdc\\x5a\\x73\\xd7\\xb0\\xe5\\x4f\\x22\\x8f\\x22\\xbe\\xb1\\x39\\x59\\x6e\\xa3\\x31\\x4b\\x44\\xcd\\x0a\\x40\\x76\\x38\\x7b\\xa0\\xec\\xb6\\xe4\\xe7\\x85\\xad\\x16\\x4c\\xd9\\x92\\x64\\x49\\x74\\xde\\x79\\x1e\\xcb\\xd6\\x34\\x32\\x8e\\x63\\xa6\\xce\\x3e\\x41\\xf5\\xa7\\x9e\\x30\\xf9\\x2d\\xd5\\x99\\x3f\\x52\\x5b\\xd2\\xca\\xfa\\x72\\xf6\\xd0\\xa1\\x7b\\x96\\xf6\\x6f\\x76\\xed\\xfd\\x0f\\xbe\\xcf\\xbd\\xcf\\xf7\\xe0\\xa6\\x65\\x2b\\xf3\\xfb\\xce\\xe8\\x33\\x7f\\x41\\xd9\\xb6\\xed\\xff\\xf8\\x15\\x9d\\x1e\\x37\\xb8\\x5b\\x73\\x47\\x5e\\x87\\xde\\xe3\\xa3\\xf7\\x1d\\x5a\\xb6\\x2e\\x38\\x7c\\xe0\\x80\\xca\\xd6\\x65\\xcd\\xb3\\xec\\x81\\xc1\\x8b\\x2a\\x66\\x2c\\x81\\xa3\\xfa\\x2b\\xc3\\x97\\x24\\x7d\\x17\\x6c\\x39\\xb6\\xfd\\x33\\x40\\x59\\xd4\\xe2\\x36\\x72\\x1c\\x2f\\x02\\x1e\\xf8\\xfc\\xac\\x5b\\x15\\xc9\\x2c\\xcb\\x5b\\x48\\x15\\xa5\\xd1\\x22\\xea\\xac\\x3c\\x71\\x05\\x95\\x45\\x1a\\x09\\xd0\\x6b\\x53\\x0e\\x38\\x62\\xf1\\xbb\\x9c\\x91\\x94\\xbe\\xff\\x52\\x67\\x86\\xed\\x5a\\xad\\xbc\\xab\\x5c\\x7b\\xec\\x88\\x91\\x1d\\xf5\\xef\\xf3\\xaf\\x3c\\xb1\\x68\\x7e\\xf5\\xbd\\xaf\\x7c\\x7c\\x1b\\x33\\xe3\\x7e\\xe5\\x87\\x77\\x26\\x2b\\xef\\x70\\xd7\\xaa\\x7a\\x5f\\xfa\\xe5\\xeb\\xe3\\x07\\x2f\\xff\\x33\\xf6\\x73\\xbf\\xa3\\xef\\x51\\x7e\\xc1\\x98\\x31\\x82\\xe7\\x68\\x7d\\xa7\\xe3\\xb4\\x36\\x22\\x0c\\xf3\\xd8\\x57\\xe2\\x7d\\xdc\\x49\\x9f\\x7e\\xc6\\x5c\\xc3\\x5d\\xfe\\xab\\x0d\\xf5\\xc3\\xc0\\xe9\\x00\\xa0\\x91\\x5a\\x3d\\x68\\x30\\x6a\\x41\\x80\\xd5\\x01\\x32\\x39\\x1d\\xcb\\x07\\xe2\\x79\\x7d\\xa5\\x28\\xa5\\x6b\\x77\\x48\\x63\\x1c\\x70\\xfa\\x03\\x7b\\x1f\\x20\\x20\\x28\\x18\\x08\\x16\\xe3\\xf7\\xf4\\xa6\\x3e\\x71\\xac\\x6f\\xea\\x59\\xb3\\x59\\x82\\x34\\xd4\\x42\\xc3\\x29\\x2c\\x30\\x59\\x45\\x6b\\x85\\xac\\x17\\x01\\xfe\\x9b\\xb1\\x10\\x27\\x88\\x3a\\x0b\\xa8\\xde\\x28\\xa0\\x78\\x62\\xb2\\x5d\\x9d\\x25\\xa0\\xb5\\x00\\x56\\x43\\xd9\\x8b\\xe1\\xda\\x63\\xb0\\x5a\\x99\\x4e\\x7e\\x8e\\x29\\x33\\xe1\\x5a\\x65\\x26\\xcb\\xc3\\x0b\\x4a\\xfb\\x1d\\xca\\xe5\\x1d\\x4a\\x25\\xdc\\xb7\\x03\\xb6\\xa1\\xfe\\x5c\\x06\\x7f\\x33\\x73\\x89\\xeb\\x66\\xe3\\x49\\x56\\x15\\xfe\\xc1\\xb6\\x04\\xfb\\x0e\\xbf\\x0e\\x18\\x68\\xc6\\x47\\x1e\\x98\\x1b\\x8d\\x7a\\x05\\x87\\xd1\\xa0\\x47\\x88\\x67\\x20\\x0c\\x85\\x72\\x83\\x1c\\xcf\\x67\\xe5\\xe4\\x64\\x66\\x06\\x8d\\x02\\x9b\\xdf\\x24\\x27\\x14\\xf2\\x58\\x3d\\x15\\x72\\xb6\\x15\\x05\\x73\\x73\\xbd\\x02\\x16\\x56\\x01\\xc1\\xc6\\x41\\x03\\x5c\\x3b\\xca\\x80\\xaa\\x65\\x03\\x07\\xca\\x0a\\xe2\\x59\\x7e\\xf4\\x0b\\x12\\xbf\\xa4\\xd3\\x65\\x24\\xee\\x49\\x8f\\x53\\x69\\x71\\xc4\\x1d\\x69\\x1b\\x71\\xea\\xc2\\x48\\x64\\x68\\x96\\x88\\xcb\\xa6\\x8b\\xe7\\x8b\\xc0\\x50\\x7c\\x76\\x1d\\xf3\\xde\\xe4\\xad\\xcc\\xe6\\xc9\\x0f\\x3f\\xf8\\xeb\\xa5\\x4b\\x0f\\xcc\\xbb\\xff\\x59\\xf9\\xd0\\xd4\\xf9\\xac\\xe7\\xa6\\x19\\xcc\\x7b\\xb1\\x57\\xe1\\x5d\\xca\\x2b\\xf0\\x2b\\x65\\x01\\x5c\\xc4\\xcf\\x75\\xcc\\x9f\\xef\\x78\\x2b\\x66\\x52\\xee\\x57\\x8e\\x72\\xdd\\x97\\x2a\\xdf\\xd4\\x42\\xe6\\xf7\\xeb\\x3f\\x43\\xb3\\x32\\xa2\\x9a\\xf5\\xed\\x5e\\x7d\\xfd\\x13\\x90\\xf8\\xfe\\xf3\\xdc\\x8e\\xc4\\xf7\\xcf\\x8a\\x76\\x49\\xfd\\xfe\\xac\\xac\\x9c\\x00\\xfe\\xfe\\x60\\x38\\x9c\\x9b\\x1b\\xa0\\xdf\\x9f\\x99\\x53\\x29\\x87\\xb2\\xf0\\x8f\\x95\\xec\\x82\\x15\\x91\\x0d\\xc8\\x4c\\xdb\\x00\\x29\\x65\\x03\\xe2\\x3e\\xe3\\x82\\xff\\xc3\\xb7\\xdb\\x13\\x63\\xfb\\x98\\xd3\\xda\\xb7\\xbf\\x91\\xfe\\xed\\x87\\x61\\xa5\\x72\\x11\\x7e\\xae\\xec\\x82\\xab\\xb9\\x65\\xea\\x87\\xd7\\x35\\xf2\\xe1\\x4b\\x51\\xc1\\x9a\\xa5\\xb5\\x6f\\xaf\\x21\\xdf\\x5d\\x54\\xf7\\x05\\xfb\\x0a\\x9d\\x03\\x1c\\x04\\x05\\xa0\\x18\\xac\\x8d\\xf6\\xcb\\x12\\xf3\\x02\\x1e\\x8f\\x37\\xfe\\xe9\\x85\\x85\\x2d\\xf0\\x97\\xb7\\x2c\\x6a\\x53\\xd4\\xc2\\x2b\\x72\\x25\\x6d\\x8b\\x0a\\x5b\\x15\\x96\\xcb\\xad\\xac\\x2d\\x22\\xcd\\x23\\xe5\\x72\\x73\\x67\\xa6\\xd3\\x03\\x6d\\x4d\\xcb\\x65\\xa7\\x4d\\x24\\x75\\x3e\\x46\\x8b\\xeb\\xbf\\xef\\x41\\x24\\x35\\xf8\\x99\\x9a\\x6b\\x9f\\x0c\\xd0\\xa5\\x3a\\x35\\x92\\xdb\\x01\\x35\\x17\\x70\\x6a\\x8f\\x9b\\xbc\\x62\\x94\\xd6\\xe2\\x26\\xb1\\x3b\\x2f\\x6b\\xbb\\xa3\\x8c\\xca\\xea\\xdf\\x7d\\xde\\xf4\\xef\\x7b\\xf6\\x0d\\x32\\xcc\\x3e\\x6e\\xbb\\xa1\\xb6\\x7d\\xb7\\xae\\xed\\xda\\x75\\xe9\\xda\\x09\\xbe\\x9c\\xd8\\xa9\\x85\\xda\\x4e\\x5d\\x7f\\x79\\x78\\x19\\x74\\x42\\x2f\\x53\\xd2\\x61\\xe8\\x12\\xb8\\xfe\\xba\\xfd\\x64\\x0b\\xcf\\x04\\xb8\\xf7\\xd3\\x17\\xdf\\xfd\\xf4\\xad\\x17\\x5f\\x8c\\x31\\x89\\x4d\\x63\\x80\\x8c\\xf9\\xf2\\x9d\\x58\\xa6\\x71\\x74\\xd2\\x5e\\x10\\x01\\x93\\x28\\x3a\\x39\\xc0\\x62\\xa5\\x48\\x5f\\x21\\xdb\\xed\\x82\\x05\\xab\\x6c\\x08\\x22\\x80\\x92\\x49\\x28\\x09\\xb7\\x4d\\xdc\\x18\\x8b\\xd0\\xdb\\xdb\\x56\\xb5\\x72\\xc3\\x5a\\x91\\x7a\\xbe\\x7c\\x00\\xb6\\xbb\\xb3\\x63\\xcf\\x51\\xfd\\xce\\xc2\\x71\\x7b\\x1e\\x98\\x3a\\x88\\xeb\\x7e\\x7d\\xf8\\xee\\x63\\xf9\\xcb\\x37\\x91\\xfa\\xf4\\x1e\\xff\\x7c\\xb1\\x09\\xa9\\xc3\\x92\\x31\\x5f\\x9d\\x43\\xe7\\xcf\\x38\\xb1\\x5e\\xd6\\x2f\\xea\\xb5\\x8b\\x2e\\x93\\xc9\\x0b\\x80\\xc5\\xc9\\x89\\x58\\x2d\\x73\\xbb\\x06\\x8f\\x72\\x03\\x09\\x21\\x3d\\xe1\\xb2\\x56\\x19\\xf9\\x45\\xcc\\x60\\x44\\x9b\\x60\\x29\\x97\\x05\\x6b\\x4a\\x04\\x23\\xd5\\x40\\x8c\\x6b\\x3a\\x89\\x38\\x91\\x5a\\x3b\\x0f\\x25\\x75\\x60\\x49\\xc4\\xc9\\xce\\x79\\xe5\\x89\\xf1\\xa3\\x87\\x8d\\x9c\\x7d\\xb7\\xf2\\x26\\xbc\\x72\\xfd\\x93\\x03\\x70\\x37\\x6c\\xfe\\x98\\xff\\xa9\\xd7\\x5d\\x1b\\x6c\\xcb\\x66\\xa3\\x17\\xaa\\xaf\\x5f\\xa0\\xd8\\x92\\x72\\x75\\xb5\\x5e\\x0c\\x60\\x3c\\x4b\\x29\\x9e\\x76\\x90\\x09\\x86\\x46\\x9b\\x8a\\x26\\x93\\x1d\\x38\\xbc\\x5e\\x0e\\xa0\\x60\\xc0\\xef\\x2b\\x97\\xfd\\xd0\\xe1\\x71\\x7b\\x48\\x99\\x98\\x24\\x0e\\x1e\\x25\\x01\\x15\\x43\\x8a\\xf7\\x49\\x8c\\x76\\x3a\\xaa\\xf5\\x73\\x8d\\x1a\\xc5\\x97\\xcc\\xdc\\x86\\xb4\\x55\\x06\\xd9\\x54\\xb6\\x94\\xe0\\x3c\\x74\\x14\\xc6\\xf9\\xdf\\xf0\\xc9\\xc7\\x1e\\x8b\\x75\\x7c\\x21\\x76\\xe1\\xcd\\x37\\xe1\\xac\\x14\\xb4\\xdf\\x38\\x77\\xee\\xfa\\x62\\x6d\\x80\\x75\\xf2\\x6c\\x25\\xda\\xc3\\x3f\\xdf\\xc0\\xf0\\xbc\\x8e\\xf8\\xaa\\x33\\x82\\x41\\x3a\\x5b\\x2f\\x9c\\xe9\\xc7\\xf7\\x1c\\xd9\\xdc\\x15\\x32\\xb6\\x7e\\xa0\\x1e\\xe9\\x6c\\x46\\x2a\\x01\\xc8\\xe8\\x8e\\x7a\\x87\\x9c\\x10\\x5e\\xb9\\x28\\x8c\\xcd\\x7f\\x22\\xbd\\x60\\x24\\x8f\\x21\\x36\\xb8\\x3b\\x81\\xb3\\x7a\\xf4\\xf0\\xdf\\x7f\\xf2\\xac\\x71\\xcf\\x1e\\x08\\x79\\x24\\xec\\x7b\\xba\\x5d\\x51\\xcb\\x36\\x03\\x6f\\xd8\\x06\\x4b\\x37\\x40\\x34\\x3a\\xa8\\x9c\\x2f\\x55\\x4a\\xb9\\x6e\\xb5\\x1b\\x32\\x60\\x97\\x01\\xf0\\x85\\xbf\\x9e\\x72\\x5a\\xf6\\xdb\\xd7\\xae\\xa3\\x24\\x71\\xe5\\x35\\x75\\xaf\\x09\\x4d\\xdc\\x49\\x63\\xbf\\x21\\x9a\\x8f\\x58\\x98\\xc0\\x3c\\x3b\\xf3\\xff\\x91\\xf6\\x1d\\xf0\\x55\\x15\\xd9\\xff\\x33\\x77\\x6e\\x79\\xbd\\xf7\\x5e\\xf2\\xd2\\xfb\\x4b\\x08\\xa1\\xe5\\xd1\\x8b\\x94\\x24\\xd4\\x47\\x11\\x90\\x22\\x4d\\x04\\x29\\x4b\\xef\\x1d\\x0c\\x08\\x88\\x82\\x08\\x08\\xa8\\x80\\x0d\\x34\\x14\\x65\\x45\\x5c\\x59\\xd6\\x02\\x2a\\xe8\\xaa\\xab\\xfe\\x56\\xdd\\xb5\\x97\\x75\\x57\\xdd\\x55\\x21\\xb9\\xfc\\x67\\xe6\\xde\\xd7\\x92\\xe0\\xfe\\x7e\\x9f\\xff\\x07\\x09\\x04\\xf3\\x66\\xce\\x99\\x72\\xda\\x9c\\xf3\\x3d\\xde\\x88\\xc9\\x64\\xb0\\x0b\\x6c\\x76\\x4e\\x38\\x34\\x78\\x54\\x98\\x0b\\xf8\\x6b\\xe3\\x01\\x3d\\x21\\x9e\\xa6\\x5b\\x7a\\x54\\x80\\x3c\\x6f\\xc8\\xe4\\xb7\\xe0\\x22\\xfa\\x5f\\x18\\xc9\\x58\\xff\\xb0\\xbc\\xfe\\x19\\xcc\\xc0\\x6f\\xa4\\x73\\x33\\x6f\\xf9\\x47\\x70\\xc5\\xc9\\x93\\x6d\\x32\\xe4\\xa5\\xdb\\x91\\xea\\x89\\x8e\\xc0\\x60\\x99\\x1f\\x72\\x76\\xf2\\xc1\\x98\\x58\\x51\\xc8\\xe3\\xf1\\x5a\\xf2\\xe9\\x09\\x02\\xf9\\x9c\\x97\\x2d\\x28\\x0c\\x65\\x67\\xe3\\xa3\\x93\\x6d\\x08\\xe8\\x2d\\x5e\\xe9\\xfc\\xc0\\xdf\\x3c\\x3f\\xd1\\x9a\\x36\\x45\\x4e\\x8b\\x33\\x94\\xe0\\x21\\xb3\\xef\\x78\\xa2\\xdf\\x38\\xfb\\xbb\\x04\\x33\\xaf\\xc2\\xe9\\xf8\\x3c\\x3d\\x58\\xd5\\xb5\\xf7\\xa8\\x87\\x48\\xd7\\xf1\\xe0\\xac\\x11\\x77\\xce\\xf4\\x64\\xf0\\x71\\xed\\x27\\xe6\\xf4\\xc6\\xd5\\x8d\\x7b\\xa5\\xfa\\xda\\xa7\\xc6\\x4e\\x6c\\x7c\\xa5\\xb9\\xe4\\x46\\xab\\x9e\\x08\\xca\\x9e\\xd0\\x0d\\x40\\xaa\\x27\\x82\\xd1\\xfe\\x5f\\x30\\xe6\\x36\\xfc\\x4c\\xf1\\x8d\\xca\\x28\\xbe\\xd1\\x5f\\x1a\\xa3\\xd5\\x7a\\xf4\\x5b\\xb8\\x23\\xa9\\xf1\\x25\\xec\\x1d\\xbd\\x55\\xcd\\xb7\\x8d\\x3b\\xa2\\x90\\x70\\x47\\x36\\x20\\x5a\\xb3\\xa1\\xa6\\x35\\x1b\\xdf\\x37\\x6a\\xcd\\x6c\\x26\\xa6\\x71\\x8b\\xba\\xda\\x34\\xfa\\x29\\x76\\xba\\xd3\\xff\\x5f\\x6a\\x76\\xe5\\x9a\\x6f\\x09\\x6b\\xd3\\x1d\\xfc\\x2d\\x3c\\xee\\x34\\xda\\x29\\xbe\\xb6\\xd5\\x2d\\x18\\x7f\\xb3\\xbe\\x68\\x03\\xc8\\xc0\\x5d\\xf4\\x86\\x9d\\x6d\\xd4\\x17\\x09\\x05\\x89\\xf1\\x15\\x3f\\x31\\x93\\xf1\\xff\\x70\\xc7\\xf4\\x88\\x21\\x25\\x33\\xf8\\x2b\\xb4\\x5b\\xa5\\x39\\xa4\\x92\\x93\\xf4\\x79\\xf8\\x69\\xd2\\x3c\\x86\\x6c\\x30\\x0d\\x02\\x83\\xa0\\xec\\x87\\x4d\\x49\\x47\\x9b\\xe3\\xfe\\x3b\\x6d\\x5c\\xbf\\x34\\xae\\xd7\\x7d\\xd3\\x71\\x2f\\x65\\x8e\\x0b\\xe6\\x83\\x55\\x37\\x19\\xf7\\x3f\\xb4\\x31\\xa0\\x34\\x6e\\x88\\x8e\\x0b\\x1c\\x96\\xff\\xed\\xb8\\x64\\x75\\x6e\\x32\\xee\\xcf\\xad\\xe9\\x75\\xfa\\xff\\xd7\\xf4\\x76\\xbf\\xb1\\x53\\x1e\\x97\\x62\\x71\\x91\\x3c\\x01\\xc6\\x95\\xaa\\x4f\\xa2\\xf3\\x64\\x65\\xae\\x37\\x8b\\x18\\x2b\\x97\\x8d\\xbf\\x02\\xb3\\xdc\\x33\\x24\\x63\\x1e\\x09\\x63\\xba\\x56\\x3a\\xf3\\x64\\x9e\\x7f\\x7c\\x87\\x4f\\x43\\xbf\\x1b\\xdf\\x01\\x11\\x74\\x8b\\x19\\xd9\\x0e\\x31\\x97\\xa7\\x4f\\x87\\x98\\xc5\\x82\\xbf\\x18\\x4c\\x7d\\x3a\\x90\\xe2\\x30\\xa3\\x56\\x87\\xbf\\x53\\x6b\\xfa\\x74\\xa0\\x10\\xd6\\x78\\xec\\x34\\x00\\x6b\\x79\\x78\\x23\\xc1\\x47\\x95\\xeb\\x26\\x5b\\xd2\\xf6\\x0b\\xa5\\x8d\\xd6\\x7a\\x1b\\x69\\xef\\x10\\x8b\\xb5\\x55\\xef\\x90\\x16\\x74\\x31\\x7b\\x00\\xa5\\x0b\\xff\\x4f\\x11\\x74\\x89\\x19\\x51\\x25\\xa1\\xab\\x92\\xd0\\x55\\x49\\xe8\\xaa\\x24\\x74\\xe9\\x31\\x5d\\x95\\x84\\xae\\x4a\\x09\\x59\\x9b\\x50\\x95\\x80\\xfe\\x26\\x43\\xa7\\xd3\\x44\\x7b\\x8d\\xd0\\xfa\\xbd\\x0d\\x72\\xfd\\xde\\x11\\xb9\\xd6\\x9e\\xdc\\xad\\x53\\x0e\\x27\\xd2\\x65\\x9c\\x67\\x8a\\xad\\xcd\\xd5\\xe3\\x9f\\x3f\\x42\\xce\\x3f\\xa5\\x04\\xff\\x34\\xea\\x82\\x27\\xc2\\x4e\\x97\\x29\\x37\\x55\\x23\\x44\\xf1\\xc3\\x2e\\x73\\x23\\x41\\x00\\x4c\\x8b\\xb5\\xb7\\x28\\xdd\\x7e\\x8f\\xc3\\x01\\xf4\\x3a\\xbf\\x52\\xc7\\x2a\\xd9\\x60\\x08\\xb9\\xdc\\xae\\x71\\x71\\xe0\\xf6\\xfb\\xb0\\x3d\\xeb\\x87\\x1a\\xe4\\xf6\\xeb\\xf5\\x7e\\x37\\xe2\\xb1\\xa3\\x32\\x36\\xae\\x61\\x79\\xdb\\xd8\\x38\\xdf\\x2a\\x65\\x94\\xf6\\x66\\x4b\\x15\\x72\\x12\\xfc\\x04\\x29\\xba\\x90\\x96\\x3d\\x64\\x4d\\xe4\\x0f\\x06\\xcc\\xc9\\x94\\xc1\\x2a\\x0a\\xd3\\x47\\xb3\\x06\\x57\\xac\\x48\\xe6\\x0d\\xc2\\x91\\x73\\xe4\\x84\\xc1\\xad\\xcb\\xc5\\x2b\\xb0\\x04\\xff\\xfe\\x08\\x9e\\x5a\\xf5\\x54\\x32\\x6d\\x50\\x3c\\x29\\xa7\\x0b\\xde\\x72\\xdb\\xaa\\xe9\\x07\\xa4\\x37\\xf2\\xc9\\xe2\\x08\\x76\\x24\\xed\\x81\\x5f\\x01\\xa6\\xc7\\x4a\\x03\\x7e\\x7f\\xb1\\x22\\x27\\xa2\\xc7\\x27\\xd8\\xa6\\xb0\\x55\\xb6\\x0b\\x04\\x3c\\xc0\\x13\\xc2\\xc6\\x86\\x9b\\xe1\\xca\\xb8\\xda\\x78\\x59\\x19\\x30\\xe9\\xd5\\x05\\x58\\x53\\xa8\\x0d\\xce\\x6c\\x90\\x7d\\x06\\x3a\\x9f\\x89\\xd3\\xee\\x5b\\xe5\\x69\\xa6\\xaa\\xdc\\xf8\\xaa\\x8d\\x3c\\x8f\\x64\\x43\\xb5\\x28\\x69\\xbd\\x92\\x86\\xbd\\x58\\xd1\\xae\\x2a\\x8a\\x35\\x06\\x66\\x58\\xea\\x9e\\x4c\\x8d\\xbb\\xaa\\x20\\xac\\x48\\xe5\\xec\\x77\\x81\\x93\\x99\\x1b\\xcc\\xf8\\x7f\\xbd\\xf4\\xc2\\xab\\x17\\x67\\x1f\\x29\\x62\\x14\\x78\\xb3\\xbb\\xdd\\xe2\\xb9\\xf2\\xe2\\x43\\xef\\x66\\x9d\\x2c\\x79\\x76\\xea\\x02\\x7b\\xb3\\x86\\xb9\\xd1\\x67\\x65\\xed\\xba\\xa5\\x0b\\xb7\\xd4\\x2d\\xef\\x0d\\xb9\\x3f\\x81\\x1b\\x90\\x87\\x10\\x0a\\x53\\xc7\\xfb\\x76\\x0a\\xed\\x8e\\x35\\x3d\\x32\\xe6\\xe1\\x47\\x16\\xce\\xf1\\xad\\x1a\\x39\\x95\\x39\\x38\\xef\\xa9\\xd1\\xbf\\xbf\\xf0\\xca\\xb3\\x63\\x9e\\x4a\\xc3\\xb5\\x3b\\x92\\xc0\\x87\\x4b\\x93\\x9d\\x14\\xd7\\xce\\x1b\\xfe\\x2f\\xd8\\x73\\x1b\\xfe\\x9e\\xa6\\x57\\x7e\\xc4\\x7a\\x25\\x85\\xe8\\x96\\xac\\x23\\x7a\\x8d\\x8e\\x5f\\x2c\\x8f\\xef\\x90\\xa4\\xad\\xd4\\xa7\\xe5\\x89\\x46\\xbd\\x95\\x53\\xa7\\x61\\xec\\xd0\\x1c\\x39\\xfe\\x08\\x50\\xe3\\xb5\\xad\\x8d\\xe5\\xa9\\x20\\x54\\x4b\\x50\\x40\\x4a\\x35\\xab\\xc6\\xc6\\xb2\\x5e\\xab\\xdf\\x32\\x4a\\x6b\\x6c\\x88\\x6b\\x19\\x46\\x80\\x2a\\x41\\xc5\\x72\\x04\\x3d\\x8a\\x26\\x81\\x5d\\x90\\x5f\\x56\\x6a\\x0a\\x5a\\x34\\xdc\\x4f\\x64\\x5c\\xa5\\xa1\\x03\\x31\\xe1\\x1c\\xd9\\x51\\xc8\\x84\\x09\\x12\\x97\\x1e\\x16\\xa7\\x7c\\xc9\\x7c\\x30\\x95\\x26\\xcc\\x71\\x3d\\x9b\\xbe\\x94\\x52\\xe5\\xb8\\x87\\xbf\\xb7\\x6c\\xda\\x64\\x91\\x74\\x99\\x38\\x94\\xe6\\x31\\x51\\x5d\\x66\\xe0\\x99\\xbd\\x59\\xb2\\xce\\xc2\\xff\\xde\\x97\\xd6\\xd9\\xd7\\x4b\\xff\\x9e\\x03\\x52\\x3f\\x9f\\xc0\\xc2\\x30\\xe4\\x48\\xf5\\xb5\\xa4\\x86\\x33\\x04\\xda\\x46\\xc4\\x48\\x8c\\x45\\xef\\x28\\x19\\x2b\\x5b\\x29\\xad\\xf6\\xde\\xa2\\x9b\\xa0\\x62\\xd0\\x79\\x2a\\xc4\\x61\\xec\\x36\\xfe\\x88\\x21\\x1b\\x2e\\xf4\\x4a\\x6b\\x4d\\xfe\\x87\\xe2\\x19\\xe8\\xe3\\xb2\\x13\\x98\\xe4\\x9b\\xb1\\x8d\\x54\\xcf\\x35\\x62\\x29\\x34\\xd8\\x98\\xa8\\xd9\\xc7\\x3f\\xe1\\x35\\x92\\x9f\\x90\\xf0\\x9e\\xd0\\x89\\x04\\xde\\x53\\x1a\\xd6\\x8a\\x89\\x20\\xc3\\x58\\x5c\\x82\\x21\\x0d\\xab\\x54\\xf2\\x7f\\x7b\\x62\\x3f\\xd0\\x84\\xfd\\xdf\\xfe\\xb1\\x1c\\x8f\\x0d\\x3b\\x12\\x56\\x15\\xd0\\xb3\\x2c\\xb0\\xba\\x58\\x9f\\xd7\\x65\\x97\\x12\\xe2\\x1c\\x1c\\xb2\\xba\\xdd\\x7a\\xd2\\x4f\\xc6\\x42\\xb3\\x2d\\x6f\\xe6\\xdd\\xa7\\xd5\\x39\\xfd\\x86\\x1b\\xbf\\xed\\xb7\\xdc\\x77\\xe6\\xf8\\x6f\\xfb\\xed\\x2d\\xe9\\x1e\\x1a\\x2b\\xd4\\xb3\\x2a\\xe0\\xb2\\x59\\xdc\\x56\\xa7\\xd3\\x02\\x58\\xd6\\xeb\\x73\\xda\\xec\\xb6\\x71\\x71\\xbb\\x9d\\xe5\\x08\\xf5\\x1c\\xb2\\xb8\\x5c\\x94\\x78\\x73\\x06\\xf1\\xad\\x03\\xeb\\xd1\\xf4\\xa4\\xae\\xdf\\xf0\\xc5\\xb7\\xdd\\xd4\\x07\\x6f\\x93\\xfa\\xa4\\x1f\\x89\\x92\\xbe\\x37\\xc9\\x3d\\x2b\\x00\\x13\\x63\\xed\\xf2\\xb3\\x72\\xf3\\x22\\x61\\x8f\\x45\\xa7\\xd3\\xdb\\x78\\x5e\\x1f\\xce\\x65\\x8b\\x0a\\x73\\x23\\xd9\\x11\\x6c\\xe5\\xea\\xc3\\x79\\x21\\xec\\x64\\x87\\xac\\x66\\xab\\x0e\\x2a\\xfc\\x52\\x05\\x89\\xb3\\x55\\x05\\x49\\x1b\\xbe\\x75\\x62\\x23\\x24\\x03\\xfe\\xff\\xe0\\x47\\xc3\\x2b\\xff\\x1b\\xf7\\x79\\xc9\\xff\\xd2\\x6d\\x4e\\xca\\xa7\\x07\\x92\\xf2\\xa9\\x3b\\x3c\\x25\\x9f\\x48\\x6c\\x71\\xc0\\xbb\\xdc\\xbe\\xdf\\x96\\x4f\\x60\\x7e\\x37\\xe9\\xc6\\x54\\xe2\\x1b\\x53\\x57\\x56\\x91\\x26\\x9d\\xa4\\x1a\\x88\\x05\\xf8\\x1c\\xd8\\x49\\x56\\x9c\\x05\\xfb\\xe3\\x40\\xab\\xc5\\xea\\xd0\\xa8\\x74\\x38\\x2d\\x7a\\x29\\xb7\\xc8\\x68\\x33\\x21\\xa3\\x49\\x8d\\xc6\\xc5\\xd5\\xc9\\xa7\\x72\\xf9\\x21\\x3a\\xd1\\x5d\\x15\\xaf\\x91\\xf4\\x28\\x99\\x4a\\xb7\\x0e\\x06\\x9c\\x30\\x48\\x25\\x4d\\xd0\\x18\\x65\\xde\\xee\\xd4\\xbb\\x77\\x6c\\x8f\\xf8\\x57\\xf1\\x03\\xf1\\x8d\\x43\\x87\\x60\\xd9\\x21\\x38\\x7f\\xeb\\x5d\\x73\\x1a\\x98\\x0d\\xcd\\xa3\\xc4\\x1d\\x70\\x1a\\xf4\\x35\\x6f\\xe1\\x7a\\x36\\xbf\\xca\\xb4\\xa3\\x7d\\x59\\xf0\\xfd\\x9c\\x8a\\xf5\\xad\\x0e\\x7b\\xe9\\x1d\\x63\\x5e\\x9b\\x92\\xe3\\x78\\x3d\\xe0\\x81\\xcb\\xcd\\xdb\\x62\\x36\\x76\\x6c\\xdc\\x66\\x22\\x9a\\x55\\xa9\\x61\\x49\\x71\\x52\\x22\\x4a\\x44\\x3a\\xf2\\xb7\\x8a\\x7d\\x02\\x2a\\xec\\x68\\x25\\x18\\x49\\x80\\x24\\x85\\xbb\\xa8\\x1d\\x30\\xb1\\x53\\xff\\x28\\xee\\xff\\xdb\\x0b\\x67\\x60\\xa7\\xc6\\x69\\x6f\\x7d\\xf2\\x92\\xf8\\x53\\xbc\\xa1\\x0e\\x3e\\x00\\xcd\\xf7\\xa1\\xdb\\xdf\\x15\\xa7\\x88\\x7f\\x18\\x29\\xfe\\xcc\\xff\\xe3\\xf0\\x88\\xf1\\xbf\\xfe\\x0a\\x87\\x8f\\x3f\\x36\\xa1\\xe9\\x44\\x27\\x68\\x87\\x13\\x53\\xb8\\x4d\\x7b\\x13\\xb8\\x4d\\xca\\x6e\\xe0\\x0f\\x92\\x2c\\x37\\x53\\x59\\xbe\\xa7\\xd1\\x60\\xe6\\xd3\\xf1\\x41\\x2e\\x4a\\xb5\\xc8\\x04\\x8b\\xc9\\x4c\\xb1\\xd3\\xcf\\x53\\x59\\xe3\\xa4\\xb2\\x86\\xc6\\x10\\x69\\x1d\\x3a\\x30\\x60\\x5e\\x49\\x24\\xe9\\x50\\x2c\\xe6\\xf1\\x7a\\xfd\\x2e\\x17\\x50\\xf3\\x36\\x2b\\x32\\x09\\xd9\\x6a\\xb5\\xd2\\xc4\\xd9\\x1d\\xc8\\xc8\\x06\\xf0\\xe2\\x18\\x4d\\x46\\x05\\x8b\\x04\\x05\\x52\\x14\\x15\\xfa\\x3d\\x5b\\xe2\\x7e\\x1d\\xc7\\xdb\\xf8\\xb1\\x71\\xbb\\xcd\\x94\\xd7\\x10\\x37\\x2a\\x19\\x93\\x89\\x98\\x4e\\x16\\xa5\\xa6\\x8f\\xcd\\x64\\x33\\xb1\\x3a\\x5d\\xb8\\x21\\xae\\xfb\\x50\\x21\\x20\\x7a\\x6d\\xa3\\xd1\\xf4\\x0a\\x1b\\x39\\x39\\x57\\xee\\xc2\\x5a\\x90\\xd9\\x3f\\x26\\x2a\\x65\\x10\\xa7\\xfe\\x92\\xd6\\x3d\\x92\\x24\\x13\\x93\\x6e\\x6a\\x72\\x8b\\x45\\x14\\x16\\x78\\x01\\xff\\x43\\x36\\xa2\\xf8\\x6d\\xf6\\xf4\\xde\\xb2\\x23\\x86\\xc3\\xd7\\xfe\\xb0\\xa9\\xf9\\xf2\\xc6\\x0b\\xf0\\xca\\x98\\xb5\\x77\\xdc\\xb9\\xfa\\x0b\\x93\\x2e\\x62\\xdd\\x02\\x9f\\x5d\\xdf\\x6d\\x26\\xc1\\x76\\x1b\\xd6\\xb5\\x7d\\x55\\xf7\\xee\\x55\\xed\\xbb\\xb2\\x67\\x6f\\xaf\\xbe\\xfe\\x19\\xec\\x2e\\x3e\\xcf\\xda\\xab\\xa7\\xc7\\x67\\xde\\x29\\x7e\\x9c\\x37\\xab\\x44\\x3c\\x01\\x07\\x3d\\x06\\xdf\\x20\\xd0\\x6f\\x5f\\x47\\x8a\\x8b\\x23\\xd9\\xc5\\xc5\\x34\\xee\\x28\\xd9\\x93\\x47\\x41\\x11\\xe8\\x00\\x62\\xa0\\x3f\\xb8\\x1a\\x8b\\x77\\xee\\xd2\\x25\\xd6\\x11\\x45\\x3a\\xa2\\xdc\\xae\\xa0\\x77\\x6e\\x28\\x0c\\x72\\xc3\\x88\\x6f\\xef\\x70\\x1b\\xcb\\xcb\\x79\\x07\\x3f\\x60\\xa0\\x3b\\x5a\\x17\\xd7\\x87\\xfc\\xa1\\x92\\x10\\xb2\\xa1\\x50\\x0c\\xaf\\x50\\x28\\x14\\x89\\x20\\xe4\\xef\\x17\\x2b\\xe8\\xd1\\x10\\x2f\\x88\\x39\\x83\\x7d\\x0a\\x3a\\xee\\x77\\x3f\\xe5\\xc6\\xde\\x55\\xcc\\xcd\\xa8\\x41\\xbf\\x59\\xfd\\x18\\x23\\xea\\x47\\x3a\\xd6\\x2a\\xb5\\x7d\\x3a\\x92\\x3f\\x8d\\x4e\\xfa\\x67\\xcc\\xa6\\xd6\\xf7\\x71\\xf7\\xeb\\xd8\\xb1\\x9f\\x1b\\x15\\x77\\x56\\x16\\x5b\\x8b\\x6b\\xe3\\x46\\x9d\\x95\\xc8\\x14\\x69\\x39\\x4b\\xf0\\x8a\\x95\\xd0\\x66\\x2a\\xd8\\xd0\\xbb\\x75\\xcc\\x18\\xbc\\xbc\\xd2\\x11\\xa5\\x0b\\x4c\\xab\\x6c\\x32\\xea\\x5a\\x13\\x85\\x17\\xd1\\xc4\\x92\\xd3\\xaa\\x5b\\x81\\x75\\xc2\\x54\\xf2\\x4b\\x22\\x83\\x23\\xad\\xd9\\x8a\\xdc\\x72\\x1d\\xef\\x01\\x4c\\x34\\x5a\\xc1\\xeb\\x6e\\x6e\\xbd\\x0d\\x03\\xa3\\x95\\x90\\xc9\\xef\\xe8\\x0a\\xf6\\xe8\\x3d\\x71\\x14\\xcf\\x77\\x3d\\xb1\\x6a\\xdf\\x01\\x78\\xf1\\xdb\\x69\\x73\\xe7\\x4f\\x51\\xfd\\x3e\\xeb\\xe7\\xb2\\x52\\xb2\\x35\\xe2\\xbe\\x71\\x3b\\xeb\\xcf\\xcd\\x5f\\xd2\\x33\\x3e\\x99\\x6c\\xcd\\x98\\xe4\\xd6\\x7c\\x59\\x31\\xd2\\xd3\\x49\\xfc\\x58\\x2c\\xae\\xad\\x13\\x66\\x19\\xa6\\xce\\x5a\\x38\\xed\\xf1\\x5d\\xb4\\x03\\xcb\\xea\\x39\\x43\\x46\\x18\\xbf\\x2a\\xf1\\x8c\\x28\\xc7\\x1b\\x76\\xbd\\x72\\xf4\\x9e\\x7a\\xd2\\x7f\\x65\\x42\\x7d\\xfd\\x44\\x6e\\x82\\xe5\\x79\\x6f\\xe3\\x3f\\x93\\x7b\\x96\\xb4\\xd1\\x8f\\x26\\x6c\\x74\\xec\\xad\\xfd\\x3b\\x0d\\x5b\\x07\\x72\\x8d\\x36\\x27\\x4a\\xbf\\x3b\\x92\\x8d\\xde\\x98\\xb0\\xd1\\x13\\x7d\\x04\\x50\\x67\\x6c\\xa3\\x8f\\xec\\x1c\\x33\\xe5\\xa4\\xfd\\x2c\\xed\\xcd\\x45\\xc7\\xde\\x23\\x8f\\x3d\\x51\\xc2\\x36\\x40\\x61\\xec\\x92\\x4c\\x0a\\x67\\xb7\\xf0\\x7f\\x69\\xcf\\x06\\x3a\\xf6\\x73\\xd2\\xd8\\x13\\xa5\\xb1\\xb3\\xf0\\xd8\\x13\\xb3\\x72\\x54\\xe9\\x76\\x88\\x74\\x47\\xf7\\x26\\xfc\\x1d\\xe6\\x4d\\xc6\\x03\\x7e\\x02\\xce\\x53\\x88\\xa1\\x9e\\xef\\x99\\x1b\\xa7\\x1b\\x6d\\xe6\\x74\\x8f\\x07\\x7f\\x66\\x2c\\x8d\\x3d\\x1c\\x31\\x25\\xb0\\xe8\\xdf\\x84\\x1f\\x03\\x40\\x3f\\xd3\\x51\\x72\\x65\\xc6\\x34\\xb6\\xaf\\x94\\xe2\\x0f\\x2d\\x30\\xfa\\x9f\\x4c\\xce\\x73\\x15\\xfb\\x55\\x52\\xaf\\x34\\x27\\x8d\\x0f\\xb4\\xec\\x11\\x29\\xc5\\x37\\x9e\\x4b\\xce\\x71\\x95\\xa9\\xa3\\xb2\\x88\\x4c\\x81\\x67\\xb8\\xdc\\xd8\\x31\\x9a\\x8a\\x70\\xdc\\x48\\xe0\\x43\\xef\\x4d\\xe2\\x43\\xbf\\xc9\\x64\\x51\\x3e\\x18\\x82\\xf1\\x4e\\xd0\\x3d\\x0e\\x35\\x5a\\x8c\\x50\\x9d\\x41\\xd3\\x1c\\x8a\\x11\\x7d\\x44\\xc6\\x88\\x26\\x7c\\xfc\\x24\\xf3\\x91\\x2d\\xf1\\xb1\\xb5\\x31\\x1c\\xd0\\x5a\\x32\\x3e\\x23\\xcd\\xf3\\x64\\x72\\x9e\\xab\\xcc\\x22\\xa9\\x97\\x98\\x9d\\xca\\xc8\\x5f\\x1a\\xed\\x7a\\xa8\\x6e\\x85\\x43\\xfd\\x5c\\x72\\x8e\\xab\\xd4\\x9f\\x24\\x7c\\x67\\x93\\x48\\x47\\xb6\\x4f\\x6b\\xc9\\xe0\\xfb\\x2e\\x1a\\xa7\\xd9\\x9b\\xc4\\x5c\\x7d\\x13\\xfe\\x98\\xc9\\x47\\x03\\xe6\\x43\\x8a\\xd5\\x24\\x69\\x5a\\x49\\x63\\x35\\x47\\x64\\x8c\\x58\\xc2\\x3b\\x03\\x24\\x64\\x13\\xab\\x84\\x6c\\xb2\\xb1\\xd1\\xa4\\x67\\x99\\x8c\\xcf\\x48\\xf1\\xa0\\x27\\x93\\xf3\\x24\\xf7\\x83\\x32\\x02\\xec\\xfa\\x36\\xe3\\x41\\xcf\\x25\\xe7\\xb8\\xca\\xcc\\x92\\x74\\x83\\x95\\x46\\x55\\xfe\\xd3\\x68\\xd5\\xb2\\x4c\\x2b\\x9c\\xb5\\xbd\\x49\\x9c\\xb5\\x37\\x19\\x9d\\x7c\\xae\\x82\\xd2\\xb9\\x3a\\xda\\x98\\x89\\x9a\\x26\\xef\\x47\\x5f\\xca\\x47\\x7d\\x8b\\xfd\\x08\\x27\\xf6\\x23\\xe0\\x6d\\xf1\\x19\\x69\\x9e\\x27\\x93\\xf3\\xa4\\xce\\x55\\x90\\x9c\\xab\\x60\\xcb\\x1e\\x7f\\x52\\xdc\\xe9\\xb9\\xe4\\x1c\\xa9\\xfd\\x08\\x93\\xfd\\x08\\xbb\\x5b\\xfc\\xbc\\x84\\x99\\xb5\\x37\\x89\\x99\\xf5\\x26\\x53\\x9a\\xc9\\xc7\\x0e\\xcc\\x07\\xa7\\xcd\\xe4\\x83\\xe2\\x66\\x1d\\x49\\xe0\\x71\\x25\\xf9\\x60\\xb0\\xd1\\x40\\xf7\\x63\\x36\\xfe\\x8c\\xda\\xda\\xea\\x5c\\xed\\xa6\\x7c\\x54\\xca\\x74\\xcd\\x90\\x7a\\x1b\\x06\\x29\\x36\\xd7\\x1b\\x8d\\x41\\x27\\xd7\\x1a\\x9b\\xeb\\xb9\\xe4\\x1c\\x57\\x99\\x35\\xb2\\xdd\\x14\\x24\\xa8\\x89\\x41\\xa7\\x34\\x7e\\x0b\\x0c\\x9d\\xbd\\x49\\x1c\\x9b\\xc4\\x3d\\x67\\xa0\\x57\\x3a\\x57\\xa7\\x1b\\x5d\\x76\\x21\\xb3\\xaf\\xc6\\x52\\x1a\\x47\\x3b\\x92\\xc4\\x9b\\x79\\x13\\x8a\\x32\\x1f\\x11\\x89\\x8f\\x1d\\x8d\\x21\\xbf\\x53\\x93\\xf1\\x19\\x69\\x9e\\x27\\x93\\xf3\\xa4\\xce\\x95\\x97\\x9c\\x2b\\xaf\\xb5\\xcd\\x58\\xdd\\x73\\xc9\\x39\\xa4\\xfd\\xc0\\xe7\\x2a\\x22\\x47\\xeb\\x22\\x5e\\xa7\\x26\\x03\\xab\\xab\\x3a\\x1d\\xab\\x8b\\xf9\\x82\\x99\\x09\\x28\\x06\\x8e\\xa1\\xac\\x5d\\x26\\x56\\x57\\x75\\x3a\\x56\\x57\\xea\\xe7\\xf8\\x82\\xd2\\x74\\xac\\xae\\xfe\\xf8\\xe7\\x52\\x78\\x5a\\x69\\x3f\\xc7\\x69\\x8c\\x5c\\x5a\\xbf\\xd3\\x73\\x62\\x75\\x1a\\x9e\\x56\\xfa\\xbc\\x2e\\x3f\\xd4\\xcb\\x3f\\x47\\x72\\x1b\\xb0\\x5f\\x57\\x86\\xed\\xbb\\x10\\x18\\x1e\\x2b\\xb2\\xda\\x94\\x01\\xb5\\x57\\xcd\\xe8\\xf1\\xa9\\x05\\x5e\\xc6\\xc6\\x86\\xb3\\x48\\xb5\\x5c\\x40\\xa9\\xb4\\xaa\\xf1\\x2f\\xc6\\xc9\\xa0\\xb1\\x71\\xc6\\xe9\\x34\\x8d\\x8d\\x3b\\xd9\\xf4\\x24\\x64\\x62\\xc2\\x10\\x93\\x24\\xe3\\xdd\\x20\\x91\\x84\\x66\\x80\\x95\\x59\\x80\\xb4\\xbb\\xe3\\xb9\\xca\\xc2\\x8c\\xd6\\xed\\x24\\xf3\\x84\\x00\\x87\\xb0\\x65\\x4d\\x5b\\xe1\\x70\\x78\\x6b\\x7e\\xe4\\x38\\xf6\\x79\\x27\\xc3\\x1e\\x9b\\x97\\xcf\\x79\\xb0\\xcb\\xee\\xa1\\x3f\\x1f\\x59\\xf3\\xc7\\x3b\\x3a\\xf6\\x8a\\xd5\\xc2\\x29\\xcd\\xff\\x10\\x6f\\x3c\\x32\\x1e\\x96\\xff\\xb1\\xef\\x9a\\xdc\\xf5\\xf7\\x3c\\x31\\xf3\\x1f\\xfb\\xee\\xbc\\x6b\\xc8\\x8c\\x41\\xdb\\x56\\x8f\\x3a\\x32\\x75\\xd4\\xdd\\x7d\\x3a\\x3d\\x81\\x79\\x39\\x8c\\xfd\\x4d\\x03\\x3b\\x10\\x64\\x83\\xb1\\x31\\xab\\xcb\\x9d\\xa5\\x0e\\xea\\x74\\xac\\x02\\x58\\x82\\x41\\xc0\\xba\\xd9\\x9c\\x5c\\x9d\\x5e\\xca\\x49\\xce\\x52\\xab\\x5d\\x3a\\xfc\\x8b\\xf5\\xb1\\x9c\\x84\\x69\\xc0\\xfa\\x7c\\xf6\\xda\\xb8\\xcf\\xf0\\xbf\\xe5\\x29\\x62\\xe1\\x59\\x99\\x99\\x1c\\x9e\\x15\\x2a\\x49\\x26\\x79\\x8b\\x46\\xed\\x98\\x2b\\xc3\\x19\\x71\\xa5\\x28\\xc2\\x2e\\xb0\\x4f\\x51\\xc1\\xed\\xe2\\x5b\\x7b\\xfe\\xfe\\xe1\\xea\\x1e\\x8b\\x17\\xdc\\xb5\\x2e\\x72\\xb4\\xe2\\xfd\\xe7\\x2f\\xfd\\x39\\x56\\x5d\\xd5\\xed\\xef\\xf7\\x36\\xff\\xb1\\xdd\\x03\\x03\\x7e\\x7c\\xb0\\xa6\\xbf\\xb3\\xe2\\x56\\xf7\\xce\\xf2\\xba\\x5b\\xe7\\xf6\\x9d\\x3c\\x63\\xe8\\xe8\\x60\\xc3\\xfa\\x27\\x1f\\xab\\x6d\\xa8\\x2c\\x59\\x08\\xd2\\x30\\x4a\\xc9\\xd9\\x2e\\x68\\x3b\\x1e\\x9e\\x16\\xb5\\x48\\x61\\xd1\\xff\\x9e\\xd6\\x32\\xd5\\xc5\\x0a\\x59\\xb3\\xd9\\xe2\\x74\\xd8\\xac\\x2e\\x8f\\x57\\xad\\x52\\x79\\x5d\\x0e\\x0b\\xe7\\x0f\\x78\\x1c\\x36\\xc7\\x96\\x51\\x36\\x57\\x43\\xdc\\xc6\\xa9\\x49\\xb9\\x64\\x6d\\x9c\\x05\\x02\\x5e\\x84\\x0b\\x92\\x33\\x96\\x8c\\x5b\\xa4\\xb9\\x60\\x72\\x86\\x79\\xb4\\x0d\\x78\\x74\\x98\\x0c\\x61\\x64\\xa2\\xd0\\xc3\\x9f\\xe5\\x10\\x06\\xd7\\x43\\x94\\x50\\xd2\\x4b\\x98\\xd3\\x14\\x25\\xfd\\x6e\\xee\\x59\\x29\\x8a\\x01\\xa9\\x9f\\xd1\\x19\\x9f\\x43\\x13\\x28\\x89\\xd9\\x35\\x0a\\x05\\xf6\\x85\\x95\\x26\\xb3\\x45\\x83\\x77\\x70\\x5c\\x5c\\xc7\\xaa\\x10\\x50\\xd2\\x92\\x8a\\x9a\\x16\\xa1\\x14\\x92\\x66\\x2b\\x2d\\x3d\\x2d\\xa5\\x90\\x12\\xdf\\xd1\\x86\\xbb\\x56\\x0e\\x7d\\xba\\x7d\\xe3\\xd3\\x8f\\xfd\\xe5\\xec\\x31\\x71\\x38\\x77\\xcb\\xbe\\xad\\xb7\\x0f\\xb8\\xfe\\x19\\xd7\\xeb\\xbe\\xc7\\xae\\x7e\\x7e\\xed\\x24\\xf1\\xb9\\xb3\\xf0\\x59\\x79\\x95\\xd6\\xbc\\x96\\x80\\x8e\\x60\\x5a\\xac\\x3a\\x8b\\xf7\\x86\\xda\\x99\\x4c\\xf9\\xda\\x50\\xa9\\xdd\\x1e\\x0a\\xf0\\x6c\\xa7\\xce\\xa1\\x76\\x5e\\xe4\\x46\\xee\\xea\\xda\\xb8\\xdf\\xed\\xd1\\x43\\x4b\\xb4\\x36\\x6e\\xb2\\x58\\x90\\x52\\x59\\x44\\xda\\xf7\\x19\\x50\\x4e\\xa6\\xeb\\x2a\\x79\\xdf\\xd5\\xd4\\x29\\xbb\\x98\\xec\\x19\\x25\\xbf\\xf3\\x25\\x63\\x3e\\xad\\x5b\\x9d\\xd8\\xdb\\xc9\\x05\\x15\\x04\\x14\\x92\\x98\\x91\\x99\\x6d\\x4f\\x24\\xee\\xa4\\x3a\\xdf\\xcd\\x45\\x6b\\xa6\\x9c\\x78\\xf0\\xe0\\xe3\\xd3\\xd6\\x14\\x30\\x4c\\x23\\xd3\\xb5\\xd3\\x8a\\x2d\\x7d\\x16\\xf7\\x7b\\x76\\x50\\x9f\\xa1\\x33\\x17\\xce\\x10\\xeb\\xe3\\x77\\x2c\\x9e\\x3a\\x65\\xd1\\x1d\\xa3\\xd0\\xc0\\xea\\x0e\\xd9\\x5d\\x02\\xbd\\x3b\\x57\\xd4\\x3c\\x39\\x7d\\x38\\xb4\\x40\\x07\\xf4\\x40\\xd7\\xc8\\xdb\\x16\\xc2\\x17\\xaf\\x9b\\xf7\\xdb\\xd7\\xff\\x6e\\xf0\\xec\\x2e\\xcf\\xf7\\x58\\x34\\xef\\xe8\\xb8\\xf7\\xe1\\xac\\x2f\\xce\\x5f\\xf9\\xdb\\x5f\\x2e\\xbe\\xd4\\x34\\xa8\\xb4\\xab\\xd7\\x52\\x7b\\x6b\\xb5\\x74\\x7e\\xc8\\x1b\\xe2\\x1c\\x6e\\x17\\xc8\\xc1\\x7a\\x6a\\x42\\xac\\xa2\\xd8\\xe0\\xe3\\x2d\\xc8\\x8e\\xb2\\xb2\\x72\\xdc\\x76\\xd6\\x90\\xab\\x32\\xa8\\xa2\\x15\\xbc\\xc5\\x52\\x10\\x0c\\x16\\x8c\\x8b\\xbb\\xdc\\xf8\\x77\\xd0\\x15\\x04\\x5a\\x90\\x33\\x2e\\x8e\\xbd\\xd6\\xb2\\x71\\x71\\xad\\xb9\\xe5\\x65\\x92\\xa0\\x35\\x8c\\x89\\xdd\\x33\\xa5\\xd2\\x27\\xc9\\x2e\\x4a\\xb2\\xc0\\x4a\\xfe\\x20\\x7d\\xc1\\x49\\xb5\\x7e\\xa5\\xd4\\x1f\\xd3\\x9a\\x28\\xcb\\x20\\xb7\\x2d\\x05\\x9d\\x14\\x60\\x16\\x7d\\xf0\\x4b\\xc3\\xb2\\x7b\\x1e\\x12\\xbf\\xfe\\x4f\\xb3\\xf8\\xfd\\xb1\\x35\\x1b\\x57\\x7e\\xf6\\xe1\\xc6\\xd5\\x0f\\x37\\x6c\\xdf\\x77\\xcf\\x26\\xd8\\xf5\\xcc\\x43\\x7b\\x4f\\x3d\\xfd\\x28\\xac\\xe7\\x76\\x71\\x7f\\x3c\\xb8\\xe4\\x84\\x9d\\xb5\\x9d\\xb9\\xfb\\xc5\\xf7\\xdf\\x7b\\x71\\xf3\\xef\\x2d\\x6c\\x64\\xe9\\xf8\\x4d\\xf7\\xb1\\xab\\xd8\\xc1\\x43\\xe2\\xb7\\x2e\\x5f\\x38\\x63\\x39\\xd7\\xb4\\x61\\xc9\\x96\\xfb\\x57\\xad\\xbc\\x5b\\xe2\\x9d\\xd8\\x72\\x03\\xb8\\xab\\x98\\xf7\\x0a\\xd0\\x2b\\x16\\x29\\xb0\\x47\\x7c\\x2a\\x54\\x66\\x34\\x22\\x2d\\xef\\xf6\\xd9\\x85\\xca\\x76\\x5a\\x17\\xb6\\xa6\\x72\\xeb\\xe2\\x00\\x08\\x41\\x8b\\xa5\\x98\\x74\\xa1\\x92\\x99\\x2d\\xaf\\x96\\x12\\xaa\\xaa\\x5b\\x26\\x0b\\x4a\\xd4\\x57\\x65\\x72\\x99\\x9d\\xc6\\xa5\\x5d\\x6a\\xf9\\x99\\x70\\x12\\x2a\\x2b\\x8a\\x21\\x33\\x79\\xe9\\xa6\\xba\\xbe\\x7d\\x37\\x2f\\x5e\\x3e\\x6b\\xd5\\xfd\\xe2\\x8d\\x2f\\x3f\\x17\\xef\\x5f\\x75\\xe7\\x8a\\xc5\\x9b\\xfb\\xf6\\xad\\xdb\\xb8\\x74\\xf3\\x23\\x0f\\xdc\\x77\\xdf\\x9e\\xbe\\x9b\\xd1\\xb4\\x0d\\x4b\\xeb\\x96\\x85\\x67\\xf7\\x78\\x72\\xd6\\xf2\\x27\\x03\\xac\\xff\\x95\\xad\\x7f\\xfe\\xe2\\xcb\\xb7\\xb7\\xfd\\x09\\xff\\xf5\\xc9\\x15\\xb3\\x9e\\xec\\x31\\x3b\\xbc\\xac\\x6e\\xd9\\xfa\\xd5\\x8f\\x6e\\x7c\\xf0\\xa1\\x83\\x7b\\x87\\x6f\\x1e\\x48\\x72\\x76\\x6f\\x40\\xb6\\x81\\xd6\\x4c\\x63\\x8f\\x9e\\x47\\x40\\xaf\\x52\\x41\\x0e\\x70\\x16\\x2b\\xe0\\xcd\\xd8\\x7d\\xd5\\x98\\x5b\\x25\\x98\\x5e\\x68\\xd5\\x86\\xb2\\xac\\xb4\\x4a\\x8e\\xb1\\xd0\\x74\\xbb\\x1c\\x7a\\x5a\\x83\\x7d\\x51\\x39\\x49\\xc9\\x6d\\x7a\\x9d\\x19\\xbc\\xe6\\x5e\\xe3\\x03\\xa6\\xde\\x03\\x9a\\xbe\\xda\\xca\\xba\\xf6\\x6e\\xbe\\xfe\\xb7\\xd5\\xcb\\x06\\x0c\\x08\\x91\\x62\\x7a\\x49\\xef\\xec\\xb8\\xa1\\x66\\x6b\\xd8\\x0e\\x6d\\xd3\\x80\\xaf\\x97\\xd9\\x4a\\x68\\xa8\\x8d\\x23\\xfd\\xff\\x95\\x86\\x1d\\xcc\\x51\\x92\\x72\\xdb\\x3c\\x0c\\xbe\\xb2\\x63\\x9d\\xf9\\x01\\x4b\\xef\\x01\\xcd\\xab\\x36\\xa2\\xec\\xcd\\x1b\\x9b\\xde\\x9f\\x35\\xa7\\xf7\\xb0\\x50\\x59\\x4e\\x4d\\x27\\x90\\x86\\x3b\\x37\\x39\\x69\\xe3\\x27\\x7b\\x91\\x90\\xa7\\x13\\x46\\xad\\x6f\\xdb\\xc6\\xbf\\x94\\x7c\\xc3\\xdc\\x23\\x59\\xf8\\x51\\x6a\\xe1\\xff\\xbd\\xb1\\x2c\\xda\\xe2\\x0d\\xf3\\xa0\\xd8\\x23\\xd5\\x53\\xc6\\x40\\xf0\\x37\\xe7\\x4b\\xef\\x4b\\xf8\\xdf\\x93\\x3d\\x64\\x0c\\x32\\x2e\\x67\\xc2\\x36\\xa4\\x6f\\x39\\xe5\\xad\\xde\\x99\\xbc\\xd2\\x3b\\x93\\x3b\\x81\\xf6\\x9b\\xfe\\xce\\x44\\x6d\\x44\\xfa\\xae\\x57\\x9f\\x78\\xcf\\x32\\x26\\xde\\xf5\\x3a\\x9d\\x62\\x83\\xe4\\x39\\x27\\x48\\x1c\\x65\\xa5\\xd9\\xdc\\x27\\x48\\x9e\\x74\\xe8\\x77\\x26\\xad\\xae\\x4f\\x10\\x91\\xce\\x97\\x6c\\x7a\\x57\\xbf\\xd4\\x13\\x53\\x65\\x1b\\x34\\xfd\\x9a\\x7a\\x5f\\xa2\\x4f\\x77\\x20\\x54\\xdc\\x26\\xfe\\x70\\x5f\\x6a\\xbb\\x51\\x7a\\x08\\xde\\xa3\\x4c\\x4f\\x3f\\xe0\\x8f\\x99\\x51\\x34\\xa6\\x54\\xf6\\x89\\xca\\xdd\\x04\\x13\\xbd\\x07\\xa5\\x47\\xa4\\x34\\x1b\\x79\\x72\\xd2\\x46\\x4e\\xed\\x0b\\xf1\\xbd\\xd4\\xf6\\xb6\\x6d\\xe4\\x4b\\xc9\\xb7\\xd9\\x3d\\x20\\xad\\x3f\\x91\\xd3\\xdd\\x1a\\x4f\\x39\\x8d\\x9f\\xb4\\xf7\\x32\\xea\\x40\\x02\\x8f\\xf7\\x26\\xfc\\x24\\xd7\\x97\\xa1\\x5e\\xad\\xbc\\xbe\\xe5\\x27\\x90\\x37\\xb1\\xb4\\x5e\\xb2\\xb4\\xf4\\x3b\\x03\\x5e\\x5a\\xaf\\xc4\\x60\\x92\\x80\\xc4\\x2b\\x59\\x65\\x1a\\x66\\xe0\\xb4\\x04\\x66\\xa0\\x3c\\x5a\\x02\\x47\\x0f\\xa8\\x33\\xfa\\x23\\x27\\x31\\x09\\xeb\\x13\\x98\\x84\\x89\\x37\\x32\\x0a\\x4a\\x08\\xed\\x99\\x7d\\xf3\\xde\\x11\\x87\\xa1\\xff\\xd0\\x3c\\x0a\\x2f\\xe8\\x1a\\x0b\\x69\\x8c\\x0e\\x00\\x74\\x46\\x13\\x6f\\xe4\\x7d\\x7e\\x82\\xdd\\x04\\x0d\\x0e\\x0d\\x8b\\x90\\xca\\x08\\x55\\xee\\xda\\xb8\\x56\\xe5\\x91\\xeb\\x6b\\x69\\xc1\\x7a\\x41\\xab\\x46\\xea\\xc6\\x34\\xfd\\x44\\xd4\\x93\\x31\\x43\\x25\\x4d\\xef\\xd1\\x51\\x56\\x42\\x0f\\xce\\x5c\\x7e\\x1b\\x3c\\x9c\\xd4\\x3c\\xdc\\xa5\\x6b\\x73\\x1c\\x92\\xaa\\x39\\x37\\xef\\x99\\x61\\xdc\\x2f\\xbf\\x6e\\x4c\\x6a\\x18\\x06\\x6c\\xc0\\xfa\\xf7\\x32\\xb6\\xd5\\x72\\x40\\x94\\xe8\\x17\\x83\\x20\\x28\\x8a\\x1d\\x8e\\x70\\x4e\\xae\\xd7\\x9b\\xa3\\x40\\x15\\x95\\xc5\\x39\\x0e\\xe4\\xca\\x0a\\x86\\x83\\x8a\\x60\\x59\\x6d\\x3c\\xe8\\x31\\x60\\xc5\\x8b\\xe5\\xac\\xc1\\x55\\x50\\x17\\x77\\xb9\\x14\\x6a\\xbd\\xc2\\x2a\\x41\\xb0\\x66\\x64\\xd5\\x60\\x05\\x6c\\xb8\\x68\\x4c\\xd7\\xbb\\x69\\x19\\xad\\x99\\xb8\\xe7\\x72\\x32\\x44\\x0b\\xde\\xb8\\x74\\xd6\\xb6\\xc7\\x86\\x0e\\x9b\\x24\\x03\\x8e\\x33\\xa5\\xcb\\xe2\\x1b\\x17\\xf7\\xe8\\xb8\\x74\\x93\\xcc\\xeb\\xc2\\x19\\xf0\\x40\\x92\\x57\\xe6\\xc9\\xbd\\x0b\\x9f\\x3c\\x98\\xc2\\x20\\xbf\\x6b\\xd4\\xc9\\x97\\x9b\\x67\\x3a\\xd6\\x2e\\x94\\xb8\\x3f\\x3a\\x6e\\x79\\x4a\\xb9\\x32\\x60\\xe5\\x8d\\x6f\\xd0\\xab\\xdc\\x10\\xe0\\x94\\xd0\\x6e\\x02\\x36\\xbc\\x95\\x5a\\xb5\\xde\\x65\\xe7\\xf4\\x5c\\x76\\x8e\\xd3\\x68\\x32\\xd6\\xc6\\x19\\x2f\\x36\\x2e\\xf4\\x01\\x35\\xcb\\x30\\x4a\\x9b\\xc5\\xa4\\xd7\\xd8\\x94\\xe1\\xda\\xb8\\x32\\x81\\xbd\\x71\\x31\\x2a\\x6d\\x56\\xa6\\x4c\\x4c\\xe2\\xbd\\xb6\\xdc\\xb1\\x24\\xd8\\xab\\x39\\x9d\\x3f\\x57\\x8f\\x6e\\xcb\\x37\\x62\\x76\\xce\\xd5\\x11\\x76\\x12\\xc0\\xaf\\x3f\\x62\\xae\\x3a\\x04\\x7a\\x74\\xaa\\xa8\\x81\\x6f\\x27\\xf7\\xef\\xe8\\x38\\xa6\\xbb\\x5c\\x64\\xd7\\x85\\xb0\\x32\\x64\\x64\\xb5\\xf4\\x76\\xd1\\x0b\\xdf\\x8d\\x75\\xd4\\x8e\\x2a\\xc2\\x1e\\xc9\\x98\\x58\\x69\\x96\\x22\\x10\\x8d\\xe6\\x61\\x9b\\x5b\\xcf\\x30\\x79\\xc5\\x6e\\x37\\xca\\x53\\xb0\\xed\\xab\\x8d\\xb0\\xac\\x80\\x3c\\x57\\x3a\\x2c\\x3a\\xb5\\xa1\\x32\\x87\\xc3\\xa6\\x53\\xc0\\xc7\\x70\\xf4\\xc5\\x32\\x1d\\x97\\x20\\xda\\x0a\\x53\\x24\\x2d\\xc7\\x25\\x98\\x5d\\x99\\xf1\\x56\\x49\\x8c\\x27\\x21\\x2a\\x77\\x73\\x94\\x70\\xe8\\x04\\x6a\\x3a\\x91\\xca\\x41\\x9e\\x6e\\x25\\x79\\x25\\x68\\x87\\x25\\x15\\xaa\\x3a\\xbc\\x76\\xee\\xda\\xc5\\x7d\\x27\\x85\\x18\\xe6\\x00\\xc3\\x84\\x26\\xf5\\x5d\\x8c\\xbf\\x3f\\x58\\x8d\\x38\\xb1\\x7b\\xd7\\xde\\x0f\\xed\\xef\\xdd\\x9d\\xf9\\xa1\\x5b\\x9f\\xfd\\x0f\\xf5\\xea\\x56\\x7e\\xeb\\x61\\x88\\x60\\x1e\\x31\\x98\\xba\\xd5\\xcf\\x86\\x0f\\x89\\x63\\x67\\xd7\\x77\\x13\\x3f\\x17\\x3f\\x15\\xdf\\x11\\xc5\\xc3\\xb7\\x96\\x33\\xbe\\xf7\\xde\\x80\\xcf\\xc0\\xfd\\x6f\\xbf\\xfb\\xe7\\x77\\xc4\\xf1\\xe2\\x80\\xcb\\xf2\\x3a\\xe0\\xfb\\xb9\\x8e\\xe2\\xdf\\xe7\\xe3\\x13\\x3d\\x2c\\x56\\x18\\x72\\x96\\x30\\x06\\x43\\x8e\\xdf\\x67\\x2c\\x50\\x28\\x8c\\x4e\\x7c\\xa4\\x83\\xfa\\xa2\\x3c\\x4f\\x1e\\x76\\x33\\x38\\xc6\\x63\\x28\\x8b\\xd8\\x23\\xb5\\x71\\xb3\\x56\\x65\\xb7\\x19\\x3d\\xbf\\xbd\\x06\\xa9\\xc7\\x5a\\x28\\x25\\x0e\\xd3\\xde\\x95\\xd9\\x39\\x61\\x3b\\x3e\\xcd\\x55\\x24\\x0e\\x29\\x61\\x09\\xd8\\xa3\\x15\\x55\\x49\\xf6\\xa1\\x21\\xc1\\xfc\\x31\\x0e\\x55\\x1f\\x5c\\xf5\\x3b\\xec\\x8a\\x8e\\x0f\\x50\\xe6\\x03\\xe3\\x07\\xdd\\x00\\xf3\\x57\\x1f\\xae\\xc2\\xcc\\xbf\\xd6\\xb5\\xef\\xfe\\x87\\x36\\x30\\x3f\\x6c\\x78\\x68\\x7f\\x9f\\x6e\\x6c\\x07\\xcc\\xbc\\xf8\\xbd\\x78\\xa5\\xf9\\xaf\\xbd\\x06\\xce\\x12\\x7b\\xc3\\x67\\x67\\x0d\\xe8\\xcd\\x84\\x60\\x09\\x34\\x62\\xc6\\x9b\\xdf\\xbb\\xfa\\x06\\xdc\\x0f\\x9f\\x11\\x07\\xc1\\x13\\xe2\\x00\\x71\\xfc\\x25\\xc2\\xf7\\x8d\\x1b\\x37\\xb6\\xb0\\x97\\xf0\\xfe\\x6b\\xb1\\xa7\\x61\\x07\\xb3\\x62\\x1d\\x35\\x4a\\xad\\x42\\x61\\xb2\\xe9\\x75\\x7a\\x06\\x21\\x83\\xd5\\x0e\\xb1\\x4b\\x61\\x32\\xf1\\x40\\xad\\xd5\\x3a\\x11\\xcb\\xf2\\xbc\\x03\\x32\\x3a\\x86\\x04\\xc9\\x95\\x1a\\x83\\x95\\x15\\x74\\x3a\\xde\\xa4\\x12\\x10\\x0b\\x48\\x63\\xf7\\xe8\\x45\\xe9\\x64\\x63\\xdb\\x50\\x46\\x53\\x87\\xa9\\xd4\\x2d\\x93\\x64\\x34\\x26\\xa2\\xb3\\x52\\x7f\\x15\\x14\\x84\\xe1\\xaa\\x30\\x8c\\xda\\xcd\\x51\\x25\\x13\\xc5\\xa4\\xea\\xa1\\x5d\\x08\\xb2\\xaa\\x4d\\xe2\\x1d\\x62\\xe3\\xc1\\x01\\xfd\\xa1\\xf8\\x97\\x11\\xd7\\x0e\\x8a\\xfb\\xe0\\x84\\xa6\\xc6\\x62\\x68\\xaa\\x0a\\x6a\\x7a\\x7e\\x72\\x04\\xdc\\x80\\xcb\\x44\\xdd\\x5c\\xae\\xe7\\xf7\\x70\\x7e\\xf3\\x77\\x4d\\xbd\\x19\\x33\\xdc\\x7b\\x70\\x62\\xce\\xdb\\x8f\\x35\\xd1\\xfb\\x99\\x77\\xe3\\x77\\xec\\x63\\xb4\\xcf\\x54\\x16\\xb8\\x23\\xd6\\xd9\\xed\\xc1\\x3a\\x21\\xe0\\x07\\x2c\\xa3\\x51\\xab\\xad\\x82\\x42\\x61\\xb1\\x5a\\xf5\\x2e\\x86\\x8d\\x64\\xf3\\xca\\x80\\xce\\xaf\\x07\\x2e\\x05\\xeb\\x71\\x00\\x82\\x63\\x61\\xb1\\x38\\x1c\\xc6\\xb1\\x71\\x87\\x99\\x0d\\x61\\x3b\\x4a\\x23\\xb0\\x2c\\xa9\\x79\\x4d\\xc9\\x28\\x92\\x69\\x60\\xb8\\x60\\xb2\\xb7\\xc0\\xa7\\x22\\xe0\\x20\\xf4\\xcd\\xa6\\x2a\\x9b\\xc2\\xfd\\x55\\x45\\x11\\x29\\x28\\x93\\xfa\\xc8\\x4a\\xb5\\x25\\x39\\x42\\x18\\x4a\\x0d\\x65\\x99\\xef\\x96\\x30\\x8e\\x07\\x67\\xcd\\x39\\xf8\\x44\\x87\\xf0\\x11\\xad\\x4e\\xb4\\x0c\\xb9\\x57\\xc6\\x01\\xfc\\xc3\\xaa\\x35\\x07\\xa1\\x31\\x07\\x7e\\xd8\\xff\\xf6\\xc7\\x1e\\x3e\\x73\\x12\\x76\\x62\\x4e\\xf4\\x3d\\x2b\\x7e\\xd6\\x6f\\x74\\xd7\\x88\\xa7\\xe9\\xc3\\x71\\x14\\x0a\\x70\\xc2\\x7b\\xa8\\xfc\\xb9\\xc5\\x48\\x5d\\x43\\x01\\x00\\x19\\xda\\x4f\\x67\\x38\\xad\\xcd\\x8f\\x80\\x19\\xb1\\x2e\\x1e\\xaf\\x57\\xab\\xd1\\xd8\\x54\\x7a\\x21\\x68\\x70\\x07\\x80\\x82\\x51\\x28\\x95\\x36\\xc6\\x96\\x9d\\x23\\xa8\\x82\\xfa\\x80\\x01\\xb8\\x15\\x9c\\xd7\\x09\\xac\\xe3\\xac\\x8c\\x1e\\x59\\xad\\x4e\\xa7\\xa9\\x36\\xee\\xb4\\x71\\x58\\x32\\x69\\xb5\\x0a\\xce\\x70\\x73\\x66\\x89\\x80\\x2a\\x49\\x04\\xd6\\x29\\xab\\x91\\x6c\\xe9\\xd0\\x9a\\xdb\\xe0\\x15\\x25\\x78\\xe5\\xe1\\xc8\\xfb\\xff\\xf9\\x71\\xdf\\x4e\\x4f\\x37\\xbc\\xb2\\x32\\xf0\\xac\\x3a\\x24\\x9e\\xab\\xaa\\x1b\\xb7\\x52\\x7f\\xca\\xfa\\xf1\\xe3\\x73\\x47\\xfc\\xb1\\x01\\x2a\\x8b\\x60\\x69\\xa8\\x70\\xeb\\x8a\\xf8\\x36\\x58\\x09\\x8d\\xd0\\x6f\\x80\\x0d\\x62\\xe7\\x61\\x47\\x74\\x3d\\x8a\\x9b\\x8b\\xc3\\x53\\x66\\x68\\xf6\\x3e\\x17\\x11\\x7b\\xa1\\xd7\\x8e\\x4f\\x62\\x8e\\xa9\\xce\\x51\\xbb\\x73\\x42\\xb2\\x5f\\x0b\\xb6\\x3b\\x49\\xbf\\x16\\x25\\xd0\\x00\\x8d\\x4e\\xaf\\xa2\\x16\\xaf\\x80\\x4d\\xde\\x96\\x5d\\x5a\\x4a\\xd2\\xa0\\xaf\\x4c\\xf2\\x3e\\x51\\xf8\\xec\\x64\\xea\\xfa\\x77\\x9b\\x36\\xbd\\x00\\x77\\x88\\x77\\xe0\\xcb\\x35\\x7a\\x2f\\x33\\xa0\\xf9\\x99\\xbd\\x62\\x6c\\x6f\\xda\\x39\\x32\\x50\\x04\\x99\\x1c\\x8e\\xe7\\x95\\x4a\\xa4\\xd1\\x6a\\x0d\\x06\\x23\\xc3\\xe0\\xa9\\x2c\\x56\\x33\\xa0\\xf5\\x99\\x46\\x88\\x4f\\x0a\\xd2\\x69\\x54\\x88\\x27\\x0d\\xa1\\x2e\\x90\\x4b\\x60\\xa7\\xe5\\x0f\\xad\\x60\\x88\\x12\\x75\\x5d\\xa4\\xce\\x30\\x0c\\x49\\xb6\\x68\\x55\\x54\\x88\\x5a\\xb9\\xaa\\x30\\xfa\\x55\\xbc\\x74\\x4e\\xbc\\x70\\x10\\xfe\\x55\\xec\\x89\\xa6\\x0d\\x3e\\x38\\x38\\x57\\xec\\xb9\\x7d\\x3b\\x7b\\x54\\x54\\x36\\x0f\\x84\\x8b\\x9b\\x9b\\x90\\x96\\x89\\xec\\x5d\\xbf\\x7e\\xef\\xf7\\xdf\\x93\\x75\\x78\\x0a\\xeb\\x5f\\x1f\\x7b\\x0b\\xf6\\x7d\\x6f\\x8b\\xe5\\x38\\xec\\xd1\\xec\\xa2\\x42\\x1f\\x00\\xda\\x42\\x2e\\xdb\\xce\\x77\\xea\\x1c\\xad\\x0a\\xf9\\x58\\x94\\x97\\x57\\x8a\\x95\\x50\\x11\\x34\\xa1\\xa2\\xa2\\x3c\\x83\\x41\\x29\\xc1\\xa9\\x1a\\x10\\xe9\\xed\\xe9\\x70\\x48\\xb8\\xa0\\x74\\xbf\\xa5\\xa2\\xe5\\xa8\\x94\\x47\\x93\\xe1\\xf7\\x26\\xca\\x5d\\x48\\x72\\xa2\\x9d\\xd6\\x6a\\x48\\x5b\\x5c\\x02\\xb3\\x73\\xd2\\xea\\x5f\\x4a\\x60\\x31\\x23\\x3d\\x9d\\x24\\xa1\\xd9\\x68\\x95\\x07\\xeb\\xfb\\xe2\\xcd\\x60\\xaf\\x97\\xdc\\x3d\\xdd\\xd8\\x17\\x1f\\xd7\\xfe\\xf6\\xf6\\x7b\\x96\\xdd\\xdd\\xb7\\xfb\\x00\\xfd\\xda\\xea\\xb5\\xf3\\x36\\x2e\\x1f\\x71\\xdb\\xca\\x07\\x56\\xf7\\x7b\\xeb\\xd5\\x67\\xde\\xf2\\x1c\\xd4\\xaf\\x9e\\xb9\\x68\\x6e\\xe9\\xad\\xf7\\x6d\\x5d\\xd6\\x37\\x17\\x16\\xec\\x7e\\x44\\x75\\xd5\\xeb\\xf0\\x04\\x67\\x77\\xcc\\xdf\\xf3\\x70\\xfd\\x90\\xf1\\xf6\\xe1\\x23\\x3a\\x0f\\x19\\x12\\xab\\x75\\x85\\x72\\x07\\xcc\\xac\\xdd\\xf9\\xc0\\xb2\\xcd\\x96\\x3e\\x03\\xfa\\xdd\\x52\\xdc\\x29\\x3f\\x92\\xd5\\xb9\\xdf\\x78\\xbc\\x1e\\xc7\\xf0\\x7a\\xdc\\x85\\xfd\\x11\\x2f\\xe8\\x1e\\xb3\\x02\\xbb\\xd3\\xab\\xf6\\xba\\xec\\xac\\xcf\\xef\\x75\\xb9\\x5d\\xb5\\x71\\xb7\\x5e\\x47\\xf3\\x90\\xd5\\x71\\x9d\\xdd\\x81\\xe5\\x1c\\xc9\\xf6\\x95\\xfd\\x92\\x44\\xc1\\x76\\x5a\\xa0\\x04\\x1f\\xee\\x72\\x1f\\xf4\\x43\\xc2\\x9d\\xc4\\x6e\\x31\\x16\\x4c\\xc5\\xb0\\x20\\xf1\\x2e\\x3d\\xb7\\x4b\\x5d\\xb7\\x1e\\xc7\\xbc\\xe5\\x81\\x8a\\x4e\\x84\\xa9\\xb2\\x81\\x3d\\x3b\\x1c\\x88\\xf4\\x18\\xb8\\x97\\xb9\\xb7\\x79\\x07\\x6a\\xbf\\xd9\\x5a\\x52\\xfb\\x4a\\xd8\\xd3\\x63\\x76\\xc7\\x32\\x5f\\xfb\\xde\\x2f\\x16\\x06\\x36\\xa3\\xac\\xcd\\x1b\\x31\\x8d\\x51\\x7a\\x76\\x77\\x01\\x1b\\xa8\\x8a\\x79\\x6c\\x04\\xab\\x13\\x68\\x90\\xdd\\x81\\xac\\xe3\\xb0\\xab\\xa6\\x07\\x6a\\xb5\\x5e\\xaf\\x18\\x17\\xd7\\x03\\x5a\\x68\\x97\\xc0\\x3e\\x28\\x49\\x4f\\xd8\\x0e\\x1a\\xb1\\xdf\\x6c\\x4c\\xbc\\x57\\x65\\x45\\x03\\xc0\\x68\\x61\\x04\\x23\\x7c\\xbe\\xe2\\x16\\x38\\xe4\\x89\\xc6\\x35\\x47\\x5d\\x27\\xb3\\xa0\\xf2\\x2d\\xc8\\x41\\xcb\\x8d\\x0f\\x19\\x87\\x0e\\xae\\xb8\\xf8\\xec\\xbc\\xf9\\xde\\x87\\x4f\\x89\\xff\\x16\\xaf\\x7f\\x2d\\x7e\\xa9\\x10\\xd7\\x10\\xac\\x7a\\x4c\\x07\\x8b\\x75\\x9d\\x05\\xb4\\x8f\\x79\\x2d\\x80\\x35\\x18\\x80\\x0a\\x11\\xbc\\xa8\\xba\\x38\\x84\\x5a\\x40\\x0a\\xb8\\x04\\x2c\\x11\\x0c\\x32\\x6c\\x73\\xdb\\x84\\xc8\\xf1\\x8d\\xb4\\x88\\x99\\x91\\xb1\\x6d\\x3d\\x74\\xc7\\xf2\\x17\\x3c\\xcf\\xba\\xde\\x3d\\x74\\xf9\\x83\\x43\\xf7\\xc1\\xe3\\xdb\\x16\\xaf\\x5d\\x79\\x41\\xb7\\xeb\\x89\\xab\\x2f\\x6d\\x7d\\x35\\x5b\\xbc\\x88\\xf5\\x6c\\x30\\x59\\xcb\\xef\\x03\\xd9\\x60\\x69\\xac\\x8f\\x5e\\x93\\x65\\x77\\xbb\\x15\\xac\\x5f\\x63\\x02\\x40\\xe3\\x60\\xd9\\x9c\\x5c\\x17\\x2f\\xf0\\xe3\\xe2\\x76\\x41\\x9f\\x65\\xcb\\xb2\\x8d\\x8d\\x2f\\xcf\\x82\\x20\\x2b\\x90\\x55\\x9a\\x85\\x6a\\xb3\\xfe\\x99\\xc5\\xe8\\x05\\x02\\x38\\x94\\x25\\x64\\xb1\\x4a\\x65\\x98\\xe0\\x2c\\xb2\\xee\\x74\\x04\\xe4\\x54\\x3f\\xa4\\x31\\xb3\\x67\\xcb\\x11\\x8b\\x36\\x32\\x11\\x52\\x40\\xc8\\x14\\x4f\\x2a\\x1d\\x01\\x99\\xe2\\x3e\\x07\\x5b\\xa2\\x20\\xe7\\xae\\x5c\\x09\\xf7\\x26\\x01\\x90\\x9b\\xe0\\x6d\\x58\\x27\\xa9\\x28\\x0a\\xf2\\x47\\x9f\\x48\\x28\\xc8\\xb0\\xcf\\x5a\\xb4\\x20\\x85\\x7f\\x7c\\x6c\\xed\\x53\\x49\\x00\\x64\\x06\\xa8\\xb1\\x9d\\xf5\\x07\\xcc\\x37\\x89\\xe7\\xf5\\x8e\\x85\\x5d\\x06\\x83\\x5a\\xef\\x34\\x9b\\x91\\x45\\x6f\\xf1\\x07\\x5c\\x88\\x76\\x28\\x30\\x02\\xbc\\xf0\\x66\\xcc\\x9c\\x95\\x80\\x91\\xc8\\xb5\\xde\\x44\\x80\\x45\\x93\\xa2\\x24\\xb3\\x34\\x81\\xa4\\xb5\\xd1\\x42\\x7a\\x63\\xa5\\x2c\\xcf\\x8c\\x51\\x48\\xe0\\x16\\x82\\xe4\\xfe\\xb1\\x9d\\xd7\\xae\\xfd\\xb4\\xe9\\x87\\xff\\x59\\xbd\\xfa\\x05\\xa6\\xfc\\x9c\\xe8\\x7f\\x68\\x55\\xf3\\xeb\\x15\\xf3\\x98\\xef\\x76\\x4f\\x13\\xff\\xfd\\xe3\\x57\\x10\\x2d\\xd9\\xcd\\x8c\\x68\\x3e\\xc2\\x8c\\xb8\\xde\\xed\\xf0\\xdb\\x43\\x6f\\xdb\\x71\\x6f\\x77\\xe2\\xa7\\xa8\\xf0\\xfe\\xfc\\x81\\x62\\x5d\\x0c\\xa0\\x76\\xd1\\xc1\\x1b\\x01\\xec\\x03\\x5f\\xa2\\xbd\\x25\\xdd\\x60\\x6b\\x6c\\x18\\xd6\\x90\\x2c\\x6f\\xb3\\xba\\x9c\\x88\\x67\\x04\\x60\\x34\\x68\\x35\\x4a\\x5e\\x41\\xf0\\x18\\x58\\xac\\x59\\xcd\\xac\\xd9\\xe3\\xd5\\xd8\\x39\\xfb\\xd8\\xb8\\xc1\\x6d\\xc1\\xfb\\xa2\\xf5\\x5b\\x4a\\x2c\\x8c\\x1e\\x7f\\xa9\\xb1\\x8c\\xb5\\x2c\\xb7\\x3c\\x65\\xf9\\xc8\\x22\\xf8\\xb1\\x9e\\x65\\x95\\x02\\x87\\x8c\\x0e\\xd6\\x31\\x36\\xce\\x48\\x80\\x69\\x17\\x25\\xb3\\x89\\xda\\x0f\\xa4\\xbf\\x4c\\x46\\x6f\\x86\\x54\\x2e\\xbb\\xdc\\xbb\\x5d\\x3e\\x86\\x02\\x36\\x1e\\x8c\\x92\\x08\\x0d\\xa3\\x28\\xa9\\x9a\\xb7\\xc2\\x20\\xa9\\x4a\\x32\\x87\\xe1\\x3b\\xe3\\xb7\\x8e\\x7f\\x98\\xf9\\xba\\x43\\x43\\x07\\xff\\x6d\\xa7\\x3e\\x14\\x3f\\xb9\\xc8\\xf4\\x6b\\xba\\x01\\xcb\\x4f\\x89\\x8e\\xbc\\x8b\\xdf\\x7f\\xfc\\x31\\xd7\\x13\\x0b\\x53\\x71\\xe4\\x1e\\x31\\xba\\x17\\x21\\xf8\\xc8\\xf5\\x1f\\xe1\\x65\\xc0\\x82\\x85\\xe2\\x08\\x76\\x14\\xb5\\x1d\\xc2\\xd8\\xb7\\x29\\x00\\xbb\\x63\\x23\\x02\\x59\\x59\\x46\\x5b\\x28\\x98\\x93\\xad\\xe7\\x75\\x76\\x0d\\x04\\x05\\xf9\\x4e\\xde\\xa1\\xd5\\x12\\x54\\x55\\xc1\\xee\\x70\\xe4\\x7a\\x3c\\x82\\x11\\x15\\x16\\xd9\\x61\\x28\\x3f\\x1b\\xb2\\xc8\\x6b\\x21\\xa6\\x3f\\x3e\\xb0\\xb5\\xf1\\x02\\x8d\\x5e\\xe5\\xb4\\x59\\x02\\x01\\x95\\xc5\\xa0\\x73\\xab\\xb0\\x03\\x94\\x6a\\x3f\\xa3\\x92\\xdb\\xcf\\xc8\\x55\\xe9\\x25\\x26\\x92\\xb6\\x58\\x2d\\x33\\x4d\\x13\\x1b\\x6b\\x5a\\xa5\\xbf\\x67\\xf0\\x0e\\x51\\x86\\xc6\\x35\\xa7\\xe9\\x63\\xa3\\x95\\xb6\\xa0\\x31\\x67\\x63\\x35\\x6c\\x8e\\x60\\xe5\\xcf\\x3c\\xf2\\x70\\x65\\xf5\\xed\\x0f\\xb8\\xf6\\x15\\x7e\\x73\\x68\\x74\\xff\\x17\\xb6\\xbe\\xfb\\xda\\xaf\\xdf\\x8c\\x1d\\x74\\xaa\\xe1\\x8d\\xe7\\xc4\\xc8\\xba\\xbd\\x1c\\x34\\x6c\\xaa\\x10\\xef\\x1f\\xb2\\x12\\xce\\xd3\\x55\\x4d\\x84\\x3f\\x8b\\x5b\\xcd\\xf1\\x01\\x45\\x4b\\xd6\\xd8\\xc4\\x61\\xf0\\x6f\\xeb\\xe1\\x04\\xa8\\x86\\x7e\\x27\\xbc\\x4f\\x2c\\xdd\\x28\\xee\\x75\\xc0\\xab\\x4f\\xed\\xc6\\x07\\x4f\\x2c\\x7e\\x76\\x0a\\x0c\\x6e\\xba\\x67\\xe0\\x47\\x52\\x3c\\x88\\xf4\\x01\\x1c\\x47\\xf1\\xcb\\xfb\\xc4\\xb2\\xd4\\x98\\x5f\\x03\\x60\\x55\\xac\\xd3\\x85\\x4c\\x66\\x8a\\x5c\\x60\\x16\\xec\\x76\\x7c\\x97\\xed\\x48\\xd0\\x8d\\x8d\\xab\\xd5\\x42\\x5a\\x85\\x65\\x26\\xea\\x5b\\x75\\x06\\xe6\\x5b\\x7a\\x99\\xa0\\xb1\\x52\\x86\\x4a\\x45\\xef\\xaf\\x5b\\x77\\xf5\\xdc\\x63\\x97\\xc2\\x67\\x4d\\x77\\x8d\\xbe\\x22\\xfe\\x0a\\x05\\xf1\\x15\\xf8\\x6f\\xe6\\xbb\\xfb\\x4f\\x5c\\xf9\\xe2\\xe9\\xf3\\xfe\\x79\\x2b\\xa1\\xf3\\xe4\\xfd\\xf0\\xf7\\x7b\\x13\\xf6\\x51\\x2f\\x8a\\x87\\xeb\\x01\\xb5\\xb1\\x2c\\x27\\x26\\xcc\\x43\\x28\\xf3\\xfa\\x5c\\xce\\xc1\\x71\\x17\\x24\\xf4\\xd5\\x26\\xe8\\xc3\\x6a\\x41\\x2f\\x68\\x69\\xe2\\xbe\\xe0\\xc9\\x40\\x06\\x8b\\xa6\\xb5\\x91\\x4c\\x95\\xbf\\xc1\\x04\\x94\\x67\\x76\\x5a\\xf5\\x47\\xa2\\x02\\x04\\xf5\\x80\\x8c\\x28\\x26\\xfb\\x28\\x8a\\xeb\\xe0\\x22\\x71\\x2a\\x73\\xcb\\xcb\\x2f\\x33\\x53\\xd7\\x8a\\x20\\xd1\\x49\\x11\\x36\\xaf\\x85\\xdd\\x69\\xc1\\x01\\x03\\x66\\x8b\\xc3\\x39\\x07\\x37\\x12\\xdf\\xb4\\x10\\xc1\\x83\\x72\\x28\\xbc\\x5a\\x86\\xb1\\x19\\x14\\x86\\x70\\x96\\x0e\\xa9\\x03\\xf8\\x36\\xa9\\x59\\x8a\\x7a\\xc8\\x71\\xf8\\x6a\\x21\\x0a\\x09\\x97\\xd2\\xde\\x99\\x20\\x16\\xd2\\x0a\\x06\\x8c\\x95\\x29\\xd8\\xcc\\xaa\\x68\\x02\\xfc\\x83\\x02\\x54\\x4b\\x4d\\x99\\xd8\\x6d\\xe2\\xaf\\x93\\x0f\\x89\\xe2\\xf7\\xd8\\xfc\\x12\\x4e\\x4c\\x5d\\xeb\\x6f\\x5f\\x15\\x2d\\xe9\\xd0\\x34\\xfa\\xb1\\xe3\\xbb\\x47\\x0e\\x7a\\xea\\xb1\\x87\\xc5\\xe1\\x30\\xf0\\xf6\\x58\\x38\\x0b\\x0e\\x80\\x75\\x70\\xdc\\xe8\\x01\\xd7\\xba\\xd5\\x75\\xd7\\x1d\\xd4\\xb1\\xf5\\x04\\x9c\\x7a\\x21\\xea\\xb2\\x42\\xb6\\x43\\xd7\\xe0\\x75\\xfe\\x10\\xeb\\x94\\x00\\x28\\x24\\x31\\x8b\\x1c\\x45\\x50\\x17\\x08\\xb8\\xad\\x0a\\x6b\\x51\\xb1\\xd7\\x51\\x1f\\xf7\\x7a\\x8c\\x06\\x55\\x16\\x09\\x56\\x18\\xb8\\xfc\\xda\\x38\\xe4\\x32\\x33\\xc6\\x0a\\x5a\\x10\\x1e\\xa9\\xca\\x68\\xa7\\x2d\\x27\\xb5\\xa6\\x43\\x97\\xa4\\xe7\\x63\\x4c\\x60\\x99\\x76\\xfb\\x96\\xbf\\x7e\\x1e\\x36\\x2c\\x3e\\xd0\\x8e\\x51\\xb0\\x4f\\x08\\xed\\xab\\xb2\\x4b\\xcb\\xfb\\x2d\\x59\\xb9\\xe9\\xbe\\x8d\\x0b\\x16\\xae\\xdb\\xbd\\xa9\\x6c\\xe5\\xf4\\x51\\xd0\\x06\\x6d\\x4c\\xbb\\xe1\\x93\\x7c\\x3b\\xb8\\x8e\\xdf\\x36\\xcd\\xa8\\xeb\\xae\\x39\\xa8\\xb9\\x77\\x07\\xf3\\xd8\\x5b\\x97\\x2e\\x7d\\xf4\\xf7\\x0b\\xef\\x93\\x2e\\xba\\xe4\\x4d\\x94\\xea\\x26\\x52\\xd1\\x94\\x63\\x43\\x48\\xc1\\x1a\\x20\\x30\\x1a\\x4d\\x5a\\x2d\\xbe\\xd8\\x2e\\xb7\\x81\\xe1\\x09\\x8c\\xb3\\x4d\\x10\\xb0\\xee\\xb1\\x52\\x8c\\x5f\\x19\\xeb\\x31\\xed\\x94\\xb4\\x28\\xee\\x90\\xe4\\x14\\x4c\\xb6\\x92\\x91\\x74\\x25\\x44\\x09\\xac\\xa8\\xe7\\xc5\\xed\\xff\\x78\\xe1\\xe0\\x41\\xf8\\xb7\\xaf\\x7e\\x3a\\xfb\\x20\\xdc\\xf6\\x4b\\x02\\x2b\\x8a\\xa9\\x69\\x7e\\x91\\xa9\\xd9\\xc5\\xcc\\x7a\\xb1\\xf1\\xde\\x4b\\xae\\xe6\\xc7\\xd0\\xe5\\x24\\x56\\xd4\\x31\\xf2\\x16\\x8b\\xd7\\xda\\x83\\xef\\x9a\\x83\\xf7\\x58\\x39\\xa5\\x52\\xa7\\x52\\x79\\xbc\\x3e\\xab\\xcb\\xc5\\xd4\\xc7\\x5d\\x06\\x05\\x56\\x27\\xd2\\xc3\\x18\\xa7\\xd5\\xaa\\x4c\\x7a\\x95\\x35\\xad\\xdd\\x8d\\xa3\\xa6\\x45\\xd0\\x81\\xaa\\x42\\x6a\\x52\\x48\\x55\\x9c\\x61\\x02\\x57\\x93\\x9d\\x13\\xc5\\x0b\\xdf\\x85\\xc1\\x12\\x85\\xb5\\xce\\x9a\\xb8\\xea\\x4c\\x00\\xce\\x16\\x57\\x35\\x2e\\x59\\xe2\\x76\\x3e\\x96\\xab\\xe0\\xca\\xc7\\xad\\x19\\x3b\\x65\\x32\\xda\\x65\\x7e\\x78\\xcb\\x76\\xd1\\x05\\x3f\\xdf\\xde\\xb3\\xff\\xeb\\x13\\x36\\xcd\\x9a\\x35\\xb5\\xd2\\x28\\xc5\\xe0\\xd5\\x72\\x4e\\xa4\\x11\\x6b\\xbc\\x29\\xb1\\xa8\\xde\\x6c\\xd0\\x59\\xb4\\x26\\x93\\x51\\xab\\x56\\xf0\\x2a\\x8d\\x86\\x37\\x00\\xc4\\x41\\xa3\\x91\\xc3\\x46\\xb5\\xd5\\x26\\xb0\\x26\\x0b\\xc2\\x96\\xf4\\xb8\\xb8\\x0e\\x98\\x54\\x2a\\xde\\xa0\\x41\\x3c\\x6d\\xac\\x8a\\x69\\xae\\x4e\\x68\\xbf\\x14\\x6a\\x07\\x4d\\xaa\\x4a\\xfe\\x49\\xbb\\x1a\\x54\\x4b\\x60\\xb6\\x44\\x03\\x60\\x0e\\x50\\xb0\\x32\\x9a\\x13\\xb5\\x63\\xbd\\x00\\xab\\x82\\xac\\xf2\\x39\\xf1\\xab\\x2f\\x7f\\xff\\x95\\xf8\\xed\\x99\\xfd\\x97\\x77\\xc3\\x33\\xbb\\x2f\\x37\\xbf\\xb0\\x4a\\xbc\\xce\\xf6\\xdb\\x2e\\x6e\\x23\\x18\\x1e\\x70\\xd6\\xf6\\xeb\\xd7\\xaf\\x37\\x3f\\x28\\x61\\xdb\\x45\\xf0\\x39\\x7e\\x0c\\xdb\\x91\\x6e\\x7c\\x92\\xef\\xc2\\x96\\xb5\\xdf\\xee\\xb1\\x5b\\xac\\x26\\x9b\\x11\\x7b\\xf9\\xc8\\xcd\\xb2\\x3e\\xa7\\xc7\\xe5\\x82\\x6e\\xb7\\x47\\x65\\x63\\x83\\x21\\x23\\xeb\\xf1\\x23\\xb3\\xc5\\x2c\\x55\\x12\\x63\\x19\\x63\\xb1\\x28\\x5c\\x36\\xbd\\x42\\x5b\\x1b\\x57\\x78\\x52\\x0a\\x3c\\x93\\x07\\xe9\\x70\\x60\\x82\\x65\\x40\\x49\\xfa\\x57\\xb9\\x12\\x9e\\xc8\\x3c\\x44\\x10\\xd5\\x25\\x81\\x52\\x03\\x49\\x49\\x34\\x8a\\x9a\\x83\\x66\\xcc\\x8a\\x39\\x68\\x42\\xbf\\x3e\\xfd\\xfd\\xf5\\xee\\x73\\xef\\x8e\\xf7\\x2b\\xcf\\x2e\\x1e\\xb4\\xb9\\xd4\\x24\\xde\\xf8\\xe1\\xe9\\x7b\\xcf\\x6f\\x81\\xa7\\xd7\\x9d\\x6b\\xfe\\x7b\\xde\\x7c\\xf1\\x85\\x3d\\xcc\\x67\\xdb\\x9b\\x9f\\x78\\xe2\\xe8\\x60\\xf5\\x7a\\x7e\\xfe\\xca\\x32\\xa6\\xcf\\x76\\x38\\x54\\x7c\\x0c\\x0e\\x6d\\x5a\\x31\\x13\\x16\\x88\\x9b\\x09\\x8f\\x65\\x58\\x56\\x57\\xe3\\xf3\\x13\\x02\\x25\\x60\\x58\\xac\\x28\\x57\\x61\\x36\\xfb\\x9d\\xae\\x22\\xbd\\xde\\xe5\\x47\\xa5\\x65\\xb9\\xa6\\xba\\xb8\\x33\\xd7\\x99\\xeb\\xe1\\x3c\\x58\\x20\\x7a\\x6c\\x1a\\xec\\x1d\\x2a\\x34\\x1a\\x8e\\x03\\x75\\x71\\x2e\\x89\\xcf\\x15\\x6d\\x05\\x30\\x9d\\x01\\x22\\x6b\\x0e\\x09\\x95\\xd4\\x1d\\x90\\xe3\\x74\\x06\\x4e\\x48\\xc3\\x1a\\xa3\\xf7\\x97\\x0b\\xe9\\xa0\\x17\\x56\\x75\\xc1\\x8e\\x43\\xf6\\x8c\\x8c\\x5c\\x2a\\xb1\\x83\\x9c\\x4b\\x55\\x2c\\xae\\x7f\\xf9\\x95\\x7c\\x26\\x3b\\x91\\x49\\x85\\x5e\\x4b\\x66\\x4c\\x89\\x87\\x12\\x19\\x53\\xe2\\x87\\x67\\x4f\\xc0\\xab\\xb5\\x75\\x7c\\x5a\\xc2\\x94\\x74\\x06\\x09\\x16\\xba\\x9b\\xed\\x27\\xf7\\x48\\xf0\\xfa\\x79\\x35\\xc0\\x1e\\x2f\\x4f\\x60\\xba\\xac\\xd8\\xd4\\xf6\\x48\\x09\\xac\\xa1\\xd6\\x09\\xac\\x99\\xe0\\xf1\\x91\\xb6\\x44\\x91\\x3d\\x9c\\x9d\\x93\\x8e\\x54\\x87\\xc6\\x57\\x3e\\xb8\\xf4\\xb5\\xe7\\xe1\\xfa\\x95\\x7b\\xca\\xb0\\x08\\x7a\\x8a\\x17\\x9e\\xc0\\x3e\\xe1\\x86\\x9d\\xeb\\x16\\x2e\\x58\\xbb\\x63\\xf3\\xa9\\xe9\\x93\\xa0\\x83\\x88\\x9f\\xf8\\x58\\xff\\x1a\\x3e\\xfa\\x45\\xf3\\xb9\\x41\\xdb\\xfa\\xcd\\x80\\x73\\xdf\\xfe\\xd3\\xa5\\x8f\\x3e\\x78\\xfd\\xfd\\x44\\x3f\\x0c\\xb6\\x16\\xfb\\x06\\x21\\x62\\x95\\x9b\\x38\\xec\\xc8\\xdb\\xb1\\x97\\x1b\\xce\\xb2\\x62\\xff\\xc5\\x64\\x35\\xe8\\xf1\\x2d\\x46\\x81\\x9b\\xb6\\x73\\x68\\xa3\\x9b\\x43\\x45\\x8e\\x54\\xa8\\x7e\\xb3\\x5e\\x0e\\xfc\\xe3\\xaa\\x9b\\x77\\x72\\x60\\xa6\\xde\\x37\\xaa\\x7a\\x61\\x7a\\xf3\\x8b\\x54\\xcf\\x0e\\x92\\x5b\\x49\\x90\\x86\\x81\\x9b\\xcb\\xce\\xd6\\x04\\xb0\\x03\\x5e\\x58\\xe4\\xc3\\xa7\\xc4\\xed\\x33\\x18\\xac\\xf5\\x71\\xda\\x78\\x22\\xef\\xff\\xdc\\xaf\\x23\\x1d\\x21\\xeb\\x37\\x7b\\x50\\xec\\xdc\\xde\\x6d\\x50\\x87\\x9e\\x35\\x3d\\x7f\\xab\\x0f\\xc5\\x1f\\x1b\\xf6\\x18\\x1f\\xb1\\xf6\\xef\\x33\\x3b\\xb3\\x81\\x07\\x04\\x9b\\x31\\x0f\\x5d\\xf1\\xd9\\xb7\\x93\\x5e\\x14\\x46\\x93\\x49\\xc0\\x87\\x82\\x07\\x0e\\xa7\\x60\\xc4\\x46\\x9c\\xcd\\xa6\\xab\\x8d\\xdb\\x0c\\x48\\x99\\x86\\xb2\\x79\\xb3\\x5e\\x14\\x40\\xae\\xae\\x48\\xba\\x63\\x58\\x56\\x06\\xd8\\xae\\xe2\\x2f\\x3f\\x9e\\xfc\\xd2\\x73\\x3e\\xfc\\x3f\\xb0\\x6a\\xfb\\x3e\\xda\\xfe\\x60\\xc9\\xab\\x8b\\xe1\\x97\\x4c\\x8e\\xf8\\x4f\\xf1\\xcf\\x4f\\xde\\xab\\xbb\\x00\\x8f\\x7d\\xf0\\xc7\\x69\\x77\\x68\\x6e\\xdd\\x37\\x12\\x48\\xd8\\x9f\\x8f\\xb2\\x3d\\x31\\x3d\\x64\\x4d\\x07\\xc5\\x0a\\x6d\\x2a\\xa3\\xc1\\x90\\xe5\\xf5\\xe6\\x39\\x18\\x85\\x8a\\x2f\\x2c\\x72\\x67\\x63\\x57\\x3d\\x4f\\xc1\\xb0\\x6e\\xa3\\x9b\\xb8\\x07\\x66\\xea\\x97\\x91\\x63\\x40\\x60\\x9c\\x2f\\x66\\x50\\x28\\xc5\\xfe\\xd3\\xeb\\x68\\x09\\x20\\x2c\\x89\\x1f\\x67\\x57\\x92\\x1e\\x0e\\x32\\xc6\\x91\\xd5\\x42\\x52\\x78\\x03\\x04\\x82\\xba\\x9c\\xe0\\x88\\x10\\xe2\\x7d\\x90\\xd9\\x72\\x6a\\xa9\\xca\\xd5\\x7e\\x71\\x9f\\xc8\\x58\\xc8\\xfc\\x74\\xf2\\x6b\\xff\\xf9\\xd0\\x67\\xfb\\xb6\\x7b\\xe3\\x9f\\x2d\\x87\\xd8\\x87\\xbf\\x75\\x65\\x8f\\x6d\\x23\\x9f\\x1d\\xe6\\xff\\x9d\\x65\\x90\\x2e\\x32\\x3e\\x3e\\xb7\\x7c\\xd3\\x3f\\x48\\x37\\x87\\xc7\\xee\\xd7\\x5d\\xf8\\xe3\\x07\\xf7\\xd6\\x8f\\x9c\\xf6\\xd9\\x3d\\x7b\\xd7\\xe5\\xf6\\x28\\x98\\x3e\\x76\\x8c\\x3f\\x47\\xba\\x7b\\x58\\x8e\\xbe\\x87\\xcf\\x8a\\x1b\\x5b\\xd1\\xdd\\x63\\x21\\x8f\\x26\\x64\\x62\\x59\\x60\\xd3\\xd8\\x72\\xf3\\x2c\\x50\\x17\\x21\\x19\\x9e\\x06\\xa5\\x1f\\xf3\\xa1\\xb4\\x31\\xce\\xfa\\x38\\x93\\x90\\x96\\x37\\x35\\x65\\xb0\\xda\\x77\\xc2\\x70\\x66\\x27\\x02\\xd9\\xa0\\x49\\x7f\\x6e\\x67\\xdf\\x2b\\xef\\xf7\\xb3\\x90\\xde\\x8a\\xa0\\x91\\x18\\x03\\x4d\\x33\\x12\\x7d\\x08\\xc4\\x09\\x1a\\x98\\x0b\\x4b\\xd2\\xbb\\x11\\x1c\\xfa\\xf5\\x45\\x6c\\x0d\\x20\\x6b\\xb2\\x15\\x81\\x24\\x3b\\x38\\xc8\\xbd\\x8f\\xbd\\xb5\\x7c\\x62\\x8b\\x11\\xd9\\x11\\x89\\x98\\x1c\\xbc\\xa3\\xa0\\xd0\\x6d\\xa5\\xa7\\x5c\\xa1\\xc8\\xbd\\x89\\x00\\x91\\x0c\\xb2\\x96\\x26\\x4d\\x06\\xe9\\x95\\x24\\x4c\\x28\\xa1\\x5e\\xfe\\xb7\\x56\\x0a\\xd0\\xdd\\xb5\\x57\\x87\\x8e\\x0b\\x6f\\xde\\x4d\\x61\\x23\\xcc\\xd5\\x1f\\xb1\\xee\\x6c\\xea\\xd8\\xb2\\xa3\\x02\\xe1\\x43\\xae\\x85\\xc3\\x5a\\xd8\\x4d\\x10\\x3c\\x74\\x5a\\xad\\x03\\x38\\x2d\\x16\\x01\\x08\\x1e\\xaf\\x03\\xd4\\xc6\\x75\\x0e\\x9d\\x43\\xc5\\xaa\\x8c\\xb5\\x71\\xac\\xd0\\xac\\xb5\\x71\\xd6\\xf0\\x5f\\x7b\\x07\\x48\\xed\\x14\\x8c\\x19\\x6d\\x69\\xe5\\x96\\x97\\x6b\\xaf\\x7d\\xf7\\xc5\\x8f\\xe2\\xb7\\x0f\\x7f\\x55\\xb8\\xcf\\xf5\\xc0\\xed\\x77\\x1f\\x10\\x3f\\x59\\xbf\\x5b\\xc3\\xf4\\xe5\\x76\\xc1\\x9f\\x1d\\xd0\\x09\\xb3\\xf1\\x0d\\xfd\\x41\\xfc\\x4e\\xfc\\x60\\xcd\\x92\\xa2\\x01\\xf1\\xd7\\x4f\\xc1\\xab\\x47\\xf7\\xef\\x79\\xb2\\x05\\x9d\\x2e\\x42\\x27\\x2f\\x08\\x4e\\x33\\x70\\x38\\xb4\\x66\\xad\\xdb\\x63\\x71\\xd6\\xc6\\x2d\\xbc\\x85\\x37\\xa8\\x0c\\x98\\x42\\x83\\x8d\\x38\\x52\\xaa\\xff\\x4a\\x27\\x4c\\xcb\\xe8\\x91\\xa8\\x65\\x8c\\x95\\x90\\x14\\x43\\x99\\xd0\\xc6\\x87\\xb6\\xc8\\xde\\xd0\\xb7\\xe2\\xaf\\xdf\\x7c\\xf3\\x03\\xfc\\x00\\x7b\\x41\\xcd\\x67\\x3c\\x4c\\xf7\\x53\\xaf\\x53\\xd7\\x47\\x7c\\x5f\\xfc\\x87\\xf8\\x6f\\xf1\\x13\\xe8\\x83\\x41\\x87\\x58\\xfc\\xd4\\x6e\\xf1\\x8c\\xb4\\x9e\\x25\\x37\\xbe\\xe5\\x38\\xfa\\x4e\\x90\\x07\\xa6\\xc6\\xb0\\xe8\\x12\\x42\\x01\\x90\\x9b\\xeb\\xd6\\x6a\\x34\\x16\\x77\\xc0\\x9d\\x5f\\x60\\x33\\x12\\x63\\x20\\x10\\x0f\\x39\\xf3\\x00\\x16\\x82\\x41\\x0d\\xbe\\xa8\\x3c\\x0f\\x6c\\xc8\\xa7\\xf2\\xe1\\x63\\xef\\x6b\\x45\\xbd\\x54\\xc2\\x66\\x94\\x4d\\x84\\x82\\x96\\x38\\x74\\x12\\x2f\\x34\\xa8\\x26\\x21\\x5d\\x9a\\xab\\xec\\x52\\x60\\x8a\\xfa\\x1d\\x58\\xb5\\x32\\x61\\x6c\\xe6\\x4b\\xc1\\xb9\\xca\\x1c\\xe6\\x6d\\xd7\\xb2\\xb1\\xa3\\x57\\xda\\xf6\\x15\\xbc\\xbe\\x1b\\x8e\\xac\\xbd\\xcb\\xa6\\xce\\xcd\\xce\\xeb\\xdc\\x6e\\xd8\\x2d\\x03\\x66\\xe8\\xd9\\x4f\\xdf\\x13\\x6f\\x39\\xad\\x5d\\xbc\\x70\\xe1\\x06\\xc4\\xbc\\xb5\\x72\\xce\\xf0\\x41\\x45\\x2b\\x56\\x88\\x87\\x5d\\x2b\\x7b\\x74\\xcf\\xdd\\xd2\\x71\\xe7\\xa2\\xdc\\x4a\\xf1\\x3f\\xe2\\xc7\\x4c\\x8d\\xe3\\xce\\x33\\x8f\\xbd\\xf2\\xdc\\x20\\xfa\\x6e\\xf9\\x94\\x24\\x2f\\x4d\\x3c\\x9a\\x4c\\xbf\\xdf\\x84\\xbf\\x8f\\xd0\\xef\\xbf\\xa0\\xb6\\x68\\xe5\\x8d\\xef\\x38\\x01\\xaf\\x47\\x14\\x5b\\x4b\\x76\\x97\\xdb\\x2d\\xf0\\xa1\\x60\\xd0\\x5a\\x92\\xaf\\x01\\xa0\\xa4\\xcc\\xc8\\x73\\x15\\x95\\x85\\xd9\\x64\\x41\\xb2\\xe2\\x65\\x46\\xda\\xff\\xb0\\x24\\x18\\x74\\xf9\\x84\\x42\\xa3\\xcb\\x65\\x2c\\x14\\x58\\xe4\\xf3\\x39\\x48\\xe2\\x56\\x4b\\x91\\x2b\\x2d\\x0a\\xed\\x47\\x23\\x25\\xe6\\x14\\xb4\\xa8\\x88\\x49\\xc5\\x25\\xe5\\x1a\\x37\\x8a\\xc2\\x53\\x19\\xcd\\x0c\\x4b\\xd9\\xab\\x12\\x41\\x4b\\xfa\\x83\\x44\\xd0\\xa1\\x09\\x6f\\x9f\\x3f\\xfd\\x96\\xe1\\x84\\xe5\\xcf\\x33\\xe6\\xce\\x9a\\x3b\\x6e\\xe4\\x98\\x59\\x53\\x6f\\x7d\\xc2\\xff\\x8c\\xf5\\xd5\\x83\\x9b\\x9e\\x0b\\x6d\\xf4\\xe8\\x4b\\xca\\x23\\x9d\\x43\\x1d\\x97\\x0d\\x1d\\xb5\\xc2\\x15\\x6c\\x5c\\xb8\\x02\\x06\\xb7\\x3e\\x7c\\xe4\\x09\\xdd\\x47\\xb7\\x8e\\x19\\x3e\\xee\\xee\\xd1\\x03\\xeb\\xc7\\x5c\\x32\\xdc\\x7f\\x74\\xd2\\x68\\x07\\x5e\\x33\\xbb\\x71\\x47\\xc5\\xc2\\x59\\xab\\xaa\\x2c\\x9b\\x48\\x2f\\xf7\\x1b\\xdf\\xb1\\x03\\x28\\x86\\x73\\x0e\\xc9\\x39\\x01\\x36\\x83\\x47\\x08\\x06\\x3d\\x3e\\xb5\\x8d\\xcb\\xcd\\xf3\\x69\\x28\\xf6\\xb9\\x46\\x13\\x71\\x46\\x58\\x82\\x7a\\xea\\xc4\\x72\\xdc\\x69\\x68\\xd9\\x1a\\x04\\x54\\xb7\\x00\\x19\\x4a\\xc1\\x0b\\x25\\x19\\xe3\\x05\\x2a\\xca\\xad\\x16\\x41\\x82\\x7d\\x0a\\x07\\x00\\xec\\xde\\xad\\x61\\xd5\\x82\\x2d\\x33\\xe7\\x13\\x66\\x56\\x4c\\x7f\\xf2\\xc0\\xf3\\x90\\xf9\\xf1\\xd5\\x6f\\x3e\\x58\\xb0\\x62\\xe6\\x6b\\x2b\\xc5\\x1f\\x6f\\x00\\x26\\x7b\\xe7\\x8b\\xe3\\xe6\\xc4\\xeb\\x87\\x60\\x06\\x6a\\xc7\\x5e\\xf9\\x00\\xaa\\x60\\xce\\x81\\x4d\\xc7\\x6b\\x2c\\x0b\\xef\\xba\\xf5\\xfe\\xc1\\xd0\\x2e\\xe5\\x11\\xce\\xc4\\x36\\x61\\x07\\x6c\\x2b\\x55\\xc4\\x08\\xc2\\x23\\xb0\\x69\\x6d\\xd8\\x7b\\xa7\\xc8\\x08\\x2a\\x72\\xa4\\x4f\\xc5\\x55\\xbc\\xdd\\x4a\\x80\\x2e\\x6b\\xa2\\x17\\x5a\\xbc\\x5b\\x62\\xe9\\x26\\x05\\xd3\\x65\\x77\\xbd\\x92\\x10\\x4e\\x52\\xe8\\x83\\x95\\xcc\\xf2\\x46\\xc8\\x8b\\xd7\\xd2\\xda\\xbb\\x89\\xd6\\x06\\xf4\\x78\\xd3\\x90\\x06\\x67\\xaa\\xcb\\x9b\\xaa\\x81\\xde\\xad\\xad\\xe2\\x08\\x8e\\xc5\\x32\\x97\\xd4\\x50\\x8e\\x8c\\x15\\xb3\\x08\\x15\\x19\\x72\\xec\\x4a\\xa5\\x2f\\x62\\x88\\x54\\xb6\\x73\\x07\\xeb\\xe3\\x6e\\xb3\\x4a\\x5b\\x86\\x8d\\x6b\\xb6\\x8c\\x2d\\xc3\\x3e\\x3b\\xf6\\x24\\x6d\\x66\\x03\\x10\\xb0\\x00\\x76\\x27\\xa1\\x11\\xd3\\x70\\xb4\\x1c\\x69\\xdd\\x99\\xd2\\x54\\x49\\x2a\\xa0\\x90\\xf1\\x1c\\x99\\x68\\x4a\\x27\\x3d\\x34\\x1b\\x12\\xd6\\x87\\xc4\\x0b\\x73\\xfb\\x91\\x4b\\x9e\\x33\\xc6\\xd9\\xa3\\x7f\\x61\\x26\\xff\\xeb\\xe2\\xe9\\x0b\\x97\\x66\\x3f\\x5a\\xc4\\x6c\\xdf\\x1a\\xc8\\xae\\x2a\\xaf\\x8e\\x75\\x7d\\x66\\xd7\\xea\\x8d\\x8b\\xa2\\x33\\xc6\\x0f\\x5d\\xd9\\x4b\\x1c\\xb1\\x69\\xa5\\xf3\\x96\\x3a\\xd8\\xf1\\x0f\\x57\\x20\\xc2\\x32\\xda\\x0d\\xd5\\x53\\xc7\\xc3\\xb2\\x7b\\xee\\x43\\xea\\x47\\x4c\\x03\\x7b\\x5d\\x5f\\x22\\xb6\\x47\\x6f\\xbc\\xf8\\x3f\\x2f\\x7c\\x74\\xdf\\x53\\xb5\\x63\\x4f\\xa7\\x6a\\x8c\\xd8\\x5b\\x4c\\x3c\\xa9\\x31\\x92\\x7b\\x3a\\xe5\\x52\\xff\\x0e\\x4b\\x42\\xab\\x47\\x60\\xf4\\x3a\\x9d\\x0b\\x9b\\x3e\\x5e\\x1f\\xed\\xdf\\xa0\\x07\\x7a\\x4e\\x2d\\xe1\\x57\\x73\\x78\\x77\\xb8\\x96\\x96\\x4a\\xba\\x08\\xa1\\xfd\\x7b\\x60\\xd0\\x48\\x1f\\x19\\x2b\\x4c\\x19\\x11\\x7a\\xa2\\x3a\\x2b\\xc3\\xcc\\x42\\xf8\\xd4\\xa0\\x8f\\x16\\x8b\\x68\\xde\\xe7\\x3b\\x8e\\xfe\\xd5\\xfb\\xac\\x7e\\xde\\x8c\\x5d\\xbb\\xf7\\x3c\\x7c\\xf7\\xb4\\x5f\\x19\\xaf\\x78\\x6b\\xcf\\x7e\\x8c\\xef\\x04\\x64\\xee\\x79\\xfc\\x3e\\xdd\\xc8\\x69\\x1f\\xbd\\xfd\\xf6\\x85\\xee\\x1f\\x48\\x72\\xb0\\x0c\\xeb\\xf7\\x07\\x28\\x26\\x1f\\xd1\\x2b\\x59\\x0c\\xb4\\xe9\\x78\\x80\\x4c\\x0a\\x96\\xe3\\x14\\x08\\x9f\\x4b\\x9e\\xe4\\x61\\x20\\x0b\\x52\\x43\\x35\\x96\\xde\\x6a\\x0f\\x4b\\x21\\x52\\x65\\x22\\x33\\x11\\xb6\\xe5\\xe3\\x1e\\x91\\x9a\\x63\\xc8\\x60\\x55\\x04\\xe6\\xcc\\x5e\\x91\\x23\\x5b\\x7f\\xf0\\x3f\\x62\\xc7\\xcb\\x70\\x22\\x9c\\xf9\\x9a\\x58\\xba\\x7c\\xe9\\xf4\\x69\\x4b\\xed\\x91\\x9f\\xfb\\xdf\\x92\\x93\\x15\\xc9\\xd9\\x85\\x0e\\x37\\xf3\\xcc\\xb5\\xa6\\x31\\x7f\\x9d\\x77\\xc7\\x8a\\x15\\x77\\xe4\\x8e\\x1c\\xfd\\xde\\xe0\\x0d\\x9b\\xea\\x8a\\x2b\\xa2\\x12\\x9d\\xc2\\x8d\\x2f\\xd9\\x8b\\x6c\\x57\\x6c\\xa3\\xb6\\x07\\x03\\x63\\x96\\x2c\\x47\\x45\\x05\\x1b\\x04\\x6e\\x83\\xbb\\x10\\x55\\x77\\x50\\x06\\x2d\\xb9\\x25\\xb9\\x92\\xf3\\x66\\x64\\x2b\\x0a\\x0a\\x7c\\xda\\x12\\xbd\\x4f\\x4d\\xa4\\x74\\x9a\\xf3\\x26\\x05\\xe5\\x20\\xf6\\x79\\xa4\\xe0\\x9b\\x54\\xd1\\x83\\x09\\xae\\x28\\x86\\x39\\x3a\\x64\\xb5\\x44\\xcb\\x29\\x80\\x64\\x0e\\xbd\\x9e\\xc8\\x9e\\xe4\\xa0\\x06\\x22\\xb2\\xd4\\x7a\\x28\\x09\\x23\\x3f\\x53\\x03\\xf1\\x41\\x3a\\xae\\xb2\\xe6\\x69\\x5c\\x16\\x6d\\xef\\x3e\\x90\\xe9\\xbf\\xad\\xfd\\x5d\\xc1\\x9a\\x9a\\x70\\x91\\x7d\\x75\\xb4\\x9e\\xf0\\x55\\x5b\\xb6\\xda\\x5e\\x14\\xae\\xe9\\x12\\xba\\xab\\xfd\\xb6\\xfe\\xe3\\xe7\\xe5\\x55\\xd9\\xac\\x55\\xb9\\xf3\\xde\\xb1\\xe6\\x47\\xfb\\xdb\\x4b\\x4b\\x4b\\x1c\\x63\\xd0\\xcb\\xe3\\x46\\xdf\\x59\\x3e\\xaa\\xb2\\x52\\xbc\\x72\\xeb\\x3d\\x75\\xd3\\x16\\x2c\\x98\\x36\\x6c\\xcb\\x18\\x58\\x5a\\x59\\x39\\xaa\\xfc\\xce\\xd1\\xe3\\x86\\xcf\\xbc\\xaf\\x57\\xaf\\xfb\\xee\\x18\\x21\\xc5\\xe4\\x1a\\xf1\\x1e\\x59\\xf0\\x1e\\xd9\\x40\\x69\\xcc\\xae\\xe4\\x6d\\x7a\\xb3\\x19\\x7b\\x3f\\x76\\x87\\xd9\\x63\\x10\\xf4\\x48\\x93\\x61\\xb6\\xb4\\xe5\\xf3\\x64\\x76\\x12\\x08\\x1b\\x31\\x3f\\x93\\xba\\x1c\\x5a\\xf8\\xf4\\xc3\\x8d\\xb7\\x2d\\x5b\\xb9\\xeb\\x64\\x23\\xcb\\x3e\\x3b\\x6b\\x0c\\x81\\x32\\x6d\\xae\\xdf\\xbb\\xf0\\xf8\\x01\\x66\\xce\\x35\\x2f\\xdc\\xbd\\x5c\\x3a\\xc3\\x34\\x7f\\x15\\xdf\\x65\\x0f\\xc1\\xe5\\x64\\x4d\\x1a\\xec\\x31\\x9b\\x4d\\x1e\\x93\\xd7\\x67\\xf6\\x58\\x19\\x01\\x1b\\x7c\\x7a\\xbd\\x1d\\x4b\\x44\\xbd\\x21\\x23\\x86\\xd5\\xb2\\x21\\x56\\xc2\\x4a\\x4a\\x78\\x04\\xe9\\xe9\\xaa\\xcf\\x42\\x4f\\xcf\\xbe\\x95\\xdd\\x96\\xa5\\xa7\\xaa\\xb2\\x4f\\xc3\\x5c\\xc3\\xc3\\xe6\\x86\\x89\\x2d\\xf2\\x54\\xa5\\xf5\\x20\\x58\\x60\\x84\\xa6\\x08\\x41\\x85\\xc7\\x34\\x65\\x65\\x45\\x3c\\x26\\x93\\x3d\\x82\\xb2\\x73\\x22\\x56\\x2b\\x3e\\xa6\\x56\\x8f\\x4c\\x5a\\xa0\\x15\\x69\\xb2\\x45\\x67\\xff\\x6d\\xea\\x32\\xda\\xdd\\xb7\\x45\\x66\\xa2\\xe5\\x7d\\x6b\\x62\\x33\\x7a\\xde\\x27\\x68\\x66\\xe4\\x3a\\x08\\x92\\x0b\\x64\\x05\\x83\\x63\\x05\\x04\\xe2\\x87\\x35\\x69\\xc9\\xab\\xae\\xdd\\x6c\\x1a\\x3c\\xca\\x0c\\x5b\\xb6\\xd5\\xd0\\xff\\x56\\x5b\\x0d\\x39\\x82\\x99\\xc8\\x49\\x68\\xb3\\xb1\\x06\\x89\\x5d\\x32\\x5f\\xbd\\xf3\\x8e\\xd4\\x5c\\xe3\\xab\\xaf\\xc4\\x17\\xe1\\x8f\\x52\\xd0\\xf2\\x58\\x43\\x03\\x1c\\x96\\x08\\x57\\xe2\\xf5\\xfc\\xcf\\x8d\\xef\\xd1\\x1c\\x7c\\xbe\\x74\\x20\\x12\\xd3\\x02\\x95\\x4a\\x6f\\xd0\\xe2\\x43\\xa5\\xd5\\x2b\\x10\\x0d\\xa1\\x2a\\x52\\x82\\x49\\x02\\x34\\x4b\\x96\\x5f\\x91\\x72\\xc6\\xca\\x20\\x73\\xaa\\xba\\x2a\\x58\\x58\\x5e\\x84\\x2d\\xad\\x9f\\xe0\\x79\\x18\\xa9\\xeb\\xa5\\x3e\\xa0\\x82\\xb9\\xcc\\xbd\\x0d\\x78\\xec\\xcb\\xa4\\x30\\x0d\\x8f\\xad\\x06\\x65\\x31\\x07\\xc7\\x92\\x82\\x6d\\x8d\\x36\\xc1\\x1a\\x52\\x03\\x35\\x15\\x84\\x99\\x95\\xa6\\x09\\x65\\x64\\x96\\x11\\xc9\\x48\\x2c\\xf6\\x32\\x8a\\x8a\\xe7\\x61\\xac\\xe9\\x32\\xac\\x11\\x5f\\x64\\x3b\\x34\\x34\\xfd\\xad\\xa1\\x01\\xf9\\xa4\\xf3\\x90\\xe8\\x55\\x12\\x00\\x75\\xb1\\x7c\\x2d\\x5e\\x42\\x8f\\xc1\\x68\\x0c\\x86\\x1c\\x4a\\x25\\x83\\x9d\\x59\\x4b\\x6d\\x9c\\x77\\x2b\\xf1\\x2f\\xbd\\xdf\\xef\\xab\\x8d\\xfb\\xa1\\xc6\\xa0\\xc7\\xf6\\x8b\\x3e\\x73\\x61\\x65\\x6c\\xc9\\x56\\xc8\\x68\\xd2\\x73\\x78\\x94\\x1e\\x08\\x99\\x16\\x7a\\x20\\xc2\\x58\\x14\\xd8\\xa5\\xfe\\x25\\x86\\x80\\xdf\\xc5\\xaf\\x1a\\x39\\x2e\\x6c\\x91\\x96\\xda\\xe5\\xca\\x71\\xaf\\x62\\xa6\\x0f\\xa9\\xa2\\xed\\x4c\\x74\\x7c\\x49\\xe9\\x5d\\x77\\x71\\x22\\xdf\\xd0\\xc0\\x74\\x56\\x94\\x96\\x4c\\x59\\xc2\\xc1\\x6f\\x24\\x3d\\x99\\xa0\\x9b\\xf4\\x0d\\xb8\\x2d\\x56\\xee\\xd1\\xe9\\x04\\x41\\xc9\\xe3\\x83\\x61\\x37\\x29\\x95\\xfe\\x00\\x52\\xd9\\x55\\x75\\x71\\x60\\x77\\x38\\x4d\\xce\\xba\\xb8\\xdd\\x64\\x37\\x09\\x56\\x02\\x3c\\x69\\x6d\\xbb\\xe3\\x4a\\x42\\x59\\xb6\\x82\\x77\\x4b\\xb6\\x33\\x4c\\x3b\\x22\\x21\\xa9\\x7b\\x1e\\x8d\\xc2\\x57\\x52\\x2d\\x12\\x65\\x3e\\x3e\\x7a\\x54\\x62\\x80\\x9b\\xb8\\x76\\xe5\\x64\\x81\\x50\\xdf\\x28\\x44\\x3b\\xce\\x64\\xde\\x5f\\x29\\x56\\xe2\\x23\\xf3\\xda\\xea\\xe9\\x13\\x16\\x43\\x67\\x43\\xb3\\xee\\xbd\\x4e\\xd1\\xa9\\x78\\xdd\\x3f\\x11\\x87\\xa3\\xbb\\x31\\xfd\\x3a\\x10\\x8a\\x19\\x53\\xe7\\x06\\x2a\\x50\\x7d\\x32\\x6c\\x96\\x3c\\x34\\x1c\\x35\\x76\\xd3\\x0e\\x0d\\xac\\xae\\xaa\\x2a\\xe9\\x59\\x24\\x7e\\x41\\x26\\x9a\\x53\\xd7\\x5d\\x7f\\x50\\x0f\\x73\\xb9\\x17\\x1a\\x52\\x77\\x7c\\x2d\\x8d\\x51\\x4c\\x8c\\x45\\x91\\xdf\\x0f\\x78\\xb7\\x97\\x73\\x73\\x4a\\xec\\x56\\x03\\xbb\\x12\\x28\\x03\\x41\\xa3\\x51\\x0b\\xa8\\x1f\\xed\\xe1\\x7c\\x08\\x6f\\xac\\x87\\x77\\xf1\\x24\\x27\\x0d\\xe9\\x21\\xa4\\x2f\\x9e\\x35\\xd5\\x49\\x10\\xce\\x96\\xc8\\x0b\\xc9\\x82\\xce\\x84\\x8d\\x26\\x25\\x11\\xc8\\x10\\x9c\\x09\\x5b\\x94\\xa2\\x73\\xd2\\xc7\\x62\\xe3\\xb3\\x8d\\xcc\\x4f\\xe2\\xd6\\xe7\\xdf\\x5b\\xfe\\xc5\\xf6\\xdf\\x7f\\x95\\x73\\xa2\\xea\\xef\\xe3\\x77\\x0e\\x7a\\xfe\\xc1\\x7a\\xb8\\xbc\\xf9\\x55\\xee\\x92\\x38\\xf3\\x69\\x71\\xa7\\x43\\x7c\\x71\\xe3\\xa7\\x2b\\xef\\xdf\\x65\\x3d\\x35\\xf6\\xd1\\xf1\\xf7\\x9f\\xd9\\x06\\x57\\x35\\x0d\\xc6\\x7c\\x4c\\xc1\\x36\\xc0\\x54\\x7c\\xfe\\x73\\x88\\xf7\\x19\\xf0\\xda\\x20\\xcc\\xd6\\x0b\\x82\\x4a\\x95\\xed\\x45\\xb9\\x79\\x39\\x0a\\x9f\\x9e\\x0d\\xbb\\xc2\\xf8\\x34\\x9a\\xcd\\x36\\x97\\x4d\\x2b\\x65\\x61\\x19\\x93\\x29\\x48\\x19\\x92\\xaa\\x05\\x96\\x35\\xf6\\x37\\x4b\\xa0\\x8c\\x0e\\x11\\x6e\\x29\\xe6\\x99\\x67\\xcb\\xba\\xc6\\x06\\x1d\\xe5\\xef\\xe5\\x20\\x13\\x9a\\x32\\x70\\xc4\\x70\\x33\\x93\\x7b\\xe7\\xd0\\xf9\\x93\\x8f\\x94\\x75\\xed\\x36\\x80\\x60\\x5a\\xef\\x59\\x7c\\xfe\\x30\\x33\\xb6\\xe9\\x89\\xe7\\xf3\\x97\\x97\\x4e\\x1e\\x33\\x6e\\xe2\\xb4\\x91\\x8f\\x5f\\x21\\x0a\\x60\\xcf\\xe2\\x23\\x47\\x98\\x39\\xd2\\x1e\\x4c\\xc1\\x7b\\x30\\x01\\xd3\\x9e\\x4d\\x3d\\x67\\x8f\\x15\\xc2\\x88\\xa0\\x56\\xab\\x54\\x11\\x0f\\xca\\xc9\\xcd\\x56\\x78\\xf5\\x6c\\xc8\\x89\\x9d\\x66\\x9d\\xc9\\x64\\x75\\xda\\xd4\\x9e\\xff\\x03\\xed\\x58\\xfa\\x57\\xfd\\x17\\xd2\\x1f\\x15\\x98\\xf0\\xa4\\x9e\\x37\\x23\\x1c\\x6b\\xa8\\xf0\\x83\\x4b\\xe2\\x03\\xdb\\x20\\x1c\\x82\\x09\\x98\\xee\\x89\\xd8\\xee\\x2a\\x05\\xb5\\xb1\\x7c\\xbd\\x42\\xa1\\x51\\xda\\x4a\\x4b\\x41\\x6e\\xd8\\xe7\\x03\\x4a\\x54\\x56\\x1e\\x8c\\x90\\x44\\x46\\x9b\\xcb\\x65\\x2e\\x64\\xcd\\x2c\\x59\\x7b\\x83\\x46\\x0f\\x94\\x14\\x2a\\x22\\x09\\x3c\\x10\\xcd\\x80\\xad\\x4a\\x96\\xf9\\x06\\x33\\xa1\\x9c\\xac\\x52\\x58\\x34\\x99\\xc5\\xd8\\x5a\\x6f\\x30\\x66\\x79\\x23\\x78\\x26\\x34\\x75\\x40\\x92\\x9d\\x05\\x0b\\x63\\x44\\x7f\\x10\\xa6\\x98\\x27\\x09\\x4b\\xcd\\x0f\\x91\\x9c\\xc5\\xd4\\x5e\\xa4\\xd4\\x88\\x93\\x70\\x86\\xd5\\x08\\xbc\\x21\\x4a\\x7d\\x73\\xb0\\xcf\\x5a\\x1d\\xf3\\xba\\x14\\x0a\\xad\\x09\\x04\\x4d\\xc1\\x50\\xd8\\xe5\\xf5\\x62\\x36\\xbc\\x06\\xab\\x5e\\xad\\x27\\x36\\x9a\\xf4\\xde\\x2f\\xbd\\xc7\\xa4\\x3d\\xbb\\x66\\x32\\x90\\x4e\\xaa\\x94\\x89\\x29\\xd7\\x6c\\x4c\\x24\\x4a\\x6d\\xc1\\x02\\xaa\\xdf\\x64\\x24\\xf4\\xa9\\xff\\x7a\\xe2\\x98\\xac\\x82\\x85\\xdd\\x9b\\x24\\xb2\\xce\\x49\\x19\\x96\\x97\\xcf\\xfe\\xa1\\xb9\\x04\\xaf\\x39\\xe9\\xe9\\xf3\\x0b\\x7d\\x37\\xaa\\x8a\\x79\\x38\\xe0\\x32\\xe2\\xfb\\x66\\x0a\\x05\\x31\\x69\\x5a\\x89\\x34\\x93\\x55\\x60\\xea\\x93\\xcf\\x71\\x6d\\xd4\\x8f\\x70\\x96\\xa4\\x7c\\x68\\x99\\x23\\x4a\\x29\\x63\\x9d\\xf3\\xba\\x14\\xc6\\x3a\\x8a\\x5f\\x50\\xa5\\x9b\\x46\\xd9\\x9c\\x9d\\x86\\xc3\\x3a\\x98\\x8b\\xda\\x4b\\xfa\\x36\\x91\\xfb\\x89\\x29\\x93\\xed\\x17\\x62\\x3b\\x19\\xb0\\xed\\x64\\x53\\x03\\x9d\\x4e\\xaf\\x20\\x95\\xf3\\xbc\\xd1\\x84\\xd4\\x7a\\xce\\xa0\\x57\\xe8\\xe9\\xbe\\x67\\x34\\x7c\\x93\\xa3\\xb0\\x4a\\x68\\xb3\\x93\\xd8\\x54\\x18\\x12\\xf7\\x9c\\x24\\xfa\\xdc\\x0e\\x2f\\x5b\\x23\\xec\\xb1\\x47\\xc5\\xaa\\xdc\\xa0\\x70\\x14\\x9f\\xc6\\xc1\\xbe\\x7e\\x4b\\x99\\xfb\\xaf\\x5f\\x64\\xce\\x76\\xe8\\x7d\\x5b\\xd7\\xe6\\xdb\\xf1\\x44\\x89\\x3c\\x65\\xe2\\x5b\\xb3\\xbb\\xa9\\x9c\\x6f\\x8f\\xbf\\x3f\\x40\\x63\\x95\\x21\\x30\\x39\\xd6\\xde\\xa7\\xb1\\x23\\xe4\\x30\\xf1\\x56\\x96\\x85\\xbc\\x86\\x0d\\x67\\xd9\\x99\\xba\\xb8\\xde\\x0e\\xd5\\xc8\\x6e\\xe7\\xb1\\x1c\\xa8\\x8d\\x9b\\xf5\\x7a\\x77\\x6d\\xdc\\xa4\\x37\\x28\\xb1\\x01\\x23\\x28\\x6d\\x3c\\xc2\\x3a\\xcc\\xda\\x32\\xb2\\x96\\xea\\x80\\x5d\\x90\\x51\\xdf\\x22\\xc1\\xb3\\x4a\\x9a\\x33\\xcd\\x2f\\xa2\\xb8\\xb6\\x32\\xd4\\x29\\x49\\x48\\x64\\x6f\\x13\\xe7\\xc3\\x97\\x9b\\x0f\\x74\\x5d\\xb5\\xff\\x91\\x23\\x0f\\x75\\x8b\\x67\\x31\\xfd\\xc5\\xfe\\x0f\\x0e\\x1a\\x35\\x6a\\xe8\\xd1\\xb1\\xf5\\xcc\\xec\\x55\\xe2\\xae\\xb5\\xb7\\x8c\\x85\\x01\\x68\\xc2\\xce\\x8f\\x2b\\x5c\\x5a\\xb3\\x51\\x3c\\x3f\\xf8\\xe3\\xd7\\x5e\\xff\\x1f\\x71\\xf0\\x55\\xcc\\x53\\x05\\xe6\\xe9\\x7e\\x1a\\xe7\\xa1\\xd2\\x41\\x9b\\xe5\\x83\\xd0\\x2c\\x38\\x1c\\xe6\\x2c\\x2c\\x1b\\x7c\\x16\\x4b\\xd0\\xca\\x1a\\x82\\x58\\xcd\\xba\\x83\\x36\\xab\\x8a\\xb4\\xad\\x4b\\x83\\xbc\\xa7\\x40\\xbc\\x29\\x1f\\x59\\x96\\x0e\\x49\\x90\\x7b\\xda\\x33\\x48\\x6a\\x37\\x61\\x26\\x89\\x31\\xd4\\x15\\x95\\xab\\xbc\\x01\\x73\\x6a\\xe0\\xc0\\x21\\xbd\\x5f\\x7d\\xfe\\xdc\\x2b\\x7d\\x86\\x0c\\x1c\\x38\\x08\\x0a\\xb0\\xe0\\xe0\\xae\\xf1\\x6b\\x1c\\xce\\xd5\\xa3\\x1e\\x78\\x10\\x16\\x32\\x03\\xa6\\xbd\\x74\\xbc\\xf1\\xf4\\x97\\x90\\x11\\xaf\\x7d\\x7a\\xe6\\x99\\xe3\\x2f\\x4d\\x63\\xa0\\xd8\\x28\\xfe\\xe5\\x87\\xe6\\x75\\x8b\\xd7\\x2c\\x15\\xff\\x05\\x73\\x60\\x7f\\x9a\\x0f\\x41\\x7b\\x94\\x52\\x4c\\x38\\x1b\\xf0\\x62\\x8f\\x22\\xcf\\x6e\\x51\\xea\\xf5\\x2e\\x1e\\x1f\\x17\\x83\\x86\\xd5\\xf8\\xfc\\x4a\\x33\\x69\\xd4\\x24\\x40\\x1e\\xef\\x04\\x6f\\xb0\\xb8\\xa0\\x0b\\x4b\\x3a\\x28\\xf5\\x18\\x4a\\xeb\\x9e\\x51\\x93\\x01\\xf8\\x40\\x76\\x80\\x38\\x6a\\xc6\\x6c\\xbc\\xea\\xc4\\x97\\xb6\\x99\\x8c\\x06\\xce\\x68\\xae\\xc8\\xce\\x31\\x76\\x81\\x11\\x8b\\xcd\\x8e\\x3d\\x38\\x46\\xf7\\xfc\\x1b\\x70\\xcb\\xe1\\xb7\\x5f\\x12\\xa7\\xbe\\x3f\\xe5\\xae\\xd9\\x53\\x9b\\x9f\\x99\\x34\\x6d\\x06\\x96\\x59\\x70\\x8f\\x1d\\x62\\x3b\\x10\\xfe\\x5a\\x0e\\x57\\x8b\\xcb\\x2c\\xe2\\x37\\x62\\xb3\\x08\\x8a\\xc4\\xc9\\xe8\\x4f\\x7f\\x7a\\xd5\\xd2\\x74\\xd2\\xf6\\xc6\\x8b\\x67\\xde\\xf4\\xa0\\x1e\\xae\\x4b\\x44\\xc6\\x9d\\xb9\\xf1\\x2d\\xfa\\x00\\x1f\\x37\\x2b\\xc8\\x8b\\x59\\x74\\x3c\\x2f\\x58\\x05\\x9b\\x5d\\x67\\x36\\xe3\\x3b\\x66\\xb6\\x69\\xac\\x3c\\xf1\\xef\\x33\\xef\\x58\\x59\\x69\\x55\\xaa\\x99\\x18\\x79\\xf6\\x08\\xd3\\xf7\\xa9\\x33\\xb3\\x26\\x3e\\x74\\xb1\\x31\\xfd\\x35\\xf0\\xb0\\xf9\\x87\\xb3\\xb0\\xa9\\xb9\\x7b\\xda\\x4b\\xa0\\x3c\\x1f\\xc5\\x17\\x69\\x7b\\x3e\\xf8\\xff\\x37\\x1f\\x6a\\xb8\\x7e\\x22\\x73\\x3e\\x82\\x4b\\x49\\xb1\\x94\\x2b\\x63\\x66\\x33\\xcf\\xeb\\x04\\x97\\x80\\x5d\\x0f\\x87\\x03\\x4f\\xe8\\xb0\\x19\\xd4\\xb4\\xbd\\x89\\xc1\\x43\\xf9\\x4c\\x4b\\xfc\\x4a\\x06\\x32\\xaa\\xd2\\x1b\\xa7\\xd1\\xc7\\x66\\x12\\x75\\x4e\\x11\\x40\\x9e\\xc7\\x3b\\xf6\\x16\\xb9\\xe2\\x71\\xab\\x47\\x27\\x58\\xbe\\x3e\\xb0\\xae\\xbb\\xee\\x80\\x1a\\xe6\\xc2\\xe9\\x93\\x27\\x45\\x8d\\x54\\x97\\xfc\\x80\\xe9\\xb0\\xd2\\x78\\x90\\xcc\\xb7\\x60\\x4d\\xf2\\x6d\\x50\\xeb\\x05\\x4f\\x1b\\x7c\\xc3\\xa4\\xf8\\x6a\\xf1\\xfa\\xda\\x82\\x71\\xb4\\x0b\\x4f\\xdb\\x34\\x8a\\x9d\\x9c\\xf1\\xe6\\x9a\\x9a\\xd3\\x0f\\xca\\x63\\x4e\\x87\\x86\\xe7\\x8d\\x46\\x7f\\x20\\xe8\\xf0\\x7a\\xf1\\xa4\\x44\\x94\\xea\\x95\\xf5\\x89\\xe6\\x33\\x2d\\x45\\x7c\\x72\\x72\\x89\\x6d\\x41\\x16\\xa7\\x2d\\xc9\\x68\\x5f\\xd5\\xae\\x20\\xe4\\x2f\\x16\\xbf\\x69\\x45\\x4e\\xf3\\x3d\\x75\\xdd\\xb5\\x87\\x39\\x1e\\xcb\\xd3\\x2e\\x29\\xb2\\x20\\xf4\\xc8\\x6f\\xd5\\x5a\\xe0\\x8d\\xe9\\xb4\\x00\\xf0\\x3a\\x3d\\x8b\\xc9\\x60\\x13\\xc9\\x65\\x12\\x05\\x44\\xbf\\xd0\\x1c\\x05\\x39\\xf8\\x02\\x3d\\xd8\\xa4\\x52\\x4f\\xbd\\x7d\\xe2\\x94\\x17\\x7f\\xcf\\xb0\\xd0\\x0d\\x4b\\xcc\\x8f\\x5a\\xaf\\xbe\\x2f\\x22\\x20\\xef\\x31\\x3a\\x91\\x18\\x13\\x68\\x05\\xad\\x4e\\xaf\\x64\\xeb\\xf1\\xad\\x93\\x1a\\x79\\x25\\xc7\\x94\\x2a\\x0b\\xc9\\x43\\x64\\x00\\x38\\xf1\\x05\\x79\\xfe\\xfc\\x94\\x89\\xb7\\x4f\\x85\\x4a\\x18\\xc0\\x03\\x3c\\xf2\\xc1\\x15\\xeb\\xa3\\x66\\xf1\\xaa\\xf8\\x29\\xb6\\xb7\\x18\\x70\\x06\\xd3\\x39\\x13\\x9f\\x1b\\x2d\\xa6\\xab\\x6f\\x2c\\x4b\\xa9\\xd1\\xe0\\x23\\x02\\x20\\xb6\\x5a\\x4c\\x3c\\xe4\\x6d\\x76\\xa5\\x56\\x8f\\x15\\x92\\x5e\\x0f\\x19\\x46\\x57\\x8b\\x5d\\x44\\x35\\xb4\\xa6\\x3d\\xfc\\xb7\\x6e\\x11\\x25\\x03\\x44\\x85\\x93\\x0f\\xfe\\x61\\x18\\xc6\\x06\\x6c\\x39\\x09\\xe2\\xc1\\x19\\x8d\\xf0\\xad\\xb3\\x6f\\x2e\\xdd\\x02\\xc7\\xbf\\x2f\\x36\\x7e\\x08\\x4d\\x1f\\xcc\\x9d\\xce\\x76\\x38\\x78\\xef\\xf2\\x7d\\x61\\xb1\\x33\\x3c\\x0d\\xaf\\x89\\x0d\\x67\\x47\\x8f\\x92\\xfc\\xbf\\x04\\x5d\\x82\\x44\\x97\\x46\\xa9\\x54\\xe8\\x15\\x82\\x60\\x56\\x91\\xd6\\x70\\x66\\xbd\\x8d\\xd4\\x5a\\xf2\\xb5\\x71\\x85\\xc2\\xac\\xb2\\xe8\\xcd\\x02\\xd6\\x01\\xd6\\x54\\xe8\\xa2\\x35\\x59\\x46\\xb9\\x88\\x91\\x08\\xcc\\x70\\xd0\\x09\\xa3\\xf8\\x17\\xad\\x69\\x0b\\x13\\x64\\x99\\x45\\x33\\xe6\\x7c\\x20\\xfe\\xe3\\x43\\xd8\\xff\\x7d\\x71\\xff\\x96\\xa5\\x6f\\xfc\\x5e\\x2c\\x6a\\xdc\\x38\\x6a\\xf4\\x59\\xb1\\x01\\x5e\\x83\\xa7\\xc5\\xce\\xa1\\xfd\\xcb\\x77\\x1e\\xc2\\xb4\\x90\\x3d\\x78\\x14\\x9f\\xb5\\x2c\\xf6\\x16\\x50\\x41\\xaa\\x3f\\xd4\\x06\\x60\\xe2\\x79\\x83\\xa1\\xc0\\x9f\\x1d\\x89\\x38\\xf0\\xf9\\xab\\x6c\\xe7\\x28\\x40\\x21\\x02\\x16\\x04\\xb2\\x67\\x65\\x33\\x6a\\x94\\x9d\\x1d\\x32\\xe8\\x14\\xf5\\x71\\x9d\\x07\\x61\\x3d\\x65\\x32\\xa1\\x24\\x50\\x78\\x46\\xe6\\x69\\xab\\x4e\\x4f\\x94\\xe2\\x44\\x02\\xaa\\xd5\\x92\\x3a\\x9b\\x55\\x3e\\x26\\x1a\\x20\\x69\\x0a\\x59\\x09\\xd0\\x0e\\x29\\xae\\x65\\xb5\\x60\\xc5\\xef\\x43\\x6c\\xd6\\x57\\xaf\\x9f\\x9e\\xb4\\xa8\\x3a\\x3f\\x94\\x55\\x20\\x7e\\xbd\\x5f\\xdb\\x63\\xca\\x4c\\xa8\\xbb\\x6d\\xb2\\x28\\x6e\\x1f\\xf0\\xf6\\x2b\\xc7\\xaf\\xba\\x0e\\x6a\\xe7\\x2d\\xf8\\x77\\xc1\\xc0\\x19\\x5d\\xbb\\x6e\\x9c\\xdd\\x17\\x56\\xee\\x79\\xaa\\xe3\\xfe\\xad\\x9a\\x83\\x9c\\x80\\xef\\xf0\\x42\\x7f\\xe7\\x3e\\x81\\xc7\\x6a\\x6a\\x9d\\xb1\\x7e\\x77\\x0e\\xd9\\xf1\\xc8\\xda\\xe5\\x96\\xbe\\x7d\\xef\\x2b\\xae\\xce\\xc6\\xce\\x61\\x5e\\xaf\\x3b\\x08\\xef\\x37\\xf0\\xf1\\x79\\x89\\xe6\\x14\\x15\\xc7\\x54\\x7a\\x9b\\x8d\\x51\\x2a\\x9d\\x2e\\xad\\x89\\x8a\\x16\\x2d\\x04\\x1c\\xf5\\x7e\\x41\\xa6\\x23\\x13\\x4d\\xeb\\xe7\\xd1\\x05\\xa6\\xbf\\x76\\x12\\x93\\x0a\\xae\\x1d\\x54\\xd5\\xa9\\xba\\x5d\\x67\\xf7\\x7d\\x3b\\xa6\\x17\\x96\\x75\\x1b\\x70\\xcb\\xfd\\xe2\\x70\\xf3\\x01\\x47\\xe1\\xd0\\x29\\xec\\xd6\\x27\\x4e\\x9a\\x1e\\x75\\x4f\\x5d\\x71\\x7d\\x5e\\xe3\\x53\\x69\\x73\\x07\\x48\\x9e\\xab\\x4e\\x30\\x1a\\xed\\xd0\\xef\\x0f\\x86\\x74\\xf8\\x1f\\x6a\\xe3\\xc6\\x80\\xd5\\xea\\xa2\\x64\\x58\\x3d\\x9c\\xd4\\x6c\\x8a\\x83\\x29\\x00\\xd2\\xd6\\xf8\\xdd\\x91\\x68\\x06\\x21\\x89\\x84\\x2b\\x99\\xca\\xce\\xf8\\xd0\\x76\\x7d\\xf1\\xfe\\x7d\\x23\\xcb\\x08\\x49\\xc7\\x8e\\xdd\\xff\\x80\\x4c\\xe5\\x8b\\x5b\\xd0\\x5f\\x9f\\x3e\\x4e\\xc9\\x6a\\xea\\xbd\\xa5\\x57\\xe3\\x53\\x12\\xad\\x11\\x7c\\xdf\\x19\\x4c\\xdf\\x73\\xf8\\x6e\\xd2\\xb5\\xb1\\x1b\\x0c\\x2a\\x84\\x9c\\x2e\\x8d\\x40\\x89\\xd2\\x18\\x80\\xe5\\x37\\xd6\\x46\\xce\\xea\\x91\\x12\\x07\\xf0\\xaa\\xc8\\x8e\\x1f\\xaa\\xd8\\xbd\\xed\\x96\\x5b\\xba\\x95\\x15\\x0e\\x3f\\xb8\\xc7\\xd1\\xbe\\xa2\\xba\\x53\\x95\\x38\\xfc\\xf1\\xd3\\x48\\xbb\\x7a\\xb2\\xfb\\x51\\xd3\\xd1\\x27\\x9b\\x3e\\x9d\\x3c\\xbc\\xd0\\x71\\xc0\\x8c\\xef\\xca\\x5d\\xe2\\x30\\xba\\x36\\x1e\\xec\\x35\\xd5\\xc7\\x7c\\x5c\\x38\\x6c\\xf0\\xaa\\xd5\\x06\\x1b\\x00\\x06\\x43\\x6e\\x1e\\x79\\x74\\x34\\x80\\x30\\xc7\\x62\\x77\\x59\\xee\\xc7\\xa2\\x8a\\x5b\\xa0\\x80\\x4d\\x25\\x24\\x78\\xd2\\x1f\\x53\\x1d\\x89\\x32\\xaa\\x54\\xca\\x36\\x35\\x34\\xf1\\x11\\x2b\\x21\\xef\\x90\\xf2\\x89\\xb3\\xa7\\xaf\\x9d\\xfc\\x7e\\x47\\xfe\\xce\\x9c\\x99\\xbc\\x70\\x66\\xaf\\x21\\x75\\x2f\\xf4\\x5d\\xdc\\x77\\xf3\\xca\\x58\\x8f\\xc4\\x9e\\x8a\\x43\\xbb\\x96\\x74\\xe9\\x3b\\xb0\\xba\\x43\\xbb\\xb2\\x91\\xc7\\xe6\\x8d\\x98\\xf4\\xfb\\xce\\xb3\\x87\\xcc\\xdf\\xe0\\x60\\x0b\\x12\\x3b\\x6c\\x68\\xdf\\x6e\\xec\\xa0\\xb2\\xae\\xf4\\x7e\\x9d\\xc0\\xc6\\xc6\\xb7\\xdc\\x44\\x7c\\xeb\\x3b\\xc6\\x6c\\x8c\\xd5\\xca\\xe1\\x6b\\x6f\\xb3\\x33\\x14\\xfe\\xdf\\x2a\\x08\\x46\\xd6\\x48\\x32\\x7c\\x9e\\x89\\x1b\\x09\\x54\\xdd\\x85\\xb6\\x93\\xe8\\x88\\x71\\x14\\x46\\x12\\x2c\\x7b\\xfa\\xca\\xa2\\x6f\\x8f\\x75\\x58\\x20\\xd6\\xc2\\xe3\\x89\\x56\\x53\\xf0\\x48\\x83\\xf8\\x39\\x74\\x35\\x30\\x5b\\xe4\\x2e\\x53\\xcd\\xe3\\xd3\\xfb\\x84\\x59\\x41\\xbb\\x98\\x9a\\xf4\\x09\\xb3\\x58\\xb0\\xc0\\xa1\\x13\\xdf\\xbc\\x33\\x58\\xfa\\xf4\\x2d\\x1a\\x82\\x59\\x5b\\x77\\x01\\x93\\x1b\\x5d\\xd1\\xca\\xa4\\xeb\\x1f\\xc8\\xb3\\xb3\\xed\\x25\\xd9\\xd7\\x97\\xf4\\x14\\xc7\\xf2\\xc6\\x03\\x22\\xd8\\xd2\\xca\\x09\\x01\\xe0\\xf0\\x04\\x0d\\x24\\x2b\\xcb\\xc3\\x66\\xe7\\x84\\x14\\x4e\\x97\\x13\\x4f\\x0f\\x5d\\x2e\\x0d\\xf2\\xe8\\x49\\xd6\\xa5\\xc1\\x82\\x4d\\x8a\\x04\\x8a\\x55\\x9b\\x99\\xb3\\xc9\\x37\\x00\\x23\\x05\\xc8\\x27\\xe7\\x3d\\xad\\x9f\\x93\\xd4\\x80\\x20\\x91\\x41\\x6b\\x83\\x53\\xe0\\xcf\\x27\\x67\\xcc\\x90\\x5d\\x06\\x1a\\xf9\\x9c\\x3e\\x1d\\xee\\x5c\\xb9\\x4b\\x54\\xde\\xc6\\x76\\x10\\x4b\\xe0\\x15\\xb1\\x64\\x6d\\xb3\\xe4\\x35\\x90\\x40\\xe8\\xe2\\xb5\\xf0\\x4a\\x53\\xe7\\xe3\\x07\\xbc\\x23\\xf6\\x2e\\x24\\xeb\\x37\\x0f\\xd3\\x3f\\x1c\\xd3\\x5f\\x02\\x6a\\x62\\x7e\\xab\\xd6\\xa8\\xf0\\xe7\\x2a\\x72\\x51\\xd8\\x5d\\x84\\x8a\\x4a\\xcb\\x22\\x1a\\x12\\xf4\\x08\\x69\\xf5\\xc0\\x91\\xea\\xc9\\x9c\\xb1\\x81\\x99\\x7d\\x9d\\x2a\\x2b\\xaa\\x12\\x71\\x05\\xe9\\xfd\\x27\\x59\\x68\\x9c\\x23\\xc5\\x64\\xe4\\x66\\x26\\x24\\xfc\\x0c\\x98\\xc9\\x9f\\x88\\xff\\x1c\\x12\\x0d\\x16\\x14\\xd4\\x2f\\x89\\xdf\\xd1\\xbd\\xc7\\xa3\\x5b\\x1b\\x8e\\x74\\xef\\x31\\x73\\xc4\\x92\\xfa\\x82\\x82\\x40\\xc5\\x10\\xf1\\x07\\x0b\\x04\\x6f\\x6f\\x99\\xdf\\x27\\xe6\\xf1\\xe7\\x6f\\xbe\\x7d\\xf8\\xd8\\xb9\\x73\\xc7\\xec\\x3f\\x77\\x6e\\xff\\x98\\xb9\\x73\\xc7\\x8e\\x98\\xbc\\x39\\xdf\\xef\\xed\\xd2\\x77\\xfe\\x96\\x2b\\x62\\xb3\\x54\\xbb\\x78\\x08\\xf3\\xd1\\x83\\xed\\x60\\xe2\\xd1\\x7c\\x7a\\x36\\x7b\\x62\\x9d\\xb4\\x1e\\xf3\\xa5\\x02\\xb9\\x31\\xb3\\x52\\x05\\x01\\x8f\\x18\\x86\\x57\\x21\\xb5\\x06\\xa9\\xac\\x3c\\x09\\xcb\\x95\\xd7\\x44\\x33\\x21\\xb2\\xb1\\x9a\\x09\\xd3\\xe2\\x1e\\x18\\x66\\xe0\\x9f\\xe1\\x89\\x57\\xc5\\x9f\\x8c\\x15\\xe1\\x1c\\xf1\\xdb\\x57\\xd8\\x0e\\xd8\\x0d\\x3a\\xdf\\xee\\xf4\\xbc\\xf9\\xcd\\x5d\\x00\\x09\\xc0\\x00\\xf6\\x0c\\xb5\\xdf\\xf2\\x63\\x16\\x83\\x1e\\x29\\x90\\x0b\\xb9\\x3d\\xc8\\x60\\x50\\xba\\xac\\x66\\x8d\\x34\\x78\\x39\\x1e\\xbe\\xba\\x24\\x99\\x4a\\x45\\xe0\\x0c\\xcc\\xf6\\x2e\\x10\\x7f\\x0d\\x23\\xa6\\x92\\x17\\x10\\xe9\\xce\\x6b\\xd1\\x31\\xf8\\x2f\\x6f\\x5d\\xda\\x5a\\xad\\x2a\\xdf\\xf1\\xda\\xe9\\xa7\\xc7\\x04\\x73\\xcc\\xeb\\x5f\\x5c\\x15\\xb0\\x2b\\x34\\x1a\\x34\\xe9\\x38\\xde\\xbf\\xbc\\x57\\x0b\\x8e\\xc2\\xcb\\x78\\xf6\\xb1\\x50\\xd1\\xe5\\x40\\x3b\\x71\\x04\\x3c\\x3a\\x75\\x86\\x6f\\xe4\\xd8\\x61\\xce\\xe6\\x87\\x28\\x9f\\x3d\\x30\\x2d\\x9b\\xb9\\xbf\\x63\\x5f\\xa5\\x38\\x66\\x37\\x29\\x75\\x2a\\xa4\\xc3\\xd7\\xcd\\xa6\\xd4\\xe9\\x80\\x91\\xf6\\x6f\\x52\\x1b\\x89\\x11\\x70\\x21\\x55\\x17\\x2f\\xd3\\x03\\x65\\xa9\\x40\\xd8\\xc5\\x4e\\x20\\x51\\xfe\\x5d\\x20\\x3a\\x9a\\xc8\\xd9\\x82\\xef\\x9c\\x17\\x7f\\x19\\x25\\xe4\\x89\\xaf\\x9e\\x83\\x2f\\xc7\\x5f\\xe0\\xfe\\x2e\\xa5\\x6a\\x5d\\xbf\\xc2\\xac\\xfa\\xd8\\x77\\x47\\xd3\\x77\\x6c\\x87\\x6f\\xce\\x91\\xf9\\x3b\\xe2\\xf9\\xef\\xc1\\x6b\\xa1\\xc0\\xf6\\x9c\\x9d\\xe3\\x79\\x56\\xa1\\x00\\xa4\\x71\\x31\\x50\\xaa\\x04\\xc8\\xb2\\x1c\\xa3\\x97\\xca\\xef\\xaa\\x5b\\xe4\\xc6\\x95\\x4b\\x06\\x95\\xf4\\x9e\\x62\\x64\\x78\\xb1\\xf2\\x0a\\x1c\\x0e\\xc7\\xbd\\x2e\\xe6\\xc1\\x33\\xcc\\x2a\\x51\\x07\\x7f\\x68\\x5e\\x2c\\xde\\x22\\xd7\\x71\\x63\\x3d\\xfe\\x25\\x9e\\xc3\\x42\\xb2\\x34\\xcc\\x06\\xad\\xda\\x62\\xd1\\x99\\xb4\\x26\\xab\\x0d\\x7b\\x91\\x34\\x9c\\xac\\x35\\x6b\\xb0\\x47\\xa3\\xb1\\x66\\x06\\xe7\\x5a\\xa7\\x11\\x52\\xc6\\xb9\\xe4\\x3d\\x27\\xc9\\xba\\x72\\x71\\x37\\x5b\\x58\\x50\\x55\\x19\\xe9\\xde\\xe1\\x9f\\xcd\\x8e\\x44\\x69\\x37\\xf3\\xc6\\x9c\\xba\\xee\\xea\\x87\\x34\\x30\\x77\\xa5\\x5c\\xda\\x4d\\xee\\xfb\\x8e\\x1b\\x03\\xd9\\xcd\\xf4\\xbd\\x82\\x44\\x64\\x0b\\x6c\\x66\\x97\\x0a\\xe8\\x58\\x83\\x0f\\x1b\\xb2\\x56\\x83\\x35\\x18\\xb2\\xd2\\x5c\\x5d\\x64\\xaf\\x25\\xe5\\x12\\x66\\xbd\\xcb\\x60\\xd3\\x63\\x63\\x42\\xa3\\xd2\\xcb\\xbb\\x80\\x6f\\xba\\x84\\x99\\x9a\\x49\\x19\\xad\\xce\\xc2\\xba\\x2e\\x51\\xa8\\x50\\x00\\x79\\x21\\xa7\\x2a\\x41\\x5e\\x24\\xc4\\x0b\\xd2\\xe3\\x2a\\xa3\\x9a\\xf4\\xfc\\xf8\\xf9\\x1b\\xb6\\xdc\\xdf\\x5c\\x1a\\xda\\x5c\\x25\\xbe\\x21\\x55\\x73\\x34\\x4f\\x63\\x8a\\x4b\\x26\\xf6\\x7a\\x7c\\x40\\xaf\\x76\\x9b\\x8f\\xed\\x5b\\x7c\\xfb\\x82\\x85\\xb7\\x0e\\xe9\\x3c\\x4f\\xa6\\xfa\\x74\\xdd\\xe4\\xc2\\xaa\\x9c\\x22\\xbc\\x8e\\x8b\\xf0\\x3a\\x76\\xa5\\x79\\x83\\xfd\\x63\\xb9\\x58\\xe5\\x31\\x16\\x9e\\x67\\x9c\\x6e\\x2d\\xe7\\xf1\\x3a\\xb1\\xd7\\x8e\\x7d\\x40\\xa4\\x43\\x2a\\x40\\x13\\x2d\\x3c\\x8c\\x1b\\xb8\\x33\\xe3\\xd7\\xe9\\x71\\xd8\\xf4\\x37\\x60\\x73\\x66\\x70\\x31\\xed\\x41\\x18\\x06\\x1b\\xd1\\x54\\x71\\xe5\\x85\\x8f\\xe6\\xbf\\xb7\\xe5\\x3d\\xd1\\xfe\\xb4\\x79\\xcf\\x86\\x8d\\x07\\x4f\\x1f\\xaa\\x87\\x1b\\x9b\\x6f\\x61\\x3b\\x1c\\x17\\x77\\x39\\xaf\\xff\\x69\\xf3\\xa7\\xcb\\xcf\\x9d\\xd5\\xac\\xfd\\xdd\\x9f\\x0e\\xef\\x6d\\xdc\\x06\\x57\\x49\\x78\\x80\\xc3\\xd8\\x95\\x98\\xce\\x00\\xc8\\x07\\xb7\\xc6\\xda\\x39\\x79\\x3f\\x93\\x6b\\x32\\x01\\x5f\\x18\\x1b\\x92\\x0c\\xaf\\x2c\\x2c\\xb0\\x92\\x24\\x05\\x84\\xb0\\x34\\xb5\\x2b\\xc2\\x1a\\xd6\\x8a\\xac\\x48\\x07\\x74\\xc1\\xba\\xb8\\x5a\\xe7\\x61\\x02\\x24\\xf5\\x28\\x45\\xf7\\xc5\\x8c\\xdc\\x23\\x10\\x2d\\x68\\x93\\x76\\x81\\xbc\\x8d\\xa5\\xa9\\xcd\\x24\\x03\\xb0\\xbc\\x4a\\x4e\\xf0\\x92\\x59\\xe9\\xda\\xa5\\xfb\\xc4\\x25\\x3b\\xff\\xb2\\xbc\\x71\\xec\\xb1\\x07\\xcf\\xbe\\x63\\x7a\\xf6\\xc0\\x60\\xc2\\x0d\\x9c\\x7a\\x72\\xfc\\x93\\x87\\xfb\\x0e\\x5e\\x40\\xd9\\x72\\x34\\x5f\\x5c\\x3d\\xb3\\x7d\\xdf\\xa5\\x1b\\xd6\\xf7\\x5c\\xd4\\x6f\\xde\\xaa\\x7b\\x6b\\xfa\\x3d\\xf8\\x0c\\xe6\\xed\\x7a\\xe1\\xd4\\xbb\\x3b\\x54\\x76\\x26\\x65\\xd8\\x60\\x2d\\xbe\\x37\\x65\\xd8\\x0e\\xb0\\x83\\x0e\\x31\\x9f\\x46\\x6b\\x07\\xbc\\xd9\\x0c\\xb4\\xc8\\xe1\\x24\\xb6\\x27\\xd2\\x20\\x0d\\xb6\\x07\\x94\\xa4\\x03\\x79\\xc2\\x07\\x69\\x9d\\xc4\\x28\\x95\\xda\\x94\\x67\\xb4\\x25\\x32\\x49\\xb5\\x36\\x67\\x2a\\x7a\\x3e\\x74\\xa8\\x61\\xdf\\xf4\\x4d\\xb6\\x67\\x7d\\xff\\x3e\\xfd\\xc3\\x3f\\xbf\\xfe\\x80\\xf1\\x99\\xde\\x79\\xf9\\xdd\\x73\\x53\\x27\\xe8\\x76\\x9e\\x16\\xbf\\x15\\x7f\\xfa\\x45\\xfc\\xc8\\x28\\x2e\\x93\\xee\\x57\\x26\\x2d\\x6a\\x3b\\x30\\xb2\\x2c\\x50\\x23\\xa7\\xc3\\x02\\x6b\\xe3\\x16\\x8d\\x45\\x03\\x14\\x0a\\x7c\\xcf\\x14\\xff\\x85\\x96\\x6c\\xc6\\x58\\x21\\x85\\x0c\\x89\\x95\\x1b\\x90\\x1b\\x6c\\x32\\xfd\\x3e\\xfd\\x64\\xe9\\x27\\x3b\\x9e\\xfe\\xda\\xff\\xac\\x6d\\xe3\\x0c\\xf1\\xed\\x43\\x0f\\xf5\\xac\\x80\\xab\\x8c\\x50\\x07\\xd1\\xf1\\x9f\\x57\\x3e\\xbd\\x5b\\x37\\x61\\xaa\\x38\\xfd\\xe5\\x77\\x4c\\xcd\\x7f\\x93\\x68\\xa1\\xbd\\x7c\\x08\\x2d\\x1d\\x09\\x2d\\xd0\\x86\\x69\\xb1\\xa9\\xf1\\xba\\xd8\\xa1\\x46\\xa3\\x80\\x94\\x0e\\x1b\\xb4\\xd4\\xc6\\xa1\\x3e\\x23\\x35\\xa1\\x26\\x33\\x2d\\x81\\x04\\x27\\xd2\\x0e\\xa4\\x94\\x00\\x27\\x18\\x99\\x19\\xe9\\xc4\\xc0\\x42\\x42\\x0c\\x77\\x49\\x9c\\x66\\x14\\x7f\\x10\\x9b\\x13\\xe4\\xc0\\x7b\\x31\\x39\\x4c\\xb9\\xb4\\x36\\x9b\\xf0\\x59\\x8c\\x61\\x5b\\xd1\\x06\\x3a\\xc7\\xbc\\x6a\\xc0\\x73\\x9c\\xc1\\x08\\x8c\\x76\\x87\\x81\\x37\\xf0\\x16\\xc6\\x82\\xfd\\x2c\\x0b\\xc3\\x28\\xb0\\xb7\\xd5\\x0a\\xd7\\x27\\xb3\\x50\\xc0\\x4c\\x93\\xaa\\x48\\x72\\x9b\\x14\\xb3\\xa2\\x35\\x11\\x01\\x66\\x13\\x14\\x4f\\x7c\\x16\\x38\\x9f\\xfb\\xce\\xbe\\x07\\xf6\\x1c\\xf8\\x28\\x74\\xce\\xfe\\xaf\\x67\\x45\\xf1\\x47\\x38\\x98\\xb9\\x7e\\xe4\\x01\\xdd\\x05\\xf1\\x2d\\xf1\\xa2\\x78\\x4e\\xbc\\xf4\\xb6\\xe6\\x81\\xb3\\xa4\\xb3\\x0e\\x40\\x89\\x7e\\xe2\\x14\\x2b\\xd8\\x89\\xe5\\xa1\\xd9\\xe0\\xb4\\xd9\\x78\\x0d\\x45\\xcb\\xb4\\xc5\\xec\\x76\\x25\\x52\\xea\\xa8\\x21\\xab\\x44\\xc8\\x2c\\xc1\\xfb\\xdb\\x32\\x5b\\xb9\\xba\\x2e\\xa7\\x45\\x75\\xca\\xd3\\x9b\\x87\\x97\\x03\\x94\\xec\\x19\\x1e\\x21\\x9d\\x2c\\x52\\x7d\\xc3\\x7f\\x86\\x8a\\x64\\xcb\\x70\\x71\\xca\\x4b\\x2d\\xba\\x86\\x3f\\x2c\\x1e\\x4b\\xf5\\x0b\\x7f\\xe1\\x83\\x0f\\x08\\x86\\x15\\x3e\\x53\\x1d\\xa8\\x3e\\xfe\\x1b\\xb5\\x93\\x16\\xdd\\xf8\\x8e\\xc4\\x0d\\x69\\xee\\x49\\x6d\\xac\\x50\\xef\\x11\\x42\\xc0\\x66\\xd3\\xf8\\x43\\x1e\\x2e\\x37\\xcf\\xaf\\xd2\\xaa\\x88\\xe7\\xaa\\xfa\\x48\\x85\\xfd\\x30\\x95\\xca\\x19\\xa1\\x29\\x28\\x06\\xa9\\xf4\\x33\\x63\\x9f\\x13\\x4e\\x58\\x8b\\x56\\x52\\x89\\x74\\x01\\x62\\x62\\x04\\x64\\x04\\xe9\\x2a\\x03\\x4d\\xe3\\xad\\x48\\x62\\x26\\x02\\xb4\\xa5\\xef\\x96\\xc5\\x77\\xae\\x5a\\xbb\\xa8\\x63\\x4c\\xfc\\xea\\xee\\x0d\\x0b\\x36\\xf6\\x79\\xfe\\x86\\x78\\xfd\\xbd\\x1f\\x57\\x2c\\xbc\\xf3\\x8e\\x7f\\xbc\\xfe\\x6f\\xec\\x19\\x14\\xde\\x73\\x72\\xf8\\xad\\x75\\x03\\x47\\xdf\\xfd\\x5c\\xfd\\xe4\\x31\\x17\\x08\\x80\\xe9\\xdf\\x0f\\x6d\\xbf\\x73\\xa3\\x25\\x34\\x7b\\xc4\\x96\\xa3\\xe2\\xa7\\x20\\x99\\xfb\\xf0\\x21\\x87\\x30\\x27\\xe3\\x62\\x26\\x10\\x60\\x02\\x82\\x4b\\x1b\\x89\\x38\\x4d\\x8c\\xc0\\xe4\\xe6\\x19\\xac\\xc4\\xf4\\xf4\\xc4\\x0d\\x6a\\x90\\x53\\x1b\\xd7\\xba\\xd4\\xd8\\x4c\\x70\\x71\\x6a\\xb5\\x97\\xe6\\x42\\x84\\xdb\\xc8\\x85\\xc0\\xde\\x63\\xb2\\xb1\\x5e\\x75\\xea\\x61\\x4b\\x72\\x2a\\xd3\\xd3\\x22\\x28\\xac\\x69\\x22\\xfd\\xf4\\xe6\\x19\\x12\\x07\\x26\\x0b\\x1b\\xe7\\x94\\x54\\x64\\x15\\x74\\xab\\xba\\x49\\xa6\\xc4\\xa0\\xa5\\xeb\\x35\\xbb\\x0c\\xbd\\x07\\x5c\\x4d\\x4b\\x98\\xc0\\x7b\\x76\\x12\\xef\\x99\\x83\\xee\\xd9\\x77\\xf4\\xac\\xf5\\x95\\xfb\\x92\\x98\\x81\\x0f\\x84\\xc8\\xfb\\x63\\x88\\x63\\x18\\xbf\\xc3\\xe8\\xd1\\x1a\\xb5\\x59\\xe1\\x80\\x7f\\xf0\\xa8\\x00\\xe4\\x9c\\x06\\x27\\x39\\xfd\\x06\\xac\\x37\\x2c\\x44\\x6f\\x00\\xb3\\x2c\\x7d\\x6f\\x5a\\x98\\x62\\x4c\\xeb\\xcc\\x44\\xf3\\x71\\xa4\\xf8\\xa7\\xf4\\x66\\x67\\x26\\x86\\xad\\xc4\\x18\\xb6\\xcc\\xad\\xbf\\xc2\\x7f\\xc2\\x5a\\xf1\\xf8\\xa0\\x9d\\xb7\\xef\\x3f\\xbd\\xfd\\xc1\\xe7\\xc5\\x0b\\x9b\\x86\\x8d\\x3e\\x3d\\xa0\\x6b\\xdd\\xc7\\x2f\\xb3\\x1d\\x9a\\xb2\\x36\\x47\\x6e\\xdb\\x1b\\xdf\\xbc\\x74\\xd9\\x4a\\x34\\xf0\\x7a\\xf5\\xf4\\xe9\\x8e\\x4e\\xd5\\xed\\xbb\\xf2\\x39\\xe7\\xcf\\xd3\\xf7\\x9d\\x99\\xe8\\x13\\xfa\\x36\\x8b\\xef\\xad\\x42\\xa9\\x4c\\x80\\x6a\\xab\\x59\\x8d\\x96\\x11\\x54\\x50\\x80\\x4a\\xa4\\xd6\\xf3\\x6e\\x25\\x7d\\x4d\\x4b\\x3e\\x98\\xa5\\x10\\x51\\xe5\\x12\\x62\\x25\\xac\\xa2\\x6f\\x3a\\x30\\xac\\x84\\xb0\\x23\\x9c\\xb9\\xa6\\xb1\\x51\\x8c\\xbc\\x05\\x4f\\x8b\\xe5\\xd8\\x3a\\xd3\\xde\\x06\\xef\\xb9\\x56\\x81\\xf6\\x37\\xff\\x08\\xaf\\x30\\x53\\xc9\\xd9\\x80\\x4a\\x1a\\x4b\\xea\\x00\\x38\\x10\\x8a\\xa9\\x58\\x88\\xed\\x4e\\x81\\xd1\\x43\\x96\\xde\\x44\\x28\\x87\\x3d\\x92\\xc1\\x9f\\x3c\\xda\\x35\\x86\\xb5\\x36\\xfd\\xd4\\xc8\\x8c\\xc0\\x0c\\xc9\\xf1\\x94\\x4d\\xe2\\x70\\x8e\\xa3\\x79\\x09\\xb9\\xa4\\x4e\\x25\\xec\\xf6\\xb2\\x26\\x93\\xda\\xe8\\x36\\xe6\\xe5\\x3b\\xb2\\xb1\\xc0\\x71\\xd8\\x4c\\x1e\\x85\\xae\\x9e\\x08\\x64\\xe2\\x18\\x02\\x03\\x41\\x64\\x4f\\xf4\\xa9\\x89\\xb6\\xac\\x53\\x81\\xc9\\xbc\\xa1\\x44\\x0f\\x73\\xb9\\xa2\\x9f\\x48\\x22\\x98\\x96\\xbe\\xcc\\x18\\x97\\xee\\x8b\\x32\\xdb\\xb7\\x56\\xd1\\x26\\xe6\\x27\\x59\\x86\\x66\\x8b\\x33\\x7f\\x4e\\x24\\x88\\xb3\\xfd\\x86\\x4d\\x84\\x21\\xb9\\x83\\xf9\\xaf\\xcf\\xc0\\xd3\\x47\\x12\\x19\\xe3\\xcd\\x1f\\x27\\x92\\xc4\\x33\\xf4\\x89\\x1f\\x8c\\x8a\\x95\\x6b\\x75\\x0e\\x8f\\x07\\x7a\\xb1\\x3b\\xeb\\xd5\\xa1\\x40\\xd0\\xed\\x07\\xfe\\xba\\xb8\\x03\\xb0\\xd8\\x42\\xd2\\xb3\\x7e\\x96\\x21\\xf5\\x29\\x5a\\x2d\\x0b\\x90\\xd1\\x6b\\x35\\xaa\\x6a\\xe3\\x46\\x39\\x18\\x20\\xe1\\xa9\\x66\\xa2\\xe6\\x67\\x74\\x69\\x33\\xdf\\x44\\xfb\\xd1\\xd2\\xc8\\x70\\x65\\x70\\x2d\\x8c\\xb6\\xd2\\x82\\xa4\\xcc\\xa0\\x51\\xbc\\x0c\\x2d\\x50\\xd5\\x5a\\x1d\\xce\\x5c\\xbc\\x7b\\x77\\x0b\\xfa\\xc7\\xc4\\xa2\\x06\\xbd\\xdb\\xef\\x67\\x81\\x15\\xdb\\xb5\\x7a\\x14\\x0c\\xf8\\xb0\\x9b\\x55\\x17\\x77\\x23\\x07\\xb6\\xad\\xf5\\x0e\\xbf\\x03\\xd3\\x8f\\x1c\\x06\\x83\\x03\\x21\\xa0\\xa1\\x46\\x68\\x4a\\x49\\xb6\\x85\\xfb\\x9f\\xc1\\x81\\x04\\xec\\xdf\\xb6\\xda\\x24\\x4c\\x30\\xfd\\x48\\x51\\x44\\x1b\\xea\\x33\\x2a\\x5e\\xde\\xbd\\x78\\x66\\x6b\\x1d\\x2a\\xfe\\x67\\xf1\\x6e\\x8a\\x97\\xfd\\x2d\\xc5\\xcb\\x76\\xe0\\x5b\\x1b\\x01\\x13\\x63\\x95\\x4e\\x85\\x2d\\x1c\\x36\\x99\\x7c\\x3a\\xc6\\x98\\x65\\xb7\\x5a\\x8d\\x0a\\xec\\x7b\\x58\\x23\\x66\\x02\\x0e\\xa1\\x37\\x42\\xbd\\x5a\\x1d\\xa0\\xc2\\xc9\\x83\\x2f\\x32\\x67\\x0d\\xdb\\x00\\x36\\x41\\x40\\xf2\\x01\\x3e\\x9a\\xb2\\xa6\\x5b\\xf4\\x85\\x89\\xa6\\xa0\\x4f\\xda\\x82\\xcd\\x90\\xc0\\xb1\\x93\\x58\\x19\\x4a\\x18\\x64\\x74\\x2d\\x40\\x32\\x0c\\x04\\x19\\xbb\\x49\\x23\\xa1\\x63\\xc0\\x57\\xe0\\x04\\xf1\\xc1\\x56\\xd8\\x18\\x33\\x09\\x2c\\x76\\x12\\x11\\xa3\\x79\\x03\\x2a\\x27\\x77\\xa4\\x1c\\xcb\\x26\\x12\\x47\\x29\\x01\\xd5\\x60\\x4d\\xac\\x77\\xa9\\x43\\x1b\\x0a\\x55\\x9a\\x82\\xa0\\x24\\x5b\\xad\\x89\\xf0\\x79\\x79\\x11\\x75\\x49\\xd0\\xc1\\x77\\xc0\\xee\\x49\\xa1\\xb5\\x10\\xd5\\xc6\\x0b\\x3d\\x11\\x6d\\x18\\xeb\\x98\\xb0\\x3e\\x08\\xd5\\xd9\\xd9\\xaa\\xba\\x78\\x76\\xb6\\xd5\\xef\\x76\\x57\\xd5\\xc6\\xdd\\x06\\x2b\\x41\\x5d\\xb3\\xda\\x0c\\x49\\xbf\\x9c\\xf0\\x69\\x92\\x63\\xa6\\x8e\\x9a\\x9a\\x96\\xcf\\xec\\x19\\x6d\\x8b\\x12\\x91\\x97\\x94\\xdd\\x9b\\x83\\x8f\\x26\\x81\\x0b\\x6f\\x63\\x45\\x10\\x31\\x36\\x69\\x52\\x72\\x6a\\x61\\x98\\x17\\x1d\\x03\\xba\\x0d\\x1e\\x3f\\x6b\\x6c\\x31\\xf7\\x95\\xb8\\x5f\\xb5\\xaf\\xc5\\x1a\\x59\\xfe\\xb1\\x62\\x71\\xe3\\xa1\\xf5\\xf7\\xe5\\x8b\\x27\\xa5\\x75\\x5a\\x33\\xbc\\xe7\\x85\\xc7\\x1f\\x3d\\x3c\\x17\\x1e\\x68\\x7a\\x7d\\x69\\xeb\\xe5\\x5a\\x2e\\x8e\\x09\\x7e\\xfc\\xca\\xbf\\xc4\\x6b\\xf3\\xee\\x67\\x9e\\x93\\x57\\x8d\\x96\\x8d\\x01\\xdf\\x8d\\xc1\\xf4\\x5c\\x64\\x81\\x62\\x50\\x86\\xd7\\x6d\\x59\\xac\\x47\\x44\\x0b\\x2a\\x2b\\x3d\\xed\\x59\\xb7\\xbb\\xc4\\x6e\\xcf\\x17\\x6c\\xa5\\xae\\xf6\\xa1\\x90\\xcb\\xa6\\x65\\x3b\\x74\\x74\\x95\\x39\\xca\\x6a\\xe3\\xfe\\xf2\\xda\\x78\\x89\\xdf\\xcf\\x39\\xf4\\x36\\x68\\x28\\xc4\\x06\\xa9\\x41\\x95\\x5b\\x1b\\x17\\x18\\x95\\xad\\xd2\\xcd\\x11\\x07\\x81\\xb3\\x26\\xda\\x8a\\x93\\xf8\\x4a\\x42\\x0a\\x91\\x9c\\xb4\\x56\\xc8\\x7e\\x89\\x84\\x8d\\x44\\x61\\x2c\\x71\\x71\\xda\\x5e\\x26\\x28\\x3f\\x3a\\x5b\\x82\\x19\\xe7\\x07\\x52\\x3f\\xa8\\xb2\\x02\\xe5\\x95\\x9b\\x56\\x17\\xdd\\xdb\\xf2\\x30\\x35\\xff\\xab\\x63\\xff\\x2d\\x63\\x27\\xdd\\x2e\\x7e\\xde\\x6c\\x4a\\x1e\\xa9\\x5b\\xc5\\x83\\x70\\x56\\x51\\xaf\\x9c\\x5b\\xee\\x5e\\x50\\xd9\\x7e\\x5e\\x9b\\xa7\\x6b\\xcf\\x8a\\x09\\xa3\\x3f\\x4f\\x9e\\x30\\x71\\x3b\\x93\\xdb\\x3c\\xab\\xef\\x2d\\xa3\\x28\\x86\\x10\\x59\\xb8\\x07\\xb8\\x42\\x7c\\x93\\x2a\\xc0\\xf8\\x58\\x54\\x57\\x56\\xa6\\x16\\x5c\\x45\\x56\\x8b\\x25\\x02\\x40\\x91\\x80\\x2a\\xdb\\xb9\\x22\\x46\\xd6\\x48\\xc2\\x23\\x56\\x68\\x42\\xf8\\x6e\\x19\\x4a\\x95\\x2a\\x65\\x5d\\x5c\\xa7\\x51\\x19\\xd8\\x8a\\xda\\x38\\x2b\\xcb\\xfc\\x44\\xec\\x29\\x33\\x8c\\xdc\\xb2\\x06\\x8f\\xc4\\x90\\x69\\xe9\\x51\\xb8\\x92\\x60\\x1c\\x06\\x33\\x63\\xc6\\xa4\\xda\\x1f\\x96\\x13\\xd4\\xb6\\x1c\\x02\\x65\\x50\\x15\\x26\\xb2\\x82\\x7d\\xe0\\xdd\\x17\\xc4\\xf8\\xdc\\x3b\\x96\\xae\\x09\\x2e\\x80\\xeb\\xba\\x75\\xbf\\xef\\x69\\xfb\\x83\\x9a\\x09\\xf5\\xc7\\x82\\x9d\\x86\\x56\\x4e\\x9f\\x38\\x49\\x9c\\xf4\\x43\\xb8\\xd7\\x9d\\xeb\\x96\\x74\\x2b\\xfa\\xbc\\x53\\x35\\xac\\xd9\\xf3\\xf0\\xa2\\xc5\\xcc\\x1f\\x56\\xff\\xf0\\x83\\x71\\xd9\\x66\\x4b\\xdf\\xfe\\xf7\\x16\\xb6\\xcf\\xf1\\x1a\\xc3\\xc1\\xf5\\xe2\\xdf\\x1e\\x2e\\xed\\x9c\\x1f\\xcc\\x1e\\x30\\xb3\\x7e\\x70\\x9f\\xe6\\x49\\x03\\xbb\\xd1\\x3c\\x72\\x7c\\xc7\\x9a\\xf0\\x79\\x21\\x7d\\x2c\\x26\\xc5\\x4c\\x5c\\x6e\\x2e\\x13\\x29\\xe2\\x03\\x01\\x87\\xc6\\x1c\\x31\\x97\\x94\\x86\\x0a\\xa8\\xa1\\x19\\xb2\\xd9\\xdc\\x52\\x21\\x9f\\xcd\\x83\\x10\\x54\\xa9\\xf4\\x12\\x86\\x83\\x0a\\xe6\\x48\\xb1\\xb7\\x54\\xe3\\xf9\\xa4\\xb1\\x5e\\x00\\x5a\\xd4\\xa9\\x66\\x06\\xe3\\x2a\\x33\\x23\\xcf\\x69\\xc1\\x5e\\x3e\\x2d\\x9f\\xa2\\xca\\x58\\x42\\xa3\\x74\\xc9\\x78\\x74\\x22\\xf4\\xbb\\xe3\\xee\\x83\\x07\\x1b\\x87\\x8e\\x9f\\xb6\\x4d\\x8e\\xda\\x95\\xa6\\x85\\xa7\\xa5\\x28\\x70\\x55\\x88\\x74\\xa9\\x27\\x0d\\xeb\\x9d\\xd8\\x73\\xc4\\xbc\\xde\\xf8\\x16\\xcb\\xcc\\x97\\xf0\\x3e\\x97\\x82\\x4e\\x60\\x6e\\xac\\x9d\\x0e\\x2b\\x5c\\x21\\xcb\\xe9\\xf7\\xf9\\x2a\\x8a\\x8a\\x3a\\x66\\x33\\x76\\xa7\\x20\\x74\\xee\\xe2\\x09\\xd6\\xc6\\x3d\\x06\\x23\\xdd\\xe0\\x7c\\x2c\\x39\\xb2\\xed\\x1d\\x19\\x36\\xdf\\x9f\\xef\\x07\\x74\\xbb\\xad\\x32\\xd0\\xa7\\x0d\\x94\\xa5\\xc2\\x65\\xd2\\xe6\\x53\\xfc\\x7c\\x19\\x4b\\xa9\\x55\\xd3\\xb0\\xa8\\x5c\\x08\\x23\\x31\\x27\\x6d\\x3d\\xc9\\x67\\xa2\\x4c\\x66\\x93\\x52\\x06\\xb9\\x1f\\x0c\\x29\\x8b\\x61\\x64\\xd8\\xa5\\x9c\\x84\\xea\\xd3\\x43\\x1b\\x1a\\x79\\x60\\xe2\\x9d\\x5b\\x66\\xae\\x21\\x67\\xe0\\xf8\\xf1\\xf6\\xbd\\x3b\\xd7\\xf4\\xff\\xf3\\x9f\\x60\\x69\\xc5\\xc3\\xae\\xc7\\x97\\xce\\x0a\\x0d\\x1e\\x37\\xb6\\x6a\\xce\\xda\\xfa\\x87\\x66\\x4e\\x98\\xde\\xbe\\xbc\\x64\\x74\\x55\\xd7\\x22\\xcb\\xc4\\x89\\x1b\\x17\\x31\\x2f\\xe3\\x63\\xb0\\xba\\x79\\xfa\\xd0\\x5e\\x95\\x0d\\x6f\\x93\\x4a\\x19\\xf1\\x79\\xdd\\x85\\x2b\\xaf\\x6f\\x9d\\x34\\xbc\\x6f\\xf6\\xd2\\xe9\\x23\\x56\\xf6\\x5e\\xd7\\xbb\\x57\\x69\\xc7\\x76\\x1d\\xbb\\xf6\\x22\\x3a\\x91\\xf4\\xa8\\x9b\\xc8\\xbd\\x8a\\xe5\\xc6\\x84\\x58\\x65\\x7e\\x59\\x99\\xdf\\x9f\\x15\\x80\\x2e\\x97\\xc7\\xad\\x35\\x99\\x94\\x4a\\x77\\x00\\x95\\x47\\x73\\x8b\\x6a\\xe3\\xb9\\xd0\\x47\\x1b\\xae\\x96\\x85\\x0d\\xee\\x80\\x55\\x6d\\xa8\\x8f\\xab\\x3d\\x9c\\x8d\\x14\\xd3\\xca\\x99\\x8a\\x72\\x87\\xb1\\x68\\xcb\\x26\\x75\\xe9\\xcf\\x29\\xf8\\x1e\\x24\\xb3\\x4e\\x0c\\x41\\x69\\xf3\\x53\\xc9\\x8a\\xc6\\x9c\\x70\\xa2\\x00\\x34\\xad\\x1a\\x8b\\x69\\x10\\x98\\xd0\\x94\\x51\\x8b\\x66\\x8a\\x4d\\x9d\\xba\\x15\\xc7\\x66\\x54\\xf6\\xeb\\x37\\xec\\x11\\xf8\\xde\\x23\\x0b\\x16\\x2c\\x58\\xd2\\xa3\\xbc\\xc8\\xdb\\xb5\\x9a\\xed\\xb0\\x67\\xf8\\xf0\\xc6\\x57\\x9a\\x9e\\x14\\xdf\\x33\\x1c\\x36\\xed\\x44\\xc1\\x7d\\xbf\\xa3\\x70\\x5a\\x6b\\xa2\\x4d\\x7d\\xd1\\xe9\\xd5\\x8b\\xee\\x5d\\xa9\\xd9\\xa8\\xe8\\x33\\x72\\xbc\\x64\\xc3\\x10\\xcc\\xa9\\x53\\xf8\\xec\\x17\\x93\\x3e\\xc9\\xa8\\xb8\\x18\\xf8\\x8c\\x0e\\xec\\x5d\\xe5\\xe4\\x18\\x01\\x2a\\x29\\x2d\\xca\\xcf\\xe7\\x6b\\xe3\\xf9\\x36\\xa5\\x0f\\x58\\x2c\\x58\\x0a\\x6e\\x73\\x40\\x87\\xc3\\x62\\x48\\x24\\x67\\x45\\x4b\\xe4\\x2b\\xde\\x76\\xf3\\x46\\x29\\x25\\xcb\\xc6\\xfe\\x36\\x2e\\x89\\x84\\xde\\x98\\x63\\xed\\xd5\\x38\\x10\\xdc\\xd8\\xba\\xf3\\xc1\\x9b\\x21\\x91\\x88\\xd7\\xde\\xdf\\x74\\x63\\x30\\x77\\xe9\\x7a\\x7d\\xdd\\x88\\xe1\\x75\\x37\\xc5\\x1f\\xe9\\xb2\\xfd\\x89\\xde\\x9d\\xee\\x4c\\xe2\\xb6\\xee\\xc4\\xbc\\x29\\xb0\\x75\\xdc\\x29\\xe6\\xe3\\xb1\\xc7\\x05\\xd4\\x02\\x07\\x38\\x8d\\x96\\x53\\xd2\\x2a\\x07\\x3d\\x84\\x2a\\x1e\\xf0\\xe9\\x66\\x40\\x5b\\xa1\\xb4\\x68\\x52\\xcb\\x1b\\xe1\\xb3\\x8d\\x88\\x69\\xfe\\x3d\\x33\\xb5\\xe9\\x2f\\x4c\\x0d\\x49\\x1b\\xdb\\xd8\\xf4\\xfe\\x66\\xf4\\x54\\xd3\\x5f\\x51\\x88\\xce\\xd9\\x00\\x20\\xdb\\x05\\xcf\\xa9\\xc1\\x5e\\xeb\\xed\\xb1\\x0a\\xb3\\xc9\\xc4\\x73\\x82\\x85\\xd1\\xab\\xec\\x0e\\xa7\\x53\\xad\\xd1\\xd8\\xf5\\x16\\x8e\\x73\\xb9\\xb1\\x99\\x2e\\xb0\\xac\\xc3\\xa4\\xb7\\x9a\\xf0\\x2f\\xa3\\xc2\\xae\\xd3\\x59\\x8c\\x56\\x46\\x01\\xd5\\xe4\\x91\\x28\\x4a\\x7e\\x49\\xae\\x11\\xed\\xf8\\x8a\\x89\\x28\\x91\\xbe\\x6f\\xd5\\x83\\x4f\\x6a\\xf5\\xad\\x86\\x61\\x14\\x75\\x43\\xf2\\x1f\\xca\\xf8\\x66\\xd1\\xda\\xad\\x3b\\xd7\\xbe\\xb0\\x64\\xdd\\xee\\xc5\\x0f\\xac\\x5d\\x74\\x21\\xfd\\x1b\\xa4\\x64\\xc2\\xcd\\xff\\xc3\\xbc\\xd4\\xfc\\x32\\xd3\\x9e\\xfc\\xbe\\x56\\x99\\xf9\\x3d\\xe6\\xe5\\x09\\xbc\\x7e\\x7e\\xcc\\x8b\\x80\\xfd\\x9c\\x1e\\xb1\\x10\\xab\\xd1\\x70\\x5a\\xa8\\x54\\x02\\x85\\x56\\x61\\x30\\xea\\xd4\\xf5\\xf8\\xb4\\xeb\\xf0\\x2f\\x5e\\xa9\\xb5\\xf2\\xa8\\x3e\\xce\\xc3\\xe4\\x6b\\x67\\x75\\xa2\\xc9\\x77\\x0b\\x90\\x8c\\xb0\\x91\\xb6\\xa6\\x4d\\xfc\\x66\\xfd\\x4f\\x36\\x7f\\xf3\\x14\\xba\\x4b\\xfa\\x8a\\x3e\\x23\\x79\\xa1\\xf0\\x8b\\x6b\\x15\\xd2\\x9f\\x40\\xba\\x8f\\xc3\\xd8\\x1c\\xb6\\x3f\\xf6\\xcc\\xaa\\x63\\x1e\\x8b\\x5e\\x70\\xf9\\x7c\\x5e\\xc1\\xeb\\x0f\\xb8\\xf5\\x46\\x4d\\x7d\\xdc\\x68\\xf0\\xb1\\xc4\\xc2\\x06\\xac\\x9c\\x3c\\x6d\\xb8\\x98\\xee\\x79\\xc8\\xdb\\x17\\x49\\xe4\\xa7\\x51\\xf7\\x59\\xc8\\x91\\xd2\\x83\\x93\\x79\\x6c\\x78\\xe6\\xd2\\x1d\\xb3\\x1e\\xba\\xdf\\x51\\x59\\x9a\\x5b\\x5c\\x5a\\x33\\x05\\x1a\\xe3\\xd3\\xef\\xdc\\xd0\\x78\\x72\\x5b\\xed\\xd0\\x13\\x97\\xa0\\x61\\xfd\\xac\\x8e\\xee\\x9d\\x79\\xe2\\x48\\xf1\\xb3\\x83\\x73\\x9e\\xda\\xc5\\x2c\\xbf\\xe6\\x91\\xe5\\x04\\x17\\xc3\\x74\\xe5\\x82\\x9a\\x58\\x90\\xd0\\x95\\x9b\\x1b\\xc6\\x84\\xe5\\xe5\\x47\\x02\\xf5\\xf1\\x88\\x27\\x41\\x5e\\x06\\x71\\x35\\x2d\\xeb\\xeb\\xff\\x3b\\x75\\x66\\x2a\\x1b\\x69\\xc5\\x4c\\xe5\\x4d\\xe8\\x84\\x3d\\x07\\x97\\x54\\x3b\\x06\\x74\\x7d\\x7c\\xe7\\x4d\\x08\\xbe\\xfe\\xf4\\x8a\\x39\\x96\\xfd\\xf6\\xb3\\x6f\\x61\\xdf\\x17\\x76\\x87\\x5f\\xa3\\xad\\x3c\\x30\\x08\\xa8\\x80\\xb9\\x0d\\x50\\x19\\x00\\x63\\xf8\\xdf\\xb6\\xf0\\x2a\\xbc\\xc6\\xbd\\x62\\x7a\\x9f\\xc7\\x60\\x30\\x2a\\x04\\xc1\\x6e\\x44\\xfe\\x80\\xc5\\xd9\\x55\\x05\\xfb\\x80\\x38\\xb0\\xc0\\x28\\xbe\\x46\\x46\\x58\\x8c\\xcd\\x6e\\x0d\\xec\\xfb\\x74\\x1c\\xa0\\x33\\xb0\\x2c\\x99\\xb0\\x9e\\x21\\xdf\\xf0\\x3e\\xcb\\x42\\x2d\\x9c\\x96\\x69\\x17\\x4d\\xe5\\x67\\xc3\\xd3\\x79\\x77\\x0e\\x99\\x3f\\x67\\x71\\xaf\\xfa\\x11\\x93\\x17\\xbf\\x58\\x56\\x1a\\x2a\\x19\\xc6\\xb3\\xb7\\x0d\\xe8\\xb1\\x78\\xbb\\xc8\\xc2\\x4f\\x67\\xd7\\x2f\\x9d\\x22\\x76\\x41\\x83\\xae\\xa8\\xe7\\xe9\\x26\\xf6\\x98\\x45\\xf3\\x83\\x19\\x78\\x0c\\x3c\\xc7\\x1c\\xa6\\xfd\\x96\\x0d\\xd8\\xd3\\xd5\\x23\\x96\\x55\\x02\\x9d\\xce\\x68\\xd2\\xeb\\x05\\x28\\xa8\\xcf\\xc0\\xbe\\x8d\\x71\\x01\\x8b\\xa5\\xb3\\x98\\xda\\x51\\x98\\xa5\\xc2\\xf4\\x58\\xd0\\xd2\\x92\\xd4\\x43\\x2b\\x6d\\x22\\x9b\\x91\\x39\\x17\\x65\\xf2\\x16\\xd7\\x0e\\xa9\\xf6\\xe6\\x57\\x04\\x17\\x73\\xc3\\xe7\\xcd\\x6b\\xca\\x9b\\x34\\x9e\\x1f\\xcb\\x56\\x77\\x41\\x79\\x78\\xa0\\x4b\\x78\\x6d\\x72\\xd9\\x1f\\x81\\x09\\x94\\xc5\\xd4\\x6a\\xce\\x64\\xc2\\x5b\\x6f\\xb6\\x90\\xd8\\x53\\x9f\\xa7\\xe3\\x9c\\xf2\\xf7\\x78\\x11\\x10\\x2c\\xc5\\xab\\x58\\x0c\\x92\\x45\\xc0\\xc6\\x44\\xde\\x71\\xaa\\x55\\x64\\x32\\x99\\xe2\\x4d\\x76\\x2e\\x87\\x7c\\xfd\\x7a\\xd9\\x3c\\x9e\\xc8\\xc0\\x41\\xf0\\x6b\\xa6\\xdf\\xec\\xd8\\x03\\xb7\\xf5\\x16\\xe6\\x0a\\x9b\\x96\\x8a\\x77\\x49\\xfb\\x31\\x05\\x7e\\xc8\\x5c\\x60\\x3f\\x23\\xf8\\xcd\\xa7\\xd5\\x1c\\x30\\x99\\xcc\\x16\\xd3\\x59\\x3c\\x09\\xe6\\x58\\x9a\\xf5\\x39\\x58\\x02\\x58\\x3a\\x63\\xb2\\x3c\\x53\\xce\\x20\\x27\\x19\\xa5\\xd2\\x03\\x5a\\x02\\x05\\x83\\x39\\x4f\\x66\\xf4\\xf4\\xa7\\x33\\x0e\\x1a\\xc8\\x7e\\xd6\\x7c\\x0a\\xcf\\x38\\xae\\x2f\\x9d\\x11\\x36\\x90\\xf9\\xc6\\x82\\x73\\xa8\\x17\\x9e\\xcf\\x81\\x57\\x56\\x2d\\x00\\x60\\xd4\\x38\\x1c\\x4e\\x97\\xde\\x82\\x79\\x3c\\x19\\xd7\\xe8\\xf5\\x4a\\xc7\\x39\\x3a\\x3b\\x4b\\x8f\\x82\\x12\\x56\\xa4\\xc3\\x79\\xa5\\xaf\\x6c\\xea\\x69\\xb1\\x33\\xcc\\xa0\\xe1\\x74\\x76\\x76\\x8e\\x27\\x9a\\xfd\\x84\\x73\\x60\\x1f\\x9b\\xc7\\x97\\x35\\x60\\x10\\xfb\\x59\\xd3\\xf1\\xea\\x12\\xd5\\x6c\\xc5\\x95\\xbf\\xd5\\xf6\\x4c\\x92\\x82\\xf7\\xb9\\x02\\xaf\\xf7\\xe3\\x98\\x16\\x82\\x81\\x37\\x22\\x66\\x21\\x91\\x05\\x01\\xeb\\x1e\\x35\\x01\\xc0\\x13\\xd4\\x82\\xd5\\xc6\\x9a\\xf1\\x66\\x63\\xb3\\x0b\\xb2\\xa4\\xd3\\x09\\xcb\\xaa\\x19\\x0d\\xa1\\x4e\\x8d\\x8f\\x68\\x5f\\x4c\\x9d\\x9a\\x2c\\x4b\\x32\\xe7\\xa2\\x55\\x09\\x5f\\x22\\x8b\\xda\\x1c\\x45\\xc9\\x54\\x0b\\x33\\x36\\x35\\x0b\\xb0\\x64\\x7f\\x72\\xc3\\xdf\\x76\\xfe\\x6b\\xcc\\xe4\\x1d\\x4b\\xc5\\x8b\\x8b\\xce\\xdc\\xb7\\xf3\\x2c\\x3a\\x0e\\x2b\\xc5\\x0b\\xa6\\x05\\xa3\\x27\\xcf\\x61\\xae\\x37\\x4f\\x5a\\xb9\\x56\\xbc\\x26\\xe9\\xcc\\x3b\\xe0\\x37\\xec\\x38\\x4c\\xa3\\x0d\\xf4\\x8d\\xd9\\x55\\x4a\\x85\\xa0\\x35\\xe8\\x59\\x08\\xb0\\x67\\x65\\x33\\xb1\\x5a\\x25\\x67\\x77\\xb0\\x7a\\xb2\\x5f\\x56\\xbc\\x56\\xa5\\x8d\\x26\\x08\\xb5\\x8a\\x33\\x84\\x2c\\x42\\x05\\x91\\xec\\xe9\\xfe\\x71\\x4a\\x34\\x22\\x92\\x20\\x87\\xb0\\xe8\\x36\\xdb\\xec\\x55\\xe4\\x15\\xad\\x06\\x62\\x2a\\xef\\x6e\\x98\\xa7\\x76\\xaa\\xf4\\x6b\\xef\\x7e\\x7d\\xe1\\x12\\x9b\\x42\\x77\\xdf\\xea\\x95\\x7e\\xad\\x69\\xe5\\x02\\xf8\\x0d\\xfc\\x36\\x67\\x59\\x69\\xdf\\xe6\\x2f\\x99\\x6b\\xcd\\xd7\\xea\\xab\\x3b\\x31\\x43\\x9b\\xff\\xbd\\xae\\xcb\\x00\\x86\\x07\\x04\\x36\\xea\\x1c\\x3a\\x8f\\xe9\\x33\\x82\\xf6\\x31\\xa3\\x5e\\x50\\xeb\\xd4\\x8c\\x82\\x35\\x99\\xf1\\xdf\\xd4\\x40\\xab\\x20\\xab\\x45\\x1a\\x40\\x90\\xd5\\x02\\x89\\xbd\\x94\\xb3\\x63\\x93\\xaf\\x66\\x11\\xe9\\x76\\x54\\xe1\\x95\\x22\\xc4\\xe0\\xdd\\x84\\x5b\\xca\\xc2\\xd5\\xed\\xc7\\x14\\x88\\x1f\\xae\\x7e\\xa0\\x7b\\xc9\\x43\\xab\\xc4\\xcf\\xba\\x2e\\x3f\\xa7\\x18\\xcb\\x8e\\x98\\xcb\\xfc\\x22\\x8e\\x7c\\x6d\\x33\\xfc\\xbc\\x99\\x7b\\x7c\\x05\\x89\\xaf\\xc1\\xff\\xa0\\x01\\xcc\\x3b\\xdc\\x25\\x13\\x4f\\x10\\x8c\\xf0\\xf7\\x56\\x34\\x00\\x9d\\xa2\\xdf\\x73\\x64\\xfd\\x18\\x86\\x45\\xcc\\x6b\\xb4\\xc7\\xb4\\x3b\\xa6\\x56\\xe2\\x03\\xa7\\x52\\x0b\\x02\\xf9\\x7f\\x35\\x97\\xaa\\x13\\x57\\x95\\xdc\\x53\\xa9\\xbe\\x3f\\x6a\\x65\\x98\\x48\\xc1\\xc2\\xb1\\x71\\x16\\x6d\\x1f\\xbf\\xa3\\xfb\\xc6\\xa5\\x2f\\xdd\\x64\\x0c\\x85\\x82\\x0c\\x9f\\x39\\x86\\x55\\x2a\\x68\\x0f\\x57\\x32\\xaf\\xd1\\x31\\xb8\\x4b\\x37\\x1b\\x83\\x01\\x4a\\xa5\\x4a\\xcd\\x30\\x6d\\x8c\\x11\\xa6\\x65\\xc1\\x9d\\x21\\xf3\\xc7\\xf8\\xd8\\x85\\x85\\x59\\xdc\\xa5\\x97\\x96\\x6e\\xec\\xb5\\xe3\\xd6\\xed\\x64\\x8c\\x6c\\x76\\x01\\xf3\\x11\\xf7\\x23\\x3e\\xaf\\xae\\x18\\x36\\x25\\xc8\\xb3\\x92\\x4e\\x2f\\x68\\x41\\xc9\\xeb\\xe9\\xc9\\x64\\x92\\x0d\\x5b\\x49\\x9f\\xbc\\xc2\\x4c\\x76\\x7e\\x55\\x55\\xfe\\x90\\x49\\x93\\x86\\xb0\\x97\\xdb\\x97\\x95\\x55\\x0d\\x9d\\x3c\\x7c\\xf8\\xed\\xe4\\x1e\\xfe\\x03\\x8f\\xf5\\x28\\x1d\\xcb\\x1b\\x53\\xa9\\x90\\x80\\x85\\x9d\\x4e\\x0f\\xf8\\x33\\xb0\\x37\\xa8\\xc9\\x18\\x8e\\x46\\x11\\xa3\\x56\\x29\\xa0\\xc5\\x3c\\x3a\\x74\\xe2\\xc4\\xa1\\x64\\x48\\x76\\xc1\\x94\\x61\\xc3\\x27\\x0f\\xad\\x2a\\x2b\\x6b\\x4f\\xe5\\x48\\x3b\\x7c\\x97\\xee\\xa1\\xb5\\x09\\x3d\\x63\\x3a\\xb5\\xc6\\x06\\xf8\\x24\\xca\\x19\\xb9\\x43\\x4a\\x02\\x4a\\x4d\\x80\\xce\\x94\\xcf\\xd3\\xc3\\xa0\\xc7\\x52\\x53\\x92\\x63\\x72\\xa7\\x9f\\xea\\x16\\x4f\\x1f\\x30\\x15\\x88\\x4a\\x83\\x1a\\xb3\\x32\\x82\\x2f\\x7f\\x6a\\x7c\\xf8\\x94\\x8d\\xd6\\x65\\x96\\x7b\\x67\\xed\\x3b\\xbc\\x65\\x0d\\xfc\\x1a\\xde\\xa6\\xdd\\xb1\\xbe\\x61\\xed\\x5a\\xd5\\x94\\x39\\xe7\\x4f\\x3d\\x7c\\x41\\xfd\\x4b\\x2b\\x7a\\x0c\\x58\\x2b\\xaa\\xb1\\x41\\xc6\\x62\\x7a\\xcc\\x50\\xa2\\xc7\\x6c\\xc6\\xf4\\x08\\x82\\x56\\xa2\\x47\\xf8\\xaf\\xf4\\x54\\xa6\\xf2\\x8d\\x92\\xe1\\xbd\\x2a\\x23\\xd3\\x6b\\xcd\\x96\\xc3\\xfb\\x66\\xef\\xb4\\x2c\\xb3\\x6e\\x9c\\x32\\x3c\\x3e\\x35\\xdf\\x07\\xbf\\xfe\\x45\\x7d\\xe1\\xe1\\x93\\x2f\\xce\\x99\\xa2\\x5a\\xbb\\xb6\\x61\\xfd\\x0e\\xad\\xb8\\x8f\\xc4\\x81\\xa7\\x83\\x3d\\xec\\x40\\xf6\\x98\\x81\\x07\\xfe\\x9f\\x29\\x26\\x35\\xfe\\x7e\\x02\\xfd\\x3e\\xa8\\x21\\xf7\\x7c\\x3e\\xf8\\x8e\\x1d\\xce\\x9e\\x01\\x3c\\xc8\\x8e\\x19\\x11\\xcb\\x73\\x0c\\x16\\xfe\\x0c\\xe9\\x52\\xc5\\xf0\\xf8\\xbe\\x97\\x44\\x69\\x97\\xff\\xb4\\x97\\xf5\\x48\\x58\\x09\\xc3\\x30\\xca\\x0e\\x7f\\x54\\x3c\\x29\\x9e\\x79\\x14\\xee\\x39\\xf2\\x1d\\xd2\\x35\\xfd\\x80\\x5e\\x93\\xe4\\x46\\xe6\\x78\\x78\\x30\\x96\\x3c\\x24\\x33\\x78\\x3c\\x0e\\xdd\\x64\\x3c\\xfa\\x6e\\xcc\\x9c\\x39\\x22\\x4e\\x7e\\x14\\xf6\\x81\\xb7\\x3c\\xfa\\x1d\\x7a\\x0d\\x8f\\xa7\\x93\\xf4\\x84\\x9b\\x3d\\x41\\xfa\\xf9\\x91\\x5e\\xed\\x31\\x03\\x81\\xb1\\x52\\x93\\x1e\\xeb\\x8c\\x72\\xcb\\x28\\x8e\\xd9\\x41\\x74\\x73\\xaa\\xda\\xc7\\x8a\\xb5\\x82\\x10\\xae\\xac\\x8a\\xa2\\x13\\x53\\x3f\\x60\\xbe\\x9c\\x22\\x1e\\x66\\xff\\x48\\xba\\x05\\x7c\\x9f\\x39\\x4e\\x28\\x66\\x54\\x20\\x84\\xaf\\x23\\x0b\\xd9\\x2d\\xa3\\x20\\xdf\\x10\\x87\\x3b\\x40\\x4d\\x5a\\x45\\x0d\\x11\\x54\\x89\\xce\\x04\\xcc\\xf3\\x72\\x2f\\x02\\xf6\\x84\\xdc\\x3f\\x11\\xdf\\x87\\x62\\x76\\x05\\xb3\\x9f\\xea\\x69\\xdb\\x29\\x3c\\x34\\xcb\\x41\\x86\\x9e\\xdf\\xcb\\xa9\\xcf\\x63\\x8d\\xbb\\x7f\\xf6\\x6c\\x76\\x05\\xec\\x8f\\x7f\\xa0\\x8e\\x7d\\x1b\\x2d\\xe0\\x06\\x93\\x9f\\x8f\\xa9\\xc8\\x8a\\x00\\xb4\\x35\\x0e\\x76\\x02\\xd9\\x4c\\x22\\x2f\\x03\\x95\\x41\\xb4\\xa0\\xf9\\x2f\\x4c\\x0e\\xfb\\xf6\\x72\\x89\\xef\\xe7\\xd8\\x93\\x48\\x8d\\xe7\\xe0\\xc8\\x3d\\xc1\\x8a\\x01\\x5f\\x59\\x5e\\xe0\\x32\\xe6\\x91\\xcf\\x87\\x39\\x6a\\x15\\xe0\\x73\\xab\\xde\\xf8\\x91\\x3d\\x69\\x81\\xc8\\x2b\\xc9\\x6f\\x38\\x8e\\x3d\\xc9\\x9c\\x48\\x7c\\x1e\\x70\\x1c\\xc9\\x98\\x10\\x88\\x41\\xd3\\xf2\\xf3\\x98\\x53\\xb3\\x95\\x19\\xfc\\xe3\\x1b\\xab\\xd8\\x93\\xd7\\xbc\\x62\\xb3\\x05\\x48\\x3c\\x8a\\xd3\\x98\\xfd\\x37\\x4e\\x61\\x9a\\xcd\\x32\\x8f\\x08\\x94\\xb4\\x62\\x50\\x9c\\x46\\xd3\\x94\\xf1\\x0f\\x0c\\x11\\xbf\\x45\\x0b\\x6f\\x4c\\x4f\\xf1\\x88\\xc0\\xd6\\x38\\xba\\xb7\\x05\\x8f\\x0b\\x9b\\x3f\\x60\\x22\\xe2\\xb7\\x32\\x8f\\xe7\\xc4\\x69\\x48\\x7f\\x63\\x25\\xa6\\xd1\\x95\\x4e\\x63\\x72\\x9e\\x74\\x02\\x4f\\x60\\x02\\xc5\\x69\\x09\\x02\\x5b\\x7c\\x36\\xb1\\x3e\\xad\\x3e\\x2b\\x2d\\xce\\x39\\xbc\\x38\\xe2\\xb4\\xc4\\xe2\\x30\\xf0\\x3a\\xfe\\x72\\x95\\xed\\x80\\x7f\\x5a\\x00\\xb9\\x31\\x13\\x07\\x21\\x96\\x43\\xf8\\x92\\x22\\x85\\x12\\xf2\\xac\\x95\\xbc\\x78\\xd4\\x48\\x99\\x81\\xe9\\x55\\x49\\x42\\x38\\xc7\\x58\\x15\\xb5\\x33\\x57\\x27\\x69\\x27\\xe1\\xff\\xd8\\x0e\\xef\\xbe\\x7b\\xfd\\xe2\\xbb\\xef\\x62\\x5a\\xae\\xa3\\x09\\xf2\\x78\\x4e\\xc2\\x3b\\x40\\x08\\x2f\\x17\\xcd\\x1c\\x91\\xc6\\xa0\\x8f\\x3f\\xf8\\xe3\\xf4\\xa3\\xe4\\x73\\x44\\xa6\\x82\\xd1\\xcc\\x47\\xf0\\xdd\\xdf\\x96\\xa9\\x91\\x9b\\xc8\\xd4\\x13\\x69\\x22\\x95\\xc8\\x54\\x3c\\xd6\\xa3\\x89\\xb1\\x12\\x32\\x95\\x07\\x2d\\xc6\\xba\\x89\\x40\\x1d\\x9d\\x29\\x4f\\x9f\\x01\\x4f\\x20\\x17\\x14\\xf1\\xca\\x04\\x62\\x5a\\x81\\xe7\\xf1\\xd2\\x2a\\x15\\x3c\\x56\\x19\\xf8\\xee\\x5e\\x92\\x5f\\x55\\x12\\x37\\x37\\x88\\xfd\\xf6\\xa8\\x35\\x8a\\x5c\\xe2\\xee\\xc5\\xb3\\x17\\x3f\\x31\\xe3\\xb3\\xcf\\x40\\xeb\\x31\\x00\\xfe\\x2c\\x5d\\x59\\x8e\\x13\\xf0\\xf6\\x5c\\x2a\\xcf\\x18\\x03\\x86\\xad\\x61\\xac\\xb9\\x82\\xc8\\x85\\x47\\x80\\xb7\\xc3\\xed\\x9f\\x7d\\x36\\x43\\x1e\\xe3\\x10\\x72\\x31\\xc4\\xab\\xcd\\x8f\\x99\\x55\\x80\\xe1\\x04\\x4c\\x09\\xd2\\x68\\xf1\\x30\\x2a\\x9e\\x57\\x92\\x8d\\xae\\x4e\\xf8\\x8b\\xd5\\x46\\xbb\\x6c\\x8c\\x4a\\xa3\\xc9\\x54\\xe1\\x11\\xc9\\xa0\\x81\\xa5\\x4b\\x67\\x2c\\x59\\x42\\xc6\\x2c\\x86\\x66\\xb4\\x0f\\x1e\\xc0\\xcb\\x63\\x3c\\x49\\x8e\\x28\\x43\\xe4\\x51\\xfa\\xf1\\xdc\\xd7\\xbc\\x8d\\x99\\x05\\xcd\\x77\\xe3\\x9f\\x2d\\xc2\\xf2\\x62\\x3f\\x96\\x17\\x5a\\x7c\\x42\\x2c\\x2c\\x16\\x17\\x48\\xad\\xd3\\xab\\x58\\x80\\x45\\x06\\x10\\xf0\\xed\\x4d\\x17\\x19\\x29\\x95\\x95\\x13\\x95\\xca\\xff\\xa3\\x3a\\xc8\\x4c\\x5a\\xf2\\xa8\\x75\\xb9\\x71\\x58\\xfd\\xd0\\xa1\\xc6\\xe5\\x8e\\x87\\xd9\\x13\\x0d\\xf3\\x6a\\x7a\\xf5\\xaa\\xf9\\xdd\\x16\\xe9\\x7e\\x21\\x4e\\x43\\xf5\\x32\\x02\\x15\\xb1\\x10\\xc2\\xa7\\x0f\\x2f\\x30\\x80\\xd5\\x06\\x50\\x0b\\xc6\\x81\\x6d\\x80\\x2d\\xc5\\x7f\\x1c\\x00\\xc7\\xc1\\xc7\\x80\\x5b\\x41\\x5c\\xb1\\x92\\x31\\xb3\\xef\\xba\\x75\\x4c\\x49\\xf2\\x02\\x92\\xa2\\x49\\xf4\\x32\\xa7\\x21\\x95\\x91\\xe4\\x4c\\xcf\\x65\\x97\\xa0\\x11\\xbc\\x1a\\xaf\\x97\\x1d\\x8c\\x8c\\x75\\xc1\\xb2\\xdd\\xc4\\xf3\\x0e\\xa7\\x52\\xdf\\x10\\xd7\\x2b\\xfd\\x4a\\xc6\\x80\\x94\\xc4\\x96\\x54\\x22\\x64\\x6d\\x88\\x97\\xa0\\x41\\xe8\\x4e\\xf4\\x11\\x62\\xf5\\xa8\\x04\\xd5\\xd0\\x6f\\x96\\xa3\\xfd\\xe8\\x05\\xa4\\x40\\x31\\x9b\\xb3\\x0f\\x5e\\xdc\\x82\\x31\\xb3\\x25\\xdf\\x22\\xd1\\xeb\\x2e\\x03\\x01\\x41\\x52\\x48\\x42\\x46\\xab\\xc0\\xd5\\x77\\xce\\x5a\\x45\\xfa\\xd0\\x2d\\x4c\\x34\\x9e\\xe3\\x7a\\x0c\\x9f\\x3d\\x7b\\x78\\x7c\\xe6\\x9d\\x23\\x52\\xbd\\xff\\x20\\x7c\\x56\\x1c\\x8a\\xec\\xf8\\x6f\\x46\\xa2\\x1f\\x14\\xd8\\xd1\\x06\\x1a\\x8e\\x33\\x99\\x15\\x0c\\x26\\x94\\xb9\\x97\\x1a\\x6a\\x25\\xc9\\xf9\\x12\\x40\\x2c\\xf4\\xe1\\x37\\x2a\\xb7\\xf5\\xa8\\x42\\xf6\\x9a\\xfe\\x53\\xa7\\x0d\\xee\\xb3\\x36\\x36\\xb8\\xac\\xa8\\x5d\\x67\\x71\\x96\\x7b\\xf2\\xd0\\x1e\\xab\\xf3\\xb2\\x96\\x76\\xcb\\x2f\\x75\\xd0\\x7c\\x59\\xbc\\x77\\x97\\xb8\\xa3\\xc0\\x09\\x4a\\x62\\x4e\\xa5\\xca\\x66\\x57\\xd9\\x5d\\x6e\\x9b\\x4e\\xc7\\xe1\\x7d\\xd3\\xe1\\xfd\\x33\\x6f\\x8d\\x2b\\xc9\\x06\\x96\\x17\\xb4\\xde\\xc2\\x62\\x26\\x1c\\xd2\\xe1\\xcb\\x4a\\x62\\x73\\x3e\\x46\\xde\\x4b\\xc4\\xe4\\x0f\\xa9\\x1d\\x10\\x76\\xfa\\x2c\\xea\\x3b\\xd5\\x25\\xf5\\x35\\x85\\x43\\x6a\\xfb\\x05\\x23\\xb9\\xaa\\x59\\x86\\x09\\xec\\x89\\x48\\x51\\xc4\\x9c\\x15\\x1b\\x77\\x5b\\x3b\\xfc\\x97\\x92\\x3e\\x9b\\x66\\x4a\\xef\\x7e\\x5e\\x4c\\x83\\x19\\x9f\\x1f\\x4e\\xaa\\x28\\x55\\x28\\xa9\\x8c\\x52\\x03\\x25\\xe2\\x79\\x8d\\x56\\xc1\\x70\\xcc\\x96\\x51\\x6a\\x6e\\x07\\x48\\x4b\\x92\\xb5\\xa7\\xc5\\xcc\\x68\\x13\\xc0\\x20\\xfd\\x0a\\x37\\xbe\\x71\\x56\\x7c\\x5b\\x6c\\x47\\xbe\\xb2\\x27\\x2c\\xdf\\x7b\\x3f\\x27\\xbf\\x31\\x9f\\x37\\x3e\\x87\\x93\\x18\\x17\\xd2\\xe0\\x33\\xea\\x8b\\x69\\x20\\xd0\\x68\\x14\\x3a\\xbd\\x06\\x9e\\xe7\\x54\\xf8\\x58\\xbb\\x2e\\x95\\x27\\xdc\\x82\\xb2\\x52\\x94\\x06\\xe1\\x81\\x04\\xd7\\x67\\x5e\\x5d\\xb4\\xbc\\xa2\\xb6\\xe3\\xb2\\xa1\\x57\\xf3\\x07\\x32\\x5f\\x85\\x37\\xf4\\xe8\\x94\\xbb\\xa3\\x02\\x6a\\xcc\\x78\\x7f\\x2c\\xa8\\x08\\x9d\\xe1\\xae\\xd0\\x7b\\x67\\x53\\x01\\x9e\\x65\\x39\\x05\\xa3\\x06\\xbc\\x56\\xa3\\x50\\x73\\x0c\\xab\\x14\\x90\\xa4\\xc4\\xd3\\x30\\x7b\\x89\\x70\\xcb\\x11\\x72\\xaa\\x72\\xaa\\xec\\x55\\x76\\x01\\x9d\\x19\\x71\\xed\\xda\\x88\\xeb\\xd7\\xe9\\x57\\xb4\\x36\\xf1\\x37\\xfc\\x95\\x9e\\xd3\\x00\\x78\\x0e\\xfb\\x3e\\x67\\xf1\\xfe\\xbb\\x40\\xef\\x98\\x97\\x81\\x36\\xbd\\x85\\x14\\xf2\\x2b\\x59\\x8e\\x53\\x22\\x3d\\xe4\\xdc\\x1e\\x1e\\xfb\\x42\\xc8\\xc9\\x68\\x9c\\xd8\\x60\\x7a\\x26\\xae\\x61\\x19\\x3c\\x61\\x49\\x9b\\x85\\xfc\\x89\\xd5\\xa2\\xa1\\x20\\x98\\x2a\\x84\\xaf\\x4a\\x56\\xf2\\x33\\xee\\xeb\\xab\\x5e\\xfc\\xd3\\x2a\\xb1\\x59\\xd5\\xaf\\xae\\x6f\\xdf\\xfa\\x7e\\xab\\xcb\\xa3\\x6e\\x47\\x39\\xd3\\x95\\x59\\x24\\x32\\x50\\x6c\\x5e\\x6f\\x5e\\x39\\xb8\\x4f\\x3c\\xde\\x67\\xf0\\xca\\x37\\x3b\\xc5\\xc7\\x55\\xfa\\xc3\\xf4\\x8c\\x02\\xf8\\x15\\x3e\\x3f\\x37\\xb0\\xad\\x50\\x45\\xe5\\x39\\x26\\x0d\\x5b\\xde\\xc2\\x59\\x6a\\xb1\\x29\\x60\\xf9\\x33\\x58\\x57\\xb0\\xd2\\x77\\x88\\xba\\x62\\x19\\x95\\xce\\x46\\x19\\xa8\\x91\\x56\\x38\\x93\\xfa\\x51\\x5b\\x73\\x05\\xec\\x74\\x0d\\xce\\x65\\xba\\x8e\\x18\\x81\\x26\\x4b\\xb5\\xf2\\xb0\\x0a\\xfe\\x15\\xed\\xc2\\x3e\\x77\\x0e\\xe8\\x1f\\xb3\\x60\\x39\\x1b\\xb0\\xb8\\x5d\\x2e\\x0d\\x76\\x08\\x73\\xf3\\x34\\x01\\x64\\xb7\\x7b\\xcf\\x90\\x08\\x84\\xdb\\x7e\\x96\\x38\\xdf\\x40\\x45\\xbe\\xc1\\x4b\\x8b\\x7d\\xe2\\xf4\\xee\\x41\\x2d\\xb3\\xd7\\x53\\x08\\x25\\x64\\xbb\\x93\\x8f\\x0b\\x19\\xd6\\xa3\\x1f\\xfa\\x18\\xb4\\xeb\\x81\\xad\\x2b\\xf6\\x3a\\x67\\x18\\x6e\\x1b\\xfe\\x4c\\xb0\\xf3\\x82\\xdb\\x47\\x45\\xb7\\x6d\\x5c\\xb4\\xd5\\x3c\\xd3\\xba\\x7b\\xf0\\xa0\\x76\\x5d\\x6b\\x17\\x0e\\xaf\\x60\\x5e\\x98\\x31\\x6f\\xd8\\x74\\x5b\\xe7\\xea\\xf9\\x59\\x45\\xfe\\x80\\xa7\\xdd\\x80\\xea\\xa9\\x77\\x8c\\x98\\xa0\\x9b\\x1a\\x6d\\x97\\x5b\\x6e\\xb2\\x05\\xdb\\x0d\\x21\\x3c\\xb8\\xb0\\xad\\xfb\\x0c\\xf6\\xc1\\xd4\\xa0\\x26\\xe6\\xe4\\xb1\\xfe\\x56\\x61\\x9b\\x8a\\x74\\xba\\x56\\x43\\x22\\xaa\\x05\\x15\\xfe\\x43\\xc1\\x9d\\xa5\\xbe\\x18\\x5d\\x28\\x52\\xbf\\x96\\x01\\xf6\\x9c\\xdc\\x41\\x35\\xb6\\x29\\xe9\\x2e\\x22\\x88\\x0a\\x2e\\xfe\\x69\\x0d\\xe4\\x7e\\x5d\\x7f\\xe6\\xd4\\xc6\\x6b\\x50\\x89\\xed\\xec\\x0e\\xe2\\x45\\xb8\\x11\\xde\\x25\\xbe\\x07\\x73\\xc5\\xad\\x22\\xed\\x89\\x92\\xb0\\xb3\\x4d\\x3c\\xb3\\x8a\\xae\\xe7\\x5c\\x3c\\xc5\\x08\\x6a\\xef\\x38\\x62\\x58\\x3b\\x40\\xc8\\x0b\\xd4\\xde\\x2c\\x89\\x26\\x9d\\x9c\\x20\\xcd\\x4c\\x46\\x23\\x76\\x89\\x4f\\xc3\\x4f\\xb9\\x5e\\xeb\\x32\\x3e\\x47\\x74\\x95\\x0e\\x20\\x0e\\x41\\xcc\\x01\\x62\\x59\\x28\\x90\\x0f\\x9b\\xaa\\x4b\\x12\\x77\\x33\\xf1\\x79\\x63\\x54\\x1a\\x61\\xe0\\x2e\\xf4\\xe9\\x3a\\x78\\x5b\\xcb\\x31\\xb4\\x1c\\x99\\xbc\\xad\\x21\\xa2\\xd1\\x36\\xc6\\x60\\xf6\\xae\\x63\\x8e\\xfd\\x7f\\x8e\\x01\\x87\\xaf\\x43\\xdf\\xa7\\xc6\\x78\\x4d\\x5a\\x03\\x06\\x9b\\x21\\xc4\\x62\\x24\\xd7\\x35\\xe5\\xe8\\xe5\\x41\\xe9\\x93\\xa2\\x07\\x7f\\x70\\x1d\\xd7\\x93\\xae\\xc1\\x1c\\xfc\\xb9\\x91\\x68\\x96\\xf4\\x39\\x36\\xb5\\x76\\x19\\x9f\\x23\\xe1\\x61\\x34\\x52\\x74\\xce\\x84\\x0b\\xd1\\xac\\xa6\\x5f\\xd3\\x3f\\x27\\x60\\x9b\\x5a\\x87\\x6d\\x04\\x20\\x59\\x50\\x3c\\x5e\\xc5\\x4c\\xa2\\xa5\\x2b\\x21\\x35\\x14\\xc6\\x63\\xac\\x9f\\x89\\x07\\x81\\x5b\\xc4\\xb9\\x68\\x96\\xb8\\x08\\x8f\\x93\\x2f\\x0e\\x47\\x87\\x6e\\xdc\\x89\\x7d\\x86\\xfc\\x98\\x89\\xc1\\x1a\\x1e\\xdf\\x2f\\x9e\\x58\\x67\\x0a\\x8e\\x59\\x81\\x75\\x63\\x49\\xb9\\xeb\\x72\\x79\\x46\\x3a\\x07\\x79\\x63\\x21\\x61\\x04\\x7b\\x15\\x3a\\xf4\\xc9\\xf9\\xf7\\x8e\\x6f\\xdd\\x72\\x8f\\xf8\\x25\\x74\\x9c\\x3b\\x47\\x65\\x4c\\x31\\xfb\\x2e\\xda\\xc7\\x7b\\xa8\\x7d\\x47\\x56\\x13\\x62\\x9e\\x00\\xa6\\x0c\\xad\\xe0\\xb9\\x0c\\xd1\\x28\\xd1\\x25\\x83\\xbc\\x52\\xe5\\x4f\\x7e\\x73\\x8f\\xcc\\x17\\xcf\\xce\\xc7\\xe3\\xb8\\xb1\\x49\\xf8\\xff\\x28\\x7b\\x0f\\xc0\\xa8\\xaa\\xec\\x7f\\xfc\\xde\\x57\\xa7\\xf7\\x9e\\x3a\\x99\\x14\\x48\\x80\\x40\\x86\\x34\\x5a\\x86\\xde\\x43\\x40\\xda\\xd0\\x12\\x7a\\x91\\x8e\\xf4\\x16\\x3a\\x2a\\xbd\\x49\\x95\\xae\\x34\\x0b\\x82\\x14\\x51\\x9a\\x0d\\x14\\x45\\xdd\\x55\\x17\\x97\\x55\\x5c\\xb1\\x21\\x8a\\x05\\xdc\\x55\\x32\\x77\\xfe\\xe7\\xde\\x37\\x33\\x99\\x04\\xdc\\xef\\xff\\x07\\x64\\x4a\\x78\\xef\\xbe\\x5b\\xce\\x3d\\xe7\\x73\\xce\\x3d\\xc5\\xcd\\x74\\x67\\x2b\\xca\\x09\\x58\\x01\\x23\\xaa\\xad\\x66\\x8d\\x5a\\x63\\xb3\\x5b\\x54\\x2a\\xa3\\x68\\xa5\\x5a\\x74\\xde\\x95\\xbc\\xc8\\x38\\xe3\\x44\\x56\\x4c\\x23\\xf7\\xc6\\x3e\\xe1\\x9b\\x4c\\x37\\xc7\\xff\\xad\\xa9\\xa2\\xc7\\x34\\x75\\x2a\\xb7\\x16\\x90\\x9d\\x5c\\x46\\x58\\xd1\\x9d\\x4c\\x3c\\x45\\x28\\x02\\x27\\x01\\x24\\x56\\x09\\x98\\xce\\xa8\\x3f\\x3a\\x09\\x16\\x9a\\x8c\\x92\\xb9\\x7b\\xb1\\x29\\xf0\\xe3\\x39\\x3d\\x0e\\x4e\\xae\\xa8\\x98\\x4c\\x76\\x62\\xf7\\xa1\\x43\\x0f\\x6b\\x8b\\xaa\\x75\\x1c\\x80\\x17\\x44\\xdb\\xe2\\xa4\\x87\\xb7\\x95\\x25\\xfb\\xac\\x7e\\x2e\\x83\\xb6\\x74\\xb0\\x07\\xd9\\x79\\xe8\\x10\\x76\\x2b\\x6d\\x5d\\x22\\xbd\\xf1\\x97\\xe1\\x3f\\xa1\\x2d\\x58\\x67\\x4e\\x14\\x80\\x50\\x64\\x15\\x34\\x09\\x2d\\x02\\xc6\\x8c\\x7a\\x03\\x47\\xe6\\x53\\xb4\\xcb\\x4e\\x7b\\x46\\x3e\\xfe\\xf2\\xd0\\x21\\xf2\\xad\\xa4\\x34\\x56\\xbb\\x0d\\x10\\x24\\x34\\x55\\x8a\\x0a\\x86\\x28\\xd0\\xde\\x3c\\xd8\\x86\\x98\\x5f\\x98\\x05\\x6d\\x90\\x6f\\x0f\\x1d\\x7a\\x41\\x19\\x1c\\xdc\\xb0\\x92\\xf4\\xe1\\x92\\xc2\\x7f\\x67\\x18\\x07\\x24\\x5e\\x14\\xe3\\xd8\\x79\\xa3\\x1a\\x46\\x74\\x25\\x2f\\x8e\\xda\\xc4\\xbf\\xc0\\x29\\x5c\\xd2\\x8c\\xb2\\xb2\\x19\\xd3\\xbb\\xf7\\x98\\x56\\xd1\\xb4\\x7e\\xfd\\x66\\xcd\\xea\\xd7\\x6f\\x7a\\xab\\xfb\\xf8\\x09\\x65\\x65\\xe3\\xc7\\x97\\xd5\\x2f\\x2c\\xac\\x5f\\xbf\\xb8\\x58\\x19\\xf3\\x4a\\x6c\\xe4\\xf4\\x5c\\xab\\x9a\\xba\\x09\\xa5\\xc5\\x78\\xfd\\x42\\x8d\\xa9\\x6e\\x82\\x5f\\x20\\x9f\\x5f\\x3d\\x8a\\x8d\\xd8\\x91\\x44\\xbe\\xb4\\x21\\x0e\\xe4\\xb2\\x91\\xbb\\xc0\\xee\\xd5\\x02\\x7a\\x34\\x47\\xee\\xd6\\x6a\\xd5\\x2a\\x95\\x4e\\xc5\\x53\\x60\\x9e\\x07\\xd3\\x8f\\x6b\\x1a\\xc7\\x94\\xb6\\xbc\\xec\\x95\\x1b\\x4a\\x5b\\x24\\xed\\xe3\\xdb\\x8d\\xb4\\x4e\\xcf\\x37\\xbf\\x85\\xf6\\x2f\\x46\\xda\\x87\\xd5\\xa5\\x1c\\x97\\x02\\x75\\x50\\x81\\x6a\\x37\\x4f\\xab\\x0f\\xb0\\xd6\\x79\\xaa\\x09\\x61\\x3f\\x7b\\x75\\x1f\\xbd\\x4a\\x3e\\x0f\\xd1\\x17\\x6c\\xb4\\xe1\\x94\\x24\\x72\\x4b\\x79\\xa5\\xe3\\x0e\\x7f\\x4f\\xc6\\x72\\x27\\xc2\\x33\\x60\\x86\\x61\\xe7\\xd8\\xec\\x76\\x68\\xdc\\x65\\x51\\x23\\xbb\\x08\\xaa\\x89\\x1f\\xa8\\x26\\xd6\\xef\\x28\\x58\\x92\\xaa\\xb1\\x12\\x85\\x4a\\xf8\\x76\\x76\\xcf\\xd2\\xf6\\x29\\x85\\x05\\xea\\xfe\\xda\\x86\\xdd\\x01\\x29\\x95\\xb6\\x4d\\x1e\\x66\\x1e\\x60\\x1e\\x46\\xc6\\x02\\x3e\\x6a\\x51\\x3c\\x62\\x74\\x73\\x78\\x9f\\xbe\\x61\\x06\\xd5\\x0b\\xf0\\x3a\\xee\\x12\\xc3\\xc0\\x32\\xf5\\xbe\\xa7\\x2e\\x5d\\x08\\x51\\xa4\\xb4\\xb6\\x3f\\x27\\x04\\x04\\x71\\x6d\\x7f\\x01\\x90\\x28\\xad\\xbc\\x7c\\xa5\\x86\\x70\\xa5\\xc9\\x8e\\x29\\xfe\\x15\\x5f\\x7f\\xfd\\x75\\x21\\x74\\xf5\\x6a\\xd5\\xc6\\xab\\x57\\x29\\x3f\\xda\\x06\\x18\\xb8\\x51\\x54\\x06\\x50\\xbc\\x25\\xc9\\x6c\\xe3\\xc4\\xf6\\x3b\\x13\\xcc\\xc0\\x3d\\xf9\\x46\\xe4\\xf6\\x42\\xbc\\x49\\xec\\xfe\\x31\\x2e\\xab\\x7d\\x1f\\xec\\x3b\\xe0\\x7f\\x8a\\xba\\x1b\\x7f\\x1f\\x15\\xe6\\x78\\x1b\\xde\\xb4\\x90\\xdc\\x16\\xaf\\x90\\x17\\x3f\\xa6\\xf7\\x01\\xdf\\x6a\\x14\\x7e\\x36\\xc2\\x37\\x99\\x7f\\x98\\xf0\\xe0\\x7d\\x34\\x47\\x6c\\x23\\x32\\x66\\x21\\xb6\\x91\\x3e\\xb8\\xec\\x81\\xfb\\x30\\x70\\x4b\\xd0\\x5c\\x1f\\xe8\\x27\\x4d\\x8e\\x02\\xcf\\xb3\\x81\\xd6\\x4b\\x3e\\xfa\\x98\\xbc\\x08\\x34\\xf9\\x23\\xdc\\xf7\\x05\\xdc\\x27\\x53\\xea\\x07\\x9e\\xc0\\xb8\\x9a\\x80\\xa5\\x78\\xde\\xe0\\xaf\\x7e\\x6a\\xbe\\x9f\\xff\\x22\\x64\\x58\\x8e\\xbf\\x7c\\x9c\\x3e\\xf8\\xf2\\x65\\x46\\xd7\\xb7\\x48\\x5f\\xfe\\xdf\\xd1\\x67\\x73\\xc0\\xc0\\x25\\x99\\xe9\\x76\\x71\\x7d\\x76\\xfa\\xa9\\xdb\\xd5\\xad\\xd5\\xdc\\xe8\\x90\\x2a\\x78\\x69\\x99\\x82\\x57\\x3a\\xc3\\x7d\\x0b\\xd1\\x76\\xe0\\x85\\x0d\\x02\\x36\\x15\\x15\\x11\\x32\\xcf\\x31\\x96\\xa2\\xd1\\x62\\x95\\x0a\\x94\\xce\\xdc\\x2b\\x31\\x46\\x18\\x49\\x43\\xc0\\x9c\\xee\\x44\\xaf\\xd3\\x47\\xa9\\x4f\\xf6\\xf2\\x0b\\x49\\xef\\xd3\\x13\\x3f\\xf9\\x64\\xe2\\x69\\x7c\\xe8\\xe5\\xdf\\x70\\x82\\x01\\x27\\xfc\\x46\\xdb\\x0e\\x55\\x49\\xba\\x70\\x57\\xd9\\xa7\\xf4\\x89\\xee\\x16\\x4c\\xc7\\x44\\xb7\\x5a\\x35\\xad\\x31\\x2b\\x00\\xb9\\xf3\\xdb\\xd5\\x85\\x92\\x4e\\xb1\\x02\\x60\\xb2\\x11\\xee\\xfb\\x86\\xdd\\x67\\x3f\\xc9\\xc8\\x3f\\xfe\\xae\\xbc\\xa8\\xfa\\x4f\\x36\\x82\\xfa\\x2f\\xe9\\xaa\\x6d\\x23\\xe4\\x65\\xe1\\x28\\xee\\x2c\\xfe\\x0d\\xc6\\x52\\x37\\x60\\x51\\xab\\x40\\x4e\\x82\\xd0\\x91\\xb0\\xa4\\x11\\xd4\\x95\\x12\\xb3\\x2a\\x79\\xd8\\x06\\xf2\\xc7\\x89\\x9b\\xa8\\x75\\xc9\\xea\\xc7\\x9d\\x99\\x75\\xe9\\xd6\\x15\\xe1\\x4d\\xdb\\xc1\\x83\\x36\\x4c\\x0d\\x55\\xb8\\xaa\\xb5\\x58\\x15\\x36\\xc9\\x2a\\x1a\\x3b\\x1f\\x30\\x44\\xf6\\x8d\\x4d\\xd4\\x57\\xc2\\xde\\x41\\xb9\\x6f\\xf8\\x3d\\xff\\xca\\x7b\\xe3\\xff\\xd8\\x39\\xa4\\xdd\\x5f\\xec\\x1c\\xb1\\xaa\\xd6\\xce\\xa1\\x63\\xf8\\x51\\xf8\\x3b\\xb6\\x30\\x9b\\x92\\xf1\\x38\\xcf\\x09\\x8a\\x2a\\x8b\\xfd\\x11\\x81\\x86\\x2d\\xd4\\xd0\\xa2\\x18\\x93\\x70\\xe8\\xb0\\xe4\\xe3\\x7a\\x4a\\xfb\\xd9\\xb5\\x1c\\x16\\xa8\\x36\\x99\\x17\\xb9\\x16\\x24\\x54\\xe8\\xb0\\x70\\x50\\xf2\\x2d\\x5c\\xa8\\xcc\\xcd\\x75\\x61\\x35\\x4e\\x07\\xbd\\x44\\x8f\\x8a\\x02\\x3e\\x8d\\x56\\x6b\\x00\\x19\\x68\\xd0\\x08\\x95\\xb2\\x11\\xe5\\x22\\x8e\\xbe\\x94\\xa0\\x6e\\x68\\x3e\\xda\\x89\\xce\\xa1\\x3b\\x48\\xc5\\x14\\xd3\\x3c\\x2a\\x51\\x71\\xec\\x40\\xdc\\x5c\\x43\\x0f\\x9e\\xb1\\xc3\\x38\\x5a\\x37\\xb4\\x4b\\x27\\x00\\x8f\\x96\\xad\\xc2\\xea\\x95\\xd3\\x9b\\x76\\x6c\\xdf\\x7c\\xd6\\x13\\x94\\xd7\\x3c\\x23\\x7c\\x8c\\xfa\\x89\\x0b\\x98\\x3e\\x4e\\x55\\x60\\x1c\\x5b\\x3d\\xca\\xb0\\xfc\\xf6\\x7e\\xc7\\x85\\x8f\\x8f\\x1c\\x61\\xfa\\x14\\xf9\\x5e\\x78\\x1d\\x3b\\xc4\\xd9\\x8c\\x57\\x24\\x05\\x74\\x88\\x97\\x01\\x83\\xab\\xa8\\x20\\xd9\\x00\\x42\\xb8\\x7a\\xb9\\x98\\xdf\\x09\\xa5\\x7d\\xfb\\x94\\xbd\\xa1\\xbf\\xed\\x17\\x5e\\x3f\\x05\\x7f\\x60\\x5c\\x4e\\xf1\\x72\\xf8\\x92\\x9c\\x83\\x2c\\x94\\x63\\x1a\\x8c\\x46\\x09\\x69\\x34\\x92\\x64\\xa5\\xa6\\x09\\xbd\\x91\\x49\\x0f\\xd3\\x5b\\x91\\x31\\x28\\xf6\\x1e\\x5e\\x31\\x01\\x83\\x00\\x61\\x06\\x60\\x5f\\x7e\\x0b\\xfc\\x85\\x3f\\xbb\\x43\\xbb\\x94\\x7e\\x63\\x7e\\xec\\xde\\x7f\\x62\\xdb\\x86\\xd2\\x82\\x94\\x34\\xd7\\xd0\\xe4\\x8d\\x4d\\x7b\\x69\\xf3\\x66\\xf0\\xc9\\xc0\\x97\\x8b\\x00\\x0b\\x5f\\x92\\x86\\x44\\xe5\\x93\\x45\\x02\\x09\\x05\\x02\\xca\\xa8\\xb6\\xf3\\x8a\\x7c\\xaa\\x9e\\x23\\xeb\\x5f\\xc8\\xa7\\x4b\\x0f\\x88\\x27\\x71\\xdf\\x43\\xe4\\x13\\x47\\xe6\\x03\\x0d\\x2f\\x14\\x6f\\x32\\x19\\x50\\x37\\x60\\x65\\x32\\x80\\x03\\x4e\\xc2\\x33\\x21\\x50\\x29\\x31\\xfd\\x56\\x21\\x63\\x00\\xaf\\x79\\xf1\\x06\\xb1\\x88\\x18\\x20\\xf3\\xaf\\x5d\\x25\\x27\\x42\\xf4\\x05\\xd4\\xca\\x5a\\x72\\xa0\\xe6\\x1e\\xc1\\x74\\x53\\x02\\x74\\xe0\\x55\\x14\\xe2\\x57\\x4a\\xf8\\xe1\\x7b\\xc4\\x0a\\x1b\\x5d\\x31\\x9b\\x3e\\x7a\\xe5\\x56\\xc4\\x6a\\x8a\\x0d\\x74\\x93\\x30\\xda\\x0a\\x5f\\x16\\x2a\\x51\\x13\\xe5\\x7c\\xf3\\x65\\x04\\x74\\x08\\xec\\xa7\\x84\\xae\\x77\\x1e\\xbd\\xd5\\xec\\x6f\\x12\\x31\\x98\\x32\\x19\\x17\\x84\\x6b\\x9f\\x8d\\xc8\\x86\\x84\\x80\\x56\\x14\\x00\\xc3\\x01\\xe6\\x50\\xee\\xc9\\xa3\\xa4\\x9e\\xa7\\xd0\\x89\\x8f\\xd6\\x5e\\x30\\xfb\\x0b\\x26\\x4d\\xfa\\x97\\x72\\x3f\\x39\\x1e\\x69\\x23\\x32\\x47\\x07\\xd8\\x1c\\xe5\\x04\\x6c\\x4c\\x0e\\x4b\\x5a\\xb5\\x96\\xe3\\x99\\x20\\xae\\x3d\\x49\\xd5\\x4a\\x54\\x06\\x0c\\xc3\\xee\\x65\\xaf\\x38\\x9d\\x9c\\xb8\\x7a\\x0d\\x44\\x31\\xbc\\x0a\\x47\\x3f\\x4b\\xfa\\xca\\x46\\x7f\\x94\\xf6\\xaf\\x0b\\xc7\\x70\\xba\\x34\\x0c\\xf6\\x8a\\x19\\xd5\\x0f\\xd8\\x8c\\x26\\x13\\xaf\\xd1\\x0a\\xbc\\x96\\xb7\\x68\\x78\\x5e\\x36\\x19\\x64\\xd6\\x3e\\xac\\x7b\\xb1\\xb2\\x37\\xab\\x89\\xab\\xe6\\x16\\xe1\\x81\\xba\\x6a\\x6c\\x93\\xa4\\xe3\\xc2\\xb1\\xe8\\x46\\xc1\\x47\\x61\\x0b\\xd0\\x7d\\x79\\x02\\xf6\\xe5\\x2b\\xf0\\xac\\x94\\x80\\x3e\\x62\\x8f\\x92\\x51\\xa5\\x56\\x60\\x4b\\x71\\x25\\x8e\\xfe\\xcd\\xa0\\xec\\xf9\\x94\\xfc\\x9d\\xbe\\x16\\x78\\xfa\\x36\\xcb\\x68\\xe3\\x90\\x4e\\x5d\\x86\\xea\\x46\\x1b\\x9f\\x16\\x5f\\x79\\x7c\\x76\\x8b\\x76\\x1d\\x9b\\x4e\\x5f\\xc9\\xd6\\x63\\x1b\\xff\\x03\\x1a\\xc6\\xf0\\xad\\x33\\xa0\\x56\\xcb\\x48\\x13\\x77\\x42\\x85\\x59\\x1c\\x20\\x1f\\x3b\\x9f\\x1a\\x9e\\x59\\x67\\xf6\\xa0\\xbe\\xfc\\x0f\\x07\\xc6\\xac\\x6a\\xb9\\x7c\\xde\\x3f\\x6b\\xdd\\x9f\\xc0\\xce\\x54\\xd5\\x6a\\x4d\\xdc\\xf9\\x14\\x8e\\x92\\x7a\\x0c\\x03\\x0f\\x63\\x6d\\x88\\x57\\xfe\\xb2\\x0d\\x8e\\xb5\\x11\\x77\\x3e\\x55\\xdd\\x46\\xf4\\x7c\\x6a\\x50\\xdf\\x41\\xb3\\xeb\\x64\\x8a\\x57\\xfe\\x39\\x6f\\x79\\x60\\xed\\xa8\\x03\\xac\\x8d\\xbb\\xfc\\xf7\\xe8\\x4d\\xf1\\xb2\\xd2\\x86\\xa4\\x06\\x98\\x05\\x23\\xe1\\xd5\\xb5\\xdb\\xb0\\xb1\\x62\\xb9\\xbe\\x7c\\xff\\x9b\\xbd\\xca\\xea\\x8d\\x92\\x06\\x5d\\x10\\xd3\\xd7\\x2f\\xca\\x68\\x9f\\xfd\\xf4\\x87\\xd0\\x46\\x7f\\x32\\x1a\\x1d\\x09\\x57\\x56\\xcb\\x20\\x40\\x6c\\x8a\\x39\\x39\\xc6\\xb5\\xad\\x4c\\x06\\x95\\x52\\x43\\xf4\\xe8\\x88\\x21\\x1a\\x87\\xbb\\x91\\x31\\x68\\x17\\xb3\\x43\\x53\\x19\\x04\\x42\\x28\\x76\\x97\\x52\\xf9\\x89\\x01\\x2f\\xf9\\x68\\x9c\\x05\\x1a\\x87\\x4b\\x48\\x39\\xda\\x13\\x7e\\x19\\x28\\x3b\\x31\\xa0\\xe5\\xa9\\xe1\\x4f\\xc5\\x54\\x3d\\xc5\\xa6\\xc9\\x1e\\x98\\xc7\\xf6\\x84\\x62\\xcb\\xdc\\x33\\xe1\\xee\\xdd\\x09\\xa4\\x7c\\xca\\xa4\\xc9\\x70\\xef\\x20\\xb8\\xf7\\x02\\xbb\\x17\\x38\\x0c\\x2f\\x61\\x7a\\x33\\x20\\x71\\xaa\\x26\\xc6\\x6e\\x66\\x9b\\x51\\x66\\x7e\\x67\\x76\\x1f\\xbb\\xbb\\xf3\\xe4\\x49\\x4a\\xae\\x24\\xb2\\x4c\\x78\\x13\\xcf\\x94\\x96\\x43\\x7f\\x61\\xcd\\x01\\xcb\\x0b\\xa0\\xad\\xe1\\x0d\\x74\\x4f\\x29\\xcf\\x55\\x1c\\x58\\x40\\x82\\xcc\\x5c\\x1d\\xda\\xc1\\xfd\\x0a\\x57\\x17\\x53\\x5e\\x8d\\x5a\\x08\\x3c\\x96\\xff\\xcf\\xb5\\xae\\xd6\\x7c\\xb0\\xfc\\xc0\\x59\\x64\\xf8\\x19\\xd2\\x07\\x95\\x87\\x3f\\x02\\x1a\\xb6\\x9e\\xd0\\x48\\x20\\x57\\x10\\xc5\\xfe\\xca\\x04\\xd3\\x14\\xee\\xf1\\x06\\xea\\xf2\\xa8\\x7d\\x9a\\xf4\\x89\\x33\\x50\\xe3\\x70\\x17\\x68\\xe3\\x58\\xf8\\x80\\x32\\x7e\\x68\\x03\\x51\\xb6\\xc0\\x81\\xfc\\x8e\\x98\\x96\\x69\\x9a\\xcd\\x62\\xc5\\xa5\\x5c\\xb1\\x03\\x1f\\x63\\xc6\\x69\\xd2\\x87\\x59\\xa7\\x71\\xb8\\x2b\\xdc\\x7f\\x9c\\xdd\\x0f\\xf8\\x96\\xa3\\xf7\\x8b\\xa2\\x0a\\x53\\xf6\\x16\\xb1\\x6f\\xe3\\xd8\\x26\\x75\\x46\\x6c\\xd3\\xc7\\x99\\x69\\xfa\\x0d\\x6a\\x99\\xc6\\xe1\\xce\\x70\\xff\\x4b\\xe1\\x57\\x81\\xa3\\x00\\x0e\\xd2\\xb0\\xb2\\x5c\\xb4\\x09\\x9d\\x62\\x97\\xe6\\xcf\\x83\\x26\\xe2\\x89\\x5a\\xa6\\xa3\\x4d\\x29\\xd4\\x13\\x67\\x9b\\x7e\\x49\\x31\\x4d\\x93\\xbf\\x47\\x4c\\xd3\\xb0\\x2e\\x97\\xc9\\x27\\xb8\\x38\\x3c\\x94\\xc9\\x68\\xca\\x1b\\xf9\\x9a\\xf2\\xbc\\x98\\x2a\\xa6\\xe4\\x13\\x65\\xdf\\x9a\\x69\\x1f\\xd0\\x36\\x1a\\x37\\x74\\x52\\x42\\x5a\\x2d\\xf0\\x32\\xc4\\x86\\x1f\\x99\\xc9\\xc2\\x38\\x4f\\xbb\\x97\\xc8\\xb7\\xfe\\x5e\\x79\\x6d\\x67\\x6c\\x23\\x37\\x15\\x5f\\x39\\x05\\xaf\\x50\\xdf\\x1e\\xbc\\x3b\\xbe\\x0d\\x5e\\x55\\xab\\x8d\\xea\\x34\\x47\\x2f\\xcd\\x68\\x9b\\xd7\\xcb\\x4f\\xbe\\xdd\\x46\\x7e\\xdd\\x60\\xd9\\x67\\xc2\\x75\\x68\\x96\\x8d\\x70\\xb8\\xea\\x1e\\x39\\x17\\x7a\\x2d\\x3c\\x1f\\x60\\xcf\\x2f\\xa1\\x9f\\x51\\x44\\x4e\\x43\\xbb\\x8e\\xb0\\x91\\xf1\\x6d\\xa0\\xee\\x88\\x9c\\x06\\x95\\x91\\x53\\x40\\xea\\xc3\\xc5\\x34\\xe9\\xc3\\xc4\\x34\\x95\\xa1\\x30\\xb6\\x4b\\x0f\\xe8\\x78\\x76\\xfe\\x3c\\xd3\\xf1\\xa2\\x40\\x83\\xb5\\xe0\\xfc\\xff\\x2d\\x43\\x1f\\x50\\xf1\\x70\\x78\\x0b\\x29\\x46\\x43\\xc2\\x4f\\x03\\x3d\\x27\\x07\\x0c\\x11\\x9e\\x21\\x20\\xb5\\x49\\xcd\\xc1\\x73\\x06\\x5e\\xf1\\xc7\\x48\\xda\\x19\\xa5\\x68\\xff\\x90\\x7a\\x75\\xa6\\x0e\\xea\\xfb\\xfa\\x95\\x3e\\x53\\x73\\x87\\xf5\\x7b\\x16\\xda\\xe8\\x44\\xda\\xa0\\x13\\x30\\x6a\\x5a\\x93\\x38\\xd5\\x64\\x36\\x1b\\x0d\\x06\\x41\\x8d\\x04\\x35\\x6f\\x37\\xeb\\xd6\\x05\\xcd\\x01\\xbd\\xa9\\x83\\xd9\\x2c\\x1b\\x39\\x79\\x65\\xcc\\xb4\\xad\\x44\\x8b\\x62\\xa7\\xdf\\x5c\\x4d\\x18\\xb6\\xe8\\x62\\x51\\x7f\\x73\\xb9\\xd0\\x2f\\x27\\xe3\\x13\\xe4\\xa7\\x62\\x6f\\xa3\\x8c\\xf5\\xcd\\x3b\\x24\\x26\\xb5\\x7c\\x34\\x6b\\xd0\\x20\\x42\\x5e\\x11\\x86\\x48\\xbd\\xeb\\x64\\x73\\x27\\x86\\xf1\\x8f\\xb0\\x7d\\xd0\\x8b\\xd6\\xe5\\x00\\xc9\\x93\\xc6\\x34\\x40\\x24\\xea\\x68\\x3a\\xd4\\x1a\\x66\\x74\\xec\\x8c\\xce\\xf5\\x03\\x36\\xf4\\x43\\xd4\\x84\\xde\\xa7\\x4d\\xbc\\x09\\xbd\\xdd\\xe2\\xcc\\xa8\\x09\\x1d\\xda\\x7f\\x0d\\xd6\\xa1\\x35\\xf0\\x99\\x38\\x7a\\x8c\\x13\\xd5\\xad\\x97\\x2e\\x85\\x75\\x1e\\x44\\xf9\\x09\\xbc\\xcf\\x8c\\xea\\x24\\x8a\\xad\\x54\\x25\\xe2\\x4a\\xba\\x9d\\x22\\x08\\x21\\x76\\xd2\\x93\\xcf\\x74\\x2f\\x3c\\xf3\\x71\\x92\\xb2\\x9c\\xfb\\x95\\xf4\\xb9\\x7c\\x19\\xb4\\x2f\\x4a\\xfb\\x3b\\xc8\\x1a\\x3c\\x34\\x3c\\x17\\xb9\\x51\\xc3\\x80\\x1d\\x19\\x0c\\x7a\\xbd\\x04\\x08\\x5a\\x96\\x24\\x8f\\x59\\xa3\\xe1\\x5d\\x36\\x3d\\x6d\\x0c\\xf0\\x53\\x5e\\x64\\x4f\\x45\\xb6\\x15\\x3d\\x56\\x33\\x2b\\x7e\\x65\\x7e\\xc5\\x97\\x2c\\xf6\\x06\\xe3\\x75\\x75\\x6d\\x33\\x68\\xc0\\xe0\\x06\\x0d\\x0a\\x5b\\x0e\\x68\\x59\\xd8\\xa0\\xc1\\xe0\\x01\\x83\\x26\\x93\\x1f\\x32\\xf3\\x17\\x8c\\xed\\xd2\\xba\\x53\\xdb\\xb6\\x9d\\xda\\x74\\x1e\\xbb\\x80\\x3e\\xfb\\x34\\xf4\\xbf\\x6d\\xb8\\x3f\\xd0\\x01\\xe0\\x42\\xc0\\x39\\x00\\x73\\x54\\xb4\\xd6\\xad\\x84\\x2b\\x81\\x1e\\x6a\\x8c\\xc1\\x52\\xac\\x80\\x9c\\xe8\\xd9\\xf0\\xf0\\x2b\\x37\\x46\\x7d\\x0e\\x20\\x87\\xf4\\xb9\\x63\\x7f\\xf2\\x49\\x7b\\x44\\xb7\\x80\\xf6\\x5a\\xb2\\xf6\\x40\\xf3\\x8f\\xe8\\x16\\xa0\\x5c\\x48\\x1a\\x89\\xab\\x14\\xd4\\xb5\\x1b\\xac\\xa1\\x5a\\x14\\xfa\\x71\\x4b\\x50\\x2d\\x3e\\x1f\\x75\\xe3\\x0a\\x19\\x4b\\x5b\\xbc\\x43\\xe5\\x3e\\x99\\x8c\\xd3\\xc3\\xd3\\x14\\x1b\\x3f\\xe0\\x71\\x0a\\xc7\\x41\\xee\\x6b\\x84\\xda\\xbb\\xe1\\x7f\\xa0\\x6e\\x32\\xb9\\x1a\\x75\\xa3\\xda\\x6d\\xd2\\xc1\\x02\\xcc\\xd7\\x02\\xc4\\x67\\x96\\xb6\\xf8\\x36\\xed\\x7f\\x0d\\x25\\x9e\\x88\\x21\\x09\\x4c\\xb6\\xc2\\x98\\x47\\x02\\xef\\x8a\\xd7\\x7d\\x2c\\x2a\\x54\\x69\\x53\\x8c\\x06\\x9e\\x1a\\x56\\x03\\xeb\\xc3\\x74\\x9f\\x1d\\x7f\\x65\\x34\\xe8\\xf3\\x80\\xea\\x43\\x75\\x1f\\xf2\\x2a\\xb6\\x84\\x9b\\xfe\\x15\\xaf\\x64\\xba\\x0f\\x79\\x35\\xa2\\xfb\\x90\\xd1\\x5c\\x4f\\xf2\\x43\\x54\\xf7\\xa1\\x9e\\xf0\\xfe\\x9a\\xba\\x0f\\x19\\xad\\xe8\\x3e\\x1c\\xf0\\xe0\\x3e\\xc0\\x83\\xb7\\x33\\xde\\x05\\x33\\x43\\xed\\x86\\x0c\\x74\\x56\\xb2\\x27\\xd4\\x00\\x59\\x62\\xc4\\x6a\\xa8\\x30\\x66\\xfa\\xf3\\x19\\x33\\x1a\\xb2\\xfe\\x6d\\x45\\xbf\\xe0\\x91\\x38\\xf4\\xa0\\x2e\\x48\\x59\\x6c\\x5e\\x5e\\xcd\\xf9\\x28\\xfc\\x7f\\x99\\x8f\\x5f\\x6a\\x4d\\x07\\x26\\xbb\\xb1\\x05\\x97\\x03\\x27\\x8f\\xcc\\x45\\x6d\\x3d\\xb0\\x3c\\xd4\\x8a\\x3b\\x8b\\x2d\\xab\\xd9\\x5c\\x3c\\x87\\x13\\xb9\\xde\\x78\\xcb\\x5f\\x5c\\xcb\\xf5\\xbe\\xdf\\x47\\x38\\x88\\x13\\xe7\\xb2\\x31\\xa0\\xf0\\x4d\\x0e\\xf1\\x5f\\x29\\xd7\\x72\\x02\\x3d\\xf5\\x79\\x4f\\xb9\\x56\\x8d\\xb3\\x00\\x85\\x57\\x0d\\x1d\\xca\\xef\\xe0\\x17\\x56\\x0d\\x19\\xcc\\x3f\\x4d\\xaf\\xff\\x26\\xfc\\x2f\\x9c\\x22\\x7e\\x1b\\xbd\\x9e\\xce\\x73\\xec\\x7a\\x1f\\xc6\\x29\\xa4\\xef\\x5a\\x7c\\x50\\xfc\\xf6\\x8f\\xdf\\x25\\x0d\\xe3\\x2f\\x7b\\x49\\x29\\x1a\\x10\\xbe\\x0c\\x34\\x48\\x6d\\x2e\\x1a\\x0d\\x10\\x9f\\x81\\xee\\xf3\\xf7\\xab\\x67\\x86\\xaf\\x71\\xfa\\x3d\\x30\\x7a\\xf8\\x4d\\xf6\\x56\\x9f\\x7e\\xc7\\xf3\\x1f\\x90\\x36\\x22\\xa2\\x5a\\x82\\x80\\x2b\\x99\\x49\\x24\\xa2\\xa0\\xe4\\xc5\\x5b\\x44\\xf0\\xcc\\x1a\\x16\\x11\\x2e\\xdc\\x06\\xf8\\xdc\\xab\\xe1\\xab\\x6c\\xcd\\x3d\\x01\\xd8\\x56\\x32\\xb4\\x20\\x2b\\x36\\x95\\x2b\\xd5\\xf7\\xd3\\xf0\\x46\\x3e\\xdf\\x67\\x7f\\x95\\x2c\\xc7\\x33\\xca\\x5f\\x81\\xdb\\x67\\x90\\x6f\\x5f\\x79\\x45\\x59\\xef\\x3d\\x64\\x23\\x1e\\x14\\x5e\\x08\\xeb\\x0d\\xfc\\x8b\\x95\\x18\\x42\\x4e\\xa7\\x56\\xe7\\x32\\xc3\\x07\\x1d\\xa7\\x56\\xdb\\xa8\\x82\\x09\\x43\\x7a\\x2f\\xc2\\xc1\\xe8\\x5b\\x84\\x7f\\x59\\x95\\x24\\xad\\x4c\\xd7\\xf4\\x31\\x27\\x4a\\x25\\x7c\\xac\\xca\\xdc\\xa9\\xb0\\xd9\\x80\\x66\\x85\\x9d\\xcc\\x43\\xf4\\xfd\\x4a\\x27\\x16\\xa7\\x96\\x16\\x94\\x96\\xeb\\xc9\\x67\\x9d\\x28\\xef\\xea\\x54\\xda\\xaf\\xbf\\xbf\\x4e\\xbf\\x52\\x3a\\x8f\\x19\\xc2\\x64\\xf4\\x99\\x94\\xc1\\xf0\\x88\\x53\\xe4\\x54\\x5a\\x81\\x9e\\xd9\\xe9\\x34\\x54\\x0d\\xac\\x7d\\x60\\x17\\x55\\x3f\\x2d\\x4e\\xfa\\xe4\\xb8\\x33\\xbb\\xcf\\xfa\\x2c\\x5e\\xd4\\x7b\\xd1\\xe2\\x3e\\x8b\\x17\\xf7\\x5e\\x2c\\xbc\\xdd\\x6b\\xe9\\x92\\x47\\x96\\x2c\\xe9\\xb5\\x64\\xf1\\x23\\x8b\\x15\\xbd\\xed\\x29\\x61\\x2c\\x1a\\x2d\\x3d\\x8e\\x5c\\x94\\xa7\\xd9\\xf4\\x7a\\xc1\\xac\\xa2\\x15\\x1d\\xdd\\x36\\x95\\xd9\\x24\\x0a\\x6c\\xa2\\x8a\\xa3\\xad\\xc7\\xc0\\xb6\\x01\\xcb\\xf9\\x34\\x81\\x08\\x3b\\x80\\x2a\\xb4\\x53\\xc1\\x93\\xcc\\x8d\\xce\\x2d\\x7b\\xa4\\x5e\\xa3\\x24\\x5f\\x52\\xf9\\x94\\xfa\\x0d\\xe1\\x4d\\xd4\\x34\\x2a\\x49\\xd7\\x74\\x95\\x32\\xb3\\x9d\\x8d\\xf2\\x9b\\xa5\\xb5\\x29\\xd5\\x77\\x51\\xa5\\xd7\\x73\\xe5\\xe5\\x37\\x85\\xfd\\x18\\x3a\\x22\\xe9\\xb8\\x5e\\x72\\xc3\\xe8\\x7e\\xa4\\x45\\x7f\\x79\\xa4\\x12\\xa4\\x4a\\x5c\\xcd\\xa9\\x62\\x07\\xa6\\x5e\\x7b\\x06\\xdd\\xd0\\x47\\x84\\x83\\x94\\x8c\\x25\\xdd\\x88\\x11\\x67\\x47\\x8c\\x50\\xd6\\xe7\\x98\\x70\\x28\\x7c\\x47\\xbc\\x08\\x98\\x17\\xb0\\x2b\\x4d\\x68\\x01\\x4b\\x84\\x2a\\x79\\xd0\\x9c\\x3c\\x71\\xf0\\x9e\\x07\\x25\\x83\\xcf\\xdf\\xfa\\xf8\\x8c\\x37\\xc4\\x8b\\xe4\\xae\\x0e\\xab\\x69\\x3e\\x2e\\x64\\x11\\x0e\\xe1\\x52\\x76\\xaf\\x3b\\xa0\\x11\\xd9\\xa1\\x4a\\xcd\\x5b\\x29\\x62\\xb6\\xf3\\xbe\\x7c\\x2b\\x2e\\x7d\\x63\\xc6\\xe3\\xe2\\x45\\x23\\xf9\\x8f\\x0e\\xeb\\xd8\\x73\\xf7\\x81\\xfe\\x39\\x50\\x7c\\x8d\\xc6\\x49\\x07\\xcc\\x16\\xaa\\xa3\\x3b\\x4c\\x80\\x9c\\x45\\xad\\xd6\\x5a\\xa9\\xa6\\x4d\\x5c\\xc9\\x83\\x0d\\xe8\\x8f\\xa0\\x76\\x26\\x5b\\xa3\\xcc\\xc0\\x52\\xcd\\x0b\\x56\\x64\\xb7\\x6f\\xd9\\x32\\x23\\xd7\\xaf\\x1e\\x9e\\xf4\\x7c\\xbd\\x8e\\x6d\\x5a\\xa6\\xf7\\x37\\x8e\\x30\\x8e\\x16\\xce\\xa4\\x64\\xa4\\x34\\x2e\\xc6\\x1c\\xbc\\x8d\\x5b\\x3e\\x8b\\xad\\xd3\\x76\\x81\\x47\\xc3\\xff\\x1f\\xf4\\xb1\\xe1\\xb5\\x21\\x3a\\xe2\\xc9\\x61\\xe1\\x2a\\x7e\\x44\\xfc\\x0a\\xc6\\xab\\x86\\xbd\\x99\\x17\\x70\\xc0\\xfd\\x00\\x93\\x25\\x8d\\x5e\\x2d\\xe9\\x25\\x83\\x56\\x96\\x35\\x74\\x02\\x28\\xca\\xf5\\x47\\x40\\x6e\\xb5\\x09\\x40\\x69\\x9e\\x4d\\x46\\x04\\xdd\\x1d\\x7d\\x6d\\xea\\x22\\x72\\x70\\x13\\x9e\\xb3\\x49\\xfc\\xca\\x48\\xee\\xeb\\xb0\\x8a\\xdc\\x3e\\x72\\x84\\x19\\x75\\x70\\x18\\xb6\\x11\\xda\\x0a\\xba\\x93\\x8e\\xf2\\x00\\x9d\\xa4\\xd5\\xea\\x79\\x55\\xa5\\x0e\\x9a\\xae\\x86\\xa1\\xce\\x38\\x6f\\x5b\\x7f\\x0b\\xbb\\xcb\\xe0\\xad\\x97\\xb9\\x6a\\x71\\x95\\xd7\\x29\\x4d\\xd4\\x6e\\x5e\\xc7\\xf4\\x99\\x8f\\x40\\x9f\\x49\\x8b\\xd8\\x44\\x41\\x97\\x12\\x41\\x99\\x92\\x2b\\xa9\\x49\\x33\\xde\\x42\\xf1\\x20\\xfe\\x10\\x3e\\x8a\\xe0\\x0f\\x8e\\xe8\\x61\\x3b\\xff\\x1c\\x9e\\x17\\xa3\\x33\\x4e\\xc0\\x1c\\x56\\x89\\x42\\x25\\x93\\x16\\x35\\xf9\\x3e\\x34\\x42\\x7f\\x88\\x9e\\xff\\xaa\\x2a\\x89\\xff\\xea\\xf6\\x98\\x31\\xaf\\x8d\\x19\\x03\\x7c\\xa4\\x3d\\x8c\\xe5\\x2c\\xc3\\x4b\\x8c\\x8f\\xc0\\xb6\\x10\\xa0\\x89\\x98\\x6d\\x36\\xca\\x47\\xa2\\xe6\\x0a\\xff\\xd2\\xa5\\xbf\\x28\\x18\\x8a\\xec\\xa1\\x38\\x2a\\x9c\\x0f\\xf7\\xbf\\x5b\\xc3\\x96\\x2c\\xf2\\x40\\xe7\\x74\\x9a\\x95\\xa7\\x83\\x46\\xc7\\x6c\\xd0\\xef\\x32\\x13\\x74\\x90\\x5a\\xa0\\x99\\xac\\x11\\xa6\\xe2\\x91\\xe2\\x1f\\xc8\\x83\\x06\\x06\\x1a\\x20\\x9d\\x47\\x67\\x70\\xe9\\xdd\\x6e\\x8f\\x07\\xe6\\xd2\\x22\\x58\\xac\\x56\\xc0\\x63\\x09\\x5a\\xd8\\xb9\\x06\\x5e\\xe7\\x76\\x8b\\x26\\x87\\x43\\xd4\\x51\\x96\\x64\\xa9\\x14\\xa3\\x04\\x98\\x97\\xcb\\x48\\xd0\\x4f\\x8b\\x68\\x9b\\x8b\\xa3\\xfb\\x21\\x52\\xf7\\x31\\x52\\x35\\x0c\\x3a\\xae\\x70\\x28\\x9a\\x9a\\x0f\\x18\\x86\\x43\\x21\\x4d\\x56\\x2e\\xbe\\xac\\x4e\\xd2\\x50\\x2b\\x93\\x53\\x2d\\xba\\x35\\x1f\\xdc\\x3c\\xdb\\xcd\\x24\\x55\\xaf\\xa6\\xdd\\x9b\\x0f\\x16\\x5d\\xd6\\x59\\x20\\xac\\x1a\\x8e\\x2d\\x18\\x6b\\x9b\\xb5\\x61\\x46\\xa3\\x71\\x85\\x8c\\xc6\\x36\\x0b\\x43\\xf0\\x68\\x99\\x63\\x35\\x12\\x53\\x51\\xab\\x40\\x72\\x4a\\x62\\x62\\xb2\\xdb\\xad\\xb6\\x3b\\x1c\\xb0\\x47\\xbc\\xa2\\x5e\\x6f\\xb7\\x80\\x5a\\x6b\\x87\\xbf\\x49\\x29\\x1e\\x77\\x84\\xc1\\xe4\\x46\\xfb\\x59\\x03\\x04\\x3e\\x1c\\x53\\x30\\x0c\\x24\\x46\\xce\\x09\\x9e\\xce\\xe9\\xde\\xa5\\x6d\\x4a\\x61\\x9e\\x7a\\x94\\xb6\\x61\\x8f\\x92\\x7a\\x3d\\x3a\\xb7\\x49\\x2e\\xc8\\x53\\x8d\\x31\\x0f\\x27\\x47\\x8e\\x1f\\x3f\\x2e\\x16\\xa6\\x66\\x01\\xa5\\x06\\x07\\x16\\x78\\xb3\\xbc\\x85\\x79\\x0b\\x1e\\xfd\\xf8\\xc8\\x11\\x7c\\x17\\x28\\x94\\x23\\x3b\\x85\\x0b\\x78\\xa2\\xf4\\x32\\xf4\\xb3\\x11\\x6a\\x1f\\xf0\\x7a\\xd3\\xd2\\xd4\\x0d\\x72\\x95\\x4e\\xe6\\x25\\x67\\x66\\xe6\\xa6\\xe5\\xb8\\xdd\\x69\\x69\\xd0\\x5d\\x87\\x1a\\xfa\\xab\\xde\\x40\\x53\\xcc\\xe5\\x99\\x94\\x39\\x85\\x6e\\xb2\\x4f\\xb1\\x63\\x9e\\x3c\\xf3\\xff\\xe8\\x2a\\xff\\xd0\\xdf\\xee\\xff\\xab\\x8e\\xf7\\xfa\\xab\\xff\\x10\\x2e\\xd4\\x1a\\x0c\\x56\\xd5\\xfa\\x05\\xa5\\x99\\x3b\\x40\\x77\\xe6\\xf0\\x69\\x05\\xa3\\x52\\x0f\\x0f\\x35\\x30\\x54\\x51\\xc3\\xcb\\xb2\\x80\\xd5\\x92\\x32\\xdd\\x51\\x8b\\x55\\xa4\\xdb\\xa2\\x0c\\xc2\\x2f\\xab\\xd0\\xee\\xcf\\xc7\\xe6\\x4d\\xbf\\x6f\\xda\\xf4\\xfb\\xef\\xc7\\x2a\\x2b\\x8f\\xbd\\x30\\x6d\\x9a\\x62\\x03\\xe9\\x83\\x8e\\x82\\xce\\x26\\x51\\x9d\\x5a\\xa2\\xee\\xa3\\x02\\x27\\x8b\\xf4\\x3c\\x18\\x40\\x40\\x94\\x47\\x44\\xac\\xaa\\xf9\\xbe\\x42\\xd0\\xab\\x9b\\x4e\\x3b\\x7a\\x74\\x0e\\xe9\\xf3\\xd3\\xea\\xd5\\x3f\\x21\\x57\\xc8\\x01\\xb7\\xdc\\x62\\xe7\\x2f\\x6a\\x96\\x0f\\x91\\xd6\\x16\\xaf\\x8f\\xf2\\x51\\x73\\xd4\\x16\\x75\\x46\\xdd\\x51\\x10\\x0d\\x46\\xa3\\xd1\\x24\\x34\\x13\\x2d\\x40\\x8f\\xa3\\xb5\\x68\\x0b\\xda\\x81\\x76\\xa3\\x67\\x71\\xb3\\xc0\\xb3\\x5b\\x3b\\x3c\\xf3\\xcc\\xde\\xc9\\xd3\\xc6\\x2c\\x5c\\x38\\x7e\\x69\\xbb\\x3d\\x3d\\xd6\\xad\\xeb\\xbd\\xa9\\xe0\\x89\\x27\\x9a\\xac\\x92\\x77\\x36\\x98\\x35\\x2b\\x6f\\x9e\\x63\\xc8\\x10\\xcf\\x08\\xe9\\x69\\x43\\xbf\\x7e\\x96\\x41\\xc9\\x2d\\x5a\\xa4\\xb5\\xca\\xcc\\xe6\\xbb\\x76\\xcd\\x6e\\x35\\xe8\\xe9\\x11\\xf3\\x76\\xae\\xda\\xb4\\x67\\xe9\\x34\\x7d\\x97\\x6d\\x1d\\xf7\\x6a\\x71\\x37\\xa4\\xe9\\xc6\\x77\\xd9\\xdb\\xe5\\x80\\x76\\xdb\\x33\\x73\\x2a\\xcb\\xf6\\x0d\\x5b\\xb1\\x62\\xd4\\x9a\\x01\\x1b\\x36\\x54\\x6c\\x0e\\x2c\\x5e\\xdc\\x66\\x79\\x9d\\xc7\\x1e\\xab\\x37\\x23\\x75\\xec\\xd8\\xf4\\x89\\xa6\\x9e\\x3d\\x6d\\x7d\\x71\\x47\\x57\\x51\\x51\\x62\\xb3\\x86\\x8d\\x2b\\xf7\\xad\\xd9\\xbc\\x7c\\xc6\\xc4\\xbe\\x1d\\x9b\\x35\\x6e\\xdc\\xac\\x63\\xdf\\x89\\x33\\x96\\x6f\\x5e\\xb3\\xaf\\x52\\xdb\\x69\\x57\\xe9\\x33\\xcf\\xec\\xec\\xba\\x57\\xb7\\x5d\\xe6\\xdb\\xb7\\x57\\x09\\x9d\\xa8\\xfc\\xa7\\x44\\xf0\\x56\\x5e\\xe4\\x83\\x12\\x11\\x1f\\xfd\\x13\\x13\\x9c\\xf1\\x91\\x73\\x0f\\x7b\\x31\\xfb\\x4d\\x6f\\x28\\xdc\\x28\\xe2\\x2c\\x14\\x2d\\x91\\x5e\\xf3\\xa2\\xff\\xf9\\x39\\x1a\\xbf\\xc2\\x6c\\x1b\\x14\\xc7\\x52\\x67\\xce\\x0c\\x9b\\x2f\\x2d\\xbf\\xb1\\x3f\\x2f\\x2b\\xf2\\x6e\\x8d\\xbc\\x3b\\x23\\xef\\x38\\xf2\\x2e\\xd7\\xfa\\x4e\\x3d\\xee\\x80\\xa7\\x32\\x5b\\x0b\\xfe\\x3f\\xae\\xad\\xfd\\x3d\\xa3\\xd6\\xb3\\xa2\\xcf\\xce\\x80\\xfe\\x50\\x40\\x2a\\x52\\xcc\\xe6\\xe7\\x6e\\x8d\\xbb\\x81\\xbb\\x86\\x5e\\xa3\\xae\\x0e\\x5c\\xeb\\x71\\xe3\\xc8\\xda\\xc6\\x45\\x45\\x8d\\x37\\x36\\x2e\\x2e\\x6e\\xfc\\x47\\x61\\x41\\x51\\x7e\\x3a\\xfd\\x4a\\x00\\x62\\x14\\x16\\x3c\\x5f\\x94\\x9f\\x5f\\xc4\\xf5\\x2e\\x2c\\x28\\x28\\xac\\x5a\\x7c\\x63\\x1c\\xee\\x2a\\x2c\\x23\\xc7\\x6e\\x8c\\xab\\x52\\x17\\xc0\\x1f\\xee\\x09\\xfa\\xba\\x29\\xbf\\xa8\\x28\\x3f\\x74\\x30\\xbf\\xa8\\xa0\\xd0\\x47\\xbf\\xe3\\x77\\xe8\\x8d\\x24\\x48\\xef\\xf9\\x83\\xde\\xbe\\x89\\xfe\\x96\\xac\\x19\\x37\\x8e\\x4f\\xa7\\x4f\\x0c\\xbd\\x4a\\x8e\\x8d\\xbb\\x21\\x2c\\xba\\x3e\\x6e\\xdc\\xb8\\xaa\\x29\\xb8\\x74\\x3d\\x5c\\x57\\x0f\\x7e\\xc8\\x87\\xd0\\xce\\xd7\\xf0\\x01\\x6f\\x82\\x0f\\xfd\\xe0\\x43\\x68\\x32\\x7d\\xf8\\xfd\\xeb\\xb8\\xe3\\x9f\\x8d\\xc7\\x5d\\xe7\\x3e\\x2d\\xf0\\x37\\x09\\xb5\\xc8\\xcf\\x2f\\xdc\\xda\\xb8\\x71\\x31\\x97\\x1a\\xb9\\x3a\\x14\\x2e\\x2c\\xcc\\xff\\x06\\x2e\\x24\\x1f\\x15\\x35\\x2e\\xce\\x86\\xff\\x86\\x36\\xab\\xa6\\x8c\\x1b\\x87\\x3b\\x5e\\x57\\xb0\\xd6\\x63\\xc2\\x5c\\xb4\\x52\\xf2\\x46\\xcf\\xc9\\x39\\x50\\x42\\x91\\x4c\\xcf\\xc9\\x25\\x2e\\x7a\\x4e\\x1e\\x77\\x8a\\xa0\\x9c\\x93\\xaf\\xa4\\xc7\\xe4\\xe2\\x8c\\xc8\\x39\\x39\\x60\\x6b\\x61\\x06\\x1a\\xc0\\x7c\\xec\\xed\\x27\\xa9\\x3b\\x28\\x32\\x28\\xce\\xa0\\x31\\x04\\x50\\xc3\\xd2\\x36\\xe0\\xe1\\xae\\xf5\\xcc\\xbe\\xfd\\x31\\x4e\\x97\\x96\\x32\\xfb\\x76\\x41\\xc0\\x6d\\x36\\x18\\xa8\\xaa\\x68\\x01\\x8d\\xd1\\x22\\x68\\xb5\\x46\\x64\\x30\\xae\\xe9\\x2f\\x23\\xc3\\x6e\\xc0\\x17\\x79\\xd1\\xf4\\x20\\xd5\\x20\\xb3\\xf8\\x41\\x63\\x34\\xb5\\xf9\\xd4\\xd0\\x22\\x93\\x8f\\x4b\\x4b\\xa3\\x8a\\x24\\xe9\\xa6\\x9c\\xf5\\x00\\xa6\\x25\\xad\\xd0\\x67\\xe1\\x7b\\xcc\\x73\\xce\\xa9\\xa5\\xbe\\x72\\x48\\x90\\xa4\\x6a\\x4c\\xcb\\x63\\xb5\\xfc\\x00\\xa6\\x8d\\xb8\\xba\\xfd\\x15\\xac\\x25\\x4f\\xc5\\xc3\\x5a\\x98\\x67\\xd2\\x1b\\xad\\x64\\xfe\\x08\\xd4\\x0e\\xa8\\xf8\\x34\\xd4\\x74\\x69\\x88\\xc9\\x7c\\xa7\\xe2\\xd1\\xb0\\x32\\xde\\xa1\\x41\\x59\\xab\\x58\\x1b\\x54\\x5b\\x64\\x2e\\x0d\\x35\\x3d\\x1a\\x14\\x0e\\x4a\\x5b\\xa8\\x5e\\xa7\\xa8\\x3b\\x03\\xcc\\xef\\x77\\xa4\\x37\\x7e\\x8e\\xdd\\xaf\\x47\\x1d\\x02\\x5e\\xbd\\x4e\\xad\\x96\\xe9\\x79\\x2a\\xd2\\x72\\x2a\\x59\\x36\\x42\\x6f\\x0c\\xd0\\x9e\\xac\\x16\\x68\\x39\\x27\\x9d\\xd2\\x6c\\x31\\x75\\xac\\xc9\\xf3\\xc7\\xd3\\x81\\xa5\\x46\\x36\\xf0\\xc8\\xb3\\x22\\xee\\x1c\\x98\\x3e\\x92\\x7b\\x53\\xe9\\x75\\xe4\\xd1\\x64\\x3f\\x73\\xed\\xc0\\xe1\\x7d\\x40\\x27\\x03\\x19\\x9d\\x28\\x3a\\x18\\x50\\x89\\x41\\x71\\x41\\xfe\\x0b\\x1d\\x6c\\xc0\\xc3\\x82\\x3a\\x30\\xba\\x27\\x3c\\x8b\\x8f\\x89\\xc3\\x61\\xbd\\x1c\\xd4\\x97\\x19\\xe9\\xd4\\xfc\\xda\\xfe\\x14\\xe0\\xe6\\x44\\x0e\\xf3\\xac\\xcc\\x46\\xa7\\x78\\xe7\\xdd\\x2b\\xca\\xca\\x2a\\x2a\\xce\\xcc\\x2a\\x12\\x25\\xe5\\x9d\\xf9\\x1d\\x87\\x5b\\xc2\\x5c\\x9e\\x0d\\xbf\\x8e\\x0c\\xa8\\x65\\xc0\\x6b\\xa0\\x52\\x44\\x27\\xf0\\x3a\\xbd\\x5a\\x25\\x69\\x38\\x0d\\x67\\xc4\\x5a\\x5e\\x8d\\x74\\x92\\x5a\\xc7\\x6b\\xb5\\xb2\\x68\\xa0\\x96\\xca\\xe2\\xdc\\x58\\xea\\x06\\x26\\x5f\\x9c\\xc5\\x31\\xc3\\x2d\\xac\\xbd\\x33\\x4a\\x07\\x59\\xfe\\xd4\\x25\\xee\\x55\\x03\\x5b\\x77\\x2e\\x6d\\x35\\x68\\x85\\x7b\\xa9\\xfa\\x91\\x77\\xfc\\x9d\\x33\\x66\\xd5\\x9d\\x3f\\xaf\\xee\\xcc\\x8c\\x2e\\xf9\\xab\\x28\\x1e\\x39\\xc7\\x6c\\x40\\xaf\\x21\\x2b\\xab\\x8a\\xd8\\x2c\\x90\\x20\\x1a\\x33\\x33\\x3d\\x1e\\x4d\\x2a\\x42\\x36\\x8d\\xa6\\x9e\\x2f\\x29\\x49\\x5f\\xd7\\xe9\\xa4\\xf5\\xc3\\x8d\\x51\\x2f\\x88\\xbc\\xd8\\x93\\xe3\\xcc\\x51\\xc5\\x11\\xbf\\x93\\xac\\x98\\x5d\\xd2\\x49\\xc7\\x2d\\xc6\\x95\\xda\\x13\\xe3\\xec\\x94\\xb8\\xed\\xe8\\xd2\\xa0\\xdf\\x1f\\xec\\x36\\x6a\\x74\\x69\\xbf\\xbc\\xbc\\x7e\\xdd\\x46\\x85\\x2e\\x35\\xaf\\x57\\xaf\\x69\\xd3\\x7a\\xf5\\x9a\\xe3\\x5b\\xd1\\x4f\\xbf\\x97\\x0e\\xef\\xd8\\x71\\x78\\x69\\xe9\\xf0\\x0e\\x1d\\x86\\x97\\xfa\\x0b\\xe0\\xd7\\xcd\\x0b\\xfc\\x91\\x77\\x98\\xb7\\x22\\x61\\x24\\xba\\x24\\x35\\x8e\\x20\\x57\\x81\\x1e\\xa3\\xaa\\x04\\x59\\xa6\\xdc\\xe2\\x4a\\xdc\\xb1\\x13\\xac\\x01\\xef\\x2b\\xf4\\x5a\\xfd\\xf2\\xa5\\xf2\\x49\\x81\\x30\\x82\\x17\\x71\\x01\\xf9\\xe6\\x18\\xf6\\x1c\\x53\\x68\\xf9\\x11\\xd2\\x47\\x5c\\x1a\\x7e\\x07\\xd6\\x30\\x25\\x60\\xd0\\x02\\x1c\\x00\\x25\\x92\\x53\\xad\\x0e\\xb2\\x0d\\x91\\x77\\x25\\xa7\\x9a\\x24\\x44\\xce\\x9b\\xca\\xfb\\x69\\xc4\\x73\\x7a\\xa1\\xb8\\xf4\\xfb\\xd0\\x07\\xa1\\xab\\xdf\\x2f\\x19\\x84\\x3b\\xdd\\xbe\\x8d\\x3b\\x0f\\x2a\\x20\\x2b\\xf1\\x94\\x85\\xd3\\xa6\\x2d\\x64\\x6d\\x0a\\xe7\\xc4\\xa5\\x52\\x1e\\xb4\\x99\\x1e\\x30\\x69\\x59\\x93\\xb0\\x49\\x02\\xac\\x59\\x1a\\xfd\\xc0\\x3c\\x3b\\xf2\\xaa\\xd5\\xa8\\xff\\xd5\\xb0\\x94\\x57\\xdd\\x32\\x6b\\x5b\\x4c\\xe2\\x77\\x88\\xd4\\x56\\x63\\x0f\\xa8\\x69\\x80\\x02\\xe6\\x56\\x07\\x01\\x2f\\x47\\x49\\x8e\\xf9\\x73\\xef\\xb8\\x7f\\x42\\xe8\\x24\\x26\\xcd\\x67\\xe3\\xfb\\x84\\xdf\\x11\\xee\\x55\\x7d\\x3d\\x8b\\x4f\\x78\\xd8\\xf5\\xe4\\x13\\x76\\xbd\\xf0\\xba\\xb8\\x44\\x0c\\x03\\x1a\\xc9\\x0c\\x98\\xec\\xb0\\x29\\xb5\\x0e\\x2b\\xcf\\x6b\\x65\\x83\\x01\\x55\\x6a\\xa9\\x8a\\x52\\x5c\\x4b\\x75\\x63\\xc1\\x80\\x19\\xe9\\x11\\x4e\\x47\\x75\\x78\\x18\\x48\\xa1\\xb8\\xa4\\xfe\\xf1\\xa5\\x5b\\xc8\\xf7\\xe4\\xbb\\x55\\x83\\x1e\\x4b\\x5e\\x52\\xff\\xe2\\xec\\xe0\\x7b\\x6b\\xb1\\xf1\\xd0\\xd6\\x62\\x31\\xbc\\xeb\\xa9\\xde\\xbd\\x7a\\x0e\\xd8\\xb0\\xb7\\x4e\\xfd\\xde\\x2f\\x2a\\x63\\x82\\x67\\x2e\\x95\\x0a\\x60\\xbe\\xa8\\xe5\\x5c\\xab\\x95\\x64\\x59\\xc7\\xab\\x99\\x59\\x2e\\xde\\x2a\\x87\\x33\\xe1\\x29\\x02\\xe8\\x88\\xde\\x54\\xab\\x08\\x0a\\xc4\\xcb\\xb7\\x6f\\x93\\x13\\x83\\x96\\xdc\\xe2\\x1a\\x72\\xb9\\xb7\\x84\\xd7\\xe9\\x1c\\xe1\\x29\\x64\\x65\\x6c\\x5d\\xf9\\xab\\x80\\xf5\\x18\\x8f\\x92\\xa8\\x81\\x56\\x90\\xe9\\x61\\x93\\x54\\xe3\\xbc\\x28\\x8f\\x21\\x3c\\x9a\\xc1\\x86\\xbf\\xba\\xa9\\xca\\xc3\\x7f\\x03\\xf0\\x6e\\xec\\x34\\xca\\xa3\\x4e\\xe1\\xeb\\x78\\xb1\\xf0\\x1b\\xf2\\xa1\\x5c\\x54\\x11\\x30\\x1b\\x8c\\x46\\x1b\\x5f\\x37\\x55\\xa5\\xb2\\xd9\\xea\\xf3\\x7c\\x43\\x29\\x9b\\x06\\x35\\x69\\x82\\x5e\\xc9\\x20\\x19\\x90\\xd9\\xac\\x55\\xbc\\x62\\xcd\\xb8\\xd1\\x31\\x57\\x3a\\x4a\\x67\\x3e\\xac\\x49\\x88\\x05\\x06\\xe6\\xd5\\x4a\\x3d\\x58\\x1c\\x23\\x29\\x73\\x35\\x3a\\x64\\xdb\\xa6\\x04\\x47\\xf3\\x00\\x15\\x78\\x59\\x62\\xde\\x58\\x2e\\x57\\x1a\\xf5\\x99\\xc5\\x72\\x47\\xc8\\xcc\\x90\\x3d\\x7a\\xe2\\x84\\xad\\xfb\\xf6\\x77\\xed\\xde\\xbd\\x8b\\x5c\\x99\\x8a\\xe5\\x27\\x56\\x26\\xd6\\xb1\\x3a\\xfc\\xf5\\xda\\x35\\x15\\x85\\xdc\\x99\\x81\\x56\\xa3\\x9b\\x2f\\x9d\\x3b\\xa4\\x25\\xbe\\x3e\\x73\\xcc\\x8c\\x79\\x3c\\x9f\\x5d\\x5e\\xda\\xa4\\x44\\xf7\\xfe\\xe2\\xb9\\xe4\\x54\\x71\\xb1\\xd8\\x4d\\xdb\\xa5\\x6b\\xef\\x4e\\xe5\\x81\\x71\\xcd\\x5a\\x70\\x7c\\xb7\\xee\\x25\\xad\\x61\\xac\\xaf\\xc2\\x58\\x3b\\xc1\\x58\\xad\\xa0\\x4d\\x05\\x03\\x06\\x98\\x7e\\x9b\\xd5\\x03\\xdf\\xf4\\xfa\\x04\\x0f\\xa2\\x03\\x35\\x04\\x3d\\xd4\\x89\\x5e\\xf2\\x48\\x1e\\x8d\\xc9\\xe4\\x6c\\xa9\\x61\\xa3\\x35\\xe1\\x46\\x48\\x83\\x78\\xf6\\x59\\x43\\x3d\\x74\\x6b\\x56\\x47\\xab\\x31\\x4e\\x3a\\x48\\x5b\\x75\\x1d\\x7d\\xc6\\x25\\x52\\xcd\\xf6\\x2c\\x45\\x44\\xbe\\x3e\\x7a\\x58\\x59\\x85\\xf9\\xd1\\x94\\xed\\x93\\xf6\\x1d\\x3a\\xb4\\x0b\\xb7\\x99\\xa7\\x1d\\x3c\\x30\\x38\\x52\\xe4\\xbb\\x2e\\x5e\\xd5\\xca\\x9f\\xda\\x3f\\x78\\xe9\\xd2\\x6b\\xef\\x90\\x47\\xcd\\x83\\x67\\x8e\\x9f\\x39\\x1e\\x74\\xce\\x37\\xf0\\x2d\\xd4\\x5c\\x42\\x4c\\xe7\\x6c\\x70\\x92\\x16\\xd1\\x13\\x04\\x95\\xd8\\x52\\x8d\\x1b\\xb2\\xc8\\x59\\x1a\\x50\\xa0\\x44\\x0a\\xe7\\x45\\x72\\xb0\\xc7\\xf1\\x75\\xaa\\x1b\\x41\\x97\\x9a\\xcd\\x9c\\x39\\x53\\x5c\\x36\\x73\\x66\\xd5\\x50\\xee\\x7e\\x48\\x84\\x39\\x38\\x06\\x73\\xd0\\x06\\xe6\\x40\\x0d\\x94\\x9f\\x17\\x50\\x83\\xcc\\x35\\x89\\xa2\\x43\\xd6\\x47\\xc6\\x2a\\xc3\\x58\\x39\\x64\\x65\\x9f\\xb9\\xea\\xb1\\x56\\xd3\\xa6\\x89\\xa6\\x3c\\xa1\\xf9\\xf1\\xe2\\x4f\\x64\\x70\\x1b\\x72\\x7c\\xeb\\x61\\xdc\\xe9\\xc8\\xb6\\xca\\xfe\\x63\\xc6\\x56\\x0c\\x1a\\x31\\xbe\\x9c\\x1f\\x45\\x1e\\x7b\\xfd\\x32\\x7e\\xf2\\xcd\\xb7\\x9e\\x5e\\xbd\\x6e\\xdb\\xa6\\xcd\\xeb\\x41\\x2f\\xf9\\x07\\x3c\\x3b\\x4b\\xf8\\x1a\\x9e\\x5c\\x1c\\xd0\\xeb\\x55\\xf4\\x54\\xc3\\x6e\\x77\\x18\\x74\\x2a\\x3b\\x1b\\x93\\x39\\x12\\xd0\\x69\\x86\\xe7\\xea\\x94\\x98\\xb9\\x48\\x54\\x67\\x6c\\x82\\x61\\x60\\xd5\\xc5\\x5b\\xa2\\x51\\xc2\\x99\\xf9\\xe6\\xe7\\x5b\\x81\\xa4\\x9a\\x25\\x3c\\x26\\x70\\xd9\\xe3\\x7b\\xce\\x1e\\x2f\\x7c\\x4d\\x12\\xc7\\xf7\\x9a\\x35\\x05\\xbf\\x12\\x3a\\xb0\\x77\\x61\\x97\\x36\\xf3\\x57\\xe1\\x2a\\x78\\xfe\\x7b\\xf0\\xfc\\x4c\\xe1\\x2e\\x72\\xa2\\x76\\x01\\x8b\\xd5\\x62\\xa1\\x86\\x3c\\x9d\\xce\\x25\\x5a\\x45\\xab\\xda\\x68\\xb4\\x47\\xa6\\xc0\\x08\\x53\\xa0\\x86\\xc1\\x77\\x64\\x71\\xc2\\xb5\\x97\\x3b\\xce\\xad\\x0f\\x3a\\x63\\xaa\\xb9\\xd2\\x51\\x37\\xec\\x63\\xaf\\xb4\\xea\\xad\\x9d\\x63\\x78\\x6a\\xfa\\xe6\\xfd\\xbb\\xb7\\x4d\\x5e\\x6f\\x9b\\xe7\\x78\\x7c\\x48\\x6f\\x7e\\x2c\\xf9\\xb8\\x63\\x17\\xd5\\xb8\\x25\\x97\\xdf\\x38\\xfb\\xde\\x8c\\xb1\\x9a\\x27\\x96\\xd3\\xfd\\x77\\x09\\xfa\\xd4\\x04\\xd6\\x98\\xd6\\x69\\xee\\x1c\\x30\\x38\\x92\\x8c\\x46\\xa0\\x3c\\x49\\xf2\\x01\\x16\\xb2\\xb5\\x34\\xc2\\x34\\x18\\x61\\x79\\x55\\x28\\x35\\xe2\\x9c\\x4e\\xbd\\xc5\\x3d\\x11\\xd7\\xf4\\xdc\\xea\\xac\\x25\\x25\\x96\\xe2\\xb8\\x69\\xa2\\xe2\\x20\\x52\\xa8\\x82\\x95\\x87\\xcd\\x67\\xa5\\x6d\\x69\\x9a\\xa3\\xf8\\xb2\\xb0\\xaf\\xfa\\x26\\xf4\\x5c\\xb1\\x10\\x1b\\x7a\\x4e\\xf0\\x61\\x3c\\x4b\\x98\\x2a\\x91\\xc7\\xbb\\x0f\\x1c\\x35\\x68\\xd0\\xc8\\x01\\x8f\\x70\\xc3\\x3b\\x95\\x5c\\x7c\\x0b\\xaf\\x0e\\xb4\\x75\\x96\\xe0\\x66\\x55\\xcb\\x86\\x17\\x65\\x77\\xc7\\xfc\\xee\\xc7\\x37\\xed\\x78\\x6a\\xe5\\x0a\\x66\\x97\\xf8\\x12\\xdf\\xc2\\xf5\\x59\\xbf\\x8b\\x03\\x1a\\x95\\xec\\x30\\xc9\\x26\\xb3\\xd9\\x69\\x39\\x85\\xf3\\x8e\\x39\\x78\\x95\\xf9\\x6c\\x34\\xca\\x9e\\x75\\xb4\\x51\\x2c\\x40\\xb7\\xa4\\xc6\\x5a\\x3e\\x18\\x62\\x0f\\xdd\\x94\\x0f\\xc4\\x45\\xd6\\xcf\\x7e\\x20\\xa8\\x5e\\x70\\x90\\x9f\\x59\\x40\\x3d\\x26\\x2e\\xe8\\xc3\\x77\\x40\\xcb\\x34\\x9b\\xb3\\xc5\\x91\\x01\\x2a\\x7a\\x52\\xa2\\x41\\x95\\x08\\x74\\x95\\xe9\\x15\\x2c\\x02\\xe3\\x4e\\x2e\\xe8\\x52\\xa3\\xe3\\x76\\x83\\x41\\xad\\x3d\\x85\\x1b\\xbe\\x94\\x84\\xd4\\x91\\x30\\xe6\\x12\\xca\\x92\\x22\\xd1\\x19\\xb1\\x3e\\x45\\x4e\\x6c\\xf8\\xb8\\x04\\x26\\x71\\xc5\\x75\\x0a\\x6a\\xf6\\xb6\\x69\\x51\\x69\\xe9\\x80\\x59\\xfc\\x14\\x91\\xcb\\x1c\\xde\\xa5\\xe7\\x60\\x1b\\xd7\\x7a\\xfb\\xc4\\xe1\\x33\\x8b\\xba\\x95\\xf6\\x87\\x7e\\xdd\\x7c\\xb4\\xef\\xac\\x29\\xa4\\x1d\\xd7\\x77\\x6f\\x85\\xaf\\xb4\\x75\\xbb\\xce\\x6b\\xe7\\xaf\\xa2\\x63\\x78\\xb4\\xef\\xf4\\x69\\xa4\\x1d\\xd5\\xa9\\x61\\x6f\\x1f\\x66\\x31\\xf9\\xb9\\x01\\xb5\\x68\\xb1\\x80\\x48\\xb6\\xaa\\x0d\\xb0\\x0f\\x94\\xf0\\xf4\\x46\\x80\\x57\\xab\\x63\\xf2\\x8b\\xe3\\xb7\\x20\\xff\\x60\\x44\\xfe\\x73\\xff\\x57\\x40\\x3e\\x0e\\xf7\\xc1\\x5f\\xa0\\x33\\xe2\\x6a\\x64\\x03\\xfc\\xa3\\xd3\\x1a\\x8d\\x2a\\xe0\\x25\\x76\\x60\\x81\\x12\\x0b\\xc2\\xd0\\xaa\\x65\\x1a\\x52\\xcd\\x21\\x4b\\xcd\\x9d\\xff\\x56\\xdc\\xfc\\xf8\\xa3\\x27\\x8d\\x0f\\xa4\\xbd\\x39\\xd3\\xb4\\xe5\\xfa\\x5e\\xfd\\xd2\\x7b\\x2c\\x5f\\x9e\\x96\\xe3\\xa9\\x8f\\x7f\\x36\\x1f\\xc1\\xa1\\x81\\x87\\x0e\\x0d\\x24\\x29\\x85\\xf5\\x40\\x16\\x93\\x83\\x30\\x1f\\x7d\\x61\\xdf\\xab\\x61\\xac\\x46\\xea\\x6b\\xc4\\xd1\\x24\\x7f\\x3c\\xc7\\x69\\x54\\x1c\\x8d\\x1e\\x10\\x69\\xec\\x16\\x8b\\x1e\\xa8\\xa1\\x5d\\xb0\\xc3\\x38\\x1c\\x49\\xc5\\xdc\\x76\\x2d\\xb9\\xb7\\x70\\x4f\\x43\\x83\\xed\\xe4\\x42\\x18\\xdf\\x7d\\x62\\x7c\\xb6\\x71\\x6b\\xce\\xab\\xd8\\x7f\\x4f\\x40\\xfb\\xdd\\x22\\x71\\x0a\\x1e\\x68\\x5a\\x90\\xb1\\x46\\x10\\xa9\\x80\\x85\\x47\\xf1\\x3a\\x59\\x23\\x00\\x1c\\x78\\x58\\xa0\\x82\\x62\\xaa\\xcf\\x63\\x16\\x73\\x65\\x78\\x71\\x71\\x0a\\x6f\\xff\\x9f\\x61\\x0a\\xd4\\x7e\\xfc\\x87\\x70\\x98\\x2b\\x60\\xb6\\x0d\\xea\\xdf\\xa2\\xc4\\x29\\x8a\\x95\\xd4\\x8b\\x29\\xde\\xf6\\x6c\\xa5\\x5e\\x22\\xfc\\x1f\\xe3\\xaf\\x7e\\x21\\x1c\\xb6\\x61\\x7d\\x12\\xa9\\xa2\\xf7\\x4e\\x05\\x5c\\xfa\\x52\\x78\\x86\\x62\\x13\\x64\\x76\\x58\\x89\\xaf\\x44\\xd4\\x26\\x18\\x73\\x2f\\x11\\x15\\x6b\\xeb\\x4b\\x70\\xe7\\x72\\x1b\\xf9\\x2d\\x09\\x0b\\xe1\\x30\\xfa\\x19\\xee\\xfb\\x20\\xbc\\xc0\\x24\\xf3\\x12\\x2e\\xa0\\xdd\\x80\\xdf\\x3d\\x19\\xad\\xab\\xcb\\xd9\\x91\\x52\\x07\\xfc\\xb6\\x50\\x24\\x94\\x82\\xa4\\x4b\\x46\\x23\\x02\\x2d\\xf4\\x28\\x39\\x41\\x96\\xac\\x36\\x9b\\x94\\x80\\x84\\x94\\xd4\\xc4\\x84\\x1e\\xc1\\xc4\\x44\\x17\\x8f\\xac\\x26\\x6b\\x85\\x75\\xa2\\xb5\\xd2\\x7a\\xde\\x2a\\xa9\\x79\\xab\\xd5\\xe5\\x32\\x95\\x05\\x5d\\x0e\\x5e\\x53\\x16\\x4c\\x91\\xe7\\xcb\\xab\\x65\\x90\\x3a\\x3c\\x4d\\x07\\x94\\x3b\\x30\\x96\\x5a\\x8e\\x66\\xc5\\x32\\xd7\\x0a\\x64\\x66\\x83\\x8c\\x14\\x05\\xaf\\x4e\\x76\\x49\\x79\\x23\\xe7\\x4b\\x43\\x34\\x41\\xe9\\x42\\xcc\\xdd\\x3d\\x76\\x3b\\xe5\\xbc\\xa9\\x72\\xda\\xd3\\xeb\\xd7\\xef\\x60\\xa5\\xcc\\xa7\\xbf\\x31\\xf3\\x5e\\x18\\xe1\\x9d\\xc7\\xb9\\xe4\\x48\\xf9\\xef\\xfe\\xa3\\xdf\\xf8\\xe7\\xe7\\xef\\x8d\\x19\\xa7\\xab\\xd8\\x11\\xc4\\xa9\\x6f\\x53\\x8d\\x91\\x8b\\xab\\xb1\\x9e\\x80\\x46\\x05\\x4a\\xcc\\x16\\x59\\x4a\\x70\\xc1\\x86\\x71\\x49\\x16\\x21\\x31\\xc9\\xed\\xea\\x11\\x74\\xbb\\x79\\x07\\xb0\\x66\\xa3\\x39\\xc5\\x3c\\xdf\\xbc\\xda\\x2c\\xa8\\x79\\xb3\\x39\\xae\\xf8\\xba\\x49\\x9e\\x28\\x57\\xca\\x1f\\xc8\\x00\\x9c\\x95\\x42\\x11\\x35\\x07\\x33\\xe9\\x61\\xa3\\xf9\\x8b\\x8a\\xec\\xd4\\xf0\\xfd\\x97\\x55\\xd9\\x43\\x2f\\x1d\\x7f\\x58\\x61\\xf6\\xd0\\x12\\x18\\x47\\x38\\x8c\\x2b\\xc8\\x46\\xd0\\xac\\x9b\\x98\\x00\\xab\\x31\\x9f\\xdb\\x7f\\x0a\\x47\\xb9\\x3b\\xe2\\xef\\xb0\\xfe\\xde\\x9a\\x31\\xc0\\xba\\x97\\xfa\\x8b\\xeb\\x51\\xcd\\x88\\x23\\x46\\x41\\xf8\\x9f\\xdd\\xde\\x3c\\x2c\\x1c\\xf5\\xe2\\xf4\\x0c\\x72\\x83\\x11\\x73\\xa1\\x70\\x94\\xdf\\x24\\xb5\\x8c\\xd8\\xd6\\x80\\xfe\\x15\\x27\\x25\\xb5\\x5e\\xa3\\x51\\x23\\xde\\x68\\x50\\x69\\x35\\xda\\x35\\x41\\xb5\\x46\\x8c\\x6f\\x97\\x46\\xfe\\xe5\\xd5\\xce\\xf8\\x56\\xfd\\x94\\xc2\\x88\\x71\\x9f\\x53\\x17\\xbc\\xb9\\x6e\\xe3\\xea\\xd0\\xee\\xb5\\xf4\\x91\\x13\\x32\\xc8\\x46\\x8b\\xe2\\xc6\\x01\\xf4\\x06\\x7f\\x84\\x2b\\x62\\x3b\\x4b\\x26\\x4a\\x47\\xc8\\x2c\\xf3\\x45\\x24\\x33\\x5c\\x86\\x6c\\xc7\\x38\\x13\\xcf\\x9d\\x22\\x19\\xc7\\x0d\\x66\\x41\\xce\\xc0\\x39\\xf9\\xa8\\x24\\x9f\\x8d\\xf5\\x67\\xbc\\x8f\\xfb\\x27\\x47\\xcf\\xe1\\x32\\x02\\xce\\x48\\x3c\\xe4\\xb6\\xfe\\x46\\x5c\\x82\\x27\\xe0\\x9d\\xf8\\x2a\\xbe\\x83\\x01\\xbc\\xe6\\x0e\\xac\\x8e\\xf6\\xa6\\xca\\xd7\\xcf\\x3f\\xe0\\x7d\\x38\\x87\\x7c\\x1c\\x0e\\x87\\xaf\\xc2\\x2d\\xaf\\x8b\\xed\\x4c\\x99\\xa8\\xce\\x60\\xf6\\xbc\\xd0\\x5d\\x78\\x5e\\xe6\\x71\\x6c\\xe0\\xb1\\xf1\\x54\\xf8\\xfc\\x31\\x7b\\x62\\x07\\xfa\\xfe\\x92\\xda\\xd2\\xe1\\x54\\xf8\\xc6\\x71\\xa3\\x11\\x21\\x78\\x7e\\x8e\\xd2\\x03\\x25\\x37\\xdc\\x68\\xb1\\x2d\\xf0\\x08\\x33\\xea\\x17\\xb0\\x9b\\x75\\x3a\\x80\\xba\\x02\\x75\\x49\\x57\\x21\\xa4\\x15\\xb4\\x16\\xab\\xc1\\x0c\\x13\\x14\\x70\\x05\\x0d\\x06\\x51\\xe6\\xca\\x83\\x65\\x32\\xde\\x25\\xbf\\x28\\x73\\xb2\\xac\\x16\\x79\\x01\\xf8\\x74\\x09\\xcb\\x12\\x3f\\x70\\x92\\x42\\x36\\xf1\\xe5\\xc1\\xe3\\x26\\xd0\\x6b\\x8e\\x84\\xc1\\xd0\\xee\\xb3\\xc9\\xe4\\x5f\\x20\\x7d\\xcf\\x9d\\xc3\\x07\\x5e\\xb9\\xff\\x14\\xac\\x1d\\x37\\x21\\xb4\\x56\\x6c\\x1b\\x7a\\x87\\x2b\\xf8\\xf3\\x8c\\x80\\xa2\\xeb\\x08\\xf3\\x49\\x91\\x7b\\x25\\x1b\\x5f\\xbd\\xf9\\xd5\\xf3\\x19\\x37\\x3e\\x8b\\x35\\x32\\x3e\\x23\\x8c\\xef\\x4a\\xcd\\xf1\\xd1\\xf9\\x81\\x3d\\x72\\x44\\xec\\x07\\xf7\\xe7\\xb5\\xab\\x9e\\x1f\\x58\\x0f\\x17\\xac\\x47\\xe8\\xb9\\xe3\\x0e\\xb7\\x84\\xaa\\xd7\\x43\\x99\\x8f\\x17\\x60\\x3e\\x54\\xa0\\x91\\x07\\x03\\x0e\\x83\\x5a\\xad\\xd5\\xe9\\x44\\x6a\\xd8\\x55\\xa9\\x24\\x8c\\x39\\xce\\x68\\xd2\\x1a\\xe8\\x84\\x38\\x83\\x5a\\x41\\xe2\\x03\\x2c\\x6e\\x95\\x2f\\x61\\xa0\\x13\\xd4\\x50\\x6c\\x41\\x2c\\x13\\x6b\\xee\\xc0\\x81\\x74\\xe0\\x39\\xd1\\x40\\xe8\\xbc\\xd8\\x5c\\x28\\xf4\\x44\\xb3\\xb1\\xb2\\xe0\\x3d\\x65\\x2e\\xba\\xbe\\x4a\\x9e\\xbe\\xfc\\xdf\\xdf\\x2f\\xdf\\xef\\x4e\\xe7\\xa2\\x43\\xe8\\x14\\xd7\\x81\\x0b\\x85\\x9e\\xe5\\x82\\xe4\\x4c\\x8c\\xa6\\xb9\\xf0\\xfb\\x2c\\x8f\\x5f\\x3f\\xa0\\xac\\x6c\\x34\\x24\\xe0\\xc9\\xaa\\x53\\x27\\x23\\x3b\\xc3\\x9b\\xec\\x96\\xb4\\x6e\\x2d\\x9f\\x60\\xf7\\xaa\\x8d\\xbc\\x97\\xcf\\xa9\\x97\\x95\\x4d\\xfb\\x67\\x0f\\x66\\xf1\\x3a\\x97\\x4b\\x9d\\xe0\\x49\\x28\\x0f\\x6a\\x3d\\x16\\x64\\x29\\x0f\\x22\\x21\\xae\\xfc\\x01\\x2c\\x96\\x3f\\x3e\\x61\\x51\\xb5\\x3d\\x25\\xba\\xd3\\xf3\\x10\\xcd\\x45\\x4a\\x4b\\x1e\\x78\\xd9\\x91\\x66\\x04\\xd8\\x3a\\xe9\\x26\\xc8\\x73\\x66\\x72\\xf9\\x8d\\x2d\\x05\\xca\\x00\\xb8\\x95\\x5f\\x61\\xeb\\xfe\\xcd\\xe5\\x0d\\x2e\\x91\\x46\\x73\\x66\\x3c\\xbd\\x61\\xc3\\xae\\x19\\x73\\x48\\xa3\\x4b\\x0d\\xca\\x37\\xef\\x9f\\x77\\x33\\xf4\\x31\\x0c\\x4a\\xec\\x47\\x4e\\x91\\x5f\\xde\\x25\\xe7\\x46\\x68\\xb7\\xdf\\xe8\\x4f\\x5e\\xfb\\xf4\\x97\\x3b\\xd7\\x5e\\x0b\\x0d\\xb8\\xb1\\x5d\\x3b\\x1c\\xb7\\xbc\\x72\\x14\\x5b\\x36\\x90\\x67\\x62\\x43\\x85\\x75\\xdf\\x08\\xeb\\x36\\x50\\x6a\\x69\\xc9\\xe4\\xc7\\xc0\\x3e\\x92\\xf8\\xe2\\xdf\\x10\\x72\\xbf\\xcc\\x73\\x18\\xfe\\x9d\\x0a\\x7f\\x79\\xdc\\xe3\\xd2\\x4b\\x74\\xdd\\xf2\\xf3\\x11\\xfd\\x89\\xdb\\x7b\\x6d\\x2d\\x12\\xdd\\x7b\\xf0\\x7d\\x0f\\xa3\\x1d\\xfa\\x3d\\x83\\xc9\\x24\\x68\\x5a\\xe8\\x0f\\x6b\\x2b\\xb2\\x7a\\x46\\x18\\xb3\\x18\\x80\\xf2\\x20\\xc7\\x53\\x2a\\x8e\\xaf\\x91\\xc4\\xca\\x70\\xe2\\x9d\\xe7\\xf8\\xd9\\xa1\\x36\\x62\\xdb\\xed\\x94\\x2e\\x74\\x70\\xef\\x79\\x76\\xaf\\x01\\x75\\x0c\\x64\\x51\\x87\\x5a\\x41\\x03\\xea\\xb4\\xc4\\x9b\\x8c\\x49\\x12\\x36\\x4a\\x58\\x0f\\x9f\\x39\\x5e\\x2b\\xc0\\x2f\\xb5\\x34\\xac\\x1d\\xa6\\xdb\\xc2\\x62\\x24\\x9d\\x7e\\x9a\\x43\\x15\\xa0\\x15\\xb0\\xd4\\x81\\x35\\x93\\x29\\xf9\\xf3\\x81\\x04\\xec\\xd8\\xc0\\x61\\x2f\\xce\\xcc\\xd2\\xe1\\x7f\\xdd\\xc5\\x5f\\x85\\xf6\\xf1\\x25\\xb9\\xe4\\x1a\\xdf\\x98\\xbc\\xe5\\x4f\\x5f\\x2b\\x1c\\xbf\\x5f\\xba\\x5e\\x38\\xab\\x39\\x3d\\x33\\xe4\\xe1\\xf5\\x8b\\xa6\\x44\\xc7\\x35\\x84\\x8d\\xab\\x0e\\x1b\\x67\\x47\\xf8\\xbe\\x88\\x7d\\x6f\\x1e\\x1b\\x77\\x36\\xfb\\x9e\\x83\\x1e\\xcc\\xb7\\xdd\\x37\\x50\\x6c\\xa2\\x1e\\xda\\x40\\xf9\\x82\\x27\\xc1\\xed\\x2a\\x0f\\xe6\\xba\\xcb\\xdd\\x3b\\xdd\\x2f\\xb8\\x05\\xa3\\x7b\\x35\\xbc\\x9d\\x73\\x7f\\xe1\\xbe\\xe3\\x0e\\xbb\\x65\\x27\\xef\\x76\\xd3\\x5c\\xdc\\xe5\\x41\\xb5\\xc0\\x5b\\xcb\\x83\\xbc\\xb5\\x76\\x1a\\xeb\\x49\\x39\\xf1\\xd1\\xb0\\x0f\\x4d\\xc2\\xcd\\x03\\xb5\\xc4\\x92\\x70\\x0b\\xa1\\xf8\\x24\\xdc\\xab\\xc9\\xd1\\xb8\\x24\\xdc\\xdd\\x41\\x0e\\xd4\\x48\\xc2\\x8d\\x7b\\x6f\\xdd\\xca\\xc6\\xf3\\x0e\\xf5\\x91\\x67\\xe3\\xa9\\x17\\x1b\\xdf\\xbb\\xec\\x3b\\x8b\\xad\\xa6\\x99\\x68\\x84\\x8b\\xb0\\x36\\x1a\\xd0\\xdc\\x3c\\x1a\\xb5\\x80\\x11\\x75\\x66\\x42\\xbc\\x4e\\xdb\\x4f\\xc0\\x9d\\x01\\xe4\\x68\\xd4\\xbc\\x2a\\xc2\\xa9\\xfc\\xb5\\x97\\xc0\\x4b\\x2b\\x47\\xb0\\xba\\x51\\x7e\\xe1\\xe2\\x65\\x72\\xb1\\x61\\x7a\\x7e\\x0a\\x39\\x7f\\x19\\xff\\xf1\\x16\\xbf\\x74\\xcd\\xb2\\x0b\\xbd\\xab\\x66\\x89\\x6d\\xe1\\x99\\x0b\\xe0\\x19\\x9d\\xd9\\x33\\x1b\\xd6\\x9a\\xe3\\x46\\x6c\\x8e\\x97\\xc1\\xf7\\x76\\xd0\\x07\\xaa\\x93\\x6a\\x51\\x9f\\x40\\xbe\\x56\\x05\\x3c\\x03\\x0b\\xb2\\xa0\\xd7\\x69\\x81\\x16\\x52\\xb4\\xb9\\x5a\\xce\\x08\\x2f\\x25\\xda\\x72\\xed\\x7c\\xed\\x0b\\xda\\x2f\\xb4\\x72\\x0a\\xaf\\xd5\\x8a\\x58\\x00\\x12\\x14\\x2c\\x18\\x95\\x07\\x31\\xff\\xd0\\xf9\\x8d\\x86\\xff\\x51\\xe7\\x05\\x5a\\x49\\x01\\x7e\\xe8\\xa4\\x6e\\xe3\\x9f\\xaa\\xea\\xc5\\x9f\\x5b\\x1b\\x1a\\x2a\\x1c\\xdc\\xbe\\xfd\\x7e\\x9f\\xed\\xdb\\x79\\x1e\\x26\\x0c\\xfa\\x16\\x59\\x6f\\xe8\\x5b\\x1e\\x9b\\x9f\\xbd\\x4a\\x5f\\xa1\\x67\\xbe\\x80\\x19\\x94\\x65\\x1e\\xb1\\x78\\x45\\xfa\\xc0\\x08\\x03\\xcf\\x89\\x0b\\xa2\\xf1\\x47\\x72\\xb8\\xed\\xe5\\x97\\x9d\\x0b\\xfd\\x47\\x6c\\x0b\\x0c\\xf9\\xe0\\xfd\\x3e\\xd1\\x31\\x97\\xb3\\x31\\xfb\\x59\\xbb\\x63\\xe1\\xfb\\x6e\\x68\\x57\\x87\\x1e\\x09\\x64\\x83\\xc8\\xc0\\x2a\\x8e\\x33\\x68\\xb0\\xa8\\xc5\\x5a\\xbd\\x81\\x07\\x54\\x01\\x84\\xa3\\x02\\xd0\\x9c\\x44\\x7d\\x0f\\x80\\x37\\xc6\\x6f\\x0a\\xa5\\x82\\x04\\x0c\\xd1\\xef\\xaf\\x11\\x8b\\x6e\\x89\\x65\\x80\\xf1\\xe7\\xab\\xe9\\x50\\xbd\\x98\\x26\\xe7\\x1b\\xcb\\x79\\x42\\xff\\xe1\\xbf\\xad\\xfa\\x19\\xbf\\x43\\x1c\\xfc\\xb8\\x3d\\x5c\\x06\\xfe\\xd7\\xee\\xed\\x64\\xf0\\x1c\\x62\\xd8\\xce\\xd6\\xa3\\x4b\\x6c\\xaf\\x17\\xb2\\xef\\xc0\\x01\\x84\\x03\\xec\\x7b\\x33\\xb6\\x3e\\xaa\\xf0\\x3d\\xe1\\x4d\\xb1\\x1b\\x8d\\xef\\x42\\x75\\x51\\xef\\x40\\x83\\x24\\x9b\\x64\\xce\\x90\\x78\\xd9\\xab\\x77\\x21\\xbd\\x8c\\xf8\\x9c\\xec\\x84\\x4c\\x73\\x66\\x45\\xd0\\x66\\x4e\\xce\\x50\\x65\\x54\\x04\\x45\\xd5\\x1a\\x33\\x36\\xab\\xcc\\x2a\\xc9\\xc2\\x4b\\x40\\xf8\\x25\\x2c\\xf3\\xdd\\xc0\\x48\\xf5\\xde\\x9a\\xb9\\x90\\x63\\x79\\x18\\x6c\\x06\\x9c\\x83\\xa9\\xbf\\x2b\\x2b\\xc2\\x80\\x9a\\x52\\x54\\x04\\xbb\\x41\\xa6\\x1e\\x8e\\x00\\xa8\\x0b\\x32\\x68\\x76\\x77\\x33\\xb0\\x51\\xe1\\xcd\\x19\\x9f\\xae\\xa8\\xfb\\x72\\xdd\\x27\\xff\\x31\\x03\\x4b\\x37\\x92\\x5f\\x4e\\xba\\x81\\xe5\\x8b\\xfb\\x37\\x8b\\xba\\xf5\\x7b\\xab\\xde\\xde\\xbb\\x5e\\xa7\\xda\\xb8\\x9f\\xbb\\xf8\\xc4\\xb7\\x8b\\xae\\x5d\\x5b\\xf8\\xfd\\xe3\\xd7\\xb1\\x78\\xe4\\x08\\xa9\\xfa\\x72\\xdf\\x4b\\xa1\\x0e\\x17\\x76\\xef\\x39\\xcf\\x9d\\x7a\\x31\\x36\\xc6\\x83\\x6c\\x8c\\x4d\\xd9\\x7a\\x00\\x25\\x0a\\xdb\\x61\\x3d\\x12\\x68\\x46\\x44\\x63\\x42\\x82\\x0e\\x59\\x1d\\x2a\\x11\\x89\\x0e\\x3e\\x29\\xd1\\xa8\\xc3\\xba\\x8a\\xa0\\x07\\x63\\x9b\\x5e\\x52\\xf8\\x9d\\xdf\\x5f\\x9c\\xeb\\x7f\\x18\\xd8\\xa1\\xe5\\x87\\x39\\x25\\x41\\x69\\x53\\xcc\\xac\\x64\\x4a\\xa1\\x3e\\x0e\\xc6\\xc0\\xb9\\x9b\\xbc\\xfb\\xd5\\xee\\x35\\x8b\\xfd\\xdb\\xfc\\x4b\\x56\\xef\\xbe\\xf9\\x4e\\x13\\xbc\\x12\\x3b\\x7f\\xc6\\x47\\x49\\xe7\\x13\\x6f\\xf2\\x0d\\xab\\x3e\\xb8\\x74\\x0c\\xbf\\x4c\\xba\\xfd\\x4c\\xbe\\x27\\x91\\x1a\\xb5\\xb4\\xb6\\xca\\x7a\\xe0\\x3d\\x3e\\x5a\\x0b\\x1c\\x64\\x14\\x95\\x56\\x46\\x35\\xcf\\x6b\\xdd\\x5e\\x21\\x3d\\xe3\\x7f\\x0b\\x28\\x73\\xad\\xa4\\x88\\xb5\\x65\\x52\\x81\\x25\\x2a\\x93\\x2c\\xd5\\x32\\xc9\\x84\\xb8\\x91\\xf7\\x70\\xca\\xf3\\x7b\\xa7\\xd6\\xbb\\x44\\x92\\x96\\x2e\\x3c\\xb2\\xef\\xc0\\xa1\\x45\\x4b\\x48\\xd2\\xa5\\x7a\\x53\\xf7\\x3e\\x8f\\x53\\x40\\x0e\\xbd\\x4a\\x7e\\x7c\\x8d\\x9c\\x1c\\x0b\\x72\\x68\\x08\\x56\\x1d\\xb9\\xf1\\xdd\\xed\\xeb\\xcf\\x91\\x3f\\x86\\x80\\x24\\x1a\\x87\\x3b\\xbe\\x8a\\x6d\\xb8\\x75\\x8c\\xe7\\x48\\x4b\\x01\\xc7\\xd5\\xa3\\x38\\x0e\\x8d\\x01\\x3a\\xd6\\x22\\x67\\x40\\xcf\\x61\\x9d\\x98\\xc9\\x61\\xce\\x04\\x12\\x84\\x09\\x20\\x94\\x13\\x95\\x3f\\x8c\\xe6\\xd8\\x3d\\xcd\\x22\\xf7\\x58\\xa2\\xf7\\xa8\\xe9\\x3d\\x66\\xbd\\x56\\x50\\xd5\\xba\\x67\\x01\\xec\\xd5\\x35\\xe2\\xef\\x20\\xe7\\x86\\x30\\x39\\x57\\x04\\xb7\\x5a\\x41\\x63\\x02\\x5a\\xe4\\x5c\\x99\\x75\\x45\\x23\\x03\\x27\\xf0\\x0f\\xae\\x7d\\x81\\xe2\\x7d\\x76\\xed\\x08\\xe5\\xda\\x32\\x76\\x2d\\xae\\x63\\xce\\xc4\\xcd\\xeb\\xe4\\x68\\x84\\xb8\\x6b\\x8f\\xb1\\x1a\\xec\\xf4\\xda\\x51\\x35\\xae\\x75\\xc3\\xb5\\xdd\\xdc\\x89\\x3a\\x67\\xdc\\xb5\\x4c\\xd6\\xb2\\x6b\\x15\\x59\\x5b\\x94\\xac\\x5c\\x6b\\x82\\x6b\\x35\\x26\\xab\\x22\\x68\\x23\\xd7\\xb2\\x1a\\x45\\x4c\\x2e\\x4f\\x53\\xe4\\xf2\\x2f\\xf1\\x72\\xf9\\xe6\\xf1\\x94\\x24\\x05\\x4f\\xc5\\xe4\\x32\\xc8\\x4e\\x36\\x46\\xd0\\x53\\xdc\\x20\\x87\\xfb\\x06\\x1a\\x7a\\x44\\x2d\\x4a\\x4d\\xb5\\x38\\xec\\x76\\x80\\x9a\\x16\\xd1\\x42\\xab\\xb7\\x1a\\x8c\\x2a\\x1f\\x2d\\xf4\\x63\\xd2\\x72\\x26\\x41\\xab\\x32\\x71\\x49\\x65\\xc1\\xd9\\xee\\x27\\xdd\\x9c\\x9b\\xa3\\x8a\\x09\\xd3\\x4b\\xa8\\xfc\\x54\\xcc\\x79\\x71\\x15\\x73\\x63\\x54\\x9b\\xc1\\xc5\\x65\\x60\\xa6\\xc1\\x1b\\x9c\\xec\\xb0\\xd0\\x33\\x38\\x25\\x4b\\x35\\x2d\\xa0\\x00\\xa4\\xc2\\x4f\\x9b\\x72\\xf7\\xbd\\x0b\\xd7\\x3e\\x9c\\x77\\xac\\x3e\\xe7\\xcc\\x7b\\x35\\xaf\\xa7\\x4a\\x6c\\x9a\\x7b\\xd2\\xe5\\x13\\x43\\x6f\\x4c\\x5e\\x3c\\x63\\xbf\\x27\\x69\\xf3\\xf4\\xe5\\x33\\x7f\\x24\\x61\\x20\\x03\\x17\\x4d\\xb0\\xbc\\x74\\xe6\\xf4\\xc7\\xc6\\x90\\xf7\\x86\\xec\\x22\\x57\\x46\\x36\\x5f\\xed\\xc5\\x8d\\x3e\\xbf\\xfc\\xed\\x1b\\x7f\\xfb\\xfb\\x65\\x36\\xae\\x23\\x30\\xc7\\x23\\x95\\x9a\\x9b\\xa8\\x6b\\xa0\\x6e\\x12\\x28\\xef\\x0e\\xb3\\x0f\\xa6\\xc5\\x9a\\xa5\\x11\\xb3\\x73\\xac\\x59\\x99\\x59\\x99\\x65\\xc1\\xac\\x2c\\x03\\x6f\\x70\\x97\\x05\\x0d\\x48\\x9d\\xc0\\xd3\\x5c\\xf7\\x8e\\x58\\x65\\xc8\\x48\\x4d\\xc3\\x9a\\xa5\\x20\\x62\\xe9\\x0c\\xb2\\x7c\\x8a\\x55\\x45\\x39\\x43\\x92\\x93\\x71\\xb4\\xee\\x6e\\x34\\x4b\\x37\\x8d\\xcd\\x12\\x46\\xfe\\x78\\xfd\\xe4\\x32\\x49\\x3a\\x7e\\xf3\\xdf\\x6f\\x7e\\xf8\\xc5\\x86\\x43\\xe4\\xee\\xcc\\xf1\\xeb\\x17\\x04\\xf6\\x77\\x5f\\xb9\\xf9\\xfd\\x37\\x9f\\xda\\x8e\\x37\\xbe\\xf5\\xd5\\xa0\\xc9\\x7d\\xc9\\xa7\\xe2\\x11\\xb8\\xee\\x99\\x50\\x9f\\xa4\\x2b\\x5c\\xd3\\x21\\x13\\xb7\\x3d\\x5b\\xf5\\x41\\x4e\\xa3\\xad\\xcb\\x56\\x3f\\xbd\\x4a\\xbb\\x8e\\xed\\xd3\\x7c\\xd2\\x17\\xd6\\xa8\\x09\\x32\\xa2\\x40\\x20\\xdd\\x20\\xc8\\x5a\\x9d\\xac\\x42\\x46\\xa3\\x4e\\xc5\\x9b\\x4d\\xd3\\x84\\xa5\\x02\\xd7\\x54\\xdd\\x59\\xdd\\x1f\\xd0\\x80\\x60\\x30\\x68\\x13\\x64\\xa5\\xf8\\x14\\xf5\\xf7\\xaf\\x21\\x4f\\x99\\x90\\x52\\xe3\\x64\\xec\\x6c\\x81\\x01\\xd9\\x48\\xbc\\xaf\\xa0\\x10\\xa3\\x30\\x36\\xea\\x3b\\x09\\x52\\x01\\xce\\x7c\\x93\\x74\\x6e\\x9b\\x7e\\xce\\x1d\\x20\\x75\\x85\\x26\\xa1\\x09\\xa9\\x57\\x2c\\xf6\\x55\\xdc\\xed\\xfb\\xf7\\x4f\\x90\\x6b\\xe7\\x7f\\x13\\x72\\xe9\\x9c\\x4e\\x04\\x5a\\xe9\\xc5\\x72\\xac\\xa6\\x82\\xd6\\x96\\x26\\xbb\\x0d\\x49\\xa9\\xc8\\x6a\\xa5\\xfa\\xac\\xe8\\x4d\\x4b\\x4a\\x4d\\x81\\x19\\x14\\x12\\x8d\\xbc\\x23\\x05\\x39\\x40\\x19\\x77\\x38\\x62\\x99\\xf6\\x6b\\x67\\xa9\\x55\\x4a\\x6a\\x64\\x45\\x3c\\xbf\\x0b\\x80\\x0e\\x92\\x39\\xbb\\x8d\\x42\\x14\\xc0\\xad\\x85\\x4c\\x8a\\x6e\\x2e\\xea\\x3e\\xe4\\xd4\\xa5\\x67\\xd7\\xac\\xdf\\x4d\\x7e\\xde\\x8a\\x9b\\x55\\x4e\\x68\\x46\\xee\\x7e\\xfd\\x0d\\xf9\\xf5\\xd7\\x9f\\xc8\\x05\\xee\\x36\\xfe\\xb4\\xf7\\x86\\x59\\x23\\x5a\\xfe\\xbc\\x65\\xef\\xeb\\xa7\\x04\\x9b\\x8a\\xbc\\x3d\\x6f\\xe7\\x91\\x51\\x9f\\x93\\x3b\\x58\\x7d\\xf3\\x35\\xec\\xe9\\x81\\x3b\\x2c\\x5c\\xad\\xf0\\xb8\\x17\\x22\\x7a\\x78\\x16\\x1a\\x18\\xc8\\xcb\\xd0\\xd0\\x2c\\xbb\\xbc\\x20\\x38\\xbd\\x7a\\xb3\\x46\\xaa\\x53\\x57\\xef\\x4d\\xf3\\xa6\\x95\\x05\\xbd\\x5e\\x9b\\x4c\\xd3\\xec\\x22\\x17\\xd6\\xf2\\x34\\xd1\\x2e\\x4f\\x0d\\xd7\\x65\\x41\\xd9\\x11\\x91\\x87\\xb9\\x71\\x79\\xb5\\x1f\\x4e\\x15\\x19\\xf1\\x46\\xd5\\xc2\\xfc\\x9a\\x05\\x19\\x99\\x65\\xc1\\x9e\\x4a\\xdf\\xb8\\x71\\x63\\xcf\\x05\\x46\\x97\\xdd\\xdb\\xf6\\xc9\\xf5\\x6d\\xd3\\x1f\\x5d\\xfa\\xdd\\x1b\\x1b\\xfe\\xd6\\xba\\x32\\x77\\xed\\xe8\\xca\\xe9\\xe7\\x7e\\x0c\\xa3\\x4b\\x8b\\x27\\xf7\\xec\\x3a\\x6c\\xf0\\x90\\x7d\\x4f\\x8d\\xdd\\xa4\\xe5\\xf4\\xcb\\x87\\x2c\\xd9\\xde\\x7b\\x68\\xdf\\xf6\\x6d\\x7a\\x75\\xea\\xdb\\x77\\xd9\\xd0\\xe1\\xfd\\x07\\xb2\\x31\\x9d\\x22\\x1b\\x85\\x52\\x58\\x87\\x34\\xd4\\x2a\\xe0\\x75\\xa5\\xa4\\x18\\x54\\xaa\\xf4\\x24\\x64\\xb7\\xfb\\xd2\\x53\\x12\\x93\\x12\\xcb\\x82\\x23\\x04\\x4a\\x15\\xbc\\x60\\x36\\x6b\\x92\\x90\\xe6\\x14\\x56\\x33\\x09\\x99\\xeb\\x1f\\x18\\x57\\xfb\\xd0\\x52\\x9d\\x3d\\x87\\xa5\\xdf\\x00\\x22\\xce\\x62\\x7a\\x04\\xcb\\xce\\x81\\x70\\xbe\\xe4\\xa3\\xa5\\xa1\\x04\\x60\\xad\\xd3\\xa7\\x4c\\x99\\xb3\\x65\\x63\\xfb\\x47\\xe6\\x39\\x53\\x97\\x1e\\x7b\\xfe\\xf4\\x00\\x5c\\x8a\\xc7\\x77\\xe8\\x45\\xf2\\xf8\\x34\\x72\\x97\\xdc\\x58\\x8e\\x67\\x97\\x0e\\x75\\x25\\xf9\\x3a\\x0c\\x0d\\x0c\\x5f\\x59\\x94\\xd2\\x23\\xd1\\xdf\\xc9\\xe7\\x2b\\x5f\\x33\\xf0\\x35\\x7c\\x1d\\x37\\x93\\xa4\\x55\\x4f\\xfc\\x46\\x8e\\x90\\x3b\\xac\\xdf\\xc7\\x22\\x35\\xb8\\x5d\\xa8\\x61\\xc0\\x65\\x56\\xa9\\xd4\\xc8\\xa5\\x76\\xb9\\x3d\\x66\\x9b\\x4d\\x28\\x0b\\xda\\x4c\\x3a\\xa3\\xda\\x0e\\xf2\\xb1\\xe4\\x61\\x05\\xae\\xb1\\xf9\\xa1\\x75\\xad\\x23\\x15\\xb7\\xe3\\x2b\\x5a\\xc3\\x33\\x2a\\x1e\\x28\\x66\\x7d\\x7f\\x29\\xc5\\x19\\x4f\\x01\\x2d\\x14\\x88\\xef\\x02\\x16\\x35\\x43\\x1f\\x5a\\x04\\x52\\xec\\x46\\xa3\\xe4\\x30\\xd0\\x90\\x1f\\xb7\\xc7\\x6e\\xec\\x1e\\xb4\\xdb\\x79\\x95\\xca\\xd2\\x3d\\xa8\\xe2\\xb5\\x31\\x5e\\x90\\x5b\\xbd\\xe8\\xb8\\xb8\\x86\\xad\\x45\\x61\\x6a\\xde\\x3c\\x0b\\xce\\xb3\\x58\\xbd\\x1e\\x6c\\x4d\\xe3\\x78\\xaf\\x06\\x0b\\x05\\x3f\\xdf\\xbc\\xf1\\x03\\xfe\\xf0\\xce\\x17\\x24\\x7b\\xf5\\x62\\x31\\xf4\\x2f\\x71\\xc1\\x9a\\x55\\x0b\\x25\\xce\\x27\\xce\\xe5\\xfe\\x45\\x16\\x91\\x15\\x78\\x2e\\x7e\\x8c\\xfb\\x89\\xac\\xae\\x72\\x62\\x33\\x4e\\x21\\xb7\\xc9\\x4d\\xe1\\x1a\\xb9\\x47\\xbe\\xc6\\x09\\x20\\x91\\xe8\\x3c\\x31\\x9e\\xcf\\xf6\\x7b\\x93\\x40\\x2a\\x3d\\x00\\xd7\\x6a\\x4d\\x66\\x83\\x1e\\xd8\\x94\\x11\\x89\\x26\\x31\\x55\\xe4\\x75\\xbc\\x28\\xaa\\x54\\x3c\\xad\\x55\\x84\\xaa\\x6d\\x42\\x35\\x8d\\x2f\\x71\\x19\\x6c\\xa9\\x57\\x38\\xb7\\xbc\\xac\\xe7\\xf8\\xe1\\x83\\xe6\\x1f\\x3b\\xfa\\x0c\\xb9\\x80\\x7f\\xc3\\xfd\\x26\\x0c\\x1f\\x33\\x63\\xc5\\xd1\\xf3\\x5c\\xb7\\x55\\x54\\x76\\xdc\\x06\\xf9\\x38\\x9c\\xd6\\x66\\x41\\x7f\\xb2\\x3e\\x4c\\x86\\xef\\x3d\\x58\\x8d\\x87\\x76\\x81\\x4c\\xa7\\xcb\\x80\\x6c\\x26\\xa3\\xd1\\x26\\xbb\\x04\\x9a\\xa0\\x14\\x1b\\x04\\x9b\\x01\\x05\\x8c\\x96\\x0e\\x08\\x69\\x5c\\x46\\xbb\\x06\\xd6\\x0f\\x80\\x7e\\x5c\\xfe\\x4f\\x3f\\xb3\\xb7\\xd5\\xa8\\x7e\\x47\\xbd\\xc9\\x94\\xf4\\x85\\xc0\\x82\\xb0\\x8f\\x87\\xfd\\x4f\\xa1\\x3d\\xe7\\xef\\x9d\\xdf\\x24\\x2f\\xd9\\xef\\x4b\\x18\\x92\\xde\\x79\\x58\\xcf\\xa6\\xf8\\xf0\\xd9\\xab\\x9a\\x5c\\x55\\x72\\x11\\x09\\x9f\\xe1\\xdf\\xbc\\x3d\\x2c\\x4b\\xb7\\x58\\x65\\x2a\\x5a\\xb4\\xfd\\xfe\\x93\\x5c\\xcb\\x84\\xa7\\xd2\\xfb\\xcd\\x0b\\x5d\\xa0\\xfd\\xdb\\x0e\\xeb\\x3c\\x17\\xe6\\x28\\x19\\x15\\x06\\x12\\x92\\x38\\x0e\\x3b\\x35\\x1a\\xc0\\xb6\\x29\\xa9\\x46\\xc9\\x23\\x95\\x05\\x9d\\x36\\x8f\\x43\\x83\\x8d\\x8c\\x9c\\x68\\x4e\\xe7\\x5a\\x04\\xc5\\x4c\\x7f\\x66\\x7f\\xf5\\xb9\\x4c\\xfc\\x79\\x1e\\x7b\\x35\\x6f\\x7f\\xf9\\xd1\\xe9\\x95\\xeb\\x8e\\xfb\\x72\\xdc\\x49\\x2d\\x1b\\xf6\\x2f\\x17\\xf9\\x31\\x17\\x5a\\x8f\\x4b\\x21\\x7d\\xc4\\xaf\\x42\\x3d\\x9e\\x78\\xf2\\xf9\\x3d\\xdc\\x94\\xaa\\x0f\\x3a\\xb7\\x53\\x2d\\xb0\\x0d\\x1a\\x76\\xb1\\x6e\\x26\\x49\\x84\\x3e\\x0d\\x80\\x39\\x2b\\x80\\x3e\\x19\\x68\\x4d\\x40\\x81\\x97\\x25\\x11\\x26\\x45\\x94\\x79\\xa3\\x49\\x27\\x1a\\x65\\x41\\x29\\x96\\x5e\\x2b\\x63\\x2f\\x00\\x26\\xd0\\x6e\\x30\\x85\\x4b\\x59\\x7e\\x87\\x50\\xf0\\xf7\\x8b\\x87\\xc8\\x88\\xd7\\x70\\xe7\\x8d\\x8f\\x37\\x3a\\xda\\x98\\x2f\\x3d\\x46\\xda\\x7d\\x29\\x34\\xa9\\xaa\\x38\\x8d\\xbb\\xed\\x5d\\x36\\x3e\\x92\\x3b\\xfc\\x1c\\xd9\\x2a\\xf8\\x60\\x6d\\x1a\\x02\\xb6\\xf7\\x24\\x22\\xbb\\x2a\\x3b\\x3d\\xdd\\xe2\\xa2\\xa2\\x19\\xa9\\x1a\\xe5\\x09\\x2e\\xb7\\xcb\\xdd\\x3d\\x58\\x3f\\xf5\\x14\\xd6\\x9c\\x08\\xba\\xea\\xbb\\xea\\x9b\\x32\\x81\\x07\\x9c\\x8c\\x14\\xb3\\x43\\xd5\\x10\\xbf\\x98\\x9d\\x04\\xd6\\x2e\\x76\\x64\\x6d\\xdc\\x02\\x47\\x18\\x58\\x61\\xbe\\x2c\\x52\\x17\\x55\\x41\\x31\\x2d\\x48\\x82\\xfd\\x41\\x66\\x71\\x6e\\xe6\\xd7\\xbb\\x8f\\xbe\\xb9\\xf6\\xe9\\xc4\\x30\\x1a\\xc4\\x7d\\x4e\\x42\\x9f\\xbf\\xf9\\xcb\\x7d\\x72\\x79\\xe2\\xf8\\x59\\x1b\\xa6\\xb5\\xa6\\x2c\\x63\\xfa\\xd6\\x43\\x27\\xfb\\xe2\\x21\\x8f\\x9d\\x9b\\xef\\xe0\\xb4\\xab\\x1f\\x1b\\x53\\xe9\\x51\\x61\\x79\\xd5\\xf2\\x94\\x99\\x15\\x83\\xc7\\x99\\x17\\x25\\x5f\\x58\\xd3\\x6d\\x44\\x42\\x72\\x7a\\x8b\\x41\\xed\\x2a\\x18\\xf7\\x28\\x6c\\x97\\x9c\\x36\\x68\\xa5\\x82\\xbf\\x62\\xb5\\xe0\\x51\\x0f\\x36\\x6e\\x07\\x7c\\xdf\\x03\\xf3\\xcb\\x6a\\x3b\\x1b\\x1c\\x7a\\x5a\\x24\\xcf\\x6b\\x40\\x8e\\x24\\x47\\x59\\x30\\xc9\\x68\\xb1\\xab\\x81\\x0c\\xd5\\x8e\\xb8\\xda\\xce\\x35\\xd2\\x68\\x99\\x6b\\x6c\\x08\\xbb\\x09\\xe4\\x9f\\xa5\\x39\\xad\\xf8\\x00\\x92\\xda\\x0f\\x02\\xe7\\x93\\xec\\xc6\\x29\\x3e\\x5b\\xd7\\x56\\x53\\x46\\x90\\x15\\x6d\\x5e\\xcd\\xaa\\x5b\\xb6\\xd0\\xe1\\x7a\\xb4\\x31\\xff\\x31\\x7f\\x24\\x34\\xa8\\x4b\\x5b\\x58\\xe8\\x49\\x4b\\xb9\\xcb\\x1d\\x42\\xfb\\xc9\\x7f\\xb6\\xe1\\x4b\\x7f\\x94\\xb9\\xf4\\x9b\\x74\\x66\\x96\\x3b\\x17\\xed\\x00\\x5a\\xec\\x29\\x74\\x03\\xe4\\x9e\\x8c\\x1a\\x05\\xdc\\x6e\\xa0\\x44\\x2b\\x75\\x5a\\x48\\xa5\\xa5\\xf9\\x8c\\x26\\x4d\\x02\\x0f\\x4c\\x59\\xe2\\xa3\\xd9\\xa8\\x4b\\x72\\x6a\\xb2\\x36\\xa5\\x5e\\x47\\x04\\x50\\x50\\x8c\\x64\\xa1\\xe7\\x94\\xa9\\x6e\\xcc\\xb0\\x84\\xd0\\xf3\\xb7\\x8b\\x8f\\xee\\x6c\\x23\\x08\\xc7\\x7f\\xfd\\x78\\xd5\\xcd\\x79\\x17\\x0e\\xaf\\x21\\x7f\\x34\\x7d\\xa6\\xf7\\xfc\\x15\\x9c\\xf0\\x13\\xf9\\xa4\\x65\\x69\\xb3\\x12\\xd2\\x87\\xff\\xe9\\x1e\\xb6\\xaf\\x25\\xbf\\xed\\xff\\xf0\\x47\\x32\\x9d\\xbc\\xde\\xa1\\xf3\\xdf\\xd9\\x7c\\xbd\\x48\\xb6\\x0b\\x75\\x80\\xdf\\xa6\\xa3\\xd6\\x01\\x2f\\x9f\\x90\\x66\\xd5\\x25\\xe8\\x32\\x32\\x39\\xd9\\x22\\xa7\\x01\\x51\\x0a\\xb2\\xd3\\x99\\x62\\xf4\\xf9\\x52\\x52\\x40\\xd2\\xa5\\x98\\x8c\\x8a\\x9c\\x50\\x98\\x09\\x35\\x2e\\x47\\xb6\\x70\\x75\\x1d\\x55\\x5a\\x5a\\x3e\\x92\\x39\\x5e\\x52\\xd6\\x3f\\x92\\xcb\\xc9\\x12\\x39\\x45\\xe4\\x5e\\xdc\\x74\\xb8\\xf9\\x93\\x5b\\x8b\\x67\\x0e\\x6b\\x99\\x9e\\x0b\\x4b\\xdf\\x78\\xcc\\xdc\\xd7\\x8e\\xf6\\x7a\\xe2\\xab\\xf5\\x93\\x4e\\xb7\\x98\\x34\\x85\\xbf\\x40\\xbe\\xfb\\x47\\x8f\\x47\\xbb\\x37\\x30\\x67\\x36\\xeb\\xd7\\xa6\\xde\\xb8\\x6e\\x74\\xb9\\xd3\\xfc\\xf5\\x52\\x1b\\x4e\\x38\\x58\\xf9\\x22\\x2e\\xde\\x56\\xda\\x69\\xf2\\x5c\\x36\\x9f\\x03\\x68\\x7d\\x19\\x58\\x67\\x13\\x6c\\xdf\\x86\\x01\\xb7\\x93\\x86\\x67\\xe8\\xad\\x12\\xe0\\x0c\\xad\\x4d\\x6d\\x83\\x35\\x36\\xf2\\xee\\x6a\\xac\\x56\\x43\\x4d\\xa2\\xd3\\x19\\xb1\\x74\\xd4\\xa5\\x31\\x4c\\xf6\\x64\\x2c\\x37\\xce\\x62\\x65\\xfb\\xbd\\x30\\x97\\x05\\xe4\\xfe\\xd7\\x3f\\x87\\x11\\xae\\x87\\x1d\\x5c\\xee\\xb6\\x0d\\x3d\\xdb\\xbc\\x36\\x27\\xf8\\xca\\x07\\x38\\xfb\\xa9\\xa7\\xf1\\x0f\\xbf\\x90\\x5f\\xb1\\x9b\\xd6\\x6d\\xc2\\x19\\xab\\x24\\x61\\xde\\xdf\\xa6\\xde\\xfd\\xe0\\xd3\\xb7\\xc9\\xd0\\x0b\\x28\\xc6\\x93\\x13\\xa1\\x4f\\x34\\x9e\\xc2\\x65\\x54\\xa9\\xb4\\x5a\\xde\\xe1\\x70\\xb9\\xad\\xc0\\x95\\xad\\x0e\\x0d\\x62\\x68\\xc1\\xf8\\x60\\xda\\x2d\\x96\\x66\\x31\\x46\\x63\\x5e\\x25\\x80\\x31\\x72\\x00\\x8c\\xd7\\xf6\\xd8\\x40\\x49\\x8c\\xfb\\x80\\x3c\\x31\\xa7\\xa8\\xcc\\x39\\xb9\\xa8\\x72\\x3a\\x7f\\x44\\xa1\\xab\\x50\\xcf\\x65\\x9a\\x45\\x92\\x61\\x7a\\x25\\x77\\x59\\x79\\x7e\\xa4\\xfe\\x28\\xb2\\xa1\\xdc\\x80\\x4b\\x2d\\x51\\x99\\x65\\x77\\x18\\xf9\\x14\\x9e\\x33\\x89\\x66\\xd9\\x18\\x27\\xb0\\x4a\\xe2\\x16\\x2e\\x26\\xa8\\x58\\x51\\x0b\\x3a\\x05\\xf9\\x8d\\x39\\xe0\\x33\\x16\\xa1\\xcd\\x9f\\x3f\\x7c\\x75\\xed\\x65\\x6c\\xdc\\xbc\\xa2\\x63\\xdd\\x57\\xf3\\x9b\\x70\\x4d\\xc9\\xbf\\xc9\\xd5\\x7f\\x7c\\xc1\\x3d\\x15\\x1a\\x4a\\x3e\\xfb\\xf4\\xfb\\x85\\xd8\\x5f\\x3a\\x8d\\xdc\\x56\\x74\\x04\\x5a\\x0b\\x67\\x8b\\xd0\\x03\\x64\\x41\\x2a\\x6a\\x1b\\x48\\x37\\xa9\\x53\\x04\\xc1\\x22\\xba\\x81\\xb7\\xe9\\xd5\\x82\\x37\\x4d\\x9f\\xe8\\x48\\xec\\x1e\\xd4\\x39\\x4c\\x29\\x16\\x09\\x84\\x27\\x2f\\xd9\\x85\\x84\\xea\\x42\\xff\\x0f\\xad\\x4c\\x04\\x7d\\x92\\x81\\xda\\x69\\x69\\x22\\x0b\\x85\\x4d\\x76\\x18\\x04\\xc5\\x4b\\x8c\\xf2\\xd3\\xdc\\x38\\x5d\\xd8\\x72\\xff\\xce\\xae\\xef\\xef\\x7e\\x7c\\xde\\x3e\\x6b\\x19\\x6e\\xfc\\xf4\\xc6\\x5d\\x27\\x0f\\xf6\\xef\\xbe\\x11\\xb7\\xe4\\xf2\\xc9\\x1d\\xf2\\xa9\\x9e\\x8c\\xc6\\x4f\\x69\\x41\\x07\\xd0\\x7d\\x8d\\x73\\xbc\\xcb\\x13\\x6f\\x3e\\x47\\x2a\\x4c\\x5c\\x9b\\xd7\\xaf\\x93\\x7f\\xfd\\x7e\\xee\\x0b\\xf2\\x45\\xe8\\xb4\\x9e\\xce\\x59\\x13\\xc0\\xcd\\xab\\x84\\x32\\xd0\\x01\\x86\\x04\\x9a\\x63\\x8e\\xd3\\x98\\x2d\\x16\\xbb\\xcd\\x66\\x35\\x21\\x5e\\x23\\x39\\x9c\\x66\\xa3\\x60\\xea\\x69\\x1a\\x66\\xe2\\xcb\\xd1\\x04\\xc4\\xe5\\x80\\x3a\\xcc\\xb9\\x11\\xd6\\x23\\xc0\\x80\\xc8\\xca\\x9b\\x04\\xd0\\xca\\xe5\\xb2\\xa0\\xce\\x64\\xc7\\x09\\xd1\\x32\\xe7\\xce\\x62\\x6a\\x27\\x84\\x3f\\xae\\x92\\x9a\\xea\\x2f\\x00\\x40\\x7a\\x0a\\x17\\xcd\\x24\\x0f\\xdb\\xc1\\x4a\\x53\\xc8\\xfa\\xb8\\x29\\x64\\xe3\\xab\\xf8\\x93\\xb3\\x4d\\x07\\xf9\\x53\\x92\\xd2\\x0a\\x3b\\xf6\\x9b\\xd3\\x6b\\x0f\\xce\\x3c\\x43\\x26\\xe3\\xe3\\x67\\xef\\x84\\x46\\xf3\\xc5\\xb8\\xcf\\xa3\\x13\\x8d\\x8b\\xdc\\xe3\\xb7\\x93\\x6b\\x5c\\x42\\xa8\\x7d\\xd5\\xa7\\xd0\\xef\\xbe\\x30\\xdf\\x93\\xc4\\x66\\x40\\x6b\\x80\\x51\\x90\\x46\\x63\\xd7\\x5a\\x8c\\xbc\\x04\\xba\\x39\\xef\\x72\\x3b\\x1c\\x82\\xc9\\x88\\xec\\x3a\\x3b\\x6c\\x03\\x9d\\x43\\x13\\x3f\\xd1\\xfe\\xdc\\xda\\xd6\\x82\\x0c\\x5a\\x65\\x1b\\x84\\x9b\\x44\\x27\\xbb\\x81\\xf2\\x19\\xc6\\xed\\xe7\\x8e\\xef\\x9e\\xbb\\xf3\\x83\\x1f\\x77\\xdd\\xfe\\x60\\xf7\\xec\\x5d\\xbb\\x26\\x73\\x1b\\x8e\\x70\\x4b\\x43\\x73\\x7e\\xfb\\x98\\x23\\x8f\\xe2\\x8d\\xdc\\xc7\\xbf\\x71\\x8b\\x43\\xb3\\x0e\\xaf\\x13\\x85\\x77\\x14\\xda\\xcb\\x07\\xda\\xdb\\x02\\xfc\\xad\\x2e\\xea\\x11\\xc8\\xb1\\xa2\\xe4\\x2c\\xaf\\x1a\\x50\\x49\\x96\\xd7\\x23\\xe9\\xf5\\xc9\\x59\\x1e\\x21\\x3b\\xa7\\x4e\\x1d\\xa7\\x86\\x4f\\x77\\xa6\\x97\\x05\\xe9\\xb9\\x1c\\x67\\x35\\x39\\x1d\\x49\\x1a\\x13\\x93\\x77\\x51\\xd4\\x59\\xab\\xb2\\x91\\x85\\x65\\x64\\x29\\x8e\\xe0\\x14\\xaa\\x31\\x65\\x15\\x3a\\x2c\\x91\\xda\\x45\\x4a\\xf5\\xb0\\xfc\\x08\\x6d\\xb0\\x0b\\x9a\\x63\\x3f\\x77\\x72\\x40\\xc7\\xf6\\x9d\\x47\\x0e\\x4e\\xd9\\x7e\\x6a\\xcf\\xaa\\x61\\x8b\\x5d\\x82\\x6b\\xc9\\xd0\\x95\\x7b\\x4f\\xee\\x48\\x19\\x3c\\xb2\\x73\\xfb\\xce\\xfd\\x77\\xe2\\x0b\\x5b\\x4f\\x7c\\x78\\xf6\\xe2\\x8f\\x9e\\xa5\\xa9\\xe4\\xb5\\x6f\\xff\\x4b\\xbe\\x58\\x3f\\x63\\xe6\\x3a\\x9c\\xfa\\xc7\\x37\\xb8\\xb5\\x77\\xa9\\xe7\\xbb\\xb7\\x5f\\xfb\\xe8\\xe4\\x96\\xaa\\x6a\\x9d\\x7a\\x76\\x54\\xa7\\x46\\x63\\x6e\\x82\\x9e\\x7c\\x82\\xa3\\x3a\\x35\\x55\\x94\\x3f\\x3c\\x6e\\xb3\\x44\\x0c\\xd8\\xd5\\xb6\\x00\\xb6\\xff\\xd8\\x3d\\xd3\\x6a\\xdc\\x63\\x57\\xee\\xf9\\xe4\\x38\\xb0\\x29\\x54\\xeb\\x1e\\x26\\xbf\\xa8\\xee\\x4e\\xe5\\x57\\x9c\\xfd\\xc0\\x05\\xf7\\x34\\x75\\x25\\x44\\x0e\\x37\\xe2\\x74\\x77\\xa6\\xe7\\x2b\\xba\\x7b\\x91\\x4d\\xd1\\xf3\\xa1\\x7d\\x2c\\xda\\x5d\\x35\\xae\\x65\\xeb\\xc1\\xae\\x9d\\xa5\\x5c\\x5b\\x5f\\xb9\\x36\\x1b\\xae\\xcd\\xc9\\xae\\xef\\xd1\\x47\\xaf\\x05\\xcc\\x4b\\xfb\\xd0\\x19\\xb0\\x42\\x02\\x68\\x40\\x0d\\x51\\x45\\xa0\\x08\\xd5\\xe7\\xea\\x70\\xe6\\x3a\\xce\\x34\\x8d\\xc6\\x69\\xe6\\x1b\\xe5\\xc9\\x19\\x65\\xc1\\x5c\\x0f\\x28\\x6e\\x48\\x36\\xc9\\xa9\\xf2\\x8b\\xf2\\x79\\x59\\x54\\xf3\\x72\\xae\\x9c\\xab\\xb7\\xd9\\x72\\x00\\x97\\x63\\x7d\\x4a\\xf7\\xa0\\xbe\\x76\\x51\\x41\\xd8\\x07\\xc5\\x39\\x39\\x35\\x57\\x94\\xae\\x26\\xab\\x21\\x83\\x63\\x9e\\x95\\x54\\xeb\\xf7\\x46\\xbe\\xf0\\x71\\x7e\\x1c\\x4c\\x5d\\xa6\\x21\\x1b\\xb8\\x73\\x96\\x90\\x7f\\x72\\xcc\\xbf\\x7e\\xfe\\xed\\xb3\\x23\\x5f\\x8d\\x23\\x18\\xef\\x3e\\x75\\x72\\xe3\\xc1\\xca\\x0d\\x8b\\x97\\xad\\x5b\\xb5\\xfc\\xf1\\x75\\xf8\\xfd\\xc1\\x8f\\x1c\\xed\\x3d\\x6d\\xdb\\x21\\x21\\xbb\\x72\\x73\\x49\\x51\\x59\\xff\\xeb\\xef\\xbd\\xff\\xd5\\x53\\xb8\\x05\\xf6\\xe2\\xd9\\x78\\xc2\\xf2\\x59\\x93\\x97\\x84\\xde\\x5a\\xb7\\x65\\xc7\\x9a\\x35\\x9b\\xb6\\x70\\xcf\\x14\\x36\\x5b\\xd3\\x8d\\xf2\\xab\\x86\\x30\\xe6\\xe9\\x30\\xe6\\x1c\\xe4\\x87\\x11\\xdb\\xdd\\x26\\xb9\\x51\\xba\\x5d\\x5b\\x2f\\x35\\x35\\x1b\\x63\\x6d\\xba\\x2c\\x34\\xce\\xb7\\xe8\\x69\\x29\\x9d\\x84\\x20\\x4e\\xad\\x07\\x3a\\x6b\\x76\\x3d\\x0b\\xfc\\x15\\xb3\\xb2\\x72\\xbb\\x07\\xb3\\x30\\x2d\\x53\\xf6\\x60\\x0d\\x45\\x7f\\x7c\\x6d\\x57\\x7f\\x0d\\x9f\\x75\\x1b\\x27\\xd1\\x0a\\x8a\\x85\\x30\\xb4\\xe8\\xee\\xaf\\x2e\\x4d\\x6d\\xc9\\xcf\\x4c\\x57\\xfc\\x6c\\x2c\\x56\\x3f\\xe3\\x6e\\xf0\\x7b\\x61\\xfa\\xe0\\x25\\xdf\\x6f\\x22\\x1f\\xba\\x5c\\x4d\\x1a\\x55\\xb8\\xc6\\x74\\x1b\\x38\\xca\\xe5\\xee\\xd1\\x6e\\xe4\\xd3\\x83\\xde\\x26\\x5f\\x3e\\x71\\xe5\\xd0\\x1b\\x57\\xc5\\xc1\\xe1\\xc5\\xd3\\xde\\xff\\x91\\xfb\\xe3\\x73\\xb2\\xf6\\x3c\\xd6\\x35\\x1a\\x38\\xd0\\xd7\\xac\\xd1\\xca\\x82\\xa1\\x7d\\xf3\\x06\\x0e\\xcc\\x6b\\xd5\\x71\\x07\\x6e\\x7a\\x94\\x1f\\x7c\\x64\\xda\\x96\\xe3\\xe4\\x1a\\xf9\\x02\\x5f\\x26\\x97\\x67\\x2f\\xa2\\xa7\\x5c\\xc0\\x91\\x4b\\xc4\\x7e\\x20\\x23\\x8a\\x02\\x09\\x00\\xd7\\xcd\\x7a\\x5e\\xa7\\xd3\\xeb\\xed\\x0e\\x83\\xd6\\x6c\\xd6\\x1b\\x79\\xbd\\x05\\xc9\\xd5\\x76\\xbc\\x92\\x68\\xea\\xf9\\x88\\x6d\\x57\\x89\\x49\\x8c\\xa9\\xac\\xb2\\x72\\x0e\\xa6\\x86\\xb9\\x16\\x06\\xb7\\x1c\\xda\\xa4\\x7f\\x42\\x7e\\x66\\x4e\\xbe\\x83\\x1c\\x78\\x95\\x24\\xbe\\x87\\xa7\\xe1\\xc4\\x46\\x33\\xc5\\x7e\\xd9\\x8d\\x16\\x3a\\x7d\\xf5\\x7c\\xa1\\x1b\\x91\\x53\\xb1\\x1d\\xf8\\xa3\\xb2\\xde\\x94\\xf6\\xc9\\x6c\\xd6\\x97\\x2b\\x40\\xa3\\x0b\\x11\\xad\\x7a\\xd1\\x28\\xb4\\x30\\x7a\\x0e\\x24\\x96\\x50\\x3b\\x1c\\xfd\\xbd\\x59\\x56\\xb7\\xc3\\x34\\xbf\\x25\\xdd\\x49\\x89\\x22\\xdb\\x49\\x6f\\x1f\\xf7\\xb8\\x8c\\x7c\\xf5\\x4e\\xa2\\xfb\\x08\\xf8\\x61\\x47\\x96\\x57\\xb1\\x98\\xc9\\xa3\\x3a\\xe1\\x1f\\x84\\xfd\\x20\\x0b\\x69\\xad\\xcf\\x47\\x02\\xf5\\x92\\x2c\\xda\\x8c\\x8c\\x34\\x97\\x24\\xa5\\x59\\xf8\\x3a\\x75\\x1d\\x29\\xc6\\x14\\xe0\\xda\\x46\\xe4\\x33\\xf9\\x38\\x35\\xef\\xf3\\x21\\xb5\\xd1\\x91\\xc0\\xdb\\x91\\xbd\\xba\\x6a\\xaf\\x5f\\x51\\x53\\x80\\x86\\x2d\\xc5\\x35\\xc4\\x93\\x25\\x92\\xa6\\xc1\\xee\\x8b\\xd4\\x51\\xe3\\xa3\\xac\\xa8\\xd0\\x87\\xf3\\xcc\\xa6\\x2c\\xaf\\x64\\x36\\xc5\\x54\\x86\\x3a\\xc2\\xdc\\xb9\\xfe\\xe6\\x7b\\x36\\xbe\\x9d\\x27\\xb8\\xa7\\x8d\\xd9\\xb0\\x77\\xe2\\x1c\\x3e\\x63\\xd7\\xf0\\xd0\\x99\\x61\\xbb\\x3b\\x74\\xdb\\xd9\\x5d\\x68\\xf2\\x64\\xdf\\xef\\xe7\\xfd\\x41\\xee\\x62\\x6d\\xe5\\x93\\x58\\x73\\xff\\xa7\\x0f\\xab\\xde\\xc6\\x53\\xb1\\xf6\\xf4\\x49\\xf2\\x5f\\xb2\\xf4\\xb9\\x1d\\x78\\x30\\xd9\\xb9\\xfd\\x79\\xca\\x5f\\x0b\\x60\\x7c\\x6b\\x85\\x16\\xa8\\x3e\\x9a\\x18\\x48\\x36\\x1b\\x38\\x83\\x00\\xc2\\x4a\\xad\\x16\\xea\\xdb\\xb2\\xb3\\x9d\\x59\\x09\\x09\\x4e\\xab\\xcd\\xe6\\x14\\x9c\\x0d\\x72\\xb3\\xdc\\xac\\x22\\x56\\x96\\x23\\xd9\\xa7\\x94\\xee\\x4f\\x4e\\xb4\\x20\\xce\\x6a\\xd4\\x4a\\xec\\xf7\\x5a\\x23\\x67\\x8f\\x78\\xa0\\xc1\\x66\\xac\\x51\\x04\\x2b\\xf6\\xd7\\x52\\x1c\\xf7\\x91\\xda\\x83\\xbc\\x16\\x73\\x1c\\xd9\\x72\\xb2\\x13\\x7b\\x25\\x00\\x7a\\x34\\xa1\\xbb\\x29\\x5a\\x49\\xa2\\x39\\xa6\\xea\\x80\\xa5\\x90\\x1f\\x11\\xba\\x46\\xfe\\xf3\\xd3\\xf4\\xa4\\xa2\\xb4\\x56\\x9d\\xe7\\xcc\\x2a\\x48\\x17\\xb9\\x54\\xac\\x9f\\x30\\x73\\x7a\\x76\\xde\\xcf\\x81\\xd6\\x39\\xf9\\x85\\x45\\x43\\x07\\xe7\\xa7\\xf1\\x29\\x55\\x5f\\xe2\\x32\\x3c\\xfa\\x5b\\xc3\\x16\\xeb\\xe6\\x97\\xa7\\x92\\x9f\\x3a\\x72\\x7c\\xc2\\x26\\xb2\\xe2\\xdc\\xb7\\x7a\\xf2\\x1d\\xf9\\x87\\x6e\\xb7\\xbe\\x4d\\xf7\\x61\\x86\\x8d\\xcf\\xac\\xc0\\x8e\\x56\\x6c\\x3d\\x47\\xc0\\xf8\\xe9\\x19\\x98\\x01\\x10\\x06\\x20\\x7b\\xab\\x01\\xf4\\x28\\xa3\\x46\\xd0\\xb8\\x3d\\xb2\\xb9\\x3c\\x28\\x0b\\xd8\\x51\\x11\\x04\\xb1\\x6c\\x45\\x25\\xef\\xf9\\xe3\\x07\\x15\\x2d\\x30\\x4b\\x71\\x04\\x3b\\xd9\\x32\\x53\\x58\\x61\\x8d\\x1d\\x6f\\x71\\xaa\\x77\\x3f\\x55\\x6a\\xcb\\x7e\\x7a\\xe9\\x93\\x58\\x75\\xd9\\x3e\\x78\\x7b\\x0a\\x1e\\x8c\\x0b\\xa2\\x95\\x65\\xc9\\x87\\x64\\x7b\\x1a\\x19\\x2a\\xf4\\xa8\\x3e\\xdd\\xa2\\xbe\\x28\\x94\\xe6\\x00\\x3b\\x1b\\x90\\x07\\xf9\\x03\\x1e\\x7b\\xb4\\x4f\\x09\\x89\\xb2\\x05\\xa0\\x9e\\x09\\xbb\\x80\\x29\\x62\\x07\\x4a\\xac\\x2e\\xe9\\xf7\\x40\\xa7\\xf2\\x59\\x2f\\x58\\xc5\\x64\\x6b\\x7c\\xbe\\x3f\\xd5\\xd9\\x4b\\xa1\\xef\\xee\\xfe\\xf4\\xce\\xeb\\x1f\\x3c\\xbe\\x65\\xcb\\xba\\x35\\x6b\\x76\\xae\\x82\\x4e\\x6d\\x4b\\xc4\\x29\\xbf\\x80\\x62\\xec\\x26\\xb7\\xc8\\x37\\xbf\\x93\\xaf\\x13\\xc8\\x70\\xfe\\xed\\x4f\\xff\\xfe\\xd1\\xb5\\x8f\\xfe\\xf9\\x09\\xd0\\xc8\\x24\\x76\\x3e\\xda\\x0f\\x30\\x41\\x51\\x20\\xc9\\xc4\\x3b\\x9c\\x1a\\xb5\\xda\\xc9\\x03\\x20\\xb0\\xa2\\xf2\\xa0\\x55\\x63\\xd5\\x48\\x4e\\x8b\\xa4\\x2f\\x0f\\x4a\\x42\\xb4\\x48\\x48\\x71\\xed\\x0a\\xca\\x98\\x9e\\x0a\\xd7\\x76\\x77\\x29\\x34\\xfb\\xb8\\xc6\\x5f\\xdc\\xc4\\x69\\x77\\xf7\\xff\\xd0\\xe6\\x40\\xd6\\xf6\\x51\\xbb\\x9e\\xdf\\xf3\\x42\\x93\\x06\\xe7\\x70\\xa2\\x1d\\xeb\\xef\\xfd\\x81\\x1b\\xec\\x3d\\xd2\\x72\\xda\\xbc\\xb7\\xce\\xbe\\x7d\\x56\\x43\\x5a\\xd2\\xda\\xb4\\x30\\x2f\\x05\\x30\\x2f\\xf5\\x50\\xe7\\x80\\xd1\\xa1\\x06\\x2e\\x83\\x52\\x53\\x33\\xd5\\x7c\\xfd\\x06\\x42\\xa4\\x4a\\x9b\\x60\\x12\\x4c\\x3e\\x9d\\x2f\\x5b\\xf9\\xe6\\x4b\\x64\\x55\\x2b\\x4d\\xb5\\x3d\\x50\\x6b\\x5a\\x03\\x45\\xa6\\x4a\\xf0\\xf9\\x35\\xbd\\x71\\x92\\x39\\x45\\xd9\\xa0\\x90\\x20\\x9f\\x29\\x43\\x7c\\xdf\\x06\\xfd\\xc7\\x6e\\x3d\\x34\\xb2\\x00\\x0b\\xbf\\xbc\\xf4\\x63\\xea\\x79\\xd3\\xfc\\xa9\\x3b\\x37\\x14\\x0e\\x5b\\xdd\\xa7\\xc5\\xcc\\xf2\\x26\\xdf\\xdc\\x1a\\x71\\xac\\xf1\\xac\\xad\\x1d\\x17\\x2f\\x9e\\x9e\\x5d\\x98\\x6e\\x75\\x97\\x4d\\x3f\\x32\\x19\\x9b\\x71\\xf2\\xc1\\xad\\x86\\x7e\\x63\\x2e\\x7d\\x3e\\x6e\\x6e\\x7b\\x9f\\x45\\x9f\\xda\\x62\\x78\\x8f\\xad\\x7b\\x92\\x1d\\x07\\x72\\x92\\x58\\x9d\\xec\\x8b\\x30\\xaf\\xcd\\x99\\x8f\\x05\\x60\\x2d\\x8d\\x8a\\xc7\\xb2\\x92\\x53\\x4a\\xa7\\xa7\\x87\\x70\\x02\\x66\\xc9\\x63\\x61\\x8a\\xd5\\xbc\\xca\\x52\\xbb\\x38\\x75\\x71\\x71\\xdc\\x4e\\xc2\\x66\\x2f\\xef\\xcb\\x67\\xc7\\x73\\x76\\xbc\\x80\\xdb\\x87\\x5f\\x26\\x96\\x73\\xfc\\x6c\\xe1\\x20\\xb1\\x90\\xb5\\x1f\\x86\\xbe\\x62\\x67\\xd5\\x18\\xab\\x01\\x93\\x7a\\x58\\xdd\\xd8\\x40\\xc0\\xc0\\xa9\\x54\\xa2\\x20\\xa8\\xb5\\x6a\\x2d\\x2d\\x1a\\x4b\\x27\\xcc\\x18\\x14\\x39\\x91\\x53\\x6b\\x34\\xb8\\x2c\\xa8\\x31\\xaa\\x13\\x1e\\xf2\\xc8\\x58\\xe9\\x58\\xcc\\x1c\\x37\\x94\\x47\\x0a\\x9e\\xd0\\x5e\\x2e\\xe7\\x69\\x32\\xe5\\x38\\x6f\\xe6\\x8f\\x00\\x96\\x7f\\xe9\\x74\\x55\\xb9\\xf8\\x6f\\xc5\\xdf\\xfa\\xf7\\xf0\\x8f\\xc2\\x0f\\xe2\\x7b\\x28\\x1b\\x75\\x0a\\xa4\\xd7\\x75\\x38\\x32\\xdd\\x66\\x84\\x0c\\xbc\\x9b\\xcf\\xa9\\x67\\xce\\xae\\x6b\\xcf\\x86\\xbf\\x69\\xda\\xb4\\xa4\\xf2\\x60\\x1a\\xd6\\xc2\\xa0\\xb5\\xd6\\x07\\x84\\x9f\\xd9\\xff\\x60\\x56\\x5f\\xca\\x25\\xaa\\x35\\x6a\\xe0\\x0e\\x92\\x4c\\xdd\\xa3\\x2d\\xf9\\xb1\\x7a\\x4a\\x79\\x8c\\x89\\xca\\x58\\xe8\\x93\\x51\\x52\\xd2\\x34\\xa5\\x69\\x7a\\xa0\\xe7\\xc2\\x65\\x29\\xf6\\x25\\x3f\\xdf\\x5c\\x93\\x94\\x1a\\xb0\\xd5\\xcf\\x4a\\x6d\\x02\\xbf\\xea\\xf7\\x68\\x5e\\xb2\\x85\\xfb\\x56\\x28\\xdd\\x40\\x9a\\x6f\\x18\\x36\\xce\\xb8\\xcb\\xb6\\xe7\\xe8\\x54\\x6c\\x1d\\x3e\\x68\\xfb\\xc6\\x11\\xda\\xb9\\xf8\\xd6\\x73\\xbd\\xba\\xd5\\x87\\x5f\\x76\\x7c\\xa2\\x72\\x3a\\x79\\xa7\\x0f\\xfe\\x4e\\xc1\\xa4\\xb3\\x98\\x7d\\x6a\\x01\\x52\\xa3\\xf4\\x80\\x59\\x25\\xf2\\x48\\xa4\\x95\\x48\\x84\\x1e\\x41\\x95\\x8a\\xba\\x93\\x95\\xbc\\x51\\x9c\\x1b\\x7f\\x70\\x0a\\x50\\xdc\\xea\\xcd\\xc7\\x7e\\xde\\x2b\\xf4\\x20\\xb7\\x2f\\x7e\\x17\\x72\\x60\\xdb\\xc5\\xef\\xb8\\x5b\\x5c\\x55\\x48\\xe0\\x56\\x34\\xe2\\xde\\x08\\x29\\x71\\x3e\\xa8\\x0e\\x09\\x0a\\x8f\\xc1\\x3e\\x4b\\x46\\x43\\x03\\x8d\\xcd\\x06\\x9d\\x5a\\x50\\x39\\x9d\\x2e\\xa3\\x89\\x17\\xa0\\x79\\xea\\x75\\x63\\x72\\x89\\x29\\xa9\\x5a\\x8d\\x4e\\x6d\\x32\\x1b\\xd4\\x1a\\x83\\xd1\\xa9\\x31\\x3a\\x9d\\x46\\x0d\\xcf\\x27\\x24\\xd8\\xca\\x83\\x09\\x42\\xc4\\x55\\x89\\xc5\\xd2\\x31\\x88\\x1b\\x89\\x57\\x34\\xd7\\x2c\\xeb\\x69\\x66\\x01\\xef\\xd8\\x84\\x44\\xd0\\xa4\\x2d\\xcd\\xb1\\x98\\x85\\x33\\xb3\\x70\\x16\\x56\\x64\\x2f\\x33\\x93\\x09\\x16\\xe1\\x31\\xe0\\x5a\\xcf\\x15\\x5e\\xfe\\x62\\x24\\x29\\x6f\\x8e\\x3f\\xb2\\x64\\x93\\x86\\xcd\\xf1\\x87\\x9d\\x9e\\x1e\\x35\\x64\\x5f\\xe9\\x94\\x51\\x37\\xd6\\x9d\\xc6\\xc9\\xdb\\xf0\\x07\\x64\\x3b\\xe9\\x3e\\x6c\\x73\\xfb\\x0b\\xd8\\x7c\\xd2\\x1b\\x9e\\x83\\x1d\\xf3\\xc6\\x93\\xdb\\xf0\\x36\\x7b\\xd8\\xc8\\xa9\\xe3\\xd6\\xcd\\xfc\\x81\\x0c\\xa2\\xe3\\xb2\\x91\\xde\\x82\\x47\\xfc\\x3b\\x60\\x83\\xb2\\x40\\x1d\\x8b\\xde\\xa0\\x52\\xcb\\x1a\\x9d\\x51\\x30\\x8b\\x22\\x42\\x6a\\x83\\x59\\xb0\\x3b\\xd4\\x2a\\x59\\x63\\xd0\\x19\\x35\\x2a\\xa3\\xde\\xa2\\xd2\\xab\\xf4\\xbc\\x45\\xc9\\x98\\x5b\\xfc\\xf0\\x71\\x44\\x82\\xfc\\x80\\xd5\\x65\\xd8\\x78\\x99\\x9a\\xaf\\xc4\\xac\\x8c\\x4c\\xfa\\xc2\\x65\\x14\\x0a\\x48\\xf0\\x34\\xb8\\x58\\x58\\x8f\\x6c\\x6f\\x87\\xe7\\xd5\\x6f\\x4f\\x16\\xb7\\xc7\\x13\\x3f\\x22\\xfb\\x8e\\xe0\\xed\\xf8\\xec\\x98\\xeb\\x84\\x14\\xe0\\x84\\x5b\\xef\\xaf\\x7b\\x6e\\xf5\\x99\\xe9\\x93\\x4e\\xaf\\x79\\x19\\xab\\x0e\\xf7\\x7a\\x23\\xa4\\x9c\\x5b\\xf7\\x82\\xfd\\x31\\x11\\xf6\\x63\\x5d\\xe8\\x67\\x96\\x46\\xcd\\x59\\xad\\x16\\xaf\\x45\\x9d\\xe5\\xf1\\x24\\xa8\\x13\\x40\\xcf\\xe0\\x44\\x8f\\x45\\xcd\\x7b\\xd3\\x2a\\x82\\x5e\\xd1\\x69\\x10\\x0d\\x00\\x67\\x44\\x6b\\xb4\\xfc\\xa3\\xe9\\x0d\\xa6\\xfe\\x32\\x67\\x99\\xb8\\xa3\\xf9\\xa8\\x58\\x17\\xd3\\xb2\\x22\\x9a\\x77\\x2d\\xc3\\x9f\\x1b\\xfb\\x59\\x31\\x77\\x6f\\xbe\\x97\\x55\\x87\\x96\\xf8\\x94\\xe5\\x2d\\x52\\xa7\\x76\\xdd\\xfc\\xc4\\xde\\x92\\xb2\\x8e\\xad\\xf6\\x34\\xef\\xb0\\x71\\xcf\\x23\\x2f\\x6f\\x09\\x5d\\xe0\\x4a\\x56\\xcf\\xe1\\x03\\xb6\\x67\\xbb\\xf4\\xff\\xf8\\x9f\\xfc\\xc1\\xaa\\x91\\xdb\\x9e\\x58\\xb8\\x8c\\x7f\\xb9\\xaa\\xff\\xba\\x65\\x38\\x81\\xdf\\x7b\\xdf\\xfd\\xfa\\x67\\xa3\\xd7\\xef\\x78\\xc5\\xff\\x38\\xab\\x0f\\xdd\\x57\\x18\\x0a\\xfb\\xbc\\x1e\\xea\\x16\\xc8\\x4a\\xf7\\x25\\x20\\x54\\xcf\\x50\\xcf\\x67\\x53\\xa9\\xd4\\x3e\\x75\\xfd\\x06\\xf6\\xc4\\x94\\x7a\\x2a\\x9f\\x51\\xa8\\x93\\x52\\xa7\\x2c\\xe8\\x4a\\x71\\x18\\x8c\\x65\\x41\\x43\\x42\\xdc\\xf9\\xea\\xff\\x18\\x06\\x8e\\xeb\\xbc\\x14\\xeb\\xb3\\x52\\x8b\\xde\\x57\\x7b\\x80\\xdc\\xe9\\x46\\x2d\\x03\\xdd\\x0e\\x7e\\x71\\x33\\x74\\x93\\x4b\\xd9\\xba\\x04\\xfb\\x86\\xb7\\xed\\xdb\\xc7\\xca\\xd5\\x99\\xd0\\x6b\\xda\\x88\\x03\\x8d\\x5a\\xb6\\xea\\x2a\\x34\\x09\\xf5\\xd8\\x3a\\xfb\\xfc\\x3e\\xae\\xfc\\xfe\\xb5\\x9b\\x9f\\x3e\\xf9\\xe4\\x9e\\x45\\xc1\\xd2\\x8a\\x61\\x63\\xfa\\x1d\\xf9\\x90\\xfb\\x90\\xfe\\xcf\\x81\\x03\\xdc\\x14\\xba\\x2e\\xe3\\x99\\x9f\\x42\\x3f\\x90\\x86\\x25\\x01\\xaf\\x60\\xd3\\xd0\\x8c\\x38\\x1e\\x1b\\x9f\\x90\\xe8\\xe4\\xca\\x83\\x4e\\xc1\\x68\\x66\\xa2\\x9a\\x3a\\x58\\x18\\x2c\\xa0\\x3f\\x97\\x44\\x05\\x50\\xed\\x2a\\x8c\\x54\\x0c\\xf9\\xd2\\x94\\xee\\x29\\x95\\xaf\\xab\\x13\\x26\\x39\\xb9\\x11\\xc5\\x6d\\x5e\\x7b\\x7c\\x6e\\xd7\\x03\\x6d\\xce\\x9d\\x7b\\xe6\\xc0\\xbb\\x37\\xcf\\x1d\\x69\\x3f\\xb2\\x81\\xb0\\xa2\\x31\\xf9\\x78\\xd3\\xde\\xdc\\x1c\\x6e\\xf5\\x9f\\x67\\x38\\x57\\xef\\xbb\\xd7\\x3e\\xfb\\x25\\x2b\\x93\\xf6\\x69\\x55\\xa4\\x4f\\x89\\xc0\\xbb\\x53\\x2d\\xb2\\x1b\\xa1\\xc4\\x44\\xbd\\xcc\\x27\\x25\\x0b\\xb4\\x22\\x24\\xb0\\x59\\x8f\\xa0\\x41\\x1a\\x63\\x8f\\xa0\\x46\\x88\\x15\\x4d\\x8e\\xa1\\xf9\\xf8\\x2e\\x79\\x23\\x29\\x7b\\xa8\\x85\\xc4\\xa9\\xd4\\xb0\\xb6\\x29\\x07\\x79\\xf0\\xff\\xfc\\xd4\\xa2\\x63\\xcb\\xce\\xbf\\x8c\\xdd\\x1d\\x02\\x4d\\x9a\\x4f\\xcd\\x7d\\xb4\\x62\\xe5\\x91\\xe3\\x5c\\xdd\\xfe\\x65\\x2f\\xbe\\x87\\x0b\\x71\\x1d\\xd3\\xb3\\xf6\\x0d\\xe4\\xcf\\xc9\\x13\\x1a\\x3f\\xff\\x14\\xfe\\xcf\\x9f\\x67\\x18\\x0d\\xef\\x81\\xb5\\x1f\\x0e\\x34\\x9c\\x84\\x9a\\x06\\x92\\xcc\\x7a\\x7d\\x92\\x41\\x76\\x1a\\x9c\\xc9\\x29\\x66\\x9b\\x4d\\x53\\x1e\\xb4\\xd9\\x0c\\x46\\x3e\\x09\\x44\\x4a\\x92\\x01\\x24\\xca\\x5b\\x91\\x8a\\x5e\\x35\\x0c\\xd4\\x8a\\x1d\\xd6\\x9f\\xd7\\x82\\x57\\x8a\\xfe\\x30\\xf7\\xbc\\x68\\x01\\x6a\\x4a\\xa8\\x7b\\xaa\\xb6\\xac\\x7e\\xb4\\x73\\xdd\\x8d\\x2b\\xd7\\xac\\x3b\\x77\\x6e\\xd0\\xaa\\x76\\x5f\\xdd\\xe9\\xb2\\xe6\\xa7\\xf7\\xc9\\xc7\\xe4\\xc7\\xb4\\xae\\xcb\\xae\\xae\\xff\\xd7\\x77\\xfd\\x42\\x65\\x62\\x5b\\x22\\xfb\\x33\\x00\\xdd\\x7c\\xf2\\x26\\xf9\\xf6\\x44\\x39\\x60\\x9a\\x64\\xd0\\x8b\\xf2\\x85\\x4d\\xa8\\x0e\\xe8\\x45\\xfd\\x03\\x16\\x40\\x95\\xf5\\x32\\x92\\xd4\\x6a\\x99\\x4b\\x69\\x94\\x21\\x35\\xce\\x77\\x9a\\xa9\\x04\\x4a\\x09\\xe6\\xa6\\x95\\x05\\x39\\xb9\\x51\\x8a\\x90\\xeb\\x84\\xbf\\xc8\\x66\\xd7\\x25\\x80\\x04\\x77\\xa0\\xba\\x54\\x49\\x34\\x45\\xba\\x1c\\xc3\\x18\\x66\\x67\\xbc\\x1e\\x18\\x71\\x4e\\x73\\x16\\x80\\x58\\x90\\x1d\\x76\\x6a\\x7a\\xa2\\x76\\x7f\\xbb\\x8f\\x45\\x9e\\x31\\xbf\\xd4\\xc8\\x26\\x6c\\xdc\\x02\\x3b\\xa3\\x18\\xa4\\x01\\xe6\\x72\\x0e\\x54\\x36\\xf6\\xcd\\xe9\\x90\\x31\\xe7\\xbf\\x3f\\x75\\x18\\x55\\xda\\x2c\\xa9\\xd5\\xe6\\xa9\\x03\\x7b\\x95\\x0f\\xea\\x8d\\xbd\\x05\\xe5\\xff\\x18\\xbf\\x6c\\xd3\\xb8\\xd7\\x66\\xcf\\x5f\\xd7\\xa1\\xe5\\xb1\\xbd\\xbe\\x71\\x42\\xb7\\xb2\\xd2\\x8e\\x03\\x1e\\xcb\\x5b\\xf7\\x0d\\xf9\\x85\\x7c\\x91\\xec\\x4b\\xee\\x3c\\x7c\\x56\\x5e\\x1e\\xde\\xbd\\xaa\\x77\\xf9\\xf0\\x49\\x33\\x83\\x2b\\xda\\x2c\\xeb\\xde\\xae\\x71\\xe1\\x2b\\x69\\x8c\\x46\\xfa\\xc1\\x98\\xc7\\x03\\x8d\\xd4\\xa3\\x9a\\x42\\x5a\\x96\\xc6\\x6e\\x30\\x26\\x21\\x64\\xb4\\x67\\x09\\x0d\\xea\\x6b\\x92\\x2c\\xd9\\x28\\xc3\\x94\\xc1\\xe9\\xf9\\x8c\\x8c\\xec\\xec\\xd4\\xf2\\x60\\xb6\\xd5\\x60\\xb0\\x58\\x74\\x15\\x41\\x8b\\x10\\x3b\\xf9\\x8b\\xf7\\x1f\\xae\\x7d\\xea\\x67\\x6d\\xdc\\x82\\x2b\\xa4\\xab\\xe4\\x4d\\x8d\\x55\\x66\\x32\\x60\\xd9\\xc0\\x44\\x23\\x1d\\x6b\\xa1\\x83\\x95\\xd9\\x4c\\xef\\xe7\\x2f\\xdf\\xbd\\xbb\\xed\\xfc\\xa1\\x4d\\xc9\\xd7\\xe4\\x6e\\xfd\\x93\\xb9\\x3f\\x5e\\xfb\\xf2\\x4e\\xaf\\x13\\x2f\\x3c\\xb7\\xb0\\xd3\\xc1\\x3d\\xb8\\x47\\xfa\\x91\\x3c\\xf2\\xf5\\xbd\\x3f\\xc8\\x3d\\x3c\\xae\\xfb\\xfc\\x41\\x9d\\x32\\x4d\\xa9\\x79\\x5d\\x9a\\x7d\\xfc\\xb1\\xf7\\xc8\\xe6\\x33\\xcf\\x0d\\x5e\\x33\\x24\\x33\\xb3\\xc5\\xa0\\x0e\\x93\\xe6\\x62\\x6b\\xc7\\x47\\x8a\\xc6\\x0c\\x79\\xf3\\x87\\x4b\\x30\\xae\\x61\\x30\\xae\\x9e\\x30\\xae\\x3a\\xa8\\x43\\x20\\x25\\x4d\\xb4\\xda\\x8c\\x1e\\x0f\\xb2\\x89\\x42\\xdd\\xec\\x34\\x23\\xe7\\xb4\\x5a\\x9d\\x4e\\x73\\x19\\xec\\xcb\\x3a\\x75\\x38\\x2e\\x83\\x15\\x87\\xe7\\x1c\\xb5\\x46\\x54\\x6b\\x38\\xc0\\xc7\\x61\\x27\\xa6\\xe7\\xff\\xaf\\x11\\xc1\\x96\\x15\\xda\\xdd\\xba\\xf7\\x1f\\x72\\xf7\\x2f\\x87\\x73\\x78\\xe7\\xcc\\x6b\\xb3\\x0b\\x3a\\xbd\\x75\\xe6\\x2f\\x07\\x32\\x65\\x76\\xa6\\x4f\\xb1\\x2b\\x6a\\x98\\x7f\\xec\\x26\\xe4\\x45\\xe9\\xc0\\xed\\x73\\x9c\\xae\\x34\\x43\\xb2\\x51\\x93\\xee\\xa3\\xf9\\x50\\xb4\\xe9\\x06\\x97\\x98\\x91\\x29\\x59\\x3d\\xd4\\xb9\\xcd\\x99\\xae\\x31\\x26\\x3b\\x45\\x3d\\xf2\\xe8\\xd3\\xca\\x83\\x7a\\x8b\\x72\\x32\\xa7\\x04\\x9a\\x3f\\xa4\\x0a\\x74\\x84\\x08\\xe5\\x2c\\xe6\\x03\\xcd\\x53\\x7f\\x14\\xc5\\x36\\x07\\x23\\x61\\x8a\\x4e\\x0a\\x2e\\x6c\\x81\\xb1\\x97\\xe7\\x8f\\xec\\x9e\\x36\\x26\\xb5\\x49\\xa0\\x6e\\x23\\xdb\\x1c\\xdc\\xb4\\xea\\x25\\x5c\\x30\\xc7\\x9a\\x57\\xd7\\xd3\\xa0\\x5e\\xe6\\x98\\x69\\xfb\\x06\\x3c\\x56\\xaf\\x7d\\xfb\\xcc\\x69\\x20\\xac\\x3e\\xf9\\x49\\xdc\\xf4\\xd6\\xb0\\x86\\x3d\\x33\\x1b\\x90\\x4f\\x42\\x29\\x6b\\xd7\\x72\\x5f\\xe2\\xec\\x06\\x99\\x9e\\xdc\\x26\\x43\\xdf\\xea\\x3f\\xe5\\xfc\\xf9\\x51\\x23\\xee\\x6b\\xb9\\x0e\\xca\\x98\\x80\\xd1\\x0b\\x2f\\x09\\x2d\\xe1\\x93\\x0f\\xf5\\x0c\\xb8\\xdc\\x1e\\xc0\\x85\\x16\\x3d\\xe2\\x0c\\xb2\\x44\\xa3\\xd1\\x3c\\x62\\x7a\\x86\\xc6\\x91\\xe4\\xa0\\x3b\\xcd\\x12\\x94\\xdd\\x6e\\x18\\x8b\\x60\\xe2\\x93\\x8c\\x26\\x00\\x7c\\x26\\x7b\\xf4\\x08\\xed\\x7f\\x8d\\x8b\\xf7\\x5b\\x29\\x46\\xa6\\x63\\x93\\x79\\x2b\\x0c\\xcd\\xca\\x86\\x66\\xc4\\xca\\x72\\xc1\\xd0\\x0a\\xb8\\x51\\xe3\\xae\\xbf\\xdd\\x65\\x4d\\xd1\\x28\\x6f\\xab\\x66\\x5d\\x32\\x66\\x1e\\x0c\\xdd\\x7f\\x76\\x96\\xbd\\xc8\\xd7\\xac\\x65\\xda\\xa8\\xa2\\x35\\x5d\\x86\\xcc\\x4c\\x2f\\x2a\\xee\\x84\\x37\\x90\\x10\\xff\\x62\\xc5\\x80\\x09\\xfe\\x21\\x83\\x80\\x49\\x8c\\x7b\\xf2\\x49\\xbc\\x0e\\xfb\\xf3\\x33\\x87\\xf8\\x27\\x0c\\xa8\\x98\\x36\\xee\\xf0\\xe1\\xaf\\x14\\xdd\\x8c\\xf9\\xab\\xb5\\x05\\xdc\\x90\\x42\\x39\\xbf\\x29\\x21\\x41\\xb4\\x23\\xa4\\x11\\xf9\\x54\\xaf\\xc5\\x55\\x11\\x34\\x59\\x2c\\xbc\\x5a\\xad\\xa3\\xf8\\x98\\x4f\\xaa\\xa8\\xed\\x85\\x58\\x8b\\xcd\\x52\\x27\\x44\\xaa\\x9a\\x15\\x50\\x53\\x38\\x5d\\x0b\\x6a\\x15\\xe1\\x15\\xcd\\x88\\x99\\xe7\\x47\\x90\\x5f\\x7e\\x25\\xf8\\xd1\\x6f\\xde\\xc3\\xa5\\xe4\\xad\\x99\\xf3\\xcb\\xcc\\x33\\xdf\\xfd\\xfe\\xcf\\x4b\\xeb\\xf6\\xef\\xdb\\x84\\x8b\\x76\\x6d\\xe1\\xf4\\x24\\x44\\xfe\\xcd\\xf5\\xc4\\x1a\\xdc\\xeb\\x99\\x8d\\x4d\\xe6\\x8f\\x5b\\x0e\\xdf\\xc9\\xc5\\x57\\xce\\x5c\\x20\\x23\\xde\\xa4\\x7b\\x9d\\xda\\xba\\x1e\\x01\\xdd\\x24\\x0d\\xe4\\x81\\xdd\\x2c\\x39\\x01\\xae\\x25\\x4b\\x82\\x2f\\x3d\\xd5\\x53\\x16\\x4c\\x4d\\x85\\x7e\\xea\\x15\\x9d\\x44\\x6d\\xe2\\x6d\\xf1\\xe7\\x07\\xb1\\xf3\\xdd\\xea\\x33\\x04\\x81\\x9d\\xed\\xa2\\x8c\\x02\\xbf\\x5d\\x8c\\xd2\\x3e\\xe3\\xc5\\x46\\x9c\\x4f\\x09\\x48\\x78\\x84\\x84\\xbf\\xfe\\x29\\x04\\x12\\xa0\\xe5\\xb6\\xb9\\xe4\\xb3\\x0b\\xcf\\x74\\xda\\xb1\\x6b\\xc3\\xa6\\xca\\x1d\\x1d\\x9a\\xe6\\x4e\\x19\\x7e\\xfd\\x0a\\x9e\\x75\\xe6\\x6f\\x38\\x1d\\x3b\\xa0\\xab\\x46\\x8d\\xb8\\x49\\x56\\x95\\x3d\\xff\\xf4\\xe5\\xbf\\xaf\\x9c\\x3f\\x7d\\xbc\\x56\\xb5\\xd4\\x79\\x22\\x22\\x4f\\xcb\\x99\\x3f\\x58\\xab\\x40\\xaa\\xc1\\x6a\\xd5\\x00\\x0e\\x73\\xab\\xd5\\x0e\\x8d\\x26\\x31\\x89\\x33\\xab\\x74\\x76\\x98\\x53\\xb7\\xd9\\x6e\\xd7\\x38\\x79\\x8d\\x45\\x39\\xbf\\x2f\\x8e\\xb8\\xb7\\xc5\\x0e\\x17\\xe2\\x5c\\x52\\x80\\xac\\x59\\x31\\x45\\x9f\\x99\\x1a\\x98\\x9c\\x32\\x8d\\xa2\\x62\\x69\\x1d\\x53\\x85\\x72\\xeb\\x7a\\xc3\\xd6\\x51\\x67\\x47\\x6d\\x31\\xac\\xb7\\xe2\\xe2\\x8a\\xb3\\x43\\x70\\x11\\xdf\\xa9\\x55\\xcb\\x94\\xa2\\xa4\\x85\\x55\\xad\\xf9\\xd7\\x16\\x26\\x15\\xa5\\xb4\\x6c\\x85\\x4d\\x3f\\xfc\\xc0\\x64\\xd7\\xb2\\xf0\\x2f\\x42\\x3b\\xf1\\x1f\\xc8\\x8c\\x8a\\x03\\x09\\x1c\\x32\\x99\\x68\\x6a\\x20\\x8b\\xd5\\xa8\\xd3\\x60\\x59\\x23\\x83\\x04\\x50\\x73\\x26\\x8d\\x91\\x32\\x13\\x56\\x6f\\x56\\xc1\\x5d\\x6f\\x45\\xd3\\xdc\\x47\\x4c\\x62\\x5e\\x73\\x06\\x4d\\x15\\x2e\\x53\\x57\\x45\\x91\\x26\\x63\\x10\\xda\\x91\\xd9\\xe4\\xc7\\xe1\\xe4\\x93\\x4e\\x2e\\xbc\\x02\\xb0\\x3d\\x5e\\xc2\\x3f\\x5f\\xd5\\x7a\\x58\\x22\\xdf\\x7c\\x03\\x4e\\xc5\\x4f\\x0f\\x4b\\x20\\x5f\\x52\\x3b\\x08\\xac\\xdf\\x53\\x42\\x0b\\xe0\\x06\\x9d\\x02\\x56\\x35\\xe6\\x38\\x83\\x00\\x32\\x2a\\x31\\xd1\\xeb\\x14\\x9c\\x19\\x99\\xc9\\xd4\\xf8\\x71\\x32\\x98\\xec\\x40\\x11\\x83\\xc7\\xcb\\x41\\xad\\xd1\\xcc\\xb1\\x53\\xd5\\xea\\x6a\\xa8\\x71\\x45\\x27\\x95\\xce\\xfc\\x2f\\x0b\\x47\\x4c\\x75\\xf9\\x4b\\xc3\\x46\\xe4\\x17\\xff\\xcb\\xa8\\xc1\\x7e\\x11\\xb3\\x65\\x2c\\x64\\x67\\x81\\xa5\\x28\\x15\\x24\\x4e\\x87\\x80\\xd1\\x90\\x95\\x85\\x9c\\x0e\\x87\\x57\\x85\\x54\\xf5\\x1b\\x24\\x58\\x28\\xfd\\x59\\x83\\x09\\x09\\x5a\\x67\\xa2\\x36\\x1b\\x20\\x9f\\xd6\\x2e\\xa6\\x97\\x05\\x45\\x53\\x14\\xf9\\x45\\xb1\\x40\\x8d\\x71\\x50\\x31\\x63\\x51\\xa4\\x3f\\x3b\\xca\\xc9\\xa2\\xc9\\x58\\x92\\xb1\\xd3\\x47\\x25\\x6b\\x03\\x1e\\xc7\\x99\\x16\\x16\\x16\\x3c\\xf6\\xea\\xf2\\xff\\xde\\xfe\\xfd\\xb7\\x89\\xfb\\x5a\\x48\\x03\\x9f\\x7f\\x71\\xf3\\xb2\\x80\\xbc\\x53\\x4a\\xef\\xb6\\x7a\\xc9\\xa9\\x99\\xad\\x41\\x97\\x5e\\xb6\\x63\\xe7\\xaa\\x27\\x36\\xef\\x5d\\x81\\x07\\xff\\x82\\x55\\x7b\\x7a\\x90\\x5f\\xc9\\x77\\xe4\\x27\\x72\\xab\\x6b\\xe9\\xb2\\xdd\\x1d\\xd3\\x7b\\xf5\\x73\\x38\\xd4\\x2d\\x1e\\xdd\\xf1\\x16\\x5e\\xf3\\xd9\\xdb\\xef\\x7c\\xfa\\xc1\\xdf\\xde\\x8d\\xd8\\xb0\\x8b\\xd8\\x19\\x6c\\x3b\\x66\\xbf\\x9b\\x4a\\xfa\\xf0\\x6d\\x58\\x4d\\xc9\\xae\\xa8\\x86\\x3f\\xab\\xb0\\x99\\xd1\\xcf\\x42\\xa0\\xeb\\x42\\xc0\\xbd\\x56\\xd4\\x3d\\x90\\xab\\x37\\x99\\x8c\\x34\\xfb\\x24\\x60\\x08\\xbd\\xa9\\x2c\\xf8\\x82\\xfe\\x0b\\xfd\\x1d\\x3d\\x6f\\xd4\\x5f\\x85\\x0f\\xbc\\x96\\xd7\\xeb\\x41\\xdb\\xd6\\xd0\\x83\\x33\\x6c\\x01\\xc0\\x66\\xff\\x4b\\x0f\\xdb\\x88\\x71\\xb2\\x2e\\x66\\x9b\\x92\\x71\\x0f\\x89\\xe6\\x83\\x37\\xd5\\xc5\\x42\\x21\\x49\\xfa\\xfa\\x47\\x14\\xbe\\x89\\x3f\\x22\\x99\\x4f\\x3e\\xc5\\xcd\\x0f\\x2d\\xc0\\x3e\\x7c\\x0d\\x1b\\x69\\x4e\\x71\\x9c\\xb5\\xe2\\xf9\\x6d\\x8b\\xc9\\x61\\xe8\\xd7\\x26\\xea\\x23\\xcc\\xce\\xcf\\x1e\\x09\\x34\\xd4\\x8a\\xc8\\x24\\x0b\\x82\\x09\\x99\\xec\\x0e\\x49\\x84\\x8e\\x49\\x5f\\x48\\x77\\x24\\xde\\x28\\x5d\\x85\\x0f\\xd0\\x31\\x49\\xb2\\xe9\\x40\\x51\\x0a\\x02\\xf4\\xd1\\x32\\x5b\\xe2\\x5f\\xbb\\xfe\\x82\\x14\\x05\\x15\\xa8\\x90\\x9e\\xac\\x01\\x14\\x87\\xa5\\xa0\\x80\\x9c\\x2d\\x94\\x77\\x13\\xbe\\xb6\\x6a\\x63\\x68\\x01\\x37\\x7f\\xc3\\x2a\\x92\\x89\\xaf\\xdf\\xfe\\xb1\\xea\\x06\\x81\\x0e\\x3d\\xbb\\x78\\xcf\\xb3\\x2b\\xc8\\x3d\\xf2\\x27\\x09\\x93\\x7f\\xa0\\x9a\\xbe\\xbb\\xbb\\xd8\\xf7\\xd3\\x40\\x43\\xad\\xd8\\x1c\\x9f\\x67\\xdf\\x27\\xc1\\x1c\\x4f\\x63\\x3e\\xc3\\x99\\xca\\x1e\\x85\\xeb\\xdb\\x32\\xdf\\xde\\x40\\x20\\x45\\x25\\x8a\\x12\\xcf\\xd1\\xa0\\x58\\x9d\\x4e\\x2d\\xf1\\x7a\\x03\\x16\\x04\\x59\\x4d\\xb3\\x63\\xc9\\x3c\\x92\\x2c\\x4a\\xdc\\x18\\x0b\\x0c\\x37\\xd7\\xf2\\x26\\x55\\x90\\x2f\\xef\\xe3\\x29\\xbc\\x4c\\x00\\x1d\\x88\\xdf\\xf2\\xdd\\xd2\\x3f\\x0f\\xdd\\xff\\xf1\\xcb\\x7b\\xc2\\x9a\\xd0\\x75\\x2e\\xfd\\x3e\\x28\\x62\\xa1\\x6f\\x39\\x37\\x83\\xb5\\xf0\\x5c\\x6a\\xa7\\x1b\\xc9\\xe6\\xb0\\x59\\x20\\x59\\xa7\\x56\\x6b\\x44\\xc1\\x68\\x41\\xc8\\x66\\x03\\xf5\\xd7\\xee\\x80\\x59\\xb3\\x68\\x8d\\x9a\\x44\\x23\\x08\\x08\\x3b\\x73\\xbb\\x28\\xf1\\xff\\xc5\\x33\\x4b\\x30\\xac\\x11\\x3b\\xef\\xa6\\x45\\x57\\x0b\\x0a\\xad\\xf0\\xec\\xf7\\x79\\x91\\x7c\\xb5\\x85\\x7c\\x26\\x6d\\xfd\\xf3\\x52\\xbe\\xd1\\xd1\\xe0\\xd2\\x1d\\xee\\xef\\x93\\xa7\\x54\\xb5\\xe7\\x4f\\x6e\\x6f\\x7f\\x7f\\x91\\xf8\\x55\\x68\\xfe\\xc1\\xc7\\x77\\xae\\xe7\\x16\\xdc\\x7f\\x8b\\xed\\xb3\\xce\\x91\\x33\\x77\\x0f\\xca\\x02\\x6e\\x91\\x95\\x06\\x0a\\x89\\xd5\\x08\\xc2\\x57\\x67\\xe4\\xeb\\xd4\\x75\\x26\\x03\\xf6\\x31\\xe9\\xcd\\x16\\xc0\\x40\\x1a\\x90\\x50\\xc6\\x44\\x3e\\x23\\xfe\\x04\\xde\\x12\\xf1\\xae\\x8d\\x57\\x4d\\x62\\xfe\\x18\\xca\\x61\\x7c\\x12\\x2d\\x97\\xa4\\x64\\xc7\\x8d\\x3b\\x94\\x8f\\x79\\xf8\\x09\\x3d\\x3f\\x3a\\x33\\x7e\\x57\\x40\\x10\\x68\\xc9\\xec\\xe3\\xb3\\x66\\xfd\\xfb\\xc3\\x15\\xff\\x9c\\x7a\\x61\\xdb\\x8a\\x79\\x53\\x0b\\x0f\\xf4\\x9d\\x3a\\x9e\\x13\\xfe\\x4b\\x6e\\xb4\\xe9\\xdc\\xac\\x64\\xee\\xb2\\xfd\\xfb\\x97\\x71\\x17\\xff\\xc4\\xa6\\x35\\xe4\\xde\\x81\\x4f\\xbe\\x3b\\xfd\\x01\\x79\\xbd\\x6d\\xe9\\x05\\xe5\\x7c\\xa8\\x0f\\xac\\xeb\\x00\\xba\\xae\\xb8\\x43\\x8d\\x75\\xce\\xa4\\xeb\\x6c\\x96\\x81\\x07\\xb7\\xe0\\xac\\xc8\\x1d\\x30\\x63\\x57\\xc0\\x64\\xee\\xe0\\x0a\\xe8\\xf5\\xf0\\xa2\\x56\\x77\\x70\\x21\\x33\\x8b\\xa2\\x89\\x6b\\x23\\x93\\xb6\\x41\\xef\\x09\\xff\\xfd\\xff\\xbc\\x87\\xc5\\x28\\x48\\x07\\xe0\\x39\\x75\\xd8\\x3d\\xad\\xc3\\xa7\\xd1\\x5d\\x64\\x3f\\x8e\\xcd\\x62\\x26\\x3e\\x15\\xde\\x71\\xdc\\x60\\xc6\\xda\\xb8\\xf3\\x26\\xe5\\xfa\\x81\\xb1\\xeb\\xc7\\x00\\x05\\xfc\\x9b\\xd9\\xec\\x75\\x8a\\xcd\\xfe\\xbf\\xc7\\x4d\\x06\\xa4\\x89\\x3b\\xfd\\xc2\\x30\\x9e\\xdb\\xc2\\x13\\x40\\xa3\\x69\\xa8\\x6f\\x20\\x97\\xd7\\xb8\\x9d\\x66\\xb3\\xcd\\xa2\\x49\\xb5\\xa4\\xfa\\xd2\\x13\\xa9\\xd6\\x9e\\xf8\\x62\\x22\\xa7\\xe3\\x13\\x13\\x91\\xdd\\x65\\xb3\\xdb\\xca\\x83\\x76\\xde\\xc2\\x4e\\x27\\x04\\x01\\x58\\x47\\x49\\x5e\\x6e\\xcc\\x87\\x83\\x9d\\x1c\\x46\\x2b\\xbe\\xc5\\x56\\x8a\\x5a\\xdc\\xc4\\x68\\x51\\x29\\xd0\\x7f\\xa3\\x6a\\x12\\xf5\\x59\\xf3\\x32\\x55\\x09\\x56\\xd0\\x26\\xf1\\xc3\\x4b\\x17\\x7a\\x87\\x27\\xb5\\xac\\x5f\\xaf\\x59\\x59\\xc5\\x94\\x37\\xcf\\x92\\xcf\\xf8\\x42\\xf2\\xdc\\x82\\x65\\x45\\x27\\x5e\\xdc\\x6a\\x2b\\x6b\\x31\\xd9\\xef\\x1f\\x31\\xfe\\xed\\x59\\xe3\\xf2\\x42\\xd9\\xd4\\x4f\\x9f\\x9c\\x4d\\x77\\x1e\\x7d\\xf5\\xc6\\xe1\\xb3\\x30\\x66\\x16\\x8f\\x22\\x1d\\xb4\\x64\\xf2\\x6d\\xd9\\x98\\xa7\\xa1\\x19\\xe8\\x1e\\x3b\\x65\\x93\\x60\\x92\\x02\\x92\\x1a\\xf3\\xb1\\x53\\x36\\x3a\\xde\\xc8\\xda\\x21\\x17\\x5a\\x17\\xa8\\x70\\x49\\x5a\\x07\\x80\\x0f\\x93\\xd1\\x28\\x4a\\x5a\\xc9\\xed\\x41\\x7a\\x93\\x3e\\x15\\x18\\x9f\\x2a\\x45\\xc5\\xe9\\x45\\x07\\xaa\\x08\\xe6\\x3a\\xca\\x1d\\x9c\\xd1\\xb1\\xda\\xf1\\x82\\xe3\\x9c\\xe3\\x0b\\xc7\\x1d\\x47\\xd8\\x21\\x3b\\x79\\x87\\x43\\xa5\\xd7\\x03\\xde\\x35\\x99\\xf4\\x82\\x0a\\xf4\\x6a\\xea\\xeb\\xd5\\x50\\xac\\x10\\x27\\x8a\\xf0\\x56\\x29\\x7e\\x20\\xde\\x10\\x69\\x2e\\x5b\\x2b\\x0b\\x07\\x9c\\xc4\\x44\\x46\\x6e\\x3c\\x57\\x42\\x91\\x28\\x96\\x9a\\x95\\x97\\x81\\xaa\\x2d\\x5e\\xea\\x9e\\xc8\\x79\\x53\\x11\\xa8\\xb8\\xa9\\xd6\\xc8\\x09\\x8f\\xd7\\x8e\\x9b\\xda\\x71\\xdb\\xe1\\xfb\\x8a\\x77\\x6e\\x24\\x2f\\x91\\x3f\\xc8\\xd7\\x9c\\x0b\\x3f\\x32\\xff\\x40\\xc6\\x8e\\x91\\xbb\\xf6\\x6b\\xf0\\x61\\x6e\\x30\\xc9\\x7c\\x7c\\x6d\\x4b\\xb2\\x02\\x8f\\xc1\\x8f\\x70\\x47\\xc9\\xd1\\x96\\x93\\x16\\x7d\\xf5\\xfd\\x5a\\x46\\xab\\xdd\\x60\\xbc\\xa3\\x18\\x4f\\x2a\\x78\\x68\\x1c\\x88\\xe2\\xa3\\x3d\\x30\\xce\\x47\\x1b\\x03\\xcd\\x54\\xfb\\x68\\xe3\\x87\\xf8\\x68\\xbf\\x18\\xbe\\xcd\\x7f\\xc6\\xda\\xa8\\xaf\\xc4\\x7b\\x85\\x7f\\x16\\x8e\\x02\\x0d\\x79\\x00\\x4b\\x77\\x09\\xd4\\x95\\xec\\xce\\xd4\\x54\\x21\\x01\\x09\\x76\\x3d\\x12\\x32\\xd2\\x9d\\x29\\x15\\x41\\xa7\\x53\\xb0\\xdb\\xa5\\x0a\\xa0\\x1e\\xad\\xa9\\x22\\xa8\\xb5\\x0a\\xa9\\x15\\x41\\xc1\\x52\\x1d\\x62\\xfe\\x00\\xb6\\x8b\\xe2\\x25\\x89\\x62\\x25\\x5e\\x83\\xa5\\xc8\\x11\\x47\\x0b\\x6c\\xb1\\x7a\\xcd\\x4a\\xd2\\x66\\x25\\x1c\\x40\\x38\\x7a\\x65\\xf7\\x97\\x2f\\x27\\x39\\x4a\\xa6\\xcc\\xc8\\x4f\\xb4\\xa6\\x36\\x29\\xce\\x4a\\x2d\\xc0\\x3f\\x64\\x1f\\x7e\\x7f\\xcf\\xb4\\x7e\\x8d\\x8a\\xfb\\x8d\\xc7\\x8f\\x3f\\x77\\x5d\\x38\\x4d\\x7a\\x92\\xe7\\xc9\\xc9\\x85\\x9a\\xc5\\x72\\xcb\\x9d\\xd8\\xce\\x5d\\x0b\\x9d\\x7f\\xef\\xe8\\xd8\\xa5\\xc4\\x46\\xe3\\xe4\\x51\\x7b\\x98\\x03\\xda\\x7f\\x0b\\xa0\\xbc\\xae\\x81\\x4c\\xec\\x72\\x99\\x01\\x83\\x5a\\x45\\x13\\x3d\\x95\\x13\\x13\\x93\\x9c\\x5a\\x93\\xb6\\x22\\x88\\x01\\x63\\x21\\x35\\x60\\x69\\xbd\\xda\\x62\\x40\\x3c\\x8b\\x84\\xa9\\xc6\\xcf\\x35\\xdc\\xd6\\xaa\\x9d\\x36\\xcd\\x91\\x13\\xd6\\xea\\xd8\\x3d\\x1c\\xed\\x38\\x77\\x7d\\xc0\\xe1\\xf7\\xaf\\xec\\x26\\x3f\\x92\\x93\\xbb\\x77\\xe3\\x8e\\xf8\\xf3\\x69\\xfd\\x86\\x3e\\xda\\x6f\\x3c\\xb0\\xf2\\xf3\\xef\\xbd\\xf0\\xdc\\x75\\x6e\\x66\\x68\\x19\\xfd\\xcc\\x05\\xaa\\x5a\\x45\\x7a\\x8a\\x94\\xb3\\x43\\xb6\\x5f\\x1d\\x94\\x9b\\x1a\\xf5\\x20\\x97\\x55\\xc8\\xa1\\x72\\x38\\x5d\\x16\\xa1\\x3c\\x58\\x69\\xc1\\xc8\\x82\\x75\\x74\\x8b\\x6a\\x0d\\x1a\\x1a\\x32\\xa3\\x8d\\x06\\xed\\xc4\\x6f\\xd1\\x49\\x35\\xf7\\x28\\xe5\\xf4\\x0f\\xd9\\x97\\x76\\x33\\x7f\\xa5\\xf6\\x66\\xe4\\xbc\\xb5\\x36\\x61\\x88\\x62\\x8f\\x03\\xd0\\xa7\\x1d\\x6c\\x0f\\xbe\\x13\\xd9\\x83\\x7d\\x22\\x7b\\xd0\\x06\\x7b\\xd0\\x63\\x73\\x22\\x5d\\xf5\\x1e\\x8c\\xc6\\xfd\\x48\\xdb\\xe1\\xfa\\x4b\\xec\\x6c\\xb1\\x15\\x7a\\x0f\\xfe\\x03\\xf8\\x9a\\x95\\xf1\\xb5\\xfd\\xc7\\x4d\\x56\\xac\\x8a\\xe3\\x6b\\x36\\xa0\\xe1\\x13\\xac\\xfd\\xbf\\xd1\\xeb\\x55\\xdf\\xc0\\xd5\\x4a\\xfb\\x76\\xb8\\xc1\\xe8\\x4c\\xd1\\x99\\x6a\\xec\\x71\\xea\\x73\\xd8\\x90\\x9d\\x15\\x34\\x0e\\xb8\\xb5\\xb0\\xc2\\x92\\x5a\\xe4\\x38\\xb5\\x4e\\x2f\\xf3\\x3c\\xad\\x10\\x50\\x1e\\xe4\\x2c\\x28\\x21\\xea\\x44\\x55\\x52\\x33\\x70\\x86\\x9d\\x10\\x98\\xfd\\x91\\x1f\\x4e\\x47\\xd6\\x9c\\xe3\\x1c\\xe7\\xc8\\x1a\\xd2\\x07\\x1f\\x14\\xdb\\xde\\xef\\x2f\\xec\\xff\\xf3\\x0c\\xe9\\xf3\\x60\\xac\\x1c\\xd0\\x11\\x1d\\xd7\\x06\\x26\\xef\\xed\\xa8\\x7d\\x20\\x43\\x42\\x6a\\x8b\\x45\\x80\\x3d\\x80\\x1c\\x4e\\xb5\\xb9\\x9c\\x86\\xde\\x27\\x83\\x72\\x43\\x39\\x43\\x79\\x50\\xe4\\x05\\x4b\\x79\\xf5\\x1e\\x88\\x31\\x87\\x9c\\x1a\\x64\\xa4\\x78\\xb1\\x7b\\x69\\x28\\x9d\\xd9\\x9b\\x27\\x50\\xd1\\x46\\x3f\\x14\\x08\\x1b\\xc2\\xdf\\x84\\x7e\\xe3\\x37\\x85\\xea\\xe2\\x56\\xbf\\xa2\\xf0\\xf9\\x7d\\xfb\\xc8\\xc7\\xd8\\xbf\\x6f\\x3b\\x7e\\xfc\\xe4\\x47\\x62\\xdb\\xed\\x64\\xc4\\x95\\xf3\\x33\\xa7\\x90\\x3a\\x13\\xd1\\x83\\x31\\x7c\\x51\\x9e\\x49\\xbf\\x53\\x9e\\x09\\xfd\\x16\\xc9\\x28\\x16\\xaf\\x69\\x80\\x7e\\x77\\x0c\\xa4\\xdb\\x91\\x49\\x6f\\x83\\x0d\\x80\\x78\\x5a\\xb6\\x8a\\x93\\x39\\x87\\x53\\x6f\\x02\\x6d\\x9e\\xb7\\x21\\x15\\xeb\\xba\\x45\\xe6\\x4e\\x61\\x95\\xe2\\x6b\\xc3\\x0e\\x69\\xe3\\x22\\xac\\xe2\\xcc\\x14\\x7e\\x16\\x02\\x45\\xeb\\x6b\\x58\\x0a\\xad\\x5e\\xd9\\xcb\\x4b\\x9c\\xec\\x15\\xd0\\x0b\\xbb\\xaa\\x36\\xed\\x9a\\x3e\\x70\\x74\\x4a\\x6b\\x6e\\xc0\\x33\\xe4\\x5a\\x23\\x6f\\xb0\\x23\\x97\\xb0\\x29\\xf4\\x11\\xde\\x4c\\x46\\x71\\x0d\\x1e\\xc3\\x1d\\xef\\x62\\xb2\\x89\\x2c\\xfd\\x8d\\x5c\\x9e\\x5a\\x3b\\x4e\\x2f\\x42\\xff\\x30\\xe7\\xa0\\xe5\\x2e\\x0c\\xb4\\x77\\x27\\x7a\\x52\\x78\\x09\\x89\\xe6\\x94\\x14\\xe8\\xbb\\xc3\\x91\\xe0\\xd1\\xd0\\xf9\\x45\\xa2\\x87\\xf7\\xa6\\xba\\xa5\\x44\\x5e\\xe2\\xb1\\xd9\\x80\\x0c\\x26\\x43\\xaa\\x81\\x37\\x8a\\x34\\x10\\xbc\\x22\\x98\\x62\\xc0\\x25\\x86\\x3b\\x06\\xce\\x60\\xb0\\x1b\\xd5\\x7c\\x82\\xc8\\xf6\\x47\\x1e\\x0b\\xe5\\x51\\x02\\x70\\xa9\\x09\\x29\\x16\\xc8\\x19\\x77\\xfc\\x15\\x7b\\x61\\x06\\x19\\xea\\x45\\xe1\\x35\\xe7\\x62\\x9e\\xc6\\xbe\\x81\\xae\\x0f\\x40\\x9f\\x19\\xff\\x00\\x24\\xf1\\xd4\\x5f\\x96\\x37\\x62\\x33\\xe7\\x70\\x77\\xfd\\xcf\\x69\\xdc\\xa4\\x79\\xce\\xe5\\xe7\\x36\\xd4\\x2d\\x6f\\xb3\\xab\\x4d\\x79\\xdd\\x0d\\xcf\\x5d\\xae\\xd3\\x12\\x37\\x3d\\xfd\\x1f\\x53\\x6f\\xae\\x5c\\xb2\\x85\\x96\\x71\\x57\\x9b\\x0f\\xc6\\xff\\x20\\xf3\\x46\\x0e\\x31\\x71\\xfd\\x43\\xfb\\x4d\\x43\\x46\\xe2\\x85\\xa4\\xce\\x80\\x96\\xa1\\x86\\xdc\\x4c\\xd1\\x1e\\xda\\xad\\xd0\\x74\\x6b\\xd8\\x03\\x13\\xc5\\x20\\xcc\\xc2\\xbc\\x40\\xe7\\x34\\xbd\\x25\\xc5\\xe5\\x76\\xeb\\x53\\xf8\\x0c\\x81\\x57\\x67\\xf0\\x19\\x75\\xb3\\xd3\\x0c\\x7a\\x83\\x1e\\xe4\\x95\\xa1\\xdc\\xc0\\xad\\x36\\xbc\\x60\\x38\\x67\\xf8\\xc2\\x10\\x36\\x88\\x06\\x03\\x4a\\x34\\xba\\xb0\\x93\\x77\\xb9\\x12\\x13\\xed\\xe5\\xc1\\x44\\x01\\x49\\xc0\\x27\\x84\\x0f\\x84\\x1b\\x02\\x1f\\x95\\xe1\\x0f\\x86\\xdf\\x33\\x16\\x81\\x8a\\x6b\\x2f\\xab\\x22\\xcd\\xd3\\xb3\\x0a\\x2d\\xcc\\x43\\x0d\\x18\\x59\\x7e\\xcc\\x53\\x04\\xf4\\xb6\\xf4\\x48\\xc5\\x73\\x7a\\x9c\\x64\\xc0\\xdc\\xb8\\x77\\xc9\\xef\\xbd\\xf6\\x4f\\xc7\\xf2\\x96\\x17\\xcf\\xbf\\xd3\\xbe\\xfd\\xf1\\xe7\\x37\\x57\\xce\\x7b\\x31\\xef\\x85\\x76\\x58\\x75\\xe9\\x6f\\xa1\\x35\\xcb\\x37\\x3c\\x3f\\xf7\\xb6\\x6d\\xcf\\x2b\\x5d\\xc9\\xcf\\x4f\\x4c\\x9d\\x35\\x79\\xc3\\xac\\xd1\\xc3\\x27\\x4f\\x5b\\xd0\\xfc\\xb9\\x03\\x17\\x77\\x4e\\xdb\\xe9\\x75\\x1c\\x9c\\x33\\xf3\\x0c\\xcd\\x0f\\x16\\x89\\x11\\x44\\x7a\\xd4\\x26\\x90\\xa9\\xe7\\x38\\x4c\\xf3\\xed\\x63\\x95\\xc1\\xb8\\x42\\x87\\x67\\xe9\\xf0\\x68\\x1d\\xd6\\x49\\x98\\x57\\x2f\\x12\\xf1\\x54\\x11\\x8f\\x10\\xb1\\xb2\\x9c\\x03\\x07\\x0e\\x54\\xe2\\x14\\x07\\xd6\\x72\\x26\\xa6\\x6f\\x36\\x19\\x53\\xd2\\x6c\\x5c\\x88\\xf7\\x1c\\xb1\\x70\\xa6\\xcf\\x0f\\x99\\x42\\xff\\x15\\xdb\\x56\\xed\\x5a\\xb8\\x46\\x98\\xfc\\xe7\\x19\\x7e\\x6c\\x8f\\x23\\xf7\\x37\\xc5\\xf1\\xa9\\x83\\x51\\x3e\\xa5\\xfa\\x26\\xfc\\x13\\xf0\\x1d\\xe0\\x53\\x06\\xc6\\xa7\\xaa\\x8e\\x9b\\x5c\\x48\\x8e\\x71\\x1e\\xac\\xf0\\x41\\xe8\\xab\\x15\\x95\\x05\\xb2\\xb5\\x06\\x9d\\x45\\x92\\x65\\xbd\\x8e\\xb3\\x58\\xac\\x3a\\xab\\xdd\\x46\\x03\\x73\\x52\\xb5\\xbc\\x46\\xd4\\x1a\\x38\\x33\\x07\\xfc\\x80\\xe3\\xac\\x70\\x49\\x44\\x92\\x14\\x47\\xaa\\x94\\xc6\\xfb\\x04\\xc6\\xa8\\x8d\\x1a\\x99\\xcd\\x79\\x14\\x7f\\x03\\x05\\xd3\\x30\\x4b\\x03\\xf6\\x99\\x7d\\x07\\xce\\x0d\\x7c\\xba\\xe3\\xfd\\x77\\xc8\\x3f\\xea\\x76\\x28\\xc4\\xa1\\xcf\\x49\\xaf\\xf4\\x11\\xbe\\x73\\x20\\x32\\x8e\\x0d\\x1f\\x87\\x67\\x93\\x1e\\xcd\\x1e\\xa9\\x1b\\xf2\\x72\\xcb\\x8c\\xce\\xd0\\x4e\\x84\\xc3\\x04\\x64\\xf4\\x40\\x66\\x1f\\x6a\\x14\\x70\\x61\\xb3\\x59\\x65\\xb3\\x5a\\x1d\\x2a\\xbb\\xd5\\x62\\xc6\\xe5\\x41\\x33\\x2f\\x69\\xcb\\x83\\x92\\xb5\\x5a\\x20\\x9b\\x71\\x24\\x2f\\x99\\x72\\x80\\x59\\x53\\x02\\xc3\\x6e\\x06\\xa1\\xbc\\x97\\x2c\\xcd\\xc9\\x1b\\xb2\\x6e\\x71\\x93\\x44\\x6b\\x46\\xf3\\x2e\\x4d\\x0a\\x3c\\xcd\\xb9\\x4f\\x5f\\x11\\xf6\\x83\\x9c\\x9d\\x4a\\x5e\\x58\\xa6\\xd9\\x2c\\x77\\xd9\\x8b\\x13\\xaf\\xe2\\x1b\\xa0\\x95\\xfc\\xcf\\xd8\\xcf\\x1c\\xf4\\xb0\\x78\\xcb\\x3d\\xf1\\xf1\\x96\\xbc\\x80\\x64\\x41\\x56\\x01\\x17\\x67\\x8c\\xf3\\xc1\\x78\\x4b\\x6f\\x24\\xde\\x92\\x7f\\x34\\xf4\\xfb\\x39\\x7e\\xb9\\xb0\\xff\\x7e\\x7f\\x1a\\x74\\x59\\x3b\\xde\\xb2\\xb6\\x8e\\x56\\x3b\\xe6\\x91\\x9e\\xbf\\x51\\x59\\xc3\\xe6\\xa9\\x63\\xa0\\x8e\\x41\\x6b\\xe6\\x4d\\x7a\\x5e\\x67\\x34\\xe9\\x40\\x03\\x4d\\x35\\x34\\x34\\x70\\x3c\\xe5\\x26\\x9c\\x41\\x30\\x68\\xb5\\xc8\\xa8\\xe3\\xe9\\x6e\\x42\\xd6\\x6a\\x8f\\x7a\\xca\\x3c\\xca\\xab\\x57\\x50\\x49\\x97\\x2d\\x2a\\xb9\\x1e\\xf2\\x5a\\x70\\x85\\xac\\x5e\\x3d\\x8d\\x55\\x36\\xb5\\x58\\xd6\\xa0\\xfb\\xa0\\x0e\\x99\\x4d\\x0a\\x8a\\x3b\\x87\\xbe\\xf9\\x14\\xef\\xc6\\x03\\xdf\\x0b\\xdd\\x2e\\x1d\\x3b\\xd7\\x96\\x99\\xba\\xa6\\xa9\\x2d\\xbf\\xef\\x1a\\x7e\\x65\\x28\\x89\\xfb\\xea\\xfe\\x1f\\x9b\\x2b\\x9b\\x40\\x3f\\x23\\xb1\\x97\\xc0\\xb3\\xfb\\x3c\\x34\\x6e\\xb1\\x12\\x64\\xde\\x49\\x26\\xf3\\xf2\\x02\\x6e\\x95\\x56\\xc9\\xe6\\xa6\\xa5\\x59\\xf0\\x44\\x5e\\xcb\\xc2\\x48\\x05\\x0b\\xae\\x29\\xf3\\xe2\\x58\\x35\\x9b\\x3c\\x45\\xe6\\x09\\x27\\x8f\\x57\\xcd\\x3d\\xc7\\x69\\xce\\xed\\x0a\\x9d\\x8c\\x4a\\xbc\\xfb\\xfd\\xd9\\x33\\xca\\xa1\\xc9\\x46\\xf0\\x0c\\x5a\\xb1\\xc8\\xa1\\x92\\x91\\xc1\\x60\\x94\\x8d\\x16\\xab\\x96\\x07\\x9c\\xa1\\x95\\x4d\\x16\\x03\\x68\\xb2\\x25\\xfe\\x78\\xcb\\x48\\x04\\xc6\\x55\\x9f\\x76\\x51\\x47\\x06\\xd8\\x7c\\xfc\\x94\\x67\\x37\\xb6\\x78\\xff\\xca\\xd9\\x5b\\xd3\\xef\\x9d\\x3d\\x8b\\x3f\\xcf\\xb0\\x9f\\x79\\x89\\x6b\\x1c\\xba\\xf1\\x6d\\x23\\xee\\x93\\xc8\\xd9\\x4c\\x10\\x9e\\x35\\x85\\x8d\\xc7\\x1f\\x70\\xc9\\x02\\x0c\\x05\\xa9\\xb4\\x48\\x4b\\xc7\\x83\\x79\\x78\\x0e\\x5f\\x11\\x17\\x05\\xeb\\xaf\\x2d\\xc2\\xfd\\x31\\x01\\xee\\x37\\x07\\xf7\\x60\\x0f\\xfd\\x07\\x43\\x69\\x2f\\x9c\\xa6\\x3f\\x51\\x3d\\xb9\\x37\\xcc\\x19\\x95\\x25\\x46\\xd4\\x22\\x90\\xac\\x96\\x24\\xbd\\xc8\\x19\\x11\\xd2\\xe8\\x39\\xbd\\xc9\\xac\\x05\\xac\\x00\\xcf\\xe2\\xc4\\x8a\\x78\\xb0\\x10\\xff\\x2c\\xff\\xc3\\x11\\x03\\xfd\\xb5\\xd0\\xa2\\xca\\xb5\\x07\\x63\\xfa\\x6f\\x55\\x04\\x37\\x44\\x1e\\x7d\\xbf\\x7d\\xe8\\xdd\\x58\\x8e\\x84\\x45\\x11\\xac\\xd0\\x3c\\x90\\x82\\x2c\\x16\\x8d\\x0a\\x94\\x09\\xc1\\xe1\\x44\\x14\\x2a\\xc0\\x60\\x23\\xf0\\x0d\\x50\\x82\\xca\\xf2\\x80\\x05\\x34\\xee\\xfc\\x89\\x9e\\x40\\x47\\x20\\x66\\xbe\\xb7\\x1a\\x5d\\x1a\\x16\\x03\\x30\\x08\\x7f\\x43\\x40\\x1d\\xe0\\x0c\\xf8\\xe5\\x7d\\xfb\\xc6\\x4d\\xdd\\xb7\\x9d\\x37\\x5e\\x79\\xe5\\xe4\\x47\\x00\\xdf\\xaa\\x5a\\xcd\\x9c\\x40\\xea\\x3c\\x86\\x58\\x5c\\xef\\x68\\xe8\\xcb\\x50\\x16\\xfb\\x6d\\x01\\x5c\\x19\\x08\\xa4\\x02\\x66\\x12\\x1c\\xb2\\xd1\\x28\\x58\\x1d\\xd0\\x21\\x97\\x6c\\xa8\\x08\\xca\\xb2\\x60\\x83\\xad\\x67\\xac\\x08\\x5a\\x29\\x68\\xf1\\xc7\\x42\\x48\\x6a\\xfa\\x57\\x44\\xac\\xb2\\x39\\x4a\\xcc\\x2b\\xa0\\x74\\xaf\\x8f\\xf6\\x86\\x7e\\xe5\\x5b\\x93\\xf0\\xcd\\x7b\\x87\\x5b\\xfc\\x7e\\x7f\\x0f\\x39\\xd5\\xb6\\xeb\\xfe\\x6d\\xd8\\x79\\x58\\xc1\\x2b\\xa1\\xf3\\x97\\x4e\\xfc\\x4a\\x6c\\x73\\xc9\\xef\\x74\\xd3\\xa2\\x1a\\x58\\x4a\\x03\\xbb\\x0b\\x28\\x5a\\x36\\x99\\x04\\x2d\\x33\\x50\\xc9\\xc6\\x72\\xda\\x19\\xe8\\x8b\\xa9\\x1a\\x3f\\x3d\\x48\\x72\\x6c\\x42\\xfc\\x0f\\x01\\x4d\\xe7\\x1e\\x86\\x98\\x42\\xef\\x54\\x03\\x26\\x1c\\xd5\\xd5\\x61\\xd5\\xb7\\x07\\x46\\xa8\\xd4\\x58\\x6d\\xb0\\xdb\\xb8\\x84\\x04\\x83\\xcd\\x90\\x98\\x44\\xd3\\xc0\\xe4\\x9a\\x79\\xa4\\x33\\xe9\\x52\\x75\\xbc\\x5e\\xc4\\xa0\\x24\\x1a\\x31\\x2e\\xc1\\xe5\\x78\\x02\\x06\\x99\\x7f\\x0e\\xdf\\xc1\\xbc\\x8e\\xc7\\x81\\xf4\\xba\\x1d\\x30\\x36\\xeb\\xcc\\x2e\\x58\\x4d\\x7b\\x43\\x7b\\xc0\\xce\\x23\\x7b\\x99\\x7d\\x97\\xfd\\x45\\xfb\\x0d\\xfb\\xcf\\x76\\x49\\xc7\\xdb\\xed\\x66\\xab\\x4a\\xa5\\xd3\\x01\\x1c\\xd5\\x09\\x35\\xe3\\xd7\\x26\\x45\\x57\\x9a\\x7e\\x9e\\x5c\\x43\\x5d\\x8c\\x1d\\x32\\xb3\\xbc\\xf5\\xd5\\x5e\\x08\\xa9\\x66\\x13\\xf2\\xc6\\x14\\xed\\x42\\xfc\\x2d\\x3e\\xa4\\xd9\\xb9\\x7f\\xe4\\x8e\\x8c\\x03\\x6d\\xbe\\x7b\\x86\\x73\\x91\\xaf\\xc9\\x1f\\x7b\\x7e\\xed\\xb6\\xb3\\x68\\xff\\xf0\\x3d\\x47\\xb4\\xdc\\xe0\\xb5\\xff\\xbe\\xb5\\x68\\x52\\xcb\\xe7\\xf6\\x84\\xba\\x91\\xe7\\xc8\\xa6\\xe3\\xe7\\x5b\\xae\\x79\\xe2\\xbb\\x5f\\xe9\\xbc\\xf7\\xa6\\xb6\\x5d\\x18\\xbb\\x05\\x25\\xa2\\x3e\\x81\\x5c\\xb7\\x5e\\x02\\x18\\xab\\x53\\xa9\\xd4\\x56\\xa4\\x46\\x49\\xc9\\x3a\\x19\\x86\\xab\\x3b\\xa7\\xe3\\x74\\xbc\\x4e\\xa7\\xd6\\x98\\x1c\\x15\\x41\\x93\\xa0\\xe1\\xd5\\x16\\x3e\\xa1\\xfa\\x54\\xa1\\xe4\\x2f\\xf0\\xac\\x39\\x5a\\xb4\\x84\\x85\\x64\\xf1\\x3e\\xa6\\x11\\xf9\\x3d\\xd4\\x62\\xca\\x47\\xa2\\xb4\\x80\\x96\\x9f\\xba\\x74\\xf6\\xa5\\x37\\xb4\\x5b\\x76\\xef\\xde\\xa2\\x7d\\xeb\\xa5\\x57\\x2f\\x1d\\x19\\x33\\x61\\xdc\\x98\\x4f\\xaf\\x71\\x07\\xc9\\x21\\xb2\\x05\\xb7\\xc2\\xfe\\xd0\\x4e\\x58\\xaf\\xe7\\x70\\x63\\xdc\\x98\\x1c\\x20\\xcf\\x62\\x07\\x56\\x93\\xff\\x90\\x5b\\xa1\\xbf\\x2b\\x74\\xd3\\x18\\xe8\\x26\\x87\\xe1\\x05\\x3b\\x1a\\x18\\x68\\xac\\xc3\\x58\\xa3\\x47\\xc8\\x20\\x58\\x34\\x1a\\xb5\\xa0\\x76\\x38\\xb1\\xce\\xac\\x2b\\x0f\\x76\\xa3\\xf9\\x7c\\x4a\\xcc\\x13\\xcc\\xe7\\xcc\\x77\\xcc\\xa2\\x8e\\x37\\x9b\\x91\\x2c\\xdb\\x80\\xb0\\x78\\x4d\\x4c\\xb8\\x54\\xdb\\x10\\x6b\\xe8\\x76\\xd5\\x3c\\x06\\x2b\\xc1\\x83\\x54\\xf2\\xf8\\xb0\\xd5\\xe6\\x80\\x4f\\xde\\xd4\\xc6\\x78\\xcd\\x8e\\x33\\xf7\\xbe\\xc3\\xff\\x3e\\xf7\\x13\\x59\\x97\\xb8\\x79\\x0d\\x76\\x91\\x9f\\xc9\\x07\\x5c\\x2f\\xcf\\x95\\x8d\\xc7\\x2f\\xfc\\x79\\x86\\x2b\\x09\\x5d\\xe0\\xdf\\x9b\\x31\\x1f\\x7f\\x02\\x3c\\xbc\\x12\\xe6\\x7a\\x39\\xb3\\xd9\\xb6\\x61\\x7d\\x5f\\x41\\xcf\\x45\\xc4\\xcf\\x81\\xe7\\x65\\xa0\\x1e\\x01\\x7b\\xa2\\xd1\\xee\\x93\\x24\\x3b\\x32\\x1a\\xed\\x99\\x59\\x3e\\x9d\\x8e\\x2f\\x0b\\xba\\x93\\x95\\x03\\x29\\x9d\\x5b\\xe7\\xb6\\x24\\x24\\x24\\xf6\\x08\\x26\\x58\\xd4\\x65\\x41\\x4b\\x7c\\x08\\x5c\\x24\\x71\\x60\\xcd\\x38\\x2a\\xa6\\x4a\\xc4\\xd7\\xdc\\x8f\\x18\\xa9\\xa9\\xdf\\x6f\\x41\\x61\\x41\\xa1\\x5d\\x92\\x0d\\xbc\\xdc\\x02\\xf3\\x9b\\x16\\x6f\\xdc\\xb9\\xf1\\xc9\\x8d\\xbb\\x57\\xfc\\xf6\\xf9\\x47\\x7f\\xfe\\xf4\\xfb\\xf7\\x63\\xbf\\xb9\\xfc\\xc4\\x9d\\xf7\\x17\\x6f\\xdb\\xd0\\xb3\\xae\\xd0\\xe0\\x1d\\xfc\\xfb\\x3b\\xe7\\x2e\\x5c\\xba\\xf8\\xfa\\x19\\xee\\x53\\x72\\x9f\\xfc\\x09\\x13\\x1f\\x82\\x25\\x29\\xc5\\x12\\x6e\\x7d\\x22\\x2b\\xc1\\xbb\\xdb\\xe3\\x4e\\x6c\\x33\\xe1\\xe8\\x9a\\xca\\xc7\\x19\\x5f\\x39\\x0d\\x6b\\xd1\\x84\\xc5\\xc7\\xb9\\x90\\x97\\xfa\\xb3\\x48\\xa6\\x64\\x5a\\x11\\xd2\\x63\\x32\\x19\\x6c\\x1a\\x83\\x26\\xcd\\x27\\x79\\x5c\\x1e\\x57\\xf7\\xa0\\xc7\\x63\\x30\\x1a\\xdd\\x65\\x41\\xa3\\xd1\\x60\\x2a\\x0b\\x1a\\xec\\xb5\\xd9\\x5d\\x1c\\x12\\x8d\\x50\\x11\\x1b\\x8f\\x82\\x36\\xed\\x14\\x6e\\xd2\\xdd\\x6e\\x55\\x40\\xa9\\xcf\\xeb\\xc6\\x91\\x4f\\xdc\\xb2\\x4b\\x97\\x1e\\x7b\\x74\\xc1\\x82\\x7f\\x5e\\x20\\x09\\xc7\\xb1\\xed\\x89\\x89\\xd3\\x57\\x93\\xff\\x82\\xac\\x1c\\x37\\x62\\xa6\\xd0\\x64\\xc5\\xa2\\x41\\x73\\x6c\\xb2\\x79\\xd1\\x98\\xf5\\xfb\\x85\\x26\\x55\\x9d\\x7b\\x0d\\x1c\\xfe\\x08\\xbe\\x48\\xce\\x77\\xe8\\xd7\\xa3\\x0b\\xf5\\xff\\x82\\xbe\\x53\\xff\\x2f\\x96\\xe7\\x84\\x22\\x65\\x9a\\x3d\\xa9\\x2c\\x28\\x1a\\x79\\x7b\\x8d\\x3c\\x27\\xd8\\x4e\\xd7\\x9f\\xba\\x75\\x1d\\x17\\x9a\\xac\\xaa\\xea\\x09\\xb7\\xb0\\xb5\\x74\\x80\\x4e\\x35\\x8d\\xdd\\x6f\\x45\\x9d\\x03\\xe9\\x82\\x1e\\x9b\\xf4\\x26\\xab\\x46\\x2b\\x5a\\x2c\\x2a\\x95\\x55\\x6b\\xb5\\xd9\\xd9\\x49\\xa2\\xd1\\x22\\xe8\\xd4\\xba\\xb2\\xa0\\xda\\x4e\\x8f\\x4a\\x1e\\xae\\x53\\xc5\\xb6\\xbc\\x82\\xc5\\x34\\x58\\xa6\\x69\\xb7\\x23\\x9a\\x15\\xb5\\x86\\xf0\\x25\\xe4\\x8d\\xf4\\xfe\\x01\\x7c\\x1f\\x17\\xee\\xad\\xfa\\x66\\xef\\xf4\\xd2\\xf1\\x39\\xdc\\xc4\\x75\\xfc\\x11\\x72\\x8f\\xcc\\x5c\\x11\\xfa\\x8c\\x29\\x56\\x99\\x95\\xf8\\x0a\\xae\\xa8\\xea\\x49\\xb1\\xc3\\x12\\xa0\\xb3\\x76\\x8c\\xee\\x3a\\x30\\x7e\\x47\\xf3\\x03\\xbd\\x0b\\x7d\\xf5\\xa2\\xc7\\x02\\x75\\x3c\\x49\\x09\\x5e\\x41\\x46\\x16\\xaf\\x17\\x64\\xa1\\x94\\xe0\\x70\\x3a\\x13\\x13\\xb4\\x1a\\x8d\\x28\\x25\\x00\\x02\\xf4\\xc8\\x49\\x82\\x2c\\x18\\x53\\xb1\\x11\\x2b\\x5e\\x70\\x96\\x5c\\x23\\x36\\x1a\\x9d\\x1a\\x93\\x31\\x41\\xa2\\xd6\\xe4\\xa8\\x22\\xc5\\x2c\\x22\\xd5\\x3a\\x54\\xbc\\x4b\\x5a\\xb4\\x7a\\x95\\xb9\\x5a\\x8b\\x6a\\x80\\xb3\\x40\\x8d\\x6a\\x80\\x79\\xbf\\x33\\xaa\\x46\\x95\\xe0\\x88\\x1a\\x05\\x80\\xd7\\xcc\\xb9\\x93\\x0b\\xf5\\xa1\\xd3\\xb8\\x9b\\xbd\\xd9\\xbd\\x97\\x36\\xb4\\xec\\xd7\\x60\\x6b\\xc3\\x60\\x60\\xc3\\xff\\xc7\\xd9\\x97\\x00\\x46\\x51\\x64\\xfd\\x77\\xf5\\x39\\x3d\\x57\\x77\\x4f\\x4f\\xcf\\x3d\\xc9\\x4c\\x26\\x99\\x5c\\xe4\\x20\\x93\\x83\\x24\\x1c\\xcd\\x7d\\x06\\x12\\x40\\x70\\xb8\\x12\\x14\\xb9\\x04\\x14\\x04\\x11\\xb9\\x05\\x44\\x41\\x40\\x0e\\x11\\x10\\x01\\x01\\x2f\\xc4\\x03\\x36\\xa0\\xa8\\x2b\\x08\\x8a\\x82\\xa0\\xae\\xee\\xae\\xd7\\xba\\xba\\xee\\x7a\\x9f\\xbb\\xba\\xab\\x9f\\x90\\xe6\\x5f\\x55\\xdd\\x73\\x25\\xe0\\x7e\\xdf\\xdf\\x08\\x99\\x84\\x99\\xae\\x57\\xaf\\x5e\\xbd\\x7a\\xaf\\xde\\x7b\\xbf\\x77\\xf8\\xdd\\xfe\\x05\\xa0\\xf1\\x58\\x9b\\xb5\\x26\\x1b\\x7c\\x4c\\xbb\\xcd\\x6d\\x17\\xc8\\x16\\x77\\x13\\x98\\xf3\\xfd\\xd4\\x16\\x09\\xbc\\xaa\\x75\\x71\\x4c\\x9c\\xfc\\xbd\\xf6\\xdc\\xf4\\xe2\\xb6\\x3d\\x24\\xc3\\x7b\\x68\\x2d\\x84\\xe6\\xba\\x06\\xce\\x3d\\x8f\\x1e\\x0a\\xad\\xbf\\x39\\x6a\\xcf\\x90\\x55\\x0c\\x40\\xb7\\xd1\\x1a\\xa0\\x72\\xa1\\x1f\\x95\\x4b\\xe5\\xe6\\x17\\x84\\x6c\\x56\\x1b\\x5c\\x0f\\x9b\\xcd\\x4b\\xa8\\x50\\x5f\\xb7\\x20\\xb5\\x7d\\xa3\\xf2\\x26\\x54\\xda\\xd0\\x04\\x51\\x14\\xaf\\xd7\\x01\\x77\\xa1\\x48\\xa0\\x08\\x1b\\xf4\\xeb\\x13\\x37\\xa0\\x1d\\xe0\\xbe\\xae\\xe4\\x3b\\xe9\\x0a\\x3a\\xa4\\xe3\\x22\\xe3\\x44\\x74\\x36\\x3d\\x7c\\xaf\\xcb\\x32\\x39\\xe6\\xe5\\xf7\\x3b\\xef\\xf6\\x6d\\x5b\\x01\\x4c\\x6f\\x1f\\x7b\\xfa\\xd4\\xcf\\xcb\\x97\\x59\\xf7\\x7a\\xde\\x79\\xf1\\xf4\\xe7\\x03\\x97\\x0d\\x58\\xf6\\xd8\\xb7\\xce\\xf9\\xab\\x3b\\x8d\\x6c\\x3c\\xd6\\x3c\\xed\\xce\\x31\\xc3\\xf7\\xf4\\x1f\\xe8\\xbc\\x73\\xc1\\xf6\\x95\\x3d\\xa7\\xf7\\x36\\x91\\xf6\\x4d\\xd3\\x76\\x1c\\x80\\x73\\x44\\xfb\\x4e\\x81\\xeb\\x69\\x23\\x2a\\x55\\x1f\\x3c\\xcb\\x6d\\x14\\xcb\\x32\\x36\\xc6\\x2e\\xac\\x31\\x03\\x33\\x65\\x13\\xd8\\x55\\x24\\x20\\xad\\x28\\x20\\x37\\x1e\\x17\\x7e\\xb4\\xaf\\x98\\x95\\x28\\xdd\\x41\\x42\\xd7\\xff\\x12\\x98\\x62\\x06\\x3f\\xbe\\x7c\\x90\\xa3\\x34\\xf6\\x04\\x5d\\xd7\\xf6\\x94\\xf6\\x35\\x75\\xdd\\x85\\xd3\\xe4\\x96\\x9e\\x93\\xca\\x2f\\xde\\x0b\\x07\\x41\\x71\\x10\\x34\\x1e\\xd3\\x0a\\xfd\\xa4\\x2f\\x50\\x9d\\x83\\xe9\\xb3\\x1f\\xf5\\x3a\\x07\\xbb\\x14\\x05\\x84\\xe8\\xb1\\xd2\\x69\\x3e\\xd2\\xfb\\xf0\\xbd\\xe3\\xe0\\xc7\\x1c\\x44\\x3f\\x35\\x62\\x33\\x5b\\x48\\x49\\x42\\x6e\\x92\\xd5\\xe2\\x80\\x7b\\x02\\x9a\\x5e\\x22\\x09\\x35\\x40\\x19\\xa4\\x8f\\x74\\x58\\x14\\xa3\\x44\\x1e\\x09\\x94\\xae\\xda\\x32\\xef\\x4c\\x33\\x3c\\x23\\x2c\\x2d\\xba\\x63\\xf4\\x7e\\xeb\\xec\\x2d\\x83\\x5a\\x4f\\x7e\\x32\\x74\\x00\\x58\\x7e\\x4e\\x3b\\x95\\x33\\xab\\x0a\\xee\\x4d\\x2d\\x3a\\xe1\\x06\\x60\\xd3\\x9e\\xbb\\xa1\\xb2\\xed\\x09\\xd0\\x26\\x38\\x35\\x3d\\x46\\xc3\\x42\\x79\\xf0\\x60\\x7a\\xca\\x54\\x0f\\x89\\xae\\xf8\\x1c\\xbc\\x43\\x76\\x8a\\x24\\xda\\x9c\\x9c\\x15\\xd7\\x96\\x27\\x92\\xb5\\xd3\\x53\\x87\\xb1\\xcf\\x91\\xe6\\x16\\xe1\\x9d\\x48\\x5d\\xab\\xad\\x28\\xcd\\x1d\\x36\\x7f\\x7a\\x45\\x27\\x6f\\x71\\xdd\\xc0\\x5e\\xbd\\xc9\\xd3\\x70\\x17\\x3e\\xab\\x5d\\xd2\\xfe\\x3d\\xcb\\xb6\\x9c\\xdf\\x02\\x1a\\xc0\\x17\\x38\\x2e\\x02\\x88\\xc9\\x90\\x0f\\x7a\\x8c\\x66\\x80\\x9a\\xc7\\xd0\\x82\\xe0\\x34\\xa3\\x48\\x0d\\x0e\\xd3\\x98\\x13\\x41\\x1a\\x55\\x68\\x14\\xc8\\x1e\\x70\\x87\\x31\\x84\\x19\\x2d\\x17\\xf2\\x68\\x13\\xc1\\x9a\\xda\\xf4\\x04\\xf1\\xc4\\x2d\\x5e\\xcd\\x65\\xe2\\x35\\xa6\\x0e\\xe1\\x9a\\xaa\\xa7\\x50\\xb8\\x66\\xf0\\xb6\\xb6\\x4e\\x70\\x41\\xd3\\xc3\\x35\\x90\\xae\\x23\\x90\\x2e\\x0f\\xce\\x7b\\xad\\x52\\xfd\\x00\\x75\\xd4\\x84\\xb2\\x63\\x66\\xac\\x36\\x60\\x6a\\x8a\\x97\\x01\\xf8\\x9f\\x99\\x81\\x7b\\x22\\x7d\\x5d\\xda\\x09\\x0f\\x32\\xbb\\x74\\xf5\\x04\\xa6\\x81\\x0b\\xad\\xad\\x1a\\x83\\xb8\\x5f\\x0d\\xce\\x5e\\x38\\x0d\\xbe\\xd5\\x64\\xa4\\x20\\x2f\\x53\\x33\\x9a\\x18\\x17\\xfb\\x7b\\x0c\\x0b\\xfd\\x7c\\x60\\xe2\\x39\\x1a\\x05\\x1d\\x59\\xa0\\x10\\x69\\x51\\xe3\\x04\\xf6\\x17\\xd6\\xbb\\x1e\\xfd\\xf1\\x17\\x20\\x9f\\x0d\\xdd\\x6b\\xe0\\x76\\xf4\\xa2\\x1b\\xe1\\xb3\\x47\\x24\\xc7\\x4a\\xc6\\x46\\x8d\\xd8\\xe7\\x20\\x3c\\x56\\xbe\\xea\\x00\\x70\\x1f\\x33\\x8c\\x89\\xa7\\x15\\x8a\\x43\\xdb\\x9a\\x48\\x56\\x07\\xa6\\x15\\x69\\xcb\\x61\\xac\\xe6\\xc3\\xb7\\x51\\xaf\\x6a\\x37\\xb7\\x6a\\x37\\x63\\x55\\x4f\\x1d\\x84\\xcf\\xee\\x05\\xc7\\xba\\x13\\xd7\\x63\\x8f\\xc3\\x67\\x5e\\x3f\\xf8\\xf3\\x2a\\xe6\\x1c\\xf4\\x91\\xdc\\x44\\x90\\x18\\xaa\\x16\\x04\\x04\\xda\\xea\\xa4\\x29\\x86\\x81\\x82\\xe5\\x41\\x2d\\x03\\xb3\\x6d\\x84\\x1f\\xd7\\x85\\x09\\x50\\xfb\\x38\\x59\\x94\\xe1\\xc0\\xba\\x3a\\x54\\xe2\\x79\\x7a\\xa4\\xbb\\x34\\x49\\x6c\\x1c\\xa3\\x1c\\x0f\\xc5\\xc2\\xe1\\x3f\\xb9\\x1c\\x40\\x64\\x24\\x3b\\x60\\x2a\\xa3\\xf9\\x52\\x2e\\xbd\\xea\\xbb\\x4f\\xee\\xfb\\xe4\\x5f\\x3f\\xfc\\xe3\\xbe\\xaf\\x3f\\xbd\\xb8\\x04\\xb8\\xd7\\xad\\x21\\x5f\\xbe\\x7d\\x1d\\x90\\xc9\\xac\\x8b\\xda\\xdf\\x15\\x6d\\x0a\\xd8\\x26\\x83\\xf0\\x85\\x36\\x10\\x70\\x82\\xe5\\xda\\x52\\x59\\xfb\\x1a\\x1e\\xe1\\xb7\\x15\\x53\\x43\\x9d\\x7f\\x38\\x71\\xea\\x0f\\x8e\\x8b\\xbf\\x2b\\x44\\xbc\\x9a\\x00\\x79\\x33\\x13\\xcf\\x67\\xac\\x51\\x9b\\x3a\\x95\\x7e\\x08\\xcb\\x43\\xb5\\xaa\\x90\\x0c\\xc3\\x03\\x33\\xcf\\x9a\\x59\\x2b\\xb4\\x7c\\xcd\\xa0\\x29\\x6e\\x56\\x4c\\xf0\\xd8\\x3a\\x6c\\x08\\x44\\x7b\\x3c\\x80\\x94\\x40\\xe8\\x22\\x01\\x26\\x41\\x81\\xd8\\xbc\\xef\\xe2\\xe3\\xf0\\xc0\\x1d\\x48\\x3d\\x7d\\x71\\x60\\xdb\\xa7\\x60\\x1b\\x5a\\x35\\x40\\xec\\x80\\xcc\\x6b\\x83\\x2f\\x25\\xa2\\x58\\x55\\x08\\xe8\\x7e\\x71\\x26\\xc9\\xe4\\x90\\x6d\\x34\\xd2\\xc5\\xbc\\x92\\x04\\xcb\\x68\\x67\\xe6\\xeb\\xc5\\xc2\\x52\\x32\\x3f\\x51\\x02\\x43\\xaf\\x9b\\x38\\xef\\x44\\x6b\\xeb\\xe7\\x7b\\x37\\x6d\\x81\\x62\\x37\\x6b\\xe8\\xc8\\x4a\\x92\\x80\\x92\\xf7\\xd6\\xd8\\x5d\\x6b\\xc0\\x7d\\x44\\xc6\\xde\\xbb\\x9c\\x6f\\x29\\x20\\xdf\\xb2\\x29\\x8e\\xf6\\xfc\\xff\\xc2\\xb7\\x9c\\xbc\\x07\\x88\\x7b\\x80\\xb4\\x27\\x31\\x1f\\xea\\xe9\\xc4\\x3e\\x1a\\x07\\xf9\\xf6\\x7b\\x6c\\xfb\\xf4\\x52\\x45\\x7d\\x0c\\x9b\\xdd\\x8e\\x86\\x11\\x25\\x3b\\x64\\x99\\x8a\\x07\\xb3\\x64\\x8e\\x86\\x87\\xeb\\xd1\\xd1\\xbf\\x8c\\x49\\xe9\\x5f\\x11\\x69\\xdc\\x9e\\xff\\x81\\x5f\\x1b\\x36\\xa4\\x86\\xd5\\x59\\x49\\x90\\xe8\\x56\\x9a\\x5e\\x02\\xc7\\x45\\x7e\\x65\\x5f\\x35\\xd7\\x0a\\x99\\xc7\\x49\\xd0\\x61\\x76\\xb9\\xad\\x4a\\x13\\x14\\x39\\x60\\x81\\x86\\x3b\\x07\\x8d\\x61\\x94\\xb7\\xce\\xd9\\x9a\\xe2\\x5c\\x87\\x70\\x7e\\x7b\\xff\\x32\\x19\\xc1\\xa8\\x82\\x96\\x55\\xcc\\xb8\\xf8\\x23\\x3f\\x3a\\xff\\xd6\\xbb\\xa7\\xb5\\x29\\xda\\x33\\xe0\\xe2\\xd9\\xdb\\x6e\\x99\\xbb\\xea\\x35\\xf2\\xc6\\xcd\\xbb\\x77\\xec\\xa7\\x0e\\xae\\xd7\\xaa\\x35\\x61\\xdc\\xb5\\x13\\x46\\xe3\\xfd\\x30\\x1d\\xdd\\xdf\\x42\\x7a\\x90\\x1f\\x87\\xb0\\x91\\x73\\x05\\x8a\\xe2\\x9c\\x6e\\xb3\\x05\\xae\\xb0\\xdb\\xe3\\x35\\xcb\\x90\\x28\\x33\\x24\\xca\\x6c\\xe6\\x14\\x93\\xc0\\x59\\x9a\\xe2\\x4e\\x44\\x51\\xd2\\xbf\\xec\\x70\\x25\\x9e\\x41\\x52\\x2c\\x45\\x10\\x06\\x75\\x7c\\x14\\x13\\x75\\x62\\xff\\x7d\\x8b\\x6f\\x9a\\xbd\\x64\\x27\\xf9\\xd4\\x7e\\x9d\\x28\\xa4\\x7f\\x34\\x61\\xc2\\xc4\\x09\\xa3\\x35\\x1b\\x52\\x16\\xd0\\x3e\\x3b\\x07\\xe9\\x2a\\x34\\xe8\\xaa\\x53\\xb3\\x10\\x3d\\x02\\x64\\x93\\x53\\x49\\xa7\\x48\\x27\\x28\\xc1\\xa1\\x8e\\xd4\\x5c\\x9e\\x12\\x72\\x0d\\xa6\\xa2\\x67\\xeb\\x0f\\x88\\x2f\\xff\\x4c\\x27\\xc1\\x60\\x0b\\x94\\x8f\\x45\\x50\\x27\\x75\\x85\\x76\\x48\\x90\\x58\\xac\\x0e\\x73\\x7b\\x3c\\x22\\x61\\xe2\\x24\\xbb\\x1d\\x61\\xf1\\x67\\x8b\\x42\\x53\\x3c\\x5b\\x2c\\x13\\x8f\\x8b\\xdf\\x8b\\x97\\x44\\x26\\x5b\\xfc\\x08\\xbe\\xa0\\x44\\x91\\xf2\\x0b\\x6e\\x78\\x80\\xbb\\xdd\\x7e\\x3f\\xd4\\x1a\\x7e\\x11\\x15\\x13\\x87\\x4c\\x37\\x9a\\x96\\x99\\xa0\\x00\\x8b\\xa6\\x16\\xd3\\x09\\x13\\x6d\\x32\\x19\\x28\\xa4\\xb3\\x2f\\x7f\\xa9\\xdb\\xc1\\x89\\x44\\x80\\x73\\xd0\\xfe\\x32\\xfc\\xc6\\x70\\xba\\x4f\\x59\\x41\\xd0\\x5d\\xb5\\x4b\\x3f\\x2d\\x38\\xb3\\xc8\\xf6\\x82\\xb0\\x65\\xce\\xc6\\x2d\\xbc\\x76\\x1b\\x58\\x62\\xda\\xb2\\xf9\\xe6\\x35\\xe2\\x89\\xec\\x7f\\xb7\\xfe\\x04\\x4f\\xe9\\x2c\\xed\\x3b\\xed\\xe3\\xf8\\xae\\x66\\xeb\\xe4\\xd9\\x4f\\x3d\\xb7\\xe2\\xf0\\x81\\x69\\x63\\xed\\x5b\\x1f\\xd7\\xfe\\x8a\\x6d\\xe0\\x7e\\x70\\x8e\\xdb\\xe0\\x1c\\x1d\\x44\\x36\\x31\\x56\\xed\\x2c\\xdb\\x00\\x10\\xe1\\x46\\x16\\x44\\x2f\\x2a\\x61\\x0c\\x4b\\x82\\xa8\\x10\\x76\\xc8\\x6d\\xe2\\x0d\\xe2\\x23\\x82\\x82\\x3b\\x84\\x30\\xd3\\x66\\x17\\x14\\x4c\\x17\\x1d\\x84\\xf6\\x95\\xd8\\x41\\x30\\x33\\x80\\x8b\\x52\\x07\\x9f\\x1c\\x4b\\x65\\xdd\\x90\\xf9\\xd8\\xad\\x4c\\x54\\xab\\xe2\\xc9\\x7c\\xf5\\xa8\\xf4\\xfa\\xc3\\x87\\x5e\\x3f\\x7b\\xf4\\xf0\\x1b\\xec\\xc3\\xfb\\xf7\\x83\\x91\\x37\\x4c\\x9d\\x3a\\xab\\x6a\\x42\\xb7\\x19\\xb3\\xc9\\x1b\\x3f\\xb9\\xa8\\xbd\\xa9\\x69\\xda\\xff\\x68\\xef\\x00\\xf9\\x3b\\x74\\x3a\\xb5\\x7d\\xf2\\xda\\xc7\\x7f\\x79\\x63\\xed\\xef\\xaf\\xfb\\x10\\xcf\\xa1\\x2f\\x14\\xe2\\x0b\\xc6\\x7e\\x1a\\xac\\xe6\\x11\\x14\\xc5\\x98\\x15\\x8b\\xc5\\x0c\\xa7\\x2e\\xc1\\x73\\xd1\\xed\\xa2\\xe0\\x11\\x0e\\x85\\xd6\\x09\\x4c\\x26\\x38\\x17\\x93\\x60\\x49\\x9e\\x56\\xba\\xf3\\x42\\xc4\\x3a\\x04\\x7a\\x8d\\x42\\x07\\x10\\x95\\x74\\xf7\\xd1\\x6b\\x54\\xf9\\xd4\\x03\\x72\\xb0\\xf6\\xf2\\x6b\\xe0\\xea\\xff\\x79\\xf7\\x0d\\xf0\\x54\\xeb\\x57\\xb7\\xdd\\x72\\xfd\\xa2\\x36\\x70\\x16\\x9e\\x9d\\xef\\x54\\x02\\xfa\\x9e\\xad\\x50\\x8d\\x9d\\x05\\xff\\x1c\\x37\\x7e\\xc2\\x78\\xfd\\x9c\\xc3\\x76\\x3c\\xb2\\xbb\\x90\\x1d\\x2f\\xb1\\x44\\xef\\x43\\x28\\x8a\\x46\\x86\\xe0\\x01\\xf1\\xcc\\xa5\\xc3\\xad\\xc1\\x90\\xcd\\x99\\x11\\x77\\xd3\\xdf\\xbf\\x30\\xf9\\xfe\\xe9\\x26\\x02\\x45\\x7a\\x29\\xd2\\x2f\\x45\\x29\\xd2\\x94\\x1d\\xb4\\xc9\\x19\\xb9\\x01\\x55\\x18\\xff\\xea\\x1c\\xf4\\x46\\x5b\\xd4\\x2c\\xd9\\x1e\\x66\\xc8\\x50\\x28\\x2f\\xec\\xb1\\x87\\xed\\xd1\\x7c\\x26\\x92\\x1b\\x69\\x8a\\x93\\xb9\\x96\\x40\\x63\\xdc\\x64\\xb1\\x3c\\x73\\xe9\\x84\\xea\\xe0\\xad\\x03\\x72\\x2d\\xb9\\x16\\x22\\xac\\x48\\xf0\\x78\\x93\\xfc\\x70\\xd4\\x1e\\xe9\\x45\\x4e\\x46\\x6d\\x66\\x66\\x02\\xb5\\xee\\x9b\\xca\\x31\\x94\\x27\\xa4\\x38\\xb9\\x58\\x75\\x2c\\xe4\\xd5\\xa1\\x9b\\xaa\\xdc\\x28\\xb1\\x3b\\x89\\x27\\x13\\xa9\\x8a\\x1d\\x3b\\x82\\x10\\x5b\\x79\\x6a\\xda\\x57\\x60\\xc2\\x2d\\xb7\\x34\\x54\\x74\\xef\\x57\\x8d\\x61\\x65\\x56\\xae\\x64\\xce\\xdd\\xbf\\x62\\x65\\xfd\\x9a\\xf3\\xda\\x8a\\x8b\\xaf\\x6c\\x5f\\xc3\\xaf\\x65\\x07\\x4c\\xa5\\x68\\x0c\\x2f\\xf3\\x18\\x7d\\x70\\xc5\\xa5\\x4b\\xba\\x3f\\x87\\x6d\\xd4\\xbf\\x1b\\x31\\xca\\xcd\\x84\\x6e\\xa5\\xb2\\xd0\\x4a\\x9d\\xc2\\xf2\\x34\\x91\\x11\\x43\\xdc\\x08\\x79\\xd5\\x84\\xf7\\xe7\\x0a\\x75\\x84\\xdb\\x4e\\x50\\xd9\\x36\\x11\\x9a\\xfd\\x2c\\xeb\\x72\\x13\\x6e\\x78\\x86\\x8b\\x50\\x6e\\x6d\\xd9\\x36\\x3d\\x55\\x8a\\x49\\x4b\\x95\\xf2\\x53\\x7e\\x19\\x6e\\x4b\\xd7\\x8d\\xae\\x65\\x50\\x36\\x5c\\xa2\\xab\\xc5\\x75\\xc2\\x45\\xf3\\x94\\xcb\\xe5\\x37\\xa0\\x8f\\x41\\x06\\xec\\x71\\xc6\\x85\\x4f\\x7a\\x70\\x36\\x21\\x2f\\xb8\\xe1\\x62\\x7a\\xc1\\x15\\x07\\x39\\xa5\\xef\\x56\\x1d\\x01\\x79\\x23\\x20\\x7f\\x7a\\xfa\\xdf\\x81\\x13\\xe2\\x9a\\x9b\\xef\\xde\\x62\\x01\\x4b\\xb4\\xdb\\x2c\\x5b\\x36\\xcc\\xde\\x22\\xbe\\x60\\x5b\\xf4\\xea\\xad\\xff\\xbe\\x44\\xe8\\x00\\xc8\\x87\\x36\\xd9\\xc7\\x4e\\xdb\\xff\\xcc\\x8a\\x13\\x8f\\xdd\\x38\\xc5\\xda\\xbc\\x2b\\x0e\\x42\\x58\\x26\\x1e\\x86\\xf3\\xcc\\xa5\\x07\\xc3\\xf3\\x1e\\xd7\\x83\\x12\\x1b\\x10\\xbe\\x0c\\xce\\x69\\x1a\\x92\\xf6\\x33\\x92\\x99\\x1f\\x75\\x99\\x29\\x24\\xf4\\xec\\x00\\x33\\x2a\\xa8\\x76\\xda\\xad\\x14\\xc8\\xa8\\x01\\xcd\\xc8\\x3b\\x83\\xfb\\xc7\\x0b\\x9f\\xff\\x30\\xdc\\x3f\\x5e\\x22\\x44\\x8c\\x56\\x4b\\x4d\\x6e\\xaf\\xcf\\xc7\\xba\\x59\\x21\\x48\\x0a\\x64\\x38\\xc7\\x1b\\x82\\x6c\\xf4\\x42\\x65\\xeb\\xf5\\xba\\x59\\x37\\xb4\\x30\\xdd\\x82\\x0d\\x3a\\x58\\x36\\x17\\xeb\\x6b\\x8a\\xb3\\x4a\\x87\\x04\\x81\\x34\\xfd\\xeb\\x48\\x53\\xc2\\x21\\xc9\\x48\\x14\\x40\\xfc\\x30\\xa2\\x14\\x35\\x32\\x3e\\xad\\x50\\xb6\\x25\\x15\\x00\\x6b\\x5f\\x7f\\xfe\\x8d\\x07\\x0b\\x9c\\xdd\\x27\\x4d\\x28\\xcb\\x53\\xf2\\xca\\x2b\\x23\\x8e\\x2a\\xf0\\x6a\\xec\\xb3\\x4f\\x2b\\xc9\\x1b\\xb5\\xd7\\xb7\\x3e\\x42\\xbd\\xa8\\xf5\\x7d\\xe7\\x1f\\xcd\\x96\\xe5\\x5c\\xdf\\x83\\xcf\\x91\\x41\\xa8\\xaa\\x99\\x33\\xc7\\x75\\x8c\\x0b\\x38\\xff\\xa7\\xb0\\x7f\\xe0\\x87\\xf4\\x77\\x62\\x64\\x99\\xb4\\xd9\\x24\\x1e\\x88\\xa2\\xe4\\xe6\\x25\\x3e\\x10\\xf4\\x43\\xf3\\xbc\\x29\\xce\\x08\\x00\\xce\\x02\\x00\\x1b\\x61\\x83\\xe7\\x87\\x64\\x4b\\x9a\\xc8\\x29\\xc2\\x3b\\x60\\xdb\\xa4\\x5a\\xd0\\xe9\\x26\\x12\\x3e\\x4a\\x8a\\x81\\x6e\\x3a\\x27\\x0e\\x93\\xff\\x80\\xc1\\x3b\\xaa\\xd1\\x79\\xf2\\x07\\xed\\xc8\\x0e\\x72\\x69\\xf5\\xb2\\x5b\\xe7\\xae\\xaa\\xd1\\xed\\x69\\xad\\x1a\\x1d\\x2c\\xe0\\x67\\x8d\\x87\\x76\\x40\\xfd\\xa4\\xeb\\x26\\x4c\\x44\\x7b\\x16\\xd2\\x8b\\xf6\\x6c\\x80\\x18\\xa9\\x06\\x29\\x3b\\x43\\x42\\xff\\xdd\\x23\\xd8\\x3d\\xf6\\x60\\x16\\xe3\\xf3\\x43\\xae\\x92\\x7e\\x8b\\x9c\\xdc\\xb2\\x56\\xb8\\x65\\xfd\\x16\\xbf\\xc5\\xee\\x51\\xf0\\x66\\x8d\\xfd\\xd6\\x46\\xbd\\xcc\\x3e\\x8d\\x5c\\x71\\x7b\\x1e\\xe9\\xb0\\x31\\xdb\\x1a\\xc8\\xed\\xc9\\x1d\\x89\\x65\\x0b\\xfb\\x82\\x78\\x4f\\x7e\\x85\\x65\\xeb\\xe6\\xe9\\xfa\\x8e\\x94\\xe1\\x8e\\xac\\x92\\x5d\\x44\\x7a\\x6e\\x53\\x3b\\x1f\\x93\\xe8\\xfd\\xbe\\x9e\\x31\\x20\\xa1\\x48\\xdc\\x7b\\xad\\xa2\\x6c\\x63\\x32\\x74\\x1d\\xb6\\xcb\\xb1\\x6e\\x1c\\xa7\\xfb\\xa4\\xff\\x4c\\xd5\\xe9\\x13\\xee\\x6c\\xb3\\x94\\xe6\\x93\\x1e\\x81\\xef\\xd5\\x7d\\x9e\\x4a\\xd5\\xcb\\x9b\\xcd\\x04\\x0d\\xcd\\x32\\x82\\x83\\xf6\\xa0\\x1f\\xda\\x68\\x50\\x49\\x66\\x1a\\x84\\x3d\\xae\\x68\\x10\\x46\\xa4\\x23\\xad\\xd0\\xc2\\xd5\\xf6\\xec\\xd3\\x2d\\xb3\\x0b\\xa7\\xd1\\xed\\x3f\\xd6\\x27\\x03\\xe0\\x3e\\x58\\xc5\\x8c\\x21\\x4a\\x89\\x26\\xb5\\xa8\\x30\\xe8\\x01\\x80\\xc8\\x8d\\xd8\\xec\\x26\\x59\\xb6\\x47\\x88\\x20\\x53\\x56\\x6e\\x89\\x86\\xa2\\xe8\\xe2\\xdf\\x27\\x86\\x68\\xa6\\x93\\xaf\\x53\\x73\\xdc\\xe3\\xf2\\xa1\\x0c\\xa2\\x84\\x57\\x90\\x2a\\x3e\\x71\\xa7\\x5d\\x0b\\xe9\\x11\\x00\\x9c\\xec\\xa6\\x1f\\x80\\x38\\x7f\\x56\\x7f\\x89\\x7a\\x09\\x25\\xe0\\xfc\\x50\\xef\\x08\\xfd\\x75\\x0d\\x99\\xb5\\xd5\\xd5\\xa3\\x7c\\xf0\\x88\\xe1\\x83\\x8a\\x23\\x63\\xfb\\x2d\\x5e\\xb7\\x6f\\xef\\xe6\\xcd\\xa3\\x47\\x6e\\xdd\\x7e\\xdf\\xbe\\x0d\\x3d\\xae\\x2e\\x88\\x87\\x4b\\x06\\x0d\\x1f\\x3e\\x68\\x64\\x17\\xf2\\x7e\\x6d\\x56\\xdd\\x50\\xb8\\xbb\\x51\\x83\\x1c\\x77\\xc5\\xa8\\x39\\xda\\x5a\\xe8\\xca\\x1e\\xd3\\xb6\\x3c\\xf6\\x18\\xb4\\xe3\\x87\\x81\\x01\\xe0\\xa6\\xea\\xfa\\xd1\\x15\\xda\\x57\\xf8\\x26\\xf0\\xe3\\xa5\\x7a\\x0d\\x23\\xc2\\xa7\\x7a\\x08\\xd7\\x7c\\x0f\\x53\\xf3\\x79\\x93\\x55\\xb0\\xdb\\x38\\x96\\x11\\x45\\xce\\x6e\\xa5\\xcd\\x32\\x49\\xba\\xdc\\x16\\xb3\\xd9\\x25\\x5a\\x6d\\x9c\\x95\\xe3\\x15\\xbb\\x59\\x60\\x79\\x1d\\x6f\\x29\\xb9\\xa1\\x41\\xf2\\x8e\\xaf\\x1d\\x6c\\x25\\x4e\\x0a\\x8e\\x20\\x14\\xfd\\x18\\x90\\xa9\\x98\\x8c\\xb1\\x98\\xe8\\xb9\\x15\\x77\\xdf\\xb5\\xe7\\x86\\xd5\\x07\\xb4\\xbd\\x4f\\x03\\xcb\\xa6\\x3b\\x9f\\xfe\\x78\\xc4\\xb8\\x72\\xba\\x6e\\xc1\\xfa\\x87\\xb5\\xf1\\x5f\\x82\\x3b\\xb4\\x5b\\xe0\\x4a\\xcc\\x02\\x4f\\x80\\x7f\\x5c\\x9c\\xb5\\x03\\x0c\\xbe\\x77\\xe7\\xad\\x70\\x4f\\x2b\\x46\\x6c\\x01\\xed\\x69\\xe8\\x7d\\x0b\\x84\\xc7\\x63\\x35\\xc9\\xb4\\x89\\x0e\\x04\\x09\\x77\\x73\\xdc\\x61\\xb6\\x98\\x5b\\xe2\\x02\\x34\\xd5\\x09\\x8b\\xc9\\x46\\x99\\x3c\\xa9\\x08\\x8c\\x5e\\x49\\x93\\xc4\\x18\\x48\\xcf\\xa1\\x01\\xe1\\x44\\x18\\x46\\x6f\\xd4\\x8f\\x50\\x57\\x13\\x91\\x07\\x30\\x11\\x07\\x1d\\x50\\xf8\\x61\\xdd\\xba\\xe3\\xe0\\x35\\xad\\x8a\\xbc\\x29\\x11\\x80\\xd0\\x43\\x32\\xd4\\x67\\x9b\\xcf\\x9d\\xdb\\xdc\\x76\\xbf\\x11\\x84\\xd0\\x69\\x7c\\x88\\x79\\x0d\\xd2\\xe8\\x23\\xfa\\xab\\xb9\\x26\\x5a\\x96\\x81\\xe8\\xb2\\x8a\\x56\\x7f\\xc0\\x04\\x77\\xb1\\xc9\\x24\\x12\\x22\\xd4\\x34\\xa2\\xc2\\x39\\x08\\xa8\\x31\\x69\\x12\\xe9\\x9b\\xd3\\xb1\\xb4\\x46\\x39\\xed\\x02\\x45\\xd8\\x8b\\x45\\x52\\x8a\\x53\\x49\\x12\\x26\\x3d\\x30\\x5a\\xc7\\x2b\\xa0\\xa4\\x15\\x14\\x69\\x7f\\x06\\xd2\\xf9\\xb7\\xde\\x7b\\x59\\xab\\xd3\\xde\\x06\\x7f\\xfb\\xf9\\xd7\\xb9\\xab\\x7e\\xa1\\xeb\\xc0\\x46\\xed\\x86\\xb5\\xda\\xa7\\x8f\\xec\\xbe\\xff\\x29\\xea\\xc9\\x8b\\x6f\\xbe\\x3e\\x61\\x32\\x92\\xe7\\x1e\\x50\\x9e\\xcf\\x61\\x1c\\xed\\x69\\x6a\\x8d\\xdf\\xe7\\x33\\xe5\\xc0\\xfd\\x68\\xb7\\xe7\\x4a\\x26\\x27\\x54\\x8d\\xc8\\x79\\xcb\\x8b\\xba\\xb3\\x51\\xc9\\x19\\x21\\x38\\x85\\xe6\\x78\\x0e\\x42\\xee\\xf3\\x3b\\x39\\x4a\\x72\\xc0\\xff\\x71\\xc8\\x30\\x11\\x2d\\xd0\\xfb\\x19\\x4a\\x69\\x99\\x9e\\x69\\x2a\\x32\\x3d\\xbd\\x1a\\x03\\x2d\\x41\\xcd\\x8e\\xf1\\xfb\\x92\\xf1\\x03\\x84\\x5b\\x01\\x4f\\x46\\x52\\x3f\\x19\\xc9\\x5e\\xfc\\xad\\x8b\\x63\\x0d\\x6a\\xe7\\xed\\xfd\\x7e\\x7f\\xe7\\xab\\x1f\\xd9\\x0e\\xec\\xdb\\x77\\xc0\\x0b\\x36\\xaf\\x7d\\xb1\\xcb\\x03\\x91\\xfa\\x61\\x55\\x0b\\x6f\\xe2\\x41\\x3f\\x72\\xe2\\xc5\\xbf\\x56\\x4c\\x5c\\xd2\\xe5\\xf4\\x13\\x00\\x1a\\x8e\\x6d\\xfb\\x50\\xcc\\x9c\\xbc\\x66\\xdf\\x93\\xdd\\xa7\\x8f\\x2b\\xfd\\xf3\\x7f\\x36\\xe2\\xfd\\x7a\\x2d\\x9c\\xdf\\x6e\\x5c\\xa3\\x30\\x4d\\xed\\xc2\\x00\\x20\\xbb\\x5c\\x6c\\x4e\\x8e\\x42\\x06\\x6c\\x56\\xb8\\x04\\x64\\x20\\x92\\x9b\\xed\\x81\\x87\\xb9\\x8b\\x17\\x1b\\xe3\\xbc\\xe8\\x22\\x18\\x68\\x04\\xca\\x4c\\x19\\x03\\xfc\\x8c\\xcd\\xc6\\xf8\\x29\\x92\\xd2\\x8b\\xfc\\xf5\\xc9\\x8d\\x4f\\xce\\x2e\\xed\\x1a\\x29\\x7d\\x82\\x15\\x89\\x5b\\x8d\\x18\\xba\\xd4\\xcd\\x3c\\xeb\\x1d\\xc9\\x46\\x30\\x64\\x3e\\xe0\\xf6\\xef\\x3f\\x60\\x3d\\x7b\\x74\\xdd\\x31\\xcf\\xe3\\x96\\xb1\\x23\\x67\\x4c\\x66\\xc1\\x50\\xed\\xb0\\xed\\x7c\\xc3\\x75\\xd6\\xc7\\xe4\\xdf\\x6f\\x3e\\x7a\\xde\\x02\\x3e\\xd1\\xb2\\xe0\\xf9\\x50\\xfc\\x15\\x71\\xe9\\xe1\\x7b\\xec\\x63\\xa6\\x1f\\x38\\xb6\\x42\\xdb\\x38\\x65\\xa6\\xf5\\xbe\\x56\\x68\\x26\\xa4\\xea\\x79\\x4e\\xe2\\xd8\\xaa\\x13\\xda\\xb4\\x51\\x89\\x84\\xca\\xc8\\x62\\xa6\\x19\\x91\\x43\\x81\\x1e\\x9e\\xb1\\x12\\xb4\\x4b\\xa1\\xa0\\x8d\\x8e\\x32\\x1c\\x79\\xab\\x99\\x62\\x00\\xef\\xc0\\x7d\\x4d\\xda\\x2b\\x21\\x4c\\x3e\\x6e\\x68\\x86\\x2f\\x72\\x23\\x78\\x4d\\xe0\\xdf\\x20\\x26\\x00\\x56\\x00\\xe1\\xfc\\x68\\x3e\\x7d\\xf2\\xcc\\xf3\\xb7\\x3d\\xb9\\xf8\\x79\\x84\\x06\\x7d\\x8d\\x29\\x3f\\x6f\\x18\\xe8\\x3b\\xb4\\x38\\x4c\\x3a\\xdb\\xbe\\x41\\x7f\\x98\\xbe\\x8f\\x66\\x6d\\x98\\xf6\\xe1\\x87\\x8b\\x16\\xeb\\xb6\\x36\\xbd\\x1a\\xeb\\x61\\x07\\xa2\\xcb\\x9a\\xa0\\xcb\\xc1\\x09\\x98\\x2e\\x81\\xa0\\x9d\\x32\\xc5\\x39\\xb8\\xc6\\xb8\\xc3\\xc1\\x0b\\x66\\x01\\xd2\\xa5\\xfc\\x1f\\xe9\\x42\\x80\\xa2\\x02\\x49\\xaf\\x3e\\x73\\xf7\\xc2\\xfd\\x73\\xef\\x3a\\x0b\\x0e\\xfd\\xa9\\x74\\x58\\xa8\\xc8\\x5e\\x33\\x04\\xdc\\xa8\\xdd\\x8d\\xfe\\x40\\x0f\\xe0\\x85\\xb3\\x57\\x6f\\xae\\x3c\\xf6\\x2a\\xe6\\x55\\x0f\\x48\\xd3\\x79\\x9c\\xd3\\x11\\x20\\xa6\\xa8\\x55\\x28\\x25\\xd0\\xc3\\xa1\\xf2\\x50\\x9a\\x91\\xcc\\xe8\\xaa\\xd0\\x4b\\x3a\\x21\\x99\\x84\\x93\\xe1\\x6d\\x4c\\x30\\x8b\\xa3\\x2c\\xa2\\x05\\xaa\\x6e\\x51\\xb4\\x39\\x1d\\x94\\x9d\\x82\\x4e\\xbe\\x0d\\xb3\\x2e\\xa6\\x43\\xda\\xc7\\x12\\x70\\x67\\xc9\\x0e\\xb9\\x15\\x52\\xf2\\x9a\\x3c\\x99\\xcd\\x90\\xa4\\x57\\x36\\x64\\x5c\\x4e\\xe3\\xe7\\xf9\\xbd\\xdb\\x9b\\xf7\\x8e\\xdd\\xbe\\xf7\\x81\\x67\\xf7\\xed\\xfb\\xf2\\xcc\\x9e\\x61\\x5c\\x30\\xa4\\x02\\xae\\x87\\x57\\x49\\xf0\\x54\\xe7\\x6b\\xdb\\x74\\x72\\xeb\\xa3\\x59\\xab\\x6e\\xfa\\xf0\\xc3\\xab\\x27\\xc0\\x79\\x5c\\x8b\\xd6\\x1c\\xf2\\x96\\x24\\x5c\\xc4\\xf5\\x6a\\x35\\xc1\\x01\\x96\\x65\\x5c\\x02\\x24\\x91\\xb4\\xda\\x68\\x80\\x6e\\xfa\\x6c\\x76\\x45\\x92\\x1c\\x0e\\xbb\\x99\\xa1\\x3d\\x6e\\x59\\xb0\\x9a\\x44\\x05\\x5a\\xb9\\xa4\\xa2\\x50\\x76\\x33\\xeb\\x50\\x00\\x25\\xe8\\x8a\\x3a\\x35\\x8f\\x24\\xba\\x52\\xea\\x34\\x82\\x93\\x48\\xcc\\x44\\x07\\x9a\\x81\\xc7\\x79\\x0c\\xb4\\x9f\\x50\\x98\\x5a\\xbf\\xf0\\x96\\xaa\\x3b\\xc0\\xf4\\x5d\\xb3\\x47\\x6e\\x6f\\x9a\\xb5\\x6f\\xf1\\xfb\\xd0\\x2d\\x63\\xc0\\x2f\\x60\\x93\\x36\\x8b\\xec\\x05\\xfd\\x1c\\x63\\x31\\xc0\\x6c\\x6d\\x03\\x5c\\x90\\x67\\x8d\\x98\\x0a\\x9c\\xc3\\x33\\xb8\\x16\\x27\\x8b\\x68\\x56\\xcb\\x82\\xfe\\x2c\\x68\\xd1\\x30\\x4e\\x2f\\x11\\x08\\xe0\\x4c\\x4d\\xd9\\xc9\\x32\\x8c\\x33\\x94\\x6d\\xb1\\x7b\\xed\\x2d\\xf1\\x00\\xe1\\xf5\\x3a\\x7d\\xbe\\xac\\xe6\\xb8\\x8f\\xb2\\xb1\\x4e\\x5d\\x80\\x13\\x09\\x9b\\x1d\\x01\\xb3\\x0d\\x94\\x95\\xe4\\x0d\\x63\\x16\\x19\\x04\\x11\\x0c\\x9d\\x06\\x29\\xb6\\xeb\\x3f\\x40\\xdd\\x03\\xc2\\x40\\x0e\\x53\\xe5\\x9b\\x0f\\x0c\\x6e\\xed\\x72\\xfb\\xc2\\x17\\x96\\xae\\xa9\\x6b\\x1d\\xf6\\xc4\\x3d\\xda\\x19\\xea\\x3b\\x4d\\x78\\x51\\x9b\\x43\\x31\\xf6\\xf9\\x7f\\xfc\\xe8\\xfc\\x5b\\x27\\xb7\\xf4\\xa3\\xdb\\xd6\\x93\\x73\\x98\\x81\\xdb\\x8f\\xbd\\x75\\xfe\\xfd\\x77\\x6e\\x11\\x48\\xb5\\xed\\x18\\x78\\x0c\\xcf\\x23\\x02\\xe7\\x71\\x00\\xae\\x85\\x0f\\x7a\\x17\\x63\\xd5\\x32\\xbb\\x10\\x70\\xba\\xe4\\x60\\x90\\xe3\\x4c\\x7e\\x05\\x8a\\x92\\x62\\x72\\x0a\\x4c\\x56\\xb6\\x4b\\x96\\x83\\x2c\\x1f\\xe4\\x9b\\xe2\\xc1\\xa0\\xe0\\x74\\x42\\x3f\\xcb\\x29\\x98\\x80\\xa0\\xa4\\xcf\\xc3\\x28\\x34\\x8a\\x65\\xc0\\xc7\\xa6\\x12\\xf8\\x93\\xf4\\xe7\\xd8\\x01\\x9e\\x40\\x35\\xa2\\x3f\\x8b\\x54\\x40\\x58\\xa6\\x0f\\x1c\\xa8\\xbf\\x63\\xc5\\xa3\\x8b\\xd6\\x74\\x3f\\x70\\xf4\\x3d\\xed\\x2c\\xf5\\xae\\xf6\\xea\\x96\\xc7\\x1b\\xb4\\x6d\\xda\\xb0\\x3f\\xf7\\xbb\\x7b\\x63\\x1f\\x5a\\x6b\\x02\\x4f\\xf6\\xbd\\x67\\x43\\xbf\\x7e\\xda\\x5f\\x9c\\x24\\xdb\\xf6\\xab\\xfd\\xfa\\xd3\\x4f\\x52\\xd3\\xb4\\x25\\xc6\\x9e\\xd8\\x87\\x73\\xc6\\xf3\\x88\\xb9\\x6a\\x5d\\x6e\\x4e\\x5e\\x38\\x27\\xcc\\x2a\\x21\\x22\\x12\\xb1\\xdb\\x9c\\x0a\\x94\\x23\\x7b\\x80\\xcd\\xf6\\xfb\\x03\\xd0\\x5d\\x0a\\xe4\\x47\\x05\\xab\\x2f\\xdb\\xd7\\x1c\\x8f\\x10\\xd9\\xd9\\x81\\x70\\x38\\xaf\\x39\\x1e\\xa6\\x82\\x94\\x62\\xe7\\x02\\x89\\x8d\\x91\\xb1\\x28\\xb1\\x0e\\xfa\\x3f\\x69\\x2a\\xa7\\x2d\\x0e\\xd5\\x71\\x71\\xaa\\x6b\\x12\\xb2\\x05\\x97\\x28\\x42\\xad\\xbc\\x7e\\x5e\\x35\\xff\\x50\\xb8\\x71\\xf0\\xfe\\xa1\\x23\\x22\\x0f\\xf9\\x7c\\xb7\\xef\\xdd\\x0b\\x16\\xbc\\x4d\\x9e\\xd5\\xf6\\xcc\\xfd\\x91\\x62\\x6c\\xe3\\xb7\\xbc\\x3c\\xef\\xfc\\x5b\\xef\\xac\\x52\\xf5\\x65\\xea\\x7d\\xd7\\xb9\\xb7\\xce\\xbf\\xf0\\x48\\x97\\xb6\\x7b\\xe0\\xce\\x79\\x91\\xec\\x91\\x5c\\xab\\x52\\x38\\xd7\\x56\\x1c\\x1b\\xcb\\x25\\xe6\\xa8\\xb5\\x39\\x6c\\x84\\x61\\x19\\xab\\x9f\\xa3\\x73\\x73\\x9d\\xb2\\xcf\\x2f\\x3b\\xfd\\x4e\\xc2\\x66\\xa5\\xc2\\x61\\xc2\\x4a\\x44\\xf3\\x14\\x47\\x08\\xc1\\x13\\xe7\\x72\\x14\\x45\\x30\\x4c\\x04\\xc5\\x0b\\x81\\xe0\\x77\\xda\\xf4\\xd0\\x58\\xc5\\x6f\\x4c\\xf5\\x0a\\x33\\x8d\\xe9\\x13\\xa2\\x32\\xa4\\x31\\xb5\\x9a\\xd0\\x51\\x88\\xc8\\xa5\\xad\\x60\\xe5\\x5b\\xe4\\xd9\\xb3\\xb3\\x6f\\xad\\x3a\\x10\\x6a\\x68\\x78\\x74\\xf0\\x90\\xf0\\x81\\x2e\\x5d\\xdf\\x21\\x37\\xfd\\xb8\\x08\\xee\\x9d\\x5f\\xd1\\xe2\\xd9\\xc6\\x3d\\xf9\\xe7\\x7e\\xfd\\x9e\\x9b\\x5f\\x49\\xa1\\x65\\xad\\x5e\\x72\\xa4\\x5f\\xbf\\x1d\\xfb\\x8b\\xb5\\x26\\xea\\x49\\xb8\\xa0\\xf8\\xbc\\x1b\\x02\\x6d\\xe0\\x71\\xec\\xd7\\xc4\\x48\\x62\\x9d\\xda\\x24\\x88\\xd5\\x83\\x15\\x67\\x44\\x76\\xf5\\x54\\xf9\\x28\\xd1\\xa9\\x53\\x54\\x0d\\x14\\xba\\x18\\xe7\\x60\\xd1\\x7c\\xd5\\xa8\\x6e\\xbd\\x9b\\xe3\\x15\\xc3\\x5a\\xe2\\x85\\x0c\\xcd\\xd0\\x2d\\xf1\\x88\\x0c\\x4f\\x46\\x6b\\x73\\x1c\\xea\\x62\\x3b\\xd5\\xad\\x82\\x11\\x5c\\x2e\\x81\\xa9\\xe8\\xc6\\x0c\\xf0\\x0d\\xe8\\xd2\\x1c\\xef\\x39\\xc0\\x97\\xdd\\x12\\x77\\xfa\\x88\\x32\\x54\\xf2\\x0f\\xff\\xc2\\xd8\\x6c\\x1e\\xdc\\xb8\\x18\\xfb\\x72\\x3a\\x0c\\x3c\\xe4\\x49\\x26\\x46\\x55\\xda\\x99\\xdf\\x3e\\xcb\\x10\\xee\\x41\\x68\\xfb\\xd5\\xe0\\x16\\x55\\xb8\\x21\\x9a\\x00\\x70\\xd0\\x4c\\xcf\\x3a\\xa4\\x70\\x05\\x2c\\x4a\\xb5\\x42\\xee\\x54\\xa4\\x32\\x92\\x63\\x27\\x8d\\x2a\\xe6\\x9a\\xee\\x34\\x75\\x1f\\x4a\\x44\\x3c\\xf2\\xf8\\xc6\\xd5\\x4b\\x0e\\xc6\\x0e\\xd7\\xbc\\x78\\xef\\x33\\x3b\\xf7\\x8d\\x0d\\x0e\\xa8\\x1e\\x51\\xd2\\x4b\\x0a\\xd8\\x15\\xdb\\xd5\\xf7\\xb7\\xde\\x7d\\xc7\\xb6\\x03\\xe5\\xc3\\xe7\\xad\\xbf\\xef\\xde\\x99\\xf5\\xfb\\xeb\\xae\\xbf\\x76\\x7c\\xc9\\x84\\x99\\xdb\\x06\\x05\\x47\\xcd\\x58\\xd2\\xfb\\x8e\\xbd\\x23\\x77\\x3e\\xb0\\x79\\xc6\\xe8\\x1e\\x11\\xb0\\x79\\xd5\\xcd\\x5b\\xe6\\x2f\\xbc\\x7e\\xe1\\xbc\\xdb\\xba\\xdd\\xf9\\xb0\\x0f\\x8c\\xd0\\x9e\\x7b\\xb7\\x77\\x97\\x86\\xee\\x59\\x42\\xf0\\xd5\\xc0\\xef\\xef\\x5a\\xfa\\x50\\xc8\\xfd\\xe4\\xca\\xb1\\x2b\\xc6\\xd5\\xe7\\x3a\\xa4\\x50\\xac\\x70\\x86\\x3f\\x1c\\xb8\\x6d\\x52\\x43\\x20\\x27\\x70\\xf7\\xad\\xa3\\x67\\x75\\x17\\xec\\xae\\xbc\\xee\\x71\\x54\\xeb\\x04\\x7d\\xe5\\x5f\\x99\\x47\\xa1\\xa7\\xbc\\x4e\\xcd\\xaa\\x25\\x9c\\x8a\\xd7\\x93\\xef\\xf6\\xd9\\x8b\\x4c\\x9d\\xfb\\xf4\\xee\\xdd\\x39\\x54\\x54\\xe2\\x33\\x43\\xbf\\xcc\\x3c\\x74\\x98\\xda\\x0f\\x45\\x5b\\x95\\x78\\x89\\x05\\x9a\\xa6\\x8d\\xf1\\x3e\\xaa\\xc5\\xe9\\xb4\\xa8\\x7d\\xe8\\xc1\\xee\\xc1\\xf5\\x18\\x51\\x68\\x70\\x00\\x21\\x0d\\x79\\x55\\x7b\\x3c\\x2b\\xdf\\xed\\xf6\\xf8\\x54\\x9f\\xd4\\x18\\xf7\\x89\\x46\\x9f\\xcc\\x0f\\x21\\x27\\x5f\\x4a\\x78\\xd1\\x06\\xfb\\x75\\xa6\\x5f\\x9e\\xe7\\x6e\\xcc\\x2d\\xb2\\xaa\\x32\\x5c\\x95\\x96\\xdd\\x79\\x05\\xb6\\x2b\\x7a\\xb6\\xe7\\xe5\\xf9\\xbe\\x75\\xc0\\xaa\\x35\\x2b\\xaf\\xaf\\xd5\\x8e\\x3c\\xb0\\xed\\xda\\xf1\\xf1\\xd9\\xd6\\xbd\\xb9\\x7f\\x7c\\x3e\\x93\\xe5\\x63\\x6f\\xbc\\x63\\xe3\\x94\\x05\\xdb\\x87\\x1f\\xfc\\xdd\\x8d\\xc3\\x8a\\xb6\\xd5\\x8d\\x1b\\x3e\\xb4\\x64\\xec\\x74\\xc8\\xf0\\xbe\\xa3\\x67\\xf4\\x59\\xb8\\x6b\\xf7\\xd0\\x6b\\xbb\\x3a\\xe5\\x92\\x21\\xdd\\x5e\\xbd\\x73\\xe4\\xd5\\x83\\x46\\x0d\\xea\\xe7\\x3c\\xdb\\x09\\xc4\\x53\\xdc\\x7e\\xd3\\xb7\\x61\\xf2\\x75\\x77\\xf0\\xa4\\x6d\\xc3\\xcc\\xe6\\x55\\x8d\\x3e\\x39\\xbb\\x34\\x77\\x6e\\x76\\x6e\\xf6\\xe2\\xa9\\x0d\\xc1\\x48\\x70\\x2b\\xf2\\x47\\x2e\\x19\\x78\\xfe\\x41\\xa2\\x8f\\x9a\\x13\\x94\\x44\\xc2\\x2e\\x52\\x82\\xc0\\xb9\\xdc\\xee\\xac\\x6c\\x13\\xc7\\x65\\x05\\x70\\x4e\\xb0\\x64\\xb7\\xbb\\xd0\\xcd\\x7f\\x26\\xa6\\x7f\\xca\\x13\\x49\\x46\\x60\\xc2\\x52\\x4e\\x29\\x89\\xd3\\x7d\\x29\\xcc\\xac\\x0c\\x58\\xff\\x95\\x73\\x87\\xf6\\x2b\\x9a\\xf4\\xc0\\xa4\\x50\\x49\\xe7\\x7e\\x4d\\x18\\xdc\\xff\\xd3\\x33\\x75\\x60\\x5d\\xc1\\xb5\\x2f\\x3d\\x83\\xd0\\xfd\\xd7\\xdf\\x3e\\x30\\x2b\\x85\\xef\\xff\\x2f\\xed\\xeb\\x04\\xbe\\xbf\\x02\\xf7\\xde\\x04\\x7c\\x47\\xd2\\x5d\\xcd\\x32\\x7b\\xbd\\x16\\x8f\\x87\\x71\\x48\\xd0\\xc0\\x80\\x1e\\xbb\\x87\\x96\\x04\\xc2\\x6d\\x75\\x63\\x18\\x41\\x4b\\x20\\x1d\\x46\\x30\\xe3\\xf8\\x8a\\x75\\xc4\\x11\\xd4\\xe9\\x24\\x11\\x8e\\xe0\\xdd\\x7b\\xef\\xda\\xf3\\xb7\\x6f\\x77\\xcf\\xb8\\x6d\\x78\\xde\\xfc\\x87\\x97\\xb9\\x8a\\xba\\xd7\\xec\\x9e\\x4f\\xee\\x3a\\x44\\xce\\x69\\xbb\\xfb\\xe7\\x4f\\x75\\x34\\xc1\\xa6\\x27\\xce\\x90\\x2b\\xdb\\x86\\xdf\\x32\\xb3\\x0c\\x50\\xa7\\xf4\\xbc\\xb0\\x54\\xcf\\x13\\x54\\xbd\\x35\\x40\\x8d\\x86\\xed\\x76\\xd6\\x19\\x0c\\x12\\x2c\\x51\\x50\\xe8\\x77\\x41\\x95\\x0e\\x37\\xbe\\x3f\\xe2\\x8f\\x50\\x3c\\x9f\\x8d\\x1b\\x9c\\x48\\xed\\x1a\\x9c\\x18\\xb9\\x28\\xed\\x11\\x99\\x53\\x3d\\x4e\\x40\\x0e\\xe7\\xc3\\x57\\x59\\x2c\\x02\\x20\\xc8\\x83\\xce\\x69\\x38\\x44\\x21\\x44\\x1a\\x32\\xd9\\xef\\x04\\x03\\x43\\xb5\\x0d\\x1b\\xd8\\x8d\\xde\\x75\\xcf\\xfa\\x2d\\x62\\x71\\xb4\\xeb\\x94\\x96\\xf1\\xe0\\xba\\xa2\\x7c\\x93\\xf6\\x96\\xf6\\x7d\\x4e\\xb7\\xde\\x3d\\xae\\x1b\\xd7\\x9c\\xd6\\x03\\x45\\x87\\x8b\\x7a\\xc4\\xa3\\x5d\\xd2\\xfe\\xe7\\x4f\\xe7\\x6d\\xc5\\x55\\xc5\\x76\\x0b\\xd0\\xb4\\x19\\xee\\x4e\\x95\\x9d\\xf4\\x79\\x21\\x2c\\xfd\\x01\\xd0\\xb6\\x37\\x43\\x8e\\xa3\\xba\\xfc\\x68\\x8e\\xcd\\xc6\\x06\\x64\\x19\\xce\\xab\\xb0\\xc8\\xa7\\x40\\xfd\\x6d\\x81\\xbb\\x27\\xd7\\x97\\x4b\\x99\\x4c\\xd9\\x8d\\x71\\x93\\x48\\x89\\xed\\xca\\x90\\xaf\\x30\\xaf\\x14\\xd2\\x74\\x0e\\x97\\x95\\x31\\x2d\\xdd\\x98\\xd7\\x27\\x36\\xe0\\xd7\\xef\\xbe\\xfd\\x17\\xf8\\xf4\\x97\\xaf\\xda\\x6e\\xe9\\xdb\\x8d\\x59\\xb7\\xfe\\xde\\xb5\\xfc\\xc0\\xea\\xca\\xd1\\x43\\x07\\x81\\x68\\x8f\\x6e\\x96\\xdb\\x37\\xdc\\x79\\x97\\xd4\\xbd\\x47\\xc5\\xb0\\xc1\\xc3\\xc8\\x2c\\xed\\x1f\\xda\\x57\\xf0\\xc4\\x96\\xc8\\x72\\xed\\x7b\\xed\\x8b\\xc8\\xeb\\xa7\\x9e\\x3a\\x16\\x0a\\x17\\x86\\xb3\\xc3\\x47\\x9f\\xd8\\xbe\\x27\\x2b\\x5c\\x10\\x26\\x8c\\xde\\x2d\\x4c\\x67\\x66\\x18\\xb4\\x51\\xcb\\x55\\x0f\\x20\\x58\\x96\\xb4\\xd9\\x14\\x8a\\x24\\x9d\\x8a\\x59\\x6c\\x8e\\x9b\\xa1\\x2f\\xc2\\x02\\x5c\\x60\\x98\\x00\\x3c\\x4d\\x5d\\x9d\\x87\\x91\\x33\\xed\\x72\\xfb\\x41\\xaa\\xc1\\x24\\x47\\x9e\\x3f\\xab\\x71\\x67\\x80\\x5a\\xd0\\xa9\\xe9\\x4c\\xfd\\xee\\x01\\xd7\\x16\\x4f\\x2c\\xee\\x94\\x55\\xe2\\x64\\xfa\\x5e\\xbc\\xf5\\x96\\xdd\\xa0\\x13\\x79\\xe8\\x6c\\x55\\xf1\\xec\\xd2\\xae\\xbd\\xf0\\xd8\\x23\\xe0\\xfe\\x7a\\x1d\\xf2\\xd2\\x49\\x94\\xaa\\x2e\\x8b\\x59\\x14\\x29\\xe8\\x20\\x29\\x94\\xcb\\x2a\\x88\\x16\\x85\\x60\\x87\\xc7\\x89\\x44\\xd1\\x6c\\x7a\\x4e\\x71\\x02\\xc1\\x4e\\xaf\\xfb\\x47\\x66\\xb9\\xcb\\x5d\\x23\\x77\\x07\\xd4\\x2f\\xc9\\xe1\\x2e\\x7e\\xa4\\xcd\\x3f\\xf1\\x9d\\xad\\x8b\\x7a\\x6f\\x68\\x2e\\x3d\\x54\\x1f\\xf1\\xe2\\xdb\\xf0\\x40\\x53\\x0b\\x5e\\xfe\\x9a\\x34\\xcf\\x6c\\xd6\\xef\\x79\\xf0\\xdc\\xd9\\xfb\\x1d\\x51\\x1a\\xf7\\x0a\\x23\\xdf\\x24\\x3d\\xc4\\xbf\\x71\\xcd\\x5b\\xb6\\x5e\\xf3\\xb6\\xb0\\x35\\xe0\\x25\\x6d\\x19\\x77\\x94\\x98\\x66\\xe6\\x11\\xf8\\x99\\x3c\\xe3\\x33\\x15\\x06\\xb6\\x5d\\x48\\x47\\x89\\xdc\\xdb\\x1a\\xf4\\x59\\xd3\\xb0\\xed\\xa0\\xcc\\x64\\xc3\\x3d\\x7a\\x86\\x19\\x4d\\x48\\xd0\\xf6\\x44\\x77\\x38\\x25\\xf9\\x1e\\x8b\\x39\\xdb\\x21\\xf0\\x56\\x9b\\xdd\\x6e\\x25\\x1d\\x66\\x0f\\x5b\\x56\\xee\\x8f\\xb4\\xc4\\xfd\\xb4\\x52\\xdc\\x12\\x57\\x64\\x9b\\x59\\x10\\xac\\xd0\\x6d\\x62\\x5a\\xe2\\x08\\x7c\\x4c\\x47\\xbc\\x31\\x4a\\xa0\\x8b\\x33\\x71\\x56\\x75\\xd4\\x5e\\x3d\\x8d\\xa0\\x07\\xc0\\x3d\\xad\\x28\\x3b\\x48\\xa4\\xc4\\xe1\\xa2\\x46\\xaa\\x52\\x87\\x45\\x50\\x9c\\xba\\x0f\\x4c\\xbe\\x50\\x19\\x0d\\xe4\\xd4\\x0e\\xcb\\xb3\\x69\\xff\\xdc\\xf3\\xd4\\xba\\xdd\\xff\\xac\\xbc\\xed\\x95\\x55\\xf7\\x6d\\x5b\\xb9\\x6a\\xc7\\xf5\\x0b\\x6b\\x76\\xbb\\x2a\\x2b\\x2a\\xab\\xdc\\xae\\xca\\xf2\\xaa\\x2a\\x8f\\x36\\xda\\xb2\\x9a\\x9d\\xbf\\xac\\x98\\xae\\xba\\xf8\\x1d\\xe5\\xb8\\x70\\xfa\\xab\\xe3\\xf4\\x10\\x6d\\x95\\xf6\\x12\\xe8\\x05\\xe6\\x81\\xe5\\x20\\xb6\\x42\\xfb\\x5c\\xfb\\xe2\\xbb\\x4f\\x26\\x4d\\xff\\xea\\xe3\\x0f\\xbe\\xb9\\x61\\xca\\xf7\\x89\\xb9\\xc2\\x35\\xe5\\xe1\\xfe\\x28\\x26\\x46\\xa8\\x25\\x0e\\x3a\\x2f\\xd7\\x4c\\x14\\x46\\xa2\\xf9\\x05\\x05\\xd1\\x00\\x91\\x4b\\xb3\\x9d\\x4a\\xf2\\x73\\x85\\xc2\\x68\\x44\\xf1\\xc1\\x0d\\xe2\\x0b\\x70\\xf6\\xa6\\x38\\x27\\x92\\xae\\x26\\x1d\\xbe\\x22\\x71\\x69\\x6b\\xcc\\xf9\\x32\\xb3\\x4d\\xb5\\x36\\x6a\\x37\\xb1\\x8e\\x7c\\x20\\xc7\\x6a\\x1f\\x6b\\xff\\x58\\xbb\\x65\\xf3\\x1a\\x3c\\xaf\\x6a\\x97\\x2b\\xd6\\xb9\\xaa\\xda\\x0d\\xc8\\x0e\\x1c\\x20\\xb3\\xda\\x5e\\x27\\x2b\\x80\\x17\\xb8\\xb5\\x7f\\x6b\\x1f\\x1c\\x3d\\xd8\\x30\\xe2\\xe8\\x43\\x0f\\x1f\\xb9\\x6a\\xd8\\x33\\x17\\xff\\xde\\x9e\\x07\\x06\\x66\\xc2\\x6e\\xa8\\xdf\\xf6\\x11\\x6e\\x38\\xcb\\xeb\\xd4\\x9a\\x1c\\x6b\\x28\\xd7\\x57\\xe4\\x21\\x88\\xa2\\x5c\\x2b\\xdd\\xa9\\x24\\x18\\xf4\\x85\\x84\\x50\\x73\\x5c\\x11\\x04\\x47\\xb6\\x83\\xe4\\x29\\x87\\x43\\xa0\\x8a\\x72\\xf3\\xf3\\x73\\xf9\\xdc\\xe6\\x38\\xc1\\x8a\\x2c\\xc9\\xb2\\x94\\xee\\x18\\x97\\x8d\\x37\\xb0\\x3a\\x62\\xfa\\x7d\\xbe\\x94\\xe8\\x0e\\xd6\\xbe\\xa0\\x4d\\x24\\x39\\x1d\\x01\\x08\\x23\\x6e\\xd6\\xe8\\xcd\\x3f\\xe1\\xf2\\x8a\\x3a\\xda\\x4a\\x3e\\x2b\\x89\\x3a\\x2c\\xa7\\xbb\\x9a\\x9e\\x7c\\xf8\\x71\\xd7\\xa8\\xaa\\xea\\xab\\xdc\\x4f\\x3e\\x79\\xf4\\xa0\\x7b\\x64\\x2c\\x36\\xc2\\xfd\\xc4\\x91\\x33\\xbb\\xdc\\xc3\\xcb\\x3b\\x0f\\xf7\\xec\\xdc\\xe3\\x19\\x56\\x5e\\xde\\xe8\\xd9\\x0d\\x35\\xdf\\xb7\\xda\\x43\\x5d\\x4a\\xba\\xd4\\x74\\xaa\\x06\\xe3\\x80\\x02\\x4d\\xc3\\x86\\x8a\\xa2\\xca\\xca\\xa2\\x0a\\xed\\xb0\\xf6\\x0f\\xb0\\x70\\x66\\x7e\\x59\\x59\\xfe\\x0c\\x6d\\xa5\\xb6\\xf4\\xa6\\x68\\xa7\\xb2\\xe8\\x0d\\x70\\xde\\x5d\\x2f\\x6d\\xa0\\xef\\xa6\\x1f\\x87\\xa7\\x5d\\x11\\x31\\x53\\xed\\x2a\\x13\\x05\\xae\\x9c\\x40\\x36\\xcf\\x07\\x5c\\x04\\x5d\\xdc\\x09\\xfe\\xed\\x05\\x66\\xca\\xeb\\x75\\x89\\xae\\xc6\\x38\\x4e\\x77\\xe7\\x29\\x28\\xe3\\xa2\\x2b\\x2f\\x2f\\xa7\\x80\\x2a\\x68\\x8c\\x73\\x94\\xc0\\x64\\x33\\x24\\xc3\\x18\\x61\\x8c\\xe4\\x6c\\x11\\x27\\x0c\\xb3\\x4e\\x8f\\x3a\\xc6\\x3a\\xe0\\xb0\\x38\\x6a\\x10\\xc0\\x0c\\x8d\\xc0\\xf6\\x50\\x8c\\x27\\x4a\\xca\\x4e\\x97\\x31\\x63\\x1d\\xa9\\x5c\\xe7\\x83\\x1d\\x74\\x7d\\xe3\\x5c\\xa7\\x49\\xd7\\x94\\x80\\x1d\\x6f\\xbd\\x5a\\x72\\xcd\\xc4\\x92\\xd3\\xef\\xfc\\x7e\\xfa\\x6c\\xc7\\xe0\\xea\\xaa\\x81\\xf2\\xdc\\x29\\x53\\xe7\\xc8\\x83\\xaa\\xe0\\xab\\x79\\x53\\xc9\\xac\\x5f\\x80\\xdf\\x33\\xe9\\xda\\x12\\x0d\\x5c\\xd0\\xbe\\xf0\\x5e\\xdb\\x22\\x03\\x3f\\x00\\x27\\xdf\\x72\\x97\\x77\\xad\\x2b\\xf5\\x9f\\x3f\\x7e\\xf2\\xbc\\xa7\\xb4\\xae\\xb6\\xc4\\xf7\\x07\\xb4\\x87\\x51\\xad\\xeb\\x6b\\xdc\\x7b\\x44\\x19\\x51\\x07\\x6d\\xae\\xc5\\x6a\\x9f\\xa0\\xd8\\xbb\\x4f\\x97\\xf2\\xf2\\xba\\x88\\xa5\\x90\\x65\\x1b\\x08\\x4b\\x9d\\xab\\x8f\\x68\\x1a\\x3a\\xac\\xae\\xb6\\x25\\xde\\x50\\x5f\\xdf\\xa7\\x93\\x4f\\xf6\\xa1\\x03\\xad\\xae\\x4f\\xb5\\x2c\\x57\\xf7\\xa9\\xa3\\xfb\\xdb\\xfa\\xf7\\x5c\\x1f\\xef\\x6f\\x8b\\x86\\x6c\\x50\\x30\\x22\\x16\\x0b\\x6f\\xc3\\x37\\xb4\\x52\\x12\\xd7\\x2a\\x65\\x60\\x25\\x9a\\x1c\\xb5\\x43\\xd7\\x48\\x4a\\x42\\x2a\\x64\\x99\\x71\\x4d\\x8b\\x76\\x83\\xfe\\x43\\x75\\x4d\\xea\\x52\\x17\\x2a\\x49\\x6c\\x64\\x45\\xaa\\xab\\x22\\x55\\x28\\x8b\\x0c\\x43\\xb7\\x19\\xbd\\xc2\\xe1\\xdb\\xc8\\xaf\\x42\\xbd\\x3a\\xdf\\x7f\\xe8\\x95\\x43\\x5b\\xaf\\x1e\\xbd\\xf5\\xd0\\x2b\\xbf\\xbb\\xbf\\x73\\xef\\x50\\x8d\\xad\\xda\\xd9\\xbf\\x61\\xe1\\xd4\\xba\\xa9\\x59\\xd9\\x53\\xeb\\xa6\\xdd\\x3a\\xb8\\xbf\\x5c\\x6d\\x9b\\x6a\\x71\\xe5\\x4d\\x1f\\x31\\x94\\xec\\x3d\\x78\\xc3\\xf0\\xd1\\x73\\x6b\\x8e\\xe6\\x2e\\xf7\\x1d\\x5d\\xd9\\x75\\x61\\xcb\\xb8\\xe5\\x3d\\x99\\xd1\\xc1\\x1c\\x6d\\x85\\xf6\\x84\\x76\\x50\\x5b\\x30\\x73\\x26\\xb8\\x1d\\x5c\\x05\\x46\\x82\\x85\\x39\\xc1\\x2d\\x4a\\x8e\\xf6\\x2e\\xdc\\x50\\x17\\xb5\\x17\\xaf\\xea\\xd7\\xef\\x2a\\xd0\\x13\\x90\\xf0\\xab\\x73\\xc8\\x4d\\xaa\\xd7\\x14\\x75\\xad\\xac\\xbb\\xa6\\xff\\xba\\x65\\x55\\x5d\\xba\\x76\\xfe\\xf0\\xc1\\xd6\\xd2\\xae\\x75\\xe5\\x90\\xcf\\xf9\\x28\\xe6\\xc3\\x6e\\x81\\x7e\\x6e\\x29\\xd1\\x93\\x98\\xaf\\x76\\xf2\\x48\\x35\\x5d\\x3a\\xe5\\xe6\\x96\\x66\\x59\\x09\\x8e\\xeb\\x49\\x59\\x4b\\x95\\x2e\\x92\\xa9\\x57\\xef\\xfa\\xaa\\xf5\\xf1\\x7a\\x67\\xcf\\xb2\\xb2\\x2e\\xce\\xd2\\x92\\xc6\\x78\\xa9\\x13\\x4e\\x52\\x41\\x96\\xae\\x14\\x2f\\xa2\\x9d\\x62\\xd8\\x6f\\xf7\\x37\\xc6\\xb3\\xac\\x56\\xb3\\xdd\\x95\\xc6\\xe5\\x1e\\xb1\\xd3\\x06\\x9a\\x05\\x02\\x70\\x3b\\x5d\\x51\\x16\\xc3\\x7c\\xef\\xc8\\x61\\x9c\\x63\\xd7\\x8e\\xc5\\x4a\\xb2\\x7b\\x28\\x3e\\x9f\\xc1\\x6f\\x72\\x95\\xfa\\x72\\xd1\\xa6\\xbf\\x7d\\xfd\\xf0\\xc3\\xeb\\x27\\x4d\\x59\\xfb\\xd0\\x23\\x5f\\xff\\x6d\\xd3\\xa2\\xab\\xc6\\x77\\x9b\\x97\\x95\\x3d\\xb7\\xdb\\xf8\\xab\\xb4\\x37\\xaf\\xcc\\x49\\x32\\xe7\\xc3\\x63\\x5b\\xb5\\x8f\\xb4\\x7f\\x6a\\x9f\\x68\\xdf\\x8c\\x18\\x01\\x64\\x90\\x0d\\x04\\x10\\xde\\xfa\\xcc\\x5f\\xbf\\x3c\\xde\\xb5\\xb8\\xb8\\xeb\\x09\\x7a\\xe5\\x65\\x39\\x87\\xce\\x26\\x1c\\x27\\x60\\xbf\\x84\\x67\\x93\\x88\\x6b\\x8e\\x7e\\x25\\x27\\x83\\xa9\\x84\\xe5\\x28\\x20\\xea\\xca\\x82\\x38\\x3c\\x8b\\xcf\\x3d\\xfd\\x9e\\x9d\\x59\\x0e\\xdf\\x27\\x19\\xef\\x1b\\x68\\xc4\\x33\\x43\\x28\\xc2\\x11\\x76\\x99\\xc9\\xcc\\xba\\x67\\xed\\x2a\\x8c\\x4b\\xe9\\x22\\xea\\xd5\\x2c\\xa7\\x89\\xa2\\xed\\x36\\x1b\\x6d\\xa2\\xdc\\x1e\\xbb\\x9d\\x31\\x9b\\xa1\\xdd\\x66\\xa6\\x69\\x3f\\x43\\x34\\xc7\\x19\\x39\\xb3\\xb5\\x4e\\x66\\xa1\\x08\\xc2\\xa1\\xc4\\x30\\x9e\\xe1\\x74\\x61\\x25\\xef\\xe9\\x59\\x72\\xfc\\x1f\\xdf\\x93\\x9e\\x87\\x3e\\xef\\x8b\\xaa\\x92\\x1f\\x7b\\xf0\\xb1\\xd5\\x42\\xdb\\x71\\xb0\\xd3\\x0f\\xa6\\x82\\x2a\\xf2\\xd0\\xde\\xc7\\x7b\\xce\\x5e\\xa1\\x69\\x50\\x51\\x7d\\x8f\\x5b\\x8c\\x40\\x7a\\xf6\\xc3\\x33\\xa6\\x90\\x1e\\x02\\x75\\x2f\\xa4\\x47\\xa2\\xdd\\x84\\x05\\xc5\\x5d\\x28\\x8f\\xd7\\x62\\x01\\x1c\\x67\\xc7\\xd0\\x9d\\x4e\\x0c\\x36\\x11\\x48\\x65\\xdf\\x75\\xa0\\x47\\x47\\xef\\xec\\x88\\x95\\x49\\xf6\\x79\\xfd\\x2d\\x40\\x7c\\xf1\\xd0\\x07\\x81\\x63\\xf6\\x39\\xd3\\xb6\\xaf\\xdf\\xbe\\xa5\\x5b\\xa9\\x36\\x1a\\xec\\x86\\x86\\xd9\\x45\\x60\\x03\\xde\\x83\\xf7\\xda\\xc7\\x4c\\x3f\\xf5\\xd6\\x1f\\xde\\x73\\xb4\\xbd\\xac\\xd3\\x33\\xeb\\xd2\\xc7\\x74\\x33\\xf3\\x3e\\xae\\xdd\\x2a\\xe4\\x4c\\x70\\x2c\\xda\\x61\\xb2\\x9b\\x59\\xa7\\xc2\\xf2\\x3c\\x65\\x85\\x16\\x95\\x2c\\x5a\\x19\\x8b\\x08\\x04\\xc6\\x02\\x04\\x01\\x58\\x18\\xda\\xe4\\x30\\x21\\xe0\\x3d\\x7c\\xc1\\x5b\\x66\\x00\\x65\\xa7\\x65\\xb9\\xa6\\x50\\x6a\\xb8\\x3c\\x8a\\x81\\x7f\\x22\\x72\\x5e\\x0d\\x83\\xff\\xc4\\x28\\xba\\xb9\\x50\\xdb\\x3d\\x14\\x4c\\x2a\\xd4\\xee\\x5b\\xf6\\xc0\\x5d\\xda\\x43\\x85\\x60\\x5c\\x83\\xf6\\x40\\x21\\x98\\xb8\\x64\\xf7\\x9d\\xd4\\xc6\\x6d\\x13\\xb4\\xaf\\x9b\\xb7\\xb5\\x68\\x55\\xe0\\xc7\\xf1\\xdb\\x26\\x00\\x65\\xc2\\xf6\\x66\\x70\\x4a\\x53\\x50\\x3f\\xe2\\xbd\\xf4\\x42\\xd0\\xc2\\xa0\\x3e\\xe7\\x39\\xaa\\x9d\\xb1\\x58\\x5c\\x50\\x4c\\x5c\\x94\\x6c\\xb2\\xdb\\x21\\x31\\xb1\\x32\\xd1\\x68\\xf6\\x6f\\x8c\\x8c\\x2e\\xf9\\x75\\x60\\x4e\\x9c\\xa9\\xae\\xc3\\xb7\\x81\\x96\\x81\\x55\\xda\\x83\\xbd\\x4b\\x2b\\x7a\\x0d\\xac\\x02\\x63\\xd1\\x77\\x66\\x76\\x45\\x57\\x67\\x97\\xae\\x6a\\xa5\\xfe\\x0d\\x8d\\xf3\\x3c\\xfd\\x1a\\x18\\xc2\\xbc\\x08\\xf9\\x11\\x56\\x05\\x42\\x96\\x79\\xa7\\x48\\xad\\x8f\\x8b\\x84\\x99\\xe7\\x09\\xa2\\x0c\\x6d\\xba\\x73\\xa8\\x6f\\xb4\\xae\\xd5\\x75\\xeb\\x96\\xd5\\x1d\\xf5\\x1a\\x8c\\xdf\\xf2\\x23\\x59\\x55\\x15\\xee\\x15\\x9d\\x3b\\x75\\xf2\\xb4\\xca\\xab\\x8b\\x26\\xf6\\xbb\\x76\\x0a\\xfd\\xda\\x20\\x35\\xea\\x1e\\xb0\\x21\\xe4\\x2c\\x5d\\xbc\\x00\\xc7\\x8a\\x76\\xd3\\x03\\x89\\x6b\\x98\\x73\\xd0\\xce\\xf0\\xab\\x16\\x9a\\x20\\x50\\xb6\\x21\\xc9\\xa0\\x40\\xe4\\xb9\\xda\\x32\\x63\\x1a\\xf0\\xe9\\x4a\\xc4\\x89\\x7a\\x50\\x75\\x03\\xd7\\xc4\\x87\\xce\\x8f\\x64\\x31\\xe7\\x9e\\x9d\\x70\\x7d\\x6c\\xce\\x90\\x4d\\x1d\\x9f\\xc1\\xe1\\x67\\x98\\x4c\\x97\\x79\\x06\\xf4\\x89\\xf0\\x36\\xbf\\x26\\x90\\x37\\x7f\\x68\\x9c\\x39\\xb7\\x69\\xd0\\xcc\\xba\\xeb\\x27\\xa0\\x8b\\x45\\xd0\\xf6\\x36\\x53\\x4f\\x96\\x42\\x7d\\x25\\xa3\\x7e\\x20\\x28\\xfe\\xe7\\xb4\\xb1\\x1b\\xe2\\x36\\xb3\\x4a\\xc8\\x1b\\xe2\\x04\\x34\\x31\\x21\\x63\\xb1\\x23\\x7d\\x3e\\x39\\x65\\x60\\x68\\x0b\\x36\\x5d\\x09\\x97\\x4e\\x3e\\x76\\xdd\\x9c\\x3b\\xfb\\xdd\\xbc\\xda\\xb3\\x3c\\xf4\\xd1\\xfe\\x9e\\x2b\\x96\\xde\\x70\\x60\\x1c\\xd3\\xbd\\xaa\\x4b\\x8f\\xd2\\x99\\x37\\xee\\x3f\\x52\\xa4\\xd6\\xa2\\x36\\x87\\x84\\xe9\\x62\\x9e\\x76\\x80\\xfa\\x80\\x79\\x1a\\xd2\\x2c\\x43\\xbf\\x34\\x9f\\xe8\\x4c\\xd4\\x13\\x7d\\x89\\x61\\xc4\\x03\\xea\\x55\\x9d\\x87\\x95\\x0c\\xf6\\xf6\\xec\\x39\\x78\\x18\\x55\\x2f\\xd4\\xc8\\x35\\x8d\\xc1\\xbe\\x7c\\x7e\\xdf\\x7c\\x99\\x89\\x44\\x64\\xb9\\x29\\x2b\\xd2\\x8f\\x1a\\xdc\\xbd\\x77\\x68\\xc0\\x80\\xbc\\x06\\xb3\\x50\\x41\\xd5\\x58\\x2b\\x2b\\xa5\\x5a\\x82\\x29\\xa0\\x4a\\x9c\\x5e\\xb2\\xa8\\x88\\x2b\\x1b\\xdc\\xbb\\xa1\\xa6\\xb6\\xc4\\x5b\\x56\\xe6\\x2d\\xa9\\xad\\x69\\xe8\\x3d\\xd8\\xe4\\xef\\xd9\\xd5\\xe5\\x47\\xf4\\xc7\\x0c\\x39\\xd5\\x8f\\x26\\x23\\xb3\\xc0\\x10\\x55\\x77\\x2c\\xed\\x37\\x20\\xf3\\x36\\x00\\x5d\\x45\\xb9\\x2b\\x52\\x3a\\x15\\x61\\xc4\\x89\\xb1\\x0a\\x45\\x4e\\xbe\\x02\\xbf\\xf9\\x8a\\xba\\xcc\\xef\\xf2\\x92\\xaf\\xc8\\x8b\\x73\\xe6\\x4c\\x79\\xef\\x3d\\x09\\xff\\x7d\\x71\\x1d\\xfe\\x46\\x96\\xe0\\x6f\\xbf\\xae\\xc2\\xdf\\x3e\\xd2\\x7f\\xb7\\x11\\x7f\\x6b\\xf3\\xe2\\x6f\\xd4\\x4b\\xf7\\xdc\\x83\\xb0\\xab\\x59\\xfc\\x8d\\xfc\\x0e\\x7f\\xfb\\xf5\\x33\\xfc\\x8d\\x8e\\xa6\\xff\\xdb\\xc5\\x8f\\xf1\\xb7\\x9f\\xf0\\xdf\\x98\\xf7\\xd7\\x6b\\xcb\\xa9\\xdd\\xcc\\xe7\\x1d\\x78\\x7f\\x48\\x9d\\xe8\\xf4\\xd7\\x77\\xed\\xda\\xa7\\xb6\\x37\\x63\\x12\\x24\\xc9\\x2c\\x03\\xc0\\xf5\\xeb\\xdc\\x69\\x70\\xc3\\x50\\xba\\x2c\\x9a\\x9f\\x5f\\xd6\\x99\\x33\\x9b\\x7a\\x57\\xfb\\x7b\\x9a\\x3d\\x39\\x39\\x4d\\x9e\\x46\\x13\\xaf\\xf6\\x2e\\x57\\x4b\\xca\\xca\\x0a\\x02\\x8a\\x37\\x1e\\xc9\\xcb\\xcb\\xaa\\xab\\xa9\\xa8\\x1d\\xd6\\x60\\x96\\xf8\\xde\\x7d\\x0b\\xfc\\x81\\xac\\xda\\x86\\x41\\x92\\x34\\xa8\\xa1\\x36\\x2b\\xe0\\x2f\\xe8\\xdb\\x9b\\xb7\\x30\\x02\\x93\\xd2\\x16\\xc9\\x85\\xc0\\x9c\\x86\\x7f\\xc4\\xc4\\x99\\xe6\\x3b\\x9f\\x16\\x04\\xc5\\x1a\\xc4\\x1d\\x93\\x32\\xbe\\x12\\xb7\\xbb\\xee\\xa4\\x4c\\x4b\\xe8\\x2a\\x30\\xc6\\x2a\\x31\\x05\\xdb\\x4e\\xd0\\x7e\\xae\\x8a\\xe5\\x21\\xa1\\x54\\xa0\\x81\\x1e\\xa1\\x50\\x4e\\x3d\\x17\\xcd\\xe7\\xf2\\x41\\x3e\\x4a\\xf4\\x82\\x9e\\x96\\x9b\\xe2\\x30\\xc2\\x5a\\x4d\\x7e\\x0d\\x02\\x58\\x43\\x18\\x80\\x6e\\xae\\xaf\\x2f\\x30\\xa9\\xd7\\x60\\xfc\\x57\\xdb\\xf4\\x5b\\xfb\\x8c\\x2f\\xbc\\xba\\xe9\\x3e\\xfa\\xa0\\xf1\\xa2\\xdb\\xa8\\xf2\\x32\\x73\\x7f\\xa1\\xb6\\x6a\\xd6\\xc5\\xbe\\xf0\\x25\\xdf\\x0f\\xbe\\xbc\\xc1\\x3a\\xaa\\xf3\\x88\\xce\\xfd\\x67\\xd4\\x55\\xcd\\xa2\\xde\\x1e\\x55\\x3e\\xb2\\x73\\xff\\x59\\xb5\\x55\\x33\\xeb\\xf1\\x27\\x1a\\x77\\xd2\\x7f\\x35\\x5e\\xb4\\x05\\xf0\\x33\\x2b\\xf1\\xdf\\xda\\xcf\\xa3\\xe1\\x1b\\xfb\\xcd\\xec\\x02\\x3f\\xc3\\xe1\\xcf\\xcc\\x44\\xcf\\xec\\xae\\x3f\\x1e\\x3d\\xe9\\x8e\\x51\\x9d\\x4b\\xd1\\x48\\xd5\\x33\\xf5\\x3a\\x30\\x6d\\x32\\x7d\\x96\\x7d\\x14\\xfa\\x5d\\x41\\x62\\x86\\x5a\\x27\\x91\\x24\\x3c\\xb3\\xfd\\x01\\xb3\\xc5\\xc2\\xda\\x6c\\xbc\\xc9\\x14\\x70\\x02\\x3a\\x2b\\xdb\\x2f\\x38\\xb3\\x9d\\x65\\x4e\\x8a\\xa7\\x9c\\x0e\\xd5\\xe1\\x59\\x1f\\x77\\x00\\xd5\\x62\\xb3\\x99\\x10\\x06\\x9d\\xc8\\x02\\x8a\\x49\\x74\\x2e\\xc5\\xa0\\xaf\\xa7\\x7d\\xe2\\xeb\\xfa\\x7e\\x86\\x36\\x6a\\x45\\xaa\\xc4\\x3b\\xc3\\x7c\\x40\\xdf\\x70\\xa5\\x70\\x0c\\x47\\x2d\\x2a\\x6b\\x80\\x1c\\xa2\\x62\\xba\\x57\\x1f\\x23\\xf5\\xca\\xe1\\x3d\\xcf\\x1f\\x5c\\x33\\x43\\x6c\\xfb\\xe5\\x3d\\x6d\\x07\\xbf\\x9f\\x19\\x37\\x7d\\xda\\x78\\x66\\x3f\\x9f\\x28\\x25\\xbe\\x30\\xb5\\xed\\x18\\xd8\\x41\\xcd\\x18\\xfa\\xd4\\x85\\xad\\xcc\\x83\\x80\\x6e\\x18\\x30\\xa0\\x01\\xf5\\x66\\x27\\x89\\x63\\xda\\x19\\xfa\\x14\\xf3\\x03\\x9c\\x93\\x1f\\xa1\\xd7\\x0a\\xf0\\x00\\x57\\x9c\\x5e\\x1f\\x67\\x32\\x51\\x66\\x33\\xcb\\x30\\x3e\\xa7\\x84\\x7a\\xb5\\x09\\x4e\\x80\\xe6\\xe3\\x70\\xc3\\xe9\\x48\\x76\\x4a\\x12\\x48\\x51\\x31\\x99\\xcd\\xcc\\xf0\\xb8\\x59\\xcf\\x8c\\x11\\x4f\\xe3\\x78\\x8c\\x0e\\x64\\xfb\\x1b\\x53\\xd1\\x13\\xfa\\x8d\\x79\\x54\\xd7\\x80\\x88\\x94\\x07\\xa7\\x82\\x0e\\xca\\x18\\xa9\\xa7\\xf7\\x3f\\x71\\xf2\\xe0\\xba\\x05\\x38\\xc5\\x1f\\x3c\\xa5\\xed\\xb4\\xec\\xb7\\x1e\\x3f\\x6e\\xdd\\x6f\\x49\\xa4\\xfb\\x5f\\x9c\\xa2\\x15\\x80\\x1a\\x72\\x4b\\xee\\xa6\\x6c\\x94\\xf2\\x7f\\x33\\x50\\x5f\\x79\\x45\\x3b\\xa1\\xc7\\x64\\xe8\\xb4\\x58\\x3a\\xd4\\xef\\x82\\xc5\\xe3\\x31\\xd9\\x68\\x19\\xfe\\x3e\\x10\\x14\\xdc\\xcd\\x71\\x3b\\x3c\\x17\\x5a\\xe2\\x16\\x4e\\x80\\x5f\\x34\\x4f\\xd1\\x9e\\xf4\\xa2\\xbd\\x0e\\xc1\\x74\\x07\\x8a\\x87\\xc5\\x92\\xf5\\x7b\\x7a\\x24\\x3d\\xa6\\x44\\x94\\x8e\\x75\\x7c\\xbb\\x76\\x1d\\x7f\\xe5\\x95\\x8e\\xb5\\x7c\\xd4\\xa7\\x9b\\xcf\\x9f\\xdf\\xfc\\xe7\\x54\\x39\\x1f\\xa4\\xb1\\x11\\xe5\\x7a\\xc2\\x33\\xc2\\xa0\\x91\\xa3\\x64\\x99\\x10\\xdc\\x16\\xc1\\x12\\x08\\x72\\xfe\\xa6\\x38\\x2b\\x39\\xa4\\xa6\\x38\\xe5\\xe0\\xe0\\x97\\x00\\x04\\x94\\xff\\xa9\\x00\\xd0\\x1e\\x87\\xb4\\x63\\xc4\\x5f\\xd6\\x69\\x4b\\x45\\xd3\\x23\\x55\\xc9\\xb4\\x9d\\xb3\\xad\\xf3\\xe7\\x03\\x2b\\xce\\x03\\xed\\x71\\x2b\\x28\\xfd\\x17\\xca\\x04\\xfd\\x91\\x91\\x8f\\x1d\\x5b\\xd1\\xf6\\x31\\x4e\\x07\\xbd\\x7b\\xc5\\x85\\x19\\x7a\\x36\\xa8\\x5e\\xeb\\xb8\\x08\\xe3\\x2f\\xf8\\x88\\x71\\x6a\\xa9\\xd7\\x25\\xc8\\x32\\x3c\\x07\\xe1\\x51\\x26\\xc0\\xc3\\xc7\\x1f\\x60\\x48\\x93\\x45\\x86\\xb2\\xec\\xf2\\xca\\x1e\\x5a\\xf6\\x78\\x64\\x9a\\x82\\xf2\\xef\\x40\\xe5\\xa1\\xe6\\x04\\xd8\\x35\\xf6\\x3a\\x16\\x63\\xb0\\xc8\\x8c\\x52\\x09\\x5d\\x83\\x27\\x82\\x71\\x4e\\xb8\\xcf\\xf3\\x31\\xa9\\x7a\\x65\\x24\\xae\\xce\\x84\\x5a\\x00\\x7a\\x9b\\xcd\\x63\\xe6\\x5f\\xbf\\x60\\xfe\\xc3\\xda\\xe7\\xc7\\xc1\\xb9\\xef\\x00\\x75\\x42\\x7b\\xe6\\x3f\\xda\\xcd\\x43\\x67\\xce\\xb8\\xd6\\x47\\x1d\\xda\\x3e\\x67\\x59\\xcb\\x6d\\xfd\\xda\\x34\\xa6\\xef\\x9f\\x4e\\x6a\\x6d\\xdf\\x96\\xdc\\x3c\\x71\\x46\\xad\\xd1\\xbb\\x71\\x20\\xdd\\x00\\x2d\\xb4\\x12\\xe8\\x47\\xd6\\x14\\x32\\x45\\x34\\xdd\\x89\\x2c\\xa6\\xa8\\x20\\x51\\x5c\\x94\\xeb\\xb2\\xd9\\xec\\xf6\\x22\\x82\\x2a\\x2b\\x65\\x48\\xce\\xe7\\x0b\\x35\\xc6\\x5d\\x3e\\xb1\\xb0\\x53\\x7e\\x71\\xb1\\x24\\xd0\\x34\\x67\\x0f\\x70\\xf9\\x8d\\x71\\x9e\\x4b\\x61\\x3d\\x2d\\x2a\\xf3\\xf4\\xa8\\x45\\x40\\xc6\\x46\\xd6\\x54\\x6d\\xe6\\xbd\\x41\\xc6\\x44\\x44\\x7d\\x22\\xc9\\xfe\\x8e\\xa8\\xd7\\x9c\\xa2\\xa7\\x81\\x62\\xa0\\x42\\xa3\\x1d\\x89\\x3e\\xb5\\xbe\\x13\\xae\\x99\\x34\\x61\\xf4\\x82\\x5f\\x47\\x31\\x74\\x2b\\xfb\\x04\\xa0\\x19\\xba\\x7c\\xd7\\xf2\\x57\\x4f\\xff\\xfe\\xd6\\x55\\xd7\\x2f\\xe8\\x71\\xc7\\xf6\\xab\\xbb\\xdc\\x7c\\x5d\\x73\\x84\\xcc\\xd1\\xbe\\xbe\\x6b\\xfa\\x98\\xeb\\xaa\\x9f\\x37\\xed\\xd5\\xe2\\x0c\\xfb\\x70\\x35\\xdd\\x79\\xb2\\x3c\\x69\\xbc\\xf6\\x93\\xf6\\xe1\\x27\\x27\\xc7\\x1c\\xdf\\xfe\\xa7\\xb3\\x45\\x4b\\xc7\\x4e\\xbd\\x06\\xe3\\xe3\\x00\\xfa\\x66\\xa8\\x93\\x38\\x22\\x4f\\x75\\x30\\x2c\\x20\\x59\\x12\\xd5\\x2a\\x34\\xc7\\xe1\\x91\\x41\\x31\\xf8\\x0e\\xb9\\x2c\\xb3\\x5a\\x41\\x4f\\x0e\\xa2\\x4e\\xb6\\xb6\\x15\\x1f\\x67\\xfa\\x82\\x49\\x1a\\x71\\xe1\\x6a\\xa6\\x0f\\xb2\\x3b\\x7f\\x82\\x6b\\xcf\\x42\\xd9\\xe4\\x88\\xa8\\xea\\x80\\xcf\\x65\\x00\\xaa\\x45\\x20\\x48\\xae\\x31\\x4e\\x0a\\xc9\\xca\\x93\\xf4\\x52\\x77\\xa3\\x54\\x1b\\x3c\\xd2\\x4a\\xde\\xb0\\xaf\\x6d\\x2f\\x5d\\x07\\x36\\xb5\\x7d\\x8c\\x6d\\xd8\\x1a\\xa3\\x37\\xb7\\x0d\\xe1\\xd9\\xb2\\x66\\x33\\x30\\x59\\x28\\x0b\\x65\\x17\\x78\\x1b\\x61\\x6b\\x89\\xb3\\x50\\xd4\\x2c\\x0e\\xa3\\x59\\x77\\x8f\\x74\\x78\\xad\\x04\\x5e\\x79\\x45\\x85\\x8e\\x67\\xab\\xe7\\x88\\xe0\\x8a\\x87\\x48\\xcd\\xa3\\xa8\\x81\\x37\\x2a\\x21\\x3b\\xfe\\x28\\xf9\\x25\\x39\\x6e\\xa7\\xa6\\x6e\\x6e\\x3b\\x40\\x8e\\x42\\xe3\\x6d\\x30\\x6a\\xe4\\x6c\\x44\\x37\\x35\\x8b\\xe2\\x38\\x2b\\x63\\x42\\x3d\\xdf\\x05\\x16\\x47\\x29\\x28\\x8b\\xc5\\x64\\xb3\\x91\\x8d\\x71\\x9b\\x60\\x4a\\xa2\\xfa\\x7a\\x2e\\x37\\x22\\xaa\\xa1\\x43\\x1b\\x09\\x27\\x91\\xe1\\x5a\\xba\\xd7\\x5e\\x6b\\xbd\\xf5\\x56\\xba\\x6e\\xbd\\xf6\\xfe\\xca\\x36\\x8d\\x24\\x57\\x82\\x56\\x34\\xde\\x13\\x28\\x46\\x85\\xb1\\x3f\\x86\\xaa\\x85\\x84\\xcf\\xe7\\xb7\\x59\\x65\\x96\\x0d\\x5a\\xfd\\x74\\x28\\x4c\\xb9\\x9a\\xe3\\x04\\x45\\xf9\\x03\\x81\\xec\\xe6\\x78\\x00\\xe5\\x61\\xf2\\xbc\\xd8\\x1c\\xe7\\xfd\\x70\\x39\\x5e\\x32\\x86\\xbe\\x2c\\xdc\\x65\\x3b\\x67\\xdc\\xa8\\xa0\\x85\\x3f\\xe0\\xbb\\x49\\x49\\x6f\\x63\\x3e\\xb3\\xee\\x9e\\x41\\x3f\\x7c\\xf6\\x3f\\xdf\\x3e\\xf4\\x6e\\xdd\\x91\\xe2\\x9b\\x26\\x6f\\xdd\\xb4\\x71\\x5b\\x8f\\xe5\\x03\\x71\\x6f\\x73\\x6a\\x4e\\x5e\\xa1\\x76\\x4a\\x3b\\xac\\xdd\\xa7\\xad\\xbe\\x7d\\x5b\\x56\\xf3\\x00\\x10\\x04\\x9d\\x00\\xf3\\x4d\\x4e\\x49\\x5b\\xa1\\x8e\\x25\\x8f\\xeb\\x51\\x7a\\x40\\x3e\\x85\\x10\\x2e\\x84\\x5f\\x51\\x5c\\x26\\xce\\x4e\\x10\\x1e\\xce\\x45\\x87\\x73\\xfc\\xc1\\xa0\\xa3\\x31\\x1e\\x0c\\xba\\xdc\\x6e\\x5f\\x63\\xdc\\x2d\\x98\\x4c\\xb4\\x4b\\xa1\\x2d\\xa8\\x41\\x67\\x72\\x91\\xda\\x25\\x13\\x67\\xb4\\xb3\\x74\\xea\\xf7\\x25\\x35\\x46\\x3f\\x53\\xec\\xc1\\xea\\x44\\x4b\\x18\\xd8\\x9d\\xee\\x31\\xf7\\xed\\xb5\\x87\\xde\\x2c\\x3d\\x9c\\xb5\\x60\\xf2\\xa6\\x7b\\xae\\xda\\x79\\xcd\\xdc\\xc9\\xad\\xe4\\x44\\x6d\\xc4\\xdc\\x9b\\x36\\xfd\\x7d\\xd1\\xb8\\xdd\\x5f\\x2f\\xbc\\x6b\\x83\\x6d\\xe4\\xe0\\xdf\\x1f\\xbd\\x71\\xff\\xa8\\x90\\x76\\x2d\\x5d\\xb7\\x56\\x9b\\x1b\\x99\\xf7\\x57\\x03\\x6b\\x48\\x9b\\x8a\\x73\\x1f\\xf2\\x89\\x4d\\x6a\\x53\\x30\\x27\\x27\\x3b\\x10\\xc9\\xf7\\x78\\xbd\\xa1\\x6c\\x67\\x7e\\xbe\\xc4\\xf2\\x84\\xd5\\x0a\\x8f\\x2c\\x22\\x9b\\x2a\\x2c\\x88\\xb0\\x2c\\x1f\\xa0\\xa0\\xe3\\xe9\\x94\\x08\\x49\\x94\\x42\\x12\\x25\\x30\\x12\\x68\\x89\\x0b\\xb8\\xc0\\x96\\x42\\x05\\xb6\\xd6\\x50\\x58\\x0d\\x07\\x9b\\xe3\\x61\\x87\\xc7\\x61\\xa5\\x08\\x93\\x8e\\x78\\x17\\xd3\\x23\\x54\\xe7\\x8d\\xdc\\x7a\\x42\\xbf\\x34\\x32\\x6a\\xe6\\x12\\xa7\\x99\\x9e\\x26\\x11\\x33\\x6a\\x6f\\x13\\xfb\\x40\\x2a\\xa5\\xf2\\x2f\\x0f\\xbe\\x22\\xc7\\x70\\xb2\\x01\\xae\\x1c\\x74\\x99\\xb3\\x43\\x5e\\xfa\\xb2\\x20\\x2c\\xff\\xee\\xdf\\xca\\xfe\\xcc\\x0d\\x91\\xc9\\x66\\x60\\x32\\x71\\xe4\\x6f\\x20\\xb1\\xbc\\xd9\\xf6\\x2a\\xd8\\x46\\x2e\\xa0\\x64\\xba\\xed\\x01\\x54\\x2f\\x89\\xf8\\x02\\xd7\\x33\\x8f\\x58\\xa9\\x46\\xfd\\xa1\\x50\\xd0\\x17\\xce\\x43\\x01\\xa5\\xa0\\x23\\x2f\\x4f\\xa0\\x39\\x02\\x55\\x4b\\xb2\\x44\\x90\\xca\\x8f\\xfa\\xb8\\x30\\x4d\\xe7\\x1a\\xd5\\x92\\xfe\\xb8\\x83\\x0b\\x21\\xd7\\x91\\x12\\x04\\x73\\x56\\x28\\x04\\x8f\\x9e\\x90\\xe2\\x12\\xa1\\x92\\x67\\x15\\x22\\x75\\x92\\x9f\\x4e\\x74\\x3c\\x49\\x36\\x70\\xfe\\xef\\x9c\\xb8\\x62\\xfd\\x64\\x1a\\x27\\xbc\\xee\\x6e\\xf6\\xcb\\xd7\\x50\\x72\\x83\\xf7\\x79\\xda\\xec\\x5d\\x3d\\xe0\\x63\\xd2\\x63\\xb9\\x52\\x15\\xa5\\x16\\x41\\x15\\x26\\x24\\x63\\xf6\\x92\\xa8\\x92\\x12\\x63\\xd2\\x40\\xb9\\x46\\x98\\x34\\x55\\xc4\\x0d\\x6a\\x57\\x96\\xf1\\xf9\\x8b\\xc8\\x4e\\x84\\x33\\x6c\\xc9\\xcf\\x0f\\xe7\\x12\\xa4\\xd0\\xd9\\xcf\\xf0\\xd5\\x35\\xb9\\xa2\\x20\\x0a\\x2d\\x71\\x51\\x24\\xb3\\x7c\\xbe\\xac\\x2c\\x68\\x12\\x64\\xd1\\x65\\x95\\x2d\\xf1\\x32\\xb2\\x88\\x24\\xe1\\xa1\\xc6\\xb2\\x24\\xc6\\x49\\x4b\\x43\\x86\\x4f\\xf5\\xb6\\xeb\\xd8\\xc1\\x55\\x9f\\x32\\x53\\x89\\x4d\\xd9\\xff\\x0e\\x43\\x83\\xc0\\xad\\x9d\\x89\\x1a\\x3d\\x72\\x8a\\xf2\\xd2\\xaf\\x4d\\x99\\x88\\x34\\x4b\\x9f\\xea\\x9c\\x86\\x48\\xf3\\xd1\\xf1\\xec\\x65\\x73\\x6f\\x1a\\x11\\x1f\\xb5\\x7c\\x7f\\x63\\x4f\\x66\\xdf\\xef\\x30\\x38\\xcd\\x82\\x9b\\x30\\x38\\xcd\\x2d\\x4b\\xd3\\xc0\\x69\\x1e\\x7c\\xcf\\xbd\\x68\\x78\\xf3\\xac\\x9c\\xd5\\x11\\x54\\x53\\x0a\\xf9\\x80\\x6a\\x4a\\x6b\\xd0\\x6d\\x2a\\x4d\\xb9\\xdc\\x05\\x35\\x45\\x55\\x62\\x90\\xcf\\xcb\\x0b\\x86\\xab\\x6a\\xac\\x65\\x6e\\x8a\\xef\\x52\\x5b\\x52\\xd1\\x14\\x2f\\x09\\x84\\x13\\xe5\\xa5\\x3e\\xc2\\xe5\\xf2\\xf9\\x64\\x14\\xa5\\x2d\\x20\\x32\\xca\\x49\\x8d\\x2c\\xb8\\x0c\\x16\\x64\\x62\\xb3\\x27\\xb9\\xd0\\xa1\\x9c\\x34\\x7a\\xd9\\x7a\\xd2\\x74\\x1e\\xc0\\x37\\xe5\\x93\\x63\\x5e\\xf9\\x4b\\x89\\x5e\\x5f\\xfa\\x6e\\xeb\\xd3\\xa7\\xe6\\xdd\\xb6\\x68\\xa5\\x6d\\xaf\\xe7\\xcf\\x27\\x4f\\x7f\\x3e\\x68\\x79\\xbf\\x65\\x8f\\xed\\xda\\x12\\x9e\\x7f\\xcb\\x94\\x91\\xa3\\x87\\xaa\\xf5\\x2e\\xe7\\xad\\x2b\\x51\\xad\\x69\\xcb\\xd4\\x3b\\xc7\\x0c\\x1f\\x38\\xba\\xdf\\x20\\xe7\\x1d\\xb7\\xee\\x58\\xd1\\x73\\x7a\\x5f\\x16\\x15\\x9b\\x2e\\xde\\xe3\\xbb\\x69\\xc4\\xf5\\xb3\\xc3\\x2b\\x73\\xba\\xf5\\x18\\x3c\\x44\\x97\\x89\\x47\\xe0\\xde\\xb8\\x1f\\xe3\\x93\\x8d\\x57\\xcb\\x48\\xa8\\xeb\\xcc\\x12\\xdc\\x0c\\x16\\x8b\\x28\\x22\\x24\\x7a\\xc9\\x45\\xb9\\x3d\\x2e\\x87\\x64\\x76\\x32\\xa4\\x13\\x21\\xe0\\x10\\x76\\x11\\xe5\\x4b\\x89\\x0e\\x86\\xc1\\x40\\x38\\x65\\xc9\\x2d\\x60\\x18\\x5f\\x3d\\x3a\\xcc\\xdb\\xf0\\xe8\\x63\\x52\\x45\\x02\\x0f\\x07\\x0b\\x79\\x02\\x13\\xe7\\xd8\\xda\\x04\\x24\\xce\\xfa\\x1b\\x5a\\x8b\\xb4\\xab\\xbc\\x33\\xf3\\x31\\x28\\xce\\x5b\\x09\\x4c\\x9c\\x17\\xf1\\x66\\x5e\\x6d\\xf5\\x21\\x5c\\x1c\\xe2\\x7d\\x48\\xef\\x55\\x70\\x2f\\xbb\\x88\\xeb\\xd4\\x4a\\x9d\\x5e\\x96\\xe3\\x32\\xe9\\x55\\x20\\xbd\\x2c\\xe9\\x6c\\x8c\\x0b\\x24\\x40\\x98\\xd7\\x98\\x68\\x94\\x7b\\x09\\x77\\xb9\\x90\\x41\\x74\\xa2\\xf7\\xf0\\x6f\\xd3\\x9d\\x28\\x57\\x4d\\xa3\\x3b\\xad\\x64\\xb5\\xd3\\xd0\\x7d\\x39\\x1d\\x8b\\x56\\xb5\\xce\\x68\\xfb\\x25\\x0a\\x57\\x53\\x58\\x43\\x5e\\x62\\x82\\x5a\\x4e\\x7a\\x3c\\x5e\\x81\\x93\\x65\\xda\\x09\\xed\\x42\\x49\\x14\\x9d\\x5e\\xca\\xe7\\x77\\x08\\x8a\\xe0\\x36\\x93\\x70\\xc3\\xd1\\x1c\\xc9\\x38\\x49\\x06\\xb2\\x9c\\x92\\xbc\\x0e\\xb3\\x81\\x38\\x94\\xe8\\x7c\\x91\\xb0\\x17\\xdb\\x63\\x5d\\xa5\\x33\\x1a\\xbe\\x4c\\x43\\x1f\\xc2\\xc5\\x76\\x88\\xd7\\xd5\\x55\\x37\\x95\\xd5\\xa4\\x21\\x10\\xdd\\x7e\\x53\\x5d\\x67\\xcc\\x6c\\x07\\x78\\x5c\\xdb\\x5e\\xd4\\x98\\x82\\x21\\xea\\xa6\\x3d\\x0b\\x6e\\x15\\x21\\xc7\\xd3\\x6b\\x80\\x3d\\xc4\\x35\\x6a\\x8c\\x74\\xbb\\x3d\\x76\\xce\\xe1\\xa0\\x65\\x48\\xbb\\x28\\x08\\xb2\\x87\\xf2\\xfa\\x24\\xbb\\xd3\\xee\\x32\\x93\\xae\\x46\\x4c\\x7b\\x19\\x09\\x64\\x44\\xbe\\x4c\\x89\\x1e\\xc5\\x6c\\x24\\xd6\\x1b\\x79\\x95\\xff\\x27\\xfa\\xf5\\x1a\\x61\\x83\\xfc\\xf7\\x5b\\x6b\\x23\\xd3\\x7a\\x0d\\x48\\xd5\\x09\\x4f\\xeb\\x54\\x8e\\x59\\x6e\\x02\\x83\\xb4\\xbf\\x77\\x9a\\x91\\x2a\\x16\\xd6\\xf6\\x81\\x5e\\x26\\xa3\\x5e\\x98\\x36\\xf8\\xee\\x23\\xe2\\x6a\\xa9\\x99\\xf5\\x42\\x4e\\x3b\\x14\\x9b\\xdd\\x29\\xcb\\x76\\xc5\\x47\\xfb\\x03\\x8a\\xc3\\x63\\x33\\x43\\x27\\x87\\x07\\x24\\x3c\\xff\\x58\\xd2\\x0c\\xbf\\x68\\xa7\\xcf\\x61\\xa3\\x29\\x03\\xe2\\x35\\xdd\\xe9\\x21\\xda\\x21\\xd5\\x1b\\x8e\\x45\\xd2\\xef\\x49\\xc9\\x78\\x42\\xbe\\xf7\\xef\\x3f\\xfe\\xf4\\xd3\\x29\\x19\\x47\\xb0\\x4f\\x48\\xc2\\xa9\\xff\\xd9\\x7c\\xec\\xd8\\x66\\xed\\xd2\\x5b\\x69\\xc8\\x4f\\x58\\xc2\\x8d\\xf8\\x30\\xb4\\x9b\\x5e\\xd3\\xbd\\x0b\\xa7\\x5d\\x70\\x28\\x82\\x22\\xeb\\xb4\\xcb\\xbe\\x80\\x1f\\x92\\x6c\\x37\\x7b\\x1a\\xe3\\x66\\xb3\\xdd\\xe9\\x53\\x10\\xe1\\xd0\\x27\\x22\\x49\\xda\\x2e\\xd0\\x84\\xd1\\x91\\x3a\\x3d\\x05\\x3d\\xb3\\x0e\\x3b\\x71\\x0c\\x55\\x64\\x92\\xdd\\xbe\\x22\\xfb\\xcd\\x37\\x5b\\x3f\\xfe\\xb8\\x63\\x55\\xf6\\xd1\\x15\\x9b\\x36\\xad\\x68\\x3b\\xd0\\xa1\\x32\\x5b\\xc7\\x79\\x7b\\x0d\\xe3\\x30\\x0d\\x55\\xf3\\xad\\x0c\\x6b\\xb6\\xb1\\x36\\x54\\x2c\\xee\\x74\\x58\\x1c\\x2e\\xc5\\x66\\x16\\x19\\x52\\xc4\\x0a\\xc4\\xea\\x70\\x30\\x14\\xe1\\x44\\xd6\\x9f\\x71\\x71\\x7d\\x39\\x32\\x53\\x54\\x42\\xeb\\x39\\x03\\x48\\x8b\\xc3\\x9b\\xf0\\x77\\x0f\\x2e\\x4f\\xb2\\xf4\\x8f\\xda\\x60\\xef\\x98\\xc0\\xf1\\x9f\\x90\\x20\\x0b\\xa7\\xd2\\x19\\xea\\xa6\\xda\\x76\\xd3\\x7a\\x3e\\x7f\\x57\\x84\\x99\\x83\\xf3\\xdc\\x1b\\xd4\\x02\\xd2\\xe1\\x50\\x64\\x8b\\x9d\\x33\\xd9\\xac\\x56\\x93\\x5d\\xa6\\x5d\\x6e\\xbb\\x45\\xe2\\x48\\xe8\\x55\\x42\\x02\\x6d\\xb2\\xc2\\x09\\xc9\\xae\\x66\\x1d\\x08\\xcc\\x58\\x7c\\x9c\\xa3\\x5d\\xd1\\x9d\\xcc\\x60\\x9e\\x14\\xee\\x0a\\x3e\\xc8\\x2a\\xaf\\xec\\x75\\xea\\xf9\\x77\\xc7\\x47\\xc0\\xc4\\x57\\xb5\\xaf\\xe4\\x9e\\xbe\\x56\\xed\\x3d\\x24\\xac\\x62\\x6c\\x1c\\xa8\\xd7\\x9e\\xbb\\x23\\xd8\\xf6\\x14\\xf8\\xa7\\xc9\\xaa\\x45\\xa8\\x27\\x75\\xfc\\x2c\\xa8\\xd7\\x0e\\x61\\x6c\\xa3\\x26\\xb5\\x84\\xa3\\x28\\x1a\\x35\\xc5\\x81\\x1a\\xcd\\x42\\x53\\x22\\x24\\x0d\\xb2\\x8b\\x13\\xb9\\xa7\\xa0\\x2b\\x8c\\x3a\\xa8\\xf3\\x08\\x8d\\x10\\x9a\\xa4\\x50\\x13\\x13\\x8e\\xc4\\xd5\\x42\\x7a\\xf9\\x65\\xba\\x26\\x4b\\xa0\\x6d\\xc5\\x92\\x85\\xbd\\x18\\x75\\x0b\\x41\\x46\\xad\\x86\\x2e\\x49\\xdb\\x46\\x04\\xa7\\x43\\x56\\x5f\\x18\\x8b\\xf4\\xac\\x5e\\xdb\\x0d\\x69\\xd9\\x88\\x6b\\x61\\x1b\\xd4\\x42\\x00\\xdd\\x42\\x12\\x5a\\x48\\x26\\x8e\\x63\\xec\\x90\\x16\\x60\\x6d\\x8a\\x1b\\xc5\\x33\\x66\\x68\\x18\\xd9\\xf1\\x15\\x47\\x53\\xda\\x15\\xc7\\x95\\xe9\\x48\\x95\\x16\\xa7\\xd5\\x9b\\x2f\\xd8\\xb7\\x26\\x59\\x71\\xae\\x57\\xc5\\x1a\\x55\\xe7\\x80\\x58\\x69\\xe4\\xf2\\xda\\x88\\x1e\\x6a\\xc8\\xe0\\x89\\xd9\\x46\\xdb\\xec\\x02\\x62\\x08\\xc7\\xd1\\x06\\x42\\x3e\\x94\\x27\\x3a\\x99\\x2f\\x91\\x9e\\x48\\x7f\\x19\\x0e\\x84\\xa1\\xb4\\x53\\x7e\\xad\\xe0\\xf8\\x71\\xf0\\x2e\\x38\\xfc\\x63\\x6a\\xfe\\x3b\\x2f\\x8c\\x4e\\xf4\\x3e\\x39\\x8f\\x7d\\xa4\\xfe\\x6a\\x2e\\xb0\\x58\\xac\\x24\\xb4\\xf0\\x39\\x2b\\x67\\x17\\x6c\\x02\\x30\\x27\\xa7\\x4e\\x99\\xac\\x0a\\xc5\\x42\\xa7\\x49\\x48\\x61\\x89\\x19\\x15\\x8f\\xed\\xc7\\x06\\x52\\xc2\\x39\\xc3\\x73\\xee\\x05\\x0e\\x81\\xf7\\xb5\\xf7\\x5b\\xb5\\x61\\xc6\\xa4\\xd7\\x5e\\x6c\\x4a\\xd4\\xd9\\xc3\\xf1\\x47\\x42\\xdb\\xe4\\x3e\\x38\\x67\\x84\\xbf\\x52\\x14\\x26\\xa8\\x60\\x30\\x4b\\x31\\x99\\xec\\x59\\x04\\x9d\\x13\\x61\\xa0\\x9e\\x42\\x85\\xe9\\x00\\x84\\xa0\\xef\\x0a\\x99\\x4f\\xe8\\xb7\\x0a\\x59\\xf8\\xb6\\xec\\xbf\\x7a\\x4d\\x68\\xfa\\xd5\\x97\\xf5\\x9b\\xf4\\x5d\\x15\\x96\\x46\\x92\\xd7\\x5e\\x35\\x76\\xc7\\x8e\\x87\\x0e\\xce\\xb9\\x3f\\xba\\xc7\\xd5\\xb7\\x7e\\x7c\\xd3\\x90\\x61\\xd9\\x55\\xc5\\xf9\\xfb\\xb5\\x4f\\x99\\xbe\\x5a\\xc9\\x50\\xed\\x65\\xed\\x29\\x6d\\xbd\\xb6\\x65\\xc3\\x86\\xac\\xc6\\xd1\\x40\\x04\\xb5\\x80\\xfd\\x5a\\xf2\\xe5\\xb6\\x15\\xd2\\x8f\\x5e\\x30\\xea\\x64\\x31\\xfd\\x74\\x3d\\xf4\\xf9\\xc6\\xa8\\x4a\\x36\\x41\\xf9\\xa1\\x8a\\x85\\xf4\\x07\\x08\\xe8\\xf3\\x09\\xa8\\x46\\x03\\x63\\xb5\\xdb\\xe3\\x96\\x00\\x03\\x55\\x98\\x3e\\x9b\\x2c\\x0c\\x3a\\x0f\\x84\\x00\\x4e\\xbb\\x4c\\xd1\\x7f\\xd9\\x20\\x52\\xda\\x4c\\xf4\\x3e\\x28\\x29\\x67\\x2a\\x81\\x89\\x8a\\xe6\\xd1\\x70\\xed\\x7d\\xdb\\x1f\\x7c\\xdc\\x98\\xc7\\xb8\\xe1\\x83\\x1b\\xaf\\x1e\\x0a\\x67\\x41\\xd7\\xb7\\xfd\\xa1\\xee\\xb3\\x1f\\xb5\\x9f\\xb4\\xff\\xe0\\x39\\xb4\\xbe\\xfd\\xe4\\xfd\\xdd\\xb5\\xa5\\xd4\\xee\\x8b\\x13\\x09\\x92\\x18\\x71\\xe9\\x1b\\xfa\\x7b\\x66\\x0c\\x51\\x48\\x54\\x12\\x63\\xd5\\x72\\x27\\x5f\\x12\\x10\\xec\\x79\\xde\\xf2\\x8a\\x9c\\x9c\\x72\\x7b\\x80\\x67\\xaa\\xaa\\xb3\\x8b\\x9a\\xe3\\xd9\\xd9\\x9c\\xd5\\x2a\\x21\\x10\\xa8\\x7c\\x37\\x07\\x4f\\x6b\\x6f\\x5e\\x79\\x39\\x3c\\xec\\x38\\x23\\xb2\\x9c\\x00\\xef\\xef\\x88\\x91\\x9b\\x72\\x02\\x71\\xe7\\x35\\x36\\xa2\\xa7\\x54\\xe8\\xa5\\x3e\\x0a\\x2e\\xf5\\xc1\\x48\\x01\\x70\\x55\\x50\\xe5\\x0c\\xba\\x0e\\x01\\x38\\x42\\xe6\\xae\\x96\\x2a\\xa3\\xf4\\xf7\\x8d\\x93\\xba\\x8d\\x2b\\x9f\\xbe\\xaf\\xed\\xbb\\x8b\\x5f\\x2f\\x1c\\x31\\xac\\x7a\\xe0\\x1d\\xf7\\x3e\\x7e\\x22\\x6f\\xd8\\xe8\\xeb\\x1e\\x58\\x7f\\xdb\\xce\\x09\\xa3\\xa3\\xe5\\x3d\\x7a\\x6b\\xbf\\xef\\xd6\\xb7\\x5f\\xf7\\x39\\x3d\\x0b\\xba\\xfa\\x82\\x35\\xe4\\x09\\x30\\x08\\x4c\\xaa\\x5e\\x99\\xa3\\x7d\\xf2\\x1f\\xed\\x63\\xed\\xdf\\xd2\\x08\\x90\\x75\\xe8\\x1d\\x60\\xd6\\xbe\\x7d\\xff\\x31\\xed\\x1f\\x57\\x89\\x9d\\xa8\\xab\\x5b\\x37\\xad\\xff\\xa5\\xef\\xa3\\xc0\\xb3\\xf5\\x59\\x7c\\xef\\x86\\x70\\x17\\x76\\xd0\\x43\\x88\\x28\\x51\\x41\\x34\\xab\\x0a\\x9c\\xbf\\x5f\\xb0\\x47\\x3c\\xe5\\xf9\\xe1\\x70\\xb9\\xdd\\xcf\\x33\\xb1\\xca\\x2c\\xdc\\x7d\\xce\\x17\\xcf\\xca\\x62\\x21\\x0f\\x50\\xff\\xb9\\x5c\\x37\\xeb\\x6e\\x8a\\x7b\\x22\\xe5\\xe5\\x34\\x4d\\xb2\\xae\\xff\\x13\\x0f\\xd0\\x85\\x10\\x91\\xe2\\x01\\x0e\\x06\\xd6\\xe8\\x20\\x4d\\x68\\x6d\\x39\\x77\\x45\\x0d\\x95\\xc0\\x40\\x72\\x77\\x07\\xf4\\x8e\\x7e\\xd7\\x8f\\x19\\x3e\\x6a\\xfe\\x97\\xda\\x85\\x7f\\xbc\\x36\\x5c\\x55\\x8b\\x8a\\x67\\xae\\xda\\xbf\\xa3\\x5f\\x9f\\xfe\\x9b\\x6e\\x5e\\xb0\\x61\\x4d\\x79\\x9f\\xf2\\x17\\x6a\\x4a\\xcb\\x2a\\xab\\xcb\\x4a\\xab\\x22\\x35\\x79\\x79\\x20\\x0c\\x0f\\x46\\x3b\\x28\\xf3\\x2f\\x75\\xfe\\xeb\\xe5\\x73\\xef\\x53\\x43\\x3f\\x9c\\x77\\xf8\\x93\\xbf\\x1e\\xd6\\x7e\\xde\\x42\\xe5\\x83\\x5b\\x6e\\xbe\\x63\\xcd\\xdc\\x69\\x2f\\x56\\x56\\x3e\\xab\\xc7\\x5a\\x47\\x63\\x8c\\xe9\\x28\\xaa\\x78\\x24\\xfc\\xbc\\xc7\\xa2\\x84\\x43\\xd0\\xaa\\x0c\\x29\\x1e\\xb7\\xe8\\xe7\\xf2\\x0b\\xd8\\x30\\x1b\\xe6\\x83\\xc1\\xdc\\xe6\\x78\\x90\\xb6\\xcb\\x2d\\x71\\x3b\\xef\\xe1\\x79\\xaa\\x25\\xce\\xcb\\x46\\x91\\x99\\xf8\\x52\\x66\\x63\\xb7\\x0e\\x9a\\x4f\\x4f\\x10\\x70\\x93\\x4c\\x9a\\x69\\x8f\\x3a\\xd3\\x47\\x89\\xf4\\xd0\\x2c\\xa8\\x7b\\xec\\x29\\x84\\x1a\\xbd\\x5c\\xfb\\x39\\xe1\\xd7\\x28\\xe0\\x67\\xed\\x42\\x5a\\xa0\\x96\\x7c\\x14\\xc5\\x64\\x11\\x7a\\xf4\\xf1\\xe2\\x95\\x43\\xb0\\x47\\xb3\\xb4\\xb1\\xa7\\x0d\\x5c\\x0f\\xfa\\x24\\xe3\\xb6\\x84\\xd1\\x4f\\xb0\\x0b\\xf4\\x71\\x0a\\x88\\x85\\x6a\\xb1\\x8d\\x70\\x47\\xbd\\xb9\\x1c\\x2b\\x3b\\x9d\\x6c\\x6e\\x34\\x8b\\x60\\x0b\\x8b\\x02\\xe1\\xa6\\x78\\x20\\x10\\x75\\x13\\xb2\\x28\\xb7\\xc8\\xa8\\xbb\\xf0\\x09\\x99\\xe5\\x29\\x19\\x55\\x19\\x86\\xfc\\x59\\x03\\x50\\xa7\\x1b\\xb1\\x29\\xee\\x36\\x6a\\x60\\x97\\x72\\x1b\\x38\\x8a\\x53\\xe1\\x3f\\x24\\x8a\\x61\\x8b\\xd3\\x50\\x48\\x8b\\xf1\\x35\\x40\\x07\\x9f\\xa7\\x5d\\x1d\\xac\\x11\\xc8\\x77\\x43\\x6d\\xd3\\xce\\xc1\\x89\\x92\\xb7\\x01\\xf2\\xa7\\xdf\\x7d\\x93\\x7d\\x42\\x5c\\x76\\xf3\\xae\\xcd\\x9b\\xef\\x9f\\xb1\\x5e\\x7a\\xc1\\x71\\x62\\x43\\xd2\\xaf\\x71\\xff\\xfd\\x5f\\x7a\\x55\\xec\\x63\\xdb\\xec\\x63\\xa7\\xbd\\xf4\\xc1\\x5f\\xcf\\x4f\\x9f\\x69\\x5d\\xfe\\xb4\\x6b\\x51\\x5f\\xc3\\x9d\\x69\\xec\\xcf\\x83\\x2c\\x3d\\x2f\\x7a\\x2a\\xc2\\x87\\x24\\x2c\\x44\\x8d\\xea\\xb7\\x00\\x60\\x62\\x69\\x8a\\xa5\\xac\\x36\\xc2\\xc4\\x9b\\xd0\\x59\\x41\\xb3\\x2c\\x80\\x4e\\x6c\\xf2\\xd4\\xec\\xd8\\x1f\\x0a\\x24\\x4e\\xa8\\xaa\\xb0\\x42\\xbe\\x7c\\xd7\\xa1\\xed\\x5a\\x5f\\xba\\x12\\x2a\\xb8\\x9f\\xd1\\xf9\\x88\\x90\\x94\\x75\\x4c\\x12\\x38\\xce\\x20\\x5c\\xfb\\xd2\\x45\\xf5\\x93\\x34\\x6d\\xe1\\x39\\x96\\x67\\xad\\x36\\x8e\\xe7\\xe9\\xa6\\x38\\xaf\\x50\\x50\\xd5\\xa5\\x83\\x93\\xe0\\xd1\\x32\\x07\\xc2\\x20\\x25\\xc6\\x58\\x18\\xa8\\x64\\xee\\xbe\\x55\\x3a\\x54\\xc9\\x3b\\xe8\\x18\\xa4\\x0e\\x26\\x70\\x23\\x1f\\xc1\\xb8\\x91\\x5d\\xf1\\xb8\\x7d\\xe1\\xba\\xae\\x36\\xb0\\x82\\x3c\\x0c\\xdc\\x73\\x56\\x9b\\xcd\\x04\\x50\\x4f\\x0f\\x81\\x22\\x4c\\x26\\xd2\\x4a\\x0b\\x64\\x40\\x6f\\x22\\x92\\xec\\x42\\x8b\\xdb\\x3c\\x24\\x0e\\x42\\x54\\xab\\x0a\\x5c\\x6e\\xd4\\xa7\\x27\\x46\\x3e\\xdf\\xaa\\x75\\x3b\\x0b\\xac\\x52\\x65\\xc4\\x2a\\x83\\xc0\\x19\\x54\\xfd\\x48\\xd7\\xb5\\x0d\\x29\\x7e\\xe6\\xc6\\x68\\x0d\\x79\\x16\\x8d\\x67\\x8c\\x4f\\xd8\\x89\\x3e\\x6a\\x18\\xe1\\x4a\\xd9\\xec\\x76\\x74\\x93\\x44\\xd3\\x0c\\x23\\x88\\x14\\x67\\xe2\\xa0\\x26\\x84\\x03\\x33\\x36\\xb3\\x71\\x95\\x8a\\xec\\xcf\\xe4\\xa5\\xa1\\x91\\x3e\\x98\\x0a\\x48\\x1a\\x27\\x61\\x55\\x18\\x23\\x6b\\x52\\xb9\\xa0\\xab\\x36\\xe9\\x79\\x6d\\x32\\xa8\\xd3\\x16\\xa1\\xee\\xb7\\x73\\xcf\\x93\\x1f\\x6f\\x43\\x4d\\x6f\\xb7\\x91\\xd7\\xb5\\xdd\\x4f\\x5e\\x9b\\x31\\x67\\x19\\xf5\\x74\\x81\\x34\\x38\\xa0\\xf1\\xce\\x10\\x34\\xcd\\x33\\x8c\\x53\\xb1\\x9b\\x1c\\x66\\x01\\xd1\\x01\\xb9\\x6d\\x52\\x98\\xf4\\x8c\\x5b\\x47\\xad\\x94\\xea\\x17\\x1f\\x33\\x8a\\xb6\\x0a\\x41\\x8a\\x82\\x14\\x1f\\x40\\x77\\xed\\x64\\xab\\x76\\x12\\x7e\\x4b\\xe7\\xc7\\x1a\\xed\\x6f\\x20\\x7b\\x4d\\x06\\x47\\x30\\x4f\\xe0\\xda\\xbf\\x8c\\x6d\\xb5\\xe1\\x6a\\xb1\\x60\\xb7\\x5b\\x20\\xfb\\x29\\x33\\x61\\xa3\\x21\\x57\\x78\\x9e\\xe3\\x58\\x2b\\x2b\\x4a\\x04\\x65\\x33\\xd3\\x3c\\xb0\\x53\\x56\\x07\\x92\\x09\\x28\\x7b\\xe9\\x96\\x9a\\x3b\\x13\\x21\\xcd\\x8d\\xc9\\xab\\xd0\\x81\\x06\\x10\\x63\\x90\\x54\\xf0\\x00\\xfe\\x1f\\x23\\x27\\x83\\x86\\xf3\\x5a\\x03\\xb8\\xf1\\x8e\\xd6\\x2a\\x6d\\x8d\\xb6\\xf6\\x3c\\xf8\\x8b\\xd6\\x70\\x9e\\xea\\x43\\x82\\xb6\\x45\\x6d\\x1f\\x61\\xdf\\xb8\\x5b\\xdb\\x29\\xf2\\x45\\x72\\x25\\xa6\\x6d\\x02\\xa4\\x6d\\x16\\xb6\\xdd\\xa0\\xfd\\x00\\xe5\\x83\\x33\\x99\\x78\\x82\\xa5\\x68\\x68\\xc2\\x09\\x82\\xcd\\x66\\x25\\xad\\xa2\\x04\\xf7\\x39\\xe4\\x9e\\x4d\\x10\\x90\\x3d\\xa3\\x70\\xb4\\x5e\\xf9\\x96\\xb8\\xcd\\xba\\x2c\\x69\\x06\\x04\\x82\\x4e\\x9c\\x41\\x1f\\x79\\xad\\xf6\\xfb\\x93\\x60\\xb7\\x76\\xd3\\x2b\\xa0\\x13\\x28\\x3a\\xa3\\xdd\\x04\\x7a\\x4e\\xda\\x97\\x0f\\x9e\\xd7\\xfa\\x90\\x9d\\x48\\xbb\\x36\\x16\\x3c\\xd8\\xf6\\x93\\x76\\x15\\xc6\\x39\\x41\\x77\\x93\\x3a\\xde\\xa9\\x40\\xf4\\x54\\xc3\\xbc\\xc5\\xc2\\xd2\\x56\\xe8\\x9d\\x03\\x01\\x99\\xb7\\x66\\x96\\x63\\x9b\\xe3\\x36\\x8e\\x12\\x2c\\x34\\x34\\x69\\x49\\x1a\\xf7\\x6f\\xbb\\x4c\\x97\\xfb\\x44\\xda\\x34\\x3e\\xe4\\x75\\xe8\\xf3\\x04\\x04\\xea\\x25\\x4d\\x23\\x4f\\x69\\x1a\\xb8\\x43\\xc7\\x41\\x45\\xfb\\xf4\\xc2\\xcf\\x18\\x09\\x15\\x10\\x26\\xc8\\x93\\x57\\x0d\\x6c\\x97\\x1c\\xb8\\x57\\x05\\x1b\\x63\\x82\\x62\\x64\\xb2\\xc1\\xb1\\x4d\\xb4\\x0d\\xee\\x57\\x8b\\x4d\\x61\\x05\\x68\\xcb\\x09\\xe9\\x5b\\x56\\xa7\\xa1\\xfd\\xe0\\x72\\x62\\x54\\x1d\\x22\\x27\\x6c\\x22\\x8f\\x6a\\x97\\xc0\\x4b\\x08\\x26\\xe7\\x1f\\xda\\x25\\xba\\xee\\xae\\x8b\\x7f\\x4a\\xc0\\xbb\\x50\\x4f\\xe8\\xf2\\xd2\\x8c\\xb0\\x65\\xb0\\x6f\\xd4\\x5d\\x0d\\x99\\x18\\xab\\xd3\\x29\\x38\\x24\\x49\\x60\\x28\\xc5\\x65\\xa6\\x9a\\xa1\\x1f\\xc7\\x3a\\x9c\\xa8\\xe6\\x12\\xb5\\x47\\xa7\\x88\\x1e\\xb1\\xf4\\x3b\\x95\\xcc\\x7b\\x6f\\xe8\\x5f\\x84\\x70\\x57\\x45\\x1d\\x44\\x47\\xbf\\x2d\\x44\\xd8\\xac\\xda\\x64\\x8c\\xcd\\x0a\\xb5\\x15\\x42\\x67\\x05\\x33\\x13\\xe8\\xac\\x86\\x55\\x0f\\x88\\x1d\\x90\\x86\\x0d\\xf8\\xde\\x04\\xd2\\xc0\\xb3\\x02\\x41\\xa0\\x96\\xfd\\x0e\\x96\\x72\\x7b\\x10\\x50\\xa1\\xd5\\x4a\\x88\\x9c\\xa0\\xc0\\xdf\\x1a\\xa5\\xd3\\x7a\\xb4\\xf2\\x32\\x34\\x84\\x0d\\xe0\\x9e\\x58\\xaa\\xd7\\x20\\xf6\\x29\\x06\\x22\\x04\\x9f\\xd6\\xeb\\x26\\xf6\\x3f\\xd8\\xab\\x75\\xd3\\x3e\\x03\\xbf\\x07\\xe1\\xf9\\x84\\x65\\x92\\x30\\xe0\\x6e\\xd2\\x30\\x69\\xdd\\x28\\xb2\\x67\\x31\\x49\\x14\\x65\\xa7\\xe1\\x51\\xe3\\x72\\xd1\\x26\\xca\\xe3\\x25\\x19\\x3b\\xd3\\x1c\\x97\\xec\\xd0\\x97\\x15\\xec\\x34\\xc5\\xbb\\x1d\\x4e\\x5e\\xc7\\xa8\\x4d\\xab\\x39\\x95\\x3a\\x74\\x3e\\x01\\x2c\\x87\\x5a\\x8a\\xe8\\xac\\xa9\\x07\\xf8\\xf6\\x40\\xc2\\xb0\\xb5\\xab\\xa7\\x2c\\x94\\x10\\x6f\\xa8\\x85\\xd7\\xae\\x45\\xc8\\xb5\\x21\\xe1\\xa7\\x2f\\x0d\\xee\\x80\\x7f\\x69\\x2e\\x6b\\x50\\x07\\xb0\\x4d\\xe1\\x19\\x79\\x89\\x21\\x6a\\x3e\\xf0\\x70\\x92\\x44\\x3b\\x78\\xb8\\x5f\\xac\\x0e\\x0f\\xe5\\xf3\\xcb\\xa2\\x42\\x43\\x8f\\x90\\xa3\\x1d\\x50\\xed\\xd1\\x0e\\xb8\\xb5\\xbd\\x82\\x0d\\x6f\\x9a\\x74\\xc2\\x2e\\x47\\x19\\xe2\\x52\\x92\\x1e\\x09\\xd3\\x99\\x00\\x3e\\x9a\\x34\\xf1\\xc6\\x99\\xf1\\xd6\\xd6\\x49\\xd7\\xdc\\x18\\x29\\x4f\\x80\\x1f\\x81\\x72\\xed\\x5d\\xc9\\xaf\\x23\\x20\\x15\\x7a\\x3e\\x38\\xcd\\xe8\\x28\\x48\\x3a\\xbe\\xf2\\x5c\\x8c\\xe5\\x5b\\xa6\\xba\\x11\\x92\\xaf\\x89\\x13\\x38\\x87\\x4c\\x59\\x70\\x18\\x05\\x6a\\x62\\x93\\xe0\\x30\\xc0\\x7c\\x6b\\xdb\\x41\\xde\\x18\\xdd\\x01\\x22\\xb8\\x5b\\x13\\x06\\x5b\\x69\\x49\\x43\\xf3\\xa5\\xa6\\x20\\x34\\xdf\\xb6\\x73\\x64\\xe8\\xf3\\xce\\x6d\\x45\\x4c\\x5f\\xa3\\x76\\xdf\\x8b\\x31\\x21\\x06\\x23\\xbb\\xf0\\xd2\\x97\\xd0\\x2e\\xfc\\x1d\\xb4\\x8f\\x82\\xf0\\x34\\x98\\xa0\\x96\\x87\\xdd\\x6e\\xd6\\xce\\xf3\\x22\\x1b\\x24\\x72\\x5c\\x2e\\xa8\\x5c\\xf2\\xa2\\x6e\\x56\\x84\\x3b\\x38\\x2c\\x5a\\x2c\\x62\\x10\\x7e\\x51\\xb2\\x9c\\xd5\\x1c\\x97\\x69\\xca\\x77\\x99\\xfa\\x02\\x29\\x76\\x85\\x75\\xc4\\x5b\\x5b\\x2f\\x15\\x46\\xf9\\x4f\\x28\\x43\\xc2\\xe9\\xf6\\x21\\xa8\\xd4\\x04\\x7e\\x06\\x40\\x05\\xb6\\xa5\\x80\\x5e\\xda\\x74\\x6e\\xc3\\xbf\\x7f\\xb4\\xdd\\xbc\\x54\\xba\\xdf\\x35\\xc1\\xfe\\xeb\\xdf\\xc1\\x97\\x17\\x7f\\x34\\xdf\\xbd\\xad\\x65\\x65\\x85\\xf6\\xc1\\xfa\\x35\\x16\\xb2\\xbf\\xe5\\xae\\x77\\x97\\xcc\\x02\\x95\\xa0\\xf3\\x8a\\xa5\\x75\\xf5\\xf5\\x15\\xd7\\x58\\x41\\x05\\xa8\\x6f\\xeb\\xdf\\xf8\\xf9\\x27\\x23\\x47\\x51\\xeb\\x3e\\xfe\\xe9\\xb3\\xef\\x90\\xbd\\x0b\\xe0\\xbc\\xf6\\x63\\xcc\\x10\\x3c\\x2f\\xa7\\x20\\x58\\xe1\\x71\\xe7\\xb6\\xb2\\x5c\\x56\\x30\\xc8\\x59\\xe1\\xbc\\x08\\x9b\\xdb\\xd6\\x18\\xcf\\x75\\x4b\\x12\\x34\\x73\\x59\\x37\\xef\\xf3\\x85\\xd1\\x0d\\x30\\x0f\\x77\\x0c\\xdf\\xb1\\x95\\xfd\\x6f\\xcc\\x0b\\x18\\xb6\\x0f\\x19\\x46\\x85\\xd0\\x39\\xc6\\xec\\xea\\x01\\x46\\x82\\x55\\x8c\\xd4\\x24\\xf0\\x97\\xb5\\x2b\\x27\\xae\\xf2\\xec\\x1a\\xaf\\x3d\\xf3\\xf6\\x17\\x5c\\xe8\\x92\\xf4\\xb0\\xeb\\x56\\xd6\\xf9\\xc5\\x69\\x70\\xfc\\x39\\xfb\\xb2\\x05\\xf3\\xd6\\xd2\\xe0\\xe7\\xe7\\x5f\\x1d\\x3d\\xac\\xe4\\x12\\x01\\xac\\x80\\xf8\\xba\\x5b\\xf7\\xfa\\x8a\\x1b\\xff\\xf6\\x4d\\xdb\\x8b\\x9e\\x35\\x8f\\xdd\\xff\\xe4\\x76\\x42\\x5f\\x2b\\xed\\x35\\xbc\\x56\\x21\\x22\\x1f\\xd5\\xbf\\xe6\\xfa\\x7c\\xbc\\x64\\xb5\\xca\\x3c\\xcd\\x84\\x88\\x3c\\xaf\\x97\\x60\\x78\\xba\\xa0\\xd0\\xc7\\xcb\\x7c\\x73\\x3c\\x57\\xb6\\xdb\\xe5\\x10\\xfc\\x62\\x5d\\xae\\x70\\x73\\xdc\\x45\\xb3\\x41\\x04\\xd7\\x8d\\x60\\xc5\\x63\\xe7\\xff\\xeb\\xd4\\x32\\x17\\x4d\\x87\\x39\\xfb\\xaf\\xeb\\xd6\\xef\\xa1\\xd9\\xb7\\xbf\\xf7\\x9e\\xf5\\x37\\x17\\x6e\\xc6\\x4c\\xbb\\xf6\\x3e\\x88\\x88\\x70\\xf9\\xb2\\x7f\\x63\\xf9\\xd0\\xfa\\x69\\x67\\xf1\\xfa\\x65\\x43\\xcb\\x7d\\xa6\\xda\\xc5\\x25\\x49\\xf6\\x28\\x41\\x78\\xed\\x66\\x0b\\xcb\\x85\\xa0\\x9b\\x66\\xb1\\xd3\\xf9\\x05\\x84\\xe0\\x85\\x5a\\x3d\\xea\\x95\\x65\\x2f\\x0b\\xbf\\xac\\x81\\x40\\xa4\\x31\\x1e\\x10\\x2d\\x56\\x95\\xb7\\x5a\\xa9\\x26\\xd4\\x80\\x13\\xeb\\x7b\\x14\\xd5\\xfa\\x5f\\xcf\\x38\\xb1\\x9c\\x2c\\x03\\xe7\\x9d\\xfb\\x5f\\x17\\x74\\x84\\xf6\\xd3\\x2a\\x6d\\x9d\\x78\\xe5\\x15\\xfd\\xc2\\xa5\\xfd\\x05\\x44\\x0b\\xc1\\x47\\x1d\\x17\\xf5\\x32\\x3d\\x60\\xd0\\x5d\\xdb\\x39\\xf6\\x53\\x47\\x94\\x3a\\x8d\\x73\\x49\\x2f\\x00\\x87\\xd1\\x5f\\x23\\xc4\\x44\\x01\\x91\\x53\\xc0\\xf8\\x32\\xb0\\x35\\x30\\x5e\\x28\\xf3\\x03\\x7c\\xff\\x67\\xc9\\xf7\\xeb\\xb9\\xa7\\x39\\x28\\xf7\\x34\\xb7\\x88\\xf5\\x67\\xe4\\x9e\\x3e\\x02\\xcf\\xea\\x47\\xf1\\x1d\\xc4\\x70\\xb5\\x88\\xc8\\xf2\\xb9\\x10\\x08\\x44\\x30\\x0b\\xea\\xea\\x2c\\xb3\\x9b\\xce\\x89\\x10\\x8a\\xcf\\xa7\\x34\\xc7\\x7d\\xbe\\xa0\\x87\\xb2\\x58\\xdc\\x1c\\x67\\x6f\\x8e\\x73\\xee\\xf4\\xc0\\x6d\\xec\\xf2\\xa1\\x20\\x8c\\x02\\xeb\\x22\\xa0\\x77\\xcb\\xa6\\xfb\\xed\\xb9\\x61\\xbd\\x12\\x14\\x5f\\x9e\\xb2\\x1c\\x79\\xd7\\x2f\\x20\\x6f\\xe5\\xbf\\x76\\x3e\\xf5\\x43\\x97\\xdf\\x15\\xad\\xbd\\xe1\\xa1\\x43\\xda\\xb7\\xda\\x07\\x43\\x8f\\x1b\\x91\\x82\\xa1\\x0d\\xe4\\xc7\\xb2\\xf6\\xd9\\x7f\\x9e\\xd7\\xbe\\xda\\xb2\\xf9\\xee\\xac\\xf1\\xc3\\xbe\\xf9\\xe4\\xcf\\x7f\\xc0\\x18\\xc3\\x7a\\xc8\\x60\\x76\\x67\\x3c\\x87\\x57\\x71\\x1f\\xab\\x3a\\x22\\x42\\x8c\\x51\\x4b\\xc2\\x59\\x4e\\x13\\x17\\xcc\\xe2\\xb2\\x14\\xc2\\xe3\\x84\\x26\\x23\\x3c\\xe1\\x72\\xf3\\xc2\\x28\\x33\\x03\\xba\\xae\\x1e\\x25\\xe8\\x42\\x61\\x5c\\xa5\\x43\\x18\\x37\\xd6\\x01\\x1b\\x54\\x4a\\x2f\\x71\\xbd\\x5c\\x34\\xb7\\x58\\xc7\\x04\\x48\\x5c\\x09\\xba\\x08\\x7a\\xe4\\x9c\\xb7\\xd6\\x1b\\xf1\\xdc\\x8d\\x5b\\x67\\x9d\\x5a\\xb4\\xac\\xb5\\xd5\\xb8\\x1b\\x1c\\x19\\xfd\\x14\\x90\\xe3\\x1e\\xf8\\xea\\x56\\x1c\\xd2\\x7d\\xf6\\xe9\\xa5\\xbf\\x1b\\xaf\\x85\\xd2\\xee\\x08\\x17\\xe5\\xba\\xb4\\x1f\\x51\\xce\\xa4\\x86\\x72\\xaa\\xf0\\x99\\xd9\\x5d\\xcd\\x06\\xa2\\x53\\x51\\xdc\\x6e\\x59\\x74\\x38\\xbc\\x26\\x8f\\x08\\x9d\\x19\\x91\\x72\\x58\\x78\\x16\\x6e\\x68\\xb7\\x82\\xfc\\x9a\\xd3\\xb1\\x24\\x22\\x2d\\x2a\\xe0\\x71\\x18\\x11\\xc8\\x0e\\x8d\\x01\\xaa\\x1d\\x7e\\x10\\xd6\\xb3\\x8c\\xa8\\x29\\xda\\xc9\\x64\\x6f\\x80\\x86\\x78\\xff\\x68\\x37\\xf2\\xbe\\x47\\x9f\\x3f\\xb8\\x66\\x55\\x7a\\x7b\\x80\\x95\\xa0\\x0c\\xe4\\x83\\x8f\\xf5\\x34\\x29\\xcc\\x63\\x8b\\x76\\x86\\x7e\\x05\\xf2\\xd8\\x4d\\xf4\\x57\\xa3\\xb4\\x6c\\x91\\x15\\x37\\xdc\\x96\\xa4\\x4b\\x51\\x3c\\x5e\\x19\\x5a\\x55\\xb2\\xc0\\xdb\\x51\\x1d\\x1c\\x34\\xaa\\x78\\x17\\xa9\\x0c\\x8f\\x93\\x06\\x42\\xd0\\xe9\\xe2\\x24\\xae\\x42\\x62\\x53\\x19\\xe8\\x66\\x32\\xb4\\xa9\\xcc\\x18\\x7f\\x3e\\x83\\x46\\x2a\\xbe\\x6e\\x89\\x76\\x67\\xbd\\x3a\\x68\\xe6\\x28\\x04\\xd5\\x59\\xd3\\xbb\\x26\\xd2\\x89\\x7c\\xfd\\xc0\\x49\\xed\\x0c\\xa8\\xa1\\x9e\\xd6\\x86\\x68\\x6f\\xec\\x1c\\x64\\x5b\\xce\\xcf\\x82\\x9f\\x34\\x81\\xbe\\x28\\xff\\x09\\xd1\\x77\\x17\\x94\\x81\\x22\\xcc\\xb7\\x01\\x6a\\xae\\x24\\x8a\\x14\\x0b\\xed\\x74\\xce\\xed\\x36\\x53\\x66\\x8f\\x17\\xbb\\x81\\xac\\x89\\xa6\\x24\\x89\\xb2\\xd9\\x9c\\xa8\\x5f\\x4a\\x47\\x09\\x4e\\x47\\xed\\x34\\x38\\x98\\xbc\\x49\\xcd\\xb8\\x45\\x4b\\x5e\\xa9\\xfe\\xfb\\x9f\\x46\\xce\\xc1\\xf6\\x75\\x69\\x77\\xab\\x3f\\x68\\xdb\\xb4\\x35\\x7a\\xb6\\x81\\x1b\\xe4\\x23\\xda\\x8e\\x43\\xda\\xec\\x98\\x77\\xc3\\xd4\\x02\\xc2\\x6d\\xe3\\xdd\\xbc\\xd9\\xce\\xb2\\x92\\x59\\xf2\\x78\\x09\\xc2\\x69\\x76\\xc2\\x23\\xc6\\x19\\xb0\\x21\\x10\\x4f\\x1b\\xb0\\xd9\\xcc\\x82\\x45\\x30\\x2b\\x86\\x7b\\x35\\x3e\\xf3\\x66\\xac\\x36\\xd3\\xe4\\x60\\x8c\\x0e\\xcb\\x29\\x4a\\xf5\\xde\\x6b\\xe0\\x56\\x79\\xc6\\xf5\\x4b\\x6e\\xd1\\xbc\\xad\\xad\\xe0\\xf3\\xd6\\x8f\\x5e\\xfe\\xdd\\xf9\\x9c\\x65\\xa3\\x06\\x1d\\x3e\\x02\\x1e\\x42\\x97\\x8f\\xf8\\xfa\\x95\\xf9\\x48\\xfb\\x79\\xd5\\xbd\\xc6\\x7d\\xb4\\x2e\\x73\\x02\\xd1\\x57\\x8d\\x40\\x47\\x0b\\x59\\x8c\\x66\\xe8\\x65\\xda\\x58\\x9b\\x28\\x61\\x77\\x86\\x27\\x2d\\x1c\\xc5\\x3a\\x48\\x1b\\xb4\\x40\\xc8\\x44\\xc7\\xe5\\x0c\\x8c\\xf9\\x0c\\x8d\\x29\\x47\\xd2\\x6f\\xa1\\x29\\xea\\x9a\\x35\\xcb\\x0d\\x96\\xed\\x41\\xfe\\xdf\\x8e\\x34\\x6e\\x41\\x09\\x23\\x74\\x1e\\x9d\\xa1\\xcf\\x60\\xbb\\x7d\\x98\\x5a\\xc4\\x99\\x48\\xd6\\x04\\xc5\\xd7\\x66\\xb3\\x9b\\xa1\\x95\\x78\\x85\\x8b\\xe8\\xe1\\x57\\xb8\\x88\\x4e\\xae\\xa3\\x3b\\xfd\\x26\\x1a\\x67\\xd8\\x61\\x97\\xf8\\x26\\xc8\\x92\\xe7\\x4e\\x1e\\x5c\\xb7\\x1e\\xb2\\xc7\\x60\\x06\\x4e\\xa2\\x4b\\xde\\x45\\x23\\x1b\\xbe\\x33\\xb6\\xe1\\x55\\x68\\x3f\\x9b\\x64\\xa7\\x93\\x14\\x04\\xd1\\x24\\x2a\\x2e\\x0c\\x08\\x6f\\x35\\xa1\\x44\\x46\\xa2\\x39\\xee\\x70\\x08\\x26\\xc3\\x86\\x37\\xf2\\x24\\x32\\xd2\\xd0\\x8c\\x46\\x3b\\xed\\xec\\x78\\xe4\\x4c\\x7d\\xb9\\x26\\x65\\xc6\\x6f\\x69\\xdd\\x03\\xba\\xa7\\x9b\\xf1\\xbf\\x3e\\xa7\\x4d\\xd5\\x75\\x33\\xb4\\xe3\\xb1\\x9d\\xea\\x42\\xbd\\x02\\x09\\x17\\xf4\\xfe\\x45\\xe8\\xe1\\xb9\\x78\\xb7\\x87\\x46\\xb0\\x32\\xb4\\xc5\\xe4\\x12\\x2c\\xf6\\xa6\\xb8\\xcd\\x02\\xf9\\x70\\xbe\\x23\\xea\\x7f\\xba\\x5d\\x9a\\xe8\\x14\\x8e\\x56\\x25\\x85\\xc6\\x89\\x0c\\xf8\\xc5\\xfb\\x66\\xa4\\x00\\x39\\x91\\x01\\x7f\\xe1\\xb4\\x36\\x95\\xf4\\x83\\x61\\x63\\x13\\xf6\\xe8\\x72\\x43\\x3e\\x82\\xc4\\x48\\xb5\\xc8\\x01\\x59\\x61\\xe6\\x95\\x20\\x3c\\x7c\\x49\\x32\\xe0\\xf7\\x2b\\x22\\x95\\x95\\xad\\x98\\x19\\x9b\\x4d\\x32\\x9b\\x49\\xaf\\x44\\x89\\x0e\\xd2\\xdf\\x41\\x4c\\x1c\\x86\\x22\\xcd\\xc8\\x81\\x4c\\x13\\x17\\xb9\\x86\\x43\\xc5\\x86\\x54\\x19\\x90\\x0d\\x84\\xdc\\x1a\\x0c\\x91\\x8b\\x85\\xa7\\x37\\x03\\x2c\\xa5\\xd1\\xfd\\x77\\x3e\\x54\\x17\\xa5\\xf7\\x7c\\x7b\\x2c\\x50\\xe0\\x8b\\xf0\\xc7\\xfe\\xb6\\x14\\x8b\\x12\\x35\\x09\\x08\\xc1\\xc8\\x96\\xeb\\xb5\\x41\\xe0\\xe8\\x63\\xf3\\xb5\\x3f\\x5e\\xdc\\xc9\\xf4\\xd5\\xdc\\x4d\\x5b\\xc7\\xcc\\x73\\x83\\xaf\\xb0\\x74\\xa1\\x9e\\x8b\\x67\\xf0\\x3d\\xbf\\x87\\x68\\x50\\xf3\\xed\\x16\\x8b\\x95\\x63\\x25\\x0f\\xdc\\x78\\x24\\x09\\x7d\\x11\\xc9\\x4a\\x79\\x7d\\x8c\\xc9\\xe4\\xb4\\x09\\x56\\x45\\x22\\x38\\x85\\x74\\xa5\\x29\\xaf\\xcc\\x06\\x8c\\x97\\x21\\xfc\\x32\\x6d\\x18\\x21\\xcd\\xcd\\xeb\\xb2\\x3a\\xb4\\x62\\x9c\\x8c\\x35\\x58\\xaa\\x21\\x63\\x3a\\xc2\\xaf\\xae\\xc5\\xd0\\xf9\\x7d\\x3b\\x8e\\x07\\x22\\x7b\\x7c\\x58\\xda\\xf9\\xbf\\xcb\\x11\\x45\\xb7\\x33\\xd0\\x9b\\x37\\x2a\\x49\\x48\\x3b\\x13\\x25\\x09\\xc9\\x4b\\x73\\x69\\x38\\x5c\\x18\\xb3\\x1e\\xe3\\x6a\\xf5\\x41\\xef\\x25\\xb7\\x7f\\x8b\\x31\\x07\\xcb\\x31\\xe6\\xe0\\x1b\\xad\\xb1\\x7a\\x81\\xca\\xb0\\x15\\xf4\\x67\\x8f\\x37\\x9e\\x8d\\xfa\\xcb\\x11\\x7a\\x7f\\x39\\x8a\\x54\\x98\\x28\\x45\\x12\\xb2\\xa4\\x3f\\x3f\\xad\\xbf\\x9c\\x3e\\xc6\\xc2\\xc4\\x18\\xc4\\xf4\\x1f\\x50\\x75\\x26\\x45\\xd6\\x20\\x98\\xc2\\x67\\x2e\\xbd\\xd5\\x5a\\x15\\x13\\xa8\\x76\\x9f\\x41\\x36\\xc9\\x63\\xd8\\xa6\\xb9\\x83\\x48\\xf4\\x0c\\x7b\\x06\\x63\\xfe\\x3e\\x42\\xa4\\x7a\\x23\\xee\\x32\\x7a\\x23\\xc2\\x39\\x3a\\x31\\x7e\\x98\\x15\\x77\\xf2\\xf9\\xa5\\x55\\x70\\xa7\\x3a\\x29\\x5e\\x0e\\x5b\\x91\\xdc\\x6e\\xd6\\x79\\xe2\\x87\\x13\\x35\\x67\\x45\\x53\\xc8\\x8a\\xf0\\xbd\\x53\\xe0\\x7b\\xaf\\x63\\xc6\\x88\\x2c\\x68\\x22\\xd2\\xf0\\xd5\\x45\\x96\\xf4\\xe1\\x9f\\xa7\\xa2\\x3a\\x6a\\xf6\\x76\\x31\\x0a\\x9a\\x00\\xea\\x77\\xd6\\x0f\\xa0\\xc6\\xda\\x98\\x07\\x1e\\xc4\\x03\\x28\\xe2\\x56\\xa6\\xdd\\x7c\\x92\\x58\\x8d\\xe8\\x19\\x88\\x07\\xc0\\xf8\\x44\\x0e\\x62\\x02\\x08\\x65\\x39\\x33\\x6b\\x5a\\x75\\x3e\\xdf\\x9e\\xb0\\xe1\\x52\\x63\\x90\\x20\\x1f\\x15\\xc2\\x12\\x79\\x11\\xdd\\x8a\\x6b\\xc7\\xb3\\xd7\\xd0\\x18\\xd8\\x8e\\x4b\\x8e\\x41\\x82\\x42\\x54\\x06\\x4b\\xe4\\xe7\\xe9\\x76\\x5c\\x72\\x0c\\xdc\\x83\\x0a\\x8f\\xf1\\x8a\\x31\\x46\\x61\\x62\\x8c\\x72\\x34\\x86\\x5c\\xda\\x89\\xca\\x6b\\x37\\x06\\xc6\\x5b\\xc7\\x63\\x7c\\xae\\x8f\\xf1\\x8b\\xf1\\x89\\x52\\x34\\x06\\xdb\\xa9\\x88\\xca\\xcd\\xc0\\x9c\\x6c\\x80\\xef\\xbf\\x9d\\x59\\x4e\\xf8\\x90\\xad\\x48\\x53\\x70\\xc7\\xc8\\x32\\xef\\x76\\xdb\\x44\\x8a\\xf6\\x07\\xec\\x4e\\xa7\\xad\\x25\\xee\\x74\\x4a\\x84\\x2c\\x4a\\x22\\x74\\xec\\x09\\xd4\\x7f\\x27\\xad\\x15\\x25\\xaa\\x04\\x33\\xfa\\xdc\\xa5\\x19\\xdb\\xc9\\x43\\xa3\\x5d\\xef\\x2a\\x80\\xae\\x7c\\x80\\xd1\\xad\\x6a\\xfe\\x39\\xed\\x97\\x51\\x89\\xdc\\xa0\\x1e\\xe0\\x99\\x8b\\x7f\\xa6\\x4d\\x5a\\xcd\\xeb\\xdf\\x2f\\xfd\\xc6\\xf9\\xc0\\x73\\x0d\\xda\\x0f\\x0f\\xac\\x5e\\xb5\\x79\\x13\\x58\\xbf\\xf3\\x41\\x6d\\xb6\\xe5\\x2f\\x87\\x57\\xbc\\x39\\x4f\\x9f\\xdf\\xad\\xf0\\xdc\\xed\\x89\\xf0\\x92\\xc9\\x11\\x69\\x3d\\xa3\\x26\\x24\\x7a\\x46\\x91\\x6b\\x08\\x12\\x58\\xb0\\x6d\\x2c\\x20\\x5b\\x1a\\x1e\\x33\\xa6\\x0c\\x39\\xd3\\x71\\xed\\x86\\x27\\x70\\xed\\xf8\\x41\\x86\\x25\\x2d\\x60\\xec\\x74\\x29\\x85\\x6a\\x97\\x7c\\xf6\\xed\\xc9\\xbe\\x79\\x69\\x6b\\xac\\xe0\\x35\\x96\\x8d\\xa7\\xa7\\xf1\\x5f\\x7f\\xfe\\xc2\\x24\\x6e\\x5e\\x72\\x8d\\x15\\x49\\xff\\x84\\x8d\\xc9\\x58\\xe3\\xc9\\xba\\xac\\x3a\\x50\\xcc\\xa6\\x9d\\xac\\x06\\xf1\\x7e\\xf5\\x7b\\x59\\xa2\\xdd\\x18\\x18\\xcb\\x1b\\xef\\xd7\\xe1\\x99\\xb2\\x9a\\x8d\\x65\\x35\\xe8\\xcf\\xf8\\x44\\x3a\\xae\\x00\\x42\\xc9\\x6e\\x50\\x8b\\x15\\x41\\x60\\x5d\\x76\\x3b\\xc1\\x12\\x1e\\xaf\\x22\\x34\\xc7\\x05\\x65\\x98\\xb2\\x54\\xd9\\xa0\\xd0\\xa8\\x4b\\x0a\\xc5\\xf3\\x0e\\x0c\\x2e\\x60\\x6d\\x6e\\xdf\\xb7\\xbc\\xfd\\x61\\xdc\\x1e\\x5c\\x20\\x24\\x43\\x87\\x51\\x46\\xce\\x62\\x3b\\x38\\x01\\x8d\\x00\\x11\\x67\\xdb\\x26\\xcb\\xae\\x0d\\x9b\\xee\\xb3\\x90\\xb3\\x5c\\xed\\xe1\\x03\\x2e\\xde\\x01\\xfe\\xf8\\xc5\\x37\\x74\\xcd\\xdf\\xbe\\x00\\x67\\x74\\xcc\\x00\\x03\\xaf\\x1c\\x63\\x53\\x79\\x51\\x77\\x3f\\x97\\x28\\xb2\\x6e\\x41\\x80\\x34\\xfb\\xfc\\x2e\\x84\\x06\\xea\\x82\\xa6\\x83\\xcb\\x05\\xa9\\x95\\x11\\x22\\x18\\x65\\xed\\xd0\\xb9\\xfc\\xb2\\xd4\\x26\\x6b\\xbc\\x1d\\x00\\xc1\\xef\\x1a\\xe4\\x42\\xdf\\x76\\xe0\\x85\\x6f\\xbf\\xf8\\xb9\\xed\\x8b\\x9f\\xbe\\xd3\\x5c\\x5b\\x36\\xf0\\x6d\\x47\\xb8\\x0d\\x5b\\xd6\\x6c\\xb4\\x91\\xfd\\xad\\x77\\x92\\x59\\xda\\xf7\\xda\\x47\\x20\\x17\\x1a\\xa7\\x6e\\xe0\\xd5\\xbe\\x6a\\xab\\x7d\\xf6\\xd4\\xb3\\xa7\\xa8\\xab\\x1f\\x7b\\xfc\\xf1\\xc7\\x88\\x8c\\x35\\x44\\xbd\\x9e\\xd3\\xd7\\x90\\xa6\\xb2\\x99\\x28\\x4d\\x11\\xed\\x56\\x24\\x63\\x0d\\xe9\\xed\\xe9\\x6b\\x48\\x53\\x61\\x09\\x7e\\x02\\x64\\x07\\xd3\\x3f\\x91\\xe8\\x67\\x8b\\x65\\xf1\\x43\\x63\\x0c\\xc5\\xa8\\xa1\\x8f\\xe8\\x75\\xf7\\x97\\x5a\\xc3\\xd9\\x4e\\x7b\\xc6\\x67\\x30\\xe6\\x31\\x96\\xc5\\x36\\x7d\\x8c\\x5f\\x0d\\x59\\xcc\\x43\\xb2\\x48\\x45\\xc2\\x5c\\xe6\\x18\\x7a\\xdf\\xc7\\x09\\x89\\xbe\\x8f\\x69\\x7b\\xc9\\x05\\xf7\\x12\\x70\\x7b\\xd2\\xfb\\x3e\\x26\\x31\\x1f\\x87\\x27\\x30\\x1f\\x93\\x7b\\xc9\\x25\\xe1\\x77\\xa7\\x30\\x1f\\x93\\xcf\\xbe\\x3d\\xf1\\x6c\\x48\\x7f\\x2c\\xb1\\x97\\x02\\x68\\x02\\x92\\xcf\\x78\\x7a\\x1a\\x8f\\xf4\\xe7\\x2f\\x4c\\x3c\\x3f\\xb5\\x97\\x02\\x88\\x7e\\xe0\\x33\\x46\\x68\\x47\\xff\\xce\\xe4\\x18\\x03\\x40\\x4d\\x62\\x8c\\x10\\x1a\\x63\\x9a\\x2b\\xfb\\x0a\\x63\\x24\\x70\\x2b\\x39\\x72\\x17\\xc8\\x4b\\x7e\\x06\\x8d\\x32\\x3a\\xe0\\x4d\\x1f\\x05\\x7f\\x06\\xdf\\x81\\xe2\\xb9\\xbc\\x63\\xcc\\x45\\x48\\x7c\\xc6\\x8b\\xc6\\x31\\xbb\\x15\\xae\\xfd\\x38\\xf8\\x7e\\x12\\xaf\\xc5\\xcf\\xfa\\x5c\\xbe\\x4b\\x7c\\x02\\x8d\\x62\\x72\\x2b\\x12\\x9f\\xa1\\x97\\x3f\\x86\\xf6\\x2a\\xca\\x2d\\xe7\\x11\\xc6\\x04\\x41\\x52\\x14\\xc3\\x31\\x9c\\xd9\\x82\\xdc\\x44\\x96\\x42\\x61\\x77\\xd4\\x17\\x32\\x15\\x04\\x33\\xf2\\xbb\\x71\\xc6\\x4d\\x9e\\x11\\x93\\x52\\xc2\\x60\\xf7\\xda\\x43\\xdb\\x51\\xd2\\xf4\\x1e\\x74\\x8b\\x8c\\xb3\\xa3\\x09\\xd4\\x6b\\x05\\x3e\\x1b\\xe5\\x91\\xe3\\x67\\x53\\x0c\\xf4\\xa2\\x08\\x13\\x61\\xb6\\xf0\\x24\\xdc\\x48\\x02\\x6b\\x32\\x51\\x4d\\x71\\x93\\x72\\xf9\\x67\\x83\\x64\\xc8\\x0b\\xa5\\x8d\\xcf\\xdd\\xb7\\x2a\\x19\\xee\\x32\\xfa\\x0c\\xe0\\xde\\x56\\x98\\x37\\x1f\\xb4\\xdf\\x0b\\x59\\x78\\x2f\\x04\\x7c\\x8c\\xab\\x1d\\x6f\\x30\\x66\\x39\\xe6\\xcd\\x85\\xcc\\xbd\\x90\\x2d\\xe9\\xbb\\xc7\\xe4\\xce\\xe0\\x4d\\x0d\\x5c\\xb3\\xb1\\x46\\x2e\\x5e\\x05\\x2b\\x08\\x12\\x41\\xd3\\x8a\\x59\\x72\\x93\\x12\\xe5\\xf3\\x53\\xb2\\x53\\x6e\\x89\\x13\\x82\\x13\\x58\\x29\\x78\\x72\\xb9\\x5c\\xde\\xe6\\xb8\\x8b\\x92\\xa0\\xc7\\x23\\x39\\x4c\\xd0\\xd7\\x31\\x05\\x2e\\x87\\x72\\x9b\\x7e\\x57\\x94\\xe6\\xf4\\xe8\\x11\\x3e\\x31\\xac\\x7b\\xb3\\xdd\\x80\\x9e\\x31\\x8f\\x39\\x0b\\xf6\\x6b\\xe3\\xe2\\xda\\xe7\\xf5\\x03\\x2b\\xfa\\x2e\\x9c\\xf9\\x28\\xce\\xda\\x27\\x7f\\xda\\xac\\xd5\\x69\\xff\\xd0\\xde\\x15\\xf7\\x38\\xb6\\xcc\\x27\\x27\\x6e\\x26\\x9b\\x70\\x3e\\xfa\\x42\\x48\\xaf\\x0f\\xdf\\x4d\\x8f\\x83\\xbe\\x98\\xc3\\xe1\\xa4\\x38\\xce\\x63\\x73\\x12\\xb4\\x13\\xd2\\xcb\\xba\\xdc\\x2e\\xa8\\xba\\xdc\\x6e\\xa7\\xd7\\x0b\\x17\\xc0\\x2b\\x38\\x39\\x0c\\x31\\xe4\\x54\\x2c\\x22\\x7c\\x71\\x38\\x6e\\xe9\\x48\\xf0\\x15\\xa8\\x35\\xd2\\xfa\\x3b\\x12\\xac\\xa7\\xf8\\x8f\\xd0\\x3e\\x8f\\x0d\\xec\\xdc\\x7d\\x49\\x73\\x22\\xd5\\x5f\\xdb\\x6e\\x10\\xbb\\xf1\\xd6\\x64\\xce\\x7f\\x2e\\xa4\\xf5\\x3c\\xce\\xb7\\x1b\\xa4\\xe6\\x3b\\x04\\xd9\\x62\\x71\\xb9\\x3d\\x0a\\xe1\\x74\\x42\\x0b\\x40\\x92\\xdd\\x04\\x1d\\xf0\\x2b\\x1e\\x87\\x40\\x4b\\x2e\\x19\\x41\\x4b\\x9a\\xe0\\x19\\x11\\x48\\xa6\\x59\\xb9\\xd3\\x2e\\x8c\\x74\\x48\\x40\\xbd\\x7c\\x84\\x49\\x8f\\x16\\x47\\xf3\\xd3\\x02\\x51\\x2e\\xfa\\xfc\\x9e\\x65\\xf5\\x03\\xeb\\xba\\x55\\xf5\\x8e\\xa2\\xfe\\x52\\x46\\x78\\x0c\\x0c\\xd1\\x83\\x66\\xad\\x43\\xf6\\xcd\\xdd\\x24\\xee\\x51\\xba\\xf6\\x08\\x8d\\x1a\\x4c\\x0a\\x7a\\x9c\\xac\\xed\\x12\\x8e\\x9d\\x2d\\xbe\\x11\\xd1\\xbb\\x18\\xd2\\x3b\\x09\\x63\\xbb\\x35\\xa8\\x91\\xdf\\xa6\\x57\\x90\\x14\\xca\\x84\\x59\\xfa\\x7f\\x25\\xb9\\x14\\x50\\xe9\\x24\\x4f\\xda\\x78\\x0b\\x24\\xb9\\x4b\\x6d\\x5d\\xee\\xac\\xd3\\xda\\x07\\x27\\xc1\\x72\\x6d\\xe3\\x2b\\xf0\\x70\\xb0\\x9e\\xd1\\x36\\x82\\x3e\\xa3\\xb6\\x2d\\xde\\x02\\x29\\xee\\x59\\x91\\x37\\xf6\\x51\\x50\\x9a\\x11\\x4b\\xeb\\xbc\\xd0\\x88\\x3f\\xea\\xbd\\x04\\xe1\\x69\\x7c\\x95\\x5a\\x6c\\x65\\x79\\x81\\x87\\x3e\\x20\\x20\\x29\\x82\\x93\\x24\\x11\\x65\\x65\\x92\\x1c\\x2d\\x3b\\x78\\xd6\\x66\\x87\\xf2\\x4a\\x11\\x28\\x40\\x29\\x52\\x26\\x4b\\xaa\\x67\\x7d\\xfb\\x68\\x45\\x8a\\x70\\x9c\\xcf\\x88\\x5a\\x1e\\x22\\x19\\x45\\x11\\x48\\x80\\x03\\xa5\\x7a\\x10\\x72\\x29\\x98\\xa0\\xed\\x07\\x8f\\x9c\\xd7\\xc3\\x90\\x8f\\x68\\x7b\\x41\\xb3\\xb6\\x4c\\x0f\\x45\\xbe\\xb2\\xad\\xed\\x2e\\x1c\\x87\\x9c\\xbb\\x8d\\xac\\xc5\\x7c\\x85\\x34\\x36\\xe2\\xfe\\x10\\x63\\xd5\\x6c\\x91\\x06\\x80\\x83\\x3a\\x42\\xb2\\x58\\xcd\\x36\\x5e\\xe2\\x4d\\x50\\x1f\\x99\\xac\\x12\\x24\\x52\\x04\\x0c\\xcb\\xa0\\x9c\\x12\\x6b\\xdc\\x66\\x66\\x59\\xca\\x62\\x12\\x08\\x4a\\xf9\\x6d\\x42\\x13\\xdf\\x51\\x30\\x2a\\x49\\x61\\x82\\x66\\x6a\\xb5\\xf6\\x21\\xe2\\x69\\xa3\\x76\\x0e\\x94\\x6b\\xa7\\x0d\\xbe\\xbe\\x0c\\xaa\\xb5\\x57\\xc1\\x48\\x14\\x9b\\x04\\x9f\\x6d\\x02\\x27\\x11\\x43\\xb5\\xee\\x9b\\x34\\x1f\\xbe\\x47\\x9e\\x65\\xf4\\x20\\x83\\x67\\x15\\xea\\xc0\\x63\\x25\\x18\\x41\\x80\\x2a\\xcd\\xa9\\xd0\\x12\\xb2\\x56\\x79\\x96\\xb7\\xa3\\xf0\\x2d\\x8a\\xcd\\x75\\x84\\x6a\\xd5\\x61\\x32\\xba\\x83\\x18\\xae\\xf2\\xc9\\xc9\\xad\\x71\\x86\\xa1\\x82\\xcb\\x61\\x67\\xcd\\xff\\x70\\x23\\xf0\\x1e\\xd7\\x2a\\xbf\\xd3\\xda\\x4e\\x80\\x01\\xff\\xd1\\xee\\x79\\x0c\\x6c\\x59\\xfc\\xd2\\x2c\\x92\\xfc\\xf5\\xb9\\x3f\\x9d\\xd4\\x48\\x79\\x93\\x61\\x6f\\x7f\\x66\\xc4\\x5a\\xfa\\x63\\x5a\\x2c\\xf0\\x0c\\x7a\\x1c\\xeb\\xa6\\x5c\\xa2\\xb7\\x1a\\xf1\\x29\\x22\\x49\\x7a\\x43\\x26\\x8b\\x25\\xa4\\x50\\x79\\x51\\x26\\xe8\\x08\\xb6\\xc4\\x3d\\x39\\xf0\\x0f\\xef\\xe1\\x45\\xbb\\x43\\x46\\x59\\x94\\x08\\x02\\xab\\x36\\xd5\\x44\\xcc\\xc8\\xb4\\x49\\x62\\x0d\\xeb\\xd0\\xfa\\xe8\\x1e\\xc8\\xc8\\xb9\\x89\\x56\\x55\\xe6\\xd6\\x03\\x03\\x72\\x1f\\xd1\\x4a\\xde\\xb0\\xb7\\x7b\\xcf\\x9e\\x75\\x7b\\x6f\\xdf\\x71\\x44\\x1d\\xf9\\xd6\\x63\\xcf\\x03\\xd3\\x97\\x37\\x69\\xdd\\x27\\x4f\\x5a\\xb8\\xf8\\xd6\\xed\\x4f\\x32\\x7d\\x2f\\x96\\xae\\x9a\\x37\\xf7\\x76\\xf0\\x07\\xad\\xf3\\x1b\\xcf\\x6e\\xd8\\xf0\\xa7\\x53\\x27\\x3f\\xd7\\x86\\x2d\\xbe\\x6b\\xf5\\x32\\x50\\xb2\\x0b\\xd3\\x3c\\x11\\xd2\\x3c\\x83\\x39\\x47\\x64\\x13\\x45\\x08\\x07\\x34\\xc4\\x10\\xa2\\x68\\x8d\\xba\\xbc\\xde\\x28\\x43\\x15\\x77\\x82\\x56\\x8f\\x9b\\x34\\x99\\x0a\\x1a\\xe3\\x16\\x93\\x28\\x47\\x48\\x74\\xfd\\x4e\\x90\\xae\\x34\\xa4\\xe4\\xc4\\x9d\\x5b\\x7b\\xda\\xf3\\xd2\\x80\\x36\\x62\\xf9\\x52\\xbb\\x99\\x44\\xf3\\x8d\\x19\\x88\\x68\\x06\\x55\\x35\\xfb\\x57\\xcd\\x5d\\xb5\\x70\\xe0\\xe4\\x1c\\x92\\xdc\\x5b\\xaf\\xe2\\xc9\\x4c\\x59\\x1d\\xd5\\xde\\xec\\xd9\\x7f\\x44\\xd3\\xde\\xfe\\xbd\\xef\\xde\\x0f\\xf7\\x60\\x21\\x08\\x00\\x5f\\xaf\\xe1\\xb3\\xc1\\x03\\x17\\x1e\\x5e\\x7d\\x53\\x62\\x4a\\x43\\x47\\x81\\xf5\\xef\\xbe\\xf1\\xb7\\xb7\\xc0\\xee\\x3f\\xea\\xfb\\x8b\\x86\\xf3\\x79\\x82\\x89\\xc3\\xd9\\x5c\\xa5\\x96\\x14\\x11\\xb9\\xac\\xdf\\x2a\\x3b\\x9d\\x70\\xa3\\x65\\x13\\x6c\\x71\\x27\\x3e\\x94\\x1d\\xca\\x6e\\x89\\xa3\\xc0\\x89\\x87\\xf2\\x08\\x70\\x29\\xe4\\xa2\\x22\\x8a\\xca\\x87\\x5b\\x2d\\xd5\\x16\\x30\\x85\\x3a\\xd5\\xe1\\x1a\\x1c\\x8a\\x8b\\x91\\xf0\\xaf\\x97\\x3c\\x64\\xcc\\xa9\\x7d\\x75\\x04\\xdd\\xe3\\xb9\\x55\\x07\\x4e\\x2d\\x9a\\xb2\\x64\\xb5\\xb1\\x40\\xf7\\xdc\\xb9\\x75\\x5f\\xb4\\x6e\\xd9\\xb2\\xeb\\xa6\\x0f\\x9d\\x53\\x4c\\x4f\\x59\\x32\\xf7\\xe4\\xee\\xc5\\x3b\\xb2\\xdd\\x4f\\xac\\x49\\x2d\\xd1\\x89\\x57\\x56\\xdd\\xb2\\x65\\xfa\\x82\\x49\\x37\\x0d\\x18\\xa6\\xcf\\x87\\x87\\xf3\\x39\\x88\\x73\\x81\\xe0\\x7c\\xcc\\x16\\x5a\\x8c\\xba\\xb3\\xb2\\xb3\\xdd\\xa2\\x93\\xb0\\xb0\\x85\\x45\\x32\\x6a\\x28\\xd6\\x18\\x87\\x7e\\x55\\x56\\xc4\\x16\\xf1\\x35\\xc6\\x23\\x2e\\xb3\\xd9\\x66\\xe3\\x1a\\xe3\\x36\\xf1\\x7f\\x37\\x1f\\x90\\x56\\xcb\\xe0\\x08\\x27\\xbb\\xbc\\xb9\\x8d\\x8b\\xc8\\xc4\\x72\\x95\\x02\\x60\\x4a\\xe0\\xca\\x95\\x82\\xc1\\x8f\\xbc\\xbe\\x71\\xca\\x9d\\xcb\\x79\\x6b\\x5d\\xb7\\xfa\\x5a\\x38\\xb1\\x3b\\xd7\\xd8\\xf8\\x07\\xc0\\x8f\\x09\\xdc\\x38\\x40\\xee\\x5e\\x82\\x90\\xe2\\x84\\x19\\xd7\\xac\\x6c\\x9e\\x7d\\xa7\\x3e\\xb3\\xfb\\xf7\\x4f\\x1f\\x07\\x89\\x15\\xa1\\xfd\\x71\\x0c\\xae\\x4f\\x0e\\x31\\x52\\xed\\x24\\x88\\xbc\\x2b\\x3b\\x14\\xca\\x09\\x06\\x5d\\x5e\\x5a\\x64\\x22\\xb9\\x5e\\x1d\\xe8\\x90\\x61\\xe4\\x50\\x4e\\x4e\\xb0\\x39\\x9e\\xe3\\x10\\xa0\\x4f\\x6a\\x45\\xf1\\xc8\\xd4\\x74\\xd2\\x8b\\x16\\xda\\x7b\\x9d\\x1d\\x20\\x0c\\xd3\\x2a\\x54\\x82\\x46\\x85\\xce\\xac\\x77\\x5f\\xec\\x58\\x8f\\x72\\xff\\x83\\xdb\\x5b\\xef\\x05\\x13\\x97\\x6d\\x68\\x57\\x7f\\xe2\\x7e\\xe2\\xce\\x3f\\xea\\xc9\\xb5\\x80\\x98\\x02\\x69\\xef\\x8b\\x71\\x8a\\x47\\xa9\\x25\\xb2\\xd3\\xe6\\x43\\xa6\\x19\\x41\\xf8\\xb2\\x78\\x27\\xa4\\x3d\\xcb\\xcc\\xe3\\x4e\\x2f\\x66\\xc6\\x8d\\x13\\xb0\\x1a\\xe3\\x6e\\x11\\x19\\x6b\\x4d\\x71\\x46\\x49\\xcf\\x58\\xea\\x58\\x6d\\x93\\x0a\\xc6\\x61\\x02\\x7f\\xb3\\xc2\\x84\\x7a\\x7d\\xfe\\xbe\\x15\\x67\\x4f\\xb6\\xaf\\x24\\xb9\\x6b\\xc3\\x0a\\x64\\x88\\xfd\\x67\\xe1\\x6d\\x1d\\x8a\\x47\\x84\\xdd\\x6b\\xd0\\xed\\x03\\x94\\xa3\\x43\\x38\\x2e\\xd4\\x4b\\x0d\\x99\\xbd\\x7e\\x93\\xd7\\x24\\x11\\xa8\\xe7\\x58\\x0e\\x41\\x08\\x5e\\xaf\\xb9\\x25\\xee\\xa5\\xb2\\x9c\\x82\\x13\\x32\\x5f\\x40\\x41\\xc4\\x8c\\x1c\\xc0\\x24\\x9a\\x58\\xa2\\xc8\\x32\\x21\\xf1\\x90\\x9b\\x19\\xdd\\x8a\\xe5\\xb0\\xb1\\xcf\\x69\\x61\\xef\\x5d\\xdb\\xb7\\x6e\\x3e\\x12\\x74\\xf5\\xb8\\xe9\\x96\\xaa\\x80\\x1c\\xaa\\xab\\xcd\\x0f\\x55\\x83\\xaf\\x7b\\xf4\\xea\\xd9\\x83\\xea\\xa3\\x75\\xfe\\xc3\\x33\\x27\\x4e\\x53\\xfd\\xb5\\x91\\xda\\x13\\xda\\xd3\\xb7\\x99\\x57\\x72\\x3d\\x77\\x03\\x85\\x7c\\xef\\x62\\xe9\\xf2\\x05\\xf3\\x56\\x61\\xb9\\x17\\x20\\xbd\\x1b\\x31\\x16\\x68\\x0f\\x35\\x04\\x44\\x47\\xd8\\xeb\\xf3\\x85\\x45\\x13\\x9d\\x13\\xf1\\x7a\\x59\\x51\\x04\\x4d\\x71\\x51\\x50\\x2c\\xac\\xa5\\x31\\x9e\\x85\\x33\\x17\\x33\\xe9\\xcd\\xc0\\x2d\\x69\\xdf\\xaa\\xa0\\x9d\\x2a\\xaa\\x22\\xaf\\x7e\\xb2\\xc0\\xa9\\x4e\\x9b\\x98\\xea\\x56\\xf0\\xf7\\x5a\\x7d\\xc3\\x6e\\xbc\\x03\\x35\\x2b\\xf8\\xe3\\x27\\x93\\x12\\xcd\\x0a\\xda\\x6a\\x6f\\x9f\\x9b\\xd8\\xaa\\xcf\\x9e\\x43\\x74\\x4e\\x83\\x74\\xde\\x82\\x75\\xfe\\x30\\xb5\\xd8\\xcc\\x79\\xbd\\xd0\\x32\\x42\\xa1\\x0a\\xca\\x01\\x5d\\x55\\x5b\\x4b\\xdc\\x25\\xa3\\x60\\x45\\x23\\x0b\\xf6\\xb0\\x4f\\xb1\\x24\\x2b\\xb1\\x12\\x65\\xa2\\x29\\xca\\xc8\\xb6\\x82\\x9a\\x3f\\xd1\\x3c\\x26\\xb3\\xef\\x4e\\x66\\xb8\\xa2\\x3d\\xc1\\x75\\xda\\x5b\\xfb\\xf6\\x81\\xd2\\x84\\xe2\\xdf\\xbc\\x36\\x75\\x01\\x9f\\xae\\xef\\x9f\\x37\\x72\\x9e\\x50\\x9f\\xd1\\xf9\\xd8\\x06\\x1d\\xa8\\x46\\x3b\\xd0\\xd8\\x18\\x77\\xb9\\x58\\xc8\\xcf\\x32\\x16\\x18\\xe4\\xe9\\x7d\\x17\\x0d\\xf2\\xfe\\xef\\xd4\\x15\\x6b\\x1f\\xb5\\xb6\\x82\\x70\\xab\\xa1\\xc9\\xb7\\x6e\\xd5\\x2f\\xe2\\xd1\\xc5\\x7c\\x5b\\x6d\\x4a\\x75\\x1f\\x7f\\x25\\xd1\\x23\\x7a\\x18\\xee\\x11\\x5d\\x94\\xf4\\x8d\\x0b\\xd0\\x5d\\x22\\x19\\xc1\\xb4\\xbb\\x10\\xbe\\x11\\xe4\\xaf\\x42\\x74\\x55\\x83\\x28\\x01\\x50\\xb1\\x0a\\x8a\\xe0\\x72\\xdb\\x6c\\x0e\\xd2\\xc1\\xb7\\xc4\\x1d\\x32\\x03\\x48\\x60\\xd4\\xd9\\xb6\\x93\\x81\\xf4\\xc4\\x40\\x3d\\xe3\\xa8\\x1d\\xa9\\xe0\\x1e\\x6d\\x39\\xf5\\xbc\\xb6\\xfc\\xba\\x69\\xd3\\xa7\\x1c\\x39\\xf3\\xc2\\xf1\\x73\\x28\\xf5\\xe8\\xe2\\xbf\\xee\\x5d\\x7d\\xc7\\x76\\x70\\x40\\xeb\\x7b\\xfe\\x8f\\xef\\xe0\\x3c\\x3a\\xbf\\xd1\\x57\\x03\\xd3\\x40\\x42\\x7f\\x43\\x36\\xdb\\x64\\x9b\\xcb\\x0d\\xad\\x35\\x42\\x84\\xba\\x56\\x74\\x41\\x86\\x29\\x4d\\xe9\\x19\\x83\\x97\\xa3\\x41\\x4e\\x52\\xd0\\x0d\\xc4\\x0c\\xa4\\x18\\x29\\xec\\xa7\\x0a\\xb4\\xd3\\xf3\\x96\\x2c\\xb9\\xe5\\xc8\\xd7\\xc7\\x5f\\xf8\\x4a\\x3b\\x4d\\xd7\\xad\\x68\\x6b\\xdb\\xbd\\x6b\\xd7\\xee\\xd3\\x5f\\x9e\\xf8\\xf4\\xb3\\xe3\\x64\\x54\\x5f\\xc3\\x71\\x90\\x86\\x3b\\x99\\x31\\xfa\\x39\\x10\\xa2\\xdc\\xbc\\x24\\xe6\\x45\\xa3\\x62\\x80\\xe5\\x29\\x78\\x0e\\xb0\\xbe\\xa0\\x0f\\x1a\\x17\\x3e\\x1f\\x81\\xc3\\x61\\x92\\x64\\xa3\\xf3\\xa0\\x2f\\x1b\\x31\\x1a\\x66\\x27\\xda\\xdd\\xb6\\xeb\\xf2\\x99\\x7e\\x0e\\x30\\x39\\xb9\\x08\\xd9\\x02\\x65\\xf0\\x22\\x85\\x43\\xa7\\xf2\\x3e\\xeb\\x81\\x62\\x24\\x80\\x86\\x64\\x37\\x4b\\x93\\xd7\\x7d\\xa7\\x7d\\x7a\\x70\\xeb\\x86\\x3b\\xe7\\xbd\\xbf\\x16\\xae\\x60\\xbf\\xc3\\xb1\\x07\\x17\\xae\\xbe\\xef\\xf1\\x23\\xfd\\xfb\\x9f\\x3d\\xf1\\xbb\\x9d\\x80\\x9a\\xf7\\x60\\x5c\\xbb\\xe0\\xfc\\xec\\xd9\\x65\\xfb\\x9c\\x39\\xf7\\xdc\\x32\\x6d\\xff\\xd8\\xfd\\x4f\\x74\\x5b\\x79\\xe3\\xec\\x29\\xf3\\x66\\xaf\\xbb\\x71\\xc9\\xfc\\x35\\x40\\x6c\\x78\\x7e\\x0f\\x5c\\xe7\\x27\\xe1\\x7c\\x7a\\xa2\\x75\\xa6\\x26\\x13\\x7a\\x9c\\x74\\x34\\xee\\x99\\x1e\\x20\\xba\\xa8\\x41\\x20\\x8a\\x6e\\x53\\xc0\\xe1\\xc8\\x32\\x05\\x15\\x5f\\x73\\x5c\\x09\\xe8\\xa1\\xd2\\xf6\\x8d\\xd3\\x8b\\xd3\\xf5\\xd2\\x65\\x23\\xa4\\xa9\\x7c\\xdd\\x8c\\x16\\xea\\x7a\\x98\\xf4\\x9d\\x7b\\x37\\xd5\\xab\\x9d\\x7a\\x2d\\xba\\x4c\\xa0\\xf4\\xd7\\xba\\xf5\\x3b\\xec\\x7b\\xc4\\x2d\\x84\\x11\\x2b\\x1d\\x4d\\x07\\xe1\\xfa\\x23\\xda\\xbc\\x56\\x3f\\x2a\\xf1\\xf1\\xcb\\x74\\x30\\xcb\\x6f\\x6d\\x8a\\xfb\\x05\\x09\\xba\\x70\\x92\\x8b\\xe4\\xb0\\x77\\x41\\x66\\x3a\\x6c\\x49\\x5c\\x22\\x26\\xe1\\x96\\xa1\\xe0\\x5e\\xfb\\x20\\x29\\x1d\\xd4\\x3e\\xef\\xa6\\x76\\xea\\x53\\x53\\xd7\\x31\\x4e\\xba\\x5c\\x7b\\xd7\\xbe\\x53\\xec\\xdd\\x44\\x57\\xb4\\x8f\\x94\\xea\\xfe\\xf3\\x64\\x6d\\x31\\x3d\\x1b\\xef\\x9f\\x4a\\xdd\\x26\\xc5\\xfe\\xe6\\x20\\xf8\\xf3\\xc8\\x54\\x4c\\x00\\xdf\\xd5\\xeb\\x3e\\x3a\\xea\\x75\\xf0\\x0c\\xee\\x39\\x37\\x06\\xdf\\x07\\x3c\\xa2\\x2d\\xa5\\x22\\x97\\x5e\\x23\\x9c\\x44\\x58\\x95\\x25\\xc6\\x6e\\x37\\x7f\\x04\\xa0\\x51\\xa1\\x82\\x46\\xd0\\x02\\x68\\x20\\x12\\x65\\xe7\\xc6\\x8f\\xaf\\x40\\xe6\\x3c\\xd2\\xa4\\xfa\\x99\\x64\\x00\\x22\\x57\\xc5\\xf0\\x81\\x14\\x99\\x12\\x2d\\x8f\\xe5\\x4f\\xea\\xd5\\x7f\\xca\\x80\\xde\\xda\\xd2\\xb2\\xea\\xd2\\xd2\\xea\\xb2\\xce\\x57\\x8d\\xb7\\x4c\\x98\\x60\\x19\\x7f\\x15\\xba\\xcf\\x03\\xfb\\x99\\xa1\\x54\\x3e\\xfb\\x3c\\xb4\\xd1\\xdd\\x44\\x84\\x28\\x50\\x5d\\x0a\\xcf\\x0b\\x02\\x05\\x9e\\xa4\\xbe\\xa7\\x2e\\x51\\x14\\xa5\\xf2\\xb6\\x01\\x94\\x3f\\xfc\\x0c\\x18\\x0e\\x15\\xf9\\xb9\\xe2\\xf1\\xb3\\x8d\\x52\\x75\\x3d\\x97\\x1c\\x6f\\x94\\x9a\\xb4\\xd7\\x5c\\xda\\x6b\\xb0\\xbf\\x34\\x94\\x53\\x5a\\x9a\\x13\\x2a\\xfd\\x34\\xf1\\x62\\x4e\\x09\\x7c\\x51\\x1e\\x0a\\x95\\xb0\\x37\\x84\\x4a\\x4a\\xf4\\x5f\\xea\\xdf\\x9f\\x44\\xaf\\xe1\\xbf\\xa1\\x79\\xbf\\xcd\\x0c\\x25\\x7f\\x65\\x2f\\xa2\\xbe\\x13\\x87\\x08\\x16\\x0f\\x7d\\x0e\\xc1\\x47\\xb9\\xe1\\x57\\xa4\\x26\\x1f\\x7e\\x91\\xbf\\xee\\x84\\xff\\x3d\\x35\\x1f\\xfd\\xbd\\x93\\xbd\\x38\\x2a\\xf9\\x1f\\xb2\\x9b\\x49\\x27\\xfc\\xfc\\x51\\x63\\x4e\\x39\\xaa\\xcc\\xb7\\x9f\\x8e\\xa0\\xa4\\x4d\\x27\\x73\\x2e\\xe9\\xf4\\x93\\x6e\\x48\\x59\\x79\\x59\\x24\\x54\\x42\\x41\\x92\\xcb\\xcb\\xc2\\x39\\xa5\\xec\\xcc\\x9c\\x92\\x12\\x38\\x0f\\x44\\x2e\\xfa\\x5d\\x29\\xe6\\xe1\\x61\\xc8\\x43\\xaf\\x31\\x9e\\x1f\\xf1\\xd0\\x4b\\x79\\x7e\\x7b\\xd0\\x97\\xc4\\x97\\x32\\xc7\\x55\\xd2\\x69\\x80\\x62\\x49\\x2e\\x80\\x9c\\x29\\x2f\\x47\\x9c\\x09\\x85\\xcb\\x10\\xeb\\x5e\\xb9\\x21\\x35\\xb8\\x4e\\x4c\\x69\\x29\\x98\\xa5\\x6d\\x82\\xfc\\x3a\\x05\\xe5\\xc4\\x7c\\xe9\\x09\\x82\\x23\\xec\\x47\\x09\\x5a\\xa4\\x49\\x9a\\x40\\xa2\\x81\\x9c\\x65\\x57\\x4c\\x41\\x6a\\xbf\\xf3\\x9c\\x29\\xf7\\x1f\\x18\\x3e\\x76\\xfa\\xf4\\x07\\xd6\\xc3\\xf7\\xbf\\xc1\\x5c\\x4d\\x6a\\xec\\x23\\xd0\\xc5\\xb1\\x1c\\xa2\\x00\\x26\\xeb\\x3c\\xe2\\x2f\\xe4\\xab\\xb6\\xed\\xde\\x7b\\x59\\xe2\\x91\\x47\\x1e\\x41\\xeb\\x50\\xcf\\x34\\x52\\x1b\\xd9\\x15\\xf0\\x9c\\x0f\\xa9\\x36\\x29\\x40\\x58\\x02\\xf0\\x4b\\x70\\x03\\xb7\\xb1\\x26\\xe3\\xf5\\x1a\\x3e\\x1d\\x07\\x0a\\x25\\x27\\x71\\x51\\xbd\\xc6\\xc0\\xb0\\x50\\x2b\\xf3\\x6b\\x8c\\x29\\x21\\x1b\\xf5\\xb5\\x40\\xb4\\xce\\x3f\\x73\\x78\\xaf\\x8a\\x91\\xa5\\x05\\x35\\x21\\xf4\\xc3\\x8c\\xa6\\xee\\x15\\x8d\\xd5\\xa5\\x9d\\xd9\\xda\\x68\\x9e\\xea\\x1a\\x10\\xbd\\xa5\\xe7\\xf0\\xfa\\x3e\\xb5\\x65\\xf8\\x87\\x82\\x9b\\x7b\\x0e\\xaf\\x1c\\xdc\\xa3\\x10\\xd1\\x71\\x0a\\xf2\\xd7\\xcc\\x2e\\x85\\xf3\\x93\\x8e\\x0a\\x74\\x36\\x9a\\x9f\\x41\\x40\\x02\\xdd\\xce\\xa5\\x90\\x3b\\x67\\x4f\\xbd\\xef\\x20\\x33\\x74\\xdc\\xd4\\x99\\x7b\\x36\\xc2\\xcf\\xbc\\x0c\\x79\\xc2\\x5e\\xfa\\x9c\\x60\\x08\\xd3\\x21\\x40\\x43\\x76\\xa0\\x2d\\x92\\x5f\\x13\\xe3\\x28\\x76\\xc3\\xe1\\xc3\\x1b\\x0e\\x6b\\x4b\\x5b\\x5b\\x5b\\x09\\x12\\x3c\\x05\\xdf\\x17\\xbc\\xf4\\x2f\\xf8\\x6c\\x99\\x70\\x3c\\xcd\\x71\\x2a\\x05\\x28\\xc9\\x42\\x94\\xc5\\xe0\\xec\\xca\\xf4\\xeb\\x06\\x64\\xef\\x31\\x69\\xeb\\x43\\x05\\x0f\\xec\\x9a\\x32\\xf7\\x12\\x91\\x58\\x99\\xe1\\xeb\\xf6\\x4e\\x9f\\x36\\xce\\x6a\\x2c\\x4a\\x7b\\x7a\\xa9\\x6c\\x0a\\x9e\\x7f\\x3a\\x93\\xc7\\xeb\\x8b\\x8e\\xc0\\xf7\\xc0\\xa9\\xc7\\x76\\x4e\\x99\\xc3\\x0c\\xbd\\xfb\\x81\\x99\\x53\\xc7\\x5d\\xba\\x94\\xf8\\x8c\\xc8\\xd2\\x6f\\x23\\x19\\x06\\xd9\\xf0\\xe7\\x27\\xf0\\x33\\x04\\xc2\\xa5\\xf2\\x16\\xfd\\x39\\x26\\xfd\\x41\\x15\\xe7\\xc7\\x57\\xa4\\x1e\\x15\\x36\\xbe\\x93\\x93\\x0f\\xee\\x9c\\x7c\\x93\\x36\\x48\\x7f\\xf0\\x86\\xbd\\x33\\xaf\\x6b\\xc6\\x4f\\x47\\x6a\\x86\\x18\\xc7\\xd4\\xd3\\xb3\\xb9\\x42\\xf8\\x34\\x3f\\x51\\x4c\\xd4\\x40\\x8d\\x22\\x7a\\x29\\xaa\\xac\\xac\\x10\\x14\\xca\\x55\\x55\\x7c\\x63\\x04\\x44\\x88\\xb2\\xf1\\xe8\\x30\\x7c\\x69\\x7c\\x87\\x2d\\x9e\\x0f\\x45\\x23\\x5a\\x63\\xb4\\x92\\x43\\x5a\\x86\\x31\\x00\\x54\\x72\\x8c\\x05\\xe7\\xd2\\x5a\\x6a\\x93\\x2f\\x2e\\x89\\xc7\\x97\\x2d\\x19\\x5b\\x5f\\x7a\\xf5\\xf0\\xab\\x03\\xb7\\xd4\\x14\\x14\\xd4\\x75\\x8d\\xe6\\xd5\\x69\\x6f\\x07\\xe0\\xcf\\x65\\x75\\xe3\\x16\\x2f\\x19\\x1b\\x5f\\xb2\\xa0\\x2e\\x37\\xda\\xb5\\xae\\x20\\xda\\x85\\x1d\\x1e\\x5f\\xb2\\x78\\xcc\\x98\\xc5\\x9e\\xab\\x47\\x5e\\x5d\\x5e\\x5f\\xd0\\xa5\\x36\\x3f\\xbf\\xb6\\x4b\\x41\\x7d\\x39\\xfc\\xd1\\xb3\\x78\\x4c\\x7c\\xc9\\x92\\x78\\x41\\x97\\xba\\x28\\xfc\\x1d\\xe4\\xc9\\x6c\\xa6\\x9e\\x1a\\x67\\xcc\\x41\\x51\\xcd\\xde\\x32\\xb8\\x56\\x72\\x23\\x0f\\x78\\x44\\xf9\\x4b\\xe3\\x2b\\x7e\\x9b\\x66\\xf0\\x04\\xa4\\x6b\\xc9\\xa2\\xb1\\x75\\xe5\\xa3\\x46\\x5e\\xed\\x9f\\xdf\\xa5\\x00\\x3d\\x38\\x5a\\x87\\x08\\x40\\xff\\x80\\x08\\xe8\\xd4\\xa3\\xa0\\x0b\\xfa\\x7d\\x17\\xfd\\x3e\\xf6\\x45\\xb8\\x06\\x56\\x76\\x07\\x21\\x11\\x1e\\xb8\\x85\\x69\\x9a\\x17\\x50\\xd2\\xb3\\x21\\x7a\\x48\\xef\\xa2\\xbb\\x3d\\x3c\\x16\\xba\\xdd\\x53\\x74\\xeb\\x81\\xb2\\x8e\\x1e\\x9d\\xe3\\x9e\\x34\\xc9\\x1c\\x2e\\x8f\\xb2\\x3b\\x2a\\xae\\x9e\\x6c\\x9e\\x0c\\x86\\xac\\xb1\\x96\\xd4\\x54\\x64\\xe8\\x74\\x84\\x27\\x27\\x93\\x76\\x86\\xf9\\x88\\x86\\x8e\\xb1\\x4a\\x37\\xd2\\x2d\\x34\\x4d\\x3b\\xcc\\x58\\xf2\\xc6\\xeb\\x3a\\x1d\\x72\\x59\\x89\\x54\\x21\\xc4\\xb7\\x98\\x92\\xb0\\x4d\\xa8\\xc8\\xda\\x29\\x43\\xeb\\x27\\xe5\\xc7\\xca\\xa3\\x53\\x26\\x1f\\x50\\xc6\\x8d\\xb3\\x4d\\x1a\\xda\\xb9\\x73\\x55\\x79\\x79\\x15\\xce\\xcf\\x82\\xba\\x60\\x3f\\xd4\\x05\\x1f\\x42\\xb9\\xb7\\x1f\\xa1\\x20\\xcf\\x48\\xac\\x0a\\x20\\x6b\\x18\\x29\\x5c\\x15\\xab\\xa2\\xcc\\xda\\xb1\\x0f\\x22\\xda\\x2b\\xd3\\xdf\\x30\\xf6\\x88\\xe9\\xb2\\x7b\\xc4\\xb4\\xa1\\xb5\\x75\\x43\\xab\\xbe\\x47\\xd2\\xf5\\x8b\\xf8\\x34\\x4d\\x50\\x22\\x12\\x68\\xa2\\x0c\\xcb\\x60\\x62\\x7f\\x50\\x66\\x24\\x75\\xc3\\x37\\xec\\x99\\x3e\\x7d\\xac\\x2e\\xbf\\xf0\\x33\\x4f\\xe0\\xcf\\x08\\x84\\x57\\x45\\x75\\x0d\\x16\\xfd\\x93\\x02\\x82\\xcd\\x3b\\x6f\\xc8\\x58\\xe2\\xe3\\x61\\xe3\\x3b\\x39\\x19\\x3d\\x06\\x1c\\x7d\\xec\\xfe\\xc4\\xc3\\xe0\\x5f\\xd7\\x8f\\x81\\x34\\x9c\\x81\\xcf\\x23\\x2f\\xfd\\x02\\x9f\\x67\\x6d\\x55\\x01\\x00\\x8c\\xae\\xe1\\x00\\x53\\x55\\x93\\x9f\\xa7\\x70\\x14\\xa9\\xfd\\x7d\\xfd\\x01\\x90\\xb5\\x41\\x3b\\x1c\\x6b\\x74\\x7d\\x1c\\x1b\\xe2\\xcd\\xd8\\x53\\x6f\\x62\\x9a\\xda\\xc9\\x8f\\x8c\\x32\\x80\\xbc\\x8d\\x1c\\xe0\\x52\\xf2\\xf3\\x1b\\x72\\x4d\\x65\\xfb\\xaf\\x1e\\x39\\xaa\\xa2\\xcb\\xd8\\x45\\x4b\\xe2\\xa3\\x97\\xcd\\x87\\x42\\x59\\xd7\\xa5\\xb0\\x00\\x0a\\x70\\x8f\\x4e\\x48\\x58\\x91\\x0c\\x21\\x61\\xad\\xcd\\xd7\\xe5\\x07\\x8e\\x6f\\xac\\x35\\x1c\\xff\\x3d\\xbc\\x36\\x2f\\x43\\x7a\\x4c\\xec\\x51\\xc8\\x6f\\xcb\\x21\\x1a\\x24\\xcf\\xb5\\x74\\x96\\x33\\x43\\x11\\xcb\\x93\\x3a\\x64\\x35\\x7c\\xaf\\x74\\x04\\x89\\x1d\\x45\\x1a\\xc7\\xc7\\x78\\x9c\\x65\\x93\\x58\\x4a\\x76\\x35\\x5a\\x4b\\x34\\x57\\x7d\\x8d\\xe0\\x58\\xe7\\xf1\\xd8\\x86\\xee\\x86\\x3f\\xbf\\x81\\xe7\\xbe\\x81\\x59\\x48\\x75\\x83\\x73\\x47\\x67\\x94\\x78\\x54\\x41\\x5b\\x47\\xe0\\xb1\\xb0\\xb5\\x3b\\x01\\x33\\xb6\\xcc\\x06\\x7d\\xcb\\x8c\\x5d\\x04\\xb7\\x4b\\x61\\x97\\xba\\xfc\\xd4\\x76\\x41\\x53\\xd5\\xb7\\x0a\\x49\\xba\\xb5\\xa5\\xe4\\xd1\\x4b\\xdf\\xe1\\x67\\xbb\\x55\\xab\\x40\\x28\\x40\\x55\\xf6\\x28\\xa4\\xc2\\x53\\x78\\x04\\x74\\xc8\\x32\\x57\\x38\\xec\\x48\\x77\\x99\\x6e\\x12\\x94\\xc1\\xa3\\x0d\\x69\\xd0\\x92\\x6b\\xf0\\x8f\\xf8\\x94\\x4b\\x1c\\xb1\\x04\\x03\\x6a\\xe1\\xfc\\x36\\x1b\\x63\\x40\\x4d\\x45\\xd4\\x13\\xf9\\xaa\\x12\\xf3\\xfb\\x6b\\x89\\x30\\x50\\xc3\\x7b\\xc2\\x64\\xb8\\x44\\xe1\\x85\\x7c\\x9e\\x82\\x43\\x62\\x1c\\xbf\\x73\\x09\\x53\\x85\\xf9\\x5f\\x98\\x2a\\x79\\x57\\x32\\x61\\x6a\\x13\\x96\\xcb\\x67\\xf0\\x05\\x3e\\x7d\\x6f\\x2a\\xd5\\xe9\\x2d\\x05\\x83\\x12\\xbf\\x22\\xcb\\x43\\xe1\\x52\\x34\\x8d\\x16\\x48\\xb6\\xf1\\xfe\\xd2\\x74\\xa3\\xe6\\x7b\\xe3\\x77\\xd8\\x6a\\x40\\x67\\x04\\x05\\x46\\xc1\\xf9\\xcc\\x83\\xf3\\xa1\\xb0\\x34\\x06\\x55\\xb8\\xc6\\x40\\x26\\xbc\\x40\\xf5\\xee\\xf1\\x92\\x5e\\x1b\\x67\\x30\\x0e\\x2b\\x19\\x06\\xfa\\x47\\x35\\x57\\xe0\\x1f\\x18\\x05\\x06\\xd4\\xe0\\x41\\xd2\\x6c\\x85\\xbd\\x33\\x67\\xaa\\x29\\x2e\\xea\\xc7\\x52\\xda\\x98\\xe8\\xac\\xcb\\x86\\xfa\\x47\\xc2\\x8e\\xa6\\x9b\\x08\\x02\\x35\\xb8\\x27\\x48\\x06\\x8d\\x73\\x0f\\x8f\\xaa\\xdf\\x3f\\x45\\xe0\\xc8\\x91\\x2b\\x8f\\xfd\\xf2\\x0d\\x60\\xc0\\xf5\\x7b\\xdb\\x8f\\xae\\x7d\\x33\\x67\\xe6\\xcc\\x39\\x87\\xdb\\x13\\x00\\xa0\\x9c\\xec\\x87\\x72\\xd2\\x0b\\xae\\xa1\\xe9\\x10\\x16\\x8d\\x4c\\xc9\\x4b\\x89\\x82\\xf6\\x2f\\xe3\\xc3\\x38\\xf7\\x1a\\xec\\x87\\x3a\\xad\\xf0\\x52\\x1f\\xbc\\xf6\\xf6\\x56\\x64\\xa0\\xa2\\x0f\\xc7\\x7e\\xcb\\x0e\\x05\\xfb\\x13\\x26\\xdb\\xe7\\x49\\xb2\\x7e\\x32\\x6c\\xb6\\x9c\\x24\\x4b\\x90\\xfd\\x0b\\x79\\x52\\x98\\x94\\x2b\\xb8\\x0e\\xfe\\xa4\\x40\\xa5\\x0d\\xd4\\x51\\x86\\x7f\\xc3\\xe8\\xcd\\xd1\\xc7\\xf9\\x3c\\x21\\x28\\x73\\xcb\\x30\\x29\\xa1\\x32\\x5d\\xb2\\xf5\\xc1\\xd1\\x9b\\x9e\\x44\\x62\\x82\\x25\\x1c\\xee\\xf7\\x4b\\x5e\\xb8\\x7f\\x57\\x40\\x79\\xb0\\xb6\\x52\\x1c\\x54\\x70\\x48\\x27\\xc1\\x21\\xd1\\xdd\\xfb\\x29\\xd0\\x5f\\x3b\\xb6\\x78\\x7a\\x9a\\x7e\\x5f\\x01\\xd7\\x90\\x7d\\x8a\\x24\\xca\\x52\\x8b\\x44\\x76\\x9e\\x05\\xfa\\x4f\\xd7\\xf6\\xcf\\x9b\\x3e\\x7d\\x1e\\xe2\\x35\\xe3\\x21\\x8f\\x32\\xcf\\xa0\\x79\\xa9\\x76\\x6a\\x18\\xbf\\x94\\xdf\\xcd\\xbf\\xc1\\xd3\\x84\\x7e\\x5a\\x8e\\xbf\\x0c\\xeb\\x75\\x1a\\x99\\xa9\\xd9\\x9d\\xf5\\x6d\\x87\\x9e\\xf1\\x10\\xb4\\xa3\\xfb\\x61\\x3b\\x9c\\xe2\\x9f\\x01\\x23\\xa0\\xfe\\xb9\\xe2\\xe7\\xfe\\x93\\xf8\\x1c\\x05\\xe6\\x43\\x9e\\x8e\\xbc\\xf4\\x83\\xc1\\x53\\xbf\\x6a\\x53\\x04\\xc1\\xef\\xd7\\x99\\x6a\\xa8\\x84\\x0a\\x87\\x2e\\xd9\\x69\\xcf\\x72\\x5f\\xe1\\x35\\x98\\x9f\\xd8\\x67\\xf7\\x27\\xb8\\xb7\\x27\\xf1\\xa2\\xc5\\xd8\\x58\\x03\\x75\\x5d\\x51\\x3e\\x20\\x65\\x96\\x23\\xfa\\xc9\\xd9\\xe4\\x51\\xca\\x0e\\xe9\\xb0\\x1f\\xa5\\x08\\xbe\\x9c\\x27\\x79\\x9d\\xab\\x1d\\xa7\\x80\\xa4\\x8e\\x7c\\x21\\x52\\x52\\x02\\xad\\xfd\\x12\\xf4\\xd9\\x32\\x28\\xab\\xbb\\xf0\\x7a\\x98\\x0e\\x11\\xa4\\x2e\\xab\\xd0\\xa9\\x22\\xcb\\x6e\\xd0\\xf6\\x7f\\xf4\\x91\\x6e\\x1f\\x0c\\xa0\\x17\\x50\\x2b\\x98\\x21\\xf0\\x3d\\xd2\\x11\\x92\\x62\\xe0\\xd1\\x08\\xdf\\x87\\xef\\x15\\xf4\\x10\\x25\\x18\\x40\\xd6\\xb7\\xbd\\xcc\\x0c\\x79\\x1b\\xeb\\xf3\\xfe\\x94\\x99\\x39\\x04\\xdf\\x22\\x3e\\x4d\\x40\\xed\\x6b\\x82\\x0a\\x38\\xb1\\x10\\xc9\\x35\\x66\\x0e\\x4d\\x47\\x63\\x7b\\xb5\\x16\\xf2\\x30\\xf7\\x0e\\x7c\\xaf\\x7c\\x94\\xa0\\x28\\x9a\\x01\\xf0\\xcc\\x2c\\xd3\\xb3\\x7a\\xf5\\x3a\\x4a\\xd2\\xbb\\x5d\\x6b\\xe1\\xe7\\xff\\xe7\\x4e\\x7d\\x9e\\x4c\\x4f\\xb8\\xd6\\x7f\\x83\\xf3\\x84\\xb2\\x53\\x66\\xd8\\x43\\x57\\x5c\\xa8\\x8d\\x89\\x85\\x32\\x3e\\xfb\\xff\\xb3\\xc6\\x24\\xf8\\x01\\x6e\\xcc\\x0f\\xe8\\x5a\\x48\\x23\\x07\\x35\\x89\\x15\\x7a\\x1c\\x1c\\x45\\xf1\\x26\\x40\\x33\\xd0\\x44\\x1d\\x4a\\xf4\\x38\\x5d\\x11\\x93\\x52\\x7d\\xe3\\xd1\\x55\\x14\\x05\\xff\\x80\\x1f\\xbe\\xfe\\xfa\\x6b\\xd4\\x1c\\x93\\xb2\\xa3\\xbf\\xd1\\xf8\\xac\\x1b\\x8e\\x7f\\x14\\xeb\\x04\\x8a\\xbf\\xac\\x4e\\xd0\\x57\\x87\\x9d\\x8c\\x06\\xcf\\x41\\xab\\x83\\xe9\\xd6\\xa6\\x43\\x5d\\x62\\xfa\\x5f\\xe8\\x92\\x67\\xd2\\x74\\x09\\x80\\xa4\\x11\\xd4\\x23\\xf4\\x6b\\x50\\xeb\\x56\\xaa\\x66\\xd6\\x6e\\x15\\xec\\x82\\x24\\xd2\\x5c\\x4f\\x33\\x18\\x49\\xc4\\x09\\x1a\\x34\\xc0\\x7f\\xb1\\xe2\\xd7\\x02\\x9a\\x46\\xfa\\x0d\\x1b\\xce\\xb2\\xaf\\xec\\x0e\\xf0\\xa5\\x8b\\x1d\\x28\\x38\\xde\\x3c\\xb4\\xcf\\xa6\\x07\\x0e\\x1c\\x1a\\xdc\\x10\\x02\\x7b\\xdb\\x1e\\x22\\x7f\\x38\\xfa\\xda\\x98\\x03\\x5d\\xd7\\xee\\x6a\\xfb\\xee\\x00\\x1c\\x6b\\x1d\\xdc\\x07\\xdd\\x2e\\xed\\x22\\x78\\xb8\\x57\\x39\\xb4\\x57\\x99\\x88\\x1b\\x1a\\x74\\x35\\x70\\xc3\\x52\\xdd\\x5a\\xe5\\x99\\xe2\\x61\\xf0\\xd4\\xf9\\x3d\\x4e\\xe7\\x9e\\xeb\\xf5\\xbb\\x0c\\x11\\x1a\\xea\\xcf\\x42\\xda\\xbc\\xc4\\x20\\x35\\xcb\\xee\\xb5\\x11\\x16\\x12\\xd8\\xac\\x0c\\x0b\\x08\\xd9\\xe9\\x24\\x58\\x2b\\xed\\xf7\\x59\\x48\\x3b\\x3a\\x1e\\x9c\\xcf\\x41\\xe2\\x18\\xf8\\x99\\x06\\x8c\\x01\\x53\\x9b\\x9e\\xf1\\x99\\xb8\\x0a\\xac\\xd5\\x03\\xa6\\x72\\x0c\\x54\\xcb\\xd0\\xc0\\xb0\\x93\\x18\\x48\\x83\\xe4\\xa8\\x88\\xdc\\x9d\\xac\\x19\\xf2\\x77\\x70\\x6a\\x6b\\xc0\\x75\\xdc\\x6d\\xee\\x7a\\xed\\x14\\x30\\xf5\\xcb\\xb6\\x1f\\x8a\\xab\\xf2\\xbc\\x8d\\xa7\\x46\\xe6\\x74\\x1f\\xd7\\x40\\xbf\\xd6\\xb6\\xf9\\x2e\\x40\\x7e\\xf4\\xc1\\xf5\\x07\\xb7\\x4e\\xd6\\x22\\xe4\\x79\\xa5\\xc7\\xe4\\x65\\xda\\x4c\\xb0\\xe1\\xc1\\xcd\\xf1\\x6c\\x9d\\x56\\xc8\\x47\\x7a\\x31\\xe6\\x63\\xad\\x6a\\x31\\x11\\xbc\\x85\\x65\\x79\\x49\\x04\\xc4\\x73\\x98\\x77\\x00\\x34\\xfc\\x8e\\x35\\xf3\\x66\\xfd\\x27\\x1e\\x73\\x32\\xa3\\xab\\xa1\\xa3\\x16\\x03\\x47\\x86\\x43\\x2e\\x2f\\x34\\x6e\\xc3\\x55\\x61\\xd4\\x40\\x75\\x31\\x58\\x00\\x9c\\xdf\\xad\\xba\\xf0\\x07\\xf2\\x9f\\x9b\\x9f\\xa1\\xc3\\x07\\xbe\\xd1\\x7e\\x68\\xfb\\xe0\\xc0\\x01\\x32\\xff\\xa8\\x9e\\x17\\x0f\\x65\\x8e\\xfa\\x10\\x8e\\xe9\\x27\\x54\\xd5\\x69\\x72\\x72\\x4e\\xd6\\x67\\xb3\\x73\\x2c\\x6b\\x0f\\x06\\x4c\\x4e\\xa7\\x9f\\xb3\\xbf\\x00\\x07\\xf2\\x13\\x3e\\x3c\\xa8\\x1f\\xf1\\x26\\x91\\xa7\\x9b\\x56\\x8a\\xec\\xa8\\x5d\\x7d\\x02\\x75\\xdd\\xc8\\x22\\xdd\\x32\\xba\\x7d\\x16\\x40\\xa4\\xa6\\x3b\\xd9\\x03\\xe4\\x97\\x92\\x28\\x15\\xae\\x75\\xe2\\xb4\\x3e\\xb5\\x95\\x4f\\x1c\\x9d\\x3d\\xb2\\xa1\\xc2\\x15\\x7e\\x3e\\x27\\xd2\\xef\\xe6\\xeb\\x7a\\xd9\\x0a\\x2b\\xba\\xd5\\xae\\xa6\\x5f\\xcb\\xee\\x7b\\xd7\\xdf\\xda\\x58\\xf0\\x8b\\xd2\\xf5\\xe6\\xc5\\xad\\x47\\x8f\\xae\\x1b\\x1d\\x74\\xc4\\x9e\\xbc\\xa3\\xcb\\xff\\x23\\xed\\x3f\\xe0\\xa3\\xaa\\xb2\\x07\\x70\\xfc\\xdd\\x57\\xa7\\xcf\\x7b\\xd3\\x67\\x92\\x69\\x99\\xf4\\x9e\\x4c\\x0a\\xa1\\x65\\x90\\x22\\x52\\x43\\x68\\x19\\x20\\xf4\\xde\\xa5\\x87\\x80\\x10\\x40\\x69\\x06\\x54\\x14\\x14\\x0b\\x52\\x14\\x44\\x44\\x85\\x08\\x51\\x16\\xd0\\x75\\x6d\\x60\\xc1\\xb5\\xae\\xe8\\xd7\\xb6\\xba\\xbb\\xf6\\xb6\\xeb\\x2a\\xcc\\xe3\\x7f\\xee\\x7d\\x6f\\x4a\\x02\\xee\\xff\\xf3\\xfb\\xfd\\xd6\\x8f\\xcb\\x64\\x30\\xef\\x9d\\x73\\xee\\xe9\\xf7\\x94\\xc3\\xea\\xcc\\xc1\\x7e\\x00\\x9b\\x40\\x15\\x9e\\x84\\x03\\xa3\\xb0\\x2c\\x80\\x20\\x1c\\x17\\x18\\x96\\x39\\x95\\xe0\\x2d\\x95\\x0a\\xf1\\x3a\\x6e\\x65\\x8a\\x21\\x56\\xdf\\xcc\\x91\\xf6\\x58\\x6f\\xd6\\xbc\\x1b\\xb0\\x3e\\x4c\\xee\\xfe\\x9a\\xe1\\x79\\xf5\\xf0\\x3c\\xec\\x1f\\x54\\x46\\x4c\\x3a\\x0a\\x71\\x2c\\x8b\\x24\\x91\\xa6\\xf5\\x1c\\xc2\\x78\\xea\\x29\\x85\\x65\\xf5\\xa9\\x78\\x26\\xd1\\x24\\x8f\\x0e\\x2b\\x8b\\x69\\x83\\x98\\xce\\x12\\xea\\xff\\xf4\\xd3\\x8c\\xae\\xfd\\xae\\x93\\x72\\x11\\x7a\\x07\\xe8\\xcc\\x78\\x2f\\x7f\\x4e\\xbf\\xd9\\x7e\\x37\\x26\\xb3\\x22\\x53\\x3a\\x78\\xf1\\xf3\\xe4\\x9d\\xee\\xa7\\x18\\x9a\\x06\\x85\\xf6\\x0c\\x3c\\x9c\\xc1\\xa7\\x57\\x9b\\xd0\\x3e\\x61\\x29\\x44\\xeb\\x9e\\x7e\\x9a\\x3d\\x7f\\x09\\xd7\\x7c\\xa0\\x06\\x40\\xf5\\x01\\xf6\\x23\\xca\\x44\\x55\\x45\\x6c\\x46\\x41\\x63\\x40\\x48\\x23\\x9a\\x69\\x83\\x91\\x42\\x46\\x13\\x7c\\x36\\x3d\\x83\\x06\\x51\\x1a\\xf2\\x08\\x0c\\x5f\\x9c\\x33\\x93\\x60\\x22\\x7b\\x8e\\x89\\x26\\x5d\\x74\\x55\\xd5\\x59\\x95\\xcc\\x03\\xf3\\xba\\x15\\xdb\\xda\\x87\\x4d\\x92\\x0f\\xb3\\xee\\xb3\\x59\\xfe\\xaa\\x81\\x35\\xb1\\x31\\xf4\\x03\\xb3\\x37\\x04\\x16\\x9f\\x21\\x3c\\xb0\\x1e\\xe8\\x32\\x08\\x60\\x34\\x52\\x45\\x11\\x1d\\xc7\\x1b\\x0d\\x06\\xde\\x6c\\x32\\xf2\\x98\\x22\\x02\\x90\\x18\\x53\\x44\\x48\\x50\\x24\\x75\\xf6\\x24\\x99\\x9a\\x0a\\xd4\\xc6\\x1c\\x17\\x62\\x76\\xec\\x68\\x97\\x7f\\x6e\\x47\\x2f\\x01\\x1d\\x9e\\xa6\\xdf\\x3c\\xb1\\xfb\\xd2\\xc7\\xec\\x79\\xcc\\x6e\\x65\\xf8\\x1d\\xb8\\xe6\\x74\\x0c\\xfb\\x31\\xe5\\xa5\\xba\\x45\\x0c\\x26\\x0f\\xcf\\x78\\xac\\x0c\\xe3\\xf7\\x39\\xa4\\x5e\\x8a\\x66\\x70\\x00\\x4a\\xf8\\x34\\x29\\xf5\\x08\\x28\\x34\\x34\\x39\\x2b\\x3e\\x99\\x56\\xcc\\xc8\\x26\\xa5\\xe8\\xca\\x3e\\x0f\\x65\\x8a\\x46\\x25\\x99\\x45\\x68\\x17\\x69\\x9e\\x1e\\xf4\\xf3\\xdb\\xed\\x15\\x4b\\x66\\xdd\\xb4\\x2d\\xd2\\x30\\x67\\xfa\\x84\\x21\\x9b\\x37\\xdf\\x3f\\x70\\xf6\\x97\\xb6\\x7f\\x23\\x27\\xfd\\x56\\x2c\\xbc\\xf9\\x9e\\x3e\\x13\\x5f\\xfe\\xec\\xc2\\x73\\xbd\\x9e\\xe8\\xb1\\x2c\\x76\\x4e\\x8e\\xc9\\x1f\\xb4\\xe2\\xf3\\xa1\\xfb\\xa9\\xe7\\x93\\x16\\xd1\\x91\\x03\\x32\\x63\\x2b\\xd2\\x8e\\xf1\\x7d\\xad\\xf1\\xea\\x13\\x8a\\xa9\\x75\\x0d\\x13\\x41\\x0f\\x5d\\x84\\xdf\\xd3\\x53\\xd9\\x27\\x80\\x35\\x81\\x68\\xc0\\x41\\xc3\\xb0\\x0b\\xd1\\x91\\x5e\\x2a\\xb9\\x70\\x48\\x92\\x64\\x1b\\xe6\\x22\\x66\\x99\\xcd\\x44\\x34\\xe5\\x35\\x6c\\x3d\\x30\\xcc\\x57\\xf2\\x77\\xe4\\xb9\\x47\\xe0\\x2c\\xfc\\xf0\\x5c\\x09\\xeb\\x52\\x23\\x83\\x17\\x04\\x5b\\x2d\\x26\\xa3\\xaa\\x4b\\x4d\\x98\\x77\\xd4\\x23\\x61\\x3a\\xeb\\x52\\xa5\\xe8\\x2f\\x0f\\x55\\x06\\x71\\x54\\xab\\xbe\\x4c\\x62\\xfd\\xb1\\xd7\\xe4\\x67\\x51\\x9f\\x33\\x27\\x4e\\x9e\\x96\\xff\\x84\\x22\\x74\\x98\\x1e\\x11\\x3b\\x72\\xf8\\xad\\x77\\x72\\xde\\x79\\xeb\\x70\\xec\\x88\\xb2\\x8f\\xfc\\x2d\\x36\\x87\\x6f\\x01\\x5d\\x59\\x13\\x31\\x82\\xe2\\x66\\x8d\\x3a\\xc1\\x28\\x58\\x24\\x4a\\xec\\xa5\\x45\\x75\\x94\\x0e\\xb0\\xc1\\x2f\\xd4\\xc1\\xcb\\x35\\x68\\x80\\x3a\\x36\\x34\\x9c\\x3a\\x04\\xb6\\xac\\x34\\xab\\x2a\\xd3\\x52\\x59\\x11\\x22\\x85\\x05\\x01\\x49\\x84\\xe8\\xc2\\x70\\x16\\x59\\x6e\\xfb\\x4a\\x36\\x3d\\x8d\\x06\\xa1\\xdb\\xe5\\x7a\\x79\\xc7\\xbe\\xeb\\xdf\\xa7\\xae\\xdc\\x72\\x91\\x9e\\x28\\x0f\\x90\\xef\\x95\\x3f\\x94\\xad\\xeb\\x40\\x26\\xe3\\xbc\\xc7\\x93\\x29\\x01\\x3a\\x0d\\x18\\x5a\\x44\\x99\\xcc\\x74\\xdc\\x7a\\xd0\\xf0\\x52\\x04\\xaf\\x55\\x34\\xe0\\x35\\x30\\xce\\x43\\x12\\x91\\x44\\x89\\xa8\\x3b\\x76\\xd0\\xe5\\x6a\\xc2\\x81\\x97\\xbf\\xa7\\x1b\\x40\\xe1\\x61\\x06\\x44\\xf5\\x97\\x37\\x27\\xf4\\x9d\\x89\\xbc\\xef\\x63\\xca\\x43\\x8d\\x8e\\xd8\\x39\\xbb\\x8b\\x61\\x9d\\x0e\\x87\\x28\\x09\\x2c\\x2b\\xe1\\xea\\x19\\x17\\xe7\\xe8\\x65\\x86\\x57\\x4a\\xd8\\xa8\\xa9\\x46\\x8b\\x02\\xd6\\xe4\\xd4\\x73\\xe5\\x12\\x20\\x90\\xed\\xb2\\xca\\x64\\xb0\\xc4\\x9d\\x87\\x05\\xef\\x53\\x47\\xe5\\x16\\x37\\x22\\xda\\x97\\xdc\\x28\\xe8\\x11\\xd8\\x06\\xbc\\x57\\xce\\xd9\\x13\\xd1\\x4f\\x5c\\x7c\\x2e\\xf6\\x30\\xda\\x53\\x38\\xa1\\x61\\xe5\\x7d\\x91\\x1b\\x5f\\x5c\\x23\\x55\\x58\\xbf\\x3a\\xbf\\x74\\xc0\\x01\\xf6\\x63\\xf9\\x63\\xf9\\xe9\\xd8\\xe6\\xc3\\xe8\\xc4\\x63\\xe7\\xc7\\xfe\\x57\\x7e\\x23\\xf6\\x1f\\xda\\x3d\\xa4\\xad\\x04\\xb5\\x9c\\x5f\\x31\\x43\\xd1\\x23\\x10\\x0f\\x5e\\x4b\\x8f\\x0c\\xbb\\xa6\\x1e\\xf9\\x8d\\xc4\\xbb\\x59\\xc0\\x3c\\x6b\\x88\\x3d\\x29\\x07\\xde\\x86\\x6f\\xb4\\x8c\\x24\\xea\\xb4\\x2a\\x65\\x75\\x84\\xb2\\xf4\\xd5\\x94\\x75\\xd6\\x28\\x74\\x55\\x50\\x20\\xd7\\xcb\\x38\\xef\\xbd\\x06\\x20\\xdf\\x17\\x1c\\x32\\xe0\\x89\\xc3\\x0f\\xee\\xe8\\x73\\x98\\xb6\\x3c\\xb8\\xa5\\xdb\\xe1\\xe8\\xf9\\x93\\xea\\x1e\\xf6\\xc9\\xf0\\x1e\\x11\\x22\\xa0\\xbe\\x11\\x0b\\x2b\\x4a\\x0c\\x63\\xb3\\x89\\x69\\x3a\\x1d\\x5e\\xc5\\xc3\\x72\\xac\\xfa\\x46\\x0e\\xde\\x68\\xa4\\x9c\\xe4\\xb3\\x31\\x2e\\xdf\\x57\\x2d\\xcb\\x54\\x8a\\x54\\xaa\\xb0\\x45\\x87\\x73\\xb5\\x8b\\x54\\x30\\x40\\x4b\\x88\\x97\\x48\\xc6\\xa0\\x27\\x22\\x9c\\x3d\\xbb\\x6b\\x5e\\x1b\\x5d\\x86\\xd2\\x2f\\x5f\\xa1\\xe4\\xff\\xc8\\xbf\\xff\\x13\\x09\\x7d\\xee\\xb8\\xbf\\x69\\x6b\\xcf\\xfb\\x9e\\xa1\\xd7\\xaf\\xf8\\xa9\\xe2\\xf0\\xcf\\xf2\\xaf\\x0d\\xf2\\x13\\xf2\\x0b\\xa8\\x08\\x5d\\x8f\\x9e\\x5b\\x21\\x7f\\x56\\xf9\\xd5\\xbb\\x63\\x9f\\x7d\\xb9\\xe1\\x29\\xd2\\x0f\\xd2\\xef\\xca\\xc7\\xec\\x78\\xa2\\xef\\xca\\x01\\x5a\\x86\\xa3\\x35\\x5a\\x2d\\x0d\\x62\\x65\\x36\\xd1\\x1c\\x43\\x19\\x4f\\x01\\xcf\\x6b\\x80\\xb4\\x83\\x49\\x69\\x8f\\xd4\\x61\\x92\\x56\\x59\\x69\\x75\\xa0\\x1a\\x81\\xf9\\xb7\\x48\\x61\\x91\\x66\\xb9\\x7e\\xc8\\xf6\\x80\\xdc\\x7a\\x1e\\xf5\\x6f\\x6d\\x7a\\xf6\\x65\\xb9\\xb7\\x3c\\x6f\\x5f\\x98\\xf9\\xcf\\xe5\\x86\\xe9\\xe8\\x30\\xba\\x5b\\x2e\\x89\\xfd\\x72\\xc9\\x06\\xef\\x5b\\x0c\\x32\\xde\\x8f\\x9c\\x43\\x8f\\x88\\xc1\\xc8\\xea\\x4d\\x60\\x76\\x4c\\x92\\xa8\\x37\\xb5\\xa3\\x11\\x6d\\x51\\xbd\\xde\\xcc\\x61\\xd5\\x61\\x56\\x35\\x9f\\x39\\xae\\x3a\\x3a\\xf4\\xc2\\x10\\x47\\x89\\xe8\\x59\\xa2\\x46\\x24\\x30\\xf0\\x12\\xdd\\x07\\xab\\x5a\\xd0\\xba\\x5f\\xff\\x22\\xd7\\x13\\x56\\xbf\\xf4\\x04\\x5b\\x7f\\x62\\xb7\\xfc\\xf0\\x61\\xfa\\x28\\xbc\\x77\\x29\\xf0\\xfa\\x28\\x78\\xaf\\x83\\x1a\\x14\\x31\\x4a\\x82\\x89\\xd3\\x38\\x4c\\x26\\x8d\\xcb\\xc9\\x69\\xe0\\xc5\\x27\\xa2\\x1c\\x27\\x69\\xb5\\xf1\\xb3\\xd1\\x62\\xa6\\xa7\\x2c\\xe4\\xb3\\x94\\xc2\\x0d\\x1d\\x0b\\x88\\x88\\x8b\\x81\\x12\\x00\\x04\\x03\\x14\\x1c\\x90\\xa2\\x71\\x2a\\x99\\xfb\\x1e\\x3e\\x46\\x20\\x41\\x6f\\x22\\x23\\x62\\x40\\xeb\\x8c\\x43\\x87\\xce\\x9e\\xa0\\x0f\\x9f\\x7e\\x86\\x00\\x24\\xff\\x2c\\xff\\xb3\\x1e\\x34\\xcf\\xdb\\x6f\\xe3\\x33\\x98\\x07\\x34\\xa9\\x06\\xd8\\xec\\xd8\\xc6\\xe9\\x31\\xb7\\xf2\\x20\\x85\\xbc\\xc4\\x3b\\x1d\\x76\\xbd\\x1e\\x89\\x3c\\x66\\x6f\\x44\\xd8\\xbb\\xa3\\xb3\\x11\\x67\\x11\\x42\\x88\\x12\\x14\\x06\\x9f\\x03\\xbb\\x1a\\x78\\x9b\\x93\\x40\\x4f\\x6e\\x1f\\xbd\\x6e\\xea\\xdf\\xb6\\x8d\\x2e\\x14\\xc6\\xcd\\xac\\xd4\\xdb\\x9f\\xf5\\x58\\x5f\\xf9\\x18\\x14\\xf5\\xbe\\x25\\x6f\\xbd\\xb2\\xfb\\xe3\\x83\\xb7\\x0e\\x73\\xd6\\x6d\\x5c\\xfd\\x5f\\xf9\\x5f\\xef\\x5e\\x2c\\xc4\\x30\\x0c\\x00\\xfa\\xf4\\x21\\xba\\xf6\\xfa\\x88\\x43\\xa7\\xd7\\x33\\x22\\x2f\\x71\\xc4\\x25\\x00\\x9d\\x2b\\xf2\\x3c\\xd2\\x71\\x60\\x07\\x8e\\x4b\\x34\\xa2\\x4f\\xa5\\x88\\x49\\x62\\x60\\x47\\xa7\\x5d\\xbb\\xaa\\xd0\\x00\\x77\\x90\\x11\\xa9\\xc4\\x3b\\x64\\xfb\\x5c\\x1e\\x4a\\x9f\\xbf\\xfc\\xcd\\x17\\x68\\xf5\\x90\\xbe\\x46\\xc7\\x59\\xbb\\xb9\\x6a\\xc6\\x38\\x14\\x39\\xcc\\x06\\x63\\xbf\\x07\\xd7\\xaf\\xff\\xf8\\xe2\\xed\\xdb\\x26\\x64\\xca\\x75\\x24\\x26\\xa7\\xd6\\x00\\x4d\\x06\\x11\\x19\\xb7\\x02\\xa7\\x88\\x66\\x8d\\x15\\x81\\x6b\\xa2\\x61\\xec\\x36\\x08\\x58\\x0c\\x7a\\x50\\xc6\\x43\\x29\\x96\\xb2\\x26\\x3c\\x1f\\x9a\\x90\\x27\\xc5\\x4f\\x71\\xd6\\x24\\xe6\\xc2\\x84\\x24\\x06\\x57\\xb7\\x80\\x22\\xae\\xc4\\xbb\\xcc\\xe1\\xc4\\xd0\\xec\\xf6\\x30\\xcd\\xff\\x7a\\x41\\x7e\\x52\\xfe\\xec\\xcd\\x4f\\x97\\x6e\\x8f\\xfd\\xc4\\x78\\x2f\\x4d\\x66\\x1f\\x40\\x47\\x9f\\x7c\\x55\\xfe\\x52\\xce\\x5b\\xf1\\xd6\\x78\\x34\\xf4\\xc2\\x2d\\xd3\\x55\\xfb\\x06\\xba\\xe3\\x2a\\xfb\\x36\\xe4\\x7f\\xd8\\xb7\\xe0\\x1f\\xd8\\x37\\xe2\\x0e\\x61\\xeb\\x86\\x40\\x4f\\xfc\\x87\\x3d\\x4c\\x7c\\xf1\\xba\\x88\\x1d\\x02\\x2b\\xb7\\xdb\\x65\\x70\\xb2\\x9c\\x64\\xb1\\x70\\x4e\\x17\\x38\\xe2\\x94\\xbe\\x1d\\x8d\\x3a\\x01\\x0a\\xd7\\x29\\xb1\\xae\\x33\\xf0\\x06\\x27\\x68\\xe0\\x91\\xf0\\x36\\x67\\x9c\\x21\\xc3\\x57\\x4f\\x79\\x50\\x87\\x76\\x2b\\xf3\\x79\\xb1\\xeb\\x69\\x2d\\x57\\x3e\\xeb\\x10\\x1b\\x64\\xc2\\x68\\xc8\\xbc\\x11\\x06\\xd7\\x59\\xbf\\xa9\\xf6\\xa6\\xf5\\x8e\\x70\\xfb\\xb9\\x79\\xee\\xda\\xe7\\x22\\x99\\x0f\\xc9\\x8f\\xcb\\xc7\\xfe\\x75\\x86\\x9e\\xec\\x5a\\x79\\x3b\\xea\\x27\\xb7\\x3f\\xf0\\xe0\\x58\\x3f\\x2f\\x7f\\x3b\\xf1\\x83\\xbf\\xd2\\xc6\\xd8\\xef\\xf2\\x5f\\xe5\\x8b\\xab\\xd8\\x77\\x08\\x1d\\x72\\x54\\xfb\\xe4\\xa6\\x7a\\x45\\x4c\\x26\\xb7\\x5b\\x40\\x56\\x8d\\x20\\x58\\xd3\\x3c\\x16\\x1b\\x08\\xd1\\xb1\\xa8\\xc6\\x8a\\x3d\\x52\\x23\\xa2\\xd1\\xa9\\x84\\xbd\\xaa\\x4d\\xd6\\x8a\\x75\\x58\\xe6\\x6f\\x0d\\x29\\xce\\x39\\xa6\\x54\\x01\\x92\\x6c\\x26\\x45\\xb9\\x82\\x23\\xf3\\xc3\\x59\\xda\\x89\\x6c\\x3f\\x3c\\x7d\\x57\\xfb\\x03\\x10\\xfb\\xe8\\xc4\\xbe\\x75\\x99\\xe0\\xb5\\x7e\\x2d\\x7f\\x1f\\x2b\\xc3\\xf4\\x8b\\x3d\\x83\\x63\\xa0\\xb2\\x99\\x8b\\x95\\x1c\\x28\\x88\\x0b\\x03\\xb6\\x40\\xcc\\xe1\\xd8\\x2b\\x70\\x36\\xa2\\xc0\\xb1\\x64\\xa8\\x61\\xa7\\xbf\\xc3\\xdf\\xc1\\xdf\\x69\\xae\\xa0\\xf8\\xdf\\xd1\\xfd\\xd4\\xbf\\xd3\\xa8\\xbf\\xa7\\x51\\x7e\\x0f\\x18\\xfb\\x28\\xcb\\x33\\x7e\\xf0\\x01\\x18\\xca\\x1b\\x01\\xc7\\x18\\xe1\\x52\\x1f\\x16\\xd1\\xed\\xd8\\xde\\xbf\\x96\\x12\\x75\\x82\\x35\\x0b\\xd3\\xd5\\x9b\\x37\\xff\\x93\\xe5\\xe9\\x66\\xe0\\xd9\\x37\\xe0\\xf7\\x64\\xf2\\x7b\\x02\\x78\\x8f\\x16\\x96\\xe3\\x39\\x01\\x7e\\x97\\x42\\x02\\xd2\\x6a\\x38\\xc4\\x2b\\x4f\\x08\\xbf\\x56\\x9e\\x3a\\x6a\\x2e\\xf1\\x24\\x2b\\xfc\\x8b\\x1a\\x36\\x6f\\xfe\\xc7\\xfb\\x5b\\xb6\\xfc\\x03\\x3f\\x31\\x76\\x33\\xdd\\xac\\xc8\\x02\\xd0\\x7d\\x30\\xdb\\x15\\x9e\\xaa\\x83\\xc8\\x24\\x83\\xe5\\x04\\x5e\\x0b\\xc0\\x82\\xaa\\xd6\\x31\\x9c\\xa0\\x37\\xd0\\x8c\\x8e\\xa9\\x8b\\xe2\\x36\\x4a\\xad\\xc0\\x9b\\x11\\x97\\x58\\xf4\\x5f\\xd2\\xb1\\x15\\x3e\\xac\\x2e\\xbd\\x0e\\x92\\x4d\\x80\\x7a\\xc4\\x0e\\x3e\\xbc\\x4c\\x5e\\xba\\xe4\\x71\\x74\\xe7\\xa1\\x7e\\xf7\\xed\\x42\\x95\\xf2\\x79\\xb6\\x6b\\x6c\\x3d\\x7a\\x4d\\x0e\\x13\\x19\\xbc\\x72\\x09\\xde\\xfb\\x2c\\xe9\\xe3\\xb4\\x52\\x4b\\x23\\x3d\\xf5\\x82\\x49\\x10\\x45\\x86\\xe5\\xad\\x56\\xa4\\x33\\x99\\x24\\x84\\x38\\x70\\xc9\\xec\\x2c\\xc7\\xd9\\x44\\x78\\xbf\\xce\\x58\\x17\\x35\\xeb\\x10\\x68\\x0e\\x9d\\xa8\\x43\\xbc\\x55\\xcb\\x6b\\xeb\\xa2\\xbc\\x99\\xb3\\x23\\x13\\xd9\\x2f\\x14\\xf7\\x60\\x49\\xdf\\x10\\x2e\\x49\\xc3\\x7d\\x1a\\x05\\x89\\x3d\\x28\\x96\\x64\\x31\\x54\\x7c\\xad\\xb5\\xe2\\xd0\\x00\\xb0\\xf1\\x39\\xe9\\x41\\x6c\\xd5\\xd9\\x67\\x63\\x4f\\xcb\\xef\\xed\\xf8\\x33\\x92\\x41\\x8f\\xde\\x82\\x86\\xcb\\x8f\\xa1\\x1d\\x97\\x2f\\xfc\\xcb\\x85\\x06\\xc9\\x6d\\x78\\xae\\xf6\\x73\\x5b\\xe4\\x87\\xd0\\x40\\xf4\\x37\\xa5\\x9f\\x44\\xed\\x4f\\xa3\\x72\\xa9\\x4a\\xaa\\x3b\\xb5\\x3f\\x32\\xad\\x6b\\x0e\\x2f\\x64\\x18\\x6a\\xca\\xec\\x76\\xaa\\x26\\xdd\\x9b\\x67\\xb1\\x78\\x6b\\x84\\x1c\\xae\\x47\\x4f\\x77\\x55\\x66\\x55\\x5d\\xb4\\xcc\\x3e\\x2c\\x9a\\xdb\\xb5\\x2e\\x9a\\x9b\\x5b\\x52\\x56\\x5b\\x36\\xb4\\xec\\x6c\\x19\\xeb\\x2f\\x9b\\x50\\xb6\\xbd\\x6c\\x4f\\x19\\x5b\\x16\\x71\\x78\\xfa\\x97\\x95\\x69\\x33\\x02\\x99\\x6f\\xa4\\x7f\\x9c\\x4e\\x53\\xe9\\x0b\\xd3\\x69\\x1d\\x93\\x9e\\x9e\\xe9\\x28\\x64\\xf0\\x68\\x09\\xb3\\x41\\x8b\\x0b\\x69\\x78\\x6d\\x7c\\x5d\\x5b\\xbc\\x50\\x12\\xa3\\xda\\x28\\x29\\x02\\xdb\\x78\\x63\\xb8\\xa4\\xa0\\xe0\\xea\\x79\\x13\\xc9\\x02\\xab\\x4a\\x5a\\xa9\\xc8\\x53\\x76\\xb5\\x91\\x91\\x6a\\x9c\\x90\\x1c\\xc2\\x15\\xdf\\xb2\\x55\\x99\\xa5\\x0c\\xe0\\xf7\\xe2\\x1d\\xb2\\x6a\\x53\\x0b\\x9d\\xc5\\xb5\\x0d\\x8c\\x8a\\x5b\\xfa\\xfc\\xa7\\x69\\x73\\x46\\xc5\\x5d\\x93\\x5a\\x5a\\xe4\\x13\\x07\\x23\\xfd\\x07\\xf4\\x16\\x0e\\x59\\xef\\x6d\\x7d\\xe2\\xfa\\x91\\x7b\\x1f\\x7e\\x84\\xb9\\x54\\x53\\x13\\x99\\x58\\xb5\\x72\\xe8\\xb0\\xe2\\xd8\\xe4\\xfa\\x46\\x46\\xde\\xa5\\x6d\\xa0\\x7b\\x4b\\x68\\xf1\\xf8\\xfe\\x45\\x88\\x9a\\xbf\\x72\\xe5\\xfc\\x03\\x0f\\xc8\\xfb\\x39\\xb6\\xdb\\xc6\\x05\\xc3\\xc6\\x4a\\xbb\\x5a\\xb7\\x6e\\x45\\x69\\x28\\xd3\\xf5\\x6a\\xfd\\xd4\\xe8\\xae\\x86\\x28\\x4b\\x97\\x4e\\x8d\\x1d\\x3f\\xba\\xfb\\xd1\\xfb\\x15\\xfa\\x8e\\x04\\x1e\\x99\\x06\\x3c\\x62\\x83\\x68\\x26\\x9b\\x9a\\x1f\\xe9\\xa1\\xd7\\x68\\x1c\\x21\\x9e\\xb7\\x98\\xfc\\x0e\\x07\\xb2\\x78\\x4c\\x16\\x53\\x4e\\xae\\x5d\\x6f\\xa3\\x6c\\x75\\x51\\xbf\\xc6\\x0c\\x5e\\xd1\\xe3\\x14\\x63\\xa6\\xde\\xa0\\x3e\\xa6\\x18\\x3d\\xf8\\x61\\x16\\xda\\xe2\\xa8\\x8b\\x5a\\xec\\xb4\\x8f\\x0c\\xe2\\xef\\x54\\x9e\\x7f\\x63\\xe7\\x05\\xce\\x8a\\x92\\x4b\\x28\\x91\\xb0\\xb2\\x14\\x42\\x08\\xdb\\x43\\x64\\x02\\x33\\x0e\\xc1\\xc8\\xee\\x0a\\xac\\xe5\\x91\\xa4\\x5e\\x34\\x8c\\x5c\\x8a\\x1e\\x7f\\xe6\\xdd\\x81\\x07\\xb7\\x06\\x8b\\x5e\\x3c\\x27\\x97\\x2f\\x45\\x79\\xc8\\xd4\\x34\\x7d\\xfe\\x8d\\xf2\\x4f\\xdf\\x37\\x4d\\x9f\\xde\\x44\\x4f\\x46\\xef\\x3f\\x70\\xdb\\xd4\\x7e\\x5b\\x7c\\x8d\\xe1\\x3b\\xee\\x46\\xef\\xcb\\x4f\\xd4\\xd7\\x47\\x87\\xa3\\xbf\\xc9\\x4f\\x8e\\xac\\xaf\\x1f\\xa5\\xd6\\x25\\x75\\x21\\x3d\\x8e\\xfd\\x88\\x3c\\x3e\\x04\\x38\\x77\\x23\\xf2\\x28\\x52\\xb9\\x10\\x95\\xb2\\x1a\\x30\\x45\\x92\\x85\\x33\\xe0\\x3d\\xd4\\x2c\\x88\\x01\\x6b\\xbf\\x56\\x34\\x42\\x11\\xf7\\x9c\\x21\\xfa\\x0e\\x20\\x63\\xbb\\xc9\\x5f\\x80\\x1f\\x70\\x07\\x9a\\x4f\\xe7\\x3e\\xfd\\xd8\\x5f\\xda\\x4f\\x9d\\x3c\\x49\\x17\\xc9\\xdf\\xca\\x5f\\x82\\x10\\xfe\\xfb\\xdc\\x53\\x97\\x3f\\x3a\\x8f\\xdf\\xe5\\x53\\xdf\\xa5\\xa7\\x5c\\xb8\\x53\\xcf\\xaa\\xe5\\x24\\xbb\\x1d\\x69\\x0d\\x9c\\x96\\x73\\x7b\\x6c\\x64\\x58\\x99\\x64\\xa6\\x10\\x26\\xa5\\x96\\xd6\\xda\\xeb\\xa2\\x5a\\x3b\\x2d\\x5e\\x8b\\x94\\xe1\\xce\\x13\\xd3\\x88\\x80\\x59\\xd5\\x10\\x05\\x40\\x0b\\x65\\x29\\x90\\xe1\\xbb\\xc6\\xf2\\x2a\\xdf\\x46\\x0c\\x97\\x02\\xe1\\x46\\x66\\x2a\\xc0\\xf7\\xe3\\x8f\\x18\\xc2\\x85\\xe8\\x5c\\xec\\x67\\x0c\\x25\\xfa\\xf2\\x86\\x73\\x4f\\xc9\\x7f\\x06\\x61\\x3b\\x8f\\x6d\\xc3\\x6b\\xc0\\x0c\\x5f\\x10\\x38\\x6f\\x88\\x64\\x83\\x2a\\xc5\\x6b\\x11\\x58\\xf8\\xde\\x60\\xc4\\x6a\\xc0\\xcc\\x03\\x84\\xe0\\x44\\x80\\xb3\\x8e\\x61\\x43\\xba\\xa4\\x46\\xf8\\x83\\xa6\\xad\\xb8\\xf4\\xc7\\x25\\x9f\\xf9\\xe2\\xf2\\x3f\\xe9\\x2b\\xb1\\xa7\\xe8\\xcc\\xd8\\x87\\xf4\\xd4\\xb8\\x9c\\x2b\\xf6\\xf9\\xf8\\x95\\x6f\\x98\\x4f\\x40\\xc6\\x33\\xf1\\x1c\\x40\\x96\\xb1\\x3b\\xcc\\x69\\xda\\x8c\\x8c\\x34\\x9f\\xde\\xc1\\xf0\\x59\\xd9\\x3e\\x83\\xde\\xa0\\xc7\\x93\\x92\\x5c\\x94\\x1d\\x82\\x1a\\x4b\\x5d\\xd4\\x25\\xb2\\x2c\\x98\\xf1\\xba\\x28\\xe5\\x48\\x29\\x94\\xfd\\xe3\\x59\\xe8\\xea\\x04\\x70\\xe5\\xde\\x2a\\x78\\xed\\xa2\\x59\\xf8\\x83\\x1e\\x74\\xf0\\x85\\xa2\\x3d\\x95\\xaf\\x4c\\xbc\\x31\\xb9\\x87\\x59\\xad\\x97\\x6d\\xba\\xe7\\x3d\\xdb\\xea\\x96\\xc2\\x03\\xe3\\xc7\\xbe\\xdc\\xb9\\x50\\xd6\\xb8\\x7d\\xde\\xdd\\x47\\x14\\x9f\\x67\\xa6\\x3c\\x9f\\xed\\x49\\xfa\\x73\\x8c\\x78\\xda\\x93\\xde\\x60\\xd0\\xe2\\xaa\\x37\\xad\\xd6\\x64\\x36\\x18\\x87\\x8f\\x35\\xa4\\x6b\\x79\\x7c\\xbe\\xb8\\xe8\\x4d\\x3d\\xe1\\xf8\\x88\\xba\\x8e\\x33\\x19\\x92\\x35\\x6f\\xf0\\x2f\\xce\\x08\\xa2\\xbf\\xcb\\x1b\\x98\\x77\\xe5\\x31\\xa8\\x56\\x36\\xbe\\xfc\\x32\\x73\\x64\\xdb\\xb6\\xcb\\x9f\\x6d\\xfb\\xeb\\xb3\\xcf\\x02\\xed\\x8e\\x01\\xed\\xf0\\x8c\\x68\\x91\\x2a\\x8c\\x38\\x18\\x5a\\x6b\\xa2\\x4d\\x92\\x85\\xd0\\xcb\\x8c\\x29\\x04\\xd6\\xcb\\xa1\\xf6\\x7c\\x76\\xe0\\x66\\x2e\\xc0\\xa8\\xc3\\x33\\x24\\x30\\xe4\\x92\\x8d\\x47\\x31\\xf9\\x5f\\x15\\xf7\\x99\\x27\\x44\\x86\\x8e\\xff\\x1e\\xed\\x6b\\xb7\\x21\\x6f\\xce\\xd4\\x31\\x33\\x17\\xd1\\x53\\xb6\\xc6\\xb8\\x3d\\x6d\\x4a\\xbd\\xd2\\x37\\x8a\\xae\\x00\\x39\\xfa\\x9d\\x9c\\xdb\\xcb\\xc0\\x33\\x2f\\x93\\x99\\x78\\x55\\x91\\x34\\x8d\\xc1\\xc0\\x21\\x64\\x32\\x6b\\x38\\x3d\\xcd\\x6a\\x41\\x9f\\x6a\\x11\\xd8\\x32\\x43\\x92\\x51\\x48\\x49\\xa2\\x3a\\xe5\\x4c\\xb5\\x65\\xc0\\x20\\x42\\x25\\xee\\x85\\xaf\\xb6\\x0b\\xc0\\x22\\x2f\\xc7\\x96\\x2f\\x5f\\xde\\x76\\xea\\x14\\x7a\\x07\\xed\\x99\\xb6\\x67\\x1a\\xba\\x2c\\x2f\\xdc\\xb3\\x67\\x8f\\xbc\\x16\\xbf\\x6b\\x21\\xbc\\xbb\\x91\\xe8\\xa9\\x48\\xc4\\xaf\\xa1\\x39\\x9c\\xf5\\xd4\\xdb\\x4c\\x92\\x24\\x8a\\x7a\\x1e\\x58\\xc6\\x46\\xd3\\x26\\xc1\\x2c\\xe9\\x91\\xb2\\x24\\x00\\xef\\xcb\\xef\\xb0\\x5e\\x2e\\xd1\\x2e\\x4e\\x76\\xf9\\x92\\x26\\xf1\\xa0\\xd2\\x24\\x8e\\xb3\\x3e\\xb5\\x88\\x3e\\xbd\\x57\\xbe\\xcc\\x1f\\x45\\xae\\x07\\xab\\x4c\\xb6\\xd2\\x07\\x91\\xf1\\x31\\x86\\x63\\xb6\\xdf\\x77\\x7d\\x6c\\x04\\x88\\xf3\\x85\\xe7\\x9a\\x77\\x3c\\x42\\x97\\x5e\\x7a\\x91\\x3e\\xb2\\x48\\xdd\\x45\\xdd\\x0e\\xf0\\xd8\\x08\\xee\\xa5\\x11\\x87\\x9e\\xa6\\x28\\xa3\\x0e\\x04\\x84\\x33\\x72\\x26\\xb3\\x8e\\x31\\x9a\\x79\\xda\\x40\\xc0\\xa8\\xed\\xa4\\xfb\\x48\\x46\\x8b\\xac\\x19\\x8a\\xaf\\x18\\x42\\xd3\\xf1\\x62\\xa1\\x23\\x64\\xa9\\x50\\x7c\\x91\\x10\\xbc\\x28\\xbe\\x44\\x28\\xd1\\x73\\x48\\xf4\\x57\\x3d\\x39\\x87\\xad\\xf1\\xfa\\x3b\\xda\\x4e\\xf8\\xae\\x92\\x2a\\x63\\x77\\x31\\xff\\x05\\xef\\xc2\\x81\\xb7\\xa3\\x98\\x34\\x36\\x06\\x6f\\x2c\\xe4\\xa5\\xe1\\x51\\x9e\\xd2\\x0f\\x07\\x27\\x14\\x9f\\x7f\\xc7\\x55\\x2b\\x01\\xd6\\x6e\\x63\\x41\\x75\\x54\\x64\\x72\\xf1\\x0b\\x6c\\x90\\x0a\\x7a\\x1a\\x4a\\x47\\x0e\\x88\\xdf\\xbf\\x8f\\x5d\\x40\\x12\\xf2\\x7f\\x72\\xfe\\x8d\\x0f\\xdf\\x7b\\xf7\\x02\\xf3\\xdf\\xf8\\x2a\\xe6\\xd3\\x37\\xdf\\xff\\x40\\xeb\\xd6\\xbb\\xf6\\x6d\\xc5\\x34\\xa8\\xa4\\xe6\\xc0\\x7b\\xff\\x0f\\xfc\\xc9\\x92\\x88\\x8b\\xd1\\x39\\x45\\xd1\\xc6\\xeb\\x58\\x4f\\x9a\\x91\\x1a\\x1e\\x35\\x82\\x58\\xf1\\xc3\\xa3\\x56\\x7c\\x51\\xa9\\x0e\\xab\\x4c\\xc9\\x7d\\xa9\\xf3\\x55\\x05\\x5c\\xb2\\x98\\x19\\xc4\\xb0\\x90\\x62\\x69\\x0c\\xc1\\x9c\\xf7\\x2f\\xcc\\x9c\\x6b\\xb8\\xef\\x19\\xe4\\x47\\x56\\x0c\\x02\\x59\\x41\\x78\\x86\\xc9\\xd8\\xb4\\x79\\x62\\x8b\\xf9\\x84\\xfd\\x93\\x23\\x9f\\x7f\\xff\\xc3\\x27\\xea\\xc2\\xc2\\xed\\x6b\\x89\\x0d\\xcb\\xba\\xf2\\x2e\\x7b\\x90\\x1d\\x4f\\x59\\x28\\x0f\\x95\\x41\\x45\\x23\\xe5\\x3e\\xbb\\xd7\\xc1\\xba\\x02\\x2e\\x81\\x09\\x88\\x06\\x83\\x49\\xd2\\x70\\x0c\\x1f\\xca\\xb4\\xfb\\x1c\\x5e\\x36\\xcd\\xaa\\xe1\\x4c\\x12\\x0b\\xb4\\xb2\\x0e\\x8f\\x8a\\x22\\xa5\\x4b\\x1b\\x1e\\x15\\x04\\x75\\x75\\x9d\\xab\\x44\\xa9\\xb3\\xc4\\x4c\\xea\\xac\\x49\\x1d\\x34\\x40\\xb2\\x21\\x59\\x81\\xcc\\xca\\x8a\\xea\\x9c\\x4a\\x67\\x55\\x38\\x20\\xd9\\x04\\xa7\\x3d\\x87\\xcf\\x29\\xaf\\x46\\x18\\x15\\x6b\\x86\\x80\\x08\\x01\\x67\\xe1\\x55\\xd4\\x93\\x97\\xbc\\xbb\\xe5\\xef\\x74\\xe9\\xd8\\x59\\xaf\\xdc\\xfc\\x43\\xcb\\xb8\\xd8\\xeb\\x0d\\x17\\x3e\\x5a\\x37\\x92\\x2e\\x1b\\xf6\\x46\\xf9\\xef\\xdf\\x3d\\xbf\\x6c\\xea\\xc1\\xf6\\xe1\\x72\\xda\\x2b\\x8b\\xc7\\x1e\\x7c\\x6c\\xd8\\x69\\x27\\xfa\\xbc\\xcf\\xe6\\x7d\\x5b\\xe9\\xc1\\x2e\\xd9\\xd7\\xfb\\xd6\\x07\\x5a\\x31\\x3e\\xe9\\x70\\xbe\\x6d\\xa0\\x0f\\x3d\\x54\\x16\\x55\\x48\\xad\\x89\\x0c\\xca\\x77\\x83\\x8e\\xd2\\xa7\\xa5\\x51\\x79\\x41\\x51\\xcc\\x13\\xdc\\x6c\\x51\\xb1\\x2f\\xdb\\x99\\x5d\\x17\\xf5\\xe4\\x83\\x55\\xf6\\x20\\xb3\\x67\\xa8\\x67\\x8d\\x67\\xbb\\x87\\xd5\\x33\\x9e\\x48\\x66\\x4e\\x7f\\x0f\\xf6\\x74\\x3c\\x1e\\xad\\xdd\\xea\\x74\\x84\\x88\\x6b\\x63\\xd4\\xff\\x81\\x6b\\x43\\x7c\\x1a\\x3c\\x47\\xf4\\xc6\\xab\\xda\\x58\\x52\\x32\\xa3\\xaa\\x3f\\xe3\\xac\\x4a\\xd9\\xc5\\x1a\\x90\\x2a\\xb9\\x64\\x23\\x48\\xdc\\x81\\xd1\\x8c\\x1e\\xd6\\x6b\\x88\\x69\\x4b\\xed\\x97\\x27\\x86\\x0d\\x3f\\x79\\xff\\xa1\\xc3\\xfb\\x4e\\x0d\\x1d\\x79\\x54\\x7e\\x8e\\xbe\\x6b\\xe8\\xd8\\xb1\\x23\\x0f\\x8f\\xaf\\x97\\xdb\\xfa\\x8f\\x62\\xe4\\x3f\\x69\\xea\\xe8\\xde\\xa7\\x5f\\x22\\x1e\\xcb\\xc9\\x93\\x98\\xdf\\xe4\\x7f\\xc9\\xff\\x78\\xf2\\x49\\xba\\xd6\\x95\\x73\\xf1\\xc2\\x85\\x8b\\xe8\\xb1\\x37\\x63\\x4d\\x8f\\xdd\\x4b\\x9c\\x14\\x9a\\x7a\\x17\\x74\\xdc\\xaf\\xa4\\x57\\x2c\\x8b\\xea\\x17\\xc9\\x0a\\x18\\xed\\x36\\x0f\\x95\\x26\\x08\\x14\\x2b\\xd9\\x8c\\x7c\\x76\\x0e\\x23\\xb9\\xbc\\x2e\\x6f\\x7d\\xd4\\xe5\\xd2\\x79\\x6c\\x66\\x5d\\x68\\x58\\x54\\xe7\\x48\\xe6\\xbc\\xaf\\x31\\x41\\x9c\\xec\\xcd\\x52\\xb5\\xbe\\x52\\xcb\\x51\\x5d\\x09\\xac\\x18\\xc6\\xe8\\x48\\x56\\x31\\x59\\xd2\\xf1\\x49\\x6b\\xd3\\x86\\x7b\\x2e\\x3c\\xfb\\xdc\\x85\\xbd\\x2b\\x9a\\xb6\\xb6\\x4f\\x1f\\xf7\\x6c\\xf0\\xb3\\xb9\\x8b\\x96\\xcc\\x9f\\x77\\x23\\xdb\\x75\\x7d\\xbb\\x8b\\x75\\x3c\\xd7\\xfa\\xfc\\x85\\xbf\\x9e\\x6d\\x7d\\xde\\xc6\\x7a\\x4f\\xb6\\xac\\xd9\\x84\\x84\\x58\\x6f\\x64\\xd8\\xbc\\x7e\\xdd\\xad\\x9b\\x48\\x2e\\x9a\\xf6\\xb1\\x03\\xe0\\x1c\\x0d\\x20\\x95\\x12\\x2f\\x50\\x06\\xc1\\x60\\x34\\x51\\x82\\x96\\x8c\\x31\\x53\\xd6\\x7d\\x8b\\x7f\\x29\\xef\\x94\\x84\\x86\\x77\\x87\\xf0\\x6a\\x74\\x89\\x69\\xc5\\xb2\\x76\\x1a\\x4b\\x1d\\xed\\xc3\\x82\\x48\\x96\\x9b\\x7f\\x8a\\x9f\\x0b\\xfc\\x31\\x80\\xf6\\x81\\xee\\x81\\xe7\\x52\\x46\\x5e\\x30\\x0a\\x26\\x33\\x6f\\xd4\\xe1\\x28\\x42\\xc5\\xbc\\xd3\\x73\\x95\\x73\\x0a\\x2b\\x5d\\xd4\\x28\\x82\\x05\\xf8\\x34\\x16\\x69\\xda\\xf7\\xee\\x7b\\x17\\x3e\\x8a\\x6f\\x4f\\xc7\\xb4\\x3e\\x8f\\x77\\x80\\x01\\xad\\x75\\xf1\\x9e\\x2c\\x0a\\x89\\xc0\\x38\\x36\\xbb\\x41\\x87\\x6d\\x30\\x0e\\xe2\\x89\\x07\\x60\\xff\\xa3\\x9e\\xac\\x60\\x72\\xd1\\x97\\x1b\\xc5\\x3d\\xb9\\x35\\x6d\\xe8\\xf5\\x63\\xff\\xf7\\x7e\\x3b\\xb8\\x1d\\xa6\\x59\\xcb\\x96\\xce\\x66\\xbb\\x1e\\xbf\\xf3\\xbe\\x36\\xda\\x24\\xaf\\x9c\\x36\\x71\\xfc\\x14\\xfc\\xde\\x1a\\x60\\xfc\\xef\\xe1\\xbd\\x06\\xca\\x4e\\x0d\\x8c\\x64\\x81\\x3b\\xc4\\xe9\\xe0\\x65\\x12\\x67\\xd7\\xeb\\x75\\x9c\\xce\\xe1\\x84\\x50\\x80\\x1a\\x16\\xb5\\xd9\\x68\\x8d\\xc6\\x34\\x2c\\xaa\\x31\\xeb\\x69\\x12\\x26\\x75\\x5c\\xf9\\x93\\x3a\\x92\\x47\\x71\\x31\\x71\\xa3\\x5a\\xb6\\x84\\x97\\x7a\\x4a\\x21\\x77\\xa2\\x2a\\x9a\\xae\\x95\\x5f\\x38\\x8f\\x1a\\x7e\\x7b\\xff\\x0d\\xf4\\x44\\xdb\\x57\\xeb\\x56\\xcc\\x59\\x15\\x43\\xe7\\xe4\\x2a\\xf4\\x5e\\x18\\x71\\x77\\xed\\xbc\\xf4\\x22\\x3a\\x87\\x7e\\x1c\\xd7\\x38\\xbe\\x51\\xb1\\xeb\\xa9\\xb0\\x5d\\x17\\xc9\\xd0\\xeb\\x74\\x92\\xa0\\x85\\x1f\\xec\\x0c\\x63\\x10\\x18\\x87\\xd3\\x00\\x00\\x69\\x0d\\x06\\x16\\xe9\\xcc\\xac\\x6d\\x58\\xc2\\x7b\\x54\\x03\\xb8\\xab\\x46\\xd7\\x93\\x35\\x57\\xc0\\x75\\x22\\x4e\\xbe\\x39\\xe3\\x20\\x31\\xdd\\xda\\xe4\\xba\\x37\\xde\\xff\\x4d\\x3e\\x74\\x1e\\x75\\xbb\\x1c\\x5b\\x35\\x67\\xc5\\xba\\xaf\\xb0\\xb7\\x76\\xe9\\xc5\\x9d\\x77\\x21\\x2e\\x8c\\xde\\x93\\xab\\x56\\x03\\x44\\xb8\\x0f\\x07\\xcc\\x31\\xeb\\x22\\xfe\\x6b\\x4e\\xc4\\x42\\xb3\\xac\\xc0\\x71\\x1a\\x2d\\x67\\x67\\x04\\x4a\\x48\\x2d\\x64\\x4f\\x31\\xb4\\x56\\x75\\xfc\\x6b\\x1b\\x33\\x55\\x3e\\xd4\\x26\\x1f\\x02\\xf6\\xbd\\x7c\\x03\\x73\\x12\\x6c\\xc9\\x7e\\xe0\\xa5\\x3e\\xd8\\xa6\\x33\\xcb\\x88\\x5d\\xab\\xa5\\x1a\\xd8\\x56\\xe6\\x0c\\xc8\\x5a\\x51\\xc4\\xa9\\xa5\\x38\\x87\\xc3\\x68\\xa1\\xd8\\xb4\\x74\\x0f\\xe8\\x74\\x8f\\x45\\xab\\xd3\\x0e\\x8f\\x82\\xb2\\xbc\\x5a\\xa3\\x5b\\x83\\xea\\x25\\x06\\x38\\x2e\\xe5\\xd5\\x76\\x13\\x1d\\x17\\xaf\\x60\\x2d\\x7d\\x74\\xce\\xb2\\x8a\\x63\\x0f\\xc4\\x5a\\x99\\xe1\\xa7\\xf3\\xb9\\xc2\\x9a\\xa1\\x0b\\x1b\\x9f\\x7c\\x35\\x56\\x82\\x8c\\xf9\\xe3\\xa2\\xeb\\x76\\xb6\\xf1\\x87\\x21\\x40\\xa7\\x99\\x9e\\xfb\\x9b\\x8e\\x3d\\xa4\\xc4\\x24\\x2e\\x80\\xe1\\x29\\x02\\x83\\x0f\\xf4\\x79\\x5d\\xa4\\x20\\xe8\\xf5\\x66\\xf8\\xb4\\x1e\\x02\\x8c\\xc7\\xc7\\x85\\x32\\xfd\\x19\\xf5\\x51\\x5f\\x5a\\x7d\\xd4\\xef\\xf3\\xfb\\x74\\x9e\\x3f\\x80\\x4d\\x6d\\x9c\\x2a\\xe8\\x3c\\x49\\x14\\xfd\\x21\\xa8\\x88\\x38\\xcf\\xf6\\x10\\x2a\\x41\\x5f\\x12\\x98\\xe5\\x91\\xf4\\xd6\\x14\\x98\\x7f\\x95\\xff\\xd5\\x0e\\xff\\xbb\\x16\\xe4\\xa8\\xe7\\x7e\\xba\\x48\\xf5\\x67\\x6b\\xaf\\x44\\xd9\\x56\\xf6\\x17\\x2a\\x0f\\xcf\\xb4\\x64\\xb3\\xb2\\xec\\xe9\\x94\\x56\\x1b\\x08\\xb8\\x24\\x43\\x3a\\x57\\x90\\xef\\xca\\xa3\\xf2\\xea\\xc1\\x26\\xc3\\x37\\xc1\\xfa\\x68\\x40\\xd2\\x68\\x35\\xc3\\xa3\\xda\\x0e\\x70\\x5f\\xb5\\xc2\\x2a\\x4e\\xe2\\xaa\\x6b\\x80\\x9d\\x80\\xbe\\x32\\xfe\\xf7\\x40\\xf1\\xfb\\x57\\x3c\\xf1\\x60\\x92\\xe0\\x8b\\xc7\\x4c\\x9e\\x33\\x6f\\xe2\\xb1\\xf3\\xb1\\x12\\xfc\\x37\\x8f\\xef\\x8d\\xb5\\xd2\\xab\\x46\\x2d\\x5c\\x7c\\xcb\\x71\\x15\\x83\\xae\\x3b\\xe7\\x36\\x6f\\x4f\\x67\\xba\\xec\\xb9\\xf1\\xc0\\x5d\\xc7\\x46\\x2d\\x5c\\xb6\\x5e\\xf1\\xf7\\xfa\\x02\\x9f\\x6d\\x24\\xfe\\x5e\\xf4\\xea\\xfa\\x73\\xf8\\x79\\x07\\xfc\\x5c\\x48\\x7e\\x6e\\x24\\x78\\xff\\x09\\xf4\\xf4\\xbf\\x48\\xaf\\x4a\\x5d\\x7c\\x26\\x89\\xd6\\xe9\\xb4\\x1a\\x45\\x86\\xf3\\xa4\\xe1\\x99\\x24\\x58\\x7e\\x29\\x09\\xcf\\x24\\x21\\x51\\x0f\\x9f\\xb2\\xcd\\x27\\x91\\x3d\\xbf\\xf6\\xfe\\xae\\x14\\x07\\xbe\\xe3\\x44\\x12\\x9e\\x1e\\xa9\\x7a\\xed\\x4d\\x9b\\x77\\x97\\xa2\\xaa\\xd8\\x3f\\xe8\\x7f\\xc9\\x07\\x0f\\x3d\\xa5\\xf8\\xeb\\x53\\xc7\\xcc\\x99\\xbc\\x19\\xe5\\x6d\\xdd\\x28\\xff\\x99\\x79\\x74\\x97\\xe2\\xa7\\x23\\xea\\xc7\\x2b\\x5f\\x33\\x17\\xd9\\x41\\x54\\x0e\\xb5\\x2e\\x32\\x90\\x15\\xbd\\x3e\\xca\\xea\\xca\\xd4\\xea\\x74\\x99\\x56\\x9f\\xc8\\xe5\\xe6\\x51\\x39\\x20\\x45\\xb6\\x88\\xcd\\x0a\\xa2\\xec\\x0a\\x0e\\xb5\\x2d\\xb0\\xad\\xb1\\x31\\x00\\x7d\\xd0\\xec\\x5d\\xe3\\xa5\\x75\\x8c\\xd7\\x1b\\x0c\\xa6\\xd5\\x45\\x83\\x22\\xa5\\x5d\\xa8\\x85\\x9f\\xb5\\x5a\\xa5\\x6b\\x2f\\x11\\x8c\\x80\\x35\\x4d\\x7e\\xc2\\x21\\x49\\xa3\\x54\\x53\\x13\\x5f\\x8c\\x7b\\xd5\\x88\\xf2\\xc4\\x36\\x66\\x92\\x1b\\x50\\x8c\\x51\\x62\\xac\\x7e\\x4e\\xa2\\x65\\x91\\x7e\\xb6\\xdb\\x8a\\x19\\x93\\x47\\x3c\\x58\\x79\\xd8\\x7f\\x7e\\xd7\\xc1\\x3f\\xef\\x6e\\xe9\\xf4\\x23\\x3a\\x52\\x37\\x2c\\x32\\xea\\x51\\xdb\\xb6\\x1d\\x3b\\x37\\x2e\\x69\\xe5\\x57\\xc5\\x7f\\xda\\x75\\x0b\\xfc\\xa4\\xe0\\x1d\\x20\\xfd\\x88\\x83\\xa9\\x02\\xaa\\x32\\x92\\xe6\\xd6\\xe7\\x06\\xed\\xb9\\x66\\x86\\x2b\\x2c\\x82\\x8f\\x7a\\xca\\x22\\x7a\\x05\\xbc\\x5f\\x29\\x93\\x1c\\x88\\xa2\\x41\\x2c\\xa9\\xeb\\x62\\x92\\x7b\\x94\\xca\\xab\\xf0\\x75\\x78\\x7c\\x5e\\xbc\\x0d\\xdc\\x7c\\xa5\\xa0\\x5b\\xc5\\xa0\\x04\\x09\\x26\\x84\\x32\\x47\\x2f\\xed\\xd2\\x10\\x1c\\x53\\x94\\x71\\xbd\\xbb\\xf1\\xf6\\x01\\x5d\\x9f\\x7f\\xba\\xfd\\x2f\\x5d\\x07\\xdc\\xde\\xe8\\xbe\\x3e\\xa3\\x68\\x4c\\xb0\\xa1\\x66\\x71\\xc3\\xe8\\x95\\x5d\\xab\\xab\\x6b\\x9a\\x6c\\xd5\\xb5\\x8b\\x73\\x2a\\x32\\x42\\xeb\\x8f\\x8d\\xdd\\xd4\\xfb\\x8e\\xbd\\x7b\\x76\\xf4\\xde\\x32\\xe6\\xd8\\xfa\\x50\\x46\\x45\\xce\\xe2\\xda\\xea\\xeb\\xc7\\x8e\\x1c\\x39\\xa6\\x3f\\xce\\xe9\\x8d\\x05\\xc5\\xb0\\x0a\\x78\\x8b\\xa3\\xbc\\x11\\x13\\x03\\x6c\\xc3\\x0b\\x1c\\x3d\\x0c\\xc7\\xeb\\xaa\\x25\\x8a\\x5f\\x4d\\x12\\x45\\xc7\\xac\\x92\\x77\\xb4\\x11\\x25\\x47\\xd6\\x3b\\xa4\\xf2\\x32\\x3d\\x98\\xd0\\x02\\xcf\\x76\\x64\\x88\\x0e\\x0d\\x45\\x24\\x8e\\xa7\\x11\\x8f\\xf0\\x6e\\xc2\\x61\\x51\\xc1\\x4c\\xf3\\x71\\xcb\\x92\\xb2\\x99\\x50\\x99\\x57\\xc6\\x32\\x6d\\x72\\x09\\x3c\\xf8\\xd2\\x8b\\x78\\xd6\\x70\\xfc\\xd9\\xaa\\xcd\\xb4\\xf0\\x5c\\x35\\x15\\xdf\\x23\\xf3\\x67\\x22\\x07\\x3d\\x71\\x9d\\x86\\x5b\\x0f\\xc1\\xaa\\xc5\\x2a\\xf0\\xbc\\xd5\\x93\\xe6\\x42\\x7a\\x08\\xfe\\x4c\\x7a\\xbd\\xc5\\xc0\\x2b\\x7b\\x0b\\xc3\\xe1\\x0e\\xeb\\x05\\x93\\xa9\\x34\\x5c\\x16\\x93\\x01\\x64\\x56\\xda\\xb4\\x24\\xbc\\x10\\x89\\x7c\\xc6\\xcb\\x4e\\x68\\xe3\\xae\\x6f\\xd7\\x3c\\x76\\xec\\xc0\\x93\\x0f\\x1d\\x7b\\x6c\\xd5\\x37\\xf7\\xa1\\xaa\\xb9\\x67\\x96\\xa3\\x29\\xf2\\xab\\xf7\\x3e\\x41\\xaf\\x89\\xb5\\x3c\\xfa\\x20\\xaa\\x90\\xef\\x6f\\x3a\\x33\\x5b\\x26\\x3d\\x50\\xb8\\xb7\\xd9\\x4b\\xe6\\x78\\x17\\x45\\x5c\\x94\\x95\\x96\\xb4\\x92\\x95\\xb1\\xdb\\x24\\xa0\\x9f\\x64\\x16\\x20\\x44\\x13\\x1c\\x89\\x0d\\x8a\\xa9\\x3a\\x3d\\x78\\x8d\\x99\\x80\\xcc\\xcc\\xab\\xfb\\x5c\\xae\\x9e\\x04\\x78\\xe9\\x45\\x6c\\x37\\x77\\xa0\\xaf\\xd8\\x1a\\xb2\\xb3\\xd1\\x48\\xf5\\x89\\x48\\x0c\\xcb\\x73\\x1a\\x4a\\x10\\x34\\x2c\\x63\\x32\\xe3\\xdb\\xea\\x76\\xd4\\xff\\x64\\x14\\xac\\x29\\xab\\xe1\\xb9\\x53\\xa8\\x10\\xd7\\xa1\\xa3\\xe2\\xff\\x95\\xfb\\x44\\x4a\\xea\\x53\\x8b\\x04\\xf8\\x90\\xcd\\x3c\\x32\\x4f\\x6e\\x58\\x70\\x07\\xda\\x74\\x1f\\x5a\\x27\\x97\\x84\\x97\\xa3\\x51\\xcd\\x22\\x02\\x47\\x46\\xfe\\x98\\xf9\\xec\\xb2\\x8f\\x99\\x76\\x97\\xfc\\x2c\\xea\\x95\\x43\\xd1\\x57\\x7e\\x03\\x38\\x9e\\x05\\x38\\x70\\x1e\\x74\\x6b\\xc4\\xc9\\xe1\\x01\\xc3\\x22\\x25\\x00\\xcf\\xb3\\xac\\xc9\\x64\\xb3\\x03\\x3b\\xd9\\xac\\x18\\x9a\\x63\\x60\\xc6\\xe1\\x8f\\x88\\x3f\\x6a\\xb6\\xfa\\xad\\x25\\xd6\\x2b\\x56\\xd6\\xac\\xf5\\x6b\\x4b\\xb4\\x57\\xb4\\xe0\\x5a\\x5b\\xb5\\x56\\x30\\x88\\x16\\x0d\\xa7\\xe9\\x65\\x40\\xfd\\xc9\\x1d\\x60\\x21\\x81\\x18\\x82\\x3f\\xf2\\x33\\x85\\xa1\\xbf\\x46\\x96\\x34\\x91\\x26\\xb5\\x28\\x71\\x45\\x72\\x18\\x5c\\x87\\xe4\\xa8\\x1d\\xb8\\x8c\\xa1\\x9b\\xe4\\xbb\\x6f\\xb9\\x03\\xbd\\x45\\xff\\x4d\\x9e\\x84\\x96\\xc9\\x5b\\xd0\\x33\\xb1\\xa7\\xc7\\x7c\\x18\\x47\\x6b\\x89\\x7c\\x6e\\x91\\x7c\\x74\\x09\\xba\\x0d\\x7d\\x21\\xa7\\x91\\xfa\\x44\\xc0\\x98\\xf9\\x0d\\x70\\x33\\xc2\\x09\\x7a\\xa9\\x99\\x11\\xbb\\x5e\\x63\\xf5\\x78\\x58\\x93\\xc6\\x41\\x51\\x40\\x68\\x9f\\x5f\\x6f\\x75\\x5b\\xdd\\x18\\x29\\x51\\x45\\x8a\\x01\\x4c\\xac\\x2c\\xc7\\x59\\x7a\\xe9\\x92\\x58\\x50\\x1e\\xf2\\x99\\x8d\\x63\\xd0\\x21\\xab\\xd3\\x29\\x9d\\x42\\xae\\xef\\x48\\xae\\x2e\\x18\\x50\\xba\\x73\\xe3\\x39\\x31\\x6b\\x85\\x92\\x1a\\x63\\x7e\\x3b\\xf5\\x88\\xdc\\x8c\\xc6\\xa2\\x51\\x23\\x47\\x2e\\x58\\xfc\\xc2\\xcc\\x49\\xaf\\xbf\\xfe\\x4a\\xf5\\x3f\\xbf\\xfc\\x71\\xd1\\x1c\\x86\\xdd\\xb0\\x93\\xf9\\xec\\xe7\\xa1\\xcd\\x2e\\x69\\x3d\\x9a\\x3e\\xf4\\x3a\\xf9\\x75\\xf9\\xcb\\x23\\xf2\\xbe\\x06\\x62\\xf7\\x8f\\xc2\\x39\\x85\\xc9\\xfe\\x59\\x1c\\xc7\\xcd\\x8c\\xb8\\x74\\x82\\x33\\x8d\\xe3\\x44\\x43\\xc0\\xe9\\x44\\xa2\\xd5\\x20\\x1a\\x42\\x99\\x0e\\x9d\\x84\\x24\\x8c\\x8e\\x36\\x1a\\x10\\x10\\x12\\x69\\xd1\\xa9\\xe2\\x21\\x02\\xec\\x34\\xe5\\x27\\x9f\\x69\\xc0\\xa9\\xc3\\xe0\\x8d\\x3f\\x4c\\x43\\xc6\\x73\\x68\\x4a\\x12\\x32\\xbe\\xa0\\x96\\x8b\\x23\\xa2\\x22\\x76\\x74\\x3c\\x46\\xa6\\xdf\\x9f\\xb6\\x0c\\xc2\\x88\\x8d\\xa7\\xdb\\xff\\x01\\xc8\\xcc\\xae\\x22\\x88\\xb1\\x45\\x68\\xcf\\xcf\\xb3\\xaf\\x5b\\xd1\\x67\\xde\\x86\\x9d\\xe8\\xfc\\x41\\x8c\\x0d\\x6d\\xc7\\x98\\x11\\xdf\\x11\\x8e\\x8e\\x75\\x91\\xbd\\xeb\\x16\\x5c\\x13\\x60\\xe6\\x74\\xa0\\xc2\\xac\\x36\\xde\\xa4\\x42\\xcd\\x03\\xa4\\x1c\\x65\\x56\\x4f\\xa2\\xf8\\x1a\\x79\\x47\\x2c\\xef\\x41\\x65\\x0d\\x6d\\x3c\\xf3\\xe8\\x5a\\xf2\\xfe\\x16\\x79\\x37\\xea\\xfe\\x2b\\xd2\\x6e\\x3b\\x7b\\xe2\\xc8\\x2b\\x0f\\xb6\\x33\\x5f\\xec\\xfe\\xc7\\x4a\\xe6\\xb3\\xd8\\x57\\x27\\xce\\xc6\\xe8\\xb7\\x40\\xe6\\xaf\\x00\\x5f\\xfc\\x1b\\xde\\xab\\xa7\\xc6\\x46\\x8c\\x9c\\x56\\x2b\\x30\\xa0\\x96\\x74\\x06\\x23\\xbe\\x2f\\xed\\x1f\\xb1\\x44\\xcd\\x9c\\x9f\\x2b\\xe1\\xae\\x70\\xc0\\xd7\\x64\\x17\\x0c\\xab\\xc2\\x83\\x88\\x1c\\x6a\\x3b\\xf2\\xf3\\x55\\x39\\x3e\\x7c\\x49\\xa8\\x72\\x70\\x82\\x7b\\xa9\\x2b\\xf4\\x07\\xb1\\xe3\\x74\\x56\\xec\\x22\\x3d\\x0b\\x5e\\x1e\\xe7\\x55\\x80\\xe5\\x3d\\xf8\\xf1\\x35\\x02\\x4b\\x63\\xc4\\xa4\\x61\\x29\\x3d\\x0f\\x51\\x04\\xa5\\x07\\x60\\xd8\\x6b\\x01\\xa3\\xd5\\x6a\\x54\\x60\\xb4\\x04\\x18\\xf4\\xff\\x07\\x98\\xc4\\xc5\\x99\\xb5\\x92\\x4c\\xa7\\x27\\xff\\xbe\\x47\\xcf\\x02\\x40\\xb2\\x00\\xa0\\x0f\\xd0\\x57\\x4b\\x50\\xfd\\x22\\x54\\xb5\\xe4\\xb2\\x4f\\xb1\\x83\\xf7\\xa1\\x0f\\xd9\\x52\\xee\\x22\\xc8\\x4b\\x5d\\xc4\\x6c\\xa4\\x04\\xde\\xea\\x72\\x81\\xce\\x67\\x7d\\x7e\\x87\\x1d\\x00\\x3a\\x11\\x75\\x38\\xd2\\x98\\x34\\xf1\\x0c\\x79\\x6f\\x1a\\x2a\\x01\\xd6\\x04\\x78\\x8e\\x47\\x05\\x81\\x69\\x47\\x45\\x64\\x09\\x07\\x75\\x8d\\x1d\\x2b\\xca\\x65\\xbf\\xe5\\xaa\\xc5\\x1b\\x95\\x18\\x1e\\xac\\x46\\xa9\\xfb\\x2e\\x7d\\xb1\\xff\\x95\\x8a\\x0d\\x79\\xad\\xb3\\xf7\\x1e\\x39\\xb1\\xb7\\x61\\x4f\\xa5\\xfc\\x19\\x7a\\xb0\\xff\\xa7\\x37\\x7f\\x21\\x5f\\x61\\x3e\\xf9\\x09\\x69\\x17\\x37\\xe7\\x8d\\x18\\xfa\\xea\\xa9\\xa7\\xdf\\xaf\\x0e\\x3f\\xbe\\x5c\\x3e\\x38\\x64\\x1c\\xb2\\x62\\x78\\x3f\\x02\\xfa\\xfd\\x40\\xe8\\xd7\\x27\\x62\\x8a\\xef\\xa8\\x62\\x81\\x7e\\x02\\x56\\x5a\\x11\\x63\\xb4\\x44\\xa8\\x15\\x86\\x0a\\x0c\\xde\\xcc\\xd4\\x49\\x91\\x92\\xa9\\xa5\\x9d\\x87\\x69\\xa5\\x0c\\x04\\x65\\x26\\xc9\\xda\\xd6\\x56\\xf4\\xeb\\x76\\xd0\\x30\\x10\\x00\\x31\\x9f\\xc9\\xe3\\xd1\\x3e\\x95\\x4e\\xb4\\x1f\\x7d\\x45\\x3f\\x06\\xef\\xc5\\x75\\x1a\\x98\\x45\\x38\\xfa\\x19\\x78\\x38\\xc2\\x8f\\x4e\\xd6\\x69\\xc0\\x93\\xe8\\xc7\\xb6\\x6d\\xc3\\x27\\x8e\\x8f\\xca\\x82\\x3e\\x64\\x46\\xc3\\xef\\x88\\x54\\x35\\xae\\x41\\x8a\\xe7\\x23\\x15\\x5a\\x1a\\x08\\x6c\\x3c\\xa6\\x25\\x83\\xeb\\x92\\x4a\\xae\\x95\\x9a\\x44\\x19\\x9d\\x52\\x93\\x74\\x97\\xff\\x94\\x6e\\x31\\xd6\\xf7\\xec\\x3d\\xe4\\x24\\xea\\x73\\x37\\xfa\\x10\\x69\\x5d\\x23\\xc6\\x4c\\x9e\\x48\\x5f\\xbf\\x24\\xd6\\xff\\xb6\\x43\\x40\\x9f\\xef\\x41\\xc6\\xdc\\x84\\x3e\\xd7\\x45\\x3c\\x98\\x3e\\x3a\\xb0\\xe5\\x94\\x5e\\xaf\\x45\\x2c\\x6b\\x30\\x42\\x18\\x29\\x20\\x81\\xd5\\x5c\\x45\\x99\\xab\\x8b\\x22\\x95\\x80\\x91\\xcc\\x6a\\x97\\xb0\\x99\\x61\\xe6\\xca\\xb7\\x2c\\x03\\xf2\\x3c\\x7f\\x40\\x9e\\x81\\xde\\x00\\x12\\x7d\\xd0\\x28\\xaf\\x07\\x1a\\x79\\xd0\\x97\\x72\\x5d\\xec\\x75\\x8c\\x6f\\x6f\\x40\\xfc\\x18\\xbc\\x9b\\xa3\\xb2\\x4f\\xe0\\xa0\\x95\\x17\\xd0\\x19\\xf2\\x1e\\xa6\\x23\\xd7\\x26\\x1d\\x14\\x4c\\x79\\x3b\\xea\\xdd\\x8a\\x3e\\xc3\\x34\\xbb\\x7c\\xc7\\x12\\xc2\\x93\\xb7\\x03\\x0e\\xdd\\xe1\\x39\\x1e\\xaa\\x77\\xc4\\x65\\x31\\x99\\xcd\\xa2\\x56\\x63\\x77\\xb1\\x14\\xe5\\xf1\\xd8\\x45\\x26\\x2d\\x9d\\x35\\xba\\x8c\\xa0\\xf7\\x0a\\xdb\\x28\\xad\\x9d\\x11\\xdb\\xf1\\x63\\x9d\\x7f\\x9c\\xe2\\x44\\x52\\x45\\x2d\\x52\\xa6\\x78\\x82\\x3b\\xe6\\x24\\xc3\\xe7\\x1d\\xce\\x5a\\x04\\xaa\\x8e\\xf9\\x93\\x96\\xe6\\xbd\\x96\\x5f\\xa7\\x5e\\x32\\x89\\x12\\xb3\\xe6\\x29\\xea\\x8a\\x36\\x5d\\xeb\\xbb\\xf4\\x04\\x9c\\xf5\\xae\\x51\\x8d\\x1e\\xcf\\x8a\\xe2\\xd8\\x38\\xfa\\x40\\xb0\\x4b\\x97\\x07\\x62\\xb3\\x40\\xa1\\xd4\\xbb\\x66\\x07\\x27\\xd1\\x47\\x81\\x25\\x92\\x7c\\x68\\x00\\xff\\x51\\xe2\\x11\\x10\\x1a\\xef\\x70\\x05\\x4e\\x34\\x9a\\xf4\\x88\\x03\\xe0\\x8e\\x09\\xb8\\xf3\\x0e\\x40\\x2b\\x2f\\xbf\\x56\\xe2\\x53\\xab\\x42\\x42\\xb6\\x18\\x30\\x03\\x64\\x23\\xb7\\xe6\\x41\\xf4\\x5f\\xbe\\x05\\x1e\\x5b\\xb5\\x2f\\x36\\x17\\x88\\xf1\\xc2\\x88\\x71\\xf4\\xd6\\x0e\\xef\\x32\\xe2\\x77\\x19\\x39\\x9a\\x46\\x06\\x1e\\x14\\x03\\xd2\\x98\\xcc\\x06\\xc4\\xe3\\x77\\x69\\xb8\\xff\\xf5\\x2e\\xab\\xa4\\xae\\xa5\\x27\\x2b\\xe9\\x3f\\x5a\\xcb\\xa3\\xff\\xee\\x5d\\xcb\\xc9\\x26\\x4c\\xf3\\xd8\\x52\\xd3\\x3e\\xa6\\xdb\\x65\\x1f\\x7d\\xe7\\x98\\xfe\\x97\\xcf\\x29\\x31\\xfe\\x46\\xd0\\x09\\x7d\\x41\\x27\\xe0\\x9a\\x74\\xd0\\xd3\\x16\\xde\\x40\\xa6\\xec\\x69\\xcd\\x09\\x55\\x54\\x04\\x72\\x60\\x27\\x9f\\x19\\xcc\\xb8\\x57\\xeb\\x69\\x9c\\x5c\\x21\\x6b\\xa4\\xa8\\xd4\\xb6\\x20\\xb6\\xef\\x95\\x4f\\x3f\\xbe\\x22\\x7f\\xf6\\x31\\x75\\xe5\\xb6\\xe3\\xf7\\xee\\x39\\x76\\xec\\xfe\\xbd\\x8f\\x33\\x9f\\x7c\\x27\\x7f\\x85\\x2c\\x3f\\x7d\\x8f\\x0c\\xf2\\xcf\\xdf\\x3d\\xf3\\x1a\\x16\\xf9\\x0b\\x4a\\x2f\\x83\\x15\\x9d\\x63\\x9e\\xe1\\xf6\\x82\\xef\\x98\\x05\\xd1\\xa3\\xd3\\x2b\\x3a\\x1d\\x0c\\x1b\\x02\\x1f\\x49\\xb0\\x3a\\x44\\x3e\\x3b\\xc7\\x2a\\x00\\x8b\\x78\\xda\\xd1\\x0d\\xb8\\xb6\\x20\\xc0\\x1a\\x03\\xf0\\xf1\\x38\\xc4\\x1e\\x2c\\x55\\xd2\\xb1\\x47\\xfc\\xaa\\x8c\\x17\\x4e\\x00\\xc5\\xb7\\xbd\\xaa\\x71\\x86\\x92\\xf3\\x72\\xa6\\x26\\x80\\x67\\x0c\\x9f\\xdc\\x32\\xfc\\xfa\\x51\\x93\\x1e\\x7e\\xfc\\xb1\\x87\\x26\\x8e\\xee\\x5f\\xbf\\x76\\x7c\\x74\\xca\\xe2\\x69\\x37\\xde\\x38\\x65\\x11\\xfb\\xe4\\xda\\x85\\x73\\xf7\\xa5\\xa5\\x3d\\xd2\\x74\\xba\\xed\\xa9\\x3f\\x35\\x1f\\xf2\\x3a\\xef\\x5f\\xb4\\x6c\\xe5\\x94\\x3b\\x57\\xec\\xb8\\x79\\xd3\\x6d\\x2b\\xee\\x04\\xd8\\x19\\x20\\xee\\x8f\\x70\\x66\\x3a\\x4a\\x02\\xcf\\xd7\\x60\\xe6\\x38\\x5e\\x0f\\x54\\xb4\\x58\\xcd\\x2c\\x51\\xab\\x66\\x33\\x2f\\x08\\xa6\\xd3\\x84\\x86\\x02\\x08\\x09\\x4f\\x34\\xc9\\x35\\xb3\\x48\\xea\\x5e\\x7b\\x9c\\x4a\\x12\\xb0\\x2d\\x0e\\x96\\x33\\x3f\\xb6\\xed\\x96\\xbf\\x6d\\x45\\x77\\x3f\\xfc\\x44\\xeb\\xdf\\x2e\\x21\\xf4\\x16\\xbb\\xa7\\xf5\\xa0\\xbc\\x86\\xf9\\x6c\\x6f\\xeb\\x9f\\xe4\\x16\\x72\\x86\\xef\\x83\\x0c\\x79\\x55\\x5f\\x68\\x44\\xc4\\x6e\\x40\\x48\\x6b\\x01\\x26\\xa5\\x8c\\x46\\x93\\x96\\xd5\\x3a\\x9c\\x06\\xda\\x42\\x13\\x40\\x2c\\x78\\x9d\\x84\\x74\\x26\\xe1\\xfe\\x24\\xb4\\xc2\\xd5\\xd9\\xa4\\x94\\xdb\\x6d\\xe2\\x7f\\x4a\\xf1\\xf4\\x96\\x00\\x5e\\x8f\\x72\\x57\\xc9\\xac\\xfa\\x55\\xfe\\xa4\\x15\\xbd\\xf4\\xf0\\x13\\xcd\\x73\\x91\\xf9\\xc4\\x3b\\xf2\\x5b\\x28\\x3c\\x61\\x21\\x68\\x8b\\xdd\\xf2\\x74\\xe6\\xb3\\xbb\\x6f\\x99\\xb7\\xcb\\x2e\\x8f\\xa4\\x9f\\x7f\\x4c\\xde\\x3d\\x41\\xb1\\x3f\\x00\\x27\\xf3\\x0b\\xf1\\x8b\\x8b\\x22\\x06\\x70\\x62\\x58\\x9a\\x06\\x7d\\xc5\\x72\\xec\\xe9\\x04\\x44\\xb4\\x4a\\x1a\\x2a\\xb5\\x4a\\x1e\\xc5\\xb7\\x23\\x1d\\xb9\\x55\\x6e\\x67\\xd2\\xb9\\x86\\xcb\\x77\\x30\\xf3\\x97\\x28\\xfa\\xe3\\x3d\\xd0\\xbb\\xff\\x81\\x67\\x4a\\xb8\\xee\\xd5\\x68\\xe2\\x58\\x13\\x6b\\xb5\\x18\\xd9\\x33\\x1d\\xcc\\x79\\xc9\\x35\\xea\\x5e\\x53\\x76\\x8a\\x28\\xc3\\x15\\xe8\\x49\\x27\\xde\\x6e\\x6d\\x59\\xb5\\x76\\x53\\xeb\\xfb\\xe8\\xc3\\x57\\x1e\\xa7\\x57\\xc4\\x76\\xdc\\xbc\\xf5\\xf6\\x4d\\xf4\\xd4\\xd8\\x5d\\x6d\\x6f\\xe2\\x77\\x5d\\xf9\\x1a\\xe8\\xfc\\x19\\xbc\\xcb\\x41\\xdd\\x10\\xf1\\xea\\xb4\\x46\\x49\\xe4\\x10\\x65\\xb3\\x71\\x46\\x46\\x6f\\x77\\x38\\x5c\\x06\\xbd\\xde\\x69\\x33\\x72\\xa2\\x9d\\xd1\\x63\\x39\\x35\\x22\\x1d\\x91\\xd3\\x70\\xb8\\x16\\x37\\x5e\\x25\\x0b\\x06\\x92\\x53\\x7c\\x95\\x49\\x1f\\x38\\x70\\xc4\\x2a\\x0b\\x85\\xad\\x58\\x53\\x59\\x1d\\x4e\\x6b\\x98\\xb9\\x78\\xe0\\xa0\\xc1\\x64\\x86\\x87\\x1d\\x3c\\x20\\xff\\x76\\xe7\\x39\\x97\\xf7\\xe1\\x5b\\x0e\\x5a\\x32\\x5f\\x86\\xd0\\x82\\x5e\\x56\\x58\\x3f\\xc2\\x3b\\xa5\\x3e\\xb6\\x05\\x14\\xc7\\x93\\x37\\x2e\\x05\\x83\\xbf\\xab\\xcf\\x83\\xcc\\x60\\x45\\x8e\\x6c\\x40\\x8f\\x4f\\xd8\\x9f\\x49\\x2f\\xd8\\xdc\\x88\\x54\\x04\\x21\\x47\\x40\\x93\\x9b\\x6b\\xb7\\x9b\\x19\\xa6\\xb4\\x8c\\xcf\\x07\\xb1\\x89\\x58\\xa3\\x3c\\x4f\\x49\\x66\\x93\\xdf\\x54\\x62\\x62\\xcc\\x8c\\xc9\\x24\\x49\\xfa\\x53\\xe8\\x06\\x52\\x35\\x56\\x76\\xdc\\x95\\x49\\x65\\x12\\xe1\\x0a\\x78\\xe3\\x8a\\x26\\x75\\xe7\\xb0\\x1a\\xda\\x77\\x5a\\xb1\\xa6\\x10\\xb4\\x02\\x02\\xe4\\xc4\\x10\\x1b\\xcc\\x2e\\x84\\xbe\\xd5\\x76\\xd2\\xea\\x1c\\x32\\xa1\\x1c\\x52\\xfb\\x27\\x90\\xe5\\xfb\\xe8\\xe7\\x85\\x0b\\x76\\x1f\\x78\\x68\\xf0\\xb0\\x61\\x83\\x84\\xb5\\x01\\x24\\x6c\\x69\\x4d\\xcf\\xb5\\x3a\\xc2\\x85\\xfd\\xba\\x71\\x6c\\x49\\x53\\xe4\\xba\\x59\\x3d\\x6e\\x59\\x3d\\xb9\\x17\\xfa\\xb0\\x69\\xf6\\x8a\\x9b\\x18\\x26\\x7f\\xc2\\x90\\xae\\xb5\\x86\\xd7\\x37\\xac\\x96\\xdb\\x6b\\x6a\\xb8\\xa1\\xfa\\x41\\x83\\x47\\x0d\\x98\\x10\\x99\\xd7\\xbd\\x27\\xcd\\x0c\\x1d\\x56\\xdb\\x5b\\xd1\\x65\\xdf\\x00\\xee\\xed\\x2a\\xee\\x93\\x23\\x52\\x5e\\x40\\xa3\\xb1\\x99\\xcc\\x45\\x0c\\x63\\xb6\\x01\\xee\\x79\\x02\\xc6\\x5d\\x17\\xcd\\xcb\\xa3\\xa4\\x0e\\x28\\x17\\xc7\\x51\\x6e\\x03\\x94\\x31\\xce\\x65\\xd8\\x3c\\x97\\x5f\\x63\\xd1\\x72\\x6a\\x46\\x13\\x6b\\x16\\x25\\x09\\x10\\x2f\\x71\\xe0\\x71\\x72\\x53\\x4a\\xd4\\x33\\x3b\\x9c\\xe1\\x9e\\xc8\\xa9\\x16\\x3a\\x90\\x2b\\x9e\\xbf\\xa9\\x18\\x0f\\x19\\xa4\\x5b\\x1b\\x90\\x7f\\x4b\\xc5\\x38\\x7f\\x75\\xaf\\x3e\\xb3\\xba\\x61\\x8c\\xd9\\x9f\\x13\\x18\\x57\\xf6\\xc1\\x18\\xa3\\xfe\\x2a\\xc6\\xc3\\x07\\x4f\\xe8\\x35\\xbf\\x6b\\x02\\x63\\x1a\\x15\\x01\\xbe\\x7b\\xd8\\x9f\\x80\\x1f\\x33\\xa8\\x01\\x11\\x83\\x13\\xb4\\x8e\\xd7\\x2b\\xf1\\x52\\x28\\xd3\\x76\\x1a\\x0e\\xce\\x84\\x4a\\x29\\x0d\\x15\\x40\\x37\\x1c\\x8b\\xea\\x35\\xa7\\x00\\x2b\\x06\\xa2\\x1d\\xf8\\x81\\x62\\x88\\x07\\x42\\xf6\\x1d\\x92\\xff\\xab\\xed\\x34\\x77\\x44\\xc9\\xc7\\x90\\x3d\\x71\\xe1\\x8a\\xea\\xb0\\x20\\xd9\\x9c\\xa1\\xec\\x4a\\x94\\xd2\\x00\\xc9\\x04\\x43\\x0b\\x46\\xdc\\xba\\x0e\\x99\\x46\\x2c\\x0c\\x21\\x61\\x29\\xcb\\x2e\\xe5\\xe5\\xcd\\xc3\\x1a\\x67\\x8e\\x1f\\x3f\\x63\\xdc\\x70\\x7a\\xda\\x80\\xda\\x3f\\xbf\\x88\\xb6\\xf5\\xea\\x1b\\xee\\xb7\\x49\\xce\\x9f\\xd6\\x25\\x7f\\x18\\x62\\xf6\\x6e\\xde\\x79\\xff\\xae\\x5b\\x6f\\x25\\xf1\\x4e\\x29\\xd8\\x9c\\xfb\\xe0\\x9c\\x72\\xa9\\x0a\\xaa\\x1b\\x75\\x5f\\x24\\xbd\\x32\\x57\\xd0\\xe4\\x41\\xac\\x43\\x75\\xf3\\xf9\\x8b\\xac\\x56\\xbf\\x31\\xd4\\x4d\\x93\\x2b\\x74\\xef\\x91\\xd6\\x25\\xab\\x4b\\x3b\\x06\\x39\\xcf\\x49\\xfe\\xc8\\xad\\xc4\\x47\\xe8\\x8c\\xe6\\xe6\\xfa\\xf3\\x4a\\xf2\\x6a\\xf3\\x98\\xbc\\x3c\\x7d\\x30\\x8b\\xf2\\x21\\x13\\xe3\\xf3\\x65\\x01\\x56\\xc7\\x4b\\x59\\x3d\\x8b\\xff\\x1b\\x53\\x54\\x34\\xea\\x17\\xa8\\x6b\\xe4\\x04\\x3d\\x39\\xd3\\xab\\x4a\\x5b\\x24\\xe2\\x26\\x5e\\xab\\xac\\x25\\x69\\x3d\\x2a\\x95\\xcd\\x1a\\x24\\x1f\\xe5\\x8c\\x27\\xa5\\x3a\\x9c\\xb9\\x7a\\x25\\x54\\xad\\xd6\\xb2\\x03\\x73\\x2b\\x13\\xf1\\xab\\xe9\\x6a\\x7a\\xc6\\xf8\\xba\\x89\\xd2\\x9c\\xac\\xbb\\x17\\xfc\\xed\\xfa\\xea\\x6d\\x53\\x16\\x2d\\xba\\xef\\xd1\\xfd\\x83\\xea\\xeb\\x87\\xea\\x5a\\x02\\xf2\\x4f\\x8f\\xf6\\x1e\\xb6\\x5b\\x3e\\x45\\xaf\\xbb\\x79\\xed\\x8c\\x3e\\xb5\\xfd\\x66\\xd7\\xc4\\x2e\\xeb\\x27\\x35\\x8e\\x9a\\xc2\\x31\\xeb\\x0c\\xeb\\x36\\x5c\\x17\\x0e\\x4c\\x18\\xf9\\xd4\\x94\\xfa\\x04\\x2f\\x54\\xf5\\x36\\xbc\\x3e\\x79\\x32\\xba\\x4b\\xb2\\xd3\\x4c\\xfd\\x90\\x1e\\x7d\\x7b\\xcd\\xed\\xbe\\xa5\\x69\\x7e\\xd3\\xfc\\x04\\x1f\\xf0\\x14\\xe5\\xa2\\x32\\xa9\\xeb\\x23\\x46\\x3f\\x27\\x8a\\x66\\x37\\x44\\xfd\\x59\\xd9\\x8e\\x74\\x42\\x37\\x8b\\xe3\\x2c\\x10\\xc0\\x8c\\xca\\xc1\\x13\\xc5\\xc1\\x62\\x06\\xfe\\x92\\xa3\\x93\\x6c\\x50\\x9b\\x5a\\xe8\\xa6\\x30\\xb7\\x18\\xc4\\x32\\x6b\\x33\\xd1\\xf6\\x10\\x51\\x90\\x42\\x98\\x60\\xdf\\xa1\\xf3\\x77\\x8f\\xfc\\xd3\\x88\\x05\\x21\\xbc\\x8d\\x6c\\x19\\xbb\\x92\\x61\\x08\\x4f\\xac\\x8d\\xb3\\x01\\x33\\x47\\xbe\\xb1\\xb6\\xaf\\x25\\x27\\xc3\\xc5\\x74\\x99\\xc6\\x34\\xc9\\xef\\xce\\x05\\xb6\\x38\\x77\\x7f\\xeb\\x8e\\x3d\\xbb\\xb6\\xdd\\x4a\\xa5\\xc2\\x9d\\xe0\\x5f\\x2f\\x05\\xfe\\x1f\\x2f\\xaa\\xfc\\x8b\\xe1\\xfd\\xff\\xcc\\xbf\\x95\\x64\\x8e\\xdb\\x1f\\xf3\\x2f\\x80\\x8f\\x56\\x5e\\x8b\\x7d\\xb7\\x47\\xfa\\x82\\xe3\\xd8\\xfd\\xf2\\xc6\\x14\\xfe\\x6d\\x55\\xe0\\xf6\\x03\\xdc\\x8f\\x01\\xff\\x5a\\xc9\\xc6\\x64\\xd1\\x43\\xe1\\xbb\\x28\\x9b\\xd5\\x2a\\x18\\x19\\x7c\\x61\\x80\\xf9\\xcf\\x10\\xf5\\x44\\xb4\\x86\\xfe\\x1e\\x8f\\x4e\\x14\\x9d\\x8a\\xa2\\x11\\x51\\x59\\x1b\\xcf\\xeb\\x74\\x8c\\xf2\\xa3\\x8e\\x58\\xa5\\x94\\x69\\x67\\xae\\x8e\\x29\\xfb\\xd4\\xb5\\x2f\\xf1\\x04\\x69\\xea\\xaa\\x97\\x07\\x67\\x4d\\xc5\\xbc\\xe5\\xbf\\xef\\xc6\\x03\\x87\\x0f\\x3f\\x88\\xfa\\xdc\\x04\\xdc\\x13\\x9d\\xc1\\x31\\x83\\x37\\x6c\\x03\\xe6\\x19\\x1b\\x7d\\xf9\\xe5\\xd3\\xe7\\xe4\\x39\\xd2\\x24\\xc2\\x24\\x49\\x98\\xf1\\x74\\xe2\\x05\\x11\\xd1\\x6a\\xe1\\x05\\xca\\xed\\x36\\x18\\x04\\x0b\\x5e\\x05\\x6e\\xc5\\x30\\x8b\\x51\\xb3\\xc5\\x6f\\x29\\xb1\\x80\\x49\\xb0\\x58\\xcc\\x5a\\xb3\\x43\\x01\\xd4\\x8c\\x4a\\x22\\x26\\x33\\xef\\xe7\\x4b\\x78\\xf8\\x1b\\x1e\\xbc\\x51\\x15\\x03\\x2d\\x16\\xaa\\xd4\\xcc\\x6f\\x6a\\x7c\\xda\\x01\\x8d\\xb8\\x49\\x50\\xdb\\xd0\\x40\\x5c\\xd4\\xc4\\x29\\x53\\xa8\\x60\\x11\\xf9\\x06\\x23\\x21\\xff\\x29\\x8e\\xc4\\x3a\\x82\\x44\\x1b\\xc6\\x01\\x58\\x5e\\xc1\\x01\\xa1\\x7a\\xc0\\xa1\\x19\\x70\\xc8\\xa0\\x16\\x47\\x1c\\x1e\\xc6\\xae\\x13\\xcd\\xfe\\x40\\xc0\\xec\\xe4\\x75\\xf8\\x9a\\x9b\\x77\\xba\\x9c\\x2e\\x85\\xf6\\x4e\\x4c\\x7b\\xa7\\x13\\x1c\\x20\\x0b\\xb1\\x64\\xa2\\x68\\x04\\x0d\\x10\\xd1\\x51\\x7e\\x64\\x66\\xfc\\x7e\\x8a\\xf2\\x2a\\x18\\x50\\xc9\\x33\\xc0\\x18\\x24\\x1d\\xc9\\x6b\\x4e\\x9d\\x4b\\x5e\\x98\\xe2\\x04\\x70\\x7c\\x85\\x68\\xd8\\x9e\\x91\\x48\\x63\\xd3\\xd3\\x5a\\xee\\x98\\x3e\\xb2\\xff\\xc4\\xd6\\x85\\x9f\\xfb\\xe6\\x4b\\x2d\\xb5\\xbd\\xdf\\xfe\\x64\\x70\\x64\\x73\\xe6\\x5c\\xdf\\xcd\\xe8\\xc3\\x95\\xb3\\x07\\xce\\xd0\\xd2\\xc2\\xc4\\x7e\\x63\\x16\\x9c\\x30\\x4d\\xeb\\x5e\\xb1\\x72\\x62\\x6b\\xa4\\xf7\\x12\\xff\\xd8\\x06\\xa5\\x76\\x33\\x8e\\x5b\\x88\\x9a\\x1f\\x71\\xb0\\x8c\\xcd\\x6e\\xf2\\x68\\x83\\x41\\x8f\\x0f\\xaf\\xfd\\xcd\\xcc\\xf2\\xe2\\x5a\\x20\\x8c\\x9b\\x39\\x8a\\xf7\\x08\\xf5\\x37\\x18\\x28\\xa7\\xcd\\xe6\\x74\\x82\\x2f\\x77\\x03\\xa9\\xad\\x2d\\x23\\xf1\\x25\\x38\\xc7\\x13\\x59\\x08\\xfe\\xe2\\x21\\x66\\xca\\xca\\x4c\\x62\\xc1\\xfe\\x00\\xad\\xf8\\x0d\\x43\\xa8\\xb2\\xbc\\xb2\\xe3\\x51\\xc5\\x2b\\x84\\x66\\x2e\\xbe\\xd9\\x37\\x37\\x73\\x73\\x64\\xf0\\x27\\x6f\\xf7\\xae\\x8d\\x0c\\x14\\xe6\\xfb\\x3e\\xbf\\xf1\\xd6\\xc9\\xfd\\x46\\x4e\\xdf\\x81\\x3e\\x6c\\x18\\xeb\\x5f\\xd2\\x3b\\xd2\\x3a\\x71\\x65\\x45\\xf7\\xca\\x52\\xd3\\x89\\x05\\x63\\xae\\x9f\\x20\\xd0\\xda\\x99\\x03\\x66\\xaf\\x24\\x32\\x4e\\x9d\\x01\\x1b\\xf5\\x23\\xe5\\xa7\\x0a\\xa8\\xe9\\x11\\x31\\xdb\\xcc\\x32\\x01\\xbb\\x46\\xe3\\xf5\\x02\\x2f\\x15\\x16\\xb9\\x4f\\x81\\x8d\\xb2\\x50\\x21\\x2c\\xd6\\x76\\x0b\\x96\\x71\\x03\\x95\\x87\\x7f\\xd0\\x1a\\x4e\\x91\\x04\\x23\\xe0\\x14\\xd1\\x02\\x52\\x0b\\x59\\x9a\\xa0\\x55\\x91\\x40\\x2b\\x29\\xfe\\x9d\\x3d\\x91\\x2c\\x15\\xa3\\x1e\\x28\\x94\\x9c\\x58\\x00\\x96\\xac\\xaa\\x3a\\x6c\\x46\\xe0\\xe8\\x59\\x53\\x87\\x72\\x4c\\xbf\\x69\\x8b\\xb5\\xd9\\xb3\\xa5\\x9d\\xbe\\xfe\\xe1\\x5b\\x57\\x6e\\xd9\\x32\\x64\\x71\\x80\\x16\\xe8\\x45\\x88\\xd9\\xe5\\x9b\\xd3\\x30\\x7e\\x54\\xfd\\xc4\\xe8\\xdc\\x33\\x33\\x47\\x5a\\xe6\\xff\\x5f\\xf3\\x9d\\xcf\\x9f\\x7d\\xf5\\xec\\x80\\xbe\\x99\\xe3\\x18\\xfb\\xe6\\xd8\\xd3\\x7b\\xf7\\xd2\\x8f\\xdc\\xba\\xe7\\xd6\\x3d\\x7b\\x6e\\x21\\xf5\\x84\\x34\\x9d\\x4f\\xbd\\x41\\xef\\x67\\xbf\\x50\\x6b\\x68\\xb5\\x1c\\x42\\x3c\\xf6\\x6e\\x05\\x8c\\x20\\x8d\\x83\\xe2\\x63\\x63\\x69\\x9e\\xb8\\x53\\x2f\\xc6\\xc3\\xe2\\xb8\\xba\\xb2\\x87\\x2a\\xf1\\xc2\\x09\\x7a\\x7f\\x53\\x53\\x13\\xea\\xdf\\xd4\\xc4\\xdc\\x1f\\xe3\\xe8\\x4b\\xc0\\x13\\x5d\\xc0\\x5f\\xbe\\x0b\\xf4\\xa3\\x9e\\xea\\x15\\x71\\x42\\x7c\\x8f\\xc3\\x7b\\x2d\\x85\\x58\\x92\\x03\\xd1\\x09\\x08\\x48\\xa2\\x39\\x0d\\xcf\\xe7\\x50\\x79\\xd2\\x95\\xaf\\x4d\\x2c\\x54\\xb4\\xd4\\x28\\x14\\x51\\x32\\x56\\x4c\\x4a\\x78\\xcf\\xfd\\x36\\x66\\xe5\\x4a\\xd4\\xfb\\x36\\xf9\\x1d\\xd4\\x0d\\xfc\\xf5\\x71\\x83\\xe5\\x1f\\x59\\x47\\x6c\\x31\\x5a\\x24\\xb7\\xcb\\x83\\x15\\x5f\\xfd\\x26\\xf0\\x75\\x87\\x00\\x3f\\x66\\x81\\x45\\xb1\\x9b\\x34\\x1a\\x6d\\x16\\xe5\\x4d\\x4f\\xa7\\xb4\\x4c\\x76\\x8e\\xdd\\xe4\\x32\\x41\\x24\\x71\\x9a\\xb0\\x9e\\x05\\xce\\x4c\\x8f\\x4a\\x8f\\x79\\x29\\x6d\\xdc\\xdb\\xad\\x55\\x72\\x8e\\x9d\\xaf\\xb2\\x90\\xa4\\xd0\\x1d\\xc0\\xc8\\x09\\x3b\\xed\\x8a\\x39\\x71\\x86\\xab\\xe2\\xcb\\xe2\\x94\\xbf\\xa4\\x0b\\xba\\x0c\\x19\\x32\\x6e\\x25\\xb3\\x98\\xa3\\xb3\\xa7\\x0d\\x1a\\x31\\xc9\\x46\\xf7\\xbe\\x6f\\xe1\\xb4\\xa6\\x2e\\x43\\x87\\x8c\\x05\\x48\\xff\\x3e\\xa7\\x61\\xe5\\x62\\xb9\\x1f\\xdd\\xb0\\x7f\\x62\\x68\\x48\\xef\\x7e\\x03\\x6f\\x5f\\xb3\\x4d\\x66\\xf1\\xb7\\xcb\\x97\\xc9\\xfd\\x88\\x1c\\xd5\\x02\\xbf\\x6d\\x03\\xb8\\x7d\\xe0\\xa3\\x8b\\x4e\\x49\\xb2\\x68\\x81\\x32\\x16\\xc6\\x1f\\x70\\xa6\\xa5\\x19\\x7b\\x99\\x08\\xcc\\x69\\x00\\xb3\\x0d\\x33\\x1e\\x31\\x86\\x82\\x9a\\x39\\xad\\x50\\x73\\xd8\\xb5\\x9d\\x9c\\x01\\xac\\x86\\xe3\\x13\\xb9\\xae\\x85\\x82\\x9d\\xd9\\x76\\x36\\x2f\\x3f\\xad\\xa8\\xee\\xba\\xd1\\xa3\\x67\\x34\\x63\\xc0\\x0b\\xe7\\x0d\\x6f\\x9e\\x8f\\xb6\\xbf\\xa9\\x5b\\xa2\\x9f\\x49\\x57\\xce\\x1d\\x9d\\x00\\xb9\\xae\\xd7\\x9a\\x6d\\xf0\\x26\\x1f\\xc8\\xfa\\xe3\\x00\\xa3\\x16\\xe2\\x35\\x88\\xb9\\x45\\x92\\x1b\\x75\\x38\\x05\\xdc\\x21\\x76\\x03\\x89\\x11\\xcb\\x00\\x2e\\x2b\\xf9\\x4c\\x5f\\x33\\xe6\\x16\\x83\\xaa\\x81\\xeb\\x60\\x8e\\x1f\\x97\\xdb\\x76\\x3f\\x8a\\x06\\x1c\\xb9\\x77\\xed\\xd8\\xd9\\x73\\x27\\x8e\\x9f\\x3e\\x7f\\x02\\x33\\x53\\x5e\\xf2\\xfc\\x2b\\x68\\xeb\\x0b\\x2f\\xe2\\x49\\xf6\\x3b\\xef\\xde\\x41\\x68\\xd4\\x15\\xde\\xbf\\x03\\xde\\xef\\xa4\\x7a\\x47\\x8c\\x1c\\xcf\\x5b\\x2d\\x94\\xc1\\x62\\x70\\xb9\\xcd\\x0e\\xa2\\x2d\\xad\\x56\\x33\\xe8\\x8f\\x36\\x8e\\xbb\\x96\\xa6\\x57\\x94\\x64\\x07\\x73\\xdb\\xf1\\xc2\\x2e\\xb1\\xa4\\x88\\xb1\\x8e\\x9e\\xbc\\xc9\\x71\\x93\\x7d\\xe7\\x82\\x7b\\xf6\\xed\\xdf\\xbd\\xf4\\x1e\\x53\\xb3\\xbe\\xe1\\xba\\xa7\\x99\\x39\\xf7\\x6f\\xda\\xaa\\x9b\\xbf\\xec\\xd5\\xb3\\xcf\\x9d\\x5f\\x3f\\x5f\\x33\\xe8\\x06\\xbc\\x8f\\x9b\\x99\\x49\\xe8\\x61\\xa0\\x0a\\x22\\xc6\\x0e\\xf5\\x22\\xa9\\xaf\\xff\\x1f\\x45\\x23\\x70\\x06\\x25\\x18\\xe5\\xb5\\x18\\x79\\x66\\x26\\xc6\\x15\\xe3\\x8c\\x71\\x25\\xb4\\x66\\x66\\xc2\\xb3\\x4b\\x22\\x66\\x9e\\x33\\x00\\xa5\\xe1\\xd9\\x94\\x81\\xa3\\x69\\xed\\xa9\\x0e\\x14\\x86\\xa7\\xa7\\x34\\x8a\\xc6\\x89\\x1c\\x56\\xbc\\x06\\x85\\xb6\\x6b\\x93\\x34\\x05\\x5a\\xde\\x9b\\xd4\\x6f\\x3f\\x11\\xdf\\x0b\\xdc\\x4e\\xbf\\x85\\x03\\x59\\x71\\xc3\\xd1\\x76\\x72\\xbe\\x0c\\xc0\\x6f\\x5a\\xe0\\x31\\xd5\\xf9\\x62\\xff\\x87\\xf3\\xa5\\xbe\\x3b\\x27\\x44\\xe4\\xa2\\x04\\x85\\x6d\\x3e\\xda\\x7e\\x6d\\xef\\xeb\\x91\\xee\\x2c\\xb3\\x92\\x41\\xcb\\x18\\x70\\xc1\\x32\\xe6\\x8e\\xda\\x7c\\xf3\\xda\\x11\\x63\\xe6\\x8c\\x8d\\x7b\\x5f\\x1b\\xf8\\xeb\\xe5\\x47\\x99\\xad\\x1b\\xed\\xb4\\x3b\\x33\\xdf\\x72\\x43\\xed\\xd9\\xf3\\xfb\\x6e\\xd9\\x75\\xef\\xae\\xd6\\xed\\x40\\x97\\x36\\xf4\\x31\\xe3\\xe2\\xb6\\x93\\x1d\\xa1\\x46\\xbd\\xc9\\xa4\\xe1\\x28\\xce\\x61\\x37\\xf1\\x02\\x4f\\x78\\x40\\xaf\\x15\\xce\\x10\\xcd\\x65\\xe9\\xc8\\x85\\x2f\\x86\\x3b\\xe6\\x08\\x00\\x54\\x38\\x71\\x9c\\xb1\\x0c\\x57\\x87\\xed\\xb8\\x8c\\x80\\xd8\\x42\\xc6\\xd5\\xad\\xd7\\x8e\\x91\\x63\\x32\\xeb\\x37\\x6d\\xca\\x28\\xf0\\x14\\xa1\\x1f\\xa4\\x23\\x28\\xd6\\x78\\xf8\\x70\\xa3\\xec\\xaf\\x2e\\xd4\\x12\\x39\\x85\\x73\\xd9\\x06\\xfa\\xd2\\x4e\\x75\\x8d\\x18\\x28\\xbb\\x11\\xa8\\x66\\xd7\\x3a\\x9c\\x1a\\x7b\\x3b\\x2a\\x3d\\x6e\\x94\\x24\\x55\\xbd\\x48\\xf0\\x62\\x43\\x22\\x27\\xd0\\xa1\\x63\\x31\\x9c\\xd8\\x2a\\x84\\xdd\\x53\\x67\\x08\\x07\\x98\\xca\\x52\\xa1\\xa7\\xb1\\x24\\xae\\x64\\x97\\xb0\\x74\\xfe\\xfc\\x11\\xcd\\xf3\\xd9\\x2f\\xe4\\xf4\\xf9\\x23\\x57\\x2e\\x46\\xcf\\xc4\\x0e\\xed\\x5f\\x37\\xa8\\xcf\\x9a\\x6d\\xe8\\x32\\xd1\\x71\\xdf\\xd0\\x4e\\xe6\\x53\\x76\\x3a\\xc0\\x10\\x8e\\x18\\x35\\x14\\x0b\\x31\\xa1\\x91\\x62\\x1d\\x4e\\x3b\\x18\\x9a\\xfe\\x4f\\x45\\x01\\x28\\x2d\\xbe\\x35\\x78\\xb2\\x43\\x95\\x42\\x6a\\xe5\\x47\\xbc\\x2c\\xa1\\xda\\x9e\\x28\\x46\\xf8\\x06\\x5d\\xc0\\xef\\x92\\xc7\\xd0\\x7d\\xf6\\xaf\\x1b\\xdc\\x1b\\xf4\\x93\\x8b\\xbe\\xbd\\x23\\x3c\\xaa\\x7e\\xfd\\x08\\xf4\\xeb\\x97\\x54\\x36\\x35\\x28\\x62\\xf5\\x79\\xed\\x14\\x95\\x8d\\xb5\\xac\\x36\\xdb\\xcb\\xe4\\xe4\\x66\\x6b\\xbc\\x98\\x0c\\x6c\\x86\\x3b\\x83\\x84\\xa5\\x76\\x8b\\xc9\\xfd\\x4c\\x82\\x12\\xe1\\x64\\x11\\x5b\\x8a\\x9a\\x52\\x33\\x35\\xa9\\x14\\x29\\x41\\x0a\\x49\\x12\\x94\\x49\\xe4\\x3b\\xe8\\xbd\\xaa\\x96\\x65\\x11\\x5d\\x30\\x79\\x00\\x56\\xb3\\x81\\x99\\xa3\\x6f\\x9c\\x4a\\xf4\\x2c\\xfb\\xa5\\x9c\\x8e\\xf5\\x2c\\xa1\\xd7\\xc4\\xd0\\xf0\\x9e\\xfd\\x06\\xf6\\x1e\\x82\\x89\\x86\\xbf\\x5e\\xbe\\x0c\\xe1\\x1d\\xe6\\xc8\\x0c\\xb6\\xe9\\x0c\\x9c\\x9f\\x16\\xac\\x9d\\x99\\xa1\\x11\\xc5\\x01\\xf0\\x1c\\xcd\\xe8\\xf4\\x1a\\x1a\\xdb\\x3c\\x4e\\xc9\\x97\\x87\\x6b\\x3b\\x5f\\x65\\xe2\\x34\\x07\\x04\\x52\\xd6\\x30\\xfd\\xe8\\xed\\xf2\\xbf\\xd7\\xed\\x2b\\x35\\xd9\\x4e\\xae\\x43\\x5f\\xd1\\x97\\x64\\xf3\\xc1\\x8a\\xde\\x74\\x10\\x68\\xf3\\x21\\xfa\\x88\\xf9\\x11\\xf4\\x41\\x0e\\xf0\\xa6\\x64\\x71\\x68\\x0d\\x2c\\xe3\\x65\\x72\\xf3\\xbc\\x5a\\x47\\xa6\\x83\\x02\\xdd\\x54\\x76\\xdc\\xcd\\xe3\\xf9\\x77\\x20\\x47\\x01\\xd5\\xd5\\x49\\xb9\\xb7\\x47\\x25\\xea\\x7d\\x63\\xd2\\xb7\\xa9\\x45\\x39\\xd9\\xa9\\xb7\\xf6\\x49\\xaf\\xba\\x18\\xe5\\x98\\x68\\xd4\\x1a\\x1e\\x5e\\xd0\\xbd\\xa2\\x67\\x75\\xa0\\xef\\xcc\\xe8\\xda\\x75\\x2d\\x6b\\xb3\\x2a\\x26\\x47\\x32\\x2a\\xfc\\x3d\\x9c\\xdd\\x0a\\xea\\xc3\\x39\\xdd\\x2a\\xfa\\xdc\\x50\\x5e\\x8d\\x3e\\x0a\\x95\\xd7\\xf7\\xca\\x1b\\xbd\\x76\\xfe\\xd4\\x19\\xcb\\x97\\x4f\\x2f\\x9a\\xd4\\xb7\\x79\\x74\\x71\\xa6\\xb7\\xbe\\x3c\\x64\\x2f\\x6c\\x9c\\x58\\x60\\x05\\x19\\x09\\x82\\x2e\\x78\\x14\\xec\\xb5\\x0d\\x22\\xdb\\x89\\x11\\x3b\\xb8\\x39\\xda\\x0c\\x31\\x8d\\xa2\\x44\\x8b\\x4f\\xcb\\xe5\\xe5\\x5b\\x70\\xd5\\x0e\\xc9\\x60\\xfa\\xfd\\x8c\\xd1\\x98\\xd5\\x4b\\x4b\\x58\\xdc\\x08\\xd6\\x1b\\x6b\\x06\\x86\\x72\\x91\\xb0\\x2c\\x25\\xba\\xa9\\xfd\\x1f\\xc3\\x2f\\x11\\x19\\xb0\\x85\\x07\\x27\\x48\\x2a\\x66\\x82\\x0f\\xa9\\xbb\\xd8\\xf0\\xec\\x37\\x35\\x1c\\xe5\\xed\\xcc\\xa3\\x0f\\xdd\\xd1\\xdc\\xc8\\xb2\\xcd\\xf7\\xee\\xde\\x74\\xeb\\xae\\x69\\x8b\\x63\\x3f\\x66\\xdf\\xd8\\x7d\\xca\\xd4\\x65\\x0b\\x46\\x0f\\xae\\x1f\\x38\\x79\\x0c\\xa3\\xd9\\xf6\\xc0\\x75\\xdb\\xfe\\xca\\x52\\x87\\x76\\xb7\\x2c\\x7d\\xb2\\xd6\\xbe\\xed\\x72\\x5a\\xf6\\xfc\\xc6\\xe9\\x0b\\xa6\\x5a\\x27\\x8f\\xea\\x53\\x37\\x67\\x05\\x9c\\xa3\\x07\\xf0\\x3a\\x0e\\x67\\xad\\xa1\\xba\\x44\\xec\\x60\\x2f\\x58\\x8d\\x86\\x02\\x8d\\x43\\x51\\x5a\\x1d\\xce\\xe2\\x91\\xfb\\x11\\x3c\\xa0\\xb0\\x02\\x33\\x67\\xfc\\x76\\x21\\xc1\\x96\\xc4\\xfd\\xc8\\x02\\xc7\\x23\\x0d\\x85\\x91\\x44\\x67\\xcb\\xbf\\xac\\x3b\\x77\\x7e\\x9d\\xfc\\xed\\x19\\x54\\x44\\xff\\x1e\\xdb\\x42\\x2f\\x8b\\x71\\xf2\\xdb\\x24\\xae\\x22\\xba\\x1a\\xe8\\x07\\x7e\\x3a\\xc4\\x83\\x0e\\xde\\x05\\xf1\\x14\\x95\\x4e\\x59\\x2c\\xbe\\x74\\x17\\x1b\\x08\\x32\\x69\\x76\\xaf\\xd7\\xaf\\xda\\x48\\x2f\\x50\\xcd\\x4e\\x29\\x14\\xb4\\xa7\\xd8\\xc8\\x94\\x04\\x30\\x70\\x43\\xdc\\x50\\xe4\\x98\\x94\\x88\\x9d\\xc9\\xc8\\x71\\x82\\x32\\x4d\\x24\\x82\\x73\\x2a\\x83\\x60\\x3a\\xae\\x1f\\xba\\x64\\xe3\\xdc\\xf1\\x2f\\x3d\\x1e\\xae\\x7a\\x6f\\x5c\\xaf\\xcc\\x27\\x77\\xde\\xfb\\xf8\\x7d\\x7b\\xde\\x47\\x3f\\x31\\x55\\x43\\xf6\\x0d\\xcf\\x3f\\x74\\xe3\\x8a\\x0d\\xcc\\x2c\\xfe\\x8b\\xa9\\xb3\\x57\\xf4\\xdd\\x77\\xaa\\x7d\\xff\\xc6\\x17\\x6b\\xbe\\x1f\\xd1\\x48\\xf2\\x4d\\x1f\\x01\\x5d\\x7e\\x60\\xff\\x03\\x76\\x34\\x40\\x0d\\x8b\\x48\\x66\\x1f\\xcb\\x5a\\x38\\xce\\x65\\xd4\\x82\\x54\\x04\\x33\\xec\\x69\\xa7\\x55\\xe8\\xb0\\xf6\\x2f\\x3b\\xee\\xb3\\xf0\\x16\\xc2\\xb3\\x0c\\x8f\\x65\\x99\\x53\\xc8\\xa5\\xae\\x7e\\x4e\\xdc\\x2f\\x86\\x15\\xbd\\x5a\\xae\\x94\\x6a\\x82\\xfe\\x27\\xe1\\x46\\xb5\\x93\\x07\\xd1\\x75\\x4a\\x62\\xdc\\x06\\xd8\\xa5\\x9e\\x88\\xf9\\xe1\\xb1\\x83\\x4b\\xf6\\x1e\\xde\\xb5\\xd1\\x74\\x64\\xda\\xf4\\xb7\\x17\\x6e\\x68\\xe9\\x56\\x35\\x79\\xfe\\x34\\x66\\xc5\\x73\\x6f\\x6a\\xf1\\x1e\\x71\\xfe\\x95\\x33\\x0f\\xbe\\xeb\\x98\\x98\\x2b\\xff\\xb6\\xb3\\x95\\x47\\xf7\\x20\\xef\\xf9\\xc7\\x37\\xdf\\x79\\x46\\x9e\\xc6\\xdd\\x83\\xe5\\x57\\x43\\x9d\\x65\\x5e\\x60\\x7f\\x01\\x1a\\x0e\\x88\\xb8\\x74\\x88\\x96\\x2c\\x78\\x3f\\xb3\\x55\\x84\\x83\\xe5\\x1d\\x4e\\x91\\xb1\\x52\\x2c\\x2d\\x01\\xad\\x4b\\xc1\\x72\\x0a\\x04\\x0f\\xc0\\x01\\xfe\\x6b\\x1a\\x55\\xaa\\x1b\\xa3\\x6b\\x3b\\x94\\x0a\\x2b\\x49\\x03\\x26\\x84\\x48\\x7c\\xaa\\x04\\x10\\x7e\\x90\\x72\\x06\\x85\\xe8\\x39\\x9f\\xaf\\x45\\x85\\x4b\\x4a\\x8a\\xd3\\x2d\\x92\\x33\\xa3\\xa4\\xa6\\x7f\\xcd\\xc4\\xb6\\x35\\xbf\\x23\\x5b\\x0b\\x7d\\x87\\x5c\\x44\\xf7\\xfb\\x69\\x6a\\x95\\x30\\xce\\x74\\x5d\\xd3\\x05\\xb4\\x4a\\xb6\\xc5\\x5e\\xbc\\x72\\x85\\xce\\xbf\\xb2\\x82\\xde\\xcf\\x6c\\x13\\x05\\x26\\x9b\\x9e\\x1e\\xdb\\x46\\xfa\\xde\\x5e\\xbd\\xb2\\x82\\xc9\\xa5\\x5b\\x44\\x81\\x5e\\x42\\x51\\xea\\x77\\x7d\\xae\\xcc\\x66\\x76\\xd0\\x8b\\x45\\x81\\x5b\\x4e\\x71\\xea\\x77\\x66\\xf8\\xef\\xce\\x90\\xef\\x56\\x2a\\xff\\x1d\\x40\\x9c\\x21\\x4f\\x62\\x1e\\x65\\xb6\\x11\\xb9\\xec\\x13\\x71\\x5d\\x25\\x97\\x3e\\x1f\\x08\\x64\\x96\\xf1\\x19\\xd4\\x07\\x18\\x2a\\x72\\xcc\\x85\\x45\\xb0\\x56\\x71\\x65\\x49\\x41\\x86\\xa5\\xb3\\xec\\x65\\xfd\\x3f\\x95\\xbd\\x95\\xbb\\xef\\xdd\\xd8\\x7a\\xf7\\xf4\\x45\\xb1\\x1f\\x33\\x97\\xd5\\x4c\\x9e\\xb6\\x74\\xc1\\xe8\\x41\\x23\\x6e\\x98\\x3c\\x66\\x27\\x16\\xbd\\xd3\\xcc\\xd7\\x58\\xf4\\x1e\\x8f\\xd8\\x6f\\xbb\\xe4\\xc9\\x59\\xd0\\x38\\x8d\\x88\\xde\\xf5\\x83\\x41\\xf4\\xb0\\x9e\\x95\\x27\\x32\\xa7\\xe9\\x45\\xca\\x1c\\x09\\x44\\x99\\xb4\\x78\\xc3\\x3a\\x6b\\xa0\\x58\\xb3\\xa8\\x35\\x99\\x58\\x16\\xe2\\xa4\\x5e\\x10\\x72\\x50\\xe8\\x3a\\x3c\\xf1\\xa4\\xe3\\xd5\\x9e\\xc2\\xfd\\x38\\xa1\\x8c\\xf5\\x2d\\xe2\\x85\\x50\\x55\\x35\\x32\\xaf\\x3b\\x98\\x61\\x64\\x8a\\x0f\\xb4\\xc8\\xbf\\x96\\x39\\xd6\\x19\\x4b\\xe8\\x45\\x72\\xe6\\xf4\\x5e\\xe6\\x7b\\xd0\\xc5\\x58\\xfe\\xd6\\x27\\xa7\\x9e\\xc2\\x39\\x64\\x78\\x67\\x3b\\xdd\\x42\\xa6\\x14\\xf5\\x8f\\x58\\x74\\x3e\\x1f\\x25\\x89\\xa2\\x0b\\x3c\\x84\\xcc\\x2c\\xa3\\xcd\\x26\\x48\\xed\\xa8\\x57\\x44\\x17\\xd4\\x99\\x05\\xbf\\x50\\x22\\x30\\x10\\xe3\\xd4\\x52\\x69\\xf0\\x7b\\xbd\\x31\\x67\\x34\\x86\\xc9\\x52\\xe8\\x4e\\xf7\\x08\\x40\\x33\\xe2\\xa7\\x91\\xac\\x92\\x8f\\x78\\xfe\\xa1\\x62\\xa2\\x7f\\x51\\x8a\\x4b\\x83\\x6c\\xd8\\x81\\x93\\xdb\\xea\\x66\\x66\\x59\\x36\\x3e\\x74\\xe7\\x64\\xcd\\x02\\xae\\x7a\\xcd\\xee\\x07\\xae\\xa3\\x25\\xec\\xdd\\x4d\\x98\\x36\\x7f\\xc2\\x7f\\xd0\\xd6\\x17\\x5f\\x90\\x17\\x57\\x96\\x6d\\x18\\xdf\\x65\\xa4\\xdd\\x3c\\xed\\x3b\\xe4\\xc7\\xde\\xde\\x2e\\xf0\\x6c\\x41\\x1e\\xe1\\x9c\\x7f\\xa0\\xd7\\x52\\x6e\\x2a\\x03\\x22\\x26\\x51\\x0c\\xb0\\xac\\x15\\xbc\\x58\\x0f\\x88\\x63\\x28\\xd3\\xeb\\x7c\\x06\\x00\\x34\\xa0\\xde\\x6d\\x01\\xab\\x15\\x8b\\x60\\x2d\\x88\\x60\\x84\\x52\\x76\\xeb\\xd5\\x26\\x1c\\x0b\\xcb\\x1f\\xc8\\x1f\\x51\\x20\\x4e\\x29\\x39\\xfd\\x2e\\x21\\x81\\x0f\\x3e\\x7a\\xf7\\x2d\\xa6\\xe1\\x0d\\x53\\xa7\\xcf\\x9a\\x03\\x32\\xd8\\xb5\\x1a\\x64\\x10\\x31\\x58\\x06\\x7f\\x43\\x02\\xff\\xd2\\xb3\\x7b\\xdf\\x76\\x4c\\xb4\\xec\\xbc\\x65\\xe7\\x36\\x90\\xc1\\xcd\\x77\\x9d\\x7f\\x42\\x91\\xc1\\xdd\\x98\\x57\\x35\\xf2\\x60\\xe6\\x05\\x7a\\x1d\\xf0\\xea\\xda\\x38\\xaf\\x92\\x3e\\x7c\\xdc\\xf7\\x87\\x2b\\xe0\\x67\\x45\\xba\\xea\\x04\\x4a\\xcc\\xf3\\x78\\xac\\x62\\x20\\x98\\xef\\x76\\x07\\x45\\x81\\x2d\\x2a\\xb6\\x67\\xd7\\x45\\xad\\x76\\xf8\\xba\\x2e\\x9a\\x97\\xc7\\x48\\x1a\\xb3\\xd7\\xc8\\x18\\xeb\\xa2\\x21\\xe6\\xe3\\xc0\\xf7\\x01\\x7a\\x6d\\x00\\x05\\x02\\x14\\x43\\xf6\\x1d\\x94\\xe0\\xee\\xbd\\x44\\xaf\\x73\\x89\\x12\\x31\\x77\\x6e\\xdf\\x23\\x87\\xa3\\xd8\\xc2\\xd4\\x1b\\x11\\x81\\xd4\\xbc\\xdb\\x83\\x76\\x8b\\xb2\\x48\\x1a\\x34\\xa6\\xba\\x7a\\x8a\\xee\\x1f\\x58\\xb6\\x70\\xf1\\x9a\\xea\\x47\\xba\\xf6\\xab\\xaf\\xdd\\x8b\\x70\\x6f\\x5e\\xec\\xfb\\x78\\xff\\xde\\xe2\\x2d\\xbf\\xd4\\x37\\x32\\x68\\x96\\x36\\xfa\\xc8\\xbc\\xba\\xbe\\xbb\\xf6\\xd2\\x6f\\xc6\\xea\\xef\\x5f\\xb1\\x68\\x3f\\x7d\\x74\\xf9\\x56\\xf9\\x0b\\xf9\\x43\\x97\\x24\\xb7\\x8e\\xef\\x5f\\x74\\x85\\x1a\\xc7\\xb4\\x28\\xdd\\x78\\xf4\\x95\\x3f\\x03\\xce\\x83\\xb9\\x57\\xa9\\x22\\xaa\\x06\\xef\\x55\\xf6\\x07\\x02\\x15\\x99\\x9c\\xdb\\xed\\xb2\\x58\\xad\\x46\\x57\\x31\\xb8\\xd6\\x5d\\xbb\\x59\\x43\\x78\\x8d\\xb2\\xdf\\xe1\\x30\\xd7\\x45\\x1d\\xe9\\xe9\\x8e\\x02\\x57\\x41\\x59\\x5d\\x34\\xa7\\x40\\x74\\x21\\x9d\\x9d\\xae\\xae\\x8b\\x72\\x64\\xc3\\x43\\xd2\\x9d\\x26\\x45\\xb0\\xab\\x88\\xdb\\x76\\x55\\x03\\x19\\x71\\xb2\\x93\\x3e\\x7e\\x4e\\xc8\\x86\\x45\\xa3\\x52\\x52\\xe2\\x09\\x70\\xb4\\x9d\\x95\\xca\\xd4\\xca\\xea\\x30\\x08\\x7a\\x0e\\x2e\\x91\\xc1\\xde\\xb7\\x85\\x49\\xbd\\xde\\x1c\\x2c\\x2f\\x6a\\xde\\x1f\\xa6\\x35\\xf4\\x51\\xde\\xe3\\xc9\\x49\\x5b\\x47\\xcf\\x19\\x51\\xdd\\x96\\x6e\\xf3\\x7b\\xf8\\x75\\x63\\x26\\x56\\xb3\\x6c\\xf9\\x43\\x2b\\x5f\\x7b\\xee\\xf4\\x8a\\x8d\\x77\\x6f\\xdd\\x74\\xcf\\xa6\\x26\\x3a\\x23\\x76\\x2e\\x3a\\xc5\\xbf\\x46\\x57\\xf5\\x08\\x73\\x59\\x53\\x5a\\x32\\x73\\x15\\x37\\xeb\\x31\\xa1\\xa4\\x74\\xd1\\x22\\x7e\\x49\\xaf\\x86\\x99\\x63\\xe4\\x6f\\xe4\\xcf\\x3e\\xff\\xcb\\x85\\xcf\\xde\\x39\\xff\\x8a\\x72\\x97\\x81\\xe7\\x9f\\x7f\\x00\\x34\\x29\\xa4\\xba\\x50\\x8d\\x91\\xd2\\x22\\x3e\\x5c\\x68\\x72\\xbb\\xb3\\x3c\\xbc\\xa7\\xa6\\x6b\\x9e\\xdd\\x96\\xe9\\xcd\\xac\\x8b\\x06\\xc8\\xc4\\x7e\\xaf\\xd3\\xeb\\xd4\\xb8\\x91\\xa6\\x8a\\x2c\\xbc\\x60\\x4a\\xeb\\xa2\\xca\\xe9\\x27\\xf2\\x23\\xa4\\x01\\x29\\x4e\\x88\\xe4\\x90\\x1d\\x49\\xa5\\x81\\xb2\\x02\\x5d\\x52\\xd2\\xa5\\x39\\x95\\x7f\\x40\\x04\\x9c\\x43\\x05\\x06\\xe9\\x90\\x44\\xad\\x24\\x38\\xa2\\x6d\\xcd\\x07\\xca\\x69\\xfa\\x1a\\x44\\xe0\\x8f\\x30\\x42\\xec\\x83\\x15\\x1b\\xef\\xd9\\xb2\\x65\\xd7\\xa6\\xa6\\xa3\\x33\\xc7\\x80\\x7c\\xbb\\xe8\\xaa\\x31\\x93\\x9b\\x2e\\x74\\x24\\xc1\\xe5\\x7e\\x8f\\x54\\x89\\x4b\\xf2\\xd1\\xc2\\xcf\\xff\\xf2\\xf6\\xc7\\xef\\xbd\\xfc\\x0a\\xf8\\x80\\x5b\\x20\\x6c\\x1f\\x08\\xf8\\x97\\x52\\x0d\\x11\\x63\\x31\\x32\\x99\\x7c\\x1e\\xb3\\x39\\xab\\xac\\x3c\\x23\\x0f\\x6f\\x6f\\xf1\\x47\\x33\\x10\\x95\\xee\\x4d\\x07\\x66\\xd0\\xe3\\x2d\\xca\\x6e\\x4b\\x5d\\x54\\xe3\\x66\\xe1\\x1f\\x73\\xb1\\xd7\\x6c\\x4e\\x8e\\x82\\x07\\xf6\\x4f\\x62\\x9e\\xd8\\x13\\x1b\\x2f\\x16\\x08\\x27\\xf1\\xc3\\x2b\\xa2\\x92\\xa8\\xe3\\xeb\\x46\\x35\\x6f\\x64\\xc7\\x6a\\x0a\\x5f\\xe2\\x04\\xed\\x74\\x1f\\x94\\xc0\\x0d\\xb5\\x79\\xdc\\x0a\\xc2\\x55\\xf2\\xef\\x88\\x7f\\xee\\xd3\\xfe\\x07\\xf3\\x7d\\x27\\x4b\\x66\\xce\\x2e\\x43\\x5f\\x33\\x47\\xe4\\x15\\x0a\\x62\\xf2\\x64\\xf4\\x89\\x82\\x2a\\xea\\xb3\\xcd\\xfd\\xda\\x11\\xa3\\xe6\\x76\\xce\\x50\\x3c\\xb3\\x51\\x07\\xc2\\xce\\x5c\\x81\\x00\\x95\\xfd\\x0d\\x64\\xbd\\x18\\xf8\\xbe\\x37\\xb5\\x21\\xd2\\xb7\\x07\\xa8\\x2b\\x23\\xef\\xa1\\x4a\\x8a\\x8b\\x23\\x54\\x79\\x5e\\x5e\\x06\\xc5\\xe7\\xf2\\xb9\\x7d\\xfa\\x56\\x75\\x75\\x76\\xad\\x8b\\x0a\\x4c\\x4f\\x66\\x58\\x34\\xcb\\xd8\\x33\\xa3\\xac\\xa0\\x6c\\x58\\x34\\x47\\x57\\x84\\x4a\\x22\\x6c\\x41\\x4f\\xf8\\x87\\xf7\\x79\\xac\\x4e\\x51\\x34\\xe7\\xa9\\x5d\\x60\\x24\\x48\\x88\\x37\\x9e\\x29\\xf7\\x77\\xea\\xd5\\x47\\x52\\x18\\xe2\\xe9\\xa1\\x70\\x42\\xe9\\x91\\xd2\\xc7\\xec\\x10\\xd6\\x7a\\x20\\x10\\x3d\\x51\\x75\\x65\\x45\\x6a\\xa6\\x86\\xfc\\xe1\\x45\\x40\\x30\\xa2\\x18\\x85\\x8c\\x1c\\x37\\x72\\x84\\xab\\x55\\x53\\x87\\x77\\xae\\x57\\x97\\x3b\\xf1\\x3d\\x97\\x75\\xf3\\xe0\\x82\\x47\\x3c\\xc2\\x3a\\x71\\x68\\x1f\\xfe\\x2e\\x9e\\xce\\x98\\x35\\xb8\\x61\\xb4\\x95\\xce\\x5d\\x30\\x72\\xd9\\x74\\x23\\xbb\\xc1\\xbf\\xec\\x50\\xef\\xba\\xf9\\xab\\xfa\\xf7\\x28\\xeb\\x75\\xdd\\x60\\xf9\\xcb\\x1e\\x43\\xd8\\xaa\\x71\\x0b\\xca\\xd0\\x5b\\x79\\xb4\\xcc\\xa3\\x76\\x57\\xda\\x90\\xa9\\xfe\\xd8\\xe9\\xfc\\x35\\xa5\\xd3\\x1b\\x27\\x4e\\x9d\\x3d\\xe6\\xc8\\x9b\\xcb\\x2d\\xd2\\x8e\\x1a\\x79\\x28\\xda\\x48\\xa7\\xcb\\x13\\xe8\\xc2\\x6c\\xf6\\xc0\\xee\\xe6\\x43\\x87\\x50\\xdd\\xe3\\xf7\\xd0\\xfe\\xba\\xdd\\xcd\\xa0\\x3f\\x3e\\x05\\x3a\\x7e\\x03\\x74\\xcc\\xa1\\xc2\\xd4\\xd4\\x48\\x38\\xd7\\x25\\x08\\xa2\\xa6\\x90\\xa2\\x02\\x39\\x9a\\x9c\\x8a\\x4a\\x2d\\xd0\\x10\\xb4\\xa3\\x98\\x1b\\x28\\x44\\x85\\x75\\xd1\\x6c\\x23\\xca\\x85\\x7f\\xd2\\x35\\xe9\\xa0\\x40\\x5c\\xe9\\xa2\\xd5\\x4c\\x69\\x48\\xdd\\x6b\\x52\\x6d\\x94\\xa8\\xb4\\x8a\\xff\\xd1\\xb1\\xeb\\x9d\\x50\\xa9\\x98\\xc9\\x01\\x12\\x80\\x51\\x08\\xe1\\x94\\x30\\x90\\xc9\\x47\\x27\\x09\\x44\\xea\\x0d\\x24\\xe4\\x70\\x3a\\x9c\\x95\\xca\\x00\\x19\\x66\\x46\\xaf\\x75\\x6b\\x9a\\xbb\\xb6\\x15\\x16\\xad\\x5b\\x39\\x29\\xb5\\x7c\\x7e\\xc8\\xba\\x05\\x93\\x62\\x23\\x26\\x1c\\x7e\\xbc\\x96\\x94\\xd6\\xa3\\xc1\\xba\\xdc\\xe2\\x22\\x93\\xec\\x42\\x3f\\xe9\\xbb\\x65\\x37\\x6e\\x14\\xff\\x96\\xac\\xc2\\xff\\x35\\x73\\xf5\\xf2\\xfb\\x5d\\xf2\\x93\\xf4\\x42\\x5b\\x8f\\x5a\\xe3\\xc5\\x39\\xcb\\x2a\\x8e\\x03\\xee\\x7f\\x91\\x47\\xb3\\x03\\xd9\\xc1\\xc0\\x43\\xdd\\x70\\x17\\x73\\x55\\xae\\xc6\\x66\\x0b\\xd8\\x4b\\xf0\\xdc\\xff\\x1e\\x85\\xe5\\x75\\xd1\\xdc\\x42\\x31\\x64\\xf6\\xbb\\xea\\xa2\\x26\\x7f\\xba\\x24\\xe9\\xc0\\x72\\x38\\x34\\x01\\x56\\x02\\x83\\x2e\\xd1\\x66\\xc6\\x2f\\xf9\\x25\\xda\\x9e\\x4e\\xd7\\xd4\\x45\\xd9\\x84\\x02\\x25\\x7c\\x33\\x61\\x7c\\x23\\xb0\\x8e\\x42\\x05\\x65\\xf5\\x54\\x87\\xb4\\x4f\\x4a\\x92\\xc2\\x8b\\x12\\x52\\x84\\x07\\xfe\\xa6\\x28\\x10\\x89\\xd0\\xc5\\x9e\\xa2\\x3c\\x55\\x37\\xbc\\x8a\\x1d\\x28\\x2f\\xfa\\x7d\\x14\\xc7\\x06\\x54\\x71\\x72\\x85\\xda\\x9c\\xaa\\x38\\x85\\xf9\\xa3\\x88\\xe5\\xd8\\xd2\\x07\\x5a\\x5e\\x7e\\xf1\\xf4\\xca\\x9b\\xe7\\x34\\xd5\\x6e\\xba\\xe7\\x96\\x66\\xac\\x3f\\xff\\xa4\\xd9\\x77\\x44\\x83\\xc5\\x4a\\xb3\\xec\\xa4\\x80\\x85\\x8a\\x65\\x5e\\x3a\\x58\\xc5\\x96\\x4d\\xb7\\x4e\\x6d\\x94\\x7f\\x91\\x3f\\xfa\\xec\\xcf\\x63\\xce\\xde\\xf3\\xce\\xb9\\x17\\x48\\x7c\\x5d\\x85\\xf7\\x5a\\x02\\x4f\\x14\\x52\\xe3\\x23\\x15\\x59\\x3c\\xc4\\x10\\x56\\x2b\\x55\\x54\\xec\\x75\\xd4\\x45\\x0d\\x5e\\x50\\x25\\x9a\\xba\\xa8\\x64\\xe3\\x7d\\xac\\xd9\\xec\\xf5\\x7b\\x69\\x91\\xf1\\x9a\\xbd\\x66\\x6b\\x56\\x7e\\x3e\\x5d\\x1f\\xcd\\x17\\x33\\xcc\\x56\\xac\\x42\\x48\\xce\\x21\\x51\\xcd\\x9a\\x24\\x47\\x8a\\x06\\x05\\x2a\\x28\\xd3\\xe5\\x53\\x68\\xd0\\x41\\x93\\xe0\\xfd\\x61\\x61\\x2c\\x3c\\x74\\xb8\\xdc\\xc9\\xda\\x17\\x4e\\xdd\\xfb\\xa2\\xdb\\xaf\\x20\\x9d\\x1e\\x6a\\x73\\xd9\\x14\\xa4\\x4b\\xd2\\xdc\\x8f\\xe6\\x6a\\xb8\\xf2\\x89\\x1b\\x26\\xcc\\x9c\\xce\\xec\\xb4\\xfe\\x74\\xaa\\x52\\x4b\\x30\\x95\\xcf\\xa2\\xf5\\x3c\\xc1\\xf5\\xf8\\xa0\\xd7\\xa7\\x6c\\x59\\xb8\\x70\\x56\\xa5\\xa4\\xd4\\xf2\\x93\\xd9\\x1e\\xd8\\x4f\\x18\\x19\\x29\\x31\\x62\\xcb\\xe0\\xe1\\xb3\\x73\\x32\\xbd\\x70\\xc0\\x99\\x41\\x62\\x26\\x5d\\x69\\xc6\\x2c\\xd6\\x61\\xce\\xf4\\x67\\x02\\x7a\\x99\\x10\\x3a\\xb3\\x1e\\x3b\\xab\\xad\\x8f\\xb2\\x62\\x4a\\x5f\\xea\\x1f\\xe0\\xa5\\x0c\\xf4\\x03\\x88\\xed\\xff\\x1b\\x3b\\xf4\\xe9\\xb8\\x33\\x6b\\xbb\\x65\\x65\\x76\\x5f\\x35\\x3f\\x89\\xd5\\x13\\x09\\xac\\xe8\\xa3\\x6b\\x9f\\x99\\xae\\x7b\\x48\\xb7\\xf5\\xd0\\xe3\\x9d\\xd1\\xc1\\x38\\xe0\\xbd\\xb7\\xd3\\xd8\\x81\\x54\\x35\\x35\\x29\\x52\\x5e\\x5a\\x95\\x4b\\xe5\\x0a\\x3c\\x9f\\x11\\x74\\xdb\\xd2\\x8c\\x46\\x8a\\x0a\\xa6\\x31\\x5d\\x6a\\xaa\\xdc\\xce\\x0a\\xa3\\x54\\x94\\xcb\\x32\\x15\\xce\\x0a\\xa7\\x8f\\xf1\\x65\\xd5\\x45\\x7d\\x22\\xa3\\xeb\\xb4\\x3c\\x93\\x08\\xad\\x93\\xd4\\x67\\xa6\\x44\\x7f\\x24\\xf5\\xad\\xee\\x47\\x43\\x29\\x99\\x49\\x6c\\xbf\\x4a\\x10\\x16\\x4c\\x3b\\x78\\xc4\\xf1\\x0b\\x82\\x78\\xed\\xa2\\x8f\\xf6\\xc7\\xf1\\x15\\x1c\\x6c\\xd6\\x3f\\x2e\\x9c\\xbb\\x18\\xdc\\xe3\\xbc\\x6d\\xed\\xe6\\x35\\x23\\x66\\xac\\x1d\\x79\\x4b\\xc1\\xc0\\x75\\xec\\x2d\\xfe\\xb7\\xce\\x1d\\x7f\\x2b\\x7d\\x9f\\x79\\xfd\\xfc\\x95\\x4b\\x0a\\x06\\xcf\\xed\\x35\\x70\\x4b\\x49\\x9a\\x93\\x5f\\x37\\x29\\x88\\x0a\\xee\\x79\\xf8\\xe6\\x56\\xff\\xe8\\x61\\x23\\x46\\xf4\\x1c\\xe4\\xcd\\xf2\\xe4\\xce\\x3a\\x96\\x57\\x39\\xe0\\xce\\x7b\\x6f\\xda\\x6a\\xeb\\x3f\\x78\\xc0\\xc0\\xbc\\xea\\x5c\\xbf\\xc5\\x9e\\xeb\\x0b\\x1f\\x2c\\xec\\xae\\xe4\\xd9\\x57\\x5d\\xf9\\x81\\xf9\\x8d\\x1b\\x01\\xbe\\xcf\\xdc\\x48\\x81\\x96\\x73\\x3a\\x0b\\xe9\\x8c\\x0c\\x6f\\x71\\x49\\xae\\xd5\\x6a\\xa8\\x8b\\x16\\x80\\x95\\x17\\x0b\\xb5\\x21\\x07\\x5b\\x60\\x2e\\xf0\\x17\\xc0\\x41\\x5a\\x0b\\xac\\x05\\x7e\\xe4\\xf7\\x60\\x2b\\x68\\x04\\x87\\x48\\x43\\x96\\x29\\x71\\x0c\\x32\\xc7\\x37\\xf1\\xa7\\x90\\x44\\x39\\xdd\\xf2\\x82\\x54\\x2d\\xa6\\x96\\x89\\x55\\x86\\xad\\x64\\x31\\xa0\\xa4\\x5c\\xc4\\x85\\x15\\xf2\\xd8\\x93\\xf5\\x1a\\x3d\\x50\\x4e\\x42\\x8e\\xcf\\x1c\\xee\\xba\\x02\\x3d\\x21\\xd7\\x71\\x61\\x5a\\x39\\x64\\xae\\x2b\\x3d\\x72\\xd2\\x2d\\xfb\\x1f\\x79\\x78\\xdf\\xbe\\x6c\\xe5\\xac\\xf3\\x98\\x23\\xdb\\x90\\x47\\xfe\\x72\\x9b\\xbc\\x83\\x26\\x42\\x2a\\xd0\\xf7\\x0c\\x1d\\x94\\xb1\\xb9\\x78\\xf3\\x9d\\xdf\\x71\\xf8\\xc4\\x19\\x94\\x8f\\xf1\\x3d\\xa0\\xf6\\xd9\\x05\\xa9\\x29\\x91\\x6a\\x3b\\x23\\xd8\\x58\\x97\\xe0\\xca\\x08\\xb9\\xec\\x0e\\x3b\\xf8\\x77\\x44\\x43\\x51\\x69\\xa0\\xad\\x68\\x8d\\xdb\\xca\\x52\\x66\\xac\\x9f\\x44\\x06\\xd4\\x15\\xc5\\x3b\\xcc\\x02\\xc3\\x33\\x75\\x51\\x6c\\xe1\\x12\\xe9\\x9e\\x8e\\x38\\x76\\xd4\\xd6\\xe4\\x72\\x2b\\x07\\xd7\\x99\\x57\\xa2\\x04\\xcb\\x96\\x3b\\x95\\x1e\\x9a\\x38\\x47\\x33\\x23\\xc3\\x07\\xe4\\x1f\\xe8\\x53\\x97\\x9b\\x51\\xb8\\x4b\\x7a\\x8e\\x6f\\x1d\\xbd\\x60\\x64\\xe5\\x4d\\x88\\x8d\\xed\\x60\\xba\\xc8\\xef\\x0e\\xc8\\x27\\xf8\\xa2\\xc7\\x73\\xe4\\xa7\\xb6\\x6e\\x46\\xcb\\x8d\\x18\\x93\\x00\\xea\\xb1\\x75\\xb3\\x7c\\x97\\xb5\\x14\\xb0\\x24\\xbe\\xda\\x01\\xd0\\xc1\\x3d\\x80\\x8f\\xfd\\x70\\x8a\\x75\\x91\\xbc\\x80\\x43\\xab\\xf5\\xb1\\x4c\\x8e\\x28\\x32\\x3e\\xa6\\xb8\\x24\\x2d\\xdd\\x98\\x8f\\xa7\\x8c\\x18\\xad\\x94\\x15\\x8e\\xd3\\x61\\x4d\\xc7\\xed\\x26\\x2c\\x4b\\x89\\xf1\\x2a\\xd0\\x70\\x62\\x4d\\x62\\xea\\x6d\\x56\\xb2\\xca\\x84\\xb0\\x66\\x40\\xb2\\x87\\x13\\x6d\\xa8\\x49\\x9f\\x55\\xb4\\xda\\x12\\x71\\x27\\xa8\\x57\\x7a\\xc1\\x93\\x7f\\xf5\\x3d\\x65\\x69\\x9e\\x2a\\xff\\x4c\\xcf\\xfa\\xf9\\xa5\\x53\\xaf\\xbc\\xb6\\xf8\\x91\\x62\\x5a\\xc3\\x3e\\xca\\x1f\\xef\\xbf\\x7e\\xf8\\x96\\x9b\\x96\\x6d\\x1f\\xb9\\xa1\\x3f\\x3b\\x70\\xeb\\x5a\\xcf\\xc0\\x61\\xf2\\x0b\\x47\\xdf\\x94\\xff\\x0b\\x4e\\xf9\\xa7\\xf2\\xf7\\xb3\\x26\\xf9\\xb6\\x1b\\xaa\\x0e\\x33\\xdd\\xd0\\xcb\\x97\\xbb\\x6e\\x38\\x3b\\xed\\xe5\\x4f\\xfe\\xef\\xcf\\x10\\x0b\\xe2\\x3a\\xcf\\x8b\\xcc\\x16\\xf6\\x10\\xa5\\xa7\\x7a\\x5c\\x5d\\x83\\xeb\\x8e\\x98\\xa3\\x7e\\x01\\xf9\\x85\\x5a\\x81\\x16\\x04\\x2d\\x8f\\xf7\\x2b\\x94\\x97\\x84\\x6b\\xf0\\x82\\xa0\\xff\\x55\\x7c\\x6b\\x91\\x0f\\x2d\\x5f\\x8e\\x1a\\x56\\xa0\\x8b\\xa8\\xb7\\x7c\\x9a\\x7e\\x4d\\x7e\\x1f\\xe5\\xc6\\xc2\\x84\\x96\\x4b\\x81\\x96\\xa3\\x81\\x3f\\x02\\xa0\\xb9\\x87\\x45\\x0a\\x32\\x29\\x8b\\xde\\xcc\\x0a\\xf9\\x10\\xfc\\x98\\x05\\x03\\xc5\\x15\\x15\\xb3\\xc1\\xba\\xa8\\x45\\x30\\xb2\\xac\\xd7\\xe8\\xcd\\x01\\xef\\x37\\xdd\\x6c\\x30\\x82\\xa4\\x18\\x3b\\xef\\xb1\\x01\\xe6\\x28\\x48\\xea\\x02\\xf5\\x16\\xac\\x1a\\x6b\\x35\\x12\\xd1\\xd5\\x12\\x36\\xe0\\xb0\\xbc\\xb3\\x78\\x51\\x15\\x09\\x45\\x53\\x0a\\x02\\x97\\xde\\xf4\\x7f\\xeb\\x03\\x79\\x05\\x35\\x4f\\xc6\\x1e\\x65\\xb2\\xe4\\x7f\\x17\\xf5\\x68\\x9c\\xd3\\xd8\\x63\\xed\\x3f\\xb6\\x6d\\xff\\xbc\\x19\\x7d\\xbb\\x7b\\xff\\x43\\x77\\xdf\\x7b\\xf8\\x91\\x2e\\x9b\\x3e\\x68\\x0a\\x74\\xcf\\xce\\xeb\\x5e\\xb8\\x79\\xeb\\xc6\\x8f\\x32\\xbd\\xe9\\x55\\xbd\\x47\\x2e\\xd9\\x3d\\x6d\\xdb\\xc5\\x15\\xcb\\x2f\\xa2\\x2f\\x9e\\x7c\\xe8\\x60\\xdb\\x89\\x87\\x0e\\x1c\\x53\\xe4\\x3c\\xff\\xca\\x4b\\x9c\\x8e\\xfb\\x9a\\x2a\\xa3\\x36\\x46\\xae\\xf7\\xf8\\xb3\\xa5\\xfc\\x7c\\x7f\\x5a\\x7a\\x7a\\xc8\\xeb\\xa7\\xb4\\x65\\x25\\x26\\x53\\x81\\xb9\\xb4\\xac\\x8c\\x63\\x59\\xb3\\x9f\\x29\\x0f\\x97\\x95\\x15\\xa2\\x3c\\x6d\\x30\\x23\\x38\\x2c\\x9a\\x2f\\x79\\x3d\\xac\\x4b\\x5f\\x20\\x32\\xe6\\x92\\xec\\x4c\\x2a\\x43\\x74\\x59\\x41\\xb5\\x43\\x08\\xc4\\x9a\\x89\\xa7\\x57\\xa2\\x54\\xb6\\xbd\\x18\\xc6\\x75\\x65\\xaa\\x2a\\x27\\xf5\\x2d\\x1d\\x52\\x33\\xea\\x98\\x96\\x44\\xf4\\x43\\x5a\\x19\\x7c\\x48\\xb9\\x77\\x2b\\x80\\x38\\x15\\x7f\\x62\\xe2\\xb2\\x9f\\x23\\x84\\xaa\\xb3\\x53\\x73\\xfa\\xb8\\x76\\x57\\x40\\x61\\xe6\\xbb\\x29\\x63\\x0e\\x95\\xf5\\x42\\x37\\x6b\\x0f\\x7d\\x9d\\xd6\\x3b\\xb3\\x4f\\xb4\\xf1\\x86\\xd2\\xe2\\xbd\\xab\\x0c\\xab\\x37\\x54\\xce\\x7f\\xfd\\x75\\xa4\\x6d\\xa3\\x51\\xe3\\x5e\\x76\\x90\\xee\\xc8\\x0b\\xb8\\xe1\\x6e\\x77\\xf3\\x5f\\xba\\xd7\\xc5\\x5a\\xd1\\x65\\xf9\\x91\\x6c\\xd3\\xcd\\xae\\xb4\\x3e\\x27\\x8a\\xba\\xd1\\x7f\\x5d\\xff\\xd3\\x4f\\xeb\\x63\\x8f\\xa1\\xf5\\xf4\\x17\\xf2\\x4d\\xe3\\xd1\\x15\\x72\\x1f\\x05\\x41\\x20\\x53\\x4a\\x66\\x70\\x14\\x47\\x1c\\xac\\x46\\x83\\xb4\\x5a\\xe0\\x2f\\x32\\x23\\x04\\x38\\x8a\\xd6\\xda\\xf1\\xcc\\x88\\xda\\x94\\xd6\\x98\\x84\\x91\\x22\\xd8\\xd8\\xb1\\xef\\x1e\\x42\\xf7\\xcf\\x6b\\x5b\\xb4\\xa8\\x6d\\x1e\\x3d\\x0b\\xbd\\x29\\x97\\xdc\\x2c\\xa7\\xa3\\xbf\\xe3\\x18\\x5b\\x7d\\xb6\\x85\\xe7\\x76\\x93\\xda\\xa3\\x5e\\xc0\\x5f\\xb7\\x82\\xbf\\xe4\\x23\\x11\\x76\\x63\\xa4\\x24\\x2f\\xa4\\x4d\\x4b\\x43\\xe9\\x19\\xf9\\xf9\\x56\\x31\\x5d\\x2c\\x2a\\x86\\x33\\xb1\\xfa\\x28\\x1f\\xc4\\xd6\\x22\\x1e\\x12\\x64\\xf7\\xd7\\x45\\x9d\\x76\\x87\\x11\\x62\\x6e\\xad\\x51\\x64\\xcd\\x24\\x67\\x97\\x2a\\xb3\\x61\\x95\\xe2\\x9d\\xbd\\x44\\x32\\xe6\\xa5\\x32\\xc5\\x03\\x02\\x27\\xc0\\x1e\\xa2\\x13\\xf7\\x3a\\xa1\\x8e\\xfb\\x9c\\x7b\\xcd\\x4d\\xf8\\x3d\\xa7\\x5e\\x30\\x0c\\x19\\xec\\x94\\xb7\\x60\\x07\\xa9\\x6d\\x2e\\xdd\\x6b\\xf5\\x2a\\x21\\xf6\\xb1\\x66\\xeb\\x6d\\xdb\\x36\\xea\\x69\\xaf\\xb6\\x99\\x9e\\xf5\\x4b\\xdc\\xeb\\xf9\\xfa\\xb7\\x9b\\x65\\x0d\\xb8\\x45\\x72\\x94\\x69\\x95\\x5b\\x1f\\x7b\\xf1\\xb9\\x63\\xcc\\xb0\\xa3\\x8f\\x9e\\xdc\\x07\\x72\\x34\\x02\\xef\\xf8\\x52\\xe7\\xdb\\xdc\\x10\\xc9\\xf4\\x30\\x8c\\x95\\x76\\xf3\\xbc\\x1e\\x04\\xd5\\xe7\\xf7\\x28\\x73\\x6d\\x34\\x40\\x5d\\x33\\x6d\\x06\\xc5\\x6b\\x76\\xf0\\x98\\xc6\\xe1\\x6b\\xf7\\x8d\\x84\\x13\\xc9\\x24\\x6b\\x58\\x15\\x61\\x40\\x45\\xc9\\xa2\\xf6\\x40\\x18\\x91\\x1e\\xa0\\x65\\x6d\\x8e\\x11\\x33\\x9e\\x42\\xdf\\x3d\\x35\\x6d\\xda\\x67\\xaf\\xbe\\xf2\\xe9\\x0c\\xda\\xd2\\xb2\\x5c\\xb6\\x2c\\x57\\x8e\\x83\\x1c\\x49\\xf3\\xc9\\x17\\x5f\\x68\\x6f\\x96\\x77\\x6c\\xd9\\xda\\xd0\\xd0\\xba\\x09\\x60\\xcc\\x07\\x18\\xf7\\x01\\x8c\\x21\\x38\\x09\\xf0\\x00\\xf2\\xf5\\x28\\xc8\\x6a\\xac\\x66\\x43\\x4e\\x8e\\xc3\\xe3\\x31\\x6b\\x82\\x6c\\x51\\x71\\x9e\\x3b\\x44\\x85\\x70\\x94\\x47\\x51\\x3e\\xde\\x07\\xea\\xd3\\xe7\\xb0\\x9a\\x35\\x1c\\xcf\\x81\\x5d\\xe4\\xcd\\xea\\x0e\\xb5\\x70\\xf8\\x1a\\x0d\\x2f\\x29\\x4b\\xea\\xe2\\xa7\\x01\\x11\\x0d\\x16\\x7a\\x13\\xc2\\x04\\xc7\\xa9\\x5f\\x20\\x3f\\x3e\\x14\\xa7\\xdd\\x86\\x97\\x82\\xa7\\xa2\\x92\\xdf\\xe8\\x18\\x3b\\x4b\\xfe\\x2f\\x7a\\x71\\xc8\\xf2\\x34\\x7a\\x70\\xda\\xf2\\x21\\xe8\\x25\\xf9\\xd7\\x19\\xe3\\x1c\\x13\\x06\\x21\\xf9\\xa7\\xbf\\x7f\\x2a\\xff\\x30\\x80\\xee\\xb6\\xfd\\x50\\x6c\\xc7\\x41\\x7a\\xd6\\xb0\\xed\\xd3\\xb7\\x6e\\xcd\\x7e\\x78\\x65\\xd3\\xc1\\xec\\xad\\x5b\\xa7\\x6d\\xaf\\xbf\\xd9\\x62\\x79\\x53\\x8e\\x21\\xea\\xed\\x4c\\x79\\xd7\\x99\\x3d\\x06\\xc3\\x9e\\x33\\x58\\xaf\\x3d\\x0e\\x7c\\xd7\\x1f\\xe2\\xd9\\x4c\\x88\\x68\\xeb\\x23\\x39\\x05\\x96\\xb4\\x34\\x8f\\x81\\xc1\\xd3\\x1d\\x05\\x0f\\x0b\\x61\\x6d\\x2e\\xa0\\x96\\x21\\x7a\\x10\\x6d\\x34\\x3a\\xed\\xe6\\x62\\xd0\\x71\\x66\\x07\\xa7\\x23\\xfb\\x99\\x38\\x75\\x3f\\x93\\xc2\\x77\\x92\\x1a\\xa9\\x74\\xb2\\x12\\xa2\\x90\\xb2\\x45\\x97\\x4f\\xb5\\x10\\xb8\\x1e\\xfc\\x1a\\xf9\\x8b\\xfe\\xe3\\x95\\x65\\xc0\\xab\\x6b\\xfb\\xc7\\xf3\\x18\\x6d\\x57\\x67\\x2d\\xe4\\xef\\xb6\\xcb\\xb2\\xba\\x20\\xd8\\xa6\\x26\\x30\\xd8\\x6f\\xe5\\xe8\\x35\\x73\\x16\\x1b\\x00\\xc7\\x85\\x80\\x23\\xd6\\xdd\\x63\\x22\\xd6\\x20\\x0f\\x11\\x87\\x39\\x87\\x32\\x99\\xcc\\xc0\\x5f\\x0c\\x38\\xdf\\x22\\xd9\\x14\\xec\\xb5\\xdb\\xdc\\xd8\\x7d\\xb1\\x46\\x6d\\xe9\\x26\\xa4\\xc9\\x57\\xf2\\x16\\x99\\x57\\xe5\\x2d\\x3a\\xf5\\xe5\\x25\\x33\\x89\\x1d\\x12\\x16\\xe4\\xdb\\x94\\x05\\xc2\\x9d\\x93\\x14\\x53\\x52\\x93\\x14\\x6d\\xea\\x06\\xe4\\xd5\\xa3\\xfe\\x28\\x33\\x81\\x9e\\xfb\\xfd\\x8d\\xc4\\x4a\\xe4\\x8e\\x39\\x09\\x34\\x5a\\x1e\\xcd\\x2c\\xe3\\xce\\x81\\xef\\x52\\x1f\\xf1\\xfb\\x11\\xb2\\x08\\x26\\x03\\xe3\\x62\\x4c\\x4c\\x46\\xc8\\x91\\x36\\x2c\\xea\\xa0\\x28\\x51\\x12\\x87\\x81\\x17\\x63\\x36\\x21\\x82\\xa9\\xc9\\xde\\xe9\\x08\\x55\\xcd\\x11\\x4f\\x46\\xa8\\x88\\x85\\xe3\\xfd\\x11\\x9d\\xf6\\x20\\x2b\\x75\\x46\\xaa\\x0b\\x1e\\xb6\\xd3\\xfb\\x47\\xc8\\xff\\xa8\\xea\\x5b\\x52\\xbb\\x7a\\xc2\\xdd\\x77\\xaf\\xbb\\x65\\x60\\x45\\x51\\xa8\\x6f\\xcf\\xb7\\x98\\x93\\x97\\xff\\x8e\\x01\\x36\\x3f\\x28\\xdd\\xb9\\x9c\\x39\\xb9\\x7e\\xe5\\x9d\\xeb\\x0c\\x9b\\x35\\xfd\\xc6\\x4d\\x5a\\x4f\\xce\\xa4\\x18\\xce\\xe4\\x55\\xf0\\x4d\\x4a\\xa9\\x9e\\xd4\\xf2\\x48\\x4e\\x97\\x34\\x93\\x91\\x2b\\x28\\xd0\\x94\\x65\\x58\\xad\\x79\\x1a\\x8d\\x31\\x8d\\xa9\\x8d\\x64\\x99\\xf3\\x04\\x9c\\x4a\\x74\\xf9\\x7c\\x95\\x75\\xd1\\xa0\\x4f\\x2c\\xa6\\xf1\\xf1\\xd8\\xa2\\xc5\\xc5\\x2e\\x9d\\xab\\x5b\\x5d\\xd4\\xe6\\xb2\\xeb\\x24\\xf0\\xc9\\x4c\\xba\\xf4\\x78\\x13\\x50\\x5c\\xfd\\x75\\xfe\\x9c\\x3a\\x3b\\x24\\x71\\x60\\x9c\\xb2\\xa3\\x25\\xa4\\x64\\x7f\\xb1\\x0b\\x1e\\x90\\x2a\\x43\\xea\\x29\\x5a\\x12\\xc5\\x39\\x60\\x84\\xd4\\xed\\x67\\x4c\\x45\\xb2\\x8f\\xa8\\x27\\x62\\x2e\\x1a\\x1c\\x1e\\xc7\\x5c\\xb9\\x9b\\xea\\xda\\x20\\x23\\x1d\\x3e\\xb6\\x3c\\xd5\\xb7\\x41\\xfa\\x71\\xd7\\x85\\x03\\xaf\\x25\\x3d\\x9c\\x5d\\x7c\\xbe\\xeb\\x93\\xe9\\x72\\x17\\xe2\\xe7\\xa0\\x6e\\x47\\x67\\xce\\x42\\x1a\\x94\\x86\\xfc\\x48\\x02\\x47\\xe7\\x4e\\xa1\\xea\\x70\\xec\\x69\\x79\\x69\\xfd\\x7c\\x0d\\x33\\x38\\xc5\\xd7\\xa1\\xbe\\x06\\x5a\\x4d\\x02\\xfe\\x75\\x02\\xf7\\xba\\x4c\\x1c\\x67\\xd4\\x0b\\x82\\xc6\\x60\\x84\\x18\\x91\\x96\\x24\\xa3\\x5d\\xc3\\xba\\xdc\\x56\\x0a\\x93\\x46\\x8a\\x5a\\xd3\\x4d\\x7a\\x8e\\x67\\x59\\x83\\x59\\x8b\\x34\\x76\\xd6\\x4c\\x4e\\x39\\x3e\\x00\\x81\\xd4\\xe0\\x24\\x0e\\x38\\x41\\x08\\xf5\\x86\\x16\\x9f\\x6e\\x4a\\xaf\\x4d\\xfc\\xd4\\x99\\x6e\\xab\\x73\\xe4\\x3b\\x36\\xb4\\xb5\\xa1\\x8b\\x6f\\xc9\\x37\\xa0\\x31\\x37\\x12\\x4e\\x95\\xff\\x7d\\xe7\\x72\\xf4\\xdd\\x3c\\x79\\x0d\\xf7\\xea\\xe5\\x49\\xb4\\x51\\x2e\\x91\\xcb\\x55\\xee\\x04\\x7e\\xdc\\x0f\\xfc\\x98\\x47\\xfa\\x3b\\x2b\\x23\\x06\\x56\\xaf\\xd7\\x6a\\xcd\\x3c\\x2f\\x4a\\x46\\x7c\\x7c\\x27\\xa2\\xc6\\x74\\x01\\xf1\\x5a\\x02\\x18\\x6f\\x4f\\x99\\xc3\\x9c\\xec\\xc3\\xe4\\x54\\x56\\x8b\\x4b\\x10\\xda\\x5f\\x50\\xb9\\x66\\x6a\\xdb\\x68\\xf9\\x1f\\x45\\x91\\x2b\\x86\\x3b\\x97\\x73\\xaf\\x2a\\xb2\\xa0\\x07\\xda\\x4c\\x01\\xda\\xbc\\x08\\xf1\\x66\\x98\\x1a\\x17\\xb1\\x99\\x35\\x1a\\x6d\\x98\\xca\\x0b\\x04\\x0a\\x7c\\xbe\\x4c\\x4a\\xcb\\x56\\x54\\x16\\xf8\\x08\\xc3\\x17\\xd8\\x33\\x72\\x14\\xd1\\xce\\x48\\x2f\\x61\\xad\\x6c\\x5d\\xd4\\xe3\\x30\\x5b\\x45\\x83\\x99\\xd2\\xaa\\x39\\x96\\xf8\\xdd\\x75\\xaa\\x6c\\xa7\\xb0\\x4a\\x30\\x59\\x61\\x73\\x75\\xee\\xc9\\xde\\x49\\x44\\xe2\\x25\\x43\\xd6\\xb2\\x5e\\x91\\xa1\\x8f\\x74\\x4e\\x35\\x4d\\x56\\x45\\x7d\\x12\\xce\\x33\\x61\\x77\\xe4\\xd9\\x03\\xb1\\xbd\\x78\\x32\\x40\\x32\\xb5\\x14\\x3b\\x97\\xdc\\x7e\\x7e\\x14\\x67\\x95\\x62\\xad\\xd8\\x57\\x7b\\x02\\xeb\\x31\\xc0\\x35\\x9b\\x1a\\x1a\\x91\\x1c\\x46\\xa3\\x89\\x0e\\x04\\x58\\xc0\\xd4\\xc4\\xe4\\xe4\\x66\\xa8\\x0c\\x90\\x91\\x0e\\x36\\x4a\\x0b\\xf8\\x89\\x20\\xed\\x76\\xd6\\xd7\\x89\\x01\\x3a\\xca\\x78\\xd2\\x0b\\x56\\xe0\\x56\\xb8\\x5b\\xc1\\x31\\x91\\x38\\x4a\\x62\\xc7\\x0c\\x58\\x3d\\xfd\\xea\\x49\\x0b\\x63\\x12\\x0c\\x71\\xed\\xc1\\x12\\x71\\x5c\\x14\\x5d\\x7c\\x14\\x70\\xb8\\x1e\\xfc\\x9c\\x2c\\xaa\\x1c\\x62\\x92\\xec\\x22\\xbf\\xc3\\xe1\\x34\\x32\\xd9\\xd8\\xde\\x38\\xd9\\x70\\x45\\x28\\x0f\\xa2\\xad\\x90\\xe8\\x31\\x3b\\xd3\\xc5\\x52\\x30\\x36\\x26\\x5a\\xbc\\xca\\xdc\\x84\\x53\\xab\\x53\\x3a\\x5b\\x1b\\x7b\\x62\\x39\\x20\\x31\\x37\\xaa\\x53\\xf3\\xc7\\x09\\x9f\\xeb\\x57\\xc9\\x5f\\xe3\\xe3\\xe8\\x11\\xa9\\xaa\\x26\\x8e\\xcd\\x1f\\xa4\\x79\\xe4\\xe7\\xb7\\x5e\\x24\\x68\\xf4\\x1e\\xb6\\xd0\\x48\\x5c\\x1b\\x8e\\xbf\\x76\\x92\\x07\\xdc\\x75\\xe0\\xff\\xc3\\x70\\x4e\\x7e\\xaa\\x5f\\xc4\\x44\\xbb\\xdd\\x3a\\xa7\\xd3\\xcb\\xb2\\x62\\x20\\x98\\x46\\x0e\\xc9\\x14\\x4d\\x4b\\x37\\x59\\xeb\\xa3\\x3a\\x93\\x28\\x98\\x59\\x67\\xc7\\x13\\x0a\\xa7\\xd6\\x54\\x25\\xee\\xca\\x94\\xe3\\xc9\\x09\\x3b\\x14\\x1c\\x14\\xdd\\x9b\\x3c\\x18\\x74\\xfb\\xea\\xf1\\xfc\\x61\\x0d\\x5b\\xb0\\x70\\x7a\\x66\\x56\\x66\\xf7\\x85\\xcb\\x94\\x15\\xf5\\xf8\\x4c\\x98\\x9e\\x8b\\xb6\\xb4\\x67\\x6d\\xc5\\xd9\\x8e\\xe7\\xda\\xe4\\x19\\x29\\x67\\x81\\xa8\\x43\\x70\\x16\\x59\\xa0\\x83\\x2b\\xa8\\xc9\\x91\\x52\\xd1\\x6c\\x2e\\xf0\\x65\\x65\\x3a\\x74\\x15\\x15\\x99\\xac\\x8f\\xad\\xac\\x2a\\x28\\xf1\\x38\\x58\\x43\\x30\\x08\\x1e\\x00\\x95\\x85\\x2c\\x4c\\x56\\x56\\x50\\x34\\x80\\x93\\x2f\\x8a\\x3a\\x43\\xe7\\x15\\x8d\\x61\\x55\\xfb\\xc6\\x1b\\x94\\x3b\\xdd\\xc0\\x76\\xd8\\xda\\xa8\\xba\\x01\\xa9\\x19\\x0f\\xba\\x73\\xaa\\x03\\x39\\x7d\\x8c\\x9d\\xcd\\x52\\x25\\x65\\xee\\xbe\\x44\\xaa\\xa3\\x61\\x72\\xcb\\xbd\\xeb\\x07\\xa4\\x64\\x39\\x4a\\xc7\\xef\\xda\\x7e\\xd3\\x0d\\xb9\\x2d\\x8a\\xb8\\xec\\x0c\\xab\\x49\\x8e\\x48\\x9d\\x27\\x23\\x77\\xf0\\xfc\\xba\\x44\\x86\\xa3\\xb8\\x7b\\x7e\\x56\\x66\\x8f\\x01\\x93\\x7a\\x02\\xde\\x2d\\x70\\x3e\\x6f\\x83\\x7e\\xca\\xa2\\x46\\x45\\x44\\x97\\xde\\x66\\x09\\x04\\xb2\\x78\\xaf\\x8d\\xb7\\x65\\xe7\\x38\\xd2\\x94\\x04\\x86\\x05\\xdc\\x6b\\x87\\xc5\\x61\\x09\\x69\\x43\\x34\\xd1\\x20\\xa1\\x74\\xad\\x89\\xa0\\xac\\x45\\x9d\\xf2\\x3b\\x05\\x1d\\x12\\x90\\x4a\\xe3\\x2b\\xb1\\x0f\\x95\\xd8\\x15\\x88\\x1f\\x55\\x30\\x45\\x43\\x04\\x95\\x25\\x64\\x2d\\x95\\xc1\\xaa\\x6e\\x1e\\xd4\\x7d\\x74\\x61\\xd9\\x75\\x83\\x07\\xa2\\x33\\xf2\\xb7\\x79\\xc5\\x45\\xb9\\xcb\\xe4\\x4f\\xef\\xdc\\x5d\\x11\\xbe\\x42\\x99\\x0a\\x86\\xcd\\x63\\xb7\\xa3\\xc9\\x96\\xfd\\x69\\xb3\\xd6\\x5e\\x3e\\x27\\x7f\\x24\\xbf\\xaf\\xb9\\x5f\\xb7\\x6b\\xeb\\xf9\\xb6\\xc7\\xf5\\xca\\xf9\\xcd\\x93\\x47\\xb1\\x13\\xc0\\x4f\\x75\\x00\\x9f\\x39\\xcc\\x26\\x23\\xc4\\xa4\\xb4\\xdd\\xe1\\xa0\\x79\\x8b\\x89\\x73\\xba\\xec\\x26\\x33\\x8b\\xd5\\x6c\\x44\\x1f\\x65\\x8d\\x16\\xa3\\x91\\x82\\x60\\x34\\x9e\\xa2\\x10\\xff\\x12\\xef\\x3b\\xea\\x30\\xd1\\x24\\x2b\\x55\\x8f\\x05\\xc9\\x0d\\x2d\\xee\\xfc\\xa1\\xaf\\x7c\\x17\\x87\\xed\\x90\\xbc\\xfc\\xd9\\xef\\x8c\\x5d\\x42\\x39\\xff\\x39\\xbb\\x55\\xfe\\x59\\x81\\x08\\xdc\\xf9\\x58\\x24\\xf7\\x85\\xa5\\xcb\\xe8\\x3f\\x2b\\x70\\x2d\\x05\\xb8\\x1a\\x00\\x2e\\x27\\xd5\\x10\\x71\\xe3\\x99\\xc7\\xb4\\xa0\\xd1\\x38\\x75\\x3a\\xbb\\xc1\\x20\\x6a\\x79\\x8a\\xa1\\x05\\x97\\xdb\\x64\\xc5\\xa0\\xd9\\xa3\\x26\\x27\\xaf\\x65\\x28\\xd6\\xc9\\x3a\\x75\\x38\\xa0\\x11\\x58\\x33\\x4d\\x6e\\x49\\x6a\\x15\\x36\\xc2\\x90\\x76\\xb2\\xdd\\x61\\x75\\x8c\\x90\\x96\\x58\\xa9\\xa4\\xa1\\x22\\xba\\x97\\x1e\\x87\\x97\\xde\\xb7\\xc8\\xb7\\xab\\x0b\\xef\\x6f\\x47\\x59\\x37\\xaa\\xb0\\x77\\xc5\\x5b\\xef\\xe9\\x42\\xda\\x84\\x97\\xde\\xc7\\x7e\\x91\\x1b\\x13\\xf0\\x93\\xfc\\x0f\\xc0\\x9c\\x47\\x66\\x32\\xd4\\x46\\x1c\\x3c\\x65\\x11\\x04\\xc4\\x71\\x06\\x9a\\x62\\x6d\\x76\\x2b\\x8f\\xef\\x35\\x75\\xd8\\x96\\x46\\xb4\\x51\\x5d\\x1a\\x43\\xd7\\x45\\x19\\xf3\\xd5\\xbb\\x49\\x55\\x5d\\x5a\\xad\\x24\\x72\\x3a\\x1c\\xf8\\x01\\xfa\\x2e\\x9c\\xb8\\x89\\xcd\\xa6\\x4f\\xa9\\xd0\\xc4\\x3c\\x9b\\x99\\xec\\xad\\x9b\\x2f\\x7f\\x90\\x02\\x05\\xd6\\x8f\\xa3\\xe5\\x51\\x5c\\x15\\xe8\\x8e\\x3c\\xaa\\x8a\\x6a\\x8e\\x38\\x2b\\x18\\x93\\x39\\x5b\\x28\\x2e\\xb6\\x87\\x3c\\x1e\\x9f\\x8f\\x74\\x4b\\x55\\x77\\x09\\xa6\\x63\\x50\\x0a\\xa2\\xc1\\x34\\xbe\\x74\\x98\\xda\\x33\\xb5\\xc0\\xf4\\xb1\\xe9\\x7b\\xd3\\x15\\x13\\xa7\\x57\\xfa\\xa6\\xea\\xa2\\x92\\xe8\\xcc\\xa7\\xc0\\x89\\x85\\xe8\\xdc\\xfe\\x47\\xcd\\x52\\x29\\xd0\\x5b\\x52\\x46\\x35\\x29\\xb3\\x45\\x3a\\xb4\\x4d\\x59\\x94\\xb6\\x29\\x1c\\x89\\xdb\\x94\\x70\\x1c\\x7c\\xa5\\x0e\\xcd\\x53\\x34\\x6e\\x9e\\x7a\\x60\\xff\\x81\\x8f\\xfe\\xf3\\xf3\\xc2\\x15\\x4d\\xf3\\xf5\\x7f\\x2a\\x46\\x1b\\x5e\\x7d\\xbd\\xd1\\x13\\x5c\\x96\\x0b\\xf1\\x92\\xfc\\xed\\x83\\x5a\\xbe\\xef\\xc9\\x31\\x53\\x76\\x47\\x5f\\x58\\xb3\\xbe\\xdf\\x04\\xdb\\x91\\x9d\\x87\\xda\\x78\\xb6\\xdb\\x86\\x45\\xf5\\x63\\x24\\x94\\x79\\xea\\x49\\xb9\\x78\\xaf\\xf0\\xdd\\x2e\\xdd\\xfd\\x1a\\x94\\xdb\\xa4\\x7f\\x6d\\xd5\\x8c\\x8d\\x63\\xee\\x1f\\x4e\\xa6\\xa3\\x0e\\x6b\\x98\\x88\\xef\\x1d\\xe1\\x7c\\xfe\\x4b\\xf6\\x85\\x17\\x83\\x17\\x94\\x97\\x67\\x73\\x1b\\x43\\xa1\\x00\\x2e\\xa2\\x65\\x03\\xb6\\x40\\x49\\xa9\\x57\\x74\\x40\\x28\\xec\\x76\\x88\\x52\\x21\\xf0\\xb9\\xe4\\xd0\\x07\\xc1\\x7d\\xb7\\xe3\\x64\\x10\\xc8\\xac\\x90\\x96\\xea\\xe6\\xa6\\xd4\\x67\\xd7\\x74\\x44\\x1c\\x2f\\xb8\\x4b\\x20\\x17\\xca\\x49\\xf8\\x82\\xc1\\x14\\x57\\x30\\xdc\\x21\\x5a\\x29\\x52\\x91\\x1b\\x46\\xb3\\x55\\x0f\\xac\\x79\\xfd\\x59\\xf0\\xe7\\x1f\\xac\\x02\\xdf\\xef\\x31\\xa1\\xcf\\x7f\\xb7\\xec\\xda\\xbc\\xa2\\xe9\\x96\\x7b\\xb6\\xac\\x50\\xb0\\x5a\\xb7\\xbc\\xdb\\x9c\\xb1\\xc8\\x81\\x1c\\x74\\xd5\\xe8\\x69\\xbe\\x1d\\x5c\\xb7\\x6f\\x62\\xb3\\xd1\\x9e\\xb7\\x5e\\x7d\\xf5\\xe3\\xcf\\xff\\xf2\\x81\\x72\\xb7\\x0a\\xfa\\xf8\\x3d\\xee\\x03\\x82\\x63\\x7d\\x44\\x0a\\x09\\x3e\\xab\\xd5\\x95\\x47\\x99\\xcd\\x2e\\xc1\\x55\\x52\\x1a\\x20\\xaa\\xc9\\x19\\x0d\\xa4\\x4b\\x8e\\xfa\\xa8\\x44\\x69\\x01\\x51\\x83\\x56\\x64\\x01\\x6d\\x8a\\xed\\x10\\xa0\\x74\\x2c\\xcb\\x4d\\xc6\\x27\\xa1\\x8e\\x37\\xaa\\x71\\xed\\xa4\\x1e\\x2b\\x46\\xba\\x43\\x84\\x52\\xc3\\xa6\\x86\\x28\\x28\\xad\\x57\\xbf\\xae\\xdd\\x9a\\x56\\x46\\xf2\\x6b\\x7b\\xc8\\xff\\xbc\\x76\\x90\\x72\\x10\\xe5\\x9a\\x0f\\xd9\\xef\\xfc\\xfd\\xd3\\x3b\\xcd\\xbb\\xcd\\x28\\x97\\xde\\x13\\x8f\\x51\\xf0\\xfc\\xf1\\xd1\\x9c\\x00\\xe7\\xe7\\x85\\x48\\x73\\x76\\xa4\\x32\\x93\\xa2\\x9c\\x16\\x5e\\xf0\\x19\\xd3\\xd3\\x05\\x27\\x93\\x05\\x3c\\x5a\\x17\\xcd\\xcc\\xb4\\x79\\x3c\\x41\\xec\\xba\\x58\\x6c\\x13\\xf8\\x05\\x3c\\x4d\\xf1\\x48\\x62\\x78\\xde\\x66\\x63\\xc0\\xd7\\x77\\x98\\x15\\x37\\xc0\\x9c\\x9e\\x9c\\xed\\xef\\x52\\x07\\x01\\x77\\xee\\xfd\\x4f\\xb2\\x71\\xbc\\x53\\x25\\x89\\x62\\x25\\xaf\\xba\\xf7\\x29\\x3d\\x2b\\xdd\\x77\\xdf\\xb9\\xb4\\xd5\\xfd\\x80\\x8a\\xdb\\xcc\\xbd\\x3f\\x5c\\xba\\xf4\\x2f\\xf4\\xd1\\x33\\xe6\\xdb\\x36\\xae\\xbf\\x87\\x47\\xbf\\x3e\\x73\\x6e\\x7c\\xff\\x22\\xf9\\x1e\\x05\\xa9\\x27\\xfb\\x20\\x1f\\xf2\\x20\\x03\\xf2\\xc5\\x9e\\x73\\x6d\\x79\\xf4\\xfe\\xc7\\xef\\x21\\x3a\\xef\\x02\\x9c\\xdd\\xa7\\x80\\x5f\\x09\\x60\\x67\\xf7\\x32\\x0e\\x9d\\x68\\x2e\\xce\\xcb\\x08\\x85\\xcc\\x1e\\x41\\xc7\\xf0\\xa5\\x65\\x05\\xd9\\xf8\\xf4\\x82\\xd1\\x82\\x74\\xde\\xed\\x71\\x7b\\x80\\x55\\xdd\\x94\\xd1\\x48\\xcc\\xa9\\x51\\x2c\\xa6\\x32\\x32\\x28\\x2a\\x90\\x3a\\x40\\x15\\x90\\xea\\xd8\\x3f\\x9c\\xa2\\x67\\x92\\x01\\x4c\\x87\\xd6\\x8f\\x80\\x35\\x39\\xe6\\xc0\\x9e\\x18\\x62\\x94\\x8a\\x39\\x3d\\xf5\\xec\\x3b\\x3b\\x57\\xcd\\x69\\x7d\\xf3\\x21\\x34\\xb0\\x78\\x9f\\x61\\xe1\\x98\\xc6\\x29\\x3b\\xf7\\x1f\\x3c\\xb8\\x60\\xda\\x2b\\x95\\x7b\\x54\\xe4\\xa7\\xd8\\x1e\\xdd\\x39\\x77\\x87\\x91\\xd6\\xde\\x3c\\xa5\\x65\\xaf\\x2c\\xdb\\xfa\\x0d\\x18\\x35\\x60\\xf4\\xc8\\xcd\\xd3\\x27\\x8d\\x98\\x7e\\xa0\\x50\\xbe\\x57\\xa1\\xc1\\x23\\xdd\\xe3\\x38\\x33\\x31\\x82\\xf3\\xac\\x48\\x18\\x6c\\x92\\xd6\\xeb\\x73\\x86\\xc4\\xfc\\xfc\\x50\\x36\\x67\\xf5\\x69\\x85\\xd2\\xb2\\x6c\\x9b\\xd5\\x06\\x28\\xda\\x40\\x40\\x8b\\x8a\\x8c\\x20\\x90\\xfa\\x22\\x87\\xd7\\x1b\\x08\\x00\\xfa\\x01\\x31\\x2e\\x9b\\x1d\\xce\\x93\\x20\\x8d\\x2f\\xb7\\xae\\x55\\x5c\\xd8\\x41\\x40\\xdd\\x28\\x3e\\x7f\\x2a\\xf4\\x87\\x13\\x64\\xc1\\xc8\\xa2\\xb5\\x2a\\x62\\x7b\\x2a\\x5f\\x99\\xb6\\xe0\\xe0\\xc1\\x94\\x41\\xb2\\x07\\xfe\\xba\\x6d\\x76\\xf3\\xae\\xb7\\x9f\\xbd\\x65\\x4a\\xb3\\x82\\x16\\x9a\\x53\\x78\\x60\\xda\\xc8\\x49\\xd3\\x93\\x23\\x65\\x1f\\x5c\\x37\\xe5\\x66\\x2d\\x6d\\xbc\\x63\\xde\\xce\\x47\\xbb\\x2b\\xfa\\xb9\\x01\\xf8\\xb8\\x3f\\xf1\\xed\\xb2\\xc1\\x6b\\xca\\x0c\\xf8\\x78\\x01\\x9c\\x57\\xb7\\xcd\\x64\\x34\\x0a\\x3e\\xf0\\xc3\\xdd\\x01\\x3f\\x9c\\xa3\\xd1\\xef\\x4f\\xd7\\xe1\\xca\\x90\\x74\\x87\\x43\\xc2\\x07\\x6f\\x88\\x3a\\xd2\\x49\\x93\\x55\\x5d\\x54\\x27\\x26\\xfb\\xab\\x52\\x26\\xa2\\xa4\\x54\\xf7\\xa7\\xf6\\xf9\\xa9\\x78\\x11\\xcf\\xd5\\x1a\\x96\\x92\\xd8\\x9b\\x50\\x4a\\xbf\\x12\\x7d\\xa9\\xa5\\x79\\xcc\\x2a\\xc7\\x03\\x85\\xe7\\x77\\xbc\\xf1\\x91\\xf6\\x09\\x05\\xe5\\x2f\\x6c\\x1f\\x9e\\x91\\x47\\x3e\\x63\\x5c\\xb6\\x70\\xee\\x1a\\x8e\\xee\\x7d\\xea\\x95\\xd1\\x43\\x8b\\xd6\\xaf\\x96\\x7f\\x93\\x7f\\x8f\\xf5\\x51\\x05\\xb4\\xdb\\xa7\\xdf\\xd2\\xb5\\x98\\x8b\\x8f\\xee\\xa6\\x68\\x14\\x83\\xf3\\xfc\\x41\\x9d\\xcb\\xd3\\x3b\\xe2\\xa0\\xb5\\x5a\\xab\\x49\\x10\\x44\\x16\\x6c\\xa0\\x24\\xd6\\x8f\\x95\\x10\\x67\\x66\\x05\\xe2\\x0d\\x81\\xbb\\xaa\\x27\\xa7\\x47\\xa5\\x24\\x10\\x52\\xa2\\x38\\xd5\\x6d\\xc5\\x5a\\x94\\x60\\xa2\\x80\\x8d\\x17\\xb2\\x31\\x4b\\xe4\\x7f\\x4e\\x68\\x1b\\x8b\\x21\\x94\\x07\\xb5\\xc9\\xa3\\x51\\x6e\\x0b\\xdb\\xf5\\xf2\\x24\\xf9\\x2b\\x0c\\x11\\xff\\xca\\x91\\x23\\xc0\\x57\\x8f\\x81\\x2c\\x05\\x80\\xc6\\x21\\x1c\\xe7\\x50\\x6e\\x77\\x86\\xc1\\xc8\\x5b\\xad\\x3e\\x63\\x06\\x9b\\x99\\xa5\\x68\\x41\\x07\\x68\\x41\\x97\\xc3\\x01\\xd4\\xa4\\x28\\x87\\x03\\xdc\\x0a\\x51\\x8b\\x25\\x89\\xea\\xc8\\x45\\xa9\\xc9\\x0c\\x95\\x9c\\xc9\\x3b\\x89\\x38\\x51\\x95\\xf1\\x99\\xf6\\x24\\x61\\xd1\\x14\\x73\\xcb\\xc4\\x2d\\x1b\\x5b\\xb6\\xcd\\x5a\\x64\\x7a\\xda\\xfb\\xb7\\x83\\x9f\\xfc\\xf0\\xfd\\xe7\\x5b\\xa7\\xab\\x5c\\x84\\x86\\xcc\\x9d\\xf9\\xe6\\x7b\\x9f\\x9d\\x9e\\x3d\\xc6\\xb4\\xeb\\x08\\xbe\\xa0\\x90\\xbf\\x95\\x3f\\xbd\\xfe\\xa8\\xca\\x3f\\xcf\\x2b\\x3d\\x53\\x7a\\xa0\\xe3\\x73\\x40\\xc7\\x20\\xd5\\x23\\x82\\xcd\\x31\\x65\\xb7\\xa7\\x65\\x84\\xdc\\x4a\\x28\\xea\\x06\\x9d\\x46\\x3e\\x48\\x76\\x3d\\x4f\\x68\\xa8\\xef\\xb4\\xe7\\x3c\\x71\\xd7\\x99\\x45\\xc6\\x03\\x24\\x2f\\xbe\\x54\\xaf\\x32\\x99\\x7d\\xb1\\xd3\\x27\\x56\\xad\\xa1\\x4b\\xba\\x61\\xd8\\xb6\\xae\\xe9\\x5e\\x03\\xe2\\xbe\\x6b\\xc7\\x1c\\xe2\\x4e\\xbe\\xfe\\xd8\\x23\\xfa\\xeb\\xba\\x02\\x58\\x5b\\x76\\x1c\\x76\\xe5\\x0c\\x99\\xc1\\x6c\\x7a\\xec\\x29\\xcb\\x41\\xf0\\x24\\xf1\\xbe\\x24\\xe0\\x61\\x3c\\x7f\\x2a\\x93\\x1a\\x16\\x49\\xa7\\x32\\x21\\x92\\xd4\\xa5\\x6b\\xb5\\x16\\x5d\\xa6\\x2e\\x2b\\x5b\\x9b\\x69\\x4e\\x0f\\x04\\x38\\x10\\x50\\x87\\x4b\\x4f\\xe0\\x74\\xd9\\x6d\\x4a\\x1a\\xc1\\xd6\\x01\\xce\\xd4\\xaa\\xf7\\x70\\xea\\x7d\\x8a\\x7a\\xef\\x93\\x72\\xee\\xc4\\x9a\\x16\\xd3\\xc9\\x42\\xf8\\xae\\x4a\\x14\\x19\\x5d\\xd9\\x2b\\xb3\\xb6\\x8b\\xfc\\xcf\\xc1\\xc9\\x60\\x12\\x5c\\xc9\\x7a\\x12\\x44\\xd2\\x8b\\xe3\\x4c\\x01\\x1c\\x12\\x8f\\x25\\x69\\xd2\\xef\\x4e\\xad\\x07\\xfe\\x18\\x00\\xf0\\x67\\x81\\xae\\xcd\\x07\\xfe\\xc8\\x94\\x74\\x06\\x11\\x38\\x44\\x0c\\xe8\\x8c\\x99\\x7c\\x76\\x8e\\xdb\\xe9\\x24\\x9c\\xe1\\xd4\\x4b\\x92\\x6e\\x58\\xd4\\x29\\x39\\xa5\\x0c\\x53\\x86\\x57\\xf1\\x85\\x33\\xd2\\x45\\xa3\\x09\\x74\\x91\\xa9\\xe3\\xc5\\x0c\\xf1\\xe4\\xc9\\x75\\xf3\\x35\\xe6\\xdd\\x91\\xc3\\x88\\xb3\\x4e\\x62\\xdc\\x1d\\x4b\\x46\\x7f\\x65\\x24\\x2f\\x27\\x31\\xf3\\x54\\x5a\\x77\\x6d\\xbd\\xf9\\xe1\\xfd\\xed\\xf5\\x68\\x59\\x6c\\x24\\xb3\\x58\\x5e\\x8b\\x0e\\x34\\xbd\\xb7\\xe5\\x8d\\x65\\x7d\\x7a\\x2a\\x0c\\xf4\\xea\\xfa\\xa5\\xdb\\x66\\x6c\\x6b\\x59\\x8b\\x46\\xb6\\xee\\x94\\xdb\\xbc\\xf2\\xb6\\x19\\xc7\\xa6\\xcd\\x2d\\xbf\\x61\\xa0\\xc2\\x40\\xbd\\xd4\\xfe\\xd3\\x8b\\xcc\\x83\\xec\\xcf\\xe0\\xb6\\x05\\x71\\xff\\x69\\xba\\xdd\\x64\\x32\\x3b\\x78\\x33\\x9f\\x11\\xb2\\xe0\\xb6\\x2a\\x33\\x2a\\xa6\\x34\\x94\\x3f\\xde\\x7f\\x8a\\xc7\\xe1\\xb8\\xe3\\xfd\\xa7\\x65\\xd7\\xee\\x3f\\x55\\xa2\\x63\\x75\\xf8\\x3d\\x29\\x2d\\x23\\x35\\xa2\\x38\\xa0\\xec\\x50\\xe7\\x78\\x24\\x63\\xc1\\x88\\x5b\\xd7\\xcb\\x3f\\x8e\\x58\\x90\\x41\\xd3\\xcd\\xec\\x52\\x01\\x2d\\xab\\xc3\\xed\\xa7\\xd3\\xc7\\x8c\\x64\\x67\\xe3\\xf6\\x53\\x79\\x61\\xa4\\xef\\xc8\\x20\\xdd\\xb8\\xc1\\x53\\x36\\x40\\xbe\\x7c\\xff\\xb6\\x5d\\xf7\\xed\\xda\\xb6\\x35\\xd9\\xbb\\xf3\\x0b\\xf8\\xfc\\x43\\x22\\x46\\xca\\x60\\xb5\\x58\\x38\\xde\\xc0\\xbb\\xdc\\x78\\x8d\\x7a\\xbc\\x77\\xa7\\x2c\\x62\\xa0\\x38\\x91\\xa3\\xbd\\x0c\\xee\\xe1\\xa1\\xe3\\x4d\\x34\\x57\\xf7\\x3a\\x26\\x99\\x0a\\xc7\\xf4\\x1d\\x5b\\x4d\\x71\\x98\\x48\\x76\\xdd\\x3e\\xf3\\xcc\\x75\\xa3\\xf4\\xab\\x4c\\xbb\\x96\\xdf\\xfd\\xd0\\xde\\x7b\\x17\\xed\\xb0\\xdd\\xe4\\xd8\\x3c\\x79\\x14\\x33\\x57\\x7e\\xe7\\x86\\x41\\x9a\\x79\\x37\\xbf\\xf2\\x97\\x33\\xaf\\xad\\x98\\xab\\xdb\\xb2\\x09\\xe8\\xd9\\x05\\x1d\\x66\\xee\\x04\\xd8\\xbc\\x54\\x0e\\xd5\\x12\\x49\\xc7\\x0b\\x16\\x34\\x66\\x53\\x86\\xc7\\x63\\xca\\x86\\x60\\x49\\x23\\xe4\\xe6\\xd1\\x7c\\xb6\\x83\\x75\\xb1\\xae\\x4c\\xa5\\x47\\xdb\\xec\\xf2\\xbb\\x68\\x23\\xe3\\x72\\x51\\x7a\\xbd\\x84\\xbf\\xd2\\x47\\xcd\\x66\\xbf\\x19\\xbe\\x32\\x9b\\x71\\xcf\\x76\\x1b\\x9e\\x77\\xee\\xbb\\xaa\\x57\\x33\\x19\\xff\\x26\\x47\\x75\\x39\\x6b\\xae\\x1a\\x77\\x99\\x91\\xc3\\xe3\\x5d\\xd7\\xa9\\xc8\\xd8\\x6d\\x78\\x94\\x2f\\xbe\\xef\\xcb\\x21\\xb3\\x30\\x43\\x19\\x82\\x83\\x6e\\x99\\x3b\\x38\\xe4\\x1e\\x31\\xa0\\xf7\\xde\\xdd\\x18\\x3b\\xeb\\xd6\\x49\\xa3\\x9d\\x2d\\x1b\\x4f\\xd4\\x36\\x8d\\xed\\x32\\x38\\x6f\\xc4\\xc2\\x29\\x25\\xe8\\xa3\\x2e\\xd5\\x15\\xbd\\x96\\x4e\\xdf\\x7f\\xfa\\x75\\x8c\\xe9\\xfa\\xbd\\x13\\xfa\\x6e\\xdd\\xd7\\x63\\x7c\\xcd\\x78\\x5f\\xa9\\x77\\xe0\\x7a\\x65\\xe7\\x04\\x78\\x2a\\x1f\\x31\\xc7\\x79\\x07\\x95\\x06\\xb8\\xcf\\x8e\\x64\\x64\\x30\\x16\\xbb\\xe8\\x16\\x75\\x46\\x8d\\x59\\x93\\x9e\\xee\\x76\\x5b\\xf5\\x66\\x86\\xcb\\xcd\\xb3\\x18\\xed\\x3a\\x56\\x0f\\x87\\xc4\\xfb\\x01\\xdd\\x93\\x51\\x0d\\xaf\\xe7\\xf5\\x94\\xf9\\x0c\\x69\\xe0\\xcb\\x4a\\xc1\\x33\\x5e\\x9f\\xa1\\xce\\x90\\xb6\\xa4\\xa2\\x47\\xea\\xda\\x2d\\xea\\x54\\x1d\\xf5\\xb0\\x9c\\xd9\\x39\\x42\\x65\\x35\\x29\\x35\\xa9\\xb6\\x0b\\x0e\\x8b\\x17\\x75\\xea\\x73\\x9c\\x74\\xff\\xe1\\x43\\xfb\\xc7\\x47\\x06\\x8c\\x7a\\xf5\\xce\\xda\\xe9\\xdb\\x2b\\x6a\\x2f\\xdc\\xb6\\xb0\\xf9\\x91\\xdc\\xc6\\x79\\xf3\\x27\\x4c\\x9e\\xbc\\x60\\x2a\\xfa\\xe8\\xa9\\x23\\x8f\\x3e\\x95\\x7f\\x77\\x5d\\x63\\xdd\\x75\\x95\\xdd\\x5c\\xa5\\x8d\\x43\\x7b\\xcd\\x92\\xbf\\x3c\\xc2\\x9e\\x3c\\x8b\\x26\\xdd\\xbc\\xba\\xa5\\xe5\\x96\\xd5\\xab\\xf1\\x22\\x1f\\x90\\x97\\x66\\xf6\\x27\\xd0\\x07\\x9b\\x23\\x0e\\x81\\xf7\\xa4\\xd9\\x83\\x06\\x8a\\x0a\\x86\\xc4\\x34\\x1e\\xb4\\x41\\x48\\x12\\x25\\x11\\x1f\\x62\\x46\\x74\\xa8\\x34\\x41\\x5a\\x20\\x31\\x7e\\xa9\\x44\\xaa\\x95\\x18\\x09\\x77\\xac\\x4a\\x12\\xe3\\x33\\x7b\\x90\\x89\\xc1\\xf1\\x95\\x4b\\x69\\x5b\\xf5\\x91\\x9e\\x6e\\x2d\\x69\\xf1\\x8c\\x08\\x75\\xf8\\x0e\\x59\\x6d\\x7e\\x48\\xed\\x5c\\x8d\\xc7\\x50\\xe4\\x4e\\xf9\\xda\\x6d\\x10\\x1d\\x66\\x64\\x5e\\x35\\x43\\x12\\x0f\\x6a\\x6b\\xbe\\x7d\\xdd\\xaa\\xdb\\xf4\\x4d\\x86\\x3b\\x06\\x0e\\x1e\\x3c\\xa4\\x57\\x8f\\xda\\xc1\\xbd\\xfb\\x2e\\xb5\\xaf\\x34\\x6e\\x59\\xb0\\x62\\xd3\\xce\\xfa\\x06\\xba\\x6d\\xea\\xd2\\xe5\\x2b\\x75\\x0f\\xf4\\xad\\xed\\xd1\\x67\\x6a\\xaf\\xea\\xaa\\xbe\\xb7\\xe9\\x67\\x37\\x2d\\x9a\\xb4\\xba\\xd4\\x34\\x99\\xec\\x55\\x41\\x5f\\x31\\x7e\\x4e\\x26\\x33\\xd8\\xf5\\x16\\x03\\x69\\xed\\xb4\\x3b\\x74\\xa6\\x78\\x23\\x77\\xf9\\x71\\x3c\\xc4\\x44\\x69\\xf6\\xe2\\x70\\x2b\\x84\\x32\\xc5\\x24\\xb5\\xea\\x30\\x51\\x90\\x20\\xa5\\x66\\xf6\\x73\\xd4\\xc4\\xfe\\x6d\\xcd\\x33\\x66\\x34\\x8c\\xab\\xf1\\x56\\x95\\xe4\\x6f\\x67\\x37\\xc7\\x26\\xd1\\x7b\\xc6\\x8d\\x9c\\x39\\x4e\\x33\\x89\\x2f\\xeb\\xd5\\x67\\x9c\\x62\\xeb\\x8e\\x52\\x6f\\x32\\x7e\\xf6\\x0b\\x02\\x83\\x91\\x11\\x04\\x03\\x25\\x49\\x76\\x07\\x0f\\x7e\\x1f\\x61\\x24\\xc6\\x66\\xd3\\x21\\x9d\\x89\\xc0\\xa0\\x43\\xed\\x00\\x43\\xed\\x5f\\x3a\\x79\\x3c\\x35\\xa9\\x37\\x0d\\xa4\\x53\\x0b\\xfb\\x6d\\x95\\x4e\\x92\\x9a\\xaf\\xa4\\x7b\\xa4\\xc0\\x40\\x5f\\x41\\x5f\\xca\\x9e\\x71\\xf2\\x4f\\x2a\\x10\\xb1\\x71\\xa4\\xb6\\x5e\\xed\\xe5\\xb5\\xf0\\xdc\\x5c\\x02\\x53\\x04\\xe8\\x72\\x2b\\xe9\\xdf\\xaf\\x8e\\x18\\x34\\x02\\x25\\x8a\\x92\\x20\\x39\\x5d\\x8c\\x01\\xc0\\x78\\x0a\\xd4\\x24\\x23\\x58\\x71\\x17\\xaf\\x48\\x09\\xc0\\xdf\\xb5\\xe1\\xda\\xf8\\x5c\\xe0\\x94\\x06\\xae\\xce\\x8d\\x49\\xca\\xdc\\x22\\xc6\\x9e\\xb7\\x60\\xc4\\xf2\\x45\\xcd\\xd7\\x0f\\x6b\\x98\\xde\\xdc\\xcc\\x33\\x9b\\x06\\xf7\\x59\\x7d\\x1b\\xee\\x3f\\x5a\\x32\\x74\\xf5\\x4c\\xf4\\xe7\\x4b\\x5f\\x21\\x71\\xa1\\x4f\\x91\\xbb\\xf7\\xd1\\x57\\xf4\\xbf\\x49\\x8f\\xac\\x99\\xea\\x17\\x31\\x9a\\x05\\x3d\\x6b\\xc0\\x4b\\x25\\x44\\xc9\\x68\\x38\\x85\\xfa\\x53\\x63\\x71\\x7f\\xcd\\x71\\x1d\\x8d\\xf7\\x84\\xdf\\xd0\\x16\\x15\\x18\\x86\\x53\\x9a\\x55\\xf0\\x09\\xa9\\x37\\xca\\xf1\\x33\\x72\\x26\\xce\\xa8\\x32\\x7e\\xb1\\xcc\\xe0\\xdd\\xb6\\x05\\xc3\\x87\\x37\\x0d\\x1b\\xd6\\xd4\\x84\\xbe\\x42\\xb3\\x1b\\x50\\x8d\\xfc\\x52\\x83\\xbc\\x93\\xb9\\xbf\\xa9\\x09\\xcf\\x0a\\xcb\\x87\\xf7\\x2b\\x7d\\xbf\\xee\\xa7\\xe0\\xb5\\x2c\\x87\\x92\\x8f\\x97\\x52\\x37\\xd3\\xe6\\x37\\xe1\\x26\\xa7\\x18\\xf7\\xff\\xee\\x77\\x14\\x3c\\xe1\\x77\\xf4\\x54\\x38\\x62\\x10\\xf4\\x7a\\x50\\x8c\\x06\\xe3\\xff\\x46\\xab\\xe3\\x04\\x9d\\x04\\x4a\\x2a\\x3a\\xa9\\xc8\\x50\\x0c\\x1a\\x4e\\x9d\\x65\\x9a\\x80\\x8e\\x22\\x68\\x30\\x3f\\x9e\\x9e\\xe2\\x66\\xd2\\xed\\x76\\xa3\\xe0\\x37\\x32\\x3a\\x46\\x17\\x08\\x7a\\xd3\\x15\\x6a\\x7a\\x81\\x9a\\x46\\x07\\xef\\x50\\xb4\\xb5\\x8e\\x8f\\x68\\x4d\\xfd\\x79\\x9e\\xd2\\xe0\\x6e\\x41\\x8a\\x92\\x54\\x15\\x56\\x99\\xdc\\x7e\\xd6\\xb1\\xf6\\xd6\\x99\\xb4\\xf3\\x44\\x73\\x75\\x43\\x89\\xcb\\xe4\\x1c\\xc2\\x88\\x44\\x61\\x59\\x31\\xd5\\xbb\\xcf\\x5b\\x35\\x65\\x4e\\xcb\\xca\\xc6\\xc6\\xa6\\x95\\xdd\\x7a\\xae\\xae\\x28\\xac\\x7e\\x78\\xe5\\xd9\\x49\\xd1\\xe8\\x18\\xfa\\xe9\\xd8\\xf5\\x93\\x3d\\xb3\\x37\\x4e\\x1d\\x3c\\x40\\xcc\\xcb\\xcb\\x29\\x66\\xa7\\xe2\\x93\\xc0\\xfc\\xf8\\x09\\x75\\x96\\xfe\\x16\\x70\\x30\\x50\\xb9\\x27\\x71\\x1b\\x91\\xce\\x68\\xd2\\x9f\\x21\\x43\\x24\\x94\\xa1\\x64\\x9a\\x38\\x5c\\xf1\\xf6\\x24\\x35\\x6e\\x25\\x7e\\x1f\\xf0\\x1e\\x3d\\x36\\x27\\x2b\\x33\\xa3\\x30\\xe3\\x6c\\x33\\xba\\xa7\\xa6\\x44\\xb7\\x48\\x77\\x81\\xbd\\x11\\x3f\\xf7\\x53\\x78\\xee\\xd7\\xf0\\x40\\xb2\\xfb\\x2d\\xf5\\x9e\\x45\\x9d\\x87\\x69\\x84\\xe7\\x62\\x16\\xe7\\xd5\\x81\\x43\\x7c\\xca\\x3c\\xcc\\xd4\\xfb\\x16\\x94\\xbc\\x6f\\xb1\\xe3\\x96\\x62\\xf4\\x69\\x20\\x63\\x54\\x9f\\x95\\xdd\\xcf\\xe6\\x86\\x50\\x95\\x66\\xe6\\x08\\xd6\\x71\\x79\\xf4\\xcb\\x17\\x04\\x82\\xcb\\x6d\\x20\\x5b\\x3d\\xe0\\xbc\\xf1\\x7c\\x35\\x16\\x21\\x8a\\x17\\x68\\x4c\\x62\\x44\\xb1\\x84\\xc4\\xe8\\xea\\xf9\\x6a\\x64\\x6d\\x23\\xd3\\x43\\x1e\\xbe\\x02\\x1c\\x27\\xcc\\x36\\xf3\\xb1\\x0f\\xb7\\x86\\x3a\\x43\\xfa\\xb8\\x8b\\xa8\\x86\\x88\\xd5\\x01\\x12\\xea\\x15\\x04\\x4d\\x51\\x66\\x66\\xae\\x46\\x62\\x8b\\x4b\\xb2\\x0b\\x4e\\x11\\x88\\xb3\\x51\\xc5\\x53\\x01\\xaf\\xc3\\xe3\\x31\\xa8\\x4d\\x69\\x1e\\x50\\xcd\\x56\\x32\\x3f\\x46\\x52\\xdb\\xca\\x53\\x2e\\xda\\x3b\\x4f\\xf2\\x4d\\x5e\\xd9\\xfc\\x71\\x83\\x77\\xa2\\x85\\x9a\\x79\\x07\\xb7\\x1e\\x36\\x91\\xff\\x63\\x17\\xf3\\xb8\\xcb\\x7b\\xf8\\x24\\x2b\\xd3\\xfb\\xbe\\x85\\x53\\xcf\\xe6\\x97\\x67\\x15\\x0e\\x63\\x5e\\x9b\\x4b\\xda\\xb9\\xd1\\xe7\\x73\\x1b\\x9a\\x17\\x75\\x6c\\xf6\\x8e\\x3d\\xf2\\xa6\\x61\\xb1\\x71\\x16\\xce\\x2d\\x03\\x5e\\x83\\x80\\x3e\\x21\\xf0\\xdc\\x2c\\xe9\\x6e\\x0b\\xca\\x00\\xa1\\xd0\\xe9\\x32\\xdc\\x4c\\x66\\x56\\x48\\xe3\\x21\\xed\\x93\\x7e\\x87\\x9f\\x48\\x87\\xc5\\x6c\\x70\\xe0\\x96\\x2b\\xbd\\xd2\\x72\\x75\\xcd\\xf6\\xc9\\x70\\xa7\\xee\\xc9\\x90\\xf4\\x47\\xad\\x93\\xfb\\x6b\\x06\\x03\\xe8\\x2b\\xb2\\xa7\\x0d\\x04\\xb8\\xe9\\xc0\\xac\\xd1\\x0b\\xa7\\x36\\xe1\\xaf\\x70\\x9b\\xe9\\xbc\\x51\\xb8\\x6d\\xf2\\xd2\\xdf\\xd0\\xc1\\x41\\x3d\\xfa\\x0e\\xbc\\x6e\\xc8\\x4d\\xdb\\x20\\xd8\\x83\\x6f\\x95\\xae\\x49\\x65\\x57\\xef\\x19\\xe6\\x23\\x38\\x0f\\x7c\\x67\\x61\\xe4\\x1c\\x0e\\x8f\\xdf\\x64\\xf4\\x1b\\x03\\x41\\x97\\xb7\\x97\\xc2\\x3c\\x2e\\x00\\xd2\\x04\\x34\\xd7\\xe2\\xd6\\xdb\\x63\\x51\\x4e\\xfb\\x0c\\xee\\x06\\xc7\\x0a\\x3d\\xd9\\x13\\xd8\\xb1\\xfd\\x3a\\xa5\\x15\\x3d\\x79\\x06\\x09\\x7a\\xa3\\xdb\\xd9\\x25\\xa4\\x25\\x7d\\xe5\\x82\\xe6\\xeb\\x46\\x8d\\x9e\\x71\\x36\\xb7\\x32\\xa3\\xa4\\x8e\\xbd\\x6e\\xbb\\x4d\\xe9\\x47\\x97\\x59\\xf4\\xf9\\xc2\\x11\\xcd\\x8b\\x62\\x5f\\xbf\\x69\\x58\\x64\\x98\\x85\\x61\\xfc\\x19\\x60\\xfc\\x40\\xed\\xa1\\x37\\x93\\x1e\\x7a\\x8e\\xb2\\x50\\x7f\\xd8\\x42\\x2f\\x00\\x78\\xca\\x68\\xb3\\xce\\x2d\\xf4\\xa9\\xee\\xa5\\x2d\\x21\\x67\\xd7\\xec\\xa1\\xbf\\xae\\xae\\xc0\\x9b\\x9f\\x7f\\xf6\\xba\\x91\\x0d\\x33\\x56\\x62\\xb6\\x28\\x9c\\x57\\xdf\\x3c\\x1f\\xdd\\x33\\xcb\\xb0\\x44\\xf7\\x26\\xdd\\x13\\x03\\x98\\xda\\x43\\x8f\\x50\\x2f\\x6c\\x7b\\xd8\\xbf\\x93\\x3d\\xcb\\x66\\x3d\\x1e\\x75\\xa6\\xe1\\x38\\xde\\x04\\x62\\xa9\\x37\\x9f\\x05\\xc0\\x18\\x42\\x44\\x0d\\xfc\\xcb\\x11\\xda\\xa9\\x9d\\xa8\\x35\\xa9\\xd7\\x58\\x5a\\xe4\\x70\\xe2\\xfa\\x81\\x10\\xca\\xce\\xc1\\x13\\xfa\\xd0\\x49\\xd4\\x43\\x72\\x30\\x4b\\x16\\xc9\\x2f\\x59\\x02\\xdc\\x62\\xf6\\xef\\xb2\\x37\\xad\\xb8\\x01\\xbd\\x1d\\xe3\\xd1\\x37\\x69\\x91\\xc5\\x72\\x21\\xfd\\x3b\\x19\\x70\\xa8\\xf4\\xef\\xff\\x02\\x47\\x24\\x12\\x3f\\xdc\\x64\\x33\\x99\\x38\\xbb\\xd1\\x08\\xc2\\xea\\x72\\xdb\\x4c\\xa4\\xc5\\xd3\\x66\\x03\\x6f\\x46\\xea\\xd0\\xd0\\xaf\\xbb\\xaa\\xa1\\xbf\\xf3\\xfc\\xb7\\x8e\\xbd\\xfd\\x1d\\x0b\\x84\\x92\\xdd\\xfd\\xf2\\xf1\\xe9\\xe3\\x05\\x79\\xb1\\x30\\x61\\xea\\x94\\x89\\x02\\x6a\\x15\\xc6\\x32\\xb3\\xe4\\xc5\\xcf\\x9f\\x43\\x5b\\x5f\\x94\\x0d\\xcd\\x2d\\xab\\xd7\\xd0\\xe3\\x9a\\x57\\xb7\\x2c\\xc7\\x70\\x82\\x4e\\x7f\\x9c\\xe8\\x2d\\x07\\x95\\x4e\\x8d\\x8b\\x58\\x9c\\xac\\x4d\\x6b\\x36\\xbb\\x79\\x4a\\x34\\x18\\x28\\x96\\xf1\\xfa\\x84\\x76\\x50\\xe7\\x56\\x0f\\xef\\x21\\x8e\\x83\\x96\\xc7\\xbd\\xb5\\x36\\x37\\x72\\x93\\x1f\\x4d\\x08\\x0b\\x0d\\x51\\xe6\\x71\\x5f\\x26\\xd9\\x42\\x92\\x2c\\x5d\\x50\\xb4\\x39\\xee\\x93\\x12\\xb3\\xe0\\x3b\\xbc\\xc6\\x97\\x93\\xc0\\xf7\\xcc\\x91\\x7a\\xa2\\x2c\\xd1\\x09\\x72\\x44\\x17\\xb4\\xdc\\x8a\\x8c\\x0b\\x6f\\xdb\\x20\\x7f\\x73\\x67\\xff\\x41\\x03\\x6f\\x90\\x17\\xb4\\xde\\xd0\\xe7\\x2c\\x0a\\x8a\\xcf\\x9d\\x44\\x53\\x33\\x91\\x28\\xff\\x60\\x7a\\xfe\\xa4\\xbc\\xd3\\x27\\x7f\\x4c\\x3f\\x72\\xeb\\x6d\\xc6\\xd8\\x51\\xf3\\x6d\\x5b\\xe4\\xcb\\x99\\xf4\\x10\\xdb\\x36\\xa2\\x0b\\xab\\xa9\\x67\\x99\\x9d\\xe0\\x77\\x96\\x51\\xb3\\x22\\x16\\x2a\\x27\\xc7\\x6d\\xb4\\x59\\x39\\xa3\\xb5\\x34\\x58\\x1a\\x2c\\x0f\\x17\\xe7\\x29\\x2a\\x0c\\xde\\x1f\\xd1\\xb9\\xd3\\xb5\\x1c\\x2b\\x66\\x67\\x66\\x32\\x24\\x1a\\xa2\\xa8\\x4c\\x1c\\xb7\\x89\\x94\\x03\\xff\\x64\\xb3\\x89\\xea\\x1c\\x28\\xe5\\x0e\\x8d\\x24\\xc0\\x9c\\x35\\xae\\x64\\xf3\\x65\\x0d\\x39\\x83\\xf2\\x44\\x06\\x03\\x57\\xef\\xe7\\x24\\x6f\\xcd\\x54\\x77\\xda\\x8f\\xd4\\x16\\xd2\\x44\\x36\\x03\\x98\\x1a\\xed\\x17\\x27\\x8f\\x3e\\x1e\\xec\\xb1\\x62\\xc6\\xb8\\xf2\\xdb\\x36\\xaf\\xdc\\x6e\\x9d\\x6f\\xbf\\x67\\xf8\\xd0\\xaa\\x5e\\x75\\x4d\\xa3\\x2b\\xee\\xdd\\xbe\\x78\\xe8\\xf0\\x40\\x66\\x41\\xc6\\x69\\xba\\xad\\x47\\xcd\\xb2\\xcc\\x22\\x7f\\x20\\xbd\\x6a\\x68\\x97\\x99\\xf3\\x1a\\xa6\\x98\\x66\\x85\\xab\\x72\\xcb\\x2d\\x8e\\x60\\xd5\\x88\\x9e\\x73\\x97\\xe6\\x2f\\x9c\\xa6\\x59\\xa4\\xb9\\x80\\x4c\\x8a\\x3d\\x5b\\x0a\\xe7\\x37\\x1a\\xce\\x8f\\x4c\\x66\\x34\\x3b\\x70\\xa2\\xc8\\xe5\\x36\\xc6\\xe7\\x17\\x1b\\x49\\xd0\\xc0\\xa9\\x23\\xee\\x2a\\xa9\\x4e\\xfb\\x94\\xb0\\x85\\x25\\x1a\\xa0\\x53\\x2a\\x43\\xb2\\xa1\\x0b\\x65\\xf9\\xa5\\x81\\xcc\\x3c\\xeb\\xb4\\xe9\\x37\\xf8\\x42\\x05\\x55\\xe5\\x67\\x8d\\x37\\x4a\\xbe\\xae\\x83\\x98\\xea\\xa6\\xb5\\x86\\x65\\xd6\\x81\\xd1\\xcb\\xaf\\x92\\x3d\\x47\\xe8\\x29\\x78\\xbf\\x8b\\xbb\\x0d\\xf4\\xc0\\xc8\\x88\\xa8\\xa3\\x28\\xbb\\xdb\\x6d\\x61\\x4d\\x26\\x7f\\xc0\\xa5\\x78\\xfa\\xc7\\xa3\\x76\\xab\\xd4\\xcb\\x08\\xf2\\xa5\\xa7\\xd2\\x09\\x73\\xeb\\x81\\xda\\xc9\\x89\\x1a\\x95\\xc9\\x3c\\xc6\\x8b\\x9d\\xbc\\xd0\\x70\\x87\\xb9\\x1a\\xc4\\xf0\\x5f\\x63\\x88\\xc0\\x91\\xc2\\xd2\\xac\\xcc\\x50\\xbe\\x76\\xc7\\xc8\\x28\\x19\\x25\\x50\\xe8\\xcb\\x45\\xb7\\xbc\\x64\\xb8\\xd1\\x98\\x5b\\x33\\xf4\\x31\\x14\\x1b\\xf7\\xe8\\xa3\\xe3\\x64\\x7f\\x97\\x42\\x1d\\xbc\\xf3\\xbf\\x10\\x7f\\xbd\\x03\\xf6\\xc0\\x05\\xb1\\xfc\\xd8\\x88\\x0d\\xbc\\x43\\x9b\\xcb\\x6b\\x60\\x18\\x0d\\x84\\x9b\\x19\\x21\\x9f\\xc6\\x8e\\x47\\xdc\\x82\\xa3\\xcc\\x21\\x87\\x43\\xcf\\xb8\\x70\\x8b\\xba\\xa8\\x84\\xf3\\x06\\x51\\xb1\\x0d\\xff\\x3f\\xd6\\xde\\x04\\x4e\\xaa\\xe2\\x78\\x1c\\xef\\x7e\\xd7\\xdc\\xf7\\xbd\\xb3\\xb3\\xb3\\xb3\\xb3\\xb3\\x37\\xec\\x31\\x7b\\x72\\xed\\x20\\xd7\\x82\\x08\\x08\\x28\\x0c\\x0b\\xec\\x8a\\x08\\x48\\x44\\x2e\\xc1\\x08\\x2a\\xa0\\xe2\\xcd\\x25\\xa0\\xa8\\xa0\\xa2\\x68\\x04\\x5d\\x50\\x19\\x11\\x14\\x05\\x15\\x8d\\x0a\\x78\\x24\\xc6\\x68\\xd4\\x44\\x63\\xd4\\x6f\\x94\\xe0\\x19\\x12\\x95\\x7d\\xf3\\xaf\\xee\\x77\\xcc\\x9b\\xd9\\x45\\xf2\\xff\\x7c\\x7e\\xc0\\x1e\\xbc\\xa9\\xae\\xaa\\xae\\xae\\xaa\\xae\\xaa\\xee\\xd7\\xdd\\x57\\xdd\\xda\\x47\\xe2\\xd4\\xdc\\x0d\\x70\\x99\\x29\\x42\\xd9\\xfe\\xa6\\x9e\\x38\\x40\\xc2\\xe7\\xb8\\x43\\xdd\\x3a\\x86\\x9f\\xc3\\x93\\x96\\x8d\\x1c\\x49\\xbd\\xee\\xe5\\xe7\\x2f\\x9f\\xdf\\xd6\\x86\\x5d\\x93\\x67\\x8b\\x3b\\xcf\\x81\\x09\\xe2\\x00\\x1e\\x21\\x1e\\x98\\xbe\\xf7\\xc1\\xeb\\xce\\x6f\\xbd\\x76\\xed\\xa4\\xe9\\x78\\x44\\xf7\\x94\\x15\\x8b\\x6d\\x83\\x2e\\xbf\\x80\\xca\\xdb\\x0d\\x7d\\xd8\\x0f\\x7d\\xa8\\x45\\x23\\x12\\xee\\x8a\\x88\\x43\\xcf\\x55\\x7b\\xcd\\x6c\\x49\\x7e\\x35\\x5b\\x5d\\x17\\x2f\\x35\\x5b\\xcc\\xd4\\x2c\\x8b\\x2d\\x52\\xac\\x15\\xc8\\x4e\\x17\\x73\\x37\\x3f\\x2b\\x2f\\xc0\\x37\\xd4\\x0f\\x62\\x94\\xc4\\x08\\x92\\x21\\xba\\x7c\\x44\\x53\\x24\\xaa\\xd7\\xf4\\xce\\x7e\\xba\\xe9\\x9d\\x1c\\xf3\\x33\\x6b\\xcb\\xb3\\xc5\\x15\\xc5\\xa1\\x50\\xf3\\xc4\\x01\\xe7\\x86\\x8a\\x42\\x8b\\x2e\\xea\\x5c\\x0c\\x3f\\xce\\x1d\\x30\\xb1\\x39\\x14\\x82\\x0f\\x0e\\xe0\\x8f\\xf7\\xde\\x39\\x68\\xd2\\x90\\x86\\x90\\x37\\x34\\x63\\x78\\x6b\\xf5\\xf0\\xc1\\xc3\\xfa\\x2e\\x5c\\x7d\\xc3\\xa2\\xbe\\xc3\\x06\\x0f\\xaf\\x6e\\x1d\\x3e\\x03\\x1e\\x37\\x0c\\x99\\x34\\x68\\x73\\x8a\\xe6\\x06\\x1f\\x83\\x7f\\xfe\\x1c\\x7c\\x0f\\xb9\\x8f\\x9c\\x33\\x99\\x39\\x33\\xb8\\x66\\x4e\\x62\\x5d\\x9f\\xc3\\x7a\\x2f\\xe7\\x32\\x92\\xc3\\x56\\xe8\\xa9\\x8c\\xb3\\xee\\xd8\\xb4\\xfc\\xb1\\xc7\\x96\\x6f\\xc2\\x1f\\xaf\\xbd\\x1f\\x7f\\x28\\x86\\x5e\\x7e\\x19\\x7f\\x26\\xc6\\xee\\x5f\\xab\\xa1\\xe1\\x26\\x34\\x0c\\x82\\x15\\x02\\x30\\x8f\\xd7\\x41\\x0f\\xae\\x60\\x91\\x99\\xd2\\x60\\x7b\\xa5\\x21\\xbd\\xff\\x2d\\xcf\\xe9\\x0e\\xf2\\x86\\x06\\xa4\\x88\\xb7\\x6f\\xdf\\xb8\\x71\\xf5\\xf2\\xd1\\x93\\x9e\\x28\\x8f\\xad\\x8c\\x54\\xb2\\xd7\\xfc\\xfe\\x83\\x8d\\x0f\\xe2\\x3f\\x8a\\xe5\\xb3\\xe7\\xe0\\xfe\\xd3\\x5e\\x1a\\xdd\\xf6\\x1a\\xea\\x71\\xee\\x81\\xde\\x80\\x11\\x4f\\x6e\\x72\\x36\\xb0\\x46\\x13\\x6b\\x20\\xc9\\x0e\\x0f\\x40\\x35\\xe4\\x55\\xdc\\x1e\\xaf\\xe1\\xe2\\x28\\x5b\\x6a\\xc5\\x6c\\x94\\x29\\xda\\x80\\x4d\\xf2\\xb9\\x07\\xdc\\xe7\\xdd\\x3c\\xfe\\xee\\x77\\xf5\\x43\\xba\\xff\\x06\\xb8\\xeb\\x01\\xf7\\xdd\\x14\\x77\\x22\\x61\\xd5\\x33\\x82\\x8e\\xc5\\x02\\x36\\x19\\x05\\x7a\\x55\\xfe\\x48\\x7a\\x4c\\x79\\xcd\\x5e\\xac\\x43\\x3a\\xa5\\x22\\xd2\\x37\\x53\\x5a\\xcb\\xdd\\xf8\\x2e\\xd7\\xce\\xe0\\x5f\\x3d\\x7e\\x49\\x4c\\x32\\xb5\\xe2\\x20\\xfc\\x21\\xfe\\xaa\\x93\\x69\\x99\\xd1\\xd9\\xfd\\xfb\\x19\\x34\\x16\\xf9\\x11\\xe6\\xf9\\x0f\\xa8\\xfc\\x26\\x25\\x1c\\x2e\\x9b\\xc5\\x24\\xb8\\xdd\\x56\\xa7\\xc5\\xe9\\xf1\\x3a\\x6d\\x76\\x9b\\x72\\x6a\\x59\\xcd\\x5e\\x8b\\xcb\\xec\\x92\\x67\\x32\\x33\\xad\\x89\\x29\\xe1\\x74\\xbd\\x66\\x49\\x21\\x97\\x07\\x89\\x0d\\x35\\xbc\\x06\\xdb\\x50\\x58\\x62\\x93\\xa1\\x92\\x48\\x7e\\x6d\\xf1\\x43\\xa2\\x4b\\xc3\\xda\\xdd\\x2d\\x35\\xfa\\x85\\x86\\x77\\xda\\x09\\x87\\x17\\x75\\xbf\\x46\\x72\\x3b\\x0b\\x9e\\xc7\\x1e\\x02\\xfe\\xbc\\x10\\x2d\\x2d\\x4e\\xf8\\x8d\\x81\\x00\\x38\\x46\\xc1\\xeb\\x75\\xda\\x43\\x82\\xe0\\xf0\\xd8\\x3d\\x85\\x11\\x8f\\xd3\\x25\\xbf\\x54\\xef\\x93\\x8e\\xfe\\xb2\\xb1\\x61\\x96\\xb1\\xb0\\x2c\\x6b\\x83\\xc4\\xb8\\x26\\x15\\xb0\\x7b\\xe5\\x53\\x6d\\xcc\\x64\\x61\\x99\\x84\\xb2\\x47\\xe4\\x0d\\xbb\\x60\\xe5\\xd2\\x4d\\x9e\\xb9\\x6f\\x78\\xa9\\xd7\\x10\\x60\\xe5\\x4c\\x9b\\x4a\\x4c\\x2a\\x49\\x51\\xb9\\x03\\xb1\\x22\\x9d\\x7c\\x68\\xac\\x79\\xf8\\x8a\\x73\\xc6\\x4f\\x99\\x3e\\xe7\\xf1\\x82\\xbc\\xe9\\xb1\\xb7\\xf0\\x8b\\xe2\\x14\\xa6\\x06\\x3a\\xb3\\xfc\\x9c\\xf3\\x97\\xd4\\xd7\\x94\\x30\\xa3\\xaf\\x9a\\x3f\\xb9\\x6d\\xe2\\x85\\xfd\\x86\\x54\\x8e\\xbf\\x88\\x69\\x26\\x72\\x5f\\xb5\\xaa\\xb0\\x24\\x3f\\x4c\\xcf\\xa5\\x01\\xd9\\xef\\x81\\xbe\\x05\\xd0\\xf4\\x84\\xdb\\x62\\x66\\xbd\\x7e\\xc6\\x29\\x08\\x8c\\x37\\x60\\xe6\\xf3\\x82\\x3e\\x96\\xf5\\xd2\\x28\\x82\\x65\\x0d\\xc8\\x60\\x93\\x8e\\xba\\xb5\\x18\\xf6\\xe3\\xfa\\xbd\\x4c\\x00\\x05\\x94\\xe1\\xaf\\x51\\x6f\\xa9\\x3d\\xc3\\xf5\\x29\\x52\\x5e\\x40\\xce\\x23\\xf4\\xf4\\x28\\x93\\xe0\\x08\\x1e\\xc4\\x24\\xc5\\x5f\\x6e\\xba\\xf3\\xd9\\xad\\x37\\xef\\xb0\\x5d\\x55\\xf0\\xe8\\x25\\x8b\\x96\\x2f\\x68\\xc6\\x26\\xb1\\x88\\xfb\\xfc\\x5a\\xd1\\xb5\\x7b\\xcd\\xbd\\x2f\\xdd\\xb2\\xca\\xf0\\xd4\\x6d\\x4b\\x2e\\x5f\\x71\\x09\\xb6\\x93\\xb8\\xa7\\x12\\xff\\x9d\\x7d\\x50\\xe0\\xe9\\x39\\xb7\\x7e\\x34\\x2f\\x61\\xb5\\x79\\x3c\\x82\\xd5\\xeb\\x05\\xbb\\x0b\\xe4\\x79\\x08\\x9b\\x89\\x48\\x72\\xbe\\x67\\x85\\x67\\x8f\\xe7\\x90\\x87\\xb3\\x79\\xc2\\x9e\\xb1\\x9e\\x0e\\xcf\\x7c\\xcf\\x3a\\xcf\\xfd\\x1e\\x9d\\x89\\xf5\\x78\\x58\\xbd\\xde\\x29\\x2b\\x92\\x1e\\xc7\\xc1\\x48\\x4d\\xd9\\x46\\xaa\\xb9\\x40\\xb3\\x67\\x58\\xc4\\xc8\\x6b\\xaa\\xce\\x9c\\xb8\\xe8\\xc1\\x1d\\xf7\\x6e\\x7c\\x18\\x0f\\xdc\\x71\\xa7\\x78\\xf8\\xa2\\x24\\x27\\xae\\x61\\x27\\xcf\\xb8\\x68\\x32\\x87\\x17\\x73\\x17\\xb0\\xff\\x16\\x7f\\x10\\x7f\\xc6\\x1c\\xb6\\x31\\x76\\xf1\\xa7\\xee\\xc1\\x2f\\xbe\\xf1\\xe2\\x1b\\xec\\x6f\\x9e\\x7d\\xfd\\x75\\x1a\\x8b\\xb3\\xe2\\x13\\xdc\\x4b\\x78\\x9c\\x50\\x0e\\x36\\x4b\\x6e\\x2e\\x1c\\x9c\\x28\\x24\\xc6\\xcc\\x33\\x7a\\x8b\\xd1\\x68\\x15\\xf4\\x7a\\xab\\xde\\xb0\\xbe\\x5d\\xaf\\x67\\x13\\x24\\x95\\x34\\xad\\x6f\\x37\\x6e\\x52\\x0a\\x90\\x79\\xc7\\xeb\\xaa\\xb5\\x37\\xc0\\x2a\\x27\\xc2\\xb0\\x0d\\x71\\x97\\xa7\\x09\\x92\\x57\\x1e\\xbe\\xaa\\xfe\\xf0\\x42\\x47\\xe3\\x43\\xdd\\x9d\\x0f\\x03\\x95\\x73\\x62\\xe2\\xb3\\x91\\x3d\\xfb\\xf7\\xef\\xde\\xbf\\x1f\\xe8\\xde\\x00\\x4f\\xae\\xd1\\xd2\\x65\\x58\\x1e\\x84\\x91\\x43\\x97\\x49\\xf0\\xfc\\xff\\x46\\x97\\x6d\\x70\\xc5\\x3d\\x6c\\x4c\\xa6\\x7b\\x7b\\xc7\\x0b\\x7f\\xc0\\xc1\\x87\\xba\\x75\\x40\\x38\\x82\\x87\\xc7\\xc4\\x17\\x64\\xc2\\xf4\\x0c\\xdb\\xd5\\xe2\\x18\\x34\\x2b\\xbd\\x0b\\x55\\x91\\x5b\\xae\\xca\\x99\\xb0\\x59\\x57\\x5c\\x8c\\xcc\\x0c\\xe7\\x75\\xe4\\xe5\\x79\\xfb\\x94\\xeb\\xc2\\x0e\\xae\\x0a\\xb9\\xfc\\xa8\\x3a\\x7e\\xac\\x0e\\xd4\\x08\\xd3\\xbd\\x36\\x9a\\x73\\xde\\x8b\\xa4\\xf9\\x84\\x4c\\x1e\\xe4\\xa7\\x7c\\xd4\\x83\\x34\\xaf\\x90\\x49\\x84\\xce\\x2f\\xbe\\x29\\x7b\\x23\\xe5\\x11\\xf8\\x07\\x93\\x46\\x6d\\x65\\xb5\\x61\\xc0\\x80\\x4b\\x0b\\x63\\x85\\x21\\x98\\x59\\x8a\\x43\\xa5\\x75\\xe2\\x98\\x84\\xdd\\x6d\\x35\\x0a\\x06\\xbd\\xd1\\xee\\xb4\\x79\\x9c\\x76\\x83\\xc3\\x5d\\x13\\x19\\xe4\\x0f\\xb9\\x2c\\x7a\\x41\\x6f\\x76\\x3b\\xec\\x2e\\xb3\\x41\\xa7\\xb3\\x33\\xc0\\xaf\\xb8\\x93\\xfb\\x0c\\x4f\\xe3\\xff\\x24\\xdd\\xe1\\x61\\x34\\x18\\x5c\\x6e\\x17\\x5a\\x97\\x74\\xb9\\x8c\\xa4\\xa8\\x68\\x14\\x04\\xcb\\xda\\xa4\\xb0\\x5d\\x3e\\xbf\\xa9\\x52\\x92\\x4e\\x5c\\xbe\\x5e\\xc6\\x4a\\x5e\\x94\\x91\\x0e\\x70\\x1a\\xc4\\xf4\\xc7\\x78\\x5a\\x51\\x73\\x67\\xe7\\xec\\xc4\\xbc\\x1b\\x57\\x9c\\xd3\\x52\\x3f\\x65\\xda\\xa5\\x43\\xa2\\xfc\\x94\\x58\\x9f\\xd8\\xea\\x79\\x2d\\x23\\xca\\x6a\\xca\\x80\\xd6\\xab\\xdc\\xbb\\xb8\\x8a\\x7f\\x17\\xc6\\xa5\\x3a\\xe1\\xc7\\x1c\\xc7\\x40\\x5c\\x21\\x48\\x67\\xf4\\xb3\\x06\\x96\\x67\\x18\\x76\\x5d\\x92\\xa1\\x77\\x0a\\xda\\x8f\\x90\\xaa\\x24\\x8e\\x2b\\xb7\\x6d\\x61\\x9e\\x9c\\x02\\x84\\xab\\xc4\\xef\\xc4\\x9d\\xb8\\xdf\\x09\\x7e\\xce\\xa6\\x95\\x2b\\xa9\\xbc\\xc5\\x77\\x01\\x67\\x3f\\x8a\\xb3\\x34\\xe1\\x51\\x70\\x62\\x6e\\x1d\\x75\\x54\\xd5\\xe0\\xa7\\x30\\xaa\\x3e\\x3e\\xad\\x52\\x8b\\x2b\\x12\\x6b\\xf2\\x45\\x70\\x3f\\x71\\xa7\\xf8\\x5d\\xe2\\x04\\xee\\xc7\\xbd\\xbb\\xe9\\xb2\\x95\\x14\\x57\\x86\\x3f\\x19\\x17\\xcf\\x33\\x02\\x87\\x01\\x17\\x17\\xe6\\xaa\\x39\\x96\\xbc\\x7e\\x93\\x8d\\xcb\\x55\\x0a\\x7c\\xf1\\x27\\x4e\\x88\\xaf\\xe2\\x49\\xd8\\xc6\\xbd\\xbb\\x72\\xe5\\xa6\\x33\\xf1\\xc4\\x83\\x58\\xe5\\xbe\\xf2\\xd0\\xc9\\x23\\x39\\x3c\\xe9\\x4a\\x63\\x84\\xa7\\x57\\x4f\\x24\\x60\\x0a\\x9c\\xc4\\x4f\\x5c\\x79\\xd9\\x26\\xca\\xd3\\x0c\\xc0\\xb5\\x1d\\xc6\\x47\\x47\\xf4\\x89\\xd1\\x09\\xac\\x8e\\x45\\x1c\\x87\\xf4\\x90\\xfd\\x28\\xd8\\x04\\xda\\x49\\x18\\x95\\x23\\xd3\\xea\\xe8\\xa6\\x57\\xb9\\x7a\\x4d\\x11\\xeb\\x4a\\x75\\xd0\\xdd\\x26\\xbc\\x7d\\xe0\\x27\\xa7\\xc4\\x77\\x07\\x9e\\xf8\\x9a\\x1f\\x3c\\x6f\\xd9\\xb2\\x4d\\xf3\\x14\\xf9\\x65\\xf0\\xd7\\x24\\xfc\\x3c\\xc2\\x1c\\xe2\\x74\\x40\\x43\\x2f\\x60\\xa5\\xd3\\xc0\\x2d\\xaa\\xae\\xab\\x3b\\x3e\\xad\\xae\\x2e\\x1b\\xb7\\xab\\x14\\x98\\xf6\\x35\\xf9\\x96\\x7e\\x7d\\x62\\x20\\xae\\x3a\\xf5\\xc9\\x40\\xd2\\xff\\x79\\x9b\\x96\\x2d\\x9b\\x07\\x76\\x30\\x5f\\x9c\\x84\\x2e\\x4b\\xbf\\x01\\x9e\\x2c\\x3f\\x61\\x32\\xf2\\x0e\\x07\\x72\\x59\\xc0\\x1e\\x59\\x54\\xfd\\xee\\xb1\\x38\\x61\\xb2\\x8e\\x4e\\x60\\x2c\\xdd\\x86\\x4a\\x92\\x54\\x65\\x1f\\xf6\\x5a\\x76\\x22\\xc7\\xf8\\x9a\\x6a\\x8b\\x9d\\xa1\\x81\\x0d\\xe2\\x24\\xec\\x1f\\xe4\\x1d\\x55\\x13\\x61\\xa7\\x70\\x23\\x9a\\xb6\\x02\\xde\\x2b\\xb8\\x6b\\xd0\\x1a\\x21\\x02\\x2e\\xb1\\x28\\x61\\x85\\x01\\xe2\\x90\\x4e\\x20\\xa7\\xb8\\x23\\x96\\x9c\\x54\\xfe\\x66\\x1d\\x9d\\x5b\\x00\\xbb\\xc4\\xa1\\x47\\xe7\\xf3\\xc4\\x1a\\xd6\\xec\\xda\\x25\\x7e\\x29\\x44\\x16\\x75\\x76\\x2e\\xda\\x39\\x1e\\x31\\xe2\\xff\\x89\\x17\\xe2\\xae\\xf4\\xcf\\x80\\xc3\\x02\\xd9\\x65\\xb1\\x5e\\x67\\x32\\x19\\xcc\\x90\\xe1\\x82\\xfa\\x5b\\x39\\x5a\\x7d\\xb6\\x5a\\x20\\xf2\\xe0\\x4c\\x9c\\xde\\x00\\x7f\\xc1\\x67\\x09\\x12\\x6e\\xf2\\xbe\\x37\\x39\\x6f\\x27\\xee\\x90\\x8e\\x9b\\x8e\\x67\\xca\\x34\\x74\\x52\\xab\\xad\\xf1\\x81\\x8b\\x68\\x2a\\x6d\\x80\\x58\\x24\\xee\\x6b\\x8a\\x63\\xf1\\xcb\\x5d\\xbb\\x98\\xfc\\xf1\\x3b\\x09\\xe9\\x3d\\xd2\\x0f\\xf1\\x61\\x1c\\xd8\\xb5\\x8b\\xde\\xef\\x83\\xc8\\xde\\x71\\x7e\\x98\\xb3\\x04\\x15\\x23\\xe4\\xd0\\x31\\x5f\\x30\\xe4\\x62\\x79\\xcb\\x33\\x2c\\x83\\xdc\\x56\\x4e\\x17\\xc3\\x95\\x0d\\x0d\\x04\\x6e\\xa5\\x58\\xc3\\xdd\\xcc\\x8d\\x01\\xb8\\xa1\\x32\\xdc\\xd0\\xf4\\x07\\xc8\\xfe\\x24\\xcb\\xec\\x4f\\x1f\\x4e\\x35\\xd6\\xd8\\x58\\x09\\x94\\xc0\\x3e\\x88\\x10\\xb7\\x52\\x98\\x05\\xb0\\x31\\x0a\\x4b\\xde\\xca\\xb9\\x07\\x79\\x52\\x6c\\x11\\x5f\\xc2\\xee\\x4f\\xbf\\x97\\x2a\\x2c\\xe2\\x11\\x01\\x47\\x95\\x14\\xf7\\xde\\xf4\\x09\\xee\\x1c\\xfe\\x18\\xc0\\x0f\\x43\\xc8\\x2e\\x30\\xf7\\x8c\\x46\\x12\\x1e\\xf1\\x10\\xb7\\x92\\xf2\\x46\\xf1\\xe8\\xbf\\x63\\xdd\\xf0\\x81\\xf5\\x00\\x62\\xd3\\x27\\x54\\x1c\\xa4\\x3d\\xc0\\xa9\\xed\\x09\\x1c\\xf3\\xbd\\x04\\xc7\\xa4\\x3f\\x4d\\x45\\x63\\x46\\x05\\xee\\x41\\xf1\\xa0\\x16\\x1f\\xf3\\x3d\\xb3\\x52\\xc1\\xf7\\x4d\\x2a\\xa2\\xc5\\x77\\x50\\x8b\\x0f\\xe0\\x9a\\x14\\x7c\\x07\\x53\\xc5\\x19\\x7c\\x0b\\xc5\\xa1\\xdc\\x52\\xe1\\x5e\\x80\\x2b\\x01\\xbe\\x4b\\x0d\\x43\\xf0\\x51\\x02\\x8f\\x96\\x61\\x12\\x7b\\xe5\\x27\\x60\\x92\\xe6\\x4b\\x98\\x60\\x24\\x64\\x06\\x39\\x2e\\xf5\\xe5\\x99\\xa9\\x38\\xa5\\x6e\\xd3\\xbb\\x4f\\xa1\\x7d\\x33\\x9f\\x82\\xf6\\xc3\\x49\\x7b\\xb4\\x14\\x6d\\x97\\xdb\\x9f\\x2f\\xb7\\x0f\\x3a\\x4a\\x98\\x48\\x2c\\x82\\xdc\\x31\\x3c\\x3f\\x58\\x40\\x7e\\x68\\xdb\\x13\\x39\\x5f\\x42\\xe5\\x5c\\x2a\\xc9\\x39\\xfd\\x3e\\x95\\x33\\xe3\\x01\\xb2\\xfb\\x81\\x57\\x97\\x27\\x4b\\xce\\xb7\\xa6\\xbf\\x20\\x77\\x49\\x00\\xfc\\x08\\x80\\x07\\x39\\x1f\\x44\\x48\\xf7\\x14\\x03\\x03\\xdf\\xda\\xa0\\xc8\\xfb\\x12\\x2a\\x9f\\x52\\x59\\x8e\\xff\\x54\\xfa\\xfd\\x96\\x8a\\x8b\\xe0\\x01\\xb8\\x0c\\x1e\\x02\\x77\\x12\\xe0\\x4c\\xfb\\x18\\xbe\\xb8\\x44\\x70\\x52\\x82\\xf2\\xf8\\x1d\\xd4\\xe2\\x03\\x39\\x4e\\x56\\xf0\\xbd\\x9b\\x72\\x6b\\xf1\\x1d\\xd4\\xe2\\x03\\xb8\\x89\\x12\\x3e\\x26\\x96\\x83\\xaf\\x25\\x0b\\xdf\\x97\\xcc\\x85\\x0a\\xbe\\xb7\\x53\\xde\\xa0\\x06\\x5f\\x4b\\x16\\xbe\\x2f\\x29\\x5d\\xc0\\xc7\\x95\\x56\\x65\\xe3\\x9b\\x94\\x85\\xef\\x24\\xd3\\xa9\\xe0\\x7b\\x3f\\x15\\x70\\x69\\xf0\\x4d\\xca\\xc2\\x77\\x92\\x99\\x2a\\xf7\\xb7\\xa2\\x38\\x0b\\x1f\\x8c\\xc7\\x0c\\x5d\\x25\\xc0\\x95\\x51\\xb9\\x9c\\x66\\x96\\x91\\x1c\\x6e\\x1f\\x83\\x5d\\x30\\x20\\x78\\x7f\\xfa\\x27\\xe8\\x35\\x36\\x49\\x86\\x22\\xdb\\xd5\\x6a\\xd0\\xfd\\xe1\\xc2\\xef\\xa1\\x4d\\x1b\\xd5\\x81\\x21\\xe9\\x97\\xb1\\x0b\\xc6\\xe6\\x56\\xf0\\x78\\xbe\\x84\\x85\\x65\\x8a\\x1c\\x25\\x2c\\x83\\x8b\\x22\\x16\\x57\\x56\\xbb\\x5c\\x5a\\xdd\\xcc\\x0d\\x88\\xb6\\x60\\x30\\x19\\x7d\\x0c\\x53\\xb4\\x96\\x12\\xea\\x8d\\xd6\\x52\\x34\\xf0\\x7f\\xa3\\x05\\xfd\\x9f\\x41\\xe5\\x54\\x26\\xf7\\xff\\x4e\\xda\\x7f\\x6c\\x73\\x59\\x24\\x22\\x32\\x7e\\x80\\x1b\\x4e\\x7d\\x44\\x9b\\x0c\\x77\\x85\\x24\\x27\\x43\\x51\\xbe\\xc5\\x9d\\x2d\\x77\\x2d\\xbe\\xef\\x98\\x4d\\x12\\x3e\\xa7\\x27\\xf2\\x6b\\xf8\\xbe\\x63\\x2e\\x93\\xf0\\xe9\\x8a\\x6b\\xb2\\xf1\\x0d\\xe5\\x66\\x08\\x3b\\x25\\x7c\\xd0\\xaf\\x65\\x78\\x09\\x85\\x27\\xbb\\xc9\\xfe\\x4d\\xec\\xa1\\x90\\xda\\xc3\\x3f\\x52\\xd1\\x4a\\x64\\xd4\\xd8\\xc3\\x6a\\x68\\x37\\x9c\\xda\\x5f\\x9b\\xdc\\x4e\\xb2\\x8b\\xbb\\x61\\x92\\x75\\x25\\x4c\\x6c\\x35\\x88\\x83\\xab\\xeb\\x27\\x49\\x43\\x6e\\xf3\\x12\\xc8\\x7d\\x20\\xb5\\xb9\\x72\\xd9\\xb7\\xd5\\x82\\xcd\\x01\\x34\\xb6\\xf0\\x25\\xd8\\x6f\\xb2\\xe8\\x0c\\x0a\\x34\\xdd\\xe3\\x44\\xcf\\x38\\x11\\x66\\x41\\x2c\\x9d\\x8f\\x26\\x24\\x8a\\xf2\\x03\\x01\\xc6\\x62\\xf1\\x52\\x07\\x1f\\x2a\\x20\\x4b\\x8a\\xe3\\x92\\x5e\\x98\\xe2\\x8d\\x81\\xbc\\x0d\\xed\\x01\\x63\\xc2\\xe8\\xa0\\xfb\\x44\\x8c\\x2c\\x23\\x5d\\x5a\\x96\\xe7\\xb7\\xbf\\xd9\\xcb\\x1a\\x9f\\x23\\x33\\x6b\\x4b\\xf7\\x26\\xf4\\x3c\\xc8\\x84\\x6c\\x10\\x62\\x86\\xa6\\x7a\\x1c\\x5c\\x22\\x5e\\xf0\\x1a\\x1b\\x3b\\xfd\\x21\\x1b\\xcb\\x3e\\xab\\x84\\x59\\x75\\xf8\\x30\\xe9\\xdf\\x42\\xd0\\x91\\xb1\\xc2\\x74\\xe8\\x5f\\x05\\xed\\xdf\\xad\\xa8\\x04\\x9b\\x68\\xff\\x82\\xd0\\xbf\\x8a\\xfc\\x10\\x6f\\xcc\\xf4\\x0f\\xe0\\xd7\\x89\\x93\\xb9\\x02\\x7e\\x3c\\xc0\\x8f\\x22\\xb2\\x33\\x8c\\xfa\\x12\\x11\\x89\\xd7\\x3a\\x88\\xc4\\xff\\x93\\x82\\x39\\x30\\x3f\\x0b\\x9e\\xe8\\x6d\\x05\\x95\\x5f\\xa5\\x66\\x6e\\x20\\xf8\\x6d\\x80\\x1f\\x5b\\x6c\\xbc\\x29\\x4b\\x7e\\x07\\x00\\x3e\\x00\\xf2\\x73\\x83\\x04\\xcf\\x49\\x44\\x19\\x97\\xcb\\xed\\xf7\\x98\\x8c\\x46\\x8f\\x9b\\x85\\x7c\\xc4\\xbb\\xa1\\xdd\\x03\\xf3\\x2f\\xa7\\x33\\xb9\\x3d\\x3a\\x1b\\x79\\xbb\\x4c\\x67\\x97\\x2f\\x7b\\xa3\\x15\\x9e\\x1e\\x9b\\x96\\x20\\x88\\x76\\xeb\\xe2\\x8d\\xf1\\xc2\\x40\\xe6\\xdd\\x92\\x28\\x11\\xd5\\x81\\xa7\\x0d\\xec\\xa5\\x5f\\xe1\\xe9\\x4f\\x5f\\xba\\xf8\\xea\\xfb\\x53\\x78\\xe4\\x6b\\xfc\\xb0\\x74\\xff\\x5b\\x8f\\x8b\\xd7\\x77\\x57\\x33\\xcf\\xdc\\x7c\\xc3\\xd3\\xf7\\x76\\xaf\\xe1\\x1f\\x01\\x11\\x29\\x7e\\xb2\\x82\\xea\\x6f\\xa5\\xec\\xff\\xba\\x25\\xfd\\x45\\x2a\\xfb\\x14\\xee\\x80\\xea\\x27\\xcf\\xd5\\xc0\\x81\\x7f\\xc1\\xe9\\xee\\x94\\xd7\\xef\\x36\\x2a\\xf3\\x12\\x95\\xc9\\x8d\\x0a\\x3e\\xc3\\x70\\x1c\\x55\\x6c\\x99\\x3a\\x0e\\xe4\\x90\\xd1\\x2a\\xb6\\x0c\\x89\\x84\\x24\\x97\\x1b\\xa9\\x5c\\xf2\\x51\\x5b\\xa2\\x84\\x48\\x26\\x3f\\x20\\xc9\\x26\\xe0\\xe6\\x42\\x05\\xde\\xbc\\x40\\xde\\xfa\\xa4\\x27\\xc0\\xcb\\xb2\\xe1\\x40\\x34\\xac\\x5a\\xff\\x6a\\x8d\\xf7\\xba\\x33\\xe7\\x8c\\xf2\\x89\\xf4\\x90\\x11\\x13\\x79\\xa8\\xfb\\x8f\\x0f\\xf7\\x22\\xa6\\x37\\xc9\\x3d\\xa2\\xa4\\xff\\xb7\\x80\\x7d\\xa9\\x72\\xb2\\x0b\\x68\\x99\\x53\\x92\\xcb\\x66\\x78\\xae\\xca\\x85\\x3c\\x2f\\x50\\xec\\x78\\x91\\x56\\xae\\xcc\\x37\\x34\\x16\\x21\\x72\\xb5\\xf9\\xb2\\xe5\\xba\\x48\\x2b\\x57\\x19\\x4e\\x96\\xab\\xbf\\x50\\x95\\xeb\\x1b\\xe0\\x3f\\x30\\xc5\\x57\\x25\\xfb\\x0f\\x19\\x1f\\xf6\\x44\\x4c\\x42\\x06\\xdf\\x3a\\x3a\\x0f\\x10\\x7c\\xa3\\x65\\xb8\\x65\\x92\\x9f\\x41\\xbe\\x28\\xc7\\x64\\xe0\\xc8\\xbd\\x8a\\x98\\xfa\\x5c\\x8a\\x4f\\xff\\x6f\\x8a\\x2f\\x48\\xcf\\xc6\\x0c\\xf0\\xc4\\x75\\x62\\x9f\\x47\\x42\\x2c\\x0d\\x95\\x82\\x9f\\xce\\xd3\\xfb\\xa1\\xdd\\x0f\\xd0\\xdf\\x12\\x34\\xf7\\x2f\\x64\\x96\\x5f\\x8a\\x46\\x41\\xa4\\x1b\\x4f\\x44\\xa0\\x9d\\x91\\x3a\\xde\\xf5\\x56\\xbc\\xd2\\x8a\\x17\\x58\\x71\\xa7\\x15\\x8f\\xb3\\xe2\\x84\\x15\\x23\\xab\\x59\\x20\\xfe\\x64\\x1a\\xfd\\xa3\\x62\\x95\\x75\\xe6\\x28\\x8d\\x3d\\xfa\\x52\\x9d\\x19\\x82\\x3f\\x40\\xd4\\x6b\\x61\\x07\\xd8\\xd1\\x20\\x8b\\x3d\\xc7\\x8e\\xe8\\xfd\\xf6\\xc2\\xcb\\xc8\\x04\\xd1\\xf0\\xe4\\x44\\x5f\\x23\\xc6\\x26\\xf2\\xa6\\xbf\\xd5\\x66\\x73\\x98\\xc9\\x89\\xd3\\x26\\x93\\x99\\x63\\x9d\\x2e\\x2b\\x49\\xb9\\xac\\x66\\x5e\\xb9\\x58\\xca\\xc6\\x43\\xa8\\x2f\\xbd\\xd6\\x25\\xc7\\xdc\\xad\\xc7\\x2b\\x73\\xde\\x47\\x51\\x42\\xcf\\xda\\x9a\\x48\\xe6\\x9d\\x37\\xa6\\xa1\\x09\\x52\\x55\\xf6\\x0e\\xcd\\xeb\\x6e\\x6f\\x76\\x3f\\xf2\\xc1\\x5b\\xe2\\x1b\\xf8\\x87\\x19\\xe2\\x7c\\x7e\\xd8\\xe9\\xff\\x23\\xaf\\xba\\x75\\xdf\\xc5\\x1f\\x77\\xff\\x3d\\xf4\\x81\\x6a\\x57\\x47\\xe9\\x78\\xf5\\x95\\xe3\\xbd\\x2a\\x65\\x5c\\xff\\x96\\x52\\x4c\\x8b\\xdc\\xd5\\x4f\\xe3\\x14\\x32\\x5e\\x63\\x64\\x38\\xbf\\x02\\xf7\\x81\\x16\\x8e\\xc4\\x1f\\x1a\\x7c\\x10\\x57\\x6c\\x56\\xe0\\xfe\\x9a\\xb2\\x6a\\xf1\\x1d\\xd4\\xe2\\x03\\xb8\\x6b\\x14\\xb8\\x77\\xb5\\x70\\xff\\x02\\xba\\xa3\\x29\\xbe\\x6a\\x99\\x6e\\xb9\\x02\\x77\\x2a\\xa5\\x33\\x60\\x5e\\x86\\xbb\\x11\\xe0\\xa6\\x52\\x7c\\x63\\x65\\xb8\\xa0\\xa4\\x77\\x2e\\x93\\x45\\xab\\x4f\\x14\\x1f\\xf5\\xb5\\xd5\\x64\\xfe\\x91\\xf0\\xa9\\x3e\\x57\\xbf\\x97\\x31\\xf2\\x25\\xd2\\x00\\xb2\\x80\\xf3\\x75\\x6e\\xaa\\x30\\x9d\\x56\\x13\\x1c\\x68\\x6c\\xa2\\xc2\\x62\\x34\\xf2\\x98\\x6c\\x2c\\xe0\\xad\\x36\\x18\\x38\\x9b\\x9d\\xa4\\x76\\x7a\\xdd\\xb8\\xa4\\x9e\\x35\\x19\\xc7\\xb7\\x9b\\xd8\\x04\\xb9\\x04\\x74\\x5c\\x92\\x95\\xdf\\x53\\xa1\\x33\\x49\\x6f\\x6f\\x59\\xd0\\x65\\x04\\x72\\x80\\x06\\xbd\\x5c\\x8e\\x6c\\x86\\x70\\xc1\\x4f\\xe6\\x13\\x7c\\xf5\\xe9\\x0a\\xfc\\x88\\xf8\\x37\\xfc\\xa7\\x7d\\xa9\\x07\\xbb\\x3f\\x60\\x4a\\xd7\\xae\\x5d\\xcb\\x95\\xaf\\xfd\\xe9\\x86\\xc7\\x1f\\xd7\\x79\\x57\\x48\\xfc\\x1f\\xd4\\xca\\x03\\xe4\\x76\\xaf\\x22\\x0f\\x31\\xa5\\xd7\\xca\\xe3\\xa0\\x56\\x1e\\x00\\x77\\xa3\\x24\\x0f\\xb7\\x39\\x47\\x1e\\x93\\xb2\\xf0\\x9d\\x64\\x76\\x48\\x70\\x8c\\x45\\x27\\x21\\x93\\xe0\\x6e\\x04\\x38\\x2d\\xbe\\x93\\xcc\\x6d\\x12\\x9c\\xc7\\x61\\xd2\\xe2\\x5b\\x45\\xe7\\x5e\\x62\\x23\\x35\\xb2\\x8d\\x1c\\x93\\x6d\\xa4\\x00\\x6c\\xe4\\xba\\xbc\\x90\\xcd\\x9f\\x35\\x37\\x5d\\x0c\\xf0\\x33\\x69\\x3c\\x30\\x0e\\x49\\x16\\xba\\x45\\x86\\xef\\xe3\\x28\\xc1\\xf7\\x94\\x57\\x99\\x0b\\xb2\\xe0\\x25\\xfc\\xb3\\x14\\xfc\\x9a\\xb9\\x2c\\x9f\\xcc\\x65\\x79\\xf9\\xbd\\xe2\\x3f\\x26\\xe3\\x17\\x28\\x3c\\x81\\xae\\x04\\xec\\x6c\\x79\\x65\\x06\\x3b\\xc1\\x0d\\xba\\x71\\x2e\\x95\\x45\\x4d\\xce\\x1c\\xa3\\xa2\\x95\\x70\\x02\\xdc\\x4c\\x1a\\x23\\x8d\\xcb\\x86\\x63\\x54\\x84\\x39\\xf3\\x6e\\x6d\\x0e\\xaf\\xc4\\x5f\\x60\\x9b\\x43\\xb0\\x64\\xf1\\x4a\\xce\\x2d\\xab\\xe2\\x8f\\x81\\xb7\\x3a\\xdf\\x45\\x73\\xb2\\x10\\xca\\x99\\xfb\\x6a\\x73\\xf8\\x52\\x51\\x48\\xed\\x01\\xae\\x8a\\x1b\\x23\\xb7\\x27\\x36\\xe0\\x50\\x73\\x02\\x4d\\x7b\\xd0\\x05\\xc5\\xc7\\xdb\\x73\\xda\\x1f\\xd4\\xb6\\x07\\xb8\\x65\\x6a\\xec\\xa8\\x6d\\x7f\\x92\\xf9\\x8d\\xdc\\xde\\x63\\xcb\\x6e\\x3f\\x29\\xab\\xfd\\x49\\x66\\x05\\x7d\\x3e\\x0b\\xe2\\x9b\\x59\\xd4\\x87\\xd7\\x51\\xfe\\x45\\x4a\\x9f\\x46\\xbf\\x05\\xc4\\x85\\xa3\\x82\\x0a\\x01\\xe5\\xc4\\xcd\\xd7\\x41\\x9b\\x91\\xc2\\xc3\\xd0\\x66\\x3c\\xf1\\xdf\\xcc\\x36\\x2c\\x69\\xd3\\x5b\\xc8\\x08\\x96\\xd8\\x9f\\xad\\x5b\\x19\\x0a\\xb5\\xd5\\x25\\xf2\\x82\\xf0\\xcd\\xe7\\x83\\x6f\\x0e\\x77\\x5b\\xdd\\x4a\\xbb\\x1d\\x7e\\xb3\\x58\\xe0\\x37\\xb3\\x19\\x7e\\x33\\x9a\\xe0\\x37\\x83\\xa1\\xad\\x8e\\xf1\\x13\\x67\\x8f\\x8a\\xaa\\x33\\x74\\x1c\\x95\\xca\\x9f\\x86\\x0c\\x8f\\x13\\x54\\x1e\\xd3\\xca\\x3c\\xc3\\xb1\\x4c\\x09\\x5f\\x02\\xdf\\x51\\x49\\x9d\\xdc\\x5a\\x3b\\xcf\\x48\\x7c\\xae\\xcf\\xe1\\x93\\x44\\x13\\x46\\xd4\\x90\\x28\\xe6\\xd8\\x46\\xc2\\x4f\\x23\\xe1\\xa7\\x91\\xf0\\xd3\\x48\\xf8\\x69\\x24\\xfc\\x70\\x5a\\x86\\x54\\x8e\\x14\\xbc\\xb9\\x32\\x3b\\x9d\\x91\\x59\\x48\\x92\\x59\\xf8\\x0c\\x32\\xfb\\x8d\\xc2\\x8b\\x61\\x14\\xb5\\xc0\\x73\\xd0\\x3f\\xd2\\x6f\\xa1\\xfe\\x89\\x4a\\x36\\x9c\\x00\\x99\\x85\\x13\\xfe\\x60\\x5b\\x78\\x25\\xc8\\x2c\\x9c\\xf0\\x7a\\xe1\\x9b\\xdb\\x0d\\xdf\\x80\\xbd\\x30\\x61\\x0a\\x26\\x55\\xbf\\xa0\\xe4\\xaf\\x8e\\x1e\\xf2\\xc9\\xf0\\xd3\\x9d\\xe1\\x27\\x4c\\xf9\\x09\\x17\\x9c\\x81\\x9f\\xb9\\x39\\xfc\\x0c\\xc1\\x57\\xfe\\x3f\\xe0\\x87\\xd8\\x56\\x07\\xf5\\x33\\x71\\x19\\xeb\\xcd\\x92\\x65\\x33\\x10\\x15\\x30\\x51\\x8f\\x5f\\x8f\\xb2\\x6c\\x6b\\x2f\\xe8\\xe6\\x39\\xd4\\xcf\\x4c\\x20\\x7e\\x00\\x2d\\xed\\x90\\xa0\\xcb\\x81\\xc6\\xa8\\x58\\x99\\x59\\x9b\\xb3\\x4b\\xb8\\x67\\x29\\xb8\\xd5\\x5a\\x0a\\xe3\\xa3\\x39\\xcd\\x97\\x29\\x8f\\x4f\\x9f\\x55\\x4b\\xa1\\xb8\\x8f\\x29\\xb8\\x99\\x7b\\xf2\\x25\\xdc\\xa5\\x80\\x5b\\x1f\\x2b\\xed\\x81\\xfb\\x6e\\x8a\\xbb\\x21\\x1b\\x77\\x80\\xe2\\x7e\\x23\\xe5\\x0b\\xf0\\x16\\x0d\\xfc\\xf7\\xe4\\xbc\\x35\\x8a\\xfb\\x02\\x09\\x77\\x91\\xe4\\xbf\\x02\\xe0\\xbf\\x78\\x5f\\xc0\\xe4\\xd1\\xe2\\x06\\xfb\\xbf\\x9b\\xda\\x69\\x43\\x76\\xec\\xcb\\xa4\\x5f\\x57\\xf1\\x12\\x9c\\x00\\xe7\\xa1\\xfe\\xeb\\x02\\x19\\x2e\\xa4\\xcc\\x21\\x6c\\x4a\\xc1\\xa9\\xe0\\xa3\\x73\\x65\\x83\\x34\\x57\\x12\\x7c\\x9a\\xb9\\x92\\x0d\\xca\\x73\\xa5\\x82\\x93\\xe6\\x24\\x17\\xc8\\xb0\\x21\\x29\\x37\\x81\\xb0\\x1a\\x66\\xd5\\xa0\\x83\\x40\\xca\\xbe\\x48\\xc3\\xa3\\xec\\x8b\\x28\\x8f\\xaf\\xa5\\xfc\\x19\\x1e\\xaf\\x00\\x38\\x0d\\x8f\\xcc\\xf7\\xf8\\xa6\\x0c\\x8f\\xfe\\x0c\\x8f\\x63\\x41\\xc7\\xe6\\x50\\x79\\x36\\xca\\xf2\\x74\\xc8\\x3e\\xb6\\x06\\x7c\\x6c\\x7e\\xdf\\x1a\\x3e\\x5b\\x0f\\x7e\\x07\\xf0\\xc5\\x54\\x9e\\x17\\x4a\\xf2\\x74\\x49\\xf2\\xac\\x00\\x79\\xba\\xcb\\x2a\\x04\\xed\\x58\\x8d\\x85\\x3e\\xcd\\xe1\\xa7\\x28\\xb8\\xa1\\x4f\\xa2\\xe4\\xf7\\x4c\\x2a\\x5a\\x09\\x27\\xc0\\x15\\x73\\xe7\\xca\\x38\\x89\\xdf\\x35\\x48\\x70\\x66\\x15\\x21\\x85\\x93\\x78\\x7d\\x56\\xc1\\x67\\x40\\x4c\\xbb\\x92\\x73\\x34\\x92\\x9c\\x63\\x72\\x75\\x03\\x9f\\x6b\\x43\\x12\\xbf\\xaf\\x29\\xb8\\xa1\\xcd\\xf9\\x69\\xab\\xd4\\xa6\\x86\\x98\\xc7\\xd0\\xf2\\xea\\x1e\\x76\\x27\\xd1\\x39\\xa5\\xd2\\xc1\\xcc\\x95\\x0a\\x9d\\x3a\\x42\\x27\\x58\\xdf\\xaf\\x77\\x3a\\x02\\xab\\xd2\\xc1\\xcc\\xec\\xb4\\x45\\x6a\\x53\\x45\\xe8\\xe0\\xbe\\xf5\\x3d\\xe9\\x10\\xf9\\x28\\xb2\\xa7\\xb1\\x14\\xa3\\xd1\\x69\\x18\\xf5\\xda\\x8c\\x7e\\x50\\x19\\x29\\x72\\x57\\x75\\x49\\x92\\x3f\\x40\\x56\\x2a\\xfa\\x31\\x5a\\xad\\x63\\x36\\xe5\\xcc\\x99\\x26\\x32\\x67\\x1a\\x4c\\xbc\\x2e\\x6b\\x3c\\x5f\\x20\\xe7\\xbc\\x51\\xf8\\x49\\x32\\xfc\\x34\\x19\\x1e\\x0c\\x0a\\xcf\\xf1\\x05\\xb0\\x2d\\x0b\\x7e\\xb4\\x5a\\xdf\\x6c\\xca\\x99\\x4b\\x55\\xd4\\x12\\x5e\\xf1\\x10\\x39\\x3f\\x4e\\xc1\\x0b\\x70\\x4f\\x28\\xfa\\xf7\\x42\\x4a\\xc1\\x4a\\xf1\\x1d\\xd4\\xe2\\xd3\\xcc\\xad\\xc6\\x1c\\x7c\\x07\\xb5\\xf8\\x00\\x6e\\xbd\\x04\\x57\\xef\\x57\\x58\\x94\\xf9\\x9b\\x94\\x85\\x2f\\x33\\xd7\\xda\\x0c\\xd9\\xf8\\x26\\x65\\xe1\\x3b\\x49\\xc7\\x18\\xe0\\xbc\\x21\\x9f\\x16\\xdf\\x5a\\xf1\\x65\\x6e\\x20\\xc5\\xd7\\x4c\\xe1\\x3e\\x07\\xfe\\x2e\\x43\\x96\\x67\\x20\\xc3\\xf5\\x79\\x74\\x0e\\xb5\\xd6\\x7c\\x00\\xe0\\xc2\\x5c\\x3f\\x80\\x9b\\xac\\x81\\xb3\\x3f\\x49\\x4a\\x68\\x3f\\xa7\\xc2\\xa1\\x80\\x39\\x53\\x6b\\x5e\\x4b\\xce\\x65\\xd3\\xe0\\xcc\\xe4\\x78\\xc1\\x52\\x09\\xa5\\x92\\x33\\x4e\\xca\\xc2\\xf9\\x5d\\x26\\x67\\xfc\\x25\\x15\\xad\\x96\\x50\\xf6\\x82\\x2f\\xd3\\xe7\\x80\\xeb\\xd7\\xf0\\x49\\x70\\x14\\xdf\\xcf\\xa9\\x48\\x30\\x83\\x0f\\x74\\x79\\x20\\x9d\\xab\\x9a\\xb3\\xe3\\x0d\\x06\\xe7\\x11\\xfd\\xc7\\x79\\x25\\x4a\\xcf\\x55\\x5d\\x3e\\x00\\x6d\\xc2\\x74\\x3e\\x99\\x9c\\x15\\x6f\\xec\\x83\\x8f\\xc7\\x27\\x1a\\x98\\x16\\x12\\x6f\\xb4\\x90\\x78\\xa3\\x85\\xc4\\x1b\\x2d\\x24\\xde\\x68\\x21\\xf1\\x46\\x0b\\x99\\xdf\\x5b\\xc8\\xfc\\xde\\x42\\xe6\\xf7\\x16\\x32\\xbf\\xb7\\xe0\\x3c\\x07\\x2d\\x3e\\xfe\\x92\\x2a\\xae\\xf5\\x9b\\x7b\\x0b\\x39\\x50\\x4f\\x3e\\x0d\\x8c\\x26\\xb7\\x0d\\x4a\\xb9\\xad\\x22\\x80\\xac\\x98\\x43\\xe2\\xf5\\x22\\x85\\x57\\x69\\x5e\\x45\\x73\\x11\\x8f\\xbe\\x40\\x25\\xa4\\x75\\x51\\x22\\x1c\\x6e\\x2b\\x22\\x4c\\xb0\\x12\\x17\\xc1\\x3c\\x99\\x0b\\x89\\x0d\\x79\\x1c\\x8d\\x60\\x6b\\x2f\\x09\\xf7\\x03\\x9e\\x16\\x4a\\x7f\\x04\\xf6\\xcb\\xd1\\xb1\\x1b\\x6c\\x07\\xb9\\x23\\x4c\\x76\\xdd\\x69\\x18\\xc0\\xdf\\xc4\\x93\\x9a\\x5f\\x92\\xda\\x2e\\xc8\\x88\\x42\\x7b\\xc0\\x77\\x22\\x4f\\x11\\xa3\\xad\\xf3\\x19\\xc1\\xce\\x5e\\xa2\\x63\\xda\\x92\\x63\\x67\\x66\\xab\\x0c\\x28\\xe1\\x04\\xb8\\x9b\\xe8\\x98\\x26\\x7f\\x15\\x0e\\xfe\\x70\\xc7\\x68\\xbd\\xb1\\x1f\\xed\\xed\\x90\\xf4\\x2b\\xb4\\xce\\x88\\xfd\\xc0\\xea\\xfe\\xf4\\x2b\\xa9\\x40\\xbe\\xc1\\xa7\\xa1\\xef\\x01\\xf8\\xfd\\x74\\xbe\\x9f\\x42\\xe7\\xfb\\x21\\x37\\x93\\x1a\\x19\\x11\\x09\\x40\\xdf\\x9c\\x0a\\x16\\xe8\\x02\\x59\\x7d\\xcb\\xc5\\xbf\\x14\\xcd\\x06\\xfc\\xa4\\x77\\x84\\xc0\\x6c\\x7f\\x30\\x83\\x1d\\xf5\\x86\\x7f\\xe9\\x74\\x49\\x16\\x84\\xc0\\xb4\\xbc\\x50\\x06\\xbb\\x8a\\x7b\\xba\\x8a\\x7b\\x2e\\xc2\\xe8\\x33\\x49\\x1f\\xfd\\xb4\\xd6\\x94\\x9f\\x27\\x61\\xd7\\xe8\\xa3\\x84\\x7f\\xb9\\x8a\\x7f\\x2e\\x56\\x34\\x98\\x68\\x16\\x2a\\xc8\\x97\\x28\\xa8\\xf5\\x62\\x89\\xc6\\x2c\\x85\\x86\\xc6\\x6f\\x92\\x1a\\x22\\x0e\\xf4\\xce\\xff\\x31\\x05\\xbf\\x9a\\x17\\x85\\xc8\\x58\\x06\\x73\\xf8\\x87\\x31\\x92\\xd6\\xab\\xfa\\xe5\\x8c\\x91\\x8a\\x56\\xc2\\x09\\x70\\xfb\\xe9\\x58\\x4e\\xc9\\x81\\x53\\x11\\x52\\xb8\\x62\\xa0\\xbd\\x93\\xf2\\xda\\x3f\\x67\\xce\\x26\\xf5\\x48\\x87\\xc5\\xa6\\xe7\\xb2\\x78\\x05\\xd1\\x72\\xf3\\x28\\xaf\\xed\\x59\\xbc\\xda\\x1c\\xb4\\x7a\\xc9\\x9a\\x34\\xbc\\x4a\\xb8\\x6f\\x54\\x70\\xf7\\x56\\xd7\\x93\\xb0\\x6b\\x64\\x2d\\xe1\\x5f\\xae\\xe0\\xcf\\xc8\\xda\\x45\\x67\\x3e\\x87\\x4c\\x41\\x95\\x35\\xa1\\xf1\\x28\\xe5\\x7f\\x40\\x0e\\xff\\x66\\xe0\\xdf\\x69\\x34\\x73\\xfa\\x2c\\xfe\\xcf\\x01\\xbf\\x75\\x0b\\xe5\\x7f\\x6a\\x16\\xff\\x7e\\xc2\\xbf\\xd7\\x6f\\x74\\x68\\xf8\\x1f\\x09\\xb8\\xaf\\x17\\x1e\\x05\\xd8\\x81\\x94\\xff\\xa1\\xf4\\x9d\\x3a\\x02\\x6d\\x07\\xdc\\x25\\x0e\\x13\\x63\\xc8\\xc2\\xbd\\x91\\xe6\\x8c\\x44\\x0f\\xa7\\x51\\xdc\\x37\\x29\\xd0\\x80\\x5b\\x70\\x98\\xb0\\x41\\x8b\\x1b\\xc6\\xe7\\x7a\\x3a\\x8e\\x03\\xe5\\x38\\x45\\x2f\\xc7\\x33\\x26\\x8b\\x8c\\x56\\xc2\\x49\\xf3\\xc8\\x7e\\x32\\x4e\\x02\\x67\\x96\\x73\\x7d\\x93\\x05\\x6b\\xe0\\x46\\xc2\\xdc\\xa7\\xc1\\x07\\x73\\xda\\x22\\x19\\x9f\\x39\\x07\\xdf\\x41\\x2d\\xbe\\xcc\\x1c\\x29\\x98\\xb3\\xf0\\x1d\\x50\\xd7\\xa4\\xce\\x95\\xe1\\x16\\xc8\\x70\\x3e\\xb9\\x70\\xab\\x9d\\xf3\\x3b\\x95\\xb9\\x0f\\xec\\xc9\\x8c\\x3e\\x47\\xd1\\x84\\x8f\\xc1\\xa1\\x44\\x59\\x59\\x5b\\x88\\xb8\\xbf\\x10\\x19\\x6d\\x6f\\x50\\x9e\\x5c\\x41\\x04\\x95\\xd9\\xb6\\x25\\x98\\x54\\xdd\\xbf\\x57\\xd1\\x90\\x10\\xb5\\xad\\xc2\\xbc\\x1c\\xdb\\xa2\\xe3\\x47\\xe1\\xa7\\x66\\xc3\\xd3\\x04\\x05\\x05\\x3d\\x46\\x47\\x16\\xfc\\x4a\\xf0\\xcf\\x37\\xf3\\x3f\\x38\\xa5\\x75\\x5b\\x81\\x59\\xf1\\x07\\x5a\\x9f\\x1f\\x48\\xeb\\xf3\\xef\\xa4\\x06\\xf6\\x93\\x16\\x6e\\x95\\x3a\\x21\\x5e\\x2f\\xaf\\x57\\xd8\\x91\\x1b\\xd5\\x24\\x9c\\x08\\xbb\\x1d\\x7a\\x07\\x66\\x3d\\x5e\\x87\\x73\\x43\\xbb\\x83\\xe7\\xcd\\x74\\x7d\\x82\\x67\\xb1\\x07\\xe5\\x1e\\xde\\x56\\x5b\\x13\\x91\\xef\\xca\\x50\\xd6\\x21\\x3c\\x2e\\x69\\x11\\x42\\xb3\\x00\\xd1\\xf0\\x1a\\x7b\\x2c\\xb3\\xee\\x80\\xff\\x49\\x4a\\xea\\x64\\x9f\\xda\\x9d\\xc0\\xe7\\x35\\xfc\\x85\\xa0\\xcf\\xe7\\x26\\xca\\xf2\\x82\\x45\\x76\\x27\\x7d\\xef\\xcc\\x2e\\x04\\xf9\\x58\\x89\\xa3\\xa8\\xc8\\xd6\\x99\\x2c\\x2a\\x0a\\x86\\xc3\\x9e\\x8e\\x64\\x98\\x0b\\x3a\\x39\\x43\\x47\\x92\\x73\\x65\\xde\\xc0\\x38\\xd3\\xc6\\x28\\xe9\\xad\\xd2\\xcc\\x96\\xa8\\x26\\x97\\xcc\\x99\\x23\\x4a\\xcf\\x2d\\x70\\xe1\\x02\\xcc\\x5d\\x33\\xf7\\xc5\\x6b\\x6e\\xba\\x2a\\x38\\x65\\xe9\\xaa\\xab\\xef\\xbc\\xb7\\x1c\\x9f\\x8c\\xad\\x1e\\xda\\x79\\x65\\xf3\\xa1\\xf7\\x7f\\xc4\\x85\\x8f\\x88\\xe2\\xf6\\x7d\\x78\\xfd\\xca\\x43\\x97\\x14\\xde\\x57\\xba\\x76\\xc5\\x0d\\x57\\xdd\\x8d\\xf3\\x1b\\xcf\\x99\\xfe\\xd4\\xef\\x4e\\x77\\xb3\\x2c\\x1e\\x88\\xbd\\x62\\x5a\\xfc\\xbd\\xe3\\x6d\\xd9\\x6f\\xab\\xbe\\xa9\\x38\\xcb\\xe7\\x30\\xc8\\xe6\\xe0\\x34\\xf1\\xd2\\x4a\\x80\\xd3\\xac\\xa5\\x03\\xdc\\x09\\x25\\xef\\x78\\x27\\x55\\x1b\\x97\\x46\\x44\\xf1\\xa3\\x74\\x4e\\x96\\xd6\\xe6\\xdf\\x60\\x57\\xc9\\x79\\x25\\x51\\x28\\xa3\\xdb\\xcf\\x65\\xc7\\x9f\\xd2\\x58\\x9f\\x52\\xf0\\x02\\x7c\\xa7\\x78\\x94\\x8c\\x76\\x2b\\x1d\\xed\\x63\\xa9\\x46\\xcd\\x68\\xab\\xf8\\xf3\\x14\\xfc\\x86\\x3a\\xe6\\xb8\\x92\\x47\\xd3\\x72\\xf6\\xec\\xa0\\x5d\\xd9\\x01\\xa0\\xea\\x2b\\xa5\\x21\\x94\\x28\\x34\\x0c\\xfd\\x98\\x43\\x4a\\x9b\\xfe\\x64\\x8a\\xef\\x3f\\xb0\\x4e\\xd9\\x0a\\xa0\\xb6\\xc9\\xa5\\x13\\xc7\\x44\\x2e\\x81\\x7d\\x32\\x99\\xfd\\xe9\\x2d\\x29\\xa7\\x47\\x4b\\x09\\xda\\x24\\x28\\x9d\\x42\\x95\\x4e\\x7f\\xfc\\xaf\\xf4\\xcf\\xb4\\xcd\\x40\\x07\\x6d\\x73\\x69\\xaa\\xbe\\x45\\x4b\\xa9\\x17\\x3a\\xf5\\xcc\\x76\\x85\\xb7\\x62\\x42\\xa8\\x7f\\x89\\xef\\x0c\\xfd\\x99\\xa3\\xd2\\x19\\xc0\\xfc\\x2e\\xfd\\x83\\xd4\\x66\\x04\\x21\\x14\\x1d\\xd9\\x72\\xd6\\xfe\\x34\\x64\\xea\\x0f\\xa5\\xb4\\xfe\\xe0\\x2d\\x3a\\x03\\x9d\\xcf\\x55\\x3a\\x03\\x99\\xb1\\xe9\\x53\\xb4\\x3f\\x4d\\x52\\x7f\\x8e\\xa5\\xce\\x89\\xe7\\xf6\\x87\\xe8\\x13\\xf5\\xbf\\xc5\\x59\\x39\\x2f\\xf1\\xab\\x3f\\x22\\x4f\\xc2\\xcc\\x52\\xf9\\xa9\\xda\\xa5\\x8c\\x2b\\xd5\\x2f\\xea\\x87\\x87\\xd2\\xf8\\xf1\\xa6\\x1f\\x25\\x2d\\xfb\\x33\\xb4\\x2b\\x49\\x31\\x0d\\x0e\\xb2\\x0b\\xe3\\x9d\\x84\\xa1\\xff\\x40\\x20\\xc8\\x14\\x36\\x42\\x14\\xf2\\x36\\xd9\\xc2\\x41\\x4a\\xa7\\xd3\\x34\\xfb\\x0b\\x72\\xfb\\xd9\\x98\\xe9\\xa7\\x9b\\x12\\xf6\\x85\\xcf\\xd0\\xcf\\x6f\\xd5\\x7e\\x0e\\x62\\xc6\\xc8\\x63\\x5d\\x23\\xf5\\xf3\\x8d\\x54\\xfc\\x6c\\xe3\\xd6\\xc4\\xcc\\xcd\\xa2\\xc3\\xfd\\x0f\\x74\\x5a\\x99\\x51\\xd9\\x74\\x5e\\x3d\\x3b\\x9d\\xe6\\x4c\\x7f\\xac\\xb4\\x3f\\x8e\\x40\\xef\\x74\\xa8\\x0d\\x4a\\x74\\x12\\x74\\xed\\x5f\\x43\\xe7\\xfd\\xb3\\xd3\\x69\\xc9\\xa5\\x53\\x54\\x7d\\x86\\xfe\\x7c\\xa3\\xd2\\x19\\xcc\\x24\\xb3\\xe9\\xfc\\xa9\\x17\\x3a\\x54\\x3f\\x76\\x2a\\xfa\\x21\\xad\\x77\\xab\\x7e\\x07\\xf4\\xa3\\x97\\x6e\\xf5\\xa6\\x1f\\x77\\xff\\x4b\\xd2\\x8f\\x4f\\xe5\\x56\\x94\\xa2\\x2e\\xde\\x3f\\x2f\\xac\\xb6\\x52\\x6b\\xbf\\x9a\\x75\\x7b\\x98\\x8b\\x4b\\xa4\\x39\\xd1\\x62\\xb1\\x65\\xaf\\xdb\\x1f\\xd2\\xae\\xdb\\x03\\x1c\\x2f\\xf9\\x41\\x7d\\x7e\\x41\\xd6\\xba\\x7d\\xf6\\x1e\\x06\\xf0\\x57\\x1b\\xe5\\x88\\x81\\xc4\\x89\\xc8\\xe9\\xc5\\xa6\\x2c\\xff\\x46\\xf7\\x2f\\x50\\xff\\xd6\\x26\\xc3\\x5f\\x05\\xfe\\x8d\\xf8\\xc3\\x0a\\x70\\x70\\x6c\\x24\\x26\\x23\\xcf\\xc2\\x2f\\xdc\\xa7\\xe2\\xdf\\x06\\xf3\\x0c\\x8d\\xd3\\xbd\\x34\\x4e\\xff\\x3c\\xe5\\x8d\\x62\\x6d\\xbc\\x26\\xe1\\xdf\\x29\\xe3\\x57\\x73\\x0a\\xa6\\x98\\x4c\\xad\\xb1\\xba\\x0c\\x76\\x19\\xf7\\x5a\\x3a\\xc6\\x65\\xb2\\xef\\xfc\\x54\\x99\\x89\\x49\\x65\\x0e\\x77\\x04\\xac\\xbd\\xee\\xbf\\x58\\x4d\\x7d\\x67\\x9b\\xec\\x3b\\xdf\\x57\\xf4\\xa2\\x84\\x88\\x7c\\x51\\x59\\x48\\xa2\\xa1\\x69\\x33\\x97\\xca\\x28\\x43\\x27\\xce\\x78\\x90\\xb4\\xa7\\xc4\\x27\\xed\\x29\\xd9\\x94\\xb2\\xbb\\x72\\xf6\\x94\\x5c\\x40\\xf7\\x79\\x64\\xe8\\xf4\\x27\\xf7\\xb8\\x51\\x5d\\x2a\\x93\\x74\\x69\\x5b\\x2a\\x5c\\xac\\xa5\\xa4\\x8e\\x45\\x86\\x4e\\x3d\\xb3\\x57\\xe9\\x4f\\x11\\x21\\x54\\x5b\\xec\\xe9\\xb5\\x3f\\x63\\x85\\x25\\x2a\\x9d\\x01\\xcc\\xb3\\x4a\\x7f\\xea\\x08\\xa1\\x0b\\xea\\x8b\\x7b\\xf4\\x27\\x97\\x4e\\x03\\xb3\\x54\\xee\\x4f\\x4c\\xea\\xcf\\xbf\\x53\\xee\\xc2\\x5e\\xf7\\xc8\\x7c\\xa3\\xd2\\x19\\xc8\\xcc\\x43\\xda\\x1d\\x2b\\xfa\\x3e\\x05\\x3d\\xe9\\x10\\x5d\\xa5\\xbe\\x93\\xee\\x09\\x91\\x7c\\xa6\\xba\\x16\\xe7\\x7b\\x9a\\x6c\\xd7\\x20\\xe4\\xfe\\x91\\x72\\x9a\\xa5\\x4d\\x21\\x1a\\x3d\\x23\\xfa\\xab\\xee\\x0b\\x01\\xff\\xa9\\x93\\xb4\\xd8\\x2e\\xdb\\x47\\x3e\\xb5\\x8f\\x48\\x30\\xb3\\x4d\\x06\\xf5\\xb6\\x3e\\x0c\\xfa\\xb9\\x34\\x5b\\x9f\\xe5\\x45\\xe7\\xca\\xac\\x75\\x61\\x88\\xe5\\xf4\\x3f\\x28\\xf0\\xe2\\x27\\x44\\x3f\\x03\\x34\\x33\\x3c\\x91\\xb2\\xbb\\xe5\\xe5\\x2c\\x49\\xe7\\xde\\x00\\xbe\\x34\\xeb\\xd9\\x59\\xfb\\x0e\\xb2\\xd7\\xb3\\x0f\\x69\\xd7\\xb3\\x81\\xf3\\x80\\x6c\\x7f\\x30\\x53\\x68\\xd6\\xc7\\x66\\x01\\xdc\\x2c\\x5a\\x53\\xac\\xcb\\x89\\x57\\x7c\\x01\\x6d\\xad\\xf0\\x3a\\x80\\x1b\\x49\\xed\\x79\\x7c\\x0e\\x5c\\x20\\xa8\\x85\\xcb\\xa9\\xcb\\x67\\xfa\\xcf\\x90\\xb1\\x45\\xf9\\x85\\x42\\x76\\xfd\\x53\\xaa\\xc9\\x9b\\x14\\xbc\\x72\\xff\\x95\\x6a\\x35\\x2a\\x28\\xca\\x81\\x27\\xf8\\xe7\\x51\\xdd\\xa9\\x93\\x6d\\xee\\xb0\\xa2\\x07\\x11\\xe2\\xe8\\xa6\\x44\\xfd\\xbd\\xd6\\xfd\\x97\\x51\\x5b\\x18\\x2f\\xdb\\x9c\\x1a\\xe3\\x44\\xc9\\x30\\xce\\x8e\\xe5\\xf5\\x68\\x33\\x92\\xf6\\x23\\x43\\x27\\x8e\\x7f\\x94\\xed\\x27\\x22\\xc5\\x2b\\xeb\\x52\\x79\\x21\\x6d\\x2b\\x68\\x33\\x99\\xf6\\x25\\x43\\xa7\\x3f\\xc3\\xcb\\x6d\\x62\\x92\\xcd\\x3d\\x90\\xca\\x8f\\xe4\\xb4\\x99\\x95\\x43\\xa7\\x9e\\xd9\\xad\\xf0\\x56\\x45\\x08\\xb5\\xf5\\xed\\x7d\\x5d\\x65\\x14\\xb5\\xb9\\xf1\\xb2\\xcd\\x3d\\xad\\xb4\\x21\\xdb\\x95\\x98\\x71\\xb5\\x91\\x1e\\x6d\\x72\\xe9\\x68\\xe2\\x95\\xea\\x5f\\x5f\\xf3\\xfa\\x46\\xa5\\x33\\x30\\x33\\x27\\x87\\x09\\x1d\\xbe\\x22\\xd8\\x93\\x0e\\xd1\\x27\\x6a\\x73\\x75\\xd9\\x36\\xa7\\xce\\x47\\x3e\\x4a\\x2e\\xdf\\x9b\\x69\\xaa\\xea\\x17\\xb5\\x37\\x69\\xdd\\xea\\x26\\x8d\\x96\\x91\\x56\\x01\\xba\\x60\\x56\\xa0\\x19\\xdc\\x4c\\xbf\\xbe\\x20\\xf4\\xc8\\x7e\\x4b\\x5a\\x27\\x99\\x01\\x71\\x11\\xf5\\xd8\\xa0\\x6f\\x45\\x85\\x51\\xc1\\x91\\xab\\x6f\\x3c\\x4b\\xe8\\xe0\\x8b\\xa5\\x3a\\xc9\\x25\\x9a\\xb5\\x91\\x68\\x89\\xa0\\xcd\\x7d\\x73\\x71\\x0f\\x49\\xef\\x22\\x31\\x57\\x8a\\xac\\x30\\xc1\\x68\\xce\\x4d\\x45\\x8a\\xb3\\xe0\\x73\\x71\\x0f\\x79\\x96\\xe6\\x59\\x45\\x34\\xf2\\x7e\\x2e\\x55\\x5c\\xda\\x8b\\x2e\\x7f\\x41\\x6c\\x45\\xc2\\x0f\\xba\\x4f\\xf6\\xef\\x41\\x8b\\xbe\\x14\\xff\\x9b\\xa9\\x58\\x79\\x4f\\xfc\\xc4\\x56\\x28\\x7e\\x02\\xbf\\x8c\\xfa\\x0a\\x79\\xa7\\xd5\\xef\\x52\\x65\\x55\\xbd\\xf0\\xbf\\x4d\\xc5\\xbf\\x4d\\x8a\\x19\\x53\\x4c\\x19\\xc5\\x7f\\x38\\x55\\xde\\xd8\\x0b\\xff\\x3b\\x15\\xfe\\x29\\x3c\\x40\\x57\\x52\\xec\\x0f\\xa5\\xaa\\x5a\\x72\\x64\\x49\\xc6\\xfa\\x0b\\x7e\\x95\\x82\\x1f\\x7c\\x8c\\x80\\xd4\\xf5\\x9d\\xc2\\x22\\x09\\x5a\\x1a\\x5b\\x9e\\x25\\xbe\\x43\\xe2\\x5b\\xbb\\x0e\\xb4\\x23\\x15\\x8d\\xa9\\x70\\x6b\\x01\\x9f\\xa6\\xee\\xaa\\xf1\\x6d\\x2e\\x4f\\x76\\xdd\\xf5\\x90\\xb6\\xee\\xaa\\xdd\\x53\\xf5\\x73\\x2a\\x18\\x3a\\x53\\xdd\\x55\\xe3\\x8b\\x23\\xc4\\x17\\xfb\\xf3\\x75\\xd9\\xfd\\x91\\xea\\x98\\x26\\xb5\\x9e\\xfb\\x06\\x3b\\x5f\\xf2\\xc5\\xe5\\xd4\\x17\\xff\\x90\\x2a\\x2c\\x96\\x70\\xcb\\xf2\\x02\\xfc\\x7c\\x31\\xd5\\x8f\\x85\\xb2\\xee\\x5d\\x48\\xe5\\x4b\\x66\\x4b\\x80\\xff\\x2c\\x55\\x10\\x71\\xea\\x34\\xf0\\x04\\xff\\x8f\\x54\\x3f\\x16\\xf1\\x54\\xf7\\x2e\\x20\\x6b\\x0d\\x64\\xa9\\x07\\x29\\xfc\\x66\\xe1\\x1b\\x92\\xbe\\x5f\\xc2\\x17\\xa2\\xf8\\xaa\\x52\\xe1\\xa2\\xde\\xf0\\xd9\\x15\\x7c\\x43\\xb6\\x51\\x7c\\xb1\\x2c\\x7c\\x54\\xbf\\x16\\xca\\xfd\\x49\\xd2\\x11\\xc5\\x55\\x14\\xdf\\x82\\x54\\xb4\\xb4\\x27\\x3e\\xc1\\x24\\xe3\\x23\\xf0\\xb3\\xa1\\xff\\x80\\xb1\\xde\\xa1\\xae\\x9b\\x48\\x3c\\xde\\xa7\\xe2\\xdc\\x96\\xfe\\x8b\\x14\\x4f\\x95\\x52\\x9c\\xb3\\x53\\xa5\\xf5\\xbd\\xf0\\xb8\\x53\\xe1\\x91\\xd9\\xd6\\x4d\\x79\\xac\\x56\\x79\\x04\\xdd\\x28\\xa6\\x3a\\xb4\\x50\\x1e\\xcb\\xbf\\x2a\\x63\\x79\\x79\\xaa\\xa0\\x50\\xc2\\x25\\x8f\\xf9\\x8f\\x5c\\x3f\\x09\\x0f\\xd9\\x4b\\xc0\\x7c\\x85\\x32\\xb5\\xaf\\x9d\\x4a\\xed\\x0b\\x64\\xf6\\xac\\xc4\\x8f\\x81\\xf2\\xf3\\x6c\\xca\\x68\\xc9\\x54\\xbf\\xd4\\xda\\x57\\x4a\\xa9\\x9d\\xa0\\x21\\xaf\\x50\\x89\\x78\\xe8\\x08\\xbf\\x9a\\xf2\\x06\\x8c\\xd9\\x3a\\x51\\x0c\\x74\\x1f\\xa5\\x3a\\x39\\x40\\xd6\\x71\\x2c\\xe9\\x24\\xa7\\x96\\xd5\\x32\\x35\\x35\\xaa\\x93\\x80\\x97\\xf0\\xc7\\x95\\x67\\xf8\\xa3\\x3a\\x38\\x40\\x1e\\x83\\x85\\xd2\\x18\\x48\\x75\\xe2\\x5f\\x52\\x36\\x57\\x4f\\xfe\\xd4\\xda\\x0e\\x81\\x5f\\x2c\\xe9\\x60\\x31\\xe5\\xb0\\x3b\\x15\\x0c\\x67\\xd5\\xe7\\xa4\\xfe\\xdf\\xa7\\xe2\\x97\\xe2\\x5b\\xa2\\xe3\\x2e\\xa2\\xe3\\xae\\xc2\\x5e\\x6b\\x7f\\x3b\\xd5\\xda\\x91\\x52\\x33\\x0f\\x93\\xda\\x5f\\xb8\\x2a\\x0b\\xf7\\x2a\\x18\\xbb\\xf5\\x42\\x8d\\xb3\\x84\\xa5\\xf6\\xad\\xdb\\x80\\xba\\xd1\\xcc\\x8c\\x47\\x38\\x9e\\xaa\\x2c\\xe5\\x6d\\xbf\\x02\\x7f\\x14\\xfd\\x20\\xc1\\x57\\x39\\xa4\\xbd\\xe8\\x35\\x95\\xbf\\x0a\\xff\\x00\\xfa\\x09\\xe0\\xc9\\x7c\\x59\\x2b\\xcd\\x97\\xcf\\xa7\\x6a\\x65\\x0a\\xea\\x7c\\x99\\xdb\\xa6\\x0b\\x9d\\x90\\xdb\\xd4\\x49\\x6d\\x9e\\x48\\x35\\x9e\\xad\\xcd\\x76\\x5c\\x9b\\x4d\\xe7\\xe7\\x54\\x6d\\xd9\\x59\\xda\\xec\\xc6\\x25\\xd9\\x74\\xbe\\x49\\x35\\xf6\\xda\\x46\\x37\\x4a\\x6d\\xf3\\x20\\xc6\\x72\\x9b\\xa1\\x52\\x9b\\x37\\x53\\xd5\\x03\\xce\\xd2\\x66\\x0f\\x3a\\x25\\xb7\\x19\\x26\\xb5\\x79\\xb9\\x67\\x1b\\x9a\\x5b\\xd2\\xd8\\x8e\\xe4\\x7c\\x82\\x6e\\xc3\\x2d\\x9a\\x9a\\x84\\xe6\\xf9\\xd1\\x8d\\xf4\\xb9\\x98\\xce\\x7a\\x0e\\x72\\x16\\xff\\xd4\\xeb\\xf3\\xae\\x33\\x3c\\xdf\\x7e\\x86\\xe7\\xbb\\xa5\\xe7\\x69\\x37\\xad\\xf5\\x7f\\xa1\\x3e\\x7f\\x30\\x1d\\xeb\\xf5\\xf9\\x1e\\xe9\\x39\\xda\\x03\\x7d\\x1e\\x4c\\x65\\x3b\\x4b\\xd2\\x2b\\x5c\\x06\\x7d\\x56\\xf6\\x58\\xe9\\xfb\\x94\\x1b\\xb3\\xeb\\xed\\xb9\\xf0\\x47\\xb1\\x85\\xea\\x15\\xee\\x4b\\x6d\\xe2\\xcb\\x54\\x5d\\x9f\\x4c\\x8b\\x5e\\xe0\\x1f\\x90\\xc7\\x8e\\xc1\\x71\\x69\\x19\\xec\\xe7\\x54\\x5c\\xa6\\xa1\\xca\\x34\\xb7\\x4d\\x17\\x76\\xc8\\x6d\\xea\\xa5\\x36\\x9f\\xa7\\x9a\\xcf\\xd6\\x66\\x3b\\x1e\\x02\\x6d\\x68\\xbe\\x44\\x09\\xe5\\xc7\\x2b\\x8c\\xb9\\xb5\\xfd\\xdc\\x36\\xbb\\xf1\\x78\\xa5\\x0d\\x25\\x54\\xd9\\xdc\\xa3\\x4d\\x7a\\x04\\xc9\\x97\\xa8\\xdc\\xcb\\xa8\\x1c\\x37\\x88\\x13\\x29\\x2e\\x3d\\x42\\x7c\\x05\\x7f\\xcc\\x5e\\x0a\\xcf\\x5f\\xa3\\x9f\\x1c\\x4d\\xe7\\x23\\xda\\xa6\\xfb\\x70\\x4e\\x9b\\x07\\xba\\xef\\xec\\xf5\\x79\\xd7\\x19\\x9e\\x6f\\x3f\\xc3\\xf3\\xdd\\xd2\\x73\\xba\\xc7\\x24\\x40\\xfb\\x31\\x47\\x1e\\xc3\\x22\\x79\\x0c\\x0b\\xc8\\xce\\x85\\x82\\x3c\\x73\\xf6\\xbe\\xb7\\x5c\\xf8\\xa3\\xb8\\x5c\\x86\\x27\\x9e\\xc7\\x1d\\x2d\\x38\\x0b\\xfc\\x03\\x38\\x4f\\x91\\x13\\x4d\\xc5\\x51\\xb1\\x4c\\x41\\x23\\xdb\\xdc\\x36\\x5d\\x99\\x36\\x31\\xda\\xa6\\xfc\\xec\\x6d\\xb6\\x63\\x4f\\x0e\\x9d\\xe0\\x59\\xdb\\xec\\xce\\xb4\\x91\\xe9\\x9c\\xa1\\x0d\\xb5\\xf3\\x39\\xb2\\x6f\\x70\\x28\\x6d\\x9a\\x68\\x9b\\xa2\\xea\\xb3\\xb6\\xd9\\x83\\x4b\\x95\\x36\\xcd\\xa4\\x8d\\xb7\\x67\\x1b\\xaa\\x2b\\x15\\x74\\xbc\\x2a\\xb5\\xba\\x92\\x4e\\xe4\\x3c\\x3f\\x2a\\x3d\\xa7\\xe3\\xab\\x7d\\xae\\xe8\\xc9\\x1f\\x73\\x9e\\x77\\x75\\xef\\xec\\x15\\x5e\\xab\\x27\\xda\\xe7\\xb2\\x9e\\x74\\x3f\\x44\\xf7\\x1c\\x7e\\xa1\\x3e\\x7f\\xb0\\x3b\\xd5\\xeb\\xf3\\x3d\\xd2\\x73\\xb4\\x19\\xec\\x63\\x1a\\x95\\xed\\x5c\\x79\\xce\\xf9\\x48\\xb2\\x75\\x69\\x86\\x3e\\x98\\xf2\\x38\\xac\\x82\\xc6\\xd6\\x73\\xe1\\x8f\\xa2\\xf7\\x25\\x78\\x2f\\x85\\x7f\\x32\\x95\\xe7\\xf9\\x55\\xf8\\x07\\xd0\\x17\\xb2\\x9d\\x07\\x25\\x3b\\x3f\\x90\\x0a\\xca\\x14\\x54\\x3b\\xcf\\x6d\\xd3\\x85\\xfe\\x2e\\xb7\\xc9\\x97\\xda\\x3c\\x9d\\x2a\\x3c\\x5b\\x9b\\xed\\xe8\\xb3\\x6c\\x3a\\xcf\\xa5\\x82\\xce\\xb3\\xb4\\xd9\\x8d\\xfe\\x96\\x4d\\xe7\\x99\\x54\\x61\\xaf\\x6d\\xa8\\x8e\\x48\\x6d\\x1e\\x44\\x1f\\xc8\\x6d\\xfa\\x4a\\x6d\\xf6\\xa5\\x02\\x25\\x67\\x69\\xb3\\x47\\x6d\\x53\\x7d\\xa6\\x36\\x54\\xaf\\x30\\x1d\\xdf\\xaa\\x1e\\x7a\\xa5\\x7d\\xae\\xd5\\x2b\\xed\\x73\\xad\\xff\\xd1\\x3e\\xef\\x3a\\xc3\\xf3\\xed\\x67\\x78\\xae\\xd5\\x2b\\x4c\\xf5\\xa7\\xaa\\x87\\x5e\\x69\\x9f\\x2b\\x7a\\x25\\xe5\\xb2\\x35\\x4a\\x2e\\x0b\\xfe\\xca\\x2a\\xf9\\x1f\\x86\\x2e\\xb2\\x85\\x02\\xbd\\xd6\\x25\\x32\\xf0\\x47\\xa9\\x8d\\x13\\xf8\\x02\\x02\\x5f\\x14\\x3a\\x0b\\xbc\\xea\\xaf\\xe4\\x1a\\x03\\x8a\\x06\\xce\\x90\\x5f\\x67\\xda\\x74\\x65\\xda\\x14\\xd3\\x36\\x65\\x67\\x6f\\xa3\\xfa\\x2b\\x95\\x4e\\xcf\\x5a\\x46\\x6e\\x9b\\xdd\\x99\\x36\\x32\\x9d\\x1e\\x6d\\xd2\\x8f\\x91\\x7a\\x01\\x95\\x7b\\x9d\\x3c\\xde\\xfb\\xe9\\xf3\\x1d\\x39\\xcf\\x8f\\x4a\\xcf\\xc5\\xe2\\x9c\\xe7\\x0f\\x74\\xff\\xdc\\xeb\\xf3\\x2e\\xf9\\xf9\\xcd\\x39\\xcf\\xb7\\x8b\\xd3\\x7b\\x7d\\xbe\\x5b\\x7a\\x8e\\x1e\\x82\\xe7\\x43\\xa9\\x6d\\x2c\\x95\\xfd\\x82\\x28\\xd9\\xb9\\xb4\\x83\\xe2\\xb3\\x54\\x9e\\x57\\xa7\\xdd\\x2b\\x97\\x0b\\x7f\\x14\\x9d\\x94\\xe0\\x83\\x14\\xfe\\x58\\x2a\\x9c\\xf7\\xab\\xf0\\x0f\\xd0\\x58\\x97\\xd8\\x44\\xa1\\x64\\x13\\xef\\xa5\\x0a\\x65\\x0a\\xaa\\x1d\\xe5\\xb6\\xe9\\x92\\xe3\\x57\\x06\\x47\\xa4\\x36\\x7f\\x48\\xc5\\xce\\xd6\\x66\\x3b\\xae\\x52\\x7c\\x3a\\x25\\x64\\x28\\xf4\\xe9\\x72\\xc7\\x2f\\xb7\\xcd\\xee\\x4c\\x1b\\x4a\\xc8\\x10\\x3b\\x43\\x1b\\x6a\\xe3\\x4b\\x35\\xf3\\x8d\\x26\\x06\\xfa\\x21\\x55\\x50\\xd9\\x1b\\x6f\\x9a\\x36\\x7b\\x72\\x63\\xa0\\x9e\\x6d\\xc4\\x8f\\x48\\xfe\\x41\\xc7\\x6b\\x80\\xa4\\x0f\\xdd\\xdf\\xaa\\x76\\xab\\x7d\\xae\\xd8\\xf9\\xd4\\x9c\\xe7\\xbb\\xbb\\xeb\\xe8\\xf3\\x2d\\x34\\x8f\\xf9\\x42\\x7d\\xbe\\x47\\x9a\\x6f\\x50\\x03\\xf0\\x74\\x37\\xed\\xfb\\xb2\\x6c\\xbb\\x25\\xbe\\x0a\\xa3\\xea\\xca\\xbc\\xec\\x3d\\xeb\\xb9\\xf0\\xaa\\xdd\\x92\\xed\\x89\\x18\\xd5\\x57\\x9f\\x05\\x5e\\xb2\\x5b\\xd2\\xe7\\x06\\xa9\\xcf\\xe9\\x54\\x83\\x4c\\x43\\x95\\x53\\x6e\\x9b\\x2e\\xb5\\x4d\\xa3\\xd2\\xa6\\xdf\\xd9\\xda\\x6c\\xa7\\xf1\\x0f\\x1d\\x43\\x4a\\xc8\\xd5\\x50\\xa5\\x6d\\xd1\\x2b\\x6f\\xbb\\x33\\x6d\\x28\\x21\\x57\\xbf\\x33\\xb4\\xa1\\x63\\xb8\\x2c\\x37\\xce\\x68\\xa3\\x71\\x46\\x3c\\x71\\xd6\\x36\\x7b\\x32\\x6d\\x46\\x9e\\xa1\\x4d\\xfa\\x31\\x18\\xaf\\x8d\\x64\\x1c\\xd9\\x29\\xd9\\xfe\\x21\\xe7\\xb9\\xea\\x1f\\x72\\x9e\\x2b\\xfe\\xa1\\x08\\x9e\\xdf\\x41\\xde\\x31\\x60\\xa7\\xa4\\x25\\x3d\\xf9\\xaf\\xe4\\x07\\x72\\xe0\\x55\\xff\\x90\\xf3\\x5c\\xf6\\x0f\\x62\\x92\\x3c\\x27\\xfa\\x23\\x3f\\x7f\\x50\\x9c\\xdb\\xeb\\xf3\\x3d\\xd2\\x73\\x39\\xbf\\xd3\\xa9\\x79\\xd7\\x21\\xf4\\xb8\\xb6\\xda\\x75\\x55\\xaa\\xac\\x97\\x5c\\x95\\xac\\x3b\\x51\\x78\\x81\\x6d\\x8e\\x68\\xa0\\xc5\\x54\\x69\\x05\\x6f\\xeb\\x25\\x67\\xd1\\xa9\\x71\\xfe\\x21\\xf4\\x9e\\x94\\xf7\\xf7\\xa1\\xfe\\x67\\x6f\\xaa\\xa2\\x97\\x9c\\x85\\xe2\\x9f\\x25\\xe1\\x9f\\x91\\x79\\xeb\\x64\\x6c\\x79\\x55\\x16\\xac\\x14\\x7f\\xea\\xd4\\xb8\\xf0\\x10\\xfa\\x58\\xc2\\x5d\\x20\\xfb\\xb6\\xa0\\x26\\x9a\\x56\\xe0\\x29\\xee\\x39\\x12\\xee\\x49\\x48\\x8d\\xd4\\x2f\\xcc\\x0b\\x65\\xc1\\x4a\\x31\\x88\\x4e\\x8d\\x0d\\x0e\\xa1\\xfb\\x91\\xa6\\x42\\xb2\\x3c\\xe5\\xec\\x25\\x9e\\xa2\\xb8\\xe7\\x4a\\xb8\\xfd\\x99\\x3d\\x78\\xe4\\x40\\x6f\\x21\\xbb\\xbe\\x08\\xf3\\x90\\x4e\\x9d\\x87\\x0e\\xa1\\x3f\\x48\\x32\\x0f\\x51\\x29\\xbe\\xa4\\x56\\xd4\\xb5\\xf0\\x74\\xad\\x6f\\xbc\\x2a\\x73\\x65\\xc6\\x2e\\x0c\\xe4\\x0b\\x3d\\xfd\\xb7\\x4e\\xf5\\x5d\\x87\\xc8\\x5b\\xba\\x99\\xf9\\x61\\x47\\xca\\xd7\\x8b\\xbf\\xa7\\x7c\\x2f\\x95\\x70\\xe7\\x65\\xf6\\xcb\\x99\\xbc\\x81\\x2c\\x58\\xc9\\x0e\\x75\\xaa\\x7d\\x1c\\x42\\xcf\\x4a\\xb8\\xab\\x29\\xee\\x47\\x53\\x55\\x1a\\xaf\\xa2\\xc0\\x53\\xdc\\xcb\\x24\\xdc\\xfd\\x91\\xea\\xb1\\x5a\\x2a\\xfb\\x66\\xc1\\xae\\x82\\xb1\\x51\\xeb\\x0c\\xf6\\x52\\x98\\xd7\\x7e\\x46\\x33\\x1d\\x3a\\x56\\x60\\x86\\x6a\\xf5\\xb1\\x67\\xad\\x25\\xa7\\xdd\\x51\\xf4\\x63\\x76\\xbb\\x33\\xd5\\x5c\\x68\\xbb\\x72\\xb5\\xdd\\x03\\xe8\\x07\\x34\\x4d\\x6d\\x77\\x96\\xda\\x4b\\x0e\\xcd\\xae\\x2c\\x9a\\x67\\xa9\\xc1\\xe4\\xb4\\xdd\\x8e\\x5d\\x39\\x6d\\x7f\\xa5\\x16\\x93\\xd3\\x76\\x77\\x8f\\xb6\\xbf\\x52\\x93\\x21\\x6d\\x95\\xfa\\x0a\\xb4\\x7d\\x10\\xfd\\x27\\xa7\\xed\\xaf\\xd4\\x66\\x72\\xda\\xee\\x41\\xdf\\xe6\\xb4\\xfd\\x95\\x1a\\x0d\\x3d\\x53\\x43\\xa9\\x95\\x94\\xe8\\x36\\x6c\\x03\\xef\\x03\\x2d\\xe7\\x20\\xb9\\x56\\x93\\xf3\\xf9\\xd1\\xec\\xcf\\xc5\\x74\\xd6\\xe7\\xa5\\x52\\xcd\\x46\\x81\\xe8\\xe5\\xf3\\xae\\xb3\\x7c\\xbe\\xfd\\x2c\\x9f\\xef\\xce\\xfe\\x3c\\xed\\x26\\x9f\\xab\\xb5\\x9b\\x52\\xa9\\xa6\\xf3\\x2b\\x9f\\xef\\xc9\\xfe\\x3c\\x3b\\x47\\x26\\x7a\\x4d\\x6a\\x36\\x44\\x76\\x74\\x4f\\xaf\\x7e\\x2f\\x71\\x3e\\x4a\\x4d\\x39\\x17\\xf6\\x28\\x99\\x7f\\xfe\\x47\\xd8\\x07\\x30\\xab\\x81\\x35\\xa6\\x68\\xda\\x4e\\x06\\xa1\\x17\\xd8\\x2e\\x94\\xfe\\x9f\\x61\\xb7\\xe3\\xc2\\xff\\x19\\x76\\x37\\x8e\\xfc\\x3a\\xac\\x6e\\xa8\\x0a\\xfb\\x20\\xc0\\x4c\\xcf\\x82\\x6d\\xcc\\x81\\x1d\\xa5\\xc2\\xee\\xc9\\x92\\x19\\x81\\x6d\\x52\\x60\\xd3\\x23\\xe8\\x3b\\x70\\x4a\\xbe\\x5d\\x2a\\xe5\\x63\\x54\\xfe\\x97\\x48\\x79\\x59\\xce\\xe7\\x47\\xb3\\x3f\\xef\\x3e\\x9c\\xf3\\x39\\xcd\\xcf\\x7e\\xe5\\xf3\\xae\\xb3\\x7c\\xbe\\xfd\\x2c\\x9f\\xef\\xce\\xf9\\x9c\\x9c\\xeb\\x90\\xc9\\xff\\x41\\x2e\\x67\\xf9\\x7c\\x4f\\xf6\\xe7\\xa8\\x01\\x3e\\x57\\x63\\x23\\xaa\\x5f\\x56\\xd9\\x36\\x2f\\x47\\x9a\\x15\\x86\\x5e\\x61\\x69\\x4c\\xf8\\x3f\\xc2\\xd2\\x78\\x50\\x85\\x25\\x63\\xd0\\xa0\\x8e\\x57\\x2e\\x6c\\x57\\x0f\\xd8\\xc6\\x33\\xc2\\x6e\\xc7\\xf1\\xff\\x19\\xef\\xee\\x1e\\xb0\\x39\\x78\\x95\\xd8\\x8d\\xea\\x97\\x23\\x07\\xb6\\xed\\x8c\\xb0\\x7b\\x7a\\xc0\\x8e\\x54\\xf5\\xeb\\x31\\x80\\xcd\\xc4\\x59\\xa5\\x52\\x7c\\x47\\xe5\\xbf\\x54\\x8a\\xf3\\x72\\x3e\\x3f\\x9a\\xfd\\xb9\\x58\\x9c\\xf3\\x39\\x8d\\xf7\\x7e\\xe5\\xf3\\xae\\x9c\\xcf\\x6f\\xce\\xf9\\x9c\\xc6\\x7f\\xbf\\xf2\\xf9\\xee\\x9c\\xcf\\x93\\xe4\\x73\\x35\\xee\\x2b\\x95\\xe2\\xc1\\x5f\\xf9\\x7c\\x4f\\xf6\\xe7\\x72\\xbc\\x97\\x52\\xe2\\x3d\\xba\\xaf\\x0a\\x66\\xd5\\x12\\x3a\\xab\\xfe\\x35\\x55\\x5e\\x9b\\x13\\xef\\x49\\xf0\\xe3\\x15\\x78\\xf2\\x0e\\x04\\x81\\x2f\\x95\\xe1\\xcb\\xca\\x73\\xe1\\xe9\\x9c\\xa6\\x53\\xe7\\x96\\x43\\x64\\x57\\x8c\\x3a\\xb7\\xe8\\xf7\\x12\\x4a\\x8a\\x4e\\x52\\x58\\xb2\\x7e\\x2a\\xc5\\xaa\\x32\\x0c\\x5d\\x3f\\xfd\\x22\\x55\\x5b\\xc5\\x2b\\xef\\xfe\\x50\\x38\\x25\\x46\\x85\\x88\\xba\\xb9\\x28\\x0b\\xa3\\xfa\\x4e\\x93\\xc4\\xeb\\x4e\\xb5\\x6f\\x64\\x0d\\x08\\x78\\xad\\x91\\x79\\xad\\x19\\xd8\\x1b\\xaf\\x0a\\xbc\\xf2\\x2e\\x4a\\x06\\x6f\\x8d\\x82\\x17\\xa9\\xef\\x2c\\x48\\x7b\\x55\\xa5\\xb3\\x57\\x48\\xc4\\x66\\x25\\x7b\\x3f\\x94\\x2d\\x68\\x2a\\x5e\\xa4\\xbe\\x87\\x20\\xc1\\xdf\\x8a\\x18\\xe9\\x9c\\x11\\xc6\\x46\\xe0\\xed\\x8e\\x5e\\xe1\\x75\\xea\\x7a\\xc2\\xa1\\xf4\\xa5\\x9a\\x75\\x8f\\x53\\xca\\x73\\xb6\\x59\\x5c\\xaa\\x99\\x63\\xd5\\xbd\\xb8\\xb2\\x9e\\x9b\\xf6\\x31\\x75\\x01\\xb7\\xba\\x17\\x97\\x9c\\x83\\xcd\\xad\\xc6\\x2f\\xf0\\xc7\\x90\\x11\\x85\\x12\\x66\\x3d\\x3d\\x05\\xd0\\xac\\x27\\x97\\xa6\\xa3\\xd6\\xe3\\x2d\\xd5\\x9a\\x43\\xe4\\xc9\\x4d\\x58\\xd1\\x41\\xb8\\x21\\xda\\x80\\x5f\\x08\\xf7\\x59\\xd1\\xa7\\xef\\x24\\xfe\\xd8\\x79\\x93\\x2e\\x6f\\x88\\x8f\\x8e\\x3e\\x4c\\xce\\x75\\x15\\x27\\xe1\\x1f\\xd3\\xab\\x90\\x19\\x05\\x13\\x66\\xb3\\x60\\x32\\x59\\xac\\x7a\\xf6\\xfc\\xa4\\xde\\x84\\xaa\\x8f\\x2b\\x07\\xf6\\x92\\x1b\\xb7\\x32\\x67\\x65\\xc6\\xf1\\x16\\x8f\\xdf\\x1a\\xa9\\x2a\\x59\\x7b\\xc3\\xe9\\x88\\x4f\\x58\\x60\\xda\\x72\\xc7\\xff\\x3b\\x7e\\xd2\\xff\\xe4\\x9e\\x64\\xf6\\xf1\\xcf\\x23\\x1f\\x8a\\x26\\x6c\\x6e\\x8f\\x47\\x6f\\x30\\xf8\\x3d\\xbc\\x65\\xa5\\xd3\\x80\\x36\\x92\\x1b\\x0c\\xf3\\x8e\\xd3\\xa3\\xd4\\xd4\\x7b\\x54\\xfa\\x32\\xe4\\x1a\\xa7\\xe8\\x20\\x26\\x5e\\x57\\x00\\x5f\\x4d\\x71\\x2b\\xc6\\x27\\x2a\\x26\\x8e\\x19\\x11\\x6e\\x6a\\x34\\xb4\\x9b\\x6a\\xce\\x6f\\xad\\x9a\\x38\\x66\\x58\\xc1\\x4c\\xc7\\x54\\xc7\\x4c\\xee\\xc9\\x58\\x9f\\xd8\\xa0\\x96\\x59\\x97\\x0e\\x84\\x9f\\x57\\x6e\\xfa\\x2d\\x39\\x9f\\xc0\\xc1\\xbd\\xcc\\xdc\\x2b\\x1c\\x86\\xdf\\x74\\x28\\x8c\\x86\\x26\\x0a\\x75\\x1c\\x62\\x39\\xd6\\x11\\xcc\\xcf\\xb7\\x3b\\x1c\\x85\\x01\\x87\\x5e\\x9f\\x6f\\x71\\x73\\x09\\xcc\\x73\\xfc\\xfa\\x76\\xc4\\x6d\\x92\\xef\\x75\\xcf\\xf3\\xdb\\x8f\\xd5\\xd5\\x91\\xc3\\x78\\x15\\x6e\\x32\\xe7\\xc6\\xc9\\x87\\x1d\\xba\\x54\\xe6\\xb0\\xca\\x1c\\x83\\x0f\\x3d\\xd4\\xfd\\xc5\\xc3\\xff\\x29\\x19\\x3d\\x7c\\x70\\x7e\\xbc\\x46\\x3f\\xc1\\x32\\x6d\\x4c\\xd9\\xe8\\xe1\\x89\\x60\\xbb\\x6d\\x82\\xb9\\xa2\\x8d\\x3b\\xb2\\x7f\\x3f\\x86\\x7f\\xc6\\xa2\\xb2\\xa2\\xe6\\xfa\\x55\\x8b\\xe0\\xc7\\x65\\x1d\\xd3\\x1b\\x73\\xf3\\x27\\x6a\\x7b\\xbf\\x93\\xf4\\x43\\x89\\x37\\x02\\x39\\xf1\\x06\\xb5\\xbd\\x39\\x92\\x7f\\x20\\x30\\xb9\\x39\\x95\\xbd\\x94\\x6d\\x26\\xef\\x75\\xfc\\x1a\\x0e\\x6a\\x3f\\x73\\x24\\x7b\\x33\\x4a\\xf9\\x40\\x14\\xf2\\x01\\x43\\xb4\\xa6\\x97\\x5c\\x6d\\xa7\\x8a\\x97\\xe2\\x93\\xdb\\x68\\x6c\\x4d\\x3c\\x45\\xf7\\x35\\xea\\xd4\\x75\\x99\\x43\\x62\\x25\\xf5\\xcb\\x75\\x74\\xbd\\xe6\\x94\\xf2\\x9c\\x6d\\xee\\x9e\\x44\\xfd\\xdd\\x29\\x5a\\x6f\\xd7\\xa9\\xf5\\x76\\x2d\\x7c\\x05\\x85\\xaf\\xd4\\xc2\\x6b\\xde\\xb1\\xaf\\x94\\x6d\\x67\\xbe\\xb4\\xee\\x1d\\xf7\\x39\\xd5\\x73\\x58\\xc8\\xdd\\xfe\\xdc\\x6a\\xe6\\x72\\xd0\\x55\\x1e\\xd9\\x51\\x4b\\x02\\xf2\\x3d\\xc1\\xce\\x73\\x1c\\x83\\xed\\xd8\\xe1\\xb4\\x5a\\x79\\x6c\\x24\\xb7\\x0d\\x9b\\xf7\\xb6\\xdb\\x79\\x24\\x8f\\x36\\xb9\\x8b\\x2e\\xfb\\x9e\\x2b\\xa2\\xc9\\x51\\xb6\\x21\\x1e\\xc9\\xe8\\x33\\x73\\xf9\\xa2\\xe7\\xbf\\x10\\xdf\\x96\\x94\\x9a\\x7b\\xdc\\x8c\\x0b\\xac\\xaa\\x62\\xab\\x74\\x7f\\x9b\\x4d\\x97\\xe5\\x38\\x24\\xd3\\xc5\\xac\\x11\\xcb\\x74\\xf1\\xaf\\xd2\\x8d\\x7b\\xd8\\x68\\x03\\xab\\xb1\\xa3\\x3b\\xbe\\x78\\x7e\\xd1\\x44\\xc5\\x96\\xac\\xe2\\xdf\\xcd\\xb8\\x50\\x43\\x98\\x49\\x7f\\xc3\\x2d\\x67\\x0e\\x0a\\x5f\\x20\\x3f\\x8a\\xa2\\xe1\\x09\\x57\\x24\\x10\\x88\\x46\\x0d\\x1e\\xaf\\x17\\x6c\\xab\\x38\\x12\\x89\\x16\\x44\\x0b\\x80\\x6c\\xc2\\xd0\\x0e\\x36\\x86\\xbc\\xbc\\x25\\xba\\x1f\\x8f\\x40\\xad\\xb2\\x76\\xcb\\xef\\x28\\x64\\x94\\xdc\\xd1\\xbb\\xe1\\x35\\x12\\xcb\\xd3\\x69\\x98\\xfa\\x3e\\x63\\x84\\xd5\\xe3\\x5b\\xab\\x2e\\x18\\x37\\xa2\\xa0\\xb1\\x4e\\x3f\\xd5\\x7e\\xf1\\x26\\x99\\xd3\\x93\\xa1\\xe2\\x50\\x7d\\xcb\\x45\\x17\\xb7\\x84\\x63\\xe1\\x86\\xe6\\x5b\\x2f\\xaf\\xca\\xf0\\xac\\xe6\\xe8\\x29\\x25\\x47\\x67\\xee\\x3e\\x40\\xb3\\x57\\x3b\\xcd\\x5e\\x1f\\x49\\xb9\\x82\\xd6\\xec\\x3d\\x89\\x12\\xfc\\x78\\x05\\xde\\x30\\xea\\x35\\x0a\\xef\\xa0\\xf0\\xfb\\x52\\x4e\\x57\\x6f\\xf0\\xc2\\x7f\\x24\\x78\\x72\\xb6\\xcd\\xef\\xa5\\x2c\\x79\\x0b\\xe4\\x4b\\xe6\\xa7\\x59\\x86\\x50\\x22\\x61\\x45\\x83\\x0a\\xfb\\x45\\x06\\xf6\\x0d\\xa2\\x5d\\xcd\\xc8\\x7d\\x26\\x58\\x6a\\x0b\\x12\\xdf\\xdb\\xde\\xd6\\x64\\xf4\\xcf\\xa7\\xf2\\x4a\\x7b\\xe5\\xe3\\xb0\\x5a\\xbb\\xd8\\x8c\\x20\\xa7\\x41\\x05\\x09\\x03\\xa0\\xf5\\xc9\\xef\\x1e\\x3e\\x95\\x8a\\x54\\x59\\xb5\\xc7\\xf3\\xa4\\xe5\\x3d\\x9b\\x74\\xcf\\x5a\\x95\\x3a\\x6f\\xfd\\xa8\\xbe\\x3f\\x85\\x6c\\xbe\\x9c\\x3d\\x9b\\x12\\xfc\\x74\\x15\\x5e\\x9d\\xb7\\xe8\\xf9\\x5f\\xd8\\x6a\\xcb\\x86\\x17\\x7f\\xa4\\xf0\\x3a\\x75\\x4d\\xe2\\x90\\x48\\xf7\\x86\\xa4\\xaf\\xa4\\x6b\\x1b\\xa7\\x94\\xe7\\x60\\x7b\\x5b\\x7b\\xb3\\x29\\xbd\\xd6\\xa6\\xf4\\x7a\\x1e\\xb8\\x32\\xff\\xff\\xb0\\xa9\\xa8\\xdb\\xeb\\x8b\\xf6\\xc5\\x03\\xb1\\x64\\x53\\xc7\\x26\\xf5\\x05\\x9d\\x09\\x4b\\x36\\xf5\\x70\\x74\\x74\\xbc\\xf1\\xf2\\x0b\\xcf\\xeb\\xd5\\xa6\\xf4\\x5a\\x9b\\xd2\\xeb\\x31\\x6b\\xc6\\xe6\\xff\\x1f\\x36\\xa5\\xd2\\xa5\\x36\\x35\\x59\\x22\\xab\\xd8\\x94\\x86\\x70\\xb6\\x4d\\x8d\\x4c\\xe4\\x07\\xb5\\x36\\x15\\x0c\\x46\\xc3\\x60\\x47\\x09\\x62\\x4f\\xd1\\x68\\xf8\\x39\\x6c\\x46\\xed\\x28\\x4a\\x8c\\x4a\\x3a\\x2a\\x37\\x1e\\xa7\\xb3\\x98\\xb3\\xe5\\x7f\\x36\\xab\\x0c\\x5f\\x67\\x34\\xab\\x2d\\x32\\xb3\\x3d\\xcc\\x4a\\xc3\\xb6\\x5a\\x43\\x4a\\x29\\x35\\x24\\x39\\x46\\x94\\x2b\\x65\\x3f\\xa4\\xfc\\x85\\xba\\xec\\x35\\x22\\x09\\x7e\\xbc\\x02\\x2f\\xc7\\x88\\xf2\\x4a\\xe5\\x0f\\x29\\x9f\\xbf\\x37\\x78\\x6a\\x57\\x4b\\x25\\x5b\\xc1\\x92\\x5d\\xfd\\x45\\xb1\\x15\\x4f\\xc6\\x56\\x24\\xd8\\x2f\\xb2\\x61\\xc1\\xae\\x86\\xf5\\x02\\xbb\\x0d\\x7c\\xfb\\x44\\x9a\\x5f\\x2c\\x92\\x6b\\xea\\x2e\\x69\\x9f\\x4e\\x31\\x8d\\x00\\x7f\\x48\\x15\\x17\\x66\\x9d\\x11\\x91\\x0b\\x7f\\x14\\x06\\x81\\xc2\\xc7\\x28\\xfc\\xe7\\xa9\\xf2\\x62\\x73\\xcf\\xda\\xda\\x4e\\x55\\x2e\\x52\\x7c\\x49\\x17\\xfa\\x09\\xf6\\x70\\x55\\xaf\\xfd\\x3c\\xac\\xd6\\xee\\x36\\x93\\x63\\xa8\\x65\\xbb\\xcd\\x97\\xed\\xf6\\x87\\x54\\x49\\xad\\x0e\\x65\\xdb\\x6d\\xf6\\xde\\x27\\xc1\\x30\\x12\\x49\\xf3\\x2a\\xd9\\xfa\\x85\\xcc\\xee\\xac\\x7d\\x55\\x12\\xec\\x74\\x75\\x9f\\x54\\xc6\\x66\\x8d\\x04\\xda\\x94\\xf3\\x8e\\xa4\\xf8\\x1c\\x85\\xd7\\xa9\\xeb\\x11\\x87\\xa4\\x75\\x0d\\xf1\\x24\\x5d\\xbf\\x38\\xa5\\x3c\\x07\\x9b\\x75\\xa9\\xeb\\xa0\\x1d\\x34\\xdf\\x8d\\x67\\xd6\\x41\\x11\\x9b\\xfe\\x8a\\x7b\\x9b\\x79\\x91\\xff\\x8c\\xdc\\x7f\\x86\\x2c\\xa8\\x21\\x11\\x10\\x78\\xde\\xa0\\xd7\\x9b\\x40\\x24\\x46\\x93\\xc9\\x6a\\x66\\x30\\xb3\\xbe\\xdd\\x64\\x10\\x30\\x09\\x86\\xde\\x94\\x0e\\x64\\xd3\\x28\\xb2\\x7c\\xc6\\x71\\x43\\x5c\\x47\\xad\\x19\\x0c\\x2b\\xce\\xbc\\xd8\\xd5\\xf5\\xd5\\x92\\xc3\\x4f\\x3d\\xdf\\xd5\\xc5\\xbd\\xfd\\x6c\\x97\\x05\\xeb\\xcc\\xe2\\xbf\\x9e\\xed\\x95\\x16\\xc7\\xf3\\xba\\x1e\\xb4\\xc0\\x81\\x00\\xad\\x37\\xe3\\x67\\xa6\\x15\\xa3\\x16\\xac\\x93\\x69\\x89\\x9b\\x9f\\x3a\\xbc\\x64\\x00\\x25\\x96\\x34\\x8b\\x3f\\x59\\x2c\\xcf\\x92\\x98\\xf9\\x28\\xf7\\x12\\xfe\\x9b\\xa0\\x03\\x5f\\x11\\x49\\x18\\x11\\x4f\\x4e\\xc7\\x17\\x74\\x3c\\x03\\xfe\\xe1\\xa9\\x76\\x9e\\x1e\\x64\\xad\\xb9\\x95\\x8a\\x9e\\x97\\x8d\\x37\\xbd\\xfe\\xd6\\x30\\x68\\x55\\x18\\x13\\x3f\\x8a\\x68\\x72\\x6d\\x9d\\x9a\\x8f\\x1e\\x42\\x47\\x35\\x71\\xba\\xba\\x33\\x32\\x03\\xcb\\x8d\\x55\\x6a\\xb0\\x6a\\x2c\\x8f\\x6b\\x1b\\x6a\\xf2\\x34\\x67\\xfe\\x50\\x38\\xa5\\xf6\\x4a\\x72\\xa0\\x36\\xd4\\x33\\xd3\\x57\\x6b\\xb4\\x3b\\x95\\x1a\\xad\\xba\\x0f\\xae\\x9e\\xae\\x12\\x0d\\xce\\xae\\xe7\\x52\\x9c\\x3b\\x15\\x9c\\x6a\\xfe\\x23\\xe3\\xac\\x97\\x71\\xa6\\x6b\\xc8\\xda\\x25\\xd5\\x99\\x3a\\xd9\\xcf\\x4b\\xb5\\x98\\x2b\\xe9\\x9a\\xe6\\x29\\xe5\\xb9\\xe4\\xe7\\x09\\x3c\\x5d\\x9b\\xd0\\xa9\\x6b\\x13\\x2a\\x3c\\x5d\\xe3\\x38\\xa5\\x3c\\x57\\xe0\\x51\\x7f\\x9a\\xf3\\x4e\\x91\\x9e\\x3b\\xe4\\x5c\\x95\\xc8\\xa0\\xa5\\xba\\x22\\x68\\xd4\\xe6\\x33\\x8f\\x31\\x43\\xf9\\x97\\x60\\x6c\\x20\\x7f\\x60\\x58\\xf2\\xe6\\x8d\\xa0\\x63\\x57\\x92\\xa0\\x3f\\xef\\xb8\\x66\\x5c\\x5c\\xe4\\x3c\\x71\\xdd\\x0f\\xd7\\xbd\\x05\\x0d\\xdc\\x98\\x0d\\xfd\\x0c\\x6d\\x4f\\x40\\xee\\xf1\\x0c\\xcd\\x3d\\xca\\x13\\x16\\x46\\xca\\x3d\\x18\\x06\\x09\\x48\\xa0\\x43\\x4b\\x72\\x10\\x25\\x8c\\xd1\\xe4\\x21\\x19\\x9f\\xba\\x57\\xf1\\xf3\\xaa\\xab\\xc4\\xe9\\xf7\\xc4\\x6f\\x50\\x05\\xaf\\x23\\x19\\xc2\\xd3\\x98\\x61\\x38\\x72\\x90\\xb3\\xe4\\xae\\x81\\x07\\x47\\xd4\\x51\\x31\\x91\\xd7\\xfd\\xf4\\x7f\\x82\\x9f\\x9c\\x5b\\x5e\\x08\\xb0\\x9f\\xf0\\x37\\x22\\x2b\\x44\\x57\\x45\\x26\\x64\\x34\\x9b\\x4d\\x48\\xe0\\x10\\xcf\\xb1\\xd8\\x66\\x61\\x4d\\xbc\\x95\\x61\\xf4\\x2c\\x0f\\xb3\\x20\\xcb\\x62\\x83\\x0e\\x03\\x22\\x72\\x6c\\x79\\x35\\xe0\\x53\\x4e\\x30\\x84\\x08\\xb5\\x4e\\x3d\\x95\\x0e\\x08\\x44\\x1d\\xba\\xd2\\xa6\\xd2\\x26\\x5f\\x93\\x4f\\xe7\\xd3\\x95\\x56\\x4c\\x5c\\xd1\\xb4\\x73\\xa7\\xfc\\x6f\\x85\\xf8\\x0d\\x9f\\x5c\\xd9\\xf4\\xe8\\xef\\x9a\\x77\\xed\\x6a\\xfe\\xdd\\xa3\\x4d\\x2b\\xa9\\xfc\\xd2\\x7f\\x16\\xbf\\xc1\\x7b\\x81\\x07\\x23\\xaa\\x49\\x78\\x0c\\x0c\\x8f\\xf4\\x2c\\x8b\\x10\\x2f\\x98\\x38\\x1d\\x86\\xbf\\x82\\x51\\x40\\xe4\\x00\\xe6\\x16\\x4a\\x14\\xf2\\x91\\x3a\\xe5\\xba\\x46\\x7a\\xce\\x75\\x53\\x94\\x1c\\xc7\\x59\\xda\\x84\\xf7\\xfe\\xad\\xe9\\x86\\xff\\x8e\\xc7\\xa3\\x6e\\x68\\xe2\\x76\\x7e\\xd8\\x74\\xcd\\xcf\\xf3\\xf8\\xbf\\x5f\\xd3\\x4c\\xce\\xba\\x1e\\x0d\\x7d\\x2c\\xa3\\xf8\\xab\\x12\\x2e\\x3d\\x27\\x18\\x58\\x56\\x10\\x10\\x36\\x91\\xd3\\xc7\\x0d\\x98\\x76\\x4a\\xba\\x14\\x32\\x83\\x9c\\xe0\\x86\\x9e\\x44\\xa1\\x07\\xd0\\x8f\\x48\\xd9\\xf8\\xff\\xde\\xd0\\xf4\\x37\\xc0\\x8f\\x47\\x41\\x17\\x36\\x5e\\xd3\\xf4\\xe1\\xc7\\xcd\\xd7\\x50\\x1d\\xd9\\x85\\x5f\\xe6\\x8a\\x98\\xd1\\x4e\\x41\\x27\\xdd\\xed\\x2a\\xff\\x1f\\x64\\xef\\x05\\x3b\\x65\\x39\\x1e\\xa3\\x03\\x49\\x7c\\x50\\x36\\x50\\x82\\xb5\\x21\\xe2\\xd9\\xc5\\xfe\\x16\\xbf\\x7c\\xcb\\x2d\\xa4\\xef\\xa7\\x00\\xfe\\x3d\\x05\\x1e\\x34\\x87\\xcb\\xc0\\x63\\xf9\\x10\\xfa\\x88\\xc7\\xc8\\x7d\\xd2\\x13\\xde\\x03\\xfe\\x5a\\x81\\x47\\xd5\\xbd\\x82\\xc3\\x5c\\xff\\x0b\\xe8\\xf0\\x3b\\xe9\\x1b\\x68\\x8e\\xd8\\x98\\xb0\\xe8\\x18\\xc6\\xc0\\x61\\xac\\xe7\\xf8\\xe7\\x92\\xdc\\xfe\\xf4\\xe1\\x84\\xd5\\x60\\x6f\\x03\\x1c\\xcf\\x25\\x31\\x39\\x85\\x90\\x20\\xaa\\x44\\x7e\\xf8\\xa6\\x9e\\x86\\x5f\\x5b\\xa3\\x03\\x94\\x3c\\xf9\\xe2\\xde\\xfb\\xa5\\x82\\x7b\\xef\\xa3\\xce\\xce\\xe3\\x9d\\x9d\\xe4\\xae\\x85\\x35\\xec\\x74\\xb6\\x15\\x74\\x97\\x85\\xb9\\xc3\\xca\\x92\\x5b\\xfb\\x18\\x8e\\x47\\x78\\xab\\xa2\\xb5\\x1a\\x87\\x14\\xc1\\x6c\\xeb\\x4e\\xf1\\x3f\\xb8\\x89\\x3f\\xd6\\x7d\\x07\\x35\\x64\\x68\\xbf\\x0e\\xda\\x0f\\x56\\xda\\x43\\x63\\xe9\\xce\\x3e\\x76\\x6b\\x3b\\xce\\x6d\\xef\\x8a\\x00\\xf4\\x4e\\x6c\\x10\\x5f\\x67\\xa7\\x33\\x97\\x77\\xdf\\x21\\xb5\\x9f\\x26\\x6e\\x66\\x6d\\x98\\x85\\xf6\\x85\\x09\\xbb\\xda\\x1e\\x6d\\x6d\\xe7\\xf0\\xbd\\xed\\xa8\\xb2\\x07\\x86\\x69\\x14\\x83\\xb8\\x59\\xc2\\x80\\xf1\\x5a\\xa0\\x9f\\x50\\xe8\\x23\\x96\\x9c\\xb7\\x41\\x4e\\x3d\\xdf\\xda\\xce\\xe4\\xd0\\x37\\xe0\\x88\\x8b\\x79\\x45\\x7c\\x1d\\x1b\\x76\\x66\\xe8\\x33\\xe8\\x49\\x76\\x3a\\x97\\x47\\xdb\\xeb\\x50\\x3c\\xe1\\xd7\\x71\\x1c\\x2f\\x08\\x8c\\x24\\x08\\xbd\\x01\\x7a\\x02\\xa2\\xd0\\xb1\\x4a\\xec\\xa6\\xb9\\xb2\\x4e\\x23\\x96\\x08\\x7c\\x31\\x17\\x53\\xd1\\x30\\x75\\x1a\\x09\\x49\\x52\\x62\\xd0\\x53\\x40\\x23\\x28\\xd3\\xa8\\x4e\\x78\\x79\\x81\\xf6\\x53\\x40\\x1c\\xa7\\x37\\xe8\\x58\\x22\\x2c\\x1e\\xf7\\xa0\\xa0\\x44\\x86\\xd0\\xe9\\x08\\x7c\\x31\\x97\\xd2\\x8e\\x77\\xbf\\xa9\\x91\\xa0\\xd4\\x0b\\xc0\\x2f\\x6e\\xe2\\x82\\x98\\x91\\xf5\\x23\\x28\\xe3\\xd7\\x21\\x81\\x25\\x14\\x20\\x18\\x45\\x84\\x82\\x9e\\x0a\\x14\\x48\\xa8\\x64\\x7c\\x67\\x23\\x23\\x6e\\xca\\x90\\x01\\x3b\\xd9\\x0d\\xfd\\x60\\xc9\\xde\\x49\\xdd\\xfb\\xe9\\x42\\xea\\x7d\\xdf\\x47\\xf4\\xba\\x69\\xa0\\xb0\\x2f\\x5d\\xc9\\x79\\xf9\\xa3\\xc8\\x04\\x3d\\xf4\\x19\\xc1\\xd7\\xe8\\x74\\x66\\x8b\\x89\\xe3\\xb9\\x17\\x93\\x46\\x5e\\xc7\\xbf\\xd4\\xae\\x03\\x46\\xab\\x5b\\xb3\\xe8\\x2b\\x12\\x8c\\xb2\\x7c\\x03\\xcf\\xc6\\xd9\\x98\\x87\\xe9\\xb2\\x2e\\xb6\\x8a\\x5b\\xf0\\x9c\\xbc\\x97\\xf3\\xf0\\xa5\\xec\\xc7\\xbf\\x8c\\xe1\\x9e\\x72\\xec\\x70\\xe1\\xcb\\xc5\\x3b\\x5c\\x3b\\xb2\\xe8\\x78\\xd0\\xb8\\x44\\x05\\x72\\x38\\x58\\x9b\\xce\\xcc\\x99\\x6d\\xac\\xd5\\xea\\xf5\\x39\\x4d\\x66\\xd3\\x8b\\x49\\x87\\xd9\\x6a\\x7e\\xa9\\xdd\\x8a\\x90\\x4e\\xd0\\xbd\\x98\\xc4\\x02\\x27\\xbc\\xd4\\xce\\xa1\\x6a\\x85\\xb2\\xbf\\xb5\\x87\\x0c\\x14\\x46\\x3c\\x31\\x57\\xd4\\x05\\xac\\xb8\\x54\\x7e\\x62\\xac\\x8b\\xf3\\x8a\\x77\\x01\\x37\\x84\\xa9\\xa2\\x22\\x95\\x35\\xf1\\xae\\xa2\\x22\\x5c\\xb1\\xc3\\x25\\xde\\x81\\x2f\\x77\\xed\\x70\\xe0\\x19\\x78\\x86\\xca\\xa7\\x43\\xbc\\x4f\\xbc\\x8f\\xe8\\xe6\\x38\\xbc\\x81\\x5d\\xce\\x1e\\x04\\x99\\x78\\x9e\\x41\\x82\\x60\\xb6\\x90\\x2b\\x4b\\xaa\\xe3\\xd5\\xea\\x3d\\x96\\xd2\\x5d\\x3b\\xf4\\xd5\\x7f\\x76\\xf9\\xef\\x16\\xcd\\x7f\\xe8\\xc1\\x05\\x8b\\x1f\\x61\\x76\\x2d\\xd9\\xb1\\x63\\xc9\\xe2\\xfb\\xc9\\x1a\\x32\\x8b\\x96\\x80\\x3d\\x4c\\x46\\x1f\\xd2\\xb1\\x35\\xa1\\xbe\\x09\\xaf\\x49\\x4f\\x2a\\x44\\x2c\\xa7\\x67\\xcd\\x16\\xd0\\x4f\\x04\\xa3\\x4a\\xca\\x5c\\xd5\\x75\\x75\\xca\\xad\\x4c\\x99\\x1b\\x29\\x22\\xf2\\x01\\xb4\\xe4\\x8b\\xdd\\xb5\\xbb\\xfb\\xc0\\xe3\\xdd\\xfb\\xf7\\x7c\\x48\\xff\\xa8\\x3e\\x9b\\x7b\\x07\\xe6\\x3c\\xcf\\x33\\x1c\\xe8\\x8c\\x80\\x58\\x06\\x49\\x2e\\x94\\x56\\xdd\\xc8\\x3c\\x13\\xf1\\x54\\x4c\\xc0\\x1f\\x71\\xd7\\x11\\x4f\\x3c\\x16\\xfc\\xf0\\x79\\xe0\\x87\\xcb\\xe5\\x36\\x18\\xf4\\x4b\\x20\\xea\\x45\\xfa\\x84\\x95\\xcb\\x75\\x22\\xd0\\x4a\\x3c\\x0f\\x7f\\x34\\x81\\xbb\\x6e\\xec\\xcf\\x05\\xfc\\x46\\x69\\x7e\\x70\\x42\\xbb\\x93\\xfc\\xf5\\xd0\\x8b\\x82\\x84\\x19\\x31\\x0c\\xcf\\xea\\x31\\x44\\x40\\x60\\x5a\\xc4\\x71\\xab\\x6e\\x5b\\xf2\\xd8\\x84\\xee\\xc9\\x23\\x13\\x8f\\xe0\\x8f\\xd8\\x77\\x7e\\x29\\xe0\\xfe\\x8e\\x9f\\xca\\xc2\\x61\\x22\\x73\\x80\\x91\\xd7\\x83\\xee\\xf3\\x0c\\x64\\x58\\xe4\\x2e\\x10\\xd6\\x20\\xb0\\x74\\x62\\x23\\xb8\\x34\\x93\\x80\\x06\\xa3\\x27\\xa2\\x60\\x15\\x97\\xe0\\xdb\\x14\\xcc\\x63\\xc5\\xaf\\xb3\\x71\\xf7\\x4d\\xb8\\xb1\\x20\\xe8\\x59\\x93\\x09\\x72\\x29\\x72\\x9d\\x28\\x8c\\x80\\x81\\xde\\x50\\x50\\xad\\x22\\xd7\\xa4\\x6e\\x2c\\x3d\\xfe\\x93\\x52\\x88\\x9e\\xc4\\xb7\\x01\\xea\\x8f\\x80\\x06\\x17\\xc6\\x9e\\xb1\\xe2\\x18\\x42\\x82\\xf4\\x5f\\x27\\xd7\\x5b\\xaf\\x87\\x71\\xb4\\xa1\\x3c\\x14\\x43\\xb5\\x68\\x20\\x6a\\x43\\x37\\x25\\xc6\\x82\\xa5\\xe2\\xaa\\x68\\xb4\\x24\\x14\\xc2\\x2c\\x6b\\x19\\xda\\xbf\\xff\\xa0\\x06\\x30\\x2c\\xaf\\xc5\\x02\\x11\\x20\\x37\\x6a\\x64\\xdd\\xe0\\x7d\\xc9\\xe6\\xba\\x67\\xda\\x9b\\x47\\xc0\\xcf\\x40\\xb0\\x7c\\x5f\\xb2\\x30\\xf8\\x4c\\x3b\\xb9\\x95\\x82\\x2b\\x2c\\xac\\x86\\xff\\x05\\x8c\\x81\\x7d\\x49\\xce\\xf8\\x4c\\x3b\\xe7\\x82\\x9f\\x1f\\x81\\xd3\\xab\\x54\\xaf\\x8b\\xa1\\x17\\x8a\\xd3\\xff\\x55\\xe6\\x1e\\x3e\\xeb\\xcc\\x3a\\xc7\\xd4\\x15\\xc5\\x71\\x4c\\xaf\\xf3\\x91\\x14\\x52\\x73\\x3d\\xb2\\xab\\xce\\xd1\\xcb\\xd3\\xc6\\x33\\x40\\x6f\\xdc\\xc0\\x8c\\xd8\\x28\\xda\\x97\\xcc\\xbf\\x72\\xe1\\x15\\x57\\x2c\\xfa\\xa8\\x4f\\x63\\x4b\\x4d\\x5d\\xe3\\xcc\\xed\\x9f\\x5f\\xb9\\x70\\xf1\\xd2\\x45\\x1f\\xd7\\xd4\\x37\\xd7\\xd6\\x34\\xc7\\xeb\\xf0\\x9d\\x04\\x60\\x11\\x7d\\x42\\x00\\x2e\\xc1\\xb7\\x31\\x2b\\xf0\\x55\\x9b\\x37\\x6e\\xde\\x72\\xcf\\xc6\\x4d\\x9b\\xc4\\xf7\\x67\\x4c\\x99\\x74\\xc9\\x25\\x93\\xc4\\x7d\\xe2\\xfb\\x9b\\xb7\\x6c\\xd9\\x4c\\x9e\\x5c\\x32\\xe9\\xc2\\x59\\x1d\\xd3\\x92\\xf8\\x36\\x02\\x74\\xf7\\x26\\xe9\\x11\\x01\\x02\\x3b\\x3b\\xc5\\x9e\\xc7\\xbc\\x47\\xfd\\xab\\x8f\\xe4\\x3f\\x64\\x02\\x43\\xc4\\xfd\\x6b\\x2c\\x2d\\xca\\xc6\\x99\\xc7\\xd7\\x94\\x7f\\x02\\x90\\x2b\\x88\\xdf\\xc7\\x1e\\xf6\\x3c\\x76\\x9f\\xec\\x93\\x23\\x30\\xf3\\x31\\x8c\\x0e\\x06\\xdd\\x40\\xc2\\x3e\\xda\\x34\\x5e\\x5d\\xa7\\xf5\\x51\\xd0\\x9e\\x7c\\xb1\\xb7\\xaf\\x2d\\xfb\\x44\\xf4\\xc8\\x88\\xba\\x57\\x31\\xf4\\x3c\\xd7\\x47\\xd8\\xf3\\xb8\\x72\\xea\\x17\\xbf\\x14\\x9f\\xa0\\x2b\\xd3\\x5f\\x62\\xe2\\x1d\\xbf\\xc4\\x13\\xe8\\x1c\\x37\\x05\\xad\\x61\\xa7\\xb1\\x8f\\x23\\x3d\\xaa\\x4b\\xf8\\x90\\x5e\\x4f\\xcc\\x06\\x63\\x83\\x91\\x01\\x3d\\x83\\xa9\\x85\\xfd\\xa6\\x1d\\x9d\\x94\\x43\\xc4\\x81\\xd5\\xf1\\xac\\x29\\xa0\\xb6\\x26\\x86\\x1b\\x70\\xdc\\x63\\xc0\\x1e\\x66\\x97\\xf8\\x04\\x1e\\xf7\\xa4\\xf8\\x24\\x3e\\x7f\\x0d\\x9e\\xd7\\x8a\\x17\\x87\\xc5\\xdb\\xc5\\x0d\\x21\\xc0\\x7f\\x39\\xe0\\x5f\\x28\\xe3\\xf7\\xb3\\x7a\\x81\\x47\\xbc\\x9e\\x25\\x04\\xf4\\x3a\\x96\\xbc\\x5e\\x26\\xf4\\x46\\xc0\\xa7\\x1c\\x61\\x1b\\x6d\\x30\\xe0\\x86\\x38\\xe0\\x2f\\x7c\\x0a\\x8f\\x17\\x9f\\x78\\x02\\xd0\\x87\\xf0\\x7c\\x7c\\x45\\x58\\x5c\\xd3\\x4a\\xd5\\x16\\xfd\\x0b\\x78\\xfc\\x84\\x1f\\x2a\\xfb\\x20\\x1b\\x1a\\x90\\x08\\x31\\xe4\\x10\\x64\\x12\\x68\\xda\\x38\\x9b\\xdd\\x61\\xc0\\x98\\xb1\\xf0\\x1c\\xbf\\x2d\\x69\\xe6\\x8c\\xa0\\xd0\\x20\\x79\\xb5\\xd4\\xa1\\xbd\\x40\\xca\\x27\\x8b\\x92\\x1c\\x96\\xab\\xfe\\xbc\\x77\\x93\\xff\\xc8\\xab\\x2f\\x31\\x01\\xfa\\x03\\xe2\\x91\\x67\\x7e\\x3e\\xf8\\xfa\\xeb\\xca\\x4f\\x1a\\xdb\\xff\\xc2\\x3f\\xce\\xbd\\x23\\x98\\x9d\\x3a\\x74\\x0e\\x74\\xe6\\x66\\x3a\\x0f\\x1c\\x23\\x97\\x14\\xf1\\xc3\\x80\\xa7\\x7c\\xf0\\x27\\x98\\x81\\x69\\x14\\xe6\\x7d\\x01\\xf9\\x91\\xe6\\xca\\x79\\x72\\xb2\\x0a\\x28\\xf6\\x39\\x4b\\x99\\x43\\x8b\\x01\\x16\\xfa\\x42\\xde\\x2e\\x65\\x5e\\x93\\xc7\\x9d\\xf4\\xa5\\x2d\\x51\\x62\\x23\\x27\\x3a\\x9b\\x89\\x13\\xb5\\x3b\\xcc\\x96\\xfb\\xdb\\x0d\\xfa\\xfb\\xdb\\xcd\\x06\\xb3\\x01\\x32\\x34\\xee\\x7e\\x32\\x35\\xe3\\xfb\\xdb\\x91\\x53\\x73\\x0b\\x93\\x64\\x56\\xca\\x85\\x7d\\x64\\xa0\\x64\\x5f\\xcb\\x6a\\xbe\\x18\\xfe\\x65\\xe9\\xcf\\x87\\x1f\\x72\\xdf\\x7d\\xf8\\xa1\\xd8\\x0e\\x5f\\x49\\xc9\\xef\\x2a\\xbe\\xc6\\x46\\xea\\xfd\\x82\\xd1\\xa8\\x37\\x43\\x08\\x64\\x33\\xb3\\x16\\x0b\\x32\\xf2\\x2c\\xb2\\xd8\\x4d\\x36\\x1b\\x38\\x37\\xce\\x42\\x84\\x4c\\x6f\\x87\\xa1\\x9e\\x47\\x71\\x3d\\xc4\\xc9\\x69\\xe7\\x2d\\x36\\xee\\x88\\x42\\x68\\x17\\xa5\\x37\\x18\\x13\\x2f\\x74\\x04\\x5c\\xdc\\x91\\x23\\x8a\\x17\\x02\\x07\\xa7\\xfa\\x21\\x46\\xa5\\xcd\\xca\\x9e\\x4e\\xa7\\x33\\x40\\x1c\\x62\\x30\\x1a\\x41\\x00\\x20\\x01\\x9e\\xc4\\xaf\\xbf\\xe2\\xe9\\x58\\x87\\xe4\\xea\\xb6\\x91\\xfb\\x6e\\xce\\x27\\xae\\x8e\\xd0\\x10\\xb7\\xe1\\xa7\\x54\\x67\\x87\\xd3\\x76\\xa0\\xf1\\x2d\\xd0\\xa0\\xf3\\x0a\\xb8\\x37\\x98\\x83\\xb1\\x92\\xbd\\xc4\\xeb\\xa8\\x43\\x66\\x23\\x6c\\xc5\\xc4\\x57\\xf1\\x27\\xaf\\x42\\x28\\x5e\\x42\\xa6\\xcd\\x4c\\xbb\\x5b\\x21\\x32\\x82\\x39\\x42\\xc0\\x30\\x25\\xe9\\x10\\xb9\\xc9\\x87\\xe9\\x31\\x47\\x10\\x1e\\x82\\x18\\x30\\x7c\\xfb\\xad\\xec\\xc7\\x0f\\x88\\x23\\x68\\xff\\x1c\\x80\\xe3\\x1b\\xc8\\x13\\x04\\xc8\\x14\\x2a\\x12\\x4e\\x4e\\x6f\\x34\\x62\\x1d\\xcf\\x43\\xba\\x00\\x7c\\x98\\xf4\\x94\\x11\\xb5\\x5f\\x64\\x8a\\x90\\x16\\x98\\x80\\x25\\x92\\x24\\x34\\x95\\xea\\x7c\\x15\\x13\\x5f\\xf9\\xe6\\x9b\\x57\\x26\\x5e\\x7b\\xed\\xb5\\xc0\\x1b\\xff\\xf4\\xc7\\x1f\\x3f\\xfd\\xf4\\xc2\\x85\\x0b\\xb4\\xe3\\x66\\x81\\x1c\\xc7\\xab\\x17\\x8c\\xac\\x05\\x1b\\x21\\xbf\\x32\\x59\\x0d\\x16\\x0b\\x98\\x19\\x67\\xca\\xcc\\x12\\xb2\\xf0\\xe4\\x51\\x52\\xc6\\x48\\x3b\\x42\\x7e\\x75\\x80\\xc4\\xad\\xea\\xf8\\x60\\x7c\\x09\\x58\\xd6\\xf5\\xdc\\x36\\x88\\x6f\\x06\\x24\\x0a\\x2d\\x7a\\xbd\\x01\\x79\\x0c\\x1e\\xaf\\xcf\\xe2\\x70\\x70\\xff\\x48\\x3a\\x1c\\x36\\x13\\x36\\x25\\x4c\\xce\\x36\\x93\\xc1\\x0e\\x46\\x80\\xaa\\xa7\\xd5\\x55\\x57\\x4e\\x8b\\x57\\x6b\\x2e\\x6a\\x93\\xe3\\xb9\\xac\\x9b\\x64\\x95\\x1b\\x70\\x59\\xa6\\x71\\x78\\xdb\\x05\\x2b\\xb9\\x2b\\x05\\x26\\x7a\\xf1\\xa8\\xcb\\x2f\\x62\\x74\\x78\\xed\\x94\\xe1\\x33\\xa7\\x8b\\x9b\\x70\\xfa\\xb6\\xf9\\x83\\xfb\\x5d\\x76\\x95\\x38\\x36\\x9d\\xc6\\x38\\x3d\\x9b\\x3d\\xce\\x5c\\x6b\\xd7\\xf1\\x33\\xd2\\xff\\xea\\xbe\\x8d\\xd8\\x20\\x0e\\xa7\\xe7\\xb2\\x5d\\xcc\\x2a\\x78\\x36\\x07\\xa1\\xee\\xb5\\xf4\\x59\\x41\\xfa\\x52\\x76\\x0f\\xb3\\x12\\x9e\\x2d\\x84\\x67\\x6b\\xe8\\xb3\\xbc\\xf4\\x6f\\xd9\\xbd\\xcc\\x62\\xc8\\xc0\\x6b\\x98\\x99\\x32\\x5c\\x18\\xe0\\xba\\x28\\xdc\\xa5\\x12\\x1c\\xb0\\xde\\x08\\xf2\\x5a\\xc7\\xbf\\x8b\\x0a\\xd0\\xdc\\x44\\x0b\\xef\\x87\\xfe\\xe9\\xdd\\xa8\\xc0\\xe4\\x74\\xda\\x0a\\xdc\\x7e\\x3e\\x5c\\x68\\xf7\\xe8\\x3d\\x9d\\x49\\x8b\\xde\\x60\\xee\\x4c\\xda\\xf4\\xd8\\xc6\\x92\\xeb\\x7c\\xdc\\x8c\\xdb\\xd1\\x99\\x74\\x3b\\x11\\x0a\\x32\\xc1\\xce\\x24\\xf1\\x34\\x52\\x45\\x33\\x63\\x97\\xe4\\xda\\xba\\x4c\\x7c\\xa7\\xb9\\xc1\\x98\\x4a\\x45\\x9e\\xa7\\x7c\\x52\\x30\\x20\\x7f\\x95\\x30\\x8e\\x7a\\x27\\x39\\x7d\\x89\\xf9\\x6f\\x9f\\xbd\\xdb\\x6e\\xb9\\xfd\\x6e\\xa6\\x43\\xbc\\x00\\xdf\\x20\\x5e\\x8d\\x8f\\x74\\xdf\\xfc\\xfd\\x37\\xe2\\x3f\\xb7\\xbe\\x5d\\xcc\\x3d\\x7e\\xef\\x93\\x07\\x8f\\xec\\xc7\\xf8\\xe9\\xdb\\xc4\\x3f\\xdd\\x2a\\x1e\\xb8\\x0d\\xbf\\xc5\\x80\\x63\\xe0\\x7f\\xc2\\xfc\\x86\\xeb\\x49\\x9c\\xb6\\x30\\xbd\\x8e\\x5b\\x0a\\x7e\\xa5\\x10\\x91\\xca\\xf4\\x2d\\x89\\xe1\\xa5\\x41\\x9f\\xdf\\xe9\\x0a\\x17\\x42\\xa4\\x46\\x42\\x61\\x0b\\x57\\xe8\\xf2\\x07\\x85\\x3e\\x7d\\x03\\xde\\xe2\\xf2\\x88\\x81\\x67\\xbc\\xee\\x72\\xb3\\x81\\xd1\\x23\\xb3\\xde\\x0c\\x3d\\x77\\xfb\\x9d\\xf6\\x44\\x89\\xd1\\x6e\\xec\\x48\\xda\\x5d\\x15\\x51\\x14\\xed\\x48\\xb2\\xe1\\x02\\xf0\\xbd\\xad\\x75\\xc7\\xeb\\x32\\x61\\x2b\\x39\\x8c\\xbc\\x8e\\xa6\\xcd\\x60\\x4e\\x64\\xc1\\xaf\\xc5\\x99\\xb9\\x86\\x20\\xeb\\x6c\\x72\\x55\\x11\\xbc\\xbe\\xa6\\xb8\\xce\\x0b\\x39\\x30\\x6e\\x74\\xf9\\xac\\x38\\x5a\\xaa\\x8b\\x36\\x95\\xc0\\x37\\x57\\x89\\xc3\\xee\\x6c\\xc5\\x71\\x57\\x49\\x29\\xc0\\xb0\\x6e\\x9f\\x4b\\x60\\x98\\xb7\\x27\\x0c\\xab\\x59\\xdb\\x76\\x5e\\xcd\\xa3\\x1e\\xf1\\xf4\\x3b\\x97\\xdd\\x3f\\xee\\xfb\\xed\\xa5\\xc1\\xb5\\x45\\xa3\\x86\\x37\\xad\\x4d\\xfe\\xf6\\xeb\\x2f\\xa2\\x6b\\x87\\x9e\\x33\\x5e\\x3c\\x51\\x3b\\xe1\\x03\\xd3\\x1b\\x0b\\x2e\\xe1\\x2f\\x34\\x14\\x6d\\x3f\\x75\\xfe\\xb2\\xc1\\xf5\\xa7\\x6f\\x61\\xb1\\x6f\\xf0\\x8b\\x7b\\xf1\\xf4\\x2b\\xbc\\x75\\x07\\x71\\xf5\\xd3\\xb8\\x11\\x27\\xf0\\x64\\xcf\\x52\\xf1\\x99\\xb8\\xee\\xf4\\xf8\\x31\\x51\\xc6\\x34\\xfb\\x5c\\xe6\\xa9\\x4a\\x31\\x2d\\xe5\\x0a\\xe4\\xae\\x8c\\xa5\\xfc\\x14\\x54\\x8e\\xa6\\x27\\xea\\x50\\x81\\xde\\xe3\\x61\\x99\\xe2\\x68\\xd4\\xe7\\xf7\\xdb\\x98\\x02\\xae\\xa2\\xd2\\xec\\xe8\\x48\\xea\\xcd\\x66\\xde\\xc7\\x17\\x17\\xf3\\x3e\\x36\\x58\\x58\\x58\\xda\\x91\\x2c\\xe4\\x18\\x4f\\xd0\\xd3\\x91\\x0c\\xba\\x32\\x17\\x3b\\x3a\\x91\\x8f\\x8c\\x79\\xb5\\x23\\x2e\\x5d\\x9e\\x9f\\x7d\\xba\\x3e\\xb9\\x18\\xcf\\x47\\xee\\xa8\\xf2\\x4a\\x37\\x29\\x2b\\xb7\\x54\\x49\\x72\\x28\\x44\\xe4\\xc2\\x3c\\x10\\x0c\\x39\\xd8\\x8a\\xc1\\xfd\\x8e\\x08\\xbb\\xf4\\x5c\\xe5\\x82\\x59\\xc5\\xb1\\xe2\\x01\\x0b\\x96\\x1e\\x9a\\x45\\x3a\\x2f\\xfe\\x24\\x7e\\xce\\xf8\\x1f\\xf9\\x72\\xd8\\xa3\\xb1\\x6d\\xb3\\x1f\\x7b\\x98\\xd9\\x29\\xce\\xb8\\x18\\x3f\\xbc\\xe8\\xd6\\xfd\\xb1\\xdb\\x66\\x19\\x1f\\x36\\xbe\\x98\\x7a\\xce\\x8d\\x79\\xd2\\xf1\\xb9\\x78\\x02\\xf3\\xe4\\x83\\x5d\\x83\\x17\\x5e\\x2f\\x8a\\x52\\x1f\\xc9\\x1e\\xdd\\xd1\\x30\\xe7\\x38\\xd0\\x84\\x44\\x1f\\x1e\\x1b\\x0c\\x56\\xa3\\x9d\\x31\\xb2\\x4e\\x97\\xde\\x6c\\x01\\x95\\xe6\\x2d\\x98\\xeb\\x48\\xda\\xf0\\x21\\xcc\\x80\\xdf\\xc7\\x16\\x6c\\xb0\\xd9\\x10\\x3c\\x60\\x0d\\x4e\\xd4\\xfa\\x6b\\xda\\x2c\\x47\\xd9\\x44\\x71\\xc9\\x5f\\xe2\\x4d\\x1a\\xe2\\xf0\\x3f\\xbc\\x9e\\xd9\\xd1\\x3d\\x15\\xdf\\x24\\x5e\\x75\\x68\\xcf\\x1e\\x76\\x39\\xb7\\x53\\x1c\\x7a\\xdf\\xd1\\x55\\x62\\x37\\x66\\x57\\xb1\\x2f\\x6e\\x95\\x78\\x1a\\x07\\x3c\\xcd\\x02\\xb9\\x57\\xa1\\x07\\x12\\xa3\\x4b\\xc2\\xd1\\xa8\\xb9\\x9c\\xe3\\xec\\x06\\x73\\x15\\x42\\x7e\\x9f\\xd9\\xd7\\xa7\\x6f\\x89\\xd1\\x64\\x5c\\x9c\\x8c\\x9a\\x8a\\xac\\x36\\xeb\\xe2\\x64\\xd8\\xd6\\x6a\\x9a\\x6f\\x5a\\x61\\x5a\\x67\\xe2\\x6c\\x36\\x6c\\x66\\x4d\\x36\\x93\\xad\\xdc\\xed\\x0e\\x2e\\x4e\\xfa\\xfd\\x6e\\x1d\\x5f\\xce\\x95\\x2f\\x4e\\xda\\xab\\x0a\\xab\\x98\\xaa\\xfd\\xe9\\xc3\\x7b\\xbd\\x25\\x6d\\xe4\\xe7\\x3e\\xbb\\xab\\xad\\xaa\\x8a\\xf3\\xd3\\xab\\x84\\x2b\\xa7\\x65\\xdd\\xc1\\x28\\xf7\\x68\\x9a\\x43\\xea\\x50\\xbc\\xc7\\xf5\\x92\\x71\\xf5\\xfa\\x69\\x0c\\x23\\x14\\x69\\x18\\x84\\xe9\\xfd\\xb1\\x0d\\xe4\\x4b\\xbe\\x67\\x98\\x8c\\x96\\x40\\xee\\x69\\x91\\xfe\\xba\\x75\\x91\\xba\\x26\\x6e\\x96\\xe3\\x89\\xf5\\xdd\\xc3\\x67\\xb7\\x3d\\x0b\\x7f\\xde\\x3c\\xb2\\xf1\\xb5\\xa2\\xdd\\xee\\xf9\\x6d\\x8b\\x16\\xe0\\x2d\\xe2\\x1c\\xf2\\xb5\\x13\\x7f\\xb6\\x3b\\x84\\x9b\\xee\\xdc\\x7e\\x4f\\xe3\\xf2\\xdf\\x04\\xd6\\x6e\\x59\\x33\\xfa\\xe5\\xd7\\xaf\\x9a\\xd7\\xd2\\x3a\\x7a\\xf1\\x35\\x13\\xd7\\x6c\\x59\\xab\\xfb\\xf3\\xe4\\x27\\xa8\\x7c\\x2e\\x4e\\x37\\x73\\x33\\xf9\\x04\\xaa\\x40\\x33\\x12\\x71\\x97\\xd9\\x6c\\xb7\\x84\\xca\\xf2\\x21\\x95\\xce\\xab\\xa8\\xe0\\x50\\x30\\x3f\\x5a\\x54\\x94\\x8f\\x58\\x0b\\x5f\\x59\\x95\\xe7\\x72\\xf9\\xca\\xf4\\x3e\\xfd\\xb8\\x24\\xe6\\xca\\x59\\x4b\\xc8\\x67\\x8f\\x32\\xc8\\x42\\xae\\x7b\\x38\\x16\\x6f\\x25\\xa1\\xb5\\xd4\\x3f\\x47\\x96\\x0b\\xa2\\x96\\xea\\x6c\\x51\\x42\\xca\\x48\\x03\\x1b\\xc5\\x0d\\x99\\xeb\\xe1\\x35\\xd7\\xc2\\xbb\\xe2\\x3a\\xf5\\xc2\\xf2\\x4a\\xcc\\x3a\\x18\\x57\\xd7\\x36\\x3c\\xaa\\x76\\x70\\x62\\xec\\x4e\\x61\\xb3\\xc0\\x14\\x5d\\x7a\\xde\\xa4\\x49\\xae\\x7d\\x77\\x5f\\xc2\\x2f\\x9d\\xf5\\x68\\xed\\x60\\xbc\\xf6\\x7d\\xb1\\x93\\x75\\xcf\\xb8\\x67\\xf9\\xe1\\x1d\\xdd\\xdb\\xd9\\x09\\xcf\\x57\\xac\\xa8\\x99\\x35\\xad\\x63\\x06\\xde\\xfb\\xfd\\xe3\\xef\\x74\\x57\\x33\\xbb\\xef\\x59\\x2e\\xee\\xec\\xde\\x04\\xb3\\x71\\x00\\xc6\\x7f\\x0f\\xe8\\x64\\x10\\x85\\x51\\x14\\x95\\x42\\x3f\\xef\\x49\\x5c\\x80\\x23\\x45\\x15\\x5c\\x19\\x2a\\x2b\\x2f\\x67\\x6d\\xe1\\xfc\\x52\\xae\\xd8\\x6a\\x2d\\x64\\x21\\x22\\x61\\xb9\\xe2\\x92\\x12\\x54\\xe0\\xf0\\xe6\\x39\\x58\\x27\\xe7\\xac\\xac\\x62\\xf2\\x4a\\x59\\x41\\x27\\x74\\x24\\x7d\\xf9\\x85\\xac\\x2e\\x1a\\xf6\\x82\\xb2\\x80\\xc6\\xba\\xca\\x59\\x53\\x31\\xa7\\x2b\\x33\\x59\\x74\\x26\\x9d\\x89\\x73\\x58\\x58\\xc4\\x39\\xc9\\xc5\\x17\\x71\\xc5\\x4b\\x39\\x68\\xb8\\x22\\xdd\\x91\\x2f\\xfd\\xe2\\x93\\x87\\xdd\\xa7\\x0c\\xba\\x54\\x89\\x50\\xee\\x52\\xa4\\xd7\\xf3\\x46\\x58\\x59\\xb9\\xc9\\xe8\\x3b\\xe2\\x2e\\xe5\\x6a\\x61\\x32\\x85\\x62\\x78\\xc8\\xc7\\x4b\\xc9\\xdd\\xe4\\x51\\xec\\x8b\\xb3\\x43\\x0f\\x8a\\x47\\x76\\xdd\\x02\\x7f\\xfe\\x7a\\x00\\x0f\\x7b\\x7c\\x35\\xfc\\x11\\x5f\\xba\\xa3\\x5b\\x3c\\xfa\\xe3\\xdc\\x5b\\x99\\xa1\\x06\\xdd\\x68\\x51\\x6f\\x1d\\x86\\xef\\x16\\x67\\xe3\\xbb\\xef\\xfd\\xf2\\x5e\\xbc\\x4e\\x5c\\x48\\xbe\\xe0\\x57\\x71\\x36\\x53\\xff\\xe5\\x97\\x5f\\x76\\xef\\x4f\\xdc\\xc8\\xbc\\x93\\xa2\\xb1\\x6e\\x9f\\xf4\\x29\\x2e\\x05\\x32\\x32\\x80\\x95\\x34\\xa0\\x91\\x68\\x6b\\x62\\x3c\\x8c\\xbb\\xd7\\xe8\\xb0\\xdb\\xcb\\xf2\\xfb\\xa0\\xfe\\xad\\xad\\xcd\\x6d\\x75\\x3c\\x2f\\x08\\x6d\\x28\\xdf\\xc8\\x9f\\x3b\\x6a\\x50\\x63\\x53\\xe3\\x15\\xc9\\x32\\x6f\\xd8\\x12\\x2e\\xb9\\x22\\x19\\x8d\\x86\\xc3\\xfd\\x9b\\x5a\\x5a\\x9a\\xea\\xb8\\xc5\\xc9\\xa6\\xba\\xa6\\x3a\\x8b\\x6e\\xb0\\xcb\\xe2\\xba\\x22\\x39\\x1c\\x26\\x38\\x4b\\x40\\x57\\xbb\\x38\\x09\\x69\\x86\\x72\\x04\\x20\\xe4\\x27\\xb2\\x0d\\x48\\x21\\x25\\x9d\\xca\\x40\\x10\\xd5\\x8a\\xbd\\xf4\\x36\\x8b\\x65\\x3c\\x1c\\x2d\\x20\\x54\\x92\\x8b\\x8c\\xe2\\x85\\x38\\xfb\\x0e\\xd3\\xd2\\xbe\\x58\\x6b\\x30\\x64\\xca\\xf3\\x62\\xa2\\x4c\\x10\\xf3\\x34\\xba\\x32\\x57\\x49\\xab\\x57\\x74\\x33\\xc3\\x77\\x6d\\x18\\xb8\\xfd\\x0f\\x78\\x04\\x73\\x79\\xe7\\x94\\x51\\x33\\x4c\\x97\\xd9\\x07\\xe6\\x15\\xf5\\xa9\\x39\\x6f\\xf0\\xf4\\x49\\xc3\\x27\\xeb\\xe7\\xf1\\x51\\x57\\x53\\x43\\xfc\\xfa\\xd3\\xdf\\x9e\\x77\\x7e\\x73\\xe2\\xdc\\x73\\x03\\x53\\xfa\\x8f\\xd8\\xbc\\x79\\x68\\x9f\\x60\\xbc\\xfe\\x51\\xf6\\x3f\\x0f\\x1f\\xe9\\x5e\\xc4\\x0f\\xfb\\x65\\xce\\x84\\x99\\x13\\xc6\\x39\\x26\\xc7\\xca\\x8a\\x07\\x45\\xea\\x2f\\x69\\x1e\\x7b\\xe1\\x85\\x6d\\xe6\\xaa\\xe8\\xc8\\x58\\x4b\\x34\\xc9\\xfc\\x05\\x62\\x8c\\x4b\\x16\\x89\\x5b\\x2f\\x5a\\xbb\\xf6\\x22\\x71\\xe5\\x18\\xdd\\x45\\xa6\\xed\\xf8\\x0e\\x5a\\xdf\\xf0\\xc3\\x5c\\x70\\x0c\\xe4\\x6d\\x41\\x5e\\xd4\\x1f\\xad\\x49\\x8c\\x36\\x43\\xe2\\xe2\\x22\\x71\\xaf\\xc5\\x62\\x35\\x14\\x84\\x42\\x0d\\x95\\xb5\\x35\\x51\\x9f\\xaf\\xa6\\xd2\\xc0\\xf1\\x03\\x06\\x36\\x44\\xfb\\xe4\\xf5\\x89\\x77\\x26\\x51\\xed\\x82\\x5a\\xc6\\xc4\\xd6\\xd6\\xf6\\xb1\\xe7\\x45\\x3a\\x93\\x05\\x05\\x79\\x2e\\x33\\xe3\\x62\\x3a\\x92\\x2e\\x17\\xc7\\xf3\\xce\\x8e\\x24\\xaf\\xa8\\xa1\\xe6\\x90\\x43\\xbf\\x7a\\xbd\\x39\\xf5\\xab\\x44\\xc2\\xb9\\xd2\\x8d\\x67\\x5d\\xcb\\xc2\\x92\\x68\\x4d\\xba\\xe6\\x56\\xe7\\x62\\x15\\xf9\\x29\\xb2\\xd6\\xde\\x82\\x2e\\x4d\\x25\\x25\\x92\\xa8\\x0b\\x18\\xfc\\xf6\\x1f\\x9b\\xbb\\xfe\\xf0\\xdc\\xcb\\x33\\xa7\\x9f\\xfc\\xcb\\xac\\xab\\xbc\\xf9\\xf3\\x2e\\x63\\x9d\\xdb\\xd6\\x5d\\xb7\\xb9\\x70\\xa3\\x6b\\x5c\\xeb\\x1d\\x91\\xa1\\xd3\\xa7\\x4c\\xae\\xc6\\xde\\x2b\\xd7\\xd9\\xef\\x74\\xff\\xe6\\x9a\\xd6\\x79\\x73\\xa6\\x36\\x32\\xad\\xdd\\x2f\\xf2\\xc3\\x5e\\x7e\\x6a\\xf5\\xd3\\xd1\\xee\\x35\\xec\\xf1\\x05\\xf3\\xc5\\x8a\\x25\\xdd\\xef\\xdd\\xbd\\xf5\\x9a\\x75\\xe1\\xc9\\xe7\\x3d\\x56\\x37\\xb4\\xbe\\xac\\x78\\xec\\xc2\\x09\\x38\\x76\\xd3\\x35\\xee\\x3b\\xee\\x1a\\x35\\xba\\xaa\\x62\\xfc\\x6f\\x41\\x7e\\x02\\x4d\\xd0\\x8e\\xab\\x36\\x4d\\x6e\\x9f\\xea\\x8b\\xee\\x4d\\x4c\\xf1\\x47\\x0b\\xcb\\xb9\\x52\\x9f\\xcf\\xe3\\x74\\x58\\x39\\x8b\\xd7\\x62\\x2e\\x2d\\x0a\\x57\\x22\\x96\\xd3\\x71\\xfa\\xa0\\xde\\x10\\x28\\x08\\xc5\\xb8\\xe2\\xbc\\xbc\\x60\\xb0\\xb8\\xb2\\xd4\\xcb\\x57\\xd7\\xe8\\x4c\\x25\\xe5\\x90\\xc8\\xd9\\x3a\\x92\\x5c\\x7e\\x61\\x15\\x67\\x67\\xc3\\xd1\\x4a\\xce\\xe5\\x76\\x75\\x24\\xfd\\xc8\\x6d\\x87\\xbf\\x96\\x3c\\x2f\\x5b\\x5c\\x5a\\x6a\\xb0\\x10\\x99\\x82\\x80\\x14\\xeb\\x8e\\xcb\\xe6\\x9c\\x31\\x6b\\x2a\\x4e\\xb0\\x60\\xb2\\xc0\\xec\\x53\\xef\\xdc\\xf2\\xb5\\xc8\\x66\\x0d\\xb9\\x6c\\x54\\x07\\x5f\\xac\\xfc\\xb7\\x01\\xcc\\xb8\\x21\\xce\\x82\\x7d\\xbb\\xe2\\x38\\xde\\x04\\x66\\xdd\\x14\\xc5\\xf0\\xa3\\x29\\xea\\xc5\\xba\\x78\\x29\\xb7\\x26\\x31\\xb9\\xf8\\xea\\x4d\\xad\\x6f\\x5f\\xbe\\x73\\xc1\\xdb\\x89\\x8d\\xcb\\x8a\\x2f\\x1c\\x34\\xe8\\xf9\\x7a\\xe6\\x44\\xdd\\xf3\\xe2\\xa4\\x5b\\x43\\x5f\\x88\\xad\\x37\\x27\\xbe\\x60\\x56\\xf8\\xc6\\x89\\xa8\\xf9\\x3c\\x0f\\x0e\\xf5\\x6d\\x0f\\xb3\\xfb\\xa8\\x61\\xe7\\x98\\xfb\\xe9\\x6f\\x88\\x9d\\xaf\\xf9\\xee\\xbb\\xef\\xde\\x64\\xca\\x0e\\xad\\x94\\x6a\\xbf\\xb5\\x20\\xbb\\xfb\\xb8\\xa3\\x90\\x87\\x85\\xd1\\xe4\\x84\\xdd\\x65\\xe7\\x05\\x7f\\xd0\\x62\\x0d\\x0a\\x76\\x2b\\x17\\x29\\x0c\\xec\\xc7\\xe7\\x3d\\x23\\x38\\x04\\x87\\xdd\\x66\\x77\\x0d\\x36\\xe3\\x89\\xf4\\xc6\\xe7\\x31\\x00\\x2d\\xfd\\x6e\\xc3\\xe7\\x21\\x2b\\xfc\\xbf\\x35\\x3b\\x31\\x6c\\xcd\\x3d\\x4a\\xb3\\xae\\x80\\x9c\\x9a\\x49\\x14\\x85\\xda\\x2a\\x26\\x8f\\xe9\\xc5\\xf3\\x71\\x07\\x39\\x65\\x13\\xdf\\xd3\\x75\\x38\\xb9\\xbf\\x76\\xd1\\xfc\\xae\\xfd\\x78\\xc0\\xfe\\x27\\xe6\\x2f\\xac\\x39\\xd0\\xfe\\xe2\\x63\\xdc\\xd1\\xb9\\xff\\x7c\\x43\\xfc\\xef\\xe9\\xbb\\xef\\x1f\\xf1\\xcb\\xdf\\xb8\\xa3\\xbf\\x34\\x30\\x1f\\x74\\xbf\\x33\\xe2\\xa1\\xcd\\xcc\\x83\\xdd\\xe3\\x8f\\x7e\\x35\\x47\\x5a\\xb7\\xbb\\x55\\x7c\\x8f\\xbb\\x93\\xae\\x9f\\xfe\\x91\\xae\\x01\\xbf\\x03\\xd1\\xb5\\x8b\\xdc\\x4c\\xd8\\xc7\\x47\\x6e\\x26\\xa4\\x73\\x5a\\x3b\\xd8\\xd7\\xc5\\x30\\xe7\\x97\\xa1\\x1b\\x13\\x6d\\xc5\\x08\\xe9\\x8b\\x70\\x89\\xd5\\x57\\xc2\\x3a\\x9d\\xe5\\xa1\\xfc\\x7c\\x9d\\x5e\\xef\\xac\\x28\\xc7\\x30\\xf2\\x8b\\x93\\xa5\\xf6\\x98\\xc7\\xeb\\x59\\x9c\\x2c\\xf2\\xb6\\xda\\xb1\\xcd\\x0b\\x13\\xbe\\xdd\\x6b\\xf7\\x9a\\x02\\x81\\xf0\\xe2\\x64\\x28\\x14\\x00\\xdf\\xbe\\x38\\x59\\xa3\\x83\\x84\\xd1\\x14\\x20\\x93\\xfb\\x34\\xc9\\x92\\xfe\\x97\\x89\\x5d\\x76\\xf4\\xca\\x75\\xa9\\xc4\\x6e\\x1a\\x9b\\x7c\\xf4\\x7e\\x78\\x32\\xf8\\xa5\\xf5\\x4d\\xf0\\xdd\\xa9\\x58\\x90\\xa0\\x83\\x89\\x5d\\xe7\\x8b\\xb0\\x97\\x8a\\x0d\\x8e\\x7b\\xef\\x3a\\xf7\\xd6\\x8b\\x46\\xcf\\x7c\\x61\\xee\\xc7\\xe9\\xd0\\xf5\\x57\\x72\\xdc\\x95\\xab\\xfa\\xe1\\x97\\xe7\\xee\\x6b\\x1f\\x7f\\xeb\\xfa\\x1d\\x9b\\xdc\\xf8\\xb8\\x18\\x83\\xcc\\xff\\x2f\\xf8\\xad\\xc7\\xb7\\x56\\x0e\\xbc\\x69\\x48\\xcb\\xb7\\xdf\\xae\\x3f\\xb7\\xb2\\x78\\x2d\\x7e\\xaf\\xa1\\xf5\\xf6\\x99\\x1b\\x1e\\x5b\\x33\\x66\\x14\\x91\\x01\\xb9\\xee\\xe7\\x28\\xd8\\x88\\x1b\\x8d\\x4b\\x94\\x3b\\x91\\xdb\\x6a\\x73\\x61\\xbb\\xc5\\x0c\\x69\\x2f\\x0f\\x71\\x98\\xcd\\xcd\\x7b\\x3d\\x2e\\x96\\xd1\\xe9\\x75\\x10\\x7c\\x9b\\xf5\\x7a\\xde\\x6a\\x64\\x11\\xaf\\xcc\\x61\\xca\\x75\\xf7\\xbd\\xc4\\xd7\\xf4\\xe6\\xa6\\xa8\\x4e\\x8e\\xc1\\xe0\\x2f\\x8e\\x93\\xc0\\x04\\xb3\\x5f\\x8b\\xc5\\x79\\x9b\\x0e\\x6d\\xdf\\x7e\\xa8\\x1d\\x7f\\xfa\\xa9\\x68\\x61\\x06\\x8a\\xb5\\xf8\\x0f\\xcc\\xfc\\x7b\\xc4\\x4a\\x66\\xfe\\x03\\x4c\\x63\\xf7\\x1b\\xe4\\xeb\\x81\\xee\\x0d\\xc0\\x19\\x3d\\x2b\\x1f\\x78\\xf3\\xa1\\x0b\\x13\\x7d\\x7c\\x24\\x50\\x74\\x3b\\xad\\x46\\xa3\\x3f\\x80\\xdc\\x1e\\x77\\x47\\xd2\\xa4\\x37\\x73\\x36\\xde\\xca\\xd9\\x9d\\x58\\x60\\xcc\\x76\\x08\\xd1\\x05\\xbb\\x99\\x33\\x7a\\x58\\x23\\x89\\x13\\xa5\\x55\\x3c\\x29\\x13\\xf0\\x41\\x2a\\xd0\\xa2\\x29\\xad\\x2b\\x75\\x09\\xec\\x88\\x79\\x78\\x0f\\x7c\\x01\\x9b\\x7c\\x43\\xac\\x01\\xbe\\x48\\xc1\\xd2\\xc3\\xbc\\x42\\xee\\xdb\\x27\\x5f\\x2f\\x48\\x3f\\xe0\\x6b\\x18\\x57\\x0f\\x81\\xe3\\x07\\x8f\\xdf\\xbf\\xeb\\x61\\xf8\\x12\\xa7\\xe1\\xc4\\xce\\x7b\\x1e\\x7b\\x04\\xbe\\xf0\\x6d\\x5b\\x69\\x0c\\xc9\\x23\\x24\\x3e\\xcb\\xbd\\xca\\x97\\x23\\x27\\x6a\\x42\\x43\\x20\\xa2\\x4c\\x82\\x5e\\x9d\\xd7\\x8c\\xc6\\xd4\\x1b\\x8c\\xb5\\xb1\\xb6\\x88\\xf7\\xfc\\x0b\\xf2\\xf3\\xcf\\x8f\\xc4\\x8c\\xf5\\x48\\xd7\\x3e\\x65\\x68\\xac\\x32\\x76\\x51\\xb2\\xb6\\xd2\\xde\\xff\\xa2\\x64\\x78\\xc2\\x45\\x49\\x6f\\xdb\\xf9\\x11\\x2e\\x1c\\x4e\\x18\\x5c\\x6d\\xf6\\xca\\x70\\xd8\\x5e\\xc9\\x06\\xfa\\x8e\\x9a\\x1c\\x98\\x7c\\x51\\x92\\x1d\\x7c\\x51\\x52\\x60\\x59\\x97\\x31\\x00\\xfd\\x7a\\x95\\x4c\\x81\\x95\\xd2\\x74\\x48\\xbb\\x78\\x35\\xa8\\x19\\x04\\x55\\xbd\\x24\\x76\\x19\\x3b\\x8b\\x49\\x5e\\x59\\x27\\xe8\\xa2\\x8d\\x4d\\x2e\\x1a\\x48\\x61\\xf8\\x3f\\xd5\\x32\\x3a\\x17\\xfa\\x9a\\xf2\\x70\\x93\\x15\\xeb\\x1a\\x1a\\x21\\xcc\\x6a\\xf2\\x09\\x3a\\xaf\\xd3\\xe3\\x66\\x84\\x98\\xb6\\xa8\\x29\\x80\\x1a\\x90\\x5f\\x9c\\x30\\x87\\x62\\xc9\\x9b\\xc7\\xeb\\xb8\\x57\\xe7\\x4c\\x8d\\x36\\xe4\\x17\\xfb\\xdd\\x4b\\xa2\\x9e\\x51\\xbe\\xe9\\x63\\x27\\xcc\\xec\\x2e\\x4b\\xcc\\x6c\\xf6\\x9e\\xdf\\xd8\\x32\\x60\\x70\\x7d\\xbc\\xd6\\x53\\x72\\xe1\\x80\\xb1\\xf7\\x97\\x2d\\x7f\\xa5\\xa6\\xad\\xa4\\x30\\x5e\\xb7\\x69\\xd7\\xec\\x47\\x19\\x6b\\x6d\\x65\\x2d\\x68\\x4e\\xdf\\xfa\\xee\\xc7\\xce\\x1f\\x52\\x53\\x70\\xe1\\xd4\\xf3\\x96\\x8f\\x5a\\x2a\\x9e\\x5f\\x56\\x3b\\x24\\x16\\x1a\\xf9\\xdf\\x2b\\x6e\\x0a\\x17\\xbc\\xb9\\xaa\\xb6\\x7d\\x01\\xbe\\x74\\xf9\\x6f\\xae\\x14\\x1f\\xea\\x37\\xa0\\x6e\\xe8\\x90\\x44\\xbf\\x61\\x45\\xb7\\xe3\\x32\\x3c\\xbe\\x93\\xaf\\xc8\\xaf\\x3f\\x77\\xf0\\x79\\x11\\xef\\xc0\\xa9\\xbc\\xf8\\xf5\\x57\\x4f\\x8a\\x7f\\xba\\xe7\\xf3\\x0b\\x26\\x4c\\x19\\x33\\x61\\xf2\\x34\\x76\\xcf\\xef\\xc4\\x45\\xe2\\xb7\\xed\\x9d\\x9b\\x71\\x60\\xdb\\xeb\\x27\\x4e\\xcf\\x28\\x6a\\x2b\\x8d\\x81\\x2f\\x1b\\x20\\x4e\\xe2\\xc8\\x3a\\x5e\\x04\\xf5\\x41\\x53\\x12\\xb5\\x01\\x0f\\x44\\xae\\x79\\x90\\x84\\xd8\\x79\\x3e\\xcf\\x98\\xef\\xf1\\x09\\x7d\\xab\\x5d\\x9e\\x00\\xeb\\xab\\x64\\xf2\\xd8\\x98\\xdf\\xef\\x8b\\xc5\\xc2\\x9d\\xc9\\x18\\xeb\\x73\\xea\\x2d\\x9d\\x49\\xbd\\x1b\\x92\\xaa\\x23\\xda\\x33\\x81\\x41\\xec\\xc4\\x7b\\xe7\\xa8\\x3c\\x89\\x38\\x58\\x97\\x54\\xf8\\x2d\\x6d\\x90\\x62\\x8d\\x52\\x13\\xa3\\x8b\\xe2\\x20\\x66\\xa4\\x80\\x43\\xa7\\x88\\xd3\\x37\\x08\\x73\\xad\\xff\\xb7\\xd7\\x77\\xcf\\xed\\x6d\\xe3\\x26\\x0c\\x1b\\x94\\x70\\x2e\\xfb\\x74\\xe7\\x8a\\x47\\x71\\xc9\\x43\\x5d\\x3b\\xb6\\xad\\xbc\\xf6\\xce\\x47\\x06\\xc5\\x6b\\x12\\x0d\\xe5\\x4d\\xa3\\xb9\\x7d\\x07\\xc5\\xa9\\xdd\\x77\\x8e\\x49\\x5c\\x7b\\x8b\\xeb\\xde\\xa2\\x01\\x4d\\xf1\\x73\\xf0\\x8b\\x62\\x3b\\x76\\xfd\\xcc\\x14\\x88\\xef\\xe1\\xa1\\xf8\\xc4\\xfa\\x95\\x5b\\xee\\x5c\\xd4\\x30\\x7c\\x48\\xf3\\x18\\xf1\\xda\\x55\\xff\\x47\\x62\\x34\\x12\\xc7\\x1e\\x02\\x9b\\xc9\\x87\\x2c\\xab\\x94\\x66\\x33\\xa3\\x1c\\x96\\x82\\x48\\xac\\x9c\\x0b\\x95\\x95\\x16\\x1a\\x8d\\x2e\\x9b\\x29\\x8f\\x63\\x42\\x21\\x54\\x6a\\xe8\\x48\\x96\\xf0\\x16\\x2b\\x74\\xb1\\x90\\xb1\\x86\\x83\\x0e\\xa7\\xa3\\x33\\x59\\x06\\xa9\\x76\\x69\\x61\\x69\\x4d\\xe9\\x13\\xa5\\x87\\x4b\\xdf\\x2e\\x05\\x67\\x5f\\x68\\xad\\xb1\\x3e\\x61\\xe5\\x6c\\x56\\xf0\\x79\\x4e\\xb2\\xa0\\xea\\x36\\x98\\xdb\\x4a\\xad\\x4e\\xa7\\xb5\\x94\\x35\\xb9\\xdd\\x55\\x1d\\x49\\x37\\x6b\\x52\\xf2\\x32\\x29\\xe3\\xac\\x24\\xee\\x6e\\x9a\\x43\\xf6\\x0d\\xca\\xcf\\x4a\\xec\\xa7\\xd5\\x3a\\xf8\\x2b\\x99\\x1f\\xd1\\x5e\\x2a\\x35\\x32\\xe5\\x91\\x94\\x26\\x13\\xd2\\x36\\x10\\x7f\\x07\\x4f\\x21\\x33\\x07\\x9f\\xd1\\xc8\\xd7\\x35\\x45\\x3c\\x8e\\x08\\x84\\x18\\x5c\\x07\\x37\\x73\\x4d\\xf3\\x67\\xdb\\xc4\\x2f\\x0f\\x91\\x90\\x16\\x1f\\x7b\\xf6\\x8b\\x9a\\x55\\x17\\xe1\\xc3\\x6c\\xf7\\x2b\\x4c\\xb3\\x20\\x1e\\xde\\x31\\x41\\x34\\x61\\x71\\xfc\\xbe\\x53\\xec\\x93\\x85\\x05\\xab\\x17\\x2e\\xef\\x16\\x99\\x93\\xab\\x67\\xac\\xfe\\xfa\\xda\\x79\\xab\\x9d\\x9e\\xd2\\x19\\xf9\\xa7\\x2e\\xb8\\x00\\xbf\\x38\\x5e\\xaa\\x49\\x54\\x71\\x63\\x41\\x27\\xbc\\x54\\x52\\x73\\x12\\x4d\\x3e\\x43\\x81\\xc7\\xca\\x71\\x01\\x13\\x1f\\x41\\x4e\\x87\\x03\\xf1\\x06\\x2e\\x5a\\xec\\xce\\x33\\xe5\\x75\\x24\\x3d\\x21\\xf8\\xf2\\x08\\x26\\xe8\\xb4\\xc9\\x04\\x09\\xaa\\x89\\x2b\\x08\\x08\\x01\\x12\\x47\\x09\\xa0\\x1b\\xf1\\xe3\\x99\\x1a\\x04\\x89\\x51\\xc1\\x2d\\x56\\xe6\\x06\\xa7\\xf2\\x17\\x58\\x22\\xdd\\x31\\xd6\\x50\\xc2\\x38\\xec\\xe4\\xde\\xf5\\x02\\x0c\\x6e\\xbd\\xd4\\x11\\xe1\\xed\\xbc\\xc3\\x8a\\xb1\\x03\\x8c\\xcf\\xc1\\x9d\\x37\\xef\\xa5\\xf6\\xab\\x3f\\xfd\\x37\\x7e\\xef\\xea\\x35\\xaf\\xb6\\x3c\\x36\\x6c\\x2b\\xbe\\xf5\\xf4\\xbf\\xb0\\xe5\\x96\\x1b\\xf0\\x2d\\x8d\\xf3\\x2b\\x57\\xb7\\x0d\\xd7\\xbf\\xfc\\xb2\\x07\\x2f\\xc0\\x0d\\xcc\\x6d\\xd1\\x25\\x4b\\x2d\\xf7\\x6d\\x6d\\x7e\\xb9\\x40\\x34\\xf8\\xc5\\xfc\\x26\\xae\\xd2\\xd3\\x2d\\x2e\\x13\\xe7\\x08\\x25\\xf9\\x78\\x1c\\xf4\\x51\\x89\\x7f\\x7c\\x10\\x01\\x15\\xa1\\x5b\\x13\\xe7\\xea\\x02\\x79\\x21\\xae\\x50\\x10\\x7c\\x2c\\x87\\x91\\x87\\x73\\xf3\\xee\\x42\\x93\\xd5\\xe6\\xe4\\x5c\\x46\\x97\\xde\\x1f\\xcc\\xe7\\x0a\\x0d\\x06\\xbb\\xb9\\x90\\x37\\xf2\\xc6\\xe2\\xa8\\x9e\\x83\\x64\\x1c\\x62\\x1c\\x6c\\x09\\x22\\xbb\\xc3\\xde\\x91\\xcc\\xf7\\x38\\x2c\\xf0\\xd7\\x58\\xe8\\x62\\x05\\xa3\\x36\\x8b\\xc9\\x19\\x68\\x69\\x72\\x73\\xb6\\xc4\\xa5\\xd8\\x46\\x0e\\x75\\x68\\x98\\x13\\x57\\x02\\x1d\\x32\\xb8\\xae\\x28\\x0b\\x41\\xa4\\x0b\\x86\\xbb\\x09\\x7c\\xae\\x0b\\xa2\\x1c\\x0f\\x1f\\x29\\x8d\\x34\\xc5\\x4b\\xaa\\xb1\\x4e\\x60\\x77\\x4f\\x3c\\xba\\xf1\\xe6\\xd7\\x57\\x76\\xff\\x65\\xe5\\xeb\\x37\\x6d\\x78\\x7d\\xa2\\xf8\\x19\\xbe\\x60\\xf7\\xab\\x5d\\x78\\xd2\\xe9\\xe7\\xf0\\xf3\\xe3\\xc4\\xcf\\x1a\\x52\\x7d\\x8b\\xf5\\xfa\\x2a\\xe6\\x93\\x4f\\x37\\x8b\\x77\\xe2\\xb9\\xe4\\x6b\\xf3\\xa7\\x9b\\xf1\\xdb\\x62\\xcd\\xe6\\x4f\\x3f\\xdd\\x7c\\xdd\\x8a\\x60\\x3e\\xbd\\x67\\x1c\\xd9\\x60\\x8e\\x7f\\x01\\xe6\\xf8\\x06\\x74\\x3c\\x71\\x7d\\x59\\x2c\\x9c\\xcf\\x05\\x21\\x63\\x35\\x9b\\xdd\\x9e\\x92\\x50\\x28\\x68\\x31\\xf2\\x0c\\x87\\x6c\\xb6\\x60\\x4d\\x6d\\x6d\\xd0\\x83\\xb8\\xc6\\xa6\\x32\\x96\\x63\\x3b\\x92\\x31\\x2e\\x6c\\x32\\x9b\\xa0\\xcf\\xe6\\x56\\x0e\\x73\\x66\\xce\\x1c\\xf7\\xa3\\x1a\\x7b\\x4d\\xa2\\x86\\x25\\x3f\\x0a\\xe1\\x97\\x71\\x35\\x9d\\x35\\xdf\\xd6\\xe8\\x0c\\x6c\\x4d\\x4d\\x3c\\xde\\xa7\\x23\\x19\\x77\\x85\\xdd\\x30\\x5d\\x86\\xdd\\xd5\\xee\\xf9\\xee\\x15\\xee\\x75\\xee\\x43\\xee\\xb7\\xdc\\x7f\\x73\\x1b\\x6c\\xac\\x9b\\x6c\\x3c\\x70\\xbb\\xfd\\x7e\\xb0\\x2f\\x3f\\xa7\\x54\\xe5\\x88\\x91\\x2c\\x94\\x7f\\x27\\xbf\\x4a\\x75\\xab\\xdc\\x28\\x21\\x93\\xf4\\xa9\\x71\\x78\\x9d\\x24\\x42\\x17\\x0d\\x0c\\x06\\x31\\xad\\x18\\x84\\x07\\xae\\x26\\x02\\xb1\\x41\\xa9\\x54\\xca\\xa4\\xf6\\xc4\\xe8\\x68\\xac\\x20\\x3b\\xef\\x26\\x1f\\x13\\x29\\x2a\\xee\\xe0\\x26\\xae\\x2d\\x9a\\x7e\\xe5\\x3d\\x0b\\xba\\x17\\xb2\\x97\\xe8\\xc5\\xcf\\xaf\\x59\\xef\\x3f\\x58\\xf5\\xc9\\xbb\\x9f\\xfe\\x9b\\xbd\\xed\\xd5\\xf0\\x94\\x05\\x2b\\xd6\\x97\\x31\\x9f\\x9f\\xbe\\xd4\\xf8\\xf0\\xfd\\x9b\\x77\\xe7\\x1f\\x18\\x25\\x36\\xfd\\x24\\xfe\\x80\\x17\\x15\\x15\\x6c\\xee\\xd3\\x5a\\x5d\\x1e\\xda\\x9c\\x57\\xf0\\xa7\\x4b\\x16\\x44\\x9e\\xd8\\xf4\\x5c\\x57\\xc3\\xe6\\xb2\\x7e\\x55\\x91\\x62\\xeb\\xe6\\x50\\xc9\\xa2\\xab\\x97\\xae\\x8c\\x89\\xf7\\x1c\\xa7\\x31\\xe3\\xc2\\xb4\\x9b\\xd6\\xf9\\x7c\\xa8\\x00\\xcd\\x4b\\x0c\\xf6\\x3b\\x75\\x90\\xa8\\x04\\x3d\\x56\\x96\\x31\\x32\\x56\\x27\\x17\\x2e\\x14\\xf2\\x3d\\xf9\\x60\\x4a\\xde\\xce\\x24\\xcb\\x82\\xfe\\xe9\\x82\\xb6\\x60\\x47\\xd2\\x6a\\x33\\xdb\\xec\\x86\\x42\\x43\\x0d\\xc8\\xd2\\xb0\\xd2\\xb0\\xde\\xf0\\xb6\\xe1\\x13\\x03\\x6f\\x30\\xd8\\x5c\\x34\\x94\\x5a\\xe8\\x88\\xdb\\x65\\x0b\\x8b\\xc7\\x73\\x2c\\x4b\\x5d\\x08\\xc2\\x9c\\x0b\\x92\\xb9\\x52\\x07\\xe9\\x28\\x2f\\xdb\\x97\\x13\\xb2\\x32\\xec\\x76\\xfa\\x1c\\x10\\x18\\xfc\\x11\\xbb\\xaf\\x78\\xb4\\xe0\\xca\\x73\\x77\\xb6\\xdf\\x7f\\xb3\\xf8\\xf9\\xd5\\x5f\\x9d\\x3e\\xf5\\xed\\xd5\\xe2\\xec\\xdb\\x37\\xdc\\x75\\x23\\x7f\\x61\\x91\\xf8\\xe7\\xc1\\x53\\xae\\x75\\xfd\\xf2\\x7e\\xc9\\xc9\\xc1\\xe2\\x93\\x91\\x8f\\x3e\\x74\\xe1\\xd9\\x38\\x81\\x47\\xe2\\x49\\xb6\\x2b\\x4e\\x7f\\xfc\\x5f\\xf1\\x7b\\x1f\\x57\\xed\\x16\\x7f\\x4c\\xa7\\xc5\\x8d\\x5c\\x10\\xcf\\x17\\xbe\\xb2\\x43\\xb7\\xba\\xef\\xc5\\x61\\x9a\\x13\\xa3\\xf4\\x8f\\x60\\x63\\xe3\\x90\\x11\\x3c\\x49\\x5f\\x54\\x87\\x6e\\x48\\x8c\\xae\\xad\\xab\\xae\\xa9\\xab\\x41\\x51\\x87\\x20\\x98\\x10\\xaa\\xaf\\xc8\\xcf\\x2f\\x0f\\x85\\x7c\\xd1\\x68\\xbc\\x56\\xa8\\xf6\\xa3\\x7c\\x7b\\xfe\\xb7\\xf9\\xac\\x89\\xcd\\xcf\\x2f\\x2c\\xcc\\xdb\\x97\\x2c\\x29\\xdc\\xdf\\x5e\\xd2\\x67\\x5f\\xd2\\x56\\x01\\x0e\\xb6\\xa2\\xa2\\x44\\x67\\xb0\\xee\\x4b\\xb2\\x86\\xfd\\xed\\xac\\x1b\\x7e\\x06\\x94\\x25\\x4b\\x29\\x2d\\xab\\x54\\xf5\\xa5\\xb5\\x55\\xa9\\xd3\\x6b\\x12\\xdf\\xcc\\x5b\\x0e\\xea\\xe2\\x79\\x21\\xab\\x9d\\xc2\\xe9\\x9b\\x22\\xbe\\xcc\\xb4\\x2f\\xa7\\xc0\\x64\\x85\\x93\\x3b\\xbe\\x76\\xe5\\xca\\x5b\\x56\\xdf\\x8c\\x8d\\x9b\\x9a\\x07\\x9d\\xd3\\xdc\\xd2\\x3a\\xb0\\xff\\xe9\\xe4\\xb0\\x96\\x09\\x9e\\x35\\x96\\xeb\\x66\\xdc\\xb4\\xe6\\xf6\\x9b\\xa6\\x2f\\xf3\\xac\\x33\\x56\\xf6\\xb9\\xe6\\x09\\xb2\\x60\\x84\\x37\\xbd\\xfe\\xe7\\x3f\\xbf\\xfe\\xc7\\x3f\\x88\\xed\\x0f\\x6f\\xb8\\x63\\xc7\\x3d\\x5b\\x36\\x31\\xcf\\xad\\x7f\\x78\\xa7\\xe1\\xaa\\xbb\\xff\\xf6\\xca\\x1b\\xef\\xdf\\x74\\xb5\\xa9\\xed\\x82\\x5f\\x22\\x64\\x51\\x89\\xc1\\x05\\xe9\\x13\\xec\\x36\\x7e\\x33\\x78\\xd9\\x12\\x74\\x5b\\xc2\\x11\\xf2\\x42\\x6a\\x65\\x33\\xb0\\x10\\x5f\\x7a\\xd9\\xd2\\x32\\xb3\\x65\\x3f\\xf6\\x3f\\x9d\\x34\\x9b\\x8d\\x36\\x23\\xfc\\x96\\xb0\\x24\\x6d\\xb6\\xb0\\x8d\\x31\\xb0\\x36\\x5b\\xa0\\x18\\x92\\x0c\\xff\\xbe\\x64\\x71\\xb1\\x0b\\xb9\\x0a\\xc9\\x87\\x8e\\xa4\\xcd\\xd5\\xea\\x1a\\xeb\\x9a\\xef\\x5a\\xe1\\xe2\\x0d\\xac\\x4b\\x40\\xfb\\x71\\x20\\x95\\xe4\\x38\\xc1\\x8b\\xa4\\xec\\x55\\xcd\\x5d\\xe5\\x9c\\x56\\xa9\\x11\\x92\\xff\\xaa\\x3a\\x23\\x87\\x44\\x64\\xfb\\x2e\\x03\\x82\\x18\\x88\\x05\\x08\\x7b\\x9a\\xa4\\x4b\\x06\\x20\\xe8\\xd1\\x81\\xac\\xe4\\x45\\x5b\\x47\\xa3\\x93\\x79\\x35\\x3e\\xc6\\x31\\xac\\xec\\xc3\\xc5\\xab\\xe3\\xe7\\x8f\\x6d\\xb8\\x7e\\xf9\\xa5\\xd7\\x3e\\xb1\\xae\\x6d\\x6b\\x5b\\x53\\x5d\\x7c\\xd6\\xb5\\x63\\xe6\\xcc\\x13\\x5f\\x7f\\x64\\xd3\\x9e\\x60\\x78\\x64\\x38\\x9f\\x39\\x77\\xe3\\x96\\x87\\x6e\\x39\\x20\\x1e\\x1e\\xff\\xe3\\x25\\x57\\x72\\xee\\x8b\\x6f\\x98\\x7d\\x95\\xc8\\x0f\\xc3\\x2e\\xa2\\x23\\x5e\\xf8\\x76\\x00\\xc4\\x61\\x45\\x7e\\x54\\x0c\\xd9\\xc6\\x25\\x89\\x06\\x64\\x36\\x5b\\x62\\x61\\xb7\\xc5\\x2d\\xd8\\xf4\\x3c\\x2f\\x04\\xca\\x6c\\x82\\xad\\xbc\\xc2\\x59\\xb4\\x2f\\xe9\\x74\\xc6\\xbc\\xb1\\x12\\x88\\x3f\\x9c\\xde\\x7c\\x50\\x0b\\x2f\\xf6\\xda\\xcc\\x58\\xc7\\x1a\\x90\\x40\\xd3\\x4b\\xf2\\x6f\\x9a\\x9a\\x54\\x49\\x1d\\xcb\\x6c\\x97\\x76\\xaa\\xbf\\x92\\xf0\\xdb\\x47\\xeb\\x64\\x71\\x5c\\x42\\xf2\\x29\\xaa\\x13\\x0e\\xbb\\x36\\x0c\\x21\\x2a\\x01\\xd1\\x2e\\xde\\x25\\x7e\\xcf\\xb2\\xb7\\x1f\\xc6\\x5e\\xfd\\x1a\\xa6\\xed\\xb7\\xd7\\xff\\xfb\\xa7\\x95\\x57\\x6e\\x2e\\x6f\\x6c\\xae\\x2a\\x6d\\xe8\\xd7\\x47\\x3c\\x82\\xf7\\x72\\x79\\x93\\x5b\\xe6\\x9d\\xfe\\x07\\x3f\\xec\\x97\\xbf\\x3e\\xb0\\x88\\xb5\\xff\\xfc\\x1c\\xf3\\xd4\\xdb\\xcf\\xe0\\x9b\\xf0\\x8d\\xcf\\x1d\\xbd\\x6b\\xc5\\x35\\x77\\xdf\\xb9\\xea\\xaa\\xee\\x13\\x37\\xdf\\x2c\\xad\\x87\\x86\\x51\\x09\\xd7\\x05\\x3e\\xc0\\x06\\x23\\x5e\\x8a\\x6a\\x50\\x67\\xa2\\xde\\xd7\\xa7\\xa0\\x20\\x5c\\x56\\x6c\\x0f\\x17\\xeb\\x91\\x1e\\xd5\\xd6\\x85\\xfa\\xbc\\x96\\x0c\\x55\\x25\\xaa\\x0a\\x5f\\x4b\\xa2\\x2a\\x52\\x24\\x05\\x6b\\xa8\\xb2\\x99\\x5d\\xaf\\x25\\xcd\\x38\\x1c\\xce\\xe3\\xf2\\x5e\\x4b\\xca\\x7b\\x52\\xc8\\xe2\\x05\\x74\\x95\\x8c\\x22\\xb9\\xb5\\xfa\\x78\\xa5\\x32\\xb7\\xb4\\xc8\\x5a\\x5f\\x47\\x74\\x9d\\xe1\\xa2\\x45\\xc5\\x10\\x62\\x39\\x8b\\x21\\x1e\\x75\\xea\\xec\\x08\\x7a\\xc7\\x78\\xec\\x28\\x5e\\x87\\x62\\x64\\x6f\\x83\\xb4\\x1a\\xef\\x52\\x4a\\x14\\x5c\\xd7\\x5a\\xf1\\xa7\\xa7\\x9e\\x10\\x7f\\x5a\\xbf\\x16\\x1b\\x9e\\x78\\x02\\x1b\\xd6\\x4e\\x15\\x4f\\x7f\\x79\\xd7\\x87\\x4b\\x51\\xfa\\x9f\\xff\\xc4\\x4c\\xf7\\xad\\x2b\\x70\\x7c\\xed\\x5d\\xeb\\xaf\\x5d\\xd7\\x71\\xfe\\xae\\x7d\\xe3\\x26\\x32\\x3f\\xfd\\x43\\x7c\\x76\\xe7\\x2e\\x3c\\xf4\\xf3\\xbf\\xe3\\xe1\\x8f\\xed\\x12\\x9f\\xfb\\x07\\xee\\x83\\x47\\x6c\\x10\\x3f\\x7f\\x4d\\xfc\\x93\\xb8\\x0f\\xb7\\x7d\\x28\\x3e\\xc1\\xb6\\x5e\\x3b\\x7f\\xe9\\xed\\x18\\x0d\\x6b\\x13\\xff\\x78\\x01\\xd9\\x7d\\xc0\\x8e\\xe2\\x5e\\xe3\\x8f\\x22\\x3b\\x8c\\xf7\\xac\\x44\\x23\\xc7\\x9a\\xcd\\x7a\\xa3\\x0e\\xf2\\x49\\xbb\\xcb\\xef\\x74\\x7a\\x5c\\x56\\x08\\x3d\\x5d\\xf6\\x40\\x9e\\x03\\x72\\xca\\xd7\\x92\\x58\\x10\\xac\\x06\\x2f\\xb2\\x99\\xc3\\x66\\xc6\\xac\\xb7\\x71\\x61\\x0e\\xa6\\x24\\xd7\\x3b\\x64\\xb0\\xa7\\xc1\\xbf\\x56\\xea\\xe5\\x72\\x16\\xb1\\xa4\\xb1\\x96\\x76\\xf2\\xc9\\x45\\x6f\\x1d\\x1b\\x65\\x4a\\xc9\\x70\\xbb\\x7c\\x4d\\x2e\\x18\\x6e\\x1a\\x4d\\x45\\x3c\\x5c\\x87\\xf0\\x5a\\xf2\\xee\\xea\\x4b\\xb7\\xee\\xb7\\x0c\\xbc\\x6d\\xcb\\xe9\\x0b\\xe7\\x3f\\x86\\x5f\\x67\\x47\\x31\\xc8\\x29\\x3a\\xf1\\x0d\\x57\\x8b\\x88\\x59\\x25\\x56\\x47\\xef\\xc3\\x17\\x76\\xaf\\x60\\x62\\xdd\\x1f\\x32\\xb1\\xa9\\x53\\xa5\\xdc\\xb8\\x3f\\xdd\\x33\\x3a\\x05\\x45\\xd1\\x88\\x44\\x14\\xc2\\x1d\\x53\\xc0\\x14\\x01\\xbb\\x0d\\x7a\\x22\\x6c\\xa4\\x38\\x66\\xf6\\xfb\\x0d\\xc1\\x3c\\x70\\xde\\xa6\\x3c\\x27\\x72\\x76\\x24\\xc9\\x62\\x0c\\x75\\x53\\x72\\x24\\x90\\x51\\x4a\\xcd\\xab\\x57\\x75\\xc8\\x01\\xe6\\xd5\\xd8\\x1f\\x7b\\x22\\x0d\\x34\\x8b\\xa0\\x5a\\xe8\\xf4\\x91\\x2d\\x38\\x75\\xbe\\x12\\xa6\\xc1\\x8e\\x98\\xd9\\xff\\xc6\\xe1\\xdd\\x0f\\x2d\\xa9\\x7a\\x4d\\x0c\\xdd\\x78\\xdd\\xe3\\x3b\\x1e\\xdd\\x75\\xfd\\x6a\\x31\\xf4\\x5a\\xd5\\x92\\x87\\x76\\xe3\\x30\\x3f\\x45\\x3c\\x28\\xfe\\xeb\\x79\\xf1\\x99\\xcb\\x4c\\x5b\\x3f\\x99\\x81\\xf5\\x8f\\x7f\\xf2\\x7f\\x27\\x3e\\xea\\x12\\x7f\\x9a\\xf1\\xc9\\x56\\xd3\\x3c\\x3c\\xf2\\x20\\x76\\xe3\\x21\\x74\\x1e\\xea\\x48\\xff\\x95\\xbb\\x9e\\x6b\\x83\\x79\\x28\\x8c\\x26\\x26\\x5c\\x96\\x70\\x98\\x73\\x7b\\x3c\\x7e\\x98\\xc6\\x0b\\x23\\x6e\\xb7\\xc5\\x11\\xb6\\x50\\xcf\\x12\\x0e\\x93\\x17\\xc8\\xe0\\xd7\\x54\\x52\\x6f\\x47\\x0e\\xf8\\xe5\\xa9\\x24\\xd8\\x6a\\x6b\\xb6\\x75\\xa1\\x5e\\x5e\\x49\\xe0\\x8b\\x4a\\x88\\xbe\\x11\\x8f\\xe1\\xf4\\x44\\x1c\\x6a\\xd2\\xee\\x72\\x10\\x77\\xaa\\x73\\x30\\x8b\\xee\\xfb\\x76\\xf5\\x8d\\xff\\xb9\\x73\\xcb\\x0f\\x37\\x9e\\x7e\\xa5\\xee\\xa1\\x0b\\x6e\\x38\\x30\\xa6\\x6d\\xc6\\x47\\x9b\\xe3\\x0f\\x4e\\xda\\xbb\\xa4\\x68\\x03\\xd6\\x6d\\x7b\\x04\\xa5\\xd7\\xaf\\x15\\xc5\\x87\\xc5\\xad\\x8d\\xc3\\x2f\\xbb\\xb6\\xe2\\xde\\x65\\xcc\\xad\\xd8\\xd3\\x30\\x78\\x89\\xf8\\x15\\xb1\\x21\\x21\\x9d\\xe6\\x5e\\xa1\\xeb\\xf7\\x26\\xf0\\x19\\x0d\\xa8\\x2b\\x31\\xc3\\x22\\x80\\xfe\\x60\\xc6\\x68\\xb0\\xf2\\x90\\x9b\\x9b\\xbc\\x1e\\x4f\\xdf\\x28\\x8b\\xca\\xcb\\x82\\x36\\x5b\\x19\\x8a\\x9a\\xcc\\x8c\\x5e\\xdf\\xd8\\x14\\xec\\xeb\\x2c\\x71\\x06\\xf6\\x25\\xbd\\x5e\\xa7\\x93\\xd3\\x97\\x54\\xee\\x4b\\xa2\\xf2\\xf5\\xe5\\x0f\\x94\\x3f\\x51\\xce\\xd9\\xd8\\xf2\\xf2\\x12\\x5e\\xb0\\x08\\xfb\\x92\\x10\\xf1\\x5b\\x70\\xab\\x05\\xeb\\x4b\\x2c\\x96\\x12\\x3d\\xcb\\x98\\x0d\\x2c\\xcb\\x32\\x24\\x84\\x6f\\x95\\xb7\\xbe\\x66\\x8a\\x15\\x19\\x0f\\xaa\\x96\\x33\\xb2\\x12\\x4c\\xd5\\xeb\\x68\\xb6\\x95\\x1a\\x70\\xd4\\x80\\x4b\\xa3\\xba\\x28\\x84\\x74\\x98\\x8d\\xf7\\x56\\x11\\xa4\\x29\\xa7\\x4e\\x1a\\x7f\\x08\\x81\\x0b\\x18\\x6e\\xea\\xe9\\xee\\x79\\x2c\\xd3\\xfd\\x76\\xff\\x3f\\x0e\\xba\\xec\\x1f\\x9d\\x9f\\x8a\\x27\\xc7\\x3e\\xc0\\xb6\\xaf\\x58\\x32\\xe7\\x1a\\xf7\\x0c\\xeb\\x90\\xe1\\xb7\\x04\\xea\\x27\\x4f\\x6e\\x2b\\x5b\\xba\\xe0\\x8d\\xd0\\xc5\\xce\\x45\\x03\\x5a\\x83\\x8d\\x6d\\x53\\x47\\x57\\xf1\\xc3\\x7e\\x7e\\x8e\\x1f\\xd6\\xed\\xfd\\xe0\\x03\\xe6\\xab\\x6e\\x2f\\x93\\x14\\xff\\xda\\x3d\\x74\\xf6\\x82\\x69\\xb3\\xbd\\xfd\\x13\\xf3\\x8b\\xab\\x0a\\x83\\xa1\\xf8\\x88\\xfa\\x99\\x73\\x9f\\xb6\\x5e\\x52\\xdf\\x37\\x5c\\x11\\xf6\\xe6\\x37\\x8c\\x05\\xbd\\x7e\\x1d\\x82\\xff\\xd7\\xb8\\x7e\\xc8\\x40\\x76\\x03\\xea\\x58\\xc6\\xc0\\xf3\\x0c\\xc4\\x27\\x26\\x7a\\xcb\\xb1\\x9e\\x45\\xf2\\xf5\\xc6\\x36\\xd4\\x9a\\xeb\\x61\\x69\\x47\\x49\\x91\\xce\\xa1\\x5c\\x6b\\xec\\x4e\\x75\\x63\\xe6\\xdc\\xee\\x8f\\x98\\x62\\xae\\xdf\\x2f\\xaf\\xde\\x86\\x5b\\x6f\\x95\\x6a\\x4f\\x8e\\xf4\\x37\\xe4\\x0e\\x48\\x7b\\xa9\\xfe\\x2b\\xf1\\x04\\xdd\\xf3\\x72\\xf2\\x5b\\x72\\x86\\xeb\\x09\\xfc\\x78\\x77\\x2a\\x9d\\x4e\\x7f\\x41\\x3f\\x3f\\x1f\\x3e\\xff\\xba\\xb7\\xcf\\x11\\x86\\x98\\xe2\\x65\\xb9\\xfd\\x47\\xd2\\xe7\\x5f\\x93\\xb3\\x62\\xbf\\xc5\\xcf\\x77\\xa7\\x50\\x71\\xc2\\xcd\\xb1\\x4c\\x95\\x1f\\xbe\\xd5\\x54\\xe1\\xea\\x2a\\x5c\\x85\\x3b\\xed\\xd8\\xee\\x98\\xd6\\xe0\\x90\\xae\\xf3\\x6e\\xa5\\x17\\xa9\\x01\\x1e\\x03\\xc5\\x43\\xe8\\x9c\\x48\\x87\\x25\\x3c\\xa7\\x73\\xf1\\x0c\\xa7\\x78\\x46\\xe2\\xea\\x91\\x78\\x24\\x4a\\x80\\x80\\x7a\\xc1\\x13\\x53\\xf9\\x39\\x99\\x8e\\x48\\x78\\xf4\\x19\\x3c\\x65\\x09\\x1f\\xa0\\x68\\xa6\\x78\\xfa\\xe3\\xea\\xfe\\xb8\\x3f\\xc1\\x53\\x43\\x51\\xf5\\xc4\\xd5\\x02\\xb8\\x1e\\xa2\\xb8\\xbe\\x49\\x0f\\x94\\x70\\x3d\\x2d\\xe1\\xda\\x06\\xb8\\x6a\\x12\\xf9\\x80\\xa6\\x9c\\xe0\\xa2\\x1d\\xeb\\x30\\x63\\x33\\xea\\x44\\x90\\xcd\\x60\\x89\\x37\\x8a\\x91\\xfc\\x53\\x71\\xc2\\xe3\\x2e\\x88\\xf1\\x0b\\xb9\\x31\\x90\\xfb\\xce\\x49\\x14\\xb9\\x5d\\x02\\x09\\x3b\\x75\\x2e\\x36\\x2f\\x68\\xf7\\x8d\\x4b\\x2e\\x70\\x63\\x52\\xa6\\xed\\x74\\x2f\\x70\\xaf\\x74\\x1f\\x76\\x0b\\x06\\x37\\xc9\\x62\\x0b\\x82\\x05\\x10\\x93\\xdb\\xbd\\x36\\x61\\xbe\\xb0\\x42\\x60\\x8d\\xac\\x90\\x80\\x27\\x82\\x60\\x34\\xb2\\xe3\\x92\\x46\\xbb\\x36\\x4a\\x27\\x9a\\x0f\\x01\\x7a\\x65\\xd6\\xee\\x41\\x4c\\xbd\\x97\\x14\\x71\\x3b\\x1d\\x76\\x46\\x55\\xf1\\x46\\x76\\xe6\\xaa\\xb5\\x97\\x2e\\xb2\\x1e\\x08\\x7d\\xf0\\xbb\\x4f\\xbe\\xfd\\xe6\\xb3\\xc7\\x3e\\xf5\\xec\\xb3\\xad\\xea\\xbc\\xf5\\x26\\xa6\\xe8\\xef\\xcf\\xcf\\x9d\\x62\\xbd\\xeb\\x71\\xf1\\x53\\xf1\\x1b\\xf1\\x5f\\xe2\\xa7\\xcf\\x6e\\x35\\x5f\\x36\\xe7\\x1d\\xc2\\xbf\\x1e\\xcd\\xe4\\x8e\\x30\\x43\\x91\\x05\\xf5\\x49\\xb8\\xcd\\x36\\x13\\xe4\\x9e\\x0c\\xc3\\xf3\\x56\\x16\\x25\\x4c\\x68\\x8f\\xfc\\xbe\\x2f\\x9d\\x00\\xe5\\x5d\\xcb\\xd4\\xa7\\x42\\x0e\\xe0\\xf5\\x45\\x4b\\x4a\\x21\\x78\\x89\\x93\\x58\\xff\\xcb\\x96\\x41\\x6d\\x2b\\xd6\\xad\\x5b\\xd1\\x36\\xa8\\x85\\xfd\\x18\\x97\\x0f\\xb9\\x6e\\xf3\\xc8\\xe2\\x91\\x9b\\xaf\\x1b\\x72\\x21\\xdd\\x3b\\xb1\\x34\\xfd\\x32\\x7b\\x21\\xb7\\x02\\x68\\x94\\x24\\x1c\\x06\\xb3\\x99\\xb1\\x58\\x20\\xf0\\x46\\x26\\xc3\\x7c\\x06\\x33\\x3c\\xaa\\x3e\\x32\\xad\\xae\\x45\\x79\\x17\\x58\\xea\\x21\\x0d\\x8b\\xe2\\x5e\\x9f\\x07\\x12\\xd4\\x28\\xd3\\x3f\\x83\\x8f\\x7d\\x20\\x43\\xe9\\x74\\x34\\x8b\\xff\\xf2\\x84\\xd3\\x84\\x18\\x83\\x20\\xd8\\xcc\\x56\\x83\\x39\\x61\\x31\\xef\\x49\\x32\\x16\\x54\\xfd\\x26\\xe5\\xfe\\x4d\\x99\\xfb\\x3a\\xba\\xb1\\xbd\\xa4\\x94\\xe0\\xa6\\x15\\xa9\\x48\\x03\\xfb\\xb9\\x16\\x25\\x5e\\xa1\\x65\\x3e\\x87\\x77\\x06\\x21\\x83\\xc9\\x44\\x79\\x67\\x3a\\x0d\\xd8\\x20\\xf4\\xc2\\x7b\\xac\\xb1\\x89\\x60\\x06\\xd9\\x78\\x7d\\x8e\\x38\\xb3\\x21\\x83\\xee\\x41\\xad\\x90\\xb4\\xb2\\xf7\\xa1\\xd6\\x44\\xc8\\xec\\xb4\\x7a\\x3c\\x4e\\x67\\x40\\x19\\x01\\xbf\\x55\\x6f\\xf2\\x30\\xd2\\x28\\xc0\\x20\\x48\\x63\\x50\\x07\\xff\\xb4\\xe3\\x20\\xfd\\x92\\x33\\x1a\\x9a\\xde\\x69\\xc6\\x85\\x11\\x33\\xbf\\x6b\\x46\\x48\\xfd\\x45\\xd3\\x57\\x1f\\xdd\\x49\\xe6\\x76\\xfb\\x0c\\x36\\x9b\\xd9\\xec\\xf3\\xf9\\x03\\x66\\x9f\\xb5\\xd3\\x83\\x3d\\x20\\x60\\x65\\xcc\\x8e\\xd1\\x7e\\xd3\\xef\\xca\\xcb\\x13\\xaa\\x7e\\x6a\\x47\\x4f\\x23\\x0d\\xcd\\x38\\xaa\\xbf\\x68\\xc7\\xb3\\x9b\\xc9\\xfc\\x4e\\xf7\\x02\\x2e\\x4d\\xb7\\x51\\x7e\\x58\\x14\\x44\\x13\\x12\\xe5\\x02\\x0a\\x04\\x82\\x16\\xec\\x74\\xda\\xed\\xc1\\x60\\x7e\\xc8\\x1e\\x74\\xa2\\x00\\xb6\\xb1\\x01\\x6f\\x02\\xb1\\x7b\\x92\\x08\\x79\\x6d\\x9c\\x65\\xbe\\x80\\x05\\x83\\xc2\\x5d\\x5c\\x92\\xda\\x31\\x30\\xa4\\x2c\\x36\\x95\\x22\\x31\\x0f\\x49\\xaa\\xeb\\x0c\\xcc\\xe2\\xa5\\xf8\\x13\\xb1\\xf0\\x95\\x9e\\x1c\\xcf\\x19\\xc7\\x4d\\x3e\\x33\\xcf\\xe8\\xd2\\xf4\\xe7\\xdc\\xc5\\xfc\\x2b\\x90\\x85\\x56\\xa1\\x19\\x89\\xa6\\x00\\x2a\\xd1\\x87\\xed\\x2e\\x17\\x8c\\x75\\x9f\\xbe\\x61\\xbb\\xdd\\x62\\x29\\x3a\\x3f\\x69\\xb3\\x84\\x2d\\xd5\\x96\\xb1\\x96\\x0e\\xcb\\x7c\\x8b\\x60\\x67\\x2d\\x16\\x3e\\x3f\\x10\\xc8\\xcf\\xf7\\x8e\\x4b\\xe6\\x23\\xbe\\x7c\\x5c\\x92\\x57\\x03\\x01\\x24\\x17\\x75\\xe4\\x99\\xd0\\x91\\x89\\xc3\\xe4\\x81\\xc7\\x6e\\x23\\x96\\xf2\\x2d\\xf2\\x66\\xa0\\xd7\\x17\\x6f\\x94\\x62\\x1b\\x5d\\x13\\x4c\\x73\\x4e\\x96\\xae\\xca\\x33\\x52\\xb8\\xed\\xe4\\x2e\\x9e\\xba\\xf3\\xeb\\x0d\\x4f\\x1f\\x99\\x78\\xfb\\xcb\\x4b\\x66\\xde\\x13\\xe3\\xf8\\x3b\\x36\\x0c\\xb8\\xb5\\xbe\\xf4\\xea\\x65\\x7f\\xf8\\xc7\\x07\\x9e\\x1b\\x2f\\xb8\\x64\\xc7\\xdc\\xf9\\x33\\x3b\\x1e\\x5e\\xc2\\xee\\xda\\x2b\\x5e\\x27\\xfe\\xfb\\x96\\xd7\\xf7\\x2d\\xfd\\x65\\xef\\xcc\\x8b\\x27\\xb6\\x36\\x1e\\x79\\xa7\\xb4\\x78\\xe3\\x20\\xf1\\x44\\xf7\\x7f\\x92\\x8b\\x56\\x8b\\x3f\\xad\\x5a\\x7c\\xe3\\x66\\x4c\\xb6\\x8d\\x9b\\x21\\x60\\x38\\xcc\\xaf\\x42\\x3c\\x64\\xa0\\x23\\x13\\x31\\x96\\x11\\x04\\x4e\\x8f\\x0d\\x1c\\xe6\\x4c\\xe6\\x90\\x80\\x6d\\x02\\xb6\\x70\\x02\\xcb\\x70\\x1c\\x3c\\xc5\\x10\\x7f\\x43\\xac\\xe6\\x54\\xbc\\x9b\\x23\\x5e\\x0d\\xd1\\x25\\x5d\\x9c\\x50\\xba\\xe4\\x94\\xc2\\xc9\\x78\\x03\\x8e\\x63\\x0f\\x66\\x71\\x04\\x9b\\xf1\\xc7\\x3f\\xe2\\xcf\\xba\\x77\\xcc\\x10\\xdf\\x60\\xeb\\xc5\\x57\\x37\\x70\\xdf\\xfe\\xe2\\xdc\\xc8\\xfd\\x2c\\x7e\\x7d\\xfa\\x19\\x76\\xa4\\x14\\x2b\\x5e\\x2a\\xb6\\x90\\x3b\\x7c\\x90\\x0e\\x15\\x25\\xec\\x2c\\x87\\x74\\x9c\\x4e\\x6f\\xe0\\x19\\x52\\x20\\xa3\\xbb\\xaf\\x5b\\x2b\\x35\\xbb\\x0e\\x31\\xdd\\x25\\x17\\x71\\xb0\\xbb\\xba\\xaf\\x3d\\xc4\\xfe\\x24\\xb6\\x08\\x73\\x7f\\xba\\x53\\x67\\xfe\\xef\\x8f\\x12\\xae\\x20\\xe0\\x7a\\x12\\x70\\x99\\xd0\\xa8\\x44\\xb1\\x8e\\x65\\xb1\\x9e\\x61\\x8c\\xac\\x01\\x0b\\x46\\x6c\\x34\\x5b\\x58\\x40\\xdd\\x91\\xd4\\x93\\x97\\x3c\\x58\\x6c\\x40\\x06\\xe8\\x8d\\x9c\\x29\\xb4\\x92\\xd5\\x88\\xac\\x28\\x39\\xee\\x54\\xbd\\xb5\\x8b\\x6c\\xe3\\x04\\x45\\x33\\xe0\\x88\\x27\\xc8\\x2c\\xef\\xde\\xcc\\x9d\\x73\\xfa\\x29\\xa6\\xad\\xfb\\x51\\xf6\\x41\\xb1\\x65\\x1e\\x5b\\xc4\\xba\\xe6\\x6e\\xe9\\x0e\\x75\\xeb\\xb6\\x48\\x3c\\x2c\\x61\\x3a\\xb9\\xc9\\xcc\\xf7\\xda\\x77\\x5c\\xba\\x92\\x78\\x6f\\xf6\\x3b\\x2e\\x4b\\xd8\\xcf\\x98\\xce\\x3b\\xee\\x20\\x73\\x9a\\xbc\\xdf\\xd2\\x2e\\xe8\\x4e\\x52\\x5f\\xfb\\x2d\\xde\\xc1\\x7c\\xc8\\xbc\\x05\\xed\\x63\\x09\\x2f\\x7d\\x69\\x83\\xec\\x44\\x27\\x2b\\x69\\xad\\xf0\\x2c\\x61\\x75\\xb4\\x11\\xae\\xa7\\x55\\xaa\\x3b\\x70\\x49\\x7a\\xf6\\xed\\xd7\\x78\\x07\\xae\\x14\\xff\\x04\\xf4\\xc7\\xa4\\xbf\\xe7\\xae\\x11\\x26\\x82\\xbe\\xd6\\x24\\x7c\\x18\\x09\\x82\\x9e\\x67\\x74\\x7a\\x46\\x6f\\x30\\xf2\\xcc\\x9e\\x24\\xcf\\xeb\\x02\\x02\\x15\\x6b\\x8b\\x26\\x36\\x91\\x07\\x8e\\x8f\\x62\\x88\\xfa\\x5d\\x38\\xce\\xdc\\x32\\x57\\xfc\\x7c\\x1f\\xb6\\x7e\\x8f\\x77\\xaf\\xb2\\xb2\\xfe\\x25\\xdd\\x63\\xf8\\x9b\\x48\\xdd\\x33\\x84\\x8e\\x72\\x8f\\xb1\\x7f\\x46\\x6e\\x54\\x88\\x2a\\xd1\\x94\\x44\\x43\\xa9\\xdf\\xce\\x47\\x38\\x53\\x01\\xd9\\x39\\xde\\xc7\\x53\\x6c\\x2d\\xee\\x4a\\xfa\\x23\\x7c\\xc4\\xce\\xea\\x9d\\xd6\\x60\\x85\\xbe\\xa2\\x2b\\xc9\\xb6\\xea\\x3b\\xf4\\x69\\x3d\\xab\\x4f\\x04\\xab\\xda\\xf4\\x09\\xa7\\xb7\\x4d\\x4f\\x5e\\xa3\\x99\\x16\\x97\\xdf\\x98\\xa5\\xd5\\x29\\x8d\\xe8\\x49\\xd1\\x4f\\xae\\x41\\xb0\\x99\\x5a\\x83\\x8b\\x6c\\x23\\x8b\\x81\\x55\\xd0\\x59\\x12\\x2c\\x84\\xa7\\x86\\x21\\xad\\x22\\x3c\\xf6\\xc0\\xb2\\x03\\x57\\x36\\xdf\\x37\\xfe\\xda\\xfb\\xb6\\x2f\\x7f\\x66\\xf1\\x75\\xbb\\x57\\xdc\\x2d\\xbe\\x39\\x70\\x76\\x4d\\x9f\\x59\\xe7\\xb4\\x4d\\x9f\\x2e\\x76\\x56\\xcd\\x1e\\x32\\x62\\xea\\xd4\\x91\\x4b\\x98\\x31\\x8f\\x7c\\x8c\\xf3\\xae\\xbd\\xf3\\xdd\\x3d\\x8f\\xbd\\x2f\\x7e\\x8e\\x3d\\x7f\\x1a\\x7f\\xed\\x75\\x2b\\x57\\xae\\x5b\\xfc\\x9b\\x8d\\x3f\\xaf\\x5c\\x79\\xc7\\x82\\xc5\\xb7\\x49\\xe3\\x57\\x0f\\x22\\xdf\\xc2\\xfd\\x1e\\x6c\\x22\\x98\\x30\\x83\\x1b\\x67\\xc9\\x9b\\x84\\x20\\x38\\xf2\\x9a\\x98\\x22\\x31\\x18\\x44\\xb2\\x35\\x28\\x52\\x3f\\x9d\\x13\\x7e\\xd9\\xca\\xfd\\xfe\\x97\\xbb\\xa6\\xd3\\xb6\\x5b\\xd3\\x22\\x57\\xc3\\xe9\\x91\\x0b\\x45\\x12\\x36\\x17\\x32\\x19\\x91\\xd1\\xed\\xe1\\x6d\\xd0\\xda\\x44\\x64\\x5e\\xad\\x55\\x65\\x9f\\xa3\\x9e\\x1e\\x1f\\x81\\xa5\\xed\\x28\\xb4\\x64\\xb0\\xf5\\x8a\\x77\\xae\\xbb\\xfe\\x8f\\x57\\xce\\x3e\\xf2\\xc0\\x83\\x87\\x19\\x06\\xdd\\xf9\\xcd\\xea\\x1b\\xbe\\xdf\\x04\\x69\\x16\\xf3\\xc2\\x3f\\xfe\\xfe\\x92\\xbc\\xff\\xe9\\x6b\\xb1\\x85\\xfd\\x94\\xff\\x0c\\x72\\x8d\\x92\\x84\\xd3\\xcd\\x71\\x06\\xab\\xd5\\xe7\\x77\\x82\\x8e\\x39\\x75\\xe6\\xae\\xa4\\x0e\\xd1\\x52\\x46\\xd6\\xdb\\x3d\\x04\\xb3\\xba\\xb0\\xd0\\x40\\x6b\\x15\\xe0\\x2c\\xd9\\xcb\\x27\\x24\\x77\\x3f\\x34\\xb6\\x69\\x40\\xcb\\xae\\xdd\\x8f\\x4c\\xaa\\xaa\\xe5\\x27\\x5f\\xb9\\xe8\\x97\\x3e\\x8f\\x3f\\xe3\\xda\\xe8\\xff\\x27\\xf7\\xce\\xe3\\xfb\\x9c\\x9b\\x82\\xd4\\x1f\\x5e\\x86\\xc7\\x71\\x9d\\xec\\x8f\\x30\\xa7\\xf4\\x41\\x57\\x27\\x46\\x97\\xe8\\x83\\x1e\\xbd\\xa7\\x6f\\x75\\x79\\xb4\\x2b\\x99\\x57\\x9e\\xf0\\xe5\\xb7\\x95\\x93\\x12\\x65\\x79\\x41\\xa2\\xa4\\xa0\\xc0\\xdf\\x95\\xec\\x28\\xc0\\x05\\x09\\xa7\\xa7\\x0d\\x15\\xd8\\x0b\\xc0\\xf6\\x0a\\xdc\\x26\\x13\\xdf\\x95\\x34\\x11\\x40\\x13\\x01\\x34\\x41\\x7c\\xe7\\xec\\x4a\\xea\\x5b\\xe5\\x5d\\x96\\x72\\x6e\\x9e\\x29\\x4e\\x49\\x5b\\x9b\\xa4\\x87\\x75\\x59\\xb6\\x0f\\x51\\x12\\xf5\\x8c\\x0d\\x24\\x75\\x0a\\x63\\xa2\\x0a\\x4d\\x1e\\x2b\\x66\\xe9\\xf7\\xa8\\xf6\\x53\\x5f\\x01\\x66\\xa7\\x0e\\xdb\\x30\\x72\\xf5\\xc4\\xd6\\x45\\x23\\x16\\x6d\\x3e\\x6f\\xe3\\x70\\x5b\\x72\\x4c\\xe8\\xba\\x45\\x03\\x16\\x0f\\x83\\x6f\\x4b\\x26\\xd0\\x8f\\x86\\x5c\\x31\\x78\\xfe\\x96\\x59\\xab\\x37\\x4e\\x62\\x4e\\x55\\xe6\\xf5\\x89\\xc5\\xd7\\x4f\\xac\\x0a\\xf0\\x05\\xb6\\xe9\\x9b\\x2b\\x4a\\xc4\\xcf\\xa6\\x6e\\xec\\x13\\xab\\xca\\xab\\x2e\\xaf\\x5e\\x33\\xb1\\x6f\\xdc\\x4d\\xe4\\x7e\\x05\\x6a\\xe2\\x26\\xf1\\x76\\x18\\xdb\\x5b\\x12\\x93\\x2c\\x76\\x07\\xe2\\xb0\\xd9\\xa8\\x13\\x58\\xce\\x84\\x19\\x48\\xa1\\xcc\\x56\\x3d\\xe7\\xb2\\x72\\x56\\xb7\\xc7\\xae\\x37\\xe8\\xbb\\x92\\x16\\x53\\x8d\\x61\\x9c\\xa1\\xd3\\xb0\\xc0\\xc0\\x8d\\x83\\x6f\\x2b\\x0d\\x4f\\x18\\xde\\x36\\xf0\\x36\\x88\\x39\\x58\\x83\\x83\\xe7\\x40\\x26\\x0c\\x0a\\x73\\x2b\\xb8\\xfb\\xb9\\x3d\\xdc\\x21\\x8e\\xe7\\x88\\x65\\x90\\xc2\\xc5\\xc2\\xf8\\xab\\xaa\\x28\\xa6\\x2d\\x7c\\x35\\xdb\\x2b\\xc9\\x21\\x03\\x5d\\x40\\xa2\\xa5\\x70\\x5a\\x02\\x8f\\xb8\\x68\\x09\\x9c\\x8d\\x90\\xf4\\xda\\x83\\x7f\\xd8\\xb2\\xe1\\xae\\x7f\\xe1\\xa6\\x17\\x44\\x13\\x33\\xf0\\x9e\\x75\\x5b\\xb0\\x47\\x7c\\xf0\\x10\\x13\\xc2\\x93\\xc5\\xbf\\xe1\\xc8\\x26\\x7c\\xd9\\x26\\x5c\\x2c\\x7e\\xb4\\x49\\xdc\\xb4\\x09\\xec\\xf9\\x0a\\xf4\\x23\\x37\\x89\\x1b\\x27\\xef\\xd9\\x1e\\x9b\\xa8\\xd6\\x73\\xc8\\xa4\\x83\\x3c\\xc6\\x6c\\x21\\x7d\\x30\\x18\\x78\\x4c\\x38\\xe5\\x88\\x0b\\x9b\\x8f\\xef\\xc7\\x7b\\xf0\\x5b\\xf8\\x1b\\xcc\\x8f\\xc3\\xd8\\x86\\xc3\\x98\\xc1\\x30\\x80\\xff\\x1f\\x6f\\x6f\\x02\\x18\\x45\\x91\\x35\\x8e\\x57\\x55\\x5f\\xd3\\x73\\xdf\\x33\\xc9\\xe4\\x98\\x64\\x72\\x00\\x81\\x4c\\xc8\\x24\\x04\\x08\\x90\\x56\\x6e\\xb9\\x6f\\x07\\xe4\\x08\\x81\\x70\\x07\\x0c\\xe1\\x06\\x41\\x0e\\x51\\x41\\x30\\x82\\x07\\x1e\\x88\\x0b\\x88\\x37\\x28\\x01\\xa2\\xbb\\x8a\\x8a\\xc7\\xae\\x82\\xb8\\xab\\xbb\\x78\\xeb\\xa2\\xae\\xc7\\xea\\xea\\x7e\\xba\\xee\\x7e\\x24\\xd3\\xf9\\xbf\\xaa\\xee\\x99\\x4c\\x0e\\xdc\\xcf\\xfd\\xbe\\xdf\\x7f\\x92\\x9e\\xa9\\xee\\xae\\x7a\\xf5\\xea\\xd5\\xab\\xf7\\x5e\\x5d\\xaf\\xa6\\x4f\\xd7\\xf9\\xad\\xdd\\x78\\x52\\x44\\x13\\x74\\x58\\xbf\\xea\\xb8\\x4f\\x9b\\xd3\\xb5\\x8b\\xfb\\xcd\\xde\\xbd\\xb1\\xde\\x7b\\xf7\\xe2\\x39\\x80\\x03\\x41\\xcb\\xe9\\x3e\\x1c\\xfe\\x3c\\x5b\\x57\\x3c\\x46\\x29\\x94\\x78\\x64\\x24\\x22\\x12\\x4d\\x66\\x09\\x30\\x90\\x30\\x5b\\xa7\\xfc\\xa6\\x88\\xc3\\x62\\x85\\x48\\x44\\x6e\\x19\\xd9\\x44\\x8e\\x11\\xce\\x46\\xc6\\x90\\x99\\x84\\x6e\\xaa\\x99\\x3e\\x3d\\x42\\x2f\\x27\\x5b\\x7f\\xdf\\x11\\x03\\x4c\\x17\\xf8\\x0b\\x9a\\xc4\\x6d\\x7e\\x90\\x9b\\xda\\x1c\\x00\\xc9\\xbb\\xea\\x1c\\xde\\x71\\xb7\\xfa\\x90\\xfa\\xd0\\xbe\\x6f\\xea\\xeb\\x29\\x8f\\xd7\\x01\\x0e\\x53\\x74\\x1c\\x46\\x29\\x3d\\xda\\xe1\\x20\\x0a\\x84\\x70\\xcb\\xf8\\x4d\\xfc\\x31\\x9e\\xb3\\xf1\\x63\\xf8\\x99\\x3c\\xc7\\xe3\\x37\\x11\\x0e\\x83\\x44\\xa6\\xbb\\x47\\xa7\\x4f\\x2f\\xa6\\x28\\x74\\x8a\\x41\\x19\\x55\\x1e\\x58\\x27\\xc1\\x54\\xc0\\x80\\x91\\xe0\\x9b\\x7d\\xf8\\x6a\\x7c\\xf5\\xdd\\xea\\x8a\\x73\\xb1\\x9b\\x28\\x06\\x14\\x07\\xe8\\xfe\\xf1\\x57\\xf2\\xe5\\xd0\\x83\\x97\\x69\\xcb\\x16\\xe8\\x46\\x53\\xde\\x68\\x22\\x06\\xb0\\x82\\x91\\x70\\x94\\xe9\\x2a\\xe4\\x6f\\x23\\x42\\x22\\x0e\\x19\\x3b\\x72\\xb3\\xe0\\xfb\\x66\\xfc\\x01\\xfe\\xa0\\xf9\\x1e\\xce\\xa9\\xae\\x52\\x57\\x91\\x75\\xf8\\x79\\x55\\x89\\x6d\\x9b\\x44\\x10\\xae\\x55\\x77\\x01\\xef\\x2e\\x47\\x0d\\xfc\\x14\\xd0\\x49\\x02\\xca\\x57\\xbc\\x74\\x23\\xa2\\x08\\x95\\xfc\\x78\\xd4\\xc6\\x55\\x70\\xdf\\x41\\xff\\xbd\\x02\\x63\\x5a\\x95\\xe1\\xe9\\xad\\xf2\\x0d\\x3b\\x42\\x2e\\xa8\\x39\\x71\\x0f\\xa6\\x9a\\x4a\\x9d\\x48\\x06\\xdc\\x86\\x30\\xc9\\x88\\xed\\xe3\\x89\\xf8\\x30\\xb4\\x81\\x54\\xc5\\x68\\xa0\\x4e\\x86\\x3c\\x76\\x13\\x93\\x8c\\xe7\\xce\\x25\\x5c\\x0a\\xe1\\x90\\xb6\\xea\\x97\\x4d\\x66\\x32\\xaf\\x07\\x1e\\x72\\xb4\\xfe\\xd0\\xed\\x43\\xe6\\x16\\x87\\xf2\\x0b\\xd2\\x03\\xde\\x48\\x41\\x6c\\x9f\\x94\\xf1\\x15\\x96\\x87\\xf7\\xce\\xef\\x99\\x53\\x90\\x73\\xe7\\x11\\xb6\\x87\\x3b\\xb6\\x8f\\x1c\\x4d\\xc0\\x26\\x2e\\x57\\xa7\\xb0\\x23\\x0e\\x37\\x89\\x2b\\x05\\xe6\\x46\\xa1\\x94\\x64\\xd4\\x3f\\xb8\\x27\\x09\\xb6\\xf8\\xf0\\xbf\\x2e\\x7e\\xab\\x36\\x25\\xc3\\x6e\\xf9\\x89\\x14\\xf0\\x17\\xc8\\x6f\\xe8\\xaa\\xa8\\x13\\x04\\x78\\x1a\\xa3\\x46\\x8c\\x9e\\x8a\\xe2\\xe6\\xf6\\x3b\\x49\\xff\\x4c\\x0a\\xb4\\xfa\\x60\\x65\\x65\\xf8\\x50\\x3d\\x2e\\x13\\x8e\\x6e\\x82\\x50\\xd1\\x25\\x7d\\x13\\x84\\xe6\\x5a\\x02\\x7a\\x36\\x19\\xf5\\xf5\\xe2\\xc3\\x3f\\x7d\\xaf\\xd3\\x86\\xe6\\x21\\x80\\x1d\\x63\\xe4\\x05\\x41\\xc4\\x12\\xaf\\x22\\x8e\\x65\\x84\\x9a\\x35\\x7b\\x10\\xf2\\x8a\\xaf\\xd5\\xa0\\x2b\\x4c\\x49\\x06\\x79\\x3a\\xf6\\x4e\\x3d\\xf9\\x4d\\x7d\\x53\\x0d\\x5b\\xdf\\xff\\x13\\xcd\\x33\\x0e\\x83\\xe3\\x79\\xba\\xd3\\x50\\x4d\\x46\\x36\\x19\\x06\\xc7\\x36\\x47\\x19\\xc9\\xd3\\xf5\\x80\\xf4\\xa5\\x0f\\xf9\\xdb\\x74\\xbc\\x69\\x59\\x01\\x6f\\x01\\x65\\x9e\\x02\\xf5\\x25\\x72\\x12\\x11\\x00\\x40\\x43\\x94\\x34\\x33\\xf4\\x0b\\x5a\\x91\\x60\\x3a\\x0c\\x8a\\x40\\xba\\xc4\\x86\\x8a\\x0f\\x37\\xbb\\xea\\x75\\x5a\\xb1\\x72\\x33\\x1c\\x80\\xf3\\x29\\x0e\\x97\\x18\\x88\\xa7\\x28\\x88\\x8e\\x38\\x44\\x00\\x87\\x2e\\x14\\x07\\xee\\xdb\\xa6\\xcd\\x09\\xda\\x31\\x1c\\x24\\xe8\\xd3\\x99\\xc1\\xa8\\x94\\x24\\x03\\x27\\x8b\\x6a\\x3b\\x44\\x5a\\x01\\xb5\\x62\\xc3\\x48\\x0a\\xf8\\xbc\\x53\\xcf\\x10\\x4a\\xa6\\x0b\\x83\\x97\\xaf\\x58\\x04\\x00\\x28\\x23\\x83\\xa0\\x72\\x97\\xda\\x91\\x26\\x0e\\x2e\\x81\\x58\\x88\\xa1\\xa6\\xe1\\xf6\\xd3\\xf7\\xfc\\x6d\\x3a\\x2c\\x56\\x4f\\x12\\xea\\xa6\\x58\\x05\\x30\\x8f\\x88\\x8c\\x01\\x18\\xdd\\x6d\\x97\\xc4\\x14\\xd4\\x28\\x64\\x9c\\x91\\x28\\x27\\x5b\\x12\\x0c\\x1c\\x42\\x2b\\x0c\\x98\\xa4\\xa9\\x86\\x11\\x5c\\xe7\\x2d\\x86\\x1b\\x85\\x47\\x88\\x41\\x04\\x78\\xdc\\x25\\x01\\xff\\x1b\\x78\\x0e\\x5a\\x5e\\x46\\xb9\\x2e\\x0c\\x3f\\x46\\xfe\\x38\\x7e\\x00\\xcf\\x84\\x4a\\x15\\x97\\x20\\xcb\\xc4\\x68\\x34\\x8b\\x16\\x6c\\x96\\xa1\\xbc\\x06\\x0d\\xc9\\xe3\\x51\\x81\\x42\\xd5\\x77\\x5d\\xb6\\xc2\\x8d\\x24\\x83\\xce\\xd2\\x4b\\xcf\\x88\\x19\\xcf\\x81\\x61\\x4d\\x5a\\x7e\\xc2\\xab\\xf8\\x0b\\xdc\\x32\\x26\\xf7\\x0b\\x15\\x63\\x7c\\xdf\\xb3\\xc0\\xb3\\xfa\\x11\\x62\\x71\\xd4\\x9b\\xe2\\xdd\\x98\\xd6\\xfd\\xce\\x9c\\x2e\\xd0\\x81\\x12\\x4d\\x99\\xd0\\x5e\\x3e\\xae\\xaf\\x57\\xef\\xd2\\x65\\x18\\x5e\\x18\\xdb\\xc7\\x55\\xb1\\x36\\x23\\xa1\\xa0\\x62\\x25\\x1c\\xe8\\x47\\xd1\\x20\\x4b\\x04\\xc8\\x0b\\x55\\x5e\\x5c\\x11\\x49\\xd6\\xe7\\x50\\x3f\\xec\\x5a\\x58\\x5f\\x8f\\xe7\\x6b\\xed\\x48\\xb6\\xb7\\xb6\\x25\\xc0\\x4f\\x46\\x7d\\x14\\x1b\\x6f\\x30\\xc8\\xb2\\xd1\\x24\\xd2\\x5d\\x26\\x2a\\x2f\\x31\\x14\\xf9\\x58\\xbc\\x65\\xc5\\x51\\x44\\x3a\\x7d\\x1d\\x09\\x7e\\x4a\\x2c\\xe4\\xd6\\x9a\\x19\\xa3\\x03\\xb7\\xac\\xfe\\x42\\x7d\\x73\\x36\\xb5\\xb3\\x17\\xea\\x7c\\x20\\xa3\\x1e\\x8a\\x45\\x32\\xf0\\x9c\\x81\\x33\\x22\\x13\\x11\\x65\\x11\\x00\\x9f\\x88\\xca\\xcd\\x06\\x4e\\xd5\\x96\\x39\\x32\\xc7\\x14\\xad\\x23\\xd1\\x1e\\x7d\\x4f\\xa2\\x83\\xbf\\xa0\\xee\\x04\\x70\\xac\\xf9\\xf2\\xb7\\x35\\xd5\\x08\\x21\\x9d\\x06\\x0c\\x77\\x01\\x6a\\xb0\\x5c\\xb1\\xf2\\x82\\xc9\\x28\\x40\\xe7\\x03\\x3a\\x50\\x16\\x51\\x06\\xd0\\xa7\\xa2\\x62\\xcc\\xd4\\x2a\\x19\\x74\\xfc\\x23\\x71\\x22\\xb7\\xe6\\xc3\\x70\\xd7\\xbf\\x17\\x72\\x4b\\x62\\x39\\x40\\x25\\x22\\x40\\x96\\x50\\x88\\x4b\\xcf\\xf0\\x4b\\xb5\\x72\\x68\\x6d\\x83\\xd1\\xaa\\x4c\\xb1\\x4a\\xc4\\x60\\x30\\x9a\\xa0\\xdf\\x64\\x94\\xd4\\x78\\x6d\\x36\\xc5\\x6b\\x33\\xd6\\x19\\xa9\\xb4\\x2a\\x2d\\xcd\\xd2\\x85\\x09\\x10\\x09\\x04\\x0a\\x5e\\x05\\xe5\\xba\\xd4\\x95\\xfb\\x48\\x83\\xcf\\x55\\x31\\x3a\\x15\\x2a\\x76\\x8d\\x4e\\x26\\x64\\x04\\xe2\\x88\\x1d\\x5b\\x4c\\x1b\\x42\\x71\\xf1\\xcd\\x9b\\x0e\\x23\\xb7\\x84\\xd2\\x49\\x93\\x52\\x5a\\xc3\\x21\\x1a\\xdc\\x56\\x3a\\x89\\x12\\xc1\\x12\\x06\\xbb\\x83\\xe7\\xcd\\x46\\x99\\x61\\x6e\\x8c\\xb1\\x22\\x9c\\x80\\x22\\x48\\x58\\xab\\x8b\\x56\\x66\\x6c\\xa5\\x13\\xed\\x10\\x96\\xe2\\x10\\x1b\\x54\\xad\\xaa\\x8f\\xe5\\x10\\xa1\\x5e\\xdd\\x49\\x04\\x6e\\xd9\\xa5\\xae\\xc2\\x10\\x56\\x8a\\x7a\\x26\\x93\\x28\\xcf\\x03\\x6f\\x52\\x3a\\x59\\xa8\\x08\\x01\\x9e\\x32\\x70\\x9c\\x49\\xd4\\x32\\x13\\x63\\x71\\xe9\\xd4\\x94\\x90\\x4e\\x05\\xed\\x38\\x2a\\x12\\xdf\\x1c\\xa0\\xcb\\x28\\x5d\\x6e\\xbe\\x0a\\x85\\xd3\\xf6\\x18\\x2d\\xd4\\x65\\x81\\x0c\\xb2\\xc0\\x64\\x10\\x64\\x22\\x80\\x09\\x0c\\x01\\x00\\x7c\\x32\\x4a\\x0c\\xcd\\xa2\\xde\\x0a\\x0a\\xda\\x30\\x94\\xd6\\x5a\\x21\\x4c\\xfe\\x50\\x8f\\xeb\\x9a\\xf7\\xd4\\x5f\\x60\\xb2\\x8f\\xbf\\xae\\xd9\\x45\\xf9\\x49\\xc7\\x5b\\xa7\\x13\\x11\\x00\\x9e\\xc1\\x6c\\x31\\x72\\x9c\\xc5\\x60\\x62\\x18\\x1b\\x9a\\x18\\xea\\x27\\xa2\\x24\\xa6\\x67\\xd0\\x29\\x9d\\x58\\x36\\xfa\\xf7\\xc2\\x7a\\xf2\\x41\\xf3\\x1e\\x68\\x75\\xb8\\x2e\\xd6\\x24\\x3e\\xdc\\x34\\xb3\\x5e\\x28\\x86\\x72\\x68\\x3e\\x14\\x56\\x31\\x59\\xcb\\xf8\\x49\\x16\\x09\\x31\\x19\\x19\\x3f\\x5d\\xfa\\xc5\\xfc\\x14\\xd1\\xf9\\xa9\\x8b\\xc6\\x4f\\x5c\\x9f\\x4b\\x6f\\x68\\xf2\\x92\\xc9\\x08\\xc6\\x4f\\xa0\\x9d\\xe8\\x44\\x05\\x36\\x1a\\xf8\\x4b\\x90\\x15\\x6e\\xd5\\x32\\x1d\\xf9\\x09\\x6b\\x30\\xe1\\x8f\\xab\\x02\\xdc\\xeb\\x34\\x96\\xa2\\x62\\x8d\\xfb\\x56\\x93\\x69\\x0c\\xae\\x4e\\x27\\x83\\x89\\x4e\\x80\\x00\\x3f\\x61\\xac\\xf1\\xd3\\xa9\\xa8\\xb1\\x49\\xe4\\x2f\\xc5\\xf3\\x88\\x5d\\xbe\\xdd\\xd1\\x6c\\xb2\\x22\\x1a\\x3f\\x35\\xef\\x21\\x1f\\xd4\\xab\\x52\\x7d\\xac\\x09\\xd7\\x41\\x29\\xf8\\x07\\x9a\\x7b\\xd5\\xb7\\xd5\\x71\\x26\\x34\\x00\\xca\\x01\\x52\\xda\\x64\\x82\\x56\\x0e\\xb5\\x62\\x54\\x7f\\x8e\\xa5\\xda\\xc9\\xa9\\x36\\x6c\\x95\\x50\\x7e\\x71\\x05\\xf8\\xaa\\x2e\\xad\\x12\\x72\\x85\\xe9\\x19\\x13\\xea\\xa9\\xd8\\x8c\\x26\\x89\\x88\\x26\\xd1\\xcc\\x59\\x4c\\xba\\x62\\x85\\xfa\\x6f\\x36\\xb4\\xd6\\x7f\\x82\\x76\\x6d\\xb4\\x2b\\x33\\x5a\\x28\\x9b\\x81\\x1c\\xa1\\x72\\x5b\\xd7\\xb2\\x4c\\xee\\x72\\x89\\x3c\\xa8\\xcf\\x1e\\x1b\\x1a\\xaa\\x38\\xac\\x82\\xe0\\x40\\xd8\\x26\\xcb\\x66\\x03\\x36\\xd8\\x1d\\x66\\x1b\\x2b\\x8f\\xb9\\x89\\x89\\x61\\x45\\x06\\x39\\x6c\\x24\\x97\\x64\\xa4\\x32\\xae\\x4e\\x9c\\xbe\\xdf\\xa7\\xdd\\xd2\\x36\\x3a\\xaf\\xa8\\x29\\x24\\x8d\\xfb\\x9a\\xea\\xeb\\x2f\\x30\\x49\\xc6\\xd8\\x2f\\xb6\\x4f\\xb6\\x03\\x03\\x36\\x67\\xcb\\x76\\xc6\\x82\\x49\\xfa\\xde\\x84\\xfa\\x29\\x0e\\x99\\x12\\xd7\\x6c\\x01\\x26\\x04\\x1d\\xf8\\xf3\\x6c\\x98\\xcc\\x87\\x6d\\x18\\x31\\x94\\x60\\xc5\\x38\\x2f\\xfe\\xf4\\x3d\\xf7\\x11\\x4a\\xc8\\xa1\\x04\\x5d\\x9d\\x60\\x5d\\x98\\x8c\\xa2\\xd1\\x82\\xcc\\x26\\x41\\x35\\x74\\x30\\x31\\x22\\xc9\\x3c\\x99\\x64\\x67\\x50\\xba\\x1a\\x81\\x27\\x99\\x26\\x4b\\xd8\\x1b\\xfc\\x75\\x40\\x56\\xc4\\x25\\xf2\\x48\\xd0\\x55\\x34\\x1a\\x65\\x13\\x47\\x4c\\xc4\\xee\\xb0\\x48\\x92\\xdd\\x6a\\x61\\x65\\xb2\\xc6\\x0c\\x3a\\x5d\\x0d\\x4d\\xa6\\x56\\x9d\\xd9\\x49\\x73\\x4e\\x56\\xa0\\xb4\\xf3\\xc7\\xa4\\x1f\\xd4\\x2b\\xad\\x53\\xca\\xaa\\xf5\\x4c\\x04\\x6a\\x1a\\x15\\x38\\x56\\x13\\x82\\x44\\xb3\\x2d\\x40\\xe6\\xd2\\xb2\\x2a\\x8a\\x0d\\xac\\x1f\\x8b\\x99\\x33\\x99\\x2c\\x06\\x4a\\x5b\\x83\\x96\\xb5\\xdc\\x94\\x6c\\x0c\\xc5\\xe2\\x4d\\x31\\xc9\\x08\\x70\\xb4\\xb5\\x89\\x74\\x6b\\x00\\x38\\x36\\xf6\\x0e\\xff\\x67\\x20\\x2f\\x54\\x25\\xf7\\x11\\xa5\\x03\\x4a\\xb6\\xb7\\x4c\\xa8\\x44\\x71\\xc9\\x46\\x51\\x30\\x0a\\xc0\\xb4\\xc8\\x6c\\x04\\xf2\\x76\\x30\\xba\\xf4\\x36\\xef\\x68\\xa3\\x45\\x12\\x0a\\x17\\x72\\xd1\\x34\\xae\\x6e\\x7f\\xe9\\x36\\x18\\x97\\x28\\x97\\xc0\\x76\\x1e\\x0f\\x57\\x9c\\x08\\x9b\\x8c\\xd8\\xe8\\xb0\\x5b\\x0c\\x06\\x87\\x95\\xe3\\xec\\x36\\x2b\\x13\\xc1\\xb6\\x26\\x99\\xe3\\x39\\x16\\x14\\xf9\\x98\\x49\\xe7\\xdb\\xf8\\x0a\\xbc\\xa4\\xf2\\xf5\\x49\\x70\\x2e\\xd0\\x35\\xa2\\xb5\\x1c\\x0f\\x68\\x99\\x26\\x46\\x57\\x8d\\x79\\x89\\xd0\\x94\\x09\\xf5\\xfa\\x11\\x2d\\xaf\\x70\\xa1\\xbe\\x3e\\x6e\\x57\\xe9\\xbc\\x44\\xe9\\x4b\\x88\\xc5\\x6c\\x92\\xa4\\xb6\\xf4\\x8d\\x25\\x1b\\x87\\x4d\\x3f\\x4b\\x5f\\xd6\\x5e\\x18\\x7d\\x99\\x21\\xa7\\x1b\\x5c\\x5c\\x1f\\x68\\x27\\xba\\xd1\\xd5\\x6a\\x7f\\x32\\xfa\\x02\\xf7\\xca\\x44\\x36\\x9b\\x80\\xbe\\x12\\x77\\x49\\xee\\x60\\x84\\x76\\x4a\\x5f\\x3d\\x57\\xc8\\x85\\x09\\x55\\x5c\\x97\\x10\\xab\\x9a\\x4d\\xca\\x25\\xca\\x95\\xa0\\xaf\\xc1\\x24\\x00\\xf3\\x3a\\xec\\x36\\x9e\\x77\\x98\\x65\\xd9\\x6e\\x31\\x33\\xa2\\x5a\\x62\\x82\\xcc\\x84\\x2d\\x68\\x3b\\x90\\xb6\\x09\\x6d\\x77\\x59\\xfa\\x26\\x74\\x52\\x69\\x16\\x2d\\x26\\x93\\x4c\\xb1\\x26\\x9d\\x89\\xd5\\x9d\\xfc\\x9f\\x99\\x10\\xe4\\x5e\\x03\\x1e\\x06\\x21\\x5c\\x9f\\x6c\\x1f\\xbb\\xd0\\x64\\x25\\xd5\\x22\\x3b\\x1c\\x22\\x71\\x3a\\x3d\\x6e\\x9b\\xd1\\xe8\\x41\\x82\\xe0\\x76\\x80\\x88\\x30\\xf3\\x4c\\x48\\x9c\\x8a\\xca\\x42\\x93\\x3d\\x6e\\x32\\x5b\\x28\\x2f\\xeb\\xb8\\xb4\\xb1\\x9c\\x1d\\xad\\x22\\xa3\\x9d\\xfa\\x6a\\xdd\\x0a\\x18\\x97\\x1e\\x09\\xe1\\xac\\x4b\\x11\\x5d\\x42\\x33\\x51\\xd2\\x06\\xb7\\xe1\\x8a\\xd7\\x69\\x34\\xda\\x4c\\x2e\\x89\\x89\\x69\\x37\\xef\\xb1\\xb8\\x65\\xba\\x60\\x96\\x32\\x81\\x29\\xea\\x24\\xd6\\x66\\x90\\xdb\\xf6\\x78\\x0b\\x8f\\xaf\\x7e\\x4c\\x54\\x4d\\x24\\xb9\\x95\\xb7\\xb6\\x00\\x5d\\x05\\xc6\\x25\\xf8\\x05\\x60\\x47\\x5a\\x67\\xba\\x14\\xd7\\x5a\\x04\\xab\\x3b\\xb6\\x9e\\x26\\x81\\x0f\\xad\\x37\\x07\\xf2\\xa1\\xd9\\x4a\\xaa\\x5b\\x14\\x7d\\x92\\xe0\\x70\\x10\\xbb\\x64\\x4f\\xf1\\x73\\x56\\x6b\\x8a\\x47\\x96\\xfd\\x82\\xc7\\xeb\\x61\\x14\\x23\\xde\\x26\\x9b\\x56\\x85\\x8a\\x31\\x6a\\x36\\xc6\\x1c\\xa2\\xea\\x4c\\x20\\x99\\x44\\xbc\\x76\\x95\\xd9\\x1e\\x5d\\x2e\\xb9\\xe1\\x44\\x74\\xe1\\x44\\xab\\xf6\\x42\\x52\\x03\\xd2\\xab\\x99\\x55\\xf1\\xa5\\x67\\xb4\\x86\\xc4\\xc4\\x15\\x1b\\xe7\\x44\\x64\\x39\\x7f\\x8e\\xc9\\x4c\\xe7\\x49\\x04\\x7d\\x76\\x72\\x09\\xa1\\x70\\x85\\xde\\x5b\\xc7\\x59\\x8e\\x2c\\xfe\\x5c\\x53\\x84\\x3f\\x07\\xb1\\x7a\\x69\\xf1\\xa1\\xac\\x70\\xd7\\x1a\\x9f\\xb6\\xee\\x70\\x87\\xf8\\x10\\xeb\\xbd\\xd6\\xf8\\x0c\\xbe\\xeb\\x94\\x0e\\x5f\\x45\\x15\\x1d\\x33\\xa0\\xea\\x49\\x8f\\x4f\\xe6\\xc5\\xe3\\xe3\\xce\\xe2\\x93\\x79\\x34\\x8a\\x1e\\x9f\\x54\\x27\\xe0\\x3b\\x4e\\x62\\x24\\xb4\\x46\\x2f\\x8e\\x43\\x6f\\x8d\\x8d\\xa8\\x47\\xc0\\x58\\x13\\x3f\\x4f\\xef\\x3b\\xd1\\x56\\xe6\\x62\\x2b\\x6f\\xb5\\xfd\\x84\\x05\\x28\\x8c\\x22\\xa8\\x0c\\x95\\xa3\\x0a\\x34\\x10\\x0d\\x45\\x23\\xd0\\x18\\x34\\x01\\x4d\\x41\\xd3\\xd0\\x4c\\x54\\x85\\xe6\\xa1\\x45\\x68\\x29\\x5a\\x8e\\x56\\xa1\\x75\\x68\\x23\\xda\\x82\\xb6\\xa3\\x1d\\x68\\x37\\x7e\\x4d\\x59\\x68\\xcd\\x1b\\x32\\x79\\xad\\x50\\x53\\x63\\xcb\\x1f\\x3a\\x65\\x9d\\xb0\\x54\\xcc\\xe8\\x35\\xfa\\x66\\xa1\\xba\\x5a\\xca\\x2c\\x1b\\xb3\\x43\\x98\\xe7\\xec\\x36\\x60\\xea\\x75\\x42\\x6d\\xad\\xab\\xa0\\x62\\xda\\x46\\x61\\xb9\\x31\\xbb\\xef\\x55\\xbb\\x84\\xd9\\xb3\\x4d\\xa1\\xf2\\x11\\xbb\\x85\\xaa\\xaa\\xe5\\xf3\\x96\\xf2\\x8b\\x56\\x91\\xd4\\xe2\\xf1\\x37\\x08\\x0b\\x17\\x72\\x81\\xc8\\x84\\xed\\xc2\\xa2\\x45\\xb7\\xfa\\xc2\\x03\\x67\\x6e\\x11\\x56\\x79\\x0b\\xaf\\x9c\\xb1\\x59\\x58\\xb5\\x72\\x65\\xfd\\xbc\\xaa\\x45\\xf3\\x17\\x35\\x62\\x1e\\x44\\xdb\\x9c\\x59\\xf3\\x67\\x4e\\x9b\\x32\\x71\\x8a\\x76\\x77\\xcd\\xd5\\x13\\xc7\\x8c\\x98\\x30\\x76\\x82\\x76\\x37\\x72\\xd8\\xd8\\x81\\x15\\x43\\x07\\x0d\\xd5\\xee\\x94\\x7e\\x83\\xca\\xcb\\x22\\x45\\x11\\xed\\xae\\x77\\x49\\x51\\xb8\\x20\\x3f\\x27\\x5f\\xbb\\xeb\\xde\\x25\\x27\\x94\\x19\\xf0\\x07\\xb4\\xbb\\x60\\x9a\\xdf\\xe7\\xb2\\x51\\xc3\\x83\\xde\\xb9\\xed\\x66\\x36\\x3e\\xa9\\xdd\\x81\\xfe\\xd8\\xb2\\x71\\xdd\\xea\\x75\\xf4\\x2e\\x33\\xba\\x69\\xfd\\xea\\xf9\\x13\\xc7\\x0e\\x2a\\xca\\xf1\\x9b\\xd1\\xea\\xd5\\xc8\\xec\\xcf\\x29\\x1a\\x34\\x76\\xe2\\x7c\\xe3\\xd6\\xba\\x65\\x8b\\x97\\x2e\\xd6\\x52\\xac\\x5a\\xbe\\x74\\xf7\\x8e\\xed\\x5b\\xb7\\xc3\\x5d\\x43\\x74\\xe7\\x8d\\x5b\\x2f\\xa1\\x78\\xd3\\xf3\\xc7\\xb7\\xa3\\x38\\xb5\\x75\\xe8\\xfa\\xa7\\xc3\\xfa\\xe4\\xff\\xed\\x2f\\x65\\x17\\x9f\\xee\\xbf\\xc0\\xc7\\xb6\\x6d\\xb2\\x05\\xba\\x7a\\xb0\\xb3\\x9f\\x9e\\x45\\x74\\x7b\\x66\\xae\\x7e\\x09\\xbf\\x30\\x2c\\x5d\\xe6\\xb9\\xef\\x32\\x71\\x92\\x9f\\xe3\\xcb\\x84\\xe7\\xcd\\xc3\\x77\\x6b\\x57\\x6c\\x5f\\x75\\x35\\xbe\\x5b\\xbb\\x9a\\x5a\\xfe\\xfd\\xf3\\x73\\xda\\xa3\\xe6\\xb3\\xd5\\xd5\\x64\\xde\\xbc\\x79\\x6a\\xb5\\x76\\x9d\\x6b\\x8d\\x7d\\xae\\xd3\\xa7\\x34\\x41\\x67\\xf0\\x84\\x2e\\xb3\\xe9\\xa7\\x72\\x56\\xeb\\xa7\\xaa\\x63\\xb8\\x92\\x7e\\x66\\xcf\\xa0\\x9f\\xd9\\x2c\\xac\\x3d\\x96\\xbe\\x65\\x89\\x71\\x88\\xdd\\x21\\x34\\x8c\\xb5\\xc1\\x37\\xfe\\xef\\xda\\x20\\xda\\x83\\xee\\x44\\xf7\\xa0\\xfb\\xd1\\x41\\x74\\x04\\x3d\\x8a\\x8e\\xa2\\xe3\\xe8\\x14\\xfa\\x35\\x3a\\x8d\\xce\\xa0\\x57\\xd1\\xeb\\xe8\\x3c\\x7a\\x0b\\x5d\\x40\\xef\\xa3\\x8f\\xd1\\xa7\\xe8\\x0b\\xf4\\x57\\xf4\\x1d\\xfa\\x01\\xfd\\x13\\x35\\xa1\\x16\\xcc\\x41\\x57\\xd8\\x84\\x6d\\xd8\\x85\\x7d\\x38\\x80\\x33\\x39\\xd3\\x71\\x52\\x3c\\xfb\\xc1\\x46\\x6c\\x3c\\x29\\xfc\\xe9\\x4f\\x5c\\xa4\\xea\\x48\\x23\\x36\\x29\\x1e\\xe1\\x42\\xc6\\xe8\\x5d\\x4f\\xfc\\x24\\x7c\\xf4\\x51\\xe6\\x98\\xdd\\x47\\xff\\x29\\x7c\\x2c\\xf6\\xaa\\xfe\\x55\\x23\\xb6\\x9e\\x14\\xfe\\xf0\\x07\\xa9\\x6c\\xde\\xc1\\x46\\x6c\\x83\\x48\\x6f\\x65\\x8f\\xbf\\xee\\xa9\\x4b\\xc2\\xc5\\x8b\\xa1\\x09\\x1b\\x8f\\x37\\x09\\x9f\\x1a\\xfb\\x2e\\xdc\\xdf\\x88\\x9d\\x27\\x85\\x37\\xde\\x30\\x95\\x2f\\xba\\xbf\\x11\\xbb\\x20\\xd2\\xf9\\xbc\\xc9\\x9b\\x4f\\xaa\\xc2\\x5f\\xfe\\x92\\x3f\\x65\\xcb\\xa9\\x16\\xe1\\x0b\\xeb\\x80\\x9a\\xbb\\x1b\\xb1\\xf7\\xa4\\xf0\\xda\\x6b\\xb6\\x8a\\xa5\\xf7\\x34\\x62\\xdf\\x09\\xe1\\xf5\\x6e\\x53\\x6f\\x78\\xa6\\x11\\x93\\x93\\xc2\\xd7\\x5f\\x17\\x4c\\xdb\\xfe\\xeb\\x46\\xcc\\x9d\\x10\\xfe\\xea\\xbc\\xb2\\xf6\\x8e\\x46\\x9c\\x7a\\x52\\x78\\xe5\\x15\\xd7\\xc0\\xe5\\x77\\x36\\xe2\\xc0\\x09\\xe1\\xd5\\xc2\\x19\\x37\\x3f\\xd7\\x88\\xc5\\x93\\xc2\\xdf\\xfe\\x16\\x9e\\xb9\\xe3\\x74\\x23\\x96\\x94\\x4c\\xe1\\xbb\\xef\\x5e\\xfd\\xeb\\xeb\\x5f\\x9c\\xff\\xf4\\xad\\x8f\\x2f\\x18\\xdf\\x3f\\x93\\x7a\\xd5\\xda\\x47\\xfe\\x4b\\x78\\xef\\xbd\\xc0\\x88\\x75\\x8f\\xfe\\x20\\xbc\\xff\\x7e\\x23\\x0e\\x1e\\xf7\\x0d\\x5d\\xb5\\xa7\\x11\\x67\\x9e\\x10\\xce\\x78\\x87\\xac\\xbc\\xad\\x11\\x67\\x1c\\x17\\xce\\xbc\\xf8\\x62\\x23\\xce\\x52\\xe4\\x33\\xaf\\xbe\\x7e\\xfe\\x2d\\xe1\\xc2\\xdb\\x17\\x68\\x3b\\x76\\x44\\x9f\\x7f\\xe9\\xb7\\x67\\xdf\\x14\\xde\\x3e\\x7a\\xfc\\xd4\\xaf\\x4f\\x0b\\x8f\\x3e\\xf4\\xa8\\xf6\\xf4\\xb1\\x63\\x0d\\x8d\\xbf\\x11\\x1e\\xda\\x73\\xe7\\x3d\\xf7\\x1f\\x14\\x8e\\x1c\\x3a\\xa2\\x3d\\xbd\\x75\\xef\\x5d\\xf7\\x1e\\x10\\x0e\\x6d\\xdc\\xb2\\x7d\\xc7\\x6e\\x41\\x97\\x16\\x8e\\xe8\\xfa\\x4d\\x5b\\x6f\\xdc\\x29\\xac\\x9e\\xb7\\x68\\xe9\\xf2\\x55\\x42\\xd5\\xac\\x2a\\xed\\xe9\\x9c\\xf9\\x8b\\x97\\xd5\\x09\\xb3\\xc6\\x4c\\x98\\x32\\x6d\\xa6\\x30\\x62\\xd8\\x08\\xed\\xe9\\xc8\\xb1\\x13\\xaf\\xbe\\x46\\x18\\x56\\x56\\x5e\\x31\\x70\\xa8\\xa0\\x4b\\x2d\\x47\\xb4\\xa4\\x77\\x3f\\x65\\x90\\x50\\x94\\x19\\xca\\x2f\\x08\\x0b\\xba\\xbc\\x72\\x44\\xd3\\x82\\x39\\x5d\\xba\\x0b\\x7e\\xc9\\x64\\x73\\xf9\\x04\\x5d\\x52\\x99\\xa2\\xbc\\xc1\\x6c\\x77\\x0b\\xe8\\x9f\\x4d\\x2d\\x4f\\xd3\\xca\\x3d\\x2e\\xfc\\xf0\\xfd\\x0f\\xf0\\xe6\\x78\\xf4\\xc7\\x7f\\x35\\x3f\\x8d\\x11\\xc4\\xf1\\x09\\xdf\\xbf\\xfd\\xd0\\xa1\\xd5\\xb3\\x86\\x15\\xf9\\xd1\\xf7\\xdf\\x23\\x7f\\xd1\\xb0\\x59\\xab\\x0f\\x3d\\xf4\\xb6\\xb1\\x11\\x1b\\x14\\xf9\\x83\\x4f\\x3e\\xfb\\xf2\\x1b\\xe1\\x9d\\xf7\\xdf\\x81\\x34\\xa7\\xa2\\x1f\\x7f\\xfa\\xc5\\x5f\\xbf\\x13\\xde\\xbf\\xc2\\xd5\\xca\\x21\\xa0\\xc0\\x4c\\xd8\\x00\\x17\\x8f\\xa2\\xd8\\x8c\\xed\\xd8\\x8d\\xfd\\x38\\x0d\\x9e\\xb2\\x0e\\xa1\\xbe\\x87\\xd4\\x1f\\xd6\\x03\\xed\\x44\\x9c\\xaf\\xdd\\x56\\xd3\\xff\\xed\\xef\\x2f\\x17\\x71\\xff\\xf3\\x1f\\x3a\\xf3\\xea\\x09\\x95\\x75\\x72\\x09\\xff\\x3f\\x3c\\xcf\\x6d\\xf7\\x2c\\x2e\\x54\\xf3\\x3b\\xb9\\xa4\\xcb\\xc0\\xf1\\xfd\\xc2\\xf8\\xf8\\x17\\x3e\\xa7\\x82\\xb3\\xed\\x7f\\x13\\x08\\xe3\\x73\\x6d\\xff\\x9b\\xe7\\xfe\\x2f\\x62\\x31\\x31\\x9d\\x88\\x03\\x92\\x99\\xbb\\xbb\\x43\\xbc\\xea\\x0e\\xc0\\x3a\\xe2\\xd5\\x31\\x4e\\x53\\xcb\\xff\\x04\\x07\\x5d\\xe8\\xcf\\xee\\x20\\xfa\\x67\\x5d\\x46\\x0d\\x5c\\xf6\\x79\\x65\\xeb\\x47\\x53\\x0f\\x33\\x92\\x94\\x44\\x65\\x92\\xaa\\x68\\xa3\\x30\\x66\\x27\\xab\\x0d\\xed\\x83\\x7a\\x33\\x7b\\x92\\xea\\x8e\\xc1\\x68\\x38\\x1a\\x85\\xc6\\xa1\\x49\\x28\\x8a\\xa6\\xa3\\x4a\\x34\\x17\\x2d\\x40\\x4b\\xd0\\xb5\\x68\\x05\\x5a\\x83\\x36\\xa0\\xeb\\xd1\\x36\\x74\\x13\\xba\\x05\\xd5\\xa3\\xdb\\xd1\\x3e\\x74\\x1f\\x7a\\x00\\x1d\\x46\\x0f\\xa3\\xc7\\xd1\\x93\\xe8\\x04\\x7a\\x1a\\x3d\\x8b\\x5e\\x40\\x2f\\xa3\\xdf\\xa1\\x73\\xe8\\xf7\\xe8\\x8f\\xe8\\x5d\\xf4\\x21\\xfa\\x33\\xfa\\x1c\\x7d\\x85\\xbe\\x45\\x7f\\x47\\xff\\x40\\xff\\x8d\\x62\\x18\\x63\\x01\\xcb\\xd8\\x82\\x1d\\xd8\\x83\\x53\\x70\\x3a\\xce\\xe2\\x1c\\xca\\xa2\\xd4\\x39\\xab\\x0f\\x7f\\x26\\xbc\\xfc\\xb2\\x2e\\x74\\x46\\x2c\\xaa\\x7f\\xf4\\x7b\\xe1\\xf5\\xd7\\x87\\xcd\\xbf\\xf1\\xa1\\x7f\\x08\\xbf\\xcd\\x98\\xb5\\xee\\x81\\x4f\\x84\\x17\\x5e\\x08\\xcc\\x5d\\xf3\\xab\\xcf\\x85\\x17\\xc7\\x2c\\xdd\\x71\\xf4\\x1b\\xe1\\xfc\\xf9\\x91\\x8b\\x77\\x3d\\xf6\\x77\\xe1\\x6c\\xf6\\x35\\x1b\\xef\\xfb\\x40\\x78\\xf6\\xd9\\xcc\\xca\\xf5\\xfb\\xff\\x2c\\x3c\\x37\\x61\\xf9\\x9e\\xe3\\x5f\\x0a\\x6f\\xbd\\x35\\x76\\xd9\\xce\\x63\\xdf\\x0a\\x6f\\xe6\\x5d\\xbd\\x65\\xdf\\x3b\\xc2\\xd3\\x4f\\x87\\xa6\\x6f\\xba\\xfb\\x43\\xe1\\x99\\x7f\\xb6\\x3c\\x0b\\x9a\\xc9\\x86\\x83\\x20\\x59\\x7c\\xd8\\xa7\\xc8\\x13\\xeb\\xf6\\x36\\x7c\\x25\\xbc\\xdd\\xad\\xf9\\x59\\x10\\x6b\\x16\\x26\\x71\\x3c\\xd8\\xa3\\xd8\\xf3\\xa3\\x5b\\xef\\x78\\x57\\x38\\x59\\x44\\x65\\xa4\\x30\\x68\\xd0\\xbf\\x9e\\x03\\x19\\x67\\x00\\xb1\\x94\\x05\\x11\\xfc\\xd8\\xaf\\x98\\x4e\\xbe\\xfd\\xcc\\x9b\\xcf\\x9d\\x7d\\xf1\\xb7\\x9c\\x11\\x83\\x32\\x52\\xec\\x43\\xe7\\x6d\\x3f\\xf2\\xa3\\xf0\\xea\\xab\\x82\\x6c\\x71\\x78\\xa0\\xdb\\xda\\x88\\xb3\\x15\\x53\\x61\\x71\\xaf\\xbe\\x03\\xae\\x14\\x11\\x2a\\x88\\x3d\\x87\\x79\\x6c\\xc4\\xe9\\x90\\xdc\\x09\\x7f\\x21\\xc5\\xac\\xcb\\x59\\xef\\xc0\\xd7\\xde\\xf8\\x03\\x68\\xaa\\xe3\\xc2\\x2b\\xe4\\x15\\x66\\xd5\\x3d\\xfd\\xec\\x0b\\x2f\\x37\\x62\\xcf\\x09\\x81\\x34\\xfe\\xe6\\xf9\\x97\\x1a\\xb1\\xfb\\xb8\\x20\\x1c\\x11\\xd8\\x2b\\xe5\\xd1\\xa3\\xc7\\x41\\x29\\x9e\\x10\\x8e\\x54\\x3c\\xf2\\xc4\\x53\\xa0\\x29\\x8f\\x0b\\x0f\\x8a\\x0f\\xb2\\x57\\xfb\\xee\\x7b\\xe0\\x70\\x23\\xb6\\x9c\\x10\\x44\\x50\\x16\\x87\\xa8\\x63\\x79\\x41\\xde\\x2e\\xb3\\x57\\xfd\\x76\\xd4\\x83\\x56\\x92\\x4e\\x08\\xdb\\xcb\\x6f\\xbe\\x15\\xb4\\x92\\x78\\x5c\\xb8\\xc1\\x78\\x03\\x7b\\xb5\\x7a\\xdd\\xc6\\x2d\\x4c\\x0d\\x1a\\x57\\xad\\xbd\\x6e\\x33\\xe8\\xc6\\xe3\\x82\\x65\\x9e\\x45\\x53\\x04\\xbd\\x41\\xb3\\xb4\\x08\\xf3\\xca\\x16\\xd6\\xd4\\xaa\\x42\\xb5\\xb5\\x5a\\x7b\\x7a\\xf5\\x35\\xb3\\xe6\\x34\\x0b\\x56\\x50\\x2f\\x55\\x4d\\x82\\x63\\xa8\\x43\\x57\\x25\\x23\\xc6\\x4c\\xf8\\xa7\\x30\\x34\\x72\\xd5\\xe8\\xf1\\x3f\\x09\\x43\\x9c\\x43\\x18\\xf0\\x77\\x40\\xea\\x37\\xe2\\xb4\\x13\\x82\\xf3\\xc2\\xfb\\x1f\\x7f\\x0a\\x8a\\xf5\\xb8\\xe0\\xf9\\xd1\\xc3\\x5e\\x15\\x7d\\xf9\\xcd\\xf7\\xa0\\x30\\x95\\x34\\xe1\\x47\\x72\\x44\\xdc\\x6e\\x9c\\x67\\x1d\\xea\\xfc\\xf1\\x47\\xe7\\x50\\xeb\\x3c\\xe3\\x76\\xf1\\x08\\x31\\x7a\\x07\\x81\\xb6\\x04\\xa5\\x7d\\x5c\\x78\\x15\\xbf\\x0a\\x29\\x4e\\x46\\xb1\\x1a\\x06\\xa5\\x01\\xca\\x15\\x54\\x8f\\xf7\\x07\\xa6\\x46\\x52\\x33\\xb2\\xf3\\xba\\x09\\x5e\\x14\\xd7\\x0a\\x6c\\xb9\\xda\\xff\\x6b\\xe5\\xe0\\xb7\\xbf\\xe2\\x2b\\xd6\\x1c\\x78\\xfd\\x3f\\xd3\\x10\\xd0\\xbb\\x8a\\x94\\x86\\x3a\\xb9\\x22\\x9e\\xce\\xae\\x90\\x27\\xe2\\xe8\\xe4\\xc2\\xed\\x22\\xfa\\xe0\\x59\\x7e\\xd2\\x25\\xb5\\x7b\\x2f\\xc0\\xb3\\xb2\\xe4\\x7b\\xb8\\xb2\\xe0\\x92\\x4a\\x43\\x9e\\x5c\\xf8\\x75\\xc1\\x6f\\x28\\xe9\\x6a\\x9f\\xfe\\xdf\\xbe\\x6f\\x97\\x3f\\x6e\\x7f\\xaf\\xe3\\x48\\xd3\\xa5\\x63\\xc8\\x57\\x87\\xd9\\xe6\\x17\\xde\\x73\\x70\\xf1\\x6f\\x34\\x15\\x57\\xb7\\x7e\\xe6\\xb5\\xfe\\x25\\x7f\\x9a\\xee\\x8a\\x3f\\x4e\\x16\\xc9\\xfa\\xb3\\x58\\x4b\\x3c\\x5d\\xf3\\xd9\\x79\\x38\\x02\\x72\\x19\\xec\\xf1\\x04\\xa8\\x44\\xc2\\xf6\\xf7\\xad\\x80\\x08\\x4e\\x12\\xe9\\xe4\\x1c\\x7b\\x37\\x8f\\xfe\\xd3\\xd8\\xec\\xa2\\xdf\\xb1\\x7d\\x38\\xbb\\x92\\xfe\\x87\\x66\\xe1\\xac\\xd9\\xec\\x3f\\x49\\xec\\xbe\\x30\\x5b\\xfd\\x78\\x96\\xfa\\xa1\\xf6\\x3f\\x03\\xbe\\xc5\\x85\\xf1\\x57\\xcf\\xb7\\xd7\\x0f\\xcf\\xc7\\x03\\x67\\x5a\\xd3\\xab\\x1f\\x77\\x10\\xff\\xad\\x8f\\x12\\xb1\\xc4\\x73\\x71\\x91\\x9f\\xad\\x07\\x20\\x57\\xc8\\xa0\\x92\\x01\\x3d\\xa3\\x81\\x99\\xad\\x25\\xd5\\xa2\\x43\\x44\\x36\\xc6\\xb0\\x0a\\xad\\xe0\\x27\\xf3\\x13\\x35\\x5f\\xe3\\x02\\x6a\\xeb\\x6b\\x3c\\xcb\\x91\\xb5\\x8a\\xfb\\xb8\\x39\\x8b\\x9f\\xd8\\x9c\\x85\\xa8\\xdf\\x51\\xc4\\xbf\\xce\\xff\\x8e\\xf5\\x3d\\xa8\\x97\\x3e\\x42\\x64\\x81\\xe3\\x0c\\xfa\\x2a\\xc8\\x70\\x24\\x69\\x0e\\x96\\x26\\x75\\x39\\xb2\\x1c\\x84\\xff\\x5d\\x53\\xd9\\x48\\xbe\\x27\\xfd\\xe1\\x37\\x34\\x9d\\xe7\\x7b\\x22\\x8c\\xe7\\xe3\\x8d\\xdc\\x1c\\x6e\\x1d\\xc0\\x49\\xa5\\xfe\\x1b\\x31\\xf5\\xd9\\x69\\x67\\xf0\\xc3\\xe7\\xa6\\x27\\xd6\\x2e\\x50\\x8f\\x83\\x73\\x54\\x1e\\x37\\xe3\\x8d\\xb8\\x99\\xcd\\x2f\\xb4\\xa6\\x93\\x50\\x1f\\x85\\xce\\xf9\\x48\\x18\\x1b\\x64\\x24\\x81\\x58\\x53\\xcc\\x51\\x06\\x44\\xe6\\x10\\x21\\x22\\x3c\\x78\\x32\\x4a\\xd8\\x72\\x14\\xfb\\x4b\\xda\\xa6\\xb9\\xd6\\xc5\\x66\\xba\\x2b\\x43\\x0d\\xf8\\x48\\xf5\\x5e\\x0a\\x5f\\x1d\\x8b\\x67\\xab\\xfb\\xd9\\x7a\\xe9\\x21\\xfc\\xcb\\x24\\xfb\\xb2\\xf4\\x30\\xf0\\xcf\\x36\\x0d\\x24\\xd9\\x6a\\x0e\\xdd\\x7b\\x8b\\x8a\\xf9\\x67\\xf9\\x27\\x00\\x6f\\xcf\\x29\\xba\\x64\\x05\\x71\\x38\\x11\\xdb\\xd1\\xa7\\x67\\x51\\x99\\x8c\\x6d\\xe4\\x6a\\x32\\xb9\\x98\\x5f\\xdf\\xb4\\x95\\xae\\xdb\\x6b\\xf9\\x1c\\xe8\\xf7\\x18\\xc4\\x07\\xd8\\x3c\\x75\\xb8\\x9b\\x04\\x5b\\xc6\\x25\\xfc\\x9d\\x4d\\x0b\\xf8\\xc7\\x62\\xfb\\x63\\xf7\\x20\\x7d\\x6f\\xef\\xe7\\x00\\xbf\\x52\\x87\\x0f\\xb8\\xb4\\x83\\x2f\\x13\\xfe\\xd9\\xd8\\x23\\xb1\\x87\\xf8\\xca\\xa6\\xad\\xfc\\x7a\\x2d\\x0d\\x81\\x34\\xfb\\xf4\\x3c\\xda\\xa6\\xa0\\xf3\\x90\\x98\\xdf\\x47\\xb3\\x68\\xea\\x43\\xe6\\xea\\xeb\\x9a\\xa2\\xc2\\x01\\x24\\x20\\x19\\x8d\\x55\\xba\\xf0\\x9c\\x88\\xb0\\xc8\\x19\\x0c\\x50\\xad\\x12\\x9d\\x17\\x34\\xc9\\x02\\x91\\x24\\xce\\xc0\\x89\\xc7\\xa2\\x36\\x0e\\xcb\\x74\\xb5\\xea\\x31\\xe6\\xac\\x3c\\x69\\x2b\\x62\\xff\\x70\\x24\\x92\\xbc\\xfc\\x4b\\xf3\\xf7\\x41\\xbd\\x6f\\xca\\x38\\x22\\xf3\\x64\\xd7\\x78\\xb5\\x0c\\xff\\x6e\\x3c\\x7e\\x5d\\xb5\\xaa\\xfb\\xf1\\x6c\\x3c\\x8b\\x9c\\x27\\xbf\\x8f\\xf5\\x24\\xa5\\xb1\\xd7\\x63\\x2f\\x92\\x01\\x74\\x5d\\xd1\\x41\\xf4\\x2b\\xbe\\x1b\\xdf\\x95\\xf9\\x62\\x29\\x52\\x8c\\x7e\\x83\\xc1\\x8e\\x50\\x30\\xcb\\xec\\x86\\x6a\\xa4\\x9b\\x27\\x79\\x3e\\x8d\\x55\\x68\\x62\\xd7\\x5c\\x72\\x75\\xba\\xe2\\x6b\\x14\\xa9\\x43\\x95\\xec\\x42\\x5c\\xe6\\xa6\\xab\\xee\\x06\\x60\\xba\\x17\\x27\\x94\\x6d\\xc5\\x07\\x57\\xff\\x7e\\xcd\\xda\\x3f\\xac\\x59\\xf3\\xfb\\x75\\x6b\\xdf\\x5c\\x3d\\x79\\xf6\\x91\\xaa\\xd9\\x0f\\xcf\\x99\\xfd\\xe8\\xec\\xca\\x87\\x67\\x93\\x39\\xf4\\xf9\\x5b\\xf0\\x6a\\xf5\\xea\\x37\\xd7\\xce\\x7e\\xb8\\x72\\xd6\\x23\\xb3\\xe1\\xcd\\xec\\x87\\x29\\x23\\xcd\\x47\\x93\\xf9\\xb9\\xfc\\x78\\xe0\\x34\\x1b\\xdb\\x67\\x95\\x0f\\x7d\\xeb\\x32\\xe8\\x57\\x0f\\x85\\x3e\\xf5\\x14\\xe8\\x4f\\xcf\\x83\\xbe\\xf4\\x2a\\xb4\\x11\\x2c\\x8c\\xde\\x63\\xe7\\xcf\\x9f\\xb8\\xb8\\xf7\\xea\\xd5\\xfd\\xd6\\x77\\x59\\xb6\\xac\\x7b\\x5d\\x70\\xd6\\xac\\x9c\\x39\\x86\\x61\\xc3\\xcc\\x23\\x91\\xa2\\xf0\\x83\\xec\\x45\\x45\\xee\\x92\\x92\\x41\\x23\\xe7\\xd4\\xad\\x5f\\x2c\\xf9\\xaf\\xbe\\x26\\xcd\\x7f\\x8d\\x7f\\xd3\\xf5\\xa3\\x57\\xd6\\xae\\x6c\\xc4\\x29\\x27\\xa3\\x57\\xd5\\x0e\\xb9\\x6e\\xed\\x75\\x2c\\x78\\xe5\\xda\\x5e\\x35\\x0b\\x6b\\x58\\xb0\\x78\\x61\\xc6\\x8c\\xa9\\x33\\x58\\x30\\x75\\xaa\\x77\\xf2\\xf8\\xc9\\x2c\\xe8\\x1c\\x2f\\x0e\\xe8\\x3b\\x80\\x05\\x49\\x5f\\x6b\\x61\\xb7\\x42\\x08\\x2a\\xde\\xa8\\xb1\\x5b\\xed\\xda\\x85\\x53\\xc7\\xf7\\xed\\xd6\\xad\\xef\\xf8\\xa9\\x0b\\xd7\\xd6\\x4a\\xb3\\xf3\\x66\\x57\\xb3\\xad\\xa3\\xb3\\xf3\\xf2\\xb2\\x21\\xf0\\x54\\x34\\xcf\\xce\\xe6\\x86\\xec\\x2f\\xb5\\x7a\\x31\\xd0\\x86\\x8e\\x92\\x76\\x63\\xff\\xfc\\x77\\xa2\\x82\\xdb\\xfa\\xd9\\xbb\\xcc\\x17\\x5d\\x1e\\x1b\\xca\\x2e\\x2d\\x89\\x14\\xe7\\xeb\\xbf\\x2e\\xfd\\xd7\\xa7\\xff\\xc6\\xdf\\x4b\\xed\\xee\\xdb\\xff\\xb6\\x7f\\xdf\\xfe\\x3e\\xb7\\x1d\\xfc\\x78\\x7e\\xdc\\x47\\x25\\xbd\\x7b\\x97\\xec\\xa5\\x5f\\xff\\x2c\\x2b\\x2d\\x2b\\xcd\\xa1\\x21\\xb5\\xac\\x17\\x7c\\x1e\\x2f\\x2b\\x2d\\x2d\\x23\\xe3\\xe9\\x77\\x2c\\x95\\x3e\\x20\\x5b\\x12\\x71\\x63\\x4f\\x94\\xf4\\xee\\xd5\\x8b\\x45\\xc6\\xbf\\xa5\\xef\\xd4\\x6b\\xe8\\xf7\\x3f\\x69\\xe4\\xbd\\x34\\xc4\\xdd\\x01\\x5f\\xdd\\xe1\\x4e\\x7d\\xab\\xac\\xac\\xf4\\x53\\xb8\\xc1\\x7b\\x20\\x30\\x95\\x02\\x5b\\x05\\x5f\\xf8\\xe9\\x5e\\x91\\x3e\\xb1\\x41\\x10\\xda\\x57\\x52\\xd2\\x9b\\xa4\\xe9\\x91\\x54\\x0e\\x02\\x9f\\xd1\\x64\\x7f\\xec\\x5d\\xd2\\xbb\\x1b\\x04\\xa0\\xad\\x3e\\x81\\x6e\\xe2\\x33\\xb9\\x4b\\xc8\\x82\\x5c\\x27\\x79\\xa3\\xd1\\x6a\\x93\\xa0\\xb1\\x9e\\x4b\\x08\\x40\\xc6\\xd4\\x28\\x94\\x8d\\x4a\\x81\\xc5\\x49\\x75\\xcd\\xbb\\xb5\\xaa\\x7a\\xea\\xa4\\xaa\\x2e\\xbd\\xc0\\x5d\\xaa\\x7b\\x6f\\xe1\\x29\\x55\\xc5\\xdc\\xc9\\xc5\\x7f\\x5c\\xc5\\xd6\\xe6\\xe5\\xd2\\x73\\x56\\x78\\xea\\xdb\\xd5\\x45\\x65\\x33\\x6f\\x06\\x81\\xe4\\xc1\\x6e\\x3b\\x74\\xaf\\x01\\x66\\xf8\\x5c\\x62\\x6e\\x8e\\xae\\xc9\\xcb\\x72\\xe0\\x76\\xad\\x24\\x97\\xdf\\xd2\\xcc\\xaf\\x7c\\x7d\\xd5\\xca\\x73\\x2b\\x57\\x9e\\x85\\xef\\x15\\xfc\\x96\\xa6\\x0d\\xe4\\x8a\\x95\\x67\\x57\\x42\\x18\\x1e\\xae\\xa2\\x5e\\x73\\x93\\xf3\\x08\\x31\\x0f\\xab\\x6e\\x73\\x9a\\x3b\\x0d\\x72\\xca\\xc5\\x39\\x86\\x20\\xb6\\xfb\\x21\\xaf\\x0f\\xdf\\x80\\xff\\x76\\x13\\xd6\\x2c\\xc7\\x76\\xed\\x34\\xbf\\x13\\x0c\\xc6\\xcd\\x7e\\xa4\\xb2\\x12\\x1a\\x21\\xfb\\x1e\\xd5\\x11\\x9d\\xc4\\x3b\\xf8\\x4e\\x46\\x0d\\x74\\x43\\x0d\\xde\\xc6\\xcd\\xe0\\x56\\x00\\x2d\\x53\\xa8\\x6e\\xb0\\x22\\xe4\\x96\\xa4\\xd4\\x00\\xe7\\xd3\\x75\\x03\\x67\\xe7\\x40\\x37\\x70\\x46\\xa3\\x83\\x89\\x12\\xe3\\x65\\x74\\x03\\x5b\\x10\\xa8\\xf9\\x4f\\xf3\\xb5\\xd9\\x48\\xcc\\xcd\\xb8\\xb3\\x72\\xd0\\xb2\\x41\\x7b\\xe6\\xce\\x1b\\x7a\\xd5\\xc8\\xea\\x21\\x43\\xaa\\x67\\x5f\\x35\\x6a\\x26\\xd9\\xb0\\xe8\\x96\\x2b\\x6a\\x07\\xcf\\xab\\xbf\\x6a\\xe8\\xbc\\x21\\xd5\\xd5\\x43\\x86\\xce\\x5d\\x40\\xfd\\xe4\\x04\\x10\\xe1\\x9f\\xe4\\xef\\x62\\xf2\\xac\\x00\\xa4\\xc6\\x60\\xb4\\x5e\\x71\\xe7\\x05\\xbb\\x17\\x57\\x14\\x07\\x07\\xf3\\x08\\xe4\\xdb\\x50\\x10\\x70\\x43\\x06\\xf4\\x6e\\x6c\\xf9\\xe4\\x94\\x6c\\x19\\xd6\\xbb\\x77\\x79\\xf9\\x15\\xcc\\x6a\\x2e\\xed\\x1a\\xea\\x4a\\x27\\x36\\xec\\xd1\\x70\\xa8\\x5c\\x31\\xdb\\x87\\x95\\x87\\xca\\x43\\x50\\x99\\x54\\x12\\x3e\\x15\\x65\\x62\\x10\\x7e\\xcc\\x28\\x7c\\xb6\\xa0\\xd5\\x1b\\xb1\\xd6\\x42\\x75\\xc9\\xd8\\xaa\\x84\\x75\\xa7\\x0a\\x54\\x42\\x6a\\x3b\\x87\\x3d\\xfa\\x4e\\xe2\\xf6\\x12\\xb2\\x4c\\xdf\\x1a\\x4e\\xf7\\x78\\xe4\\x26\\x85\\xb1\\xbe\\xef\\x93\\x91\\x24\\x3f\\x70\\x1f\\xb6\\xef\\xdf\\x8f\\x6d\\xfb\\xef\\x53\\xbf\\xdf\\xbf\\x5f\\xfd\\xfe\\xbe\\x8a\\x9d\\x3f\\xdc\\xb2\\xf3\\x87\\x9d\\x3b\\xff\\x0b\\xbe\\x6f\\xf9\\xa6\\x6b\\x7a\\x7a\\xb7\\x6e\\xe9\\xe9\\x5d\\xf1\\xf1\\x78\\x48\\x9d\\xdf\\x77\\xc3\\xe8\\xb1\\xeb\\xfb\\xf4\\x5d\\x76\\x7e\\xe8\\xf2\\x29\\x85\\x64\\xd4\\x7e\\x6c\\xbf\\x2f\\x9e\\x98\\x02\\x83\\x64\\xb7\\xfc\\xb8\\x83\\xa6\\xff\\xd1\\xa2\\x25\\x89\\x27\\xed\\xaa\\xfe\\xd7\\xe8\\xbe\\xe5\\xa3\\x7a\\x3e\\xd9\\x65\\xd0\\x60\\xc4\\x27\\xd1\\x33\\x00\\x72\\xb8\\x14\\xcd\\x56\\x5c\\x69\\xd9\\x5e\\x7b\\x17\\x7b\\x76\\x21\\x6f\\x40\\x86\\x32\\xd4\\x2b\\xd3\\x95\\xe2\\xd2\\xe6\\x2e\\x73\\x53\\xc2\\xa5\\xa5\\xc5\\xc5\\xdd\\x69\\xaf\\xc5\\x13\\xb5\\xa5\\x60\\x1b\\x50\\x7d\\x4c\\xf1\\xd2\\xe2\\x8d\\xc5\\x42\\x4a\\x71\\x4a\\x31\\x25\\xde\\x4b\\xcc\\x15\\x85\\xbe\\x73\\x3e\\x2e\\xe0\\x34\\x8e\\xbd\\x1c\\xcd\\x98\\x6b\\x01\\x7d\\xdf\\x8b\\x90\\x14\\xc6\\xec\\x6c\\x45\\xcd\\xd3\\x50\\x47\\x12\\xe1\\x82\\x4e\\xc8\\x52\\xd8\\x63\\x4a\\xed\\xf0\\xf3\\xcb\\xfa\\x02\\x75\\xc6\\x6c\\xe8\\xd3\\x81\\x2c\\xb8\\x57\\x12\\x1d\\xe8\\xaf\\xba\\x7d\\xd0\\xa0\\xae\\x4f\\xf6\\xa4\\x04\\x81\\x76\\x9e\\xda\\x72\\x03\\xff\\x14\\x9f\\x01\\x74\\x88\\xa0\\x99\\x8a\\xab\\x4b\\x4e\\x56\\x16\\x57\\x68\\xb1\\xdb\\x7d\\xa2\\x98\\xca\\x71\\x25\\xa5\\xbe\\x02\\xe0\\x11\\xe8\\x39\\xf9\\x7c\\xf6\\xac\\x9c\\x2c\\xc6\\x2f\\x62\\x4f\\xad\\x0d\\x70\\xcb\\x44\\x2c\\x8a\\x96\\xcc\\x1c\\x9c\\x83\\xc2\\xd3\\x23\\x11\\xb8\\x0a\\xe2\\x13\\x0b\\x05\\xc9\\x8e\\xc7\\x23\\xfa\\xca\\x01\\x97\\xaf\\x57\\x19\\x18\\xf6\\x5e\\x7a\\x14\\x0c\\xf3\\x57\\x23\\xd2\\x13\\x61\\x44\\xe6\\xe0\\x25\\x5f\\xca\\x2f\\x63\\x1e\\xbc\\x7a\\x95\\xe5\\xbb\\x92\\x08\\xf2\\xc9\\xa1\\x29\\xf3\\x86\\x55\\x4f\\x39\\x1c\\x39\\x3c\\x44\\xfe\\xea\\x2b\\xe3\\x60\\x08\\x4c\\xa9\\x1e\\x36\\x6f\\xca\\xa1\\xc8\\xa1\\xc1\\xc6\\x2f\\xbf\\x94\\x87\\x1c\\xba\\xf7\\xf0\\xea\\xd5\\x87\\x8f\\xac\\x5c\\x79\\x84\\xdb\\x71\\x78\\xb0\\xf1\\xab\\xaf\\xe4\\x21\\x49\\x71\\x86\\xc8\\x5f\\x7e\\x69\\x1c\\x0c\\x01\\x0d\\x8a\\xba\\x76\\xe5\\x11\\x1a\\xf5\\x08\\xb3\\xff\\xfa\\xa1\\x21\\xdc\\xad\\xfc\\x5e\\xe4\\x45\\xd9\\xc0\\x03\\x5e\\x9f\\x57\\xb0\\xb9\\x5c\\xd8\\x9d\\xee\\x30\\x99\\x04\\x37\\x17\\xca\\x71\\x3b\\xbd\\xc8\\x4b\\x87\\x7f\\xa3\\x36\\x88\\x4e\\x52\\x69\\xb1\\x4d\\x51\\x2b\\xa4\\x34\\x73\\xc4\\x60\\x08\\xb2\\x96\\x6f\\x68\\x6d\\xf9\\xc5\\x3a\\x07\\x14\\x24\\x1d\\x9e\\x90\\x54\\x7c\\xe8\\xa1\\xc4\\x5d\\x29\\x52\\x27\\x80\\xd4\\x6b\\x22\\xed\\xf6\\x24\\x97\\x16\\x5f\\xfd\\x75\\xed\\xde\\xa3\\xeb\\xd6\\x1d\\xdd\\x5b\\xfb\\xf5\\xd7\\xc3\\xbe\\xee\\xbe\\x75\\xc6\\xcc\\x2d\\x5b\\x67\\x4c\\xdb\\x8e\\x57\\xbf\\x66\\x7d\\x64\\xd9\\xba\\xa3\\x47\\xd7\\x2d\\x7d\\xc4\\xf6\\xda\\xb0\\xaf\\xbf\\x26\\x7d\\x67\\x6c\\xbd\\xe1\\x9a\\xe9\\xdb\\x36\\x53\\x59\\x7d\\x08\\xd5\\xf2\\x3c\\xf7\\x07\\xe4\\x41\\x59\\x68\\xb1\\xe2\\xf7\\x22\\x8b\\x68\\x30\\x98\\x4d\\x26\\xab\\x80\\xd2\\xec\\xc8\\x9e\\x1d\\x12\\xac\\x9c\\xcb\\x95\\x42\\xd1\\x4f\\x89\\x16\\xb9\\xb0\\x8b\\x13\\x2d\\x26\\x49\\xb1\\x19\\x32\\x0d\\x61\\x03\\x27\\x83\\x85\\xc6\\x71\\x99\\xac\\x30\\x1c\\x6a\\x75\\x04\\x91\\x7a\\xee\\x6c\\x9f\\x3e\\xf6\\x97\\x5a\\x9d\\x1b\\xb2\\xbd\\x2a\\xcc\\x95\\x40\\x62\\x43\\x25\\x93\\x6b\\x38\\x8c\\xb3\\x7c\\x8e\\x30\\xc6\\x7a\\x3b\\x2f\\x4b\\x2a\\xd0\\xa1\\xa3\\xeb\\xaa\\xc7\\x61\\x7c\\x91\\xe0\\x11\\xbe\\x32\\xb7\\xda\\xa2\\xd0\\xc2\\x0d\\x4b\\x14\\xeb\\xde\\x75\\x47\\x15\\x8c\\xdd\\x65\\x3e\\xf5\\x04\\xb9\\xa8\\xb6\\x8c\\xab\\xa6\\x45\\x4c\\x94\\x8c\\xda\\x9f\\xd5\\xd4\\xcf\\x2c\\xff\\x28\\x94\\xac\\x48\\x49\\x35\\x7b\\x44\\xbb\\xc7\\x11\\x10\\xb2\\x43\\xb2\\xdf\\xec\\xf1\\x64\\xfa\\xc3\\xfe\\x0a\\x3f\\xe7\\xf7\\xdb\\xa9\\x51\\xda\\x27\\x3c\\x5d\\xdf\\x75\\xcc\\x08\\x4f\\x85\\xaf\\xd7\\x47\\xf5\\x03\\xdb\\x4f\\x0d\\x38\\x79\\xb2\\x4a\\x01\\xad\\xf8\\x0e\\x9b\\x32\\x10\\x58\\x64\\xd3\\xae\\x25\\x9b\\x17\\xdc\\x58\\xd5\\x6f\\x6b\\xee\\xd1\\xfa\\x58\\xb0\\xfe\\x68\\xde\\xd6\\xf2\\x39\\xdb\\xab\\x6e\\x5c\\xb2\\x8b\\x7f\\x74\\xf2\\x1f\\x27\\x57\\xdf\\x39\\x66\\xf1\\xe6\\x3e\\x05\\xdb\\xee\\xec\\xdd\\xfb\\xce\\x6d\\x05\\x7d\\x36\\x2f\\x1e\\x75\\xdb\\x92\\x49\\x17\\x26\\x31\\xbc\\x2a\\x01\\xaf\\x45\\x80\\x57\\x37\\x8a\\x97\\x23\\xd5\\xe4\\x49\\xf5\\x06\\x85\\x82\\xee\\xd6\\x74\\x47\\x6a\\x6a\\x66\\x7a\\x38\\xbd\\x22\\x9d\\x4b\\x4f\\xf7\\x74\\x8e\\x17\\xd3\\x5a\\xa2\\x54\\x16\\x17\\x8c\\x1d\\x91\\x8b\\xf8\\x28\\xa7\\x50\\x2d\\x3d\\x69\\xfd\\xa0\\x81\\x91\\xb2\\xed\\x0f\\xdd\\x58\\xd5\\xff\\x46\\x1d\\xc9\\x9c\\xed\\x15\\x73\\xb6\\x3f\\xb4\\xbd\\x2c\\x32\\x70\\xd0\\x7a\\xfe\\xd1\\xfe\\x4b\\x94\\x81\\xdb\\x72\\xb8\\x9b\\xae\\x5d\\xbc\\xb9\\xbc\\xab\\x86\\x6a\\xd7\\xf2\\xcd\\x8b\\x6b\\x6f\\xe4\\x72\\xb6\\x0d\\x54\\x96\\xf4\\xa7\\x34\\x6c\\x69\\x01\\x1a\\xce\\x47\\xa9\\xf4\\x8c\\x20\\xb7\\xc5\\x2c\\xf0\\x81\\x34\\x99\\xd9\\xf1\\x14\\xa5\\x9e\\x45\\x42\\x49\\x5e\\x3e\\x29\\x2d\\xd1\\x1c\\xc6\\x46\\xe2\\x6a\\x95\\xb3\\x12\\x0f\\x19\\xb9\\x6a\\xeb\\x5f\\x07\\xd6\\x2a\\xd1\\xfa\\x0c\\x31\\xe3\\xb6\\xab\\x95\\xda\\x81\\x7f\\x5d\\x1c\\xed\\x85\\x07\\xfd\\x7e\\x3f\\x4e\\x7f\\x60\\x48\\xad\\xb2\\xa5\\x6a\\xce\\x66\\x65\\xf9\\xe0\\x07\\xd4\\x4f\\xb7\\xdd\\xb0\\xaa\\x27\\xa5\\xcb\\x56\\xc8\\x6b\\x18\\xf4\\x61\\x4c\\xb4\\xbf\\x20\\x9a\\x2d\\xd0\\xab\\x0a\\x87\\x13\\xdb\\xc0\\x9c\\xae\\x88\\xd3\\xe5\\x21\\x5c\\x88\\x6c\\xfd\\xef\\x4f\\xcd\\x9f\\xfe\\x37\\xfd\\x22\\x93\\x38\\x9c\\x46\\x5d\\xc0\\xab\\x9f\\x71\\xea\\x67\\xea\\x2b\\xb8\\x2f\\x5d\\x57\\x98\\x8a\\xfc\\xdc\\xc3\\x7c\\x35\\x4a\\x43\\x39\\x8a\\xcd\\x29\\x49\\x16\\x2e\\xc5\\x92\\x92\\x9e\\x21\\xba\\x8c\\x60\\x4c\\x87\\x23\\xe7\\xc2\\xed\\x7c\\x94\\x53\\xf5\\x93\\x97\\xef\\x68\\x3d\\x05\\xc5\\xe7\\x88\\xe8\\xd5\\x2f\\x71\\xee\\x50\\xd7\\x9a\\xa9\\x37\\x4e\\x1e\\x3c\\xed\\xa6\\x09\\x7d\\xbb\\xe5\\x99\\xd7\\x4c\\x19\\x55\\x56\\x84\\xed\\x79\\xcb\\xaf\\x98\\x7f\\x38\\x23\\xf6\\xc8\\xa0\\xaa\\x41\\xbd\\xaf\\x98\\xe3\\xe3\\x06\\xd5\\xad\\x8b\\x1e\\xae\\x1e\\x76\\x63\\x84\\xb6\\xa9\\x65\\x2d\\x7f\\xe0\\xfb\\x81\\x6d\\x42\\xe7\\xc2\\xae\\x53\\x46\\xa4\\x79\\x4d\\x26\\x47\\xba\\xc1\\x90\\xe2\\x48\\x09\\x66\\xdd\\x64\\xc4\\xc6\\xb4\\x1b\\xd3\\xf0\\xbc\\x34\\x3c\\x31\\x0d\\xa7\\xdd\\x24\\x63\\x39\\x3d\\x3f\\x1d\\x7b\\xd2\\x31\\x9f\\x8e\\xd3\\xfd\\x6b\\x32\\x6f\\xca\\x24\\x99\\xbe\\x55\\xbe\\xed\\x3e\\x32\\xd9\\x87\\x7d\\x7e\\x24\\x8a\\xee\\x9b\\x32\\x70\\x86\\xdf\\x5a\\xe1\\xc6\\x6e\\x90\\x95\\x80\\xfd\\x74\\x67\\x1f\\x30\\xa2\\x22\\xd4\\x75\\x00\\xfd\\x67\\xbf\\xfa\\x4f\\x52\\xc1\\x98\\xdc\\xc8\\x4d\\x94\\x48\\x68\\x53\\xbe\\x5c\\xb8\\xc3\\xb9\\xa5\\x02\\x37\\x43\\x2b\\x58\\xec\\xfb\\x78\\x11\\xc9\\xce\\x1b\\xd5\\xbe\\xc4\\x1e\\xfb\\xbe\\x3b\\x2b\\x19\\x3e\\x3e\\x2e\\xf6\\xe7\\x78\\x29\\x07\\xce\\x69\\x1e\\x3b\\xa8\\x8a\\xfc\\x6b\\xdc\\xea\\x71\\xb4\\x9c\\x77\\xb5\\xf4\\xe6\\x4b\\x84\\xb3\\xac\\x9c\\xab\\x15\\x45\\x34\\xd9\\x38\\x29\\xcd\\xc5\\x79\\x41\\xf8\\x13\\x89\\x04\\xb3\\x32\\x9d\\x3e\\x9f\\xcb\\x9b\\x92\\x6e\\x73\\x66\\x98\\xd3\\x52\\x31\\x6f\\xca\\x14\\x0c\\x66\\x67\\xba\\x97\\xb7\\x5b\\x0c\\x99\\x7c\\x2a\\x1f\\x90\\xed\\x96\\x80\\x2c\\x07\\x2c\\x76\\xde\\x2d\\x71\\x4e\\x54\\xf1\\xd2\\x2b\\x71\\x47\\x82\\xda\\x96\\x9d\\xd6\\x5d\\xb6\\xda\\x5f\\x71\\x18\\x87\\x35\\x53\\x4e\\x73\\xd4\\xcb\\x86\\xaf\\xa8\\xdf\\x43\\xea\\x54\\x50\\x2a\\x2d\\x63\\x57\\x04\\x0a\\x17\\x71\\x94\\x79\\x24\\x47\\x99\\x00\\x2f\\xf8\\x92\\xdf\\xce\\x52\\x1b\\x66\\xfd\\x16\\x3e\\xb3\\xf0\\x48\\xfa\\xab\\xbe\\xa3\\x36\\xe0\\x67\\xa3\\xd0\\xd9\\xee\\x7f\\x40\\xbd\\x07\\x0f\\x88\\xde\\x1f\\xc5\\xff\\xa0\\x5f\\x43\\xd5\\x4f\\x0e\\xe0\\x6b\\xd4\\xd7\\x21\\xac\\x9a\\xa2\\x9b\\xf0\\x3f\\x0e\\xa8\\x26\\xca\\x97\\x33\\x75\\x1f\\xda\\x1e\\xd0\\x72\\x3d\\x6d\\x26\\x97\\xcb\\xc0\\x5b\\x1c\\x0e\\xe4\\x46\\x20\\x24\\x9c\\x84\\x23\\xb3\\xa0\\x47\\x6a\\x15\\x25\\x71\\x56\\xd4\\x24\\xd9\\x24\\x10\\xf0\\x9c\\xc4\\x49\\x08\\x7a\\xff\\x2e\\x7d\\x07\\x28\\xa2\\x5b\\x26\\xfb\\x30\\xdf\\x94\\x1d\\x3b\\x32\\x74\\x2d\\x4d\\x31\\xf5\\xe9\\xc0\\x8c\\xd3\\x84\\xa3\\xe1\\xc4\\x72\\x9a\\x2c\\xcf\\xb7\\xbb\\xe0\\x73\\x1a\\x6f\\x53\\xd7\\xe3\\xad\\xea\\x3a\\x72\\x00\\x7f\\xb6\\x6d\\xef\\x36\\x7c\\x46\\xed\\x0f\\x3f\\x6a\\xe3\\xbd\\x6c\\x2d\\xed\\x7e\\x84\\xb8\\x42\\xa8\\x0b\\x17\\x1a\\xa4\\x84\\x00\\x47\\xde\\xe0\\xe2\\xc0\\xee\\xf4\\x50\\xfc\\xc6\\xea\\xf8\\x8d\\x05\\xfc\\x28\\x6a\\x32\\x46\\xd4\\xf5\\xaf\\xe6\\x50\\xac\\x2d\\x3a\\x89\\x1e\\x73\\x12\\x22\\x71\\x6f\\xc7\\xc4\\x5c\\x03\\x9f\\x06\\xfa\\x45\\xcc\\x90\\x35\\xc9\\x8e\\x7d\\x04\\x3f\\xb1\\x1f\\x29\\x8d\\x44\\x9d\\x46\\x01\\x34\\x5a\\xe9\\xe2\\x74\\xb9\\x2c\\x29\\x29\\x48\\x10\\x45\\x23\\x42\\x69\\xe9\\x5e\\xdb\\xac\\xa8\\xe8\\x75\\xc9\\x32\\x50\\xca\\x2b\\x7b\\x65\\x64\\xe2\\x50\\x4a\\x3b\\xd2\\xc4\\xd1\\xe8\\x70\\xb0\\x55\\xc4\\x91\\x0f\\x76\\x2f\\x3d\\x3b\\x1a\\x5a\\xa5\\x83\\x39\\xd8\\x8a\\xb0\\xed\\x79\\x94\\x30\\xa1\\xfc\\xc0\\x66\\xb2\\x68\\x62\\xde\\xe9\\xb4\\xd4\\xcc\\x54\\x71\\xf3\\xd4\\x59\\x59\\x69\\xe4\\x00\\x79\\x9a\\x2f\\x0a\\xcf\\x5f\\xcf\\x11\\x31\\xf6\\x94\\x10\\x2e\\xaa\\xad\\x15\\xd4\\x6e\\xf7\\x52\\x7e\\xf5\\xb0\\x73\\x1e\\x07\\x33\\xdb\\x6d\\xa4\\x92\\xef\\x77\\x8b\\xa2\\xc9\\x2b\\xd9\\xa1\\x5f\\x9d\\x96\\xee\\x17\\x66\\x46\\x7d\\xb2\\x51\\x9e\\x15\\x75\\x1b\\xfd\\xf0\\x27\\x99\\xcd\\x50\\x7b\\x66\\x4e\\x6a\\xe3\\x07\\x3d\\x6e\\xde\\xc6\\x15\\x9a\\x5e\\x6d\\xd8\\xdd\\xea\\x53\\xcf\\x91\\x55\\xcc\\x4b\\x25\\x59\\x21\\x56\\x7b\\xd4\\x05\\xce\\xcc\\x55\\x1f\\xd6\\xab\\x5f\\x9c\\xbe\\xe5\\x16\\x7c\\xf6\\x6f\\x98\\x7b\\x5e\\x6d\\xfc\\x09\\x4f\\x57\\x0f\\xaa\\xb7\\x3f\\xca\\x3d\\xb9\\xe1\\xa5\\x9a\\x98\\xca\\xcd\\xde\\x86\\x67\\xfc\\xf1\\x45\\xf5\\xe5\\x6d\\xbf\\xd3\\xcf\\x02\\xfb\\x15\\x3b\\xb3\\x70\\x30\\xeb\\xeb\\x8f\\x53\\xba\\xb9\\xbc\\x5e\\x7b\\x1a\\x42\\x26\\x8f\\xdb\\xed\\xb7\\xdb\\x45\\x13\\x17\\xcc\\x72\\xf9\\xd2\\x7c\\x33\\xa3\\x69\\x69\\x66\\x8f\\xd3\\x1c\\xa0\\x68\\x1a\\xb8\\x99\\x51\\x43\\x5a\\xeb\\xd2\\x4e\\xea\\x18\\xaf\\x8d\\xb3\\xf6\\xf8\\xbe\\xd5\\xe4\\x33\\xcc\\xf3\\x4a\\x75\\x87\\x3d\\x12\\x0e\\xc1\\x5f\\x49\\x57\\x0c\\xf7\\xbd\\x70\\x65\\xb8\\xa4\\x5f\\xf1\\x90\\x01\\xd7\\xef\\xc0\\x17\\xbf\\xfa\\xf1\\xd7\\xf7\\xe1\\x5b\\x3f\\x50\\x6f\\xfb\\x1b\\x51\\xd4\\x37\\xd5\\xef\\xb1\\xff\\xb6\\x3b\\x96\\x8c\\x1b\\x69\\xdf\\xef\\xd8\\x7b\\xa3\\xf0\\x87\\x17\\x1a\\x6e\\x3f\\x9b\\x1a\\x7b\\x94\\x54\\xe0\\x5d\\x1f\\xab\\xdd\\x36\\x31\\x9f\\x44\\x35\\xea\\xd5\\x7c\\x3d\\xf0\\x61\\x57\\x54\\x84\\x7a\\xa1\\x72\\xf4\\x88\\x32\\x37\\xbf\\x5b\\x51\\xdf\\x3e\\x1e\\xd1\\xdd\\xb5\\x6b\\x4f\\xce\\x62\\x2d\\x0f\\x15\\x16\\xfa\\x9d\\x06\\xb1\\x24\\x82\\x45\\xe4\\x72\\x51\\x67\\x6d\\x56\\x0e\\xf1\\xfd\\xfa\\x1b\\xfa\\x18\\x23\\xdd\\xf2\\xbb\\x8d\\x8d\\x96\\x84\\xcb\\xc3\\xe3\\xa2\\x92\\xd3\\x63\\x2b\\xcf\\x2c\\x27\\x29\\x5c\\x79\\xb9\\x3d\\x84\\xf3\\xbd\\xc1\\xc0\\xb8\\x68\\xd0\\xe3\\xc2\\x76\\xe3\\x58\\xb6\\xa3\\x9c\\x84\\x2d\\xbb\\x2d\\x2d\\x16\\xce\\x02\\x16\\x27\\x54\\x68\\x05\\x73\\x60\\xa6\\xf9\\x8e\\xa4\\x2b\\x4f\\x23\\xda\\x36\\x72\\xb0\\x39\\xe2\\x3d\\x12\\x67\\xb2\\x43\\x15\\x67\\x92\\x87\\x2a\\xdd\\xcd\\x5b\\x00\\x33\\xdd\\x1e\\x71\\x69\\xee\\x26\\x9c\\x59\\xc5\\x3e\\x57\\x84\\xf3\\x7a\\x1c\\xad\\x04\\xcb\\x0f\\x59\\x71\\x01\\xe6\\x5c\\x03\\x48\\x7f\\x2c\\x09\\x6e\\x9f\\xcb\\x8a\\x71\\x49\\xbe\\x54\\x56\\xf3\\xdc\\xa9\\x0f\\x7f\\x32\\x6c\\x2a\\x1a\\xb5\\xa6\\xc6\\xf4\\x9b\\x42\\xbc\\x75\\xce\\xb8\\x93\\xbb\\x7e\\x5f\\xdb\\xad\\x3c\\x35\\x6b\\xd0\\xd0\\x39\\xd3\\x44\\x71\\xf0\\xa9\\x2d\\xa6\\x86\\xef\\x2b\\xef\\x9a\\xb4\\x57\\xdd\\xae\\x1c\\x59\\xb7\\x98\\x58\\xac\\xa3\\xa6\\xa9\\x57\\xe3\\x47\\xae\\xfc\\xfa\\xa1\\x06\\x11\\x67\\x7a\\xc7\\x4f\\x75\\xe0\\x9c\\x14\\x7c\\xa7\\xda\\x7d\\x46\\xa3\\x5a\\x38\\x76\\x9c\\xb4\\xcc\\xbe\\x60\\xd9\\xfa\\x79\\xea\\x62\\x12\\xc0\\x33\\xf7\\x8d\\x8b\\x72\\x5f\\xce\\x0b\\xe3\\x55\\xb6\\x1a\\xac\\x0c\\xef\\xf2\\x04\\x1d\\x9d\\xbc\\x05\\xe8\\x3c\\x0f\\xe8\\x9c\\x06\\x3c\\xb2\\x4c\\xe9\\x22\\xa4\\xa7\\x07\\xbc\\x16\\xb3\\xcc\\x1b\\x7c\\x3e\\x31\\x23\\x85\\xf3\\x4b\\x7e\\x12\\xa0\\x5e\\x75\\x03\\xce\\x60\\x96\\x3f\\x90\\x6e\\x49\\xf1\\xf2\\xa0\\x3f\\x6c\\x8d\\xd8\\xa8\\x38\\xa2\\x6e\\xaf\\x84\\x33\\xcd\\xd4\\x13\\x7f\\x54\\x16\\x38\\x6c\\x63\\xae\\x4e\\xf5\\x05\\x8f\\x71\\xe7\\x92\\x15\\x6d\\x5c\\x20\\x25\\x39\\x17\\x64\\x1b\\x05\\x23\\x74\\x47\\x2f\\x50\\x87\\xce\\xac\\xc6\\xa9\\x93\\xcf\\x85\\x5c\\xc0\\x52\\x01\\x1c\\x7a\\xee\\x91\\xbe\\xab\\xb1\\xe5\\xa9\\x5d\\x4f\\x79\\x26\\xaa\\x8d\\xf9\\xeb\\x6e\\x38\\xf8\\xf0\\x83\\x1b\\x46\\xbe\\xbc\\xfb\\x87\\xd4\\x86\\x37\\xde\\xe0\\x1e\\xdb\\x85\\x53\\xd5\\xbf\\xe0\\xdb\\xd4\\x9a\\x5d\\xb1\\x14\\x25\\xfb\\xa6\\xc2\\x7c\\xf5\\x0a\\x92\\xd7\\x6f\\x02\\xb9\\x5f\\xed\\x81\\xdf\\xa2\\xb2\\xe4\\x57\\xea\\x7c\\xfe\\x04\\x6b\\xa7\\xe3\\x95\\x1e\\x26\\x49\\x32\\x98\\x79\\xde\\x46\\x30\\xb6\\x19\\x6c\\x76\\x87\\x49\\x04\\xc9\\x61\\xb2\\x9b\\x8e\\x99\\x38\\x17\\x67\\x32\\xf1\\x16\\xb0\\x41\\x9d\\x3c\\xf5\\x18\\xed\\x24\\x01\\x7d\\xd9\\x78\\x45\\x24\\xee\\x43\\x20\\x59\\x1d\\x6a\\xb8\\xe7\\x6a\\x2b\\x03\\xb5\\xd5\\xd5\\x70\\xf1\\x27\\x9e\\xdc\\x17\\xfb\\xe9\\xf4\\x69\\x62\\x3c\\x7d\\x20\\xf6\\x5b\\x7c\\x17\\x59\\x1a\\xab\\x17\\x06\\x53\\xd7\\xb8\\x4d\\xd3\\x00\\x97\\xa7\\x01\\x97\\x5d\\x8c\\xce\\x15\\x4a\\x30\\xcd\\xe3\\xf1\\x1a\\xe9\\x61\\x5c\\x5e\\x29\\x3d\\xc3\\x07\\x36\\xab\\x59\\x1a\\x17\\x35\\x7b\\x8c\\x01\\xce\\x31\\x96\\x76\\xeb\\xe9\\x8a\\xc9\\x38\\x03\\x56\\x74\\x38\\x5b\\x59\\x3f\\xfc\\x24\\xc2\\x10\\x28\\xd1\\x76\\x64\\x33\\x34\\x68\\x03\\x9c\\xdf\\xf7\\xe0\\x86\\x63\\x47\\x56\\x1c\\xdc\\xde\\x6d\\xd6\\xa4\\x8d\\xfb\\x1a\\x1a\\x24\\xcc\\x5d\\xbf\\xb0\\xea\\xe8\\x1b\\xb1\\xa7\\x62\\x9f\\x03\\x52\\x4f\\xd4\\x2e\\x2d\\x39\\x76\\x7b\\x6c\\xb3\\x70\\x56\\xbd\\xae\\xff\\x66\\xa3\\x66\\xdf\\xee\\x02\\xdc\\x5e\\x63\\x74\\x1a\\xa3\\x74\\xb1\\xc8\\xb2\\x11\\x49\\x56\\x9b\\x4d\\xc4\\x98\\x07\\x0d\\x64\\xe4\\xec\\x0e\\x83\\x45\\x42\\x16\\x24\\x5a\\x4d\\x9c\\xd1\\x29\\xe2\\x99\\x51\\xd1\\xc9\\x27\\x93\\x28\\xd9\\xb4\\x8c\\xb4\\x59\\x83\\x2e\\x63\\x86\\x25\\xd3\\xad\\xb4\\x3b\\x4a\\x6a\\xf1\\xb9\\x1d\\x4f\\x5e\\xa9\\xa6\\x1c\\x04\\x42\\xf5\\xfb\\x33\\x27\\xc7\\xee\\x64\\xb4\\xba\\xee\\x61\\xb5\\x00\\x88\\x35\\x93\\x3c\\x40\\xf1\\xf9\\x06\\xf0\\x99\\xc3\\xfc\\x91\\x8d\\x55\\xba\\x1a\\x45\\x51\\xb2\\xf0\\x26\\xb3\\x99\\xb3\\x5a\\xa9\\xe3\\x63\\x09\\xf0\\x11\\x8c\\xbc\\x85\\x9e\\x54\\x63\\x33\\x60\\xc9\\xc3\\x59\\x81\\xad\\x3d\\x38\\x81\\x50\\xc5\\xcf\\x21\\x84\\x93\\xb1\\x01\\xec\\xf8\\x39\\x07\\xc3\\xea\\x6d\\x5b\\x1b\\x1a\\xf0\\xfb\\x6f\\xa9\\xc3\\xf1\\xe2\\x4a\\x7a\\xc2\\x02\\xfe\\x61\\xb6\\xba\\x54\\x38\\xdb\\x5c\\x49\\x2c\\x6a\\x58\\x4d\\x65\\x34\\x1a\\x0e\\x38\\x6d\\x61\\x3e\\x0e\\xfa\\x29\\x99\\x46\\x9e\\x40\\xf7\\x4c\\x96\\x45\\x9e\\x6e\\xd9\\x65\\x87\\x08\\x48\\x1c\\x6f\\xe4\\x8c\\x33\\xa3\\x9c\\x53\\xc3\\x24\\xe1\\x5e\\x34\\x59\\x74\\xea\\x4b\\x9b\\xe9\\x5e\\x07\\x0f\\xce\\xe2\\xb7\\x3c\\xd9\\xbc\\x8a\\x2b\\x8e\\xf9\\xb8\\x17\\x9b\\xdf\\xe0\\x58\\xce\\xbb\\xf9\\xd4\\x7b\\x77\\x34\\x5d\\x84\\xfc\\x0e\\x41\\x7e\\x5d\\xf9\\xbe\\x90\\x5f\\x7f\\x25\\x53\\xc2\\x26\\x83\\x81\\x88\\x22\\x87\\x21\\x3f\\x63\\x40\\xe4\\x78\\x6e\\x6c\\x94\\xb7\\x61\\x09\\x49\\xc0\\x2f\\x1e\\x94\\x94\\x9d\\xbf\\xa2\\x6d\\x86\\x91\\x78\\x6e\\x50\\xe6\\x43\\xe4\\xf6\\xd8\\x1e\\xae\\x77\\x6c\\x21\\xf9\\xf5\\xc1\\x9b\\xb8\\xbc\\x1d\\x37\\x35\\xbf\\x17\\xfb\\x10\\xdf\\xa5\\xfb\\x81\\xfc\\x86\\x1f\\x2a\\x4c\\x45\\x56\\x94\\x82\\xfa\\x2a\\xe9\\x36\\xc9\\x4c\\xdc\\x6e\\xd0\\x68\\xa9\\x01\\x0b\\x67\\x04\\x1d\\x61\\x36\\xf2\\xbc\\x73\\x66\\x94\\xf0\\x2e\\x4c\\x35\\x59\\x44\\xf3\\x1c\\x86\\x92\\x9a\\x77\\x44\\x3b\\x9f\\xaa\\x14\\x5a\\x30\\x72\\xd8\\x11\\x48\\xbd\\xb2\\x08\\xb6\\x3b\\xa1\\x51\\x3b\\x40\\x10\\x12\\x7e\\xe8\\x73\\xd5\\x07\\x55\\xf5\\x3b\\xec\\xc0\\xd2\\x93\\x0b\\xb6\\x65\\x36\\xff\\xf0\\xe8\\xb1\\x7d\\x53\\xc7\\x1c\\x7d\\xf4\\xf0\\x88\\x99\\x78\\x19\\x1e\\x85\\xc7\\xe1\\x59\\xd7\\x8c\\x8a\\xcd\\x50\\xbf\\x53\\xbf\\x5b\\xc3\\x0d\\xd8\\xc4\\x0e\\x1e\\xc1\\x68\\x16\\xf5\\x87\\xca\\x8f\\x06\\x23\\xa9\\x87\\x62\\x91\\x0d\\x92\\x68\\x76\\x9b\\x0d\\x9c\\xc7\\xeb\\x24\\x20\\x82\\x4e\\x45\\x9d\\x76\\x83\\xcd\\x2c\\xd1\\x93\\x2a\\x98\\xc0\\x89\\x97\\x5c\\x3f\\x1a\\x87\\xea\\xa3\\x88\\xcb\\xeb\\xab\\xc0\\xcc\\x81\\xb2\\x8f\\xbf\\x21\\x90\\xd5\\xad\\xd8\\xa7\\x7e\\xf1\\x47\\x75\\xd5\\xf3\\x7f\\xb3\\xf4\\xb6\\xf7\\xdd\\xd5\\x6d\\xed\\xfc\\x09\\x03\\xb9\\x5f\\xd9\\xfb\\x0e\\x6a\\x3e\\xcb\\xf7\\x8d\\x29\\x5d\\x5e\\x2e\\x3d\\x89\\xdf\\xbc\\x69\\x43\\x57\\xba\\xf6\\x14\\x21\\xc1\\x0d\\x75\\x9e\\x05\\xb6\\x48\\x3e\\xe4\\x6c\\xb3\\x72\\x18\\x39\\x9d\\x1c\\xa8\\xc9\\x40\\x20\\x24\\x1b\\x0c\\xd9\\xc0\\x93\\x92\\xdf\\x9f\\x31\\x33\\xea\\x07\\xcd\\xe9\\x34\\x63\\x89\\xf9\\xfb\\x8b\\x24\\xfc\\x50\\x25\\x46\\xae\\x5a\\x5d\\xc7\\x6b\\xf3\\x08\\x26\\xea\\x2e\\x35\\xc4\\x51\\xe4\\x7a\\xb9\\xe8\\x77\\x00\\x6b\\x8e\\x48\\x34\\x8f\\xe1\\xdc\\x6f\\xdf\\x9c\\x3a\\x26\\x3d\\xb0\\xec\\xed\\xb7\\x9e\\x5d\\xe2\\xb0\\x67\\xdf\\x7c\\xb4\\x2a\\xa5\\x28\\x34\\xce\\x54\\x36\\x65\\x4c\\xea\\x00\\x6b\\x81\\xdf\\x99\\x9d\\x6f\\xc2\\x3b\\xf1\\xfc\\x5d\\x5b\\xd5\\x0c\\x61\\x70\\xf3\\xb3\\x37\\xfd\\xfe\\x01\\x32\\x55\\x5d\\x30\\x2f\\x86\\xa7\\x92\\x49\\x93\\xe7\\x17\\x99\\xa5\\xdd\\x62\\x9f\\xc1\\x8c\\x7e\\x1e\\x3a\\x78\\x07\\xf4\\xcb\\x85\\x32\\xf8\\x0c\\x92\\xdd\\xed\\xe2\\x31\\xf2\\x82\\xe9\\xcc\\xc9\\x99\\x99\\xf9\\x20\\x84\\xf2\\xd2\\xb2\\xa9\\x30\\xb7\\x46\\xd3\\xec\\x3c\\x58\\xa4\\xb2\\xcd\\x6b\\xc7\\x06\\x8f\\x56\\x0c\\xea\\x9f\\xa3\\x75\\x05\\x79\\xfb\\x32\\x70\\x61\\x6c\\xc3\\xac\\x10\\x19\\x9c\\x07\\x48\\x1c\\x71\\xf9\\x4a\\xca\\x9c\\x03\\xb0\\x2f\\xa9\\x18\\x67\\x57\\x3a\\xba\\x78\\xf2\\xd6\\xbd\\x7e\\xea\\xa9\\xe9\\xf4\\x00\\x42\\x5f\\xa8\\xe6\\x85\\x05\\x65\\xa9\\xa5\\xe1\\x05\\x73\\xf5\\x82\\x74\\x31\\xe2\\xa3\\x83\\x1f\\xbf\\xe6\\x6e\\x75\\x12\\x50\\xff\\x01\\xff\\x98\\xe8\\xa4\\xf4\\x59\\x37\\xe3\\x4d\\xea\\xc6\\xaf\\x06\\x3f\\x86\\xa7\\xfe\\x7d\\x31\\x47\\xcb\\xd2\\xff\\x0a\\xc6\\xa3\\xd7\\x03\\x2f\\x8c\\xe0\\x07\\x23\\x3f\\xca\\x46\\x53\\x95\\xbc\\x80\\x23\\xc5\\x93\\x22\\x88\\x9c\\x81\\x10\\xe8\\xf7\\x58\\xfd\\x08\\x59\\x3d\\x06\\x3e\\x94\\xc3\\x39\\x02\\x8e\\x71\\x51\\x31\\x10\\x20\\x7e\\x9b\\x29\\x08\\x85\\x3b\\x11\\x35\\xd9\\x3d\\xc4\\x13\\xdf\\xca\\x96\\xe4\\x75\\xa4\\xd5\\x47\\xab\\xe6\\x0f\\xcd\\xa9\\x3b\\x43\\xe3\\xe8\\x48\\x50\\xeb\\x30\\x89\\xcf\\x9b\\x89\\xa1\\x80\\xa0\\xa8\\xf5\\x21\\x05\\x7e\\x84\\xba\\xf8\\x8f\\xaf\\x2c\\xec\\xb9\\x24\\x6f\\xf3\\xe2\\x6b\\xae\\xad\\xaa\\x99\\xe4\\xca\\xb1\\xda\\xfb\\xfe\\x14\\xbb\\x90\\xbd\\x20\\x3b\\x3d\\x3d\\x4c\\x5d\\x8b\\x91\\x50\\xce\\x86\\xfc\\xda\\x61\\xd5\\x9b\\x57\\x57\\x45\\x37\\x95\\x7c\\xda\\x73\\x7b\\x69\\xe9\\x49\\xf2\\xe2\\x47\\x25\\xa3\\xcb\\x47\\x65\\x17\\xe4\\xb3\\xba\\x79\\x8d\\x1d\\xe0\\x46\\x7d\\xb0\\xf4\\x54\\x02\\x02\\xa6\\x27\\x56\\xd2\\x13\\xfb\\x66\\x46\\xc7\\x0a\\xf8\\x80\\x70\\x4c\\x20\\xd4\\xcf\\x99\\xe6\\xe6\\x0d\\x70\\xd6\\xdc\\x59\\x25\\xef\\xbf\\x63\\xdb\\x14\\x6e\\x02\\x49\\xba\\x26\\xae\\x6c\\x0e\\x30\\x1b\\x3e\\x05\\x6c\\xf8\\x06\\x90\\x1d\\x12\\x2a\\x50\\xbc\\x98\\x1e\\xee\\x41\\x0c\\x32\\xe6\\xc7\\x45\\xc3\\x18\\x3e\\xa2\\x64\\x63\\x27\\x76\\x50\\x90\\xed\\x9c\\xbc\\x68\\x1b\\x4b\\xce\\xe1\\x2f\\xd4\\x14\\x48\\xaf\\xf6\\xda\\xa2\\xba\\x00\\x0c\\xa3\\x7d\\x0e\\xc8\\x87\\x87\\xf9\\xf1\\xc0\\x4f\\x19\\xa8\\x5c\\xc9\\x34\\x0b\\x69\\x36\\x2f\\x42\\x36\\x59\\xe0\\x33\\x83\\x72\\x8a\\x2b\\x65\\x6c\\xd4\\x65\\x37\\xd8\\xd3\\x6c\\xc4\\x36\\x36\\x4a\\xbc\\x49\\xdb\\x2b\\x50\\xdb\\x23\\x3c\\xb1\\x3d\\x2b\\x88\\x1c\\x25\\x4e\\xea\\x7a\\x8f\\x9d\\x5c\\x45\\x89\\xec\\x64\\xa3\\xd2\\x29\\xa0\\xd9\\xf8\\x87\\x63\\x8d\\xea\\x07\\xea\\x17\\x1f\\xbf\\xec\\x59\\xbf\\x69\\xf7\\x3d\\x77\\xef\\x3f\\x72\\xfa\\xd9\\x29\\x63\\x6f\\x7d\\xe0\\x0e\\x52\\x1a\\x3b\\x05\\x5d\\xf4\\x94\\x2f\\x70\\xb7\\xe0\\x8d\\x81\\xf7\\x1a\\xdf\\x38\\x2b\\x93\\x2b\\x5e\\x78\\x5b\\xfd\\xe0\\x1f\\x2f\\xbc\\xa5\\xfe\\x10\\xfb\\x8d\\xf4\\x8e\\xb6\\x5f\\x6b\\x3c\\xda\\xc1\\xad\\xe3\\xb6\\xeb\\x67\\xc7\\xa6\\x0a\\x98\\x6e\\x76\\x31\\xc8\\x04\\x6b\\xe7\\x36\\x73\\xa2\\x80\\x6c\\x5c\\x26\\x47\\x38\\x3a\\x5c\\x18\\x8e\\x7b\\x43\\x76\\xb4\\xd9\\x21\\x4b\\x5d\\xca\\xc3\\xc5\\xad\\x8b\\x5d\\x20\\x5d\\xe9\\x45\\x3e\\xff\\xfe\\x57\\xdf\\xc7\\x7e\\x84\\x2f\\xb6\\x77\\xe9\\x2a\\xee\\x24\\x6a\\x68\\x3d\\x6b\\x91\\xa7\\xfb\\xac\\x11\\xa2\\x1b\\xf3\\x79\\xe8\\xbe\\x54\\x9c\\xeb\\xd3\\x66\\xda\\x98\\x1e\\x9e\\x47\\xbb\\x1c\\x27\\xef\\x9e\\xb4\\x8e\\x5f\\xbe\\x67\\xcf\\xb3\\xc4\\x1b\\xfb\\x9a\\xc1\\x39\\xce\\xfd\\x13\\x6f\\xd7\\xe1\\x64\\xb2\\x93\\xb6\\x25\\xea\\xf2\\x87\\xe3\\x18\\x98\\x48\\x44\\x9f\\xe1\\x60\\x0e\\x8b\\x64\\x9c\\x0f\\x78\\x45\\x3c\\x78\\xbb\\xba\\x67\\x0a\\x5e\\xa2\\x6e\\xb9\\x5b\\x98\\xa3\\xee\\x99\\x8c\\x97\\x5c\\xbf\\x67\\x0f\\xc0\\x52\\xff\\xc6\\xcf\\xc4\\x4e\\x1d\\x56\\xba\\x62\\x06\\x40\\xb4\\xdc\\x44\\xc3\\x28\\x72\\x96\\x2e\\xfe\\x60\\x7e\\x27\\xb5\\x9d\\x76\\xd4\\x8f\\x35\\x76\\x52\\x2f\\x78\\xea\\x03\\x77\\xf3\\x33\\xd7\\x54\\x02\\x10\\x9c\\x80\\x21\\xd0\\x73\\x27\\x31\\x3d\\x39\\x18\\x09\\xf4\\xa8\\x60\\x3d\\xb5\\x96\\x16\\x98\\x4e\\xfd\\x1b\\x3e\\xb2\\x21\\xf6\\x01\\xff\\xce\\x8f\\xea\\x1e\\xca\\xc7\\x2d\\xa0\\x94\\xdf\\x90\\x56\\x22\\x19\\x65\\x2b\\x56\\x76\\x16\\x2a\\x67\\x34\\xd1\\xd3\\x50\\x0d\\x89\\xd3\\x50\\xdb\\x4c\\x55\\x33\\x1d\\x18\\xc1\\xdc\\x1b\\xea\\xc5\\x3d\\xea\\x45\\x3c\\xcd\\x81\\xab\\x44\\x63\\x2c\\x46\\x38\\x1f\\x9e\\xa4\\x3e\\xa2\\xd9\\x24\\x6d\\x60\\xca\\x92\\xc4\\x43\\x1f\\xd0\\x64\\xe0\\x79\\x22\\x91\\x8e\\x30\\xa1\\xc5\\x62\\x6d\\xeb\\x08\\xc0\\xbc\\xcf\\xa1\\x1e\\xc6\\x19\\x7b\\x70\\x86\\x30\\x5d\\x7d\\x04\\x4f\\xf2\\x11\\x2e\\x16\\xd3\\x78\\xe3\\x5f\\xdc\\x83\\xe4\\x6d\\xe9\\x1c\\xa3\\x51\\x57\\xc5\\x49\\x4f\\x23\\xa4\\x87\\x22\\x63\\x2c\\x70\\x02\\xbf\\x7f\\x9a\\xc0\\x69\\xbe\\x66\\x5a\\x0f\\x36\\x8f\\xc4\\xcf\\xca\\x64\\x07\\x20\\xde\\xb3\\xa0\\xf7\\x7b\\x1f\\x5c\\xe0\\xff\\x40\\x9a\\x9a\\xde\\xbd\\xeb\\xae\\x8e\\xf0\\xe8\\x59\\x9b\\x74\\xee\\x1e\\xc4\\x91\\x24\\x89\\xfb\\xa7\\xb1\\x43\\xbc\\x3b\\x83\\x07\\x92\\xd2\\x13\\x2a\\x25\\x6f\\xbf\\xd7\\x7b\\x41\\xc9\\x05\\x80\\xd1\\x84\\xbb\\x6b\\xf0\\xf0\\x61\\xf2\\xb6\\x5e\\x87\\xdd\\x14\\x47\\x07\\x78\\x8d\\xb8\\xbb\\x3e\\xe5\\xd9\\xe7\\x67\\x00\\x02\\x10\\x0d\\x20\\xa5\\xa3\\x7a\\x80\\x5f\\x80\\x7b\\x03\\x4c\\x19\\xe5\\x2a\\x76\\x42\\xcf\\x30\\x17\\x25\\xc9\\x08\\x95\\x43\\xdd\\xd3\\xd2\\xaa\\x8d\\x38\\x22\\x71\\x2e\\xd3\\x80\\x69\\x4b\\x61\\x1c\\x59\\xb8\\xf7\\x77\\x1b\\x8e\\x6e\\x20\\x77\\x09\\x63\\xfe\\xf2\\x97\\xbf\\xe0\\x2a\\x0a\\x0b\\x00\\xf6\\x86\\x90\\x4c\\xc7\\xc3\\x0c\\x02\\xe0\\xc7\\x63\\xba\\x87\\x94\\x07\\xc3\\x04\\x85\\xcf\\xb5\\x07\\x05\\xdd\\x40\\x7d\\x15\\x0d\\xee\\x1d\\x9b\\x0f\\xb0\\xbe\\xc3\\x55\\x00\\x4a\\xab\\xdf\\x34\\x75\\x0a\\xb9\\xbd\\xa5\\x0e\\xfa\\xfb\\xdd\\x14\\x27\\x01\\x7c\\x10\\x9d\\xaa\\xe7\\x90\\x41\\xa2\\xe7\\x47\\x40\\x1d\\x47\\x52\\xcf\\x15\\xb7\\xf7\\x94\\x14\\x00\\x6d\\x1e\\xca\\x97\\xd2\\xfe\\xfa\\xd8\\xc5\\x47\\x6e\\xbf\\x4d\\x9d\\x82\\xd3\\xd5\\x4f\\x9f\\x7b\\x8e\\xd6\\x2d\\x11\\xd0\\xef\\x08\\xf5\\x11\\xa9\\xb7\\x25\\x76\\xd2\\x24\\xb4\\x7b\\x81\\xe7\\x08\\x74\\x4b\\x22\\x2f\\xb5\\x39\\xfd\\x34\\xf9\\x48\\x4b\\x6e\\xd1\\xf9\\xf3\\xb1\\x19\\xe7\\xcf\\x03\\xfd\\x8d\\xe8\\x47\\xee\\x45\\x6e\\x61\\x7c\\x2d\\x08\\x8f\\xe8\\x9e\\x07\\x83\\x8c\\x88\\x40\\xcf\\x41\\x3c\\x5b\\x9c\\x2c\\x23\\xe2\\x4e\\x56\\x8c\\xa4\\x31\\x36\\x8c\\x34\\x92\\x3f\\xed\\xdd\\xab\\x66\\xec\\x65\\xfe\\xcb\\x89\\x91\\x44\\xc9\\x19\\xd6\\x8e\\xdc\\xa7\\x04\\x9e\\x97\\x44\\xc2\\x53\\xb1\\x90\\x98\\x04\\x05\\x9d\\x59\\x1a\\x21\\x67\\x4a\\xc7\\x45\\x9e\\xe6\\xff\\x1a\\xab\\x21\\xb7\\xfd\\x59\\xdb\\xdb\\x6a\\xe4\\xc6\\x26\\xa7\\x13\\xa5\\x9f\\x4b\\xa7\\xce\\xc5\\xf7\\xb0\\x74\\x1c\\x9a\\x08\\x15\\x91\\x0b\\xe9\\x3c\\x60\\xbb\\xa5\\xa3\\x29\\x4a\\xd8\\x65\\x06\\x31\\x4f\\xbc\\x29\\x29\\xa9\\xe9\\x24\\x3d\\x23\\xd3\\x87\\xbc\\x76\\xef\\x31\\xef\\x27\\x5e\\xde\\xc1\\x79\\x8d\\x20\\xa0\\x8d\\xd4\\xbf\\x15\\xe8\\x83\\x80\\x4b\\xb0\\xa5\\x62\\xa6\\x18\\x23\\xf1\\xfd\\x62\\xda\\x32\\x88\\x36\\xee\\x53\\xf5\\xa9\\x03\\xdd\\xd7\\xbf\\xee\\xc8\\x88\\x1d\\x5b\\x16\\xf1\\xb8\\x28\\x2d\\x69\\xbd\\x1f\\x68\\xb8\\xeb\\xae\\xcd\\x37\\x8c\\x28\\xe9\\x11\\x1a\\x3c\\xe0\\x2d\\xb5\\xa1\\xa1\\x81\\x3b\\xd5\\x3c\\x9c\\x3b\\xb5\\x65\\xed\\xde\\xcd\\xe6\\x9b\\x0c\\x43\\xae\\xa9\\xdc\\x82\\x17\\x3c\\xf6\\xd8\\xa5\\x4f\\xa8\\x6e\\x04\\x7d\\x92\\x8c\\xb3\\xa2\\x04\\xe3\\x18\\x93\\x94\\xd4\\x80\\x0f\\x25\\xe3\\x08\\x28\\x7a\\x75\\x14\\x13\\x18\\xb6\\x31\\x3a\\x2f\\x8f\\x5a\\x27\\x68\\x75\\x40\\xaa\\x79\\xb8\\x70\\xf6\\x52\\x09\\xf3\\x01\\x4a\\x8c\\x38\\x8f\\x9c\\xe1\\x5f\\x77\\xe6\\xd1\\xa3\\x98\\x1d\\x12\\xff\\x03\\x42\\xea\\x09\\x64\\x6c\\xc0\\xb3\\xac\\xd8\\x4a\\x9d\\x6c\\x82\\x84\\x4f\\x17\\x1e\\xe4\\x8e\\x89\\x9f\\x42\\x77\\xc8\\x76\\x5c\\x44\\x46\\xae\\x11\\x4f\\xa0\\xc7\\x09\\x14\\x27\\x1c\\x78\\x47\\xb4\\x99\\x07\\xee\\x58\\xc3\\x1d\\x77\\x1c\\x7f\\x60\\xea\\xe8\\x51\\xd3\\xc4\\x4f\\xeb\\x1f\\x3b\\x76\\xcb\\xa8\\xe9\\x33\\x46\\xb6\\xb4\\x60\\x13\\xee\\xc7\\x41\\x1e\\xf6\\x7c\\xfe\\x6f\\xc0\\xb6\\x21\\x7b\\xbe\\x60\\x68\\xc1\\xf4\\xec\\x71\\xc1\\xc0\\x0c\\x4e\\xea\\x9b\\x6c\\x6a\\xcb\\xc7\\x7c\\x2d\\xc4\\x11\\x05\\x87\\x9b\\xde\\xdb\\x81\\x14\\xcf\\x00\\x5e\\x22\\xdf\\xc2\\xde\\x97\\xc1\\xfd\\x10\\x7a\\x0f\\xed\\x84\\xde\\xaf\\x83\\xfb\\xf1\\xec\\x9e\\x63\\xf7\\x8f\\xc1\\x7d\\x26\\xbb\\x37\\xb2\\xfb\\xfa\\x96\\xb7\\xf8\\x7c\\xf1\\x7a\\xb8\\x37\\xb1\\xfb\\x2d\\x74\\x8c\\x8d\\xbd\\x37\\xb3\\x7b\\xb0\\xb1\\xb9\\xf7\\xd9\\xbd\\x8f\\xdd\\xe7\\x27\\xde\\xa7\\xb0\\xb6\\xba\\x91\\x10\\xb8\\x9f\\x0f\\xad\\xa2\\xbb\\x62\\x11\\x39\\xba\\xfe\\x06\\xcb\\x06\\x91\\x60\\xb0\\xc1\\x27\\x3d\\x15\\xc5\\x7c\\x23\\x1e\\x41\\xcf\\xdb\\x68\\x33\\x14\\x99\\xd8\\x39\\x9e\\xc5\\x8f\\x6c\\x8e\\xe0\\xed\\xbf\\xc6\\x3b\\x08\\x79\\x06\\x3f\\xa6\\x4e\\x64\\x79\\xa4\\xb4\\xfc\\xc4\\x1f\\x13\\xfe\\x0c\\xb4\\xf6\\x33\\x5a\\xff\\x0b\\x5f\\x82\\xbc\\x9c\\x8a\\x09\\xa7\\x7a\\x53\\xb1\\x2f\\x35\\xe8\\x70\\xe6\\xe2\\x82\\xe9\\x8e\\x52\\x88\\x6b\\x80\\xb8\\x8f\\x24\\xc7\\x8d\\xfd\\x1d\\xe2\\xba\\x1b\\x58\\xd4\\xc6\\x96\\x8f\\x1b\\x52\\x83\\xfe\\x14\\x2d\\x76\\x02\\xf6\\xf3\\xf1\\xf8\\x40\\xe9\\x1f\\x50\\x63\\xcb\\x93\\x34\\x1d\\xa1\\x1d\\xde\\xb0\\x92\\x49\\xf2\\xbc\\x79\\x38\\x3f\\xaf\\x3b\\xcd\\xe3\\xd5\\x74\\xac\\xa4\\x43\\xbd\\xae\\x4b\\xc7\\x7b\\xd3\\xf1\\xe6\\xf4\\x5f\\xa5\\x13\\x3a\\x04\\x5e\\x8a\\xa6\\x4f\\x2f\\xd5\\x41\\xa2\\xf6\\x38\\x24\\xc3\\x64\\xb8\\x84\\x1b\\x18\\x48\\xc0\\x45\\xf1\\xe6\\x75\\xa7\\xc8\\x24\\x81\\xc3\\xe9\\x90\\x01\\x02\\x48\\x78\\x7a\\x5b\\x98\\xf6\\x96\\x14\\x56\\xaf\\x79\\xb4\\x5e\\x1d\\x22\\xff\\xb7\\x6f\\xc1\\xa2\\x7a\\x12\\xa7\\x36\\xb6\\xcc\\x68\\x48\\x4d\\xb5\\xb8\\x72\\x0b\\x20\\x26\\x8d\\xa7\\x1e\\x6a\\x13\\xef\\x3b\\x88\\xe7\\x6a\\xc0\\xe9\\x7c\\x3a\\xa6\\x51\\xd3\\xd3\\x69\\xd4\\xe9\\x7a\\x5c\\x9d\\x57\\xb4\\xb8\\xc0\\xc3\\x2d\\xbb\\x54\\x10\\xce\\x8a\\x0b\\x0f\\x08\\xe1\\x2e\\xa1\\xab\\x43\\x44\\x0a\\x0d\\x0d\\xad\\x0a\\x71\\x9e\\x10\\x24\\xfe\\x95\\x62\\x0c\\x85\\x20\\x35\\x0e\\xd9\\x43\\x1a\\x8a\\x05\\xd3\\x29\\x92\\x1a\\x7e\\xa3\\x01\\xd6\\x06\\xd6\\x1e\\x90\\x0e\\x6b\\x41\\xcb\\x51\\x94\\x73\\x12\\xbb\\x5d\\x38\\xdb\\x05\\xc9\\xff\\xae\\x58\\x5c\\x2e\\x64\\xce\\xc5\\xae\\xdb\\x5d\\xf8\\x4d\\x17\\x40\\xd0\\x41\\x68\\xf5\\x40\\x37\\x61\\x7f\\xc8\\xd2\\x63\\x3d\\xbd\\x0b\\x8d\\x44\\x43\\x95\\x12\\x3c\\x24\\xf3\\x64\\x26\\x39\\x9c\\x89\\xdd\\x99\\x78\\x42\\x26\\xce\\xce\\xc4\\x28\\xb3\\x28\\x73\\x16\\x98\\x65\\x99\\x99\\x29\\xa9\\xb9\\x38\\x33\\x9c\\x39\\x26\\x93\\xbc\\x9e\\x89\\x53\\xc0\\xee\\xce\\xc4\\x7b\\x33\\x0f\\x65\\x12\\x44\\x11\\x4b\\x60\\x98\\xc0\\x31\\xde\\x16\\xf2\\x68\\x5b\\x60\\x79\\x74\\x69\\x99\\x87\\xba\\x9f\\xc4\\x5e\\x13\\x9e\\x64\\x02\\x1c\\xff\\xa5\\xb8\\x4c\\x26\\xc2\\xe5\\x62\\xd3\\x1d\\x26\\x5c\\x61\\xc2\\x61\\x13\\xb6\\x99\\x30\\x6a\\x05\\x56\\xda\\xa6\\x0d\\xe5\\xd1\\x36\\xc4\\xe0\\xb4\\x50\\x38\\xc7\\x49\\x0a\\x2d\\xe8\\x8f\\x8a\\xd7\\xe5\\xe2\\xc4\\x5c\\xe2\\xba\\xc3\\x85\\x0f\\xbb\\x70\\x85\\x0b\\x87\\x5d\\xd8\\xe6\\xc2\\x49\\x58\\x31\\x38\\xf8\\x3a\\x28\\x73\\x57\\x68\\xbb\\x79\\x02\\x5f\\xad\\xc1\\x99\\x07\\x34\\x9b\\xa2\\x74\\xc1\\xc6\\x89\\x46\\xfc\\x07\\x23\\xbe\\xde\\xf8\\xa4\\xf1\\x05\\x90\\xf4\\x46\\x8c\\x8c\\x41\\x63\\x91\\xf1\\x56\\x23\\x3f\\xd4\\x88\\xb9\\x41\\x46\\xec\\x32\\x1e\\x34\\x12\\xd2\\xd8\\xf2\\xb8\\xe2\\x32\\x02\\xa3\\xe6\\x62\\x69\\xb7\\x84\\x37\\x4a\\x78\\xa6\\x84\\xc7\\x48\\xad\\x18\\xcf\\x9c\\x3e\\x1d\\xfe\\xaf\\xd5\\x98\\x94\\xe5\\x09\\x75\\xce\\x3d\\xcb\\x7f\\x08\\x79\\x0a\\x99\\x2c\\x4f\\xf5\\xbf\\x01\\xf7\\x2b\\x94\\x14\\xec\\x19\\xea\\xc1\\x77\\x78\\xf0\\x24\\x0f\\xae\\xf3\\x60\\x97\\x07\\x6f\\xf6\\x40\\x8f\\x30\\xe8\\x81\\x4c\\xf6\\x2a\\x76\\x8f\\x47\\x96\\x73\\xb1\\xbf\\xc2\\x8f\\xc3\\x7e\\x6c\\xf3\\xb3\\x1c\\x5a\\xe9\\xab\\xf3\\xd3\\x36\\xb0\\xfb\\xa7\\xf2\\x1f\\x03\\x5d\\x24\\xc6\\x7b\\x3f\\x40\\x69\\x4a\\x4e\\x62\\x29\\x0b\\x7b\\xb3\\x80\\x30\\xff\\xad\\xa4\\x64\\x65\\x89\\x56\\x60\\xa0\\xf3\\x21\\xfc\\x4c\\x08\\xef\\x0c\\xe1\\xf5\\x21\\x3c\\x33\\x84\\xc7\\x84\\x74\\xda\\xc4\\xa9\\x0c\\x78\\xd6\\x93\\x21\\x5c\\x3f\\x46\\x1b\\xc3\\x1a\\x8d\\x36\\x6b\\x41\\x56\\x2d\\x57\\x46\\x60\\x29\\x2c\\x6d\\x84\\xd2\\x72\\xe7\\x24\\x7c\\x41\\x02\\x9b\\x42\\x34\\xe2\\x95\\x46\\xfc\\x47\\x23\\x2e\\x31\\x62\\x20\\x5b\\xc8\\x88\\xb7\\x18\\x8f\\x1b\\x49\\xb6\\x11\\xbf\\x60\\xc4\\x8c\\x74\\x94\\x70\\x9c\\x4e\\xb8\\x83\\x46\\x4c\\x7c\\x10\\x74\\xc1\\x2f\\x90\\xaf\\x81\\x51\\x0f\\xe8\\x44\\xff\\xe2\\xb4\\xba\\x96\\x7e\\x5f\\xcb\\x9a\\x75\\xa2\\xfd\\xcd\\x52\\x37\\x32\\xb9\\x97\\x27\\xc8\\x7a\\x9d\\x2f\\x02\\xba\\x15\\x28\\x19\\xd8\\x63\\xc3\\x27\\x6d\\xf8\\x76\\x1b\\xce\\xb6\\x61\\x9b\\xcd\\x46\\xc4\\x5c\\xfa\\x13\\xb6\\x55\\xd8\\xde\\xb4\\xf1\\x1d\\xda\\x49\\x5c\\xde\\xe6\\x51\\x79\\x4b\\x69\\xf4\\xdb\\xa3\\x68\\x94\\x52\\x8e\\xdd\\x9e\\x41\\x9e\\x3a\\xcf\\x56\\x0f\\x7f\\xc6\\x83\\xff\\xac\\x51\\xbe\\xc8\\x33\\xd6\\x33\\xcb\\x73\\xc0\\x73\\xcc\\xf3\\xa6\\xc7\\x90\\x07\\x35\\x60\\xc9\\xc5\\x9e\\xf3\\x1e\\xfc\\x8c\\x07\\xef\\xf4\\xe0\\xf5\\x1e\\x3c\\xd3\\x83\\xc7\\x78\\xda\\x92\\x2e\\x91\\x4f\\x5c\\x8e\\xe7\\x51\\x39\\x4e\\xf3\\x01\\xeb\\x1b\\xfa\\x1f\\xd8\\x31\\xd4\\x81\\x3d\\x0e\\x9c\\xed\\xc0\\xc8\\x01\\x75\\x72\\xa9\\xc1\\xe1\\xe3\\xa5\\x5c\\x2d\\x69\\xbc\\xac\\x56\\x26\\xd3\\x69\\x3d\\x5a\\xb4\\xb4\\x3d\\x8f\\xa2\\x81\\x8a\\x13\\x07\\x86\\x06\\x4e\\x05\\x48\\x4a\\x00\\x5f\\x1f\\xc0\\xc1\\xc0\\xac\\x00\\x10\\xf0\\x4f\\x4a\\x4a\\x20\\x4b\\x94\\xfe\\x7d\\x9d\\xea\\x3c\\x82\\x73\\x81\\xff\\x36\\xb2\\xf2\\xdb\\x92\\xe4\\xc4\\x28\\x25\\x0b\\x4b\\xae\\x32\\xd7\\x50\\x17\\xf7\\xa0\\xeb\\xa4\\x8b\\x4c\\x74\\x6d\\x75\\xbd\\xe4\\x7a\\xdb\\xc5\\x83\\xe8\\xf0\\xb9\\xa0\\xb6\\x5c\\xb4\\xb6\\x7e\\xa3\\xb8\\x5c\\x2e\\x1e\\xf8\\xd0\\x05\\x0d\\xad\\x0b\\x6b\\x5c\\x6f\\xbb\\x92\\x99\\x7d\\xa6\\xde\\xda\\x99\\x5c\\xff\\x86\\x9f\\xcd\\xf2\\xb1\\x6b\\x65\\x20\\x47\\xa1\\xe7\\x9c\\x45\\xcf\\x6b\\xf2\\x86\\x30\\x09\\x85\\x5c\\x69\\xb9\\xe4\\xdf\\x32\\xa2\\x46\\x8f\\xe5\\xea\\x46\\x5d\\x6e\\x38\\x35\\x58\\xcb\\x8e\\x82\\xdd\\xe8\\xc6\\x29\\xe7\\x53\\xf0\\x33\\x29\\x78\\x67\\x0a\\x5e\\x9f\\x82\\xc7\\xa4\\x60\\x67\\x4a\\x6b\\x72\\x9a\\x6e\\x05\\xd0\\x71\\x32\\x4b\\xe7\\xd2\\xd2\\xd5\\x1d\\x45\\x21\\xc5\\x87\\x83\\xe7\\x83\\xf8\\x99\\x20\\xde\\x19\\xc4\\xeb\\x83\\x78\\x66\\x10\\x8f\\x09\\x62\\x67\\x30\\x9e\\x54\\x4f\\x7b\\x15\\xa4\\x1d\\xc4\\xd2\\x7a\\x74\\x3a\\x65\\xa9\\x6f\\x53\\xbf\\x38\\xf8\\xea\\x00\\x1e\\x1a\\xc0\\xee\\x00\\x46\\x01\\xa8\\xc0\\x5d\\x8a\\x27\\x10\\xa0\\x22\\x2b\\x50\\x11\\xc0\\xe1\\x00\\x9e\\x15\\x58\\x16\\x20\\xb6\\x40\\xb2\\xd0\\x4a\\x94\\x63\\x23\\x94\\x63\\x24\\x83\\xe9\\xd5\\xf0\\xf9\\xe1\\x1d\\xe0\\x60\\x13\\x71\\x0f\\x77\\x63\\xbf\\x1b\\x4b\\x6e\\x80\\xf7\\x81\\x62\\x71\\xa7\\x22\\x5b\\x2e\\x49\\xbf\\x3d\\x1d\\x2f\\x03\\x5d\\x74\\x6d\\x1c\\x8a\\x86\\x57\\x5c\\xff\\xe7\\x51\\xfd\\x9f\\x68\\x07\\x40\\xd9\\x4e\\xdb\\xc1\\x1d\\x36\\x5c\\x61\\xc3\\x61\\xfa\\xa0\\x3d\\x46\\xba\\xee\\x7d\\x84\\xc1\\xf2\\xeb\\x36\\xd4\\x33\\x2d\\x4f\\xa2\\x34\\xc5\\x71\\x79\\x8d\\xd8\\xc6\\xe6\\xc8\\xa3\\x36\\x07\\x4b\\x17\\x06\\x1c\\x06\\x2a\\xa9\\xd8\\x1f\\xc2\\x47\\x42\\xa7\\x42\\x64\\x48\\x68\\x65\\x88\\xfc\\x31\\x84\\xb7\\x86\\x70\\x76\\x08\\xcf\\xa2\\xea\\xeb\\x9f\\x8a\\x3b\\x14\\x92\\xa9\\xf4\\xb1\\x85\\xc2\\xa1\\x8a\\xd0\\xad\\xa1\\x03\\x50\\xfd\\x22\\x4a\\x16\\x63\\xa5\\xba\\x6d\\x07\\xd6\\xd6\\x19\\x71\\x08\\xc0\\xa7\\xe7\\xe2\\x8b\\xfc\\xdf\\x51\\x92\\x8e\\x13\\x9e\\xd4\\x75\\x9c\\xc8\\xff\\x74\\x0f\\x42\\xd6\\xa7\\x11\\x6e\\xd9\\xd4\\xa0\\xa9\\xb6\\x82\\xd2\\xd6\\x36\\xce\\xe2\\x69\\x6d\\xfc\\xa7\\xb3\\x7a\\xbc\\xed\\x0d\\x1e\\x8f\\xc1\\x92\\x88\\xc7\\xf8\\x83\\xc5\\xd3\\xf8\\xe3\\xa7\\x17\\xf5\\x78\\x99\\xa0\\xd2\\xc1\\xe4\\x65\\xf1\\xc0\\xa6\\xa2\\x67\\x7e\\x35\\x88\\xd7\\x23\\x07\\xba\\x52\\xf1\\x3a\\xec\\xb2\\x11\\x09\\xd0\\x99\\x12\\x44\\x9b\\xd1\\x2e\\xba\\x9c\\x36\\x51\\xe4\\x1d\\xa7\\xf1\\x68\\x24\\xe3\\x51\\x10\\x99\\x87\\x6f\\x82\\xaf\\xa2\\xe3\\xae\\x74\\xdc\\xc6\\x11\\x69\\x77\\x26\\xa3\\x8b\\x8e\\x05\\x45\\x70\\x2f\\x57\\x59\\x44\\xb2\\x12\\x09\\x87\\x4e\\xde\\xf7\\xcc\\x64\\x7c\\xe6\\x8e\\x34\\xef\\x69\\x9f\\xb1\\x5f\\xd5\\x3c\\x3c\\xff\\x2b\\x3e\\x4c\\xc6\\xab\\x57\\xc5\\xf6\\xec\\xc4\\xe4\\xe3\\xf7\\x17\\x3d\\x76\\x47\\xb5\\x1a\\xa2\\x78\\x34\\x7f\\xc5\\x9f\\x46\\xbc\\x58\\x0c\\x7d\\xba\\x54\\xc5\\x2c\\xf3\\x82\\x60\\x92\\xd1\\xee\\xa8\\x2c\\xec\\x85\\xbe\\xa1\\x36\\xf2\\xc7\\xe0\\x67\\xf3\\x52\\xa8\\x57\\x4e\\x56\\x84\\x87\\x8e\\xc7\\xa9\\x19\\xdb\\x56\\xe3\\xeb\\xb0\\xc5\\x2f\\x9c\\x5a\\xb9\\xf9\\xb9\\x13\\x9a\\x0f\\x86\\x18\\x7f\\x9a\\xf3\\x33\\x38\\x69\\x8a\\x05\\x3a\\x2f\\x74\\x16\\xc1\\xb0\\x3b\\x8a\\x92\\x00\\x69\\x67\\xfb\\x07\\x79\\x5f\\x28\\x2f\\xa7\\x00\\x73\\x7e\\x6c\\xc6\\x1b\\x57\\x6f\\x9b\\xa1\\x9e\\xfa\\x2b\\x20\\x70\\xe2\\xb9\\xcd\\x2b\\x29\\x3e\\xcd\\xfc\\x4b\\x08\\x09\\x6f\\x82\\x7d\\x0d\\xf8\\x48\\x06\\x03\\xb2\\x9a\\xb8\\xdd\\x51\\x93\\x01\\xc0\\x9c\\x2b\\x88\\x0f\\x43\\x38\\xb4\\x45\\x7e\\x52\\x88\\x8d\\xea\\xce\\x3a\\x36\\x64\\xda\\xb5\\x03\\x9c\\xb7\\x05\\x3f\\x78\\x66\\xd5\\x05\\xbe\\xc9\\xd7\\xd5\\x57\\x58\\xbc\\x7b\\x83\\x7e\\x5e\\x24\\xe2\\x5f\\xe2\\x04\\x80\\x67\\x85\\x1e\\x9d\\x45\\x94\\xac\\x36\\xc9\\xa4\\x30\\x88\\x7b\\x69\\x57\\x5a\\xf7\\xcf\\x4e\\x9d\\x03\\xe8\\x27\\x42\\x44\\xac\\xcc\\x2f\\x7c\\xe5\\x93\\x83\\xb7\\x6e\\x76\\xef\\x4d\\x59\\xf2\\xd4\\xda\\xd1\\x8f\\x5f\\x2d\\xdc\\xe3\\xef\\x56\\x32\\xb0\\xfa\\xda\\xd2\\x6c\\x0f\\x1d\\x5f\\x7b\\x5f\\x8d\\x92\\xef\\x5a\\xf6\\x43\\x3f\\x2d\\x4f\\x31\\x42\\x9f\\x9a\\x76\\xd4\\x99\\xbb\\x3f\\xf3\\xc9\\x69\\x88\\xd8\\x09\\xa1\\x0e\\x32\\xdb\\x2c\\xc1\\x2c\\x75\\x41\\x2f\\x09\\xbf\\x3f\\xe6\\xe5\\x47\\xd5\\x68\\x16\\xce\\xc9\\x55\\x3f\\xa1\\x70\\x04\\xfe\\x18\\xf7\\xa9\\xd0\\x80\\x4c\\xa8\\x8b\\xe2\\xe6\\x88\\x6c\\x24\\x46\\xb3\\x45\\x86\\x3e\\xe7\\xce\\x69\\x48\\xdc\\x15\\x45\\x7b\\xe8\\x49\\x42\\xc9\\x0b\\x95\\x01\\x52\\x90\\x8b\\xe8\\x88\\x12\\x52\\xa7\\xde\\x2d\\x1f\\x12\\xae\\x59\\xb8\\x60\\xba\\x70\\x48\\xe6\\x8f\\x61\\x7e\\xd4\\xb0\\x61\\xa3\\xd4\\x66\\x36\\x06\\xf8\\x3e\\xbf\\x9d\\x7c\\xc7\\xfa\\x92\\x59\\xad\\x38\\x0a\\x60\\xb0\\x9b\\x9f\\x9a\\x26\\xec\\xd1\\xdd\\x22\\x77\\x44\\x8f\\xdf\\x1e\\x47\\x8f\\xc1\\xf8\\x35\\xf9\\x4e\\x44\\x1a\\x0c\\x00\\x00\\x60\\xf4\\x72\\x3e\\x35\\x8d\\xec\\x6d\\x07\\xc3\\xc3\\x85\\x4a\\x5d\\xe4\\x3b\\x80\\x21\\xa2\\x2c\\xf5\\x83\\x5c\\x1c\\x64\\xf4\\x5f\\xa1\\x4e\\xe1\\x06\\x41\\xbf\\xdc\\x4e\\xcb\\x68\\x13\\xcd\\xd0\\xe1\\x77\\x38\\x6d\\xd6\\xb1\\x51\\x9b\\x8d\\x93\\xc7\\x46\\xb9\\x00\\x6a\\xe3\\xbf\\x88\\x0e\\x75\\x09\\xda\\x82\\x24\\xed\\x3c\\x3e\\xe6\\x0f\\x6a\\xd0\\x27\\xe7\\xc7\\x1c\\xea\\x71\\xc7\\xba\\x4d\\x37\\xab\\x0b\\xc8\\x88\\xb4\\x5f\\xff\\x21\\xd5\\xb1\\x33\\x7b\\xeb\\x2a\\xee\\xe5\\x5d\\x0c\\xcf\\x5c\\x32\\x8a\\xbc\\xca\\xce\\xea\\x19\\xaa\\xa4\\x58\\xcc\\x66\\x22\\x82\\x09\\x41\\x88\\xcd\\x2e\\x89\\x9f\\x45\\x91\\x84\\x65\\x4e\\x92\\x38\\x63\\x23\\x76\\x9c\\x34\\x63\\x84\\xe1\\x51\\x23\\x76\\x26\\x7c\\x5d\\x45\\xc2\\x6d\\xd6\\xcb\\xc6\\xbb\\xf7\\x11\\x87\\x15\\x87\\x4a\\x29\\x9d\\x1d\\x11\\x0f\\x1e\\xbe\\xdd\\xbd\\xb0\\x47\\xf1\\xfc\\xc0\\x9a\\x3a\\x32\\x6a\\x11\\xc1\\xf9\\xbd\\x57\\x55\\x94\\xc6\\x96\\x2f\\x82\\xf2\\x5d\\x22\\xa3\\x38\\x5e\\x18\\x87\\x52\\xd1\\x18\\x25\\x2d\\x25\\xc5\\xe5\\x92\\x24\\x94\\x66\\xb6\\x58\\x90\\xdf\\x8f\\x6c\\x66\\x6c\\xe5\\xcc\\x66\\xbb\\x5d\\xfe\\x2c\\x6a\\x6f\\xc4\\xae\\x93\\xd8\\x8f\\xfc\\x6d\\xb3\\x4f\\xac\\x74\\xc3\\xe1\\x08\\x3b\\xf6\\x5d\\x77\\x50\\x15\\xa6\\x93\\xa3\\x03\\x30\\x5d\\x20\\x56\\x12\\x6a\\x3d\\x26\\xcc\\x2d\\x01\\xd7\\x67\\x79\\x2e\\x05\\x16\\x4d\\x1d\\x3f\\x64\\x69\\xff\\x72\\xc3\\x66\\xcb\\x8e\\xa5\\xab\\xd7\\x1c\\x58\\x31\\xc2\\x81\\xd7\\x93\\x51\\x95\\x03\\x6a\\x07\\xf5\\x9f\\x55\\xba\\x66\\x40\\x7f\\xa1\\xba\\x6e\\xd9\\xbc\\x2d\\xab\\xa3\\x43\\xf3\\x17\\x69\\xed\\xe0\\x6b\\x52\\x4e\\xbe\\x05\\x3c\\xbb\\xa0\\x9d\\xca\\x40\\x5b\\x2e\\xb6\\xf3\\x81\\xb4\\xb4\\x6c\\x8f\\xc3\\x23\\x22\\x8b\\x64\\xe9\\x26\\xe6\\xda\\x1d\\x0e\\xfb\\x67\\xd1\\xdd\\x0e\\x3c\\xc6\\x31\\xd3\\xb1\\xd4\\xc1\\xd9\\x1c\\x99\\x8e\\x30\\x04\\x36\\x3a\\x76\\x3b\\x44\\xd9\\xe1\\xe0\\x32\\x41\\x03\\x59\\xb9\\x40\\x20\\x33\\x13\\xca\\x90\\x49\\x37\\xb0\\x1b\\x39\\xe3\\x67\\xd1\\xb1\\xf4\\x08\\x55\\xe8\\x06\\xbb\\x13\\x87\\xa8\\x26\\xca\\x44\\x3d\\xb0\\xcf\\x98\\x7e\\x6d\\x2d\\x1b\\x03\\xc3\\xfe\\xb0\\xb3\\x4f\\x44\\xf7\\xb3\\x52\\x1c\\x8e\\x20\\x88\\x10\\xef\\x34\\xeb\\xc7\\x30\\x94\\x96\\x14\\x00\\xe1\\xe3\\xcb\\xf6\\x12\\x65\\x16\\x25\\x4f\\x06\\x26\\xdf\\xde\\xbc\\x6a\\xd1\\x8d\\xb6\\x1b\\xe5\\x2b\\x8a\\x7a\\x5d\\x79\\x7b\\xd7\\xdc\\x41\\x4a\\xaf\\xae\\x3d\\xae\\x14\\xb7\\x5b\\x6e\\x58\\xb0\\x64\\xdd\\xc0\\xc1\\xe3\\x47\\x70\\xa9\\x73\\xd7\\x2e\\x9b\\x63\\xe9\\xd7\\xbf\\xdf\\x15\\xab\\x97\\xf4\\xb9\\xb2\\xb4\\xb8\\xa2\\x8f\\x79\\x4e\\x6d\\xcd\\x35\\x57\\x4e\\x4a\\x25\\xce\\x39\\x6c\\x0c\\xfb\\x65\\x32\\x82\\x2b\\x05\\x3e\\x31\\x22\\x1b\\x1a\\xa1\\xe4\\xc8\\xb2\\x01\\x63\\xab\\x48\\x88\\xc3\\xc2\\x23\\xde\\xc2\\x7f\\x16\\x35\\x08\\x9a\\x8b\\xf9\\xfb\\x2d\\xa7\\x2d\\x82\\xc5\\x82\\x4d\\xe2\\x33\\xd8\\x01\\x0c\\xc6\\x66\\xbc\\xe8\\x78\\xb9\\x36\\x4a\\x42\\x4f\\x45\\x4c\\x78\\xae\\x09\\x53\\xde\\x0f\\x95\\xd2\\x11\\x4d\\xe0\\x14\\x4e\\xe4\\xb2\\x1c\\xe4\\xd7\\x1b\\xd5\\x9b\\xf0\\x82\\x5b\\xd6\\xfe\\x2b\\xfb\\x4b\\x2c\\x93\\x6f\\x1e\\x78\\xa0\\x0a\\xff\\xa4\\x9a\\xe7\\xe2\\x77\\x23\\xea\\x69\\x7c\\x05\\xe3\\x59\\x9e\\x0c\\x21\\x4d\\x80\\x4b\\x2a\\x9a\\xae\\xe4\\x78\\x3d\\x76\\xbb\\xd3\\xe1\\x80\\xfe\\xb9\\x8b\\x2e\\xb5\\x4e\\x73\\x78\\x3f\\x8f\\x3a\\x1c\\x7e\\xbf\\xe5\\xb3\\xa8\\xdf\\xef\\xe4\\x9c\\x9e\\xcf\\xa3\\x4e\\xca\\xbe\\x1c\\x30\\x92\\x28\\xc6\\x89\\xdd\\xe6\\xcc\\x1b\\xd4\\xce\\x07\\x6e\\x62\\x68\\x84\\xad\\x71\\xd1\\x4f\\x72\\xa1\\x54\\xa5\\x0e\\x66\\xb3\\x24\\x3a\\xb3\\x41\\x9a\\xb6\\xac\\x7c\\x3f\\xb4\\xcd\\xd4\\xa7\\x78\\x45\\x5d\\x97\\x62\\xcf\\xf5\\x59\\xf8\\x11\\xf5\\x45\\x57\\xc9\\xf8\\x65\\xeb\\xb8\\x81\\x6b\\xb7\\x9c\\xb6\\xf5\\x0a\\xef\\xbd\\x31\\x23\\x03\\x9f\\xbc\\xf6\\x42\\xf9\\x75\\x8c\\x87\\x9a\\x81\\xd7\\x39\\x36\\x07\\x5a\\xa8\\x38\\x40\\x55\\xc8\\x06\\x10\\xf7\\x66\\x0b\\x92\\x8d\\xf2\\xe7\\x51\\x23\\x25\\x15\\x8f\\x9d\\x28\\x31\\xe8\\xaf\\xb5\\x67\\xd6\\x9c\\xac\\xc4\\x13\\x2a\\x71\\xd2\\x33\\x03\\x39\\x6e\\xfd\\xf4\\x82\\x6d\\xd7\\xde\\xa9\\xae\\x25\\x12\\xff\\xc9\\x63\\x8d\\xcf\\xd6\\x1e\\xc2\\xe9\\xaf\\x5c\\x4b\\xc7\\xb1\\xb0\\x83\\x28\\x9c\\x08\\x3c\\x6a\\x42\\x1e\\xd4\\x1d\\x2d\\x51\\x8a\\xbb\\x65\\x64\\xa1\\x7c\\x31\\x2b\\x2b\\xdf\\xeb\\x48\\x33\\x7b\\xd3\\xbc\\x3d\\x0a\\xbb\\x65\\x64\\xc8\\x56\\xd9\\xfa\\x59\\x74\\xa6\\xbc\\x54\\x26\\x36\\x39\\x53\\x0e\\xcb\\x1c\\xfc\\xc9\\x39\\x29\\x39\\xdc\\x67\\xd1\\x1c\\x60\\xcb\\x86\\x14\\xd7\\x67\\xd1\\x14\\x46\\xa3\\x24\\x0a\\xcd\\xd4\\x8e\\x03\\x41\\x7d\\x1c\\x1d\\xfd\\x3a\\xb3\\xb3\\x2d\\x92\\xd6\\xc5\\xbb\\x4a\\x58\\x90\\x4a\\x59\\x7d\\xad\\x5b\\x59\\x69\\x62\\x36\\x88\\x31\\xe3\\xa2\\xc2\\x48\\xef\\x2e\\x91\\xc2\\x70\\x4f\\xcf\\xca\\xbe\\x7d\\xe0\\xff\\x86\\xeb\\xd6\\xaf\\xbd\\x7e\\xcd\\xdc\\x75\\x0b\\x6b\\xd6\\x54\\x5f\\xd9\\x87\\xdf\\xd4\\xaf\\x67\\x79\\x71\\xef\\xbe\\x25\\xea\\x17\\x9b\\x06\\x5c\\xb9\\xb5\\x5c\\x59\\x5c\\xb7\\x7c\\xc9\\x9e\\x3c\\xae\\xe7\\xc6\\xe8\\xe2\\x85\\xd7\\x6c\\x2a\\xe4\\x5c\\x53\\x99\\xce\\x14\\xd4\\xd3\\x2d\\xe7\\x5a\\xe8\\x39\\x0d\\xb6\\x06\\x0e\\xf1\\x6c\\xaf\\x98\\xe6\\xa9\\x86\\x8e\\x4e\\x36\\xfd\\x56\\x3d\\xfd\\xfc\\xf3\\x74\\x0c\\xb7\\x42\\x18\\xd6\\xf2\\xbd\\xb8\\x13\\x39\\xe9\\xb8\\x2b\\x9d\\x99\\x47\\x46\\xa3\\x28\\xba\\xe8\\x3e\\x35\\x1b\\x0a\\x9f\\x2d\\xb6\\xbf\\x92\\x38\\xdb\\x82\\xe9\\x58\\x5a\\x14\\x29\\x1f\\xd0\\x65\\x6d\\x27\\x04\\x72\\xe4\\x54\\xa4\\xdb\\xb0\\x21\\x99\\x53\\x17\\x7e\\x3b\\x6e\\xda\\xb2\\xc1\\x45\\xc2\\xc5\\xcc\\x6c\\x7f\\x55\\xc6\\xed\\xe5\\x93\\x4c\\xee\\xa9\\x5c\\x06\\xab\\xdb\\xdd\\xa0\\x29\\xe7\\xb2\\x33\\x76\\xba\\x2b\\x5e\\xaa\\x36\\x05\\x41\\x3f\\x60\\xc7\\x86\\x78\\xfd\\x80\\x9d\\x84\\xcc\\x4a\\x3a\\xb5\\x03\\x98\\x49\\x3b\\x59\\x87\\x7c\\x85\\xd7\\x37\\x77\\xc3\\x0f\\xaa\\x2f\\xe0\\x1f\\x76\\xed\\xda\\xc5\\x65\\x50\\xd9\\xcc\\xa9\\x7f\\x12\\x9e\\xc2\\x05\\x52\\x81\\xee\\xdb\\xa3\\x44\\xf1\\x1a\\x64\\x1e\\x71\\x9c\\xc4\\xf3\\x66\\xd9\\x84\\x14\\x01\\x04\\xf2\\xad\\xd3\\x78\\x10\\x89\\x43\\x50\\x45\\xb1\\xee\\x82\\xfc\\x6c\\x71\\xfc\\xa0\\x3c\\xa7\\xb6\\x64\\x93\\xae\\x4c\\x8d\\x78\\x72\\x21\\x97\\x1b\\x0f\\xc6\\x1e\\x3d\\x88\\xef\\xa6\\xa7\\x5e\\x09\\x4f\\x35\\xc2\\xe7\\xd2\\x46\\xa4\\xe7\\xf3\\x10\\xcb\\x87\\xee\\xfb\\xb2\\xa0\\x3e\\x4a\\x0a\\xb4\\x31\\x8e\\xe7\\x8d\\xa2\\x2c\\x5b\\x8c\\x46\\xab\\x49\\x12\\x25\\xc8\\x87\\x87\\xae\\x25\\xcb\\x2a\\x72\\x56\\x5f\\xd8\\x94\\xc8\\x28\\xbe\\xf5\\x2a\\xe2\\x11\\x42\\xa5\\x3e\\x3d\\xcb\\x01\\x17\\xd5\\xa6\\xcd\\xdf\\xd1\\x3c\\xa5\\x02\\xf3\\xa3\\xc6\\x3f\\xd1\\x1c\\xb5\\xfc\\xce\\x43\\x7e\\x11\\xc8\\xcf\\x80\\xcc\\xa0\\xdb\\x86\\x2a\\x41\\x9e\\x33\\x18\\x44\\xc8\\x54\\x36\\x9b\\x2d\\x92\\x28\\xda\\x2d\\x16\\x87\\xd5\\x28\\x1b\\x21\\x53\\x78\\x8e\\x2d\\xb2\\x9e\\x6d\\x71\\x9f\\xa4\\xb5\\xf9\\xad\\xeb\\xd3\\xf4\\x01\\x6e\\xc8\\x5d\\x0a\\xe5\\x97\\x46\\x7c\\xf1\\x32\\xdf\\x75\\xcf\\x9b\\x67\\x7e\\x7f\\xcf\\x9d\\xdb\\x35\\x14\\x8c\\x8f\\x3f\\x6a\\xae\\x54\\x3f\\xd2\\xb0\\xe8\\xa4\\xcc\\x46\\x8b\\x45\\x24\\xd4\\xae\\xe0\\x65\\x51\\xd4\\xcb\\x4c\\x88\\x70\\x99\\x32\\xb7\\x9a\\x8f\\x9e\\x50\\x6e\\x29\\x9b\\xe3\\xa0\\x59\\xce\\xdf\\xac\\x36\\x5d\\xfc\\xf6\\x20\\xb6\\x1d\\x14\\xaf\\x33\\x3e\\x6a\\x56\\x37\\xe8\\x85\\x26\\xea\\xdf\\x84\\xdf\\x60\\x97\\x5e\\x97\\x3d\\xc0\\x62\\x01\\xcb\\x80\\x17\\x78\\x83\\xc4\\xef\\x8e\\x4a\\xf4\\xfc\\xa0\\x5b\\xa7\\x69\\xf5\\xa8\\x9d\\x1e\\xa2\\x59\\x6b\\x71\\xa7\\x6a\\x11\\x0f\\x6d\\xfd\\x53\\x0e\\xbe\\xca\\xaa\\xee\\x37\\x8d\\x8d\\xdf\\x6f\\x64\\x30\\x5f\\x14\\xce\\xe0\\x0a\\x06\\x33\\x00\\xd6\\x7e\\x10\\x61\\xb3\\xcf\\xef\\x4f\\x33\\x99\\xcd\\x69\\x7e\\xbb\\xdd\\xb0\\x2b\\x6a\\xb7\\xbb\\x39\\xde\\xbd\\x2b\\xca\\x81\\x55\\xca\\x99\\xf9\\x46\\x3c\\x94\\x16\\xa4\\x20\\x49\\xee\\xb5\\x6e\\x0e\\x61\\xed\\x98\\xca\\x98\\x6c\\xcd\\x27\\x7d\\x88\\x4e\\xa9\\xfb\\xbc\\xba\\x59\\x87\\x5d\\x34\\xeb\\xbd\\x91\\x89\\x93\\x72\\x7a\\xf4\\x30\\x4c\\x33\\x15\\x8c\\xac\\x28\\x9b\\x30\\x21\\xbb\\xa8\\x40\\xbc\\xc6\\xdc\\x6d\\x84\\xf8\\xd8\\x46\\xf5\\xae\\xbc\\xdc\\x50\\x97\\xf1\\xc3\\xba\\xe4\\xe6\\xe5\\xe5\\x8e\\xbb\\x8a\\xcd\\xd1\\xaa\\x65\\xfc\\x73\\xf8\\x77\\xc2\\xf5\\xc0\\xbb\\x01\\xc5\\x84\\x4c\\x66\\xa8\\x4d\\x64\\x14\\xa9\\xf5\\x13\\x89\\x9c\\x2b\\x66\\x13\\x1e\\x6c\\xf1\\x68\\x88\\x9e\\x9e\\xc5\\x2e\\xfc\\xbb\\xa9\\x5d\\xc2\\x7f\\x0c\\xb3\\x6b\\xaa\\x70\\xfd\\x99\\xb9\\xf0\\x39\\xc3\\xda\\xfb\\xe7\\xfc\\x31\\x72\\x46\\xf8\\x9e\\xb5\\x31\\x0f\\xd8\\xb6\\x1c\\x21\\x46\\x49\\xdb\\x84\\x08\\xa4\\xd4\\x0d\\xbe\\xf8\\x3a\\xfe\\x78\\x2d\\x69\\x36\\x1f\\x5d\\x1b\\x15\\x21\\x78\\xa2\\x7a\\xaf\\xe9\\x90\\xf9\\xf4\\x69\\xf3\\x21\\x13\\xd8\\x7b\\xca\\xab\\xaf\\xaa\\xcf\\xb3\\x7a\\x79\\x87\\xd5\\x0b\\xe5\\x83\\xae\\x74\\x36\\x05\\xb3\\x59\\x07\\x09\\x6c\\x20\\x83\\x41\\xd8\\x24\\x1d\\x40\\x15\\xa9\\x67\\x23\\x8e\\x3e\\x61\\xcd\\x7e\\x8e\\x73\\x3a\\xab\\x75\\x4a\\xaf\\x4d\\xb4\\xc6\\x71\\x6f\\x4a\\x1e\\xad\\xca\\x1f\\xdf\\xa8\\xd7\\x77\\x2b\\xdc\\x7c\\xc5\\xc1\\xd1\\x39\\x45\\x83\\x41\\x36\\xf2\\xbc\\x28\\xe2\\x4d\\x72\\x3b\\xb0\\x74\\x0d\\x63\\xbc\\xfd\\xd0\\x63\\x4c\\xf3\\x68\\xdb\\xd9\\x43\\x4f\\xa8\\x63\\x6d\\x27\\xbf\\x6d\\x7d\\xfb\\x50\\x3a\\x2a\\x57\\x52\\xc0\\x08\\xf1\\xa7\\xa4\\x18\\x5c\\x6e\\x77\\x06\\x10\\x24\\xc3\\xcd\\x83\\xb9\\x94\\x96\\x62\\x37\\x20\\x56\\xd1\\xc5\\xc5\\x20\\x0a\\xe8\\x89\\xe5\\x49\\x75\\x1c\\xc7\\xbe\\xd3\\x3a\\xe6\\x68\\xfb\\x29\\xdd\\x78\\x99\\x3a\\xbe\\xeb\\xe2\\x17\\x9b\\x85\\x33\\x6d\\x2b\\x19\\xcf\\x37\\x6f\\x31\\x42\\x5b\\xd2\\xf0\\x9a\\xa0\\xcd\\x1f\\xd1\\xf6\\x2c\\x40\\x4b\\x12\\xb1\\x1d\\x10\\x0c\\xda\\xec\\xf6\\x60\\x9a\\xd9\\xed\\x06\\xeb\\x0d\\x9a\\xb2\\xb4\\x1b\\xc4\\xa5\\xdd\\xa0\\x71\\xe2\\x07\\xd3\\x8b\\x19\\x17\\x38\\xdb\\x61\\x99\\xf0\\x5a\\x4c\\xcf\\xf3\\x0b\\x95\\xe2\\xce\\x39\\xb2\\xe0\\xa0\\xfa\\xf7\\x83\\xf8\\xe1\\xcb\\xa0\\x2b\\x4d\\xa0\\x2d\\x4f\\x5d\\xd6\\x8e\\x2b\\x49\\x4b\\x54\\x38\\x8c\\xaf\\x16\\x9f\\x61\\x7e\\x2d\\x4b\\x94\\x54\\x99\\x4e\\x15\\x49\\x26\\x44\\x8d\\x5e\\xbc\\x3b\\x0a\\x86\\xaf\\x94\\x29\\x85\\x25\\x90\\xb1\\x8d\\x78\\x30\\x74\\x9b\\xa6\\xd3\\x66\\x8f\\x23\\x49\\x6b\\x61\\xc1\\x54\\x87\\xe6\\x4e\\xab\\x2a\\xb8\\x7d\\x7b\\xd1\\xbb\\xe7\\xd5\\x93\\x62\\xfe\\x4d\\xea\\x3f\\xdc\\x18\\xa7\\xff\\x0b\\xea\\xe8\\x04\\xc0\\x1f\\x21\\xfe\\x04\\xf0\\xa9\\x54\\x49\\x45\\xc0\\x4e\\x32\\x96\\x25\\xb3\\x59\\xb2\\x22\\x85\\x53\\x64\\xcb\\x30\\x8e\\x33\\x49\\x9b\\x8c\\x02\\x83\\x4f\\x27\\xea\\x8a\\xc3\\x05\\xa9\\xe7\\xf4\\xf6\\x9e\\xa8\\x21\\xc8\\xc4\\xc5\\x84\\x59\\xa4\\x2c\\xe2\\x19\\xb4\\x7d\\x7b\\xfe\\xd9\\xaf\\xe7\\x7f\\x49\\xde\\x5f\\x20\\x2e\\xb9\\x49\\x3d\\xfa\\x9d\\x67\\xc7\\x0e\\x4f\\x07\\xfd\\x10\\x51\\x3c\\x06\\x19\\xf1\\x92\\x64\\x86\\x16\\x41\\x5d\\x98\\x63\\x45\\x42\\xcf\\x1b\\x75\\xe1\\x99\\xfa\\x41\\x71\\xaa\\xde\\xe6\\x92\\x5b\\x7c\\x9c\\xc6\\xd4\\x9b\\x21\\xa3\\x28\\xe9\\x4f\\x59\\x59\\x2a\\x60\\xe4\\xdb\\xbe\\xb1\\x8d\\x7e\\x73\\xa0\\x21\\x4a\\x8e\\x80\\x78\\x83\\x85\\x07\\xab\\xc1\\xe9\\xe2\\x4c\\x66\\xd3\\xd8\\x28\\x82\\xb2\\xd9\\xed\\xb6\\xb1\\x51\\xbb\\x0d\\xe4\\x99\\x61\\x6c\\x54\\x4a\\xd6\\x76\\x6c\\x25\\x4f\\xfb\\x95\\xcd\\xd4\\x11\\x8c\\x43\\xd3\\x7e\\x6c\\xb5\\x2e\\xd5\\x80\\x7f\\xfa\\x93\\xa6\\x03\\xbf\\xfa\\x8a\\x6a\\x41\\xb2\\x60\\x9b\\xfa\\xc8\\xae\\x5d\\x78\\xf2\\x36\\x3c\\x70\\x17\\x1d\\x1b\\xb8\\xbe\\xe5\\x1b\\xfe\\x56\\xa9\\xc4\\x99\\xc7\\xcd\\xa6\\xa7\\xa8\\xc9\\x57\\xfd\\x80\\x1c\\x92\\x74\\x00\\xcb\\x78\\x3e\\x4a\\x39\\x49\\xf2\\x1d\\x79\\x3c\\x47\\x1a\\x5b\\x3e\\x6a\\xe8\\xd2\\x55\\xb0\\xd1\\x91\\x82\\xd2\\x52\\x54\\xa0\\x8f\\xf3\\x74\\x9e\\xf6\\x01\\x9c\\xf5\\x1f\\xa7\\x7d\\x1c\\x35\\xff\\xc7\\x69\\x9f\\xc0\\x96\\x5f\\x9c\\x36\\x9f\\xbc\\x4a\\x06\\x21\\x56\\x62\\xa4\\x42\\xea\\x3c\\xc5\\xc6\\x73\\x7d\\xe8\\xe1\\x24\\x7d\\x48\\x5e\\x02\\x4c\\xd7\\x9e\\x49\\x60\\x1c\\xf0\\xfb\\x33\\x70\\x1e\\x40\\x2d\\x71\\x38\\x25\\x14\\x4e\\xc9\\x7f\\x08\\xe7\\x71\\xf4\\x97\\xff\\x13\\x38\\x4f\\xfc\\x42\\x38\\xb7\\x03\\x9c\\xe9\\x0c\\xce\\x42\\x8d\\xb6\\xaf\\x68\\xd4\\xf9\\x80\\xd1\\x16\\x3b\\x1c\\x79\\x1c\\xc1\\x8d\\x2d\\x27\\x1b\\x9c\\x2e\\xab\\xd8\\x8e\\xb6\\x9d\\xa7\\x7d\\x00\\xc5\\xfe\\xe3\\xb4\\x8f\\xa3\\xf7\\xfe\\xe3\\xb4\\x4f\\xa0\\xaf\\x7e\\x71\\x5a\\x4a\\xb7\\x3c\\x9d\\x1f\\xde\\xd5\\xe8\\xc6\\x91\\x10\\xa5\\x5b\\x08\\xdb\\x75\\x30\\x0f\\x36\\xb8\\x02\\x49\\x60\\x3a\\xa5\\x5b\\x2b\\x9c\\x07\\xd0\\x67\\xff\\x27\\x70\\x1e\\x47\\x67\\xff\\x4f\\xe0\\x3c\\x81\\x2e\\xfe\\x22\\x38\\x07\\x01\\xce\\x20\\x06\\x67\\xa5\\x46\\xdb\\xaf\\x34\\xea\\x68\\xed\\x14\\x7b\\xf5\\xc4\\x3f\\x34\\xf8\\xfc\\x12\\x6a\\x47\\xdb\\xce\\xd3\\x3e\\x80\\xd3\\xfe\\xe3\\xb4\\x8f\\xa3\\x4b\\xff\\x71\\xda\\x27\\xb0\\xe7\\x17\\xa7\\xa5\\x74\\x1b\\xaf\\xf1\\x03\\x36\\xc4\\xe9\\xd6\\x85\\xd2\\xad\\x0b\\xf6\\x24\\xc0\\xf8\\x83\\x49\\x60\\x3a\\xa5\\x5b\\x2b\\x9c\\x07\\x70\\xee\\xff\\x09\\x9c\\xc7\\xe3\\x72\\xe6\\x7f\\x09\\xe7\\x09\\xcc\\xff\\x22\\x38\\x4c\\x67\\x49\\x19\\xce\\x3c\\x34\\x92\\xa6\\x47\\x2b\\xd1\\x2a\\xbc\\x10\\xb9\\x14\\x13\\x71\\x91\\x3c\\x52\\x65\\x73\\xf2\\x84\\x8d\\x27\\x17\\xe8\\x63\\x9d\\xfb\\xd5\\x29\\x7c\\xa9\\x10\\x45\\x59\\xa8\\xbf\\x12\\xf4\\x3b\\x9d\\x2e\\x9e\\x2e\\xf2\\xe4\\x5c\\x5c\\x76\\xc8\\x1f\\x08\\x58\\x66\\x46\\x03\\xbc\\x87\\x73\\x39\\x11\\x5d\\xf9\\xae\\xef\\xf1\\xe8\\xb0\\x42\\x2f\\x7e\\xe4\\x53\\x99\\x36\\xfa\\x46\\xbb\\x92\\x56\\x76\\x56\\x16\\xd8\\xa0\\x9e\\x08\\xeb\\x02\\x3b\\xec\\x84\\x6c\\x99\\x79\\xa8\\x7c\\xe3\\xd4\\x85\\x9b\\x16\\x56\\xad\\x1e\\x7d\\xdb\\xe4\\xd3\\x7c\\xa3\\xc4\\xaf\\x68\\x3a\\xf5\\xf8\\x9f\\xd4\\x29\\x57\\x5d\\xb5\\xbc\\xe6\\x4f\\xff\\x4d\\x76\\xfc\\xee\\xd1\\xc5\\xc7\\xaa\\x9a\\x5f\\xe0\\x0d\\xb8\\xff\\xdd\\xa3\\x9a\\x9a\\x5a\\x62\\xd7\\xa8\\x2f\\xaa\\x9a\\x0f\\x58\\xba\\x2f\\xa5\\x9b\\x30\\x98\\xed\\x6a\\x4f\\x77\\x5b\\x1d\\x0e\\xa7\\xcf\\xec\\x01\\x7d\\x2f\\x38\\xf9\\xd4\\x80\\xdf\\xea\\xe2\\x3c\\x4e\\x27\\x67\\x98\\x19\\xe5\\xd2\\x12\\xde\\xbf\\xdb\\xa2\\x18\\xd1\\x07\\x09\\xd9\\x18\\xe1\\x00\\xdc\\x9f\\x6e\\xfb\\x4c\\x9c\\x9a\\xcd\\x77\\xdb\\xb0\\x76\\xfc\\x15\\x25\\x5d\\x7a\\xf4\\xf4\\xc4\\xce\\xd9\\x1f\\xf9\\x88\\xd8\\x9d\\x8f\\xdd\\x70\\xc7\\x2d\\xd6\\xbb\\x4c\\x69\\x57\\x4c\\x98\\xc1\\x2f\\x3c\\x36\\xba\\x79\\xaf\\x30\\xb8\\xe9\\xbd\\x5b\\x37\\x73\\x6e\\x9d\\x6e\\x50\\x5f\\x94\\x6e\\xd9\\x60\\x1b\\x84\\xd2\\xbc\\x5e\\x1f\\xf4\\xdf\\x7c\\x16\\x30\\x51\\x43\\x39\\x69\\x99\\x99\\x8e\\x99\\xd1\\x4c\\xde\\xe7\\xe3\\x52\\x38\\xba\\xbe\\x5b\\x92\\x38\\x57\\x7c\\xf0\\x05\\x8c\\xbe\\x8a\\x76\\x87\\x3c\\xc7\\x17\\x39\\x26\\x1d\\x2e\\xda\\x1f\\x6b\\x44\\x4c\\xc7\\xc9\\x44\\xe4\\x4b\\xff\\x71\\xf1\\xe4\\xfb\\xdd\\x8f\\xfb\\xaf\\x5f\\xba\\x79\\x6f\\x5b\\x22\\x92\\xf1\\xea\\x05\\xf5\\xcc\\x8e\\xbb\\x32\\xa6\\x4c\\xfa\\xe1\\xa3\\x7f\\x31\\x3a\\x3e\\x8e\\x57\\xea\\x64\\xa4\\x36\\xf4\\x59\\xb4\\x10\\x17\\x83\\xac\\x31\\x21\\x2f\\x0a\\x9e\\x72\\xd2\\x41\\x55\\x9f\\x4d\\xfe\\x35\\x2e\\x47\\x60\\x51\\xe1\\xfe\\x48\\x77\\x97\\x1e\\x29\\x6e\\x7b\\xae\\x7c\\x9b\\x53\\xc4\\x71\\xf1\\xfe\\x3b\\xef\\xb8\\xe7\\xf6\\x03\\xf7\\xde\\x7e\\xdb\\xc8\\x09\\x93\\x47\\x8d\\x1e\\xff\\x2b\\xfc\\xf5\\xb3\\x67\\x5e\\x38\\xfd\\xe2\\x73\\x2f\\x9c\\xde\\xb1\\xe9\\xfa\\x9b\\xb7\\x6e\\xd7\\xc6\\xf5\\xaf\\x46\\x1b\\xd0\\x11\\xae\\x0a\\x89\\x28\\xa8\\xc8\\x48\\x14\\x89\\x44\\x08\\xe6\\x9f\\x81\\xbc\\x10\\xee\\x47\\x87\\xc5\\xe2\\xe6\\x7f\\xcf\\x22\\xb6\\x6d\\x2e\\xe2\\xc8\\x7c\\xf5\\xcd\\x8d\\x1b\\x48\\x74\\xf5\\xce\\x35\\xb1\\x54\\x6d\\x0d\\xda\\x87\\x68\\x03\\xce\\x01\\x7c\\xd3\\xd0\\x18\\x25\\xdd\\x62\\xb5\\xe2\\x80\\xe4\\x76\\xa7\\xa7\\x82\\xb5\\x29\\x39\\x90\\x45\\xb1\\x3a\\x87\\x41\\x67\\xd9\\x61\\xfc\\x3c\\xea\\x68\\xc4\\xe5\\x27\\x71\\x2a\\x4a\\xfd\\x9c\\x0e\\x92\\xf6\\x6b\\x3b\\x48\\x5a\\x40\\xfb\\x92\\x09\\x33\\x56\\xeb\\x57\\xe6\\xc6\\xc7\\x48\\xdb\\x0d\\x18\\xb2\\x51\\x52\\xf5\\xc3\\x9c\\xb5\\x73\\xae\\x19\\x3c\\xa4\\x7f\\xdf\\x09\\x86\\x1b\\x4c\\xf7\\xae\\xd9\\x52\\x3f\\x71\\xdc\\xda\\x49\\x1e\\x7c\\xe7\\x86\\x81\\x43\\xd6\\x0f\\x51\\x26\\x74\\xef\\xd5\\xbb\\x57\\x69\\xfa\\xd5\\x8b\\x96\\xcd\\x19\\xbc\\xb2\\xd7\\xb8\\xc1\\x39\\x35\\x14\\xd7\\x37\\x81\\xb6\\x45\\x80\\x6b\\x08\\xad\\x51\\x22\\xfe\\x14\\x77\\x66\\x66\\x96\\x2d\\x85\\x47\\xc0\\x11\\x39\\x66\\x84\\x72\\xb2\\xec\\x36\\xbb\\xed\\xb3\\xa8\\xcd\\x9e\\x69\\x0f\\xdb\\x39\\x23\\x67\\xb7\\x73\\x69\\x7e\\xc5\\xe6\\x1c\\x06\\x9d\\xd6\\x34\\xef\\xe7\\xd1\\x34\\x28\\x41\\x03\\x27\\x7f\\x1e\\x95\\x1a\\x5b\\x9e\\x3f\\x01\\x25\\x63\\x63\\xa3\\xfd\\x19\\xc7\\xb4\\x8e\\x8d\\x16\\x24\\xce\\xa6\\xa4\\x03\\x52\\x1d\\x9c\\x1b\\xc4\\x07\\x45\\xbd\\xfa\\x98\\x68\\x19\\xfb\\xa5\\x63\\x3a\\xf1\\x51\\x60\\x8f\\x17\\x17\\xdd\\x7d\\xdb\\x96\\x83\\xd6\\x3d\\xce\\x5d\\xc3\\xc6\\x3f\\x53\\x61\\x8d\\x4c\\x19\\xb5\\x73\\x9b\\x79\\x27\\x94\\x72\\xeb\\x9e\\x27\\x5e\\xc5\\x23\\xe6\\xad\\x5d\\x32\\x23\\x75\\x99\\x52\\xbe\\x70\\x51\\xb8\\xe7\\xdc\\xd9\\xb6\\x69\\x35\\xcb\\x66\\x6c\\xcf\\x22\\xcc\\x3f\\x35\\xf4\\xc1\\xa0\\x3e\\xae\\x80\\x3a\\xa5\\xdb\\x58\\xfb\\x29\\x7e\\x9b\\x20\\x38\\xec\\x22\\xf4\\x15\\x31\\x1d\\xc1\\xb3\\xf1\\x9f\\x47\\x0d\\x36\\x1b\\xa1\\x63\\x9f\\xe5\\x6c\\x83\\xba\\x36\\xf6\\x19\\xe9\\x30\\x74\\xc0\\xba\\x90\\x89\\x81\\x4f\\x1b\\x16\\xa5\\xc8\\x9b\\x75\\x6a\\x35\\xbe\\xe5\\xfa\\x6b\\xbf\\xc9\\x39\\x6e\\xf1\\x37\\xe3\\xb4\\xfb\\xef\\x9f\\x88\\x7f\\x50\\xbb\\x5d\\x8b\\x8f\\x96\\x7e\\xec\\xa1\\x73\\x27\\xea\\x79\\xa0\\x6f\\x4f\\x6e\\x1a\\xf4\\xfe\\x66\\x2b\\x41\\x9f\\xdb\\x4d\\x4f\\x57\\x77\\x79\\x5d\\x48\\x14\\x84\\x0c\\x20\\x70\\x86\\xd3\\x66\\x03\\x59\\xc5\\xb9\\xdd\\xbe\\xcf\\xa3\\xee\\x46\\xdc\\x97\\x11\\x53\\xd4\\x89\\xc9\\xc6\\x3e\\x93\\x89\\xa9\\x99\\xe6\\x11\\x47\\x87\\xae\\x57\\x2b\\x21\\x83\\x89\\xc1\\xe5\\xbc\\xd6\\xe1\\x4f\\x46\\x47\\xdc\\xf3\\xf0\\x0e\\xb5\\xa5\\xe7\\x1e\\xf7\\x98\\x01\\x23\\xa7\\x0c\\x1f\\x5b\\x31\\x2e\\xb8\\x22\\x1d\\xc7\\xd4\\x5a\\x47\\x68\\x62\\xc5\\xe6\\x3b\\xf0\\xda\\x0d\\x7b\\x7e\\xe7\\x2f\\x2f\\x9d\\x30\\x74\\xe0\\xf8\\x2e\\x19\\xf8\\xce\\x15\\x4f\\xa6\\x85\\xb6\\x6b\\xf4\\xbb\\x80\\x16\\xe0\\xae\\xc0\\x23\\x74\\xcf\\xfe\\x08\\x25\\xe8\\x48\\x4f\\x37\\x9b\\x4c\\x22\\x12\\x43\\x3e\\x84\\x42\\xa9\\x8e\\x03\\xee\\x63\\x6e\\xe2\\x76\\x73\\x56\\xf9\\x7e\\x33\\x36\\x9b\\x59\\xc3\\x0c\\x26\\x1a\\x66\\x78\\xba\\x43\\x1f\\x4a\\x4e\\xac\\xab\\xa7\\x03\\xe2\\xed\\x9a\\xaa\\x7e\\xd2\\x36\\xc3\\xb3\\xcd\\xd9\\xff\\x5d\\xef\\xdd\\x72\\xc7\\x7d\\x47\\xf6\\xbe\\x54\\xb6\\x3d\\x6d\\xc6\\xe8\\x69\\xbe\\x59\\xc3\\x56\\xd6\\xd7\\x0f\\x19\\x37\\x70\\xd8\\xf0\\x21\\x83\\x47\\xe3\\xa5\\xab\\x76\\xff\\xe6\\xf8\\xab\\xaf\\xef\\x4b\\x19\\xb9\\x6e\\x43\\x76\\xcf\\x4d\\xeb\\x46\\x0c\\xbc\\x6a\\xd0\\xe0\\xd1\\xa3\\xb5\\x36\\xb8\\x1e\\x87\\xb8\\x6b\\xa0\\xce\\x8b\\x14\\x27\\xf4\\xe4\\x0d\\xc8\\x60\\x92\\x10\\x88\\x10\\x83\\x6c\\xf8\\x3c\\x2a\\x3f\\x83\\xfb\\x22\\x9e\\xd5\\x75\\xf2\\x90\\x8a\\x3e\\x7a\\x2b\\x26\\x46\\x6f\\x71\\xe8\\xfe\\x0d\\x7b\\x37\\x1d\\x56\\x07\\x93\\x21\\xa4\\xf9\\x51\\xf5\\x9d\\xc7\\xef\\xc0\\xa1\\xc6\\xa5\\x74\\x2c\\xea\\x82\\xde\\x6e\\x52\\x80\\x26\\x3d\\xd0\\x64\\x25\\x94\\x61\\x49\\x75\\xb9\\xbc\\xb2\\x85\\x47\\x5d\\x45\\xb1\\x30\\x84\\x50\\xa1\\x57\\xce\\xca\\xcb\\xca\\xfb\\x2c\\x9a\\x95\\x05\\xcd\\x26\\x8d\\x4d\\x89\\x40\\x5b\\x29\\xf8\\x2c\\xaa\\x55\\x6a\\xfb\\x23\\xdc\\x2f\\xdb\\x30\\xe8\\xe6\\xba\\xb6\\x5e\\x0c\\x32\\x30\\x07\\xcd\\x83\\x51\\xc8\\xa7\\x13\\x8b\\xd2\\xaa\\xe8\\xbe\\xdd\\xbb\\xf7\\xcf\\x1a\\x3b\\x62\\xcc\\x9d\\xd7\\x6d\\xbc\\x7b\\xdc\\xc8\\x71\\x95\\x87\\x6e\\xbe\\x69\\xf0\\xe0\\x9b\\x9c\\xe3\\x46\\x0c\\x1f\\x7b\\xdf\\xe8\\xab\\xf0\\x95\\x0b\\x96\\x2e\\x9b\\x37\\xac\\xda\\x4c\\x6c\\x33\\x06\\x4c\\x5e\\xbc\\x30\\xda\\x7f\\x86\\x95\\x98\\x66\\x63\\xf7\\x82\\x05\\xbd\\xfa\\x5c\\xec\\x5b\\xae\\x94\\x5d\\xaf\\xb0\\xfa\\x7e\\x07\\xea\\xbb\\x1b\\x94\\xcd\\x8f\\x72\\xd0\\x04\\xa5\\x8b\\x2b\\x33\\x53\\xb4\\x98\\x41\\xe8\\x8a\\xb9\\x29\\x08\\xe5\\x7a\\xc7\\xa4\\xcd\\x4c\\x5b\\x9a\\x76\\x34\\xed\\x74\\x9a\\x90\\x96\\xc6\\xd9\\xe5\\x4d\\x96\\x5b\\x2d\\xc4\\x62\\x81\\x7a\\xef\\x0f\\xc4\\xe0\\xa0\\xf6\\xdb\\xd4\\x7b\\x32\\x71\\xf5\\x62\\x25\\x39\\x28\\x89\\x73\\x2b\\xdb\\x85\\x9f\\xec\\xc5\\x40\\x7d\\xe7\\xde\\x2d\\x7b\\xef\\xbf\\xeb\\xe0\\xdc\\x1b\\xd3\\xb6\\xdb\\x46\\x17\\xc4\\xeb\\x7e\\xe4\\x08\\xad\\xee\\xc9\\x9c\\x55\\xbb\\x7f\\xdd\\xf0\\xdb\\xd7\\x26\\x8c\\x4a\\xe9\\x9a\\xbf\\x9a\\xd6\\xfe\\x86\\xf1\\xca\\xc8\\x21\\x83\\xaf\\xba\\x4a\\xe3\\xd9\\x09\\xd0\\xa7\\x7f\\x5c\\x4a\\x45\\x02\\x9b\\xfb\\xc8\\xb5\\x59\\xe9\\xe1\\x22\\x92\\x64\\x32\\x9b\\xed\\x6c\\x5c\\x07\\xdb\\x8d\\x36\\x6b\\xa6\\x95\\x58\\x0d\\x3c\\x8f\\x69\\x17\\x1f\\x9b\\x0d\\x5a\\xf7\\xfe\\xa5\\x82\\x3e\\x61\\xfb\\xb9\\xd6\\x01\\xa9\\x4e\\x46\\x2c\\x4b\\x7d\\x1e\\x36\\xf6\\x55\\xea\\x8a\\xbc\\xfd\\xee\\xc5\\x59\\x75\\x0b\\xde\\x27\\x1f\\xcd\\xff\\xe4\\xac\\x94\\x6a\\x3e\\x66\\x3c\\xea\\x7e\\xf8\\x61\\x37\\xb6\\x52\\x1c\\x26\\x01\\x0e\\x8f\\xe9\\x38\\x0c\\x55\\x42\\x14\\x07\\x8a\\x00\\xa0\\x61\\x67\\x63\\x56\\x60\\x57\\xf0\\x34\\x6b\\x5e\\x47\\x25\\x8e\\x01\\x64\\x4e\\x91\\xa0\\x43\\xe3\\xc5\\xed\\xf3\\xe7\\x3c\\x74\\x88\\x01\\x27\\xf2\\x5f\\x30\\xeb\\xe2\\xbb\\xe4\\x3a\\x1d\\x01\\x71\\xbe\\xf1\\x98\\x59\\xbd\\x3f\\x8e\\x01\\xc5\\x61\\x3d\\xe0\\xb0\\x15\\x70\\xb0\\xb3\\x19\\xbb\\xdc\\xd4\\x14\\x90\\x34\\x2e\\xa7\\xd3\\xeb\\xf3\\x05\\x40\\x33\\x09\\x02\\x92\\xe5\\x80\\x27\\xc5\\xb5\\xc9\\x66\\xb5\\x12\\x89\\x22\\x23\\x79\\x5d\\x71\\x3a\\x14\\x83\\x14\\x4c\\x8d\\x9f\\x24\\x9d\\x38\\xaa\\xb6\\x15\\x17\\x5c\\xd2\\x3a\\xee\\x4e\\x97\\x51\\x17\\x4b\\x09\\xb4\\x70\\x4a\\x79\\xa4\\x8b\\xbb\\xef\\xc0\\xbb\\x06\\xf6\\xea\\x3f\\xc2\\x11\\x47\\xef\\x78\\xc8\\xae\\xb8\\x67\\x75\\xef\\xed\\x1b\\xfd\\x76\\x32\\x8e\\x2f\\x02\\x8e\\x15\\x80\\xa3\\x0f\\xc4\\xc6\\x38\\x25\\x2f\\x3d\\xcd\\xef\\x4f\\x0d\\x66\\x66\\xba\\xdc\\xee\\xac\\x94\\xd4\\x54\\xc9\\x60\\xc8\\xf2\\xa7\\xd9\\x0d\\xa0\\x4e\\xd3\\x90\\x9b\\x37\\x53\\x24\\xcd\\xa9\\x41\\x0d\\xc9\\xb3\\x05\\xc5\\xc5\\xda\\x96\\x86\\xb8\\x50\\xec\\x58\\x63\\x9d\\x8e\\x45\\xd9\\x70\\x08\\x94\\x37\\xd4\\xe3\\xe5\\x06\\xcf\\x9e\\xbd\\xf3\\x9e\\xdf\\x9f\\x79\\xf3\\x1e\\xf1\\xea\\xb6\\xc3\\x51\\xcb\\x06\\x9a\\x6f\\xd9\\x6d\\xd4\\xf0\\x7e\\x15\\xf0\\xee\\xc3\\xea\\xd7\\x85\\xca\\x14\\x9f\\x36\\x02\\x2f\\xdb\\x1d\\x0e\\xb7\\x51\\x96\\xdd\\xbc\\x43\\x96\\xf1\\xf3\\x16\\x51\\x1f\\x34\\x3a\\x0b\\xc4\\x7c\\xa9\\x93\\x71\\x3d\\x8d\\x9f\\xa0\\x21\\xc4\\xe7\\xb9\\xa1\\x25\\x5c\\xfc\\x70\\x73\\xf4\\xfa\\xc3\\xce\\x45\\x8e\\x85\\x13\\x27\\xce\\x77\\x2c\\xf2\\x1e\\x04\\xce\\xba\\xcd\\xf8\\xe7\\x6d\\x75\\x83\\xca\\x7a\\x0f\\x5c\\x7d\\x7d\\x27\\x79\\x0b\\x3c\\x0f\\x2c\\x95\\xc8\\x9b\\x40\\xde\\xc2\\xbf\\xcf\\x9b\\xf1\\x92\\xab\\x4d\\xde\\xd7\\x6c\\xfe\\xf0\\x62\\xb0\\x4d\\xde\\xe2\\x0d\\xc6\\xdb\\xcc\\xea\\x8e\\x44\\xe6\\xad\\x79\\x5b\\x40\\xab\\x55\\x28\\x69\\x56\\x9f\\x2f\\xcd\\x45\\xb7\\x40\\x98\\x32\\x78\\x8e\\xcb\\x48\\x0b\\x04\\x24\\x13\\xc7\\x49\\x76\\xcf\\xf3\\x12\\x62\\x08\\x14\\xa7\\x6a\\xc3\\x9a\\x8c\\x83\\xda\\x08\\x39\\xe0\\xe7\\x36\\xb9\\x73\\x49\\x1c\\x55\\x80\\x4b\\x8b\\x71\\x1b\\x4c\\xaa\\x74\\x9e\\xba\\x6a\\x78\\x68\\x84\\x70\\x38\\x8e\\x10\\xb6\\x32\\xae\\x2a\\x2a\\x29\\x4b\\xe6\\x25\\x13\\xc8\\xae\\xc1\\x0a\\x20\\x64\\x90\\x39\\xd9\\x1d\\xcc\\xca\\xca\\x05\\x76\\xca\\x4d\\x77\\x9b\\x65\\xce\\x0c\\x7f\\x59\\x0e\\xff\\xf3\\x62\\x2b\\x76\\xc5\\xf1\\x6d\\x31\\x9d\\x8c\\x69\\x32\\xfa\\xb0\\xf1\\x68\\x2b\\x2e\\x63\\x27\\x4d\\x6a\\xac\\xc4\\xce\\x85\\x64\\xc3\\x9a\\xd5\\xdb\\xac\\x93\\xd2\\x6f\\xda\\x9e\\x3e\\xc9\\x73\\x7d\\x4a\\x68\\xd0\\x15\\xfd\\x03\\xe3\\x1c\\xd3\\x80\\x83\\x94\\x9c\\x21\\x4a\\x79\\x2a\\x65\\x27\\x53\\xb7\\x91\\xc2\\xe1\\x85\\xd3\\x27\\x4c\\x98\\x53\\xf5\\x3e\\x28\\xff\\x7e\\x57\\xf4\\x09\\xc2\\x4f\\x66\\xba\\x52\\x9e\\xc9\\x64\\x15\\xff\\x24\\x7e\\x5c\\xcc\\x63\\x72\\xa2\\xbf\\x92\\xd6\\x41\\x56\\xd9\\xb1\\xc2\\xf3\\x46\\xeb\\x26\\xb3\\x61\\x8f\\x36\\xfc\\xd8\\x27\\xcc\\x46\\x1f\\x3b\\x4a\\x87\\x9f\\x93\\x4e\\x62\\x5e\\xb2\\x74\\x6a\\x9f\\x6f\\x85\\x92\\x2e\\x89\\x26\\x93\\x0c\\x42\\x01\\x18\\x48\\x97\\x4f\\xbc\\x42\\x40\\x2a\\x89\\x9b\\xac\\x46\\x3d\\x63\\xc7\\x65\\x73\\xd6\\xe4\\x92\\x8f\\x6e\\xcc\\x60\\x79\\x2f\\x02\\xb9\\xf4\\xc7\\xb3\\x9f\\xcc\\xff\\x88\\xbc\\xbf\\x40\\xa8\\x03\\xb1\\x34\\x41\\xfd\\x2f\\x9a\\x37\\xcd\\x77\\x31\\xe4\\x7b\\xbb\\xb8\\x02\\x39\\x50\\x00\\xea\\x28\\x18\\x48\\xf5\\x78\\xfc\\x6e\\x97\\x8b\\x4e\\x84\\xc4\\x65\\x52\\x1a\\x91\\x40\\x22\\x79\\x53\\x37\\xf9\\xdd\\x89\\x32\\x47\\xce\\xfe\\x8f\\x24\\x91\\x36\\x03\\xc8\\xb5\\x8a\\x22\\xeb\\xc8\\xfe\\xa5\\xa9\\x43\\xa2\\xcf\\x5f\\x39\\x7c\\x5a\\xb7\\x52\\xaf\\x4e\\x0d\\xe1\\xc7\\xee\\xae\\xb1\\xfe\\x65\\x45\\x83\\xe5\\xbc\\x19\\xc4\\xa9\\xe1\\x16\\xa7\\x4b\\x23\\xe0\\x37\\x5c\\xfc\\x0e\\xc9\\xd0\\xb3\\x1c\\xae\\x64\\x63\\x24\\x08\\x06\\xe0\\xec\\xf4\\x8c\\x8c\\x6c\\x10\\x46\\x0e\\xa7\\x33\\x5b\\x44\\xa9\\x4e\\x23\\xd8\\x16\\xc6\\x0c\\xab\\xd7\\xc0\\xef\\x61\\x13\\x5d\\xff\\x4e\\x0e\\x71\\x09\\xda\\x74\\x3e\\x3a\\x5e\\xa5\\x53\\x0b\\x37\\x5e\\x46\\x22\\x09\\x6f\\xe9\\x68\\xce\\xef\\x30\\x6f\\x43\\xd4\\xe3\\x80\\xf3\\x28\\xf1\\x7b\\x76\\x02\\x4b\\x99\\x92\\x62\\xb5\\xd9\\x1c\\x66\\x33\\x30\\xbf\\xec\\x04\\xcc\\x9d\\x32\\xe7\\x80\\x3f\\x9b\\x48\\x67\\x5c\\x8a\\xcf\\xea\\xcc\\xde\\x41\\x1e\\x70\\x49\\x9c\\xce\\x81\\x74\\xf4\\x08\\x78\\xeb\\x49\\xe7\\x8a\\xb4\\x67\\x9f\\x49\\x5f\\xe1\\x39\\xfe\\xf7\\x77\\xcf\\xab\\xaf\\xf1\\x4f\\x3e\\xb2\\x63\\xdf\\xbe\\x5d\\x47\\xf0\\x70\\xf7\\xc5\\xf4\\x77\\x3b\\xe6\\x0b\\x95\\x66\\x76\\x38\\x92\\xf2\\xa5\\x8d\\xed\\xdf\\xe5\\x9b\\xdc\\xc2\\xb8\\x5c\\xe0\\x22\\x0f\\xde\\xfe\\x94\\x67\\x45\\xfa\\x33\\xcf\\xa6\\xad\\x70\\x9e\\xdc\\xa1\\xbe\\x76\\xfe\\x5d\\xfe\\xc9\\x87\\x6e\\xd9\\xb7\\x6f\\xe7\\xc3\\x78\\xf8\\xbb\\xe9\\x17\\xdd\\xf1\\x7c\\xa5\\x02\\xc8\\x97\\xca\\xa0\\x74\\xd0\\x13\\x0e\\x87\\xd9\\xe3\\xa1\\x39\\x33\\x29\\x14\\x48\\x4d\\x95\\x39\\xce\\xea\\x7a\\x5e\\xcb\\x1b\\xda\\x78\\x9f\\xf6\\x86\\x73\\xa2\\x57\\xd5\\xa6\\xdc\\x1d\\x38\\x29\\x99\\x06\\xe3\\xa7\\x27\\x4d\\x2b\\x27\\x68\\xf1\\x5e\\x99\\xbf\\x2a\\x63\\x47\\xf9\\x24\\x53\\x97\\x1a\\x2e\\x23\\x41\\x93\\xef\\x00\\xb7\\x10\\xc5\\x2d\\x33\\x18\\x04\\xac\\x72\\x40\\xfe\\x00\\x62\\x39\\x69\\x71\\x11\\x14\\xb4\\xfb\\x75\\xba\\xb4\\x17\\x3f\\x6d\\xa6\\x2e\\x92\\x71\\xeb\\x7c\\x56\\x25\\x09\\x3f\\xf9\\x32\\xac\\x93\\x40\\x75\\x7d\\x07\\xd6\\x41\\x18\\x2d\\x14\\x1e\\x24\\x4e\\xf1\\x5e\\x7a\\x96\\xab\\x62\\x02\\x66\\xe7\\x08\\x11\\x25\\x6e\\x93\\x26\\x1e\\x53\\xcf\\x25\\xaf\\x7a\\xd2\\x6a\\xe7\\x00\\xad\\x12\\xe1\\x41\\x56\\x15\\x90\\x7e\\x18\\xc8\\xdc\\xef\\xc5\\x7b\\xb4\\xf4\\xf1\\xb5\\x57\\x2c\\xfd\\x90\\x76\\xe9\\x5d\\x8c\\xab\\x86\\x51\\x4e\\x12\\x0e\\x33\\x0e\\x62\\x6b\\xd6\\x84\\xc3\\xe4\\x0e\\xf1\\x21\\x68\\x6f\\x05\\x8a\\x43\\x36\\x70\\x1c\\x9b\\xd4\\x15\\x45\\x23\\x2f\\x6f\\x12\\x49\\x62\\xd2\\xa5\\xcd\\xdc\\x35\\x9b\\x07\\x61\\xad\\xa9\\x2c\\x42\\xee\\x80\\x46\\xfd\\xe5\\x7c\\xf5\\x90\\xf0\\xb4\\xfb\\xe6\\x9b\\xdd\\xdf\\x75\\x80\\x89\\xe8\\xe6\\x3c\\x68\\xba\\x40\\x7f\\xa3\\xc4\\x6f\\x12\\xf1\\x65\\x61\\x26\\xe6\\x6f\\xf0\\xaf\\x0e\\xa9\\x6c\\xf6\\x46\\x38\\xfc\\x1d\\x05\\x4a\\xd7\\xd3\\xf4\\x10\\xde\\x20\\x53\\xc5\\x1b\\xd8\\xdc\\x4d\\xbe\\x62\\xd7\\xa6\\xf5\\x0d\\xb2\\x40\\x10\\xd1\\xe6\\xf4\\x87\\xea\\x73\\xfa\\xed\\xf6\\x5e\\xd1\\x59\\x66\\x7c\\xea\\x60\\xec\\xad\\xc3\\xc2\\x1b\\xda\\xe4\\x32\\x6e\\xf9\\x52\\x38\\x42\\x4e\\x88\\xf7\\x83\\x8d\\x9d\\xab\\x58\\x3d\\x5e\\x2f\\x70\\x48\\x8a\\x57\\xb0\\x6c\\x72\\xca\\xba\\x56\\xa2\\x53\\x3f\\xc9\\x93\\xa2\\xda\\x19\\xc7\\x6d\\x55\\x0f\\xc6\\x7f\\xed\\x36\\x71\\xec\\xa8\\x50\\x6e\\x9e\\x69\\xa9\\x29\\x3c\\xbe\\xa2\\xfb\\xc4\\xb1\\x57\\x65\\xe5\\x76\\x31\\x2e\\xb3\\x57\\x09\\x47\\x72\\x7b\\xe4\\x86\\x87\\xcd\\x9a\\xdd\\x8b\\xfd\\xde\\x5c\\x03\\xf8\\x07\\x85\\xc3\\xd0\\x16\\xef\\x65\\xe7\\x34\\xf5\\x54\\xdc\\x90\\xa5\\x49\\x14\\x91\\x56\\x61\\xf4\\x50\\xc1\\x4d\\x09\\x8d\\x78\\xae\\xb8\\xa3\\x43\\x19\\xad\\xee\\x22\\xec\\x3b\\xf8\\x32\\xd4\\x60\\xec\\x65\\xad\\x1a\\x3f\\x4d\\x7f\\x8f\\x5e\\x48\\xdb\\x8b\\x0b\\x79\\x1c\\x17\\xf7\\x83\\x6d\\x10\\x52\\x2c\\x3c\\x18\\x05\\x9c\\xc9\\x6a\\x33\\xf2\\x9b\\x92\\x4d\\x81\\xb6\\x87\\xad\\xb7\\x6a\\x7f\\x32\\x77\\xdb\\x09\\xe7\\x0a\\xc7\\x92\\x69\\xd3\\x16\\x39\\x56\\x78\\x1a\\x84\\xc3\\x37\\x2f\\x2d\\xed\\xd7\\xbf\\xa4\\x76\\x3b\\xc0\\x9d\\xc8\\xbf\\xc5\\xad\\x11\\xc6\\xb3\\x73\\x92\\x8d\\x18\\xf1\\x02\\x26\\xbb\\xa3\\xf8\\x01\\x7d\\x51\\x5e\\x7c\\x22\\x7c\\x0d\\x9d\\x08\\xe3\\xdf\\xda\\xa8\\x8d\\xb7\\x86\\x5b\\xde\\xe2\\xf7\\x8b\\xd7\\xdb\\xf3\\x04\\xd3\\x2a\\xba\\x87\\xe5\\x7b\\xd5\\xaf\\xad\\x19\\x16\\xdd\\x68\\x8a\\x62\\x25\\xe9\\x43\\x99\\x03\\xa9\\xec\\x74\\x8c\\xe8\\xce\\x92\\x9f\\x94\\xee\\xe9\\x21\\xba\\x90\\xdc\\xe7\\xf2\\x61\\xbb\\x4f\\xf1\\x2d\\xf3\\x71\\xc8\\x17\\xf4\\x15\\x41\\x70\\xac\\x6f\\x16\\xdc\\x6e\\xf2\\xdd\\xea\\x3b\\xe0\\x3b\\xe6\\x7b\\xde\\xf7\\xa6\\xcf\\xd2\\xd8\\xf2\\x4a\\x83\\xcf\\x67\\x30\\xe4\\x16\\x4c\\xa7\\xeb\\x8b\\x5b\\xd7\\x87\\xb7\\xcd\\xd7\\x21\\x69\\xf9\\xa2\\xde\\x4a\\xfe\\x7f\\x06\\xb9\\xd3\\xb5\\xfb\\xdf\\xb5\\x4c\\xe2\\x8c\\x28\\x4b\\xf1\\x60\\xde\\x8e\\x83\\x76\\x7c\\x9f\\xdd\\x4e\\x57\\x2b\\xdb\\x67\\xda\\x71\\x91\\x3d\\x79\\x63\\x4a\\x27\\x69\\xbf\\x68\\x59\\xc4\\xd2\\xba\\x09\\x5d\\xf0\\x1c\\x8c\\x2f\\x75\\x26\\xd8\\x56\\x64\\x63\\xcb\\x94\\xb5\\xa4\\xda\\xfa\\x66\\x75\\x23\\x5d\\xb7\\xeb\\xcc\\x33\\x7c\\xc2\\x68\\xf7\\x65\\x13\\x42\\xc5\\x4a\\x80\\xee\\x33\\xc4\\xfd\\x1a\\xfb\\xe1\\xfc\\x7e\\xd8\\xdb\\xaf\\xba\\xdf\\xca\\x7e\\x9c\\xd0\\x0f\\x97\\xf4\\xdb\\xda\\x0f\\xda\\xeb\\xa8\\x86\\x7e\\xfd\\x90\\x23\\xb7\\x40\\x5f\\x0a\\x4e\\x3f\\xa8\\x33\\x58\\xdf\\x7e\\x89\\x40\\x62\\x78\\x00\\x52\\x4e\\x4a\\x0e\\xbe\\x31\\x07\\x0b\\x39\\x83\\x73\\xc8\\x9b\\x39\\x39\\x7a\\x62\\x9a\\x54\\x4b\\x77\\xa8\\x4d\\xba\\x6f\\xa0\\x85\\xdb\\x14\\x19\\x92\\x5d\\xd0\\xe2\\x3a\\xb4\\x78\\xed\\xf7\\x7d\\xfd\\x9f\\xed\\x0d\\x42\\x22\\x7a\\x09\\x70\\x97\\x5a\\xfe\\x06\\x2d\\xc7\\x07\\x52\\x3d\\xcc\\xce\\xe7\\xc9\\x55\\x5c\\xfd\\xfa\\x04\\x50\\x16\\x56\\xb2\\x0e\\x64\\x91\\x2c\\x8f\\x2c\\xf7\\xcf\\xb7\\x71\\x88\\x3a\\x53\\x06\\xee\\x3e\\x3b\\xfd\\xda\\xe2\\xe2\\xe2\\x9e\\x45\\xbe\\xa4\\xde\\x6e\\xb2\\x9b\\x4e\\xe9\\x32\\x2e\\x3b\\x3d\\xc9\\x71\\xa0\\x99\\xbc\\x54\\x98\\x9d\\x5d\\x58\\x14\\x0c\\x16\\x7d\\x51\\x18\\x64\\x81\\xc2\\xba\\x30\\xdc\\x85\\xb3\\x82\\x61\\x52\\x54\\x98\\x1d\\x2c\\x2a\\x82\\xc7\\x85\\xc1\\xac\\x30\\x84\\x0b\\x5f\\x5d\\x3a\\x5b\\x8b\\x1c\\xce\\x82\\x87\\x34\\xe1\\xd1\\x20\\xbc\\x0c\\x16\\x15\\xfe\\x57\\x76\\x8f\\x1e\\x10\\xa1\\xf0\\xa8\\xfe\\xae\\x10\\xd7\\xa8\\xcc\\x6f\\x12\\x8f\\x3e\\x55\\x37\\x71\\x5f\\x42\\xd9\\x38\\xe6\\xe1\\x29\\x13\\x05\\x14\\x90\\x2c\\x99\\x28\\x05\\x2b\\x29\\x07\\x52\\x48\\x4a\\x86\\x44\\x77\\x83\\x42\\x69\\xfa\\x84\\xa1\\x34\\x59\\x9e\\xac\\x9f\\xc3\\xf6\\x53\\x3c\\x54\\x7d\\x9a\\xcc\\xed\\x88\\x57\\xe9\\xc2\\x01\\x9d\\x63\\xd0\\x9a\\xbf\\x04\\x7d\\x19\\x7a\\x0a\\x12\\xcb\\x3f\\x88\\xe8\\x46\\xb5\\x03\\xe9\\x24\\x3d\\xcb\\x94\\x94\\x3f\\x2e\\x65\\xb3\\xdf\\x9e\\x9f\\xc3\\x01\\x8f\\xab\\xc1\\x43\\x17\\xe2\\x1b\\x3b\\x22\\xa1\\x7e\\xb3\\x62\\xe1\\xc2\\x15\\xc7\\x3b\\x45\\x84\\xa0\\xba\\x96\\x6f\\xf8\\x72\\x31\\x00\\x58\\x14\\x81\\x28\\x2b\\x29\\x24\\xf9\\x56\\xce\\xe3\\xa6\\xc2\\x76\\x00\\x91\\xb1\\xd7\\x97\\x41\\x3c\\x6e\\xba\\x5c\\xba\\x90\\x3a\\xee\\x23\\x65\\xb8\\x34\\x47\\xf0\\xe4\\x71\\xd7\\xf5\\x1c\\x3c\\x32\\x75\\xf8\\x0d\\xd5\\xfd\\x42\\xc3\\x97\\x8e\\x1a\\xb7\\x6c\\x70\\xa6\\x5a\\x8b\\xc3\\x53\\x6d\\x91\\x31\\x3d\\x95\\x75\\x0d\\xcb\\x6b\\x1b\\x36\\x5c\\x39\\x7c\\xe3\\xc3\\xb3\\xd4\\x8b\\xf8\\x0e\\x5c\\xf8\\x25\\xbe\\x30\\xa9\\x7e\\xf9\\xe4\\x40\\xea\\xb8\\xda\\xdb\\xa6\\x8d\\xdc\\x32\\xab\\xac\\xd7\\xcc\\x2d\\xdc\\x2b\\xea\\xb3\\xb3\\x1c\\x7d\\x6f\\xb8\\xbf\\xb2\\xe6\\xe4\\x96\\x61\\x83\\x36\\x9e\\x5a\\xbe\\xec\\xd8\\xf6\\xca\\x2c\\xdc\\x77\\xd5\\x6f\\x26\\x6e\\x9d\\x40\\x6b\\x28\\x03\\xd7\\x68\\xde\\x39\\xe0\\x33\\x19\\x3d\\xa1\\x87\\x31\\xb2\\xe1\\x5c\\x3d\\x4c\\x90\\x04\\xd2\\x55\\x0b\\x73\\x28\\x15\\x6f\\xd1\\xc3\\x3c\\xc4\\x79\\x4e\\x0f\\x0b\\xc8\\x8a\\xbf\\xd1\\xc3\\x22\\xb2\\x92\\x14\\x3d\\x2c\\xa1\\xb5\\x60\\xb5\\x68\\x61\\x03\\x72\\x73\\x67\\xf4\\xb0\\x8c\\xac\\xdc\\x4f\\x7a\\xd8\\x88\\x97\\x8b\\xdf\\xea\\x61\\x13\\x4a\\x33\\xdc\\xa3\\x87\\xcd\\xa8\\x50\\xf6\\xea\\x61\\x0b\\x2a\\x95\\x9f\\xd4\\xc3\\x56\\x94\\x6a\\x4c\\x07\\x4c\\x30\\x0f\\x12\\x87\\xee\\x25\\xd0\\xc3\\x18\\xca\\x22\\xe8\\x61\\x02\\xf8\\x94\\xea\\x61\\x0e\\x95\\xe0\\x51\\x7a\\x98\\x87\\x38\\xfb\\xf5\\xb0\\x80\\xd2\\xf0\\x1b\\x7a\\x58\\x84\\x70\\x93\\x1e\\x96\\xd0\\x8f\\xa4\\x8b\\x1e\\x36\\xa0\\x2e\\xdc\\x3e\\x3d\\x2c\\xa3\\x34\\xee\\x1d\\x3d\\x6c\\x24\\x7f\\xe1\\xe3\\x79\\x99\\x50\\x6f\\x43\\xa5\\x1e\\x36\\xa3\\x6b\\x0c\\x8d\\x7a\\xd8\\x82\\x16\\xca\\x83\\xf5\\xb0\\x15\\x95\\xc8\\x5f\\xa0\\x41\\x68\\x01\\x9a\\x07\\x57\\x1d\\x5c\\x6b\\xd1\\x5c\\x34\\x07\\x05\\xe1\\xaa\\x84\\xfb\\x4a\\x08\\x55\\xa1\\xa5\\x68\\x19\\x5a\\x83\\x6a\\x59\\xac\\xf9\\xf0\\x34\\x88\\xba\\xc0\\xd3\\xae\\xf0\\x5b\\x0c\\x5c\\xd3\\x13\\xae\\x20\\x1a\\x0a\\xb1\\x96\\xc2\\xfb\\xc5\\x90\\x3e\\x88\\x06\\x42\\xb8\\x16\\x52\\xd1\\xef\\x4a\\x06\\x77\\x29\\xaa\\x41\\x85\\xd0\\x7b\\x18\\xf8\\x6f\\xa1\\x15\\x43\\x68\\xbc\\x8e\\xc5\\x30\\x96\\xba\\x3b\\x84\\x86\\x43\\xfa\\x2a\\x80\\x80\\x06\\x2d\\x98\\xb7\\xa0\\x6e\\xc1\\xda\\xb9\\x73\\x82\\x73\\x2a\\xeb\\x2a\\x83\\x55\\x4b\\x97\\xad\\xa9\\x5d\\x30\\x6f\\x7e\\x5d\\xb0\\x4b\\x55\\xd7\\x60\\x71\\x51\\xcf\\xa2\\xe0\\xd0\\xa5\\x4b\\xe7\\x2d\\x9e\\x1b\\x1c\\xb8\\xb4\\x76\\xd9\\xd2\\xda\\xca\\xba\\x05\\x4b\\x6b\\x0a\\x8d\\x03\\xdb\\x47\\x2b\\x0e\\x8e\\x07\\x10\\xc3\\x2a\\xeb\\xba\\x07\\x87\\xd7\\x54\\x01\\xdc\\x91\\x80\\xd0\\x6c\\xc8\\x36\\x19\\xe1\\x20\\x1a\\xc5\\x7e\\x97\\xc2\\xeb\\x05\\xb3\\xe7\\x6a\\xc0\\x82\\xa3\\x96\\xd6\\xc0\\x03\\x8a\\xe2\\x3c\\xb4\\x02\\x0a\\x5c\\x09\\x69\\xd0\\xf8\\xb9\\xf3\\x56\\x2c\\xae\\x84\\xc0\\x15\\x68\\x39\\x20\\x3a\\x17\\x52\\xcd\\x61\\xd0\\x82\\xa8\\x07\\x5c\\xff\\x06\\xfa\\x15\\xcb\\xab\\xe6\\xd6\\xcc\\x99\\x5b\\x1b\\xec\\x11\\xec\\x90\\xd1\\x2f\\x45\\x6c\\x32\\x8b\\xbb\\x3c\\x11\\xb3\\x18\\xa8\\x56\\x04\\x7f\\x85\\x40\\x5b\\x34\\x79\\x6e\\xed\\x72\\x1a\\xb5\\xb8\\xb0\\xa8\\xa8\\xb0\\x67\\xe7\\xc0\\x3b\\x01\\xfd\\x73\\x98\\x2c\\x80\\xbc\\x82\\x8c\\x53\\xea\\xd8\\x1b\\x5a\\xec\\x25\\x8c\\x28\\x8b\\xe0\\xd9\\x52\\x54\\xfd\\xb3\\xf5\\x19\\x84\\x78\\x73\\x19\\xf7\\x2d\\x87\\x37\\x73\\xd9\\xdd\\x1c\\x06\\x95\\xc2\\x9e\\x04\\x31\\x26\\xb0\\x58\\x63\\x59\\x4a\\x4a\\xd6\\x3a\\x96\\x5b\\x0d\\x8b\\x35\\xb1\\x93\\x1c\\xc7\\x40\\x8e\\xd5\\x90\\xbe\\x8a\\x71\\x62\\x3c\\x66\\x15\\x83\\x4d\\x39\\x5a\\x83\\xbc\\x14\\xc2\\xf3\\xf5\\x0a\\x5a\\x08\\xd5\\x58\\xcb\\x30\\x98\\xc3\\xd2\\xc5\\xcb\\xb6\\x9c\\xf2\\x5b\\x12\\x7d\\x17\\x2c\\x0f\\x56\\x06\\xeb\\x6a\\x2b\\xe7\\xcc\\x5d\\x52\\x59\\xbb\\x28\\xb8\\xb4\\xba\\x2d\\x0f\\x05\\x6b\\xe7\\xce\\x5b\\xb0\\xbc\\x6e\\x6e\\x2d\\x3c\\x5c\\x50\\x13\\x9c\\x54\\x38\\xa1\\x30\\x38\\xb6\\xb2\\x6e\\x6e\\x4d\\x5d\\xb0\\xb2\\x66\\x4e\\x70\\x62\\x22\\xe1\\x98\\xea\\xea\\x05\\x55\\x73\\xd9\\xc3\\xaa\\xb9\\xb5\\x75\\x95\\x10\\x79\\x69\\xdd\\x7c\\xa8\\xfd\\x85\\x2b\\x6a\\x17\\x2c\\x9f\\xb3\\xa0\\x8a\\xe6\\xb6\\xbc\\xb0\\x33\\x5e\\xea\\xbc\\x61\\xb5\\xf2\\x4f\\x12\\xd3\\x23\\xa0\\x1c\\xa5\\xd8\\x4a\\x46\\x87\\x51\\x2c\\x3a\\xbd\\x5f\\xae\\x25\\x99\\x50\\x37\\x77\\xe5\\xdc\\xe0\\xa8\\xca\\xba\\xba\\xb9\\xcb\\x69\\xe4\\x2b\\x21\\xc2\\x72\\x9d\\xf8\\x5a\\xc5\\xd2\\xbc\\x56\\x30\\x46\\xaa\\x81\\xe7\\xb4\\xd2\\x56\\x01\\xc9\\x28\\x81\\xe6\\xb3\\x70\\x25\\xab\\xf8\\x39\\x0c\\x24\\x6d\\xcc\\x35\\x7a\\xea\\xd9\\xd0\\xbc\\x83\\x3f\\x9b\\x79\\x50\\x4f\\x5b\\xa9\\x33\\x50\\x0d\\xe3\\xb7\\x95\\x7a\\x89\\x56\\xea\\xb9\\x51\\x56\\xa8\\x66\\xdf\\xcb\\x59\\xbe\\x35\\x90\\x47\\x10\\xc2\\x95\\xac\\x6a\\x82\\x0c\\x5b\\x5a\\x6d\\xd5\\xed\\xb0\\x08\\xb2\\xaa\\xad\\x64\\x8c\\xa2\\x31\\xe7\\x12\\x78\\x5b\\xc7\\xe2\\x56\\xc1\\xf3\\xc5\\xf0\\xb7\\x46\\x17\\x6c\\x4b\\x80\\x96\\x5a\\xae\\xb3\\x75\\xd1\\xb5\\x8a\\x09\\xc2\\xf9\\x89\\xf2\\xd3\\x54\\x1a\\xed\\x47\\xc3\\xef\\xaa\\xac\\x6c\\xc6\\x8e\\x6d\\x69\\xa3\\xb1\\x79\\xb5\\xde\\xf0\\x82\\xec\\x58\\xaa\\x65\\x10\\x5e\\xca\\xca\\x12\\xa7\\x68\\x0f\\x56\\x9b\\xb4\\x3c\\x73\\x19\\x96\\x34\\x54\\xc9\\x04\\xed\\x6c\\x48\\xb1\\x98\\xe5\\xab\\xe1\\x35\\x9f\\x31\\x73\\x25\\x63\\xc5\\xb9\\x3a\\x6b\\xd6\\x31\\xec\\x97\\x27\\xb1\\xb4\\xc6\\xc0\\x41\\x56\\x02\\x0a\\x7d\\x30\\xc3\\x96\\x8a\\xd7\\xb9\\x3a\\x65\\xa7\\x80\\x58\\x1e\\xd9\\x29\\x44\\x8d\\x7a\\xc9\\x4d\\x89\\xd6\\xcc\\x62\\x86\\xef\\xf2\\x24\\xd8\\x35\\x0c\\xdb\\x39\\xec\\xd9\\xd2\\x04\\xa5\\x69\\xac\\xc5\\x7a\\x4e\\x5a\\x89\\x17\\x33\\xf1\\xbf\\x28\\x51\\x4b\\xd5\\x8c\\x43\\x35\\x6a\\xce\\x61\\xd0\\x7a\\x5c\\x86\\xde\\xd5\\x8c\\x36\\x75\\x7a\\xae\\xff\\x1f\\x7b\\x6f\\x02\\x27\\x47\\x51\\xbf\\x0f\\x77\\xdd\\xd5\\x9b\\xcd\\x1d\\xc2\\x61\\x80\\x10\\x20\\x5c\\x21\\x64\\xbb\\x6b\\x66\\x77\\x39\\x22\\x7b\\x74\\x43\\x42\\x48\\x80\\x24\\x10\\x10\\x81\\xc9\\xee\\x64\\x77\\x60\\x77\\x67\\xb3\\x3b\\x9b\\x4b\\x44\\x44\\x44\\x44\\x44\\x40\\x44\\x44\\x40\\x40\\x04\\x44\\x44\\xe4\\x16\\x11\\xb9\\x09\\x10\\xee\\xfb\\x3e\\xe4\\x88\\xdc\\x42\\xb8\\xaf\\xb7\\xba\\xfb\\xd9\\x9d\\xce\\x1e\\x18\\xfc\\xe9\\xef\\xf5\\xff\\xbe\\xff\\xe4\\xd3\\xf5\\xfd\\x76\\x75\\x75\\x3d\\x55\\xd5\\xd5\\xf5\\x3c\\xdf\\xee\\x99\\xd9\\x62\\xdc\\xa2\\x66\\xfb\\x3f\\xb9\\xee\\xc9\\x0c\\x2b\\xda\\x73\\x7b\\xe2\\xab\\x98\\xdc\\xfe\\xc9\\xfc\\x2f\\x0d\\x18\\xb9\\x5c\\x3c\\xbe\\x45\\x9c\\xd7\\x19\\xaf\\xcd\\x25\\xb4\\xa5\\x3d\\xb9\\x9d\\xeb\\x73\\xdd\\xf6\\xf6\\xb4\\x37\\x73\\x43\\xb1\\xa7\\xbb\\xd0\\x91\\x9f\\x32\\x71\\x69\\x6b\\xa1\\xa9\\x75\\xe2\\xd2\\x5c\\xf7\\xc4\\xe6\\x7c\\x77\\xa1\\xa5\\xc3\\x1e\\x5e\\xb8\\x7c\\xe2\\xda\\xb7\\xc7\\x44\\x7b\\x34\\x67\\x17\\x80\\x8e\\x8e\\xe2\\x12\\x7b\\x73\\x2d\\xb1\\xa7\\x75\\xe5\\x17\\x75\\xe5\\xbb\\x5b\\x0b\\x1d\\x2d\\x13\\xbb\\x73\\x1d\\xdd\\x13\\xbb\\xf3\\x5d\\x85\\x45\\xa8\\x62\\x62\\xa9\\x35\\x57\\x8a\\x96\\x8b\\xf6\\x7c\\xa9\\xab\\xd0\\x94\\x6b\\x6b\\x5b\\x6e\\x89\\xaa\\xbd\\xd3\\x9e\\xba\\xd0\\x32\\xd3\\xd2\\x42\\xa9\\x35\\xc2\\xef\\x2a\\xd8\\x3b\\x76\\x76\\x7e\\xe9\\x45\\x53\\x7b\\x5b\\x63\\xd7\\x94\\x45\\x76\\x85\\x9e\\x58\\x68\\xef\\xec\\x2a\\x2e\\x89\\x1b\\xba\\x7d\\x77\\x53\\x57\\x3e\\xdf\\x61\\xf1\\x72\\xcd\\xb9\\x85\\x85\\xb6\\x42\\xc9\\xd6\\xd5\\x9a\\xeb\\xca\\x35\\xd9\\x95\\xc6\\x2e\\x37\\x85\\xa6\\xee\\x78\\x25\\xb1\\x0b\\xc8\\xc4\\xce\\x5c\\xc7\\xf6\\x41\\x4f\\x57\\xb1\\x33\\x6f\\x1b\\xbb\\xdf\\x6e\\xb3\\xca\\x05\\x6d\\xf3\\x92\\x55\\xa8\\xbb\\xd8\\xb6\\x24\\xdf\\x1d\\x97\\xee\\xc8\\xe7\\x9b\\xbb\\xa3\\x55\\xac\\xd9\\x76\\xb5\\xcd\\x9e\\x64\\x81\\xdb\\x8a\\xc5\\xc3\\xa2\\x2e\\x2d\\x2a\\x76\\xd9\\x66\\x36\\x97\\x5a\\xb7\\x4f\\xb5\\x7b\\x51\\xb1\\xa3\\x64\\x4f\\x2d\\x4e\\xcc\\x35\\x37\\xdb\\xbe\\xdb\\x01\\x2b\\x36\\xf5\\xb4\\x47\\xeb\\x9b\\x5d\\x73\\x4a\\xbd\\x8d\\xcb\\x35\\x75\\x15\\xed\\xb1\\xce\\xb6\\x5c\\xc9\\xd6\\xd2\\x1e\\xad\\x63\\xad\\xf1\\xdd\\xdf\\xe9\\xec\\x68\\x83\\x88\\x1d\\xec\\x9c\\x88\\xfe\\x4f\\x8d\\xd7\\x80\\xf4\\xea\\xd6\\x84\\xb5\\x6d\\x2a\\x66\\xca\\x0e\\xf6\\xc4\\x52\\xa9\\x73\\xc7\\x1d\\x76\\x58\\xba\\x74\\xe9\\xd4\\x1c\\x96\\xb8\\x26\\xbb\\xc2\\x4d\\xb5\\x8d\\xda\\xe1\\x5f\\xaf\\x36\\x9a\\x2c\\x9d\\xf1\\xb4\\x4e\\x2f\\x5d\\x5d\\xf1\\x04\\x89\\xea\\x6c\\xb7\\x13\\xe7\\x4b\\xa1\\x4b\\xcb\\x3b\\xf3\\x98\\x2c\\x5d\\xdd\\x53\\x5b\\x4b\\xed\\x6d\\x09\\x39\\x26\\xb0\\xbd\\xab\\x68\\x4f\\x6a\\xdd\\xee\\xbd\\x9f\\xe6\\x5a\\xe2\\x9b\\x15\\x93\\x54\\x27\\x56\\x81\\x10\\xf3\\x7f\\x62\\xbf\\x1a\\xa2\\x15\\xb0\\x3f\\x95\\x57\\x25\\x24\\x3e\\xcb\\xb2\\x47\\x47\\x34\\x8d\\x7b\\xe2\\x35\\x3f\\xba\\x96\\x73\\x67\\xcc\\x9a\\x38\\xa7\\xd3\\x4e\\x93\\xd0\\x5e\\xa3\\x89\\x28\\x30\\x65\\x62\\x2f\\xdd\\x57\\x45\\x5c\\xbf\\xf6\\x70\\x25\\x6b\\x51\\xc1\\xee\\x97\\xe2\\x8e\\x77\\xc7\\x77\\xd2\\xd4\\x78\\xb0\\x5a\\xec\\xf1\\x39\\xb6\\x65\\xb3\\xfa\\x86\\xc1\\x4e\\xc2\\x42\\x67\\xa9\\x7b\\x6a\\x77\\xa1\\x6d\\x6a\\xb1\\xab\\x65\\x87\\x39\\xe1\\xac\\x44\\x83\\xc7\\xff\\x3e\\xdf\\x3c\\xfa\\xad\\x97\\x3e\\xbd\\xde\\xf7\\xcf\\x5d\\x10\\xe7\\x52\\x27\\xfa\\xe6\\x8b\\xb0\\x6a\\x56\\x39\\xd1\\xd7\\x89\\x2a\\xac\\x36\\xad\\xb4\\x3a\\x74\\x84\\x8d\\xbd\\x46\\x39\\xa3\\x9d\\x31\\x36\\xfa\\x18\\xe7\\xac\\xe7\\x8c\\xb7\\x71\\xe6\\x06\\xce\\x86\\xce\\x46\\x36\\x22\\x9b\\xe0\\x6c\\xec\\x6c\\x62\\x23\\xa3\\x89\\xce\\x66\\xce\\x24\\x1b\\x1f\\x6d\\xe1\\x6c\\xe9\\x4c\\x76\\xb6\\xb2\\x5a\\x71\\x1b\\x67\\x5b\\x67\\x3b\\x3b\\x3c\\xdb\\xdb\\xc6\\xee\\x00\\xc5\\xe8\\x3b\\xc6\\xc9\\x38\\x59\\xa7\\xda\\xa9\\x71\\x6a\\x6d\\x07\\x77\\x72\\x76\\x76\\x76\\x71\\xa6\\xdb\\x78\\x75\\x57\\x4b\\xa2\\xf5\\x76\\xb9\\x6e\\xb4\\xcb\\x63\\x68\\x97\\xc3\\xdd\\xed\\x05\\x98\\xe9\\xec\\x61\\xbb\\xb6\\xa7\\x5d\\xd0\\xe7\\x58\\x5d\\xb1\\xb7\\x55\\x27\\x73\\x6d\\xfb\\xe7\\xdb\\xe1\\xde\\xcf\\x59\\xe0\\xec\\xef\\x1c\\xe0\\x7c\\xc3\\x39\\xd0\\xf9\\xa6\\x73\\x90\\x73\\xb0\\x73\\x88\\x93\\x23\\xd1\\x5f\\xfa\\x39\\xda\\xf9\\xbe\\xf3\\x17\\xe7\\x54\\x67\\xb5\\x73\\x8c\\x73\\x82\\xf3\\x23\\xe7\\x4c\\xe7\\xb7\\xce\\x79\\x84\\x39\\xc7\\x11\\xee\\x7c\\xcf\\xf9\\xa9\\xf3\\x8e\\xf3\\xae\\xf3\\x63\\xab\\xf3\\x8f\\x25\\xd2\\x79\\xc6\\xf9\\x87\\x73\\x96\\x73\\x91\\xf3\\x9e\\xb3\\xc6\\x79\\xdf\\x39\\xd7\\xf9\\xbd\\x73\\x87\\x73\\xbb\\x8d\\x61\\x16\\xda\\x21\\x3f\\xd1\\x4e\\x89\\xbb\\xec\\x65\\x5d\\xe9\\xdc\\xe9\\xdc\\xeb\\xac\\x72\\xee\\x76\\xee\\x71\\xfe\\x6e\\x97\\xa8\\x07\\x9d\\xfb\\x9c\\xfb\\x9d\\x3f\\xd8\\xa1\\x7f\\xdb\\x39\\xc9\\x79\\xc4\\x79\\xc8\\x79\\xd8\\x5e\\xb0\\xd7\\x9c\\x37\\x9c\\x1f\\x5a\\x7d\\x52\\xb0\\x4b\\x6b\\x34\\x2b\\x3b\\x9c\\xb3\\xed\\x05\\x5a\\x1c\\x93\\x4b\\xb7\\x9d\\x60\\xa5\\xe8\\xf3\\x62\\xce\\xab\\xce\\x32\\xab\\xdb\\x97\\x3b\\xdf\\x72\\xbe\\xed\\x1c\\xee\\x5c\\xe3\\x9c\\xe3\\x7c\\xc7\\x39\\xc2\\x39\\xd2\\xf9\\xae\\xf3\\xba\\xf3\\xa6\\x73\\x2d\\x51\\x44\\x13\\x97\\x54\\x90\\x61\\xa4\\xd2\\xf9\\xcc\\xf9\\x9c\\x0c\\x27\\x23\\xc8\\x48\\x32\\xca\\xf9\\x82\\x38\\x64\\x34\\x19\\x43\\xc6\\x12\\x42\\xc6\\x91\\xf5\\xc8\\x78\\xb2\\x3e\\xd9\\x80\\x6c\\x48\\x36\\x22\\x5f\\x23\\x13\\xc8\\xc6\\x64\\x13\\x1b\\x10\\x7f\\xe8\\x7c\\x44\\x26\\x92\\xcd\\xc8\\x24\\xb2\\x39\\xd9\\x82\\x6c\\x49\\x26\\x93\\xad\\xc8\\xd6\\x64\\x1b\\xb2\\x2d\\xd9\\x8e\\x4c\\x21\\xdb\\x93\\xa9\\x64\\x07\\xe7\\x63\\xe7\\x51\\x32\\x8d\\x54\\x11\\x8f\\xf8\\xc4\\x90\\x0c\\xc9\\x92\\x6a\\x52\\x43\\x6a\\xc9\\x8e\\x64\\x27\\xb2\\x33\\xd9\\x85\\x4c\\x77\\x5e\\x70\\xfe\\x46\\xbe\\x4e\\x76\\x25\\x75\\xa4\\x9e\\x34\\x90\\x46\\x12\\x90\\x90\\xec\\x46\\x76\\x27\\x33\\xc8\\x4c\\xb2\\x07\\x99\\x65\\xe3\\xa0\\x4b\\x9d\\x3f\\x92\\xd9\\x64\\x0e\\xd9\\x8b\\xec\\x4d\\xf6\\x21\\x73\\xc9\\x3c\\x32\\x9f\\xec\\x4b\\xf6\\x73\\x3e\\x71\\x3e\\x75\\x5e\\x74\\x5e\\x22\\x0b\\xc8\\xfe\\xe4\\x00\\xf2\\x0d\\x72\\x20\\xf9\\x26\\x39\\x88\\x1c\\x4c\\x0e\\x21\\x39\\xb2\\x90\\x34\\x91\\x66\\x92\\x27\\x8b\\x48\\x0b\\x69\\x25\\x05\\x72\\x28\\x39\\x8c\\xb4\\x91\\x76\\xe7\\xcf\\xa4\\x83\\x14\\x49\\x27\\x59\\xec\\xbc\\xec\\xbc\\x42\\xba\\x48\\x37\\x29\\x91\\x1e\\xb2\\x84\\x2c\\x25\\xcb\\xc8\\x72\\xb2\\x82\\x7c\\x8b\\x1c\\x4e\\xbe\\x4d\\x8e\\x20\\xdf\\x21\\x47\\x92\\xef\\x92\\xa3\\xc8\\xf7\\xc8\\xd1\\xce\\xf9\\xe4\\xfb\\xe4\\x18\\xf2\\x03\\x72\\x2c\\xf9\\x21\\x39\\x8e\\xfc\\x88\\x1c\\x4f\\x7e\\x4c\\x4e\\x20\\x3f\\x21\\x27\\x92\\x93\\xc8\\xc9\\xe4\\xa7\\xe4\\x14\\xf2\\x33\\x1b\\xcc\\xfe\\x9c\\x9c\\x46\\x7e\\x41\\x4e\\x27\\xbf\\x24\\x67\\x90\\x33\\xc9\\x59\\xe4\\x57\\xe4\\x6c\\x72\\x0e\\x39\\x97\\xfc\\x9a\\x9c\\x47\\x7e\\x43\\xce\\x27\\x17\\x90\\x0b\\xc9\\x6f\\xc9\\x45\\xe4\\x77\\xe4\\x62\\xf2\\x7b\\x72\\x09\\xf9\\x03\\xb9\\x94\\xfc\\x91\\x5c\\x46\\x2e\\x27\\x57\\x90\\x2b\\xc9\\x55\\xe4\\x6a\\x72\\x0d\\xf9\\x13\\xb9\\x96\\xfc\\x99\\x5c\\x47\\xfe\\x42\\xae\\x27\\x7f\\x25\\x37\\x90\\x1b\\xc9\\x4d\\xe4\\x66\\x72\\x0b\\xb9\\x95\\xdc\\x46\\x6e\\x27\\x2b\\xc9\\x1d\\xe4\\x4e\\x72\\x17\\x59\\x45\\xee\\x26\\xf7\\x90\\x7b\\xc9\\x7d\\xe4\\x7e\\xf2\\x00\\x79\\x90\\x3c\\x44\\x1e\\x26\\x8f\\x90\\x47\\xc9\\x63\\xe4\\x71\\xf2\\x04\\x79\\x92\\x3c\\x45\\x9e\\x26\\xcf\\x90\\x67\\xc9\\x73\\xe4\\x79\\xf2\\x02\\xf9\\x1b\\x79\\x91\\xbc\\x44\\x5e\\x26\\xaf\\x90\\xd5\\xe4\\xef\\xe4\\x55\\xf2\\x1a\\x79\\x9d\\xbc\\x41\\xde\\x24\\x6f\\x91\\xb7\\xc9\\x3f\\xc8\\x3b\\xe4\\x5d\\xb2\\x86\\xbc\\x47\\xde\\x27\\x1f\\x90\\x0f\\xc9\\x47\\xe4\\x63\\xf2\\x09\\xf9\\x94\\x7c\\x46\\x3e\\x27\\x5f\\x50\\x87\\x12\\x4a\\x29\\xa3\\x9c\\x0a\\x1a\\x7d\\xf0\\x4b\\x53\\x97\\x56\\xd0\\x61\\xb4\\x92\\x0e\\xa7\\x23\\xe8\\x48\\x3a\\x8a\\x8e\\xa6\\x63\\xe8\\x58\\x3a\\x8e\\xae\\x47\\xc7\\xd3\\xf5\\xe9\\x06\\x74\\x43\\xba\\x11\\xfd\\x1a\\x9d\\x40\\x37\\xa6\\x9b\\xd0\\x4d\\xe9\\x44\\xba\\x19\\x9d\\x44\\x37\\xa7\\x5b\\xd0\\x2d\\xe9\\x64\\xba\\x15\\xdd\\x9a\\x6e\\x43\\xb7\\xa5\\xdb\\xd1\\x29\\x74\\x7b\\x3a\\x95\\xee\\x40\\xa7\\xd1\\x2a\\xea\\x51\\x9f\\x1a\\x9a\\xa1\\x59\\x5a\\x4d\\x6b\\x68\\x2d\\xdd\\x91\\xee\\x44\\x77\\xa6\\xbb\\xd0\\xe9\\xf4\\xeb\\x74\\x57\\x5a\\x47\\xeb\\x69\\x03\\x6d\\xa4\\xd1\\xe7\\x4d\\x76\\xa3\\xbb\\xd3\\x19\\x74\\x26\\xdd\\x83\\xce\\xa2\\x7b\\xd2\\xd9\\x74\\x0e\\xdd\\x8b\\xee\\x4d\\xf7\\xa1\\x73\\xe9\\x3c\\x3a\\x9f\\xee\\x4b\\xf7\\xa3\\x0b\\xe8\\xfe\\xf4\\x00\\xfa\\x0d\\x7a\\x20\\xfd\\x26\\x3d\\x88\\x1e\\x4c\\x0f\\xa1\\x39\\xba\\x90\\x36\\xd1\\x66\\x9a\\xa7\\x8b\\x68\\x0b\\x6d\\xa5\\x05\\x7a\\x28\\x3d\\x8c\\xb6\\xd1\\x76\\xda\\x41\\x8b\\xb4\\x93\\x2e\\xa6\\x5d\\xb4\\x9b\\x96\\x68\\x0f\\x5d\\x42\\x97\\xd2\\x65\\x74\\x39\\x5d\\x41\\xbf\\x45\\x0f\\xa7\\xdf\\xa6\\x47\\xd0\\xef\\xd0\\x23\\xe9\\x77\\xe9\\x51\\xf4\\x7b\\xf4\\x68\\xfa\\x7d\\x7a\\x0c\\xfd\\x01\\x3d\\x96\\xfe\\x90\\x1e\\x47\\x7f\\x44\\x8f\\xa7\\x3f\\xa6\\x27\\xd0\\x9f\\xd0\\x13\\xe9\\x49\\xf4\\x64\\xfa\\x53\\x7a\\x0a\\xfd\\x19\\x3d\\x95\\xfe\\x9c\\x9e\\x46\\x7f\\x41\\x4f\\xa7\\xbf\\xa4\\x67\\xd0\\x33\\xe9\\x59\\xf4\\x57\\xf4\\x6c\\x7a\\x0e\\x3d\\x97\\xfe\\x9a\\x9e\\x47\\x7f\\x43\\xcf\\xa7\\x17\\xd0\\x0b\\xe9\\x6f\\xe9\\x45\\xf4\\x77\\xf4\\x62\\xfa\\x7b\\x7a\\x09\\xfd\\x03\\xbd\\x94\\xfe\\x91\\x5e\\x46\\x2f\\xa7\\x57\\xd0\\x2b\\xe9\\x55\\xce\\x63\\xce\\xf3\\xf4\\x6a\\xe7\\x09\\x7a\\x0d\\xfd\\x13\\xbd\\x96\\xfe\\x99\\x5e\\x47\\xff\\x42\\xaf\\xa7\\x7f\\xa5\\x37\\xd0\\x1b\\xe9\\x4d\\xf4\\x66\\x7a\\x0b\\xbd\\xd5\\x79\\xd2\\x79\\xca\\x79\\xda\\x79\\xce\\x79\\xdc\\x79\\x96\\xde\\x46\\x6f\\xa7\\x2b\\xe9\\x1d\\xf4\\x4e\\x7a\\x17\\x5d\\x45\\xef\\xa6\\xf7\\xd0\\x7b\\xe9\\x7d\\xf4\\x7e\\xfa\\x00\\x7d\\x90\\x3e\\x44\\x1f\\xa6\\x8f\\xd0\\x47\\xe9\\x63\\xf4\\x71\\xfa\\x04\\x7d\\x92\\x3e\\x45\\x9f\\xa6\\xcf\\xd0\\x67\\xe9\\x73\\xf4\\x79\\xfa\\x02\\xfd\\x1b\\x7d\\x91\\xbe\\x44\\x5f\\xa6\\xaf\\xd0\\xd5\\xf4\\xef\\xf4\\x55\\xfa\\x1a\\x7d\\x9d\\xbe\\x41\\xdf\\xa4\\x6f\\xd1\\xb7\\xe9\\x3f\\xe8\\x3b\\xf4\\x5d\\xba\\x86\\xbe\\x47\\xdf\\xa7\\x1f\\xd0\\x0f\\xe9\\x47\\xf4\\x63\\xfa\\x09\\xfd\\x94\\x7e\\x46\\x3f\\xa7\\x5f\\x30\\x87\\x11\\x46\\x19\\x63\\x9c\\x09\\x26\\x59\\xf4\\x67\\xd4\\x5c\\x56\\xc1\\x86\\xb1\\x4a\\x36\\x9c\\x8d\\x60\\x23\\xd9\\x28\\x36\\x9a\\x8d\\x61\\x63\\xd9\\x38\\xb6\\x1e\\x1b\\xcf\\xd6\\x67\\x1b\\xb0\\x0d\\xd9\\x46\\xec\\x6b\\x6c\\x02\\xdb\\x98\\x6d\\xc2\\x36\\x65\\x13\\xd9\\x66\\x6c\\x12\\xdb\\x9c\\x6d\\xc1\\xb6\\x64\\x93\\xd9\\x56\\x6c\\x6b\\xb6\\x0d\\xdb\\x96\\x6d\\xc7\\xa6\\xb0\\xed\\xd9\\x54\\xb6\\x03\\x9b\\xc6\\xaa\\x98\\xc7\\x7c\\x66\\x58\\x86\\x65\\x59\\x35\\xab\\x61\\xb5\\x6c\\x47\\xb6\\x13\\xdb\\x99\\xed\\xc2\\xa6\\xb3\\xaf\\xb3\\x5d\\x59\\x1d\\xab\\x67\\x0d\\xac\\x91\\x05\\x2c\\x64\\xbb\\xb1\\xdd\\xd9\\x0c\\x36\\x93\\xed\\xc1\\x66\\xb1\\x3d\\xd9\\x6c\\x36\\x87\\xed\\xc5\\xf6\\x66\\xfb\\xb0\\xb9\\x6c\\x1e\\x9b\\xcf\\xf6\\x65\\xfb\\xb1\\x05\\x6c\\x7f\\x76\\x00\\xfb\\x06\\x3b\\x90\\x7d\\x93\\x1d\\xc4\\x0e\\x66\\x87\\xb0\\x1c\\x5b\\xc8\\x9a\\x58\\x33\\xcb\\xb3\\x45\\xac\\x85\\xb5\\xb2\\x02\\x3b\\x94\\x1d\\xc6\\xda\\x9c\\x0b\\x59\\x3b\\xeb\\x60\\x45\\xd6\\xc9\\x16\\xb3\\x2e\\xd6\\xcd\\x4a\\xac\\x87\\x2d\\x61\\x4b\\xd9\\x32\\xb6\\x9c\\xad\\x60\\xdf\\x62\\x87\\xb3\\x6f\\xb3\\x23\\xd8\\x77\\x9c\\x5f\\xb1\\x23\\xd9\\x77\\xd9\\x51\\xec\\x7b\\xec\\x68\\xf6\\x7d\\x76\\x0c\\xfb\\x01\\x3b\\x96\\xfd\\x90\\x1d\\xc7\\x7e\\xc4\\x8e\\x67\\x3f\\x66\\x27\\xb0\\x9f\\xb0\\x13\\xd9\\x49\\xce\\xcf\\xd9\\xc9\\xec\\xa7\\xec\\x14\\xe7\\x97\\xec\\x67\\xec\\x54\\xf6\\x73\\x76\\x1a\\xfb\\x05\\x3b\\x9d\\xfd\\x92\\x9d\\xc1\\xce\\x64\\x67\\xb1\\x5f\\xb1\\xb3\\xd9\\x39\\xec\\x5c\\xf6\\x6b\\x76\\x1e\\xfb\\x0d\\x3b\\x9f\\x5d\\xc0\\x2e\\x64\\xbf\\x65\\x17\\xb1\\xdf\\xb1\\x8b\\xd9\\xef\\xd9\\x25\\xec\\x0f\\xec\\x52\\xf6\\x47\\x76\\x19\\xbb\\x9c\\x5d\\xc1\\xae\\x64\\x57\\xb1\\xab\\xd9\\x35\\xec\\x4f\\xec\\x5a\\xf6\\x67\\x76\\x1d\\xfb\\x0b\\xbb\\x9e\\xfd\\x95\\xdd\\xc0\\x6e\\x64\\x37\\xb1\\x9b\\xd9\\x2d\\xec\\x56\\x76\\x1b\\xbb\\x9d\\xad\\x64\\x77\\xb0\\x3b\\xd9\\x5d\\x6c\\x15\\xbb\\x9b\\xdd\\xc3\\xee\\x65\\xf7\\xb1\\xfb\\xd9\\x03\\xec\\x41\\xf6\\x10\\x7b\\x98\\x3d\\xc2\\x1e\\x65\\x8f\\xb1\\xc7\\xd9\\x13\\xec\\x49\\xf6\\x14\\x7b\\x9a\\x3d\\xc3\\x9e\\x65\\xcf\\xb1\\xe7\\xd9\\x0b\\xec\\x6f\\xec\\x45\\xf6\\x12\\x7b\\x99\\xbd\\xc2\\x56\\xb3\\xbf\\xb3\\x57\\xd9\\x6b\\xec\\x75\\xf6\\x06\\x7b\\x93\\xbd\\xc5\\xde\\x66\\xff\\x60\\xef\\xb0\\x77\\xd9\\x1a\\xf6\\x1e\\x7b\\x9f\\x7d\\xc0\\x3e\\x64\\x1f\\xb1\\x8f\\xd9\\x27\\xec\\x53\\xf6\\x19\\xfb\\x9c\\x7d\\xc1\\x1d\\x4e\\x38\\xe5\\x8c\\x73\\x2e\\xb8\\xe4\\x8a\\x6b\\xee\\xf2\\x0a\\x3e\\x8c\\x57\\xf2\\xe1\\x7c\\x04\\x1f\\xc9\\x47\\xf1\\xd1\\x7c\\x0c\\x1f\\xcb\\xc7\\xf1\\xf5\\xf8\\x78\\xbe\\x3e\\xdf\\x80\\x6f\\x18\\xfd\\x9d\\x06\\x3e\\x81\\x6f\\xcc\\x37\\xe1\\x9b\\xf2\\x89\\x7c\\x33\\x3e\\x89\\x6f\\xce\\xb7\\xe0\\x5b\\xf2\\xc9\\x7c\\x2b\\xbe\\x35\\xdf\\x86\\x6f\\xcb\\xb7\\xe3\\x53\\xf8\\xf6\\x7c\\x2a\\xdf\\x81\\x4f\\xe3\\x55\\xdc\\xe3\\x3e\\x37\\x3c\\xc3\\xb3\\xbc\\x9a\\xd7\\xf0\\x5a\\xbe\\x23\\xdf\\x89\\xef\\xcc\\x77\\xe1\\xd3\\xf9\\xd7\\xf9\\xae\\xbc\\x8e\\xd7\\xf3\\x06\\xde\\xc8\\x03\\x1e\\xf2\\xdd\\xf8\\xee\\x7c\\x06\\x9f\\xc9\\xf7\\xe0\\xb3\\xf8\\x9e\\x7c\\x36\\x9f\\xc3\\xf7\\xe2\\x7b\\xf3\\x7d\\xf8\\x5c\\x3e\\x8f\\xcf\\xe7\\xfb\\xf2\\xfd\\xf8\\x02\\xbe\\x3f\\x3f\\x80\\x7f\\x83\\x1f\\xc8\\xbf\\xc9\\x0f\\xe2\\x07\\xf3\\x43\\x78\\x8e\\x2f\\xe4\\x4d\\xbc\\x99\\xe7\\xf9\\x22\\xde\\xc2\\x5b\\x79\\x81\\x1f\\xca\\x0f\\xe3\\x6d\\xbc\\x9d\\x77\\xf0\\x22\\xef\\xe4\\x8b\\x79\\x17\\xef\\xe6\\x25\\xde\\xc3\\x97\\xf0\\xa5\\x7c\\x19\\x5f\\xce\\x57\\xf0\\x6f\\xf1\\xc3\\xf9\\xb7\\xf9\\x11\\xfc\\x3b\\xfc\\x48\\xfe\\x5d\\x7e\\x14\\xff\\x1e\\x3f\\x9a\\x7f\\x9f\\x1f\\xc3\\x7f\\xc0\\x8f\\xe5\\x3f\\xe4\\xc7\\xf1\\x1f\\xf1\\xe3\\xf9\\x8f\\xf9\\x09\\xfc\\x27\\xfc\\x44\\x7e\\x12\\x3f\\x99\\xff\\x94\\x9f\\xc2\\x7f\\xc6\\x4f\\xe5\\x3f\\xe7\\xa7\\xf1\\x5f\\xf0\\xd3\\xf9\\x2f\\xf9\\x19\\xfc\\x4c\\x7e\\x16\\xff\\x15\\x3f\\x9b\\x9f\\xc3\\xcf\\xe5\\xbf\\xe6\\xe7\\xf1\\xdf\\xf0\\xf3\\xf9\\x05\\xfc\\x42\\xfe\\x5b\\x7e\\x11\\xff\\x1d\\xbf\\x98\\xff\\x9e\\x5f\\xc2\\xff\\xc0\\x2f\\xe5\\x7f\\xe4\\x97\\xf1\\xcb\\xf9\\x15\\xfc\\x4a\\x7e\\x15\\xbf\\x9a\\x5f\\xc3\\xff\\xc4\\xaf\\xe5\\x7f\\xe6\\xd7\\xf1\\xbf\\xf0\\xeb\\xf9\\x5f\\xf9\\x0d\\xfc\\x46\\x7e\\x13\\xbf\\x99\\xdf\\xc2\\x6f\\xe5\\xb7\\xf1\\xdb\\xf9\\x4a\\x7e\\x07\\xbf\\x93\\xdf\\xc5\\x57\\xf1\\xbb\\xf9\\x3d\\xfc\\x5e\\x7e\\x1f\\xbf\\x9f\\x3f\\xc0\\x1f\\xe4\\x0f\\xf1\\x87\\xf9\\x23\\xfc\\x51\\xfe\\x18\\x7f\\x9c\\x3f\\xc1\\x9f\\xe4\\x4f\\xf1\\xa7\\xf9\\x33\\xfc\\x59\\xfe\\x1c\\x7f\\x9e\\xbf\\xc0\\xff\\xc6\\x5f\\xe4\\x2f\\xf1\\x97\\xf9\\x2b\\x7c\\x35\\xff\\x3b\\x7f\\x95\\xbf\\xc6\\x5f\\xe7\\x6f\\xf0\\x37\\xf9\\x5b\\xfc\\x6d\\xfe\\x0f\\xfe\\x0e\\x7f\\x97\\xaf\\xe1\\xef\\xf1\\xf7\\xf9\\x07\\xfc\\x43\\xfe\\x11\\xff\\x98\\x7f\\xc2\\x3f\\xe5\\x9f\\xf1\\xcf\\xf9\\x17\\xc2\\x11\\x44\\xd0\\xe8\\x57\\x33\\x85\\x10\\x52\\x28\\xa1\\x85\\x2b\\x2a\\xc4\\x30\\x51\\x29\\x86\\x8b\\x11\\x62\\xa4\\x18\\x25\\x46\\x8b\\x31\\x62\\xac\\x18\\x27\\xd6\\x13\\xe3\\xc5\\xfa\\x62\\x03\\xb1\\xa1\\xd8\\x48\\x7c\\x4d\\x4c\\x10\\x1b\\x8b\\x4d\\xc4\\xa6\\x62\\xa2\\xd8\\x4c\\x4c\\x12\\x9b\\x8b\\x2d\\xc4\\x96\\x62\\xb2\\xd8\\x4a\\x6c\\x2d\\xb6\\x11\\xdb\\x8a\\xed\\xc4\\x14\\xb1\\xbd\\x98\\x2a\\x76\\x10\\xd3\\x44\\x95\\xf0\\x84\\x2f\\x8c\\xc8\\x88\\xac\\xa8\\x16\\x35\\xa2\\x56\\xec\\x28\\x76\\x12\\x3b\\x8b\\x5d\\xc4\\x74\\xf1\\x75\\xb1\\xab\\xa8\\x13\\xf5\\xa2\\x41\\x34\\x8a\\x40\\x84\\x62\\x37\\xb1\\xbb\\x98\\x21\\x66\\x8a\\x3d\\xc4\\x2c\\xb1\\xa7\\x98\\x2d\\xe6\\x88\\xbd\\xc4\\xde\\x62\\x1f\\x31\\x57\\xcc\\x13\\xf3\\xc5\\xbe\\x62\\x3f\\xb1\\x40\\xec\\x2f\\x0e\\x10\\xdf\\x10\\x07\\x8a\\x6f\\x8a\\x83\\xc4\\xc1\\xe2\\x10\\x91\\x13\\x0b\\x45\\x93\\x68\\x16\\x79\\xb1\\x48\\xb4\\x88\\x56\\x51\\x10\\x87\\x8a\\xc3\\x44\\x9b\\x68\\x17\\x1d\\xa2\\x28\\x3a\\xc5\\x62\\xd1\\x25\\xba\\x45\\x49\\xf4\\x88\\x25\\x62\\xa9\\x58\\x26\\x96\\x8b\\x15\\xe2\\x5b\\xe2\\x70\\xf1\\x6d\\x71\\x84\\xf8\\x8e\\x38\\x52\\x7c\\x57\\x1c\\x25\\xbe\\x27\\x8e\\x16\\xdf\\x17\\xc7\\x88\\x1f\\x88\\x63\\xc5\\x0f\\xc5\\x71\\xe2\\x47\\xe2\\x78\\xf1\\x63\\x71\\x82\\xf8\\x89\\x38\\x51\\x9c\\x24\\x4e\\x16\\x3f\\x15\\xa7\\x88\\x9f\\x89\\x53\\xc5\\xcf\\xc5\\x69\\xe2\\x17\\xe2\\x74\\xf1\\x4b\\x71\\x86\\x38\\x53\\x9c\\x25\\x7e\\x25\\xce\\x16\\xe7\\x88\\x73\\xc5\\xaf\\xc5\\x79\\xe2\\x37\\xe2\\x7c\\x71\\x81\\xb8\\x50\\xfc\\x56\\x5c\\x24\\x7e\\x27\\x2e\\x16\\xbf\\x17\\x97\\x88\\x3f\\x88\\x4b\\xc5\\x1f\\xc5\\x65\\xe2\\x72\\x71\\x85\\xb8\\x52\\x5c\\x25\\xae\\x16\\xd7\\x88\\x3f\\x89\\x6b\\xc5\\x9f\\xc5\\x75\\xe2\\x2f\\xe2\\x7a\\xf1\\x57\\x71\\x83\\xb8\\x51\\xdc\\x24\\x6e\\x16\\xb7\\x88\\x5b\\xc5\\x6d\\xe2\\x76\\xb1\\x52\\xdc\\x21\\xee\\x14\\x77\\x89\\x55\\xe2\\x6e\\x71\\x8f\\xb8\\x57\\xdc\\x27\\xee\\x17\\x0f\\x88\\x07\\xc5\\x43\\xe2\\x61\\xf1\\x88\\x78\\x54\\x3c\\x26\\x1e\\x17\\x4f\\x88\\x27\\xc5\\x53\\xe2\\x69\\xf1\\x8c\\x78\\x56\\x3c\\x27\\x9e\\x17\\x2f\\x88\\xbf\\x89\\x17\\xc5\\x4b\\xe2\\x65\\xf1\\x8a\\x58\\x2d\\xfe\\x2e\\x5e\\x15\\xaf\\x89\\xd7\\xc5\\x1b\\xe2\\x4d\\xf1\\x96\\x78\\x5b\\xfc\\x43\\xbc\\x23\\xde\\x15\\x6b\\xc4\\x7b\\xe2\\x7d\\xf1\\x81\\xf8\\x50\\x7c\\x24\\x3e\\x16\\x9f\\x88\\x4f\\xc5\\x67\\xe2\\x73\\xf1\\x85\\x74\\x24\\x91\\x54\\x32\\xc9\\xa5\\x90\\x52\\x2a\\xa9\\xa5\\x2b\\x2b\\xe4\\x30\\x59\\x29\\x87\\xcb\\x11\\x72\\xa4\\x1c\\x25\\x47\\xcb\\x31\\x72\\xac\\x1c\\x27\\xd7\\x93\\xe3\\xe5\\xfa\\x72\\x03\\xb9\\xa1\\xdc\\x48\\x7e\\x4d\\x4e\\x90\\x1b\\xcb\\x4d\\xe4\\xa6\\x72\\xa2\\xdc\\x4c\\x4e\\x92\\x9b\\xcb\\x2d\\xe4\\x96\\x72\\xb2\\xdc\\x4a\\x6e\\x2d\\xb7\\x91\\xdb\\xca\\xed\\xe4\\x14\\xb9\\xbd\\x9c\\x2a\\x77\\x90\\xd3\\x64\\x95\\xf4\\xa4\\x2f\\x8d\\xcc\\xc8\\xac\\xac\\x96\\x35\\xb2\\x56\\xee\\x28\\x77\\x92\\x3b\\xcb\\x5d\\xe4\\x74\\xf9\\x75\\xb9\\xab\\xac\\x93\\xf5\\xb2\\x41\\x36\\xca\\x40\\x86\\x72\\x37\\xb9\\xbb\\x9c\\x21\\x67\\xca\\x3d\\xe4\\x2c\\xb9\\xa7\\x9c\\x2d\\xe7\\xc8\\xbd\\xe4\\xde\\x72\\x1f\\x39\\x57\\xce\\x93\\xf3\\xe5\\xbe\\x72\\x3f\\xb9\\x40\\xee\\x2f\\x0f\\x90\\xdf\\x90\\x07\\xca\\x6f\\xca\\x83\\xe4\\xc1\\xf2\\x10\\x99\\x93\\x0b\\x65\\x93\\x6c\\x96\\x79\\xb9\\x48\\xb6\\xc8\\x56\\x59\\x90\\x87\\xca\\xc3\\x64\\x9b\\x6c\\x97\\x1d\\xb2\\x28\\x3b\\xe5\\x62\\xd9\\x25\\xbb\\x65\\x49\\xf6\\xc8\\x25\\x72\\xa9\\x5c\\x26\\x97\\xcb\\x15\\xf2\\x5b\\xf2\\x70\\xf9\\x6d\\x79\\x84\\xfc\\x8e\\x3c\\x52\\x7e\\x57\\x1e\\x25\\xbf\\x27\\x8f\\x96\\xdf\\x97\\xc7\\xc8\\x1f\\xc8\\x63\\xe5\\x0f\\xe5\\x71\\xf2\\x47\\xf2\\x78\\xf9\\x63\\x79\\x82\\xfc\\x89\\x3c\\x51\\x9e\\x24\\x4f\\x96\\x3f\\x95\\xa7\\xc8\\x9f\\xc9\\x53\\xe5\\xcf\\xe5\\x69\\xf2\\x17\\xf2\\x74\\xf9\\x4b\\x79\\x86\\x3c\\x53\\x9e\\x25\\x7f\\x25\\xcf\\x96\\xe7\\xc8\\x73\\xe5\\xaf\\xe5\\x79\\xf2\\x37\\xf2\\x7c\\x79\\x81\\xbc\\x50\\xfe\\x56\\x5e\\x24\\x7f\\x27\\x2f\\x96\\xbf\\x97\\x97\\xc8\\x3f\\xc8\\x4b\\xe5\\x1f\\xe5\\x65\\xf2\\x72\\x79\\x85\\xbc\\x52\\x5e\\x25\\xaf\\x96\\xd7\\xc8\\x3f\\xc9\\x6b\\xe5\\x9f\\xe5\\x75\\xf2\\x2f\\xf2\\x7a\\xf9\\x57\\x79\\x83\\xbc\\x51\\xde\\x24\\x6f\\x96\\xb7\\xc8\\x5b\\xe5\\x6d\\xf2\\x76\\xb9\\x52\\xde\\x21\\xef\\x94\\x77\\xc9\\x55\\xf2\\x6e\\x79\\x8f\\xbc\\x57\\xde\\x27\\xef\\x97\\x0f\\xc8\\x07\\xe5\\x43\\xf2\\x61\\xf9\\x88\\x7c\\x54\\x3e\\x26\\x1f\\x97\\x4f\\xc8\\x27\\xe5\\x53\\xf2\\x69\\xf9\\x8c\\x7c\\x56\\x3e\\x27\\x9f\\x97\\x2f\\xc8\\xbf\\xc9\\x17\\xe5\\x4b\\xf2\\x65\\xf9\\x8a\\x5c\\x2d\\xff\\x2e\\x5f\\x95\\xaf\\xc9\\xd7\\xe5\\x1b\\xf2\\x4d\\xf9\\x96\\x7c\\x5b\\xfe\\x43\\xbe\\x23\\xdf\\x95\\x6b\\xe4\\x7b\\xf2\\x7d\\xf9\\x81\\xfc\\x50\\x7e\\x24\\x3f\\x96\\x9f\\xc8\\x4f\\xe5\\x67\\xf2\\x73\\xf9\\x85\\x72\\x14\\x51\\x34\\xfa\\x86\\xa9\\x12\\x4a\\x2a\\xa5\\xb4\\x72\\x55\\x85\\x1a\\xa6\\x2a\\xd5\\x70\\x35\\x42\\x8d\\x54\\xa3\\xd4\\x68\\x35\\x46\\x8d\\x55\\xe3\\xd4\\x7a\\x6a\\xbc\\x5a\\x5f\\x6d\\xa0\\x36\\x54\\x1b\\xa9\\xaf\\xa9\\x09\\x6a\\x63\\xb5\\x89\\xda\\x54\\x4d\\x54\\x9b\\xa9\\x49\\x6a\\x73\\xb5\\x85\\xda\\x52\\x4d\\x56\\x5b\\xa9\\xad\\xd5\\x36\\x6a\\x5b\\xb5\\x9d\\x9a\\xa2\\xb6\\x57\\x53\\xd5\\x0e\\x6a\\x9a\\xaa\\x52\\x9e\\xf2\\x95\\x51\\x19\\x95\\x55\\xd5\\xaa\\x46\\xd5\\xaa\\x1d\\xd5\\x4e\\x6a\\x67\\xb5\\x8b\\x9a\\xae\\xbe\\xae\\x76\\x55\\x75\\xaa\\x5e\\x35\\xa8\\x46\\x15\\xa8\\x50\\xed\\xa6\\x76\\x57\\x33\\xd4\\x4c\\xb5\\x87\\x9a\\xa5\\xf6\\x54\\xb3\\xd5\\x1c\\xb5\\x97\\xda\\x5b\\xed\\xa3\\xe6\\xaa\\x79\\x6a\\xbe\\xda\\x57\\xed\\xa7\\x16\\xa8\\xfd\\xd5\\x01\\xea\\x1b\\xea\\x40\\xf5\\x4d\\x75\\x90\\x3a\\x58\\x1d\\xa2\\x72\\x6a\\xa1\\x6a\\x52\\xcd\\x2a\\xaf\\x16\\xa9\\x16\\xd5\\xaa\\x0a\\xea\\x50\\x75\\x98\\x6a\\x53\\xed\\xaa\\x43\\x15\\x55\\xa7\\x5a\\xac\\xba\\x54\\xb7\\x2a\\xa9\\x1e\\xb5\\x44\\x2d\\x55\\xcb\\xd4\\x72\\xb5\\x42\\x7d\\x4b\\x1d\\xae\\xbe\\xad\\x8e\\x50\\xdf\\x51\\x47\\xaa\\xef\\xaa\\xa3\\xd4\\xf7\\xd4\\xd1\\xea\\xfb\\xea\\x18\\xf5\\x03\\x75\\xac\\xfa\\xa1\\x3a\\x4e\\xfd\\x48\\x1d\\xaf\\x7e\\xac\\x4e\\x50\\x3f\\x51\\x27\\xaa\\x93\\xd4\\xc9\\xea\\xa7\\xea\\x14\\xf5\\x33\\x75\\xaa\\xfa\\xb9\\x3a\\x4d\\xfd\\x42\\x9d\\xae\\x7e\\xa9\\xce\\x50\\x67\\xaa\\xb3\\xd4\\xaf\\xd4\\xd9\\xea\\x1c\\x75\\xae\\xfa\\xb5\\x3a\\x4f\\xfd\\x46\\x9d\\xaf\\x2e\\x50\\x17\\xaa\\xdf\\xaa\\x8b\\xd4\\xef\\xd4\\xc5\\xea\\xf7\\xea\\x12\\xf5\\x07\\x75\\xa9\\xfa\\xa3\\xba\\x4c\\x5d\\xae\\xae\\x50\\x57\\xaa\\xab\\xd4\\xd5\\xea\\x1a\\xf5\\x27\\x75\\xad\\xfa\\xb3\\xba\\x4e\\xfd\\x45\\x5d\\xaf\\xfe\\xaa\\x6e\\x50\\x37\\xaa\\x9b\\xd4\\xcd\\xea\\x16\\x75\\xab\\xba\\x4d\\xdd\\xae\\x56\\xaa\\x3b\\xd4\\x9d\\xea\\x2e\\xb5\\x4a\\xdd\\xad\\xee\\x51\\xf7\\xaa\\xfb\\xd4\\xfd\\xea\\x01\\xf5\\xa0\\x7a\\x48\\x3d\\xac\\x1e\\x51\\x8f\\xaa\\xc7\\xd4\\xe3\\xea\\x09\\xf5\\xa4\\x7a\\x4a\\x3d\\xad\\x9e\\x51\\xcf\\xaa\\xe7\\xd4\\xf3\\xea\\x05\\xf5\\x37\\xf5\\xa2\\x7a\\x49\\xbd\\xac\\x5e\\x51\\xab\\xd5\\xdf\\xd5\\xab\\xea\\x35\\xf5\\xba\\x7a\\x43\\xbd\\xa9\\xde\\x52\\x6f\\xab\\x7f\\xa8\\x77\\xd4\\xbb\\xce\\x65\\xce\\xe5\\x6a\\x8d\\x7a\\xcf\\xb9\\xca\\xb9\\xda\\xb9\\x45\\xbd\\xef\\x5c\\xe1\\x5c\\xe9\\xdc\\xaa\\x3e\\x70\\x8e\\x72\\x6e\\x72\\x7e\\xe0\\xfc\\x4e\\x7d\\xa8\\x3e\\x52\\x1f\\xab\\x4f\\xd4\\xa7\\xce\\x6d\\xea\\x33\\xf5\\xb9\\xfa\\xc2\\xb9\\xde\\xf9\\xab\\x76\\x34\\x71\\xae\\xd3\\x54\\x33\\xcd\\xb5\\xd0\\x52\\x2b\\xad\\xb5\\xab\\x2b\\xf4\\x30\\x5d\\xa9\\x87\\xeb\\x11\\x7a\\xa4\\x1e\\xa5\\x47\\x3b\\x1f\\xe8\\x31\\x7a\\xac\\x1e\\xa7\\xd7\\xd3\\xe3\\xf5\\xfa\\x7a\\x03\\xbd\\xa1\\xde\\x48\\x7f\\x4d\\x4f\\xd0\\x1b\\xeb\\x4d\\xf4\\xa6\\x7a\\xa2\\xde\\x4c\\x4f\\xd2\\x9b\\xeb\\x2d\\xf4\\x96\\x7a\\xb2\\xde\\x4a\\x6f\\xed\\x1c\\xaf\\xb7\\xd1\\xdb\\xea\\xed\\xf4\\x14\\xbd\\xbd\\x9e\\xaa\\x77\\xd0\\xd3\\x74\\x95\\xf6\\xb4\\xaf\\x8d\\xce\\xe8\\xac\\xae\\xd6\\x35\\xba\\x56\\xef\\xe8\\x9c\\xa6\\x77\\x72\\x4e\\x77\\x7e\\xe1\\xbc\\xa5\\x77\\x76\\x6e\\x76\\x7e\\xe3\\x9c\\xac\\x77\\xd1\\xd3\\x9d\\x33\\x9c\\x0b\\x9c\\x9f\\xe8\\xaf\\x3b\\xa7\\x38\\x3f\\xd3\\xbb\\xea\\x3a\\x5d\\xaf\\x1b\\x74\\xa3\\x0e\\x74\\xa8\\x77\\xd3\\xbb\\xeb\\x19\\x7a\\xa6\\xde\\x43\\xcf\\xd2\\x7b\\xea\\xd9\\x7a\\x8e\\xde\\x4b\\xef\\xad\\xf7\\xd1\\x73\\xf5\\x3c\\x3d\\x5f\\xef\\xab\\xf7\\xd3\\x0b\\xf4\\xfe\\xfa\\x00\\xfd\\x0d\\x7d\\xa0\\xfe\\xa6\\x3e\\x48\\x1f\\xac\\x0f\\xd1\\x39\\xbd\\x50\\x37\\xe9\\x66\\x9d\\xd7\\x8b\\x74\\x8b\\x6e\\xd5\\x05\\x7d\\xa8\\x3e\\x4c\\xb7\\xe9\\x76\\xdd\\xa1\\x8b\\xba\\x53\\x2f\\xd6\\x5d\\xba\\x5b\\x97\\x74\\x8f\\x5e\\xa2\\x97\\xea\\x65\\x7a\\xb9\\x5e\\xa1\\xbf\\xa5\\x0f\\x77\\xfe\\xa4\\xbf\\xad\\x8f\\xd0\\xdf\\xd1\\x47\\xea\\xef\\xea\\xa3\\xf4\\xf7\\xf4\\xd1\\xfa\\xfb\\xfa\\x18\\xfd\\x03\\x7d\\xac\\xfe\\xa1\\x3e\\x4e\\xff\\x48\\x1f\\xaf\\x7f\\xac\\x4f\\xd0\\x3f\\xd1\\x27\\xea\\x93\\xf4\\xc9\\xfa\\xa7\\xfa\\x14\\xfd\\x33\\x7d\\xaa\\xfe\\xb9\\x3e\\x4d\\xff\\x42\\x9f\\xae\\x7f\\xa9\\xcf\\xd0\\x67\\xea\\xb3\\xf4\\xaf\\xf4\\xd9\\xfa\\x1c\\x7d\\xae\\xfe\\xb5\\x3e\\x4f\\xff\\x46\\x9f\\xaf\\x2f\\xd0\\x17\\xea\\xdf\\xea\\x8b\\xf4\\xef\\xf4\\xc5\\xfa\\xf7\\xfa\\x12\\xfd\\x07\\x7d\\xa9\\xfe\\xa3\\xbe\\x4c\\x5f\\xae\\xaf\\x70\\x6e\\x70\\x6e\\xd4\\x57\\xea\\xab\\xf4\\xd5\\xfa\\x1a\\xfd\\x27\\x7d\\xad\\xfe\\xb3\\xbe\\x4e\\xff\\x45\\x5f\\xaf\\xff\\xaa\\x6f\\xd0\\x37\\xea\\x9b\\xf4\\xcd\\xfa\\x16\\x7d\\xab\\xbe\\x4d\\xdf\\xae\\x57\\xea\\x3b\\xf4\\x9d\\xfa\\x2e\\xbd\\x4a\\xdf\\xad\\xef\\xd1\\xf7\\xea\\xfb\\xf4\\xfd\\xfa\\x01\\xfd\\xa0\\x7e\\x48\\x3f\\xac\\x1f\\xd1\\x8f\\xea\\xc7\\xf4\\xe3\\xfa\\x09\\xfd\\xa4\\x7e\\x4a\\x3f\\xad\\x9f\\xd1\\xcf\\xea\\xe7\\xf4\\xf3\\xfa\\x05\\xfd\\x37\\xfd\\xa2\\x7e\\x49\\xbf\\xac\\x5f\\xd1\\xab\\xf5\\xdf\\xf5\\xab\\xfa\\x35\\xfd\\xba\\x7e\\x43\\xbf\\xa9\\xdf\\xd2\\x6f\\xeb\\x7f\\xe8\\x77\\xf4\\xbb\\x7a\\x8d\\x7e\\x4f\\xbf\\xaf\\x3f\\xd0\\x1f\\xea\\x8f\\xf4\\xc7\\xfa\\x13\\xfd\\xa9\\xfe\\x4c\\x7f\\xae\\xbf\\x70\\x1d\\x97\\xb8\\xd4\\x65\\x2e\\x77\\x85\\x2b\\x5d\\xe5\\x6a\\xd7\\x75\\x2b\\xdc\\x61\\x6e\\xa5\\x3b\\xdc\\x1d\\xe1\\x8e\\x74\\x47\\xb9\\xa3\\xdd\\x31\\xee\\x58\\x77\\x9c\\xbb\\x9e\\x3b\\xde\\x5d\\xdf\\xdd\\xc0\\xdd\\xd0\\xdd\\xc8\\xfd\\x9a\\x3b\\xc1\\xdd\\xd8\\xdd\\xc4\\xdd\\xd4\\x9d\\xe8\\x6e\\xe6\\x4e\\x72\\x37\\x77\\xb7\\x70\\xb7\\x74\\x27\\xbb\\x5b\\xb9\\x5b\\xbb\\xdb\\xb8\\xdb\\xba\\xdb\\xb9\\x53\\xdc\\xed\\xdd\\xa9\\xee\\x0e\\xee\\x34\\xb7\\xca\\xf5\\x5c\\xdf\\x35\\x6e\\xc6\\xcd\\xba\\xd5\\x6e\\x8d\\x5b\\xeb\\xee\\xe8\\xee\\xe4\\xee\\xec\\xee\\xe2\\x4e\\x77\\xbf\\xee\\xee\\xea\\xd6\\xb9\\xf5\\x6e\\x83\\xdb\\xe8\\x06\\x6e\\xe8\\xee\\xe6\\xee\\xee\\xce\\x70\\x67\\xba\\x7b\\xb8\\xb3\\xdc\\x3d\\xdd\\xd9\\xee\\x1c\\x77\\x2f\\x77\\x6f\\x77\\x1f\\x77\\xae\\x3b\\xcf\\x9d\\xef\\xee\\xeb\\xee\\xe7\\x2e\\x70\\xf7\\x57\\x3d\\x1d\\x85\\x69\\xd3\\xea\\xa6\\xc1\\x36\\xba\\xc5\\x25\\xf9\\xae\\xee\\xa6\\x62\\x57\\x9e\\xb5\\xf7\\x54\\x55\\xb4\\x17\\x9a\\x9b\\x8b\\xa5\\xa9\\xd3\\xa6\\x55\\xa9\\xba\\xf6\\xe8\\x41\\x67\\x87\\xca\\x25\\x56\\xd6\\x2d\\xec\\xca\\x2f\\xc9\\xcb\\x5c\\x6c\\x54\\x5d\\xb1\\xa5\\xd8\\x91\\x3f\\x4c\\xe5\\x12\\x3b\\xac\\xa1\\xa9\\xd0\\xd5\\xd4\\xd3\\xbe\\xa8\\x2d\\xbf\\x6c\\x58\\x53\\xd9\\xaf\\x68\\xb0\\xd5\\xe5\\x9a\\x9a\\xf2\\x1d\\xa5\\x8a\\xa6\\x3e\\x57\\x36\\x36\\xe5\\xa2\\x2a\\x9b\\x13\\xd3\\x68\\xeb\\xcf\\x95\\x54\\x00\\xc0\\x3c\\x00\\x83\\x04\\x30\\x1f\\x9b\\x8a\\xa0\\x5c\\x51\\xbe\\xcf\\x55\\x01\\x9a\\x91\\x4f\\xac\\x0c\\x92\\x1a\\xf3\\xb1\\x19\\xb6\\x5b\\xaa\\x51\\x2d\\xa9\\x46\\xed\\x56\\xae\\xab\\xa5\\xcf\\xad\\xdc\\xad\\xa9\\xd8\\xde\\x9e\\xc3\\x4e\\x4b\\x6a\\x67\\xd8\\xee\\xa9\\x7a\\x5a\\xcb\\x3e\\xdf\\x7d\\x61\\xae\\x8b\\xb7\\xda\\x44\\xce\\x28\\x15\\xda\\x9a\\xf3\\xb2\\x10\\x1b\\x35\\x03\\x3d\\x29\\xa0\\x27\\x33\\x92\\x9e\\x14\\x92\\xa1\\x9b\\x81\\x36\\x17\\x12\\x4b\\x67\\xcc\\xa4\\x85\\x43\\x87\\xcd\\x4c\\x61\\x1c\\x5a\\xf6\\x2b\\xf7\\x48\\xb7\\xea\\xb0\\xb5\\x76\\x5a\\xa2\\xe7\\xe6\\x6d\\xb9\\x8e\\xe6\\x42\\x93\\x9c\\x95\\x6b\\xea\\x29\\xe5\\x65\\x5b\\x6c\\x2a\\x67\\xa5\\xcb\\xb5\\xa5\\x76\\xe4\\xac\\x64\\x80\\xda\\x62\\xc3\\x67\\xd9\\xde\\xf3\\x36\\x9b\\xc8\\xd9\\xc9\\xf9\\x1d\\xc9\\xf9\\xb3\\xd3\\xe7\\x77\\xa4\\xcf\\x9f\\x9d\\x9c\\xdf\\x91\\x0c\\x70\\x47\\xae\\xb3\\xd8\\x5d\\xea\\x2a\\x76\\xb6\\xe6\\x59\\xd0\\xd1\\xc2\\xf2\\x1d\\x2d\\x6a\\x0e\\x3a\\x5f\\x44\\xe7\\xe7\\x24\\x9d\\x2f\\xc6\\x66\\xf8\\x9c\\xd6\\x9e\\x8e\\x96\\x5c\\x57\\x4f\\x7b\\x5b\\xae\\xa7\\x34\\xbc\\x98\\xde\\x93\\xfb\\x24\\x6d\\xe8\\x4a\\xda\\xb0\\x4f\\xba\\x0d\\x5d\\xe9\\x36\\xec\\x93\\xb4\\xa1\\x2b\\x31\\x73\\x93\\xb3\\xba\\x63\\x33\\x6c\\x6e\\x6a\\x18\\xbb\\x53\\xc3\\x38\\x2f\\x5d\\x5b\\x29\\x5d\\xdb\\xbc\\xa4\\x9a\\x52\\x32\\x22\\xf3\\xa2\\x4b\\x5a\\x8a\\x2e\\xe9\\xfc\\xe4\\x92\\xf6\\x24\\x97\\x74\\x3e\\x7a\\xd5\\x83\\x5e\\xcd\\x4f\\x7a\\xd5\\x13\\x1b\\x31\\xbf\\xab\\xd0\\xd1\\x22\\x7a\\xa2\\x74\\xf8\\xfc\\xb5\\x7a\\xd8\\x93\\xde\\x53\\xf3\\x71\\xe9\\x7b\\x70\\xd7\\xec\\x97\\x6a\\xed\\xd2\\x94\\xbf\\x7f\\xca\\x5f\\x5e\\xf6\\xe5\\x01\\x49\\x5f\\x57\\xc4\\xa6\\xe2\\x80\\xf2\\x34\\x5e\\xd1\\xe7\\x8a\\xb6\\x62\\x47\\x4b\\x77\\x7c\\x7b\\x57\\xd5\\x4c\\x83\\xad\\x82\\xf5\\x60\\x7d\\x58\\x03\\x9b\\x81\\xcd\\xc2\\x56\\xc3\\xd6\\xc0\\xd6\\xc2\\xd6\\xc1\\xd6\\xc3\\x36\\xc0\\x36\\xc2\\x06\\xb0\\x61\\x62\\x6b\\x81\\x5f\\x0b\\xfc\\x5a\\xe0\\xd6\\x02\\xb7\\x16\\xb8\\xb5\\xc0\\xad\\x05\\x6e\\x2d\\x70\\x6b\\x81\\x5b\\x0b\\xdc\\x5a\\xe0\\xd6\\x02\\xb7\\x16\\xb8\\xb5\\xc0\\xad\\x0d\\xc5\\x9c\\xd6\\x62\\x97\\x0d\\x7e\\xa2\\x34\\xc9\\xab\\x43\\x9f\\xeb\\x80\\x5d\\x07\\xec\\x3a\\x60\\xd7\\x01\\xbb\\x0e\\xd8\\x75\\xc0\\xae\\x03\\x76\\x1d\\xb0\\xeb\\x80\\x5d\\x07\\xec\\x3a\\x60\\xd7\\x05\\x62\\x7e\\x8c\\xd9\\x53\\xc6\\xac\\x47\\x7f\\xeb\\x81\\x5d\\x0f\\xec\\x7a\\x60\\xd7\\x03\\xbb\\x1e\\xd8\\xf5\\xc0\\xae\\x07\\x76\\x3d\\xb0\\xeb\\x81\\x5d\\x0f\\xec\\x7a\\x60\\xd7\\x03\\xbb\\x1e\\xfd\\xae\\xc7\\x78\\x37\\x60\\xbc\\x1b\\x80\\xdf\\x00\\xfc\\x06\\xe0\\x37\\x00\\xbf\\x01\\xf8\\x0d\\xc0\\x6f\\x00\\x7e\\x03\\xf0\\x1b\\x80\\xdf\\x00\\xfc\\x06\\xe0\\x37\\x00\\xbf\\x01\\xf8\\x0d\\xc0\\x6f\\x00\\x7e\\x23\\xf0\\x1b\\x81\\xdf\\x08\\xfc\\x46\\xe0\\x37\\x02\\xbf\\x11\\xf8\\x8d\\xc0\\x6f\\x04\\x7e\\x23\\xf0\\x1b\\x81\\xdf\\x08\\xfc\\x46\\xe0\\x37\\x02\\xbf\\x11\\xf8\\x8d\\xc0\\x6f\\x04\\x7e\\x00\\xfc\\x00\\xf8\\x01\\xf0\\x03\\xe0\\x07\\xc0\\x0f\\x80\\x1f\\x00\\x3f\\x00\\x7e\\x00\\xfc\\x00\\xf8\\x01\\xf0\\x03\\xe0\\x07\\xc0\\x0f\\x80\\x1f\\x00\\x3f\\x00\\x7e\\x08\\xfc\\x10\\xf8\\x21\\xf0\\x43\\xe0\\x87\\xc0\\x0f\\x81\\x1f\\x02\\x3f\\x04\\x7e\\x08\\xfc\\xb0\\xb6\\xa2\\x2e\\x5a\\x4b\\x92\\xdb\\x3c\\xd7\\xe7\\xaa\\xba\\x20\\xb1\\xb9\\x7c\\xb2\\xda\\xcd\\xe9\\x6e\\xcb\\x75\\xb7\\x26\\x7e\\xb1\\xec\\xc7\\xb5\\x78\\xd3\\xa6\\xc1\\x56\\xc1\\x7a\\xb0\\x3e\\xac\\x81\\xcd\\xc0\\x66\\x61\\xab\\x61\\x6b\\x60\\x6b\\x61\\xeb\\x60\\xeb\\x61\\x1b\\x60\\x1b\\x61\\x03\\xd8\\x64\\x34\\xbc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\x55\\xc0\\xaf\\x02\\x7e\\x15\\xf0\\xab\\x80\\x5f\\x55\\x5d\\x39\\x37\\xbd\\x5a\\x77\\xa7\\x76\\x50\\x02\\x2d\\xa9\\x42\\x4b\\xaa\\xd0\\x92\\x2a\\xb4\\xa4\\x0a\\x2d\\xa9\\x42\\x4b\\x3c\\xb4\\xc4\\x43\\x4b\\x3c\\xb4\\xc4\\x43\\x4b\\x3c\\xb4\\xc4\\x43\\x4b\\x3c\\xb4\\xc4\\xc3\\x48\\x78\\x18\\x09\\x0f\\x23\\xe1\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\x03\\xdf\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfa\\xc0\\xf5\\x81\\xeb\\x03\\xd7\\x07\\xae\\x0f\\x5c\\x1f\\xb8\\x3e\\x70\\x0d\\x70\\x0d\\x70\\x0d\\x70\\x0d\\x70\\x0d\\x70\\x0d\\x70\\x0d\\x70\\x0d\\xfa\\x6d\\x80\\x6f\\x80\\x6f\\x80\\x6f\\x80\\x6f\\x80\\x6f\\x80\\x6f\\x80\\x6f\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x1a\\xf8\\xd5\\xc0\\xaf\\x06\\x7e\\x35\\xf0\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x1a\\xf8\\xd5\\xc0\\xaf\\x06\\x7e\\x35\\xf0\\xab\\x81\\x0f\\xfe\\xf7\\xc0\\xff\\x1e\\xf8\\xdf\\x03\\xff\\x7b\\xe0\\x7f\\x0f\\xfc\\xef\\x81\\xff\\x3d\\xf0\\xbf\\x07\\xfe\\xf7\\xc0\\xff\\x1e\\xf8\\xdf\\x03\\xff\\x7b\\xe0\\x7f\\x0f\\xfc\\xef\\x81\\xff\\x3d\\xf0\\xbf\\x07\\xfe\\xf7\\xc0\\xff\\x5e\\x2d\\xf0\\xa1\\x03\\x3c\\xe8\\x00\\x0f\\x3a\\xc0\\x83\\x0e\\xf0\\xa0\\x03\\x3c\\xe8\\x00\\x0f\\x3a\\xc0\\x83\\x0e\\xf0\\xa0\\x03\\x3c\\xe8\\x00\\x0f\\x3a\\xc0\\x83\\x0e\\xf0\\x6a\\x81\\x8f\\x30\\xc7\\xab\\x03\\x3e\\xb4\\x80\\x07\\x2d\\xe0\\x41\\x0b\\x78\\xd0\\x02\\x1e\\xb4\\x80\\x07\\x2d\\xe0\\x41\\x0b\\x78\\xd0\\x02\\x1e\\xb4\\x80\\x07\\x2d\\xe0\\x41\\x0b\\x78\\xd0\\x02\\x5e\\x1d\\xf0\\xeb\\x80\\x5f\\x0f\\x7c\\xe8\\x01\\x0f\\x7a\\xc0\\x83\\x1e\\xf0\\xa0\\x07\\x3c\\xe8\\x01\\x0f\\x7a\\xc0\\x83\\x1e\\xf0\\xa0\\x07\\x3c\\xe8\\x01\\x0f\\x7a\\xc0\\x83\\x1e\\xf0\\xa0\\x07\\x3c\\xe8\\x01\\x0f\\x7a\\xc0\\x83\\x1e\\xf0\\xa0\\x07\\x3c\\xe8\\x01\\x0f\\x7a\\xc0\\x83\\x1e\\xf0\\xa0\\x07\\x3c\\xe8\\x01\\x0f\\xfc\\xef\\x81\\xf7\\x3d\\xf0\\xbe\\x07\\xde\\xf7\\xc0\\xfb\\x1e\\x78\\xdf\\x03\\xef\\x7b\\xe0\\x7d\\x0f\\xbc\\xef\\x81\\xf7\\x3d\\xf0\\xbe\\x07\\xde\\xf7\\xc0\\xfb\\x1e\\x78\\xdf\\x03\\xef\\x7b\\xe0\\x71\\x0f\\x3c\\xee\\x81\\xc7\\x3d\\xf0\\xb8\\x07\\x1e\\xf7\\xc0\\xe3\\x1e\\x78\\xdc\\x03\\x8f\\x7b\\xe0\\x71\\x0f\\x3c\\xee\\x81\\xc7\\x3d\\xf0\\xb8\\x07\\x1e\\xf7\\xc0\\xe3\\x1e\\x78\\xdc\\x03\\x8f\\x7b\\xe0\\x71\\x0f\\x3c\\xee\\x81\\xc7\\x3d\\xf0\\xb8\\x07\\x1e\\xf7\\xc0\\xe3\\x1e\\x78\\xdc\\x03\\x8f\\x7b\\xe0\\x71\\x0f\\x3c\\xee\\x81\\xc7\\xbd\\x10\\xf8\\x21\\xf0\\x43\\xe0\\x87\\xc0\\x0f\\x81\\x1f\\x02\\x3f\\x0c\\xdd\\x96\\xae\\xdc\\x92\\xbc\\x25\\xbc\\x85\\x6e\\xcc\\xe4\\x91\\x17\\x1f\\xf3\\xa7\\x79\\x6e\\x1c\\x89\\xa4\\x72\\x0c\\x6c\\x06\\x36\\x0b\\x5b\\x0d\\x5b\\x33\\xbc\\xb5\\x58\\x3c\\x2c\\xb7\\xb0\\xb8\\x24\\x7d\\x56\\x1d\\x6c\\x3d\\x6c\\x03\\x6c\\x23\\x6c\\x00\\x9b\\x8c\\x85\\x0f\\x16\\xf7\\xc1\\xe2\\x3e\\x58\\xdc\\x07\\x8b\\xfb\\x60\\x71\\x1f\\x2c\\xee\\x83\\xc5\\xfd\\x2a\\xb4\\xa2\\xaa\\x06\\xb6\\x16\\x16\\xf8\\xe0\\x6e\\x1f\\xdc\\xed\\x83\\xbb\\x7d\\x70\\xb7\\x0f\\xee\\xf6\\xc1\\xdd\\x3e\\xb8\\xdb\\xf7\\xbc\\x4a\\x1b\\xeb\\x2c\\xcc\\xb7\\x15\\x97\\x96\\x3b\\x05\\x02\\xf7\\x41\\xe0\\x3e\\x08\\xdc\\x07\\x81\\xfb\\x20\\x70\\x1f\\x04\\xee\\x83\\xc0\\x7d\\x10\\xb8\\x0f\\x02\\xf7\\x41\\xe0\\x3e\\x08\\xdc\\x07\\x81\\xfb\\x20\\x70\\x1f\\x04\\xee\\x83\\xc0\\x7d\\x10\\xb8\\x0f\\x02\\xf7\\x41\\xe0\\x3e\\x08\\xdc\\xf7\\x81\\x0f\\x22\\xf7\\x41\\xe4\\x3e\\x88\\xdc\\x07\\x91\\xfb\\x20\\x72\\x1f\\x44\\xee\\x83\\xc8\\x7d\\x10\\xb9\\x0f\\x22\\xf7\\x41\\xe4\\x3e\\x88\\xdc\\x07\\x91\\xfb\\x20\\x72\\x1f\\x44\\xee\\x83\\xc8\\x7d\\x10\\xb9\\x0f\\x22\\xf7\\x41\\xe4\\x3e\\x88\\xdc\\x07\\x91\\xfb\\x20\\x72\\x1f\\x44\\xee\\x83\\xc8\\x7d\\x10\\xb9\\x0f\\x22\\xf7\\x41\\xe4\\x3e\\x88\\xdc\\x07\\x91\\xfb\\x20\\x72\\x1f\\x44\\xee\\x83\\xc8\\x7d\\x10\\xb9\\x0f\\x22\\xf7\\x41\\xe4\\x3e\\x88\\xdc\\x07\\x91\\xfb\\x20\\x72\\x1f\\x44\\xee\\x83\\xc8\\x7d\\x10\\xb9\\x0f\\x22\\xf7\\x41\\xe4\\x3e\\x88\\xdc\\x07\\x91\\xfb\\x20\\x72\\x1f\\x44\\xee\\x83\\xc8\\x7d\\x10\\xb9\\x0f\\x22\\xf7\\x41\\xe4\\x3e\\x88\\xdc\\x07\\x91\\xfb\\x20\\x72\\x1f\\x44\\xee\\x83\\xc8\\x7d\\x10\\xb9\\x0f\\xa2\\xf6\\x41\\xd4\\x3e\\x88\\xd8\\x07\\x11\\xfb\\x20\\x62\\x1f\\x44\\xec\\x57\\x07\\xa2\\x54\\xec\\x28\\x76\\x0f\\x6f\\x2e\\xe4\\xbb\\xf2\\xdd\\x85\\xee\\x78\\xaf\\xa2\\xae\\xad\\xb3\\x35\\x17\\xbb\\x6e\\xae\\xa3\\x58\\xca\\xb7\\xe5\\x0b\\xb9\\xca\\xa0\\xb3\\xbb\\x60\\x63\\xf6\\x38\\x5b\\x07\\x25\\x1c\\x9f\\x51\\x84\\x57\\x39\\xa7\\xbd\\x10\\x3d\\x71\\x48\\x76\\xe6\\xa7\\x0a\\x57\\xcc\\x69\\xcf\\xb7\\x24\\x85\\x46\\x17\\x6c\\xf1\\xb5\\xb0\\x44\\x8c\\xc5\\xeb\\xf3\\xa5\\x9c\\xd8\\x2d\\x67\\xf5\\xb3\\x02\\x0e\\x3f\\xc0\\x66\\x31\\x8b\\x23\\xe6\\xb5\\x5a\\x8f\\x47\\x40\\x62\\x8f\\x5c\\x67\\x67\\x4e\\xce\\xca\\xb5\\x2f\\x6c\\xce\\xd1\\x3d\\x7b\\xe8\\xec\\x1e\\xba\\xa0\\xa0\\x80\\x4c\\xf7\\x2a\\xb0\\x7d\\x5a\\x8b\\x62\\x6e\\xa1\\xa5\\x3d\\xc7\\xe6\\xe5\\x7a\\x14\\x5a\\xc1\\xf6\\x6a\\x2d\\xb0\\x06\\xbb\\xed\\xd5\\x5d\\xa8\\x9c\\x91\\x6a\\xc1\\x48\\x14\\xe8\\xdd\\xaf\\xc8\\xf5\\x75\\xbc\\x32\\x9f\\xee\\x6e\\xbe\\xb7\\xbb\\x85\\xde\\xee\\x8e\\xeb\\x59\\xfb\\xd4\\xa4\\x33\\xf1\\xf9\\x7c\\x61\\xd4\\x99\\x96\\xa8\\x33\\xa2\\x39\\xdf\\x56\\xca\\x29\\xd4\\xc5\\x57\\x44\\x5d\\x8a\\x0e\\x96\\xe2\\x2e\\x45\\x95\\x89\\xc3\\xe2\\x2e\\xb5\\x25\\x5d\\xea\\xe8\\xa1\\xcb\\x0a\\xaa\\x98\\xf4\\x87\\x75\\xb5\\x16\\x65\\x77\\xd4\\x99\\x2a\\x11\\x1b\\x56\\xb2\\x7d\\x02\\x2e\\xeb\\xb4\\xfd\\x69\\xb2\\x9b\\xdd\\x15\\xc5\\x68\\x80\\x2b\\xd3\\x63\\x3b\\xb2\\x5f\\xf3\\x2a\\x8b\\xe9\\xab\\xd3\\x93\\xbe\\x3a\\xc5\\xbe\\xab\\x93\\xcc\\x09\\x90\\xa4\\x0f\\x92\\xf4\\x41\\x92\\x3e\\x48\\xd2\\x07\\x49\\xfa\\x20\\x49\\x1f\\x24\\xe9\\x83\\x24\\x7d\\x04\\xc7\\x3e\\x82\\x63\\x1f\\xc1\\xb1\\x8f\\xe0\\xd8\\x47\\x70\\xec\\x23\\x38\\xf6\\x41\\xaa\\x3e\\x48\\xd5\\x07\\xa9\\xfa\\x20\\x55\\x1f\\xa4\\xea\\x83\\x54\\x7d\\x90\\xaa\\x0f\\x52\\xf5\\x41\\xaa\\x3e\\x48\\xd5\\x07\\xa9\\xfa\\x20\\x55\\x1f\\xa4\\xea\\x83\\x54\\x7d\\x90\\xaa\\x0f\\x52\\xf5\\x41\\xaa\\x3e\\x48\\xd5\\x07\\xa9\\xfa\\x20\\x55\\x1f\\xa4\\xea\\x83\\x54\\x7d\\x90\\xaa\\x0f\\x52\\xf5\\x41\\xaa\\x3e\\x48\\xd5\\x07\\xa9\\xfa\\x20\\x55\\x1f\\xa4\\xea\\x83\\x54\\x7d\\x90\\xaa\\x0f\\x52\\xf5\\x41\\xaa\\x7e\\x98\\xe0\\x1b\\x84\\xc3\\x06\\xe1\\xb0\\x41\\x38\\x6c\\x10\\x0e\\x1b\\xd0\\xa9\\x01\\x9d\\x1a\\xd0\\xa9\\x01\\x9d\\x1a\\x84\\xc3\\x06\\xe1\\xb0\\x01\\x91\\x1a\\x10\\xa9\\x01\\x91\\x1a\\x10\\xa9\\x01\\x91\\x1a\\x10\\xa9\\x01\\x91\\x1a\\x10\\xa9\\x01\\x91\\x1a\\x10\\xa9\\x01\\x91\\x1a\\x10\\xa9\\x01\\x91\\x1a\\x10\\xa9\\x01\\x91\\x1a\\x10\\xa9\\x01\\x91\\x1a\\x10\\xa9\\x01\\x91\\x1a\\x10\\xa9\\x01\\x91\\x1a\\x10\\xa9\\x01\\x91\\x1a\\x10\\xa9\\x41\\x10\\x6c\\x10\\x04\\x1b\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x70\\xa8\\x01\\x87\\x1a\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x70\\xac\\x01\\xc7\\x1a\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x70\\xb0\\x01\\x07\\x1b\\x70\\xb0\\x01\\x07\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x04\\xc3\\x06\\xc1\\xb0\\x41\\x30\\x6c\\x10\\x0c\\x1b\\x3c\\x1c\\x37\\x78\\x38\\x6e\\x10\\x1c\\x1b\\x3c\\x1c\\x37\\x08\\x92\\x0d\\x82\\x64\\x83\\x20\\xd9\\x20\\x48\\x36\\x08\\x92\\x0d\\x82\\x64\\x03\\xfe\\x37\\xe0\\x7f\\x03\\xfe\\x37\\xe0\\x7f\\x03\\xfe\\x37\\xe0\\x7f\\x03\\xfe\\x37\\xe0\\x7f\\xd3\\x58\\xe3\\xe6\\x16\\x15\\x0a\\x55\\xd3\\x6a\\x7a\\x57\\x26\\x28\\x00\\x03\\x05\\x60\\xa0\\x00\\x0c\\x14\\x80\\x81\\x02\\x30\\x50\\x00\\x06\\x0a\\xc0\\x40\\x01\\x18\\x28\\x00\\x03\\x05\\x60\\xa0\\x00\\x0c\\x14\\x80\\x81\\x02\\x30\\x50\\x00\\x06\\x0a\\xc0\\x40\\x01\\x18\\x28\\x00\\x03\\x05\\x60\\xa0\\x00\\x0c\\x14\\x80\\x81\\x02\\x30\\x50\\x00\\x06\\x0a\\xc0\\x40\\x01\\x18\\x28\\x00\\x03\\x05\\x60\\xa0\\x00\\x0c\\x14\\x80\\x81\\x02\\x30\\x50\\x00\\x06\\x0a\\xc0\\x40\\x01\\x18\\x28\\x00\\x03\\x05\\x60\\xa0\\x00\\x0c\\x14\\x80\\x81\\x02\\x30\\x50\\x00\\x19\\x28\\x80\\x0c\\x14\\x40\\x06\\x0a\\x20\\x03\\x05\\x90\\x81\\x02\\xc8\\x40\\x01\\x64\\xa0\\x00\\x32\\x50\\x00\\x19\\x28\\x80\\x0c\\x14\\x40\\x06\\x0a\\x20\\x03\\x05\\x90\\x81\\x02\\xc8\\x40\\x01\\x64\\xa0\\x00\\x32\\x50\\x00\\x19\\x28\\x80\\x0c\\x14\\x40\\x06\\x0a\\x20\\x03\\x05\\x90\\x01\\xa3\\x67\\xc0\\xe8\\x19\\x30\\x7a\\x06\\x8c\\x9e\\xc1\\xca\\x91\\xc1\\xca\\x91\\xc1\\xca\\x91\\xc1\\xca\\x91\\xc1\\xca\\x91\\xc1\\xca\\x91\\xc1\\xca\\x91\\xc1\\xca\\x91\\xc1\\xca\\x91\\xc1\\xca\\x91\\xc1\\xca\\x91\\xc1\\xca\\x91\\xa9\\xed\\xc5\\x41\\xbb\\xb1\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xb0\\x72\\x64\\xea\\x42\\xd1\\xdd\\x9a\\x5f\\x92\\xab\\xb0\\xb1\\x43\\x6e\\x51\\x77\\xbe\\xa5\\xd8\\x96\\xb8\\x9d\\x36\\x69\\x1d\\x16\\xbb\\x8b\\x73\\xed\\xb9\\x52\\xb7\\x68\\x2d\\x74\\x15\\x16\\x8b\\x52\\xb7\\x55\\xe5\\x22\\x2e\\x28\\xe2\\x32\\xb2\\xf7\\x70\\xd1\\x06\\x02\\x49\\xa5\\xf5\\x75\\x72\\x71\\xcf\\xc2\\x9e\\x52\\xb7\\x6c\\xce\\xb5\\xe4\\xbb\\x5b\\x45\\x7b\\xbe\\x94\\x6f\\x11\\xed\\xb9\\xc5\\xb9\\x45\\xbc\\x2b\\xb7\\x28\\x6f\\xcf\\xec\\xce\\x2f\\x56\\xd1\\x37\\xdf\\xa2\\x17\\xe3\\xdd\\xb1\\xd1\\xdd\\x45\\x8b\\xda\\xdd\\xb3\\xd8\\xed\\xe9\\xec\\xcc\\x77\\x1d\\x1c\\x65\\xb5\\x15\\x97\\xe6\\xbb\\xac\\x93\\xd4\\xdb\\x90\\x1d\\x96\\x80\\x2d\\xb6\\xc0\\x1d\\x3c\\xd7\\x96\\x5f\\xc4\\x6c\\xc0\\x22\\x5a\\x0a\\xed\\xf9\\x36\\xd1\\x6c\\xf7\\x4b\\xb4\\x35\\xcf\\x96\\xe4\\x96\\x88\\x15\\xb9\\xe5\\x85\\x0e\\x66\\x43\\x15\\x56\\xb2\\xdb\\xf2\\x62\\xb3\\x5e\\x54\\xe8\\xc8\\xb5\\x1d\\x96\\x5b\\xc4\\xec\\x26\\x6c\\x53\\xf3\\xc8\\x6a\\xcf\\xb7\\x33\\xbb\\x25\\x3b\\x1d\\x3d\\x1d\\xcc\\x6e\\xb2\\xdb\\x1e\\x3f\\xac\\x95\\x47\\x95\\xa8\\xf8\\x40\\x67\\x9e\\x76\\xe6\\x2b\\x62\\xb7\\xd4\\x6d\\x43\\x15\\x11\\xa7\\x6c\\x71\\xd1\\x76\\xc8\\xf6\\x90\\x47\\x5d\\xb1\\x31\\xce\\x12\\x69\\xc1\\x97\\x24\\xc6\\x82\\x4a\\xbb\\x45\\xa6\\x25\\x8a\\x64\\x5a\\x5d\\x6b\\xba\\x5b\\x6d\\x9d\\xf1\\x30\\x55\\x35\\x26\\xf7\\x8a\\xb5\\x55\\xb0\\x1e\\xac\\x0f\\x6b\\x60\\x33\\xb0\\x59\\xd8\\x6a\\xd8\\x1a\\xd8\\x5a\\xd8\\x3a\\xd8\\x7a\\xd8\\x06\\xd8\\x46\\xd8\\x00\\x36\\x4c\\x6c\\x15\\xf0\\xab\\x80\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\x55\\xc0\\xaf\\x02\\x7e\\x15\\xf0\\xab\\x80\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\x55\\xc0\\xaf\\x02\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x03\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\x03\\xdf\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\x03\\xdf\\x07\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\xbe\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x35\\xf0\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x1a\\xf8\\xd5\\xc0\\xaf\\x06\\x7e\\x35\\xf0\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x1a\\xf8\\xd5\\xc0\\xaf\\x06\\x7e\\x0d\\xf0\\x6b\\x80\\x5f\\x03\\xfc\\x1a\\xe0\\xd7\\x00\\xbf\\x06\\xf8\\x35\\xc0\\xaf\\x01\\x7e\\x0d\\xf0\\x6b\\x80\\x5f\\x03\\xfc\\x1a\\xe0\\xd7\\x00\\xbf\\x06\\xf8\\x35\\xc0\\xaf\\x01\\x7e\\x2d\\xf0\\x6b\\x81\\x5f\\x0b\\xfc\\x5a\\xe0\\xd7\\x02\\xbf\\x16\\xf8\\xb5\\xc0\\xaf\\x05\\x7e\\x2d\\xf0\\x6b\\x81\\x5f\\x0b\\xfc\\x5a\\xe0\\xd7\\x02\\xbf\\x16\\xf8\\xb5\\xc0\\xaf\\x05\\x7e\\x1d\\xf0\\xeb\\x80\\x5f\\x07\\xfc\\x3a\\xe0\\xd7\\x01\\xbf\\x0e\\xf8\\x75\\xc0\\xaf\\x03\\x7e\\x1d\\xf0\\xeb\\x80\\x5f\\x07\\xfc\\x3a\\xe0\\xd7\\x01\\xbf\\x0e\\xf8\\x75\\xc0\\xaf\\x03\\x7e\\x3d\\xf0\\xeb\\x81\\x5f\\x0f\\xfc\\x7a\\xe0\\xd7\\x03\\xbf\\x1e\\xf8\\xf5\\xc0\\xaf\\x07\\x7e\\x3d\\xf0\\xeb\\x81\\x5f\\x0f\\xfc\\x7a\\xe0\\xd7\\x03\\xbf\\x1e\\xf8\\xf5\\xc0\\xaf\\x07\\x7e\\x03\\xf0\\x1b\\x80\\xdf\\x00\\xfc\\x06\\xe0\\x37\\x00\\xbf\\x01\\xf8\\x0d\\xc0\\x6f\\x00\\x7e\\x03\\xf0\\x1b\\x80\\xdf\\x00\\xfc\\x10\\x38\\x89\\x26\\xab\\x0a\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x50\\x1d\\xca\\xfd\\xe2\\x77\\x9d\\x72\\x69\\x62\\xf6\\x4b\\x3e\\xda\\xb8\\x34\\x36\\xee\\x7e\\xbd\\x0f\\xd8\\xdd\\xa5\\xbd\\x5e\\x72\\x1e\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x50\\x1b\\xb8\\x75\\xbd\\xef\\x2b\\xdd\\x5c\\xaf\\x57\\x51\\xd7\\xf7\\x66\\xb6\\x22\\xd7\\xe7\\x8e\\xaa\\x2b\\x7f\\xd4\\x33\\x1e\\x86\\x51\\xb9\\xfe\\x19\\xa9\\x12\\xf1\\xb0\\xa5\\x4b\\xc4\\x19\\xe3\\x52\\x25\\xfa\\x2a\\x1e\\x97\\x1b\\x24\\x33\\x5d\\x57\\xfc\\x66\\x39\\x5d\\x57\\x9c\\x31\\x36\\x55\\xa2\\xb7\\xe5\\x63\\x73\\x03\\xf3\\x86\\x25\\x1f\\x0d\\x4f\\x3e\\x86\\x96\\x4b\\xf9\\x49\\x7e\\xdc\\x2e\\xe4\\xc7\\xfe\\xc8\\x24\\xbf\\xaf\\x25\\x23\\x73\\x6b\\xef\\xe3\\xbc\\xb8\\x0d\\x38\\x2f\\xf6\\x47\\x24\\xf9\\xbd\\xb0\\x23\\x72\\x6b\\xed\\xba\\x41\\x9f\\xd7\\x97\\x57\\x11\\x94\\xc7\\xb9\\x5c\\xbf\\x0c\\x92\\x8f\\xf6\\x26\\xb5\\x8e\\x0a\\xfa\\x0f\\x72\\xbe\\x7f\\x46\\xd0\\x7f\\xd4\\xf3\\xfd\\x47\\x3d\\x18\\x6c\\xd4\\xf3\\x83\\x8d\\x7a\\xd0\\x7f\\xd4\\xf3\\xfd\\x47\\x3d\\x18\\x64\\xd4\\xf3\\x03\\xf3\\x2a\\x66\\x94\\xfb\\x56\\xe8\\x73\\xdd\\x19\\x7d\\xa3\\x50\\xe8\\xf3\\xe6\\xf4\\x79\\xc5\\xbe\\xb3\\xe7\\x94\\xcf\\x2e\\x96\\x5b\\x37\\xa7\\x7f\\xd7\\x8b\\xfd\\x33\\xe6\\xf4\\x1f\\x8b\\x62\\xff\\xb1\\x98\\x33\\xd8\\x58\\x14\\x07\\x1b\\x8b\\x39\\xfd\\xc7\\xa2\\xd8\\x7f\\x2c\\xe6\\x0c\\x32\\x16\\xc5\\x41\\xc6\\x22\\xfe\\xd8\\x6f\\xf2\\x71\\xc9\\x62\\xd9\\x8d\\x73\\xe3\\x46\\x25\\xb9\\xb1\\x3b\\x22\\xce\\xed\\x6b\\xc4\\x88\\xe2\\x5a\\xbb\\xc9\\x39\\x31\\x78\\x72\\x4e\\xec\\x0e\\x8f\\x73\\x7b\\xd1\\x86\\x17\\xd3\\x7b\\xee\\xfc\\x3e\\xaf\\xa7\\xaf\\x3d\\xf3\\xcb\\x15\\xf6\\x94\\xdd\\xf9\\xe5\\xa6\\xf5\\x94\\xdd\\xf9\\xe5\\x56\\xf6\\x94\\x5b\\x39\\x7f\\xed\\x56\\xf6\\xac\\xdd\\xca\\xf9\\xe5\\x56\\xf6\\x94\\x5b\\x39\\x7f\\xad\\x56\\xf6\\xa4\\xf7\\xe4\\xfe\\xc9\\x32\\xbb\\x3c\\x36\\xee\\xfe\\x7d\\x6d\\x5e\\xde\\xd7\\xe6\\xfd\\xcb\\xd5\\x2f\\x2f\\xdf\\x2b\\xfb\\x27\\xf7\\xca\\xf2\\xe4\\x63\\xf0\\xd1\\x9a\\x16\\x42\\xb3\\x85\\xd0\\x6c\\x21\\x34\\x5b\\x08\\xcd\\x16\\x42\\xb3\\x85\\xd0\\x6c\\x21\\x34\\x5b\\x08\\xcd\\x16\\x42\\xb3\\x85\\xd0\\x6c\\x21\\x34\\x5b\\x08\\xcd\\x16\\x42\\xb3\\x85\\xd0\\x6c\\x21\\x34\\x5b\\x08\\xcd\\x16\\x42\\xb3\\x85\\xd0\\x6c\\x21\\x34\\x5b\\x08\\xcd\\x16\\x42\\xb3\\x85\\xd0\\x6c\\x21\\x34\\x5a\\x08\\x8d\\x16\\x42\\xa3\\x85\\xd0\\x68\\x21\\x34\\x5a\\x08\\x8d\\x16\\x42\\x93\\x85\\xd0\\x64\\x21\\x34\\x59\\x08\\x4d\\x16\\x42\\x93\\x85\\xd0\\x64\\x21\\x34\\x59\\x08\\x4d\\x16\\x42\\x93\\x85\\xd0\\x64\\x21\\x34\\x59\\x08\\x4d\\x16\\x42\\x93\\x85\\x5e\\x2f\\x1e\\xfa\\x07\\x4d\\x16\\x42\\x93\\x85\\xd0\\x64\\x21\\x34\\x59\\x08\\x4d\\x16\\x42\\x93\\x85\\xd0\\x64\\x21\\x34\\x59\\x08\\x4d\\x16\\x42\\x93\\x85\\xd0\\x64\\x21\\x34\\x59\\x08\\x4d\\x16\\x42\\x93\\x85\\xd0\\x64\\x21\\x34\\x59\\x08\\x4d\\x16\\x42\\x93\\x85\\xd0\\x64\\x21\\x34\\x59\\x08\\x4d\\x16\\x42\\x93\\x85\\xd0\\x64\\x21\\x34\\x58\\x08\\x0d\\x16\\x42\\x83\\x85\\xd0\\x60\\x21\\x34\\x58\\x08\\x0d\\x16\\x42\\x73\\x85\\xd0\\x5c\\x21\\x34\\x57\\x08\\xcd\\x15\\x42\\x73\\x85\\xd0\\x5c\\x21\\x34\\x57\\x08\\xcd\\x15\\x42\\x6b\\x85\\xd0\\x58\\x61\\xa6\\xb7\\x5e\\xb4\\x1f\\x9a\\x2a\\x84\\xa6\\x0a\\xa1\\xa9\\x42\\x68\\xaa\\x10\\x9a\\x2a\\x84\\xa6\\x0a\\xa1\\xa9\\x42\\x68\\xaa\\x10\\x9a\\x2a\\x84\\xa6\\x0a\\xa1\\xa9\\x42\\x68\\xaa\\x10\\x9a\\x2a\\x84\\xa6\\x0a\\xa1\\xa9\\x42\\x68\\xaa\\x10\\x9a\\x2a\\x84\\xa6\\x0a\\xa1\\xa9\\x42\\x68\\xaa\\x10\\x9a\\x2a\\x84\\xa6\\x0a\\xa1\\xa9\\x42\\x68\\xaa\\x10\\x9a\\x2a\\x84\\xa6\\x0a\\xa1\\xa9\\x42\\x68\\xaa\\x10\\x9a\\x2a\\x84\\xa6\\x0a\\x11\\xab\\x87\\x88\\xd5\\x43\\xc4\\xea\\x21\\x62\\xf5\\x10\\xb1\\x7a\\x88\\x58\\x3d\\x84\\x86\\x0a\\xa1\\xa1\\x42\\x68\\xa8\\x10\\x1a\\x2a\\x84\\x86\\x0a\\xa1\\xa1\\x42\\x68\\xa8\\xb0\\xa6\\x17\\x0f\\xfd\\x85\\x86\\x0a\\xa1\\xa1\\x42\\x68\\xa8\\x10\\x1a\\x2a\\x84\\x86\\x0a\\xa1\\xa1\\x42\\x68\\xa8\\x10\\x1a\\x2a\\x84\\x86\\x0a\\xa1\\xa1\\x42\\x68\\xa8\\x10\\x1a\\x2a\\x84\\x86\\x0a\\x11\\xab\\x87\\x88\\xd5\\x43\\xc4\\xea\\x21\\x62\\xf5\\x10\\xb1\\x7a\\x88\\x58\\x3d\\x44\\xac\\x1e\\x22\\x56\\x0f\\x11\\xab\\x87\\x88\\xd5\\x43\\xc4\\xea\\x21\\x62\\xf5\\x10\\xb1\\x7a\\x88\\x58\\x3d\\x44\\xac\\x1e\\x22\\x56\\x0f\\x11\\xab\\x87\\x88\\xd5\\x43\\xc4\\xea\\x21\\x62\\xf5\\x10\\xb1\\x7a\\x88\\x58\\x3d\\x44\\xac\\x1e\\x22\\x56\\x0f\\x11\\xab\\x87\\x88\\xd1\\x43\\xc4\\xe8\\x21\\x62\\xf4\\x10\\x31\\x7a\\x88\\x18\\x3d\\x44\\x8c\\x1e\\x22\\x46\\x0f\\x11\\xa3\\x87\\x88\\xd1\\x43\\xc4\\xe8\\x21\\x62\\xf4\\x10\\x31\\x7a\\x88\\x18\\x3d\\x44\\x8c\\x1e\\x22\\x46\\x0f\\x11\\x9b\\x87\\x88\\xcd\\x43\\xc4\\xe6\\x21\\x62\\xf3\\x10\\xb1\\x79\\xd8\\x00\\xdc\\x06\\xe0\\x36\\x00\\xb7\\x01\\xb8\\x0d\\xc0\\x6d\\x04\\x6e\\x23\\x70\\x1b\\x81\\xdb\\x08\\xdc\\x46\\xe0\\x35\\x02\\xaf\\x11\\x78\\x8d\\xc0\\x6b\\x04\\x5e\\x23\\xf0\\x1a\\x81\\xd3\\x08\\x9c\\x46\\xe0\\x04\\xc0\\x09\\x80\\x13\\x00\\x27\\x00\\x4e\\x80\\xfe\\x05\\xb8\\xae\\x01\\x70\\x03\\xe0\\x06\\xc0\\x0d\\x80\\x1b\\x00\\x37\\x00\\x6e\\x80\\x7e\\x06\\xc0\\x0f\\x80\\x1f\\x00\\x3f\\x04\\x5e\\x08\\xbc\\x10\\x78\\x21\\x70\\x42\\xe0\\x84\\xc0\\x09\\x81\\x13\\x02\\x27\\x04\\x4e\\x08\\x9c\\x10\\x38\\xc9\\x33\\x10\\x6f\\x5a\\xc2\\x73\\xd6\\x36\\xc2\\xf6\\xe6\\x87\\x89\\x4d\\x78\\xcd\\xda\\xcc\\xf0\\xf8\\x87\\xd0\\xe2\\xaf\\x69\\x36\\x2f\\x6c\\x1b\\xbe\\xb8\\xa7\\x18\\xfd\\x0a\\x67\\xf4\\xcd\\xcd\\x7c\\x33\\xca\\xe0\\x9c\\x84\\x6b\\xac\\xad\\x87\\x05\\x86\\x07\\x0c\\x2f\\x90\\xed\\x85\\x8e\\xf8\\x0b\\x73\\xf9\\xa6\\x62\\x07\\xce\\xf6\\x8d\\x9b\\x5f\\xd6\\xd4\\x96\\x6b\\xb7\\xb5\\xbb\\x5d\\xb9\\xe6\\xe8\\x27\\xfd\\xf2\\xcb\\x92\\x63\\x19\\xb4\\x2a\\x8b\\x9a\\xb3\\xa8\\x39\\x8b\\x9a\\xb3\\xa8\\x39\\xdb\\x5b\\x2e\\x74\\x3b\\xba\\x7b\\x3a\\xf3\\x5d\\x85\\x62\\x57\\x92\\x93\\xac\\x0f\\xd6\\x56\\xc1\\xa2\\x5f\\xc9\\xfa\\x60\\xad\\x49\\x6c\\x1d\\xca\\xd5\\xa1\\x5c\\x9d\\xc7\\xdb\\x0a\\x5d\\x39\\xec\\x64\\x60\\xb3\\xb2\\x33\\xdf\\x9d\\x2f\\xf5\\x66\\xd7\\xc0\\xd6\\xca\\xee\\xd6\\xfc\\xe2\\x7c\\x1b\\x6f\\x2e\\x76\\xb4\\xf0\\xe8\\x47\\x02\\x71\\x00\\xcd\\xab\\x43\\xf3\\xea\\x30\\x50\\xf5\\x00\\xab\\x07\\x58\\x3d\\x1a\\x55\\x8f\\x46\\xd5\\xa3\\x51\\xf5\\xc0\\x4d\\x5e\\x5e\\x7a\\x55\\x89\\xa8\\xf1\\xaa\\x12\\xb1\\x61\\x6d\\x16\\xb6\\x9a\\xcd\\x69\\x6d\\x77\\xf3\\xdd\\xa5\\x42\\x7b\\xae\\x84\\xcb\\x52\\x95\\x50\\x9e\\xb5\\x81\\x2e\\x76\\xe4\\x4b\\xad\\x85\\xae\\x66\\xb7\\xb4\\xb4\\x18\\x3b\\xdd\\xae\\xcd\\xca\\x47\\xbf\\xd9\\xdb\\x5a\\x59\\x6a\\xed\\xca\\xc3\\xef\\x1e\\xb6\\xa8\\xb0\\xa4\\xd7\\xaf\\xec\\xb6\\x57\\xb9\\x03\\x3b\\x49\\x55\\x35\\xc6\\xcd\\x75\\x75\\x15\\x97\\xb6\\xe5\\x17\\x95\\x54\\xec\\xf5\\x74\\x56\\xc4\\x36\\xfe\\xfd\\xdf\\xe4\\x60\\x73\\x71\\x69\\x47\\xe2\\x2d\\xb4\\x60\\x2e\\x8a\\x35\\x77\\x54\\xf6\\x79\\x0b\\xbb\\x63\\x35\\xe7\\xe1\\x6b\\x3f\\x9e\\x57\\x95\\xa9\\x28\\x76\\x95\\x5a\\xa3\\x6f\\x26\\xe6\\xda\\x2a\\x0b\\x1d\\xa5\\x68\\x76\\xc5\\xbf\\xd4\\x3a\\x2c\\xbf\\xb8\\xa7\\xb0\\xc4\\xce\\x88\\x8e\\xa6\\xbc\\x68\\x2d\\xf6\\x74\\xe7\\x87\\xdb\\xc9\\xd7\\x56\\x6c\\x89\\xa6\\x49\\x47\\xb1\\x54\\x11\\x15\\xb6\\xba\\xb2\\xad\\xd4\\xd9\\xe7\\x2e\\x8c\\x5f\\x8b\\x79\\x78\\xe7\\xea\\xe1\\x5d\\xab\\x87\\x77\\xa4\\x1e\\xde\\x85\\x5a\\x6b\\x60\\x6b\\x60\\x71\\xdc\\x43\\x3e\\xe6\\x6f\\xc6\\xc7\\xbe\\x8f\\xfd\\x0c\\xce\\x4f\\x34\\x84\\xb5\\xa8\\x3f\\xd1\\x10\\xd6\\xa2\\x7c\\xa2\\x21\\xac\\xcd\\xc2\\x56\\xc3\\x02\\x2f\\xd1\\x12\\xd6\\xd6\\xc1\\xd6\\xc3\\xf6\\xe2\\x34\\xc2\\x06\\xb0\\xc9\\xf4\\xc9\\x64\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x3e\\xee\\xae\\x0c\\xee\\xae\\x4c\\x74\\x77\\x75\\x2e\\x6c\\x2b\\x36\\x1d\\xa6\\xec\\xb5\\x8a\\xac\\x48\\xf6\\xda\\x16\\x25\\xb6\\xab\\x84\\xfd\\x52\\x77\\x6b\\xae\\x39\\x2f\\xe2\\x54\\x35\\x1f\\x16\\x5b\\x77\\x51\\xa1\\xad\\xcd\\x2e\\x15\\xc5\\xe4\\x1e\\xc6\\x9b\\x5b\\x0f\\x6f\\x5e\\xad\\xad\\xaf\\x48\\x4a\\x74\\xd9\\x2b\\xac\\x4a\\x5d\\x85\\x5c\\x4b\\x4f\\x67\\x62\\xbb\\xb0\\xdf\\xdc\\x91\\xd8\\xb6\\x45\\x32\\x8a\\xb7\\xda\\x92\\xd9\\x92\\x69\\xc0\\xb8\\x34\\x84\\x6e\\xa1\\x63\\xc9\\xc2\\x1e\\x5b\\x49\\x29\\xf2\\x92\\x32\\x15\\xc5\\xce\\x7c\\x07\\x32\\xbb\\xdb\\x0b\\x76\\x8a\\xe6\\x9a\\xf2\\x76\\x2e\\x2d\\xe9\\xdb\\x61\\xdd\\x3d\\x1d\\x72\\x51\\xbe\\xdd\\xce\\x26\\x1e\\x25\\xa2\\xbb\\xd3\\xb6\\x97\\x37\\xb5\\xf5\\x2c\\x14\\xad\\xf9\\x9c\\x45\\x6f\\x2e\\xe4\\xda\\xed\\xc2\\x34\\xac\\xbd\\xa7\\x1b\\xf3\\x2b\\x3f\\x22\\xe5\\xdb\\x15\\x2a\\x6e\\x41\\x36\\x51\\x5b\\x5e\\x03\\xae\\x44\\x03\\xae\\x44\\x03\\xae\\x44\\x03\\xae\\x44\\x03\\xae\\x44\\x03\\xae\\x44\\x03\\xae\\x44\\x03\\xae\\x44\\x03\\xae\\x44\\x03\\xae\\x44\\x03\\xae\\x44\\x03\\xae\\x44\\x03\\xd6\\xb9\\x06\\xac\\x73\\x0d\\xd5\\xc0\\xa9\\x06\\x4e\\x35\\x70\\xaa\\x81\\x53\\x0d\\x9c\\x6a\\xe0\\x24\\xaa\\xce\\xc3\\x13\\xe3\\xba\\xea\\x3e\\x5b\\x03\\x5b\\x0b\\x5b\\x07\\x5b\\x0f\\xdb\\x00\\xdb\\x08\\x1b\\xc0\\x86\\x89\\x4d\\xa2\\x14\\x6b\\xab\\x12\\x5b\\x83\\xfa\\x6a\\x50\\x5f\\x0d\\xea\\xab\\x41\\x7d\\x89\\x8a\\xb3\\x22\\xa5\\x11\\x36\\xa8\\x4c\\xde\\x00\\x1f\\x1c\\xbf\\x2a\\x1f\\x69\\x6f\\xdf\\xbc\\x0d\\x49\\xa3\\x1f\\x7f\\x8d\\x5e\\x2d\\xeb\\xe8\\x0d\\xf6\\xd2\\x82\\x9d\\x4b\\xf1\\xbb\\xeb\\xc8\\x93\\xad\\xf9\\xc8\\xa8\\xc3\\x72\\xc9\\x81\\xf8\\x45\\x75\\xe4\\x55\\xf6\\xbe\\xac\\x8e\\x76\\x74\\xf4\\x3a\\x39\\x2e\\x57\\xca\\x2d\\x89\\x8f\\xda\\x9a\\x0f\\xee\\x6c\\xeb\\xe9\\x8e\\x7e\\x4f\\x74\\x58\\xf4\\x32\\x1a\\xef\\xd6\\x2b\\x62\\x3f\\x76\\x47\\xc7\\x59\\xf1\\x0b\\x79\\x1c\\x1c\\x95\\xca\\x89\\x33\\xdc\\xa8\\x41\\x71\\x53\\x2b\\x22\\x2f\\x79\\xd9\\x1e\\x67\\xb6\\xe7\\x3a\\x0b\\x8b\\xdd\\x85\\xf9\\x52\\x52\\x7c\\x58\\xfc\\xca\\x1d\\x7e\\xdc\\xf8\\xc4\\xd7\\xad\\xf9\\xc4\\x71\\x97\\xe4\\x96\\xe0\\x70\\xfc\\x2a\\x1e\\xb9\\xa5\\xde\\x82\\xae\\x1d\\x94\\xc4\\x1b\\xd1\\xfb\\x62\\x1e\\x07\\xfa\\xbc\\x61\\x71\\xdf\\x91\\x6b\\x3b\\x0e\\xaf\\xa3\\x07\\x95\\x55\\x26\\x2f\\xe9\\x93\\x9d\\xe1\\x78\\x4b\\x8f\\x66\\xf4\\x3a\\xc3\\xe2\\xd7\\xf4\\x38\\x73\\x71\\x11\\x35\\x57\\x44\\xc3\\x07\\xb7\\x3c\\x04\\x6e\\xa9\\xb7\\xc9\\xda\\x36\\x3e\\xf9\\x38\\x83\\xed\\x70\\xf4\\x79\\x85\\xe8\\x72\\x44\\xd6\\xd2\\x62\\x64\\xe2\\x11\\x89\\x5b\\x17\\x5f\\x66\\xbc\\x60\\x08\\xf1\\x82\\x21\\xc4\\x0b\\x06\\x6b\\xfd\\x51\\x3d\\xc9\\x6f\\xbe\\xf6\\x7d\\xb9\\x72\\x78\\xd3\\xf2\\x2e\\xbb\\x2a\\x14\\x9a\\xe2\\xe7\\x6a\\xa3\\xe2\\x2f\\xc4\\xa7\\x0e\\x8f\\x4e\\xf9\\x5d\\xd1\\xe7\\xb5\\xf3\\xda\\x5e\\x96\\xb6\\x7c\\x77\\xf7\\xa1\\xc3\\x2c\\x93\\x2d\\x8a\\x7e\\x88\\x37\\x62\\x0b\\xcb\\x6f\\xbd\\xfe\\xf0\\x98\\xd7\\x7a\\xf7\\x2a\\x17\\x15\\x7b\\xba\\xca\\x3b\\x76\\xa2\\xf5\\x95\\x8b\\x69\\xae\\x6f\\x2f\\xe6\\xbb\\xbe\\xbd\\xde\\x07\\x14\\x53\\xed\\x3c\\xaa\\x1a\\xd1\\xf7\\x64\\x22\\xda\\x35\\xc3\\xd1\\x82\\x42\\x7c\\x70\\xa4\\xed\\x59\\xf4\\xbd\\x97\\xe8\\xbb\\x31\\x53\\x9b\\x72\\x9d\\xa9\\xfd\\xaa\\x7e\\xfb\\x0d\\xfd\\xf6\\xa7\\xa5\\xf6\\xab\\xfb\\x9d\\xef\\xf7\\xed\\xf7\\x0e\\xd0\\xc1\\xc5\\x52\\xf4\\x43\\xe7\\x6e\\x3c\\x50\\x53\\x6d\\x2e\\x4a\\x9a\\x7e\\x35\\x99\\x7e\\xc8\\xfe\\x20\\xfb\\x35\\xa9\\xfd\\xaa\\x08\\x3d\\xb5\\xdf\\xd0\\x6f\\xdf\\xf4\\x96\\xaf\\x5c\\x98\\xeb\\x2a\\x4c\\x45\\xe7\\xc7\\xc6\\x07\\xeb\\xab\\x92\\x02\\x55\\x51\\xa5\\xd3\\x06\\xc9\\xab\\xea\\x97\\x67\\x06\\x29\\x67\\xfa\\x95\\xcb\\x0e\\x52\\x5f\\x76\\x90\\xfa\\xb2\\x83\\xd4\\x97\\xed\\x57\\x5f\\xed\\x20\\xed\\xab\\x1d\\xa4\\x7d\\xb5\\x83\\xb4\\xaf\\x76\\x90\\xf6\\xd5\\x0e\\xd2\\xbe\\xda\\x41\\xda\\x57\\x3b\\x48\\xfb\\x6a\\x07\\xb6\\xaf\\x21\\x33\\xb0\\x7d\\x6b\\xe5\\xf5\\x2f\\x67\\x06\\x29\\xd7\\xbf\\xbe\\xec\\x20\\xf5\\x65\\x07\\xa9\\x2f\\x3b\\x48\\x7d\\x83\\x8d\\x5f\\x4d\\xef\\x24\\x1b\\x24\\xaf\\x7f\\xb9\\xec\\x20\\xe5\\xb2\\xfd\\x70\\xfb\\xd5\\xb7\\x56\\x5e\\xff\\x72\\xd9\\x41\\xca\\xc5\\xf5\\x45\\x5f\\xc8\\xb2\\xc4\\x5c\\x88\\x1f\\x67\\xea\\xa0\\xa3\\x25\\xbe\\x19\\x7b\\x1d\\xaf\\xd7\\xf1\\xf5\\x8a\\x7c\\x57\\x31\\xf2\\x94\\x5d\\x2e\\x62\\x6b\\x97\\x8a\\xc8\\xba\\xf1\\x32\\x11\\x79\\x3a\\x5a\\x22\\x12\\xa7\\x90\\xdc\\xe2\\xaa\\xbb\\xb0\\x2c\\x2e\\x13\\x2f\\x11\\xb1\\x17\\x2f\\x0f\\x71\\xa1\\x8e\\x42\\x52\\xd1\\xc8\\x7e\\x4f\\xa9\\x47\\xf6\\x7b\\x26\\x3d\\x62\\xed\\xa7\\xcf\\x23\\xfb\\x3d\\x66\\xae\\x28\\xbf\\xb3\\xa8\\x28\\xbf\\xa6\\x70\\xfb\\xde\\x4a\\x54\\x94\\xdf\\x41\\x8c\\xe9\\x87\\x34\\xb5\\xad\\x69\\x4c\\x3f\\x30\\x9b\\x35\\x7a\\x6d\\xbc\\xb5\\x0b\\xc5\\xf5\\xd8\\xac\\xe1\\x65\\xd4\\xbe\\xbd\\xde\\x0a\\x2a\\xfb\\xb0\\xfb\\x0e\\xf5\\x9e\\xa6\\x93\\x32\\x3d\\x4d\\x3a\\x39\\xb5\\xa7\\x69\\x78\\xb9\\xee\\x28\\x3b\\x5e\\xb7\\xad\\x33\\xac\\xf7\\xcd\\x59\\x94\\x99\\x9c\\xdd\\xd3\\x34\\x32\\xfd\\x7b\\x24\\xd1\\x81\\x64\\x09\\xb3\\x07\\x92\\x1f\\x36\\x39\\xb8\\x2b\\xbf\\x28\\xdf\\x65\\xc3\\xcc\\x51\\x31\\x87\\xc4\\x4c\\x03\\x36\\x2a\\x67\\xf4\\xd1\\x62\\x42\\xc2\\xc3\\x7b\\x77\\xe3\\x4f\\xeb\\x8d\\xed\\x23\\xa0\\xf2\\xc7\\xf6\\x46\\xf4\\xe5\\xf5\\xdb\\x8d\\x3f\\xb1\\x37\\x2a\\x25\\x3d\\xe2\\xdc\\x98\\xe0\\x41\\x92\\x3d\\xf1\\x87\\xf6\\x6c\\xd8\\x55\\xdf\\x08\\xdf\\x4b\\xf9\\x7e\\xe4\\xf3\\xb9\\x07\\xd7\\x07\\xc9\\x5f\\xc9\\xd1\\x0e\\x75\\x46\\x3b\\xe4\\x8b\\x2f\\xac\\x8f\\xdf\\xeb\\x5e\\xb5\\xcb\\xb9\\xf7\\x46\\x76\\x65\\xc3\\x8a\\x0b\\xe2\\xfd\\x93\\xbe\\x38\\x25\\x3e\\x12\\xfd\\x61\\xc8\\x65\\xce\\x91\\xf1\\xaf\\x7c\\x8f\\x76\\x1c\\x7e\\xbb\\x43\\xf8\\x4a\\xbe\\xc6\\x61\\xfc\\x3d\\xfe\\x9e\\xf5\\xdf\\xe7\\xef\\x5b\\xff\\x03\\xfe\\x81\\xf5\\x3f\\xe4\\x9f\\x5a\\xff\\x33\\xfe\\x99\\xf5\\x3f\\xe7\\x9f\\x5b\\xff\\x0b\\x7d\\xb9\\x43\\xf4\\x15\\xfa\\x0a\\x87\\xe9\\x2b\\xf5\\xb3\\xd6\\x7f\\x4e\\x3f\\xe7\\x50\\xfd\\xbc\\x3b\\xdb\\x21\\xee\\x1c\\x77\\x6f\\x87\\x46\\xbf\\xbd\\x64\\xfd\\x79\\xee\\xbe\\x0e\\x73\\xf7\\x73\\xf7\\xb3\\xa8\\x1c\\xbf\\x29\\x4e\\x52\\x5b\\x85\\x33\\xd5\\x59\\xe0\\x50\\xcb\\x22\\x6d\\xce\\x88\\xd6\\xfc\\xc2\\x2e\\x67\\x83\\xb8\\x5c\\xf4\\xd7\\xae\\x9c\\x3e\\x2f\\x2e\\x1d\\x91\\x8e\\xed\\xa3\\xe3\\x8c\\xfc\\x27\\xbf\\x3b\\x3e\\xde\\xd6\\x99\\x75\\xa6\\x3b\\xa1\\x33\\xdb\\xd9\\x37\\xfe\\x63\\x03\\x47\\x3a\\x27\\x38\\xa7\\x3a\\x67\\x39\\xe7\\x3b\\xd7\\x39\\x4f\\x39\\x2f\\x3b\\x6f\\x3a\\xef\\x3b\\x9f\\x13\\x49\\x46\\x90\\xf1\\xb6\\x0e\\x62\\xff\\xbf\\x6d\\xad\\x72\\x08\\x3b\\x31\\xd9\\x67\\x57\\x25\\x96\\x1f\\x93\\xd8\\x8a\\xd0\\x62\\xd8\\x1e\\x8c\\xea\\x1a\\x75\\xcb\\xe8\\xf1\\xa3\\x5b\\x93\\xbd\\xd1\\x17\\x8f\\xd9\\x62\\xcc\\xf9\\x63\\xb7\\x4e\\xf6\\xc6\\x9e\\x3c\\xf6\\xc5\\x71\\xd9\\x71\\xc7\\x26\\x7b\\xe3\\x56\\xad\\x37\\x7b\\xbd\\xdb\\xc6\\xef\\x9e\\x9c\\x3f\\xfe\\xb2\\xc4\\x6e\\x78\\x68\\x62\\x27\\x8c\\x8f\\x4b\\xe9\\x4d\\x6e\\xda\\x74\\xda\\xa6\\xc7\\x6d\\xfa\\xe2\\xc4\\xe9\\x13\\x4f\\x9b\\xf8\\xce\\x66\\xb3\\xe2\\xdc\\xe1\\x9b\\x1d\\xbb\\xd9\\x35\\x9b\\xad\\x9e\\xb4\\xc1\\xa4\\xdd\\x27\\x2d\\x9b\\x74\\xe1\\xa4\\xc7\\x36\\xd7\\x9b\\xd7\\x6c\\xde\\xba\\xf9\\x69\\x9b\\xaf\\x8c\\x8f\\xd3\\xcd\\x1f\\xdb\\x42\\x26\\xf5\\x6c\\xb1\\x6d\\x62\\x27\\x3f\\x92\\xd8\\x6d\\x4f\\x4d\\xec\\xf6\\x0f\\xc4\\xbd\\x22\\x55\\x27\\xc3\\x9e\\x6e\\xc7\\x2b\\xb2\\x57\\x39\\x84\\x9e\\x4a\\x3b\\x6c\\x7a\\x86\\x1d\\xad\\x59\\xce\\xe9\\xce\\xd9\\x76\\x54\\x2e\\x76\\x2e\\x73\\xae\\x71\\xae\\x77\\x6e\\x71\\xee\\x74\\xee\\x73\\x1e\\xb1\\x63\\xf4\\x82\\xb3\\xda\\x8e\\xd2\\x1a\\xe7\\x63\\x7b\\x92\\x24\\x95\\x64\\x0c\\xd9\\x80\\x6c\\x42\\xb6\\x20\\xdb\\x92\\x69\\x24\\x4b\\x76\\x26\\xf5\\x64\\x77\\x32\\x9b\\xcc\\x23\\x07\\x90\\x43\\xc8\\x22\\xd2\\x46\\xba\\xc8\\x32\\x72\\x04\\x39\\x9a\\x1c\\x47\\x4e\\x24\\xa7\\x92\\x33\\xc8\\xb9\\xe4\\x42\\x72\\x09\\xb9\\x82\\x5c\\x4b\\x6e\\x20\\xb7\\x91\\x55\\xe4\\x01\\xf2\\x18\\x79\\x86\\xbc\\x48\\x5e\\x25\\x6f\\x93\\xf7\\xc9\\xa7\\x94\\x52\\x4d\\x47\\xd0\\x71\\x74\\x23\\x3a\\x91\\x4e\\xa6\\x53\\xa8\\x47\\x6b\\xe8\\x74\\xda\\x48\\x67\\xd2\\xbd\\xe8\\xbe\\xf4\\xc0\\xf8\\xef\\x1d\\x9e\\x6a\\xd3\\x71\\x71\\xba\\x32\\x4e\\x9d\\x72\\x4a\\x5b\\x62\\xff\\xa9\\xfe\\xf9\\xe4\\xc4\\xfe\\x39\\x5f\\xbc\\xd0\\xdf\\x4f\\xca\\x10\\x9e\\x2a\\xb9\\x49\\xff\\xb3\\x86\\x4a\\xbf\\xb8\\x25\\x95\\xb3\\x6c\\x40\\xda\\x2c\\xce\\xe9\\xf3\\x87\\xaa\\xe1\\x85\\x2f\\xab\\xf9\\x8b\\x43\\xfa\\xfb\\x83\\xd4\\x33\\xc4\\x98\\x90\\x55\\xfd\\xc7\\x04\\x39\\x03\\xd0\\x31\\x0e\\xfc\\x5f\\xe9\\xf5\\xc0\\x3a\\x51\\xe6\\x90\\x41\\xdb\\x4c\\x1d\\xc9\\xbf\\x10\\x13\\x1c\\x47\\xaf\\xd0\\x2b\\x9c\\x4d\\xec\\x6a\\x71\\xa5\\xb3\\xa9\\xbe\\x5a\\x5f\\xef\\x4c\\xd4\\x37\\xd8\\x95\\x63\\x6b\\x77\\x0f\\xbb\\x66\\xec\\x1e\\xdf\\x6b\\x6f\\xc7\\xf7\\xb9\\xb4\\x57\\x77\\x91\\x38\\xd4\\xfa\\x13\\x9c\\xe8\\x2f\\x71\\x4d\\xb2\\xf3\\x34\\x5a\\x3b\\x08\\x5b\\x1d\\xd7\\x4a\\x6c\\x3d\\x51\\xe9\\x0f\\x53\\xa5\\xa3\\xfc\\xdb\\xec\\xfd\\x4d\\x9c\\x55\\xb6\\xf4\\x18\\x67\\xb2\\x33\\xc5\\xf1\\x9c\\x1a\\xbb\\x06\\x34\\x3a\\x33\\x9d\\xbd\\xec\\x2a\\x70\\xa0\\xb3\\xd0\\x69\\x8d\\xff\\x14\\xc3\\x0a\\xbb\\x1a\\x1c\\xe3\\x1c\\x1f\\x9d\\x47\\x17\\xf4\\xa6\\x64\\x57\\x7a\\x9d\\xf5\\x2f\\x67\\x75\\xb6\\x8e\\x1b\\xe9\\x04\\x9b\\x7a\\x51\\x8e\\xe3\\xb1\\x15\\xbd\\x29\\xca\\x4f\\x76\\x76\\xb6\\xe5\\x6f\\x4a\\x9d\\x7b\\x0d\\x3d\\xd2\\xa6\\x97\\xd0\\xfb\\x6c\\xfa\\x79\\x9c\\x7f\\x2e\\xb5\\xab\\x2c\\xbd\\x84\\xdc\\xde\\x9b\\x3a\\x63\\x84\\x14\\x95\\x62\\x84\\x18\\x2d\\xc6\\x25\\xbf\\xa3\\x6b\\xc7\\xa3\\xfc\\x9b\\x7e\\xd1\\x2f\\xfa\\xdd\\xa0\\x6f\\x8c\\xfb\\xf5\\x6e\\xb9\\x5f\\x51\\x0b\\xec\\x4a\\x7c\\x8f\\x43\\xed\\x08\\xda\\xbb\\x95\\x78\\xa4\\x86\\x4c\\x27\\x8d\\x64\\x26\\xd9\\x8b\\xec\\x4b\\x0e\\x24\\x0b\\x49\\x2b\\xe9\\x20\\x25\\xb2\\x82\\x1c\\x49\\x8e\\x21\\xc7\\x93\\x93\\xc9\\x69\\xe4\\x2c\\x72\\x1e\\xb9\\x88\\x5c\\x4a\\xae\\x22\\xd7\\x91\\x9b\\xc8\\x4a\\x72\\x0f\\x79\\x88\\x3c\\x41\\x9e\\x23\\x2f\\x93\\xd7\\xc9\\x3b\\xe4\\x43\\xdb\\x42\\x4e\\x2b\\xe8\\x28\\x3a\\x9e\\x4e\\xa0\\x93\\xe8\\xd6\\x74\\x2a\\x35\\x74\\x47\\xba\\x2b\\x0d\\xe9\\x2c\\xba\\x0f\\x5d\\x40\\x0f\\xa2\\xcd\\xf4\\x50\\xda\\x49\\x97\\xd0\\xc3\\xe9\\x51\\xf4\\x58\\x7a\\x02\\x3d\\x85\\x9e\\x4e\\xcf\\xa6\\xe7\\xd3\\x8b\\xe9\\x65\\xf4\\x1a\\x7a\\x3d\\xbd\\x85\\xde\\x49\\xef\\xa3\\x8f\\xd0\\xa7\\xe8\\x0b\\x74\\x35\\x7d\\x93\\xae\\xa1\\x1f\\x33\\x87\\x49\\x56\\xc9\\xc6\\xb0\\x0d\\xd8\\x26\\x6c\\x0b\\xb6\\x2d\\x9b\\xc6\\xb2\\x6c\\x67\\x56\\xcf\\x76\\x67\\xb3\\xd9\\x3c\\x76\\x00\\x3b\\x84\\x2d\\x62\\x6d\\xac\\x8b\\x2d\\x63\\x47\\xb0\\xa3\\xd9\\x71\\xec\\x44\\x76\\x2a\\x3b\\x83\\x9d\\xcb\\x2e\\x64\\x97\\xb0\\x2b\\xd8\\xb5\\xec\\x06\\x76\\x1b\\x5b\\xc5\\x1e\\x60\\x8f\\xb1\\x67\\xd8\\x8b\\xec\\x55\\xf6\\x36\\x7b\\x9f\\x7d\\xca\\x29\\xd7\\x7c\\x04\\x1f\\xc7\\x37\\xe2\\x13\\xf9\\x64\\x3e\\x85\\x7b\\xbc\\x86\\x4f\\xe7\\x8d\\x7c\\x26\\xdf\\x8b\\xef\\xcb\\x0f\\xe4\\x0b\\x79\\x2b\\xef\\xe0\\x25\\xbe\\x82\\x1f\\xc9\\x8f\\xe1\\xc7\\xf3\\x93\\xf9\\x69\\xfc\\x2c\\x7e\\x1e\\xbf\\x88\\x5f\\xca\\xaf\\xe2\\xd7\\xc5\\x73\\x23\\x8c\\x52\\x79\\x9e\\xbd\\x36\\x6b\\x22\\x9f\\xac\\x89\\xfd\\x55\\xb1\\xbf\\x2a\\xf2\\xe9\\x84\\xb8\\xcc\\x84\\xd8\\x9f\\x1d\\xfb\\xb3\\x63\\x3f\\x75\\xee\\x5a\\x7e\\xba\\xcc\\x10\\xe5\\xc9\\x73\\x71\\xfd\\xcf\\xf5\\xc7\\xa5\\x0b\\xe2\\x32\\x0b\\x06\\x9c\\x7b\\x5d\\xec\\x5f\\x37\\x00\\x6b\\x72\\xec\\x4f\\x1e\\x50\\xbe\\x33\\xf6\\x3b\\x63\\xbf\\x31\\xf6\\x1b\\x07\\xf8\\x69\\xac\\x74\\xfe\\xb4\\xd8\\x9f\\x16\\xb7\\xed\\xa6\\xb8\\x6d\\x37\\x7d\\x69\\x1f\\x87\\x1a\\x87\\x2f\\xf7\\xf5\\x80\\xfc\\x21\\xc6\\x79\\x5d\\xc6\\x67\\xad\\x76\\xa6\\xdb\\x76\\x5c\\xec\\x7f\\xb8\\xce\\x7e\\xd2\\x9e\\x53\\xbe\\xcc\\x5f\\x6b\\x9e\\x24\\x7e\\xeb\\x80\\xf6\\xa7\\xdb\\x19\\x5f\\x3b\\x32\\xa2\\x8c\\x45\\xce\\x1b\\x50\\xff\\x7d\\xe5\\x32\\xa8\\xf3\\xc4\\xd8\\x7f\\xa4\\xec\\xaf\\x55\\x67\\x5c\\x0f\\xab\\x8c\\x7d\\x1d\\x97\\xd9\\x35\\x55\\xe7\\x91\\xa9\\x6b\\xba\\x60\\x08\\x5f\\x0f\\xb8\\xd6\\xcf\\xa5\\xda\\x96\\x1e\\x93\\xc9\\xe9\\xb9\\x17\\x97\\x44\\x3b\\xcb\\x69\\x32\\x03\\x71\\xbf\\x4c\\x4b\\xa5\\x6f\\xa6\\x70\\x53\\x3e\\xae\\xd7\\x89\\xfd\\xfc\\x75\\x67\\x83\\xd1\\x7d\\xbf\\x87\\x1e\\xfd\\x1a\\xfa\\x83\\xf1\\xaf\\xa0\\x3f\\xc6\\x9f\\x8d\\x7f\\xf3\\xfc\\x65\\xbb\\x26\\x7e\\x62\\xb5\\xa7\\xd5\\xad\\x56\\xe3\\x45\\x7f\\x9c\\x27\\xfa\\x83\\x7d\\x8e\\x13\\xfd\\x3d\\x9a\\x83\\xec\\xd6\\x6c\\xb7\\x43\\xed\\xd6\\x69\\xb7\\x25\\x76\\x3b\\xdc\\x6e\\x47\\xd9\\xed\\x58\\xbb\\x9d\\x60\\xb7\\x53\\xec\\x76\\xba\\xc5\\x38\\xdb\\xda\\xf3\\xcb\\x73\\xf4\\xdf\\x96\\x76\\xa4\\xe6\\xfd\\x88\\xd8\\x3f\\xbd\\x6f\\x1d\\x9f\\xfa\\x7f\\xd7\\xf1\\x7f\\x69\\x1d\\x9f\\x1d\\x69\\x7e\\xa4\\xd3\\x52\\xe9\\xa2\\x72\\xca\\xf6\\x2c\\xa7\\xe9\\xfc\\xb5\\xd2\\x03\\xbf\\xf4\\xe8\\x80\\x94\\x9c\\x97\\x4a\\xd7\\xa4\\xd2\\x54\\xfe\\x50\\xe7\\x5a\\x05\\x52\\xce\\x69\\x4c\\xa5\\x0b\\x52\\xe9\\x29\\xe5\\x94\\x5c\\x53\\x4e\\xe9\\x8e\\xe5\\x94\\xdd\\x10\\xe7\\x7f\\xde\\xbf\\x1e\\x96\\xf4\\xa5\\x2d\\xf6\\x8f\\x8e\\xcb\\xdc\\x34\\xa0\\xfe\\x75\\xee\\x29\\xd2\\xf4\\x59\\x3a\\x95\\xa6\\xc6\\x7f\\xa8\\x71\\x5e\\x97\\xf1\\x49\\x5a\\x88\\x76\\xa6\\x71\\xef\\xfb\\x6a\\x29\\x69\\x4d\\x8d\\x5b\\x6b\\xff\\x91\\x44\\x9a\\x9a\\x27\\x69\\x5c\\x36\\x3d\\x75\\x34\\x3d\\xfe\\x23\\x52\\xe9\\x94\\x72\\x4a\\x2f\\x2c\\xa7\\x64\\x83\\x54\\x9a\\xf4\\x31\\xfe\\xdb\\x58\\x64\\x55\\x2a\\x4d\\xf7\\x3d\\x7d\\x6e\\x6b\\xaa\\xb5\\xe9\\xfc\\xd4\\xb8\\xad\\x75\\xed\\x52\\xe9\\x5a\\xd7\\xda\\xa4\\xca\\xa7\\x47\\x26\\xdd\\xf7\\x45\\xe5\\xbe\\xac\\x35\\x0e\\xa9\\x76\\xa6\\xeb\\x5f\\x6b\\x9e\\x0f\\x4c\\xe7\\xf5\\xf3\\xd7\\x7d\\x1d\\xdf\\x88\\xaf\\xe4\\x77\\xf3\\x07\\xd6\\xfa\\xeb\\x15\\xcf\\x0f\\xf2\\xf7\\x2a\\xde\\xe1\\x6b\\xf8\\xa7\\xfc\\xf3\\xe4\\xd7\\x9a\\x9d\\x8d\\x9c\\x75\\x59\\xc1\\x1d\\xac\\xe0\\xc9\\xdf\\xe3\\xbd\\xcc\\x6e\\xd1\\xbd\\x73\\xbd\\xdd\\x6e\\xb1\\xdb\\x9d\\x76\\x8b\\xc6\\xe5\\x11\\xbb\\x3d\\x65\\xb7\\x17\\x6c\\x6b\\x56\\x5b\\xfb\\xa6\\xdd\\xa2\\xb1\\xfb\\x38\\xba\\x45\\x07\\xdc\\x03\\xe3\\x86\\x48\\x87\\x2a\\x33\\xd4\\x59\\x03\\xcb\\x0f\\x95\\xe3\\x0d\\x59\\x0f\\x8b\\x63\\x20\\x12\\xed\\x47\\xa5\\x9c\\xe8\\xc9\\x87\\x8d\\xfe\\xf9\\xfb\\x96\\xfb\\x68\\xf4\\x14\\x26\\x75\\x05\\xa2\\xb1\\xdf\\xd4\\x1e\\x1d\\xf1\\x65\\xbc\\x69\\x6b\\xa4\\xb6\\xc6\\x9d\\xe3\\x3a\\x9d\\x7e\\x35\\xfe\\xb3\\x73\\x07\\x47\\xfc\\x27\\x6d\\x8c\\x67\\x86\\x13\\xcf\\x09\\x12\\xcf\\x89\\xcd\\xfe\\xd3\\x6d\\x1c\\x04\\x31\\x6a\\xe3\\x4c\\xb4\\xf1\\x90\\xb8\\xc6\\x51\\x36\\xdd\\xf0\\x2b\\xcc\\xcc\\xde\\x79\\x39\\xd4\\xa8\\x57\\x0c\\x56\\xd7\\xff\\x02\\xee\\xc8\\x7f\\x72\\xde\\xbf\\xb5\\x05\\x83\\x5e\\xcb\\xff\\xf7\\x5b\\x30\\xd4\\xd8\\x53\\xc7\\xac\\x35\\x8b\\x46\\xff\\xd3\\xd9\\xf3\\xe5\\xf7\\x56\\xd4\\x13\\x83\\x9e\\xcc\\x5c\\xc7\\x1a\\x87\\xba\\x6e\\x09\\xce\\xff\\xb0\\x8d\\x43\\xcc\\xf4\\x7f\\xa1\\x8d\\x83\\x8e\\x6b\\xb9\\x8d\\x33\\x9d\\xb6\\x54\\x1b\\xc7\\xfc\\x8b\\xd7\\xef\\x9f\\xcf\\x95\\xa1\\xc6\\x3d\\x6a\\xc1\\xc2\\x7f\\x4b\\x0b\\x06\\x9f\\x2b\\x5f\\x86\\xfb\\xbf\\xd6\\xf3\\x41\\xaf\\xe6\\xff\\x42\\xcf\\x07\\xbb\\xf6\\x78\\x42\\x7c\\xf6\\x7f\\xf9\\x13\\xe2\\xb7\\xa3\\x18\\x6b\\xa8\\x94\\x2e\\x49\\x9e\\x18\\x0c\\x9e\\xbf\\x56\\x79\\x27\\xe5\\x1f\\x3f\\xe0\\xdc\\x95\\xa9\\xf4\\x4b\\x11\\x07\\xa6\\xe4\\xa0\\xfe\\x69\\x3a\\x7f\\xc8\\x73\\x9d\\x75\\x3e\\xfa\\xe5\\x25\\x07\\x8e\\xc9\\x7d\\xc9\\x93\\x81\\xfe\\x39\\x83\\xd4\\x7f\\xfc\\x80\\x11\\x58\\xf7\\x5e\\x3f\\x37\\xc4\\xd1\\x8b\\xa2\\x68\\x18\\x69\\x39\\x7f\\xdd\\xb5\\x24\\xe3\\xf7\\xf1\\xe7\\xf8\\x4b\\xf1\\xdb\\xad\\x48\\xd9\\x46\\x77\\xc5\\x46\\xd1\\x53\\x92\\xf8\\x59\\xc9\\x3e\\x71\\x7a\\x66\\xdc\\xab\\x64\\xfe\\x9e\\xf5\\xdf\\x3d\\x7f\\xf9\\x46\\x71\\x8b\\x8f\\x8e\\x5b\\x7c\\x5c\\xd9\\x67\\xab\\x53\\x4f\\x13\\x9e\\x28\\xe7\\xa4\\xf3\\xd9\\xc4\\x54\\xda\\x39\\x78\\x99\\xe4\\x79\\x4c\\x3a\\x7f\\xad\\xf4\\xaa\\xfe\\x88\\xec\\xc0\\x28\\x45\\xab\\x92\\xa3\\x66\\x40\\xba\\xba\\x3c\\xd6\\xe9\\xf6\\x23\\x3f\\xdd\\xaa\\x54\\x9d\\x49\\x6d\\x62\\x5c\\xf9\\xac\\xb4\\x3f\\x30\\x1d\\x72\\x4c\\x8e\\x4b\\xe5\\x27\\x39\\x67\\x0d\\xc0\\x4d\\x97\\x1f\\x6a\\x04\\xbe\\xb4\\xd7\\x6b\\xe1\\x1e\\x9d\\x1a\\x8d\\x74\\x5a\\x46\\x5c\\xf7\\xf9\\x4b\\xf9\\x43\\xfc\\xd1\\xf8\\x0d\\x68\\x45\\xa2\\x83\\x48\\xf2\\xe4\\xf0\\xf0\\xff\\x73\\xe6\\x2c\\x5b\\x1d\\x47\\xa0\\xbb\\xc7\\xe9\\xc4\\x38\\x6a\\xf9\\x30\\xf6\\xcf\\x8d\\xfd\\x31\\x71\\x84\\xf8\\x79\\x39\\x27\\x9d\\xcf\\x67\\x39\\x7d\\xd1\\x77\\x72\\x6e\\xba\\x0c\\x6a\\x7b\\xa2\\x7f\\x3e\\xbf\\x34\\xf6\\xe3\\xe7\\x1b\\xf4\\xc5\\xd8\\x5f\\x91\\x8a\\x8b\\xd3\\xf5\\x9c\\x16\\xa7\\x95\\x03\\xd2\\xd5\\x29\\xdc\\xd5\\xfd\\xdb\\x8c\\x1a\\xd2\\xf5\\x2c\\x2a\\x23\\xae\\xd5\\xc2\\x74\\xba\\x7a\\x40\\x3a\\xd4\\x98\\x2c\\x29\\x8f\\x40\\x3a\\x67\\xa8\\xd1\\x48\\x8f\\x40\\xba\\xef\\x18\\x81\\x81\\xbd\\x4e\\xd5\\x89\\x36\\x4c\\x4f\\x95\\xbf\\xae\\x9c\\x26\\x88\\x71\\xfa\\x55\\xe6\\xec\\xfd\\xfc\\xc5\\xb5\\xe6\\xec\\xad\\xce\\xd6\\x36\\xbd\\xd9\\xee\\x27\\x91\\xda\\xf4\\x94\\x3e\\x19\\xdb\\x77\\xc6\\x3f\\xd7\\x3c\\xc4\\x19\\x1f\\xff\\x0d\\xca\\xe8\\x2f\\x50\\x6a\\x31\\x4c\\x8c\\x14\\xeb\\xeb\\x6b\\xe2\\x77\\x61\\xd1\\x5f\\xb2\\x8a\\xfe\\x8e\\xd5\\x3d\\xfa\\x7e\\xfd\\xa0\\x7e\\x5c\\x3f\\x15\\xfd\\x55\\x27\\x8b\\xc6\\x9c\\x4d\\x9c\\x2d\\x9c\\x6d\\xa3\\x33\\x07\\xc1\\x23\\xfc\\xb5\\x38\\x7d\\xe5\\x3f\\x50\\xf3\\x9a\\xff\\x70\\xcd\\xaf\\xfd\\xc7\\x6a\\x7e\\xfd\\x3f\\x56\\xf3\\x9b\\xff\\xb1\\x9a\\xdf\\xfa\\x17\\x6a\\x8e\\x66\\xe2\\xa4\\x21\\x66\\x62\\x52\\xef\\x57\\xaf\\x31\\x69\\x69\\x6f\\x8d\\x51\\x4c\\x25\\x63\\x15\\x9d\\x28\\xe8\\x35\\x6b\\x5d\\xbf\\x75\\x2d\\xff\\x04\\xae\\xca\\x57\\xab\\x7f\\xdd\\xcb\\x27\\xf5\\xbf\\xb1\\xce\\xe5\\xef\\xff\\x8a\\xe5\\xef\\xc6\\xb5\\x5f\\xd7\\xf2\\xaf\\xe0\\x8a\\xae\\x6b\\xf9\\xd7\\xbe\\x62\\xf9\\xbb\\xbf\\x62\\xf9\\xfb\\xbf\\x62\\xf9\\x27\\xbe\\x62\\xf9\\x27\\xbf\\x62\\xf9\\x35\\xa9\\xf2\\x93\\xec\\xca\\x4a\\xed\\x9d\\x31\\x01\\x67\\xac\\x97\\xaa\\xf1\\x29\\xa7\\xf7\\x13\\x12\\x44\\x8c\\x5e\\xc7\\xd2\\xef\\xa2\\xf4\\xff\\x21\\xda\\xc2\\x6a\\xb0\\x53\\x7b\\x3f\\xe5\\x61\\x95\\x55\\x94\\x9e\\x96\\xca\\x39\\x3a\\x95\\xc6\\x39\\xbc\\xa6\\x7f\\xce\\xc0\\x14\\x75\\x0e\\x38\\x77\\x90\\xf4\\xa1\\x54\\x9a\\x42\\xe4\\xb3\\x52\\x39\\x9d\\x03\\xd2\\x54\\xfe\\x5a\\x58\\x43\\xa1\\xa4\\x52\\xf1\\x54\\xb9\\xfe\\xb4\\x9f\\xd4\\x93\\x4e\\x87\\x1c\\x93\\xab\\xca\\x39\\x28\\x79\\xd5\\x3a\\x8c\\xc3\\x10\\x7d\\x4f\\x63\\xa5\\x5b\\x32\\x48\\x3d\\x89\\x7f\\xc4\\x80\\x71\\x58\\xfd\\x95\\x3e\\xf1\\xd3\\xfb\\x24\\xab\\x4f\\x5b\\x24\\x9f\\xe4\\x41\\x9a\\xcc\\xd9\\x55\\xff\\xdd\\x73\\xf6\\x2b\\xbf\\x5f\\x4b\\xbf\\x0b\\x9b\\x92\\xf2\\xbf\\xf4\\x4d\\xe2\\x50\\x67\\xfd\\xe7\\xd2\\x75\\x6f\\x0f\\xde\\xbd\\xee\\x53\\x4e\\xbf\\x32\\xe2\\x75\\xeb\\x3a\\x1a\\xff\\xf3\\xbe\\xaf\\xf5\\x56\\xab\\xfc\\x8e\\x6f\\xdd\\xe7\\xec\\xbf\\xf2\\xf4\\x6d\\x43\\x8b\\x10\\xa1\\x47\\x6f\\xef\\xba\\x9c\\xe8\\x73\\xb7\\x8e\\x73\\x84\\xdd\\x22\\x85\\x7e\\x9c\\xdd\\x4e\\xb4\\xdb\\xa9\\x76\\x3b\\xc3\\x6e\\x91\\x9a\\x8f\\xde\\x0a\\x5e\\x62\\xb7\\x2b\\xec\\x76\\xad\\xdd\\x6e\\xb0\\xdb\\x6d\\x76\\x8b\\xde\\xda\\x3d\\x60\\xb7\\xc7\\xec\\xf6\\x8c\\xdd\\xa2\\x68\\xe8\\x55\\xbb\\xbd\\x6d\\xb7\\xf7\\x6d\\x4f\\x76\\x8c\\x38\\x66\\x9d\\xd2\\x0d\\xd6\\xb9\\xe4\\x57\\x4c\\xed\\x3d\\x19\\xa5\\x1f\\x97\\x53\\xdc\\xc7\\x57\\xfd\\xb7\\xdf\\xc7\\x71\\x0c\\xde\\x38\\x20\\x5d\\x97\\x4f\\x7c\\xa4\\x4a\\x26\\x4f\\x49\\xfe\\x0d\\x9f\\x22\\x59\\x77\\xf4\\x2f\\x4d\\xff\\x49\\x7b\\xae\\x1b\\xc2\\xff\\x1f\\xa4\\xe4\\xc4\\x7f\\xff\\x68\\x24\\x75\\xf6\\x7e\\x06\\x2c\\xae\\xf9\\xa1\\x72\\x9a\\x2a\\xb9\\xee\\xf7\\xf1\\x97\\xbf\\x13\\x89\\x9e\\x2e\\x46\\x9f\\xbd\\xd8\\xd5\\xf9\\xaa\\x9f\\x30\\xea\\x7d\\x1a\\x37\\x54\\x7a\\x71\\xca\\xbf\\x33\\xf5\\x3c\\x69\\xe8\\xb3\\x3a\\x9c\\xff\\x1f\\x70\\xe1\\x3f\\x59\\xb5\\xd7\\xac\\x43\\x99\\x13\\xcb\\xbe\\xb3\\xf2\\x7f\\x83\\x23\\x87\\x6c\\xc9\\x50\\x9f\\x71\\xf9\\x0f\\xa7\\xff\\xa6\\x5e\\xff\\x7f\\x82\\x0b\\x59\\x67\\xc4\\x3d\\x2c\\xba\\x3f\\xcb\\xfe\\xc0\\x34\\x3a\\x7a\\xd5\\x10\\x65\\x56\\xc7\\xe9\\x9d\\xa9\\x74\\xe8\\x7a\\xfa\\xd7\\x39\\x04\\x6e\\xf4\\xed\\x0d\\xb2\\xab\\x53\\x7e\\xaa\\x16\\xc7\\x84\\x9f\\xbd\\xd8\\xfb\\xff\\xf3\\xce\\x41\\x62\\xc4\\xa8\\x4c\\xf4\\xbf\\x32\\x8e\\xeb\\x56\\x7e\\x51\\x83\\x38\\xcf\\x71\\x92\\xef\\xcf\\x4c\\xb7\\xe3\\x99\\xfe\\xfe\\xcc\\xe4\\xe8\\x1a\\xee\\xb9\\x47\\xe3\\x44\\x67\\xd4\\xdc\\x7d\\xea\\x6d\\x8a\\x6f\\xd0\\xd0\\xbe\\x6f\\xd3\\x24\\xdf\\xc1\\x61\\x4d\\x4d\\xed\\xb6\\x55\\xcd\\x6d\\x85\\x16\\x67\\x42\\x5b\\xb1\\xa9\\xcd\\x46\\x94\\xd1\\xd5\\xa7\\xf8\\xf6\\x50\\xef\\x37\\x74\\x84\\x45\\x1e\\x67\\xa3\\xcc\\x2d\\x9c\\x29\\xc8\\xdb\\x1a\\xdf\\x99\\x99\\x02\\xbb\\x73\\xf4\\x69\\xf5\\xf8\\xb9\\x6f\\xbc\\x4f\\xa3\\x16\\x4a\\xb1\\x24\\xf2\\xd9\\xf3\\x36\\x1d\\x93\\xf4\\xdc\\xe1\\xd1\\x77\\x84\\xc4\\xb0\\xb8\\xfd\\xb6\\x45\\xe4\\x0c\\x3b\\x1b\\x6a\\x9c\\x7a\\xbb\\xa6\\xed\\xeb\\x1c\\x62\\xd7\\xd3\\x92\\x9d\\x09\\xc7\\xda\\xf5\\xed\\x3c\\x7b\\xc5\\x6f\\x70\\x9e\\x70\\x5e\\x8c\\xbe\\x78\\x43\\xc6\\xd9\\x55\\x6c\\x6b\\xe2\\xd9\\x15\\x2c\\x24\\x7b\\x91\\xe8\\xfb\\x2c\\xdc\\x9d\\x67\\x47\\x70\\x4d\\xec\\xcd\\xef\\xf3\\xf6\\xed\\xf3\\xe6\\x5a\\xef\\xdd\\x18\\xef\\xf6\\x3e\\x6f\\x65\\x9f\\x77\\x47\\x9f\\x77\\x67\\xec\\xd9\\xf9\\xee\\x54\\xea\\xa7\\xac\\xff\\xb6\\xbe\\xab\\xef\\xd8\\xaa\\x3e\\xef\\xee\\x54\\xa9\\x7b\\x22\\x5f\\x5f\\x6e\\xd3\\xd7\\xe2\\xef\\x5b\\x8d\\x70\\xc6\\xd9\\x7b\\x81\\xf2\\x57\\xdc\\x3d\\x6d\\xfa\\x96\\xbe\\xb7\\xef\\xac\\xfb\\x62\\x2f\\x2a\\x33\\xca\\x19\\xef\\xee\\xe1\\x30\\xfe\\x2e\\x7f\\xdb\\x9d\\x15\\xa3\\xdc\\xdf\\x57\\xea\\x81\\x3e\\xef\\xc1\\x3e\\xef\\xa1\\x3e\\xef\\xe1\\x3e\\xef\\x91\\x3e\\xef\\xd1\\x3e\\xef\\xb1\\x3e\\xef\\xf1\\xd8\\x53\\x16\\x69\\x03\\x67\\xa2\\xbd\\x3a\\xd3\\x9c\\xac\\xb3\\xb3\\xbe\\xd9\\x62\\x7e\\x64\\x5b\\x7b\\x73\\x8c\\xfd\\x91\\xbe\\xc9\\xda\\x0f\\xed\\xfe\\x4d\\xf1\\xfe\\x87\\xfa\\x89\\xb8\\x2f\\x37\\xda\\xf4\\x23\\x7d\\x83\\x4d\\x3f\\x8c\\xeb\\x7a\\x12\\xbd\\x55\\xf6\\x2e\\xb6\\xf7\\x93\\x5d\\x09\\x84\\xc3\\x84\\xb2\\x57\\xad\\x42\\x0c\\x17\\xc3\\x9d\\x91\\x62\\xa4\\x18\\xe5\\x8c\\x12\\x63\\xc4\\x58\\x67\\x8c\\x58\\x4f\\x6c\\x18\\x7f\\x4e\\xc9\\x89\\xe7\\xf2\\xa4\\x78\\x4e\\x44\\x73\\x24\\x9a\\x07\\xc2\\x9e\\xeb\\x88\\x0a\\x31\\x56\\x44\\x9f\\x0f\\x62\\xf1\\x4a\\xf0\\xfe\\x90\\x9f\\x88\\x98\\x69\\xe7\\xd9\\x28\\x5b\\xc3\\x14\\xdb\\xf6\\x5d\\x31\\xda\\xb7\\xc6\\x63\\x7a\\x8b\\x4d\\xdf\\x8c\\xdb\\xf6\\x74\\x14\\x31\\xc6\\xde\\x33\\x7d\\xde\\xb3\\x7d\\xde\\x95\\x28\\x97\\xc6\\x75\\xfe\\x9f\\x00\\x00\\x00\\xff\\xff\\x8d\\x59\\x6d\\xda\\x40\\xc8\\x04\\x00\")\n\nfunc liberationmonoRegularTtfBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_liberationmonoRegularTtf,\n\t\t\"LiberationMono-Regular.ttf\",\n\t)\n}\n\nfunc liberationmonoRegularTtf() (*asset, error) {\n\tbytes, err := liberationmonoRegularTtfBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LiberationMono-Regular.ttf\", size: 313408, mode: os.FileMode(420), modTime: time.Unix(1459927770, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _liberationsansBoldTtf = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\xe4\\xbd\\x67\\x7c\\x54\\xd5\\xf6\\xc7\\xbd\\xf6\\x39\\x53\\x43\\x42\\x26\\x3d\\x10\\x60\\x26\\x84\\x04\\x90\\x12\\x20\\x0c\\x4d\\xca\\x00\\x49\\x08\\x45\\x09\\x3d\\xa1\\x06\\xa5\\x2b\\x82\\x04\\x7b\\x01\\x14\\xa5\\x0b\\x76\\xbd\\xa2\\xa0\\x57\\xbd\\x8a\\x28\\x41\\x51\\x8a\\x5c\\x45\\x04\\xb1\\xa1\\x54\\x41\\x44\\xc1\\x50\\xa2\\x82\\x82\\x0a\\x16\\xca\\xcc\\xf3\\xdd\\x67\\x26\\x18\\x50\\xef\\xbd\\xcf\\xff\\xf3\\xbc\\x7b\\xb8\\x77\\x65\\x9f\\xb3\\xf7\\xaa\\xbf\\xb5\\x76\\x3b\\x41\\x15\\x25\\x22\\x09\\xfc\\xb0\\x49\\xb3\\xfc\\xfc\\xfe\\x57\\x8c\\x4c\\x3d\\x6b\\x88\\x7d\\xcc\\x54\\x7a\\x6b\\x75\\xcb\\xcd\\xcb\\xbf\\x23\\x38\\xb5\\xb9\\xd8\\xe3\\x73\\x79\\x9f\\xdd\\xad\\xb0\\x77\\xbf\\xc2\\xde\\x71\\xcb\\xc4\\x9e\\xb6\\x58\\xa4\\xc7\\x67\\xdd\\xfa\\x0d\\xe8\\xd2\\xbb\\x4f\\xd3\\xea\\x8c\\x7f\\x2c\\xe2\\xda\\xd6\\xbb\\x5f\\x76\\x0b\\xb5\\xe3\\xe3\\x55\\x22\\x6a\\x0d\\xfc\\x25\\x57\\x4f\\x1c\\x39\\x39\\xfe\\xb1\\x21\\x9b\\x44\\x2e\\x9b\\x29\\xe2\\x68\\x7a\\xf5\\x8d\\x53\\x7d\\x13\\x47\\x5c\\xf3\\xb4\\x48\\xfb\\xdf\\x44\\x8c\\xd9\\x63\\x26\\x8f\\x9d\\x78\\xe7\\xc8\\x37\\xe2\\x44\\x9a\\x21\\xe3\\x5c\\x35\\x76\\x64\\xe9\\x64\\x89\\x93\\x6a\\xe8\\x6b\\x89\\xbc\\x67\\xec\\xb5\\xb7\\x8c\\x59\\x3f\\xf8\\xf1\\xaf\\x44\\xc6\\x9e\\x14\\x5b\\x7a\\xe3\\x71\\xa3\\x47\\x8e\\x92\\xef\\x67\\x7e\\x8a\\xfe\\xf6\\x8c\\xb7\\x1a\\x47\\x47\\xf5\\xd4\\x98\\xfb\\x78\\xd7\\xfe\\xd6\\x1b\\x37\\x71\\xea\\xcd\\x7b\\x6e\\x99\\x74\\x37\\xba\\x53\\x45\\x1a\\x5c\\x7b\\xcd\\xe8\\x29\\xd7\\x85\\x3e\\x69\\xb8\\x44\\x6c\\x73\\x6a\\x89\\x24\\x0d\\xbe\\x76\\xd2\\xd5\\x23\\x93\\x6f\\x88\\xc1\\x97\\x4e\\xd3\\x19\\x9f\\x3c\\x71\\xe4\\xcd\\x93\\xab\\xe7\\xd8\\xb1\\xa5\\x1e\\x43\\xde\\x77\\xdd\\xc8\\x89\\xa3\\x17\\xb5\\x2d\\xdd\\x23\\xb6\\xa7\\x6e\\x16\\xa9\\xf6\\xe4\\xe4\\x49\\xa5\\x53\\x67\\xfd\\xb6\\xbc\\xbd\\xd8\\x96\\xa1\\x6f\\x5c\\x8d\\xc9\\x53\\x46\\x4f\\x9e\\xfb\\xb4\\x6d\\xad\\x48\\x9b\\x71\\x00\\xb6\\xc8\\xc2\\xce\\x10\\x79\\xf1\\xeb\\x63\\xcd\\x46\\xc4\\xb6\\x3f\\x6d\\x78\\x5d\\xa2\\xff\\x7c\\xfc\\x60\\xed\\x82\\xca\\xf6\\x5c\\xe6\\xb9\\xf3\\x51\\x93\\x5c\\xb9\\xf0\\xea\\x41\\x65\\x31\\xf0\\xd3\\xd9\\x31\\x78\\xa5\\x74\\x8d\\x5a\\x76\\x2e\\xf3\\xcc\\xad\\x51\\x93\\x22\\xfd\\x17\\xfe\\x44\\xa5\\xe9\\x9e\\xa8\\x34\\xd5\\x57\\xfa\\xcb\\x50\\x71\\x60\\xc5\\x23\\xd9\\x3c\\x89\\x79\\x85\\xd9\\x9f\\x5c\\x29\\x31\\x6d\\x07\\x8c\\xf5\\x62\\x17\\xb1\\xff\\xc3\\x9e\\x83\\xca\\xb4\\x70\\x6b\\x6e\\x97\\x31\\x46\\xbc\\xcb\\x6e\\x54\\x73\\xda\\x0c\\xfd\\xc7\\x76\\x50\\xa2\\x42\\x85\\x72\\x73\\x08\\xb5\\xe9\\x5a\\x77\\xf3\\xce\\xfd\\xba\\x8a\\x4f\\x7c\\xa1\\x73\\xf6\\x9d\\xc1\\x3e\\x2a\\xc7\\xd9\\x51\\xbd\\x5a\\x22\\xea\\xed\\x03\\xbf\\x12\\x53\\x3b\\xfb\\x0c\\x8d\\x84\\x54\\x77\\x88\\x6c\\xd5\\xdc\\x46\\xdb\\x08\\x2d\\x93\\x77\\xcc\\x8f\\x64\\x96\\xad\\x54\\x32\\xa0\\x34\\x67\\x6d\\xc9\\xb1\\x6f\\x91\\xc1\\xaa\\x42\\x26\\x32\\x36\\x06\\x32\\xcc\\xda\\xe2\\xb0\\x2d\\x97\\x81\\xf0\\xcf\\xe3\\xbd\\xd0\\x6a\\xdb\\x4a\\x22\\xfc\\x7d\\xa0\\x19\\x50\\x37\\x28\\x1b\\xf2\\x42\\x9d\\xa0\\x9e\\x50\\x11\\xd4\\x59\\x8f\\x21\\xb3\\x19\\x7a\\x57\\xeb\\x80\\x06\\x58\\xed\\x21\\x19\\xee\\xdc\\x2a\\x37\\x60\\x4b\\xdb\\x9b\\x03\\xf5\\xb7\\xda\\x81\\x32\\x87\\xb1\\x39\\x8e\\xb6\\xe1\\x77\\xec\\xcc\\xd1\\x7a\\xf5\\xb3\\xd5\\xbf\\xcc\\xe2\\x0d\\x8f\\x0f\\xfc\\x83\\x8f\\xe7\\xcb\\x19\\x4f\\xe1\\xf9\\x36\\x9e\\xab\\x3b\\x17\\x88\\x41\\x1b\\x0f\\x65\\xd0\\xdf\\x01\\xfb\\xa5\\xe8\\x4a\\xa2\\xad\\x81\\xfd\\x26\\xb6\\xd2\\xd0\\x71\\x9e\\xbb\\xa0\\xbb\\x3d\\xe3\\x3a\\xfe\\x42\\xda\\xfe\\xba\\xa5\\x3f\\xc3\\x7a\\x3e\\x24\\x0b\\x91\\x81\\x42\\x07\\xe9\\xb7\\x9e\\xc1\\x67\\x96\\xc5\\x7f\\xc8\\xe2\\xd7\\x6d\\x7f\\xb3\\xb6\\x25\\x5f\\x60\\xe9\\x3e\\x24\\xd3\\x78\\x76\\x39\\xda\\x86\\xce\\xd0\\x56\\x87\\x3c\\x36\\x91\\xbe\\xf0\\xa4\\x1b\\x1d\\x64\\x31\\x6d\\x23\\xec\\xf7\\x89\\x60\\xbf\\x91\\xf1\\x1c\\x28\\x09\\x6a\\xab\\xe5\\x34\\x0f\\xad\\x9f\\x31\\x8f\\xfd\\x88\\xf8\\x8c\\x5f\\xb4\\xaf\\x32\\x14\\x99\\xfe\\x1a\\x7b\\xdd\\x67\\xbb\\x26\\x74\\xc2\\xcc\\x91\\xc1\\xb6\\x51\\xd2\\x9c\\xbe\\x1c\\xa8\\x31\\x34\\xc8\\xb6\\x58\\xee\\x8d\\xe0\\xbd\\x00\\x2a\\x81\\xfa\\x1a\\xc7\\x2d\\xf9\\x61\\x8e\\xe5\\x32\\x3c\\x42\\x63\\xf1\\x71\\x4a\\x04\\xf7\\x3f\\x11\\xc5\\x6c\\xb3\\x72\\x31\\x30\\x9c\\x8b\\x4a\\x02\\x83\\xbd\\xf8\\x3c\\x8e\\xf6\\x25\\x68\\x0f\\x3c\\xae\\xca\\x3c\\x5c\\x4a\\x3a\\xbf\\x91\\xbc\\xdc\\x76\\x11\\x91\\x8b\\x48\\x7e\\x17\\xe2\\x53\\xcb\\xbf\\x22\\xf0\\xed\\x62\\xe5\\xe2\\x12\\xc2\\xe6\\x06\\xec\\x4f\\xa1\\x7d\\x59\\xfb\\x52\\x05\\xff\\xc2\\x3f\\x11\\xb8\\xd0\\x2a\\x2b\\x17\\x55\\x49\\xe7\\x22\\x6c\\xdb\\xa3\\x63\\xd5\\xb9\\xff\\x8b\\xd6\\xaa\\x81\\xff\\xd0\\xce\\xb1\\x6f\\xb0\\x62\\x73\\xe9\\xdc\\x5b\\xf1\\xe8\\xfe\\xff\\xd2\\x5a\\xb8\\x1c\\x8a\\xe0\\xf3\\x17\\x6d\\xa4\\xbe\\x17\\xd2\\x56\\xa7\\x8d\\x22\\xc6\\xc7\\x23\\x74\\x3c\\x42\\xeb\\xa1\\x7f\\x83\\x41\\x11\\x94\\xa7\\xe7\\x05\\x74\\xbf\\xa3\\x9b\\xa5\\x5f\\xc7\\xe4\\x65\\xfc\\x79\\x4b\\x4f\\xf8\\x7d\\xa1\\x9e\\x2f\\xf0\\x4c\\x88\\xb4\\xd6\\xbb\\x99\\x14\\x69\\x77\\x5b\\xad\\x5e\\x03\\xe2\\x23\\xb6\\x67\\xfd\\xa9\\x7d\\x29\\xf4\\x9d\\xfd\\x03\\xb9\\x47\\x3f\\x47\\xfc\\x2c\\xbc\\xb4\\xa5\\x5e\\xfa\\x33\\xd7\\x2c\\x5c\\xf4\\x3c\\xb8\\xa4\\x6d\\x63\\xcd\\x4b\\xe6\\xc6\\xdf\\xb5\\x7a\\xce\\x46\\xe6\\x4d\\x0a\\x3e\\xd5\\xa8\\x7c\\xd7\\xf5\\xa2\\x73\\xf6\\xbf\\xb6\\x7a\\xbe\\xeb\\x39\\x67\\xcd\\x77\\x9d\\xdf\\xc8\\xbc\\xd7\\x73\\xef\\xd2\\x96\\x98\\xef\\xd3\\x18\\x3b\\x56\\xb2\\xca\\x6e\\x88\\xc4\\xba\\x81\\xc2\\x07\\x0f\\xf4\\xb5\\xa9\\x92\\x6b\\x97\\xe3\\x35\\x8b\\xa7\\xc8\\x5a\\x0f\\xf6\\x59\\xf9\\x2c\\xb4\\x7f\\x4a\\xbe\\x4c\\x19\\x6e\\x3b\\x14\\x5a\\x05\\xdf\\x0b\\x56\\xad\\xa7\\xb2\\xe6\\x4c\\xb1\\xd6\\x08\\x8d\\xb5\\x54\\xe6\\x21\\xb2\\x4e\\x7a\\x9c\\x27\\xf4\\xba\\x05\\x7f\\x04\\x4b\\xc7\\x4e\\x64\\xca\\xa4\\xd0\\x99\\x4a\\xfb\\x33\\x78\\x76\\xb6\\xec\\x2f\\x8c\\xcc\\x37\\x5d\\xf3\\xfd\\x6d\\x5b\\x65\\xb0\\xf1\\xb5\\xa4\\x46\\xf0\\x91\\x4a\\x9c\\x1c\\xff\\x64\\x2e\\x7d\\x24\\xd3\\x1c\\x13\\x64\\xbc\\x8e\\xdf\\xd1\\x30\\x1c\\x33\\x63\\x2d\\x89\\x2f\\x40\\x5b\\x13\\x2a\\xb0\\xb5\\x92\\x06\\x50\\xeb\\xc8\\xfa\\xdc\\xc1\\x3c\\x23\\x71\\xb6\\x67\\x58\\xa3\\xf5\\xba\\xd6\\x41\\x9e\\x35\\xcf\\xca\\x2b\\xb6\\x97\\xc1\\x83\\x3d\\x20\\x8a\\x75\\xd5\\x8d\\xcf\\x2e\\xe2\\x74\\xe3\\x83\\xb3\\x16\\xfe\\x13\\x4f\\x54\\x3b\\xfa\\xc4\\x7a\\x9f\\x55\\x39\\x47\\x22\\x6b\\xc0\\x2b\\x95\\x35\\xf0\\xbf\\xe6\\x28\\x82\\xe9\\x45\\xf3\\x4d\\xaf\\x37\\x7a\\xce\\x47\\x74\\x65\\x5e\\x34\\x1f\\xc0\\xef\\xd2\\x7a\\xb3\\x62\\x6b\\x25\\x89\\xd8\\xff\\x57\\x55\\x9f\\x2b\\xe5\\x5c\\x5d\\xc1\\xaf\\x6f\\x78\\x8f\\x88\\xd4\\xf2\\x5f\\xd9\\x51\\x91\\xfe\\xe8\\x0b\\xfe\\x84\\xe7\\xa9\\xaf\\x72\\xbe\\x1a\\x6d\\x83\\x07\\xa1\\xef\\xb0\\xf3\\x31\\xf4\\x61\\x44\\xae\\xa0\\x4a\\xcc\\x33\\xcd\\xda\\xa1\\x17\\x22\\x75\\x7e\\x4d\\x24\\xc6\\x5e\\x17\\x62\\xbe\\xb4\\xbe\\x9f\\xa2\\x0e\\x1a\\x4a\\xd7\\x0b\\xf3\\x7c\\x89\\xcc\\xa7\\xb6\\xfa\\xdb\\xa3\\x65\\x24\\xd4\\x3f\\x52\\x9b\\xb9\\x97\\xf8\\xf3\\xa7\\xf9\\x76\\x69\\x5b\\x59\\xef\\x66\\x30\\x14\\x74\\xbc\\xc4\\x7a\\x18\\x2d\\xb1\\x7a\\xbf\\x72\\x3e\\x2d\\xc3\\xa0\\xfe\\x91\\x75\\x5d\\xd7\\xb3\\x5b\\xd7\\xbc\\xf6\\x87\\xe7\\xde\\x96\\xad\\x86\\xd2\\xd2\\x3c\\x20\\x8d\\x18\\xd7\\xf5\\x9a\\xa8\\xf7\\xcd\\x88\\x5d\\x77\\x64\\x3d\\x39\\xe8\\xc8\\xb9\\x90\\x0f\\x21\\xce\\x34\\xc6\\xc5\\xaa\\xb5\\xd2\\xd0\\x89\\xc8\\x1e\\x79\\x4f\\x64\\xff\\x6c\\xaf\\xf7\\xaf\\x48\\x9f\\xb6\\x97\\x6f\\xf9\\xdf\\x59\\x0a\\xa9\\xbb\\x3c\\xc8\\x6f\\x9f\\xc5\\xde\\x37\\xd7\\xaa\\xb7\\xd8\\x0b\\x7c\\x65\\x56\\xad\\xbb\\x6c\\x9f\\x58\\xbe\\x4d\\xb3\\xd6\\xe7\\xf0\\xbe\\x9b\\x0c\\x5d\\x6b\\x76\\x94\\x5c\\xe3\\x05\\x6a\\xff\\x73\\x9d\\x73\\xc6\\x76\\x59\\x7b\\xf0\\xb4\\x08\\xb1\\xfe\\x87\\x9e\\xb3\\xec\\x1f\\x93\\xf9\\x16\\x2e\\x2f\\x41\\x1b\\xa5\\x8f\\x3d\\x84\\xdd\\xda\\xe2\\xad\\x42\\xb3\\x22\\xb4\\x10\\x8a\\xb2\\xbd\\x24\\x73\\x2d\\xb2\\xf6\\xed\\xd0\\xc1\\x08\\xad\\xb5\\xf5\\x91\\x5a\\x3a\\x5f\\x91\\xb9\\x96\\x68\\xfb\\x8d\\xb3\\xcc\\x0b\\x17\\xed\\xe9\\x1e\\xdb\\xfd\\x60\\xa8\\xf1\\x9b\\x2c\\xb9\\xba\\x16\\xa1\\x9a\\xf4\\xeb\\x7d\\xab\\x6f\\xa4\\x0d\\xd7\\xe3\\x31\\xfc\\x25\\x5e\\x2b\\x46\\xd6\\x5b\\xf3\\x25\\xeb\\x7c\\x64\\x9a\\x4f\\xc9\\xec\\x08\\x46\\x9a\\x77\\x90\\xab\\x13\\x6b\\xe8\\x1c\\xe6\\xdd\\x0a\\xe4\\xee\\xc2\\x6e\\xbe\\xd4\\x70\\x3c\\x06\\x9d\\x92\\x0c\\x87\\x9f\\x5a\\x99\\x8b\\x9e\\x3c\\x49\\xb6\\xdd\\x25\\xb3\\xed\\x9f\\x49\\x5d\\x4d\\xc6\\x8f\\xd2\\x08\\x6a\\xac\\xee\\x13\\x9b\\x61\\x93\\x56\\x50\\x5d\\x28\\xd6\\x14\\xea\\x27\\x3b\\xf4\\x8b\\x51\\x1e\\xfa\\x55\\x9f\\xe1\\xf4\\xd9\\x2e\\x72\\x5e\\x9b\\x17\\x39\\xbf\\x95\\x6b\\x82\\xaf\\xad\\xa6\\xc8\\x99\\x4c\\x53\\x53\\x4d\\x8c\\x49\\x98\\x54\\x35\\xda\\x7a\\xd0\\x9d\\x61\\xb2\\xde\\xeb\\x42\\x9d\\xa1\\x37\\xa1\\x75\\x11\\xd2\\xfa\\xbe\\x86\\xfe\\x51\\x85\\x12\\xc0\\x72\\x0b\\xed\\xfb\\x50\\x7d\\xa8\\x17\\xef\\x3f\\x41\\xcf\\x42\\xbb\\x79\\x37\\x8d\\xef\\x43\\x67\\x54\\xba\\x34\\x37\\x0d\\xce\\x30\\x3f\\x84\\x82\\x96\\x3f\\x1e\\x79\\xe4\\x52\\x82\\xf7\\xaa\\x30\\x85\\x8e\\x58\\xe7\\x32\\x91\\xbb\\x69\\x67\\x45\\x68\\x73\\x84\\x1e\\x0e\\xfb\\x15\\x7a\\x3b\\x42\\xa7\\x22\\xfd\\x2f\\x56\\x25\\xb3\\xa9\\xd4\\xd1\\xc4\\x73\\x3b\\x91\\xf3\\xbb\\x45\\x82\\x23\\xa1\\xfb\\x45\\xce\\x0d\\xa7\\xe5\\x5c\\x7c\\x9e\\x4a\\x0b\\x3e\\x25\\x12\\x2a\\xa5\\x7d\\x13\\x8a\\xe5\\x39\\x40\\xdb\\x38\\xcc\\x17\\x7a\\x03\\x6a\\x13\\x79\\xd7\\xbc\\xcb\\x79\\xbf\\xee\\x0f\\x92\\x44\\xda\\x86\\x11\\xe2\\x6e\\x15\\x2a\\x81\\x67\\x16\\xed\\x71\\x68\\x01\\xd4\\x3d\\x42\\xdd\\xe8\\xef\\x47\\x9b\\x1c\\xbe\\x17\\x58\\xf6\\xd6\\x85\\x6d\\x85\\xee\\xe1\\xf9\\x2c\\x6d\\x41\\xd8\\x9e\\x96\\x0f\\xae\\x0c\\xdb\\xb7\\x68\\x49\\xc4\\xf6\\x6d\\x10\\x77\\xa6\\xf3\\xaf\\xd3\\x6e\\x8e\\xbc\\xe3\\xf3\\x79\\x2d\\x53\\x07\\x59\\x8e\\xfa\\xa1\\xf9\\x11\\xfb\\xf8\\x12\\x2c\\xa3\\xcd\\x86\\xb8\\xe3\\x9d\\x67\\x57\\x0b\\xf6\\x0d\\xdb\\x0e\\x2e\\x0d\\xfb\\x1e\\xd4\\x63\\xff\\x8c\\xd8\\x8b\\xe1\\xb9\\x43\\x44\\xee\\x19\\xe8\\x48\\x98\\x2f\\x18\\xa4\\xaf\\x17\\xf2\\xf8\\x1d\\x9a\\x14\\x8e\\x29\\xf8\\x6e\\x44\\xef\\xa4\\x30\\x05\\x0f\\xd0\\x72\\x77\\x13\\x1d\\x43\\xd7\\x08\\x46\\xcd\\xa1\\x7e\\x7f\\x4f\\xc1\\xfb\\xc2\\x31\\x86\\xb4\\x8d\\x85\\x91\\x78\\x5f\\x89\\xd8\\xc6\\xd7\\xf3\\x27\\x18\\x6b\\x0a\\x5d\\xc6\\x3b\\xf7\\xbc\\xe0\\x6c\\x72\\xf8\\x39\\x34\\x18\\xfa\\x34\\xb2\\xf6\\x14\\x5a\\x7b\\x13\\xf7\\x0c\\x68\\xad\\xb9\\x46\\xae\\x63\\xcd\\xd2\\xf5\\xbb\\x99\\xbd\\xb6\\xa9\\xb3\\x93\\xd4\\x33\\x3f\\x94\\x7a\\x8e\\xc7\\x43\\x47\\x9d\\xd7\\xc8\\x74\\xc7\\xaa\\xd0\\x36\\xd6\\xb7\\x17\\x2b\\xef\\x1f\\xb6\\x4f\\xad\\x73\\x5d\\xbf\\xc8\\xf9\\xb4\\x43\\xe5\\xd9\\x56\\xef\\xe7\\x91\\xfb\\x45\\xf5\\xca\\xbb\\x87\\x3d\\x2b\\x3c\\xbf\\x2f\\xdc\\x57\\xd8\\xa7\\xad\\xbb\\x07\\x6b\\xb1\\xe3\\x7e\\xe9\\xa4\\xef\\x1d\\x8e\\x5b\\xa4\\x84\\xfd\\xb9\\x9f\\x75\\x56\\xd6\\x6b\\xf4\\x31\\xd6\\xa3\\xc5\\x72\\x05\\x7c\\xd7\\x58\\x77\\x1a\\xbd\\xa6\\xd0\\x67\\x2b\\xe7\\x2c\\xa2\\xd7\\xbf\\x7d\\x32\\xd0\\xfc\\x58\\xae\\x30\\x57\\xb0\\x26\\xc0\\x63\\xeb\\x47\\x6c\\x9a\\xef\\x46\\xeb\\x2c\\xe7\\xb6\\x1d\\x91\\x45\\xb4\\x62\\x2e\\xb2\\xc6\\x0b\\x1d\\x3e\\xb9\\xcc\\xf6\\xb3\\xdc\\xc2\\x9e\\xd2\\xdb\\x7e\\x0b\\xba\\x1f\\x90\\x78\\xad\\xd3\\xbe\\x16\\x9d\\x4f\\x48\\x8c\\xc3\\x29\\x33\\xf4\\x3a\\x88\\xfd\\xcf\\x2d\\x5b\\x7a\\xef\\xa4\\xd5\\x7d\\xd8\\x1c\\xcb\\x73\\xaa\\x3e\\x37\\xb8\\x0c\\xf1\\xea\\x56\\xaf\\x97\\x8c\\x5d\\x69\\x1f\\x2f\\x89\\x55\\xf6\\xb8\\xdb\\x23\\xf7\\xa2\\x39\\x7a\\xcd\\x72\\x98\\xac\\x5f\\xed\\xa5\\xb6\\x63\\x12\\xb6\\xca\\xc5\\xcb\\x99\\xe6\\x11\\xd6\\xe0\\xf1\\xec\\x65\\x77\\xc0\\x33\\x97\\xf6\\x7e\\xdb\\x1e\\xf6\\xd4\\x81\\x32\\xd0\\xa2\\x7a\\xdc\\x55\\x76\\x71\\x9f\\xf8\\x1a\\x7d\\x4b\\xb1\\x5b\\x9d\\x7d\\x6a\\xa6\\x34\\xd0\\x36\\x6c\\x3f\\x82\\x59\\xf8\\x5c\\x7f\\x50\\xdb\\x33\\x77\\x11\\xc3\\x2e\\xd6\\xed\\x81\\x17\\xce\\xc1\\xfd\\x2d\\xbc\\xf5\\x1a\\xfa\\xb3\\xb5\\x5f\\xb7\\x89\\xdc\\x11\\xdb\\x58\\x67\\xa4\\xc1\\x9c\\x49\\x92\\x58\\x87\\xe7\\xf0\\xbc\\xd2\\x3a\\x87\\x5f\\x6e\\x9d\\xbd\\xfc\\xa1\\xdd\\x7a\\xef\\x72\\x6d\\x10\\x97\\x6b\\x3a\\x3c\\x02\\x4f\\xb9\\x95\\xdb\\xd9\\xb6\\x33\\xa1\\xdf\\xf5\\x79\\xcf\\xca\\xf9\\x86\\xc8\\x19\\x41\\xcb\\xbf\\x66\\xdd\\x13\\xe7\\x38\\x2f\\xe7\\xfc\\x68\\x4a\\x53\\xcd\\x6b\\xf1\\x6b\\xb9\\x27\\x59\\xf7\\xab\\xde\\x39\\x37\\x44\\xee\\x44\\x5b\\x2c\\x8c\\x52\\x6c\\x67\\x44\\x39\\x76\\x49\\x37\\xeb\\xae\\xb9\\x97\\xfe\\x25\\x72\\x9d\\x2b\\x8a\\x33\\x49\\x7d\\xf8\\x4f\\x4b\\xb2\\x73\\xb7\\x65\\x5b\\xfb\\xd8\\xca\\x15\\xb0\\x9e\\x33\\xac\\x7a\\xfd\\x91\\xf3\\x23\\xb1\\x99\\x03\\x88\\x35\\xd1\\xba\\x27\\x16\\xda\\x97\\x73\\xaf\\x63\\x9f\\xa4\\xff\\x3e\\x8b\\x94\\xdc\\x67\\x4f\\x92\\x24\\x0b\\x83\\xf0\\x79\\xbd\\x30\\xd2\\x5a\\xf7\\x55\\xf3\\x98\\xb4\\xb3\\xce\\x96\\x62\\xed\\x3b\\xd5\\xad\\xfd\\xe6\\x39\\xe9\\xc7\\x1e\\xb8\\xd0\\xb1\\x01\\xbd\\xbb\\x25\\xcb\\xa1\\xf9\\x75\\xff\\x35\\xd2\\xd2\\x7a\\x7e\\x29\\x14\\xba\\x70\\xaf\\xe2\\x3c\\xa0\\xed\\x33\\x56\\x68\\xed\\x83\\xfa\\xae\\x1b\\x08\\xed\\xb3\\xce\\x0f\\x1b\\x24\\xc9\\x19\\xb0\\x6c\\x45\\x69\\x3f\\x2c\\x7f\\xf4\\xde\\x87\\x8e\\xa8\\x0e\\x52\\xec\\x68\\x27\\xd1\\xec\\x4f\\x59\\xc4\\x9b\\xe5\\xfc\\x84\\x58\\x87\\xcb\\xfd\\xf6\\x81\\xa1\\x73\\xba\\x96\\x9d\\xe3\\x78\\x1f\\xcb\\xdd\\xe4\\x16\\x19\\x40\\x1d\\xde\\xe1\\x7a\\x0a\\x6c\\xf7\\x32\\x6e\\x5a\\x67\\x81\\x5c\\x6b\\x6e\\x38\\xe5\\x86\\x0b\\x67\\x99\\x7b\\x38\\x77\\x34\\x06\\xe7\\x48\\xeb\\xfa\\x85\\xfd\\xf0\\x23\\xfa\\x67\\x52\\x97\\x35\\x25\\x43\\xdb\\x73\\xfa\\xa5\\xb0\\xd2\\x2e\\xd8\\x5f\\x6d\\xf9\\xbf\\x5c\\xd2\\x58\\x0b\\x9e\\x86\\x58\\xb7\\x42\\xf7\\x86\\xe9\\xfc\\x07\\xac\\xe7\\x99\\xd0\\x35\\x56\\x0e\\xf1\\xdb\\x3a\\xdb\\x1f\\x0b\\xe7\\x58\\x63\\x67\\x1e\\xa1\\x9e\\x1f\\x24\\xb6\\x39\\xcc\\xa7\\x01\\xdc\\x15\\x96\\xd0\\xff\\x01\\xe7\\x0a\\x9d\\x7f\\x72\\xa0\\x6b\\xc0\\xca\\x03\\xf9\\xb7\\x62\\xff\\xa3\\x15\\xda\\x6a\\x8e\\x14\\xf6\\xfb\\x73\\x92\\x69\\xd5\\x0f\\x78\\x38\\xdd\\xe4\\xf5\\x0d\\x59\\xe8\\x36\\x88\\x73\\x84\\x55\\xbb\\x97\\xdb\\x96\\xc8\\xe5\\x95\\xf7\\x08\\xeb\\x6e\\x13\\xce\\x95\\x58\\x73\\x3d\\xd2\\xea\\x9a\\xd1\\x79\\x73\\xec\\x90\\x54\\xfb\\xdd\\xd4\\x1d\\xb5\\xa3\\xf3\\x57\\xa5\\xb5\\xe6\\x82\\x63\\x9f\\x54\\xb3\\x4f\\xc4\\x6e\\xa4\\xd5\\x75\\x7e\\xc1\\xd7\\x27\\xe1\\x79\\x9f\\x18\\xa9\\x53\\xab\\x56\\x22\\x3e\\x5d\\x68\\xc3\\xba\\x86\\x55\\xce\\x25\\x9d\\xe3\\xbf\\x3b\\x83\\x5f\\xb8\\xb3\\x7e\\x1a\\xb9\\xff\\x44\\xda\\x4b\\x71\\xd1\\xad\\x3e\\xf7\\x54\\xc1\\xd7\\x6a\\xff\\xf6\\x8c\\x4a\\xed\\xeb\\xfa\\xd3\\x73\\xc5\\xaa\\xa1\\x4b\\xda\\xca\\x78\\xf5\\x5c\\xd4\\xf5\\xa8\\xe7\\x8c\\x55\\xab\\x95\\xf9\\x89\\xe0\\x74\\xa1\\xdd\\x20\\x03\\xac\\xb3\\x7e\\x47\\x19\\xec\\xbc\\x95\\x5a\\x79\\x59\\xfa\\x38\\x36\\xc9\\x15\\xf6\\xae\\xac\\x31\\x3d\\xe4\\x0a\\x57\\x4d\\x6a\\xf0\\x39\\x49\\xd2\\x77\\x01\\xe7\\x98\\xc8\\x1d\\xa2\\xcc\\x5a\\x33\\x53\\xec\\x4f\\x48\\x3b\\x7d\\x77\\xd3\\x67\\xd2\\x4a\\xcc\\x2a\\xef\\x0e\\x95\\x77\\xc8\\xf0\\xbe\\x27\\x8d\\x68\\x27\\xd2\\x0e\\xd7\\xdf\\x3c\\x79\\xbe\\x12\\x1a\\x47\\xad\\xe9\\x73\\xc3\\x9a\\xc8\\xbe\\xdd\\xf0\\x8f\\x6f\\x7b\\xba\\xef\\xfc\\x2f\\x91\\xfe\\xa1\\x91\\xfd\\x5f\\xef\\xe1\\xc8\\x87\\x26\\x84\\xc7\\x43\\x57\\x85\\xc7\\x82\\x89\\x91\\xf1\\xe1\\x61\\x1e\\xfd\\xe7\\xfc\\xb2\\xc8\\xb9\\x81\\x7d\\x3a\\xb8\\x13\\xfa\\x29\\x4c\\xfa\\xdd\\xda\\x8b\\x3b\\x44\\xf4\\x0e\\x8d\\xf4\\x69\\x8a\\x8f\\xb4\\x1f\\x70\\x56\\xba\\x47\\x8f\\xd9\\x66\\xa8\\x53\\x95\\xe3\\x7a\\xef\\xab\\x7c\\x36\\x87\\xcb\\x3f\\x30\\xe2\\xb7\\xdf\\x40\\x9e\\xbd\\xd2\\x97\\xbb\\x76\\x27\\xf6\\x80\\x86\\xf6\\x71\\xf2\\x98\\x31\\x41\\x5e\\x31\\x8e\\xb3\\x26\\xfe\\x43\\x5e\\xb1\\xcf\\x90\\x67\\xf5\\xbb\\x6d\\xb1\\xd4\\xb7\\x4d\\xa4\\x76\\x1f\\x94\\x7c\\xfb\\xbb\\xf4\\x7f\\xca\\x39\\x8d\\x7e\\x53\\xdf\\xdd\\x1f\\xa1\\x6e\\x7e\\x42\\x76\\x8c\\xdc\\x63\\x6f\\x4d\\x9e\\xc6\\xb1\\x46\\x1c\\x90\\x28\\xfb\\xe5\\xdc\\x7d\\x90\\x73\\x5c\\x2f\\x6d\\xed\\x6f\\x71\\x9f\\xd9\\x8d\\x9e\\x08\\x99\\x9d\\x64\\x8f\\x2d\\x08\\x71\\x5a\\xe1\\x4c\\x2b\\xd4\\x5b\\x2f\\x6a\\x26\\xcd\\x9a\\x1f\\x8f\\xa3\\xe3\\x71\\x9e\\x15\\xeb\\x21\\xf5\\x45\\x8d\\x2e\\xb2\\xc5\\x4a\\x67\\xbd\\xf7\\xb1\\xef\\xc4\\x5a\\xeb\\xdf\\x31\\xeb\\xce\\x5e\\x18\\x59\\x3b\\xbb\\x45\\x28\\x8b\\x9c\\x75\\xb1\\x3d\\x20\\x57\\x5e\\xf8\\xf6\\xf3\\x2d\\xf7\\x00\\xbd\\xc6\\x41\\xd6\\x9c\\x0b\\xef\\x7d\\x3d\\x1c\\xf5\\x58\\x23\\x0f\\x4a\\xf7\\x0b\\xe7\\x78\\xfd\\x4d\\xee\\x80\\xf8\\xcd\\x9f\\xf0\\xf3\\xb8\\xc4\\x5b\\xeb\\xa0\\x9e\\x9b\\xba\\xee\\xd0\\xa1\\xf7\\x4f\\x5d\\x1b\\xe6\\x21\\xa9\\x63\\xbf\\x9f\\xb3\\xc3\\x33\\xd2\\x1a\\x12\\xf3\\x9f\\xd2\\x18\\xde\\x7a\\x9a\\x6c\\xa6\\x64\\x9a\\xb7\\x4b\\xa6\\x9a\\xc2\\x39\\xe1\\x2b\\x49\\x30\\xcb\\xa4\\x85\\x59\\x47\\x1a\\xda\\xea\\xca\\x65\\xe6\\x4d\\x52\\xd7\\xbc\\x99\\xb5\\x3e\\x4b\\xb2\\xcd\\x5b\\x25\\xdf\\x1c\\xc2\\x59\\x77\\x39\\xcf\\x37\\x49\\xba\\x79\\x1b\\xf7\\xa8\\xc4\\xd0\\x59\\xd3\\x2e\\x89\\x16\\xa5\\x4b\\xb6\\xed\\x0d\\xfa\\xd3\\x25\\xc7\\x0c\\x9f\\x89\\x9b\\x69\\x32\\x3e\\x95\\x36\\x50\\x2b\\xd3\\x27\\xcd\\xf5\\x59\\xd9\\xf8\\x50\\xb2\\x6c\\x33\\xe9\\xff\\x49\\x1a\\x98\\x05\\xf0\\x45\\x31\\x1f\\xbb\\x63\\x53\\x93\\x4f\\x9a\\xa9\\xf5\\xe2\\xb6\\xc6\\xba\\x70\\x36\\xd0\\x7c\\xdf\\x86\\x7e\\x33\\x7b\\x49\\x35\\x33\\x8d\\xfb\\xc1\\xb7\\xa1\\xdf\\xcd\\xae\\xf0\\xed\\x83\\x5c\\xe1\\xb3\\x37\\xf7\\x85\\xa6\\x9a\\xdf\\xe2\\x4b\\x93\\x26\\x16\\x4f\\x17\\xf4\\x46\\x78\\x9c\\x25\\x1a\\xbb\\xd0\\xab\\x7a\\x6e\\xe8\\xf3\\xb7\\xb3\\x76\\x68\\x3d\\xef\\x9a\\x96\\x71\\xf7\\x2d\\xd3\\xc4\\x3d\\x30\\xc4\\xd8\\x3b\\xe0\\xe9\\xb3\\xbe\\x33\\x9d\\xc4\\xc7\\xfd\\xd2\\xd7\\x71\\x96\\x3b\\x54\\xf8\\x0e\\x97\\x6c\\xdd\\xa3\\x5e\\xb0\\xee\\x52\\x51\\x91\\x6f\\x76\\xfa\\x5b\\x66\\x86\\x23\\xd3\\x5a\\x5f\\xf4\\x9a\\xd4\\xa3\\xca\\x77\\x55\\x7d\\x47\\xcb\\xd3\\xfb\\x91\\xb9\\xce\\xfa\\xee\\xea\\xb2\\xf6\\x36\\xee\\x5b\\xb6\\xf0\\xb7\\xda\\xca\\xfb\\xe5\\x1f\\xf7\\xca\\x8e\\xd6\\x37\\xe9\\x85\\xe1\\xf3\\x1f\\x32\\xfa\\x1e\\xd9\\xca\\xc2\\xb5\\x05\\x18\\x69\\x9c\\xdc\\xe0\\x95\\xad\\xb1\\x54\\x27\\x25\\x4d\\x93\\xc6\\xcb\\xba\\x3f\\x4d\\x15\\xa7\\xc6\\xc2\\x22\\x9e\\x8d\\x1b\\x59\\xe2\\xef\\x93\\x4e\\xaa\\x90\\x7b\\x74\\x77\\x6a\\x6b\\x26\\xb9\\x99\\x89\\x9e\\x11\\xa1\\x6f\\xcd\\x11\\xd2\\xda\\x38\\x43\\x6e\\xc0\\x9e\\xdc\\x37\\xb1\\xee\\x2e\\x6d\\x25\\x16\\xdc\\xab\\x99\\x01\\x71\\x30\\xc7\\x5a\\x18\\xdf\\x49\\x0e\\xd4\\x48\\x63\\x6a\\x1c\\xe6\\xae\\x7b\\x18\\xfb\\x6f\\x59\\x7e\\xd4\\x37\\xbe\\x11\\x7d\\x77\\x78\\x20\\x4c\\xa1\\x5b\\x22\\x67\\xf9\\xf7\\x2e\\xa1\\xa2\\x30\\x59\\xf7\\x05\\xeb\\x3c\\x5d\\x65\\xbd\\xfe\\xeb\\xef\\x74\\x55\\xbe\\x4d\\x56\\xf9\\x96\\xf8\\xf7\\xed\\xff\\xf8\\xcd\\xd2\\xca\\xa7\\xce\\xd3\\x9f\\xbf\\x51\\xfe\\xc7\\x96\\xf3\\xc3\\xa3\\x61\\x92\\x34\\xda\\x7d\\x95\\xdf\\x72\\x2e\\x6d\\x6d\\x55\\xbe\\x4b\\xc2\\x77\\xec\\x92\\xf6\\x65\\xbd\\x67\\xe9\\xba\\xb8\\xb4\\xfd\\x0f\\x38\\xcc\\xb1\\xfd\\x87\\x6f\\x95\\x55\\xbe\\x99\\x84\\xf9\\x07\\xfe\\x21\\xf7\\x17\\xdf\\x2e\\x2b\\xdb\\xa1\\xff\\xed\\x1b\\xe6\\x5f\\x7d\\xcb\\xfc\\x8b\\x36\\xee\\x7f\\xfe\\xa6\\x39\\xd0\\x3a\\x0f\\xba\\x2a\\xdb\\xca\\x7d\\xe9\\xbf\\xb5\\x7f\\xda\\x27\\x07\\x5e\\xf8\\x2e\\xf8\\x97\\xdf\\x41\\xad\\x5c\\x2d\\x13\\xcf\\x85\\xef\\x1a\\xd6\\xb7\\x3d\\xf6\\xf3\\xb5\\xe1\\x33\\xb2\\xed\\xaf\\xbf\\x8f\\xeb\\xd6\\xfd\\x5f\\xc6\\xff\\x7b\\xfb\\xbf\\xd5\\x60\\xca\\xdf\\x8d\\xe3\\xa7\\xfe\\x1d\\x4a\\x61\\xe4\\x7b\\xeb\\x9f\\xbe\\x13\\x5e\\xd2\\x76\\xf9\\xdb\\xf1\\xc8\\x77\\xd8\\xff\\xd6\\x5e\\x9a\\xa3\\x0b\\xdf\\x60\\xff\\x4b\\x7b\\xd1\\xf7\\xe8\\xbf\\x68\\xad\\x3b\\xe0\\x7f\\xa0\\xc8\\xfd\\x34\\xc7\\xf1\\x33\\xfb\\x66\\x98\\x12\\x23\\x94\\xab\\xc9\\xba\\x33\\xfe\\x05\\x39\\xea\\x84\\x7e\\xd5\\xe4\\xe4\\x16\\x5d\\x95\\xac\\xbb\\xe5\\x7f\\x20\\xc7\\x42\\xee\\x33\\x90\\xcb\\x2b\\x72\\x09\\x25\\x69\\x02\\xeb\\x59\\x61\\x0a\\x6d\\x8e\\xd0\\xf7\\x11\\x7a\\x5d\\x93\\xa9\\x44\\x69\\xb2\\xdd\\x8f\\xad\\x8b\\x29\\xc9\\xa2\\xbf\\xfa\\x7d\\x8d\\xce\\xc3\\x93\\xa1\\xef\\xa1\\x43\\xae\\x01\\xd8\\x82\\x9c\\x1f\\x84\\xc9\\xda\\xbf\\xff\\x03\\x39\\xee\\x12\\xe5\\x0c\\x22\\x73\\x95\\xe4\\x3b\\x5f\\x09\\x9d\\xd2\\xf7\\xdb\\xff\\x48\\x9f\\x84\\x0e\\x69\\x72\\x71\\x53\\xd0\\xe4\\x3c\\x53\\x49\\xa1\\x53\\x9a\\x2a\\x71\\xaf\\xc4\\xb1\\x12\\x17\\x62\\xf6\\xe9\\xb8\\x2f\\xf8\\x5c\\x69\\x3f\\xa2\\xf7\\xff\\x90\\xc7\\x4a\\xb2\\xf2\\xf8\\xdf\\xf3\\x02\\x3e\\x0b\\x43\\xbf\\xfe\\x39\\x2f\\xa1\\x53\\x9a\\xfe\\x7b\\xdc\\xe4\\xf5\\x7f\\x88\\xfb\\x3f\\xf9\\x0e\\x45\\x55\\x3e\\xb3\\x6e\\x7c\\x07\\xfd\\x12\\x6e\\xf5\\xf7\\x36\\x74\\xfc\\x95\\xdf\\x47\\xa5\\x2b\\xd4\\xdb\\x39\\x48\\xb2\\xa1\\x3c\\xbd\\xa6\\xfe\\xf1\\x8d\\x11\\xb9\\xb6\\xa1\\x07\\xf5\\x9a\\xaf\\xf7\\x89\\x08\\xfd\\x03\\x7a\\x2d\\xfc\\xbb\\xae\\xd0\\x77\\xe6\\x07\\x9c\\x99\\x3e\\x90\\xde\\x55\\x65\\xfe\\x54\\x07\\xfa\\x3b\\x88\\xa6\\xc8\\x7b\\xe4\\xf7\\x8c\\x19\\x8e\\xa3\\xa1\\xf3\\xce\\x1e\\x32\\x45\\xcf\\x03\\x73\\x0d\\x7b\\x34\\x84\\x8e\\xa7\\xfe\\x0a\\x1f\\xe7\\x68\\xc9\\xa7\\xfe\\x4e\\x3a\\x1f\\xa1\\xfd\\x24\\x74\\xd2\\x31\\x81\\xbd\\x7c\\x99\\xec\\x81\\xf6\\xb3\\x56\\x5a\\xbf\\xe4\\xaf\\x6c\\x8d\\x97\\xac\\xbf\\x1e\\x20\\x6a\\x80\\x75\\x8f\\xb3\\x7e\\x8f\\xae\\xf4\\xe9\\xfa\\xa5\\xca\\xbb\\x40\\xe8\\x33\\xc8\\x07\\xed\\x61\\xff\\xee\\xc5\\x19\\x49\\xdf\\x8b\\x3b\\xba\\x22\\xf2\\xd6\\xef\\x5d\\xae\\xd1\\xbf\\xd3\\xbb\\xf0\\x5d\\x76\\xae\\x6e\\xd1\\xff\\x68\\x15\\xba\\x0d\\x19\\xfd\\x7d\\x7a\\xb6\\xb1\\x55\\x3a\\x23\\xf7\\x75\\x44\\xdf\\x15\\x91\\x73\\xbf\\x45\\xda\\x2e\\x63\\x0d\\xd5\\x31\\x19\\xc0\\x99\\x1e\\x02\\xb7\\x65\\x32\\x14\\x1a\\xc6\\x59\\xf6\\x1d\\xf0\\xba\\x53\\x0d\\x0c\\xce\\x8a\\xdc\\x05\\x2a\\xe5\\x3c\\x11\\x8a\\xd3\\xef\\x7a\\x8f\\x87\\xf4\\xef\\x9c\\x1b\\x41\\x4d\\xcc\\x46\\x72\\xad\\x75\\x2e\\x35\\xc2\\x67\\x1d\\xeb\\xfb\\x2c\\xcf\\x91\\x75\\xbf\\x7f\\xe4\\xbc\\xe1\\x84\\x92\\x22\\xfb\\x71\\x0d\\xd7\\x06\\x79\\xca\\xbd\\x95\\xfd\\x99\\x53\\x8b\\x33\\x5e\\x56\\xd9\\xd2\\xe4\\x4e\\xc6\\x75\\xbd\\x58\\xfb\\x9f\\xab\\x2c\\x8c\\x95\\xf5\\x6d\\x2c\\xfc\\xed\\x4c\\x3f\\xd7\\xd1\\xba\\x88\\xe9\\x5e\\x67\\x12\\xe7\\xdc\\x6f\\xa5\\xa1\\xeb\\x18\\x7b\\xcf\\x11\\xf1\\x11\\xd3\\x1d\\x9c\\x0f\\x07\\xd8\\xb6\\x4a\\x11\\xcf\\x06\\x77\\x83\\x92\\xc8\\xef\\xaf\\x73\\xa0\\x29\\x50\\x7f\\xfd\\xbb\\x6c\\xe8\\x9f\\xe1\\x3b\\xac\\x7a\\xc6\\x26\\xca\\x73\\x69\\xab\\xc9\\x3c\\xc5\\x5d\\xfe\\x88\\x34\\x72\\x3c\\x22\\x1f\\xdb\\x57\\xc9\\xbd\\xfa\\xef\\x20\\x58\\x98\\xb4\\x95\\x05\\xb6\\x51\\x62\\xd0\\x57\\xe0\\xdc\\xad\\x1e\\xb3\\x6f\\x51\\x35\\x8c\\xe6\\xa1\\x69\\xf4\\x35\\x82\\x6a\\xdb\\x5e\\x92\\x51\\xd6\\xef\\x92\\x35\\xed\\x96\\x27\\x91\\x1b\\x65\\xdb\\x6d\\xd4\\xb5\\xed\\x56\\x76\\xfb\\x4b\\xa1\\x5f\\xec\\xa2\\xf6\\xda\\x5f\\x32\\x16\\x58\\xcf\\x7f\\x6a\\x2f\\x25\\xf5\\x79\\x78\\x4c\\xb7\\x9a\\xaa\\x8e\\xfd\\xbf\\xed\\xff\\x5f\\x08\\x7c\\x2f\\x22\\x63\\x37\\xed\\x58\\xeb\\x99\\x1b\\x2c\\xf1\\xdc\\x06\\x39\\x8c\\xcf\\x64\\xa2\\x26\\x5d\\x97\\xce\\x63\\xea\\x29\\xe8\\xfe\\xca\\x16\\xdc\\x4c\\x78\\xfe\\x65\\x7b\\x47\\xae\\xa2\\x7d\\x15\\x6a\\xa8\\x09\\xfe\\x52\\x57\\x23\\xb5\\xd2\\x75\\x8d\\xda\\xee\\x1c\\xa0\\xf2\\x1d\\xa2\\xf6\\x41\\x7d\\x6c\\x01\\xb9\\xdc\\x1e\\xe0\\x8c\\xbe\\x41\\xc6\\xd8\\x92\\x38\\x3b\\x8b\\x6c\\x72\\x58\\x39\\xa0\\x76\\xac\\xdf\\x69\\x73\\x07\\x38\\x14\\xfa\\x49\\xff\\x0e\\x29\\x72\\x06\\xd4\\xe7\\xf5\\x77\\x2f\\x3a\\x3f\\x86\\xcf\\x85\\xd6\\xef\\xc2\\x1c\\x69\\xd4\\xd9\\xe7\\xe2\\x72\\x0d\\xe1\\x7c\\xf3\\x95\\x75\\x46\\xc9\\xb0\\xf5\\xe7\\x4c\\x76\\x3b\\xbc\\x6b\\xe5\\x4a\\xfd\\xf7\\x21\\xa8\\xdf\\x4e\\xd0\\xcb\\xd4\\xd0\\x6f\\x9a\\x90\\x7b\\x5c\\x93\\xfe\\xbb\\x15\\x95\\x44\\xff\\xb3\\x9a\\xb0\\xf5\\x9b\\x9e\\x07\\x66\\x2d\\xf2\\x5f\\x21\\x25\\xd0\\x48\\x6c\\xe9\\xdf\\x13\\x67\\xe8\\xbb\\xad\\xfe\\xae\\x6e\\xdd\\x57\\xf5\\xdd\\x96\\x7b\\x72\\xe5\\xfd\\xb8\\xea\\x3d\\x58\\xdf\\x6f\\x23\\x77\\xdb\\xc1\\xfa\\x9e\\x5b\\x95\\xac\\xbb\\x75\\x25\\xfd\\xe9\\x8e\\x1d\\x5a\\x67\\x1c\\x0f\\x6d\\x0d\\xdf\\xaf\\x43\\xeb\\x2e\\xba\\x5f\\x73\\xb7\\xae\\xbc\\x57\\x5f\\xb8\\x53\\xff\\xc5\\x7d\\x5a\\xfb\\xa8\\xf5\\x6a\\x39\\xcd\\x63\\x2f\\xb2\\xe2\\xef\\x16\\x21\\xeb\\x77\\x0b\\xd6\\xfa\\xb4\\x4c\\xc6\\x12\\xeb\\xbf\\xd5\\x16\\xb9\\x1e\\x1a\\xab\\xff\\x6e\\x48\\x98\\xf4\\xef\\x50\\xac\\xdf\\xa3\\xc4\\xd2\\x7e\\x0a\\xbd\\x02\\xe9\\xef\\xf4\\x66\\x15\\x4a\\xfd\\x83\\xf4\\xef\\x3f\\x82\\x19\\x91\\xf6\\xb6\\x08\\x2d\\x89\\xfc\\x1e\\x62\\x69\\x15\\xde\\x88\\xac\\xc5\\x57\\x95\\xf7\\x12\\xd2\\xbf\\xe7\\xb8\\x94\\xfe\\xae\\xff\\xaf\\xf8\\xfe\\x20\\xfd\\x77\\x1f\\x68\\x3f\\x81\\x7e\\x8f\\xb4\\xdf\\x47\\xda\\x8d\\xb6\\x41\\xb2\\xf4\\x12\\xba\\x02\\xea\\x1b\\x69\\x35\\xe5\\x9b\\x1e\\xc9\\xa7\\xf5\\x47\\xa8\\x37\\xd4\\x04\\x2a\\xa0\\x5f\\xb7\\xf5\\xa0\\xcc\\x08\\xd5\\x87\\xb2\\xe9\\xd7\\xcf\\xb5\\xa1\\x14\\xa8\\x55\\x84\\x9a\\xd1\\xdf\\x30\\x22\\xdf\\xab\\x0a\\x0d\\xa7\\xbf\\xd7\\x5f\\xf8\\x51\\x18\\x19\\xcf\\xaf\\xe4\\x8d\\xf0\\x65\\x43\\x6d\\xa1\\x4e\\x95\\x44\\x7f\\xa7\\x88\\x0d\\x7f\\x15\\x7b\\xad\\xe8\\xf7\\x5f\\x62\\xab\\x52\\xcf\\xb8\\x4b\\x75\\x57\\xd1\\x7f\\xa9\\x1f\\x03\\xa1\\x41\\x50\\x71\\xa4\\x1d\\x08\\xdf\\x50\\xda\\x36\\x50\\xeb\\x08\\xe9\\xe7\\x36\\xf4\\xeb\\xb6\\x1b\\x94\\x57\\x95\\xe8\\xd7\\xed\\x8c\\x08\\xb5\\x8d\\x50\\x3b\\xfa\\x75\\x7b\\xff\\xa5\\xf4\\x37\\x7e\\x5c\\x1a\\x47\\x6f\\xf8\\x34\\x96\\xcd\\xaa\\xc4\\xac\\xf1\\xae\\x1d\\xc1\\x39\\x3b\\x92\\x8f\\xca\\xdc\\xd4\\x8b\\xe4\\xa5\\x20\\x92\\xbf\\xde\\x95\\x39\\x8d\\xe4\\x31\\xbf\\x4a\\xce\\xad\\xfc\\x47\\xf2\\x7e\\x91\\x1f\\xd4\\x4c\\xeb\\x48\\xed\\x58\\xf5\\x13\\xa1\\xca\\xba\\xfa\\xc4\\xfa\\x86\\xf1\\x5f\\xce\\x77\\xfa\\xf7\\x2c\\xd0\\x0f\\x91\\x33\\xb1\\x6e\\x57\\x55\\xa5\\xff\\x76\\x8e\\x85\\x67\\x77\\x84\\x56\\x6b\\xfa\\xf3\\x38\\xe7\\x9a\\x0f\\xe4\\x49\\xeb\\x77\\x4e\\xb4\\x91\\xdf\\xb3\\xe5\\xd1\\xee\\x8f\\x7c\\x2f\\x5c\\x0f\\xed\\x80\\xbe\\x80\\x0e\\x41\\xbb\\xa0\\x7d\\xd0\\x6a\\x91\\xf3\\x3f\\x84\\x5b\\x2b\\xae\\x2d\\x55\\x48\\xbf\\x2f\\x62\\x7c\\x6b\\xb8\\x0d\\xce\\x8b\\xcc\\x6f\\x4d\\x4f\\x85\\xdb\\xf0\\x1f\\xdb\\x83\\xa1\\x6b\\x2c\\xd2\\xeb\\x96\\x5e\\x03\\x59\\x7b\\x2a\\xc9\\x5a\\xc3\\x58\\xf3\\xe0\\xef\\x00\\x8d\\xd7\\xa4\\x7f\\x9f\\xa5\\x8f\\x3a\\x11\\xaa\\x15\\xfe\\x9b\\x90\\xb6\\x7a\\xbc\\x29\\xeb\\xdd\\x66\\xd3\\x4b\\x55\\x50\\xa6\\x8b\\x43\\xee\\x94\\x3b\\xcd\\x49\\xe6\\x0d\\xe6\\x9d\\xe6\\x5c\\x73\\xbe\\xf9\\xb4\\xf9\\x89\\x3d\\xc1\\x5e\\xdb\\xbe\\xc5\\xfe\\x9d\\xfd\\x54\\xed\\x0f\\xeb\\x3c\\x51\\xe7\\xa9\\x3a\\xbf\\x7b\\x93\\xbc\\xb5\\xbd\\x79\\xde\\x2b\\xbc\\x83\\xbc\\xc5\\xde\\x21\\xde\\x61\\xde\\x3b\\xbc\\xab\\xbc\\x9b\\xbc\\x3b\\xbd\\x5f\\x78\\x4f\\x78\\x4f\\x79\\x83\\xbe\\x58\\x5f\\x5d\\x5f\\x96\\xaf\\x99\\xaf\\xa5\\xaf\\x9d\\xaf\\xbd\\xaf\\xa3\\x2f\\xd7\\x37\\xdc\\x37\\xc9\\x77\\x83\\xef\\x66\\xdf\\x34\\xdf\\x43\\xbe\\xd7\\x7d\\x27\\xd3\\xed\\xe9\\x09\\xe9\\x29\\xe9\\x75\\xd3\\xb3\\xd2\\x9b\\xa6\\x5f\\x99\\xde\\x3f\\x7d\\x78\\xfa\\xcc\\xf4\\x87\\xd3\\x5f\\xa8\\x6b\\xd4\\x75\\xd4\\x8d\\xad\\x1b\\x5f\\x37\\xa9\\x6e\\xcd\\xba\\xde\\xba\\x0d\\xeb\\x36\\xaa\\x5b\\x50\\x77\\x64\\xdd\\xd1\\x19\\x46\\x86\\x27\\x23\\x3d\\x53\\x32\\x8d\\xcc\\xe8\\x4c\\x4f\\x66\\x62\\x66\\x6a\\x66\\xad\\xcc\\x7a\\x99\\x8d\\x33\\x5b\\x66\\xb6\\xcf\\xbc\\x36\\x73\\x7a\\xe6\\xcc\\xcc\\xd9\\x99\\xf3\\x33\\x1f\\xcc\\x7c\\x3a\\x73\\x79\\xe6\\xab\\x99\\xeb\\x32\\xd7\\x67\\x6e\\xca\\xfc\\x38\\xf3\\xd3\\xcc\\xcf\\x33\\x8f\\x66\\xb5\\xcf\\x0a\\x64\\x75\\xc9\\x2a\\xc9\\xba\\x3a\\x6b\\x4c\\xd6\\x35\\x59\\x93\\x1a\\x4f\\x6c\\x7c\\x53\\xd3\\x94\\x7f\\xa5\\xff\\x6b\\xfe\\x59\\xe3\\x6c\\xab\\xb3\\xed\\xcf\\x76\\x3c\\xdb\\xf9\\x6c\\xee\\xd9\\xde\\xc1\\x8c\\xd0\\xb9\\x50\\xc8\\xfa\\x9b\\x99\\x4b\\xcd\\xa9\\xe6\\xad\\xe6\\x4c\\xe2\\xbf\\xcf\\xfc\\xa7\\xb9\\xcd\\x5e\\xd3\\x7e\\xbf\\x7d\\x9b\\xfd\\x64\\x6d\\xa9\\x1d\\x24\\xfe\\xa5\\x5e\\xf1\\xa6\\x7a\\x7d\\xde\\x02\\x6f\\x61\\x24\\xfe\\x11\\xde\\xe9\\xde\\x37\\xbc\\xef\\x79\\x3f\\xf3\\x7e\\xe9\\xfd\\xc9\\xfb\\x8b\\x4f\\x7c\\xf1\\xc4\\x7f\\x99\\xaf\\x85\\xaf\\xed\\x85\\xf8\\x27\\xf8\\xa6\\xfa\\x6e\\x22\\xfe\\x45\\xbe\\xa5\\x91\\xf8\\x93\\x23\\xf1\\x5f\\x91\\xde\\x2f\\x7d\\x08\\xf1\\x2f\\xba\\x10\\x7f\\x1c\\xf1\\xd7\\xa8\\x5b\\x27\\x12\\x7f\\x49\\xdd\\x51\\x56\\xfc\\xbe\\xbf\\x89\\xbf\\xf0\\x42\\xfc\\x8b\\x32\\x97\\x66\\x2e\\xbb\\x10\\xff\\x87\\xc4\\xbf\\x97\\xf8\\xdb\\x5d\\x88\\x7f\\x74\\xd6\\x04\\xe2\\x2f\\x69\\x7c\\x3d\\xf1\\xa7\\xfc\\x6b\\xf6\\x59\\x75\\xb6\\xf6\\xd9\\x36\\xc4\\x1f\\x38\\xdb\\xf5\\x6c\\x7e\\xd0\\xa7\\xe3\\x0f\\x1d\\x0a\\x6d\\x0c\\xbd\\x15\\x5a\\x17\\x7a\\x3d\\xb4\\x2a\\xf4\\x5a\\xe8\\xd5\\xd0\\xca\\xd0\\x4b\\xa1\\x36\\xa1\\x66\\xa1\\x46\\xdf\\xf8\\x2a\\xbe\\xaf\\x38\\x56\\xf1\\x5d\\xc5\\xe1\\x8a\\xf2\\x8a\\x83\\x15\\x5f\\x55\\xec\\xaf\\xf8\\xa2\\x62\\x5f\\xc5\\xe7\\x15\\x7b\\x2b\\x3e\\xab\\xd8\\x5d\\xb1\\xab\\x62\\x47\\xc5\\xf6\\x8a\\x4f\\x2b\\x3e\\xa9\\xd8\\x5a\\xf1\\x51\\xc5\\xfb\\x15\\x9b\\x2b\\x36\\x55\\x6c\\xa8\\x78\\xbb\\xe2\\xad\\x8a\\xb5\\x15\\x4b\\x2b\\x1e\\xae\\xb8\\xbf\\x62\\x51\\xc5\\xdc\\x8a\\x5b\\x2b\\x26\\x55\\xf8\\x2b\\xd2\\x2b\\x12\\x2b\\xe2\\x2b\\x5c\\x15\\xf6\\xa3\\xc1\\xa3\\x07\\x8f\\xee\\x3f\\xfa\\xd9\\xd1\\x95\\x47\\x9f\\x3f\\xfa\\xd0\\xd1\\xcb\\x8f\\xb6\\x39\\xda\\xec\\x68\\xf6\\xd1\\x26\\x47\\x2f\\x3b\\x5a\\xff\\x68\\x9d\\xa3\\xb5\\x8f\\xaa\\x23\\xdf\\x1d\\xf9\\xe6\\x48\\xaf\\x23\\x9d\\x8e\\x34\\x3b\\xd4\\xf7\\x50\\x9f\\x43\\x05\\x87\\xf2\\x0e\\x75\\x39\\xd4\\xe9\\x50\\xfb\\x43\\xfe\\x43\\x4d\\x0f\\xd5\\x3f\\xe4\\x3b\\x14\\x53\\x7e\\xa6\\xfc\\xd7\\xf2\\x53\\xe5\\x3f\\x96\\xff\\x50\\x5e\\x5e\\xbe\\xaf\\x7c\\x77\\xf9\\x27\\xe5\\x5b\\xcb\\xdf\\x2b\\x7f\\xa7\\xfc\\xed\\xf2\\xd5\\xe5\\x2f\\x95\\x17\\x95\\x0f\\x28\\xef\\x5f\\xde\\xba\\xdc\\x5f\\xde\\xb2\\xbc\\x79\\x79\\xd3\\xfd\\x1d\\xf7\\x5f\\xbe\\x6f\\xf1\\xc8\\x27\\x47\\xb6\\x8e\\x79\\x37\\xe6\\xc5\\x98\\x17\\x62\\xfe\\x15\\xf3\\x7c\\xcc\\x73\\x31\\xcf\\x46\\xed\\x72\\x9d\\xbb\\xf4\\x6f\\x08\\xff\\xff\\xee\\x8f\\xc3\\x88\\xd2\\x8d\\x92\\x3f\\x21\\xa1\\xac\\x4b\\x96\\xfe\\x63\\xfc\\x17\\x1d\\x61\\x49\\x93\\x0b\\x9a\\x9d\\xd5\\xc4\\xc9\\x85\\xc8\\x2d\\x51\\x52\\x4d\\xa2\\x25\\x46\\xaa\\x4b\\xac\\x78\\x24\\x4e\\xe2\\x25\\x41\\x12\\x25\\x49\\x92\\x25\\x45\\x52\\xa5\\x86\\xd4\\x94\\x34\\x56\\xa1\\xda\\x52\\x47\\xbc\\xcc\\xbe\\x74\\xa9\\x2b\\x19\\x52\\x4f\\x32\\x25\\x4b\\xea\\x4b\\x03\\x69\\x28\\x97\\x49\\x23\\x69\\x2c\\x4d\\xa4\\xa9\\x64\\x4b\\x33\\x69\\x2e\\x2d\\x24\\x47\\x5a\\x8a\\x5f\\x5a\\x49\\x6b\\x69\\x23\\x6d\\xa5\\x9d\\x5c\\x2e\\xed\\xa5\\x83\\x74\\x94\\x4e\\x12\\x90\\xce\\xac\\x7e\\x5d\\x25\\x57\\xf2\\x24\\x5f\\xba\\x49\\x81\\x74\\x97\\x1e\\xd2\\x53\\x7a\\xc9\\x15\\x72\\xa5\\xf4\\xe6\\x94\\xd6\\x47\\xfa\\x4a\\x3f\\x6e\\x3a\\x03\\x58\\x15\\x07\\x49\\x91\\x14\\xcb\\x60\\x19\\x22\\x43\\x65\\x98\\x0c\\x97\\x11\\x52\\x22\\x23\\xf1\\xff\\x5e\\x99\\x25\\x73\\x64\\x9e\\x3c\\x28\\x8f\\xc9\\x53\\xf2\\x4f\\x79\\x46\\x9e\\x95\\xe7\\xe5\\x39\\xf9\\x97\\xbc\\xc8\\xcd\\x72\\x99\\x2c\\x97\\x97\\x65\\x05\\xa7\\xd4\\x32\\x59\\x29\\xaf\\xc9\\xeb\\xb2\\x4a\\xde\\x90\\x35\\xb2\\x5a\\xd6\\xcb\\x9b\\xf2\\x6f\\x79\\xcb\\x79\\x4c\\xa6\\xc8\\x28\\x19\\x2d\\xe3\\x9d\\xdf\\xcb\\xcd\\xf2\\xb4\\x4c\\x96\\x6b\\x5c\\x97\\xc9\\x8d\\x32\\xc1\\xd5\\x43\\x66\\xcb\\x3f\\x5c\\x79\\x9c\\xda\\x7b\\xb9\\xae\\x90\\xb1\\x72\\x93\\xab\\x83\\x2b\\xe0\\xea\\x64\\x4e\\x71\\x15\\xc8\\xb5\\x72\\xbb\\x39\\x44\\x5e\\x90\\x75\\x32\\x43\\xae\\x96\\xeb\\x5c\\xb9\\xaa\\xbf\\xab\\xbb\\xab\\xa3\\x4c\\x94\\x3b\\x9c\\x3f\\xc8\\x55\\x72\\x97\\xdc\\x23\\x8f\\xaa\\x44\\x95\\xe4\\xfc\\xca\\x79\\xc0\\x59\\xe1\\xfc\\xc6\\x79\\xc8\\x79\\x58\\xd6\\xba\\xe6\\xc9\\x3b\\xaa\\x9d\\xf3\\xbc\\x2b\\xcd\\xf9\\xbb\\xf3\\x8c\\x6b\\x93\\x6b\\xb3\\xf3\\xb8\\xdc\\xe2\\x3c\\xe2\\xfc\\xd6\\x79\\x5a\\x66\\xca\\x7c\\xb9\\x5b\\x16\\xc8\\x5c\\x59\\x28\\x8b\\x38\\xa7\\xdd\\x27\\x0f\\xcb\\x23\\x44\\xf8\\x90\\x2c\\x66\\xe7\\x7a\\x42\\x7e\\x36\\x66\\x1b\\x4f\\xc9\\xf5\\xc6\\x3f\\x8c\\x27\\x8c\\xc5\\x72\\xab\\xb1\\xc4\\x78\\xd2\\x98\\x23\\x12\\xe8\\x36\\x64\\x70\\x71\\xd1\\x80\\xfe\\xfd\\xfa\\xf6\\x29\\xec\\x7d\\xe5\\x15\\xbd\\x7a\\xf6\\xe8\\x5e\\xd0\\x2d\\x3f\\x2f\\xb7\\x6b\\x97\\xce\\x81\\x4e\\x1d\\x3b\\xb4\\xbf\\xbc\\x5d\\xdb\\x36\\xad\\x5b\\xf9\\x9b\\x37\\xcb\\x6e\\xda\\xa4\\x71\\x83\\xfa\\x59\\x99\\xf5\\x32\\xea\\xa6\\x7b\\x53\\x13\\xe3\\x3c\\xb1\\xd5\\x63\\xaa\\x45\\xb9\\x5d\\x4e\\x87\\xdd\\x66\\x1a\\x4a\\x1a\\xfb\\xca\\x54\\x49\\x5e\\x99\\x99\\xe9\\x8b\\xcb\\x1f\\x99\\x91\\x97\\x31\\xb2\\xa0\\x49\\x63\\x5f\\x5e\\xea\\xb8\\xdc\\x26\\x8d\\xf3\\x32\\xf2\\x4b\\xca\\x7c\\x23\\x7d\\x65\\x34\\xb6\\xac\\x8c\\x82\\x02\\xab\\x2b\\x63\\x64\\x99\\xaf\\xc4\\x57\\x96\\x45\\x33\\xb2\\x4a\\x77\\x49\\x59\\x00\\xce\\x31\\x97\\x70\\x06\\xc2\\x9c\\x81\\x0b\\x9c\\xca\\xe3\\x6b\\x2f\\xed\\xb5\\x89\\x0c\\x5f\\xd9\\xd6\\xdc\\x0c\\xdf\\x1a\\x35\\xb8\\x4f\\x11\\xcf\\x0b\\x72\\x33\\x8a\\x7d\\x65\\xdf\\x5b\\xcf\\x57\\x58\\xcf\\xb6\\x2c\\xeb\\x25\\x86\\x97\\xf4\\x74\\x24\\x2c\\xaf\\xb4\\xb7\\xbe\\xbc\\xb2\\xfc\\x1b\\xc7\\xcd\\xcd\\x2b\\xc1\\x47\\xb5\\xb2\\x5a\\x54\\xd7\\x8c\\xae\\xa3\\xa3\\x9a\\x34\\x96\\x95\\x51\\xd5\\x78\\xac\\xc6\\x53\\x59\\x83\\x8c\\xc9\\x2b\\x55\\x83\\x8e\\xca\\x7a\\x30\\x1a\\xe4\\xb5\\x5b\\x69\\x88\\x2b\\x46\\x9b\\x25\\xd2\\xbc\\x91\\xa3\\xca\\x0a\\xfb\\x14\\xe5\\xe5\\xa6\\xa5\\xa7\\x17\\x37\\x69\\xdc\\xbd\\xac\\x7a\\x46\\xae\\x35\\x24\\x5d\\x2d\\x95\\x65\\x8e\\xae\\x65\\x4e\\x4b\\xa5\\x6f\\xbc\\x76\\x5d\\xe6\\xf9\\x56\\x36\\xde\\x30\\x77\\xfe\\x1a\\x8f\\x5c\\x55\\xd2\\x28\\x7a\\x54\\xc6\\xa8\\x91\\x43\\x8b\\xca\\xcc\\x91\\xc8\\xce\\x35\\xf3\\xe6\\xce\\x9d\\x55\\x16\\xd7\\xa8\\xac\\x61\\x46\\x6e\\x59\\xc3\\x5b\\x0f\\xa7\\x12\\xf9\\xe8\\xb2\\xc6\\x19\\xb9\\x79\\x65\\x8d\\xb4\\xd6\\x9e\\x7d\\x2f\\xd8\\xe9\\xf9\\x87\\x49\\x55\\x66\\xcf\\x64\\xc3\\x98\\x7b\\x5a\\x08\\x27\\xe3\\xfb\\xe3\\x17\\xf7\\x8c\\x8c\\xf4\\x38\\x32\\x3d\\xa7\\x45\\x3f\\x96\\x19\\x5d\\xcb\\x54\\xdf\\xa2\\x74\\xfd\\x27\\x2d\\x1f\\xac\\xe7\\xce\\xcd\\xcf\\xf0\\xe5\\xcf\\x2d\\x99\\x3b\\x72\\x4d\\x68\\xfa\\x55\\x19\\x3e\\x4f\\xc6\\xdc\\x95\\xd1\\xd1\\x73\\x27\\xe7\\x01\\xb7\\x14\\x16\\xa1\\x62\\x4d\\x68\\xdd\\xbc\\xb4\\xb2\\xfc\\xf9\\xc5\\x65\\x9e\\x92\\x71\\xaa\\x5d\\x71\\x24\\xf4\\xfc\\xbe\\x3d\\xcb\\x12\\xfa\\x0c\\x29\\x2a\\x33\\x32\\xf3\\x7d\\xe3\\x46\\xd2\\xc3\\xff\\x3b\\x65\\xa4\\xb7\\x49\\x4b\\x8f\\xbb\\xc0\\x53\\xf8\\x77\\xc3\\x02\\x2c\\x80\\x03\\xc2\\xe9\\xe9\\x1a\\x86\\x79\\x6b\\x02\\x72\\x15\\x2f\\x65\\xd3\\xfb\\x14\\x85\\xdf\\x7d\\x72\\x55\\xda\\xab\\x12\\xc8\\x6e\\x54\\x5c\\x66\\x94\\xe8\\x91\\x0d\\x95\\x23\\x49\\x03\\xf4\\xc8\\xf4\\xca\\x91\\x0b\\xe2\\x25\\x19\\xe4\\xb6\\x67\\xbf\\xa2\\xb9\\x65\\xb6\\xcc\\xee\\xa3\\x32\\xf2\\x40\\x7c\\xde\\xc8\\xb2\\xe9\\x57\\x51\\x5d\\x13\\x74\\x62\\x32\\x3c\\x65\\xd5\\x7f\\x49\\x4b\\xcf\\x98\\x1b\\x1f\\xe7\\x6b\\x9b\\x5d\\x6c\\xf1\\xfa\\xf0\\xaa\\xfb\\xa8\\xf1\\xbe\\x32\\x7b\\x16\\x20\\x21\\x55\\x55\\x80\\xba\\xd1\\x22\\x73\\x3d\\xd6\\x4b\\xf5\\x5f\\xc2\\xcd\\xf7\\x69\\x18\\xc8\\x8a\\x8b\\xf7\\xb5\\xcd\\x40\\x8d\\xd6\\x93\\x97\\x91\\x57\\x12\\xf9\\xff\\x8d\\xe3\\x52\\x51\\xe0\\x03\\xe8\\x82\\x46\\xe1\\x42\\xe8\\x5f\\x54\\x16\\xc8\\xe5\\x21\\x30\\x32\\x92\\xb1\\xbc\\x95\\xcd\\xb2\\x91\\x18\\x59\\x42\\xc2\\xc6\\xe7\\x5a\\xc9\\x2c\\xcb\\xce\\x98\\x5c\\x96\\x98\\xd1\\xe5\\x42\\x76\\xb5\\x5b\\x79\\xe3\\xfb\\x15\\x59\\x22\\x11\\xb1\\xb2\\xc4\\xae\\x65\\x52\\x72\\x75\\x44\\xaa\\x2c\\x3b\\xcf\\x9a\\x57\\xbe\\xbc\\xb9\\x25\\xb9\\x61\\x17\\xb4\\xae\\x8c\\x3e\\x45\\x6b\\x25\\x27\\x74\\x70\\x65\\x4b\\x5f\\xda\\x6b\\x7a\\xe9\\x2c\\xce\\xd5\\xcc\\xc9\\x5d\\xa9\\xb2\\xac\\xbc\\xb9\\x45\\xa3\\xc6\\x94\\x79\\x4b\\xd2\\x46\\x31\\xef\\xc6\\xf8\\x8a\\xd2\\xd2\\xcb\\x02\\xc5\\x64\\xb8\\x38\\xa3\\x68\\x74\\xb1\\x2e\\x3b\\x10\\x6a\\x78\\x30\\xcd\\x2a\\x8e\\x62\\xab\\x56\\xfa\\x17\\xf5\\xec\\x97\\xd1\\xb3\\xcf\\xe0\\xa2\\x36\\x11\\x47\\xc2\\x03\\x5a\\x9d\\x2d\\x33\\xef\\x12\\x35\\x19\\x45\\x69\\x61\\x35\\x14\\x60\\x99\\x2b\\xd3\\xe5\\x2b\\x32\\xd2\\xcc\\x62\\x18\\x3d\\x74\\xf8\\xf2\\x79\\xc8\\xe8\\xd2\\x9e\\x9f\\x65\\xce\\x4c\\x17\\xe4\\x01\\x70\\xab\\x57\\x17\\x6e\\x97\\xf6\\xbe\\x22\\x95\\x26\\x95\\xdc\\xb8\\x51\\xd6\\xd0\\x97\\x37\\x3a\\x37\\xc2\\xa7\\xdf\\x2f\\x52\\x6a\\xd7\\xe5\\xd4\\xb5\\xa0\\x52\\x9b\\x43\\xbf\\xa2\\xa7\\x6b\\x41\\x5a\\x7a\\x71\\x7a\\xf8\\x4f\\x93\\xc6\\x06\\xc3\\xbe\\x88\\x61\\x24\\x5c\\x1a\\xd4\\x82\\xca\\x21\\x96\\x29\\x06\\x5c\\xd4\\x67\\xd7\\x02\\xab\\x4b\\x63\\x99\\xaa\\x8b\\xde\\x57\\x94\\x31\\x3a\\xa3\\x38\\x63\\x9c\\xaf\\x2c\\x50\\x58\\xa4\\x63\\xd3\\xf0\\x58\\x28\\x47\\xc0\\xb0\\x30\\x8f\\xe4\\xaa\\xff\\x45\\x6f\\x55\\xc0\\x02\\x26\\x49\\x67\\xb8\\xf2\\x45\\x83\\x59\\x96\\xdf\\x28\\xad\\x2a\\xb8\\x65\\xdd\\xac\\xf7\\x0b\\xaf\\x05\\x97\\x0c\\x77\\xaf\\x1c\\xf6\\xcd\\x75\\x65\\xf4\\xec\\x37\\x57\\x2b\\xcf\\x88\\x28\\x14\\x3c\\xef\\x5e\\x26\\xba\\x84\\x03\\x6d\\xe2\\xd2\\xac\\xb5\\x40\\x4f\\xe8\\x0c\\xd6\\x5e\\x9f\\x87\\x29\\x6d\\x4d\\xe8\\xb9\\x2b\\x03\\x01\\x3d\\x99\\xc7\\xb5\\xd3\\x4a\\x32\\xba\\x8f\\x9a\\x9b\\xd1\\xaf\\xa8\\xbd\\xc5\\xcd\\x7a\\x72\\x47\\xda\\xad\\xda\\x56\\xbc\\xf4\\x54\\x3d\\xfb\\x77\\x69\\xd2\\x98\\xa5\\xad\\xcb\\xca\\x0c\\x35\\xbb\\xcf\\xca\\x80\\x9a\\xdd\\x6f\\x70\\xd1\\x5a\\x0f\\x67\\xe4\\xd9\\xfd\\x8b\\x5e\\x35\\x94\\xd1\\xb5\\xa4\\x4b\\xf1\\xca\\x7a\\x8c\\x15\\xad\\xf5\\xb1\\x69\\x58\\xbd\\x86\\xee\\xd5\\x9d\\xfa\\xc5\\xa7\\x5f\\xb4\\xa6\\xbe\\xbc\\xb8\\x2c\\xfe\\xb4\\xb5\\x01\\x91\\xe9\\xd6\\xa8\\xcd\\xea\\xb0\\xde\\xaf\\x5e\\xa3\\xc4\\xea\\x73\\x55\\xf6\\x29\\xb9\\x7a\\x8d\\x11\\xee\\xf3\\x84\\x0d\\x65\\x59\\x86\\x02\\x9c\\x41\\xae\\x5e\\x63\\x0b\\x8f\\x04\\x2a\\xb9\\x6d\\xf4\\xb9\\xc2\\x7d\\xd3\\xad\\x3e\\xeb\\xcf\\x4a\\xd1\\x90\\x05\\xa2\\xec\\x01\\x57\\xc0\\x1d\\x88\\x36\\x62\\x8c\\xb4\\x95\\x4a\\x77\\xbd\\x4a\\xcf\\x3a\\xce\\x2a\\x6e\\x25\\xaf\\x45\\xab\\x18\\x95\\xb6\\x12\\xa9\\xbe\\x56\\xf7\\x1a\\x35\\x7d\\xa5\\x3b\\x90\\x16\\xe6\\x98\\x0e\\x47\\x20\\xec\\xe1\\xec\\x01\\x7f\\x98\\x1e\\x30\\xb8\\xe8\\x35\\x4e\\x34\\x2a\\xcd\\xfa\\x89\\xa1\\x2e\\xfa\\x0f\\xe5\\x92\\x3a\\x8e\\x64\\xb3\\xad\\xe4\\xf9\\x46\\xe9\\x42\\xb9\\xbd\\x78\\xdc\\xdc\\x92\\x62\\x3d\\xd9\\x24\\x99\\xd4\\xf0\\x7f\\x55\\xa6\\x32\\x3a\\x92\\xa6\\x8c\\x8e\\x38\\xe2\\x88\\x2e\\x8b\\xca\\x18\\xdd\\xa5\\xac\\x5a\\x46\\x17\\xdd\\xdf\\x49\\xf7\\x77\\x0a\\xf7\\x3b\\x74\\xbf\\x93\\x12\\x55\\xc9\\x0a\\xf1\\xe9\\xe4\\xbe\\xb0\\x4c\\xe9\\x0a\\x18\\x52\\x94\\xce\\x94\\xf4\\xd5\\xfc\\x20\\x6d\\xae\\xe7\\x7b\\x9d\\xa9\\x62\\x16\\x95\\xb9\\x9e\\x23\\x4d\\x3a\\x0f\\x50\\x9d\\x44\\xa9\\xb6\\x32\\x40\\x75\\x8c\\xb4\\x5d\\x54\\x80\\x93\\x96\\x57\\x75\\xa6\\xe5\\xda\\xa2\\x2e\\x97\\x1c\\xd5\\x8e\\xfe\\x36\\xb4\\x8c\\xcb\\xb3\\xfc\\x3c\\x05\\x19\\xaa\\x85\\x74\\x50\\xcd\\x19\\x69\\x8e\\x64\\x36\\x6d\\x33\\xde\\x75\\xdb\\x58\\x35\\x94\\x10\\x92\\x0d\\xe9\\xbf\\x8c\\xf7\\x06\\xf4\\xd7\\xa7\\xad\\x1f\\x79\\xcf\\xe2\\x3d\\x93\\x36\\x33\\xf2\\x9e\\xa1\\xea\\x5a\\xfc\\x75\\x23\\xef\\x8d\\x18\\xa7\\x95\\x42\\xe5\\x24\\xa3\\xd9\\xd6\\xcf\\x15\\xca\\x16\\x28\\x54\\xdb\\xce\\xab\\xb7\\xcf\\x2b\\xcf\\x79\\x35\\xe9\\xac\\x0a\\x9c\\x55\\xd3\\x4f\\x2f\\x3a\\xbd\\xf4\\xb4\\xf9\\xe3\\x49\\xbf\\x37\\xfb\\xe4\\x92\\x93\\xc6\\x88\\x13\\x2a\\xfb\\xc4\\x88\\x13\\x93\\x4e\\x2c\\x39\\x71\\xe0\\x84\\xfd\\xe8\\x61\\x9f\\xf7\\xc8\\xe1\\x0e\\xde\\xf2\\x83\\xf5\\xbd\\x5f\\x1f\\xec\\xe0\\x3d\\xd0\\xe1\\xcb\\x01\\x5f\\x75\\x30\\x07\\xc8\\x97\\xcd\\xbe\\x34\\xbe\\x54\\xe6\\x80\\xec\\xce\\xd5\\x54\\x1d\\x74\\x7b\\xf8\\xe9\\x83\\x02\\x90\\x19\\xda\\xa0\\xea\\x04\\x1a\\xd4\\xa8\\x95\\xbf\\xdf\\x0c\\x79\\xe5\\x0b\\xb5\\xcf\\xd6\\xde\\xbb\\x6b\\x47\\x2d\\xef\\xce\\x1d\\x59\\xde\\x92\\xed\\x8b\\xb6\\x6f\\xd8\\x6e\\xea\\xa6\\x8c\\x87\\x83\\xdb\\xed\\x6b\\x42\\x1b\\x5e\\xdb\\x5e\\xa3\\x76\\x3e\\xed\\xaa\\xed\\x51\\x31\\xf9\\xb1\\x6b\\x54\\x72\\x20\\x56\\xbd\\xfd\\x56\\x96\\x37\\xf0\\x66\\xc3\\xce\\xf9\\x81\\x37\\xeb\\xd6\\xcf\\x5f\\xa3\\xd2\\x03\\x59\\x6f\\x74\\xf0\\xca\\x1a\\x35\\x69\\x8d\\x5a\\xb3\\x3a\\xca\\x2b\\xab\\x95\\xac\\xf6\\xad\\x0e\\xac\\x2e\\x59\\x3d\\x79\\xb5\\x5d\\x37\\x8b\\x56\\x6f\\x5b\\x7d\\x72\\xb5\\x7d\\x8d\\xf2\\x05\\x62\\x0a\\x60\\x7d\\xbd\\xe4\\x75\\x63\\xe9\\xeb\\xdb\\x5e\\x37\\xd0\\x1c\\xa8\\xfe\\x7a\\xb5\\xea\\xf9\\xb1\\xaf\\x8e\\x78\\xd5\\x58\\x69\\xb6\\xf7\\x6a\\xb7\\x6b\\x48\\x27\\xa8\\x37\\x64\\xca\\x42\\x7e\\x2a\\x9c\\xaf\\x11\\x68\\x90\\xd5\\x30\\xdf\\xbb\\x22\\x7b\\x45\\xa7\\x15\\x4b\\x56\\xd8\\x62\\x57\\xa8\\xc0\\x8a\\xea\\xc9\\xf9\\xf2\\xf2\\xe4\\x97\\xa7\\xbf\\x6c\\x1e\\x7c\\xf9\\xe4\\xcb\\xc6\\x4b\\xcb\\xfc\\xde\\x65\\x85\\x59\\xde\\xb5\\x2a\\x4d\\xd5\\x7c\\xb5\\xbd\\xf6\\xa8\\xe6\\x1b\\x2a\\xf6\\x45\\x15\\xfb\\x82\\x5a\\xaf\\x52\\x54\\x02\\x67\\x62\\xaf\\x4a\\x0a\\xdc\\x59\\xd8\\xde\\xfb\\xd4\\x13\\xf5\\xbd\\x4f\\x42\\x8b\\xa1\\xe9\\x4f\\xa8\\xc7\\xf2\\x1b\\x78\\x97\\x3c\\xba\\xe2\\x51\\xe3\\x91\\x7c\\xbf\\x37\\xf6\\x21\\xef\\x43\\xc6\\x83\\x8b\\xb2\\xbc\\x0f\\xdc\\x9f\\xe5\\x8d\\x5d\\xe8\\x5d\\x38\\x69\\xe1\\xb4\\x85\\x0b\\x17\\xda\\xef\\x9b\\x9f\\xe5\\xed\\xbd\\x40\\xc5\\xce\\x57\\x81\\xf9\\xd5\\x62\\xf3\\x63\\xe7\\x78\\xe7\\x18\\xf7\\xde\\x13\\xeb\\x1d\\x71\\x8f\\x6a\\x75\\x57\\xfe\\x5d\\xc6\\x8d\\xd8\\xbe\\x01\\x9a\\x0a\\x95\\x42\\x0d\\x27\\xab\\xb4\\xc9\\xca\\x9c\\xac\\x4e\\x4d\\x56\\x9f\\x4d\\x3e\\x3a\\xd9\\x18\\x37\\x59\\x15\\x4f\\x56\\x6b\\x42\\x27\\x03\\x77\\x4c\\x06\\xce\\x49\\xd7\\x15\\x78\\xaf\\xcb\\x6f\\xe1\\xad\\xa9\\x52\\x07\\xd4\\xc8\\x49\\x1d\\xe0\\xcc\\x31\\x07\\x38\\xc8\\xcb\\x48\\x64\\x4b\\x46\\xb4\\xf0\\x8e\\xa0\\x1d\\x3e\\xb8\\xc0\\x3b\\x34\\xbf\\xbe\\x77\\xc8\\xe0\\x9b\\xbd\\x83\\xf3\\x9b\\x7b\\x13\\x5a\\xc4\\x0f\\xb0\\x93\\x5d\\x5b\\x0b\\x73\\xc0\\x24\\x53\\xc5\\x9a\\x9d\\xcc\\xde\\xe6\\x24\\x73\\x9a\\x69\\x1f\\xd1\\x4f\\x05\\xfa\\x35\\x68\\x9c\\x1f\\xe8\\x57\\xa7\\x2e\\x3f\\x12\\x52\\xf3\\xaf\\xe9\\x7b\\x5b\\xdf\\x79\\x7d\\xcd\\x3e\\xbd\\x6b\\x79\\x0b\\xa1\\x1a\\xbd\\x1b\\xf6\\x36\\x8a\\x7b\\x8f\\xef\\x6d\\xac\\x51\\xf1\\x81\\x26\\xf9\\x99\\xde\\xee\\xf9\\x35\\xbc\\x05\\xf9\\xe9\\xde\\x6e\\x04\\xfd\\x5b\\x3e\\x20\\xa8\\x5a\\x05\\x69\\x03\\x92\\x5b\\x24\\x0d\\x88\\x53\\xb1\\x03\\x3c\\x2d\\x62\\x07\\x70\\x5e\\x1d\\xa0\\x24\\xe4\\x5d\\xa3\\xe2\\x5e\\x4d\\x73\\xd3\\x78\\x02\\x4d\\x68\\xbd\\xb1\\x9d\\x62\\x47\\xc4\\x4e\\x8b\\xb5\\xc5\\xc6\\x66\\xc7\\xf6\\x8e\\x9d\\x14\\xbb\\x30\\xf6\\x40\\x6c\\x28\\xd6\\xd9\\x89\\xbe\\x13\\xb1\\xe6\\x24\\x51\\xbd\\x45\\x4d\\x4f\\x56\\x76\\xb5\\x46\\x2d\\x5a\\xd9\\xbf\\x5f\\xa3\\x46\\x3d\\xd7\\x38\\x43\\x1c\\x85\\x9c\\x85\\x43\\xca\\xd4\\xec\\xb2\\xcc\\x7e\\xfa\\x67\\xa0\\xcf\\xe0\\x32\\xc7\\xec\\x32\\x19\\x30\\x78\\x48\\xd1\\x4a\\xa5\\xee\\x2b\\xbe\\x67\\xc1\\x02\\xe9\\x52\\xbb\\x67\\x59\\x8b\\x7e\\x45\\x65\\x25\\xb5\\x8b\\x7b\\x96\\x8d\\xe2\\x21\\xa0\\x1f\\xa6\\xf3\\xe0\\xa9\\xbd\\x32\\x59\\xba\\x14\\x97\\x4e\\x2d\\x9d\\x7a\\x43\\xa3\\xc8\\x1f\\x55\\x3a\\x55\\x37\\xa2\\x9b\\x52\\x1e\\x4a\\x4b\\xf5\\x90\\xd2\\x5d\\x17\\x58\\xac\\xee\\xd2\\xd2\\xa9\\x53\\xa7\\x4a\\x58\\xa4\\xb4\\x51\\xa9\\x34\\xd2\\x3f\\x19\\x50\\xfc\\x94\\x52\\x8b\\x11\\x1e\\xcd\\xac\\x75\\x45\\xfe\\xaf\\xf4\\x4f\\xd1\\xe6\\x2c\\x33\\xca\\xe2\\x2c\\x9d\\xaa\\x99\\x2c\\xe1\\x1b\\xf4\\x4f\\xeb\\x4d\\xf7\\x6a\\x45\\xd6\\x1f\\x2c\\x94\\x5e\\x30\\x6f\\x69\\x0e\\x37\\xa9\\xf6\\x8f\\xed\\x1f\\xcb\\x1d\\xf6\\x19\\xdc\\xf4\\x6e\\xb1\\x7e\\x5e\\xf4\\xc7\\xd6\\x8e\\x95\\xe9\\xa6\\xf0\\xdf\\xc7\\xaf\\xfa\\x33\\x38\\x28\\xf4\\xeb\\xff\\xf5\\x02\\xfb\\x57\\x7f\\xc2\\xff\\xbc\\xb0\\xaa\\xc1\\x0a\\x75\\x5a\\x8e\\x55\\x19\\x78\\x47\\x76\\x72\\xd3\\x2a\\x93\\x4f\\x2f\\xba\\xbe\\xd6\\x57\\x0d\\x95\\x83\\x36\\x5e\\x0e\\xcb\\x29\\x79\\xef\\xef\\xb4\\xa2\\xcf\\xab\\x7a\\x59\\x8f\\x07\\x64\\xbb\\x6c\\xe6\\x0e\\xf8\\xd7\\x7c\\x86\\xbc\\xa8\\xce\\xcb\\x5e\\xa6\\xf5\\x74\\x16\\x8a\\xf3\\x56\\x5f\\x27\\x96\\xa2\\x61\\xf8\\xb3\\x8c\\xbe\\x1b\\x64\\x81\\x3a\\xa7\\x6e\\x51\\xe9\\xb2\\x54\\x79\\xac\\xd1\\xe6\\xe8\\xae\\xae\\x6c\\x7f\\xa1\\xab\\x83\\x0a\\xc9\\x41\\xbc\\x7b\\x48\\x0e\\xca\\x43\\x2a\\x57\\x0e\\xda\\x4b\\xcd\\x1a\\x0c\\xec\\x35\\x36\\xcb\\x62\\x73\\x86\\xb1\\x55\\x3e\\xc2\\xe7\\x2b\\x8d\\x05\\xf4\\x85\\x64\\x8f\\x7c\\xac\\x9a\\x29\\x6e\\x9a\\xdc\\x4e\\x9f\\xb7\\x14\\x94\\x62\\x6f\\x41\\x55\\x8d\\xa6\\x70\\xb3\\x7d\\xcc\\xba\\x1f\\x46\\xfe\\xd8\\x5f\\x09\\xae\\xb7\\xcf\\x38\\xdf\\x4c\\xe2\\x42\\xbf\\x70\\xa7\\x5d\\x6f\\x21\\x30\\x8d\\xdb\\x63\\xc9\\x05\\xa1\\x93\\xea\\x07\\xb5\\x48\\xc4\\xa8\\xa1\\x5c\\xaa\\x32\\xa7\\x6f\\x55\\x0e\\x3a\\x0b\\xcc\\x09\\xc6\\x1b\\x86\\x71\\xfe\\x41\\x5e\\xee\\xe7\\x7e\\x7b\\xbf\\x8c\\x54\\x9f\\xc3\\xbd\\xc0\\xec\\x7c\\x49\\x38\\xcb\\x82\\x93\\x82\\xe3\\x94\\xdd\\xba\\x63\\x97\\xab\\x3e\\xdc\\x4f\\xdf\\x92\\x57\\x82\\x6b\\x83\\xcf\\x72\\x0f\\x5f\\x61\\xec\\x66\\xcf\\xf8\\x49\\x9e\\xb7\\x25\\x39\\xd8\\xa5\\xcd\\xaf\\xc5\\x63\\x9c\\x91\\xd8\\xe0\\x2e\\xf5\\x5d\\xe8\\x67\\xb1\\xfe\\xc6\\xa7\\x79\\xb5\\x54\\x3b\\x1f\\x1b\\x3a\\x1d\\x56\\xe6\\x98\\x61\\xbb\\x49\\x92\\x6c\\x9f\\xeb\\x1a\\x0a\\x6d\\x0e\\x4e\\x03\\xd7\\xad\\xf2\\x13\\xe8\\xef\\x56\\x35\\x22\\xf6\\x7a\\x5d\\x4c\\x46\\x11\\xb4\\x0a\\x3d\\x07\\x89\\xda\\x87\\xe7\\xef\\x53\\x2b\\xfb\\x39\\x11\\x90\\x05\\xf7\\x64\\x68\\x9b\\x48\\xd4\\x28\\x68\\xbd\\x48\\xb5\\x68\\xa8\\x3d\\x74\\x2d\\xb4\\x58\\x24\\xba\\x1e\\x74\\xbb\\x48\\x4c\\xa2\\x48\\x75\\x9e\\xab\\x2f\\x17\\x89\\x9d\\x2e\\xe2\\xc9\\x85\\x78\\x8e\\x9b\\x29\\x12\\x8f\\x8d\\x04\\x64\\x93\\x02\\x10\\x32\\xc9\\xd8\\x48\\x46\\x26\\xa5\\xa5\\x48\\x2a\\x3c\\x69\\xb8\\x91\\xf6\\x9b\\x48\\xad\\x17\\x44\\x6a\\x37\\x80\\x3e\\x16\\xa9\\x03\\x6f\\x9d\\x93\\x22\\x5e\\xf0\\xf5\\x59\\xc7\\x2c\\x08\\x9e\\x74\\x6c\\xeb\\x7f\\xdc\\x26\\x83\\xfe\\x7a\\x3c\\xd7\\xc3\\xb7\\x4c\\xe4\\xb2\\x86\\x8a\\xd4\\x6f\\x23\\xd2\\xe0\\x59\\x91\\x86\\xe8\\x6d\\x48\\xdb\\x08\\x1f\\x1a\\x95\\x89\\x34\\xa9\\x05\\x81\\x54\\x53\\xe4\\x9a\\x32\\xd6\\x14\\xff\\x9a\\x22\\x97\\xcd\\x7b\\x36\\xb1\\x37\\x43\\xb6\\x39\\x93\\xa3\\x39\\x32\\x2d\\x0a\\x45\\x72\\xf0\\x2f\\x07\\x9d\\x2d\\x1f\\x12\\xf1\\x37\\x83\\xd0\\xd1\\x0a\\xf9\\xd6\\x8d\\xa1\\xf9\\x22\\x6d\\xe8\\x6f\\x8b\\x9e\\xb6\\x1b\\x44\\xda\\x81\\xc3\\xe5\\xf8\\x77\\xf9\\x63\\x22\\xed\\x89\\x55\\xff\\x8a\\xb0\\xc3\\x52\\x91\\x4e\\xc4\\xd1\\x19\\x7f\\x3a\\x23\\xd7\\x15\\x3c\\x73\\x79\\xce\\x3d\\x2c\\x92\\x87\\x5c\\x1e\\x38\\xe7\\x63\\x27\\x9f\\x4a\\xea\\xb6\\x57\\xa4\\x00\\xfe\\xee\\xc8\\xf6\\xe8\\x2f\\xd2\\x13\\x0c\\x7b\\x82\\x51\\x2f\\x78\\xae\\xc0\\xcf\\x2b\\xc1\\xa7\\x37\\xb1\\x16\\xe2\\x47\\x21\\x36\\x0a\\xf1\\xab\\x0f\\x63\\x7d\\xc1\\xbb\\x2f\\xfd\\xfd\\xb0\\xdd\\x0f\\xff\\xfa\\x33\\xd6\\x1f\\xfd\\x03\\x6e\\x86\\x4e\\x89\\x0c\\xc4\\xd7\\x41\\xe4\\x6e\\x10\\x7d\\x45\\xc4\\x57\\x04\\x76\\xc5\\xe8\\x28\\xe6\\xb9\\x18\\xff\\x07\\x63\\x7f\\x30\\x36\\x07\\x93\\xf7\\xc1\\xf0\\x0c\\x41\\xdf\\x90\\x02\\x08\\xdb\\x43\\xe9\\x1f\\x8a\\xdd\\xa1\\xd8\\x19\\x86\\xfe\\x61\\xe4\\x62\\xd8\\x54\\x08\\x7c\\x86\\x6d\\x0b\\xff\\xd5\\xe3\\xe1\\xc4\\x31\\x1c\\x3b\\x23\\xf0\\x77\\x04\\x7e\\x8f\\x40\\x66\\x04\\xb1\\x8e\\x60\\xdd\\x2a\\xa1\\xaf\\x04\\x9f\\x46\\x62\\x67\\x24\\xb1\\x8f\\xc4\\xf6\\x55\\xf8\\x73\\x15\\xf1\\x5e\\x85\\xcf\\x57\\x33\\x4e\\x39\\xc9\\x28\\x74\\x8c\\xe2\\x61\\x14\\xbe\\x8f\\x22\\xe7\\xa3\\xc1\\x6e\\x34\\x39\\x1d\\x83\\xdc\\x18\\xea\\x65\\x0c\\xf9\\x1f\\x4b\\x2e\\xc6\\xe2\\xeb\\x58\\xf4\\x8f\\x45\\xff\\x58\\x7c\\x1d\\x87\\xaf\\xe3\\xf0\\x75\\x3c\\x3a\\xc7\\x13\\xcf\\x78\\x74\\x8e\\x27\\x17\\xe3\\xf1\\x67\\x02\\xb8\\x4f\\xa0\\x6f\\x02\\xf5\\x7b\\x0d\\x58\\x5d\\x43\\x7b\\x2d\\x35\\x7b\\x2d\\x31\\x5c\\x4b\\x0c\\xd7\\x12\\xc3\\x44\\xea\\x71\\x22\\xd8\\x4e\\xc4\\xc7\\x89\\xe8\\xbb\\x0e\\x7d\\xd7\\xa1\\xef\\x3a\\xc6\\xaf\\x63\\xfc\\xba\\x5d\\x22\\x93\\xf0\\x65\\x12\\xfe\\x4d\\xc2\\xbf\\x49\\xf8\\x33\\x09\\x7f\\x26\\x11\\xdb\\x64\\x6a\\x69\\x32\\xfe\\x4c\\x46\\x7e\\x32\\x76\\xaf\\xc7\\xaf\\xeb\\xf1\\xeb\\xfa\\x6f\\x44\\xa6\\x30\\x36\\x85\\xb1\\x29\\x8c\\x4d\\x41\\xf7\\x14\\xf0\\x2b\\xc5\\x76\\x29\\xb6\\x4b\\xc9\\x45\\x29\\x79\\x2e\\x05\\x3f\\xfd\\xaf\\x8f\\x98\\x4a\\x2e\\xa6\\x82\\xc7\\x54\\x74\\x4c\\x45\\x7e\\x2a\\xba\\x6f\\x40\\xfe\\x06\\x7c\\xbb\\x11\\x7c\\x6e\\x44\\xf6\\x26\\xb0\\xbf\\x09\\xd9\\x9b\\x90\\xbd\\x09\\xd9\\x9b\\x90\\x25\\xbd\\x72\\x33\\x31\\xde\\x8c\\x9d\\x9b\\xb1\\x73\\x33\\xf5\\x73\\x0b\\xb5\\x7b\\x0b\\x7c\\xb7\\xc0\\x77\\x2b\\x76\\x6f\\x25\\xe6\\xdb\\xe8\\xbb\\x8d\\x39\\x76\\x1b\\x79\\xbc\\x0d\\x9e\\xdb\\x89\\xe7\\x76\\xe4\\x6e\\xa7\\xde\\x6f\\x67\\x2e\\xdd\\x0e\\xdf\\xed\\xc4\\x79\\x07\\xef\\x77\\x80\\xf3\\x9d\\xe0\\x7c\\x27\\x3a\\xef\\x44\\xe6\\x4e\\x30\\xb8\\x13\\x99\\x69\\xf8\\x3e\\x0d\\x2c\\xa7\\xa7\\x42\\xe8\\x9c\\xc1\\xfb\\x0c\\xf2\\x33\\x03\\x3b\\x33\\xf0\\x67\\x06\\xf2\\x77\\x61\\xe7\\x6e\\x74\\xcf\\x64\\x6c\\x26\\x63\\x33\\x99\\x0f\\x33\\xc9\\xe7\\x4c\\xf2\\x31\\x93\\x7c\\xdc\\x43\\x2c\\xf7\\x50\\x1f\\xf7\\x80\\xd3\\x3d\\xd4\\xda\\x3d\\xe0\\x7d\\x2f\\xbc\\xf7\\x82\\xed\\xbd\\x60\\x7b\\x2f\\xd8\\xde\\x0b\\xb6\\xf7\\xd2\\x3f\\x8b\\x3c\\xcc\\x62\\xce\\xce\\xc6\\xd6\\x1c\\x74\\xcc\\xa1\\x76\\xe6\\x9c\\x13\\x99\\x4b\\x9e\\xe7\\x82\\xd5\\x5c\\xb0\\x9a\\x8b\\xde\\xb9\\xe8\\x9d\\x47\\x2c\\xf3\\xf0\\x6d\\x1e\\x7d\\xf3\\xf0\\x63\\x1e\\x7c\\xf3\\xe1\\x9b\\x4f\\xdf\\x7c\\xe6\\xe8\\x7c\\x74\\xce\\x87\\x6f\\x01\\xf6\\x17\\x60\\x7f\\x01\\xf6\\x17\\x80\\xc5\\x02\\x74\\xdf\\x07\\xae\\xf7\\x61\\x77\\x21\\x7d\\x8b\\xc6\\x41\\xc8\\xde\\x8f\\xde\\x07\\xa8\\x81\\x07\\x89\\xe7\\x41\\xea\\xe6\\x21\\x70\\x78\\x18\\x4c\\x1f\\x06\\x93\\x87\\xd1\\xf3\\x08\\x58\\x3f\\xca\\xfb\\xa3\\xe4\\xf9\\x31\\xfa\\x1e\\x87\\xef\\x71\\x30\\xfa\\x07\\xf8\\x3d\\x41\\xfc\\x4f\\x90\\xbf\\xc5\\xe8\\x7c\\x12\\xff\\x9f\\xc4\\xde\\x93\\xc4\\xfa\\x14\\xed\\x53\\xd4\\xfe\\x12\\x78\\x96\\xc2\\xbf\\x14\\x1b\\x4f\\xe3\\xdf\\xd3\\xe4\\xf6\\x69\\x30\\x7f\\x86\\xf7\\x7f\\x92\\xd0\\x67\\xc1\\xe2\\x59\\xe2\\x7f\\x0e\\xf9\\xe7\\xf1\\xe7\\x5f\\xe0\\xfd\\x2f\\xec\\xbc\\x40\\x1e\\x5e\\x40\\xcf\\x8b\\xf4\\xe9\\x7f\\x27\\xc8\\x32\\xf2\\xf6\\x12\\xbc\\x2f\\xd1\\xbf\\x1c\\x1f\\x5e\\xa6\\xef\\x65\\x7c\\x78\\x05\\xcc\\x5f\\x81\\x7f\\x05\\xf2\\x65\\xc4\\x5b\\x46\\x9c\\x2b\\xb1\\xbd\\x92\\xb8\\x5e\\x85\\xf7\\x35\\x6c\\xac\\xa2\\xde\\x56\\xc1\\xfb\\x3a\\x71\\xbc\\x81\\x8f\\x6f\\x80\\xc3\\x6a\\x7c\\x5a\\x4d\\xbd\\xad\\xc6\\xf6\\x6a\\x62\\x5c\\x03\\xfe\\x6b\\xd0\\xbf\\x06\\xd9\\x35\\xe8\\x5c\\x03\\x3e\\x6b\\x58\\x0f\\xd6\\xe0\\xc3\\x1a\\xe6\\xe7\\x1a\\xf8\\xd6\\xc2\\xb3\\x16\\x9c\\xd6\\xa2\\x73\\x2d\\x38\\xad\\x45\\xe7\\x3a\\xf4\\xac\\x23\\xf7\\xeb\\xa8\\x8b\\x75\\xd8\\x5e\\x07\\x16\\x6f\\xe2\\xc7\\x9b\\xe4\\xf7\\x4d\\xe4\\xdf\\xc4\\xd6\\x7a\\x7c\\x5d\\x0f\\x0e\\xff\\x26\\xf7\\xff\\x46\\xfe\\xdf\\xe4\\xed\\xdf\\x9b\\xd8\\x2e\\x91\\x7d\\x8b\\xb5\\xf1\\x2d\\x62\\x7c\\x1b\\xbb\\x1b\\x90\\xd9\\x40\\x1c\\x1b\\x18\\xdb\\x00\\x76\\xef\\x90\\xd3\\x77\\xf0\\xf7\\x1d\\x70\\x7b\\x87\\x9a\\x78\\x87\\x5c\\x6f\\x04\\xef\\x8d\\xf8\\xb9\\x11\\xde\\x8d\\xe4\\x69\\x23\\xfc\\x1b\\xb1\\xbb\\x11\\x3b\\xef\\xa2\\xff\\x5d\\xfc\\xda\\xc4\\xf8\\x26\\x74\\x6e\\xc2\\xfe\\x26\\xb0\\xde\\x8c\\xcd\\xcd\\xf8\\xbc\\x99\\xb1\\xcd\\xf8\\xfc\\x1e\\x76\\xdf\\x23\\x9f\\xef\\xd1\\xf7\\x1e\\xb2\\xef\\x91\\x93\\x2d\\xf8\\xb8\\x05\\x5c\\xb7\\x10\\xf7\\x16\\xe6\\xe4\\x16\\xe4\\xde\\xa7\\xce\\xde\\xc7\\xef\\xf7\\xc1\\xfe\\x7d\\xf2\\xf5\\x3e\\x3e\\x7d\\x80\\x4f\\x1f\\xe0\\xcf\\x07\\xd8\\xfd\\x00\\x5c\\x3e\\x64\\x4e\\x7e\\x88\\xbd\\x0f\\xc1\\xec\\x43\\xf0\\xfe\\x10\\x1f\\x3f\\x42\\xff\\x47\\x60\\xfe\\x11\\xb2\\x1f\\xa1\\xef\\x23\\x6c\\x7c\\x8c\\xad\\xad\\xd8\\xdc\\x0a\\x4e\\x5b\\x99\\x3f\\x9f\\x60\\xef\\x53\\x62\\xdb\\x06\\xdf\\x76\\x9e\\xb7\\xa3\\x6f\\x07\\xfe\\xef\\x80\\x67\\x07\\x8b\\xc4\\x0e\\xea\\x78\\x07\\xfa\\x76\\x80\\xe7\\x4e\\xf2\\xb4\\x93\\xdc\\xed\\x24\\xc6\\x5d\\xf0\\xec\\x82\\x67\\x17\\x3c\\xbb\\xa8\\xf3\\x5d\\x8c\\xef\\x66\\xed\\xd8\\x8d\\xdd\\xcf\\x18\\xdf\\x03\\x76\\x7b\\xc9\\xd3\\xe7\\xf8\\xb9\\x8f\\xbc\\x7c\\x41\\x0c\\xfb\\xf1\\x67\\x3f\\xf9\\xfb\\x12\\x8c\\xbf\\x24\\xae\\xaf\\x88\\xf7\\x00\\xfa\\x0e\\x22\\x77\\x10\\x5c\\xbf\\x26\\xbe\\x72\\x78\\xcb\\xb1\\x73\\x88\\xbe\\xc3\\xc4\\x77\\x04\\x9c\\x8f\\x60\\xff\\x28\\x18\\x57\\x10\\xc7\\x37\\xbc\\x7f\\x43\\x2d\\x7c\\x8b\\x8e\\xef\\xf0\\xf7\\x18\\xfa\\x8f\\x51\\x77\\xc7\\xe1\\xf9\\x1e\\x5d\\x3f\\xd0\\x77\\x02\\x2c\\x4e\\xe0\\xc7\\x49\\xd6\\x97\\x1f\\xc9\\xcf\\x4f\\xf4\\xfd\\x4c\\xdf\\xcf\\xcc\\xe5\\x53\\xe4\\xfc\\x34\\x31\\xfe\\x02\\x56\\xbf\\xe0\\xf7\\xaf\\xe8\\xfa\\x15\\x5f\\x7f\\x23\\x8e\\xdf\\xa9\\x17\\xfd\\x8f\\x3f\\x9c\\xc1\\xd6\\x59\\xf4\\x52\\xba\\x72\\x0e\\x9d\\xe7\\xc8\\xd5\\x79\\x62\\x3d\\x8f\\xbf\\x41\\xc6\\x82\\xbc\\x87\\x1e\\xe2\\x62\\x58\\xc4\\xad\\x3a\\x1a\\x3a\\xc9\\xc1\\x72\\xb1\\x28\\xb3\\x00\\x5a\\x25\\xca\\x36\\x59\\x94\\xbd\\x97\\x28\\x87\\xcb\\xfa\\x27\\xe0\\x94\\xb3\\x10\\xfa\\x58\\x94\\x6b\\x14\\x74\\x50\\x94\\x7b\\x26\\x44\\x1b\\xd5\\x06\\xda\\x26\\xaa\\xda\\x38\\x51\\xd1\\x9a\\xbe\\x11\\x15\\xf3\\x98\\xa8\\xea\\xa9\\xd0\\x29\\x51\\xb1\\x37\\x8b\\x3e\\x84\\x2a\\x0f\\x3c\\x71\\x4b\\x39\\x04\\x37\\x80\\xe6\\x8b\\x4a\\xa8\\x05\\x2d\\x17\\x95\\x88\\xfe\\x44\\xde\\x93\\xfa\\x43\\xe7\\x44\\x25\\xff\\x26\\x2a\\x65\\xba\\xa8\\x54\\xfa\\x53\\xf1\\xaf\\x46\\x4b\\x08\\xbd\\x35\\x91\\xab\\xf9\\xbe\\xa8\\xb4\\x17\\x44\\xd5\\xf2\\x40\\xeb\\x45\\xd5\\x0e\\x40\\xf0\\xd6\\xc1\\x37\\x6f\\x22\\x84\\x9f\\xbe\\x0d\\xa2\\xd2\\xd1\\x93\\x91\\x2b\\x8a\\x73\\x8d\\xca\\x44\\x3e\\xeb\\x5a\\x0e\\xe1\\x43\\x45\\x35\\x40\\x47\\x03\\x62\\x6c\\x88\\xdf\\x97\\xd1\\xd7\\x88\\xb8\\x1b\\xa1\\xb3\\xd1\\x7e\\x51\\x8d\\x6f\\x87\\x8e\\x8b\\x6a\\x82\\xaf\\x4d\\xf0\\xb9\\x29\\xf6\\x9b\\x62\\x3f\\xbb\\x19\\x04\\x1e\\xd9\\x9b\\x20\\xf4\\x37\\xf3\\x41\\xc8\\x36\\x5b\\xc3\\xb1\\x5a\\x1f\\xad\\xc1\\xab\\x39\\x3a\\x5a\\xd0\\xb6\\x00\\xcb\\x16\\xf8\\xda\\x82\\xb1\\x1c\\xe4\\x73\\xe0\\xcb\\x21\\x6e\\xfd\\xaf\\x2a\\x6a\\x89\\x8f\\x2d\\x89\\xb3\\x25\\xbc\\x2d\\x89\\xd1\\x5f\\x0f\\x2a\\x81\\xf0\\xc7\\x8f\\xdd\\x56\\xe0\\xd1\\x0a\\x6c\\x5b\\x81\\x49\\x2b\\x72\\xd1\\x1a\\xbf\\x5b\\x83\\x71\\xeb\\x32\\x51\\x6d\\xd0\\xc9\\x59\\x49\\xb5\\x45\\x67\\x5b\\x9e\\xdb\\x61\\xa7\\x1d\\x71\\x5e\\x4e\\x3c\\x97\\xa3\\xb3\\x3d\\x3e\\xb6\\x47\\xb6\\x03\\x18\\x74\\xa0\\xaf\\x03\\x39\\xe9\\x40\\xfe\\x3a\\xe0\\x47\\x47\\x6c\\x77\\xc4\\xb7\\x8e\\xe0\\xd4\\x71\\x8d\\xbe\\x28\\x40\\xf0\\x75\\x02\\x8f\\x4e\\xc4\\x13\\x00\\xcb\\x00\\x79\\x0e\\xa0\\x27\\x40\\x7e\\x39\\x6b\\xa9\\xce\\xf8\\xdd\\x19\\x7c\\xbb\\x30\\xd6\\x05\\xb9\\x2e\\xc4\\xd0\\x15\\xdb\\x5d\\xc1\\xbb\\xeb\\x54\\x08\\x1f\\xbb\\xe2\\x63\\x2e\\xb6\\x72\\x79\\xcf\\x25\\xaf\\xb9\\xc8\\xe6\\x82\\x6b\\x1e\\x71\\xe6\\xd1\\x97\\x47\\x0d\\xe4\\xed\\x85\\xc8\\x45\\x3e\\xfe\\xe5\\x83\\x6f\\x3e\\xf6\\xba\\x61\\xbb\\x1b\\x72\\xdd\\xb0\\xd9\\x0d\\xdd\\xdd\\x88\\xa3\\x80\\xbe\\x02\\xf2\\x5f\\x80\\x0f\\x05\\xe0\\x5c\\x80\\x4c\\x77\\xe2\\xef\\x0e\\x3e\\xdd\\xe9\\xeb\\x0e\\xfe\\xdd\\xc9\\x51\\x0f\\x7c\\xe8\\x81\\x0f\\x3d\\xc8\\x4f\\x0f\\xea\\xa0\\x07\\xfa\\x7b\\xd2\\xd7\\xb3\\x31\\x04\\x2e\\x3d\\x9f\\x85\\x88\\xb1\\x27\\x78\\xf6\\x22\\xff\\xbd\\xf0\\xa3\\x17\\x7e\\x5d\\x81\\xfe\\x2b\\x88\\xeb\\x0a\\x78\\xae\\xc0\\xde\\x15\\xf8\\x71\\x25\\xb1\\x5d\\x49\\x0e\\xae\\xa4\\xef\\x4a\\xf4\\x5c\\x89\\xcd\\xde\\xf4\\xf5\\x46\\xae\\x37\\xf8\\xf6\\xc6\\xdf\\xde\\xc4\\xd5\\x9b\\x7c\\xf5\\x26\\xd6\\x42\\x7c\\x2e\\xa4\\xbf\\x10\\x7f\\x0a\\xa9\\xeb\\x3e\\xc4\\xd4\\x67\\x36\\x84\\xbd\\x3e\\x87\\x45\\xf5\\x45\\xb6\\x2f\\xf6\\xfa\\x82\\x4d\\x5f\\xf2\\xdb\\x0f\\xff\\xfb\\x91\\x93\\x7e\\xe0\\xd0\\x0f\\x1f\\xfa\\x21\\xd3\\x1f\\x5c\\xfb\\xa3\\x6b\\x00\\x3e\\x0c\\xa0\\x1d\\x48\\x2d\\x15\\xe3\\x43\\x31\\xb1\\x17\\xa3\\xb7\\x18\\xfc\\x06\\x13\\xcb\\x60\\x72\\x33\\x98\\xf7\\xc1\\xbc\\x0f\\x61\\x1e\\x0d\\x01\\xd3\\x21\\x60\\x30\\x14\\xbe\\xa1\\xf4\\x0f\\xc5\\xff\\x61\\xd4\\x0b\\xe7\\x49\\x35\\x0c\\x1b\\xc3\\xd0\\x3f\\x9c\\x18\\x87\\x53\\xef\\xc3\\xe1\\x1d\\x4e\\xdf\\x70\\x7c\\x1f\\x8e\\xcc\\x70\\xfc\\x1f\\x0e\\x76\\xc3\\xb1\\x37\\x02\\xff\\x47\\xe0\\xc3\\x08\\xf8\\x47\\xa0\\x7b\\x04\\x3e\\x95\\x90\\x87\\x12\\xf2\\xc0\\x39\\x53\\x95\\x80\\x7d\\x09\\xba\\x47\\x2e\\x12\\x75\\x15\\x7a\\x38\\x67\\xaa\\xab\\xc0\\xf9\\x6a\\x62\\x19\\x0d\\xdf\\x68\\xfc\\x1a\\x8d\\xde\\xd1\\xc8\\x8e\\xc1\\xcf\\x31\\xf0\\x8d\\x21\\xf6\\xb1\\x60\\x3b\\x16\\x1c\\xc7\\x92\\x97\\xb1\\x60\\x32\\x16\\x9b\\xe3\\xf0\\x6d\\x1c\\x3a\\xc6\\xa1\\x63\\x1c\\xb5\\x38\\x1e\\xdf\\xc7\\xe3\\xd7\\x78\\x30\\x1a\\x8f\\x0c\\x67\\x4c\\x35\\xc1\\x06\\x21\\x33\\x01\\x99\\x09\\xd8\\x9d\\x40\\xff\\x35\\xf0\\x5c\\x03\\xcf\\x35\\xd4\\xfe\\x44\\x70\\xbc\\x8e\\xfc\\x4e\\x06\\x83\\xc9\\xc4\\x70\\x3d\\x18\\x5f\\x4f\\x2d\\x5f\\x8f\\x4c\\x29\\xf3\\xa1\\x14\\x7f\\x4b\\x89\\x6b\\x2a\\x18\\x4e\\x65\\xdd\\xb9\\x01\\x5c\\x39\\xef\\xa9\\x9b\\xc0\\xfc\\x66\\x74\\xdc\\x02\\x46\\xb7\\xd0\\x77\\x2b\\x3a\\x6f\\x85\\xf7\\x36\\xfc\\xbc\\x9d\\x7c\\xdd\\x01\\x06\\xd3\\xf0\\x6f\\x3a\\x72\\xd3\\x89\\x6d\\x3a\\xf9\\x9f\\x81\\xff\\x77\\xa1\\xff\\x2e\\x6a\\xe8\\x6e\\x70\\xbc\\x9b\\x9a\\xe7\\x8c\\xa5\\xee\\x25\\x9f\\xb3\\xb1\\x37\\x17\\x1d\\x73\\x99\\xab\\x73\\xf1\\x73\\x1e\\x7e\\xcf\\x43\\x6e\\x1e\\x7d\\xf3\\x89\\x6d\\x81\\x26\\xfc\\xb8\\x0f\\x3f\\xef\\x23\\xe6\\xfb\\x88\\x79\\x21\\xb6\\x16\\xa1\\x67\\x11\\x3a\\xee\\xa7\\x96\\x1e\\x20\\x3f\\x0f\\xa0\\xf3\\x41\\xea\\xeb\\x41\\xf2\\xf2\\x10\\xd8\\x3d\\x04\\x06\\x0f\\xf3\\xfc\\x08\\x32\\x8f\\x52\\x0b\\x8f\\xa2\\xe3\\x31\\xfa\\x1f\\xa7\\xd6\\x1e\\x07\\xc3\\x7f\\x80\\xfd\\x13\\xd8\\x5e\\x4c\\xad\\x2d\\x06\\x8b\\x27\\x89\\xe5\\x29\\x74\\x2d\\x61\\x7c\\x09\\x3e\\x2f\\xc5\\xce\\xd3\\xf8\\xf1\\x34\\x63\\xcf\\xe8\\xbf\\x12\\x8b\\xfd\\x67\\x18\\xe3\\x3c\\xa4\\xfe\\x49\\xae\\xff\\x49\\x4c\\x9c\\x8b\\xd4\\x3f\\xc1\\xf7\\x59\\x7c\\x7e\\x16\\xdd\\xcf\\xd1\\xff\\x1c\\xfd\\xcf\\x91\\xf3\\xe7\\xc0\\xe9\\x39\\x6a\\xe1\\x79\\xda\\x7f\\xc1\\xf7\\x22\\x35\\xb0\\x0c\\x9e\\x65\\xe4\\x78\\x19\\xcf\\x2f\\x61\\xff\\x25\\xf0\\x5a\\x0e\\xd6\\x2f\\x23\\xf7\\x32\\xb1\\xbc\\x42\\x1c\\xaf\\x90\\x83\\x57\\xf0\\x63\\x05\\x76\\xcb\\xb0\\x5b\\x06\\x6f\\x19\\x36\\x57\\xb2\\xb6\\xac\\x04\\xa3\\x95\\x60\\xb6\\x8a\\xfe\\xd7\\xb1\\xf9\\x3a\\xef\\xaf\\x63\\xe3\\x0d\\x7c\\xe5\\xac\\xa4\\xde\\x60\\x6e\\xbe\\xc1\\x5c\\x5b\\xcd\\xda\\xbb\\x1a\\x9d\\xab\\xf1\\x65\\x35\\xb6\\x57\\xe3\\xe3\\x1a\\xf0\\x5f\\x47\\xce\\xd6\\x51\\x5b\\xeb\\xf0\\xe9\\x4d\\xe4\\xd7\\x23\\xfb\\x16\\xfe\\xbc\\x4d\\xbe\\xde\\xc6\\xde\\x06\\xfa\\xdf\\xc1\\xf6\\x46\\xb0\\xdd\\x48\\xce\\x37\\xd2\\xf7\\x2e\\x18\\x6e\\x22\\xdf\\x9b\\x68\\x37\\x53\\xa7\\x9b\\xa9\\xd3\\xf7\\x90\\xdb\\xc2\\xfb\\xfb\\xe0\\xfa\\x3e\\xf8\\xbe\\x0f\\x5e\\x1f\\xd0\\x7e\\x48\\xfb\\x11\\xfe\\x73\\x9e\\x50\\x1f\\x91\\xeb\\x8f\\xe0\\xf9\\x88\\xda\\xd8\\x4a\\xbd\\x6d\\x25\\xce\\x4f\\xa9\\x9f\\x4f\\xc9\\xc3\\x36\\xc6\\xb7\\xa1\\x63\\x07\\x18\\xec\\x22\\x86\\xdd\\xd4\\xca\\x6e\\xd6\\xc4\\xcf\\xb0\\xbb\\x07\\x0c\\xf6\\x90\\xcb\\xbd\\xf8\\xbe\\x97\\xb1\\xbd\\x3c\\x7f\\x8e\\x8e\\xcf\\xc9\\xe7\\x3e\\xf2\\xb6\\x0f\\x1b\\xfb\\xf0\\x8d\\xb3\\x82\\xda\\x4f\\x4e\\xf6\\x13\\xf7\\x97\\xe8\\xff\\x0a\\xfb\\x5f\\x81\\xfb\\x57\\xd8\\xfc\\x8a\\xf1\\x83\\x60\\xf6\\x35\\x54\\x8e\\xbf\\x87\\xe0\\x3d\\x44\\xff\\x61\\xe2\\x3b\\x82\\x1f\\x47\\xb1\\x77\\x94\\xf7\\x0a\\xe2\\xfa\\x86\\xfc\\x7f\\x03\\x66\\xdf\\x62\\xff\\x3b\\xb0\\x38\\x06\\x5e\\xc7\\xc1\\xf1\\x07\\xf4\\xfd\\x80\\xcd\\x13\\xac\\x09\\x27\\xe9\\xff\\x11\\xb9\\x9f\\xc0\\xf0\\x27\\x6c\\xfd\\x04\\xef\\x4f\\x8c\\xfd\\x4c\\xce\\x4e\\xe1\\xd3\\x69\\x72\\xf4\\x0b\\xb6\\x7f\\x03\\xd3\\xdf\\x89\\xe1\\x77\\xe6\\xc0\\xef\\xc8\\x9c\\xa1\\x4e\\xcf\\x10\\xe7\\x59\\x30\\x39\\x8b\\xfc\\x59\\xfc\\x3a\\x47\\x0e\\xce\\xa1\\xfb\\x1c\\xf8\\x9c\\xe7\\x3d\\x54\\x60\\xfd\\x9b\\xec\\x0c\\xd9\\x2f\\x86\\x9a\\x2f\\x86\\xd1\\x06\\xe2\\x99\\x73\\x82\\x61\\xd3\\x7f\\x7b\\xbb\\x17\\xb4\\x41\\x0c\\x7b\\x33\\xe8\\xb0\\x18\\x8e\\xc7\\xc4\\x70\\x2e\\x15\\xc3\\x45\\xeb\\x7e\\x56\\x8c\\xa8\\x32\\x31\\xaa\\x15\\x89\\x11\\x6d\\x83\\xb6\\x89\\x11\\x33\\x5b\\x8c\\xea\\x85\\x62\\xc4\\xd6\\x82\\x36\\x89\\xe1\\xb9\\x16\\x3a\\x2e\\x46\\xdc\\x64\\x08\\xf9\\xf8\\xa1\\x62\\x24\\xf8\\x20\\xfa\\x12\\x7f\\x13\\x23\\xe9\\x94\\x18\\xc9\\xc8\\xa5\\xa0\\x8b\\x73\\x81\\x91\\x0a\\x7f\\x2a\\xf6\\x6a\\xd4\\x83\\xe8\\xab\\x89\\xdd\\x9a\\x8c\\xa7\\xdd\\x0e\\xc1\\x5f\\x6b\\xaa\\x18\\xb5\\xe1\\xab\\xfd\\x82\\x18\\x75\\xd0\\x55\\x07\\x79\\x2f\\x7d\\xde\\x99\\x62\\xf8\\xb0\\x91\\x3e\\x4a\\x8c\\xba\\x50\\x06\\xcf\\x19\\xd3\\x21\\xe2\\xc8\\xc0\\x6e\\x3d\\xda\\x4c\\x74\\x64\\x11\\x6b\\x16\\xfe\\xd7\\x0f\\x40\\x07\\xc5\\x68\\x00\\x6f\\x83\\x6f\\xc4\\x68\\x88\\xfc\\x65\\xd8\\xbc\\x0c\\xde\\x46\\x8b\\x20\\x78\\x1a\\x61\\xb7\\x31\\x71\\x35\\x6e\\x0f\\x61\\xa3\\x31\\x3c\\x8d\\x1f\\x82\\xde\\x87\\xf0\\xa5\\x09\\x7e\\x34\\x49\\x85\\xc0\\xa8\\x09\\x63\\x4d\\xd6\\x40\\xc4\\xd5\\x94\\xf8\\x9a\\xf6\\x87\\xe0\\xc9\\x86\\x27\\x1b\\x4c\\xb3\\xc7\\x41\\x8b\\x21\\x74\\x36\\xa3\\xaf\\x19\\xf6\\x9b\\x9d\\x14\\xa3\\x39\\xf8\\x35\\xc7\\x66\\x0b\\xf0\\x6a\\x81\\x4c\\x0b\\xf0\\xe3\\x8c\\x61\\xb4\\xc0\\xa7\\x1c\\xfa\\x72\\xc0\\x32\\x07\\xdd\\x39\\xf4\\xe5\\xa0\\xbb\\x25\\xba\\x5b\\x12\\x47\\xcb\\x5d\\x62\\xf8\\xa3\\xa1\\x5c\\x08\\x3b\\xad\\xc0\\xaa\\x75\\x89\\x18\\x6d\\x18\\x6f\\x03\\x7e\\x9c\\x25\\x8c\\xb6\\xe8\\x6d\\x0b\\x3e\\xed\\xd6\\x8b\\x71\\x39\\x7e\\xb7\\x67\\xbc\\x03\\xfe\\x76\\xc0\\x87\\x8e\\xc4\\xd3\\xa9\\x01\\x84\\x9e\\x00\\x58\\x75\\x46\\x57\\x67\\xec\\x75\\x6e\\x0c\\x2d\\x17\\xa3\\x0b\\x6d\\x17\\xe2\\xee\\x42\\x6c\\x5d\\xd0\\xd1\\x15\\xf9\\xae\\xd8\\xe8\\x0a\\x8e\\x5d\\xc9\\x6b\\x57\\xe4\\x72\\x89\\x8b\\xb3\\x81\\x91\\x87\\x6c\\x1e\\x3e\\x71\\x1e\\x30\\x38\\x0f\\x18\\xf9\\xd4\\x43\\x3e\\xd8\\x76\\xc3\\x56\\x37\\xe2\\xec\\x46\\xad\\x74\\x83\\xaf\\x1b\\x75\\x55\\xc0\\x78\\x01\\xfa\\xd8\\xff\\x0d\\xf6\\x7e\\xa3\\x47\\x22\\x04\\x4f\\x0f\\xfc\\xed\\x01\\x3e\\x3d\\x88\\xb1\\x27\\x31\\xf4\\x6c\\x09\\x91\\x83\\x9e\\xe0\\xd3\\x13\\xb9\\x5e\\xd8\\xe8\\x45\\x7f\\x2f\\xfa\\x7b\\x91\\x9f\\x5e\\x60\\xc7\\x7e\\x6f\\x5c\\xc9\\xfb\\x95\\xe8\\xb9\\x12\\xbc\\xd8\\xdf\\x8d\\xde\\xd8\\xe9\\x8d\\xfe\\x42\\x62\\x29\\x04\\xcf\\x42\\xf2\\x5b\\xc8\\x58\\x1f\\x62\\xed\\x43\\xad\\xf7\\x21\\xee\\x3e\\xe8\\xed\\x03\\x5f\\x1f\\xf4\\xf6\\xc1\\x5e\\x5f\\xfa\\xfb\\xe2\\x7f\\x5f\\x6c\\xf5\\xc3\\xe7\\x7e\\xbc\\xf7\\x03\\x53\\xf6\\x74\\x63\\x00\\x73\\x60\\x00\\x39\\x18\\x40\\xce\\x07\\x10\\xdf\\xc0\\x9b\\x21\\xe4\\x06\\xa1\\x67\\xd0\\xf2\\xf0\\x67\\xc1\\x22\\xfa\\x8a\\xf0\\xa7\\x98\\x98\\x06\\xe3\\xe7\\x60\\xe2\\x19\\x4c\\x7d\\x0e\\x41\\xcf\\x10\\xb0\\x1a\\x0a\\x8e\\xec\\xeb\\xc6\\x30\\x70\\x19\\x86\\xbd\\xe1\\xf0\\x0f\\xc7\\xfe\\x08\\x70\\x29\\xc1\\xaf\\x12\\xf8\\x4b\\x18\\x2b\\x21\\x0f\\x25\\xf8\\x56\\x42\\xde\\x46\\x82\\xfb\\x55\\xd4\\xde\\xd5\\xb4\\xa3\\xe0\\x19\\x05\\xd6\\xa3\\xc0\\x7f\\x34\\x3a\\x47\\x13\\xf7\\x18\\x6a\\x62\\x0c\\x3a\\xc7\\xf2\\x3e\\x16\\xd9\\xb1\\xe4\\x74\\x3c\\xf3\\x61\\xfc\\x5e\\x88\\x78\\xc7\\xe3\\xff\\x04\\x62\\x9a\\x80\\xcf\\xd7\\xf0\\x7e\\x2d\\x98\\x4c\\x44\\xee\\x3a\\x30\\xbc\\x8e\\x79\\x71\\x1d\\xe3\\x93\\x98\\xef\\x93\\x79\\xbf\\x9e\\x5c\\x5d\\x8f\\xff\\x53\\xf0\\xab\\x14\\x5b\\xa5\\xd8\\x2f\\x85\\x7f\\x2a\\xf6\\xa7\\x92\\x9f\\xa9\\xc8\\xdd\\x80\\x6f\\x37\\xe2\\xe7\\x8d\\xc8\\xde\\x08\\xfe\\xec\\xc5\\xc6\\x8d\\xc8\\xdc\\x44\\xbd\\x72\\x65\\x33\\xd8\\x93\\x8d\\x5b\\xd0\\xc5\\x9e\\x6c\\xdc\\x8a\\x6f\\xb7\\x12\\xe7\\x6d\\xe0\\x76\\x1b\\xb9\\xb9\\x9d\\xf6\\x76\\x6a\\xf0\\x76\\xf8\\xef\\xc0\\xd7\\x3b\\xf0\\xfb\\x4e\\xe6\\xe1\\x9d\\xe0\\x37\\x0d\\x99\\x69\\xd4\\xd6\\x74\\x70\\x9b\\xce\\xf8\\x0c\\x30\\x9c\\x41\\x7b\\x17\\x98\\xdd\\x05\\x16\\x77\\x93\\xdf\\x99\\xf8\\x30\\x13\\x7f\\xef\\x01\\xd3\\x7b\\xc1\\x6d\\x16\\x7e\\xce\\x46\\x6e\\x36\\xd8\\xce\\x21\\xc7\\x73\\x99\\x4f\\x73\\x99\\x1f\\xf3\\xb0\\x3b\\x0f\\x1c\\xe6\\x83\\xd9\\x02\\x7c\\x5f\\x00\\xff\\x7d\\xc8\\xde\\x07\\xce\\xf7\\x81\\x01\\xfb\\xb6\\xb1\\x10\\xbf\\x17\\x81\\xd3\\x22\\x70\\xba\\x1f\\xbe\\x07\\xf0\\xfd\\x01\\x74\\x3c\\x88\\x3f\\x0f\\x22\\xfb\\x10\\x76\\x1f\\x62\\xec\\x61\\xb0\\x79\\x84\\x39\\xf0\\x08\\x31\\x3f\\xc2\\xf8\\x23\\xd4\\xe7\\x23\\xe0\\xf9\\x28\\xf5\\xfb\\x28\\x75\\xf6\\x28\\xfa\\x1e\\x05\\xdb\\xc7\\x90\\x7b\\x1c\\x1d\\xff\\xc0\\xce\\x13\\x60\\xb7\\x18\\xfe\\x27\\xa9\\x8f\\x25\\xc4\\xb3\\x94\\xb8\\x9f\\xc6\\xd6\\x33\\xd8\\x61\\xaf\\x36\\x9e\\xa5\\xbe\\x9f\\x83\\x9e\\xc7\\xcf\\xe7\\xc1\\xe7\\x5f\\xd4\\xd4\\x0b\\xe8\\x79\\x91\\x1c\\xbe\\x08\\x2e\\xcb\\x68\\x97\\xd1\\xff\\x12\\x7e\\x2c\\x07\\xaf\\x97\\xc9\\xf7\\x2b\\xd4\\xef\\x0a\\xfc\\x2f\\x43\\x47\\x19\\x31\\xae\\x84\\x5e\\x25\\x07\\xaf\\x81\\xd3\\x2a\\x6a\\xfc\\x75\\xec\\xbe\\x4e\\x4c\\x6f\\x80\\xff\\x6a\\xe2\\x5b\\x0d\\x3e\\x6b\\xc0\\x6f\\x2d\\x3e\\xac\\x83\\xde\\xe4\\x7d\\x3d\\x39\\xf9\\x37\\x79\\x60\\xaf\\x35\\xde\\x26\\xa6\\xb7\\xc9\\xed\\x06\\x9e\\xdf\\xc1\\xb7\\x8d\\xc8\\x6c\\xc4\\xe6\\xbb\\xc4\\xb7\\x89\\xb1\\x4d\\xc4\\xb4\\x19\\xdf\\x37\\x13\\x3f\\xf7\\x7f\\xe3\\x3d\\xe6\\xc3\\x7b\\xd8\\xdf\\x42\\xdf\\x16\\x62\\xdb\\x82\\x9d\\x2d\\xf8\\xf7\\x3e\\xed\\xfb\\xf8\\xff\\x01\\x78\\x7c\\x40\\x6d\\x7c\\x88\\x7f\\x1f\\x92\\xa3\\x8f\\x88\\xef\\x63\\xf8\\x3e\\x66\\x2e\\x6d\\x05\\xcb\\xad\\xf4\\x7d\\x02\\xdf\\xa7\\xf4\\xb1\\xff\\x1a\\xdb\\xb0\\xbb\\x1d\\xdf\\xb7\\x93\\xbb\\x1d\\xe0\\xb8\\x03\\xdd\\x3b\\xf0\\x77\\x27\\xf8\\xec\\xc2\\xfe\\x2e\\xfa\\x77\\x83\\xc5\\x6e\\xf8\\x76\\x83\\xcd\\x67\\xe8\\xfe\\x0c\\xff\\x3f\\x83\\x67\\x0f\\x39\\xdf\\x03\\xa6\\x7b\\x88\\x9f\\xfb\\xbb\\xb1\\x17\\xff\\xf6\\x12\\xc3\\x5e\\x7c\\xdd\\x8b\\xee\\xcf\\xf1\\xf1\\x73\\xe2\\xf9\\x9c\\x79\\xfb\\x39\\x35\\xfa\\x39\\x18\\x7e\\x4e\\x2d\\xef\\x23\\x47\\xdc\\xf1\\x8d\\x7d\\xc4\\xb8\\x8f\\x5a\\x63\\x1f\\x37\\xf6\\x11\\xf3\\x17\\xc4\\xf6\\x05\\x7e\\x7d\\x01\\xff\\x17\\xf4\\x7f\\x81\\x9d\\x2f\\xb0\\xb9\\x1f\\x4c\\xf7\\xc3\\xbf\\x9f\\x18\\xf7\\xe3\\xc7\\x7e\\xea\\xf5\\x4b\\x72\\xfc\\x25\\xf9\\xfd\\x12\\xfb\\x5f\\xe2\\xeb\\x97\\xf4\\x7f\\x09\\xbe\\x5f\\xa1\\xe3\\x2b\\xf2\\xf6\\x15\\x7d\\x5f\\x51\\x6f\\x5f\\x51\\x3b\\x07\\xf0\\xeb\\x00\\x7e\\x1c\\x20\\xce\\x03\\xf8\\x76\\x00\\xbd\\x07\\xc0\\xe1\\x20\\x7e\\x1c\\x44\\xc7\\x41\\x74\\x1c\\xa4\\x96\\x0e\\x92\\xdf\\x83\\xe4\\xe7\\x6b\\x6a\\xf5\\x6b\\xf8\\xbf\\xc6\\xbf\\xaf\\xc1\\xef\\x6b\\xfc\\xfb\\x9a\\x1c\\x95\\x13\\x6f\\x39\\xb8\\x96\\xe3\\x47\\x39\\xfd\\xe5\\xf4\\x97\\xd3\\x7f\\x88\\xfe\\x43\\xd8\\x3c\\x44\\xff\\x21\\xfa\\x0f\\xa1\\xe3\\x10\\x79\\x3b\\x0c\\x7e\\x87\\xc1\\xe3\\x30\\xf5\\x75\\x98\\xb9\\x75\\x18\\xff\\x8e\\x80\\xc9\\x11\\xe6\\xd0\\x11\\xfa\\x8f\\xd0\\x7f\\x84\\xbc\\x1c\\xc1\\xc7\\xa3\\xd8\\x3c\\x8a\\xcd\\xa3\\xe8\\x38\\x4a\\xdf\\x51\\xf0\\xa8\\x60\\xff\\xab\\xc0\\xe7\\x0a\\xb0\\xa8\\x20\\xc7\\xdf\\x10\\x33\\xe7\\x13\\xe3\\x1b\\x6a\\xf0\\x1b\\xfa\\xbe\\xc1\\xfe\\x37\\xc4\\xf1\\x2d\\x7c\\xdf\\x12\\xc3\\xb7\\xc4\\xf6\\x2d\\x7d\\xdf\\xe2\\xd3\\x77\\xf8\\xf4\\x1d\\x7d\\xdf\\x91\\x9b\\xef\\xc0\\xe1\\x3b\\xe4\\x8f\\x61\\xe3\\x18\\x36\\x8e\\x81\\xef\\x31\\xf2\\x75\\x1c\\x7d\\xc7\\xc1\\xf5\\x38\\xef\\xc7\\xf1\\xfb\\x38\\xb2\\xc7\\xc9\\xeb\\xf7\\xd4\\xf1\\xf7\\xd4\\xc2\\xf7\\xf4\\x7f\\x8f\\x9d\\xef\\xc1\\xeb\\x7b\\xfc\\xf9\\x81\\x3c\\xfc\\x40\\x7e\\x7e\\x00\\x97\\x1f\\xe8\\xff\\x01\\xfe\\x13\\xe8\\x3c\\x81\\x8e\\x13\\xe0\\x7d\\x02\\x3b\\x27\\x88\\xe5\\x24\\x7a\\x4f\\x82\\xeb\\x49\\x62\\x3c\\x49\\xde\\x4f\\x22\\x7f\\x12\\xbd\\x3f\\xe2\\xe7\\x8f\\xd4\\xd2\\x8f\\xac\\x51\\x3f\\x32\\x6f\\x7e\\xa4\\x16\\x7e\\x02\\x8f\\x9f\\x90\\xff\\x09\\x5b\\x3f\\x91\\xc3\\x9f\\xc8\\xed\\xcf\\xe4\\xeb\\x67\\xfc\\xfc\\x19\\x3b\\x3f\\x53\\x8f\\x3f\\xe3\\xeb\\xcf\\xc8\\x9f\\xc2\\xaf\\x53\\xe0\\x7c\\x0a\\x8c\\x4e\\x61\\xeb\\x14\\x78\\x9e\\x26\\x87\\xa7\\xf1\\xe9\\x34\\x75\\xf9\\x0b\\x78\\xff\\xc2\\xda\\xc0\\xd9\\xcb\\xf8\\x05\\x0c\\x7f\\x41\\xff\\xaf\\xd4\\xc3\\xaf\\xe4\\xec\\x57\\xb0\\xfe\\x95\\xfa\\xfb\\x15\\x3d\\xbf\\xe1\\xc7\\x6f\\xf8\\xf1\\x1b\\xbe\\xfd\\x86\\xbd\\xdf\\xe1\\xf9\\x1d\\x9e\\xdf\\xe1\\xf9\\x1d\\xbf\\x7e\\x87\\xe7\\x0c\\x3c\\x67\\xf0\\xff\\x0c\\x3c\\x67\\x88\\xf3\\x2c\\x7e\\x9e\\x05\\xcf\\xb3\\xc4\\x79\\x16\\x3f\\xcf\\x82\\xe7\\x39\\xe2\\x3c\\x47\\x3e\\xce\\x91\\xa3\\x73\\xe0\\x71\\x0e\\xbe\\xf3\\xf4\\x9d\\xc7\\xf7\\xf3\\xc4\\x73\\x1e\\xbe\\xf3\\xe8\\x0f\\x12\\x4f\\x10\\x3c\\x83\\xf8\\x15\\xc4\\xaf\\x20\\x73\\x23\\x84\\xbe\\x10\\x75\\x10\\xc2\\x46\\x08\\x3c\\x42\\xd8\\x0d\\x7d\\x23\\xa6\\xd4\\x82\\x0a\\xa1\\xd9\\xd0\\x06\\xe8\\x94\\x98\\xaa\\x01\\x34\\x14\\x5a\\x04\\xed\\x12\\xd3\\x80\\xc7\\x80\\xc7\\x98\\x09\\xad\\x81\\x8e\\x8b\\x69\\xfa\\xa0\\xfe\\x10\\x7d\\x9c\\x15\\x4d\\xf3\\xa0\\x98\\xb6\\x68\\xa8\\x25\\x54\\x02\\x21\\xcb\\xb9\\xd1\\xb4\\xa1\\xcf\\x8e\\x3e\\x3b\\xfa\\xec\\xf4\\xd9\\x37\\x41\\xbf\\x89\\xe9\\xa0\\xcf\\x51\\x04\\x21\\xef\\x28\\x83\\x0e\\x8b\\xe9\\x4c\\x85\\x72\\x21\\x78\\x9d\\xf3\\xa1\\xf5\\x10\\xb6\\x5c\\xd8\\x77\\x61\\xdf\\x05\\xaf\\x8b\\x3e\\x17\\x3a\\xdd\\x8d\\xa1\\x51\\xd0\\x62\\x08\\x1f\\xdd\\xe8\\x8c\\x82\\x2f\\x0a\\xf9\\xa8\\x6b\\xa1\\x87\\x20\\x78\\xa3\\xd0\\x5b\\x0d\\xbf\\xaa\\xb5\\x87\\x26\\x43\\x2f\\x40\\xf8\\x1a\\x9d\\x08\\x15\\x40\\xf4\\x45\\x3f\\x06\\xe1\\x6b\\x34\\x78\\xc4\\x78\\xa0\\x36\\xd0\\x38\\x88\\xfe\\x98\\x6d\\x62\\x56\\x77\\x41\\xc8\\x57\\x87\\xb7\\xfa\\xb3\\xd0\\x5e\\x31\\x63\\x05\\x22\\x86\\x58\\xfc\\x8a\\xbd\\x19\\x5a\\x0a\\xbd\\x0f\\x9d\\x14\\xd3\\x43\\x1c\\x1e\\x74\\x7b\\xe8\\xf7\\x10\\x9b\\x07\\xbd\\x71\\xe0\\x15\\x47\\xbc\\x71\\x60\\x10\\x07\\x5f\\x1c\\x7c\\xf1\\xf0\\xc5\\x07\\x20\\x6c\\xc5\\xd3\\x1f\\x0f\\xb6\\xf1\\xf8\\x96\\x80\\xbd\\x04\\x7c\\x48\\x20\\x8e\\x04\\xec\\x25\\xec\\x17\\x33\\x11\\xbf\\x12\\x89\\x2d\\x11\\xde\\x44\\xb0\\x49\\x04\\xf3\\x44\\xfa\\x93\\x6c\\x10\\x58\\x24\\x81\\x79\\x12\\x31\\x27\\x7d\\x2c\\x66\\x32\\x7d\\xc9\\xc8\\x27\\x23\\x9f\\x8c\\x7c\\x32\\x7c\\x29\\xf4\\xa5\\xc0\\x97\\x42\\xce\\x52\\x6e\\x87\\x96\\x43\\xd8\\x4a\\x05\\x87\\x54\\x7c\\x4d\\xa5\\x2f\\x15\\x5f\\x53\\xc1\\xab\\x06\\x7e\\xd5\\x20\\xde\\x1a\\xe8\\xac\\x41\\x5d\\xd4\\xa0\\xbf\\x06\\x31\\xd7\\x24\\xe6\\x9a\\xc4\\x5c\\x93\\x98\\x6b\\x92\\x8b\\x9a\\xf8\\x5b\\x93\\xd8\\xd2\\xe0\\x4f\\xeb\\x05\\xa1\\x23\\x0d\\xbd\\x69\\xd8\\xab\\x85\\xbf\\xb5\\x88\\x8d\\xf3\\xba\\x59\\x0b\\x1f\\x6a\\x21\\xcf\\xb9\\xdd\\xac\\x4d\\x0c\\xb5\\xa7\\x43\\xe0\\x5d\\x07\\x7d\\x75\\xe0\\xa9\\xc3\\x7b\\x1d\\xde\\xbd\\xbc\\x7b\\xf1\\xd1\\x0b\\x4e\\x5e\\xec\\x7a\\xd1\\xef\\x45\\xbf\\x0f\\xfd\\x3e\\x7c\\xf4\\x81\\xa7\\x8f\\xb8\\x7d\\x60\\x97\\xde\\x0c\\x22\\x1f\\xe9\\xf8\\x96\\xce\\x7b\\x5d\\xe4\\xea\\x12\\x6f\\x5d\\xea\\xa1\\x2e\\x18\\xd4\\x3d\\x27\\x66\\x06\\x7d\\x19\\xd4\\x52\\x06\\x78\\x65\\x50\\x0b\\x19\\xd4\\x52\\x3d\\xfc\\xaf\\x47\\xdd\\xd4\\xc3\\xa7\\x7a\\xc4\\x9a\\x59\\x0f\\xe2\\x3d\\x93\\xf7\\x4c\\xde\\xb9\\x1f\\x98\\x59\\xc4\\x9e\\x85\\xae\\x2c\\x74\\x65\\xa1\\x2b\\x0b\\x5d\\xf5\\xd1\\x55\\x1f\\x5d\\xf5\\xc9\\x53\\x7d\\x7c\\xad\\x4f\\x5f\\x03\\x74\\x71\\x7f\\x30\\x1b\\x80\\x7b\\x03\\xea\\xa4\\x21\\xfe\\x37\\xc4\\xaf\\x86\\x60\\xdc\\x10\\x5f\\x1b\\x52\\x13\\x0d\\xf1\\xff\\x32\\x7c\\xbf\\x0c\\xb9\\x46\\xc4\\xdf\\x08\\xff\\x1b\\xe1\\x6f\\x63\\x9e\\x1b\\x13\\x7b\\x63\\x62\\x68\\x0c\\x66\\x8d\\xc9\\x45\\x13\\x72\\xd1\\x84\\xbc\\x35\\xc1\\x0e\\xf7\\x09\\xb3\\x09\\x7c\\x4d\\x79\\xce\\xc6\\xa7\\x6c\\x78\\xb3\\xe1\\xcd\\x46\\x3e\\x9b\\x5a\\x6f\\x86\\xed\\x66\\xd8\\x6e\\x86\\xed\\x66\\xcc\\xa9\\x66\\xd8\\x69\\x4e\\x9d\\x37\\xc7\\x2e\\xf7\\x09\\xb3\\x05\\xb6\\x5b\\x30\\x2f\\x72\\xc8\\x3b\\x77\\x08\\x33\\x87\\x58\\x72\\xf0\\xb1\\x25\\xef\\x2d\\x99\\xa3\\x2d\\xd1\\xd5\\x92\\x98\\xb9\\x47\\x98\\x2d\\x89\\xc5\\x4f\\x7d\\xfa\\xf1\\xd3\\x8f\\x2f\\xad\\xf0\\xa3\\x15\\xb9\\x6f\\x85\\x4c\\x2b\\x74\\xb7\\x62\\xbc\\x35\\xf1\\xb7\\xa6\\xf6\\x5a\\x83\\x65\\x6b\\x30\\x6f\\x8d\\x5c\\x6b\\xfc\\xe0\\xbe\\x61\\xb6\\x21\\xde\\x36\\x4b\\xff\\x0f\\x04\\xb6\\x6d\\x89\\xb7\\x2d\\x76\\xda\\x62\\xa3\\x1d\\x36\\xda\\x11\\x6f\\x3b\\x6c\\x70\\x67\\x31\\xdb\\x31\\xde\\x8e\\x58\\x2e\\xc7\\xdf\\xcb\\xc1\\xe3\\x72\\x6a\\xa8\\x3d\\xf9\\x6a\\x0f\\x06\\x1d\\xa8\\xa3\\x0e\\x60\\xd6\\x01\\x1f\\x3a\\x92\\xab\\x4e\\xe0\\xde\\x89\\x98\\xb8\\xcf\\x98\\x01\\x70\\x08\\x30\\x1e\\xa0\\x86\\x02\\xe0\\xd2\\x99\\xb8\\x3a\\x53\\x53\\xb9\\x60\\x98\\x4b\\x8d\\xe6\\xb2\\x06\\x70\\x6f\\x31\\xf3\\xb0\\x97\\x87\\xad\\x3c\\xea\\x2c\\x0f\\xbe\\x7c\\xe2\\xce\\x67\\x8c\\x7b\\x8b\\xd9\\x0d\\xbe\\x6e\\xd8\\xe9\\x86\\xfe\\x02\\x7c\\x2a\\xc0\\x9f\\xee\\xd4\\x45\\x0f\\xf0\\xeb\\xc1\\x7b\\x4f\\xec\\xf5\\x64\\xbc\\x27\\x73\\x99\\xfb\\x89\\xd9\\x93\\x5c\\xf5\\x62\\xac\\x17\\xb2\\xdc\\x4d\\xcc\\x2b\\xb1\\xd5\\x1b\\xbb\\x85\\xf4\\xf5\\xc1\\x4e\\x5f\\x72\\xd8\\x8f\\x76\\x20\\x3a\\x06\\xa1\\xbb\\x08\\x3b\\xc5\\xe0\\x39\\x18\\xec\\x86\\x50\\x1b\\x43\\xd1\\x37\\x14\\x5b\\xc3\\xe9\\x1f\\x41\\x0e\\x4a\\xd0\\x3b\\x12\\x1f\\xaf\\xa2\\xd6\\xae\\xc6\\xbf\\x51\\x60\\x34\\x0a\\xdc\\x47\\x63\\x73\\x0c\\x39\\x1e\\x0b\\x8d\\x83\\xc6\\x23\\x37\\x1e\\x7b\\x13\\x90\\xb9\\x86\\xfa\\xbe\\x16\\x7d\\xd7\\x32\\xe7\\xae\\xa5\\x2e\\xae\\x05\\x8b\\x89\\x60\\x31\\x11\\x2c\\x26\\x12\\xe7\\x44\\x74\\x4c\\x64\\xed\\xbc\\x8e\\x7a\\xb8\\x0e\\x3b\\x93\\xf0\\x6d\\x12\\xb8\\x4e\\xc6\\xb7\\xc9\\xe8\\xbe\\x1e\\xbf\\xa6\\x50\\x53\\x53\\x78\\x2e\\x65\\x3e\\x97\\xf2\\x5e\\x8a\\x5c\\x29\\x3e\\x4c\\x65\\x8e\\xde\\x40\\x4d\\xdc\\xc0\\x9a\\x78\\x23\\x75\\x7e\\x23\\x36\\x6e\\x22\\xbe\\x9b\\xd1\\x7f\\x33\\x7d\\xb7\\xd0\\xde\\x02\\xff\\x2d\\xe4\\xe8\\x56\\x6a\\x82\\x3b\\x80\\x79\\x2b\\xb9\\xbb\\x0d\\x3c\\x6e\\x43\\xd7\\x6d\\xf8\\x73\\x1b\\x38\\xdd\\xce\\xd8\\xed\\xc4\\xcd\\x7d\\xc0\\xbc\\x03\\x99\\x3b\\xd0\\x79\\x07\\x31\\xdd\\x49\\xff\\x9d\\xc4\\x73\\x27\\x71\\x4f\\x23\\x26\\xee\\x04\\x26\\x77\\x02\\x73\\x3a\\x39\\x9d\\x4e\\x1c\\x33\\xd0\\x31\\x03\\xbf\\xee\\xc2\\xd7\\xbb\\xc8\\xeb\\x5d\\xc4\\x7a\\x37\\x71\\xdc\\x0d\\xff\\x4c\\x6a\\x68\\x26\\xf1\\xdf\\x03\\xb6\\xf7\\xd0\\xde\\xcb\\x3e\\x70\\x2f\\xed\\x2c\\x74\\xce\\x02\\xdb\\xd9\\xd4\\xcc\\x6c\\x7c\\x9c\\xc3\\x9c\\x9b\\x03\\x06\\x73\\xe1\\x9b\\x8b\\x9f\\xf3\\xa8\\x41\\xee\\x0b\\xe6\\x7c\\xe2\\x99\\x8f\\xcd\\xf9\\xf8\\x32\\x1f\\xfe\\x45\\xd4\\xfc\\xa3\\xf4\\x3f\\x85\\x0f\\x4f\\x11\\xfb\\x12\\xe4\\x96\\x60\\x63\\x09\\x31\\x2d\\xc1\\x87\\x25\\xd4\\xdd\\x52\\xfc\\x58\\x4a\\x8e\\x97\\x52\\x7b\\x4b\\x79\\x7f\\x1a\\xdc\\xfe\\xc9\\xf8\\x3f\\xf1\\xf5\\x59\\x78\\x9f\\x45\\xff\\x73\\xe0\\xf3\\x3c\\x98\\xfc\\x8b\\xb8\\x5e\\x00\\xaf\\x17\\xc9\\xc3\\x32\\x7c\\x59\\x86\\xce\\x97\\xb0\\xf3\\x12\\x35\\xbf\\x9c\\xba\\x5c\\x8e\\xcc\\xcb\\xf8\\xf2\\x0a\\x18\\xaf\\x60\\x5e\\xaf\\x00\\x9b\\x32\\x64\\x56\\x52\\xf7\\x2b\\xc9\\xd7\\x6b\\xe0\\xb5\\x0a\\xff\\x56\\x81\\xd3\\xeb\\xc4\\xfc\\x3a\\xb5\\xfa\\x06\\x18\\xbc\\xc1\\xd8\\x6a\\xec\\xae\\xc1\\xbf\\x35\\xc4\\xb7\\x16\\xff\\xd7\\x51\\xc3\\xeb\\xd0\\xfb\\x26\\x78\\xbd\\x49\\xac\\xeb\\x69\\xd7\\xeb\\x96\\x78\\xfe\\x0d\\xdf\\xbf\\xf1\\xed\\xdf\\xc8\\x70\\x1f\\x30\\xdf\\x22\\xff\\x6f\\x51\\x2f\\x6f\\xb1\\x0e\\xbc\\x85\\xae\\xb7\\xb1\\xf1\\x36\\xf1\\xbc\\x0d\\x76\\x6f\\xa3\\x63\\x03\\xfe\\x6e\\xc0\\xef\\x0d\\x8c\\xbf\\x83\\xcc\\x46\\xf8\\x37\\x82\\xed\\x46\\xec\\x6c\\x44\\xe7\\x46\\xf8\\x36\\xe2\\xeb\\x46\\xea\\x74\\x23\\xb9\\xe5\\x1e\\x61\\x6e\\x44\\xee\\x5d\\xf2\\xf6\\x2e\\x7c\\xef\\x52\\xef\\xef\\x12\\xff\\xbb\\xe0\\xf8\\x2e\\xbc\\x9b\\x90\\xdf\\xc4\\xdc\\xd9\\x84\\xce\\x4d\\xd4\\xd5\\x26\\x30\\xda\\x44\\xed\\x6e\\xc6\\xa7\\xcd\\xc4\\xb5\\x99\\xf8\\x37\\x13\\xc7\\x66\\x30\\xde\\x4c\\x5e\\x37\\x33\\x1f\\xde\\x03\\xe7\\xf7\\xc0\\xe1\\x3d\\x6c\\xbe\\x07\\x66\\xef\\xe1\\xf7\\x7b\\xd4\\x15\\xf7\\x11\\x73\\x0b\\x79\\xdc\\x02\\x4e\\x5b\\xa8\\xe5\\x2d\\x60\\xfa\\x3e\\xbc\\xef\\xa3\\xeb\\x7d\\x74\\xbd\\x0f\\x66\\xef\\xa3\\xef\\x7d\\xf4\\x7d\\x80\\x1f\\x1f\\x60\\xf7\\x03\\x6c\\x7e\\x00\\x0e\\x1f\\x82\\xd1\\xc7\\xc8\\x7d\\x8c\\x8d\\xad\\xc4\\xbc\\x95\\xbc\\x6d\\x25\\x87\\x9f\\x50\\x2f\\x9f\\x60\\xe7\\x13\\xf4\\x7d\\x8a\\xaf\\x9f\\x92\\x1b\\xee\\x2c\\xe6\\x36\\xec\\x6c\\x03\\x83\\x6d\\xcc\\xc3\\x6d\\xc4\\xba\\x4d\\xf7\\x81\\xd7\\x76\\xf0\\xdc\\x4e\\x9c\\xdb\\xd1\\xbf\\x1d\\x7d\\xdb\\xc9\\xc9\\x76\\x70\\xd9\\x8e\\xff\\xdc\\x6f\\xcc\\xed\\xc4\\xb7\\x1d\\x3c\\x76\\xe0\\xd7\\x0e\\xf2\\xbe\\x03\\xdf\\x76\\x90\\x8f\\x1d\\xf8\\xb2\\x03\\x9c\\x77\\xe0\\xdf\\x0e\\xb0\\xd9\\x81\\xbd\\x1d\\xe0\\xb8\\x03\\xdf\\x76\\x10\\xdb\\x0e\\xe2\\xde\\x49\\x7c\\x3b\\xf1\\x67\\x27\\xb1\\xef\\xa4\\x8e\\x76\\x22\\xb3\\x93\\xb9\\xb0\\x13\\x5f\\x77\\x12\\xd3\\x4e\\xf0\\xdc\\x49\\xcc\\x3b\\xa9\\x9d\\x9d\\xd4\\xc3\\x4e\\xec\\xec\\xc2\\xce\\x2e\\xec\\xec\\xc2\\xce\\x2e\\xec\\xec\\x22\\x96\\x5d\\x60\\xb6\\x0b\\x9e\\xdd\\xe8\\xda\\x8d\\x8f\\xbb\\x91\\xd9\\x8d\\xef\\x9f\\x81\\xc5\\x67\\xc4\\xb1\\x07\\xfd\\x7b\\xf0\\x7b\\x0f\\x3c\\x7b\\xa9\\xbd\\xbd\\xe4\\x6b\\x2f\\xb8\\x7c\\x4e\\x5c\\x9f\\x83\\xe1\\xe7\\xe0\\xbd\\x0f\\x5f\\xf6\\x91\\xff\\x7d\\xc4\\xff\\x05\\xcf\\x5f\\x80\\xef\\x17\\xc4\\xf9\\x05\\x7a\\xf6\\xf3\\xbc\\x1f\\xff\\xf7\\x63\\xff\\x4b\\xea\\xe5\\x4b\\xec\\x7d\\x49\\x0c\\x5f\\x31\\x37\\xbe\\x82\\xe7\\x2b\\x62\\x39\\x00\\x7e\\x07\\x88\\xf5\\x00\\xd8\\x1d\\x04\\xab\\x83\\xd8\\x3e\\x88\\xcf\\x5f\\xc3\\xf3\\x35\\xf1\\x7c\\x4d\\x7f\\x39\\x7e\\x97\\x63\\xbb\\x9c\\xe7\\x43\\x3c\\x1f\\x82\\xff\\x10\\x3e\\x1d\\xc6\\xef\\xc3\\xc4\\x7d\\x18\\x7c\\x8e\\x90\\xb7\\x23\\xd4\\xce\\x11\\x70\\x3a\\x8a\\xaf\\x47\\x89\\xe7\\x28\\x38\\x57\\xe0\\x6b\\x05\\xb2\\x15\\xd4\\xe0\\x37\\xd8\\xfa\\x86\\x78\\xbe\\x81\\xe7\\x5b\\xfa\\xbf\\xa5\\xff\\x5b\\xfa\\xbf\\xa3\\xff\\x3b\\xb0\\xfe\\x8e\\xe7\\x63\\xe8\\x3c\\x86\\xec\\x31\\xf2\\x73\\x1c\\xac\\x8e\\xe3\\xf3\\x71\\xfa\\xbf\\x47\\xe7\\xf7\\xf4\\x7f\\x8f\\xec\\x0f\\xf0\\xfc\\xc0\\xf3\\x0f\\xf0\\x9c\\x00\\xa3\\x13\\xe8\\x3c\\x41\\xff\\x49\\x74\\x9e\\xc4\\x87\\x93\\xf8\\xf6\\x23\\xfd\\x3f\\xa2\\xf3\\x47\\x70\\xfc\\x09\\xd9\\x9f\\xf0\\xf3\\x27\\x78\\x7e\\xa6\\xa6\\x7e\\x46\\xe7\\xcf\\xc4\\x78\\x8a\\xe7\\x53\\xf8\\x70\\x0a\\xfe\\xd3\\xf0\\x9f\\x86\\xff\\x34\\xf3\\xe4\\x17\\xec\\xfe\\x02\\xcf\\x2f\\xc8\\xfe\\xca\\xf3\\xaf\\xe4\\x94\\xbb\\x82\\xf9\\x1b\\x7e\\xfe\\x86\\xad\\xdf\\xf0\\xe7\\x77\\x64\\x7f\\x47\\xf6\\x77\\x64\\xcf\\x20\\x7b\\x06\\xd9\\x33\\x60\\x7e\\x16\\xdc\\xce\\xc2\\x73\\x16\\xac\\xce\\x61\\xf7\\x1c\\x18\\x9e\\x43\\xcf\\x79\\x78\\xce\\xe3\\xf3\\x79\\x72\\x1c\\x04\\xab\\x20\\xfe\\x04\\xe1\\x09\\x81\\x67\\x88\\xe7\\xd0\\x2a\\xb1\\x89\\x0b\\x1a\\x0a\\xad\\x11\\x9b\\xf2\\x40\\x3c\\xab\\x17\\xa0\\x73\\x62\\x33\\x0a\\xa0\\xc5\\xd0\\x29\\xb1\\x99\\x01\\x68\\x11\\x74\\x58\\x6c\\xb6\\xf6\\xd0\\x43\\xd0\\x5e\\xb1\\xd9\\x13\\xa1\\x42\\x68\\x93\\xd8\\x1c\\xb9\\xd0\\xed\\xd0\\x06\\xb1\\x39\\x6d\\xd0\\x28\\xe8\\x59\\x08\\x19\\x57\\x3d\\x88\\x77\\x17\\xef\\x2e\\xde\\xdd\\xbc\\x73\\x5e\\xb7\\xb9\\x79\\x77\\xf3\\x1e\\xc5\\x7b\\x14\\xef\\x51\\xbc\\x73\\x46\\xb7\\x55\\xe3\\xbd\\x1a\\xef\\x9c\\xcf\\x6d\\xd5\\x8e\\x8b\\x2d\\xba\\x19\\x34\\x15\\xc2\\xcf\\x68\\x7c\\x8b\\xc1\\x56\\xcc\\x74\\x08\\xbb\\x9c\\xc7\\x6d\\xd5\\xc7\\x41\\x8c\\x71\\x0e\\xb7\\xc5\\xe2\\x77\\x2c\\xbe\\xc6\\xe2\\x9f\\x87\\x31\\x0f\\x3a\\xe2\\xe0\\xe7\\x8c\\x6d\\x8b\\xc7\\xd7\\xf8\\xd9\\xd0\\x6f\\x62\\x4b\\xc0\\xd7\\x04\\x6c\\x25\\x96\\x40\\xd8\\x48\\xc2\\x46\\xd2\\x36\\xb1\\x25\\x83\\x41\\x32\\x32\\xc9\\xc4\\x9d\\x82\\x0f\\x29\\xb4\\xa9\\xbd\\x20\\xfa\\x6a\\xe0\\x57\\x0d\\xec\\xd4\\x24\\x3e\\xce\\xbd\\xb6\\x9a\\xef\\x8b\\x2d\\x0d\\xfe\\x34\\x62\\xae\\xe5\\x83\\xe0\\xe1\\x4c\\xfb\\x07\\xdd\\x0c\\xe1\\x4b\\x6d\\xdd\\xbf\\x0b\\xc2\\x4e\\x1d\\x64\\xeb\\xd4\\x82\\x1a\\x43\\x8c\\x7b\\xf1\\xdd\\x8b\\x3f\\xbe\\xc7\\xf4\\x7f\\x43\\x47\\x0c\\xfd\\xdf\\x75\\xb1\\xb7\\xb0\\xcf\\xe0\\xf6\\xe5\\x14\\x6f\\x20\\xc6\\x61\\xd8\\x4d\\xc3\\x74\\xbb\\xec\\x26\\x8b\\x90\\x74\\xda\\x9a\\xbd\\x35\\x2e\\x5e\\xb5\\x6d\\x1b\\x97\\x13\\x97\\xd3\\xbc\\x59\\x42\\x7a\\x5c\\x7a\\x42\\x5c\\x7a\\xdc\\x56\\xdb\\xe8\\xb3\\x4f\\xf4\\x32\\xb7\\xda\\x67\\x9c\\x99\\x66\\xf7\\x9f\\x4d\\xb1\\x7d\\xab\\xff\\xd6\\xa2\\x21\\xef\\x88\\xa8\\x8a\\xb0\\x2e\\x75\\x30\\x10\\x32\\x9d\\x4e\\xc3\\x66\\x73\\xbb\\x94\\xb2\\x1b\\xa6\\xcd\\xfe\\xe4\\x10\\xdb\\x5d\\x6e\\x35\\xd5\\xad\\x46\\xb9\\x55\\x7f\\xb7\\xca\\x77\\xab\\x16\\x6e\\x55\\xd7\\xad\\x92\\xdd\\xca\\xe6\\x56\\xa7\\xdc\\xea\\xb0\\x5b\\xed\\x72\\xab\\x4d\\x6e\\xb5\\xca\\xad\\x9e\\x75\\xab\\x87\\xdc\\x6a\\xa6\\x5b\\x4d\\xa9\\xe4\\xcf\\xb5\\xf8\\xeb\\xb9\\x55\\xa2\\x5b\\x19\\x6e\\x35\\x2e\\x2c\\xb0\\xc3\\xad\\xde\\x73\\xab\\x37\\xdc\\xea\\x79\\xb7\\x7a\\xc0\\xad\\xee\\xba\\x58\\xa0\\x95\\x5b\\xf9\\x2c\\x01\\x87\\x5b\\xfd\\xe2\\x56\\xe5\\x7f\\x65\\xe0\\x46\\xb7\\x1a\\xe3\\x56\\x03\\x2d\\x66\\xbc\\x51\\x1e\\xb7\\x12\\xb7\\x3a\\x59\\xe9\\xce\\x86\\x2a\\xdc\\x93\\xdd\\xaa\\xc4\\xad\\x0a\\xdd\\x2a\\xe0\\x56\\xcd\\x2a\\x7d\\xc1\\xf7\\x36\\x61\\x5f\\xb6\\x59\\xdc\\x65\\x95\\xdc\\x81\\xe2\\x99\\x55\\xc2\\x0d\\xfb\\x51\\x55\\xf3\\xa6\\x2a\\x3a\\xc3\\xee\\xb6\\xac\\xa2\\x33\\xec\\x65\\xd8\\xc5\\xa9\\x95\\x0c\\xf8\\x66\\xa0\\xc2\\x39\\x7c\\xd8\\x88\\x61\\x91\\x3f\\xd7\\x57\\xfd\\x33\\xe5\\xa2\\x3f\\xc3\\x87\\x5d\\xfc\\xe7\\xfa\\xeb\\x47\\xfc\\x07\\xee\\x3f\\xf3\\xff\\xa1\\x5b\\xb2\\x1b\\x49\\x6a\\xa7\\xf8\\xb6\\xd9\\xba\\x18\\xe2\\x72\\xac\\x62\\x50\\x19\\x66\\xba\\xa2\\x18\\xd4\\x96\\xa3\\x3e\\x95\\x15\\xdc\\xa7\\x7c\\x6a\\x99\\xb9\\xe7\\xcc\\x34\\x55\\x3d\\xf8\\x13\\xb5\\x30\\xcb\\xbc\\xcb\\xcc\\x8d\\xd4\\x55\\x93\\x40\\xb2\\x69\\x38\\x1d\\xe2\\x50\\x6e\\xbb\\xe1\\x70\\xbb\\x6c\\x8c\\xbf\\x38\\xc4\\x61\\x50\\x60\\x39\\x8d\\xe2\\x24\\xc7\\x2a\\xb1\\x11\\xc3\\x87\\xc5\\xfd\\xa1\\x18\\x32\\xeb\\x7f\\x91\\xa6\\x12\\x82\\x6d\\xf9\\x19\\x67\\xde\\xa5\\x42\\x41\\xa5\\x42\\xe1\\x3a\\xcb\\x60\\xe2\\xf5\\xb5\\x97\\x4a\\x9a\\x78\\xe5\\xcd\\xc0\\x8d\\x36\\x25\\x35\\x6c\\xa9\\x76\\x67\\x1d\\x6f\\xb2\\x2d\\xc5\\xe1\\xaa\\x5d\\x2b\\xc9\\x96\\xe8\\xae\\x56\\x3d\\x36\\xde\\x96\\x10\\x95\\x92\\xea\\xb0\\x27\\x26\\xb8\\xa3\\xa2\\x12\\x52\\xed\\xb6\\x9a\\xd1\\xd1\\xb5\\xbd\\x35\\x6d\\xe9\\x3e\\x9b\\xd3\\x55\\xcd\\x16\\x1d\\x13\\xfd\\x4a\\xb1\\xaa\\x5e\\xbb\\x8e\\x2d\\x46\\x62\\x6b\\x79\\x6d\\x9e\\x38\\xcf\\x2b\\xc5\\xf1\\x49\\xc9\\x35\\x6c\\x71\\xb1\\x31\\x2b\\x62\\x8c\\x4f\\x63\\x42\\x31\\x46\\x6c\\x5c\\xef\\xb8\\x15\\x71\\xe6\\xa7\\x71\\x2a\\x26\\x2e\\x26\\xce\\x9e\\x98\\x92\\x6a\\x26\\xac\\x74\\xb8\\xa3\\x4c\\xbb\\x64\\xa7\\xe4\\x74\\x4a\\xc9\\x89\\x6f\\xdb\\x36\\x3b\\x7b\\xd8\\xf5\\xc3\\xae\\x8f\\x4b\\xd1\\xb1\\xa4\\xe4\\x5c\\x68\\xe3\\x55\\x4a\\xdb\\xb8\\xf8\\x14\\x6b\\xee\\x58\\xff\\x8b\\x8f\\xbc\\x47\\x88\\x48\\xcd\\x9c\\xa4\\x0c\\x33\\x23\\x21\\x1d\\xca\\xf0\\xe7\\x58\\x94\\x63\\xa6\\x43\\x39\\x49\\xe9\\xb4\\xe6\\x82\\xbc\\x3d\\xbf\\xf4\\x5d\\x5c\\x18\\xdc\\x5a\\xf8\\x78\\xef\\x27\\xd6\\xe7\\x7f\\xfa\\x43\\xff\\xc7\\xfb\\xaa\\x9c\\xfe\\x8b\\xfb\\x3f\\x7b\\x7e\\x52\\x81\\xf2\\xe7\\x9b\\xc3\\x83\\xab\\x1e\\x0e\\xde\\xad\\xee\\xd0\\xf4\\xb0\\xea\\xf5\\x90\\x9a\\x11\\x9c\\xa6\\xe9\\xa1\\xe0\\x2a\\xeb\\xef\\x7c\\x9b\\x92\\x16\\x1a\\x67\\x1b\\x68\\x3f\\x29\\x0d\\x24\\x5b\\x5a\\xc9\\x82\\x40\\xdf\\xb4\\x0c\\xbf\\xcd\\x56\\x23\\x3b\\xc6\\xde\\x4c\\xa2\\xdc\\x8d\\x92\\x7c\\x5e\\x6f\\x92\\xdd\\x2d\\xf6\\x36\\xad\\xfd\\x31\\x8e\\x98\\xa9\\xc5\\x12\\xe5\\x89\\x6a\\x16\\x15\\x88\\x9a\\x1e\\xb5\\x28\\xca\\xe1\\x36\\xa3\\xa2\\x4c\\x47\\xf5\\x96\\xf5\\xb2\\x33\\x1a\\xa6\\x36\\xbc\\xa1\\xb8\\xb6\\x4f\\x55\\xf3\\x29\\x9f\\x2f\\xad\\x65\\xb6\\x23\\x36\\x55\\xa5\\x06\\xaa\\x79\\x0a\\x52\\x1d\\x92\\x9d\\xdd\\x68\\x18\\x38\\xe4\\xe4\\x64\\x0f\\x1b\\x66\\xe5\\xd3\\xfa\\x5f\\x4e\\x6a\\x36\\x39\\x8d\\xe4\\xb7\\x0a\\x0c\\x39\\x39\\x39\\xd6\\x0f\\xe2\\x4f\\x74\\x38\\x93\\x32\\xfc\\x4d\\x55\\xfd\\xcc\\x3a\\x2a\\x25\\xae\\xa9\\xca\\x68\\x6a\\xf8\\x5b\\xb6\\x6a\\xed\\xcf\\x49\\xaa\\x63\\xa4\\xd8\\xe9\\x8f\\x4b\\x69\\x61\\x4b\\x56\\x8e\\xa4\\x44\\xc6\\x55\\x4b\\xdd\\xd1\\xca\\x36\\xf0\\xe7\\x1f\\x26\\xee\\x39\\x99\\xa5\\x24\\xe1\\xfa\\xf1\\x66\\xaa\\xed\\x99\\xe7\\x06\\x1f\\xf9\\x62\\xe2\\xdd\\x2b\\xae\\x49\\x0f\\xfe\\x16\\x3b\\xa8\\xb0\\x5a\\x6d\\x55\\xff\\x81\\xf3\\xaf\\xae\\xf3\\x5e\\x5e\\xa2\\x7a\\xd4\\xcb\\x9b\\xfa\\xa5\\x5a\\xfc\\xfa\\x16\\xf7\\x8a\\xe5\\xae\\x37\\xdf\\xc9\\xbe\\x7e\\x7c\\x94\\x9a\\x65\\xd8\\x33\\x47\\x3f\\x31\\xf9\\xf9\\x37\\x5c\\xf7\\xde\\x6b\\xef\\xbe\\xe0\\xee\\xfa\\x83\\x46\\x54\\x0b\\x2e\\x35\\x4a\\xde\\x34\\x66\\x54\\x7f\\xa0\\x71\\xbb\\x2c\\x5f\\xb0\\x5d\\x8b\\x4e\\x0d\\xd2\\x83\\xf7\\xc7\\xea\\x5a\\xb3\\x4b\\x4e\\xe8\\xa4\\xa3\\xc2\\x7e\\xbf\\x54\\x93\\x58\\xea\\xad\\xbe\\xe4\\x18\\xee\\x40\\xa8\\x96\\xd4\\x75\\x54\\x8f\\x8d\\x8e\\x69\\x90\\xd0\\xb4\\x46\\x8d\\x84\\x98\\x58\\x4a\\xdb\\xdf\\x32\\xb9\\xf9\\x1b\\xc5\\x9e\\xe4\\xd5\\x43\\x3c\\x8d\\x68\\x9d\\xd5\\x1d\\x6e\\xef\\x1b\\xc5\\xa6\\x7b\\xf5\\x10\\x33\\x93\\xb6\\x46\\x4c\\xea\\x43\\x7e\\x75\\xb7\\x5f\\x4d\\xf5\\xab\\x51\\x7e\\xd5\\xdf\\xaf\\xf2\\xfc\\xaa\\x95\\x5f\\x65\\xf9\\x55\\x8a\\x5f\\x9d\\xf2\\xab\\x43\\x7e\\x25\\xdb\\xfc\\x6a\\xa3\\x5f\\xad\\xf2\\xab\\x67\\xfd\\xea\\x01\\xbf\\x9a\\xe9\\x57\\x37\\xfa\\x55\\x89\\x5f\\xf5\\xf5\\xab\\x80\\x5f\\x35\\xf3\\xab\\xba\\x7e\\x95\\xe8\\x57\\x36\\xbf\\x1a\\xfb\\x8b\\x5f\\x1d\\xf5\\xab\\xcf\\xfc\\x6a\\x83\\x5f\\xbd\\xea\\x57\\x4b\\x2b\\x05\\xa6\\x58\\xea\\x07\\xfa\\x55\\x0b\\x8b\\x3b\\xde\\xe2\\xfe\\xc9\\xaf\\xca\\xfd\\x6a\\x97\\x5f\\xbd\\xe7\\x57\\x6f\\x54\\x51\\x3d\\xc6\\xaf\\x0a\\xfd\\xaa\\x8b\\x5f\\xb5\\xb4\\x1c\\x31\\x2c\\xce\\xc3\\x96\\xda\\xf7\\x2a\\xfd\\x78\\xc4\\xaf\\xee\\xf5\\xab\\xab\\x2c\\x97\\xf3\\x23\\x2e\\x07\\x6e\\xd2\\x6e\\x38\\xfc\\xaa\\xf5\\x8e\\x2a\\x1e\\xc3\\x79\\x8b\\xa5\\xb3\\xbb\\xa5\\xb0\\x5e\\xa5\\xaf\\xb8\\xfa\\xb9\\x5f\\xad\\xf5\\xab\\x67\\xfc\\xea\\xa1\\x2a\\xa6\\xdb\\xfa\\x95\\xcf\\xf2\\x50\\x89\\x5f\\x9d\\xf4\\xab\\x83\\x96\\x8b\\x6f\\xfa\\xd5\\x4b\\x7e\\xb5\\xc4\\xaf\\x26\\x5b\\xa1\\xe3\\x5f\\xae\\x5f\\xa5\\xf9\\x55\\xac\\x5f\\x39\\x8d\\x11\\x17\\x2d\\x51\\x17\\x2d\\x67\\xff\\x79\\xe1\\xfb\\x0f\\xcb\\xde\\x25\\xcc\\x23\\xaa\\x2e\\x7b\\x9d\\x3a\\xe9\\x7f\\x60\\x25\\xd5\\x6a\\x2e\\x29\\xe2\\xb8\\x70\\xfd\\x66\\xd4\\xcd\\xa2\\x62\\x73\\x5a\\x24\\xab\\x0c\\x95\\x93\\xd9\\x22\\x39\\xa9\\xb2\\x4b\\xb5\\xcc\\xca\\xa8\\x4b\\xe1\\x26\\xe7\\xb4\\xb8\\xe8\\xd9\\x51\\xb1\\xea\\x95\\xb2\\x57\\x97\\xaf\\x5b\\xb5\\xec\\x6c\\xe7\\x4f\\xcc\\xc7\\xb6\\x9f\\xdd\\xfd\\xda\\xcb\\xaf\\x97\\xbd\\xf2\\xea\\x72\\x7b\\xf3\\x0e\\x3d\\x0a\\x3b\\x04\\x7a\\x76\\x0f\\x9c\\x8b\\xe5\\xa9\\x63\\xe7\\x9e\\x3d\\x3a\\xa9\\xb2\\x7d\\x47\\x0f\\xef\\x3f\\xf8\\xf5\\xa1\\xf3\\x53\\xec\\x33\\x3c\\xe5\\x5f\\xed\\xab\\x38\\xb2\\xff\\xd0\\x97\\xe7\\xbc\\x4b\\x66\\xcf\\x7d\\x72\\xe9\\xdd\\xb3\\x8d\\xf5\\x4f\\xce\\x9e\\xf5\\xd4\\x53\\xb3\\xf4\\xf7\\xd3\\xc1\\xa1\\xe3\\xf6\\x59\\xf6\\x39\\x52\\x4f\\x9a\\x49\\x3b\\x19\\x1d\\xe8\\x90\\x90\\x98\\x59\\xad\\x91\\xdd\\x4f\\x0d\\x57\\x4b\\x4c\\x6b\\x62\\xc6\\xe6\\xc4\\x25\\xfb\\x9a\\xc7\\xb4\\xbf\\x3c\\x27\\xd6\\x6c\\x62\\x73\\xa5\\xb6\\xa9\\xdb\\xa6\\x77\\xb1\\xaf\\x79\\x72\\x9c\\xad\\x6e\\x6c\\x82\\x37\\xc1\\xa8\\x6e\\x26\\x24\\xb8\\x6a\\xd7\\x4d\\x76\\x35\\xe8\\x5b\\xcc\\x02\\xdd\\x49\\x87\\xcd\\xe2\\xa6\\xa7\\x30\\x6b\\x95\\x9e\\xc5\\xd6\\xb2\\x55\\x05\\x03\\xce\\x03\\xcc\\xd5\\x48\\xf8\\x49\\x89\\xd5\\x95\\x33\\x39\\xa5\\x55\\xeb\\x14\\x87\\x93\\x30\\x5b\\x27\\x69\\x18\\xea\\xeb\\x1f\\x95\\xc1\\xa7\\x74\\x34\\x4c\\x7a\\xc2\\x28\\x0c\\x7e\\xa6\\xac\\xc7\\xa6\\xd7\\x5f\\x78\\xf7\\xca\\x85\\x2f\\x5d\\x7d\\xff\\xb8\\x56\\xdb\\x73\\xef\\x18\\x38\\xb4\\x73\\xcb\\xd6\\xbd\\x06\\xbe\\xdc\\x6d\\xd9\\xf6\\x8a\\xa0\\x19\\xdd\\xab\\xf3\\x15\\x7d\\x5a\\x8d\\x1f\\xd2\\xbc\\xef\\xf3\\x13\\x96\\xdf\\x35\\xb9\\xf3\\x78\\x35\\x63\\xd6\\xce\\xbe\\x8f\\xcc\\x58\\xfc\\xe2\\xd2\\x39\\x57\\xdc\\x3e\\xa1\\x70\\xc5\\xd3\\x4f\\x6d\\xcd\\xff\\xf6\\xcd\\xee\\x9e\\x8f\\x92\\x3b\\x5e\\x3e\\x63\\xb7\\xf9\\x64\\xdb\\x82\\x81\\xdd\\x06\\x4d\\x68\\xd2\\x31\\xff\\xdc\\xa6\\xb5\\x1b\\xfa\\x3c\\x7e\\xf5\\xcd\\xcd\\x44\\xc9\\x44\\xb6\\x8d\\x3b\\xac\\x3d\\x88\\x95\\xca\\x34\\x0c\\x9b\\x5d\\xef\\x3b\\x7a\\xdb\\x69\\x14\\xde\\xc8\\x22\\x9b\\xcd\\x55\\x5f\\xd4\\x54\\x1e\\xbd\\xc5\\x20\\x33\\x26\\x38\\xc8\\x78\\xc1\\xfe\\xb1\\xc4\\x48\\xdd\\x80\\x47\\xff\\x17\\x11\\xa2\\xcc\\x18\\xa7\\x69\\xc6\\xea\\xff\\x06\\x5e\\x1a\\x05\\x11\\x81\\xa0\\x79\\x33\\x0d\\x81\\xca\\x32\\xe2\\x3c\\xf1\\xad\\xd3\\x1d\\xba\\x49\\x51\\x0b\\x9f\\x9c\\x3f\\xff\\x49\\x55\\xe3\\xa9\\x85\\xf7\\x2d\\x09\\x0e\\x2a\\x57\\x1b\\x55\\x2a\\xab\\xd6\\x3b\\x5f\\x1f\\x0e\\xb6\\x0f\\xfe\\x10\\x3c\\x11\\xec\\xf4\\xad\\xfe\\xb7\\x53\\xa0\\x3f\\xb7\\x52\\x7f\\x8c\\x38\\x1d\\x66\\x94\\x38\\xa2\\xfe\\xa4\\x3f\\x02\\x70\\xab\\xf8\\x38\\x8f\\x51\\x3f\\x3d\\x59\\x37\\x4e\\x63\\xe9\\x82\\x45\\x5a\\xfd\\xbc\\x79\\x4f\\x05\\x07\\x7d\\xa7\\xde\\x56\\xf1\\x2a\\x41\\x6d\\x2e\\x3f\\x14\\xec\\x18\\x3c\\x1e\\xfc\\x2e\\xd8\\xf1\\xb0\\xfe\\x77\\x5a\\x38\\x8c\\x59\\x66\\x1a\\x31\\x57\\x97\\x41\\x81\\xa6\\x5c\\x98\\x1c\\x6e\\x7b\\x94\\x9d\\xfd\\xce\\xe6\\x8a\\xaa\\x1e\\x13\\x63\\x44\\x45\\x19\\xb1\\x1e\\x9b\\xcb\\x74\\x1b\\x51\\xaa\\x5a\\xb5\\x28\\xb7\\xc3\\x65\\x8f\\x71\\x8a\\x5d\\xd9\\xed\\x31\\x7a\\x37\\xce\\x1e\\x96\\x73\\xd1\\x8e\\xa5\\x8f\\x7e\\xf1\\xfa\\x3d\\x7c\\x04\\x8c\\xb3\\x76\\xad\\xd6\\x29\\xce\\x14\\x67\\x7d\\x67\\xfd\\xd6\\xf5\\x5b\\xa7\\x98\\x39\\xea\\xf8\\xb1\\xdc\\x33\\xeb\\xd6\\x3c\\xf0\\xf0\\xba\\xb7\\xce\\xe4\\x9e\\x88\\xdf\\x63\\x9b\\x34\\x6e\\x73\\x87\\xdd\\xb7\\x9c\\x3b\\x77\\xdb\\xce\\x0e\\x9b\\xc7\\xa9\\x78\\x7c\\x1a\\x28\\x4f\\xdb\\x8a\\x6d\\x2b\\x59\\x43\\x33\\x03\\x71\\x6e\\x11\\x87\\x69\\xc6\\x44\\x73\\x8e\\xb7\\xbd\\x5c\\xec\\xb6\\xbf\\x5a\\xe5\\x10\\x50\\x79\\xb4\\x88\\xcb\\x88\\x4b\\xf7\\xa7\\x63\\x2f\\x3d\\xc9\\xd8\\x52\\x1e\\xbc\\x5e\\x2d\\x2c\\x57\\x0f\\x18\\x6d\\x83\\xe3\\xd4\\x63\\x07\\xd5\\x63\\xc1\\x71\\x07\\xf5\\xda\\xac\\x64\\x5e\\xf0\\x5d\\x55\\xa6\\x9a\\x4b\\x14\\x58\\xc6\\x99\\xb6\\x28\\x82\\x8c\\xae\\xe6\\x72\\x3f\\x31\\xc4\\x65\\x7b\\x61\\x88\\x8b\\x43\\x4b\\xa3\\x2a\\x87\\xd7\\x4c\\x36\\x9b\\x8c\\x8e\\xca\\x8f\\x6a\\x55\\x96\\xd3\\x76\\xed\\xe5\\x3d\\x66\\xa8\\xf4\\x2e\\x37\\xaf\\xe9\\xdd\\x6d\\x59\\x2f\\xfd\\x57\\x2e\\xd1\\x57\\xa8\\x1e\\x37\\x8a\\x8c\\x05\\xd4\\x4b\\x72\\x20\\x4a\\x38\\xb2\\x2a\\x59\\x57\\xac\\xd6\\x47\\xca\\x85\\xd0\\x13\\xfc\\xe9\\x49\\x85\\x86\\x4b\\x3d\\x7e\\xea\\x94\\x65\\x9f\\x1f\\xcb\\x91\\x35\\x25\\x25\\x10\\x65\\xea\\xff\\x06\\x9e\\xa8\\x27\\x86\\x08\\x86\\x2b\\xcb\\x8b\\x08\\xe2\\xe6\\xa9\\x74\\xd5\\x3c\\xf8\\x29\\xfc\\x89\\xa1\\x3d\\x46\\x26\\xb9\\x37\\x25\\xfe\\x0d\\xc3\\xae\\xff\\xab\\x00\\xf0\\x76\\x8a\\x53\\x96\\x7f\\x29\\x2a\\x47\\x25\\xaa\\x8c\\x1f\\x82\\xe5\\x0d\\xed\\xa7\\xcf\\x54\\xd3\\xe7\\x9c\\x3e\\xa1\\xe3\\x36\\xaf\\xfd\\x11\\x70\\x4b\\x93\\x06\\x81\\xc4\\x44\\x7b\\x34\\x1b\\x52\\xed\\x5a\\x6e\\x4f\\x69\\xb1\\xdb\\x69\\xa6\\x96\\xb2\\xad\\x84\\x27\\x6a\\xd5\\x38\\x95\\xc7\\xc8\\xf0\\xc5\\xb5\\x8c\\x67\\x56\\xc6\\xeb\\x2d\\x33\\xa3\\x6e\\x75\\xa5\\xf7\\xcf\\x9c\\x16\\x1d\\x95\\xcd\\x7b\\xfa\\x74\\xb0\\xd6\\x84\\x5d\\xaf\\x9c\\xf9\\x26\\x78\\x34\\xab\\x7f\\xe1\\x80\\x41\\x99\\xf5\\x07\\xf4\\x29\\x1c\\x54\\xdf\\x78\\x27\\xf8\\x44\\x70\\x91\\xb1\\xfb\\xbc\\x0a\\x3c\\x16\\x7c\\x24\\xf8\\xf0\\xbb\\x7b\\x87\\x8f\\xd8\\xf3\\xee\\x3b\\x9f\\x0f\\xbf\\x7a\\x1f\\x7e\\xcf\\x88\\xfc\\xb7\\x20\\xa3\\xa4\\x51\\x20\\xd1\\xe6\\x32\\x8c\\x6a\\xd1\\x76\\x5b\\xc0\\x74\\x38\\x5c\\x4a\\x14\\x47\\x86\\x54\\x8d\\x90\\xe4\\xb0\\x60\\xd4\\xdc\\xda\\x22\\x92\\x47\\x62\\x27\\x83\\x76\\x7f\\x26\\x77\\x86\\xa4\\x19\\x6a\\x58\\xf0\\x15\\x35\\x52\\x45\\xa9\\xae\\xdb\\xcd\\x77\\x76\\x7e\\x79\\xe4\\x6c\\xe1\\x76\\xf4\\x76\\x43\\x6f\\x3a\\xf1\\xd5\\x92\\x0e\\x01\\x6f\\x4d\\x89\\x8e\\x71\\x26\\xd4\\x4a\\x88\\xe1\\xa2\\x52\\xdb\\x29\\x9e\\xe8\\x68\\x8f\\xc7\\x5d\\xca\\x4e\\x2a\\x35\\x4b\\xc3\\x26\\xac\\x40\\x31\\x93\\xad\\x4b\\xb2\\xea\\x34\\xc9\\xf1\\x77\\x54\\xad\\x49\\x6d\\x4b\\x16\\x1a\\x67\\x66\\x47\\x15\\x5e\\x8f\\x6c\\xce\\xf4\\xa4\\x6e\\xad\\x3f\\xfa\\xc7\\x43\\x37\\xad\\x1d\\x3c\\xa2\\x7a\\xf0\\x48\\xea\\xe9\\x9d\\x87\\x4f\\x5d\\x79\\xeb\\xc3\\xf3\\x4b\\x6b\\x19\\xf7\\xbd\\x7b\\xcb\\xd1\\x3b\\x6e\\x5e\\xdc\\x73\\xcd\\xc8\\x91\\x9e\\x4d\\x9f\\x6c\\x5b\\x7f\\xf5\\xd2\\x59\\x37\\x4e\\x9e\\xd2\\xb9\\x22\\x5c\\x57\\xd9\\xa1\\x6f\\x6d\\x0d\\xf1\\xab\\x81\\x3c\\x1c\\x28\\x71\\x3a\\xd2\\x6a\\x25\\xd5\\x8d\\x16\\xa9\\x9b\\xe9\\xa9\\xe5\\x70\\x34\\xbc\\x2c\\x33\\x8e\\x93\\x62\\x69\\xf1\\xba\\x38\\xf5\\x78\\x9c\\x9a\\x1d\\xa7\\xf2\\xe3\\x54\\xfb\\x38\\x55\\x33\\x4e\\xb9\\xe3\\x54\\x74\\x5c\\x9c\\xe9\\x8d\\x4d\\x1b\\x91\\x66\\xc4\\x98\\x69\\x69\\x5e\\x2f\\x39\\xf2\\x3a\\x4d\\xc2\\xf0\\x39\\x4b\\x9c\\x93\\x9d\\x65\\xce\\x0d\\x4e\\x7b\\x33\\x67\\xc0\\x39\\xdd\\xb9\\xc8\\xb9\\xcd\\x69\\x77\\x3a\\x75\\x06\\x99\\x75\\xd7\\xff\\x11\\x9c\\x3e\\x07\\xb3\\xee\\x56\\x6e\\x4b\\xa4\\x56\\x2e\\x5d\\x77\\x55\\xa2\\x2d\\xa3\\x6e\\xbd\\xfa\\x99\\x7a\\x25\\xf5\\xb7\\xcc\\x6a\\xa4\\xfc\\xe1\\x07\\x2b\\xfc\\x56\\xf5\\xac\\xf0\\x39\\x59\\xd5\\x51\\xb6\\x86\\xc1\\x73\\x27\\x0f\\x05\\x4f\\xa5\\xa8\\x3a\\x69\\x1f\\x8f\\x9e\\x3c\\xfb\\xde\\xab\\x86\\xde\\x72\\xeb\\xc8\\x61\\x83\\xae\\x71\\x05\\x2b\\x92\\x95\\xb1\\xed\\xcb\\xdf\\x9f\\x78\\xe0\\x99\\x15\\x6a\\xd6\\x7b\\x7b\\xb7\\x6f\\xae\\xf1\\xd1\\xa8\\xb1\\xc3\\x47\\x1d\\xba\\x7a\\xe8\\xa0\\xab\\x4b\\x8a\\x12\\xdf\\xf8\\x64\\x4b\\xd9\\xcc\\x65\\xb5\\x6c\\x09\\x2b\\xa8\\x43\\x2f\\x79\\x1a\\x67\\xe5\\x3f\\x5e\\xda\\x05\\x6a\\xc5\\xd9\\x1d\\xf1\\x06\\xb3\\xc0\\xae\\x12\\xb8\\x91\\xc7\\xd9\\xa6\\x16\\xbb\\xec\\x71\\x71\\xaa\\xba\\xc3\\xa1\\x48\\x93\\xb5\\x6b\\xe4\\xfc\\x71\\xae\\xb7\\xe6\\x74\\x64\\x5a\\x53\\x0b\\x7e\\xc5\\xbc\\x4e\\x52\\xec\\x1c\\x0e\\xa7\\x4a\\x37\\x97\\x07\\x4f\\x9d\\x9f\\x66\\xf4\\x53\\xed\\xd6\\x07\\xdb\\x38\\x8d\\x9a\\xb9\\xc1\\xb5\\x6a\\xb1\\xf2\\x06\\xbf\\x56\\xde\\x9d\\xe6\\xc2\\x73\\x93\\xb6\\x1b\\x4f\\xb5\\xba\\x33\\xbe\\xcd\\x04\\xfd\\xaf\\x07\\x54\\xd2\\x89\\xf9\\xa0\\xeb\\xb0\\x96\\x94\\x06\\xba\\xc6\\x27\\xa4\\xa6\\x24\\x26\\x4a\\x82\\xd3\\x91\\x9a\\x40\\x76\\x92\\x13\\x1c\\xb6\\xda\\x75\\x12\\x6a\\xd6\\x24\\x35\\xb1\\x35\\xbd\\x35\\x47\\xd4\\xe4\\x06\\x51\\xb3\\xa6\\x99\\x98\\x98\\x32\\xb5\\x38\\x91\\x55\\xb6\\xb4\\xb8\\x93\\x73\\xa1\\xf3\\x80\\xd3\\x3c\\xe1\\x54\\x01\\xa7\\xba\\x00\\x7d\\x25\\xf6\\xc0\\xfc\\x97\\x07\\x56\\x6b\\xf9\\x8b\\xd7\\xeb\\x5e\\xa2\\xe8\\x3d\\x2d\\x53\\x4f\\xa5\\x30\\xda\\xce\\xf4\\x84\\x74\\x0e\\xea\\x7a\\xff\\xb3\\xb5\\x0b\\x7e\\xfb\\xf3\\xae\\x50\\x1d\\x55\\x23\\x79\\xf2\\x80\\xf1\\x77\\xdc\\x38\\xe1\\x86\\x1e\\xc1\\x1f\\x9a\\x9b\\xbd\\xcf\\x97\\xa5\\x8c\\x79\\xfc\\x83\\x1f\\xd5\\xee\\x83\\xc1\\x5f\\xdf\\x7e\\x3d\\x65\\x70\\xdf\\x7b\\xef\\x9c\\x74\\xcf\\x10\\xb3\\xc6\\xf6\\xe0\\xe2\\xc1\\x67\\xf4\\x1c\\xef\\x49\\x4c\\xba\\xd6\\x52\\xb8\\xd5\\x5c\\x11\\x68\\x58\\x27\\xde\\x11\\x13\\x9d\\x2a\\x12\\xed\\x30\\x33\\xeb\\x25\\xa5\\x4d\\xe5\\x42\\x92\\xe4\\x36\\xdd\\xb1\\x4c\\x81\\x18\\x55\\xdd\\x8c\\x89\\x61\\xe2\\xa7\\xff\\x31\\xf1\\x73\\xc2\\x1e\\x5b\\xbe\\xe7\\x54\\x3d\\xa2\\x58\\x55\\x62\\x64\\xd4\\x95\\x38\\x8f\\xe0\\x5e\\x8a\\xdd\\xda\\x84\\xad\\xa9\\x61\\xaf\\x72\\x1a\\xb1\\x35\\x3c\\xf7\\xd5\\xef\\xc1\\xd3\\x2a\\xf6\\xdc\\x6b\\x9f\\x36\\x0a\\xfe\\x9a\\x35\\xf3\\xfa\\x19\\x4d\\x96\\x8e\\xfe\\xf7\\xfe\\xe0\\xd1\\x49\\x23\\x87\\x4d\\xbe\\x61\\xc4\\x88\\x09\\x6a\\xeb\\xd7\\x6c\\x8b\\xc3\\xd4\\x20\\x75\\x8b\\xba\\xe3\\xa9\\xe7\\x33\\xe7\\x95\\x1f\\xed\\x59\\x78\\xf2\\xb3\\x9b\\xa7\\xdd\\x74\\xd5\\x6d\\x4f\\xcf\\x0a\\xcf\\x97\\x22\\xea\\xa3\\x06\\x79\\x89\\x91\\xcb\\x02\\x89\\x51\\x76\\x87\\x43\\xaa\\x71\\x5c\\xae\\x2e\\xd5\\xa2\\xab\\x95\\x16\\x47\\x3b\\xec\\xba\\x2a\\xfe\\xa8\\x07\\x0d\\x68\\x0b\\xdc\\x73\\x44\\x19\\x49\\xe9\\x2d\\x6b\\xaa\\x04\\x96\\x7a\\x5b\\x8d\\x11\\x2f\\xde\\xd9\\x3d\\xf8\\xc5\\xd0\\x57\\x8e\\x9c\\xcf\\x35\\xdf\\xb1\\x3d\\xf3\\x48\\xf0\\x68\\xf0\\x50\\x70\\xe7\\x0b\\x65\\xaa\\xbb\\x1a\\xa0\\x7a\\x55\\x58\\x77\\x99\\xce\\x60\\xd5\\x12\\xac\\x6a\\x80\\x55\\x53\\x8d\\x56\\x43\\x87\\x37\\xa6\\x66\\x42\\x3d\\x91\\x84\\x64\\x77\\x8c\\xc3\\xd1\\x2c\\x3b\\xd9\\x9d\\x9e\\x95\\x9e\\x75\\x43\\x71\\x7a\\xba\\xe9\\xf1\\xd4\\xbe\\x81\\xd5\\xc3\\x6c\\x7c\\x43\\xd5\\x65\\x52\\x03\\x65\\x35\\x7f\\x3d\\xa7\\xac\\xdb\\x47\\x53\\x55\\x79\\xa6\\xb1\\x26\\x91\\x75\\x80\\x49\\x4a\\x04\\xad\\x84\\x96\\x7f\\x00\\xd7\\x32\\x78\\xe6\\xe7\\x1f\\x83\\xbf\\x2e\\xbe\\x7b\\xca\\xfc\\xd3\\x07\\x8f\\x9c\\x9e\\x77\\xc3\\xec\\x27\\x82\\xeb\\x87\\x0e\\x7b\\x63\\xcd\\xd0\\x21\\xe9\\xfb\\xc7\\x4c\\xbc\\x76\\xd2\\xc4\\xb1\\x6a\\xc1\\x7b\\x5f\\xec\\xdb\\x3c\\x6b\\x6d\\xb2\\xad\\x46\\x59\\xe9\\xcb\\xef\\xbf\\xbb\\xaa\\xf4\\x95\\x14\\x5b\\xf2\\x6b\\xea\\x97\\x51\\xc3\\xde\\xf9\\x70\\x78\\x50\\xbe\\x9c\\x3a\\xf1\\xf6\\x29\\x53\\xa8\\x81\\x6e\\xc4\\x55\\x3f\\x52\\x03\\xfd\\x02\\x4d\\xeb\\xc4\\x53\\xd3\\x94\\xb4\\x23\\x9e\\x1a\\x88\\x4d\\x9f\\x5a\\x1c\\x1d\\x1b\\xeb\\x8d\\x35\\xdc\\x66\\x6c\\x6c\\x92\\x99\\x94\\x56\\x5a\\x9c\\x64\\x2d\\x29\\xf2\\x47\\x11\\x5f\\x52\\xc2\\x17\\x2a\\xa1\\x32\\x36\\x4f\\xb8\\x72\\xb5\\xe3\\xad\\xab\\x2b\\xeb\\x80\\xca\\x2a\\x11\\x7f\\x51\\x25\\xd4\\x0f\\xfe\\x70\\x6e\\xdd\\xce\\xc6\\xca\\x55\\x7f\\xc1\\x8d\\xd3\\x8c\\xac\\x97\\x47\\xad\\xfb\\x42\\xa9\\x63\\xe7\\x7f\\x0d\\xee\\x29\\x1d\\x31\\xec\\x9a\\x09\\x23\\x06\\xdf\\x64\\xec\\x09\\xce\\x09\\xce\\x5f\\xb2\\x3c\\xf3\\xc1\\xf2\\xaf\\x7a\\x0e\\x38\\xbf\\xf7\\xab\\x33\\xc1\\xa7\\x9f\\xb8\\xfb\\x89\\x59\\x37\\xdd\\xb0\\xe0\\x36\\xeb\\x5e\\xbe\\x99\\x62\\x38\\x62\\x8b\\xb2\\xbe\\xff\\x74\\x09\\x54\\x98\\x4e\\xfd\\x65\\xce\\xcd\\x26\\xb1\\x78\\x48\\xac\\xca\\x56\\xbd\\xd5\\x24\\xb5\\x50\\xd9\\xa3\\x4d\\x15\\x48\\xae\\x5b\\xa0\\x6c\\xf6\\xc5\\x43\\x6c\\x0b\\x2b\\x3f\\xa9\\x78\\xdd\\x2a\\xd6\\xad\\x42\\x6e\\x75\\xa2\\xf2\\x43\\x0a\\x43\\x23\\xdc\\xaa\\xb7\\xf5\\xa9\\x45\\xdc\\x6a\\xdc\\xa7\\x6e\\xf5\\xb6\\x5b\\xad\\x70\\xab\\x45\\x6e\\x35\\xdd\\xfa\\x70\\xd2\\xa9\\x52\\xe6\\xa0\\x5b\\x4d\\x73\\xab\\x49\\x96\\x40\\x33\\xeb\\x5b\\x0b\\x5a\\x0e\\x58\\xfc\\x4b\\x2d\\xfe\\x6c\\xcb\\x00\\x5a\\xda\\x9c\\xb4\\xb8\\xd1\\xb2\\xc4\\xb2\\x30\\xad\\x8a\\xfd\\xb0\\xcc\\x06\\x4b\\x20\\x6c\\xb9\\x93\\xa5\\x2b\\xfc\\x45\\x28\\x6c\\x7e\\x49\\xa5\\xed\\xf0\\x57\\xa0\\x58\\xeb\\x63\\xcc\\x9f\\xae\\x19\\x7f\\xbe\\x5c\\x5c\\x32\\x30\\xfc\\xe2\\xbb\\x89\\xf5\\x7d\\x25\\xbb\\x51\\x78\\x2e\\xff\\xf1\\xb9\\x4d\\x7f\\x5d\\x81\\x36\\x2b\\x5f\\xf0\\xa0\\xf2\\x19\\x27\\x55\\xcd\\xe0\\xd1\\xf3\\x1e\\x55\\x23\\x58\\x11\\xfe\\x0e\\xf2\\x2e\\xe7\\x9f\\x0a\\x0b\\xef\\xea\\xaa\\x7b\\xe0\\x7b\\xb3\\x7a\\xf5\\x68\\x89\\x76\\x99\\x9e\\xd8\\xbf\\x41\\x3c\\x3a\\x66\\xf1\\x90\\x68\\xd7\\x0b\\x43\\xa2\\x17\\x7a\\x54\\x89\\x47\\x15\\x7a\\x94\\xd7\\xa3\\x62\\x3d\\x2a\\xe4\\x51\\x27\\x3c\\x6a\\x9b\\x47\\x6d\\xf0\\x28\\x86\\x46\\x78\\x54\\x6f\\x8f\\x6a\\xe6\\xd1\\xff\\x8a\\x8a\\x71\\x9f\\x7a\\xd4\\xdb\\x1e\\xb5\\xc2\\xa3\\x16\\x79\\xd4\\x74\\x8f\\x9a\\xec\\x51\\x9d\\x2a\\x65\\x0e\\x7a\\xd4\\x34\\x8f\\x9a\\x64\\x09\\xc0\\xed\\xb3\\xb4\\x1c\\xb0\\xf8\\x97\\x5a\\xfc\\xd9\\x96\\x01\\xb4\\xb4\\x39\\x69\\x71\\xa3\\x65\\x89\\x65\\x61\\x5a\\x15\\xfb\\x61\\x99\\x0d\\x96\\x40\\xd8\\x72\\x27\\x4b\\x97\\xc7\\x92\\x0c\\x9b\\x5f\\x52\\x69\\x1b\\x91\\x80\\x65\\xfe\\xff\\x23\\xd4\\xab\\xc2\\x9e\\xf2\\x07\\xec\\x35\\xd4\\x1f\\x87\\xc5\\x2d\\xca\\x97\\xd3\\x76\\x4d\\x20\\x6f\\xc6\\x85\\x0c\\xf4\\xe5\\xd0\\xd8\\xe7\\xb9\\x6e\\xfa\\x1f\\xd7\\xd6\\x67\\xdb\\x3b\\x38\\xdb\\x6e\\x15\\x87\\xb4\\x0c\\xd4\\x32\\x1d\\xfa\\x53\\x34\\x05\\x6f\\xb3\\x19\\xf6\\x4e\\x0e\\xe5\\x30\\x47\\x18\\x88\\xa9\\x58\\x43\\x19\\xc2\\x56\\x33\\xcc\\x3a\\x60\\xb7\\xed\\xc0\\xfe\\x68\\x19\\xd4\\xc6\\x54\\x92\\x5b\\x25\\x0d\\xb4\\x99\\xe7\\xde\\x36\\x3b\\x1b\\x36\\xd5\\x45\\xcd\\x3a\\x1c\\x7c\\x33\\xb8\\xfe\\x10\\xf9\\x1d\\xa0\\x32\\x6c\\x45\\xb6\\x86\\xd6\\x37\\xb4\\xa1\\x81\\x8e\\x4e\\x53\\xff\\xfb\\x2f\\xdd\\x9c\\xd6\\xab\\x39\\x6c\\xf6\\x97\\x8b\\x0f\\xd8\\x54\\xac\\xcd\\x6b\\x5b\\x68\\x33\\xdd\\xa6\\x2d\\x90\\x58\\xa3\\xc0\\x16\\x2b\\x0c\\x29\\x79\\xb9\\xb8\\x99\\x9a\\xac\\x0c\\x9f\\x0a\\xa8\\x12\\x1e\\x96\\xaa\\x0d\\x8a\\x5e\\xeb\\x94\\x41\\xac\\xe1\\x88\\xc3\\xcf\\x95\\x5e\\x70\\xae\\x55\\xd0\\x00\\x9b\\x79\\xf6\\xbc\\xcd\\x34\\x7b\\x1c\\x38\\x70\\xfe\\xf3\\x2f\\xbf\\xbc\\x38\\xbe\\x16\\x81\\x34\\x87\\xc1\\xa9\\xd8\\xe9\\x72\\xd8\\x0d\\xc3\\x1c\\x61\\x53\\x3e\\xed\\x80\\xb2\\xe9\\x7f\\x97\\x0b\\x07\\xd9\\x61\\x2d\\xac\\x08\\xab\\x46\\xd7\\xda\\xef\\x56\\x7e\\x15\\x37\\xd0\\x0c\\x9c\\xdb\\x60\\x33\\xef\\x38\\xa4\\x72\\x55\\xde\\xe1\\xe0\\x2d\\xc1\\xb7\\xc2\\xf5\\x3b\\x9c\\x7d\\x63\\x22\\xeb\\x5e\\x4d\\xa9\\x23\\x3d\\x02\\xbe\\x3a\\x69\\x89\\x49\\x4e\\x57\\x75\\x11\\x57\\x5a\\x92\\xcd\\xe7\\xad\\x9e\\xea\\x72\\xd5\\x4a\\x4d\\xab\\xf5\\xe4\\x90\\xb4\\xa4\\xc4\\xc4\\xd4\\xd4\\xb8\\x35\\x2a\\xe9\\xd5\\xe2\\x54\\x5b\\xe4\\xb0\\x99\\x5d\\xb9\\xe0\\xc5\\xff\\x79\\x29\\x77\\xc4\\x2a\\xae\\xa3\\xe9\\x91\\x53\\xe1\\x1f\\xe7\\x22\\x9b\\x9e\\x4e\\xb6\\x89\\x83\\x6e\\xea\\x95\\xdb\\xd5\\x0c\\x9e\\x76\\x8c\\x1d\\x75\\x4d\\x51\\xe9\\x84\\xd1\\x73\\xa2\\x83\\x87\\xd2\\x54\\xea\\xc1\\xef\\x55\\xec\\xf9\\xee\\x2a\\xdd\\x66\\x8c\\xfc\\xc7\\x80\\xd6\\xcd\\x47\\xb5\\x1f\\xb3\\x34\\xbf\\xc7\\xf5\\x79\\x45\\x63\\x6e\\x1c\\x19\\xfd\\x51\\xf9\\x9e\\xb3\\x9d\\xad\\x4f\\x9b\\xf8\\x7d\\x43\\x70\\xbd\\x73\\xa0\\xfd\\x15\\x09\\x48\\x6f\\x99\\x15\\xe8\\x55\\xcb\\xd5\\xa8\\x6d\\x81\\xc7\\xd5\\xb9\\x73\\x8d\\x1a\\xa9\\x19\\x22\\x2d\\x6a\\x78\\xda\\xda\\xfb\\x14\\x36\\x6f\\xee\\x8f\\xf1\\xf6\\x8c\\xe9\\xb9\\xbb\\xd8\\x16\\x93\\x98\\xbb\\xbb\\x38\\x35\\x31\\x25\\xd1\\x93\\xb8\\x21\\x71\\x5b\\xe2\\xc1\\x44\\x5b\\x6c\\x8c\\x37\\xc6\\xa8\\x66\\xc6\\x24\\xc6\\x24\\xfa\\x3b\\x74\\xa8\\xbf\\xbb\\xb8\\xc3\\x3e\\x7f\\xf6\\xee\\x62\\xff\\x17\\x55\\x36\\x2a\\x42\\xd3\\x8b\\xf9\\xb0\\xb8\\x1c\\xcf\\x26\\x1d\\x71\\x78\\x07\\x6d\\xab\\x8f\\xbf\\x97\\x7c\\x89\\x08\\x07\\x6d\\x84\\xbf\\x3c\\xb4\\xce\\x88\\xac\\xf0\\xfa\\x06\\x90\\x92\\xd3\\x3a\\xc7\\x0c\\xaf\\xf0\\x1a\\x09\\xa3\\x5e\\x46\\x5d\\x9b\\x91\\x94\\x18\\x6f\\xcb\\xf1\\x65\\xfe\\x3f\\xac\\xbd\\x79\\x60\\x14\\x45\\xf6\\x38\\x5e\\xaf\\xfa\\x98\\xab\\x67\\x7a\\xce\\xee\\x39\\x92\\xcc\\x4c\\x4e\\x20\\x60\\x42\\x0e\\xc2\\x69\\x46\\x44\\x41\\x50\\x13\\x10\\x81\\x31\\x86\\x44\\x41\\x05\\x3c\\x08\\xb7\\x20\\x1a\\x50\\x0e\\x01\\x15\\x14\\x5d\\x0f\\xe4\\x58\\x65\\x5d\\x45\\x84\\x88\\xd1\\x8d\\x27\\x78\\x1f\\x78\\xe0\\x0a\\xab\\x88\\x0a\\x2a\\x5e\\x0b\\x0a\\xbb\\xab\\xae\\x42\\xd2\\xf3\\xab\\xaa\\xee\\x9e\\x4c\\x02\\xee\\xf7\\xf3\\xc7\\x4f\\x0c\\x19\\xa6\\x5f\\x55\\xbd\\xae\\x7a\\xf5\\xae\\x7a\\xef\\x95\\x2a\\x52\\x89\\x87\\x2b\\xdd\\xde\\xfc\\x78\\x19\\xaf\\x0b\\x03\\x6a\\x2a\\x50\\x58\\x6c\\x19\\xd7\\x7c\\xe8\\xe6\\x4b\\x27\\x89\\x62\\xd9\\xeb\\x57\\xad\\x7f\\x62\\xf1\\x37\\x77\\xbc\\x7a\\x8e\\x58\\xf4\\xe0\\x9c\\x82\\x92\\x68\\xed\\x5d\\x17\\xdf\\xaf\\x1d\\xda\\x79\\x5c\\xbb\\xeb\\xc3\\x8d\\x10\\x7b\\x05\\x0a\\xa1\\xe8\\xcc\\x47\\xb5\\x9d\\x8f\\x1d\\xd5\\xee\\x7f\\xbb\\x03\\x5e\\x02\\xff\\x7f\\x60\\xf2\\xf3\\x1d\\xf3\\xe7\\x4d\\x9c\\x78\\xcf\\x45\\x97\\x4d\\x1e\\x7a\\xe3\\xe5\\x95\\x78\\xdf\\x33\\xda\\xde\\xc7\\xea\\x46\\x17\\xe4\\x4c\\x5d\\xb6\\xfb\\x99\\x87\\x21\\xe7\\xe1\\x6d\\xf7\\x69\\xe2\\xd6\\x61\\x65\\xbd\\x56\\xfd\\x70\\xdb\\x76\\x70\\xde\\xf5\\x77\\x6d\\xf6\\xaf\\xaf\\x6a\\xfb\\xef\\x5d\\xb7\\xa0\\x61\\xcc\\x4e\\x98\\xfa\\x03\\x44\\xe0\\x9d\\xf6\\xa7\\xb5\\x67\\xbe\\x68\\xb8\\xfe\\xc6\\x6f\\xe6\\xcf\\x5c\\x32\\x76\\xe3\\x6e\\x46\\x2f\\xe5\\x08\\x09\\x77\\x12\\x3d\\xc3\\x82\\x64\\x6c\\x49\\xa4\\x9c\\x80\\x24\\x6c\\x25\\x9b\\x83\\xe3\\x45\\x81\\xd8\\x7e\\x16\\xce\\xed\\xb1\\x48\\xb8\\x21\\xe9\\xb4\\x0a\\x12\\x51\\x3b\\x38\\x1e\\x79\\x97\\x79\\x60\\xb6\\x07\\x26\\x7b\\xe0\\x22\\x0f\\x9c\\xed\\x81\\x0a\\x0f\\x14\\x78\\x40\\xf1\\x00\\xf6\\xc0\\x7f\\x3c\\x70\\xd8\\x03\\x7b\\x3d\\xf0\\xba\\x07\\x9e\\xf1\\xc0\\xc3\\x1e\\x58\\xeb\\x81\\x25\\x1e\\x98\\xe3\\x81\\x2b\\x3d\\x30\\xd6\\x03\\xe7\\x30\\xf8\\x7c\\xb2\\x43\\x3d\\xc0\\x7b\\x60\\xca\\x2f\\x1e\\xf8\\xc6\\x6c\\xf0\\x94\\x07\\xd0\\x26\\x0f\\xdc\\xc5\\x5a\\x90\\x11\\x2e\\xf7\\x40\\xad\\x07\\x86\\x7a\\xa0\\x8c\\xb5\\xd0\\x47\\x38\\xee\\x81\\xaf\\x58\\x83\\xd7\\x3c\\xb0\\xc3\\x03\\x9b\\x3d\\xb0\\xc6\\x03\\x37\\x9b\\xf0\\x63\\x3c\\x30\\xcc\\x03\\xfd\\x18\\xbc\\x9b\\xc1\\xff\\xcc\\x30\\xfa\\x87\\x09\\xff\\x90\\x07\\xee\\xf6\\x00\\x79\\x83\\xb9\\xec\\x0d\\x74\\x78\\x82\\x51\\xa1\\x07\\xfc\\x1e\\x10\\x13\\xd3\\x3d\\xd0\\xff\\xdf\\x66\\x93\\x57\\x3c\\xd0\\xea\\x81\\x47\\x18\\x3e\\x3a\\xfc\\x58\\x66\\x9a\\x10\\x60\\xaf\\x07\\x00\\xb1\\xde\\x49\\xbf\\x2d\\x1e\\xd8\\xc4\\xfa\\xd5\\xa7\\xa5\\xd6\\xec\\xd4\\xcf\\x3a\\x7a\\x8d\\xf5\\x72\\x37\\xeb\\xa5\\x89\\x01\\x0c\\xd3\\x91\\x23\\xed\\xad\\x19\\xa7\\x0e\\x99\\x2e\\xb5\\x99\\x0d\\xff\\xc7\\x53\\x84\\x53\\xfd\\x6f\\x0d\\xff\\xaf\\x73\\x87\\xea\\xb2\\xea\\xf2\\x01\\x64\\x87\\x97\\x53\\x46\\x9d\\xa9\\xd4\\x90\\x8d\\x30\\xc0\\x43\\x4d\\xf2\\x38\\x51\\xf3\\xe3\\x10\\x27\\x72\\xd8\\x05\\xf4\\xcc\\x80\\xbf\\xf6\\xc6\\x8e\\xef\\x6e\\xd4\\xf6\\x63\\x0c\\x97\\x62\\xd4\\x31\\x46\\xb4\\x67\\x6d\\x80\\x7b\\x56\\x15\\xc3\\x14\\xed\\x3e\\x7a\\x5e\\xc5\\x3f\\xaa\\xe4\\x5f\\xaa\\x55\\xc0\\x3d\\xb7\\xb2\\xd2\\x1c\\x68\\x05\\xa1\\xa9\\x69\\xcc\\x5f\\xa2\\x12\\x3b\\x67\\x69\\x62\\xb4\\xe4\\xb3\\xf9\\x22\\x11\\x5e\\xb6\\x11\\x2d\\xdc\\xc6\\x73\\xf1\\x98\\xe4\\x8f\\xf8\\x23\\x0d\\x49\\xd9\\x1f\\xf5\\x63\\xbf\\xe0\\x57\\xa4\\xf3\\xfc\\x7e\\x5e\\x10\\x7c\\x0d\\x49\\x42\\x61\\x59\\x0d\\x49\\xde\\xbb\\x29\\x0e\\x6b\\xe2\\xb0\\x28\\x0e\\x4d\\x71\\x68\\x8c\\x43\\x6d\\x1c\\x12\\x71\\x28\\x65\\xff\\xc7\\xe2\\xd0\\xf9\\x3e\\x5d\\xb5\\x50\\x53\\x73\\xef\\xba\\x9d\\x75\\x4b\\x83\\xef\\x49\\x38\\x55\\x8c\\xa7\\x1a\\xa8\\xae\\x80\\x12\\xcb\\x89\\xea\\x9f\\xf4\\xeb\\xb2\\x7e\\xc2\\x34\\xed\\x50\\x0a\\x75\\x54\\xe3\\xa5\\x80\\xc1\\xb6\\xf4\\xd6\\xc7\\x9f\\xd2\\x96\\xcd\\x9f\\xa7\\xb5\\xc0\\x98\\x1b\\x67\\x8c\\xd1\\x0e\\x6b\\x2b\\x61\\xf1\\x1d\\xb7\\xc0\\x5d\\xbb\\xfe\\x2e\\x2c\\x7e\\x6a\\xfb\\xf5\\x7f\\xc9\\xf6\\x6f\\x87\\x7d\\x0d\\xb5\\xda\\xc3\\xe3\\x35\\xdb\\x1b\\xda\\x35\\x57\\x31\\x9d\\x7d\\x6c\\xea\\xa8\\xb0\\x9a\\xf0\\xde\\x20\\x1a\\x93\\x28\\x53\\x6c\\x6e\\x19\\x13\\x2b\\x83\\xe3\\xc2\\x21\\x89\\xbc\\x98\\xdb\\x4d\\x73\\x6a\\xdc\\x18\\x23\\x9c\\xc0\\x8b\\xf0\\x2e\\xbc\\x07\\x0b\\xd4\\x81\\x46\\x34\\xfb\\x86\\xa4\\xe8\\x2b\\x0d\\x43\\x3d\\xea\\x34\\x57\\x67\\x10\\x0d\\xb4\\xb8\\x8b\\x41\\x5e\\x10\\xf3\\x09\\x84\\xbb\\xc4\\xa8\\xf5\\x41\\x78\\x0b\\x75\\xe5\\x33\\x45\\xd3\\xcb\\x45\\xc0\\x31\\x05\\xe0\\x22\\x6d\\xe7\\x21\\x6d\\xab\\x76\\x3b\\x5c\\x09\\x63\\x7f\\x83\\xfe\\xd5\\x5a\\x7b\\xfc\\xe5\\x5b\\xde\\xfa\\x60\\xdf\\x5e\\x90\\x2e\\x7b\\xf7\\x4d\\x58\\x0c\\x97\\x40\\x1d\\xcc\\x7e\\xf3\\xe5\\xe1\\xd3\\x6e\\xfc\\xed\\xd8\\x7f\\x52\\x74\\xef\\xd3\\x75\\x9a\\x41\\xd6\\xc9\\x46\\x6c\\xd0\\x8a\\x44\\xb6\\x2c\\xd8\\x91\\x80\\xfc\\x3e\\xd1\\x45\\x10\\xe2\\x04\\x99\\x2c\\x86\\x77\\x91\\x1f\\x4a\\xfd\\x10\\xf3\\xd3\\x19\\x3f\\x8d\\x5f\\xc4\\x8f\\x79\\x3a\\x8d\\x31\\x04\\xd4\\x64\\xf6\\x50\\xfd\\x77\\xc6\\xe3\\xda\\x9b\\xef\\x74\\xbc\\x01\\x1a\\x4c\\x86\\x65\\xda\\xc7\\x47\\x0f\\x7c\\x78\\xe2\\xa5\\x43\\x78\\xf7\\xa7\\xda\\xf3\\x5b\\x85\\xc5\\xda\\xfd\\xda\\x93\\x5f\\x1f\\x6b\\x1f\\xce\\x8a\\xec\\xb0\\xf1\\x45\\x32\\xbe\\x03\\xcd\\x4e\\x8c\\x14\\x6c\\x36\\xf2\\x81\\xc8\\x5a\\x3b\\x67\\x41\\xbc\\xe4\\x14\\xac\\x84\\x3e\\x84\\x66\\x61\\xa3\\xc0\\xc9\\x64\\x56\\x53\\xe4\\x17\\x27\\x28\\x81\\xf3\\x64\\x01\\xfc\\x82\\x40\\x28\\x46\\x10\\x10\\x00\\xdf\\x90\\x04\\x0e\\xd9\\x1a\\x92\\xc8\\x9b\\x70\\x42\\xa9\\x13\\x62\\x4e\\x82\\x6a\\xfd\\xa9\\x54\\xc1\\xc4\\x33\\x9b\\xd0\\xf4\\xa1\\x18\\x75\\x85\\xc5\\x8d\\x9f\\x15\\xfc\\xd8\\xf6\\x8f\\xf0\\xf1\\x0e\\x37\\x37\\x4e\\x58\\x7c\\x58\\xdb\\x70\\x58\\xbb\\xfd\\x30\\x32\\x70\\xe4\\xef\\x63\\x73\\x34\\x22\\xd1\\x0b\\x04\\x41\\xb4\\x62\\x62\\xf8\\x3a\\xe8\\xc0\\x32\\x80\\x83\\x68\\x81\\xce\\xbe\\x23\\x00\\x04\\x8b\\x85\\x2c\\xa3\\x85\\x13\\xbc\\xa5\\x0e\\x88\\x39\\x80\\xa2\\xd0\\x8d\\x2a\\xd3\\xca\\x10\\xe8\\x63\\x92\\xbf\\xa1\\x05\\x7f\\xd8\\x51\\xa2\\xed\\xe7\\x65\\x7e\\xbd\\x76\\xfe\\xe1\\x8e\\x93\\x64\\x6c\\x83\\x8e\\x9e\\x63\\x3e\\x9c\\x91\\x89\\x9e\\x61\\x97\\xdf\\xc7\\x5b\\x5c\\x3e\\xc1\\xc2\\xe7\\x64\\x8b\\x02\\x59\\x1a\\xd1\\xe1\\xf1\\xa8\\x0d\\x49\\xbf\\xdf\\xc3\\x3b\\xc8\\xa0\\x0e\\x5f\\x69\\x0e\\xc4\\x72\\xc0\\x7c\\xeb\\xf2\\x92\\x4e\\x9b\\x2c\\x93\\x7e\\x88\\x9d\\x52\\x49\\x3d\\x80\\x69\\x22\\x22\\x04\\x95\\xa6\\xa1\\xc2\\x59\\x9f\\x0c\\xd2\\x1e\\xc5\\x57\\x36\\x69\\xf7\\xbf\\xae\\x3d\\xaa\\xdd\\x01\\xb3\\x89\\x7d\\x7a\\x7c\\xb9\\x76\\xbc\\xf7\\x0b\\xcd\\x7b\\x3e\\x39\\xf8\\xd1\\xd9\\x15\\xaf\\x7e\\xda\\x71\\x62\\xd6\\xcd\\x70\\x23\\x4c\\x84\\x4b\\x61\\x96\\x76\\xe7\\x98\\xab\\xaf\\x6b\\x3f\\x72\\x4c\\x3b\\x69\\xac\\xe3\\x10\\xb6\\x8e\\xd7\\x26\\xce\\xb5\\x70\\x1c\\x2d\\x28\\xee\\xe0\\x1d\\x92\\xd3\\x82\\x1b\\x93\\x96\\x58\\xe0\\xe6\\x0b\\xc8\\x5f\\x70\\xc1\\x73\\x16\\xb8\\xcf\\x02\\x03\\xa9\\x89\\x65\\x63\\x82\\xa4\\xd1\\x09\\xb5\\x4e\\x32\\x81\\xb0\\xc8\\x09\\x4d\\x4e\\xd8\\xe5\\x84\\x4d\\x19\\x6b\\x58\\xcf\\xd8\\x9a\\xc1\\xae\\xa8\\xd7\\x26\\xc3\\xf5\\xa8\\xbf\\x12\\x9b\\x44\\xe3\\x0f\\xaf\\x74\\x3c\\xa0\\xed\\x87\\x22\\x7c\\x25\\xf9\\xb9\\xb4\\x63\\xb3\\xb0\\xb8\\xe3\\x03\\xdc\\xf7\\x44\\xb3\\xb1\\x86\\xd0\\xc2\\x7c\\xd6\\x57\\x26\\xce\\x61\\x3e\\x45\\x42\\x33\\xde\\x43\\x02\\xf9\\x12\\x36\\x09\\xb0\\x46\\x80\\x45\\x02\\xd4\\x0a\\x90\\x10\\x80\\x28\\x82\\xc7\\x05\\xd8\\x65\\x3e\\x6a\\x12\\xa0\\x51\\x80\\xa8\\x00\\x04\\x78\\x8f\\xf9\\x3d\\x01\\x3e\\x9d\\x26\\xac\\x3b\\x9a\\xd3\\x2e\\xca\\x15\\x50\\x44\\x79\\x23\\x1d\\x3f\\x9a\\x3a\\xca\\xd1\\x33\\x7c\\x0f\\xea\\x97\\xc8\\xe1\\x39\\x87\\xcb\\xe5\\xe4\\x38\\x9f\\xd7\\x29\\x11\\xb1\\x4a\\x44\\x2d\\x61\\x77\\x3c\\xf2\\x35\\xf9\\xa0\\xd4\\x07\\x8c\\x3f\\x97\\x98\\xfb\\xcc\\xa4\\x18\\xa1\\xd3\\x47\\xc2\\x9c\\xb8\\x7e\\x11\\x4b\\x07\\x8e\\x14\\x41\\x81\\xf7\\xf2\\x71\\x13\\xea\\xb4\\xef\\x70\\xf5\\x09\\xff\\x4b\\x7b\\x8b\\xaf\\x9d\\x3a\\xf7\\x3a\\xfc\\xf5\\x77\\xed\\x43\\x3e\\xfb\\xd5\\xa4\\x5d\\xa1\\x95\\xad\\x4b\\x79\\x22\\x42\\xd7\\xc5\\x0e\\x44\\xd5\\x75\\x38\\x6c\\xc0\\xd3\\x0d\\x46\\xe6\\xc0\\x9c\\xec\\xae\\x4e\\x72\\x63\\x76\\xc1\\xc2\\x66\\x96\\x0a\\x02\\x7e\\x82\\x26\\x6e\\x63\\xd3\\x7b\\x03\\x4c\\xe8\\x78\\x04\\xaf\\xc2\\xcb\\x97\\x76\\x68\\x64\\x8e\\x17\\xe3\\xe6\\x8e\\xad\\xed\\x1f\\xa1\\xf4\\x5e\\x21\\x13\\x4f\\x98\\x48\\x5e\\xc2\\x43\\xe7\\x59\\xb4\\x90\\x89\\xe6\\xe8\\xe6\\xac\\xb5\\x80\\x41\\x9e\\xc6\\x1a\\xea\\x93\\x44\\x36\\x1e\\xe9\\xf3\\x67\\x61\\xf1\\xc9\\x49\\x87\\xd3\\x7d\\x88\\x71\\xd2\\x87\\x0a\\xd7\\x26\\x52\\x01\\xa4\\xba\\x9d\\x2e\\xd5\\x15\\x0a\\xf2\\x76\\x8b\\x4f\\xf5\\x15\\xf9\\x38\\xab\\x3d\\x68\\xef\\x61\\xe7\\x6c\\x76\\x5f\\x40\\xa6\\x91\\xdc\\xde\\x55\\x21\\xb8\\x3a\\x04\\xa3\\x42\\x30\\x28\\x04\\x91\\x10\\x9c\\x0c\\xc1\\xb1\\x10\\xbc\\x16\\x82\\xc7\\x43\\xb0\\x31\\x04\\xe4\\xe9\\xec\\x10\\xd4\\x85\\xa0\\x26\\x04\\x15\\x21\\x70\\x84\\xe0\\xaa\\x54\\x08\\x0e\\x87\\x60\\x77\\x08\\x9e\\x0f\\xc1\\xf6\\x10\\xdc\\x1d\\x82\\x1b\\x42\\x30\\x3d\\x04\\xc3\\x42\\x50\\x1c\\x82\\x28\\x03\\xfa\\x39\\x04\\x07\\x42\\xf0\\x01\\x83\\x39\\x75\\x80\\xdd\\xac\\xf7\\x55\\xac\\x61\\x1d\\xfb\\xbe\\x24\\x04\\x7c\\x08\\xaa\\x8e\\xb0\\x67\\xad\\x21\\x58\\xc7\\x86\\x25\\x6d\\xf2\\x59\\x77\\xa4\\xcd\\x5e\\x73\\xbc\\x25\\xac\\xbb\\x86\\x10\\xe0\\x44\\x08\\xaa\\xd9\\x80\\xc7\\x43\\x70\\x88\\x8d\\xb6\\x29\\x04\\xcd\\x0c\\x55\\xf2\\x7d\\x2c\\x04\\x4f\\xa1\\x50\\x86\\x51\\x46\\xe9\\xad\\xe1\\x7f\\x5b\\x5f\\xff\\xeb\\xd0\\xce\\x14\\xfe\\x74\\x3b\\x0d\\x60\\x2a\\x70\\x86\\x2b\\x91\\xee\\xa5\\x8a\\x7e\\x55\\xd8\\xc2\\xe5\\x39\\x40\\x09\\xd0\\x95\\xf1\\x45\\xa1\\x0a\\xe2\\x1e\\x21\\x02\\xb6\\xe1\\xb9\\xda\\xdf\\xb5\\xab\\x25\\xed\\x04\\xac\\x6a\\x57\\x4a\\xab\\x81\\x83\\x15\\xdc\\xb8\\xec\\x81\\x9f\\x69\\xff\\x99\\xd6\\xfe\\x13\\xe7\\x85\\x79\\xdf\\x8f\\x6a\\xdf\\x22\\x2c\\x6e\\x3f\\x7a\\xfe\\x8b\\x5f\\x71\\x83\\xd2\\x7b\\x8e\\xf1\\x04\\x27\\xaa\\x4d\\x94\\x20\\xbb\\xdd\\x69\\xe1\\x79\\xc1\\x29\\xc8\\x2e\\xb0\\x3a\\x88\\x70\\x21\\x9b\\x5f\\x86\\x5a\\x19\\x12\\x32\\x2c\\x92\\xa1\\x49\\x86\\x5d\\x32\\x6c\\x92\\xa1\\x54\\x86\\x98\\xdc\\x7d\\xf3\\x0f\\xe8\\xbe\\xed\\x0d\\x0c\\xa1\\x90\\xec\\x06\\x0f\\xf7\\x75\\xc7\\x03\\x5e\\x82\\xda\\x68\\x3c\\xdd\\x0b\\x22\\x3f\\x64\\x43\\x63\\xfb\\xcb\\x84\\x9e\\x9e\\xbb\\x77\\x21\\x57\\x4e\\x51\\x21\\x72\\x8e\\xf2\\xd3\\xaf\\x09\\x3f\\x95\\x88\\x64\\x1e\\x91\\xe8\\xed\\xb3\\x38\\x89\\xba\\x1b\\x0a\\xdb\\xdd\\x0d\\x49\\x3b\\xcf\\x2b\\x64\\xff\\xf9\\x36\\x85\\x61\\x51\\x18\\x9a\\xc2\\xd0\\x18\\x86\\x44\\x18\\x88\\x34\\x3e\\x1e\\x86\\x58\\x38\\xad\\x68\\xfc\\x81\\xec\\x33\\x18\\x29\\x11\\x7f\\x38\\x2f\\x97\\x1a\\x01\\x54\\x02\\x7e\\xbd\\x4d\\x7b\\xe1\\x13\\xad\\x55\\x5b\\x0e\\xd7\\x43\\x0d\\xf9\\x33\\x5f\\xfb\\xe8\\x93\\x57\\xdf\\xf8\\xe4\\xf3\\x9d\\x6f\\x7c\\x8c\\xdf\\xfc\\x4c\\xdb\\xf1\\x24\\x2c\\x87\\xb1\\x70\\x11\\x2c\\xd4\\x16\\x69\\x4f\\x1e\\x06\\x4e\\x4b\\x7d\\xfb\\xbd\\xf6\\x0b\\xab\\xf9\\xa6\\xcb\\x64\\x37\\xdb\\xb3\\x3e\\x82\\x6b\\x4f\\x59\\x14\\x2d\\x12\\xc1\\x36\\xe0\\x17\\x08\\xb6\\x54\\xfc\\x58\\x89\\x5c\\xb6\\x72\\xa2\\x77\\x51\\x00\\x9a\\x02\\xd0\\x18\\x80\\xd2\\x00\\x44\\x03\\x90\\x3e\\x5c\\xed\\xe4\\xfd\\x03\\x06\\x74\\x1a\\x32\\xc4\\x7e\\x61\\x7c\\xb2\\x8c\\x17\\x4c\\x85\\xc7\\xbd\\xf0\\xbb\\x8d\\xda\\x43\\x44\\xab\\x9b\\xdf\\x01\\x1e\\xed\\x63\\xed\\x84\\xf6\\x01\\x0c\\x58\\xb0\\x84\\x7b\\xf5\\xd6\\x7f\\xcc\\xd1\\x08\\x0a\\x3f\\x7c\\xfa\\x85\\x56\\x35\\x9f\\xcd\\x9f\\x76\\x2d\\x9b\\x3f\\x05\\xe5\\xa2\\x64\\xa2\\x5f\\xb6\\x47\\x25\\xf6\\x24\\xe7\\xf2\\x08\\x79\\xf9\\xfe\\x30\\x11\\x44\\xbc\\x43\\x24\\x62\\x88\\xb0\\xb5\\x58\\x43\\x92\\xe3\\x5c\\xbe\\x45\\xf9\\xd0\\x94\\x0f\\x8d\\xf9\\x90\\xc8\\x87\\xd2\\x7c\\x38\\x9e\\x0f\\xb1\\x7c\\x48\\x53\\x20\\x95\\x4f\\x54\\xcb\\xe9\\xce\\xe4\\xc0\\x8d\\x2c\\x94\\xc7\\x55\\x59\\xd8\\x39\\x67\\xfe\\x69\\xa7\\x56\\x3b\\xf2\\xdf\\xdc\\x1b\\xa6\\x0f\\x1a\\x8c\\x6f\\x9a\\xfd\\xf0\\x3f\\xce\\xd2\\xbe\\xd6\\x5e\\xef\\x3a\\xc9\\x9f\\xed\\xa2\\x93\\xac\\x7d\\xab\\xad\\x28\\x9b\\x34\\xc1\\xfe\\x4e\\xd6\\x33\\x1f\\x45\\x88\\xc8\\x1a\\xd0\\x7d\\xb6\\x7f\\x06\\xde\\x98\\xeb\\xf5\\x8c\\x46\\x03\\xa8\\x3e\\x51\\x0e\\x92\\xe4\\xb5\\x79\\x09\\x9b\\x74\\xd9\\x90\\xd3\\x49\\xf4\\x54\\x55\\x91\\xbc\\x18\\x7b\\x1b\\x92\\x44\\x69\\x13\\x04\\x0f\\x53\\x4e\\x91\\xb7\\x49\\x85\\x4d\\x2a\\x94\\xaa\\x10\\x53\\x29\\xa5\\x32\\x85\\x3a\\xd3\\x0b\\xda\\x5d\\xf7\\xd4\\x49\\xd6\\x98\\x7d\\xaa\\x7d\\xda\\xc0\\x58\\x02\\x7e\\xb4\\xf6\\xac\\xf6\\x08\\x59\\x81\\x5d\\xed\\xe0\\x7d\\x74\\x35\\xdc\\xa8\\xdd\\xa9\\xb5\\x6b\\xcb\\xe0\\xe6\\x85\\x8b\\xb0\\xda\\xf1\\x83\\xb0\\x78\\xff\\xee\\xbb\\x3f\\xce\\xed\\x68\\xe1\\x3e\\xdc\\xad\\x35\\x36\\xe9\\xfc\\x71\\x10\\xa1\\x65\\x91\\xac\\x45\\x2f\\xa2\\x63\\x96\\x48\\x28\\x3b\\x2b\\x57\\xb1\\x88\\xa2\\x92\\x85\\xf8\\xde\\xc5\\x52\\x2e\\x17\\x0a\\x91\\x35\\xc8\\xce\\x0e\\xf1\\x9c\\x9d\\xa8\\x9c\\x96\\x98\\xa5\\xd4\\xc2\\xd1\\xc3\\x11\\x6c\\xb1\\x70\\xbe\\xce\\x63\\x91\\xf2\\x3f\\x74\\xd8\\xc6\\x63\\xf9\\x4c\\xd4\\xc4\\x2a\\x69\\x68\\xc8\\x19\\x7c\\x65\\x45\\x3e\\x51\\x9a\\x99\\xb6\\x19\\x63\\x21\\x23\\x39\\x9c\\x20\\x6a\\xef\\x11\\x7a\\xf9\\x97\\xf6\\x6e\\x6f\\xc8\\xce\\x7e\\xf4\\x1e\\xa8\\x1c\\xbe\\xf8\\x6f\\x1b\\x16\\x4e\\x3e\\xb7\\x08\\xa2\\x40\\xf6\\x20\\x58\\x0a\\xb5\\xaf\\x94\\xe5\\x37\\x69\\x3f\\x0f\\x68\\x7a\\x7c\\xf7\\xf6\\x2b\\xfb\\xc1\\x9f\\x3e\\x38\\xb0\\xeb\\xd5\\x92\\xa6\\x2b\\x5e\\x18\\x7c\\x61\\x45\\x41\\x41\\x9f\\x21\\xe3\\x66\\x8f\\xda\\xb9\\x7b\\xf3\\x8b\\x45\\x75\\x97\\x3e\\x5a\\x75\\x6e\\xdf\\x82\\xe2\\xf3\\x2e\\x5b\\x4e\\xdf\\x8d\\x90\\x15\\x4f\\xef\\x65\\xb2\\xc0\\xb0\\xc4\\xf7\\x80\\x79\\xc2\\x8e\\x6c\\x56\\x7a\\xa6\\x49\\x67\\x1e\\xbc\\xba\\x7b\\x50\\x0f\\xe8\\x4a\\x47\\xb7\\xa5\\x63\\xc9\\x56\\x31\\x17\\xa2\\x1e\\x18\\x36\\xc8\\x84\\x99\\x72\\x92\\x01\\xed\\x36\\x7d\\x96\\x4b\\x32\\xc2\\xc2\\xf4\\x2e\\x0e\\xb0\\xa7\\xad\\xac\\xfd\\x6c\\x1b\\xd4\\x99\\x8d\\x89\\x90\\x24\\x6d\\x8f\\x30\\xc7\\xe9\\x6b\\x36\\x58\\xc7\\x5a\\x45\\xd8\\xf7\\x55\\x3f\\xb3\\x36\\xcf\\xb3\\x6f\\x49\\xb3\\x1b\\x98\\x9b\\x74\\x14\\x6b\\x59\\xcc\\xfa\\x25\\x9d\\x3e\\xce\\x1e\\xd5\\xb1\\xef\\x1d\\xcc\\xa1\\x8a\\x0f\\x32\\x87\\xe7\\x6a\\x86\\xa7\\xee\\x51\\x45\\x19\\xae\\xce\\x86\\xfa\\x53\\xf8\\xf7\\xff\\xf2\\xc7\\x75\\xb5\\xf0\\x3a\\x77\\x7f\\xfa\\xa0\\xc5\\x3c\\x1b\\x8a\\x07\\x38\\x41\\xdb\\xaf\\x0d\\xe0\\x9f\\xe1\\xd7\\x9f\\x9c\\xc4\\xaf\\x3f\\xac\\xeb\\xb5\\x37\\x10\\x3a\\x1a\\xc9\\x74\\x92\\xf3\\x12\\xbd\\x9d\\x2e\\x81\\x77\\xf1\\x44\\x23\\xe1\\x75\\x5d\\xda\\xd7\\xe8\\x83\\x5a\\x1f\\x24\\x7c\\xb0\\xc8\\x07\\x44\\x31\\xd9\\xe5\\x83\\x4d\\x4c\\x3d\\x89\\xf9\\x32\\x99\\x33\\xa3\\xa4\\x0c\\x96\\x28\\xc4\\x88\\xc0\\x22\\xda\\x89\\xa2\\x2b\\x2a\\x64\\xff\\xe2\\x8f\\xb4\\xcf\\xb5\\xdd\\x50\\xb4\\xf1\\x81\\x0d\\x5b\\xa0\\x48\\x7b\\xda\\x0f\\x59\\x60\\xe5\\x66\\xb4\\x3f\\xf2\\xd7\\x27\\x9e\\x7e\\x8c\\xab\\x6d\\xdf\\xa0\\xfd\\xac\\xed\\x67\\xf8\\xb8\\xc8\\x5e\\x1c\\xc1\\xce\\xc3\\xfa\\x27\\xa2\\x36\\x3b\\x20\\x91\\xda\\x46\\x76\\x4e\\x72\\xec\\x92\\x60\\xa3\\x04\\x8d\\x12\\x94\\x48\\x60\\xc3\\x9c\\x08\\x5e\\x42\\xc7\\xd5\\xe5\\x0c\\x11\\x33\\x16\\x8c\\x0d\\xdf\\x13\\x80\\x88\\x06\\xb5\\x9a\\xfc\\xe2\\x86\\x6a\\xfb\\x3a\\xfe\\x0b\\x15\\x90\\x1b\\x29\\x09\\x94\\xd3\\xc3\\x62\\x22\\x9e\\xe6\\x4d\\xd8\\x31\\xae\\x95\\x5b\\xa1\\xef\\x23\\x8c\\x90\\x65\\x15\\xd3\\x33\\x12\\x89\\x6f\\x14\\x15\\x90\\xcf\\x2d\\xf3\\x56\\x8b\\x64\\xb7\\xd9\\x24\\xde\\xa7\\x0a\\xa1\\xa0\\x2e\\xa5\\x2b\\x98\\xd0\\x4f\\xeb\\x03\\xad\\x4c\\xee\\xf3\\xa1\\xfc\\xd0\\xb0\\xd0\\xe4\\x10\\x3f\\x2d\\x2d\\xd9\\xd7\\x98\\x92\\xbd\\xd6\\xd4\\x24\\x88\\x42\\x70\\x84\\x69\\x22\\xab\\x42\\x8f\\x87\\xb0\\x3f\\x54\\x11\\x1a\\x1b\\x9a\\x1d\\xe2\\x33\\x75\\x81\\xb4\\xee\\x91\\xd9\\x68\\x40\\x6b\\x68\\x6f\\xe8\\xe7\\x10\\x67\\xea\\x10\\x75\\x21\\x5c\\x6a\\x2a\\x12\\x44\\x53\\xc0\\x69\\x55\\xa1\\x26\\x34\\x3d\\xb4\\x3a\\xc4\\xb9\\xd9\\xd7\\x07\\x43\\xd0\\xc2\\x34\\x9e\\xa6\\x10\\xc8\\xa1\\x9a\\x50\\x43\\x88\\xb3\\x2a\\x32\\x6f\\xe3\\x7c\\x52\\x81\\x04\\x12\\x51\\x94\\xa8\\xec\\x27\\x52\\xbf\\xba\\xbc\\xbc\\x1c\\x26\\x66\\x90\\x4d\\xc3\\x8c\\x3f\\xd0\\x16\\x4e\\xa1\\x35\\xfa\\x65\\xc6\\x8c\\x77\\xce\\x3b\\x57\\x58\\x44\\x3d\\x05\\x10\\xf7\\xa9\\x67\\x82\\x2f\\xee\\x53\\x7c\\xd5\\xe4\\x97\\x18\\xd5\\x1e\\xda\\x99\\x17\\x0c\\xe6\\xbc\\x41\\xc4\\xcc\\x3d\\x50\\xfc\\xee\\x19\\x59\\x95\\x4f\\xc0\\xc8\\x1d\\x81\\xb2\\x50\\xe5\\x16\\x28\\xe6\\x4a\\xd6\\xac\\xbf\\x65\\x45\\x3b\\x51\\xcc\\xdb\\x67\\x7e\\xb6\\xaa\\x03\\x7f\\xd5\\xe1\\x1d\\xab\\x7d\\x32\\xfb\\x5b\\x8e\\xd6\\xa0\\x22\\xe8\\x22\\x61\\x18\\x93\\x83\\x3d\\x13\\x01\\xe4\\xc0\\x9c\\xd5\\x26\\x0a\\x9c\\x60\\x73\\xf0\\x76\\xd1\\x29\\x51\\xdd\\xb5\\xbb\\xce\\x4a\\xb8\\xac\\x0d\\xd2\\xff\\xf3\\x2e\\x6d\\x03\\xf9\\xf3\\x16\\x7c\\xaf\\x9d\\x05\\xfd\\x89\\x04\\x18\\x00\\xfd\\xb4\\xb1\\xb0\\x0f\\xf7\\x25\\x76\\xc1\\x37\\xf8\\x41\\xcd\\x05\\xff\\xee\\x98\\xdc\\x11\\xa1\\x63\\xe5\\x91\\xb1\\x2a\\xc9\\x58\\x56\\xe8\\x9f\\xd8\\x2f\\x02\\x60\\xcc\\x5b\\xac\\x02\\x6f\\xe5\\xed\\x36\\x62\\x9d\\x73\\x1c\\x58\\x79\\x0b\\x78\\x2b\\xec\\x90\\x6f\\x07\\xa2\\x43\\xff\\x6c\\x87\\xd7\\xec\\xb0\\xd9\\x0e\\x4b\\xec\\x30\\xdb\\x0e\\xc3\\xec\\x40\\x1e\\xf9\\xd9\\xa3\\x6b\\x0e\\xdb\\x61\\xaf\\x1d\\x5a\\xd9\\xe3\\x55\\x76\\x68\\xb2\\x03\\x6e\\xb4\\x43\\x29\\xa1\\x67\\x3b\\x1c\\xb7\\xc3\\x21\\x3b\\xb4\\xd8\\x61\\xa3\\x1d\\x16\\xb1\\x67\\x09\\xf3\\xfb\\x83\\x76\\xd8\\x65\\x87\\x35\\xec\\x7b\\x02\\xec\\x66\\xdf\\x0f\\x4c\\xb1\\x06\\x7b\\xec\\xb0\\xc9\\x0e\\xcd\\x76\\xa8\\xb5\\x43\\xcc\\x0e\\x72\\x46\\x47\\xab\\x59\\x2f\\x64\\x80\\x1a\\xd6\\x2c\\xca\\x1e\\xed\\xca\\x18\\xa0\\x81\\x8d\\xa1\\x0f\\xff\\xc7\\xaa\\xe2\\x29\\x7c\\x26\\xed\\x46\\xea\\xaa\\x60\\xa6\\x0f\\xa2\\x4b\\xd2\\x9b\\x9e\\x8a\\x37\\xe6\\x5e\\x31\\x0c\\x85\\x38\\x57\\xad\\x7d\\xaa\\xd9\\xa1\\x12\\xc6\\xc0\\x38\\xa8\\xc4\\x43\\x3b\\x5e\\xc2\\x43\\xb9\\xea\\x8e\\xad\\x78\\xac\\xbe\\xef\\x86\\xd0\\x9b\\x64\\x99\\x3d\\x7d\\x5d\\xe2\\x5c\\x2b\\xe6\\x2c\\x36\\x0b\\x8f\\x79\\xbb\\xc3\\x62\\xb0\\x79\\x6c\\x05\\x62\\xf8\\x83\\x77\\xb5\\x03\\x30\\x72\\xc0\\x71\\x07\\x1c\\x72\\xc0\\x1e\\x07\\xec\\x72\\x40\\x8b\\x03\\x36\\x39\\x60\\x8d\\x03\\x16\\x39\\xa0\\xc9\\x01\\x8d\\x0e\\xa8\\x75\\x40\\xc2\\x01\\x5d\\x18\\x61\\xc3\\x0c\\x33\\x70\\xa2\\xcb\\xa1\\x33\\xa5\\xd2\\x4a\\xa0\\xdc\\x10\\xe2\\xfc\\xa3\\x27\\xef\\xc1\\x27\\x3a\\xc6\\x70\\xbf\\x76\\x88\\x5c\\xde\\x87\\xdc\\xdb\\xdf\\xbd\\xd7\\x5e\\x4e\\x71\\x9b\\xa5\\x8d\\xc7\\x77\\x0a\\xef\\x12\\x75\\xab\\x30\\xe1\\x17\\x10\\x47\\xd6\\xde\\x4a\\x28\\xe9\\x97\\x24\\x10\\x02\\xf9\\x25\\x49\\x63\\x89\\x32\\x95\\x16\\x76\\xac\\xc1\\xbc\\x07\\xb3\\x70\\x8e\\x76\\x14\\xfc\\xda\\x78\\xcb\\x9c\\x97\\x4e\\x58\\x77\\xd2\\xbe\\x02\\xa9\\x8f\\x71\\xa1\\xf0\\x1e\\x8b\\x4b\\xe1\\x04\\xe8\\x1a\\x97\\x22\\x40\\x39\\x40\\xb9\\xf6\\xd5\\x4f\\x90\\xd7\\x53\\xf8\\xf5\\x84\\x9d\\xc0\\x87\\xc8\\xd8\\x55\\xe6\\xd8\\xd8\\xc2\\x03\\x95\\x7d\\x02\\x19\\x5b\\x20\\xbd\\x9d\\x76\\xec\\x4a\\xc6\\xdd\\x3d\\x21\\x50\\xb4\\x7f\\x92\\xf1\\xc7\\xef\\x14\\x7e\\x7b\\xe9\\x37\\x1a\\x3e\\x83\\xfa\\x10\\x02\\x6e\\x26\\x73\\x2c\\xa2\\x82\\x84\\x5b\\xe0\\x01\\x44\\x4e\\xe4\\xac\\x16\\x62\\x91\\x01\\x4f\\x23\\x92\\xca\\x4b\\xca\\x3a\\x8f\\x8d\\x49\\x57\\x36\\x9c\\x47\\x58\\x24\\xf7\\x80\\xf6\\x9c\\xf6\\xc2\\xd7\\x44\\x39\\x1d\\x0a\\x2b\\x30\\x66\\xce\\x90\\xe6\\xf6\\xc5\\x08\\x52\\x47\\x53\\x22\\xbf\\x34\\x35\\x96\\xbc\\x4b\\x28\\x21\\xe9\\x41\\x36\\xcf\\x27\\x11\\x00\\xa0\\x92\\x99\\xc5\\xc6\\x2b\\x59\\xc8\\xd4\\xfa\\xf9\\xfb\\x4f\\x5c\\x78\\xa1\\xbe\\xce\\x43\\xf9\\x8d\\xb8\\x5a\\xf8\\x82\\xd8\\x82\\x7d\\x13\\x51\\xc4\\x73\\x54\\x9a\\x93\\xf9\\xbc\\xad\\x4e\\x46\\x20\\xa3\\x12\\x54\\x8d\\x1a\\x50\\x33\\xda\\x88\\x8e\\x91\\x37\\x66\\xc7\\x28\\x19\\x72\\xc4\\x06\\x95\\x71\\x5f\\x00\\xfe\\xa4\\x6d\\x05\\x7c\\x92\\xdf\\x08\\xfe\\x62\\xed\\x50\\x94\\x70\\xec\\xc1\\xa9\\xa3\\xfc\\x22\\xfe\\x42\\x54\\x88\\xca\\xd1\\xb5\\x89\\xea\\xfc\\xa2\\x22\\x8b\\x25\\xe0\\x92\\x7b\\x73\\x9c\\x1c\\xe0\\x2a\\x2b\\xc4\\x1e\\x63\\x92\\x64\\xbf\\x26\\x5d\\x53\\x5d\\xb8\\x0f\\xe1\\x47\\xb2\\x2b\\xea\\xc2\\x36\\xde\\xe5\\xf5\\x3a\\x46\\x27\\xbd\\xee\\x50\\x09\\x2a\\xa9\\x49\\xe6\\xc7\\x91\\xb2\\xb3\\x12\\x6a\\x2a\\x81\\x69\\x6e\\x65\\x9d\\xb4\\xd2\\xc0\\x7c\\xb1\\xde\\x6e\\x8e\\x93\\xb4\\x01\\x5e\\x59\\xd1\\xaf\\x3a\\x7d\\xf0\\xa1\\xc7\\xc3\\x30\\x49\\x57\\x15\\x70\\x71\\x54\\x5f\\xcd\\x13\\x7d\\x16\\x17\\x36\\x8f\\x05\\x60\\xc5\\xfa\\x96\\x03\\x7b\\x7e\\x18\\x39\\xf6\\xc2\\xf3\\x6c\\xda\\x81\\xc8\\x91\\xdd\\xef\\x7d\\xd1\\xb3\\x34\\x96\\x13\\xea\\xd1\\xa3\\x4f\\xce\\xb4\\x2b\\xec\\xe2\\xdc\\xe4\\x9a\\xcb\\xc7\\x14\\x0f\\x1f\\x34\\xf4\\xda\\x33\\xfd\\x8f\\xaf\\x7b\\xb4\\x05\\xf3\\x55\\xd3\\xae\\x1a\\x3e\\xc6\\xb5\\xe1\\xe1\\x77\\x9e\\xd3\\xe6\\xd6\\x9d\\x23\\xde\\x27\\xda\\x45\\x7e\\xca\\x15\\xfb\\xb0\\x8d\\x98\\x19\\x23\\x06\\x5f\\x30\\x6a\\x44\\xf3\\x70\\xaa\\x8b\\x2f\\x27\\x73\\xb0\\x9a\\xd0\\x89\\x82\\xe2\\x68\\x70\\x22\\x96\\x2d\\xca\\xb2\\x53\\x25\\x1a\\x6c\\x5e\\xae\\x3f\\x5c\\x93\\xf4\\xf8\\xdd\\x2e\\xe4\\x08\\x70\\xb1\\x9a\\xa4\\xc8\\x29\\x4d\\x79\\x40\\xf5\\x6d\\x16\\x6d\\x59\\x5d\\x9e\\x69\\x12\\x18\\x31\\x4d\\x14\\x6d\\xa2\\x90\\xc6\\x99\\xb4\\xb6\\x94\\xeb\\xe1\\x4d\\xe9\\xf3\\x6b\\x7e\\xf5\\xc7\\x6f\\xcd\\x7a\\xb4\\x0f\\xb6\\x09\\xda\\x31\\x2b\\x84\\x78\\xbe\\xe1\\xe4\\xae\\xf7\\xb4\\x03\\xd7\\xcc\\x98\\x39\\x6f\\xce\\xcc\\x83\\x38\\x4e\\x64\\xf7\\xc7\\x93\\x27\\xe6\\x2d\\xf0\\xd4\\x3f\\xc0\\xef\\xd3\\x2e\\x6f\\xd9\\x43\\x64\\xfd\\xaf\\x6d\\x3b\\x76\\xb6\\x6e\\xdd\\xa5\\xd3\\x40\\x2d\\xc1\\xb5\\x8a\\xac\\x57\\x10\\x0d\\x4d\\xe4\\xfb\\x03\\x76\\xea\\x0c\\xb5\\x05\\xb8\\x70\\x48\\x74\\xd6\\x24\\xed\\x76\\xd1\\x8d\\xfc\\x8d\\x7e\\xec\\xe4\\xfc\\x7e\\x84\\x3c\\x35\\x49\\xf2\\x4e\\x9d\\x0e\\xd0\\x53\\xfc\\x9f\\x42\\x67\\xdc\\x05\\xf5\\x5a\\x79\\xdc\\xf4\\xe0\\x5d\\x70\\x61\\x3c\\xe6\\x57\\xa2\\xce\\xbb\\x7e\\xdb\\x79\\x22\\xa6\\x7d\\x23\\x35\\x4e\\xd8\\xff\\x79\\xed\\x35\\x4e\\x08\\xcb\\x8b\\xff\\xee\\x87\\x02\\xa2\\x8c\\x4a\\x50\\xbc\\xeb\\x31\\xd7\\x45\\x93\\xb4\\x7b\\xb4\\x95\\x57\\x4c\\x76\\x4e\\xdf\\xd6\\x60\\xda\\x84\\xfc\\xa5\\xc6\\x3c\\x9e\\x99\\x88\\xa9\\x9c\\xd7\\xeb\\xcb\\xb6\\xf9\\x6c\\xb9\\x79\\x5e\\x24\\x91\\x99\\x94\\x25\\xb7\\x18\\xad\\x49\\x72\\xa2\\x82\\x02\\xfa\\x3c\\xea\\x13\\x59\\x9e\\xe1\\xc3\\x30\\x66\\x32\\x7e\\x06\\x54\\xe6\\x11\\x9b\\x85\\x06\\x2c\\x52\\xfc\\xca\\x8b\\xc8\\x6c\\xfa\\x55\\x63\\x26\\x29\\x9e\\xdc\\xf9\\xbc\\x83\\xaf\\x4b\\xbd\\xf8\\xfe\\xfe\\x37\\x67\\xfd\\x95\\xec\\x4e\\x08\\x59\\xb5\\xaf\\xe7\\xcc\\x9c\\x71\\xdd\\xe7\\xd3\\x17\\xc8\\xf3\\x7b\\xbc\\x06\\x45\\x60\\x03\\x27\\x14\\x34\\x36\\xec\\x80\\x55\\x27\\x63\\x93\\x6f\\xc5\\x79\\xdb\\x5f\\xfc\\xdb\\x0b\\xda\\x9a\\x57\\x19\\xae\\x74\\x1e\\xfb\\x90\\x79\\xf4\\xa2\\x10\\x9a\\x9e\\x38\\x5b\\xb5\\xbb\\x3d\\x8a\\xc3\\xc1\\x71\\x1e\\x3b\\x17\\x09\\x2b\\x8e\\x31\\x49\\x25\\xee\\xf6\\x8c\\x90\\x15\\x70\\x09\\x8a\\x82\\x44\\xd1\\x47\\xf6\\x81\\x1b\\xb9\\x46\\x27\\x9b\\xd9\\x91\\xaf\\xdb\\x8d\\x94\\x8d\\x11\\x98\\x1e\\x81\\x86\\x08\\xd4\\x44\\xa0\\x24\\xa2\\xb3\\x4c\\xea\\x69\\xaa\\xaf\\xef\\x16\\xa9\\x53\\xdc\\x4d\\xa6\\x9a\\xd3\\xee\\xf5\\x04\\xe2\\x8c\\xdc\\x05\\x0c\\x64\\x07\\x90\\x77\\xc6\\x23\\x7f\\x26\\x66\\xb7\\xfd\\xe7\\x1f\\x7e\\xed\\x18\\x39\\xe7\\x9a\\x7b\\xc8\\x2b\\xcc\\xd2\\x36\\x4d\\xba\\x9a\\x83\\xcd\\xd6\\xeb\\xfc\\x84\\x9f\\x04\\xc8\\xd4\\xc7\\xb4\\xdd\\xda\\x3f\\xac\\x1b\\xfe\\xbc\\x58\\xd5\\x3e\\xe5\\x9e\\x5c\\xb9\\xf0\\x96\\x5b\\x0c\\x79\\x8b\\xb7\\x91\\xb9\\x0f\\xa0\\xb3\\x13\\xf9\\x4e\\x1f\\x59\\x24\\x8c\\x03\\x7c\\x80\\x57\\x15\\xbb\\x3c\\x3a\\x69\\xa7\\x0e\\x3a\\xbe\\x26\\xe9\\x13\\x64\\x08\\xec\\x54\\x61\\x91\\xca\\xb6\\xaa\\x1e\\xd1\\x68\\xd8\\xe0\\x65\\x3a\\xeb\\xd2\\x83\\x5e\\xc8\\x6c\\xe7\\x55\\x96\\xb3\\xf8\\x12\\x35\\x40\\xe7\\x3c\\x1b\\xca\\x03\\xb0\\x5f\\xfb\\x7e\\xc3\\x86\\x07\\x37\\xd6\\x4c\\xea\\xd9\\x73\\xc4\\xa0\\x7d\\xdc\\xc2\\xf6\\x25\\xdc\\xc2\\x97\\x66\\xac\\xbd\\xc3\\xfd\\xb4\\x6d\\xc0\\x88\\x8b\\x5f\\xd2\\xed\\xda\\x0b\\xf9\\x4b\\xf8\\x1a\\x42\\x01\\xc5\\xe8\\xb2\\xc4\\xc0\\x60\\xae\\xdd\\x1e\\xe5\\xb9\\x22\\xaf\\x97\\x8b\\x72\\x7d\\x7a\\x47\\xe4\\x40\\x41\\x4d\\x52\\x0d\\xb8\\xe5\\x9e\\x35\\x49\\x49\\x0e\\x20\\xcb\\xe8\\xe4\\x38\\xfe\\x4a\\x7e\\x2e\\xcf\\xe5\\xf2\\x65\\x3c\\x16\\x08\\xc6\\x98\\x47\\x91\\xa6\\x3e\\x94\\x3a\\xca\\xea\\xf5\\xa9\\xec\\x42\\x24\\x9d\\x13\\x49\\x37\\x5c\\xda\\x89\\x37\\x04\\xaa\\x3a\\xe9\\x45\\x2d\\xaf\\xe8\\x57\\x15\\x17\\x09\\x33\\xe1\\x39\\x4a\\x31\\x8c\\xb0\\xf1\\xd8\\x37\\xfe\\x95\\x05\\x21\\x79\\x52\\xed\\x9c\\x6b\\x30\\xae\\x4f\\xbd\\xb8\\xe7\\x1f\\xef\\x1e\\xad\\x13\\x6c\\x02\\xd8\\x45\\xed\\x84\\x3c\\xef\\xba\\x2f\\x0f\\x36\\xcd\\xd3\\x2e\\xbc\\xf7\\xb6\\xf8\\x59\\x23\\xd7\\xdc\\x31\\xe0\\xea\\x37\\xa9\\x5e\\x4d\\x68\\x28\\xf6\\x6a\\xde\\xf5\\xbe\\x6b\\xee\\x68\\xff\\xf2\\xbb\\xa3\\xdc\\x17\\x7f\\x7d\\x5e\\xbb\\x4f\\xdb\\xf8\\xbc\\xbe\\x17\\x57\\x93\\x59\\x9d\\xcc\\xe6\\xbc\\x36\\x51\\xe2\\x95\\x65\\xb7\\xd5\\xe2\\xb6\\xa8\\x8a\\x07\\xb9\\x2d\\x81\\x00\\xc7\\x39\\x6a\\x93\\x9c\\x9b\\x98\\xb5\\x6b\\x54\\x38\\xae\\x42\\x0b\\x33\\x71\\xc9\\x67\\x62\\xeb\\x1e\\xa3\\xd3\\xaf\\x2b\\x05\\xe9\\x90\\xc4\\xea\\xae\\xde\\x05\\x83\\x1b\\x12\\x85\\x9f\\x12\\x3c\\x73\\x1a\\xfa\\x2d\\xb0\\x79\\xc0\\xd6\\x79\\x5b\\xdb\\xb4\\xef\\x5f\\xbe\\xf2\\x46\\xed\\x3b\\x42\\xf1\\xdc\\xe5\\x0b\\x9b\\xf6\\xbe\\xdb\\x31\\x06\\x4f\\x84\\xec\\xed\\x2b\\x3a\\x5e\\x14\\xde\\xd5\\xae\\xbe\\x76\\x0a\\x5d\\x07\\x82\\x1b\\x3c\\xca\\x62\\x38\\x2d\\x68\\x5c\\xa2\\x1f\\x67\\xb1\\xb0\\x43\\x79\\x41\\xe6\\x03\\x80\\x2e\\x22\\xd2\\x57\\xb7\\xfc\\x5a\\x98\\x15\\xa7\\x47\\x97\\x44\\x33\\x82\\x5a\\x5a\\x58\\xfc\\x48\\xa7\\x02\\x63\\x9a\\x26\\xd5\\x19\\xe1\\xaf\\xec\\x34\\x9e\\xe0\\xb5\\x9a\\x46\\x7a\\x10\\x5e\\xd6\\xf1\\xc1\\x07\\x27\\x39\\x7e\\xe0\\xc9\\x37\\xc8\\xf8\\xa9\\x43\\xda\\x78\\x78\\x8c\\x8d\\xef\\x46\\x6f\\x26\\x6e\\xb5\\x70\\x4e\\x27\\x92\\x24\\x8f\\x57\\x22\\x16\\x41\\x6d\\x92\\x8f\\xe8\\x48\\xec\\xf2\\x42\\x8b\\x17\\xb6\\x7b\\x61\\x91\\x17\\x6a\\xbd\\x90\\xf0\\x82\\xdb\\x0b\\x7b\\xbc\\xb0\\xc6\\x0b\\x8d\\xec\\x9b\\x63\\x5e\\xd0\\x61\\xd6\\x30\\x98\\xa6\\x0c\\x30\\xe4\\x85\\xfe\\x29\\x2f\\x1c\\xf4\\xc2\\x07\\x5e\\xd8\\xc4\\x1a\\xec\\xf4\\xc2\\x46\\x2f\\x34\\x7b\\xa1\\xda\\x0b\\xb2\\x17\\x0e\\xb1\\xbe\\x36\\xb1\\x7f\\x46\\xd9\\x37\\x96\\x4c\\x25\\xbd\\xbb\\x82\\x9e\\xa1\\xbe\\x19\\x8a\\x81\\xc1\\x96\\xcc\\x5d\\xc1\\x5e\\x38\\xb7\\xa8\\x52\\xd5\\x4d\\x31\\xbf\\xb8\\x86\\xbc\\xf9\\x97\\x93\\xcf\\x2d\\x1f\\x51\\x09\\xa1\\x3b\\xe9\\xfb\\xff\\x7e\\x89\\xed\\x0d\\xbe\\x7a\\x12\\x3f\\xf7\\xe4\\xb9\\xab\\x1f\\x48\\xd3\\xc8\\x1c\\x32\\x0f\\x0e\\x54\\x95\\x88\\x20\\xb0\\x5b\\x6d\\x36\\xbb\\xc3\\x61\\xe1\\x78\\xde\\x29\\x81\\xc5\\x2a\\x13\\xc9\\x8f\\x02\\x25\\x4e\\xea\\xc9\\x2d\\xab\\xae\\xd6\\xfd\\x72\\x64\\xbc\\x32\\xaf\\x4e\\x0b\\x65\\x5d\\x7d\\xc6\\xc4\\x06\\x3b\\x38\\x9f\\x4e\\x36\\xdc\\x0c\\x67\\x68\\x4b\\xe0\\x7e\\xf8\\xe7\\x58\\x6d\\x9a\\xf0\\x6e\\xfb\\x36\\xd8\\xa5\\x5d\\xd2\\x71\\x4d\\x9a\\x2e\\x8d\\xb5\\x3f\\x37\\xd1\\x87\\x68\\x28\\x02\\xd5\\x94\\x02\\xba\\x33\\x5e\\xf7\\xc1\\x37\\x9b\\x3e\\xf8\\x63\\x7f\\xe4\\x83\\x3f\\xc5\\xf7\\x4e\\x56\\x59\\x78\\xf7\\x04\\xad\\xe5\\x8a\\x96\\x23\\x24\\x6e\\x20\\x7b\\xbc\\x10\\xad\\x4d\\x4c\\x54\\x0b\\x11\\x8a\\x5a\\xa3\\x39\\x6e\\x8b\\x35\\xc7\\xda\\xa3\\x28\\x97\\xf3\\x73\\xb5\\x49\\xb7\\x1a\\xe6\\xfc\\x6e\\x49\\x8e\\x5a\\x51\\xe0\\x70\\x0f\\xd8\\xdb\\x03\\x96\\xf4\\x80\\xb1\\x3d\\x60\\x50\\x0f\\x38\\xd0\\x03\\x9e\\xef\\x01\\xeb\\xcc\\x7f\\x96\\xf4\\x00\\x1c\\xed\\x01\\xa8\\x07\\x1c\\xea\\x01\\x7b\\x7a\\x40\\x4b\\x0f\\xd8\\xd8\\x03\\x16\\xf5\\x80\\x46\\xf6\\x2c\\xbd\\x34\\x0d\\x19\\xea\\x35\\xf3\\xb8\\x56\\xab\\xdd\\x62\\x37\\x4d\\xcd\\xab\\x73\\xcb\\x54\\x14\\x16\\xc5\\x73\\x20\\x50\\x4e\\xf7\\x92\\x5a\\xde\\x65\\x47\\x59\\x3c\\x9c\\xb4\\xf9\\xe2\\xab\\xb5\\xef\\x04\\x0e\\x24\\xce\\xce\\x57\\xac\\xbb\\xe6\\xb7\\x4a\\xb1\\xea\\x81\\x79\\x1b\\x1e\\xd1\\x7e\\xd8\\x3c\\x66\\xaa\\x80\\x1b\\x20\\x7b\\xdb\\xca\\x8e\\x17\\xb8\\x11\\xe3\\xa7\\xf7\\xf6\\xfd\\x25\\xba\\xb0\\xe9\\xe8\\x4d\\xd7\\x7d\\xfc\\x76\\xc7\\x68\\xfa\\x60\\xe3\\x6d\\x1d\\xdb\\xf5\\x79\\xe0\\x27\\x93\\x79\\x08\\xa2\\x9a\\x44\\x09\\x0a\\xba\\x2d\\x16\\xab\\x35\\x18\\x0e\\xb9\\xfd\\x74\\x0a\\xe8\\xeb\\x93\\xb7\\xdf\\x14\\x86\\x35\\xcc\\xf1\\xd9\\x12\\x06\\xfd\\x73\\x53\\x18\\x8e\\x85\\x33\\xf6\\x7f\\x59\\x66\\xd0\\x61\\xfa\\x14\\xe6\\x74\\xef\\x40\\xb0\\xe7\\xce\\x67\\x5b\\xdf\\xc0\\x9a\\x71\\x03\\x8a\\x10\\xd9\\xfb\\x19\\x98\\x12\\x8e\\x30\\xda\\x94\\x71\\x6b\\x89\\x8c\\x73\\x10\\x0e\\x55\\x9a\\x08\\x7b\\x44\\x89\\xa8\\xaf\\xaa\\x62\\x93\\x6b\\x92\\x36\\x37\\xe7\\x27\\x92\\x58\\x21\\xcc\\xa8\\x51\\x85\\xd3\\xfa\\x62\\xdd\\x28\\x9e\\x9b\\xf6\\x17\\x16\\xe6\\xc5\\xa8\\x66\\x16\\xe3\\xd7\\x6a\\x9f\\x69\\x5a\\x07\\x8d\\xf3\\x02\\x8e\\x30\\x47\\x22\\x83\\x6e\\xba\\x3e\\x85\\x6e\\x9c\\x0b\\x1c\\xd1\\x97\\x7f\\xd7\\xf6\\x41\\x6f\\x22\\x7a\\x04\\x28\\xd6\\x0e\\x6a\\xff\\x7a\\x79\\x9b\\x76\\xe7\\xd3\\x2f\\xea\\x31\\x34\\xcb\\xb5\\xf1\\xfc\\x6a\\x7e\\x34\\x52\\x75\\x1d\\x2b\\x88\\xbc\\xd9\\x36\\x9b\\x03\\x39\\xf2\\x72\\x03\\x44\\x33\\xf0\\x06\\xdc\\x2e\\xd9\\x1e\\xf9\\x7f\\xe8\\x58\\xe9\\xb8\\x71\\xaa\\x63\\xb1\\xa5\\xac\\xd0\\x27\\x87\\x29\\x59\\xee\\x4e\\x1d\\x6b\\xff\\x1b\\x33\\x1f\\xeb\\x23\\x8a\\xda\\x77\\x56\\xf0\\x08\\x16\\xa2\\x63\\xbd\\xb8\\x47\\x3b\\x40\\xb8\\x3b\\xe1\\xf1\\x38\\x57\\xfb\\x97\\xb6\\x7f\\x52\\x7d\\xce\\x7d\\xda\\x65\\xfc\\x3f\\xef\\x6f\\xf4\\x4e\\xab\\x78\\x93\\xe8\\x58\\x3f\\xc3\\x35\\xaf\\xb5\\x6c\\xdf\\xa9\\xe3\\x3a\\x96\\xe0\\x4a\\x65\\x98\\x1f\\xe5\\x50\\x5c\\x85\\x80\\xd3\\x29\\x85\\x91\\x84\\x62\\x51\\x6f\\x16\\xd1\\x62\\xbc\\x8a\\x33\\x42\\xd4\\xae\\x60\\x0d\\x31\\xad\\xdc\\x4d\\xb1\\xff\\xa1\\x0f\\xfa\\x98\\x30\\x32\\x64\\x51\\xdc\\x43\\x24\\x54\\x3c\\x17\\x43\\x5a\\x22\\x8d\\x3d\\xf0\\xe6\\xd1\\x3a\\x07\\x0f\\x2e\\x51\\xfb\\x41\\xc0\\xf5\\x5a\\xfb\\x8b\\xef\\xe3\\x23\\xb3\\x67\\x7c\\x79\\xf0\\xba\\xf9\\x38\\x8b\\x48\\xfa\\xa2\\x57\\xcf\\x98\\x21\\x5f\\x73\\xfb\\x49\\x05\\x5e\\x59\\xf7\\x16\\xd1\\x67\\xe4\\x27\\x76\\x6a\\x77\\x30\\x05\\x86\\xd1\\x1e\\xd6\\x08\\x8e\\x0a\\xd1\\xb4\\x0a\\xac\\x44\\x45\\x41\\x72\\x50\\x75\\x7a\\x6b\\x93\\x56\\xa7\\x5b\\x90\\x51\\x60\\x63\\x10\\x9a\\x83\\xb0\\x27\\x08\\xdb\\x83\\xd0\\x10\\x84\\x92\\xa0\\xe1\\x64\\x42\\x5d\\xd1\\xa4\\x7b\\x3b\\x4d\\x62\\xd8\\x14\\xf6\\x01\\xcf\\x6a\\x83\\xc2\\x7a\\x26\\x26\\x0c\\xed\\x17\\x1f\\x56\\x31\\x75\\x0e\\x37\\x38\\x39\\xef\\x0c\\xef\\xdf\\x72\\x66\\xd6\\xf7\\x91\\x8f\\xc8\\x5b\\xfe\\xda\\xf1\\x23\\xe3\\x35\\x23\\x68\\xec\\x3f\\xc1\\xa3\\x07\\x9a\\x99\\x38\\xc7\\x22\\xc6\\xfd\\x91\\xb0\\x13\\xa1\\xb0\\x5f\\xe4\\x7b\\xf6\\x8a\\x3b\\x55\\x4e\\xcd\\x19\\x9d\\x7c\\x25\\x02\\x8d\\x11\\x62\\x3b\\x44\\xa2\\x11\\x6c\\xe7\\x23\\x11\\xd5\\xcd\\xd9\\x47\\x27\\xfd\\x96\\x7c\\xe6\\x42\\x55\\x6a\\x7b\\x41\\x4b\\x2f\\x28\\xed\\x05\\x89\\x5e\\x50\\xd2\\x8b\\x39\\xb5\\x67\\x32\\xb7\\x6a\\x3a\\x72\\xb8\\xc1\\x88\\x2f\\x3f\\x6d\\x30\\x6c\\x61\\x51\\x95\\x19\\xea\\x5c\\xc4\\xf2\\xf2\\xa8\\xbe\\x68\\x31\\x4e\\x61\\x15\\x35\\x87\\xe3\\xa3\\x5a\\xea\\xeb\\x83\\x3f\\x16\\xfd\\x37\\x70\\xd5\\xa2\\xb9\\xd7\\x8c\\x9f\\xf2\\xd3\\x23\\xe3\\x8f\\x1d\\x78\\xf9\\x48\\xf6\\xef\\xd2\\xc4\\x2b\\x27\\x4f\\xbe\\xa0\\xae\\xf9\\xf5\\x79\\xc3\\x61\\xf0\\xfa\\xa7\\x6e\\xbf\\xa7\\xe0\\x82\\xc4\\xe0\\x44\\xc5\\x90\\x40\\xc9\\xe8\\xc5\\x13\\xd7\\x3d\\xf1\\xa7\\x3b\\xc2\\x43\\xcf\\x2a\\x1f\\x5c\\x52\\xe5\\x0d\\x57\\x9d\\x3f\\x8f\\xda\\x93\\xa9\\x9f\\x88\\x2d\\xdb\\x9f\\xec\\xa6\\x41\\x89\\x6c\\x9f\\x24\\xd9\\x9d\\x56\\x27\\xcf\\x2b\\xaa\\x53\\x10\\x05\\xa2\\x7c\\x8b\\x56\\xab\\x28\\xa7\\x95\\x6e\\x86\\xbb\\xa7\\x6b\\xca\\x48\\xda\\xee\\xa1\\xca\\x55\\x55\\x79\\xa0\\x3c\\x90\\x67\\xd8\\x3b\\x22\\x6c\\x5e\\xb8\\x6c\\xc5\\xbd\\x13\\x5a\\xde\\x7b\\x6f\\x70\\x75\\x7c\\xc8\\x14\\xef\\xf2\\x15\\xf8\\xa6\\x97\\x34\\xed\\xa5\\x8e\\xf7\\x6b\\x46\\xb9\\xb6\\xe5\\xb2\\xb9\\x6e\\xa6\\xfa\\x35\\x3f\\x90\\x74\\x4f\\xf8\\x8d\\x8b\\x70\\x1b\\xa4\\x58\\x95\\xa0\\x4a\\x8c\\x31\\xc2\\x6f\\xbc\\x8a\\x14\\xb0\\x20\\x79\\x53\\x10\\xd6\\x04\\xe1\\x78\\x10\\x5a\\x82\\xa0\\x7f\\x6e\\x0a\\xc2\\xb1\\xe0\\xff\\x83\\xdf\\x00\\xa3\\x47\\x26\\xd4\\xd4\\x78\\x61\\xa5\\x11\\x9a\\xe5\\x81\\xfb\\x76\\x5d\\x79\\x23\\x55\\xac\\x7f\\x96\\x84\\xfe\\x4f\\x10\\x5e\\xc3\\x0f\\xec\\xf8\\xb3\\xf6\\xf5\\xf6\\x15\\x78\\x58\\x7b\\xdb\\xca\\x29\\x6b\\x86\\xdf\\xd0\\xf4\\xd1\\xbb\\x78\\x3b\\xc5\\xcd\\x4a\\x78\\xe1\\x34\\x82\\x9b\\x1d\\x2e\\x4a\\xa4\\xe8\\x35\\xa5\\xa2\\x8d\\x58\\x23\\x98\\x73\\x48\\x77\\x4b\\xb0\\x48\\x82\\xcb\\xa5\\x99\\x12\\x1e\\x2b\\xc1\\x50\\x09\\x2a\\x24\\x28\\x94\\xc0\\x2b\\x01\\x2f\\xc1\\xcf\\x12\\x7c\\x2b\\xc1\\xdf\\x25\\x80\\x5d\\x12\\x6c\\x96\\x5a\\x25\\xbc\\x48\\x5a\\x23\\xe1\\xc9\\xd2\\x6c\\x09\\x27\\xa4\\x5a\\x09\\x13\\x60\\x37\\x83\\xbc\\x8a\\x80\\xee\\x91\\x0e\\x49\\xb8\\x55\\x7a\\x4d\\xc2\\x9b\\x24\\x58\\x42\\x7a\\xc6\\x8d\\x12\\x0c\\x93\\xc6\\x4a\\x38\\x26\\x81\\x5f\\x82\\xbd\\xd2\\x61\\x09\\xef\\x96\\x60\\x8d\\xb4\\x49\\xc2\\x4b\\xa8\\x83\\xb3\\x49\\xc2\\xc6\\xf3\\x52\\x09\\x13\\x88\\xe3\\x06\\x50\\x8b\\x04\\x74\\x8c\\xbb\\xa5\\xcd\\x12\\x9f\\x90\\x20\\x5f\\xaa\\x90\\x30\\x92\\xa0\\x0a\\x37\\x49\\x8b\\xa4\\x16\\x69\\x97\\x74\\x5c\\x12\\x1a\\x24\\x40\\x92\\x5b\\x4a\\x48\\xdc\\x1e\\x09\\xb6\\xd3\\x5e\\x61\\xba\\x04\\xb5\\xd4\\x69\\x5a\\x2d\\xe1\\x66\\x69\\xb5\\xb4\\x53\\x3a\\x26\\xa5\\x24\\x81\\x7c\\x25\\x4b\\x51\\xf2\\x25\\x67\\xb1\\x61\\x59\\x84\\x96\\x80\\xee\\x4d\\x9d\\x98\\x76\\xff\\x50\\xe7\\xcf\\xc4\\x53\\x1d\\x42\\xdd\\xfc\\x41\\x0d\\x99\\x8e\\xa4\\x53\\xdc\\xb0\\x3e\\x85\\x39\\x02\\xf1\\x01\\xad\\x45\\xbb\\x11\\x7a\\xbe\\x28\\xf7\\xb7\\x9f\\xf9\\x26\\x14\\x92\\x25\\x79\\xb8\\xec\\xad\\x9e\\xef\\xe3\\x46\\x4a\\x23\\xa9\\x13\\x44\\x36\\x0f\\xa1\\x37\\x41\\xc1\\x73\\x89\\x14\\x20\\x8f\\xcb\\xc9\\x5b\\x44\\xbb\\x9d\\xf7\\x70\\x56\\x9f\\xdf\\xaf\\xd8\\xac\\xd6\\xc0\\x6a\\x05\\xe6\\x2b\\x70\\xb5\\x02\\xf5\\x0a\\xd4\\x28\\x30\\x48\\x81\\x3e\\x0a\\x44\\x14\\x70\\x2a\\xf0\\xbb\\x02\\x47\\x14\\xf8\\x5c\\x81\\x0f\\x14\\x78\\x4c\\x79\\x56\\xc1\\xeb\\x14\\xb8\\x5d\\x81\\x66\\x13\\x7c\\x94\\x02\\x43\\x28\\x6c\\xb1\\x82\\x09\\xf4\\x94\\x94\\x02\\xfb\\x95\\x1f\\x14\\xbc\\x5b\\x81\\x17\\x15\\x78\\x5c\\x81\\xf5\\x0a\\xac\\x50\\xe0\\x06\\x05\\xae\\xa5\\xb0\\x75\\x0a\\x26\\xd0\\xc5\\x0a\\x84\\x14\\x70\\x28\\x40\\xf8\\xd8\\x8f\\x0a\\x1c\\x50\\xe0\\x3d\\x05\\x9e\\x65\\xe0\\xf7\\x2b\\xb0\\x8a\\xc2\\xde\\xa8\\xe0\\x3a\\x05\\xce\\xa3\\xb0\\x83\\x14\\x9c\\xad\\x00\\x10\\xc3\\xeb\\x79\\xe5\\x80\\x72\\x44\\xe1\\xb6\\xd3\\xb1\\x57\\x29\\xb8\\x46\\x69\\x50\\x70\\x05\\xed\\x28\\xa2\\xe0\\xfe\\x04\\xcb\\x83\\x0a\\x90\\x71\\x5b\\x15\\x58\\x47\\x11\\x5c\\xad\\xe0\\xc9\\x0c\\xbf\\x6a\\xf6\\x2e\\x64\\xac\\xc3\\x4a\\xa2\\x9a\\x42\\xec\\x54\\xe0\\x6e\\x65\\xb3\\x82\\x09\\x56\\xd3\\xe9\\x08\\xa3\\x14\\x4c\\x9e\\x1e\\x53\\x00\\xef\\x52\\xf6\\x28\\x78\\xb5\\xb2\\x5d\\xc1\\x4d\\x0a\\x28\\x09\\xbb\\x73\\x04\\x52\\xc0\\xea\\x73\\xf2\\x56\\xd9\\x63\\xb7\\x5b\\xc8\\x3e\\x27\\x8a\\x46\\xda\\xbb\\x5b\\x5c\\xdf\\x25\\xeb\\xf2\\x54\\x4f\\xee\\xff\\xca\\x5a\\xef\\x16\\x3b\\xd6\\xb9\\xca\\x06\\x2f\\xf3\\xaa\\x69\\x0e\\x61\\x7a\\x7f\\x2d\\xcc\\xf9\\x5b\\xcd\\x7c\\xbf\\x6a\\x95\\x2f\\x2e\\xc4\\xb5\\x8f\\xb7\\x4a\\x79\\x15\\xdb\\xb4\\x8f\\xb5\\xef\\xc1\\xba\\xc3\\x15\\xda\\x02\\x7d\\x1e\\x71\\x45\\xb2\\x1e\\x04\\x1e\\xdf\\xdd\\xe7\\xc9\\x43\\x1d\\xd7\\xf1\\x03\\xdb\\x5f\\x1f\\x39\\x07\\x2f\\xec\\x58\\x52\\xb1\\x6a\\x09\\xfe\\x9b\\x71\\x06\\x40\\x74\\x94\\x81\\x44\\x07\\x48\\x24\\xf2\\x91\\xc3\\x6a\\xb3\\xf3\\x60\\x11\\x05\\xcc\\x71\\x82\\xc5\\xe6\\x10\\x9c\\x12\\x15\\x16\\xc7\\x9d\\x70\\xc8\\x09\\x1b\\x9d\\x50\\xe3\\x34\\x8e\\xdf\\x32\\x2d\\x2d\\x33\\x3c\\x3f\\xee\\x60\\xde\\xc8\\x08\\x53\\x44\\xcb\\xdb\\x35\\x22\\xec\\x6f\\xd3\\x96\\x43\\xc9\\x77\\xdf\\x42\\x5f\\xf2\\x7b\\x35\\xdc\\xaa\\x5d\\x8f\\x4b\\xb0\\x43\\xdb\\x00\\x97\\x77\\xfc\\xd6\\xf1\\x3e\\xe3\\x59\\x6e\\x22\\x4b\\xa7\\x90\\xf1\\x03\\x94\\x1e\\x1d\\x76\\x9f\\xcd\\xe5\\xf1\\x7a\\x5d\\x44\\xb2\\x28\\xaa\\xc7\\x2e\\xfb\\x5c\\x36\\x24\\xd4\\x26\\x51\\xe4\\x4f\\x2a\\x2c\\x53\\x61\\x96\\x0a\\x93\\x54\\x62\\x9a\\xa8\\x30\\x54\\x85\\x32\\x15\\xf2\\x55\\x20\\x36\\xbf\\xa8\\xc2\\xbf\\x55\\x38\\xa4\\xc2\\x1e\\x15\\x5e\\x51\\xa1\\x55\\x85\\xcd\\x2a\\x90\\x06\\x37\\xab\\x30\\x9b\\xa9\\x2f\\x63\\x18\\x7c\\x85\\x0a\\x85\\x2a\\x78\\x55\\xe0\\x55\\xc2\\x2c\\x54\\xf8\\x4a\\x85\\xbf\\xab\\xf0\\x1a\\x6b\\xf0\\x90\\x0a\\x77\\xab\\xb0\\x44\\x85\\xb9\\x2a\\x5c\\xa9\\xc2\\x58\\x15\\x86\\xb1\\x01\\x72\\xcd\\x01\\x7e\\x55\\x61\\xaf\\x0a\\x6f\\x30\\x33\\x8d\\x00\\xdf\\x95\\x01\\x9c\\x38\\x1d\\x24\\xc1\\x63\\x87\\x0a\\x86\\x45\\xb7\\x84\\x61\\xa1\\x77\\xaa\\x9f\\x61\\xfa\\x19\\x16\\x55\\x04\\x8b\\xdd\\x6c\\xfc\\xd9\\xec\\xdf\\x89\\x41\\xe4\\x8b\\xc3\\xec\\xbb\\xe7\\x55\\x78\\x9c\\xe1\\x44\\x9e\\x0c\\x62\\x2f\\x8a\\x54\\xc0\\xc7\\xd9\\x6b\\xea\\xf6\\x39\\xd1\\xcc\\x6a\\x59\\x77\\x6e\\xf6\\x2c\\x23\\x66\\xa1\\xa1\\x1b\\x91\\x65\\xd0\\x56\\x43\\x17\\xe2\\x3a\\x0d\\x1d\\xfe\\x61\\x14\\x63\\x83\\x7e\\xda\\x45\\xe3\\x17\\xcb\\xcb\\xab\\x3b\\x9d\\xbc\\xba\\x78\\x20\\x46\\x0f\\xf3\\xc1\\x55\\x31\\x36\\x44\\x69\\x12\\x5c\\x00\\x91\\x2b\\xce\\xaf\\xec\\x3d\\xb8\\xa6\\xba\\x48\\x1b\\x0b\\x3d\\xb7\\xf4\\x18\\x12\\x3a\\x6b\\x13\\x14\\x6a\\x63\\xc7\\x3d\\xab\\x8d\\x77\\xbe\\x65\\x2d\\x9c\\x30\\x95\\x2f\\xd1\\x84\\x6b\\xbf\\x6c\\x38\\x02\\xa9\\x93\\xb7\\xef\\xd9\\xc4\\xe8\\x61\\x0c\\x42\\xdc\\x33\\x84\\x1e\\x6c\\x68\\x58\\xa2\\x08\\x8b\\x16\\x00\\x4e\\xb4\\xf2\\x0e\\xbb\\xc8\\xf1\\x44\\x88\\xf1\\x32\\x58\\x90\\x85\\x10\\x44\\x20\\x61\\x7a\\xa8\\x9b\\x1d\\xa0\\x2b\\x04\\xa7\\xf5\\x40\\x97\\x9b\\x0e\\xe8\\xc0\\x18\\xe8\\xd0\\x7a\\x73\\x76\\x4d\\xc4\\xc5\\x6f\\xe2\\x47\\x77\\xbf\\xdd\\x71\\xe9\\x7b\\x74\\xbc\\xb8\\x36\\x1e\\xff\\x9b\\xd8\\x42\\x79\\xe8\\xec\\x44\\x9e\\x92\\x93\\xe3\\xe0\\x3c\\xb9\\x9c\\x85\\xcf\\x2f\\x08\\x5b\\x2d\\x56\\xcb\\x2f\\x49\\xab\\x55\\x8e\\xcb\\xde\\x5f\\x92\\x32\\x42\\xf1\\x2e\\x2e\\xe1\\xee\\x67\\xcf\\xc6\\x44\\x10\\xa9\\x48\\xf4\\x8c\\xca\\x33\\x81\\xfc\\xee\\x37\\x08\\x02\\x4c\\x5b\\xd2\\x13\\x70\\xa8\\xef\\x92\\x7c\\x83\\xfb\\x2c\\xfb\\xf3\\x75\\xf3\\xe6\\x5f\\xb3\\x7e\\xe5\\xeb\\x03\\xeb\\x46\\xcf\\xba\\xb4\\xa1\\x69\\x74\\xdd\\x40\\x6d\\xfc\\xfa\\x3b\\x60\\xc4\\xcc\\x19\\xf8\\x55\\x61\\xc6\\x0c\\x18\\x71\\xd7\\xfd\\x2f\\x4d\\x99\\xaa\\x7d\\xd4\\xb0\\xd2\\xc7\\x2b\\x2b\\xea\\xb5\\x8f\\xa6\\x5d\\xb5\\x93\\xe0\\xfa\\xa0\\x36\\x00\\x1e\\x62\\x76\\x5b\\x65\\x22\\x4e\\x23\\xaa\\x10\\xd2\\x8d\\xb6\\x52\\x01\\x62\\xa7\\x84\\x55\\xa5\\x17\\x8f\\xfa\\xc0\\x89\\x30\\xd7\\x13\\x31\\x1e\\x04\\x51\\x1b\\x60\\x59\\xfb\\xdb\\xb5\\xa4\\xbf\\x62\\xf2\\xee\\x9a\\xf9\\xee\\x92\\xa2\\xf0\\x39\\xe1\\x9c\\x3c\\x0f\\x79\\x77\\x6b\\x38\\x12\\x8e\\xfc\\x92\\x0c\\x87\\xbd\\xe4\\xd9\\x2f\\xc9\\xbc\\x88\\xd7\\xf3\\x4b\\xd2\\x8b\\xfe\\xf7\\xbb\\xab\\x4c\\x43\\x30\\x12\\x8f\\x3c\\x46\\x3a\\x1f\\x73\\xd8\\xaa\\x01\\x17\\x7d\\x79\\xb1\\x18\\x8a\\x07\\xd4\\xd7\\xcc\\x98\\x58\\x37\\xbb\\xa6\\x7e\\xc0\\xeb\\x2b\\xd7\\x5f\\x37\\x7f\\xfe\\x75\\x9b\\x96\\xbf\\xfe\\xcf\\xab\\xa6\\x41\\x9f\\x4b\\x57\\x2a\\xbc\\x6f\\x45\\x23\\xf4\\x99\\x3a\\xe5\\xa5\\xfb\\xef\\xd2\\xda\\x9a\\x66\\x0a\\xaf\\xe2\\xd9\\xd3\\xb5\\xb6\\xdb\\x37\\x30\\xba\\x18\\x8d\\x79\\xbe\\x81\\x1b\\x41\\x78\\x6e\\x61\\xc2\\x6f\\xf5\\xa9\\x8a\\xd7\\xe1\\x10\\x9e\\x48\\x22\\xc7\\xf6\\x3a\\xe4\\x7e\\x22\\x49\\xd4\\x8b\\x92\\x32\\x1a\\xad\\x66\\x28\\x2e\\xba\\xeb\\x87\\x39\\x8e\\x2b\\xa9\\x8f\\x8a\\x05\\x39\\x10\\x34\\xb8\\xb1\\xa3\\xee\\x1c\\xb5\\x7c\\xdc\\xf0\\x79\\x67\\xcd\\xd8\\x30\\x75\\xc5\\x92\\xc9\\x7d\\x96\\xcd\\x4c\\xcc\\xc1\\x7c\\xaf\\x70\\x49\\x71\\x9f\\x7d\\x63\\x4b\\xce\\x08\\x5e\\x7a\\xa0\\x77\\x3e\\x4a\\xb1\\x02\\x1d\\xf4\\x3f\\xb7\\x48\\xaf\\xec\\x23\\x3a\\xff\\x2b\\xda\\xb3\\xf0\\x3d\\xa1\\x4b\\x9a\\x13\\x74\\x5e\\x42\\xb2\\x60\\x1e\\x03\\xd8\\xac\\x02\\xb1\\xcf\\xdb\\x20\\x9c\\xd8\\x0f\\x68\\x7d\\x1d\\xc8\\x37\\xd8\\xe0\\x6a\\x76\\x26\\x9d\\x3e\\xca\\x3e\\xc0\\xbc\\x27\\x93\\x33\\xce\\xaa\\xc9\\xa3\\xa9\\x27\\x59\\xe5\\x14\\xfd\\x40\\xfb\\x71\\x76\\xa6\\xad\\x97\\x47\\x19\\xc4\\x8e\\xa8\\xf5\\xc6\\x87\\x99\\x8b\\x45\\xef\\xb1\\xce\\x3c\\x83\\x3f\\xc2\\x1a\\x3e\\x6f\\xd6\\x66\\xd1\\xab\\xb7\\xe8\\x47\\xe4\\x46\\xf5\\x16\\xfd\\x81\\x7e\\x44\\xae\\x9f\\xcc\\x47\\x58\\xb1\\x16\\x7c\\x28\\x23\\x2d\\x48\\x77\\xee\\x74\\x4b\\x0b\\x6a\\xc9\\x48\\x49\\xd2\\x01\\xd0\\xe9\\xd3\\x82\\x1a\\x4e\\xa3\\x9b\\x9c\\x46\\xee\\x75\\x7b\\xa8\\x53\\x4f\\xd7\\xe2\\x2b\\x2c\\x35\\xc8\\x57\\xee\\x7b\\x0b\\x62\\xda\\xa7\\xb1\\x6f\\x63\\x5c\\x6f\\x9a\\x9b\\x70\\xf2\\x76\\x6e\\x5f\\x7b\\xb1\\xee\\xab\\x28\\x4f\\x7d\\xc9\\xd3\\x33\\xc9\\x28\\xba\\x2c\\xd1\\x2f\\xdb\\xe9\\xb3\\x5a\\xdd\\x36\\x55\\xe1\\x88\\x5a\\x6d\\x73\\xf2\\xb1\\xb8\\x3b\\x3c\\x37\\x29\\xab\\xa0\\xaa\\xee\\x5a\\x6e\\x13\\x87\\x11\\xb1\\x39\\x39\\x8e\\xb3\\xdb\\xd1\\xdc\\xa4\\xdb\\xee\\xb6\\xdb\\x3c\\xa2\\x2d\\x44\\xa4\\x15\\xab\\x6e\\xd2\\x19\\xe8\\xeb\\xa1\\xc6\\x43\\xa6\\x04\\x33\\xb4\\x5c\\xe6\\xdd\\x06\\x5a\\xcb\\xa3\\x90\\x18\\x0a\\x5e\\x56\\xc0\\x03\\xd2\\x51\\xbf\\x0a\\x3e\\x7f\\xc2\\x3c\\x17\\xd1\\x1e\\x0e\\xed\\x78\\xe8\\xe3\\xe3\\x47\\x3e\\x7b\\xe8\\xb1\\x4f\\xb3\\xb4\\x6f\\xe5\\xa6\\x09\\x0b\\x17\\x2d\\x85\\xb1\\xd7\\x4e\\x96\\xee\\xdf\\x1d\\xd8\\xf9\\x62\\x00\\xdc\\x47\\xbe\\x87\\x70\\xa8\\xad\\xcd\\xf7\\xfc\\xbd\\xae\\xba\\x49\\x6d\\x9b\\xb7\\x3d\\x43\\xcf\\xa6\\x88\\x9c\\x9d\\x28\\xfc\\x09\\x15\\xa2\\x19\\x89\\xb2\\x5c\\x3b\\x9f\\x8d\\x22\\xd1\\xa8\\x64\\xf5\\xfb\\xac\\x3e\\xbe\\x10\\xf1\\xa8\\xa8\\x47\\x8e\\xdd\\x61\\x9f\\x93\\x8c\\x38\\x1c\\xbc\\xdb\\xad\\xce\\x49\\xfa\\xfd\\x6e\\x8b\\x90\\xcb\\xe7\\xce\\x4e\\x26\\x0a\\xa1\\xb0\\x2d\\xb5\\xeb\\x19\\x6f\\x60\\x44\\x61\\x21\\x1f\\x64\\xd1\\x3c\\xf5\\x86\\x57\\xb0\\xa4\\x33\\x69\\x32\\xad\\xb2\\x7b\\xd3\\xd6\\xb0\\xe1\\xf1\\x00\\x1a\\x89\\x44\\x58\\xd2\\x10\\x30\\x7d\\xb6\\xa6\\x01\\x94\\x4d\\x18\\x63\\x9c\\xc6\\xc7\\xc4\\xc9\\xab\\xf3\\x13\\xa3\\x7f\\xbf\\xb7\\x63\\xe4\\x95\\xa3\\x5e\\xd8\\xf1\\x8f\\xbd\\x8f\\xbd\\xd2\\xfb\\x87\\xc0\\x98\\xa1\\x75\\xb5\\x90\\xa3\\x7d\\x35\\x66\\x32\\x2c\\x9c\\x72\\xb5\\x07\\xae\\xde\\xba\\xf3\\xbd\\x81\\x6b\\xa6\\x5e\\xba\\xe5\\xb7\\xb7\\x3f\\x58\\x79\\x7f\\xc9\\x05\\xe7\\xce\\xba\\xf1\\xcb\\x2d\\x97\\x5c\\x75\\x57\\xff\\x49\\x13\\xe9\\x1e\\x19\\x80\\xb6\\xf0\\x03\\xf8\\xad\\xac\\xbe\\xc8\\x98\\x44\\xaf\\xac\\x10\\x87\\x72\\x3d\\x0e\\x17\\x72\\xf5\\xe8\\xe9\\x95\\x83\\xe0\\xe4\\x82\\x81\\x40\\xf4\\x89\\xa4\\x1c\\x20\\x1f\\x03\\x01\\x3b\\x6f\\xb1\\x14\\x3c\\x91\\xfc\\xc0\\x42\\x58\\x3a\\xb3\\xe5\\xdc\\x6f\\x94\\xe9\\x79\\xa0\\xf4\\x23\\xf9\\x5d\\x66\\xfa\\x6e\\xca\\xf5\\x32\\x2b\\xbe\\x0a\\x9a\\xa9\\x4f\\x77\\x73\\x95\\x6a\\x51\\x02\\x7e\\x9a\\xbd\\x2f\\xe6\\xe5\\xd2\\x0c\\xfe\\xc2\\x2a\\xbf\\x92\\xce\\x1d\\x5e\\x36\\x78\\xe9\\xfa\\x5b\\xae\\x98\\x37\\xff\\xf2\\xe5\\x1b\\x6e\\x1d\\x3c\\x70\\xd9\\x86\\xa5\\x93\\xe7\\x2f\\xb8\\x7c\\xf9\\xfa\\xe5\\x03\\xbf\\x5a\\x30\\xfe\\xe2\\x1b\\x16\\x8c\\x1b\\x77\\x03\\xde\\x7a\\xfd\\x15\\x4b\\x1f\\x5c\\x3a\\x68\\xd0\\xf2\\x0d\\xcb\\x27\\x5d\\x3f\\x77\\xd2\\xd2\\x4d\\xcb\\x07\\x0d\\x58\\xb1\\x61\\xc5\\xa4\\x05\\xe3\\x6e\\x58\\x78\\xf1\\xb8\\x1b\\x16\\xe8\\xb4\\xc7\\x6c\\x16\\x42\\x7b\\x0a\\x9a\\x9f\\xc8\\xf1\\x79\\xfd\\x36\\x1e\\x59\\xad\\x1e\\xa7\\x4d\\x72\\x0b\\xe0\\x06\\x6f\\x40\\x51\\x6c\\x5e\\x4e\\x0d\\x5a\\x1c\\x92\\xa3\\x0d\\x7c\\xcf\\x24\\x79\\x89\\x93\\xdd\\x32\\xf9\\x98\\x50\\x92\\x7e\\xe4\\xae\\xd1\\xd5\\x7e\\x4c\\x6c\\x04\\xb7\\x35\\xe0\\xe5\\xac\\x5e\\xfd\\x30\\x97\\x15\\xda\\xf1\\x18\\xa9\\xc5\\xe5\\x19\\x02\\xcb\\x3b\\x20\\x43\\xa3\\x2a\\xd7\\xa3\\x98\\xd8\\x02\\xb1\\x3f\\x34\\x90\\xb8\\x8a\\xfc\\x30\\x25\\x0b\\x6b\\xe0\\xd7\\xb6\\xc1\\x18\\x6d\\x9b\\x76\\x5c\\x6b\\x81\\x5a\\x4c\\xfe\\xe1\\xd7\\xee\\x06\\x2a\\x77\\xbd\\xe4\\xf1\\x53\\x77\\x3d\\xb4\\xf6\\xe8\\xd1\\xb5\\x0f\\xdd\\x85\\xdf\\x37\\xcf\\x81\\xb1\\x21\\x3f\\xb6\\x31\\x9f\\xef\\xa8\\x44\\x6f\\x9a\\xd7\\xc8\\x03\\x58\\x6d\\x02\\x12\\x10\\x3d\\x2d\\x4d\\x57\\x84\\x8a\\x99\\xb1\\x3b\\x8b\\x4c\\x4e\\x90\\xb1\\x8b\\x4b\\xd8\\x1b\\xe8\\x9b\\xb8\\x6b\\x82\\x1f\\x95\\x2d\\x27\\x40\\xc4\\x9b\\x39\\x7b\\xfb\\xaf\\x27\\xef\\xe1\\x1c\\xed\\xbf\\xb0\\x71\\x2b\\x53\\x11\\x3e\\x26\\xac\\x45\\xe5\\xe8\\x4c\\xb4\\x3c\\x51\\x98\\x93\\x3d\\x24\\x30\\x40\\x1d\\x50\\x6c\\xe7\\xb9\\x7c\\xf5\\x8c\\xaa\\xbe\\x15\\x15\\x5e\\xaf\\xca\\xf5\\x2d\\xce\\x16\\xab\\x13\\x55\\x67\\x0c\\x09\\x9c\\x11\\x40\\xe1\\x70\\xbc\\x0d\\xe4\\x44\\x20\\x89\\x72\\xf6\\xe4\\x60\\x7b\\x4e\\x0e\\x0a\\xbb\\xc3\\xb1\\x30\\xe7\\xe0\\xc2\\xc8\\x42\\x9f\\x48\\xc9\\x26\\x7e\\x11\\x7f\\x9c\\x27\\x8c\\x80\\x6c\\x1e\\x7a\\xa8\\x42\\x35\\x13\\x9a\\x33\\x5a\\x32\\xd1\\xf4\\x05\\x30\\x9f\\x9f\\xbe\\xc7\\x4d\\x6f\\xa9\\xf9\\x91\\xee\\xf5\\x4e\\x27\\x00\\x8d\\xb0\\xc2\\x74\\x17\\x18\\x65\\x4f\\xd2\\x0e\\x03\\x1a\\x8d\\x45\\x93\\x68\\xab\\xd8\\xdf\\x50\\xc1\\xea\\x7e\\x10\\xe8\\x7e\\xb8\\xfa\\x95\\x23\\x91\\x63\\xce\\x99\\x97\\x34\\x4d\\xed\\x37\\xe9\\x96\\x47\\xff\\x7c\\xf1\\x75\\xe3\\x9f\\x3e\\xf9\\xc3\\xc1\\x7f\\x15\\xfd\\xe8\\xbf\\xe1\\x86\\x05\\x37\\x95\\x5e\\xf5\\xec\\xfb\\x8f\\x5f\\x77\\xd5\\x25\\x97\\x1f\\x81\\x8f\\xe6\\x3d\\xf1\\x72\\xbf\\xc9\\xb7\\xbe\\x2a\\xac\\xbd\\x7d\\x69\\xe8\\xcc\\xb3\\x07\\x9d\\xd5\\x73\\x40\\x71\\x76\\xe1\\x98\\x05\\xe3\\xeb\\x57\\x47\\x6a\\x9e\\xfc\\xeb\\x93\\xab\\xee\\x29\\xa8\\x1d\\x75\\x56\\x6d\\xe9\\xe0\\x3e\\xbd\\xfb\\x3e\\xd8\\x54\\xbf\\x28\\xaf\\xf0\\xd6\\xb1\\xf7\\x6c\\x6e\\x7f\\x7d\\xf8\\xf9\\x71\\xf5\\xe6\\x9e\\x55\\xbd\\xa2\\x76\\x7d\\xed\\xdc\\xfc\\x76\\xbc\\x4e\\x58\\xc9\\xd6\\x6e\\x61\\xe2\\x62\\x0b\\x8f\\x88\\x42\\x44\\x96\\x0e\\x10\\xdc\\x5e\\xc7\\x4f\\xcf\\x3c\\xe0\\x3d\\x46\\x6c\\x6b\\x94\\x28\\x1e\\x3c\\x02\\x25\\xe2\\x3d\\xc9\\x5f\\xe1\\xec\\x11\\xc8\\xcd\\xd2\\x45\\x5b\\xcc\\x15\\x8d\\x31\\x91\\xa0\\xcb\\x82\\x46\\x33\\x33\\xf5\\xac\\x2e\\xce\\x6f\\x9a\\x55\\x58\\x4c\\x78\\x65\\x59\\x17\\x67\\x00\\x99\\x38\\xc2\\x14\\xe3\\xe4\\x07\\x5e\\xd9\\xdf\\x31\\xe7\\x1f\\xfc\\xf6\\x03\\xe4\\x3f\\x82\\x55\\x2c\\x75\\x5c\\x78\\x83\\xf0\\x37\\x99\\x70\\xea\\x01\\x68\\x66\\x62\\x58\\xd0\\x1a\\xeb\\x53\\x54\\xee\\x46\\xa8\\xbc\\x8f\\x95\\x1f\\x38\\xa8\\xa2\\xb0\\x2a\\xaf\\x57\\xde\\x3b\\xc9\\xd2\\xaa\\x77\\x92\\x72\\xaf\\x68\\x2f\\x9c\\x28\\x05\\xb9\\x34\\x5a\\x8a\\x53\\xa5\\x80\\x4a\\xdd\\xa5\\xd8\\xc6\\xf5\\x2a\\xed\\x55\\xca\\x4b\\x92\\xff\\xad\\xa4\\xc4\\xf3\\x59\\x6f\\x25\\x79\\xdf\\x69\\xb2\\xc8\\x66\\xcc\\x64\\xe7\\x65\\xa7\\xf3\\xf5\\x60\\x3d\\x0f\\xac\\xc2\\x4b\\x33\\xe4\\xbc\\x96\\xcc\\x2c\\xb1\\xb2\\x7c\\x6f\\x01\\xe3\\x10\\x55\\xaa\\x91\\x55\\x96\\xc1\\x04\\x85\\x37\\x5e\\xd6\\xb6\\xbf\\xfc\\xba\\xf6\\xc4\\xf3\\xaf\\x40\\xed\\xcb\\xaf\\xc0\\xe8\\x5d\\x4d\\x9b\\xb5\\xc3\\x0f\\xaf\\xd7\\xbe\\x7f\\xfc\\x61\\x08\\x6d\\xde\\x0c\\x59\\x0f\\xb7\\xbf\\x33\\x77\\xda\\xd0\\x2b\\xb3\\x36\\x0d\\xdc\\xb6\\xf0\\xe5\\x8f\\xde\\xdd\\x79\\xf3\\xf6\\xd2\\x07\\xc3\\x97\\x9d\\x73\\xed\\x74\\xfc\\x2a\\x6d\\xfa\\x36\\x5c\\xf0\\xe2\\xcb\\x50\\xfb\\xca\\xab\\xda\\x8e\\x57\\x68\\x8b\\x07\\xb5\\x6f\\x1e\\x7b\\x58\\x3b\\x4c\\x5b\\xfe\\x65\\xf9\\xdd\\x23\\xcf\\x29\\xb9\\xb1\\xe9\\x8b\\x77\\x76\\xef\\x6d\\x9a\\xd3\\x73\\xc8\\xb0\\xdb\\xc8\\x5a\\xf6\\xc1\\xfb\\xf0\\xaf\\xc2\\x2a\\x32\\x53\\x3d\\xd1\\x55\\x89\\xaa\\x1e\\x0e\\x49\\xe2\\xc4\\xbc\\x3c\\xd5\\xc7\\xf9\\x7a\\x15\\x8b\\xf9\\xdf\\xd2\\x13\\x75\\xb9\\xda\\x01\\xb2\\x63\\xa3\\x03\\x87\\x38\\x47\\x42\\xf6\\x8d\\x70\\x38\\x64\\xd9\\x76\\x38\\x29\\x7f\\xa1\\xc4\\x50\\xec\\x70\\x32\\x3b\\x8c\\xda\\x20\\xa7\\xeb\\x61\\xba\\x91\\x10\\x49\\xab\\x2e\\x14\\x77\\xba\\xbd\\xcd\\x34\\x75\\xfa\\xd2\\x05\\x55\\xb4\\xb6\\x84\\xa5\\x88\\x39\\x8b\\xb3\\x81\\xcc\\x88\\x51\\xe0\\x26\\x4f\\x2c\\xa2\\x47\\x64\\x16\\x9a\\x37\\x07\\x70\\xd9\\x2c\\xc8\\x5a\\x3b\\xe5\\x4a\\xfb\\x4b\\xde\\xf5\\x37\\xad\\xbc\\xc7\\x1b\\xef\\x7b\\x56\\xbf\\xe1\\xa3\\x05\\x6e\\x44\\xcd\\x90\\xf1\\x97\\x4e\\x38\\x13\\xef\\x9b\\x7a\\xd9\\xfb\\x02\\xee\\x35\\x6f\\xa2\\xed\\xf2\\xa9\\x0b\\x66\\xfc\\x58\\xda\\x57\\xb8\\xd6\\x7b\\xde\\x90\\x15\\xb7\\x34\\x9e\\x15\\xc1\\x5c\\x69\\xd9\\xc5\\x8c\\x5e\\x2f\\x45\\xb7\\xf3\\x2a\\xb7\\x95\\xf0\\x50\\x0f\\xba\\x28\\xd1\\x4b\\x76\\x88\\x58\\x72\\x3a\\x6d\\x1e\\xba\\x61\\x09\\x13\\xc5\\x0e\\xde\\xeb\\x73\\xd8\\x65\\x59\\x24\\xaf\\xce\\xfd\\x58\\x67\\x43\\x22\\xfa\\xb1\\x0e\\x83\\x78\\x0c\\x85\\xaa\\x75\\xd6\\x68\\x56\\xe0\\x2a\\xcf\\xcc\\x97\\x4a\\x2f\\x77\\x01\\x54\\x42\\x79\\x80\\x83\\x40\\xdc\\xfc\\xc0\\x15\\xd1\\xba\\x37\\x3f\\x69\\x80\\x3a\\x86\\x6b\\x1a\\xe0\\xa3\\xe4\\xd3\\xed\\x30\\x75\\x38\\x4c\\x2f\\xd0\\xee\\xd2\\xee\\xcd\\xcb\\xf8\\x48\\xf3\\x3d\\x08\\x7e\\xe3\\xb9\\x10\\xe1\\x7c\\x23\\x12\\x7d\\x81\\xa7\\x91\\x12\\x74\\xff\\x34\\xa3\\xd5\\x88\\xaf\\x21\\x7f\\x6d\\x44\\x07\\xc9\\x46\\x22\\xc6\\x6f\\x03\\x9a\\x4e\\xbe\\xdd\\x8e\\x52\\x88\\xa0\\x8a\\x30\\x87\\x9f\\x48\\x72\\x3b\\x18\\x61\\x32\\x21\\x35\\x63\\x66\\x3a\\xb8\\xbe\\x80\\xc5\\x86\\x70\\xf3\\xda\\x3f\\xe7\\xb9\\xdb\\x61\\xeb\\xa1\\x8e\\xd9\\x44\\x8f\\x34\\x6a\\xb1\\x10\\x3d\\x92\\xde\\x35\\xcd\\x77\\xd9\\x27\\x7d\\x50\\x3f\\x74\\x73\\x62\\x54\\xd0\\x1a\\xef\\xdd\\xbb\\x67\\x79\\x5e\\x5e\\x7e\\xac\\x4f\\x9f\\x33\\x7a\\x12\\xb8\\x9e\\xf9\\x56\\xbe\\xaa\\x7f\\x2c\\xbf\\x77\\x79\\x6e\\x79\\xee\\xdb\\xc9\\x82\\xb2\\xb7\\x93\\x28\\xdf\\x9d\\x8f\\xe5\\x82\\x68\\x01\\xce\\xe1\\x0a\\x12\\x6a\\x78\\x44\\x7e\\x79\\x41\\x41\\x79\\x3e\\xf7\\x47\\x1b\\x46\\xa5\\x1b\\x86\\x11\\x84\\xb1\\x5f\\x3c\\x5d\\x6c\\x36\\x33\\x8e\\xe8\\xff\\xb2\\x73\\x04\\x2e\\x8f\\x16\\xb2\\xd1\\x0b\\x09\\xf8\\x38\\xaa\\xd9\\x07\\xc8\\x56\\xfa\\x3f\\x6c\\x1b\\xed\\x9c\\x1d\\x73\\x76\\xc0\\xc8\\xfb\\xef\\x6b\\xbc\\x70\\xdf\\x81\\x51\\xe7\\x2c\\x5d\\x33\\xf4\\xec\\xff\\xe7\\x8e\\xf9\\x2f\\x0c\\xd0\\xde\\xe4\\x4a\\x16\\xcf\\x98\\x38\\x37\\xa4\\xb5\\xe0\\x41\\x03\\x06\\xff\\x3a\\x1c\\x41\\xea\\x98\\xb0\\x95\\x5f\\x28\\xd2\\x1c\\x71\\xf5\\x69\\x44\\x63\\x7b\\x70\\x1b\\x64\\x3d\\x99\\x04\\x5a\\xa4\\x46\\x8f\\x86\\xa1\\x86\\x1e\\xbf\\xf0\\xe4\\x2c\\xfe\\x76\\x61\\xeb\\x44\\x46\\x83\\x97\\x70\\x11\\x7c\\x40\\xb8\\x93\\xc5\\xa0\\x17\\x27\\x02\\x3e\\xd1\\x49\\xa8\\x2c\\x14\\xe6\\x94\\x6d\\x49\\xaa\\x23\\xba\\xb7\\x25\\xed\\xe9\\x2c\\xdc\\xae\\x61\\xe6\\x7a\\x0a\\x2a\\xdb\\x26\\x96\\x8c\\xe2\\x02\\xf8\\xc0\\xf3\\xcb\\x96\\xbc\\x70\\xf1\\xda\\x09\\xcb\\x9f\\xdb\\x50\\x7f\\xee\\xf0\\x86\\xcb\\x87\\x9d\\xdd\\xc8\\x8f\\xbb\\xf9\\xd9\\x67\\x96\\x8e\\xbb\\xeb\\xa2\\x67\\x6f\\x3e\\xb7\\xf1\\xb2\\x73\\xce\\x99\\x74\\x39\\x1b\\xbb\\x2f\\x59\\xec\\x0a\\xfe\\x57\\x56\\x6f\\x6d\\x68\\x22\\xcf\\xe1\\xe2\\x9d\\x2e\\x1b\\x80\\x53\\xc4\\xd8\\xe3\\x96\\x9c\\x4f\\x24\\xcd\\xc2\\x41\\x0d\\xd4\\x58\\xdb\\x25\\x60\\x81\\x26\\x56\\x97\\x67\\x20\\x63\\xa8\\x01\\xa6\\x03\\xb6\\xb3\\x94\\x10\\xcd\\x70\\xc6\\x0f\\x1d\\xd2\\xa6\\xc3\\x9d\\x87\\xe0\\x2e\\x9a\\xe8\\x8c\\x5f\\xd5\\x1e\\x87\\x8b\\x0f\\xc2\\x58\\x6d\\xeb\\xc1\\x8e\\x21\\x07\\x0f\\x52\\xbd\\x19\\x3f\\x83\\x9b\\x85\\xbb\\x50\\x08\\x9d\\x97\\xe8\\xa1\\x22\\x87\\x64\\xf1\\x06\\xbd\\x64\\xcc\\x70\\xc4\\x82\\x64\\xd9\\x11\\x75\\x94\\x38\\x38\\x17\\x97\\xe6\\x2a\\x48\\xfd\\x26\\x89\\x3e\\xcf\\x2c\\x4e\\xa3\\xd7\\x6f\\xe9\\x5a\\xc6\\xa9\\x28\\x5d\\x9f\\xc6\\xe0\\x21\\x44\\x09\\xa3\\x09\\xca\\x81\\x4a\\x9c\\x3d\\xad\\x6e\\x7c\\x62\\xf4\\xc5\\xf6\\x57\\x9c\\xf7\\x2d\\xbc\\xe5\\xee\\xfb\\xaf\\xba\\xc0\\x0d\\xd3\\xf0\\x33\\xf3\\x87\\x4c\\x1d\\xd4\\xff\\xbc\\xa2\\xba\\xcb\\x85\\x49\\xf3\\xa7\\x4f\\xba\\xf1\\xf2\\xa1\\x67\\xc6\\x57\\xea\\xba\\x55\\x6f\\xbc\\x15\\xdf\\x44\\xf0\\x2b\\x40\\x37\\x24\\xce\\xb7\\x88\\xc1\\x90\\x2f\\xea\\x40\\x28\\x9a\\x2b\\x87\\x44\\xb1\\xb0\\x28\\xd7\\x25\\xcb\\x2e\\x82\\x97\\x1c\\x95\\x4b\\x64\\xce\\xf8\\x65\\xe3\\x09\\xb2\\x59\\xc1\\x84\\xec\\x1d\\x11\\x0c\\x66\\x65\\x29\\x87\\x93\\x59\\x5f\\x70\\x04\\xfb\\x45\\x16\\xa8\\x65\\x65\\x69\\x88\\x42\\xc3\\x1d\\xec\\x5e\\x87\\xa6\\xd8\\xa3\\x57\\xff\\x9a\\x71\\xfa\\x0a\\x34\\xba\\xbc\\x27\\x8b\\x5b\\x59\\x91\\x51\\x7f\\x26\\xfd\\x7a\\xcc\\x70\\xc7\\x37\\xfd\\x69\\xe5\\xf2\\x0d\\xce\\x17\\xed\\x53\\xae\\x5c\\xd5\\xbf\\xbc\\x3a\\x71\\x46\\xf1\\x04\\xfb\\x73\\x8e\\xfb\\x6f\\x5c\\xb4\\xfa\\xbc\\x9a\\x8b\\x26\\x70\\xcd\\x93\\x9a\\xa6\\x4c\\x91\\xea\\x1b\\xeb\\x6f\\x2a\\x29\\x2e\\xea\\x9d\\x94\\x26\\x5e\\x77\\xd5\\xc5\\x89\\x3a\\x37\\xb6\\x5d\\x4a\\xde\\x73\\x3c\\xbf\\x11\\x5f\\xcc\\x62\\xb2\\x8a\\x12\\x61\\x24\\x5a\\x04\\x7c\\x5b\\x9d\\x2c\\x80\\x2c\\x94\\x08\\xd5\\x42\\x03\\xcb\\xb5\\x3b\\x26\\x58\\x84\\x74\\x38\\x16\\x3d\\x45\\xf6\\x91\\x35\\x1e\\xdf\\x0e\\x58\\xdb\\xca\\x6f\\x8c\\x42\\xac\\x58\\x3b\\xaa\\xcf\\xd9\\x32\\x6d\\x1c\\x1f\\x27\\x36\\x68\\x16\\x3d\\x2b\\xf6\\x38\\x9d\\x2e\\xac\\xaa\\x61\\x57\\x38\\x3b\\x27\\x48\\x66\\x2b\\x22\\xfa\\x6b\\x93\\x36\\x4c\\x63\\x67\\xa8\\x9a\\xa9\\x9f\\x38\\x95\\x77\\x4f\\xe3\\x30\\x7d\\xf7\\xc6\\xf9\\x58\\x46\\xe0\\xb0\\x5f\\xe5\\x02\\x4e\\x2e\\x7e\\x49\\x4d\\xc5\\x68\\x95\\xe7\\xe9\\x19\\xf2\\xc5\\x97\\x24\\x93\\x10\\xb2\\x4e\\xee\\x3d\\xee\\xc2\\xd2\\x5e\\xc5\\x23\\xb4\\x5b\\x84\\xc3\\x1d\\x0f\\xff\\x69\\xd9\\x7d\\x1b\\xf1\\xd0\\xf6\\xb6\\x9b\\x8d\\xd8\\xf8\\xe1\\xda\\x6f\\x7c\\x09\\xd1\\x91\\x65\\x74\\x56\\x22\\x2c\\x88\\x32\\xb1\\x8a\\x45\\x3b\\xe7\\xf6\\x20\\x8b\\xdb\\x42\\x64\\xba\\xc5\\xe2\\x04\\xc4\\x3b\\x89\\x8d\\xac\\xb6\\x26\\x9d\\x1c\\x4d\\xdf\\x2f\\xaf\\x4e\\x67\\x80\\x9b\\x99\\xfb\\x19\\xf5\\xb2\\xe8\\x1f\\x5d\\x3e\\xc7\\x03\\xdc\\xd6\\x07\\x5f\\x5d\\xf7\\xd8\\x2b\\xaf\\x6f\\xc3\\x73\\xf8\\x7f\\x9f\\x10\\x85\\x13\\x27\\x44\\xee\\xa5\\x67\\xb7\\x3c\\xb6\\x73\\xb5\\x3e\\xf6\\xed\\xd8\\x07\\x4f\\x70\\xc3\\x68\\x75\\xc8\\x84\\x93\\x9d\\x63\\x23\\x58\\x97\\x94\\xf5\\x2c\\xfe\\x74\\xed\\x2a\\xaa\\x9d\\xde\\x0e\\x31\\x02\\x4b\\xab\\x57\\xd1\\x76\\x8d\\xda\\x78\\xf8\\x99\\x7c\\x22\\xa2\\x2e\\xf1\\xa4\\xc7\\xeb\\x75\\xcb\\x32\\x59\\x1f\\x41\\x09\\x78\\x9d\\x4e\\xce\\x1d\\xe0\\xac\\x77\\x25\\xb9\\xc8\\x6b\\xcc\\x77\\xbc\\x99\\x3a\\x87\\x61\\x89\\x02\\xb3\\x15\\x18\\xab\\xc0\\x30\\x05\\xdc\\x0a\\x60\\xa4\\xc0\\x71\\x05\\x0e\\x29\\xb0\\x47\\x81\\x5d\\x0a\\xb4\\x28\\xb0\\x46\\x81\\x45\\x0a\\x34\\x2a\\x50\\xab\\x40\\x8c\\x01\\x75\\x83\\xd9\\xc4\\x60\\x08\\x40\\x29\\x7b\\xd4\\x3f\\xfd\\xac\\x85\\x3d\\x6b\\xca\\x68\\xa0\\xf7\\x48\\xba\\x8b\\x9a\\x5f\\xee\\x62\\x8d\\x4b\\xd8\\x3f\\xad\\x13\\x33\\xcd\\xed\\x3f\\x34\\xc3\\xd9\\xc3\\xce\\x8c\\xe6\\xb4\\xf1\\x9d\\x51\\xbc\\x46\\x3f\\x6d\\xa2\\x3b\\x80\\x79\\xef\\x74\\xc2\\xaf\\x2a\\xa7\\x99\\xba\\x3f\\x3f\\xb8\\xb6\\x4f\\xff\\xbc\\xbe\\x2b\\xfa\\x0f\\x2d\\x74\\x9d\\xb9\\x3a\\x3e\\xb1\\xee\\xc8\\xc4\\x46\\x71\\xae\\xe5\\x9c\\xbc\\x5c\\xbc\\x75\\x8c\\x30\\x86\\xfa\\xe9\\x08\\x7f\\x99\\x26\\x2c\\x43\\x76\\xc2\\x5f\\xe8\\xa9\\x81\\x45\\xe4\\x11\\x2b\\xa8\\x85\\x78\\x37\\x8f\\x1d\\x1c\\x9f\\xe0\\xda\\x52\\x87\\x12\\x2e\\x87\\x7b\\x04\\x27\\x7e\\x46\\x0b\\x6c\\x1d\\xd6\\x19\\x8c\\x6e\\xb7\\x16\\x87\\xdf\\x33\\x2d\\x3c\\x56\\x48\\xd3\\x08\\x18\\x29\\xf7\\x58\\x2a\\xab\\xc8\\xe7\\xc0\\x98\\xb6\\x27\\x5a\\xb7\\x6f\\x21\\x0c\\x04\\xf6\\x5e\\xb3\\x60\\x4e\\xc7\\x63\\x2c\\x27\\x86\\xea\\x4d\\x6f\\x13\\xbd\\xc9\\x81\\x54\\xd4\\x2b\\xe1\\xf3\\xb2\\xf3\\xea\\x60\\xc8\\x26\\x7f\\x93\\xb4\\x7d\\xc1\\x05\\xbe\\x49\\x72\\x4c\\x27\\x3a\\x35\\x6b\\xa8\\xb3\\xbc\\x61\\x17\\x6e\\xfe\\xf6\\x53\\x1b\\xef\\xdb\\xd1\\xb2\\x61\\xd3\\xb6\\xb7\\x06\\x9d\\x77\\xde\\x59\\x89\\xb3\\x47\\x25\\xf8\\xbe\\x0f\\x3d\\xd7\\xb6\\xf9\\xa1\\xb6\\x1d\\x8f\\x4e\\xbb\\x6c\\xd2\\x94\\x69\\x57\\x5e\\xc1\\x78\\x79\\x3d\\xd1\\x15\\x82\\x86\\x2e\\x33\\x3a\\xd1\\xd3\\x21\\x63\\xd1\\xe5\\x74\\x7a\\x6c\\x02\\xd1\\x65\\x90\\x4d\\x94\\x79\\x1f\\x21\\x21\\x87\\x03\\x7b\\xac\\xd8\\xfa\\x63\\x9d\\x8b\\xf0\\xf2\\x1f\\xeb\\x2c\\x22\\xfe\\x63\\x55\\xa6\\x8b\\x26\\x53\\x55\\x09\\x5c\\x65\\x39\\x04\\xa0\\xdc\\xfc\\x50\\x0f\\x48\\xfb\\x09\\x88\\xc6\\x71\\x80\\x7c\\x38\\x4a\\xf8\\x80\\x76\\x3b\\xd1\\x5e\\xe0\\xba\\x02\\xed\\xce\\xe1\\x4c\\x91\\x31\\x3f\\x12\\xfd\\x82\\x48\\x3a\\x71\\x94\\xb0\\xcc\\x5d\\x88\\x6e\\x90\\x90\\xbb\\xc8\\xd2\\x81\\xf7\\x20\\xe4\\xb1\\x58\\x05\\x6e\\x47\\xc7\\x28\\xa4\\x90\\x7d\\x81\\x3d\\x41\\x60\\xc7\\x54\\x4d\\x12\\x57\\xef\\xa9\\x44\\xd5\\x95\\x95\\xb4\\x5d\\x2a\\x25\\x9e\\xdf\\xa5\\xdd\\x0b\\xb4\\x1d\\x9a\\xcd\\xbd\\xd7\\x71\\x1e\\xb2\\xec\\xc0\\x72\\x90\\x40\\x92\\xd7\\x27\\xb0\\x57\\xb1\\x31\\xee\\x32\\x7b\\x77\\x17\\xe9\\xbd\\x7b\\x44\\x34\\x67\\x10\\xa2\\x63\\x00\\x16\\x83\\x88\\x98\\xc4\\x09\\x68\\x02\\x73\\x0c\\x32\\x6f\\x33\\xb5\\xcd\\xfc\\x62\\xc2\\xaf\\x68\\x5d\\x8c\\xd1\\x89\\xb8\\x0b\\x59\\x23\\x11\\x4b\\x4e\\x8e\\x1f\\xf9\\x03\\x28\\x10\\x8d\\xd1\\xc2\\x18\\xd9\\xc1\\x9c\\xec\\xf5\\x75\\x39\\x32\\x2b\\x8c\\xf1\\x3c\\x04\\x50\\x12\\x05\\x21\\x72\\xda\\xd2\\x18\\x03\\x06\\x98\\x31\\x1c\\xc6\\xbc\\xd1\\xe0\\x50\\x22\\x90\\xe2\\x2e\\x5d\\x6f\\x65\\xea\\xbd\\xc0\\x8a\\x41\\x50\\x63\\x74\\xe6\\xf8\\x79\\x17\\x9c\\x7d\\x36\\x07\\x0e\\x71\\xca\\x24\\xa3\\x3a\\x06\\x64\\x47\\xb4\\xef\\x0f\\xfd\\xa8\\xfd\\x0b\\xff\\x4d\\x3b\\xd8\\xdf\\x2c\\x8e\\xf1\\xe7\\x61\\xa3\\x9a\\xce\\x35\\x8b\\x63\\xf0\\x3b\\xb5\\x7f\\x83\\x8b\\xbc\\x33\\xab\\xd1\\x60\\x51\\xbd\\x85\\x28\\x9f\\xcd\\x67\\x07\\x8c\\x23\\x93\\x11\\x7c\\x06\\xbb\\xdd\\x42\\x21\\xf6\\xb4\\xa5\\xde\\x69\\xf5\\xf8\\x79\\x4b\\x41\\x31\\x79\\x5b\\xfa\\x83\\x4e\\xd3\\x46\\x83\\x6f\\x29\\x97\\x49\\x48\\x98\\xb6\\x71\\x5f\\xe2\\xf6\\x99\\x0d\\x32\\xe1\\x8b\\xd3\\xf0\\x29\\xb8\\x1d\\xb1\\xf9\\xc4\\x1e\\x0f\\x69\\xa0\\x20\\xc5\\xdd\\x39\\x42\\x1a\\x3e\\x6a\\xc2\\xdb\\x70\\x1a\\x9e\\x21\\x15\\x42\\xa1\\xc2\\x53\\xe1\\xc5\\x7d\\x69\\x78\\x00\\xca\\x38\\xc3\\x09\\x99\\x63\\x0d\\x38\\xec\\x07\\xa2\\xe2\\xb1\\x16\\xac\\x49\\xe7\\x18\\x2e\\xb3\\x0d\\x7e\\x10\\x5e\\x42\\x0f\\xa1\\xfe\\x89\\x9e\\x1c\\xae\\x51\\xa6\\x2b\\xf4\\x20\\x8d\\xdf\\xa4\\xec\\x52\\x88\\x22\\xac\\xd8\\x14\\x28\\x50\\xce\\x51\\x30\\x61\\x8c\\xe5\\xca\\x24\\x05\\x83\\x8e\\x2f\\x65\\x43\\xb4\\xc7\\xfa\\xfa\\xca\\x4a\\xb6\\x7f\\xc8\\x2e\\xb1\\xb4\\x30\\x19\\xe1\\x47\\xf7\\x24\\x2e\\xc5\\x3e\\x8e\\x98\\x01\\x1e\\x9b\\xd3\\xe9\\x17\\x1c\\x16\\xe4\\x72\\x21\\x9e\\x0b\\x28\\x56\\x0f\\xcd\\xf6\\xf2\\xe1\\x86\\xa4\\x4d\\x6a\\x48\\xca\\xb6\\x66\\xdb\\x46\\x1b\\x27\\xdb\\x56\\xdb\\x52\\xe4\\x17\\x67\\x53\\x02\\xe7\\xd9\\x14\\xe9\\x3c\\xd9\\x06\\x7e\\xc1\\x67\\xf3\\xd9\\x90\\xc0\\x21\\x67\\x43\\x92\\x43\\xde\\xd5\\x84\\x21\\x4f\\x57\\xa0\\x81\\x1d\\xed\\xb1\\xe3\\x0f\\x62\\x16\\xe9\\xdc\\x6e\\x40\\x89\\x1e\\x5f\\xc9\\xc4\\x7f\\x71\\xa7\\xa7\\x85\\x3c\\x29\\xa3\\x27\\x77\\x86\\x3f\\x80\\x65\\x35\\xd3\\xd3\\xb4\\x74\\x6a\\x3a\\xe4\\x89\\x5c\\x9c\\x7b\\x58\\x3b\\x73\\xab\\xf6\\x01\\x7e\\x81\\x7f\\xb3\\xe3\\x6c\\xdc\\xdc\\xb1\\x18\\x7f\\x7b\\xf2\\x3f\\x43\\xfa\\xfe\\x04\\x97\\xea\\x45\\x18\\xbe\\xd6\\xd6\\x7f\\xae\\x2d\\xfd\\x9a\\x7f\\x74\\xba\\xe6\\x64\\xeb\\x39\\x56\\x1b\\x4f\\x6b\\x11\\x90\\xb9\\x2b\\x64\\x7b\\x69\\x01\\xd0\\x82\\xe2\\xd2\\xdf\\x20\\x27\\x9e\\x13\\xb2\\x71\\x05\\x26\\x9d\\xb0\\x1c\\x7c\\x46\\x27\\x3d\\x0c\\xda\\xaa\\x64\\xb4\\x05\\x92\\x24\\x14\\x82\\xb3\\x2d\\xf5\\x6a\\xab\\xd3\\x8d\\xec\\x5d\\x68\\xab\\x7b\\x1b\\x0d\\xb6\\xe9\\xb4\\x05\\xb4\\x8d\\x34\\x58\\x92\\xcd\\x06\\x99\\xf0\\xc5\\x69\\xf8\\x14\\xcc\\xd2\\x69\\x05\\x9c\\x4e\\xd2\\xc0\\x0b\\x44\\x19\\xb4\\x67\\xd0\\x0a\\x83\\x67\\xb4\\xd2\\xc3\\xa0\\x95\\x59\\x3a\\xad\\x60\\x86\\x15\\x06\\x37\\x72\\xbb\\xf4\\x16\\x26\\xad\\xa4\\x3e\\x21\\xc2\\x74\\x1f\\xc3\\xa9\\x37\\x69\\x23\\x5a\\x3b\\x16\\xb3\\xb7\\xe0\\x79\\x32\\x80\\xd0\\x96\\x7a\\xae\\x55\\xb0\\x22\\x9c\\x31\\x06\\x0d\\x3c\\xbc\\x32\\x03\\x5e\\xf3\\xe8\\x6f\\x40\\xe1\\xf9\\x91\\xbc\\xc5\\x04\\xa6\\x7d\\x3f\\x4e\\x60\\x6f\\x63\\xf8\\xeb\\xb0\\xa9\\x37\\x58\\xdf\\x82\\x40\\x60\\xed\\x6d\\xa9\\x54\\x2b\\x51\\xdd\\x33\\xfa\\x4e\\x7d\\x4c\\xe0\\x2f\\x67\\xf8\\x33\\x78\\x1b\\xbc\\x65\\x60\\x4f\\xb1\\xc1\\x60\\x45\\x56\\x51\\x87\\xd7\\xb1\\x67\\x74\\x69\\x35\\x6a\\x31\\x38\\x09\\x87\\x6a\\x4c\\x54\\xba\\x02\\xc8\\xa7\\xaa\\x36\\xa2\\x8c\\x09\\x59\\x11\\xc5\\x62\\xb5\\x10\\x72\\x5c\\x69\\x7d\\xc0\\x8a\\x07\\x5b\\x81\\x93\\xad\\x64\\xa2\\xad\\x56\\xc1\\x6e\\xf7\\x36\\x24\\xed\\x9c\\xa0\\xb2\\x4a\\x0d\\x59\\xd0\\xb5\\x18\\x86\\x1e\\x8b\\xd2\\x25\\xf0\\x8c\\x19\\x5a\\x65\\xe9\\xba\\x0d\\x79\\x44\\xc6\\xa5\\x6b\\x37\\x50\\x62\\xcb\\xa8\\xdf\\xb0\\x78\\xb1\\x59\\xc1\\xe1\\x9f\\x9f\\x7f\\x08\\x93\\xb5\\x07\\x4f\\xec\\x3c\\xa8\\x57\\x71\\xc0\\x63\\x0e\\xe0\\xb1\\xb4\\x90\\xc3\\x97\\x3f\\x69\\x6b\\x0f\\x68\\xf7\\x00\\x67\\xae\\xf1\\x10\\xc6\\x0f\\xfa\\x1a\\xfc\\xe0\\x0e\\x63\\x8d\\x5d\\x2e\\x32\\x4d\\x2a\\x52\\xf3\\x05\\x29\\x63\\xfe\\x59\\x4e\\x2e\\x9b\\xff\\x32\\x83\\xee\\xde\\x35\\xf8\\x47\\x28\\x44\\x26\\x29\\x2c\\x86\\xb3\\x2d\\xe8\\x7f\\xc0\\x6b\\x38\\x6c\\xf0\\x33\\x0a\\x1e\\x1a\\x1b\\xca\\x32\\xc1\\x75\\x9a\\xd3\\xe1\\x8b\\xd3\\xf0\\x29\\x78\\x5d\\xe7\\x99\\xe1\\x30\\x81\\x8f\\xd2\\x55\\x8b\\x86\\x3a\\x47\\xc8\\x68\\x13\\x35\\xdb\\x90\\x77\\x78\\x49\\x6f\\xc3\\x50\\xca\\x6d\\x4b\\xfd\\xd6\\x9a\\x5b\\x72\\xba\\x36\\x6c\\xad\\xcb\\x0c\\x5a\\x25\\xc4\\x81\\xb2\\x13\\x36\\x8e\\xb5\\xe2\\x70\\x36\\x1d\\x2a\\x3b\\xa2\\x37\\x33\\x17\\x9c\\xd6\\x80\\x7a\\x94\\x1f\\xc7\\x6f\\x21\\xfa\\xc3\\xf0\\x44\\x0f\\xde\\x2e\\x5a\\x31\\x42\\x76\\x2b\\xe7\\x94\\x2c\\x6e\\x30\\x8b\\x4c\\xad\\x81\\x5d\\x60\\x41\\xe4\\x9f\\xb4\\xda\\xd4\\x71\\x10\\xa0\\x2d\\xb5\\x8b\\xec\\xc6\\x11\\xb0\\x83\\x48\\xf3\\xe2\\xfa\\x19\\xe5\\x5d\\x2d\\x22\\x1b\\x54\\xd9\\x40\\xb5\\x01\\x41\\x62\\x1c\\x59\\xb1\\x4d\\x1b\\x48\\x27\\x8d\\x1b\\xb4\\x4d\\xec\\x2f\\xed\\x41\\x38\\x17\\xae\\x84\\xc6\\x07\\xb5\\x87\\xe8\\xbf\\x37\\x68\\x0f\\x6d\\x82\\xcb\\xb5\\x07\\x58\\xbd\\x96\\xb1\\xa9\\xbf\\x09\\x87\\x85\\x97\\x89\\xb2\\x9e\\x4d\\x6c\\xa0\\xfa\\x44\\x45\\x30\\x1e\\x8a\\xf1\\x39\\x4a\\x0e\\x52\\x1c\\x56\\x3f\\xf0\\x9c\\xdd\\xc5\\xb9\\x0a\\x8b\\x42\\xb1\\x60\\x9c\\xcf\\x8b\\x78\\x23\\x0d\\x49\\xab\\x03\\xfc\\xbc\\x57\\x0c\\x04\\xbc\\x3e\\x31\\x8f\\x70\\x49\\x1b\\xd1\\xb8\\xe8\\x01\\x80\\x1e\\x48\\xc4\\x8a\\x1b\\x53\\xb3\\xdf\\x3c\\x04\\x50\\x07\\x94\\x13\\x16\\xc7\\xea\\xb3\\xab\\x55\\x85\\xac\\x80\\x89\\x4a\\x94\\x3b\\xc5\\x1b\\x60\\xe6\\x7e\\x91\\x05\\x2a\\x8a\\x80\\xc8\\x4c\\x6f\\x81\\x5f\\x05\\xa2\\x14\\xe1\\xb5\\x0f\\xec\\xa7\\x79\\xbd\\x6f\\x3c\\x38\\xe6\\xe5\\x3b\\x9a\\x66\\x6e\\xd3\\x5e\\xfc\\x74\\xef\\xdd\\x75\\xdc\\x65\\xe3\\x3a\\xbe\\xae\\x5b\\xf0\\xe6\\xc7\\xed\\x6f\\x8c\\xc5\\x91\\x4b\\xe7\\xbc\\xf1\\xc9\\x79\\x9f\\xbe\\x0e\\x33\\x68\\x6e\\xef\\xc8\\x39\\xbb\\x27\\x6a\\x5f\\xb7\\xd2\\xe4\\xea\\x0b\\x16\\x73\\xf2\\xee\\x85\\xed\\xed\\x55\\x20\\x1c\\x7b\\xaf\\x99\\x43\\xe5\\x5a\\x8a\\xae\\x13\\xcb\\x77\\x64\\xf4\\xd3\\xdf\\xa0\\xb7\\xf3\\x74\\x3e\\xe7\\xf5\\x12\\xf2\\xf4\\xb5\\xa5\\x5e\\x68\\xf5\\x29\\x9c\\xab\\xcb\\xda\\x76\\x6f\\xa3\\xc1\\xef\\x06\\x9f\\xa3\\x6d\\xbc\\xd7\\x78\\x03\\x66\\x83\\x4c\\xf8\\xe2\\x34\\x7c\\x0a\\x56\\xe9\\x63\\xf8\\x7c\\x04\\x3e\\xd8\\x96\\xd2\\x5a\\x83\\xde\\xd3\\x8d\\xc1\\xe8\\xa7\\xbf\\x41\\x3f\\x77\\x98\\xbc\\x8e\\x62\\x46\\xe4\\x18\\x52\\xfc\\x7a\\x9b\\xb4\\x5c\\x64\\xf9\\x6a\\x0c\\xaf\\xc1\\x06\\x5e\\x4f\\x1b\\x78\\xd9\\xc8\\x38\\xb6\\x06\\x9b\\xc4\\x5b\\xd3\\x78\\x65\\xe4\\x94\\x3b\\x91\\x42\\xec\\xff\\x42\\x9f\\x5d\\x14\\x2d\\x2e\\x64\\x41\\x6a\\xd0\\x27\\x10\\x06\\x42\\x98\\x48\\x83\\x6f\\x3a\\x91\\x76\\xf6\\xe9\\x76\\xec\\xb3\\x93\\xc7\\x34\\xbf\\xdc\\x3c\\xa9\\xd2\\x7d\\x36\\x5d\\x32\\x47\\xd2\\xd9\\xe4\\x01\\x96\\x4f\\x6e\\x54\\xd2\\x11\\xdc\\xf3\\x7f\\xd8\\x44\\x13\\xca\\xa1\\x08\\xc6\\x68\\xe0\\xd6\\x3e\\xbe\\xe5\\x16\\x9a\\x52\\x3e\\x7f\\x29\\xfe\\x72\\xd9\\xfb\\x33\\xb5\\x6f\\x84\\xc5\\x3f\\x7c\\xfd\\xc9\\x75\\x0b\\xb5\\x82\\x66\\x1a\\xf7\\x9b\\x3a\\xca\\xd3\\x98\\xeb\\xbe\\x68\\x54\\xa2\\x97\\x84\\xd4\\xc2\\x3e\\x9e\\x9c\\x68\\x54\\xf0\\x14\\x22\\xa1\\xbc\\x4c\\xea\\xa3\\x72\\x79\\x5c\\x5e\\xb8\\x36\\x99\\x87\\xa2\\x1c\\x67\\xa3\\xd1\\x9f\\x1b\\xcb\\xa1\\xb6\\xdc\\x2c\\x72\\xe2\\x7e\\xad\\x3a\\x4d\\x61\\xa7\\xd8\\xd0\\x45\\x95\\xe9\\x18\\x3b\\xaa\\x69\\xa7\\xeb\\x95\\xb1\\x20\\xcc\\x7c\\xa3\\x90\\x2d\\x0d\\xb7\\x53\\xf8\\xc7\\xde\\x7e\\xee\\xae\\xd9\\x65\\xcb\\x4b\\x46\\x8f\\x3c\\xbf\\xfe\\xb1\\xaa\\x01\\x43\\xca\\xea\\x27\\x5c\\x75\\x8d\\xf6\\x1d\\x4a\\x1d\\x7f\\xff\\xa7\\x78\\xd9\\xa0\\xb2\\x78\\xcf\\xe6\\x47\\xa1\\xff\\x43\\x5b\\x8a\\xdf\\x57\\xf3\\xcf\\x19\\x50\\x91\\x1c\\x72\\xed\\xfd\\xfd\\x26\\x96\\xf5\\x1b\\xdd\\xe7\\xac\\x0b\\x9b\\x6f\\x6f\\x77\\x70\\xc7\\xfe\\xf9\\x9f\\xd6\\x75\\xfd\\x2e\\x1e\\xd6\\xaf\\x4f\\x4f\\x7f\\xa8\\xcf\\xc4\\x1b\\x75\\x1d\\xb5\\x82\\xbc\\xdb\\xf5\\xc2\\x17\\x64\\x7d\\x86\\xfd\\x46\\x65\\xef\\xd9\\x68\\x9b\\xce\\x47\\x2a\\x2a\\x3c\\x85\\xb8\\xb2\\x2d\\x75\\x7f\\x6b\\x65\\x7f\\x2e\\xd2\\x85\\x0e\\xba\\xb7\\x99\\x0b\\x31\\x83\\xbf\\xd1\\x36\\x15\\xb1\\x8a\\x2a\\xb3\\x41\\x26\\xfc\\xef\\x26\\x3c\\xbe\\x15\\xbd\\xa9\\x8f\\x51\\x59\\x49\\xe0\\x07\\xb6\\xa5\\xbe\\x6a\\x1d\\x58\\x71\\xda\\x31\\x5e\\x4b\\xb7\\xd9\\x80\\x5a\\x32\\xf0\\x1a\\xd2\\x96\\xfa\\x7b\\xeb\\x90\\x91\\xa7\\x6d\\xb3\\x32\\x8d\\xd7\\x34\\xf4\\xb1\\xc9\\xdf\\x68\\x2b\\x0e\\xf7\\x6f\\x4b\\x7d\\xdc\\xda\\xbf\\x9f\\xde\\xcc\\xe0\\x6f\\x66\\x3b\\xf1\\x9e\\xf4\\x58\\x0f\\x82\\x1d\\xf5\\xd4\\xdb\\x55\\x55\\xd1\\x76\\x04\\xc5\\xfd\\x69\\x14\\x4d\\xbe\\xc8\\xa1\\xa1\\xa9\\xa3\\xe2\\x5b\\x46\\x8e\\xd7\\x40\\xb4\\x29\\x31\\x31\\xbf\\xa0\\xa0\\x7f\\x0e\\x0e\\xf6\\xae\\x8a\\x46\\x1d\\xbd\\xbd\\x3e\\x5f\\x5f\\x8b\\xa5\\x77\\x0e\\x37\\x78\\x90\\xbd\\xcf\\x98\\x64\\x55\\x94\\xfc\\xb0\\xdc\\x97\\x2a\\x70\\x09\\x55\\xf6\\x2a\\xbb\\xc2\\x57\\xc8\\x8a\\x3c\\x3a\\x19\\x56\\x64\\x6f\\xd4\\x3b\\xdd\\xdb\\xec\\xe5\\xed\\x9c\\xd7\\xab\\xb8\\x73\\x8b\\xf8\\xa2\\x9a\\x64\\x73\\x3e\\xb8\\xf3\\x21\\x3f\\x1f\\xf1\\x4a\\xc3\\x60\\x88\\x0d\\x66\\xf4\\x94\\xbe\\x63\\xc1\\x88\\xe0\\x34\\xcf\\xc1\\x4c\\x3f\\x7f\\x67\\xa1\\xfa\\xf2\\xf4\\x59\\x66\\xda\\x64\\x8d\\x15\\x89\\xf1\\xd3\\x24\\x87\\xd1\\xa3\\xc1\\x8c\\x94\\x99\\x82\\x32\\x7a\\xe2\\xa9\\xe7\\x87\\x19\\xe9\\x33\\xfc\\x37\\xda\\x3b\\x0b\\x97\\x6a\\xdf\\xff\\xf9\\xa9\\x2f\\x3e\\x3d\\x5e\\x3b\\xe1\\xe2\\xf3\\x6d\\xda\\x81\\xf0\\x8f\\x7b\\xf6\\xcf\\xbe\\x79\\x0f\\xcd\\xa8\\x99\\x7b\\x35\\xcb\\xa8\\x39\\xf9\\xf8\\x39\\xb3\\xcf\\xba\\x6f\\xca\\xb8\\x3e\\xa3\\xb8\\x72\\x33\\xb7\\xe6\\x9b\\x6f\\xb6\\x3e\\xf0\\xc8\\x76\\x81\\xaf\\xba\\xe6\\x8a\\x91\\x35\\xae\\xf5\\x9b\\xaf\\xbe\\x9a\\x66\\xd9\\xf8\\xee\\x7a\\x88\\x66\\xd9\\xbc\\x76\\xe1\\xcd\\x23\\xfa\\x18\\x29\\x63\\xf8\\x47\\x3d\\xe3\\x86\\xae\\x47\\xad\\x36\\x9e\\xe6\\x62\\x91\\xf5\\x38\\xd7\\xd0\\x07\\xf3\\x0c\\x7d\\xd0\\x96\\x13\\xe2\\x02\\x69\\x7d\\x90\\xe5\\x1a\\x31\\x3a\\x1c\\x81\\x74\\xda\\xfd\\xdc\\x94\\x9b\\x84\\x46\\x22\\x6d\\xa9\\x83\\xad\\x91\\x1c\\xce\\xd6\\x85\\x46\\xba\\xb7\\x99\\x0b\\xa3\\x0c\\xda\\xa5\\x6d\\xc2\\x97\\x87\\xb3\\xcd\\x06\\x99\\xf0\\xbf\\x9b\\xf0\\x84\\x76\\x0f\\x1a\\xb2\\x3f\\x12\\x21\\x0d\\x62\\x9e\\x58\\xb8\\x73\\x84\\x34\\xfc\\xca\\x74\\xff\\xd3\\xd0\\xcf\\xa6\\xed\\x40\\xb1\\xe2\\x70\\x8e\\x23\\x27\\x4b\\x6f\\x91\\xd6\\x07\\x77\\x11\\x21\\xfb\\x22\\xc3\\xe9\\x3f\\xfa\\x7b\\xa4\\x6e\\x42\\x86\\x46\\xe8\\x61\\x1a\\xe1\\x9f\\xbb\\x68\\x84\\x0c\\xaf\\x99\\x84\\x59\\x36\\xa5\\xdb\\x88\\x68\\x6e\\xc4\\xd0\\x09\\x49\\x0b\\xfe\\xa2\\xae\\x3a\\xe1\\x13\\x04\\xf6\\x0e\\xf6\\x0e\\x0c\\x16\\xdf\\xfa\\x84\\xae\\xed\\x08\\x84\\x85\\x11\\x52\\xcf\\xd4\\x08\\x69\\xdf\\x54\\x3f\\xc5\\x93\\xd8\\x3b\\xe8\\x7d\\x4f\\xeb\\xd4\\x09\\x3d\\x7f\\xa4\\x13\\xd6\\xa6\\x7e\\xe2\\xd7\\x0a\\x07\\x89\\x46\\x58\\x80\\x26\\x26\\x2a\\xbc\\x01\\xc5\\xe7\\x0e\\x22\\x57\\x38\\x64\\xb7\\x45\\xb8\\x98\\x8d\\xb3\\x15\\x15\\x06\\x7d\\xc8\\xcd\\x7b\\xc2\\xa1\\x50\\xc0\\xeb\\x71\\x49\\x39\\x52\\x4e\\x4d\\xd2\\x23\\x79\\x24\\x31\\x80\\xc4\\xbc\\x9a\\xa4\\xa8\\x98\\xbe\\x16\\x16\\x72\\xa0\\x7b\\xde\\x89\\x2d\\x6b\\xdc\\x3b\\x60\\xa4\\xf0\\xb2\\x02\\xf4\\xc8\\x13\\x60\\x41\\xf4\\x95\\x15\\x54\\x38\\x17\\x16\\x09\\x95\\x55\\x85\\x45\\x71\\x45\\x2d\\x08\\x70\\x66\\x40\\x7d\\x59\\x3f\\x6e\\x02\\x0c\\xd2\\x0e\\x6a\\x1d\\x27\\xb5\\xcf\\x20\\x0e\\x78\\xea\\xc0\\xc4\\x38\\xed\\xb3\\x47\\x26\\x6c\\x81\\x82\\xc6\\x04\\x48\\x93\\x69\\x74\\xfd\\xc2\\x79\\x37\\x2e\\xe3\\xff\\xad\\xed\\xd2\\xae\\xe6\\xb5\\x93\\xda\\xa7\\x60\\xff\\xee\\x7b\\x10\\x63\\xb7\\x4e\\x5a\\xd0\\x76\\xee\\xf0\\xa9\\xa5\\x67\\xcc\\x78\\xa1\\xfd\\xb9\\x4d\\xab\\xb5\\x0f\\xef\\x5e\\xbf\\x46\\xa7\\x4b\\x96\\x97\\xc0\\x78\\xd2\\x68\\x46\\x0b\\x1b\\xc0\\x6e\\xe8\\x8d\\xa1\\x10\\x99\\xc9\\x5c\\x29\\xb7\\x44\\x52\\xbb\\xd1\\xc2\\x5a\\xb6\\x46\\x63\\xf4\\x75\\xa5\\xa5\\xc4\\x28\\x7d\\x2a\\x0a\\x99\\x47\\xb5\\x2d\\xb5\\xaf\\x55\\x0d\\x8b\\xe8\\x14\\xfa\\xcc\\x6c\\x33\\x17\\x16\\x18\\xf4\\x49\\xdb\\x28\\x13\\x95\\x90\\x88\\xba\\xd3\\xe7\\x5a\\xb6\\xb6\\x63\\x74\\xfa\\xa4\\xc9\\xbb\\x74\\x0c\\x55\\x25\\xf0\\x59\\x54\\xa1\\xcb\\x52\\x4e\\x3b\\xc6\\x6b\\xe9\\x36\\x1b\\xd0\\x6f\\x19\\x78\\xe9\\xfa\\x66\\xef\\xd3\\xb6\\x59\\x99\\xc6\\x6b\\x1a\\x64\\x99\\x74\\x4d\\x5b\\x11\\xea\\x46\\xe1\\xa0\\x98\\xa9\\x38\\x72\\x44\\x5e\\x6e\\xe1\\x2b\\x88\\xde\\x48\\xcf\\x5e\\x1d\\x68\\x64\\xa2\\x48\\xb4\\x63\\x2c\\x10\\xb5\\x41\\x72\\x5a\\x6d\\x4f\\x24\\x91\\x15\\x5c\\x1c\\x31\\x0d\\x68\\xc1\\x52\\x04\\xe0\\xe3\\x08\\x41\\xf2\\x4f\\x24\\x85\\x8c\\x53\\xa2\\xb4\\x4b\\x3d\\xd3\\xb3\\xaf\\x9f\\xa5\\x02\\xab\\x59\\x4a\\x7e\\x3f\\xf7\\x53\\xc7\\x0a\\x9e\\xeb\\x58\\xf6\\x13\\xf7\\xf2\\x0f\\x3f\\x68\\xd7\\x1f\\x3a\\xa4\\xcd\\xf8\\xe1\\x07\\xa6\\x2b\\x42\\xea\\x6d\\xfe\\x53\\xfe\\x5a\\xe4\\x23\\x54\\x19\\x47\\x17\\x26\\x8a\\xb3\\xd5\\x1c\\x85\\xf7\\x47\\xfc\\x96\\x88\\x57\\x16\\xac\\xbc\\xdd\\x43\\xaf\\x0e\\xc8\\xcb\\x51\\xb2\\x55\\x3e\\x14\\x73\\x86\\x6a\\x92\\x6e\\xa7\\xdb\\xc8\\x95\\x40\\x66\\x76\\xdc\\x1f\\x29\\x87\\x2c\\x8f\\xa3\\xc8\\x92\\x57\\x55\\x58\\x99\\xd6\\x11\\x05\\xa6\\x12\\xc6\\x74\\x0d\\xd1\\xc8\\xe9\\xd8\\xb5\\x64\\xc6\\xdf\\x5e\\x9f\\x4b\\xd3\\x3a\\xde\\xbc\\xe5\\x8a\\xb6\\xb6\\x19\\xed\\x87\\x3d\\x70\\xef\\xe0\\x6b\\x52\\x08\\x7e\\x75\\x6b\\x53\\xcf\\xbc\\xd2\\x4c\\xf0\\x48\\x2e\\xfc\\xf8\\xae\\xa3\\x34\\xc3\\xe3\\xa2\\x99\\xef\\xdf\\xf1\\x9f\\x4b\\x87\\xc3\\x7b\\xe7\\x68\\x77\\x4e\\x1c\\xa6\\x55\\x8c\\x60\\xf3\\xcf\\x62\\xd4\\x19\\x5d\\x4c\\x30\\x78\\xdd\\x7e\\x9d\\x47\\xd0\\x75\\xa6\\xfa\\xda\\xd6\\xd6\\x60\\x24\\xe0\\xe8\\xb2\\x66\\xdd\\xdb\\xcc\\x85\\xeb\\x0d\\xdd\\x8b\\xb6\\x51\\x1b\\xd5\\xb0\\xd9\\x20\\x13\\xfe\\x77\\x13\\x9e\\xf0\\xba\\x76\\x7d\\x8c\\x60\\x90\\xc0\\xeb\\xc6\\x81\\x7a\\xda\\x31\\x56\\xa6\\xc7\\x98\\x06\\x61\\x53\\x27\\x64\\x14\\x08\\x11\\x1c\\x09\\xe9\\x6d\\xd2\\x3a\\x21\\x8b\\x5d\\x65\\x78\\x5d\\x6a\\xe0\\x75\\xae\\x81\\x17\\xa1\\x24\\x50\\x1a\\x95\\x90\\xdd\\x9b\\xa9\\x13\\xae\\xa6\\x39\\x2e\\x44\\xff\\xf2\\xa3\\x28\\x4a\\x24\\x72\\x23\\x44\\x47\\xf5\\x07\\x6c\\x7e\\x5b\\x2c\\xee\\x8b\\x50\\x2e\\x22\\x4b\\x8a\\x18\\xa4\\xf9\\xaf\\x89\\xca\\x41\\x23\\x44\\x7a\\x5e\\x58\\x5d\\x5d\\xfc\\x47\\x19\\xb0\\x3e\\x33\\x7b\\x38\\x90\\x91\\xf0\\x92\\x91\\x49\\xbc\\x5a\\xcf\\x1e\\xde\\xf9\\x7e\\x3a\\xd9\\x05\\x1f\\x98\\xde\\x34\\x63\\xee\\xbc\\xeb\\xbe\\x14\\xde\\xd5\\xca\\x1e\\x7d\\x53\\xfb\\xae\\x5d\\x4b\\x69\\xdf\\xe8\\xa9\\x2e\\xdc\\x93\\x5b\\x1f\\xf9\\xdb\\xc3\\x0f\\x3f\\xc9\\xe6\\x42\\x7f\\xaf\\x95\\xe9\\xf7\\x9a\\x86\\xfe\\x65\\xce\\x05\\xdb\\x59\\x10\\xb6\\x87\\x83\\xfa\\xab\\x75\\xf5\\x1b\\x89\\x8f\\xa5\\xfd\\x46\\xab\\xe0\\x36\\xb8\\x90\\xc9\\x17\\xa6\\x52\\xbb\\x91\\xdb\\xd3\\xc5\\x37\\xc5\\xf2\\xca\\x85\\x3a\\xaa\\xab\\xe8\\xf0\\x94\\x47\\xd3\\xbd\\xdb\\xaf\\x1f\\xd5\\xbd\\xda\\x52\\x47\\x5a\\x2b\\x2a\\xbb\\xe9\\x45\\xba\\x6f\\xca\\x9d\\xf6\\x67\\xf1\\xb0\\x2c\\xd3\\xff\\xe5\\x03\\x5f\\xe4\\x34\\x63\\x7c\\x95\\x1e\\xe3\\x01\\x88\\x64\\xe8\\x5e\\x55\\x6d\\xa9\\x6f\\x5b\\xab\\xaa\\xbb\\x8f\\xa1\\x5d\\x4e\\x6b\\xb3\\xa6\\xdf\\x63\\x3d\\xf7\\x34\\x3d\\xc3\\x7b\\x92\\xb2\\xb9\\xbf\\xb6\\xaa\\xaa\\x45\\x1f\\x80\\xc1\\x0e\\x26\\xf3\\xb4\\x88\\xc9\\x77\\xbd\\xff\\xf5\\xf8\\x32\\xf2\\xc0\\xd7\\x8a\\x07\\xc9\\x83\\x88\\xdd\\x38\\xb9\\x75\\xd0\\xa0\\x08\\xe9\\xbd\\xde\\x84\\x67\\xb5\\x2a\\x99\\x0d\\x51\\x68\\xd8\\xd3\\x95\\x06\\xbd\\x10\\xab\\x15\\x42\\xf7\\x87\\xb2\\x0c\\x27\\x51\\x06\\x4f\\xac\\x62\\xf4\\x75\\xae\\x41\\x5f\\x57\\x99\\xf0\\x84\\xbe\\x42\\xf3\\x43\\x59\\x86\\x12\\x91\\x61\\x7f\\xaf\\x66\\xb6\\x50\\xa1\\x61\\x0b\\x19\\xf6\\x3d\\x50\\x03\\x1c\\xa2\\xa5\\x51\\xd3\\x0b\\xd5\\xc9\\xd7\\xab\\xd8\\x3e\\x39\\xd7\\xd8\\x27\\xdf\\xa6\\xe1\\xc9\\x00\\x51\\x5f\\xd4\\xd4\\x52\\x3a\\xfd\\x01\\xab\\xc5\\x4f\\xcd\\xfe\\xf1\\x3a\\x78\\x09\\x5c\\x9d\\xf8\\xc7\\x43\\x91\\xd3\\xe1\\xff\\x6e\\xba\\xff\\x75\\xac\\xde\\x16\\xd1\\x7f\\x42\\x81\\x50\\x24\\x43\\xff\\xe9\\x86\\xb7\\x0d\\x41\\x5b\\x5a\\x1e\\x91\\x8e\\x23\\x59\\x91\\xf8\\xff\\xc4\\x7b\\x05\\xfa\\x47\\xa6\\xfc\\x8a\\x70\\x91\\x78\\x17\\xbc\\x59\\xcd\\x4d\\xd6\\x7f\\x91\\xd1\\xff\\x95\\x3a\\x1d\\x50\\x1b\\x11\\x07\\xda\\x52\\x3b\\x5b\\x03\\x11\\xe1\\x54\\x1f\\xc3\\xcb\\xc2\\xbb\\xee\\x42\\x7a\\xbb\\x07\\x99\\xcb\\x93\\x7c\\x1d\\x1a\\x85\\x7c\\x09\\x07\\xee\\x85\\x70\\xcf\\xeb\\x7b\\xf6\\xf4\\xf9\\x18\\xbc\\xe9\\x23\\x37\\x7c\\x49\\x6e\\x11\\xdd\\x95\\xce\\x75\\xdf\\x4f\\xf6\\x7a\\x0e\\xd1\\xc0\\x67\\x27\\x8a\\x0a\\x72\\x7c\\x11\\x27\\x8a\\x46\\x79\\xce\\xe2\\xb3\\xf4\\x2a\\x16\\xb3\\x73\\xb2\\xc7\\x24\\xb9\\x1c\\x25\\x77\\x74\\x32\\x44\\xfd\\xbc\\x4a\\x4c\\xe1\\x6c\\x9c\\xd2\\x96\\xda\\x95\\x50\\x5d\\x9e\\x11\\x39\\x4a\\x8e\\x02\\x45\\x6e\\xa2\\x3d\\x3b\\xdd\\x8a\\x3d\\x40\\x4c\\xb7\\x62\\x48\\xa7\\x66\\xe9\\xc1\\x30\\xc5\\x69\\xad\\xb9\\x9b\\xb7\\xa9\\xdc\\xf0\\x37\\x11\\xb9\\xc2\\xf2\\x87\\x54\\x3d\\x57\\x3e\\x9e\\x91\\x2b\\x5f\\x19\\xaf\\xcc\\xcc\\x94\\x1f\\x04\\xe1\\x25\\x4b\\xac\\xda\\x71\\x96\\x30\\x8f\\x5e\\xf8\\xe0\\x93\\xb7\\x58\\xc6\\xbc\\xf6\\x15\\xe4\\xce\\x9e\\x35\\xe3\\xba\\xcf\\x67\\x5c\\x2f\\x9c\\xb5\\x6a\\xd5\\x96\\xf6\\x8b\\x27\\xdf\\xca\\x32\\xe7\\x23\\x40\\x54\\x28\\x08\\x35\\x36\\xec\\xb8\\x69\\x4b\\xfb\\x9e\\xbf\\xee\\xd8\\xf2\\x8c\\xf6\\xd0\\xf3\\x69\\x1f\\xe2\\x63\\xa6\\x0f\\x91\\xf0\\x80\\x89\\x84\\x07\\x10\\xbe\\xcb\\xdc\\x51\\x52\\x5b\\xea\\xc7\\x56\\xc9\\xd9\\xcd\\xaf\\xa9\\xeb\\x99\\x75\\x69\\xbd\\x74\\x15\\xfa\\xc5\\xd8\\xd3\\x59\\x59\\x54\\x91\\x95\\xc2\\x91\\x2e\\x7a\\xa9\\xee\\xd7\\x74\\xa7\\xfd\\x94\\x3c\\x5c\\x96\\xe1\\x3b\\x95\\xdb\\x52\\xff\\x6d\\x95\\xd5\\xd3\\x8e\\xf1\\x55\\x7a\\x8c\\x07\\xc0\\x9d\\xa1\\x5f\\x13\\x79\\x70\\xb2\\x35\\xbb\\xa0\\x9b\\x7e\\xad\\xbf\\xcb\\xa7\\xe9\\x77\\x59\\x07\\xd7\\x12\\x5a\\x57\\x9e\\xd6\\xdd\\xad\\x6d\\xa9\\x13\\xad\\x92\\x2b\\xed\\x71\\x4d\\x8f\\xf1\\x6e\\x7a\\x8c\\x75\\x8c\\x67\\xd2\\xf7\\x60\\x83\\x84\\x2d\\xe1\\xac\\xae\\xef\\xa1\\x8d\\xa7\\x75\\x58\\xd3\\xfd\\xaf\\xc7\\x3f\\x32\\xde\\x01\\x3e\\xd9\\x47\\x78\\xc7\\xb4\\x56\\x9f\\xcf\\x6e\\xcf\\xe0\\x1d\\xb5\\xda\\x14\\x5a\\x8f\\x20\\xdd\\xff\\x7a\\xf8\\x00\\x79\\x28\\x5f\\x8a\\xb7\\xa5\\xce\\x6a\\x8d\\xc7\\x3d\\x9e\\x4e\\xbe\\xd4\\xcd\\xf7\\x4b\\xe8\\x7d\\x7a\\xc6\\x1c\\xb9\\xda\\x52\\x1d\\xad\\x2e\\xff\\x69\\xe7\\xa8\\xd3\\x3e\\x58\\x81\\x3e\\xc9\\xc4\\x3f\\xcb\\x9e\\x95\\xdb\\x05\\x7f\\x56\\x2f\\x95\\x8d\\xd1\\xcb\\xe0\\x35\\x6f\\x1a\\x7b\\x30\\x27\\x87\\x0c\\x92\\x17\\xc8\\xcb\\x76\\x65\\xf2\\x62\\x96\\xf7\\xcf\\xfa\\x1f\\x69\\xf0\\x9a\\x1f\\x8c\\xfe\\xfb\\xf4\\x21\\xfd\\x97\\xe1\\xb2\\xde\\xde\\xac\\x53\\xfa\\x77\\x9b\\xfd\\x93\\x75\\x7e\\xcf\\xe8\\x3f\\x3b\\x9b\\xf4\\x1f\\xcb\\x8b\\xf5\\x38\\x4d\\xff\\x5f\\xa5\\xfb\\x7f\\x00\\xfa\\x19\\xfd\\xf7\\xee\\x4d\\xfa\\x2f\\xb1\\x96\\x54\\x9d\\xda\\x3f\\x5b\\xdf\\x5e\\xc6\\xfa\\x7e\\x64\\xf0\\x32\\xda\\x7d\\x76\\x2c\\x3b\\xea\\xea\\x72\\x56\\xa3\\xf7\\xff\\x6e\\xba\\xff\\x75\\x90\\x9d\\xd9\\x7f\\xef\\x70\\xef\\x33\\xba\\xf6\\xaf\\x0d\\xa0\\xf5\\x64\\xd3\\xf3\\xf3\\x3b\\xbe\\x50\\xe7\\x7d\\xf9\\x3d\\xf2\\xcd\\x99\\x49\\xf7\\x2b\\x9e\\xe7\\x36\\xfa\\xb5\\xb6\\xc3\\x0a\\x26\\x6b\\xdd\\xba\\x90\\xea\\xed\\xeb\\x5d\\x4e\\xfa\\x5d\\x5d\\x05\\x33\\xba\\xee\\x81\\x21\\x6c\\xee\\x8b\\x8d\\xb9\\x5f\\xdb\\xc5\\xb7\\x2f\\x78\\x25\\x3e\\xd3\\xb7\\xcf\\xea\\x10\\x58\\x16\\x10\\xf8\\x51\\x06\\xfc\\x19\\xa8\\x86\\xc1\\xab\\x2a\\x2e\\x04\\xb2\\xb6\\x8a\\x5b\\x4c\\x53\\x03\\x66\\x75\\xc1\\x9e\\x15\\x16\\x13\\x7d\\x53\\x45\\x2b\\x13\\x17\\xa9\\x0e\\x8e\\xb3\\x5a\\x78\\xbf\\x84\\x90\\x5b\\xf6\\xf1\\xbe\\x60\\x48\\xf1\\x8a\\x16\\xb1\\x21\\x29\\x3b\\x2c\\x2a\\x6e\\x4c\\x3e\\xa7\\xc2\\x7d\\x2a\\x0c\\x54\\x61\\xba\\xa5\\xd9\\x82\\x2d\\xaa\\x45\\x75\\xda\\x58\\xa9\\x59\\x56\\x63\\x2b\\x11\\x82\\x45\\xac\\x42\\xd6\\x2e\\x56\\x40\\xab\\x94\\x55\\xd9\\xd4\\x4f\\xaa\\x3b\\xab\\x4d\\x52\\x97\\x97\\xee\\x0f\\x60\\xdc\\xac\\x0b\\x3b\\x4b\\x6b\\xcb\\x7a\\xd1\\x59\\x1a\\xc2\\xcc\\xa2\\x61\\x19\\x77\\xa3\\x5c\\x8e\\x8f\\x77\\xac\\xd6\\xf6\\xdf\\x70\\x03\\x14\\xe1\\x19\\x90\\xb5\\x70\\xa1\\x76\\xb8\\x63\\x35\\x2d\\x47\\xcb\\x07\\xb6\\xbc\\x42\\xfe\\xdb\\x72\\xf2\\x08\\x57\\xfb\\xfa\\xeb\\x08\\x90\\xdd\\xa8\\xc7\\x90\\x8d\\x1a\\x13\\x3e\\xab\\x25\\xac\\xca\\xb2\\xd7\\xef\\x76\\x07\\x2d\\x5c\\x34\\x27\\xec\\xf5\\x79\\x69\\x60\\x69\\x2c\\xa9\\xfa\\x7c\\x5c\\x80\\x96\\x68\\xa0\\x05\\x1a\\x10\\x27\\x6f\\x8a\\xc2\\x9a\\x28\\x1c\\x8f\\x42\\x53\\x14\\x8e\\x45\\x59\\xb2\\xc9\\x4c\\x53\\xab\\x66\\x27\\xea\\x19\\x11\\xbc\\x9d\\x77\\x04\\x9d\\x52\\x9f\\xc1\\xc0\\x9b\\x86\\x5b\\x77\\xab\\xd3\\xb0\\x74\\x29\\x84\\xa0\\x4c\\x7b\\xdf\\xca\\x0d\\x64\\xb9\\xd9\\x0b\\x70\\x3f\\x96\\xb1\\xfd\\x0d\\x7f\\xef\\x16\\xc2\\x76\\x6f\\xbd\\x76\\x0a\\xb1\\x65\\xef\\x27\\x42\\xe5\\x2f\\xcc\\x4f\\xae\\x9f\\x6f\\xe0\\x77\\xf4\\x15\\x67\\x87\\x2d\\x4e\\xec\\x0c\\x77\\xb3\\x7d\\x19\\x3c\\xb3\\x8d\\x74\\x5b\\x79\\xc3\\x5f\\x4d\\x78\\x22\\x21\\x09\\xa1\\x74\\x87\\x3f\\x4a\\xe0\\x6b\\x19\\xef\\xee\\xad\\xf3\\xe1\\xd4\\x5b\\xba\\xfe\\x06\\xa2\\x48\\x8f\\x67\\x80\\x17\\xba\\x9c\\xb7\\x30\\x78\\xc6\\xb7\\xf5\\xfe\\x57\\xbd\\x85\\x0c\\x68\\x6a\\xb8\\xa3\\x4c\\x68\\xd6\\xff\\x0b\\x04\\x7e\\x11\\xdb\\xcf\\x3a\\xfe\\xfc\\xcb\\x19\\xf8\\x5b\\xc0\\x22\\x77\\x83\\x7f\\x91\\xc0\\x2f\\x66\\xfb\\x59\\xef\\xff\\x81\\x5f\\x33\\xf0\\x3f\\x15\\x1e\\x4d\\xd0\\xc6\\xc3\\x67\\x8c\\x9f\\xb2\\xfe\\xf1\\x7a\\x42\\xad\\xf2\\x93\\xe0\\xa0\\xce\\x13\\x87\\x03\\xeb\\xc0\\x04\\xee\\x1c\\x02\\xf7\\x36\\xdb\\xc7\\xe7\\xeb\\x70\\xbf\\x53\\x38\\x4c\\x04\\xc7\\xde\\x56\\x59\\x36\\xb4\\x3b\\x7d\\x8f\\x41\\x0b\\xe3\\x0f\\xfa\\x7c\\xac\\x4b\\xbd\\x63\\xf0\\x07\\x76\\x5a\\x85\\x79\\x31\\xed\\x99\\x60\\x31\\x25\\x77\\x92\\xbf\\xb6\\xb0\\xfc\\x90\\x33\\x13\\x45\\x7a\\xbd\\x63\\x19\\x05\\xfe\\xaf\\xd5\\x14\\xba\\xd5\\x52\\xb8\\x93\\xe8\\xee\\xb4\\x4e\\x06\\xc5\\x83\\xf0\\xa9\\xe7\\x89\\x5e\\x61\\xe0\\x81\\xfa\\xc0\\x5e\\xa6\\x03\\xba\\xc0\\x3b\\xdd\\x7b\\xcc\\x9b\\xf2\\x72\\xa5\\xde\\x5d\\x5e\\x5c\\x5f\\x6f\\xcc\\x03\\xb1\\x31\\xb8\\xaf\\x98\\xde\\x72\\x3e\\x83\\xbf\\x00\\x0f\\x20\\xf0\\x59\\x09\\x7f\\x69\\x98\\x58\\x68\\xfe\\x66\\xff\\x76\\xff\\x07\\x7e\\x0e\\xf9\\xdd\\xfe\\x84\\x9f\\x63\\xe7\\xb4\\xf5\\xac\\x5d\\x94\\xf0\\xff\\x5c\\xc6\\x53\\xfa\\x18\\x3c\\xe2\\x52\\x83\\xa7\\xe8\\x8e\\xf4\\x6d\\x5d\\xbc\\xe8\\x38\\xf5\\x88\\x36\\x1e\\x2f\\x17\\x7e\\x47\\x36\\xa4\\xa0\\xe3\\x89\\xcd\\x4e\\x8f\\xcd\\xca\\x71\\x20\\x82\\x5f\\xf4\\x7b\\x3c\\x41\\xd5\\x2b\\xdb\\x5d\\xb5\\x49\\x7b\\x84\\xb3\\x82\\xf5\\x8e\\x3a\\x51\\x06\\xa0\\xf7\\xb8\\x54\\x43\\x03\\x34\\xc3\\x46\\x38\\x46\\xcf\\x4b\\x76\\xb1\\x1c\\xe4\\xed\\x41\\x58\\x14\\x84\\xda\\x20\\x24\\x82\\xe0\\x66\\x09\\xe9\\x6b\\x82\\xd0\\xc8\\xbe\\x39\\x16\\x34\\x60\\xd6\\x30\\x98\\xa6\\x0c\\x30\\x14\\x84\\xfe\\xa9\\x20\\x1c\\x0c\\xc2\\x07\\x2c\\x8d\\x99\\x34\\xd8\\x19\\x04\\x3d\\xa7\\xbd\\x3a\\x08\\x72\\x10\\x0e\\xb1\\xbe\\x36\\xb1\\x7f\\x46\\xd9\\x37\\xff\\xe7\\xda\\x1e\\x25\\x13\\xeb\\x67\\x98\\x85\\x6f\\x32\\x2b\\x7c\\x74\\x06\\xcd\\x40\\x20\\xaf\\x28\\xcf\\x92\\x57\\x09\\xe5\\x5d\\xca\\x7d\\xe0\\xe5\\x1b\\x77\\xf3\\x1f\\x6d\\x02\\xfc\\x8d\\xd6\\x91\\xae\\xfa\\xf1\\x7c\\xd6\\xae\\x5d\\x59\\x70\\xe6\\x6f\\x13\\x33\\x2a\\x7f\\x30\\xf9\\x3f\\x80\\xd6\\x89\\x26\\xf3\\x7d\\x86\\x21\\x1f\\xe8\\x45\\xad\\x84\\x62\\x7d\\xd4\\x25\\xec\\x93\\x78\\x47\\xa7\\x3c\\x5f\\xad\\x0d\\xa0\\x35\\x42\\x08\\xec\\x85\\x3a\\x2c\\xcc\\x4f\\xc3\\xee\\xcf\\x84\\x35\\xeb\\x89\\xb0\\x7c\\xce\\xfe\\x89\\x08\\x72\\xb2\\xca\\xe0\\x36\\x9b\\x9d\\xe7\\x24\\x87\\x13\\x5b\\xec\\x64\\xeb\\x58\\x05\\x99\\x67\\xa9\\xab\\xac\\xcc\\x2f\\x7d\\x2f\\xc8\\xbc\\x2c\\xf1\\xff\\x52\\x50\\x84\\x1f\\xa8\\x25\\xcc\\x82\\x22\\xfa\\x5e\\xe1\\x37\\x33\\xbb\\xa6\\x44\\xb7\\x6b\\xd0\\x13\\x94\\x76\\x9e\\x06\\xca\\x39\\xc4\\xb6\\xd4\\xb5\\xad\\xa2\\x0d\\xf1\\x9d\\xba\\xd2\\x34\\xb2\\xb7\\xa7\\x58\\xae\\x24\\xf0\\x35\\xfa\\x39\\xb0\\xaf\\x46\\xdf\\x59\\x44\\x18\\xf1\\x17\\x74\\xf1\\xf9\\xd1\\x79\\xa2\\xf5\\xad\\xd3\\x7d\\xff\\x0e\\xf7\\xeb\\xef\\xee\\x6c\\x4b\\x1d\\x6e\\x75\\x8a\\x46\\xbf\\xe6\\x3c\\xd1\\xba\\x26\\xe9\\x7e\\x7f\\x1f\\xc8\\x24\\xae\\x03\\x39\\x0c\\xcf\\xa0\\x89\\x2b\\xdb\\x4f\\x7a\\x7f\\x27\\xf1\\x4c\\xaa\\x77\\x25\\x1c\\xe0\\xe2\\xc0\\xf9\\x66\\xba\\x43\\x53\\xaf\\x27\\xf3\\xc9\\x29\\x6c\\x3f\\xd5\\xe8\\xf0\\xd0\\xa2\\xdb\\x01\\x20\\x21\\x70\\xcc\\x4f\\xb3\\x96\\xea\\x4e\\xdd\\x2b\\x13\\x5f\\xa2\\x27\\xec\\xeb\\xb8\\x83\\x62\\x21\\xae\\x15\\xad\\x26\\xb2\\x46\\xbf\\x33\\x3a\\xfb\\x25\\x70\\x6b\\x08\\x9c\\xa5\\xb5\\xc9\\xb6\\xc8\\x86\\xeb\\xf5\\xb5\\x44\\x46\\x6d\\x6f\\x27\\x1a\\x95\\xc8\\xb7\\x4a\\x16\\x87\\x83\\xc7\\x48\\x42\\xb2\\xcb\\x0e\\x36\\x6c\\xe1\\x39\\xb2\\xe5\\xb0\\x95\\xfc\\x71\\x08\\x1c\\x72\\xd0\\x8a\\xdf\\x19\\x9e\\x47\\x8f\\xe1\\x32\\xf7\\xa6\\x4b\\x39\\xeb\\x4e\\x74\\xca\\x60\\x2c\\x95\\x55\\x64\\x79\\x0b\\x02\\x02\\xad\\x05\\xbe\\x62\\x05\\x14\\x41\\xb9\\xf6\\x1e\\xfe\\x19\\xbe\\x3e\\xeb\\xcb\\xa1\\xf8\\x85\\x8e\\x0f\\xd7\\x1e\\x5c\\xab\\xcd\\x36\\xee\\x10\\xf4\\x92\\xb5\\xea\\xc9\\xea\\xd3\\x5c\\x91\\x38\\x13\\x4b\\x4e\\x5a\\xc8\\x5c\\xc4\\x03\\x1d\\xe0\\xa8\\x14\\x80\\x8c\\x4b\\x38\\x39\\x6f\\xe7\\x69\\xd2\\x30\\x82\\x40\\x0b\\xab\\x26\\xdf\\xec\\x84\\x46\\x27\\x44\\x9d\\x70\\xcc\\x09\\x7b\\x58\\x89\\xf9\\x16\\x56\\x6e\\xbe\\x0b\\xbb\\x63\\x48\\x12\\xb2\\x2b\\xab\\x2f\\xaf\\x27\\x04\\xa8\\x07\\x47\\x19\\x45\\x0d\\x75\\xfc\\xaa\\x02\\xf0\\xa8\\xf6\\xdd\\x8d\\x37\\x42\\x68\\x31\\x7e\\xaf\\xa3\\x1c\\xf7\\x3d\\xe7\\xe3\\x73\\xf0\\x6b\\x1d\\x9f\\x8c\\xdc\\xd7\\x79\\xf6\\xad\\x9a\\x67\\xdf\\x56\\x0d\\xbe\\x33\\x6c\\x63\\x6a\\x6b\\xb8\\x2e\\x71\\x79\\xcc\\xa3\\xef\\xca\\x0c\\x9f\\xe7\\x17\\xa6\\xcf\\x93\\xd8\\xd2\\x4b\\x32\\x6d\\xe9\\xc9\\xa1\\x2c\\xd3\\xe5\\x69\\xe8\\xff\\x64\\x7f\\x0e\\x61\\xeb\\xd8\\xd7\\xa0\\xbb\\x76\\x9d\\xee\\x02\\xd4\\x5c\\x08\\xb8\\x8c\\xde\\xf5\\xbe\\x09\\x8d\\x4e\\xe6\\x6b\\xcc\\xbe\\x09\\xec\\x3a\\x5d\\xd7\\x8b\\x59\\x62\\x21\\xa3\\x5b\\xd4\\x45\\x6f\\xeb\\x6b\\xe8\\xe5\\xb7\\xea\\x7a\\x39\\xb3\\x8f\\xdc\\xb4\\x63\\xb7\\xd2\\x79\\x62\\x9f\\x81\\xf7\\xef\\x69\\x5f\\xed\\x0a\\xf4\\x6f\\xbd\\x8d\\x6e\\xea\\x52\\x9b\\x2a\\x12\\xef\\xf4\\xd6\\x32\\xd9\\xf9\\x4f\\x32\\x4e\\x6f\\x42\\xe3\\x45\\xa4\\xcd\\x5b\\xb4\\x95\\xe5\\x70\\x8a\\x56\\x60\\x2b\\x7b\\x12\\x42\\x6d\\xa9\\x67\\x12\\xb9\\xa1\\x90\\xcd\\x56\\x80\\x64\\x16\\xd7\\xce\\x55\\xa3\\xe9\\x08\\xbb\\x51\\x0c\\xed\\xa2\\xa9\\x8e\\x4d\\x68\\x13\\x3a\\x84\\x78\\x7a\\x13\\x78\\xa5\\xfe\\x82\\x80\\x96\\x12\\x19\\x34\\x4a\\xb8\\x07\\xe5\\xa3\\xb3\\x13\\x05\\x8e\\xdc\\xb0\\xdf\\x1f\\x08\\x70\\xb9\\x5c\\x61\\x41\\x58\\xce\\x91\\x1b\\x92\\x39\\x7c\\x90\\x0b\\x78\\x69\\x4d\\x7d\\x16\\xfb\\x47\\x0b\\xeb\\x9b\\x19\\x39\\xd5\\xd5\\xd5\\xdd\\xee\\x21\\xd4\\x0b\\xeb\\x57\\xe9\\xf7\\x78\\xd2\\x34\\x51\\x76\\x59\\x0f\\xad\\x29\\x1e\\x57\\x02\\xe5\\xf4\\x72\\x23\\x6f\\x08\\xdc\\x98\\xbb\\x75\\xc9\\x53\\x23\\xdf\\xa9\\x18\\x53\\x52\\x3d\\x32\\xb6\\xe8\\xce\\xcb\\xb6\\x4c\\xd2\\xf6\\xf3\\x10\\x73\\xf0\\x43\\x01\\x3d\\xf8\\xc3\\x9e\\xfd\\xfe\\x9a\\x49\\x8f\\x0f\\xeb\\x7b\\xd6\\xad\\xb7\\x41\\xd1\\x73\\x8f\\x5c\\xfe\\x68\\x43\\xfb\\xb3\\xfc\\x30\\x18\\x32\\xff\\xe6\\xe6\\x35\\x9a\\xa6\\x7d\\xab\\xfd\\x45\\xdb\\xab\\x9d\\xd0\\xe9\\x97\\xd6\\x95\\x99\\xcc\\xea\\x8d\\x25\\x13\\xfd\\x2c\\x51\\xd5\\xe5\\x92\\x65\\x1c\\xe5\\xf2\\x72\\xd5\\x48\\xc4\\x5e\\x9b\\x8c\\xb8\\xfd\\xb2\\x1c\\x40\\x3c\\xcd\\x31\\xdf\\x94\\x07\\x6b\\xf2\\xe0\\x78\\x1e\\xb4\\xe4\\x81\\xfe\\xb9\\x29\\x0f\\x8e\\xe5\\x41\\xb7\\x0a\\x57\\xa7\\xbe\\x51\\x5a\\x08\\xfc\\x41\\x51\\x1e\\xbf\\xc8\\x9d\\x43\\xe4\\xc1\\xc8\\x8a\\x53\\x6a\\xf3\\xdc\\xa9\\x8d\\x27\\x62\\xe1\\xac\\xcb\\xa8\\x39\\xd1\\xbd\\x46\\x4f\\xfb\\x87\\xac\\x44\\x54\\x3a\\xde\\xe1\\x31\\x33\\xde\\x81\\xd8\\xd5\\x6f\\x18\\xbe\\xb5\\x48\\x44\\x8f\\xfb\\x0a\\x77\\x89\\xdb\\xd0\\x7d\\xdc\\x75\\x69\\xbf\\xf8\\x2a\\x76\\xae\\x49\\xe1\\xa9\\x03\\x14\\x2b\\xbc\\xa2\\x8a\\xa7\\xc6\\x79\\xb8\\xd3\\xf1\\x14\\x3c\\x3b\\xdb\\x36\\x63\\x30\\xb2\\xa8\\x4d\\x9d\\x95\\x6f\\x39\\x9d\\x1f\\xfd\\xab\\xf4\\x18\\x0f\\x40\\xad\\x31\\x06\\x73\\x11\\x86\\x2c\\xa1\\xf8\\x69\\xc6\\x08\\xa6\\xc7\\xe0\\x70\\x5f\\xd3\\xef\\xae\\xc7\\x6c\\x84\\xa7\\x87\\xf3\\x32\\x03\\x36\\xd2\\x63\\xbc\\x9b\\x1e\\x63\\x23\\x2c\\xee\\xea\\xab\\x57\\x27\\xab\\xb1\\x2e\\xbe\\x7a\\xea\\x77\\xf9\\xd5\\xd2\\x22\\xdc\\x46\\x04\\x5c\\x8c\\xd8\\x2e\\xe3\\x22\\xb2\\xcf\\x17\\x73\\x7a\\x62\\x9c\\x48\\x14\\x93\\x78\\x6e\\xd0\\xe5\\x70\\x11\\xbb\\xc5\\x4b\\x7e\\xe4\\x66\\x79\\x23\\x0d\\x2d\\x5f\\x2d\\xa7\\xc8\\x2f\\x4e\\xa6\\xd7\\x9c\\xc8\\xe0\\x17\\x64\\x1a\\x65\\x26\\xe7\\xd8\\x6c\\x0e\\x2e\\xc7\\x87\\x7c\\x7a\\x88\\x59\\x2e\\xe0\\xe9\\xb9\\xd0\\x90\\x0b\\x35\\xb9\\x50\\x9d\\x0b\\xf5\\xe9\\x30\\x33\\xfd\\x04\\x93\\xa5\\xdc\\xa4\\x6f\\x3c\\xc9\\xb8\\x22\\x52\\x4d\\x17\\xe9\\x72\\x81\\x79\\x8d\\x8c\\x9a\\x11\\x66\\xa6\\x7b\\x6b\\xbd\\xe5\\x65\\x55\\xdc\\xa1\\xc2\\xab\\xfb\\x69\\x3b\\xb4\\x15\\x30\\x0f\\x6a\\x87\\x2f\\xe1\\xfe\\xdc\\x71\\x05\\x9e\\xd8\\xf1\\x10\\x7e\\xad\\xdd\\x37\\xfc\\xb2\\xb7\\xfe\\x71\\xe0\\xe5\\xd9\\xfd\\xb0\\x95\\x28\\x4f\\x63\\xc8\\x9f\\x59\\x0e\\x33\\xf4\\xec\\x4e\\xdf\\xef\\x87\\xbf\\xd1\\xda\\xfd\\x88\\x9d\\x13\\x90\\xf9\\xb2\\x8c\\xe2\\x2f\\x44\\x61\\xb2\\x53\\x8b\\xd1\\xac\\x44\\x75\\xcc\\x82\\xa5\\x48\\x0f\\x9f\\x2f\\x12\\xb1\\x78\\x83\\xa1\\x50\\x4f\\xaf\\xc5\\xdb\\xbb\\x4f\\x0f\\xdf\\x98\\x64\\x0f\\x7a\\x80\\xdb\\xa3\\x07\\xb1\\x12\\x73\\xec\\x39\\x35\\x49\\x97\\xdd\\xad\\xe4\\xf1\\x79\\x35\\xc9\\x66\\xa6\\x5d\\x05\\x83\\x88\\x57\\x16\\xf5\\x81\\x6e\\xe7\\xb4\\xe9\\xb0\\xed\\xe2\\xe2\\x6e\\x55\\xb5\\x8c\\xd3\\x59\\xba\\xb7\\x69\\x46\\xa6\\x5e\\x15\\xaa\\xdb\\x71\\x6c\\x67\\x8d\\x28\\xe3\\x30\\x56\\x98\\xf2\\xd3\\x2d\\x6b\\x4e\\x98\\xa5\\xa2\\xd0\\xca\\x65\\x3f\\x64\\x9c\\xc1\\xb6\\xff\\xc5\\x2c\\x1b\\x05\\x27\\xcd\\x33\\xd8\\x8d\\x1b\\xcd\\xe2\\x51\\xf7\\xdf\\x9f\\x71\\xfa\\x8a\\xcb\\xf4\\x3a\\x52\\xf8\\x5f\\xec\\xe4\\xd5\\xe0\\xb3\\xeb\\x99\\x6c\\xa8\\x34\\x64\\xc3\\x7b\\xe6\\xd9\\x13\\x0d\\xab\\x74\\x2b\\x21\\xde\\xd9\\x4d\\x36\\x70\\x0e\\x26\\x1b\\x2e\\xd6\\x65\\x03\\x7a\\x26\\xf3\\x7c\\xe1\\x3c\\x35\\xcc\\xcb\\xdd\\x65\\xc3\\x7a\\x26\\x1b\\x2a\\x0d\\xdd\\x4d\\x60\\xb2\\x81\\xba\\x92\\xf6\\xb6\\x66\\x2b\\x46\\xef\\xa6\\x6c\\xa0\\x75\\x98\\x8c\\xbe\\x89\\x4e\\x32\\x80\\x49\\x91\\x9c\\xb6\\xd4\\x84\\xd6\\x1c\\xd5\\xe8\\x37\\x8d\\x73\\xb1\\xd9\\x67\\xa7\\x8f\\x52\\xa1\\x38\\x07\\xdb\\x52\\x8f\\xb5\\x06\\x73\\x4c\\xb4\\x8d\\x3d\\xd8\\x9f\\xe0\\x1d\\x62\\xb2\\x81\\xf5\\x8d\\x57\\xf4\\xef\\x3c\\x49\\x09\\x51\\xef\\x76\\x28\\x6a\\x22\\xce\\xf6\\x20\\xab\\x63\\xcf\\xe6\\xa5\\x9f\\x31\\x2f\\x7b\\x8d\\xf7\\x2c\\x26\\xf2\\xa7\\x78\\x45\\xf1\\x19\\x5d\\xcf\\xe4\\x58\\xed\\x26\\x36\\x2f\\xe3\\x0c\\x99\\x39\\xc0\\x80\\xef\\x49\\x46\\xe8\\x59\\xd7\\xb3\\x77\\x57\\x78\\xbd\\xff\\xe2\\x74\\xff\\x29\\x98\\x61\\xd8\\x10\\xbd\\x7b\\x93\\x01\\xfa\\x16\\xf6\\x2d\\xee\\xc2\\x13\\xf4\\xfe\\x7f\\x37\\xfb\\xc7\\xb7\\xa2\\x37\\x0c\\xf8\\x5e\\xbd\\xc8\\x00\\x25\\x5c\\x49\\xcf\\x2e\\xf0\\x83\\x98\\xcf\\xec\\x4f\\x66\\xff\\x68\\x01\\x3c\\xa2\\xcb\\xd9\\xd2\\x92\\x52\\xb3\\x67\\x86\\x37\\xe1\\xf9\\x51\\x36\\xe7\\xe3\\x0c\\xb8\\x1c\\x1d\\xee\\x0c\\xff\\x19\\x3d\\x33\\xe0\\xba\\xe1\\x4b\\xe6\\xfc\\x12\\x63\\xfc\\x62\\x3a\\x21\\x7d\\xe4\\x3e\\xe5\\xff\\x13\\xdf\\x15\\xc8\\xf4\\x49\\xf5\\xa4\\x13\\x52\\x6c\\x2f\\xee\\xdb\\x05\\x5e\\x25\\x78\\xbc\\xc7\\xe8\\xa4\\xca\\xc0\\x63\\xa2\\x8e\\x47\\xf0\\x82\\x60\\xd0\\xd0\\x1b\\x29\\x1e\\x21\\x56\\x03\\xb9\\x3f\\x81\\x1b\\xaf\\xc3\\xa1\\x95\\x3a\\x5c\\xf6\\x88\\xec\\x6c\\xae\\x33\\x6e\\x94\\xd5\\xea\\x67\\xf8\\x56\\x19\\xf8\\xc6\\x8d\\xf1\\xad\\x56\\x1a\\x16\\xc9\\xdb\\xdd\\xbc\\x98\\x31\\x7e\\x28\\xf5\\x13\\xb7\\x8f\\xe9\\x98\\xe3\\x0d\\x5d\\x77\\x3a\\xd3\\x5d\\x9d\\x90\\x8d\\xb2\\x63\\xd9\\xb8\\x2e\\x3b\\xdb\\xe1\\x30\\x7d\\x8c\\x19\\x77\\x01\\xc8\\x30\\x31\\xf1\\x5f\\x10\\x04\\xbb\\x28\\xda\\x24\\x17\\x16\\xc8\\x76\\x96\\xe8\\xc5\\x39\\xc4\\x92\\xa0\\x75\\xa2\\x6d\\x36\\xc1\\xc9\\x09\\xde\\x5a\\x0f\\x24\\xcc\\x9b\\xe5\\x78\\xf3\\xd2\\xb7\\x5d\\xec\\xe2\\xb5\\xcd\\x1e\\x58\\x65\\x5e\\xbc\\x36\\xd6\\x03\\x83\\x4c\\x98\\x29\\x27\\x19\\xd0\\x6e\\x76\\x77\\xdb\\x1a\\x76\\x3b\\xdb\\x58\\xf3\\xe2\\x36\\xbd\\x8b\\x03\\xec\\x69\\x2b\\x6b\\x3f\\xdb\\x03\\x75\\x66\\x63\\x87\\x07\\x48\\xdb\\x23\\x1e\\xd8\\xc3\\x2e\\x77\\x5b\\xc7\\x5a\\x45\\xd8\\xf7\\x55\\x3f\\xb3\\x36\\xcf\\xb3\\x6f\\x49\\xb3\\x1b\\x3c\\x30\\xdd\\x03\\xa3\\x58\\xcb\\x62\\xd6\\x2f\\xe9\\xf4\\x71\\xf6\\xa8\\x8e\\x7d\\x4f\\xda\\xa4\\x3c\\x80\\x0f\\x7a\\xe0\\x03\\x0f\\xac\\x66\\x78\\x96\\x7a\\x20\\xe6\\xa1\\x97\\xcb\\xfd\\xff\\x7b\\x35\\x80\\xe9\\x1d\\xca\\xf4\\x10\\xe9\\x89\\x2e\\xd4\\x77\\x65\\x04\\x83\\xb2\\xdb\\x02\\x0e\\x1f\\xd6\\xf6\\x7f\\xfd\\xb5\\x7e\\x63\\x80\\xb6\\xf6\\xa5\\x8e\\x3b\\xf0\\xcc\\x97\\xe0\\x5a\\xe3\\xde\\x00\\xb3\\xae\\x58\\x36\\x9a\\x92\\xe8\\x4f\\x25\\x9a\\xcb\\xab\\x38\\x2c\\x9c\\x4d\\x10\\x14\\x8e\\x8b\\xe6\\x78\\x6c\\x76\\x1b\\xe5\\xe1\\x92\\x64\\x97\\x03\\xac\\xd4\\x98\\x77\\xba\\x08\\xb2\\x58\\x23\\x36\\x8b\\x9c\\x9b\\x13\\x51\\x28\\x5d\\x72\\x8c\\x25\\x42\\x95\\x9b\\x71\\x37\\xdd\\xaa\\x8f\\x65\\xfa\\xda\\x88\\x92\\xa6\\x57\\x0b\\x48\\x17\\x22\\x63\\x3f\\x19\\xc5\\xc8\\x9a\\x9b\\xf5\\x72\\x64\\xcf\\x3e\\x6b\\x16\\x24\\x3b\\xf0\\xd2\\x37\\xb4\\x22\\xd9\\x37\\x2f\\xad\\x36\\x4b\\x92\\xa5\\xe3\\xf3\\xa2\\xe9\\x58\\xbb\\x74\\xcc\\xba\\x1e\\x04\\x18\\x41\\x91\\x1e\\x9d\\x7e\\x85\\xf4\\x39\\xec\\x6b\\xe9\\xb3\\xdb\\x0d\\xc6\\xb9\\xa0\\xce\\xd5\\x62\\x34\\x9e\\x2f\\xd6\\xa7\\xdb\\xd9\\xad\\x1e\\xcf\\xb7\\xd9\\x1c\\x83\\xe8\\x3b\\xb7\\xc3\\x79\\x6c\\x0c\\xbf\\x9f\\xfa\\x43\\x91\\xd7\\x77\\x9a\\x31\\xea\\xd2\\x63\\xac\\x02\\x7f\\x86\\x4e\\xad\\x52\\xff\\xb8\\x1a\\x3c\\xdd\\x18\\x4c\\x47\\xea\\xdf\\xf5\\xec\\x51\\x7f\\x8f\\x00\\x0a\\x64\\x9f\\x66\\x8c\\xaf\\xd2\\x63\\x3c\\x00\\xc3\\x0d\\x78\\xf6\\x22\\x61\\x1c\\xce\\xed\\x1c\\x21\\xdd\\xff\\x73\\xe9\\x77\\x78\\x10\\x76\\x12\\x1d\\x8f\\x9d\\xb9\\x06\\x02\\x34\\x26\\x91\\x88\\x65\\x6f\\xb7\\x98\\x44\\x36\\x86\\x78\\x4d\\x7a\\x8c\\x07\\x61\\x84\\x79\\x4e\\xcb\\x9c\\xf6\\x74\\x9b\\xab\\xdd\\xce\\xac\\xf5\\x71\\x82\\xe9\\xf7\\xe0\\xe0\\x00\\xea\\x12\\xfb\\xe8\\x1b\\xe3\\xcb\\x3a\\xcd\\x38\\x93\\x98\\x1e\\x36\\xc1\\xd0\\xc3\\xea\\xbb\\x9e\\x8d\\x07\\x87\\x05\\xe3\\xdd\\xc7\\x21\\xbc\\x7a\\x24\\xe3\\x7d\\xfd\\x8d\\xf3\\x0d\\xaa\\x83\\x16\\x25\\x14\\x90\\x43\\xd1\\x50\\x49\\xa8\\x9a\\xdd\\x97\\x30\\x3d\\xd4\\x1c\\x5a\\x1d\\xb2\\x11\\x69\\xa5\\x25\\x5b\\x43\\x21\\x59\\x97\\x56\\x33\\x0d\\xd9\\xd9\\x4c\\xf8\\xe7\\xa5\\xfc\\xc0\\xf4\\xb8\\xeb\\xf1\\x52\\x83\\x2f\\x46\\xb3\\xb3\\x25\\x29\\xcd\\x17\\xd9\\xbd\\x12\\x8c\\x2f\\x0e\\xd4\\xe5\\x0e\\x9e\\x95\\x79\\x7e\\x98\\x83\\x73\\x82\\xb6\\x8c\\x78\\x16\\xbd\\x06\\x1a\\xe3\\xe3\\x97\\x18\\xb1\\x26\\x4f\\x18\\xf0\\x54\\xad\\xa4\\x27\\xfd\\x01\\xab\\x3f\\x63\\x6d\\xf4\\xd8\\xcf\\xe2\\x74\\xec\\x67\\x0a\\xc6\\x1b\\xf0\\x76\\x3b\\x3d\\x74\\x42\\xb2\\xcd\\x0c\\xfe\\xf4\\x74\\xc6\\x05\\xfc\\x6e\\x9e\\x9f\\x13\\xb9\\xb6\\x37\\x73\\xed\\xb3\\xac\\x59\\x8a\\x19\\x18\\xd0\\xd9\\x3f\\x8b\\x47\\x65\\xfd\\xdb\\x00\\x88\\xbe\\x4b\\xe3\\xf6\\x30\\xe5\\xb5\\x64\\x7e\\x9d\\xd4\\x34\\x74\\x3a\\xf4\\x41\\x3a\\xe3\\xfd\\x58\\x5d\\x7f\\x26\\xcf\\x87\\x18\\xf2\\xfc\\x66\\x43\\x3e\\x53\\xb4\\xec\\x57\\xd8\\x9d\\xd0\\x45\\x3e\\xb3\\xda\\x4a\\x4c\\x9e\\xd7\\x1b\\x7a\\x8e\\x19\\x5b\\x6b\\xa7\\x01\\x54\\xe7\\xd9\\x9d\\xc8\\x9a\\x09\\xcf\\xfa\\x67\\x3e\\xd0\\x21\\x86\\x8f\\xa2\\x87\\xe1\\x03\\x65\\xfd\\xdb\\xed\\xd2\\xe9\\xfa\\x7f\\xd7\\xec\\x1f\\xaf\\x43\\x2f\\xea\\xeb\\x65\\x97\\xec\\x92\\xd1\\x75\\x27\\xde\\xc5\\x66\\xbf\\x44\\x8e\\xf5\\xc9\\x9c\\x4f\\xc9\\x2d\\x79\\x21\\x53\\x8e\\xea\\xfd\\xfe\\x9e\\xee\\x77\\x05\\xf5\\x9e\\xd0\\xfd\\x6a\\xa7\\x78\\xeb\\x87\\x71\\x5e\\x64\\xed\\xdc\\xaf\\x84\\x67\\xde\\x81\\x10\\xbe\\x41\\x78\\x17\\x39\\xd1\\xe8\\x44\\xb9\\x28\\x49\\x4e\\xa7\\xec\\x92\\x02\\x9c\\x75\\x74\\x92\\x33\\xee\\xc0\\x6a\\x61\\xb7\\x5f\\x35\\xcb\\xd0\\x28\\x43\\x54\\x86\\x63\\x32\\xec\\x61\\x57\\x62\\xb5\\xb0\\xeb\\xb1\\x32\\x5d\\x85\\x28\\xc3\\x0f\\xc8\\xa2\\xbe\\x3b\\xcb\\x5e\\x13\\x6b\\xef\\x0e\\xb3\\xe0\\xb5\\xf6\\x3d\\xff\\xb8\\x51\\xeb\\xfa\\xe4\\x0c\\x7a\\x06\\x6c\\x37\\xea\\xc6\\xe7\\xa0\\x5e\\xe8\\x9a\\x44\\x4e\\x0e\\x64\\x59\\xf8\\x00\\x57\\x50\\x90\\x15\\x95\\xb3\\x04\\x99\\xeb\\x5d\\xac\\x28\\xd8\\x6e\\xb3\\x85\\xb1\\x25\\x07\\xe5\\xd0\\xc3\\x07\\x35\\xc9\\x93\\x7d\\x85\\xa5\\xdc\\x9a\\xa4\\x24\\x85\\xc9\\x2e\\x0e\\x78\\x7b\\x10\\x6e\\x6e\\x44\\x94\\x55\\xeb\\x89\\xfd\\x19\\xe5\\x5e\\xe8\\x27\\xcf\\x80\\x8c\\x8b\\x74\\x55\\x23\\x36\\xc4\\x3c\\x6a\\xd0\\x23\\x44\\x3c\\x5d\\xcb\\xce\\xe7\\x65\\x44\\x89\\xf4\\xb3\\xd3\\xc3\\x87\\x7e\\xda\\x3b\\x34\\x56\\xe4\\x95\\xdd\\xfb\\xde\\x99\\xfd\\x58\\xb1\\x5e\\x7c\\x7e\\x29\\xd7\\x38\\x6d\\xd6\\xf5\\x33\\xa6\\x5f\\x3f\\xfb\\x6a\\x76\\xfa\\x7b\\x67\\xcb\\x1e\\xed\\x47\\xed\\x84\\xf6\\x9b\\xf6\\xdd\\x15\\xf5\\xac\\x00\\x3d\\xb7\\xa9\\x63\\xee\\x8e\\xcd\\x4f\\x6d\\xfd\\xeb\\x93\\x5b\\x75\\xfb\\x83\\xfc\\x27\\x8e\\x27\\xfa\\x43\\x88\\x58\\xdb\\xbd\\xd0\\xf8\\x44\\x6f\\x91\\xb3\\x15\\x79\\x94\\xa2\\x9c\\x1c\\x67\\xd8\\xa6\\x38\\x6d\\xe4\\x8d\\xfd\\x7e\\x67\\xa8\\x28\\xbb\\x21\\x59\\x54\\xe4\\x0c\\x15\\xca\\x21\\xb9\\x21\\x19\\xe2\\x9c\\x39\\x0d\\x49\\xa7\\xb7\\x33\\xf7\\xd8\\xe3\\x35\\xcb\\x4b\\x75\\xbf\\x23\\x98\\xe5\\xea\\x80\\x79\\x9f\\x68\\x80\\x5d\\x2f\\x4a\\xef\\xb4\\x57\\x2d\\x2c\\xbd\\xcf\\xbc\\xe3\\x89\\x33\\xc3\\xa3\\xb9\\x93\\xc4\\x7e\\xb0\\xb2\\x8b\\x45\\xd9\\x45\\xa3\\x59\\x4b\\xa3\\xff\\xc8\\xf9\\xdb\\xbd\\xdc\\x97\\xfa\\xe5\\xa2\\xb7\\x2f\\x19\\xb3\\x60\\xae\\x7e\\xdd\\xa8\\xb0\\xb8\\x75\\x1b\\xbb\\x61\\x74\\xcd\\xae\\xbf\\xf3\\x8f\\x5f\\x57\\x7e\\x91\\x67\\x6a\\x63\\xf3\\xda\\xf6\\x1e\\xf4\\x9e\\x51\\xfc\\x34\\xbb\\x74\\x14\\x21\\x33\\xae\\xfb\\x3a\\xe3\\xfe\\xaa\\xb3\\x13\\x79\\x56\\x64\\xf7\\xf9\\x04\\x7a\\x60\\xa6\\x2a\\x2c\\x33\\xc4\\x2e\\x10\\xa5\\x89\\xdd\\xe5\\x49\\x2f\\x56\\xf5\\x96\\xaa\\x50\\xdf\\xbd\\x6c\\x56\\x97\\x8c\\x5c\\x33\\xb0\\x9b\\xda\\x83\\x65\\x8a\\x11\\xd8\\x1d\\x13\\xae\\xbb\\xe1\\xc7\\x3f\\x77\\xe4\\xf3\\x05\\x1d\\x18\\xf6\\xfd\\xd8\\xae\\xed\\x5b\\xb9\\x52\\x5b\\x0c\\x4b\\xc1\\x05\\xdb\\x17\\xbd\\x7a\\x0d\\x4d\\x3d\\x7a\\xfc\\xe3\\xb7\\xeb\\xa7\\x6a\\xd7\\xa0\\xcc\\xfb\\x09\\x82\\x28\\x17\\x8d\\x4d\\xf4\\x72\\x23\\xd1\\x43\\xa6\\x3c\\x84\\x90\\x33\\x3f\\xcf\\x62\\x71\\xf9\\x7d\\x3e\\x87\\x4b\\x89\\xd4\\x24\\x15\\xc5\\xe5\\x08\\xb8\\x3c\\xb5\\x49\\x7a\\x71\\x0c\\x8d\\xef\\xee\\x2c\\x63\\x9d\\x41\\x5a\\x3a\\x41\\x0d\\xe8\\x4c\\x53\\x3c\\xf5\\xde\\x82\\x34\\x65\\x65\\x16\\xd5\\x3d\\xf0\\x5a\\x9a\\x76\\xf0\\xb7\\x5a\\x39\\x25\\xa8\\x17\\x3e\\xd4\\x0e\\x7c\\x3e\\x7d\\xc1\\xbc\\xa6\\x83\\xd8\\xa9\\x69\\xda\\x97\\x06\\xe1\\xf0\\xfb\\xf6\\xfd\\x8b\\x50\\xd3\\x77\\x29\\x04\\xe3\\x9e\\xde\\xf2\\xf0\\xd3\\xf4\\x1d\\x90\\x31\\xaf\\x2e\\xa2\\xa9\\xf4\\x4b\\x44\\x2c\\x82\\x83\\xc8\\x6e\\x99\\x7c\\x19\\x54\\x1d\\x3e\\x7a\\xd3\\x99\\x60\\xe3\\x04\\x3f\\x9d\\x52\\x94\\x81\\xf0\\xe9\\xa6\\xb2\\xa8\\xb2\\xa0\\xfc\\x34\\x73\\xb9\\x02\\xae\\x18\\x75\\x9a\\xb9\\xe4\\x8e\\xac\\xce\\xff\\xba\\xe3\\x2d\\x63\\x36\\x09\\x1e\\xc6\\x5c\\x86\\x88\\x0d\\x3d\\x32\\x51\\x10\\xb6\\x28\\x84\\x62\\x63\\x31\\xbf\\xc5\\x5f\\x58\\xe0\\x72\\xd1\\xa2\\x5f\\x5e\\x3e\\x08\\xde\\x00\\x9f\\x5d\\x93\\xe4\\xdd\\x76\\x62\\x33\\xdb\\x33\\xa6\\xb1\\xda\\xc3\\x52\\x6c\\x33\\x66\\xd0\\xc4\\xed\\xb4\\x3b\\x91\\xa2\\x9a\\xb1\\x19\\xe1\\x51\\xfd\\xbe\\x87\\x8f\\xdf\\x4a\\xcf\\xe4\\x6a\\xa8\\x1f\\x05\\xaf\\x18\\xd7\\x3f\\xf0\\x67\\xe8\\xf7\\x3d\\xd0\\x4b\\x20\\xcc\\x3d\\x38\\x66\\x75\\xfe\\x9e\\xf6\\x8b\\xcd\\x1b\\x20\\x00\\xf5\\x27\\xf2\\x7d\\x16\\xbb\\x0f\\xf7\\xcc\\x44\\x8e\\x5b\\x96\\x31\\xa7\\xd8\\x6c\\x5c\\x38\\x84\\xb1\\xe8\\x76\\x4b\\xfa\\xc5\\xb7\\x3c\\xbd\\x1b\\x57\\xf2\\x75\\xa1\\xcb\\x6e\\x38\\xd3\\x6d\\xc6\\xd1\\xbb\\xc6\\x75\\xa7\\x45\\x6e\\xbe\\x79\\x17\\x66\\x05\\xc6\\x5b\\xb5\\x5f\\xa6\\x68\\xa9\\x8b\\xe0\\xac\\x43\\x30\\x16\\x66\\x69\\x0f\\x68\\x5b\\x7f\\xd3\\xde\\xaa\\x06\\x5e\\xbf\\xfb\\x96\\xdf\\xa6\\xfd\\x7c\\xd9\\xbb\\x6f\\x6a\\xcd\\xda\\x23\\xda\\x5f\\xb4\\xdb\\xcc\\xcb\\x6f\\x99\\x37\\x5b\\xbf\\x67\\x55\\x3c\\x47\\x7c\\x1c\\x15\\xa0\\x4b\\x12\\x67\\x44\\x0b\\x44\\x1f\\xe1\\xcc\\x41\\x54\\x50\\xe0\\x2b\\x2a\\x0c\\x06\\x15\\x22\\x05\\x24\\xc9\\xad\\x64\\x45\\x1b\\x92\\x59\\xf1\\xcb\\x92\\x59\\x8a\\xc2\\x35\\x24\\x15\\xde\\x4d\\x76\\x94\\xdb\\x97\\x9e\\x66\\xf7\\x6b\\xc5\\x19\\x58\\xa7\\x11\\xef\\x4c\\xa9\\x05\\xf3\\x8e\\x55\\x33\\x25\\xd4\\x74\\xbd\\x54\\x66\\x72\\x6e\\x7e\\xbe\\x8e\\xf1\\xdb\\xcd\\xcf\\x0d\\x04\\x18\\xad\\xbd\\xf4\\xa5\\x79\\x97\\xef\\x47\\x77\\x3d\\x72\\xf7\\xa8\\x0b\\x06\\xe6\\x0c\\xaa\\xe4\\xde\\x34\\xae\\xee\\xbd\\xe9\\x8e\\xcb\\xde\\x79\\xdb\\xbc\\xd1\\xf7\\xbc\\xc1\\x77\\xdc\\xed\\x79\\x57\\x3a\\x67\\x84\\xf6\\xb2\\x79\\xe7\\xc6\\x7f\\x85\\x52\\x22\\xc7\\x47\\x27\\x7a\\x66\\xe7\\xd9\\x1d\\x48\\x75\\x70\\x79\\x79\\xde\\x82\\x7c\\x55\\x0d\\x20\\x14\\xb0\\x13\\xbd\\x3c\\x1c\\xad\\x4d\\x86\\x03\\x01\\xae\\x26\\x19\\x70\\xcb\\x96\\x9a\\xa4\\xac\\x64\\xbe\\xce\\xa9\\x6f\\xa3\\x66\\xbe\\x4a\\xfa\\xe2\\x8d\\x3c\\xe3\\x66\\x08\\x95\\xc5\\xbb\\x1b\\x17\\x2f\\x70\\xfe\\x8c\\x2b\\x38\\x16\\xed\\x59\\xa6\\xdf\\xcd\\x31\\xe7\\x32\\xeb\\xfa\\x3b\\xf4\\x97\\xc0\\x1f\\x67\\x5e\\xc5\\x61\\xde\\xd0\\x51\\x78\\xcb\\x52\\xcf\\xdb\\xe4\\x1d\\x8e\\x67\\xc6\\x2f\\x79\\xcd\\xf8\\x25\\xca\\xcb\\x27\\x92\\xfd\\xe8\\x27\\x56\\xc7\\x90\\x44\\xd4\\xe6\\x72\\x85\\x05\\xf2\\x2e\\x42\\x34\\x47\\x92\\x04\\x8f\\x27\\xd4\\x90\\xf4\\x58\\xc8\\x0f\\x27\\x84\\x3b\\xf7\\x64\\x71\\x27\\xd3\\xce\\x24\\x24\\x23\\xf1\\xad\\x93\\x4f\\x67\\xde\\x5d\\x2c\\x4e\\xd4\\x73\\xdf\\x0c\\xd6\\x8c\\x0b\\x4f\\xbd\\xc2\\xb8\\x93\\x1f\\x6b\\xf7\\x6a\\x4f\\x99\\x57\\x19\\x13\\x1c\\x27\\x18\\xf7\\x5d\\x4a\\x04\\xcb\\x21\\x89\\x98\\x13\\xf1\\x6e\\xb7\\x0d\\x89\\x36\\x4e\\x09\\x70\\x5e\\x7a\\x2d\\xa2\\xdd\\x42\\xc3\\x14\\x2c\\x9c\\x5d\\xa6\\x29\\x37\\xa7\\xf0\\xe1\\x8c\\x3c\\x2e\\x8a\\x15\\x2b\\xb0\\x41\\x48\\xbd\\xc0\\x4f\\xc5\\x48\\xae\\x38\\xa1\\xe3\\x28\\xec\\xeb\\xc0\\x84\\x09\\xe7\\x1f\\xd3\\xbe\\x85\\x62\\xc2\\x31\\x96\\x6a\\x8b\\x57\\xae\\x84\\xed\\xaf\\x7e\\x0c\\x17\\x7f\\x7d\\xa2\\xf9\\xfb\\x97\\xdf\\x87\\xbb\\xa7\\x22\\x94\\x79\\xb7\\x09\\xe5\\xc1\\x63\\x12\\xbd\\xbc\\xd6\\x9c\\x1c\\x89\\x70\\x60\\x9b\\xc4\\xe5\\xe7\\x89\\xa2\\xdd\\xeb\\xf3\\xc9\\x76\\xc6\\x74\\x09\\x32\\x01\\xbb\\xad\\x36\\x69\\x07\\x9d\\x25\\xff\\x0f\\x1e\\xac\\x76\\xaf\\x14\\xce\\x22\\xb7\\xe2\\x66\\x48\\x17\\x2d\\xe4\\x80\\xc1\\x6d\\xd6\\xac\\x18\\xfb\\xe1\\x0b\\x27\\x1b\\x78\\x5e\\x2b\\xc7\\xdf\\x5a\\xb5\\x63\\x82\\x0d\\x9f\\xf1\\xd7\\x59\\xaf\\x7e\\x06\\x05\\x07\\x9b\\xe6\\xcd\\x6f\\xfa\\x1c\\x3b\\x51\\x0a\\xc2\\x7b\\x5a\\xfe\\xb5\\xef\\x64\\xf1\\x03\\xf5\\xee\\x05\\xf9\\x0d\\x93\\x20\\x0a\\x58\\xdb\\xf8\\xcc\\x43\\x8f\\x3d\\x43\\xe3\\xde\\xb5\\x09\\xac\\x16\\xbc\\x17\\x45\\xd0\\xd0\\x44\\x2e\\x67\\xa5\\x45\\x29\\x2c\\x84\\x49\\xa8\\x12\\x92\\xb2\\xb3\\xdc\\x81\\x9a\\xa4\\xdb\\xcd\\x85\\x89\\xfa\\x14\\x10\\x2d\\xb5\\x49\\x31\\xd2\\x89\\x77\\x57\\x3e\\x6c\\x08\\x69\\x3f\\xb6\\x08\\x34\\x4a\\x03\\x68\\xe9\\x2c\\x42\\xad\\x64\\xc9\\xdd\\xe9\\x1a\\xf1\\x07\\xdf\\x87\\xba\\xf6\\x2b\\x70\\x48\\xbb\\xac\\xb1\\x69\\xf1\\x6f\\x5b\\xc0\\x0a\\x41\\xed\\xd3\\x5f\\x89\\xc2\\x3f\\x1b\\x38\\xdc\\xe3\\x0b\\xed\\xab\\xbc\\x8e\\xd6\\xdd\\x50\\x7c\\xce\\xd1\\xc7\\xfe\\xfa\\xfb\\x32\\xed\\x1b\\xed\\x17\\xb8\\x42\\x5b\\xd7\\xd2\\xc6\\xf6\\x9a\\xe1\\xa3\\x70\\xa0\\x81\\x89\\xa8\\x88\\xb1\\x03\\xd9\\x04\\x07\\xef\\x94\\xd8\\x4d\\x56\\x02\\xb2\\x51\\x0f\\x85\\x8d\\x43\\xd0\\x79\\x1c\\x76\\xca\\x82\\xd3\\xaa\\xa0\\xc6\\x62\\x93\\x9f\\x5a\\x6e\\x5c\\x87\\x1b\\x1f\\x6f\\xff\\x88\\x1f\\x7b\\x18\\x66\\x1d\\x86\\xcb\\x0f\\x9f\\x68\\x36\\xee\\x2f\\xbd\\x81\\xf0\\x51\\x91\\xd0\\xff\\xa8\\x44\\x81\\xca\\x71\\x52\\xb6\\x85\\x06\\xc1\\xf8\\xa3\\x39\\xd9\\xd9\\x6e\\x9b\\x42\\xc6\\x53\\x14\\x37\\xd1\\xde\\xc8\\x78\\xbc\\x1b\\x65\\x30\\xa8\\x8c\\xfa\\x98\\xe9\\xbd\\xd0\\x59\\xb7\\x88\\x6c\\xe4\\x78\\x0e\\x91\\x22\\x64\\x13\\x78\\xd2\\x85\\x77\\xaa\\xe2\\x8c\\x63\\x59\\xf0\\x37\\x7f\\x7e\\x46\\xea\\x18\\x28\\xbd\\xa0\\x8d\\xbf\\x05\\x5e\\x85\\x7e\\x30\\x71\\x93\\xb6\\xf7\\x9d\\xf7\\xb4\\xfd\\xeb\\x6d\\xdc\\xb7\\xbe\\x96\\x07\\x16\\xdc\\xdb\\xfb\\xfd\\x0f\\xdf\\x78\\x75\\x2f\\xd7\\x08\\x53\\xb4\\x5b\\xb4\\x6d\\x9f\\x6b\\x4f\\x3d\\xb9\\x1d\\x46\\x7d\\x79\\xfe\\x90\\x47\\x5f\\xbc\\x72\\x1a\\x9d\\x9f\\x89\\x84\\x0e\\xf7\\x09\\xf7\\x10\\xfe\\x9a\\x24\\xfa\\x57\\xd0\\x2a\\xbb\\x5c\\x79\\x56\\x2e\\x37\\x2f\\x9b\\xcb\\xe3\\x8a\\xfe\\x3f\\xd6\\xde\\x03\\x3c\\xaa\\x6a\\xfb\\x1b\\xde\\xfb\\xec\\x53\\xa6\\x9f\\x39\\x33\\x73\\xe6\\x4c\\xcd\\xb4\\x4c\\x0a\\x21\\x04\\x12\\x42\\x08\\x75\\x04\\x04\\x44\\x20\\x05\\x10\\x46\\x44\\x8a\\x08\\x0a\\x4a\\x51\\x69\\x0a\\x22\\x88\\x08\\x28\\xa2\\x88\\x15\\xc5\\x82\\x22\\x2a\\xa2\\x08\\x22\\x2a\\xa0\\x57\\xbd\\xa2\\x22\\x0a\\x72\\xb9\\x7e\\x62\\x57\\x94\\xeb\\xc5\\x7a\\x6d\\x08\\x99\\x9d\\x6f\\xef\\x53\\xa6\\x84\\x78\\xff\\xef\\xfb\\x7f\\xde\\xc7\\x67\\x00\\x93\\x99\\x39\\x6b\\xb7\\xd5\\xf6\\x5a\\xbf\\x5f\\x89\\x28\\x5a\\xe3\\x71\\x60\\x55\\x88\\xd0\\x8a\\x02\\xac\\x56\\x89\\x58\\x56\\x16\\x44\\x29\\xfd\\x60\\xbb\\xc2\\x17\\xb8\\x02\\x7a\\x9e\\x97\\x26\\x07\\x8a\\x69\\x8f\\x17\\xf9\\x83\\xe2\\x05\\x29\\x9c\\x6e\\xc0\\x74\\xb4\\x53\\x2d\\xdf\\xcb\\xb3\\xcc\\x35\\xc4\\xe2\\x6f\\x5e\\x87\\xff\\x05\\x7d\\xc7\\x8f\\x42\\xd7\\x00\\xfc\\xeb\\x39\\xff\\xbc\\xec\\x9a\\x5b\\xef\\xea\\xd9\\xf3\\xf1\\x07\\x96\\x2f\\xf9\\xee\\x02\\x68\\x1a\\x80\\x3f\\xf0\\x7c\\xf9\\xea\\xb2\\x2d\\xde\\x41\\x99\\xcd\\x87\\x5f\\x79\\xab\\xf7\\xf7\\x13\\xc6\\x4e\\x9e\\xf0\\x55\\xfa\\xe2\\x89\\xd3\\x33\\xe3\\xfe\\xae\\x62\\xed\\xc3\\xd6\\x1d\\x24\\x96\\xa2\\x5c\\xe0\\x2e\\x72\\xc2\\xe3\\x16\\x11\\x72\\x9c\\x28\\xba\\x10\\xf2\\xb8\\x05\\x9a\\x90\\x22\\xcb\\x2c\\x58\\x26\\xa4\\x59\\x56\\x70\\xaa\\x4b\\x80\\xf4\\x4e\\xb5\\xfa\\xaa\\x8a\\x8a\\xc2\\x13\\xae\\x35\\xdb\\x3a\\x63\\x1a\\xd6\\x85\\xea\\xc4\\xe8\\x4c\\xe0\\x8f\\x0f\\x19\\x3b\\x20\\x78\\x56\\xad\\xc1\\x07\\xfe\\x11\\x9e\\xe7\\xf9\\xd8\\x3e\\xac\\x81\\x7b\\xf2\\x18\\x9d\\xcf\\xcd\\xe4\\xf9\\x66\\x6e\\x2b\\x50\\x88\\x3f\\x5b\\x65\\xb5\\x99\\x14\\xc1\\x62\\x71\\x3a\\xec\\x76\\x9b\\x62\\x53\\x7c\\x7e\\x8b\\x43\\x74\\xcc\\x49\\x0b\\x40\\xec\\x2c\\xa6\\xc4\\x46\\x91\\xb5\\x22\\x32\\xc3\\x1e\\x0f\\x9a\\x93\\xf6\\x08\\xd6\\x60\\x8e\\x1a\\x96\\x02\\xd3\\xe5\\x5d\\x0b\\x64\\x6f\\x63\\x73\\xc6\\x4a\\x84\\x35\\x42\\x02\\xc5\\xdc\\x89\\xba\\x9a\\x3a\\xf5\\xda\\x48\\x41\\x5f\\x38\\x53\\xde\\xb3\\xea\\x6d\\x9e\\x7f\\x14\\x1f\\x39\\x8d\\x8f\\x9f\\xde\\x90\\xdc\\x10\\x0c\\xec\\x7c\\xb0\\xc3\\xb4\\x38\\xfb\\x19\\x67\\xeb\\xd7\\x7b\\xfa\\xde\\xd3\\x22\\xfb\\xf3\\xde\\x1b\\x6f\\xbf\\x45\\xb2\\xe7\\x6c\\xeb\\x64\\x62\\x5b\\xcb\\xc1\\xc5\\xa9\\xda\\x40\\x34\\x6a\\x72\\xa3\\x52\\x07\\x32\\x39\\x38\\x13\\xaa\\xe8\\xe0\\x76\\x4b\\xb1\\x98\\x55\\x52\\x97\\x3e\\x34\\x31\\xad\\x48\\x59\\x5e\\xf3\\x62\\xa2\\xc7\\x75\\x56\\xf3\\xc2\\x4d\\xd0\\xd6\\xd2\\xb6\\x65\\xe8\\x3a\\x93\\xde\\xbc\\x8d\\x85\\xfd\\xef\\x5c\\xe7\\x1f\\xae\\x33\\xac\\xec\\x5f\\x52\\x9e\\x0f\\xee\\x69\\x18\\xda\\xa3\\x59\\xee\\x73\\x06\\x38\\xf0\\x68\\xce\\xa6\\xf2\\x68\\x16\\x11\\x2f\\x27\\x86\\x58\\x08\\x24\\x86\\x93\\x59\\x87\\xcb\\xe4\\x77\\x00\\xd6\\x61\\x62\\xa3\\x11\\x2b\\x19\\x23\\x23\\x33\\xb2\\x15\\x91\\xc0\\xa4\\x6f\\xf5\\xeb\\x7a\\x37\\x8e\\x3e\\x02\\x97\\xa1\\x09\\xdc\\x14\\x4c\\x11\\xd2\\x58\\x42\\xc7\\x08\\xa9\\x73\\x77\\x2d\\x29\\xd5\\x39\\xc5\\xba\\x39\\x60\\x57\\x38\\x1c\\x9e\\x0b\\xbb\\x60\\xdf\\x94\\xb3\\x1e\\xbd\\x73\\xdd\\xa6\\x9e\\x97\\x7c\\x1d\\xee\\x52\\x29\\x5b\\x2b\\xe2\\xf1\\x8e\\xdc\\x92\\x96\\x0d\\x68\\xd2\\xe9\\xd5\\x2f\\x3c\\xdb\\xe3\\x86\\xd5\\xb7\\x2d\\xed\\xbb\\x79\\x0f\\x5e\\x90\\x4c\\x9f\\xdf\\x5c\\xdf\\x25\\xd8\\xb9\\xb2\\x23\\xd0\\xfa\\x2d\\xf9\\x3f\\x89\\x4d\\x88\\x81\\x41\\xa9\\xa4\\xc3\\x62\\xb1\\xfa\\x50\\x38\\x6a\\x45\\x51\\x44\\x2d\\xba\\xd3\\x5a\\x64\\x83\\x45\\xa2\\x95\\x3c\\x99\\x92\\x81\\x80\\x60\\x63\\x96\\x17\\x40\\xbb\\x66\\x94\\x74\\xb4\\x96\\x42\\x66\\xa8\\x92\\xde\\x30\\x9f\\xf1\\xa7\\x26\\x07\\xe5\\x56\\x4d\\x79\\x40\\x9d\\x5c\\xfc\\xa7\\x6f\\x0c\\xf6\\x1f\\xed\\x8e\\x71\\xfc\\xf8\\x97\\xa1\\xcf\\xf3\\xed\\x2f\\x77\\xe6\\x53\\x00\\xd1\\x0b\\xc6\\x1f\\x96\\x2d\\x82\\x90\\xb9\\x3a\\x73\\x0b\\x2e\\xce\\xd6\\x2e\\x50\\xce\\x76\\x27\\x4f\\x6b\\x8d\\xb4\\xfa\\x03\\xa6\\x5e\\xd5\\xb5\\xd5\\x29\\x1f\\xcf\\x9a\\xac\\xd0\\x64\\x36\\xdb\\x6d\\x82\\x95\\x56\\x1b\\x50\\xe8\\x13\\x06\\x99\\x5d\\x79\\x69\\xce\\x82\\xde\\x16\\x0a\\x55\\x65\\xa4\\x39\\x57\\xc2\\xd2\\x95\\x2b\\xf1\\x87\\x2b\\x51\\x4f\\x66\\x60\\xe6\\xc5\\x63\\x99\\xc7\\x99\\xd1\\x39\\xae\\xf4\\x3b\\x89\\xf5\\x1e\\x96\\x2a\\xb3\\x40\\x37\\x62\\x25\\x97\\xcb\\x23\\x22\\xc4\\x02\\x8f\\x87\\xf5\\xca\\x4e\\xa7\\x04\\x21\\x2b\\x21\\xc0\\xba\\xe8\\x29\\xa7\\x27\\x5e\\xa0\\x80\\x5d\\xd9\\xd2\\xbb\\x76\\xf4\\x13\\x6d\\x69\\xd1\\x0a\\x58\\x9c\\xb1\\xec\\x3e\\xcc\\xa7\\x53\\x1f\\x3a\\xe8\\xfc\\x01\\xc1\\x9a\\xae\\x05\\xa4\\xea\\xac\\x1d\\xae\\x24\\x87\\xbe\\xeb\\x60\\xbc\\x3f\\x9f\\x5b\\x5d\\xe3\\xe6\\x39\\x42\\x96\\x65\\x78\\x2a\\x64\\x85\\x32\\xf2\\xb0\\xc0\\xeb\\xf5\\x50\\xba\\x62\\x37\\x11\\xd0\\xa7\\x98\\x1c\\x8d\\x69\\x93\\xdb\\x05\\x69\\xec\\x6e\\x4e\\xbb\\x5c\\xac\\x5b\\x04\\xac\\x0a\\xee\\x4f\\x6d\\xb9\\xee\\xd9\\x15\\xc8\\x27\\xe5\\x09\\xa8\\x9d\\x14\\xed\\x88\\xe4\\x17\\xdb\\x3c\\x7d\\xef\\xc4\\x51\\xae\\x73\\xe5\\xde\\x75\\x85\\x35\\x37\\xdb\\x57\\xdd\\x2d\\xbd\\xc5\\x09\\x03\\x07\\x61\\x90\\x25\\xf3\\x81\\x64\\xee\\x00\\x93\\x54\\xeb\\x33\\xce\\x58\\xa3\\x26\\x6d\\x8d\\xa0\\x59\\xfe\\xab\\x35\\x72\\xe7\\xad\\x91\\xe7\\x1a\\xe8\\x5f\\x44\\xf6\\xcd\\x35\\xa8\\x07\\xb3\\x36\\x33\\xe3\\x25\\x4a\\x33\\x4f\\xf1\\xd9\\xc9\\x1c\\x5c\\x42\\xbe\\x5f\\xa4\\x3a\\x05\\x31\\x8c\\xdd\\x01\\x59\\xc1\\x22\\x10\\x07\\xcc\\x6a\\x33\\x9b\\x4c\\x3c\\x6f\\x23\\x7b\\x8e\\x78\\xa6\\xa2\\x48\\x36\\xb8\\xcd\\xc1\\x0a\\xcd\\x44\\x1b\\x3b\\x18\\xb3\\x4d\\x66\\x88\\xbf\\xd4\\x9c\\x76\\x38\\xf5\\xe4\\x45\\x8d\\x94\\xf3\\x6f\\xd4\\x75\\x6b\\x13\\x66\\xba\\x74\\x8a\\xc5\\x64\\x69\\x8c\\xe2\\xbb\\xaa\\x28\\xa7\\xb0\\x94\\xeb\\x06\\x43\\xcd\\xb0\\x43\\xf2\\xb9\\x21\\x2f\\xc1\\x23\\xf8\\x28\\xfe\\xa3\\x15\\xe0\\x0f\\xe0\\xdd\\x22\\x3e\\xce\\xde\\xb8\\xe0\\x9d\\x09\\xc3\\x9f\\x6a\\x3c\\xdd\\x1f\\x85\\x5b\\xbe\\x62\\xab\\x12\\xf3\\xd5\\xf9\\x58\\xd9\\xfa\\x9d\\x30\\x85\\xec\\xd9\\x62\\x30\\x30\\x95\\xf0\\xc0\\x44\\x38\\x60\\x15\\x04\\x4b\\x20\\x61\\x41\\x25\\x49\\x9b\\xdd\\xe3\\xb1\\x16\\x9b\\x82\\xc8\\xea\\x62\\xa3\\x4a\\x74\\x62\\xda\\xa9\\x50\\x7e\\x66\\x2d\\x1d\\xde\\xb7\\x46\\xe3\\xd9\\x3c\\x83\\x42\\x2c\\x07\\x91\\x15\\x2b\\x35\\xc0\\xb3\\x74\\xfe\\x8b\\x2c\\x7c\\x16\\x7b\\xd3\\xa4\\x8b\\x67\\x2c\\x86\\xa5\\xf8\\x7d\\x1b\\x5b\\xff\\xc8\\xac\\x25\\x8f\\x94\\x0b\\x83\\xb6\\xad\\x7a\\xee\\x0d\\x58\\x3a\\x79\\xf2\\xb4\\xa5\\x44\\x53\\x8c\\x5d\\xb7\\xf2\\xe9\\x95\\x68\\xd5\\xa9\\xeb\\x36\\x5f\\x3c\\x66\\xd2\\xd4\\x19\\x63\\x3f\\x78\\x0b\\xfd\\xd6\\x32\\xf6\\x8e\\x15\\x9b\\x6e\\x40\\x77\\x19\\x76\\x4e\\xf5\\x65\\x15\\x30\\x38\\x55\\xec\\xf4\\x0a\\x08\\xf1\\xc4\\x3e\\x7b\\x79\\xaf\\xdf\\x67\\x32\\x29\\x10\\x0a\\x8a\\x43\\x9a\\x90\\x76\\xb8\\xc9\\x4b\\x60\\x15\\x24\\xa8\\x58\\xb2\\x6d\\xd5\\x73\\x7d\\x81\\x7a\\x36\\x6b\\x64\\xed\\x2a\\x75\\x7b\\x16\\xe5\\x89\\x08\\x0b\\x8f\\xaa\\xb4\\xed\\x78\\x53\\xe6\\x5e\\xd7\\x9a\\xc7\\x34\\xeb\\x97\\x63\\x6f\\x57\\xd9\\xdc\\x57\\xef\\xdb\\xea\\xf9\\x86\\x1a\\xc1\\x87\\xb4\\x1a\\x8a\\x31\\x6a\\x0d\\x85\\x02\\x6a\\x53\\x01\\x1b\\xe5\\x15\\x51\\x14\\x93\\xdf\\x47\\xa2\\x4b\\x93\\x55\\x34\\xc9\\x20\\xe8\\x46\\x8d\\x69\\xb7\\xb1\\xd0\\x79\\x28\\x53\\x59\\xdb\\x9b\\x2d\\x8c\\x68\\x8f\\xac\\xc8\\x94\\xab\\x87\\x20\\x0f\\x12\\x8c\\x4a\\x88\\x55\\x97\\xe8\\x85\\x10\\xa7\\x1f\\x37\\xea\\x07\\xb8\\x3b\\x5d\\x3c\\x7b\\x8f\\xe1\\x6f\\xf3\\x07\\x89\\xee\\x90\\x89\\x76\\x6d\\x4e\\x79\\xdc\\x2e\\x00\\x9c\\x8c\\x17\\x85\\x2c\\xc8\\x92\\x88\\xbb\\xdd\\x82\\xc7\\xc9\\x50\\x20\\x5e\\x17\\xf1\\x5a\\x05\\x0f\\xb2\\x93\\x78\\xc5\\xce\\x0a\\x24\\xac\\x14\\xdc\\xed\\x39\\xdc\\xb9\\x88\\xc5\\xe8\\xcc\\x73\\x0a\\x4a\\x3e\\xd9\\xbc\\xd2\\xad\\x36\\x41\\xdb\\xab\\x72\\xbc\\xe8\\xfc\\xc1\\x9f\\xd9\\x02\\xd2\\x79\\x09\\x5e\\x52\\x77\\xcd\\x22\\x28\\x64\\xbe\\x31\\x98\\xe7\\xd9\\xa7\\xf1\\xdf\\xd2\\x8d\\x05\\xec\\xf3\\xa7\\x7e\\xee\\xfb\\x00\\x64\\x33\\x03\\x0b\\x29\\xe8\\x35\\x2e\\x26\\xee\\x19\\xe2\\x7f\\xd3\\xde\\xb0\\xb3\\x53\\x71\\x97\\x04\\x80\\x18\\x30\\xcb\\xc4\\x9f\\x30\\xc7\\xa2\\xa2\\xe8\\x76\\xb9\\x78\\xb7\\x68\\xf3\\x35\\xa4\\x6d\\x4e\\x3e\\x9c\\xeb\\x32\\x35\\x20\\xb5\\xeb\\xdb\\x38\\x9a\\x5a\\x5f\\xbe\\x40\\xd1\\x90\\xda\\x8c\\x20\\xdb\\x58\\xca\\x3d\\x73\\xf3\\x9d\\x0a\\xfe\\xfc\\xdf\\xfa\\x0d\\x3c\\x09\\x0f\\x64\\xeb\\x3a\\x2a\\xff\\x1e\\xed\\xea\\x7d\\xd9\\x62\\x74\\xc9\\x93\\x87\\x4a\\xbe\\x3c\\x99\\xa5\\x6c\\xfa\\xe3\\x54\\xf7\\xed\\x44\\xf8\\x63\\xda\\x7d\\xfb\\xf3\\x40\\xe7\\x42\\xe2\\x97\\x92\\x75\\x90\\x40\\x08\\x8c\\x48\\x75\\x04\\x92\\x83\\x38\\x67\\x01\\xb3\\xd9\\x23\\xa1\\xa2\\x30\\xe0\\x1d\\x0e\\xde\\xc6\\xc8\\x36\\x79\\x42\\x5a\\xb4\\xd9\\x94\\xf1\\x69\\x1b\\xcb\\x7b\\x26\\xa4\\x79\\x12\\x9d\\xf1\\x6e\\x5d\\x93\\xe7\\x2e\\xc8\\xc8\\x42\\x38\\xdf\\x68\\x8b\\x2e\\x20\\x25\\xa4\\xbc\\xda\\x89\\x64\\x8d\\x04\\xab\\xeb\\x24\\xbd\\x6e\\x82\\xbb\\xe4\\x95\\x81\\xdf\\xce\\xc2\\xcf\\xe2\\x7b\\x68\\xd4\\xbe\\x6f\\x13\\xdc\\x7b\\x4e\\xcb\\x3d\\x7d\\x6a\\x7b\\xf5\\xd9\\x77\\xf0\\x08\\x91\\x6b\\xe0\\xe9\\x9d\\x1d\\x7b\\xc2\\xeb\\x48\\xc4\\x4e\\x62\\xf6\\x11\\xc3\\x4f\\xbe\\xc1\\xcc\\x77\\xa0\\x7d\\x62\\xcb\\x4f\\xbf\\xe2\\x16\\x75\\xce\\xc9\\x99\\xbb\\x88\\xcc\\x39\\x95\\xfd\\x9c\\x54\\x89\\x15\\x00\\x4f\\x80\\x17\\x1d\\xbc\\xc7\\x41\\x64\\xb7\\x5a\\x91\\x59\\x0c\\xda\\xa4\\x46\\x32\\xe3\\x66\\x45\\x65\\xc4\\x72\\x15\\xe6\\xcc\\xb4\\xa4\\x70\\x1b\\xbf\\x88\\x78\\x45\\x54\\x39\\xe4\\xc4\\x4d\\x48\\x89\\x9c\\xc4\\x5e\\xb4\\x37\\xb5\\xf3\\xe2\\x3f\\x49\\x34\\xa9\\x40\\x66\\xcf\\x4d\\xf0\\xe2\\x61\\x99\\xcd\\xf8\\xd1\\xaa\\x0e\\xf1\\x0e\\x4b\\xe6\\xcd\\xeb\\xdf\\xa1\\x12\\x96\\x43\\x33\\x89\\x86\\xca\\xc6\\x8c\\x39\\x65\\xe6\\xbc\\x99\\xbe\\x36\\x66\\xbf\\xe5\\xd9\\x3d\\x3b\\x77\\x03\\x23\\x26\\xe7\\x32\\x2a\\x1e\\x75\\x11\\xd1\\x12\\x09\\x46\\x10\\xe4\\xa0\\xc7\\x23\\x2b\\x0e\\x87\\x1c\\x8d\\x70\\x9c\\x6c\\x09\\xba\\xc7\\xa7\\x83\\x41\\x8b\\xec\\x0a\\x00\\x0b\\xa0\\x30\\x35\\x06\\xde\\x5a\\x3b\\x3b\\x3d\\x57\\xbc\\x94\\x8b\\xcb\\x29\\x57\\xbe\\x8e\\x33\\xc1\\xe9\\xb9\\x54\\x78\\xbe\\x1e\\x98\\x3f\\x94\\x81\\xd2\\xa2\\xe3\\x1b\\x28\\xd8\\x04\\xba\\x10\\x9f\\xa2\\x28\\x13\\x57\\x2f\\xcb\\x85\\xe6\\xdf\\x1e\\x59\\xf9\\xcf\\xab\\xb0\\x93\\x7d\\xf2\\xfb\\x4f\\x71\\xdd\\x02\\x4d\\x5e\\xad\\xdf\\xf1\\x08\\x91\\xb6\\x0c\\x8c\\x4a\\x55\\xfa\\x8b\\x89\\x0b\\x14\\x01\\xc4\\xcb\\x44\\x1d\\xca\\x05\\x21\\x14\\xf0\\xfb\\x51\\x48\\x74\\x37\\xa6\\x45\\x2f\\x79\\x85\\xac\\xc1\\x10\\x89\\x8f\\x43\\x4e\\x54\\x5a\\x38\\xcd\\x39\\x25\\x77\\x66\\x58\\x5c\\x48\\xf6\\xa5\\x62\\xfa\\xaa\\x06\\x35\\x0c\\xdb\\xe1\\xfc\\xba\\xea\\xc9\\x72\\xda\\x06\\xf9\\xf4\\x7d\\x5d\\xae\\x56\\x88\\x7d\\x5d\\xae\\x27\\x28\\x49\\x7c\\x3c\\x77\\xa6\\xce\\xfb\\x35\\xe5\\x7c\\xda\\x0c\\xc9\\x5f\\xb0\\xf2\\x1e\\x1b\\x77\\x98\\x13\\x6e\\xf8\\x79\\x1f\\xfe\\x8c\\x9c\\xd1\\x3c\\xee\\xaf\\x95\\x78\\x27\\xd7\\x53\\xc5\\xb2\\x52\\x88\\xde\\x29\\x73\\x40\\xab\\x87\\xe8\\x17\\xc4\\x3a\\xad\\x14\\x56\\xd3\\xca\\xfa\\x7d\\x80\\x15\\xc8\\x32\\x90\\x58\\x91\\xf3\\x30\\xe3\\xd3\\xc4\\x4f\\xe0\\x10\\xab\\x7b\\x49\\x79\\x8e\\xf5\\x1b\\x6d\\x16\\x42\\x8f\\x9b\\x89\\xd1\\x33\\x40\\x3e\\x68\\x92\\xdb\\x9c\\x4d\\x69\\xb7\\xe0\\x9d\\x18\\xab\\x38\\x1f\\x75\\x2d\\xd0\\xb5\\x79\\x0d\\x5c\\x84\\x6f\\xc3\\x2d\\x24\\xb8\\x8a\\x2e\\xbc\\x0e\\xef\\x64\\xb6\\xe1\\x7b\\xb8\\x25\\xcf\\x7c\\xb8\\x7f\\xdd\\x07\\xf1\\x8c\\x97\\x9d\\xbe\\x1f\\x4f\\xd0\\xf1\\x19\\xa9\\x5e\\x09\\x92\\xf3\\x59\\x41\\xec\\x61\\x3c\\x06\\x9c\\x92\\x04\\x4a\\x4a\\x4b\\xad\\x24\\xfa\\xab\\xec\\xe8\\x74\\x7a\\x4a\\x4a\\xca\\x3d\\x1e\\xfb\\xc4\\xb4\\x87\\x2d\\x4f\\x8c\\x4f\\x97\\xff\\x55\\x4e\\x30\\x6f\\xbf\\xb8\\xbb\\xf6\\x61\\xeb\\xfa\\x90\\x98\\x35\\x46\\x71\\x17\\xba\\x15\\xc7\\x68\\x3a\\xde\\x81\\x44\\x48\\x31\\xd8\\x28\\x8c\\x3c\\xc7\\xc4\\xa2\\xc5\\x8d\\x15\\xe7\\x4e\\x99\\xbb\\xb4\\xdf\\x13\\xb3\\xeb\\xf1\\xaf\\xd7\\xde\\xe8\\xc5\\x5f\\x96\\x40\\x2b\\xd9\\xda\\x22\\x0c\\x96\\x0d\\xbe\\xf8\\xba\\x3b\\xd7\\x5c\\x3d\\x17\\xd6\\xde\\xb1\\x39\\x0c\\xc3\\xe7\\x65\\x3e\\xc3\\x1f\\xe2\\xc3\\xf0\\xce\\xe6\\xf9\\xa3\\x7b\\x75\\x28\\x12\\x8b\\xbb\\x0c\\xaa\\xdb\\x7c\\xc1\\xd8\\xd2\\xdd\\x8f\\xbe\\xf9\\xea\\xf0\\x2b\\x47\\xf5\\xee\\x94\\x88\\x85\\x2e\\x1c\\xbc\\x7b\\xf2\\xec\\x2a\\xbc\\xe8\\xa8\\x16\\xe3\\xb0\\x15\\xc4\\x16\\x95\\x82\\x54\\x2a\\x16\\x8b\\xc7\\x05\\x8f\\xdd\\xe1\\x08\\x12\\xb5\\x59\\x5e\\x26\\xd8\\x63\\x41\\x36\\x29\\x25\\x8b\\x9a\\xd2\\x49\\xaf\\x64\\x69\\x4a\\x4b\\xce\\x7c\\x3c\\xdc\\xfc\\xa1\\x18\\x23\\x81\\x49\\x03\\xa8\\x24\\x8b\\xf8\\x99\\x8f\\x26\\xa7\\x82\\x45\\x17\\x8f\\x4c\\x3f\\x01\\xc1\\xd8\\xa1\\x93\\x27\\x4f\\xb9\\xd0\\xf6\\x67\\xf8\\xc7\\xd7\\x3e\\x3c\\x71\\xfe\\xd6\\x2f\\x2f\\x1d\\x7d\\xf9\\x9c\\xc5\\x97\\xc8\\x7f\\x94\\xfc\\xf4\\xc5\\xe7\\xad\\x00\\xf6\\x9a\\x7c\\xfd\\xc8\\x5a\\x57\\xf7\\xaa\\x5e\\x35\\xfd\\xce\\x0a\\xac\\xbe\\xeb\\xc9\\xfb\\x27\\x2c\\x6d\\xac\\x94\\x7b\\x77\\x3d\\xab\\x67\\xdf\\xe1\\xc9\\x75\\xb7\\x68\\x7d\\xb5\\xe7\\x13\\x5f\\x6a\\x0d\\xcd\\xb1\\x21\\x0d\\x23\\xd9\\x87\\x47\\xa3\\xee\\xdc\\xfb\\xe4\\x3c\\xc7\\xc1\\x90\\x94\\x23\\x2c\\xd9\\x05\\x41\\x52\\x88\\x3a\\x2a\\x4e\\xa0\\xe8\\x2e\\x18\\xd9\\x99\\x46\\xc4\\x1d\\x76\\x05\\xc8\\x3f\\x53\\xf6\\xb4\\xcb\\x29\\xda\\xc8\\x39\\x31\\x93\\x57\\xd0\\x50\\x9d\\xda\\xf1\\x68\\x93\\x07\\x57\\xaf\\xa7\\xa8\\xcd\\xa7\\x43\\x90\\xf9\\x44\\xd4\\x0f\\x69\\x70\\x93\\x0f\\x91\\xef\\xbb\\x76\\xfa\\x63\\x8f\\xcd\\x73\\x0f\\x73\\x0d\\xb8\\x02\\x3f\\xdf\\xb1\\x6b\\xfa\\x92\\xf9\\x35\\xc5\\xc5\\xd5\\xd5\\xc5\\xc5\\x35\\x1c\\x7f\\xe1\\x8c\\x57\\xf7\\x9e\\x9e\\xb6\\x5a\\xe0\\x0e\\x4b\\xf0\\x1c\\x76\\x9b\\x77\\xd6\\xd8\\xb2\\xaa\\xaa\\x32\\xf2\\xd2\\x6a\\x11\\xb4\\x5a\\x15\\x72\\xa6\\x47\\xa6\\x3a\\x20\\x45\\x11\\xc3\\x26\\x0b\\x6f\\x97\\x24\\x5e\\xe4\\xa3\\x11\\xaf\\x17\\x59\\xcd\\x4e\\x93\\xd9\\xd4\\x90\\xb6\\x9b\\x45\\x8d\\x41\\x30\\x00\\x1a\\xd3\\x81\\xbc\\x6c\\x91\\xe6\\x6e\\x39\\xdf\\x68\\xe3\\xff\\x19\\x01\\x4e\\x75\\x6f\\x9a\\x31\\x6a\\xcb\\x7f\\x66\\xf8\\x2f\\xb0\\x78\\xee\\xbc\\x25\\x39\\x1a\\xb4\\xbb\\xef\\x1b\\x3a\\x76\\xf0\\x47\\xab\\x7b\\xa1\\x1b\\x97\\xe7\\xb1\\xa1\\xe1\\x37\\xd7\\x3c\\xe8\\x79\\x4b\\xcc\\xd5\\x50\\xd3\\x7c\\x91\\x13\\xd4\\xa4\\x7c\\x44\\x63\\x8a\\x36\\x5a\\x01\\xea\\x92\\x38\\xce\\x22\\xba\\xec\\x67\\xaa\\xc9\\x1c\\xae\\x7d\\x5b\\xe5\\x28\\xab\\x35\\xf1\\xaa\\x3a\\x7c\\x6c\\x1d\\x5a\\x8b\\xbb\\xe3\\x0f\\xd9\\xfb\\x27\\xa8\\xea\\xef\\xda\\x75\\xc7\\x4e\\x5f\\xc4\\xde\\x6f\\xd4\\x6a\\x6c\\x20\\x3a\\x2f\\x0a\\x1a\\x52\\xa5\\x45\\x0e\\x85\\x13\\x90\\x4c\\xf4\\x9c\\x82\\xe2\\xb1\\xa2\\x22\\x40\\xc2\\xed\\xc6\\xb4\\x95\\xf7\\xa9\\x55\\x1a\\x32\\x2f\\x82\\x50\\x1e\\x1b\\x9c\\x36\\x31\\xaf\\x9f\\xa9\\xa8\\xb3\\x25\\x19\\xb5\\x79\\xa4\\xbb\\x3a\\x7f\\x43\\x5b\\x8a\\xb8\\xe5\\xd9\\xe8\\xa1\\x80\\x29\\x6e\\x81\\x11\\x3c\\xa4\\xb2\\x8c\\x71\\xd0\\xa8\\x4f\\x22\\x1b\\xae\\x6b\\x2a\\x88\\x2c\\x1c\\xe0\\x9c\\x4e\\xb7\\xcb\\x6e\\x22\\xbe\\x12\\x09\\xb7\\xec\\xc4\\x35\\x81\\x64\\x7a\\xa0\\x31\\x3d\\x9a\\x22\\x36\\xa8\\xea\\x34\\xba\\xd3\\x98\\xf1\\x70\\xd5\\x1f\\x56\\xd8\\x9d\\xb8\\x7b\\xb7\\x54\\x70\\xc0\\xd8\\x21\\x4f\\x3d\\xc1\\xde\\x7f\\xec\\xd8\\xe9\\xfa\\x86\\x61\\xf6\\x8f\\x3d\\xbb\\xdf\\x62\\xff\\x46\\xbe\\xeb\\x1a\\xe2\\xb3\\x6d\\x24\\xcf\\x0b\\x92\\xdd\\xee\\x76\\x49\\xb2\\xec\\xb0\\xfa\\x79\\xe4\\x47\\xe1\\x90\\xcb\\x45\\xc2\\x76\\x1f\\x75\\xd8\\x1c\\x69\\x87\\x03\\xb8\\x6d\\x2c\\x02\\xa6\\x5c\\x56\\x4a\\x75\\xcd\\xcf\\x74\\xd5\\xb4\\x69\\x89\\x02\\x35\\xf0\\x8d\\x69\\x3e\\x3a\\x39\\xcf\\xc4\\xcd\\x51\\x81\\x7b\\x9d\\x80\\xd9\\x8f\\x3f\\xc7\\x07\\x89\\xce\\xec\\x72\\xff\\x23\\xb0\\x74\\xfa\\x95\\xc4\\xbb\\xd9\\xb2\\x1b\\xbf\\xe8\\x81\\x3e\\xe2\\x72\\xce\\x6e\\xd9\\x84\\xb7\\x3c\\xf7\\x38\\x6a\\xc4\\xc0\\x71\\xfd\\x74\\xc8\\xbe\\xbf\\xfb\\x93\\xf0\\x51\\xfc\\x0b\\x3e\\x0a\\x74\\x2e\\x3d\\x6e\\x3f\\xdb\\x83\\x9c\\xcc\\xb1\\xa9\\x80\\xdd\\xe6\\x74\\x9a\\x3d\\x3e\\x9e\\xf7\\xc0\\x98\\x27\\x56\\x9c\\xb0\\xdb\\xe3\\xc1\\x50\\xc8\\x17\\x37\\xbb\\x69\\xe4\\xe7\\x4c\\x9b\\xcd\\x3e\\x87\\x10\\x17\\x7d\\x72\\x11\\x71\\x84\\x8b\\x8c\\xeb\\xda\\x7c\\xa9\\x6b\\xda\\x3a\\xe8\\x46\\x70\\x61\\xf0\\xea\\xe5\\xc9\\xed\\xf1\\xd2\\xfc\\x6e\\x69\\x82\\xcf\\xe7\\xd8\\x9b\\xb1\\x98\\x08\\xff\\xe2\\x1e\\x0e\\xe1\\x5f\\x89\\x8b\\xcc\\x4d\\xff\\x39\\x9f\\x6c\\x2f\\xf3\\x87\\xed\\xa6\\x19\\x64\\x04\\xaf\\x1f\\x0d\\xec\\x1d\\x3d\\xb3\\xa3\\xff\\xd6\\x4e\\x27\\xfe\\xb1\\x5f\\xe3\\xdd\\xbb\\xb4\\xf5\\xdf\\xc4\\x79\\xbb\\x0e\\x24\\xc1\\xa0\\x54\\x71\\xc4\\x2f\\xd8\\xfd\\x76\\x36\\x14\\xb7\\x38\\x59\\x6f\\x3c\\xce\\x96\\x96\\x44\\x84\\x30\\xb2\\x58\\x2d\\xe3\\xd3\\x01\\x2b\\xa2\\xc5\\xae\\xd9\\x19\\x27\\x2b\\xae\\xd4\\xe4\\x27\\xf2\\x5d\\x06\\x9c\\x2a\\xa7\\x41\\x85\\xd7\\xf1\\x09\\x9a\\xfa\\x31\\x74\\x25\\x45\\x7e\\xa2\\x76\\x2b\\x5e\\xaa\\x21\\x8c\\xa1\\xda\\xf7\\xf0\\xbe\\xcd\\x87\\x3e\\xb9\\xae\\x17\\xfe\\x0f\\xb3\\x6a\\xe3\\x23\\xef\\xef\\xda\\x75\\xf8\\xa1\\x8d\\xcc\\x32\\xfc\\x6b\\x8f\\xeb\\x3e\\x3c\\xb4\\x19\\xef\\xf3\\xde\\x01\\xe5\\x17\\xf6\\xc3\\xb2\\xa9\\xd6\\x63\\x78\\x7f\\xe3\\x17\\x0f\\xbe\\xf9\\xf9\\xe7\\x6f\\x6e\\xf8\\xaa\\x11\\xd6\\x1e\\xb3\\x4e\\xc5\\x1f\\xee\\x7f\\x1e\\x7f\\x7b\\x27\\xd0\\xf6\\x0c\\x37\\x80\\x5b\\x07\\x02\\xa0\\x5b\\x2a\\x64\\xe6\\x65\\x27\\x09\\x48\\xf9\\x50\\x50\\x40\\x3e\\xe2\\x53\\xfa\\x88\\xc4\\x3e\\x16\\xd9\\xc6\\xa7\\x91\\x61\\xb9\\xda\\x00\\x25\\x68\\xf8\\x16\\xda\\x16\\x51\\xe5\\x74\\xa9\\x25\\xe7\\x2a\\x29\\x90\\x97\\x1b\\x80\\xb7\\x13\\xf7\\xfd\\x67\\xfc\\x19\\x2c\\xbd\\x61\\xd9\\x8a\\x07\\x86\\x8e\\xbe\\xa0\\x62\\xc0\\xf9\\xb7\\x3c\\xf9\\x1c\\xda\\x85\\xa3\\x38\\xbb\\x4b\\x1e\\x7d\\xfa\\x4e\\xd8\\x0b\\xb2\\xcb\\x97\\x92\\x9d\\xfc\\x8b\\xce\\xa5\\xcd\\xbd\\x47\\x6c\\xaa\\x8b\\xc6\\xdc\\x2e\\xc9\\x21\\x4a\\x22\\x8f\\x3c\\x6e\\xb3\\x59\\x22\\xfa\\x9b\\xf8\\xed\\xac\\xc4\\x8a\\x3a\\xd7\\x47\\xee\\x4e\\xc7\\xc8\\x38\\x41\\xb7\\x7a\\x77\\x23\\xa8\\x46\\x07\\xaa\\x6d\\x36\\xcc\\x13\\x3f\\x77\\x5f\\x34\\xea\\xfe\\xd5\\x97\\x0f\\xec\\x91\\xac\\x09\\xe2\\x83\\x24\\xce\\xb5\\xc0\\x5a\\x54\\x09\\x9f\\x98\\x3c\\x76\\xc9\\x0b\\x7d\\xca\\x3a\\x66\\x5a\\x32\\x7b\\x99\\x7e\\xa8\\xaf\\xc6\\x97\\xc6\\xdd\\xae\\xea\\x97\\xee\\xa9\\x60\\x50\\x66\\x18\\xc5\\x2b\\x7a\\xe3\\xb1\\x60\\xd0\\xe6\\x55\\x99\\xd2\\xbc\\xa2\\xea\\xb2\\xea\\x0a\\xb7\\x8d\\x32\\xa9\\xd6\\x72\\xf3\\xd9\\xa7\\x53\\xf3\\xa6\\x45\\x85\\x7d\\x55\\x02\\x41\\x97\\x52\\x17\\x84\\x7d\\x20\\x7b\\xff\\xb5\\xf3\\xc7\\x77\\xef\\xd6\\xb1\\xc6\\x89\\x2f\\x1e\\xb6\\xf7\\x4e\\xca\\xe2\\x35\\x66\\x52\\xd2\\xa5\\xb2\\x78\\xd9\\x86\\x5b\\xcd\\x4d\\xef\\x77\\xbc\\x83\\x3b\\x32\\xe4\\xf5\\xe2\\x9e\\x55\\xa7\\x07\\x1e\\xd8\\x68\\x7f\\xd3\\x34\\x62\\x72\\x67\\xca\\xe5\\x15\\xc7\\x99\\xf2\\x24\\x4c\\x32\\xb7\\xdd\\xbc\\x88\\xce\\x53\\x57\\x5a\\xe7\\xa1\\xea\\x97\\xb3\\x53\\xc5\\x66\\x86\\x28\\x3f\\x51\\x44\\xbc\\x8d\\x75\\xbb\\x2c\\x12\\x90\\x26\\xa6\\x05\\x00\\x1c\\x2c\\x8b\\xc6\\xa7\\x59\\xe4\\xb0\\x8e\\x4f\\x3b\\x0a\\x13\\xf6\\x6d\\xaa\\xe6\\xd4\\x64\\x9d\\x41\\xe6\\xa5\\x62\\x75\\xd6\\xc2\\x58\\x57\\xf8\\x1b\\x74\\x64\\x9a\\xd1\\xef\\x74\\x09\\x71\\x1f\\xfc\\x2a\\x4a\\x9c\\xbe\\x03\\x36\\xe1\\x4d\\xa8\\x3f\\x1c\\x7d\\xfc\\x00\\x5e\\xf3\\x77\\x7c\\xe9\\xf1\\x43\\x6a\\x79\\x0f\\x91\\x27\\x05\\x00\\xda\\x47\\xce\\xb4\\xa4\\x7a\\xfb\\x0e\\x86\\x37\\xdb\\x00\\x72\\xe4\\x24\\x6a\\x36\\x24\\xa2\\x44\\x63\\x0e\\x6b\\x63\\xda\\x21\\xff\\xa5\\x44\\x59\\x63\\xab\\x72\\xb2\\xc8\\x42\\x8d\\x1c\\x13\\xa8\\x4c\\xee\\x44\\x0a\\x5e\\xf0\\x3a\\xb6\\xa3\\xf2\\xfd\\x1f\\xe2\\x07\\xf7\\x31\\x43\\x5a\\x16\\xfd\\xf3\\x28\\xb3\\xe0\\xf7\\xfd\\x6f\\x9d\\xdc\\x76\\xfa\\xc0\\x3e\\x08\\x89\\x1c\\x01\\x3c\\x9c\\x5d\\xaf\\xea\\xc1\\x01\\xa9\\x62\\x59\\x94\\x58\\xe4\\xf4\\x78\\x2c\\x3e\\x24\\xfa\\x88\\x2a\\xa4\\x7d\\x14\\x0e\\x79\\x62\\x9a\\x75\\xb0\\x0e\\xe0\\x72\\x49\\xe3\\xd3\\xae\\x6c\\x56\\x9b\\xe6\\x30\\xdb\\xe2\\x62\\x51\\x23\\x95\\xbb\\x9d\\xa5\\xac\\x5b\\xda\\x24\\x79\\x01\\x3d\\x86\\x4c\\xd3\\x07\\xf8\\xc4\\xb9\\x90\\xe9\\xb6\\x66\\xea\\xed\\x0f\\xec\\x7f\\xf3\\x3a\\xf8\\x50\\x66\\x38\\x1b\\xc0\\x25\\xbf\\x42\\x69\\x0d\\xfe\\x15\\x0f\\xdf\\xf9\\xb7\\x8b\\xaf\\x9f\\xfd\\xea\\xf3\\x4f\\x6c\\x3f\\x0e\\x1f\\x23\\xf3\\x55\\x69\\xc3\\x9f\\x9c\\x7c\\x09\\x7f\\xa3\\xe6\\x24\\xc0\\x60\\x22\\xe7\\x5b\\xaa\\x9c\\xfd\\x53\\xc5\\x36\\x93\\xc9\\x85\\x04\\x87\\xcf\\x4f\\xd6\\xca\\xcf\\x12\\x39\\xe5\\xf1\\x69\\x51\\x98\\x98\\xf6\\x89\\x3e\\x11\\x98\\x29\\x66\\xab\\xb9\\x5d\\x39\\xf3\\x2e\\x94\\x81\\xd4\\x95\\x52\\xc4\\x51\\xb3\\x91\\xbb\\x2a\\x50\\x2f\\x68\\x99\\xb5\\xf8\\x07\\xfc\\xe6\\x75\\xff\\x5e\\x8f\\x4b\\xd8\\x40\\x66\\x38\\x7c\\xe8\\xba\\xb7\\xde\\x7e\\xe0\\xf6\\xa9\\xb7\\xd6\\x42\\xe6\\x5c\\x7c\\x02\\x0f\\x87\\x03\\xa0\\xb2\\xb9\\x65\\xb5\\x00\\x0f\\x1f\\x38\\x8e\\xd3\\xc7\\xb7\\x3f\\xf1\\xfc\\xab\\x57\\x2c\\xbd\\xf8\\x6f\\x3b\\xb5\\x75\\x2d\\x23\\x72\\xc6\\xc9\\xba\\xfa\\xc1\\xb9\\xa9\\x12\\x97\\xc3\\xe1\\xb3\\xd8\\x3d\\x88\\xb5\\x78\\x24\\x96\\x0d\\x06\\x10\\x12\\xed\\xb2\\x2c\\x88\\x0e\\x97\\xe8\\x22\\xae\\x93\\x28\\x80\\x86\\xb4\\x10\\x6a\\x53\\x6d\\xd2\\x36\\xb2\\xd0\\x5c\\x11\\x1d\\x4e\\x18\\xd0\\xb4\\x70\\x9e\\xd4\\x4e\\xa6\\x7e\\xf4\\x95\\x16\\x28\\xfb\\x70\\xe6\\xe0\\xaf\\xf8\\xeb\\x4f\\xdf\\xc6\\xeb\\xd0\\xf2\\xcc\\x7e\\xd8\\x38\\xe5\\xf9\\x87\\x7f\\x1e\\x3f\\xcd\\xbe\\x73\\x1f\\xe4\\x3f\\x7b\\xf3\\x3f\\x1e\\x38\\xf7\\xb5\\xfd\\xf8\\xbe\\x3d\\xb7\\xad\\xc7\\xdf\\x6b\\x72\\xd6\\x11\\x39\\x45\\x22\\x67\\x07\\xe2\\x1b\\x94\\xc9\\x7e\\x6f\\xb1\\xe0\\xef\\x00\\x1c\\xe1\\x00\\x89\\x20\\xc2\\x80\\xed\\x58\\x61\\x89\\x77\\x88\\x07\\xdc\\x6e\\xe2\\x55\\x91\\x80\\x48\\x11\\xd5\\x40\\x28\\x54\\xb8\\x03\\xeb\\xf3\\x79\\x1c\\xf2\\x38\\x63\\xa9\\x9c\\xda\\x4d\\x9b\\x0a\\xbd\\xd7\\x09\\x66\\xf7\\x01\\xcd\\x6d\\xe7\\xfb\\xb4\\xac\\x18\\xc7\\x5f\\x7d\\x78\\xdd\\x81\\x2b\\x27\\x6c\\x7f\\x71\\xc6\\xd4\\xea\\x69\\x9b\\xa6\\xc0\\xaa\\xcc\\x37\\x68\\x39\\xde\\x74\\xf0\\xb9\\xf4\\x33\\xef\\xcd\\xbd\\x78\\xc6\\xe4\\x49\\x57\\x5b\\x2f\\xba\\x6f\\xfb\\xd0\\x35\\x93\\x47\\x2f\\x6e\\xec\\xe0\\xeb\\xdd\\xb1\\xb2\\xca\\x73\\x2b\\x94\\xf6\\x6f\\xc4\\x1f\\x72\\xcb\\x6f\\x6a\\x9a\\x37\\xb2\\x3a\\xdc\\xbb\\xbc\\x7b\\xbf\\x0b\\xc6\\xa8\\xf8\\xef\\xe4\\x8c\\xc7\\x88\\x2e\\x8c\\x50\\x96\\x0f\\x93\\xd9\\xac\\x04\\x7d\\x2e\\x44\\x1c\\x54\\x11\\xc5\\xa2\\x26\\x53\\xc0\\xe6\\x89\\x80\\xc8\\xc4\\x34\\xd1\\x8a\\x01\\x9b\\x8d\\xa3\\xf1\\x7f\\x40\\x21\\xc6\\xa6\\xdd\\x93\\x9e\\x2b\\xf7\\xc9\\x8e\\xcb\\x1d\\xeb\\x46\\xd9\\x06\\x74\\x80\\x37\\x4a\\x37\\x40\\xcf\\x19\\xaf\\x9e\\x34\\x0a\\xfd\\x7c\\x1e\\xfc\\xf3\\x81\\x17\\xce\\x1f\\xef\\xc0\\x5f\\xfb\\x7e\\x3b\\x7c\\xec\\xd7\\x29\\x33\\xf0\\xfb\\x97\\xec\\xee\\xc4\\xdc\\xd2\\x52\\xd2\\x61\\xd5\\x5c\\xfc\\x35\\xd3\\xb2\\x7a\\xce\\xae\\x89\\x13\\x9d\\xaf\\xbf\\x7b\\x70\\xf7\\x4d\\xd7\\xbf\\x3c\\x6a\\xdd\\xe5\\xc7\\x5f\\xbb\\x60\\xfb\\x74\\x2a\\x77\\x6f\\x12\\x47\\xd4\\x92\\xbd\\x1d\\xa0\\x6b\\xc1\\x78\\x4c\\xac\\x2f\\x20\\x92\\x9d\\x63\\x42\\xa1\\x20\\x89\\xe3\\x00\\xeb\\x23\\x5a\\x89\\xb5\\x02\\x14\\x00\\x01\\x62\\x15\\x91\\x7a\\x53\\xe6\\xfe\\xaf\\x35\\x4a\\xd9\\xab\\x5a\\x5a\\x1e\\x53\\x43\\xa3\\x22\\xad\\x6e\\xc2\\xf0\\xba\\x63\\x52\\x62\\x20\\x3a\\x92\\xf9\\xbe\\x18\\x42\\x68\\xc2\\x27\\x31\\xd1\\xf3\\xa7\\xfd\\x30\\x50\\xb6\\x63\\xfe\\xb4\\xf9\\x37\\xe3\\xaf\\xb6\\x72\\x4b\\x8e\\xfd\\xf0\\xaf\\x2f\\xfe\\xc4\\xad\\x6f\\xef\\xb4\\x6f\\x5d\\xbc\\x6c\\xd1\\x02\\xf8\\x21\\x91\\x53\\x6a\\xfd\\x0e\\x6d\\x53\\x31\\xb4\\xc9\\xfc\\x32\\x42\\xc0\\xce\\xfa\\x3c\\x82\\xc3\\x6e\\xf7\\x09\\x44\\x52\\x87\\xc3\\x42\\x24\\x6d\\x22\\x92\\x5a\\x54\\x49\\x89\\xfe\\x17\\x2d\\x52\\x5e\\x49\\xca\\x7f\\xad\\xa6\\xca\\xc9\\x2a\\x69\\x34\\x08\\x59\\x25\\x42\\x65\\x2d\\x42\\x23\\xf1\\x59\\xd5\\xf0\\x9d\\x1f\\x3f\\x79\\xf1\\xd7\\x12\\x28\\xba\\xa6\\x8c\\x49\\x9f\\x3f\\x7d\\x01\\xc6\\x0f\\xb0\\x3d\\xf6\\xef\\xc2\\x77\\x3f\\xfe\\xe2\\x53\\x0f\\xb9\\x46\\x0c\\x1b\\x3e\\xea\\xc2\\x26\\x38\\x9b\\xc8\\x49\\xfb\\x87\\x47\\x91\\xb8\\xa0\\x84\\x46\\xc5\\x2e\\x50\\x56\\x6a\\x32\\x47\\x5c\\x7e\\x9f\\x0f\\xf0\\x66\\x88\\xcc\\x20\\x62\\xf6\\xfb\\x65\\x96\\x31\\x43\\x06\\x36\\xa4\\x79\\x46\\x94\\x43\\x4d\\x69\\xb9\\xd0\\xf1\\x55\\x23\\x82\\x7a\\xda\\x0b\\x58\\x93\\x9f\\x2f\\xa7\\x16\\xcb\\x9d\\xab\\x42\\x36\\xc8\\x9a\\xce\\x24\\x76\\xde\\xac\\xc5\\x05\\xa5\\x4d\\xab\\xb7\\xae\\x6b\\xcc\\x31\\x3a\\xcf\\xb9\\x7c\\xf4\\x25\\x27\\x36\\xa7\\xd1\\x42\\x1a\\x1f\\x0c\\x2b\\xad\\x4e\\x44\\xcb\\x9a\\xaf\\x1d\\xaf\\xb3\\x39\\xf7\\x3c\\xab\\x6b\\x6f\\xb9\\xd3\\xe8\\x5b\\xa7\\x67\\xf3\\x15\\x37\\xb3\\x4d\\x24\\x56\\xf0\\x53\\x86\\x05\\x41\\x61\\x59\\x8e\\xec\\x5c\\x2e\\x18\\xb0\\x98\\xcd\\xbc\\x42\\xfc\\x75\\x2e\\x68\\x77\\x53\\x4c\\x96\\xbf\\x48\\x75\\x6a\\xee\\x06\\x47\\x23\\x05\\xaf\\x46\\x28\\x5f\\x04\\x39\\x2d\\xf7\\xd9\\xcd\\xc5\\xde\\x8c\\x1f\\xc6\\x57\\xe3\\xe3\\xd0\\x2c\\x70\\x6c\\xcd\\xe3\\xb3\\x97\\xee\\x1c\\x8f\\xbf\\x3c\\x3a\\x6b\\xe1\\xbf\\x3f\\x66\\xee\\xc3\\x7f\\xc7\\x13\\xef\\x7f\\x97\\xfb\\xaa\\x76\\xe6\\xd8\\x09\\x33\\xf6\\xdd\\x0f\\xc5\\xa7\\x6f\\xce\\x3c\\x35\\x5f\\x6d\\xb7\\x20\\x73\\xfb\\x08\\xf9\\xe3\\x1e\\x95\\xf7\\xd1\\xf3\\xbc\\x4e\\xd7\\x4f\\x0e\\xd0\\x81\\x5c\\xc7\\x78\\x8d\\xf4\\xc8\\x6f\\x2a\\xf9\\x3e\\x43\\x51\\x2f\\xd1\\x30\\xf5\\xbd\\x02\\x88\\x50\\x56\\x04\\x56\\x10\\x80\\xd9\\xc4\\x11\\x67\\x9e\\x7c\\xa6\\xfa\\x40\\x75\\x01\\xb5\\xb7\\xf6\\xdf\\xd6\\x9f\\x5e\\xfe\\x89\\x7e\\xdc\\xe0\\xef\\x6f\\x26\\x67\\x7a\\x2c\\xf9\\x0e\\x37\\x3d\\x1b\\xac\\xc9\\x66\\x83\\x92\\x5d\\x04\\x24\\x3e\\xb0\\x73\\x88\\x1c\\x41\\x37\\x70\\x13\\xf3\\x04\\xac\\xa2\\x53\\x9c\\x98\\x36\\x39\\xc9\\x74\\x39\\x19\\x5a\\xbf\\xf7\\x86\\xd6\\x77\\x7a\\x06\\xad\\x59\\x9e\\xb3\\xee\\xd6\\x18\\x4c\\xb4\\x7a\\x37\\x8d\\xd1\\x24\\xd6\\x0c\\x57\\xfd\\x06\\x57\\xe1\\xb9\\xf4\\xf5\\x9b\\xf6\\x17\\xdb\\x13\\xde\\x86\\x67\\x1e\\xc2\\xbf\\x1f\\xc2\\xb3\\xe1\\x9a\\x43\\x2a\\x3c\\x1d\\x89\\x9f\\x69\\xb1\\xcd\\x71\\xb5\\x46\\x85\\x35\\xee\\xab\\x2c\\x33\\x85\\x0a\\xa7\\x8a\\xeb\\xe3\\x2c\\x05\\xbd\\xb9\\x7d\\xe4\\x6f\\xc1\\x0c\\x04\\xd1\\xf8\\xbd\\x79\\x11\\xf7\\x67\\xf6\\xf7\\xe3\\xb4\\xdf\\x33\\x2b\\xf9\\x65\\x46\\x5f\\x9d\\xe9\\x1e\\xf5\\xf7\\x83\\xb4\\xdf\\xb3\\x5f\\x69\\xbf\\xe7\\xee\\x01\\x7a\\xef\\xbd\\xe9\\x6d\\xa3\\x57\\xd8\\x29\\x80\\x4a\\xfa\\x7b\\x0d\\xbb\\x85\\xbf\\x59\\xed\\xab\\xd0\\x7e\\x3e\\x4c\\xff\\x79\\xae\\xf7\\xbe\\x41\\xfb\\x39\\xed\\xbd\\xd7\\xbe\\xc7\\xbc\\x55\\xfd\\x9e\\x2e\\xda\\xf7\\x50\\x39\\xb4\\xef\\x11\\x66\\xa9\\xef\\xd7\\x7e\\x3e\\x4c\\xff\\xf9\\x8d\\xd9\\xef\\x6f\\x2a\\xf8\\xfe\\x36\\x78\\xf1\\x66\\x00\\x6f\\x03\\x79\\x78\\xf1\\x6e\\xd6\\xed\\x6f\\x07\\xff\\xea\\xcf\\x2c\\x3e\\xd5\\x4a\\xf0\\x16\\xc8\\xe1\\x95\\xd6\\xed\\x6a\\xfd\\x78\\x47\\x5d\\x6f\\x14\\x2a\\xe8\\x1d\\x6d\\x83\\xbb\\x6d\\x06\\x79\\xb8\\xdb\\x02\\x45\\x4e\\x13\\xec\\x30\\x0f\\x8b\\xa9\\x95\\xec\\x37\\x66\\x4d\\x1e\\x26\\xe3\\xca\\xad\\x79\\x98\\x8c\\x02\\xcc\\x7f\\x77\\x7b\\x18\\xd1\\x64\\x0c\\x7a\\xcf\\x8f\\x06\\x12\\x1d\\x02\\xa1\\x78\\x3b\\xbd\\x8c\\x39\\x5c\\xc0\\x95\\x10\\xea\\xef\\x57\\x4b\\xcf\\xfd\\xc0\\x1f\\x29\\xe8\\xb9\\x69\\x83\\x07\\x4c\\xbe\\x7f\\x15\\xc8\\xe1\\x01\\xcb\\xb4\\xb6\\x5f\\x0e\\xe6\\xba\\xa2\\xda\\xc5\\x8b\\x5b\\x69\\xf4\\x1c\\xa8\\x78\\x71\\x81\\x5d\\xad\\xbf\\xef\\x08\\x44\\xbd\\xed\\xf5\\x03\\xe4\\x9e\\x53\\xc3\\x7c\\x4c\\x3e\\x13\\x4b\\x59\\x11\\x2d\\x8a\\xa7\\x0d\\x8d\\x14\\x68\\xee\\xd4\\x8e\\x70\\x48\\x7b\\x98\\x5e\\xb6\\x5d\\x9b\\x7d\\x1e\\xbf\\x46\\x7b\\x1e\\xd9\\x77\\xd3\\xa0\\x4f\\xef\\x43\\xf0\\xc2\\xae\\x20\\x48\\xeb\\xea\\x83\\xc4\\x73\\x31\\x79\\x93\\x5a\\x81\\xbd\\xfa\\x49\\x58\\xa1\\x41\\x54\\xb6\\xf3\\xec\\xae\\x0c\\xc5\\xed\\x2a\\x4a\\x49\\xf4\\xa1\\x61\\xf5\\xd9\\x45\\xa6\\x22\\x77\\xe1\\x83\\xb3\\xcf\\x3d\\xd5\\xf6\\xb9\\x26\\x0c\\x2f\\x6f\\xfd\\xea\\x7f\\xf1\\xdc\\x5a\\xe6\\xcb\\xec\\x73\\xf5\\x31\\x47\\x41\\x34\\xd4\\xfe\\x73\\x55\\x4e\\x81\\x82\\xe7\\x92\\xb5\\xb1\\xff\\xaf\\x9e\\xdb\\x8d\\xf9\\x57\\x76\\xae\\x23\\x11\\xf5\\xb9\\x0a\\xdd\\x9a\\x4a\\xd1\\x5f\\xcd\\xf5\\x99\\x63\\xce\\x80\\x97\\xff\\xe7\\x67\\x6b\\xf7\\x32\\x14\\x77\\x89\\x28\\x4f\\x3f\\xb5\\xc0\\x4e\\x49\\x52\\x2c\\x56\\xaf\\x17\\x21\\x4b\\x30\\xe0\\x74\\xf2\\xc0\\xa2\\x34\\xa7\\x45\\x0b\\x14\\x91\\xc5\\xc2\\x93\\xe0\\xa1\\x29\\x0d\\x9c\\xbc\\xbb\\x39\\x77\\x3f\\x93\\xad\\xff\\x38\\x33\\xad\\xa3\\x2a\\x60\\x58\\x4d\\xaf\\x0a\\x12\\x71\\x46\\xaa\\x8d\\xa9\\x91\\x69\\xd2\\x05\\xb5\\x12\\x21\\xa6\\xe6\\x57\\xc8\\xe3\\xdf\\x7f\\xfd\\xf6\\x77\\x66\\xe7\\x9c\\xcb\\xee\\x28\\xc5\\x7f\\x5c\\x09\\x27\\x5c\\x34\\x1d\\xe1\\x0b\\x4c\\x33\\xd8\\xe1\\xf8\\x33\\xe2\\x17\\xff\\x8a\\x3f\\x27\\x6e\\x5e\\x07\\xd3\\x86\\x87\\x96\\x28\\xb0\\xa4\\xa5\\x81\\x36\\x40\\xb6\\xa3\\x27\\x6a\\x98\\x4f\\xb5\\xf9\\x62\\x11\\x43\\x9b\\x49\\xc8\\x5f\\xc1\\x5d\\xad\\x2d\\x3b\\x82\\x01\\x9d\\xfc\\x21\\x6f\\xbe\\x54\\x9d\\xa1\\xee\\xcd\\x01\\xda\\x7c\\x81\\x4f\\x75\\x5c\\xae\\x4f\\xc9\\xde\\x2c\\x49\\x29\\x6c\\xdf\\x58\\xdf\\x3e\\x48\\x4e\\x22\\xa6\\x7b\\xac\\x7b\\x9d\\xfa\\x0f\\x8a\\x54\\x94\\x9b\\xb7\\x8a\\x3c\\xae\\x8a\\x9c\\x0c\\x75\\xcc\\x31\\xa3\\x77\\x97\\x2a\\x2b\\xc4\\x28\\x24\\x72\\x6d\\xc3\\x3d\\xd1\\xe6\\xd9\\xcc\\x7a\\xf0\\x69\\xeb\\x5b\\xd9\\x67\\x47\\x53\\x1e\\xd4\\x33\\xd6\\xb3\\x07\\x79\\x24\\x43\\xa1\\x99\\xc9\\x5f\\xc6\\x83\\x61\\x45\\xad\\x71\\x2e\\x55\\xae\\x09\\x7e\\x03\\xf9\\x8e\\x15\\x9a\\xdc\\xe8\\x15\\xd8\\x1f\\x78\\x9f\\x63\\x7c\\x6a\\x1b\\x25\\xec\\xb5\\xc3\\xa7\\x64\\xbb\\x39\\xc9\\xfb\\x55\\xec\\x63\\xb5\\x17\\x68\\xb3\\xf6\\x7e\\xa6\\xbb\\xd6\\x13\\x81\\xfa\\x48\\x25\\xa8\\x8f\\xb9\\x4f\\x6f\\xa1\\x28\\x1f\\xe7\\x85\\xde\\x3b\\x76\\x22\\xfe\\x6e\\x02\\x5c\\x91\\x2a\\x89\\x43\\xaf\\x8c\\x12\\xd0\\x2c\\x0b\\x88\\x0f\\xf1\\x89\\xa4\\xd3\\xeb\\xb5\\xbb\\x69\\x40\\x2b\\xb2\\x64\\x47\\xb0\\xac\\xdd\\x6d\\x4e\\x80\\x84\\x76\\x0f\\x49\\x76\\x87\\xdd\\xed\\xf6\\x8f\\x4f\\xbb\\x59\\x7b\\x64\\x7c\\xda\\xee\\xfe\\x0b\\x17\\xb8\\xcd\\x56\\xa1\\x35\\xfd\\xb9\\x74\\xa4\\x4a\\x02\\x4a\\x6f\\xec\\xe5\\x6c\\xc9\\x4d\\xd4\\xcd\\xe5\\x57\\xbb\\xc6\\xd0\\x18\\x38\\x92\\x56\\xda\\x5c\\x75\\x55\\x7e\\xad\\x0d\\xfc\\xe9\\x46\\xa3\\xc8\\xe6\\xed\\xc5\\x47\\x7a\\xe1\\x87\\xe1\\x67\\xd7\\x1d\\xc5\\x9b\\xd6\\x4d\\xcb\\xd5\\xda\\xe0\\xdb\\x8c\\x12\\x9b\\xb3\\xea\\xb4\\xbd\\x9f\\x24\\xf1\\xca\\xf3\\x6a\\xae\\xbd\\x0b\\x98\\x9f\\xaa\\x2f\\xf1\\xa0\\xb2\\xb2\\x60\\x40\\x89\\xc7\\x62\\x95\\xc0\\xaa\\x58\\x6b\\xaa\\xe3\\x45\\xa0\\xa8\\xb8\\x29\\x5d\\x14\\xf2\\x88\\xa6\\xaa\\x86\\x34\\x27\\x39\\x44\\x53\\xc4\\xc4\\x88\\xc8\\x64\\x02\\x0e\\x47\\x45\\x43\\xda\\xe1\\x0c\\x96\\x82\\xd2\\x5d\\x30\\xb2\\x3d\\xed\\x53\\x31\\x47\\x0c\\xb6\\x42\\xe3\\x54\\x10\\xf7\\x4e\\xf5\\xa4\\x0c\\x72\\xae\\x5c\\x1d\\xaf\\xc1\\xfa\\x5a\\x13\\xab\\xab\\xad\\xd3\\x6a\\x1d\\x6b\\xb5\\x22\\x48\\x12\\x8d\\xc5\\x88\\x47\\x45\\x66\\x81\\x57\\xbd\\x40\\xea\\x61\\xd7\\x69\\xd0\\x97\\x6a\\x3a\\x2d\\x89\\x14\\xc8\\x30\\x7d\\x1e\\xbc\\xfc\\xed\\x7f\\x7c\\xf8\\xd6\\x77\\x63\\x39\\x33\\x07\\x2d\\xfc\\x45\\x33\\xe3\\xb8\\xf5\\xd0\\x8e\\x6f\\x3b\\xc0\\x60\\xe7\\x65\\x9b\\x3b\\xb4\\xfc\\x81\\x02\\xf3\\x66\\x7c\\xf1\\xd9\\xcc\\xf9\\xc9\\xfa\\xe9\\x4d\\x03\\xa0\\xfb\\x24\\x09\\xcc\\x9d\\xaf\\x25\\xe6\\xbb\\x2f\\xbb\\xa5\\xe5\\x95\\x71\\x5b\\x1e\\x5f\\xbc\\x20\\x39\\xf9\\x3e\\xe6\\xe1\\xfb\\x9e\\xc2\\xdb\\xf0\\xae\\x27\\x41\\xd6\\x76\\xe5\\x61\\x9e\\x11\\xfd\\x65\\xe0\\x0e\\xaa\\x98\\x67\\xd1\\xe2\\x68\\x89\\xc3\\xf4\\x5f\\x30\\xcf\\x56\\x82\\x9f\\x40\\x1e\\xe6\\x59\\x95\\xb9\\xaa\\xb6\\x00\\x33\\x4c\\xad\\x87\\x51\\xbf\\xbf\\x93\\xfe\\xfd\\x0b\\x35\\x3b\\xa4\\xc2\\x7a\\x89\\xbb\\x5a\\xb7\\xef\\x10\\x65\\xae\\xd0\\x0e\\xa9\\x35\\x2a\\xc2\\x28\\x03\\x1b\\x86\\x7c\\x86\\x25\\xd2\\xa9\\x9f\\x91\\xd4\\xcf\\xfc\\x7f\\x67\\x7e\\x86\\xf2\\x94\\x7c\\xa5\\xf6\\xd1\\x56\\xab\\xfe\\xce\\xfd\\xcc\\x9a\\x2c\\x5e\\xf5\\xed\\x2a\\xc6\\x5c\\xb3\\xf6\\x73\\x3a\\x3e\\xe3\\xfd\\xfc\\x97\\xfa\\xfb\\x4b\\xc9\\xfb\\xe7\\xea\\xf6\\xea\\xef\\xf0\\x46\\x10\\xd8\\x86\\x3a\\x11\\xed\\x9b\\xb2\\x74\\xaa\\x04\\x42\\x12\\x55\\x56\\x72\\xfa\\x99\\xd4\\xec\\x37\\xfd\\x4e\\x03\\x8b\\x80\\x7e\\x96\\xf2\\x96\\xa8\\x9f\\xa5\\x58\\x9c\\xe4\\xb3\\x15\\xea\\x67\\x2b\\x3a\\x00\\x3e\\x89\\x68\\xdb\\x6f\\xde\\x67\\xd5\\x3c\\x09\\x9d\\x0f\\x8a\\x77\\xa3\\x8e\\xcd\\x0d\\xf2\\x30\\xe0\\x22\\x8e\\x48\\x12\\xf9\\xf2\\xe6\\xcf\\x43\\x9e\\xe5\\xa0\\xf3\\x4d\\x09\\x6f\\xd5\\xf9\\x7e\\x42\\x7f\\x3f\\xc5\\x12\\xa4\\xa8\\xdb\\xc5\\x8a\\x94\\xe7\\xbb\\x3c\\x86\\x47\\x33\\x2b\\xe8\\xfb\\x29\\xc7\\x00\\xf5\\x5d\\x1e\\x33\\xd8\\x33\\xc8\\xbb\\x9d\\x23\\x9c\\x5e\\x74\\x06\\x07\\x8b\\x65\\xa6\\xea\\xc7\\x95\\xaa\\x7e\\x59\\x6f\\xc3\\x8f\\x53\\xfd\\xcc\\xdc\\xcf\\xc7\\xe9\\x3f\\xd7\\xfc\\x4b\\x1d\\x43\\x92\\xfe\\x5c\\xf7\\xe3\\xb4\\x7d\\xa4\\x64\\xb1\\xe1\\x30\\xc4\\xba\\x9c\\xf1\\x38\\xed\\x57\\x1b\\x56\\x14\\x6b\\x67\\x1f\\x7d\\x6a\\xec\\x23\\x30\\x17\\xa6\\xf4\\x7d\\xd4\\xa5\\x0b\\xd9\\x47\\x95\\x7d\\x2b\\x3b\\xe7\\xf6\\x91\\x5e\\x03\\xf3\\xbe\\x5a\\x4b\\x72\\x4e\\x2a\\x09\\x64\\xbb\\xc7\\xe9\\x94\\x38\\x93\\x64\\x37\\x21\\xbf\\x8f\\xe7\\x25\\x97\\x47\\x9c\\x90\\xf6\\x78\\x24\\xaf\\x0b\\x49\\x2e\\x0b\\x9a\\x98\\xb6\\xb8\\x8d\\x8c\\x75\\x41\\x9a\\xbd\\xb0\\x0c\\x26\\x5b\\x61\\x16\\xa3\\x35\\x68\\x1a\\x16\\x1b\\xf9\\x8f\\xeb\\xad\\xd6\\x97\\xe1\\xf2\\xdf\\x7f\\xcc\\xdc\\x4b\\xef\\x27\\x99\\x29\\xb0\\x14\\xbe\\x92\\x2b\\x2d\\x3b\\x76\\x72\\x5d\\xe6\\x11\\x6e\\x49\\xe6\\x3d\\x0a\\xf8\\x40\\xef\\x4f\\xc7\\xb0\\x64\\xef\\x01\\x07\\xf0\\x81\\x2e\\x29\\xc5\\xe4\\x25\\x31\\x16\\x6d\\xf3\\x08\\xf8\\x4d\\x5e\\x2e\\xc5\\x23\\xab\\x4b\\x2d\\x49\\x55\\xe5\\x09\\x1c\\x38\\x70\\xa0\\xfd\\xe8\\x4a\\xd6\\x63\\x2b\\x9d\\x63\\xa0\\xd8\\xc5\\x7e\\x85\\xaf\\xc2\\xa3\\xf0\\x27\\xd0\\x79\\xee\\xd3\\xd7\\xae\\x3c\\x72\\x15\\x3e\\x3c\\x6b\\xd9\\x75\\x77\\x42\\xf1\\x34\\x5a\\x8c\\x6f\\xcb\\xfc\\xf0\\xf2\\x71\\xa1\\x7c\\xd3\\x94\\x51\\x2b\\x7e\\x7b\\xf1\\xf1\\x4d\\x0f\\x2c\\x6e\\xd9\\xb2\\x0a\\xde\\xdc\\x0e\\x86\\x4c\\x06\\xf6\\xca\\xf3\\x15\\x9d\\xbb\\x5a\\x9f\\xde\\xe1\\x74\\xf3\\xf6\\x76\\xf0\\x58\\x72\\x38\\x32\\xfd\\xd5\\x33\\x4d\\x3e\\x53\\x54\\xa4\\xe1\\xb1\\xbc\\xb4\\x23\\x58\\x64\\xf3\\x15\\x62\\xca\\x52\\x5b\\x68\\x1a\\xa0\\xd9\\x42\\x72\\x06\\x28\\xa7\\xd2\\xed\\xea\\xba\\xff\\x02\\x2b\\x41\\xe7\\x54\\x94\\xad\\x8c\\x56\\x76\\xae\\x4c\\x55\\x36\\x56\\x12\\xd3\\x9c\\x44\\x6c\\xd9\\xd4\\xb2\\x0a\\x62\\x1b\\x11\\xe3\\x85\\x06\\x05\\x94\\x6a\\xe0\\xfa\\xd6\\xd6\\x1a\\x38\\x5f\\xaa\\xad\\x14\\x3e\\xce\\xda\\xca\\xfb\\x68\\x0f\\xab\\xba\\x37\\x2e\\x22\\xbb\\xa9\\x5b\\x2a\\xc4\\x36\\x45\\x9b\\x3a\\x37\\xa5\\x9a\\x1a\\x9b\\x58\\x0d\\xfe\\x9f\\x1d\\x3a\\x76\\x68\\x03\\x0a\\x26\\x55\\x1a\\x80\\x8f\\x72\\x34\\x00\\xba\\xa4\\xf4\\x9b\\x0d\\xfb\\xa9\\xce\\xc9\\x0a\\x6d\\x6f\\x22\\x6a\\xb7\\x89\\xfd\\x94\\x55\\xa8\\x54\\x38\\x61\\x87\\xec\\x63\\x1d\\x6d\\xed\\xe7\\xa7\\x86\\xfd\\x04\\x73\\xe9\\xb5\\x83\\x6a\\x3f\\x7b\\x12\\xfb\\xd9\\xf3\\xba\\x9e\\x7d\\x84\\x70\\x21\\x46\\xed\\xf3\\xdc\\x31\\xf5\\xfb\\xef\\xd5\\xbe\\xdf\\xe0\\x94\\x41\\x25\\xc4\\x2b\\x28\\x19\\x59\\x52\\x5e\\xc8\\xef\\xa1\\x62\\x5f\\xab\\xdf\\xff\\xa2\\x3e\\x3e\\x1d\\x47\\x1c\\xc5\\xc9\\xf7\\xc7\\x27\\xc5\\x93\\x82\\x94\\xff\\x7e\\xcd\\xef\\x48\\x1a\\x7e\\x07\\x73\\x88\\xb9\\x0c\\xa6\\x35\\x0e\\x04\\x0a\\x96\\x82\\x28\\x8e\\xef\\xd4\\x1d\\x8a\\x27\\xdf\\xf5\\xa0\\x9f\\xb3\\xa9\\xb1\\xd2\\x3b\\xd9\\x58\\xe9\\x10\\xfc\\x1c\\xe8\\x9c\\x0b\\x7d\\xfb\\x52\\xac\\x91\\x9e\\xbb\\x5a\\xc7\\xef\\xe8\\xd9\\x5d\\x0b\\x97\\x72\\x9f\\xd3\\x9e\\x57\\x9e\\x7d\\xde\\x61\\xe6\\x28\\x3c\\x8f\\xc6\\x58\\x2a\\x34\\x8b\\x87\\xf2\\xd7\\x78\\x02\\x6d\\x78\\xc2\\xb4\\xb8\\xec\\x70\\xf6\\x59\\x87\\x55\\x9f\\x83\\x7c\\x86\\x3e\\x89\\x92\\x3b\\x1c\\xdd\\xd1\\xbd\\x4f\\x61\\x5c\\xa6\\x63\\x7a\\x96\\x64\\xf1\\x42\\x0f\\x31\\x73\\xe1\\xf9\\x5a\\x8f\\x28\\x75\\xbd\\x19\\x8a\\x05\\x76\\xf3\\x0e\\xb7\\x13\\x5a\\x0b\\xe5\\x8b\\xb6\\xc1\\x25\\x3d\\xa4\\x32\\x1f\\xaa\\xe3\\x4a\\x26\\xe9\\xb8\\x62\\xbb\\x5a\\x6f\\xdf\\x11\\x2b\\x42\\x96\\xc2\\xcf\\x69\\xcf\\x2b\\xcf\\x3e\\xef\\x30\\xf3\\xba\\x3a\\x2e\\xf5\\x69\\xf4\\x6c\\x64\\x76\\x38\\xbd\\xd0\\xda\\x0e\\x86\\xe8\\xe1\\xec\\xb3\\x0e\\x33\\x3d\\xb5\\x71\\xd1\\x27\\x31\\x45\\xf4\\x33\\x45\\xc5\\x85\\x3a\\x15\\x93\\x59\\x66\\xfa\\xa9\\xe3\\xd2\\x70\\xf6\\x0e\\x81\\x1d\\xc6\\xb8\\x44\\x91\\x8e\\xcb\\xba\\xab\\x75\\xce\\x0e\\xab\\x49\\x0b\\x23\\xb3\\xf2\\xe1\\x7f\\x93\\xcf\\x0d\\x55\\xc7\\xf5\\x8b\\xfe\\xb9\\xbd\\x46\\xcf\\xac\\x28\\x4a\\xda\\xe7\\xae\\x3d\\xf3\\x73\\xad\\xef\\x90\\xcf\\x5d\\xa5\\x8e\\x4b\\x7b\\xde\\x61\\x18\\x25\\xe3\\xa2\\xba\\x97\\x3e\\x0e\\x9a\\x90\\xc9\\x51\\x10\\xdf\\xbe\\x4d\\xde\\x7f\\x85\\x3a\\xa6\\x5f\\xf4\\xf7\\x17\\xe9\\xba\\x9a\\x3e\\x86\\x72\\x08\\x14\\xbc\\x5f\\x8f\\x6f\\x4b\\xb3\\x58\\x3d\\x87\\x98\\xdd\\x70\\xac\\x36\\xdf\\xc5\\xc5\\x74\\xff\\x45\\xa9\\x5c\\xd1\\x70\\x01\\x37\\x91\\x8e\\x2d\\x91\\x8f\\x75\\x73\\x88\\x09\\x19\\xeb\\x14\\x8b\\x49\\x1a\\xa7\\xd1\\x8a\\x1d\\xe1\\x00\\xdf\\xe6\\x73\\xda\\xf3\\xca\\xb3\\xcf\\x3b\\x8c\\x02\\xda\\xfe\\xa3\\x4f\\xd3\\x89\\x90\\x12\\xed\\x62\\xf7\\x1c\\xce\\x3e\\xeb\\x30\\x33\\x47\\xb7\\x27\\xf4\\x51\\x4c\\x00\\x05\\xa2\\x05\\x31\\xf5\\x32\\x15\\x9b\\xa4\\xd4\\xc0\\x26\\x21\\xb2\\x8d\\x31\\xc6\\x14\\x8b\\xe9\\x7c\\x4b\\x71\\x22\\x1b\\x67\\x2f\\x9c\\x6b\\xa2\\x11\\x90\\x45\\x1d\\xd3\\x28\\x7d\\xef\\x2d\\x34\\xd6\\x28\\x1e\\xa7\\x6b\\x44\\xb6\\xc4\\x5d\\x3b\\x8a\\x82\\xac\\xf3\\xcc\\xbd\\x77\\xbf\\x3a\\xa6\\x5a\\x5d\\xbe\\xfd\\xda\\x98\\xe8\\xd3\\x18\\x12\\x8f\\xef\\x22\\xf1\\x38\\x57\\xa8\\x97\\xa7\\x93\\x67\\xb9\\xd5\\x31\\x8d\\xd2\\xd7\\xe9\\x65\\x4d\\x2f\\xd3\\x27\\x51\\xbd\\x9c\\xd9\\x11\\x8c\\x69\\x0f\\x6a\\x13\\xc3\\x97\\x66\\x7b\\xd4\\x0f\\x31\\xeb\\xb4\\x71\\x69\\x61\\x34\\x43\\x41\\x54\\xd6\\xec\\xf0\\x7b\\xf5\\xa8\\x32\\x2b\\xdf\\x50\\xad\\xd7\\x27\\x9b\\x2f\\x38\\xa4\\xf6\\xb6\\x17\\x8e\\xeb\\x56\\x32\\x2e\\x6f\\x9b\\xb3\\xa8\\x3d\\xaf\\x3c\\xfb\\xbc\\xc3\\xcc\\xd7\\xfa\\xde\\x53\\xfd\\x19\\x2f\\xe3\\x0d\\x15\\xe0\\xb5\\x68\\x79\\x89\\xc3\\xd9\\xe7\\x1c\\x66\\x2e\\x2b\\x1c\\x53\\x2b\\x19\\x53\\x9b\\xbc\\x44\\x4f\\x5c\\x92\\x8f\\x91\\x62\\xfa\\x13\\xfe\\xbb\\xf5\\x7b\\xda\\x83\\x5d\\x53\\x51\\xd3\\xb5\\x00\\x23\\xa5\\x24\\x1f\\x23\\x85\\xbc\\xef\\x2a\\xed\\x7d\\x5d\\xe2\\x5d\\xaa\\xf3\\xde\\xa7\\xe0\\xfa\\x7c\\x0c\\x13\\xf2\\xbe\\x9b\\x81\\x8a\\x60\\xe3\\xa4\\x11\\x24\\xf1\\x2b\\xf2\\xf0\\xd0\\xfd\\xb8\\x24\\x1f\\xc7\\xc4\\xf4\\x27\\xd8\\xa1\\x7d\\x67\\x51\\xaa\\x28\\xc2\\x7b\\xf4\\x37\\x42\\xe2\\xa7\\x8d\\x62\\xfb\\xa8\\x35\\x49\\x03\\x52\\x31\\xb7\\x50\\xee\\x74\\x82\\x48\\x44\\xf0\\xdb\\xed\\x25\\xc4\\xf8\\x54\\x76\\x2c\\x72\\xba\\xdd\\xce\\x22\\x24\\xc4\\xe3\\xa1\\xf1\\xe9\\x38\\xab\\x5f\\x2a\\x29\\xf5\\x55\\x55\\x85\\xe5\\x48\\x39\\xfe\\x6a\\x07\\x2b\\xd4\\xf6\\x41\\x34\\x0f\\xcc\\xb3\\x5c\\x6d\\xb7\\x62\\xbd\\xa8\\x47\\x28\\xa5\\x78\\x62\\x6a\\x71\\xbf\\x50\\x04\\xd9\\x3e\\xf5\\x53\\xef\\x78\\xed\\xb7\\x3f\\x7e\\xfe\\xe5\\xb6\\x86\\x58\\xa0\\x1f\\x3e\\x86\\x8f\\xbc\\x00\\x9d\\x9b\\x06\\xdf\\x74\\xe5\\x4b\\x0b\\xdf\\xbc\\x08\\x32\\x4f\\x3d\\xfc\\xcb\\xf5\\x75\\x4d\\x83\\xce\\x82\\x5d\\xc7\\x3f\\x70\\xc3\\xac\\x89\\x23\\xba\\xff\\xd0\\x63\\xf2\\xec\\x9b\\xce\\x1b\\x74\\x4d\\xb2\\x7c\\xda\\xe8\\x2f\\xba\\x5f\\x3c\\x66\\xd6\\xe8\\x4b\\x16\\x6c\\xbe\\xf9\\xfa\\x25\\x53\\x5f\\x5b\\x34\\x79\\xc9\\x88\\xa1\\x7b\\xd5\\xb1\\xf4\\xc7\\x4d\\xe8\\x73\\x76\\x38\\xd1\\x92\\x83\\x52\\x71\\x67\\x34\\xea\\x16\\xe2\\x82\\x0f\\x84\\xc3\\x24\\xd6\\xf3\\x75\\x28\\xe7\\x79\\x5f\\x34\\xea\\x8b\\xc7\\x2d\\xbe\\x90\\x05\\x35\\xa5\\x2d\\x4e\\x90\\x5f\\xb1\\x59\\x58\\x5e\\xa5\\x0d\\x88\\x0c\\xa7\\xb0\\x1e\\x49\\xeb\\x74\\x76\\x40\\x75\\x60\\x6a\\xae\\x9b\\xe7\\x6a\\xfb\\xb0\\xcc\\xc1\\x69\\x93\\x46\\x5c\\x25\\x7f\\xed\\xff\\x63\\xcf\\xd1\\xdf\\xcf\\xea\\xd7\\x6b\\xd0\\xe5\\xfb\\xf0\\x2e\\xfc\\xcd\\x9b\\xb0\\x74\\x75\\x58\\x79\\x02\\x4f\\x9a\\xb5\\xe9\\xb2\\x5d\\x43\\x99\\x63\\x4d\\x13\\x47\\x8f\\xec\\x76\\xcb\\x03\\xaf\\x6c\\x99\\xb4\\xb4\\xae\\xec\\x81\\x8b\\x17\\xee\\x5d\\x35\\x25\\xfa\\xa1\\x78\\xd1\\x86\\x4b\\xbb\\x8c\\x0b\\x9e\\x3d\\xe8\\x9f\\xee\\x68\\xe8\\xec\\x29\\x6d\\xb0\\xe9\\x2a\\x74\\x5f\\xfb\\x56\\x90\\x87\\x29\\x2c\\x32\\xf9\\x51\\x44\\xab\\x81\\x29\\x7c\\x8e\\x4b\\xc7\\x14\\x26\\xef\\xef\\x08\\x8a\\x72\\x18\\x07\\x7e\\x93\\x3f\\x22\\x09\\x79\\x3e\\xe9\\xcd\\x24\\x86\\x70\\xab\\x77\\xe6\\x5d\\x53\\x7e\\xbb\\xd9\\x6c\\x81\\xc4\\x99\\xf6\\xb8\\xed\\x76\\x2b\\xb4\\x58\\x91\\xc5\\xe5\\xe4\\xc7\\xa7\\x9d\\xba\\xdf\\xd7\\xb7\\x6d\\x75\\x10\\x8d\\x7c\\xa5\\xae\\x34\\xcc\\x55\\x91\\x29\\xa9\\xf7\\x17\\x95\\x38\\x37\\xfe\\xa4\\x6e\\xde\\xc4\\x2d\\xcb\\x55\\xaf\\xef\\xdd\\x59\\xf0\\x07\\xe2\\xfe\\x1f\\xbb\\xf5\\xae\\x61\\x4b\\x4f\\x1f\\xe6\\x96\\x2c\\x1d\\xd8\\x84\\x4d\\x94\\x67\\x0d\\x8f\\xe6\\x5f\\xe2\\xde\\x01\\x71\\x50\\x09\\xea\\xc1\\xa2\\x54\\x3f\\x6b\\x22\\x12\\x45\\x52\\x57\\x22\\x74\\xb9\\xaf\\x13\\xc7\\xf9\\x24\\x3b\\xea\\xd9\\x23\\x12\\x21\\xd1\\x48\\x97\\xa0\\xd5\\x2a\\xdb\\x6c\\x26\\x99\\x32\\x1e\\x05\\x63\\x30\\x58\\xd2\\x90\\x0e\\x3a\\xbb\\x30\\x8d\\xe9\\x2e\\x5e\\x99\\x04\\xb3\\xb2\\xd7\\x54\\xd7\\x90\\x36\\x05\\x0b\\x2b\\x40\\x8d\\x2a\\x50\\xb5\\xbe\\xdd\\x28\\x6c\\xd7\\x6f\\x13\\xab\\xb3\\xd7\\x18\\x0a\\xf5\\x5e\\x93\\xdd\\xb4\\x15\\xa5\\x41\\x2b\\xd9\\x9b\\x75\\x14\\x62\\x85\\x4f\\xe4\\xe1\\xb2\\x67\\x09\\x1c\\x68\\x18\\xab\\xef\\x03\\xf5\\x8a\\x83\\x1d\\x79\\xe5\\xad\\x9b\\x77\\xbf\\xf7\\xe4\\x94\\x5d\\x13\\x67\\x6d\\xee\\x78\\x7d\\x88\\x1d\\xdb\\xba\\xe7\\xdd\\x0f\\xf7\\xa9\\x30\\xed\\xd0\\x8f\\x4f\\xcc\\xb9\\x62\\xf6\\x8c\\x4f\\x66\\x5e\\xcd\\xdc\\x7a\\x6e\\x9f\\x9e\\xf3\\x8a\\xa5\\x6b\\xce\\xe9\\x7b\\xee\\xcc\\xa6\\xc7\\x6e\\x5a\\xb3\\x39\\x35\\x74\\xf9\\x5d\\xa9\\x15\\x43\\x16\\x57\\xbc\\x4e\\xbc\\x72\\x33\\xb4\\xc3\\xe4\\x84\\xf1\\xcf\\xc2\\x9b\\x5a\\x46\\x3f\\xbd\\xe7\\xf9\\xdd\\xf8\\xd6\\xd7\\xb0\\xbf\\xa6\\xbe\\xa6\\x63\\xcd\\xa0\\x7a\\xea\\x9b\\x4f\\x24\\xfa\\x66\\xab\\xda\\x3b\\xd6\\x19\\x8c\\x4b\\x55\\x59\\x81\\x88\\xe2\\x26\\x31\\x5e\\xe4\\x12\\x59\\xb9\\x22\\x58\\x22\\xcb\\xc1\\xea\\x2e\\xc9\\xa4\\xcd\\x45\\x5c\\xdd\\x48\\xc4\\x67\\xe3\\xca\\x26\\xa6\\xc9\\x04\\xda\\x58\\x5f\\xa7\\x89\\x69\\x9f\\x1b\\xb4\\x6d\\x62\\xa4\\xe3\\xce\\x5b\\x46\\xbd\\xe7\\x46\\x2b\\x41\\xa0\\xf9\\x0a\\xfd\\xae\\xa9\\x56\\xbd\\xd7\\x93\\xd5\\x7e\\xfe\\x58\\x54\\xed\\x2c\\xab\\xa5\\x57\\x99\\xb4\\x9f\\x3f\\x96\\xe5\\xea\\x1d\\x30\\xa2\\xf1\\xeb\\xd9\\x57\\x8e\\x18\\xf5\\xf1\\xf7\\xdf\\xad\\x5c\\x8e\\xbf\\xc4\\x27\\xf1\\x1f\\xf8\\xcb\\x55\\x4b\\xe6\\x5f\\xf1\\xfd\\x11\\x38\\x08\\xff\\xbe\\xf0\\xfa\\xa5\\x37\\x2e\\x5b\\xc8\\x2e\\x1f\\x74\\xee\\xd6\\x71\\x97\\x4f\\x1d\\xf3\\xc6\\xab\\x3b\\xbe\\x6d\\x60\\xc3\\x5b\\x6f\\xda\\x77\\xf4\\xe3\\xd7\\x56\\x3c\\x1b\\x62\\x8b\\xef\\x99\\x72\\xf7\\x53\\x2d\\xa3\\x3f\\xb9\\x62\\xe6\\x35\\x57\\x5e\\x61\\xf4\\x6b\\x6e\\xe5\\x0e\\x91\\xb1\\x56\\xd1\\xae\\x5d\\xbf\\xdd\\xe2\\x0d\\x39\\x2d\\x96\\x10\\x1f\\x65\\x51\\x59\\xa2\\x13\\x4a\\xa0\\x2e\\x9d\\x03\\xb6\\x28\\xef\\x26\\x0b\\xcf\\xbb\\x79\\xb7\\x0d\\x80\\x92\\x6c\\xad\\x96\\x7e\\xc5\\xad\\xb1\\xfa\\xb6\\x37\\x3e\\x2e\\x37\\x0e\\x67\\x52\\xc9\\xaf\\x91\\xa9\\x63\\x25\\x8d\\x54\\x9c\\x8c\\x36\\x19\\x95\\xf4\\xe5\\x66\\x96\\xe0\\x16\\xfc\\xc1\\x4d\\xcb\\xae\\x5c\\x00\\x3b\\x4c\\x1b\\x50\\xbd\\xe8\\xaa\\x59\\xf3\\xaa\\x07\\x4c\\x83\\x1d\\xe6\\x5f\\xb5\\xec\\x26\\xfc\\x4f\\x9c\\x81\\x96\\x15\\x4b\\x97\\xac\\xf4\\x7c\\xf3\\xf6\\xea\\xdd\\x21\\xb6\\xea\\x89\\xd9\\x90\\xb9\\xee\\xee\\xee\\x93\\xcf\\x59\\x3c\\x7b\\xf6\\xe2\\xc1\\x53\\xea\\xee\\xbe\\x0e\\xe3\\xd9\\x4f\\x54\\xb1\\xa1\\xdd\\xab\\xdf\\xfe\\xe6\\x0d\\x08\\xe7\\xcc\\x9b\\x3b\\x17\\xb7\\x6a\\x77\\x47\\xbd\\xf1\\x09\\x76\\x8f\\xda\\x3f\\xd7\\x3d\\x15\\xb4\\x4b\\x12\\x72\\x39\\xac\\x26\\x84\\xac\\x1e\\x37\\x67\\x15\\x29\\x16\\x9e\\x16\\x71\\xb9\\xf2\\xba\\x91\\xdb\\xf6\\xae\\x27\\xd5\\x05\\x2a\\xa5\\x37\\xb1\\x31\\xfd\\x52\\x19\\xcd\\xbc\\x77\\x47\\x87\\xaf\\x22\\x37\\xb4\\xfc\\xc2\\x9c\\xa2\\xe5\\x17\\x19\\xfe\\xf8\\xad\\xcb\\xa6\\x5d\\x1b\\x1b\\x51\\x33\\xe3\\x10\\x7a\\xeb\\xf8\\x81\\x96\\x1a\\xfa\\xec\\x01\\xf8\\x04\\xfa\\x42\\xad\\xb7\\xe8\\x96\\x0a\\x30\\x3c\\x2f\\x5a\\x04\\x04\\x2c\\xc0\\x4d\\x79\\xe8\\xd5\\x1a\\x0b\\x20\\x34\\xa6\\x81\\x7c\\xe6\\xa3\\x8d\\xeb\\xdf\\x1a\\xfd\\x71\\xb1\\xa8\\x21\\xc0\\x00\\x26\\x44\\x6b\\x2b\\x32\\xc7\\xa1\\x17\\x0e\\x4f\\x7c\\x12\\xb9\\x61\\x1f\\xb3\\x79\\xff\\x5b\\x99\\xb1\\x7f\\x6a\\x0f\\x07\\xb9\\x18\\x40\\xc5\\x2d\\x29\\xd6\\x71\\x4b\\x96\\x41\\x47\\x96\\xef\\x41\\xa2\\x78\\x86\\x92\\xbb\\x5d\\x9f\\x3c\\xe7\\xff\\xaf\\x07\\xff\\xd2\\x7c\\x57\\x1a\\x3a\\x51\\xfe\\xb8\\xcf\\x76\\xd4\\xd6\\xb5\\xf5\\xc9\\xf3\\x31\\xfc\\x9d\\x14\\xdf\\x6b\\x47\\x36\\x8f\\x92\\xc5\\xea\\x57\\x7f\\x3e\\xa4\\xdd\\xbb\\x8f\\x1a\\x44\\xfd\\x86\\x4e\\xa9\\x30\\x62\\x7e\\x2a\\x82\\x9f\\x13\\x13\\xd5\\x5a\\x04\\x7f\\x2c\\x52\\xb3\\x49\\x24\\x68\\x2b\\x66\\x8b\\x0d\\x44\\x44\\xfa\\xcc\\x71\\xe3\\x6a\\x29\\xa3\\xae\\xe1\\xbf\\xa9\\x79\\xd2\\x66\\x3d\\xa7\\x1d\\x37\\x72\\x2a\\xb0\\x2b\\xe8\\xbd\\x8d\\x8d\\xd1\\x9c\\x4a\\x3c\\x16\\xa5\\x39\\x15\\x4a\\xeb\\xe9\\x27\\xff\\x60\\x17\\x17\\xc1\\x99\\x45\\xb0\\xa1\\x08\\x8a\\xe4\\x09\\x1a\\x82\\xa2\\xea\\x99\\x48\\x14\\xe9\\x24\\x9b\\xba\\x6d\\x4f\\xce\\xee\\x48\\xa6\\xb9\\x9a\\xe7\\x49\\xc8\\x40\\xbd\\xbd\\x24\\xbd\\xd7\\x48\\x76\\xc9\\x7a\\xb0\\xed\\xc9\\xc4\\xfc\\x9d\\x7d\\x0a\\xcf\\xcd\\xca\\xd4\\x63\\x1b\\xa5\\x63\\x3a\\x95\\x4a\\x44\\x3a\\x52\\x99\\x3a\\xa7\\x2a\\x3a\\x0f\\xee\\x9c\\x0a\\x85\\xc9\\x1f\\x1e\\x65\\x70\\x63\\x67\\xd8\\x39\\x65\\x76\\x0e\\xee\\x9c\\x15\\x4a\\xaa\\xa0\\x0c\\x70\\x46\\x1e\\x48\\xc3\\xbf\\x3c\\x9a\\xf5\\x71\\xd7\\xc3\\x7d\\x94\\x8b\\x41\\xe5\\x88\\xa0\\x0e\\x21\\x08\\x84\\xda\\xb9\\x33\\xca\\xf9\\xd2\\xeb\\xa1\\x1f\\xe8\\x78\\x96\\x1a\\x5f\\x55\\xcb\\x0e\\xc5\\xcf\\xb7\\xc7\\x43\\x9a\\x1b\\x73\\x9d\\xba\\x36\\x3a\\xdf\\x99\\xea\\xb7\\xb3\\xd1\\x48\\x7b\\xf8\\x94\\x79\\x63\\x5e\\x0f\\xe3\\x5a\\xbe\\x5a\\x1d\\x73\\x62\\x1b\\xa2\\xee\\x77\\x4a\\x0a\\x87\\xc8\\x98\\x19\\xce\\x4b\\x57\\x21\\x3b\\x42\\x23\\x65\\x0d\\xb2\\xf8\\x3f\\x1b\\x0c\\xfc\\x1f\\xf2\\xf9\\x51\\x6a\\xce\\xda\\xe0\\x9a\\x68\\xdd\\x61\\xb3\\x66\\xd9\\x25\\xb3\\xf8\\x42\\x63\\xb3\\xf8\\x42\\x37\\x01\\x03\\xfb\\x56\\xc5\\xb2\\x85\\x7e\\x5f\\x01\\xef\\x50\\x2b\\x26\\xef\\x17\\xd5\\xfb\\xdc\\x08\\xad\\x4a\\xb5\\xb9\\x02\\x10\\xba\\x5c\\x0e\\x0f\\xcf\\xc7\\x1c\\x51\\x08\\x15\\xb7\\xcd\\xa6\\xd8\\xed\\x66\\xc5\\x0d\\x15\\x72\\x2c\\x15\\xaf\\x39\\xdc\\x90\\x36\\xe7\\x99\\xb9\\x7c\\xcb\\x06\\x6b\\x34\\x25\\x97\\xeb\\xcf\\x68\\x6b\\xd4\\x6a\\xa5\\x7c\\xcb\\x05\\x37\\xe7\\x59\\xae\\x2e\\x0b\\x43\\xcc\\xba\\x9c\\x89\\xe2\\xde\\x39\\xb5\\x31\\x6b\\xa5\\x06\\x2d\\x19\\xb2\\x98\\x1b\\xf4\\xe7\\xee\\x3c\\x7b\\x44\\xef\\x41\\x69\\xfe\\xb9\\x1c\\x74\\x05\\xd3\\x52\\x75\\x1d\\x42\\xa1\\x2a\\x6f\\xc2\\x5b\\x6e\\xe5\\x79\\x41\\x28\\x4f\\xa2\\x6e\\xb5\\x5e\\xaf\\x60\\x49\\x24\\x2a\\x8b\\x8b\\x23\\x95\\xa2\\xc3\\x21\\x58\\x44\\x41\\x76\\x11\\x73\\xed\\x72\\x56\\xfa\\x1b\\xd3\\x95\\xde\\x48\\x75\\x43\\x3a\\xd2\\xc6\\x5c\\xf7\\x6d\\x6b\\xaa\\x0b\\x8a\\x69\\xaa\\xb5\\x8a\\xc1\\x76\\xbb\\x95\\x0c\\x7f\\x8c\\x16\\xda\\xe8\\x23\\x55\\xf3\\x4f\\xda\\x38\\xcf\\xec\\x65\\xea\\x31\\xeb\\x6c\\x3a\\xf0\\x81\\xb3\\x27\\x35\\xd3\\x91\\x07\\x99\\xc5\\xe7\\xf6\\xb9\\x6a\\xb8\\x6b\\xfa\\x80\\xbe\\xe7\\x32\\xe3\\xcf\\x68\\x72\\xca\\xbc\\xde\\x21\\x41\\xa7\\x22\\xd4\\x39\\x45\\xe7\\x62\\xd0\\xd2\\x4c\\x4d\\xfd\\xf8\\xba\\xfe\\xea\\x3c\\x88\\x80\\x63\\x6d\\x2a\\xfe\\x5b\\x19\\x98\\x9e\\xea\\x16\\x00\\x8a\\xbb\\x88\\x68\\x53\\x77\\x02\\xd8\\x81\\xdb\\xed\\x0d\\xa2\\x0e\\xe5\\xc4\\x55\\xb3\\xdb\\xbd\\x0e\\x87\\xd9\\xe7\\x45\\xb1\\xc6\\x34\\x42\\x66\\x6f\\x58\\xf6\\xca\\x0d\\x94\\x94\\xd1\\x4c\\x0c\\x97\\x59\\xce\\xab\\xb5\\xd0\\x4a\\x42\\x80\\x51\\x72\\x91\\x57\\xa0\\xa8\\xce\\x43\\x75\\x76\\x6d\\xdb\\x19\\x72\\xae\\x32\\x1b\\xe6\\x06\\x0f\\x77\\xf5\\x9e\\x3f\\xe2\\xde\\x67\\xdf\\x58\\xdf\\xb8\\x68\\x6a\\x23\\x1d\\x6c\\x40\\xab\\xc5\\x80\\x97\\x0c\\xac\\xbe\\x61\\xb8\\x6b\\x46\\x63\\xed\\x40\\x26\\xdc\\x31\\xf9\\xf8\\xca\\xd5\\x4f\\x84\\xaa\\xfb\\xd0\\xf1\\x9d\\x3d\\x01\\x5e\\xae\\x16\\x6c\\xbf\\xa8\\x0e\\xb3\\xa7\\xda\\x03\\xf7\\x39\\x1e\\x0d\\x1f\\x27\\xf6\\xc2\\x06\\x22\\x29\\xb2\\x9a\\x16\\x07\\x63\\x37\\x89\\x1a\\x36\\xaf\\x0e\\xc1\\x04\\xf5\\x9e\\x69\\x77\\x3e\\xec\\xfa\\x2a\\x03\\x6b\\x5d\\x05\\xd3\\x35\\x30\\xd6\\x89\\xef\\x37\\xae\\xf5\\x3b\\x61\\x80\\xee\\xfb\\x75\\x27\\x3b\\xa8\\x7b\\xa8\\x6b\\x18\\x99\\x4c\\xfe\\x84\\x0f\\x99\\xcb\\xa5\\x4e\\x40\\x32\\x03\\xd4\\xa3\\xde\\xe7\\xf3\\x14\\x85\\xc3\\x1e\\xc1\\x62\\xb5\\x9a\\x3d\\x01\\x68\\x96\\xbb\\x94\\x78\\xc8\\x8c\\x45\\x3d\\xce\\xba\\x0a\\x7a\\x87\\x81\\x1c\\xde\\x6c\\x93\\xa0\\xd1\\x2b\\x28\\x69\\xad\\x82\\xf5\\x67\\xc0\\x2f\\xd1\\x57\\xae\\x2d\\x45\\x8e\\xe9\\x28\\x0d\\x79\\x1e\\x9e\\xce\\xda\\x95\\xe7\\xe8\\x25\\x73\\x08\\x30\\xc2\\x80\\x0f\\xde\\x9c\\xfb\\x4c\\x07\\x06\\x9f\\x66\\x2b\\xb6\\x2d\\xcf\\x73\\xf1\\x34\\x60\\x98\\x16\\xd6\\x70\\xf4\\x3e\\xd0\\x21\\x61\\x98\\x18\\x05\\x83\\x99\\x3a\\x76\\xeb\\x33\\x17\\x4e\\x29\\xf0\\xf0\\xf0\\x24\\x15\\x2b\\xe6\\xa4\\xee\\xe7\\x3d\\x6b\\x20\\xc4\\x00\\xcd\\x27\\x16\\x7a\\xb1\\x4d\\x64\\x5e\\x3a\\x92\\x28\\x71\\x4a\\xaa\\x5b\\x99\\xd9\\x8b\\xfc\\x7e\\x3e\\x5c\\x89\\x02\\xd5\\x20\\x21\\x82\\x80\\x88\\xba\\xd7\\x91\\xc3\\x65\\x26\\x27\\x2d\\x5c\\x54\\x14\\x15\\xc4\\x40\\x30\\xd9\\x19\\x75\\x6e\\x48\\xdb\\x90\\xb3\\xa2\\x6b\\xb4\\x6b\\x43\\xda\\x15\\x3d\\x73\\x56\\x74\\xec\\x9b\\xf6\\xe7\\xc4\\xad\\x4d\\x41\\x5d\\x4c\\xc5\\x2e\\xc9\\x22\\xe1\\x68\\x9d\\x3b\\x75\\x2a\\x3f\\x51\\xae\\x5d\\x27\\x77\\x99\\x33\\xf2\\xa3\\x7d\\x57\\x6f\\xa9\\x80\\x90\\x81\\x95\\x3b\\xae\\xdf\\x7d\\xc8\\xe8\\xe2\\xf9\\x17\\xc7\\x8c\\xc3\\x2d\\x7b\\xde\\xe5\\x5e\\xd3\\xda\\x77\\x32\\x65\\x57\\xcd\\xfe\\xe2\\xb3\\x19\\x0b\\x98\\x10\\xb4\\xc1\\xd2\\xa9\\x17\\x6c\\x7d\\x66\\xc2\\x54\\xfc\\x29\\xfe\\x25\\xd7\\xd4\\x03\\x5f\\x1d\\xdf\\x8b\\x44\\x47\\x50\\xd4\\xba\\x79\\xe0\\xdc\\xa7\\x5e\\xc6\\xb7\\x90\\x99\\x01\\x2c\\xa8\\x69\\x7d\\x9b\\xbb\\x4d\\xc5\\x0a\\xf3\\x02\\x3f\\x08\\x81\\xf9\\xa9\\x1e\\x26\\xc1\\xed\\x13\\x99\\xa0\\x3b\\x28\\x3a\\x6d\\x1c\\x4b\\x22\\x14\\x96\\x67\\xad\\x76\\xb6\\x28\\x6c\\x36\\x0b\\x8a\\x22\\x90\\xc9\\xb2\\x08\\x4c\\xc8\\x41\\x02\\x54\\x1f\\x51\\x3c\\x2c\\x0f\\x5c\\x6a\\xd3\\x0f\\xe2\\x03\\xbb\\xa0\\xfb\\xd9\\x34\\xef\\xca\\xeb\\x5f\\x7a\\xc3\\xe8\\xbd\\x6d\\xe7\\xc0\\x49\\x39\\xe8\\x7d\\x8a\\xbc\\x8f\\x62\\x28\\x51\\x17\\x83\\x31\\xc5\\x5d\\x83\\xcc\\xb0\\xc6\\x5d\\xc5\\x08\\x0e\\xe8\\x16\\x6a\\xa0\\x3b\\xc1\\x5e\\xbe\\x08\\xbf\\xf2\\xd9\\xc6\\x30\\xfe\\x17\\xd9\\x0f\\x17\\x0c\\x5a\\xbb\\xf1\\x17\\x38\\xaf\\x65\\xc5\\xf4\\x9d\\x4a\\x85\\xcc\\x5b\\x42\\xaf\\x36\\xdf\\x98\\xd9\\x77\\x57\\x2d\\xbc\\x04\\x4f\\xea\\xc6\\x2d\\x79\\x1d\\x8a\\xb8\\xd7\\xe9\\x93\\xcc\\x40\\xd8\\xdc\\x7f\\xc5\\xd9\\xde\\xe2\\x0b\\xf0\\x3b\\x77\\x63\\x13\\x0c\\xa8\\x7e\\xef\\xdb\\x9c\\x86\\x49\\x56\\x02\\xc6\\xa4\\xaa\\x69\\x0f\\x16\\x2b\\x7b\\x2d\\xd6\\x88\\x28\\x5a\\x6d\\xe1\\xb8\\xe2\\x65\\x4d\\x65\\xa5\\x31\\x14\\x20\\x2e\\x33\\x70\\x15\\x8f\\x4f\\x7b\\x14\\x9b\\x99\\x15\\xe4\\x94\\x8b\\x15\\x28\\x42\\x00\\x6d\\x9f\\x7c\\x47\\xcd\\xcd\\xbf\\x9b\\xcf\\x38\\xad\\xe4\\xd7\\xb5\\x6b\\xc0\\x00\\x6a\\x49\\xa2\\xca\\x2b\\xc8\\xe4\\x88\\x05\\x15\\xae\\xa4\\x94\\x78\\x6e\\x1a\\xe3\\x34\\x8f\\x82\\x59\\xe4\\x9d\\xdd\\x37\\xd5\\x6e\\xbc\\xe0\\x86\\xc5\\xb4\\x8d\\x6f\\xf3\\x35\\xf5\\x1b\\xc7\\xdd\\xda\\x1b\\xb7\\xf8\\xba\\xe2\\xc4\\x08\\x7c\\x74\\x32\\x3c\\x32\\xf8\\xfc\\x37\\xdf\\xfb\\x87\\x8a\\xc0\\xd3\\xe3\\x82\\x87\\x26\\xc2\\xee\\xaf\\xd1\\x86\\xbe\\xca\\x8b\\x36\\x5e\\xb4\\x6b\\xd0\\x90\\x9a\\x96\\xdd\\x1d\\xe1\\x2f\\x27\\x96\\xa0\\x6e\\xe1\\x93\\x64\\x7c\\x66\\x62\\xeb\\x1a\\xd4\\xf1\\x25\\xc1\\xa8\\x54\\x67\\xbb\\xc3\\x25\\x49\\x81\\x60\\x44\\x40\\x2c\\x2b\\x70\\x72\\x5c\\x0c\\x3a\\x4c\\xa5\\x25\\x31\\x8f\\x52\\x6c\\x29\\x26\\xbb\\x59\\x74\\x05\\x38\\x86\\x07\\x76\\x12\\x98\\x2b\\xe4\\xa4\\x53\\xf7\\xfe\\x0d\\x3a\\xba\\x37\\xf4\\xc1\\xd5\\xd7\\x17\\xda\\x07\\x1d\\xe3\\x18\\x25\\xdc\\x25\\x1a\\x0e\\x0f\\x59\\x27\\x7d\\x50\\x3a\\x42\\x8f\\x3e\\x36\\xa6\\xf9\\xca\\x71\\xff\\xdc\\xf8\\xe7\\xb3\\xd0\\x71\\xb2\\x61\\xc0\\x6b\\x1b\\x3f\\xbd\\xb7\\x18\\x7f\\xcd\\x89\\xf8\\x8b\\x4e\\x67\\x1b\\x30\\x3d\\xf8\\x01\\x17\\xe4\\xc3\\xf1\\x0f\\x3d\\x31\\x3c\\x04\\xe2\\x5b\\x60\\x57\\x8a\\xc9\\x23\\xc1\\x35\\xb8\\x7e\\xe2\\xcb\\x8e\\x44\\x71\\xe6\\xd9\\x62\\x0d\\xae\\x87\\xe9\\x36\\x7d\\x28\\xe3\\x37\\x03\\x9d\\xbf\\x46\\xe3\\x03\\xe8\\x9d\\x8a\\x30\\x80\\xf2\\x01\\xa8\\x08\\x33\\xa2\\xc3\\xc2\\x20\\x66\\x22\\xd9\\x7e\\x08\\xb4\\xa5\\x02\\x68\\x5b\\x46\\xad\\x95\\x1d\\xa8\\xc0\\xa3\\x7a\\x21\\xd6\\xca\\xc5\\x8b\\xc9\\xb1\\x98\\x81\\xd7\\x32\\xbf\\x32\\xab\\xf7\\x33\\xe5\\x99\\x0f\\xf6\\xe3\\xd1\\xc7\\xa8\\xdd\\x51\\x5a\\xdf\\x66\\x0f\\x90\\xb9\\x74\\x12\\xcf\\x61\\x38\\xf1\\x1b\\x24\\x86\\x71\\x51\\x4a\\x09\\x8e\\xb7\\xf0\\xc8\\xce\\xca\\x1e\\x49\\xb2\\xb0\\x2c\\xb2\\x91\\xff\\x73\\x01\\xb7\\xd9\\x62\\x1e\\x9f\\x76\\xd0\\x66\\x1a\\x8d\\xc3\\xc7\\xd7\\xf7\\xf5\\xec\\x7e\\xcf\\x6e\\x76\\x7a\\xa1\\x4d\\xf1\\xb0\\x21\\xa2\\x95\\xef\\x09\\x48\\x4b\\xc0\\xc8\\xc6\\xa8\\x91\\xb9\\xba\\x04\\xc2\\x7f\\xe2\\x0f\\xf1\\x8f\\x1b\\xe1\\x0e\\x5c\\x8f\\x3e\\xaa\\xde\\x58\\xdd\\x1d\\x77\\x3f\\xef\\x3c\\xf6\\x7e\\x7c\\x63\\xcb\\xc7\\x70\\x0a\\x9e\\xcc\\xac\\x65\\xce\\x3a\\x76\\xee\\xb9\\xc7\\xae\\xbf\\x9e\\xcc\\x45\\x83\\x86\\xf1\\x4b\\xf4\\xfa\\x90\\x54\\x59\\x27\\x8f\\x10\\x2f\\x0d\\x06\\x81\\x23\\xee\\xe8\\x51\\xdf\\xa5\\x82\\x04\\xec\\xc1\\xa0\\x0c\\x05\\xb6\\x54\\x2a\\x65\\x9b\\xd2\\xa5\\xde\\xa4\\x57\\xf2\\xe5\\xda\\xc1\\xf4\\x7e\\xb0\\x1c\\x70\\x8d\\x7e\\xdf\\xdc\\xa5\\x73\\x5f\\x98\\x5f\\x50\\xa8\\xf5\\x13\\x0a\\xfa\\xed\\xba\\x57\\x61\\xd5\\xa0\\x8d\\x6c\\x6a\\x45\\x7d\\x97\\xda\\xf4\\x42\\xec\\x62\\x49\\x69\\x49\\xc3\\xc6\\xba\\xcd\\xd3\\x68\\xa1\\xe1\\xb1\\xad\\xe9\\x1f\\x3f\\xfa\\xdb\\x89\\xf0\\x9f\\xb6\\x0b\\xa7\\x4c\\x9e\\x3c\\xec\\x7c\\xc8\\x3c\\x3e\\x06\\xb7\\x7e\\x15\\xb6\\x74\\xef\\x9b\\xee\\xe1\\x1e\\xe6\\x1a\\x9d\\x6a\\xbe\\xf1\\xda\\x85\\x0d\\x93\\xe5\\x27\\xee\\x1a\\x38\\x4a\\x2d\\x3e\\xac\\x6c\\x5a\\x32\\x61\\xfd\\x53\\x77\\xde\\x12\\xe8\\x77\\x56\\x4d\\xaf\\xce\\x75\\xae\\x6e\\x23\\x97\\x4d\\xba\\x7f\\x3b\\x3c\\x6b\\x48\\x6f\\x81\\x7b\\x4b\\xea\\x33\\x6f\\xf3\\x25\\x17\\x7b\\xb4\\x58\\x6a\\x34\\xfa\\x5a\\xad\\x71\\x1e\\x9c\\x2a\\x71\\xf2\\x02\\x60\\x78\\x04\\x78\\x10\\x0c\\xf0\\x48\\x8b\\xa5\\xa0\\xa0\\x45\\x53\\x2e\\x91\\x38\\x40\\x76\\xf2\\x0a\\xe6\\xf5\\xd7\\x1a\\xa5\\xa0\\x05\\x7d\\x62\\x35\\xd9\\x0a\\x61\\x75\\x40\\xfa\\x78\\xaa\\xc8\\xf6\\xcd\\x46\\x59\\xfd\\xae\\x6d\\x1c\\x3a\\xbb\\xbe\\xac\\xc7\\xe8\\x54\\xef\\x29\\x63\\x87\\xf5\\x9d\\x39\\x4f\\x0b\\xb7\\x2e\\x70\\x4c\\xb9\\x74\\xf2\\x28\\xdb\\x47\\x52\\xc5\\xb9\\xe3\\x87\\x2f\\x07\\x46\\xad\\xff\\x21\\x15\\x77\\x6c\\x40\\x2a\\x6e\\xb6\\xc8\\x5e\\xe4\\xb4\\x78\\x9d\\x28\\xe0\\x37\\x9b\\xed\\x8a\\xe2\\xb5\\x03\\x0f\\xd9\\x95\\xc0\\xee\\x75\\xd9\\x79\\xda\\x8a\\xdd\\x36\\x59\\x50\\x58\\x7f\\x4d\\x7b\\x14\\xba\\x19\\xd4\\xce\\x2a\\x08\\x99\\x5a\\xc3\\x4c\\xb6\\x8c\\x97\\x19\\xfe\\xe8\\x73\\xeb\\xd7\\x2f\\xba\\x2f\\x86\\x5b\\x7a\\xc0\\xb2\\x8f\\x89\\xf0\\x67\\xcd\\x3e\\xb8\\x02\\x7f\\x58\\xcf\\xc4\\xb7\\x3f\\x76\\xdb\\x43\\x97\\x5f\\x3d\\x68\\xf7\\x3b\\xf8\\x93\\x96\\xe5\\x27\\x1e\\x08\\xe2\\x1d\\x4c\\x95\\x9d\\xca\\x56\\x41\\x8c\\xde\\x43\\xec\\x70\\x12\\x69\\x56\\xa5\\x14\\xd1\\xc9\\x72\\x66\\xe0\\xe4\\x00\\x52\\xbc\\xa2\\xe8\\xe6\\x64\\xb7\\xad\\x21\\xdb\\xbc\\xee\\x6a\\x2b\\x06\\x89\\xd5\\xb5\\xe6\\x9c\\x3c\\x9e\\x69\\x2f\\x7a\\xe8\\xce\\xb5\\xf8\\xf8\\x03\\xd7\\x0c\\x1c\\xd9\\x6f\\x94\\x19\\x9f\\x08\\xfc\\x67\\xdb\\xfb\\xc7\\x99\\x87\\x6f\\x7e\\xad\\x12\\x1f\\x85\\x5b\\xb8\\x05\\x8b\\x67\\xce\\xb9\\x68\\x84\\xe3\\xe1\\x7d\\x5f\\xe8\\x98\\x88\\xdc\\x34\\x35\\xfe\\x2e\\x02\\xa5\\x60\\x66\\xaa\\xa7\\xd9\\x5f\\x1c\\xe1\\x79\\x9b\\xcb\\x59\\xec\\x0b\\x85\\xa0\\x93\\xf8\\xde\\xce\\xf2\\xb2\\x62\\x65\\x62\\xba\\xb8\\x98\\x09\\xba\\x5c\\xbe\\x00\\xe8\\x00\\x18\\x24\\x02\\xe8\\xe4\\x69\\x4b\\x3b\\x93\\x18\\x9f\\x66\\x90\\x93\\x18\\x1a\\xa7\\xab\\x6d\\x49\\xd1\\xf8\\x71\\x7a\\x8e\\xa5\\x22\\x3f\\x64\\xd7\\xd7\\x57\\xcd\\x43\\xd0\\x6a\\xcb\\x36\\x70\\x89\\xd4\\xdb\\xd0\\xc0\\x21\\x63\\xd1\\x2c\\x50\\xe2\\x4a\\xe6\\x86\\x42\\xa4\\xc4\\x95\\x6c\\xbf\\x5b\\x6f\\xc6\\xab\\xa0\\x80\\xff\\x84\\x4b\\xa0\\x94\\xc5\\x49\\x64\\x4c\\x68\\x41\\x0e\\x29\\x11\\x0e\\xb8\\xf8\\xa2\\x4b\\x2e\\x7b\\x7d\\x06\\x8a\\xe9\\x08\\x89\\x0c\\xf0\\x90\\x38\\x6a\\xbb\\x8a\\x1b\\x16\\xa2\\xb1\\x86\\xc5\\xe6\\x71\\xb1\\xc1\\x20\\x74\\x71\\x3e\\x9f\\xc9\\x66\\x73\\x15\\x85\\xad\\x01\\x0f\\xf0\\x4c\\x4c\\x9b\\x88\\xea\\x12\\x79\\x32\\x50\\xda\\x46\\x60\\x34\\x1d\\xa9\\x5e\\x55\\x01\\x01\\x98\\x54\\x93\\x87\\x9d\\xa4\\xc2\\x55\\xc4\\x34\\xc8\\x0a\\x59\\x6d\\xeb\\x91\\x6a\\x13\\x64\\xa7\\xf4\\x86\\x31\\xd9\\xe9\\x99\\x0d\\x4b\\x99\\xcb\\x61\\xe9\\x95\\x57\\xe2\\xbd\\xf8\\x08\\xfe\\x12\\x1f\\x9c\\xcd\\xec\\x5b\\xbf\\x31\\x73\\x3b\\x9a\\xc1\\xb8\\x33\\xdf\\xd3\\xd7\\xfe\\x65\\xb4\\xbd\\x0b\\x2a\\xd0\\x7e\\x3b\\xee\\xbc\\xfd\\xc9\\x2b\\x16\\xe2\\x2d\\x6a\\xfc\\xe5\\x00\\x90\\x1b\\xcc\\x2d\\x75\\xf1\\x68\\xb8\\xea\\x1f\\xad\\x6c\\x5d\\x4b\\xe2\\xfa\\xcf\\x55\\xfe\\xb3\\x00\\x59\\xb3\\x1e\\xc8\\x2f\\x13\\xbb\\xc8\\x78\\x7c\\x3e\\xd6\\x2a\\xba\\x05\\x13\\x64\\x58\\xc6\\xe4\\x66\\x43\\x41\\x81\\x63\\x58\\x67\\xc0\\x13\\x20\\x5b\\x9a\\x36\\xfa\\xda\\x14\\x4e\\x19\\x9f\\x36\\x73\\x48\\xf2\\xb1\\xbe\\x09\\x69\\x40\\xfb\\x7e\\x6b\\xda\\xa2\\xe7\\x1b\\xae\\x40\\x41\\xab\\xbb\\x9e\\xd1\\x56\\xc1\\x41\\x88\\xcd\\x4c\\x48\\x9a\\x56\\x4c\\x20\\xb2\\x4c\\x88\\x66\\x40\\xdc\\x31\\xc9\\x9d\\x80\\x9f\\xd6\\x6e\\xac\\x7d\\x16\\x4d\\xaa\\xda\\x58\\xd5\\xb0\\xf7\\x29\\xd8\\x09\\x5f\\xf4\\x1c\\xb3\\xab\\xe5\\x09\\x18\\x79\\x0a\\x77\\x7d\\xe6\\x99\\x19\\x33\\xb8\\x25\\xe3\\xc7\\x1f\\xc3\\x1b\\x8e\\xe1\\xd5\\xc7\\x50\\x4f\\x38\\xa9\\xa5\\x09\\x5e\\x4a\\x8e\\x65\\xd6\\x26\\x06\\x89\\xc7\\x47\\x6b\\x0e\\x36\\xa7\\x2a\\x38\\x4f\\xd4\\x9d\\x14\\x6d\\x8c\\x49\\x60\\x91\\xc3\\x6e\\x47\\x2e\\xc1\\xe7\\xf7\\x27\\xa4\\xd2\\x48\\x44\\x70\\x09\\x1d\\x2b\\x7c\\x3e\\x9b\\x28\\x02\\x5b\\x2c\\x91\\x8e\\x25\\x69\\xf7\\x69\\x24\\xed\\x2e\\x8d\\x94\\x36\\xa7\\x4b\\x22\\x11\\x5b\\x79\\x39\\xb0\\x79\\x98\\x06\\xda\\x1f\\x18\\xb4\\x84\\x9a\\xd3\\x16\\xa7\\x2d\\x46\\xdb\\xe0\\xec\\xc4\\x9c\\x02\\x0f\\x6d\\x41\\x6a\\xd2\\xf2\\x64\\x05\\x61\\x57\\xee\\x9c\\x6b\\x88\\xd8\\xed\\xe2\\x56\\xe8\\x05\\xdf\\x9a\\xdf\\x58\\xdf\\x8e\\xa9\\x95\\xc8\\x6c\\xa8\\xf0\\x52\\x0e\\x88\\xc8\\x71\\xac\\xa9\\x2b\\x71\\x93\\xa8\\x93\\xf3\\x28\\x75\\xcc\\x90\\x2b\\x46\\x1f\\xd9\\xf8\\xc7\\x33\\xd0\\xf2\\xeb\\x88\\x41\\xaf\\x6f\\x3c\\xf6\\x2a\\xee\\x75\\x53\\x97\\x73\\x28\\x97\\x40\\xfd\\x4f\\x4f\\x5c\\x34\\x1d\\x6d\\x5c\\x90\\x7c\\x8a\\xf7\\xf6\\xc3\\xbb\\x1c\\x67\\x79\\x22\\x78\\x28\\x3c\\xbd\\x06\\x9e\\x45\\x2c\\x6e\\xd4\\x03\\xd7\\xe2\\xca\\x75\\x78\\x95\\x09\\x1f\\x4b\\x2c\\x51\\xd6\\xad\\x45\\xdb\\x56\\x2d\\xfc\\xd3\\x8e\\x4f\\x35\\x75\\xbb\\xf1\\x99\\xc6\\x6e\\x9a\\x6e\\xa3\\xb5\\xed\\x97\\xaa\\xb8\\xa6\\xa3\\x53\\x1d\\x65\\x85\\x45\\x4e\\x9b\\xc3\\x62\\x71\\x2b\\xc8\\xa6\\xa0\\x60\\x80\\x65\\x81\\xe4\\xb5\\xd9\\x6d\\x13\\xd3\\x6e\\xbb\\x1d\\x48\\x92\\x93\\xc2\\xe2\\xa9\\x6c\\x28\\x7f\\x55\\xe2\\x95\\x6f\\x8d\\x0d\\x9f\\xc2\\xa8\\xbe\\x57\\x51\\xb7\\x25\\xa3\\xca\\xcb\\xc3\\x33\\xb6\\x8f\\x4e\\x94\\xc2\\xa4\\x6b\\xd2\\x79\\x63\\xc6\\xfe\\xfc\\x33\\x3e\\xce\\xf4\\x5d\\xba\\xf4\\x94\\x67\\xef\\x3f\\x2a\\x2e\\xbf\\x74\\xee\\x8c\\xef\\xf6\\xc3\\x8e\\xc7\\xc9\\xbe\\xfe\\xfa\\xe3\\xdf\\x69\\x9c\\x4f\\xe2\\x27\\x26\\xa1\\xf2\\x0b\\xfb\\x68\\xe5\\x36\\x22\\xbe\\xaa\\xd3\\x65\\x95\\x05\\xc1\\xe1\\x73\\xb9\\x02\\x7e\\x8a\\x13\\xde\\x48\\x2c\\xb4\\x05\\xd8\\x44\\xaf\\x3c\\x22\\xed\\x85\\xf9\\xb1\\x55\\x1b\\x77\\x21\\xd7\\x85\\xa1\\x9f\\x3d\\x23\\xe2\\xd2\\x5c\\x07\\xb5\\xed\\x94\\x47\\xc4\\x7c\\x68\\xd1\\xd7\\xd5\\x57\\x43\\xff\\xd5\\x57\\xdf\\xb6\\x02\\xfa\\xf5\\x20\\x8c\\x41\\xfb\\xe1\\x66\\x3c\\x66\\x7f\\xe6\\x85\\x35\\xf7\\xf2\\x9b\\xde\\x7b\\xcf\\xc0\\x8a\\x68\\x26\\x36\\x22\\x40\\x34\\xe1\\xe8\\x54\\xa5\\xcf\\xc6\\x81\\xa4\\xbb\\xc8\\x66\\x03\\xc0\\x5d\\x5e\\xe6\\xf3\\xf9\\xed\\x76\\xd1\\x6f\\xe6\\x26\\xa4\\xcd\\x88\\xbc\\x44\\x3f\\xf2\\xc6\\x29\\xf8\\xa3\\x18\\xcc\\x69\\x88\\x42\\x3c\\x80\\xf6\\x40\\x4f\\x38\\xad\\x1f\\x55\\x05\\x68\\xe9\\x4d\\xfb\\x9e\\x8b\\xb3\\xee\\x27\\xad\\xab\\x94\\xa8\\x35\\xa7\\x08\\x1e\\xdc\\xb5\\xb5\\xbd\\x8b\\x06\\x94\\x5c\\x19\\xdb\\x7c\\xd3\\x86\\xc3\\xef\\xe2\\x83\\x0f\\xc3\\xab\\xe1\\xb0\\x8f\\x1e\\x79\\x24\\x95\\x59\\x70\\xf9\\xf3\\xbd\\x7a\\x6f\\x1e\\xfd\\xfa\\xd1\\x77\\xa3\\x0d\\xc3\\xec\\xdf\\x98\\xad\\x4f\\xbf\\xb1\\x64\\xe2\\x33\\x70\\xe0\\x47\\x70\\x14\\x5c\\x76\\xd1\\xf0\\xd3\\x83\\x6a\\xaa\\x50\\x45\\xa7\\x0a\\x7c\\xea\\xc4\\x97\\x6a\\x63\\x8f\\x3a\\x2e\\xae\\x8c\\xd8\\x97\\x28\\xb1\\x34\\xe7\\xa5\\x2a\\x6d\\x42\\x69\\x00\\xc4\\xdc\\x6e\\x5e\\x10\\x02\\x14\\x08\\x0a\\x79\\x64\\x59\\x41\\x62\\x98\\x38\\x9c\\x61\\xa7\\x52\\xde\\x90\\x56\\xbc\\x4e\\x5b\\x63\\xda\\x69\\x21\\xaf\\x60\\x9b\\x73\\x52\\x08\\x1f\\x9a\\x73\\x3a\\xa1\\x5e\\xf4\\x56\\x30\\xba\\xfc\\xcb\\x03\\x77\\x1e\\x9f\\x6b\\x5f\\x2b\\x0f\\x2d\\xbc\\x3e\\xbe\\x4d\\x37\\xe5\\x2e\\x0b\\x8c\\xf0\\x11\\xad\\x89\\xce\\x77\\x5f\\x7a\\x5b\\xcb\\x83\\xda\\x00\\xb7\\xbc\\x75\\x2c\\xef\\x7a\\x00\\xaf\\xd3\\x63\\xc6\\x2c\\xe6\\xc4\\xfd\\x6a\\x0f\\x9f\\x9f\\xea\\x73\\x27\\xb4\\x7b\\xc9\\x1e\\xb7\\x7b\\x11\\x8f\\x4c\\xac\\xcb\\x6e\\x67\\x83\\x01\\x46\\x25\\x83\\xf4\\x0a\\x82\\x99\\x28\\x3c\\xb3\\x9c\\x6d\\x04\\xd3\\xf4\\x79\\x81\\xe3\\x51\\x53\\xd0\\xd6\\x11\\x83\\x31\\x03\\x04\\xbf\\x0d\\xdc\\x01\\xdb\\x84\\x5f\\x68\\x05\\x14\\x12\\x9f\\x99\\x92\\x0f\\x77\\xf0\\x39\\x2c\\x5b\\x78\\x1d\\xa3\\x64\\xbe\\x65\\x94\\xaf\\x99\\x1b\\x34\\xb8\\x83\\x67\\xd0\\x21\\x15\\xee\\x00\\x92\\x9d\\x0c\\x28\\xd7\\x06\\xb1\\x3c\\x63\\x52\\x95\\x8a\\xe8\\x0f\\x05\\x4c\\xb2\\xdf\\xcf\\x12\\x77\\x3b\\x40\\x02\\x37\\x93\\x29\\xc0\\xfa\\x42\\x20\\xd4\\x98\\x96\\x01\\x08\\xb0\\x62\\x40\\xb6\\x3b\\x1b\\xd3\\x76\\x57\\xa3\\xd6\\xcf\\x91\\x4d\\x0e\\xe5\\x35\\x85\\x15\\xb0\\x50\\xaa\\xf4\\x54\\xc4\\x04\\x19\\x59\\x21\\xc6\\xc0\\x39\\x13\\x74\\x04\\xa5\\xe0\\x55\\x5a\\xf6\\xa7\\x3c\\x35\\xa6\\x5f\\xb7\\xd8\\x80\\xae\\x17\\x5d\\x29\\xdc\\x73\\x2f\\x3e\\x7e\\x15\\xd3\\x1d\\xb2\\x77\\x5e\\xe2\\x7a\\xbe\\xe8\\x8a\\x71\\x95\\xe2\\x09\\xf1\\xae\\x3b\\xf6\\xe3\\xdb\\xe1\\xe5\\xfa\\xdc\\x9e\\xa7\\xce\\xad\\x8a\\x80\\x65\\xf5\\xb8\\x81\\x8b\\xb3\\x31\\x92\\xd9\\xc6\\xf1\\x36\\x5e\\x42\\x5e\\xd9\\xe5\\xe2\\x6d\\xc8\\x43\\xce\\xed\\xc4\\x34\\x20\\x07\\x97\\x77\\xda\\x10\\x6f\\x74\\x96\\x66\\x2d\\x65\\x61\\xb5\\x96\\x46\\xea\\x4e\\xf3\\x33\\xaa\\x87\\x5d\\x5b\\x53\\x1a\\x53\\x62\\x24\\xa6\\xac\\x8b\\xb1\\x9f\\xcd\\xfb\\x19\\x1f\\x25\\xff\\x7d\\xf8\\x9f\\xf9\\xa3\\x60\\x6d\\x23\\x23\\x34\\xc1\\xda\\xcc\\x9c\\x5b\\xf1\\x17\\xec\\xaf\\xfb\\xb1\\x9f\\xb6\\x98\\xc2\\xe3\\xfb\\x57\\xaf\\x5e\\x9d\\xd9\\xd2\\xa2\\xae\\xbd\\x9a\\x67\\x54\\x7b\\x8f\\xc2\\x20\\x9d\\xaa\\x0a\\x3a\\x2d\\x4e\\x49\\xf1\\x71\\x48\\x86\\x01\\xb7\\x1c\\x90\\x23\\x45\\xc1\\xa0\\x20\\xa3\\xb0\\xcb\\x4d\\xe6\\x10\\x28\\x6e\\xb7\\xe0\\x97\\x45\\x81\\xec\\x6a\\x81\\xec\\x6e\\xc1\\xd8\\xd9\\xed\\x88\\xaa\\x9f\\x58\\x1d\\xf1\\x89\\xca\\x8a\\xf2\\x3b\\x51\\x11\\x11\\x1a\\x11\\x83\\xe7\\x8e\\x91\\xb0\\x17\\xfd\\x7e\\xd9\\x0b\\xdf\\xe7\\x35\\xa1\\x7e\\xf9\\xd6\\xfc\\x05\\xb0\\x7c\\x0a\\xec\\x3f\\x01\\x96\\x64\\x3e\\x1f\\xfb\\x0a\\xb2\\xec\\xcf\\xac\\x30\\x7a\\x50\\x99\\xae\\xfb\\x61\\x67\\x7c\\x10\\x76\\x6e\\x79\\x1e\\x0e\\x57\\x6b\\x58\\x5b\\x7f\\x24\\xba\\xbb\\x86\\x9c\\xcd\\x12\\x50\\x03\\x16\\xa5\\x4a\\x82\\x72\\x69\\xb1\\xc9\\x24\\x3b\\x44\\xb1\\x23\\x42\\x72\\x6d\\xd7\\x60\\x30\\x06\\x1c\\x4e\\x47\\xd4\\x81\\xcc\\xc8\\xe1\\x88\\x25\\x8b\\x8b\\x5d\\xb1\\x52\\x41\\x33\\x67\\xa5\\xa5\\xae\\x18\\xa8\\x6a\\x48\\x03\\x67\\xcc\\xaf\\x21\\x7c\\xc5\\x88\\x3a\\x6d\\xca\\xe2\\x71\\x9f\\x89\\x97\\x48\\x8f\\x2e\\xa5\\x65\\x3e\\x03\\x8d\\x47\\x73\\x69\\x69\\x2a\\x4d\\x34\\xfa\\xf0\\x38\\x1d\\x43\\x4a\\x6b\\x47\\xee\\x83\\xd4\\xfc\\x50\\x37\\xa4\\x42\\x6b\\x68\\xa4\\x58\\xcc\\x37\\xf7\\x3f\\xf3\\xd1\\xc1\\x6f\\x87\\x8c\\x1c\\x7e\\x8e\\x19\\x26\\x83\\x27\\xf6\\x1f\\xf8\\xb4\\xbc\\x73\\xb4\\xc8\\x5f\\x56\\x56\\x59\\x34\\xed\\x62\\x0b\\x3f\\x37\\x7d\\xeb\\xa4\\xe6\\x8a\\x41\\x3d\\xfb\\x5d\\xde\\x87\\x1d\\xfe\\xe4\\xfa\\xcd\\xcf\\x30\\x6c\\xdd\\xb4\\xa9\\x83\\x9a\\x1d\\x1b\\x36\\xbe\\xfd\\x22\\x5c\\x35\\xf6\\x6c\\xfe\\x6e\\x12\\xa8\\xb1\\x97\\x5c\\x7c\\x24\\xf3\\x07\\xc3\\x26\\x06\\xf7\\x1a\\x76\\xee\\xe0\\xc5\\x83\\x0c\\xac\\x52\\x32\\x27\\x14\\xe3\\x98\\x78\\xeb\\x76\\x10\\x08\\x08\\x51\\xb7\\xe0\\x2e\\x49\\x12\\x65\\x65\\x77\\x90\\x18\\x4e\\x24\\x0e\\x7c\\xb8\\x21\\xed\\x75\\x3a\\xe3\\x0d\\x69\\x67\\x3e\\x2c\\x5d\\x5b\\x7c\\x63\\xad\\x2c\\xcf\\xd0\\x4e\\x3a\\xd7\\xf4\\x7f\\x53\\x4b\\x26\\xfc\\x13\\x6f\\xfe\\x4b\\x95\\x94\\xd9\\x32\\x79\\x85\\x7c\\x6d\\xf8\\x2f\\xd4\\x11\\x91\\xfd\\x06\\x22\\xfb\\xea\\x9c\\xec\\xc0\\x1e\\x08\\xf0\\x51\\xa2\\x6b\\xa9\\xec\\x66\\xe2\\xc9\\xb0\\x66\\x91\\x95\\x55\\xa9\\x9d\\xea\\x08\\xfe\\x47\\xd9\\x93\\x3a\\x16\\xb3\\x7e\\xac\\xbb\\xc5\\xb2\\xb9\\x29\\xa4\\x5d\\xda\\xd1\\xa4\\x14\\x7c\\xd8\\xca\\xe3\\xdf\\x79\\x13\\x74\\x52\\x8e\\x6c\\xd0\\x56\\xf8\\x27\\x55\\xd9\\x99\\x91\\x1a\\x3f\\x36\\x09\\x62\\xff\\x20\\x8e\\xe6\\x47\\x13\\xc6\\xc3\\xcb\\xa8\\xec\\x70\\x96\\x2e\\xbb\\x86\\xd3\\x7d\\x04\\xc4\\x40\\x47\\x8a\\x87\\x23\\x04\\xcb\\xca\\xec\\x64\\x04\\x32\\x40\\x9d\\x2a\\x05\\x21\\x12\\x0e\\x85\\xac\\x11\\x49\\x6e\\x4c\\x4b\\x3e\\xf2\\x8a\\x58\\xe5\\x48\\xb2\\x21\\x1d\\x71\\xa2\\x8a\\xff\\x7b\\x3c\\x1c\\x63\\x4c\\xf9\\x88\\x38\\x05\\x79\\x47\\x0d\\x13\\x27\\x0f\\x68\\xfa\\x99\\xfb\\x02\\xcb\\x12\\xae\\x26\\xe7\\x12\\x2d\\xd3\\x88\\x3f\\x2a\\x48\\x30\\x1a\\x68\\xd3\\xbb\\x57\\xde\\x63\\x11\\x0e\\x73\\xc2\\xa2\\x66\\x0d\\x89\\x3a\\x87\\x3b\\x4d\\xef\\xcf\\x12\\x64\\x5d\\x54\\xdc\\x69\\xd1\\xc9\\x39\\x59\\x8b\\xd7\\xcb\\x06\\xfc\\x34\\xc4\\xe2\\x80\\x5b\\x0f\\xb2\\x4c\\x39\\xb8\\x8b\\xbf\\xc2\\x9d\\xe6\\x68\\x4c\\xad\\xfa\\x42\\x2a\\x6a\\x98\\x16\\x72\\xd1\\x4a\\x77\\x26\\x76\\xc3\\xa1\\xeb\\x44\\x18\\xb0\\x5f\\xd6\\xf8\\xc9\\x87\\x63\\x26\\xd8\\xf0\\xd7\\x91\\x96\\xbd\\x27\\xa1\\x03\\xff\\xea\\x19\\xbf\\x75\\xa6\\x7d\\xf2\\xc5\\x70\\x2e\\x9c\\x4e\\x02\\xaf\\xc7\\x5f\\x21\\xee\\xff\\xaf\\xf8\\x14\\xfe\\x88\\xce\\xb9\\xa9\\xf5\\x55\\xb6\\x8e\\xc8\\x15\\x06\\x49\\x30\\x2b\\x55\\x8f\\xe2\\x21\\xa4\\x70\\x36\\xab\\x55\\x91\\x38\\x00\\x21\\x57\\xa4\\x28\\x5c\\x69\\x89\\xcd\\x66\\x02\\x81\\xa8\\xe8\\x81\\x6e\\xe4\\xf1\\x98\\x88\\xaf\\x64\\x8a\\x13\\xc7\\x36\\x1e\\x0f\\x98\\x4c\\x62\\x43\\xda\\xe4\\x2c\\x0e\\xd0\\x64\\xe7\\x99\\xe0\\xa8\\x14\\xd6\\xb3\\x6d\\xad\\x82\\x94\\xe7\\xca\\x2b\\x6a\\xca\\x9c\\x7a\\xaf\\x5e\\x45\\xad\\xd2\\x97\\x94\\xec\\x6d\\x49\\x29\\x0f\\xbb\\x92\\x93\\x4f\\xd6\\xe1\\x99\\xcd\\x3d\\x86\\xf4\\x82\\x8e\\x93\\x2f\\x9f\\x8a\\xe2\\xaf\\x29\\x94\\x33\\xf3\\xf8\\xa6\\xed\\xbb\\xff\\xf8\\x60\\xef\\x9a\\x2a\\x66\\xe4\\xc6\\xcb\\xae\\x3e\\x6b\\xf5\\x4b\\x7d\\xee\\x4a\\x8f\\x98\\x7b\\x1f\\xcd\\x10\\xbd\\xf2\\xb8\\x83\\x82\\x39\\x0f\\xbc\\x72\\xcd\\xb2\\xfb\\xb7\\x4f\\xef\\x0d\\xd9\\x8b\\xe6\\x8e\\x37\\x7c\\x90\\x3e\\xc4\\xf7\\x0b\\x11\\xdf\\x8a\\xf8\\x20\\x09\\x8b\\x5f\\x66\\x5d\\xe1\\xb0\\x2c\\x5b\\xca\\xcb\\x88\\xbd\\x66\\x39\\x4e\\xb0\\xbb\\xa1\\x3d\\x4a\\xbb\\x17\\x05\\xb2\\xaf\\x04\\x2f\\xf0\\x53\\xad\\xad\\x3b\\x80\\x67\\x56\\x33\\xb4\\x83\\x61\\xde\\xd6\\xe7\\x50\\xd3\\xd9\\x1e\\xcd\\x21\\xc9\\xcb\\x67\\xb3\\xd7\\x6e\\x5a\\x5f\\x58\\xa0\\xb0\\xa4\\xaa\\x47\\x70\\x16\\xbe\\x59\\x3f\\x2d\\x78\\xf4\\x53\\x4f\\x67\\x0a\\xeb\\x11\\xfe\\xfc\\x7c\\x91\\xed\\x30\\x67\\x43\\xef\\x14\\x9c\\x75\\x7a\\x27\\x37\\x38\\x7b\\x5e\\x3a\\xf2\\x9e\\x78\\x3c\\x04\\xca\\x6c\\xc0\\xd6\\xa9\\xd2\\xed\\x16\\x89\\x7b\\x85\\x44\\x1f\\x31\\xe7\\xbe\\x08\\x79\\x89\\x48\\x16\\xc9\\xb0\\x44\\xa7\\xb9\\x43\\x43\\xda\\xfc\\xdf\\x8e\\x4b\\x2e\\x50\\xa6\\x87\\xff\\x0c\\x8d\\x55\\x53\\x5a\\x9b\\x77\\x6c\\xe4\\xfc\\x71\\x8d\\x6c\\xa3\\xbb\\x18\\x26\\x7b\\x6a\\xb2\\x25\\x18\\xdf\\xb5\\xd5\\x5f\\xcf\\x5e\\x61\\x9c\\x99\\xcc\\xc6\\xec\\xe8\\x18\\x30\\x50\\x3f\\x2f\\x6e\\xb5\\xb3\\xb7\\x82\\x45\\xc8\\xa2\\x58\\x7d\\x66\\xb3\\x24\\x59\\x43\\x41\\x12\\x52\\x38\\x14\\x4b\\x73\\x5a\\xa1\\x34\\x6d\\x8a\\x02\\x1c\\x0e\\x8f\\x8a\\xa4\\xc8\\x37\\xb5\\x3d\\x3e\\x67\\x40\\x6e\\x17\\x44\\x14\\xaa\\xfe\\x8a\\xa9\\x6d\\x13\\xf4\\x04\\x21\\x8d\\x78\\x8d\\x29\\xdf\\xf2\\x43\\x3d\\x34\\x97\\xde\\x71\\xd9\\x9c\\xcc\\x90\\xdf\\xbf\\xfd\\x15\\x5a\\xf0\\xe9\\xdf\\xc6\\xcd\\x30\\xc1\\x47\\xd8\\x69\\x9e\\xb5\\xeb\\x94\\x25\\x0f\\x6d\\x30\\xc1\\x0e\\xb0\\x96\\x42\\x5f\\xe1\\xef\\xf1\\x27\\x68\\xdb\\xf5\\xd7\\x2f\\x5a\\xd9\\x5e\\x2f\\x94\\x22\\x9d\\xd1\\x0b\\x65\\xfb\\xdf\\xf5\\x42\\xe9\\x16\\xf2\\xff\\x71\\x2f\\x94\\x26\\x33\\x3f\\x44\\xf5\\xcd\\x93\\xe0\\xa2\\x54\\xd7\\x40\\x22\\x61\\x63\\x91\\xab\\x28\\x12\\x29\\xf6\\xbb\\xfc\\xa5\\x25\\x0e\\xa2\\x91\\x12\\xc5\\x52\\xb1\\x54\\x84\\x02\\xc8\\xcf\\x3a\\xfc\\x2c\\xeb\\x77\\x20\\x19\\xc8\\xb1\\x66\\xda\\x9f\\x1c\\xa2\\x63\\xc8\\x07\\x91\\xf2\\xa9\\x45\\x68\\x4a\\x3d\\xd1\\x4e\\xae\\xfa\\x36\\xf9\\x43\\xc3\\xca\\x2b\\x75\\x7a\\x82\\x50\\x51\\x2f\\x45\\x65\\x7d\\x48\\x49\\x63\\x44\\x12\\xe7\\x62\\x6a\\x9e\\x3f\\xd9\\x79\\x6f\\xc8\\x59\\xd7\\xb7\\x43\\xff\\x92\\xb3\\x17\\x2e\\xbd\\x72\\x45\\x12\\xff\\x41\\x47\\xb7\\x35\\xfe\\xbc\\x3e\\xba\\x8f\\x71\\xa3\\x4c\\xcc\\xfa\\xd6\\x92\\x95\\xc3\\x7a\\x28\\x9e\\x1d\\xdd\\xa7\\x5f\\xe3\\x23\\xcb\\xf1\\x99\\x3a\\xc6\\x8b\\x8f\\x6a\\x63\\x84\\xa3\\xcf\\xa2\\x85\\xb0\\x54\\xff\\x9e\\xdd\\xfa\\x1d\\xfa\\x3b\\x19\\x67\\x29\\x45\\xe1\\x2b\\x4e\\x4a\\x4e\\xc5\\x52\\x44\\x16\\x86\\x0f\\x3a\\x93\\x7c\\x79\\x19\\x1f\\x0c\\x04\\x82\\xcd\\xe9\\x62\\x20\\x11\\x7b\\x09\\xec\\x76\\xb2\\x9d\\x88\\xd3\\x1b\\x3b\\x63\\x3b\\xb9\\xea\\x5d\\xf5\\x46\\x2b\\x4e\\x1b\\xdc\\xd9\\xbc\\xba\\x9c\\xfc\\xac\\x68\\x8d\\x9c\\xc5\\x71\\x50\\x1c\\x90\\xb1\\x1f\\xfd\\x61\\xdd\\xdc\\x99\\x57\\x7f\\xf6\\xec\\xce\\x6f\\x02\\xdf\\x9b\\x26\\x0d\\x1f\\x3c\\x7c\\xf9\\x1d\\x0f\\x2d\\x4f\\x37\\x0e\\xbe\\x4c\\xfa\\xb9\\xfc\\x63\\xcf\\xa6\\x75\\x97\\xad\\x75\\xb2\\xee\\xc5\\x13\\xaf\\xdb\\x78\\xef\\xed\\xde\\x01\\x43\\xfb\\xf7\\x1a\\x36\\x68\\xdb\\xd0\\x91\\xa9\\x86\\xf4\\xb9\\x1d\\xd7\\x3d\\x48\\xc7\\x51\\x4b\\xc6\\xf1\\x9c\\x31\\x0e\\x4b\\x52\\x2a\\x52\\x7c\\xe4\\x6c\\xf8\\xec\\xb1\\x22\\x3a\\x8e\\x18\\xf1\\x4e\\xec\\xcd\\x69\\x16\\x28\\x41\\x87\\x03\\x04\\x83\\x64\\x1c\\x41\\x27\\x10\\xfe\\x6f\\xc6\\x91\\x6b\\x1a\\x4f\\xd4\\x66\\x93\\x8c\\xb9\\x62\\x3b\\xb5\\x32\\x87\\x87\\xdf\\x6f\\xff\\xb8\\xfc\\x67\\x69\\xfa\\x39\\x8d\\xe9\\xe5\\x0f\\xdd\\x79\\xc3\\xf0\\xc1\\x0d\\x13\\x4d\\xdf\\xfb\\x8f\\xef\\xdc\\xf1\\xc9\\xa2\\x6b\\xae\\xbb\\xe7\\x67\\xcf\\x83\\xeb\\x3a\\x0e\\x39\\xbf\\x21\\x35\\x72\\xe8\\xb6\\x41\\xc3\\x7a\\xf5\\x1f\\xd6\\xdf\\x7b\\xfb\\xbd\\xeb\\xaf\\x9d\\xb4\\x34\\xc0\\x38\\xd6\\x5c\\x72\\xd7\\x53\\x6a\\xce\\x91\\xe8\\xae\\x05\\x64\\x1c\\x35\\x60\\x46\\xaa\\xa7\\xa5\\x4b\\x45\\x49\\x24\\x3b\\x94\\xca\\xa2\\x2e\\x7c\\x6d\\xd7\\x32\\xe2\\xa3\\x14\\x55\\x04\\x2b\\x2b\\x8d\\x21\\x95\\x29\\x8e\\x60\\x99\\xa3\\xec\\xaf\\x87\\x45\\x37\\x1f\\xad\\x11\\xcc\\x0e\\xad\\xbe\\xbe\\x00\\x64\\xa3\\xe6\\xff\\x60\\x88\\x64\\x6f\\x7a\\x73\\x5b\\x33\\x3b\\xdc\\xaf\\xda\\x1f\\xee\\x0d\\x7b\\x2a\\xef\\xf5\\x86\\x2e\\xd7\\xf6\\xe8\\x94\\xd5\\xd1\\x1e\\xf7\\xfd\\xc5\\xe0\\x47\\x9d\\x13\\x9e\\x7f\\x27\\xdd\\xa5\\x13\\xc6\\x8c\\x8b\\xeb\\x93\\xc0\\x80\\x66\\xa2\\x2f\\xea\\x54\\x7d\\x91\\x00\\x5d\\x52\\x01\\xa7\\xd7\\x6b\\x0e\\xa2\\x58\\xcc\\xe6\\x0b\\xb2\\xc9\\x62\\x37\\x68\\x26\\x1e\\x41\\x11\\x51\\x69\\x45\\xb9\\x41\\xea\\x83\\xd1\\xcd\\x0d\\x9f\\x2d\\x9b\\xd2\\xc7\\x51\\xaa\\x56\\x22\\xe9\\x68\\xcd\\xaa\\x4f\\x70\\xd5\\xa2\\x15\\x37\\x2c\\x68\\x4c\\x8f\\x5b\\x36\\x77\\xfc\\xf0\\xa1\\xbb\\x7e\\x38\\xb6\\x68\\xc5\\xc9\\x23\\x2d\\xf8\\x18\\x0c\\xa1\\xf5\\x7b\\x5e\\xd9\\xfe\\x1a\\x91\\x72\\xd0\\xce\\xb3\\x1b\\x7a\\xf5\\xdf\\xbe\\xe1\\x9a\\xfd\\xb5\\xf6\\x65\\xd3\\xee\\x79\\xce\\x40\\xb3\\x24\\x6b\\x24\\xe2\\xd1\\xcc\\xbd\\x24\\xbe\\x91\\x89\\x27\\x99\\xb0\\xcb\\x32\\xbd\\xe3\\x72\\xb9\\x90\\x20\\x28\\x5e\\xa2\\xc4\\x64\\x8f\\xdc\\x90\\xe6\\x3d\\xb2\\xc5\\xde\\x90\\xb6\\x88\\x4d\\x69\\x4b\\x36\\xa2\\xd1\\x32\\x7a\\x79\\xbc\\x69\\xda\\xe6\\xaa\\x93\\x8c\\xa4\\x8d\\x11\\xcb\\xd0\\x64\\xce\\x31\\xe8\\xdb\\xb0\\xc1\\xa0\\x08\\x3a\\xb2\\x17\\x2d\\x6c\\x59\\xb6\\x77\\x85\\x4e\\x13\\x74\\xd9\\x5e\\x3d\\x7f\\x30\\x5c\\xb5\\x73\\x65\\xa0\\x1a\\x4c\\x48\\xd5\\x84\\xc4\\xf2\\xf2\\x04\\x10\\x78\\xbe\\x13\\xd1\\x43\\x5d\\x6b\\x22\\x25\\x8d\\xe9\\x48\\x82\\xbc\\x7c\\xce\\xa0\\xcb\\xe7\\xeb\\xd8\\x90\\xf6\\x39\\x89\\xe9\\x73\\xb9\\x3a\\x37\\xa4\\x5d\\x32\\xb2\\x34\\xb5\\x05\\x09\\x31\\x76\\x8b\\x81\\xd7\\x95\\x97\\x47\\x55\\x4d\\x1e\\x9b\\xc8\\xcb\\x36\\xd5\\xe5\\x6c\\x9f\\x52\\x23\\x9d\\x61\\xf9\\x24\\xcd\\xf0\\xe1\\x53\\xa7\\xde\\xf8\\x39\\x04\\xfd\\xe2\\x45\\x8d\\x73\\x2e\\x63\\x98\\x71\\xad\\xaf\\x1c\\xf8\\xe7\\x3b\\xdf\\x8d\\xe5\\xb6\\xdc\\x93\\xb5\\x7f\\xb4\\x9b\\x6e\\xd6\\xbc\\xd8\\xf1\\xef\\xee\\xba\\x39\\x76\\xd6\\x90\\x5b\\x6f\\xa9\\x9f\\xbe\\x0f\\x16\\x91\\xa9\\x36\\xc3\\xe8\\x6b\\xb0\\x74\\xd5\\xdd\\xba\\x0d\\xdc\\xf2\\xd8\\x4b\\xf8\\x6e\\xfc\\xc0\\x4b\\xc0\\xe8\\x6b\\x62\\x1b\\x5c\\x3c\\xed\\x6b\\xd2\\x79\\x34\\xa6\\x92\\xfd\\xa2\\x66\\x8e\\x21\\x6b\\x91\\x9c\\x4e\\xd6\\x6b\\x09\\xb1\\xac\\xa5\\x28\\x2c\\x49\\x82\\x9d\\x81\\x8d\\x69\\x86\\x11\\xec\\x76\\x37\\x8d\\xd9\\x05\\xe2\\xbf\\x08\\xde\\xff\\x82\\xb9\\x9f\\x4d\\x35\\x90\\xbd\\x94\\x50\\xa1\\xaa\\xb4\\x96\\x49\\xd5\\x1b\\xcb\\x31\\x20\\xd5\\xa1\\xf3\\xdf\\x86\\x1f\\x5c\\x7d\\x7c\\x29\\x3e\\x89\\xff\\x01\\xcb\\x5a\\x5e\\xc1\\x1d\\xf0\\xbf\\x7d\\x3b\\x17\\x2d\\x5b\\xb3\\xaa\\xff\\xd8\\x8e\\xf0\\xe2\\x43\\xb8\\xc7\\xe0\\x5e\\x2a\\x69\\x86\\x09\\x56\\x6d\\x7d\\xb8\\xf4\\x91\\x6d\\x9b\\x9f\\x79\\x51\\x56\\xa8\\x6f\\x89\\x1b\\xd9\\x69\\x6a\\x7d\\x5b\\x88\\x72\\xc5\\xd8\\x44\\x20\\xb3\\xc8\\xec\\x94\\x1c\\x76\\x09\\xd9\\x15\\xb3\\x0b\\x21\\x73\\x51\\x58\\xa4\\xf0\\x33\\xbc\\xd3\\x2e\\xf2\\x01\\xb2\\x9d\\x42\\xb9\\xcc\\xc8\\x19\\x1e\\x96\\xe1\\x35\\x42\\xc5\\x9b\\x83\\x23\\xd7\\x70\\x90\\x69\\xd5\\xaf\\x5e\\x08\\xf9\\x6d\\xff\\x49\\x4f\\x3d\\xb0\\xe1\\xd9\\xb3\\x9a\\xf1\\xf5\\xb0\\x1c\\xb2\\x50\\x84\\x25\\xb8\\xac\\xaa\\xec\\xbc\\x8e\\x1d\\x3a\\x54\\x42\\x71\\xc1\\xb6\\x8b\\xd7\\x6e\\xd8\\xb8\\xba\\xc7\\xb6\\x75\\xa8\\x67\\xe6\\x1e\\x66\\xea\\xe9\\xb3\\xbb\\xdc\\x38\\xf0\\xa1\\x71\\x5d\\x7b\\xf6\\xd0\\xf9\\xa8\\x0e\\x92\\xf9\\xb5\\x82\\x4a\\x9a\\xc9\\x94\\x42\\x65\\x3c\\xeb\\x88\\x77\\x54\\x1c\\xa8\\xa3\\xd9\\xd1\\xd1\\x51\\xd5\\x29\\x14\\xf2\\xf3\\xbc\\x3f\\xe1\\xf5\\xda\\xfc\\x49\\x8f\\xdf\\xd3\\x98\\x8e\\xfa\\x9d\\x36\\xd0\\x90\\xb6\\x79\\xdb\\x56\\x8f\\xd4\\x48\\x67\\xa2\\x6f\\xab\\xc2\\x27\\xb5\\x83\\xaa\\x96\\x3c\\x2a\\x51\\x3a\\x82\\x52\\xad\\x12\\xbb\\xa6\\x3a\\x02\\xeb\\xb2\\xd0\\x57\\x22\\xa4\\x20\\x1e\\xcc\\xe5\\xc9\\x4e\\x89\\xce\\x5d\\xe2\\x95\\x25\\xf8\\xed\\xea\\xc9\\x23\\xcb\\xd3\\x8d\\xe7\\x0d\\x5a\\xb4\\xf6\\x85\\x11\\xe7\\x0c\\xaa\\xb8\\xfe\\xc2\\xb5\\x8b\\x06\\x9d\\xd7\\x98\\x2e\\x1f\\x39\\xa4\\x3a\\xb0\\xa5\\x73\\x79\\x62\\xdc\\xd0\\xc6\\xb1\\xb1\\xf2\\xce\\xaf\\x9c\\xec\\xb5\\x7a\\xdb\\x93\\x63\\x06\\xbd\\x31\\xe3\\xc1\\x15\\x2b\\x46\\x0c\\x9b\\xf1\\xc6\\xa0\\x31\\x4f\\x2e\\xbd\\x6c\\x7c\\xe5\\x49\\x8a\\xd9\\x86\\x47\\xb3\\x23\\xc9\\x7a\\xa8\\xb8\\x5c\\x50\\xe2\\x2d\\x16\\xe2\\x4f\\x79\\xdc\\x56\\xab\\x43\\x70\\x89\\x96\\xa0\\x03\\x35\\xa6\\x1d\\xde\\xbc\\x56\\xb7\\xb6\\x20\\xc5\\x06\\xcc\\xb3\\xa4\\x87\\xe6\\x3a\\xf4\\x1a\\x3e\\xd1\\xe9\\xf9\\x79\\xf9\\x70\\x6b\\xa7\\xc2\\xcc\\xa4\\x69\\x17\\x69\\x08\\x6b\\x06\\x4e\\xf8\\x64\\x15\\x93\\xeb\\x9c\\x54\\xd2\\x27\\x38\\x8b\\x44\\x93\\x20\\x3a\\x05\\x67\\x3c\\x06\\xa2\\x51\\x27\\xf2\\x90\\x70\\xce\\x13\\x24\\x2f\\x64\\x72\\xca\\xc8\\xda\\x98\\x46\\xba\\x4b\\x51\\x93\\xef\\x9b\\xe6\\xcd\\xa4\\xba\\x63\\xf5\\xaa\\xa3\\x58\\x0e\\x3b\\x39\\x3f\\x98\\xf3\\x08\\xf0\\x11\\x0d\\x31\\xf9\\x5f\\x6a\\xdd\\x51\\xd6\\x11\\x35\\xa1\\x49\\x6a\\x39\\x51\\x33\\x73\\xa1\\x86\\xf7\\xce\\x6e\\x37\\xfc\\xcf\\x73\\x2e\\xbf\\x44\\x97\\x97\\x72\\x62\\x13\\x79\\x3b\\x80\\x31\\xa9\\x2a\\x47\\x5c\\x08\\x94\\xf9\\xfd\\x01\\x97\\x20\\x04\\x3a\\x56\\x80\\x0e\\x1d\\x02\\xa8\\x28\\xde\\x98\\x2e\\x4a\\x92\\x17\\x0a\\xc8\\x48\\xa6\\xf2\\x5a\\x1c\\x8d\\x69\\x8b\\xb3\\x31\\xa7\\x03\\xdb\\x7a\\xd6\\x05\\xd2\\xe7\\x89\\xaf\\xd5\\x85\\x51\\x65\\x58\\xfb\\x3f\\x0c\\xe4\\xfe\\x47\\x3a\\x5f\\x15\\xea\\x51\\x75\\x5d\\xfb\\xc3\\xe1\\xb6\\x3d\\x69\\xe5\\x0f\\xdb\\x16\\x31\\xcf\\xb6\\x3b\\x2a\\x86\\x18\\x4a\\xa0\\xe6\\xbe\\xad\\x40\\xa4\\x79\\x01\\x91\\x35\\xd9\\xa0\\x99\\x37\\x59\\x4d\\x64\\x0b\\x38\\x29\\x1a\\x7a\\xa3\\x86\\x86\\x2e\\x9a\\x65\\xbb\\x6d\\x44\\xda\\x0e\\x73\\x9c\\x6a\\xed\\xb1\\x60\\x16\\x62\\xa3\\x53\\xa4\\x43\\xef\\x02\\xe8\\xbf\\xe6\\x1a\\x7c\\x7c\\x01\\xf9\\x9b\\x59\\xab\\xe6\\xb6\\x71\\x3d\\xdc\\x87\\xba\\xd1\\xdc\\x36\\x04\\x97\\xb5\\x7e\\xc7\\xd4\\x93\\xbd\\x67\\x07\\x25\\x29\\xb7\\xc0\\x30\\x94\\x6f\\x0e\\x88\\x16\\x81\\xcc\\x19\\xd7\\xa8\\x01\\xf2\\x18\\xd0\\x74\\x7a\\x42\\xbd\\x00\\x3a\\xf1\\x32\\xe8\\xef\\xd6\\x27\\x9c\\x18\\xdb\\x6b\\xe3\\xed\\x64\\x9f\\x79\\xfb\\xf6\\xe6\\xbf\\xb0\\x3f\\xf3\\x12\\xbd\\xf7\\x25\\xe3\\x3a\\x45\\xbe\\xd7\\x0a\\xea\\x53\\x21\\xd6\\x04\\xcd\\x26\\xde\\xcc\\x5b\\xad\\x76\\x1b\\x07\\x55\\x75\\x28\\xf2\\x16\\xb3\\xa5\\x51\\xab\\xef\\x2a\\xb8\\xe8\\xcd\\xcb\\xdd\\x53\\xed\\x47\\x06\\x52\\x23\\xc7\\x6a\\x6b\\xa0\\xeb\\x5d\\x66\\xe7\\x7b\\xef\\x65\\x86\\xbc\\x8b\\xa6\\x1d\\x3c\\x98\\x99\\x72\\xf0\\x60\\x16\\x27\\x93\\xd9\\xac\\xd6\\x08\\x9e\\x9f\\xf2\\x3b\\x44\\x96\\x23\\x71\\x3b\\xb0\\xba\\x4d\\x6e\\x40\\xef\\x5e\\x1d\\x66\\xca\\xad\\x62\\xa2\\x40\\xf7\\x3b\\xd3\\x26\\x13\\x30\\x5b\\x5d\\xea\\x3f\\xad\\x56\\x33\\xa4\\x05\\xbc\\x7d\\x73\\xd8\\xb6\\x05\\x61\\xbd\\x94\\x8f\\xe5\\x43\\x0b\\x0f\\x88\\x5e\\x48\\x10\\x9d\\xa0\\xdd\\xa9\\xd6\\xd0\\xdb\\xd5\\x7d\\x1d\\x42\\x4b\\x26\\x5d\\x0c\\xfd\\xa5\\xf1\\xc5\\xe3\\x2f\\x65\\x3e\\x62\\x2a\\xeb\\x6e\\xbd\\x9a\\x67\\x06\\x65\\xfa\\x32\\x1d\\xeb\\xef\\x9c\\xcb\\x65\\x1e\\xd0\\x62\\x41\\x8a\\x73\\xff\\x9a\\x5a\\x8b\\xa0\\x80\\x61\\xa9\\x12\\x20\\x32\\x36\\x09\\xc9\\x26\\x06\\x21\\x93\\xdf\\xe7\\x72\\x5b\\x49\\x9c\\x61\\xb5\\x22\\x3b\\x64\\x25\\xb6\\x39\\x2d\\x4a\\x44\\x01\\x43\\x54\\x88\\x7b\\xaf\\x0a\\x57\\x70\\x09\\xae\\xe7\\x4c\\xd4\\x25\\x56\\xb5\\x6d\\x4f\\x9a\\x33\\xad\\x89\\xd5\\x52\\xae\\xa2\\x1a\\xe6\\xb5\\x79\\xf8\\xb8\\x6b\\xfe\\x1d\\xb7\\xcf\\x51\\xa0\\x7f\\x1e\\x9e\\xe5\\x9a\\x30\\x01\\x1e\\xc7\\x7e\\xf8\\xaf\\xb5\\xb3\\xae\\x58\\x0b\\x3f\\x6d\\x79\\xe7\\x91\\xc6\\x91\\xd9\\xf3\\xc4\\xac\\x55\\xeb\\x87\\xc8\\xda\\x5b\\x78\\x1e\\x21\\xd1\\xc1\\x42\\x40\\x96\\x05\\x98\\xf2\\xe2\\xeb\\xdc\\xda\\x43\\x1d\\x3c\\x5e\\x0f\\x9d\\xdf\\x7f\\x74\\x83\\x11\\x23\\x8f\\x7e\\x72\\x1b\\xef\\xd7\\xa3\\x61\\xfd\\xbb\\xcf\\x63\\xb7\\x90\\xef\\x0e\\x93\\x75\\xa9\\xe4\\xfd\\x7e\\x33\\x70\\x8a\\x22\\x40\\xe1\\x30\\x08\\x72\\x9c\\x6c\\x36\\x83\\x48\\x91\\xd3\\x69\\xf3\\xfb\\x01\\x82\\x64\\x25\\x10\\x09\\x87\\x91\\x68\\x73\\x35\\x65\\x11\\x00\\xd5\\x4d\\x2e\\xb5\\x07\\x11\\xae\\x1f\\x56\\x6d\\x5d\\x54\\x36\\x72\\xea\\x58\\x81\\x44\\x36\\x70\\xd4\\xc1\\xe4\\xa4\\x35\\x64\\xc3\\xbf\\x89\\x3f\\x78\\x7c\\x37\\xfe\\xf0\\xf7\\x6d\\xa7\\xba\\x41\\x38\\xec\\xde\\xa5\\x73\\xd7\\x6f\\xf3\\x43\\x05\\x5f\\xc2\\xbd\\x83\\x67\\xbc\\x86\\xd7\\x86\\xbf\\xdd\\xf9\\x2d\\xfe\\xcf\\x8a\\x25\\xbd\\x6e\\x5a\\xbb\\xfe\\xf6\\xe5\\x7b\\xe0\\x05\\x2d\\xb7\\xa9\\x18\\x9a\\x27\\xf8\\x3b\\xc9\\xde\\x2d\\xa1\\xd6\\xd1\\x0b\\x93\\x49\\x73\\x34\\xec\\xe4\\x79\\xb3\\x39\\x5c\\x56\\x2a\\x39\\xbd\\x48\\x51\\xec\\x25\\x42\\x11\\xb1\\x8f\\x28\\x1e\\x20\\x2a\\xc7\\x13\\xf0\\xb6\\x41\\xe3\\x57\\xf2\\x57\\x4b\\x65\\x4d\\xc9\\xd7\\xd3\\x1a\\x4e\\xa6\\x56\\x61\\x97\\x07\\xc9\\xaf\\x72\\x65\\x49\\xac\\xf4\\xc8\\x79\\xd3\\xa0\\x9f\\xe2\\x65\\x22\\x0b\\xdb\\x75\\xfd\\x65\\x27\\x6b\\xf9\\xba\\x7b\\xe7\\x6d\\xd8\\x04\\x95\\x47\\x9a\\x2f\\xe5\\x34\\x65\\xbe\\x75\\x15\\x33\\xa0\\x65\\xd7\\xe8\\x99\\x1d\\x3d\\x8f\\x44\\x16\\xce\\xfa\\xee\\xda\\x19\\x1f\\xbc\\xc5\\x3c\\x4d\\x7f\\xf1\\xc0\\xcd\\x4c\\x93\\xb6\\xb6\\xc4\\xa6\\xf0\\xb7\\x90\\x31\\x44\\xc9\\x18\\x8a\\x9d\\x30\\x12\\x31\\x2b\\xd4\\xae\\x04\\x14\\xb3\\x12\\x8f\\x59\\x9d\\x92\\xe4\\x89\\x0a\\x3e\\x62\\x5c\\x50\\xc8\\x43\\xe6\\xde\\xe1\\x69\\x3b\\x84\\x9a\\x36\\xba\\xb1\\xcd\\x18\\x34\\x5b\\xd3\\x46\\xfa\\x5a\\x43\\x7a\\xfc\\x63\\xf5\\xfa\\x2b\\xf2\\x04\\x3f\\x6f\\x5a\\x4e\\x6e\\x62\\x84\\xae\\xbc\\xf2\\xb2\\x3c\\x99\\x9f\\x58\\x62\\xc8\\x4c\\xeb\\x66\\x37\\xb0\\x0d\\xa0\\x0a\\x8c\\x4d\\x75\\x96\\xab\\xaa\\x40\\x31\\x30\\x95\\x85\\x45\\x41\\x30\\x85\\x4d\\x5d\\x3a\\x7b\\x9d\\x14\\x55\\xde\\x64\\x15\\x81\\x49\\xae\\x40\\x14\\xba\\xdf\\xef\\x76\\x46\\x8b\\x89\\xb1\\x27\\x8e\\x66\\xb4\\x8d\\x93\\xab\\x32\\x59\\xb4\\x59\\x06\\x7d\\x13\\xc7\\xda\\x43\\xf5\\x57\\x6a\\xfe\\x52\\xf1\\x23\\xdb\\x23\\xa3\\xa6\\x1b\\x15\\xb2\\xda\\x82\\xd4\\xdc\\xb7\\x60\\xc3\\x26\\x5d\\xf1\\x2f\\x21\\xbf\\xa5\\x75\\xb1\\x5b\\x57\\xe5\\xd5\\xc5\\x7e\\x77\\xcd\\xec\\x0f\\xde\\xca\\xb0\\x86\\xf2\\xdf\\x0e\\xc3\\x9b\\x6e\\xc8\\x50\\x5c\\xd3\\xd6\\x47\\xa9\\x0d\\x23\\x63\\x8c\\x51\\x6c\\xc9\\x70\\x8c\\xf7\\x7a\\x63\\xa2\\xc3\\x11\\x23\\xae\\x06\\xcf\\x8b\\x8c\\x28\\xca\\x16\\x17\\x35\\x59\\xfe\\x30\\x19\\x5e\\x84\\xbc\\xf2\\x0d\\x57\\x5b\\xd8\\x2e\\x0d\\x34\\xb9\\xa0\\xd8\\xd7\\x18\\x5c\\xde\\x30\\xd6\\xe4\\xf3\\x14\\x50\\xab\\xbb\\xe1\\x51\\x4d\\xf0\\xfc\\x2a\\xde\\x26\\xbd\\xb4\\x77\\xa6\\x2e\\xb2\\xb1\\x1e\\xdc\\x70\\x43\\xd6\\xa0\\xd7\\xc1\\xf3\\x42\\xcc\\xeb\\x15\\x88\\x17\\x54\\x50\\xb4\\x5c\\x14\\x20\\x26\\x97\\xf8\\x0a\\x45\\xff\\x93\\xac\\x7f\\x51\\xa0\\xec\\xc9\\x5e\\x0d\\xd6\\x9e\\x59\\x8d\\xac\\xaa\\x97\\xda\\x4d\\xf7\\xb5\\x53\\x7a\\xdc\\x92\\x51\\xd5\\xcd\\x96\\x67\\xa8\\xac\\x37\\x13\\x5f\\xe6\\x42\\xd5\\x8e\\x75\\x4d\\xf9\\x4c\\x1c\\xc7\\x43\\xab\\x15\\x00\\x5e\\x74\\x10\\xc7\\xdb\\x6c\\xe6\\x6d\\x82\\x08\\x79\\x95\\xe1\\xa4\\xad\\x0b\\xab\\x89\\x56\\x0e\\x29\\xdb\\x04\\x25\\x1a\\x20\\xbb\\xb9\\x86\\xbd\\x10\\xb7\\xe0\\xb8\\xe5\\x14\\xd1\\x2c\\xaf\\x5b\\x4e\\x31\\x7f\\x5c\\x32\\x25\\xf3\\x01\\xd9\\xc1\\xf2\\x8d\\xcd\\x8c\\x0b\\x20\\xad\\x7e\\x5e\\xf5\\x47\\x9d\\xc4\\x7e\\x8f\\x49\\x75\\x76\\x78\\x3c\\xbc\\xe8\\x26\\x26\\x87\\xf7\\x29\\xa2\\x07\\x3a\\x38\\x87\\xa7\\x21\\xdd\\xd1\\xd1\\xcb\\xc1\\x20\\xbb\\x03\\x3a\\x58\\x87\\x03\\x99\\xcd\\x36\\x15\\x8b\\x5f\\xca\\x4b\\x8a\\xe7\\x15\\xc4\\x54\\x00\\x7a\\xff\\xd2\\x76\\xba\\x40\\xcc\\x60\\x41\\x48\\xc6\\x51\\x8c\\x41\\xd5\\x6e\\x32\\x6f\\xec\\xed\\xf8\\x63\\x8c\\x75\\xf6\\x03\\x12\\xa6\\x28\\x99\\x63\\x5f\\x46\\xe0\\xc9\\xf0\\xf1\\xcf\\xe2\\xd8\\xee\\x5e\\xc4\\x14\\xe1\\x3f\\xf1\\x91\\x2c\\xf7\\xc1\\x67\\x13\\xf0\\x09\\x28\\x67\\x22\\x90\\x5f\\xba\\x4c\\xc7\\x05\\xe2\\x87\\x13\\xd9\\xbd\\x20\\x02\\x66\\xa5\\x7a\\x13\\xa9\\x15\\x45\\xb2\\x23\\x39\\xc8\\xc9\\x5c\\x2c\\x6a\\xb1\\x90\\x49\\xb3\\xba\\x42\\x62\\x47\\x91\\x41\\x40\\x84\\x22\\x2f\\x8a\\x5e\\xab\\xc9\\x4f\\x93\\xc9\\x56\\xe2\\x4b\\x59\\x45\\x2f\\x89\\x61\\xbc\\x32\\x53\\xd4\\x90\\x66\\xda\\x50\\x0a\\x14\\xd4\\xf7\\x14\\xb8\\xd9\\x59\\xd6\\xa2\\x24\\x9f\\x65\\x18\\xd0\\x89\\x5e\\xd5\\xff\\x90\\x33\\xa6\\x31\\xac\\xa1\\x1b\\xe6\\x3d\\xa4\\x0f\\xec\\xfe\\x39\\xcc\\x5b\\xb8\\x3f\\xbc\\x03\\x4f\\x87\\x7b\\x32\\x75\\x8e\\x56\\x40\\xa9\\x1d\\xa0\\xbd\\xf6\\x1c\\x63\\x64\\xfd\\xab\\xf6\\x7f\\xb6\\xff\\xe4\\x01\\xa6\\x08\\xce\\xa4\\xac\\x0e\\x74\\x6c\\x4d\\x64\\x6c\\xb3\\xd5\\xdc\\x64\\x82\\xf2\\x0c\\xd8\\xcc\\x66\\x05\\xc5\\x25\\x45\\x89\\x27\\x8b\\x2d\\x16\\x4f\\x28\\x1c\\x8e\\x78\\x3c\\x24\\x2a\\xf0\\x38\\x45\\x3e\\xc2\\x37\\xa4\\x03\\x91\\x9c\\xd2\\x6b\\x2f\\xd5\\xaa\\xb7\\x35\\x1a\\xf1\\x16\\xad\\xd6\\xa1\\xff\\x90\\xba\\x96\\x24\\x55\\x0e\\xb4\\x44\\xb4\\x54\\x2d\\xff\\xad\\x75\\xa2\\x89\\x99\\x3f\\x2f\\x9c\\x78\\xde\\x44\\xc8\\x5c\\x38\\xea\\x6f\\x3f\\xe1\\x53\\xf0\\x7a\\xb8\\xfa\\x8b\\xf7\\xf1\\x77\\x83\\xd8\\x41\\xf8\\xbb\\xf7\\x8e\\xa1\\x55\\xaf\\xbf\\xfb\\xcc\\x7d\\xf7\\xaf\\x7e\\xe9\\xa5\\x5b\\xee\\x83\\x43\\xff\\xb1\\xf7\\x75\\xfc\\x3e\\xfe\\xff\\x30\\xfe\\xcf\\x0f\\x3f\\x40\\xcf\\x49\\xe6\\x3c\\xb5\\x76\\x87\\x72\\x3a\\x6c\\x23\\xf6\\x52\\x02\\x3e\\xb2\\x32\\x43\\x53\\xa5\\x16\\x2f\\x09\\x1d\\x43\\xc0\\xcf\\xba\\xec\\x2c\\xb0\\x53\\x54\\x4a\\x08\\x82\\x72\\x58\\x08\\x93\\xa8\\x5e\\x70\\x7a\\x43\\x30\\xd4\\x90\\x76\\xc2\\xf6\\x4a\\xbc\\xdb\\x82\\xd7\\x41\\xa9\\x84\\x4e\\x7a\\x92\\x1c\\x3c\\x96\\xfe\\x43\\xa0\\x8d\\x0e\\xa5\\xc4\\x91\\x49\\x12\\x4b\\x44\\xf4\\x38\\x33\\x1f\\xe3\\x7f\\xc2\\x38\\x99\\x56\\x89\\xbc\\xe2\\xf8\\x9f\\x18\\x0a\\xd7\\xae\\x5c\\xbc\\xa2\\xe5\\x8b\\x95\\xd7\\xae\\x20\\x76\\x04\\xde\\x41\\xd3\\xaa\\x80\\x6c\\xb6\\xa4\\x09\\x5e\\x8b\\x97\\x9a\\xf0\\x47\\x38\\xd3\\x0a\\xf0\\x11\\x01\\x4f\\x47\\xfb\\xb6\\x3e\\x67\\xcb\\x44\\xcc\\x7b\\x9f\\x7c\\x6a\\xb7\\x99\\xf9\\xc2\\xfa\\x9c\\x56\\x77\\x72\\x82\\xa1\\xf6\\xd3\\x0b\\xba\\xa4\\xfc\\x4e\\x13\\xf0\\x7a\\x7d\\x0a\\xf1\\x67\\x39\\xaf\\xc8\\xe5\\xee\\xae\\xbd\\xf9\\x77\\xd7\\x46\\xe1\\x86\\x46\\x5b\\xa3\\x9b\\x47\\x26\\x47\\xfd\\xc2\\xdc\\xa2\\x1b\\x44\\xed\\x8e\\xba\\x7f\\xed\\xa5\\x73\\xd8\\x1e\\x2d\\xaf\\xa7\\xe7\\x75\\xca\\x5e\\x4f\\x3f\\xf1\\x18\\xe3\\x36\\x9e\\x4d\\xe6\\xf1\\x8c\\x67\\xc3\\xff\\x87\\xcf\\xe6\\xde\\x39\\x5d\\x5d\\xf8\\x6c\\xf4\\x28\\x7d\\x36\\x1e\\x8d\\xe6\\xab\\xf7\\xce\\xfd\\x53\\xc5\\x1e\\x3f\\x07\\xa1\\xdd\\xef\\x0f\\x05\\xed\\x0e\\x87\\x14\\x10\\x25\\x12\\x96\\x4a\\x5e\\xfa\\x32\\x13\\xc7\\xda\\x4c\\xcc\\x97\\x39\\xab\\x2f\\xb3\\x15\\x14\\x39\\xd7\\x53\\x95\\x26\\xa7\\x18\\xa5\\x44\\xee\\xa6\\x99\\x8a\\xa4\\xa9\\xc5\\x87\\xd6\\xb2\\x35\\x73\\x27\\x19\\xf3\\x71\\xfa\\x0a\\x55\\x1f\\x6e\\xda\\x09\\x3b\\xdd\\x3a\\xc5\\x98\\x11\\x5d\\x8f\\xab\\xf5\\x05\\x32\\xa8\\x49\\x05\\x88\\xda\\x96\\x01\\x50\\xbc\\x26\\x41\\x00\\x48\\x04\\x41\\x9b\\xd8\\x98\\xd6\\xd8\\x42\\xce\\x9c\\x14\\x2d\\xa0\\x38\\xb3\\x72\\x40\\x96\\xd6\\x14\\x96\\x0c\\x5c\\x3a\\x87\\x98\\xb5\\xaf\\xf3\\x8a\\x05\\x9e\\x78\\xac\\x65\\x40\\xc1\\xb3\\x29\\x3b\\x4c\\xd2\\xe7\\x88\\x38\\x78\\x8f\\x27\\x12\\x89\\x45\\x89\\xb9\\x0b\\x31\\xa2\\xaa\\x53\\x9c\\xf4\\x15\\x22\\x06\\x24\\x44\\xa6\\x27\\xf4\\x17\\x93\\xa2\\xf5\\x19\\xe7\\xd9\\xbb\\x3c\\x61\\xf2\\xe6\\xe9\\x0c\\xb9\\xb4\\x89\\x7a\\x74\\x03\\xea\\x55\\x20\\x5d\\xe6\\x1e\\x75\\xae\\x9e\\xdc\\xa6\\xc7\\xc1\\xc8\\x45\\xf4\\x86\\x0d\\x24\\x53\\x12\\xc7\\x03\\xde\\x61\\x07\\xc0\\xc2\\xcb\\x16\\xa6\\xb1\\xa0\\xf5\\x59\\x53\\x0c\\x64\\x65\\xc8\\x63\\x55\\x48\\x19\\x9a\\x7c\\x42\\xae\\xfa\\xb1\\xff\\xc4\\xc7\\x3f\\xfa\\xd7\\xbc\\x73\\xd0\\x30\\x05\\xef\\xcb\\x1c\\x61\\x3a\\x40\\x17\\x74\\xf9\\x35\\x9f\\xc6\\x42\\xc6\\xbf\\xda\\xf8\\x6e\\x1b\\x2f\\x08\\x0e\\xbb\\xcd\\xc6\\x08\\x41\\x86\\x78\\xd9\\x4c\\xe1\\x77\\x6b\\xb3\\x4d\\x2f\\x3b\\xd5\\x2f\\x27\\x2e\\x81\\xe5\\x9c\\x79\\xff\\xfa\\x08\\x1f\\xff\\xe7\\xd8\\x7a\\xb6\\xd6\\x8f\\x7f\\xc0\\x3f\\xb4\\x54\\xa2\\x7f\\xc0\\x7a\\x9a\\xc3\\x59\\x45\\xec\\xdd\\x63\\xaa\\xbd\\xf3\\x10\\x0f\\x4f\\xb6\\x5b\\x2c\\x02\\x63\\xb3\\x5a\\x05\\xe2\\x96\\x33\\x92\\x20\\x30\\x5e\\xd9\\x01\\xb4\\x72\\x00\\x62\\x7c\\x6c\\x8c\\x8c\\x3c\\xcd\\xc4\\xc3\\xce\\x65\\x71\\xce\\x24\\xf8\\xaa\\xd7\\xe9\\x06\\x29\\x07\\x31\\xcd\\x28\\x53\\x1a\\x2b\\xe2\\x3e\\x74\\xad\\x80\\xf0\\x11\\xfc\\x0d\\x3c\\xfe\\xe3\\x89\\x39\\xb3\\x61\\x3f\\xfc\\x36\\xfe\\xe9\\xe5\\x83\\x7b\\x0e\\xbc\\x02\\xb7\\xe3\\x61\\x6c\\x8f\\xfb\\x36\\xcc\\xbb\\x33\\x84\\xcb\\xe1\\xf6\\x2d\\x77\\xdc\\xa5\\xc6\\x3b\\xf9\\x72\\x0d\\x4e\\x79\\x00\\x42\\xbc\\x05\\x32\\x8c\\xc4\\xd3\\xfb\\x79\\xde\\xe2\\x95\\xed\\x1e\\x4d\\x2c\\xbb\\xdd\\x02\\xad\\xa2\\xc5\\xd1\\x9c\\xb6\\xc8\\xed\\x8b\\x95\\x93\\x2a\\xc7\\x75\\x47\\x3d\\x4f\\xa4\\x49\\xc5\\x4c\\x84\\x4e\\xd8\\x0d\\xef\\x9d\\x3d\\xe7\\xc4\\x8f\\x24\\xbc\\x09\\x30\\xaf\\x1c\\xd8\\x73\\x90\\xb9\\x91\\xc8\\x55\\x1e\\xbc\\x7b\\xee\\x86\\xfb\\xd8\\x1e\\x78\\x18\\x2e\\xbb\\xeb\\x0e\\x6d\\x1d\\x06\\xeb\\x75\\xd7\\xd5\\xe0\\xb2\\x54\\x1f\\x8f\\xdb\\xcd\\x57\\xc4\\x4a\\x40\\x75\\x75\\xc0\\x1e\\xb3\\x77\\xad\\xe9\\x54\\xde\\x98\\xee\\x14\\x0c\\xf0\\x25\\xa8\\xd8\\x59\\x8c\\x9a\\xd2\\x80\\x18\\x76\\xc6\\x42\\xe2\\xee\\x62\\xaf\\x53\\x69\\x4a\\xbf\\xef\\x81\\xb3\\x3c\\x30\\xe8\\xa9\\xf0\\x30\\x1e\\x8f\\x93\\x2c\\x5a\\x4d\\xd5\\xb8\\x71\\xe3\\x54\\x91\\x8d\\x5b\\xa1\\x36\\x65\\xd9\\x64\\x28\\xd5\\x5a\\x4f\\xd6\\xff\\x51\\x61\\xb6\\xec\\xc9\\x71\\x11\\xc0\\xbe\\x3a\\xf8\\xeb\\x5f\\xd4\\x64\\xdf\\x31\\x91\\x6c\\xe9\\xd1\\x0d\\x9b\\xd6\\xc3\\x1a\\x1d\\x07\\xb6\\xfd\\x52\\xec\\x4e\\x57\\x2d\\xb2\\x1d\\x90\\x9e\\x7a\\x1a\\x8e\\x35\\x7a\\x94\\x98\\x3f\\xb8\\x7f\\xa8\\xe8\\x45\\x41\\xa7\\xd7\\xcb\\x9a\\xcd\\x01\\xbf\\x56\\x44\\x44\\x5e\\x6a\\x41\\x1d\\x9f\\x8b\\xf9\\xaa\\xf2\\x18\\x13\\x68\\x0d\\x5d\\x89\\xa1\\x79\\xf2\\x59\\x12\\x3d\\xfc\\x35\\x15\\x17\\x78\\xea\\x06\\xf7\\xeb\\xbd\\xfb\\xd5\\x74\\xbf\\x0e\\xc3\\x06\\xf5\\x7b\\x11\\x8f\\x76\\x08\\x47\\xe4\\xc6\\x39\\xec\\x94\\x37\\x9f\\x73\\x7f\\x20\\x8f\\x99\\x7e\\xfa\\xee\\x7d\\x3b\\x0b\\x9e\\x1f\\x05\\x4d\\xa9\\x8e\\xa2\\xc9\\xe4\\xf0\\x47\\xa3\\x50\\x22\\xfa\\x00\\xc2\\x78\\x8c\\x23\\xe1\\x26\\x47\\x0e\\x04\\xe7\\xa0\\xfc\\x13\\x69\\x29\\x2a\\xcb\\xfe\\xc6\\xb4\\x1c\\xa4\\xaf\\x02\\xbf\\x3e\\x5f\\xae\\xbc\\x04\\x76\\x4d\\x81\\x5c\\x46\\x2e\\xbb\\x24\\x9b\\xcc\\xb6\\x1e\\x36\\x24\\x5c\\xbf\\xfe\\xc5\\x57\\x75\\xa1\\x0f\\xef\\x45\\xf7\\xe8\\x52\\xb6\\x2c\\xdd\\xdb\\x71\\xdf\\x4e\\x4d\\x74\\x8d\\x7f\\xa3\\xf5\\x05\\x22\\xef\\x1b\\xec\\x30\\x32\\x5f\\xd5\\xa9\\x90\\xd7\\x49\\x3c\\x37\\x14\\xf0\\xdb\\xcc\\x44\\x4f\\x0a\\xaa\\xae\\x24\\xaa\\x4a\\x2d\\x1a\\xcd\\xa9\\xab\\xbc\\x09\\x83\\xb9\\x02\\x19\\x9d\\xd2\\x44\\x2f\\x54\\x67\\x3a\\xff\\xed\\xa5\\xfe\\x03\\x07\\x77\\xe8\\x3f\\xe2\\x6f\\x7b\\xfc\\x75\\x55\\xfd\\xeb\\xce\\xc2\\xa3\\x9f\\x7b\\x93\\xf9\\x62\\xfa\\x18\\xf9\\x03\\xf7\\x8e\\xb7\\x32\\xb1\\xd1\\x83\\x4b\\xe4\\x23\\x32\\x39\\x47\\x21\\xb2\\x5f\\xef\\x23\\xf3\\x15\\x06\\xe5\\xe0\\xc2\\x54\\x17\\x87\\xab\\x18\\xf9\\x6c\\x24\\x08\\xb5\\x15\\xf9\\x6c\\xe1\\xb0\\xaf\\xa2\\x43\\xb8\\x34\\xe5\\x72\\x95\\x4a\\x92\\x5c\\x8a\\xc8\\xc2\\x21\\x32\\x83\\xa8\\x94\\x4c\\x58\\xa9\\x57\\x8e\\x35\\x68\\xd3\\xa6\\xf9\\x65\\x55\\x79\\x55\\x87\\x01\\xe7\\x81\\x36\\x39\\x66\\x35\\x6f\\x5b\\xb0\\xa8\\x02\\xd9\\xa1\\xa5\\x9a\\x32\\x55\\x7f\\xce\\x69\\xc9\\x66\\x75\\xd3\\x32\\xd7\\x1b\\xf3\\x18\\x5a\\xd8\\x65\\xf3\\xac\\x49\\x2f\\x4c\\xde\\xf2\\xee\\xee\\xcd\\xb7\\x5e\\x89\\x6f\\x18\\xda\\x67\\xf0\\x42\\xa9\\x78\\x5e\\xcf\\xbe\\x43\\xd8\\xd1\\xc6\\xa4\\x9e\\x33\\xbf\\x69\\xc9\\xa0\\xbb\\x96\\x0f\\xeb\\xbb\\x79\\xcd\\xcd\\x9b\\x9a\\x8e\\xd7\\x76\\x1f\\xd8\\xb5\\xb2\\xba\\x9e\\x72\\x8d\\x00\\xc8\\xdc\\xc6\\x9d\\x4b\\xec\\x51\\x9f\\x54\\x84\\x63\\xdd\\x36\\x9b\\x5d\\x60\\x2d\\xac\\xdd\\xae\\x78\\x01\\xf1\\x8f\\x05\\xab\\xcd\\xda\\x90\\x66\\x6d\\x36\\x33\\xa0\\xe9\\xa1\\x2a\\x23\\x15\\xd2\\x76\\xe9\\xb5\\xd2\\x24\\xba\\xdc\\x42\\xa2\\x96\\x56\\xe3\\xe9\\x33\\x0e\\xf9\\x85\\xcb\\x73\\x5c\\x2b\\x97\\x70\\xe7\\xde\\xb8\\x32\\xb3\\x94\\x36\\xed\\x31\\xd5\\x1a\\x83\\x48\\x3e\\x1f\\x8c\\x0c\\xfa\\xa5\\xa2\\x44\\x02\\x8b\\x83\\x13\\x1c\\x08\\x29\\x5e\\xe2\\xc6\\x9b\\x78\\xbb\\x4a\\x74\\x62\\xe1\\x45\\x20\\xe5\\x2a\\x4d\\xdb\\x30\\xc0\\xe4\\xc1\\x7d\\xc3\\x78\\xc9\\x19\\xd4\\x2f\\x32\\x0f\\x9f\\x5a\\xb8\\x46\\x93\\xa3\\xba\\x6f\\x6d\\xcd\\x85\\x78\\xf4\\x9d\\x2b\\x58\\x81\\xca\\xd1\\x72\\x6e\\xc3\\x39\\xb6\\xc3\\x12\\xd0\\xeb\\xce\\xd9\\x77\\x88\\xbe\\x0c\\x12\\x9f\\x75\\x7c\\xaa\\xca\\x17\\x50\\x60\\x2c\\xa6\\x08\\x9c\\xc9\\xc9\\x44\\xa3\\x26\\x93\\x92\\x2c\\x26\\xb1\\xba\\x3d\\x68\\x8a\\xf9\\xfc\\xbe\\xe6\\x34\\x07\\xfd\\x7e\\x3b\\x0a\\x8a\\x76\\xd9\\x4d\\xa2\\x76\\x77\\x7e\\x52\\x38\\xbf\\x56\\xad\\xa6\\x9d\\xba\\x7a\\x43\\xb9\\x6b\\xc7\\x23\\x8f\\xaa\\x43\\xab\\xdc\\x35\\xca\\xd1\\xe1\\xdd\\x70\\x23\\xf4\\xcf\\x9f\\x9f\\x4f\\xd8\\x31\\x7d\\x3a\\xfc\\x70\\xd2\\x12\\x3c\\x8e\\x68\\xd4\\xa9\\xf0\\x1e\\x3c\\x75\\x1b\\xce\\x92\\x75\\x5c\\xbc\\x0d\\xde\\xd3\\xb2\\x6c\\xfd\\xd5\\x61\\x19\\x7f\\xa5\\xce\\xeb\\xb9\\x64\\x3c\\x4f\\x91\\xf1\\x54\\x53\\x36\\x38\\xd4\\xc9\\x5b\\xd4\\xa9\\xc8\\x09\\x4c\\x7e\\x67\\xb9\\x29\\xe1\\x34\\x39\\xbb\\xd6\\x40\\x7f\\x80\\x1c\\xed\\x2e\\x01\\xd1\\x56\\x72\\x46\\x7e\\x3e\\x3f\\x27\\x6f\\x44\\xeb\\xf4\\x46\\xc7\\x43\\x73\\xee\\x74\\x4b\\xea\\x48\\xf1\\xdd\\xa8\\xfa\\xaf\\xd5\\x58\\x8f\\x18\\xe3\\xae\\x4d\\xd5\\xaf\\x3d\\x21\\xfb\\xd4\\xc4\\x7e\\x9d\\xba\\x77\\xba\\xe9\\xd4\\x83\\x0f\\xfd\\xbe\\x42\\x29\\xee\\x5a\\xd2\\x6f\\xd2\\xdb\\x17\\x5c\\x99\\xe8\\x90\\xb8\\x6d\\xfe\\x82\\x5b\\x12\\xe5\\x89\\x2b\\xc6\\xbd\\x85\\x66\\x56\\xc9\\xc3\\xa6\\x5e\\x7b\\xf6\\x4d\\x07\\x2f\\x9f\\x7e\\xe0\\xd6\\xae\\x17\\x34\\x8f\\xec\\xed\\xaf\\xda\\x3f\\x6d\\x5c\\xd5\\x84\\xa9\\x57\\xf5\\x5b\\x7c\\xdf\\x7d\\x8b\\x53\\x57\\x5e\\x3a\\xa9\\x53\\x7a\\x06\\xd0\\xf9\\x54\\x58\\x7a\\x0f\\x1f\\x00\\x55\\x29\\x9f\\x84\\xd4\\x98\\x02\\x85\\x82\\x16\\x12\\x19\\x35\\xd2\\x0a\\x01\\xaa\\x03\\x9c\\xf9\\x2d\\xc7\\x39\\xc2\\x0c\\x22\\x1f\\xbd\\x42\\xcf\\xf2\\x2d\\x6a\\xa0\\x09\\x42\\x6d\\x1f\\xc8\\xb4\\x6e\\xdc\\x8c\\xff\\xf8\\xf3\\xfb\\x8f\\xa1\\xff\\xc2\\x8b\\xbe\\x18\\x70\\xb6\\x7b\\xb8\\x2b\\x79\\x2d\\x3b\\xfc\\xe0\\x71\\xfc\\x1c\\x7e\\xf0\\xe8\\x09\\x66\\x65\\x66\\xed\\xda\\xc5\\x70\\xdf\\xf2\\xd9\\x26\\xf6\\xa0\\x60\\x51\\xe5\\x30\\x11\\xbb\\x4a\\xef\\x6c\\x2c\\xa0\\x32\\xe5\\x45\\x0c\\xc5\\x21\\xe1\\x19\\x0b\\x8f\\x6c\\x56\\x44\\xec\\x27\\x55\\xdd\\x86\\x71\\x2f\\xec\\x99\\x22\\x96\\x33\\x86\\xe8\\xbd\\x06\\x8a\\xc1\\xbb\\x60\\x23\\xbc\\x1e\\x7f\\xb0\\x47\\xec\\x6e\\xe9\\xb3\\x0f\\x1f\\x25\\x1e\\xe3\\x1b\\xcc\\xb8\\xea\\x37\\xcb\\xdf\\xcd\\x3c\\xa8\\xea\\xbc\\x53\\x24\\x80\\xed\\x4d\\x9e\\xe1\\xa1\\xb8\\x07\\x76\\x07\\x2b\\x10\\xd3\\x0d\\x68\\xaf\\x14\\x32\\xb9\\x3d\\x66\\x93\\xc9\\xeb\\x91\\x81\\x48\\xb9\\x25\\xfa\\xea\\xed\\xd4\\x7a\\x68\\x97\\x4b\\x49\\xc6\\xdc\\x5e\\xa5\\x8e\\xd2\\x5d\\x20\\x91\\x3c\\x10\\x55\\x41\\x81\\x3c\\xd6\\x0b\\xcb\\xb7\\x38\\x23\\x5d\\xb7\\xc2\\x72\\xe8\\xc3\\x27\\x9f\\x75\\xf8\\x9f\\xc0\\x87\\x37\\x15\\x73\\xe2\\xe3\\xb8\\x85\\x04\\xd5\\x97\\x0d\\xb8\\xe7\\x33\\x66\\xed\\xe9\\x37\\x50\\xcf\\x21\\x73\\x32\\xcb\\x98\\x85\\x8f\\xfa\\x07\\x67\\x1c\\x9a\\xcd\\xd6\\x38\\x3c\\xbf\\x22\\xbe\\x7c\\x5d\\x2a\\x24\\x9a\\xcd\\x08\\x59\\x5c\\x6e\\xab\\xc5\\xe2\\xf6\\x29\\x2a\\x67\\x08\\xa2\\xbc\\x08\\xc0\\xea\\xa6\\x71\\xfd\\x81\\xfa\\xaa\\x8a\\x8a\\xbc\\xd0\\x4d\\x77\\x67\\x74\\xbd\\x26\\x42\\x3a\\x0b\\x4c\\x29\\x95\\x0a\\xf6\\x81\\x68\\x9c\\x51\\x96\\x09\\xb7\\xe0\\x0f\\x28\\x37\\x88\\xaf\\xdf\\x83\\xb4\\x09\\x66\\xd8\\x5e\\xee\\x2b\\xad\\x24\\xf3\\xf4\\x21\\x78\\x3a\\x0e\\x51\\xf9\\x85\\xdf\\x61\\xc8\\x5e\\x79\\x60\\x23\\x95\\x47\\x21\\xf2\\x2c\\x20\\xf3\\x63\\x02\\x1d\\x52\\x6e\\xb2\\x20\\x0c\\xc7\\x23\\x86\\xac\\x82\\x99\\x65\\x39\\x46\\x54\\xf3\\xc9\\x35\\x67\\xc4\\x8f\\x31\\x49\\xbb\\x0a\\x93\\xe0\\x1e\\x7c\\xbe\\xca\\x93\\x67\\x81\\x25\\x78\\x1c\\xdc\\xc5\\x2c\\xc5\\x23\\xe1\\x96\\xcc\\xb5\\x78\\xb0\\xde\\x27\\xc5\\x6e\\x53\\xe7\\xbe\\x77\\x2a\\xce\\x5a\\xdd\\x36\\x87\\xcb\\x26\\xba\\x90\\x47\\x76\\x92\\x7d\\xe6\\x14\\x6d\\x24\\xec\\xb6\\xc9\\x02\\x31\\xd3\\x02\\x93\\x57\\xa4\\x5a\\x78\\xfd\\x5c\\x5d\\x4d\\xeb\\xc8\\x0d\\x57\\x82\\x1c\\x67\\x03\\x86\\x02\\xed\\xd3\\x7d\\x86\\xcc\\xd5\\x46\\x87\\x14\\x33\\xe4\\x7c\\xcd\\x3f\\x18\\xa6\\xb7\\x46\\x11\\x5d\\x34\\xa0\\xb5\\x96\\x6b\\x26\\x32\\x28\\xc4\\x0a\\x8f\\x4d\\x75\\xb6\\x32\\x72\\x98\\x95\\xc8\\xa0\\x91\\x4f\\xb2\\x20\\xce\\x8c\\x78\\xb3\\xc4\\xc6\\x63\\x0a\\x72\\x04\\x1a\\xa8\\x57\\x29\\x08\\x64\\xdb\\x09\\x62\\xd8\\x82\\x88\\xe9\\x96\\x69\\xd6\\xba\\x30\\x98\\xae\\xd0\\xe9\\xe2\\x94\\xbc\\x44\\xa8\\x6a\\x70\\xb8\\x6e\\x75\\x86\\x68\\x35\\xd9\\x56\\xed\\x18\\xf1\\x38\\x55\\xca\\x04\\xda\\x97\\xbd\\xc7\\x54\\x89\\x9b\\x0d\\x51\\x7f\\xbb\\xe6\\xe0\\xc2\\xa5\\x77\\x3d\\xb7\\x15\\xff\\xdc\\xa5\\x8e\\x61\\x1b\\xbb\\x9c\\x57\\xff\\x70\\x4d\\xcf\\x09\\x6e\\x43\\xf0\\x97\\x37\\xde\\x7a\\xcd\\x4d\\xf7\\x9c\\x37\\x07\\x9e\\x18\\x3c\\x7c\\x58\\x85\\x86\\xd3\\x34\\x9a\\x75\\xa8\\x71\\xd8\\xd0\\x54\\x89\\x43\\x30\\xdb\\x2d\\x76\\x01\\x29\\x48\\xf2\\x29\\x92\\x12\\x0a\\xfa\\x7c\\x56\\x41\\xf0\\x58\\xed\\x16\\xab\\x85\\x26\\x34\\xd4\\x8c\\x40\\xb0\\x0d\\xef\\x40\\x3b\\xf8\\x2f\\x2a\\xb1\\x46\\x3e\\x51\\x89\\x9e\\x75\\x56\\x39\\x4c\\x18\\xb4\\x74\\xfa\\x23\\xcf\\x4d\\x81\\x23\\x32\\x6f\\xa2\\xe5\\xf8\\x8e\\xbf\\x7f\\x89\\xbf\\xfd\\xcf\\xfb\\xf8\\x4f\\x1f\\x94\\xad\\xf3\\xfe\\xb5\\xf2\\xfe\\xdb\\x56\\xec\\x81\\x63\\xf7\\xbf\\x86\\x6f\\x77\\x9f\\xd8\\xfb\\x3d\\xfe\\xfd\\xed\\xed\\xf6\\xb1\\x33\\xc8\\x7c\\x07\\x88\\x9c\\x5d\\x88\\x9c\\x11\\x62\\xe3\\xe7\\xa7\\x8a\\x93\\x61\\x06\\x99\\x40\\x24\\x12\\x74\\x2b\\x51\\x13\\x51\\xf9\\x1e\\x22\\x70\\x90\\xaf\\xe8\\x40\\x76\\x1d\\x31\\xf3\\x76\\x7b\\xa9\\x9c\\x64\\xa8\\xef\\xec\\x4f\\x27\\x93\\x6c\\xa9\\xe2\\x91\\x89\\xee\\x91\\xc5\\x52\\x2b\\x35\\xfa\\x6c\\x82\\x58\\xcc\\x02\\x6e\\xfb\\x36\\x0c\\x0a\\xf5\\xed\\x30\\x61\\x6b\\xd6\\xbf\\xa4\\x94\\xd7\\x34\\x2b\\xb5\\xf6\\x6d\\xc6\\x47\\x9c\\x81\\xa4\\x6a\\xcd\\xd4\\xb6\\xd7\\xcb\\xfd\\xc9\\x3b\\x5f\\x5f\\xb5\\x6f\\xda\\xbe\\x97\\x37\\xee\\xd8\\xba\\x73\\x56\\x6e\\xb4\\xdd\\xbb\\x77\\x69\\x39\\x3a\\xb3\\xf9\\xce\\x61\\xab\\x6e\\x68\\x1a\\x80\\x2f\\xaa\\xaa\\xbf\\xaa\\xe9\\xb6\\xb1\\xb7\\xde\\x73\\xdd\\xcd\\xb7\\xe4\\xc6\\x7d\\xe9\\xb4\\x81\\x43\\x1e\\xe9\\xde\\x6f\\xe4\\x0d\\x75\\xea\\xd9\\xee\\xa7\\xf3\\x6f\\x28\\x94\\xc3\\xcb\\x46\\x4c\\x3f\\xe0\\x89\\xe5\\xf5\\xfb\\x9c\\xc4\\xc5\\x62\\x89\\x73\\x65\\x63\\x6d\\xac\\x93\\xd5\\xee\\x68\\x0c\\x5a\\x96\\xbc\\x6a\\xcb\\x98\\xa4\\x56\\x5a\\xe6\\x5a\\xed\\xaa\\x29\\x6d\\x8c\\x20\\xc1\\xdb\\x3a\\xf5\\x8a\\x1d\\x9b\\x36\\xb7\\x79\\x96\\x1d\\xff\\x1c\\x81\\xe0\\x95\\xdf\\xa0\\x75\\xdf\\x56\\x66\\xa6\\x8d\\x87\\xfd\\x56\\x2f\\x9d\\x76\\x7e\\xff\\xc7\\x5e\\xc5\\xdf\\x65\\xf6\\xe3\\x1f\\x8a\\xf0\\x5c\\x60\\x70\\x06\\x74\\x51\\xe5\\xe8\\x96\\x0a\\x11\\xdd\\xa2\\x28\\x40\\x62\\x01\\xeb\\xf7\\x09\\x24\\x34\\x75\\x43\\xb2\\x43\\xdc\\x56\\xb7\\xd0\\xae\\x20\\x46\\x3a\\xb9\\x84\\x58\\x1e\\xa0\\x12\\xca\\x6b\\x9e\\xbd\\x96\\xc8\\x87\\xfb\\x9e\\x7a\\x13\\x5a\\x7f\\xfb\\x1b\\x68\\x8d\\xe0\\x9f\\xed\\x33\\x47\\xcc\\x9d\\x76\\x2c\\xde\\xbb\\x23\\x5c\\x15\\x86\\xee\\xfd\\x19\\xe8\\x79\\xf5\\xb1\\xfe\\xe7\\x4f\\x5b\\xba\\x1a\\xef\\xe5\\x6d\\x19\\x7a\\xe7\\xd0\\xaf\\xf5\\x04\\x99\\x0f\\x8a\\x7d\\xda\\x5d\\x95\\x03\\x28\\x12\\xcb\\x2a\\x7e\\x1f\\x24\\x07\\xdf\\x0a\\xad\\x50\\x50\\x10\\x95\\xc8\\x28\\x1c\\x70\\x19\\xbc\\xe0\\x79\\x73\\x02\\x25\\x4a\\x61\\x05\\xf2\\x18\\x31\\xd4\\x42\\x54\\x89\\xd9\\xb2\\x75\\x1f\\xfe\\xed\\xb7\\xbf\\xb5\\x46\\xa0\\x98\\x15\\x84\\x5b\\x82\\xe7\\x16\\xe1\\xef\\xdf\\xce\\xe0\\xef\\x74\\x51\\x60\\x3f\\xde\\xc6\\xcc\\x54\\xb1\\xa2\\xc9\\xbe\\xac\\x53\\xeb\\x19\\xfa\\xa4\\x8a\\x04\\xde\\xc3\\xcb\\x8e\\x90\\x1c\\x2a\\x0a\\x0b\\x02\\xf2\\x78\\xfc\\x44\\x0b\\x37\\xa4\\x91\\xd3\\x4f\\x3c\\x35\\x7f\\xf0\\xbf\\xd7\\xc4\\xba\\xf3\\x4a\\x48\\xf5\\x26\\x10\\xb5\\xd9\\x98\\x66\\x01\\x47\\x42\\xc7\\xaf\\x46\\xe5\\xe8\\xec\\xd9\\x33\\xe7\\x19\\xfd\\xc5\\xcb\\x7f\\xc7\\x27\\x19\\x85\\x84\\x76\\xa5\\x6a\\xc9\\xe8\\xfd\\xcf\\xe0\\xaa\\xa7\\x9e\\xd4\\x5a\\x8a\\x69\\x31\\x03\\xc8\\x71\\xea\\x3a\\x75\\xcc\\x13\\x20\\x31\\x80\\xe9\\x0e\\x94\\x94\\x83\\xf9\\x31\\x00\\x17\\x07\\xe0\\xcc\\x00\\xec\\x1b\\x80\\x01\\xa0\\x21\\xc4\\x68\\xd8\\x01\\xf4\\xae\\x7b\\x3d\\x39\\x6b\\x0e\\xe2\\x7d\\xc6\\x69\\x0c\\x22\\xb0\\xa2\\x18\\x08\\x38\\x3c\\x6c\\x91\\xc5\\x41\\x2c\\x5c\\x71\\x42\\x8c\\x37\\xa7\\x6d\\x62\\x48\\x64\\x9c\\x48\\x14\\x89\\x05\\xf2\\x37\\x13\\x9b\\xea\\x08\\x34\\xb7\\x65\\x53\\xd2\\x22\\xbe\\xfc\\x83\\xa4\\xe6\\x25\\x62\\x39\\xd0\\x33\\xa2\\xcc\\xc8\\xf4\\x1b\\x7c\\x36\\x92\\x71\\x27\\xb5\\x86\\x39\\x7f\\xcf\\xc1\\x49\\x23\\xa6\\xcf\\x3c\\xb2\\x35\\x33\\x0f\\xba\\x7f\\x1a\\x33\\xac\\xa2\\xc3\\xe0\\x0b\\x7f\\x3a\\x3d\\x67\\xea\\xf8\\x45\\xa7\\xd9\\x1e\\xab\\x6e\\x1a\\x7f\\x75\\x20\\x74\\xe3\\xe4\\x55\\x0f\\x31\\x4b\\xfc\\xdd\\x3a\\x57\\xd5\\xfa\\x32\\xdd\\x07\\x9d\\x33\\xb0\\x9f\\x76\\x8f\\x98\\x5f\\x93\\xd4\\x39\\xe5\\x8f\\x45\\x78\\x14\\x72\\x7a\\x2d\\x21\\x6f\\xc8\\x28\\x49\\xf2\\xdb\\x9b\\xd2\\xfe\\xbc\\x92\\xa4\\xac\\xf6\\xca\\xe6\\x30\\xe5\\xbc\\xca\\xa4\\xd2\\xa8\\x56\\xb3\\xa8\\x16\\x6b\\xd0\\x3f\\x18\\x79\\xf0\\xf0\\x0b\\xe7\\xdd\\x70\\x41\\xba\\x71\\xc1\\x0d\\x2b\\x16\\x40\\x06\\x86\\xf0\\x57\\xa7\\x8f\\x9c\\x5c\\xb9\\xf0\\xd8\\x8f\\x68\\x7d\\xff\\x5e\\x0d\\x67\\xef\\x1c\\x3c\\x22\\xd5\\xf0\\xfa\\xb3\\xaf\\xec\\xd9\\x8e\\x8f\\xe0\\xd3\\xf8\\x14\\xfe\\xc7\\xce\\xbb\\xa7\\x2d\\xb3\\xd7\\xee\\xbf\\x66\\x83\\xce\\xd7\\x59\\xcc\\x75\\x06\\x25\\x60\\x4a\\xaa\\xd6\\x2e\\x7a\\xa3\\x20\\x58\\x52\\x62\\x13\\x39\\xaf\\xe8\\x2d\\x2b\\x0d\\x06\\xfd\\x00\\xb8\\xfd\\xe1\\x78\\x63\\xda\\x61\\x27\\x2f\\x87\\xdb\\x1f\\x0d\\x37\\xa6\\xa3\\x4e\\x3f\\x31\\x66\\x7e\\xa7\\xdb\\x94\\xf3\\x65\\xdb\\xab\\x11\\x6d\\x53\\xfe\\xaa\\x17\\x1a\\xe4\\x55\\xc2\\xd4\\x16\\x96\\xc9\\x28\\x2e\\x83\\x42\\x3d\\x0c\\xd1\\xc0\\x6c\\x49\\x4c\\x41\\xb5\\xcc\\xa2\\x4b\\x44\\x58\\xac\\xb1\\xf8\\x33\\x1f\\xe8\\xa5\\x31\\x4b\\x0a\\x4a\\x66\\xea\\xa0\\x5f\\x7a\\xcb\\x76\\xf6\\xe0\\x0f\\xb2\\xb5\\x12\\x03\\xd5\\xfb\\xec\\x9a\\x94\\x9f\\xe1\\x79\\x0e\\x9a\\xcd\\x16\\xce\\x62\\xb7\\x41\\x53\\x43\\x1a\\x42\\x0b\\xb2\\x8a\\xbc\\x25\\x7b\\xc1\\xd0\\x56\\x49\\x40\\x29\\x0b\\x3c\\x2c\\xc1\\xc7\\xe1\\xf5\\x30\\x80\\xbf\\xc1\\x8b\\xf0\\x37\\xc4\\xa3\\x26\\x3e\\xc0\\xe9\\x37\\xe0\\x7b\\x98\\x1a\\x02\\xb2\\x4f\\x69\\x0e\\x71\\x87\\x7a\\x5f\\xec\\x01\\x45\\xb4\\x2e\\x23\\x84\\xac\\x76\\x8f\\xd9\\x2f\\x11\\xff\\x0b\\x45\\x23\\x26\\xd1\\x25\\x8d\\x48\\xbb\\xa0\\x85\\x0f\\x10\\xe3\\x6b\\x0f\\xc8\\x40\\x6e\\x68\\x13\\xa0\\x18\\x7e\\x68\\xb6\\x05\\x28\\x1b\\xa2\\x18\\x17\\xc5\\x6a\\x7c\\x4c\\x7b\\xe0\\x54\\xa7\\x9f\\x3a\\xd8\\x5e\\xb8\\xfc\\xd1\\x57\\x5f\\x79\\x61\\x2a\\xf4\\xdf\\x77\\xdf\\xbb\\xe7\\x42\\x3f\\x1e\\x3f\\xbc\\xc7\\x15\\x6b\\x7a\\xe1\\xd1\\x4f\\xaf\\xbb\\xed\\x61\\x74\\x79\\xcb\\xed\\x07\\x5c\\x6f\\x1c\\xa2\\xed\\x70\\xa7\\xa2\\xa3\\x46\\xf6\\xb8\\xaa\\x73\\x5f\\x75\\x4e\\x10\\x9e\\x81\\xbe\\x55\\xe7\\xe4\\xec\\x94\\x0c\\x2d\\x26\\x33\\xf1\\x84\\x80\\x55\\x40\\x88\\x65\\xad\\x76\\x1b\\x6f\\x86\\x82\\xd6\\x7e\\x02\\xa1\\x99\\x4c\\x8f\\x4a\\xe7\\x5e\\xa3\\x13\\xcc\\xbf\\xd1\\xde\\xcd\\x9c\\x19\\xd6\\x69\\x33\\x44\\x1c\\x26\\xd8\\x0d\\xc6\\x16\\x10\\x41\\x8e\\xe3\\x6b\\xf1\\xfb\\x70\\x21\\x9e\\x4a\\xa6\\xca\\x3b\\x12\\xde\\x79\\xaa\\x2b\\x6a\\xc6\\x29\\xb8\\x89\\x59\\xa7\\xf9\\x88\\x2b\\xc8\\xa4\\x8d\\x22\\x32\\x70\\x14\\x7b\\x85\\x85\\x00\\x0a\\x3c\\x23\\x42\\xe2\\x27\\x41\\xfd\\xd4\\x66\\xb3\\x76\\xe5\\xea\\x22\\xa0\\x51\\x19\\x12\\x83\\xc0\\x1d\\x6c\\x8f\\x96\\xdb\\x8d\\xfa\\xf3\\x10\\x77\\x84\\x4c\\x61\\x12\\xa4\\x53\\x9d\\x1c\\x40\\x0e\\x86\\x00\\x08\\xc6\\xcc\\x41\\x73\\x69\\x89\\xc3\\x61\\x23\\x63\\xe1\\x6d\\x2e\\xb9\\x31\\xed\\x52\\xc8\\xcb\\x06\\x82\\xb6\\x88\\xca\\x65\\x9d\\x28\\xe4\\xb2\\xfe\\x8b\\x6a\\xed\\xdc\\xfa\\xeb\\x50\\x21\\x5a\\xce\\xb0\\x20\\x5d\\x91\\xab\\x57\\x43\\xbd\\x75\\x74\\x90\\x8f\\xf6\\xfd\\x3a\\x61\\xd3\\x3a\\x6d\\x77\\xe2\\x13\\x1a\\x42\\x08\\x1e\\x6d\\x20\\x81\\x98\\x29\\x54\\xc8\\xdf\\x61\\xf9\\x2d\\xeb\\xd4\\xfd\\xf9\\xe7\\x27\\x68\\xbf\\x81\\x09\\x92\\xb3\\xab\\x11\\xe2\\xc1\\x75\\xf1\\x53\\x92\\xd9\\x48\\x04\\x86\\x7d\\xa1\\x50\\x58\\xf0\\x78\\xc2\\xb1\\xa8\\x44\\xd3\\x2c\\x64\\x28\\xc1\\x08\\x88\\x34\\xa5\\x7d\\xc0\\xce\\x70\\x00\\x70\\x8c\\x9d\\x0d\\x4b\\x6c\\x58\\x2d\\x3c\\x50\\x01\\x2b\\x75\\x3e\\x9c\\x36\\xd6\\x2e\\x77\\xeb\\xf8\\x17\\xf6\\x57\\xbb\\xcf\\xa9\\x8d\\xf5\\x83\\x0d\\xed\\xd9\\xe1\\xff\\x9f\\xb5\\xff\\x80\\x8f\\xaa\\xd8\\x1e\\x07\\xf0\\x39\\xb7\\x6d\\xef\\xe5\\x6e\\x36\\xd9\\x24\\x9b\\xcd\\x26\\x6c\\x36\\x21\\x21\\x9b\\x4d\\x42\\xcd\\x82\\xf4\\x96\\x80\\xb4\\x15\\x43\\x00\\x91\\x8e\\x90\\xd0\\x3b\\x08\\xd2\\x94\\xa2\\x02\\x76\\x40\\xe1\\x21\\x2a\\x4a\\x47\\x6c\\x80\\x8a\\xa0\\x4f\\x10\\x7b\\xf7\\x89\\x8a\\xa2\\xd8\\x78\\xea\\xc3\\xa7\\x90\\xd9\\xff\\xcc\\xdc\\xdd\\x64\\x93\\xc0\\xfb\\xfe\\xfe\\x9f\\xff\\x3f\\xb0\\x77\\xf7\\xde\\x3b\\xe5\\xcc\\xcc\\x99\\x33\\xe7\\x9c\\x39\\x73\\x0e\\xf4\\xc7\\xfb\\xf1\\xb7\\x78\\x1f\\x44\\xa0\\xb0\\xe5\\x8a\\xdc\\xfb\\xf9\\x15\\xca\\xb9\\xd5\\xa1\\xa4\\x0d\\xa5\\xac\\x0d\\xd1\\x48\\x91\\xc9\\x68\\xf4\\x78\\x32\\x78\\x87\\x3a\\x35\\x43\\x40\\x84\\x3b\\x52\\x7b\\x33\\x75\\xd6\\xaa\\xa8\\x4c\\x04\\x80\\x74\\x8e\\xe7\\x06\\x44\\x53\\x79\\x93\\x9b\\xc8\\x64\\xb2\\xdb\\x24\\xe8\\x94\\x75\\xfa\\xff\\xa5\\x05\\x2c\\x22\\x41\\xf8\\xda\\x4b\\x37\\x6d\\x04\\x9c\\xc6\\xfb\\xa1\\xff\\x35\\x97\\xf0\\x4a\\xbc\\x6f\\xc5\\xf3\\xbd\\x5b\\xae\\xe3\\xf8\\x9d\\xe7\\x57\\x28\\x7e\\x6a\\x62\\x3f\\xa9\\x65\\x32\\x87\\xe9\\x59\\x9f\\x5c\\x34\\x2e\\x52\\x96\\xeb\\x94\\x73\\x72\\xec\\x76\\x37\\x6f\\xc9\\xd4\\x68\\x2c\\xce\\x14\\x21\\xd0\\xca\\xe9\\xb7\\xfb\\xab\\xa2\\x3c\\xe1\\x71\\xcc\\x92\\xdd\\x64\\x05\\xbd\\x87\\xa1\\x55\\x16\\x41\\x2b\\x47\\x8e\\xcc\\xce\\x37\\x34\\x9a\\xc6\\x34\\xee\\xa9\\x92\\x96\\x35\\x0d\\x51\\x94\\xd4\\xa2\\x16\\x07\\x02\\x14\\xeb\\x08\\x6f\\xf2\\x59\\x00\\x22\\x86\\xf0\\x7d\\x9b\\x9e\\x05\\x80\\x14\\xfe\\x9e\\xfa\\x47\\xb9\\x0d\\x57\\x5a\\xc5\\x8f\\x02\\x80\\x83\\xbb\\xb9\\xd9\\x59\\x00\\xb8\\x13\\xdf\\x46\\x58\\xed\\x33\\x9c\\x2f\\x7e\\x14\\x80\\x43\\xf5\\xc3\\xb8\\x5d\\x6c\\xfe\\x0c\\x51\\x8d\\x22\\x6d\\x6d\\x83\\x3a\\xa0\\xa5\\x91\\x6e\\xb9\\xee\\x02\\xa7\\x37\\x33\\xd3\\xd2\\xda\\x6e\\xe7\\x8b\\x2d\\xe5\\xa4\\xb5\\xee\\x7c\\xd9\\x29\\x75\\xea\\x68\\x26\\x04\\xcd\\xeb\\xf5\\x48\\xc1\\xa0\\x9d\\x4c\\x29\\x64\\xb7\\x02\\x72\\xe8\\xc3\\xb4\\xcd\\xf6\\xd6\\x55\\x51\\xbb\\x49\\x6a\\x47\\x27\\x94\\x27\\x7b\\x40\\xd4\\x73\\x0d\\x47\\x95\\x49\\x67\\x3b\\x9a\\xb9\\xbf\\x6a\\xaa\\x09\\xbc\\x5e\\x1f\\x34\\x5a\\x88\\x34\\x89\\x37\\x68\\xb1\\xcb\\x49\\x7d\\xd3\\xb2\\x63\\xb8\\x77\\xe2\\xe6\\x23\\x7b\\xae\\x94\\x03\\x97\\x37\\xad\\x5f\\xc2\\x7e\\xa4\\x46\\x8d\\xbf\\x89\\xf7\\xd6\\x35\\x7a\\xaa\\xd1\\xb0\\x64\\x59\\xbb\\xbe\\x15\\x71\\xcb\\x92\\xfa\\x85\\x63\\x56\\x35\\x74\\x1f\\xa5\\x5d\\x02\\xc1\\x93\\xb0\\x66\\x03\\xe9\\xbb\\x5c\\xc2\\xc7\\x84\\x51\\x27\\xb4\\x24\\xd2\\xbd\\xd4\\x1b\\x4e\\xc9\\x45\\xee\\x92\\x12\\x59\\x6e\\x25\\xd9\\x5b\\xeb\\xf5\\x76\\xc4\\xa5\\xfa\\xdb\\xa7\\x78\\x35\\x91\\x8a\\x94\\x90\\x1c\\xaa\\x8a\\x96\\xa7\\xa7\\xfb\\x65\\x93\\x03\\x54\\x36\\x8d\\xc9\\x14\\x64\\x27\\x47\\x8a\\x2a\\xa3\\xb9\\x1a\\x87\\x9f\\x6f\\x5f\\xe2\\xe6\\xdd\\x04\\xa9\\xe2\\x88\\x43\\x7a\\xc4\\xa5\\xb8\\x85\\x89\\x1b\\xd6\\x56\\x34\\xf7\\xab\\xd2\\xbc\\xfb\\xa8\\x60\\x76\\x3d\\x2c\\x6a\\x2a\\xa8\\x25\\x21\\x94\\xa6\\x41\\x6c\\x13\\xaf\\xa8\\x0b\\xea\\xd3\\x5a\\x60\\xd7\\x92\\xfa\\x43\\x90\\x9b\\x24\\xc3\\x5d\\x5d\\xdd\\x88\\x68\\xbd\\xb9\\xb4\\x46\\x81\\xee\\xda\\x48\\x97\\x90\\xef\\xb8\\x5f\\x1a\\x71\\x6f\\x10\\xb7\\xbb\\x7e\\x9f\\x22\\xee\\x11\\x1c\\x24\\xcc\\x85\\x94\\x21\\x96\\x13\\xa9\\x95\\xd9\\x21\\x43\\x41\\x50\\x25\\x49\\xd9\\x76\\x43\\x10\\x15\\x16\\xa6\\xa7\\xb9\\xdd\\x04\\xe5\\x4a\\x42\\xad\\xd3\\x3c\\x69\\x95\\xd1\\x0c\\xe4\\x31\\x1b\\x54\\xc1\\x6c\\x41\\xe6\\xe5\\xe2\\x1b\\xa3\\xb2\\x62\\x87\\xdc\\xf4\\xa8\\x44\\x45\\xe8\\x64\\xb2\\xef\\x99\\x46\\xca\\xa1\\x58\\x08\\x7a\\x9b\\x69\\xf1\\xd3\\x39\\x87\\x39\\xd0\\xa8\\x01\\x84\\x46\\x75\\x7f\\x19\\x53\\x05\\xc2\\x11\\x38\\x39\\x68\\x52\\x83\\x22\\xbf\\x77\\xf5\\x57\\x2f\\x8f\\xc2\\xa1\\xfa\\x81\\x8a\\x92\\x92\\xdb\\x3e\\xf5\\xc6\\xa1\\xe3\\x7f\\x7e\\x7c\\xa8\\xe3\\xed\\x0e\\x15\\x42\\x3b\\x47\\x5c\\x8d\\xdf\\x3a\\x64\\xc9\\x1b\\xb2\\x76\\x22\\x3e\\xb1\\x72\\x35\\x37\\xf9\\x28\\xbe\\xb2\\xa9\\xa0\\xac\\xa8\\x9d\\xa3\\xb0\\xef\\xa2\\x11\\x15\\xa5\\xf5\\xe7\\x2a\\x23\\x4a\\xbb\\x09\\x9f\\x7e\\x8f\\xf8\\x3e\\xa2\\x71\\x37\\x66\\x46\\x2a\\x32\\x5c\\xa2\\x8a\\xd7\\xe6\\xe7\\xf3\\x56\\x97\\x2e\\xe0\\xf7\\xbb\\x5c\\x7c\\x51\\xa1\\x5a\\x62\\xd1\\x23\\x89\\xa4\\x68\\x92\\x82\\x09\\xa5\\xa6\\x3f\\x40\\x8f\\xb3\\xf9\\x73\\x07\\x44\\xfd\\x8e\\xd4\\x0c\\xb2\\x16\\x78\\xc9\\xa7\\xf9\\x69\\xaa\\x86\\xb0\\xce\\x4d\\x97\\xeb\\x06\\x6c\\x09\\x59\\xdb\\x36\\xc6\\x76\\xa6\\x8a\\xcf\\x70\\xd3\\xbd\\x81\\x24\\xfd\\xbb\\x54\\x56\\x5c\\x66\\xa1\\x7d\\xc1\\x22\\x3d\\x93\\x46\\xbf\\xfc\\xe2\\x2b\\xc3\\x6e\\x60\\x1b\\x06\\x09\\x65\\xfc\\x48\\x77\\x76\\xd6\\xcb\\x1d\\x94\\x98\\xcf\\x18\\x7b\\x92\\x76\\x0f\\x14\\xad\\xbc\\xec\\xfe\\x50\\xcd\\xed\\xad\\xff\\xba\\xb2\\x0f\\x6d\\x77\\xec\\x27\\xe9\\x16\\x32\\xde\\x2a\\x54\\x86\\x36\\x47\\x06\\xf9\\xb3\\xb3\\x51\\x51\\x5e\\xba\\xdd\\xea\\x74\\x9a\\x0c\\x3a\\x5d\\x7a\\x5a\\x38\\x28\\x14\\xa9\\xda\\x96\\xa7\\x05\\x53\\x0a\\xc2\\x82\\x9a\\x33\\x71\\x85\\x1c\\x67\\x90\\xb8\\x82\\x82\\x90\\x31\\x24\\x55\\x46\\x43\\x4e\\x6f\\xab\\xca\\xe8\\xcd\\x7e\\x30\\xf9\\x33\\xfc\\x9c\\x86\\xf7\\xfb\\xbd\\x66\\x87\\xc1\\x68\\xa8\\x8c\\x5a\\xcd\\x46\\xb3\\x3a\\xa5\\x2a\\xaa\\x8e\\xaf\\xec\\x27\\x13\\x7b\\xeb\\x94\\xe9\\xaf\\x4e\\xf6\\x89\\xc0\\xac\\x35\\xda\\xb6\\x55\\x3e\\xc9\\xb1\\x1f\\x13\\xb2\\x58\\xfc\\x8c\\x9c\\xd8\\x52\\x33\\xfc\\x3f\\x8e\\xd6\\x19\\x41\\x9c\\xa2\\x1c\\x9c\\xbb\\x3a\\x72\\xe5\\x0e\\x45\\x77\\x1c\\xce\\xf1\\x55\\x66\\x05\\x9b\\x1c\\xb3\\x3b\\xf0\\x30\\x3d\\x66\\xf7\\xd6\\x63\\x83\\x1e\\x84\\xf4\\x5b\\x66\\xd5\\x1c\\xdf\\xb8\\x28\\x1e\\x45\\xfc\\xe3\\x6e\\x9d\\x0a\\xf3\\x47\\xac\\x4d\\x3a\\x6f\\xd7\\x77\\x2e\\x3d\\x6f\\x77\\x47\\x9f\\x76\\x2c\\xfe\\x2f\\x1e\\x2a\\xcd\\x20\\xf4\\x26\\x84\\x6a\\x22\\x25\\x4e\\x1d\\xef\\xf1\\xa4\\x87\\xbc\\xde\\x9c\\xec\\xac\\xac\\xf4\\x02\\xab\\x4e\\x0c\\x97\\xe4\\x15\\x0e\\x88\\xe6\\x41\\x66\\xb6\\x3f\\x9b\\xf4\\x92\\xdf\\xcc\\xab\\xd2\\xb3\\x1c\\x46\\x82\\x3b\\xc6\\x54\\x66\\xb4\\x9e\\xa4\\xe7\\x24\\xa3\\x9f\\xa4\\xed\\x69\\x32\\x51\\xe2\\xdb\\x5e\\x8e\\xeb\\x5b\\x54\\xb1\\x10\\x7a\\x49\\x21\\xc1\\xe3\\x9c\\xfa\\xf6\\x84\\xcd\\x4f\\x13\\x93\\xda\\x93\\xf8\\xfb\\xc6\\x73\\x08\\x42\\xbb\\x84\\xc1\\x52\\xb2\\x6d\\x15\\xb3\\x0b\\x5a\\x70\\x75\\x39\\xbf\\xe0\\x68\\x6d\\xfc\\x84\\xc2\\x60\\xc6\\xb3\\x13\\x99\\xe4\\x5d\\xd2\\xde\\x3c\\xc2\\x47\\xb7\\x92\\x9d\\x4e\\x4d\\xb6\\xc7\\xcc\\xe7\\xe5\\x21\\x64\\xce\\xe6\\xf3\\x83\\xb9\\x12\\x75\\xb1\\xe4\\x91\\x35\\x01\\x01\\xd9\\x6c\\xee\\x01\\x44\\x84\\x02\\xc5\\x28\\xb4\\x89\\xa3\\xa5\\x66\\x2e\\xc2\\xa8\\xc9\\xa1\\x53\\xf8\\xbf\\xf6\\xf4\\xbc\\x99\\xb9\\x8e\\xf5\\x90\\x32\\x12\\xcc\\xeb\\x77\\x2d\\xbd\\xce\\x56\\xde\\x2f\\x44\\x84\\x7a\\xeb\\x9c\\x78\\xfa\\xca\\xf0\\x0e\\xdd\\xc2\\x3d\\xae\\xb3\\x8f\\xf7\\x8f\\xa7\\x6e\\xa9\\x64\\x73\\x9d\\xc8\\x1f\\xe2\\x48\\xd2\\x16\\x35\\xe1\\xb6\\x3b\\x46\\x32\\x74\\xa2\\xc4\\x6b\\xb5\\xe4\\x99\\x8a\\x27\\x22\\x08\\x88\\x1a\\x5e\\x43\\x2d\\x28\\xb5\\x12\\x53\\x05\\x37\\x31\\xaa\\x4d\\x52\\x4a\\x87\\x92\\x8c\\x26\\xc9\\x7f\\x0b\\x10\\x18\\xf9\\x95\\xf5\\x4f\\x71\\x2b\\xae\\xf6\\xe4\\x06\\x50\\x9b\\x48\\xba\\xc8\\xf3\\x53\\xeb\\x87\\x70\\x4f\\x2a\\xb6\\xc9\\x42\\x31\\xa9\\x53\\x26\\xf4\\xe5\\x1f\\x91\\x76\\x81\\x56\\x1e\\x57\\x4a\\x7e\\xa6\\x37\\xdb\\x93\\x9d\\xcf\\x67\\x15\\xb4\\xf6\\x65\\xb5\\xce\\x92\\xf5\\x08\\x1c\\x5a\\x9d\\xd1\\x29\\x1b\\xf4\\x7a\\xa3\\x43\\x25\\x8b\\x45\\x85\\x4e\\xbd\\x5e\\xd7\\x2a\\xc5\\x9b\\xed\\xad\\x8c\\xe6\\x67\\x67\\xeb\\x5a\\x59\\x98\\x18\\xa0\\x8d\\x5a\\x2c\\xba\\x56\\x05\\x59\\xd0\\xca\\x43\\x6f\\xf5\\xd1\\x56\\xe0\\x30\\xea\\x8c\\x44\\x78\\xd2\\x25\\x69\\x0e\\x15\\x05\\x76\\xa3\\x2f\\xe6\\x26\\x4e\\x0d\\x9a\\x44\\x8f\\xb5\\x26\\x69\\xe7\\x1a\\x14\\xd0\\x5e\\x1f\\xdf\\x9a\\x0f\\x9b\\x80\\xf7\\xf1\\x21\\x5b\\x05\\xd8\\x42\\xb6\\x0c\\x72\\xc9\\x25\\x4f\\x21\\xf1\\xb4\\xac\\x53\\xe2\\x31\\xbf\\xe8\\xd4\\x74\\x49\\xab\\x91\\xf4\\xf2\\x8c\\x53\\xfb\\xf6\\x4d\\xb1\\x68\\x6a\\xff\\x39\\xd5\\xaa\\xa9\\x7d\\xe6\\xe0\\xa9\\xe9\\x6a\\x39\\xfe\\x50\\x23\\xaa\\x66\\x29\\x4f\\x61\\x99\\xad\\x4d\\x7e\\x26\\x5f\\x36\\x02\\x2f\\xe6\\x0e\\x63\\xcd\\xf0\\x6c\\x98\\x83\\x57\\x55\\x15\\xc2\\x9f\\x23\\x61\\x59\\x4a\\x9d\\x3a\\xf1\\xbc\\x4d\\x6a\\x26\\x59\\xb7\\xd8\\x0b\\x36\\x6e\\x54\\x3e\\xf9\\x9b\\xf4\\xa1\\x0a\\x99\\x50\\xdf\\x88\\x1f\\xa9\\x41\\x23\\xe8\\x45\\x83\\x46\\xad\\x37\\xa8\\x0d\\x16\\x33\\x88\\xa2\\x41\\x62\\x21\\x9b\\x8d\\x92\\xc6\\xe0\\x90\\xf8\\xaa\\xa8\\x04\\x4d\\xb6\\xc3\\x5b\\xd8\\xa9\\x27\\xa6\\x98\\x2f\\x31\\x8f\\x94\\x0f\\xff\\xf7\\x2f\\x78\\xe2\\x2f\\x7c\\x9d\\x72\\xe5\\xbf\\x05\\x0d\\xfe\\x13\\x2e\\xfc\\x5d\\xa2\\x7c\\x33\\xbe\\x3a\\x8b\\xc8\\x3a\\x5d\\x85\\x6e\\x44\\xae\\xbc\\x21\\x92\\x6d\\x95\\xe4\\xd4\\x54\\xb7\\x4e\\x72\\x13\\xa9\\x32\\x9d\\xea\\x78\\x4d\\xa9\\xa9\\x0c\\x10\\xea\\x6b\\xc5\\xcc\\x93\\x59\\xdf\\x60\\xa7\\x96\\x6c\\x15\\xd2\\xe8\\x63\\xca\\x9f\\x70\\x04\\x90\\xd8\\xe6\\xf4\\x40\\xa3\\x75\\x68\\x49\\x99\\x50\\x58\\xb2\\xfd\\x8e\\xdd\\x47\\xf6\\x94\\x8f\\x9d\\x3f\\xe6\\xe5\\xd7\\x5e\\x66\\x07\\x12\\x2e\\xa8\\x5f\\x9e\\x7a\\xeb\\xfb\\xa7\\xa1\\xdb\\x83\\x8e\\xf7\\x52\\x3f\\x7d\\xff\\x79\\x76\\x2c\\xa1\\xcb\\xdf\\x1e\\xd8\\x34\\x65\\xbc\\x02\\x9f\\x74\\x3f\\x81\\xcf\\x8f\\x2a\\x23\\xf9\\xe9\\x6e\\x99\\xc0\\xa8\\x93\\xb2\\xf9\\x5c\\x76\\xbe\\xdf\\x65\\x6a\\x0e\\x9d\\x37\\xbd\\x2a\\xea\\x4d\\x23\\x9f\\x26\\x4b\\x57\\x92\\xd9\\x48\\x1c\\xe9\\x8b\\xff\\x27\\xac\\x49\\xfa\\x72\\xa1\\xa8\\x64\\xfb\\x8a\\x38\\xc8\\xc7\\x4f\\x32\\x90\\x8f\\xdf\\x30\\x60\\xf2\\x2d\\xaf\\xbe\\x9b\\x04\\xf6\\x67\\xef\\xc5\\xc1\\xbe\\x72\\xee\\x22\\xb9\\xfd\\xfc\\xec\\x31\\xe6\\x8b\\x29\\x08\\x17\\xb9\\x93\\x12\\x32\\xab\\xf8\\x7c\\x98\\x83\\x14\\xd9\\x34\\x9f\\x3c\\x3b\\x25\\xa9\\x88\\x1c\\x53\\x11\\x91\\x5d\\x2a\\xb3\\x27\\x7e\\xbe\\xc2\\x9b\\x49\\xe4\\x18\\xb3\\xcb\\x4d\\x0f\\x56\\xbc\\x00\\x79\\x64\\x46\\xf3\\xd0\\x8a\\xa9\\x0e\\xcc\\x27\\x8a\\x8b\\x9b\\x1b\\x4e\\x32\\xed\\x52\\x9c\\x96\\xfa\\x68\\x0b\\x24\\xf6\\xad\\x1c\\x46\\xc8\\xa1\\x67\\x11\\x4c\\xf0\\x7d\\xee\\xcc\\x01\\xb3\\xe7\\x1f\\x5d\\xde\\x7d\\xd0\\xb1\\xb9\\x13\\xe4\\x61\\xf6\\x9c\\x56\\xc3\\x38\\x5e\\xe8\\x37\\xb4\\xf2\\xbe\\x75\\x38\\x0d\\x9e\\x7a\\x63\\x61\\x0d\\x1e\\xcf\\x57\\x8d\\x9c\\xa2\\x16\\x36\\x69\\xa2\\xa1\\x68\\x47\\x45\\xa7\\x24\\xa0\\xa3\\xd0\\x5e\\x8c\\x11\\x89\\xc5\\x8c\\xda\\x44\\x74\\x92\\x85\\x37\\x20\\x32\\x8d\\xad\\x16\\xfd\\x0b\\x90\\x4b\\x5b\\x00\\x59\\xfb\\x55\\x6a\\xe1\\x08\\x04\\x08\\x70\\x04\\xba\\x8a\\x26\\xf6\\x49\\xb6\\x70\\xc8\\xc1\\x27\\xbc\\xeb\\x84\\x08\\x99\\x5f\\x70\\xec\\xd5\\xde\\x79\\xbe\\x62\\xdf\\xb1\\x5b\\xc4\\x29\\xf7\\xdc\\x73\\x65\\x80\\x74\\x17\\x5f\\x78\\x03\\xef\\xbf\\xfa\\xd4\\x98\\x29\\x8a\\xbf\\xe0\\x52\\xb8\\x08\\xdf\\x08\\xbf\\x93\\x3e\\x6a\\x0d\\xea\\x78\\x1f\\x65\\xc1\\x67\\x70\\x56\\x38\\x8f\\xec\\xa8\\x38\\x62\\x20\\x22\\x2a\\xf5\\xb5\\xe6\\x50\\xa9\\xd5\\x82\\xfd\\x79\\x02\\x83\\x00\\x79\\xfb\\x8d\\x66\\xdd\\x11\\x08\\x32\\x08\\x9a\\x1a\\x95\\x32\\x13\\x29\\xd9\\x47\\xf7\\x31\\x93\\x8d\\xa3\\xe0\\x9f\\xe2\\x61\\x41\\x00\\xde\\xdf\\x27\\xe2\\x77\\xb6\\xca\\xeb\\x51\\x25\\x9c\\xaf\\x7f\\x6e\\x65\\x81\\x71\\x6e\\xda\\xe4\\x6e\\xda\\x9d\\xba\\x39\\xb3\\x60\\x16\\x3d\\x43\\x87\\x5e\\xe2\\x86\\x90\\x7a\\xdd\\xa8\\x7d\\xc4\\x24\\x52\\x77\\x0c\\x08\\xd9\\xe2\\xb6\\x5a\\x47\\x20\\x77\\xbf\\xdd\\x69\\x21\\xb5\\xee\\x17\\x79\\x4d\\x43\\xf3\\x43\\xcd\\x6d\\x5a\\x9b\\xda\\x68\\x75\\x84\\xa6\\x60\\x3c\\x3b\\x34\\x27\\xcb\\x71\\x63\\xea\\xa4\\x5b\\x79\\x6f\\x55\\xb7\\x5c\\x7b\\xa1\\x8f\\x42\\x72\\xf5\\x9f\\xc3\\xd4\\x9b\\x04\\xf5\\xf4\\x65\\x1f\\x8c\\xee\\xab\\xfb\\x87\\x76\\xce\\x4c\\x98\\xad\\x8c\\x45\\x08\\x2e\\xf2\\x88\\xc0\\x43\\xed\\x66\\x3a\\x47\\x5c\\x2d\\xed\\x66\\xec\\xcc\\x60\\x86\\x0e\\x8c\\x11\\x69\\x09\\xd2\\xc4\\x35\\x4d\\xa1\\x6b\\x1a\\xcc\\x50\\xea\\x96\\x30\\x98\\x09\\x25\\x0c\\x66\\x60\\xc6\\x73\\xef\\x7d\\xd6\\x7b\\xe0\\xae\\x07\\xf1\\xc1\\xe3\\x70\\xfb\\x5d\\x4b\\xd7\\xf2\\xfb\\xa1\\x18\\x1f\\xb4\\x4c\\x1a\\x3c\\x73\\x3c\\x47\\xd6\\x22\\x7c\\x60\\xe2\\x04\\xb6\\x0f\\x78\\x19\\x2e\\x0a\\x6d\\x09\\x2c\\x36\\xd4\\x8f\\x40\\x02\\x66\\x95\\x5a\\x67\\x34\\x88\\xa2\\xce\\xcc\\x6b\\xac\\x36\\xad\\xc6\\xe6\\xd0\\xd8\\xad\\x1a\\x0a\\x09\\xe9\\x37\\xc8\\x3d\\x68\\xd6\\xe9\\x40\\x7d\\x84\\x81\\x44\\x20\\xa0\\x70\\xb5\\x29\\xba\\xe6\\x06\\x21\\x30\\x3a\\xac\\x52\\xc8\\x30\\x21\\xc2\\x32\\xb9\\xf0\\xb3\\xff\\x39\\x53\\x67\\x4f\\x59\\xfa\\xcf\\x63\\x07\\xe7\\xa6\\x4e\\x3f\\x53\\x9b\\xa6\\x9d\\xbe\\x8f\\xa0\\xc9\\x3b\\x85\\xe3\\xa4\\xdb\\x30\\x70\\x7f\\x93\\xa1\\x83\\xe3\\x38\\xb2\\x22\\xa4\\xd8\\xb2\\xc5\\xfe\\x24\\xe3\\xf6\\x23\\x83\\xad\\x2c\\x62\\xb5\\xa8\\xf4\\x7a\\x5e\\x6d\\x32\\x9b\\x1d\\x1a\\xb5\\xda\\xae\\xd7\\x9b\\xd4\\x74\\xe8\\x78\\x01\\xb1\\x31\\x2b\\x2e\\xa6\\xdb\\x71\\xc9\\xb0\\x30\\x95\\x58\\x99\\x82\\xb3\\x65\\x10\\xb2\\x39\\x65\\xba\\x46\\x80\\x11\\x76\\x77\\x2f\\xee\\xd2\\xa9\\x6b\\x16\\xfe\\xe2\\x9f\\xd3\\x03\\x69\\xaa\\xd2\\x29\\xaf\\xe3\\x2f\\xca\\x17\\xbd\\xa4\\x59\\x2b\\x76\\x19\\xc5\\xfd\\x8e\\x1f\\x9c\\x3f\\xcd\\xfd\\x16\\x4c\\xb8\\xfa\\xc5\\x86\\x19\\x0c\\x8f\\xa7\\xf0\\xb7\\xc3\\x42\\x16\\xcf\\x57\\xab\\xc4\\xd6\\xe2\\x6f\\xe7\\xbb\\xb2\\x7b\\x91\\xe1\\xf4\\x9d\\x7c\\x05\\x3c\\x23\\x2e\\x25\\x6f\\xd3\\x23\\x7a\\x51\\xab\\x25\\xb8\\xae\\xd7\\xa9\\xd5\\xe4\\x65\\xe1\\xe9\\xa4\\xf3\\x25\\x74\\x0a\\x95\\x94\\x96\\x85\\x8c\\x84\\x57\\xb2\\xdc\\x59\\x52\\xfe\\x6c\\xa7\\x6e\\x8b\\xf9\\x8a\\x57\\xe7\\x3e\\xd7\\xaf\\xff\\xe3\\x3d\\xf1\\x15\\xd4\\xac\\xac\\xcc\\x88\\x41\\xa4\\x45\\x69\\xb5\\x7a\\x9d\\x46\\x43\\xaa\\x6a\\x2c\\x2c\\x8e\\x8c\\x54\\xff\\xec\\xeb\\x44\\xe4\\x37\\x0b\\x3c\\xa3\\x14\\x27\\x2e\\x8d\\x17\\x07\\x62\\x0b\\xb8\\xa8\\xd3\\x51\\x8d\\x5e\\xc7\\x71\\x48\\x6a\\x0e\\x17\\x58\\x7c\\x84\\x95\\x21\\x33\\xab\\x23\\xc0\\x93\\x8b\\xbb\\x75\\x7a\\xb6\\xbc\\x44\\x5c\\x8a\\xaf\\xf4\\xdc\\xd5\\xaf\\xff\\xe1\\xf9\\xaf\\x32\\xb8\\xbe\\x16\\x66\\xc3\\x29\\xb2\\x54\\xe9\\x91\\x3b\\xa2\\x15\\x11\\x4f\\x20\\x32\\x1a\\x24\\x3d\\x2a\\x7c\\x2b\\x69\\x7e\\xda\\x28\\x9b\\xa4\\x04\\x4a\\x90\\x7c\\x5f\\x87\\xdb\\x8c\\x9d\\xb0\\x60\\xfe\\x44\\xe1\\xc7\\x82\\xec\\xca\\x59\\xe3\\xab\\x47\\x8c\\x6b\\x51\\x8e\\x86\\x57\\x11\\x4a\\x4f\\xca\\x41\\x4d\\xcb\\x51\\x94\\x97\\x21\\x07\\xd5\\x54\\x86\\xe0\\xd4\\xc4\\xf9\\x0b\\xc7\\x8f\\x6d\\x13\\x16\\x66\\x8f\\x1b\\x31\\x62\\xdc\\xac\\xca\\xec\\x02\\x52\\x4e\\x5b\\x4a\\x6b\\xc5\\xc7\\x09\\xcf\\x12\\x8e\\xc8\\x3a\\xbd\\xde\\x89\\x44\\xab\\x15\\xb9\\x64\\xb5\\x83\\xd7\\x01\\xcf\\x83\\x8e\\x37\\x21\\x86\\xa3\\xf1\\x80\\x2c\\xa1\\xe2\\x16\\x9b\\x27\\x74\\x96\\x34\\x3f\\x55\\x0d\\xce\\x40\\xf1\\x7d\\xbd\\xfa\\x84\\xfb\\x68\\xf6\\xdb\\x9f\\x5c\\xb4\\x7d\\xcf\\xf2\\xe9\\x04\\x39\\x1f\\x30\\x7c\\x76\\xeb\\xa0\\x5e\\x1d\\x5b\\xd7\\x2d\\x7b\\xfe\\xe9\\x3b\\x9f\\xb7\\xd7\\xa3\\x16\\xf5\\x13\\xd6\\xcc\\x69\\x11\\x9c\\x82\\x4b\\x36\\x82\\x4d\\xe7\\xb0\\xd9\\x1c\\x3a\\xd2\\xb4\\xff\\x59\\x7f\\xcb\\x33\\xea\\x84\\xb2\\x58\\xa0\\xa8\\xee\\x8e\\x3d\\xdb\\x17\\x3d\\x69\\xdf\\xaf\\x21\\x40\\xf4\\xba\\xaf\\x38\\x00\\x17\\xeb\\x6d\\x2f\\xdc\\xf9\\xf4\\xf3\\xcb\\xea\\x5a\\x77\\xea\\x39\\xe8\\xd6\\xcf\\x0c\\x78\\x1c\\xc5\\xc1\\x21\\x68\\xa1\\x10\\x15\\xce\\x10\\x1c\\xcc\\x40\\x4d\\xef\\xbd\\x6c\\xbc\\x5a\\xa3\\xb7\\x84\\x45\\xc2\\x3b\\x64\\xac\\x73\\x22\\x16\\x49\\xe4\\x00\\xf1\\x82\\xc0\\x21\\x5e\\xad\\xe2\\x24\\x01\\x50\\x61\\x88\\x45\\xd8\\x4e\\x72\\xc9\\xe2\\xf7\\x69\\xc0\\x07\\x5e\\x61\\xd1\\x37\\xf8\\x45\\xfc\\xc2\\x79\\x58\\x09\\x5d\\xde\\xe2\\x23\\x57\\x8f\\x0b\\x7c\\xcb\\xf2\\x10\\x08\\x74\\x2b\\x9c\\x13\\x24\\x52\\x9e\\xc8\\x5f\\xbb\\x3c\\x2f\\x84\\x34\\x10\\xe2\\xfe\\xc4\\x47\\xf1\\xdc\\xf3\\xd0\\x0d\\xba\\x7e\\xf3\\x96\\xc0\\x5f\\x3d\\xce\\x47\\x94\\x73\\x5c\\xc2\\x56\\xee\\x2b\\xf1\\x2f\\xa4\\x41\\xe5\\x91\\x2c\\x8d\\x9a\\x91\\x3f\\x1d\\xaf\\x06\\xf5\\xba\\xe1\\x74\\xf7\\xde\\x04\\x85\\x50\\x01\\x35\\xb0\\x18\\xb6\\xc2\\xaf\\xa0\\x22\\x15\\x54\\xd7\\x2a\\xcc\\x21\\xc4\\xa7\\x35\\xc5\\x7f\\x5f\\x2e\\x35\\x05\\x22\\x95\\x7c\\xb5\\xf5\\x4d\\xe1\\xbd\\x6d\\xc0\\x7d\\x2b\\xbc\\x90\\x76\\xfc\\x78\\x1a\\x74\\x6a\\x59\\x07\\x02\\x49\\xe4\\xb5\\x6a\\x9d\\x4a\\x40\\xc2\\xba\\xe1\\xa2\\x09\\x81\\x09\\x15\\xa2\\x0a\\x54\\x83\\x16\\xa3\\xad\\xe8\\x57\\xc2\\xb0\\xd1\\x3a\\x8a\\x9b\\xd7\\xe1\\x83\\x70\\x48\\xa6\\xe2\\x1c\\x5c\\xf8\\x16\\xe3\\x6d\\xef\\x09\\x6f\\x6e\\x15\\xb6\\x42\\x47\\xcf\\xcb\\x2f\\x7b\\xd8\\x8a\\xa9\\x13\\x6e\\x85\\xad\\x2c\\x8e\\xb9\\xed\\x30\\x75\\xd4\\x22\\xf0\\x04\\xd6\\x86\\x90\\xe7\\x84\\x69\\x0b\\xc1\\xd6\\x8d\\x1b\\x49\\xa2\\x71\\xca\\xfc\\xce\\x16\\x0e\\x70\\xab\\xc4\\xe1\\x24\\x7d\\x38\\xe2\\xe7\\x78\\x51\\xe0\\x60\\x43\\x74\\x2a\\xb7\\x9e\\xdb\\xca\\xf1\\x54\\x70\\xad\\xe0\\x6a\\xb8\\xc5\\x9c\\xc8\\x45\\xb2\\x73\\x7b\\x72\\x11\\xb7\\xa7\\x27\\x87\\x0a\\x83\\xc1\\xea\\x5a\\x45\\xad\\xa9\\x44\\xc2\\xcf\\xe6\\xc6\\xd4\\x3f\\x2c\\x0e\\xdf\\x45\\xcb\\x5b\\x24\\xec\\xe7\\xf2\\x49\\xfd\\x22\\x9d\\x4f\\x9c\\x20\\x92\\x45\\x5e\\x25\\x91\\x21\\x2b\\x3c\\x93\\x3c\\x2f\\xc3\\x24\\x9b\\xb8\\x68\\x37\\x70\\xf8\\x82\\xb0\\x3f\\x15\\xc5\\x72\\xfe\\x68\\x91\\x17\\x89\\x3c\\x88\\xd0\\x32\\x2f\\xf8\\xc3\\x5e\\xd9\\x01\\xf7\\xe1\\x0b\\xc0\\xed\\x16\\xf6\\xff\\x91\\x13\\x4b\\x65\\xed\\xc6\\x43\\x61\\x6b\\xec\\x68\\x63\\xbb\\x81\\xbf\\x46\\xbb\\x49\\xa2\\x78\\xbb\\xb3\\xf0\\x73\\xdc\\x8a\\xd8\\x28\\x92\\xde\\x72\\x08\\x90\\xd2\\x4d\\xa1\\x78\\x9b\\x64\\xd2\\xa6\\x2c\\xda\\xa6\\xad\\xbb\\x58\\xda\\xce\\x78\\x32\\xfc\\x1a\\x5b\\x11\\x87\\x4b\\xe0\\x39\\x81\\x53\\x49\\x88\\xbf\\x26\\x5c\\x37\\x31\\xb8\\xf0\\xe4\\x38\\x5c\\xe8\\x05\\x3c\\x99\\x9b\\x90\\xc8\\x4b\\x68\\x9e\\x40\\xfb\\xa3\\x79\\x5e\\xa5\\x3f\\x5e\\x60\\xfd\\x81\\x27\\xc7\\xfb\\x83\\xa3\\x91\\xfb\\xe0\\x92\\xd0\\x8e\\xc5\\xa4\\xcf\\x8a\\x18\\x49\\xcd\\xa2\\x20\\x6a\\xd4\\x12\\x27\\x71\\x94\\xfc\\xbe\\xc5\\xe2\\xc6\\x27\\x41\\x40\\x16\\x36\\xf0\\x92\\xf5\\xe4\\xd2\\xc8\\x59\\x23\\xa1\\x14\\xff\\x73\\xe4\\x2c\\xa1\\x1d\\x7e\\x1f\\xf2\\xaf\\x9c\\x84\\x7c\\x0a\\xcb\\xf3\\xbc\\x31\\x5e\\x9e\\xe5\\x10\\x22\\x65\\x91\\x2a\\xe2\\x60\\xc4\\x33\\xd3\\x8c\\x4a\\x16\\x85\\xc6\\xa2\\x5b\\xe0\\x14\\xfc\\x1c\\xa7\\xb1\\x7a\\x7a\\x86\\xa4\\x25\\x8d\\x2d\\xbb\\x16\\x8d\\xfd\\xa8\\x91\\xc4\\x92\\x72\\xbe\\x22\\xe5\\x9c\\x4c\\x94\\xa3\\x42\\x1a\\xfe\\x5a\\x34\\xd6\\xdf\\x84\\xc6\\x9e\\x8c\\xd3\\xd8\\x5b\\x1a\\x48\\x2c\\x29\\xe7\\x41\\xf4\\x0c\\xa7\\xe2\\xb4\\xa4\\x37\\xc8\\x5a\\xa4\\x22\\xdd\\xc0\\xf3\\x1a\\xb5\\x28\\x71\\x1c\\x1b\\xbb\\xd0\\xe9\\xa4\\x15\\xc4\\xef\\x25\\xd2\\x7d\\xc8\\x11\\xe2\\x54\\xf8\\xde\\xb9\\x0b\\xe6\\x3c\\xb3\\xe0\\xdc\\x39\\x65\\xdc\\x9b\\x94\\x81\\x08\\x86\\x09\\x82\\x46\\x4d\\xa4\\x20\\x15\\x19\\x92\\xd3\\xd4\\x83\\x7f\\xd2\\x2a\\xe4\\x73\\x50\\xbb\\x3e\\x2f\\xa7\\x9a\\xb3\\x60\\x2e\\x4c\\x81\\x75\\xe7\\xce\\x2d\\x68\\x52\\x86\\x8e\\xd0\\x1e\\xb3\\x96\\xfc\\xe4\\xa9\\x10\\x2c\\x8a\\x1a\\x7a\\x86\\x91\\x81\\x72\\xe6\\x9a\\x25\\xc5\\x21\\x22\\xa5\\x11\\x90\\xc0\\x39\\x7e\\xfc\\x82\\x39\\x73\\x68\\x79\\x36\\xf4\\x37\\x77\\x1f\\x7c\\xca\\xc6\\x85\\x27\\xb8\\x48\\x28\\x45\\x61\\x71\\x7c\\x5c\\xca\\xc2\\x5e\\x87\\x8d\\x5b\\xfe\\x77\\x1c\\xfe\\xd8\\x29\\x42\\x43\\xee\\x14\\xbf\\x26\\x7c\\xda\\xd2\\xc8\\x18\\x9d\\x89\\xa7\\x8e\\xa3\\xf9\\xbb\\x86\\x23\\xd5\\x86\\x68\\x4b\\x12\\xa2\\x41\\x8b\\x4d\\x7b\\xe8\\xa9\\xae\\x0a\\xd3\\x54\\x13\\xef\\x34\\x9b\\x32\\x4d\\x11\\x53\\x95\\x69\\x9a\\x69\\x89\\x69\\x9b\\x49\\x55\\x45\\xbe\\xf6\\x9a\\xce\\x99\\x04\\x64\\x32\\x9b\\xb8\\xf2\\x08\\x79\\xbe\\xcd\\xf4\\x36\\x79\\x20\\x22\\x53\\x91\\x69\\xa4\\x69\\x03\\xb9\\x15\\xd5\\x23\\xaa\\xeb\\x46\\x54\\xd7\\x92\\x4f\\x1d\\x2a\\x24\\x3f\\x82\\x71\\x82\\x14\\x5f\\x16\\x73\\x43\\x8a\\xcb\\x16\\xc2\\x44\\x40\\xee\\x7d\\x47\\x75\\xdb\\xcd\\xe3\\x7b\\xf4\\x98\\x60\\xdc\\x61\\x7d\\x4e\\xd8\\x7a\\x78\\x6d\\xbf\\xe8\\xd0\\xca\\x8d\\x7b\\x58\\x9f\\xbd\\x2e\\xd4\\xc3\\x57\\x8c\\x2e\\xd1\\x36\\x92\\x46\\x92\\x36\\x26\\x66\\x27\\x3d\\x26\\xfc\\x3a\\xa4\\x08\\xf5\\xf4\\x48\\x30\\x41\\xca\\x5c\\x61\\x1a\\xe7\\x93\\x26\\x93\\xfe\\x95\\x51\\x6e\\xc4\\xa1\\x47\\x64\\x15\\x91\\x52\\x5c\\x1a\\xd3\\xc6\\x28\\xaf\\xd9\\x38\\x9c\\x77\\xdc\\x1d\\xe5\\x29\\x15\\x0a\\x26\\x23\\x7f\\xe2\\xe4\\x3f\\x59\\xc1\\x54\\x8d\\xbe\\xba\\x4a\\x39\\xdf\\xbd\\x93\\x26\\xdd\\xbb\\x69\\xc2\\x84\\x4d\\x8b\\x7b\\x95\\x86\\x7a\\xf7\\x0e\\x85\\x7b\\x8b\\xb7\\x4d\\xd8\\x44\\x1f\\x6c\\x9a\\x10\\xea\\xdd\\x33\\x5c\\xde\\xb3\\x37\\x85\\xaf\\x2f\\x21\\x0d\\x6f\\x23\\x07\\xb2\\x20\\x5f\\xc4\\xac\\xd2\\x6a\\x79\\x33\\x6f\\xb3\\x4a\\x0e\\x64\\xb8\\xbb\\x31\\x8a\\x42\\x73\\x86\\x80\\xb1\\x4e\\x09\\x63\\xcb\\xb6\\x53\\x17\\x0d\\xed\\xf1\\x40\\x45\\x97\\x36\\x05\\xa5\\xed\\x2a\\xf0\\xd0\\xc9\\x37\\xf7\\x59\\xe1\\xcf\\x9b\\x1e\\xce\\x0b\\xa5\\xae\\xf6\\x92\\x71\\xfb\\x8d\\x8c\\x1b\\x16\\x4f\\x20\\x17\\xda\\x12\\x19\\xee\\x74\\x6b\\x52\\x1c\\x06\\x83\\xb8\\x21\\x8a\\x0c\\xeb\\x87\\x23\\xeb\\x86\\xa8\\x5a\\x87\\x40\\x87\\x82\\xa8\\x3d\\x1a\\x8e\\xe6\\xa3\\x87\\xd0\\x8f\\x74\\xf0\\x04\\x77\\xb6\\xbb\\xc4\\xcd\\x0b\\x6e\\x3b\\xf9\\xea\\xea\\x1e\\xe3\\x9e\\xe1\\xde\\xe8\\xde\\xe1\\x3e\\xe1\\x7e\\xdf\\xfd\\x87\\x5b\\x67\\x27\\x6f\\xbb\\xba\\x07\\x91\\x87\\xcb\\xc9\\xc3\\x83\\xe4\\xe1\\x79\\xb7\\xd6\\x7d\\x24\\x76\\x3c\\x92\\x59\\x1a\\xe9\\x69\\x76\\x43\\xa6\\xbb\\xca\\xbd\\xc4\\xbd\\xd7\\x7d\\xce\\x4d\\x88\\x4f\\x91\\x7b\\xa4\\x7b\\x83\\xfb\\xb8\\xfb\\x92\\x5b\\xea\\xcc\\xd5\\xd0\\x11\\x25\\x44\\x5c\\x19\\xd2\\xe2\\x60\\xd3\\x41\\x6d\\xcd\\x51\\x26\\xc4\\x47\\x4f\\x38\\xa4\\x73\\xf1\\xc1\\xe5\\x32\\xf2\\xa3\\x83\\xfa\\xa4\\x07\\x82\\xc6\\xd5\\xea\\x36\\x37\\xf7\\x2d\\xb8\\x69\\x50\\x2f\\x4f\\xab\\x02\\xe3\\x4a\\x55\\xad\\xb0\\x35\\xa7\\x30\\xa7\\x75\\xbf\\xda\\xda\\x1b\\xc8\\x77\\x9b\\xde\\x8f\\xac\\x52\\xfc\\x07\\xee\\x10\\xb6\\xf1\\x12\\xa3\\xe5\\x3a\\xba\\xda\\x49\\x5a\\x81\\xb0\\x7d\\x06\\xbd\\x86\\x61\\xab\\xf4\\x3f\\x57\\x3b\\xd2\\xcd\\xc5\\x71\\xba\\xe8\\x0b\\xdb\\x42\\x0e\\xe5\\x5a\\xbc\\xee\\xab\\x1f\\x87\\x91\\x8f\\xb0\\x2d\\x0b\\xb4\\x41\\x1c\\xa3\\x57\\xd2\\xaf\\x1f\\xc0\\x78\\x6e\\x2c\\xdf\\x96\\x48\\x90\\x64\\x2e\\x9a\\x40\\x63\\x45\\xc8\\x62\\x36\\x11\\x66\\xd7\\x04\\xa2\\x8e\\xcc\\x45\\x32\\xa7\\xdb\\x16\\x9a\\xcf\\xd0\\xc6\\x59\\xdb\\xd2\\x15\\x94\\xf7\\x27\\x7b\\x19\\x2a\\x04\\x55\\x10\\xe4\\x46\\x87\\x42\\xf3\\x96\\xa5\\x68\\xfa\\xf0\\x5c\\x59\\xdc\\x79\\xd0\\xe8\\x51\\x3e\\xb3\\x42\\x37\\x78\\x3e\\xc4\\x3d\\x2e\\xfe\\x4c\\x5a\\x53\\x14\\x71\\x0a\\x5a\\x49\\xcd\\x11\\x4e\\x58\\x4d\\xe6\\xbd\\x56\\x05\\x02\\x10\\xca\\xac\\xd1\\x31\\xa6\\x83\\xed\\x90\\x35\\x55\\x54\\xd8\\xca\\x72\\xcb\\xe4\\x32\\x59\\x25\\xab\\x72\\x55\\xfc\\x8f\\x3f\\x4c\\xf8\\xfe\\xfb\\x09\\x3f\\x90\\xeb\\x8f\\xfc\\xd6\\xdf\\x7f\\x9d\\xf4\\xcb\\xaf\\x93\\x2f\\xfd\\x32\\xe5\\xdf\\x94\\xde\\xc7\\xfe\\x46\\x47\\xb8\\x3f\\x88\\x6c\\x61\\x21\\x52\\x61\\xf7\\x48\\x9a\\xde\\x64\\x47\\x82\\xc5\\x68\\x30\\xd3\\x53\\xd9\\x1a\\x2b\\xef\\xd4\\xf0\\x9a\\xb4\\x54\\xbb\\xc9\\x24\\x99\\x0d\\x54\\xfa\\x71\\x21\\x89\\x10\\xea\\x6b\\xc8\\x61\\xc9\\xd6\\x55\\x71\\xa7\\x2f\\x8a\\x4f\\x8c\\x50\\x2a\\x84\\xa0\\x24\\x57\\x89\\x21\\x06\\xbf\\x76\\xcf\\x9b\\x39\\x65\\xe2\\xbc\\x9c\\x4e\\xb8\\xfe\\x8d\\x7d\\xcf\\x9d\\xc2\\xc7\\x3b\\xb4\\x6b\\xe7\\xc9\\xe0\\x76\\xdd\\x3e\\x3d\\x7b\\x6c\\x6d\\xdd\\xad\\xad\\x6a\\x67\\x72\\x3d\\x70\\x7f\\xd8\\x7f\\xf5\\xc9\\xee\\x53\\x66\\x54\\xf4\\x0f\\xb0\\x7e\\x68\\x03\\x3f\\xa2\\x4b\\x84\\x5f\\xe6\\x51\\x8a\\x32\\x8f\\xe1\\x79\\xf0\\x91\\x17\\x79\\xa8\\xa2\\xa2\\x61\\x3e\\x93\\xea\\xdb\\x1c\\x83\\x1f\\x05\\xe7\\x95\\x8b\\x4a\\x9e\\xcf\\xb8\\xb7\\x84\\xdf\\x68\\x3c\\x9a\\x88\\xd5\\x6b\\x57\\x49\\x06\\xea\\x7f\\xdd\\xee\\x46\\x42\\x30\\x2f\\x35\\x5d\\x3e\\x02\\xad\\xf6\\xab\\xb4\\x7c\\x42\\xc8\\x6e\\xd2\\x7b\\x8d\\x53\\xbb\\xd1\\x39\\x4f\\x4b\\xb5\\x67\\x3a\\x27\\xa7\\x73\\xdc\\x5b\\xfb\\xef\\xbb\\xff\\x31\\xf7\\x2e\\x63\\xcf\\x21\\x83\\xba\\x75\\xec\\xf6\\xd0\\xcc\\x8e\\x5b\\xef\\xbf\\x63\\x8b\\xfd\\x49\\x4d\\xa4\\x6b\\xd7\\xae\\x69\\xa1\\x6e\\x79\\xb7\\x4d\\x6a\\xcb\\xbd\\x5e\\xbb\\x60\\xf4\\x44\\x77\\x69\\x41\\x7e\\xd0\\x1f\\x34\\x66\\x96\\xdf\\xdc\\x75\\xca\\xbc\\x49\\xb7\\x58\\x8b\\x0a\\xb2\\x83\\xee\\x0c\\xbb\\x59\\xeb\\x6a\\x37\\x3c\\x16\\x8b\\x61\\xc2\\x4b\\x5f\\x12\\xce\\x9b\\x55\\x7c\\x1b\\xa0\\x56\\x5a\\x94\\x9f\\x8d\\xf3\\xd7\\x56\\x89\\x5b\\xc6\\xfa\\x61\\x33\\x19\\xb0\\x79\\x0c\\xbf\\x5d\\x11\\x0d\\x21\\xd8\\xbc\\x4a\\x02\\x22\\xf8\\x15\\x86\\x1a\\x8f\\xe9\\x78\\x7d\\xd4\\x1f\\x31\\x37\\xef\\x00\\x3e\\x0b\\xe7\\x45\\xef\\x53\\x4d\\xf2\\xb1\\x15\\x5d\\x04\\xda\\x91\\x6a\\x0d\\x0d\\xb2\\x00\\x2a\\x54\\x58\\xd8\\x4c\\xbf\\xa0\\x94\\x60\\x09\\x29\\x65\\xb4\\x39\\xc0\\xbf\\xfd\\x14\\xc4\\xcf\\x2a\\xff\\xff\\x54\\x0e\\xb7\\xe2\\x29\\xee\\xa1\\xff\\x3f\\x94\\x03\\x9d\\x9f\\xe2\\xcf\\xa1\\x96\\xfd\\xc1\\x93\\x07\\x92\\x8a\\x23\\x42\\x5f\\x61\\x43\\x7e\\x6a\\x00\\xa1\\xe4\\xc5\\x69\\x24\\xeb\\x53\\xa2\\x22\\x17\\x8c\\x26\\xf9\\x7a\\xf1\\xd3\\x94\\x7c\\x02\\xd0\\x7c\\x71\\xfe\\x3d\\xd9\\x70\\x22\\x64\\xf1\\x72\\xbd\\x70\\xca\\x4c\\xa8\\xe3\\xa7\\xd5\\x73\\xc9\\xf9\\xd8\\x3a\\x4e\\x58\\x00\\x9e\\xc2\\x0d\\x12\\xe1\\xa9\\x09\\x4f\\xd3\\x4c\\x4b\\x43\\xf5\\x93\\x4a\\x09\\xeb\\x66\\x92\\x22\\x60\\x31\\x5e\\xca\\x4f\\xc3\\x4b\\xe9\\xb8\\xc6\\xbe\\xc5\\xc3\\xb8\\x93\\xb1\\xd5\\x56\\x42\\x6e\\x11\\xfa\\xef\\x08\\xb6\\xfe\\xf8\\x84\\x27\\xb9\\x95\\x52\\x1a\\xe3\\xbb\\xa8\\xa4\\x0a\\x02\\x35\\x80\\xd6\\x00\\x21\\x68\\x0a\\x45\\x49\\x2e\\x9b\\xb4\\x89\\x8e\\xf2\\xca\\xfa\\x87\\x29\\xc7\\xc8\\x8d\\x11\\xef\\x59\\x83\\xd7\\xad\\x61\\xe5\\x2c\\xe3\\x2b\\x78\\x22\\xa7\\x13\\x7e\\xdf\\x46\\xa8\\x86\\x43\\x50\\xa9\\x24\\x8d\\xd9\\x66\\x33\\x5a\\x34\\x16\\x87\\x5d\\x65\\xb1\\x58\\x35\\x46\\x81\\x15\\xd8\\x08\\x6f\\xd2\\x0e\\x0e\\x15\\xa6\\x4b\\x89\\x2c\\xed\\x15\\x1b\\x7e\\xf1\\x0b\\xdb\\x74\\x38\\x72\\xc7\\x62\\xc8\\xc0\\x81\\xe2\\xf6\\x87\\x97\\x91\\x1f\\xc2\\xcb\\xb3\\x0e\\x0f\\xd9\\xb5\\x19\\x84\\xe3\\x0b\\x0f\\x0c\\xa4\\xdf\\xca\\x99\\xb7\\x87\\x38\\x5f\\xec\\x45\\x22\\x1b\\x39\\x9e\\x15\\x41\\x4d\\x58\\x1b\\x22\\x69\\xc5\\x25\\x22\\x85\\xd7\\x0b\\xc9\\x65\\x21\\x1e\\xca\\xf7\\x2d\\xae\\xac\\x5c\\xbc\\x0f\\x3f\\x04\\xde\\x2d\\x5b\\xf0\\x97\\xa8\\x79\\x5e\\x10\\x89\\x34\\xc5\\x51\\x06\\xbc\\xb8\\x21\\xaf\\x68\\xf3\\xe5\\xaa\\x7c\\x36\\xa8\\x53\\xf2\\x76\\xc5\\x5f\\x6e\\xd9\\x02\\x5e\\x05\\x07\\x5e\\x23\\x6b\\xe8\\x77\\xb1\\xdf\\x49\\xde\\xb4\\x88\\x4e\\x24\\xdd\\x05\\x12\\x15\\xc7\\xe8\\x68\\x26\\x73\\x7a\\xb2\\xdf\\xa1\\x92\\x1d\\xfe\\xd7\\x94\\x5a\\x8f\\x2a\\x05\\xb5\\xc8\\x4f\\x70\\x48\\x44\\x04\\x00\\xe0\\xc5\\x66\\xf9\\x0d\\x10\\x2e\\xcb\\x0d\\x8b\\xf0\\x9d\\x52\\xf7\\x7f\\xe3\\x05\\x70\\x68\\x13\\x1e\\xca\\xd9\\x63\\x1f\\x32\\xbe\\x81\\x8c\\x5b\\x82\\x6f\\x70\\xf0\\x26\\x4d\\xf3\\x71\\x13\\xaf\\xc7\\x2e\\xd8\\xa7\\x0c\\xac\\x9a\\x36\\xad\\x6a\\xc0\\x6d\\xa3\\x43\\x79\\x79\\x6d\\xda\\xe4\\xe5\\x85\\x7e\\x18\\x78\\xdb\\xe4\\x41\\x37\\x4e\\x9e\\x32\\x30\\xaf\\xa4\\x24\\x2f\\x58\\x5a\\xaa\\xb4\\xb5\\x33\\x7a\\x95\\x08\\x82\\x5f\\x10\\xbc\\xb5\\x1c\\x6a\\x2a\\xa6\\xb4\\x29\\x2a\\x80\\x24\\x51\\xe0\\x55\\x45\\x12\\xa0\\xf4\\xfd\\x18\\x7a\\x95\\xfb\\x92\\xe5\\xd1\\x31\\xbc\\x52\\x83\\x4e\\x67\\x00\\xbd\\x9a\\x97\\xe2\\x5d\\x0c\\x8a\\x06\\x8d\\xb2\\x7d\\x4c\\x9a\\x08\\xb1\\xeb\\xc7\\xac\\x9c\\x2f\\x1a\\x4b\\x53\\x4a\\x6c\\x51\\x1e\\xd2\\x0a\\x92\\x40\\xf8\\xf3\\x6b\\x95\\xe7\\x67\\x12\\x86\\x97\\x5d\\xa1\\x0d\\x13\\x34\\xea\\xff\\x62\\x5f\\xaf\\x32\\x71\\x23\\x21\\x83\\xc5\\xfe\\xc0\\x6b\\xb9\\x43\\xb1\\x4d\\x34\\x9e\\x4f\\x44\\xe7\\x4c\\xd5\\xb8\\x1d\\x64\\xe9\\x41\\xa2\\x81\\x74\\xe0\\x17\\xc5\\x27\\xcc\\x27\\xfe\\x17\\x97\\xc0\\xc1\\x8f\\xad\\xaa\\xfa\\x76\\x4d\\xf5\\x07\\xb4\\x0b\\xd4\\xc1\\x41\\x5d\\x03\\x03\\xfb\\xdc\\xe0\\xce\\xcf\\xd6\\xcc\\x13\\xf3\\x07\\xe1\\xb5\\xbe\\x80\\xaf\\x30\\x32\\x76\\x5c\\xfb\\xac\\xbc\\xac\\x76\\x25\\xa3\\x27\\xc4\\x75\\xc0\\xaf\\xc1\\x2b\\xf0\\x2d\\xe3\\x0b\\x55\\x28\\x3b\\x62\\xe2\\x55\\x88\\xd0\\x1e\\x15\\x61\\xeb\\x11\\x15\\x96\\xa8\\x62\\x28\\x2e\\xe4\\x34\\xac\\xa6\\xd4\\x40\\x8b\\x7c\\x5e\\x83\\x4c\\x7a\\x52\\x5b\\xd8\\x4f\\x6d\\xd9\\xea\\xcd\\x54\\xbb\\x4f\\xc7\\xe5\\x09\\x61\\x09\\x27\\x25\\xe8\\x10\\xa5\\x0a\\x84\\x9e\\x50\\x3a\\xd4\\x30\\xfa\\x4c\\x64\\x25\\xfc\\xf8\\x13\\x50\\xfd\\xc3\\x0c\\xf1\\x74\\xed\\x67\\xca\\x78\\x36\\xc9\\xc7\\x73\\x88\\x23\\xf9\\x44\\x2a\\x3a\\x37\\xe6\\x03\\x45\\x1a\\x90\\x66\\xfc\\x00\\xd5\\xc2\\x92\\xcf\\x6a\\x95\\x7c\\x78\\x02\\x27\\xc5\\x0e\\xc5\\xeb\\x23\\xf2\\x19\\x91\\x4b\\x9a\\xe5\\x93\\xe9\\xde\\xab\\xf7\\x89\\x19\\x3f\\xe0\\xed\\x7d\\x48\\xae\\x66\\x79\\x08\\xe2\\x10\\x69\\x92\\x6b\\x06\\x23\\x30\\xf9\\x85\\x93\\xf0\\xf6\\x1f\\x66\\xe0\\x09\\x0c\\x48\\x40\\xe9\\x78\\x28\\x6f\\x8e\\xbd\\x1f\\xa7\\x4a\\x88\\x5a\\x9b\\x69\\xd4\\x02\\x30\\x99\\xe3\\x4c\\x53\\xaa\\xa4\\x38\\xad\\xe1\\xcd\\xf5\\xc6\\xc7\\xe0\\xe9\\xed\\x64\\x5e\\x2d\\xfc\\xd7\\xbf\\x9a\\x94\\x11\\xa7\\xb7\\x14\\x75\\x15\\x51\\x39\\xb9\\x6e\\x9a\\x9b\\xe5\\xe5\\xaa\\x58\\x56\\x92\\xaf\\x1d\\x99\\x5b\\xb5\\x84\\x31\\xd5\\x90\\xba\\x0d\\x9c\\x0a\\xa9\\x04\\x5e\\xab\\x03\\xb5\\x9a\\x0c\\x18\\x55\\xde\\x25\\xd6\\x6c\\x32\\xb3\\xbc\\xb2\\x8f\\x27\\x0c\\x9b\\xca\\xcb\\xd5\\xe2\\xea\\x9d\\x33\\x5f\\x7b\\x6d\\xe6\\x4e\\xd8\\xfe\\xfc\\xaf\\x90\\x6a\\x84\\xd4\\x5f\\x29\\x0c\\xf5\\x1f\\x48\\xd9\\xb1\\x65\\xaa\\x4e\\x04\\x06\\xf5\\x3e\\x36\\x6f\\x12\\xd2\\x33\\xfe\\x85\\x21\\xb9\\x94\\x9d\\x98\\x33\\x80\\x47\\x49\\xd9\\xc8\\xd4\\x2c\\x2d\\xc3\\x62\\x3c\\x8a\\xa1\\xaf\\x94\\x1d\\x47\\x5d\\xb2\\x6c\\xdf\\x2d\\x6c\\x85\\x3a\\xf1\\x2f\\xb3\\x8a\\x5b\\x85\\xef\\x56\\xf4\\xfb\\x57\\x47\\x48\\xbe\\x58\\x86\\x2a\\x48\\xf0\\x39\\x23\\x62\\x21\\xb8\\x2c\\x66\\x1a\\xc0\\x64\\xc8\\x30\\x14\\x1a\\x78\\x83\\x95\\x4d\\x93\\xea\\x3a\\x8a\\xd7\\xd7\\x43\\x69\\x3c\\xf8\\xba\\x28\\x2d\\xf9\\x5a\\xa0\\x34\\xe0\\x33\\x62\\x36\\xb4\\x61\\xf8\\xac\\xde\\x47\\xc5\\x7c\\xd6\\x9f\\x0e\\x2f\\x3e\\xc3\\x74\\x24\\xa7\\xa9\\x8e\\xa4\\x7e\\x97\\x14\\xe1\\x3a\\x4b\\xeb\\x58\\x1a\\x26\\xeb\\xd1\\x36\\x79\\x1d\\xf5\\xbb\\x84\\x07\\xa4\\x48\\xff\\xfe\\xac\\xdd\\x5b\\x84\\x27\\x60\\xb4\\xf8\\x13\\x91\\xf3\\xf4\\x07\\xb4\\x02\\x65\\x8f\\x8b\\x4f\\x93\\x74\\x7c\\x13\\x91\\x8b\\x6b\\x2a\\x71\\x3d\\xd1\\x20\\x71\\x41\\x6c\\xba\\xf0\\x3b\\xba\\x4b\\x7c\\x25\\xb9\\x0e\\x6a\\x71\\xb9\\x96\\x88\\x59\\xbf\\x33\\x31\\x0b\\x71\\xf8\\x05\\xe1\\xdf\\xd0\\x3d\\x3e\\xf7\\x8c\\x07\\x89\\x00\\x4b\\x85\\x32\\xe5\\xdc\\x28\\xdd\\x5c\\x21\\x08\\xe4\\x98\\xf2\\x49\\xfd\\xcc\\x0f\\x85\\x7f\\x7f\\x46\\xfe\\x94\\xf1\\x30\\x89\\xef\\xc5\\x3e\\x22\\xfd\\x69\\x41\\xe6\\x43\\x66\\x81\\x53\\x19\\x4c\\xca\\x0a\\x46\\x68\\x0c\\x5f\\x12\\x77\\x58\\xa6\\xa8\\x2e\\x7d\\xe1\\xe2\\x0b\\xf7\\x96\\x94\\xeb\\xca\\xa6\\xad\\xdd\\x38\\x6c\\xc4\\xe6\\x75\\xd2\\xf2\\x4e\\xea\\xb1\\xba\\xca\\x5e\\xe1\\x9e\\xaa\\x0e\\x73\\x18\\x3d\\x8c\\x08\\x8b\\xd1\\x31\\x11\\x33\\x7a\\xad\\x3f\\x60\\xd2\\x38\\x78\\x56\\x16\\xa9\\xfd\\x3a\\xd4\\xf9\\x58\\x0b\\xe2\\x2c\\x56\\xb4\\xa0\\xce\\x1c\\xce\\x17\\xb6\\xc1\\xba\\xb8\\xec\\xa1\\x3f\\xa0\\x11\\x54\\x8a\\x3e\\x90\\xcd\\xe0\\x06\\x79\\x02\\x3f\\x7f\\x2d\\x81\\xa2\\x19\\x1e\\xad\\x4e\\xe0\\x51\\xec\\xb0\\x70\\x2b\\xea\\x1d\\x1f\\x57\\xa6\\x52\\xa3\\xd2\\x89\\x25\\xd4\\xbb\\x51\\x97\\xc6\\xc5\\xca\\x49\\x9a\\xd7\\xe3\\xfd\\xa9\\x3f\\x20\\x31\\xfa\\xc1\\xea\\xe5\\xa9\\xfa\\x89\\x7c\\xca\\x37\\x6c\\x00\\xb4\\x61\\x03\\xcd\\x81\\x1f\\xa0\\xb9\\x9a\\xc2\\x6a\\x3c\\xa8\\xe2\\x96\\xe8\\xe8\\x72\\xe7\\x66\\xb9\\xc2\\x21\\x9b\\x83\\xea\\xfb\\xc8\\xb5\\xd3\\x8f\\x5f\\xad\\xab\\xcf\\x27\\x17\\xf1\\xd1\\x20\\xbe\\x9c\\x05\\x40\\xaf\\x34\\xff\\x2e\\xe1\\x61\\x18\\x26\\xed\\xa1\\x72\\x35\\xb2\\x1e\\x36\\xaa\\x54\\x88\\xd3\\x35\\x30\\x15\\xca\\x98\\x37\\xc5\\x99\\x55\\x60\\xbf\\x6b\\xe3\\x73\\x04\\x6d\\x46\\x76\\xeb\\x39\\x82\\xa0\\xcd\\x3e\\xf1\\xdc\\xd9\\xb3\\xf8\\xc5\\xa7\\xd7\\xf7\\x27\\x7f\\xf7\\xef\\xa0\\x63\\xbc\\x5b\\xd8\\x01\\x83\\xc4\\xf7\\x18\\xee\\x91\\x89\\xae\\x8b\\x8f\\x8a\\x85\\x4d\\x0e\\xe6\\x0d\\xd3\\xd7\\x1a\\xba\\xde\\x6a\\x7c\\xc4\\xba\\x7f\\xc3\\x86\\xfd\\xd6\\x47\\x8c\\x63\\xc4\\xc8\\x80\\x3e\\x1b\\xb6\\x6e\\xdd\\xd0\\x67\\x00\\xed\\xab\\xdb\\xf8\\x0a\\x74\\x37\\xd3\\xf3\\xeb\\x0f\\x34\\x6c\\x3b\\x50\\x58\\x1a\\x76\\x1b\\xee\\xb9\\xc6\\x6e\\x43\\xd3\\x7c\\x0d\\x3b\\x0c\\xa4\\x9f\\x1b\\xf7\\x15\\xee\\x6e\\xb9\\xad\\xd0\\x2c\\x5f\\xc3\\x76\\x02\\x5d\\x29\\x1a\\x76\\x11\\xd6\\x5e\\x63\\x13\\x01\\x90\\x9d\\xaf\\x80\\xb2\\x96\\xf5\\x25\\xef\\x63\\x94\\x5d\\x63\\x1f\\x23\\x16\\xc0\\x93\\xd1\\x47\\x4c\\xa7\\xa7\\xdd\\x8f\\x96\\x10\\xa4\\x75\\x53\\x6c\\x60\\x14\\xac\\x4b\\x13\\xf5\\xdf\\xf5\\xd2\\xf2\\x8c\\x82\\x7d\\xd4\\x54\\xdf\\x07\\xb1\\xae\\x78\\x28\\xda\\x16\\x3b\\x41\\xb0\\x47\\xda\\x4b\\x80\\x21\\x2b\\x87\\x45\\x51\\x1b\\x6d\\x5b\\x70\\xee\\x5c\\x07\\xa6\\xc8\\x62\\x65\\x8e\\x24\\xe9\\x5e\\x8c\\xa7\\x03\\x9a\\x4e\\x45\\x8d\\x7b\\x1c\\x3e\\x4b\\xf6\\xb9\\x73\\x0b\\x3a\\x30\\x65\\x15\\x9b\\xab\\x2b\\x85\\xe7\\x61\\xae\\x74\\x0f\\xab\\x3b\\xbe\\x98\\x29\\xfb\\xf6\\x61\\x2f\\xcc\\xdd\\x5e\\xbf\\x8f\\xfb\\x8d\\x24\\x68\\xbb\\x95\\x95\\xf9\\x13\\xf7\\x17\\x19\\x73\\xa5\\x2f\\x04\\x41\\xd2\\x26\\xc6\\x8c\\x75\\x83\\x97\\xf6\\x88\\x7d\\xd2\\xf4\\x85\\xa0\\xda\\xfd\\x22\\xbf\\xd4\\xb8\\x6c\\x12\\x08\\xef\\xbe\\xf8\\x85\\x87\\xe4\\x5b\\x8b\\xfb\\xa3\\xba\\xd8\\xc7\\x48\\x4f\\xe9\\x1d\\xe9\\xf9\\xb7\\xd8\\x71\\xed\\x46\\x4d\\x5e\\x5d\\x5c\\x91\\x87\\xfb\\x37\\x6a\\xf2\\x68\\x7d\\xbd\\x48\\x1b\\x0e\\xc7\\x0e\\x30\\xca\\x43\\x35\\x78\\xca\\xf2\\xc7\\x56\\x67\\x45\\x4f\\x76\\x18\\xdf\\x3b\\x6f\\xc1\\x6c\\x3c\\x94\\x69\\xee\\x9a\\xa6\\xe7\\xa9\\xbe\\x4e\\x51\\xf9\\x91\\x3e\\x8a\\x6b\\xe9\\x0e\\xcf\\x5e\\x30\\x0f\\xa6\\xbc\\x11\\xd7\\xd1\\xc5\\x7a\\x90\\xf4\\x47\\x48\\x7a\\x1d\\xe9\\x23\\x15\\xed\\x23\\x5b\\x92\\x0e\\xee\\xc8\\x7c\\xf6\\x87\\xdf\\xa8\\xab\\xab\\x9d\\x3b\\x97\\xf5\\xd5\\x8d\\xf8\\x43\\x78\\x3a\\xb6\\x5e\\xa1\\xdb\\x9c\\x42\\xb7\\xc9\\xdc\\xc1\\x37\\xf2\\x37\\xe1\\x0f\\x9f\\x7b\\x8e\\x95\\xe9\\x24\\x8b\\xa1\\x0b\\x8d\\x21\\xf3\\x42\\xbb\\x9f\\x9e\\xce\\x67\\xfd\\xe9\\x4f\\x3a\\xeb\\xdd\\x11\\xc0\\xf5\\x48\\xdc\\xbb\\xd1\\x98\\x7d\\x71\\x0b\\xa1\\x23\\x8a\\xee\\x9f\\xac\\x9f\\x5c\\x3c\\x2f\\xaf\\xa1\\x53\\x42\\xc9\\x9b\\xb4\\x7d\\x0b\\xae\\x84\\xb3\\xa1\\x31\\x47\\xe2\\x9e\\x85\\xf6\\x31\\x19\\x65\\x3a\\xbe\\x07\\xdd\\x15\\x1b\\x45\\x64\\x14\\x2b\\x7a\\x0f\\x29\\xb4\\xfb\\x79\\x5c\\x07\\xdd\\x62\\xfd\\xe2\\xb4\\x1b\\xd1\\x13\\x80\\xa8\\x30\\x14\\x4a\\xa6\\xdd\\x93\\x29\\xed\\xc6\\x75\\x09\\xda\\x4d\\xe8\\x2d\\xe9\\x93\\x63\\x71\\xfe\\x58\\x7f\\xa0\\x81\\x2d\\x26\\x7d\\xf8\\xff\\x4c\\x6f\\xaf\\xc1\\x0c\\x43\\xec\\x0e\\xdc\\x16\\xcd\\x8b\\xed\\x27\\xbc\\x81\\x76\\xbf\\xa0\\x62\\x85\\xb2\\x32\\x99\\xd4\\x12\\x0e\\xcd\\x0b\\x86\\x56\\x8f\\x98\\xfc\\x9f\\xd3\\xbd\\x66\\x76\\x1c\\xd3\\xfd\\x2c\\xe9\\xeb\\x2b\\xb8\\x1a\\xac\\xb1\\xdf\\x18\\x14\\x6a\\xde\\xe0\\x88\\x43\\x21\\x36\\x3a\\x80\\x0d\\xd3\\xa5\\xa4\\x8c\\x05\\x77\\x00\\xeb\\xd1\\xdd\\x37\\x0f\\xe8\\xd7\\x6f\\xc8\\xa8\\xf9\\x15\\x5d\\xd3\\xed\\xd9\\x39\\x79\\x29\\x73\\xef\\x3a\\x7d\\x6b\\x9d\\x61\\xbe\\xae\\x75\\x70\\x90\\x7d\\x92\\xa0\\x16\\xf9\\xb1\\x0a\\x4e\\xf5\\x24\\xed\\x3b\\x4d\\x7e\\x59\\x08\\x1c\\x06\\xa4\\x52\\xfa\\xd8\\xd6\\x42\\x55\\x17\\x9e\\xba\\xa8\\x5b\\xf9\\x96\\xe2\\x50\\x83\\xa6\\xae\\xcb\\xdc\\x9c\\xc0\\xad\\x85\\x8a\\xa6\\x8e\\xd1\\x7a\\x52\\x4e\\x6f\\xb6\\x97\\x40\\xd6\\x4e\\x3e\\x99\\xd6\\x37\\xec\\x1f\\xe0\\x95\\xe4\\xe7\\x5c\\xc6\\x8b\\xe9\\x0f\\x10\\x51\\x47\\xd5\\xb8\\xc2\\x50\\x97\\x81\\x74\\x7e\\xe1\\x1b\\x1f\\xe3\\x7e\\xc3\\x43\\xff\\xf5\\x2f\\x58\\x48\\xd2\\xef\\xc3\\x5b\\xa1\\x32\\xb6\\x18\\xd9\\x51\\x4a\\x44\\x6b\\x35\\x18\\x78\\x5e\\xb5\\xc4\\xa4\\x65\\xeb\\xad\\xfb\\x74\\x5c\\xdd\\xc5\\x42\\x5b\\xe4\\xb2\\xa1\\x08\\x11\\xc4\\x50\\x2e\\x50\\xc9\\xdd\\x32\\xec\\xa6\\xb2\\xb2\\xe1\\x37\\x8d\\x19\\x7f\\xf3\\x4d\\xb7\\xdc\\x7c\\xd3\\xd2\\x09\\xb3\\x3b\\x76\\x5c\\x30\\xa6\\x96\\xfc\\xd1\\xb5\\x0a\\x4f\\x81\\xba\\xd8\\x16\\x33\\xe9\\x76\\xbc\\xfb\\xbf\\xd3\\x19\\x6c\\x77\\xe3\\x61\\xe4\\xd9\\x6a\\x32\\x1e\\xd6\\x67\\x39\\x49\\x2d\\xad\\x1f\\xce\\xab\\x91\\x62\\xcb\\x94\\xbc\\x4b\\x05\\x75\\x89\\x5d\\x2a\\x3c\\xd3\\x73\\xdf\\x7d\\x1e\\xb0\\x93\\xf2\\xb6\\xe2\\xc9\\x70\\x4b\\xec\\x2e\\x52\\x9e\\x80\\x77\\xfc\\x97\\xcd\\x25\\xbc\\x0b\\x4f\\x80\\x61\\xa4\\x3c\\x03\\xc1\\x34\\x9d\\xb0\\x84\\x31\\x23\\x6e\\xda\\xb7\\x2a\\x65\\x29\\x50\\xb8\\x26\\xe0\\xd6\\x1f\\xb1\\xed\\x30\\x8e\\xe8\\xd9\\x6d\\xa4\\x79\\xbb\\xee\\xf9\\xd9\\xf7\\xaf\\x8a\\xf4\\xec\\x19\\x59\\xfc\\xa8\\xd2\\x5f\\xf3\\xf1\\x5c\\x58\\x19\\xdb\\x42\\xbd\\x0b\\x45\\x2c\\x56\\x35\\xf3\\x70\\x81\\x90\\x43\\x44\\x06\\xb3\\x81\\x23\\xd2\\x45\\x75\\x28\\x14\\x2a\\xac\\x2e\\x66\\x03\\x76\\x2d\\x05\\xe4\\xae\\xeb\\xe9\\x1f\\xf1\\xdc\\x6b\\xe8\\x1f\\x01\\x9f\\xc5\\x7b\\x20\\x14\\x1b\\xaa\\xac\\xd7\\x0a\\xff\\x23\\x52\\x3e\\xec\\x2c\\xe5\\xc3\\x9e\\xd8\\x45\\xe7\\x55\\xfd\\xa1\\x98\\xc4\\xf5\\x8f\\x0d\\x32\\xab\\x50\\x97\\xfa\\x37\\xe2\\xf3\\xea\\xb5\\xab\\xf5\\x50\\x1e\\xeb\\x18\\x5f\\xc3\\x95\\x3d\\x12\\x86\\x9d\\x94\\x1a\\x30\\x8a\\xf0\\x1a\\x37\\xbd\\x7e\\x2d\\x37\\x1d\\xd7\\xbd\\xf9\\x26\\xbe\\xf3\\x8d\\x37\\x48\\x9f\\xcd\\x47\\x67\\x60\\x25\\xfc\\x46\\xf8\\x85\\x2d\\x78\\xf5\\xd5\\xd6\\xac\\xfe\\x17\\x50\\x0c\\xba\\xc1\\xbb\\xac\\x7e\\xb6\\x3f\\xa1\\xe8\\x0a\\xa0\\x5b\\xfd\\x2c\\x6e\\x0d\\x8a\\xbd\\x47\\xf9\\xc0\\xc3\\x28\\xc6\\x5d\\x23\\x0d\\xd7\\xed\\x4a\\xad\\xb0\\x5e\\x49\\x83\\xd3\\x63\\x17\\xe1\\x5b\\x7e\\x77\\x32\\x2e\\xfa\\x41\\x26\\xcf\\xf9\\xd2\\xbb\\xaf\\x9e\\xbe\\x9d\\xcf\\xdb\\x74\\x95\\xa6\\x8b\\x49\\xb1\\x8f\\xd0\\xdf\\x71\\xfe\\x84\\x53\\xf8\\x64\\x15\\x19\\xe2\\xbf\\xc1\\xf7\\x0e\\xfe\\x3a\\x20\\xfe\\xe7\\x6f\\x9d\\x32\\x47\\xee\\x22\\xf4\\xba\\x36\\x4e\\xaf\\xf5\\x0a\\xbd\\xe6\\x93\\x77\\x70\\x66\\xc4\\x77\\x70\\xf0\\x2b\\x49\\x5b\\x38\\xcd\\xf0\\xbd\\x41\\xe4\\x68\\x94\\x34\\x60\\x6e\\x13\\x49\\x83\\x63\\x6b\\xd9\\x8b\\xb1\\xb3\\xf1\\x7e\\x54\\x29\\x39\\xd8\\x7c\\xa4\\x87\\x60\\xc2\\x3e\\xc7\\x8b\\x78\\x15\\xcc\\x19\\x7d\\x90\\x64\\x98\\x83\\x2f\\x1e\\x3c\\x48\\xeb\\xd8\\x8b\\x1f\\x83\\xaa\\xd8\\xed\\xc8\\x89\\x3c\\x11\\x3d\\xaf\\x56\\x9b\\x90\\x5e\\x6f\\x91\\x96\\xd8\\x28\\x8b\\xe9\\x56\\xb4\\x24\\x0a\\x81\\x63\\x7e\\x96\\x7d\\x25\\xbe\\x04\\x43\\xc2\\x4c\\x58\\xe5\\xaf\\x34\\x01\\xef\\xcd\\xb7\\xdc\\x94\\x95\\xa7\\x99\\x66\\xbc\\xb5\\xef\\xf0\\xb2\\xb2\\x21\\xfd\\xc6\\x1b\\xf0\\x47\\x59\\xee\\xda\\x5a\\x77\\x56\\xd5\\xf0\\x8e\\x1d\\x6f\\x52\\x74\\x67\\xb1\\x42\\x61\\x1e\\x7a\\x57\\x4a\\x27\\x74\\x50\\x45\\xd6\\xd9\\x14\\xba\\x38\\xa8\\x72\\x55\\xb9\\x71\\x35\\xed\\xbb\\xd5\\x33\\x67\\x54\\xcf\\x99\\x53\\x3d\\x63\\x66\\xf5\\x2c\\xe1\\xa3\\xea\\xb9\\x73\\xab\\x67\\xce\\xac\\x9e\\x3d\\xbb\\x7a\\x26\\xcb\\xfb\\xb0\\x70\\x1b\\x1a\\x23\\xd5\\x12\\x3c\\x56\\xef\\x13\\xcc\\x84\\xc4\\x50\\xbe\\xb7\\x13\\x50\\x22\\xae\\xf8\\x09\\x60\\x07\\xec\\xa9\\x3b\\x80\\x31\\xad\\xfb\\xf5\\xcb\\x29\\x4a\\xcd\\x4c\\x8d\\x4e\\xcd\\x29\\x70\\x67\\xb8\\xc5\\x2f\\x8a\\x3b\\x66\\x8a\\x51\\x95\\x3b\\xd3\\xd6\\xa6\\xac\\x43\\x7a\\xe7\\x3e\\xea\\xe1\\x92\\x2b\\xcb\\xde\\xa6\\xbc\\x1d\\xc1\\xbb\\xfa\\x03\\x52\\x36\\xd7\\x57\\x95\\xce\\xfa\\x4b\\xbd\\x8f\\x0a\\xf0\\xa7\\x15\\x9c\\xf3\\x53\\xc9\\xe0\\x80\\xf0\\xc0\\x95\\x71\\x44\\x3a\\xc8\\xee\\xdf\\x7f\\x37\\x15\\x10\\x00\\x0f\\x14\\xf6\\x23\\xc4\\xf8\\x46\\xb2\\x9e\\x2c\\x41\\x71\\xbe\\x82\\xf1\\x20\\x9b\\x9a\\x6c\\x8d\\xb2\\x7d\\xe7\\xfd\\xf0\\x4c\\xf3\\xb4\\x16\\xc6\\x83\\x34\\xdd\\x82\\x25\\xe5\\x6e\\x13\\x76\\xc3\\x28\\xf1\\x20\\x91\\x97\\xac\\x87\\x1d\\xa2\\x61\\x89\\x95\\xae\\x55\\x27\\x42\\x6e\\x22\\xfc\\x5f\\x67\\x6a\\x72\\xf7\\x5d\\x57\\x42\\x12\\x76\\x5f\\x43\\xe8\\xa7\\xfc\\xda\\x1a\\x44\\xe3\\x06\\x6b\\x28\\x66\\x10\\x42\\x93\\xe0\\xd7\\x1a\\xf4\\x5c\\x77\\xb7\\xe9\\xc0\\xb4\\x5b\\xa2\\x66\\xee\\xfe\\x41\\x8a\\x56\\x0b\\x21\\x1e\\x17\\x12\\xbe\\xfc\\x1d\\xf1\\x3c\\x69\\x87\\x86\\xda\\x29\\x3d\\xcb\\x2f\\x51\\xe9\\x74\\x5a\\xa6\\xec\\xa0\\x52\\x4b\\x03\\x67\\x45\\xba\\x41\\x59\\x01\\xef\\xea\\x06\\xf0\\x05\\xa4\\x7e\\x72\\x75\\xc4\\x87\\xc2\\x56\\x2f\\x64\\xfb\\xf1\\x39\\x33\\x5b\\x0e\\x21\\x46\\x30\\x15\\x3d\\x1a\\x5b\\xca\\x78\\x5c\\x5e\\xbd\\xc4\\x40\\x3b\\x85\\xad\\x84\\xce\\x46\\x7b\\xbc\\x50\\x37\\x87\\xcb\\xe8\\xcd\\x0f\\xf7\\x1c\\xfc\\xd8\\xf7\\x5e\\x59\\x5a\\xae\\x1b\\xd0\\xe3\\x1e\\x85\\xaf\\x7a\\x92\\xf0\\x55\\xb9\\x0c\\xb3\\x79\\x95\\x08\\xd7\\xa1\\xfd\\xc2\\x93\\x8c\\xf6\\x73\\xd8\\x40\\x90\\xfc\\x52\\x6c\\x51\\x4b\\x9a\\x22\\x92\\x0c\\xf4\\x83\\x0d\\xfc\\x37\\x57\\x3d\\xfc\\x37\\x3f\\x4d\\x9c\\xf8\\xd2\\xc4\\x89\\x6c\\xad\\xee\\x48\\xe0\\x7b\\x95\\xad\\x41\\xca\\x0a\\xd3\\x30\\xe3\\xa8\\x2c\\x41\\x57\\xa3\\xb6\\x6b\\xd6\\x5c\\x5d\\xb3\\x86\\x2e\\x48\\x8a\\x28\\xc1\\xf8\\xc7\\x09\\xa4\\x4d\\x87\\xd8\\x38\\x2b\\x6a\\x33\\xb6\\x72\\x51\\xee\\xe8\\x51\\xaa\\xb4\\xc0\\x13\\xa8\\xd2\\x02\\xf0\\x63\\xc2\\x2c\\xb8\\x45\\xd2\\x20\\x0f\\x4a\\x8d\\x18\\xed\\x9c\\x49\\x9b\\xa1\\x2d\\xd4\\xf2\\x5a\\xad\\x45\\x4c\\xa1\\x3c\\x44\\x88\\x12\\x63\\x52\\x51\\x4e\\xc3\\x50\\xd3\\x69\\xe1\\x8c\\x8f\\x36\\x0d\\x4e\\x9c\\x5b\\xe5\\x77\\x24\\xc6\\xbb\\xec\\xc6\\xf6\\x35\\xed\\xb2\\xe4\\xf8\\x88\\x77\\x2b\\x1e\\xd6\\x6d\\x84\\xe8\\x33\\xb3\\x41\\x0f\\x8e\\x0f\\x8f\\x35\\xb3\\x61\\xcf\\x9f\\x57\\x4a\\xc6\\xef\\x5b\\xe1\\x47\\x48\\x21\\xb2\\x23\\x4f\\x6a\\xf6\\xd2\\x39\\x9e\\xa2\\xb1\\x70\\x9c\\xc5\\xe2\\xd4\\x0b\\x42\\x3a\\x55\\x9d\\xd3\\xba\\x43\\x85\\xcc\\xd0\\x81\\x08\\x3f\\x0e\\xf9\\x9a\\xe8\\xa6\\x22\\x6f\\xba\\xad\\x09\\x65\\x46\\x3a\\x96\\x3a\\x33\\x33\\x54\\x63\\xd4\\xbe\\x2e\\xa5\\xde\\xce\\x1d\\xc3\\x0e\\x5f\\x9a\\x7a\\x94\\xe8\\xbb\\xe1\\xf7\\x35\\xd2\\xdd\\x0f\\x3e\\x78\\x29\\xcd\\x9b\\x96\\x5b\\x3c\\xb4\\x7f\\x61\\x9a\\x37\\xb5\\x75\\xde\\x8d\\x03\\x8a\\x0e\\x3f\\xf8\\x20\\xa5\\xef\\xdb\\x08\\x0e\\x8d\\x92\\x3e\\x27\\xf8\\x1d\\x42\\x6d\\x23\\xde\\xc2\\x0c\\x53\\x6e\\x46\\x6e\\x61\\x2e\\x9f\\x9b\\xeb\\x76\\x88\\x09\\xc5\\x80\\xc1\\xaa\\x31\\xd1\\x79\\x93\\xef\\x73\\x53\\xe4\\x27\\x1d\\xc2\\x2e\\xa1\\x13\\x16\\x76\\xbd\\xde\\x44\\xe0\\xff\\xbf\\x9c\\x1e\\xdd\\xae\\xfb\\x46\\x7c\\xbf\\xf9\\xc4\\xc1\\x6f\\x5e\\x4b\\x7f\\x06\\x18\\xe3\\xd1\\xc0\\xc5\\xe8\\x5c\\x8a\\xf3\\xb9\\xa2\\x8a\\x10\\xd7\\xdc\\x32\\x47\\x28\\x0c\\xdc\\xba\\xef\\xd7\\xad\\xfb\\xfe\\xe2\\xc1\\x05\\x0b\\x0e\\x1e\\x5e\\xb0\\x40\\xa1\\x7d\\x7d\\x19\\x1f\\x7d\\x9a\\xb0\\xea\\x84\\x6b\\x14\\x39\\x2e\\xbe\\x5f\\x4d\\x3b\\xdc\\x57\\x46\\x78\\xe9\\x72\\x9a\\x16\\x0f\\xbd\\xb0\\x6e\\x1d\\xb5\\xd9\\x75\\xd5\\x53\\xff\\xd0\\x17\\x19\\xed\\xa0\\x73\\xce\\xc1\\xe2\\x01\\x15\\xa0\\x30\\xea\\x88\\xba\\xa1\\x3e\\x68\\x00\\x8a\\xa2\\x51\\x68\\x02\\xaa\\x45\\x73\\xd1\\x52\\xb4\\x1a\\xdd\\x8d\\x1e\\x40\\x8f\\xa0\\x47\\xd1\\xe3\\x50\\x16\\xd9\\x2e\\x6d\\xd9\\xd2\\x57\\xb5\\x75\\x6b\\xdd\\xac\\x89\\xb7\\xdf\\x7e\\xdb\\x8a\\xee\\x8f\\x0d\\xbc\\xe7\\x9e\\x21\\x9b\\x4b\\xd7\\xac\\x69\\xb7\\xae\\xf5\\xbc\\x79\\xc5\\x8b\\x9c\\xa3\\x47\\xbb\\xc7\\x1a\\x6f\\xba\\xc9\\x3a\\x22\\xbd\\x53\\xa7\\xac\\x2e\\x39\\x79\\x7c\\xbf\\x7e\\x79\\x5d\\x46\\x8c\\x5d\\xb4\\x6e\\xf3\\x63\\x2b\\x66\\xe9\\xb6\\xf7\\xed\\xf9\\xe0\\xce\\x9d\\x0f\\xf5\\xda\\x0e\\xba\\xca\\x4a\\x2d\\xea\\xbb\\x60\\x49\\xd5\\x8e\\x31\\x77\\xdd\\x35\\x7e\\xc3\\xcd\\x1b\\x37\\x8e\\xbc\\x3f\\xb2\\x7c\\x79\\xd7\\x55\\xf9\\x73\\x5a\\xcd\\x98\\xa1\\x7f\\x38\\x73\\xf2\\xe4\\xec\\x69\\xe6\\x41\\x83\\xec\\xc3\\xa0\\x97\\xab\\xbc\\x3c\\xad\\x43\\x51\\xc9\\x92\\x1d\\x1b\\xee\\x5f\\x35\\xe7\\xe1\\x69\\xc3\\x7a\\x75\\x28\\x29\\xe9\\xd0\\x6b\\xd8\\xb4\\x87\\xe7\\xac\\xba\\x7f\\xc3\\x8e\\x25\\xfa\\xde\\xfd\\xb7\\xed\\xdc\\xb9\\xb5\\xdf\\x76\\x5e\\xd5\\xa3\\x87\\x5a\\xe8\\xcd\\xd0\\xdd\\x12\\x0a\\xc5\\xbf\\xe2\\x67\\x0f\\x13\\x7f\\x49\\xe7\\x4d\\x9a\\x5d\\xae\\xf1\\xc0\\x02\\x89\\x23\\x18\\x71\\xfb\\xf0\\x26\\x21\\x4a\\xaf\\x7b\\x89\\x7f\\x15\\x37\\x9a\\x55\\xd3\\xe9\\x2a\\x52\\x56\\x81\\x4c\\x72\\xbf\\xdd\\x97\\x15\\x2e\\x09\\x15\\xe7\\xc6\\xbf\\x6d\\xf1\\x6f\\x39\\xfe\\x0d\\xf1\\x6f\\x55\\xb3\\x7b\\x6a\\x70\\x40\\x08\\x11\\x13\\xa5\\xe0\\xff\\x48\\xdb\\xfc\\xde\\xdf\\xac\\xae\\x44\\xdd\\x7e\\xaa\\xc4\\xf0\\x52\\xd8\\x2c\\xd4\\x8c\\xe1\\xe2\\x94\\x73\\xd0\\xaf\\xfe\\x25\\x7a\\x4a\\x91\\xbb\\x61\\xca\\x14\\x4c\\x44\\xf3\\xf2\\x92\\x4d\\x25\\x6d\\xdb\\x96\\xfc\\x55\\x56\\x5a\\x1e\\xce\\xa6\\xb7\\x98\\x30\\xde\\x65\\xa5\\xcf\\x94\\x87\\xc3\\xe5\\xdc\\x90\\xb2\\xd2\\xd2\\xb2\\xab\\xcb\\xcf\\x4d\\x81\\x7e\\xc2\\x4a\\x7c\\xe0\\xdc\\x94\\xab\\x9a\\x52\\xf2\\xc7\\xad\\xa1\\xd7\\xcd\\xe1\\xf2\\xf2\\x70\\xfd\\x13\\xe1\\xf2\\xd2\\x32\\x1f\\xbd\\x87\\x7f\\xd2\\x8c\\x38\\x4a\\xf3\\xfc\\x45\\xb3\\x6f\\xa6\\x4f\\xf1\\x86\\x29\\x53\\xf8\\x6c\\x5a\\x63\\xfd\\x8b\\xf8\\xc0\\x94\\x73\\xc2\\xb2\\xcf\\xa7\\x4c\\x99\\x72\\x75\\x3a\\xf4\\xbf\\x97\\xa4\\xcb\\x27\\x1f\\xfc\\x0e\\x29\\xe7\\x5b\\xf2\\x03\\x36\\x93\\x1f\\x37\\x91\\x1f\\xf5\\x75\\xb4\\xf2\\x2b\\x9f\\x43\\xaf\\xbf\\x4b\\xa6\\x7c\\xce\\x7d\\x54\\x1a\\x6a\\x57\\xdf\\x29\\x1c\\x2e\\x7b\\xb0\\xa4\\xa4\\x2d\\x97\\x19\\x4f\\x5d\\x1f\\x2b\\x2b\\x0b\\x7f\\x47\\x12\\xe2\\x77\\xcb\\x4b\\xda\\xe6\\x91\\xd7\\xa4\\xcc\\xab\\xd3\\xa7\\x4c\\x81\\x5e\\x9f\\x93\\x39\\x33\\x55\\x98\\x84\\x36\\x48\\x44\\xda\\x26\\x74\\x35\\xbe\\x9d\\x41\\x48\\x80\\xc8\\x76\\x21\\x36\\x28\\x9b\\x10\\x62\\x5a\\x62\\x1b\\x83\\xca\\xc4\\xc2\\x6c\\x54\\xc7\\x6c\\x0a\\x95\\x95\\xfc\\x7a\\x32\\x71\\x92\\x01\\x21\\xe3\\x3d\\x5f\\x15\\x3e\\x80\\xce\\x84\\x36\\x51\\x5d\\x8e\\xfd\\x59\\xb5\\xc9\\x04\\x3a\\xc5\\x16\\x84\\x6d\\x62\\x27\\xb4\\x39\\x94\\xe7\\x56\\x64\\x34\\xc2\\xfb\\xac\\x81\\x94\\xf5\\xeb\\x9f\\x54\\x6f\\x1c\\xd9\\xa7\\xf7\\xe8\\x7b\\xb9\\x67\\x84\\x0f\\xce\\x9e\\xe5\\x54\\x0f\\xad\\xea\\x5e\\x35\\xa0\\xdb\\xed\\x8f\\x32\\x5e\\x07\\x0f\\x44\\xef\\xc6\\x2e\\x13\\x5e\\x87\\xc8\\x1d\\x6a\\x22\\x2b\\x81\\x4e\\x14\\x35\\x2a\\x45\\x56\\x3c\\x43\\x8d\\xbd\\xaf\\xcf\\xfd\\xe0\\x3d\\xc9\\xdc\\x0f\\xe9\\x07\\x42\\x3b\\x36\\xb0\\xfd\\x99\\xa4\\x7e\\x50\\x29\\xbb\\x39\\x77\\x37\\xdb\\xcd\\x41\\xcd\\xd2\\xc7\\xb7\\x71\\xc8\\x0a\\xdb\\xa4\\xdf\\xfe\\xdb\\x98\\x9e\\xc3\\x5f\\x92\\xd5\\xec\\x21\\x96\\xde\\x40\\xa1\\xd5\\x80\\x5e\\x4b\\x04\\xa5\\x78\\x4e\\xba\\x15\\x59\\x6c\\x3e\\xd9\\xa6\\xc8\\xa1\\x14\\x50\\xa6\\x6c\\x44\\x29\\xc5\\x5c\\xdc\\xb7\\xa8\\xaa\\xff\\x92\\x7d\\xf1\\xd2\\x66\\x35\\x6c\\x4a\\x41\\x6c\\x1d\\x19\\x8b\\xe9\\x89\\xb1\\xd0\\xb7\\xe4\\x77\\xeb\\xae\\x61\\x15\\x4a\\x79\\xa6\\x2b\\xc2\\xfd\\xb0\\x47\\xec\\x4b\\xfa\\x4d\\xbd\\x4f\\x13\\xd7\\xe3\\x26\\x49\\xc9\\xb0\\xa7\\x24\\x27\\xa7\\x84\\x7e\\x84\\xdf\\x94\\xef\\x12\\xa5\\xcd\\x37\\x90\\x36\\x1f\\x8d\\xbd\\x86\\x8c\\x28\\x10\\xb1\\x1a\\x24\\x23\\xd2\\x83\\x4e\\x4f\\xfe\\x69\\x54\\x22\\xaf\\xd1\\x18\\x15\\xad\\x45\\x31\\x3b\\x48\\x4b\\x27\\xbc\\x99\\x31\\x1d\\x71\\xe3\\x00\\x36\\x06\\xb9\\xa1\\xfc\\x5a\\xef\\x9c\\xe8\\xb0\\xee\\x3d\\xa3\\xc3\\xe7\\x78\\xeb\\xd4\\xe3\\x8e\\x15\\xd7\\x78\\xc6\\xb6\\x9b\\x3b\\xb7\\xfd\\xad\\x9e\\x9a\\xe2\\xe5\\x94\\x0f\\xda\\x4d\\xfa\\x69\\x00\\x91\\xe3\\x6d\\x28\\x03\\x05\\x91\\x37\\x62\\x14\\x79\\x93\\xcf\\x13\\x08\\xa8\\x78\\xd9\\xe7\\xb3\\x18\\x12\\x63\\x5b\\x4c\\x8b\\x37\\x9f\\x49\\x08\\xd6\\x0d\\xc0\\xcb\\xcd\\xc5\\x7c\\x7f\\xd2\\x6f\\x18\\x30\\x65\\xe0\\xcd\\x65\\x65\\x37\\x53\\xb9\\xbf\\xba\\xb4\\xb4\\x3a\\x49\\xf6\\xc7\\x9f\\x26\\x69\\x01\\xba\\x74\\xa1\\x7a\\x80\\x2e\\x5d\\x1a\\x34\\x01\\xc1\\x84\\x46\\x00\\x62\\x6d\\x84\\x25\\xe8\\xac\\x34\\x96\\x69\\x26\\xe8\\xa6\\x27\\xa7\\x6c\\x11\\x10\\x44\\xe3\\x7d\\x65\\x5e\\x5b\\x48\\x75\\xb6\\xa6\\xb6\\x03\\xbe\\x4c\\x2e\\xe2\\x13\\xf8\\xa3\\x97\\x20\\xf0\\x92\\xd2\\x77\\x37\\xe2\\xa1\\xe2\\x0a\\x22\\x63\\x30\\x9d\\x77\\x62\\x13\\x8b\\x80\\x2f\\x09\\xde\\xcc\\xec\\xdc\\x10\\x3d\\xf6\\x94\\x5d\\x26\\xae\\x18\\x8d\\xa7\\xe0\\xcf\\xf1\\xa7\\x78\\xca\\xa8\\x67\\xc7\\x80\\xf6\\x8f\\x9f\\x20\\xaf\\x5f\\xfe\\xb1\\xa3\\xc7\\x5f\\x5a\\x34\\x79\\xa6\\xc2\\xa3\\xdf\\x28\\x9c\\x10\\x57\\x48\\x9d\\x59\\x39\\x04\\xf7\\x1a\\x64\\x95\\xff\\xbb\\x1c\\xa9\\x73\\x63\\x41\\xb4\\x9c\\xc3\\x42\\xaa\\x38\\x2c\\x59\\x97\\x4f\\xe3\\x4a\\x3f\\x2d\\xbc\\x7e\\xa5\\x5c\\x1c\\xf6\\x58\\x1c\\xe6\\x17\\x85\\xd4\\xd8\\x88\\x06\\xbd\\x30\\x49\\xa3\\x4a\\xa4\\x79\\xec\\x31\\xd4\\x00\\xcf\\x1d\\x92\\x48\\x56\\x4f\\x82\\xd5\\xc8\\x24\\xe8\\x4c\\xe4\\x9f\\x4d\\x9d\\xd8\\xdc\\x8a\\x6f\\xa8\\xf9\\xb3\\x1b\\xe4\\x19\\x51\\x88\\x4b\\xbd\\x82\\x63\\x1e\\xfe\\x18\\x7f\\x34\\xef\\xa6\\x9b\\xcd\\xcf\\x5a\\xce\\xdc\\x33\\x0f\\x02\\xd0\\x6a\\x5e\\xb4\\x9a\\xde\\x08\\x6f\\x75\\xed\\xda\\xa3\\xcf\\xaa\\x3d\\xca\\xb5\\x45\\xbb\\x79\\x6d\\xc3\\x9e\\x01\\xe4\\x90\\x92\\x05\\xc2\\x5a\\x67\\x7b\\x33\\x05\\x59\\x38\\x5b\\x85\\x3f\\xba\\xf8\\x1b\\xfe\\xcf\\xad\\xcf\\x8e\\x82\\x8d\\xe0\\x87\\x6c\\xb8\\x77\\xb4\\x70\\x62\\xf6\\xf4\\x49\\x8b\\x5f\\x3a\\x7e\\xec\\xa8\\xd2\\xa6\\xd1\\xfc\\x3b\\x8c\\x47\\x90\\xf6\\x22\\xa6\\x5f\\xf4\\x86\\x65\\x55\\xd8\\xfb\\x34\\x7f\\x69\\xdd\\xba\\xab\\xe6\\xbd\\x0b\\x0e\\x1f\\x5c\\x40\\xf5\\xe4\\xeb\\xe0\\x33\\x98\\x41\\xcf\\x53\\x88\\xb7\\xe0\\x79\\x8a\\x9d\\x04\\xde\\x47\\x9e\\x0d\\x64\\xcf\\x26\\xd0\\x1d\\x76\\xc6\\xcb\\x6e\\x83\\x8b\\xa8\\x86\\x9d\\xf3\\x50\\x21\\xe7\\x51\\x24\\x2a\\x07\\x2b\\x10\\x3b\\xe0\\x41\\xed\\x57\\x2a\\x14\\x76\\x8f\\x27\\x3d\\x31\\xf2\\xd8\\xb1\\x63\\xf4\\xf4\\xc6\\xd5\\x85\\xdc\\xdf\\xf5\\x12\\x29\\x6f\\x7d\\x43\\x1d\\x75\\x78\\x44\\x43\\x1d\\x9f\\x93\\x3a\\xce\\x93\\x67\\x73\\xf0\\xea\\xf8\\xb3\\x67\\x48\\xba\\xc1\\x2c\\xdd\\x8b\\x78\\x61\\xfc\\xd9\\x63\\x24\\xdd\\x48\\x7a\\x26\\x46\\x1c\\x8f\\x6b\\x15\\x3d\\x3e\\x3e\\x00\\x17\\xa1\\x3f\\x41\\x2d\\x3b\\xf2\\x1d\\x42\\x76\\xbb\\x99\\xb7\\x1c\\x05\\x1f\\x52\\x23\\x73\\x93\\x73\\x30\\xca\\x79\\x6f\\xa6\\xfe\\x6c\\x76\\xee\\x25\\x64\\x51\\xdd\\xdd\\x78\\xd8\\xe5\\x98\\x28\\xf4\\x1d\\x96\\x7c\\xc8\\x45\\x70\\xe2\\x6f\\xee\\xa3\\xba\\x85\\x5f\\xe1\\x22\\x67\\x67\\xf0\\x4c\\xab\\x3f\\x16\\xdf\\x43\\x68\\x4d\\xfa\\xe1\\x33\\xe1\\x77\\x32\\x6f\\xd3\\x0f\\xa8\\x24\\x89\\xa7\\x27\\x4c\\x10\\xe4\\xed\\x37\\x98\\xb4\\x47\\x58\\xc5\\x21\\x1a\\x10\\x82\\x56\\x6b\\x29\\x21\\x68\\x1a\\xf7\\x0c\\x1f\\x3f\\xd1\\x7a\\x46\\x3c\\xac\\xa1\\x67\\x4a\\xb2\\x65\\x7a\\xa6\\x84\\x94\\xde\\x63\\x65\\x41\\xcf\\xe1\\xf1\\x23\\x25\\x78\\x0d\\xd5\\x13\\xe6\\xc1\\x17\\xe8\\x63\\xf1\\x3e\\x52\\xe7\\xec\\x98\\x37\\xde\\x07\\xcb\\x49\\x7b\\x17\\xb1\\xbe\\x9a\\x8f\\xef\\x8a\\xf7\\xc1\\x2a\\xf2\\x6c\\x9e\\x70\\x9e\\xb4\\x37\\xf5\\x10\\xa8\\x54\\xbc\\x5a\\x54\\xce\\xdb\\xf0\\x49\\xc7\\x3a\\xc8\\x64\\xd5\\x81\\x4f\\x03\\xd4\\x52\\x40\\x03\\x4f\\x3d\\xf5\\xf4\\x9b\\x60\\x88\\xa1\\xb7\\x1e\\x79\\xf8\\x6c\\x0c\\x81\\x89\\x14\\x60\\xc7\\x3f\\x91\\xd5\\x67\\xda\\x5f\\x7f\\xe1\\x7b\\xf0\\x0c\\x85\\x66\\x7e\\x22\\xec\\xe7\\x06\\x32\\x5e\\x91\\xda\\xf8\\x35\\xdd\\x13\\x67\\x26\\xae\\xaa\\x4f\\x66\\x03\\x77\\xbe\\x51\\xdc\\x24\\x79\\x6e\\xc2\\x93\\xe1\\x3d\\xa6\\x1f\\xa7\\x79\\x24\\x55\\x72\\x1e\\xd1\\x41\\x10\\xaf\\x0c\\xde\\x9b\\x8d\\xf1\\xf9\\x79\\xa9\\x24\\x4b\\x2c\\x86\\xce\\x12\\xda\\x77\\x26\\xb6\\xd4\\xac\\xe2\\x55\\xcc\\x4a\\x95\\xda\\xe6\\xc4\\x63\\x68\\x5a\\x25\\xce\\x89\\xe2\\x3e\\xc6\\x99\\xaf\\x1a\\x17\\x4a\\x43\\x83\\x22\\x81\\xb4\\x94\\x14\\x07\\xaf\\xd5\\x68\\xec\\x0e\\x13\\xef\\xe0\\xd3\\x3d\\x5a\\xad\\x64\\xb7\\x4b\\x6e\\xb7\\x94\\x92\\x82\\x24\\xc9\\x50\\x19\\x95\\xcc\\xd4\\xed\\xe3\\x35\\x02\\x6c\\xb6\\x0c\\x36\\xa4\\x1c\\x6f\\x11\\xb3\\x1a\\xe2\\x21\\xb1\\x23\\xb4\\xe6\\xb8\\x5f\\x21\\xde\\xe2\\xb5\\x70\\x03\\x2f\\xe3\\x3f\\x92\\x8f\\xcb\\x7e\\x91\\xf0\\x2c\\xf4\\x07\\x70\\x76\\xe6\\xdc\\xa5\\xf1\\x78\\x2c\\x5e\\x13\\xf7\\x2c\\xb4\\x1f\\xcc\\xf8\\x12\\x85\\xbd\\x31\\x1e\\x68\\x02\\x76\\xa7\\xd0\\x10\\x16\\x94\\x46\\x45\\xb2\\x89\\xa2\\xcd\\xed\\xb6\\x11\\xd8\\xff\\x77\\x70\\xd0\\xeb\\xc3\\x7e\\x9d\\x38\\xa1\\x74\\x53\\xfd\\xfa\\xb1\\x42\\xf1\\x2c\\x02\\xfd\\x75\\xe2\\x85\\x26\\xa0\\xa7\\x63\\xf1\\x2a\\x7e\\x15\\x2e\\x08\\x5a\\xb3\\x84\\xd2\\xd9\\xf8\\x3e\\x47\\xe4\\xad\\x18\\x93\\xd9\\x73\\x23\\x6e\\x32\\xbe\\x22\\x77\\xd7\\x70\\x93\\x08\\x26\\xb1\\x50\\xac\\x10\\x6b\\xc4\\xc5\\xe2\\x56\\xf1\\x57\\x51\\x25\\x52\\xeb\\x3f\\x66\\xce\\x19\\xc7\\x14\\xfe\\x39\\x2a\\xba\\x27\\x84\\x76\\x42\\x39\\x6e\\x13\\x76\\xf2\\xbd\\xa5\\xc1\\x71\\x39\\xe4\\xc6\\x88\\x5d\\x23\\x09\\x40\\xd8\\x03\\x22\\x18\\x1b\\x4d\\x3a\\x95\\xa4\\x5a\\x3b\\x5c\\x2b\\x51\\xe3\\xc7\\xb4\\x14\\x5f\\x4f\\x49\\xfc\\x5f\\xd5\\x20\\x7a\\xaa\\xbc\\xb8\\x89\\x1b\\x02\\xe5\\x04\\x84\\x2d\\xd4\\xa8\\x3a\\x80\\x09\\xed\\x7f\\x3e\\x84\\xef\\x79\\x1d\\xfa\\xbe\\x2e\\xec\\xf4\\xc2\\x3a\\x3f\\x9e\\x15\\xf8\\x17\\xf9\\xa3\\x6d\\xcc\\x46\\x48\\xbc\\x5b\\xbc\\xdd\\x9c\\x43\\x7f\\x59\\x54\\x7c\\xdb\\xd8\\xa4\\xd8\\x16\\xc0\\x07\\x39\\x2b\\xcf\\xd9\\x8e\\xc4\\xc2\\x91\\x98\\x8d\\x8c\\x92\\x5f\\x2d\\xc3\\xfb\\xe4\\x73\\xbf\\x0c\\xe4\\xfa\\xa8\\x4a\\xce\\x25\\xeb\\xfc\\x50\\xf9\\x71\\xf9\\x59\\x59\\x52\\xc9\\x32\\xb9\\x9d\\x2d\\xdf\\x27\\x9f\\x92\\x3f\\x92\\x2f\\xc8\\x7f\\xca\\x9a\\x7f\\xf6\\x20\\x2f\\xef\\x63\\xaf\\x4f\\xd1\\x04\\xca\\x6b\\xfa\\x92\\xa5\\x2e\\x93\\xc7\\x91\\x5b\\xfa\\x4e\\xf5\\xa0\\x2c\\x43\\x99\\x0c\\x4a\\x92\\x95\\x24\\x89\\x58\\x9e\\x2b\\xf7\\x20\\xbf\\x1f\\xa7\\xbf\\x69\\xd2\\x1e\\x24\\xb1\\x52\\xf8\\x9f\\xb2\\x5a\\xc5\\x6e\\x57\\xc6\\x73\\x5f\\x90\\xd5\\x6a\\x49\\xfe\\x4e\\xe6\\xde\\xcd\\x91\\x2f\\xcb\\x5c\\x77\\xf9\\xb0\\xcc\\x49\\xb2\\x53\\xe6\\xb6\\x0c\\x91\\x37\\xcb\\x3b\\xc9\\xed\\x77\\xb2\\x98\\x43\\x7e\\x90\\xa7\\x43\\xc8\\x1d\\x7f\\x9b\\x53\\x1e\\x2b\\xcf\\x92\\x79\\xa7\\x5c\\x4a\\x7e\\x6c\\x26\\x8f\\x4e\\xca\\x92\\x24\\xe7\\x90\\xdb\\x21\\xf2\\x0a\\x72\\xfb\\x21\\xc9\\xa1\\x6e\\xdb\\x9d\\xdc\\xcd\\x22\\xd9\\x3e\\x94\\xc5\\xee\\x72\\xe4\\x69\\x5a\\xd4\\x65\\x59\\x90\\x48\\x16\\x4e\\x23\\xca\\x0e\\xf9\\x56\\x99\\x5f\\x77\\xab\\x7c\\x87\\xbc\\x49\\x3e\\x24\\x7f\\x2b\\x8b\\x0e\\xb9\\x1b\\xf9\\xf9\\x1f\\x59\\xa0\\xef\\xc2\\xe4\\x2d\\x7d\\xfe\\x1a\\x79\\xa3\\x1e\\xde\\x4d\\x1e\\x2c\\xcf\\x94\\xff\\x21\\x7f\\x40\\x5e\\x4b\\x34\\xd5\\x3f\\x94\\x74\\x34\\x1f\\x1f\\x10\\xe4\\x6c\\x79\\x90\\xbc\\x43\\x3e\\x28\\x8b\\x82\\x5c\\x22\\x77\\x95\\x67\\x90\\x9b\\x13\\xf2\\x1f\\xb2\\x6a\\xbe\\x9d\\xbc\\xa2\\xf7\\x27\\xe4\\xf7\\x65\\xa9\\xab\\xbc\\x91\\x3d\\x16\\x04\\x79\\xb9\\x7c\\x5e\\xe6\\x7b\\xdd\\x2b\\x7f\\x23\\xff\\x2e\\xf3\\x37\\xc8\\xf7\\xca\\xdb\\xa9\\xbb\\x16\\x76\\x77\\x0b\\x27\\xc3\\x1c\\x1a\\xfa\\x40\\x31\\x71\\x66\\x9f\\xc6\\x9f\\x49\\x0f\\xaf\\xfd\\x44\\xf9\\x0a\\x5a\\xc2\\xa8\\x22\\x4c\\xf0\\xe2\\x35\\xce\\x06\\xdf\\xf2\\x5d\\xad\\x12\\x9a\\x5b\\x4e\\xf1\\xa4\\x35\\x42\\xd2\\x32\\x82\\x27\\xb9\\xa8\\x15\\x2c\\x8c\\x63\\xca\\xcc\\xd8\\x16\\x94\\x73\\x10\\x8c\\x3c\\x98\\x8e\\xc4\\x6e\\x8b\\x58\\x09\\x93\\x0f\\x7e\\x66\\x0a\\x5b\\x89\\xd6\\x23\\x61\\x1b\\x82\\xea\\xea\\xb0\\x52\\x22\\x8a\\xe3\\x9a\\x74\\x88\\x95\\x11\\xa4\\xe7\\x3a\\x13\\xd8\\x86\\xb2\\x13\\x65\\x4c\\x88\\x58\\x4c\\x26\\x41\\x48\\x94\\xb1\\x07\\x9d\\x45\\x62\\xa2\\x04\\x25\\x3f\\xdf\\x99\\xe5\\xcf\\x87\\xbb\\x93\\xf2\\xb7\\x3e\\x48\\x66\\x0e\\xa8\\x8e\\xc4\\xaa\\x22\\x6e\\x15\\x61\\x15\\xfc\\x24\\xf7\\x62\\x02\\xc1\\x59\\xf4\\x25\\xfa\\x95\\xac\\xfc\\x28\\x82\\x2e\\x21\\xbe\\x09\\x2c\\xb1\\xef\\x62\\x3f\\x49\\x37\\x28\\x7e\\xcf\\x46\\x2a\\x25\\x15\\x90\\x92\\x7a\\x44\\x5c\\x5c\\x2a\\xcf\\xa5\\x08\\x29\\xf6\\x94\\xec\\x94\\x92\\x94\\xae\\x29\\x83\\x52\\xc6\\xa4\\xcc\\x48\\x59\\x9e\\xa2\\x39\\x12\\x2b\\x8e\\xb8\\x53\\x52\\x54\\x2a\\x3f\\xa0\\xa9\\x08\\x38\\x13\\x03\\xb1\\x06\\x09\\x64\\x0d\\x19\\x49\\x5b\\x5a\\x5b\\x53\\x1b\\x0e\\x07\\xab\\xe3\\x55\\xd0\\xf6\\x2e\\x41\\x48\\xd5\\x8b\\xc1\\xdb\\x81\\xb3\\x13\\x78\\x25\\xbe\\xed\\xa9\\x2d\\xa8\\xfc\\x59\\xd0\\xf1\\xa0\\x27\\xcc\\xf4\\x91\\xd8\\xfa\\x48\\xa6\\x5e\\x4f\\x1b\\xac\\x94\\x46\\x81\\x3e\\x46\\xc0\\x8e\\x21\\xb5\\x19\\x55\\xa1\\x0d\\xe8\\x6d\\x24\\x50\\xb0\\xab\\x1b\\xe1\\x7e\\x9b\\xf4\\xe1\\x28\\x0a\\x37\\x3f\\xbc\\xb7\\x02\\xb7\\x4c\\xe0\\x2e\\x8b\\x18\\x21\\x87\\x87\\x6c\\x73\\x76\\x66\\x76\\x51\\x76\\x24\\x5b\\x38\\x12\\x93\\x23\\x72\\x76\\xb6\\xd7\\xeb\\x27\\x45\\x7e\\x89\\x08\\xb4\\x95\\x88\\x9b\\x46\\x20\\x7a\\x9b\\x76\\x44\\x6d\\x13\\x38\\x63\\x4f\\x10\\x62\\x7d\\x87\\x34\\xd8\\x9a\\xc3\\x4f\\x62\\xbd\\xda\\x2e\\xd6\\x9e\\xbc\\xb0\\x1d\\xe0\\x39\\x30\\x1f\\x89\\x7d\\x72\\xd0\\xec\\xe4\\x35\\x7e\\xd2\\x77\\xe1\\x78\\xbb\\x42\\x8c\\x66\\xd0\\x33\\x7a\\xd9\\xec\\x9e\\xf0\\x2d\\xe2\\x44\\x76\\xef\\x67\\x74\\x72\\x35\\x02\\x81\\x9e\\x8d\\x13\\x91\\x27\\x62\\xe4\\x05\\x24\\xa8\\x24\\x91\\xab\\x89\\x8a\\x3c\\x4f\\xe3\\xd6\\x07\\x1b\\x8d\\x73\\x1c\\xf4\\x78\\xb3\\xf0\\x4c\\x3d\\x87\\x3f\\x11\\x97\\x9e\\xbf\\x32\\x46\\x5c\\xc2\\xd6\\xbc\\x1b\\x49\\x79\\x93\\x59\\x7e\\x23\\x2a\\x89\\xb8\\x25\\x0e\\x90\\xd6\\x28\\x8a\\x5a\\x8e\\x37\\x9b\\x34\\xcc\\x53\\xa8\\x34\\x32\\xca\\xd3\\xe8\\x21\\x15\\x8a\\x73\\x16\\x6b\\xdb\\xa6\\xc7\\xf2\\x41\\x24\\x45\\x97\\xf9\\x21\\x27\\xd7\\xc8\\xf3\\x5c\\x19\\x44\\xe1\\xf3\\xbf\\x2f\\x00\\x7f\\x11\\x5f\\x6e\\xeb\\x06\\x5d\\x76\\xbb\\x4b\\xe2\\x52\\xb8\\x32\\xfa\\xeb\\xaf\\xad\\xdc\\xf3\\x0f\\xdd\\x2c\\xf9\\x6f\\xdb\\x5a\\xbf\\x32\\xd1\\x0e\\x89\\xb5\\xa3\\x15\\x6b\\x57\\x47\\x84\\x84\\x5d\\xec\\xbe\\x63\\x43\\x3b\\x3b\\xb2\\x7b\\x6a\\x5c\\xc1\\x27\\x7c\\xe7\\xb1\\x33\\xbf\\x69\\xa8\\x36\\xd2\\x83\\xe3\\x75\\x16\\x41\\xd6\\x09\\xba\\x74\\x0f\\xe2\\x6b\\xa2\\x19\\xd4\\x32\\x9c\\x8e\\xe9\\x1e\\x32\\xa2\\xa2\\x4c\\xd8\\x01\\xb7\\xd1\\x68\\xaf\\x89\\x1a\\x05\\xb5\\xbb\\x26\\xaa\\xb6\\x6d\\x4b\\x87\\x25\\xe9\\x30\\x2d\\x1d\\x46\\xa6\\x43\\x24\\x1d\\x8a\\xd2\\xe1\\x52\\x3a\\x64\\xa6\\x53\\x5c\\x62\\x7f\\xcd\\x5d\\xe5\\xd5\\x26\\x3b\\x65\\x6d\\xab\\x18\\xe3\\xf8\\xed\\x9c\\xa0\\xf8\\x6a\\xf3\\x66\\x22\\x28\\xe1\\x7c\\x59\\x9c\\xc3\\x6e\\xa5\\x41\\xbe\\x2f\\x73\\x7d\\xea\\x0f\\xf1\\x3f\\x3f\\x83\\x5f\\xfc\\x18\\x1f\\xc4\\x2b\\x61\\x0e\\x54\\x92\\x7f\\x73\\xf1\\x7b\\x1f\\xbf\\x7a\\xf2\\xe3\\x2f\\x8e\\x9d\\xfc\\x88\\x6f\\x7f\\x7e\\xda\\xe7\\x78\\xff\\x3e\\x58\\x09\\x83\\xe0\\x46\\x58\\x80\\x97\\xe0\\x7d\\xe7\\x81\\xc7\\xb1\\xef\\xbe\\xc7\\xff\\x61\\x7a\\x6a\\xa5\\xcd\\xb0\\x97\\xb5\\x39\\xbf\\xa1\\x0f\\x0e\\xb2\\x7b\\xb6\\x37\\x44\\x46\\x08\\xc4\\x9e\\xe2\\xed\\x48\\x8b\\xca\\x23\\x19\\x5a\\x8d\\xa0\\x52\\x53\\xff\\xba\\x02\\xaf\\xd7\\x09\\x1a\\x5e\\x8d\\xac\\xc7\\xf5\\xb0\\x55\\x0f\\x23\\xf5\\x50\\xa8\\x07\\xea\\x42\\x10\\x55\\x14\\x57\\xb4\\x6d\\x71\\x9a\\x8d\\x3a\\xd5\\xa5\\xde\\x75\\xc5\\x9e\\xf8\\x2c\\xfe\\x32\\xe8\\x71\\xb7\\x21\\x02\\xf4\\x69\\x4e\\x03\\x41\\xe0\\x67\\x6e\\x9a\\x39\\x66\\xf7\\x55\\x6a\\x13\\x11\\xaf\\x5f\\xf2\\xb2\\xfa\\x8b\\x9a\\x8d\\x49\\x1b\\x65\\x4c\\xc8\\x98\\xbd\\x47\\xd2\\x52\\xfe\\x5c\\x87\\xda\\x47\\xd2\\x09\\xb7\\x24\\x11\\x94\\x11\\xf5\\x06\\x9d\\xb6\\x26\\xaa\\xd3\\xa9\\xc8\\xc2\\x5d\\x13\\x95\\xac\\x74\\x80\\x28\\x06\\x35\\x0d\\x1d\\xa9\\xc4\\x58\\x69\\xdb\\xb6\\x58\\x39\\x0d\\x46\\xd0\\x28\\x4c\\x3f\\xb3\\x85\\xb6\\x57\\x4e\\x09\\x37\\x5f\\x59\\xca\\x9f\\xbf\\xfa\\x2c\\x41\\xd5\\xab\\x3d\\xce\\x9f\\xe7\\x86\\x9e\\x3f\\xaf\\xf4\\x51\\x1c\\x0f\\x08\\x0c\\xc5\\x71\\xfc\\x67\\x30\\x11\\x08\\x7c\\x11\\x0b\\x52\\xf1\\x82\\x4a\\xd0\\xa8\\x45\\x6e\\x24\\x99\\x01\\x02\\xb2\\xd2\\x1e\\x48\\x3e\\xed\\x91\\xf0\\x65\\x27\\x64\\xd6\\xaf\\xc7\\x9f\\x0a\\x07\\x85\\xb5\\x57\\xa6\\x8b\\x4b\\xff\\x5e\\xdc\\xd0\\xff\\xa2\\x99\\xb5\\x2f\\xa4\\xf0\\x98\\xa4\\x7d\\xeb\\x49\\xd9\\x7a\\x42\\xab\\x7c\\x2a\\x9e\\xd7\\xaa\\x39\\x4e\\x02\\x1d\\xe8\\x0c\\x46\\x5e\\x25\\x90\\x96\\x69\\xc8\\x03\\xad\\xc0\\x83\\x16\\x91\\xe6\\xd2\\xda\\x14\\x6f\\x10\\x2c\\xea\\x54\\xa3\\x6b\\x68\\x76\\x06\\x4f\\x31\\x8f\\x0a\\x85\\x35\\x74\\x6f\\x86\\xb4\\x95\\xe0\\xd3\\x4d\\x70\\x1c\\x0f\\xe0\\x2f\\xd4\\xf7\\x80\\xe9\\x78\\x16\\x6f\\xb8\\x08\\x57\\xe0\\xc0\\x0f\\xe7\\xf1\\x9d\\x2b\\x70\\x97\\xf3\\x0c\\x1e\\xea\\xb7\\xf7\\x0c\\x83\\xa7\\x8c\\xdd\\xfb\\x08\\x7c\\x61\\x76\\xdf\\x81\\xf5\\x7f\\x45\\xec\\x3f\\xd2\\x8d\\xe2\\x9d\\x04\\x07\\x32\\x51\\x00\\x7e\\x89\\xc4\\x9c\\x62\\xa6\\xcd\\x9f\\xa9\\x41\\x6e\\xaf\\xc9\\xa4\\x71\\xf3\\xc1\\x3c\\x21\\xc7\\x96\\x53\\x13\\x75\\xda\\x22\\x76\\x41\\xf4\\x6b\\xfd\\x64\\x9a\\x68\\x35\\xb6\\xfb\\x82\\x50\\x17\\x84\\xd1\\x41\\xb8\\x31\\x08\\x5d\\x83\\x10\\x0e\\x42\\x4e\\x10\\x9c\\x41\\x10\\x83\\xf0\\x7b\\x10\\xce\\x07\\xe1\\x83\\x20\\x9c\\x0c\\xc2\\xe1\\x20\\x3c\\x1e\\x84\\xcd\\x41\\x58\\x1e\\x84\\x99\\x41\\x18\\x1b\\x84\\x21\\x41\\xe8\\x11\\x84\\xd2\\x20\\xe4\\x06\\xc1\\x41\\xb0\\x25\\x08\\xe3\\xfe\\x08\\xc2\\xb7\\x41\\xf8\\x30\\x08\\xaf\\xb1\\x0c\\xdb\\x83\\x80\\x36\\x04\\xe1\\xf6\\x20\\xcc\\x60\\x39\\x06\\xb2\\x1a\\x8a\\x82\\x90\\x15\\x04\\x7b\\x10\\xa4\\x20\\x5c\\x66\\x35\\x90\\x0c\\x07\\x83\\xb0\\x33\\x08\\xf7\\xb0\\xe2\\x09\\x38\\x63\\x58\\xf1\\x91\\x20\\x14\\x07\\x21\\x9b\\x81\\x23\\xb0\\xc4\\xdf\\x05\\xe1\\xdd\\x20\\x9c\\x60\\xa5\\xef\\x08\\xc2\\xc6\\x20\\xac\\x48\\x24\\x2e\\x49\\x2a\\xb6\\xec\\xb7\\x20\\x7c\\x1d\\xb9\\x39\\x08\\xef\\x07\\xe1\\x95\\x20\\xc0\\x5e\\x96\\x7a\\x1a\\x4b\\x5a\\xc5\\x80\\x48\\x65\\x25\\x9e\\x67\\x29\\x0e\\xb2\\x5a\\x09\\x88\\x83\\x82\\xd0\\x3e\\x08\\x99\\xac\\x14\\xd2\\x94\\xcf\\x58\\x4d\\xa4\\x8e\\xf9\\x41\\x98\\x14\\x84\\xe1\\xac\\x0e\\x73\\x10\\x38\\xb2\\x88\\xaa\\x68\\x7c\\xa0\\xc4\\x5f\\x6d\\xe2\\xaf\\x2e\\xfe\\x57\\x43\\x2f\\x23\\xaa\\x9b\\xfc\\xd5\\x36\\xfd\\xab\\xab\\x6b\\x92\\xb8\\x45\\xf2\\xa4\\x0c\\xa8\\xe2\\x4c\\xb1\\x82\\x4a\\x6e\\xf2\\x03\\x99\\x5d\\x27\\xae\\x11\\x1d\\x87\\xfa\\x02\\xa3\\x3e\\x3a\\x21\\xec\\xcb\\xca\\xce\\x09\\x97\\x20\\x6f\\x88\\xa0\\x56\\x28\\x13\\x39\\xec\\x12\\x69\\xa9\\x03\\xec\\xce\\xf6\\x60\\x21\\xac\\xba\\x98\\xb7\\xe5\\x1f\\x36\\xf7\\xfd\\x3b\\xea\\x37\\x96\\x1e\\xc0\\x97\\xef\\x82\\x52\\xc8\\xc8\\x03\\x67\\x1e\\xa4\\x43\\xd9\\x5d\\xf8\\xf2\\x81\\xd2\\xfa\\x8d\\xdb\\x1f\\x70\\xdb\\xfe\\xb1\\x85\\xfb\\xf4\\xfe\\x27\\xeb\\x6b\\x77\\xd7\\xbf\\x78\\x6a\\xf5\\x5f\\xdb\\xae\\x80\\x7d\\xcb\\x16\\xfc\\xd3\\x95\\x47\\xff\\xbb\\xfa\\x14\\xf7\\xed\\xb6\\xa7\\xb9\\xf5\\x4f\\x32\\x1c\\xb4\\x12\\x1c\\x54\\xce\\x8c\\xb7\\x67\\x73\\x64\\x24\\xa1\\x11\\x29\\x64\\x8e\\xa4\\xc2\\xee\\x48\\xcc\\x02\\x60\\xe4\\x1c\\x2e\\xad\\x4a\\xc5\\xb9\\x78\\x4f\\x9a\\xc5\\xc8\\x1b\\xe9\\xc4\\xe7\\xc1\\x69\\x52\\xf3\\x60\\x5d\\xe5\\x81\\xe9\\x1e\\x92\\xc5\\x03\\x03\\x3d\\xd0\\xc5\\x03\\x25\\x1e\\xc8\\xf1\\x80\\xe4\\x81\\xdf\\x3c\\xf0\\xb5\\x07\\xde\\xf7\\xc0\\x49\\x0f\\x3c\\xe1\\x81\\xcd\\x1e\\xb8\\xdd\\x03\\x33\\x3c\\x30\\xd6\\x03\\x76\\x0f\\x70\\x1e\\x18\\x47\\x52\\x9c\\xf7\\xc0\\x87\\x2c\\xc5\\x61\\x0f\\x3c\\xe6\\x81\\x7b\\x3c\\xb0\\xdc\\x03\\xb3\\x3c\\x30\\xc4\\x03\\xdd\\x3d\\x50\\xec\\x81\\x6c\\x0f\\x38\\x3d\\xf0\\x9d\\x07\\xde\\x60\\x69\\x76\\x7a\\x60\\xa3\\x07\\x56\\x24\\x0a\\x4a\\xae\\xef\\x72\\xa2\\xb2\\x9d\\xac\\xb2\\xb9\\x2c\\xc1\\x90\\x44\\x09\\x24\\x41\\x19\\xa9\\x0f\\xce\\xb1\\x54\\xc7\\x3d\\x70\\xd0\\x03\\x3b\\x3c\\x70\\x27\\x2b\\xa9\\xca\\x03\\x5d\\x3d\\x10\\xf4\\x40\\x86\\x07\\x04\\x06\\xd4\\x9b\\x2c\\xc1\\x06\\x02\\x4e\\xa4\\xb5\\x07\\xc6\\x78\\x60\\x90\\x07\\xda\\xb3\\xb2\\x10\\x81\\xfd\\x92\\x07\\xbe\\x64\\x6f\\x17\\x7b\\x60\\x24\\xcb\\x5e\\xe4\\x01\\x33\\x7b\\xa7\\x6a\\x44\\x80\\x9a\\x6b\\xa1\\x09\\x45\\x94\\x11\\xd7\\xc1\\xa7\\xba\\x26\\x7f\\x2d\\x53\\xd5\\x50\\x24\\x8a\\x47\\xc4\\x6b\\x26\\xb1\\x84\\x12\\x8e\\x3d\\xc9\\x52\\x46\\x03\\xb6\\x30\\x34\\xf1\\x5a\\xe2\\x6e\\x45\\xc8\\xda\\xc6\\xbf\\x8e\\x7f\\x68\\x85\\xbf\\xc7\\xbf\\x82\\xbc\\x76\\x87\\x06\\x64\\xcd\\xf6\\x75\\x20\\xe3\\x4b\\xf8\\x02\\x3c\\x85\\x07\\xc3\\x53\\x00\\x44\\x14\\x3d\\x8b\\x0b\\x1e\\x59\\xcd\\xfd\\x55\\xaf\\x5a\\xb5\\x05\\xde\\xc3\\x6d\\x88\\x34\\x17\\x53\\xe4\\x72\\xc2\\x4f\\x48\\x32\\x59\\xa7\\x7d\\xd4\\x6b\\x4c\\x7a\\x8a\\xa4\\x4b\\xd1\\x39\\x4c\\x0e\\x42\\x90\\xb4\\xbc\\x97\\xcf\\xf6\\xeb\\xf5\\x2e\\x75\\xaa\\x3b\\xb5\\x26\\xea\\xd2\\xb9\\xad\\xc8\\x4a\\xb0\\x43\\x88\\x7b\\x8d\\x89\\x07\\xca\\x08\\x25\\x45\\x4d\\x6c\\x70\\x96\\x43\\xe0\\x65\\x91\\xab\\x54\\xa5\\x21\\x42\\x3c\\x69\\x28\\xcb\\x84\\xe6\\x51\\xa6\\x46\\x69\\xc5\\x72\\x0e\\x17\\x36\\x23\\x3e\\x0c\\x7d\\x61\\xde\\xfb\\x1f\\xd6\\x45\\xc0\\x5e\\x3f\\xea\\xd0\\x63\\x1f\\x9f\\x78\\xf5\\xd3\\xed\\x87\\xea\\x6f\\x05\\xeb\\x0d\\xb7\\x7d\\x7c\\x16\\xe6\\x89\\x9b\\xf1\\x51\\xfc\\xfd\\x87\\xf8\\xfd\\x51\\xba\\xf3\\x10\\x1e\\x72\\x61\\xe3\\x9b\\x5f\\x7c\\x7e\\x7a\\xe3\\x85\\x21\\xf8\\xcd\\xf3\\xba\\xd1\\x50\\xf0\\x01\\xa4\\x40\\x84\\xf1\\x68\\x1f\\x11\\xc6\\x68\\xb4\\xf4\\x81\\x35\\x87\\xae\\xc3\\x16\\x49\\x03\\xaf\\x13\\x6e\\x22\\x62\\xe2\\x40\\x10\\xc4\\x1c\\x0e\\xd4\\x48\\x2d\\x21\\x8e\\x31\\x69\\x88\\x5d\\x1a\\x68\\x33\\xcb\\xd3\\x81\\xf2\\x75\\x1a\\x80\\x81\\xa4\\x3f\\x3c\\x11\\x0d\\x07\\x1a\\x0d\\xcd\\x65\\x38\\x12\\xbb\\x72\\xd0\\xa0\\x13\\xd4\\x49\\x19\\x49\\x3e\\xaa\\x73\\xf8\\x50\\x3c\\x4f\\xf8\\xc1\\x5b\\x14\\x2e\\x1b\\xa8\\x1d\\xaf\\x3d\\xa2\\xe7\\xfc\\x96\\x1c\\xce\\x2f\\xfb\\x5b\\x49\\x66\\x9a\\x03\\x05\\x95\\x7a\\xfa\\xc5\\x7e\\xe2\\x9f\\x12\\xcf\\x13\\x9e\\x74\\x9c\\x92\\x1e\\xfd\\x42\\xa0\\xe5\\x22\\x31\\x08\\x58\\x72\\x20\\xd0\\x3f\\x90\\xaf\\xe5\\xfd\\x86\\xa2\\x97\\x8a\\xbe\\x28\\xe2\\x3f\\xd6\\x17\\xa5\\x15\\xe5\\x17\\xf5\\x2d\\x12\\xce\\x29\\xbf\\x3a\\x90\\xdf\\x37\\x17\\x4d\\x2e\\x5a\\x50\\xf4\\x70\\xd1\\xee\\xa2\\x17\\x8b\\x4e\\x17\\x7d\\x5e\\xf4\\x53\\xd1\\xd5\\x22\\x53\\x5a\\xc3\\xab\\xbb\\xc8\\x8b\\xc4\\x63\\x9d\\x9e\\xa4\\x7b\\x91\\xdc\\x5c\\x2d\\x12\\xf7\\xa2\\x8c\\xa2\\x8a\\xa2\\x9a\\x22\\xde\\x54\\x94\\x51\\x54\\x58\\x54\\x59\\x34\\xb5\\x68\\x7d\\xd1\\x9e\\xa2\\xb3\\x45\\xea\\xc3\\xca\\x93\\x0a\\xf2\\xac\\x86\\x3c\\x5d\\x4c\\x9e\\x6f\\x2d\\x3a\\x46\\xde\\x7c\\x59\\xf4\\x6b\\x51\\xac\\xc8\\x94\\xd1\\xe4\\x15\\xcd\\x42\\x1f\\xeb\\x4c\\xac\\x94\\x63\\x24\\x55\\xac\\x48\\x5a\\xe1\\x29\\xea\\x58\\x54\\x5d\\xc4\\x1b\\x8a\\x3c\\x45\\x05\\x45\\xfd\\x8a\\xa6\\x14\\xad\\x2d\\x7a\\xba\\x48\\xb5\\x4e\\xb9\\xef\\x48\\x9e\\x54\\x93\\x67\\x0b\\x8b\\x1e\\x61\\x0d\\xfb\\xb9\\xa8\\xbe\\xc8\\xe0\\x49\\x7a\\x4c\\x12\\x47\\xde\\x2b\\x3a\\xc3\\x5e\\xe8\\x0c\\xac\\x04\\x25\\x65\\x7d\\x91\\x6a\\x04\\x50\\xb0\\x17\\x5f\\x03\\xf0\\x31\\xd7\\x06\\x9c\\x02\\x64\\xc8\\x68\\xf6\\x78\\x0f\\x6b\\x11\\x05\\xdc\\x60\\x8a\\x97\\xa2\\xa4\\x54\\x95\\x70\\xeb\\x8b\\xc0\\xd4\\x50\\xce\\xe2\\x78\\x19\\x9a\\xb6\\x2d\\xcb\\x56\\xda\\xae\\x4f\\x14\\x90\\x5c\\xb2\\xd2\\x57\\x86\\x8a\\x86\\x12\\x68\\x4a\\x95\\x22\\x2d\\xd6\\x8c\\x68\\xfa\\xdd\\xf4\\x56\\x91\\x23\\x83\\x54\\x66\\x9b\\x84\\x87\\x09\\x63\\x18\\x2e\\x4d\\x88\\xe3\\xd2\\x62\\x05\\x97\\x20\\x85\\xe0\\x46\\xca\\xf4\\x94\\x34\\xbd\\x9c\\x8c\\x4b\\x94\\xdf\\xbc\\xcc\\xd2\\x4f\\x52\\x24\\xa6\\x3f\\x95\\xd4\\x5a\\x92\\x5a\\xeb\\xd0\\x1a\\x14\\x49\\x44\\x29\\x9b\\xc6\\x93\\x18\\xc4\\xe4\\x96\\xd9\\x8a\\xdc\\x42\\x25\\x2e\\xe4\\x3e\\x4c\\xe4\\x16\\xf2\\x3f\\xed\\x48\\xec\\xf7\\x83\\x69\\x59\\x44\\x28\\x51\\x44\\x17\\xfa\\x51\\xf4\\x69\\x1f\\x32\\x9d\\x54\\x36\\xea\\x1e\\xf1\\x99\\xcc\\x66\\x9b\\x4b\\x6f\\xcb\\xc8\\x48\\x91\\x9c\\x0e\\x87\\x94\\xe3\\x77\\x3a\\x08\\x9b\\x92\\x55\\x19\\xd5\\x6b\\xcc\\x7c\\x5a\\x25\\x59\\x28\\x58\\x54\\x38\\xe6\\xc3\\x4f\\xf1\\x9d\\x19\\xe7\\xdb\\x8a\\x13\\x4e\\xda\\xe2\\x0e\\x91\\x1a\\x7c\\x3c\\x96\\x96\\x79\\x25\\x4e\\x65\\x95\\xbd\\x39\\xb9\\x90\\x14\\xee\\x85\\xbf\\xb9\\xd3\\xee\\x85\\xef\\xbf\\xf3\\xcd\\xe7\\xcb\\x5e\\x2a\\xe2\\x53\\x8a\\x41\\x53\\x3c\\x49\\x9f\\x39\\x1e\\xff\\xd6\\xc6\\x89\\xe5\\xc1\\x23\\xa3\\x4b\\xac\\xce\\x99\\xc3\\xc6\\x0e\\xfd\\x79\\xe5\\x3c\\xb0\\x91\\x39\\x9f\\x06\\xee\\x3b\\xe6\\x2d\\x98\\x3a\\x1c\\x1f\\x9f\\x8e\\xdf\\xfc\\x73\\xce\\x4c\\x68\\x7d\\xe2\\xc9\\x7f\\x3e\\xbe\\xff\\xc5\\xfd\\x4c\\x3e\\x5a\\x87\\x87\\x0a\\x8f\\x88\\xa7\\x91\\x03\\x05\\x50\\x34\\x52\\x60\\xcb\\xb0\\x64\\x68\\xd3\\xd2\\x90\\xcf\\x62\\x41\\x4e\\x8d\\x86\\x30\\x7e\\xc1\\x3c\\x5b\\x66\\x46\\x66\\x46\\x65\\x34\\x33\\xd3\\x98\\x62\\xcc\\xa9\\x8a\\x1a\\x91\\x26\\x95\\x4f\\x69\\x0c\\x97\\xd8\\x24\\x58\\xfa\\x35\\xa2\\x57\\x31\\xa7\\xd0\\x6c\\xa7\\xc5\\xe7\\x6c\\x08\\xd7\\xcc\\xc2\\xee\\x37\\x04\\x61\\xf2\\x85\\x1b\\x48\\x9e\\xf0\\xc8\\xcf\\x1f\\x3f\\x79\\x87\\x46\\x8d\\xbf\\xfb\\xeb\\xcf\\x0f\\x2e\\x7c\\xb9\\x79\\x77\\xbd\\xae\\x70\\x55\\xe7\\xda\\x79\\x4f\\x6f\\x59\\x5c\\x5b\\x3d\\xa4\\x76\\x0c\\x6c\\x3a\\xf5\\xf5\\x88\\xe1\\x53\\xf1\\x47\\xe2\\xee\\x9f\\x3f\\x3f\\xb4\\xab\\x7e\\xa8\\xe7\\x2c\\x7e\\x3b\\xbb\\x70\\xf9\\xf4\\xc5\\xb7\\x9f\\x74\\xd6\\xdd\\x52\\x75\\xf3\\x9a\\xfb\\x19\\x9d\\x56\\x13\\x5c\\x99\\x24\\xb4\\x23\\xd2\\xd4\\xc7\\x91\\x9d\\x1a\\xad\\xd6\\x60\\xd4\\x99\\x45\\x20\\x44\\xcc\\xc8\\x5b\\x2d\\x3a\\xd1\\x6c\\x48\\xd5\\x20\\x53\\xa5\\x15\\x62\\x56\\xd0\\x59\\xdb\\x5b\\x39\\x9d\\xb5\\x8f\\x75\\xb8\\x75\\x92\\xf5\\x05\\xab\\x38\\x39\\x48\\x1e\\xf4\\xb1\\xde\\x69\\x7d\\xc8\\xfa\\x99\\xf5\\x8a\\x55\\xd5\\x87\\xfc\\x78\\x8a\\xbc\\xf8\\xcc\\xfa\\xa3\\x55\\x52\\xd2\\xbd\\x60\\x15\\xda\\xd1\\x34\\xf3\\xe3\\xa9\\xa4\\x87\\x94\\x62\\x86\\x93\\x84\\x82\\x5a\\xb0\\x0e\\xb2\\x72\\x53\\x4b\\xac\\x5d\\xc9\\x37\\x4f\\x6f\\xce\\x5b\\xf9\\x8e\\x82\\x75\\x86\\x95\\xcb\\x26\\xcf\\x66\\x58\\x97\\x5b\\xdf\\xb7\\x8a\\x82\\x35\\xdb\\xba\\xd1\\xba\\x83\\xbc\\xfb\\xc3\\x2a\\xa9\\x8e\\x5b\\x81\\xab\\xa9\\x6d\\x98\\x00\\x49\\xba\\x94\\xea\\x5a\\xca\\xe4\\x27\\x9f\\x9d\\x55\\x30\\x86\\x0a\\x15\\xb6\\x74\\x90\\x3b\\x01\\x0d\\xec\\x21\\xa9\\xbc\\xa5\\x65\\x6a\\xc8\\x7b\\xdf\\x98\\xc3\\x49\\xb9\\xd6\\x37\\x20\\x17\\xcf\\xac\\x4e\\xc7\\xff\\xf2\\x76\\x15\\xda\\xd5\\x2f\\xc9\\x7b\\x2a\\xd0\\x7a\\x6b\\x29\\x37\\xff\\xca\\xd5\\xdf\\x7f\\xfc\\xe2\\x43\\x36\\xee\\x43\\x08\\xee\\x2e\\x67\\xf1\\xad\\xd3\\x69\\x34\\x5d\\x43\\x6a\\xaa\\x9b\\xe7\\x5d\\xe9\\x16\\xc9\\x85\\x2c\\x16\\x57\\x66\\x86\\x85\\x77\\xbb\\x1d\\x69\\xa9\\xfa\\x34\\x7d\\x65\\x34\\x0d\\x39\\x34\\x95\\x51\\x87\\xb3\\x59\\x30\\x86\\x50\\xf2\\x68\\x5b\\x95\\x53\\x2e\\x90\\x88\\xd5\\x4e\\xfd\\xb6\\xe6\\xb2\\x53\\xb6\\x14\\xa3\\x51\\xd8\\xec\\xa7\\x82\\x01\\x3f\\x7a\\xf8\\xe4\\xb5\\x9b\\x17\\x4c\\x5b\\x70\\xfb\\xf2\\x7b\\xe1\\x86\\x65\\xd3\\x97\\x5e\\xde\\x71\\x15\\xff\\x00\\xef\\xe0\\xd7\\xf9\\xc1\\x70\\xe1\\xb6\\x93\\x93\\x8b\\x3f\\x7a\\xe4\\xee\\x6d\\x0f\\xf3\\xaf\\xa8\\xf0\\x67\\xb3\\xeb\\x1f\\xd8\\xf8\\xed\\x22\\xd0\\xfc\\x04\\x8b\\xb6\\x41\\xbb\\x7b\\x8f\\x2a\\xeb\\x2f\\x5b\\x1f\\xc8\\x9c\\x6b\\x85\\xc6\\x46\\xca\\xd3\\x2d\\x39\\x59\\x06\\x0b\\xaf\\x95\\x89\\xec\\x92\\x17\\x30\\x78\\xb3\\xbc\\xd4\\x57\\xbc\\x37\\xcd\\xcb\\x99\\x79\\xaf\\xd7\\xae\\xb2\\xa7\\x0e\\x8c\\x9a\\x5c\\xa0\\x13\\x5c\\x2e\\xbb\\x59\\x85\\x06\\x44\\xcd\\x1c\\x70\\x1c\\xf5\\xd5\\x1f\\x2a\\x6c\\x1a\\x27\\xac\\xc1\\x7f\\x7c\\x03\\x0a\\x93\\x06\\xb1\\x5e\\xf6\\x17\\x97\\xc9\\xd4\\xba\\x87\\x59\\xcb\\xb6\\x74\\x06\\x43\\xbd\\xb7\\xb3\\x06\\x73\\xc6\\x35\\xcb\\xd7\\xf7\\x9a\\xbd\\x79\\xcc\\xa9\\x2f\\x1e\\x59\\x36\\x7b\\xd5\\x85\\xe3\\xab\\x0f\\xf7\\x78\\x2c\\xef\\xd6\\x6e\\x83\\x86\\xad\\x7d\\x61\\xe3\\xc2\\x2e\\x83\\x77\\xad\\xbe\\xab\\x4f\\xf7\\x56\\x3b\\xef\\xab\\x5d\\xad\\xe3\\xf4\\x2b\\x26\\xde\\xf1\\x48\\xdf\\xea\\xf9\\x6d\\xcb\\x3b\\xb7\\xed\\xdb\\x6b\\x5f\\x7a\\xb7\\x4e\\x3d\\x7b\\x53\\x1f\\xd1\\x78\\x2a\\xbf\\x9e\\x8c\\x49\\x16\\x2a\\x89\\xc8\\xee\\xcc\\x4c\\x8d\\xc6\\x83\\x64\\x39\\xdb\\x97\\xe9\\x49\\xf7\\x0c\\x88\\x22\\x93\\x3e\\x1d\\xe9\\x8f\\x80\\x99\\x45\\xa1\\x6e\\x9b\\x14\\x97\\xbb\\x38\\x71\\x1e\\x98\\x9d\\xf7\\xa5\\xa6\\x76\\xb9\\x34\\xf0\\x0e\\xb0\\x03\\xc1\\x08\\xc2\\x2a\\x1a\\x37\\x42\\x0d\\xd0\\xb5\\x55\\x8f\\x51\\xe5\\x1b\\x6a\\xbb\\xb4\\xf7\\x3d\\x5b\\x16\\x18\\xbc\\x60\\xeb\\xea\\x7e\\x64\\x80\\x34\\x8b\\xf1\\x6b\\xdc\\x4b\\xf8\\x0f\\x7c\\x1e\\x76\\x96\\x77\\x0b\\x7a\\xcc\\xad\\x7a\\x4e\\x1b\\x7a\\xc3\\xde\\xf2\\xde\\x37\\x57\\xb4\\x2a\\x6d\\x95\\xe9\\xab\\xba\\x7d\\xcc\\x2b\\xf0\\x33\\x18\\x04\\xe1\\xa5\\xa3\\xf8\\xbf\\x38\\x42\\xe0\\x64\\x74\\x98\\xd1\\xbd\\xaa\\x48\\x11\\x72\\x99\\xd5\\x6a\\x8d\\x4b\\xe3\\x4e\\x31\\xdb\\xed\\x42\\x55\\xd4\\x6e\\xd6\\x53\\x97\\xe2\\xa9\\xdb\\xdc\\xb0\\xc1\\x0d\\x97\\xdc\\xb0\\xd7\\x0d\\xca\\xef\\x69\\x6e\\xf8\\xd5\\x0d\\xd5\\x71\\xfe\\x8e\\xfa\\x73\\xac\\x68\\x16\\x5f\\x88\\x39\\xe4\\xce\\xb9\\x66\\x30\\x5a\\xbe\\xdf\\x80\\x09\\x53\\xe7\\xe3\\xef\\xb2\\xc1\\x60\\x71\\xf0\\x91\\x5d\\xf3\\x9f\\xdf\\x49\\xa0\\xf0\\x6c\\xaa\\x7b\\x7c\\x43\\xfd\\x0b\\xfc\\x8d\\xf3\\x27\\xe7\\x4e\\x08\\x4c\\xab\\x3e\\xf4\\xfa\\x95\\x95\\xcc\\x26\\x0e\\xdd\\x44\\xf0\\xe4\\x2f\\xf1\\x4d\\xa4\\x25\\x14\\xc0\\x41\\xe4\\x5b\\xbf\\xdd\\x60\\x40\\x36\\xa3\\x51\\x22\\xec\\x9b\\xd3\\x66\\xac\\x8c\\x9a\\x6c\\x90\\xca\\xdb\\x6c\\x3a\\xb5\\xda\\x32\\x20\\xaa\\x46\\xbc\\x6e\\xc0\\x35\\x02\\xc0\\xb6\\xf0\\x17\\x6f\\xe6\\x18\\x79\\xf6\\x16\\x5b\\x81\\x05\\x7d\\xb5\\xb1\\xf8\\xaf\\x7f\\x5d\\x3a\\x7f\\xee\\x47\\x78\\xe7\\xd7\\x2f\\x71\\xc1\\xf3\\x2a\\xbc\\x92\\xaf\\xa9\\x7e\\x4e\\x05\\xf3\\x54\\xdc\\x17\\x78\\x19\\xbe\\x0b\\x16\\xc2\\x0c\\xee\\x17\\xbc\\xfe\\x6a\\x4f\\xf8\\xfa\\x87\\xbf\\x84\\x3a\\xdc\\x1a\\xde\\x45\\x09\\xd9\\x1e\\x7e\\x27\\x34\\x4a\\x83\\x4a\\x23\\x3e\\x0d\\x8d\\xf3\\xad\\xd3\\x0a\\x26\\xe4\\xc8\\xd0\\x2d\\xd6\\x71\\xbf\\xea\\x60\\xa4\\x6e\\x9b\\x6e\\xaf\\x8e\\x5f\\x42\\x2e\\xc7\\x75\\x6f\\xeb\\x04\\x85\\x18\\x24\\xc5\\xfd\\x0e\\x11\\x74\\x54\\x02\\x57\\x9f\\x4a\\xcf\\x04\\x77\\xd0\\x9f\\xb9\\xb2\\x1b\\xdf\\xff\\xea\\x13\\x1d\\x16\\xb7\\x42\\x71\\xdf\\xf8\\x33\\x99\\x1f\\xf8\\xf2\\x48\\x2a\\x32\\x50\\x07\\xf0\\x6a\\x42\\xd3\\xa9\\x42\\xc5\\xc0\\xa9\\xb4\\xa0\\x02\\xb5\\x68\\x62\\xae\\xb9\\xa9\\x47\\xae\\xb6\\x71\\x6b\\x1d\\x6b\\xf2\\x19\\x73\\x2f\\xa8\\x1a\\x5c\\xbf\\xf3\\xbd\\xf1\\x17\\x8b\\x09\\x97\\x9c\\x02\\x6b\\xc1\\x87\\x97\\xc3\\x03\\x70\\x6a\\x22\\xde\\x2e\\xb4\\xc3\\x56\\xf8\\x05\\x17\\xd7\\x6f\\x64\\x6d\\xd2\\x90\\x3a\\x07\\x49\\x80\\x9c\\x10\\x8c\\xbc\\x2d\\x38\\xb5\\xf4\\x80\\xb0\\x06\\x69\\x2d\\x82\\x4b\\x16\\xb4\\x5a\\x1b\\x19\\x82\\xaa\\xa8\\x4d\\x83\\x1c\\x95\\x2e\\x68\\x4f\\x66\\xa6\\x0b\\x62\\x2e\\x78\\xc1\\x05\\xcb\\x5d\\x30\\xc9\\x05\\xc3\\x5d\\xd0\\xc7\\x05\\x25\\xec\\xf9\\xe4\\x2b\\x2e\\xf8\\xcc\\x05\\x0f\\xb9\\xe0\\x4e\\xf6\\x94\\xa4\\x0e\\xba\\xe0\\x47\\xf6\\x90\\x64\\x78\\x8a\\xbd\\x22\\xd9\\x66\\xb8\\x60\\x0c\\x4b\\x60\\x4f\\x14\\x94\\x5c\\x4a\\xbb\\x1f\\x13\\x49\\xef\\x64\\x49\\x95\\x77\\x82\\x0b\\xce\\xb9\\x80\\x7b\\xdb\\x05\\x7b\\x5c\\xb0\\xc4\\x05\\xd3\\x5c\\x10\\x71\\x41\\xa6\\x0b\\x2e\\xb1\\x17\\xc7\\x5c\\xb0\\xcd\\x05\\x1b\\x5c\\x30\\xd5\\x05\\x95\\xec\\x79\\x86\\x0b\\x90\\x2b\\x59\\xa0\\x69\\x10\\x43\\x9a\\x89\\x28\\x2d\\x24\\x98\\x11\\x49\\x19\\x48\\x3f\\x27\\x7b\\x8e\\x4c\\x52\\x5b\\x05\\x80\\xa3\\x74\\x93\\x46\\x65\\xa2\\xa6\\x72\\xca\\x69\\x31\\x59\\x18\\x84\\x3f\\x7d\\xb0\\x54\\x32\\xf5\\x72\\x1d\\xc6\\x1f\\xc1\\xa7\\x05\\x37\\x54\\x14\\x10\\xde\\x6f\\xf0\\xd8\\x8d\\xbb\\xfa\\x70\\xba\\x97\\x0a\\xdb\\x7d\\x5c\\x8e\\x6f\\xe4\\x7f\\x59\\xbc\\xae\\xad\\xed\\x95\\xf4\\xad\\x1f\\x2b\\x38\\xb5\\x01\\x8f\\x14\\xaa\\xc9\\x98\\x7b\\xd0\\xd0\\x48\\x48\\x4c\\x49\\x71\\xdb\\x4c\\x26\\xb3\\xdb\\x9c\\x91\\x9e\\x62\\x31\\x99\\x53\\xd5\\x8e\\xaa\\xa8\\x4e\\x54\\x3b\\x91\\x63\\x5b\\x06\\x6c\\xc8\\x80\\x4b\\x19\\xb0\\x37\\x03\\x94\\xdf\\xd3\\x32\\xe0\\xd7\\x8c\\xe4\\xe9\\x19\\x52\\xd8\\x94\\xe6\\xd1\\xa2\\xbd\\xad\\x79\\xe6\\x89\\x3a\\x27\\xbe\\x9e\\x7b\\x1b\\x03\\xa8\\xcb\\xfc\\x00\\xea\\x59\\x89\\xef\\xbf\\xab\\x64\\xa8\\x2c\\x08\\x14\\x57\\x8e\\x8c\\x9a\\x07\\x29\\x6a\\x7d\\x7e\\xb8\\xd4\\x71\\xba\\x28\\x2f\\xd8\\x13\\xaf\\x15\\x3f\\xad\\xdf\\x8e\\xcf\\x3f\\xbe\\x81\\xeb\\x72\\xf5\\xc8\\xed\\xd3\\x98\\x1d\\x2e\\xc1\\x19\\x99\\xc6\\x00\\x81\\x8d\\x91\\x18\\x4f\\x35\\xbc\\x5a\\x24\\x22\\x15\\x6f\\x36\\xe9\\x45\\x93\\x4a\\x70\\x6c\\x34\\xc3\\x12\\x33\\xd4\\x99\\x61\\xb4\\x19\\x06\\x99\\xa1\\x8b\\x19\\x4a\\xcc\\x90\\x63\\x06\\xab\\x19\\x04\\x33\\xfc\\x61\\x86\\xef\\xcc\\xf0\\xae\\x19\\xe0\\xb8\\x19\\x0e\\x9a\\x61\\x87\\x19\\x36\\xb0\\x0c\\x33\\xcc\\x30\\xc6\\x0c\\x55\\x66\\x88\\xb0\\x0c\\x66\\x96\\x7a\\x1c\\x49\\x7e\\xce\\x0c\\x6f\\x9b\\xe1\\x04\\x4b\\xbd\\xcd\\x0c\\xa4\\xf8\\xe5\\x66\\x18\\xc9\\xca\\xee\\x6a\\x86\\x4c\\x33\\xd8\\xcd\\x70\\xde\\x0c\\xef\\x9b\\xe1\\x4d\\x96\\x60\\x03\\x4b\\x30\\x2d\\x29\\x4d\\x51\\x22\\xd9\\xa5\\x44\\xca\\xbd\\xac\\xe2\\x8d\\x89\\x5a\\x95\\x2a\\xb3\\xcd\\x80\\xcc\\x50\\xc6\\x91\\x54\\xc7\\x59\\x92\\x25\\xac\\x98\\x1a\\xf6\\xde\\xcc\\x5e\\x12\\x40\\xf6\\xb0\\x1a\\xa6\\x32\\x50\\x2b\\x22\\x5e\\x33\\x14\\x9a\\x21\\x66\\x86\\x5f\\xcd\\x70\\xcc\\x0c\\xeb\\xcd\\xb0\\x58\\x79\\x63\\x86\\x0c\\x33\\x98\\xcc\\xc9\\x58\\xd8\\x5c\\x58\\xae\\x19\\x71\\x5d\\xfd\\xcc\\x75\\xe5\\x69\\xa6\\xf5\\xa9\\x4d\\x52\\xcd\\x84\\x2a\\x9a\\x21\\x27\\x10\\xc1\\xd4\\x0b\\x5e\\x28\\xb5\\x86\\x09\\x4d\\x76\\x0a\\xf2\\x87\\x7b\\xf1\\x7f\\x30\\xb5\\xb9\\x10\\xa7\\x8e\\x6a\\x03\\xae\\x62\\xbe\\xff\\x01\\x5c\\xfe\\x9e\\xd0\\xee\\xea\\xa1\\x2d\\xe0\\xde\\xb2\\xf2\\xb6\\xd1\\x49\\x6b\\x59\\x11\\x1a\\x18\\xc9\\x0d\\xa4\\xa7\\x67\\xbb\\x91\\xd3\\xa8\\x56\\xe7\\xe7\\xe6\\x3a\\x8b\\xdb\\xe4\\x32\\x4f\\xc6\\xee\\xfc\\x82\\xfc\\x82\\xca\\x68\\xc0\\x8f\\x8c\\xf9\\xf9\\x3a\\x3f\\xd2\\x25\\xd6\\xb6\\xc2\\xb6\\x6d\\xad\\x6d\\xd9\\x44\\x49\\x5a\\x1f\\x8a\\x1b\\x3c\\x05\\xb2\\x95\\x0e\\x5a\\xae\\x74\\x84\\x13\\x52\\xd6\\xe7\\xb2\\xb0\\x8a\\x9a\\x1c\\x0b\\x54\\x7e\\x76\\x18\\x39\\xe8\\x5a\\x30\\x74\\x79\\x93\\x65\\xef\\xb6\\x77\\x36\\x3c\\xf8\\xe4\\xba\\x65\\xb8\\x2f\\xb7\\x0e\\xdf\\xb7\\xe1\\x99\\xfd\\xbb\\x07\\xc3\\x8e\\xb2\\x9e\\x6d\\x7c\\x2d\\x97\\xbe\\x59\\xa7\\x96\\x3b\\x39\\xfd\\xd2\\x5b\\x6e\\x5a\\x94\\xa2\\x56\\x1f\\x7b\\xce\\xff\\x4c\\xe5\\x30\\xe3\\x31\\x47\\xd7\\xe9\\x28\\x21\\xdb\\xde\\x4b\\xf7\\xd7\\x69\\xb4\\x22\\xd2\\xe6\\xbc\\xd8\\x4f\\xe2\\x0f\\x2c\\x6e\\x54\\x24\\xe2\\x25\\xfc\\xad\\xde\\x6a\\xb3\\xa5\\x18\\x65\\x59\\x9f\\xce\\x7b\\x33\\x8d\\x48\\xf6\\xc8\\x95\\x51\\x8f\\xc9\\xe6\\xd0\\x08\\x95\\x51\\x4d\\x23\\xf7\\x8c\\x42\\xcd\\x7d\\x9a\\x2b\\x21\\x8f\\x43\\xc5\\x8a\\x2f\\x96\\x30\\x3d\\x67\\x46\\x86\\xa0\\xd4\\xda\\x11\\xb2\\xa8\\x15\\x7d\\x88\\xb4\\xed\\xe3\\xf2\\xa2\\x9c\\x0e\\xf6\\x89\\x33\\xd7\\xae\\xc6\\x9b\\xf2\\x5a\\xe3\\xaf\\xda\\x05\\x3f\\xba\\xc1\\x33\\xb1\\x50\\xd4\\xf0\\x0b\\xea\\x0f\\xf4\\x2c\\xd3\\x1f\\x71\\x6d\\x5a\\xc5\\x4d\\x5f\\xf0\\x35\\xde\\xb8\\xff\\x22\\x0c\\x7c\\x71\\xb9\\xff\\xa4\\xd1\\x74\\x94\\xf0\\x7d\\x73\\x09\\xbf\\xbf\\x5d\\xa8\\x44\\x16\\x94\\x46\\x23\\xe7\\x59\\x91\\x8b\\x71\\xf9\\xe9\\x1e\\xa3\\xa3\\x32\\x6a\\x34\\x13\\xd6\\xde\\xdd\\x94\\xb5\\x4f\\x5e\\x9c\\xed\\x5c\\x23\\x17\\x4f\\xb7\\xf9\\xad\\x62\\x09\\x0b\\xb9\\x4b\\xb9\\x3d\\x61\\xfb\\x95\\x77\\x5e\\x9c\\x4f\\x26\\xfd\\x27\\x60\\xff\\xf9\\x11\\xbc\\x0e\\x7f\\x7a\\xd7\\xcc\\xcf\\xa7\\xdf\\x33\\xae\\x96\\x13\\xfe\\x8d\\x3f\\x59\\xdd\\xa1\\x2d\\x1e\\xca\\xff\\xf2\\x07\\x38\\xef\\xc1\\xff\\xd9\\xb1\\xef\\x2d\\xbc\\x07\\x5f\\x5a\\xf4\\x3c\\xe9\\xb3\\x4a\\x82\\x27\\x1f\\x13\\x78\\xfc\\xa8\\x38\\xe2\\xcc\\x30\\x69\\x50\\x8a\\x26\\x25\\x37\\x07\\x99\\x3c\\x7a\\x4f\\x16\\x95\\x39\\x3c\\xe6\\x38\\xcb\\x13\\x52\\x48\\x67\\x23\\xcf\\x19\\xe7\\x78\\x32\\x14\\x57\\x2e\\x0d\\x88\\x20\\x84\\x4b\\xac\\xd4\\x98\\x4b\\x45\\x20\\x33\\x02\\x0c\\xca\\xef\\x37\\xb1\\xd3\\xc0\\x07\\xe6\\x74\\x68\\xbd\\xbf\\xac\\x70\\xf8\\xdd\\x75\\xe3\\x06\\x76\\xc8\\xba\\xfb\\xdf\\x0f\\x7f\\xb5\\xe8\\xce\\x9a\\x49\\x03\\x6e\\xaf\\x82\\x97\\xda\\xf5\\x0e\\xf9\\x1d\\xae\\xfc\\xf5\\xb5\\x1d\\x1f\\xea\\xdc\\xfb\\xe6\\x4e\\x39\\xe1\\x5c\\x5f\\x7a\\x61\\xe4\\xa6\\xf9\\x03\\x0f\\x40\\x9f\\x7f\\xac\\xdd\\x34\\x66\\xd6\\xf7\\x09\\xdb\\x09\\x71\\x00\\x93\\x27\\x52\\x49\\xbf\\xc9\\xb2\\x64\\xd1\\x51\\x7f\\x0c\\x1e\\x9d\\x5d\\x63\\x27\\xa3\\x69\\x4a\\x96\\x88\\x92\\xb0\\x36\\xde\\x6f\\x82\\x97\\x6d\\xab\\x04\\xe8\\x21\\x23\\x47\\x3a\\x88\\x25\\xb9\\x09\\x3f\\xfd\\xc2\\x3d\\xf8\\xeb\\x18\\xc2\\x7f\\xe1\\x6f\\xa0\\x2f\\x84\\xb8\\xdb\\x5f\\xdd\\x31\\xac\\x0a\\x7f\\x3a\\xb6\\xf7\\xa6\\xbd\\x97\\x17\\x2c\\x83\\x7f\\x9e\\xc3\\xe0\\x04\\x2d\\x68\\xc0\\x7f\\x54\\x12\\x6a\\x3f\\xec\\xf3\\xf1\\x91\\x13\\xbb\\xf1\\xb6\\x1d\\x0a\\xad\\xb7\\xc6\\x7e\\xe4\\xa7\\xb1\\xb8\\x70\\xdd\\x23\\x79\\x16\\x0d\\x61\\x1f\\x74\\x4e\\x67\\x8a\\xcb\\x4e\\xb8\\x1b\\xbb\\x93\\xba\\xf2\\xaa\\x8c\\xaa\\x4c\\xe7\\x52\\xe0\\xed\\x14\\xd8\\x96\\x02\\x1b\\x52\\x60\\x5a\\x0a\\x8c\\x4c\\x01\\x65\\xda\\x37\\xba\\xa2\\x56\\xd8\\x09\\x99\\x19\\x5b\\x49\\x71\\xfc\\xf2\\xc6\\xf1\\x8f\\x06\\xef\\x49\\x01\\x30\\x0e\\xdc\\xe8\\x74\\x4d\\x2a\\xe1\\x1e\\xc7\\x67\\x43\\x91\\x9c\\xa0\\x2b\\x7b\\x76\\x3e\\xfe\\x80\\x5f\\xe0\\x32\\x9c\\xd4\\x5b\\x8e\\xd6\\xbf\\xd8\\xad\\x8b\\x7a\\xbf\\xd6\\x4a\\x98\\xa3\\xa5\\x0c\\x2e\\x26\\x4b\\x13\\xb8\\x1c\\xa8\\x5b\\x24\\x60\\x42\\x1a\\xc6\\x73\\x59\\x55\\x26\\x5e\\x4f\\xdd\\x03\\x6f\\x93\\x61\\x83\\x0c\\x97\\x64\\xd8\\x2b\\x83\\xf2\\x7b\\x9a\\x0c\\xbf\\xca\\x49\\x2b\\x4f\\x22\\x5c\\x62\\x83\\x72\\xac\\x49\\xb8\\x46\\x32\\xce\\x1c\\x21\\x43\\x56\\xb2\\x3a\\xd6\\xc7\\x2e\\x7d\\x03\\x29\\x35\\x93\\x67\\x8c\\xe9\\xd3\\x06\\xd2\\x4b\\x6e\\xe0\\xda\\xe3\\xcf\\xf1\\x07\\x5f\\x7c\\x4f\\x03\\x35\\xae\\x5a\\x7d\\xf4\\xeb\\x69\\xe0\\x1a\\x3a\\x1e\\x7f\\xcf\\xc6\\x0f\\x0f\\x15\\x27\\x0a\\x03\\x51\\x0a\\xf2\\xc2\\xc3\\x91\\x98\\x1b\\x65\\x08\\x36\\x41\\x34\\x98\\xcd\\x1a\\x8d\\x88\\x78\\x5f\\x96\\x21\\x4d\\x4e\\x23\\xb2\\x83\\x6c\\xce\\xb0\\x49\\x36\\xc2\\x0a\\x4a\\x4e\\x21\\x75\\xb5\\x0f\\x66\\xf9\\x60\\x88\\x0f\\xba\\xfb\\x20\\xc7\\x07\\x1a\\x1f\\x5c\\xf6\\xc1\\x77\\x3e\\x38\\xec\\x83\\xe5\\x3e\\x98\\xe1\\x83\\xb1\\x3e\\x68\\xeb\\x83\\x80\\x0f\\x9c\\x3e\\x10\\x7c\\x30\\x8e\\xbc\\x7e\\xc3\\x07\\x2f\\xf8\\x60\\xb3\\x0f\\x56\\xb0\\xcc\\x24\\x45\\x2f\\x1f\\x94\\xb2\\xfc\\x4a\\x66\\x92\\xe0\\xa0\\x0f\\x76\\xfa\\x60\\xae\\x0f\\x26\\xf8\\x20\\xea\\x83\\xae\\x2c\\x01\\x29\\xfd\\x8a\\x0f\\x7e\\xf6\\x01\\xbc\\xed\\x83\\xe3\\x2c\\xd1\\x0e\\x1f\\xdc\\xe9\\x83\\xc5\\x3e\\x18\\xc3\\x12\\x95\\xf8\\x20\\xdb\\x07\\x3a\\x1f\\x94\\x5d\\xf2\\xc1\\x79\\x1f\\xbc\\xe9\\x83\\x87\\x58\\x0a\\x02\\xc9\\x70\\x1f\\xf4\\xf1\\x41\\x85\\x0f\\x0a\\x7d\\xc0\\x99\\x7d\\x80\\x7c\\x70\\xce\\x47\\x4b\\x3a\\xe6\\x83\\x3d\\x3e\\xd8\\xe0\\x83\\x69\\x3e\\x18\\xe9\\x83\\x4a\\x96\\x28\\x33\\xe2\\xf5\\x81\\xc9\\x07\\xa4\\x9c\\x2f\\x7d\\x70\\xd6\\x07\\x5b\\x7d\\xb0\\xde\\x07\\x53\\xd9\\xfb\\x22\\xf6\\xaa\\xe5\\x2a\\xa3\\x8c\\x4e\\xcd\\xb5\\x57\\x91\\x9a\\x66\\xc9\\xae\\x91\\x26\\xb1\\xbe\\x34\\x09\\x8c\\xdf\\x54\\x6f\\x1b\\x1f\\x6c\\xd1\\xe2\\xb3\\x64\\x23\\x4b\\x89\\x95\\xe2\\x1f\\x53\\x82\\x52\\x99\\xcb\\x2a\\x9a\\x7d\\x59\\x0e\\x4b\\x27\\x10\\x27\\xe2\\x1f\\xf0\\xdf\\xbf\\xe0\\x18\\xfe\\xed\\xe3\\x1f\\x1c\\xd5\\x63\\x97\\x2c\\x78\\xe6\\xf9\\x63\\xe7\\xf1\\xcf\\xeb\\xe7\\x2f\\x59\\xc3\\x85\\xf1\\xaf\\xf8\\x23\\x03\\x9e\\x00\\x9b\\x74\\x84\\x30\\xe8\\xfe\\x04\\x7b\\xee\\x01\\xd7\\x1b\\x5b\\xf6\\x1e\\xd7\\x70\\xf2\\xc9\\xd3\\xf8\\xb3\\x3f\\x60\\xd2\\x85\\xfa\\x1f\\xa5\\xd7\\x29\\x9e\\x1a\\x88\\x04\\x71\\xb7\\x50\\x45\\x24\\xe0\\xc1\\x91\\x62\\x9b\\xdd\\xee\\xd1\\xa9\\x35\\x1e\\x8d\\xa8\\x35\\x39\\xa4\\xcc\\x0c\\xbb\\x08\\x26\\x53\\x86\\x89\\xd3\\x88\\xe4\\x01\\xef\\x70\\xa8\\xed\\xba\\x54\\xb5\\x09\\xb9\\x69\\x5c\\xd1\\xad\\x99\\x50\\x99\\x09\\x6c\\x0e\\xc5\\xc3\\xbc\\x92\\xe9\\x43\\x17\\x5f\\x4b\\x93\\x18\\x9f\\xb6\\xe2\\x74\\xc8\\x80\\x52\\x22\\x9f\\x6b\\xe2\\xc1\\x3e\\x29\\x83\\x97\\x1b\\xe7\\xf0\\x7e\\xe8\\x3d\\x7e\\xd4\\x68\\xa3\\xdb\\xfb\\x10\\x04\\xf0\\x6a\\x78\\x04\\xbf\\xff\\x6a\\x61\\x8a\\xa6\\xc4\\xf8\\x21\\x7e\\x1f\\x4e\\xcc\\x0e\\x47\\x4a\\xfd\\x81\\x56\\xad\\x06\\x0b\\x55\\x9d\\x37\\x7f\\xd5\\xba\\x77\\x67\\xe8\\x56\\xdf\\xff\\xea\\xdb\\xb0\\x77\\xec\\x30\\xcf\\x62\\x0f\\xee\\xc3\\x77\\xfc\\x7d\\xf2\\xd8\\x80\\xf9\\x98\\x62\\x4b\\xb4\\x94\\xe0\\xf6\\x4a\\xb1\\x03\\xe1\\x50\\x67\\x44\\x62\\xa2\\x64\\xb5\\x20\\x9d\\x53\\xa7\\xb7\\xe8\\x25\\xde\\x9d\\x82\\x9c\\x06\\x67\\x65\\x54\\x6b\\x70\\xca\\xb2\\x68\\x31\\xe9\\x52\\x07\\xb9\\xa1\\xbb\\x1b\\x9c\\x6e\\xf8\\xcb\\x0d\\x3f\\xb8\\xe1\\x43\\x37\\x3c\\xe7\\x86\\x27\\xdc\\xf0\\x90\\x1b\\x56\\xb8\\x61\\xb4\\x1b\\x94\\x04\\x29\\x6e\\xd0\\xb9\\x61\\xc2\\x1f\\x6e\\x38\\xdf\\x34\\xd1\\xac\\xa4\\x44\\x76\\x37\\x48\\x49\\x6f\\x37\\xbb\\x61\\x2e\\xc9\\xe3\\x86\\x5e\\x6e\\xc8\\x72\\x03\\x98\\xdd\\x20\\xb8\\xe1\\x33\\x37\\x9c\\x75\\xc3\\x0e\\x37\\x6c\\x74\\xc3\\x7c\\x16\\x03\\xae\\xc6\\x0d\\x11\\x37\\x94\\xb8\\xe3\\x09\\xda\\x5e\\x71\\xc3\\x39\\x37\\xbc\\xef\\x86\\x17\\xdc\\xf0\\x94\\x1b\\xee\\x64\\xb1\\xe2\\xc6\\xb8\\xa1\\x8f\\x1b\\x52\\x93\\x9e\\xcf\\x48\\x3c\\xac\\x70\\x03\\x87\\xdc\\xf0\\xb6\\x1b\\x8e\\xb9\\x61\\x0f\\x13\\x2d\\x1b\\x82\\xcb\\x99\\x0f\\xb9\\x81\\xbc\\x53\\x27\\x61\\x6f\\xcd\\xff\\x42\\xca\\xea\\xda\\x86\\xf7\\xb5\\xd7\\xe5\\x90\\xe2\\x68\\x1b\\x2a\\x6c\\x82\\xb3\\x0d\\x6b\\xb5\\xbf\\x13\\xc7\\x68\\x93\\x24\\x92\\x6b\\x76\\x9c\\x4e\\xc9\\x16\\x2f\\x7f\\x47\\xcd\\x2d\\x05\\x60\\xbb\\x8c\\x2f\\xe3\\x7a\\x7c\\xf9\\x2f\\xb0\\x8d\\x5f\\x05\\xb0\\x17\\xda\\x2d\\xac\\xe3\\x46\\xd6\\x6f\\x88\\x7d\\xc1\\xe1\\x49\\xb0\\x89\\xfb\\xe6\\x2f\\x6e\\x5a\\xfd\\xa3\\x0f\\xdd\\x29\\x08\\x77\\xd2\\xb1\\x1c\\x10\\xfb\\x49\\xaa\\x25\\xeb\\x61\\x2e\\x4c\\x8a\\xc4\\x24\\x83\\x2d\\x37\\x37\\x27\\xc3\\xe5\\x4a\\xcb\\xd1\\x18\\xc4\\x40\\xab\\xb9\\x01\\xc8\\x09\\x74\\x0f\\x0c\\x09\\x8c\\x0d\\x08\\x9a\\x00\\xfc\\x15\\x80\\xc3\\x81\\x93\\x81\\xef\\x02\\xfc\\xea\\xc0\\x03\\x01\\xae\\x2e\\x00\\x63\\x02\\x30\\x24\\x00\\x81\\x40\\xdb\\x00\\x27\\x04\\x60\\xfc\\xe5\\x00\\x7c\\x12\\x80\\x37\\x03\\xf0\\x04\\x7d\\x3e\\x36\\xb0\\x22\\xb0\\x39\\x20\\xb4\\x0d\\x80\\x14\\xc8\\x09\\x70\\xdf\\x05\\x2e\\x07\\xb8\\x37\\x02\\xf0\\x42\\x00\\x76\\x04\\x80\\xbe\\xe2\\x26\\x04\\x60\\x78\\x00\\x7a\\xd1\\x5a\\x4a\\x03\\x1c\\xa9\\xe1\\x87\\x00\\x7c\\x16\\x80\\xcd\\x01\\x5a\\x0d\\x4f\\x6a\\x9f\\xc4\\xca\\x2f\\xa1\\x09\\x80\\xbc\\x2e\\xbf\\x12\\x80\\xaf\\x03\\x84\\x62\\x05\\xe0\\x44\\x00\\x9e\\x0a\\xc0\\xd6\\x00\\xcc\\x67\\x50\\xf4\\x09\\x40\\x45\\x00\\x52\\x03\\xc1\\x00\\x77\\x89\\x08\\x37\\x7b\\x03\\xc7\\x03\\xe7\\x02\\x3c\\x79\\x5d\\x15\\x18\\x19\\x58\\x12\\xe0\\xc9\\x4b\\xb2\\x1a\\x56\\x06\\x6a\\x02\\x8b\\x03\\xc7\\x02\\x5f\\x06\\x44\\x72\\xa7\\xe6\\x73\\x72\\x1c\\x5a\\x3e\\xcb\\x91\\x45\\xcd\\xf7\\x1c\\xce\\xb4\\x67\\x35\\x5a\\xcd\\x80\\x68\\x2a\\x0d\\xf5\\x9f\\xa0\\x19\\x8d\\x81\\x07\\x80\\xce\\xb7\\x66\\x42\\x18\\xa5\\x4e\\xd7\\xa2\\x5b\\xd7\\x90\\xc5\\x12\\xe7\\x50\\xe2\\x7e\\xb9\\x1b\\xc2\\xef\\x95\\x11\\xd9\\x88\\x08\\xf9\\x99\\xb9\\x4a\\x58\\xb0\\x12\\x14\\xa7\\x41\\x2c\\x60\\x8a\\x97\\xff\\x66\\xc4\\xe0\\x51\\x37\\xdf\\x31\\x57\\xfe\\x0b\\xf4\\xe7\\xcf\\xe2\\x9f\\x7a\\x08\\x3d\\xf0\\x4f\\x67\\xcf\\x83\\xfe\\xbf\\xf2\\xac\\x55\\xd5\\x35\\x43\\x46\\x01\\x07\\x9f\\xae\\x7b\\x78\\xfb\\xc1\\xc7\\xde\\x95\\x5f\\xf2\\xe3\\xb7\\xff\\x43\\x88\\xd4\\xf7\\xbf\\xfc\\x02\\x2e\\x80\\xcb\\x50\\xe8\\x7f\\x41\\x3e\\xf3\\xf8\\xa1\\xed\\x0f\\xaf\\x7d\\x41\\xb1\\x95\\xf9\\x84\\x2c\\x4c\\x63\\xc4\\x35\\x09\\xfd\\x34\\x9a\\xf8\\x46\\x7c\\x47\\x45\\xab\\xb5\\xe4\\x70\\x60\\x3c\\x12\\xfb\\xea\\xa0\\x51\\x1f\\xb7\\x97\\x89\\x6f\\xc5\\xa0\\x84\\xae\\x9a\\xe5\\x63\\xba\\x6a\\x34\\x11\\xfd\\x96\\xd8\\x8b\\x71\\x3a\\x69\\x4e\\xf7\\x91\\xd8\\xbf\\x0e\\xba\\x5d\\x71\\x75\\x75\\x93\\xbd\\x98\\x7b\\xa9\\x3e\\x9c\\xf2\\xab\\x4c\\x7f\\x3e\\x24\\xbe\\x17\\x43\\x73\\x39\\x23\\xce\\x14\\x25\\x47\\x42\\x7f\\xae\\xd4\\x73\\xbe\\x41\\x27\\xde\\x16\\x5c\\x71\\x7d\\x3b\\x49\\x0f\\x4e\\x6d\\xf3\\xf4\\x0c\\x77\\x59\\xfa\\xf9\\x4a\\x7a\\x6e\\x78\\x3c\\x7d\\x2b\\x92\\xbe\\xd5\\x90\\x56\\x41\\x97\\xa1\\x21\\x3d\\xe2\\xd1\\x38\\x52\\xfe\\x22\\xf1\\x03\\x22\\xab\\xb6\\x42\\x25\\x68\\x5c\\xa4\\x63\\x00\\xa5\\x1b\\x0a\\x9d\\x4e\\x49\\xb2\\xf9\\x0c\\x48\\x2c\\x0d\\xa7\\xe6\\x57\\x45\\x57\\xe4\\xc0\\xb8\\x9c\\xd9\\x39\\x5c\\x8e\\xd9\\x85\\x52\\x41\\x97\\x6a\\x4e\\x35\\xf3\\x13\\x32\\xa1\\x67\\xe6\\xb0\\x4c\\x2e\\xd3\\xa4\\x05\\x03\\xaf\\xe5\\x8b\\x6f\\x4c\\xf0\\x5e\\x54\\x69\\x13\\xaa\\xae\\x66\\xe7\\x08\\x46\\x54\\x93\\xb1\\xad\\x6e\\x16\\x14\\x92\\x71\\x63\\xd4\\xc8\\xa5\\xc4\\x9a\\x9d\\x88\\xef\\xa2\\xa8\\x2c\\x65\\xa6\\x69\\x52\\x82\\x26\\x31\\xc5\\xb4\\x2d\\xc9\\xfc\\x5f\\x58\\x84\\x7f\\xfb\\x0e\\xff\\x8d\\xbf\\xd9\\x08\\xad\\x9e\\xbf\\x7f\\xef\\xd1\\xed\\x03\\x1e\\x29\\x74\\xf9\\x84\\xb2\\xa7\\xab\\xbf\\xb8\\x84\\x3f\\x5f\\x10\\xa9\\xcb\\x70\\xdc\\xd2\\xb3\\xa2\\x7f\\xca\\xec\\x29\\xb7\\x2e\\x9c\\x3f\\x6e\\xea\\x4c\\x78\\xe8\\xcd\\xf3\\xb0\\x02\\x26\\x7d\\x07\\x03\\x5e\\x9e\\x3d\\x79\\xee\\xea\\x9c\\xf4\\xa2\\x6d\\xed\\xba\\x65\\x95\\xf7\\xfa\\x8a\\x5b\\xda\\xb1\\x75\\xb6\\xd5\\xed\\xbb\\x7a\\x76\\xfc\\x8c\\x99\\xe3\\x6e\\x9d\\xcd\\x0c\\xb0\\x39\\xe4\\x22\\x7d\\xb1\\x8b\\xf4\\x45\\x3e\\x0a\\xa3\\x31\\x91\\xf2\\x82\\x60\\x56\\x10\\x42\\x39\\xa9\\x6a\\x59\\x6f\\xd5\\xab\\x73\\x40\\x2c\\x2b\\x0d\\x14\\x55\\x45\\x21\\xab\\x20\\xab\\x2a\\x1a\\x2c\\xb0\\x5b\\xaa\\xa2\\x76\\x63\\x55\\xb4\\xc0\\x5e\\x60\\x17\\x4d\\x01\\xd2\\x09\\x01\\x31\\xbd\\x2a\\x2a\\x36\\x76\\x82\\x35\\x1e\\x14\\x15\\x35\\x84\\x68\\x6f\\x16\\x30\\x05\\x7c\\x12\\xa7\\x1c\\x7d\\x28\\x63\\x6e\\x05\\xa4\\x78\\x4c\\x7c\\xbb\\x4a\\x69\\x32\\x91\\xa6\\xd8\\xb6\\x7b\\x69\\x28\\xd3\\x12\\xf2\\x26\\xba\\x42\\xd8\\x35\\x5d\\xbf\\xee\\xc2\\x03\\xcf\\x1d\\x35\\x99\\xda\\x39\\xba\\xca\\x43\\x27\\x8f\\xaf\\x33\\x99\\xba\\x57\\xf4\\x5f\\xd0\\x4f\\xd8\\x89\\xff\\xbb\\xf4\\xd3\\xa7\\x61\\xe7\\x74\\x7c\\xef\\xc0\\xc1\\x5d\\xfb\\x3d\\xc6\\x9d\\x3a\\x8f\\x9f\\xf9\\xc7\\x9d\\x77\\xe4\\xf5\\xee\\x95\\x5d\\xec\\xb4\\x9c\\x2c\\x1e\\x17\\xcd\\xef\\xd3\\xa7\\xa0\\x5b\\xe9\\xa2\\xbf\\x1e\\x1c\\xff\\xd2\\x92\\xc7\\x4e\\xd5\\x9f\\x78\\x65\\x57\\xf7\\xee\\x63\\x99\\xef\\x0e\\xba\\xbf\\x28\\xe9\\xc4\\xc3\\xc8\\x8a\\xc2\\x64\\x71\\xe0\\x44\\x41\\xe0\\x0c\\xbc\\xdd\\x66\\x34\\x0a\\x92\\xc4\\x09\\x5a\\xf3\\xc8\\xa8\\x56\\xe0\\x39\\x6a\\xf3\\x75\\xa2\\x49\\xf8\\xc9\\x86\\xa8\\xde\\x71\\x25\\x95\\xe2\\x87\\x85\\x32\\xff\\x2a\\xbe\\x02\\x7f\\x8a\\xb5\\x10\\x86\\x81\\xa0\\x6d\\xbb\\x6c\\xc4\\xd0\\x5d\\x9d\\xa6\\xde\\x38\\xa0\\x7d\\x0e\\xd7\\xa5\\xfe\\x28\\xd7\\x85\\xaf\\xa8\\xdf\\x0d\\x67\\xc7\\x0c\\x19\\xd8\\xf9\\xe0\\x80\\x0a\\x82\\xbb\\x19\\x08\\xa9\\xce\\x8b\\xa7\\xcd\\xb9\\xfc\\x32\\xf8\\x84\\x61\\x6f\\x71\\xac\\x3b\\x81\\x4c\\x7b\\x90\\xcc\\x29\\x3e\\x87\\xce\\xa1\\xc4\\x3e\\xa8\\xa4\\xa3\\xfb\\xa0\\xfc\\xb2\\xf8\\x3e\\xe8\\xf0\\xc4\\xdc\\x73\\xbb\\xe9\\x3e\\xa8\\xeb\\x48\\xec\\x81\\x83\\x2e\\xa7\\x60\\x68\\x36\\xf7\\xc8\\x1a\\xbd\\x4f\\x3c\\x6d\\x95\\xb8\\x76\\x6c\\xbc\\xfb\\x93\\xb9\\x32\\x8b\\xf0\\xc8\\x36\\x14\\x40\\xc3\\x22\\x41\\x5f\\x56\\x96\\x99\\xe3\\x45\\xab\\x2d\\xd5\\x6c\\x17\\x45\\x73\\x30\\x2f\\x2b\\x0b\\x69\\x75\\x3a\\x03\\xe2\\x5d\\x36\\x64\\xa3\\x51\\xc4\\x73\\xd3\\x0d\\xe9\\x95\\x51\\xb5\\xc1\\x99\\x14\\xce\\xb9\\x31\\xae\\x7c\\xb2\\x49\\x33\\x3b\\xb1\\xd7\\xe0\\xd1\\xcb\\xd9\\x84\\x9c\\x95\\xf9\\xa8\\x86\\xde\\x9b\\x44\\xd2\\x94\\x1f\\xfd\\xa5\\x56\\x73\\x67\\x24\\x51\\xb4\\xe9\\xb3\\x44\\xa9\\x53\\x9b\\xab\\xff\\x6d\\xd3\\x49\\xa1\\x6a\\x23\\x06\\x8f\\x1c\\x21\\xb4\\x7b\\xf3\\xe1\\xb7\\x1a\\x09\\xda\\xe9\\x2d\\xf8\\xc1\\xba\\x53\\x05\\xad\\xdf\\x98\\x4a\\x49\\xda\\xe3\\x8f\\xaf\\x7b\\x78\\xa7\\x12\\xe3\\x59\\x1c\\x28\\xf4\\x42\\x21\\x32\\x9f\\xcb\\x0b\\x32\\x9d\\x45\\x6e\\xb0\\x88\\x9c\\x4e\\xe7\\xce\\xcc\\x11\\xc5\\x70\\x89\\x56\\xeb\\x44\\xc8\\xe9\\x70\\x38\\x33\\x32\\x38\\xa7\\x89\\x73\\x18\\xd5\\x34\\x6e\\x48\\x81\\x87\\xa0\\xb2\\xd3\\x97\\x5b\\x15\\xf5\\x05\\xc8\\xa7\\x79\\xc8\\x2b\\xaa\\x12\\x48\\x36\\xdd\\x6e\\xd8\\x06\\x09\\x29\\xd1\\x29\\xbd\\x54\\x33\\x41\\x47\\xbc\\xd1\\x41\\xbc\\x0c\\x5e\\x49\\x09\\x41\\x5f\\xd6\\x34\\xe6\\x95\\xa2\\x20\\xe0\\xcf\\xd4\\x9f\\xc4\\x8f\\x8f\\x9d\\x11\\xe9\\x5c\\x50\\x94\\x95\\x3e\\x33\\xf7\\xde\\x47\\x8b\\xca\\x45\\xae\\x10\\xa6\\x4c\\x98\\x17\\xe9\\xdc\\xb9\\x7c\\x8b\\xe2\\xab\\xa4\\x7b\\x9f\\x29\\x75\\x45\\xe5\\xdc\\xb1\\xfa\\xce\\xab\\x60\\xc8\\xe3\\x53\\xc7\\x1a\\x2f\\x68\\x0c\\xcf\\x3d\\x79\\xe3\\xde\\xe9\\x1c\\x77\\xfa\\x2e\\xfc\\xe8\\xe3\\xb5\\xa3\\x8d\\xf8\\x6d\\xc5\\x9b\\x49\\xe7\\x0e\\xbd\\xe4\\x3d\\x77\\x91\\x57\\x89\\xd8\\x95\\xd4\\x96\\xcf\\x44\\x64\\xc5\\xf2\\x48\\x9a\\x09\\x39\\x05\\xb3\\x4e\\x40\\x3a\\xde\\x93\\x86\\x20\\xa2\\xb2\\xd5\\x44\\x55\\x02\\x11\\x5b\\xa2\\x46\\xb0\\xc6\\x37\\x04\\x83\\xc8\\xed\\x32\\x9f\\x69\\x6a\\x76\\x4d\\x59\\x60\\x33\\xf2\\x16\\x0b\\x56\\x07\\x65\\x89\\x93\\xed\\xf1\\xb8\\x55\\xf8\\x0f\\xfc\\x31\\xb5\\xc2\\xfb\\x02\\xba\\x3c\\x81\\x3f\\xc4\\x97\\x41\\x95\\xb0\\xc4\\xc3\\x43\\x61\\x5b\\x2b\\x58\\x08\\x41\\x6a\\x86\\xf7\\x34\\x7e\\xee\\x33\\x32\\x09\\x96\\xe5\\xe3\\x1a\\x61\\x5a\\x53\\x7b\\x3c\\x45\\x26\\xa2\\xfa\\x0b\\x16\\x7b\\x37\\x1c\\x49\\x35\\x22\\xbb\\x60\\xa2\\xfe\\x68\\xf9\\x54\\x37\\x4a\\x55\\x59\\x89\\xf4\\x68\\x06\\x79\\x60\\xd4\\x00\\x8e\\x06\\x30\\x93\\x82\\x16\\x29\\x40\\x32\\xcb\\x04\\xaf\\x62\\xbd\\x60\\xa1\\x14\\x33\\x53\\x11\\xd2\\xe0\\xbb\\x97\\x3f\\x80\\x4c\\xe0\\x89\\xe8\\x2a\\xbf\\xf7\\xf2\\x6d\\x8b\\xe6\\xc4\\xd0\\xc2\\x59\\xcb\\x17\\x13\\xe8\\x1e\\xf3\\x43\\xd6\\xbf\\x40\\x84\\x20\\xfe\\x12\\xff\\xfb\\x5f\\xf8\\x5c\\x0e\\xae\\xe6\\x4f\\xbd\\xfc\\x0c\\xbe\\xfb\\xd0\\x4b\\xcf\\x2a\\x72\\xed\\x02\\x84\\xc4\\xe9\\xa4\\xff\\x5c\\xa8\\x6b\\x24\\xcb\\x85\\xac\\xa2\\x5e\\x27\\x92\\xde\\x73\\xa7\\xe8\\xf5\\x1a\\x59\\x46\\x1a\\x07\\xd4\\x44\\x1d\\x0e\\x0d\\xb2\\x6a\\x4c\\x35\\x51\\x8d\\x90\\x88\\xbc\\x5c\\x78\\x0d\\xc2\\xa0\\x18\\xc5\\x51\\xed\\x10\\x21\\xf7\\x99\\x36\\xb1\\x61\\xd7\\x86\\xe0\\x05\\xb7\\x69\\xc7\\xef\\xb7\\x6f\\x06\\xff\\x19\\xf8\\x65\\x29\\xbe\\xea\\x7d\\x79\\xd9\\x33\\xcf\\xbe\\xb5\\xa7\\x77\\x15\\x8a\\x39\\xb6\\xfd\\x7d\\xdf\\x11\\xd0\\xad\\xc3\\x73\\x7a\\x4c\\x5c\\xb8\\xff\\xd9\\x9d\\xc7\\xed\\xd8\\x40\\xe1\\xa2\\xfd\\x55\\x48\\xfa\\x2b\\x9f\\xea\\xd3\\x8d\\xb9\\x0e\\x35\\x52\\x67\\x14\\x98\\x4c\\xba\\xdc\\xdc\\x6c\\x9d\\x8e\\x74\\x97\\xce\\x9c\\x9d\\x57\\x15\\xcd\\xbe\\x66\\xf0\\xe5\\x62\\x25\\xe0\\x8d\\x48\\xdd\\xb4\\xf2\\xe1\\x26\\xf1\\x97\\xd9\\xb6\\x0d\\xef\\xb0\\xb3\\x33\\xe4\\x61\\xb6\\xf4\\xf0\\xb6\\xc8\\xd0\\xa7\\x0f\\x2c\\xee\\x97\\x74\\x5e\\x62\\xd2\\x6d\\x79\\x55\\xb5\\x3d\\x7a\\xaf\\x99\\x14\\xe9\\xb9\\xe4\\xc0\\xac\\xa3\\xef\\xf7\\xfe\\x78\\xf8\\xfc\\x59\\x63\\xf2\\x8a\\xe4\\xbc\\xee\\x53\\xf7\\x2c\\x03\\x35\\xb4\\x62\\x67\\x27\\x9e\\x78\\x6c\\xf0\\xe4\\x6e\\xf9\\x4e\\xb9\\xb0\\xe7\\x6d\\x83\\x3b\\x2f\\xab\\x6e\\x53\\xf4\\x7d\\x9a\\xbf\\x83\\xb2\\xd7\\x20\\xdc\\x2f\\x2e\\x45\\x3a\\x14\\x89\\x64\\xa8\\x74\\x1a\\x9e\\x27\\x08\\xa9\\x13\\x0c\\x7a\\xf2\\x5c\\xd4\\x70\\xa4\\x1f\\x35\\xa2\\x60\\x15\\xd5\\xd4\\xb4\\xb6\\x45\\x87\\x36\\xdb\\x04\\x09\\x33\\x23\\x43\\x66\\x70\\xcb\\x77\\xc7\\x13\\xf1\\x27\\x82\\xa9\\xde\\xc5\\xbd\\x04\\x2b\\x5e\\xa8\\x3f\\x26\\x2e\\x3d\\x8f\\x57\\xe1\\x51\\x6c\\x1c\\x57\\xe1\\xa1\\xfc\\x20\\xb6\\xff\\x70\\xcd\\x3a\\x2b\\x59\\x9d\\xa9\\x22\\x21\\x01\\xa2\\xe9\\xff\\xa8\\xd3\\x4f\\xdd\\x1f\\xc4\\xeb\\xe4\\x6e\\x7d\\x13\\xff\\xc2\\x9d\\xc6\\xdd\\x61\\xfd\\xb0\\x63\\xf5\\x11\\xf1\\x9b\\x37\\xf1\\x54\\x3c\\x8f\\xd4\\x97\\x11\\xfb\\x49\\xfc\\x4e\\xdc\\x88\\x0a\\x68\\x1c\\x69\\x64\\x11\\x5d\\xbe\\x80\\xc7\\xe7\\x11\\x75\\x42\\x61\\x6b\\x7b\\x41\\xbe\\x5c\\x40\\xfe\\x19\\x73\\x72\\xb2\\x46\\x46\\x73\\x32\\x6b\\xa2\\x39\\x82\\x51\\x3b\\x32\\x6a\\x24\\x0d\\x36\\xda\\x12\\xf4\\x26\\x1e\\x8f\\x51\\x39\\x7b\\xd6\\x4c\\x09\\x6a\\xe4\\xe3\\x7e\\x72\\x94\\x90\\x45\\x25\\xb6\\x32\\x09\\x11\\x82\\xc3\\x2b\\x94\\x27\\xdc\\x40\\x79\\x40\\xdc\\x6c\\x2b\\x29\\xf4\\x56\\x74\\xce\\x6f\\x9f\\xb9\\x39\\x7b\\xcd\\x03\\x1d\\x1d\\xab\\xeb\\xbf\\xfc\\xd3\\x63\\x2b\\xca\\x4b\\xeb\\xd4\\xa5\\xa0\\x9d\\x77\\x13\\x79\\xe6\\xf6\\xf3\\x0f\\x0b\\x57\\xe6\\x5c\\xf9\\xf7\\xa7\\x43\\x06\\xf6\\x34\\x7d\\xae\\xd6\\xaf\\x9e\\xb1\\x1e\\xf2\\xa7\\xf5\\xc0\\x8f\\xed\\xd1\\xcd\\xf9\\xf6\\xa3\\x13\\x0d\\x4f\\x3b\\xbf\\xf2\\x3c\\xa7\\xf8\\x9c\\xf7\\x90\\x3e\\x4b\\x63\\xbe\\x21\\x68\\x9c\\x63\\x00\\x5e\\xa3\\x92\\x24\\xb5\\xa0\\x11\\x74\\x5a\\xb5\\x50\\x15\\x55\\xab\\x39\\x09\\x38\\x87\\xa2\\x3e\\x0d\\xb6\\x70\\x9a\\xaa\\x01\\x9f\\xcd\\x1b\\x86\\x10\\xef\\x15\\xd2\\xf0\\xa7\\x17\\xcf\\xd5\\xb7\\x81\\xc0\\xc5\\x8b\\xdc\\x87\\x7c\\xfa\\xd5\\xaf\\xb9\\x89\\x6d\\xf8\\x36\\xf5\\xcb\\xa8\\x3e\\x09\\x47\\x25\\x37\\x99\\x77\\x69\\xa8\\x77\\xc4\\xe4\\x76\\x58\\x2c\\x1a\\x3e\\xc5\\x6e\\xd0\\x88\\xe9\\x1e\\xd9\\x7d\\x04\\x6c\\x11\\x57\\xd4\\xea\\xa8\\x89\\x72\\x2e\\x9b\\x6c\\xb5\\xca\\x36\\x17\\x27\\xea\\x45\\x11\\x11\\x84\\x51\\x66\\xa0\\xf9\\x44\\xfc\\x94\\x78\\xb0\\x91\\xdb\\x60\\x96\\x4d\\xaa\\x5c\\x7a\\xc0\\xce\\x4a\\x88\\x99\\x98\\x9b\\x0f\\xd6\\x8e\\x00\\xb9\\x90\\x93\\x4b\\x2e\\xad\\x81\\xbb\\x03\\xff\\xf0\\xfd\\x0c\\x30\\xc2\\x02\\x82\\xc0\\xf7\\x7d\\x89\\x87\\xe0\\x76\\x53\\x41\\x0b\\x45\\xeb\\xea\\x37\\x8e\\xe0\\x0e\\x39\\x0b\\xea\\x03\\x23\\xb8\\x67\\xab\\xce\\x08\\x4f\\x7d\\xfa\\xd9\\xc5\\xdf\\x70\\x37\\x22\\xf7\\x0f\\xc6\\x03\\x32\\xde\\xe3\\xd7\\x43\\xab\\x0b\\x02\\x7e\\xef\\x30\\x54\\xdd\\x36\\x14\\x6f\\x3f\\x0c\\xfd\\x07\\x74\\xa5\\xe3\\x8f\\x87\\x08\\xeb\\xc4\\xf7\\x90\\x13\\xb5\\x8f\\x18\\xb4\\x22\\xb2\\xe8\\x35\\x02\\xdd\\x78\\xd2\\xb2\\x40\\x67\\x96\\xa8\\xc8\\x91\\x8e\\xe2\\xb5\\x44\\xa0\\xe7\\xd5\\x82\\xc1\\x91\\x9a\\x08\\xfa\\xd1\\x08\\x31\\x33\\x21\\x2e\\xc9\\x15\\x73\\xfd\\x39\\xec\\xe2\\x2f\\x13\\x90\\x95\\x92\\x36\\xd1\\xca\\x2f\\x93\\xf1\\xf2\\x1a\\xd8\\x96\\xd5\\x0e\\x8f\\x1a\\x01\\x75\\xaf\\xe3\\x47\\x1e\\x87\\x09\\xf0\\xc8\\x2b\\x99\\x6e\\xfc\\xf9\\x8d\\x0b\\xd7\\x2f\\x7f\\xe1\\xf5\\xb7\\x86\\x8f\\x38\\x7d\\xec\\xb9\\x13\\xf3\\x5e\\x5b\\x87\\xb7\\xe1\\x2c\\xfc\\xcc\\x14\\xfc\\x65\\x5d\\x0d\\xb8\\x15\\x9a\\xb6\\x19\\x0f\\x55\\x45\\xc9\\xfc\\x0b\\xa2\\xca\\x48\\x2b\\x7d\\x7a\\xaa\\xc3\\x9a\\x2d\\x8a\\xb9\\x56\\x94\\x9a\\x2b\\x14\\xe4\\x4b\\x7a\\xbd\\xc9\\x86\\x08\\x55\\x43\\x26\\x7f\\x9a\\x8d\\xf7\\xba\\x4c\\xae\\x51\\x51\\x0d\\x79\\xd4\\x28\\xf7\\x98\\x4f\\x5c\\x63\\xe7\\x88\\x75\\xb0\\x2d\\xec\\xa5\\x0b\\x1b\\x43\\xcb\\xdc\\x78\\x3c\\xad\\x84\\xa6\\xac\\xc9\\x0f\\xf2\\x6e\\xb3\\xf0\\xcb\\x6d\\x3d\\xda\\xed\\xbc\\x63\\xd6\\x03\\x05\\x83\\x8e\\xcd\\xd9\\x73\\x0a\\x72\\x6e\\x9a\\x34\\x76\\x41\\xfc\\xda\\xaa\\xe7\\xe6\\x75\\x78\\xe8\\x85\\xa1\\x8b\\xe7\\x0e\\xac\\x1c\\x34\\x28\\x5a\\xf9\\xc5\\x2b\\xfc\\xe5\\xab\\x37\\xdd\\x73\\xe7\\x8e\\x95\\xfc\\xfd\\x89\\xef\\xbf\\xef\\xdd\\xfe\\xca\\x30\\xda\\x9e\\x09\\x78\\xa8\\xb4\\x8e\\xcc\\xed\\x3c\\x34\\x30\\x92\\x67\\xf5\\x65\\xa6\\xba\\x5a\\x69\\xb5\\xc8\\x25\\x66\\x22\\x21\\x3f\\x68\\xb5\\xa6\\xe8\\xf4\\x7a\\x47\\xc0\\x9b\\x62\\xf2\\x7b\\x1c\\x64\\x71\\x37\\x39\\x9c\\xa2\\x44\\xa6\\x79\\xd3\\x80\\xd8\\x8a\\xf9\\x5e\\x53\\x72\\xad\\x58\\x71\\x53\\x58\\xbd\\x4a\\xbb\\x7c\\xcd\\x1a\\x96\\xd8\\x6c\\x8a\\x7f\\x4b\\xeb\\xfa\\xdc\\x7f\\xef\\x95\\x01\\xc2\\x98\\x49\\x37\\x0a\\xc1\\x07\\x97\\x2f\\x58\\xeb\\x2e\\xdd\\xb2\\x7c\\xcb\\x4e\\x90\\x77\\x0c\\x99\\xa8\\x5c\\x52\\xb4\\xdb\\x8e\\x0d\\x3a\\x33\\x79\\xf9\\x63\\xe3\\xc6\\x4c\\x9c\\x3e\\x73\\xfc\\x47\\x6f\\x70\\x7b\\xea\\x1f\\xc5\\xdf\\x3c\\xb9\\x94\\x1b\\x40\\xbf\\x9f\\x59\\xc3\\x51\\xdc\\x59\\x48\\xd6\\x1c\\x87\\x78\\x0f\\x72\\xa3\\x9e\\x11\\x3f\\xa1\\xec\\x26\\x51\\xa3\\x51\\xab\\x4d\\x69\\xa9\\x5a\\xad\\x46\\xe2\\xf5\\x35\\x51\\x9e\\x27\\xdf\\x1a\\xab\\xcd\\x59\\x13\\xb5\\xb9\\xc8\\x47\\x40\\x8d\\x01\\xd8\\x5a\\xd2\\x2c\\xc5\\xe8\\x85\\x2d\\x33\\x94\\x64\\x49\\xd4\\x04\\xa2\\x84\\x1d\\x5b\\xa4\\xac\\xa9\\x04\\x0f\\x3c\\xba\\xed\\xce\\xd5\\x90\\x8b\\x3f\\x39\\xf2\\x8f\\xbf\\xf0\\xb7\\xd3\\xde\\x5a\\x39\\x76\\xb0\\x2f\\xa7\\xe7\\x6d\\xb7\\xf2\\xaf\\xae\\x59\\x5f\\xca\\x3d\\xfa\\xf7\\x62\\xce\\x14\\x01\\xd5\\xcf\\xf7\\x9e\\x9d\\x62\\x79\\x57\\xb5\\x90\\xc0\\xb7\\x86\\xcc\\xff\\x1a\\xf1\\x7d\\x42\\x07\\x3a\\x46\\xbc\\xf6\\xff\\x0f\\x67\\xef\\x01\\x1f\\x55\\x95\\xfe\\x0f\\xdf\\xe7\\xd6\\x69\\x77\\x6e\\x99\\x3e\\x93\\xc9\\xb4\\x34\\x48\\x20\\x21\\x3d\\xb4\\x0c\\x1d\\x14\\x48\\x40\\x04\\x47\\x85\\x24\\x8a\\x88\\x8a\\x0a\\x88\\xc0\\x82\\x08\\x28\\x22\\x88\\x8a\\x85\\xc5\\x2e\\xb8\\xa0\\xa2\\xa2\\x20\\x62\\x57\\x40\\x45\\xec\\x8a\\x2b\\x56\\xc4\\x2e\\xac\\xa2\\x0b\\xae\\xa8\\x2b\\x64\\x4e\\xde\\x73\\xce\\x9d\\x99\\x4c\\x0a\\xee\\xef\\xff\\x7e\\x02\\xc9\\xcc\\xbd\\xe7\\x9e\\x7b\\xea\\xd3\\xce\\xf3\\x7c\\x1f\\x09\\xaf\\xaa\\xa0\\x64\\x0f\\x72\\xa1\\x5c\\x8b\\xda\\x98\\xb0\\x60\\x55\\x20\\x60\\xf1\\x90\\xec\\xda\\x1e\\xf0\\x58\\xc8\\x89\\xee\\x6e\\x2a\\xff\\xa7\\x13\\x2d\\x67\\x33\\xc3\\xd4\\x48\\xaa\\x91\\x54\\x9e\\x32\\x31\\x08\\x99\\x35\\xc2\\x0d\\x2f\\xdd\\x36\\x6f\\xf3\\x33\\x30\\x28\\xb0\\x34\\xaf\\x6f\\x69\\x3c\\x9e\\x38\\x6f\\xda\\x12\\xf0\\xb1\\x7d\\xcf\\x98\\xba\\xef\\x6d\\x18\\x0e\\x33\\x2d\\xd2\\xc7\\xb6\\xd1\\xc3\\xfe\\xbc\\xeb\\xaa\\x2d\\x2b\\xd9\\x21\\xc7\\x2b\\x71\\xbb\\x6e\\xc6\\xb2\\x4e\\x0f\\xe2\\x1f\\xcb\\x0c\\x8e\\x87\\x2d\\xa2\\x5b\\x62\\x34\\x4d\\x0a\\xe6\\x58\\x2c\\x92\\x49\\xe6\\x9a\\x12\\xb2\\x2c\\x99\\xdc\\x9e\\x96\\x84\\x5b\\x32\\x71\\x12\\x91\\xde\\xd5\\x3d\\xd9\\xee\\x42\\x1d\\xc6\\x8c\\x7a\\x8f\\x60\\x5a\\x4a\\x47\\x8c\\xd2\\x53\\xdd\\x45\\x22\\x12\\xc8\\x42\\x18\\x08\\xbc\\x63\\xd3\\xba\\x5b\\x97\\xa2\\x4f\\xa1\\xb0\\xf9\\xee\\x96\\x7f\\xfc\\xb2\\xf4\\x76\\xb4\\xe3\\x5f\\xa8\\x27\\x3c\\xbc\\xf5\\xcd\\x29\\xd0\\xb8\\xf3\\xf5\\x8a\\xe4\\xd9\\xc2\\xd2\\xe4\\xb1\\x48\\xce\\x2d\\xe8\\xf0\\xce\\xc3\\xe8\\xb1\\x67\\xde\\x99\\x7f\\x9c\\xc8\\x38\\x36\\xac\\x57\\x6d\\xe0\\xe7\\x61\\x29\\xbb\\x82\\x19\\x1e\\xcf\\xcb\\x01\\xa1\\xa7\\x1a\\x8d\\x96\\x06\\x8b\\x38\\x41\\xac\\xaa\\x94\\x9d\\xbd\\x82\\x45\\xa1\\x7c\\x67\\xc8\\x19\\x52\\xcb\\x99\\x7c\\x55\\x75\\xf9\\x48\\x8e\\xd1\\x8a\\xfa\\xfa\\x3d\\x15\\x46\\x2c\\x3a\\xf1\\xdf\\xd7\\xb2\\x4c\\x3e\\xa4\\x95\\x1e\\x51\\xa2\\x52\\x75\\xb4\\x30\\x05\\xb8\\x44\\x1a\\x4b\\x71\\x4d\\xaa\\xda\\xa3\\xc9\\xdd\\x9e\\x6a\\x63\\x01\\x90\\x32\\x5c\\xf2\\x81\\xde\\x13\\xfa\\x1f\\xdc\\xbf\\xe0\\xdc\\x7e\\xd5\\x9e\\x71\\x9f\\x0d\\x5b\\x38\\xaa\\xdf\\x99\\x8d\\xe3\\x2b\\x9a\\x27\\xb1\\x0f\\x3d\\xf0\\xe8\\xcb\\xff\\xfd\\x68\\xf2\\xa3\\x43\\xaa\\x93\\xf7\\x9f\\x72\\xea\\xca\\x8b\\xc2\\x33\\x87\\x6d\\xe7\\xe7\\xdd\\x3b\\x62\\xca\\xdc\\xbb\\xd1\\x61\\xf4\\x65\\x5d\\xd4\\x33\\xe5\\xcc\\x9b\\xc6\\xe7\\xf7\\xca\\xdf\\xb0\\x75\\xf8\\x65\\x37\\x2f\\xbd\\x67\\x7b\\xbf\\xb2\\xe1\\xe8\\xd7\\xde\\x75\\x0b\\x7a\\x19\\xf1\\x01\\xc4\\x8f\\xe7\\x07\\x4c\\xb3\\x7b\\x31\\xf5\\xf1\\x68\\xac\\x87\\xd5\\xad\\xa8\\xb9\\x0c\\xa3\\xba\\x7b\\x60\\xa6\\x67\\xc5\\x4a\\x03\\x5f\\xec\\x28\\xc6\\xdc\\xae\\xd8\\xe1\\x90\\x5b\\x8c\\x45\\x9b\\x49\\xa8\\xdb\\x49\\x2f\\x76\\x54\\x0e\\xe4\\x6b\\x06\\x62\\x49\\x29\\x12\\x25\\x99\\xc3\\x31\\xc9\\x26\\x22\\x89\\x40\\x54\\x85\\x88\\x61\\x1b\\xc9\\xc7\\xbd\\x8e\\x84\\xf3\\x26\\x16\\x9f\\x3a\\x6d\\xee\\x55\\x83\\x1f\\x9e\\x55\\x87\\x5a\\xff\\x28\\x41\\xdf\\x14\\x80\\x82\\xa9\\xb7\\x02\\xde\\xba\\xd9\\xbb\\xd1\\x6f\\x0b\\xe6\\x42\\xd5\\xea\\xd5\\xce\\x20\\x70\\x0d\\xc9\\x37\\xd0\\x27\\xe8\\x6d\\x58\\x3b\\x7e\\xfe\\xa4\\xfe\\x3d\\x73\\x95\\xbc\\x3e\\x23\\x6a\\x36\\x3d\\x5d\\xf8\\xc2\\xfd\\x6f\\xbc\\x34\\x71\\x49\\xd3\\xe8\\xc1\\xb9\\x53\\x46\\xbe\\x70\\xd6\\xb9\\x25\\x23\\x7b\\x9c\\x3a\\x7f\\x29\\x9a\\x9b\\xc2\\x1b\\x26\\xfd\\xf9\\x12\\xf7\\xa7\\x88\\xa9\\x89\\xe7\\xaa\\x81\\xa8\\x28\\xba\\x8a\\x02\\x7c\\xcf\\x1e\\x45\\x51\\xa7\\xca\\x7b\\x39\\xaf\\xde\\x98\\xf0\\xf2\\x5c\\x7e\\x63\\x07\\x67\\x8d\\xac\\xbe\\x60\\xe2\\x21\\x62\\xfd\\x3e\\x0f\\xef\\x36\\xae\\x73\\x6f\\x44\\x49\\x48\\x2b\\x3e\\x35\\xfc\\xc3\\xe7\\xa3\\xff\\x5c\\x8d\\xf6\\xa1\\xbd\\xc5\\x63\\x2e\\x5a\\xf2\\x44\\x56\\x67\\x74\\xb0\\x82\\x0c\\xce\\x07\\xdf\\x46\\x7f\\x2e\\x9e\\xb5\\xf1\\xfe\\x4b\\xbf\\xbb\\x63\\x44\\x8f\\xf2\\x7d\\xef\\x8c\\x5f\\x70\\x66\\x7d\\x59\\x51\\xaa\\x0f\\xcf\\x6e\\x7a\\xfd\\xe5\\x9b\\xb7\\xd5\\x8e\\x8c\\x9c\\x3d\\xa2\\xe5\\x8c\\x92\\xbe\\x78\\x9d\\x85\\x49\\xb6\\x76\\xdc\\xee\\x28\\x93\\xcf\\x0c\\x8b\\xe7\\x3b\\x19\\x25\\x8f\\x8f\\xe5\\xe7\\xeb\\x31\\x4d\\xcf\\x91\\x34\\xbe\\xb0\\x80\\xc9\\xd3\\x43\\x56\\x6f\\x08\\x93\\x0e\\x3e\\xc4\\xeb\\xf9\\x2d\\x09\\x5d\\xcf\\x22\\x86\\x59\\x09\\x6b\\x35\\x8a\\x91\\x82\\x97\\x59\\x4d\\x4a\\x97\\xa5\\x52\\xa2\\x02\\x34\\x7e\\xa4\\xd0\\x40\\x95\\x33\\x14\\x1d\\x8f\\xc3\\x0a\\xec\\xcd\\x81\\xfa\\x55\\x0b\\x46\\xac\\xee\\x3f\\xa2\\xe8\\xec\\xfc\\xda\\x61\\xb9\\xcd\\xd0\\xd2\\x5a\\x0e\\xcd\\x4d\\xc1\\x11\\x35\\x05\\x89\\x9e\\x23\\xfa\\xaf\\x1e\\xb1\\xe0\\xfa\\x81\\x5f\\xef\\xd9\\xc3\\x2f\\xab\\x5a\\x78\\x4e\\x55\\xd5\\x5b\\xb1\\xe2\\xd2\\xfe\\xaf\\x26\\x27\\x7c\\xf0\\x01\\xbb\\xf9\\xd5\\x01\\xbd\\x7b\\xe6\\xbd\\x55\\x55\\x75\\xee\\x82\\x56\\x3f\\xdc\\x86\\x2e\\x60\\x8c\\xdc\\x83\\x0c\\xbf\\x17\\xcb\\xb8\\xb9\\x4c\\x84\\x99\\x10\\xef\\xad\\x87\\x18\\x99\\x8f\\x84\\x23\\x4a\\x58\\xf5\\xa9\\x0a\\x1e\\xd9\\xa8\\xd9\\x1d\\x70\\x37\\x26\\x64\\x5d\\xf2\\x32\\x5e\\x3d\\xc4\\xab\\x7c\\x40\\xd5\\xec\\x61\\x35\\xdc\\x90\\x50\\xd3\\xf9\\xad\\x49\\x8e\\x4c\\xa3\\x27\\x1d\\x4d\\xfc\\x59\\xdd\\x32\\xc8\\x60\\x76\\xa7\\x52\\x3e\\x0f\\x98\\xfb\\xb1\\x17\\x9e\\x3a\\x70\\xd1\\xb8\\xdb\\xe7\\x8d\\x98\\x38\\xaa\\xf6\\xd4\\xe8\\x38\\x98\\xd0\\x3a\\x14\\x4e\\x6b\\x0c\\x8f\\xa9\\x1d\\x35\\x71\\xc4\\xbc\\xdb\\xc7\\x2d\\x1a\\x78\\xea\\x8b\\xb0\\x80\\x1b\\x39\\x6d\\xc2\\xe8\\x0b\\xde\\x1a\\x51\\x59\\x36\\x1b\\x55\\xec\\xd8\\x01\\xef\\xcc\\xee\\x5d\\x3d\\xe2\\xad\\x0b\\x46\\x4f\\x40\\x7e\\xf4\\x3b\\xd1\\xc1\\xb0\\x2c\\x78\\x2b\\x96\\x97\\xdc\\xb8\\x1f\\x83\\xe2\\x11\\x0f\\x63\\x11\\x82\\x41\\xd5\\xa2\\xe2\\x17\\xf9\\xb1\\xc8\\x22\\x4b\\x92\\x4b\\x76\\x41\\x73\\xc2\\xc5\\xc8\\x78\\x7b\\xc8\\x8e\\x0e\\x32\\x3b\\x3d\\x7d\\x6e\\x4f\\xdf\\x47\\x8c\\x25\\x61\\x5e\\x94\\xaa\\xb1\\x9e\\xe3\\x32\\xb4\\x1d\\x55\\xc7\\x6b\\xaa\\x82\\xcb\\x58\\x88\\xc2\\x02\\xff\\x0f\\x74\\x1c\\xbd\\xb6\\xd6\\xf1\\x30\\xb0\\x50\\x04\\xc3\\xd0\\x3a\\xb4\\x13\\xbd\\x88\\x1e\\xb8\\xe4\\x27\\xb8\\x19\\xce\\x6d\\xb9\\xf5\\xf9\\x97\\x5f\\xde\\xf1\\xca\\xf3\\xb0\\x98\\x3f\\x50\\xbb\\x64\\xf1\\x95\\xe8\\x5f\\xc7\\xd1\\x09\\xf4\\x25\\x4c\\x84\\x2a\\xa6\\x0d\\x86\\xbc\\x38\\xb1\\x75\\xd8\\x3d\\x6b\\xfe\\x7e\\xf7\\x7d\\x14\\x3b\\x81\\xd8\\xd1\\xf8\\xd3\\xf9\\xd3\\x70\\xcb\\x87\\x62\\x8a\\xa5\\x59\\x19\\x4d\\xf4\\x30\\x0c\\xa6\\x2c\\xa1\\x9c\\xc6\\x44\\xc8\\xdf\\x90\\x08\\x85\\x48\\xce\\xa1\\xc6\\x84\\x59\\xe5\\x9c\\x0d\\x9d\\xdd\\x96\\x8a\\xbb\\x38\\x2d\\x39\\xf1\\xb4\\x51\\x5d\\xb2\\xc2\\x15\\x8b\\xda\\x0d\\xb5\\xb8\\x3a\\x25\\xb7\\x92\\x41\\xe7\\x4f\\x47\\xbf\\xfc\\x79\\x0c\\xfd\\x17\\x1e\\x84\\x1b\\xdf\\xdb\\xb9\\x67\\xd7\\x65\\x75\\x8b\\xae\\x9c\\x39\\xff\\xdc\\x29\\x43\\x87\\x9c\\xdb\\xb2\\xfb\\x5d\\x58\\xb8\\xe3\\x7d\\x88\\x02\\x0f\\x21\\x88\\xbe\\x57\\x7a\\xee\\xdd\\x17\\xdf\\x79\\xff\\x94\\x29\\xe3\\x26\\xb9\\x5e\\x77\\x3d\\x89\\xdb\\xaa\\x12\\xe0\\x0d\\x4c\\xff\\x23\\xcc\\xa8\\x78\\x9e\\xc3\\x93\\x6b\\xb5\\x06\\x6c\\x9a\\x47\\x64\\x3c\\x36\\x72\\xaa\\xc6\\x39\\x9d\\xb6\\x1c\\x8b\\xdd\\x6f\\x6f\\x4a\\xe4\\xfa\\xfd\\xb6\\x1c\\xce\\xa6\\x33\\xd9\\xd9\\xce\\xbb\\x26\\x90\\x4d\\x43\\xfc\\x17\\x1a\\xc9\\xe0\\x89\\x1b\\x3f\\x19\\x61\\xb2\\x0b\\x30\\x59\\x4d\\x79\\xf2\\xbb\\x39\\x64\\x37\\x3f\\x6a\\x1f\\x38\\x36\\x1f\\x7d\\x5d\\x30\\xa6\\xde\\xfe\\xa8\\x45\\xde\\x74\\x47\\x21\\x84\\x0a\\xee\\xd9\\xc8\\x79\\xc2\\x17\\x07\\x7b\\xd4\\x06\\xeb\\x6b\\x5b\\xef\\xe5\\xce\\xa9\\x1b\\x18\\xac\\xed\\x11\\x99\\x11\\xbc\\xf3\\x16\\x18\\x88\\x5e\\xbe\\x13\\xb7\\xb7\\xa8\\xed\\x17\\xee\\x2c\\xe1\\x13\\x46\\xc3\\xfc\\xca\\xaf\\x5a\\xad\\xac\\x60\\x11\\x34\\xce\\xa1\\xdb\\x14\\x8b\\xd9\\xcc\\xf2\\xbc\\x85\\x75\\x83\\x44\\x05\\xc6\\x27\\x12\\xaa\\x45\\xc9\\x48\\x60\\x86\\x09\\x42\\xdd\\xbd\\xa7\\x9d\\x15\\x90\\xa0\\x39\\x12\\x17\\xcd\\xc5\\x24\\x92\\x83\\x40\\x70\\xc5\\xb8\\x08\\x77\\x16\\xfa\\x32\\x17\\xfd\\x7c\\x5e\\xee\\x9e\\x53\\xbc\\x50\\xe4\\x84\\x8b\\xcf\\xb3\\xe0\\x42\\x8f\\xb5\\x0e\\x99\\x9a\\xc3\\x0d\\x58\\x83\\x15\\xe2\\x7b\\xa7\\x06\\xd0\\xd7\\xc4\\x4e\\x82\\xd7\\xe7\\x19\\xfc\\x20\\xcc\\x97\\xc6\\xc4\\x71\\x37\\x05\\x77\\x81\\xdf\\x2a\\xf8\\xc3\\x7c\\x71\\x4f\\x6a\\x1f\\x31\\x8c\\x23\\x96\\xc6\\x04\\x35\\x90\\x28\\xb1\\x50\\x63\\x22\\x86\\xe5\\xa8\\x98\\x3b\\xa3\\xaa\\x64\\xd9\\x45\\xb2\\x99\\xd3\\xff\\xb2\\x86\\x78\\x52\\xea\\x4b\\xbb\\x0d\\x64\\xe0\\x10\\xc3\\x06\\xb2\\xf6\\xde\\x2c\\x1b\\x48\\xfb\\xa5\\xb4\\xf9\\xe3\\x92\\xf3\\xec\\x5f\\x9b\\xe5\\xa7\\xee\\xef\\x60\\xfe\\x48\\x5f\\x31\\xec\\x09\\x67\\xa6\\xec\\x09\\x39\\x98\\x7a\\x0f\\x88\\xe7\\xca\\x78\\xc9\\xc6\\x3c\\x58\\x71\\xf1\\xf4\\xec\\x21\\x8a\\x9c\\xdf\\x1e\\xf0\\x63\\x2a\\xe1\\x57\\xb9\\x82\\x06\\x23\\x17\\x7e\\xc6\\xa2\\x50\\xd7\\x45\\xc5\\x74\\x92\\x13\\xdf\\x42\\xc2\\x53\\x09\\xaa\\x0f\\xa1\\x0f\\x58\\x59\\x48\\x07\\x26\\x66\\x99\\x65\\x6f\\x45\\x47\\x0e\\xcf\\xd8\\xdc\\x4b\\x49\\x3c\\xb6\\xf3\\xf1\\x07\\x6c\\x7f\\x16\\x37\\x9f\\xfe\\xc8\\xc1\\x6b\\xeb\\x89\\x79\\x8a\\x18\\x1e\\xd0\\x67\\x57\\xce\\x5f\\x74\\xf5\\x95\\x97\\x5f\\xbd\\x84\\xed\\x79\\x02\\x7d\\x74\\xea\\xc0\\xcb\\xe7\\x94\\x2f\\xbe\\x27\\xe0\\xb6\\x4c\\x7e\\x0e\\xfa\\x80\\x03\\x4f\\xc7\\x20\\x74\\x10\\xfd\\xfe\\xfc\\xa6\\x87\\x9f\\x7d\\xec\\xe9\\xad\\x19\\x9f\\x8e\\x1a\\xea\\xd3\\x31\\x9c\\xda\\xe8\\xbf\\x42\\x93\\xe0\\x21\\x62\\xb7\\x63\\xc6\\x74\\x8c\\xcf\\xe3\\xef\\xa0\\x7b\\xb5\\x11\\xaf\\xff\\xab\\xb0\\x1c\\xec\\xc4\\x3a\\x53\\x11\\x27\\x8a\\x8a\\x22\\x58\\x39\\x3c\\xe8\\x16\\xb1\\x84\\xeb\\xcf\\xb1\\x9c\\xcc\\x81\\x9d\\xe7\\xf0\\xba\\xd7\\x99\\xc6\\x84\\xae\\xd8\\xcc\\x8d\\x09\\x9b\\xab\\xb3\\x9b\\x61\\xd3\\xe4\\x0a\\x28\\xcd\\x40\\x63\\x19\\xe7\\xf0\\x58\\xd7\\xcd\\x85\\x7e\\x98\\x3e\\xa6\\x3d\\x07\\xd8\\x55\\xd7\\x5e\\x25\\x43\\x02\\x6d\\x52\\x96\\x5e\\xf3\\x07\\xfa\\x05\\xfd\\x8a\\x7e\\xc4\\xd2\\x9e\\x0d\\x14\\xee\\xd2\\xf9\\xf3\\xdf\\x9a\\x7b\\xd9\\x5b\\x94\\x73\\x59\\x41\\x7f\\x8b\\xd2\\x10\\xdc\\xae\\xab\\x69\\xbb\\x46\\xc7\\x8b\\x34\\xbb\\x9d\\xc8\\xb3\\x8c\\x80\\x97\\x96\\x52\\xa2\\xf6\\x57\\x71\\xbb\\x54\\xdc\\x2e\\x55\\x35\\x83\\x19\\x2f\\x32\\xb3\\x0b\\x77\\x24\\x01\\x4a\\x37\\xed\\x4a\\x4f\\x8c\\x5e\\x97\\xc2\\x3f\\x4f\\xb7\\xa7\\x8a\\x70\\x51\\x2c\\x9a\\xe1\\xb9\\x19\\x87\\x99\\xbf\\x0c\\x6e\\xac\\x9d\\x1d\\x43\\xbf\\xfc\\x71\\xcd\\x52\\x05\\x6d\\x82\\x84\\x7c\\xd5\\xb5\\xdc\\xa5\\x58\\x51\\x47\\xbf\\xe1\\x9f\\x7f\\xbf\\x75\\xd9\\xdc\\xb7\\xfe\\x36\\xaf\\x43\\x0c\\xe2\\x7a\\x3a\\x9e\\xab\\xf1\\x9a\\x59\\x4d\\xc7\\x77\\x57\\x66\\x7c\\x57\\xd3\\xf8\\xc7\\x82\\xb4\\x8f\\x24\\x89\\xd1\\x64\\x6c\\xcc\\xc0\\x78\\xae\\x85\\x11\\x44\\xc6\\x66\\x12\\x44\\xb3\\x8d\\xb3\\xcb\\x66\\xb3\\x04\\x3c\\x2f\\x91\\x94\\x84\\x12\\xc7\\x88\\x7a\\x1a\\xa3\\x43\\xeb\\x46\\xa9\\x20\\x82\\x2f\\xc4\\x08\\xf5\\x20\\x67\\xb1\\x9a\\x10\\x40\\x1b\\xfe\\x89\\x36\\xa0\\xe3\\xb0\\x0a\\x06\\xe3\\x9f\\x95\\xfc\\xd2\\xe4\\xc7\\x6c\\x9f\\x13\\xf3\\xb0\\x0c\\xf9\\x3b\\x6b\\xa1\\x01\\x93\\x40\\xda\\x26\\x9c\\x4d\\xc7\\x30\\x1e\\x8f\\x08\\xa2\\x5d\\xd3\\x54\\xfc\\x6e\\xab\\x8a\\xe7\\x57\\x73\\x89\\x01\\xac\\x16\\xb2\\x0d\\x09\\xbb\\xa4\\x80\\x15\\x0f\\x9e\\xab\\x83\\x6a\\x53\\xdf\\xf9\\xed\\x31\\xa0\\x70\\x29\\x11\\x07\\x96\\x0b\\x6b\\x1c\\x24\\xf3\\x4a\\x65\\x0d\\x37\\xed\\x43\\xf4\\x9d\\xfa\\x3b\\xcc\\xd9\\x5e\\x67\\x55\\x2b\\xb7\\xc0\\x25\\xbf\\xeb\\xdc\\xe5\\x77\\x4d\\x3b\\xf1\\xad\\xf0\\x6d\\xf2\\xbd\\x67\\xa6\\xcd\\xdd\\x84\\x5b\\xb4\\x87\\x9d\\x73\\xfe\\xdd\\x78\\x6f\\x41\\xca\\x6f\\xc7\\xc7\\xe4\\x31\\x13\\xe3\\x25\\x9a\\xdd\\x1c\\x96\\x65\\xdd\\xee\\x67\\xec\\x56\\x86\\x2b\\xc8\\xc7\\xfb\\xcb\\x6d\\x53\\x35\\xb5\\x21\\x61\\xd6\\x34\\xce\\x1e\\x70\\x07\\x1b\\x12\\x6e\\x95\\x8b\\x66\\x71\\x87\\x54\\xfe\\xe5\\x0c\\xe1\\xed\\x62\\x48\\x4d\\xbb\\xf7\\x04\\x81\\xa0\\x66\\x47\\x08\\x44\\xf1\\xc9\\xdd\\x7c\\x9e\\x78\\x02\\x7d\\x3a\\x7f\\x3e\\x38\\x7f\\xbe\\x17\\xdd\\xd0\\xc5\\xd5\\x67\\xfe\\xee\\x8b\\x2f\\xde\\xcd\\xbe\\x78\\x0c\\xdc\\xb7\\xa2\\x5f\\xef\\xcb\\x78\\xfb\\x90\\xf9\\xad\\xc5\\xf3\\x7b\\x19\\x99\\x5f\\x18\\x99\\x3d\\xdf\\x6a\\x01\\x99\\x6f\\x15\\x6b\\x0f\\xac\\x95\\xad\\xcd\\x2a\\x57\\x40\\xca\\x91\\xeb\\xb0\\x9c\\xed\\x9b\\x8e\\xab\\x96\\x3c\\x7a\\x01\\x89\\xab\\xd6\\x24\\x53\\x12\\x0f\\x3c\\xc3\\x78\\x9f\\x02\\x4d\\x13\\x0a\\xc8\\x91\\xd9\\x86\\xed\\x76\\x0d\\xac\\xc6\\x31\\x93\\x96\\x89\\x03\\x11\\x44\\xf1\\x43\\x35\\xf5\\x8c\\x19\\x80\\x60\\x5b\\x6f\\x8b\\xdf\\xce\\x82\\xcd\\x46\\x6c\\xf6\\xaa\\xa8\\xda\\x19\\x4b\\x3e\\x66\\xee\\xae\\x32\\x57\\xdc\\xd5\\xec\\x9a\\xe9\\xba\\xc9\\xb5\\xde\\xb5\\xcb\\xb5\\xd7\\x65\\xf9\\x58\\xc5\\x57\\x66\\xe2\\x6f\\x7b\\x5d\\x42\\xd8\\xd5\\xe8\\x5a\\xe2\\xda\\xea\\xfa\\xca\\x25\\x30\\xb8\\x64\\x33\\x2e\\xb5\\xcb\\x75\\xd4\\x25\\x3e\\xf8\\x7f\\x28\\x33\\xef\\xff\\x50\\x66\\x44\\x98\\xbe\\x9f\\xeb\\x84\\xa7\\xd0\\x7e\\x90\\x00\\x8c\\xa7\\xed\\x27\\x71\\x33\\xde\\x0f\\x31\\x66\\x56\\x3c\\xee\\x92\\x20\\x18\\xcc\\x8d\\x05\\xc3\\xb9\\xb9\\x76\\x89\\xcb\\xcf\\xc3\\xdb\\xc1\\xd7\\x94\\x08\\xf3\\xcd\\xfc\\x7a\\x9e\\x63\\x78\\x50\\x39\\x9e\\x8f\\xe8\\x4c\\x38\\x82\\x45\\x9c\\x08\\x97\\xab\\xd3\\x84\\x76\\x66\\x4e\\x51\\xac\\x56\\xbd\\x29\\x61\\x75\\xa4\\x7c\\x80\\xc8\\x56\\xaf\\x6f\\xf7\\xeb\\x37\\xa2\\xc3\\x99\\x8e\\x86\\x06\\xc3\\xda\\x4b\\x39\\x4a\\xb0\\x43\\xe2\\xa9\\x01\\x06\\x3d\\xa6\\x5a\\x1b\\xf1\\xf0\\x17\\x16\\x24\\x67\\xfc\\xeb\\xf3\\x8f\\xbf\\x59\\xf9\\xc2\\xf0\\x37\\x2b\\xc7\\x97\\x9e\\x35\\x76\\xde\\x4d\\x4d\\xff\\x3c\\x0d\\x7d\\x8a\\xea\\xf8\\xa7\\xf8\\x7b\\xd0\\xd6\\x8a\\xca\\x8f\\x7f\\xa8\\xfe\\x63\\xff\\x69\\x4d\\x8f\\x0c\\xed\\x33\\xed\\x56\\xf3\\xcd\\x33\\x0b\\x72\\x92\\x17\\xf1\\xf7\\xa4\\xe3\\x9f\\x49\\xbc\\x7f\\x8b\\xe4\\x51\\x0b\\x4d\\x08\\x66\\xd1\\xa8\\x9d\\xdd\\x98\\xb5\\x04\\x9e\\x02\\x51\\x74\\x16\\x82\\xe5\\x99\\xb6\\xc7\\xe2\\x6d\\x16\\x91\\xe1\\xf2\\x43\\x72\\xbd\\xdc\\x20\\x73\\x8a\\xdc\\x24\\x2f\\x96\\xb7\\xc8\\xef\\xc9\\x47\\xe4\\x36\\x59\\x7a\\xdf\\x2e\\xc3\\xb7\\x76\\x39\\x57\\xee\\x2d\\x8f\\x95\\x2f\\x91\\xaf\\x94\\xef\\x95\\x77\\xc8\\xff\\x96\\xcd\\xb9\\xf2\\x40\\x7c\\x61\\x0a\\xbe\\x74\\x23\\xbe\\xf4\\x18\\xbe\\xf8\\xae\\xfc\\x85\\x8c\\x64\\x9b\\x1d\\x5f\\xbc\\x12\\x5f\\x78\\x17\\x97\\x42\\xb2\\xf4\\x84\\x2c\\x4f\\x96\\xd9\\x57\\x65\\x39\\x28\\xf7\\x92\\xc7\\xc8\\x17\\xcb\\x8b\\xe4\\x7b\\xe4\\x17\\xe5\\x9f\\x65\\x73\\x50\\x1e\\x80\\x2f\\x4c\\xc6\\x97\\x6e\\xc0\\x97\\x1e\\xc5\\x17\\xdf\\x91\\x0f\\xc8\\x49\\xd9\\x46\\x9e\\x58\\x84\\x2f\\xbc\\x83\\x4b\\x25\\x65\\xe9\\xef\\x36\\xf9\\x6c\\x99\\x7d\\xd0\\x26\\xe7\\xc8\\x25\\xf2\\x68\\x79\\x86\\x7c\\x85\\x7c\\xb7\\xfc\\x82\\xfc\\x93\\x6c\\xce\\x91\\xfb\\xe3\\x0b\\x67\\xe3\\x4b\\xd7\\xe3\\x4b\\x9b\\xf1\\xc5\\xb7\\xe5\\xcf\\xe5\\x56\\xd9\\x46\\x9e\\xb8\\x02\\x5f\\x78\\x1b\\x97\\x6a\\x95\\xa5\\x79\\x0c\\xe9\\x14\\xbb\\xd2\\x40\\xdd\\x6c\\x90\\x2f\\xc5\\x1d\\x5c\\x27\\xef\\xc4\\x1d\\x34\\xd3\\x4e\\xc7\\xf7\\xe3\\xdb\\x97\\xca\\xab\\xf1\\xc5\\x2d\\xf8\\xf2\\x7b\\xf2\\x97\\xb8\\xe7\\xb6\\x4e\\x03\\x81\\x35\\xef\\x5e\\xb8\\x59\\xdc\\x05\\xa4\\x23\\x03\\x68\\x57\\x6e\\xa0\\x5d\\x39\\x20\\x9b\\x65\\x7c\\x81\\xb4\\xd9\\xe8\\x08\\xe9\\x06\\x69\\xb9\\xf5\\x1e\\xfc\\x87\\x85\\xf4\\x3b\\x77\\xca\\x29\\xd8\\x4f\\x32\\xcc\\x4d\\xb4\\x11\\xab\\xb3\\xde\\x67\\xaf\\x53\\xf0\\xbd\\x26\\xda\\x34\\xe3\\x2a\\x79\\xad\\x65\\xa7\\x0c\\xac\\x31\\x33\\xa4\\x81\\x5f\\xca\\x62\\xd7\\x3a\\xd6\\xd1\\x46\\x7e\\x49\\xcb\\x2b\\xe4\\x5d\\x46\\xef\\x8c\\x4b\\x26\\xbc\\xe0\\x9b\\x8c\\xf0\\xaf\\x2c\\x60\\x91\\xa6\\x6c\\x94\\x91\\xcc\\x6f\\xbc\\x23\\x8a\\x19\\xb2\\xc5\\x09\\xad\\x26\\x74\\x64\\x21\\xd6\\xbf\\x7c\\xcc\\xa2\\x78\\x83\\xd3\\xe3\\x31\\xb1\\x98\\x43\\xc8\\x9c\\xc9\\xcd\\x71\\x01\\xbf\\xd3\\xd3\\x94\\x08\\x39\\x41\\x71\\x2e\\x76\\xae\\x76\\x6e\\x71\\xb6\\x39\\x05\\x0f\\x96\\x4c\\x19\\xab\\x55\\x6b\\x4a\\x28\\x76\\xbc\\x4d\\xec\\x76\\x2b\\x4f\\x4c\\x99\\x61\\xb6\\x8c\\x65\\xc3\\x6c\\x33\\x3b\\x93\\x5d\\xcf\\x7e\\xc5\\x1e\\x65\\x45\\x96\\x15\\x1c\\x34\\x5c\\x64\\x56\\x37\\xf1\\x22\\xb3\\x8a\\xbb\\xec\\x91\\xfc\\xb0\\xc3\\xc3\\x46\\x52\\x20\\x0a\\x0e\\x43\\x77\\x33\\x78\\x39\\xe7\\x00\\x7e\\x7a\\xeb\\x46\\x54\\x87\\x1e\\x47\\xb7\\xc2\\x39\\x30\\x06\\x0e\\x2e\\x69\\x8b\\xbc\\xb0\\x74\\xfb\\x5b\\x16\\x36\\x9a\\x3c\\x20\\xef\\xdd\\x07\\xb6\\x16\\x74\\x31\\x2c\\x85\\x33\\x61\\x32\\xcc\\xa6\\x87\\x0f\\x2f\\x6d\\xfd\\xee\\x85\\x37\\xe8\\xbe\\xe8\\x87\\xfb\\x27\\x52\\xbe\\x58\\xdd\\x1d\\x96\\x42\\xdb\\x87\\x78\\x97\\x34\\x53\\x1a\\x97\\x8a\\xe9\\xdc\\xc3\\x30\\x5f\\x90\\x53\\xc9\\x54\\x4c\\xe7\\x33\\x6d\\x28\\xbe\\x95\\xc6\\x75\\x86\\x48\\xa2\\x97\\x7a\\x3a\\x19\\x5b\\xe8\\x98\\x4b\\xfb\\x42\\x74\\x7a\\x56\\xd3\\x59\\xc0\\x6b\\xa7\\x94\\xde\\x5e\\x47\\x6f\\xe3\\x09\\x6c\\xa0\\xd3\\xb6\\x13\\xdf\\x11\\x37\\x76\\xf8\\x46\\xe6\\x7f\\x1d\\x2e\\xc3\\x93\\xfa\\x16\\xd3\\x15\\x2a\\xcc\\x26\\x75\\xad\\xc6\\x77\\xf9\\x52\\x5c\\xc7\\x97\\x64\\x83\\x36\\xe0\\x3b\\x5c\\x7d\\x9b\\x4c\\x97\\x16\\xbd\\x02\\x8c\\xdc\\x28\\x2f\\x91\\x6f\\x92\\xd7\\xcb\\x5b\\xe5\\xaf\\x64\\xa9\\x59\\x9e\\x49\\x3f\\xee\\x92\\x8f\\xca\\xe2\\x12\\xfa\\x61\\x2f\\xbe\\x2e\\xe0\\x99\\xee\\x02\\x35\\x33\\xab\\x63\\x5c\\x6a\\xa8\\xed\\x27\\xee\\x10\\x1d\\x87\\x5e\\x54\\x06\\x35\\xb5\\x1d\\x35\\xcd\\xa7\\xf6\\xa8\\x18\\xd3\\x1c\\xaf\\x95\\xdc\\xde\\x48\\x44\\xc8\\x61\\xec\\x82\\x9b\\xe1\\xf3\\xf3\\xbc\\x98\\x10\\x2a\\xde\\xc5\\xde\\xd5\\xde\\x2d\\x5e\\xde\\xc3\\x78\\xa1\\x27\\xe7\\xf5\\xba\\x23\\x6e\\xa9\\x39\\xe1\\xe6\\x6c\\x5a\\x73\\xc2\\xe6\\x10\\x22\\x58\\x3d\\xd4\\xdb\\x79\\x66\\xfb\\x6c\\x4f\\xe9\\xc6\\x95\\x80\\xd8\\x29\\xb1\\xec\\x6f\\x81\\x0c\\x44\\xbf\\x4e\\xb8\\x7b\\xa4\\xdc\\x4d\\x78\\x26\\xfe\\x10\\x36\\xcd\\x5f\\xf8\\xf3\\x7d\\xc9\\x31\\xe8\\xfe\\x3e\\xd5\\xd3\\xee\\xbe\\x61\\x58\\xae\\x3d\\x58\\x77\\xca\\xa0\\xe8\\x10\\xee\\x5a\\xd8\\x7c\\x18\\xa1\\x8f\\x56\\x5d\\x87\\x1e\\x86\\xb3\\xb1\\x00\\xb5\\x65\\xc9\\x2b\\x33\\xf8\\x1b\\xd0\\x46\\xb4\\x02\\xed\\x5c\\xa1\\xfd\\x21\\x5d\\x0f\\xfd\\x8e\\xc2\\xa7\\xc9\\xf7\\xf6\\xbf\\x39\\xf9\\x3c\\xf4\\x37\\xda\\x37\\x3c\\xe7\\xa6\\x6a\\xdc\\x37\\x07\\xee\\x5d\\x73\\xbc\\x4a\\xf5\\xf9\\x64\\xc1\\x89\\xe5\\x21\\x13\\xf5\\x61\\x0c\\xe6\\x78\\xbd\\x92\\x0d\\xf7\\x44\\x55\\x6c\\x8b\\x6d\\xab\\x6d\\x5b\\x6c\\xb8\\x87\\x36\\xdc\\x43\\x9b\\xcd\\x67\\xb7\\x70\\x02\\xe6\\x0c\\x66\\x21\\x7d\\xe0\\x48\\xe4\\x24\\xda\\xa5\\x54\\x58\\x72\\x37\\xfe\\x01\\xa9\\xbe\\xb5\\xff\\xd0\\x3e\\x11\\x95\\x2c\\x6c\\xaa\\x26\\x7d\\x7a\\x20\\x79\\x80\\x98\\xe3\\xd8\\x18\\x14\\xc2\\x69\\x46\\x5f\\x92\\xc0\\xa5\\xba\\xc2\\x9e\\x9d\\xdc\\x88\\x85\\xa9\\xf7\\xd8\\x3e\\x59\\x5d\\x20\\xfc\\x0b\\xcb\\x73\\x0b\\x71\\x1f\\x5c\\x44\\x2b\\x37\\x49\\xa0\\x28\\xaa\\x4b\\xd1\\x55\\x49\\xf5\\xb8\\x19\\xdd\\x81\\xb9\\x12\\xb1\\xb5\\x02\\xc7\\x49\\x0e\\x4e\\x95\\xa8\\x48\\x47\\x85\\x96\\x4e\\x81\\x42\\x69\\x7e\\x44\\x3d\\x16\\x88\\x37\\x72\\xda\\x6e\\x48\\x39\\xd0\\xfe\\x57\\x0e\\xff\\x8c\\xbe\\x5b\\x71\\xeb\\xed\\x0f\\x66\\xd8\\xce\\x4b\\xa7\\x7d\\x73\\x04\\x85\\xe1\\xa5\\xdb\\xae\\xac\\x4a\\x36\\x51\\x6e\\x63\\xec\\x21\\xfe\\x7b\\x22\\x4b\\x70\\x6f\\x51\\x59\\x02\\xc1\\xe6\\x94\\xbf\\x8a\\x03\\xcb\\x12\\x8e\\x53\\x1d\\x6e\\xc6\\x9a\\xed\\xdf\\xb2\\x02\\xcb\\x11\\x35\\xb4\\xfc\\x1b\\x29\\xd9\\x23\\x6a\\xc8\\x1e\\x0e\\x52\\x5e\\x7d\\xa6\\xed\\xf6\\xed\\xaa\\x03\\x4c\\xd9\\xb2\\x47\\xdb\\x9f\\x78\\xdf\\x0a\\xd2\\x40\\xfc\\xcc\\xbe\\xff\\x92\\x67\\x8e\\x63\\x35\\xfa\\x14\\xf2\\x8c\\xd3\\x89\\x9f\\xf1\\x3c\\xd3\\x76\\x6c\\xbb\\x27\\x68\\x55\\xda\\x9f\\x21\\x32\\x2f\\x9a\\x2e\\x90\\x79\\xb6\\xc2\\xf0\\xb8\\x53\\x60\\xad\\x8c\\x88\\x65\\x77\\x96\\xb3\\xc9\\x20\\x34\\x27\\x2c\\xac\\xce\\x3c\\x03\\x5a\\x7c\\x2f\\x16\\x7c\\x1b\\x65\\x18\\x2a\\x43\\xb1\\x0c\\x4e\\x19\\x4e\\xc8\\xb0\\x5f\\x86\\xe7\\x65\\xd8\\x28\\xc3\\x32\\x19\\xe6\\xc8\\x30\\x95\\xde\\xad\\x94\\x21\\x40\\x76\\x3c\\x5c\\x70\\x4c\\x86\\xef\\x64\\xd8\\x2b\\xc3\\x6e\\x19\\xee\\xa2\\x25\\xce\\xa2\\x0f\\x1f\\xa5\\xd7\\xb7\\xcb\\xb0\\x4a\\x86\\x85\\x32\\x9c\\x2a\\x43\\x1e\\xad\\x71\\x1f\\xad\\xee\\x91\\xf4\\x75\\x5c\\x5d\\x63\\x56\\x8d\\xbc\\x0c\\x35\\xfb\\x69\\x5d\\x8f\\xd0\\xea\\x66\\xd2\\x12\\x13\\xe8\\xed\\x13\\xb4\\xc6\\xb7\\x64\\xc0\\xec\\x60\\x8d\\x0c\\x17\\xd1\\x4a\\xfb\\xd1\\x97\\x9d\\xa0\\xf5\\xee\\xa6\\x6d\\x9c\\x40\\xaf\\x18\\xad\\x93\\xd8\\xa6\\x29\\x5d\\x1c\\xb7\\x4e\\x1e\\xff\\x7f\\xf2\\x7b\\xd4\\x7a\\xbb\\xbb\\xb8\\xd3\\x31\\x75\\xfb\\x32\\x66\\xcf\\x45\\x05\\x78\\xd1\\x5e\\x00\\x41\\x54\\x88\\xa6\\xc3\\xed\\xc2\\xd2\\x13\\x97\\xf1\\x37\\x1c\\x5f\\x8c\\xa6\\x77\\xc5\\x23\\x32\\xf6\\x9c\\x80\\xb5\\x02\\x8a\\xf1\\x3c\\x29\\x5e\\x8e\\xc5\\x44\\x3c\\xd9\\x26\\x7c\\xd1\\xe3\\xb6\\xe0\\xd5\\xaa\\x58\\x16\\x5b\\x56\\x5b\\xb6\\x58\\xf0\\x56\\xb3\\xe0\\xad\\x66\\xb1\\x38\\x44\\xd1\\xdc\\x94\\x10\\x39\\xc1\\x41\\xc8\\x48\\x99\\x07\\x26\\x77\\x56\\xaa\\xba\\x89\\x2a\\x4b\\x6d\\x35\\x57\\x07\\xc2\\x21\\xcc\\x23\\x9b\\x2c\\xc0\\xe7\\x27\\x59\\xf8\\x22\\x45\\x2a\\xe6\\xc3\\x8d\\xa9\\xfd\\x25\\x2c\\xfd\\x16\\x6d\\x4b\\x6f\\xac\\x93\\xe0\\x26\\xb5\\xa4\\x71\\x93\\x80\\x24\\xae\\xec\\x82\\x9b\\xa4\\x91\\x03\\xe9\\x14\\x6e\\x52\\x4b\\xb2\\xa1\\x23\\x6e\\x92\\x8e\\xd7\\xe0\\x8d\\xf8\\x79\\x3b\\xf5\\xe2\\x8e\\xb9\\xcc\\x9a\\xcc\\xb1\\xa2\\xc4\\x28\\x66\\x59\\x52\\x58\\xdc\\x7b\\x19\\x53\\x4b\\x19\\xab\\xf1\\x26\\xc1\\xd4\\x8c\\x7b\\x2a\\xb1\\x78\\x51\\x92\\xb1\\x4f\\x59\\x00\\xbb\\xe1\\x8c\\x15\\x44\\xff\\x21\\x50\\x91\\x94\\x46\\xe2\\x39\\x91\\x44\\x56\\xe2\\x3f\\x7c\\xf6\\x78\\xeb\\xfc\\xe3\\x77\\x8f\\x9c\\x19\\x1c\\xc0\\xb9\\xd0\\xb7\\xe8\\x78\\x28\\xd8\\x54\\x79\\x2c\\x39\\x07\\x6e\\x47\\xd3\\xd9\\xeb\\xaf\\x86\\xa5\\x6f\\xc3\\x8b\\x27\\x2e\\xe3\\xee\\xf8\\xf1\\x6d\\xb4\\xea\\x92\\x76\\x1c\\x9b\\x0c\\xb6\\x12\\x03\\x6d\\xc7\\x19\\x46\\x1a\\x86\\xdb\\x1a\\x86\\xaf\\xe2\\x6d\\x6e\\x8f\\x1e\\x0e\\x2b\\x44\\xe0\\xb7\\x5a\\x88\\x5e\\x18\\xf4\\x7b\\xa4\\x48\\x4e\\x20\\x10\\xbd\\x25\\x0a\\xcb\\xa2\\x30\\x3b\\x0a\\xcd\\x51\\x18\\x1f\\x85\\xa1\\x51\\x28\\x8f\\x42\\x5e\\x14\\xd8\\xa8\\x1e\\x65\\xff\\x13\\x85\\xaf\\xa2\\xf0\\xcf\\x28\\xec\\x8e\\xc2\\xb6\\x28\\x6c\\x8c\\xc2\\x55\\xf8\\x01\\x76\\x4e\\x97\\xd2\\x2a\\x79\\x00\\xce\\x3f\\x16\\x85\\x6f\\xa2\\xb0\\x2f\\x0a\\x7b\\xa2\\xf0\\x8f\\xe8\\xb6\\x28\\xbb\\x86\\x3c\\x01\\xb8\\xfc\\x39\\x51\\x98\\x10\\x85\\xe1\\xb4\\xbc\\x33\\x9a\\x17\\x65\\x71\\xf1\\xec\\xd2\\x46\\xed\\x6b\\x49\\xd9\\x65\\x51\\x76\\x1a\\xa9\\x7a\\x42\\x94\\x35\\x2a\\x77\\x47\\x81\\x8f\\xc2\\xef\\xa4\\x15\\xfb\\xa2\\x2c\\x2e\\x09\\xeb\\xa3\\x80\\x6b\\x5e\\x12\\x85\\xa9\\xd1\\x39\\x51\\xb6\\x91\\x36\\x24\\x1c\\x2d\\x8b\\xb2\\xce\\x28\\x30\\x51\\xa8\\x39\\x1a\\x85\\xef\\xa2\\xb0\\x97\\x74\\x6d\\x63\\x74\\x77\\x94\\x9b\\x19\\x3f\\x83\\x94\\x85\\x46\\x52\\xdf\\xd0\\x28\\xcb\\xd0\\x97\\xef\\x25\\xb5\\xd0\\xfb\\x4b\\x48\\xeb\\x70\\x4d\\x61\\xdc\\x0d\\x95\\xdc\\x38\\x1a\\x65\\x77\\x46\\x61\\x66\\x74\\x7d\\x94\\x6d\\x20\\x55\\x83\\x12\\x05\\xc9\\x2f\\x49\\xbc\\x12\\x02\\xd0\\x15\\xc5\\xad\\x5a\\xb8\\x20\\x9f\\x23\\x52\\xac\\xa1\\xf2\\x52\\x92\\x86\\xb6\\xae\\x34\\x03\\x9b\\x08\\x53\\x3a\\x3a\\xd9\\x76\\xe3\\x3f\\xdb\\xd4\\x39\\x12\\xe9\\x2f\\xb0\\x3d\\x3a\\x6c\\x7e\\x7a\\x8c\\xe6\\xa9\\xcb\\x06\\x05\\x27\\x5a\\x3c\\x56\\x3c\\x80\\x80\\x3c\\x71\\x24\\xfa\\xb9\\x02\\x2f\\xa8\\x72\\xa2\\x4f\\x73\\xa2\\x84\\xaf\\x8a\\x31\\x8d\\xd3\\xc3\\x63\\x74\\xac\\xd9\\xef\\x86\\xd7\\x7a\\x5d\\x76\\x02\\x4a\\xf6\\x5c\\x72\\x76\\x29\\xe4\\x94\\x9e\\x7d\\xe9\\x1e\\x28\\x39\\x71\\x59\\x2f\\x78\\x0d\\xed\\x46\\x1b\\x6a\\x47\\xb0\\x53\\x55\\x5b\\x72\\x09\\x67\\x8b\\xbe\\x00\\xb7\\xa1\\x17\\xb6\\xb5\\xb0\\x93\\x92\\x0f\\x35\\x6d\\x87\\xa1\\xe8\\x82\\x17\\xa2\\xad\\xc7\\xd8\\x25\\x39\\xc9\\xbb\\x0d\\x7e\\xd5\\xbb\\xed\\x27\\xfe\\x7e\\xe1\\xef\\x58\\x3b\\x5d\\x16\\x6f\\x8c\\xd8\\xf3\\x38\\x8f\\x57\\xcf\\x35\\xe7\\xf1\\x5e\\x8e\\xcb\\xcd\\xe3\\x8a\\x0a\\x23\\x76\\xd9\\x2e\\x63\\xe9\\xd2\\x7e\\xa9\\x7d\\xb5\\x9d\\x5b\\x6c\\x3f\\x62\\x6f\\xb3\\x63\\x71\\x52\\x0c\\x28\\x1e\\x2c\\x57\\x7a\\x3c\\x81\\x80\\xab\\x29\\x11\\xe0\\x19\\xb1\\x29\\x51\\xc6\\x03\\x51\\xcd\\x66\\x62\\xe5\\xec\\x28\\x2f\\xf0\\x3c\\xe6\\xe3\\xf5\\xe5\\x29\\xc1\\x32\\xa3\\x87\\x11\\x63\\x18\\x95\\x2b\\x99\\xba\\x8e\\x7e\\xc6\\x46\\xbe\\x4a\\x21\\x9a\\x57\\x98\\x9f\\x32\\xdf\\x16\\x53\\x1b\\x8c\\x61\\xeb\\xcb\\xaf\\xce\\xab\\x28\\xa7\\x47\\x1c\\x24\\x1a\\x86\\x67\\xaf\\xfc\\x09\\x7d\\x3d\\x0c\\x4c\\x67\\xff\\xb4\\x74\\xf9\\xba\\x87\\xfa\\xf5\\xbb\\xed\\xa6\\x85\\x33\\xf6\\x8d\\x46\\xc7\\x86\\x81\\xeb\\xe3\\x43\\xe0\\xbd\\xf1\\xba\\xdb\\xee\\x47\\x1f\\x39\\x5f\\x7c\\x6d\\x72\\xf2\\xa2\\x96\\xf3\\x12\\xdf\\x36\\x4f\\x3d\\xab\\xf9\\x8f\\x01\\xef\\xec\\x79\\x6d\\xd3\\xd2\\xcd\\x31\\xf7\\xe6\\x65\\xbb\\xbe\\x33\\xfc\\x37\\x08\\xbf\\xa3\\xb4\\xef\\xec\\x78\\xb5\\x0d\\x33\\x21\\x93\\x2c\\xb0\\x2c\\x39\\xeb\\xb1\\xdb\\x04\\x9b\\x20\\x02\\x67\\x66\\xf4\\x66\\x05\\x1a\\x15\\x88\\x2b\\xb0\\x44\\x81\\x99\\x0a\\xec\\x52\\x60\\xbd\\x02\\x65\\x0a\\x84\\x15\\xcc\\xdb\\x21\\x35\\xa5\\xb3\\x49\\x58\\x07\\x0d\\x32\\x2d\\xed\\x88\\xbd\\x49\\x4c\\x96\\x64\\x12\\x9d\\x78\\xfa\\x08\\x1f\\xaf\\x81\\x15\\x20\\x9a\\xd8\\xf3\\x60\\x34\\x3a\\x6e\\x4a\\xae\\x13\\x96\\xb6\\xbe\\x73\\xd1\\x26\\x7e\\xf8\\xf1\\xc5\\x5c\\xfd\\xd8\\xad\\x27\\x5e\\x61\\xb2\\xf8\\xf0\\xc0\\x0c\\x1f\\x3e\\x0e\\xb7\\x60\\x9e\\xea\\x8e\\xcb\\x60\\xb7\\x63\\xa6\\xaa\\x89\\x9a\\x87\\x91\\x32\\x1c\\xd5\\xf0\\x7d\\xf9\\x1e\\xf7\\x43\\x67\\x86\\xc6\\x23\\x36\\xab\\x24\\x5b\\xac\\x9a\\x28\\xb1\\x9a\\xa6\\x4b\\xba\\xd3\\x61\\x91\\x55\\x96\\x55\\x5b\\x12\\x2c\\xab\\x5b\\x31\\x49\\xe1\\x8c\\x86\\x76\\x8e\\x36\\xd2\\x52\\x60\\x2d\\x46\\xa6\\x16\\xba\\xe6\\x80\\xae\\x39\\x3b\\x49\\x1c\\xb6\\x12\\x0a\\x2b\\xe7\\x35\\xbd\\x0b\\x25\\xe8\\x8f\\x2b\\x4a\\xe1\\x7b\\xb4\\x13\\x5d\\xe7\\x1c\\x1b\\x44\\x9f\\x61\\x09\\xe8\\xa1\\x85\\xb7\\xe3\\x65\\x75\\xd1\\x8b\\x31\\xb2\\xac\\x64\\x77\\x72\\x83\\xb1\\xae\\xb0\\x9c\\x2a\\x38\\xa9\\x2c\\x57\\x1a\\xf7\\x82\\xaa\\x3b\\x4c\\xaa\\x83\\x73\\x39\\x1d\\xba\\x0a\\x58\\x82\\xe3\\x44\\x6b\\x73\\x42\\x74\\x64\\xdb\\x48\\xdb\\x3d\\x1d\\xbb\\x11\\x37\\xb9\\xff\\xa2\\x0b\\x3a\\xc9\\x97\\xcf\\xa0\\xef\\xba\\x8a\\x93\\xc7\\x17\\xff\\x35\\xee\\x59\\xf1\\x49\\x31\\xc8\\x6a\\xfe\\xdf\\x31\\xc8\\xfc\\xc9\\xbf\\xa3\\xcf\\xf8\\xc7\\xfe\\x02\\x83\\xac\\xb3\\xbd\\xaf\\x33\\x26\\x18\\x7e\\x37\\xe0\\xfb\\x32\\x1d\\xa7\\xba\\x78\\x40\\xb5\\xc8\\xb2\\xd5\\xae\\x28\\x36\\xab\\x15\\x8f\\x95\\x6c\\xb1\\x88\\x76\\x2b\\xc7\\x88\\xcd\\x09\\x26\\x35\\x54\\xd9\\x19\\xbf\\xcb\\x0d\\xe7\\x6e\\x0a\\xed\\x4a\\xfc\\xba\\xa9\\x4b\\x2b\\x71\\x11\\xc5\\x73\\xc6\\xc2\\xe9\\x23\\xae\\xef\\x39\\x3e\\x31\\xa2\\x74\\x48\\xbf\\xea\\xe4\\x3e\\xa8\\x80\\x65\\xd0\\x13\\x8a\\x93\\xbf\\x0e\\xbb\\x6c\\xb5\\x33\\xe6\\xfb\\xbd\\x67\\x5e\\xc3\\x5c\\x6e\\x63\\xf2\\x0c\\x76\\xd3\\x89\\x17\\x6f\\xba\\x86\\x64\\x3d\\x1a\\xd1\\xf6\\x9b\\x78\\x43\\x06\\x8b\\x6c\\x39\\xc5\\x22\\x0b\\xe7\\x3b\\xcc\\x11\\x85\\xf1\\x77\\xc4\\x22\\x4b\\x01\\x91\\x89\\x0e\\xb7\\xa3\\xc0\\xc1\\x69\\x16\\x87\\xc5\\x61\\x76\\xf2\\x66\\xc7\\x1d\\xc5\\xb0\\x8a\\x42\\x81\\x41\\x33\\x05\\xe6\\x8a\\x53\\xf4\\x2d\\x03\\xb6\\xeb\\x18\\x85\\xed\\x7a\\x9e\\x62\\x76\\x9d\\x45\\x31\\xbb\\x8a\\xe9\\x2d\\xc6\\x80\\x20\\xdb\\x47\\x71\\xbb\\xd6\\x53\\xe8\\xae\\x39\\x14\\xed\\xcb\\x78\\xf2\\x44\\x31\\x1c\\x2e\\x86\\xb7\\xe8\\x93\\x6b\\xd2\\x70\\x60\\xd9\\xf5\\x1e\\x4e\\xd7\\xbb\\x8a\\xd6\\x9b\\x47\\x2f\\xd6\\x64\\x6a\\xdc\\x48\\x6f\\x18\\x35\\xe2\\x17\\x86\\xb2\\x6a\\xdc\\x98\\xae\\x91\\x6d\\xa6\\x55\\x86\\x68\\x63\\x8e\\x14\\xc3\\x7b\\xb4\\x21\\xab\\xe3\\x4a\\x31\\x5c\\x5a\\x0c\\x4d\\x14\\x5d\\xcc\\x80\\x0f\\xcb\\x22\\xe0\\x27\\x63\\x07\\xdd\\x71\\x81\\xce\\x0e\\xfb\\x4d\\x46\\xb8\\x45\\xca\\x85\\xdb\\xb0\\x57\\x76\\x89\\x15\\xaa\\xf8\\x7f\\xc5\\x08\\x9b\\x7a\\xef\\xfd\\x25\\x15\\xb7\\x6f\\x4c\\x2e\\x6c\\x48\\x63\\x84\\x0d\\x01\\xf7\\x90\\x34\\x46\\x58\\x43\\x72\\xe1\\x86\\x3b\\x2a\\x4a\\xfe\\x7f\\x62\\x84\\x11\\x79\\xfd\\x0d\\xea\\x5b\\x57\\x1d\\xf7\\x12\\x59\\x5d\\x60\\x19\\xab\\x95\\x95\\x6d\\x58\\x44\\x37\\x0b\\x2c\\x16\\xda\\x0d\\x99\\x3d\\x05\\x31\\xe9\\xed\\x12\\x52\\xdd\\x2e\\x9f\\x56\\x68\\xfc\\x7b\\x27\\x9e\\xc3\\xf2\\x69\\x1d\\x04\\x5f\\x69\\x17\\x4f\\x4f\\x5c\\x96\\x4c\\x61\\x49\\x5f\\x42\\xfd\\x54\\x96\\x32\\x1a\\xd3\\x2b\\xee\\xb6\\x63\\xf2\\x67\\x92\\x34\\xc9\\xa1\\xa7\\xb4\\x26\\x05\\x0b\\x3c\\x44\\xbe\\xab\\xa0\\x86\\xde\\x6c\\xd7\\x0a\\xea\\x83\\x92\\xf1\\x0c\\x22\\x5e\\x29\\xdc\\xbf\\x0f\\xbd\\x7d\\xf4\\x00\\xe4\\x2c\\x5e\\x7b\\xef\\xe3\\x44\\x8b\\xc3\\x1a\\x12\\x7c\\x85\\xea\\xef\\x9d\\x57\\x45\\xfc\\x4f\\x52\\xfb\\x5e\\x5a\\x4a\\xf5\\x90\\xbf\\xc7\\xdb\\x4c\\x56\\x89\\xe7\\xf0\\xe6\\xb4\\x72\\xb2\\xcd\\x4c\\x32\\xbb\\x71\\x0c\\x87\\x37\\x9e\\x7e\\x55\\x5a\\xf4\\x1f\\x4f\\x95\\x83\\x72\\xaa\\x3d\\xe8\\x54\\x3f\\xf8\\x8f\\x0c\\x07\\xa9\\xb8\\xbf\\x47\\x86\\xad\\x32\\xfc\\x43\\x86\\x9b\\x64\\xc0\\xe5\\x67\\x67\\x95\\xaf\\xa6\\xe5\\xdd\\x32\\x88\\x32\\x4c\\xff\\x46\\x06\\xa2\\x9f\\xec\\xa2\\xda\\xc8\\x7a\\xaa\\x23\\x18\\x4a\\x4c\\x80\\x98\\x0c\\x00\\x2b\\x30\\x5f\\xd1\\xfa\\x8c\\x02\\x1b\\xb3\\x0a\\x60\\xe5\\x22\\x4c\\x95\\x96\\xec\\x62\\xbb\\xb3\\xca\\x60\\x5d\\x23\\x4e\\x75\\x93\\x4c\\xb1\\x5a\\x5c\\xee\\x30\\xd5\\x52\\x0c\\x15\\x07\\xf7\\x82\\xc5\\x0a\\x4e\\x99\\x0c\\xaa\\x0c\\x47\\x64\\x78\\x4f\\x86\\x2d\\xf4\\x2a\\xbd\\x18\\x0f\\x13\\x2d\\xe5\\x08\\x7d\\xf7\\x7a\\xda\\x11\\xe3\\x0e\\xae\\xb4\\x94\\x2a\\x30\\xa6\\xee\\xc2\\xb2\\xbb\\x45\\xc2\\xeb\\x5e\\x18\\x6a\\xfa\\x4b\\xbc\\xbc\\xb4\\xc3\\x54\\x07\\xb5\\xa6\\x22\\x4b\\xad\\x59\\x09\\x41\\xd8\\x8b\\xff\\xbf\\x0f\\xc1\\xf4\\x92\\x21\\x5a\\x4d\\x7a\\x7d\\x9a\\xbc\\x78\\x1e\\x15\\x58\\x1b\\xd7\\x6c\\x8a\\x82\\x79\\xb8\\xd5\\x24\\xf1\\xbc\\x09\\x38\\x4d\\xb5\\x13\\x65\\xb2\\x8d\\xcc\\xa8\\x35\\x3d\\xa5\\x6b\\x34\\xb8\\x4a\\x83\\xb9\\x1a\\x4c\\xd5\\x60\\xa2\\x06\\x43\\x35\\xa8\\xd6\\x20\\x4f\\x03\\xb7\\x06\\xbc\\x06\\x07\\x35\\xf8\\x48\\x83\\x97\\x35\\xd8\\xae\\xc1\\x3f\\x34\\x80\\x9b\\x34\\x58\\xa2\\xc1\\x1c\\x0d\\x9a\\x35\\x98\\xa0\\x41\\xa5\\x06\\x56\\x0d\\x53\\x2d\\x0d\\xf6\\x6a\\xb0\\x5b\\x83\\xad\\x1a\\xac\\xa1\\xb7\\xf1\\xbd\\x62\\x0d\\x9c\\x1a\\xe0\\x5b\\xdf\\xa5\\xef\\x6e\\xcf\\xba\\x7b\\x2a\\x7d\\x58\\xa5\\x2f\\x39\\xaa\\xc1\\x57\\x59\\x35\\x6c\\xd4\\xc8\\x6b\\x96\\x69\\x30\\x93\\x36\\xaa\\x91\\x36\\xaa\\x8c\\x36\\xca\\x28\\x5f\\xf3\\x1d\\x2d\\xba\\x91\\xb6\\x85\\xc5\\x2d\\x89\\x6b\\x10\\xa6\\x75\\xec\\xa2\\x97\\x8c\\x2b\\x21\\x0d\\xda\\x68\\xad\\xb8\\xca\\xf5\\xe9\\xeb\\xb8\\xb2\\xfa\\xb8\\x99\\xde\\x64\\xb4\\x6e\\x30\\x1e\\x66\\x77\\x8f\\x7e\\x78\\x12\\xbc\\xba\\x29\\x59\\x62\\x6f\\xc7\\xb8\\xfa\\xb4\\x6b\\x44\\x45\\x7d\\x17\\xd5\\x28\\x7b\\x22\\x89\\x96\\x44\\x26\\xf3\\x79\\xfc\\xff\\x39\\x4c\\x04\\x8e\\xb7\\x4f\\x27\\xa1\\x02\\x70\\xbb\\x71\\xd6\\xea\\xc6\\x3c\\x7c\\x73\\x4a\\x2f\\x1d\\x17\\xef\\x6d\\xe7\\x64\\x87\\xc3\\x62\\xe2\\x4c\\x58\\x31\\x23\\x6a\\x69\\xca\\x5a\\x8b\\xd5\\x52\\x19\\xab\\xa5\\xb2\\xec\\xb0\\x52\\xc4\\x52\\xce\\x84\\xd5\\x52\\x93\\x7e\\x72\\x95\\x34\\x4d\\x90\\xc8\\xb9\\xb1\\xa1\\x94\\x56\\x45\\x34\\x48\\x69\\xa4\\xfc\\x2b\\x87\\x11\\xd1\\x49\\xfb\\xa1\\x5a\\xf6\\x08\\xbb\\x08\\xeb\\xa3\\xb7\\xc3\\x25\\xa0\\x70\\x8d\\xfb\\xf7\\x10\\xe3\\xd5\\x3d\\xdf\\x25\\xdf\\x43\\x67\\x51\\x8d\\x94\\xa3\\xb4\\x63\\x34\\xa5\\x89\\x0e\\xcc\\xd3\\xcf\\x8e\\xd7\\x38\\x3d\\x26\\x4d\\x13\\x18\\x2c\\x38\\x7a\\x38\\x9f\\xd7\\xa4\\xe2\\x46\\x9a\\x16\\x9b\\x56\\x9b\\xb6\\x98\\x70\\x23\\x4d\\xb8\\x91\\x26\\x93\\xe6\\xc2\\x7a\\xb3\\xd6\\x94\\x70\\x0a\\xfa\\x51\\x1f\\x7c\\x45\\xe3\\x95\\x27\\x93\\x28\\xcb\\x8e\\x26\\xab\\x93\\x59\\xe1\\x3a\\x28\\xcf\\xf8\\xab\\xd0\\x40\\x1a\\x3b\\x04\\x0a\\xe1\\xa9\\x94\\xfa\\xbc\\x1e\\xa6\\x81\\xc2\\x32\\xf8\\x8a\\xa1\\x42\\xa7\\x4d\\x53\\x07\\x53\\xf2\\x49\\x96\\xbe\\x4f\\xda\\x3d\\x31\\x5e\\x69\\x63\\x68\\xab\\x05\\x97\\xb3\\xfb\\x16\\x1b\\x0d\\x16\\xf4\\xb8\\x0b\\xbe\\x72\\xc1\\x4c\\x17\\x94\\xb9\\x48\\x93\\x67\\x65\\xdc\\x99\\xbb\\x28\\xfc\\x27\\x69\\xaf\\xa1\\xec\\xe3\\x96\\x75\\xa7\\xea\\x67\\x4c\\x68\\xc0\\x54\\x63\\x79\\x68\\x32\\xb5\\x73\\x2f\\x8d\\x8f\\xb3\\xc9\\xb2\\x47\\xc4\\x1a\\xbd\\xd7\\xe3\\xe1\\x75\\x2e\\xe0\\x17\\x78\\x2c\\x78\\x10\\x74\\xf7\\xc5\\x58\\xa6\\xda\\x22\\xb4\\x09\\x82\\x87\\x13\\x04\\x46\\x71\\x31\\x4d\\x09\\xc6\\xab\\x7a\\x59\\xc6\\x1b\\xf7\\x36\\x7a\\x97\\x78\\x77\\x79\\xf7\\x7a\\x45\\xab\\xd7\\xeb\\x72\\x28\\x36\\xac\\xa6\\xd8\\x30\\x51\\x30\\xe3\\xee\\xf1\\xd9\\x07\\x42\\x15\\xa5\\x53\\x52\\x8a\\xc8\\x49\\x6d\\xdd\\x99\\x13\\x60\\xe2\\x92\\xa4\\xa7\\xad\\xde\\x5c\\x8d\\xce\\xde\\xbb\\x7d\\xaf\\x9c\\x3c\\xc0\\x46\\x2d\\x6f\\x3e\\xb9\\xf4\\x85\\x48\\xdb\\x12\\x38\\x08\\x63\\xe0\\x1c\\xb4\\x06\\x6d\\x45\\x75\\x1b\\x5b\\xa7\\xef\\x7b\\xe3\\x85\\xef\\xb6\\xbe\\xb4\\xe8\\xc2\\x11\\xb0\\x02\\xad\\x46\\xff\\x40\\x0f\\xa2\\x2b\\xe1\\xd6\\x16\\x74\\x2c\\x35\\x07\\x6d\\x3f\\x49\\x3f\\xe2\\x3e\\x92\\x3c\\x2e\\x23\\xe2\\x05\\xb2\\xd9\\x6c\\xf1\\xdb\\x25\\x27\\x63\\x91\\x18\\x2e\\x12\\xd6\\x3c\\x4d\\x09\\x8d\\x97\\x4d\\xcd\\x09\\x19\\x0b\\xf2\\x9c\\x45\\xe7\\x83\\x4d\\x09\\x3e\\x25\\x00\\x52\\x6f\\x4c\\x26\\xdb\\xfc\\x90\\x19\\x74\\x8a\\x6d\\xcc\\xa5\\xb6\\x99\\x9e\\xf1\\x24\\x48\\x85\\x54\\x48\\x3f\\xae\\x47\\xfb\\xde\\x44\\x07\\xd1\\xc3\\x39\\xe8\\x5f\\xc4\\xac\\x09\\x81\\x18\\x9c\\x0e\\x0e\\x2c\\x29\\x4c\\x41\\x1f\\x3c\\xf7\\xe8\\xd6\\x67\\x77\\x3c\\xfc\\xd8\\x73\\xec\\x6b\\x07\\xd0\\xf6\\x6d\\x70\\x0a\\x14\\x18\\xd6\\x4d\\xf0\\x42\\x6f\\xb4\\x14\\x6d\\xfd\\x01\\xb5\\x31\\x87\\x7e\\x46\\xc7\\x81\\xb6\\x3f\\x96\\xd1\\x9b\\x5c\\x4c\\x22\\x5e\\x6e\\x03\\xdd\\x62\\x31\\xcb\\x0c\\x63\\xe7\\x79\\x33\\x70\\x1e\\x37\\x68\\x36\\x0d\\xf3\\x6b\\x0d\\xcb\\xd2\\x92\\xb3\\x29\\x21\\x71\\x16\\x46\\x57\\x68\\x18\\x7c\\xd8\\x53\\xe6\\x59\\xef\\xe1\\x26\\xcf\\x9a\\x9c\\x92\\xaa\\xb3\\x81\\xd5\\xb2\\x95\\x41\\x42\\x34\\x68\\x2c\\x4b\\x5e\\x05\\xed\\x0f\\x38\\x30\\x5b\\x27\\x0b\\x29\\x06\\x8b\\x56\\x6f\\x02\\xc7\\x09\\x76\\x17\\xfa\\x14\\x3d\\x80\\x9e\\x8d\\x2d\\x5e\\x04\\x57\\xa1\\xe5\\xa8\\x95\\x6d\\x8c\\x7e\\xbc\\xe6\\x2d\\xac\\x01\\xb0\\x9e\\xe4\\x0f\\xdc\\xfb\\x53\\x67\\xc1\\xfa\\x74\\x8e\\x88\\x25\\xd4\\xdf\\x61\\x28\\x6d\\xfb\\x14\\xfc\\x7d\\xbd\\xf0\\x05\\x5e\\xff\\x51\\xa6\\x3e\\x1e\\x89\\x88\\xae\\x1c\\x46\\x51\\x5c\\x79\\xb1\\x88\\xcd\\xc6\\x35\\x24\\x6c\\x36\\x73\\x80\\xd1\\xcd\\x0d\\x09\\xdd\\x3d\\x33\\x0f\\x9a\\xf3\\x60\\xd6\\xac\\x2c\\xcf\\xfd\\x6c\\xd8\\x83\\xb4\\x3b\\x67\\xca\\x53\\x83\\x2b\\xd7\\x0d\\xf7\\x0d\\xad\\x52\\x1f\\x08\\x79\\xf9\\x2e\\x91\\xb7\\x83\\xa4\\x73\\x0b\\x66\\x2e\\x5e\\xbe\\x78\\xfe\\x15\\xd7\\xcd\\x7d\\xe9\\xc4\\x4f\\x78\\xf4\\x8f\\xa1\\xc3\\xe8\\xcf\\x8a\\x4b\\xb7\\x82\\x15\\x36\\x7f\\x88\\x66\\x6d\\x19\\x2d\\x9c\\x0f\\xbf\\x6d\\xbe\\xef\\xbe\\xcd\\x0f\\xfe\\x63\\x3d\\xfb\\x34\\x3a\\x81\\x8e\\xa3\\x3f\\x50\\x12\\x86\\xc0\\x98\\x87\\x81\\x7d\\x76\\xd1\\xe8\\xca\\xc3\\xee\\xf8\\xf9\\xbb\\x1e\\x85\\xbe\\x24\\x9e\\x90\\xe0\\x1d\\xdd\\x45\\x70\\x64\\x30\\xc5\\x09\\xe3\\xdd\\xdb\\x3b\\xc8\\xb2\\x3e\\x87\\xd9\\xa7\\x28\\xb2\\x2c\\x9a\\xb9\\x68\\x44\\xf0\\x79\\x7c\\x9e\\xf1\\x09\\x9b\\x2f\\xc7\\xc7\\xaa\\x9c\\xcf\\x27\\xdb\\xed\\xde\\xf1\\x09\\xbb\\x22\\x2b\\xe3\\x13\\x72\\x17\\xaf\\x8c\\xec\\x71\\x37\\x7c\\x7a\\x0d\\xa4\\x4e\\x8d\\x64\\x71\\xa7\\xa0\\x13\\x78\\xeb\\x42\\x5a\\x17\\xf7\\xa5\\xb1\\xec\\xd8\\x07\\xe1\\xa3\\x25\\x97\\x2d\\x5f\\x75\\x64\\x7f\\x72\\x07\\xf8\\xbf\\x5d\\x36\\x63\\xf6\\xca\\x4f\\xf6\\x2e\\x38\\xaf\\x79\\x36\\xdf\\x17\\xfd\\x32\\x65\\xa1\\x4b\\x52\\xaf\\x9a\\x71\\x0f\\x6e\\x66\\xeb\\xe5\\x43\\x1a\\x4f\\x1f\\x0a\\x5b\\x51\\x6b\\xdf\\x51\\x43\\x06\\xa6\\xf0\\x9a\\xb8\\x5c\\xdc\\xfe\\x14\\xd6\\x39\\x50\\x9b\\x5d\\x43\\x42\\x50\\x88\\xb7\\x4c\\x17\\xac\\x73\\x2e\\x17\\xad\\x42\\x07\\xf9\\xbe\\x3b\\x5a\\x97\\xf1\\x46\\x4c\\x99\\x1d\\x4d\\xe7\\xff\\x8d\\x3f\\x13\\xa5\\x6c\\x4c\\x3c\\x87\\xb7\\x13\\x8f\\x05\\x8e\\xb8\\x49\\xd8\\x44\\x49\\xb2\\xa9\\x9c\\xd3\\x61\\x03\\x3c\\x87\\x8a\\x26\\x12\\xa6\\x6f\\xb6\\x73\\x26\\xc1\\x84\\xeb\\xcf\\xf2\\xdb\\xeb\\x62\\xb7\\x4b\\xed\\x9e\\x18\\x2b\\x45\\x04\\xc3\\x76\\xe7\\x30\\x78\\x14\\x37\\xf8\\xa7\\x21\\xe7\\xc1\\x9a\\xe4\\x4b\\xbf\\x2d\\x1a\\x39\\xbd\\x94\\xfd\\xcf\\x2d\\xbf\\x71\\x57\\x24\\xdb\\x5e\\xdc\\x81\\xa6\\xb3\\x13\\x67\\xc2\\x43\\x70\\x6e\\xeb\\xb2\\xe4\\xc3\\x98\\x5b\\xa5\\x7c\\x6a\\x7a\\xd1\\x35\\x36\\x92\\xda\\xeb\\x8e\\xe0\\xfd\\xf1\\x22\\x6e\\x67\\x84\\xf9\\x3d\\xfe\\x94\\x16\\xb6\\x47\\xcc\\x26\\xb7\\x27\\x1c\\x89\\x98\\x3c\\x02\\x1b\\xf4\\x4b\\x7c\\x4e\\x20\\x10\\xe3\\x78\\x3e\\x1a\\x64\\xfd\\x58\\x7a\\xb6\\xb3\\x58\\xca\\xb5\\xdb\\x39\\xb7\\x62\\x56\\x22\\x39\\x9c\\xab\\x94\\xe0\\x13\\x94\\xc6\\x1a\\x62\\x8b\\x63\\xeb\\x62\\x3b\\x63\\x47\\x62\\xd2\\x25\\x4a\\xac\\x3e\\xd6\\x84\\xbf\\x6f\\x89\\xbd\\x47\\xbe\\x97\\xe2\\x2f\\x97\\xe2\\x9b\\xef\\xc5\\x04\\x25\\x16\\xa2\\x25\\x57\\xd3\\x92\\x6d\\x31\\xd3\\x00\\xf2\\xbd\\x89\\x7e\\x7f\\x0f\\x7f\\x97\\xc8\\xa3\\xe4\\xc1\\x23\\xa4\\x2c\\x79\\x90\\x3e\\x66\\x65\\x62\\x33\\x63\\x6c\\xff\\xe6\\xd8\\xde\\x18\\xab\\xc6\\x1a\\x63\\x4b\\x62\\xbb\\x62\\x47\\x63\\x02\\x13\\x0b\\xe3\\xeb\\x5f\\xc5\\x78\\x53\\x97\\xb4\\x07\\x34\\x4b\\x8d\\x11\\x77\\x57\\x91\\xc2\\xa9\\xd1\\x08\\x9a\\x56\\x6a\\xe9\\x74\\x3a\\x48\\x8f\\x16\\x72\\x69\\x1b\\x16\\xeb\\xc1\\xd7\\x06\\xb2\\x69\\x1b\\x16\\x27\\xc6\\xb4\\x18\\x7b\\xc6\\xe0\\xd0\\x97\\xe8\\x63\\x18\\x18\\xab\\xfb\\x04\\xf4\\x15\\xc5\\xf5\\xe5\\x3d\\x5a\\x8b\\xca\\x07\\xf4\\x5e\\x01\\xfa\\x27\\x95\\x45\\x30\\x10\\x7d\\xfc\\xa5\\x7f\\x44\\x2b\\xbc\\x61\\x45\\x25\\x6c\\xbf\\xe0\\x79\\xb0\\x08\\xb5\\x9d\\x36\\xb9\\x90\\x85\\xcf\\x50\\x01\\x5b\\x90\\x38\\x03\\x00\\x5d\\xdd\\x12\\x49\\xbe\\x0a\\xfb\\xac\\xa8\\x06\\xaf\\xab\\xaa\\xb6\\x9f\\xb8\\x27\\xf9\\xb1\\x4c\\x21\\x73\\x59\\x3c\\xee\\xf1\\x6a\\xb9\\x5e\\x7b\\x24\\x97\\xe7\\x2c\\xf9\\x3c\\x97\\xcf\\xf5\\x28\\xa2\\x26\\x2c\\xbc\\x0d\\xec\\x01\\x06\\x53\\x21\\x0b\\x87\\x7f\\x59\\x79\\x62\\xb9\\x72\\x8e\\x4f\\x04\\x54\\x46\\x1a\\x97\\x60\\x78\\x95\\x67\\x79\\x9e\\x71\\x37\\xf4\\x20\\xf6\\xec\\x72\\x03\\x3c\\x2f\\xc3\\x2a\\x52\\x66\\xab\\x8e\\x00\\x90\\x19\\x67\\x26\\x21\\xe3\\x2a\\x40\\x91\\x1e\\x53\\x16\\x2b\\x31\\xcb\\x3d\\xcd\\xd8\\x4c\\xf0\\xf3\\x13\\x9f\\xf7\\xf8\\x45\\xbb\\x68\\x54\\x63\\x62\\xf9\\x7d\\x6b\\xaf\\x19\\x3b\\x72\\x7c\\x93\\xf4\\xb3\\xef\\xd0\\x53\\xdb\\x0f\\x2c\\x5a\\xb8\\xe4\\x8e\\x5f\\x9c\\xeb\\xd7\\x94\\x9c\\x72\\x66\\x43\\x7c\\xc2\\xe8\\xc7\\x47\\x8c\\xe9\\x3f\\x64\\xec\\x60\\xf7\\xad\\x77\\xde\\x75\\xe5\\x39\\x57\\xf9\\x59\\xfb\\xea\\xe9\\xb7\\x3d\\x4a\\xf6\\xcf\\x8d\\x78\\xff\\x13\\xec\\x2b\\x85\\xe9\\x19\\x77\\x0a\\x26\\x93\\x24\\x69\\x32\\xa3\\xd8\\x78\\xbb\\xe4\\xc2\\x4c\\x10\\x8b\\x7d\\x93\\xd3\\x48\\x67\\x90\\x95\\x58\\x90\\x6c\\x67\\xc3\\xf8\\x54\\x5d\\x83\\xff\\xc2\\x1a\\xbb\\x08\\xbb\\x20\\x88\\x5a\\xed\\x22\\x1a\\x83\\xf6\\xe1\\x5d\\xeb\\xef\\xfd\\x66\\x21\\x27\\x9c\\xd8\\xc3\\x16\\x94\\xdf\\x12\\x68\\x3d\\xc1\\x13\\x3f\\x14\\xfa\\x2e\\xe1\\x98\\x5e\\xc0\\xfd\\x90\\xb2\\x41\\x91\\xc4\\x4d\\xc4\\x06\\xa5\\xaa\\x5a\\x01\\x38\\x4c\\x0e\\x9f\\x5d\\xcc\\xb2\\x41\\x91\\xf2\\x2c\\x6e\\x9b\\xce\\x0c\\x8c\\x07\\xad\\x76\\x93\\x4e\\xcc\\x4f\\xba\\x43\\x32\\x99\\x64\\x9b\\xcd\\x69\\xb7\\xaa\\x2a\\xcb\\xea\\x36\\x97\\x44\\xb2\\x37\\x90\\x36\\x1a\\x6b\\x08\\x2a\\x52\\xcb\\xa9\\xdd\\x02\\x88\\xb7\\xdf\\x40\\x2e\\x6b\\xb1\\x44\\x6e\\x04\\x7f\\xcf\\xa2\\xde\\x75\\xd7\\x80\\xfe\\x6e\\x49\\x5f\\xbc\\x36\\xbe\\xfe\\x21\\x54\\x41\\xe8\\x02\\x2a\\x63\\x03\\x03\\xce\\x03\\x0d\\x5d\\x3d\\xbe\\x0c\\xaf\\x85\\x37\\xad\\x68\\x10\\x6e\\x87\\x0b\\xef\\xc5\\xe5\\x34\\xee\\xb4\\x57\\xdc\\xcb\\x6a\\x8c\\xc3\\xaa\\x11\\xbb\\x93\\x86\\xe9\\x8c\\xa6\\x48\\x72\\x43\\x42\\x72\\x33\\x94\\xda\\x74\\x60\\xa2\\xd4\\xaa\\x63\\x49\\xc5\\x98\\x18\\x76\\x27\\xdc\\x0e\\x6e\\x06\\x7a\\xb3\\xaa\\x7e\\xe4\\x25\\x93\\xf3\\x9a\\x3c\\xbe\\xe2\\xda\\x7e\\xfd\\x86\\x72\\xfd\\xb8\\x2b\\xd0\\x7c\\xb4\\xef\\x8e\\x21\\x26\\x61\\xa7\\x79\\x3a\\x94\\xc1\\xaf\\x27\\xf6\\x30\\x29\\xda\\x66\\xf8\\x52\\x41\\xff\\xf8\\x7e\\x06\\xeb\\x1f\\x82\\xe1\\x50\\x65\\xb8\\x53\\x39\\x59\\x2b\\x2b\\xda\\x25\\x45\\x03\\xd1\\x75\\xaa\\x1b\\xf2\\xdc\\x70\\xcc\\x0d\\xfb\\xdd\\x70\\x97\\x1b\\x96\\xb9\\xe1\\x22\\x37\\xf4\\x73\\x43\\xb1\\x1b\\x6b\\xf3\\xc0\\xbb\\xe1\\x82\\xef\\xdc\\xb0\\xdd\\x0d\\x73\\xdc\\x30\\x34\\x7d\\xf5\\x84\\x1b\\x0e\\xbb\\x61\\x9f\\x1b\\x9e\\x77\\xc3\\x2a\\xfa\\xc0\\x04\\x37\\x54\\xd2\\xd2\\xf8\\xe2\\x1a\\x37\\x2c\\x74\\xc3\\x54\\x37\\x18\\x55\\x5b\\xdd\\x50\\x77\\x82\\x56\\xff\\x96\\x1b\\xb6\\xba\\x61\\x23\\x2d\\xd1\\xa9\\xba\\x23\\xf4\\xee\\x4e\\x37\\xb0\\x5b\\xdc\\x70\\x93\\x1b\\x66\\xba\\xa1\\xc1\\x0d\\x21\\x37\\x1c\\x75\\xc3\\x57\\x6e\\xd8\\x45\\x2f\\x2e\\x76\\x43\\xb3\\x1b\\x1a\\xdd\\x50\\xe6\\x86\\xb0\\x1b\\x14\\x77\\x57\\xf5\\xa1\\xa9\\x7b\\xe8\\x89\\x4e\\x8a\\x43\\xb6\\xee\\x68\\x50\\x12\\x83\\x82\\x74\\xa4\\xc5\\xff\\x8f\\x7e\\x64\\xc9\\xeb\\xf9\\xbe\\x9d\\xfc\\xc8\\x0c\\x4c\\xc0\\xe1\\x34\\x26\\xaf\\x1f\\x56\\x69\\xb1\\x64\\xc5\\x8a\\xa2\\x60\\x11\\x6c\\x58\\x81\\x6d\\x48\\x84\\x00\\x16\\xc3\\x6a\\x60\\x01\\x2c\\x82\\x8b\\x4b\\x2f\\xc5\\xd2\\xec\\x64\\x11\\x5d\\x0f\\xd4\\x30\\xad\\xbf\\x1a\\xfc\\x98\\x77\\x2f\\xa2\\xab\\x6e\\x02\\x6c\\x3e\\xb1\\x07\\xde\\x43\\x7d\\xf0\\x4b\\xba\\xc1\\xc8\\x4a\\xbf\\x9f\\xda\\x12\\x05\\x91\\x05\\x11\\x4c\\x66\\x89\\x27\\x48\\x45\\x22\\x8d\\x33\\xed\\x60\\x4b\\x4c\\xbf\\x87\\x1f\\x9e\\xae\\xff\\xc4\\x1e\\xee\\x0a\\xca\\xf0\\x70\\xdd\\xd7\\x12\\xdf\\x41\\x7e\\x1c\\xae\\xfb\\xb4\\xae\\xbe\\x9b\\xf8\\x5d\\x44\\x28\\xd8\\x46\\xde\\x05\\x77\\xc4\\xdb\\x38\\x91\\x15\\x25\\xce\\x64\\xe6\\x5d\\x9c\\xc4\\x48\\x0d\\x09\\x46\\x59\\x6e\\x86\\x73\\xcc\\x30\\xc1\\x0c\\x43\\xcd\\x50\\x6d\\x86\\x02\\x33\\xfc\\x6e\\x86\\xef\\xcc\\xf0\\x91\\x19\\xf6\\x98\\x61\\xad\\x19\\x70\\x81\\xb9\\x66\\x98\\x96\\xbe\\x2b\\x9a\\x61\\x7a\\xe6\\xde\\x1c\\x7a\\x63\\x62\\xfa\\x9e\\x6e\\x06\\x2c\\xdb\\x1d\\x33\\xc3\\x41\\xfa\\xfc\\x53\\x66\\xf8\\x87\\x19\\x6e\\x31\\xc3\\xb2\\xac\\x92\\xf8\\x35\\xe5\\x66\\xc8\\x33\\x83\\x93\\xd6\\x65\\xbc\\x6c\\x9f\\x19\\x76\\x9b\\x61\\xbb\\x19\\x1e\\xa0\\xd5\\x66\\xca\\xe3\\x66\\x0d\\xa7\\x95\\x67\\xca\\xd7\\xfe\\x9e\\xae\\x3d\\xfb\\x01\\xa3\\x13\\xd0\\x68\\x86\\xb8\\x19\\x2a\\x69\\xf1\\xa3\\x66\\xf8\\x2a\\x5d\\xf1\\x1a\\x33\\x2c\\x31\\x03\\x3b\\xd3\\x1c\\x2f\\x80\\x66\\x33\\x94\\x99\\x21\\x6c\\x06\\xd5\\x0c\\x8c\\x19\\xf6\\x9a\\x61\\x97\\x19\\x66\\x9a\\xc9\\xf5\\x38\\xbd\\x8e\\x2f\\x9a\\xa6\\x74\\xb1\\xc5\\xa5\\x16\\x69\\xd3\\x49\\x4f\\x6c\\x4e\\x9e\\x08\\xa0\\xeb\\xb9\\x6d\\xda\\x92\\x91\\x5a\\xd9\\x46\\x66\\x0c\\x32\\xc5\\x7d\\xb9\\xf9\\xe8\\x7d\\x3c\\xc9\\xef\\x53\\x81\\x86\\x23\\x79\\xf4\\x18\\x15\\xcf\\xef\\x74\\xbe\\x2f\\x9e\\xcf\\xb3\\x29\\x5e\\xc4\\x78\\x34\\x49\\x7c\\x54\\x78\\x1b\\xcb\\x0d\\x25\\x4c\\x35\\x6c\\x88\\xb7\\xe5\\x94\\x5b\\x2c\\x81\\xa8\\xb5\\x48\\xef\\xc5\\xe8\\x56\\x86\\xab\\xad\\xe9\\x59\\xc5\\x55\\x35\\x24\\x14\\xce\\x5d\\x9a\\xef\\xca\\xc7\\xeb\\xd9\\xa5\\x06\\x18\\x4b\\x60\\x59\\x2d\\xcc\\xad\\x85\\x69\\xb5\\x30\\xb8\\x16\\x2a\\x6b\\x21\\x5a\\x0b\\xce\\x5a\\x10\\x6b\\xe1\\x58\\x2d\\x7c\\x54\\x0b\\x7b\\x6a\\x61\\x5b\\x2d\\x6c\\xac\\x85\\x5b\\x6a\\x01\\x97\\x9c\\x43\\x4b\\x4e\\xa8\\x85\\xa1\\xb5\\x50\\x5d\\x0b\\x79\\xb5\\xe0\\xa6\\x85\\xa7\\x1f\\xac\\x85\\xdd\\xb5\\xf0\\x14\\x2d\\x6a\\xd4\\x38\\xb1\\x16\\x86\\xd3\\x1a\\xdd\\xb4\\x2e\\x5c\\x60\\x1f\\x2d\\x83\\xab\\x4b\\x15\\x9a\\x5a\\x0b\\x71\\x5a\\x07\\x5f\\x0b\\xdf\\xd5\\xc2\\xae\\x5a\\xd8\\x5e\\x0b\\x6b\\xe8\\x4b\\xca\\xe8\\x75\\x95\\xde\\xaa\\x3d\\x5a\\x0b\\xfb\\xe9\\xa3\\xc6\\x63\\x67\\xd1\\xb7\\x1b\\x8f\\x1d\\x4b\\xd7\\xba\\x95\\xde\\xbd\\xa9\\x16\\xcf\\x66\\x2d\\x34\\x92\\x8a\\xf1\\x9c\\x86\\x6b\\x21\\x54\\x0b\\x6d\\xb5\\xf0\\x25\\xad\\x7d\\x7d\\x2d\\xac\\xab\\x85\\xc5\\xb5\\xd0\\x44\\x5f\\x80\\xef\\x2a\\xb5\\xd9\\x96\\xa9\\xc9\\x9d\\x67\\xf5\\xa4\\x16\\xd8\\x93\\x4d\\x63\\xf6\\x7c\\x13\\x08\\xd7\\x93\\x81\\x39\\xa5\\x34\\x00\\x12\\x25\\x95\\x06\\x8a\\x24\\xa0\\x91\\x19\\x68\\xeb\\x42\\x7c\\x81\\x80\\x3a\\xa5\\x74\\x04\\x12\\xcd\\x97\\xaf\\xa6\\xb5\\x05\\xf1\\xd1\\x37\\xb6\\x9f\\x7f\\x4f\\x4f\\x51\\x44\\x27\\xd8\\x09\\x3f\\x3e\\xf6\\xe2\\xeb\\x4f\\x5d\\x74\\x67\\x11\\xcb\\x82\\x30\\xe9\\xd0\\xa3\\xbb\\x5a\\x27\\x9c\\x77\\x6e\\x4b\\xcb\\xae\\x96\\x0b\\xd8\\x6b\\x5f\\x6e\\x9e\\x7e\\x7e\\xf3\\x2b\\x6c\\x14\\xfd\\x82\\x3e\\x6d\\x69\\xca\\xbd\\x1d\\xb5\\xb0\\x89\\xdd\\x50\\x04\\x26\\x90\\x21\\xff\\x9c\\xc9\\xdb\\x60\\x55\\x72\\xc7\\x6b\\xe8\\x4b\\xf4\\xeb\\xa3\\x3b\\x9f\\xd8\\x85\\x6e\\x7a\\x6d\\x0b\\xcc\\x78\\x79\\xdb\\x63\\xbb\\xc8\\xda\\xb2\\x63\\x3a\\x34\\x95\\xae\\xad\\xb3\\x52\\xbe\\xbe\\xd3\\xf9\\x4f\\x52\\x58\\xa9\\x32\\x2f\\x49\\x16\\x8e\\xb1\\x98\\xcd\\x8c\\x6c\\xb3\\x10\\x51\\xd9\\x8a\\x95\\x6a\\x62\\x1d\\xc3\\x64\\xc3\\x95\\x31\\xc6\\xd5\\x77\\x22\\x8a\\x15\\x59\\x16\\x9c\\xd5\\xe0\\x27\\x54\\xf1\\x96\\xdf\\xb0\\x9c\\xbf\\x8c\\x50\\x2c\\x2a\\x0b\\x1b\\xf9\\x03\\x28\\xd6\\xa5\\xce\\x94\\xc5\\x3d\\x22\\xd6\\x0b\\x41\\x33\\x6b\\x4e\\x87\\x88\\x05\\xdc\\x46\\x2c\\x82\\x99\\xd3\\x12\\x40\\x07\\x75\\x2a\\x23\\xa9\\x10\\x9f\\x6b\\xfa\\x0e\\xc9\\xb0\\xe6\\xc2\\x45\\xf7\\xf6\\x3e\\x7d\\x36\\xf8\\xd0\\xa1\\xd3\\xef\\x58\\x75\\xcb\\x7a\\x4c\\x7e\\xaf\\xbc\\x5b\\x0e\\xc3\\x2f\\x98\\x02\\xaf\\xcb\\xad\\xbd\\x7f\\x2d\\x3c\\x95\\xa2\\xb9\\xa2\\x97\\xf4\\x0d\\x1e\\x8a\\xb7\\x99\\x04\\x33\\xc3\\x03\\x08\\x0c\\x87\\xfb\\x26\\xb2\\x8a\\x09\\xeb\\x19\\x0d\\x09\\x70\\x5d\\x95\\xf6\\x19\\x99\\x28\\xc3\\xf0\\x8e\\x76\\xdc\\xdf\\xa9\\x1d\\xf7\\x23\\x6a\\x50\\xdd\\x4e\\xed\\xb8\\x6b\\x64\\x58\\x4e\\xcb\\x4f\\xa3\\x96\\x55\\x5c\\x3e\\x4a\\x0b\\xb3\\x32\\x4c\\x3f\\x96\\x65\\xf5\\xdd\\x96\\xb6\\xc0\\xce\\x4d\\x1b\\x61\\x87\\x53\\x23\\xac\\x9b\\x1a\\x87\\xbf\\x4b\\x57\\xfa\\x94\\x0c\\x0f\\xc8\\xb0\\x36\\x5d\\xac\\x93\\x65\\xd8\\x68\\x81\\x51\\xe1\\x76\\x5a\\x72\\x79\\xba\\xe4\\x70\\x5a\\xcc\\x49\\xad\\xc7\\xc4\\x9e\\xfb\\x29\\x6d\\x1d\\xb1\\xce\\x2e\\x4b\\x1b\\x68\\xd9\\x38\\xb5\\xf9\\x32\\x29\\x9b\\x6e\\xbc\\x94\\x58\\x75\\x71\\x81\\xd5\\x32\\x34\\x53\\xf3\\x6d\\x19\\x35\\xdf\\x7e\\x45\\x3d\\x63\\xb6\\xd2\\xeb\\x19\\xcb\\x2e\\x93\\x6d\\xd6\\xcd\\xa6\\x6f\\x4d\\x69\\x8a\\x78\\x72\\xc0\\xcd\\xbf\\x82\\xdc\\x9c\\xfc\\xbf\\x6d\\xbb\\x3d\\xb2\\x58\\xac\\xe8\\x3d\\x3e\\x0f\\xf3\\xc9\\xfe\\xf8\\x7f\\x3f\\x10\\xd3\\x2b\\x0a\\xd3\\x48\\x63\\xdd\\x8a\\x9b\\x89\\xcc\\x0b\\x4f\\xc5\\x35\\x93\\xd5\\x6a\\xb7\\xcb\\x86\\x9d\\x5e\\xce\\xd8\\x76\\xad\\xe9\\x95\\x6b\\xc6\\xab\\xf8\\x16\\x6a\\x46\\x9d\\xa3\\xc1\\xb4\\x2e\\xb6\\xdd\\xdf\\xa9\\x61\\x77\\xb7\\x06\\xdb\\xa8\\x21\\x75\\x0d\\x2d\\x69\\x58\\x81\\x27\\x68\\x30\\x5c\\x83\\x72\\x0d\\xa2\\x1a\\xe8\\xd4\\xe0\\x7a\\xfe\\xef\\xd4\\x8a\\x9b\\xb1\\x04\\x3f\\x40\\x1f\\x58\\xde\\xb1\\xea\\x02\\x5a\\xf4\\x18\\xb5\\x19\\xef\\xd3\\x60\\x8f\\x06\\x4f\\xa5\\x5f\\x7f\\x8e\\x06\\xc4\\xf2\\x5a\\x99\\x65\\xc3\\xc5\\xd5\\xed\\xa7\\xef\\x5f\\x43\\xed\\xbc\\x8d\\xd4\\x64\\x5b\\x49\\xed\\xb8\\x4e\\x6a\\x9b\\xad\\x39\\x46\\xab\\xd9\\x9a\\x6e\\xde\\x92\\x74\\xdb\\x32\\xb5\\x9c\\xa0\\x55\\x3c\\xaf\\xc1\\x5d\\x1a\\xac\\xc2\\xbb\\x83\\xdc\\x8d\\x47\\x20\\x40\\x1b\\xb1\\x9f\\xbe\\xdb\\x78\\xa2\\x1f\\x35\\x46\\xe3\\x27\\x58\\xc3\\xe6\\xdb\\xd4\\x79\\x5e\\x4e\\x32\\x75\\xd9\\xf4\\xf3\\xff\\xec\\xc9\\x40\\x25\\xba\\x94\\x86\\xfd\\x3f\\x6d\\xbf\\xab\\xf1\\x2c\\x0f\\x30\\x66\\xbb\\x9d\\x7a\\xb4\\x53\\x10\\xa2\\xe7\\x17\\x60\\x59\\x7a\\x09\\x9e\\x73\\x1b\\x26\\x46\\x03\\xe2\\x21\\x9b\\x59\\x96\\x25\\x8d\\xe3\\x24\\x8f\\xdb\\xe6\\x1a\\x9f\\xb0\\xd9\\x24\\x4c\\x56\\x1a\\x12\\x16\\x2c\\xce\\x8f\\x4f\\x48\\xae\\x6e\\xd3\\x52\\xa5\\xc4\\x49\\x30\\x10\\x90\\xa8\\x99\\xd7\\x97\\x31\\x65\\x70\\x8f\\x1e\\xfe\\xd7\\xd1\\x6f\\x92\\x3f\\xa3\\x55\\xec\\xea\\x17\\x16\\xcf\\x9a\\x71\\xf5\\x8b\\xec\\xb5\\x77\\x6e\\xbc\\x6f\\x13\\x77\\xc5\\x0e\\xac\\x11\\x15\\x8d\\x38\\x6d\\xec\\x50\\x26\\x65\\x6f\\x11\\x89\\x2c\\x67\\xa1\\x36\\xde\\xa1\\xf1\\x7c\\x8b\\x15\\xaf\\x35\\xc5\\xe9\\xf1\\x60\\x62\\xe9\\xf5\\x59\\x1c\\xe3\\x13\\x16\\x8b\\xe4\\x32\\x29\\x92\\x75\\x7c\\xc2\\x29\\xb9\\xf6\\xfa\\x60\\x89\\x0f\\x3a\\x18\\x74\\xbb\\xd8\\x72\\x33\\x0d\\x6a\\x6f\\x0e\\x4d\\xc0\\xf9\\xec\\xe1\\xff\\xfc\\xf1\\x7d\\xf2\\x43\\xf0\\xef\\xbb\\x6a\\xfe\\x9c\\x6b\\x3e\\xe4\\x96\\x81\\x8f\\x34\\x6a\\xdd\\xc3\\x98\\xe6\\xe1\\x36\\x8d\\x1a\\x37\\x7a\\x38\\xca\\x27\\xe2\\x21\\x1e\\x1f\\x22\\x63\\xae\\x4d\\xb5\\xab\\x6f\\x3c\\x44\\x5a\\xa5\\x70\\x12\\xe7\\x74\\xa5\\x5a\\x64\\x34\\x08\\xb7\\xc7\\x05\\x61\\x57\\x06\\xc6\\x2f\\x0b\\x38\\xe1\\xe4\\x6d\\xe9\\xdc\\x8e\\xce\\x6d\\xa0\\xbc\\xa4\\x12\\xcb\\xa1\\x01\\xac\\x6f\\x07\\x99\\xd9\\xf1\\x41\\x16\\x49\\xf2\\xa8\\x1a\\x5e\\xbf\\x8c\\xc9\\xc3\\x85\\x72\\x4d\\x0a\\xa6\\xf8\\xbc\\xd9\\xec\\x77\\xfa\\x31\\xd9\\xad\\x04\\x08\\xc3\\x12\\x22\\x70\\xfb\\xdd\\xfd\\x54\\x90\\x55\\xb0\\x72\\x8a\\x1a\\x52\\x59\\x55\\x50\\x55\\xa7\\x13\\xab\\x63\\x4e\\x95\\xe9\\xa0\\x68\\x13\\xbb\\xec\\xe4\\x2c\\x17\\xe4\\x2e\\x68\\x74\\x0e\\x9a\\xc3\\x34\\xcb\\x30\\x9b\\x49\\x64\\x4a\\x62\\xa8\\x2a\\x69\\x0e\\xd3\\x0b\\x2e\\x90\\xd0\\x5b\\x50\\x25\\x4d\\x9f\\xd6\\x21\\x97\\xe9\\xef\\xcb\\xfe\\xb9\\x04\\xa6\\xcb\\x53\\xcf\\xbb\\xea\\xb6\\x1d\\x37\\x2c\\xea\\x90\\xca\\xb4\\xf9\\x51\\x32\\xae\\x6d\\x3f\\x89\\xd7\\xe0\\x7e\\xe9\\x4c\\x0e\\x73\\x7a\\xbc\\xcc\\x2b\\x8b\\x0e\\xc3\\xfb\\x54\\x64\\xb8\\xdc\\xa0\\x0d\\x0b\\xd5\\x8a\\xad\\xd4\\x56\\x6f\\xe3\\xec\\x9c\\xcd\\xa6\\x72\\xaa\\xbb\\x21\\xa1\\xaa\\x16\\xc5\\xec\\xe2\\x02\\x59\\x98\\xb2\\x9d\\xe0\\xd5\\x3b\\x04\\xfe\\x53\\xa4\\x4f\\xa6\\x30\\x66\\xec\\x86\\xea\\xbc\\x8a\\x94\\x91\\x96\\x1e\\x5a\\x8a\\xd7\\xa0\\x43\\x7f\\x7e\\x8d\\x8e\\xba\\x76\\xa3\\x83\\xe0\\x7f\\x3d\\x04\\xca\\x67\\x4c\\x1b\\xc8\\xe8\\xb3\\x39\\x97\\xfc\\x34\\x67\\xc6\\xbf\\xd9\\x5c\\xf4\\x07\\xfa\\x18\\x98\\x6f\\x89\\xea\\x81\\x26\\x7c\\x7a\\x08\\x7d\\x8d\\x8e\\x10\\x5c\\x99\\xa7\\x5e\\x60\\x58\\xcc\\xf1\\x19\\x3e\\x07\\xaf\\x09\\x99\\x71\\x32\\xa3\\xe2\\xf9\\x0c\\xe7\\xb4\\xd9\\xac\\xc0\\xb2\\x9a\\x28\\x72\\x24\\x60\\x8b\\x73\\x30\\x0c\\x5e\\x1d\\x78\\xfa\\xcc\\x66\\x65\\x7c\\xc2\\xac\\xd8\\x32\\xda\\xc8\\x5f\\xd8\\x60\\x89\\x33\\x81\\x91\\x12\\x80\\x34\\xd8\\x11\\x8b\\xba\\x9c\\xfd\\x80\\x1d\\x8c\\x8e\\xa2\\x77\\x60\\xf0\\xec\\x79\\xbf\\xfe\\x08\\x87\\xd0\\x41\\x76\\xd7\\x3b\\x2f\\xee\\x85\\x27\\xd0\\x18\\xf8\\x38\\x70\\xf7\\xdc\\x3b\\xef\\xc6\\xcc\\xf9\\x09\\xf8\\xe4\\xb6\\xbf\\x67\\x74\\x96\\x5e\\xc2\\x17\\x7a\\x01\\xb1\\x8d\\x69\\x12\\x33\\x84\\x79\\x81\\xfa\\x94\\xb2\\xa1\\x90\\x56\\xc0\\xe6\\x3c\\xd3\\xb6\\x63\\x7b\\x4e\\x88\\xb3\\x74\\x88\\x67\\x31\\x9e\\xb9\\x2e\\xf3\\xcc\\x85\\x0c\\x31\\x9c\\xfb\\xe3\\x0a\\xc7\\xfa\\xfd\\x5a\\x01\\xc7\\xe6\\x5a\\x73\\x73\\x3a\\xc0\\xc6\\x01\\x63\\xc1\\xb2\\xf4\\x54\\x2c\\x3b\\x17\\x30\\x57\\xc7\\x8b\\xa5\\x3c\\x9f\\xdb\\x6e\\x77\\xe8\\x8a\\xe2\\x65\\xf3\\xf8\\xa2\\x42\\x9f\\xa6\\x6b\\xe3\\x13\\x6e\\x3d\\x27\\x1c\\xb6\\x34\\x26\\xd4\\x30\\x30\\x61\\x35\\x1c\\x0e\\x73\\x66\\x2e\\x4c\\x52\\xc7\\x46\\xec\\xda\\x48\\x3d\\xac\\x87\\x15\\x27\\x39\\x4a\\xe0\\x1b\\x13\\x4c\\x60\\x7d\\x11\\xdc\\x54\\x04\\x47\\x8b\\x60\\x66\\x11\\x1c\\x29\\x82\\xc9\\xed\\xc0\\xad\\xc6\\xc1\\x7d\\x71\\x26\\x88\\xa4\\x03\\x64\\x62\\x45\\xda\\xb9\\x38\\x5a\\x58\\xe5\\x21\\x90\\x03\\x6a\\x0a\\xec\\x3f\\x56\\x45\\x0e\\xee\\xc9\\x8f\\x53\\x4a\\x43\\xfe\\x3b\\x45\\x6e\\xd8\\xd4\\xe1\\x15\\xa7\\x54\\xbe\\x34\\x6d\\x11\\x3a\\x74\\xcd\\x35\\xe0\\x83\\x6a\\xf4\\xa6\\x89\\xaf\\xdb\\x3c\\x6f\\xf3\\x33\\x37\\xa3\\x49\\xe6\\x3d\\xfc\\xa0\\x16\\x76\\x36\\x04\\xb7\\xac\\x4c\\x7e\\xcf\\xdf\\xf6\\xf0\\xaa\\x55\\x0f\\xaf\\xb8\\x78\\xfa\\x15\\x33\\xf7\\xbd\\xdd\\x7a\\x7c\\xf5\\x9d\\x24\\xb6\\x0c\\x13\\x29\\x3a\\xb6\\xdc\\x77\\x74\\x9c\\xe6\\x32\\x9f\\xa4\\xfc\\x7b\\x45\\xad\\x00\\xc4\\x49\\xa2\\x99\\x6f\\xc7\\xaf\\x23\\xb1\\x7c\\xa9\\xfc\\xc8\\x01\\xba\\x6f\\xcd\\x66\\x8f\\x57\\xd1\\x75\\x8e\\xd3\\x48\\xae\\x2f\\x92\\x90\\x54\\xe3\\x15\\xc5\\xc8\\x8c\\x9c\\xb0\\x5c\\x60\\x61\\xfb\\x59\\x40\\xb6\\x80\\xd5\\x62\\x11\\xd5\\x66\\x0f\\x38\\x3d\\xc0\\x78\\x40\\xe6\\x3c\\x1e\\xfc\\x8a\\x54\\xe6\\xe1\\xf4\\xbe\\x9d\\x6c\\x9c\\xa6\\x74\\xb7\\x6f\\x33\\xfe\\xd6\\x9d\\x72\\x27\\x93\\x84\\xea\\x7a\\x2a\\x7d\\x72\\xe7\\xd4\\xc9\\x6f\\x59\\xa0\\x0a\\xbd\\x65\\x79\\xcf\\x48\\xa0\\xbc\\xf4\\x9f\\x9d\\xb2\\x27\\xff\\xbe\\x03\\x1d\\x32\\xd2\\x27\\xe3\\x31\\x18\\x89\\xfb\\x14\\xe2\\x1b\\xb0\\x9c\\x3b\\xd1\\x88\\xb7\\xc3\\x1d\\xdd\\x44\\xe3\\xed\\x46\\x53\\xff\\xe4\\xcf\\x30\\x43\\x39\\x4f\\xb8\\x4e\\x2d\\x60\\x7e\\x35\\x30\\x08\\xdf\\x64\\x40\\x8c\\x1f\\x22\\x71\\x03\\x04\\x49\\xd0\\xc4\\xd2\\x98\\x01\\xe2\\xe0\\xbf\\x0e\\xf7\\x8d\\x91\\xc3\\x72\\x99\\x8c\\x05\\x64\\x46\\x56\\xf1\\xc7\\xb8\\xdc\\x28\\x37\\x53\\x47\\x7e\\xc3\\x65\\xff\\xa8\\x6c\\xdb\\x4b\\xee\\x94\\xd1\\x3b\\x33\\xf1\\x1d\\xc3\\xab\\xff\\x2b\\x72\\x47\\xa5\\xcf\\x92\\x07\\x88\\xdf\\x3f\\x29\\x6e\\x4e\\x97\\x4d\\x97\\x24\\xe5\\x2c\\xeb\\xb2\\xaf\\x1a\\xd7\\xcc\\xe1\\xd4\\x73\\xe4\\x29\\x91\\x49\\xdd\\x35\\xee\\x49\\x17\\x33\\x59\\xdf\\x44\\x52\\xf2\\x26\\x5c\\x0a\\xb7\\xd0\\xb8\\xc6\\xf7\\x33\\x3e\\x71\\xcd\\xa9\\x78\\x03\\xde\\xa8\\x97\\x54\\x25\\x74\\x8d\\x2e\\xc8\\x8e\\xb6\\xea\\x12\\xff\\x89\\x69\\xa0\\xab\\xed\\x27\\x89\\xe4\\x95\\xf1\\x33\\x31\\xa6\\x31\\x5e\\xc2\\x6a\\x8e\\x40\\x80\\x09\\x79\\xac\\x1a\\xe3\\xe1\\xf3\\xf3\\x1c\\xb1\\xf1\\x09\\x87\\x43\\x67\\x74\\x68\\x48\\xe8\\x69\\x73\\x5a\\x00\\x93\\x15\\x57\\x3c\\x3f\\xe3\\x09\\xdc\\x91\\x1b\\x77\\x8c\\x51\\xec\\x6a\\x64\\x8b\\x18\\x5c\\x28\\x3f\\xc3\\x9c\\xa7\\xa2\\x7f\\x76\\x32\\xba\\x55\\x80\\x4a\\xb8\\x12\\x3a\\x92\\xe2\\x8d\\x9d\\x4d\\x70\\x68\\x0c\\x61\\x52\\x5b\\x52\\xfc\\x89\\xf2\\x47\\xf1\\x30\\xd5\\x41\\x02\\x24\\xf7\\x8b\\xee\\x70\\x28\\x92\\x87\\xb3\\x5b\\x28\\xfb\\xc6\\x6b\\xdd\\x14\\xd0\\x49\\xe2\\x14\\x5d\\x97\\x6c\\x9a\\x22\\x61\\xaa\\x68\\x95\\x5c\\x59\\x3c\\xfb\\x55\\x02\\xf6\\xf3\\x6a\\x37\\x11\\x03\\x19\\x7e\\x99\\xfe\\x69\\xe7\\x9b\\x82\\x9d\\xf2\\xcd\\x3f\\xd1\\x7d\\x84\\x76\\x43\\x13\\xf8\\xb7\\x92\\xb6\\x3e\\x6e\\xf0\\x4f\\xc3\\x5c\\x44\\x4c\\x47\\x1d\\xf8\\xa8\\x85\\xe8\\x68\\x98\\x66\\x05\\x99\\x99\\xf1\\x61\\x4c\\x10\\x0f\\xa8\\x64\\x23\\xf9\\x3a\\x08\\xec\\x89\\x6e\\xb1\\x5a\\x70\\x1b\\xad\\x2e\\x9f\\x0f\\x2b\\x4e\\xaa\\x0f\\x18\\x9f\\xea\\x0b\\xfb\\x9a\\x7d\\x33\\x7d\\x4b\\x68\\x56\\x36\\x9f\\xcc\\x98\\xb2\\xd2\\x1c\\x64\\xb2\\x1b\\x18\\x9e\\x88\\x84\\x46\\xfd\\x15\\x81\\x8a\\xfc\\x25\\x65\\xe2\\x46\\x77\\x47\\x92\\xd8\\xea\\x6e\\x48\\x51\\x72\\x81\\xe1\\xf7\\x46\\xed\\xbf\\x94\\x16\\x1d\\x36\\x68\\x11\\xd4\\xa7\\x63\\x0d\\x88\\xb9\\x78\\x8c\\xc3\\xcd\\xd8\\xb2\\x63\\x0d\\x0c\\xfb\\xf2\\x17\\x69\\xfb\\x32\\xe6\\x0b\\xff\\x34\\x62\\x0d\\x5c\\x2e\\x5c\\x5e\\x7f\\xa6\\xed\\x9e\\xed\\xba\\x4b\\x91\\x3a\\xf0\\x05\\x6a\\x2f\\x21\\x36\\x69\\x62\\x2f\\x21\\x36\\x69\\xe6\\x3b\\xe3\\x19\\x82\\x0a\\x0a\\xbe\\x67\\xda\\x5a\\xb7\\xfb\\x42\\x16\\xbd\\x43\\xac\\x01\\xd1\\x7b\\xa9\\x3d\\x10\\x1e\\x88\\xcb\\x16\\xab\\x80\\xd5\\x41\\xb0\\x9a\\xb0\\x6e\\x68\\x35\\xfc\\x42\\xc0\\xd0\\x0e\\xb1\\xa2\\xb8\\x90\\x3a\\xf2\\x4f\\x96\\x61\\x94\\x0c\\x75\\xd4\\x73\\xdf\\x4c\\xdd\\xf9\\x0f\\xd3\\xc0\\x83\\xb7\\x64\\x78\\x51\\x86\\x87\\x64\\xb8\\x23\\x1d\\x2f\\x70\\x01\\x8d\\x2f\\x18\\x93\\x76\\xfc\\xf7\\xc9\\x60\\xc5\\x17\\x7f\\xa0\\x4a\\xda\\xb3\\xd4\\xe9\\x06\\x17\\x5d\\x29\\xc3\\xdf\\x68\\xbd\\x46\\xa5\\x01\\x5a\\x28\\x89\\x55\\xb8\\xfd\\xd4\\x01\\xc7\\x08\\x2d\\xc0\\x2a\\xd9\\x62\\x19\\x2e\\xa5\\xf5\\x0d\\x4d\\xc7\\x0c\\x9c\\xa0\\x0a\\x9d\\xf1\\xe6\\xe7\\xd3\\xef\\xc4\\x05\\x1a\\xe8\\x0b\\x8d\\xa0\\x82\\xba\\x4c\\xf3\\x8c\\xba\\xd6\\xa4\\x03\\x19\\xfa\\xa5\\x6b\\xc1\\x77\\xbf\\xc4\\x3a\\xe2\\x56\\xea\\xd4\\xb3\\x8e\\xbe\\x04\\xab\\x7e\\xf5\\xd4\\xa9\\x07\\xab\\x84\\xf1\\x9c\\xbd\\x34\\x88\\x61\\x3d\\x55\\x0a\\x9b\\x68\\xed\\x65\\x24\\x90\\xa9\\xa3\\x6a\\x98\\x91\\xf5\\x9b\\x4e\\xaa\\x38\\x64\\x2b\\x87\\x4d\\x27\\x87\\x1a\\xce\\x2a\\x99\\x76\\xa6\\xef\\x04\\xb9\\x97\\xa5\\x18\\xc6\\xe0\\x28\\x5a\\x67\\x18\\x1a\\xd0\\x3a\\xa2\\x2b\\x5c\\xc3\\x2d\\x3c\\xb1\\x87\\x04\\x32\\x00\\x93\\x68\\xfb\\xc9\\xfc\\xbd\\xb0\\x96\\x29\\x67\\xce\\x8c\\x97\\x14\\xe6\\xe5\\x32\\x85\\xde\\xbc\\x3c\\xbd\\x97\\x28\\xea\\x95\\x15\\x36\\x9b\\xab\\xdc\\xe7\\x73\\xe5\\xe7\\xdb\\x5d\\xa5\\x39\\xae\\x9c\\xa6\\x04\\xe7\\xe2\\x7b\\x46\\xec\\x91\\xa6\\x84\\xc5\\x9e\\x85\\x39\\xd5\\x1e\\x29\\x5c\\x97\\x8d\\x30\\x69\\x1c\\x46\\xd0\\x68\\x70\\x82\\xb6\\x49\\xa1\\xff\\xf8\\x58\\xb8\\x50\\x8c\\x44\\xf3\\x28\\x18\\x60\\x0a\\xb3\\x24\\xac\\x39\\xf5\\x94\\xbd\\x82\\x48\\xa4\\x7a\\x95\\x1a\\xc1\\xd2\\xa8\\xb0\\x6f\\xca\\xbd\\x67\\xc0\\x38\\x98\\xf1\\x08\\xda\\x71\\x00\\xed\\xff\\xf8\\x33\\xf4\\xc5\\x17\\x68\\xe7\\x23\\x30\\x03\\xc6\\x25\\xd6\\x9d\\xbd\\xac\\xb8\\x65\\x28\\x9a\\xf1\\xfd\\xee\\x4b\\x76\\xc6\\xc1\\x5e\\xbf\\x63\\xe6\\xee\\xef\\xd1\\x8c\\xa1\\x2d\\xc5\\xc2\\x88\\x92\\x18\\x5a\\x89\\x36\\xed\\x47\\x4f\\x3c\\xb1\\x62\\xc5\\x13\\x30\\xfa\\x73\\x38\\x03\\xe6\\xc5\\x4a\\x3e\\xf4\\xc5\\x90\\xef\\x7b\\xf4\\x4b\\x7d\\x2d\\x0c\\x42\\x3b\\x6b\\xeb\\x41\\xf9\\x1e\\x0e\\xc5\\x7c\\xa4\\xff\\x36\\x4c\\xe3\\x72\\x29\\x36\\x7e\\x7d\\x3c\\xec\\x62\\x75\\x4d\\xc3\\x4b\\xda\\x2a\\x4b\\x0e\\x56\\xf0\\x79\\x25\\xc9\\xe2\\xd1\\xac\\x8a\\x43\\xb6\\xc8\\x8d\\x09\\xd1\\xe2\\x62\\x3a\\x20\\x52\\x75\\x56\\x49\\xdc\\x34\\xfb\\x02\\x27\\x92\\x24\\x18\\x8e\\x6a\\xbd\\x86\\xc3\\xbf\\xb5\\xca\\x42\\xe1\\xa7\\xf2\\xdb\\x9f\\x45\\xbf\\xcd\\x6f\\xb9\\x10\\xfd\\x86\\x6e\\x87\\x1e\\x87\\x06\\x9f\\xa7\\xcd\\x85\\xfc\\x43\\x0f\\x96\\xf1\\x7d\\x17\\xde\\xfc\\x32\\x5a\\x76\\x14\\xa6\\xff\\x6b\\x09\\xc9\\x8a\\xd1\\x04\\xc2\\x42\\x98\\xd1\\xfa\\xe4\\x11\\xe8\\x75\\xcb\\x3d\\x86\\xfe\\x26\\xae\\x4d\\xc5\\x71\\x35\\xc4\\x7b\\xf0\\x26\\x9f\\x0f\\x34\\xa7\\xcd\\xa1\\x89\\x36\\x3e\\x98\\x23\\x39\\x18\\x47\\x4b\\x82\\xc7\\x3b\\x98\\x35\\x79\\x9b\\x12\\x98\\xde\\xb1\\x9c\\xe6\\x6b\\x4a\\x68\\x7a\\x67\\x8c\\xbc\\x8e\\x46\\x37\\x43\\x82\\x76\\x44\\x52\\xd4\\x2a\\xd2\\xee\\xc2\\x93\\xf6\\xdf\\x29\\x80\\x47\\xa0\\x90\\x0a\\xa2\\x4f\\xfe\\x94\\x24\\xfe\\x26\\x43\\xd1\\xe9\\xc2\\xf0\\x55\\xd7\\xa1\\xfb\\xe0\\x3c\\x50\\xf8\\xb7\\x9e\\x7a\\x6a\\xc7\\x8b\\x07\\x76\\x13\\x57\\x1e\\x39\\x79\\x2f\\xf5\\x37\\x31\\x74\\xcd\\x31\\x98\\x06\\x6b\\x98\\xe3\\x35\\xc4\\x35\\xde\\xa4\\xeb\\xa0\\xb8\\xad\\x9a\\x22\\x5a\\xf9\\x9c\\x80\\xc9\\x4f\\x90\\xd5\\xdc\\xb8\\x91\\x0a\\xc3\\x82\\xa4\\x31\\x5a\\x03\\x6e\\xb9\\xa2\\xe8\\x98\\x34\\x77\\x0c\\x88\\xd7\\x3a\\x28\\x7b\\xe9\\xb6\\x1a\\x98\\x7e\\xae\\x08\\x39\\x53\\xa7\\x2d\\x4d\\xf3\\x8b\\x02\\xac\\x17\\xf9\\x61\\x28\\x7a\\x01\\x54\\x38\\x40\\x14\\x2e\\xf4\\x15\\xdb\\xd7\\x60\\x6f\\x7c\\x5f\\xb8\\x05\\x5d\\xb2\\xe3\\x37\\xf4\\xf2\\xba\\x87\\xb9\\x2b\\x92\\x15\\x29\\x76\\x41\\xfc\\xdc\\x30\\x6f\\xbe\\x19\\xaf\\xf9\\x08\\x73\\x71\\xbc\\x96\\x8b\\x44\\x18\\xcd\\xac\\xaa\\x0e\\x07\\x1f\\xc2\\xb2\\x9c\\xd7\\xe7\\x0b\\x31\\x5c\\x34\\x66\\xb1\\x80\\xd7\\xcb\\x80\\x23\\xcc\\x85\\x9b\\x12\\x2a\\xc7\\x31\\xc0\\x31\\xba\\x24\\x13\\x48\\xce\\x1c\\x77\\x53\\x22\\x27\\xcb\\xe7\\xba\\x53\\xb8\\x7c\\x36\\xd0\\x86\\x96\\x89\\x80\\x48\\xab\\xf0\\x15\\x7a\\xe7\\x78\\xcf\\x8a\\xb0\\xc3\\x23\\x52\\x9f\\x13\\xe2\\xd0\\x55\\xf8\\x46\\x00\\x26\\x40\\x1f\\xf8\\x7e\\x29\\x89\\xf9\\xdc\\xf6\\x8a\\x85\\xf5\\x26\\x0f\\xc9\\xaf\\x6f\\x23\\x31\\xa1\\xe3\\xd1\\xab\\x5f\\xa0\\xf7\\xd1\\xba\\xe0\\x1b\\xc2\\xd2\\xe4\\x0b\\x10\\xc3\\x3c\\x85\\x04\\x7f\\xee\\xdc\\xf6\\xdd\\x8e\\xd7\\xc0\\xd6\\xf2\\xf6\\x6b\\x50\\x0f\\xbd\\x93\\x0f\\xd2\\x3e\\xde\\x8c\\x75\\xb0\\x42\\x2c\\xa3\\x46\\x99\\xeb\\xe2\\x63\\x75\\x5f\\x98\\xf4\\x2f\\xcc\\x11\\xb4\\x58\\x1f\\x13\\xf6\\x71\\x79\\xb1\\x84\\xf5\\x02\\x2b\\xdb\\xcf\\x0a\\xb2\\x15\\xeb\\x92\\x98\\xa1\\x3b\\x22\\x11\\x55\\xe1\\xb0\\xec\\x4a\\xfa\\xaa\\x30\\x2e\\xc9\\x4e\\x70\\x3d\\x9b\\x69\\xbe\\x24\\xc6\\x8b\\x05\\x56\\xaf\\x37\\x18\\x74\\x35\\x24\\x82\\x9d\\x04\\xd6\\xf4\\x08\\x10\\x59\\x95\\xf6\\xd8\\xb8\\xde\\x99\\xed\\xd3\\xf4\\x7e\\x15\\x29\\x6d\\xad\\x3b\\xe1\\x35\\x16\\xcd\\xc3\\xfa\\xdc\\xcd\\xe0\\xbb\\xdb\\x0f\\x96\\xcf\\xbb\\x17\\x61\\x97\\xec\\x5d\\xfe\\x0d\\xfa\\xd3\\x75\\x27\\x96\\x01\\x46\\x7d\\x7e\\xa4\\xb3\\x14\\xfb\\xfb\\xb7\\x88\\xf8\\xd9\\xb2\\x6d\\xad\\x78\\x2d\\x9e\\x49\\x7d\\xb3\\xec\\x58\\x6e\\xc9\\xb3\\x5b\\x64\\x22\\xb1\\x88\\xac\\xa8\\x72\\x8a\\xdd\\xce\\xf1\\x66\\xc0\\x34\\x3a\\x21\\xcb\\x3c\\x16\\x63\\x74\\xde\\xd6\\x94\\xe0\\xb9\\x74\\xf2\\xd5\\x8c\\x7b\\x0a\\x99\\x49\\x30\\xe8\\x57\\x06\\xc5\\x25\\xc6\\x91\\xf4\\x36\\x11\\x3c\\x4f\\x31\\x02\\x3f\\xd4\\x6f\\xd6\\x56\\xf4\\x0d\\xcb\\xc2\\xd9\\x2c\\x83\\xbe\\x7f\\x74\\xe6\\xa1\\x59\\xeb\\x61\\x28\\xb4\\x21\\x20\\x4e\\x62\\xe4\\x2f\\xbf\\x09\\x55\\x19\\xb1\\xa6\\x98\\x47\\x5f\\x48\\x6d\\xc6\\x1a\\x33\\x2c\\x1e\\x91\\x2d\\x36\\xdc\\x1e\\x56\\x12\\x45\\x07\\xa7\\xcb\\x32\\x69\\x8f\\x0d\\x53\\x35\\x9b\\x8d\\xb4\\xc7\\xa5\\xf2\\x0a\\x05\\xa8\\xe8\\xda\\x14\\xdc\\x98\\xee\\x9a\\xc2\\x55\\xf4\\x86\\x42\\x11\\x3e\\x18\\x39\\x03\\xfd\\x00\\xab\\xa1\\x11\\xae\\x46\\x3f\\x5c\\x34\\xf2\\x1d\\x71\\x7f\\x51\\x89\\xc7\\x04\\x67\\xa1\\xfb\\x89\\xb5\\x83\\xfc\\x65\\xdd\\x73\\x17\\x37\\x47\\x0c\\xdf\\x35\\xe9\\x12\\x4a\\x57\\xdc\\xcc\\xb9\\xf1\\x0a\\x93\\x24\\xb9\\xad\\x2e\\xab\\x8d\\x57\\x54\\xce\\x81\\xd5\\x5b\\xd5\\xc6\\x79\\x3d\\x6e\\x37\\x23\\xd8\\x2d\\x3a\\xa7\\x37\\x25\\x5c\\x78\\x45\\x08\\xc0\\x99\\xb0\\xaa\\xce\\xe8\\x82\\xb3\\x1d\\xf9\\xd3\\x53\\x41\\xb7\\x6b\\x45\\x3b\\xc0\\x70\\x47\\x65\\x25\\x4d\\xfe\\xa9\\xe9\\xca\\x91\\x6a\\x2e\\x6e\\x30\\xfe\\xac\\x01\\x47\\x82\\x21\\xe0\\xa2\\x3f\\x8c\\xe1\\xdb\\x3c\\xeb\\xd0\\xcc\\xc7\\xd1\\x37\\xcf\\xa3\\xef\\x39\\x75\\x1d\\x0c\\xc5\\xeb\\xfb\\x6c\\x76\\xa3\\x31\\x8c\\xe4\\x3f\\x2e\\xc2\\xa4\\x86\\x13\\xb7\\xff\\x66\\x4c\\x17\\xcf\\xa4\\x67\\xd3\\x3e\\xe6\\xac\\x78\\xa9\\x49\\x72\\x59\\xad\\xce\\xac\\xe6\\x4b\\x7c\\xc0\\xef\\x72\\xa5\\xda\\x3f\\x2e\\xe1\\xe4\\x38\\x01\\x14\\xda\\x7c\\x97\\x57\\xa0\\xa3\\xeb\\x29\\xaf\\xd7\\xfe\\xba\\xe1\\xdd\\xb7\\x3b\\x86\\x27\\x82\\x8c\\x36\\x5e\\xa6\\xe0\\x78\\x33\\x33\\xd6\\x64\\xe8\\x97\\xbc\\xcb\\x3a\\xe8\\x90\\xf3\\x7d\\x93\\x9f\\xb3\\x79\\xc6\\x90\\xa7\\xff\\xa7\\x86\\x1e\\xb7\\xfd\\x74\\xdc\\xf6\\x3c\\x1a\\x77\\x9c\\xcb\\x34\\xc7\\xcb\\x54\\x77\\x50\\xcb\\xb5\\x6b\\x60\\x67\\x15\\x13\\xb0\\x26\\xb3\\xc7\\x6d\\x66\\xdd\\x5c\\x38\\x94\\x93\\x63\\x56\\x18\\xde\\xce\\x63\\x72\\x6e\\xb7\\x2b\\x1e\\xd6\\xac\\x2b\\xb9\\x4d\\x09\\x25\\x7b\\x9d\\x76\\x83\\xd0\\xd1\\xc5\\x1d\\x27\\x05\\x8b\\x44\\x9c\\x16\\x68\\x50\\x03\\xe4\\xb2\\xa9\\x30\\xd8\\x42\\x47\\x84\\x7b\\x1b\\x7d\\xeb\\xbc\\xf1\\x4e\\xf4\\xcd\\xec\\xbd\\x37\\xa3\\xeb\\x05\\x1d\\x5d\\x7f\\xf3\\x7b\\xb3\\xd1\\x37\\xf7\\xac\\xda\\xf0\\x39\\x3a\\x85\\x8d\\x27\\x77\\xb1\\xf1\\x15\\x0b\\xd1\\x2b\\x30\\x68\\xf5\\xa7\\x97\\x4a\\xec\\x39\\xc9\\x7b\\xa5\\x4b\\x3f\\xbb\\x11\\xed\\x84\\x01\\x0b\\x57\\xfc\\x0c\\x97\\xe3\\xbe\\x10\\x2c\\xc4\\xeb\\xf0\\x3c\\x78\\x69\\x9c\\x71\\x99\\xec\\xf0\\xdb\\xed\\x4c\\xc0\\x6a\\x05\\x9b\\xe0\\x74\\x30\\x20\\x88\\x22\\x38\\xb0\\x9a\\x60\\xb7\\x5a\\x45\\x9b\\x97\\xf5\\xb1\\xe3\\x13\\x3e\\x9f\\xcd\\x09\\xa2\\xcb\\x16\\x68\\x4c\\xd8\\x94\\xee\\xf6\\x5c\\xe7\\xa3\\xec\\xf6\\xbe\\x60\\x79\\x26\\x1a\\x84\\x48\\x55\\xa6\\x23\\xf4\\x8b\\xd1\\x91\\x1b\\xd1\\xcf\\x87\\xd1\\xcf\\xcd\\x4f\\x5c\\x85\\xde\\xe5\\x47\\xa1\\x77\\x97\\x6e\\x6b\\x46\\xff\\x9e\\x3b\\x67\\xd5\\x83\\xe8\\x49\\xb8\\xfd\\x87\\x2d\\x9f\\xb6\\xdc\\x7f\\x81\\x05\\xfe\\x85\\xbc\\x96\\xe9\\xf7\\x9f\\xf3\\xe9\\x96\\xd9\\xf3\\x1e\\x87\\x82\\x4c\\x9c\\xf4\\x48\\x12\\x0f\\x88\\x75\\xb4\\x8b\\xe2\\xb5\\xa2\\x2d\\x2a\\x49\\x8e\\x18\\xcf\\x3b\\x05\\xbf\\x3f\\xe0\\x70\\x72\\xe1\\x30\\x23\\xdb\\x98\\x00\\x5e\\x5a\\xf9\\x79\\x6e\\x3d\\xc4\\x85\\x30\\xf5\\x8f\\x18\\x9b\\x41\\x76\\x06\\xc8\\x66\\x88\\x75\\xdd\\x0c\\x15\\xd9\\x89\\x9a\\xba\\xfb\\x49\\xad\\xab\\xac\\xc9\\x28\\xce\\x9e\\xa7\\x1a\\xbc\\x37\\x1c\\x64\\x6f\\xb0\\x77\\x77\\x98\\x14\\x3d\\x35\\x59\\x93\\xd1\\x67\\xdc\\x16\\x3c\\x41\\x78\\x8b\\xdc\\xdb\\x71\\x52\\xda\\x27\\xec\\xb1\\xd1\\xc9\\x57\\xb9\\x5e\\x74\\x8e\\xf0\\x5e\\x91\\x5a\\x68\\x9e\\xb7\\xb0\\xd1\\xc7\\x90\\x24\\xe9\\x61\\x9e\\x77\\x08\\x1e\\x8f\\x57\\xc7\\xd3\\x13\\x24\\x7d\\xf4\\x3a\\x6c\\x7c\\x34\\xe2\\xd4\\x72\\xb8\\x9c\\xc6\\x44\\xae\\x44\\xfb\\xa8\\xc8\\x0e\\x2f\\xde\\x31\\x42\\xb8\\x1d\\x76\\xf7\\xff\\x57\\x1f\\x53\\xf3\\x84\\xbf\\x1b\\xf3\\x57\\x13\\x23\\x1d\\xc4\\x3b\\x88\\xad\\xef\\x30\\x5d\\x74\\x0e\\x07\\x1d\\xe6\\xca\\xf0\\xb4\\x61\\x02\\xef\\xcd\\x9e\\x31\\x12\\xe1\\x80\\x27\\xf2\\xe2\\x41\\xe8\\x6f\\xec\\x28\\x3c\\x7b\\x06\\xc6\\xf2\\x33\\xe2\\x6f\\x4c\\x03\\xb3\\x26\\x1e\\xb0\\x5a\\x82\\x23\\x0a\\x06\\x95\\xf6\\x29\\x2e\\x61\\x5c\\xae\\x92\\x48\\x9f\\xa1\\x83\\x46\\x58\\x4c\\xe3\\x1a\\x6b\\x06\\x56\\xf5\\x25\\x78\\xb4\\x7d\\x12\\x55\\x4a\\x29\\x98\\xb9\\xd2\\x3e\\xf1\\x81\\xbd\\x7b\\xf7\\x91\\x25\\xef\\xd8\\xa1\\xd1\\x48\\x14\\xcb\\xb1\\x56\\x7d\\xac\\x54\\x1c\\xed\\x23\\x45\\xa5\\xa8\\xde\\xa7\\x4f\\x8f\\xa6\\x44\\x1f\\x7e\\x12\\x0b\\xac\\xce\\x94\\x56\\x4c\\xae\\x6f\\x47\\xf9\\xc5\\x0c\\x3c\\x9d\\x69\\x2c\\xdd\\x43\\xbf\\x57\\x3d\\x80\\x19\\xdd\\xee\\x62\\xf0\\xb6\\x23\\x32\\xb5\\x77\\x5f\\x70\\x56\\x94\\x0f\\xa4\\xa8\\x54\\x91\\x4a\\x82\\xa5\\x46\\xb1\\xb4\\xf0\\xca\\x25\\x48\\x83\\x1d\\x03\\xf2\\xf4\\x7c\\xae\\xc2\\xd1\\x01\\xeb\\xce\\xc8\\x53\\x45\\x53\\xa2\\x72\\x92\\x1d\\x60\\xe2\\xdc\\x3e\\x17\\xcd\\x9c\\x3b\\xe0\\x86\\x7b\\x38\\x74\\xf0\\xd4\\x58\\xd3\\xac\\xc5\\x43\\x6e\\x7b\\xfa\\x8c\\x87\\xde\\xbf\\x73\\xd9\\xb0\\xec\\x90\\xbd\\x19\\x90\\xff\\xf4\\x9e\\x9b\\x2f\\x0c\\x9d\\x1e\\x3f\\x77\\x40\\xa3\\x16\\xd0\\xfd\\xf6\\x96\\x0d\\x4f\\xde\\x78\\xdd\\x9a\\x4d\\xe5\\xa7\\xcf\\xb9\\x76\\xdb\\xe3\\x17\\x4e\\x9b\\x14\\x2e\\x8c\\x3c\\x78\\x47\\x73\\x5e\\x49\\xde\\x96\\x9b\\x2e\\x5e\\x3e\\xd2\\x21\\x17\\x8d\\xec\\x97\\x89\\xe9\\x83\\x61\\x03\\x61\\x2a\\x7a\\xfc\\xcb\\x41\\xfd\\xc6\\x26\\xfc\\x2e\\xdf\\x93\\x91\\xe7\\xaf\\x26\\x21\\x7e\\x8f\\x5c\\x73\\xc6\\xc2\\xd3\\xca\\x73\\x14\\xb9\\x9c\\xc8\\x14\\x43\\xd1\\x24\\xee\\x3f\\xc2\\x0d\\x4c\\x23\\x73\\x75\\xbc\\x72\\xf8\\x30\\x53\\x85\\x5a\\x12\\x0b\\x04\\xdd\\x9e\\xbe\\x0c\\xe3\\xb1\\x05\\x4b\\x4b\\x2a\\x86\\x99\\xc6\\x8f\\x1b\\x35\\x98\\xab\\x2d\\x95\\x6d\\xb2\\x6d\\x7c\\xa2\\x76\\xb0\\x5b\\x1e\\x3e\\x58\\x96\\x07\\x0f\\xe7\\x82\\x03\\xc6\\x06\\x22\\x05\\x44\\x08\\x54\\x12\\x91\\x40\\x30\\xee\\xf7\\xf7\\x08\\x06\\x1d\\xe3\\x13\\x41\\x35\\xed\\x53\\x58\\xea\\x57\\x0f\\xec\\x36\\x4c\\x07\\x14\\x6c\\xb7\\xe3\\x88\\x77\\xc2\\x7e\\x23\\x43\\xec\\x49\\x8f\\x27\\x96\\x24\\x3a\\x78\\x8b\\xd5\\x74\\x18\\xd0\\xf4\\x78\\xba\\x8c\\x1c\\xb3\\x52\\x0a\\xd9\\xd1\\x98\\x9c\\x18\\x91\\x42\\xe8\\xec\\x0c\\x1d\\xbe\\xf0\\x8e\\x05\\x0d\\xbd\\xaa\\x67\\x5c\\x43\\x5c\\xca\\x1a\\x5a\\x4c\\x3f\\x3b\\x56\\x5f\\xba\\x0d\\x0f\\x68\\xc1\\xd8\\x7e\\xe7\\x0f\\xc4\\x03\\x1a\\x0a\\x9c\\x75\\xd1\\xdf\\x16\\x2d\\x5c\\x7e\\xeb\\xb8\\xcd\\x0f\\xae\\x9c\\x3c\\xa0\\xae\\xcf\\x69\\xe3\\x26\\x55\\x5f\\xba\\x40\\xfc\\x91\\x2d\\x8c\\x15\\x0e\\x1c\\x79\\xf6\\x90\\xe5\\x0f\\x2c\\x9b\\x72\\xf9\\xb0\\x1c\\x4f\\xb4\\xaa\\x67\\xcd\\x80\\x00\\x75\\x3e\\x1b\\x33\\xc4\\x3d\\xeb\\xfa\\x20\\x0c\\x47\\xef\\xbc\\x32\\xbc\\x1a\\x0f\\x6c\\xef\\xbb\\x42\\xcb\\x27\\x53\\x57\\xb4\\xab\\xa6\\x9e\\xb9\\xb4\\xd1\\xe7\\xea\\x57\\x99\\x57\\x96\\x13\\xcd\\x59\\xbd\\x32\\x56\\x88\\xff\\xdc\\x8b\\xc7\\xb8\\x19\\xf3\\x07\\x1f\\xa6\\x49\\x39\\x4c\\x3c\\x1e\\xb6\\x5a\\x74\\x00\\x85\\x75\\xfb\\x2c\\xac\\x8f\\xcb\\x0d\\x32\\x9c\\xc2\\x35\\x25\\x74\\x87\\xa2\\xb0\\x1e\\xd5\\x62\\x64\\x39\\x30\\x58\\x41\\x17\\x09\\x3f\\x4d\\xfd\\xa3\\xbd\\xb9\\xf6\\x08\\xd8\\x8e\\xa9\\xed\\xcf\\x58\\x7c\\xd6\\xa0\\xca\\xde\\x57\\x80\\xe7\\x7e\\x7d\\xe0\\xb0\\x2e\\xd9\\xed\\x73\\xfa\\x9e\\x89\\x15\\xa8\\xc3\\xc9\\x55\\xa3\\xfa\\x75\\x4a\\x6f\\x0f\\xcc\\xe5\\x24\\x8f\\x10\\xa6\\x29\\x3e\\xa6\\x7f\\x3c\\x17\\x53\\x7a\\xab\\xd5\\x63\\xe3\\x25\\x87\\x4d\\xe2\\x02\\x7e\\xaf\\xe0\\x50\\x6c\\x01\\xc6\\x23\\x7b\\x68\\x36\\xa1\\x8c\\xc6\\x54\\x5f\\xd1\\xa5\\x7d\\x1d\\xf2\\xe1\\x18\\xed\\x74\\x57\\x74\\x4c\\x87\\x73\\xe1\\xaa\\x33\\xeb\\xc2\\xe7\\x83\\xe3\\x72\\xe7\\x65\\x5d\\x53\\xe2\\x40\\x8f\\x89\\x77\\xbc\\xca\\xce\\x6c\\xc5\\xea\\xec\\x4a\\x7a\\xce\\x94\\x8a\\x47\\xc4\\x52\\x5f\\x2e\\xd3\\x9b\\x99\\x1f\\x3f\\xa5\\x30\\x27\\x47\\xea\\x85\\x25\\x19\\x89\\x29\\x2b\\xcd\\x53\\x9c\\xa1\\x61\\x0a\\x7c\\xa8\\x80\\xa8\\xb8\\x95\\xe1\\xca\\x44\\x85\\x3f\\x25\\x04\\x9f\\x85\\x60\\x71\\x68\\x75\\x68\\x5d\\x88\\xe3\\x94\\x50\\x28\\xd4\\x10\\x6a\\x0a\\xf1\\x66\\x41\\x09\\x29\\x21\\x2b\\x6f\\xf5\\x11\\xec\\x23\\xbe\\x27\\x96\\x0f\\xb3\\xf0\\x50\\x29\\x45\\xa0\\x98\\x67\\x93\\x67\\xe1\\x7f\\xa9\\xd5\\x59\\xd7\\x01\\x20\\x95\\x60\\xc8\\x1b\\xea\\x2e\\x56\\x75\\xf3\\xa3\\x34\\x91\\x93\\x71\\xda\\x82\\xb7\\xb3\\x81\\x00\\x6b\\x64\\xe8\\x96\\xaa\\x27\\x3c\\x04\\x83\\xbe\\x80\\x06\\x98\\xbf\\x09\\xed\\x3a\\xf0\\x09\\x7a\\xe1\\x31\\x6e\\x6b\\xfd\\xe5\\x33\\xce\\xed\\x7d\\xce\\x05\\xde\\xf7\\x1f\\xdd\\xf8\\x41\\x4e\\x60\\x1a\\x8a\\x0d\\x39\\xb7\\xe9\\xfc\\x11\\x79\\xd3\\xa2\\xbe\\x0f\\x1e\\xde\\xb0\\x2f\\x70\\x21\\xfb\\xda\\xe7\\x30\\xfc\\x51\\x74\\x0d\\xda\\xfc\\x25\\x7a\\x6a\\xdb\\xe3\\x30\\xa6\\x26\\x37\\x3f\\xb7\\xd7\\x73\\xaf\\xbd\\xba\\x4d\\xf5\\xc3\\x58\\xfc\\xd9\\xe7\\x78\\x72\\xe7\\x8b\\x5b\\x7a\\xd1\\x31\\x49\\xf9\\x55\\x61\\xd9\\xd3\\x8b\\x75\\xb4\\x0b\\xe3\\xc3\\xf2\\x1d\\x0e\\xd1\\x83\\x39\\x9b\\xc8\\x14\\x15\\x6a\\xbe\\x5c\\x5b\\x81\\xaf\\xda\\xb7\\xc7\\xc7\\xed\\xf3\\x41\\xb5\\x6f\\xb8\\x6f\\xa2\\x6f\\xad\\xef\\x01\\x9f\\xd0\\xc3\\x56\\x67\\x7b\\xc3\\xc6\\x1d\\xb0\\x41\\x9d\\x6d\\x94\\x2d\\x61\\xbb\\xc3\\xf6\\x90\\x4d\\xf0\\xd9\\x7c\\x36\\x2e\\x6a\\x76\\xbb\\x38\\x35\\x05\\xa1\\x46\\x8c\\x63\\x27\\x1d\\x85\\x14\\x00\\x26\\x83\\x35\\x1b\\xa3\\xcf\\x35\\x64\\x18\\xaa\\xc1\\x18\\x0e\\x2a\\xf6\\x8b\\x8d\\x58\\x8e\\x92\\x80\\x83\\x30\\xfa\\xb2\\x15\\x25\\xd1\\x01\\xb8\\xb5\\x6c\\xd0\\x80\\x61\\x95\\x25\\x95\\xbe\\xef\\xdf\\x89\\xd4\\xc0\\xc4\\x8a\\xd1\\x83\\xfa\\x45\\x6b\\x06\\xf8\\x0e\\x9e\\x75\\x85\\xb3\\x92\\xcd\\xc5\\x4a\\x5e\\x18\\x7d\\x84\\x57\\xe1\\x71\\xb4\\x0f\\x8a\\xe1\\x46\\x6f\\xae\\x57\\x85\\x82\\xe3\\x3a\\xfa\\xc5\\x1b\\xf4\\x3a\\xd0\\xe7\\xf3\\x97\\xe9\\x84\\x4e\\xd9\\xf1\\x1e\\x5a\\x80\\xd7\\x81\\x93\\x29\\x8e\\xbb\\x39\\x96\\x15\\x15\\xce\\xed\\x62\\x39\\x1b\\x96\\x65\\x6d\\x3c\\x88\\xcd\\x09\\xd0\\xbb\\x44\\xcc\\x12\\x01\\x03\\xb3\\x2b\\xea\\x2d\\x97\\x9d\\x1b\\x64\\x30\\xfa\\x30\\xf9\\x07\\x54\\x42\\x34\\x50\\xda\\x2b\\xf0\\x56\\xc5\\x96\\x55\\x93\\xee\\x9d\\xb4\\x74\\xd2\\xa9\\x53\\xfa\\x08\\x4b\\x5b\\xe7\\x9d\\xb1\\xed\\xb9\\x46\\x76\\xe6\\xdd\\xb7\\x0c\\x3f\\x75\\xd3\\xf8\\xe5\\xa9\\x78\\x5d\\x2c\\x13\\x45\\xf1\\x78\\x3b\\x99\\x82\\xb8\\x93\\xbc\\xdb\\x8e\\xdf\\x6d\\xd3\\xb0\\xbc\\xa3\\x8a\\xc0\\xaa\\x60\\x40\\xaf\\x67\\x5c\\x26\\x8d\\xd7\\x3a\\xdc\\x9e\\x7a\\x70\\xb4\\xf3\\x00\\x89\\xdd\\x8f\\xb6\\xa2\\x45\\xd0\\xe3\\x45\\xa5\\x36\\x5a\\x74\\x41\\xed\\xdf\\x97\\xcf\\x58\\x38\\xa7\\x3c\\xbf\\x57\\x95\\x1b\\x0b\\x97\\x1b\\xca\\x5f\\x9f\\xbb\\x14\\x06\\x3f\\x72\\xed\\xb0\\x0f\\x82\\x03\\xe2\\x29\\x1f\\x15\\x71\\x81\\x14\\xd6\\x0b\\xf8\\x7c\\x62\\xcf\\x63\\xdf\\x67\\xaf\\x85\\x09\\x46\\xae\\x91\\x70\\x98\\xa0\\xfa\\xe4\\x3c\\xd3\\x16\\xde\\x9e\\xe3\\x63\\x95\\x8e\\xb9\\x46\\x68\\x5b\\x85\\xb7\\xf1\\x73\\x05\\xa9\\xe7\\x7c\\xe9\\x1c\\x25\\xe1\\xb0\\x66\\x3c\\xd7\\x42\\x9e\\xb3\\x67\\x67\\x16\\xe2\\x48\\xde\\x0a\\xd3\\x3f\\xf1\\xf8\\x6a\\x58\\xaa\\x28\\x64\\xce\\x88\\x97\\xca\\x76\\xab\\xc5\\x92\\xab\\xc7\\xbc\\x5e\\xdd\\xcc\\xd9\\x85\\x1e\\x45\\x36\\x5b\\x40\\xb6\\x58\\x5c\\x01\\x86\\x6b\\x49\\x30\\x02\\xfe\\xef\\x0a\\x44\\x48\\x78\\xbb\\xab\\x00\\xab\\x13\\xed\\xaa\\xb3\\xba\\xbb\\x38\\x83\\x56\\xde\\x31\\x63\\x47\\xfa\\xf0\\x87\\x58\\xb7\\xeb\\xf1\\x08\\x05\\x68\\x04\\x35\\xa4\\xd7\\x54\\x24\\x73\\xde\\x87\\xd7\\x91\\xf0\\xe8\\x79\\xa3\\xab\\x4a\\xce\\x38\\x27\\x5f\\x47\\x57\\x40\\x8f\\x1f\\xf6\\x42\\x01\\x5a\\x71\\xca\\xfb\\xa8\\x11\\x7d\\x83\\xda\\xf0\\xcf\\xf7\\xe0\\xc6\\x6b\\x4c\\x00\\x1f\\x3a\\x70\\xf5\\xdf\\x92\\xf8\\x1f\\x9a\\x24\\xbf\\x6e\\x3a\\x6d\\x6a\\x19\\x5f\\xda\\xba\\x9f\\xcb\\x3f\\xb1\\xfd\\xa3\\x97\\xf8\\x99\\x34\\xb2\\x64\\x21\\x34\\xc3\\x59\\x30\\x07\\xad\\x42\\x0f\\xfc\\xf6\\x1f\\xe4\\xfb\\x0f\\x26\\x76\\xc6\\x1e\\x42\\x93\\xa4\\xad\\x78\\x4e\\x49\\x7f\\x7b\\x12\\x6b\\x3e\\xee\\xad\\xae\\xe7\\xe6\\x79\\xbd\\xb9\\xa4\\xbb\\x25\\xc5\\x36\\x9b\\x4b\\xb6\\x28\\x81\\x48\\x43\\x22\\xa0\\xba\\x8a\\x68\\x0a\\x74\\xae\\x11\\x77\\x9c\\x9c\\x80\\x75\\xca\\x51\\xd2\\x9d\\xe1\\xa8\\x9b\\x7e\\xb2\\x69\\x17\\xa8\\xb4\\xe3\\x93\\x93\\xd2\\x0f\\x7e\\x55\\xb7\\x5d\\xbd\\xe2\\x9b\\x3d\\xbb\\xbe\\xfe\\xfa\\xd5\\x37\\x3e\\x43\\xff\\x1e\\x3b\\x78\\xc8\\xb8\\x82\\x41\\x85\\x43\\xc7\\x77\\xed\\x25\\xf7\\x1a\\xde\\x62\\xef\\x43\\x1f\\x00\\x60\\xa0\\x0c\\x7d\\x8e\\x8e\\x3d\\xb4\\xe7\\xb5\\x4d\\x33\\x1f\\x4a\\xec\\x26\\xb1\\x28\\x6d\\x2b\\xc5\\x16\\xe1\\x4f\\xc6\\xc3\\x94\\x32\\x83\\xe2\\xa1\\x48\\xa0\\xb0\\x57\\xa0\\x97\\xde\\x53\\xcc\\xd5\\x75\\xb1\\x4f\\x59\\xa0\\x57\\xa4\\xb0\\x97\\x37\\xaf\\xb0\\x30\\xcf\\xdb\\x8b\\xb7\\x31\\x36\\xa6\\xb4\\xd4\\xe0\\xd2\\xa5\\x1d\\x76\\xbe\\x5e\\x97\\xe5\\xcb\\x4d\\xd3\\x92\\xe4\\x1b\\x7b\\x89\\x27\\x9f\\x05\\x3b\\x70\\x04\\xee\\x9a\\xc0\\x8e\\x16\\xa6\\xd1\\xda\\x5d\\x4e\\xdd\\x33\\x10\\xb8\\xc1\\xfd\\x5a\\x72\\xd0\\x97\\xe8\\x39\\x18\\x04\\x05\\x39\\x2d\\xfd\\xfa\\x35\\x07\\x21\\x0f\\x86\\xa0\\x67\\xd1\\x57\\xf8\\x5b\\xed\\x94\\xe0\\xdd\\x1b\\x36\\xdd\\x16\\x9c\\x5c\\x57\\x37\\x25\\x78\\xc7\\x43\\x9b\\xf1\\xa7\\x79\\x75\\xa5\\x7e\\xb8\\x0a\\xfa\\x42\\x2d\\xcc\\xcb\\x29\\xad\\xad\\x2b\\xcd\\x41\\xd7\\xa2\\xb7\\xd0\\xbb\\x68\\x41\\x6e\\x69\\x1d\\x3c\\x56\\x59\\x9c\\x0b\\xdc\\xbb\\x6f\\x24\\x83\\xc5\\x95\\x95\\x25\\xc1\\x3f\\xdf\\x7d\\x17\\xb5\\xe6\\x96\\x54\\xd2\\x98\\x9b\\xb6\\x35\\xfc\\x7f\\xf9\\xbf\\x33\\x2e\\xa6\\x98\\xf4\\x33\\x2f\\xd4\\xd3\\x17\\xf2\\x59\\xdc\\x4c\\xd4\\x62\\x61\\x7a\\x95\\x84\\x7c\\x79\\x3d\\x7d\\x39\\x85\\x3d\\x7b\\x16\\xe6\\xf8\\x78\\x41\\x15\\xfe\\x57\\x3f\\x31\\xa9\\xaf\\x21\\x49\\x44\\x29\\x02\\xb9\\x64\\xf4\\xa9\\x80\\xcd\\x77\\xba\\x8d\\x24\\x51\\xf8\\x77\\x95\\x9a\\xea\\xaa\\x18\\xfb\\x73\\x7f\\x6d\\x53\\x53\\xed\\xfe\\xff\\xfe\\xf6\\x81\\x77\\x62\\x65\\xd5\\xe9\\xbe\\x0f\\x7e\\x83\\xc8\\x59\\xe3\\xfd\\xe3\\xca\\xfb\\x8c\\xf3\\x8f\\x3b\\xfb\\x7e\\xef\\xa4\\xaa\\xea\\x49\\xde\\xfb\\xd9\\xdc\\x1f\\xa1\\x87\\x77\\xf4\\x68\\x1f\\xfa\\xf4\\xf0\\x8f\\xe8\\x23\\x5f\\xcf\\x8a\\x8a\\x9e\\x3e\\xe8\\x71\\x78\\xcd\\x53\\x39\\x05\\xbd\\x7b\\x17\\x04\\x9e\\x5c\\x0b\\xd1\\x01\\x25\\x95\\x55\\xc5\\xfd\\xe9\\xda\\xa4\\xf6\\x5b\\x53\\x1e\\xa6\\x37\\xc3\\xb0\\x2c\\x7c\\x43\\xbc\\x07\\x63\\x2d\\x1a\\x3d\\xfc\\x94\\x53\\x7a\\xbb\\xb8\\x40\\xd1\\x98\\x51\\x95\\x45\\xf1\\x40\\x51\\x34\\xc0\\x8d\\x6b\\xec\\xdb\\xb7\\x38\\x1a\\xcd\\x03\\xeb\\xf0\\xe2\\x61\\xa5\\xa5\\x79\\xc5\\x76\\x09\\x4b\\xc6\\xdb\\x13\\xf6\\xe2\\x53\\x4f\\x21\\x22\\xb2\\x2b\\x71\\x6a\\xf1\\xe0\\xf2\\xe2\\xf2\\xa6\\x84\\xb7\\x98\\x1f\\x50\\x93\\x57\\xd3\\x94\\x08\\xe5\\x75\\xb2\\xf1\\x7a\\xd5\\x3d\\xc6\\x9e\\x4d\\x6d\\x59\\x75\\xcf\\x9e\\x72\\xbd\\xae\\x53\\x1a\\x15\\x2d\\x0d\\xc5\\x41\\x30\\x63\\x48\\xbf\\x8d\\xdc\\x25\\x31\\x02\\x75\\xee\\xc9\\x65\\x3d\\x59\\xa6\\xe0\\x68\\xde\\x49\\x6d\\xc1\\x59\\x86\\x60\\xfc\\x00\\x41\\x98\\x74\\x39\\x25\\xe9\\x5d\\x77\\xe2\\x81\\xa9\\x17\\xde\\xd5\\xb8\\x68\\xfe\\xb6\\xa3\\xcf\\xdd\\xfd\\xfa\\xc0\\x59\\x53\\x27\\x20\\x31\\xcb\\x4c\\xbc\\x1a\\xa1\\x8b\\xbe\\x45\\x87\\xba\\xb1\\x13\\xdf\\x78\\x60\\xe5\\x75\\x9f\\xdf\\x98\\xb2\\x12\\xa3\\xb5\\x1e\\xdf\\x85\\x07\\x7b\\x8a\\x1b\\x2b\\xeb\\xfa\\xf7\\xb9\\xec\\xfc\\x87\\x3f\\x9a\\x1a\\xee\\x1d\\xe0\\x93\\xc7\\xda\\x6d\\xc7\\xa7\\x0c\\xbd\\xb1\\xab\\xf1\\xb8\\x69\\xd6\\xac\\xa6\\x94\\xe1\\x18\\x86\\xc5\\xce\\xee\\xb9\\xf9\\xfa\\x79\\xe3\\x99\\x34\\x8f\\x15\\xbf\\x16\\x7f\\x64\\x22\\x4c\\x35\\x13\\x67\\x66\\xc5\\xfd\\xd1\\x5e\\x42\\x4d\\xff\\xfe\\x66\\x1f\\x17\\xb4\\x0a\\x9e\\xa0\\xc0\\x04\\xb9\\xc1\\x83\\x62\\xbd\\x6a\\x4c\\x65\\x3d\\xb0\\x04\\xbc\\x3d\\x51\\x66\\xea\\xdf\\xcf\\xb0\\x87\\xf6\\x37\\x69\\x4c\\x63\\x42\\xd3\\x58\\xbf\\x49\\x75\\xda\\x59\\x7b\\x63\\x22\\xcc\\xb6\\xcb\\x4c\\x15\\x46\\x90\\x5a\\x7a\\xd8\\xc9\\xa7\\x3d\\xe5\\x99\\xb1\\x4e\\xe9\\x1c\\xe5\\x04\\xc9\\x3c\\x46\\xa9\\x62\\x85\\x2b\\x95\\x54\\x27\\x15\\x46\\xa1\\x46\\xaa\\xa8\\x43\\x47\\x24\\x7a\\x92\\x99\\x48\\x0d\\x2c\\x77\\xfb\\x15\\xb7\\xa3\\xff\\x62\\x96\\x5a\\xd2\\x8a\\xda\\x6e\\x5c\\x15\\x9f\\x79\\x46\\x62\\x56\\xfd\\xaa\\x1b\\x51\\x5b\\x2b\\x94\\xa0\\x0f\\xd1\\x1f\\x77\\xb0\\x3d\\xbb\\x8e\\x7c\\x32\\x4c\\x47\\xb1\\xb8\\x9e\\x1e\\x2a\\x9b\\xa0\\xf4\\x20\\x7a\\x6e\\xcb\\xf6\\xbc\\xf2\\x8a\\xd8\\x93\\x8f\\xc1\\xf0\\x83\\xe8\\x7d\\x5c\\xe3\\x09\\xf4\\x99\\x70\\x65\\x87\\x51\\x46\\x53\\xd3\\x23\\x87\\xf9\\x0f\\x5d\\xbb\\xe2\\x13\\x98\\xff\\x68\\x14\\x6f\\xf3\\x55\\xa1\\x08\\xf3\\x2d\\x12\\x1b\\x31\\x60\\x80\\x50\\x00\\x03\\xcd\\x03\\x2b\\xf4\\x4c\\x6c\\x04\\x2e\\x4f\\x6d\\xf5\\x42\\x13\\x2e\\xaf\\x1b\\xe5\\x39\\xde\\x38\\xb7\\x8a\\x46\\xb5\\x02\\x88\\x3d\\xd3\\x76\\x64\\x7b\\xcc\\x6b\\x65\\x3b\\x9c\\x5b\\x9d\\x8b\\x65\\xd5\\x33\\x31\\xaf\\x72\\x33\\x83\\xe3\\x11\\x8b\\xd9\\xcd\\xa8\\x58\\x98\\x33\\x73\\x5e\\x8f\\xc5\\x02\\x2e\\x97\\x44\\xf2\\x2c\\x51\\xa3\\x2e\\x38\\x9a\\xb2\\xc4\\x02\\x92\\x65\\xa9\\xcb\\xd2\\xa6\\x69\\x8c\\x52\\x80\\x7d\\xe9\\x94\\x3c\\x3a\\x4d\\x10\\x74\\x0d\\x42\\x9f\\x63\\xce\\x31\\x0c\\x3e\\x5b\\x84\\x5a\\xa3\\x8f\\x2f\\x7c\\x71\\xe7\\xfe\\x97\\x46\\x0c\\x20\\x39\\x8c\\x3c\\xb0\\x0c\\x2a\\x60\\x0a\\xcc\\x42\\xf3\\x47\\xcc\\x58\\x78\\xe2\\xa7\\x9f\\xd0\\x9f\\x9e\\xe4\\x8c\\xac\\x1c\\x41\\x6e\\x82\\x6f\\x66\\xb5\\x18\\xed\\xb2\\xe0\\x76\\x59\\xad\\x92\\xcb\\x05\\x12\\x13\\x30\\x0c\\xb0\\xe0\\x68\\xc8\\x60\\xc6\\x66\\x40\\x90\\xbb\\x36\\x8b\\xcd\\x4e\\x15\\x94\\x0a\\xdd\\x87\\x7f\\x3e\\xfb\\x46\\x96\\x37\\xc0\\xa7\\x0b\\x2f\\x1b\\xdd\\x97\\x64\\x7d\\x8a\\x42\\xe0\\xdb\\x76\\x2f\\x80\\xbf\\x3f\\xf6\\xa2\\x3b\\x79\\x1d\\x1d\\xab\\x00\\xc3\\xf0\\xc4\\x6f\\xda\\xc1\\x14\\xc6\\x75\\x5d\\x93\\x4c\\x76\\x8b\\xc5\\xa4\\x71\\x4e\\x3c\\xca\\x2e\\x8d\\x44\\x03\\xef\\xa6\\x76\\x48\\x3d\\xeb\\xcd\\x52\\xbe\\x24\\x48\\xf9\\x5c\\xcc\\x91\\x5f\\x23\\xd4\\xe0\\xff\\x8e\\x0a\\x8e\\x7f\\xb4\\x1c\\x2d\\xac\\x85\\x65\\x15\\xe8\\x8a\\xb3\\xfe\\xbc\\x10\\x2d\\x28\\x87\\x6b\\x6b\\xc9\\xef\\xe5\\x17\\x1d\\x5f\\xc0\\xad\\xfc\\xb8\\xe5\\xe3\\x96\\x4f\\x5a\\xd0\\xdd\\x70\\x1f\\xfe\\x43\\xbe\\xc0\\xfd\\x28\\x97\\x01\\x74\\x1f\\x7f\\x26\\x34\\xe1\\x77\\xbb\\x18\\x71\\x2b\\xcf\\x94\\x52\\x70\\xef\\x58\\xc4\\x48\\xbb\\x47\\xfd\\x66\\x8c\\x64\\x09\\xd0\\x34\\xa2\\x1c\\x3d\\x3a\\xbc\\xa2\\x6a\\xe8\\x90\\x6a\\x38\\x6d\\x78\\x45\\xf9\\x08\\xe1\\xb4\\xaa\\x61\\xb6\\x9a\\xfe\\x43\\xaa\\x6b\\x86\\xd8\\xaa\\x07\\x0c\\xc3\\xfd\\x40\\x1b\\xf8\\xd7\\xe1\\x3c\\xe1\\x5b\\x46\\x67\\x3c\\x71\\xab\\xc9\\x6c\\x66\\x69\\x82\\x56\\x85\\x61\\x4a\\xdf\\x9e\\x5c\\x8e\\xb5\\x25\\x4c\\xb7\\x49\\xd2\\x67\\x96\\xea\\xe1\\x86\\x22\\xd8\\x6a\\xff\\x5b\\xe1\\xd8\\xc4\\xb4\\xfa\\xa6\\x69\\x55\\x67\\x4d\\x38\\xbd\\xf4\\xf2\\x05\\x02\\xff\\xfa\\xb2\\x1e\\xe5\\x3d\\x9e\\xc5\\x1c\\xe2\\x9a\\xb5\\x0c\\xb4\\x2d\\xe7\\x4f\\x63\\x16\\xd2\\xbc\\x3a\\x96\\x6d\\x1c\\x16\\x9e\\x4b\\xdf\\xc1\\x1b\\x8f\\xab\\x70\\xc5\\x9c\\x44\\x89\\xac\\x5a\\xf0\\xdb\\x8c\\x29\\x2b\\x2b\\x8a\\x85\\xb7\\xdf\\x1b\\x3e\\x75\\xe0\\xe5\\x23\\xa9\\x2c\\xd8\\xe1\\x19\\xc9\\x8c\\x7b\\xf5\\x36\\x41\\x85\\xc1\\xba\\x68\\xac\\x9a\\xec\\xbc\\x85\\xc5\\x15\\x2b\\xa7\\xcc\\xf8\\x4d\\x18\\x3b\\xea\\xf2\\x01\\x53\\x87\\xbf\\x47\\x9f\\x49\\xbe\\x21\\x5c\\xc2\\x0e\\x14\\xff\\x8d\\xe9\\xb9\\xed\\x09\\xc9\\x6e\\x05\\xa6\\xb4\\xe2\\x9d\\x6e\\x48\\xa9\\xdb\\x93\\x0b\\x1e\\x76\\xa0\\x3b\\xf1\\xc8\\x45\\x33\\x6f\\x1a\\x85\\xb7\\xe5\\x8f\\xcf\\x8e\\xbe\\x7f\\xce\\x9c\\xf5\\x09\\xe1\\x92\\x8a\\xbe\\xc6\\x7e\\xeb\\x5d\\x5d\\x5d\\x41\\xf6\\x87\\xa9\\x35\\x1f\\x3d\\xcc\\xed\\x17\\x9e\\xc6\\xed\\x70\\x50\\x89\\xad\\x0f\\xd3\\x8f\\x72\\x8b\\xe9\\xf1\\xda\\x58\\xee\\x70\\xee\\xd4\\x81\\x43\\xc2\\x23\\x47\\xe6\\x8f\\x51\\x2c\\xe5\\x5c\\x8d\\xad\\xb2\\x52\\xab\\x13\\x98\\x22\\xae\\x97\\xd3\\xc7\\xf6\\xec\\x29\\x95\\x9e\\x3a\\x64\\x4c\\x4d\\x5d\\x2f\\x5f\\x69\\xa9\\xaf\\x57\\x5d\\xcd\\x98\\x21\\xa7\\x9a\\x02\\x83\\xfa\\xbb\\x03\\xb8\\x59\\xa5\\x29\\x45\\xbd\\xd4\\x60\\x8f\\x06\\xf5\\xf7\\xa4\\xc4\\x37\\x4f\\x45\\xfb\\x15\\x12\\xe0\\x49\\xd2\\x5f\\xa8\\x15\\xe5\\x2e\\x47\\xe6\\x13\\xfc\\xe5\\x27\\xae\\x9b\\x6b\\xf9\\x99\\x4f\\x6c\\xeb\\xec\\xd9\\xe7\\x7f\\xfa\\xa9\\x46\\x7f\\xb7\\xde\\x40\\xff\\xb0\\xbd\\xe8\\x9f\\xe3\\xd7\\xd0\\x3f\\x5f\\x1a\\xd7\\x6e\\xa6\\x7f\\x92\\x3e\\xfa\\x87\\xdb\\xfd\\xf7\\xbf\\x63\\xb2\\x83\\x44\\xfa\\x87\\xfd\\x37\\xfd\\x73\\xfc\\x20\\xfd\\xc3\\x17\\x64\\xdf\\x6b\\xfd\\x8a\\xfe\\x39\\x46\\x7f\\x33\\x74\\x0c\\x2f\\x42\\x4b\\xb9\\x75\\xc2\\xa1\\x2e\\x63\\x78\\x4e\\xbc\\xb2\\xa6\\xaf\\x2f\\x27\\x96\\xdf\\xab\\xd4\\x64\\x8e\\x0f\\x29\\x2d\\x72\\xe5\\xe4\\xe7\\x36\\x8c\\x29\\xef\\x6b\\xd1\\xcc\\x43\\x86\\x15\\x05\\x72\\x72\\xeb\\xc6\\xf4\\x3d\\x45\\xd3\\x4e\\xe9\\x3b\\xa6\\x2e\\x37\\x27\\x50\\x34\\x6c\\x88\\xd9\\xa6\\x08\\x4a\\xbb\\x60\\xd1\\x3e\\x82\\x1d\\x7f\\xd4\\x3d\\xc6\\x4f\\x9f\\x32\\x8f\\x2b\\xbd\\x64\\x34\\x82\\xc7\\x5e\\x21\\xba\\x2a\\x5c\\x69\\xdf\\x8f\\xaa\\x8a\\xfc\\x0a\\x23\\x3f\\x8b\\x2b\\xc6\\x91\\x35\\x21\\x15\\x14\\x4a\\x85\\x24\\x53\\x42\\x61\\x8d\\xdb\\x53\\xe3\\x21\\x06\\x24\\xa9\\xb0\\xba\\xa6\\xb0\\x86\\xe4\\x53\\xa8\\xf1\\x88\\x92\\x47\\x1a\\xe6\\xcf\\x99\\x3a\\xf8\\x54\\xfa\\x2b\\x79\\xe1\\x82\\xa1\\x93\\x7b\\x9c\\x31\\xee\\x2e\\x7e\\x73\\xea\\xc3\\x80\\x89\\x65\\xa5\\x96\\x11\\x4a\\x5d\\xd5\\x25\\xad\\xc3\\xf0\\x47\\xf3\\x70\\xfc\\xf1\\x52\\xdb\\xc4\\x3e\\xa7\\xf5\\x19\\x31\\xa3\\x6f\\xd5\\x25\\xdc\\x07\\x13\\xcb\\x26\\xf4\\x19\\x71\\x49\\x5d\\xd5\\xc5\\xfd\\xe8\\x13\\x8d\\x77\\xf3\\x5f\\xa4\\x3e\\x24\\x73\\x68\\x9d\\x95\\xf4\\x37\\xfa\\x63\\x12\\x2e\\x38\\xfc\\xe2\\x5a\\xfc\\x8c\\x44\\x9f\\xb9\\x98\\xd4\\x39\\xd0\\xa8\\x9e\\xd4\\xb4\\x62\\x62\\x9f\\xde\\xe4\\x4d\\xd5\\x17\\x13\\xb9\\x6c\\x05\\x9a\\x2e\\xbc\\x2b\\x0d\\xc4\\x32\\x76\\x88\\x49\\xc4\\x4b\\x02\\x39\\x39\\x76\\x1b\\x96\\x83\\x15\\xbb\\xc7\\xed\\x96\\x48\\x8c\\x9e\\x5d\\x8a\\x84\\x95\\x08\\x04\\xdc\\x3e\\x5d\\xc2\\xba\\x39\\x0f\\x36\\x89\\x13\\x75\\xcd\\xc8\\x8d\\xb7\\xa7\\x3e\\xa5\\x8e\\xaa\\x5f\\x94\\xef\\x2e\\x87\\xc9\\x9a\\x9e\\x8d\\x00\\xd9\\x6e\\x33\\x8a\\x90\\x30\\x28\\x1a\\xc4\\x47\\x81\\xa4\\x2a\\xb8\\x18\\x56\\x47\\xa1\\xb0\\x82\\xd0\\xcb\\x0a\\x3b\\xcb\\x5f\\x97\\x30\\x25\\xd7\\xa1\\xad\\x29\\x68\\xa9\\xdb\\x0e\\x1e\\x47\\xff\\x5d\\xb1\\xe5\\x4c\\xf1\\x2b\\xcb\\xa3\\x8f\\x5a\\xbe\\x12\\x13\\x8f\\x1b\\xe8\\x52\\x69\\xb4\\x29\\x82\\xb3\\x20\\x5d\\x35\\xfa\\x86\\x85\\xaf\\xbd\\xb6\\xe0\\xc6\\xd1\\xc6\\xd9\\xc4\\x8d\\x68\\x3a\\x7f\\x54\\x38\\x86\\x57\\x49\\x84\\x39\\x3d\\xde\\x23\\x98\\x9b\\xeb\\xd0\\x78\\x1e\\x18\\x87\\xcf\\xeb\\xb5\\x9a\\x6d\\x36\\xab\\xc3\\x1a\\x8b\\x06\\xbd\\x01\\xa7\\x55\\x35\\xa9\\x26\\x5e\\xb3\\x2a\\x16\\x97\\x83\\xe5\\x31\\x85\\xdf\\x53\\xd1\\xa1\\x13\\x9d\\x50\\x2c\\xb3\\xd2\\x08\\x63\\x6a\\x1b\\x4b\\x05\\x21\\x46\\x52\\x41\\x89\\x1d\\x7b\\x71\\xf4\\x93\\x5f\\x36\\xcc\\x32\\xa2\\x12\\x41\\x4c\\x45\\x29\\x46\\x3a\\xf4\\x63\\x07\\x71\\x12\\xce\\x84\\x29\\xa6\\x02\\x17\\x5b\\x97\\x71\\xdf\\x64\\x75\\x86\\x25\\x1d\\xa2\\x18\\x07\\xe4\\xfc\\x79\\x42\\xbc\\xa7\\xdd\\x27\\x09\\x36\\xd5\\xe7\\x33\\x0b\\x4e\\x7c\\x23\\x98\\xa3\\x48\\x26\\xa9\\x25\\x61\\x33\\x99\\x04\\x8b\\xea\\x6d\\x4a\\xa8\\xaa\\x60\\xa0\\x87\\x0a\\x27\\x3d\\x80\\xae\\xab\\xeb\\x78\\xc0\\x92\\x42\\x38\\x30\\x5c\\x67\\x28\\x98\\x78\\x17\\xa4\\x83\\x95\\x2b\\xa1\\xf0\\xe6\\x9b\\xe1\\x8b\\x9f\\x92\\x9d\\xd0\\x0e\\xf8\\xde\\x5b\\x37\\x6c\\xd8\\xfa\\xc5\\x81\\xd7\\xd3\\x98\\xa1\\x2c\\xc1\\xdb\\xe1\\xd7\\xa6\\xce\\xa0\\x13\\x71\\x87\\x49\\x54\\x64\\x4d\\xd7\\x2d\\xa2\\x1b\\xab\\xe1\\x39\\x01\\xd5\\x64\\x36\\x61\\xa9\\xeb\\xe9\\x84\\x6c\\x36\\x8b\\x56\\x8d\\x9e\\x48\\xdb\\xb0\\xec\\x25\\x5a\\x41\\xd4\\xc7\\x27\\x44\\xd7\\xff\\x6e\\x75\\x45\\x26\\xb0\\x3b\\xbb\\xd5\\xd9\\x5e\\xbf\\xc6\\x21\\xf4\\xa2\\x45\\xe0\\xbf\\xfe\\xfa\\xb4\\xe7\\x2f\\x39\\x80\\x36\\x7c\\x7d\\x92\\x47\\x53\\x5e\\x4b\\x06\\x7e\\x44\\x3e\\xc5\\x4d\\xf4\\x33\\x43\\xe2\\x31\\xb7\\x8f\\xb1\\xf1\\xb2\\x47\\x56\\x3c\\x16\\x87\\x83\\xe7\\x05\\x8b\\x90\\x13\\xe0\\x1c\\x24\\x9b\\x94\\x28\\xe8\\xa2\\x4e\\x90\\x22\\xbb\\xf3\\x3e\\xd6\\xeb\\xca\\xcb\\x53\\xe9\\x52\\x52\\x0e\\x55\\x04\\xdc\\x0d\\xef\\x71\\xae\\x92\\xf8\\x7f\\x94\\xe3\\x7d\\xef\\xa9\\xe6\\xcd\\x17\\xde\\x8c\\xfe\\x81\\x3e\\x65\\xff\\x96\\x04\\xed\\xac\\x99\\x77\\x6d\\x40\\xc7\\xd1\\x7b\\x50\\x57\\x55\\xb2\\xe2\\xae\\xab\\x25\\x36\\x54\\x8a\\x54\\x61\\xe9\\x0f\\x1f\\xde\\xff\\xb7\\x4b\\x6f\\x63\\x43\\x5f\\xa0\\x1a\\xdb\\x8a\\xdb\\xae\\xce\\xa7\\xe3\\x49\\xe2\\xe6\\x76\\xf2\\xe3\\xf0\\xec\\x93\\xec\\x5d\\x25\\x3d\\x18\\x1f\\xe7\\x8f\\xf8\\x73\\x3c\\x11\\xbb\\xd9\\x6c\\xf1\\x58\\x4a\\x8a\\x35\\xd1\\xc7\\xf0\\xac\\xd3\\x99\\x4b\\xfc\\x8f\\x65\\x25\\x10\\x60\\x2d\\x01\\x36\\xaf\\x21\\xc1\\xba\\x33\\x8d\\xad\\x6f\\x4f\\xbc\\x93\\x35\\xfb\\xb4\\xc9\\xf9\\x62\\x7b\\xcc\\x4f\\x65\\x61\\x24\\x17\\x5c\\x15\\x24\\xd2\\x47\\xa3\\xed\\xcf\\xc4\\xf8\\xd0\\x2e\\x70\\x0f\\x8d\\x3f\\x7f\\xce\\x23\\x3d\\x44\\x11\\x1d\\x32\\x81\\x26\\x48\\x7c\\xd3\\x89\\x17\\xde\\x3f\\xf3\\xba\\x15\\xef\\x7c\\x39\\x73\\xde\\xdc\\x4b\\x07\\xf6\\x5e\\xbe\\xe2\\x5c\\xd5\\xdd\\x73\\xda\\x99\\x24\\xb4\\x87\\xff\\xf1\\x8e\\x66\\xfd\\xc2\\xca\\xd7\\xd0\\x17\\xe8\\xd7\\x5f\\x6f\\xbd\\xee\\x3a\\xf6\\x4e\\x98\\xb1\\x7b\\xeb\\x96\\x9d\\xc1\\x6b\\xaf\\x9b\\x3a\\x32\\x8d\\x79\\xc9\\x3d\\x2b\\xe5\\x30\\x12\\x93\\x1f\\xd7\\x19\\x4e\\x10\\x39\\xd1\\x6c\\xc2\\x75\\x26\\x00\\x24\\x4e\\xa0\\x56\\xd5\\xd2\\x8e\\xd1\\x85\\x86\\xf3\\x3d\\xbb\\xf3\\x78\\xf2\\x0f\\x02\\x7f\\x09\\x77\\x25\\x97\\x52\\x04\\x4c\\x23\\x16\\x7f\\x80\\xf0\\x4f\\x5c\\x57\\x5e\\x76\\x5d\\x24\\x4e\\x51\\x70\\x01\\xc3\\xd4\\xd7\\xd7\\x77\\x5b\\xd5\\xc8\\xdf\\xd0\\x0c\\x12\\xa7\\x08\\xb7\\x27\\x1f\\x36\\x02\\xf3\\x09\\x26\\x84\\x81\\xc5\\x29\\x93\\xac\\x18\\x22\\x96\\xbd\\x38\\x99\\x9c\\xcd\\x2b\\x76\\xb3\\xcc\\xc8\\x2d\\x09\\x11\\xcf\\x89\\x55\\x67\\x85\\xa6\\x04\\xdb\\xbe\\x18\\xb2\\x17\\x29\\xa6\\x1e\\xf4\\x25\\xe4\\x1d\\xae\\x74\\x16\\xc4\\xd8\\x4a\\xee\\x93\\x64\\x03\\xf4\\x43\\xaf\\xa2\\x4f\\x57\\x72\\xb5\\xec\\xa8\\xef\\xd0\\x5d\\xaf\\x27\\x6f\\x66\\x2f\\x35\\xec\\x55\\x6a\\x0a\\x4b\\x80\\xbe\\x93\\x93\\x24\\x9b\\x45\\x30\\x31\\x26\\xc6\\xae\\x88\\x16\\xab\\xa5\\x21\\xc1\\x59\\xad\\xb2\\xc9\\x25\\xb3\\x0d\\x09\\x59\\xe9\\xee\\x9d\\x64\\x01\\x96\\xa7\\xb1\\x06\\xf0\\x5e\\x30\\x1c\\xe1\\x28\\xe6\\xc0\\x8b\\x2f\\xa2\\x83\\x8b\\x17\\xf3\\x7d\\x77\\xa0\\x1f\\x77\\xa2\\x04\\x3c\\xb8\\x13\\xf6\\x51\\x8c\\xa1\\x49\\x42\\x14\\xf7\\x31\\xc4\\x9c\\x1a\\x2f\\xf4\\x58\\xf9\\xdc\\xdc\\x90\\x43\\xd7\\x43\\x21\\xd6\\xca\\x61\\xfa\\xee\\x6a\\x4a\\x28\\x21\\x93\\x9f\\xe4\\x3e\\x32\\x99\\x98\\x10\\x1e\\xd0\\xa6\\x04\\xd3\\xde\\x59\\xbd\\x2e\\xad\\x80\\x76\\x0a\\x8e\\xa0\\xd1\\x81\\x58\\x92\\x4b\\x6b\\x96\\x14\\xc7\\x2d\\xac\\xa5\\x11\\xe7\\x57\\x12\\x70\\xd4\\x09\\xa7\\x4f\\xed\\x0f\\x0c\\xf4\\xb8\\x19\\xfd\\xe7\\xc9\\xb5\\xbf\\x4e\\x3e\\xd4\\xf4\\x77\\xe8\\x7f\\xd7\\x3d\\x43\\x16\\x4d\\x22\\x33\\xfa\\x2d\\xda\\x56\\xe0\\x53\\xd0\\x1d\\xe8\\xb5\\x0f\\xd0\\x3b\\xf7\\x35\\x9e\\x7b\\xc5\\x04\\x78\\xf3\\xe3\\xef\\x83\\x3d\\x92\\x37\\x1a\\xf9\\x1d\\x28\\x5e\\x44\\x2e\\x33\\x2e\\xde\\x53\\x12\\x45\\xa7\\xcf\\xe1\\x70\\xca\\x8c\\xd3\\xc3\\x70\\xe1\\x90\\xcf\\x25\\x71\\xce\\x80\\xd2\\x98\\x08\\x04\\x5c\\x4e\\x97\\xcb\\xdb\\x98\\x70\\x29\\x9c\\xa5\\x31\\xc1\\x05\\x3a\\xe4\\x53\\xa0\\x34\\x45\\xaf\\xeb\\x20\\xb7\\x93\\xdf\\xf9\\x46\\x06\\x93\\xb4\\xc6\\x96\\x46\\xc8\\x77\\xd1\\xa8\\xb7\\x5c\\xe0\\xef\\x42\\x3f\\xfd\\xb1\\x6e\\xff\\xa8\\x7d\\x55\\x17\\x9e\\xb2\\x70\\xd1\\xaf\\xf1\\x15\\xb9\\xe8\\x20\\xe7\\x46\\xfc\\x9c\\xe5\\x77\\x7d\\xb5\\xe8\\xdc\\x3f\\xd1\\xcf\\xa7\\x4f\\x5c\\x50\\x56\\x70\\xc7\\x46\\x28\\x21\\xad\\xe7\\xfb\\xfe\\x88\\x0e\\x17\\xcd\\xfd\\x8e\\x60\\x9d\\xa2\\xe9\\x52\\x3f\\x3c\\xce\\x79\\xcc\\xb2\\x78\\x99\\x9e\\xa7\\x30\\x12\\x1f\\xf1\\xf3\\x1e\\x4b\\x20\\x37\\x18\\xf4\\xe4\\x11\\xd8\\x53\\x8b\\xdb\\x63\\xb5\\x58\\x3c\\x24\\x2b\\x84\\x5f\\x92\\x2c\\xb9\\xe1\\x18\\xa6\\xac\\x2d\\x89\\x08\\xaf\\xf0\\xc4\\x22\\xa0\\x27\\x74\\x45\\x09\\x13\\x58\\x4f\\x46\\xd4\\xc3\\x81\\xe6\\x44\\x38\\x9d\\x87\\x2a\\xeb\\xf8\\x39\\x65\\x16\\x48\\xa1\\xe9\\x75\\x3e\\x0d\\xcc\\xca\\x54\\xf2\\x57\\x78\\x9c\\x24\\x9a\\x25\\x66\\x60\\x72\\x86\\xc6\\x38\\xfe\\x02\\x93\\xb3\\xf6\\x9a\\xe3\\xb5\\xff\\x0b\\x94\\x33\\xf9\\x2f\\x82\\x7d\\x94\\x06\\xe6\\x84\\xb6\\x23\\x58\\xae\\x78\\x02\\xcf\\x5d\\x3e\\x33\\x37\\x5e\\x64\\x33\\xb3\\x11\\x3e\\x37\\x3f\\x9a\\x97\\x97\\xeb\\x15\\x5c\\x02\\x5e\\xe2\\xd6\\xa0\\x2a\\xe6\\xe6\\x16\\x2a\\x05\\x11\\x9b\\x4d\\xc9\\x07\\x96\\x97\\x38\\xb3\\xcb\\x4c\\x58\\x83\\x9e\\xf0\\x62\\x3d\\x2c\\xe8\\x56\\x14\\xd1\\xea\\x82\\x68\\xbb\\x16\\x96\\xd5\\x7f\\x4f\\xa6\\xf3\\xd4\\x3f\\xa3\\xae\\xdc\\x80\\x0b\\xc8\\x74\\x9f\\x50\\xb9\\x48\\x8c\\x42\\x35\\x68\\x27\\x83\\x72\\x70\\xe0\\xee\\xf3\\xcf\\x17\\x7e\\x19\\x1a\\xdc\\x3a\\xc2\\x7f\\x32\\x30\\x87\\xba\\xd8\\xbe\\xc4\\x2f\\x14\\xa6\\xe1\\x2f\\xc1\\x1c\\xce\\x0b\\xa2\\xab\\x93\\x0f\\x1b\\x78\\xa4\\x78\\xcd\\x12\\x3c\\xd2\\x4a\\x66\\x56\\xbc\\x57\\x79\\xa8\\x47\\xac\\xb4\\xd4\\xcf\\x08\\x4a\\x51\\x8f\\x1e\\x2e\\xa7\\xd3\\xaa\\x30\\x7c\\x75\\x55\\x79\\x6e\\x28\\x94\\x4b\\xdc\\x3b\\x8a\\x4a\\x42\\x21\\xae\\xa4\\xa4\\xa0\\x29\\x51\\xc2\\x4b\\x32\\x99\\x7c\\x6b\\x42\\xd2\\x28\\x7e\\x8e\\x83\\x73\\x18\\x41\\xfe\\xd4\\xfe\\xd0\\x9e\\xf7\\x2a\\x7d\\x36\\xd7\\x21\\xd2\\xc1\\xb0\\x8c\\x19\\x79\\x99\\xdc\\x2e\\x67\\x24\\xe5\\x9e\\x5c\\x55\\x59\\x58\\xf0\\xbf\\xd1\\x48\\xf9\\xfb\\x7f\\x7c\\x2f\\x80\\x8e\\x95\\xb4\\x84\\x87\\x8e\\xbd\\x5a\\xfe\\x04\\xfd\\x3a\\xa4\\x2b\\x2c\\xe9\\x70\\x70\\x7d\\x44\\x61\\x49\\xd7\\x6c\\x82\\x9b\\x1e\\x3a\\xe0\\x99\\x36\\xec\\x17\\x5d\\xbb\\x31\\x78\\x57\\xef\\x3a\\xe9\\xb9\\x97\\x3b\\x60\\x94\\xbe\\xfb\\xaa\\x81\\x51\\xfa\\x08\\x19\\x8b\\x2a\\x34\\x89\\xe2\\x5a\\x54\\x31\\x73\\xe2\\xde\\x3c\\xd5\\xef\\x08\\x87\\x6d\\x85\\x25\\x8c\\xcf\\xef\\x17\\x05\\xa1\\x0f\\x53\\xc8\\xd7\\x54\\xf7\\xae\\x24\\x73\\x9e\\x97\\xe8\\x5d\\x3e\\x3e\\xd1\\x3b\\x10\\x53\\x54\\x55\\xc1\\x22\\x41\\x4f\\x5f\\x50\\x55\\x7b\\x06\\x7b\\x9a\\xc7\\x25\\x7a\\xba\\x83\\x6e\\x72\\x5c\\x49\\x58\\x5b\\x7d\\x77\\x43\\x61\\xa4\\x85\\xed\\x6e\\x38\\x84\\x4a\\x2a\\x8e\\xff\\x1f\\xa0\\x2d\\xb2\\x47\\x0d\\xde\\x91\\xd7\\xed\\x29\\xc8\\xc6\\xb9\\x20\\x87\\x92\\x19\\x9c\\x8b\\x17\\x36\\x64\\x06\\x6b\\x41\\x49\\x7f\\xcb\\x3d\\xab\\xb2\\x41\\x2f\\xc6\\x0c\\xc9\\x06\\xbd\\xb8\\xe6\\x41\\x7d\\xea\\x70\\x3a\\x50\\x06\\xc6\\x1b\\x8f\\xe9\\x1d\\xe3\\x66\\x1a\\xe3\\x1e\\x8b\\x26\\xb1\\xac\\xcb\\xe5\\xb6\\xda\\x65\\xd9\\xed\\xf5\\xd8\\x55\\xd6\\xd9\\x92\\x60\\x35\\xb2\\x02\\x94\\x04\\xcb\\xaa\\x22\\xc3\\xb9\\x75\\xd5\\xda\\x9c\\x50\\x53\\x7b\\xdf\\x30\\x49\\x51\\x4b\\x54\\x36\\x10\\x58\\x06\\x71\\x22\\x83\\x77\\x6a\\xec\\xe9\\x34\\xe6\\x69\\xf9\\xcc\\xe9\\x69\\xcc\\xd3\\x31\\xd7\\x1f\\xef\\x87\\xae\\xd3\\x1b\\x53\\xa0\\xa7\\x33\\x37\\x18\\xa0\\xa7\\xe9\\x6d\\x6b\\xf5\\x52\\xe0\\x53\\xa0\\x72\\x34\\xe0\\x7d\\xeb\\xc6\\x92\\x9c\\xdb\\xaa\\x9b\\x68\\x3b\\x6d\\x8a\\xdd\\x2e\\x99\\x4c\\xb8\\xa9\\x8a\\xc6\\x3a\\xf1\\x8c\\x6d\\x4b\\xb0\\xba\\x71\\xa8\\xcc\\xb2\\x9a\\xc4\\x28\\x58\\x96\\xb0\\x35\\x24\\x34\\xd7\\x5f\\xb4\\xb6\\x63\\x83\\xb3\\x77\\xa1\\x16\\x4b\\xe3\\x64\\x94\\x95\\xd6\\xf6\\xb8\\x92\\xe2\\x64\\xec\\xbb\\xe0\\x97\\x5e\\xed\\x38\\x19\\xf9\\xa7\\x9f\\x46\\xb6\\xd9\\xf8\\x32\\xb2\\xcd\\xe0\\xf6\\x34\\x56\\x46\\x1a\\x37\\xd6\\xc3\\x5c\\x1a\\xaf\\xb5\\xb9\\xcd\\x6e\\x8f\\xee\\x51\\x78\\xa7\\xc3\\xae\\x48\\x1c\\x87\\xc9\\xa9\\x0f\\x53\\x12\\xc1\\x62\\x11\\x3c\\x1e\\x5e\\xb0\\xe9\\x2d\\xc4\\xd3\\x4b\\x90\\xd8\\x96\\x84\\xc4\\xe0\\xff\\x12\\x6f\\x17\\x38\\x27\\x9f\\xc9\\x4a\\x54\\xdc\\x29\\xef\\x65\\xda\\xdc\\x93\\xa5\\x0c\\xe8\\x75\\x19\\x3f\\x30\\xd1\\x08\\x81\\x2a\\xaf\\xc1\\x97\\x33\\x50\\xb3\\x5a\\x8c\\xd5\\xaa\\x4b\\xd0\\x67\\x78\\xd1\\xf5\\xbc\\x20\\xf1\\x64\\x16\\xda\\xec\\x47\\x17\\xb0\\xb3\\x5d\\xc9\\x0d\\x64\\xe4\\xf3\\x61\\x19\\x3a\\xbe\\x16\\x72\\x53\\x90\\xb3\\x56\\xf4\\x2a\\xc3\\x64\\xe1\\x8f\\x78\\x99\\xa6\\x78\\xd0\\x62\\x35\\xe9\\xba\\xe0\\x60\\x3d\\x1e\\xaf\\xea\\x75\\xd8\\xad\\xbc\\xe2\\x53\\xfc\\x9a\\xc3\\x69\\xc7\\x12\\xb5\\xdb\\xc8\\x95\\x6b\\x62\\x45\\x07\\x2b\\x8a\\xac\\x83\\x53\\xbd\\x2e\\x4b\\x0a\\x0a\\xc2\\x38\\xc0\\x4f\\x6d\\x8c\\x3a\\x8d\\xe2\\x93\\x60\\x56\\x50\\x9e\\x75\\x82\\x6f\\x8c\\x3e\\xe0\\x76\\xbb\\xea\\x21\\x85\\x52\\x82\\xc5\\x87\\xd4\\x04\\x38\\x43\\xda\\x69\\x7d\\xe6\\x66\\x90\\x4a\\x36\\x9e\\x96\\x53\\x64\\x4c\\x01\\x09\\xe0\\xad\\xfb\\x78\\xfa\\x7f\\x52\\x60\\x25\\x63\\xf7\\xc0\\x40\\x89\\xce\\x01\\x93\\x9a\\x03\\x3f\\x33\\x3d\\x5e\\xa4\\x3a\\x64\\x5e\\xd7\\x34\\x9b\\x2c\\x7a\\xfc\\x5e\\xde\\xe4\\xf1\\x80\\x57\\xf6\\xe6\\x04\\x24\\x3f\\xe3\\xa7\\x1e\\xb3\\x5e\\xd6\\xe4\\x6e\\x49\\x98\\x1c\\x64\\xa1\\x5b\\x12\\x26\\x93\\xd7\\xc6\\x72\\xba\\xb7\\xcb\\x14\\x54\\x74\\x42\\xaa\\x6a\\x6f\\x3e\\x5d\\x3e\\x5a\\x4a\\xfe\\xef\\x82\\xf2\\x8b\\x65\\x2e\\xa2\\xb4\\x64\\xad\\x7a\\x8a\\xf4\\x4b\\x17\\xfd\\x4a\\xfe\\x0b\\xac\\xb6\\xa0\\xd6\\xf4\\xc2\\x27\\x68\\xbf\\x64\\xd1\\xf3\\xbd\\x0d\\x79\\xcc\\x8a\\xe5\\xb1\\x13\\x58\\x87\\xf1\\x63\\xba\\x1d\\x70\\xb8\\x55\\xcc\\xa7\\x7d\\x2e\\xa7\\xa2\\x9a\\x7c\\x80\\xa5\\x6f\\xd5\\xe9\\xf4\\xe7\\x04\\xcc\\xc0\\x02\\xd5\\x64\\x44\\x96\\x55\\x78\\x8b\\x97\\x6e\\x04\\x8b\\xdb\\x50\\x68\\x2c\\x16\\xbf\\xc2\\x83\\xa2\\xb8\\xfc\\x34\\x2e\\xcd\\x70\\xa8\\xed\\x5e\\xa3\\xc9\\x66\\xd4\\x74\\x3f\\x64\\x54\\x9a\\x4e\\x40\\x43\\x91\\x6b\\xaf\\x58\\x04\\xbe\\x1b\\x6e\\x68\\xdf\\x17\\xed\\xf8\\x31\\x86\\x62\\xf3\\x41\\xfb\\xde\\x68\\xc7\\x90\\xf1\\x33\\x8c\\xe8\\xc1\\x73\\xe2\\xc4\\xda\\x83\\xcf\\x66\\xb5\\xc8\\x98\\xda\\x68\\x9a\\x6e\\x15\\x25\\x9d\\x91\\xc8\\x91\\x2c\\x41\\x53\\xa6\\xfc\\x46\\x25\\xa8\\xca\\x8c\\x48\\xd3\\x9f\\x39\\xdb\\x45\\xbe\\x8a\\x4c\\xeb\\xb3\\xe8\\xaa\\x5e\\x97\\x02\\x84\\xe8\\x3a\\xee\\x11\\x3f\\xfb\\x7a\\xb7\\xa3\\x8e\\x9a\\xb2\\x89\\x4d\\x66\\xcc\\xef\\x31\\xc6\\x1c\\x6b\\x3b\\xfc\\x37\\x34\\x7f\\xd7\\xe9\\x71\\x97\\xac\\x5a\\x78\\x4c\\x66\\xcc\\x16\\x1e\\x0b\\x79\\xe0\\xb4\\xe0\\x76\\xf2\\x3a\\x1d\\x61\\x5e\\x25\\x23\\xac\\x26\\x78\\xde\\xc9\\x9a\\x15\\xc5\\xe9\\x62\\xa1\\x31\\xc1\\x2a\\xdd\\x36\\xb5\\xc3\\x42\\x01\\x02\\x8e\\xd8\\x69\\x44\\xe1\\x12\\xf4\\x34\\x7b\\x6e\\x37\\x03\\xca\\x35\\xfe\\x98\\x4d\\x69\\xd2\\xa3\\x99\\xc6\\x8f\\xdd\\x42\\xf0\\x39\\x09\\xd2\\xbe\\xcd\\x0c\\x26\\xac\\x28\\x2a\\x76\\x01\\xec\\x9c\\xa6\\x2a\\x60\\xe2\\x9a\\xf1\\x52\\x06\\x8b\\x88\\x55\\x18\\xb0\\xb5\\x1f\\x72\\xb7\\x1f\\x23\\x74\\x8e\\xa2\\x8c\\xc4\\x3a\\xc6\\x14\\xf3\\x4f\\xae\\x4b\\xde\\x49\\x53\\x75\\x4c\\x83\\xc2\\xd9\\xc7\\xdb\\x53\\x73\\x50\\x58\\x59\\x23\\x06\\xe4\\x79\\x8a\\x9b\\x84\\xdf\\x6f\\x92\\x04\\xd6\\x02\\xb2\\x6c\\xb7\\x5b\\x24\\xfc\\x7e\\x93\\x05\\x30\\xe5\\x05\\x02\\x0b\\xa5\\xd8\\x5d\\x16\\xa1\\x21\\x61\\x71\\xfd\\xc5\\xfb\\x2b\\xda\\x51\\x5b\\x28\\xe5\\xcd\\x42\\x88\\xb9\\xfc\\x97\\x7b\\xdb\\x21\\x62\\x8c\\x70\\xe6\\x14\\x4c\\x4c\\x3a\\xcf\\xdb\\xe7\\x29\\x1d\\x29\\x2c\\x9b\\x18\\x42\\x61\\x89\\xe1\\x5c\\xb1\\x4b\\x6c\\x33\\xa1\\xa6\\x66\\x81\\x63\\x78\\xdd\\x6c\\x6b\\x4a\\x98\\x3b\\xae\\xa2\\x8e\\x79\\xda\\xb3\\xa2\\x8f\\xb0\\xac\\xcd\\xbb\\xd3\\x1d\\x67\\xf7\\xa0\\x96\\xf6\\x8e\\x7f\\x77\\xe2\\xdc\\x14\\x26\\xd1\\x3f\\x52\\x3a\\x52\\x18\\xac\\x56\\x9b\\xc4\\x9a\\x78\\x93\\x8d\\xb3\\x2b\\x60\\x21\\x7d\\xb6\\x71\\xb2\\x62\\xb2\\xb9\\x38\\x11\\x4b\\xfd\\x4a\\x77\\xef\\xac\\x68\\x77\\xc8\\x49\\xc1\\x98\\xa4\\x7a\\xcb\\xce\\x45\\x1b\\xb3\\x11\\x71\\x7e\\x6c\\xdd\\x9a\\xdd\\x57\\x34\\xc9\\xb4\\x92\\xea\\x4a\\x89\\x78\\x2f\\x2c\\xb6\\x31\\x52\\x28\\xc4\\x70\\xbc\\x8f\\x04\\xad\\x61\\x6d\\x49\\x92\\x04\\x17\\x6f\\xc9\\x69\\xc2\\x5b\\x9e\\x17\\xa8\\xb4\\x86\\x3b\\x6e\\xc0\\x6d\\xa7\\x1a\\x91\\x3e\\xaa\\xa3\\xa3\\xdf\\xf9\\xe0\\x39\\x2d\\x98\\x1b\\x3f\\x59\\xc7\\x72\\x59\\xca\\x93\\x94\\x41\\xe7\\xee\\x7b\\xfd\\xb9\\xd9\\xca\\xd3\\x94\\xb5\\x44\\x79\\xba\\x62\\xa1\\x01\\xda\\x9d\\x3c\\xe0\\x2f\\xe8\\xac\\x3b\\xd5\\x24\\x17\\xa7\\x72\\xe3\\x49\\xe5\\xb8\\x3f\\x21\\xe6\\xbc\\x78\\xa5\\x49\\x92\\x9c\\x01\\xbc\\xad\\x3c\\x5e\\x99\\xf1\\x3a\\x09\\x48\\xa3\\xc9\\xc4\\x7b\\x83\\x6a\\x43\\x22\\x18\\xf4\\xfa\\x02\\xfa\\x38\\xac\\x44\\xf9\\x9c\\x5e\\x97\\xcf\\xdd\\x90\\xf0\\x61\\xca\\xd6\\x90\\xe0\\xb3\\xb4\\xa8\\x8a\\x76\\xd3\\x4c\\x7b\\x52\\xe8\\xce\\xfd\\xa1\\x29\\xc1\\x53\\x38\\xde\\x29\\x29\\x33\\x33\\xd3\\x58\\xa3\\x62\\xa4\\xf2\\x6b\\x7f\\x5f\\x7f\\xed\\x53\\xa3\\x1e\\x9e\\xb8\\xec\\xa6\\x45\\x37\\x2c\\x1f\\xfb\\x37\\x63\\xf8\\xb9\\xa7\\xd7\\x9e\\x75\\x04\\xef\\x9a\\x7f\\x1c\\xbe\\x62\\xc8\\xa8\\x2b\\x47\\x3e\\xbe\\xf9\\xf6\\x3b\\xfd\\x68\\xb6\\x01\\x21\\x84\\x94\\x20\\x3a\\x42\\xec\\x21\\x24\\xb7\\xd2\\x2c\\x61\\x2d\\xa6\\xd1\\x15\\xcc\\x25\\xf1\\x7e\\x39\\x66\\x73\\x61\\xd4\\xcd\\xf5\\x72\\x17\\xf6\\xca\\x67\\xd4\\x32\\xc9\\x56\\x19\\x0c\\xfa\\xb1\\x6e\\xe0\\xef\\x29\\x36\\x25\\x7a\\xf6\\xd4\\xfd\\x8c\\x8a\\x49\\x19\\xa3\\xfb\\xfd\\xa1\\xa6\\x84\\x9f\\xb7\\x97\\x35\\x25\\xec\\x0e\\x3d\\x9f\\x78\\x70\\x75\\x17\\xe1\\xd7\\x89\\xe9\\x77\\xf2\\x11\\x18\\x08\\x55\\x69\\x94\\x44\\x0a\\xea\\x2e\\x12\\xd7\\xa2\\x2a\\xe2\\x69\\x94\\xf2\\x19\\x21\\x67\\x51\\x05\\xf8\\x42\\x4a\\xa0\\xac\\x28\\xaf\\xe1\\x1e\\xef\\x51\\x53\\x52\\xd9\\xa7\\x6f\\x1c\\x0e\\x8f\\x9e\\x73\\xcb\\x8c\\xd9\\xf7\\x3d\\x8d\\x7e\\xb8\\x6d\\x25\\x08\\xcf\\x5e\\x30\\xb9\\xa9\\xa6\\x66\\xc5\\x0d\\x2f\\x3c\\xbe\\xe8\\x99\\x4d\\xeb\\x1e\\x18\\x58\\xe9\\xbb\\xb2\\x11\\x84\\xbe\\xdf\\x4e\\xbe\\x65\\xe9\\xb2\\xd5\\xe7\\x7d\\x86\\xf6\\xe6\\x55\\x56\\x6e\\x87\\xc1\\x6f\\x7c\\x0d\\xe3\\x9f\\x29\\xf8\\x50\\x3d\\xfe\\xe7\\xd1\\x36\\xe6\\xd3\\xc3\\xff\\x02\\x13\\xfa\\xcf\\xb4\\x5f\\x9a\\x4b\\x0d\\x5b\\x1b\\x1e\\x0b\\x7e\\x16\\x3f\\x86\\x29\\x60\\xca\\x98\\x8b\\xe2\\x2e\\x57\\xb8\\x77\\x61\\xae\\xad\\xb8\\xd8\\xab\\x4b\\x92\\x37\\xb7\\x77\\x9e\\x50\\xde\\x27\\x40\\x0e\\x3b\\xe3\\x85\\x78\\x4a\\x79\\x4b\\x6f\\xb6\\x31\\x41\\x62\\x68\\x2c\\x58\\x4f\\xb6\\xa8\\x7c\\xef\\xc6\\x04\\x13\\xc3\\xff\\xc3\\x24\\xfe\\x95\\x77\\x8d\\x4b\\xf0\\xe9\\xe4\\x83\\xa9\\xa4\\xa5\\xdd\\xc6\\x3d\\xa6\\x30\\xda\\x49\\xd7\\x09\\x3a\\x64\\x7b\\xc7\\xdd\\x15\\x46\\x6c\\x35\\xe9\\xb9\\x84\\x99\\x82\\x64\\x07\\x7a\\x7e\\x40\\x8f\\xe1\\xb9\\x8d\\x13\\xc6\\x4e\\x3a\\xff\\xbf\\xe8\\xc8\\xbf\\xde\\x3d\\x7d\\xc2\\x29\\xbe\\xb2\\x09\\xe7\\x5c\\xbf\\xb8\\xb8\\x66\\xd5\\x95\\x4b\\x56\\x9e\\x51\\x32\\x3b\\x04\\xe5\\x13\\xee\\x1d\\x35\\xb2\\x67\\x24\\x54\\xe8\\x8c\\xc5\\x20\\x0f\\xa4\\x24\\xd4\\xc5\\x5e\\x71\\xbc\\x7c\\xdf\\xe3\\xaf\\xc4\\x9f\\x6e\\xdc\\xf2\\xdc\\x4b\\x0f\\x3f\\x7c\\x8b\\x43\\xdd\\xe1\\xb1\\xb3\\xd2\\xb3\\x4f\\x8f\\xd8\\x58\\x12\\x79\\x90\\xe4\\x10\\x43\\x93\\x08\\x16\\x3d\\xe6\\x1b\\x67\\xc7\\x83\\x79\\x26\\x62\\xbf\\x08\\xfb\\x64\\xd9\\xc4\\x87\\xf9\\xc2\\x02\\x87\\x43\\x0d\\x85\\xa2\\x2a\\xc3\\xb7\\x24\\x18\\x91\\xf0\\x36\\x2d\\xc1\\x58\\x54\\x77\\x53\\x42\\xe5\\x2d\\x8e\\x28\\xde\\xad\\xd1\\x34\\x04\\x69\\x07\\x07\\x98\\x6e\\xfd\\x5f\\x32\\xfa\\x53\\x5e\\xd7\\x63\\xc7\\xea\\x1a\\x81\\x15\\x48\\xc8\\xd1\\x5d\\x86\\x16\\x60\\x47\\x3b\\xd0\\x7d\\x30\\x0d\\x26\\xc0\\x0f\\xcb\\x51\\x6b\\xe4\\xa5\\xab\\x5f\\x7f\\xef\\xc3\\x37\\x16\\x3f\\xd7\\x17\\xe0\\x66\\xb4\\xda\\x8f\\x26\\x51\\x45\\xa9\\x4f\\xb5\\x15\\x16\\xc1\\x78\\xea\\xe5\\x42\\x42\\x47\\xfe\\x7b\\xe4\\xd7\\x36\\xe6\\xca\\x1b\\x5b\\xd0\\xfa\\x92\\x96\\x53\\x7e\\x61\\x52\\xe7\\x92\\x24\\xb6\\x99\\xf4\\xad\\x24\\xcf\\xe4\\x74\\xe4\\x86\\x7c\\xb2\\x23\\x24\\xf3\\xa6\\x10\\xee\\x9c\\xd3\\xa9\\xe6\\xe6\\x46\\x55\\xd5\\x43\\x23\\xf6\\xdd\\xd1\\xc0\\xf8\\x44\\xd4\\xc5\\xf0\\xe3\\x69\\x57\\x31\\x8b\\xec\\xe0\\xee\\x52\\x7f\\x92\\xd5\\xdc\\xa9\\x6f\\x9d\\xce\\x2e\\x55\\x23\\x1e\\x04\\x88\\x2e\\x04\\x9f\\xa6\\xfa\\x76\\x30\\x99\\x7d\\x90\\x79\\x80\\x46\\x83\\x68\\xaf\\xdc\\x11\\xc8\\x74\\xcb\\x02\\x51\\x94\\x75\\xa6\\x89\\xae\\x3b\\x6f\\xaa\\xbc\\xea\\xcd\\x9c\\x73\\xc6\\xfc\\x42\\x72\\x49\\x61\\xbe\\xf5\\x0e\\x8d\\x07\\xa9\\x8a\\x07\\x40\\xe4\\x78\\x0b\\x2f\\x9a\\x78\\x9b\\xcc\\x8b\\x8c\\xc9\\x6c\\x22\\x8c\\x42\\x84\\xe6\\x84\\x98\\x81\\x3b\\xa6\\x36\\x8d\\xec\\x4c\\x0a\\x69\\x1e\\x45\\xb3\\x46\\x5d\\x71\\xfc\\x21\\x23\\x59\\x54\\xeb\\x24\\xa2\\xb3\\xd0\\x24\\x51\\xc0\\xf4\\x45\\xd3\\x29\\x86\\x18\\x7d\\x07\\x96\\x9b\\x81\\x13\\xc0\\xca\\xcb\\x36\\x2b\\x48\\x1c\\xcf\\x61\\x42\\xa6\\x10\\xe0\\xb4\\xcc\\x49\\x6e\\x97\\x77\\x44\\x8c\\xea\\x29\\x3b\\x64\\x6d\\x1b\\xd0\\xfb\\x04\\xe7\\x6a\\xc1\\x2f\\xdc\\x15\\x3b\\x76\\x24\\x07\\xa7\\x74\\x7a\\x22\\xe3\\x62\\x6a\\xcb\\x98\\x98\\xbc\\xb8\\x6a\\x02\\xe0\\x59\\xd6\\x62\\x16\\x49\\x72\\x9c\\x94\\x2f\\x68\\x2a\\x41\\x6e\\x16\\x7b\\x85\\x88\\x03\\x22\\xec\\x6b\\x44\\x02\\x82\\xbe\\xc7\\x41\\x80\\xbe\\x6c\\x7d\\xf2\\x25\\xb6\\x9e\\x1b\\x9c\\x7c\\x8d\\xad\\x23\\xfe\\x6a\\x78\\xbe\\x2f\\xa4\\x18\\x21\\xb8\\x4e\\x1b\\x63\\xb1\\xb1\\x0c\\x63\\x97\\x45\\xd1\\x8c\\x05\\x9b\\x80\\x81\\x10\\x6f\\x54\\x99\\x1e\\x0a\\xea\\xad\\x36\\x10\\x48\\x62\\x1e\\x78\\x10\\xb5\\x50\\x1f\\x35\\x5b\\xfd\\x6e\\x28\\x40\\x13\\x49\\x08\\x34\\xdf\\x37\\xf9\\x78\\xf9\\xeb\\x65\\x7b\\xd9\\xff\\x8f\\xb1\\xe7\\x00\\x8c\\xaa\\x48\\x7b\\xe6\\xcd\\x2b\\xfb\\xb6\\xbd\\xed\\x25\\x9b\\xb6\\xd9\\x54\\x02\\x09\\x64\\x49\\x42\\x42\\x5b\\x10\\x91\\x26\\x09\\x11\\x90\\xa5\\xa3\\x02\\x8a\\x22\\x82\\x20\\xd2\\x05\\x45\\x50\\xc0\\x82\\x15\\x54\\x44\\x0e\\x51\\x51\\x01\\x01\\x91\\x03\\xc1\\x2e\\xa2\\x62\\x2f\\xa7\\x58\\xce\\x8a\\x87\\x1d\\x39\\x4e\\x81\\x9d\\xfc\\xdf\\xcc\\x7b\\xbb\\xd9\\x4d\\xe0\\xfe\\x23\\x0a\\xc9\\x66\\xf7\\xcd\\xf7\\x7d\\xf3\\xd5\\x99\\xaf\\xf4\\x3f\\xf5\\x2a\\xbd\\x10\\x65\\xc0\\x6d\\x07\\xfb\\x99\\x23\\xab\\x16\\xc1\\x6e\\xb1\\x5a\\x1d\\x9a\\x28\\x5a\\x05\\xb3\\x1d\\xd9\\xc7\\x41\\x20\\x84\\xac\\x92\\xa0\\x0f\\x7d\\x6e\\x53\\xda\\x50\\x97\\xea\\x12\\xc5\\x4a\\x31\\xdc\\xac\\xec\\x45\\xb7\\xa1\\x51\\x8c\\xe8\\x21\\x03\\x2b\\xfa\\x32\\x6a\\xa6\\xb7\\x03\\x9a\\xab\\x49\\x96\\x30\\x99\\xe1\\x96\\x58\\xf3\\x5d\\xe2\\x0d\\xa1\\x1a\\xa5\\xe1\\xe8\\x42\\xb1\\x58\\x9e\\xd9\\xa6\\x09\\x10\\xd3\\x6a\\x1a\\x76\\x38\\x3c\\x6e\\x59\\x46\\x80\\xa9\\x23\\x64\\x77\\x21\\x57\\x43\\xdc\\xc2\\xba\\x36\\x55\\x25\\x13\\x56\\xd3\\xa9\\x99\\x2c\\x45\\x8b\\x86\\x5b\\xf0\\xe7\\x15\\x69\\xd5\\xe1\\x69\\xb8\\x4b\\x26\\x19\\xe0\\xe7\\xd7\\xe8\\x11\\xfa\\x5a\\x3a\\x29\\x5e\\xf8\\xe1\\x07\\x9d\\x16\\x6c\\x5e\\x52\\x03\\xf7\\xe1\\x2e\\x88\\xb5\\x93\\x4c\\x82\\x45\\x94\\x55\\xb3\\xd9\\xae\\xc8\\xc0\\x96\\x56\\x70\\x9d\\xec\\x22\\xf8\\x52\\x26\\xcc\\x92\\x16\\xb1\\x0a\\xaf\\xb5\\x72\\xe5\\x74\\x33\\x9e\\x11\\x10\\x1a\\x32\\xe5\\xd2\\x0f\\x9b\\x54\\x3e\\xb9\\x82\\xff\\xc7\\x3c\\xba\\x61\\xe7\\xd1\\x75\\xf0\\xf5\\x1a\\xfe\\x81\\xf6\\xc2\\x5d\\x70\\x1d\\x7c\\xd5\\x80\\xa3\\x51\\xbf\\xe9\\x24\\x1b\\xb8\\x26\\x7c\\x27\\xdc\\x4f\\xed\\xf8\\x58\\xe2\\x12\\xaa\\xf1\\xc1\\x01\\x98\\xf7\\x86\\x1d\\xc7\\x7d\\xbc\\x8b\\x62\\x79\\x67\\x81\\x0f\\x58\\xd9\\x84\\x65\\x49\\xd0\\xdd\\x61\\x8b\\x24\\x01\\xa4\\x9a\\xe8\\xe5\\x0e\\x60\\xba\\xd3\\x17\\x35\\x14\\x40\\x2a\\xfc\\x6e\\x0b\\xae\\x85\\xc3\\x1a\\x32\\xc0\\x25\\x57\\x76\\x3d\\x4d\\xe9\\x87\\x78\\x25\\x5d\\x86\\x2b\\x8f\\x7c\\x8f\\x3b\\xc1\\xbf\\xa6\\x25\\xbf\\xe3\\xe5\\xf4\\x5a\\xa1\\x12\\x42\\xd4\\x75\\xf8\\xa2\\xc4\\x9f\\x74\\x25\\x17\\x07\\x80\\x35\\x40\\x2f\\x95\\x1f\\xe6\\xb4\\x8c\\xc5\\xc2\\xa2\\xcd\\x24\\x59\\xcc\\xc8\\xc6\\x07\\x75\\x3b\\x2c\\x36\\xf0\\xc4\\xb4\\x71\\x71\\x19\\x11\\x93\\x68\\x13\\xc7\\xc7\\x6d\\xae\\x54\\x03\\xa5\\xd6\\xc2\\x97\\xde\\x5e\\xce\\xa9\\x0f\\x9f\\x0a\\x07\\xc8\\x67\\xf4\\x75\\x41\\x61\\x7d\\xd5\\x4f\\xfd\\x44\\x17\\x4b\\x8b\\xbf\\x3d\\x7d\\x61\\xb2\\xb1\\x3a\\x84\\x0d\\xec\\x7c\\xed\\x52\\x69\\x28\\xa7\\x53\\x2f\\xbe\\xb6\\x00\\x8b\\x9b\\x25\\x1b\\x12\\x1d\\x4e\\x7d\\xed\\x06\\x58\\x5b\\x63\\x6b\\x37\\xe8\\x2d\\x83\\xcf\\xbc\\x76\\x72\\xf1\\x48\\xda\\xe2\\x91\\x0a\\xe1\\xf0\\xb7\\x7a\\x57\\xb0\\xd3\\x4f\\x7c\\x2e\\xd6\\x83\\x02\\x48\\xf6\\xf5\\xd1\\x7b\\x39\\x5d\\x09\\x6b\\xdf\\xce\\x67\\xe3\\x9d\\x1f\\x2b\\x71\\x81\\x13\\xaa\\x80\\xdd\\xc3\\x1e\\xe2\\xf7\\x79\\xb1\\x26\\x4c\\x88\\x03\\x6f\\x9b\\x6c\\x22\\xab\\x70\\xc3\\x0e\\x13\\xc1\\xae\\x16\\x06\\x4a\\x77\\xa1\\x5a\\x7b\\xe4\\x5c\\x07\\xb5\\x1e\\xfe\\xc0\\x78\\xe8\\x9e\\xc7\\x8e\\xbc\\xf9\\xeb\\x17\\xc9\\x01\\x10\\xf3\\x4f\\x0a\\x91\\x0b\\xbe\\x3c\\x96\\x1a\\x01\\x61\\xc4\\x06\\x17\\x00\\xdf\\xdc\\xce\\xcf\\x6b\\x86\\xc4\\x9c\\xaa\\x6c\\xc7\\x5e\\xab\\xc5\\x6b\\xb7\\x90\\x80\\xdf\\x6a\\x97\\x35\\xc6\\x29\\xde\\xb8\\x2c\\xdb\\x7d\\xc4\\x05\\x4e\\x32\\xb1\\x2b\\x3e\\xcd\\xae\\x36\\xc4\\xed\\xde\\xff\\x05\\xae\\x96\\x86\\x66\\xba\\x1e\\x6e\\xd5\\xd4\\x6c\\xee\\xef\\x1b\\x86\\xaf\\xbd\\x29\\xad\\xab\\x99\\x11\\x34\\xa4\\x3a\\x9b\\xa5\\xcf\\xc3\\x08\\xa0\\x09\\xb1\\x2a\\xb7\\x28\\x3a\\x24\\x2f\\x42\\x01\\x1b\\xec\\x59\\x80\\x64\\x05\\x9d\\x4e\\xe0\\x62\\x64\\xf1\\xe2\\x09\\x71\\xaf\\xd7\\xe2\\x76\\x23\\x8b\\x43\\x61\\x65\\x9f\\x13\\xc0\\xcc\\xf9\\x2c\\xa9\\x59\\x19\\x69\\xc6\\xfa\\x2c\\xb6\\xcd\\xf0\\xa9\\x65\\x85\\x01\\x9a\\x24\\x25\\x3b\\xee\\xad\\xd1\\x47\\x69\\x5c\\x31\\xe9\\xb9\\x02\\x46\\xcb\\x09\\x33\\x9e\\x9b\\x7c\\x39\\x9b\\xa6\\x51\\xea\\xa1\\xef\\xe0\\xa0\\x4e\\xcf\\x15\\xf3\\x2d\\xf8\\x55\\xda\\xd3\\x1a\\xe6\\x83\\x35\\x5a\\x7a\\xc0\\x05\\x20\\xde\\x2a\\x34\\x59\\xad\\x16\\xd9\\xe1\\x20\\x4e\\xec\\xf7\\x3b\\x2d\\x00\\xb3\\x87\\x34\\xc6\\x9d\\x56\\x9b\\xe6\\x22\\x01\\x8f\\xc7\\xaa\\x06\\x34\\x36\\x2f\\x9c\\x53\\x12\\x64\\x8b\\x9f\\xbd\\xa4\\xbb\\x13\\x46\\x63\\xb8\\x14\\x28\\x0c\\x46\\x6f\\xa4\\x3a\\x49\\xc9\\xd5\\xd3\\xca\\x2e\\x63\\xed\\xe1\\xae\\x28\\x9e\\x56\\xdf\\x43\\x27\\xe5\\x1a\\x82\\xe3\\x74\\xab\\x92\\xab\\x77\\x89\\x2b\\xb1\\xbc\\xfd\\xb4\\x99\\x93\\x53\\x9f\\xf3\\x13\\xe6\\x73\\x92\\xba\\xc5\\x72\\x59\\x1f\\x5b\\xd5\\x64\\x72\\x7a\\xdc\\xa2\\x8d\\x65\\xca\\xc3\\xb2\\xda\\x04\\x08\\x8a\\x9c\\x2e\\xa2\\x3a\\x93\\x83\\x19\\xcf\\xd0\\x55\\x2a\\x35\\x26\\x38\\x7d\\x2e\\x23\\xde\\x76\\xd3\\xfe\\x31\\xbf\\x7e\\x41\\xbf\\x5d\\x74\\xf7\\xad\\x4f\\xb1\\x7b\\x99\\xc4\\xe7\\x9d\\x0a\\xbe\\x3c\\xc6\\x26\\x32\\x02\\xb3\\x25\\x20\\x8a\\x37\\x7a\\x93\\xb0\\x7e\\x0f\\x2e\\x19\\x0d\\xe4\\xbe\\xa8\\xa5\\xf9\\x27\\x79\\x39\\xf8\\x63\\xf9\\xe0\\x8d\\x4e\\x88\\x75\\xca\\x47\\xc8\\x1f\\xc9\\xca\\x72\\x4a\\x76\\xb5\\xd0\\xaf\\x4a\\x7e\\x52\\x5a\\x62\\xb1\\x78\\xf2\\xf3\\x05\\x4f\\x96\\xe4\\x94\\xc6\\xc5\\x23\\x4e\\xa7\\xe0\\xf1\\x84\\xc7\\xc5\\x3d\\xa2\\x90\\x33\\x2e\\x2e\\xb8\\x33\\x3a\\x5f\\x9d\\xa9\\x92\\x37\\x93\\x8a\\x6c\\x6c\\x2b\\xe1\\x69\\x49\\xb5\\x7e\\xe6\\x7d\\xfa\\x79\\x93\\x78\\xa7\\x47\\x09\\xeb\\x39\\xfe\\x38\\x9f\\x84\\x2b\\xb0\\xdc\\xed\\x7a\\xda\\x9d\\x7e\\x47\\x37\\xe7\\xd8\\x37\\x3c\\xe9\\x7f\\xc7\\xdd\\xfb\\xbc\\x3c\\x70\\xbb\\x7c\\xa0\\x80\\x2f\\x54\\x4e\\x07\\xdd\\xcf\\xdc\\x31\\xf7\\x9e\\xf6\\xf4\\x65\\xba\\xc3\\x27\\xbc\\x6a\\xdd\\x8b\\x87\\xd2\\x7b\\xc1\\xc5\\xcf\\x7d\\x6c\\xc3\\x05\\xe3\\xf2\\xba\\x76\\xe9\\x5f\\x87\\x71\\x0e\\xee\\x4f\\x57\\xd2\\xad\\x3d\\x06\\x6e\\x7d\\x73\\xd2\\x14\\xe2\\xa7\\xf3\\x9f\\x7f\\xd9\\xc0\\x55\\xca\\xe5\\x3d\\xa3\\x0a\\xd1\\xec\\x58\\x2c\\x2b\\x14\\xf2\\x84\\xbd\\x5e\\x1b\\x31\\x4b\\x05\\x1e\\x89\\x78\\x48\\x71\\x91\\xa2\\x20\\x87\\x97\\xd8\\x48\\x53\\x3c\\x6c\\x0b\\x3b\\x9c\\xfd\\x34\\x1b\\xb6\\x4b\\x36\\x1b\\x72\\x38\\x72\\x9b\\x80\\x9d\\x51\\x16\\xc4\\xe8\\x59\\x56\\x60\\xfe\\x21\\x99\\xcd\\x67\\xd2\\xfb\\x2d\\x9d\\xb1\\xb6\\x30\\x45\\x01\\xa9\\x00\\x95\\x14\\xa6\\xb0\\x67\\x67\\xf8\\x2e\\xa7\\x37\\xcc\\x55\\x06\\xcb\\xf1\\x65\\x85\\xcd\\x15\\x98\\x74\\x3d\\x42\\x4f\\xd9\\xe8\\xc1\\xa2\\x9d\\x39\\x75\\xfd\\xb2\\x30\\xf9\\xf4\\x5f\\x27\\x12\\x03\\x66\\x5d\\x71\\x57\\x09\\x56\\xeb\\x7e\\xdb\\x7c\\xf1\\xe5\\x04\\x6f\\x34\\x5d\\xe9\\xc1\\xe2\\x7f\\x94\\x4f\\x86\\xce\\xed\\xd8\\xbb\\x53\\x79\\x07\\xf2\\xde\\x77\\xf4\\x0d\\xfa\\x91\\x69\\xdd\\x43\\x8b\\xfd\\x77\\xae\\x26\\x4f\\xdd\\x3c\\xff\\xfa\\xeb\\xf5\\xfd\\xa5\\xbf\\xf3\\xfd\\x8d\\xa0\\x32\\x74\\x45\\xac\\x36\\x37\\x2f\\xcf\\x5b\\x1c\\x08\\x68\\xa4\\x20\\x62\\x55\\x4a\\xbc\\x0a\\x89\\x78\\xc5\\xf2\\x76\\xaa\\x8a\\x72\\x73\\x5d\\x11\\x14\\x0b\\xf0\\x2a\\x99\\x62\\x4d\\x43\\x2e\\x57\\x21\\x04\\x5b\\x22\\x0a\\x8d\\x8b\\x87\\xf9\\x10\\xb5\\xd6\\xdb\\x7c\\xc6\\x34\\xbf\\x74\\x44\\x8b\\xff\\xeb\\x46\\x83\\x03\\xee\\x8c\\xb8\\xf9\\x6e\\x93\\xd5\\xbf\\xd3\\xaf\\x43\\x67\\xdf\\x69\\x6c\\xba\\x9a\\x3e\\xf0\\xc1\\x24\\x63\\xbb\\xed\\x21\\xf8\\xa5\\x70\\xb6\\xcd\\xee\\x4f\\x0f\\x94\\xd1\\x66\\xe9\\x25\\x7d\\xcb\\x75\\xfc\\xf9\\x9e\\xe7\\x01\\x7f\\xdf\\x1c\\x1b\\xc4\\xf6\\x3c\\xc2\\xf6\\x3c\\x37\\xcf\\x2c\\x15\\xb2\\x5d\\xcf\\x13\\x4b\\x4b\\x14\\xc5\\x91\\x87\\x62\\xfa\\xc6\\x47\\xd8\\x80\\x5e\\x81\\xb4\\xda\\xfe\\xfc\\x96\\xed\\xcf\\xe2\\xdb\\x9f\\xc3\\xf6\\xbf\\xea\\x8c\\x0c\\x30\\x6e\\x4c\\x06\\x81\\xce\\x42\\x1d\\xe1\\xac\\x6c\\x20\\x33\\xca\\xe8\\x8c\\x20\\xbc\\xfb\\xcc\\x21\\xcb\\x19\\xf9\\xe0\\x22\\x7a\\xfc\\xed\\x29\\x06\\x27\\x58\\x43\\x18\\xfd\\xe3\\x8c\\xac\\x70\\xb2\\x88\\x52\\xf1\\x09\\xce\\x0c\\x67\\x98\\x67\\xcc\\x67\\x3a\\x2a\\xe5\\xae\\x62\\x72\\x40\\xef\\x65\\x22\\xf4\\xc7\\xb5\\x2c\\x27\\x34\\x1c\\x96\\x8a\\x71\\xe1\\xee\\x66\\xba\\xb3\\xb0\\x9d\\x1c\\xca\\x98\\xb5\\xca\\xfb\\xca\\xf3\\x9e\\xdc\\x47\\x8c\\x9e\\xdc\\x4b\\x8c\\x9e\\xdc\\x3c\\x91\\xb4\\x08\\x15\\x95\\x8b\\xa1\\xf4\\xb9\\x70\\x10\\xef\\x45\\x40\\xf5\\x84\\x21\\x26\\xea\\x60\\x11\\x14\\x93\\xc9\\xee\\x05\\x05\\x22\\xe4\\xe7\\x87\\xb3\\xec\\xf6\\x30\\x44\\x9a\\x61\\x8b\\x25\\x8c\\x84\\x3c\\x36\\x1c\\x2e\\x8c\\xf8\\x51\\x4c\\x98\\xcd\\xa0\\x60\\x66\\xa3\\x2a\\x95\\x30\\x7d\\x26\\x6f\\x28\\xf9\\xe5\\x32\\xee\\x4f\\x7a\\x08\\xfc\\x44\\xd3\\x87\\xbc\\x2c\\x6d\\x37\\x75\\x8c\\x51\\x81\\x59\\x8d\\xe8\\x4d\\xb8\\x24\\x37\\xda\\xbd\\xf1\\x24\\x3b\\xde\\xac\\x3b\\xe7\\x67\\xac\\xd0\\x03\\xf4\\x3b\\xfd\\x2a\\x7b\\xe3\\xbd\\x23\\xb6\\xcf\\x7e\\x87\\xdf\\xa9\\x3c\\x18\\xec\\x79\\x35\\xbe\\x9b\\x4e\\x18\\x39\\x34\\x97\\xbe\\x76\\x1c\\xde\\xb2\\x89\\x1d\\xc9\\x7c\\xf6\\xd1\\xbc\\x6d\\xe3\\x12\\xab\\x8d\\xbb\\x95\\x0b\\xc5\\x7b\\xc1\\xae\\xe4\\xa3\\x78\\x2c\\x0b\\x05\\x72\\x72\\x73\\x21\\x8e\\x50\\xbd\\x60\\x46\\xbc\\x9a\\x20\\x78\\x0b\\xc2\\x66\\xb3\\xec\\x0d\\xb8\\xf5\\x8b\\x95\\x40\\xc0\\x9b\\xe3\\xd3\\xbc\\x5e\\x19\\xbc\\x3b\\x39\\x94\\x7e\\xa4\\x97\\x3a\\x83\\x39\\x13\\x32\\x58\\x74\\xb6\\x3a\\x89\\x29\\xd7\\x8f\\xfb\\x8c\\x73\\x50\\xe1\\x2b\\xfc\\xcc\\xb2\\x13\\xeb\\x17\\x3c\\x77\\xfe\\xae\\xa1\\xd7\\xdc\\xba\\xf4\\xde\\x8d\\x1b\\x58\\xc3\\x9f\\xe4\\x79\\x68\\x81\\x30\\xbc\\x33\\xed\\xb1\\xe1\\xc7\\xf9\\xbd\\x9b\\x66\\x9d\\xb7\\xfd\\xf1\\x0d\\x8f\\xd0\\x5e\\xe9\\x17\\x30\\xdd\\x8d\\x5a\\x1b\\xf0\\x83\\x1e\\xe7\\xf7\\x2e\\x5d\\x63\\x39\\xd8\\xe1\\xf6\\xf8\\x5d\\xaa\\xc3\\x45\\x82\\x01\\x8b\\x45\\x76\\xa9\\xaa\\xc3\\xeb\\x97\\x8d\\x31\\x79\\x86\\x97\\xa1\\xdf\\xd5\\xb6\\x34\\x68\\x88\\x9e\\x65\\x4e\\x5e\\x94\\xa5\\x58\\xe9\\xb3\\xf2\\x26\\x3f\\xb0\\x42\\x9f\\x95\\x77\\x4e\\xfe\\x39\\x64\\xf7\\x3d\\xdf\\x9f\\xbc\\x7f\\x1a\\x1f\\x97\\xb7\\x8c\\xee\\xbf\\xd1\\xf9\\x1f\\xe5\\x16\\xdc\\xe7\\x3b\\xfc\\x49\\x6a\\xe0\\x0e\\x46\\x5e\\x80\\xc9\\xc2\\x6d\\x36\\xd8\\x46\\x02\\xa1\\x02\\xf6\\xda\\xdc\\x5e\\x30\\xd7\\x01\\xd5\\x0d\\x61\\xa0\\x5b\\xd3\\xbc\\x36\\xd5\\xd6\\x18\\xc7\\x6a\\xb2\\x9b\\x48\\x54\\x2f\\x85\\x79\\x35\\x03\\x28\\x16\\x0e\\x0a\\x76\\x92\\xd1\\xe1\\x09\\xa0\\x22\\xdf\\xcd\\xa1\\xaf\\xd7\\x57\\x76\\xee\\x3b\\xee\\xdc\\xb4\\x5e\\xea\\x4b\\xff\\x01\\x71\\x22\\x9d\\x78\\xe4\\xce\\xe1\\x85\\xa9\\x5e\\x4e\\xcc\\x07\\x32\\xce\\x10\\xd9\\xcc\\x3e\\x90\\xf4\\x41\\xb1\\x22\\x27\\xf8\\x0f\\xb2\\x20\\x10\\xc5\\xe7\\x33\\xb3\\x5c\\x63\\xa7\\x1e\\xf8\\x82\\x6b\\x6f\\x73\\x83\\xbb\\x08\\xae\\xb2\\x3e\\xf6\\x35\\xea\\x78\\xb9\\x95\\x37\\x56\\xd7\\xea\\x98\\x0d\\xb7\\x9c\\x9f\\xa6\\x33\\x6a\\xcb\\x39\\x2a\\x2e\\xa1\\x6f\\xd2\\xcf\\x92\\xcc\\x99\\x76\\x94\\x7c\\x19\\x7d\\x9e\\x3e\\xa9\\x73\\xa4\\x71\\x3e\\xc8\\xfb\\x0a\\xf9\\xc0\\x97\\x2d\\x6e\\x03\\x9f\\xd3\\x06\\x10\\x36\\x30\\x08\\x4d\\xa2\\x46\\x80\\x92\\xe0\\x4c\\xff\\x2f\\x3c\\x98\\x01\\xa0\\x27\\x0d\\x40\\xd2\\x9e\\x9d\\xf6\\x19\\xbd\\x70\\x8e\\xd2\\x3f\\x75\\xfe\\x5b\\x75\\x5d\\x4b\\x67\\xa9\\xd3\\xc5\\xcd\\xf4\\x04\\x63\\xbb\\x2d\\x5b\\x93\\x67\\xee\\x1f\\xf0\\x18\\xe3\\xbc\\x58\\xc4\\x6e\\xb3\\xb2\\x33\\x77\\x15\\x63\\xab\\x55\\xfa\\x9f\\xcf\\xdc\\xeb\\x5a\\xb7\\x66\\x4f\\x3f\\x75\\x27\\x11\\xf1\\xb6\\xb9\\x2d\\x44\\x03\\x06\\x6b\\x75\\xec\\x6e\\x9c\\xbb\\xbf\\xc1\\x63\\x8d\\x33\\xc3\\xd0\\xa0\\xc3\\xc0\\x12\\x8e\\x5a\\x87\\x60\\xff\\x23\\x0c\\xe4\\xe1\\x39\\x2d\\x74\\x01\\x76\\x4a\\x23\\x87\\xc1\\x47\\x2c\\xe6\\xf0\\xf2\\x98\\x63\\x48\\xac\\xcc\\xe5\\x36\\x49\\x36\\xaf\\xd7\\x21\\xb9\\x1d\\x10\\x74\\xb8\\x9d\\x31\\x1b\\x9a\\x00\\xd1\\x86\\x53\\xb6\\x08\\xe3\\xe2\\x16\\x8b\\xd3\\x2e\\x13\\xa7\\x67\\x7c\\xaa\\x13\\x4d\\x86\\x77\\xcf\\x4c\\x4a\\xeb\\xc3\\xcd\\xd6\\x51\\x07\\x73\\xf2\\xa3\\x6c\\xee\\x5c\\x4b\\xd8\\xf1\\xd8\\xc9\\xf9\\x99\\x71\\x07\\x9b\\xc4\\x2c\\xac\\xe4\\x32\\x37\\x06\\xe8\\x13\\xe6\\x3c\\x34\\x2c\\xe6\\xc6\\x82\\xdd\\x02\\xfe\\xbd\\xcf\\x22\\xf8\\x80\\x83\\x04\\x14\\x73\\x4b\\x7a\\xf4\\x01\\x5e\\xbd\\xd5\\x61\\x6a\\x64\\x36\\xd0\\x63\\xd5\\x52\\x3d\\x9a\\xff\\x07\\xf8\\xf8\\x30\\xe2\\x6a\\x25\\x05\\xa5\\x11\\x8c\\x90\\x45\\xbf\\xcf\\xe5\\x81\\x07\\x0e\\x18\\xdd\\x95\\x2f\\x15\\x86\\x7f\\xa5\\x07\\x1d\\xa9\\xfe\\xca\\x06\\x0f\\xc9\\xbb\\x81\\x76\\xb9\\xa8\\x21\\x56\\xea\\x74\\x65\\xe7\\x84\\x82\\x18\\x87\\x3c\\x4e\\x97\\x2f\\x44\\xf2\\xf3\\x7c\\x3e\\x77\\x2e\\x36\\xbb\\x5c\\x92\\xdd\\x6d\\x1f\\x1f\\x0f\\xba\\x09\\x0e\\xa5\\x05\\x6c\\x46\\xdc\\xd8\\xf6\\xf8\\x3e\\xa9\\x26\\x3a\\xf7\\x64\\x35\\xcd\\xb0\\x85\\x60\\x8d\\xf3\\xb8\\x8a\\x0d\\x81\\x27\\xa9\\x27\\xb7\\x4a\\x33\\xe3\\x26\\x41\\x29\\x38\\xef\\x3f\\xef\\x51\\x6d\\x84\\x28\\xcb\\xf4\\x24\\x5e\\x71\\xba\\x6f\\x01\\xab\\xb9\\xbc\\x09\\x38\\x8d\\x0c\\xbf\\xff\\x9a\\xfc\\xac\\x45\\x89\\x84\\x9d\\xb8\\x2a\\x70\\xb5\\x7b\\xd6\\xbe\\xd3\\x9b\\xa5\\xc5\\xa7\\x7f\\xa2\\xff\\x59\\x38\\x92\\x9c\\xdb\\x32\\x4b\\x10\\xf8\\x4f\\xfa\\x8a\\xeb\\xb4\\x21\\xb1\\x76\\x10\\x64\\xba\\x31\\x28\\x35\\xd6\\x05\\xce\\xc1\\x15\\x1b\\xb6\\x78\\x45\\x85\\x75\\xf5\\x74\\x5b\\x35\\xd9\\xd1\\x18\\x97\\xbd\\xd8\\x9b\\x59\\xb4\\x60\\x60\\xd1\\xea\\x06\\x2a\\xc9\\x89\\x9d\\x6b\\x71\\xeb\\x69\\x05\\x4c\\x2c\\xf6\\x0e\\x73\\xd1\\x5f\\x5a\\x0d\\x2c\\x00\\xd6\\x64\\xf3\\x09\\x4e\\xdf\\xd4\\x7a\\x6e\\x81\\xce\\xa6\\x19\\x7d\\x0b\\x1b\\x5a\\xe6\\x74\\x2b\\x0e\\x57\\x31\\x9b\\xd3\\xed\\x54\\x54\\x11\\x2f\\xd7\\x6d\\xbd\\xe0\\x70\\x80\\x03\\xe3\\x26\\xee\\x90\\xa8\\xa4\\xd5\\x98\\xf0\\x39\\x47\\xd2\\xd7\\xf0\\xfe\\x3e\\xbc\\x26\\x72\\x2d\\xd6\\x6b\\x4c\\x84\\xce\\x9d\\x9d\\xc5\\x42\\xed\\xee\\xe6\\xb7\\x77\\xd6\\xf6\\x24\\xd9\\x19\\xfd\\xd4\\xf8\\x1a\\xf2\\x87\\xa9\\x35\\x30\\x5e\\xa1\\xd7\\x51\\x12\\xc1\\xef\\x97\\x8a\\x89\\xe0\\x65\\x6e\\x88\\xd7\\xad\\x2f\\xd4\\x52\\x7f\\xa9\\xaf\\x75\\x73\\x72\\x2d\\x34\\x05\\x1d\\x4d\\x7e\\xae\\x6b\\x57\\xd6\\x9f\\xb3\\x6e\\x77\\xf3\\xd7\\x3b\\xeb\\x6a\\xf5\\xe5\\x5a\\x3e\\x07\\x10\\x29\\xba\\x0f\\xb4\\x9c\\xaf\\xdf\\x1b\\xe2\\x9f\\xd7\\xf8\\x3c\\x83\\x47\\x5b\\xe6\\x5e\\x73\\x9c\\x4b\\x0d\\x9c\\x2f\\xd6\\xeb\\x64\\x40\\x63\\x14\\x63\\x6d\\x77\\xf3\\x5f\\x3b\\xd9\\xec\\x96\\x33\\xf4\\x0a\\xfd\\x3a\\xd9\\x2b\\x14\\xf0\\xce\\x36\\xe8\\xc4\\x5a\\x85\\x0a\\x39\\x72\\x4e\\x51\\x4b\\x77\\x51\\x63\\x1e\\xeb\\x3c\\xe9\\x6e\\x87\\x8c\\x87\\xa0\\xb4\\xd9\\x3d\\x0e\\x59\\x08\\xa5\\xe6\\xb5\\xce\\x63\\x34\\x61\\xbf\\xe7\\x34\\x79\\x24\\xd9\\x7b\\xb4\\xa8\\x88\\xd1\\x24\\xe2\\x89\\x84\\x3d\\xd6\\x16\\xc4\\xd2\\xfb\\x95\\xb2\\x67\\x70\\x7a\\x7c\\x9d\\xa4\\x47\\x38\\xcc\\xe8\\x91\\xc7\\x40\\xcf\\xcb\\x31\\x93\\x0c\\x7a\\xe8\\x3e\\x20\\x5b\\x4b\\xf7\\x01\\x55\\x2c\\x0c\\xd4\\xd7\\x12\\x70\\x69\\x29\\xab\\x7f\\x2d\\x46\\xc5\\x85\\xba\\x0f\\x98\\x5c\\xcb\\xf0\\x01\\x6f\\x4e\\xfa\\x80\\x68\\x0a\\xbe\\x21\\xf9\\x99\\xb2\\x32\\x56\\xfb\\x5a\\x42\\x4a\\x8a\\xc4\\x8c\\xcf\\xe8\\x33\\x9e\\xf9\\x3a\\xaf\\x19\\x38\\x45\\x93\\x9f\\xa9\\xa8\\x60\\xeb\\xb4\\xcf\\x6d\\xdf\\x8e\\x14\\x66\\x7c\\x86\\xcf\\xd4\\xe1\\xeb\\xfc\\x60\\xe0\\xf4\\x64\\xf2\\x33\\x95\\x95\\x6c\\x9d\\x0e\\xb6\\x0e\\xe5\\xa4\\x28\\xa3\\x07\\xab\\x3e\\x4b\\x9a\\xe5\\x32\\x0c\\x88\\x15\\x91\\x40\\x20\\x2b\\xc8\\xea\\x88\\x6d\\x6e\\xd9\\x96\\x25\\x93\\xec\\x90\\xdd\\x8e\\xfc\\x7e\\x33\\x3c\\x84\\x5d\\x94\\x9b\\x1d\\xe3\\xe2\\xe6\\xcc\\x08\\xb6\\x75\\x38\\xe3\\x4a\\x0e\\x50\\xc0\\x7a\\x0b\\x84\\x48\\xe6\\x6c\\x68\\x1c\\xbe\\x89\\x9c\\xa0\\x6f\\x3e\\xf6\\xd4\\xf2\\x53\\x1b\\x93\\xd3\\xa0\\xaf\\xbd\\xf5\\xf1\\x07\\xba\\xe2\\x60\\xe2\\x4a\\x69\\xf1\\x2b\\x74\\x4f\\xf0\\xe7\\x97\\x6e\\x78\\x6b\\x1a\\x9b\\x02\\x3d\\x67\\xf2\\xbc\\x9b\\x9e\\xc2\\x0c\\x2f\\x0f\\xd8\\x6d\\x3b\\xeb\\x8b\\x2f\\x0c\\x6d\\x99\\xb5\\x2c\\xaf\\x4b\\xce\\x5a\\x16\\x56\\xe0\\x9b\\xf1\\x39\\xbc\\x6f\\xa1\\x93\\x8d\\x5a\\x46\\x4e\\x07\\x36\\xb5\\xed\\x5b\\x38\\x2a\\xd9\\xb7\\x10\\xde\\x9f\\x97\\xde\\xe7\\x10\\xb9\\x5d\\xc9\\xa6\\x85\\xd5\\x69\\xcf\\xff\\x30\\xf9\\x7c\\xa0\\xfd\\x06\\x78\\x7f\\x70\\x97\\x80\\x5d\\x92\\x80\\xdd\\xbb\\x9b\\x7f\\xd8\\xe9\\x76\\x60\\x43\\xc0\\x7a\\xea\\x72\\xa2\\xaf\\x71\\x73\\xaa\\x37\\xe2\\x14\\x5c\\x93\\xa4\\xbd\\xdf\\xcf\\x68\\xef\\x05\\x5d\\xa6\\x29\\x19\\xfb\\xc5\\x7b\\x08\\x70\\x59\\xae\\x32\\xd6\\x79\\x35\\xc9\\x83\\xac\\x96\\x9a\\x08\\xb9\\xbb\\x9b\\x9b\\x77\\xe6\\x66\\x2b\\x28\\x53\\x26\\x79\\x9d\\x3d\\x97\\xe5\\x26\\x63\\xad\\x40\\xf2\\x73\\x39\\x39\\x8c\\x77\\x43\\xac\\xad\\x62\\x28\\x28\\xa3\\x56\\xb5\\xd4\\x46\\xcf\\x02\\xd6\\x6f\\x38\\xc4\\x7a\\xd0\\x05\\x9d\\x4e\\x14\\x70\\xb9\\x14\\xa4\\xe4\\x64\\x07\\x5c\\xe3\\xc0\\xff\\x16\\xcd\\x66\\x2f\\x6c\\xb2\\x28\\xda\\x5b\\xe6\\xd7\\x9d\\xe1\\x40\\x25\\x6d\\x7a\\x1d\\xf3\\xc9\\xaa\\x44\\x17\\x66\\xed\\x9d\\x73\\xb1\\x11\\x87\\x49\\xdf\\x6c\\xa1\\xcf\\xfe\\x83\\xee\\xa4\\xcb\\xf0\\xb5\\xb8\\xe1\\x73\\xdc\\xfb\\xb1\\x44\\xcd\\xd6\\xf7\\x3d\\xa7\\x3f\\xf0\\x7e\\xfc\\xc4\\xa6\\xf7\\x42\\xa4\\x20\\xf4\\x8e\\x70\\xe0\\x33\\xba\\xfd\\x29\\xbc\\x0c\\x0f\\xc5\\x17\\xe0\\xf9\\x4f\\xd2\\xbf\\x27\\xaa\\xde\\xdd\\xf7\\xcc\\xc7\\xe4\\xd3\\xbf\\x6f\\xde\\xb4\\x0f\\xb5\\xea\\x27\\xe0\\x04\\xbf\\x7b\\x44\\xac\\xa3\\x17\\xd8\\xd1\\xa3\\x69\\x32\\x92\\x83\\x01\\x4d\\x83\\x58\\xd3\\xa3\\x35\\xc4\\xdb\\x7b\\xba\\x79\\x20\\xfe\\xf4\\x60\\xbb\\xe8\\xf1\\x10\\x55\\x75\\x35\\xc4\\x55\\x07\\xb1\\xb6\\x74\\x77\\x6e\\x09\\x35\\xc7\\x8d\\x29\\x47\\x7c\\x30\\x54\\x26\\x22\\xcc\\xab\\x4c\\x56\\x7a\\x57\\xb9\\x39\\x16\\x2c\\xce\\x16\\xef\\xa0\\x9f\\x51\\x9a\\xa0\\xff\\xc4\\xf9\\x98\\x60\\x15\\xfb\\x13\\x1f\\x7f\\x9d\\x4d\\x3d\\x8e\\x45\\x57\\x7c\\x1a\\xc6\\x3f\\x3a\\xe6\\x08\\xb9\\xf4\\x2f\\xfa\\x21\\x6e\\x8f\\x65\\x2c\\xe1\\x72\\xfa\\x65\\x62\\x11\\xf6\\xde\\xb6\\x54\\xf8\\x8a\\x9e\\x58\\xb1\\xa8\\x65\\x66\\x35\\xdb\\x5f\\x71\\x8d\\xb1\\xbf\\x07\\x74\\x9e\\x10\\x49\\x24\\x22\\x15\\x8b\\x24\\x8c\\xc2\\x79\\xe9\\x9b\\x9b\\xbe\\xb7\\xe2\\xda\\xcc\\xbd\\x15\\x09\\xeb\\xbe\\x2c\\x92\\x1c\\xb6\\xb7\\x39\\x21\\xb9\\x15\\x4f\\xf0\\x19\\x8c\\x9c\\x67\\xbf\\x30\\xd6\\xba\\x24\\x59\\x5f\\xcf\\xa2\\x53\\x01\\xe7\\xb1\\x92\\xc5\\xbc\\x1c\\xbf\\x2b\\xf3\\x73\\xbc\\x2f\\x38\\xe7\\x5b\\x6a\\xe8\\x8c\\x7f\\x24\\xf9\\xb6\\xa8\\x88\\xf1\\x6d\\x44\\x8e\\x84\\x91\\x3f\\x03\\x46\\x3e\\xff\\x9a\\xcb\\xdf\\x07\\x86\\x3c\\x9d\\x6b\\xc8\\x1f\\x58\\x20\\xec\\xf7\\xf8\\x7d\\x16\\x2d\\x5d\\x9e\\xf4\\x1e\\xa0\\xa3\\x92\\x3d\\x40\\x85\\x15\\xe8\\x88\\x21\\x7f\\x41\\xd6\\x03\\x14\\x07\\x03\\xc9\\x06\\xa0\\xfa\\xfb\\xf5\\xe7\\x7f\\x98\\x7c\\x3e\\xe0\\xd2\\x3f\\x09\\x53\\x28\\xc4\\x70\\x09\\xfa\\x82\\x7e\\x8b\\x96\\x01\\x93\\xbe\\xc6\\xcd\\xc9\\x35\\x00\\x8f\\x5f\\x93\\x9f\\x61\\x32\\x01\\x9f\\x34\\x85\\x82\\x66\\x57\\x5b\\x3c\\x94\\x40\\x6a\\x1d\\x82\\xb7\\x64\\xae\\xe3\\x5b\\xec\\xcb\\x3b\\xe3\\x3a\\x6f\\xa6\\x70\\x79\\x10\\x5f\\x98\\xb9\\x4e\\xe0\\xaa\\x40\\xb8\\xd5\\x3a\\xfc\\x3c\\x98\\xe3\\xf3\\x0f\\x03\\x9f\\x19\\xc9\\xcf\\x04\\x83\\x6c\\x1d\\xbf\\xe4\\xf7\\x2a\\xce\\x8c\\xcf\\xf0\\xf3\\x58\\xbe\\x2f\\x7f\\x1a\\xf8\\x7c\\x97\\xfc\\x0c\\x37\\x92\\x38\\x20\\x05\\x7c\\xae\\xcc\\x7e\\xda\\x2c\\xdf\\x92\\xe5\\xf4\\xab\\xa8\\x63\\x2c\\x20\\x41\\x1c\\x63\\x92\\x11\\xb1\\x98\\x65\\x93\\x2a\\xb0\\x8b\\x47\\x1e\\x40\\xb4\\x74\\xa3\\xc8\\xbc\\x76\\xf4\\x26\\x0f\\xbc\\xc5\\x09\\x89\\x86\\xbb\\x4e\\xbe\\xc8\\x6f\\x21\\x20\\xd2\\x5c\\x23\\x5d\\x97\\xf4\\xcb\\x78\\xee\\x3e\\x7f\\xb6\\x49\\x95\\x31\\x06\\x8e\\xb4\\x98\\xc1\\xfe\\x49\\x0d\\x71\\x41\\xc3\\x72\\x86\\x17\\xd6\\xe6\\xba\\x51\\x7f\\x3c\\xae\\x7d\\x54\\xb8\\x95\\xae\\x58\\xf4\\x3b\\xbf\\x68\\x48\\x6c\\xd6\\xfd\\x07\\x65\\x10\\xa7\\xcd\\x67\\x86\\x3d\\xbd\\xb3\\x85\\xdf\\x25\\x9d\\xdf\\x29\\xe3\\x77\\x7f\\x26\\xdf\\xf2\\x3e\\xff\\x9c\\x3e\\xa7\\x75\\xfa\\x08\\x4a\\x1b\\x39\\x39\\x06\\x9f\\x33\\xa5\\x7f\\x8e\\xdd\\x0f\\xc2\\xfe\\x4d\\xe0\\x3d\\xd1\\xc6\\xc6\\x3a\\x59\\xfd\\xfe\\x90\\x2b\\x28\\x9b\\xcd\\xb0\\x0f\\x10\\x8f\\xe6\\x64\\x9b\\xcd\\x41\\x41\\x0d\\xa1\\x10\\x2f\\x80\\x08\\x0a\\x1a\\x44\\xaa\\x9a\\x77\\x42\\x5c\\x0b\\x66\\x94\\x42\\xbc\\x5c\\xde\\xf6\\xfc\\x36\\xbd\\x0d\\x63\\xb4\\x55\\x61\\x44\\x54\\x2f\\x2d\\xe5\\xd1\\x75\\x77\\x1c\\x49\\x2b\\x93\\x98\\xf6\\xc0\\xc3\\x1d\\x67\\x66\\xd7\\x57\\xae\\x58\\xde\\x52\\x2e\\x71\\xfc\\xa9\\xa7\\x1e\\xb7\\xc8\\x6f\\x59\\x17\\x8c\\x4c\\xd5\\x4d\\xd0\\x0b\\x39\\xed\\x43\\xa0\\x03\\x3b\\xa8\\x1e\\x8f\\x23\\xe0\\x23\\x8a\\x92\\xe5\\xf3\\x49\\x18\\x60\\x56\\x14\\x5f\\x48\\x0e\\x04\\x03\\xa0\\xf0\\x82\\xc1\\x90\\xcf\\x1b\\x12\\x1a\\xe2\\x21\\xcd\\x0a\\x6a\\xd0\\x9a\\x59\\x16\\xf0\\xdf\\xa0\\x4d\\x96\\x54\\xb4\\x01\\x35\\x55\\x60\\x31\\x6c\\xe9\\xfd\\x1c\\xd4\\xc5\\xd7\\xa6\\x0a\\x2d\\xf6\\x3d\\xb5\\x67\\x83\\x45\\xde\\x63\\x5d\\x30\\x55\\xaf\\xb8\\xd0\\xef\\x1c\\x2f\\xe4\\x77\\x8e\\x59\\x68\\x68\\xac\\x3d\\x22\\xb2\\xea\\x92\\x44\\xc5\\x64\\xb2\\x4a\\xa2\\x88\\x05\\xbf\\xd5\\x2a\\x64\\x87\\x64\\x19\\x9c\\x4a\\x41\\xd4\\xd8\\x4c\\x60\\x0f\\xfc\\xdf\\x72\\xa7\\xdc\\x3a\\x45\\xa1\\xae\\xae\\xf5\\x2d\\x5e\\xda\\x95\\x23\\x6f\\xec\\x6c\\x9c\\xa4\\xb0\\x2e\\x0f\\xc2\\x13\\x67\\xb8\\x7c\\x9c\\x36\\x7d\\xcb\\x1d\\x57\\x0f\\xab\\xaf\\x3c\\xaf\\xbe\\xba\\x67\\xe6\\x2d\\x64\\xe2\\xe5\\x27\\x56\\x2d\\xb9\\xc7\\xf9\\xbe\\xb5\\x5d\\x87\\xf2\\x99\\xe3\\x8d\\xfb\\x48\\xfd\\xee\\x36\\x88\\xc6\\xc5\\xb2\\x19\\xec\\xa2\\x49\\x07\\x5a\\x31\\x01\\xf8\\x26\\x36\\xcd\\x56\\x96\\x05\\x91\\x20\\x16\\xe4\\x79\\x40\\xa2\\x08\\x80\\xae\\x09\\x5e\\xcd\\xd5\\x08\\x98\\xc0\\xff\\xc9\\x8c\\x84\\x8c\\x1b\\xc9\\x56\\x77\\x23\\x7a\\x05\\x15\\x49\\x5d\\x45\\x66\\xa2\\x51\\x22\\xd4\\xb6\\xbe\\x94\\x0c\\x2c\\xd8\\x74\\xd7\\x04\\x40\\xe1\\xdc\\xaa\\x41\\xad\\x2e\\x27\\xe7\\x3d\\x79\\xfd\\xaa\\x35\\x80\\x41\\xe7\\x6e\\x35\\x57\\x72\\xda\\xeb\\x33\\xe0\\xc1\\x5a\\x0e\\x8a\\x15\\x8a\\x36\\x13\\x32\\x49\\xb2\\x6c\\xb5\\x20\\x22\\x08\\x76\\xcd\\xa2\\xb9\\x5d\\x66\\xa7\\x53\\xb1\\x69\\x8c\\xfa\\x56\\x0d\\x5c\\x19\\x92\\x4c\\x42\\xad\\x73\\xd5\\xe9\\x19\\x84\\x69\\xe9\\xa7\\xd1\\x96\\x54\\xcd\\x30\\xa7\\x38\\xbb\\x83\\x36\\xbe\\xb9\\x1e\\xd7\\xd3\\x85\\x29\\x2a\\xdf\\x02\\xc6\\xef\\x6b\\x7c\\x0b\\x7d\\xdd\\xb8\\xfe\\x5d\\x47\\xdf\\x27\\x31\\xa1\\x17\\x27\\xf3\\x73\\x6f\\x24\\x56\\x70\\xba\\xcf\\xd2\\x7b\\xe5\\xb0\\xf9\\x46\\x00\\xdf\\xf0\\x58\\x3b\\x9b\\xa8\\xc3\\xc7\\xc1\\xd3\\xac\\x16\\x1d\\x42\\xd1\\xa6\\x09\\x66\\xf0\\xe0\\x1a\\xd9\\x3d\\xbd\\x26\\xc1\\x2f\\x34\\x6f\\x12\\xca\\x24\\xff\\xd6\\x65\\xd8\\x6f\\xe3\\xaf\\x14\\xa4\\xa1\\x24\\xa4\\x16\\xf6\\xcd\\xf9\\x58\\xa4\\xef\\x18\\xa4\\x7c\\x0b\\x9b\\xe9\\x5f\\xf8\\x5c\\xfa\\x36\\xbf\\xf7\\x3d\\x87\\x9e\\x16\\xee\\xc4\\x9b\\x18\\x29\\xe9\\xc8\\x37\\x68\\x2d\\xa3\\x2d\\x3e\\x88\\x8c\\xbe\\x89\\x52\\x09\\xd0\\xd1\\x0c\\x14\\xad\\x8a\\x05\\x2d\\x48\\xb4\\xdb\\x15\\x05\\x79\\xdc\\xc4\\xc1\\xaa\\xe4\\x4c\\x12\\x31\\xd9\\x5a\\x46\\x56\\xb7\\x99\\xd1\\xe1\\x36\\x46\\x2f\\x84\\x0b\\x0a\\x8b\\x3c\\xac\\x34\\xae\\x40\\x1e\\x46\\x7f\\xc4\\x2f\\xe2\\x92\\x44\\xed\\xaf\\xf4\\x7b\\xdc\\x0e\\x6b\\x78\\x06\\xbd\\xf3\\xe6\\x15\\x78\\xeb\\xcb\\x9f\\x0b\\x9d\\x4e\\x2e\\xfa\\xe1\\xa5\\x57\\xf0\\xb2\\x89\\x28\\xe9\\x33\\x88\\xa3\\x79\\x4c\\x79\\x1e\\x87\\x65\\x64\\xf3\\x4f\\xca\\x6b\\xfc\\x2e\\x31\\x02\\x12\\x55\\xee\\x56\\x14\\x31\\x2f\\x88\\x2c\\x76\\x94\\x67\\x27\\x45\\x85\\x6e\\xb7\\x64\\xb5\\xfa\\x24\\x12\\x66\\x70\\xc1\\xbf\\xbe\\xd0\\xb8\\xb8\\xcf\\xe5\\x50\\x27\\xc4\\x1d\\xee\\xb6\\x25\\x41\\x6d\\xae\\x99\\xf8\\x49\\xb0\\x01\\xad\\x23\\x5a\\x15\\x84\\x48\\xde\\x11\\x2e\\xd0\\x1b\\xa6\\x00\\xec\\xe1\\xaa\\x1e\\xb8\\x3b\\x06\\xf0\\x47\\xea\\xe0\\xbf\\xf0\\x12\\x0e\\xd0\\xa2\\xbb\\x0e\\xd6\\x0d\\xf9\\xfe\\x59\\x03\\x91\\x5b\\xee\\x1d\\xd4\\x82\\xc9\\xe9\\x9e\\xb4\\x19\\x63\\xfc\\x77\\xda\\x40\\x0b\\x1b\\x47\\x0c\\x39\\x07\\xf0\\xaa\\x99\\x3e\\x6c\\xc5\\x44\\x86\\x07\\xe0\\x25\\x9f\\x90\\xde\\x44\\xb9\\xa8\\x0c\\x5d\\x18\\xeb\\x60\\x43\\xd9\\x28\\xaf\\xc8\\x23\\x99\\x3c\\x79\\x26\\x52\\xde\\x2e\\x14\\xf2\\xdb\\xed\\x7e\\x59\\x76\\xfa\\x73\\xb0\\xbf\\xa0\\x21\\xee\\x77\\x98\\x59\\x16\\x97\\xcf\\x59\\xd2\\x10\\x77\\xfa\\xd2\\x32\\xd8\\xd2\\xba\\x12\\xb4\\x45\\x05\\xb3\\xd3\\x12\\x00\\xd8\\xcb\\x91\\x88\\x30\\x2c\\xd2\\x67\\x7b\\xa5\\x8d\\xf5\\x12\\x87\\xee\\x9f\\x70\\x29\\x0e\\xd1\\xb2\\xbf\\x7d\\x54\\x83\\xbb\\xed\\x58\\xf0\\xe1\\xa7\\x9f\\x1c\\xb8\\xfa\\x91\\x0e\\x02\\x18\\x64\\xfa\\xe3\\xac\\x19\\xd3\\xaf\\xfc\\x7c\\xda\\x5c\\xbc\\xf3\\xdf\\x8b\\xaf\\xfb\\xf9\\x3b\\x5a\\x38\\xfa\\xd2\\x49\\x63\\x71\\x0e\\x76\\xb3\\x01\\x5e\\xe3\\xc7\\x6d\\xc7\\x2b\\x4e\\x5f\\xb8\\x75\\xdf\\x33\\xcf\\xd2\\xdb\\x5e\\x02\\x9e\\x1e\\x02\\xfb\\xd3\\x45\\xba\\x0b\\xa2\\xdf\\xc6\\x58\\x59\\x9e\\x95\\x04\\xac\\x85\\x25\\x2e\\x13\\x29\\x11\\xdb\\x95\\x39\\x9d\\xde\\xa2\\x22\\xe4\\x35\\x29\\xac\\x61\\x32\\xf2\\x7a\\xb5\\x71\\x71\\xaf\\x88\\x0a\\x26\\xc4\\x51\\x1b\\xc7\\xfa\\x0c\\x7b\\xa3\\x37\\xb6\\x61\\x87\\xf1\\x67\\xac\\x61\\x11\\xfc\\xec\\x5e\\x88\\xef\\x98\\x34\\xe6\\xcb\\x1f\\x6d\\xd2\\x1d\\x4f\\x9d\\xa1\\x76\\x65\\xd6\\xcc\\x18\\x51\\x2e\\x1a\\x07\\xfb\\xe6\\x79\\xeb\\xa3\\xcb\\xc7\\x65\\x16\\xac\\xb8\\x62\\xd3\\x86\\xdf\\x38\\x37\\xb9\\x61\\x80\\xcb\\xf9\\xb0\\x47\\x03\\xc0\\xdf\\x2e\\x65\\x79\\x06\\xb9\\x84\\xf8\\xcd\\x85\\x25\\x4e\\xd9\\xcc\\x70\\x71\\x38\\x3c\\x80\\x8b\\xc7\\x63\\x6b\\x62\\xd3\\x5f\\xc2\\x8d\\xfa\\x75\\xde\\x99\\xe3\\x40\\xe3\\xde\\xae\\xf8\\xbf\\xd6\\x9f\\xf8\\x92\\x5b\\x25\\x5e\\x7d\\xe2\\xfb\\x9b\\x5a\\xd7\\x9c\\x2c\\x5b\\x35\\x6c\\x02\\xdb\\x20\\xcf\\x83\\x4f\\xb4\\x2d\\x33\\xb1\\x5d\\x16\\xbf\\x60\\xa8\\xbe\\x35\\xba\\x7d\\x1c\\xc2\\xcf\\x0b\\xef\\x42\\x61\\xb6\\x07\\x61\\x6f\\xb6\\x57\\xcd\\xcb\\xb5\\x6b\\x9a\\x98\\x9d\\x2b\\x46\\x0a\\xec\\x76\\x57\\x5e\\x98\\x0d\\x21\\x97\\xa4\\xb0\\xcb\\x65\\x65\\x97\\x74\\xe1\\xec\\xf1\\xf1\\x70\\xe6\\xc0\\xf9\\x33\\x66\\xad\\xea\\xe3\\xa2\\xcf\\x56\\x44\\x94\\xa3\\x17\\x9e\\x90\\xa5\\x67\\xae\\x1a\\x7a\\x64\\xfa\\xc9\\xbb\\xf1\\xfd\\x6d\\x8a\\x84\\x36\\xdf\\x78\\x7f\\xea\\xfc\\xfe\\x7c\\xf0\\xd7\\x8a\\x80\\xde\\x61\\x46\\x6f\\xd5\\xe7\\xc3\\xb9\\x9a\\x23\\x9c\\xef\\x90\\x72\\xf3\\x01\\x6e\\x4d\\x03\\x6d\\xe6\\xb6\\x36\\xc5\\x21\\xd4\\xcc\\x6d\\xe5\\x5c\\xb9\\x5a\\xdf\\x16\\xeb\\x67\\x5b\\x67\\x25\\x37\\x07\\x95\\x74\\x5e\\xdf\\xa6\\xb6\\x67\\xc1\\x5d\\xb3\\x7f\\xc7\\xb5\\x67\\x20\\xf1\\xaa\\xcb\\x67\\xe8\\x67\\xb1\\x26\\xe0\\xef\\xcd\\x3c\\x2f\\xb8\\x6f\\xac\\x10\\xd9\\xb4\\x5c\\xc9\\xe4\\xcf\\xb5\\x99\\xc4\\x70\\xbe\\xdf\\xef\\x09\\x06\\x3d\\xb2\\x9c\\xeb\\x71\\xe7\\x6a\\xe3\\xe3\\xb9\\xc4\\x4c\\x26\\xb4\\x1c\\x0f\\xe8\\x6a\\xa7\\x8d\\x9c\\x32\\x21\\xf5\\xb5\\x68\\x9a\\x6a\\x67\\x9b\\x0b\\x11\\xc9\\x33\\x76\\xc2\\x73\\xa0\\x67\\xca\\x8e\\x1f\\x69\\x7b\\x27\\x82\\x9f\\xbf\\x61\\x41\\x92\\x61\\xbf\\x3e\\x29\\xbc\\xd2\\xfa\\x72\\x44\\xe7\\x07\\x36\\x0f\\xa3\\x94\\xcf\\x72\\x06\\xba\\x3a\\xf2\\x91\\x5d\\x56\\xb3\\xf2\\xed\\x2a\\x10\\x15\\x7c\\xa5\\xfc\\x7c\\x47\\x43\\x3c\\x5f\\xcb\\x26\\x59\\xbe\\xac\\xc6\\xb8\\xc5\\xe7\\x4b\\xbb\\x1a\\x69\\x93\\xe9\\x6b\\x80\\x9b\\x52\\x2a\\xd5\\x6d\\x6e\\x4a\\xc4\\x1b\\xc7\\x8d\\xd3\\x55\\xc9\\x89\\x5f\\xcf\\x70\\x5d\\xc2\\x00\\xd6\\x59\\xf5\\xdb\\x3f\\xf1\\xce\\x56\\xf7\\x26\\xc9\\xfe\\xe0\\xef\\xf1\\x7b\\x25\\x36\\x01\\xc8\\x6b\\xf3\\x38\\x1c\\x4e\\xc9\\xe4\\xb4\\x99\\x48\\x30\\x00\\xfa\\xd0\\xe5\\x01\\xd2\\x7a\\x3c\\x4e\\x9f\\x8b\\x38\\x5d\\xe9\\x04\\x6e\\x75\\x25\\x91\\xc9\\xb4\\xe9\\x24\\xee\\xde\\x72\\x3b\\x21\\x75\\x1f\\x37\\x8e\\x93\\xf6\\xc4\\xaf\\x2d\\xb7\\x00\\xe9\\x24\\xfd\\xf6\\xcf\\x3b\\x93\\xf7\\x01\\xdc\\xe7\\x07\\x7d\\xf0\\x03\\x3f\\x8b\\x05\\xd8\\x24\\xc1\\x8d\\x7d\\x3e\\xbf\\xc5\\xee\\x77\\xdb\\x49\\x56\\xd0\\x6a\\xf5\\x07\\xf8\\xd1\\x2b\\xf6\\x93\\x80\\xe6\\xf7\\xf2\\xd3\\x6e\\xdf\\xff\\x00\\x9b\\x7e\\x4d\\x92\\x4e\\x54\\x1d\\x42\\x3d\\x21\\x3f\\x49\\xcc\\xd3\\xff\\x6a\\x49\\x54\\x4f\\xdc\\x98\\xa4\\xe1\\x17\\xc7\\x9d\\xc9\\x19\\xae\\x2c\\xb6\\xde\\xc3\\xce\\x04\\x51\\xbb\\xd4\\x99\\xe0\\x64\\x76\\x2e\\x29\\x14\\x72\\x1e\\xf0\\xc3\\xef\\xd7\\xf2\\x7e\\x02\\x75\\xb1\\x1c\\x0c\\x1c\\xe0\\xb0\\xbb\\x55\\x56\\xaf\\xae\\x58\\x9c\\xc8\\xe1\\x04\\x43\\xee\\x24\\x16\\x71\\x42\\xdc\\xe2\\x6e\\xc9\\x92\\xcc\\x4c\\x42\\xe0\\x39\\x2c\\x99\\xbc\\xca\\x73\\x32\\x53\\x34\\xd4\\x33\\x33\\x13\\x91\\x74\\xfa\\x09\\x1f\\x7e\\xfb\\x2d\\x5f\\xbf\\x1e\\xd6\\x2f\\xe2\\x75\\x1e\\xb0\\xbe\\xe8\\x32\\xdb\\x90\\xe0\\xb2\\x89\\x3e\\xaf\\xc5\\xa2\\x21\\xe2\\xe1\\xd3\\x78\\x34\\x4d\\x01\\x9f\\xd1\\x77\\xf6\\xf5\\x79\\xa2\\x58\\x6b\\xfe\\xe3\\x43\\x49\\xd3\\x78\\x8e\\x0d\\x27\\xa5\\x7d\\xd2\\xb9\\x8c\\xd3\\x83\\xcd\\xcc\\xff\\x50\\xba\\xcb\\x25\\xe3\\x26\\xfe\\xf3\\xb9\\xcd\\x3f\\x91\\x57\\x38\\x7d\\x72\\x8c\\xfb\\xcc\\x0b\\x25\\x0f\\xbf\\x27\\xe8\\x1d\\x8b\\x60\\x47\\xae\\x4b\\x75\\x04\\x5d\\x62\\x7e\\x9e\\xaa\\x3a\\x2c\\x16\\xd9\\xe1\\x0d\\x8e\\x8f\\x7b\\x43\\xf0\\xbf\\xec\\x4e\\xbf\\xd5\\x3c\\x63\\x0a\\xf1\\x19\\xaf\\x35\\x5b\\xc2\\x88\\x9a\\xea\\x33\\xdd\\x6e\\xde\\xfa\\x48\\xd1\\x8c\\x48\\x9f\\xdc\\xee\\xd5\\x6d\\x6f\\x38\\x4f\\x0e\\x3c\\xb0\\xc5\\x6a\\xfa\\xde\\x76\\x7e\\x03\\xbf\\xe3\\xbc\\x90\\xcf\\x86\\xce\\x43\\xf5\\xb1\\x30\\x02\\x38\\xcd\\x0e\\x57\\x10\\xb4\\x8f\\x03\\x35\\xc4\\x1d\\x1a\\xbf\\x28\\xf6\\x79\\x83\\x8d\\x00\\x2c\\xfb\\x3f\\xbd\\x01\\x5e\\x3a\\x7c\\xad\\xaf\\x37\\xd3\\xa1\\x73\\x0a\\x35\\x6d\\xc4\\xf6\\xee\\xf5\\x3a\\x74\\xb5\\x6d\\xee\\x3a\\x4f\\x6d\\x7a\\x6b\\xaf\\xd5\\xf4\\x9e\\x6d\\xf0\\x60\\xb2\\x8d\\xf3\\x21\\x9d\\xca\\xce\\xd4\\xc0\\x5f\\xeb\\xac\\xfb\\x6f\\x00\\xef\\x48\\x3e\\xdb\\x48\\x3f\\xab\\x14\\x20\\xbe\\x5d\\xc1\\xcf\\xcf\\xeb\\x93\\x39\\x04\\x72\\x77\\x3e\\xe3\\x73\\x24\\xaf\\x19\\xee\\x43\\x17\\xa1\\xfd\\xcd\\x6f\\x00\\x9f\\x84\\x63\\x6e\\xa7\\x64\\xb7\\x9b\\xbf\\x64\\x2d\\xf3\\x62\\xb8\\x11\\x8f\\xc7\\x22\\x76\\xb0\\x3e\\x42\\xbc\\x91\\x50\\x94\\xd7\\x4c\\x71\\xe5\\x9e\\x83\\x23\\xac\\x39\\x4b\\x75\\x94\\x59\\xd2\\xfd\\x93\\x8a\\x3b\\x46\\x4b\\x2e\\x39\\xa7\\xef\\xa4\\x7e\\xe7\\xd0\\x45\\x95\\x35\\x15\\x15\\x35\\x95\\x9d\\x46\\x8c\\xb4\\x8c\\x1d\\x6b\\x19\\x75\\xa1\\x7e\\x8e\\x56\\x2e\\x0d\\xc6\\x5b\\xe4\\x67\\x91\\x05\\xb4\\x4c\\x04\\x95\\xc6\\x7c\\x5e\\x55\\xd5\\x34\\x82\\xb7\\x92\\x5f\\x49\\x33\\x21\\x24\\xa6\\xda\\xfa\\x91\\x50\\x78\\x37\\xee\\x01\\xba\\xf0\\xcd\\xf2\\x31\\xd3\\xf5\\x32\\x7b\\xb7\\x91\\xe6\\xce\\x68\\x55\\x9b\\xf6\\xbd\\x92\\xf6\\x7d\\x79\\x45\\x7e\\x41\\x45\\x45\\x41\\x7e\\xc5\\x77\\xc9\\x6f\\x66\\xc0\\x37\\x1d\\x3a\\xc0\\x37\\xf2\\xb4\\xfc\\x0e\\x1d\\xf4\\x17\\xf5\\x7f\\xb7\\xf2\\xef\\x3b\\x76\\xe4\\x78\\x4f\\x95\\x06\\xa3\\x3b\\xe4\\xd3\\x00\\x93\\xe5\\x29\\x96\\xd0\\x0d\\x4b\\xbf\\x09\\x4b\\x2a\\x7e\\xf8\\x8a\\xd4\\x96\\xc0\\xd7\\x1d\\xf7\\xc1\\x9f\\x6d\\xd7\\xb0\\xbf\\xef\\x93\\x4f\\x0f\\x4f\\xfd\\xd1\\x6b\\x02\\xc6\\x02\\x4e\\xc8\\xc0\\xa9\\x20\\xe6\\x56\\x5b\\xa3\\xa3\\x79\\xd3\\xd0\\xc9\\xc4\\x25\\x1d\\xfe\\xf1\\x00\\x6d\\xc7\\xca\\x48\\x7e\\x85\\xd0\\x31\\x3f\\xbf\\x63\\x65\\xb8\\xa0\\x42\\x9e\\xaa\\x83\\xcf\\xc0\\x65\\xaf\\x55\\xe8\\x34\\x1c\\x0f\\xeb\\x1d\\x30\\xd6\\x0b\\x31\\x1a\\x06\\x49\\xe0\\xbf\\x2f\\xfa\\xb2\\xe3\\x65\\xe6\\x3f\\xb4\\xac\\xe5\\x4d\\x87\\x01\\x18\\x13\\x97\\x70\\x72\\x30\\xd2\\xe4\\x87\\x2b\\x19\\xed\\x0e\\x4c\\x6b\\x59\\x5d\\x87\\xa6\\xa2\\x02\\x5f\\x49\\x57\\x03\\xbd\\x06\\x03\\x9f\\xdc\\xdd\\xbc\\x05\\x29\\xc8\\xf1\\x0c\\xd1\\x67\\xdf\\xeb\\x3d\\xa6\\x3a\\x75\\x54\\x40\\x45\\x78\\x41\\x37\\xf4\\x99\\x39\\xe9\\xfe\\x27\\x9a\\x46\\x5f\\x36\\x65\\xfd\\xad\\x7a\\x4f\\xa8\\x4b\\xa5\\x11\\xe8\\x5e\\xf9\\x51\\x80\\xde\\xf2\\x14\\xc1\\x1c\\xb4\\x43\\x8c\\xc6\\x25\\xb5\\xf7\\xc2\\x1f\\x19\\x3d\\xfa\\xe8\\xa3\\xec\\x7d\\xf4\\x43\\xa9\\x11\\x97\\xcb\\xd7\\x83\\xbd\\xcc\\x8f\\xd9\\x9c\\xd9\\xc8\\x92\\x0d\\x5f\\x9a\\x1f\\xfb\\x8d\\x7d\\x19\\xc3\\x1a\\xc5\\xe8\\x92\\x44\\x58\\x45\\x80\\x5f\\x29\\xae\\x4e\\x36\\x86\\xd2\\xa3\\xd6\\x5a\\x03\\x2d\\xf0\\x57\\xef\\xcf\\x2e\\xaa\\xcb\\x9a\\xda\\xd4\\xab\\x72\\x48\\x75\\x69\\x6d\\x3e\\xff\\x61\\x48\\x8f\\xaa\\x0b\\x3a\\xb7\\xef\\x24\\xd7\\x15\\x17\\xc5\\x7c\\xfd\\x8a\\xaf\\xed\\xd5\\x54\\x3d\\xa0\\xae\\x92\\xff\\x50\\x36\\xab\\x57\\x53\\x4d\\xff\\x1e\\xed\\x38\\x1c\\xbb\\x81\\x27\\x90\\xbc\\x08\\x70\\x74\\x3f\\x43\\x34\\x31\\x8f\\xe1\\x68\\x40\\xc0\\x1a\\x60\\x71\\xff\\xc6\\xe7\\x9d\\x36\\xfd\\xd2\\xb5\\x5b\\xa4\\xc1\\xa3\\x2f\\x9d\\xfa\\xe0\\x6a\\x23\\xe7\\x9b\\x2e\\xc2\\xbd\\x9b\\x8f\\x20\\x09\\x99\\x9e\\xc2\\xac\\xf5\\x15\\xeb\\x61\\x55\\x52\\x1b\\x55\\x70\\xef\\xdb\\xb6\\x6f\\xbf\\x6d\\x07\\x5d\\xb4\\x73\\xe7\\x4e\\x24\\x34\\x97\\x71\\x1a\\x1e\\x63\\xcf\\x47\\xde\\x98\\x0a\\xa1\\x54\\x8c\\x60\\xe2\\xb4\\xa0\\xca\\x28\\x6f\\xd6\\xd5\\xa9\\xa3\\x1f\\xb0\\x60\\x3e\\x94\\x94\\xb6\\x55\\x77\\x6f\\x5e\\x37\\xf1\\x9a\\x66\\x94\\xdc\\xa3\\xa6\\x55\\x1b\\xa6\\x5c\\x36\\xda\\x6a\\x6c\\x8f\\xbe\\x3e\\xf0\\x46\\x3f\\x03\\x6e\\x51\\x23\\x79\\x44\\x20\\x3a\\xdc\\x87\\x18\\xdc\\x4e\\x78\\x96\\x17\\xc8\\xb6\\x65\\xed\\xa4\\xab\\xa5\\xc1\\xb7\\xaf\\x9f\\x3a\\x91\\xcd\\x40\\x33\\x3e\\xe3\\x90\\x45\\x76\\x6e\\x22\\x30\\xdc\\x8d\\x67\\x68\\x28\\x3b\\x66\\xb5\\x5a\\x2c\\xc6\\x93\\x4c\\xfa\\xa3\\xaa\\xe0\\x59\\x5c\\x2a\\x93\\x8f\\x0b\\xa7\\x3d\\x96\\xf6\\x7f\\xe2\\xfe\\xd4\\xc3\\x6f\\xdd\\x00\\x7f\\xb1\\x34\\xf8\\xc4\\x09\\xa9\\xab\\x60\\x56\\xca\\x10\\xcb\\xae\\x2f\\x47\\xb5\\xa0\\x61\\x1c\\x41\\x42\\x2a\\x2b\\xcb\\x70\\x99\\xbb\\xba\\x5a\\x6d\\x8c\\xe0\\x08\\xaa\\xe4\\x93\\x34\\x5e\\x1e\\xd3\\x46\\xe4\\x4b\\x80\\x4d\\x8a\\x6b\\x3d\\xa9\\xd2\\x26\\x59\\x62\\xbd\\x52\\x4a\\x92\\x3d\\xd2\\xaa\\x7c\\x4a\\xb2\\x46\\x08\\xde\\x31\\x72\\x61\\x7c\\xd4\\xc2\\xf9\\x63\\xba\\x76\\x18\\xd1\\x34\\x22\\x67\\x4e\\x6d\\x49\\x69\\x7d\\xb7\\xe2\\xc2\\x7a\\xfa\\x7e\\x0e\\xfc\\xdc\\xa1\\xeb\\xe8\\x05\\x0b\\x47\\xc5\\x17\\xce\\xa9\\x2f\\x2c\\xee\\x56\\x5f\\x5a\\xdc\\x45\\x6e\\x8a\\x2f\\x5c\\x30\\x32\\xbe\\x30\\x30\\x62\\xe8\\x88\\xca\\x6e\\xa5\\x5d\\xea\\x4a\\x4a\\xea\\xba\\x94\\x76\\xab\\x84\\x1f\\x03\\xec\\xf5\\x85\\xf1\\xd2\\x2e\\xf5\\xc5\\xf0\\x1a\\xef\\x0b\\x24\\x75\\xc5\\x3f\\x19\\x38\\x78\\x63\\xe6\\x60\\x25\\xec\\x98\\xbb\\x51\\xc5\\x2a\\x83\\xfc\\xe5\\x31\\x55\\xff\\x1d\\xe6\\xee\\x0b\\xe3\\x23\\xae\\x5b\\x38\\xb2\\xae\\xd3\\xf0\\xa1\\x23\\x42\\xb3\\xbb\\x94\\x96\\x75\\xa9\\x2f\\x29\\xae\\x67\\x00\\xcc\\x1f\\x35\\x72\\x01\\x03\\xa0\\xa2\\x7b\\x69\\x97\\x2e\\xa5\\xf0\\x3f\\xc8\\xcb\\x68\\xe0\\xbf\\x47\\xe5\\xb5\\xc8\\x89\\x02\\x20\\xce\\xa2\\xa8\\x6a\\xcc\\x50\\x26\\x39\\x50\\x6f\\xe6\\xa6\\xaf\\xc3\\x4f\\xca\\x74\\xc3\\xfc\\xe8\\x85\\x17\\x16\\xf8\\x27\\x4e\\x34\\x87\\x3b\\x16\\xcb\\x6b\\xab\\x46\\x4c\\x32\\x4f\\xc2\\x83\\x6e\\xb6\\x76\\xa8\\xad\\x42\\x6d\\xf5\\xbb\\x46\\x64\\xf9\\x4b\\x09\\x23\\x29\\x26\\x35\\x4a\\xe3\\x25\\x51\\x72\\xeb\\xbc\\x37\\x46\\xd7\\xef\\x7e\\x0f\\xcf\\x93\\xad\\x80\\xa0\\x3b\\x9a\\x8c\\x90\\xa2\\xfb\\xcf\\xed\\x3b\\xe9\\x9c\\xbe\\x97\\x94\\x44\\x3b\\x16\\x4f\\x9a\\x34\\x72\\xa4\\x65\\xf4\\x68\\xf3\\xc8\\x51\\x9d\\x3a\\x55\\x77\\xec\\x58\\xdd\\x09\\x9e\\xdf\\x8f\\x6e\\x04\\x3f\\xed\\x73\\xe0\\x7d\\xfb\\xd3\\x04\\x09\\x58\\x48\\x6a\\x05\\x3f\\xb8\\x2b\\xd1\\xea\\x5b\\xe9\\xdf\\x0f\\x47\\xe8\\x81\\x29\\x6f\\x33\\x58\\xc6\\x02\\x2c\\x1b\\x32\\xe5\\xc4\\xcd\\xe5\\x64\\xc3\\x6d\\x3b\\x77\\xde\\xb6\\x53\\x17\\x13\\x78\\xdf\\x14\\x78\\xdf\\x76\\x43\\xd7\\x88\\x88\\x38\\x18\\x3f\\xa3\\x4a\\xce\\xcc\\x49\\x01\\xd9\\xfe\\xf8\\x03\\x93\\x66\\x36\\xdd\\xba\\x7e\\xca\\x94\\x51\\x48\\xe7\\x5f\\x90\\xc1\\x7e\\xfc\\x33\\x1a\\x0a\\xea\\xfc\\xab\\x7f\\x92\\xb5\\xc2\\x4b\\x31\\xaf\\xd7\\xf8\\x78\\xd8\\xf8\\xf7\\xf1\\x07\\x26\\xcf\\xc0\\xcf\\x6c\\x5e\\x37\\x79\\x06\\x7b\\xd6\\xe5\\x23\\x41\\xb6\\x2e\\xd7\\xed\\xe2\\x45\\x00\\xc3\\xfd\\xcd\\x7f\\xc2\\xf3\\xac\\x3b\\x63\\x98\\xcd\\x86\\x06\\xb4\\x00\\x5e\\xa9\\xba\\xb6\\xa4\\xc8\\xab\\xdc\\x4f\\xbf\\x59\\xb5\\x19\\xe7\\xdd\\x4a\\xb7\\x47\\x1b\\x7d\\xff\\x8c\\x0e\\x0a\\x32\\xdb\\xca\\xf6\\x6f\\x23\\xc8\\x94\\x22\\xbe\\x8b\\x36\\x22\\x1d\\x2e\\x8f\\xd4\\x15\\x2c\\x70\\x8a\\x7f\\xdc\\x95\\x36\\x6c\\x0b\\x36\\x2a\\x58\\x49\\xf1\\x0f\\xf9\\x2f\\x7c\\xdd\\x3d\\x34\\x62\\xe8\\xf0\\xaa\\x2e\\xf1\\x45\\xd7\\x8d\\xb8\\xf0\\xba\\xd9\\xc0\\x94\\xf5\\x5d\\xca\\x4a\\x81\\x81\\xbb\\x57\\x30\\x66\\x65\\x3c\\xc4\\x98\\xb5\\xae\\x04\\xf8\\x07\\xd6\\x37\\xf6\\x1a\\x64\\xfa\\x53\\x8e\\x03\\xd8\\x28\\xb4\\x41\\xde\\x05\\xf4\\xb6\\x3c\\x25\\xe2\\x94\\x8d\\x4b\\x23\\xb9\\x34\\x98\\x93\\x9c\\xed\\x23\\xbc\\xf7\\x56\\x79\\x19\\xbc\\xd7\\xf9\\x34\\x63\\x3b\\x22\\x18\\xa6\\x84\\x21\\x9d\\xda\\x4a\\x79\\x19\\xdf\\x4b\\xa6\\x3f\\x74\\x7a\\x03\\xae\\x6f\\xa1\\xed\\x88\\x9f\\x1d\\x25\\x36\\x4b\\x8d\\xa0\\x3f\\xaf\\x87\\xd7\\xde\\xa1\\x1f\\xea\\xf8\\x37\\x97\\x49\\xf3\\xd0\\xc7\\x80\\x3f\\xb3\\x5b\\x8e\\x5d\\x5e\\x26\\x3e\\x9a\\xaa\\x2b\\x3c\\xa6\\x52\\xd3\\x2c\\x7c\\x9a\\xd8\\x7c\\xbc\\x30\\xce\\x24\\x64\\xd4\\xfc\\xd9\\x4c\\x34\\xea\\x8b\\x75\\x91\\x61\\x2f\\x32\\x74\\x75\\x71\\x81\\x67\\x6f\\x03\\x7c\\x1b\\x9b\\x7f\\xe1\\xcf\\xf6\\xc7\\xac\\x1a\\xf2\\xe2\\x98\\x77\\xbd\\x57\\xf0\\xaa\\x84\\xaf\\xc0\\x0c\\xaf\\x72\\x16\\x03\\xd8\\xc8\\xd4\\x27\\xb3\\xaf\\x49\\xbb\\x7b\\x51\\xb8\\x12\\xbe\\x4d\\x33\\xbb\\x12\\x7d\\x1f\\x70\\xec\\x60\\x3c\\x1f\\x34\\x15\\xea\\x8a\\x4a\\x62\\x9e\\x68\\x28\\x54\\x87\\xc2\\x38\\x16\\x5e\\x1f\\x16\\xc2\\x1d\\xc0\\x93\\x29\\xd1\\xd8\\x6a\\xfc\\xbc\\xf2\\xcd\\xa4\\xeb\\x22\\xfd\\x0f\\xae\\x4b\\xd1\\x59\\x5e\\xa7\\xef\\xb7\\xf5\\x69\\x3a\\xe4\\x47\\x3a\\x74\\x88\\xe4\\x77\\xc0\\xfd\\x93\\x2f\\xa5\\xfc\\x85\\xf1\\x00\\xb3\\xf1\\x5a\\x45\\xba\\x97\\xf3\\xab\\xf1\\x5a\\x0a\\x1f\\x42\\x8f\\x01\\x3e\\x0e\\xc0\\x87\\x70\\x6e\\xcc\\x89\\xc1\\x3e\\x63\\x37\\x0a\\xe2\\x58\\x70\\x7d\\x50\\x08\\xda\\x14\\x83\\x68\\x5c\\xd1\\x48\\x10\\x6b\\xd4\\x9e\\x85\\x76\\xf4\\x18\\x3e\\xaf\\x0b\\x80\\x53\\x59\\xc9\\xc0\\x32\\x40\\xdb\\x30\\x75\\x6a\\x2c\\xb9\\xa4\\xe1\\x55\\xa0\\xb4\\x35\\x99\\xcd\\xcb\\x03\\x1d\\xe4\\x64\\x39\\x6f\\xc4\\x8f\\x72\\x70\\x2c\\x67\\x7d\\x8e\\x90\\x63\\x58\\x3f\\xbe\\x2a\\x37\\xf0\\xd5\\x11\\x58\\x39\\x72\\xd6\\xb5\\xd7\\x5f\\x89\\xcf\\x9b\\xb2\\xa1\\xf5\\xe2\\xf4\\xa7\\x19\\x53\\xa7\\xce\\xd8\\xde\\x66\\x7d\\x0c\\x3c\\xb2\\x11\\x78\\xa4\\x37\\xec\\xa1\\xe9\\x29\\xce\\x16\\x99\\x5c\\x97\\x62\\x03\\x7a\\xcc\\xd8\\x7f\\xe0\\xab\\xee\\xf0\\x99\\x97\\x9a\\xfb\\xf0\\x7d\\xb7\\xef\\x64\\xce\\x2a\\xdf\\x61\\x67\\xab\\xcf\\xa6\\x83\\xf8\\x52\\x72\\x3b\\x7e\\x48\\xda\\x69\\x7a\\xdc\\x20\\x7c\\x41\\x8b\\xa9\\x46\\x04\\x9e\\xbd\\x08\\x9e\\x9d\\xe4\\x29\\xd8\\x83\\x50\\x8a\\x99\\xd2\\x16\\x6a\\xcb\\xbb\\x67\\xe3\\xa2\\x97\\x2a\\x0a\\xf4\\x75\\x7e\\x60\\xbb\\xcf\\x30\\x98\\x95\\xe2\\x68\\xfd\\x17\\x7c\\x71\\xf6\\xa6\\xad\\x8c\\x43\\x92\\xfe\\xef\\xe8\\xe6\\x20\\xda\\xd8\\x7c\\x3d\\xf0\\x82\\x75\\x27\\x91\\x59\\x9b\\x6c\\xd0\\x47\\xb0\\x24\\x84\\x7c\\x1b\\x71\\x3f\\xba\\x7b\\xc1\\x14\\xdd\\x7e\\x8c\\x06\\x5a\\xb0\\xf7\\x29\\x48\\xde\\x26\\xb0\\x5e\\xa5\\xc9\\x0d\\xaa\\x9e\\x86\\xfb\\x5d\\x4e\\x37\\xce\\x9a\\x32\\x65\\x16\\xa7\\xb3\\xb4\\x09\\x35\\xca\\x7d\\xb9\\x3f\\x4d\\xd4\\xdd\\xb8\\x27\\xe8\\x8e\\x56\\xa4\\x4e\\x02\\x23\\x9d\\xd0\\xa5\\xae\\x23\\xd3\\x99\\xc6\\xe7\\x40\\x67\\xfd\\xce\\xe9\\xe3\\x02\\xfa\\xfc\\xd6\\xfc\\x9b\\x41\\x9f\\x50\\xcc\\xe6\\xd5\\xb4\\x50\\x48\\x27\\x90\\x21\\xd6\\xac\\x11\\x73\\x34\\x93\\x3a\\xfe\\xb3\\x7c\\xff\\x4b\\x52\\x34\\xd6\\x25\\x17\\x5f\\x9f\\x92\\x1b\\x83\\x59\\xfa\\x1b\\xc0\\xf4\\x4b\\xca\\x09\\xe0\\x22\\x4c\\x47\\x8d\\xc4\\xce\\xee\\xfd\\x63\\xb0\\xa6\\xda\\x51\\x1d\\xaf\\x12\\x55\\x27\\x50\\x1b\\x8c\\xd8\\xff\\xc2\\x7e\\x9d\\x0d\\x3b\\xe8\\x34\\x3b\\x08\\x34\\xab\\xe5\\xb4\\x35\\x3d\\x05\\x2e\\x04\\xe7\\x39\\x08\\x96\\x6a\\xaf\\xa4\\x1b\\xbf\\xfc\\x12\\x74\\xeb\\x52\\x71\\x8e\\xf0\\x82\\x34\\x08\\x7e\\xef\\x7c\\x1a\\x0c\\x0b\\x18\\x2a\\x64\\xb4\\x55\\xd2\\x63\\xee\\xa5\\x42\\xb7\\xc4\\xcb\\xd2\\xa0\\xf7\\x39\\xfd\\xa5\\x17\\xc0\\xa6\\x94\\xc3\\x5b\\x1c\\xcf\\xa0\\x8e\\x04\\xab\\xa0\\x40\\x01\\x12\\x0e\\x4a\\x72\\xaf\\xe4\\x72\\xb6\\x59\\x18\\x1f\\xa7\\xe3\\x85\\x55\\xca\\xc7\\x4c\\xbe\\x77\\x22\\x49\\x64\\xa6\\x98\\xdf\\x62\\xe9\\x55\\x9d\\xf8\\xf8\\x1a\\x3a\\x5e\\x9d\\x7d\\xe2\\x26\\xd4\\x86\\xee\\x6d\\xf6\\x41\\x40\\xaf\\xc0\\x03\\xbf\\x13\\xcd\\xf0\\x2c\\x05\\x75\\x8a\\x99\\x89\\xa2\\x20\\x51\\x34\\xa9\\x18\\xbc\\xc1\\x73\\x76\\xc6\\xb1\\x28\\x4a\\x7b\\xf1\\x39\\x28\\x8e\\x44\\x5c\\x8f\\xf4\\x43\\xc1\\xf2\\xb4\\x72\\x4c\\x37\\x3b\\x50\\x81\\xff\\x5f\\xc1\\xf9\\x2c\\x7d\\x41\\xf8\\x0d\\x67\\xd1\\xef\\x13\\x0e\\x56\\x75\\xc3\\xe8\\x2b\\xfb\\x61\\xad\\x5d\\x5c\\x26\\x19\\x5d\\xcf\\x46\\x56\\x79\\x12\\x17\\x64\\x20\\x2b\\x93\\xe3\\x29\\x20\\xc7\\xa6\\xff\\x5f\\x8e\\x77\\x27\\xe5\\x18\\xa3\\xb5\\xc0\\x50\\x61\\xf1\\x13\\x64\\x47\\x55\\x31\\xb3\\xc5\\x6e\\x95\\xed\\x44\\x73\\xd8\\x2d\\xbd\\xcc\\x38\\x06\\x90\\xdb\\x01\\x72\\x11\\x29\\xfc\\x7b\\x11\\xd7\\xa1\\x8c\\xa8\\x9d\\xb9\\x75\\x3d\\x70\\x57\\xec\\xd5\\x47\\x15\\x79\\xc3\\x6b\\x07\\x3f\\xba\\xfb\\xc1\\x3b\\x26\\xf5\\xc5\\x73\\x12\\x73\\x84\\xdf\\xf6\\xbd\\x3b\\xea\\xd8\\xcc\\x67\\x68\\xcd\\x31\\xa4\\xf7\\x5c\\xba\\x48\\x10\\x9a\\xd7\\x21\\x15\\x64\\x44\\x61\\x32\\x22\\x45\\xfc\\xe0\\x47\\xd5\\x82\\xa0\\x08\\xc2\\x4e\\xd7\\x4d\\x8e\\xed\\xf8\\xd0\\xbf\\xd6\\x7b\\xbd\\xeb\\x97\\xe9\\xf1\\x42\\x6f\\xf0\\x2a\\x1b\\x01\\xae\\x20\\x1a\\x10\\xcb\\xd5\\x82\\x76\\x64\\x97\\x15\\xab\\x60\\x03\\x19\\x74\\xb3\\xc6\\x07\\x36\\x31\\x94\\x65\\x15\\x34\\x50\\xc9\\x76\\xcf\\x5e\\x00\\x52\\x86\\xcf\\xd4\\xf1\\x5e\\x33\\x75\\xad\\x06\\xc4\\xf0\\xf6\\x20\\x55\\xa9\\xbb\\xa7\\x1e\\xb8\\x27\\x0e\\x2b\\x76\\x41\\x6f\\x12\\xa2\\x90\\xb0\\xbb\\x87\\x50\\xbb\\x00\\xf7\\xc3\\x77\\xf5\\xec\\x6d\\xf7\\x62\\x4f\\xc0\\xdc\\x7d\\xf2\\x74\\x3c\\x8b\\xee\\xa1\\xb6\\x9a\\xf6\\x39\\x3d\\xe8\\x0f\\x43\\x0b\\xbb\\xc5\\x1b\\xc4\\x4f\\x12\\x6f\\xd7\\xad\\xbd\\xfe\\xf0\\xcf\\x97\\x3c\\xb8\\x7c\\x22\\x15\\x85\\x9d\\x79\\xb3\\x77\\xd2\\xbb\\xf1\\xba\\xc7\\xef\\xbc\\xb0\\x40\\x87\\xb7\\x09\\x9c\\xf9\\x8f\\x01\\x5e\\x0d\\x75\\x89\\xd9\\x2c\\xb2\\x49\\x46\\xaa\\xe8\\x70\\xca\\x66\\xd5\\x6c\\x90\\x52\\x05\\x28\\x21\\x0c\\xe1\\xdf\\xe3\\x16\\x52\\xa6\\xc6\\xb4\\x00\\x74\\xd5\\xe1\\x7c\\x31\\x08\\x6e\\x25\\x6b\\x0f\\x02\\x36\\x7e\\x31\\xde\\xc4\\x2a\\xd0\\x97\\x9e\\x9a\\x27\\x1c\\xbb\\x7e\\x1d\\x39\\x72\\xec\\x38\\x3d\\x4a\\x23\\xc7\\x8e\\xe1\\x3d\\x5b\\xf5\\x3c\\xd7\\x9e\\xb0\\x77\\xeb\\x39\\x8d\\xba\\xc6\\xdc\\x56\\x9b\\x2c\\x49\\x8a\\x3b\\x60\\x93\\xb2\\x42\\x8a\\xdb\\x6d\\x0b\\x06\\x03\\xfb\\xf9\\x62\\x41\\x58\\x4c\\x46\\x36\\xc6\\x83\\xa9\\xb1\\xe4\\xd1\\xf4\\x83\\x97\\xaa\\x5c\\xec\\x77\\x87\\x89\\x9d\\x28\\xe1\\xda\\x1e\\x42\\x4f\\x5c\\xc1\\x1a\\x21\\xe3\\x41\\x4b\\x57\\x8d\\xec\\xb2\\x8d\\xfe\\x71\\x49\\x4d\\xa7\\xa2\\xec\\x6a\\xfa\\x73\\x59\\xe1\\x80\\x59\\x93\\x1b\\x73\\xa2\\xbd\\x06\\x2c\\x13\\x3f\\x39\\x67\\xe7\\x0f\\x09\\x19\\xef\\xd7\\xc2\\xf5\\xa3\\xff\\xdc\\xf9\\xf0\\xfd\\x63\\xf2\\x02\\x37\\xae\\xed\\x71\\x8c\\xc1\\x54\\x06\\x74\\x98\\x0e\\x30\\x29\\xa8\\x3c\\x66\\x85\\xe8\\x1f\\x11\\x62\\x52\\x59\\xc9\\xf3\\xbe\\x14\\x13\\x61\\x06\\x4a\\x26\\xea\\xec\\x06\\x8e\\x69\\x4c\\xf2\\x31\\x3d\\x96\\x18\\x2f\\xf6\\x5b\\x0b\\xd8\\x1e\\xe3\\x32\\x76\\x2f\\x3c\\xef\\x15\\x78\\x1e\\xb3\\xc7\\xb5\\x31\\xcd\\x8c\\xb0\\x24\\x62\\xa0\\xac\\x20\\x60\\x8b\\xc5\\xac\\x63\\x68\\x81\\x87\\x4a\\xfa\\x63\\xa3\\x3d\\x5b\\xa7\\x80\\x1b\\x4f\\xc7\\x9c\\xa4\\xb0\\x48\\xbe\\xcf\\x89\\xf7\\x80\\x75\\xb6\\x13\\x0b\\xfd\\x7d\\xc9\\x43\\x54\\x12\\xac\\xb8\\xe4\\xa4\\x70\\x2c\\x61\\x17\\xde\\x5d\\xb3\\xe0\\xd8\\x31\\xfa\\x03\\xa7\\xed\\x16\\xf8\\xeb\\x59\\xbe\\x6e\\xf0\\x69\\x30\\xc6\\xa2\\x44\\xf6\\xe0\\x7a\\x9d\\xc9\\x7a\\xea\\x42\\xac\\xcf\\xa1\\xdc\\x82\\xed\\xf4\\x98\\xf8\\xc9\\xa9\\x12\\xf8\\x4c\\x14\\x00\\x7e\\x5b\\x3c\\x89\\x6c\\x28\\x16\\xb3\\xc8\\x0a\\xb6\\x28\\x56\\xd1\\xae\\x31\\x75\\xd0\\x2b\\x66\\x8e\\x0b\\x16\\x2b\\xc6\\x8a\\xcd\\x66\\xdd\\x87\\x7b\\x01\\xd0\\x36\\xdc\\x05\\x04\\x4b\\xa7\\x84\\xd1\\x39\\xac\\xae\\x45\\xb2\\xb0\\x93\\xcd\\x42\\x60\\x95\\x70\\x35\\xb5\\x45\\x4e\\xe1\\xed\\xa9\\x7d\\x6b\\xe9\\xb1\\x0b\\x26\\xd0\\x47\\xc5\\x20\\x3d\\x15\\x89\\x4c\\x18\\x93\\xd8\\x2c\\x8c\\xb8\\xe2\\x8e\\x76\\x57\\x63\\x19\\x25\\xe1\\x15\\x4f\\x00\\xbc\\x36\\xa0\\xbb\\x59\\x92\\x6d\\x56\\xd9\\x6a\\xd7\\x14\\x51\\x27\\x90\\x02\\x60\\xdb\\x90\\x9c\\x22\\x50\\x4b\\xfb\\x49\\xbd\\xb9\\xaa\\x93\\x33\\x5e\\x98\\x1c\\xb9\\x6e\\x3d\\xfd\\x37\\x3d\\x26\\x04\\x71\\x29\\x56\\xe8\\xef\\xc2\\x96\\x47\\x6f\\x3f\\x1d\\x14\\x3f\\xf9\\x37\\xfd\\x31\\x01\\x71\\x0c\\xd8\\xb8\\x9f\\x24\\x97\\xf8\\x0b\\xca\\x02\\x7e\\xb3\\xca\\xc4\\x16\\x08\\xb8\\x08\\x09\\x65\\x7b\\x1d\\xbd\\xac\\x7c\\x19\\x2f\\xa0\\xc4\\x36\\x18\\x01\\xb3\\xb3\\x9f\\x11\\xee\\x8a\\x52\\x95\\xff\\x29\\x7e\\x93\\xf2\\x11\\x3b\\xae\\xe5\\x43\\x97\\xf4\\x26\\x16\\x4a\\x35\\xef\\xf3\\xe9\\x40\\xc2\\xb3\\xf4\\x27\\x7a\\x1a\\xdb\\xaf\\x5b\\x39\\x73\\x45\\xcf\\xc1\\x23\\x47\\x8c\\x1d\\x73\\xe3\\x47\\x7b\\xe9\\x57\\x1e\\x30\\xbd\\x16\\xe1\\xab\\x44\\xd1\\x5d\\x37\\x8f\\xda\\xb3\\xe5\\xc9\\xc7\\xeb\\xfe\\xdd\\x85\\xfe\\x8b\\x1e\\xa2\\x77\\xd3\\xed\\x3a\\xee\\x42\\x5f\\x63\\xaf\\x42\\x31\\x33\\x6c\\x96\\x24\\x8e\\x63\\x16\\x60\\x37\\xdb\\xac\\x43\\x63\\xce\\xb0\\x5b\\x89\\xa9\\xfc\\x73\\x25\\x74\\x11\\xf9\\x13\\x3e\\x67\\x41\\x91\\x67\\x40\\x34\\x81\\x68\\x8a\\xbc\\x2f\\x45\\x30\\x8c\\xbb\\xa3\\x96\\x66\\x9d\\xbc\\x82\\x20\\xc5\\x41\\xe4\\x4f\\xfa\\xfb\\xd2\\x07\\xe8\\x78\\xbc\\x0d\\x78\\x87\\x2e\\x12\\x9b\\xee\\x9b\\x77\\xec\\x77\\xa6\\xb7\\x11\\x78\\xf7\\xe4\\x34\\x3c\\xd3\\x85\\x3a\\xc7\\xcc\\x76\\x51\\x05\\xf5\\xe9\\xf6\\x68\\x76\\x43\\x09\\x68\\xf0\\x5c\\x11\\x49\\x86\\x28\\xd4\\xb7\\xe8\\xd3\\xd4\\x86\\x38\\x50\\x19\\xae\\x0e\\xb3\\xa8\\xd2\\x58\\xcc\\x49\\x4e\\xd3\\xb7\\xe9\\xbb\\x74\\x27\\xee\\xbe\\xe3\\x89\\x27\\xb6\\xd2\\xe7\\xf0\\x48\\xa1\\x49\\x18\\x4a\\xff\\x41\\x3f\\x38\\xb6\\x73\\x77\\x68\\xef\\x8e\\x63\\x89\\x2d\\xb0\\x6e\\xdf\\xe6\\x57\\xc4\\x4e\\x32\\xab\\x4b\\xa8\\x8e\\x59\\x55\\x99\\x58\\xad\\x9a\\x4c\\x1c\\x4e\\xa4\\xf5\\x52\\x71\\x37\\xa6\\x75\\x0d\\x25\\x54\\x07\\xb8\\xd5\\x18\\x2d\\xeb\\xd2\\xb5\\x40\\x6d\\x21\\xaa\\xee\\x6c\\xf0\\x02\\x9b\\xcd\\xf1\\x02\\xce\\xc7\\xb1\\x2f\\xa9\\x88\\x3d\\xd8\\x8b\\x5f\\xa4\\x15\\xf4\\xa2\\x23\\x63\\x71\\xcd\\x9e\\xed\\xc2\\x5a\\x3a\\x82\\xce\\xa6\\xaf\\xd3\\xe2\\x79\\x5c\\x3e\\x81\\xef\\xa4\\x3c\\xc0\\x17\\x34\\x0c\\xc3\\xd8\\x04\\x41\\x3f\\x46\\x76\\x4d\\x50\\x0c\\x8c\\x05\\xcc\\xbb\\x0a\\x18\\x6a\\xef\\x0c\\x18\\x33\\xe1\\xcc\\x17\\xb9\\x25\\x04\\x8c\\xa5\\xbc\\x53\\xb7\\x0a\\xbd\\x19\\xfb\\x9d\\x7e\\x40\\x18\\x7a\\x1d\\x68\\xb7\\x3f\\xe8\\xbf\\x70\\x20\\x61\\xc1\\xfb\\x37\\xaf\\x62\\x7b\\xd6\\x09\\xd6\\x2b\\x17\\xbf\\x44\\x01\\xd4\\x18\\x73\\x2b\\xa2\\xe6\\xf0\\x7a\\x3c\\x0e\\xb7\\x4f\\x12\\xe5\\xac\\xa0\\xdb\\xe7\\xf0\\xf4\\x62\\x24\\x76\\xc0\\x42\\x92\\x81\\xb2\\xc4\\xc4\\x16\\x54\\x84\\xce\\x90\\x5d\\x32\\xc6\\xb4\\x66\\xb6\\xdf\\xc4\\xf9\\xae\\x20\\x36\\x74\\x6f\\x81\\x6c\\x61\\x43\\x7b\\x6b\\x49\\x98\\xb5\\x0c\\xe9\\x83\\x9a\\x7f\\x48\\xcc\\xc3\\xb3\\x26\\x2e\\xba\\xe6\\xc1\\x73\\xe7\\xd0\\x7f\\x2e\\xab\\x6a\\xff\\x27\\x2e\\x1f\\xdb\\xed\\x5d\\xf1\\x4b\\xfa\\x21\\x7d\\x29\\x71\\xd3\\x31\\x7c\\xd5\\xfb\\xcf\\xfc\\x48\\xbf\\xa7\\x41\\x41\\x7e\\xf6\\x72\\xbc\\x6e\\xdb\\xe8\\x4b\\x19\\x5f\\x82\\x5f\\xdf\\x5a\\x87\\x74\\x3f\\xbb\\x0e\\xf9\\x6b\\x13\\x7c\\xa6\\x1f\\xd7\\x21\\xcc\\x8e\\x80\\x3d\\x26\\x4c\\x92\\x60\\x17\\xcd\\xaa\\x41\\x4d\\x33\\xa7\\xa6\\xd0\\x96\\x9a\\x49\\x35\\xca\\xa0\\x37\\xee\\xa3\\x73\\xb1\\x57\\x78\\x3b\\x31\\x07\\xcf\\x29\\x1c\\x3a\\x64\\xf6\\xe6\\x27\\x36\\x0f\\x3e\\x86\\x5f\\x5f\\x76\\x75\\xa7\\x63\\xa3\\xdf\\xdb\\x0b\\xfb\\x16\\xe5\\x77\\x1f\\x9f\\x20\\x07\\xca\\x41\\x75\\x31\\xab\\xc7\\x11\\x34\\x9b\\x1d\\x22\\xc9\\xcd\\xb3\\xf9\\xf6\\xf2\\xc7\\xdb\\x70\\xd7\\x1d\\x4e\\x51\\x12\\xf7\\x1a\\x54\\xac\\x4b\\xd6\\xac\\xa7\\xcb\\xb2\\x1b\\xd4\\x53\\x84\\x99\\x2d\\xa7\\x57\\x1f\\xc5\\x83\\xe5\\x1c\\xec\\x48\\xb2\\xef\\xd2\\xae\\x1d\\xf7\\x09\\xbb\\x70\\x07\\xac\\xd1\\x37\\xe9\\x07\\xf4\\x53\\xfa\\x3d\\x1e\\xde\\x1d\\x77\\x78\\xf4\\x9e\\xdb\\x37\\x0a\\x57\\x5f\\xfc\\x71\\xfd\\x31\\x4a\\xbf\\x6f\\xa4\\x2f\\xd0\\x3d\\x38\\x0a\\x06\\xe7\\x8e\\x29\\x27\\x3b\\xd0\\x65\\x2f\\x7e\\x3a\\xe0\\xfe\\xe5\\xcc\\x8e\\x34\\xbf\\x2b\\xae\\xe0\\xfa\\x0c\\x6c\\x9b\\x48\\x04\\xc9\\xa4\\xf2\\x4e\\x4e\\xc0\\x5a\\x12\\x22\\x36\\xb4\\xdf\\x50\\xa2\\xdd\\x90\\x09\\x11\\x06\\x9c\\xa1\\xf9\\x33\\xb7\\xb4\\xb6\\x90\\xcd\\x86\\xac\\x71\\x39\\xc3\\x0e\\x41\\x94\\xca\\xb0\\x70\\x2b\\x5d\\x87\\x8b\\x70\\xc9\\xf4\\xf1\\xd8\\xf7\\x21\\x2d\\xa4\\x0d\\x87\\xc5\\x4a\\xf2\\xc6\\xe9\\x2d\\xa3\\xf0\\xcd\\x78\\x2a\\x8d\\x24\\xbe\\x4b\\xb8\\x99\\xef\\x09\\x12\\xfd\\x12\\xdf\\x83\\x6e\\x31\\xab\\xc5\\x2e\\x89\\xa2\\xcd\\x0e\\xbb\\x60\\xb7\\xec\\xc6\\xb1\\x5d\\x71\\xbb\\xdd\\xa1\\x69\\xe6\\x7d\\x29\\x79\\x96\\x92\\x7a\\x22\\xb3\\x43\\x0d\\xe3\\x27\\xa6\\x54\\xf5\\x79\\x8e\\x60\\xd4\\x9d\\xc2\\x4d\\xb8\\x0a\\x9b\\xe8\\xef\\x37\\x3c\\xfc\\xe7\\xf1\\x04\\x15\\x3f\\xf9\\x91\\xfe\\x78\\x6a\\x93\\x58\\xb4\\xf5\\x4e\\xfa\\xc6\\xef\\x24\\xa0\\xf7\\x95\\x12\\x0f\\xc0\\xba\\x5e\\xd4\\x1f\\x7c\\x7a\\xbb\\x64\\x32\\x39\\x15\\xbb\\xe8\\xf7\\x99\\x24\\xbe\\x30\\xfc\\xa8\\x3a\\x5d\\x06\\x27\\x38\\x31\\xcb\\xf3\\x13\\x53\\x52\\xdd\\x3a\\x0b\\xd8\\xdf\\xa2\\xe1\\x8d\\xe5\\xd9\\xf6\\x78\\x1d\\x8c\\x45\\x40\\xa7\\xec\\x5a\\xfd\\xc0\\x91\\x3f\\x12\\xa7\\xf1\\x49\\x5c\\x0c\\xd2\\x75\\x1f\\xed\\x82\\x5f\\x04\\xbd\\xb2\\x79\\xfd\\x03\\xf4\\xf8\\x31\\xe1\\x37\\xfa\\x0b\\xfd\\xb2\\x29\\xf1\\xc4\\x31\\x9e\\x9f\\x8a\\x91\\x19\\xe8\\x51\\x0d\\x70\\x79\\x40\\xc2\\x3d\\x8a\\x6c\\x81\\xd7\\x34\\x87\\x03\\xcb\\xc4\\xeb\\xf3\\x58\\x2c\\x58\\x93\\xf7\\xa4\\xd4\\x65\\xb4\\x4d\\xeb\\x57\\x5d\\x71\\x56\\x60\\x90\\x24\\xf0\\x33\\xb8\\xfb\\x45\\xc0\\xf1\\x12\\xc6\\xd3\\x63\\x65\\x93\\x77\\xe3\\xea\\xc1\\x53\\x1b\\xed\\xc3\\x06\\x6b\\x5e\\xec\\x0b\\x78\\x0f\\x7c\\x03\\x1a\\x79\\xdd\\xe4\\x9b\\x9e\\xc6\\xfe\\x59\\x8f\\xef\\x9b\\x9e\\xbb\\xe2\\xc9\\x3f\\xe9\\x77\\x47\\x7f\\xa8\\x30\\x66\\xfa\\x2f\\x00\\x18\\x9c\\xe0\\x0f\\xfa\\x1d\\xb2\\x53\\x92\\x44\\xe2\\x34\\x5b\\x2c\\x4e\\x70\\xb3\\x5d\\x6e\\x87\\x2c\\x63\\xb3\\x08\\x0a\\x7f\\xa7\\x53\\xc0\\x58\\xd8\\x9b\\x26\\x20\\x7a\\x2f\\x4e\\x7d\\xfa\\x78\\xfa\\x58\\x1a\\xe6\\x0f\\x32\\x62\\xe0\\x74\\x9f\\x50\\xbc\\xfa\\xd4\\x11\\x61\\x3d\\x38\\xe1\\x7d\\xf0\\xbc\\xde\\x5d\\xad\\x3e\\xec\\xf5\\xda\\xbb\\xcf\\x9c\\x88\\x2b\\x8f\\x91\\x23\\x09\\x9a\\x7f\\xdd\\xbc\\x23\\xff\\x5a\\xb9\\xe6\\xb2\\x32\\x3a\\x8b\\xeb\\xbe\\x79\\x40\\x97\\x37\\xb8\\x7c\\xbb\\x81\\x53\\x1c\\x58\\xd0\\x4c\\x26\\x8b\\xe0\\x16\\x3d\\x5e\\x10\\x76\\xab\\x85\\x6b\\x5e\\x50\\xff\\x29\\xc7\\x47\\xd0\\x39\\xa5\\xf5\\xd4\\x27\\xfd\\xc2\\x95\\xb0\\xc1\\xdb\\xa0\\x78\\x9d\\x7c\\x1e\\x52\\x24\\x8c\\x9f\\xa5\\xc7\\xa2\\xc2\\x14\\xfa\\x03\\x7d\\x94\\xee\\x7f\\xf6\\xd0\\x55\\x2b\\x13\\xfb\\x84\\x93\\xa7\\x96\\x8a\\xf3\\xf0\\x97\\x2f\\x1c\\xa6\\xdf\\xd0\\xae\\x37\\xe0\\xbc\\x11\\xb8\\x68\\xf3\\x55\\x23\\x75\\x5b\\x06\\x76\\xa7\\xc5\\x96\\xc9\\xc8\\x6a\\xcb\\xb4\\x65\\xf5\\x19\\xb6\\x0c\\x94\\xee\\x99\\x6d\\x99\\xf0\\xae\\x61\\xc9\\xd8\\x33\\xeb\\x9a\\x4f\\xc8\\x11\\x78\\x66\\x0e\\x1a\\x15\\xf3\\xd8\\x35\\x84\\xbd\\x4a\\xc0\\xe4\\xf7\\xfb\\x7c\\x26\\xac\\x89\\x79\\xb9\\x01\\x65\\x37\\xee\\x1d\\xd3\\xe2\\x39\\x01\\x6c\\xd5\\x07\\x42\\x7b\\xed\\xc8\\xb7\\x1f\\x96\\xf3\\x1a\\x0a\\xdf\\x9b\\x54\\x51\\xbc\\x43\\x2e\\x9b\\x03\\x9d\\x62\\x4d\\xa0\\x7f\\x55\\xea\\x62\\xd2\\x2e\\x68\\xd8\\x1f\\xad\\x2a\\xe4\\x1d\\x80\\xcd\\x58\\x16\\xc3\\xe0\\x97\\x83\\x2f\\x5a\\x2b\\x1c\\xc2\\x9e\\x5c\\x6b\\xef\\xd9\\x8b\\xef\\x2e\\x0b\\x9c\\xc4\\x8e\\xa5\\xbe\\x9e\\xd8\\x1f\\xcb\\x5b\\x72\\x82\\x0e\\xa7\\x8b\\x8f\\xe2\\xd0\\xd4\\xfe\\x7d\\x7a\\x15\\xd8\\xc4\\x4f\\xe8\\xe6\\x55\\x1b\\x47\\xe7\\x45\\x0e\\x0d\\x7b\\xee\\x25\\x21\\x94\\xf8\\x89\\xc2\\x9f\\x95\\x3d\\xc5\\x6f\\x12\\x9b\\xed\\xb6\\x9e\\x0b\\xd6\\x73\\x5c\\x40\\xef\\x4a\\x21\\xee\\x2b\\x77\\x8b\\xd9\\xec\\x41\\x93\\xa2\\x04\\xb1\\x5b\\x64\\x63\\x5d\\x41\\xb6\\xb6\\xf3\\xde\\x8f\\xf5\\x3b\\x6c\\x58\\xc0\\x7b\\x53\\x66\\xab\\xa5\\x47\\x47\\xda\\x4e\\x31\\x6d\\xe7\\x4b\\x89\\xb5\\xc7\\xae\\xeb\\x5a\\x70\\x64\\xb0\\xbc\\x5f\\xd8\\x8d\\xf3\\x4f\\x81\\x53\\xb9\\xf6\\xb3\\x86\\x4d\\xeb\\xfa\\x38\\xfb\\x36\\x16\\x80\\x1b\\xfb\\x07\\x3d\\x92\\x88\\x0a\\x07\\xd7\\x2f\\x4c\\x1c\\xdf\\xf2\\xd6\\xb8\\x63\\xd1\\x2b\\xa6\\xf2\\x3b\\x47\\xe6\\xaf\\x15\\x8b\\x9f\\x38\\x8a\\x25\\x09\\x21\\x87\\x22\\x49\\xc2\\x94\\x56\\xaf\\xab\\x99\\xaf\\x0b\\x7d\\x33\\x5e\\x57\\x05\\x1e\\xcf\\xa2\\x8f\\x45\\x59\\xb8\\x1a\\xec\\x3e\\x41\\xae\\x9d\\x58\\x94\\x30\\xc0\\x00\\xe6\\xfd\\x90\\x11\\xd2\\x46\\x20\\xe2\\x59\\xb1\\xf3\\x26\\xc0\\x54\\x16\\x74\\x7b\\x0d\\xef\\xe7\\x7e\\x02\\x8b\\x59\\x03\\xcf\\x60\\xc5\\xa4\\x4a\\x58\\xd6\\x3f\\x14\\x3d\\xa4\\x0f\\x19\\xd0\\x3f\\xe7\\x4e\\x7d\\xf6\\x63\\xf8\\xcb\\xc5\\x1e\\x90\\x58\\xca\\x1e\\xc2\\xe7\\x00\\x88\\x4f\\x8b\\xf5\\xf0\\x04\\x33\\x8a\\xc6\\xb2\\x14\\x59\\x35\\x9b\\x20\\xde\\x94\\x90\\x55\\xb2\\x98\\x49\\x63\\xdc\\x6c\\x96\\xb1\\xe4\\x55\\x65\\x2d\\xd5\\x40\\x53\\xef\\x87\\xac\\x8f\\x82\\x62\\xdc\\x57\\x12\\x66\\x43\\xf1\\x2d\\x82\\xf8\\x34\\x3d\\x3a\\x86\\x16\\x8f\\xa0\\xbf\\xe1\\x47\\xf0\\x28\\xfb\\x86\\x07\\xff\\xf3\\x1f\\xb1\\x3e\\x71\\x0b\\xde\\x4e\\x07\\xeb\\xeb\\xc8\\x66\\x5e\\xe7\\xe8\\x46\\x97\\xc5\\xea\\x14\\xbb\\x6a\\xb3\\x39\\x10\\x71\\x23\\x8b\\x5d\\xf4\\x8a\\xa2\\xc7\\x9a\\xad\\xb6\\x57\\x05\\x02\\xfa\\x4f\\x93\\x55\\x15\\x49\\x6e\\xa1\\x91\\x55\\xf5\\x49\\xa2\\xd7\\xe4\\x92\\x5c\\x7c\\x4c\\xad\\xad\\x31\\x55\\xd5\\x97\\x31\\x4f\\x3e\\x55\\x6c\\x10\\x35\\x7a\\x91\\x46\\x53\\x6d\\xb6\\x40\\x53\\x12\\xa3\\x99\\x0f\\xff\\xc2\\xce\\x08\\x11\\xfe\\x4d\\x1f\\x9f\\x4d\\x3f\\xc6\\xbf\\x92\\x04\\x0d\\xe0\\xbd\\xf4\\x5c\\x41\\x3e\\xfd\\xe3\\x05\\x3b\\xb1\\x4a\\x01\\xde\\x37\\xbf\\x79\\xe3\\x8f\\x43\\xf8\\x73\\x7c\\x3b\\x9d\\xa6\\xdf\\x43\\x0e\\x6a\\xfe\\x49\\x7e\\x4f\\x1c\\x8c\\x8a\\x21\\x22\\xa8\\x47\\xb7\\xc7\\x06\\x04\\x04\\x6b\\xad\\xcb\\xed\\x56\\xda\\x5b\\xad\\x79\\xb5\\x5d\\x72\\x3b\\x29\\x85\\x45\\x45\\xb9\\xb9\\xb5\\x0a\\xe9\\xd6\\x55\\x10\\x50\\x61\\x21\\x72\\xb9\\x50\\x20\\x90\\x85\\x2c\\x5d\\x72\\xbb\\x34\\xc5\\xdb\\x6b\\xb9\\x58\\x23\\xb9\\xb9\\x59\\xa8\\xa4\\x00\\x15\\x0c\\x89\\x8b\\xc8\\xa1\\x75\\xce\\xea\\xdc\\x14\\xf7\\x65\\xf9\\x32\\x27\\x70\\xf1\\x64\\x04\\x36\\x68\\x3d\\xa3\\x47\\x45\\xdb\\x06\\x06\\xa9\\xfc\\x5c\\xa3\\xff\\x64\\xbe\\xbf\\x86\\x8f\\xf9\\x97\\x35\\x23\\xcb\\x8b\\xf5\\x69\\xd0\\x9b\\xc8\\x09\\xce\\xea\\xb0\\x31\\x88\\x56\\x2a\\xb0\\xe3\\x1c\\x63\\x44\\xad\\x51\\x3a\\x22\\x54\\xe2\\x9a\\xf9\\x4b\\x71\\xe0\\xa1\\x1d\\x5f\\x7c\\xfa\\x5b\\xe3\\x88\\x61\\x83\\x54\\x5c\\x94\\xf5\\xf3\\x3b\\x9f\\xcc\\x5c\\xf2\\xce\\xbf\\x4e\\x08\\xbb\\xae\\xb9\\xfc\\xae\\x12\\xfa\\x9f\\xab\\xc5\\x61\\xe7\\xce\\xec\\x75\\xef\\xa5\\xc3\\x3b\\x0c\\x3c\\x7d\\xe8\\xe2\\xcb\\x09\\x1d\\x6d\\xba\\x52\\x1c\\xfc\\xdd\\x77\\x4f\\xac\\xdd\\xb4\\x55\\x12\\x6b\\xaf\\x98\\x38\\xa0\\xc1\\xfe\\xc0\\xc6\\xcb\\x2f\\x07\\x99\\x69\\xe7\\x5e\\xbd\\x61\\xb1\\x1f\\x17\\xbf\\x3c\\x78\\x49\\xbf\\x0e\\x82\\x18\\xe9\\xd7\\xed\\xfc\\x81\\x09\\xb7\\xde\\xe8\\x81\\xf0\\xf9\\x43\\x9f\\xf1\\xfc\\x0c\\x36\\x61\\x65\\x7c\\xac\\x0a\\xbb\\x21\\x9c\\xf4\\x3a\\x1c\\x24\\xab\\x50\\x2d\\xb4\\x28\\xb9\\x84\\x28\\x65\\xa5\\x38\\xa2\\xaa\\x59\\x6e\\xab\\x39\\xdb\\x2c\\x38\\x88\\xd9\\xac\\x58\\xad\\xc1\\x86\\xb8\\x55\\x53\\x0a\\x1b\\xe2\\x8a\\xb7\\x75\\x75\\x49\\xd4\\xc8\\x99\\x6d\\xdd\\xf2\\x94\\x4f\\xa5\\x89\\xf0\\x83\\x12\\xbd\\x63\\x7d\\xd8\\x68\\x9b\\x57\\xc4\\xf4\\xa4\\x17\\x3c\\x1a\\xb7\\x5e\\x74\\xcf\\x12\\x13\\x3f\\x7d\\xf6\\x9a\\x5d\\xdb\\x13\\x17\\xcf\\x9c\\x29\\x8c\\x39\\xf4\\x4c\\x6d\\xf9\\x5b\\x74\\xde\\xe0\\x49\\xf4\\x38\\xb6\\x5e\\xd4\\x14\\x2a\\x1d\\x3e\\xb6\\x99\\x2e\\x1e\\x8d\\x9f\\xef\\x74\\xfd\\x0d\\xcb\\xf1\\xf3\\x6f\\xe0\\xad\\x73\\xaf\\xeb\\x3e\\x3c\\x32\\xbf\\x77\\xf4\\xdf\\xdd\\xe8\\x0d\\x55\\x5d\\xfc\\xf4\\xaf\\xee\\xa9\\x5c\\x98\\x5a\\x5e\\xa3\\xd7\\x97\\xcb\\x25\\xb3\\xfd\\x8d\\x80\\xab\\x09\\x2c\\x5c\\x69\\xcc\\xe3\\x04\\x59\\x92\\x90\\xdb\\x85\\x1d\\x0d\\x71\\xac\\xb1\\x5c\\xdb\\x16\\x36\\x6e\\xf1\\x9d\\xa3\\xdc\\xa8\\x7b\\x50\\xa4\\x24\\x59\\x51\\x7f\\x2b\\xde\\x01\\x3a\\xcc\\x4a\\x7f\\x38\\xed\\x5a\\xbe\\x64\\xfe\\xe2\\x35\\x62\\x3d\\xfd\\x91\\x9e\\xa2\\xf4\\x8b\\x83\\x4f\\x6e\\x7e\\x62\\x53\\xe2\\x42\\xbe\\x56\\xc8\\x58\\xcb\\x0a\\xda\\x70\\x50\\xac\\xd8\\x2f\\x9b\\xbd\\x41\\x6b\\x10\\x9b\\x59\\x73\\xd9\\x50\\x56\\xc0\\x8a\\xac\\x8d\\x71\\x2f\\x42\\x66\\x41\\xf0\\xb0\\xba\\x01\\x73\\xb0\\x31\\xd5\\xbc\\xf3\\xec\\x8d\\x63\\x79\\x9e\\x6a\\x0a\\x20\\x20\\xa2\\x64\\xc0\\xc4\\x07\\x79\\x84\\x66\\xa6\\x00\\xa3\\x17\\xcc\\x14\\x34\\x0e\\xdc\\x9e\\x3d\\xc2\\x0a\\xbc\\xd5\\x00\\x10\\x3f\\xff\\x1f\\x06\\xe2\\x91\\x37\\xfe\\xa3\\xd7\\x32\\x00\\x03\\xbc\\xc9\\xfb\\xa7\\x0d\\x8a\\x95\\x12\\xc5\\x82\\x24\\x90\\x70\\x0b\\xb2\\x59\\x4d\\xd9\\x52\\x7b\\x96\\x16\\x2d\\x81\\xd0\\x4b\\x2c\\xea\\x17\\x1b\\x19\\x85\\xd4\\x0c\\x0a\\xa5\\x89\\x77\\xfa\\x6c\\x0c\\x4e\\xb1\\x94\\x60\\xdf\\x4a\\xf2\\x12\\xbf\\xe1\\x6f\\x68\\x8e\\x50\\x61\\x08\\x31\\x3b\\xa7\\x62\\xf5\\x79\\x20\\xbb\\x25\\x68\\x70\\xac\\x24\\x6c\\xcf\\x0d\\xe4\\x3a\\xcd\\x45\\xfe\\x40\\x40\\x24\\x45\\xa4\\xac\\xd4\\xef\\x0f\\x89\\x22\\x0a\\x85\\x3c\\x4d\\xf1\\x90\\x03\\x29\\xac\\x63\\x4a\\x43\\x19\\x1e\\x73\\x86\\x34\\xcb\\x96\\x5e\\xd8\\x86\\xd0\\x49\\x2d\\x5d\\xfd\\xff\\x6b\\xcf\\x6f\\xfc\\xf3\\x8e\\xcf\\xca\\xce\\xda\\xe6\\xfb\\x77\\xcf\\xfa\\x3b\\xcf\\xde\\xd9\\xfb\\x9e\\x27\\xf9\\xfe\\xde\\x46\\xaf\\x64\\x8d\\xd7\\xb8\\x8e\\x2f\\x8a\\xb9\\x64\\x41\\x90\\x30\\x36\\x81\\xa6\\xbc\\x20\\x2e\\xc8\\x8a\\xc6\\x26\\x9b\\xf4\\x74\\xbc\\x95\\x7e\\x16\\x29\\x79\\xc3\\xd5\\xbc\\x3d\\xdc\\x63\\xf4\\x08\\x3b\\x80\\x7c\\xe9\\xed\\xb7\\xc5\\xc4\\xa9\\x57\\x8d\\xbe\\xa3\\xbd\\x80\\x26\\x4b\\xe1\\x7b\\x07\\xaa\\x89\\x65\\x81\\xee\\x25\\xaa\\xdd\\x4e\\x5c\\x4e\\xa0\\x84\\xd5\\x6a\\xe1\\x93\\xdb\\x95\\x86\\x36\\xc9\\xa6\\x2d\\xb3\\x11\\x75\\xdc\\x8b\\x18\\xee\\xd5\\x20\\x5b\\x2c\\xb3\\x07\\xff\\x63\\xd7\\x4b\\xb9\\xd8\\xa3\\x9d\\xd3\\x6d\\xf9\\x09\\xc1\\x71\\xd8\\xf3\\xc0\\xe6\\xf0\\xa8\\x01\\x7b\\x05\\xf1\\xcd\\x44\\x64\\xf7\\xdf\\x93\\x75\\xbb\\xe2\\x2c\\x96\\x83\\x43\\xae\\xe0\\x30\\x68\\xc0\\x0f\\xc3\\x78\\xcf\\xd5\\x5e\\xb1\\x7c\\x93\\xd5\\x2a\\x11\\x8c\\xcd\\x88\\x68\\x76\\x55\\x95\\x4d\\x26\\x40\\x51\\x26\\x04\\x83\\x3e\\x03\\xd6\\xc5\\x2d\\x93\\x5b\\x5a\\xab\\xc3\\x68\\x32\\xe4\\x54\\xaa\\x59\\xc5\\x76\\xad\\x57\\x01\\x65\\x3f\\x2c\\x51\\x7f\\xdd\\x75\\x58\\xfb\\xe3\\x0f\\xfc\\x0c\\xbe\\xbd\\xe1\\xeb\\x46\\xfc\\x2a\\xdd\\x75\\xeb\\xf7\\xb7\\xd0\\x17\\x0d\\x3e\\x94\\x46\\x33\\x1d\\x84\\x7b\\xc6\\xbe\\x30\\x49\\x92\\x6c\\x77\\x3a\\x1d\\x0e\\x0b\\xf3\\x7d\\x9d\\x32\\x1b\\xf2\\x28\\x34\\xc4\\xed\\x8a\\x86\\x2d\\x6c\\xdd\\x81\\x3e\\x5c\\xe8\\xc3\\xc7\\x7d\\xf8\\xb0\\x0f\\xdf\\xe7\\xc3\\x37\\xf8\\xf0\\xe5\\x3e\\xdc\\xd5\\x87\\xcb\\x7d\\xd8\\xe3\\xc3\\xa2\\x0f\\x5f\\xf6\\xad\\x0f\\xef\\xf4\\xe1\\x99\\x3e\\xdc\\x27\\xf9\\xea\\x29\\x1f\\xfe\\xd1\\x87\\x3f\\xf0\\xe1\\xbd\\x3e\\xbc\\x82\\x7f\\x60\\xa8\\x0f\\x77\\xe6\\xef\\x86\\x17\\xef\\xf4\\xe1\\x79\\x3e\\x7c\\x89\\x0f\\xeb\\x8f\\xb6\\xf8\\x70\\xdd\\x29\\xfe\\xf8\\x37\\x7c\\x78\\x9b\\x0f\\x6f\\xe4\\xef\\x68\\xf5\\xb8\\x5f\\xf9\\x6f\\x9f\\xf3\\x61\\x61\\xab\\x0f\\xdf\\xe6\\xc3\\x57\\xf9\\x70\\x83\\x0f\\xe7\\xf9\\xf0\\x6f\\x3e\\xfc\\x4f\\x1f\\x7e\\x9e\\xbf\\xb8\\xc8\\x87\\xc7\\xfb\\x70\\xa3\\x0f\\x77\\xf4\\xe1\\x7c\\x1f\\xd6\\x7c\\x58\\x01\\xf7\\x2c\\xf9\\x67\\x3a\\xfb\\x33\\x8e\\xfd\\x35\\x23\\xf5\\x67\\x6c\\xfa\\xef\\x5a\\x7e\\x35\\x36\\xed\\x43\\x99\\x35\\xea\\xad\\xab\\xe6\\x5b\\x17\\x75\\xb3\\x4a\\x6f\\x32\\xa9\\x55\\x45\\xf7\\x09\\x57\\xeb\\x52\\xee\\x53\\xaf\\xb2\\x12\\xef\\x64\\x2f\\xf2\\x31\\xdc\\x1f\\xe8\\x12\\x0b\\xb1\\x19\\x50\\x36\\x8c\\xed\\x8a\\xdd\\xe9\\xb0\\x5a\\x35\\x51\\xb4\\x4b\\x9a\\x66\\xb2\\x7b\\xdf\\x71\\x32\\x79\\xd4\\xfd\\x8e\\xd6\\x9d\\xd2\\x79\\xba\\x20\\x1f\\x90\\x14\\x36\\x06\\x26\\xe1\\x3b\\x8d\\x79\\x48\\xa7\\xf5\\xf9\\x48\\xa9\\xe1\\x47\\xb0\\x6a\\x72\\x1c\\x52\\x4a\\x5f\\xdf\\xc1\\xf5\\xb5\\x9e\\xab\\xc7\\x6a\\xb5\\x23\\x3c\\x57\\xcf\\xc7\\x65\\xee\\xbc\\xe6\\x53\\xe2\\x63\\x62\\x0f\\xc4\\x5a\\x06\\x96\\xc6\\x5c\\x9a\\xea\\x21\\x44\\xf5\\xfb\\xac\\x56\\xd9\\xe9\\x94\\x91\\x2e\\x73\\xad\\x7a\\xb7\\x33\\x43\\xcc\\x94\\xa5\\x3e\\xc2\\x16\\xb3\\xb4\\xf7\\x30\\x9b\\xf9\\x21\\xcc\\xc6\\x0a\\x2e\\x87\\x80\\xf9\\x24\\x28\\xc6\\x0f\\x21\\x3e\\xd1\\x5e\\xd8\\x82\\xa7\\x3d\\xbd\\x4f\\xec\\xd1\\xaa\\xd6\\x91\\x7e\\xba\\xf0\\xda\\x66\\xb4\\xe0\\x1a\\x4c\\xf4\\x33\\xc0\\xf3\\x50\\x19\\xc0\\xe0\\x40\\x01\\x90\\x7a\\xa7\\x13\\xd9\\x64\\xe4\\x31\\xcb\\x62\\x56\\x50\\xd3\\x88\\xea\\x25\\xa8\\xb2\\xb2\\x55\\xd8\\xe1\\xee\\xcc\\xd6\\x66\\xaa\\x87\\xb0\\x93\\xb8\\x70\\x3e\\xeb\\xdb\\x43\\x2a\\x84\\xf3\\xf8\\x08\\xc7\\x56\\xdd\\x33\\xa7\\x6d\\x19\\x27\\xd8\\x4f\\x80\\x06\\x3f\\xc6\\x1a\\x6f\\xe2\\x50\\xb2\\xf1\\x26\\xfd\\x5e\\xbb\\xee\\x1d\\xdd\\xef\\x29\\x6e\\xde\\x22\\xbe\\x2e\\x2e\\x03\\x6f\\x2d\\x0b\\x15\\xa0\\xa9\\xb1\\x12\\x87\\x4d\\x26\\x41\\x5b\\x3e\\x21\\x92\\x29\\xd7\\xe7\\xcf\\x71\\x69\\x36\\x73\\x61\\x44\\x31\\x7b\\x3c\\x28\\x37\\x17\\xf9\\xfd\\xa0\\x48\\xcd\\x4e\\xc4\\xa2\\xdb\\x3c\\x16\\xdd\\x22\\xb3\\xe6\\xe2\\xdf\\x42\\x78\\xad\\x31\\x75\\xd2\\x33\\xb3\\x09\\x5c\\xba\\x3c\\xb7\\x6a\\x1d\\xc0\\x4f\\x15\\x81\\x9d\\x4a\\xaa\\xfd\\x35\\xbc\\x6f\\xb1\\xe2\\xf7\\x96\\xc8\\xa4\\x40\\xc1\\x40\\x4f\\x5c\\x55\\x8b\\x59\\xae\\x80\\x30\\x8f\\xd5\\x82\\xc6\\xe7\\x7f\\xbc\\xfa\\x27\\x56\\x0c\\x7a\\xc1\\x8c\\xb7\\x6e\\xf9\\x63\\xf4\\x79\\xf8\\xd0\\xb9\\xf4\\xf6\\xb1\\x7d\\x68\\xe7\\x7e\\xcf\\x58\\x70\\x21\\x16\\x9e\\xbf\\x61\\xfa\\x33\\xaf\\x5c\\x43\\xff\\x49\\x13\\x07\\xae\\x9f\\xb8\\x7b\\xf7\\x74\\x92\\xed\\xa4\\x97\\x75\\xbb\\x02\\x23\\x6a\\x76\\xe0\\x7b\\x7a\\x4c\\xba\\x61\\x11\\xc7\\xb5\\x77\\xf3\\x4f\\x4a\\x77\\xb0\\x13\\x59\\xa8\\x10\\x95\\xa3\\x59\\xb1\\x58\\xbe\\x22\\x58\\x43\\x21\\x77\\x69\\x20\\x18\\x2c\\x73\\xb9\\x4a\\x15\\xd2\\xa1\\xbd\\x39\\xb7\\x21\\x6e\\xb6\\xbb\\xca\\x9a\\xe2\\x42\\x00\\x59\\x5d\\xe0\\xd4\\x59\\x5d\\x81\\x80\\xcb\\x4a\\xec\\xc8\\x5e\\xd4\\x14\\xb7\\xfb\\xc4\\x48\\x03\\x6b\\x3f\\xef\\x03\\x3b\\x62\\xcc\\xbd\\x4f\\x6a\\x50\\x3f\\x9b\\x2a\\x5e\\xc9\\xeb\\x60\\xeb\\xf4\\xc1\\x2a\\xe9\\xe5\\x60\\x46\\xcb\\x73\\x5c\\xe5\\x67\\x2d\\x8c\\x79\\x55\\x6c\\x2b\\xdf\\x8d\\xa5\\x17\\xf3\\x96\\xcd\\xf9\\x49\\xcf\\xad\\xe8\\x97\\xeb\\x6f\\x3b\\x99\\x60\\x77\\x4d\\x34\\xd1\\x8c\\x6e\\xbe\\xf1\\x5f\\x69\\x0e\\x1b\\x19\\xb5\\xf0\\x5a\\x0c\\x8c\\x04\\xcc\\x25\\xa5\\x1c\\xb6\\x07\\x1f\\x4c\\xb2\\xe0\\x9a\\x35\\x69\\xae\\x5a\\xe2\\x2d\\x9d\\x1b\\x13\\x5a\\xaa\\x1f\\xd7\\x60\\x90\\x85\\x73\\x40\\x4e\\x72\\x50\\x19\\x6a\\x8c\\x95\\xf8\\x14\\x8b\\xcb\\x6d\\xb5\\xb8\\xb3\\x2c\\x25\\x62\\x38\\x2b\\x4b\\x2c\\x6f\\xe7\\x57\\x14\\x64\\xd1\\x0a\\x9b\\xe2\\xac\\x09\\x97\\x45\\x43\\xb9\\x43\\x52\\xe6\\x22\\x2d\\x0d\\x39\\xda\\xa6\\x9a\\x4c\\xb7\\x9b\\xbc\\x99\\x6f\\x6d\\x35\\xfc\\x13\\xd6\\xf3\\x1f\\xc2\\x2d\\xe3\\xfb\\x4b\\x92\\x76\\x94\\xed\\x6f\\xbf\\xfb\\xbe\\x9b\\x7b\\xe3\\x55\\x63\\xaf\\xc5\\xa6\\x19\\x13\\x2f\\xba\\x02\\x9b\\xe6\\x8c\\x9d\\xb1\\x74\\xee\\xb7\\x0f\\x5c\\xb5\\x60\\xe1\\xb4\\xab\\xe6\\xcf\\xf7\\x4c\\xde\\x37\\x77\\xe9\\xae\\xa0\\x58\\xfc\\xe2\\x55\\x4b\\x16\\x2d\\x5a\\x32\\xe3\\x85\\x22\\x31\\xf8\\xcc\\x0d\\x73\\xf7\\x4d\\xde\\x7b\\xdd\\xdc\\x69\\xd7\\xcc\\xbe\\x72\\x1e\\xef\\x4f\\xdd\\x28\\xe4\\xf2\\x7a\\x66\\x2b\\x2a\\x8e\\x39\\x15\\xd9\\x0a\\xa1\\xb4\\xdd\\xa6\\x80\\xdb\\xc9\\x86\\x1f\\x39\\xf4\\x6b\\xbc\\xb4\\x61\\x6c\\xa9\\xb9\\xe6\\x8c\\xf0\\xf9\\xce\\xc6\\x4c\\xd1\\x14\\x72\\xf5\\xaa\\x63\\xfa\\xfb\\x0b\\x5b\\xe8\\xed\\x5c\\x46\\xb9\\x1e\\x11\\xb2\\xf5\\xe7\\x4b\\x10\\xa7\\xcb\\x56\\xbb\\x4d\\xb2\\xaa\\x2a\\xd8\\x11\\xd5\\x77\\x86\\xe7\\xf3\\xe3\\xb4\\xea\\xb0\\x71\\xbc\\x36\\x1b\\xa3\\x6b\\x17\\xe2\\x62\\x7a\\x04\\x58\\x19\\x34\\x81\\x90\\x4d\\x6f\\xdf\\xf2\\x02\\xfd\\x0d\\x74\\x42\\x3b\\x76\\x13\\x20\\xa0\\x95\\xa0\\x23\\x97\\xc3\\x5e\\x98\\x41\\x0a\\x59\\x5d\\x14\\xc6\\x82\\xa6\\x28\\x82\\xd7\\x63\\x41\\x4d\\x71\\x8b\\x85\\x08\\x5e\\xe2\\x6e\\x4a\\xb5\\x25\\x6f\\x53\\x17\\xc5\\x53\\xbf\\xf5\\x0b\\xc3\\xa2\\xb0\\xe1\\xc0\\xe1\\x4d\\xf4\\x7b\\x21\\xef\\xc8\\x89\\x3f\\x8e\\xd2\\xbf\\xb0\\x69\\xc2\\xe8\\xc9\\x93\\xfe\\xc4\\xab\\xe9\\x95\\x62\\xfd\\x96\\x47\\x1e\\xde\\xb2\\x75\\x74\\xbf\\xc1\\x23\\x90\\xc0\\xb2\\x5d\\xc4\\x6c\\x6e\\x9f\\x3d\\xa8\\x0f\\x9b\\x7c\\xe5\\x71\\xca\\x1e\\x96\\x62\\x24\\x83\\x1d\\x12\\xbc\\x6e\\x5e\\x8f\\x67\\x83\\xf0\\x4c\\xb5\\x0a\\x5e\\x55\\x6b\\x8a\\xab\\x5a\\x3a\\x03\\xe0\\x68\\x6a\\x8a\\xb2\\xb1\\xef\\xac\\x88\\x4d\\x6f\\xe3\\xcc\\xb4\\xb5\\x9b\\xb5\\x6f\\xee\\x8a\\x85\\xde\\x80\\xeb\\x21\\xdc\\x7b\\xc6\\xec\\x3f\\x8e\\xe2\\x23\\x00\\xd6\\xf3\\x87\\xf6\\xbd\\x83\\x77\\xd0\\xf3\\xf1\\xc7\\xa1\\xfb\\xaf\\x59\\x7b\\xff\\xa9\\x57\\xc1\\xcd\\xfc\\xc7\\x3d\\x77\\xe9\\x79\\x35\\xe9\\x30\\xf5\\x8d\\xb9\\x6d\\x66\\x8f\\x02\\x00\\x39\\x15\\xe4\\x01\\xe5\\xac\\xf8\\xbc\\x36\\x4d\\x07\\xca\\x66\\x13\\xb1\\x45\\x13\\x81\\x2e\\x62\\x66\\x07\\x98\\x8c\\x26\\xa5\\x7a\\xe8\\xc4\\x6b\\xc6\\x58\\x16\\x12\\x3b\\x58\\xf4\\xeb\\x50\\x11\\x01\\x67\\xd1\\xe0\\xbf\\x8e\\x5f\\x3b\\x9d\\xee\\xc7\\x51\\xec\\x78\\xf1\\x9d\\x7d\\x87\\x9e\\x17\\x96\\xe1\\x1d\\xa7\\x5e\\xbd\\x7f\\xed\\xec\\xfb\\x42\\xf8\\x63\\x7a\\xfe\\x13\\x77\\xdd\\xa3\\xe7\\x9c\\x83\\xf2\\x60\\x7d\\x81\\x15\\xbc\\x26\\xd6\\x0c\\xf1\\xba\\x84\\x08\\x84\\xe0\\x5e\\xa2\\x70\\x1f\\x4a\\xbb\\x51\\xc5\\x17\\xa9\\x78\\xa8\\x8a\\xfb\\xa8\\xb8\\x46\\xc5\\xc5\\x2a\\x3e\\xa1\\xe2\\x6f\\x55\\xfc\\x91\\x8a\\x5f\\x55\\xf1\\xdd\\x2a\\x86\\x37\\x5c\\xa3\\xe2\\x49\\xc9\\xdf\\xca\\x2a\\xbe\\x34\\xf5\\xbb\\x99\\xfc\\x17\\xc3\\x93\\xbf\\x73\\xa9\\x58\\x54\\xf1\\x71\\x15\\x7f\\xcf\\x3f\\xbf\\x4b\\xc5\\x1b\\x54\\xbc\\x5a\\xc5\\x37\\xa4\\xbd\\x13\\x96\\xa9\\x52\\x71\\xa1\\x8a\\x3d\\xfc\\x59\\xfa\\x62\\x1f\\xa8\\xf8\\x65\\x15\\xef\\x54\\xf1\\x26\\xfe\\xd8\\xd4\\xfb\\x01\\xac\\xbe\\xfc\\xe1\\xa9\\xf7\\x77\\x39\\x91\\x7c\\x7a\\xfa\\x07\\x74\\x24\\x70\\xa3\\x8a\\x63\\x2a\\xee\\xcc\\xdf\\xfe\\x9b\\x8a\\xff\\x99\\x7c\\xf0\\x9d\\x2a\\xbe\\x4e\\xc5\\xc2\\x55\\x6a\\xac\\x18\\x8f\\x57\\x31\\xec\\x74\\xbe\\x8a\\x1d\\x2a\\x86\\x38\\xfe\\x1d\\x15\\x3f\\xaf\\xe2\\xab\\x54\\xf6\\x7a\\x8c\\xbf\\x0e\\x2f\\x9a\\x32\\x3d\\x8f\\x71\\x2d\\xde\\xc7\\xb8\\x36\\xce\\x49\\xa6\\x07\\x33\\xbd\\x95\\xaf\\xd2\\xfa\\x9d\\xfa\\xef\\x50\\xea\\x68\\x20\\x79\\x11\\x6b\\x34\\x7f\\xe5\\x69\\xfc\\xf4\\x7b\\x9e\\xbe\\x7f\\xfa\\x06\\x32\\x9f\\xd9\\xfd\\x45\\x20\\xbf\\x43\\xb9\\x5f\\x3a\\x9b\\xef\\xe7\\x00\\xd4\\x5e\\x5c\\x23\\xaa\\x60\\x73\\x3b\\xc7\\xfc\\x36\\x8f\\x03\\x36\\x92\\x80\\x7d\\xcb\\x0a\\x3a\\x60\\x47\\x91\\x62\\x0d\\xa8\\x26\\x2b\\xcb\\x57\\xa9\\x74\\x19\\x09\\xba\\x99\\xfe\\x88\\x3b\\x9c\\x5f\\xad\\xdf\\xc1\\xb1\\x1e\\x42\\x10\\x84\\xeb\\x41\\x40\\x24\\x3c\\x40\\x18\\x87\\x73\\xb6\\xde\\x94\\x78\\x96\\xf4\\xbb\\x70\\x5a\\x7b\\xf7\\xc3\\x79\\xf3\\xaf\\xfa\\xe0\\xcd\\xc4\\x10\\xdc\\xe7\\x85\\x49\\x0b\\x70\\x50\\x22\\xf4\\x38\\x31\\x8b\\x75\\x4f\\xcc\\x7e\\x62\\xb7\\x6e\\x7b\\x9b\\x50\\x7b\\xe9\\x10\\x87\\x23\\x1b\\xe5\\x83\\x04\\xe6\\x2b\\x81\\xbc\\x50\\x28\\xdb\\x41\\xf2\\xb3\\x6d\\xc4\\x93\\x1d\\xf0\\x90\\x82\\x70\\x7e\\x4e\\x30\\x3b\\x27\\x3b\\xc7\\x04\\x2a\\x46\\x31\\xb1\\x89\\xb5\\x95\\x87\\x38\\x54\\x87\\x52\\x1d\\x8e\\xa2\\x2d\\x27\\x06\\xec\\x60\\xee\\x2c\\xb0\\x61\\xbd\\x0a\\x39\\x82\\x17\\x9e\\x19\\x48\\xfa\\xc1\\x61\\xf8\\x73\\x06\\x50\\xf1\\xd4\\x4f\\x84\\x15\\x1f\\x71\\xba\\xf5\\x6f\\xf6\\x8b\\xf7\\x4a\\x15\\xa8\\x18\\x9d\\x1b\\x0b\\xfb\\x9c\\x8a\\x2d\\x2b\\x17\\x28\\x57\\x50\\xe0\\xc9\\xca\\x42\\xa5\\x25\\x0e\\x25\\xaf\\x18\\x81\\xd1\\x28\\xce\\x13\\xad\\xb9\\x29\\x0a\\xa6\\x26\\xaf\\xa7\\x85\\x57\\x49\\x75\\x71\\x66\\x42\\x2a\\x49\\x90\\x9d\\xfc\\xd7\\x25\\xe1\\xfe\\x0c\\xe2\\x2d\\x37\\xa7\\x43\\xfc\\xd3\\xc2\\x2b\\x3f\\x3e\\x98\\x18\\xc2\\x7e\\xf1\\xe0\\xca\\xc4\\x56\\xe1\\xb1\\x8d\\xc3\\xa7\\xa4\\xc0\\xee\\x7c\\xdf\\x15\\x7f\\x56\\xcb\\xb5\\x6b\\x67\\xaf\\xdb\\x84\\xfd\\x1b\\x9b\\x2e\\x93\\x18\\x0f\\x98\\x40\\xaf\\x4c\\xe1\\xf5\\x01\\xf1\\xb6\\xf5\\x02\\xf0\\x7b\\xf0\\x10\\xc9\\x2e\\xfe\\xf3\\x18\\x3d\\xf7\\x81\\xc7\\x94\\xdd\\x20\\xee\\x6e\\x8a\\x95\\x7a\\x35\\xa7\\xc3\\xe3\\x09\\x38\\x89\\x19\\x62\\xca\\x00\\xc9\\xc9\\x16\\x45\\x97\\xc6\\x9a\\x66\\xb8\\x3c\\x4e\\x17\\xc4\\xf9\\x2e\\x4d\\x8f\\x2b\\x5b\\x95\\x9c\\x44\\xa3\\x6d\\xc6\\xfe\\x44\\xdb\\xc6\\x95\\xe5\\xb8\\xba\\x96\\x5d\\xa4\\x4b\\xba\\x75\\x4c\\xc5\\x92\\xf1\\x4b\\x2e\\x9e\\x3d\\xe1\\x5f\\xd4\\x4b\\xaa\\xe9\\x91\\x0d\\x2b\\xa7\\x1d\\xd2\\xa3\\xc8\\xa1\\x83\\x47\\x35\\x3e\\xf0\\xd9\\x5b\\x7b\\xfe\\xf0\\x3f\\x70\\xcf\\xc4\\x75\\xc3\\xf4\\x73\\xd2\\xe6\\x9f\\xc9\\x6e\\xb1\\x01\\x45\\x40\\x63\\x16\\x45\\x10\\xb2\\x05\\xb2\\x55\\xa7\\xcb\\x95\\x27\\xcb\\x6a\\x80\\x14\\x15\\xda\\x9c\\x79\\x11\\x91\\x78\\xbd\\xda\\x90\\xb8\\xd7\\x41\\xc2\\x43\\x32\\x1a\\x78\\xf8\\xdb\\xce\\xff\\x02\\x2e\\xe2\\x5d\\xff\\xb8\\x05\\x67\\x20\\x82\\x77\\x92\\x16\\xf1\\x32\\xbb\\xcd\\x26\\x13\\xec\\xce\\x39\\xbc\\xe3\\xfd\\x0f\\x57\\x2e\\x58\\xb3\\x6c\\xd3\\xdd\\xd9\\x7f\\xf1\\x1f\\x56\\xcd\\x5f\\x7d\\x0b\\xfc\\x80\\x9d\\xab\\xee\\xd9\\x70\\xe7\\x94\\x9b\\xcd\\x13\\xbb\\x0f\\xbe\\xfe\\xfa\\x2c\\xf6\\xc3\\xe5\\x2b\\xcd\\x13\\x7b\\x0c\\xe0\\xbe\\x07\\x46\\x2e\\x90\\xc7\\x37\\xc1\\x5e\\x97\\xa3\\xfe\\xb1\\x42\\x3b\\xca\\x25\\x41\\x77\\xb0\\xd8\\x2d\\x17\\xcb\\x1d\\xda\\x83\\x63\\x95\\x6b\\xb7\\xfb\\x8a\\x14\\x45\\xf4\\x39\\x0a\\xcc\\xa2\\xb9\\x31\\x5e\\x2a\\xb6\\x9c\\xa0\\x19\\xbd\\xff\\x32\\xe9\\xaa\\x0f\\xa2\\xe4\\x93\\xfb\\x0d\\xaa\\xf6\\xc4\\x25\\x15\\x42\\x72\\x9a\\x80\\x1d\\x6b\\x58\\x4f\\xa8\\xaf\\xf5\\xf3\\x5c\\x7a\\x61\\x5a\\x59\\xc7\\xbb\\x47\\xdd\\xbd\\x20\\x56\\x38\\xb6\\x02\\xcc\\x6d\\xcd\\xb4\\xda\\xf6\\xd9\\x5f\\xee\\xdd\\xfb\\x65\\x4e\\x87\\xea\\x69\\x35\\xc1\\x58\\x55\\xc5\\xb8\\x48\\x6c\\xfe\\x3d\\x23\\xef\\xee\\xf4\\x76\\xaf\\xf3\\x87\\x9d\\xf7\\x49\\x4e\\xbb\\x8a\\xc8\\xc0\\x65\\xe7\\x34\\x8c\\xa8\\xba\\xe3\\x99\\xdd\\xab\\xab\\x46\\x36\\xc6\\x96\\x0d\\x8c\\x54\\xb4\\xcb\\xf9\\xe4\\xbc\\xa1\\x83\\x51\\xea\\xdc\\x83\\xf5\\x11\\x90\\x50\\x5e\\xcc\\xce\\x46\\x99\\xc8\\x8a\\xe8\\x95\\xc0\\x39\\x90\\x0c\\x7b\\xd9\\x72\\x1f\\xcd\\x95\\x14\\x2b\\xfc\\x67\\x45\\x58\\xfb\\xd9\\x64\\x8a\\x74\\xde\\x14\\x06\\x27\\x9f\\xc7\\xfb\\xe9\\xb1\\x93\\x00\\xa7\\x80\\x25\\x19\\xd4\\xb6\\x49\\x90\\xbd\\xfa\\x48\\x4a\\x94\\xba\\x07\\xae\\x4b\\xbb\\x8a\\x60\\x5f\\x62\\xdf\\xe4\\x1c\\x92\\x53\\xaf\\xea\\x63\\x2f\\xf4\\xda\\x67\\xc3\\xbf\\x70\\xc9\\x52\\x17\\xfe\\xfc\\xc5\\x10\\x1f\\x2f\\xe3\\xf5\\x67\\x3d\\x62\\x79\\xc8\\x62\\xf1\\x59\\xdd\\x0e\\x51\\x71\\x58\\x15\\x92\\x15\\x34\\xdb\\x7c\\x36\\x76\\x30\\xe0\\xb3\\xfa\\x25\\xa7\\xd1\\x8e\\x38\\xad\\x48\\xbc\\xd5\\xf0\\x97\\x1e\\x02\\x6f\\xa6\\x26\\x4b\\xf0\\x77\\x61\\xaa\\x53\\x72\\x98\\x2c\\x1d\\x77\\x71\\x07\\xec\\x3e\\x41\\x4f\\x80\\xc3\\x73\\xe2\\x2f\\xec\\xbe\\x7c\\x29\\xf8\\x34\\x0a\\xae\\x5f\\x30\\x03\\xab\\xf4\\x48\\xf3\\xe7\\x02\\xdd\\x87\\xcf\\x11\\xbe\\xf9\\x0b\\x07\\xe9\\x9f\\x0f\\xac\\x10\\x84\\xaa\\x64\\x7d\\x21\\xaf\\x49\\xf2\\xa0\\xca\\x58\\x00\\x79\\x04\\x97\\xc5\\xe5\\x21\\x3e\\x2f\\xf2\\xba\\x80\\x96\\x2e\\x08\\x14\\x1b\\xe2\\x26\\x5f\\xfa\\x18\\xf5\\x96\\x56\\x18\\x6d\\x3b\\x2d\\x92\\x2b\\xce\\x50\\x36\\xd8\\xb6\\xec\\xe8\\x55\\xf0\\xbf\\x72\\xf1\\x51\\xf2\\xb2\\xf4\\x06\\xcb\\x89\\x46\\xd1\\x98\\xd3\\x62\\x16\\x91\\x42\\x44\\x45\\xb4\\xdb\\x04\\xb3\\x59\\x42\\xe2\\x5e\\xdc\\x0e\\xf6\\x48\\xc2\\x45\\xa9\\x8a\\xf9\\xb4\\x93\\x12\\xe6\\x60\\x94\\x84\\x95\\x08\\x8e\\xaa\\x2c\\x35\\x49\\x10\\xe8\\x30\\xba\\x7a\\xd8\\x6b\\x78\\xcc\\xcf\\x78\\x34\\xad\\x28\\x1f\\x87\\x3d\\x37\\xe3\\xa3\\x94\\x92\\xaf\\x4e\\xe7\\x91\\x7e\\xb7\\xd1\\xaf\\xf1\\x83\\xdc\\xff\\x2e\\xc4\\x3f\\x4a\\xa3\\xa5\\x37\\x21\\x2e\\xf6\\xa0\\xd1\\xb1\\x22\\x8b\\x62\\x77\\x0b\\x1e\\xd1\\x83\\x54\\x9b\\x0d\\x31\\x16\\xb2\\x03\\xe2\\x26\\xa7\\x53\\x12\\xdc\\x56\\xd5\\xa6\\x62\\xb7\\xea\\x56\\xa5\\x7d\\x00\\x81\\x08\\xb0\\xd8\\x80\\x58\\xed\\x58\\xe2\\x54\\x4f\\x66\\x09\\xc6\\xa4\\x94\\x4b\\xc6\\xf1\\xb1\\x3e\\x60\\x0c\\x80\\xab\\x66\\xc0\\x19\\xe7\\x67\\xce\\xb0\\x17\\x47\\x14\\x12\\x15\\xee\\xa3\\x6f\\xcd\\x7a\\x07\\x7f\\x46\\x62\\x34\\xc2\\x5d\\xb1\\xbf\\x12\\x3d\\xdb\\xf5\\x5a\\xf2\\x33\\xfe\\x91\\x41\\xba\\xfe\\xe4\\xfd\\xf4\\xdf\\xeb\\x49\\xbf\\x3b\\xe8\\x77\\xdc\\x4e\\xd5\\x02\\x7d\\x96\\x03\\x7d\\x6c\\xa0\\xe1\\x72\\x50\\xf7\\x98\\xdf\\x6e\\x32\\xf9\\x91\\x3b\\x14\\x12\\x91\\x98\\x97\\x9b\\x65\\xb1\\xb9\\xb1\\xdb\\x2d\\xba\\xa4\\xbd\\x00\\x5f\\x88\\x43\\x68\\xd0\\x69\\x4c\\x34\\x9a\\xe9\\x90\\x19\\x23\\xe1\\x9d\\x2c\\x6c\\x65\\xb5\\xbe\\x58\\x3f\\x6c\\x64\\x27\\xb5\\xac\\xb5\\x68\\x15\\x59\\xfe\\xf2\\x16\\x1a\\xc6\\xbb\\xf0\\x25\\x23\\xc7\\xcc\\x9c\\x4b\\x9b\\x9b\\x86\\x7c\\xf7\\xfd\\xb0\\xf3\\xbb\\xbc\\xd0\\x8c\\xe5\\x3d\\x44\\x5a\\x76\\x27\\xf9\\xea\\xaf\\x61\\x33\\xbd\\xf6\\x79\\x78\\x40\\x9f\\x2e\\x27\\xba\\xd3\\x07\\x56\\xd2\\x6f\\x00\\x3e\\x04\\xf0\\x6d\\x00\\xf8\\x5c\\x28\\x08\\x31\\xec\\xb0\\x58\\x24\\xcb\\x6a\\x75\\x3b\\xed\\x28\\x2f\\xcf\\xef\\x37\\x01\\x8c\\x0e\\xd9\\x51\\x28\\x47\\x7c\\x4e\\x59\\xce\\x83\\xb8\\x00\\x83\\x6e\\xc9\\x55\\x19\\xac\\xfe\\x56\\xb0\\x72\\x18\\x71\\x0b\\xf1\\x8c\\x2b\\xaf\\xaa\\x16\\xb8\\xf9\\x29\\x33\\xc0\\xae\\x80\\x25\\xf5\\x29\\x9d\\x4b\\x98\\xe9\\x22\\x49\\x1c\\x74\\xe0\\x6b\\x6b\\x19\\xf8\\xd5\\x37\\x0e\\xaa\\x3a\\x78\\x1d\\x7d\\x1e\\xe0\\xee\\xa2\\x23\\xc1\\xc0\\xc7\\xdb\\xd7\\xe1\\xdb\\xff\\x1a\\xd3\\x75\\x5d\\xb7\\x81\\x57\\xf9\\xe9\\x0f\\x42\\x27\\x86\\x85\\x5e\\x77\\xd5\\x1e\\x70\\x58\\x02\\x38\\xb0\\xb3\\xe4\\x22\\x3d\\x0b\\x05\\x89\\x6e\\x97\\x8d\\x13\\xd5\\x9e\\x02\\x34\\x5d\\xea\\x3d\\x02\\x37\\x9d\\xa2\\xa2\\x5f\\x17\\x03\\x00\\x4b\\x4e\\x7f\\x44\\xe7\\xe3\\x51\\xc7\\xb1\\xf2\\xfa\\x43\\x77\\xde\\xb2\\xf9\\xba\\x35\\xe4\\xeb\\x23\\xf4\\x57\\xf2\\x15\\xfd\\x71\\xfd\\xa3\\x89\\x09\\xbb\\x99\\x8c\\x15\\xc2\\x3a\\x9d\\x60\\x1d\\x36\\xe3\\xc2\\xad\\x10\\x33\\x3b\\xa2\\x35\\xb3\\x23\\x5a\\x1b\\xf8\\xb5\\x92\\x88\\xd9\\x72\\x6a\\x92\\xbf\\xa2\\x8c\\x2c\\xe9\\x3b\\xc8\\x33\\x20\\x53\\xac\\x54\\x28\\xfc\\x9e\\xf8\\x58\\x40\\x14\\x09\\xe7\\xc2\\x53\\xbf\\x7a\\xe8\\xaf\\x87\\xe8\\xa9\\x87\\x5a\\xaf\\x21\\x0b\\x82\\x05\\x36\\x81\\x1d\\x03\\x8b\\x7c\\x0d\\x13\\xa7\\x3d\\x3e\\xd3\\x1a\\x49\\x07\\xab\\x3a\\xcc\\x52\\xcb\\xd8\\x97\\xb3\\x50\\x38\\x17\\x9e\\x8f\\x60\\x9d\\xdf\\xf1\\xd1\\x87\\xb0\\x04\\x8b\\x9c\\xce\\x63\\xf3\\xbe\\xf0\\x61\\xf2\\xae\\xf4\\x09\\x78\\x4e\\xc0\\x8f\\x1e\\xb7\\xdb\\x94\\x65\\x27\\x26\\xbb\\x64\\x22\\xb9\\x39\\x1e\\x8f\\x93\\xf5\\xbf\\xf0\\x3b\\xf7\\xe2\\x62\\x9e\\x46\\x52\\xde\\x22\\xb7\\x6d\\x87\\xf2\\x80\\x59\\x60\\x99\\xbf\\x4e\\xde\\xd5\\x80\\xcd\\xde\\xc9\\x77\\x2b\\xc6\\x84\\x16\\x9f\\xe0\\x38\\xff\\x8e\\xb2\\xa3\\x78\\x43\\xff\\x7f\\x2f\\x3f\\x7a\\x3a\\xf1\\x33\\x1e\\x32\\x7a\\x77\\xce\\xc2\\x91\\x2b\\xee\\xba\\x5b\\x58\\x58\\x51\\x7c\\xd3\\x5a\\x7a\\x47\\xe3\\x18\\x6c\\x3b\\xf1\\x6f\\x2c\\xd3\\x44\\xdd\\x80\\x86\\x6d\\x8f\\x3e\\xf2\\x77\\xae\\xc7\\x8a\\x00\\xff\\x0b\\x39\\xfe\\x75\\x31\\x2f\\x28\\x77\\x0b\\x1b\\x70\\xc5\\x06\\x89\\x08\\x3a\\xf7\\xa9\\x7c\\x53\\x51\\x26\\xf7\\xb5\\x39\\xf4\\xe2\\x1d\\x2b\\x79\\xbf\\x7c\\xe1\\x56\\x3a\\xf6\\xb5\\xd7\\xf0\\x86\\xd7\\xf0\\x51\\xbc\\x99\\x0e\\x87\\xfd\\x9c\\x85\\x57\\x9c\\xce\\xe3\\x6b\\x0d\\x85\\xd7\\x72\\x60\\x2d\\x96\\xaf\\x82\\x58\\x1a\\x15\\xde\\xc3\\x9e\\xcd\\x9e\\xdc\\x92\\xaf\\x02\\xcf\\x18\\x7a\\x90\\x6d\\x11\\xfb\\x10\\x46\\x6e\\xfc\\x99\\xf0\\x30\\x7c\\xc6\\x81\\xca\\x63\\x76\\xd5\\x2e\\x12\\x62\\xd5\\xcf\\x86\\x2d\\x56\\x06\\x18\\xcb\\xcb\\x2c\\x37\\xb6\\x26\\xfd\\x1a\\x35\\xd5\\x80\\x35\\x79\\x20\\x7c\\xd1\\xdd\\xeb\\x83\\x07\\x02\\xd3\\xbb\\xf5\\x78\\x0e\\x2f\\x7b\\x1c\\x7f\\xb6\\xfc\\x8e\\xbc\\x7b\\x9a\\x06\\x0b\\xea\\xdf\\x12\\xf1\\xfb\\x9f\\x60\\xeb\\x54\\xc1\\x92\\x4f\\x73\\x3a\\x9c\\x13\\x0b\\x62\\xb3\\xa2\\x2a\\x2c\\xb1\\x50\\x05\\x89\\x84\\x90\\xce\\xa6\\x28\\x12\\xc6\\xa2\\xa9\\x2d\\x2d\\xd8\\x26\\xb1\\x0b\\xbe\\x3a\\x9e\\x00\\x50\\x95\\x0c\\xe3\\x40\\xbd\\x72\\x8a\\x30\\x45\\x2b\\x1c\\xa4\\x8f\\xce\\x06\\x92\\x6c\\x3b\\x4a\\x27\\x03\\xc2\\x47\\xf1\\x6b\\x63\\xe9\\xdd\\x40\\x97\\x1e\\xf8\\x45\\x3a\\x3a\\xc1\\xfa\\x47\\x94\\xe1\\xc3\\xc2\\x71\\x69\\x0d\\xd8\\xe4\\x10\\xcb\\x75\\x06\\x8d\\x2e\\xf3\\xf4\\x32\\x86\\xd8\\xa1\\x94\\x3d\\x66\\x94\\x09\\x7b\\xcb\\x0e\\x0a\\x02\\xb0\\xd3\\xfe\\xd3\\x9f\\xdf\\xc7\\x69\\xda\\x0e\\xe0\\xfe\\x13\\xe0\\x0e\\x00\\x6f\\x79\\x7c\\x08\\x5c\\x6f\\x36\\x22\\x2d\\xe0\\x06\\xf3\\xe8\\x76\\x83\\xab\\x67\\xdf\\x8d\\xdb\\xed\\x14\\x55\\xd5\\x07\\xb1\\x28\\xb3\\x09\\x40\\x1e\\xdd\\x48\\xb6\\xe6\\x2d\\xd6\\xd8\\xd3\\x82\\x23\\x16\\xec\\x37\\x4e\\x51\\xf3\\x70\\x4f\\xcc\\x6c\\x53\\x5f\\x19\\xf7\\x7b\\xf2\\x96\\x27\\xfb\\x0b\\xf2\\x76\\x6c\\x7b\\x5c\\x0b\\xbb\\xf2\\x1f\\x83\\x37\\x1e\\x15\\x46\\xce\\x3c\\xdf\\x4f\\xff\\x4c\\x7c\\x24\\xb4\\xc3\\xa6\\xd0\\xa5\\xc3\\x12\\x9b\\xc8\\x57\\x89\\x0f\\x6b\\x96\\xf6\\x9d\\x2e\\x54\\x1a\\xfb\\x5d\\x00\\xb0\\x0d\\xe5\\xba\\xb8\\x2e\\x66\\x53\\x40\\xae\\x2c\\x36\\x51\\xb2\\x49\\x9a\\x9d\\xa5\\x2e\\x14\\x81\\x91\\x6a\\x07\\x6f\\x92\\xe1\\x3b\\x53\\x4a\\xc0\\x7a\\xf6\\x6c\\xc5\\x5b\\xaa\\x7e\\xa8\\x1b\\xc5\\x60\\xb1\\x81\\xbb\\x2e\\xa3\\xe3\\xac\\xdb\\xbf\\xc3\\x8f\\x58\\xb7\\x03\\x04\\x89\\xf9\\xb5\\x89\\x5d\\xc0\\x28\\x89\\x99\\x83\\x85\\x5e\\xc6\\x9a\\x11\\x58\\x73\\x58\\x72\\x4d\\x9b\\x20\\xab\\xe0\\x8d\\xc0\\xf3\\x35\\x3b\\xe6\\x6b\\xaa\\xb0\\x8e\\x95\\xaf\\x29\\x9d\\x7d\\x4d\\x46\\x69\\x8f\\x3e\\x53\\x94\\xf5\\x0a\\xdd\\x6e\\xc5\\x8f\\x7c\\xb7\\xdd\\x4a\\xc7\\x31\\xae\\x4c\\x3c\\x37\\x78\\x26\\x21\\xa7\\xf3\\x84\\x01\\xb5\\xf3\\x13\\x44\\xd7\\x87\\x95\\xf8\\x73\\x72\\x42\\x3a\\xcc\\xf3\\xe5\\x41\\x1f\\xba\\x64\\x2b\\xe2\\xdd\\xe9\\x54\\x26\\xd4\\x5e\\x44\\x0c\\xa1\\xce\\xd0\\x87\\x88\\x4b\\x30\\x62\\x13\\xc2\\xd2\\x6a\\x8d\\xc8\\x09\\x7a\\xfa\\xab\\x6f\\x9a\\x51\\xf3\\xb7\\xdf\\x60\\xfc\\xe6\\x9d\\x37\\x2c\\xbd\\xf3\\xae\\xeb\\x97\\xad\\x26\\xff\\xfc\\x99\\x1e\\xc5\\x9e\\x5f\\x7f\\xc3\\x16\\xfa\\xc7\\x2f\\x7f\\x7b\\x7a\\xc7\\xc3\\x1b\\x9f\\x7d\\x06\\xd6\\xed\\x0b\\x46\\x31\\x2a\\x7d\\x01\\x31\\x4e\\x27\\x34\\x3c\\x56\\x88\\x2c\\x79\\x2e\\x51\\x23\\x11\\x55\\xd3\\x7c\\x91\\x0e\\xd9\\x25\\x3e\\x5f\\x76\\xb4\\xaa\\xb8\\xd8\\xea\\xce\\xcb\\x73\\xe5\\xe7\\x5b\\xdb\\xc9\\x72\\xd0\\xca\\x20\\xaa\\x44\\x41\\x1d\\xa2\\xa4\\x87\\xca\\xd0\\x3e\\x4b\\xaf\\x25\\x9c\\x84\\x0c\\x3c\\xeb\\xea\\xf4\\x6b\\xa4\\xa4\\xcf\\xad\\x1f\\xa1\\xb8\\x0d\\x1c\\xe0\\x8d\\xf8\\xae\\xba\\x6e\\x4d\\xfd\\x07\\x36\\xce\\xb9\\xeb\\xb1\\xc6\\x21\\xc3\\x2e\\x79\\x69\\xc7\\xb6\\x03\\x17\\x0d\\x6d\\x1a\\xfc\\xd8\\x6d\\xff\\x18\\x7b\\xe1\\xd0\\x91\\x4f\\x8f\\x18\\x2e\\x15\\xd5\\x75\\xee\\xd9\\xeb\\xdc\\xc1\\x2b\\x97\\xad\\x9a\\x3f\\xf0\\xda\\x90\\xe0\\x9a\\x3b\\xf9\\xa6\\x07\\x1e\\x58\\x3e\\x61\\x91\\x8b\\x04\\xa7\\xf7\\xbd\\x6c\\x61\\x62\\x62\\x63\\xe3\\xb0\\xc1\\x4f\\x0c\\xd5\\x69\\xdb\\x09\\x88\\xde\\x17\\xf6\\x93\\xf5\\xe1\\xa9\\x8c\\x69\\x9a\\x24\\xb1\\xfc\\x20\\xd9\\xe3\\x16\\x35\\x4d\\x91\\x99\\xb7\\x63\\x47\\x8a\\xee\\xed\\x64\\x38\\x3b\\x86\\x1d\\x04\\x63\\x13\\x61\\x07\\x4e\\x4a\\x67\\xc3\\xec\\xf4\\xdd\\xfb\\xb7\\x5f\\x0e\\xe2\\xad\\x4f\\xec\\x79\\x7d\\xc7\\xdb\\x1f\\xc6\\x87\\x8a\\xb7\\xdf\\xb1\\x8b\\x6e\\x20\\x5f\\x6d\\x5c\\xfb\\x00\\xdd\\x3f\\x8a\\xef\\xe5\\x51\\xf2\\x37\\xce\\x3f\\xe0\\x4e\\xc6\\xfc\\x60\\x09\\xb0\\xcb\\xa6\\xba\\x40\\x29\\xda\\x41\\x1b\\xf8\\x7d\\x82\\xcb\\x65\\x78\\x59\\xce\\x33\\x7b\\x59\\xce\\xe4\\x49\\x13\\xeb\\xf0\\x14\\xd1\\x57\\x67\\x64\\x63\\x23\\xc2\\x78\\xf4\\x28\\xbc\\xf0\\xc5\\x8f\\x07\\xf1\\x97\\x4f\\xee\\xbe\\xea\\x62\\x4c\\x4e\\x6e\\xa3\\xe0\\x2f\\xc4\\x9b\\x40\\x2d\\xcc\\xa1\\xcb\\xc8\\x57\\x6b\\x6e\\x9d\\x7c\\x4f\\x16\\x1d\\x27\\x3c\\x75\\x2b\\xfd\\x74\\x28\\xe3\\xe7\\xb0\\xc1\\xcf\\xcc\\xbf\\x06\\x5d\\xc2\\x5a\\x4f\\x99\\x54\\x01\\x84\\x7a\\x07\\x12\\x45\\x49\\x97\\x69\\x67\\xb4\\x67\\x5a\\x62\\xaf\\x3e\\xd8\\x49\\xc8\\x3b\\x48\\xdf\\x20\\x9d\\xa5\\x76\\xa7\\x9f\\x27\\xb1\\x87\\x1e\\xe2\\xb2\\x11\\x02\\x7e\\x19\\x0f\\xcf\\xe2\\x56\\x5b\\x26\\x56\\x4d\\x23\\x60\\xb5\\xc5\\xa4\\x19\\xd5\\xf5\\x68\\x3a\\x97\\x16\\x70\\xa1\\xd3\\xf7\\x9f\\x7d\\x23\\xe3\\x1d\\xaf\\xbe\\x77\\xf0\\xea\\x09\\x53\\x67\\x1c\\xfc\\x0a\\x7f\\x76\\x60\\xaf\\x30\\x35\\xf1\\xb7\\x05\\x33\\x16\\xcf\\x12\\x86\\x27\\xd6\\xed\\x7b\\x87\\xd7\\x5d\\x9c\\xc2\\x47\\xa5\\x2c\\x58\\x23\\x0b\\xbc\\x53\\xb3\\xdf\\x96\\x65\\xce\\xca\\x36\\x87\\x82\\xe6\\xbd\\x5c\\xe2\\x1c\\xb8\\x68\\xa7\\xdf\\x66\\xc3\\xea\\x6e\\xae\\x41\\xb9\\x2e\\xea\\xd9\\xe2\\xc6\\xb0\\x2b\\x72\\x02\\x0c\\xa5\\xb1\\xf6\\xc2\\x51\\x37\\x9b\\x7a\\x14\\x75\\xe7\\x12\\x6f\\xad\\x3b\\x2a\\x46\\x7e\\x59\\xa2\\xe6\\x39\\xb2\\x96\\xfc\\x72\\xe2\\x8d\\x6b\\xab\\x48\\x87\\x05\\xff\\x9c\\xa3\\x38\\xed\\xe6\\xea\\x99\\x6f\\x80\\x1e\\xe8\\x51\\xbc\\xc9\\x34\\xf4\\xba\\xc4\\x8b\\x20\\x9d\\x1f\\xff\\xe1\\xfa\\x52\\x28\\x4f\\xfc\\x5a\\x30\\xa2\\xb1\\x9b\\xf4\\x87\\x50\\xc6\\x79\\xc8\\x03\\xfa\\xf5\\xa4\\xf8\\x07\\x97\\x93\\xf3\\x63\\xa1\\x90\\xaf\\x50\\x29\\x29\\xf1\\xd9\\xb5\\x72\\x42\\x34\\x1f\\x89\\x56\\x15\\x16\\x15\\xb9\\x4a\\x65\\xd9\\x6e\\x71\\xed\\xc6\\xa5\\x4f\\x07\\x43\\x15\\x15\\x61\\x43\\xfb\\x82\\x42\\x67\\xea\\x32\\x19\\xc9\\xb5\\xe9\\x87\\xec\\xe6\\x52\\xd0\\x13\\x67\\xde\\xb5\\xea\\x7d\\xa5\\xbd\\xba\\x93\\x1f\\x91\\xdd\\x10\\xee\\x19\\x42\\x74\\x62\\xca\\xb5\\xb7\\xdf\\xfe\\x60\\x97\\xce\\x35\\x9d\\xe4\\x03\\xae\\x87\\x6e\\xba\\x69\\xad\\xaf\\xd8\\xe3\\x73\\x86\\x42\\x79\\x9e\\x7e\\xe7\\x2a\\x62\\x63\\xf7\\x8b\\xe2\\x3d\\x3b\\x96\\xf6\\x1d\\x8d\\x0f\\xcf\\x9e\\x36\\x73\\x01\\x21\\x25\\x4d\\xbd\\xaa\\xea\\xcd\\x57\\x5d\\xbd\\xf2\\x46\\x7a\\xb4\\xa6\\xab\\x74\\x05\\xf8\\xf9\\xa4\\x7f\\xbf\\x7b\\xf0\\x55\\x02\\xa9\\xeb\\x56\\x53\\x3d\\xad\\x01\\xb5\\xc1\\x6f\\x48\\x2c\\x9f\\x21\\x16\\xf2\\x16\\x96\\x28\\x8a\\xd7\\x4b\\x34\\xc0\\xaf\\xa8\\xb0\\x30\\x0c\\x18\\xbb\\xc2\\x15\\xa1\\x10\\x0a\\x86\\x01\\xc9\\xed\\x1c\\x57\\xa6\\x04\\x18\\x7a\\x3a\\xf9\\x5b\\xe1\\x98\\xe6\\x75\\x64\\x64\\x72\\xf8\\xf5\\x78\\x5b\\x1f\\xa1\\x52\\xdd\\x83\\xf0\\xce\\x4a\\x35\\xa4\\x36\\x35\\x30\\x50\\x08\\x70\\x24\\x3b\\x77\\xf9\\x7f\\x90\\x14\\xff\\x30\\x90\\x1c\\x7c\\xae\\x81\\x24\\xf6\\xa5\\x21\\x49\\x6f\\x4b\\x43\\x92\\xc9\\xe5\\x61\\xe1\\x67\\xc0\\x31\\x00\\x5e\\xf3\\xb9\\x31\\x37\\xb2\\x05\\x83\\x4a\\xae\\x5b\\x71\\x17\\x46\\xc0\\xeb\\x67\\x43\\x41\\x09\\xe8\\xf7\\x12\\x64\\x06\\xc6\\xca\\x46\\x3e\\x5c\\x8a\\xf2\\x81\\xdb\\x74\\xbd\\xdb\\xb3\\xa7\\xab\\x75\\x18\\xae\\xb7\\xf5\\xa9\\xa9\\x8d\\xca\\xb0\\x59\\xfe\\x08\\xf0\\x5c\\x24\\x55\\xfc\\xe9\\xe7\\xca\\x8c\\xcf\\x85\\x13\\xca\\x4d\\xe2\\xd3\\x92\\xfc\\x77\\xa2\\x90\\x1e\\x4f\\x2e\\xba\\x65\\xf5\\x4d\\x1b\\xba\\x91\\xc6\\xf3\\xef\\xbd\\x67\\xe0\\x05\\xe2\\x15\\xce\\xb1\\x6a\\xb7\\x99\\x74\\x74\\xf6\\xcd\\xca\\xa8\\xac\\x15\\x6f\\x3f\\xbb\\xe7\\xfd\\x65\\xb4\\x79\\xfe\\x52\\x7a\\x92\\x26\\x6e\\x66\\x71\\x48\\x18\\x1f\\x16\\x6f\\xe7\\x7b\\x52\\x85\\xea\\xd0\\xec\\x58\\x65\\x40\\xb0\\xd4\\xb0\\x1c\\x1d\\x96\\x9a\\x53\\x6e\\xb5\\xe6\\xd5\\xd4\\xe6\\x76\\x54\\x72\\x6b\\x14\\xd2\\xb5\\x5e\\x10\\xb2\\x02\\x81\\xac\\xda\\x5c\\x08\\x4f\\xca\\xcb\\xb3\\x0a\\x4b\\x0a\\x0a\\x58\\xcd\\x7b\\xe9\\x2e\\x97\\x4f\\x8b\\x46\\x7d\\x59\\xc6\\x46\\x31\\xb0\\x39\\x47\\x56\\x39\\xd3\\x4e\\x16\\xce\\x34\\x33\\xa6\\x25\\x29\\x40\\xbf\\xc1\\x69\\xbb\\x7f\\xbc\\xd4\\xb5\\x3b\\xd6\\x6f\\x73\\x4a\\x6a\\x24\\xd6\\x4f\\xa2\\x07\\x69\\xc9\\xc3\\xc1\\x53\\xde\\x1b\\x36\\xe2\\x85\\x2b\\xe6\\xdd\\x7b\\xc7\\xc6\\x2e\\x5d\\xeb\\xaa\\xa5\\x03\\xae\\x8d\\x37\\xdf\\x39\\x38\\xbe\\xea\\xc1\\x47\\xf0\\x3f\\x2e\\xe8\\x3b\\x29\\x6b\\xe7\\x20\\xe1\\xf8\\x79\\x17\\xdf\\xd0\\xb3\\x43\\xa0\\x73\\xe2\\x83\\xd8\\x00\\x91\\x7e\\x2d\\x0f\\x14\\xff\\xd8\\xb0\\x61\\xf6\\xb4\\x6b\\xe6\\x0b\\x6c\\x47\\x3b\\x77\\x31\\x4f\\x9f\\x31\\x68\\xd0\\xe1\\x77\\xed\\x53\\xa6\\x8d\\x72\\xbc\\xb3\\x62\\xe6\\x90\\x7c\\x62\\x0a\\x55\\x16\\xd5\\x54\\x27\\x7e\\x1b\\x35\\x76\\xcc\\x68\\xbe\\xa7\\x51\\xf0\\xed\\x7e\\x07\\x0f\\xce\\x0b\\x9b\\x75\\x1e\\xf3\\x5e\\x64\\x2d\\x3b\\xdb\\x8a\\xac\\x05\\x61\\x45\\x71\\x3b\\x1d\\x0e\\xb3\\xdb\\x06\\x9b\\x1a\\xe1\\x9b\\x1a\\x04\\x4f\\xb0\\x14\\xe5\\xa5\\x8c\\xa9\\x3e\\x68\\xb8\\xb5\\xdd\\xd2\\x63\\x1f\\x26\\x75\\x1e\\x25\\xc2\\x75\\x96\\x12\\x6d\\x55\\xcf\\x2b\\xfc\\xbe\\x7a\\x79\\xe3\\x8c\\x1c\\x41\\xdd\\x23\\x3f\\x47\\x48\\xaf\\xcd\\x8b\\x57\\x1d\\x18\\x70\\xfe\\xf9\\x43\\x60\\x5b\\xc9\\x94\\xbd\\xef\\xf7\\xeb\\x35\\xb8\\xc3\\xc0\\x8b\\xc9\\xa5\\xf4\\xb3\\xf9\\x77\\x1c\\x7a\\x76\\xc9\\x82\\xa5\\xd7\\xcd\\xbb\\xd1\\xb0\\x43\\x9f\\x09\\xbf\\x72\\x58\\xf3\\x18\\xff\\x11\\x87\\xcf\\xe7\\x0e\\x41\\xa0\\x1b\\xce\\xd7\\x34\\x2b\\x04\\xc1\\x56\\x27\\x07\\x15\\x71\\x50\\xad\\x00\\x6a\\x0e\\x78\\x19\\x29\\x50\\xcf\\xc8\\x7f\\x99\\x5c\\x17\\x2d\\x61\\x1a\\xd6\\x4f\\x5a\\x98\\xaf\\x26\\x8d\\xed\\x04\\xe1\\x39\\xf9\\xc5\\x86\\xc1\\x8c\\xf5\\xf0\\x51\\xe0\\xb8\\x9b\\xdf\\x7e\\x76\\xef\\xbb\\xcb\\x16\\x62\\xdf\\xe9\\xdb\\x7c\\xb7\\xe1\\x25\\x73\\x6f\\xa4\\xa7\\xe8\\xe9\\x95\\x00\\x67\\x47\\x90\\x93\\x77\\x81\\xef\\x58\\x7c\\x39\\x30\\x56\\xe0\\x70\\x3a\\xcd\\x3e\\x8b\\x85\\xf8\\xcd\\x66\\x12\\xca\\xb2\\x58\\x58\\x32\\xc0\\x29\\x9f\\x90\\xe3\\xeb\\xe0\\xeb\\xee\\x23\\x80\\x83\\xcc\\xb4\\x81\\xc3\\x9e\\xd4\\x77\\x3c\\xc4\\x19\\x33\\x3d\\xda\\xea\\x24\\x50\\xb7\\x05\\xfc\\x90\\x2a\\x07\\xeb\\x23\\x57\\xfc\\xb2\\x31\\x78\\x07\\x2f\\x7f\\xe4\\xa9\\x9d\\x8f\\x3c\\xf8\\x08\\x2d\\x3d\\x7f\\xd0\\xc4\\xd0\\xce\\x41\\xc7\\x7a\\x0f\\x10\\x70\\xae\\x3c\\x10\\x1f\\x3e\\xf4\\xd2\\xb3\\x6f\\x1e\\x7e\\x57\\xbe\\xfc\\x1a\\xe0\\x00\\xe1\\xbe\\xf1\\x71\\xbe\\xed\\xad\\x60\\xac\\x8b\\x79\\x00\\x46\\xbf\\xd9\\xe2\\xf3\\x11\\x62\\x0e\\x65\\x01\\xa0\\x32\\x80\\xb3\\x17\\x28\\xe8\\x4e\\x52\\xb0\\xaa\\xca\\x99\\x69\\x61\\xd3\\xf4\\x52\\x06\\x1f\\xbb\\x0d\\xee\\x9d\\xa3\\x43\\x84\\xff\\x61\\x40\\x94\\xe2\\xd0\\x74\\x88\\x12\\x13\\x75\\x46\\xc4\\xa8\\x0b\\xc0\\xb3\\x96\\xcb\\x6a\\xcf\\x98\\x2f\\x4b\\x76\\x98\\x0b\\xd9\\xe4\\x8a\\x22\\x00\\x25\\x97\\x14\\x91\\xd2\\x12\\xa7\\xc7\\xc6\\xa8\\x54\\x18\\x6e\\xa1\\x52\\xb4\\x55\\x0a\\x4e\\x52\\xde\\x32\\xbc\\x22\\xd0\\x8c\\xa9\\xf0\\x8c\\xf7\\x69\\x30\\x24\\x50\\xc6\\x57\\xde\\xfe\\xf0\\xc5\\x4d\\x83\\x1b\\xef\\x9e\\xbb\\xe0\\x7e\\xe7\\x43\\x52\\xac\\x4b\\xa7\\xea\\x51\\x13\\xaf\\x1c\\xd9\\xbd\\xa6\\x72\\x80\\x6d\\x63\\x3d\\x3e\\x7c\\xf5\\xe5\\x03\\x2f\\xb5\\x10\\x6d\\x64\\xef\\x91\\x33\\xaf\\x9c\\xac\\x55\\xd6\\x54\\xb6\\xab\\x89\\xce\\xaf\\xe9\\xda\\xa1\\x4b\\xb7\\x2e\\x79\\x9f\\xea\\xe7\\x78\\x35\\x00\\xf3\\xbd\\x00\\x73\\x11\\x83\\x39\\xcf\\x96\\xe3\\x27\\x82\\xcf\\xef\\x17\\x1c\\x39\\x39\\x6a\\x24\\x22\\x94\\x14\\xfb\\xdc\\x59\\x0c\\x66\\x22\\xff\\x0f\\x30\\xff\\xd7\\xbc\\xa1\\x64\\xda\\xd0\\x45\\xc7\\xea\\x37\\xda\\x06\\x54\\xd6\\x74\\x8f\\x4f\\x9b\\x1c\\xaf\\xee\\xd4\\x25\\x26\\x3d\\xe4\\xba\\x6f\\xc1\\xbc\\xbb\\x1e\\x1d\\x7a\\xf9\\xc3\\xf8\\xf0\\xa7\\x79\\x00\\x5b\\x87\\xfa\\xda\\xf9\\xd1\\x9a\\x76\\x95\\xd5\\x1d\\xb5\\xc9\\x57\\x4e\\x1b\\xb1\\xaa\\x18\\xab\\x13\\x07\\x5c\\x3e\\x57\\x97\\x1f\\xb4\\x9b\\xeb\\xef\\x7c\\xd4\\x0e\\x6c\\xb0\\x57\\x24\\xc5\\xae\\x70\\xc0\\x6a\\xcd\\xcd\\x75\\xb5\\x2f\\x0f\\x04\\x42\\x56\\x9b\\x4d\\x0b\\xed\\x07\\x05\\x5e\\x88\\xbc\\xb0\\xf5\\xa5\\x48\\xc3\\xed\\xb6\\x8b\\x0a\\x00\\xdf\\x5e\\x07\\xbe\\xc5\\x5d\\xcd\\xf4\\x53\\x3b\\x75\\x2c\\x4a\\x1d\\x50\\x77\\xc7\\xb5\\xe9\\x02\\xc5\\xf4\\xbb\\x02\\x4e\\x0b\\x17\\x29\\xdd\\x37\\x5d\\xb5\\x7c\\x83\\xe7\\x39\\xcb\\x39\\x35\\x83\\x07\\x0a\\x42\\x8f\\x2d\\x4b\\x56\\xde\\x71\\xd3\\x43\\xdd\\x45\\x49\\x7c\\x5a\\xdc\\x25\\x0f\\x19\\xb8\\xe6\\xde\\x41\\x43\\x76\\x5f\\x7e\\x91\\xbf\\xa2\\xf3\\xc5\\x93\\x4b\\x07\\xae\\x7c\\x6d\\xcf\\xbe\\x83\\x37\\x39\\xc7\\xab\\xdb\\x12\\x87\\x36\\xfd\\x4d\\xd8\\x33\\x7b\\x09\\xfd\\x73\\x89\\xe1\\x93\\xa2\\xb7\\xd1\\x6f\\xe2\\xb7\\x3c\\xff\\xa9\\x38\\x66\\xd5\\xf3\\x9f\\x54\\x13\\x11\\x64\\x65\\x0f\\xa0\\x20\\xf3\\x80\\xd6\\xf1\\x6a\\x55\\x7a\\x31\\xa6\\x37\\x52\\xed\\x06\\xd7\\xec\\xb7\\xe7\\x9e\\x7b\\x0e\\x4f\\x58\\xbd\\x9a\\x5c\\x9f\\x90\\x85\\x93\\xb0\\x8f\\xc5\\xe0\\xbf\\xbc\\x09\\x7a\\xc5\\x82\\xfa\\xc4\\xfc\\x10\\x77\\x9a\\x58\\x1a\\x1a\\x04\\x9c\\x6c\\xcc\\xb4\\xd5\\xc6\\x22\\x70\\x93\\xb4\\x0f\\x14\\x8b\\x09\\x1e\\x9c\\x8a\\x3c\\x0d\\xdd\\x97\\x9a\\x93\\xd9\\x72\\x4d\\x81\\x49\\x4b\\xe0\\x89\\x4f\\xbf\\xd2\\x04\\xab\\xc9\\x6f\\xd1\\x04\\xf6\\x81\\x83\\x19\\xef\\x4a\\xbf\\x16\\x7d\\x89\\xc7\\x70\\x37\\xfa\\x11\\xad\\x84\\xb5\\x3b\\xe2\\xa3\\xe2\\x30\\xd8\\x93\\x42\\xd4\\x3f\\xe6\\x2b\\x44\\x76\\x45\\x31\\xe5\\x64\\x9b\\x50\\x36\\x29\\x2e\\xf2\\x6a\\x1e\\x62\\xb7\\x9b\\x2c\\xbb\\x71\\xc9\\x76\\x94\\x63\\x62\\x41\\x64\\x3e\\x21\\x01\\xe6\\x20\\xa5\\x82\\x48\\xb6\\x21\\xfe\\x36\\xc9\\xf8\\xce\\xce\\xbc\\x5c\\x13\\x42\\xa7\\x92\\xa8\\xcf\\x1b\\x65\\x5c\\xe4\\x8f\\x1a\\x7e\\x51\\x84\\xff\\x52\\x71\\xe2\\x23\\xd3\\xba\\xf6\\x7b\\x4e\\x7e\\x46\\x15\\x22\\x53\\xfa\\x3f\\x5a\\x24\\x16\\x5c\\x36\\x74\\xea\\x55\\xfb\\xaf\\xea\\xd2\\x4f\\x00\\x30\\x9f\\x38\\x38\\xf7\\x22\\x3a\\x59\\x68\\x9c\\x55\\xd3\\xaf\\x71\\xc4\\xe0\\x4d\\x17\\x5c\\x70\\xef\\x2a\\x9a\\x0d\\xaf\\xce\\x98\\x40\\xc7\\xea\\xbc\\x5f\\x8a\\xf6\\x0b\\x07\\xc5\\xe3\\xa0\\x89\\xfb\\xc4\\x5c\\x42\\x0e\\xbb\\xdd\\xd0\\x94\\x9c\\x1c\\x2d\\x9c\\xef\\xf3\\x7a\\x35\\xd7\\x3e\\x20\\x15\\xb0\\x0f\\x84\\x0c\\x41\\x26\\x01\\xcc\\x96\\x96\\x19\\x4c\\xd4\\x3a\\x46\\xe0\\x59\\x85\\x45\\x05\\x25\\xd5\\x7e\\xe6\\xe1\\xb6\\x85\\x9c\\xf9\\x72\\xb2\\x20\\x9f\\xd3\\x29\\x52\\x15\\xb9\\xbe\\xcf\\xf0\\xe7\\xe4\\x5d\\x2a\\x29\\x99\\x35\\x64\\xd6\\x82\\x49\\xfb\\x95\\x15\\xa4\\xb2\\x0f\\xfe\\xe8\\xe0\\x9c\\x8b\\x53\\xc0\\x36\\xdc\\x7d\\x5b\\xe2\\xc5\\x49\\x57\\x18\\xf6\\xe2\\x30\\xf1\\x01\\x6d\\x59\\xbe\\x0e\\x78\\xdb\\x4e\\x1e\\x13\\xfa\\x7d\\x2c\\x26\\x2c\\x45\\x9e\\x33\\xc7\\x84\\xad\\xfa\\x4f\\x70\\x37\\x92\\xf8\\x5e\\x79\\xea\\xf1\\x97\\x5f\\xd9\\xba\\x63\\xff\\x81\\xe1\\x4d\\x5b\\x86\\x0e\\x79\\x8a\\x5c\\xfa\\xf7\\x0f\\x3e\\xdc\\xbd\\xfb\\xfd\\xd7\\x5f\\x58\\x3e\\x97\\xd2\\x05\\xac\\x96\\xa5\\x02\\x74\\xc1\\x87\\xb0\\x96\\x0f\\xd5\\xb2\\x5a\\x16\\xf0\\x86\\x88\\xea\\xf1\\x90\\x00\\xb8\\xda\\xec\\xa0\\xc4\\xc9\\x96\\x54\\xd2\\x0f\\x4a\\xda\\xa6\\x2d\\x25\\x65\\xc8\\xe9\\x48\\xbf\\x40\\xc1\\xd7\\x2e\\xdb\\xe1\\x78\\xde\\x34\\xa0\\xe6\\x9e\\x3b\\x67\\x3a\\x5f\\x70\\x6f\\x5e\\xba\\x69\\xcf\\x33\\xf8\\xf0\\xea\\xb9\\xe6\\xf3\\xce\\xc3\\x26\\xd4\\x7c\\x9d\\x79\\xd6\\xcd\\xef\\x3c\\xbf\\xf7\\x10\\x3f\\x3f\\x21\\x97\\x10\\xbf\\xf8\\x0b\\x04\\xd7\\xe1\\x98\\xb5\\x25\\xaf\\xc1\\x4c\\x74\\x8e\\xc9\\x4c\\x69\\xd0\\x6f\\x3b\\x22\\x1c\\xc9\\xaa\\x97\\xb7\\xe9\\xb8\\x91\\x4b\\x76\\xbf\\xf7\\xfa\\xf3\\x0c\\x29\\xfd\\x3c\\xe6\\x30\\xf1\\x93\\x89\\xfa\\xf3\\x5a\\xf2\\x18\\x04\\x55\\xf7\\x86\\x5a\\xa5\\x48\\x30\\xed\\x15\\xd5\\xe9\\x77\\x72\\x4b\\xd3\\xf0\\x03\\xfb\\x77\\x3c\\xf5\\x12\\x99\\x48\\xe9\\xdc\\xe5\\xcf\\xbf\\xfe\\xde\\x6e\\x6e\\x73\\x80\\x67\\x7e\\x01\\x9e\\x31\\xec\\xb7\\x23\\xa4\\xaa\\x66\\x1f\\x42\\x66\\x36\\xd6\\xdc\\xc6\\xe6\\x00\\xd9\\x0c\\xff\\xb1\\x0c\\x5c\\x4c\\xe6\\x6a\\xe4\\xa6\\xb9\\x1a\\x67\\xf6\\x1f\\x0d\\x4f\\xc3\\x9f\\xe2\\x18\\xbe\\x73\\x8e\\x94\\xa3\\xf1\\xcb\\x9d\\x37\\x82\\xa3\\x21\\x8a\\xcf\\xc9\\x7b\\x4c\\x24\\xf6\\xf8\\x92\\x95\\x07\\x40\\xc1\\x34\\x0e\\x5a\\x43\\xa6\\xec\\x7b\\xaf\\x5f\\x6c\\x31\\xfd\\x8c\\xcc\\x9e\\x30\\xb8\\x74\\xe8\\xca\\xb7\\xf7\\x62\\xbc\\x72\\xee\\xfc\\x1b\\x39\\x6f\\xab\\xf8\\x73\\xfc\\x8c\\x74\\x0f\\x18\\xbf\\xae\\x31\\xaf\\xd3\\xa2\\xda\\x44\\x9b\\x2c\\x58\\x04\\xaf\\xc7\\xe9\\x44\\x8a\\x55\\xe4\\xe7\\x71\\x25\\x2c\\x5b\\xd1\\xd8\\x4d\\x80\\xc5\\x68\\x05\\x59\\x57\\x97\\xcc\\x37\\x66\\xfb\\xc9\\x0e\\xbe\\xa2\\xb5\\x51\\x96\\x1c\\xcb\\x06\\xc8\\xd4\\x7a\\x65\\xec\\xdb\\x36\\x66\\x72\\xb7\\xd9\\x2b\\x57\\x0e\\xf5\\x96\\xf7\\xc5\\x9f\\x3f\\x87\\x5f\\xbc\\x71\\xc7\\x8e\\x1b\\xe9\\xcc\\xa9\\xe6\\xb9\\x01\\x43\\xae\\xc0\\xc7\\x39\\x08\\x7a\\xcd\\x8b\\x6a\\x62\\x0e\\xbb\\x2c\\xb3\\x5b\\x78\\x8f\\x1f\\x02\\x25\\xcd\\xaa\\x78\\x99\\x54\\x59\\x41\\xaa\\x08\\x72\\xea\\x74\\x69\\x13\\xf7\\xb2\\x83\\x13\\x4f\\x32\\x54\\xf4\\x47\\x8a\\x0d\\xef\\xc6\\x79\\x24\\x29\\x39\\xfd\\x1e\\x9e\\xb9\\x50\\xfc\\x96\\x0e\\x03\\x99\\xc1\\xf7\\x26\\xb6\\xcd\\xac\\xe9\\xd7\\xf0\\xf0\\x9d\\xb7\\xe1\\x6f\\xf5\\x73\\xac\\x66\\x12\\x14\\x77\\x03\\x0f\\xb7\\x8f\\xb9\\xed\\xc4\\xea\\x52\\x10\\x61\\x59\\xeb\\x7e\\xe4\\x03\\xbd\\x64\\x31\\xe9\\x3d\\x19\\x2a\\xdb\\xde\\x6f\\x57\\x55\\xeb\\x95\\x26\\x0c\\xc5\\xd4\\x0d\\x72\\x3b\\xfc\\xc0\\x8b\\xb3\\xc6\\xd1\\x59\\x42\\xb7\\x2b\\x6b\\xfa\\x0d\\x18\\x36\\xe8\\xb6\\x15\\xb4\\xbd\\xf0\\xf2\\xf2\\xf3\\xe2\\xaf\\xca\\xfb\\x54\\x52\\x3a\\x67\\xe8\\x9c\\x25\\x5c\\xff\\x1d\\x06\\xfd\\xf7\\x2d\\xe8\\xbf\\x7e\\xb1\\x00\\xc7\\x37\\x92\\x1b\\x0a\\x45\\x54\\xd0\\x7f\\x9a\\xdd\\x43\\xbc\\x5e\\x6b\\xa1\\x92\\xbd\\x47\\xc7\\x7b\\x27\\xc9\\xcf\\x77\\x05\\x52\\xae\\xb8\\x71\\xd3\\x74\\x06\\xf5\\x97\\x49\\x01\\xee\\x6c\\x47\\x8c\\x90\\x29\\x6a\\x8c\\xf2\\x11\\xd6\\x4d\\xab\\x1b\\x90\\xa6\\xfe\\x8a\\x2e\\x1b\\x62\\xa8\\x3f\\xa0\\xce\\x50\\x46\\x9d\\x35\\x89\\x6d\\x86\\xfa\\x1b\\x31\\xf8\\xde\\x55\\x98\\xbd\\x3a\\x63\\x02\\xde\\x00\\xf1\\xf5\\x9f\\x60\\x2f\\x8e\\x01\\xcc\\x2a\\x8a\\xc4\\x54\\x49\\x15\\x54\\x8b\\x60\\x36\\x09\\x8c\\x27\\x58\\xae\\xb2\\x71\\xf0\\x8e\\x93\\xaa\\x0d\\x47\\xb0\\x11\\x47\\xe3\\x6f\\xbe\\xa5\\x7f\\x1d\\x5c\\xdc\\x51\\x72\\x3f\\x74\\x00\\x1e\\x71\\x92\\x0e\\xdf\\xe6\\xeb\\xc5\\x7a\\xfa\\x00\\x1d\\x2c\\x20\\x6b\\xbd\\xb8\\x2f\\xd1\\x37\\xe6\\xc9\\xb2\\x3a\\x7c\\x56\\x92\\x2f\\xe7\\xcb\\x25\\xc5\\x08\\xb9\\xb3\\xac\\x56\\xd1\\x0d\\x32\\x1c\\x53\\xf3\\xc0\\x16\\xe5\\xa8\\x6a\\x81\\x98\\x16\\x8f\\x38\\x5b\\x59\\x65\\x97\\x71\\x08\\x61\\x5c\\x70\\x82\\x14\\xb0\\xeb\\xcd\\xd4\\xb0\\x74\\x88\\x42\\xfc\\xba\\xef\\xc8\\x24\\x07\\x6f\\xca\\x2e\\xbe\\xac\\x7a\\xd2\\xb0\\xf2\\x58\\x97\\xda\\x92\\xa2\\x81\\x55\\x45\\x6b\\x16\\x2e\\x5c\\x53\\x54\\x35\\xb0\\xa8\\xa4\\xb6\\x7b\\xd7\\xf2\\xa1\\x93\\xab\\x2f\\x2b\\x16\\xe6\\x57\\x74\\xaf\\x89\\xae\\x89\\xd6\\x77\\x1e\\xdf\\x7d\\x6c\\x87\\x4b\\x17\\x2f\\xbe\\xb4\\xc3\\xe8\\x9e\\xe3\\x3b\\xd7\\xc3\\x4b\\x35\\xdd\\xb9\\x9e\\xad\\x01\\xb9\\xfe\\x4b\\x6a\\x06\\x9e\\x2d\\x03\\xb9\\xf6\\xb9\\xf3\\x7c\\x11\\x90\\x14\\x1f\\x48\\x77\\x36\\x48\\x77\\x79\\x3b\\x59\\x26\\x76\\xf3\\x7e\\x90\\xea\\x62\\x64\\xc7\\x05\\xe0\\x70\\xa6\\xa4\\xda\\xe9\\x3a\\xf3\\x85\\x37\\x97\\xeb\\x92\\x08\\x38\\xba\\x11\\x67\\x72\\xc8\\x7b\\x2e\\x96\\x5a\\x5c\\xa4\\x96\\x48\\xf7\\xaf\\x0d\\xab\\x67\\x8e\\x94\\xa5\\xe7\\x1f\\x7b\\xec\\xce\\x35\\xf7\\x5c\\x7a\\x75\\x22\\x91\\x3b\\xaa\\xe3\\xe0\\x21\\xd3\\xaf\\xba\\xf0\\xfc\\xae\\x3d\\x07\\x9c\\x47\\x94\\x55\\x0f\\xf6\\x3e\\x67\\xe0\\xbb\\xa4\\xf9\\xd1\\xb5\\x8b\\x67\\x6d\\xeb\\xe9\\xbd\\xfd\\xe3\\x40\\x64\\x5c\\xe3\\xf0\\x71\\x2b\\x1c\\x8d\\x7d\\xa3\\x7d\\x47\\x5f\\xc5\\xce\\x4b\\xfe\\x02\\xf8\\x8f\\xc3\\x7e\\x3a\\x50\\xbb\\x98\\x1d\\x34\\xb7\\xc3\\x6c\\x76\\x21\\xa7\\x24\\xd9\\x55\\xc4\\x38\\xcf\\xce\\x4c\\x57\\xcf\\x2a\\xe3\\x98\\x19\\x08\\xcd\\xe9\\x4b\\xa2\\x6e\\x56\\xeb\\x26\\xc0\\xb6\\xca\\x10\\xe7\\xd4\\x2a\\xaf\\xdf\\x66\\x0e\\x0a\\xc4\\xae\\xdd\\xf9\\x1a\\x3d\\x1e\\xf3\\xbc\\x12\\x6c\\x0f\\x8c\\xd4\\x3d\\x6f\\x66\\xbe\\xbf\\x57\\x1d\\xfe\\x2e\\x51\\xfe\\xe4\\xc6\\x47\\x58\\x6c\\xc0\\x74\\xaa\\x19\\x68\\xa5\\xf2\\xc9\\x1f\\x01\\x3f\\x09\\x11\\x2d\\x10\\x90\\xbc\\x48\\xd3\\xbc\\x39\\xd9\\xc4\\xef\\x77\\x05\\xcd\\x16\\x4b\\x70\\x2f\\xd0\\xc9\\x84\\x5c\\x49\\x0b\\x15\\x75\\x66\\xc8\\x79\\xb2\\x7b\\x79\\xe7\\xe2\\x12\\x5d\\xcf\\x91\\x12\\x7f\\xea\\x44\\xd0\\x51\\x54\\xc2\\xce\\x9e\\xce\\xed\\x75\\xde\\xab\\x43\\xcf\\x7f\\x72\\xe4\\x25\\x9f\\x35\\x8c\\x78\\xed\\x91\\x27\\x9f\\xc5\\xdd\\x3e\\x10\\xfa\\x90\\x58\\xc3\\xaa\\x01\\x83\\xbe\\x98\\x34\\x9d\\x78\\xa4\\xb7\\x06\\x3e\\x35\\x7b\\xfd\\x8b\\x7b\\x37\\x61\\xfb\\x55\\x5f\\x4c\\xbe\\x91\\xed\\x63\\x15\\x7a\\x96\\x6c\\x06\\x1e\\x0c\\x82\\x87\\xd8\\x2f\\xe6\\xb6\\x21\\x35\\x4f\\x14\\xdd\\x92\\x43\\xcd\\x42\\xaa\\x84\\x48\\x41\\xd8\\xba\\x0f\\x94\\xb2\\x04\\xe4\\xc8\\x46\\x7e\\x5c\\xba\\x33\\xcf\\xed\\x26\\x72\\x8b\\x38\\xea\\x87\\xb8\\xfe\\x8c\\x74\\x2a\\xbe\\x95\\xcc\\x1d\\xd2\\x13\\xfc\\xfc\\xfc\\x14\\xc6\\xaf\\xef\\x29\\x53\\xd3\\x5e\\x67\\x0d\\xd9\\xbc\\x7f\\xfb\\x86\\x6d\\xbb\\x56\\x3f\\xa8\\xf5\\xec\\x3b\\xaa\\xf1\\x9a\\x45\\xd7\\x3d\\xb0\\x77\\xc2\\xd0\\xa7\\xc9\\x35\\x2f\\xbc\\xab\\xd2\\xaf\\x70\\x8e\\x7a\\xf0\\xd9\\xad\\x2f\\x64\\x2f\\x74\\xac\\x9a\\x7e\\xfd\\x12\\x09\\xcf\\x59\\x79\\xdb\\x9b\\x5b\\x31\\xfa\\x1b\\x5d\\x6e\\xd6\\x7b\\x8c\\x9c\\x44\\xfb\\x89\\x15\\x6c\\x4a\\x08\\xf5\\x88\\xb9\\xdd\\xa2\\xcd\\x24\\x2a\\x6a\\x96\\x9a\\xe3\\xca\\x16\\x45\\xd9\\x66\\x73\\xc9\\x4c\\x2a\\xcd\\x40\\xc8\\xb2\\xed\\x41\\x3f\\xe2\\x76\\x90\\x3b\\x21\\x2d\\xd7\\x06\\xec\\xc2\\x80\\x11\\xd3\\xcd\\x5a\\x24\\xf4\\xc4\\x51\\x82\\x23\\xa4\\x12\\xdb\\x05\\x12\\xc1\\x15\\x02\\x8f\\x68\\x6e\\xeb\\x79\\xe1\\x64\\x73\\xe9\\x65\\xaf\\x37\\xe3\\xe0\\x9b\\x4b\\x83\\x01\\x31\\xe2\\x5c\\xf9\\x26\\x8e\\xce\\x6a\\x57\\x1c\\xcc\\x0e\\x85\\xea\\xc5\\xe3\\x0d\\x5f\\xb4\\xbb\\xe8\\x3b\\x9a\\x95\\x78\\x1e\\x77\\xea\\xdd\\x47\\x1b\\x15\\xa1\\x1f\\x09\\xfd\\xff\\xd3\\x37\\xcf\\x72\\xa3\\xaf\\xb9\\x19\\x75\\x6a\\xbe\\x16\\xfd\\x46\\x56\\x39\\x14\\x52\\x82\\x6e\\x4f\\xdc\\xc2\\xef\\xd7\\x2b\\x9a\\xaf\\x05\\x6f\\x61\\x31\\xbc\\x56\\x81\\x91\\xf1\\x5a\\x69\\xf3\\x14\\xe1\\xa0\\x30\\xc3\\xa1\\x48\\xd7\\x22\\xe3\\xb5\\xe6\\x3f\\x9b\\xaf\\x15\\x8e\\xf1\\xd7\\xe6\\xe9\\xaf\\xc1\\x1e\\x75\\xa0\\x8d\\xc2\\x6f\\xe4\\x76\\x2e\\x6b\\xf5\\xb1\\x2c\\x77\\x9e\\xd3\\xc7\\x04\\x0d\\x04\\xce\\x90\\x35\\x42\\x82\\x41\\xbb\\xb9\\xd8\\x0e\\xca\\xba\\x92\\x31\\x8d\\xe3\\xe5\\x33\\x55\\x2a\\x14\\xfd\\xef\\x02\\xf6\\xdb\\x7f\\x15\\xb0\\x35\\xff\\x9f\\x7c\\x01\\x1e\\x7f\\xd1\\x41\\xc2\\x71\\x8e\\xc7\\xc2\\x14\\x1e\\x9d\\xe8\\x95\\xc4\\x21\\xcc\\x83\\x7d\\x2b\\x46\\x55\\x31\\x9f\\xdd\\x66\\x43\\x72\\x41\\x81\\x0f\\x90\\xf0\\x95\\x7a\\x65\\x52\\x54\\x14\\xb4\\xe7\\x05\\x93\\x38\\xbc\\x92\\xe6\\x68\\xe8\\x58\\x18\\x86\\x3f\\x57\\x60\\x01\\x5e\\xa4\\x33\\x8b\\xf0\\x92\\x2a\\x2e\\xed\\x9c\\x81\\x38\\xfe\\xbe\\xbe\\xff\\x35\\xb9\\x6a\\x8f\\xd9\\x8b\\x67\\x5f\\xad\\x3c\\x96\\x7b\\x5e\\xf4\\x8e\\x1d\\x4d\\x2f\\x3c\\xf1\\xf4\\xbe\\xd7\\x86\\x0c\\x1f\\x16\\x1f\\x3a\\x64\\x1b\\x36\\x3d\\xfe\\x46\\xe7\\x76\\x8d\\x0d\\x05\\x17\\x4e\\x71\\x6b\\xf2\\x65\\x47\\xff\\x7d\\xe0\\xa3\\x7d\\xbb\\x66\\x5f\\x7d\\xc5\\xc2\\x6b\\x16\\xc0\\x9e\\x54\\xd1\\xf3\\xc9\\x66\\xe1\\x06\\x80\\xfb\\x3a\\x80\\xfb\\x76\\x3d\\x0f\\x88\\x0e\\x22\\x56\\x61\\x09\\xbc\\xb6\\x38\\x85\\xcb\\xa2\\xe6\\x9f\\x14\\xb3\\x38\\x18\\xa4\\xa6\\x04\\x5d\\x19\\xab\\xb3\\x15\\x7a\\x3c\\xe6\\x60\\x56\\x96\\x1b\\xd0\\x70\\x13\\xb3\\x9b\\x94\\x95\\xda\\x6c\\x62\\x30\\x28\\xe6\\xe5\\xe5\\x88\\x85\\x9e\\xa6\\x78\\x61\\x61\\x8e\\x45\\xd4\\xb4\\x70\\x53\\x5c\\x73\\x20\\x13\\xeb\\xe1\\x9d\\xe3\\x1f\\x12\\xcf\\x69\\xd5\\x5f\\x3d\\x9a\\xd9\\x2e\\xbe\\x4d\\xb9\\x57\\xb2\\x37\\x79\\x75\\xaa\\x69\\xbc\\xb7\\x26\\x73\\x2a\\x2f\\x3b\\x63\\xc2\\xc6\\x40\\xd6\\x11\\x3f\\xfe\\x82\\x83\\xcf\\x3f\\x8f\\x83\\x57\\xdd\\x9c\\x31\\x94\\xf7\\xf0\\x9c\\x6b\\xf0\\xeb\\xc9\\xc9\\xbc\\x6f\\x7c\\x20\\x6c\\x4d\\x3c\\x44\\xbf\\xc1\\x39\\xc2\\xb8\\xba\\xf3\\xd3\\x06\\xf3\\x2e\\x5b\\x96\\x1a\\xcd\\x8b\\x84\\xe6\\xed\\xcd\\x3f\\x89\\xb7\\x4a\\x6f\\xa2\\x0e\\xa8\\x0b\\x9a\\x12\\xab\\xa9\\x30\\x97\\xb5\\x2b\\x74\\x90\\xce\\x9d\\xfd\\xd9\\x39\\x39\\x11\\xbf\\xbf\\x9d\\x99\\xd4\\xd7\\x15\\xe7\\x08\\x65\\xc1\\xb0\\x00\\x5f\\x11\\x2c\\x89\\x4e\\xf8\\x52\\xbc\\x5e\\x5b\\x6d\\x43\\xdc\\xe6\\x53\\x3a\\x35\\xc4\\x15\\x47\\x7a\\x7f\\x6a\\x9e\\x35\\xd7\\x53\\xff\\x47\\x57\\x6f\\x19\\x29\\x46\\x29\\x87\\xaa\\xc4\\xcb\\x8f\\x92\\x5c\\x4e\\x87\\xa0\\x1f\\x30\\x01\\x6e\\x60\\xe8\\x4b\\x00\\xc7\\x48\\x0f\\x21\\xea\\x07\\xbd\\x07\\x41\\x44\\x6d\\xd4\\x2e\\xe0\\x16\\x26\\xc0\\xfb\\x1c\\x92\\x28\\x8e\\x3b\\xf5\\xfc\\xa1\\x8f\\x5f\\x9b\\xf9\\x58\\xb9\\xa0\\x4a\\xf4\\x57\\x93\\x5a\\x54\\x66\\x9e\\x6f\\x2a\\x1f\\xda\\xc7\\x85\\x83\\xd6\\xf6\\x85\\xea\\x5c\\xa9\\xfd\\x50\\x7c\\xe9\\x15\\xd3\\x67\\xcc\\x9e\\x35\\xe3\\x4b\\x71\\x0e\\x1e\\xb4\\xed\\x1d\\xfa\\x39\\x3d\\x41\\x8f\\xd3\\x8f\\x27\\x8e\\x89\\xcc\\x75\\x8e\\x59\\x4b\\x7e\\xc3\\x95\\xb1\\x49\\x93\\xbb\\xe2\\x41\\xbb\\x71\\x7d\\xe7\\x8b\\x2e\\xeb\\x9e\\x78\\x74\\xf7\\xf6\\xe7\\x76\\x3e\\xf1\\xbc\\x1e\\x8f\\xb2\\x3e\\xc8\\x9d\\x0d\\x9a\\x5c\\x11\\xab\\x8d\\xf8\\xd5\\x8a\\x0a\\x52\\xd6\\xae\\x5d\\x21\\xc9\\xce\\xe9\\xac\\x69\\x39\\x24\\x83\\x26\\xae\\x08\\x06\\xd7\\xd7\\xec\\x93\\x5d\\x2e\\x20\\x86\\xcb\\x61\\xad\\x69\\x88\\x5b\\x7d\\xbc\\x80\\x20\\x55\\x5f\\xc3\\xb2\\xc3\\xa3\\x49\\xe2\\xa4\\x51\\x25\\xed\\x90\\x31\\xaa\\x53\\x05\\xfc\\x9c\\xb0\\x71\\x90\\xd5\\xd2\\x67\\xbf\\xfa\\xec\\x54\\xe1\\x9d\\xf7\\xa7\\x38\\x25\\x13\\xfd\\x4d\\x56\\xc5\\x51\\xcd\\xfb\\xde\\x32\\xba\\xee\\x9b\\x92\\x54\\x71\\xe2\\xa0\\xcd\\xa0\\x0a\\xbd\\xcd\\xe8\\xc3\\x0f\\x54\\x39\\x3d\\xe3\\x92\\xe5\\xde\\x85\\x39\\x2f\\x63\\xe0\\x1d\\xa3\\x0b\\xff\\xa6\\xd6\\x54\\xd9\\x9c\\xea\\xc9\\xdf\\xfc\\x1d\\x10\\x66\\x0f\\xd0\\xa4\\x1c\\xdd\\x13\\xcb\\x8f\\x94\\x4b\\xb2\\x5c\\x86\\xad\\x2e\\xb7\\x3b\\x2b\\x90\\x0d\\x71\\xb5\\xad\\x43\\x7b\\x49\\x0a\\xb9\\xdd\\x21\\xbf\\xdf\\x16\\x0a\\xd8\\x77\\x63\\x6d\\x7b\\x3c\\xc0\\xb3\\x75\\xad\\xf1\\x40\\x20\\x84\\xb1\\x2d\\x64\\xb6\\x08\\x16\\xf6\\x42\\x30\\x2e\\x08\\x21\\x9b\\x37\\x3f\\xd2\\x10\\xcf\\x2f\\x1a\\x12\\xcf\\xc7\\x28\\x2b\\x94\\xd5\\x10\\x2f\\x0b\\x69\\xa9\\x4c\\xaf\\xf2\\x54\\xaa\\x73\\x4b\\x95\\x64\\x79\\x6b\\xf1\\x01\\xea\\xf9\\x53\\x2c\\xa5\\x77\\xc1\\x36\\x28\\x13\\x29\\x01\\x29\\x4a\\x51\\x8c\\xf9\\xed\\xfa\\x01\\x86\\x57\\xef\\xf3\\x1b\\xf5\\xe2\\x4f\\xec\\x06\\x41\\xce\\xf5\\xd3\\x1f\\x5a\\x08\\xb5\\x6e\\xdd\\xfd\\x0f\\x36\\x5c\\x5c\\x56\\xd6\\xaf\\xeb\\x87\\x64\\x3e\\xbd\\x56\\x27\\x82\\x40\\x1f\\xc6\\x07\\x0c\\xc2\\xe0\\xec\\xfd\\xd3\\xef\\xb8\\xc5\\xf1\\xb4\\x5a\\xd7\\x6f\\xd8\\x7e\\xbd\\xf7\\xd9\\xb3\\x08\\x29\\x93\\xc4\\x06\\x54\\x89\\x6a\\x51\\x0f\\xf4\\x45\\xac\\xb2\\xa8\\xb8\\xb8\\xa0\\x5d\\xa7\\xf2\\xf2\\x76\\x59\\x1d\\x2b\\x2b\\xeb\\x91\\xa7\\x8b\\xa8\\x9a\\x6d\\x66\\x51\\x92\\x50\\x3b\\x12\\xeb\\x19\\xca\\xca\\x72\\x14\\x15\\x81\\x53\\xc2\\xfa\\x60\\x48\\x0e\\x1b\\x98\\x5c\\x6d\\x57\\xdc\\x66\\x93\\x1c\\x5d\\x08\\xff\\xb6\\x4b\\x17\\xc9\\x51\\x8f\\x19\\xa1\\xfc\\xf1\\xfa\\x7a\\xc9\\xd1\\xb1\\xa2\\x29\\xde\\xb1\\xa3\\xe4\\xe8\\xd4\\xbe\\x29\\xde\\xa9\\x93\\xe4\\x28\\x28\\x63\\xbf\\x73\\xc7\\x0b\\x0a\\x24\\x87\\x86\\xca\\x25\\x6f\\xe7\\x6e\\x81\\x6e\\x8d\\xf1\\xdc\\x80\\xa3\\xa5\\xd4\\xb4\\xd5\\xc8\\xf6\\xff\\xef\\x9f\\x68\\xaa\\x4a\\x23\\x9a\\x56\\x76\\x95\\x36\\xb3\\x24\\x75\\x44\\x18\\x76\\x16\\x33\\xda\\x32\\xd2\\xb2\\x53\\xb9\\xce\\x25\\x61\\xf0\\x54\\xd2\\x8f\\x24\\x72\\x30\\xdf\\x02\\xcc\\x66\\xc1\\x17\\x97\\x04\\xb1\\x54\\xcd\\xc2\\x37\\xa5\\xc8\\xe7\\x07\\x21\\x97\\x89\\xf5\\xf0\\x4d\\xf4\\x48\\x7e\\xb5\\x30\\x7f\\xea\\x24\\x13\\xb6\\xa6\\xd2\\x35\\xa3\\xf7\\xcf\\x59\\xb7\\xa9\\xa0\\x9d\\x30\\x57\\x9a\\x3c\\x9a\\xfe\\x6b\\xdb\\x4e\\x7c\\xc9\\xc6\\xa1\\x53\\x84\\xc4\\xcd\\x2b\\xdf\\x17\\xd7\\xf7\\xbf\\x04\\xef\\xcf\\xb6\\xd1\\x20\\xfe\\xb3\\x73\\xd7\\x45\\xab\\xd5\\x87\\x6f\\xbe\\x54\\x4f\\x02\\x9d\\x37\\xfd\\xe3\\x83\\xeb\\xeb\\x3b\\xcf\\xbd\\xc3\\x4a\\xef\\xc7\\xd3\\x9c\\x41\\x3a\\x59\\xe8\\x57\\xda\\x13\\xe7\\x6c\\x5a\\xda\\xdb\\x1e\\xc2\\xff\\xc7\\xd9\\x77\\xc0\\x47\\x55\\xa5\\x8b\\x9f\\x73\\xeb\\xf4\\xde\\x27\\x93\\x69\\x99\\xf4\\x42\\x32\\x09\\x21\\xd4\\x11\\x51\\x20\\x2a\\x04\\x44\\x49\\xc4\\x2e\\x2a\\x82\\x05\\xec\\x88\\x14\\xeb\\xae\\x62\\xc5\\xde\\x70\\xc5\\x86\\x0d\\x50\\x07\\x8c\\xeb\\x2a\\xa8\\x28\\x2a\\x71\\xdb\\xdb\\x75\\x77\\x9f\\x6d\\x55\\x56\\x77\\x6d\\xb8\\xab\\x6b\\x25\\x77\\xfe\\xdf\\x39\\xe7\\xde\\x3b\\x77\\x26\\x03\\xf8\\xfe\\x84\\x30\\x21\\xbf\\xaf\\x9c\\xf2\\xf5\\xd3\\x3c\\xab\\x88\\x6d\\x83\\xb9\\x11\\x1b\\x60\\x6e\\x32\\xa8\\x15\\xdd\\x9b\\x4b\\x27\\x53\\xa9\\xea\\x4c\\x03\\x42\\x99\\x40\\xad\\x64\\x25\\xf7\\xad\\xc8\\x19\\x79\\x54\\x5b\\x32\\xe9\\xb1\\xd9\\x3c\\xc1\\x40\\x40\\xf6\\x38\\x4d\\x74\\x0a\\x9c\\x4e\\xd9\\x53\\x2b\\xb2\\xd7\\x93\\x6b\\x6b\\x65\\x4f\\x03\\x9e\\x35\\xd0\\xd0\\x20\\x7b\\xaa\\x6b\\xd8\\xef\\xaa\\xab\\x65\\xb2\\xe9\\xd3\\x1f\\x69\\xee\\x1b\\x88\\xa8\\xb6\\x6f\\xbf\\x43\\x9e\\x2d\\x39\\x4c\\x94\\x2d\\xd1\\x7c\\x6d\\x68\\xf7\\x36\\xb8\\x30\\xac\\x13\\x71\\x77\\xd6\\x25\\xbb\\x21\\xdc\\x0f\\xd2\\x21\\xe5\\x27\\x1f\\xbf\\xf8\\xea\\x5c\\xe9\\x60\\xf6\\xac\\xbb\\xe0\\xf1\\xc1\\xea\\x2c\\x77\\xf1\\xef\\x86\\x67\\x9d\\xf4\\xfa\\xa2\\x17\\x8f\\x5a\\x8c\\xfb\\x9d\\x0d\\x1d\\x6e\\xa5\\xa5\\x64\\xf0\\x96\\x2d\\xf9\\xd3\\xd0\\xd3\\xb8\\xab\\x47\\xd9\\x13\\x50\\x36\\x72\\x2b\\xaa\\x0e\\xf0\\xce\\xc2\\xb1\\xd5\\x64\\xbc\\x1e\\x55\\xe6\\x0a\\xd7\\x0b\\xb3\\xc0\\xee\\x75\\xc3\\x78\\xd5\\x83\\xc5\\xcb\\x64\\xfd\\x3c\\x67\\x32\\x9b\\x21\\x84\\x6a\\x8d\\x46\\xf9\\x9e\\x31\\xa9\\x94\\x3b\\xe0\\xf7\\x57\\xbb\\x1b\\x1a\\xaa\\xcd\\xe6\\x6a\\xbb\\x9d\\xaf\\x76\\x08\\x54\\xdb\\x1d\\x74\\xc0\\xcc\\x03\\x0e\\x07\\x5f\\x8d\\x70\\x46\\x95\\x60\\xb7\\x33\\x34\\x6a\\xe6\\x40\\xc8\\x55\\x0d\\x36\\xb1\\x3a\\x50\\x9b\\xe1\\x33\\x7d\\x03\\x7c\\x54\\xbf\\x99\\x44\\xbf\\x56\\x5c\\xd5\\xf3\\x72\\x25\\x2f\\x2f\\x50\\x92\\xe1\\x0a\\xaa\\xd5\\xea\\x3a\\x7f\\xb2\\x68\\x16\\xdd\\xea\\x68\\x19\\x1d\\x0a\\x8c\\x5a\\x56\\x35\\x95\\x7a\\x0d\\x01\\x6f\\xb6\\x2b\\x9f\\xb8\\x35\\x85\\x8f\\x98\\xb0\\x5b\\x94\\xc1\\x9d\\xfc\\xe6\\x0f\\x7f\\x7b\\xf5\\xdc\\xc7\\x1a\\x24\\x49\\xd0\\xdc\\xc7\\xe2\\xf7\\x17\\x5f\\x70\\xfe\\x59\\x1f\\x28\\x0f\\xe3\\x59\\xcf\\x73\\x54\\xf9\\x39\\xfe\\xe6\\x3b\\x8e\\xf7\\x2c\\xec\\xdc\\xa1\\xbc\\xa7\\x7c\\xad\\xfc\\x5b\\xf9\\xdb\\x29\\x47\\x55\\xdf\\xbe\\x99\\x9a\\x08\\x7e\\x19\\x3e\\x7d\\xfb\\xa6\\x8d\\x5b\\xe9\\x9d\\x81\\xe4\\x82\\x54\\x90\\xb9\\x26\\x74\\x7d\\x2e\\x59\\x93\\xc9\\x44\\x3c\\x09\\x62\\x2c\\xad\\x4d\\x28\\x82\\x5a\\x9a\\xbd\\x1e\\x8f\\xa3\\xa6\\x06\\x52\\x63\\x87\\xc5\\x82\\x1c\\x56\\x4c\\x87\\xce\\xca\\x31\\x43\\x69\\xb5\\x3a\\x12\\x09\\xe4\\x68\\x68\\x4c\\x36\\x92\\x5f\\x78\\x06\\x92\\x49\\xe4\\x70\\x22\\x7f\\x30\\xd2\\x37\\x10\\xac\\x82\\x6f\\x97\\xf6\\x14\\xd2\\xbe\\x6d\\x63\\x31\\xbb\\xd0\\x8f\\x1f\\xb1\\xc3\\xc7\\x45\\x2f\\xa2\\x09\\x17\\x57\\x34\\x8b\\x45\\xe3\\x79\\xbd\\x55\\x1b\\x20\\x1f\\x13\\xac\\x86\\x5c\\xff\\xe4\\xd1\\xc9\\x29\\x9d\\xa7\\x9d\\x67\\xd1\\xec\\xa6\\x17\\xaf\\x67\\x36\\x91\\xdb\\x73\\xeb\\x02\\xcf\\x33\\xd5\\x67\\x1f\\xd3\\xe2\\xfc\\xcc\\xf9\\xe8\\xc3\\x13\\x99\\xd1\\xc4\\xca\\x2b\\x6c\\x2c\\x78\\x0f\\x7d\\x8b\\xe3\\xb2\\x5c\\xdc\\x0c\\x3d\\x16\\x5d\\x81\\x60\\xb0\\xca\\xe5\\x46\\xee\\x74\\x0a\\xa1\\xb8\\xd9\\x1c\\x0f\\x06\\xe3\\xd1\\xa8\\x3b\\x5e\\xe5\\xa1\\x23\\x51\\xe5\\x65\\x23\\x51\\x55\\x15\\x17\\x45\\x77\\xdc\\xe1\\x94\\x54\\x1f\\x22\\x49\\x71\\xb7\\x3f\\xce\\xf5\\x0d\\xc4\\x5d\\x86\\x83\\x30\\xfb\\x18\\x81\\x92\\x01\\x60\\xfd\\xc7\\xa4\\x3a\\xe6\\xaf\\xe8\\x23\\x22\\xc4\\x82\\xf1\\x9e\\x9e\\x79\\x6f\\x15\\x3b\\xa8\\x7c\\x52\\x1c\\x06\\xf1\\xed\\x8f\\x2e\\x98\\xce\\x1f\\x16\\x54\\x76\\x1c\\xae\\xf5\\xef\\x25\\xfc\\x98\\x3a\\x00\\x58\\xc4\\x52\\x98\\xe6\\x2f\\x05\\x88\\xa5\\x8e\\x87\\xb9\\x1f\\x8d\\x56\\xe7\\x1a\\xba\\x50\\x34\\xd6\\x91\\xcd\\xa2\\x60\\x28\\x14\\xab\\x49\\xcb\\x52\\x1a\\x82\\xe2\\xc6\\x18\\x8a\\x8d\\xe9\\xae\\xa9\\x49\\xc8\\x32\\x9f\\x88\\x86\\xfa\\x06\\x3a\\xa2\\x51\\x2f\\xb5\\x39\\xa0\\x5c\\x89\\x51\\x5d\\xa4\\xb3\\x6e\\x30\\xf7\\x7c\\x22\\x51\\x07\\xae\\xd1\\xc5\\x5b\\x66\\x95\\xbf\\xb8\\xa8\\x7f\\xa0\\x6c\\xa5\\xf3\\xcb\\xc6\\x15\\x4b\\x2d\\xd4\\xf2\\x09\\x69\\xe3\\x9e\\xf3\\xba\\x56\\x5c\\x97\\x02\\x13\\x4d\\xac\\x4c\\x6d\\xf9\\xb2\\x0a\\xb9\\xf3\\xa5\\xa3\\x3b\\xeb\\x93\\x03\\x42\\x5c\\x29\\x7c\\xf4\\xfe\\x17\\x75\\xdf\\xf9\\x4f\\x5d\\x75\\xde\\x19\\x47\\x9d\\x7c\\xf3\\x43\\x3d\\xe9\\x46\\xbf\\x7c\\xd9\\xb8\\xe9\\xae\\xdd\\x6f\\xbf\\xf8\\x59\\xec\\x07\\xdb\\xb1\\xa7\\xcc\\x9f\\xdf\\x7b\\xcc\\x35\\xf9\\x9e\\x29\\xc2\\x65\\xfd\\x41\\x3c\\xfe\\x9e\\xa7\\xaf\\xbd\\x25\\x73\\x58\\x6e\\xdc\\x01\\x9d\\x13\\xfc\\xb1\\xce\\x94\\xb7\\x6e\\xec\\xb1\\xab\\x22\\xcd\\xe3\\xef\\x7a\\xe2\\xd6\\xeb\\x22\\x93\\x0f\\xc8\\x8e\\x6f\\xed\\xf6\\x55\\xb7\\xa7\\xcf\\x7c\\xe2\\xc0\\xd1\\x30\\x56\\x2f\\x16\\xbe\\xe4\\x6e\\x15\\xc7\\xa0\\x66\\xf4\\x50\\xae\\x21\\x56\\x5d\\xdd\\x04\\x56\\xc6\\xc5\\x07\\xab\\xfd\\xe1\\x4c\\xc6\\xe1\\xe1\\x6b\\x9a\\x9a\\xf8\\xd6\\x96\\xc6\\x46\\xe4\\x75\\xc7\\x62\\x6e\\xb3\\xd9\\x0d\\x39\\x85\\xbb\\xc4\\xd4\\xd8\\xc0\\xd4\\xb8\\xc3\\x61\\xe4\\x4e\\xd5\\x44\\x6a\\xd8\\xe3\\x61\\x91\\x08\\x72\\x87\\x5c\\x6e\\xd7\\xcc\\x01\\xbf\\xdb\\x89\\xea\\x8b\\x67\\x9c\\x8b\\xf7\\x2d\\xec\\x5d\\x68\\x5c\\xaf\\x7a\\xca\\x4c\\x4d\\xb6\\x64\\xd9\\x5e\\x24\\x0b\\x63\\x25\\x51\\x85\\x5a\\x0d\\xd4\\x24\\x0a\\x22\\x5a\\xb6\\x4f\\x41\\xc2\\x0f\\x5c\\x7c\\xa5\\x5d\\x13\\x9e\\xc0\\x55\\xb7\\xf5\\x6f\\x7a\\xf3\\x4d\\xab\\x26\\x58\\x4e\\x71\\xfc\\xa4\\xe4\\x84\\x05\\x9e\\x5f\\x5c\\xf5\\x9a\\x6a\\x58\\x70\\xec\\x05\\x45\\x79\\x41\\x8b\\x37\\xb0\\x6b\\xe6\\x21\\x8e\\x0d\\x29\\x52\\x47\\x4a\\x80\\xfe\\xfc\\x55\\x18\\x8b\\xd2\\xe8\\x96\\x5c\\x35\\xe7\\xf0\\x25\\x84\\x88\\xc9\\x84\\x22\\x4e\\x6f\\x12\\x21\\x97\\x37\\x25\\x64\\x6a\\xc2\\x61\\x37\\xfc\\xc6\\x6d\\x13\\xa8\\x10\\xd9\\x6c\\x30\\x46\\x1c\\xfd\\xd1\\xe1\\x40\\x6e\\x5f\\x82\\xfe\\xe8\\xf3\\x21\\x77\\xa0\\x9a\\x89\\x56\\x20\\x80\\xdc\\x6e\\x57\\x1f\\xd8\\x65\\xfa\\xde\\x90\\xbf\\xb2\\x68\\x55\\xf8\\x28\\x7b\\x8b\\x88\\xd5\\x2c\\xb2\\x5d\\x5e\\xba\\xb4\\x95\\xa6\\x76\\x84\\x1e\\x64\\xe0\\x03\\x59\\x7d\\x38\\xe4\\xa4\\x7f\\xca\\x8f\\xcd\\xd5\\xda\\x40\\x4c\\x5a\\xf6\\x9c\\x62\\xe7\\x1b\\xfe\\x3b\\xbe\\x5e\\x1b\\x8a\\xa9\\xd7\\x3e\\xcf\\xf5\\xee\\xc0\\xe3\\x2c\\x74\\x1c\\x92\\x9f\\xed\\x7c\\x5d\\x19\\x72\\xd1\\x41\\xa8\\xff\\xf2\\x4d\\x88\\xc3\\xaf\\x52\\x66\\x80\\x3f\\x9a\\x49\\xd7\\xb8\\x8e\\xcb\\xb5\\x59\\x92\\xc1\\x68\\x30\\xc6\\xd7\\xba\\xdd\\xb1\\xe6\\x26\\x41\\x20\\x07\\x52\\x6d\\x56\\x2b\\x39\\xdd\\x8f\\x1c\\x30\\xd9\\x0e\\x87\\x0f\\xd1\\xa3\\x18\\x2e\\x5f\\xcd\\xcc\\x01\\x5f\\xd5\\x5e\\xde\\x83\\x2a\\x73\\xc4\\xec\\x2f\\x5d\\xfd\\x0c\\x8a\\x4c\\x0b\\x20\\x2f\\x49\\xaa\\x6e\\x44\\x4f\\x4b\\x3a\\x6b\\xbc\\x64\\x72\\x49\\x39\\x5f\\xe2\\xae\\x7f\\xf5\\xdf\\x55\\xca\\x27\\xce\\x93\\xfa\\xce\\x3b\\x9d\\xe3\\x8e\\x41\\x85\\xe7\\x7f\\xff\\xd6\\xd0\\xe7\\xf3\\x44\\x48\\x46\\xbe\\x95\\xb0\\xe4\\xbc\\xe0\\xcc\\x0f\\xc0\\x7b\\x08\\x33\\x6f\\xbb\\x26\\x79\\x40\\xef\\x0d\\xd7\\x3d\\xb0\\x43\\xd9\\xa5\\x7c\\xaf\\x7c\\xa7\\xfc\\xfd\\xe5\\xf4\\x85\\xde\\xd3\\xaf\\xe3\\xe3\\x9f\\x7c\\xbe\\x27\\xf5\\xf0\\x73\\x78\\x01\\x3e\\xe1\\x39\\x5a\\x2f\\xac\\xc5\\x7f\\xe3\\x5e\\x16\\x7e\\x8d\\xac\\xa8\\x33\\xe7\\x20\\x2b\\x55\\x64\\xdf\\xa8\\x60\\xb5\\xd9\\x65\\x32\\x99\\xcf\\x0c\\xc8\\xb2\\x24\\x20\\xb3\\x44\\x32\\xe8\\x8e\\xb2\\x83\\x6e\\x23\\xb6\\x8b\\x5a\\x94\\x3f\\x0d\\x0e\\xe2\\xe6\\x67\\xf1\\xdf\\x70\\x56\\x79\\x93\\xfb\\x40\\xf9\\x07\\x8e\\x0e\\xc7\\x59\\x5e\\x33\\x1b\\xfc\\xfb\\x0d\\x20\\x4f\\x55\\xa8\\x1e\\x1d\\x95\\x0b\\x49\\x76\\x4b\\x4c\\x8e\\x20\\xde\\xce\\xa5\\x23\\x31\\x4f\\x84\\xf7\\xf0\\x8d\\x0d\\x4e\\x84\\x12\\x2c\\xc0\\x84\\xe4\\xdd\\x64\\x91\\x4d\\x72\\xdf\\x80\\xc9\\x19\\xa8\\x9d\\x39\\x10\\x88\\x96\\x9d\\x70\\x29\\x3b\\x14\\x60\\x68\\x0f\\xc9\\xde\\x27\\x61\\x7a\\xae\\x85\\xbc\\x6c\\x10\\xf0\\xb0\\x57\\x8b\\xc9\\xaf\\x3d\\x86\\x64\\x6e\\x34\\x17\\x8c\\xc7\\xba\\xfe\\x3a\\xfc\\x1a\\x7f\\xa5\\xf2\\x7d\\xb2\\xfd\\xee\\x2d\\x57\\xfe\\xb0\\x6e\\xdd\\xf7\\x97\\x7d\\xc3\\x8d\\xbf\\xea\\x97\\xbf\\xbc\\xea\\x9a\\x2b\\x2e\\xbf\\x96\\x9b\\x6a\\x6e\\xf6\\x35\\xa7\\x6f\\xd8\\xf9\\xf2\\x96\\x60\\x2c\\xe9\\x9b\\xa2\\x7c\\xb5\\xee\\x8e\\xaf\\x2e\\xbd\\xe2\\x8b\\x3b\\x7e\\x83\\x45\\x65\\xe2\\x3d\\x0f\\x3c\\x78\\xf7\\xaf\\x1e\\x59\\xcf\\x6a\\xed\\xe1\\xc2\\x1b\\xd2\\xa5\\xe2\\x8f\\xa8\\x13\\xad\\xcc\\x4d\\x31\\xc9\\x1d\\xed\\x8d\\xc1\\xa0\\x2b\\x3b\\xca\\xe9\\x6c\\x71\\xd5\\x37\\x37\\x67\\xd2\\xc9\\xa4\\xab\\xad\\x5d\\x16\\x47\\x77\\xc5\\xaa\\x47\\xd5\\xd6\\xb4\\xb7\\xe2\\xa6\\x74\\x0d\\xa4\\x20\\x9d\\xee\\xe6\\x2a\\xc1\\x55\\x5f\\xe3\\xaa\\x8e\\x44\\x7c\\x33\\x07\\x22\\x01\\x93\\xcb\\xcf\\x5b\\xfb\\xb4\\xa3\\xa3\\xe4\\x96\\x32\\x72\\xc0\\x73\\x12\\xd9\\xbd\\xc7\\x82\\x16\\x30\\x13\\x3d\\xb8\\x4d\\xbb\\x1c\\xc7\\x10\\x28\\xeb\\xdd\\x57\\x17\\xba\\x92\\x54\\x58\\xc8\\x27\\xa6\\x4a\\xe1\\xa7\\x97\\xe9\\xa7\\xc1\\xe6\\x1a\\x8c\\x07\\x99\\x3b\\x6f\\x16\\xcb\\xfc\\x1f\\xc6\\xae\\x3d\\xef\\xf1\\x41\\xe5\\x9f\\x2f\\x9e\\xb4\\x44\\xf9\\xa4\\x80\\x3c\\x27\\xdb\\x3c\\xa3\\x17\\x2c\\x3b\\x79\\xd2\\x84\\xfb\\xd7\\xb8\\x88\\x05\\x79\\xf9\\x65\\x2c\\xe0\\xf0\\x0f\\xf7\\x2b\\x27\\x4a\\xfc\\x89\\xcb\\xcf\\xfa\\xd3\\xd0\\xf0\\x6c\\xee\\x58\\x1c\\x7b\\xe4\\xfa\\xe1\\xe7\\xb9\\x53\\x94\\x27\\x4e\\xe2\\x6c\\x1b\\x52\\x2d\\xb3\\x5e\\x1c\\x75\\x20\\xb7\\x82\\x5a\\x93\\xd3\\x70\\x3f\\x77\\x3d\\x4c\\xfe\\xf4\\xe1\\x77\\xc9\\x5d\\xc6\\x60\\x09\\x11\\x97\\xa6\\xf7\\x73\\x74\\xc0\\xcc\\x9b\\xac\\xd8\\x2c\\x98\\xcc\\x76\\x9b\\x6c\\x45\\xd0\\x5b\\x01\\x21\\x33\\xe7\\x34\\x93\\x94\\xd5\\x70\\xdc\\xa3\\xb8\\x09\\xc4\\x4b\\x85\\x0b\\x9a\\x0b\\x82\\x16\\x58\\x8a\\xc3\\xcb\\x96\\x29\\x9f\\x2c\\xe5\\xd6\\xe0\\xf5\\x4a\\xff\\x4e\\xa5\\x07\\xef\\x28\\x14\\x34\\xfa\\x1e\\x49\\xbc\\x8b\\x9e\\x1b\\x20\\xef\\x4b\\x7f\\x08\\xb1\\x64\\x35\\xaa\\x01\\xed\\x3d\\x25\\xd7\\x59\\x8d\\x1b\\x92\\xb1\\x24\\x4e\\xd5\\xfb\\x78\\x08\\x74\\x5c\\x36\\x6c\\x6b\\x6e\\x32\\x99\\xbc\\xa1\\x60\\xd0\\x8b\\x53\\x0e\\x47\\xac\\xde\\xe9\\x14\\xbc\\x4e\\x5b\\x34\\x92\\x81\\x69\\x70\\x09\\xf1\\x99\\x03\\x42\\xa0\\xe4\\xf2\\x3f\\xf5\\x3e\\xf2\\xd2\\xbd\\x1f\\x59\\x12\\x10\\xea\\x4b\\xd7\\x98\\xad\\x0c\\x40\\xec\\x47\\x86\\x9d\\x26\\x7e\\x7a\\x5c\\x08\\x79\\xb4\\xf6\\x10\\x31\\xa8\\x34\\x27\\x7c\\xd8\\x1f\\xf8\\x9f\\x27\\x69\\xd0\\xa7\\x7c\\xb2\\x6c\\x99\\x16\\x09\\x3e\\x32\\xe4\\x9b\\x3b\\xfc\\xf0\\x0b\\x31\\xe5\\x20\\xe7\\x39\\xc7\\x1f\\x7b\\xae\\x13\\x3f\\x17\\xc5\\x83\\xef\\x7d\\x49\\x62\\x3d\\xe5\\x04\\xfe\\x84\\x9d\\x2f\\xb0\\x18\\xf0\\xb3\\x8f\\x14\\x48\\x7f\\x57\\x5d\\xc3\\x7d\\x78\\xed\\x0a\\x6c\\xa5\\x7b\\xc6\\xc0\\xf7\\xdf\\x4c\\xcf\\xaf\\x44\\xd1\\xf4\\x5c\\xda\\x62\\xf6\\x62\\x57\\xc8\\x19\\x0e\\xdb\\xcc\\x08\\x63\\x73\\xac\\x0a\\x87\\x2d\\x16\\xaf\\xd3\\x6a\\x15\\xdd\\x76\\xa7\\xe8\\xef\\x1b\\x10\\x0d\\xe7\\xa9\\xcb\\x2f\\xb9\\x31\\xc8\\x52\\x5a\\xdb\\x92\\x41\\x4f\\x1f\\xd0\\xaf\\x2c\\xdd\\x53\\xe4\\x0b\\x08\\x37\\xcf\\xdb\\xf3\\xc9\\x3f\\x86\\x8f\\x3f\\x1e\\x87\\xf1\\x4d\\x38\\x3c\\x6f\\xf8\\xe5\\x05\\xc7\\x63\\xe5\\x8c\\x53\\xf1\\x5b\\xce\\xbf\\xff\\xf4\\xfd\\x47\\xce\\x9d\\xf8\\x0e\\xe5\\x54\\xf2\\xad\\x34\\xdc\\x70\\xf1\\x65\\x57\\x41\\x1b\\x2d\\xd0\\xc6\\x2f\\xa1\\x8d\\xa4\\xb6\\x75\\x72\\x2e\\xeb\\xf0\\x84\\x63\\x02\\x36\\x07\\x6a\\xaa\\x50\\x1c\\xfb\\x33\\x36\\xa7\\x25\\x63\\xae\\x81\\xc6\\x36\\xd4\\xe3\\x8c\\xc5\\x12\\xf7\\x43\\x63\\x5d\\x31\\xa7\\xcb\\x49\\xb2\\x1c\\xa7\\x98\\x9c\\x59\\x6c\\xb3\\xe1\\x94\\x5b\\x69\\xcb\\x8b\\xcf\\x9f\\xaa\\x55\\xed\\x34\\xf1\\x04\\x10\\x70\\x40\\xf3\\xe9\\xcd\\x83\\x7e\\x08\\x3c\\x92\\xf0\\x7f\\x72\\x79\\x2c\\x9d\\x11\\xba\\xc1\\x44\\xf8\\x72\\x06\\x77\\xe5\\x9e\\x7b\\xef\\xff\\xf6\\x2a\\xdc\\xb7\\xb8\\xe3\\x9a\\x2f\\xf0\\x87\\x87\\xcd\\x76\\xe2\\x3d\\x8e\\x99\\xb3\\xf0\\x87\\x5f\\x5c\\xd5\\x75\\xe6\\xf0\\xf5\\xe7\\x5d\\x61\\x1b\\xfe\\xda\\x76\\x25\\xde\\x70\\xd5\\xd0\\x19\\x0b\\x77\\x5e\\xbb\\xf3\\xda\\x05\\x43\\x3b\\x46\\x9f\\x33\\xab\\xf7\\x82\\x9e\\x1d\\x43\\xa7\\x5c\\xaf\\x64\\xaf\\xbe\\xf0\\xc2\\xab\\xa9\\x8d\\xfb\\x05\\xc9\\x61\\xc4\\x21\\xf0\\x99\\xad\\xe8\\xa4\\x5c\\xa7\\x99\\x87\\xc0\\x21\\xe2\\x8d\\x35\\x36\\x46\\x6a\\x10\\x82\\x94\\xdc\\xe7\\x4b\\xc6\\xab\\xab\\x43\\xc9\\x28\\x0e\\xf9\\x93\\x75\\x33\\x07\\x92\\x2e\\x57\\x0b\\xf8\\x0e\\x57\\x40\\x32\\xf7\\x0d\\x48\\xa0\\x0b\\x92\\xf6\\xe0\\x51\\x56\\x97\\xbd\\x11\\x89\\x08\\x7b\\x1c\\x53\\x5d\\xb5\\x94\\x8b\\x8f\\x8d\\x4e\\xc0\\x92\\xb1\\x96\\x95\\x64\\xbb\\xa5\\x8c\\x36\\x4f\\xb8\\x7e\\xee\\x3d\\x0f\\x1e\\x32\\x77\\x6c\\xdb\\x25\\xe9\\x26\\xbd\\x80\\x85\\xc3\\xac\\xa6\\xa5\\xbc\\xad\\x16\\xad\\xb8\\xe4\\xbf\\xaf\\xff\\xf2\\xc9\\xc7\\xdc\\xff\\x63\\x5b\\x3e\\x55\\x56\\x6b\\x56\\xc2\\x9f\\x95\\x13\\x59\\x21\\x4b\\x2d\\x55\\x71\\xf4\\x5d\\xa4\\x57\\xa0\\xaf\\x49\\x88\\xa2\\x4e\\xcc\\x75\\x06\\xe4\\x54\\x2a\\x14\\xe2\\xea\\xed\\x5c\\xc2\\x1e\\x69\\xf1\\xf9\\x5c\\xb2\\xc9\\x24\\xb8\\x02\\xd8\\x05\\x1a\\xe5\\x72\\x09\\x21\\x72\\x5c\\xda\\xd2\\x38\\x73\\xc0\\x12\\x88\\x25\\xfa\\x06\\x62\\x08\\xbe\\x4b\\x1e\\x77\\x32\\xbc\\x05\\xa9\\xf7\\xb6\\xc3\\x58\\x9f\\x24\\xaf\\xd7\\x8e\\xa8\\x4d\\x51\\xb7\\xa3\\x8e\\x80\\xb7\\x58\\x93\\xe2\\x7b\\x2f\\x59\\x59\\x5a\\x90\\xc2\\xe1\\x25\\xb4\\xeb\\x35\\x6a\\x0d\\xea\\x0f\\xcb\\xe7\\x94\\xd5\\x9f\\xf0\\xea\\x1f\\xff\\xa9\\x14\\x68\\xbf\\xb9\\x6f\\xb4\\xd2\\x13\\xd9\\x83\\xae\\xcc\\xe5\\x36\\x40\\x3f\\x53\\xe8\\xe8\\x5c\\x67\\x24\\x95\\x4a\\x60\\xaf\\x1b\\x3b\\x1d\\xbc\\xd3\\xcc\\xf3\\x35\\xe9\\x60\\x64\\x26\\xa4\\x47\\xb3\\x06\\x82\\x18\\xb9\\x3d\\xee\\x99\\x03\\x09\\x8f\\xd3\\x89\\x67\\x0f\\x38\\xfd\\x23\\x66\\xd4\\x70\\xd9\\x49\\x53\\xf1\\x92\\xb8\\x2c\\x5b\\x37\\x60\\x17\\x8a\\x1b\\xa6\\x32\\x5d\\xb1\\x72\\xb4\\x48\\x9d\\xbe\\xab\\x4a\\x8a\\x45\\xc3\\x63\\xd4\\x76\\x2f\\x9f\\xc3\\x5f\\x5c\\x56\\x23\\x22\\xf3\\x34\\x43\\x4a\\x41\\x1c\\xd3\\x8e\\xc6\\xa1\\x2b\\x72\\x53\\xeb\\xda\\x5a\\x12\\x02\\x1f\\xb2\\xc6\\xab\\xdb\\x3a\\xda\\xac\\x7c\\xb7\\xc7\\x63\\x4d\\xf0\\x13\\xc6\\x87\\x42\\x51\\x41\\xa8\\xa1\\x1b\\x77\\xe2\\xad\\x90\\xe9\\xc4\\x9d\\x51\\xa7\\xbf\\x0b\\x62\\x59\\x97\\xb3\\x67\\x26\\x74\\xa7\\xa6\\xae\\x6f\\xa0\\xa6\\x01\\xbe\\xa3\\x34\\xca\\xd1\\xe2\\x1b\\xe3\\xd4\\x19\\xef\\x66\\x28\\xb9\\x46\\x67\\x84\\x8f\\xd2\\x2e\\xf8\\xd1\\xf6\\xf8\\xb0\\xf9\\xa4\\x7b\\x7c\\x92\\xd4\\x67\\x15\\x1f\\xd0\\x9d\\x40\\x8c\\x90\\x60\\xd8\\x47\\x37\\x07\\xc2\\x1f\\x1c\\xd6\\xc2\\x9f\\xc2\\xb6\\x37\\xd5\\xe8\\x07\\x5b\\x24\\xfc\\xdb\\x1b\\xd6\\xf5\\x66\\xeb\\xbb\\x5a\\x3a\\xde\\x56\\x7e\\x54\\x03\\x21\\x65\\x86\\x1a\\x08\\xf5\\x2c\\xda\\x81\\xab\\xb1\\x04\\xd3\\x9d\\x60\\x91\\xd0\\xf0\\x9f\\x94\\x7b\\x37\\x3f\\x6c\\xfd\\x1f\\xcb\\x01\\x13\\xef\\xce\\x7c\\xf2\\x39\\xff\\xde\\xc3\\xcf\\x29\\xb7\\x2b\\xf7\\x3e\\xc7\\xde\\xc6\\x9e\\x2b\\x2c\\x81\\x39\\x0f\\x91\\xbb\\x0c\\xa5\\x80\\x9d\\xf7\\xfa\\xfc\\x7e\\x6b\\xc8\\xeb\\x74\\xba\\x42\\xae\\x48\\xd8\\x6b\\x27\\x51\\x4a\\x74\\xc0\\xeb\\xb5\\xf9\\xdc\\xd8\\xe7\\x74\\xf9\\x6d\\xc1\\xd9\\x03\\x36\\x3f\\x2f\\x81\\xef\\x36\\xa9\\x45\\x06\\x5d\\x81\\xb5\\x5b\\xe4\\x8c\\x1b\\xde\\xa8\\x7d\\x12\\x8d\\xf3\\x4d\\xab\\x56\\xe0\\xad\\x93\\x66\\x9c\\x15\\x40\\x56\\x73\\x64\\x9e\\x73\\xca\\xfb\\x4b\\xc9\\x1d\\x4b\\xf8\\x52\\xdc\\xaa\\x5c\\x8e\\x1b\\x4e\\x3f\\x4c\\x9d\\x67\\xfc\\xe9\\x1c\\x65\\xa1\\x38\\xb4\\x67\\x03\\xde\\xa6\\x1c\\xa5\\x24\\xe8\\xd9\\x72\\x90\\xd3\\x34\\xb4\\xd9\\x05\\x71\\x5c\\x15\\x6f\\x96\\x05\\xc1\\x61\\xe6\\x3d\\x6e\\x11\\x0b\\x32\\xd1\\x3d\\x1b\\x58\\x52\\x1b\\x68\\x9d\\xcd\\xd8\\x36\\xc3\\x21\\x9b\\x20\\x15\\x3a\\x83\\x3a\\x3d\\x7d\\xc9\\x83\\xe0\\x6b\\x69\\x43\\x40\\x59\\xc4\\x21\\x5d\\x3b\\x80\\x17\\xd8\\x39\\xd9\\x0b\\x32\\xd5\\x81\\xce\\xca\\x8d\\xaf\\x89\\x23\\x7f\\x47\\x07\\x6a\\x8a\\xc5\\xe2\\x4e\\x59\\x36\\x35\\xc4\\x4d\\x28\\xce\\x77\\x66\\x03\\x10\\xcb\\x38\\x9d\\x4d\\x56\\x27\\x32\\xf9\\x5b\\x79\\x2f\\xdf\\x37\\x10\\xf6\\xba\\x9a\\x62\\xb3\\x07\\x9a\\xfc\\xa9\\x4c\\xdf\\x40\\x0a\\x04\\x2a\\x55\\x41\\x37\\x2a\\x6d\\x44\\x32\\x6c\\xef\\x29\\xc6\\x35\\x23\\xeb\\x7f\\xfe\\x72\\x15\\xa2\\xe5\\x3f\\x37\\x6f\\x7b\\xe0\\x88\\x45\\xca\\x27\\x23\\x6a\\x7e\\xe7\\xa9\\x83\\x7c\\x0f\\xa9\\xf7\\x15\\x4f\\x7a\\x1b\\x6b\\x7c\\x8a\\xa8\\x6b\\x16\\x01\\x78\\xe8\\x8a\\xe1\\x8d\\x34\\xde\\x23\\x76\\xfe\\x8f\\xd0\\xff\\x1a\\x34\\x90\\x6b\\x4b\\x09\\x42\\x34\\x1a\\xf3\\x5a\\xad\\x4e\\x1b\\x17\\x8b\\xd9\\x6a\\x33\\x3e\\x2f\\x39\\xcf\\x60\\xf3\\x07\\x65\\x52\\x36\\x11\\xa2\\x64\\xf8\\x13\\xe9\\xbe\\x81\\x04\\x0c\\x7f\\xa2\\xdc\\xe8\\x4d\\x2a\\x5b\\x8f\\x2d\\xa6\\x7c\\x7a\\x17\\xca\\x7a\\x6b\\xec\\x27\\x7f\\xe2\\x25\\xb7\\xbd\\x78\\xca\\x72\\xad\\x77\\xf4\\xdc\\xfc\\x99\\xda\\x9c\\x15\\xcf\\xdb\\xab\\x7d\\xfa\\xd3\\x90\\xde\\x21\\x54\\xf4\\x57\\x10\\x27\\xd5\\x80\\xbf\\x3a\\x32\\xd7\\x96\\x41\\x26\\x3e\\xc4\\xdb\\x1b\\xe3\\xc1\\x60\\x28\\x64\\x47\\xfc\\xa8\\xb6\\xb8\\x8f\\x73\\x08\\xae\\x54\\x0a\\x7c\\x55\\xca\\x15\\x75\\x86\\xa2\\xc4\\x5f\\x81\\xbb\\xd2\\x0c\\x9b\\x2e\\xe3\\x25\\x27\\xba\\xb5\\x35\\x5b\\xf7\\xde\\x5c\\x54\\xc0\\xd0\\x25\\xea\\xa3\\x5c\\x15\\x5d\\x14\\x8b\\x8f\\x8a\\x75\\x32\\xe5\\x6d\\x56\\x18\\xe3\\x52\\x5f\\xdd\\xa8\\x7b\\x28\\x16\\x1d\\x09\\x9f\\x16\\xeb\\x63\\x7a\\x3d\\x0c\\x1d\\x04\\x3a\\x41\\xea\\x61\\xe4\\x6c\\x66\\x6b\\x94\\xe3\\x3c\\x49\\xc1\\x1a\\x0e\\x0b\\x1e\\xa1\\x26\\x4d\\xde\\x33\\x92\\x9d\\x2e\\x6f\\xdf\\x80\\x0b\\x02\\x22\\xf0\\x50\\x61\\x32\\x4d\\xd5\\x90\\x98\\x56\\xc3\\x34\\x55\\x97\\x4c\\x93\\xf6\\xdc\\xba\\x41\\x87\\x59\\xe7\\x98\\xd2\\x8c\\xa8\\x67\\x19\\x26\\x68\\xc3\\x25\\xbf\\x2a\\x2f\\x63\\x9d\\xaf\\xcd\\x0f\\x3f\\xbe\\xa4\\x7a\\xa5\\xdc\\x67\\x98\\x1b\\x8c\\xa6\\xc1\\xdc\\xc4\\xa9\\x8e\\x9d\\x9c\\xeb\\x14\\x51\\x75\\xd0\\x92\\xa9\\xa9\\x41\\x6e\\x97\\xab\\xa9\\xda\\x82\\x50\\x75\\x67\\x36\\x93\\x49\\xba\\xdd\\x49\\xab\\xd5\\x9e\\x4c\\xd6\\xcf\\x82\\x50\\xc2\\xee\\x9b\\x35\\x60\\x0f\\x54\\xb4\\x41\\x23\\x96\\x2f\\x4a\\x85\\x8d\\x6a\\x96\\x58\\x3e\\x4b\\x86\\x9a\\x0d\\x37\\xa2\\x52\\x23\\x40\\x8f\\x85\\xb8\\xaa\\x41\\x8b\\xae\\x36\\x94\\x6a\\xbe\\x7c\\x68\\xae\\xa1\\x44\\x73\\xd8\\x51\\x98\\x7b\\xa4\\x5f\\x35\\x5b\\x27\\xa5\\x8b\\x35\\x9a\\xb6\\x59\\x97\\x1c\\xab\\x17\\x67\\x46\\x75\\x7b\\x46\\xcf\\xb9\\xfc\\x44\\x5a\\xc7\\xfa\\xbb\\x32\\x97\\xdf\\x28\\xfe\\x09\\xb2\\xc4\\xb9\\xb9\\x76\\x57\\xc8\\x1c\\x0b\\xd4\\xd6\\x9a\\xd3\\x21\\x3e\\x64\\x6e\\x6c\\xb0\\x7b\\xfa\\x06\\xec\\xae\\xbe\\x81\\x40\\x86\\x4c\\x11\\x68\\x53\\x75\\x00\\xbe\\x90\\x1d\\x09\\x7d\\x03\\x08\\x3a\\x8e\\xd4\\x4e\\x6b\\xf7\\x67\\x34\\x35\\x35\\x31\\xc3\\x9b\\x2d\\x06\\x4e\\xf4\\x9c\\x87\\xf6\\x52\\x64\\xd1\\xc1\\x56\\x70\\x3b\\xd2\\xb2\\xa6\\xa3\\x7d\\xdd\\xd3\\x26\\x4f\\xf8\\xcd\\x4b\\x03\\x93\\x1b\\x0f\\x9b\\x3a\\x19\\x0f\\x5e\\xb9\\x66\\x6a\\x53\\xb2\\xb3\\xb1\\xe5\\x7f\\x7f\\xad\\xcc\\x75\\xc8\\x7f\\xf6\\xf7\\x9d\\x27\\x9c\\xf2\\xda\\x66\\xef\\x5f\\xfc\\xfd\\x8b\\xf6\\xfc\\x55\\xb9\\xf7\\xa1\\xdb\\x2d\\x2f\\x9a\\xc7\\x8f\\xb9\\xeb\\xec\\x1d\\x5b\\x90\\xfa\\x26\\x27\\x7d\\x7f\\x3e\\x88\\x26\\xe7\\x32\\xc8\\xe1\\xb5\\x71\\x5c\\xd0\\x69\\xf2\\x06\\x85\\x70\\x28\\xe0\\x74\\x3a\\x40\\xf8\\x1c\\x68\\xf6\\x80\\xc3\\x2f\\xc2\\x84\\x89\\x16\\xf8\\xd6\\x27\\xad\\xf4\\xc6\\x75\\x1a\\x01\\x65\\x4a\\xac\\x5b\\x12\\x93\\xab\\xd1\\x26\\x62\\x6f\\x92\\x8f\\x3d\\xa2\\xce\\x83\\x92\\x57\\x96\\xe3\\x86\\xe7\\x9d\\x63\\x2c\\x13\\x77\\xe0\\xda\\xbc\\x6e\\xbb\\x84\\xb1\\xc3\\xf7\\x77\\xbc\\xd6\\xf0\\x5b\\xee\\x78\\xf5\\x4d\\xfc\\xc5\\xf4\\x0c\\xfe\\xfc\\x5c\\x30\\x20\\x09\\xbc\\xcb\\x65\\x97\\x64\\x8b\\x19\\x7c\\xbf\\x39\\x12\\x06\\xad\\x30\\x9b\\x68\\x89\\x2b\\x32\\xe0\\x80\\x08\\xce\\x66\\x76\\xca\\x7e\\xc1\\x49\\x74\\xc3\\x17\\xec\\x1b\\xf0\\x81\\x6e\\xf8\\x4a\\xbc\\x5b\\xd9\\xc3\\xf8\\xc6\\x0d\\x38\\xec\\x36\\x3f\\xa2\\x22\\x56\\xac\\xbf\\x8e\\x5f\\x34\\x5d\\xe8\\x92\\x19\\x7b\\xca\\x9f\\xc6\\x77\\x5e\\xa3\\x29\\x47\\xd9\\xcb\\xf8\\x97\\x96\\xe8\\xc6\\x14\\x90\\x91\\x1d\\x34\\xdf\\xe9\\xcd\\xd5\\x83\\x36\\x38\\x3c\\x4e\\xaf\\xcd\\x86\\x24\\x3e\\xe0\\xf7\\xd0\\x9c\\xc1\\xe5\\xb4\\x7b\\x6d\\x30\\xbc\\x95\\x7c\\xb2\\x7a\\x2f\\xb9\\x5a\\x3f\\x20\\xfb\\x00\\x98\\x2e\\x18\\x15\\x20\\xd9\\x45\\x2b\\x08\\x38\\xc9\\xef\\x50\\xc7\\x76\\xf8\\x74\\xae\\x8a\\x54\\x90\\x86\\x3f\\xe1\\x7a\\x35\\x2f\\xbc\\x83\\x5b\\xbf\\xf3\\xf5\\x61\\x75\\x1f\\xfc\\x78\\x65\\xae\\xb8\\x50\\x98\\x01\\xd1\\x70\\x0f\\x5a\\x91\\x4b\\x3b\\x42\\x2d\\x90\\xd8\\x5a\\x2c\\x75\\x2d\\xf1\\x44\\xa2\\xc3\\xd7\\x52\\x57\\xe7\\x1b\\x37\\x36\\x1e\\x4f\\x3b\\x9c\\xce\\x74\\x73\\x63\\xa3\\x3b\\x1d\\x6c\\x65\\x41\\x44\\x30\\xe8\\x4e\\xa7\\x21\\x82\\x4c\\xbb\\xdc\\x5d\\xe4\\x6d\\x74\\x19\\x64\\x59\\xe6\\xe0\\xbb\\x82\\x02\\x1b\\xe2\\xab\\x11\\x9b\\xa7\\x3d\\x45\\x49\\x11\\xd9\\x1e\\x41\\x9a\\xba\\x91\\xf4\\x47\\xdd\\x8a\\xaa\\x9f\\x6c\\xca\\x18\\x4f\\x36\\x61\\xd9\\xc1\\xf9\\xd5\\xf7\\x15\\x84\\x55\\x97\\xb4\\x8d\\x9d\\x9b\\x7b\\x70\\xed\\x21\\xbd\\x26\\xe9\\xfc\\x2f\\xef\\xd9\\xf4\\xa7\\xbf\\xfc\\xab\\x77\\xce\\x8c\\xe9\\x66\\xe5\\xed\\xe8\\x67\\x3b\\x7f\\xfb\\x6e\\xc3\\xa8\\x44\\xb5\\xd2\\x77\\xc3\\x89\\xb3\\x9b\\xa6\\x8e\\x9b\\x7c\\xc6\\xc4\\x39\\xcb\\x6d\\xff\\xe3\\x7e\\xec\\xc9\\xa9\\x8e\\x93\\x8e\\xfc\\xf3\\x63\\x77\\x3d\\xb8\\x49\\x14\\xba\\x17\\x9e\\x3a\\x75\\xb6\\xe3\\xde\\x75\\x43\\x83\\xca\\xf9\\xf3\\x0e\\x92\\xf0\\x4c\\xf5\\x9a\\xd6\\x69\\x2b\\xa7\\xb2\\x58\\x74\\xae\\xb8\\x11\\xc6\\x88\\xe4\\x47\\xf3\\x73\\x5d\\xbc\\xab\\xa6\\x26\\x10\\x48\\x55\\xa5\\x42\\x8d\\xe6\\x90\\x79\\x54\\x9b\\xcb\\xe5\\x21\\x37\\x10\\x78\\x9c\\x36\\xf0\\x37\\x36\\x17\\x0a\\xcc\\x1e\\x40\\x7e\\xa9\\x99\\xbc\\x08\\x1b\\xaf\\x82\\xa0\\x34\\x02\\xdf\\x95\\x92\\x86\\x8a\\x7b\\xc9\\xe9\\x48\\x8c\\x58\\xcd\\xee\\xa4\\x11\\x66\\xd6\\x6d\\x18\\x21\\xde\\x90\\x37\\x1c\\x6a\\xcc\\x1a\\x04\\x17\\xb6\\x4a\\x4b\\xc8\\x88\\x1c\\xf2\\xd0\\xdd\\xd7\\xa8\\x89\\x43\\x69\\xd6\\xd0\\x7f\\xf8\\xa9\\x8f\\x0e\\xaf\\x56\\xbe\\x27\\x03\\xf1\\xf8\\xa6\\xc3\\xb8\\xb4\\x96\\x38\\xb0\\xbe\\x4e\\x14\\xff\\x0c\\xd9\\x6e\\x07\\xb9\\x8f\\x38\\x5c\\x53\\x93\\x68\\xb5\\xd4\\xbb\\x3d\\x3c\\xcf\\x27\\x12\\x96\\xce\\xac\\xdb\\x6d\\x17\\x44\\x51\\xb6\\x07\\xc2\\x60\\xcf\\xa0\\x77\\x01\\xbb\\xbd\\x69\\x26\\x58\\x37\\x79\\xd4\\xcc\\x01\\x39\\x80\\x6a\\xc0\\x9a\\xa5\\x8a\\x16\\x4d\\x7f\\x2a\\x5c\\x7f\\xb0\\xd7\\xd8\\xe3\\xa0\\x31\\xb6\\x06\\x7d\\x2b\\x5d\\xbf\\x67\\x46\\x8e\\x99\\x6e\\xd6\\x71\\x07\\x36\\x2e\\xe0\\xaf\\x78\\xe8\\x2e\\x63\\xaa\\xb4\\xf1\\xce\\x13\\x8e\\xf0\\x1c\\xe2\\x9f\\xd0\\x0d\\x3d\\x8f\\x2e\\x56\\xb4\\x8e\\x2b\\x73\\x9f\\xd8\\x38\\x6c\\x4c\\x98\\xce\\xbe\\xfa\\x76\\xf7\\xeb\\xa2\\x7c\\xf0\\xd4\\x9f\\x3a\\xa0\\xfb\\xa2\\x8d\\x1f\\xd2\\xb3\\x26\\x32\\xd7\\x7d\\xd0\\x7f\\x19\\xe6\\xba\\x1a\\x65\\xd0\\xf9\\xb9\\x5c\\xca\\xea\\xaa\\x0a\\x54\\x79\\x3c\\x16\\x2b\\x9f\\xb6\\x58\\xf8\\xba\\x5a\\x97\\x4b\\x8a\\xc5\\x90\\x94\\xb2\\xce\\x1e\\x48\\x25\\x5d\\xee\\x69\\xce\\x14\\x76\\x88\\xa9\\x14\\x92\\xa4\\xf8\\xec\\x01\\xc9\\x85\\x1c\\xe4\\x5e\\x9b\\x70\\x00\\xc2\\x46\\x1f\\x7c\\x57\\x50\\x86\\xe3\\x8e\\x3d\\xa6\\x69\\xc4\\x2a\\x84\\x61\\x57\\x03\\xa9\\x9a\\x93\\xeb\\xee\\x8c\\x5b\\x59\\x8c\\xf3\\xae\\x1d\\x79\\xe1\\x7a\\xbf\\x51\\x7e\\xc4\\x96\\x6f\\x8a\\xbb\\x59\\xa8\\x12\\x3c\\x74\\xf7\\x29\\x2b\\xb4\\xed\\x2c\\x60\\x6d\\xfd\\xd8\\x86\\x13\\xfa\\x46\\x16\\xe5\\x4e\\x36\\xe3\\x27\\xd4\\xab\\xdb\\x59\\x68\\xac\\x21\\x10\\xd9\\xee\\x40\\xa7\\xe6\\xba\\xa2\\x12\\x0f\\x9e\\xba\\xb1\\xb6\\x66\\x14\\x3d\\x77\\x32\\xaa\\xb6\\x96\\xa7\\x33\\x5e\\x53\\x63\\x6f\\x6f\\x47\\x76\\xbb\\x6f\\x36\\xcc\\x34\\x4a\\x92\\x2e\\xb6\\x34\\xf6\\x0d\\xb4\\xd4\\xc3\\xf7\\xcf\\x76\\xd8\\xd9\\xe2\\x65\\x3e\\x3f\\xe3\\x7c\\x4a\\x49\\x97\\x39\\xfb\\x5f\\xbf\\xba\\x63\\xd5\\xb2\\xe5\\xef\\x6c\\xde\\xf2\\x71\\xe4\\x0b\\xd3\\x89\\x33\\xa6\\xcd\\xb8\\xf2\\x96\\xfb\\xae\\x1c\\xe8\\x9b\\x76\\xba\\xfb\\xdf\\x6a\\xb7\\x8f\\xf1\\x3d\\x71\\xdb\\x69\\xd7\\x39\\xb8\\xc8\\xa5\\x27\\xae\\xb8\\xeb\\xce\\x9b\\x02\\x53\\x0e\\x3d\\x70\\xfc\\x61\\x53\\x9f\\x3c\\x74\\x4e\\x6e\\xe6\\xc0\\x21\\xcd\\xca\\x35\\x5a\\xcf\\xe9\\x3b\\x4d\\x73\\xe9\\xfd\\xb7\\xa4\\xcf\\xa3\\x63\\xe6\\x48\\x3b\\xaa\\xf3\\xfa\\x7c\\xed\\x11\\x7b\\x5d\\xbb\\x94\\x6c\\x6f\\x4e\\x42\\xa7\\xbd\\xde\\x20\\x42\\xc1\\xda\\xda\\x9a\\x60\\xd0\\x35\\x1b\\xc2\\xe1\\x1a\\x7e\\xd6\\x40\\x4d\\xa0\\xb5\\xa9\\x6f\\xa0\\x15\\xd2\\xc9\\xd6\\x7d\\x75\\xba\\x2c\\x01\\x60\\xfb\\x39\\x7f\\xc6\\xa5\\xb8\\x74\\x31\\x44\\xeb\\x74\\x97\\x1b\\xd7\\xee\\xf5\\x7e\\xdc\\xbf\\x2c\\x3a\\x56\\xed\\x34\\x3e\\x74\\x1f\\xf7\\xe4\\xb6\\x9e\\xc9\\xfa\\x8c\\xcf\\x50\\xe5\\xfa\\xf7\\xd0\\xe7\\x38\\xaa\\x25\\x7b\\xb4\\x42\\xe9\\x34\\xef\\x34\\x3b\\xc5\\x58\\x75\\x75\\x4d\\x50\\x0c\\xd6\\xd7\\x81\\x50\\xbb\\x5c\\x88\\xe7\\xbd\\x28\\x58\\x03\\x1d\\x0e\\x7a\\x11\\x8a\\x92\\x75\\x01\\x6f\\x62\\xf6\\x80\\x37\\x60\\x33\\x83\\x53\\x92\\xcb\\xd2\\xb0\\x91\\xab\\x1d\\xa5\\xb7\\x02\\x67\\xf5\\x43\\x52\\x28\\x68\\x30\\x5d\\x5d\\xec\\xea\\x08\\xc3\\x3d\\x8e\\xea\\xed\\x8d\\xd9\\x8f\\xb1\\xe0\\x78\\x4e\\xed\\x59\\xcf\\xa7\\x0f\\x92\\xcb\\x1b\\x89\\x64\\x2b\\xdf\\x9d\\x83\\x8f\\xd7\\xaf\\x6c\\x54\\x86\\xbf\\x1f\\x1e\\x50\\x3b\\x36\\x79\\xd5\\x55\\xe4\\xd6\\x46\\x2a\\xdb\\xb8\\x76\\xcf\\x4c\\x2a\\xd3\\x1c\\xc9\\x83\\xb9\\x61\\x9a\\x53\\x92\\x3b\\xf1\\x32\\x12\\xc7\\xd9\\x6c\\x3e\\xe4\\x46\\x0e\\x47\\xc0\\xef\\x74\\x7a\\xdc\\x87\\x0f\\x78\\x30\\x8b\\x60\\xcc\\xe0\\x66\\xcd\\xe0\\xb9\\xcc\\xe5\\xf6\\x59\\x3f\\x36\\xa3\\xea\\x64\\xa6\\xc4\\xf6\\x42\\xc6\\x99\\x21\\x7e\\x76\\xfd\\x22\\xb5\\xb5\\xb7\\x90\\x0b\\x85\\x71\\x38\\xaf\\x9b\\x54\\x61\\xec\\xcb\\xbf\\x23\\x6f\\x9d\\x12\\xff\\x4a\\xee\\x50\\x05\\xdf\\x71\\x44\\xae\\x45\\x04\\x3b\\x62\\x0d\\xa5\\x52\\x31\\x0f\\x9f\\xa9\\xb1\\x58\\x9c\\x08\\x39\\x83\\x41\\x68\\x92\\x3c\\x73\\x00\\xb2\\x71\\x7e\\xe6\\x80\\x7f\\x2f\\x1e\\xa3\\x82\\x88\\x69\\x96\\x53\\x3b\\x31\\x41\\xfc\\x23\\xc7\\x6e\\xca\\x2c\\x97\\xa4\\xe3\\x0c\\xf7\\x98\\x5e\\xf2\\xc7\\xcb\\xd8\\x05\\xa7\\x2b\\xb5\\xb6\\xe3\\x93\\x0e\\x3f\\x09\\x2f\\xc2\\xe7\\xb3\\xfb\\x4f\\x95\\xb7\\x95\\x1f\\x95\\x6f\\x94\\x3f\\xf7\\x2c\\x55\\xc7\\x78\\x1d\\xd2\\xe2\\x5b\\xee\\x3b\\x88\\x6f\\x13\\x10\\xbb\\x34\\x98\\x1c\\x51\\x84\\x7c\\xbe\\x54\\x92\\x77\\x38\\x92\\xa1\\x58\\xdf\\x40\\x08\\xa2\\x5a\\x37\\xe4\\xca\\x4e\\xb7\\xd3\\x6d\\x0d\\x59\\x21\\x70\\xb1\\x8a\\xf0\\x5d\\x12\\xd7\\x92\\xa0\\x16\\x17\\x5d\\xbe\\xb6\\x37\\x56\\xaf\\xf3\\xc3\\xb8\\x8e\\x88\\x6e\\xf1\\x77\\xb7\\xdd\\x63\\x39\\xd3\\x33\\xd3\\x35\\x37\\xfb\\xd0\\xdd\\x25\\x31\\xad\\x65\\xcb\\xd3\\xae\\x13\\x4d\\x02\\x69\\xe2\\x76\\x88\\x67\\xf9\\x51\\x6a\\x3c\\x4b\\xc6\\x7c\\x25\\xc8\\xfa\\xf3\\x10\\x67\\x25\\x21\\x3b\\x6c\\x71\\x5a\\x23\\x92\\x64\\x36\\x5b\\x71\\xc2\\x6f\\xb5\\x26\\xd2\\xa9\\x48\\x34\\x1a\\x94\\x93\\xce\\x18\\xb4\\x36\\x16\\x08\\x9a\\x41\\xd6\\x21\\xf8\\xea\\x1b\\xf0\\xd8\\xe1\\xbb\\x5c\\x0a\\x46\\x9e\\xaa\\xd7\\x56\\x8f\\xe8\\x69\\x0f\\x56\\x77\\x30\\x88\\x85\\x1e\\xb5\\xb8\\xf1\\xed\\xdb\\xc8\\xc5\\x70\\x2b\\xd5\\x31\\xbe\\x59\\x90\\xb1\\xb8\\xe8\\xdf\\x8f\\x0f\\x42\\x4c\\x7b\\x9f\\xf2\\xd1\\xc6\\xab\\xb8\\x29\\x7b\\x96\\x29\\xdf\\xa9\\xc2\\x12\\xbe\\xa1\\xf5\\xb3\\x3f\\xed\\xe4\\x36\\x92\\xb6\\x93\\x35\\x00\\x07\\xb4\\xbd\\x16\\x9d\\x92\\xeb\\xb2\\x7a\\xe2\\xbc\\xcf\\x11\\xce\\xd8\\xdd\\x6e\\xc9\\xe7\\xcb\\xd4\\xd7\\x81\\xc0\\x84\\xc3\\x4e\\xab\\x35\\xe5\\xe4\\x21\\xac\\xe5\\xf9\\x94\\xd3\\xed\\x70\\x3a\\x60\\xdc\\x9d\\xa9\\xf8\\xac\\x81\\x54\\x6c\\xb6\\xa1\\x38\\x51\\x5c\\x73\\xda\\x9b\\x7e\\xb2\\x8b\\xc0\\x54\\xd3\\x44\\x5f\\xd4\\x61\\xe1\\xa3\\xe0\\x26\\xcb\\xdf\\xfa\\xd2\\x2c\\xeb\\x50\\x83\\x65\\xe9\\x71\\xe7\\x2e\\x99\\x74\\xc9\\x1d\\xa7\\xe0\\x49\\xc3\\xef\\xf0\\x57\\x2a\\xb7\\xe0\\x87\\x95\\x9f\\xbe\\x5a\\x7f\\xe9\\x61\\xd3\\x58\\x1f\\x77\\x1f\\x79\\xda\\xbc\\x53\\xa6\\xcf\\xce\\x3c\\x8f\\xf1\\xce\\x97\\x95\\x2f\\x1a\\x95\\x1d\\xdb\\xdf\\xeb\\x6b\\x99\\x90\\xb3\\x3d\\x42\\xc4\\xa8\\x8d\\xed\\xfd\\xe6\\xbe\\x12\\xbe\\x86\\xbc\\x22\\x89\\x0e\\xc9\\x05\\x04\\xb3\\x84\\x6c\\xa1\\x90\\x14\\xf3\\x78\\x24\\xb2\\xb7\\xc1\\x6c\\xb7\\xd9\\x04\\x33\\x3d\\x02\\x43\\xce\\x98\\xc5\\x91\\x13\\xd7\\x93\\xd7\\x72\\xf7\\x75\\x04\\x86\\xdd\\xb1\\xe3\\x93\\xe8\\x49\\xdb\\xe2\\x09\\x18\\x66\\x4e\\x79\\x7d\\xf9\\xf1\\x1b\\x59\\x24\\x67\\xa8\\x2d\\xc5\\x23\\xd4\\xec\\x1c\\x2b\\x77\\xa2\\x7b\\xb6\\x7f\\xfc\\xb9\\xf8\\x81\\xaa\\xab\\x3b\\x7a\\xd9\\x09\\x6a\\x8c\\x97\\x5d\\x89\\x25\\xcc\\x5f\\xcd\\x62\\xf6\\x76\\x68\\xf3\\x5f\\xe9\\xb9\\xa6\\xb6\\x9c\\x53\\x3b\\xd3\\x64\\xb1\\x48\\x5e\\xaf\\x4d\\x22\\x67\\x9a\\x5c\\x7b\\x39\\xd3\\x64\\x38\\xad\\x1a\\x94\\xc9\\xd9\\x3f\\x97\\x7a\\xf0\\x19\\x5f\\xf7\\xd0\\x33\\xcf\\x3e\\x7c\\xc5\\x23\\xbe\\x17\\xdd\\xe7\\xde\\x7c\\xdb\\xe8\\x5e\\xd3\\x36\\xd7\\xd3\\xf8\\xed\\x37\\x9f\\xdb\\xfa\\x87\\xab\\xcf\\xb3\\xac\\x2a\\x28\\xdf\\x4f\\x9d\\x6a\\x59\\x7a\\x13\\x8d\\x45\\xcc\\xf8\\x05\\xee\\x43\\xe1\\x3f\\xa8\\x0a\\xd5\\xa0\\xd9\\xb9\\x64\\x92\\xb7\\x06\\xab\\x70\\x2c\\xe8\\x16\\x45\\x1e\\x07\\x85\\xda\\x8c\\xcd\\x16\\x89\\xfb\\x7c\\x11\\x8f\\xc7\\x84\\x22\\x55\\x49\\xb2\\x13\\xab\\xfe\\xa9\\x64\\x3a\\xa2\\x1f\\xaa\\x77\\x67\\xb5\\x0b\\x85\\x47\\x5c\\xe4\\x43\\x57\\xa8\\xea\\xca\\x36\\x33\\xb8\\x83\\xc5\\xb1\\xcb\\x90\\x5b\\xec\\x60\\xf8\\x2e\\x3e\\xa7\\x66\\x74\\xc3\\xe0\\x23\\x57\\x3c\\xe2\\xdd\\x66\\x9a\\x3c\\xfe\\x26\\x7c\\xfe\\x99\\x17\\xad\\x7a\\x64\\xcd\\xaa\\x13\\xf1\\x79\\x67\\x4e\\x3b\\xa2\\xe5\\xb8\\x95\\xf8\\x85\\x85\\x3d\\xb9\\x39\\x67\\x3e\\xff\\xc7\\xd5\\xe7\\x58\\xc6\\x1e\\x5c\\x40\\xed\\xb3\\xe6\\x1f\\x7b\\xe6\\xca\\x43\\xaf\\x39\\xf8\\xf0\\x03\\xb5\\x33\\xf3\\xbc\\x4f\\xb2\\xd1\\x3b\\x84\\x8f\\xcd\\xd5\\xfb\\xcd\\xde\\x90\\x0b\\x09\\x61\\x4f\\x98\\x73\\x44\\x3d\\x09\\x73\\x94\\xe7\\xcc\\xb5\\x19\\x14\\xf6\\x87\\x42\\x7e\\x37\\x24\\x43\\xfe\\x6a\\x87\\x43\\x72\\x79\\xfd\\x64\\xff\\x7f\\x5a\\x3f\\xbd\\xac\\xdf\\x45\\x94\\xa5\\x9b\\x0e\\x3a\\xca\\x42\\x0b\\xed\\xc4\\x47\\xc0\\xed\\x2f\\x9e\\x5f\\x0b\\xd6\\xd6\\xc9\\x5d\\xdd\\xb5\\x20\\x12\\xc1\\x6e\\xbf\\x7a\\xfc\\x92\\x9c\\x88\\x9a\\xf8\\xd6\\xf6\\x4d\\x8f\\xbf\\xf2\\xf2\\x93\\xd3\\x6a\\x9b\\xc7\\xbe\\xba\\xe4\\xa0\\x45\\x3b\\x26\\x37\\x3d\\x33\\x85\\x1d\\x6b\\x13\\x4f\\xde\\xa5\\xec\\xe2\\x9e\\xfd\\xdd\\x6f\\xee\\x5f\\xf7\\xeb\\xe0\\x09\\x07\\x1d\\x79\\x69\\xfb\\x98\\x29\\xc9\\x64\\xdf\\x15\\xc3\\x4f\\x2e\\x39\\xf9\\xad\\x05\\x67\\xd1\\x7d\\xea\\xea\\x99\\x57\\x8f\\x24\\x9e\\xae\\xde\\x67\\xf1\\x29\\x7e\\x8b\\x9e\\xc9\\x1e\\x97\\xb3\\x0b\\x9c\\xcf\\x2e\\x71\\x5e\\x6c\\xe7\\x82\\x01\\x72\\x3f\\xc6\\x53\\x76\\xa7\\x65\\x10\\xa7\\xf3\\x88\\x1c\\x23\\x18\\x04\\xb9\\xd6\\x8f\\x2d\\x8e\\x58\\x8e\\xae\\x58\\x39\\x3f\\xe8\\x85\\xd3\\x4f\\x5f\\xb4\\xa8\\xf3\\xa0\\xaa\\xaa\\xae\\x9a\\x1b\\x85\\x63\\x87\\xaf\\xe1\\xce\\xbd\\xb2\\xef\\xb4\\x93\\xac\\xab\\xe4\\xd6\\x96\\x09\\xec\\xac\\x56\\x14\\xfd\\x16\\xbf\\x45\\xcf\\x4b\\x75\\xe5\\x02\\x3e\\x1b\\xf2\\x88\\xbc\\x47\\x96\\x6d\\xc1\\x80\\x93\\xf7\\xfb\\x25\\xbb\\xcf\\x67\\xc1\\x94\\xf1\\xf6\\x9e\\xb6\\x0e\\x56\\xb5\\x2f\\x3d\\xa5\\xe5\\x25\\x1f\\xe4\\x7c\\x96\\x5e\\x44\\x20\\x4b\\xad\\x8f\\x1b\\x19\\xf3\\x7d\\xf8\\x66\\xe5\\xf4\\x2b\\x95\\xdf\\xab\\x9c\\x71\\xec\\x4a\\x76\\x4f\\xde\\x28\\x34\\xc8\\x7d\\x2e\\x7c\\xed\\x92\\xc4\\x33\\x0a\\xa4\\x2d\\xcd\\xf8\\x53\\x6e\\x07\\x8c\\x85\\x0f\\x8d\\xc9\\xf9\\x1d\\xc8\\x63\\x96\\x3c\\x60\\xb8\\x40\\xa0\\x10\\x92\\x79\\xab\\xd5\\xe3\\x94\\x7f\\x8d\\xd3\\xc8\\x43\\x8f\\xa6\\x66\\x0d\\x97\\x3d\\x18\\x0f\\xb4\\x95\\x1c\\x53\\x22\\x9f\\x69\\x77\\x37\\x67\\xad\\x3b\\x6f\\xd6\\x05\\xcb\\x5e\\xb8\\xfc\\xe0\\x39\\x5b\\xb7\\x8a\\xfc\\xda\\xfe\\x99\\xb7\\x5d\\x87\\xc9\\x19\\xae\\xe5\\xc7\\xe1\\xdb\\x7f\\xfa\\x14\\xc7\\x6e\\x63\\xb1\\xbb\\x0c\\x73\\x71\\xba\\x58\\x40\\x56\\xfa\\xaa\\x95\\xd7\\x69\\x96\\xad\\x56\\x1b\\x79\\xfe\\xd4\\xe5\\xb6\\x70\\x9c\\xcc\\xf3\\x22\\x39\\x40\\x86\\xe8\\xf5\\x3b\\x76\\x10\\x30\\x62\\x53\\xd4\\xab\\x67\\x98\\xbb\\xd7\\xb6\\xc5\\x7a\\xe9\\xc5\\x65\\x6c\\x60\\xc8\\x8b\\xad\\x03\\xb3\\x67\\x6f\\x9d\\x03\\xbc\\x81\\xfe\\xf4\\x2b\\x71\\x93\\xf2\\xe7\\x2b\\x95\\x67\\xf8\\xcb\\xd6\\xac\\xa1\\xf6\\xe1\\x53\\xf5\\x1c\\x2e\\x7d\\xff\\x4c\\x14\\xe8\\x91\\x19\\xbe\\xf4\\x3e\\x29\\xe8\\x45\\xfb\\xd6\\xad\\xc2\\xae\\x61\\x49\\xb5\\x29\\xff\\x77\\x1c\\xda\\x37\\xc0\\xb1\\xa2\\x51\\x39\\x37\\xe9\\x18\\xe9\\x97\\xcd\\xae\\xf6\\xeb\\xd7\\x6a\\xbf\\xca\\xfb\\xe3\\x2e\\xef\\x0d\\xeb\\x89\\xb1\\x1f\\x88\\x5c\\xf6\\xf4\\x02\\x77\\x0e\\x8c\\x1b\\x89\\x97\\xaa\\xd1\\xd4\\x9c\\xcb\\x66\\x77\\xcb\\x61\\x9f\\x25\\x6c\\xaf\\x22\\x17\\x9b\\xc7\\x4d\\xe4\\x10\\x89\\x1b\\x26\\x2e\\x95\\xb7\\x48\\x92\\x3d\\x42\\x6e\\x9e\\xf1\\x03\\xbf\\x06\\xed\\xf4\\x1f\\x39\\xc9\\xc4\\x6e\\xa0\\xd2\\x77\\x01\\xb5\\x8f\\xea\\xa6\\x8a\\x38\\x0e\\x33\\xce\\xa0\\x99\\x64\\x24\\x31\\x2d\\x52\\x11\\x55\\xfc\\x7e\\xf1\\xe5\\x97\\xae\\x38\\x78\\xeb\\xc2\\x85\\xd7\\x76\\x6c\\x55\\xfe\\xd1\\x55\\x77\\xd8\\x89\\x0d\\x2f\\x5c\\x74\\xda\\x29\\xe7\\x70\\x0b\\x87\\x6f\\xbd\\xd1\\x76\\xed\\x1a\\x61\\xe3\\x9a\\x35\\x3f\\xbd\\x33\\x7e\\x5c\\xc3\\xec\\x64\\x0b\\x7d\\x07\\xf4\\x05\\xbc\\x16\\xda\\x68\\x47\\xa9\\x67\\xa0\\x11\\x3c\\xef\\x24\\x3b\\x9b\\x52\\x4f\\x59\\x4c\\xfa\\xd1\\x5a\\x6d\\xf9\\x9d\\x1e\\xc7\\xee\\xd2\\x5c\\x33\\x58\\xdc\\xe8\\xa2\\x25\\x5b\\xfb\\x6b\\x53\\xfe\\xc3\\x5f\\x38\\xfb\\x32\\xe1\\xd0\\x9f\\x36\\xf6\\x9b\\x6e\\x16\\x4c\\xf4\\xbd\\x85\\x17\\x70\\x1f\\xed\\x77\\x7b\\xce\\x6a\\xe6\\x79\\xd9\\x29\\x0b\\x82\\xc7\\x2d\\x12\\xe3\\x23\\x13\\x1f\\xf4\\x94\\x13\\xd9\\x28\\xf5\\x2c\\x3b\\xac\\x85\\x0d\\x77\\xae\\xd1\\x1a\\x2a\\xe9\\x9a\\xaa\\x39\\x47\\xf6\\x2f\\xde\\x7a\\xf8\\x92\\x85\\x99\\x03\\x12\\xf8\\xc8\\xfe\\x71\\x42\\x60\\xcf\\x69\\x9b\\x2f\\x3b\\xdb\\x76\\x33\\xe1\\x33\\x19\\xf4\\xa2\\x01\\xe6\\x4e\\x44\\xd5\\x5b\\x04\\x8c\\x91\\x24\\xd3\\xc3\\x72\\x82\\x76\\x58\\xce\\x6d\\x78\\x7e\\x31\\xeb\\x4e\\x72\\x0d\\x4a\\x78\\x2b\\xae\\x27\\x27\\xe4\\x86\\x6f\\x25\\x73\\xdf\\x86\\x5e\\x10\\xe6\\x08\\xdf\\xa0\\x16\\x34\\x90\\x8b\\x78\\x5b\\x92\\xd1\\x16\\x7a\\x4e\\xba\\x36\\x6a\\x42\\x51\\xbe\\xad\\xd5\\xe7\\xf4\\xd2\\x73\\xd2\\xcf\\xd1\\xe3\\xd9\\x26\\xdc\\x98\\x6f\\xe0\\xf9\\xa0\\x9b\\x78\\x83\\x54\\x4d\\xb5\\xde\\x7e\\x36\\x4f\\x23\\x97\\x29\\xd4\\x82\\x77\\xd9\\xc9\\xe3\\xd1\\x86\\xf5\\x09\\x76\\xd6\\x84\\x18\\x07\\xed\\x7c\\x32\\xfe\\x58\\x3b\\x3c\\x3d\\xf9\\x66\\x72\\x76\\x7a\\xe1\\xe1\\x67\\x2c\\x5e\\xb2\\x30\\x38\\xd7\\x97\\xa8\\xeb\\x5f\\x3c\\xa6\\xb7\\xec\\x04\\xf5\\xc3\\x0f\\x1f\\x31\\xfb\\xf6\\xeb\\x86\\x3f\\xbe\\xec\\x1c\\x59\\xbc\\xc5\\xd4\\x8f\\x3f\\x79\\xfd\\x9c\\xe3\\xb5\\x73\\xd4\\x1d\\xe8\\x79\\x61\\x16\\x8c\\x0d\\x39\\x71\\x15\\x74\\xe1\\x78\\x24\\x28\\x59\\x2c\\xe6\\x60\\xdc\\xcc\\xa7\\x92\\x56\\x97\\xdb\\xed\\x4b\\xc8\\xa1\\x5f\\xb3\\x43\\xb1\\x79\\xbe\\xaa\\xca\\xe1\\x2b\\x3f\\xfe\\x98\\x2d\\xbb\\x12\\xc7\\x78\\xfe\\x31\\xed\\xae\\x70\\xf6\\xb1\\xcb\\xcd\\xfd\\x8a\\x9c\\x7d\\xfc\\x75\\x66\\xd1\\xf4\\x47\\xd2\\x42\\xe6\\xb4\\xd9\\xa7\\x2f\\x7e\\xe1\\xac\\xb1\\xd3\\xf5\\x73\\x8f\\x3f\\xfd\\x0d\\xff\\xfa\\xc8\\xa9\\x0f\\xf5\\xcf\\xb8\\xe3\\x1a\\xfc\\x0f\\xf8\\xdd\\xb9\\xc7\\xd1\\x20\\x18\\x17\\xfe\\x85\\x5e\\xe0\\x6b\\x60\\x1e\\x12\\x68\\x72\\xce\\x1d\\x4d\\x88\\x7e\\x7f\\xc2\\x61\\xb7\\x27\\x52\\x49\\x49\\x14\\x1d\\xdc\\xf3\\xf4\\xa8\\x1c\\xb9\\x93\\xc9\\x0c\\x23\\x5f\\x55\\x1d\\x2a\\x4a\\xce\\x88\\x23\\xdf\\xf4\\x00\\xb2\\xf1\\x84\\x77\\x5a\\x1d\\x58\\xc3\\x50\\x5f\\xa5\\x1f\\xf4\\xde\\x7a\\xd9\\x94\\x23\\xcf\\x5e\\x18\\xec\\xf7\\xa5\\x6a\\xfb\\x85\\xb1\\xda\\x31\\x6f\\x7a\\x20\\x7d\\xe9\\x49\\x4a\\xfb\\x65\\xe7\\x98\\x04\\x18\\x56\\x36\\x9e\\xdd\\xd0\\xc6\\xf3\\xb5\\x36\\x46\\xfc\\x76\\x49\\x92\\x13\\x7e\\xbf\\x9c\\x4a\\x42\\x4b\\x65\\x0b\\x69\\xa3\\x0c\\x6d\\xe4\\x90\\x1b\\xda\\x18\\x0e\\xc6\\xf6\\xdd\\x46\\xac\\xc9\\x44\\x1b\\x36\\x9e\\x46\\x67\\x6a\\x45\\x86\\x94\\x0b\\x5f\\x36\\x75\\xce\\x56\\x8e\\xdf\\x62\\xe6\\xa8\\x89\\xee\\xaf\\x4b\\xf8\\x0f\\x8f\\x2c\\x5a\\xcc\\xdf\\x0a\\xb6\\x99\\x4c\\xff\\xc9\\x07\\x93\\xc6\\xde\\x76\\xfd\\xf0\\x07\\xfd\\xa6\\x5b\\x04\\xd3\\x39\\x97\\x21\\x76\\xe6\\x9f\\x7b\\x03\\xe6\\xdc\\x46\\xee\\x47\\xc3\\x56\\x2b\\x22\\x6f\\x8e\\x20\\xc9\\x61\\xb7\\xd2\\xe0\\x4f\\xa2\\x0d\\x94\\xe1\\x27\\xb3\\x7e\\x9c\\x74\\xc4\\xfd\\x68\\x38\\xad\\x5d\\xca\\x56\\xe7\\xce\\x72\\x6f\\x3c\\xa9\\x3c\\x27\\x3d\\xfa\\x32\\xce\\x4a\\x8f\\x02\\xed\\x60\\xef\\x34\\x65\\x19\\x28\\xcf\\x7f\\xee\\xc0\\xe7\\x91\\x7d\\x35\\xc5\\x73\\xf0\\x2e\\xea\\xa7\\xfd\\x0e\\x9f\\x4f\\x72\\x7a\\xbd\\xec\\x34\\xbc\\xd3\\xec\\x73\\x38\\x78\\x1b\\x3d\\x14\\xef\\xd6\\x8f\\x66\\x8e\\x8c\\x35\\xcb\\xcf\\xc7\\x67\\x52\\x72\\xb2\\x96\\xef\\xe8\\x4e\\x06\\x8a\\xe7\\xe3\\x95\\x1b\\xef\\xf4\\xe3\\xb9\\xde\\xb5\\xb7\\x07\\x95\\x27\\xa2\\xfa\\x29\\xf9\\x03\\x5e\\x7e\\x79\\xf8\\x87\\x67\\x9f\\xa5\\x7b\\x7c\\x5a\\x60\\x7e\\xde\\x02\\x9b\\xe3\\x46\\x21\\x88\\x70\\x0f\\xcd\\x79\\x2c\\x01\\xb7\\x5b\\xae\\x42\\x61\\xc1\\x63\\x17\\x90\\x9d\\x4f\\x26\\x4c\\xbf\\xc6\\x64\\x27\\x63\\x43\\xde\\x1f\\x8b\\x59\\x64\\xd0\\xe2\\x7c\\xa0\\xaa\\xca\\x85\\x0d\\xe7\\x0c\\xa9\\xf0\\x1b\\xab\\xec\\x6a\\xa5\\x5d\\x3d\\x64\\x08\\xbf\\xa2\\x05\\x05\\xd9\\xed\\xed\\xac\\xad\\x73\\x4f\\xc4\\x19\\x72\\xe4\\x10\\xec\\xe0\\x83\\x9b\\x5e\\x7b\\x79\\xf3\\xb3\\x9b\\x5f\\x7e\\x6d\\xd3\\xd3\\x03\\x47\\xcd\\x3d\\x7a\\xf8\\x83\\xa3\\xe7\\x1e\\x35\\xf0\\x02\\x8e\\x49\\x7f\\x7a\\x2a\\xff\\x07\\x09\\xdb\\x95\\xaf\\xa5\\x3f\\xe4\\x9f\\xfc\\xb3\\xa4\\x7c\\xc4\\x3d\\xb2\\x72\\x85\\x34\\xfc\\xbd\\x7c\\xc5\\xd2\\x0b\\xaf\\x94\\x39\\x93\\xb4\\x82\\xf9\\x2d\\xf4\\x3c\\xf7\\x5b\\x18\\xc7\\x76\\x74\\x50\\xce\\xd7\\x58\\x3b\\xca\\xe6\\x49\\x84\\x6d\\xb5\\xa3\\xa4\\x44\\xc2\\x96\\xed\\xc8\\x78\\xc9\\xf5\\x7e\\xf5\\x4f\\x21\\x3e\\x0d\\x4d\\x7d\\xaa\\xb1\\xbe\\xa5\\x68\\x79\\xe0\\x6f\\x47\\x85\\x34\\xca\\x6b\\xd8\\x5e\\x3b\\x72\\x53\\x2d\\x57\\x5e\\x13\\x99\\x80\\xff\\xe6\\x98\\x76\\xe4\\x9c\\x83\\x72\\x93\\x5f\\xbb\\xe2\\xde\\xdb\\xaf\\x58\\xeb\\x7b\\xd4\\x9c\\x9b\\x32\\x65\\x4a\\x76\\xd2\\x13\\xe7\\x4e\\x78\\xea\\xb6\\xf9\\x53\\xfa\\xd3\\x35\\x07\\xb4\\x2d\\x5a\\xcc\\xbd\\x38\\xba\\xa5\\xb9\\xa9\\xb6\\xd9\\x5e\\x7b\\xd6\\x89\\x67\\x2c\\x5b\\x74\\x92\\x77\\x54\\x4b\\x4d\\x63\\xb2\\xce\\x5e\\x3b\\x7e\\xde\\xd4\\x25\\x17\\x27\\x66\\x0d\\x98\\x6f\\xb4\\x9d\\x73\\xd9\\x37\\xd4\\xfe\\x0f\\x72\\xf5\\x30\\x17\\x21\\xd4\\x90\\xb3\\xba\\x60\\x1a\\xcd\\xe6\\x48\\xd8\\xe5\\xb1\\x13\\xbf\\xc2\\x8b\\xc5\\x7b\\x3f\\xb2\\x86\\x4b\\x34\\xba\\x59\\x94\\x34\\x11\\x97\\xae\\xc2\\xf8\\xa4\\x0b\\x73\\x0d\\x8d\\xcd\\x89\\x8c\\x7b\\xd5\\xe5\\xb9\\x86\\xaa\\xce\\x51\\xad\\x97\\x0c\\x3a\\x6f\\x75\\x46\\x3b\\x26\\xf2\\x91\\xeb\\x56\\xd8\\x6f\\x77\\xe6\\xa6\\xef\\xd9\\x75\\xdd\\x0a\\xa6\\xa3\\x56\\xf0\\x3b\\xcf\\x8a\\xb7\\xa1\\x18\\x9a\\x9e\\x0b\\x39\\xb9\\x80\\xdd\\x6d\\x31\\x55\\xf1\\x10\\x29\\x49\\xf1\\x6a\\xbf\\x9f\\xb7\\xba\\x4c\\x26\\xbb\\x99\\x58\\x73\\x2f\\x11\\xc7\\xa7\\x40\\x38\\x8a\\x6a\\x5a\\x76\\xd8\\x3e\\xa8\\x19\\x3d\\xe2\\x8f\\x60\\x14\\xcb\\x4f\\xdc\\xab\\xce\\xe9\\xc5\\xbe\\x59\\xfd\\xfa\\xc1\\xfb\\x53\\x17\\xf5\\x8c\\x69\\xc3\\x33\\x4f\\x6a\\xe2\\x8e\\x3b\\xb6\\x78\\x00\\xff\\x9d\\x93\\x17\\x3b\\xae\\xb3\\xd2\\x38\\x4a\\xc2\\xef\\xf0\\xe3\\x41\\x3f\\xc3\\x90\\xa7\\xf5\\xe7\\x92\\xb2\\xd9\\xc1\\xc5\\xc4\\x98\\x19\\x27\\x42\\x81\\x84\\xcf\\xec\\x4b\\xa7\\x1c\\x4e\\x67\\xd8\\x14\\x0f\\x04\\x44\\x1c\\x0c\\xda\\xf8\\xb0\\x76\\x2c\\x3f\\x52\\x7a\\x2c\\xbf\\xb8\\xf5\\xac\\xec\\x00\\x47\\x56\\xdb\\x81\\xa9\\x46\\x06\\xc1\\x74\\x1b\\x2d\\xfe\\xaa\\x5b\\xb6\\x68\\x8c\\x90\\xf4\\xfb\\x20\\x16\\x8c\\x6d\\x9d\\x3d\\x5b\\x7a\\x86\\x93\\xf8\\x69\\x0f\\x9e\\x7f\\xf1\\xf4\\xe9\\x78\\xf2\\x81\\x73\\x95\\x8f\\xc0\\x50\\xff\\x9d\\xbc\\xf1\\xb1\\xfc\\xe9\\x73\\x47\\x47\\x2f\\x7e\\xf0\\x96\\xeb\\xa7\\x2e\\xc7\\x89\\xe1\\x6b\\xce\\x3c\\xc2\\xe7\\x78\\x9d\\xf9\\x14\\x68\\x7f\\x33\\xb4\\xbf\\x95\\xdc\\xa3\\xc9\\x37\\x36\\x66\\x90\\xc9\\x13\\x89\\xc4\\xfd\\x8e\\x8c\\x29\\xee\\x30\\x39\\x46\\xb5\\x61\\xbf\\xbf\\x25\\x40\\x06\\x38\\xa5\\xdf\\x76\\xaa\\x06\\x4d\\xe5\\x8b\\xf7\\xd4\\xd2\\x40\\xb8\\xa2\\x4a\\x23\\xa8\\x7e\\x37\\x08\\x2c\\x7d\\x0f\\x91\\x5c\\x95\\xcd\\x69\\x17\\x13\\xd2\\xb5\\xc6\\x71\\x98\\x6f\\x3e\\xa0\\x25\\x5e\\x1b\\xff\\xed\\xc3\\x8f\\xbd\\x7a\\x84\\xab\\x65\\xf2\\x55\\xb9\\xc3\\x42\\xb1\\xd0\\xfc\\x59\\x7d\\x27\\x85\\xaa\\x42\\x33\\x27\\xfe\\x52\\x38\\x22\\xe9\\x1c\\x3d\\xbd\\xbf\\xfd\\x96\\xc7\\x1f\\xbf\\xe5\\xd4\\x2b\\xc2\\x9e\\xe4\\xf5\\x87\\xe6\\x92\\x07\\xf6\\xce\\x6a\\x3b\\xea\\x8c\\x45\\x47\\xb7\\xcc\\x3a\\x64\\x4a\\xf2\\x80\\x43\\xc8\\x1b\\xdb\\x90\\x63\\x3c\\x0b\\xed\\x1f\\x71\\x47\\x5e\\xdd\\xcf\\xbe\\x23\\xef\\xbc\\x07\\xd6\\x6e\\x1d\\xdb\\xdb\\x3b\\x76\\xeb\\xaf\\xf0\\xdb\\xb7\\xae\\xc5\\x7f\\x56\\x26\\x92\\xb7\\x00\\xf0\\x4b\\x4a\\xd3\\xda\\x5b\\xe9\\x18\\x35\\x01\\x8f\\x6d\\xf4\\xac\\x73\\x5b\\xce\\x66\\x33\\xbb\\x79\\x73\\x80\\xe7\\xa3\\x11\\x1f\\x88\\x66\\x3d\\x24\\xbb\\x16\\x7a\\xc1\\x83\\x7e\\x7b\\x54\\x87\\xf1\\x5e\\x53\\xed\\xce\\x23\\x8d\\xa7\\x76\\x0d\\x1b\\xc6\\xef\\x2f\\x59\\x9c\\x7f\\xf4\\xfe\\x9b\\x81\\xf3\\x1d\\x6d\\xad\\x2d\\x29\\xff\\x80\\xf0\\xf5\\x2d\\xf7\\xfd\\xeb\\x87\\xbb\\x1f\\xc0\\xaf\\x2b\\xbd\\xc7\\x9f\\x80\\x0f\\x38\\xe1\\x30\\xd3\\x4d\\x22\\xb9\\x06\\xa4\\xf4\\x0e\\x01\\x89\\x33\\x73\\x56\\xb3\\x85\\x37\\x93\\xc8\\x92\\x5c\\xa7\\x5a\\xc7\\xba\\x58\\xbc\\x43\\x20\\x8b\\xd3\\x3c\\x24\\x74\\x7c\\x1a\\xcb\\xbb\\xb0\\xfc\\xfa\\x25\\xf5\\xa6\\xec\\x95\\x3b\\x48\\x70\\x8c\\x1f\\xbd\\xa6\\x66\\x83\\x32\\x87\\xf6\\x69\\x36\\xd0\\xfc\\x15\\xa5\\xd9\\x94\\xb3\\x9b\\x24\\x5e\\x46\\x9c\\x24\\x21\\xab\\x85\\xa7\\x43\\x27\\xeb\\x97\\x6d\\x96\\xde\\xd6\\xe5\\xd5\\x16\\xcd\\xfc\\xb3\\xf1\\x51\\xca\\x4b\\x9c\\x5b\\x59\\x8f\\x97\\xe2\\x4f\\xaf\\xc1\\xef\\x5f\\x7f\\xad\\x92\\xbe\\x81\\xd9\\x3d\\xbe\\x13\\xe8\\xfa\\xd0\\x84\\x9c\\x5b\\xb0\\x20\\xb2\\xd4\\xe3\\xf0\\x78\\x6d\\x1e\\x5b\\xc0\\xef\\x74\\x31\\x45\\xb5\\x91\\xbb\\x82\\x38\\xd9\\xa0\\xa8\\xe5\\xcb\\x8a\\xc4\\x7b\\x14\\x4d\\x99\\xbe\\x54\\xc7\\xdd\\x32\\x37\\x55\\x7b\\x60\\xeb\\xa2\\xb3\\x94\\x69\\xf8\\x2c\\xe5\\x09\\xae\\x56\\xb9\\x09\\x5f\\x8f\\x1f\\xe9\\xa7\\x56\\xaa\\x9b\\xb4\\xe2\\x3a\\xa5\\x86\\xe5\\x37\\x1d\\x78\\x1e\\xbf\\x0e\\xda\\x11\\x80\\x28\\xfd\\x90\\x5c\\xa4\\x0a\\x42\\x49\\x2e\\xe8\\x72\\x71\\x82\\xc9\\x2c\\x72\\x26\\x2e\\x11\\x0f\\x70\\x61\\xbb\\x9d\\x13\\x25\\xc8\\xf8\\xf2\\x55\\x66\\xb3\\x8f\\x33\\xdc\\x71\\x48\\xcf\\x42\\xbf\\x6a\\xa8\\xff\\xf4\\x14\\xef\\x88\\xec\\xd6\\x5a\\x93\\xd5\\x6a\\xd2\\x4d\\x58\\x92\\xa9\\xf7\\x97\\xb3\\x1d\\xb8\\xa3\\x46\\x79\\x47\\x6b\\xdb\\x43\\xb3\\xaf\\x3f\\xa2\\xff\\xd4\\x15\\xe7\\x3c\\x1b\\x69\\xc6\\xc7\\x8e\\x4e\\x8e\\xab\\x3b\\xab\\x17\\x3f\\x34\\x45\\x1d\\xac\\x2b\\xce\\x9b\\xdf\\x7f\\xf2\\x69\\x6d\\xc7\\xe3\\xa3\\x3a\\x46\\x77\\x33\\x5b\\x57\\x07\\x3e\\xe3\\x6d\\x68\\x73\\x84\\xdc\\x64\\x19\\x72\\xc8\\x76\\x4b\\xd0\\x6c\\xb7\\xf3\\x6e\\x77\\xb0\\x2a\\x1a\\x0a\\x59\\x65\\xd9\\x67\\x51\\x03\\x57\\x1f\\x1d\\xba\\xb2\\x37\\xad\\xd4\\x08\\xb5\\x87\\xdd\\x3c\\x6c\\xb8\\xfd\\x9f\\xd7\\xce\\xfb\\x93\\x05\\x7f\\x7c\\xc1\\xc0\\xf4\\x33\\x97\\x1f\\xf4\\xb1\\xb2\\x82\\x3b\\xf9\\xbb\\x5f\\xde\\xfe\\xec\\x23\\xd7\\x3f\\xe5\\xfe\\x8d\\xf9\\x08\\x7c\\xd0\\x09\\x67\\x9d\\x7c\\xc2\\x15\\xff\\xbd\\xfe\\x6a\\xa5\\xe0\\x7c\\xf8\\xb2\\x07\\xb6\\x5e\\xb7\\xd2\\x3c\\x75\\x2a\\x7b\\x4b\\x82\\xdc\\xb7\\xb5\\x51\\x54\\x90\\x05\\x62\\x82\\x00\\xe4\\xce\\x1e\\xaf\\xc3\\x21\\xf9\\xec\\x76\\x88\\x09\\x42\\x41\\x87\\xd7\\xcb\\xbb\\x4d\\x24\\x0d\\xb0\\x96\\x06\\x04\\x65\\xd1\\x00\\xd9\\xee\\xce\\xb9\\x5d\\xc9\\x0e\\x8f\\xb6\\x4d\\x96\\x27\\x2b\\x33\\x1b\\x1f\\xb8\\xeb\\xa6\\x07\\xf1\\x84\\x07\\x6e\\x55\\x5e\\xba\\x58\\x2e\\x20\\xee\\x80\\x49\\xab\\x78\\x8c\\x85\\xf1\\xfc\\x97\\xca\\xd7\\xca\\x8f\\x58\\xc0\\x4e\\xce\\xa5\\xfc\\x30\\x3c\\x1f\\xcf\\xb9\\xff\\x49\\x3e\\xa5\\x0c\\x3e\\x78\\x3f\\x6d\\x93\\xb2\\x46\\x78\\x08\\x9f\\x29\\x1d\\x01\\x79\\x82\\x19\\xf2\\x1c\\xd7\\x66\\x09\\xb2\\x66\\x90\\xb6\\xb6\\x8e\\x8e\\x37\\x3b\\x3a\\xda\\x47\\x91\\x54\\xd4\\xeb\\xef\\x86\\x2c\\x4a\\x84\\xef\\xcd\\x5f\\x8c\\xcb\\xbe\\x36\\x5c\\xf3\\x1a\\xe0\\x5c\\x9d\\x51\\xce\\x4e\\xfe\\xe1\\xbd\\xf7\\xe0\\xef\\xcf\\xa1\\xc3\\x77\\x79\\xb3\\x7e\\x3e\\xa3\\xd2\\x39\\x67\\xdc\\x17\\x9b\\x95\\x35\\xaf\\xe1\\x43\\x81\\x52\\x12\\x5f\\x97\\x51\\xce\\x57\\x29\\xe1\\xc2\\x52\\x65\\x06\\xea\\x2f\\x3c\\x8c\\x9a\\x90\\x23\\x1f\\xf4\\x63\\x7f\\x04\\xb5\\x65\\x87\\x5c\\xbf\\x25\\x37\\x49\\x11\\x4b\\x48\\x1e\\xcd\\x24\\x76\\x8f\\x7c\\xd2\\x8b\\x02\\xd8\\x31\\x7a\\xba\\x7d\\x9d\\xd9\\xc6\\xfe\\xe3\\x4e\\x48\\x64\\x12\\xf0\\x37\\xd3\\x94\\x69\\x6e\\xed\\x30\\x65\\x0f\\xce\\x66\\x67\\x38\\x1d\\x87\\x80\\x89\\x54\\xce\\xab\\x8b\\x47\\x9d\\x01\\x17\\x04\\xa8\\x16\\x87\\xd7\\x6d\\xf7\\x7b\\x5c\\x26\\x8f\\x7f\\x54\\x55\\x26\\x5c\\x97\\x96\\x25\\x41\\x08\\x27\\x9d\\x5e\\xa7\\xcd\\xe4\\x01\\x19\\x52\\xee\\x15\\xfe\\x8c\\xaf\\x90\\x64\\xe4\\x41\\x9e\\x2d\\xd8\\xed\\xb6\\x59\\x6c\\x64\\x5f\\xff\\x10\\x71\\x2d\\xd4\\x3c\\x93\\xfd\\xb2\\xb5\\x5d\\x59\\xd0\\xae\\x89\\xdc\\x38\\x8c\\xaf\\x18\\x3d\\x71\\xe1\\x82\\xd3\\x27\\x5d\\xb8\\x7c\\xf3\\x99\\x0d\\x47\\xcd\\x3f\\xe7\\xc0\\x5a\\xb1\\x3b\\x5e\\x13\\xbf\\xf7\\xa6\\x55\\xa9\\xfa\\x14\\x91\\x49\\xe5\\x55\\xe1\\x31\\x3c\\x56\\x7c\\x0b\\xc6\\xc7\\xf2\\x14\\x07\\xff\\x02\\x2d\\x92\\x7b\\x75\\x07\\xc5\\xa4\\xf2\\x2a\\x1e\\xf7\\xd5\\x74\\xe5\\x33\\xe5\\x3e\\xf1\\xf0\\xcb\\x6e\\xba\\x1d\\x8d\\x80\\xe7\\x05\\xc8\\xc7\\xb2\\x6f\\x12\\xf8\\x4c\\x77\\x30\\x89\\xc7\\x2a\\xf7\\x29\\x9f\\x4d\\xff\\x0a\\x8f\\x13\\x1e\\xbb\\xfd\\xa6\\xcb\\x46\\xc2\\x8b\\x98\\x27\\xaf\\x90\\x10\\x78\\x51\\xae\\x23\\xf4\\x8f\\xc3\\xfe\\xe9\\x5f\\x29\\xaf\\x88\\x6f\\x55\\x84\\xc7\\x22\\x87\\xda\\x86\\x28\\xbc\\x5c\\x97\\x21\\xf4\\x5f\\xf9\\x6a\\x3a\\xf6\\xe3\\xe3\\xc4\\x56\\xbd\\x3d\\xfd\\xc2\\x56\\xbc\\x5e\\xdc\\x0d\\x16\\x2d\\x9c\\x23\\xcf\\xd0\\x72\\x18\\xbe\\x20\\x9d\\x6c\\x1b\\x52\\xdf\\x5f\\x21\\xc3\\x12\\xec\\x06\\x7e\\x72\\x46\\x59\\xf7\\xc1\\x6e\\x3c\\xba\\xf7\\xf3\\x5d\\xca\\x1b\\xe2\\xee\\x65\\x17\\xdc\\x71\\xd3\\x25\\x2b\\xee\\x1c\\x41\\x03\\x4b\\x60\\x34\\xe0\\x4b\\xe6\\x4b\\x69\\x88\\x75\\xd0\\x86\\x60\\x37\\x5e\\xaf\\xbc\\xb1\\xeb\\xf3\\x5e\\x3c\\x7a\\xf7\\x07\\xe2\\xd1\\x77\\xae\\xb8\\xe4\\xa6\\x3b\\x2e\\x58\\x46\\x6c\\xf8\\xb5\\xca\\x5c\\x74\\x6e\\xe1\\x0d\\xf0\\x53\\xc1\\x9c\\xd9\\xca\\x99\\x44\\xc1\\x8e\\xec\\x26\\x2a\\x24\\x6f\\x76\\xb8\\xb6\\xc3\\x20\\xf1\\xee\\xba\\x2c\\x4b\\x23\\xb5\\xaa\\xd6\\x62\\xfe\\x58\\x11\\x3b\\x5a\\x1a\\x7d\\x96\\xb0\\xbb\\xa6\\x53\\x99\\x8b\\x83\\x47\\xcc\\xa8\\x6f\\x11\\x4f\\x16\\x7b\\x7a\\xc8\\xfb\\x77\\x85\\xb3\\x84\\x45\\xe8\\x06\\x98\\x6b\\x89\\x8c\\x05\\x4f\\xe6\\x06\\xe4\\x8d\\xcf\\xf8\\xe5\\xa0\\x3f\\x73\\x23\\x4e\\xae\\x5d\\xab\\xbc\\x2f\\x1e\\xf9\\xe4\\xca\\x99\\x33\\x57\\x3e\\x49\\x6c\\xa2\\xf2\\x3e\\x90\\xb8\\xab\\xf0\\x35\\x7d\\x9b\\x1f\\x7a\\x22\\x5b\\xb0\\xd5\\x64\\xe2\\x55\\x4c\\xd0\\xd9\\xed\\xae\\xed\\x30\\x98\\x20\\xe9\\xdd\\x75\\x5d\\x62\\x90\\xcf\\x06\\xbb\\xb3\\xbc\\xf2\\xfe\\xda\\xb5\\x38\\xb9\\xe9\\xc9\\x55\\x33\\xfa\\x56\\x3c\\xf9\\x3d\\x23\\xf6\\x18\\xa3\\x4d\\xeb\\x5a\\x59\\x65\\xae\\x78\\xa3\\x78\\x89\\xa7\\x16\\x81\\xe1\\x75\\xcb\\xdc\\x27\\xdc\\x87\\xc0\\xcb\\x99\\x33\\xf3\\x5c\\x00\\x05\\x5c\\x82\\x9c\\x69\\x72\\x77\\x75\\xb1\\x1a\\x18\\x59\\xdf\\x59\\x25\\xcc\\x00\\xd8\\x29\\x2a\\xec\\x89\\x1a\\xec\\x58\\x7e\\x6c\\x27\\x5f\\x65\\x80\\xbd\\x0a\\x21\\x71\\xa1\\xf4\\xbf\\x00\\x9b\\xa1\\xb0\\x77\\xe1\\x7e\\xec\\x40\\xa1\\x2d\\x7c\\x3a\\x2d\\xd6\\xf2\\xc9\\xc1\\xc2\\xd3\\xf9\\x64\\x5a\\x44\\x04\\x03\\x91\\x6f\\x82\\xf3\\x0b\\x7a\\xd7\\xc0\\x5b\\x80\\x73\\x90\\x8a\\xf3\\x00\\xd8\\x2c\\x4b\\x9e\\x4b\\xa5\\xdc\\xb5\\x04\\x8a\\xd0\\x55\\xd6\\x88\\x0b\\x69\\x7b\\x29\\x5d\\xb3\\x87\\x27\\x05\\x31\\xe7\\x93\\x84\\xe4\\x1b\\x45\\x92\\x8c\\x1e\\x58\\x87\\xeb\\xc5\\x21\\x8d\\x1e\\xc0\\x92\\x44\\xdc\\xf6\\x0c\\x97\\x46\\xe9\\x8c\\x55\\x05\\xa4\\x34\\x37\\x1a\\x69\\x72\\x5f\\xb3\\x31\\x78\\x12\\xa2\\xfb\\xc2\\xa7\\xf9\\x74\\xaa\\x94\\xe6\\x46\\x23\\x4d\\x80\\xbd\\x9c\\xc2\\x72\\x99\\xc1\\xc2\\x8f\\xf9\\x4c\\x8d\\xd5\\x00\\x4b\\xf6\\x17\\x5c\\x2f\\x07\\x01\\xb6\\x16\\x21\\x57\\x1d\\xba\\x08\\x7f\\x4a\\x70\\x4c\\x0a\\x7d\\x0a\\x19\\xfa\\xd5\\xda\\x2a\\x6a\\xfd\\xea\\x83\\xb1\\xed\\x16\\xdf\\x03\\xd8\\x83\\x55\\xd8\\x66\\x02\\x8b\\xce\\xc7\\x21\\x0d\\xb6\\x38\\x06\\x30\\xb6\\x4b\\xe8\\xd8\\xd6\\xa9\\xe3\\xb4\\x80\\x8e\\x2d\\x07\\x51\\x6a\\x2d\\xe7\\x1b\\x2c\\x6c\\xcb\\xfb\\x02\\x52\\xe9\\xd8\\xce\\x81\\xb1\\x3d\\x9a\\x8e\\xed\\x54\\x86\\x83\\x6e\\x65\\x63\\x9b\\xc9\\x94\\x8c\\xed\\x12\\x3a\\x0e\\x75\\xea\\x78\\x9d\\xc1\\xfa\\x06\\x24\\xef\\x29\\x92\\x54\\xfb\\xb6\\x06\\xe8\\x0d\\x69\\xf4\\x00\\x76\\x9c\\x3a\\xb6\\xce\\x74\\xc6\\x1c\\x28\\x19\\x5b\\x03\\x4d\\x7d\\x6c\\xb9\\xc0\\x60\\xe1\\xe3\\x7c\\xc0\\x5f\\x4a\\x73\\xa3\\x91\\x26\\xc0\\x1e\\xcd\\x68\\x66\\xc4\\x4c\\x4d\\x09\\xcd\\x9e\\x12\\x9a\\xff\\xe4\\xae\\x63\\x34\\xa3\\x83\\x85\\x1b\\xf3\\xd1\\xaa\\x52\\x9a\\x3d\\x25\\x34\\xff\\xc9\\x2d\\x66\\x34\\x1b\\x83\\x8d\\x4d\\x25\\x34\\xfb\\x4b\\x68\\xee\\xe6\\x76\\x30\\x9a\\x91\\xc1\\xc2\\x50\\x3e\\xe2\\x2b\\xa5\\xd9\\x5f\\x42\\x73\\x37\\x77\\x01\\xa3\\xd9\\x90\\x68\\x48\\x1b\\x69\\xc2\\x3c\\x49\\x72\\x13\\xc0\\xd5\\xd3\\x31\\x7a\\x95\\x23\\x87\\x91\\x62\\x39\\x33\\x87\\xbd\\x5e\\x98\\x29\\x0c\\xe3\\xfa\\x41\\xde\\xe7\\xc7\\x56\\xa6\\x38\\xf4\\x1f\\xf5\\x6d\\xca\\x16\\x89\\xd0\\x9f\\x46\\x64\\x81\\x7b\\x89\\x6f\\x2d\\x5c\\x07\\x7c\\x56\\xa3\\xdd\\x85\\xff\\xc2\\x9c\\xf1\\x46\\x7d\\x28\\xe3\\xb1\\x83\\x7b\\x15\\x78\\x44\\x9e\\xe1\\xb0\\x9f\\x70\\xf0\\x0f\\x16\\x0a\\x79\\x48\\x2f\\x34\\x0e\\x5d\\x5d\\x15\\xe8\\xbf\\xcc\\x2f\\xdc\\x3b\\x7d\\x18\\x17\\x89\\x8e\\x4b\\xbd\\xda\\xd7\\x5d\\xb4\\xaf\\xd8\\x5b\\xed\\xb5\\x33\\xb2\\xec\\x3d\\x4d\\x18\\x93\\x16\\x6a\\x1b\\xa6\\xa9\\x70\\x33\\xd8\\x98\\x24\\xdd\\xc9\\x28\\x6f\\x31\\x8c\\xf3\\xd2\\x12\\x7a\\xff\\xe1\\x86\\x18\\x3d\\xbf\\xe8\\x4f\\x95\\xd0\\x5b\\x5a\\x42\\xef\\x3f\\xdc\\x2c\\x55\\xbe\\xbc\\xe9\\x51\\x25\\xf4\\xe6\\x42\\xff\\x5d\\x8c\\x1e\\xd5\\x9b\\x47\\xe9\\x38\\x08\\x98\\xac\\x59\\x04\\x73\\x76\\xae\\x26\\x50\\xd3\\x8c\\xb9\\x0c\\x97\\x4c\\x32\\x65\\xc3\\xfa\\x3c\\x12\\x9d\\x6b\\x11\\x3f\\xd4\\xc6\\x41\\xd3\\x39\\xee\\x4e\\x5c\\xc5\\x70\\xf9\\x0e\\xa9\\x63\\x2c\\x30\\xe3\\xc1\\x4b\\x94\\xe1\\xc2\\xb8\\x0b\\xb7\\x53\\x1d\\x6c\\x50\\x75\\x70\\x0e\\xe8\\x60\\x20\\x67\\xc7\\x76\\xbb\\x58\\x8b\\xad\\x21\\xab\\x5d\\x36\\x6b\\x1a\\x08\\xf0\\x69\\x30\\xe0\\x1b\\xe4\\x00\\xc0\\x4f\\x57\\xf5\\xef\\x42\\xdc\\x4b\\xe1\\xc3\\x61\\xae\\x16\\x07\\xe7\\x07\\xc3\\xa2\\xdf\\x00\\x4f\\xee\\x18\\xf9\\xb5\\xf4\\x08\\xc0\\x37\\x52\\xf8\\xd5\\x78\\x27\\x9e\\x81\\x7c\\x39\\x1b\\x4e\\x00\\xf9\\x44\\x24\\x01\\xd9\\x1d\\x03\\x57\\xf5\\x5b\\x99\\x21\\x1c\\x25\\xf6\\x01\\x7c\\xaf\\x0a\\xdf\\x06\\x73\\x09\\xf0\\x1c\\x34\\x9d\\x6b\\x6b\\x6d\\x6b\\xf5\\x54\\x19\\xe1\\x89\\xdc\\x4c\\x90\\x7e\\x0f\\xf0\\x4d\\x6a\\xfb\\xaf\\xc7\\x02\\x6d\\x8f\\xd3\\x09\\x0c\\xc0\\xb9\\x39\\x45\\xab\\xa1\\x3d\\xe4\\xdd\\xa1\\xf9\\xd2\\x97\\x00\\x7f\\x88\\x0a\\x3f\\x00\\x21\\x63\\xb1\\xfd\\x9d\\xc1\\xb0\\x5b\\x36\\xc0\\x13\\x5b\\x32\\x81\\xce\\x73\\x93\\x6a\\x1f\\xb6\\xb0\\x79\\x36\\x50\\xa6\\xef\\x02\\x83\\x1d\\x99\\x4f\\x75\\xe9\\x10\\x15\\x6e\\x0a\\xd5\\x3b\\x1c\\x1c\\x2c\\x7c\\x97\\xd7\\x89\\x1a\\xda\\xfc\\x67\\x9d\\x26\\xc6\\x37\\x10\\x59\\xcf\\x39\\x35\\x7d\\x72\\x63\\xb7\\x4a\\x9b\\x29\\x93\\xde\\xee\\x61\\x9d\\x3e\\xc6\\x35\\x20\\x29\\x54\\x07\\x63\\x31\\x0e\\x70\\xa2\\x44\\x43\\xa2\\x2a\\x9f\\xa2\\x0e\\x12\\xb9\\xd2\\xdb\\xef\\x92\\xd0\\x45\\x73\\x90\\xda\\xde\\xb9\\xc5\\xf6\\x92\\xdf\\x1f\\x8a\\x74\\xfb\\x61\\xec\\xaf\\x80\\xaf\\xfc\\x7e\\x01\\xe9\\xaf\\x13\\x39\\x83\\x25\\xfd\\xed\\x2f\\xe9\\xaf\\x80\\xa3\\x00\\x07\\xfd\\x0d\\x93\\x76\\x84\\x93\\x86\\xfe\\x16\\x6e\\x53\\x96\\x72\\xf7\\x53\\x9a\\x4c\\x2e\\xff\\x43\\xe5\\x92\\x8d\\x61\\x04\\xf3\\x1a\\x4d\\x15\\x8e\\xd0\\x3c\\xb4\\x04\\x8e\\x83\\xf1\\xa8\\x16\\x65\\x9d\\x77\\x14\\x64\\x30\\x4b\\x6d\\x05\\xa5\\x67\\xee\\x24\\xc5\\x37\\x54\\x9d\\x73\\xf3\\x1c\\x9d\\x75\\xf8\\x70\\x59\\x5c\\x22\\xa3\\xac\\x8e\\x05\\x8c\\x61\\xe1\\x7f\\x01\\xef\\x42\\xe9\\x47\\xc0\\xfb\\x1a\\xfa\\x5c\\x8b\\x16\\x42\\x18\\x24\\x99\\x94\\xf4\\x47\\xc8\\x9f\\xb3\\xf2\\x0e\\x07\\x82\\x61\\x34\\x99\\x98\\x86\\x74\\x11\\x66\\xea\\x5c\\xe5\\xa9\\xef\\x6b\\x65\\x3e\\x0f\\x13\\x3d\\x27\\xf2\\xe2\\x76\\x13\\xf9\\xe2\\xed\\xae\\x11\\xf2\\x75\\x1e\\x6d\\xdb\\x0c\\x15\\x9e\\xac\\xd0\\x84\\x48\\x0c\\x0c\\xe2\\x65\\x1f\\x2c\\xec\\xca\\x1b\\x31\\xd4\\x31\\x5f\\x23\\xe6\\xe9\\xf8\\xb4\\xaa\\xb2\\xf3\\x3c\\x93\\x1d\\x00\\xdf\\x99\\x2f\\x8a\\x99\\x26\\x67\\xe7\\xd1\\x31\\x9a\\xa1\\xc2\\x76\\xea\\xb0\\xef\\x97\\xc1\\x12\\x9f\\x65\\xa0\\xab\\xfb\\x2c\\xec\\x1c\\x2c\\xbc\\x92\\x77\\x3a\\x4a\\xe9\\x6e\\x34\\xd2\\x55\\x7d\\x16\\x83\\x7d\\xbb\\x0c\\x16\\xda\\x2b\\x3c\\x40\\xe9\\xb6\\xa9\\x6d\\x38\\x9d\\xcd\\xa7\\xcc\\x81\\x60\\x8a\\x46\\x9d\\x80\\x78\\x95\\xd0\\x9c\\xc9\\xe0\\xf0\\x6e\\x06\\x27\\x22\\x51\\x2e\\xce\\x3b\\xa3\\x27\\xad\\x65\\xf4\\xc0\\x8e\\xaf\\xc6\\x07\\xe2\\x03\\x75\\xba\\x96\\x3c\\x4c\\x8a\\x16\\x5f\\x14\\x3e\\x53\\xd6\\x70\\x33\\xa5\\x8f\\x19\\x4d\\x02\\x5b\\xd8\\x81\\x57\\xeb\\xb4\\x01\\x56\\x92\\xb8\\xa2\\xcd\\xdf\\x68\\x6c\\xa7\\x1e\\xe3\\x60\\xf3\\x60\\x61\\x77\\xde\\x6c\\xd2\\x9a\\x8a\\x28\\xdd\\x8d\\xdc\\xcc\\x62\\x5b\\xb9\\xaf\\x35\\x19\\x95\\x31\\x79\\x55\\xc5\\xe8\\x5f\\x4b\\x68\\xee\\xd6\\x68\\xda\\x09\\x4d\\xbb\\x6c\\xa4\\xf9\\x84\\xd2\\xcf\\x5d\\x67\\xa0\\xb9\\x5b\\xa3\\x69\\xe5\\xac\\xa2\\x91\\x26\\x24\\xb0\\x49\\x2a\\x63\\xa3\\xd4\\xb8\\xea\\x54\\x55\\xc6\\x62\\x31\\x90\\xb1\\xf0\\x82\\x70\\x95\\x33\\x68\\x90\\xb1\\x5f\\x00\\xfc\\x5a\\x1a\\x63\\xf5\\xb1\\xd8\\x8a\\xfa\\x63\\x02\\xdf\\xdc\\xec\\xae\\xc5\\xf5\\x8b\\xea\\x9b\\x6c\\xd5\\x46\\x1b\\x46\\xe8\\x53\\x1b\\x3f\\x8a\\xd9\\x3c\\x8e\\x57\\x6d\\x7c\\x34\\x4a\\xe8\\x73\\xe1\\x68\\x05\\xfa\\x43\\x1a\\x7d\\x80\\x9f\\xa4\\xd2\\x6f\\x6c\\x24\\xf4\\x71\\x7d\\x63\\x29\\x7d\\x65\\x8d\\x94\\xa4\\x63\\x32\\x8a\\xcd\\xb3\\x50\\xcf\\xfa\\x19\\x46\\x3a\\x65\\x35\\x8e\\x95\\xd6\\x0a\\x33\\x35\\xba\\x00\\xb7\\x88\\xc1\\xd5\\x8b\\x3a\\xc5\\xa2\\x7d\\x24\\xed\\x6d\\x57\\x6d\\xf4\\x4b\\x6a\\x7b\\xa9\\xce\\x39\\xb3\\x4e\\xb7\\x64\\x2f\\x6d\\xaf\\x6a\\x8b\\x66\\xa9\\xf0\\x8d\\x6a\\x7b\\xab\\xaa\\xa0\\xbd\\x11\\x73\\xa4\\xca\\x16\\xaa\\x68\\xd3\\xdb\\x4b\\x6d\\x3a\\xd8\\x38\\x8d\\xb2\\x16\\x77\\xcf\\xa7\\xed\\x9d\\xa5\\xc2\\xb1\\x58\\x00\\x47\\x44\\x9d\\xa2\\xa6\\x67\\x06\\x7a\\xaa\\x9e\\x01\\x9c\\x1b\\xb9\\x5d\\x25\\xf4\\x36\\x1a\\xe9\\x01\\xdc\\x62\\x26\\x3b\\x55\\x83\\x85\\x3d\\xf9\\xaa\\xa8\\x46\\xb2\\xd4\\x0e\\xb7\\xab\\x72\\xa6\\xd2\\xf4\\x23\\xbf\\xb3\\x84\\x66\\x7f\\x09\\xcd\\xdd\\x1a\\xcd\\x04\\xa1\\x99\\x88\\x18\\x69\\x12\\x5f\\xfc\\x11\\xb5\\x4d\\x1d\\xb4\\x3f\\xaf\\xf1\\xe4\\x55\\xa2\\x50\\xce\\xc1\\x73\\x49\\x62\\x35\\x93\\x96\\x64\\x8b\\x8c\\xf4\\x08\\xab\\xf8\\xbe\\xb8\\xec\\x00\\x9c\\xd9\\x44\\xdf\\xc0\\x9e\\x9d\\x5b\\xf8\\x0e\\xf8\\xbc\\x22\\x6c\\x54\\x96\\xa1\\xc8\\x93\\x3c\\xe4\\x0b\\x7b\\x72\\x96\\x4c\\x07\\x92\\x32\\x3c\\x19\\x6e\\x2d\\xbc\\xa8\\xc0\\xef\\x75\\x9e\\xdc\\x1b\\x1a\\xcf\\x59\\x04\\xca\\x90\\xfc\\x3b\\x58\\xf8\\x67\\x5e\\x67\\x4a\\xb9\\x6a\\x31\\x0d\\xe1\\x4b\\x63\\x3b\\xca\\x17\\xfc\\x5d\\xa4\\x84\\xaf\\x50\\x47\\xf9\\xd6\\x75\\x02\\x5f\\xa1\\xba\\x7a\\x9f\\x7c\\x5f\\xe5\\x7d\\x2c\\x5e\\xe5\\xb9\\x44\\x82\\x76\\x74\\xb0\\xf0\\x43\\x3e\\x99\\xd2\\xfb\\x6a\\x88\\x57\\x6f\\x92\\xfe\\xa8\\xf7\\x75\\x18\\xdd\\x50\\x78\\x8e\\xc6\\x20\\x51\\x88\\x41\\xa0\\xaf\\x71\\xf0\\x6d\\x39\\x4b\\xbc\\x9a\\xf4\\x75\\x3f\\x3c\\x77\\xf0\\xf5\\xda\\xd8\\xa6\\x08\\xcb\\x14\\x79\\x9d\\xa0\\xd2\\xd8\\x1a\\xf8\\x29\\xf8\\x7c\\x95\\x5f\\x12\\xf8\\x91\\xb8\\x2d\\x2e\\x8e\\x64\\x56\\x8c\\x21\\x5c\\xd4\\x66\\x64\\x55\\x3f\\xb3\\x9c\\xc9\\x3c\\x17\\x0e\\x43\\x08\\xe1\\x97\\xfc\\x21\\x13\\x32\\xea\\x08\\x3d\\x2f\\x4c\\x6c\\xc6\\xe1\\x6a\\x3e\\x76\\xb6\\x0a\\x5f\\x57\\x07\\x81\\x55\\x7a\\x42\\xba\\xd6\\x81\\x4a\\x6d\\x86\\xe8\\xa2\\x3a\\x98\\x55\\x75\\xaa\\x97\\xe5\\x66\\xc1\\x20\\x21\\x3f\\x58\\xf8\\x63\\xde\\x1f\\x34\\x95\\xe5\\xbd\\xec\\x4c\\xb2\\xc6\\x83\\xe0\\xa8\\x3c\\x48\\x72\\x46\\x22\\xde\\xcc\\x08\\x1e\\xf7\\x50\\x1e\\x5d\\x2a\\xfc\\xb1\\x8c\\x07\\xed\\x02\\x04\\x4e\\xbf\\x82\\xc0\\x49\\xb4\\x97\\xf2\\x20\\x05\\x04\\xca\\xe3\\x08\\xc0\\x91\\xb8\\xbb\\x4e\\x41\\xc4\\xbb\\x46\\x22\\xa0\\xe8\\xa1\\xc1\\xc2\\xf7\\xf9\\x50\\x44\\x70\\x95\\xe9\\xfa\\x3d\\x54\\x8f\\xba\\x0c\\xba\\x0e\\xf9\\x10\\x90\\xff\\x7d\\x91\\xbc\\xa6\\xef\\xe4\\x0c\\x97\\x4a\\x1b\\x60\\xb9\\x9b\\x98\\x2e\\x01\\xe1\\xe1\\x22\\x61\\xdd\\x67\\xdf\\x43\\x7d\\x56\\x97\\xea\\xb3\\x96\\xa8\\x3e\\x8b\\xd0\\x8f\\x3c\\xc9\\x41\\x1c\\xf4\\x97\\x9c\\x25\\x1c\\x12\\xcd\\x19\\x2e\\x14\\x12\\x8d\\xb2\\x42\\xf9\\xd0\\x18\\xf7\\x08\\x12\\x87\\x70\\xab\\xcf\\xf8\\xaf\\xce\\x2d\\xf2\\x24\\x8e\\x50\\xc9\\x8e\\x84\\x91\\x2b\\x03\\x41\\xa9\\x71\\xe2\\x55\\x5b\\x63\\xe8\\x4f\\x31\\x0f\\x0d\\x93\\xfe\\x00\\x3b\\x43\\x7f\\x8e\\x06\\x9f\\x66\\xe8\\x0f\\xf8\\xb4\\x6b\\x59\\x7f\\x58\\x2e\\x18\\x36\\xf6\\x67\\x1c\\xc8\\xaf\\x24\\xed\\x02\\xd8\\xd1\\xea\\x5c\\x1c\\x07\\x19\\x3b\\xb1\\xa1\\x24\\xb9\\xc7\\xcd\\xde\\xe6\\x56\\xc9\\x38\\x77\\xd3\\x40\\x76\\xe3\\x74\\x1e\\x8e\\x54\\xf3\\x80\\x7f\\x1a\\x7d\\x50\\xa3\\xb9\\xb1\\xb9\\x04\\x7e\\x1c\\x8c\\x97\\x24\\xde\\xaa\\xd1\\x87\\x71\\x5a\\xc1\\xec\\x59\\xb3\\x45\\xa7\\x4c\\xda\\x31\\x0d\\x6c\\x6e\\x9c\\xb6\\xf9\\x48\\x15\\xce\\xc6\\xe0\\x1a\\x45\\x9d\\xa2\\xde\\x5e\\xaa\\x6f\\x8c\\xde\\x1b\\x2c\\x5f\\x24\\x31\\x74\\x47\\x07\\x89\\xa1\\x5b\\x0e\\x6b\\x19\\x25\\xa1\\x92\\x18\\x9a\\xb5\\xf9\\x7f\\x75\\xda\\x6f\\x70\\x30\\x42\\x0c\\x67\\xd4\\x28\\x10\\x50\\xdc\\xd4\\xd7\\xd4\\x5a\\x86\\x53\\xce\\x67\\x27\\xf7\\xa8\\xc6\\x27\\x9b\\x25\\x7c\\xba\\xcc\\x5d\\xed\\x95\\xf8\\x48\\xef\\x30\\x3e\\x60\\xbb\\x10\\x7a\\x57\\xd9\\x42\\xc7\\xe8\\x7d\\x88\\x06\\x3b\\x9f\\xc4\\x8d\\x83\\x85\\x1f\\x73\\xb1\\xc6\\x06\\x5f\\x24\\xc3\\xc5\\x3b\\xf1\\xbd\\x9d\\x78\\x65\\x27\\x3e\\xab\\x13\\x77\\xe6\\xcc\\xb6\\x69\\x9d\\xb8\\xa1\\x81\\x4d\\xba\\xbb\\x89\\xbc\\x05\\x5d\\x9c\\x7b\\x3a\\x86\\xda\\x1c\\x81\\xcc\\xdd\\x85\\x67\\xe2\\x90\\x3e\\x96\\x41\\x32\\xf6\\x7c\\x73\\x2b\\xd8\\x0b\\xdc\\xd4\\x54\\x9e\\x23\\xd2\\x71\\xd5\\xe6\\x8b\\xe0\\xa2\\x0f\\x0c\\xe3\\x4b\\x70\\x1b\\xb9\\xc6\\x66\\x82\\xab\\x71\\x2f\\xe2\\x06\\xc1\\xbf\\xbe\\x49\\xf5\\xb4\\x5b\\x95\\x8d\\x6a\\xd5\\x1f\\x5b\\xad\\x20\\x1b\\x66\\x64\\xb6\\x8a\\xc6\\x9c\\x29\\x5c\\xf8\\x92\\xbb\\x51\\xba\\x19\\xe0\\xe7\\xaa\\xb2\\x61\\x41\\xaf\\xa9\\x39\\x16\\xc0\\x07\\xcd\\xc1\\xb0\\xe4\\x33\\xc0\\x07\\xa1\\x6d\\x6f\\x52\\x99\\xee\\x2e\\xcd\\x9d\\xcc\\x24\\x97\\xd0\\x89\\xd3\\xb6\\x84\\x41\\x77\\x6e\\x14\\xc7\\x68\\xb4\\x41\\x6b\\xe6\\x33\\xf9\\x08\\x8e\\xd3\\xa9\\xd2\\x36\\x83\\xaf\\x35\\xd0\\x2c\\xfa\\x5a\\x2b\\xa1\\x69\\xb5\\x94\\xd2\\xdc\\xc8\\x3d\\x58\\xa4\\x09\\x7a\\x72\\xb6\\x1a\\xbf\\x54\\x87\\x43\\x25\\x34\\xfb\\x4b\\x68\\xee\\x56\\x6b\\x30\\x24\\x6e\\x30\\x1b\\xf2\\x13\\x37\\xc4\\x7d\\xff\\x31\\xd0\\xdb\\x8d\\x57\\x31\\xb8\\x58\\x73\\x2c\\x68\\xa0\\xb7\\x4c\\x39\\x5b\\xec\\xa5\\xf4\\xc6\\x50\\xb8\\x8f\\xb9\\x8f\\x59\\x1d\\x92\\xc3\\x41\\x3e\\xe8\\x17\\x9c\\x86\\x3a\\xe4\\x4a\\xe5\\x6c\\xe1\\x68\\x61\\x2c\\xc0\\xf6\\xab\\xb0\\x67\\x69\\xb0\\x55\\xb8\\x2a\\x12\\xb0\\x1a\\x60\\x97\\x29\\x4b\\x4b\\xe8\\xfe\\x47\\x8b\\x1d\\xa2\\x28\\x5a\\xcf\\xa8\\xaa\\x34\\x97\\x96\\xd0\\xfc\\x0f\\xab\\x83\\xd2\\xd8\\xe1\\xdb\\x7c\\xa2\\x25\\x60\\x88\\xf9\\x97\\x41\\x3c\\x62\\xa4\\xa9\\xc7\\x23\\x61\\x1c\\xf6\\x96\\xd0\\xec\\x2f\\xa1\\xb9\\x5b\\xcb\\x23\\xaa\\x07\\x0b\\x5f\\xe5\\xab\\x43\\x25\\x34\\x41\\xb7\\x7a\\xa9\\x6e\\x8d\\x61\\xf1\\x08\\xf7\\x8e\\x5a\\xf3\\x89\\x10\\xcd\\x8a\\x90\\x4a\\x64\\xa4\\x56\\x1b\\x06\\x56\\xf3\\x21\\xef\\x9c\\x1f\\x4d\\xe3\\x91\\xfe\\x0a\\xf1\\x08\\xa9\\x93\\xd4\\x0a\\xb5\\x59\\x53\\x20\\xc3\\xc5\\x62\\xe5\\x72\\x5c\\xce\\x6f\\x88\\xf6\\xa1\\x2a\\xe7\\x82\\x84\\x31\\x46\\xd3\\xc6\\x18\\x8a\\x55\\xa9\\xfc\\xb4\\x60\\x44\\xe3\\x29\\x6d\\xd1\\x78\\xa2\\x85\\x38\\x8a\\x9b\\x59\\x5c\\xa0\\xd6\\x57\\x52\\x72\\x2a\\x09\\x3c\\xf9\\x64\\xb2\\x9c\\xa7\\x03\\x7c\\xdc\\x34\\x39\\x0e\\xb8\\x3d\\x94\\x27\\x87\\xc9\\xa6\\x1f\\x52\\xff\\xf0\\x81\\x2a\\xf8\\x38\\x5f\\x92\\xb3\\x18\\xeb\\x19\\xf4\\x9d\\x64\\x71\\x3b\\xc0\\x0f\\xd0\\xf1\\x5b\\x8b\\xc8\\xe5\\x0a\\x81\\xcd\\xd8\\x07\\x56\\xd5\\x47\\xfc\\x90\\x01\\x83\\xd0\\x07\\x9b\\x30\\x8d\\xce\\x4b\\x4f\\xa9\\x5d\\xb5\\x21\\x9b\\x83\\x2b\\xd6\\x97\\x4c\\xa0\\x63\\x0b\\xe9\\xbc\\x0c\\x94\\xda\\xd5\\x32\\x38\\x0e\\x21\\x79\\x35\\x8d\\x2b\\xc6\\xd2\\xb8\\x62\\x98\\x3b\\x00\\x51\\x0f\\x4b\\x7c\\x18\\x66\\x4e\\xa6\\xca\\x1c\\x34\\xfa\\x64\\xf6\\xce\\x38\\x8d\\x2d\\x8e\\xa2\\xb1\\xc5\\x81\\x78\\x19\\xc3\\xf1\\xfb\\xa1\\xd1\\x01\\xe2\\xc7\\x03\\x61\\x93\\xaf\\xc4\\x8f\\x97\\xf3\\x51\\xb8\\xbf\\xab\\xe3\\x42\\xf8\\x84\\xce\\x0a\\x45\\x35\\x26\\x95\\x79\\x9c\\xcf\\xd5\\xaa\\xf0\\x84\\x87\\xff\\x78\\x08\\x77\\x7c\\xc6\\x71\\xa4\\xf4\\x69\\x8d\\x65\\x2c\\xab\\x97\\x70\\xe7\\x69\\x76\\x9b\\xf4\\x04\\xb4\\x86\\xaf\\x8a\\x30\\x16\\x9a\\xdd\\x56\\x79\\x5c\\xad\\xf3\\x58\\x88\\x5f\\xd3\\x70\\x48\\x4f\\x38\\x92\\x29\\x05\\x19\\x1b\\xdd\\xd6\\x33\\x3e\\xff\\xab\\xf1\\x81\\x5c\\xe9\\xec\\x92\\xdc\\x0a\\x32\\x20\\xb3\\x21\\xb7\\x52\\x79\\x0c\\x69\\x3c\\xc0\\x96\\xee\\x50\\xfd\\x66\\x28\\x44\\x06\\x0b\\x05\\x42\\x26\\xa3\\x6d\\xe4\\x94\\x35\\xf2\\x6a\\x3a\\xbf\\x63\\xd5\\x9c\\xe9\\x0e\\xa6\\x4f\\xac\\xce\\xa2\\x11\\x57\\xef\\x79\\x5e\\x43\\xdf\\x7b\\x57\\x69\\xc3\\x1c\\xab\\xf9\\xb6\\x81\\x2a\\x19\\x1b\\x0f\\xc8\\xe4\\x14\\xda\\xe6\\x71\\x6a\\x1b\\x8e\\x56\\xdb\\xcc\\x6a\\x66\\xa2\\xdd\\xc9\\x1b\\x6b\\x1a\\x0e\\x3d\\xbf\\x9a\\xa7\\xda\\xf3\\x7f\\xa8\\x6d\\x76\\x3a\\xdd\\xac\\xc6\\x56\\x02\\xcf\\xe8\\xff\\x59\\xa3\\x0f\\xb1\\xfb\\xd1\\x65\\xf5\\x2d\\xd1\\xad\\x62\\xe8\\xe3\\xc8\\x78\\x5c\\xad\\xf1\\x40\\x0b\\xd1\\xae\\x22\\x0e\\x19\\x7b\\xc8\\xa5\\xca\\x71\\xd2\\xc0\\xa7\\x8b\\xf6\\x63\\xbc\\xda\\x8f\\x23\\x68\\xfc\\x88\\x6d\\x36\\xe8\\x86\\x65\\xb0\\xa0\\xe4\\x2d\\x36\\xc1\\x54\\x22\\x77\\x2e\\x88\\x51\\x17\\xd0\\xbe\\x1c\\xad\\xf6\\xe5\\xbf\\x6a\\x5f\\x48\\xa8\\x85\\x83\\xf6\\x60\\xd8\\xe2\\x31\\xf4\\x65\\x02\\xb4\\x6b\\x3d\\xb5\\x19\\x13\\xa8\\x9c\\x16\\x70\\x9b\\x0a\\xef\\x72\\x01\\x13\\xb7\\xc7\\x6d\\xe5\\x8c\\xf5\\x51\\xfa\\xc6\\xbe\\xf8\\x03\\xc0\\x1f\\x43\\xe9\\xff\\x12\\xdd\\xac\\xc3\\x03\\x7d\\xe8\\x85\\x15\\x1b\\xe1\\x27\\x80\\x5e\\xae\\xa7\\xf3\\x3b\\xa1\\xd4\\xf7\\x59\\x49\\xf3\\xad\\x76\\x95\\x38\\x7b\\xbf\\x5f\\x59\\x43\\xdf\\xef\\x57\\x69\\x83\\xef\\xfb\\x1f\\x1d\\x76\\x0f\\xc0\\x62\\x03\\xec\\x04\\xf0\\x7f\\x06\\xba\\x45\\xff\\x67\\x27\\x72\\x63\\xb7\\x95\\xd2\\xdd\\x68\\xa4\\x0b\\xfe\\xaf\\xa0\\xc3\\xee\\x01\\x58\\x23\\x5d\\x52\\x27\\x32\\xd4\\xfd\\x8a\\x74\\xc3\\x24\\xf8\\x0e\\x87\\x8c\\x75\\x4e\\x17\\xc4\\x01\\x77\\x49\\x17\\x69\\x7e\\x10\\xe6\\x14\\xa1\\xaf\\xd8\\x9c\\x12\\xe3\\xcc\\x11\\x7f\\xa4\\xfa\\xec\\x52\\x1d\\x94\\xce\\xd7\\xf5\\xe3\\x6e\\xfc\\x2d\\x44\\x0f\\xaa\\xde\\xaa\\x38\\xfe\\x32\\x1d\\xa4\\x73\\x2a\\x9d\\xae\\xcf\\xe9\\xdd\\x38\\xa9\\xc9\\x0e\\x99\\x54\\xd0\\x75\\x4b\\x55\\x80\\xcd\\xaa\\x8e\\x33\\x1e\\x6c\\xfa\\x2a\\xa9\\xc1\\xa3\\xad\\x01\\xae\\xc2\\xe4\\x7d\\xa0\\xc0\\x66\\x2e\\x07\\x08\\x39\\xd2\\x97\\xdc\\x04\\xbe\\xaa\\x68\\x67\\xaf\\x83\\xbc\\x63\\x19\\xa9\\x7b\\xe3\\x03\\x54\\xb9\\xc9\\xa9\\x75\\x6f\\x5a\\xd8\\x73\\xba\\x9c\\x6e\\xbb\\xa4\\x4b\\x1a\\x46\\x57\\x81\\xaf\\x39\\x55\\xbc\\x15\\x25\\xd1\\xb4\\x5c\\xad\\xe8\\x48\\xf0\\x21\\x57\\x3c\\x8e\\x82\\x21\\x2b\\x18\\xc6\\x74\\xca\\xe1\\xa8\\x0a\\x79\\xaa\\x3c\\xc7\\x0d\\x54\\x09\\xbc\\x74\\xfc\\x00\\x6f\\x3a\\x6e\\x80\\xf7\\x1a\\x0e\\x32\\x95\\x3f\\x31\\xc1\\x2e\\x99\\xa2\\x27\\x7c\\xd8\\xf3\\xc4\\x9d\\xc9\\x34\\xbd\\x94\\xd0\\x81\\xe9\\x05\\x6c\\x28\\xd9\\x21\\x04\\xb1\\x20\\x9e\\xaa\\xbc\\xfb\\xed\\x19\\xcb\\x5b\\x26\\xcd\\x5f\\x79\\x9b\\xf2\\xd7\\x03\\x7e\\x38\\xf5\\xc1\\x05\\xcb\\x7b\\x94\\xbf\\xe1\\x18\\x4e\\xbe\\x81\\xeb\\x2e\\x50\\xde\\xc2\\x27\\xe2\\xfc\\x1f\\xbf\\x0d\\xbf\\x1d\\xbc\\xf0\\xb4\\xd7\\xb6\\xe2\\xa6\\xfe\\x43\\x6e\\xbb\\x7d\\xcf\\xab\\xfc\\x24\\xdc\\x8a\\x1b\\xd6\\xdc\\xae\\x6c\\x9d\\x86\\xd4\\xb5\\xd4\\x35\\xc6\\xb5\\x54\\xbd\\x3e\\xc2\\x81\\xf4\\x7a\\x85\\x62\\x9c\\x33\\x1e\\x64\\xd7\\xb0\\x8e\\x0a\\x70\\x71\\x96\\x8b\\x74\\x0d\\x16\\xbe\\xcc\\x77\\x75\\xab\\xe3\\xc7\\x68\\x82\\xae\\xde\\x48\\xf5\\x88\\xad\\xcf\\xee\\x14\\x78\\x35\\x37\\x8c\\xc7\\x49\\x42\\xe9\\xf3\\x47\\x04\\x63\\x0c\\x49\\xe7\\x47\\xfc\\x49\\xa7\\x6d\\xe3\\xfb\\xa8\\x4f\\xe1\\x26\\x4f\\x86\\x09\\xea\\x21\\xc5\\xb6\\x9e\\x89\\xda\\x04\\xa9\\xed\\x29\\xe3\\x61\\xde\\xc3\\xbd\\xcf\\xe4\\x80\\xe7\\xaa\\xaa\\x88\\x7f\\x8f\\x9d\\x10\\xf3\\x08\\x72\\x05\\x39\\xa8\\xd5\\xf8\\x58\\x04\\x6e\\xbc\\x86\\x93\\x03\\x51\\xe0\\xb9\\x03\\x26\\x1f\\x30\\x5a\\x5b\\x11\\x56\\x71\\xca\\xf9\\x0c\\x73\\x1f\\x69\\xf5\\x85\\xea\\x6a\\xc2\\x07\\xfc\\xf4\\xdd\\x79\\x5f\\x58\\x28\\xab\\xc5\\x9b\\xcb\\x78\\x89\\x94\\x17\\xc5\\x23\\xbd\\xe2\\xb9\\x31\\x83\\x85\\x55\\xf9\\x31\\x13\\x8c\\xec\\x2a\\xf5\\x4b\\xa1\\xfc\\x68\\x1b\\xeb\\xea\\x08\\xbf\\xfa\\xf1\\xf5\\xe1\\x8a\\xfd\\x3a\\x4f\\xe7\\x25\\x15\\xfb\\x75\\xe8\\xa1\\x84\\xd7\\x61\\x99\\xc3\\x26\\xec\\xa7\\x5f\\x85\\x22\\x9f\\x51\\xa3\\x08\\x9f\\x10\\x0e\\xd5\\x54\\xe2\\x23\\x3b\\x75\\x3e\\x72\\xb1\\x4f\\x47\\x1e\\x49\\xf8\\xcc\\x1d\\x2c\\xbc\\x97\\x9f\\x3b\\x6b\\x44\\x9f\\x88\\x8c\\x69\\xbc\\x20\\x8e\\x2b\\xe0\\xeb\\x0c\\xb2\\x96\\xca\\xf9\\x79\\x50\\xf4\\x2a\\x60\\x46\\x96\\xef\\xdd\\xa2\\x94\\xe1\\x48\\xed\\x4f\\x8b\\xad\\x54\\x19\\x21\\xf2\\x47\\x6d\\xed\\x14\\x9a\\xd3\\xfc\\x92\\xc4\\x4a\\x94\\x46\\x42\\xa5\\x31\\x69\\xec\\xa4\\x1c\\xef\\xcf\\x70\\x63\\xab\\xc6\\x76\\x91\\xcf\\xae\\x2e\\x77\\x19\\x8d\\xb2\\x3e\\x5b\\x50\\xb1\\xcf\\x64\\x15\\x9a\\xe7\\x20\\xbe\\x4d\\x56\\xec\\x73\\x42\\xef\\xb3\\xa9\\xd8\\xe7\\xce\\x4e\\xd2\\xe7\\x6e\\x52\\x8b\\xef\\x9e\\xb4\\x9f\\x79\\xb4\\xe0\\xff\\x0f\\x5e\\xe6\\xff\\x4f\\x5e\\x5c\\x91\\x17\\x71\\x5c\\x3c\\xe7\\xc5\\xde\\x68\\x45\\x5e\\x13\\x75\\x5e\\x96\\x0a\\xbc\\xde\\xfb\\x19\\xbc\\xf8\\x72\\x5e\\x35\\xb8\\xa6\\xbd\\x22\\xaf\\x26\\x9d\\x97\\xb5\\x02\\xaf\\x0f\\xf2\\xdd\\xfd\\x95\\xe5\\xc6\\xa5\\xc9\\x0d\\x93\\x17\\xb6\\x4e\\xc5\\xe6\\x9c\\x18\\x29\\xa2\\xe4\\x7c\\x10\\x05\\xe3\\x20\\x37\\xbc\\xcf\\x57\\x59\\x6e\\x3e\\xd4\\xe5\\xe6\\x4e\\xec\\x55\\xe5\\x26\\xa9\\xca\\xcd\\x81\\xe3\\x0e\\x9c\\x42\\xe4\\xa5\\xbb\\x01\\x7a\\x0b\\x9f\\xa4\\x49\\xa5\\x34\\xae\\xa2\\xf5\\x0c\\x7d\\xfd\\x17\\x70\\x1f\\x67\\xb1\\x96\\xdd\\x6d\\x77\\x96\\xac\\xff\\xae\\x31\\xae\\xff\\x02\\x5c\\x23\\xb3\\xa5\\xd1\\x50\\x34\\x66\\x5c\\xff\\x2d\\x5d\\xff\\xe6\\x76\\xf2\\x7f\\x57\\xe3\\x06\\x1a\\x47\\xba\\xad\\xee\\x00\\x36\\xc6\\x58\\x74\\xed\\x9b\\xda\\xc7\\x69\\xaa\\x7d\\x54\\xd7\\x0c\\xb8\\xfa\\x7a\\x30\\x90\\xf1\\x4c\\xbc\\x46\\xa5\\xde\\x64\\x58\\x5f\\x8f\\xe8\\xf4\\xd7\\xe2\\x39\\xf8\\x48\\x16\\x3f\\x03\\x79\\xbf\\xa0\\x2f\\x5a\\x37\\x15\\x6b\\x93\\x2d\\x34\\x0f\\x99\\xa6\\xe6\\x21\\x7f\\x66\\xf1\\x36\\x97\\x26\\xa5\\x3c\\x87\\xbe\\x78\\xdd\\x54\\x79\\x8f\\xc0\\x1e\\xee\\x8f\\xa5\\xf1\\x76\\xf8\\xcc\\xb0\\x03\\x97\\xc6\\x6f\\x84\\xc7\\x79\\xd4\\x1e\\x4e\\x2b\\xb7\\xbd\\xb5\\xb5\\x44\\x06\\xea\\x4e\\xac\\xab\\x62\\x6c\\x74\\x9c\\x72\\x3e\\xc3\\xdc\\xeb\\x48\\xdd\\x8b\\x10\\xa1\\x59\\xa3\\x8b\\xec\\xf1\\x70\\x8d\\xd8\\x8b\\x10\\xa4\\x7b\\x05\\x8a\\xbc\\x44\\xae\\x57\\x93\\x37\\x32\\x60\\x60\\xb9\\x07\\x0b\\x4f\\xe4\\xab\\xd3\\x46\\x76\\x95\\xfa\\xa5\\x70\\x6f\\x68\\xfd\\x22\\x3b\\x80\\x38\\x5c\\x33\\xa1\\xc6\\x5f\\xa1\\x5f\\x53\\xa8\\xed\\x9d\\xa6\\xda\\xde\\x83\\xb5\\x7e\\x75\\x74\\x10\\x5e\\xd9\\x19\\xd9\\xf4\\x7e\\xfa\\x55\\xe0\\x7e\\xab\\xf1\\x69\\x6e\\xa6\\x7b\\x2c\\x64\\x5f\\xa2\\x02\\x9f\\x16\\x6a\\x7b\\xa7\\xa9\\xb6\\xf7\\x28\\x8d\\xcf\\xf8\\xf1\\x84\\xcf\\x84\\xe8\\x84\\xee\\x72\\x3e\\x44\\x6e\\x35\\x3e\\xd4\\xee\\x5e\\x6c\\x90\\x5f\\x52\\x07\\xf2\\x54\\x7b\\xec\\x98\\xcb\\xd0\\xf5\\xff\\xf2\\x7d\\x06\\x20\\xcb\\xd4\\xde\\x4e\\x53\\xed\\xed\\x3b\\x06\\x99\\x26\\xb9\\x77\\xc2\\x91\\x88\\xf2\\xe6\\x0c\\x17\\x8d\\x96\\xe7\\xc1\\xb3\\x20\\x7e\\x0a\\x17\\xd7\\x6c\\xb9\\x9d\\xdc\\x64\\x55\\xbe\\x49\\x4a\\x80\\xcd\\x21\\xb3\\x43\\x5d\\x11\\x53\\xe5\\x1b\\xe0\\x79\\x2a\\xdf\\x5f\\x33\\xf9\\xe6\\x5a\\x54\\x78\\x8f\\x07\\xe2\\x68\\xb3\\xad\\x0c\\x1e\\xfa\\x85\\x37\\x15\\xd7\\x98\\xd5\\xf5\\x40\\x88\\x4b\\x45\\x12\\xef\\x16\\x97\\x1b\\x4b\\xd7\\x25\\x0f\\x35\\xc0\\x82\\x4e\\x1a\\x2a\\x59\\xea\\xde\\x20\\xf1\\x23\\x5a\\xb3\\xec\\x28\\xc9\\xa7\\xb8\\x08\\x8a\\x54\\xc9\\xa8\\x44\\xc7\\x6f\\xa2\\x3a\\x3e\\xbb\\x24\\x86\\x27\\x35\\xe6\\x42\\x3e\\x18\\x2e\\xd9\\x73\\x53\\xba\\x4e\\x00\\x71\\xd0\\x34\\x5d\\x6f\\x61\\x9a\\xab\\xe3\\xd5\\x69\\x19\\x95\\xe9\\xf9\\x4d\\x74\\x1c\\x66\\xab\\x7a\\x7e\\x87\\x0a\\x5f\\x53\\x03\\x8a\\x18\\xad\\x89\\x26\\x4a\\xea\\xac\\xe5\\xeb\\x10\\x7b\\xf8\\x2a\\x4d\\x26\\x32\\x19\\x62\\x8b\\x6b\\xe7\\xd7\\x46\\x65\\x34\\x42\\x8e\\x1e\\xa5\\xba\\x31\\x5b\\xd5\\xc3\\x25\\x1a\\x0e\\xd9\\x41\\xc3\\x73\\xe9\\xf9\\xe9\\x50\\x59\\x8d\\xb3\\x9c\\xcf\\x30\\xe5\\x43\\xf5\\x89\\xc5\\x24\\x31\\x12\\x03\\xc5\\x46\\xac\\xb1\\x4c\\xa6\\x6b\\x1e\\x45\\x5e\\x22\\xcd\\xcb\\x29\\x1e\\xe9\\x10\\x4f\\xf6\\x29\\x3d\\x98\\x8f\\xc4\\xa5\\x32\\xbc\\x72\\x7e\\x4a\\xb1\\x5f\\x2c\\x36\\x69\\x1f\\xd7\\x9e\\xaa\\xd0\\xaf\\x9b\\xa8\\x1e\\xce\\x56\\xf5\\xf0\\x7c\\x0d\\x87\\xec\\x42\\xe3\\xb9\\xb6\\x43\\xda\\xe2\\xfb\\xe9\\x57\\xa1\\xc8\\xa7\\xa7\\x87\\xae\\x1d\\x61\\xc3\\x22\\x99\\x81\\x0f\\xd5\\xc3\\xd9\\xaa\\x1e\\x5e\\xa8\\xe1\\x8c\\x19\\x43\\xf8\\xf4\\x48\\x3d\\xd9\\x72\\x3e\\x44\\xb6\\x34\\x3e\\xd4\\x8f\\xed\\x56\\xf3\\xcb\\x1d\\xaa\\x1f\\x03\\x21\\x8b\\x22\\xf0\\x63\\x69\\x9c\\xae\\x26\\x9f\\x24\\xb4\\x2c\\xf5\\x41\\x54\\xee\\xa8\\x3e\\xce\\x66\\xfa\\x88\\x39\\x83\\xfc\\x65\\xe8\\x5e\\xc2\\x42\\xce\\x93\\x4c\\x21\\x08\\x9f\\xaa\\x70\\x55\\x90\\x7c\\x06\\x83\\x25\\xae\\x4c\\x1d\\x5b\\xe9\\xf7\\xa4\\x16\\x83\\x4f\\x54\\x6b\\x31\\x31\\x16\\x6b\\x93\\x99\\xe4\\xd2\\xc4\\x11\\xa7\\x6b\\x2d\\xfe\\x92\\x58\\x1b\\xfa\\x2c\\x6e\\x22\\xf5\\x18\\x7c\\x92\\xba\\x9e\\x74\\x08\\xc3\\xa1\\x4b\\x3d\\xc0\\xf8\\xbe\\x7c\\xb2\\xc6\\x5c\\x5a\\xf3\\x29\\xe7\\x33\\x4c\\x6c\\x8f\\xce\\xa7\\x66\\xb0\\x90\\xcb\\xd7\\xd4\\xed\\x87\\xcf\\x81\\xe8\\x5b\\x03\\x9f\\xd4\\x60\\xa1\\x3b\\x9f\\xca\\x54\\xe4\\xd3\\xa4\\xf1\\x01\\x1d\\x9b\\xce\\x70\\xda\\xdb\\x81\\x4f\\xdd\\x60\\xe1\\xd1\\x7c\\x5d\\x73\\x45\\x3e\\x3f\\x69\\x7c\\x54\\x3d\\x03\\x1c\\x22\\x29\\x64\\x53\\xe4\\xad\\xf9\\x4c\\x63\\x45\\x3e\\x71\\x8d\\x0f\\xb8\\xa0\\xd7\\x68\\xad\\x8e\\x6b\\x02\\x36\\x4d\\x83\\x85\\xd5\\xf9\\xa6\\x31\\x1a\\x9b\\x2e\\x9d\\xc7\\x76\\x8d\\x07\\xf8\\x54\\x85\\xc1\\x37\\x00\\x8b\\x86\\xc1\\xc2\\xf9\\xf9\\x86\\xd1\\x1a\\x0b\\x55\\x46\\xa4\\xdf\\x13\\xfb\\xa3\\xd2\\x67\\xf6\\x07\\xec\\x0a\\x4c\\xc9\\xd5\\xf9\\x74\\x46\\xa5\\xad\\xd9\\x20\\x71\\x13\\xb1\\x41\\x6a\\xfb\\x75\\x1b\\x04\\x53\\xb1\\x24\\x9f\\x4c\\xab\\x74\\xd5\\x5a\\xee\\x1a\\x63\\x2d\\xb7\\xb8\\xfe\\xed\\x45\\x5e\\x7f\\x49\\x2d\\x77\\x8d\\xb1\\x96\\x0b\\x70\\x63\\x91\\xb6\\x1e\\xf6\\x43\\x3e\\x14\\xd9\\x47\\x2d\\x17\\xe2\\x97\\xff\\xa8\\xf6\\x9a\\xec\\x57\\xc3\\x41\\x2e\\xa8\\x16\\x56\\x55\\x3b\\x45\\x6b\\xaa\\xd4\\xae\\xf5\\xab\\xe3\\x7d\\xa5\\x0a\\x4f\\x26\\x16\\x57\\xf9\\xab\\x92\\x01\\x63\\xbc\\x03\\xf4\\xa5\\xfb\\xa9\\xec\\x2c\\x61\\x32\\x8a\\x1f\\x66\\x35\\x46\\x4a\\x1e\\x8c\\xcd\\x99\\xf9\\x58\\x42\\x28\\x9d\\x53\\xe0\\x21\\xee\\xa4\\xb2\\x73\\xb6\\x2a\\xa3\\x17\\x30\\x1c\\xe2\\xf1\\x31\\xc8\\xdb\\x7a\\x90\\xb7\\x94\\xab\\x04\\xa7\\x9c\\xcf\\x30\\x1e\\x63\\xe0\\x53\\x3d\\xa8\\x14\\xf2\\xd5\\xc9\\xfd\\xf0\\x39\\x10\\xbd\\x6b\\xe0\\x93\\x19\\x54\\x7e\\xc8\\x67\\xea\\x2b\\xf2\\x69\\xd2\\xf8\\xc0\\x78\\xfd\\x97\\xe1\\x90\\xa5\\x1b\\x0c\\x93\\x36\\x90\\x4f\\xd6\\x56\\xe4\\xf3\\x93\\xc6\\x07\\xc6\\xec\\x7a\\x86\\xd3\\xde\\x4e\\xb6\\x65\\x0c\\x16\\x4e\\xcd\\xd7\\xb7\\x54\\xe4\\x13\\xd7\\xf8\\x80\\x8c\\xde\\xc0\\xea\\xc9\\xe0\\x0c\\xa0\\x69\\x85\\x23\\xf3\\x99\\x0e\\xc1\\x20\\xa3\\x8c\\xc7\\x76\\x8d\\x07\\xc4\\x89\\x5e\\x06\\x4f\\x56\\xf5\\x9a\\x07\\x0b\\xa7\\xe4\\x9b\\x7b\\x34\\x16\\x5d\\x4c\\x96\\x24\\xba\\xb7\\x4b\\xa5\\xaf\\xad\\xaf\\x92\\x29\\x99\\x93\\x8f\\xc5\\x05\\x83\\x8c\\x82\\x3c\\x89\\x3b\\x89\\x3c\\xa9\\xed\\xd7\\xe5\\x09\\xa6\\x62\\x72\\xbe\\xa6\\x36\\x65\\x58\\x8f\\xa4\\xb5\\x3d\\x5a\\x1f\\x1e\\xaf\\xce\\x43\\x8a\\xf5\\xd5\\x6c\\x66\\xb5\\xbd\\xa1\\xbc\\xc5\\x5e\\xb1\\xb6\\xf7\\x9e\\x56\\x07\\x82\\x79\\x58\\xcd\\x70\\x02\\x01\\x52\\xda\\x1b\\x2c\\xdc\\x90\\x0f\\x46\\x8a\\xd5\\x3d\\xc6\\x07\\xda\\xd4\\x45\\x75\\x61\\xbc\\xa1\\x7e\\x0e\\x6d\\xb2\\x10\\xdf\\xad\\x97\\x0f\\x8b\\xf4\\xa9\\x3e\\x00\\x7d\\x17\\xa9\\xc5\\x5e\\x67\\x68\\x6b\\x93\\x5e\\x87\\xdc\\xc9\\x17\\x6b\\xba\\xd0\\x58\\x87\\xc3\\xe1\\x2d\\xb6\\x54\\x6f\\xe7\\x4f\\x5a\\x3b\\x61\\x1e\\xa7\\xab\\xf0\\xc4\\x05\\xe2\\xa8\\x39\\x9a\\x28\\xa9\\x41\\x32\\xfa\\x71\\xbd\\x8d\\x1c\\x44\\xee\\x74\\x4e\\x3c\\x40\\xdd\\x43\\xda\\xe9\\x89\\x6b\\x0c\\x8a\\xf4\\xb7\\xeb\\xf5\\xb0\\xb5\\xe8\\x77\\x6a\\xad\\x3c\\x0e\\xe4\\xe3\\xd6\\x78\\xb3\\x46\\xbe\\x18\\xeb\\xbf\\x25\\x8d\\xf2\\xd4\\xf2\\xd4\\x76\\xc8\\x6b\\xb0\\x03\\xcd\\x27\\xb6\\x8f\\x6c\\xf7\\xe1\\xda\\x06\\x0b\\x7f\\xcd\\xb7\\xd5\\x4a\\xae\\x72\\x7b\\x59\\x82\\x33\\x84\\x3e\\x67\\x38\\x4d\\x4d\\x0c\\x67\\xfd\\xfe\\x71\\xee\\xa3\\x7c\\xa8\\xef\\x27\\x9c\\x78\\x82\\xf6\\x7c\\xbe\\xad\\x8b\\xa1\\x95\\xee\\xcb\\x30\\xe2\\x6d\\x28\\xe2\\x11\\x6e\\x3f\\x1b\\x6f\\x1d\\xee\\x1d\\xc1\\xef\\x87\\x7c\\x5b\\xe7\\xfe\\xf0\\x36\\x16\\xf1\\x74\\x7e\\x7b\\xc5\\x93\\x2f\\xd2\\xf1\\xee\\x47\\x3f\\x96\\xf2\\xeb\\x19\\x2c\\xfc\\x26\\xdf\\x73\\xf0\\xfe\\xf0\\x36\\x15\\xf1\\x18\\xbf\\xbd\\xe0\\xd1\\xbc\\x9b\\xc6\\xb1\\x24\\xef\\x96\\xe4\\x35\\x57\\xd1\\x1d\\xf6\\x2e\\x17\\xaa\\x2d\\xad\\x89\\x19\\x60\\x86\\x2a\\xc0\\xc0\\x1f\\xe9\\x79\\x71\\xc8\\x55\\x87\\x6a\\xe8\\xce\\x61\\x49\\xbe\\x8f\\xf8\\x83\\xcd\\xa4\\x9c\\xc5\\xc0\\xf6\\x06\\xb7\\xa1\\x22\\x9c\\x6f\\x04\\xdc\\x3a\\x1f\\x83\\x8b\\xc5\\xf6\\x0d\\xb7\\xb1\\x22\\xdc\\x14\\x02\\x27\\x07\\x0c\\x70\\xf7\\xf7\\x31\\xb8\\x48\\x64\\xdf\\x70\\x9b\\x2a\\xc2\\x1d\\x56\\xf8\\x9c\\x7f\\x8c\\xce\\xef\\xa9\\x4c\\xde\\xd1\\x7a\\x18\\x6f\\xb6\\xd7\\x01\\x14\\x24\\x6b\\xce\\x36\\x5a\\x8c\\xb9\\x45\\x39\\xfc\\x10\\xfa\\x15\\x95\\x75\\x4c\\xb6\\x53\\xe3\\xec\\x60\\xe1\\xeb\\xbc\\x11\\xa3\\x22\\x8f\\xfb\\x28\\x0e\\xcd\\x53\\x69\\x44\\x41\\xd0\\x3e\\xce\\x67\\x7b\\x18\\x5a\\x71\\x4e\\xcb\\xf1\\x36\\x14\\xf1\\x08\\xb7\\x9f\\x8d\\xb7\\x0e\\x7d\\x05\\x78\\x34\\x7f\\x54\\xf9\\x8d\\xce\\x8e\\x31\\x22\\x55\\xc0\\xd9\\x58\\xc4\\x51\\x79\\x8d\\xc0\\x29\\x7c\\x07\\xf2\\xf4\\x5b\\x3a\\x67\\xf5\\xe8\\x35\\x36\\x7a\\x05\\x3b\\xa2\\x3b\\x2f\\x6d\\xb6\\xa2\\x4c\\x55\\x80\\x1b\\x2a\\x44\\x47\\xc2\\x11\\x99\\x92\\x8f\\x65\\x70\\x5c\\xbf\\x41\\xf6\\x48\\x3a\\x5f\\x26\\x7b\\x65\\x70\\x1b\\x7e\\x26\\xdc\\xba\\x9f\\x09\\xb7\\xb1\\x22\\xdc\\x22\\xb2\\xbf\\x8e\\x8e\\xd1\\x69\\xaa\\x6d\\xcc\\xa9\\xb2\\x42\\xf6\\x64\\xe1\\x74\\x57\\x3a\\x52\\xb2\\xb7\\xb0\\x1c\\x7e\\x08\\x24\\x91\\xc1\\xc7\\x89\\xf1\\x4d\\x7b\\xf7\\x03\\xaf\\xdb\\x44\\x8e\\x32\\xe0\\x30\\xc4\\x7a\\xff\\xca\\xa7\\x1b\\x18\\x52\\x71\\xbe\\xcb\\xf1\\x36\\x14\\xf1\\x08\\xa3\\x9f\\x8d\\xb7\\x0e\\x1f\\xab\\xcd\\xb9\\xca\\x6f\\x4c\\xba\\xde\\x88\\x54\\x01\\x67\\x63\\x11\\x47\\xe5\\xb5\\x17\\x1c\\xf9\\x04\\x1d\\xe7\\x7e\\x18\\x87\\x43\\x8c\\x7c\\x5a\\xc2\\x2d\\x63\\xf7\\x83\\xb3\\xa9\\x88\\xc3\\xf8\\x54\\xc0\\xc1\\xa0\\xf3\\x22\\x9d\\xc7\\x26\\x5d\\x1e\\x83\\x15\\xe4\\x6c\\x24\\xdc\\x50\\x21\\xb3\\x17\\x79\\xbc\\x85\\xc1\\xed\\x57\\x1e\\x4b\\xe1\\xf6\\x2e\\x8f\\xa5\\x70\\x7b\\x97\\xc7\\x52\\xb8\\xca\\xf2\\xe8\\x27\\x70\\xd4\\xc6\\x69\\x70\\xf7\\x27\\x19\\x5c\\x20\\xb0\\x6f\\xb8\\x4d\\x15\\xe1\\x7e\\x81\\x10\\xfe\\x37\\x9d\\xdb\\x45\\x0a\\xf5\\x21\\x2f\\x52\\xcb\\x46\\x17\\x76\\x7d\\x83\\x85\\x0f\\xf3\\x3e\\xab\\x60\\x5c\\xaf\\x2c\\x87\\x1f\\xfa\\x2d\\x85\\xa7\\x8b\\x9b\\xec\\x18\\x50\\x09\\x7c\\xe1\\x15\\x84\\xb8\\xe9\\x06\\xf8\\xfb\\x5e\\x51\\xa5\\x94\\x70\\xa0\\x27\\x87\\x76\\xe6\\x7d\\x11\\x86\\xa2\\x4a\\x29\\xb5\\x1f\\xe5\\x78\\x1b\\x34\\x3c\\xc2\\x69\\x1f\\x78\\x5f\\x00\\xde\\x12\\x03\\xde\\xba\\x2f\\xca\\xf9\\x7d\\x4d\\x56\\x66\\xf6\\x8b\\xb7\\xf1\\x8b\\x72\\x7e\\x95\\xf1\\x36\\x03\\xde\\xf9\\x54\\x66\\x19\\xde\\xfd\\x2f\\x1e\\x62\\xe4\\x57\\x3d\\x58\\xf8\\xdf\\x7c\\x75\\xd3\\xfe\\xf1\\x36\\x69\\x78\\x8c\\xdf\\xde\\xf0\\x88\\x1c\\x73\\x17\\x52\\x39\\x69\\x2e\\x97\\x77\\x41\\x28\\x95\\xf7\\x32\\x38\\x5d\\xde\\xc9\\x41\\x07\\xa3\\xbc\\x0b\\x26\\x06\\x57\\x26\\xef\\x1a\\xd8\\xde\\xe0\\x36\\xfc\\x4c\\xb8\\x75\\x3f\\x13\\x6e\\x63\\x45\\x38\\x3f\\x81\\xa3\\x72\\xdc\\x5c\\x26\\xef\\xfb\\x83\\xdb\\x54\\x11\\x8e\\xd5\\x84\\x46\\x69\\xb5\\x1a\\xb0\\xe7\\x31\\x66\\x9f\\x69\\xcd\\x92\\x4b\\x98\\x12\\x41\\x69\\x44\\xfd\\xcd\\x00\\x3f\\x84\\x93\\x2c\\xce\\x25\\x7b\\x9d\\xb9\\x04\\x09\\xbe\\x8d\\x18\\x15\\x79\\xdc\\x87\\x3d\\x5a\\x3c\\x47\\x98\\xf0\\x04\\xed\\xa3\\x7c\\xa2\\xb6\\xbc\\xc6\\x55\\x8e\\xb7\\xa1\\x88\\x47\\xb8\\xfd\\x6c\\xbc\\x75\\xb8\\x83\\xd9\\x67\\x9d\\x1f\\x97\\xc8\\x48\\x95\\x6a\\x63\\x45\\x9c\\x8d\\xb8\\x5d\\xc3\\x51\\x79\\xe1\\x72\\x9c\\xc2\\x17\\x90\\x4b\\x4e\\x85\\x39\\xab\\x45\\x1d\\xf3\\x99\\xe4\\xf1\\x54\\xa2\\xb8\\x74\\x1a\\x69\\xe7\\x33\\x3e\\x2a\\x83\\x19\\x2a\\xc8\\xe5\\x30\\x30\\x46\\x9f\\xcb\\x05\\x3a\\xf7\\x1d\\x5c\\x55\\x49\\xbc\\xa9\\x01\\xa9\\x32\\x32\\x02\\x6e\\xc3\\x5e\\xe1\\xce\\x61\\x70\\x24\\xbb\\xd5\\x65\\x6e\\xff\\x70\\x1b\\x2b\\xc2\\x91\\xda\\xc4\\x1c\\x6a\\x0b\\x2e\\x50\\xe3\\xc3\\x61\\x16\\xef\\x91\\xd1\\x24\\x9b\\xe3\\xfe\\x0d\\x73\\x2e\\xa3\\xf2\\xdc\\xbc\\x04\\x67\\x08\\x7d\\xc7\\x70\\xe8\\x11\\x04\\xc0\\x79\\x77\\xff\\x38\\xf7\\xa1\\x4f\\x34\\x1f\\x4e\\x85\\x91\\xa0\\x6d\\x83\\xf9\\x2e\\xaf\\xa1\\x96\\xe3\\x6d\\x28\\xe2\\x51\\xa9\\xfc\\xb9\\x78\\x2c\\x1f\\xa2\\xfe\\x55\\xe5\\x97\\x4a\\x64\\xca\\x6a\\x9b\\xe5\\x38\\x1b\\x8b\\x38\\x2a\\xaf\\xbd\\xe0\\x50\\xdb\\x76\\x81\\x9a\\x07\\x7d\\x81\\x0e\\x31\\xf6\\xab\\x91\\xa4\\x94\\x8d\\xdd\\x15\\xdb\\x67\\xc0\\xdb\\x54\\xc4\\x63\\xbc\\xf6\\x82\\x47\\x7c\\xfb\\x09\\x74\\x5e\\xc7\\xb3\\x93\\x8f\\x45\\x5b\\xe7\\xf5\\x96\\xf9\\xf6\\x77\\x19\\x1c\\x39\\x31\\x63\\xb0\\x61\\x1a\\x18\\x83\\x3b\\x18\\x21\\xd3\\x01\\x0c\\x8e\\xec\\x92\\x23\\x72\\x72\\x70\\x05\\xb8\\xc2\\x37\\x40\\xef\\x5a\\x6a\\x73\\xc6\\x6b\\x36\\xa7\\x22\\xbd\\x59\\xa0\\x13\\xcc\\xb7\\x2c\\x63\\xf2\\xc4\\x99\\xd4\\x98\\xb0\\xa5\\x05\\x84\\xa3\\x43\\xe8\\x68\\x08\\x19\\xcf\\xb3\\x94\\xc3\\x0f\\x61\\x85\\xc9\\x12\\x4d\\x4f\\x3a\\x06\\x0b\\x9f\\xe7\\x8d\\x18\\x15\\x79\\xdc\\xc7\\xd5\\x6a\\xf3\\x44\\x98\\x70\\xb8\\x43\\xee\\x18\\xc3\\x70\\xf4\\x79\\x2a\\xc7\\xd9\\x50\\xc4\\x61\\x39\\xc3\\xcf\\xc0\\x59\\xc7\\xa5\\xca\\xf8\\xf0\\x1d\\xdd\\xfb\\xc1\\xd9\\x58\\xc4\\x51\\xf9\\xec\\x05\\x87\\xca\\x02\\xc3\\xb9\\x9f\\xb3\\x6b\\xb1\\x20\\xe3\\x33\\x1e\\x8d\\x9f\\xbe\\x1f\\x9c\\x4d\\x45\\x1c\\xc6\\x67\\x24\\x4e\\xe1\\x23\\x90\\x9d\\x01\\x62\\xaf\\xf8\\x79\\x93\\xe9\\xdc\\x28\\x3f\\x30\\xc9\\x69\\x6d\\x2d\\xda\\xb4\\x32\\x18\\xcd\\xa6\\x19\\x60\\x88\\x6c\\x99\\xdc\\x44\\x66\\xf8\\x79\\xf8\\xc7\\x12\\x3f\\xaa\\x01\\xe9\\x32\\x58\\x06\\xb7\\x61\\x6f\\x70\\xf2\\x15\\x2a\\xdc\\x99\\x25\\x7e\\x74\\x7f\\x70\\x1b\\x2b\\xc1\\x51\\x59\\xbd\\x82\\xc8\\xaa\\x0e\\x77\\xff\\xcf\\x84\\xdb\\x54\\x91\\x2f\\xad\\x59\\x88\\xbb\\xf4\\x9a\\xc5\\x36\\xf4\\x20\\xab\\x97\\xd3\\x9a\\x51\\xdd\\x60\\xe1\\xf0\\x7c\\x5d\\x63\\xa5\\xfa\\x4f\\x11\\x87\\xef\\x51\\x6b\\x7a\\x0c\\xa7\\x76\\xb0\\xf0\\x59\\xbe\\xb6\\xa1\\x0c\\x87\\xe6\\xa8\\x14\\xe7\\x54\\xda\\x9a\\x6d\\x8b\\x91\\xae\\x09\\x4d\\x83\\x85\\xcd\\xf9\\xa6\\xd6\\x91\\xb9\\xba\\x0e\\x0f\\x3c\\xd0\\x7b\\x6a\\x6d\\x8d\\xa2\\x34\\x4e\\x6c\\x6c\\x29\\x81\\xa7\\x39\\x07\\x85\\x3f\\x4d\\xed\\xc7\\x8f\\xac\\x66\\x48\\xd3\\xbb\\xe8\\x60\\xe1\\x4f\\xf9\\x68\\x75\\x31\\x63\\x2b\\xe6\\x84\\x45\\x1c\\xe8\\xc7\\x02\\x95\\x07\\x45\\x8a\\x1c\\x1d\\x89\\x95\\xe4\\x78\\x09\\x12\\x33\\x53\\x78\\x16\\xeb\\x6d\\xbb\\x14\\xe9\\x31\\xb6\\x6d\\xb0\\xf0\\x8b\\xbc\\xcd\\x39\\x32\\xc6\\x2e\\xc2\\xf3\\x3d\\xff\\x36\\xec\\xb6\\xb4\\xba\\xad\\x8e\\x22\\x74\\x31\\xde\\x20\\xf0\\xaa\\x2f\\xd7\\xfa\\xc0\\x42\\x9a\\x10\\xb9\\x50\\x22\\x14\\xad\\x14\\xa3\\x14\\x71\\xa0\\x0f\\x39\\xd6\\x07\\x86\\x14\\x6c\\x0c\\x46\\x4a\\xe2\\x20\\x6a\\x9b\\x69\\x9b\\x2e\\x50\\x79\\x3c\\xca\\xc6\\x89\\xfa\\x44\\xe0\\x71\\x29\\xf0\\xa8\\xe4\\xdf\\x8a\\x38\\xea\\x7c\\xb3\\x3d\\x0d\\xa4\\x20\\xeb\\x0b\\x46\\x4a\\xd6\\x3a\\xa9\\xfe\\x52\\x78\\xa6\\xbf\\xdb\\xf0\\xcb\\x8c\\x07\\x35\\x93\\x60\\xfc\\xef\\xcf\\x37\\xb6\\x54\\xb2\\x7b\\x45\\x1c\\xbe\\x87\\x3b\\x54\\xe5\\x41\\x91\\x1a\\xa6\\x36\\x34\\x97\\xd8\\x56\\x72\\x56\\x5e\\xaf\\xed\\xb9\\xea\\xc0\\xb7\\x7f\\x85\\xe6\\x03\\x9e\\xcc\\xd1\\x75\\xbe\\x27\\x39\\x60\\xf3\\x5c\\xce\\xd2\\x98\\x01\\x39\\xe4\\x8c\\x47\\x21\\x2a\\xe0\\x0e\\xa1\\xdf\\x96\\xe2\\xb6\\x0d\\x16\\x7e\\x99\\xb3\\xb4\\x11\\xb9\\xa7\\x32\\xbd\\x0f\\xdc\\xfb\\xd0\\xc7\\x06\\xdc\\xea\\xa7\\x78\\xc2\\xf8\\xd6\\x9c\\xb5\\x91\\x54\\x31\\x79\\x9d\\x33\\x45\\xaf\\x84\\xbf\\x61\\x04\\x3e\\x30\\xbf\\x25\\x67\\x6d\\x63\\xf8\\x1a\\xf7\\xbd\\xe2\\xaf\\x23\\x75\\x89\\x72\\xfc\\xb7\\x01\\xbf\\xf3\\xe7\\xe1\\x6f\\xdc\\x37\\x3e\\xa9\\x5b\\x8e\\xc4\\x97\\x57\\xea\\xf8\\xf7\\xc3\\xb8\\x9f\\xa6\\xe3\\x97\\xd6\\x48\\x9f\\xac\\x54\\x23\\x2d\\xc3\\xdf\\xf4\\x7f\\xc4\\x67\\xf7\\xc3\\x0c\\x69\\xfb\\x86\\x20\\x76\\x5d\\x49\\xe5\\x45\\xe6\\xfe\\x81\\x4a\\x2a\\xa2\\x15\\x60\\x87\\xca\\x61\\xb5\\x94\\x9c\\xd8\\x5f\\x65\\xae\\xb1\\x86\\xe9\\xaa\\x25\\x76\\x9f\\xc0\\x0a\\xee\\xca\\x35\\xd4\\x11\\xf0\\x1b\\xfe\\x8f\\xf0\\xeb\\xca\\xe0\\x4b\\x6b\\xa5\\x23\\xe1\\x37\\xee\\x13\\x7e\\x0a\\x81\\x2f\\xd6\\x4c\\x01\\xfe\\xfe\\xbe\\x52\\xf8\\xb2\\x1a\\xeb\\x08\\xf8\\x4d\\xfb\\x84\\x5f\\x44\\xee\\x19\\x90\\x66\\x30\\x5b\\x49\\xc6\\x1d\\xb0\\x2e\\x25\\xf0\\xf4\\x3e\\x18\\xb2\\xdf\\xa4\\x3a\\x5d\\x1d\\x06\\x73\\x89\\x47\\x9e\\xd7\\x28\\xc7\\x1d\\x1a\\x81\\x9b\\xf6\\xa4\\x89\\x71\\xc6\\x23\\xcf\\x47\\x32\\xdc\\x51\\x3a\\x2e\\xad\\xab\\xe9\\xb8\\xd5\\x4f\\xd1\\x14\\xfb\\xd3\\x9c\\xb5\\x9a\\x54\\xc8\\x38\\x9d\\xb9\\x2e\\xaf\\xe5\\xf8\\x1b\\x4a\\xf0\\xa3\\xb4\\x26\\xe5\\x8b\\x33\\x64\\x8d\\x3b\\x43\\xae\\xcc\\x9f\\xd6\\xd9\\x4a\\xf1\\xab\\xc7\\x56\\xd7\\x57\\x60\\x5e\\x19\\x7f\\xe3\\x48\\xfc\\xf8\\xfc\\x78\\xfd\\xbe\\xf9\\x53\\x7d\\x61\\xf8\\xa4\\xfe\\x76\\x9a\\x8e\\xbf\\xbf\\x3a\\x5c\\x29\\xee\\xa6\\x12\\x5c\\xca\\x5b\\xc5\\x62\\x85\\xb9\\x32\\xde\\x85\\x2f\\x40\\x46\\x0c\\xb5\\x36\\xaa\\x6d\\x3c\\x93\\x42\\xba\\xcb\\x68\\x44\\xad\\x78\\x04\\x3c\\xad\\x15\\xef\\x0d\\x9e\\xc8\\xb8\\xb1\\x56\\x56\\xd4\\x39\\x71\\x7c\\xe5\\xda\\xda\\x08\\xf8\\x0d\\xff\\x47\\xf8\\x75\\x65\\xf0\\xe1\\xf0\\xbe\\xe1\\x37\\xee\\x0b\\xbe\\xf0\\x0d\\x81\\x2f\\xd6\\xe6\\x88\\xce\\x95\\xc1\\x97\\xd4\\xe8\\x2a\\xc0\\x6f\\xda\\x17\\x3c\\x9a\\x05\\xe3\\xa9\\xc7\\xdb\\x64\\xf4\\x49\\xbe\\x41\\x47\\xf3\\x04\\x55\\x6f\\x5a\\xc4\\x96\\x7a\\x3b\\xe8\\x0d\\x39\\xab\\x59\\xaa\\x37\\xe5\\xb8\\x43\\xf8\\x1b\\x03\\x6e\\xe4\\x49\\x92\\x7e\\xfc\\x3d\\x67\\xe9\\x68\\x21\\xe8\\xc4\\xc5\\x1a\\x7c\\x5c\\x39\\xee\\x7d\\x24\\x6f\\xd1\\x71\\x89\\xce\\xb5\\x10\\x64\\x6b\\xcb\\x18\\x3b\\x11\\x1d\\x8d\\xb9\\xae\\x73\\xe5\\xf8\\x1b\\x4a\\xf0\\xa9\\xdc\\xb5\\x5a\\x5b\\x19\\xb2\\xc6\\xda\\x28\\xf3\\xe5\\xf8\\xeb\\x38\\xff\\x48\\xfe\\xdf\\x01\\xff\\xee\\x9f\\xc7\\x7f\\x63\\x09\\x3e\\xe3\\x9f\\x6a\\xed\\xde\\x37\\x7f\\x2d\\xff\\xa0\\x3a\\xf7\\x0d\\x3a\\xa4\\x84\\xff\\xf8\\xc1\\xc2\\x27\\x39\\xeb\\xf8\\xe9\\x15\\x48\\x54\\xc0\\xdf\\xb4\\x6f\\x7c\\xed\\x26\\x2d\\x1d\\x1f\\x03\\xbe\\x9e\\xa7\\x50\\xad\\x0b\\xaa\\x5a\\x74\\x01\\xd3\\xa2\\x9a\\x9a\\x62\\x4e\\x53\\x06\\x4b\\x73\\x9a\\xca\\xb0\\x44\\xbe\\x8d\\x39\\x8b\\x41\\xdf\\x3a\\x54\\xf9\\xeb\\xe8\\x28\\xd3\\x87\\x32\\xf8\\x0d\\xfb\\x83\\x37\\xe6\\x30\\x06\\x1f\\xa7\\xe5\\x50\\xed\\xed\\xfb\\x86\\xd7\\x7c\\xdc\\xba\\x4a\\xf0\\x54\\x7f\\x0c\\x39\\x4d\\x51\\xdf\\x84\\x8a\\x39\\x55\\x05\\xf8\\x4d\\xfb\\x82\\x57\\xf3\\x9a\\x0f\\xb5\\xbc\\x86\\xbb\\x53\\xcb\\x6b\\xe8\\x1e\\xa5\\xfa\\xc1\\xc2\\x60\\xbe\\x7e\\x54\\xc5\\x5c\\xa8\\x4f\\xc7\\x59\\x8d\\xf9\\xc2\\x7f\\xc9\\x5e\\xa0\\x7a\\x86\\xf2\\x6a\\xbe\\xbe\\x4e\\x32\\xec\\xb3\\xa0\\xf1\\x8f\\x96\\x3b\\xc1\\x7c\\x6d\\x43\\x6a\\x9f\\xb9\\x51\\x2c\\xf6\\x84\\xf4\\xe9\\x98\\x9c\\xa5\\x96\\xc6\\x9e\\xda\\x5d\\x68\\xc6\\xd8\\x93\\xec\\x0d\\x52\\xf3\\x2e\\x86\\xe3\\x7c\\x92\\x6b\\x1f\\x2c\\x6c\\xcd\\xb7\\x37\\x49\\x2e\\xe3\\x3e\\xa2\\x12\\x3e\\x10\\xb3\\x87\\x0c\\x38\\xa1\\x67\\x11\\x57\\xf8\\x20\\x67\\xc9\\x34\\x94\\xb2\\x31\\xf6\\x69\\xbb\\xde\\xa7\\xb5\\x88\\x9c\\x67\\x85\\x3e\\x91\\xe4\\xbb\\x95\\x54\\xec\\x5b\\xc7\\x8d\\xec\\xd3\\x76\\x8d\\x17\\x83\\x37\\xf6\\x89\\xe0\\xe4\\x2c\\x14\\xa9\\xbc\\x4f\\x6c\\xcf\\xb9\\x4b\\x3f\\xab\\xc0\\xf6\\x7f\\x93\\xfc\\x85\\x6c\\x39\\x37\\xec\\x6e\\x47\\x06\\x78\\xe9\\x5e\\xfd\\xfc\\xc9\\x6a\\xfc\\x0b\\x3c\\x85\\xb4\\x8d\\x1c\\x48\\xf3\\x0e\\x16\\x7e\\xca\\x7b\\x3d\\x1a\\x02\\x81\\xb7\\xd0\\x75\\xf3\\x5d\\x1a\\xbc\\xbc\\xad\\xc0\\xee\\xa2\\xe1\\xb4\\xd2\\x8e\\x46\\xb3\\x08\\xc3\\xf7\\x14\\x96\\x33\\x18\\x8f\\xa7\\x2c\\x96\\xd4\\xcf\\xd2\\xa8\\x31\\xa4\\xed\\x19\\xae\\x2a\\x53\\x15\\xd0\\xce\\xd2\\x20\\x8c\\x3e\\x15\\x9a\\xf1\\xef\\xc5\\x21\\xe0\\x5b\\x95\\xb3\\x9a\\x80\\xb0\\xd9\\x6c\\xb3\\x9a\\x45\\x84\\xda\\x86\\xb4\\xab\\xac\\xe9\\xa5\\xba\\xe4\\x8e\\xf0\\xf4\\x44\\xdc\\x95\\xee\\xc2\\xbf\\x4f\\x8d\\x5e\\xdd\\x36\\x66\\xa1\\x38\\x74\\xcd\\x21\\x17\\xcd\\xec\\x59\\x30\\x69\\x1b\\xa1\\xf3\\xad\\x32\\x17\\x7f\\x53\\xb8\\x04\\xd9\\x51\\x4b\\xce\\x8a\\xac\\xa2\\xd5\\xe9\\xb0\\x99\\x72\\xf4\\x9d\\xcd\\xa7\\x06\\x4c\\x3c\\xfb\\x60\\xef\\x0d\\x45\\x42\\xae\\x37\\xf5\\x67\\x0c\\xc4\\xe2\\xc3\\x41\\x13\\x70\\x16\\xdf\\xee\\x0f\\x39\\x92\\xcd\\x5d\\xd3\\x8e\\x58\\xf7\\xcf\\x64\\x50\\xba\\xdc\\x3a\\x6b\\xea\\x1a\\x54\\xb9\\x9d\\x16\\x8b\\xd5\\x66\\x26\\x17\\x72\\x0e\\x75\\xfc\\x1f\\xda\\x59\\xf8\\x46\\x78\\x9c\\xdb\\x2c\\xe6\\x51\\x18\\xd5\\xe4\\x9c\\xfe\\x80\\xc9\\x1c\\x88\\x9a\\x23\\x7e\\xbb\\x59\\xb4\\x7b\\xc8\\xad\\xa7\\x6f\\x76\\x6c\\x77\\x6d\\x67\\x77\\x09\\xab\\xd7\\x25\\xb7\\x72\\xe4\\x66\\xdb\\x34\\x79\\x2f\\xab\\x9a\\x23\\xef\\xf2\\x64\\x1d\\x1c\\xfe\\xac\\xbe\\xef\\xd0\\x29\\xd1\\x4c\\x83\\xe5\\x62\\x53\\xd3\\x9c\\x29\\x0d\\xb3\\x0f\\x39\\x30\\xd2\\x5c\\x63\\xbe\\x48\\x6c\\x9e\\x23\\x3c\\x9e\\x6e\\x48\\xb7\\xe5\\x4e\\x39\\x75\\x5c\\xaa\\x31\\x35\\xb6\\xf3\\xc4\\xd3\\x26\\x90\\xf6\\xf3\\xc0\\xf7\\x43\\x6e\\xb3\\xec\\x01\\xbe\\x31\\x94\\x44\\x93\\x73\\xd5\\x91\\x58\\xb2\\x3a\\x56\\x6d\\xf6\\x07\\x02\\x69\\x93\\xd9\\x9c\\x82\\x26\\x20\\xe4\\xf1\\xc4\\x45\\x7b\\x34\\x1e\\xaf\\x26\\xb7\\xa7\\x02\\x7f\\xe8\\x1a\\xb9\\x89\\xd7\\xd8\\x24\\x4f\\xf1\\x22\\xe7\\x4a\\x2d\\x23\\xef\\x66\\x24\\xc9\\xdb\\x19\\x7b\\x6f\\xe1\\xbc\\x57\\x86\\xcf\\x7b\\x49\\xb2\\x94\\x37\\x53\\xf9\\xeb\\xdb\\xf0\\xa7\\x18\\xc3\\x69\\x75\\x06\\xaa\\xf3\\xaa\\x7e\\xb0\\x18\\x8e\\xde\\xe3\\xb0\\x35\\x67\\x89\\x54\\xdb\\x82\\xa5\\x37\\x45\\x68\\xb8\\x82\\x16\\x3b\\xab\\x38\\x23\\x69\\x82\\x7e\\x1f\\x6b\\xa0\\xe9\\xcf\\xd9\\xf0\\xec\\x70\\xac\\x94\\x5e\\x71\\xdd\\x98\\xea\\xea\\x69\\xaa\\x6e\\x93\\xda\\x13\\xd9\\x53\\x94\\x82\\x34\\x3b\\xe5\\x4c\\xb5\\x69\\x25\\x0f\\x43\\xdc\\xaf\\xc1\\x03\\x1f\\x99\\xd9\\x11\\x15\\x8f\\xec\\x15\\x1f\\xe5\\x1c\\x35\\x01\\x18\\xd1\\xfb\\x47\\x4a\\x63\\x90\\x03\\x11\\x92\\x6e\\x15\\x77\\x91\\xb5\\x79\\xb5\\x4e\\xbf\\xed\\x41\\xb5\\x62\\x82\\x6a\\xb1\\x7b\\xb0\\xb0\\x38\\xef\\x76\\x63\\x5c\\x62\\x4f\\x67\\x96\\xe3\\xf0\\x3d\\xb7\\xd2\\x31\\x72\\x0d\\x16\\x2e\\xce\\x59\\x5c\\x2e\\x80\\xa7\\xf8\\x86\\x31\\x6a\\x03\\x9c\\x37\\x29\\x4e\\x93\\xc6\\xe7\\x46\\xea\\xfb\\x34\\x38\\x80\\x39\\xa8\\x1c\\x86\\xef\\xb9\\xa6\\x1c\\xa6\\xe4\\x8e\\x35\\xaa\\xe3\\x7f\\xa7\\x3a\\x8e\\x43\\xf1\\x90\\x47\\xbf\\x38\\x8b\\x43\\x48\\x68\\xe6\\x2e\\xa7\\xba\\xe3\\x42\\x8d\\x39\\x8f\\xcd\\x49\\xf5\\xdc\\x69\\xf6\\xb8\\xad\\x76\\xab\\x5d\\x55\\x22\\x7a\\x95\\xab\\x7a\\x91\\x32\\x7b\\xe6\\xc3\\x6b\\xd0\\x25\\xbe\\x2b\\xe9\\xf5\\x7f\\xcc\\x14\\x8a\\x8b\\xbe\\x8b\\xf1\\x41\\x45\\xb5\\x52\\x9e\\xc3\\x89\\x8c\\xf2\\x4e\\xb2\\x12\\x2f\\x6b\\x91\\x17\\xb0\\xb2\\xfe\\x2c\\x5e\\x5d\\xde\\xa4\\x9f\\x57\\x79\\xe1\\x89\\x07\\x61\\xfc\\xae\\x91\\x57\\x12\\xd7\\x64\\x14\\xd2\\x4f\\x0e\\x74\\xaa\\x19\\x74\\x2a\\x00\\xbc\\x6a\\xd0\\x94\\x5c\\x9c\\x59\\x85\\xda\\x4c\\x22\\x99\\xac\\xf5\\xfa\\x7c\\x99\\x44\\xc8\\x67\\x35\\x5b\\xac\\x31\\x0b\\x7c\\xb9\\x42\\x45\\xc6\\xe4\\xad\\x2b\\xa3\\x4a\\xd1\\x47\\xe6\\xca\\xad\\x47\\xa6\\xb2\\xe2\\xff\\x41\\x6d\\x16\\xda\\xab\\x7a\\x15\\xdb\\x3a\\x79\\x84\\x25\\x00\\x1f\\x7f\\x13\\x34\\x7c\\x2e\\xf5\\xd9\\xb4\\xc6\\xc6\\xdd\\x39\\x44\\x25\\xcc\\x62\\x71\\xd3\\x5b\\xda\\x9e\\xcd\\xdb\\xfd\\x25\\xeb\\xd8\\x9f\\x01\\xfc\\x4c\\xea\\xaf\\x19\\xfc\\xea\\x1d\\xc4\\x5b\\x63\\x3b\\x03\\xff\\x20\\x6f\\xb7\\x69\\xe0\\x2c\\x86\\x20\\x77\\xcd\\x9d\\x2c\\x7b\\x19\\xbc\\x7a\\xd7\\x1c\\xf1\\x22\\x97\\xe3\\x36\\x94\\xca\\xf9\\xf8\\x60\\x90\\xdc\\x36\\x47\\xd8\\x71\\xd8\\x61\\x75\\xd8\\x05\\xb1\\x98\\x82\\x69\\x79\\x51\\x45\\x1a\\x7c\\x0f\\x72\\xfe\\x1f\\x68\\xdc\\x09\\x34\\x1e\\xa2\\x7a\\xc8\\xda\\xbd\\x76\\x3d\\xdd\\x39\\xe8\\x85\\x76\\x7b\\xc9\\x65\\x74\\xde\\x44\\x69\\xbb\\x9f\\x06\\xf8\\x73\\x65\\x8f\\x5e\\xab\\xbc\\x75\\x2b\\x42\\xc9\\x9c\\x95\\xe7\\x30\\xdb\\x8a\\x46\\xb0\\xfe\\xaa\\x63\\xa9\\xcc\\xd4\\xbc\\xef\\x79\\xc0\\xbd\\x84\\xfa\\x64\\xba\\xfb\\xca\\x2c\\xbc\\xc4\\x2a\\x71\\x82\\x20\\xd6\\x92\\xbb\\xe1\\x9c\\xb8\\x64\\x8f\\x54\\xe1\\x53\\x80\\x9f\\x41\\xef\\xd0\\x61\\x67\\x42\\x56\\x17\\x5e\\xc5\\x07\\x52\\x9b\\x22\\x13\\x04\\xa4\\x5f\\xbc\\xa6\\xda\\x14\\xd0\\x57\\x3e\\x47\\x75\\xb1\\xb9\\x54\\x5f\\x65\\x59\\xd7\\xc5\\x99\\xe5\\x30\\xd4\\x0e\\x18\\x60\\xca\\x74\\xa3\\x39\\xe7\\x15\\xe1\\x57\\x16\\xbb\\xdd\\xe5\\xf2\\x58\\xa8\\x22\\x72\\x48\\xd2\\x65\\x14\\x6b\\x92\\xa9\\x6a\\x47\\xda\\x17\\x08\\xa6\\x5b\\xf1\\x04\\xac\\x6a\\xe2\\xc2\\x31\\x6d\\xab\\xdb\\xeb\\x34\\x4d\\xdc\\x36\\x69\\x41\\xcf\\x41\\x2b\\x66\\x5d\\xa3\\x6b\\xe2\\x08\\x3d\\x04\\x87\\xce\\x59\\xac\\x4e\\xe7\\x5e\\x59\\x55\\xe0\\xc4\\xf4\\x90\\x71\\xd2\\xf4\\xb0\\xc8\\x69\\x2f\\x7a\\xd8\\x9b\\xf3\\x82\\xfe\\x89\\xc8\\xc2\\x21\\x1e\\xb4\\x30\\xc3\\x59\\x62\\x3e\\xab\\x75\\xb0\\xb0\\x2d\\xe7\\x36\\xdb\\xa6\\x59\\xac\\x16\\xab\\x94\\x70\\x39\\x43\\x5b\\x43\\x5c\\x08\\x9a\\xf0\\xce\\x31\\x1d\\xdb\\xd9\\x83\\x8f\\xae\\xed\\xa4\\x19\\x38\\xdb\\x41\\x1f\\x68\\xeb\\xa0\\x1e\\xae\\xd8\\x96\\xbd\\x69\\xa3\\xda\\xb8\\x7d\\x69\\xa3\\xd6\\xe2\\x91\\xda\\x68\\xa8\\x15\\x7f\\xa8\\xd5\\x8a\\x21\\x86\\x0e\\xa0\\xe2\\xde\\xdd\\xf0\\x60\\xe1\\xad\\x7c\\x38\\x59\\xb1\\xbe\\xdc\\xa7\\xe3\\xb0\\x7b\\x5f\\x41\\xba\\xc3\\x0c\\xe5\\x9d\\x7c\\x38\\xa4\\xa1\\x14\\xd7\\x25\\xbd\\x0c\\x9e\\xfa\\xd3\\x1b\\x71\\x1b\\x3d\\x97\\xfe\\x17\\xe0\\x55\\xf7\\x0c\\x4d\\xa3\\xe9\\x2a\\xbb\\x92\\xb3\\x26\\xe2\\xb2\\x37\\xc3\\x16\\xc3\\x0d\\x79\\x9e\\xee\\xa3\\xca\\x68\\x31\\x1a\\xb4\\xc6\\xdd\\x0e\\xda\\x59\\xf7\\x0c\\x4f\\x96\\x94\\xe9\\x1d\\x26\\x40\\x2b\\x12\\x06\\x5a\\x1c\\xed\\x4a\\x25\\x5a\\x4b\\xc1\\x57\\xde\\x4f\\xeb\\x5c\\xe7\\xa8\\x7b\\x12\\x9a\\xd0\\xa5\\x24\\x7f\\x20\\xa7\\x6f\\xc8\\x5a\\xca\\x8f\\xf9\\xba\\x6a\\x6b\\x69\\xdf\\xcb\\x71\\x86\\x80\\x2b\\xc5\\x49\\xa7\\x19\\xce\\x57\\x23\\x71\\xd8\\x78\\x6d\\xd7\\xc7\\x6b\\x2d\\x7a\\x83\\xc6\\xe7\\x6c\\x5b\\xf0\\x60\\xe1\\x6f\\xf9\\x78\\xf3\\xc8\\xf1\\xf2\\xe8\\x35\\xff\\x5b\\xd1\\xe7\\x48\\xb3\\x06\\xdd\\xdd\\xd4\\x1a\\x00\\xd6\\x5f\\x74\\x2c\\xdd\\x1a\\x14\\xb4\\x3d\\xcb\\x2e\\x7d\\xcf\\xb2\\x40\\xef\\x02\\xd3\\xf6\\x6f\\xdb\\x48\\xc0\\x6d\\xf3\\x95\\xed\\xdf\\x66\\xf7\\x39\\xdc\\xab\\xef\\xa3\\x5e\\x8d\\x0f\\xa7\\x31\\x3a\\xb6\\x31\\x94\\xe1\\xbc\\xcd\\x6a\\xd8\\xe7\\x5c\\x18\\x06\\xdf\\xfc\\x0a\\xd5\\xf5\\xf1\\x54\\xd7\\x89\\x7d\\x3d\\xae\\x42\\xbd\\xe8\\x6c\\x84\\xe4\\x06\\x15\\xee\\x1b\\x66\\x13\\x9e\\x2d\\x81\\x52\\xf7\\x2b\\xfe\\x95\\xd6\\x70\\xb2\\x65\\xfb\\x15\\x39\\x9f\\x4f\\xa3\\x85\\x78\\x64\\x15\\xee\\xe5\\x9f\\x10\\x77\\xa9\\xf7\\xf4\\x13\\xeb\\x81\\xb1\\x45\\x32\\xdb\\x2d\\x66\\x8b\\xd3\\xc1\\xcb\\x56\\xab\\x45\\xa2\\xb7\\xf6\\x83\\xe6\\xbc\\xa9\\x1f\\xe1\\x57\\x9f\\xeb\\xa2\\x26\\xa3\\x5b\\x8b\\x0c\\x7f\\x24\\x36\\x63\\xc9\\xdf\\xf6\\x1c\\xfb\\x96\\x70\\x2f\\x33\\x17\\x2e\\x1a\\xf9\\x55\\xe0\\x41\\x9e\\x77\\xff\\x99\\x3c\\xa8\\xb1\\xc8\\x68\\x3c\\xfa\\x88\\xb5\\xc0\\x51\\xc6\\x84\\x59\\x0a\\xc6\\x84\\xc6\\xf2\\x6b\\x81\\xf1\\x2e\\xca\\xa7\\x2e\\x17\\x11\\x24\\x59\\xe4\\xae\\x99\\xe7\\x14\\xb1\\x53\\x6c\\x13\\x27\\x89\\xc7\\x89\\x2b\\xc5\\x7b\\xc5\\xdd\\xa2\\x0c\\x0e\\xfb\\x98\\x25\\x4d\\x84\\x8f\\xd6\\x05\\xbc\\x8c\\x34\\x5d\\x6b\\xb5\\xa1\\xf6\\xa1\\xad\\xc3\\x10\\xdd\\xc2\\x6f\\xaa\\xf5\\x04\\xb5\\x6e\\xd4\\x30\\x58\\x78\\x22\\x67\\x69\\xa0\\x75\\x23\\x72\\x2e\\xa2\\xbc\\x6e\\x44\\xee\\xfc\\x52\\xd7\\x70\\x64\\xfe\\x78\\x16\\x3f\\x75\\x26\\x3b\\x5b\\x43\\xc5\\xbb\\x0e\\xcb\\x78\\xf0\\x3d\\xdc\\x91\\x06\\x1e\\x24\\x76\\x9d\\x55\\xdf\\x5c\\x4a\\xbf\\xab\\xb8\\x46\\xb4\\x5d\\xa3\\xcf\\xad\\x25\\xf7\\x97\\x53\\x3f\\x43\\xce\\x4d\\xb4\\xe3\\xf6\\x89\\xda\\x12\\x91\\x91\\xcf\\x76\\x8d\\x0f\\x83\\x2f\\xa9\\x9f\\x11\\x9c\\xf2\\x8e\\xb0\\x71\\x38\\xb8\\xf0\\xb9\\xec\\xa4\\xb2\\xd6\\xa1\\xee\\x41\\xde\\xb6\\x9e\\x4a\\x51\\x55\\x95\\x2e\\x6b\\x5f\\xd1\\x3d\\x32\\xbb\\xb4\\x3d\\x32\\x90\\x37\\x76\\x33\\x49\\x8b\\x46\\x75\\x3f\\x76\\x30\\xc8\\x6c\\x92\\xd0\\xe1\\xe7\\x61\\x8b\\x81\\x0e\\xae\\xab\\x2b\\xd2\\xa1\\xeb\\xd2\\xbb\\xb4\\x75\\x69\\x9d\\x8e\\x01\\x06\\x75\\x40\\x6c\\xfa\\x2d\\x39\\x43\\xc4\\xcf\\x7b\\x9f\\xf5\\x21\\xc0\\xc6\\x76\\x54\\xcd\\xa8\\xc6\\xa8\\x45\\xcf\\x3f\\xff\\x22\\xdc\\xcb\\xc5\\xa8\\x2c\\xb8\\x37\\x0b\\xe0\\x79\\x79\\x90\\x30\\x26\\x5c\\xe4\\xb5\\x15\\x22\\x54\\x7f\\x21\\xb2\\xa4\\x49\\x11\\xc5\\x79\\x07\\x72\\xc1\\x97\\xa8\\x6f\\xab\\xce\\xd9\\x38\\x33\\x68\\x82\\xd9\\x6c\\xb5\\x71\\x92\\x05\\x50\\xb3\\xda\\xcb\\x7e\\x2c\\x9e\\x2b\\x7a\\xb3\\x97\\x98\\xaf\\x28\\x3a\\x04\\x2a\\x8b\\x85\\xb7\\x94\\xdd\\xa8\\x51\\x94\\x41\\xfa\\xdd\\x9b\\x31\\xc7\\x91\\x97\\x12\\x55\\x9f\\x48\\x1f\\x43\\x74\\x37\\xce\\x11\\xe5\\x1f\\xfe\\x29\\x85\\x08\\x6c\\x02\\x60\\xff\\x2e\\x5e\\x89\\x1c\\x68\\x54\\xce\\x6f\\x83\\xd1\\x91\\x04\\x8c\\x9d\\x0e\\x8e\\x33\\x99\\x64\\x6c\\x15\\x45\\xb3\\xcc\\xd2\\xb6\\x36\\xfa\\xfe\\x07\\x7b\\x92\\x46\\x7b\\x57\\x31\\xed\\x96\\xeb\\xba\\xeb\\xba\\x83\\xdd\\x41\\x39\\x28\\xd7\\x35\\xce\\x59\\xd9\\xfd\\xc8\\x23\\xea\\xdf\\x95\\xca\\x6e\\x71\\x60\\x55\\xf7\\xfa\\x87\\xc7\\x3c\\xfa\\xe8\\x98\\x87\\xd7\\x77\\xaf\\x22\\xbc\\xfe\\xa2\\xec\\xc6\\x4f\\x03\\x2f\\x0b\\xea\\xcc\\x05\\x4d\\x3c\\x8f\\xcc\\x1c\\x34\\x4d\\x14\\x25\\xc9\\x2a\\xc8\\xe4\\x72\\x58\\x0b\\xe9\\x2e\\x7b\\x2d\\x59\\x65\\x55\\xf2\\x10\\x11\\x70\\x4b\\x43\\xf3\\x93\\x75\\xdd\\xf8\\xe9\\xf7\\xbb\\x2f\\xff\\x7e\\x36\\xee\\xbd\\xbc\\x5b\\x78\\xe4\\xed\\xee\\xe5\\x3f\\x9e\\x21\\x7e\\xb8\\x7c\\x0c\\x79\\xd7\\xe1\\x50\\xe8\\x4f\\x3d\\xe5\\x01\\xfd\\x31\\x09\\x82\\x64\\xe6\\x79\\x49\\x42\\x18\\xfa\\xc2\\x9b\\x79\\x33\\x30\\xd1\\x38\\xa8\\x7d\\x31\\x3c\\xc7\\x05\\xc4\\xa1\\x1f\\xd0\\x9b\\x64\\xfd\\xec\\xef\\x2f\\xef\\x7e\\x1f\\x78\\xe0\\x5e\\xe8\\xc8\\x4d\\xcb\\xbb\\xdf\\x7e\\x77\\xcc\\x72\\x3a\\xb6\\x7b\\xf0\\x36\\xe1\\x2c\\xf0\\x8e\\x3c\\xe8\\x88\\x99\\x17\\x91\\x80\\xd1\\xb3\\x03\\x18\\xb5\\x35\\xa9\\xe3\\x0b\\x4a\\xed\\x17\\x84\\x73\\xf0\\xb6\\x9d\\x3b\\xe9\\xbc\\x4e\\x04\\xf8\\x4e\\x0a\\x1f\\xc8\\x59\\x10\\x27\\x88\\x14\\xfe\\x37\\x68\\x52\\x93\\x2e\\x10\\x49\\xff\\x44\\xfe\\x5b\\x86\\x80\\xe1\\xef\\x36\\x13\\xda\\x17\\xbc\\x1b\\xe0\\x4d\\x48\\xa7\\x5f\\x02\\xcf\\x69\\xed\\xa1\\xf0\\xac\\x41\\x46\\x78\\x90\\xe1\\x0d\\x60\\x78\\x0f\\x03\\xdb\\x2c\\xe1\\xcb\\x68\\xdc\\xf8\\xb9\\x82\\x84\\x2b\\x0a\\x73\\x40\\xc7\\x26\\x23\\xa4\\xfc\\xe8\\x92\\xc8\\x27\\xd0\\x5d\\xcd\\x4f\\xc2\\x1b\\xc4\\x4b\\x60\\x1c\\xd3\\x10\\x69\\x59\\x2c\\x90\\x88\\x58\\x6d\\x26\\xcb\\xda\\x79\\x82\\x69\\xfd\\x3c\\x81\\x27\\x45\\x0f\\xc3\\xab\\x60\\x5e\\xf2\\xee\\x5a\\xd6\\x81\\xfd\\x59\\xf7\\xea\\xce\\x31\\xcf\\x4c\\x3c\\x68\\x25\\x3f\\xe9\\xe5\\xa5\\xcf\\x1e\\x36\\xe3\\xe1\\x69\\xca\\x4f\\x25\\xf4\\xcc\\x28\\x03\\x36\\x58\\x06\\xa3\\x2b\\xcb\\x16\\xab\\x2c\\xac\\x9f\\x67\\x92\\xd7\\xce\\x33\\x19\\x08\\xea\\x2f\\xcd\\x91\\x37\\x8d\\x61\\xb6\\xf1\\x86\\xf6\\xf1\\x5b\\x2e\\x5b\\x89\\xe3\\xc2\\x0b\\x4b\\x9f\\x9a\\xb3\\xfe\\x56\\x2c\\x10\\x7a\\x57\\x2b\\x2f\\xe3\\x8d\\xf0\\xa3\\x05\\xd5\\x43\\xf4\\x2e\\x08\\x26\\x19\\x21\\x93\\x09\\x9a\\x68\\x06\\x6a\\x84\\x2a\\x4c\\x89\\x81\\x20\\x7d\\x15\\x53\\x4b\\x84\\x80\\xe6\\xc6\\x6c\\xcf\\xb3\\x93\\xa6\\x5e\\x82\\x13\\x93\\x2f\\x1c\\x9c\\x79\\xe8\\xfa\\xe9\\x40\\xc9\\xd8\\x46\\xe8\\xb3\\x80\\x39\\x13\\x36\\x59\\x61\\x4c\\xd7\\x0f\\x98\\xb9\\xb5\\x03\\x66\\xbd\\x89\\x3d\\xfa\\x9b\\xb5\\x3e\\x55\\x0f\\x1f\\x5d\\x79\\xd9\\x96\\xf1\\xed\\xe2\\x25\\xca\\x9e\\x5b\\xd7\\x1f\\xfe\\xf4\\xd2\\x97\\x21\\x56\\xbd\\x8d\\x9f\\xc4\\x2f\\xa0\\xe3\\xe7\\x47\\x07\\xe5\\x6a\\xe8\\x08\\xba\\xfc\\x7e\\xaf\\x15\\x59\\x5d\\xe4\\xca\\x62\\x2b\\x0a\\x04\\xfd\\x16\\x32\\xa0\\x5e\\x13\\x19\\x52\\x27\\x19\\xd3\\x2c\\x79\\xb4\\x9a\\x3d\\x5c\\x0d\\x6c\\x8e\\x3b\\xf6\\x98\\xe2\\x4b\\xf2\\xc4\\x1d\\xe9\\x63\\x9c\\x2c\\xfe\\xc8\\x1d\\x38\\xba\\x67\\x0b\\x8c\\xf7\\x70\\x56\\x1f\\xf7\\x8b\\xb7\\xb0\\x71\\x37\\x4c\\x40\\xb1\\x3d\\x66\\xe4\\x45\\xd3\\x73\\xb5\\x82\\x49\\x32\\x9b\\x4d\\x0e\\x8f\\xcb\\xeb\\xf5\\x20\\x8f\\xcb\\x03\\x2d\\x32\\x79\\xfc\\x3e\\x87\\x40\\x66\\xc4\\x2d\\x93\\x39\\xf1\\x98\\x2a\\xb7\\xa8\\x44\\x25\\xf5\\x59\\x12\\xf5\\x9f\\xf8\\x05\\xd9\\xb1\\x83\\x57\\xc0\\x7c\\x29\\xb3\\x3b\\xc6\\xb1\\x89\\x7b\\x71\\xe9\\xb3\\x7d\\x64\\xe2\\xb6\\x2d\\x7f\\x7a\\x36\\x9d\\x40\\x68\\x8f\\xf2\\x32\\xbf\\x80\\xce\\x9f\\x1f\\xcd\\xc8\\xd5\\xd1\\x19\\x84\\x31\\x72\\x38\\x9d\\x5e\\x0f\\x0c\\x13\\xf2\\x62\\xab\\xe4\\x35\\x05\\x82\\x3e\\x33\\x99\\x51\\xa7\\x40\\xe6\\xd4\\x4b\\xde\\x56\\xd9\\x57\\x83\\x46\\xcc\\xb3\\x58\\xfc\\x91\\x5f\\xd0\\xd9\\x33\\x38\\xae\\x57\\x6b\\x17\\x0c\\x15\\x8e\\x4f\\xbe\\xf0\\xd9\\x19\\x53\\x1f\\x3d\\x14\\x0b\\x2f\\x5d\\xfc\\x74\\x1f\\x0c\\x15\\x11\\x2d\\xd0\\x91\\x65\\x30\\x56\\x67\\x8b\\x97\\xb8\\x6a\\xe5\\x8f\\xbf\\x42\\x2e\\x59\\xfe\\x18\\x6f\\xa7\\x32\\x7c\\x75\\xe1\\x7c\\xfe\\x53\\xb0\\xd1\\x56\\x34\\x36\\x17\\xb0\\x9a\\x41\\x25\\x64\\x49\\xe0\\x79\\x3b\\x44\\x52\\xa2\\xb0\\x6d\\xc0\\x02\\xfe\\x7d\\x10\\x07\\x9e\\x9e\\x27\\x93\\x37\\x4b\\x27\\x19\\x1b\\x6a\\x78\\x5b\\x17\\xf3\\x69\\x5e\\xec\\x12\\xf9\\x24\\x9f\\xf1\\x73\\xf7\\x04\\xee\\x0a\\x28\\x79\\x7c\\x68\\x15\\x2a\\x54\\xe1\\xc3\\xf8\\x6d\\x3f\\x6d\\x11\\x7a\\xa3\\x43\\x31\\x7c\\xa1\\xf2\\xcb\\xd8\\x10\\xe5\\xf9\\xcb\\xc2\\x39\\x94\\xa7\\x1f\\x2d\\xc8\\xd5\\xf0\\xc8\\x07\\xa9\\xa0\\xd5\\x61\\x12\\x05\\x9b\\x0c\\xae\\x51\\x14\\xbc\\x1c\\xe7\\x12\\x84\\x60\\xc0\\xe6\\xf5\\x78\\xb7\\x0d\\xd8\\x61\\x26\\xa1\\x05\\x39\\xdb\\x3c\\x97\\x09\\x73\\x78\\xdb\\x80\\x0c\\xc6\\x1f\\x7e\\xf1\\xd4\\x3c\\xe8\\x98\\xde\\x20\\xf2\\x24\\x7a\\x49\\xd3\\xdc\\x9a\\x90\\xb9\\xd9\\xdd\\x48\\xa4\\x79\\x59\\x68\\x5e\\x86\\xf7\\xc2\\x3f\\xde\\xb4\\x17\\x7e\\xe1\\xc5\\xef\\x29\\x8f\\xe1\\x23\\x5c\\x7f\\x71\\xe1\\x23\\x94\\xc7\\x22\\x11\\x3c\\x47\\x79\\x1c\\xfe\\xa3\\x3c\\x8a\\x8f\\x8c\\xf0\\x7f\\x22\\x6d\\x9e\\xaf\\xdc\\x1d\\x1b\\x8a\\x2a\\x6f\\x28\\x6f\\xc2\\xff\\x94\\xbb\\xf1\\x7c\\xf8\\x1f\\xce\\x92\\x3e\\x1c\\x80\\x97\\x73\\xab\\xf9\\xd7\\x61\\xdc\\xbc\\x5b\\x90\\x64\\xb7\\x99\\x41\\x97\\xda\\xb2\\x6d\\xaa\\x41\\x33\\xbe\\x29\\xc9\\xad\\xde\\xb0\\xf4\\x82\\xc7\\x1f\\xbb\\xf0\\xa2\\x27\\xb8\\x07\\x96\\x6e\\x78\\xe2\\xa2\\x8b\\x1e\\x7b\\x0c\\x2c\\xdb\\x07\\x30\\xd0\\x21\\xdc\\x0e\\x3f\\xc9\\x40\\xa3\\x35\\x17\\x80\\xb0\\xce\\x24\\x0b\\x48\\x30\\xf1\\x36\\xbb\\x19\\x8b\\x82\\x78\\x17\\xe8\\xbb\\x40\\x1c\\x15\\xe9\\x95\\xf1\\x41\\xd4\\xf6\\x51\\x49\\x77\\xf1\\x4b\\xfc\\x1e\\x27\\xf6\\xf4\\xe3\\xea\\x3d\\x87\\xe3\\x04\\x6e\\x57\\x7e\\xa7\\x7d\\x6b\\xbe\\x49\\xf8\\x03\\xf8\\xec\\x50\\x8e\\x78\\x5f\\x8e\\x93\\x20\\xdb\\xa3\\xcd\\xc4\\x9a\\x7f\\x20\\xbe\\xc7\\xdf\\x78\\x38\\x7e\\x47\\xb8\\x94\\x38\\x9c\\x99\\xc4\\xdf\\x1c\\x06\\xfe\\xa6\\x81\\xe2\\xf9\\x9f\\xe1\\x11\\xf8\\x1b\\x62\\x48\\x34\\x2c\\xaa\\xb5\\x49\\x40\\x53\\x0e\\xc3\\xef\\x1c\\x2e\\x5c\\x3a\\xf3\\xc7\\x6a\\xf1\\x26\\xe6\\xa3\\x3d\\x80\\xf7\\xa5\\x78\\x19\\xf4\\x28\\x91\\xb3\\x23\\x8e\\x13\\x79\\xde\\x84\\x45\\x11\\x82\\x0a\\xea\\x9f\\x8a\\xde\\x89\\xf9\\x25\\xc2\\xfa\\xcb\\xed\\x73\\xb6\\xe3\\x77\\xf8\\x3f\\xfc\\x54\\x2d\\x7c\\x88\\x9f\\x32\\xd0\\x20\\x6f\\x22\\xfb\\x2d\\xa2\\x08\\xb8\\x40\\x89\\xe7\\x6d\\x40\\xc8\\x62\\x91\\x78\\x33\\x79\\x26\\xca\\xe8\\xb8\\x4b\\x7d\\x1d\\xed\\x4e\\x52\\xa3\\xab\\x9c\\x87\\x57\\x6b\\xb4\\x67\\x2a\\x9f\\xa1\\x12\\xfa\\xad\\x39\\x1f\\x96\\x24\\x93\\x60\\xb5\\x9a\\xcc\\x66\\x1b\\x44\\xcd\\x90\\x8b\\x9b\\x79\\xa1\\x8c\\xbc\\x4e\\x9d\\x07\\xaa\\xb4\\xdf\\xf0\\xf5\\x25\\x5e\\x0d\\xa4\\xdf\\x01\\x1e\\x42\\x1c\\xfb\\x67\\x2a\\x33\\x08\\x0b\\xa4\\xed\\xb7\\x23\\x7f\\x5c\\x92\\xfc\\x16\\x7c\\xc8\\xa8\\xa1\\x30\\x2c\\xff\\x45\\x24\\xbe\\xcc\\x81\\x22\\x28\\x83\\xda\\x21\\x77\\x99\\xc6\\x59\\x73\\x05\\xa7\\x24\\xf9\\x0f\\x1c\\x3b\\xb6\\xb3\\x39\\x9d\\xae\\x8d\\x71\\x3c\\x78\\x73\\x3e\\xc6\\xdb\\x26\\x74\\xda\\x3a\\xa7\\xf7\\xb6\\x1d\\xdc\\x7d\\xf0\\x96\\x81\\x86\\x5c\\x47\\x6e\\xcb\\x40\\xb4\\xa3\\xbb\\x63\\x70\\x5e\\xa2\\x3b\\x6c\\x0e\\x6d\\x19\\x10\\xcc\\x83\\xf3\\x04\\x0f\\x7c\\xca\\x9c\\x84\\x43\\xe7\\xf6\\xe2\\x53\\x7a\\xf1\\x91\\xbd\\xb8\\xa7\\x17\\x37\\xf5\\xe2\\x58\\x2f\\xb6\\xf7\\xe2\\x6f\\x7a\\xf1\\xc7\\xbd\\xf8\\xa5\\x5e\\x9c\\xef\\xc5\\x0f\\xf5\\xe2\\xab\\x7a\\xf1\\xb2\\x5e\\x7c\\x46\\x2f\\x9e\\xd3\\x8b\\x0f\\xee\\xc5\\xbe\\x5e\\x2c\\xf5\\xe2\\x05\\x3f\\xf4\\xe2\\xcf\\x7a\\xf1\\xbb\\xbd\\xf8\\x77\\x14\\xee\\x81\\x5e\\x7c\\x6b\\x2f\\x66\\xe4\\xa6\\xf7\\xe2\\x71\\xbd\\xb8\\xa5\\x17\\x7b\\x7a\\xb1\\xd0\\x8b\\xbf\\xed\\xc5\\x7f\\xeb\\xc5\\x3b\\x7b\\xf1\\x23\\xbd\\xf8\\xae\\x5e\\xbc\\xba\\x17\\x2f\\xef\\xc5\\xf3\\x35\\x72\\x0d\\xbd\\x38\\xda\\x8b\\x81\\xda\\xbf\\x7a\\xf1\\xdb\\x95\\xb8\\x32\\x6a\\x29\\x8d\\x71\\x37\\x23\\xf7\\x7a\\x2f\\xce\\x9d\\xf9\\x5c\\x2f\\xbe\\x83\\x12\\x3c\\x9b\\x12\\x64\\xdd\\x60\\x04\\xed\\x94\\x26\\xb4\\xf0\\x8f\\xbd\\x78\\x7b\\x2f\\xde\\x42\\x9b\\xb7\\xb4\\x17\\x2f\\xea\\xc5\\xc7\\x68\\x34\\x6b\\x7a\\x71\\x80\\xd2\\x2c\\x6b\\xe1\\xb5\\x5a\\x47\\x8e\\x34\\x50\\x93\\x31\\x58\\x55\\xc3\\x9f\\x25\\x25\\x7f\\xce\\x36\\xfe\\x29\\x81\\x2b\\x85\\x3c\\x7b\\xef\\x80\\x2a\\x04\\x9a\\x34\\x09\\x1c\\x2a\\xb9\\xa1\\x4d\\xb7\\xe9\\xba\\x5d\\xa7\\xb7\\xb4\\x15\\xcd\\x12\\x7c\\x75\\xd0\\xf2\\x49\\x32\\x8d\\xb3\\x99\\x84\\x5b\\xb3\\x18\\xb8\\xb3\\x96\\xbd\\x96\\x9a\\xed\\x18\\x2d\\x56\\xfe\\x35\\xde\\xcb\\xaf\\x57\\xbc\\xc2\\x37\\xef\\xd8\\x73\\x2f\\x8e\\xdd\\x74\\xdd\\xb5\\x37\\x5e\\x8b\\xb9\\xf6\\xf1\\x93\\x3a\\xb3\\x13\\xc7\\x75\\x72\\xa7\\x19\\x7e\\x75\\x40\\x36\\x3b\\x09\\x7e\\xd5\\x3c\\x02\\x4a\\xbc\\xc4\\xa2\\xdc\\xf9\\xf8\\x73\\xcf\\x6c\\xda\\xb2\\x49\\xb9\\xf3\\xe2\\x33\\x17\\x5c\\x7a\\xf1\\x99\\x8b\\xde\\x31\\xfe\\xe6\\xf4\\x15\\xf0\\x1b\\xfc\\x0f\\xe5\\xce\\x8d\\x83\\x25\\x40\\xd4\\xa6\\x1f\\xc1\\x5f\\x84\\x77\\x80\\x2f\\xe6\\x21\\xd6\\x77\\x60\\x90\\x67\\x0e\\x89\\x10\\xb7\\x3d\\x32\\x0f\\xf3\\x5a\\x9c\\xc7\\xf4\\x28\\x8a\\x93\\xfc\\x11\\x39\\xdc\\xb1\\x96\\xbf\\x88\\x93\\x87\\x7f\\x20\\x3a\\x03\\xb8\\xfc\\x26\\xea\\x9b\\xbe\\xa5\\x99\\xf5\\xb7\\xf8\\x5f\\x74\\xfd\\x11\\x0b\\x83\\xf8\\x5f\\x79\\x41\\x42\\x9c\\xbe\\xfe\\x58\\x78\\x9e\\xbf\\x48\\x48\\x03\\x6c\\x9d\\xfc\\x6d\\x61\\x01\\xcd\\x24\\xbf\\x25\\xb6\\x14\\x3c\\xda\\xb7\\xf4\\x26\\x59\\xd2\\x96\\xa3\\xd1\\xb5\\xdc\\xa1\\xfc\\xe3\\xc8\\x84\\xda\\x73\\x21\\x89\\x03\\x3f\\x8c\\x4c\\x9c\\xc9\\x0c\\xd6\\xe3\\x8b\\x79\\x1c\\xe8\\x3c\\xfa\\x62\\x9e\\xb4\\x1b\\x85\\xa9\\xf3\\xc8\\x36\\x19\\x5f\\x25\\x04\\x47\\x8b\\xbb\\x70\\xd6\\xcf\\x63\\x3f\\x3e\\x56\\x51\\x30\\xf7\\xb9\\x82\\xd1\\xb5\\xf8\\xb4\\xa9\\xf8\\xac\\x8c\\xb2\\x46\\xb9\\x2d\\x4d\\xe9\\x1f\\x03\\xf4\\x0f\\xd3\\xe8\\x8b\\xe0\\xe5\\x11\\x27\\x21\\xc9\\x6c\\xe1\\x4c\\x5f\\xcc\\x93\\x25\\xb0\\x7b\\xc0\\x66\\x04\\x7d\\xed\\xad\\x59\\x52\\xa3\\xcf\\x02\\xf9\\x63\\x30\\x52\\xbe\\xc4\\xa8\\x80\\xae\\x4d\\xe3\\xd3\\xf0\\x99\\x19\\xe5\\xc6\\xa9\\xca\\x6d\\xcc\\x86\\xbc\\x08\\x96\\xc8\\x47\\xc6\\x03\\xec\\x3f\\x8c\\x07\\x12\\xe8\\xdd\\x36\\xee\\xa7\\x78\\xce\\x32\\xc8\\xb5\\xe4\\x2d\\x56\\x4e\\x3d\\x73\\x09\\xf6\\x6c\\x85\\xb8\\x81\\x6f\\x96\\xe6\\xb0\\xd8\\x1d\\x89\\x58\\xe0\\xf0\\xb3\\x03\\x5c\\x31\\x76\\x27\\x6f\\x40\\xf2\\xcd\\x7b\\x66\\xf3\\x1b\\xc4\\x0d\\x0f\\x81\\x6d\\x27\\xf7\\xa3\\xff\\x8e\\xce\\x93\\xf7\\x19\\x2c\\xf0\\x22\\xb4\\x3c\\x44\\x9e\\xa8\\x67\\xd0\\x4d\\x18\\x67\\x37\\xbd\\xce\\xaf\\x7c\\x1d\\x20\\x04\\xf4\\x0a\\x30\\xf8\\x07\\xf8\\x69\\xe6\\xa3\\x9c\\x10\\x63\\x65\\x90\\xc9\\x06\\xc3\\xc9\\x5b\\x9d\\xbc\\x2c\\xbb\\x5d\\x08\\x99\\xb1\\xc9\\x64\\xb6\\xdb\\xcd\\x36\\x9b\\x19\\x3c\\xb7\\x19\\x32\\x3c\\xa7\\xe0\\x21\\x5a\\xe0\\x56\\x9f\\x7c\\x54\\x1f\\x7e\\x64\\xf7\\x15\\xba\\x83\\x30\\x08\\x41\\xea\\x76\\x92\\x6e\\x6c\\xf8\\x7e\\x85\\xbc\\xfd\\x5a\\xfc\\x16\\x9e\\xc2\\x11\\xe5\\xe3\\x9f\\x66\\xe0\\xb0\\xf2\\x09\\x9f\\x24\\x3f\\x2b\\x8b\\xc9\\xcf\\x06\\xfb\\xed\\x84\\x78\\x25\\x22\\x38\\x9d\\x76\\x11\\x02\\x4e\\x1b\\xb6\\xd9\\xed\\x2e\\xab\\x93\\x2c\\x62\\x08\\x76\\x99\\xa7\\x56\\x5c\\xcd\\xef\\x0c\\x86\\xbc\\x68\\xcb\\xb3\\xee\\x34\\xa4\\x10\\x69\\xfa\\x7c\\x3e\\xb1\\xe7\\xdb\\xc1\\x59\\x6c\\xdf\\xae\\xd9\\x73\\x70\\x15\\xaa\\x45\\xe7\\x74\\x7e\\x3c\\xf3\\x48\\x58\\x96\\xcd\\x66\\x0b\\xf8\\x44\\x8b\\xc5\\x06\\x99\\x18\\x59\\xc9\\xa0\\xcf\\xd2\\x55\\xf6\\x48\\xc4\\x67\\xf0\\x6e\\xe6\\x34\\xee\\xc1\\x63\\x95\\x57\\x67\\x11\\xa7\\x41\\x78\\x28\\xf7\\xe0\\xa7\\x54\\xb7\\x81\\x0b\\x2e\\xe0\\xf1\\x15\\xf0\\x20\\xfe\\x56\\x20\\x9e\\x40\\x82\\xa0\\x4d\\xcd\\x6e\\xb3\\x1d\\xd4\\xb1\\x41\\x68\\xd5\\x38\\xe7\\x55\\xfc\\xf7\\x57\\x21\\x75\\xab\\xc5\\x67\\x2a\\x6b\\x90\\x8e\\x77\\x35\\x92\\x88\\xbf\\x05\\x1c\\x70\\xf0\\x20\\x2c\\x82\\x08\\x29\\xd3\\x08\\x7f\\x4b\\xda\\x10\\xc5\\x40\\xe3\\xab\\xaf\\x54\\x8f\\xf8\\xac\\x32\\x15\\xfa\\xe7\\x06\\x1a\\xbb\\x21\\xb7\\x94\\x20\\x6a\\xed\\xc8\\x05\\x20\\xb3\\xc4\\xb2\\x28\\x22\\x92\\x5c\\xca\\x66\\x0b\\x7c\\x09\\xd8\\xa4\\xfa\\xc4\\x91\\x19\\x2c\\x6d\\x1a\\x49\\x2e\\xbb\\xeb\\xe4\\x60\\xe3\\x9c\\x57\\x76\\xef\\x7e\\x65\\xce\\x8a\\x15\\x2b\\xa0\\x8d\\xe2\\xe6\\x77\\xdf\\xdd\\xbc\\x79\\xc9\\x92\\xc5\\x46\\x9f\\x6b\\x27\\x3e\\x57\\xb0\\xdb\\xad\\x26\\x8b\\xc5\\x6a\\x75\\x80\\xdc\\x40\\xca\\x24\\x58\\x8b\\x3e\\xb7\\x74\\x04\\xb5\\x79\\x32\\xce\\x52\\x48\\x9f\\x24\\xe5\\x6e\\x6d\\x8e\\x50\\x9a\\xdb\\xc2\\xdd\\x41\\xf3\\x63\\x37\\x1a\\x9f\\x8b\\x49\\x2e\\xce\\x29\\x72\\x16\\x13\\xc6\\x22\\x24\\x02\\x82\\x53\\xf8\\xc7\\x80\\x49\\x74\\x3a\\x21\\xf8\\x7e\\x07\\xbf\\x8b\\xb4\\x87\\x8c\\x0d\\x76\\x59\\x4d\\x48\\x68\\x1d\\xa2\\x2b\\xd9\\x45\\x5a\\x00\\x13\\x2d\\x39\\x71\\xb6\\x8b\\xeb\\x78\\x46\\x59\\x8f\\xc7\\xff\\xcf\\xa9\\xca\\xc7\\xd6\\x48\\xd5\\xb5\\x6f\\xf0\\x93\\xaf\\xb9\\xe6\\x66\\xbc\\x49\\x99\\x76\\x0d\\xfe\\xb5\\xb7\\xad\\xf1\\xa5\\x97\\x88\\x3d\\xe8\\xe2\\x1e\\xe7\\x56\\x81\\xc6\\x54\\xa1\\x85\\xb9\\xf1\\xb2\\x24\\x05\\xdd\\xde\\x80\\xe0\\xf1\\xdb\\x10\\xf2\\x54\\xc7\\x9c\\x9e\\xb8\\x87\\xf3\\xf0\\x1e\\x4f\\x24\\xe2\\xdc\\x35\\xe0\\x8c\\xc4\\x23\\x5c\\x90\\x8f\\x44\\xcc\\x5e\\x6f\\xe0\\x1f\\x03\\xde\\x77\\x78\\xf3\\xae\\x81\\xe3\\xe5\\xc5\\x32\\x27\\xcb\\xfc\\xfb\\x90\\x9b\\xb4\\x1d\\x43\\xef\\xf8\\x74\\x7b\\x50\\x4f\\xa8\\x0d\\x9c\\x16\\x0b\\x6e\\x49\\x4e\\xa0\\x99\\xa9\\x60\\x36\\x5b\\x7c\\xb6\\x5c\\xbb\\xee\\x93\\xbc\\xd6\\x9b\\xf6\\x42\\xe8\\x23\\xd3\\xd7\\x5e\\xb9\\x55\\xbf\\xba\\x76\\xe9\\x2d\\xae\\x17\\x5c\\x47\\xb6\\x8f\\xed\\xec\\x3c\\x20\\xf5\\x54\\x0c\\xef\\x56\\x36\\x5a\\x82\\x33\\x5b\\x17\\x5f\\xce\\x3f\\x76\\xde\\xd5\\x8b\\x8e\\xb7\\xf5\\xe7\\xc6\\x77\\x4d\\x6c\\xc5\\xb7\\x5c\\xfd\\x4b\\x6f\\xf4\\x72\\x66\\x37\\x9b\\x60\\x1c\\x17\\xd3\\xfc\\xae\\xb1\\x98\\x7f\\xda\\xac\\xc8\\x64\\x36\\xfd\\x63\\xc0\\xfc\\x0e\\x4f\\x06\\xcf\\xe8\\xce\\x58\\x45\\x11\\x52\\xb6\\x34\\xa4\\x6e\\x60\\x67\\xb8\\xc5\\xb7\\xcf\\x7f\\x71\\xf1\\x3a\\xe5\\x14\\xee\\x40\\x11\\x3f\\xf7\\xc3\\x6d\\x97\\xff\\xf4\\xd2\\xd5\\xf4\\x7d\\x74\\x18\\x9f\\xa5\\xe2\\x0d\\xf4\\xed\\xe9\\x46\\xd4\\x9f\\x6b\\x0e\\x9a\\xbd\\x76\\x2f\\xb2\\x4b\\x11\\x6f\\xb5\\x3d\\x85\\x6a\\xc1\\x78\\x36\\x37\\x05\\x2c\\x35\\x89\\x44\\xcd\\xae\\x81\\x44\\xa2\\xde\\xe5\\xaa\\xda\\x35\\xe0\\x7a\\x8f\\xaf\\xdf\\x35\\x40\\xc6\\xc4\\x30\\x20\\xf4\\xa3\\x67\\xe4\\xa3\\xce\\x9e\\x92\\xa0\\xbb\\xbb\\x4b\\x7b\\x7b\\x9c\\xac\\x13\\xfa\\xab\\x71\\x5d\\x27\\x79\\xef\\x39\\xdb\\x11\\x54\\x3f\\x47\\x73\\x4b\\xef\\x5a\\x7d\\xed\\x1d\\x47\\x4e\\x1c\\x7f\\xd0\\xea\\x2b\\xaf\\xb8\\x61\\xfa\\xd8\\x83\\xfb\\x7e\\xdb\\x0f\\x7f\\xdc\\x67\\x9c\\x76\\x46\\x57\\x27\\x7f\\xc9\\x29\\x67\\x2d\\x39\\x69\\xda\\x31\\x66\\xce\\x71\\xd4\\xd8\\x23\\x17\\x9c\\x74\\xf4\\xb8\\xff\\xc7\\xdb\\x7b\\x00\\x46\\x55\\x6c\\x8d\\xe3\\x73\\xe6\\xb6\\xed\\xbd\\xa6\\xee\\x66\\x93\\x6c\\x7a\\x42\\x36\\x85\\xd0\\xb2\\x14\\x21\\x10\\x4a\\x80\\xb8\\xb0\\xb4\\x24\\x80\\x10\\x40\\x7a\\xef\\x20\\x88\\x22\\xfa\\x30\\x52\\xed\\x88\\x88\\x80\\x82\\x0a\\xa4\\x80\\x15\\x51\\x10\\x11\\x51\\x11\\x11\\x51\\xf1\\x3d\\x7c\\xf6\\xf7\\xf4\\xe9\\x7b\\xea\\x4b\\xb2\\x37\\xff\\x99\\x7b\\x77\\x93\\x0d\\xe0\\xfb\\x7d\\xdf\\xff\\xfb\\x7e\\xbf\\x4d\\xee\\xde\\xb2\\x77\\x66\\xce\\x9c\\x39\\x6d\\x66\\xce\\x9c\\x19\\x43\\x7a\\xb7\\xe3\\x7e\\x1f\\x39\\x72\\xd4\\xe5\\x71\\xe3\\x27\\xe7\\x48\\xb8\\xba\\x1d\\x0b\\xf8\\x14\\xfb\\x28\\x11\\x9e\\x5d\\xfc\\x36\\xe4\\x70\\x18\\x88\\x1c\\x74\\x28\\x63\\x9c\\xa4\\x27\\x6c\\xb1\\xb0\\x5f\\x06\\x2d\\x4a\\x3a\\x04\\x2b\\xf5\\x4a\\x48\\xfb\\xb5\\x43\\x2c\\x4f\\x98\\x18\\x65\\xad\\x4d\\x88\\xda\\xeb\\x4b\\xc0\\xf6\\xc8\\x26\\xfc\\xd8\\x9c\\xd3\\xa3\\xd7\\xc0\\xc3\\xec\\x5e\\xa2\\x3f\\x31\\xe3\\x99\\x34\\x68\\xd6\\x0c\\x2c\\xc0\\x9a\\x51\\x7d\\xab\\xc7\\x8a\\x4f\\x40\\xdb\\x26\\x26\\x36\\x29\\xb7\\x77\\xb7\\xdb\\x97\\x8a\\xc3\\x64\\x3d\\x61\\x69\\x9b\\x86\\x9b\\xf1\\x5a\\x83\\xc0\\x4d\\x42\\x28\\x24\\xc7\\x1a\\xc9\\x23\\xcf\\xde\\x97\\x9e\\x4d\\x6b\\x7f\\xd6\\xa5\\xad\\x96\\x21\\x24\\x41\\x9e\\xcd\\x23\\xcf\\xee\\x93\\xf4\\xa8\\xd8\\xb6\\x18\\xff\\x84\\xe7\\x1a\\x04\\xa6\\x0b\\x2c\\x92\\x9f\\x91\\xb4\\xb5\\x24\\x2d\\x7d\\x6f\\xba\\xfc\\x1e\\xa9\\x27\\xa9\\x06\\x3b\\x83\\xbb\\x88\\x12\\xd1\\x02\\x7f\\x3f\\x7b\\xa2\\x33\\x3e\\xde\\x82\\x8c\\x44\\xfc\\xa1\\xd8\\x44\\xce\\xed\\x12\\x74\\x35\\x41\\xab\\xa3\\x26\\xa8\\x8f\\x03\\x1d\\x17\\x07\\x16\\xa8\\x09\\x3a\\x2d\\x89\\x56\\x48\\xb4\\x80\\xca\\x02\\x3a\\xbd\\x1a\\xf4\\x8c\\xda\\x6a\\xb1\\x58\\xd5\\xd4\\x8e\\x8f\\xaf\\x09\\x22\\x93\\xd4\\x9e\\x86\\x37\\xec\\x44\\x9a\\x50\\xb2\\xa6\\x56\\x94\\x51\\x62\\x46\\x4a\\xec\\x99\\xed\\xdd\\x9c\\xf6\\x9e\\x4e\\x12\\x2e\\x2c\\x30\\xd1\\x6d\\xe4\\xb9\\xc8\\x36\\xf2\\x3e\\x6a\\xe2\\x87\\xff\\xe0\\xca\\xc7\\xcd\\xad\\x9f\\x3e\\xf7\\x55\\x8c\\x28\\xaa\\x03\\xc3\\x27\\x2f\\x9a\\x32\\x1f\\x2f\\x14\\x67\\xc1\\x34\\x71\\x07\\x1c\\x84\\x9d\\xe0\\xf9\\x4d\\x84\\x94\\xc3\\x3b\\xb4\\xe5\\x63\\xdf\\xdc\\x73\\xec\\x79\\xb8\\xeb\\xf8\\xbb\\xc7\\x3f\\x3f\\x2e\\x8d\\xd3\\x57\\xb6\\xd5\\x71\\x9b\\xb9\\x16\\x94\\x84\\xd2\\x50\\x36\\x3a\\xe0\\xef\\xa6\\xd3\\x6a\\xe3\\x13\\x94\\x0a\\x45\\x12\\x4a\\x40\\xac\\xc9\\x68\\x74\\x38\\xd3\\x59\\x27\\x9b\\x9b\\x93\\x95\\xa5\\xb1\\x58\\x34\\x26\\x93\\xc6\\xe1\\x48\\xd4\\xa0\\x38\\xad\\xbe\\x26\\xa8\\x55\\x65\\x66\\x6a\\x3c\\x9e\\x44\\x4d\\x8a\\xbb\\x26\\xa8\\x52\\x34\\x81\\xd9\\xef\\x08\\xaa\\x04\\x56\\x93\\x5a\\x15\\xd4\\xa4\\xd5\\x04\\x35\\x4c\\x9c\\xd9\\x9a\\x92\\x98\\x52\\x15\\x4c\\x4c\\x20\\x3f\\x1e\\x0e\\x26\\x9a\\xa4\\x71\\x16\\xc2\\xc9\\xa5\\xa5\\x61\\xeb\\x30\\x4c\\xd0\\x44\\x39\\x1a\\x4e\\x49\\x08\\xb9\\x4e\\x61\\x76\\xd8\\x0c\\xa6\\x76\\xeb\\x44\\xc2\\x08\\x57\\x9c\\x8a\\x0b\\x0d\\x28\\xa5\\xd8\\x27\\xd8\\xec\\xd2\\x17\\x97\\xea\\x65\\x7a\\x41\\x31\\xc7\\xb3\\x7a\\xf0\\x14\\xa7\\x7a\\x05\\xb3\\xcd\\x6e\\x4e\\xf5\\x82\\xc5\\x6e\\xe6\\xa1\\xa8\\xcb\\x7d\\x1b\\x20\\x0b\\xdc\\xce\\x83\\x8e\\xfe\\x65\\xf1\\x07\\x33\\x1b\\x07\\x89\\xad\\xb6\\xb4\\xb7\\xab\\xef\\xcb\\x03\\x18\\x22\\xbe\\x7f\\xc5\\x7a\\xd0\\x3e\\xa4\\x57\\x62\\xb0\\xd7\\xc0\\x6b\\xa5\\xc3\\xc4\\xaa\\x6e\\x47\\xfe\\x36\\xfb\\xbd\\x6a\\xe8\\x79\\x06\\x7a\\xc0\\x9c\\xf8\\x19\\x53\\x59\\xfd\\xb2\\x23\\x35\\x97\\x07\\x94\\xe6\\xb4\\xee\\x33\\x2f\\x5f\\x54\\x73\\xe2\\x6d\\x61\\xdc\\x6d\\x6a\\xcb\\x7a\\x58\\x96\\xa2\\x66\\x5e\\xb2\\x81\\xe8\\x6c\\x58\\x82\\x7f\\xad\\xa4\\x74\\x42\\xe3\\xa2\\x6d\\xe6\\xb6\\xa3\\x2c\\xb4\\xc8\\xdf\\x43\\xe5\\x70\\x30\\x26\\x26\\xd6\\xed\\x4d\\x4d\\x8d\\x89\\x45\\xee\\x58\\x77\\x4e\\xb6\\xd7\\x9b\\x1c\\x13\\x93\\xcc\\x30\\xc9\\x3c\\x9f\\xac\\x56\\xa9\\x12\\x92\\xf5\\xa6\\xea\\xa0\\xde\\x52\\x15\\xd4\\xeb\\x13\\x92\\x93\\x33\\xaa\\x82\\xc9\\x6c\\x82\\xa3\\x3a\\x98\\x60\\xee\\xcc\\xef\\xe1\\xb3\\xcf\\xf8\\x07\\xc8\\x31\\x76\\xf8\\xd9\\x58\\x6c\\x76\\x63\\x81\\xd7\\x9d\\x00\\x56\\x1f\\x9d\\x7d\\x8c\\x6c\\x4e\\x5b\\x44\\x11\\xe3\\x71\\x21\\x1a\\x04\\xd9\\x65\\x96\\x89\\x08\\x56\\xce\\x9b\\xad\\x00\\x0d\\xa3\\x62\\xd3\\xfd\\xa3\\xfb\\x14\\xbb\\xfa\\x16\\x4e\\x5b\\xf8\\x4a\\x10\\x60\\xb8\\xf8\\xca\\x9f\\xc5\\x67\\xc5\\xfb\\x60\\x0a\\x54\\xc2\\xb7\\x1b\\xc4\\x56\\xf7\\x89\\x75\\x6f\\x9d\\xc7\\xa7\\x5f\\xf8\\x3e\\x1f\\x46\\x6e\\xaf\\x35\\x35\\x26\\xcc\\x1b\\x9f\\xad\\xff\\x5e\\x7f\\xe0\\xe9\\xfe\\xde\\x4f\\x6b\\xde\\x3e\\x03\\x6b\\x61\\x0c\\x8c\\x85\\x05\\xe2\\x92\\x01\\xd3\\x57\\xfe\\x2e\\xf1\\x0b\\x21\\x73\\xb6\\x1f\\x91\\xa1\\x46\\xb4\\xd2\\x3f\\x94\\x03\\xa5\\x52\\xa7\\x11\\x18\\x95\\x41\\x65\\x30\\x99\\x15\\x1a\\xad\\xa6\\x2a\\xc8\\x69\\x81\\x25\\xb5\\xd6\\x26\\x6a\\xab\\xb4\\x8c\\x9e\\x7c\\xb5\\x69\\x89\\x39\\x05\\xa5\\xf0\\x1c\\x5c\\x05\\xd6\\x80\\x20\\x0f\\x2a\\xa0\\x1a\\xd6\\x00\\x97\\xc1\\x68\\x41\\x4b\\x0c\\x2a\\x3d\\x22\\xef\\x33\\x4a\\x93\\x24\\x7d\\xa9\\xfc\\x73\\x84\\x39\\x67\\x02\\x9d\\x77\\x89\\xee\\x61\\x10\\x64\\x48\\xb3\\x3e\\xf2\\x56\\xfc\\x32\\x8b\\x50\\xf3\\xa3\\x90\\xb2\\x0c\\xec\\xc5\\x2b\\x43\\xeb\\xa8\\x15\\x22\\x5e\\xbb\\xe3\\x0e\\xe6\\x45\\xf6\\x05\\x71\\xc1\\x7b\\xaf\\x6c\\xa3\\x56\\xee\\x36\\xe6\\xbb\\xf7\\x08\\xec\\x74\\x8d\\xf4\\x04\\xd2\\x86\\xb9\\x68\\xb7\\x3f\\x91\\xe8\\x96\\x5c\\xe4\\x4a\\xf6\\x1a\\xb5\\x5e\\x95\\xd3\\xe1\\xc8\\x44\\x99\\x7a\\x35\\x31\\x78\\x54\\x4c\\x97\\x3c\\xaf\\x5a\\xa3\\x26\\x74\\xdd\\x10\\x4c\\xd6\\x78\\xf4\\x06\\x3d\\xa5\\xff\\xe4\\xa0\\xcb\\xa0\\x37\\xe4\\x1a\\x4a\\x0d\\x8c\\x9a\\xd1\\x18\\x34\\x06\\xd6\\x6a\\x8d\\x5b\\x18\\x74\\x3a\\xad\\x02\\x97\\xc9\\x66\\x2e\\x08\\xfa\\x73\\x21\\xb7\\xa9\\xed\\xb5\\x06\\x93\\xb5\\x2c\\x37\\x97\\x75\\x50\\x4d\\x97\\x29\\x2b\\x37\\x7a\\x15\\x55\\x2d\\x59\\x18\\x18\\x23\\xb5\\xb2\\xcb\\xfa\\xd9\\x24\\x37\\x78\\x3b\\x47\\x48\\x7a\\xc7\\xe3\\x2e\\xec\\x85\\x7b\\x02\\xa9\\x5e\\x21\\x3d\\x24\\x89\\x6f\\x17\\xa4\\x16\\x8e\\x87\\x88\\x84\\x20\\x1a\\xc0\\x9d\\x5f\\x54\\xcc\\x4e\\x48\\xfc\\x60\\x47\\x68\\x50\\x79\\xbf\\xa4\\x97\\x0e\\x1f\\x3e\\xfc\\xd1\\x87\\xfb\\x5f\\xcf\\xfa\\xd6\\x3a\\xa2\\xcf\\xd8\\x0a\\x48\\x10\\xff\\x42\\x8f\\x21\\xd3\\x60\\x45\\xed\\x0c\\x23\\xcc\\x78\\xf6\\xd5\\x73\\x99\\xe5\\xd3\\x07\\xf2\\xdb\\xe6\\x6c\\xab\\x3d\\x73\\xfe\\x9e\\x07\\x73\\x87\\xf4\\x9f\\xbf\\x72\\x38\\xb9\\x63\\x27\\xdf\\xdd\\x7d\\xd2\\x04\\x82\\xa7\\xbb\\xda\\x7a\\xf0\\x8f\\x71\\xe9\\x44\\x97\\x55\\xfb\\xf3\\xed\\x0e\\x87\\xcb\\x95\\x68\\xf3\\x7a\\x21\\x8d\\xea\\x80\\x0c\\x84\\x34\\x4a\\x65\\x5a\\x22\\x93\\x95\\x99\\x6e\\xb0\\x39\\x59\\x8b\\xd2\\xc3\\x5a\\xd8\\x8a\\x60\\xac\\xc5\\x60\\xd7\\xe8\\xd3\\x5c\\x88\\xb6\\xe3\\x29\\xd2\\x07\\x3b\\x55\\x1a\\xae\\xa2\\xbd\\x24\\x52\\x4d\\xa3\\xaf\\x53\\xf7\\x50\\xe2\\x76\\x28\\x34\\x48\\xaa\\xc2\\xdd\\x4e\\xdb\\x74\\xe3\\x65\\xb3\\x4f\\x90\\xd4\\x1b\\x8d\\xed\\x2d\\xff\\x5c\\xc8\\xc0\\x42\\xd8\\xb1\\xe7\\xd6\\x19\\xe2\\xd7\\x32\\x65\\x17\\x3c\\x7c\\xfb\\x99\\x81\\x17\\x9e\\x5c\\x57\\xd0\\xe7\\xb1\\xbd\\xe2\\xb7\\xf4\\x87\\x6f\\xff\\xf9\\x06\\x26\\x3d\\xe5\\xf8\\x43\\xf7\\x84\\x5e\\x62\\xca\\xee\\xa9\\x35\\x3f\\x95\\xb8\\x62\\xce\\xe3\\xb0\\xf4\\x3b\\xc3\\xa5\\x33\\xa1\\xe1\\xb8\\x0a\\xe2\\xf7\\xde\\x19\\x7a\\xee\\x1f\\x62\\x39\\xb1\\x6a\\x89\\xae\\x46\\x1c\\x1d\\x37\\x8e\\x25\\x92\\x9f\\x2e\\x7e\\x4e\\x47\\x5b\\xfc\\x23\\xdc\\x89\\x06\\xab\\xcb\\x9b\\xce\\xb0\\x16\\x27\\xd8\\x63\\x59\\xab\\x4a\\xa7\\x51\\xe8\\x18\\x43\\x42\\x72\\xaa\\x91\\xe5\\x38\\x83\\xc5\\x6a\\xb0\\x66\\x66\\xa4\\xa7\\xe3\\xb4\\x34\\x9c\\x9a\\x8a\\x13\\x3d\\x6a\\x26\\x36\\x96\\x55\\x78\\x19\\x62\\xa4\\x99\\x53\\xf4\\x8c\\x3d\\x68\\x07\\xde\\x1e\\xe7\\xd2\\x30\\x0e\\x87\\x95\\xf4\\xcb\\x8c\\x56\\x53\\x64\\x1b\\x76\\x62\\xd4\\x54\\x8d\\x27\\xa6\\x8d\\x51\\xba\\x94\\x2f\\xae\\xe3\\x76\\xfa\\xd0\\xde\\x71\\x96\\x88\\xc0\\x4c\\x08\\xdb\\x4c\\x49\\x9c\\x98\\x88\\x56\\x6a\\x26\\xba\\x99\\x30\\xc1\\x17\\x7a\\x38\\xe9\\xf0\\x7a\\xc0\\x63\\x07\\x9f\\xd7\\x39\\x07\\x86\\x7f\\x09\\x4b\\x81\\xa7\\xdd\\x74\\x71\\xef\\xaf\\xe2\\x6e\\xb1\\x79\\xce\\x9c\\x39\\xcc\\xac\\xe7\\x43\\xe2\\xad\\xd7\\x86\\x6c\\xc7\\x87\\xba\\x0d\\x0d\\xe5\\x66\\xfa\\x99\\x7f\\xc0\\xfd\\xa4\\xb3\\x41\\x8e\\x4f\\xee\\xfe\\x44\\x2c\\x87\\x7a\\x7a\\x7c\\x72\\x37\\xfd\\x88\\x8f\\x35\\xe0\\x9f\\x1f\\x20\\xba\\xe3\\xb1\\xb6\\x1f\\x14\\xcb\\x09\\x6e\\x92\\x50\\x39\\xaa\\xc4\\xc9\\x44\\x77\\x04\\x6e\\x55\\x58\\xb5\\x66\\x52\\xf5\\x5b\\xba\\x0e\\x36\\xdb\\x39\\x67\\x5c\\x1c\\xc7\\x99\\x51\\x57\\xd6\\xa3\\x1b\\xae\\xd5\\xea\\x4a\\x7b\\xf5\\xca\\xf3\\x78\\x02\\xba\\xe1\\x9a\\x61\\xc1\\x38\\xde\\xc6\\x8f\\x08\\xda\\xed\\x4e\\x5b\\x69\\x69\\xf7\\xee\\x7d\\x9a\\x40\\xef\\xb7\\x04\\x87\\x77\\xb7\\xd9\\xba\\x0f\\x67\\xb2\\xf5\\xfa\\x8a\\x61\\x84\\xd5\\x5d\\xd9\\xa9\\xd9\\xf4\\x87\\xb6\\x60\\x46\\x06\\x4e\\x35\\xeb\\x4c\\x0f\\x05\\x60\\x53\\x00\\x46\\x05\\xa0\\x24\\x00\\x19\\x01\\x88\\x0d\\x80\\x26\\x00\\xbf\\x07\\xe0\\xe3\\x00\\xbc\\x15\\x80\\x63\\x01\\x38\\x10\\x80\\x87\\x03\\x70\\x77\\x00\\x6a\\x03\\x30\\x3a\\x00\\x03\\x03\\xd0\\x2d\\x00\\x99\\x01\\x10\\x02\\x30\\xf5\\xdb\\x00\\x7c\\x12\\x80\\xb3\\x01\\x78\\x29\\x00\\x3b\\xa5\\x37\\x82\\x01\\x18\\x14\\x80\\xb4\\x00\\x28\\x02\\xf0\\xef\\x00\\x7c\\x17\\x79\\xe1\\xe9\\x00\\x6c\\x0c\\xc0\\xb2\\x00\\xcc\\x08\\xc0\\xb8\\x00\\x20\\x92\\x8d\\x33\\x00\\xea\\x00\\x84\\x02\\xf0\\x63\\x00\\x4e\\x05\\x60\\xbf\\x54\\xce\\x7d\\x01\\x58\\x1d\\x80\\xca\\x00\\xf4\\x97\\x20\\x22\\xe5\\xc4\\x07\\x40\\x1f\\x80\\xe2\\x2f\\x03\\xf0\\x61\\xd4\\x7b\\x9b\\x03\\xb0\\x20\\x00\\x53\\xa4\\x97\\xd2\\x25\\xb0\\x51\\x00\\x7e\\x0e\\xc0\\x57\\x12\\xcc\\xcf\\x04\\x60\\x7b\\x00\\xee\\x88\\xbc\\x43\\x0a\\xeb\\x19\\x80\\xd4\\x00\\x58\\x02\\xc0\\x07\\x80\\x40\\x7d\\xc6\\x1f\\x2f\\xbd\\xb8\\x57\\x7a\\x91\\x40\\x96\\x17\\x80\\xa4\\x00\\x80\\x21\\x00\\x98\\x64\\x24\\x4c\\x18\\x5f\\x45\\xfe\\x6e\\x36\\xa2\\xf3\\xc7\\xe3\\x39\\xe4\\xc7\\xaa\\x9b\\xbc\\x76\\xc3\\x4b\\xe1\\xc1\\x1c\\x9f\\x2f\\x57\\x96\\x51\\x54\\x42\\xd9\\xa9\\x84\\x92\\xef\\x49\\x47\\xc8\\x17\\x1e\\x71\\x8e\\x1e\\x6e\\x36\\xb6\\x8f\\xf0\\x44\\xab\\x27\\x3a\\xc3\\x99\\x22\\x99\\xa6\\x84\\x30\\x75\\x90\\x09\\x74\\x90\\x32\\x9f\\xb5\\x5a\\x04\\x5f\\xb1\\x4f\\xa2\\x5a\\xc9\\xb7\\x36\\x25\\x6c\\xd0\\x27\\x80\\x6c\\xd1\\x7b\\x73\\x98\\x4e\\x22\\x8d\\x58\\x3e\\xf6\\x04\\x0c\\x05\\xa9\\x24\\x03\\x3a\\x36\\xb4\\x65\\xd0\\xc0\\x95\\x73\\x6b\\xbb\\x7e\\xb6\\x73\\xd6\\x3f\\xa0\\xdb\\xbf\\xc1\\x98\\x18\\x18\\xbd\\x72\\xcb\\x96\\x34\\x5f\\x72\\x2a\\xfe\\xe6\\xf5\\x23\\x87\\x8e\\x26\\x9c\\xd6\\x07\\x87\\x8d\\x2f\\xeb\\x5d\\xbe\\x7c\\xfe\\xd0\\xbc\\xc3\\xcf\\x6c\\x7b\\xde\\x7e\\x46\\x39\\xb0\\xf4\\x96\\xbe\\xdd\\xca\\x5e\\x58\\x7e\\x4b\\xf3\\xc2\\xf5\\x0f\\x94\\x8f\\xdc\\xbc\\x5a\\xe1\\x58\\xb6\\x1c\\x76\\xcf\\x9d\\x3c\\x3b\\x74\\x85\\x5b\\xfb\\xf9\\xdb\\x63\\x87\\xff\\xfc\\xf3\\x5e\\x71\\xf3\\x2d\\x25\\xba\\xf2\\xd5\\x1b\\x96\\xdc\\x11\\xd3\\x33\\xcf\\x9b\\x91\\x94\\xa1\\x77\\xa4\\x74\\x0b\\xf8\\xe7\\x2f\\x5d\\xbd\\xc2\\x98\\x57\\x10\\x9b\\x1c\\x9b\\xa4\\x4b\\xee\\x33\\x15\\x3f\\xb6\\x6c\\xb6\\x98\\xbc\\x80\\xda\\x52\\x1b\\xdb\\x7e\\x50\\xce\\xe5\\xa8\\x4f\\xb1\\x15\\xf5\\x24\\x7a\\xaf\\x6f\\x97\\xbc\\x3c\\x8f\\x2d\\x3e\\x2e\\xae\\x38\\x03\\x69\\xe9\\xf6\\x10\\x26\\xa5\\xce\\x44\\x3a\\xe5\\xac\\x2e\\xc3\\xc6\\x96\\xf6\\x2a\\xee\\x12\\xef\\x61\\x9d\\xd9\\xd9\\x05\\xc3\\x83\\xd9\\x06\\xa7\\x6b\\x78\\xd0\\x69\\xc6\\x26\\x62\\x39\\x61\\x4c\\x84\\x88\\x91\\x68\\x48\\x06\\xb1\\x92\\x60\\x88\\x28\\xff\\xc8\\xae\\x07\\x72\\x23\\x44\\x8d\\x84\\x4b\\x0a\\xaf\\x5d\\x62\\xca\\x06\\x23\\x48\\xc3\\xe2\\x14\\xbd\\xbc\\xa0\\x84\\x82\\x74\\xa2\\x08\\xf3\\x8b\\xa4\\xad\\x11\\x3a\\xe1\\x16\\xdf\\x80\\x5b\\x36\\x01\\xd8\\xe1\\xe2\\x31\\x71\\xaf\\x78\\x19\\xbf\\xd6\\x0a\\xa6\\x7d\\x9b\\x61\\xa5\\x58\\x27\\xb6\\x8a\\x1b\\xe0\\x8e\\x15\\x6b\\xb8\\xbe\\x62\\xdb\\xb5\\xab\\x7f\\xf3\\xfe\\x66\\x9d\\xba\\x66\\xe1\\xcc\\x51\\xb5\\x5f\\x1e\\x0a\\xfe\\x78\\xe5\\xc4\\xf7\\xf1\\xff\\xd6\\x4c\\x98\\x32\\x79\\xf2\\x90\\x31\\x80\\xf7\\x8f\\xc6\\xf6\\xd0\\xb7\\xdc\\xda\\xcb\\x67\\xb7\\x5e\\x4a\\x0a\\x3d\\xcf\\xbc\\x7f\\x56\\xac\\x9e\\x13\\x7a\\xef\\xd1\\x23\\xf7\\x6d\\x4b\\x19\\xe2\\xef\\xde\\xbb\\xa0\\xa7\\x35\\x7b\\xf8\\xda\\xea\\x87\\x0f\\x6e\\xff\\x53\\x4c\\x9f\\xde\\xbe\\x1e\\x79\\xc5\\xa6\\xa2\\xca\\xf5\\x74\\x8c\\x98\\x0e\\x14\\xdf\\x47\\xf0\\x47\\x25\\x2d\\x5d\\xe3\\x94\\x83\\xba\\xa0\\x02\\x62\\x47\\xf5\\x2e\\xc8\\xc9\\x65\\x12\\xed\\xb6\\x84\\xc4\\x44\\xe0\\x6d\\x16\\x3d\\x5f\\xa4\\x2f\\xcc\\xcd\\xc9\\xf1\\xd9\\xdc\\xde\\x4c\\x86\\x35\\x9b\\x1d\\x71\\x28\\x9f\\xb5\\x58\\x6c\\xea\\xec\\x2e\\x02\\xab\\x1f\\xab\\x07\\x5e\\x9f\\x94\\x9c\\xc6\\xb2\\x06\\x83\\x36\\x21\\xc6\\xc6\\x28\\xb5\\xb2\\x78\\xfd\\x03\\xf9\\x5a\\xd2\\xde\\xd9\\x8e\\x20\\x50\\x9e\\x29\\x21\\x04\\x29\\x90\\x83\\x71\\x4b\\x7f\\x44\\x94\\x7a\\xc9\\xc1\\x10\\x31\\x2b\\xff\\x11\\x71\\xea\\x73\\xfb\\x8a\\x23\\xa2\\xd5\\x5d\\xec\\x21\\xd2\\x55\\x48\\x9e\\xb6\\xdb\\xf3\\x66\\x68\\xae\\xb8\\x7b\\xaa\\x78\\x69\\x8a\\xb8\\x7b\\x6e\\xeb\\x1b\\x9e\\x27\\xa6\\x4d\\x85\\xcc\\x31\\xd0\\x7b\\x3c\\x0c\\xaa\\x82\\xee\\xa3\\x20\\xb3\\x45\\xf5\\x59\\xc2\\x2e\\xfc\\xec\\x43\\x09\\x97\\xc5\\x49\\x27\\x5d\\xeb\\xc5\\x37\\x7a\\xbb\\x99\\xde\\x49\\x3d\\xc5\\xc0\\x2d\\x6e\\xe6\\x1f\\x9d\\xa4\\xed\\x27\\x11\\x19\\x0c\\xf7\\x87\\xb6\\xcb\\xa2\\xf7\\xa5\\x97\\x70\\x8f\\x07\\x48\\x5f\\xff\\x28\\x42\\xfc\\x04\\xf6\\x32\\xd2\\x13\\x33\\x7d\\xb4\\xdf\\xa0\\xd5\\x99\\x0d\\x1c\\xef\\x88\\x8d\\xe5\\x0d\\x3a\\x36\\xd1\\xe5\\x6c\\x82\\x92\\x46\\xde\\xc8\\x1b\\x89\\x31\\x62\\xee\\xad\\x81\\x3e\\x28\\x88\\x0c\\xd0\\x8d\\xbc\\x2d\\x5f\\xeb\\xa1\\x04\\xe9\\xc8\\x7d\\x69\\x87\\x91\\x49\\x99\\xba\\x34\\x9a\\xa6\\xa8\\xf1\\x94\\x4f\\x34\\x2d\\x61\\xd6\\x02\\x42\\x1c\\x74\\xf4\\x86\\x30\\x1c\\xa1\\xa2\\x5e\\x50\\x48\\xce\\x06\\xec\\xc1\\x3f\\xbd\\x70\\x66\\xfc\\x37\\x39\\x33\\x17\\x8a\\x67\\xbf\\x82\\xed\\x5f\\x43\\xaf\\x85\\xb5\\xd9\\x7f\\xbd\\xd2\\xca\\x5e\\x9e\\xf5\\xc3\\x49\\xf1\\xab\\xdf\\xb7\\x6f\\x2b\\x6d\\x21\\x37\\x2d\\x5e\\xc6\\x1d\\x3a\\xda\\x73\\xdb\\x76\\xfc\\x48\\x68\\x84\\xf8\\xb1\\x18\\x92\\xfa\\x1d\\xab\\xd0\\x4b\\xcc\\x8b\\xdc\\x3b\\x28\\x9e\\xf4\\x3b\\xb2\\xd0\\x34\\x7f\\xb1\\xc0\\x28\\x95\\x09\\x71\\x31\\x4e\\x07\\x61\\x15\\x2e\\x33\\xd9\\x64\\xca\\xca\\xcc\\xca\\xc9\\x76\\x5b\\xf9\\xb8\\x38\\x26\\xde\\xa1\\x55\\x31\\xd5\\x56\\xb0\\xc6\\x5b\\xe3\\x21\\x55\\x4f\\x77\\x7f\\xd3\\xa7\\xaf\\xc9\\x22\\xf6\\x3c\\xa0\\xd2\\xdc\\xf1\\xbe\\x37\\x32\\xf3\\x8d\\x74\\x58\\x66\\x7c\\x87\\xf9\\xd0\\xd1\\x35\\x96\\xec\\x25\\x5f\\xc4\\xb1\\x01\\x0a\\xc3\\xa2\\x86\\x4e\\xef\\x16\\x76\\xcc\\x4e\\xd9\\x0b\\xbd\\xc4\\x78\\x32\\x87\\x87\\x91\\xe9\\x28\\x32\\x31\\x9a\\xf0\\x96\\x33\\x55\\x55\\xfc\\x49\\x46\\xb8\\xa5\\x71\\xc3\\xb6\\x47\\xfe\\x34\\x78\\xb5\\x1b\\xce\\xbd\\x37\\x72\\xe4\\x90\\x91\\x8f\\x0f\\x0f\\x84\\xbe\\x63\\x72\\x5b\\xdf\\xe7\\xa6\\x4f\\x9c\\xb8\\x38\\x34\\x63\\x42\\x99\\x50\\x11\\xb7\\xf6\\x74\\x43\\xe3\\x9b\\xdd\\x7b\\x5b\\xfb\\x2e\\x58\\x1c\\x7a\\x7d\\xe1\\xaa\\x79\\x1b\\x7e\\x5d\\x2f\\xde\\xb9\\x8a\\xd8\\x49\\xaa\\xb6\\x1f\\xd8\\x61\\xc4\\x9e\\xf4\\xa2\\x46\\x7f\\x5c\\x72\\x62\\xa2\\x3d\\x35\\x21\\x29\\x49\\x67\\x50\\xab\\x4d\\x2a\\x9d\\xc3\\x6e\\x67\\x58\\x1d\\x9b\\x96\\x9e\\x1a\\x31\\x26\\x3d\\x1a\\xb7\\xc1\\x68\\xa0\\xc6\\x64\\xff\\x60\\x82\\x51\\x6f\\x04\\xbd\\x31\\xd7\\x58\\x6a\\x7c\\xce\\x78\\xde\\xc8\\x11\\x9b\\xd2\\xa8\\x31\\x0a\\x16\\x4b\\xec\\xfc\\xa0\\xde\\x91\\xe8\\xc8\\x75\\x54\\x39\\x58\\x25\\x31\\x23\\x2c\\x82\\x80\\xe6\\x07\\xfd\\x4c\\x05\\x83\\x11\\x63\\x60\\x5c\\x8c\\x9f\\xd9\\xc5\\xfc\\xc4\\xf0\\x0c\\x23\\x38\\xa5\\xd1\\x94\\xb9\\x52\\x77\\x4b\\x1e\\x49\\xe9\\x30\\x32\\xe7\\x5e\\x67\\x65\\x76\\x74\\xb1\\x22\\xb2\\x5b\\x1e\\xdc\\x48\\x21\\x96\\x23\\x47\\x0c\\xcd\\x24\\xc4\\x78\\x8a\\x7d\\xde\\x62\\xf2\\x65\\x72\\xb7\\xf7\\x45\\x05\\x37\\xf9\\xb3\\x93\\x2f\\x13\\x7e\\xa0\\x2c\\xa0\\x02\\x6b\\xe2\\x5f\\x5f\\xfe\\x8b\\xd8\\x1a\\xbf\\x36\\x6d\\x08\\xc6\\x0b\\xd3\\x46\\x95\\xc2\\xa9\\x86\\x2f\\xe3\\xc5\\x6f\\x54\\x95\\x83\\x26\\x4d\\xd3\\xc3\\x80\\x78\\xf1\\x7d\\xcc\\x40\\x65\\x82\\xf8\\x5e\\xdc\\xe9\\x71\\x23\\x0c\\x2f\\xbd\\x0c\\x2a\\x50\\x6c\\xf3\\x75\\xdd\\x86\\x99\\x97\\x9e\\x31\\x0c\\x1a\\xf1\\xa7\\x87\\xb6\\x75\\xf5\\x6d\\x13\\xcf\\xd0\\x7e\\x04\\xb5\\xbf\\x8e\\x12\\x99\\x60\\xa1\\x33\\xc9\\x3a\\x85\\x9a\\x61\\x78\\x41\\xd0\\x2a\\x35\\x0c\\xc6\\x46\\x64\\xd2\\x98\\x6c\\x56\\xb5\\xde\\x82\\x48\\xff\\x49\\xc1\\x22\\x64\\x22\\xc6\\x94\\xd6\\xd4\\x6e\\x4c\\x75\\x4c\\x19\\x46\\x8d\\x6e\\x45\\xf8\\x9b\\x9a\\x4c\\x46\\x1f\\xb8\\x69\\x3b\\x93\\x6f\\x8f\\x40\\xed\\x25\\x62\\x1d\\x79\\x07\\xe1\\x2e\\x30\\x3a\\x74\\x0a\\xdf\\x26\\xc6\\xc3\\xb7\\xe2\\x1e\\xd1\\x33\\x74\\xa5\\x78\\x79\\x0e\\x33\\x04\\x17\\x84\\xde\\xa1\\xc7\\xf7\\xa1\\xc7\\xf0\\xc4\\xea\\x90\\x48\\x37\\x81\\x03\\x79\\xcf\\x3f\\x02\\x9f\\x1d\\xcd\\xf6\\x17\\x9b\\x8d\\x3a\\x83\\xdd\\xac\\x51\\x18\\x0c\\x56\\x30\\xaa\\x74\\xac\\x91\\x63\\x9c\\x0e\\xa5\\xd2\\xa8\\x50\\x18\\xb5\\x5a\\xa3\\xcd\\x66\\xd4\\x68\\x8c\\x76\\xbb\\xd1\\x64\\x32\\x9a\\xcd\\xac\\xd1\\x24\\x30\\x2c\\x53\\x15\\x94\\x1c\\x2e\\x24\\xe5\\xda\\xa9\\xe7\\xdb\\xb9\\xa3\\x67\\x8f\\xb6\\xfb\\xc3\\x43\\x8e\\x29\\x74\\x22\\x8e\\x58\\xf6\\x29\\x56\\x8e\\x1e\\xe4\\x8e\\x2b\\x4c\\x29\\xe4\\x9e\\x83\\x5c\\xb1\\x84\\x6d\\x10\\xbb\\xc2\\x2d\\xe2\\x8b\\xf4\\x10\\x2f\\x8b\\xef\\x93\\x67\\xef\\xe3\\xb3\\x8b\\x60\\xdc\\x97\\x5f\\x7e\\xbb\\xfa\\xfb\\xd5\\x4f\\x91\\x43\\x3c\\x7d\\x6a\\xd1\\xf7\\x8b\\x9e\\xa2\\xa1\\xbe\\x89\\x9d\\x8b\\xc4\\xe9\\x8a\\xbb\\xf9\\x2c\\xd2\\x5f\\x2b\\x40\\xa5\\x68\\x08\\x1a\\x8d\\x1e\\xf5\\x27\\x66\\x0e\\xf5\\x99\\x4c\\xe9\\xb1\\x43\\xfd\\xa9\\xd6\\xfe\\x23\\xd3\\x53\\x87\\xf6\\x57\\xf6\\xe4\\x5d\\x5d\\x91\\x2b\\x88\\xc6\\x28\\xe3\\x4d\\x03\\xa5\\x3e\\xbd\\xbe\\x9b\\x74\\xf2\\x54\\x48\\x27\\x7f\\x2c\\x25\\x5c\\x5b\\x30\\x3d\\x93\\x33\\xe9\\x3d\\xa9\\x7e\\x7f\\xaa\\x47\\x6f\\xe2\\x32\\xd3\\x15\\xf9\\xf1\\xce\\x3e\\x12\\x79\\x3b\\x4d\\x85\\x81\\xf8\\x00\\xb9\\x3c\\x12\\x64\\xe2\\x4d\\x61\\x2f\\x04\\x47\\xd4\\x60\\x88\\xf4\\xc9\\x94\\x66\\x8f\\x0c\\xa7\\x22\\xde\\xbe\\x76\\x59\\xbf\\x75\\xf2\\x4e\\xf0\\x24\\x79\\x09\\x31\\xb8\\x8b\\x8a\\xcd\\xd2\\xb8\\x11\\xd8\\x90\\xd5\\x82\\xe9\\xd6\\x3f\\x51\\x5c\\x1d\\x03\\xc5\\xac\\x50\\x58\\x94\\x5c\\xdc\\x0b\\x8a\\x7d\\x3c\\x50\\xa5\\x27\\xab\\xb9\\x14\\x3a\\x5e\\x68\\x2a\\x2c\\xc0\\x1e\\x9e\\xc1\\xbc\\xd0\\x31\\x7b\\xa4\\xb8\\x7b\\xe7\\xe3\\xb7\\xf7\\xe9\\x6d\\x4b\\x11\\xbf\\xcc\\x4a\\x9c\\x97\\x7a\\x7c\\xf7\\xfd\\x87\\x5a\\x26\\x7f\\x0d\\xfc\\x61\\xf1\\xea\\x33\\xc7\\xde\\x58\\xfd\\xf0\\xb8\\xda\\xe9\\xb7\\xba\\x86\\xc5\\xad\\xb9\\x7b\\x8c\\xf8\\xc9\\x3d\\xa3\\xc0\\xb3\\x66\\xe1\\xbc\\x51\\x53\\x2b\\xf0\\x47\\xa5\\x43\\x27\\x0f\\x18\\xda\\xad\\x25\\xee\\xde\\x65\\x4b\\x5f\\x9b\\x7b\\xef\\xfc\\x39\\xb5\\xc3\\x82\\x6d\\xdd\\x86\\x66\\x15\\xfb\\x5c\\xdd\\x46\\x40\\xcf\\x27\\x1e\\x19\\x28\\xbe\\x3b\\xad\\x5f\\xf9\\x9d\\xf0\\xb7\\xa7\\xb7\\x3f\\xca\\x3c\\xa3\\x13\\xcf\\xb7\\x9e\\x13\\x17\\x5e\\xbd\\xe3\\x8e\\x71\\x43\\xcb\\xa6\\x1a\\x0c\\xb8\\x2b\\x4c\\x98\\x98\\xd4\\xb5\\x30\\xa5\\xab\\xb2\\xba\\x57\\x5c\\x79\\x73\\xed\\xae\\xa5\\xfb\\xd7\\x2f\\x1f\\x3d\\x63\\xfe\\xf8\\x26\\x18\\xff\\xd6\\x55\\xb0\\xdd\\x29\\x2e\\x10\\x2f\\xfd\\x90\\x98\\xdc\\x3d\\x23\\x3f\\x6b\\x24\\xf5\\x97\\x16\\x47\\xb1\\x45\\x44\\xa6\\x24\\x11\\x2d\\x39\\xcf\\xef\\x89\\xb7\\x65\\xf1\\x2c\\xa3\\x77\\x99\\x95\\x1e\\x26\\xdd\\x15\\x1b\\xe7\\x62\\x94\\x5c\\x5e\\x4c\\x6e\\x56\\x16\\x8a\\x8d\\x45\\x36\\x5b\\x0c\\x8a\\x73\\xc8\\xc3\\x33\\x71\\x71\\x31\\x48\\xa3\\xaf\\x0e\\x6a\\x8c\\x35\\x41\\x8d\\xdd\\x1c\\x63\\x42\\xa9\\x35\\x41\\xc4\\xca\\xa3\\x0d\\xa5\\x6f\\x64\\x46\\x0f\\x30\\x3a\\x22\\xf4\\x47\\x1a\\xc1\\x7e\\xdd\\x1e\\x4b\\x74\\x4c\\x51\\x0f\\x66\\x3a\\xb2\\x48\\x30\\x5e\\x48\\x30\\x47\\xcd\\x09\\xc6\\x2b\\xb8\\xc1\\x5e\\x8c\\x29\\xfa\\x23\\xb2\\x34\\x11\\x8a\\x8b\\xf0\\xdf\\x1e\\x3f\\xb0\\xfd\\xf6\\x25\\x59\\x4f\\x3e\\xb2\\x7e\\xdc\\xa8\\xf2\\xf9\\xba\\x6e\\x0f\\x6d\\xef\\x27\\xfe\\x1d\\xd8\\xa7\\xd7\\x8c\\xcd\\x7f\\xae\\xc5\\x97\\x96\\x91\\x9d\\x1e\\x9f\\xe5\\xe7\\xb6\\x3f\\xb5\\x63\\x6b\\xa8\\x49\\x1c\\xb3\\x65\\xea\\x7d\\xf7\\x99\\x3e\\x4b\\x5d\\xe4\\xb8\\xf5\\x67\\xf1\\xa7\\x13\\x7b\\xe1\\xfb\\x97\\xcf\\x43\\xee\\x3b\\xe3\\x1e\\xdc\\x2f\\xbe\\x97\\x5f\\xd0\\x35\\x77\\xf1\\x7d\\x13\\x6b\\xee\\x21\\x30\\xd3\\xfd\\xd3\\x02\\x84\\xf7\\x62\\x88\\xc5\\x90\\x4c\\x7a\\x66\\xdb\\xfd\\xd9\\xa9\\x49\\xb1\\xb1\\x2a\\x05\\xe9\\x6b\\xf0\\xaa\\x94\\xe4\\x04\\xb3\\x39\\xc6\\x61\\x03\\x8b\\xca\\x92\\x99\\x91\\x6c\\xf2\\xe8\\x6c\\xb6\\x04\\xb5\\x3d\\x5e\\x19\\xe3\\x88\\x81\\x98\\x14\\x1e\\x99\\xa8\\x97\\x77\\x8a\\xde\\x54\\xe6\\xb0\\xc3\\x1c\\xfb\\x1a\\xfb\\xfd\\x76\\x26\\xd7\\x0e\\x08\\x19\\x10\\x36\\x11\\xb6\\xb6\\x9b\\x18\\x6c\\x31\\xd5\\xa6\\x43\\x3a\\xa6\\xce\\x32\\xe3\\x4b\\x4d\\x12\\x79\\x52\\xbb\\x38\\x93\\xb2\\xe2\\xdc\\xb0\\x6a\\x09\\x1b\\xb8\\x61\\x19\\xd3\\xfe\\x2c\\x22\\x40\\x65\\x49\\x93\\xcf\\xda\\x89\\xd6\\xb1\\x53\\x83\\x82\\xf6\\xd7\\xdb\\xfb\\x66\\x5e\\x3a\\x54\\x9d\\x5f\\xec\\x26\\x3d\\xd7\\x54\\x8f\\xdb\\xb4\\x18\\x2f\\x3d\\x03\\x90\\x3d\\x7e\\x00\\xe0\\xb2\\x89\\x5d\\xda\\x1a\\x48\\xef\\xec\\xf2\\xe2\\xc5\\x8b\\x99\\x8b\\x0c\\x95\\x3d\\x2d\\xf7\\xf4\\x0d\\x35\\x63\\xdc\\xef\\x3e\\xf1\\x3c\\x7b\\x2b\\x64\\x3d\\x72\\xff\\x52\\x4f\\xde\\xd2\\x07\\x76\\x8b\\xc9\\x8c\\x61\\xe9\\xc8\\xb4\\xb4\\x91\\x1f\\x8e\\x1d\\x0b\\xbb\\x86\\x23\\x69\\x5d\\x4b\\x65\\x5b\\x3e\\x77\\x9c\\xa7\\xd6\\x41\\x0a\\x5a\\xe5\\x4f\\xb5\\x39\\x19\\xad\\x46\\xe3\\x54\\x1a\\xe3\\xe3\\xf9\\xa4\\x84\\x44\\xc6\\xe2\\x64\\x12\\x9c\\x8c\\x37\\x55\\xab\\x45\\xbc\\xdd\\x56\\x45\\x3a\\x62\\x88\\xe7\\x05\\x4a\\x22\\x31\\x41\\x83\\x87\\xf7\\x54\\x05\\x95\\x3c\\x8b\\x92\\xaa\\x82\\x88\\x18\\xa2\\xc8\\x1c\\x97\\x50\\x13\\x8c\\x8b\\x0c\\x49\\x45\\x4d\\xeb\\x76\\xa2\\x95\\x0e\\xdb\\xa1\\x43\\x4e\\x51\\x9b\\x9f\\x4b\\xa6\\x83\\x4e\\xd4\\xd7\\xd6\\xc6\\x52\\x8d\\xe1\\x35\\x12\\x66\\x2c\\xa4\\x13\\x1a\\x3c\\x2b\\x58\\x3d\\x60\\x31\\xd9\\x8d\\x3a\\xc0\\xa7\\xc4\\xf7\\xc5\\x97\\xa1\\x37\\x74\\x79\\xfa\\x02\\xc4\\x97\\x8a\\x3f\\xb9\\xb7\\x4e\\xaf\\xde\\x57\\xbc\\x07\\x0e\\x4f\\x16\\xdf\\xa9\\x7f\\x5a\\x6c\\xdc\\xbf\\xeb\\x89\\x7d\\x06\\x07\\xe9\\xba\\xf6\\x87\\xbe\\x30\\xdb\\xb9\\x72\\xb9\\xb6\\xe1\\xc0\\x88\\x5b\\xe7\\xe8\\x5b\\xb3\\x95\\x3d\\x72\\x4f\\x7e\\x12\\x6a\\x9e\\xba\\x4a\\xfb\\x32\\xb3\\xed\\x9c\\xd8\\x96\\xc0\\x9c\\x8d\\xf9\\x15\\x31\\x92\\x60\\x7b\\x4b\\x92\\xcd\\xb1\\xc8\\x8d\\x96\\xf9\\x7b\\x33\\x38\\xd1\\x64\\x05\\x56\\xa1\\x4e\\x14\\xcc\\xbc\\x4a\\xa5\\x25\\x0c\\x60\\x36\\x10\\x85\\xea\\x49\\x12\\x62\\xed\\xc8\\x5e\\x13\\x64\\xe3\\xf4\\x08\\x74\\x74\\x0d\\x3e\\x56\\xeb\\xcd\\x16\\x73\\x4d\\x50\\xe1\\xb0\\x58\\xb0\\xd6\\x68\\xc2\\x89\\x55\\x41\\x4a\\x07\\x52\\xe5\\xa3\\x75\\x8b\\x3c\\x3d\\x71\\x9d\\xaa\\x89\\x0c\\x59\\x4a\\xf6\\x48\\x97\\x3c\\xa3\\x64\\x31\\x5a\\xdd\\x94\\x06\\xcc\\x92\\x3d\\x69\\x26\\xcd\\x5f\\xec\\xe6\\xdc\\x5e\\x77\\xb1\\x2f\\x97\\xee\\x9c\\xbf\\xba\\x01\\xc6\\xd5\\xc3\\x1d\\xe2\\xdb\\xa5\\xbf\\x1d\\x98\\x2f\\x7e\\x3a\\x2b\\xf4\\xd6\\x4c\\xf1\\xf2\\xfc\\xbd\\xbf\\x94\\x8a\\xef\\x62\\x01\\x8e\\xf7\\x10\\x5f\\x2e\\x3b\\x12\\xe3\\xe7\\x93\\x98\\xcd\\xf0\\xb3\\xa8\\xbb\\x70\\xf0\\x82\\xf8\\x06\\xf4\\xa0\\xc7\\x85\\x83\\x07\\x0f\\x5e\\x18\\x7c\\xce\\xb6\\x40\\x9e\\xbb\\x48\\x68\\xfb\\x81\\xcb\\x27\\x72\\x21\\x03\\x2d\\xf0\\xf7\\x48\\xb5\\xa6\\x1b\\x59\\x45\\x42\\xa2\\xcd\\x60\\x00\\x9d\\xa0\\xc8\\x48\\x4e\\x76\\x78\\x3c\\x0a\\x5d\\x22\\x9b\\x95\\x29\\x08\\xea\\x84\\x04\\xb5\\x31\\x23\\x43\\x87\\x90\\xda\\x91\\x9c\\x6c\\x4d\\x49\\x71\\xab\\xd5\\x6c\\x4d\\x50\\xcd\\xba\\xe3\\xaa\\x82\\xee\\xce\\xe3\\x8f\\x52\\x8d\\x4a\\x22\\xa7\\x0e\\x95\\x14\\x3d\\x50\\x23\\x6b\\x55\\x77\\x61\\x81\\x9b\\x58\\x04\\x29\\x44\\x24\\xbb\\x58\\x6a\\x69\\xe9\\xb0\\x20\\x0d\\x3f\\xd1\\xae\\x1d\\x87\\xdd\\x2e\\x4a\\xf8\\xa4\\xfd\\xdd\\x09\\xcc\\x23\\xe2\\xbf\\x26\\xaf\\x72\\x89\\x57\\xf3\\xc4\\x1f\\xc1\\x00\\xee\\xd1\\xcf\\xe7\\x6e\\x78\\xfc\\x20\\x7e\\xa1\\x75\\xe0\\xd6\\xed\\xdf\\x0f\\x81\\x94\\x25\\xa2\\x27\\xf4\\xea\\xd0\\xf5\\x59\\xc7\\xeb\\x43\\x7f\\x66\\xb5\\x86\\x7d\\xf9\\xdd\\x0a\\x37\\xad\\x7c\\xfb\\xd5\\x0b\\xb9\\x03\\x8a\\x52\\x2f\\x18\\x6a\\xc6\\xae\\xed\\x22\\x5e\\x80\\xfd\\x17\\x06\\x4c\\x4a\\x8b\\xd0\\xfb\\x66\\x42\\xef\\x31\\xa4\\xa5\\xa7\\xfa\\x63\\x34\\x56\\xa5\\xd1\\xc9\\x27\\x38\\x63\\x62\\x19\\x26\\xc6\\xca\\x78\\x92\\xb4\\x5a\\xde\\x62\\x89\\xa2\\xf1\\x44\\x3e\\xb1\\x5a\\xa2\\xf1\\x84\\xea\\x30\\x8d\\x3b\\x62\\x6a\\x82\\x8e\\x3f\\xa2\\xf1\\x9b\\x68\\xe1\\x3f\\x20\\x6c\\x2e\\x4c\\xd4\\x36\\x89\\xa8\\x89\\xd6\\x10\\x4f\\x42\\x11\\xa4\\x3d\\xfd\\x21\\x98\\x7a\\x89\\xad\\x89\\x3b\\xa7\\x4d\\x7f\\xa8\\x0b\\x40\\x85\\xf8\\x97\\xb7\\x9e\\x16\\xcf\\xee\\xda\\xb6\\xf3\\x51\\x7d\\x1c\\x2c\\x87\\x52\\xe8\\x07\\xb3\\x08\\x4d\\xeb\\x4e\\x34\\x0e\\x98\\xb0\\x48\\xd7\\x9a\\xab\\x5f\\xbd\\xac\\xe6\\xc4\\x49\\xed\\x4b\\xcc\\xb6\\x0b\\xff\\x8e\\x67\\x4e\\xc7\\xfd\\xd2\\xd6\\x26\\x6e\\x60\\xde\\x82\\x87\\xf9\\xd7\\x0d\\x02\\xd2\\x8a\\x6b\\xe8\\xfe\\x7a\\x44\\x06\\x16\\xb5\\xfd\\xc4\\x5f\\xe5\\xea\\x88\\x9d\\x94\\x42\\x24\\x60\\x21\\xaa\\xf2\\x77\\x55\\x29\\x95\\x36\\xbb\\x81\\xc9\\x73\\x65\\xc4\\x30\\x76\\x6f\\xba\\x2b\\x86\\x2f\\x2e\\x4a\\xe3\\x53\\x1d\\x9e\\xec\\x86\\x60\\xbc\\xa7\\x31\\x18\\xef\\x23\\x67\\xa7\\x4d\\x85\\x78\\x44\\xf4\\x31\\x8f\\x1a\\x83\\xbc\\x96\\x9c\\x05\\x3a\\x36\\x1f\\x36\\x0e\\xc3\\xce\\x1b\\x9d\\xfb\\x03\\xb2\\xde\\x6d\\x57\\xad\\xed\\x3d\\x46\\xba\\xba\\xc5\\xae\\x03\\x2e\\xca\\xd7\\x0b\\x48\\x67\\xc8\\x1c\\xed\\x92\\xf1\\xe4\\xe1\\x17\\x5f\\x7c\\x6e\\xdd\\x01\\xc7\\x4b\\x8a\\x3e\\xdd\\x6f\\xbd\\xa5\\x7f\\x65\\x8f\\x7e\\x8a\\x97\\x8c\\x2f\\xb0\\xc7\\x8e\\x1e\\x7a\\xfe\\xf0\\xb3\\xc7\\x8f\\x1e\\x68\\xb9\\xe5\\x5d\\x66\\xe7\\xfb\\x03\\x7b\\x0e\\xaa\\xe8\\xe9\\x2f\\x1f\\xe8\\xc7\\xda\\x6f\\xae\\x5c\\xfa\\x6e\\xd3\\x46\\x4d\\x69\\xf9\\xe6\\x07\\x76\\xd4\\x0d\\xe9\\xab\\xba\\xf7\\xf1\\xf1\\x9f\\x7c\\xf5\\xe5\\xa7\\x5f\\xfc\\xf9\\x5a\\x68\\x1e\\xb7\\xb6\\x35\\xf7\\xf1\\xbb\\xef\\x79\\x74\\xd7\\xba\\xbb\\x25\\x59\\x97\\xde\\xf6\\x03\\xb3\\x8b\\xdb\\x46\\x70\\x90\\x84\\x2a\\xfd\\x19\\x0c\\x1b\\x63\\xb1\\xb0\\x2e\\x87\\x43\\xab\\x56\\xb2\\xca\\x64\\x8f\\xca\\xee\\xb2\\x0f\\x0b\\x6a\\x5d\\xc4\\x2a\\x76\\xf1\\x46\\x63\\xfc\\x88\\xa0\\x91\\xe5\\x51\\x45\\x90\\xb7\\xa1\\xce\\xdd\\x1f\\xe3\\x8d\\x93\\xa1\\x61\\x67\\x08\\xba\\x7e\\x07\\xbb\\xe9\\x92\\x5f\\xa1\\xb0\\x98\\x09\\x4f\\xa9\\x61\\xc1\\x6a\\x91\\x2a\\x69\\x25\\xed\\x8e\\xfb\\x57\\xdc\\x6a\\x7f\\xa0\\x52\\xac\\xdf\\xff\\xf8\\xfa\\x3b\\xe1\\x83\\x57\\x9f\\x7e\\xf1\\xdf\\x7f\\xf9\\xa1\\xa8\\x64\\xe1\\xf4\\x65\\x27\\xa7\\xcf\\x10\\x2b\\x9f\\x7e\\x72\\x6f\\xde\\xc9\\x3c\\xd8\\x70\\xf4\\xa5\\x87\\xff\\xf4\\x9a\\xf8\\xe5\\xd0\\x33\\x0d\\xcc\\xfd\\xb7\\x54\\x6e\\x15\\x9f\\xcf\\x3c\\x82\\xa4\\x76\\xdc\\x88\\x90\\x62\\xb5\\xe4\\x8f\\x60\\x24\\x7d\\xa2\\x74\\xb4\\xdc\\xdf\\x9d\\x35\\xe8\\x93\\xc1\\x91\\x80\\x4d\\x6a\\x85\\x42\\xa9\\xd4\\x3b\\x4c\\x6c\\x66\\x86\\xd5\\xdb\\x10\\x8c\\x75\\x37\\x04\\xf5\\xd6\\x44\\x2b\\x56\\x32\\xd6\\x58\\x6b\\x2c\\x52\\x91\\x4e\\x9d\\x9e\\x03\\x15\\xcb\\x69\\x38\\x8d\\x52\\xaf\\x62\\x94\\xd0\\x04\\xee\\xc6\\x20\\x8b\\x94\\xa6\\xdc\\x4c\\x18\\x4f\\x94\\x97\\x2f\\x2c\\xb6\\x4a\\x24\\xab\\x7f\\xbc\\x31\\x72\\x15\\x35\\xd1\\x14\\xe9\\xfe\\xd2\\xb1\\x03\\x6a\\x56\\x82\\x8d\\xce\\xcb\\xb9\\x21\\x95\\x76\\xf6\\xa2\\xfd\\xf8\\x84\\x68\\xc7\\x9c\\x7f\\xe2\\xe5\\x2d\\xbb\\x42\\x63\\x4c\\x3f\\x13\\x2d\\xf9\\x8c\\xe9\\x67\\xa6\\xcf\\x91\\xc7\\x77\\x1e\\x7e\\xfe\\xb1\\x5d\\x87\\x3e\\x2a\\xf2\\xf7\\xee\\x5e\\xd2\\xa3\\x4f\\xf7\\xbd\\x7b\\xd9\\x01\\x7b\\x27\\xb6\\x9e\\xe0\\xd6\\xb6\\x3c\\xff\\xfc\\x4c\\xc6\\xd7\\xbc\\x1a\\xcf\\xde\\x7d\\xbc\\x69\\xcf\\xee\\xa6\\xc3\\xfb\\xa6\\x8c\\x1d\\x3f\\xf9\\xb6\\x9a\\x2a\\x5a\\x7f\\x57\\xdb\\x4f\\xdc\\x29\\x22\\xb7\\xf4\\x44\\x97\\x67\\xa0\\x7c\\x34\\xca\\x9f\\x9d\\x9b\\x92\\x92\\xea\\xca\\x74\\x28\\x0c\\x8a\\xd4\\x4c\\x06\\xf9\\x52\\x53\\x59\\x6f\\x6e\\xf2\\xdb\\xc1\\xdc\\x5c\\xd6\\xab\\xb1\\xbc\\x15\\xd4\\xb0\\xde\\x9c\\x33\\x41\\xaf\\x9e\\x8d\\x7b\\x2b\\xc8\\x46\\xf8\\xf6\\xba\\x29\\xd2\\xb0\\x56\\xca\\x8f\\xb6\\x1b\\xa9\\x89\\x98\\x4c\\x27\\xd3\\x92\\x7d\\xf9\\xac\\x49\\x28\\xc0\\xc9\\x9e\\x24\\x16\\x5b\\x2d\\x26\\xd6\\x97\\x9f\\x6c\\x62\\x2c\\x7c\\x26\\xd0\\x01\\x54\\x5a\\xd1\\xf0\\x08\\xd3\\xa9\\x13\\xe2\\x73\\x27\\xde\\x14\\x0f\\xbe\\xf8\\x3a\\x54\\x9c\\x78\\x1d\\x86\\xbf\\x36\\x67\\x8f\\xf8\\xe5\\x93\\x8f\\x8a\\xdf\\x3c\\xb3\\x1f\\x62\\x1e\\xdd\\x03\\x71\\x4f\\x5e\\x7d\\xe2\\xee\\xb7\\x0f\\xc0\\xcc\\xfb\\x77\\x1d\\xda\\xf9\\x7c\\xfd\\xe0\\x01\\xf8\\x24\\x4d\\x71\\x06\\x86\\xbc\\x7c\\x02\\x2a\\x5e\\x3f\\x29\\x1e\\x7e\\xfd\\x49\\x70\\xee\\x79\\x44\\xfc\\xeb\\xfe\\xfd\\xe2\\x35\\x9a\\x00\\x3c\\xcb\\xb6\\xb6\\x30\\xaa\\x3b\\x97\\xaf\\x11\\x7f\\x2f\\x97\\x68\\x78\\x25\\x83\\x04\\x96\\xb4\\xbf\\x8d\\x68\\xec\\x21\\xfe\\x14\\x87\\x93\\x57\\x01\\x43\\xdd\\x0f\\x9c\\x0a\\xb5\\x5a\\xe5\\x54\\x25\\xba\\xec\\x16\\x5d\\x6c\\x5c\\xec\\xdb\\x41\\x93\\x9a\\x07\\xa7\\x53\\x81\\xe3\\xa8\\x55\\xe2\\xf3\\xe5\\x52\\x9b\\x43\\x52\\x3e\\xbe\\x4e\\x6b\\x5c\\x8c\\xf2\\x64\\x01\\xa9\\xb1\\xc7\\xe8\\x33\\xdb\\xec\\xc5\\xc4\\x0c\\xf1\\x18\\x0b\\x8a\\xf5\\xd4\\x49\\xd5\\x6b\\xb3\\xa6\\x50\\x57\\x02\\xea\\xd0\\xee\\xd9\\xfb\\xfb\\x26\\x5b\\xa6\\xff\\xfe\\x5f\\x9e\\x52\\x24\\xe4\\x3c\\xb4\\x6e\\xdb\\x10\\x41\\x84\\xa3\\xbf\\xe0\\xdd\\x0c\\xc2\\x6b\\xc5\\x0b\\x5d\\x66\\xef\\x82\\xec\\xd0\\x6a\\xa8\\x34\\x3c\\x52\\x3e\\x53\\x6c\\x82\\xb2\\xa6\\xcd\\xf1\\xbb\\x45\\x15\\xfc\\xba\\x69\\x93\\xec\\xef\\x44\\x74\\xec\\x7b\\xa4\\xdd\\x3c\\x68\\x80\\x3f\\xd9\\x9a\\xe0\\xe4\\xd5\\x4e\\xb5\\x5b\\xcf\\x28\\x19\\x77\\x2c\\x9b\\x9c\\xa2\\xd1\\x38\\x1c\\x8a\\xd8\\x98\\xd8\\xaa\\xa0\\x9a\\x58\\x9a\\xa6\\xaa\\x76\\x4b\\xd3\\x17\\x9e\\x10\\xf6\\x45\\xc4\\x6a\\x78\\xfe\\x2a\\x9f\\xc0\\xeb\\x42\\x46\\xc2\\x5b\\x45\\x3e\\x3a\\x69\\xd3\\x0b\\x0a\\x23\\xe4\\x66\\xa7\\xdd\\x9d\\x7c\\xbb\\x34\\xeb\\xc7\\x98\\xa1\\x3b\\x4c\\x39\\xf7\\xee\\xac\\x9e\\xa0\\x09\\x6d\\x7a\\x6c\\xc7\\xe9\\xfa\\xa3\\x6f\\x3d\\xfa\\x48\\x68\\x3d\\xe8\\xfc\\xb3\\xde\\x3f\\x0f\\x53\\xb9\\xed\\xe2\\x2b\\xe2\\x37\\x17\\xc5\\x0b\\x35\\xea\\x2f\\xa1\\x70\\xe8\\x17\\x4f\\xbe\\xfd\\xf9\\x67\\x67\\xf7\\x5e\\x1d\\x2c\\x9e\\xfd\\x52\\x5d\\x0d\\xd9\\x97\\xc0\\x29\\x85\\x71\\x23\\x78\\x1f\\xdd\\xf6\\x39\\xbb\\x82\\x2d\\x23\\x36\\x42\\x22\\xaa\\xf0\\x1b\\x13\\x75\\x3a\\xd6\\x61\\xd5\\x68\\x58\\xb7\\x8b\\xa8\\x0b\\x6d\\xa2\\xb6\\x09\\x12\\x1b\\x82\\x89\\x89\\x48\\xa1\\x88\\x23\\x97\\x47\\x83\\x0a\\x03\\x32\\x92\\x8b\\xc3\\x41\\x64\\xbb\\x71\\x46\\xbe\\x7d\\x82\\x3b\\x32\\x6b\\x91\\x94\\x4a\\x09\\x8d\\x72\\x8d\\x89\\x54\\x46\\x1a\\x75\\xa3\\xa2\\xd2\\x6c\\xa4\\xb2\\x53\\x30\\xe2\\x19\\x8f\\xfd\\x74\\xe7\\x86\\xdf\\xb6\\xef\\xfc\\x65\\x43\\xeb\\x9b\\xf9\\x4f\\xde\\xba\\xfe\\xd8\\xd0\\xb2\\x89\\x9f\\x6e\\xf3\\xed\\x1e\\x75\\x64\\x61\\x52\\x1d\\x08\\x8f\\xee\\x45\\x6d\\xf7\\xff\\x49\\x14\\x9f\\x12\\x1f\\x29\\xea\\x7f\\xfb\\xaa\\x8c\\x87\\x97\\xe1\\x7b\\xc0\\x5a\\xd8\\x7b\\xa1\\xf8\\x1d\\xe5\\x19\\xdc\\xf6\\x91\\xf0\\x2f\\xee\\x1d\\x24\\xa0\\x5c\\xe4\\x43\\x45\\xe8\\x5e\\xff\\xe0\\x24\\xb7\\xdb\\xa2\\xf0\\xe5\\xe9\\xb4\\x5a\\x6f\\x2c\\x12\\xba\\xe4\\x33\\x2c\\x8b\\x0b\\xf2\\x41\\x88\\xcd\\x53\\x28\\xbb\\x16\\x93\\x34\\x3a\\x83\\x0e\\xeb\\x93\\x40\\xcd\\x27\\xa5\\xe9\\x2c\\x2c\\xb1\\x01\\x52\\x1a\\x82\\x85\\xb8\\x21\\xc8\\x26\\x14\\xfa\\x7c\\x85\\x09\\x2c\\xcb\\xe5\\xab\\x8d\\x0d\\x41\\xb5\\x99\\x2b\\x20\\x42\\xe4\\x70\\x90\\x83\\x76\\xce\\xca\\x95\\x0d\\x60\\x79\\x32\\xd2\\x5e\\x22\\x09\\x12\\xdf\\xf5\\x1a\\xa2\\x43\\x51\\x78\\xdd\\x02\\xd1\\x02\\x4a\\x2a\\x3a\\x5c\\x7f\\x38\\xe2\\x68\\xb5\\x24\\x80\\x3d\\x81\\x48\\x2c\\x0f\\x70\\x8c\\x0f\\x7f\\x1b\\x10\\x77\\x8f\\xfa\\x14\\xa6\\xfc\\x06\\x93\\xd9\\xfc\\x53\\xaf\\x88\\x7b\\xba\\x9f\\x34\\x4f\\x1b\\x3f\\x61\\xfc\\xd8\\xfb\\xef\\x5e\\xd2\\xfb\\xb5\\xe7\\xf6\\xee\\x8f\\x7d\\x5d\\x57\\x31\\x74\\xaf\\xbb\\xe7\\xdc\\x75\\xf3\\x6e\\x49\\x12\\xa7\\xb6\\x9e\\xaa\\x63\\xba\\xb5\\x3a\\x56\\x34\\xe3\\x8a\\x2f\\xbe\\x60\\x56\\xb4\\xae\\x17\\xf7\\xae\\xbb\\x2b\\x94\\xd8\\xbf\\x67\\x4e\\x49\\x56\\xd7\\xb8\\x38\\xff\\x6d\\x83\\x97\\xad\\xbc\\x7d\\x65\\x4c\\x49\\xd7\\xb1\\xf1\\x29\\xb1\\xce\\xb8\\x2e\\xfe\\x4a\\xf6\\xfe\\xe6\\x18\\xee\\xab\\xed\\xe2\\x2e\\x42\\xbb\\xd5\\x08\\x31\\x8f\\xb2\\xdd\\x90\\x12\\xf5\\xf0\\x27\\x72\\x08\\x04\\x86\\x72\\x9c\\x5a\\xc5\\x73\\x15\\x41\\x3d\\x4f\\xec\\x40\\x9e\\x07\\x85\\x1e\\x70\\x45\\x10\\xac\\x28\\xb2\\xdf\\xac\\x3c\\x82\\x12\\x19\\x5d\\xa2\\xf6\\x6d\\x3a\\x14\\xba\\xe9\\x9f\\xd1\\xcd\\x3c\\xda\\x7a\\x12\\x7b\\x44\\x0e\\x5a\\x20\\xe6\\xec\\xd5\\xb3\\xf0\\xa6\\xec\\x9f\\x30\\xa1\\xed\\x5f\\xfc\\x04\\x6e\\x83\\xc1\\x2b\\x84\\xf0\\x4b\\x34\\x4e\\x0a\\x5a\\xae\\x41\\x44\\x8b\\x2f\\x64\\xbe\\x08\\x0d\\xa4\\xb1\\x2f\\xa4\\xdf\\x1f\\x68\\xff\\xdd\\x2b\\xff\\x62\\xe0\\xd1\\x02\\x79\\x5d\\x5e\\xdb\\xef\\x7c\\x19\\x49\\x4f\\xd2\\xb9\\x50\\xe4\\x2d\\xa3\\xa0\\x50\\x30\\xe7\\x43\\x83\\xe9\\xbe\\xec\\x2c\\x83\\x4d\\x4e\\xd0\\xb8\\x34\\x6b\\x34\\x18\\xb9\\x10\\x8c\\x2f\\x1c\\x6f\\x2c\\x44\\xa5\\x91\\x7d\\xd9\\x2b\\xa5\\xf4\\x72\\xfe\\xfb\\xa4\\xdd\\xec\\xa4\\x94\\x46\\x1e\\x2d\\x4c\\x93\\x57\\x1e\\x33\\x58\\x70\\x92\\x84\\x7e\\xb4\\x06\\x31\\xe3\\xe5\\x94\\x24\\xdd\\x54\\x29\\xdd\\xda\\x1b\\xd3\\x29\\xf8\\xfc\\xff\\x94\\xee\\xc9\\xa8\\x74\\x5b\\x3b\\xa5\\x13\\x96\\x20\\x94\\xec\\xb7\\x33\\x18\\x48\\x3a\\x29\\x21\\x66\\x7d\\xc8\\x67\\xf0\\xb9\\x7c\\x7e\\x1f\\x4b\\x80\\xee\\x04\\x37\\xdd\\xfb\\xd2\\xc3\\x0e\\x35\\xf1\\x98\\xae\\xc5\\x02\\xd8\\x8d\\x26\\xf3\\x13\\x70\\x3f\\xa4\\x95\\xfc\\xaa\\xd5\\x9c\\x12\\x63\\x8e\\xd3\\xe8\\xf4\\x5a\\x4d\\x64\\x0d\\x96\\xb1\\x7d\\x56\\xd4\\x66\\xf7\\xa4\\x7a\\x0b\\x89\\xda\\xe6\\x89\\xf9\\x89\\xd7\\x96\\xf4\\x2a\\x5b\\xbd\\x79\\xf3\\xea\\xb2\\x5e\\x25\\xcc\\x67\\x90\\xde\\xf7\\x8e\\x6d\\x03\\x93\\x07\\x6e\\xbb\\xa3\\x6f\\x40\\xca\\xd7\\xd0\\x76\\x12\\xff\\xc4\\xae\\x26\\xf9\\x26\\xfb\\xf5\\x44\\xdc\\x12\\x2a\\xd0\\xe9\\x91\\x5a\\x89\\xb5\\x6b\\x38\\x94\\x1b\\x73\\x8e\\x2e\\x3c\\x8e\\x5a\\x10\\x03\\xbc\\x40\\x33\\xb6\\xd9\\xad\\xa9\\x5e\\xa3\\x07\\x2e\\x76\\xe4\\xc6\\xec\\xea\\x28\\xa7\\xd5\\x73\\x23\\xcc\\x6a\\x24\\xc1\\xac\\xe5\\x74\\x7a\\x8d\\xf6\\x46\\x98\\x53\\xbd\\x34\\x53\\xba\\xd6\\xa2\\xd8\\x5d\\xc8\\xad\\x8e\\xce\\x0b\\x56\\xff\\x27\\x98\\x19\\xad\\x56\\xa1\\x21\\x88\\x50\\x23\\xac\\x5c\\xc3\\x13\\x6c\\x7c\\x16\\x73\\x1d\\xcc\\x29\\x45\\xc5\\x34\\x63\\x82\\x12\\x22\\x47\\x7d\\x38\\xb3\\x23\\xb7\\xdd\\xd1\\xa8\\x41\\x9d\\x60\\xb6\\x53\\x3f\\x35\\xa4\\xe6\\xb1\\x52\\xc9\\xdb\\x35\\x46\\xab\\x4e\\x67\\xe4\\x8d\\x0e\\x27\\x52\\x5f\\x07\\xfa\\xcd\\xb1\\x1e\\x55\\x9b\\x68\\xfc\\x63\\xb1\\xe3\\x3a\\xaa\\x25\\xda\\x2f\\xa2\\xea\\x66\\xa7\\xbe\\x8d\\x7a\\x05\\x69\\x11\\x64\\xa5\\xac\\xe9\\x70\\xda\\x35\\x3a\\xeb\\x1a\\x93\\x9f\\xb6\\x8d\\xd4\\x34\\xb4\\x96\\x31\\xd1\\x95\\x8d\\x52\\xf4\\xd1\\xad\\x14\\x55\\xfb\\xa8\\xf6\\x6a\\xbf\\x88\\x6e\\xb7\\x10\\xee\\xb8\\x46\\x98\\xc0\\x52\\x26\\xc1\\xc2\\x90\\x3e\\x64\\x2f\\x7f\\x9c\\x59\\x43\\x6c\\x2d\\x3d\\xeb\\x14\\xa8\\x83\\x61\\x7c\\x5c\\xac\\xc1\\xe4\\xb4\\x31\\xc8\\xc6\\xea\\xb5\\xbc\\x52\\x5e\\xa1\\xfe\\xd9\\xe7\\xe7\\x0c\\x9d\\x90\\xdf\\xe1\\xb1\\x42\\x14\\x9a\\xf9\\x8f\\xa0\\x32\\xc0\\x17\\xa2\\xeb\\xcd\\x1b\\x41\\xab\\xad\\x60\\x47\\xff\\x01\\x70\\x92\\xfe\\x2a\\x6c\\xfb\\x9a\\x79\\x81\\x7b\\x89\\xd8\\x8c\\x19\\xe8\\x16\\xbf\\x27\\xc5\\xa1\\x48\\x30\\x99\\x90\\x02\\x65\\x66\\x69\\xdc\\x23\\x82\\x7a\\x8d\\x26\\x2d\\xd6\\xe1\\x88\\x8d\\xb5\\x0e\\x0b\\xc6\\x22\\x2e\\x6d\\x58\\x90\\x6b\\x57\\x5b\\xd2\\xf4\\x1d\\xed\\xc9\\x66\\x46\\xb5\\x65\\xbe\\x64\\x21\\xd1\\x91\\xde\\xd4\\xb0\\xe2\\xb2\\xfb\\x64\\xb7\\x3a\\x5e\\x28\\x26\\xb7\\x26\\xa0\\x52\\x5b\\x07\\x92\\xf9\\x67\\x62\\x5e\\x18\\xb6\\xf9\\xed\\x35\\x4f\\xbe\\xb0\\xf8\\xd5\\xa5\\x83\\x97\\x25\\xb2\\x30\\x7d\\x76\\xe1\\xe2\\x94\\xec\\x9a\\xf9\\x2f\\xbd\\x27\\xb6\\xea\\x03\\xc5\\xfe\\xdb\\xfb\\x0e\\xe8\\x35\\xe1\\x01\\x66\\xd3\\x5b\\xe2\\xce\\x5f\\x57\\xbd\\xf3\\xda\\x6e\\xc8\\xdc\\x11\\x18\\xec\\x8f\\x39\\xf8\\x4a\\x5a\\xdc\\xb9\\x12\\xf1\\x6a\\xe8\\xbb\\xf2\\xf1\\x0b\\x3f\\x9e\\x56\\x73\\xbb\\xb4\\x86\\x1d\\xd3\\xa8\\x20\\xec\\x31\\x62\\x03\\x71\\x84\\xc2\\x0e\\xfa\\x17\\xaa\\x88\\x58\\xe3\\x95\\x00\\x3c\\xcb\\x68\\x35\\xbc\\x92\\xf4\\xbe\\x95\\xc4\\x80\\x30\\xdd\\xaf\\x85\\x39\\x5a\\xa8\\xd6\\x42\\x85\\x16\\x88\\x08\\x72\\x69\\xc1\\xa0\\x85\\x9f\\xb4\\xf0\\x9e\\x16\\x76\\x69\\x61\\x8d\\xf4\\x3c\\x4f\\x0b\\xc3\\xb4\\x80\\xb4\\x50\\xf2\\x85\\xf4\\xc3\\xf3\\x5a\\xb8\\x5f\\x4a\\xe3\\x97\\xde\\xd6\\x6b\\xe1\\xaa\\x16\\x5e\\x95\\x12\\xc8\\xd9\\x55\\x48\\x19\\x91\\x04\\xed\\x73\\x9f\\x1d\\x33\\xa2\\x9d\\x26\\x49\\x23\\x7a\\x20\\xda\\x41\\xab\\x4b\\x9e\\xaf\\x10\\xdc\\x60\\x05\\x62\\x5b\\xb9\\x51\\x26\\xdc\\x07\\x73\\xa0\\x2e\\xd4\\xa8\\x2c\\x3b\\x8f\\xfb\\x89\\x57\\x2f\\xb1\\x07\\x5a\\x02\\x97\\xd8\\xa6\\x24\\x31\\x34\\x8c\\x91\\xfc\\x24\\xdf\\x11\\x4b\\xb8\\xb7\\x49\\x3d\\x05\\xc2\\xbb\\x46\\x86\\x25\\x86\\x9f\\xa0\\x50\\x72\\xb8\\x3a\\xc8\\x51\\x17\\x6d\\xea\\x2e\\x57\\xda\\x79\\x31\\x9a\\xbc\\xc2\\x85\\x7d\\x3e\\xd4\\x57\\xbc\\xcc\\x8a\\x62\\x09\\x5f\\xf9\\xef\\x67\\x85\\xb2\\xdf\\x9b\\x48\\x5e\\x1b\\x48\\x5e\\xd4\\xcf\\x46\\x8d\\x26\\xfa\\xf5\\x44\\x81\\x29\\xb1\\x42\\x41\\x7d\\x58\\x55\\x1a\\x2d\\xd3\\xd4\\xf6\\x8d\\x3f\\x45\\x65\\x2c\\x63\\x58\\x52\\x42\\x55\\x10\\x63\\x25\\xc1\\x24\\xc4\\x43\\x36\\x30\\x2a\\x16\\x1c\\x3a\\x63\\x19\\xf5\\x6b\\xa3\\x48\\x45\\xb2\\xfd\\x92\\x49\\x94\\x9b\\xa4\\xe4\\xe4\\xbb\\x76\\x67\\x9a\\x88\\x8b\\xbe\\xb9\\x50\\x09\\xb4\\x6f\\xa0\\x04\\xb7\\x75\\x03\\x9e\\x10\\x6a\\x60\\xe7\\x86\\x30\\x36\\x84\\x3e\\x65\\xca\\xc5\\x92\\x5d\\x8c\\x82\\x51\\xec\\xbc\\x16\\x1a\\x10\\xea\\xfa\\xa5\\x3c\\x16\\x71\\x2b\\x2e\\x61\\x47\\x33\\x4e\\x79\\xfd\\x22\\x48\\xeb\\x1d\\x0f\\x06\\xe1\\x70\\xe7\\xf5\\x91\\xb7\\x92\\x56\\x2e\\xf9\\xe2\\x0b\\x22\\xef\\x23\\x3e\\xd9\\x06\\x5e\\x08\\x49\\xe9\\xef\\xc3\\x66\\x38\\xc8\\xf4\\x23\\xe9\\xed\\x7e\\x15\\xe1\\x7f\\x96\\xe8\\xe8\\x87\\xc3\\xc0\\x82\\x1c\\xfe\\x81\\xa0\\xe5\\x3e\\x70\\x91\\xf7\\xe8\\x4a\\x1f\\x9a\\x06\\xb7\\x7d\\xcd\\x4e\\xe7\\x2b\\x09\\x07\\x3c\\xe0\\xaf\\xe6\\x30\\x20\\x1e\\xf3\\x0c\\x51\\x95\\xa4\\x57\\xc4\\xe1\\x83\\x41\\x8e\\x13\\x90\\xb3\\x4d\\x05\\x57\\x55\\xf0\\xaa\\x0a\\x1e\\x57\\xc1\\x6a\\x15\\xcc\\x8e\\xba\\xae\\x52\\x41\\xae\\x0a\\xf4\\x2a\\xe8\\xfe\\x93\\x0a\\xde\\x53\\xc1\\xf3\\x2a\\xf8\\x51\\x05\\xe7\\x55\\xf0\\x9c\\x0a\\xee\\x57\\xc1\\x1c\\xe9\\x62\\xb3\\x94\\x66\\x98\\x0a\\xda\\x27\\xc9\\x3b\\xa6\\xce\\x23\\x53\\xe6\\xb9\\x25\\x61\\xd7\\xf3\\x0e\\xc7\\x35\\x22\\x01\\x3c\\x40\\x4c\\x6e\\x33\\xf8\\xf0\\x9c\\x7d\\xe2\\xcf\\x4d\\x50\\x7c\\x05\\x1e\\x39\\xee\\xc4\\x3f\\xef\\x0d\\xdd\\xc9\\x55\\x48\\x71\\x97\\x50\\x19\\xfa\\x98\\x9b\\xc9\\xbc\\x81\\x2c\\xc4\\x1e\\xcd\\x44\\x41\\xbf\\x31\\xd5\\x65\\xb0\\x73\\xac\\x2a\\x9e\\xb4\\x69\\x56\\xb6\\xd5\\xa3\\xf5\\x34\\x81\\xb3\\x31\\x68\\x32\\x68\\x63\\xd2\\x85\\x74\\x72\\xed\\xb7\\x11\\xb2\\xc9\\x15\\x4a\\x85\\x61\\x02\\x43\\xbf\\x56\\x0b\\xe7\\x85\\xab\\x02\\xa9\\x66\\xee\\xf8\\xb9\\xbe\\xf0\\x9a\\x30\\xdf\\x75\\xab\\x2f\\xf2\\x23\\xe3\\xe7\\x51\\x23\\xe5\\xf4\\x2b\\x25\\x49\\x88\\xd8\\x69\\x5c\\x54\\xef\\x9e\\x9b\\x79\\x7c\\xe3\\x47\\xcb\\xd6\\xbd\\x5d\\x77\\xf4\\xd8\\xbd\\x53\\x9f\\xea\\xbd\\xfa\\xcd\\x9d\\x8d\\xe2\\x53\\x4b\\x26\\x64\\x4d\\xea\\x7f\\x4b\\x30\\x20\\x26\\x14\\x8e\\xe9\\x31\\xa0\\x6a\\xcc\\x90\\xee\\xd5\\x78\\xc0\\xc3\\x1f\\xfe\\xf8\\xd7\\x73\\x7b\\x1f\\x7f\\x6f\\xf6\\x9a\\xaf\\xce\\x26\\xbc\\x39\\x61\\xca\\xac\\xc0\\xe8\\x99\\x2f\\xce\\xbd\\x75\\xf6\\xa8\\xca\\xd9\\x55\\xb2\\x6e\\xd9\\x89\\x10\\x5f\\xcd\\x9e\\x96\\x7c\\xbc\\x89\\xf6\\x66\\x78\\x81\\x7a\\x69\\x77\\xc4\\xd7\\x02\\xc9\\xab\\x11\\x76\\x4e\\x60\\xa7\\xb7\\x74\\x65\\x4f\\xb7\\xec\\x98\\x20\\xa7\\x73\\xb6\\x89\\xec\\x41\\x56\\x81\\xcc\\xc8\\xe3\\xd7\\x9b\\x91\\x9a\\x50\\xb8\\xc5\\x4a\\xf4\\xa9\\xfe\\x50\\x90\\xa4\\xa7\\xd6\\xa9\\x2f\\x8a\\x65\\x38\\x63\\x01\\x9d\\x13\\x90\\x66\\x2f\\x23\\x4e\\xa6\\xe0\\x5c\\xf0\\xfe\\x1d\\xeb\\x2e\\x2c\\x9e\\xfa\\xc6\\xae\\xdd\\xaf\\x61\\x8c\\xb6\\xff\\x78\\xe7\\xfa\\x9f\\xb7\\x8a\\x08\\xe3\\x57\\xbe\\xfc\\xcb\\xeb\\xa2\\xbc\\x66\\xa2\\x6d\\xb5\\x58\\x82\\x5f\\xe1\\xce\\x13\\xdd\\xe3\\xf5\\x9b\\xf5\\x56\\xd6\\xaa\\x50\\x38\\x1d\\x1a\\x63\\x45\\x50\\x43\\x00\\xaf\\x90\\x88\\x4f\\x36\\xfa\\x3b\\xd6\\xc7\\x26\\xa5\\xca\\xe3\\xdf\\x46\\x8a\\x48\\xd9\\xdd\\xce\\x6a\\xb4\\xf0\\x31\\x99\\xe3\\x2c\\x7d\\x0a\\x1f\\xfe\\xf0\\x95\\xd1\\x7d\\xf3\\x6f\\x19\\x52\\x71\\x41\\x2c\\xd1\\x09\\x97\\x9d\\x6f\\xb2\\xab\\x8f\\x9e\\x31\\x5f\\x71\\xde\\x36\\xa1\\x65\\x75\\xc3\\x69\\x59\\x86\\x67\\x82\\x89\\x2d\\x61\\x8b\\x91\\x15\\x65\\xa1\\x72\\x7f\\x66\\xa2\\x32\\xc3\\xac\\x34\\x67\\xe7\\xa4\\xbb\\xdd\\xb1\\x07\\x83\\x36\\xf7\\x73\\x63\\x6d\\xde\\x83\\xc1\\x04\\x9b\\x49\\xad\\xe6\\x0e\\x06\\x91\\xfa\\xb9\\xb1\\xc8\\x70\\x30\\xa8\\x28\\xa5\\x2b\\x84\\x73\\xc7\\xe7\\x67\\x66\\x86\\x1b\\x59\\xbe\\x88\\x16\\x1c\\x04\\x32\\x49\\x72\\x17\\x4a\\x2d\\x2c\\x05\\x2e\\xd3\\x01\\xd3\\xf9\\x29\\x6d\\x70\\xe9\\x71\\x4e\\x79\\x5d\\xf9\\xfa\\x60\\xdf\\x45\\xfd\\x67\\x3d\\x51\\xb8\\xe2\\x4f\\x4b\\x87\\x6d\\x98\\x57\\xba\\xa4\\x92\\x3c\\x5b\\x3b\\x6e\\xc0\\xe2\\xde\\x73\\x1f\\x1b\\xb9\\x6b\\xf0\\x94\\xfe\\x71\\x1b\\xe6\\xf9\\x17\\xe2\\x7f\\xa6\\xc7\\xe4\\x7a\\xbb\\x5c\\xac\\x74\\xe6\\x65\\x8e\\xbb\\x92\\xed\\x11\\x13\\xb2\\x62\\xb2\\x33\\xb3\\x2f\\x56\\xe6\\xc4\\xb8\\xb4\\xe3\\xae\\x64\\x25\\x53\\x3e\\x8c\\x47\\x29\\x6c\\x19\\x97\\x49\\xda\\x6b\\x85\\x7f\\xa4\\x46\\xad\\x55\\x19\\x04\\x62\\x6f\\x32\\x80\\x35\\x4a\\x93\\x8e\\x53\\xea\\x94\\x56\\x8b\\x41\\xa1\\x54\\x1c\\x0c\\x6a\\x0d\\x6a\\x30\\xa8\\xef\\x57\\x63\\xb5\\x41\\x59\\xa1\\xc4\\x48\\xe9\\x52\\xfa\\xc9\\xc5\\x1a\\xe5\\x2e\\x25\\xaf\\x66\\x94\\x46\\x8e\\x25\\x95\\xc6\\xe8\\x2a\\x0b\\x7a\\x36\\x91\\xdd\\xcc\\x32\\xac\\xdf\\xe2\\x2c\\x63\\x49\\x3b\\x10\\xfa\\x3e\\xd5\\xee\\x16\\x3e\\xf7\\x14\\xb9\\xed\\x54\\x7f\\x79\\x9e\\x42\\xf0\\x14\\x53\\x96\\x23\\xe6\\xb9\\xd9\\xc7\\xf8\\xac\\x6e\\xc6\\x6d\\x85\\x73\\x6b\\x2f\\xae\\xbd\\x02\\x03\\xf6\\x8a\\x66\\x3c\\xe6\\xce\\x0b\\xeb\\x5a\\xc5\\x1d\\x7b\\xb1\\x1e\\x3c\\xa2\\xf8\\x19\\x0c\\xba\\x0a\\x58\\x14\\xaf\\x8a\\x0d\\x9f\\x11\\x5e\\x9c\\x8c\\xfe\\xc9\\x0e\\x60\\x2b\\xc2\\xeb\\x3e\\x2a\\xfd\\x1a\\xb5\\x80\\x15\\x74\\x81\\xab\\x56\\xa3\\x54\\x34\\x01\\x6a\\x08\\x2a\\x95\\x1c\\xb0\\x1c\\xb9\\xf4\\x2b\\x83\\x7a\\x16\\x34\\x0c\\x0b\\x28\\x7c\\x07\\x89\\x50\\x0a\\x0c\\x20\\xc9\\x91\\xbd\\x7d\\xde\\xd5\\x91\\x1b\\xb5\\xce\\xc6\\x27\\x4b\\x40\\x08\\x1f\\x93\\x99\\x6b\\xad\\xf1\\xf2\\xc1\\xbc\\xb4\\x75\\x6b\\xa8\\xeb\\xd6\\xad\\x30\\x79\\xeb\\x56\\x99\\x46\\xba\\x10\\xf1\\xe7\\xe3\\x4c\\xd2\\xfa\\x84\\xee\\xfe\\x78\\x81\\x45\\x2a\\xba\\xd8\\x46\\xad\\x11\\x08\\x0e\\x05\\x20\\xd6\\x08\\xe6\\x78\\x26\\x0f\\xfb\\x31\\x21\\xed\\xdc\\xf1\\xbe\\x5c\\x22\\x76\\x7a\\xe6\\xfa\\x7c\\x37\\x14\\x68\\x04\\xab\\x12\\xa4\\xf2\\xba\\xb0\\xb8\\xf5\\x35\\xc6\\xdf\\x22\\x92\\x2a\\x2d\\x86\\xde\\x30\\xe6\\x9a\\xf8\\x8d\\xf8\\xed\\x35\\xf1\\xda\\xd5\\xab\\x37\\x96\\x59\\xe2\\x8f\\xbb\\xae\\x4c\\x9e\\xc3\\x98\\xc9\\x63\\xfd\\x2c\\x66\\x41\\x52\\x5a\\xe3\\x7d\\x37\\x2f\\x91\\x2a\\x0d\\x30\\x4a\\x25\\x32\\xa5\\xad\\x27\\x58\\x4c\\x4a\\xc4\\x10\\x7f\\x0d\\xec\\xe0\\xb8\\x26\\xee\\x15\\x5f\\x0d\\x6d\\xa4\\x25\\x62\\xf4\\x28\\x29\\xaf\\x98\\xa5\\x2b\\x6e\\x94\\x44\\x33\\x1a\\xb0\\x82\\x43\\x3c\\x8b\\x14\\x2c\\xa3\\x56\\xd1\\x6b\\x22\\x26\\x24\\x41\\xd1\\xb1\\xfe\\xd3\\x67\\x54\\x82\\x31\\xc5\\x4d\\xbe\\x1f\\x85\\x73\\x70\\xae\\xb5\\x01\\x37\\x8b\\xeb\\xc4\\x75\\x78\\x39\\xe6\\x43\\xcd\\xa1\\x3b\\x47\\x60\\x1e\\x0e\\x88\\x92\\xbd\\x4c\\xda\\xf2\\x28\\x3b\\x00\\xff\\x4c\\xe4\\x4e\\xba\\xdf\\x41\\xa3\\x0b\\xf1\\x02\\xb0\\x07\\x83\\xd4\\xe1\\xb4\\x0a\\x36\\x03\\x0b\\x61\\x76\\xca\\x6d\\xef\\xdd\\x75\\xc9\\x2b\\x96\\xd6\\x50\\xd2\\x66\\x39\\x74\\x14\\xf7\\x7a\\x40\\xac\\x44\\x80\\x93\\x42\\x0f\\x31\\x1f\\xf0\\x07\\x08\\xaf\\xc6\\xf8\\x55\\x08\\x14\\x60\\xb7\\x19\\xd5\\x44\\xb1\\xe5\\xe6\\x9e\\x8b\\x12\\x62\\x1e\\x63\\xc4\\xed\\x9e\\x08\\x59\\x89\\xdd\\x04\\xde\\x8a\\xeb\\xb7\\xec\\x5b\\x55\\x5a\\xee\\x4b\\x49\\xd0\\x1a\\x52\\xdd\\x86\\x64\\x25\\x1f\\x7a\\x48\\x08\\xbc\\xf1\\x6b\\x69\\x5e\\x5a\\x81\\x4a\\x91\\xe1\\xf5\\x7a\\xa6\\xc9\\xb2\\x8e\\x0b\\x3d\\x84\\xeb\\x49\\x19\\x16\\x5a\\x06\\xb6\\x28\\x2c\\x56\\x5a\\x06\\xba\\xae\\x0c\\x9f\\xb1\\x63\\x50\\xce\\x2e\\x71\\x77\\x51\\x21\\x4e\\xda\\xf2\\xe4\\xfa\\xee\\x43\\xf3\\x93\\xdd\\x31\\xaa\\xc4\\x44\\x43\\xbc\\x9d\\x3f\\xf0\\xfb\\xbe\\x93\\xff\\xea\\x99\\xeb\\x2d\\x34\\xb0\\xe9\\x29\\xbe\\xd5\\x92\\x8c\\xfb\\x15\\xa7\\x70\\xf5\\xb8\\x81\\xd0\\xb5\\xa3\\x5e\\x0e\\x73\\xd0\\x04\\xf8\\x70\\x10\\x5a\\x3b\\x22\\x0b\\xd0\\x50\\x07\\x2a\\xee\\x55\\x9c\\x52\\x57\\x27\\xc3\\xf4\\x71\\x68\\x0b\\x9e\\x26\\x94\\x51\\x5d\\x7c\\x04\\x33\\x2c\\xd3\\x04\\xfc\\xd1\\xb1\\x8c\\x88\\x9a\\x25\\x6f\\x5c\\x90\\x01\\xf2\\xc0\\xc7\\x75\\x75\\x42\\xd9\\xaf\\xe5\\x52\\x1a\\x7c\\x5f\\x68\\x8b\\x54\\x0e\\x87\\x52\\x8f\\x30\\x84\\x8a\\x48\\x9a\\x86\\xb1\\x58\\xe0\\x44\\xc4\\x48\\x05\\xa2\\x56\\xd9\\x9a\\x22\\xc9\\xc3\\x59\\x50\\x7c\\x7b\\xf0\\x7d\\x4c\\x5a\\x68\\x5a\\x1d\\x6e\\xa8\\x6b\\x99\\x25\\xc3\\x1b\\xda\\xc2\\x24\\x84\\xf3\\x21\\x54\\xce\\x49\\xf9\\x10\\xd2\\x10\\x31\\x27\\xe5\\x83\\xaf\\xcf\\x87\\x91\\x16\\xa8\\xaa\\x98\\xb4\\x3a\\x52\\x81\\xe6\\xcf\\xd8\\x07\\xc2\\xf0\\xd0\\x7a\\x93\\x3a\\x70\\x28\\x39\\x92\\xcf\\xd1\\xb1\\xac\\x20\\xe5\\x72\\x94\\xe6\\x12\\xa9\\x4c\\x7b\\x85\\xa8\\x0f\\xc8\\x7d\\x75\\x78\\x47\\xeb\\xc7\\x42\\x59\\xcb\\xac\\x3a\\x19\\x77\\x4c\\x82\\x94\\x47\\xea\\x11\\x0e\\xf3\\x38\\x0c\\x0b\\xd3\\xfc\\x9f\\x60\\xf1\\x19\\x55\\x78\\x07\\x85\\x85\\x7d\\xa0\\xf9\\xb3\\x28\\xdc\\x90\\x7c\\x04\\x94\\x5d\\xcf\\x01\\x10\\x7b\\x45\\xca\\x89\\x55\\x0a\\xe2\\x75\\xf0\\x74\\x64\\xd6\\xa1\\x1f\\x29\\x92\\x08\\x58\\x04\\x4b\\x12\\x5c\\xd1\\x78\\x92\\xf2\\xcc\\x3a\\x2a\\xb0\\x58\\x41\\x81\\xf3\\x2b\\xc7\\x22\\x05\\x2f\\x12\\xf8\\x84\\x4e\\xf0\\x45\\xf2\\x6c\\x87\\xd0\\x23\\xc1\\x28\\x03\\xf9\\x6b\\x39\\x41\\x99\\x94\\x9f\\xd4\\x7e\\xc4\\x96\\xa8\\x67\\x94\\xc4\\x48\\x15\\x3a\\x32\\xa4\\x4b\\xa1\\xa3\\xa8\\x86\\x4e\\xe1\\x47\\x41\\x49\\xc9\\x47\\x6a\\x02\\xee\\x55\\xda\\x92\\x84\\x8a\\x5a\\x66\\xb1\\x0f\\xb4\\xd3\\x9e\\x04\\x63\\x6e\\xbd\\x40\\x4c\\xb2\\x0e\\x20\\x99\\x66\\x8a\\x87\\xff\\x98\\x27\\x75\\x3f\\xb2\\x4a\\xa8\\xdc\\x21\\xc1\\x49\\x9b\\x24\\x02\\x27\\xc9\\x53\\x4d\\x24\\xa3\\x52\\xd0\\x72\\x0a\\x05\\x96\\x9c\\x69\\x78\\xbf\\x7a\\x2c\\xd2\\xa8\\x48\\xe5\\x15\\x44\\xbd\\x90\\x9c\\x8f\\x04\\x39\\x5a\\xff\\xb0\\xcb\\x41\\x3b\\x0a\\x8c\\x9d\\xf2\\x77\\x87\\x51\\x21\\xa1\\x37\\x52\\x8c\\x0c\\x3e\\xb1\\x2e\\x7f\\x85\\xb9\\x5c\\x3d\\x33\\x5d\\xd2\\x09\\x39\\xc4\\x2a\\x15\\x04\\x25\\x91\\xbd\\x0a\\x8e\\x95\\xda\\x8c\\x0b\\x45\\x6a\\xd0\\x12\\xe9\\x66\\x75\\xc4\\xe6\\x64\\xc2\\x72\\x9e\\x20\\xa5\\xb9\\x37\\xe1\\xad\\xcb\\x75\\x75\\xe2\\x4e\\x99\\xbf\\x30\\x5c\\x26\\x6d\\xf7\\x81\\xc4\\x5f\\x02\\x4a\\x3b\\xc2\\xb1\\x0a\\x92\\xa1\\x70\\x74\\xac\\x4c\\x18\\x6c\\xc3\\x58\\x81\\x21\\x28\\x27\\xf4\\x90\\x5f\\xea\\xeb\\x44\\xa1\\x1e\\xe9\\x20\\x59\\x41\\xad\\xcc\\x7a\\xca\\x7a\\xc2\\x7e\\x61\\xfa\\x22\\x70\\x2a\\x51\\x8f\\x7a\\x3a\\xae\\xa5\\x42\\x32\\x9e\\x31\\xcf\\xab\\x95\\x22\\x2b\\x48\\xe0\\xb2\\xa1\\x08\\x27\\xb6\\x74\\x8c\\x9f\\x4b\\x10\\x77\\x2c\\x9b\\x0c\\x7b\\xcf\\x87\\xb9\\x52\\x42\\x0a\\x33\\xbd\\xee\\x52\\x5d\\x6b\\x92\\x24\\x17\\x2e\\x87\\x69\\x44\\x89\\xba\\x1e\\xe1\\x95\\x2a\\x25\\x01\\xf6\\xe8\\x58\\xcc\\xa9\\x08\\x0d\\x0b\\x0d\\x63\\x41\\x4d\\x7a\\x70\\x3c\\x29\\xa2\\x3e\\xa8\\x6c\\x65\\x15\\xa2\\xec\\xcd\\x88\\x7c\\xe1\\x1a\\x84\\x6b\\x61\\x0d\\x2f\\x27\\x37\\x72\\xf5\\x62\\x3c\\xc9\\x5a\\xe2\\x7c\\x8a\\x76\\xce\\x13\\xc1\\x8d\\x54\\x17\\xda\\x2f\\xec\\x77\\x44\\xc9\\x6b\\x78\\x09\\x37\\x0c\\xd2\\xc8\\xb8\\x21\\x5d\\x1e\\xd2\\xfd\\x26\\xa5\\x34\\x06\\xf9\\x90\\xba\\x43\\xbc\\x84\\x2b\\xe5\\x0b\\xb7\\x42\\xe6\\x75\\x72\\x26\\xfc\\x7d\\x99\\xf9\\xb4\\xb5\\x9e\\xa0\\x0f\\x2f\\x20\\x85\\x93\\xaa\\x35\\x1f\\x67\\x67\\xd3\\xda\\x85\\xf9\\x49\\xc2\\x61\\xb7\\xa3\\x4a\\x9e\\x51\\x31\\x32\\x0a\\x69\\x94\\x29\\x85\\xc8\\x33\\x12\\x0a\\xf9\\x16\\xac\\x94\\x19\\x2b\\x74\\x13\\x14\\xca\\xad\\x5e\\x28\\x2f\\x98\\x57\\x51\\xe4\\x11\\x99\\x04\\x73\\x49\\x1d\\x9b\\xd3\\x99\\xcf\\x23\\x3c\\xfb\\x81\\x84\\xbf\\x6e\\x37\\xe0\\xcf\\xaf\\x1a\\x8b\\x54\\x04\\x6b\\xfc\\x8d\\xbc\\xd6\\x19\\x83\\x4c\\x64\\x41\\x3e\\x91\\x79\\x9f\\x52\\x04\\xca\\x52\\x4f\\x26\\x5a\\x2c\\x97\\xd1\\x8e\\x3f\\xb5\\x42\\xa3\\x90\\x4a\\x41\\x8c\\x86\\x91\\x5a\\x89\\x55\\x2a\\x35\\x2a\\x19\\x7f\\xaa\\x10\\x16\\x44\\x89\\x98\\x0f\\x07\\xb9\\x3f\\xc6\\x1f\\x9d\\x19\\x2a\\x04\\xfa\\xe5\\x66\\x3e\\xa8\\x6b\\xad\\xc7\\x0b\\xea\\xc4\\x78\\xbc\\x80\\x99\\xde\\x9c\\xce\\xf5\\x97\\xea\\x56\\x47\\x69\\x90\\xf2\\x0a\\xa1\\x69\\x25\\x2a\\xa9\\x27\\x74\\x27\\xd5\\x8e\\xca\\x38\\x85\\x42\\x2d\\x35\\x17\\xc1\\x5e\\x28\\x22\\xec\\x5a\\xda\\x85\\x5d\\x66\\x67\\x02\\x6c\\x5f\\xe5\\x14\\x96\\x78\\xb2\\x30\\x6e\\x4d\\x22\\xd5\\x94\\xe8\\x2f\\x2c\\x4f\\x94\\xa8\\xf0\\x08\\x96\\x4a\\x20\\x94\\xa1\\x90\\xf0\\x47\\xaa\\xc8\\xaa\\x69\\x44\\x5f\\xdc\\x10\\xc4\\x8a\\x56\\xc4\\x37\\x4b\\x8e\\x61\\x99\\x9d\\x89\\x4f\\x66\\x79\\x52\\x16\\xd3\\xbb\\x0e\\xae\\xb5\\x26\\xd7\\x5d\\x92\\x44\\x2a\\xe7\\xa1\\x42\\x95\\xd0\\x5e\\xb8\\x0e\\x32\\xee\\x14\\x92\\x5c\\x11\\x68\\x0b\\x69\\x38\\x89\\xf6\\x54\\x2c\\xab\\x55\\xa8\\xa5\\x3a\\x28\\x5a\\xa4\\xca\\xd4\\x13\\x52\\xe0\\x65\\x56\\xed\\x5c\\x9d\\xe8\\x02\\xc3\\xdf\\x97\\xeb\\x98\\xf2\\xd6\\x64\\xc2\\xba\\x70\\x2d\\x74\\xaf\\x50\\xd6\\x7c\\xbc\\x8e\\xbb\\x44\\xaa\\x46\\xe9\\x02\\xe6\\x4a\\xb2\\x5c\\xa6\\x3d\\xac\\xc2\\x1d\\xb4\\x27\\x34\\xff\\x77\\x69\\xcf\\x27\\xd3\\x1e\\x11\\x6a\\x12\\xed\\x31\\x9f\\x37\\xa7\\x87\\x65\\xb1\\x24\\x73\\x28\\xed\\x21\\x41\\x25\\x48\\x35\\x93\\xe9\\x9c\\x25\\xb4\\x07\\x2a\\x05\\xdb\\xcc\\x63\\x0c\\x1d\\x8a\\xe3\\x26\\xb4\\x07\\x72\\x01\\x14\\x81\\x1f\\x90\\xaa\\x5c\\x93\\xc9\\x2f\\x4c\\x7c\\x92\\xbc\\x94\\xca\\x88\\xc6\\x5f\\x34\\xed\\x29\\x01\\xda\\x69\\xaf\\x85\\xe5\\x9b\\x23\\xa5\\x85\\xfe\\x98\\x77\\x69\\x79\\x6e\\x9f\\x4c\\x7b\\xad\\xc9\\x4c\\x79\\x9d\\x28\\xd4\\x85\\xee\\x85\\x6b\\xa4\\x6e\\x5c\\xff\\x16\\x49\\xa0\\x76\\xe8\\x57\\x35\\xea\\xdd\\x40\\xd0\\xa7\\x0a\\x2b\\x04\\x25\\xa5\\x3e\\xad\\x5a\\xfc\\x4f\\xf4\\xd7\\x59\\x06\\x76\\xa2\\xc1\\x76\\xbd\\x1b\\xd6\\xbd\\x12\\x19\\x12\\x59\\x11\\x96\\x51\\x92\\x5e\\x53\\xa3\\xd2\\x23\\x72\\x71\\x54\\x34\\xf1\\xbc\\xa0\\xa1\\x88\\x25\\xaa\\x88\\xd5\\x0a\\x6a\\x11\\x29\\xae\\xb7\\x14\\x7c\\xed\\x08\\x35\\x76\\xa6\\x49\\x49\\xb4\\x4b\\x54\\x49\\x04\\x13\\xd5\\x14\\x61\\x5d\\x2f\\x49\\x78\\x44\\xfa\\x52\\x91\\x32\\x19\\xd2\\x82\\x7a\\x54\\xd1\\xa0\\x51\\x28\\xf4\\x4a\\x83\\xcc\\x02\\x08\\x0c\\x20\\x41\\xa0\\xe3\\x79\\xa3\\x46\\x2f\\x55\\x52\\xd3\\x22\\xc9\\x7d\\xd2\\x3b\\x61\\x43\\x2a\\xdc\\xac\\x04\\x49\\x1e\\xfb\\x6e\\x42\\xa6\\xbe\\xf6\\x89\\x43\\x59\\x1f\\xca\\x96\\xd0\\xf4\\xba\\xba\\x4b\\x92\\x94\\x94\\xc8\\x35\\xb4\\x45\\x59\\x4f\\x08\\xb6\\x35\\x49\\x59\\x4f\\x49\\x36\\xca\\xfe\\x20\\x18\\xa8\\xa7\\x34\\xab\\x51\\xc9\\x3a\\x98\\x10\\x2d\\xd1\\xc2\\xd1\\x64\\xab\\xbe\\x81\\x6c\\xa3\\xe8\\xb6\\x13\\xe1\\x7a\\xda\\x49\\x37\\x42\\xbb\\xbf\\x96\\x53\\xc9\\xd9\\x2e\\xd7\\xc2\\x38\\xef\\x19\\xc6\\xb9\\x50\\x3f\\x96\\x98\\x65\\x54\\x43\\xb0\\x92\\xf6\\x57\\xf3\\xa2\\xe2\\x06\\xe3\\xa7\\x03\\xe5\\x9d\\x8c\\x34\\x0f\\x85\\xc1\\xa3\\x22\\x34\\x2c\\x69\\xd3\\x76\\x53\\x88\\xf3\\x50\\x84\\x33\\xed\\xe5\\xc9\\xf8\\x1e\\xd6\\xc0\\xab\\x54\\x4a\\xb5\\x41\\x26\\x68\\xcc\\x18\\x64\\x82\\x16\\xb4\\x5a\\x83\\x5e\\x23\\x11\\xb4\\x3e\\xc4\\xa8\\xc5\\x88\\xfa\\x6b\\x41\\xac\\x24\\x7f\\x6e\\x46\\xd5\\x11\\x49\\x47\\x5b\\x9c\\xf6\\x54\\x65\\xc1\\xda\\x5b\\xb2\\x0f\\x28\\x65\\xd7\\x49\\xd2\\x55\\xd6\\xee\\x84\\xc0\\x65\\xf9\\x8a\\x65\\xbb\\x87\\xc8\\x75\\x5a\\xff\\x3e\\x8d\\x6a\\x86\\xd1\\xb2\\x12\\xb1\\x11\\x19\\xab\\xa0\\xcb\\xaf\\x14\\x72\\x63\\x2b\\x5b\\xa2\\xcd\\xb5\\x50\\x84\\x8d\\x3b\\x09\\xda\\x68\\xa3\\x2d\\x6c\\xa3\\x10\\x02\\x0f\\x4d\\xe3\\x5e\\x25\\x58\\x27\\x6d\\xcc\\x7c\\x4e\\x31\\x12\\x65\\x13\\xaa\\x91\\xbf\\x9e\\xd1\\xb6\\xf3\\x33\\xdb\\x4e\\xe5\\x48\\xc3\\xab\\x44\\xc5\\x0d\\xe6\\xe1\\x75\\x72\\x23\\xba\\x3c\\x8f\\x6c\\x28\\xca\\xaa\\x3f\\x6c\\x2a\\x86\\xed\\x2d\\xa6\\xbd\\x8e\\x9c\\x14\\x79\\x61\\x24\\xd1\\xfe\\x06\\xaa\\xfd\\x09\\x23\\xeb\\x18\\xc6\\xc0\\x61\\x03\\x96\\xa8\\x5c\\xab\\x50\\x18\\xf5\\x3a\\x49\\xd4\\xeb\\x5b\\x94\\x52\\xff\\x84\\x5c\\xf2\\x6c\\x48\\x1d\\x26\\xf2\\xc8\\xf2\\x95\\xe8\\x2a\\x87\\xb9\\x4d\\xc2\\xb6\\x4f\\xe6\\x38\\xab\\xbb\\x90\\x90\\x39\\xc5\\xb6\\x4c\\xe9\\x78\\x41\\x73\\x6f\\xd2\\xea\\x9f\\x53\\x1c\\x70\\x97\\x24\\xd9\\x12\\xb6\\x01\\xc3\\x74\\xd7\\xa7\\x11\\x29\\x14\\x1a\\x0e\\x6b\\xe4\\x9e\\x80\\xa0\\x56\\x6b\\xdb\\xf1\\x1e\\x8a\\x36\\x69\\x5b\\xfe\\x13\\xde\\x25\\x06\\x93\\xf0\\x2e\\x19\\x9e\\x61\\xf3\\x90\\xf9\\x9c\\x30\\x96\\x64\\x22\\x76\\xd8\\xcd\\x14\\xef\\xa4\\x88\\x88\\x0d\\x24\\x17\\x2c\\x93\\xba\\xc0\\x34\\x2b\\x6f\\x30\\xa1\\x6f\\x8e\\xf7\\xf0\\x34\\x09\\x29\\x4f\\x12\\xd8\\x70\\xad\\x5d\\x64\\x4b\\x26\\x35\\xc5\\x7b\\x94\\xde\\xd3\\xa3\\x11\\x8d\\x4a\\x8d\\xc6\\xa0\\x68\\x27\\x76\\xce\\x20\\xdb\\x77\\xac\\x5e\\x6f\\xd4\\x6a\\x24\\x5c\\x6b\\x43\\x9c\\xa4\\x7e\\xa9\\xb2\\x55\\xb5\\x74\\x28\\xdb\\xce\\x68\\xef\\xa8\\x75\\x87\\x1e\\x2c\\x74\\xd3\\x9a\\x4b\\x82\\x2e\\x74\\x6f\\x98\\xe2\\xc5\\x78\\xee\\x55\\x49\\xbc\\xb2\\xb3\\x09\\xc1\\x13\\x01\\x5f\\x17\\x65\\xe7\\x9b\\xd1\\x18\\xbf\\x56\\xad\\xd7\\x5b\\xb5\\x4a\\x83\\x81\\xc7\\x66\\x8b\\x99\\xca\\x19\\x2d\\x95\\x33\\x16\\x13\\x91\\x33\\x1a\\x56\\xb2\\x60\\x1a\\x83\\x4a\\xae\\xc5\\x20\\x13\\xe2\\x91\\xa0\\x96\\x52\\x7e\\x18\\x9e\\xa8\\x0e\\x40\\x44\\xe6\\x18\\xa3\\xba\\x01\\x61\\xd1\\xd3\\x2e\\xf3\\xdb\\x45\\x50\\xbb\\xe4\\x0f\\x8b\\xa2\\xb0\\xf8\\x97\\xe5\\x51\\x34\\x7c\\x01\\xbf\\x92\\xb5\\x9a\\x94\\x4a\\xbd\\xc6\\x42\\xb0\\xc3\\x36\\x12\\x8c\\x71\\x66\\x85\\x45\\x21\\xb3\\x88\\xd6\\x82\\x0c\\xa4\\xa9\\xb4\\x3a\\xad\\x04\\xa5\\x09\\xeb\\x5a\\xa9\\x66\\x90\\xd6\\xa8\\x5c\\xd7\\x66\\x11\\xf8\\x8c\\x9d\\x3a\\x7f\\x72\\x7c\\xa7\\xc2\\x0e\\xb3\\x45\\xe2\\x1d\\x31\\x9e\\x36\\x66\\x58\\x49\\xc8\\xad\\x29\\x35\\x2a\\xf5\\x2f\\x6a\\x87\\x8d\\xb6\\xa7\\x11\\xd9\\xd1\\xcc\\x06\\xac\\xd7\\x73\\x1a\\x87\\x86\\x82\\xa4\\x19\\x6b\\x55\\x2a\\x1d\\x16\\xb5\\xda\\xae\\x70\\x50\\xdb\\x90\\xaa\\x49\\x9d\\xce\\xc9\\x59\\x6d\\x56\\x4a\\xca\\xea\\x20\\xb6\\xb5\\x20\\x53\\xb3\\x3e\\xd2\\xc0\\x1a\\x55\\xc8\\x28\\x44\\xf3\\x55\\xf8\\xa2\\x03\\x9f\\xc6\\x76\\x06\\x8b\\x02\\x9c\\x89\\xe6\\x34\\x5f\\x58\\xc6\\xd1\\x46\\xbf\\x14\\xc5\\x71\\x61\\x02\\x90\\x1a\\xbf\\xf9\\xb8\\xcc\\x79\\x92\\xd4\\x93\\xe7\\x14\\x10\\x9e\\xc9\\x3d\\x23\\xc9\\x60\\x53\\x83\\x14\\xe6\\xa5\\x99\\xc6\\x63\\x6b\\xef\\xad\\x18\\xdd\\xdc\\x33\\xcd\\xb7\\x72\\xcf\\xe0\\x99\\xec\\x15\\xf9\\x7d\\x52\\x6f\\x72\\xd7\\xf1\\x3e\\x95\\x07\\xb9\\x37\\xbc\\x1f\\xda\\xc2\\x7e\\xd2\\xf1\\xbe\\x94\\xbf\\xb9\\x31\\x9c\\xbf\\xd8\\x11\\x17\\x26\\x3a\\x81\\xb2\\x3e\\xfc\\x3e\\xfe\\xe8\\xa6\\xef\\x4b\\x01\\x3d\\xc9\\xfb\\xf8\\xa3\\x50\\x06\\x39\\xe4\\xf7\\xf1\\xc5\\xa8\\xfc\\x81\\x45\\xdc\\x8d\\xef\\x93\\xbc\\xdb\\xdf\\xcf\\x40\\x53\\x43\\xff\\xe2\\x9e\\xe1\\x9f\\x6c\\x8f\\x3d\\x63\\x96\\xbc\\x59\\x23\\x2b\\xa4\\xa8\\xdf\\x47\\x31\\xea\\x8e\\x4a\\x51\\x5f\\x34\\x00\\x95\\xa3\\x61\\x68\\x24\\x1a\\x85\\xc6\\xa2\\x2a\\x34\\x09\\x4d\\x45\\x33\\xd0\\x6c\\x34\\x1f\\x2d\\x46\\xcb\\xd1\\x6a\\xb4\\x0e\\xdd\\x85\\x36\\xa1\\xcd\\x68\\x0b\\xda\\x81\\x1e\\x46\\x8f\\xa3\\x27\\xd1\\xd3\\xb8\\xab\\x7f\\xe6\\x13\\x8f\\x3e\\xb8\\xad\\xee\\xa9\\xa7\\xf6\\xcc\\xbc\\xf5\\x96\\x6c\\xed\\xd2\\xa5\\xb7\\x57\\xf6\\xcb\\xd2\\x2c\\xb9\\x6d\\x48\\x61\\x3c\\xb7\\x71\\xe3\\xe4\\xc1\\x05\\x71\\xec\\xdd\\x73\\x83\\xbd\\xd3\\x8d\\x2b\\x57\\xce\\x19\\xed\\x4f\\x33\\xac\\xa8\\x19\\x5e\\xe2\\x54\\xde\\x77\\x5f\\x75\\x45\\x57\\x87\\xe2\\xde\\x85\\xe3\\x7b\\xa6\\x58\\xd7\\xae\\x5d\\x30\\xae\\x47\\xb2\\x65\\xcd\\x9a\\x7b\\x57\\xdc\\xbd\\x84\\x5b\\xbf\\xeb\\x91\\x9d\\x5b\\xef\\xdf\\xb3\\x67\\xda\\xc0\\x2e\\x6e\\xb8\\xf3\\xce\\xda\\xb2\\x3c\\x17\\x5a\\xbf\\x7e\\xff\\xbe\\xa7\\x37\\x6f\\xba\\x6b\\xfd\\x5d\\x4d\\xc0\\x34\\x04\\x9f\\x9c\\x3a\\x69\\x46\\xed\\x0c\\x72\\xe9\\x57\\x05\\x77\\x4d\\xae\\xae\\xad\\x1a\\x3b\\xaa\\x72\\x94\\x7c\\x3b\\x6e\\x74\\xe5\\xe3\\x23\\x87\\x95\\x97\\x95\\xcb\\xb7\\x8f\\x54\\x0c\\x2e\\xeb\\x5b\\x3a\\xa0\\xdf\\x00\\xf9\\xd6\\xdf\\xa3\\xdf\\xc3\\xdd\\x8b\\x7d\\x79\\x3e\\xf9\\x76\\x67\\xd7\\x82\\xbc\\x4c\\x6f\\x6e\\x56\\xae\\x7c\\x9b\\x96\\x9c\\xb5\\x23\\x31\\xd6\\xe3\\xf2\\xc8\\xb7\\x5b\\xe3\\x1c\\x2e\\xbb\\x59\\x4f\\x0d\\x1f\\x7a\\x6b\\x31\\x68\\xb6\\xa8\\x05\\x86\\x76\\x0c\\xe9\\xed\\xfd\\x44\\x3f\\xad\\x5b\\xbd\\x7c\\xc9\\x72\\x7a\\x5b\\x1a\\x5c\\xb3\\x62\\x89\\xad\\x12\\x62\\xcb\\xc0\\xd9\\x0f\\x62\\xf3\\x20\\x36\\x0b\\x2c\\x2e\\xa8\\xad\\x2c\\xeb\\x97\\x97\\xe5\\xd2\\xa0\\x25\\x4b\\x90\\xc6\\x95\\x95\\xd7\\xaf\\xac\\xb2\\x56\\x75\\xfb\\x9e\\x7b\\xef\\x8e\\x5d\\xdf\\x7d\\x3d\\xd6\\xaf\\x07\\x25\\x5e\\xbf\\x78\\xfe\\xec\\xdb\\x67\\x93\\x3c\\x8e\\x04\\x17\\xcc\\xb9\\xbd\\x3d\\x44\\x9d\\x34\\xda\\x3b\\x9e\\xc8\\x14\\x53\\xc7\\x7a\\x06\\xc9\\x6f\\x5c\\x0a\\xf1\\x10\\x76\\x14\\xee\\x70\\xda\\xfa\\x5f\\x7a\\xd2\\xe1\\x02\\x66\\x6c\\x5f\\xee\\x44\\x3e\\xf9\\xf2\\x49\\xf6\\x44\\xee\\x78\\xfc\\xff\\xef\\x46\\x3e\\x53\\x8f\\x76\\xab\\x27\\x25\\x7c\\x70\\x51\\xd7\\xc2\\x7f\\xe1\\xb9\\xfd\\x7f\\xf0\\x3e\\xfc\\x87\\x6b\\xe3\\x4d\\x8e\\xa9\\xb5\\xb5\\xf0\\x18\\x39\\x76\\x4d\\x9d\\x1a\\xaa\\x23\\xe7\\xc7\\xe5\\xe3\\xfc\\xd4\\xa9\\x62\\x75\\x6d\\xad\\x38\\xb1\\xb6\\x96\\xd5\\x92\\x73\\x8d\\x7c\\x9c\\xef\\x78\\xfb\\xfc\\x4d\\x9f\\xfe\\x41\\x1e\\xe7\\x3b\\x9e\\xb6\\xbe\\xde\\x71\\xdd\\xf2\\x4b\\x47\\x4a\\x7a\\xee\\xf8\\x70\\x49\\x13\\xe9\\xa7\\xa6\\xba\\xe3\\x33\\xe9\\xc6\\xeb\\x1a\\xfa\\x99\\x38\\x81\\x7e\\x26\\x4a\\xd7\\xf2\\x63\\xe1\\x6f\\x52\\x62\\xf0\\x48\\x77\\xe2\\xd5\\x89\\xe2\\xd5\\x6a\\xf1\\x33\\xf2\\x5f\\x23\\x7e\\x5e\\x23\\xfc\\xbd\\x1a\\x55\\x12\\x99\\xf4\\x7f\\x4d\\x66\\xa0\\x67\\xd0\\x73\\xe8\\x08\\x6a\\x44\\x2f\\xa2\\x57\\xd1\\x49\\x74\\x1a\\x9d\\x45\\xe7\\xd1\\x05\\x74\\x09\\x5d\\x41\\x57\\xd1\\x35\\xf4\\x35\\xfa\\x1e\\xfd\\x88\\x7e\\x41\\xbf\\xa1\\x16\\xd4\\x06\\x0c\\x08\\xa0\\x06\\x3d\\x98\\xc1\\x0e\\xb1\\x90\\x08\\x1e\\xf0\\x42\\x26\\xe4\\x82\\x0f\\x8a\\xa1\\x3b\\x94\\x42\\x5f\\x18\\x00\\xe5\\x30\\x8c\\xa9\\x3c\\x82\\xf3\\x27\\xee\\x6d\\x02\\x55\\x03\\xf7\\xd1\\x47\\x8c\\x6f\\xd2\\xd3\\x4d\\xa0\\xf6\\x5b\\xb9\\x4b\\x09\\x43\\xff\\x74\\xe8\\x57\\xee\\xf3\\xcf\\x13\\x87\\x6d\\x7e\\xee\\x37\\xee\\x2a\\x5f\\x34\\x65\\x77\\x13\\xe8\\x1a\\xb8\\x0f\\x3e\\x10\\x8a\\xa7\\x3e\\x49\\x57\\x86\\x5b\\xb9\\x0b\\x49\\x23\\x56\\x1d\\x6e\\xe6\\xfe\\xf2\\x17\\xcf\\xc8\\xd5\\x47\\x5a\\xb8\\x6b\\xaa\\x6e\\xd3\\x1f\\x6b\\x02\\x53\\x03\\xf7\\xee\\xbb\\xea\\xee\\x33\\x1e\\xa7\\xde\\xde\\x56\\xee\\x7c\\x6a\\xe0\\x8e\\x06\\x91\\xfb\\xea\\x2b\\xef\\xa8\\x75\\x8d\\x6d\\xdc\\xd7\\xba\\x5e\\xb3\\x1e\\x6a\\x02\\x5b\\x03\\xf7\\xf6\\xdb\\xfa\\xd2\\xd9\\x0f\\x37\\x81\\xbd\\x9e\\x3b\\x9b\\x31\\x66\\xc3\\x71\\xaa\\xdd\\xb8\\xef\\xbe\\xcb\\x1c\\x7b\\xd7\\x8b\\x84\\xad\\xeb\\xb9\\xef\\x4d\\x7d\\xe6\\x6d\\x6f\\x82\\x98\\x06\\xee\\xd4\\x29\\x73\\xdf\\xf9\\x3b\\x9a\\x20\\xb6\\x9e\\x3b\\x9d\\x33\\xe1\\x9e\\x57\\xa8\\xb5\\xc7\\xfd\\xfd\\xef\\xb9\\x55\\x9b\\x5e\\xa5\\x9d\\x0e\\xee\\x47\\x5b\\xff\\x45\\x0f\\x34\\x41\\x42\\x03\\xf7\\xfa\\xeb\\xf6\\x01\\x8b\\xb7\\xf4\\x36\\x43\\x22\\x51\\xb6\\x27\\x21\\x15\\x72\\xa0\\x08\\x7a\\xc1\\x20\\xa2\\x1d\\xfa\\x93\\x3f\\x2f\\x41\\x40\\x31\\xa9\\x7c\\x39\\xb9\\x1f\\x00\\x03\\xfc\\xda\\x93\\x3f\\x9e\\xfe\\xfe\\xec\\xd7\\xe7\\xaf\\x5d\\xb8\\x7a\\x49\\x73\\xa5\\x09\\xfa\\xf8\\x0d\\x31\\x83\\x96\\x1d\\xf8\\x99\\xfb\\xe4\\x93\\xd8\\xf2\\xe5\\xcf\\xfc\\xc2\\x5d\\xb9\\xd2\\xdb\\x04\\x15\\x04\\x79\\x99\\x04\\x71\\xdd\\x61\\x18\\x49\\xd7\\x97\\xfc\\x25\\x41\\x06\\xe4\\x43\\x37\\x18\\x4a\\xee\\xfb\\x90\\xbf\\xe1\\x47\\x4f\\x9e\\x3e\\x7b\\xfe\\x42\\x13\\xf4\\x6d\\xe4\\x2f\\x5d\\x7a\\xed\\x8d\\xb7\\xde\\x79\\xaf\\x09\\xfc\\x0d\\xfc\\x87\\xcf\\x1d\\x69\\x7c\\x91\\xc0\\x58\\xda\\xc8\\x3f\\xf3\\xcc\\xb3\\xcf\\x1f\\x6d\\x7a\\xa9\\x09\\x7a\\x34\\xf0\\xfb\\xb6\\xec\\x78\\xf8\\x71\\x82\\xc3\\xee\\x8d\\xfc\\xd3\\x4f\\xdf\\xbf\\x75\\xe7\\x23\\xbb\\x9a\\xa0\\x6b\\x03\\xbf\\x67\\xf5\\xba\\xbb\\x36\\x6d\\x6e\\x82\\xe2\\x46\\x7e\\xf9\\xf2\\x15\\x6b\\xd6\\xdf\\x7d\\x6f\\x13\\x14\\x34\\xf0\\x4b\\xa6\\xce\\x98\\x3d\\x7f\\x71\\x13\\xf8\\x1a\\xf9\\x49\\x93\\x26\\xd7\\xde\\x3e\\x67\\x41\\x13\\xe4\\x35\\xf0\\xd5\\xc3\\x46\\x8e\\x1a\\x5b\\xd5\\x04\\xb9\\x8d\\x7c\\x79\\xf9\\xe0\\x8a\\xca\\xd1\\xe3\\x9a\\x20\\xab\\x81\\x2f\\x2b\\xee\\x5e\\xda\\x97\\x48\\xed\\xcc\\x46\\xde\\xe7\\x2b\\xe8\\xda\\xc3\\xdf\\xaf\\x09\\xd2\\x1a\\xf8\\xbc\\x44\\x8f\\x37\\x93\\x88\\x6b\\x6f\\x23\\x1f\\x1b\\x1b\\xe7\\x4a\\x4e\\xcb\\x6a\\x82\\xe4\\x06\\xde\\x21\\xa8\\xf5\\x66\\x7b\\x13\\x78\\x1a\\x79\\x86\\x61\\x15\\x1a\\x83\\xa5\\x09\\x5c\\x47\\x79\\xf4\\x5b\\x4b\\xdb\\x71\\x89\\x84\\xca\\xeb\\xf9\\x5f\\x7e\\xf9\\xe7\\xef\\xad\\xc7\\x01\\x01\\x0b\\x65\\x7e\\x3b\\xff\\xd3\\x87\\xfb\\xf6\\x2c\\xa9\\x2e\\xcb\\x73\\xa0\\x9f\\x7e\\x42\\x8e\\xbc\\xb2\\xea\\x25\\x7b\\xf6\\x7d\\x48\\x3a\\x9b\\x8a\\xa3\\x9f\\x7e\\xf1\\xe5\\x37\\x3f\\x34\\x41\\xbf\\x46\\xfe\\xe3\\x8f\\xaf\\x5e\\xfb\\xfa\\xfb\\x1f\\x7b\\x5b\\x60\\x00\\xe2\\xd1\\x95\\x28\\x32\\x1c\\x86\\x78\\x42\\x96\\x6a\\xd0\\x90\\x2e\\xb2\\x05\\x1c\\x10\\x07\\x83\\xc9\\x13\\x05\\x0a\\xaf\\x08\\x0e\\x9f\\x3a\\x09\\xef\\x70\\xc0\\xb6\\xff\\xe9\\x09\\xda\\xaf\\xda\\x2f\\xa8\\x60\\xfe\\xdf\\xc9\\xbc\\xd3\\x49\\x96\\xd1\\xc5\\x37\\x39\\xb8\\xff\\x07\\xcf\\x53\\xae\\x7b\\x16\\x91\\xef\\xde\\x9b\\x1c\\xc2\\x1f\\xe4\\x63\\xff\\x6f\\xbe\\x0f\\xff\\xcd\\xe7\\xe6\\x70\\x5e\\xf6\\xff\\xc3\\xd9\\x18\\x7e\\x77\\xaa\\x24\\xe8\\xc9\\xff\\x7b\\xd2\\x3f\\xb9\\x68\\xb9\\x97\\x28\\x0a\\xf9\\x5f\\x7e\\x3a\\x75\\x6a\\xeb\\x98\\xff\\xc1\\x5b\\xf0\\x58\\xf4\\x3b\\xaf\\x4f\\x9d\\xca\\x3c\\xd5\\xf9\\x25\\xf2\\x3f\\xf5\\x86\\xcc\\xa6\\xfe\\x17\\xde\\x69\\xf9\\xe5\\xbf\\x02\\x83\\x9c\\x74\\xea\\x1f\\x7d\\xd3\\x73\\x58\\x73\\x4d\\xbc\\x41\\x7f\\x55\\xff\\x81\\x2e\\xfb\\xc3\\xe7\\x35\\x1d\\x1f\\x59\\xc7\\x4d\\x88\\xd2\\x74\\x35\\x51\\xfa\\xae\\x93\\xd6\\x9b\\x18\\xad\\xfb\\xaa\\x23\\x1a\\xb0\\x26\\x9c\\x39\\x39\\x48\\x66\\xf4\\x96\\xbc\\x4e\\x5e\\x42\\x74\\x87\\x2c\\x62\\x6f\\x5f\\x24\\xba\\x70\\x20\\x1a\\x82\\x86\\xa3\\x5b\\x51\\x10\\x8d\\x47\\x35\\xe8\\x36\\x34\\x0d\\xcd\\x44\\x73\\xd1\\x42\\xb4\\x14\\xad\\x44\\x6b\\xd1\\x9d\\x68\\x23\\xba\\x0f\\xd5\\xa1\\x6d\\xe8\\x41\\xf4\\x28\\x7a\\x02\\x3d\\x85\\xf6\\xa3\\x83\\xe8\\x05\\x54\\x8f\\x8e\\xa1\\x97\\xd1\\x09\\xf4\\x26\\x3a\\x83\\xce\\xa1\\xf7\\xd1\\x45\\x74\\x19\\x7d\\x86\\xfe\\x8c\\xfe\\x8a\\xbe\\x45\\x7f\\x43\\xff\\x40\\xff\\x42\\xff\\x46\\x21\\x00\\xe0\\x40\\x09\\x5a\\x30\\x82\\x15\\x9c\\x10\\x0f\\x6e\\x48\\x81\\x74\\xc8\\x86\\x2e\\x50\\x08\\x25\\xd0\\x13\\x7a\\xc3\\x2d\\x30\\x10\\x86\\xc0\\x70\\xa6\\x9f\\xff\\x76\\xd4\\xbf\\x76\\xc5\\xfe\\x6f\\x62\\xb8\\x33\\x67\\x24\\xb9\\xc7\\x31\\xc3\\x66\\x6f\\x7b\\xee\\x9f\\xdc\\xf9\\xf3\\x83\\x6f\\xbf\\xf7\\xd9\\x7f\\x73\\xef\\x4c\\x5e\\xfd\\xd4\\x97\\x09\\xdc\\x9b\\x6f\\x4e\\x5b\\xb9\\xf7\\xdb\\x58\\xee\\xd4\\xc8\\xf9\\x9b\\x8f\\xfc\\xc4\\x5d\\xb8\\x50\\x31\\xe7\\x81\\xe7\\xff\\xc5\\xbd\\x57\\xbd\\xee\\x89\\x2f\\x92\\xb8\\x13\\x27\\x6e\\x5b\\xb3\\xfb\\xaf\\x89\\xdc\\xeb\\xa3\\x16\\xef\\x68\\xfc\\x81\\xbb\\x74\\xa9\\x72\\xc1\\xfd\\x47\\xff\\xc1\\x7d\\x38\\xee\\xae\\x47\\x3f\\x4d\\xe5\\x5e\\x7e\\xb9\\x66\\xfd\\x63\\x7f\\xf6\\x70\\xaf\\xb4\\xbc\\x42\\xa4\\x5c\\x2c\\xd1\\x1b\\x15\\x44\\x47\\x74\\x87\\xee\\x0d\\xa3\\x97\\xec\\x6c\\xfa\\x1b\\xf7\\xf1\\xab\\xa0\\x20\\x82\\x2f\\x1d\\xca\\x48\\xff\\x82\\x23\\x10\\x96\\x34\\x8e\\xbf\\xfb\\xa1\\xcf\\xbc\\xdc\\xf1\\xb6\\xde\\xf1\\x44\\x4e\\xba\\x89\\x86\\x1a\\x4c\\x7e\\x28\\x85\\x52\\xd4\\x4a\\xa4\\x64\\x1c\\x64\\xc1\\x70\\x72\\xdf\\x83\\x48\\x5f\\x3b\\xa9\\x5a\\x3f\\x94\\x43\\xee\\x0a\\xc9\\x1f\\x75\\x24\\x48\\x85\\x81\\xc4\\xa8\\xe0\\xa0\\xa8\\x51\\x92\\xf4\\x5c\\x59\\x59\\x6f\\x15\\xd0\\xd1\\xc7\\x04\\xc8\\x83\\x21\\xe4\\x07\\x3f\\xf9\\x2b\\x82\\x1e\\xfe\\xb8\\xe3\\x1f\\xbf\\xf2\\xe1\\xeb\\xef\\x9d\\x7a\\x87\\xd1\\x40\\xff\\xf2\\x19\\x9b\\x9e\\xf9\\x9d\\x3b\\x7b\\x96\\x53\\x6a\\x8d\\x56\\x0e\\xa0\\xb7\\x12\\x46\\x10\\x2c\\x3a\\x88\\x5a\\xbb\\x85\\x58\\x28\\x1c\\x51\\x6d\\xf9\\x8d\\xf9\\x45\\xdd\\x7a\\xf5\\xe1\\xfa\\xf7\\x6f\\x82\\x91\\x87\\xdf\\xfd\\xe0\\xa3\\x63\\x44\\xdb\\xf5\\x6a\\x1c\\xc0\\xbf\\xfd\\xf6\\xcb\\x27\\xde\\x3c\\x73\\x8c\\x22\\xb7\\x9e\\xc7\\x2f\\x11\\x55\\x77\\x0c\\x0a\\xa0\\x6b\\x3d\\xcf\\x71\\x44\\xd7\\x1d\\xa3\\x26\\x46\\x7d\\x3f\\xfe\\x99\\x43\\x87\\x1b\\x8e\\x11\\x1d\\x99\\xd3\\xd8\\x97\\x3f\\x70\\xe0\\xd1\\x27\\x9e\\xda\\x7f\\x8c\\x36\\x4b\\x3d\\xcf\\x3f\\xb2\\x6b\\xcf\\xbe\\x63\\x90\\x0c\\x69\\xf5\\xbc\\x52\\xb9\\x79\\xdb\\x8e\\x63\\x04\\x47\\xee\\x7a\\x3f\\xbf\\xe9\\x4f\\x5b\\xb7\\x1f\\x83\\x18\\x70\\x35\\x96\\xf2\\xf7\\xdc\\xb3\\x82\\x68\\xc2\\x63\\x04\\x4d\\xf6\\x7a\\x5e\\xb5\\x7c\\xd5\\x1d\\x1b\\x8e\\x11\\xfd\\x61\\xab\\xe7\\xb5\\x5a\\xa2\\x08\\x8f\\x51\\xb3\\xa6\\xbe\\x07\\x3f\\x63\\xd6\\xbc\\x45\\xc7\\x40\\x05\\xba\\xc6\\xee\\xfc\\xf4\\xe9\\xe3\\xaa\\x27\\xd7\\x1e\\x23\\x38\\x52\\xd4\\xf3\\xba\\xb1\\x55\\x93\\xa6\\x1e\\xa3\\xda\\xcb\\xef\\xe0\\x8d\\x46\\xa2\\x26\\x5b\\xda\\xba\\xf2\\xe5\\x43\\x47\\x04\\x9a\\xc5\\x62\\x7e\\xd0\\x20\\xaa\\xa6\\x8e\\x41\\x3f\\x28\\xab\\xe7\\x4d\\x57\\x88\\x9e\\x3a\\x46\\x6d\\xa1\\x7a\\xde\\x6a\\xfd\\xe1\\xa7\\x7f\\x1e\\x83\\xc1\\x50\\xe1\\x4f\\x2d\\xe0\\x7f\\x8f\\x49\\x48\\x4a\\xcd\\xc8\\xe1\\x6d\\xf8\\x19\\x7e\\x93\\x6a\\x86\\xae\\xdc\\xf4\\xbb\\xcd\\xf6\\xbb\\xa9\\x5c\\x37\\x43\\xb5\\x89\\x7f\\x06\\xab\\x1d\\xe7\\x2f\\x5c\\x3a\\x46\\x0d\\xa9\\xc6\\x32\\xfe\\xec\\x59\\xf8\\xfe\\xc7\\x5f\\x8e\\x51\\x73\\xca\\xaf\\xf1\\xf1\\xbf\\xfd\\x26\\xe9\\xd7\\x3c\\xde\\xd1\\xae\\xd5\\x6e\\xd0\\x69\\xb9\\xff\\x7b\\x3a\\xe7\\xff\\x9d\\x5e\\x0b\\x77\\xc2\\x7d\\x85\\x9e\\x9b\\x1c\\x3e\\xeb\\x1f\\x1d\\x1e\\xab\\xcf\\x78\\x93\\x03\\xae\\x7b\\xd1\\x4e\\x9e\\x79\\xa3\\x0e\\xe1\\xba\\xdf\\x39\\xf2\\xac\\x38\\xfa\\x9e\\x1c\\x6e\\x72\\x08\\x85\\x1e\\x6b\\x0a\\x39\\x9b\\xc9\\xd9\\x13\\x75\\x5c\\x9f\\xfe\\xff\\xf8\\xfb\\x75\\xe5\\xc3\\xf5\\xf7\\xd7\\xc1\\x19\\x49\\x2f\\x84\\xe1\\xa2\\xf0\\xd8\\x49\\xbe\\xf6\\xeb\\xf2\\x37\\x5f\\x7f\\x1f\\x4e\\x1f\\x39\\x73\\x17\\x9b\\x33\\xa7\\x77\\x7c\\x66\\xd0\\x3f\\xfa\\x89\\x9c\\x23\\x9f\\xe6\\x6d\\x1d\\x8f\\x3e\\x22\\xff\\xd3\\xa7\\x5f\\x24\\xff\\xe1\\x67\\xa1\\xef\\xa6\\x87\\x7f\\x6c\\x3d\\x30\\x03\\x4a\\x67\\x5c\\x9c\\x01\\xcf\\xcc\\xe8\\xc8\\x26\\x2a\\xaf\\xce\\xf7\\xed\\x19\\x61\\x9b\\x74\\x73\\x51\\xfa\\xc7\\xdf\\xd3\\x37\\xda\\x0b\\x98\\x41\\xf3\\x16\\x03\\xe4\\x97\\x8b\\x91\\xd4\\xed\\x67\\xfa\\xce\\x0c\\x29\\x51\\x68\\x0b\\x24\\xd5\\xd0\\x7f\\x4f\\x35\\xb8\\x27\\x4a\\xff\\x9d\\x34\\xd0\\x89\\xf6\\xce\\x12\\xf9\\x9f\\x40\\xbe\\xf9\\xe9\\x91\\x9f\\x5e\\xbb\\x5e\\xa9\\xbd\\x16\\xb9\\x38\\x19\\xad\\x6b\\x6e\\xd0\\x59\\x1d\\x8f\\xda\\xdf\\xe2\\xcf\\x45\\xf4\\x54\\x44\\x5b\\x92\\x52\\xc3\\x45\\xd4\\xb4\\x67\\x2d\\x67\\x7b\\xa2\\x3d\\x33\\x39\\xa3\\x8e\\x0c\\xa4\\xc4\\xf2\\x98\\xd7\\x72\\xb4\\x90\\x1d\\xc3\\x56\\xca\\x7b\\xbe\\x20\\x8e\\xa5\\x5e\\x65\\x91\\x08\\xfb\\x34\\xea\\xd7\\x72\\xe6\\x6a\\xab\\x9b\\xad\\x6c\\xa5\\xfb\\xa8\\xd1\\x48\\xb2\\xe7\\xd9\\x33\\x52\\xdf\\x2f\\xc1\\xaf\\x61\\x91\\x40\\x84\\xb1\\x42\\xc9\\x22\\x8e\\x41\\xb9\\xe7\\x3e\\x3b\\x17\\xe5\\x1e\\x48\\x93\\x52\\x07\\x5a\\x9e\\x3d\\xd3\\x52\\x3c\\x98\\xed\\x42\\x4f\\xec\\xca\\x96\\xf3\\x6c\\x17\\x52\\xe6\\x4c\\x58\\x8d\\xa7\\x31\\xcb\\xa5\\x32\\x19\\xcc\\xb1\\x80\\x3b\\xf6\\xb9\\x91\\x46\\xb5\\xa6\\x89\\x2c\\xb4\\xc2\\x6a\\x68\\x95\\x7d\\xc5\\x3a\\xde\\x97\\xca\\xe5\\x18\\x1e\\x33\\x58\\xa9\\x10\\x80\\xc7\\xd7\\x97\\x0b\\xe1\\x68\\xc0\\x72\\x16\\x83\\xc5\\x47\\x68\\x2e\\x62\\x05\\x4c\\x14\\x1f\\x0b\\x8f\\xf1\\x21\\xa4\\x40\\xb8\\xf6\\xa6\\xf5\\xa5\\x9e\\xd0\\x0a\\xf4\\x3b\\xf9\\x39\\xb4\\x93\\xce\\xff\\x92\\x24\\xfc\\x60\\xf6\\x10\\x81\\xc0\\xdc\\x88\\x01\\xd1\\x90\\xc7\\xe1\\xb7\\xa9\\xfb\\x9f\\x5b\\x49\\xde\\xc0\\xa3\\x71\\x80\\x3d\\xd4\\x32\\x42\\xf2\\x57\\xa8\\x6b\\xfb\\x2b\\x3f\\x86\\x7d\\x96\\xbc\\x4f\\xf3\\x66\\x19\\x79\\xff\\x1c\\x39\\x6f\\x25\\x86\\x3a\\x09\\x09\\xcf\\x86\\x1e\\x0b\\x3d\\x2c\\xfb\\x3d\\x3d\\x46\\xde\\x1f\\xcc\\x6e\\x69\\xcf\\x9f\\x02\\xd3\\x91\\xbf\\x12\\xf3\\x83\\x43\\x07\\x42\\xfb\\xd8\\x2d\\x2d\\x23\\x08\\x10\\xd7\\xe5\\x8f\\x70\\xc7\\xdb\\x12\\xde\\x8c\\xc0\\x8f\\xa1\\xd9\\xb7\\x94\\xe0\\xdb\\x10\\xdd\\x82\\x00\\x31\\xff\\xe4\\xf6\\x4a\\xfb\\x57\\xf5\\xf0\\xc7\\x0a\\x2c\\xc3\\x03\\x52\\xf0\\x0a\\xac\\xe4\\x30\\xa7\\x52\\x93\\x6f\\x81\\xe0\\x8f\\x11\\x14\\x74\\xd7\\x81\\xd2\\xb0\\x43\\x5f\\x47\\xd4\\xd9\\xb0\\x87\\x5d\\x3e\\x0d\\x9d\\xae\\x04\\x9f\\x92\\xc5\\x39\\xb5\\x62\\x4f\\x38\\x59\\x0b\\xa7\\x44\\x41\\xbc\\x4a\\x43\\x9b\\xe0\\xf7\\xf1\\xc5\\x50\\x36\\xfc\\x59\\x4c\\x14\\x4d\\xf0\\x77\\xda\\x4e\\x4f\\xa3\\xdd\\x6c\\x0e\\x9b\\x2e\\xad\\xb3\\x24\\xed\\x64\\x40\\x0e\\x05\\x52\\xb8\\xdc\\x16\\x4d\\x1c\\x4b\\xda\\xe9\\xd3\\x4e\\xf4\\x11\\xf1\\xa1\\xb5\\xd0\\xf5\\x00\\x39\\x50\\x6c\\xa1\\xbe\\xa2\\x74\\x45\\x9e\\xbc\\x06\\xe0\\xe9\\x25\\xef\\x2f\\x5d\\xf6\\xc1\\xd2\\xa5\\xef\\x2f\\x5f\\xf6\\xde\\x92\\xc0\\xc4\\xa7\\x27\\x4d\\xdc\\x3f\\x79\\xe2\\x33\\x13\\x6b\\xf6\\x4f\\xc4\\x93\\xe9\\xf3\\x0b\\xe4\\xa7\\x25\\x4b\\xde\\x5b\\x36\\x71\\x7f\\x4d\\xf5\\x81\\x89\\xe4\\x97\\x89\\xfb\\xa5\\x2d\\x01\\xd0\\x44\\x14\\x60\\xab\\xd8\\x11\\x84\\x52\\xf4\\xd2\\xba\\x3b\\x2f\\xd1\\xf8\\xc5\\xa8\\x14\\x0d\\x40\\xc3\\xd0\\x28\\x54\\x85\\xa6\\xa2\\xd9\\x68\\x31\\x5a\\x8d\\x3e\\xf0\\xdf\\x5e\\x51\\x5b\\x5b\\x79\\x7b\\xd7\\x25\\x4b\\x7a\\xac\\x48\\x9b\\x33\\x27\\x6b\\x81\\xab\\xba\\x3a\\x79\\xb2\\xa2\\xac\\x4c\\x33\\x18\\xf9\\xfd\\x6c\\x3f\\x43\\x5e\\x9e\\xa5\\xa0\\xa0\\xdf\\xe0\\xc9\\x0b\\x56\\xdc\\x2e\\x38\\x46\\x8f\\x8b\\x73\\x38\\xc6\\xad\\x5d\\x33\\x68\\xde\\xbc\\xa1\\x8b\\xfa\\x2c\\x5b\\xd6\\x7f\\x55\\xfe\\xf4\\xe9\\x45\\xb3\\x62\\xc6\\x8c\\x49\\x98\\x60\\x1a\\x31\\xc2\\x16\\xc0\\xdd\\xba\\xf1\\xbd\\x54\\x19\\x19\\xba\\x9c\\x45\\xab\\x66\\x4d\\x08\\xf4\\xca\\xc9\\xe9\\x15\\x98\\x30\\x6b\\xd5\\x22\\x61\\x4a\\xea\\x94\\x89\\x49\\xa9\\x34\\xfa\\xb2\\xa4\\xb8\\x22\\xfa\\xd1\\xe7\\x8b\\x8e\\xa9\\x75\\xd3\\xaf\\x28\\x67\\xd3\\xff\\xc2\\xeb\\xd4\\xed\\xda\\x93\\x54\\x58\\xe0\\xcb\\xf7\\x86\\xcf\\xe6\\xf0\\xd9\\x1e\\x3e\\x47\\x7e\\x17\\xae\\xbb\\xbf\\xfe\\x7c\\xfd\\xef\\xd7\\xdf\\xa7\\x5c\\x97\\x7f\\xa4\\x3c\\xe6\\xe3\\x82\\xae\\x5d\\x0b\\xb6\\xd2\\xaf\\xdf\\x8a\\x0b\\x8b\\x0b\\x93\\xe9\\x95\\x58\\x5c\\x44\\x3e\\x07\\x8b\\x0b\\x0b\\x8b\\xf1\\x08\\xfa\\x1d\\x8a\\xa1\\x0f\\xf0\\xba\\xf6\\x77\\x43\\x87\\x0a\\xba\\x16\\x15\\x49\\x2f\\xc3\\x5b\\xf4\\x37\\x71\\x1c\\xfd\\xfe\\x8d\\xbe\\xbc\\x95\\x5e\\x31\\xdb\\xc9\\x57\\x16\\xb9\\x13\\x2f\\x14\\x17\\x17\\x5e\\x23\\x37\\xb0\\x85\\x5c\\x8c\\xa1\\x99\\x2d\\x26\\x5f\\x70\\xac\\xc8\\x57\\x12\\xea\\x47\\xae\\x1e\\x2c\\x28\\xe8\\x8a\\xe3\\xc2\\x2f\\x89\\x0c\\xb9\\xf8\\x92\\x26\\xbb\\xd8\\xb5\\xa0\\x6b\\x06\\xb9\\xa0\\xfc\\x7f\\x18\\x6d\\x64\\x3d\\x4c\\x33\\xd2\\x22\\x9b\\x5f\\xc9\\xaa\\xf4\\x3a\\x41\\x2f\\x3b\\x67\\xb6\\x0b\\x20\\x89\\x2a\\x91\\x27\\x09\\x15\\x12\\x1a\\xc5\\xd3\\x67\\x5d\\x9e\\x27\\x8a\\x8d\\x0d\\xa2\\x38\\xfb\\x12\\xd3\\xbc\\xe0\\x93\\xe9\\x8d\\xa2\\x08\\x4c\\xc3\\xed\\x17\\x17\\xcb\\xb2\\x29\\x9d\\xc8\\xc4\\x67\\x59\\x1a\\xbb\\xdc\\x4c\\x69\\x5e\\x83\\x89\\x34\\x23\\xe9\\x0d\\xa4\\xcf\\x7f\\xbd\\x6c\\xa2\\x41\\x81\\xe0\\x3a\\x3a\\x4f\\x67\\xd7\\xb5\\xb2\\x8b\\xce\\x2e\\x5e\\x74\\x6e\\xd1\\xa2\\x77\\xc8\\xf7\\x42\\x76\\x5d\\xcb\\x4a\\xdc\\x7b\\xd1\\x3b\\x8b\\xc8\\x35\\x79\\xb8\\x98\\x46\\x86\\x8f\\x2e\\xc3\\x43\\xf7\\xa2\\xd3\\xc4\\xc5\\x61\\xd6\\x62\\x21\\x25\\xa5\\x24\\x1b\\x1c\\x84\\xc7\\x68\\x0d\\x3e\\xfb\\xec\\x5d\\xc3\\x67\\xef\\x76\\x8a\\xdb\\x1c\\x2e\\xf3\\x3a\\x5e\\xf3\\xde\\x04\\x86\\xe1\\x13\\x0f\\xd4\\xd4\\x10\\x46\\x92\\xbe\\x87\\xdc\\x08\\x50\\xfb\\x6f\\xe4\\x3b\\x1a\\x38\\x09\\x07\\xf3\\xe1\\x4e\\x3c\\x89\\x59\\x48\\x70\\xea\\xa4\\x38\\xd0\\x21\\x8b\\x80\\x84\\xd8\\x18\\x3b\\x63\\x54\\x5d\\xcf\\xf7\\xd2\\xd2\\x80\\x70\\xe4\\x68\\x7b\\xa7\\xe5\\xde\\x78\\xd2\\x8e\\x9a\\x7e\\x73\\xfa\\x6d\\xb9\\x6d\\xea\\x80\\x41\\x83\\xa7\\xf4\\xef\\x3f\\x65\\xe2\\xa0\\x21\\x55\\x78\\xe5\\x8c\\xfb\\x7a\\xcf\\xbb\\x65\\x6a\\xdd\\xa0\\x01\\x53\\xfb\\x4f\\x99\\xd2\\x7f\\xc0\\x6d\\xd3\\x88\\xfd\\xfe\\x02\\x91\\x83\\x4b\\x89\\x1c\\x54\\x23\\x07\\x4a\\x46\\x79\\xa8\\x1b\\x9a\\xe3\\x2f\\xd5\\x74\\x73\\x26\\x16\\x65\\xa6\\x24\\xa6\\x20\\x33\\x8f\\xf8\\x1e\\xdd\\xd3\\xe2\\x92\\x72\\x92\\x0a\\xbb\\xd4\\x76\\x81\\x60\\x17\\x18\\xd0\\x05\\x9c\\x5d\\xa0\\x8b\\xaf\\xab\\x3e\\xa9\\x2a\\x69\\x76\\x12\\xa3\\xe8\\xea\\x57\\xea\\xca\\x92\\xba\\x26\\x75\\x65\\xf4\\x7a\\x25\\x28\\x6d\\x54\\x81\\x7d\\x3a\\xfe\\x9c\\xbc\\xff\\xe6\\x84\\xf1\\x86\\x73\\x3e\\x79\\x44\\xdd\\xe8\\x33\\x9c\\xcb\\xbf\\x89\\x54\\x04\\x0b\\x12\\x92\\x90\\xb7\\x00\\xb9\\x5d\\x48\\x28\\x40\\x5e\\xea\\x83\\x6b\\x41\\xf6\\x7c\\x14\\xbd\\x9a\\xbd\\x53\\xd4\\x02\\xea\\x21\\x6f\\x97\\xd6\\x45\\x2c\\x15\\x77\\xb6\\x86\\xc4\\x87\\x00\\x26\\x92\\x06\\xc4\\x30\\x71\\x8c\\xf8\\xee\\xc7\\x9f\\xec\\x78\\x10\\xf2\\x3f\\xbe\\x0c\\x79\\xa1\\xb1\\x39\\x2e\\x57\\x76\\xb6\\xcb\\x95\\x03\\x17\\xb2\\x5c\\xae\\xdc\\x5c\\x97\\x2b\\x2b\\xf4\\xdd\\xe0\\x2d\\x75\\x83\\x7b\\x4d\\x3c\\x76\\x6c\\x22\\x2e\\x13\\x89\\x4e\\x83\\x29\\xa1\\x66\\x98\\x2e\\x6e\\xfb\\xf7\\x65\\xd2\\x97\\x79\\xe8\\xc1\\xcb\\x1f\\x8b\\xef\\x02\\xe9\\xa6\\x04\\x5c\\x39\\x91\\xc4\\xd2\\x59\\x7c\\x75\\xe3\\x46\\xcf\\x71\\x1a\\x8b\\x99\\x85\\xf7\\x09\\xce\\x1e\\x94\\x70\\x66\\x27\\x34\\x94\\x8d\\x26\\xfb\\x4b\\x92\\x35\\xa6\\xb4\\x04\\x87\\xc9\\x41\\xd0\\x85\\x72\\x72\\xdd\\x56\\x7d\\xac\\x3e\\x3d\\xbb\\x36\\x1b\\x82\\xd9\\x50\\x9e\\x0d\\x3d\\xb3\\x21\\x3b\\x33\\x55\\xaf\\x4f\\xd4\\x57\\xe9\\x67\\xeb\\x59\\xc5\\xb0\\xd4\\xaa\\x54\\xac\\x4f\\xd5\\xa7\\xd2\\x4d\\x78\\xde\\x91\\x22\\xa2\\x11\\x3c\\xbd\\xdb\\x81\\xa7\\x77\\xf3\\xa3\\xd6\\xf4\\x84\\x9d\\x5b\\xa2\\xb0\\xc4\\x45\\xb5\\x75\\x4a\\x74\\xf8\\x06\\x8a\\x18\\xaf\\x84\\x98\\x07\\xaf\\x43\\x4c\\x08\\xdd\\x04\\x17\\x87\\x28\\x1a\\x7a\\x0d\\xae\\xdb\\x32\\xb8\\x33\\x2e\\x96\\x45\\x55\\x9c\\x9e\\xc5\\x4f\\x8f\\x1f\\xf7\\x6c\\xdc\\x48\\xfd\\xac\\xfa\\xb7\\xcd\\xe7\\x75\\x6c\\x77\\xd2\\x23\\x2d\\x46\\x95\\xfe\\x2e\\x85\\x06\\xb5\\xa0\\xc2\\x19\\x19\\x36\\x67\\x4e\\x6a\\x52\\xbc\\xc7\\xe3\\x54\\x31\\x25\\x5d\\xbb\\xac\\x71\\xbe\\xe7\\xfc\\xc2\\xc9\\xac\\x76\\x42\\x9e\\x13\\x72\\x9d\\xe0\\xcc\\xd4\\x67\\x94\\x66\\x0c\\xcb\\x60\\x14\\x19\\x28\\x77\\xc2\\x78\\x42\\x1d\\xe4\\x73\\xae\\x3d\\x5a\\x6e\\xbb\\xe4\\x95\\x9d\\x78\\xac\\x09\\x40\\xb7\\xb3\\xb3\\xd1\\x91\\x1d\\x9e\\xee\\x6a\\xa7\\xc3\\x02\\x31\\x8b\\x53\\xbd\\x82\\xb7\\x38\\x95\\x06\\xf7\\x2b\\xa2\\x1b\\xde\\x15\\x15\\xdb\\xc3\\xd5\\x2e\\xa6\\xeb\\x60\\x98\\x8d\\x7d\\xfa\\x4c\\xea\\x71\\x3c\\xbb\\x29\\xc0\\x5f\\xba\\x64\\x2c\\x6f\\xea\\xd2\\x90\\x3c\\xa8\\x57\\x61\\x9f\\xa5\\x93\\x5f\\xca\\x6c\\x18\\x6a\\xb8\\x74\\x49\\x53\\x71\\x34\\xed\\xe5\\x59\\x73\\x13\\x37\\x9d\\x38\\xb9\\x71\\x53\\xf5\\xa4\\x37\\xd8\\xee\\x97\\x79\\x6f\\x76\\x43\\x76\\xd3\\xdc\\x05\\xbd\\x56\\x56\\x93\\x97\\x62\\x32\\x0c\\x8a\\xcb\\x97\\x8d\\x03\\x8f\\x66\\x37\\x4d\\x5e\\xd9\\x6b\\x4d\\x15\\xc9\\x61\\x88\\xb6\\xe7\\xa9\\xbb\\xef\\x7e\\xa3\\xa6\\xe6\\x9e\\xbb\\x4f\\xd1\\xba\\x7f\\x82\\x2a\\xd8\\x54\\x76\\x2d\\xe1\\x14\\x2f\\x0a\\xf8\\xf3\\x93\\x0d\\x6a\\x93\\x4e\\x67\\x45\\xf1\\x76\\x96\\x45\\x6a\\x26\\x3d\\xcd\\x64\\xd5\\x23\\x87\\xc1\\x51\\xe1\\x60\\x1c\\xc8\\x05\\x3f\\xb9\\xc0\\xa5\\x43\\x68\\x0d\\xc2\\x0a\\xe4\\xf4\\xa7\\xa4\\x95\\x39\\x05\\xc2\\x18\\x99\\x9f\\x4e\\x18\\x9f\\x7f\\x6e\\xee\\xbc\\xdc\\xf1\\x3e\\x89\\x19\\xc2\\xfa\\xc8\\x17\\x8e\\x41\\x04\\xe1\\x65\\xd7\\x76\\x39\\x14\\xbc\\x3c\\x8b\\x4c\\x5d\\x4d\\x22\\x6b\\xf9\\x68\\x65\\x73\\x00\\x7f\\x3a\\x78\\x46\\xbf\\x43\\xf3\\x16\\x8d\\x0c\\xdc\\x3f\\x9d\\xee\\xc9\\x31\\x88\\x46\\x45\\xf6\\x74\\x1d\\x57\\xb2\\x7c\\xc4\\xa8\\xee\\x3d\\x4b\\xc6\\xe3\\x3e\\xea\\xc1\\xcb\\xca\\x57\\x3d\\x15\\x18\\xb9\\x6c\\xe6\\x6e\\xed\\xde\\xfe\\x62\\x33\\xf0\\xfd\\x71\\x5d\\x61\\x55\\x49\\x60\\x69\\xaf\\x9e\\x95\\xdd\\xaa\\x0a\\x68\\x7d\\x86\\xa3\\x66\\xf6\\x39\\x52\\x9f\\x2c\\xd4\\x15\\xf5\\xf2\\xbb\\xf3\\xb2\\xd8\\x44\\xc6\\x5b\\x64\\x71\\x7b\\xdd\\x25\\xdd\\xb2\\x12\\x33\\x7c\\x28\\x79\\x4d\\x32\\x4e\\xce\\xbe\\x5f\\x0d\\x6a\\x7d\\x06\\xc8\\x6d\\xf7\\xce\\xf8\\x30\\x6f\\xb7\\xef\\xb3\\x2d\\x2f\\x53\\x4a\\xf5\\x12\\xe6\\x2c\\x2e\\xf2\\x49\\xab\\x57\\x48\\x05\\xac\\x82\\x14\\x52\\xca\\xa2\\x07\\x2a\\x25\\x05\\xd9\\xc5\\x3e\\xec\\x04\\x2f\\x44\\xe8\\x95\\xb6\\x5b\\xdb\\x96\\x4c\\x05\\xcf\\x2b\\xdc\\xfd\\xba\\x8f\\x4e\\x4f\\xd6\\x1a\\x78\\x83\\x86\\x65\\x75\\xe6\\x94\\x64\\xed\\xdf\\x2a\\x9f\\x5b\\xb0\\xe0\\xe0\\xfe\\x65\\x03\\x46\\x3e\\x14\\x5c\\xb1\\x6a\\x54\\x70\\xd9\\x0a\\x16\\x65\\x66\\x72\\x5a\\x62\\x24\\xb3\\x46\\xad\\x46\\x17\\xdb\\x63\\xe2\\x50\\x9f\\x4b\\xc9\\xf3\\xbd\\xc7\\xe4\\xff\\x7d\\xf8\\xcc\\x95\\x87\\x9e\\x5c\\xb6\\xe4\\x40\\xa6\\x6b\\x59\\xb0\\x6a\\xd1\\xca\\xd1\\xa3\\x56\\x10\\x4d\\xd4\\x9d\\x2e\\x45\\x63\\xcf\\x23\\x37\\xca\\xf3\\xc7\\x98\\xe2\\xd4\\x76\\x3d\\xcf\\xdb\\xe3\\x98\\x24\\x8f\\xd2\\xe9\\x57\\xa8\\xcb\\x9c\\xc6\\x61\\xc4\\x88\\xc1\\xd2\\x6a\\x82\\xdc\\xcc\\xce\\x3b\\x56\\x01\\x5d\\xee\\x0e\\x76\\x69\\x5d\\x40\\x02\\x4e\\x04\\x77\\x31\\x11\\xf2\\x3d\\x21\\x12\\xb0\\x9f\\x28\\x33\\x97\\xb3\\x7a\\xc7\\x7d\\xfd\\xf1\\x1d\\xa3\\x1e\\x9d\\xc4\\x0c\\x7b\\x72\\xbd\\xa2\\xf5\\x1b\\x7e\\xc5\\xb3\\xa3\\xc6\\x1c\\x08\\xde\\x11\\x9c\\xb4\\x69\\x3d\\x7b\\xbe\\x7a\\xff\\xa6\\x55\\xeb\\x07\\x54\\xaf\\x79\\xf5\\xf1\\xbd\\x13\\x94\\x29\\x29\\x35\\xcf\\xd6\\xe9\\x5e\\x5d\\x33\\x2e\\x78\\xf7\\x88\\xc5\\xc7\\xa9\\xee\\xec\\x81\\x88\\xc1\\xcc\\x9e\\x46\\x05\\xa8\\xab\\x3f\\x1e\\xeb\\x0b\\xd2\\x88\\xf8\\xd0\\xb3\\x85\\x45\\xc9\\x99\\xb9\\x0a\\x97\\x85\\x55\\x27\\xaa\\xc1\\xa4\\x36\\xd1\\x61\\xa1\\xc8\\x5e\\x89\\xe3\\x29\\xa6\\x3b\\xa0\\xa4\\xeb\\xd9\\x8b\\x7b\\x31\\x85\\x5e\\x59\\x11\\x51\\xa8\\xf2\\xed\\x52\\x2b\\xc8\\x2b\\x1a\\x84\\xa2\\xe2\\x08\\x1d\\x49\\x8a\\x2a\\x81\\xb1\\xb3\\xfd\\x5b\\x1b\\x14\\x77\\x2d\\xae\\x2a\\xc4\\x25\\x87\\x83\\x43\\xd6\\xf6\\x7f\\x60\\x7c\\xaf\\xc9\\xa9\\x46\\xf5\\xee\\xb9\\x0b\\x76\\xdd\\x52\\x69\\xb0\\x79\\xa7\\xf5\\x1b\\xf8\\xc8\\x82\\xae\\x8b\\xaa\\x7a\\x72\\x5d\\x66\\xae\\x9e\\xe7\\x89\\x2d\\x5a\\xb2\\x6d\\x70\\xee\\x92\\x45\\x83\\x57\\x0d\\x99\\xff\\x18\\xf8\\x7a\\xa7\\xa5\\xa4\\x2e\\xdd\\xbe\\x6b\\x46\\x60\\x62\\x1a\\xa3\\x18\\x3a\\x78\\xc1\\x82\\xa7\\xba\\x8c\\x98\\xb6\\xea\\xc1\\x25\\x85\\x56\\x5a\\x9f\\x29\\x6d\\xdf\\x92\\xbe\\xcf\\x52\\xc2\\x1b\\x0e\\xbf\\x0a\\x69\\xcd\\x5a\\x81\\x71\\xc6\\xa8\\xda\\x4d\\x70\\x69\\xb1\\x57\\x0e\\xe4\\x42\\x64\\xa7\\x03\\xbb\\xbc\\x87\\x00\\x21\\x72\\x1d\\xe0\\x89\\xb6\\xb1\\xcf\\x8f\\x29\\x2f\\xda\\x74\\xdb\\xa8\\xcd\\xa9\\x49\\x7f\\x1a\\x5d\\xb3\\x79\\xf4\\xec\\x7b\\xd7\\xda\\x03\\x0d\\x3f\\x2c\\x9f\\xbc\\xb6\\xcf\\x8c\\x8d\\xf3\\x96\\x2c\\x5e\\x78\\xf7\\xc4\\xc0\\x2b\\x1b\\x8f\\x5c\\x94\\xfa\\x1d\\x7d\\xda\\xbe\\x66\\x3e\\x20\\xb8\\xd3\\xa0\\x58\\xbf\\x5a\\x45\\xb7\\xf6\\xd4\\xea\\xca\\x55\\xa0\\x42\\xce\\xdc\\xf1\\x91\\x89\\x55\\xba\\xc8\\x19\\xd9\\x79\\x24\\xa4\\xe2\\x54\\x6f\\x11\\xc2\\x42\\x19\\x28\\x97\\xf5\\x13\\xdf\\x1d\\x99\\x72\\x6c\\xeb\\xad\\x0b\\x80\\x61\\x4f\\xaf\\x14\\x77\\x6c\\xec\\x2f\\x4e\\xdb\\x3a\\x00\\xb8\\x57\\xa7\\x6c\\x84\\xa0\\xdc\\xa7\\x79\\x03\\xc5\\x33\\xdd\\x09\\x4f\\x38\\x89\\x6d\\x60\\x55\\x71\\x58\\xa7\\x73\\x5a\\x9c\\x1c\\x13\\x1b\\xa3\\x55\\x28\\x72\\x69\\x1c\\x41\\x23\\x61\\xe2\\x77\\xc6\\x97\\xe4\\x96\\x74\\xa6\\x17\\x9f\\x95\\xa2\\x9a\\x6e\\xbf\\x57\\x90\\xea\\x8d\\x5e\\xf1\\x01\\xdf\\x0e\\x7e\\x70\\xe6\\x84\\xdc\\x92\\x79\\xfe\\x2d\\x33\\x4a\\xba\\xad\\x1c\\x9a\\x95\\xc3\\xae\\x9d\\x7c\\x62\\xcb\\x81\\xed\\x4b\\xd7\\x2c\\x59\\xf2\\x98\\x5a\\xe4\\x97\\xef\\x28\\xca\\x19\\xb2\\xc0\\x2c\\xad\\x61\\xbe\\xc8\\xfe\\xc8\\xde\\x85\\xe2\\x90\\x0b\\x55\\xf9\\x0b\\x13\\x34\\x1a\\x14\\xaf\\xd7\\xc7\\x58\\x63\\x04\\xc4\\x26\\xb9\\x75\\xf1\\x81\\x78\\xe8\\x1b\\x0f\\xf1\\xda\\x84\\xa2\\x04\\x48\\x49\\xa0\\xe6\\x0f\\x93\\x00\\x8a\\x84\\x38\\x57\\xec\\xe8\\x58\\x88\\x4d\\x8c\\x73\\x98\\x54\\xac\\xb4\\xf8\\x86\\x74\\x3f\\x24\\x3d\\x32\\x21\\x3c\\x95\\x7d\\x43\\x00\\x08\\xaa\\x4e\\xc2\\x8b\\x87\\x29\\x8c\\x46\\xae\\x1d\\x62\\x3b\\xb9\\x4b\\x81\\x94\\x42\\x8e\\xfd\\xb1\\x68\\xf9\\xc0\\x92\\x92\\x65\\x43\\xf3\\x32\\x42\\x9f\\x6c\\x9c\\x5f\\xd2\\x6d\\xc5\\xb0\\xec\\x6c\\x7c\\x3c\\x74\\x3f\\x4e\\x0d\\x7d\\x02\\xfd\\x86\\xce\\xad\\x2c\\xca\\x1d\\x3e\\xdb\\x04\\xaf\\x6d\\x13\\x17\\x2d\\x7c\\xb8\\x30\\x7b\\xf0\\x12\\xc6\\x8c\\x7f\\x3a\\x2c\\x4e\\xdd\\xb6\\x70\\x27\\x61\\xaa\\xbc\\xb6\\x18\\xe6\\x03\\xee\\x1d\\x69\\x3e\\x73\\xb6\\xbf\\xc8\\x91\\x68\\xe2\\x79\\xbd\\x5a\\x88\\xb1\\x61\\x1c\\x67\\x66\\x04\\x06\\x69\\x95\\x48\\xe9\\x76\\x69\\x35\\xc4\\xb6\\x31\\xd8\\x18\\xa5\\x42\\x91\\xc8\\xc6\\x68\\x4c\\xf1\\xb6\\xc4\\x18\\x93\\xcd\\x66\\x8a\\x49\\x64\\xad\\x82\\x95\\x92\\xbe\\x6c\\xe6\\x47\\x00\\x27\\x16\\x84\\xe1\\x8d\\x7c\\xc3\\x39\\xc3\\xb9\\x4e\\x86\\x84\\xaf\\x23\\xc6\\x1b\\x15\\x46\\x02\\xf5\\x51\\x27\\x87\\x50\\x58\\x2c\\x1d\\x3e\\x63\\x0a\\x39\\x8a\\xad\\x82\\xb1\\x98\\x23\\x3f\\x30\\x1f\\x7c\\x50\\x2d\\xbe\\x5e\\xfd\\x01\\xf9\\x54\\x43\\x2f\\x7a\\x16\\xdf\\x15\\x5f\\x87\\x5d\\x13\\xc9\\x97\\x7d\\x07\\x51\\x9a\\xa5\\xc1\\xc3\\x41\\xf8\\x66\\xfc\\xe1\\xf1\\x50\\x22\\xfe\\x7d\\x0b\\xcc\\x14\\x8f\\x4f\\x3c\\x3c\\x51\\x8c\\x9b\\xb8\\x11\\xbe\\xdc\\x22\\x3a\\x24\\x3a\\x21\\xa4\\xcd\\xee\\xe1\\xd6\\x22\\x2b\\xaa\\xf1\\x77\\xb1\\x1a\\x8d\\x7a\\x1a\\xa7\\x8c\\xa8\\x76\\x8d\\x06\\xcc\\x7a\\xad\\x9e\\xd8\\x63\\x56\\x2b\\x8b\\x68\\xe0\\x04\\x0d\\x0d\\x27\\xae\\x36\\x1a\\x15\\x26\\x93\\x1e\\x33\\x7a\\x4d\\x55\\x50\\x6f\\x6a\\x8f\\x52\\x21\\x09\\xfe\\x12\\x39\\x32\\x99\\x31\\x3a\\xa4\\x51\\x24\\x84\\xbc\\x31\\x1c\\x98\\x2e\\x6a\\x0f\\x89\\x70\\x4c\\x3a\\xd5\\x46\\xf0\\xc2\\x0c\\x71\\x1b\\x3d\\xf0\\x77\\x2d\\x3f\\x6e\\xdc\\xb8\\x91\\x69\\x86\\xbb\\xc4\\xa5\\x27\\x5e\\x3c\\x71\\xf9\\x4b\\x78\\xf9\\xc4\\x8b\\x14\\x4e\\x0b\\x29\\x3c\\x85\\xb4\\x83\\x19\\xdd\\xea\\xcf\\x30\\x53\\x28\\x35\\x7a\\x30\\x6a\\xb5\\x14\\x52\\x42\\xaf\\x66\\x64\\x1e\\x16\\x24\\x70\\x6a\\xb1\\x5a\\x6f\\xd0\\x0f\\x0b\\x2a\\x0c\\x06\\x2d\\x06\\xad\\x15\\x95\\x96\\xca\\x4b\\xce\\x91\\x1c\\x3a\\xad\\xd3\\x2e\\x8a\\x1d\\x41\\x97\\x22\\xe1\\x39\\x23\\xd1\\xcc\\x65\\xc8\\x2c\\xcb\\xc1\\xb9\\x92\\x7c\\xc4\\xaf\\x97\\x2f\\x5f\\x4e\\x60\\xfa\\x40\\xcc\\x21\\x30\\x89\\x7d\\xc3\\x30\\xb5\\xfd\\x1c\\xc6\\x5d\\x0c\\xb1\\x9c\\x1c\\x76\\xac\\xd2\\xb3\\x26\\x00\\x16\\xb3\\x71\\xb1\\x36\\x9b\\x41\\xa5\\x62\\x0d\\x1c\\xaf\\xe7\\xa5\\x20\\x94\\x7a\\x3d\\x6b\\x30\\x21\\x3a\\x39\\xac\\x0d\\x9a\\x4d\\x26\\xd6\\xc0\\xb0\\x50\\x15\\x64\\xa3\\xf0\\xd7\\xbe\\x5a\\x2f\\x0c\\x68\\xa7\\x08\\xec\\x3e\\xd9\\x59\\x47\\x76\\xc6\\x92\\xb7\\x79\\xef\\x4e\\x57\\x69\\xcb\\xfb\\xbc\\x83\\x07\\x23\\xbc\\xa7\\xb5\\x50\\x91\\xe1\\xe5\\x36\\x2a\\xb2\\x46\\x0d\\x32\\x81\\x57\\x91\\x96\\xa3\\xbd\\x4b\\x98\\x3b\\x15\\x8f\\x11\\xef\\xf9\\x12\\x5f\\xcc\\x1f\\xb8\\xaa\\xb6\\x14\\xe3\\xd0\\xba\\xfc\\x81\\x8f\\xca\\x31\\xac\\x68\\xac\\x3a\\x03\\x81\\x5d\\x4f\\xb8\\x74\\x9c\\x3f\\xcf\\x69\\xd5\\xe8\\x35\\x40\\xd4\\x96\\xd6\\xce\\x33\\x09\\xf1\\x0e\\xbd\\xde\\xca\\xc8\\x91\\xe9\\x08\\x46\\x9d\\x55\\x41\\xa4\\x26\\x37\\x6a\\x35\\xd6\\x9a\\xb0\\xa5\\x23\\x30\\x5d\\x7b\\x78\\x12\\x14\\x89\\x4a\\x17\\xc5\\x9f\\x61\\x7b\\xcf\\xe8\\x93\\xa3\\x42\\x47\\xc2\\x10\\x52\\x3b\\x2f\\xdc\\xfe\\xf9\\x45\\x1b\\xf1\\xd2\\x10\\x18\\x57\\x7e\\xfd\\x18\\x0d\\x3c\\xb8\\x91\\xf9\\x7a\\xdd\\x3a\\xf1\\x3c\\x08\\xe2\\xbf\\xa1\\x64\\xf1\\x5d\\x6c\\x12\\x54\\x7d\\x7b\\x71\\xe3\\x47\\x0b\\x44\\x03\\x33\\x6a\\xea\\xcc\\x45\\xab\\xcf\\x6e\\x5c\\x2e\\xf7\\x2d\\x36\\x8a\\xa3\\xb8\\x47\\x39\\x6a\\xbf\\xb8\\xd0\\x08\\x7f\\x96\\x12\\xec\\x8c\\x45\\x1f\\xcf\\x30\\xc4\\x6a\\x71\\x3a\\x2c\\x16\\x7d\\x92\\x3b\\x1e\\x57\\x05\\xe3\\xe3\\x91\\x41\\xa3\\xa8\\x0e\\x6a\\x78\\x72\\x20\\x93\\x21\\xae\\x2a\\x68\\x08\\xc3\\x1d\\x1d\\x76\\xb2\\x23\\x7e\\x8e\\x31\\xbc\\x67\\x25\\x0d\\x65\\x6d\\x09\\x2f\\x5e\\x95\\xa2\\x87\\x5f\\x1f\\xd5\\x5a\\x0e\\x57\\x5d\\xd8\\x33\\xa1\\x5f\\xf2\\x32\\xcf\\xfe\\xba\\x9b\\x44\\xad\\xc6\\xf6\\xd0\\x99\\x61\\x43\\xb4\\x5f\\x29\\x34\\xcf\\xbf\\xc9\\xd5\\x77\\x8a\\x4c\\x8d\\x58\\xd4\\x43\\x1c\\xc5\\xae\\x21\\xb4\\x9c\\x89\\xba\\x10\\x8b\\xa5\\x27\\x3a\\xe4\\xcf\\x41\\x85\\x45\\x46\\x0b\\x97\\x69\\x32\\x9b\\x1d\\xa9\\x3d\\xb3\\xb2\\xe2\\x1d\\x19\\x99\\x99\\x8c\\x5a\\xa3\\xc9\\x67\\x1c\\x4c\\x69\\x2f\\xb5\\xda\\x92\\x93\\x63\\x89\\x8f\\xb7\\xa4\\x7a\\xbd\\x1e\\x8b\\x40\\x83\\xd4\\x1f\\x0d\\xf6\\x10\\x84\\x22\\xea\\x93\\x90\\x18\\x14\\x04\\x8f\\xc5\\x04\\x99\\xb1\\x7a\\x83\\x51\\x31\\x22\\x68\\x34\\x58\\xba\\x57\\x04\\x2d\\x7a\\x54\\x58\\x11\\x44\\x36\\x4f\\x2c\\x79\\xe7\\x70\\xd0\\x63\\x8b\\x0a\\x58\\x15\\x71\\x81\\x96\\x36\\x0b\\x8b\\x0a\\x3a\\x77\\x43\\xf0\\x7f\\x5f\\x54\\xa0\\x1d\\x5f\\xfb\\x1a\\x57\\x4e\\xd6\\xd2\\x3e\\x73\\x38\\xee\\x1e\\xdd\\x16\\x81\\xa1\\x4b\\x9f\\xc3\\x48\\x63\\x68\\xc8\\x6f\\x62\\xf1\\x32\\x1e\\xf0\\x30\\xa4\\x4b\\xc9\\x59\\x6c\\x76\\xb3\\x8e\\x74\\x46\\xbc\\x82\\x0f\\xaa\\x36\\x3e\\xf4\\xe1\\x25\\x7d\\x8f\\xa1\\x03\\x95\\xe2\\x95\\xd8\\xef\\xcf\\xda\\x84\\x51\\x4f\\x8e\\x5f\\xb0\\x32\\x3d\\xcf\\x95\\xe0\\x4c\\x4b\\xcb\\x4e\\x98\\x7e\\x9b\\x8a\\xaf\\xdc\\x5a\\xf5\\x24\\x9c\\x0b\\xf6\\xef\\x1f\\x14\\xef\\x4c\\x72\\xfa\\xbb\\xfb\\x61\\xb9\\x21\\xb5\\xc8\\xa4\\xde\\xbb\\xe5\\xa9\\xe7\\x39\\xd0\\x0c\\x18\\xa1\\x7b\\x7c\\x37\\xc0\\x6a\\x71\\x4a\\x6a\\xc3\\xbd\\xe2\\xa2\\xb1\\xb7\\xf0\\x3b\\x79\\x15\\xcf\\xd6\\xde\\xb6\\x33\\x4b\\x1c\\xc3\\x3c\\x26\\x9e\\x89\\xfd\\xd3\\xa8\\x25\\xd9\\xbd\\x75\\x10\\xa7\\x1b\\x0e\\xfe\\x5b\\x72\\x0e\\x48\\x3e\\xb4\\x27\\xc5\\x51\\xcc\\x25\\x82\\x73\\x27\\xa1\\xf7\\xa9\\xfe\\x02\\x83\\xd1\\x68\\xb7\\x9b\\x18\\x96\\x55\\x2a\\xd5\\x82\\x2e\\xc6\\x64\\x12\\x84\\x84\\xf8\\x98\\x18\\x6c\\xb7\\x63\\x8d\\x46\\x65\\xc0\\x56\\x03\\xb0\\xb1\\x71\\x4a\\x95\\x72\\x58\\x50\\xa7\\xd2\\x23\\xeb\\xb0\\xf6\\xf8\\x4b\\x11\\x5f\\xce\\xe8\\x9d\\xd6\\xc2\\xa1\\x40\\x7c\\x51\\x18\\x93\\xc3\\x31\\x79\\x19\\x8f\\x59\\x0a\\x3f\\x2f\\x45\\x9c\\x37\\xfb\\x40\\x5e\\xfd\\xcc\\x33\\xc5\\x1e\\xd8\\x73\\x4b\\xc1\\x9b\\x4f\\xfe\\xee\\xdc\\xb8\\x63\\xf4\\xf3\\xaf\\x1f\\x7f\\x32\\xf4\\x67\\xb6\\x47\\x77\\x77\\xcf\\xda\\xb9\\x33\\x66\\x98\\xac\\x62\\x25\\x8e\\xe9\\x7a\\x2b\\x5e\\xf5\\x0a\\x31\\x87\\x1f\\x68\\xa9\\xed\\xe7\\xd7\\x1d\\x4a\\xc2\\x7b\\xbf\\xa1\\x72\\x70\\xa3\\x58\\xcb\\xed\\x96\\xf8\\x76\\xa0\\x3f\\x59\\xc1\\xb2\\x1c\\x5d\\xd0\\xa0\\xd1\\xeb\\x75\\x9c\\xce\\x60\\xd4\\x83\\x82\\xa9\\x0e\\x2a\\x14\\x40\\x8c\\x09\\xce\\x04\\x9a\\xea\\x20\\x84\\x45\\x8c\\x14\\x43\\x52\\x8e\\x70\\x7b\\xfd\\x26\\x4e\\x74\\x38\\x2f\\x6a\\x5f\\x53\\x9f\\xd1\\xc3\\xee\\x7b\\x20\\xf4\\x90\\x78\\x19\\xbc\\x78\\x0a\\x78\\x6f\\x6b\\xc6\\xe3\\x42\\x44\\xca\\x85\\xce\\xe3\\x2e\\x2d\\xf3\\x43\\x0b\\x08\\x0c\\x9b\\xc5\\x5a\\x56\\xc6\\xe5\\x20\\x7f\\x0a\\xd8\\x6c\\x0e\\x9d\\x46\\xa1\\x50\\x3a\\x1d\\x0e\\x65\\x6c\\x8c\\x5e\\xa7\\x33\\x39\\x41\\x05\\x4a\\xab\\x89\\xad\\x08\\x9a\\x0c\\x60\\x1b\\xd6\\x1e\\xcd\\x48\\x02\\xc4\\x70\\x4a\\xda\\x21\\xad\\x53\\xbc\\xec\\x30\\x10\\x91\\x1d\\x37\\x08\\xfb\\x09\\x91\\xbd\\x99\\xe8\\x92\\x84\\xaf\\x1e\\x3a\\x31\\x85\\x08\\x61\\x70\\x2a\\xd8\\x92\\x67\\x17\\x3f\\xdb\\x34\\xff\\x1f\\x78\\x02\\xc4\\x3f\\xb7\\x31\\xf4\\x32\\xf7\\x8e\\x38\\x63\\x66\\xed\\x8a\\x39\\x1f\\xbe\\x23\\x1a\\x42\\x07\\x22\\xf8\\xa9\\x97\\xf0\\x33\\xc2\\x9f\\xa6\\xa6\\xbb\\x0f\\xaa\\x74\\x04\\x41\\x3a\\x8a\\x2a\\x02\\x1b\\x67\\x34\\x10\\xf4\\x60\\xcc\\xeb\\x41\\x79\\x23\\x8e\\x24\\xd8\\x3a\\x4b\\xde\\xc8\\x9f\\x14\\x6f\\xc6\\xed\\x01\\x41\\x82\\x0f\\xdc\\x4a\\xea\\x3e\\xcf\\xbe\\x38\\x49\\xe4\\x0f\\x49\\x98\\x5a\\x0e\\xa3\\x43\\x7b\\xe1\\xf4\\x9b\\xcd\\xf8\\xae\\x3b\\x43\\x22\\x41\\xd7\\x5a\\xbc\\x3a\\xf4\\x6c\\xe8\\x74\\x28\\x1c\\x27\\x93\\xe2\\x6c\\x16\\xc1\\x99\\x1e\\x8d\\xf1\\x3b\\x29\\x40\\x61\\xd8\\x3a\\xe0\\x22\\x8d\\x87\\x29\\x3f\\x1b\\x69\\x03\\x2a\\x79\\x50\\xea\\x39\\x2b\\x68\\x3a\\xb0\\x17\\x66\\xd7\\x9b\\xb4\\x61\\xfb\\x5e\\x3c\\xd7\\xc3\\xc7\\xac\\xec\\x2e\\x5e\\x5d\\x4a\\x31\\x07\\x77\\x40\\x8e\\xb8\\x1e\\x3c\\xb3\\xff\\x01\\xdf\\x55\\x8a\\xd3\\xb9\\x77\\x5a\\x0f\\xc1\\x6b\\xe2\\x18\\x31\\x83\\x62\\x8d\\xc2\\xd7\\x93\\xc0\\xb7\\x4f\\x8a\\xeb\\x51\\xe8\\x8f\\x55\\x31\\x84\\xac\\x10\\xc3\\x2b\\x11\\xab\\xd5\\x00\\x23\\xf0\\x55\\x41\\x81\\x61\\x54\\x55\\x41\\xc6\\xd4\\xde\\x92\\x12\\x14\\x51\\x86\\xa3\\xb4\\x42\\x8b\\x46\\xf2\\x03\\x37\\xbb\\xaf\\xb9\\x75\\x33\\x6e\\x0e\\x8d\\x60\\x7e\\x0d\\xf1\\x8c\\x47\\xac\\x85\\x9d\\xef\\x33\\x67\\xbe\\x3e\\xd7\\xea\\x93\\xcb\\xea\\x27\\xd6\\x32\\xa7\\xd9\\x6e\\x74\\x15\\x85\\x3f\\x51\\xad\\xa2\\x03\\xce\\xc0\\x0a\\x2a\\x52\\x96\\x1a\\x04\\xd2\\xd3\\xa9\\x08\\x72\\x7a\\xba\\x61\\x76\\x38\\x0e\\x56\\xd8\\xa5\\x9b\\x7c\\x5f\\x57\\x66\\x3a\\x44\\x4a\\x34\\x7a\\xf0\\x47\\xa1\\x59\\x38\\x4e\\xd4\\x32\\xe9\\xa1\\xaf\\xf1\\xa0\\x7f\\x9c\\xc6\\xfb\\xce\\x9e\\x09\\x8d\\xa3\\xa3\\xea\\x58\\xda\\x23\\x69\\x95\\x14\\xeb\\x2f\\x0e\\xf9\\xfd\\xae\\x18\\x62\\x2d\\x20\\xbd\\x9e\\x30\\xbc\\x46\\xa3\\x05\\x40\\x5a\\x06\\x99\\x54\\xf6\\xaa\\xa0\\x8a\\x65\\x0c\\xa4\\x8a\\x51\\xa1\\xfd\\x4a\\x6f\\x20\\x07\\x1a\\xac\\x90\\x97\\xe2\\xf9\\x19\\x90\\x3b\\xdf\\x5e\\x4c\\x2c\\x32\\xa2\\x83\\xa5\\xf0\\x6a\\x52\\x48\\xbf\\xda\\xc7\\x2f\\xbe\\x2b\\xbe\\xb7\\x1b\\x96\\xc1\\x90\\x2b\\x7b\\xf6\\xf8\\x43\\x4b\\x67\\x36\\xf6\\xe8\\xb9\\x6f\\xd4\\x1b\\x9f\\xbc\\x3b\\xfc\\xb6\\xe7\\xa1\\xff\\x15\\xb8\\x15\\xd6\\x4f\\x1a\\xda\\xbc\\xfa\\x2d\\x5f\\x2e\\x93\\x99\\x93\\x29\\x36\\x7f\\xff\\x17\\xf1\\x6f\\x14\\x27\\x0a\\xa2\\x8f\\x93\\xd9\\xa1\\xc4\\x0e\\xa3\\x2b\\xdf\\x15\\x5a\\x95\\x52\\xab\\xb4\\xda\\xac\\x76\\x84\\x14\\x4a\\xbd\\x99\\xa9\\x08\\x9a\\x0d\\x0a\\x6d\\x45\\x50\\x11\\xc5\\x4a\\x26\\x39\\x52\\x72\\xb8\\xf5\\xa5\\x4e\\xb7\\x14\\x1d\\x9d\\x0e\\xc4\\x9b\\x6d\\xf6\\x52\\x90\\xe2\\x54\\xdb\\xd9\\xd7\\x9c\\xe9\\xf1\\x69\\x5d\\x2c\\xe2\\xd7\\xe2\\xf3\\xe2\\x4a\\x48\\x7f\\x59\\xdf\\x35\\x29\\x6d\\x69\\x46\\xdd\\xdc\\x65\\x1b\\x98\\xee\\x26\\x63\\x7a\\xd7\\x10\\xc3\\x76\\x0b\\x3d\\x99\\xff\\xd6\\xa2\\xb5\\xb0\\x78\\xed\\x8a\\x4a\\xb9\\x8d\\x88\\x85\\xa0\\xa8\\x25\\x38\\x4b\\x44\\xc3\\xfc\\xe9\\x2a\\x65\\xac\\xc3\\xae\\x35\\x1a\\xac\\xc4\\x76\\xb1\\x6a\\x63\\x59\\xec\\xc2\\xee\\x58\\xab\\x96\\x61\\xb4\\x56\\xc6\\x48\\xc4\\xa8\\x8a\\xe8\\x0f\\xae\\xba\\x23\\xd8\\x5e\\x69\\x78\\xe6\\x57\\x9a\\xa9\\x35\\xd9\\xa3\\x84\\xa3\\x14\\xe4\\xdf\\x2e\\x85\\xbf\\x26\\x70\\x32\\xa9\\x5e\\xa2\\x26\\x08\\xb8\\x26\\x7b\\xac\\x04\\x33\\x0d\\xad\\x2d\\xd4\\xde\\xb1\\x6a\\x72\\x97\\x9c\\x5c\\x9f\\x41\\xfc\\x41\\xdc\\xfd\\x6a\\xac\\xcb\\x9a\\xfe\\x0a\\x31\\x0f\\xb6\\x41\\xe6\\x97\\xb6\\x7e\\xc7\\x61\\xd0\\xe1\\xf8\\x8c\\xd8\\xa7\\x92\\x76\\x72\\xdb\\x87\\xbd\\xe1\\x29\\xe9\\xd1\\x72\\x9e\\xc9\\xbd\\xfd\\xb5\\x95\\xcf\\xb5\\xbe\\xcf\\xad\\x6d\\x55\\xcc\\x83\\x32\\x26\\x29\\x64\\xba\\xf3\\xb7\\x05\\xf8\\xef\\x0f\\xdf\\x41\\x6d\\xb4\\x66\\xba\\xdf\\x33\\xc1\\x6b\\x22\\x6d\\x79\\x15\\x6b\\x64\\x1c\\x0a\\x87\\x5b\\xe1\\x72\\x3a\\xb5\\x46\\x95\\x4a\\xd0\\x2a\\xf4\\x20\\x58\\xe3\\x58\\x2d\\x3b\\x2c\\x68\\xd3\\x1a\\x3a\\x1c\\xf6\\x25\\x5e\\xf3\\x85\\x63\\x51\\x87\\xed\\x82\\x74\\x20\\xf0\\x4a\\xe0\\x9a\\x09\\x6e\\x23\\xe0\\xd2\\x71\\x00\\x19\\xef\\x9c\\x5b\\xbc\\xf4\\xac\\xc6\\x53\\x70\\x48\\xbc\\x24\\x7e\\x03\\x8a\\xc3\\x3a\\xe7\\x01\\xc8\\xde\\xab\\x8b\\xd5\\x2d\\x4a\\x58\\x4f\\x90\\x3d\\x99\\x36\\x43\\x91\\x1e\\x6f\\xcd\\x7e\\xe1\\x8b\\xd0\\x2c\\xb6\\x5b\\xeb\\x9b\\x83\\x16\\xe2\\x15\\xa1\\xf5\\x05\\x9b\\xfa\\x63\\xcd\\xfa\\xa5\\x95\\xaf\\x9a\\x8c\\x69\\x25\\x92\\x7d\\xe3\\x21\\x76\\xe5\\x74\\x02\\xb3\\x93\\x5c\\xcd\\xf6\\x3b\\x92\\xd4\\x36\\x21\\x51\\xab\\x8d\\x51\\x31\\xac\\xd2\\x1c\\x23\\x28\\x09\\x57\\x32\\x29\\xc9\\x49\\x36\\x2a\\x2c\\xd4\\xc1\\xa4\\x24\\x9e\\x51\\x29\\x86\\x05\\xe9\\x72\\x3a\\x7d\\x63\\x90\\xee\\xd5\\xac\\x37\\xc4\\xd1\\xdf\\x94\\x41\\x83\\x41\\x8a\\x3b\\xda\\x99\\x66\\xa2\\x6d\\x9f\\x30\\x2f\\x99\\x3a\\x78\\x8a\\x28\\x74\\x33\\xa9\\x21\\x23\\x78\\x8b\\x3b\\xfa\\xe0\\xbc\\x60\\xb7\\xd9\\x99\\x82\\x70\\x78\\xed\\x22\\x5c\\xa8\\xea\\x75\\x1a\\x52\\xc5\\xb9\\xe2\\xf3\\x87\\x97\\xf6\\x5c\\xa5\\x4a\\xdc\\xb2\\x76\\xfa\\xda\\xca\\x9a\\xac\\x98\\x84\\xa1\\xf9\\x71\\xb1\\x3a\\x43\\xf9\\xb5\\xf4\\x77\\x71\\x75\\xcb\\x29\\xf8\\x29\\xfb\\xb1\\x8c\\x84\\x40\\xc5\\xa2\\x8d\\xcb\\xa6\\x8c\\x5f\\x53\\xbc\\x72\\xd8\\x7c\\x3c\\xb0\\x2c\\x25\\x3e\\x21\\x23\\xb7\\x8b\\x44\\x63\\x1b\\x49\\x3d\\x6d\\x52\\x5c\\x22\\xaf\\xdf\\xcc\\x63\\x62\\x55\\x92\\xfe\\x13\\x0f\\xd5\\x41\\x9e\\x67\\x58\\x86\\xca\\x9a\\x70\\x6c\\xa0\\x4e\\x53\\x79\\xf4\\x8f\\xb5\\x45\\x14\\x54\\x44\\x39\\x49\\x32\\x16\\x21\\x26\\x8b\\xc8\\x15\\x29\\x3f\\xe0\\x38\\x1e\\xf3\\x4a\\x05\\x90\\xa6\\x05\\xe0\\x05\\x3d\\x6f\\xbd\\x49\\x7e\\xf2\\xae\\xd5\\x46\\xd8\\x0f\\xeb\\xc4\\x95\\xe2\\x57\\x6c\\x37\\xb1\\xf2\\x55\\xb1\\x0b\\xc9\\x83\\xb6\\xc3\\x50\\x22\\x37\\x66\\x92\\x76\\x50\\x92\\x76\\x28\\xf1\\xc7\\xc7\\x0b\\x1e\\x97\\x03\\x99\\x1c\\x1e\\x13\\x41\\x7f\\x9c\\x41\\xcf\\x0c\\x0b\\xea\\x0d\\x82\\xc7\\xea\\x19\\x16\\xb4\\xda\\xda\\xe5\\x14\\x5d\\xcd\\x17\\x15\\xe3\\x94\\x94\\x11\\x8e\\x07\\xd3\\x8b\\x58\\x40\\x74\\x83\\x34\\x93\\x95\\xee\\x88\\x86\\xa4\\x88\\x31\\x56\\x69\\x34\\xcc\\xce\\x4e\\x28\\x1b\\xd6\\xad\\x68\\xd9\\x7d\\x22\\x9f\\x39\\x62\\xe5\\x98\\x73\\xdf\\x88\\x87\\xc4\\xd7\\xc5\\x93\\xe2\\xa1\\x99\\xe7\\xee\\xad\\xac\\xf9\\xd3\\x62\\xdc\\x6b\\xdf\\x81\\x41\\x81\\xd0\\x4b\\xc2\\x17\\x30\\x72\\xc1\\xf2\\x21\\x59\\xe2\\xb5\\x5f\\xc4\\x6b\\xe2\\x59\\xc8\\x83\\xc4\\x87\\xff\\xb1\\xe1\\xa2\\x66\\xdf\\x86\\xe7\\x3e\\xe3\\x08\\xbc\\x15\\x68\\x08\\x1e\\xcd\\x7c\\x2a\\xcd\\x89\\x26\\xfb\\xf5\\x2c\\x12\\x30\\x46\\x04\\xa3\\x88\\x47\\x98\\xc5\\x91\\xf1\\x97\\xe8\\x19\\xb7\\xc2\\x14\\x2b\\x90\\xa3\\x02\\x2b\\x42\\xbf\\x63\\x05\\xce\\xfa\\xe7\\x4b\\xff\\x0c\\xdd\\x46\\xbe\\xe4\\xf5\\x6e\\xa5\\xcc\\x8b\\xe8\\x64\\x78\\x1f\\x5a\\xdd\\x51\\x8e\\xb4\\x0a\\x90\\x6e\\x39\\xe1\\x0b\\x69\\xff\\x51\\x1f\\xdd\\xa3\\xe4\\xe4\\x3d\\xf7\\x7c\\xf6\\xf4\\xd3\\xcc\\x8b\\xd8\\x28\\xee\\x7f\\x84\\xa6\\x39\\xc8\\xfc\\x0a\\x7b\\xb9\\x73\\xe1\\x34\\x54\\xd3\\xb2\\x1d\\x69\\x0a\\x7d\\x8c\\x17\\xec\\x95\\x4f\\x3f\\x9d\\x5a\\x03\\x4b\\x6a\\xb8\\xbc\\x47\\xc4\\x8c\\x89\\xb0\\x70\\x12\\x49\\x27\\xfe\\xce\\x8e\\x05\\x65\\xb8\\x2c\\xcd\\x11\\xaa\\x73\\x50\\xae\\xef\\x9d\\x7c\\x39\\x95\\xdd\\xea\\x2e\\x24\\xa9\\xea\\x43\\x3f\\x92\\x34\\x7f\\x5b\\xbf\\x1e\\x41\\xf8\\xfd\\xe3\\x88\\x43\\xaa\\xc3\\x34\\xec\\x12\\x79\\x59\\x5e\\xab\\x59\\xe8\\x03\\x65\\xe8\\x47\\xd8\\xb4\\x81\\x1d\\xbb\\xfe\\x8a\\x2c\\xcb\\x1e\\x64\\x42\\xcc\\x54\\xa1\\x1f\\x69\\x47\\x97\\x5f\\x47\\xa9\\x8c\\x63\\x54\\x6a\\x42\\x1f\\x0a\\x46\\x11\\xd9\\xb0\\x35\\x32\\xb6\\x03\\xf2\\x38\\x25\\xf8\\x80\\x99\\x2a\\x7e\\xf7\\x84\\xf8\\x2d\\x8c\\x48\\x86\\xd1\\xdc\\x67\\xa2\\x0b\\xbe\\x88\\x83\\x72\\xf1\\xe8\\x0d\\xf9\\x29\\x38\\xc4\\x11\\xdd\\xa8\\x26\\x8a\\x5c\\xc0\\xc2\\xf5\\xf9\\xd1\\x40\\x93\\xf2\\xe2\\x1e\\x92\\xdf\\xbe\\x64\\xf1\\x10\\xd8\\x9f\\x00\\x1b\\x37\\x50\\x3c\\x0a\\xe5\\x71\\x34\\x04\\x1b\\xa5\\xb3\\xd7\\x99\\xbd\\xf0\\x8d\\xf0\\x4e\\xa4\\xdd\\x04\\x06\\xb3\\x84\\xd5\\x15\\x1c\\x70\\x40\\xf8\\xe0\\x26\\xed\\x46\\xec\\x6a\\xb7\\xb4\\x85\\xef\\x5b\\x5f\\xb9\\x08\\x1f\\x7e\\x02\\x2e\\xae\\x02\\xaf\\x68\\xf9\\x04\\x74\\xe2\\xcf\\x37\\xe6\\xc7\\x03\\x70\\x54\\x8d\\x60\\xc2\\x0f\\xac\\xb4\\xc3\\x6d\\x7b\\x7e\\x91\\x59\\x42\\xb7\\xd9\\x27\\x6d\\x0d\\xfc\\x8d\\xf8\\x89\\xeb\\xab\\x18\\xf1\\x0b\\x66\\x2f\\x5e\\x01\\x07\\xc4\\x9f\\x41\\x27\\xc1\\x07\\x24\\x3f\\xee\\x7f\\x92\\x1f\\x44\\xe5\\x07\\xe2\\x1e\\xd2\\x76\\x05\\xa4\\xed\\x94\\xc8\\xd2\\xc8\\x71\\x4a\\x46\\x10\\x40\\x0a\\x66\\x27\\x0d\\x21\\x48\\xab\\xe5\\xc3\\x2e\\x2b\\xe2\\x1e\\x7c\\xff\\xb5\\x0d\\x4f\\x6c\\xe0\\x8e\\xaf\\x3f\\x7d\\x5a\\x5a\\x5f\\x23\\xee\\x21\\x5f\\x05\\x50\\x25\\xa5\\x65\\x59\\x0c\\x44\\x6c\\x28\\xa5\\x4d\\x87\\xcf\\xc9\\x69\\xc3\\xae\\x2d\\x56\\xb7\\xb8\\x87\\x24\\xbc\\x16\\x9a\\x03\\x55\\x57\\x4e\\x9f\\x5e\\x2f\\xad\\x97\\xfa\\x5d\\xbc\\x1d\\xbf\\xd0\\xb6\\x85\\xb0\\x43\\x9c\\x5f\\x8d\\x11\\x0d\\xf5\\x22\\xb0\\x80\\x29\\xa5\\x9d\\xcb\\x0f\\x0b\\x7a\\xda\\xcf\\xf6\\x78\\x05\\x8f\\xd9\\x87\\x5f\\xf8\\xcb\\xaa\\x45\\xd7\\x42\\xaf\\x8b\\xb7\\x6f\\xdb\\x06\\x5e\\x8a\\x87\\x37\\x41\\x07\\x7f\\x25\\xb2\\x81\\xe2\\x21\\xc9\\xaf\\x43\\x2c\\x4b\\x40\\x57\\x28\\x09\\x01\\x10\\xfe\\x0a\\x4f\\x80\\x44\\x07\\x6a\\xea\\xbc\\xc9\\x32\\xe3\\xa2\\x1b\\x2a\\x87\\xfe\\x2e\\x6d\\xa8\\x2c\\xc9\\x97\\x5b\\x49\\xcf\\xfd\\x34\\x9b\\x1e\\xf1\\x61\\x10\\x30\\x8d\\xf5\\xa3\\x54\\x20\\xcc\\xb1\\x12\\xf1\\x77\\xe2\\x54\\x79\\xbd\\xde\\xad\\x78\\x5e\\xe8\\x4f\\x78\\x1e\\x33\\xe8\\xea\\xff\\x47\\xdc\\x7b\\x00\\x46\\x55\\x7c\\x7d\\xa0\\x73\\xa6\\xdc\\x7b\\xd3\\x3b\\x21\\x40\\x42\\x20\\xf4\\x40\\x02\\x09\\x11\\x82\\x40\\x02\\x44\\x7a\\x93\\xde\\x02\\x84\\x14\\x12\\x4a\\x12\\x92\\xd0\\x44\\x9a\\x35\\x8a\\x8a\\x62\\x43\\x51\\x41\\xec\\x5d\\x14\\x15\\xbb\\x20\\x08\\x0a\\x88\\x74\\x14\\x01\\x15\\x10\\xfd\\x0b\\x22\\x55\\x81\\xe4\\xee\\x3b\\x73\\x76\\x37\\xd9\\x85\\x60\\xfd\\xde\\x7b\\x84\\x9c\\xcc\\xce\\xce\\xfc\\xe6\\xb4\\x99\\x39\\x73\\xef\\xdc\\xb9\\x87\\x2a\\xbf\\x3e\\xe0\\x3c\\xdb\\x83\\x8d\\x87\\x1d\\x70\\x9b\\xf3\\xdd\\xd2\\x6f\\x0b\\xce\\x9d\\x1b\\x18\\xb6\\xba\\xcf\\x2c\\x23\\x67\\xc9\\xd3\\x8e\\x02\\x3b\\xc4\\x6b\\xba\\x7c\\x96\\x48\\xc3\\xf2\\xda\\x9e\\xe1\\xef\\x50\\x79\\xc0\\x0e\\x94\\xe6\\x5d\\x21\\xe7\\xbb\\x38\\x68\\x2c\\xd2\\xf8\\xdd\\x58\\x4a\\xcf\\x47\\x83\\x5c\\xf6\\x8f\\x66\\xa3\\xd3\\x93\\x84\\x34\\x23\\xa2\\xeb\\xfa\\xf8\\x07\\xfa\\x32\\xe9\\x6b\\xc6\\xd4\\x0f\\x8d\\xbc\\x7e\\x64\\x28\\xd3\\xef\\x59\\x1c\\x30\\xb2\\xae\\x0a\\x08\\xf2\\x95\\x11\\xc0\\x06\\x8f\\x04\\xf6\\x5b\\x7d\\x48\\xab\\x0f\\x89\\xf5\\xf5\\xc9\\x65\\x55\\xb1\\x41\\xd5\\x43\\x7a\\x1e\\xef\\x93\\x74\\xc7\\x06\\x5a\\x4c\\x97\\xda\\xdc\\xaf\\x16\\x74\\xbf\\x50\\x32\\x39\\x42\\xa4\\x6a\\xdd\\x41\\x54\\xe5\\xed\\xf6\\x4f\\x4f\\x3c\\xf1\\xd8\\xf2\\x01\\xd9\\xcd\\x9b\\xf7\\xbc\\x76\\xb7\\xac\\xdc\\xb6\\xed\\x12\\xc6\\x30\\x97\\x3e\\xd3\\x27\\xb2\\x8a\\x1b\\x3f\\x9a\\x76\\xff\\x3d\\xc1\\x6f\\xf9\\xa4\\xf6\\x1c\\xfa\\x11\\xab\\x9a\\x4f\\x9d\\xfc\\x47\\xb1\\xfe\\xe9\\xf1\\x4c\\x84\\x44\\x45\\x2a\\x5f\\x4b\\x19\\xc2\\xa8\\x5b\\x27\\x30\\xec\\xfa\\x91\\x68\\x4a\\xcb\\x07\\xe7\\xd0\\x48\\x9f\\x20\\x40\\xef\\x88\\xf8\\xad\\x2e\\xa4\\xd5\\x85\\xc4\\xba\\x4e\\xb6\\x93\\xd2\\xd2\\x2e\\x63\\xd9\\xcd\\xb1\\x7e\\x4f\\xea\\x55\\x99\\xed\\x00\\xb5\\x2f\\x63\\x54\\x6d\\xb9\\xd8\\xf6\\x0a\\x16\\x1d\\x0e\\xf6\\x2a\\x9a\\xe6\\x03\\xf9\\x75\\x68\\x13\\xe5\\xa3\\xdf\\xa8\\x2e\\xcf\\x42\\x8a\\xfd\\x16\\xfa\\xfa\\xf3\\xea\\x59\\x18\\x61\\x1c\\x66\\x01\\x68\\x57\\x43\\xdf\\x92\\xd6\\x4f\\xca\\xa7\\x61\\x90\\xb2\\x35\\x33\\xa9\\xea\\xb5\\xbb\\xc9\\xce\\x3b\\x10\\x30\\xe2\\xed\\x95\\x2b\\xdf\\xde\\xda\\xbb\\x4b\\xe7\\x7e\\xc6\\xe1\\x47\\x9f\\x7a\\xf6\\xe1\\x6e\\x23\\x46\\x74\\xd3\\xd8\\xec\\x21\\xd9\\x44\\x7e\\x1d\\xec\\xc4\\x6e\\xaa\\x7c\\xf8\\x24\\x7d\\x96\\xab\\x3c\\xc9\\x27\\xc1\\x5c\\x16\\x89\\xe3\\xe1\\x00\\x3f\\x48\\xf3\\x83\\x44\\x3f\\xa8\\xef\\x07\\x7e\\x2c\\x44\\x5f\\x6a\\x75\\xbe\\xf3\\x9d\\x35\\x77\\x6c\\x97\\x8b\\x90\\x2f\\x43\\x85\\xd2\\xe7\\xae\\x18\\xa3\\x0e\\xa4\\xcf\\xae\\xef\\x51\\xaf\\xd3\\xe8\\xb3\\xa0\\xcf\\x4b\\xf1\\xf3\\x06\\xfa\\x2c\\xe9\\xf3\\x40\\x9c\\x8f\\x2b\\xe8\\xb3\\x1f\\x7d\\xee\\xee\\xd8\\x20\\xdb\\x18\\x0b\\xf1\\xb3\\x3f\\x7d\\x7e\\x15\\xf1\\xea\\xd3\\xf7\\x01\\xf4\\x19\\x3b\\x99\\xf8\\x83\\x3e\\xd7\\xa6\\xcf\\x9d\\xf0\\xfb\\xba\\xf4\\xb9\\x0e\\xf9\\xf9\\x28\\xf8\\x5c\\xce\\x95\\x33\\xf5\\x89\\x25\\xe9\\xfe\\x06\\x8e\\xe3\\x20\\x2c\\x1f\\x83\\x03\\x2e\\x9b\\xba\\xbc\\x31\\x52\\xbf\\xb5\\xbe\\x1d\\x4b\\x5b\\xef\\xf1\\x02\\x4b\\x8f\\x80\\x61\\xee\\xa5\\x03\\x70\\x3b\\x84\\xc0\\x22\\xf8\\x1c\\xbd\\xfd\\x65\\x7b\\x08\\xe2\\xa7\\x3a\\xce\\x1b\\x71\\x46\\x77\\xd4\\x7b\\x14\\xe9\\xfd\\x94\\x7a\\x99\\xda\\xbd\\x22\\x9f\\x6d\\xaf\\x21\\xbf\\xa9\\x3c\\x2b\\xa3\\x1d\\xab\\x42\\x5c\\xf5\\x58\\x72\\x7a\\x43\\x48\\x8f\\xc1\\x15\\x7e\\xa7\\x18\\x78\\x26\\x06\\x96\\xc5\\xc0\\xf8\\x18\\x18\\x1a\\xa3\\xf3\\xae\\x8d\\x81\\x46\\x31\\x20\\xf1\\xcb\\x90\\xaa\\xf3\\x1e\\x53\\x50\\xd5\\x2e\\x3d\\x5f\\x15\\x97\\x6d\\xfb\\x4f\\xb8\\x5d\\x1d\\x51\\x64\\xaf\\x26\\xda\\x5e\\xc1\\xda\\xe6\\x6f\\x38\\xf3\\xed\\xa7\\xbd\\xf2\\x7f\\x73\\xe7\\xbb\\xec\\x4b\\xf9\\xd8\\xfe\\x59\\x3e\\xb0\\xf2\\x1d\\x96\\x98\\x5e\\x1f\\x1c\\x31\\x70\\x32\\x06\\xb6\\xc5\\xc0\\xc7\\x31\\x10\\xa4\\x79\\x19\\x4d\\x8d\\xc7\\xc7\\x80\\xe1\\x6e\\x3c\\xc5\\xe9\\x3a\\xee\\xb6\\x07\\xa1\\x2f\\xec\\x25\\x2c\\x70\\xf9\\xf4\\x4e\\xca\\x4f\\x43\\x1b\\xaf\\xa0\\x7c\\xee\\x6c\\x03\\xbf\\xee\\xcb\\xe2\\xd3\\xeb\\xc1\\xc0\\x3a\\x90\\x56\\x07\\x12\\xeb\\x40\\x50\\x1d\\xa8\\x03\\x43\\xea\\x40\\x46\\x1d\\x68\\x5b\\x07\\x0c\\xfc\\xe4\\xd9\\x40\\x8a\\xb7\\xef\\x35\\xd1\\xbe\\x47\\xf8\\x8f\\x79\\xf9\\x60\\x13\\x25\\x5d\\x32\\x68\\xdb\\xd4\\x42\\x3f\\x1f\\x12\\x0c\\x7d\\x82\\xa1\\x51\\x30\\xd4\\x0d\\x86\\x60\\x27\\x94\\xc3\\xe1\\xd0\\x37\\xb1\\x9c\\x7d\\x0f\\x85\\x0e\\x36\\xe4\\x59\\x5f\\xc2\\x77\\x6c\\xd5\\x67\\x43\\xca\\x8b\\x98\\x6f\\x38\\xf3\\xa3\\x9d\\xed\\x3e\\x8d\\x31\\x61\\xa8\\xfc\\x15\\xf3\\x2d\\x67\\xbb\\x9c\\xe4\\x72\\xbc\\xc7\\xbb\\x57\\xf7\\x61\\xdd\\x2e\\xf3\\x65\\x2f\\xb3\\x88\\xf4\\x00\\xd8\\x46\\xc7\\x7e\\x06\\xa4\\x07\\x85\\xf4\\x0c\\x60\\x21\\xf1\\x5a\\x02\\xed\\xeb\\xf6\\x7c\\xf2\\xf5\\x26\\xca\\xd7\\xc5\\xff\\x52\\xaf\\x3e\\xd3\\x44\\xf7\\x19\\xd2\\xcf\\x76\\xc7\\xfb\\xcc\\x67\\x35\\xc4\\x86\\x41\\x58\\x88\\xb3\\xae\\xbb\\x1f\\x35\\xd1\\xfd\\x88\\xca\\xec\\x65\\xc1\\x2c\\x34\\xdd\\x0f\\xca\\xc2\\x20\\x23\\x0c\\xda\\x52\\x51\\x92\\x4f\\x9f\\xa9\\xa6\\xe2\\xe5\\x21\\x2c\\x1b\\xe8\\x2c\\x2b\\x9a\\x62\\x59\\xd4\\x07\\x0c\\x89\\x82\\x8c\\x28\\x68\\x1b\\x05\\xf1\\x51\\x10\\xe5\\xd6\\x07\\xeb\\x49\\x72\\xeb\\xf6\\x83\\x5d\\x72\\x7c\\x8e\\x82\\x63\\xfb\\xb7\\x90\\xd6\\xa8\\xfd\\x64\\xd4\\x41\\x63\\x2a\\x13\\xe2\\xd2\\xf1\\x76\\x97\\x8e\\xd1\\x39\\xcb\\x62\\x20\\x83\\xee\\xe9\\xc4\\x54\\x61\\xde\\x6a\\xcf\\x97\\x9f\\x52\\xf9\\x30\\x57\\xf9\\xf9\\x18\\xab\\x07\\xbe\\x03\\x5f\\x45\\x41\\x30\\x36\\xae\\x0d\\xab\\xcb\\x61\\xfc\\x2e\\x37\\x52\\xb9\\x70\\x57\\xb9\\xe9\\x6c\\x05\\x0b\\x43\\xb9\\x8a\\xa3\\x3c\\xcb\\x4e\\x73\\xf9\\x80\\xbe\\x77\\x31\\x97\\xca\\xd7\\x72\\xe9\\x61\\x92\\xfd\\x3b\\x6b\\x90\\x1e\\x01\\x45\\xa1\\x30\\x2e\\x14\\xd2\\x42\\x01\\x72\\x42\\x21\\x3c\\x14\\x58\\x28\\x84\\x92\\x46\\x58\\xa6\\x4b\\xff\\x73\\x90\\xa7\\xcd\\x54\\x37\\xd2\\xd5\\xd6\\x8b\\x2c\\x95\\x45\\xac\\xe2\\xe1\\x6b\\x1c\\x9f\\xbc\\x13\\x16\\xde\\x93\\x37\\x0a\\x87\\x70\\x2d\\x70\\x7c\\x8a\\xe7\\xd8\\xd4\\x44\\x8f\\x4d\\x1e\\xf6\\xa2\\xbe\\x4b\\xf9\\x51\\x4e\\x1c\\xdd\\x77\\xff\\x43\\x9f\\x75\\x8f\\x79\\x4d\\xf4\\x98\\x47\\xf6\\x42\\x3f\\x63\\x01\\xef\\xc0\\xe8\\x3a\\x10\\xee\\xec\\x0a\\x29\\xae\\xb1\\x13\\x3e\\xa0\\x31\\x43\\x39\\xc7\\x28\\x48\\xa9\\xee\\x77\\x46\\x7c\\x55\\xbf\\xfb\\x9d\\x27\\x56\\xfb\\x15\\xe5\\xfb\\x39\\xf3\\xe1\\x30\\xe5\\x93\\xce\\x29\\x3f\\xdc\\x55\\x7e\\x2a\\x8d\\xb5\\x58\\x5e\\x25\\x1b\\x8b\\x59\\x18\\xbb\\x2e\\xbd\\xb6\\x04\\x23\\x58\\x85\\x62\\xa8\\xed\\x17\\x16\\x1a\\xea\\xc7\\x40\\x86\\x47\\x04\\x1b\\x86\\x0c\\x5b\\x03\\x1d\\xde\\xf0\\x05\\xf9\\x1e\\xe8\\x93\\x8b\\xaf\\xa1\\xf7\\x76\\xa6\\xd1\\xed\\x1e\\xef\\x57\\x45\\x86\\x38\\x17\\x0c\\xfa\\xf5\\x67\\x9d\\x21\\x0d\\x1a\\x98\\x81\\x18\\x28\\x47\\x36\\x38\\xfa\\x20\\x04\\xf6\\x86\\x07\\x3b\\x77\\x0d\\xac\\x05\\x11\\x51\\xbe\\x1d\\x0b\\x4a\\x98\\x63\\x96\\xfd\\xbe\\x6c\\xc0\\x0b\\xed\\xde\\x95\\x5b\\xdb\\x3f\\x7e\\xf3\\xfe\\xdf\\x72\\x1e\\x5b\\x94\\x63\\x3f\\xed\\xdc\\xa7\\xe9\\xe8\\x21\\x57\\xf0\\x22\\xa3\\x25\\xce\\xd0\\xd6\\x2a\\x5a\\x56\\xe8\\x53\\x97\\xa5\\x19\\x17\\xda\\x80\\x17\\xfd\\x62\\x9f\\x9a\\xb1\\xe6\\x02\\x4f\\x54\\xb7\\xf2\\xfc\\x39\\x70\\xd7\\x15\\xe5\\x99\\xde\\xa1\\xd2\\xa6\\xb5\\x88\\x0d\\x8b\\x6b\\xd2\\xa8\\xe9\\xbb\\x3c\\xf1\\xc2\\x9a\\x19\\xf6\\x6f\\xff\\x33\\x5a\\xda\\x65\\x73\\xf2\\xb9\\x13\\xbf\\x17\\x96\\x9f\\xa2\\x7e\\x62\\xfe\\xb8\\x72\\x41\\x75\\xf9\\xea\\x7d\\x0e\\x49\\x14\\x55\\x3a\\x17\\xf8\\x71\\x7a\\xb5\\xaf\\xf8\\x94\\xc9\\x5b\\xb3\\x46\\x4c\\x88\\x78\\xbf\\xce\\x96\\xa7\\xee\\x01\\x7f\\xf9\\x63\\xfd\\x84\\x9e\\x7d\\x1e\\x7b\\xb9\\x8b\\x1b\\x63\\x25\\x62\\xfc\\x0f\\x31\\x82\\xdf\\x42\\x0c\\x53\\xf8\\xea\\xe8\\x92\\x62\\x53\\xe1\\x3c\\x8f\\x5f\\xdf\\xb0\\x69\\xd8\\xf8\\x1d\\x0f\\x10\\xfb\\xac\\x7a\\xba\\x1a\\x24\\xd8\\xb9\\x1f\\x55\\xad\\xa5\\x7d\\x9a\\x01\\xf4\\xf4\\x7c\\x34\\x6b\\x40\\xef\\x5b\\x49\\x64\\x5d\\x5c\\x7b\\x16\\x27\\xb1\\x19\\xec\\x4c\\xfa\\x4d\\x46\\x4c\\x4c\\xa8\\x59\\xbf\\x7e\\x68\\x60\\x93\\x26\\x41\\x4d\\x9b\\xf6\\x1b\\x38\\x2d\\xb7\\x76\\x8b\\xf1\\x93\\x87\\x66\\x66\\x76\\xef\\x3d\\xb0\\xeb\\x88\\xb4\\x0e\\x22\\x2c\\xac\\x43\\xc7\\xe4\\x11\\x03\\xbb\\x4f\\x6e\\x91\\xeb\\x1b\\x1f\\x5a\\xa7\\x61\\x42\\x42\\x5c\\xdd\\xf8\\xf8\\x99\\xe0\\x17\\x11\\xe1\\xcb\\x42\\x43\\x67\\xf9\\x37\\xaa\\xe7\\x17\\x97\\x50\\xab\\x65\\xf7\\x09\\x13\\xda\\x65\\x96\\xb5\\x6e\\x3b\\x66\\x68\\xc7\\x21\\x43\\x3a\\xf5\\x80\\xba\\x85\\xf9\\x2d\\xcb\\xda\\x0e\\xed\\x51\\x37\\x3f\\xbf\\x6e\\x8f\\xa1\\x6d\\xcb\\x5a\\x9a\\xf5\\x62\\x9b\\x85\\x8b\\x84\\x84\\xb0\\xfa\\x4d\\x45\\xbc\\x19\\x24\\x44\\x54\\x94\\xb4\\x82\\x45\\xbd\\xab\\x3e\\xc6\\xe6\\x71\\x75\\x37\\xa4\\xea\\x56\\x9b\\xbe\\xe9\\xf9\\x99\\x33\\xd6\\xf6\\xd8\\x2e\\x43\\xb7\\x09\\x23\\x2f\\xbb\\xe2\\xea\\xfc\\x49\\xa2\\xff\\x1e\\xf7\\x7b\\xe3\\xf4\\x9b\\x9c\\x94\\x3e\\xc4\\x21\\x4e\\xbf\\x4e\\x0f\\xff\\xe2\\x92\\x2f\\x45\\x6f\\x5d\\xd7\\x6f\\x0f\\xf1\\xc8\\x57\\xfa\\x7e\\x5e\\x72\\xe3\\xea\\xd7\\x8f\\xd2\\xfb\\xb8\\xc3\\x8d\\xc6\\xfa\\x8d\\x1b\\x21\\xc9\\xb1\\xfa\\xb2\\x46\\x0c\\x08\\xd7\\x7b\\x5d\\x23\\x5d\\x7f\\x21\\xb8\\x41\\x4d\\x2f\\x1e\\xb1\\x58\\xce\\x21\\xe8\\x56\\xb9\\xd6\\xfe\\x10\\xba\\xf1\\xb4\\x9c\\x9c\\x4b\\x37\\xe9\\x94\\x9c\\x67\\x7f\\x78\\x28\\xe7\\x42\\xb7\\x43\\x39\\xce\\x34\\x74\\xbb\\xf8\\x54\\x4e\\x8e\\x88\\xd1\\x29\\x5d\\x36\\xe7\\x90\\x62\\x99\\xe3\\x22\\x26\\xfb\\xb7\\x68\\x9d\\xd4\\x72\\xec\\x17\\x39\\xf6\\xe2\\x65\\x8b\\x5f\\xbf\\x07\\x62\\xfa\\xf5\\xcf\\xce\\x7b\\x7c\\xe4\\xb0\\xd8\\xd8\\xd7\\x12\\x73\\x73\\xdb\\x76\\x5a\\x6b\\xa7\\xdb\\x5f\\x3f\\xb8\\x64\\xc9\\x43\\x0f\\x2c\\x99\\x36\\x72\\xcc\\xf8\\xe1\\xa3\\xc6\\x64\\x8e\\x94\\xf3\\x0e\\xe5\\xe4\\xe4\\x54\\xcc\\x83\\x6e\\xb0\\x3f\\xe7\\x62\\x5a\\xce\\x21\\x59\\x07\\x19\\xc0\\x04\\xec\\x87\\x6e\\x15\\xf3\\x72\\xb0\\xc5\\x43\\x87\\xc7\\xcd\\x0c\\xed\\x93\\xd1\\x6d\\x1c\\xfc\\x30\\xaa\\x72\\xe3\\x4d\\x37\\x9e\\x9a\\x32\\x5b\\xc4\\xaf\\xcf\\xc8\\x0b\\xf1\\x9b\\x0c\\x71\\x5d\\x53\\x6d\\xfb\\xc8\\x75\\xbd\\x71\\x6d\\xd8\\xcd\\x1e\\xb5\\xf5\\xeb\\xdd\\x9f\\x7f\\xbe\\xfb\\xa5\\x47\\x1e\\x7d\\xf1\\xd5\\xe5\\x0f\\x3b\\xd7\\x0c\\x13\\xed\\x54\\x18\\xe3\\x78\\x03\\x3d\\xac\\x29\\xc6\\x52\\x3e\\x3a\\xfe\\xf5\\xf3\\x35\\x4d\\x69\\xe1\\xf0\\xf7\\xa6\\x8f\\x7f\\x4f\\x5c\\x19\\xc7\\xaf\\x4f\\xf5\\x5c\\x74\\xaa\\x70\\x7d\\xb6\\xba\\x7e\\xe3\\x37\\x8c\\x89\\x4f\\xbe\\x63\\xec\\x94\\x73\\x5b\\x7a\\x4d\\xef\\x94\\xd3\\x9d\\xce\\x41\\x76\\x7c\\x88\\x7d\\xe7\\x17\\x75\\x96\\xf9\\xb1\\x76\\xe9\\x0d\\x2c\\x1f\\xe9\\x13\\x20\\xfc\\x2d\\x9c\\x9a\\x8d\\xfb\\x47\\x62\\xe4\\x1a\\x84\\x9e\\x9b\\x86\\x5e\\x3b\\x9f\\x2d\\x67\\x27\\xf5\\x9b\\x57\\x9d\\x2f\\x88\\x44\\x6f\\x20\\x57\\x48\\x72\\x9f\\x1e\\x9b\\xac\\xef\\x20\\x61\\x07\\x81\\x21\\x9b\\x36\\x5a\\xdf\\xf9\\xbe\\xf2\\x8a\\xef\\x77\\xd6\\x46\\xb9\\xe2\\xe9\\xd7\\x37\\x6e\\x5c\\xf5\\x14\\xf1\\x3d\\x4d\\x9c\\x85\\x3c\\x5c\\xeb\\xf8\\xb0\\xe6\\xe9\\xb5\\xa4\\x65\\xf8\\x68\\xbe\\x8b\\xcc\\xf9\\xe6\\x62\\x53\\x98\\xf7\\xe2\\x72\\x14\\x1b\\x4d\\x5b\\x9f\\xb9\\x35\\xd3\\x7b\\x83\\xa1\\x9b\\xf3\\x3c\\x27\\xe7\\xf2\\x64\\xaf\\x19\\x1d\\x73\\x46\\x6d\\x73\\xe9\\x42\\x7e\\x00\\x63\\x8c\\x5e\\x88\\x99\\x94\\x5e\\xcf\\xa9\\x0b\\x5f\\xbf\\xf1\\x66\\xb1\\xb9\\x00\\x31\\xcd\\xe5\\x12\\xd2\\x11\\xf7\\x5e\\x4b\\x3f\\xb2\\x99\\xb9\\x25\\x33\\x33\\x35\\x31\\xd3\\x6b\\xd7\\xb2\\x3e\\x7e\\x5e\\xdf\\x36\\x9e\\xd8\\xb2\\xd9\\xfd\\x88\\xad\\xfa\\x0f\\x9f\\x9e\\x58\\x85\\x3d\\x5c\\x5d\\xe4\\x43\\xcc\\x48\\xec\\xcb\\xf5\\xd3\\x43\\x14\\x37\\x0d\\x26\\x16\\x8f\\x1e\\xc7\\xf4\\x99\\xad\\xfe\\x3d\\xf5\\xe9\\xbe\\x99\\xee\\xc3\\xa9\\xa1\\x71\\x4a\\x83\\xc8\\x08\\x78\\xc9\\x7e\\x19\\xf8\\x25\\x75\\xf1\\x74\\xbc\\x5d\\xdf\\x55\\x7f\\xa8\\xbb\\xbe\\x64\\xfa\\x14\\x54\\xac\\xaf\\x40\\xe9\\xfa\\xca\\xb3\\x7e\\x58\\x4a\\xbb\\x06\\x11\\x6a\\x78\\x05\\x70\\xfb\\x65\\x75\\xb1\\xbe\\x1d\\x7f\\x5a\\xdb\\xe5\\x28\\xd6\\xff\\xcc\\x8c\\x47\\xd9\\xa2\\xd3\\x83\\x85\\xc5\\xad\\xc5\\xa3\\x8d\\x71\\x5c\\x9f\\x17\\xe3\\xdf\\x93\\xeb\\xea\\xb4\\xb4\\xd1\\x87\\xe2\\xc5\\x35\\x8d\\x33\\xe3\\x52\\x20\\x99\\x7f\\xb6\\x7c\\xb3\\xdc\\xb9\\x02\\xf8\\x51\\x23\\x32\\xfa\\xe1\\x87\\xa3\\x21\\xdc\\x1b\\xa7\\x75\\x7a\\x14\\x03\\xa5\\x84\\xe5\\x6b\\xf9\\x99\\x92\\xc9\\xc5\\xa3\\x95\\x97\\x3c\\x49\\xee\\x93\\x39\\x9c\\x5b\\x1a\\x74\\x97\\x85\\x94\\xe4\\x48\\x7d\\x07\\x0c\\xb6\\x1c\\xb5\\xed\\x15\\x3b\\xe5\\xe6\\xe5\\xea\\x22\\x84\\x47\\x2f\\x5d\\x1a\\x4d\\xeb\\xb3\\x20\\xc4\\x7e\\xd4\\xd8\\xed\\x3a\\xe3\\xb0\\x36\\x82\\x0a\\x89\\x91\\x3d\\xce\\x60\\x70\\xf7\\x68\\x59\\x03\\xb8\\x87\\x69\\x71\\xb1\\x8f\\xfd\\x3f\\x02\\x76\\x6f\\xa8\\x9c\\xbe\\x4e\\x5d\\xdc\\x8f\\xff\\xc8\\x1f\\xb7\\x21\\xe6\\x7e\\xb3\\x3e\\xab\\xcd\\xda\\xa7\\xc7\\x5a\\x3e\\x11\\xb5\\x6a\\xd5\\xf1\\x89\\x8a\\x08\\x08\\x50\\xf7\\x8e\\x64\\x01\\x8b\\x47\\xb3\\xd0\\x7b\\x47\\x5a\\x97\\x21\\xc7\\x57\\x1d\\x29\\xe2\\xc2\\x6e\\x98\\xc0\\x5d\\x77\\xdb\\x93\\x93\\x62\\xb8\\x6b\\xec\\x86\\x8a\\x96\\x23\\x87\\xf4\\x89\\x69\\x1e\\x1f\\x78\\x87\\xd5\\x66\\x4c\\xdf\\x56\\xa3\\x86\\xf4\\x8a\\x6e\\xd6\\x2a\\xf0\\x76\\x73\\x9a\\xba\\xd8\\x24\\xb1\\x49\\x42\\xbf\\x69\\xd3\\xba\\xe1\\xdf\\x36\\xbd\\xf5\\x8d\\x76\\xee\\x78\\x55\\x5d\\x14\\x86\\x59\\x9b\\xce\\x41\\xd1\\xb2\\x29\\x5c\\x64\\x05\\x80\\xbf\\x8f\\xd0\\x7e\\x60\\xd4\\xac\\x38\\xf7\\x4b\\xd6\\xe3\\x52\\x50\\x67\\x91\\x44\\x93\\x6e\\xd9\\xfb\\xcb\\x08\\xfc\\x55\\x17\\x1b\\x56\\xc4\\x9f\\xc1\\x5f\\x2d\\xe3\\x25\\xf5\\x1b\\xff\\xd8\\x0c\\xc6\\x39\\xa2\\x4d\\x7a\\x5d\\x5f\\x3f\\xbf\\x20\\x29\\x44\\xa0\\x2f\\x21\\x33\\xf3\\xde\\x91\\xde\\x5e\\x76\\x85\\x70\\xd8\\xdb\\xaa\\x26\\x24\\x18\\x7d\\xdf\\x7a\\xbf\\xa7\\x82\\x26\\x75\\xef\\x99\\x1f\\xf8\\x74\\xd8\\xc7\\xea\\xb7\\x95\\xf3\\x3a\\xf7\\xee\\x95\\x76\\xeb\\x32\\x8a\\x6d\\x85\\x5c\\x0e\\x4c\\x1d\\x0c\\x36\\x59\\x37\\x7b\\x2d\\x63\\xff\\x28\\xaf\\x36\\xe6\\xd5\\xa2\\xbc\\x19\\xff\\x34\\xcf\\x0e\\x52\\x3b\\x1d\\x7b\\xcd\\xf8\\x50\\x83\\x6f\\xa6\\x6b\\x3f\\x71\\xf2\\x79\\xc7\\x1e\\x75\\x09\\x67\\xc4\\xe0\\xb7\\x82\\x24\\x37\\xfd\\x03\\xe9\\x32\\x89\\xd6\\x95\\xbe\\x38\\x6d\\x36\\x75\\xed\\x18\\x8b\\x88\\x4b\\x49\\xba\\x66\\xfb\\x1d\\xdd\\x52\\xfc\\x3a\\xa6\\x3f\\xfa\\xf8\\xdb\\x37\\x76\\x1c\\xa0\\x86\\xb6\\xf7\\x9d\\xe2\\x7f\\x7d\\x9f\\xe2\\x88\\xa4\\xc2\\x46\\x57\\x62\\xe3\\xe7\\x39\\xd8\\xfe\\xed\\x6a\\x7d\\xb0\\xc9\\x9f\\xb0\\xef\\x70\\xb5\\x5f\\x53\\xde\\x72\\xcc\\xcb\\x56\\x3f\\x60\\xde\\xa3\\xf6\\x3e\\x57\\xde\\x7d\\x98\\x57\\xa2\\x2e\\x60\\x5e\\xb9\\x4d\\xc7\\xc6\\x20\\xaf\\x2b\\xec\\x25\\x8e\\x77\\x1d\\x59\\xe8\\xd3\\x18\\x7b\\x60\\x47\\x73\\x5d\\xdc\\xb0\\x57\\x40\\x94\\xbd\\x64\\xdb\\xb6\\x7f\\xa4\\x9b\\xbf\\xa9\\xeb\\x2b\\x64\\xfa\\xb7\\x32\\xfe\\x1f\\xe7\\x39\\x4a\\xed\\x25\\xec\\x2e\\x47\\x56\\xa8\\xe9\\x13\\xca\\x76\\xfe\\xbf\\x93\\xf7\\xff\\x57\\xbb\\xff\\x5f\\xc8\\xf1\\xef\\xf3\\x70\\x00\\xd0\\x07\\xe5\\xbd\\x48\\xd7\\x2c\\x6b\\xa5\\xe3\\xa0\\xc3\\x94\\xc4\\xc9\\x58\\xdf\\x09\\x71\\x5f\\xed\\xd3\\xfb\\x9e\\xee\\x83\\x28\\x7d\\xf9\\x0c\\xe3\\x55\\xfb\\x4b\\xf5\\x1e\\x24\\xe1\\x38\\xef\\x3c\\xcb\\x23\\xf4\\x6d\\x3f\\x1f\\x6e\\x18\\xfa\\xbc\\x69\\x1d\\xa5\\xe9\\xeb\\xf1\\x18\\x80\\x25\\x2b\\xfd\\x76\\x72\\x7d\\x9a\\x96\\xb9\\x02\\xfd\\x7c\\xc5\\x8a\\xcd\\x3c\\xa7\\xf2\\x31\\xf5\\xde\\xd2\\xa5\\x4b\\xbf\\xbe\\x13\\x31\\x2e\\x20\\x46\\x08\\x62\\x38\\xe3\\xd7\\xd0\\xb7\\xb1\\x0f\\xf8\\xfb\\xfb\\x99\\x1e\\x18\\x11\\x38\\xd3\\xb4\\x0b\\x73\\x21\\x41\\xc8\\xb1\\x87\\x6e\\x3f\\xee\\x44\\x32\\xe3\\x83\\x1f\\x09\\x5c\\x66\\x2f\\x46\\x28\\xcd\\xbf\\x37\\x3f\\xc1\\x7a\\x9f\\x64\\x70\\xb0\\xe1\\x1f\\xe8\\xcd\\x54\\x92\\xf3\\xd2\\xaf\\x0b\\x0e\\x47\\x4b\\x33\\xae\\x29\\xce\\x38\\x6e\\xee\\xec\\x65\\x5f\\x7d\\xba\\x7d\\xd9\\xc3\\x4e\\xfe\\x7c\\x17\\xdf\\xed\\xdf\\x0d\\x71\\x4f\\x20\\xae\\xf2\\xe2\\xd1\\xd7\\x30\\x02\\x7c\\xaa\\x79\\x14\\x91\\x38\\x23\\xa6\\xb8\\x4f\\x83\\x89\\xbe\\xfd\\xa1\\x63\\xbe\\x2b\\x56\\x40\\xa1\\x66\\x71\\x59\\xe0\\x23\\xc1\\x5f\\x13\\x87\\xdc\\x8b\\x3f\\xff\\x37\\x4d\\xd7\\xad\\x08\\xd7\\x7d\\x8b\\xc6\\xa8\\xa3\\x01\\xc8\\xc0\\x7c\\x97\\x7e\\x50\\x3b\\xba\\xce\\x3a\\xf5\\x16\\xa4\\x51\\x9d\\xba\\xac\\x53\\x7a\\x93\\x48\\xab\\x08\\xd7\\xd6\\xc1\\xe1\\xe1\\xf4\\xb2\\x0c\\x7e\\x1c\\x70\\x0a\\x87\\xf4\\xa8\\x98\\x9e\\xfe\\x00\\x97\\x00\\x82\\x00\\x2c\\xf0\\xa3\\x2b\\xc2\\xfa\\xe5\\x20\\xf1\\xd3\\x4a\\x92\\xf4\\x75\\xf2\\xcc\\x64\\xd7\\xc1\\xb2\\xaa\\xa1\\xf3\\x78\\x7d\\x9a\\xa6\\xe8\\x58\\x6e\\x1c\\xd1\\x91\\x31\\xdd\\x26\\xac\\x4a\\x1e\\x32\\xb4\\x51\\xab\\x56\\xd6\\x68\\xbf\\xf8\\xbe\\x69\\xed\\x06\\x0f\\x6e\\xd8\\x3a\\xde\\x18\\xe3\\xdf\\xa2\\x8f\\x19\\x7f\\xe7\\xf1\\x26\\x8d\\xe3\\x9a\\x0d\\xea\\xd9\\xac\\x71\\x93\\x26\\x8d\\xaf\\xef\\xdd\\x14\\x7d\\x65\\x05\\x2a\\xfc\\x1d\\x8a\\xad\\x9a\\xa4\\x07\\x9b\\x00\\x4c\\xe2\\x8a\\xcf\\x52\\xa6\\xa9\\x0f\\x9d\\xd7\\x4f\\x2b\\x85\\xa6\\x26\\x06\\xaf\\xf7\\x98\\x7d\\x1b\\xc4\\x85\\x50\\xc4\\x1d\\x92\\x2c\\xde\\x29\\xb7\\x9f\\xb6\\xb7\\x42\\x2e\\xb4\\x28\\x17\\x8f\\xc3\\x98\\x72\\x7b\\x0f\\xb4\\x60\\x35\\x61\\x32\\xe9\\xe7\\xfb\\xf7\\x31\\xef\\xb5\\xbf\\x27\\x4c\\xbe\\x9b\\x37\\x2a\\xb7\\xaf\\x83\\xf7\\xff\\x0f\\x30\\x6f\\xb3\\x7f\\x81\\x22\\x88\\x2d\\x87\\xe5\\x62\\x54\\x79\\xe5\\x28\\xfe\\xac\\x27\\xa6\\xa5\\xaf\\xec\\x1b\\x7a\\xf5\\xe7\\x63\\x4a\\x5c\\xe3\\x82\\x90\\x97\\x23\\xd2\\x3e\\x8b\\x6a\\xb8\\xf9\\xf6\\x69\\x82\\x93\\x17\\xca\\x2b\\x32\\xc4\\x07\\x88\\xd5\\xaf\\x0a\\xab\\x51\\x7a\\x90\\xe6\\xce\\xd7\\x47\\x99\\xc2\\x30\\x4c\\xd0\\x37\\x88\\x08\\x2c\\xb9\\x6a\\x13\\x07\\x71\\xe7\\x03\\xed\\x7c\\x80\\xd0\\xd6\\xd8\\x79\\x63\\x70\\x95\\xdc\\xb3\\x5c\\x6e\\xb4\\xb7\\xc0\\xad\\x59\\xf6\\x2e\\x68\\xab\\xf9\\x1b\\x54\\x25\\xb3\\xbe\\x43\\xe4\\xb2\\x0d\\x62\\xfa\\x80\\xf2\\x71\\x63\\x7a\\x4b\\xdc\\x00\\xda\\xe9\\x27\\x97\\x35\\xe8\\x03\\xf6\\xe2\\x09\\xd0\\x03\\xda\\x96\\x8b\\xe7\\xa0\\x28\\xcb\\x5e\\x03\\xf4\\x6c\\x62\\x15\\x9f\\x74\\x37\\x43\\x9f\\xe4\\x87\\x1d\\xd5\\x47\\x29\\x13\\xa4\\x9b\\xcd\\xcb\\x74\\xd8\\xce\\x29\\x72\\x65\\xcc\\x38\\x7e\\x73\\x39\\xef\\xcd\\xb7\\x8c\\xad\\x5c\\xc6\\x4b\\xbc\\xb0\\x7c\\x34\\x96\\xdb\\x26\\xda\\x22\\x96\\xaa\\x09\\x2b\\x05\\x25\\x86\\xb0\\x10\\xb7\\xc8\\x83\\xe1\\xcd\\x6f\\xcb\\x8f\\xf3\\x67\\xe0\\xd6\\xc9\\x76\\xbe\\x9d\\x28\\x0a\\x08\\xb3\\x7b\\x95\\x1e\\x63\\x70\\x8d\\x42\\x36\\xd1\\x16\\x31\\xa5\\x37\\xa2\\xf3\\x79\\xc4\\x2a\\xb8\\xe7\\xec\\xe2\\x51\\xf0\\xea\\xf7\\xe5\\xe2\\x49\\xb8\\x21\\xcf\\x9e\\x54\\xf9\\x98\\xb8\\xe8\\xc4\\xe2\\xc5\\x9e\\xb2\\xea\\x7b\\xcd\\x0a\\x47\\x43\\x43\\x5e\\x5d\\x56\\x5e\\x5c\\x6e\\x8f\\x1d\\x85\\xc6\\x40\\x97\\x5e\\x90\\x63\\xef\\x83\\x66\\xc4\\x57\\x4a\\x15\\x5f\\x4d\\xd2\\x43\\x9c\\xf6\\x15\\x06\\xe7\\x86\\x10\\x0a\\x4c\\xa7\\xb8\\xb4\\x0a\\xae\\xd9\\xc2\\xab\\xed\\x41\\x93\\xd1\\x18\\x68\\xe1\\xd9\\x95\\x7b\\xf8\\x91\\xfe\\x95\\x87\\x78\\x03\\xe6\\x85\\xeb\\xe5\\xd7\\x5c\\xe8\\xa1\\xae\\x4a\\x8b\\xc9\\x5b\\xbd\\xf9\\x24\\xdc\\x90\\x6a\\xe0\\x2c\\x48\\x40\\xc9\\xed\\x55\\xfc\\x48\\x9f\\xca\\x37\\xa1\\x15\\xc4\\x22\\xee\\x80\\xcb\\x7d\\x47\\xe3\\x5e\\x06\\x7b\\x55\\xdf\\x79\\xde\\x9e\\x55\\x06\\x39\\x60\\x95\\xf3\\x65\\xfc\\x89\\x9e\\x95\\x2b\\xf9\\x58\\xe2\\xb5\\xd5\\x3f\\xb3\\xb7\\xe6\\x13\\x22\\x9d\\x88\\x4f\\xd8\\xe3\\x67\\xc0\\x03\\x7f\\x94\\x43\\x20\\x64\\xf3\\x2f\\xba\\x57\\x76\\xbf\\x20\\xde\\x24\\xcc\\x9e\\x2e\\x4c\\xc3\\xf9\\x24\\x31\\xe3\\x96\\x29\\xa5\\x00\\xfd\\x24\\xf1\\xe5\\xf6\\xae\\x72\\xc5\\xa8\\x99\\x68\\x24\\xd5\\x29\\xe3\\xd2\\x23\\x72\\xa2\\x8b\\xaf\\x7f\\x67\\xe7\\xeb\\x4a\\xd1\\x24\\x7c\\x18\\x3f\\xdc\\xd3\\x65\\x10\\x60\\x8d\\xfe\\x93\\x9d\\xd7\\xd8\\x9d\\x6e\\x74\\xda\\x39\\xaa\\xe2\\x80\\x1c\\x99\\x54\\x71\\x40\\xc4\\x39\\xed\\xdc\\xb8\\x4a\\x77\\x2d\\xd2\\xc3\\xaa\\xfb\\xb2\\x0b\\xd9\\xba\\x12\\xd9\\x13\\x3b\\x85\\xc0\\xd7\\xd9\\x6d\\xe7\\xc1\\x08\\xdd\\xa3\\x97\\x57\\xde\\x2a\\x9b\\xa5\\x54\\xfc\\xc4\\xf3\\xde\\xf0\\xc6\\xfe\\x57\\x3e\\xf4\\xa6\\xdd\\x6d\\x0e\\x94\\x42\\x3d\\xd4\\x84\\xbd\\x4a\\xf6\\x4c\\xaa\\x98\\x0b\\xa1\\x7c\\x1a\\xe2\\x36\\xfd\\x2f\\x3e\\xf4\\xa0\\x9d\\x3d\\x1b\\x6e\\x06\\xff\\x72\\xb8\\x5e\\xd8\\x49\\x15\\x23\\xc4\\xf3\\xa4\\x87\\xc4\\x2a\\xfd\\xd6\\x49\\xf7\\x35\\xf4\\x31\\xb7\\xbe\\x86\\xab\\x77\\x27\\x5f\\xd6\\xb7\\x23\\xdd\\x43\\x45\\xcf\\xf9\\xf0\\xca\\xae\\x72\\xe8\\x21\\x45\\xbb\\x8a\\xf0\\x3d\\x72\\x9d\\x4b\\x66\\x6f\\x9b\\x3b\\xc7\\xb1\\xab\\xd9\\x3c\\xa5\\xca\\xe6\\x9d\\xe6\\xa0\\x79\\xce\\xc8\\x31\\x1e\\xb6\\x89\\xf6\\x1e\\xbb\\xa5\\xe6\\x89\\x1b\\x5c\\x09\\x97\\xc5\\x93\\x3d\\xef\\xc5\\x5f\\x61\\xf1\\x6b\\xe6\\x42\\x3f\\x3d\\x5c\\xec\\xad\\x68\\xae\\xae\\x6f\\x5d\\xd1\\x5c\\xec\\xd5\\x98\\x91\\x55\\xba\\x6b\\x96\\x1e\\xe2\\xb6\\xb7\\x46\\xf5\\x11\\xae\\xd1\\x3b\\xf9\\xf2\\x3b\\xfc\\xde\\xd6\\x5e\\x63\\xb7\\x9e\\x07\\x23\\xa1\\x4b\\xb9\\x98\\x5e\\xb1\\x48\\x0d\\x48\\xac\\x88\\x14\\x53\\x16\\x38\\xf9\\xbd\\xe6\\xdf\\x63\\xbb\\x55\\x3a\\x60\\x3e\\xf4\\x87\\x96\\xe5\\x7c\\x71\\xe5\\x34\\x35\\xb8\\xd5\\xa5\\xc3\\x7c\\x2a\\xac\\xaa\\x19\\x5b\\xdb\\xfc\\xef\\x60\\x43\\xe3\\x2a\\xec\\x79\\x50\\x06\\x66\\x39\\xb4\\xb7\\x37\\x69\\xec\\x39\\x17\\xc5\\x5d\\x4e\\xbe\\x5b\\x57\\xcd\\x3d\\xf5\\xd2\\xfd\\x15\\xd3\\x8f\\xba\\xfb\\x58\\x68\\x31\\xe1\\xb6\\xbe\\xf3\\xfe\\x5d\\x73\\x40\\xb4\\x64\\x8d\\x66\\xc7\\xdb\\xfd\\x17\\xc2\\xfd\\xbf\\x94\\xab\\xc1\\x09\\x97\\x4c\\x79\\x01\\x31\\x9a\\xbb\\xec\\xfe\\x77\\xc7\\x0b\\x6d\\xf2\\x2e\\x0b\\xa1\\xb3\\x86\\x70\\xdb\\x66\\x40\\x15\\x1f\\xb1\\xe9\\x81\\x28\\xa1\\xa1\\x84\\x7e\\x30\\xcb\\x00\\x61\\x54\\xa3\\x44\\xa6\\x56\\xf9\\x74\\x53\\x68\\xa0\\x25\\xdb\\x62\\xbf\\x95\\x85\\x92\\x9d\\x95\\x17\\xec\\x35\\x59\\x50\\xe4\\x94\\xa9\\x6f\\x95\\xbe\\x5a\\xa6\\x87\\x6b\\x7d\\x21\\x27\\x02\\x23\\x13\\xc3\\x14\\x5e\\x88\\xc1\\x5b\\x29\\x96\\x88\\xf4\\xd4\\x59\\x53\\xb7\\x3d\\xde\\xb1\\xd7\\x8e\\x86\\x65\\xda\\x89\\x96\\x40\\x8a\\xbd\\x3f\\x0f\\x66\\x63\\x1c\\xd0\\xf6\\x2f\\xf0\\xa5\\xe9\\x81\\x8f\\x16\\xf9\\x13\\xfc\\xa5\\xf6\\x37\\x43\\x09\\x9f\\x37\\xe7\\x0b\\xed\\xf3\\xf9\\x30\\xbb\\x72\\x2d\\x4f\\xab\\x19\\xdf\\xb9\\x53\\xe6\\xaf\\xf1\\x53\\x40\\x55\\xe1\\xdf\\x62\\x1f\\x1f\\x4c\\xf8\\x3f\\x8b\\x57\\x34\\x7a\\xc5\\x4e\\xd1\\x0a\\xb1\\xc7\\x56\\xf5\\xab\\x66\\xe9\\xa1\\x06\\x93\\x9c\\x22\\x2c\\x25\\x28\\x90\\xe7\\xea\\x4a\\xcd\\x90\\xd5\\xaa\\x61\\xef\\xb6\\xcf\\x5c\\x8f\\xb0\\xd7\\x94\\xcb\\x3b\\x8e\\xa1\\x4e\\x2a\\x3a\\x89\\x4f\\xdd\\x3c\\x57\\xfb\\x80\\xf6\\x7e\\xd3\\xd2\\x83\\x28\\x57\\x57\\xfa\\x40\\x08\\x1a\\x8f\\x7c\\x60\\xdd\\x58\\x78\\xac\\x5c\\xae\\xb3\\x0f\\x14\\xc0\\x6c\\xef\\xd8\\x2f\\x36\\x3d\\xc0\\xd9\\xe7\\xa5\\x0e\\x83\\xaa\\xa3\\x35\\x4f\\x14\\x53\\x87\\x7e\\x9a\\x27\\x87\\x5d\\x0c\\x43\\xe0\\xda\\x72\\xb9\\xfe\\xfb\\x72\\xa8\\xe5\\x15\\x97\\x7a\\xf4\\x17\\xa9\\x4c\\xfc\\xf1\\xd1\\x3b\\x5c\\x5c\\xfb\\x64\\x92\\xaf\\x1a\\x99\\x2e\\xc3\\xa8\\x59\\x4f\\xe0\\xbc\\x00\\x6e\\x40\\x36\\xb9\\x6b\\x2f\\xe6\\x15\\xb8\\xba\\x8f\\xff\\x13\\xdc\\x27\\xec\\x9d\\x30\\x1f\\x82\\xcb\\x21\\x85\\xbf\\x5a\\x5e\\x79\\x5a\\x34\\xf2\\xc6\\xa5\\xb1\\xce\\x39\\xfe\\x0a\\x69\\xe0\\x0f\\x5d\\xea\\xbc\\x0c\\xd5\\x1d\\xf5\\xba\\xa2\\xac\\x57\\xec\\xf5\\xf0\\xc4\\xa9\\x72\\x71\\xb8\\xbc\\x32\\x4d\\xf7\\x24\\xd7\\x3d\\xa3\\x2a\\x1b\\x87\\xe9\\xbe\\x24\\x05\\x22\\xea\\xf7\\x36\\x29\\x43\\xb8\\x30\\x5d\\xfb\\x42\\x3d\\xfa\\x54\\xf5\\xf8\\xf9\\xae\\x9d\\x3f\\x1e\\x62\\x20\\xab\\x5c\\xce\\xaa\\xdc\\x0d\\x4f\\x4e\\xb0\\xf7\\xf3\\x61\\xde\\x7e\\xe9\\x9e\\x2f\\x0d\\xed\\xf7\\x38\\xab\\x29\\xc3\\x53\\x03\\xc9\\x5b\\x2f\\xf7\\x7a\\x8f\\x51\\x2e\\x77\\x3c\\x5c\\xab\\x7b\\xd5\\xeb\\xf6\\xbb\\xf0\\xd8\\x78\\x7b\\x03\\x4e\\xcd\\xc1\\x1e\\x31\\xa6\\xd7\\x7c\\x79\\x05\\xf0\\x55\\x67\\xb6\\x3c\\x7b\\xd5\\x04\\x68\\x01\\x99\\x18\\x1d\\xc1\\x8c\\x31\\xf6\\xdb\\x18\\x1d\\x55\\xf3\\x4b\\xbb\\xa5\\xaa\\x62\\x10\\xa9\\xa4\\x09\\x66\\x0d\\xbb\\xb9\\x3c\\x23\\xeb\\xe8\\xb1\\xfc\\xd6\\x72\\x68\\xca\\x8f\\x64\\x57\\xce\\x11\\x4b\\x3d\\xb0\\xc8\\x37\\x5d\\x31\\xf0\\x65\\x16\\xaa\\x31\\x0a\\x46\\x81\\x47\\xc3\\xeb\\xfb\\xca\\x79\\x29\\x3c\\x9a\\x6d\\x0f\\xb6\\xb3\\xe5\\x68\\xaf\\xfe\\x52\\xc5\\x1b\\xcd\\x95\\x7f\\xc9\\x9b\\xee\\x36\\x39\\x99\\x90\\x56\\xce\\x73\\xe0\\xb1\\x5c\\x7b\\x2d\\x1f\\xed\\x35\\x7f\\x37\\x4f\\x0f\\x77\\x5a\\x85\\x22\\x24\\xa5\\x30\\x92\\x91\\x9e\\x06\\x4f\\xbc\\x9a\\xc1\\x7b\\x4c\\x47\\xf8\\x21\\xe5\\x32\\xba\\xe2\\xa8\\xc8\\xea\\x5e\\xf9\\x88\\xd0\\xaf\\xc5\\x4a\\xad\\xb2\\x49\\xab\\xf4\\x5a\\x64\\x13\\xf4\\x24\\x8a\\x90\\x9c\\xc8\\x2e\\xcb\\x78\\x21\\xd7\\x34\\x69\\x0e\\x9a\\x01\\xed\\x29\\x78\\xaf\\x9c\\x26\\x7a\\xf4\\xa8\\x7c\\x92\\x2f\\x7e\\x8b\\x74\\x90\\x76\\xb9\\x3f\\x39\\xf1\\xff\\x89\\x3f\\xad\\xb3\\xfb\\xcf\\x84\\x4c\\x1d\\x27\\x95\\xda\\x4f\\x8b\\x11\\x9d\\x2a\\x87\\x42\\x7b\\xde\\xd3\\x0b\\x1b\\xc7\\x39\\xe7\\x18\\xea\\xe4\\xfd\\x4a\\x8f\\x8a\\xac\\xd1\\xa3\\x9e\\xb2\\xa7\\xce\\xc4\\xf5\\xa4\\x6f\\x39\\x0c\\x13\\x51\\x9d\\x2a\\x93\\xc4\\x53\\x5e\\x3c\\x7b\\xf8\\x01\\xce\\x29\\x16\\x9d\\x23\\xa9\\xd1\\xae\\x58\\x0d\\x45\\xba\\x17\\x05\\x63\\x66\\xc2\\xa3\\x87\\xb0\\xeb\\x8b\\x0e\\x9d\\x2a\\x0e\\x6e\\xd6\\x11\\x93\\x0b\\xcf\\xdb\\x0f\\xfe\\x9e\\x8f\\x6a\\x3f\\x18\\x3e\\x13\\x92\\xca\\xa1\\x95\\xe8\\xda\\xa9\\xf2\\x45\\x11\\xef\\x11\\x27\\x78\\xf5\\x7b\\x97\\xb1\\x2c\\xe1\\xe4\\xb0\\x2a\\x9e\\xad\\xc1\\x0d\\x30\\x4c\\x98\\x0b\\x6d\\xdd\\x71\\x93\\x4f\\xeb\\x8a\\x69\\xce\\xb9\\x39\\xc5\\x63\\x3e\\x8a\\xa8\\xb6\\x93\\x0b\\x19\\x83\\x10\\x9f\\x2b\\x90\\x6b\\x72\\x83\\xfe\\x73\\xa1\\xa3\\x3b\\x76\\xf2\\x69\\x53\\x31\\xba\\x86\\xd8\\xc9\\x85\\xef\\x1c\\x57\\xfe\\x2e\\x7e\\x4d\\xf1\\x93\\x5f\\xab\\x8a\\xf8\\x1a\\xe2\\xa7\\x7f\\x81\\x5f\\x73\\x0c\\xe5\\xdb\\xea\\xd2\\xfa\\xaa\\x18\\xea\\x1a\\x8f\\xf5\\x7b\\x90\\x3b\\x86\\x12\\xfa\\xed\\xab\\x64\\x43\\xb7\\x57\\x5c\\x11\\x49\\xb5\\xd6\\x90\\xcb\\xbe\\x2b\\xd7\\x68\\xd7\\x63\\x24\\xe5\\xd2\\xb5\\x6b\\x1e\\x45\\xff\\x72\\xc5\\x52\\x42\\x1f\\x10\\x64\\xd4\\x30\\xce\\x54\\xb9\\x42\\xbf\\xf9\\xb8\\x04\\x41\\x98\\x8a\\x1b\\xc4\\x57\\xde\\x31\\xd0\\x3f\\x8c\\xa7\\xbe\\xb7\\x5f\\x2a\\x82\\x99\\x3a\\x9e\\xaa\\xfc\\xb4\\x0f\\xbf\\xe1\\x2a\\xf1\\x54\\x55\\x3c\\xf2\\x0f\\xe2\\xa9\\x1d\\xf6\\x7b\\x45\\xee\\x78\\x2a\\xc6\\xf6\\x47\\xf0\\x1a\\xe3\\xa9\\x88\\x6a\\x7c\\x69\\x0a\\x41\\x67\\x23\\x59\\x86\\xd7\\x4a\\xac\\x66\\xfc\\x55\\xf6\\xfe\\x22\\x77\\x3c\\x35\\xd8\\x4e\\x47\\xfc\\x1a\\xe3\\x29\\x0f\\x7c\\xc4\\x46\\x1b\\xfd\\x19\\x7e\\x8a\\x07\\xfe\\x32\\xfb\\x54\\x91\\x2b\\x9e\\x9a\\x6e\\x8f\\x45\\x78\\x0a\\xa8\\xbc\\xf0\\x69\\x7d\\x6a\\xd0\\xfa\\xd4\\x10\\x1c\\x87\\xb1\\xab\\xaf\\x4f\\x3d\\x80\\x9f\\xb0\\x7f\\x2d\\x82\\x57\\x74\\x44\\x35\\xc8\\x9e\\xa4\\x71\\x9d\\x21\\x15\\xe2\\xe6\\x7b\\xfa\\x82\\x9e\\x11\\x2d\\x53\\x70\\x8c\\xd4\\x6a\\xf4\\x85\\xaa\\xa8\\xea\\x64\\x11\\x2c\\x28\\x97\\xf3\\xec\\x8e\\xfd\\x2e\\xb7\\xdf\\xdf\\x8d\\xcd\\xf4\\x04\\x38\\xb9\\x3f\\x3f\\x5c\\x2e\\xb7\\x55\\x7e\\x95\\xaf\\x51\\x3c\\xe7\\x67\\xf7\\x58\\x4d\\x3a\\x14\\x7a\\x12\\x34\\x2e\\x8f\\x7e\\xbc\\x46\\xd4\\xa6\\xee\\x11\\xf5\\x23\\xfb\\xfd\\x09\\x30\\x09\\xe6\\x63\\xb0\\x62\\x2f\\x1d\\x03\\x0f\\x50\\xac\\x56\\x6d\\x9b\\x04\\x2f\\xdb\\x88\\x1a\\x90\\x83\\xaf\\x98\\x07\\xae\\x8c\\xd6\\xf9\\xc2\\xaa\\x68\\x9d\\x5f\\x77\\x19\\x7e\\x2d\\x4f\\xbe\\xe9\\xaa\\xa2\\x29\\x3c\\xe7\\xb0\\xcb\\x79\\xaf\\x29\\x5a\\x87\\xa8\\xaa\\x68\\x5d\\x0c\\xf0\\xb2\\x3d\\xce\\xbd\\x68\\x7b\\x4e\\x63\\xae\\xd0\\x43\\x8b\\x30\\xae\\x3a\\xf7\\x82\\xa8\\x42\\x2e\\x38\\x3a\\x11\\x17\\xfa\\xc5\\xe5\\x38\\x1e\\x1c\\x19\\x03\\xeb\\x2a\\x9e\\x96\\x8d\\x6a\\x8c\\x0f\\x98\\xc4\\x31\\x05\\xad\\x7f\\xf5\\x79\\xa1\\x29\\x8e\\xb4\\xda\\x01\\xd6\\x66\\x62\\x58\\x2d\\x3e\\xb7\\xd7\\xe6\\xc2\\x63\\xe7\\xaf\\xb8\\xa6\\xea\\x8e\\xab\\xb9\\xe2\\x1e\\xc1\\x8b\\x57\\x64\\x2d\\xdc\\x91\\xf5\\x31\\x7b\\x04\\x0c\\x83\\xd4\\x72\\x39\\xca\\xee\\x52\\xae\\x2f\\x38\\x79\\xc6\\xc0\\x1e\\xd7\\x1f\\x38\\x86\\xe9\\x6e\\x4b\\x25\\x26\\x5f\\x76\\xc5\\xd7\\xac\\x8a\\x7f\\x4f\\xdb\\xd9\\x90\\x07\\xcd\\xcb\\xc5\\x23\\x76\\x39\\x74\\x80\\x46\\x35\\xc6\\xd4\\xff\\x34\\x56\\x7f\\xdc\\xde\\x05\\xd9\\x38\\xec\\x43\\x23\\x98\\x59\\x6e\\x6f\\x10\\x8f\\xfc\\x87\\x98\\x1a\\xdc\\x97\\xda\\x3e\\x87\\x3b\\xc0\\xc0\\x58\\xb2\\xdc\\x96\\x72\\x14\\xe1\\x0d\\xfb\\xb7\\x31\\xb5\\x72\\xce\\xad\\x9f\\xd8\\x13\\xc7\\x81\\x0f\\x4c\\x2b\\x97\\x8d\\x2a\\x43\\x60\\xd1\\x58\\x5b\\x64\\x11\\xee\\xf0\\x9a\\xe7\\x56\\x37\\xb2\\xa7\\x7b\\x5e\\xe1\\x9d\\x1e\\x73\\x6b\\xf1\\x58\\x08\\x85\\xfc\\x72\\xb1\\xa0\\xf2\\x43\\xb8\\x79\\xac\\xfd\\x07\\xbf\\xe1\\x94\\x53\\x0f\\x23\\xff\\x2f\\x62\\xf6\\x92\\xd1\\x18\\x16\\xf4\\x28\\xe7\\x53\\x70\\xc8\\xbe\\x29\\xcf\\xde\\x0d\\x49\\x7c\\x94\\x17\\xef\\xff\\x2a\\x66\\x5f\\x6a\\xdf\\x3b\\x01\\xfa\\x40\\x3c\\x46\\x58\\x30\\x65\\x8c\\xfd\\x09\\x46\\x58\\xd5\\x7a\\x76\\xcd\\x7f\\x9c\\xc6\\x2a\\x34\\x1b\\x8d\\x79\\x97\\xc7\\x57\\x55\\xe1\\x7a\\xd3\\x71\\xfc\\x86\\x72\\xfe\\xc9\\xd8\\xca\\x27\\xe4\\x06\\xa7\\xdc\\x63\\xfe\\x7d\\x7c\\x5d\\x96\\x09\\x89\\xe5\\x28\\xf0\\xa2\\x5c\\x7b\\x87\\x58\\x84\\x58\\xed\\x6b\\x8c\\xab\\x5c\\xa6\\xff\\x1b\\x71\\xd5\\x17\\x76\\x5a\\x11\\xc4\\xe3\\xe2\\x44\\x7c\\x5a\\xd1\\x89\\x7f\\xdd\\xc7\\x8e\\x92\\x19\\x9a\\xc7\\x76\\x57\\x89\\xab\\x5c\\xa6\\xff\\xbb\\x71\\xd5\\xc0\\x22\\x5c\\xf9\\x8c\\x2b\\x17\\xad\\x2a\\x76\\x6a\\x70\\x7f\\x91\\xff\\xb3\\x53\\x07\\x57\\xe0\\xff\\xbb\\xb8\\x0a\\xf1\\xd3\\xa0\\x77\\x39\\x4f\\xc3\\x09\\xf5\\xeb\\x3e\\x95\\x3f\\xf3\\x3e\\xbc\\x39\\xe1\\xb7\\x77\\x54\\x7a\\x8f\\xdd\\x4e\\x7c\\xc0\\x29\\x4a\\x29\\x03\\xe7\\x40\\x1f\\xb7\\xcd\\x30\\x32\\xf8\\xec\\xaa\\x2d\\xbc\\xab\\x5b\\x18\\x85\\xcb\\x6d\\x18\\x69\\x3f\\xcd\\xbf\\xed\\x53\\xf9\\x1e\\x74\\x11\\x13\\x3c\\xf4\\xee\\x8a\\xab\\x18\\x70\\x8c\\x61\\xfe\\x56\\x5c\\x75\\x7d\\x11\\xdc\\x7d\\xa9\\x5c\\x73\\x9b\\xe3\\x8a\\xab\\xda\\xff\\x8b\\xb8\\xea\\x0e\\x8d\\xd3\\x85\\x60\\x0e\\x4b\\xd7\\x5c\\xda\\xe3\\x1f\\xc5\\x55\\x71\\xae\\xb8\\xea\\x57\\x7b\\xfe\\x6c\\x9c\\x3e\\x76\\xcb\\x0b\\x15\\x99\\x49\\x42\\x5f\\x33\\xbb\\xee\\xff\\x22\\xa6\\x3a\\x62\\xbf\\x32\\x07\\x1e\\x87\\x7e\\xe5\\x62\\x16\\x84\\x56\\x6c\\x41\\x64\\x7b\\x15\\x0c\\x20\\x3e\\xaf\\xbb\\xdc\\xf6\\xce\\x6b\\x54\\xff\\x2c\\xa6\\xfa\\xd2\\xfe\\x74\\x0e\\xac\\xd4\\xb3\\x6a\\x36\\x9c\\xaa\\xe4\\x6d\\xc4\\xc5\\xca\\x63\\x3c\\xca\\x03\\xff\\x96\\x7f\\x1e\\xb3\\x79\\xc6\\x54\\x6f\\xd9\\xdf\\x3a\\xf1\\x1f\\x17\\xd3\\x2b\\x33\\x92\\x44\\x45\\xc5\\x0a\\x91\\xc9\\xbc\\xf8\\xa7\\x3e\\xe7\\xbe\\x4e\\x75\\xb5\\xab\\xfe\\x91\\x57\\x46\\x55\\x2f\\xdb\\x47\\x9d\\xd0\\xa2\\xb2\\x72\\x24\\x2a\\xc6\\x7d\\x9d\\xf1\\x3a\\xef\\x98\\x8a\\x62\\xa1\\xbf\\x8e\\xa9\\xf6\\x21\\xd6\\x1d\\xb2\\x5e\\x65\\x07\\x6d\\x3c\\xe2\\x6f\\xa1\\xe7\\x3d\\x31\\x94\\x5e\\xe9\\x75\\xa0\\xc7\\xa5\\x2a\\xaf\\x2b\\x55\\x9a\\x2d\\xcd\\xd5\\x21\\xfb\\xf9\\x99\\x30\\x01\\xfa\\x96\\xcb\\x75\\x9b\\x2b\\xc7\\x75\\xe2\\xef\\xea\\xcd\\xc2\\xd5\\x58\\x55\\x73\\xa0\\x62\\x57\\x8b\\xac\\x3c\\xc6\\xab\\xb8\\xaa\\xc8\\xea\\x67\\x7b\\xd5\\x0c\\x28\\x81\\x8e\\x18\\x58\\x55\\x96\\x76\\xe2\\xfb\\x30\\xb0\\x22\\x1e\\xaf\\x5c\\xbf\\xbb\\x6d\\x64\\x18\\x68\\xa5\\x3f\\x5f\\xbf\\x7b\\x04\\xee\\xaf\\xce\\x80\\x57\\xb5\\x13\\x8c\\x84\\xbb\\x2a\\xa7\\xf5\\x10\\x3d\\xec\\x21\\xbc\\xd7\\x7f\\xc3\\xf7\\x74\\x82\\xd7\\xed\\xaf\\x9c\\xf8\\x6f\\xf1\\x5f\\x2b\\x57\\x23\\x7c\\x65\\xac\\xb8\\x91\\xf8\\xef\\x50\\xa5\\xe3\\xa6\\x74\\xad\\x52\\xcf\\xe1\\x57\\xbb\\xaa\\x51\\x43\\x60\\xfd\\xbc\\xbd\\x6f\\x3a\\x06\\xd6\\xe8\\x02\\xf7\\x57\\xae\\xef\\x2e\\x7a\\x56\\x3c\\x28\\x4d\\xb7\\x5e\\xbc\\xe7\\x06\\x89\\x73\\xc3\\xdf\\x8b\\xad\\x36\\xcd\\x84\\xd7\\xca\\xc5\\xbb\\x95\\xcb\\x3b\\x89\\x7e\\xcb\\x5d\\xfb\\x3a\\xfe\\x31\\x8f\\x21\\xc2\\xed\\x10\\xfb\\xec\\x07\\x47\\xe3\\xec\\xd7\\xb3\\x5c\\x8e\\xb6\\xb3\\xed\\xa5\\xd9\\x30\\x94\\x97\\x56\\xed\\x17\\xa9\\xbe\\x76\\x25\\x4c\\xd3\\xe0\\x86\\xe5\\x03\\xf8\\x85\\xd2\\xbe\\x7f\\x05\\x8f\\x3e\\xc4\\x61\\x48\\x9c\\x48\\xac\\xfc\\x70\\x34\\x7f\\xa2\\xbc\\x5c\\x7c\\x5b\\x79\\x43\\x36\\x3f\\x7c\\xf4\\xe2\\x7c\\x6f\\xbc\\xaa\\x38\\x40\\xd1\\x58\\xfd\\x4f\\xe2\\xf7\\xef\\xec\\x03\\xa3\\xa1\\x27\\x0c\\xc3\\xb8\\xc8\\x7e\\x3f\\x1b\\x26\\xd1\\x35\\xb6\\xfb\\xfe\\x43\\xfc\\xee\\x11\\x05\\x7f\\xe0\\x70\\xea\\x01\\xba\\x42\\x1b\\xfb\\x70\\x36\\xcc\\xb2\\xb7\\x88\\x5b\\xbc\\xf5\\xdb\\xa2\\x3a\\xbe\\xd6\\xd3\\xa3\\x52\\xc2\\x3b\\xf0\\x0a\\xf1\\x8c\\xbc\\xc0\\xac\\x5e\\x5f\\x1d\\x1c\\x4b\\xd0\\xbc\\xef\\x85\\x3c\\x98\\x55\\xb9\\x53\\xce\\xad\\x31\\xbe\\xfe\\x3b\\x3e\\x10\\x52\\x1d\\x5f\\xf3\\x07\\x28\\xbe\\xe6\\xf1\\x57\\xc6\\xd7\\x7a\\xfd\\xf7\\xf7\\xe2\\xeb\\xfd\\x76\\x5f\\x18\\x04\\x9d\\xca\\xc5\\xde\\x4a\\x5c\\x15\\x3d\\x75\\xd5\\x3d\\x15\\x84\\x76\\xf5\\x98\\x4a\\x54\\x85\\xae\\x27\\xed\\xf1\\xd0\\x5f\\x5f\\x63\\x69\\x64\\x27\\x95\\xf3\\x42\\x3d\\xbc\\xd4\\x84\\xa9\\xe8\\xba\\xf5\\x9f\\x62\\x7a\\x84\\xc3\\x7b\\xec\\x65\\x50\\x1f\\x57\\x28\\xfc\\x7e\\xfb\\xd3\\x72\\xb8\\x9d\\xd7\\xbb\\x62\\x4d\\xa1\\x83\\x2a\\x1f\\x5f\\xe0\\x5c\\xc7\\xd7\\x55\\x81\\x5a\\xb5\\xcc\\x2e\\x30\\x1c\\xb2\\x3e\\x76\\xed\\x23\\xc1\\x98\\xaf\\xdc\\xfe\\x45\\xae\\x41\\xf7\\xf4\\x5c\\x43\\xb5\\xa8\\x8e\\xaf\\x40\\x28\\x3d\\xda\\x5b\\x86\\xb0\\x3c\\xa2\\x88\\xf5\\x35\\x47\\xd7\\x74\\x95\\x95\\x01\\xba\\xfd\\x8e\\x8a\\x04\\x98\\x9d\\xf7\\x8b\\xbc\\xbb\\xc6\\xb5\\x25\\xc5\\x57\\x88\\x8c\\xa2\\x7b\\xc6\\x27\\x35\\xde\\xa9\\x41\\xec\\x94\\x6a\\x70\\x7f\\xb8\\xb1\\x5c\\x0c\\xad\\x78\\x09\\xc1\\x7f\\x17\\xfb\\xd6\\x5e\\x76\\x5d\\xe1\\x5f\\xe1\\x7b\\x5c\\x13\\x1f\\x0d\\xd1\\x30\\x99\\x22\\x2c\\xc4\\xb7\\x2f\\xf2\\xf9\\x18\\x61\\xfd\\x09\\x7e\\x4d\\xf1\\xd5\\x5f\\xe0\\xa7\\x41\\x2f\\x8c\\x69\\x31\\x7e\\x47\\xfc\\xfd\\x90\\x22\\x96\\x5c\\x76\\xcf\\x2d\\x00\\xe3\\x2b\\x5e\\xd3\\x55\\xab\\xd4\\xea\\xe8\\x8a\\xc6\\x01\\xbb\\x8d\\x3d\\x71\\x2c\\xcc\\x04\\xbf\\x72\\x98\\x51\\x60\\xbf\\x20\\x5d\\xf3\\xe1\\x00\\xef\\xf8\\xea\\x6f\\xc4\\xed\\xba\\x2b\\x21\\xd2\\xb5\\x84\\xf3\\x9d\\xfb\\x7a\\x68\\xf5\\xfd\\xc8\\x3a\\xe9\\xbe\\x7a\\x5e\\xd5\\x77\\x23\\x9d\\xd1\\x90\\x57\\x1f\\x72\\x47\\x56\\xbf\\xd8\\x53\\x17\\xc2\\x1b\\x3a\\xb2\\xba\\x64\\x26\\xa8\\xc1\\x97\\x5d\\xef\\x73\\x8f\\x75\\x14\\xfb\\x98\\x02\\x27\\x26\\xe9\\x8a\\x4c\\xaa\\xee\\x98\\x7a\\xe8\\xac\\x71\\xf5\\xdc\\x71\\xc1\\xbe\\x6b\\x1e\\xac\\xd2\\x73\\xc7\\x5d\\x17\\x2f\\xcd\\x69\\xa5\\x06\\xdb\\x9b\\xa0\\x7d\\xcd\\xf7\\x62\\xd5\\xd5\\x90\\x53\\x6b\\x9c\\x4e\\xbf\\xb5\\x5f\\x9c\\x4f\\xc8\\xbc\\x37\\x9c\\xb8\\xf4\\x05\\x42\\x57\\xee\\xc6\\x51\\xa4\\xc6\\xfb\\xd3\\x7f\\x07\\xdb\\x73\\x2a\\xfd\\xd4\\x7e\\x6a\\x1e\\x7c\\x85\\xd8\\xff\\x13\\xc1\\x15\\x3e\\x89\\x6a\\x40\\xc5\\x7e\\xd1\\xb8\\x86\\xfb\\xe9\\xae\\x6b\\x54\\x7f\\x7a\\x3f\\xdd\\x03\\x76\\x8d\\xfd\\xe6\\x5c\\xf8\\xc2\\x75\\x5d\\xb8\\xb5\\xba\\xde\\x1d\\x4b\\x35\\xf7\\xbe\\xe7\\xa7\\xaf\\x4f\\xe9\\xf8\\xcc\\x69\\xf2\\xab\\xdd\\xf3\\x5b\\x08\\x1f\\x13\\x0e\\x19\\xeb\\xb2\\xbd\\x07\\xae\\x38\\xca\\x15\\x45\\x25\\xd7\\x18\\x43\\xed\\xb2\\x07\\xcf\\x87\\x35\\x7a\\xca\\x5c\\xb7\\xa7\\x22\\xbc\\x9d\\x14\\xd0\\x83\\xd5\\xb8\\x2f\\x42\\xd1\\xbe\\x08\\x44\\xf3\\x71\\xb1\\x73\\xd5\\xf8\\xe9\\xac\\x9d\\x3b\\x1b\\xde\\x82\\xc1\\x18\\x3f\\x55\\x44\\x27\\xc9\\x54\\x77\\xfc\\x74\\xc5\\xfe\\x90\\xea\\xb9\\xcd\\x0b\\xf7\\x4f\\xae\\x4b\\x1d\\xb1\\xef\\x9e\\x03\\x1f\\x62\\x84\\xce\\xa7\\x61\\x84\\x3e\\x37\\x49\\xf6\\xb4\\x57\\xf1\\x61\\x35\\x62\\x93\\xad\\x75\\xe0\\x24\\xaa\\xb0\\xaf\\xdc\\x7b\\xe2\\x69\\xed\\xbd\\xf6\\xe3\\xf3\\x60\\x2f\\x24\\x97\\x7f\\xc6\\x27\\x55\\x7c\\x95\\x22\\xd3\\x2b\\x17\\xe2\\x72\\xd5\\x6b\\xbf\\x8c\\x47\\xec\\xfc\\x57\\xf7\\x01\\xbc\\xec\\xfd\\xee\\x8d\\xf0\\xa9\\xb6\\x77\\x5c\\xc5\\x81\\x24\\x39\\xb2\\xe2\\x80\\x8c\\xaa\\x71\\x7f\\x87\\x9e\\x33\\x39\\x37\\x85\\x73\\xc0\\xb8\\x72\\x4f\\x8f\\x3b\\x6a\\x5a\\x33\\x07\\x3e\\xc5\\x35\\x4a\\x45\\x79\\x92\\xfc\\x64\\x31\\xbb\\x72\\x8f\\x91\\x33\\x0e\\xff\\x53\\xdf\\xd1\\xab\\xfc\\x7b\\x67\\xf2\\x63\\xe5\\x72\\xe2\\xa5\\x47\\x32\\x54\\xa7\\x9a\\xf7\\x3e\\xa1\\x0e\\x39\\xf7\\x30\\xcd\\x65\\x57\\xa2\\xaa\\x44\\xfc\\xc3\\x9e\\x32\\x03\\x56\\xc0\\x84\\x72\\xf1\\xe6\\x85\\xca\\xee\\xdd\\xf9\\x17\\x90\\xad\\x8f\\x44\\xa8\\x69\\x8f\\x96\\x72\\xed\\xef\\xbb\\xaa\\x1f\\x79\\x44\\x48\\x7f\\xd8\\x8f\\x95\\x41\\x39\\x8c\\xc0\\x08\\xa9\\x32\\xb7\\x27\\xdf\\xef\\xda\\xa3\\x95\\xf2\\xdf\\xfd\\x68\\x87\\xbd\\x7c\\x32\\x06\\xc9\\x7d\\xcb\\x21\\x16\\x5a\\x55\\xbe\\xd9\\x87\\x1f\\xb1\\x57\\x89\\x27\\xbd\\xf6\\xc0\\xfd\\x6b\\x5b\\x3b\\x81\\x79\\x83\\xca\\x43\\xfd\\xf9\\x91\\xca\\x3d\\x72\\x76\\x8d\\xfb\\xb7\\xfe\\xda\\xd6\\xce\\x21\\x7d\\x4d\\x29\\xbc\\x4f\\x60\\x3d\\xf9\\x61\\x7d\\xdb\\xf8\\xf2\\xfd\\x83\\xce\\x3e\\xce\\x39\\x0e\\xeb\\x56\\x0d\\xb6\\xae\\x0a\\x8d\\xbf\\xb7\\x07\\x8d\\x82\\x7b\\x61\\x64\\x39\\x2e\\x3a\\x1f\\xb3\\x27\\xe5\\xc1\\x0d\\x24\\xef\\x15\\xfb\\x1b\\xb5\\x7d\\xfe\\xc4\\xe6\\x84\\x47\\xf3\\xf8\\xb7\\x76\\xbf\\xc1\\xf0\\xa8\\xf6\\xea\\x02\\x3b\\xd1\\xce\\x9f\\x0c\\xb7\\xf2\\x67\\x8e\\xd7\\xbc\\xff\\x52\\x5f\\x6b\\xfd\\x2b\\x59\\xb5\\x43\\xce\\x1d\\xc7\\x7f\\x28\\xe7\\x25\\x95\\xcb\\xc6\\xf2\\x2d\\xbc\\x37\\xab\\x71\\x7f\\xe8\\x5f\\x8e\\x43\\x1e\\xfe\\xb3\\xc5\\x7e\\x77\\x02\\x4c\\x83\\x29\\x18\\x1d\\xd9\\xab\\xb3\\xa0\\xd4\\x75\\xcf\\xb1\\x5f\\x4d\\x7b\\x36\\x04\\xa0\\x91\\xbd\\x6e\\x3c\\x26\\x57\\x5d\\x63\\xb9\\xc2\\xc6\\xeb\\xc6\\x90\\xe4\\x18\\x00\\xec\\xca\\x82\\x5b\\xed\\x2d\\x72\\x23\\xab\\x71\\x2f\\xe6\\xdf\\x90\\x9b\\x6c\\x3c\\x0a\\x56\\x96\\x43\\x33\\x7b\\x5f\\x0e\\x2c\\x10\\x8f\\x5f\\x76\\xbd\\x95\\xf6\\xe8\\x39\\xef\\x41\\x83\\xe4\\x5c\\x59\\x4a\\x56\\x47\\x70\\x5e\\xf1\\x1b\\xb8\\xe3\\x60\\x5c\\x5a\\xdc\\x07\\x81\\xb0\\xb0\\x5c\\x7c\\x50\\x91\\x51\\x4e\\x7b\\x8a\\x6a\\xbc\\x2e\\x4c\\x78\\x3e\\x4a\\xfa\\x78\\xe1\\x5d\\x1e\\xb5\\xa6\\x54\\x41\\x06\\xeb\\x9b\\x0d\\x4d\\x2a\\xbe\\x29\\x97\\xcd\\xbf\\xf2\\xc2\\xf4\\xba\\xdf\\x5c\\x33\\x6a\\x64\\x8d\\xb1\\xf0\\x0f\\xf6\\x62\\xa8\\x07\\xa5\\xe5\\x3c\\xa3\\xf2\\x83\\x72\\x7e\\x86\\x1b\\x57\\xdd\\x17\\xf2\\xf7\\x78\\xad\\x8e\\xb0\\x93\\x61\\x4c\\x39\\xb4\\xb0\\xf7\\x94\\xc3\\x18\\x52\\x29\\x03\\xbb\\x9d\\x2c\\x87\\xcf\\xd5\\x38\\xe6\\xa7\\xcf\\x58\\xb1\\x2c\\xa6\\x2f\\xdd\\xe9\\x8d\\xf1\\xfa\\x94\\x14\\x1d\\x55\\x9b\\xf4\\xa8\\x18\\xfd\\xc2\\xe7\\xa3\\x9a\\x26\\xee\\x49\\x6c\\x86\\xbf\\x4d\\x47\\xa9\\x71\\x7b\\x8b\\xf0\\xdf\\x5e\\xe7\\xbe\\xf8\\xcf\\x69\\x5f\\xbc\\xde\\x5f\\xef\\xff\\xa6\\x60\\x96\\xe9\\xda\\x17\\xef\\xdc\\x57\\xaf\\x99\\xa8\\x7b\\xfb\\x43\\xc7\\x78\\xb7\\xca\\xc7\\x78\\x8e\\x73\\x4b\\xbd\\xfd\\x84\\xde\\x1e\\x5f\\x43\\x5d\\xc3\\xc7\\x55\\xd7\\xf9\\xdc\\x80\\xd2\\x4f\\x1e\\xe8\\x67\\x06\\xec\\x37\\xf5\\x1e\\x77\\xe7\\x23\\x03\\xfb\\x5c\\x75\\xdd\\x7b\\xeb\\xf5\\x33\\xb3\\xc8\\xbd\\xbf\\x7f\\x70\\xdd\\xda\\xc1\\x8c\\x25\\x26\\x6d\\xd1\\x4f\\x09\\x20\\xf7\\x61\\x35\\x6e\\x97\\x0f\\x23\\xe4\\xf9\\x57\\xd9\\x2d\\x3f\\x18\\x1b\\x53\\x6f\\x79\\xef\\x97\\x87\\x19\\xba\\x59\\x6c\\x53\\x78\\xb4\\xa9\\x4f\\x09\\xae\\x9b\\xee\\xa7\\x9b\\x8d\\x8a\\x8e\\x8e\\xa9\\xeb\\x6a\\xd9\\x79\\xb2\\xcd\\x55\\x1b\\x6f\\xe7\\x7a\\x72\\xe1\\x6a\\xcd\\xf7\\x72\\x3e\\xc7\\x70\\x39\\x07\\x07\\x9d\\x0f\\x49\\x70\\xfb\\x82\\xba\\x08\\xc3\\xe9\\x79\\x02\\xad\\x2f\\x1f\\x10\\xa8\\xeb\\x6f\\x93\\xd6\\xa3\\xae\\x11\\xb4\\x41\\x04\\xc4\\xa5\\x84\\x4d\\x5c\\xb1\\x02\\x3e\\xb2\\x5f\\x79\\xe8\\x8c\\x71\\xff\\xd2\\x60\\xfb\\x50\\x20\\xc4\\x79\\x3d\\xbb\\xe0\\xaf\\x75\\xe5\\xeb\\xeb\\x0f\\xc2\\xdf\\x72\\x1e\\x3d\\x53\\x75\\x62\\x53\\xa4\\xfb\\x71\\x8a\\xeb\\x57\\xac\\xe8\\xee\\x7c\\x92\\x02\\x31\\xf6\\xb9\\x9f\\xa3\\xb8\\xfc\\x79\\x11\\x7d\\xec\\x96\\xb0\\xfc\\x08\\xc4\\xe9\\x2d\\x2e\\xe1\\xcc\\xcb\\x9f\\x17\\x41\\x94\\xa5\\x4b\\x8f\\xdd\\x89\\x7e\\x8c\\x61\\x0f\\x8f\\xa3\\xf3\\x00\\x93\\xd2\\x6b\\xfb\\x81\\x8f\\x0f\\xae\\xe6\\x2c\\xff\\x00\\xd3\\x8f\\xf9\\x0d\\xd4\\x87\\xfa\\xfa\\xf0\\x20\\x1f\\xef\\x93\\x7c\\xab\\xce\\xef\\xad\\x3e\\xb8\\x57\\x1f\\xc2\\x52\\x6b\\x36\\x44\\xcd\\x99\\x63\\x1f\\x9b\\xcd\\x97\\xc0\\xf3\\xf6\\x88\\xcd\\x76\\x2a\\x6c\\xd4\\xcf\\xbe\\x3b\\x8e\\xcb\\x3d\\x66\\xa7\\xd0\\x26\\x22\\x5b\\x9f\\xaf\\x61\\x3e\\xc9\\x7e\\x83\\x69\\x21\\x26\\x5f\\xc4\\x4e\\x3a\\xce\\xe1\\xdc\\x10\\x2c\\x78\\xb2\\x4c\\x35\\x52\\xdb\\x1b\\x61\\x8d\\x65\\xfb\\xf6\\x21\\x4d\\x58\\x7c\\x48\\x0a\\xe0\\x2f\\x4b\\x4c\\x49\\xa9\\xa1\\xfe\\x4a\\xe8\\xed\\x51\\xbf\\x9e\\xae\\x9f\\x44\\xf5\\xdc\\x20\\xba\\x2a\\xfe\\x62\\x6d\\xe7\\xb3\\xf7\\x97\\xd5\\x7f\\x95\\xfd\\xf8\\x9f\\xda\\x7f\\x0d\\xd2\\xff\\x45\\xfb\\x2b\\xdd\\xf5\\xf9\\xa3\\x70\\x8d\\xe3\\xf7\\x10\\xd3\\x7c\\x12\\x24\\xec\\xd1\\xed\\x4b\\xd1\\x85\\x37\\x8b\\x6d\\xd6\\x1a\\xab\\xf2\\xc6\\x8d\\xaf\\xd2\\xfe\\x95\\xf5\\xb5\\x1e\\xfe\\x4b\\x7d\\xad\\x87\\xff\\x52\\xff\\xb5\\xea\\xf6\\xd3\\xff\\xa4\\xbe\\xe3\\x6b\\xf4\\xaf\\x4c\\xb3\\x33\\xd6\\x9f\\x6c\\x93\\xfd\\x1d\\x5f\\x43\\x49\\x88\\xc1\\x17\\x7d\\x71\\x5e\\xd7\\xe6\\x50\\x5b\\xd4\\xf5\\xaf\\x5b\\x4f\\xaa\\xc6\\x22\\x3a\\xda\\xbb\\x36\\x3d\\xa7\\xa5\\x5f\\x64\\x74\\x8b\\x47\\xfd\\x95\\x38\\x48\\x7a\\xd5\\x8f\\x14\\x31\\xfe\\x31\\xd1\\x57\\xad\\xbf\\x01\\xeb\\x0f\\xf2\\xa8\\xff\\xaa\\x63\\xc3\\xe5\\xed\\xff\\x69\\xfd\\xcb\\xdb\\x7f\\xed\\x1f\\xb6\\xbf\\x1a\\xeb\\xcf\\x22\\xfd\\xe9\\xfa\\x4d\\xf8\\xa3\\x27\\xc8\\xfa\\xc8\\xc5\\x1e\\xa7\\xf7\\x35\\x81\\x00\\x1e\\x10\\x81\\xf5\\xc1\\xd7\\xf7\\x2a\\xf5\\x6f\\xa9\\xaa\\xef\\x94\\x7f\\x0f\\xb6\\x8f\\x38\\xb8\\xea\\x0e\\xc1\\xf6\\xc3\\x45\\x0c\\x8f\\x69\\xa2\\x19\\xa8\\x5b\\xd7\\x13\\x20\\x84\\xf4\\xef\\xdd\\xbe\\x96\\xff\\xfd\\xaa\\xfa\\x6e\\xf9\\x6b\\xac\\x5e\\x23\\xff\\x28\\xbf\\xe3\\x84\\x77\\xfd\\xc8\\x3f\\xad\\xcf\\xe6\\xa3\\xff\\x0c\\xa1\\xfe\\x33\\xd3\\xd5\\xff\\xcf\\xb9\\xfa\\xcf\\x77\\x8e\\xf3\\xac\\xc1\\x6a\\x0e\\xb1\\xa2\\xc5\\x1a\\xc7\\x96\\x74\\xdf\\x16\\xcd\\x99\\xd9\\x58\\x34\\x6f\\x7e\\x19\\x48\\x0d\\x18\\x2b\\xa1\\xe1\\x7f\\xc6\\xa8\\x1e\\x07\\xfe\\x3d\\xc6\\x6b\\xff\\x9a\\x8f\\x95\\x6e\\x0c\\xec\\x4f\\x41\\xce\\xf1\\x80\\x5d\\x44\\x8f\\x68\\xb0\\x5a\\xf0\\x04\\x88\\x5a\\xe3\\xf8\\x32\\xdd\\x37\\xaa\\x01\\x62\\x40\\xad\\x5a\\x7f\\x89\\x81\\xfa\\x08\\x44\\x9b\\x98\\x4e\\xac\\x6a\\x3e\\x10\\xa3\\x45\\x92\\xe6\\xa3\\x69\\xd3\\xbf\\xc6\\x78\\x95\\x7d\\xeb\\x81\\x11\\xf7\\x97\\x18\\x6d\\x5a\\x33\\x56\\x13\\xce\\x6b\\x5e\\xbc\\xd4\\x59\\x75\\x55\\x10\\xf4\\xad\\xdd\\xe8\\x5b\\xe3\\xcd\\x63\\xee\\xbe\\xc1\\x26\\x6d\\x38\\x88\\x08\\x9f\\x38\\x16\\x70\\xa1\\xb5\\xea\\x58\\xcb\\x2e\\xe0\\x8c\\x1e\\xc4\\x21\\xd0\\x08\\x0c\\x40\\x0f\\xe3\\x55\\x5d\\x84\\x10\\xb4\\x1c\\x35\\x63\\x88\\x54\\x7d\\xdf\\xf0\\x6f\\x63\\xbc\\x83\\x18\\x73\\x2e\\xc7\\xe0\\x8f\\x3a\\x7e\\x63\\x15\\x68\\x99\\x4f\\x1c\\xb3\\xb8\\x60\\x29\\xe9\\x0d\\xab\\x30\\xe4\\xf2\\x86\\x30\\xbf\\x21\\x34\\x4c\\xf7\\x0b\\xec\\x19\\xd4\\x10\\xf0\\x7f\\x43\\x0f\\xd8\\x90\\xcc\\x4c\\x7d\\xd0\\x90\\x13\\x9d\\xfd\\x25\\x3e\\xf2\\x1a\\x80\\xf8\\x4d\\xd3\\x23\\xab\\xf1\\x07\\xd4\\x04\\x5a\\xc5\\xaf\\x4b\\xe7\\xc7\\xdc\\x3a\\x67\\x93\\xd8\\x61\\x07\\x69\\x8e\\x3d\\xe1\\x94\\x9a\\x1d\\x44\\xa9\\x63\\xde\\xe0\\x50\\x67\\x8d\\x63\\x5b\\xba\\x5f\\x9d\\x28\\x54\\x3e\\xaf\\x72\\x25\\x27\\xd0\\xd5\\x71\\x44\\x2a\\xd4\\xff\\x8f\\x38\\xdf\\x39\\x48\\x42\\xf0\\x73\\x6a\\x90\\xdd\\x8f\\x12\\xba\\x70\\xb6\\xfc\\x6b\\x1c\\xe4\\x2b\\xfe\\xef\\xe1\\xa0\\xbe\\xe7\\x9a\\xbd\\x42\\x9b\\xe8\\xab\\xa9\\x21\\x86\\x65\\x37\\x4b\\x62\\xb5\\xd2\\x71\\x98\\x0d\\x08\\x69\\xc2\\x7d\\x26\\xf8\\xf8\\x2b\\xd3\\x3d\\x4d\\xd3\\x3a\\xe6\\x71\\x7b\\xb8\\xd2\\xe7\\xed\\xd6\\x63\\x19\\xe9\\x8d\\x6a\\x85\\x86\\x86\\xf9\\xb2\\x30\\xc9\\x44\\x4c\\x74\\xad\\x5a\\x61\\xe1\\x5c\\x8d\\x1b\\xc9\\x4d\\xfc\\x0d\\x0b\\x17\\x61\\xa1\\x51\\x81\\xe3\\x46\\x46\\xb9\\x8e\\xda\\x4d\\x0b\\xae\\x3a\\xcb\\x3e\\xc4\\xf3\\x68\\x64\\x15\\xdc\\xa0\\x61\\xd3\\x14\\x3a\\x19\\x2e\\xc4\\x75\\xfe\\xa8\\x7e\\xf5\\x82\\x3e\\xc0\\x86\\x45\\xa8\\x7c\\xbb\\x68\\xc4\\x94\\x01\\xad\\x73\\x06\\xdc\\xf7\\xc2\\xc3\\xab\\xed\\x03\\x10\\xdc\\xf5\\xe0\\xdd\\xa7\\xa1\\x5e\\xa8\\x5d\\x10\\xb6\\xc3\\xaf\\x78\\xbe\\xc8\\x7c\\xea\\x9e\\xc7\\x17\\x56\\xe0\\x12\\xed\\xd9\\xd1\\xe3\\xed\\xdf\\x7e\\xd6\\xfc\\xe9\\x33\\xf7\\x3b\\xe1\\x5a\\x23\\x92\\x75\\x4f\\x6f\\x14\\xe4\\xef\\x1f\\x10\\x6a\\x59\\x11\\x01\\x22\\x42\\x44\\xd5\\xf6\\xf1\\x09\\x0c\\x0e\\x0e\\x08\\x64\\x22\\x6b\\x24\\x93\\xf8\\x1b\\x10\\x16\\x28\\x02\\xf4\\xe1\\xad\\xc9\\x1e\\xcc\\xa5\\x7a\\xf2\\x47\\x71\\x21\\xf2\\x17\\x99\\x74\\x4d\\x27\\x80\\x5a\\xc4\\x1b\\xe8\\x83\\xf6\\x43\\xc2\\x0d\\x19\\x93\\xd3\\x3d\\xb9\\x67\\x4a\\xe5\\xc8\\x50\\xfb\\x22\\x5c\\xcf\\x8b\\x42\\xc1\\xb8\\xcf\\x1e\\xee\\xf3\\x99\\x4c\\xcb\\x4e\\x92\\x3d\\x9e\\x18\\x5f\\xb1\\x56\\x2d\\xac\\xf0\\x79\\xf8\\x46\\x7e\\xe4\\x82\\x63\\xf1\\xa3\\x4e\\xdd\\x39\\xce\\x90\\xee\\x62\\x58\\x8f\\xf4\\x38\\x16\\x13\\x18\\x13\\x1a\\x64\\xd4\\xae\\x1d\\x14\\x5b\\x3f\\x34\\x34\\x38\\x28\\x28\\x38\\x06\\xe3\\x70\\x11\\xe1\\x3b\\x6e\\x64\\x84\\xac\\x2b\\xc6\\x8d\\xac\\x1b\\xe6\\x7d\\x84\\xb2\\xf7\\x11\\xcf\\xae\\x03\\x2c\\xe9\\x64\\x84\\x4e\\xce\\xa3\\x5b\\xa3\\xc1\\xa5\\xba\\xd8\\x10\\x3a\\xba\\xb5\\x51\\x53\\xf8\\xc4\\xef\\xa1\\xe5\\x8f\\x3f\\x7f\\xef\\x8b\\x55\\xda\\xe3\\x81\\xf6\\xe7\\xf6\\x36\\xfb\\x90\\xbd\\xc9\\x17\\x8e\\x2e\\x5a\\x70\\xf1\\xc4\\x8c\\xaf\\x9e\\x7b\\x7c\\xe1\\x2e\\xbe\\x01\\x35\\x58\\xb9\\xac\\xd8\\x7e\\xdc\\x7e\\xb0\\xe2\\xbc\\x8e\\xd5\\x0f\\xb1\\x89\\xd0\\x40\\x14\\x32\\x5f\\x8c\\x7a\\xc3\\x56\\x05\\x5a\\xef\\x43\\x6b\\x16\\xce\\x04\\x24\\x31\\x7d\\x34\\xa2\\xf3\\x54\\xbf\\xd8\\x90\\x2b\\xce\\x9f\\x81\\x06\\xf7\\x2e\\xb1\\xbf\\x5b\\xf4\\xc8\\xfd\\x8b\\xde\\x6a\\xd5\\x29\\x2d\\x31\\xb1\\x53\\xa7\\x44\\xf8\\xe5\\xc3\\x8d\\x70\\xcb\\xa6\\xf7\\x3f\\x5e\\xbf\\xb8\\x70\\xca\\x7d\\xf7\\x4d\\x2e\\xd6\\xba\\x70\\x5c\\xc7\\xa6\\xb1\\xf7\\x31\\x4e\\x32\\x58\\xe4\\x9b\\x9c\\x4b\\xf6\\x3e\\xe8\\xb7\\x6b\\x4a\\x48\\xd4\\xf8\\xa1\\xfa\\x39\\x69\\x7a\\x95\\x48\\x72\\x88\\xb1\\x76\\xfb\\x33\\xd3\\xf8\\xa8\\xa9\\x77\\xce\\xa9\\x0c\\xc4\\x35\\xdf\\xb7\\xac\\x04\\x1a\\x23\\x5f\\x75\\x59\\xc4\\x1b\\x7e\\x3e\\x41\\x9a\\x2d\\x7d\\xed\\xad\\x8d\\x3e\\xfe\\x50\\x87\\xd9\\x8d\\x53\\x3a\\x43\\x3b\\xfd\\x7e\\x38\\x7d\\xce\\x82\\xeb\\x9d\\x37\\x81\\x60\\xe2\\xff\\x06\\x11\\xf6\\xb7\\xd1\\x93\\x26\\x65\\x25\\x8f\\x1f\\x15\\xfc\\x76\\xc8\\x92\\x1b\\xcb\\xef\\x6d\\xd1\\x77\\x5c\\xcb\\x81\\xe1\\x50\\x52\\x32\\xed\\xda\\xd2\\x81\\xbd\\xbb\\xd7\\x1f\\x96\\x6b\\x95\\x94\\x4e\\x9b\\xd8\\x66\\xc8\\x80\\xeb\\x62\\xd3\\x63\\x17\\xd1\\x1a\\x73\\x27\\xcb\\x83\\x56\\xd8\\x5e\\x43\\x56\\xff\\xed\\xc0\\xa0\\x20\\x51\\x3b\\xa2\\xde\\x1a\\x68\\xfd\\x86\\xe9\\x23\\xd6\\x90\\x2e\\xf4\\x39\\x91\\xa1\\xb4\\x08\\x71\\x9e\\x73\\xd8\\xb4\\x1d\\xaa\\x21\\xa5\\x6d\\x3c\\xae\\xb2\\xf1\\x0f\\x2d\\xa2\\xdc\\x6c\\x98\\xb5\\xa0\\xd5\\x03\\xf7\\xdf\\xb6\\x22\\xe0\\x9d\\xa0\\x29\\xc5\\xf7\\x76\\x4d\\x5b\\x98\\xdc\\xa6\\x55\\xaa\\x7c\\x2b\\xe8\\x91\\x1b\\x6e\\x7e\\xf0\\xb6\\x47\\xa0\\x47\\xfe\\xec\\xd9\\x53\\x83\\x26\\x8d\\x1b\\xbd\\x68\\x64\\xf3\\x84\\xa4\\xc4\\x80\\xfc\\xb2\\xc2\\x71\\xf3\\x5b\\x35\\x40\\x5b\\x7c\\x80\\x32\\x67\\xa0\\xae\\x7c\\x59\\x30\\x6b\\xa2\\x9f\\x2c\\xe7\\x4c\\x4a\\x2b\\x28\\xc8\\xe0\\x5a\\x6b\\x01\\xcc\\xa8\\xd2\\x9a\\xeb\\xf5\\x26\\xb8\\xda\\x88\\x88\\x4b\\xd1\\xc7\\xc3\\xe2\\x8a\\x03\\x52\\xda\\x19\\x66\\xf2\\xbe\\x57\\x70\\xbd\\x3f\\x6a\\xdd\\x14\\xfb\\x18\\xd4\\x5e\\xb3\\x0d\\xcc\\x07\\x1f\\x9c\\x03\\xdf\\xdb\\x8d\\x17\\xc2\\xc4\\xd8\\x7a\\x71\\x0e\\xe7\\x7a\\x7a\\x07\\xda\\x3c\\x11\\xdb\\xa9\\xcb\\x1a\\xa6\\xfb\\x06\\x45\\x86\\x9a\\x22\\x2a\\x4a\\xd4\\x0a\\x7b\\x1f\\xe1\\x7d\\xaa\\x4c\\x8f\\xad\\x44\\xa6\\x7a\\x8b\\x7b\\x0d\\x09\\x6a\\xc6\\x85\\xe1\\xd2\\xc9\\xa4\\x17\\xc6\\x25\\x3e\\x77\\xf7\\xdc\\x47\\xc2\\x56\\x87\\x67\\xb7\\xef\\xda\\x39\\xb5\\x53\\xab\\x97\\x62\\xe0\\x77\\xfb\\xd5\\x80\\x0e\\xfd\\x66\\xdf\\x03\\xc5\\x73\\xee\\x99\\x52\\x10\\x38\\x2a\\xbd\\xd3\\x35\\x69\\x89\\xf0\\xfa\\xc2\\x65\\x8d\\x9d\\xcf\\x9a\\xef\\xc7\\xb6\\x9b\\xa0\\x9e\\x23\\x58\\x03\\xd6\\x08\\x27\\xf4\\x10\\x11\\xe0\\x13\\x16\\x26\\x82\\x7c\\xb4\\x85\\xeb\\x7b\\xb6\\x1e\\x9a\\x1a\\x5a\\xdd\\xbe\\xeb\\xe5\\x46\\xfa\\xa0\\x6e\\xf3\\x0a\\x5f\\x6c\\xf2\\xe0\\xad\\x0f\\x3c\\xbe\\xe2\\xa1\\x9c\\x85\\xd1\\xaf\\x44\\x64\\xcc\\xf0\\xed\\x58\\x50\\x7c\\xcb\\x5b\\xed\\xda\\xb5\\xe9\\xd0\\x29\\x39\\xa9\\x1d\\x4c\\x9e\\xbd\\xe8\\xbd\\x35\\x9b\\xbf\\x18\\x9a\\x17\\xd1\\x6b\\x63\\xe7\\x9b\\xcb\\xda\\xa5\\xb7\\x4f\\xbc\\xb6\\x7f\\x3a\\xe9\\xe1\\x30\\xea\\x3b\\x1a\\xf5\\xe0\\xcf\\x42\\x3e\\x60\\x0a\\x55\\xec\\xcb\\xfc\\x9c\\x2a\\xc6\\x66\\x03\\x79\\x44\\x5c\\x5b\\xf4\\x31\\x7d\\x75\\x22\\x7a\\xe6\\xf8\\xa4\\x0f\\x93\\xb3\\xe7\\xda\\xb3\\x79\\x07\\xfe\\xc3\\x0b\\x6b\\x56\\x8d\\xcd\\x7a\\x65\\xd5\\x73\\x8b\\xf4\\x5a\\x7b\\x17\\xca\\x13\\x8f\\xf2\\x44\\xb2\\x58\\xd6\\x1c\\xf5\\xe9\\x13\\xe1\\xe3\\x13\\x17\\x13\\x23\\xea\\x90\\xcb\\x36\\xf5\\x14\\xc8\\xfd\\x06\\x4c\\xf7\\xcb\\xae\\xdc\\xaf\\x6c\\x72\\x1f\\xfc\\x14\\xd7\\x30\\x22\\x1c\\xc5\\x09\\x73\\x27\\x20\\xfe\\xb1\\xc5\\xf7\\x3c\\xd1\\xb7\\x63\\x6a\\xc7\\xbb\\xef\\xbc\\x7d\\x49\\xa7\\x76\\x9d\\x7b\\x6f\\x1d\\x3f\\x6e\\x7c\\xeb\\xc4\\xb0\\xb2\\xa2\\xd2\\x2e\\x89\\xd0\\x67\\xea\\xcc\\x19\\x53\\xba\\x66\\x85\\x45\\x8c\\x68\\x37\\xa6\\x68\\x52\\x76\\xca\\xc8\\x88\\x90\\x91\\x60\\x8c\\x1a\\x35\\xbe\\x95\\xfd\\x5b\\xc1\\xe4\\xd2\\x74\\xe7\\xf5\\x87\\x6f\\x5c\\xfa\\x0e\\x47\\xfe\\x50\\xdf\\x31\\xa6\\xf0\\x0b\\x0b\\x08\\x10\\xb5\\xc3\\x34\\x7b\\x3e\\x57\\xd5\\x37\\xd9\\xbb\\x9d\\x5b\\xf3\\xb1\\xc2\\x4b\\xdd\\x2b\\x1f\\x9a\\xba\\xa0\\xde\\xcb\\xb5\\x7b\\xcc\\xf4\\x6f\\x5f\\x5c\\x74\\xd3\\xd2\\xbb\\xa0\\xd9\\x47\\x69\\xad\\xdb\\xb4\\x4b\\x49\\x6e\\x9d\\x06\\xbf\\x7f\\xf1\\xd9\\xa8\\xdc\\x5a\\xfd\\x3f\\xe9\\x7c\\xc7\\xf4\\x1b\\x6e\\xb3\\x4f\\x76\\xe9\\xdd\\x35\\x35\\xa5\\xc7\\xb5\\x4e\\x5e\\xde\\x51\\x6f\\x73\\xe7\\x39\\x0c\\x41\\xb8\\x32\\xf7\\x0d\\x0c\\x94\\xe0\\x5a\\xde\\x3b\\x3b\\x96\\x5e\\xd9\\xa7\\x44\\xba\\x0e\\xfe\\x09\\x4b\\x86\\xf6\\x5f\\xff\\x30\\xbe\\xac\\x60\\x3f\\x3f\\x98\\xff\\xdd\\x16\\x33\\xde\\xff\\x75\\xdf\\xd7\\xc2\\x5f\\x78\\x21\\x9c\\xce\\x00\\xae\\xfc\\x55\\xbd\\x0d\\x3d\\xab\\xb0\\xfc\\x0d\\x83\\xab\\x40\\xdf\\x6a\\x2c\\x11\\x41\\xd7\\x08\\x92\\xc3\\x5c\\x68\\x5f\\x8d\\xff\\xe1\\xeb\\xdd\\x5b\\xbe\\xcb\\x3f\\xc8\\xf7\\x17\\x18\\xb3\\x7d\\x5f\\xf7\\x1f\\x6c\\x9f\\xd6\\x60\\x6e\\xbe\\xe0\\x63\\xc4\\x0a\\x66\\x75\\x58\\x74\\xba\\x7f\\x64\\x98\\xe4\\x11\\x51\\x51\\xfe\\xdc\\xf4\\x0f\\xab\\xba\\xf8\\x10\\xfc\\x65\\xf0\\x7a\\x7d\\x76\\xb6\\xeb\\x58\\x17\\xfd\\xf6\\x2f\\x7d\\xac\\x8b\\x59\\xcd\\xed\\x90\\x6b\\x93\\x9b\\x85\\x77\\xe8\\xb6\\xb4\\xdb\\x35\\x9d\\xfa\\x84\\xb8\\xb8\\x36\\xd6\\xc7\\x05\\xa7\\x87\\x8f\\x6f\\xd9\\x3e\\xb2\\xff\\xae\\x2a\\xde\\xed\\x75\\xd8\\x9e\\xf3\\xfa\\x4c\\xac\\x3e\\x35\\x2a\\xd8\\x62\\xac\\x76\\xbd\\xf4\\xc0\\xf0\\x9e\\xf5\\xea\\x85\\x49\\xff\\x74\\x9f\\xb0\\x9e\\xfe\\x75\\x62\\x75\\xcb\\xf1\\x49\\x49\\xc9\\x89\\xf1\\xc9\\xda\\x75\\xae\\x76\\xad\\x26\\x08\\xf4\\x79\\x3c\\xa8\\xb4\\xab\\x5d\\xac\\xf9\\xf0\\xe1\\x65\\xdb\\x3f\\xfd\\x6a\\x99\\x51\\xe0\\x7d\\xb1\\xa6\\xb8\\x9b\\xff\\xdd\\x8b\\x7d\\x9d\\x76\\xd9\\x88\\xfc\\xa4\\x92\\x2e\\xc3\\x58\\xf8\\x3b\\xc1\\x3e\\x3e\\x01\\x12\\x02\\x0c\\xcf\\xeb\\x2e\\x4e\\xcb\\x78\\x1d\\xd1\\x13\\xf7\\xc3\\x81\\x9b\\x46\\x2e\\x7c\\x26\\x74\\x72\\xc8\\xa4\\x21\\x43\\xf2\\x43\\x26\\xd7\\x7a\\x0a\\x4d\\xb4\\xc4\\xf7\\xfb\\x5b\\xcb\\x32\\xda\\xb5\\xef\\x36\\x6b\\x61\\x8d\\xb8\\x5c\\x79\\xe3\\x92\\x95\\xc2\\xbc\\x70\\xc7\\xdc\\x74\\xe0\\x87\\x58\\x2f\\x5c\\xe3\\x61\\xdf\\x25\\xfe\\xf6\\xa2\\x2a\\x60\\x2f\\x9e\\x03\\x58\\xb4\\xb6\\x59\\xdd\\x88\\xd0\\x60\\x5f\\x21\\xcc\\xe0\\x08\\xb3\\xfa\\xe2\\x9a\\xd3\\x66\\xc2\\x0b\\x5e\\x78\\x58\\x10\\x07\\xef\\x24\\xf0\\x6a\\x2a\\xdb\\x65\\xc3\\xde\\xbd\\xe2\\xfa\\xa8\\xb7\\xdd\\x2d\\x42\\x20\\x59\\xb1\\x75\\xdb\\x76\\xee\\x6b\\x7a\\x4e\\xfb\\xf9\\xb1\\x46\\xac\\x71\\x7a\\x70\\x6c\\x78\\x6d\\x4b\\xf8\\x47\\x0b\\xfc\\x31\\x42\\x6a\\x1b\\xee\\xf6\\x9d\\x9b\\x48\\x92\\x83\\xb7\\x92\\xed\\xaa\\xcf\\x12\\x6b\\x47\\xc7\\x38\\x79\\x9f\\xe2\\xc4\\x21\\xef\\xd6\\xc0\\xa1\\xd1\\x77\\xdc\\x1e\\x3d\\x34\\x62\\x61\\x54\\x5c\\x46\\x97\\x4e\\x75\\xaf\\x0f\\x19\\x8d\\xd6\\x4b\\x6f\\xd4\\x3d\\xfd\\xda\\x3a\\xda\\x94\\x7e\\x2d\\xfa\\xaa\\xb7\\x27\\x65\\x0e\\x1e\\x9c\\x93\\xbd\\x3f\\xac\\x56\\x58\\xc7\\x2e\\xa9\\xb1\\xf8\\xa7\\x7e\\x74\\xfa\\xb5\\xf5\\x35\\x4f\\xf7\\xca\\xe5\\x3c\\xd5\\x68\\x42\\xfd\\x21\\xf8\\x2d\\xaf\\xae\\x75\\x79\\xcf\\x82\\x64\\x18\\xff\\xf5\\x97\\x65\\x37\\x54\\x1d\\xab\\xd5\\x04\\xbb\\xd6\\xbb\\xf5\\x3e\\xf9\\xa4\\x1e\\x74\\xd6\\xf2\\x55\\x6e\\x95\\xcb\\x61\\x46\\x15\\x96\\x57\\xd7\\xaa\\xee\\x59\\xee\\x03\\xba\\x4e\\x95\\x7d\\xf9\\xf5\\xcf\\x47\\x81\\x3b\\x8f\\xd1\\x2a\\xc3\\xae\\xd5\\xca\\x5e\\xa7\\xc1\\x9c\\xba\\x42\\xbe\\xc0\\x36\\xa6\\xb3\\x10\\x7d\\x2d\\x32\\x3d\\x20\\xb0\\x76\\xb8\\xe4\\xb5\\xea\\xd4\\xd1\\x9d\\x2b\\xdc\\xab\\x73\\x6d\\xf1\\xee\\x5d\\xfa\\xd0\\xa4\\xce\\x20\\xaa\\x59\\x9e\\xd9\\xb7\\x53\\x4a\\x9d\\xee\\x23\\x3f\\xe9\\xda\\x6b\\x74\\x8b\\x14\\xc3\\xcd\\xbb\\x3a\\xdb\\x32\\x6c\\x60\\xed\\xe2\\xd6\\xd7\\xf9\\x34\\x19\\xcb\\x43\\xed\\x9f\\x5c\\x52\\x70\\x7b\\x91\\x7c\\x10\\xca\\xcc\\x20\\x7a\\x67\\x01\\xda\\x28\\x22\\xc0\\x87\\xc5\\xd6\\x61\\xa1\\x75\\xf0\\x47\\x05\\x34\\x8c\\x71\\x1d\\xd4\\xe4\\x32\\xd1\\x7a\\xed\\x27\\x61\\x35\\x1d\\xaf\\xc5\\x55\\x95\\xa0\\x0f\\x37\\x1b\\xd8\\x37\\xa3\\x6e\\xe3\\xe6\\xbe\\x37\\x5a\\xf1\\x43\\x32\\x9a\\x0f\\xea\\xd3\\xad\\x4e\\xcb\\x46\\x3e\\x37\\xa8\\x96\\x43\\xec\\x55\\x4e\\xf9\\x77\\x2e\\xc7\\xda\\xcd\\xe3\\x12\\xd3\\xf3\\x26\\x5e\\xdb\\xb0\\x45\\xc3\\x0e\\x6d\\x27\\x14\\x74\\xba\\xc6\\xfe\\xae\\xde\\xca\\x95\\xf5\\x48\\x17\\x74\\x56\\x93\\x19\\xab\\xcf\\x4f\\x66\\x91\\xe9\\x3e\\xbe\\x22\\x50\\x04\\x9a\\x21\\x4e\\x87\\x25\\x7f\\x49\\xbe\\xdc\\x5b\\x21\\x05\\xe7\\x5a\\x05\\x0f\\x7f\\xe4\\xf7\\x54\\x70\\x7e\\x8f\\x1e\\x05\\x81\\x4f\\x87\\xbe\\xeb\\x60\\x2f\\x03\\xb7\\x8f\\xc9\\xe5\\x6f\\xdf\\xdd\\x6f\\xe4\\xf0\\x01\\x0f\\xbc\\x06\\x13\\xeb\\x32\\x47\\x13\\xe7\\x19\\xf9\\xff\\xa2\\x0d\\xe1\\x3c\\xe7\\xcd\\xab\\x8d\\x5d\\x18\\x3e\\xf0\\x97\\x3d\\x9b\\x38\\xdb\\xc4\\x51\\x57\\xe3\\x3f\\x81\\xf8\\x13\\xcc\\xce\\x88\\x5f\\x9f\\xc5\\xa5\\x07\\xe9\\x5e\\x17\\x5d\\x57\\xe0\\x8f\\x67\\xd7\\x73\\xeb\\xf5\\xcb\\xab\\xf6\\xbe\\x5a\\x2e\\x13\\x27\\x71\\xaf\\x76\\x07\\xde\\xdf\\xb6\\xbd\\x5f\\xbb\\xe2\\xbb\\x1f\\x18\\x31\\xf6\\xa1\\x7b\\x3c\\x9a\\xff\\xa3\\xb3\\x95\\xe7\\x37\\xa0\\x57\\x4a\\x4f\\xb3\\xe3\\xac\\x6a\\x39\\x27\\x52\\xff\\x6f\\xaa\\xf9\\x88\\xab\\x1b\\x19\\xe8\\x2b\\xcc\\xc0\\xd8\\x58\\x33\\xac\\xae\\xe7\\x10\\xb0\\x25\\xc9\\x69\\x5d\\x6f\\x3e\\x6a\\xb6\\x35\\x3c\\xf2\\x01\\xf2\\x32\\xe9\\x3a\\x7d\\xe8\\x58\\xe8\\x1a\\x79\\x55\\x7b\\xcb\\xe5\\xaf\\x2e\\xea\\x8f\\xff\\xee\\x7b\\x1e\\x6e\\xb9\\xdc\\xde\\x7a\\x6d\\x3b\\xd9\\xf3\\x3c\\xdc\\xe0\\x26\\xf2\\xd4\\xfb\\xce\\xd3\\x60\\x77\\xe3\\x2c\\x1c\\x9a\\xee\\xc7\\xcb\\xea\\x41\\x46\\x3d\\x68\\x5b\\x0f\\xea\\x39\\xcf\\x80\\xbd\\xb2\\x8e\\xa1\\xeb\\xb0\\x9a\\xce\\xe5\\xfd\\x0d\\x16\\x8a\\xde\\x97\\xe7\\x23\\xfa\\x4f\\xb0\\x54\\xc4\\xb3\\x90\\x74\\x1f\\x0e\\x2b\\xfc\\x61\\xa0\\x3f\\xf8\\xd3\\x29\\xb6\\xb4\\x36\\x1e\\x68\\xcf\\xd7\\x67\\xa7\\x86\\x36\\xb1\\xce\\x10\\xc6\\xcf\\x7c\\x35\\xab\\x29\\xff\\x57\\xbe\\xd2\\x95\\xff\\xb4\\x57\\xfe\\x09\\xfe\\x7c\\x8d\\xe7\\x65\\xff\\x9f\\x9d\\xcf\\xcc\\x0c\\xbb\\x93\\x3d\\x1f\\x16\\x38\\x7e\\x75\\xbd\\xfb\\x37\\x91\\x5d\\xcb\\xd2\\x58\\xbb\\xf4\\x7a\\x75\\x1b\\x34\\xc0\\x75\\x1b\\x4b\\x85\\xf4\\xd4\\x15\\xa9\\x3c\\xb5\\x69\\x44\\x50\\x50\\x53\\x1f\\x21\\x9a\\x76\\xee\\xdc\\xaa\\xa9\\xbe\\x05\\x84\\x7e\\xa6\\x0f\\xdb\\xd7\\x86\\xce\\x9c\\x96\\x94\\x94\\x98\\x94\\x98\\xdc\\xba\\x8d\\x72\\x87\\x55\\x18\\xbe\\xb4\\xf3\\x48\\x9b\\x1e\\xe9\\xc6\\x57\\xc9\\x37\\xd1\\x71\\xed\\x4e\\x09\\xb1\\x0d\\x13\\x12\\x1a\\xc6\\x26\\x1c\\x75\\x27\\x4a\\x5a\\xc5\\xc6\\xb5\\x6a\\x15\\x17\\xdb\\x8a\\x27\\xb9\\xb3\\x78\\xeb\\xd8\\xd8\\xd6\\x89\\x0d\\x1a\\x26\\x7c\\x56\\x38\\x5e\\xbf\\xd3\\xd7\\x99\\x4b\\x7f\\x5f\\xa3\\x74\\xeb\\xd6\\x27\\x5d\\x79\\xf8\\x59\\x17\\x4e\\x68\\x04\\xa3\\xed\\x67\\xb4\\xbc\\xd2\\x2e\\x40\\x79\\xe7\\xa0\\xbc\\x02\\xc7\\x58\\x7d\\x97\\xa6\\x79\\x7a\\x84\\xe0\\xdc\\xac\\x5f\\x3f\\x8c\\x45\\x41\\x7a\\xd4\\x8a\\x28\\x1e\\x65\\xc6\\xc4\\x04\\xd0\\x21\\x55\\x89\\x2e\\xe1\\xb4\\x43\\xa3\\x74\\x29\\x0d\\x22\\x3c\\xb9\\x8f\\xb8\\x9c\\xfb\\x02\\xe8\\x01\\x2d\\x91\\xd7\\xc4\\x44\\xcd\\xb3\\x8b\\xef\\x4d\\x85\\x2b\\xa7\\x4e\\x4d\\x77\\xf3\\x83\\xbc\\x69\\x3e\\x6b\\xe0\\xc7\\xc4\\x71\\x03\\x7b\\x36\\x6b\\x93\\x1e\\x05\\x86\\x61\\x2e\\x90\\xd2\\x2f\\x2e\\x2e\\x92\\x45\\x43\\x7a\\xf4\\x8a\\x68\\x1e\\xed\\xd7\\xb0\\x61\\x88\\xdf\\x65\\x3c\\xd5\\xd9\\x82\\x2b\\xd5\\xd6\\x6d\\x40\\x1f\\x84\\x1a\\x11\\xf7\\xe7\\xbc\\xed\\x2d\\x84\\x1e\\x93\\xe0\\xa1\\x2b\\xb9\\xb3\\x8f\\x97\\x4c\\x9d\\x5a\\xf2\\xc6\\x55\\x18\\xe4\\x6c\\x98\\xe3\\xb8\\xbc\\xc5\\xa8\\x83\\xdc\\x25\\x60\\xe8\\xde\\x36\\x81\\x37\\x0d\\x14\\x11\\xe1\\xba\\xeb\\x76\\xe6\\xc0\\x22\\x63\\x38\\x2e\\xff\\xb0\\x4b\\xeb\\xd7\\xfc\\x76\\xe6\\xed\\x20\\x54\\x45\\x34\\x12\\x13\\x62\\xdb\\xf5\\x6c\\xd6\\x6d\\x72\\xdf\\xe6\\xf5\\x3a\\x8c\\xec\\xd4\\x3d\\xab\\x63\\x5d\\xfb\\x37\\x58\\x14\\x95\\x90\\xd6\\xa0\\xc7\\x9d\\x9f\\x2f\\x9c\\xff\\xd9\\xed\\x3d\\x7a\\xcd\\x7f\\x61\\xbc\\xbd\\x69\\x1f\\x9f\\x6b\\xef\\x83\\x63\\xd7\\x4d\\xcf\\x1b\\xd1\\xac\\x76\\xdf\\x82\\xdb\\x06\\x77\\x2d\\xbe\\x3e\\x21\\x71\\x50\\xa9\\x28\\xb4\\xef\\x89\\x49\\x5d\\xb0\\x64\\xc8\\x94\\x77\\x6f\\xeb\\x7b\\xdd\\xc2\\xf7\\xa6\\x17\\xbe\\x7c\\xcb\\xb8\\x06\\xd0\\x01\\xae\\x2f\\xfe\\xa8\\x8f\\x73\\xf7\\x06\\x8b\\x18\\xc6\\x40\\xdc\\x85\\xdd\\xc1\\xc7\\xa7\\x27\\xda\\xb2\\x91\\x63\\x35\\xd2\\x8e\\x8e\\xfd\\x4c\\x88\\x6b\\x75\\x5a\\x64\\x10\\xed\\x41\\xb4\\x3f\\xd1\\xe1\\xf4\\x6d\\x26\\xd2\\x70\\x16\\xee\\x58\\x8c\\x31\\x84\\xc0\\xfc\\x46\\xac\\x9d\\x23\\x1f\\x69\\x2a\\xd1\\x0e\\x94\\xdf\\xd1\\x91\\x81\\x74\\x24\\x7d\\x3b\\x0a\\xcb\\x37\\x62\\x63\\x74\\xda\\x3c\\x82\\xdf\\x36\\x67\\x41\\x8e\\x68\\xa4\\x21\\x44\\x1b\\x61\\x4e\\x22\\xe2\\xec\\x47\\xaa\\x71\\x12\\x09\\x27\\x91\\x70\\x12\\x09\\x27\\x91\\xea\\x26\\x52\\xdd\\x64\\x2a\\x99\\xcc\\x82\\xec\\x3f\\x90\\x86\\x10\\x6d\\x84\\xe5\\x53\\xb0\\xd6\\x7e\\xa4\\x1d\\x88\\x76\\xc4\\xf2\\xed\\xa8\\x95\\x76\\x2c\\x18\\x6b\\xb5\\xa3\\xb6\\xda\\xb1\\x68\\xa2\\x31\\x44\\x75\\xad\\x76\\x2c\\x09\\xcb\\xb7\\x63\\x19\\x94\\xee\\x4e\\xb4\\x27\\xd1\\xbe\\x94\\x3f\\x88\\xd2\\x43\\x09\\x61\\x18\\xa5\\x47\\x10\\x1d\\x45\\x74\\x0c\\xd2\\x54\\x6c\\x25\\x03\\xa9\\x6e\\x25\\x15\\x5b\\xd1\\xe9\\x68\\x4a\\xc7\\x10\\x6d\\x44\\x65\\x32\\x28\\xdd\\x93\\xa8\\x46\\x4e\\x25\\xe4\\x54\\x42\\x4e\\x45\\xcc\\xd5\\x48\\xb5\\x8c\\x1d\\x10\\x6d\\x31\\xd2\\x60\\xc7\\x5e\\xa4\\x21\\x94\\x8e\\xc6\\xf2\\x1d\\x10\\x4d\\xd3\\x46\\x94\\x93\\x41\\x25\\x7b\\x52\\x4e\\x5f\\xf4\\xfb\\x0e\\x88\\xa6\\xd3\\x43\\x89\\x8e\\x20\\x3a\\x06\\x69\\x47\\xd2\\x55\\x47\\xd2\\x43\\x47\\xe2\\xb0\\x23\\xe9\\xa1\\x23\\x62\\xe6\\x23\\x8d\\x21\\xda\\x08\\x79\\xee\\x48\\x1c\\x76\\x24\\x0e\\x3b\\x22\\xe6\\x6a\\xa4\\x83\\xe8\\xdb\\xc1\\x94\\x33\\x84\\xd2\\x23\\x28\\x3d\\x12\\x69\\x2f\\xf3\\x08\\x6b\\xcc\\x86\\x12\\xb7\\x43\\x89\\xcf\\xa1\\x98\\xd3\\x97\\x8d\\xc4\\x9c\\x7c\\xa4\\x21\\x48\\x47\\x61\\x7a\\x35\\xd2\\x10\\xa4\\x63\\x28\\x7f\\x8c\\xce\\x17\\xd7\\x8a\\x3e\\x8e\\xcf\\x91\\x0e\\x22\\x3a\\xcc\\x31\\x0c\\xe9\\x70\\x47\\x77\\xa4\\x23\\x28\\x27\\x93\\xd2\\xb9\\x8e\\xd5\\x48\\x8b\\x88\\xce\\x46\\x9a\\x8e\\x65\\x36\\x22\\xcd\\x44\\xda\\x45\\x74\\x03\\x86\\x34\\x03\\x4b\\x76\\x41\\xff\\xd4\\xb4\\x8f\\xe3\\x0d\\xa4\\xfd\\x29\\x3d\\x88\\xd2\\x23\\x88\\x8e\\x26\\x3a\\x16\\xdb\\xed\\x22\\xc6\\x23\\x4e\\x17\\x91\\x45\\x34\\x9b\\x72\\xf2\\x28\\x5d\\x40\\x74\\x32\\xd1\\x29\\x44\\x0b\\x89\\x4e\\xa3\\x32\\xd3\\x89\\xce\\x22\\x7a\\x23\\x1b\\x83\\x74\\x1e\\xa6\\xbb\\x12\\x3f\\x5d\\x89\\x9f\\x0c\\x92\\x28\\x83\\x24\\xca\\x20\\x89\\x32\\x48\\xa2\\x0c\\x92\\x28\\x83\\x24\\xca\\x20\\x89\\x32\\x48\\xa2\\x0c\\x92\\x28\\x43\\xfb\\xb3\\xe8\\x8e\\x9a\\xa9\\x8f\\x34\\x44\\x53\\x94\\xa8\\x01\\xd2\\x1e\\x44\\xfb\\x13\\xcd\\x72\\x7c\\x84\\x74\\x32\\xd1\\x1b\\xd9\\x58\\xd1\\x83\\xda\\xea\\x41\\x6d\\xf5\\xa0\\xb6\\x7a\\x50\\x5b\\x3d\\xa8\\x95\\x3e\\x88\\xf0\\x39\\xd2\\x1e\\x44\\xfb\\x13\\xd5\\x7c\\xf6\\x21\\x3e\\xfb\\x61\\xdd\\x95\\x48\\x07\\x11\\x1d\\x41\\x74\\xac\\x63\\x3b\\xd2\\x6c\\xa2\\x79\\x44\\xf3\\x89\\x4e\\x22\\x5a\\x4c\\x74\\x1a\\xd1\\xe9\\x44\\x67\\x11\\x9d\\x43\\x74\\x1e\\xd1\\x05\\x48\\xfb\\x13\\x57\\xfd\\x89\\xab\\xfe\\xc4\\x55\\x7f\\xe2\\xaa\\x3f\\x71\\x35\\x88\\xb8\\x1a\\x44\\x5c\\x0d\\x22\\xae\\x06\\x11\\x57\\x83\\x88\\xab\\x21\\xd8\\x97\\x2f\\x22\\x0d\\xd1\\x14\\x4b\\xe6\\x23\\xed\\x41\\xb4\\x3f\\xd2\\xa1\\xa2\\xc4\\x71\\x00\\xe9\\x0c\\xa4\\xc3\\x48\\x57\\xc3\\xb4\\x27\\x23\\x0d\\xa1\\x74\\x34\\xd1\\x18\\x4d\\x45\\x37\\x76\\x1a\\xa9\\x46\\x40\\xad\\x38\\xc6\\x20\\xed\\xe3\\xd8\\x8f\\xb4\\x3f\\xe5\\x0c\\xa2\\xb4\\xb6\\xc8\\x30\\xf4\\x0a\\x9d\\x1e\\x4b\\xf9\\xe3\\x88\\x66\\x13\\xcd\\x25\\x9a\\xe7\\x78\\x19\\xe9\\x44\\x4a\\x17\\x10\\x9d\\x4c\\xe5\\x0b\\x29\\x5d\\x44\\x74\\x1a\\xd1\\xe9\\x44\\x67\\x12\\x9d\\x45\\x74\\xb6\\xe3\\x56\\xa4\\x37\\x50\\x5a\\x7b\\xcb\\x30\\x31\\x97\\xd2\\xf3\\x88\\xce\\x47\\x3a\\x9c\\xa4\\x18\\x4e\\x52\\x0c\\x27\\x29\\x86\\xeb\\xfe\\x88\\x34\\x46\\x53\\xf2\\xed\\xe1\\xe4\\xdb\\xc3\\xc9\\xb7\\x87\\x93\\x6f\\x0f\\x27\\xdf\\x1e\\x4e\\xbe\\x3d\\x9c\\x7c\\x7b\\x38\\xf9\\xf6\\x70\\x92\\x62\\x38\\xf9\\xf6\\x70\\xf2\\xed\\xe1\\x24\\xcb\\x70\\x94\\xe5\\x65\\xa4\\x79\\x94\\x53\\x40\\x74\\x32\\xd1\\x29\\x44\\x0b\\x89\\x4e\\xa3\\x92\\xd3\\x89\\xce\\x22\\xaa\\x79\\x1e\\x4e\\xdc\\x8e\\x20\\xab\\x8d\\x40\\x6b\\x6a\\xaa\\xed\\x35\\x82\\xec\\x35\\x12\\xad\\x7f\\x14\\xe9\\x02\\xa4\\xa3\\xb0\\xf5\\xfd\\x48\\xb3\\x89\\xe6\\x11\\x9d\\x46\\x74\\x3a\\xd1\\x59\\x44\\xe7\\x10\\x9d\\x47\\x74\\x01\\xd2\\xd1\\x84\\x36\\x9a\\xd0\\x32\\x49\\xde\\x4c\\x92\\x37\\x93\\xe4\\xcd\\x24\\x79\\x33\\x49\\xde\\x4c\\x92\\x37\\x93\\xe4\\xcd\\x24\\x79\\x33\\x49\\xde\\x4c\\x92\\x37\\x93\\xe4\\xcd\\x24\\x79\\x33\\x49\\xd2\\x4c\\x92\\x34\\x93\\x24\\xcd\\x24\\x49\\x33\\x49\\xd2\\x4c\\x92\\x34\\x93\\x24\\xcd\\x24\\x49\\x33\\x49\\xd2\\x4c\\x92\\x34\\x0f\\x7d\\x6c\\x23\\xd2\\x19\\x44\\x67\\x3b\\xde\\x16\\xf9\\xd8\\xca\\xdd\\x48\\xc7\\x3b\\xb6\\x21\\xcd\\xa6\\x74\\x2e\\xf6\\xc1\\x7c\\x6a\\x25\\x1f\\x5b\\xd1\\xf9\\x93\\x28\\x3d\\x99\\xd2\\x53\\x88\\x16\\x51\\x99\\x69\\x54\\xbe\\x84\\xbe\\x9d\\x4e\\xe9\\x19\\x94\\x9e\\x45\\xe9\\x39\\x44\\xe7\\x11\\x5d\\x80\\x74\\x0a\\xb6\\xf5\\x01\\xd2\\x6c\\xa2\\x79\\x44\\xf3\\x89\\x4e\\x72\\x1c\\x46\\x5a\\x4c\\xe9\\x69\\x44\\xcb\\x88\\x4e\\x27\\x3a\\x8b\\xe8\\x1c\\xa2\\xf3\\x88\\x2e\\x40\\x3a\\x15\\xd1\\x8e\\x21\\x9d\\xe0\\xf8\\x1e\\x69\\x36\\xa5\\xf3\\x88\\xe6\\x13\\x2d\\x26\\x3a\\x8d\\x68\\x19\\xd1\\xe9\\x44\\x67\\x52\\xf9\\x59\\x94\\x9e\\x43\\x74\\x2e\\xe5\\xcc\\xa3\\xf4\\x7c\\x4a\\x2f\\xc0\\x74\\x31\\xe1\\x17\\x13\\x72\\x31\\x21\\x17\\x13\\x72\\x31\\x21\\x17\\x13\\x72\\x31\\x21\\x17\\x13\\x72\\x31\\x61\\x16\\x13\\xce\\x34\\xd2\\xf3\\x34\\xd2\\xf3\\x34\\xd2\\x73\\x09\\xa2\\x6d\\x44\\x9a\\x4d\\x34\\x8f\\x68\\x3e\\xd1\\xa9\\xa8\\xb1\\x12\\x44\\xd3\\xe9\\x32\\xa2\\xd3\\x89\\xce\\x22\\x3a\\x87\\xe8\\x02\\xa4\\xa5\\x84\\x59\\x4a\\x98\\x33\\x08\\x6d\\x06\\xa1\\xcd\\x20\\xb4\\x19\\x84\\x36\\x83\\x70\\x66\\x10\\xce\\x0c\\xc2\\x99\\x41\\x38\\x33\\x08\\x67\\x06\\xe1\\xcc\\xc2\\x16\\x8f\\x21\\x2d\\xa1\\xf4\\x0c\\xa2\\x9a\\xc3\\xd9\\x88\\xa9\\x69\\x36\\xd1\\x3c\\xa2\\xf9\\x44\\xa7\\x11\\x2d\\x23\\x3a\\x9d\\xe8\\x2c\\xa2\\x73\\x1c\\xbb\\x91\\xce\\xa3\\xf4\\x02\\x4c\\xcf\\x21\\xcc\\x39\\x84\\x39\\x07\\x31\\x77\\x8b\\x79\\x94\\x33\\x8f\\x72\\xe6\\x51\\x2b\\x0b\\x28\\x67\\x01\\xe5\\x2c\\xa0\\x32\\xab\\x71\\x94\\x88\\x42\\x1a\\xe2\\x60\\x48\\xa3\\xb1\\xaf\\xad\\xc6\\xf1\\x41\\xd3\\xa9\\xd8\\x0b\\x56\\xb3\\xb9\\x48\\xdf\\xc3\\x19\\x24\\x59\\xbc\\x4f\\x74\\xad\\xd8\\xc0\\xfa\\x22\\xdd\\xc2\\xa2\\x90\\x6e\\xc3\\x92\\x6b\\xc5\\x57\\x44\\x77\\x38\\xb6\\x22\\xdd\\xe9\\x78\\x14\\xe9\\x2e\\xac\\xb5\\x56\\xec\\xa6\\x9c\\x7d\\x8e\\x1c\\xa4\\x07\\x29\\xfd\\x3d\\xd5\\xfa\\x81\\xca\\x9f\\x26\\x7a\\x86\\xa8\\xad\\xf3\\x11\\x7f\\xa9\\x58\\x27\\xd6\\x62\\xdd\\x75\\x62\\x23\\x96\\x5f\\x27\\x36\\xe1\\xb7\\xeb\\xc4\\x16\\x4a\\xef\\xa0\\xf4\\x4e\\x4a\\xef\\x22\\xba\\x9b\\x72\\xf6\\x50\\x7a\\x1f\\xd5\\xda\\x4f\\xf4\\x20\\xe5\\x7c\\x47\\xf4\\x2c\\x96\\xf9\\x14\\x31\\x1f\\x45\\xba\\x81\\xd2\\x1b\\xb1\\xcc\\xa7\\x84\\xfc\\x29\\x21\\x7f\\x8a\\x52\\x68\\xba\\x83\\xf2\\x77\\x12\\xdd\\x45\\x74\\x37\\xe5\\xef\\xa1\\xf4\\x3e\\xa2\\xfb\\x09\\xe7\\x3b\\xca\\x3f\\x43\\x08\\xe7\\x89\\xfe\\x81\\xdf\\xae\\x27\\x4d\\xae\\x27\\x4d\\xae\\x27\\x4d\\xae\\x27\\x4d\\xae\\x27\\x4d\\xae\\x27\\x4d\\xae\\x47\\x4e\\xe6\\x23\\xdd\\x80\\x08\\xeb\\xa9\\xf5\\xf5\\xa4\\xc3\\xf5\\x24\\xdd\\x7a\\xf1\\x3d\\xd1\\xc3\\x94\\x7f\\x94\\xca\\xff\\x88\\x3a\\x59\\x2f\\x7e\\xa6\\x9c\\xe3\\xd8\\xfa\\x7a\\x71\\x82\\xf2\\x7f\\xa5\\x9c\\x93\\x94\\x73\\x8a\\x72\\xce\\x12\\xad\\x20\\x5a\\x49\\xd4\\xa1\\xa9\\x64\\x48\\x37\\x88\\x4d\\xa8\\xe1\\x0d\\x62\\x17\\x51\\xad\\xb7\\x0d\\x28\\x91\\xa6\\x3f\\x52\\xce\\x4f\\x2c\\x19\\xe9\\x49\\x4a\\x9f\\x45\\xba\\x91\\xca\\x6f\\x24\\xde\\x36\\x92\\x65\\x37\\x8a\\x9d\\x58\\x66\\x23\\x22\\x68\\xba\\x8f\\xbe\\xdd\\x8f\\x9e\\xb0\\x91\\x6c\\xba\\x11\\x39\\x39\\x2a\\x36\\x91\\xd5\\x36\\x91\\x5c\\x9b\\xa8\\xee\\x26\\xaa\\xbb\\x89\\xb4\\xba\\x89\\xb4\\xba\\x89\\xb4\\xba\\x89\\xf4\\xb9\\x89\\x34\\xb9\\x19\\xdb\\xea\\x8b\\x54\\x6b\\x60\\x33\\xb5\\xb2\\x99\\x5a\\xd9\\x4c\\x7c\\x6e\\xc6\\xb6\\x74\\xfa\\x20\\xb6\\xb2\\x99\\xda\\xda\\x8c\\xdc\\x6a\\xaa\\xfd\\x67\\x0b\\xe6\\x24\\x8b\\xad\\x94\\xbf\\x95\\x72\\xb6\\xa2\\x2d\\x8e\\x8a\\x6d\\xa8\\xe7\\xad\\x48\\x37\\x50\\x7a\\x23\\xd1\\x2d\\x94\\xb3\\x8b\\xa8\\xb6\\xe9\\x36\\x6c\\x5d\\xe7\\x1f\\xa5\\x9c\\xe3\\x98\\xde\\x8e\\x11\\x82\\xa6\\x21\\xf6\\x56\\xa4\\xd1\\x94\\xa3\\x2d\\xb8\\x1d\\xd1\\xfa\\x22\\xdd\\x80\\xb6\\xdb\\x4e\\x68\\xdb\\xc9\\x7f\\xb6\\x23\\xa6\\xce\\xd9\\x4a\\xe9\\x6d\\x44\\xb5\\xbc\\xdb\\x51\\x5e\\x9d\\xde\\x45\\x74\\x37\\x51\\xdd\\xe2\\x76\\x92\\x77\\x3b\\x59\\x79\\x3b\\xb6\\xab\\xeb\\xfe\\x48\\x39\\x27\\x35\\x45\\x4b\\x1d\\x15\\x3b\\x88\\xf3\\x1d\\xc4\\xf9\\x0e\\x6a\\x65\\x07\\x71\\xbe\\x83\\x5a\\xd9\\x41\\xbe\\xba\\x83\\x7a\\xc1\\x0e\\xc2\\xdf\\x41\\xc8\\x3b\\x50\\x9f\\x3a\\x67\\x3f\\xe5\\x1c\\x24\\xaa\\x75\\xb2\\x83\\xfa\\xda\\x0e\\x71\\x8c\\xd2\\xa7\\x29\\x7d\\x8e\\xa8\\xd6\\xd2\\x4e\\xf4\\xd8\\x64\\xa4\\x21\\xe8\\xb7\\x3b\\x49\\xde\\x9d\\x24\\xef\\x4e\\xf4\\xd8\\xad\\x62\\x27\\xf9\\xea\\x4e\\xf2\\xd5\\x9d\\x62\\x23\\xea\\x79\\x27\\x71\\xb2\\x93\\x78\\xd8\\x89\\x72\\xbd\\x81\\x54\\xeb\\x70\\x27\\x4a\\xa4\\x73\\x0e\\x53\\xce\\x8f\\xe8\\x93\\x3b\\xd1\\x63\\x75\\xfa\\x17\\xa2\\xc7\\x09\\xe7\\x04\\x7a\\xf2\\x4e\\x94\\x54\\xa7\\x7f\\xa3\\x5a\\xa7\\xe8\\xdb\\xd3\\x94\\x73\\x96\\xd2\\xe7\\x89\\x5e\\xa4\\x6f\\x2b\\x88\\x56\\x12\\x75\\x68\\x8a\\xfa\\xd9\\x8a\\x9e\\xa1\\x7b\\xd9\\x2e\\xea\\x65\\xbb\\x90\\x67\\x9d\\x13\\x43\\x54\\xf7\\xb2\\x5d\\xd4\\xcb\\x76\\x21\\xe7\\x79\\x48\\x37\\x60\\x8b\\xbb\\x90\\x67\\x9d\\xa3\\x79\\xde\\x45\\x3c\\xef\\x22\\xfd\\xec\\x22\\x5b\\xec\\x42\\xfd\\x68\\x7a\\x98\\xf2\\x8f\\x10\\xd5\\x76\\xd9\\x85\\x52\\x68\\x7a\\x8c\\x4a\\xfe\\x84\\x12\\xed\\x22\\x89\\x76\\x89\\xff\\x11\\xfd\\x85\\xe8\\x71\\x2a\\x73\\x82\\xbe\\xfd\\x95\\x72\\x4e\\x52\\xce\\x6f\\x94\\x3e\\x45\\xf4\\x34\\xe5\\x9c\\xa7\\x56\\x7e\\xa7\\x9c\\x0b\\x44\\x2f\\x12\\xd5\\x3d\\x74\\x17\\xca\\xf5\\xa8\\xd8\\x4d\\x76\\xdf\\x4d\\x3c\\xef\\x26\\x9e\\x77\\x53\\xaf\\xd9\\x4d\\xbd\\x66\\x37\\x79\\xd1\\x6e\\xea\\xb3\\xbb\\x91\\x73\\xec\\x1b\\xd8\\xfa\\x56\\xb1\\x87\\x3c\\x64\\x0f\\x4a\\xb7\\x19\\xa9\\x1e\\xc1\\xf6\\x90\\x8c\\x7b\\x68\\x0c\\xdc\\x43\\xbd\\x72\\x0f\\x8d\\x81\\x7b\\xd1\\x1f\\xfa\\x22\\xd5\\xfd\\x7d\\x2f\\xf5\\xf4\\x6f\\xc8\\x43\\xf6\\x23\\xda\\x1b\\x62\\x3f\\x8d\\xed\\x07\\x88\\x87\\x03\\xe4\\x7b\\x07\\x68\\x9c\\x3c\\x80\\xf8\\x3a\\x67\\x0b\\xa5\\xb7\\x52\\x7a\\x1b\\x7d\\xbb\\x83\\xd2\\x3b\\x1d\\x6d\\x90\\xee\\x41\\x9e\\x0f\\x20\\x6f\\x79\\x48\\x0f\\x52\\x49\\x8d\\x79\\x00\\x31\\xf3\\xc4\\x41\\xf2\\x9f\\x83\\x34\\x32\\x1c\\x24\\x6e\\x0f\\x12\\xda\\x41\\x92\\xe8\\x20\\x8d\\xde\\x07\\xc9\\x16\\x07\\x51\\xf3\\x3a\\x47\\xfb\\xea\\x41\\x92\\xee\\x10\\xf1\\x73\\x88\\x10\\x0e\\x11\\xc2\\x21\\xaa\\x7b\\x88\\xc6\\x8a\\x43\\xd4\\x0b\\x0e\\x91\\xff\\x1f\\x22\\xcd\\x1c\\xa2\\xbe\\x7c\\x88\\x10\\x0e\\x11\\xc2\\xf7\\x34\\x56\\x7c\\x8f\\xde\\xbe\\x55\\xfc\\x40\\xdf\\xfe\\x40\\x36\\xfd\\x01\\x6d\\xaa\\xe9\\x71\\xca\\x39\\x41\\xe9\\xd3\\x44\\xcf\\x12\\x3d\\x4f\\xf9\\xce\\x5a\\x97\\x28\\xc7\\xd6\\x94\\x7a\\xe8\\x61\\xea\\xbf\\x87\\xa9\\x67\\x1d\\x46\\x3f\\xd1\\xf4\\x18\\xd1\\xe3\\x44\\x4f\\x10\\x3d\\x49\\xf4\\x34\\x22\\x1c\\xa6\\x99\\xe2\\x30\\x22\\xeb\\xf4\\x39\\x4a\\xeb\\xf9\\xe2\\x30\\x22\\x63\\x0e\\x61\\x1e\\x41\\xaf\\xee\\x8b\\x34\\x04\\xad\\x70\\x84\\x46\\xfe\\x23\\xc4\\xdb\\x11\\xc2\\x39\\x42\\xbc\\x1d\\x25\\x59\\x8e\\xba\\xd2\\x67\\x29\\xad\\x79\\xfb\\x91\\x38\\xf9\\x91\\x78\\xf8\\x91\\x5a\\xff\\x91\\xca\\xfc\\x48\\xed\\xfe\\x48\\x12\\xfd\\x48\\xf3\\xd4\\x8f\\x24\\xd1\\x31\\xb2\\xfb\\x31\\xe2\\xfc\\x18\\x61\\x1e\\xa3\\xf1\\xe7\\x18\\xd5\\x3a\\x46\\x65\\x7e\\x22\\x19\\x7f\\xa2\\xde\\xf1\\x13\\x95\\xfc\\x89\\xf0\\x7f\\x22\\xbd\\xfd\\x44\\x92\\xfe\\x84\\x6d\\xe9\\x6f\\x4f\\x12\\x3d\\x4d\\xf4\\x2c\\xd1\\x73\\xf4\\xad\\x96\\xf1\\x27\\x92\\xf1\\x17\\x71\\x1c\\x5b\\xf9\\x85\\x64\\xf9\\x85\\x5a\\xf9\\x85\\xca\\xfc\\x42\\xa3\\xd0\\x2f\\xa4\\xdb\\xe3\\x24\\xc5\\x71\\x6a\\xeb\\x38\\x95\\x3c\\x4e\\x25\\x8f\\x13\\xff\\xc7\\x89\\xab\\x13\\xc4\\xd5\\x09\\x2a\\x79\\x82\\x38\\x39\\x41\\x25\\x4f\\x50\\xc9\\x13\\x54\\xf2\\x04\\x21\\x9f\\x20\\xcc\\x93\\xe4\\x51\\x27\\x89\\xf3\\x93\\x54\\xfe\\x24\\x69\\xf5\\x24\\x69\\xe9\\x24\\xd5\\x3a\\x89\\x5a\\xd2\\x39\\x67\\x29\\x7d\\x9e\\xd2\\x7f\\x10\\x25\\x04\\xb2\\xce\\x29\\xf2\\x9c\\x53\\x84\\x73\\x8a\\x70\\x4e\\x11\\xce\\x29\\xc2\\x39\\x45\\x7a\\x3e\\x45\\x08\\xa7\\x48\\xcf\\xa7\\x08\\xe1\\x14\\x21\\x9c\\x22\\x84\\xd3\\xa4\\xf3\\xd3\\xc4\\xf9\\x69\\x2a\\x73\\x1a\\xcb\\xe0\\x1c\\x46\\x16\\x3c\\x83\\xd6\\xcf\\x43\\x1a\\x82\\x3e\\x70\\x86\\x78\\x3e\\x43\\x3e\\x7c\\x86\\xf4\\x7c\\x86\\x64\\x3c\\x43\\xdc\\x9e\\x41\\xbb\\x27\\xe3\\xaf\\x2e\\x7f\\x96\\xca\\x9f\\xa5\\x71\\xfb\\x2c\\x8d\\xdb\\x67\\xd9\\x5c\\xfd\\x2d\\x69\\xe9\\x2c\\xf1\\x7c\\x96\\xf4\\x79\\x96\\xd0\\xce\\x12\\xe7\\x67\\x09\\xf3\\x2c\\x71\\x7e\\x96\\x6c\\x77\\x16\\x47\\x2a\\x9d\\x3e\\x4d\\xe9\\x33\\x54\\xf2\\x1c\\xe5\\x9c\\xa7\\xb4\\x96\\xe2\\x2c\\x49\\x71\\x8e\\xf8\\x3f\\x47\\x1c\\x9e\\x23\\xe4\\x73\\xa4\\x87\\x73\\x84\\x76\\x8e\\xf8\\x3c\\x47\\xda\\x38\\x47\\xda\\x38\\x47\\x7a\\x38\\x47\\x75\\xcf\\x53\\xdd\\xf3\\x34\\xdf\\x9d\\x27\\x4e\\xce\\x53\\xeb\\xe7\\xa9\\xdd\\xf3\\xe4\\xcf\\xe7\\xa9\\xdd\\xf3\\x54\\xeb\\x3c\\xb5\\xfb\\x3b\\xe9\\xed\\x77\\xf2\\xd2\\xdf\\x49\\x03\\x17\\x29\\xe7\\x22\\xb5\\x55\\x89\\x6d\\xf5\\x45\\xfa\\x07\\x52\\x9b\\xf0\\x6d\\xe2\\xcd\\x26\\x4b\\xd9\\xd4\\x8a\\x4d\\x1c\\xda\\xc4\\xa1\\x4d\\x08\\x36\\x71\\x68\\x93\\x15\\x6c\\xe2\\xcd\\x41\\x75\\x1d\\x54\\xd7\\x41\\x75\\x1d\\x54\\xcb\\x41\\xb5\\x1c\\x54\\xcb\\x41\\x7e\\xe2\\x20\\x0f\\x71\\x90\\x6f\\x3b\\x34\\x87\\x32\\x48\\xdb\\x02\\x29\\xda\\x02\\x69\\x34\\xe5\\xc4\\x10\\xc5\\x39\\x54\\x76\\xc1\\x6f\\xe7\\x23\\x0d\\xc1\\x32\\x5d\\xe8\\xdb\\x2e\\xf4\\x6d\\x17\\xd7\\xb7\\x73\\x1d\\x5b\\xcd\\xc3\\xe6\\x61\\xc7\\x6a\\xf3\\x08\\x13\\x8e\\xc5\\x48\\x87\\xe9\\x34\\x8e\\x9c\\xab\\xcd\\x9f\\xc5\\x9b\\x8e\\x64\\xa4\\x1f\\x10\\xdd\\xe9\\xe8\\x8b\\x74\\x9f\\xa3\\x0d\\xd2\\xfd\\x8e\\xbe\\xfa\\xd2\\x2a\\x8b\\x81\\x42\\x7d\\x7d\\x95\\xfe\\x0d\\x63\\xaf\\xba\\xd2\\xc0\\x82\\xa0\\xb1\\x2b\\xcd\\x99\\x84\\x34\\x57\\x5a\\xb0\\x3a\\x70\\x83\\x2b\\x2d\\x59\\x38\\x7c\\xec\\x4a\\x2b\\x16\\x08\\xa7\\x5d\\x69\\x83\\x85\\xd1\\xd3\\xc4\\xfa\\x9f\\xc9\\x6e\\x10\\xc9\\xae\\xb4\\xc5\\xc2\\x31\\x0e\\x73\\xa6\\x7d\\x58\\xa0\\xf4\\x73\\xa5\\x7d\\xa1\\xc0\\xf8\\xd5\\x95\\xf6\\x63\\xf5\\xac\\x25\\xae\\xb4\\x3f\\x4b\\xf0\\x09\\x70\\xa5\\x03\\x58\\x8a\\xcf\\xf3\\xae\\x74\\x20\\xab\\xe3\\x1b\\x8e\\x9c\\x80\\xf4\\xc1\\x4f\\x2f\\x13\\x57\\x3a\\x0d\\x28\\x8b\\x72\\xa5\\x39\\xb3\\x20\\xc5\\x95\\x16\\xac\\x2d\\x64\\xb8\\xd2\\x92\\x35\\x83\\x07\\x5d\\x69\\xc5\\xea\\xc1\\x2e\\x57\\xda\\x60\\x4d\\xf4\\x29\\x7a\\x94\\x36\\xd9\\x59\\xde\\xc9\\x95\\xb6\\x58\\x33\\xf1\\xaa\\x2b\\xed\\xc3\\xea\\x89\\x13\\xae\\xb4\\x2f\\xdf\\x21\\xeb\\xb8\\xd2\\x7e\\xac\\xbd\\x35\\xc2\\x95\\xf6\\x67\\x63\\xac\\xd7\\x5c\\xe9\\x00\\x36\\xc9\\xa7\\xa3\\x2b\\x1d\\xc8\\xda\\xfa\\x1c\\x64\\x19\\xac\\x80\\x4d\\xc4\\xdf\\x32\\xfc\\xbd\\x81\\xe5\\xb2\\x1c\\x16\\x8b\\xbf\\x59\\xf8\\x39\\x0b\\x53\\xd9\\xac\\x88\\x15\\xb3\\xd9\\xac\\x84\\x4a\\xe5\\x63\\x6e\\x2c\\x6b\\x86\\xb9\\xcd\\xf1\\x6f\\x12\\x6b\\xcd\\xda\\xe0\\x6f\\x2c\\xeb\\x81\\xa5\\x8a\\xf0\\xfb\\x29\\x58\\x3f\\x96\\x75\\xc3\\x74\\x09\\xd6\\xd2\\x34\\x8b\\x70\\x8b\\x58\\x21\\x4b\\x60\\xbe\\xf4\\xcd\\x9f\\xa3\\x25\\x61\\x6a\\x90\\x8b\\x8b\\x9e\\x54\\xbb\\x25\\xa6\\x7a\\x61\\xfd\\x6c\\x7d\\xed\\x3f\\xa3\\x60\\x62\\x41\\x59\\xc1\\x0d\\xb9\\x39\\xb1\\x39\\x59\\x65\\x59\\xb1\\xd9\\x45\\xc5\\xb3\\x4b\\x0a\\x26\\xe6\\x97\\xc5\\x36\\xcb\\x6e\\x1e\\x9b\\xd4\\xba\\x4d\\xeb\\xd8\\x1e\\x45\\x45\\x13\\xa7\\xe4\\xc6\\x76\\x2b\\x2a\\x29\\x2e\\x2a\\xc9\\x2a\\x2b\\x28\\x2a\\x4c\\xf0\\xed\\x76\\x79\\xb1\\xa4\\xd8\\x41\\x08\\xd1\\x33\\xab\\xac\\x65\\x6c\\xaf\\xc2\\xec\\x04\\xfd\\xd2\\xcf\\x02\\x36\\x01\\x9b\\xf5\\x64\\x38\\x96\\x0d\\xc6\\x4f\\x85\\xac\\x14\\xbf\\x2e\\x98\\x90\\xeb\\x04\\x8b\\x1d\\x9c\\x55\\x88\\x19\\x5d\\xb1\\xc4\\x14\\x64\\x92\\x75\\x2d\\x9a\\x82\\xb4\\x0b\\x16\\xca\\xc6\\xea\\x85\\x98\\xa5\\x41\\x62\\x59\\x2b\\xfc\\xfd\\x0b\\xd0\\x2e\\xa5\\xd9\\xb9\\x85\\x39\\xb9\\x25\\xb1\\xad\\x62\\xaf\\xc0\\xff\\xf3\\xaa\\xb1\\xd5\\xed\\x5f\\x56\\x33\\xd6\\xc9\\xcf\\x30\\xaa\\x5a\\x5a\\x55\\x31\\x09\\x75\\xd7\\x1a\\x7f\\x12\\xf4\\x1b\\x38\\x87\\xe5\\x96\\x94\\xea\\xf2\\x49\\x09\\xad\\x5b\\x27\\xb4\\xa9\\xb9\\x2d\\x77\\x4b\\xad\\x6a\\x6a\\x49\\x37\\xd4\\xca\\xd9\\x50\\xcd\\x7c\\x16\\x10\\x8f\\xda\\x7d\\xca\\xe8\\x1b\\xad\\x94\\xa9\\xf8\\xb7\\x84\\x4d\\xc6\\xbc\\x22\\x96\\xf7\\xa7\\x46\\x8e\\xc5\\x72\\xb9\\xe4\\x92\\xa5\\xf8\\x4d\\x2e\\x7d\\xca\\x21\\x54\\x8d\\x3d\\x14\\x4b\\x0c\\xa6\\x52\\x03\\xa9\\xa6\\x56\\x7a\\x19\\xb5\\x56\\x48\\xa5\\x86\\xd4\\xd0\\xe2\\x00\\x6c\\x31\\x0f\\xeb\\x67\\x93\\x7b\\xba\\x4b\\x66\\x13\\xb6\\x76\\x73\\x27\\x72\\x11\\xa6\\xf3\\x5d\\xe6\\x9b\\xc4\\xa6\\x93\\x93\\x96\\x62\\x49\\x5d\\xcf\\x2d\\x5b\\xa9\\x76\\x42\\x0f\\x9d\\x17\\x94\\xc6\\x66\\xc5\\x96\\x95\\x64\\xe5\\xe4\\x4e\\xcd\\x2a\\x99\\x1c\\x5b\\x94\\xe7\\xed\\x58\\xb1\\x25\\xb9\\x13\\x0b\\x4a\\xcb\\x72\\x4b\\x30\\xb3\\xa0\\x30\\x76\\x68\\xc2\\xe0\\x84\\xd8\\x81\\x59\\x65\\xb9\\x85\\x65\\xb1\\x59\\x85\\x39\\xb1\\x43\\xaa\\x2a\\x0e\\xc8\\xcb\\x2b\\xc8\\xce\\xa5\\xcc\\xec\\xdc\\x92\\xb2\\x2c\\x2c\\x5c\\x54\\x96\\x8f\\xbe\\x31\\x69\\x7a\\x49\\x41\\x69\\x4e\\x41\\xb6\\x6e\\xad\\x34\\xa1\\x26\\x4f\\xab\\xb9\\xb7\\x55\\x7b\\x97\\x47\\x4f\\x60\\xa8\\x39\\xad\\xb1\\x19\\xa4\\x87\\x7e\\x54\\x5c\\x7f\\x2e\\x75\\x56\\x19\\x5c\\x96\\x3b\\x23\\x37\\xb6\\x5f\\x56\\x59\\x59\\x6e\\xa9\\x2e\\xdc\\x15\\x0b\\x94\\xba\\x94\\xef\\x34\\x6c\\x17\\x52\\xca\\x54\\xfc\\xa4\\x0d\\x36\\x13\\xd5\\xa5\\x95\\x93\\x4f\\xe9\\x2c\\x32\\x7a\\x0e\\xc1\\xe9\\xde\\x5d\\xe8\\xaa\\x39\\x01\\xfb\\x7b\\xec\\x9f\\x36\\x1c\\xeb\\xaa\\x9b\\xe5\\x72\\x9e\\x42\\xfc\\x29\\xc2\\xb2\\x4e\\x69\\x74\\x9d\\x96\\x2e\\xa7\\xc8\\x23\\x5a\\x4a\\xed\\x16\\x62\\x1b\\xb1\\x98\\x76\\x77\\x89\\x52\\xd2\\x47\\x01\\x39\\x97\\x27\\x17\\xb1\\x64\\xd6\\x2c\\x72\\x12\\xa7\\x63\\x4e\\xc5\\x6f\\xcb\\xa8\\x6c\\x36\\xe6\\x4f\\xc1\\x9f\\xd9\\xae\\x91\\x6e\\x2a\\xea\\xd1\\xd9\\xea\\x04\\xd7\\x58\\x36\\x93\\x46\\xc6\\xfc\\x2a\\xd9\\xb1\\x7c\\x83\\x86\\xe4\\x7e\\xd5\\xba\\x70\\xba\\x74\\x9e\\xab\\xcf\\xc5\\x52\\x6e\\x31\\xa6\\x8b\\x88\\x77\\xb7\\xf6\\x5a\\x91\\xe5\\x34\\xff\\xb9\\xc4\\x95\\x4e\\x65\\xd1\\x48\\x3b\\x01\\x6b\\x4c\\xa1\\x76\\x9c\\x7c\\xe4\\x93\\xe3\\x66\\x91\\xdb\\xe5\\xba\\xdc\\xb0\\x8c\\xb8\\x2d\\xf5\\x70\\x5f\\xa7\\xb3\\xc6\\x12\\xc7\\x1a\\xfd\\x3a\\x72\\x59\\x3d\\xbe\\xe6\\xba\\x34\\x39\\x1c\\xc7\\xe5\\xbe\\x35\\x22\\x3a\\xb5\\xe5\\xd9\\x6d\\x4a\\xa9\\x9b\\xcf\\x20\\xbd\\x55\\x63\\x17\\x12\\xb7\\x39\\x94\\x57\\x54\\xa5\\x59\\x5d\\x6a\\x8a\\xab\\x25\\xa7\\xc4\\x53\\x68\\xfc\\x9f\\x5c\\x65\\x95\\x3c\\xf2\\x46\\xa7\\xf6\\x72\\x08\\xad\\xd5\\x55\\xf4\\x9b\\x47\\xba\\x29\\x73\\xb5\\x5a\\x44\\x1c\\xe5\\xe0\\x8f\\xd3\\xce\\x4e\\x8f\\x2a\\xc2\\xba\\xd3\\xc9\\x6a\\xce\\xae\\xee\\xf4\\xf5\\xb2\\x2b\\x34\\x97\\x45\\xfa\\x2d\\x72\\xd5\\x2b\\xc6\\x6f\\x74\\x5b\\x4e\\x5e\\xa6\\x3a\\xbb\\x6e\\xd7\\xac\\x52\\xec\\x8a\\xd8\\x71\\xbb\\x94\\x14\\x4c\\x2d\\x6a\\x19\\x3b\\x33\\xbf\\x20\\x3b\\x3f\\x76\\x66\\x56\\x69\\x6c\\x4e\\x6e\\x69\\xc1\\xc4\\x42\\xfc\\x72\\xc2\\xec\\x58\\xef\\x8e\\x10\\x8b\\xdf\\x66\\x61\\x57\\x2f\\x2c\\x2c\\x9a\\x81\\xdd\\x68\\x46\\x6e\\x4b\\xec\\xd6\\x79\\x25\\xb9\\xa5\\xf9\\x05\\x85\\x13\\x63\\x4b\\xf5\\xa8\\x5b\\x9a\\x5b\\x52\\x90\\xe7\\x82\\x88\\x2d\\xcb\\xcf\\x2a\\xd3\\x03\\xc3\\xd4\\xdc\\xb2\\x92\\x82\\xec\\xac\\x29\\x53\\x66\\xe3\\x3c\\x35\\xb5\\x18\\xab\\x4e\\xc0\\x89\\x69\\x66\\x41\\x59\\xbe\\x6e\\x3d\\x6b\\xca\\x8b\\x09\\x4e\\x2e\\x70\\xd4\\xc8\\xc3\\x21\\x39\\xb6\\x60\\x6a\\x71\\x49\\xd1\\x0c\\x62\\xaf\\x55\\x69\\x76\\x49\\x6e\\x6e\\x21\\xb6\\x93\\x95\\x93\\x35\\xa1\\x60\\x4a\\x41\\x19\\x62\\xe4\\x67\\x95\\x64\\x65\\xe3\\x58\\x82\\x03\\x4a\\x41\\x76\\x29\\x8d\\x15\\x38\\x44\\xc4\\x16\\x67\\x15\\xb6\\xba\\x6e\\x7a\\x49\\x51\\x71\\x2e\\x32\\x39\\xbc\\x47\\xdf\\xea\\x82\\xc8\\x96\\x73\\x9c\\x29\\x2d\\x9a\\x32\\x23\\xb7\\x94\\x4a\\x17\\xe6\\xe6\\xe6\\x94\\xea\\x71\\x2a\\x07\\x45\\x9c\\x82\\x95\\xb0\\xe1\\x29\\x45\\x45\\x93\\xb5\\x28\\x79\\x45\\x25\\xc8\\x5e\\x4e\\x59\\x7e\\x2b\\x0f\\x7e\\xf3\\x8a\\x0a\\xcb\\xb0\\x6a\\x51\\x6c\\x56\\x4e\\x0e\\xca\\x8c\\x8a\\x2a\\xca\\x9e\\x3e\\x55\\x8f\\x60\\x38\\xaa\\x94\\xb9\\x99\\xcb\\xca\\x2e\\x29\\xc2\\xef\\x8a\\xa7\\x64\\x95\\x21\\xca\\x54\\x3d\\x52\\xe5\\x53\\x1f\\x2f\\x66\\x1d\\x58\\x22\\xfe\\xcc\\xa4\\x9f\\x04\\xea\\xe9\\x9e\\xe3\\x57\\xb6\\x6b\\xf4\\x4a\\x70\\xf9\\x47\\x22\\x56\\x2c\\x2b\\x2b\\xee\\x90\\x98\\x38\\x73\\xe6\\xcc\\x84\\x2c\\xd7\\x20\\x96\\x8d\\x63\\x58\\x02\\x32\\x95\\xf8\\xef\\x61\\xb5\\x8b\\x14\\x93\\x33\\x7b\\x0e\\x50\\x25\\xe4\\x16\\x1a\\x73\\x2a\\xba\\xcb\\x9f\\x36\\x5d\\x36\\xbb\\x38\\xd7\\xe5\\x24\\x25\\xa5\\x09\\xf9\\x65\\x53\\xa7\\x38\\xa7\\x3f\\x67\\xb3\\xee\\x71\\x72\\xba\\xc7\\xc8\\xec\\xee\\x45\\x83\\x71\\x6a\\xeb\\x4b\\xd3\\x50\\xb1\\xab\\xef\\x77\\x77\\x79\\x7d\\xec\\x65\\x08\\x7a\\x9c\\xbb\\x7c\\xee\\x6e\\xe3\\x9c\\xb5\\xfb\\xe2\\xfc\\x50\\xa8\\x9d\\x77\\x3a\\x8d\\xea\\xda\\x96\\x83\\x7b\\xf5\\x8d\\x1d\\x50\\x8c\\x6e\\xd2\\x1d\\x6d\\x14\\xeb\\x2a\\xd0\\x32\\xd6\\x3d\\xbf\\xb7\\xd1\\x93\\xbb\\xb7\\xba\\x9c\\x23\\x50\\x01\\x7e\\x2e\\x23\\xc1\\x4b\\xa9\\xff\\x24\\x90\\xb2\\x26\\xe2\\xf7\\x03\\x90\\xb3\\xbe\\x55\\x6a\\x40\\x27\\x2c\\x28\\x2e\\x2b\\x4d\\x28\\x2d\\x98\\x92\\x50\\x54\\x32\\x31\\x71\\x40\\xf7\\xbe\\xae\\xd8\\x9b\\xfe\\x39\\x9a\\xb2\\xbd\\xac\\x86\\x7f\\xbe\\x75\\x29\\x56\\xe7\\x18\\x65\\x4a\\x8c\\x67\\x0d\\x8c\\x5d\\x2d\\x8c\\x53\\x7d\\x31\\x26\\xf5\\xc7\\xf8\\x33\\x50\\xef\\x2b\\x64\\x21\\x2c\\x54\\xef\\x0b\\x65\\x11\\xac\\x16\\x8b\\x64\\xb5\\x59\\x14\\xab\\xc3\\xea\\xb2\\x7a\\x2c\\x9a\\xc5\\xb0\\xfa\\x28\\x75\\x03\\xd6\\x90\\xc5\\xe9\\x1d\\x96\\xac\\x09\\x6b\\x8a\\x31\\x62\\x73\\xd6\\x82\\xc5\\xa3\\x7e\\x5a\\x21\\xb7\\x89\\xae\\x48\\x31\\x99\\xb5\\x65\\x29\\xec\\x1a\\xd6\\x8e\\xb5\\x67\\xa9\\x28\\xe1\\xb5\\xac\\x23\\xeb\\xc4\\x3a\\xb3\\x34\\x96\\x8e\\xa3\\x73\\x57\\x9c\\x19\\x33\\x70\\x54\\xec\\x8e\\xa3\\x60\\x4f\\xb4\\x40\\x6f\\xd6\\x07\\x65\\xeb\\xc7\\xfa\\xa3\\x94\\x03\\xd9\\xf5\\x18\\x80\\x0c\\xc6\\x60\\x61\\x28\\xea\\x7b\\x38\\x1b\\xc1\\x46\\xb2\\x51\\x6c\\x34\\x1b\\xc3\\x32\\xd9\\x58\\x36\\x8e\\x8d\\x67\\x59\\xc0\\xd9\\x53\\xec\\x16\\x76\\x2b\\xfb\\x90\\x3d\\xc4\\x7e\\x62\\xb7\\xb1\\x7b\\xd8\\x22\\xf6\\x38\\x7b\\x81\\x3d\\x0d\\x82\\xdd\\x09\\x92\\xdd\\xcc\\xee\\x67\\xa7\\xd9\\x19\\x76\\x37\\xc6\\xf7\\xe5\\x60\\xb0\\x83\\xec\\x14\\x7b\\x82\\xbd\\xc8\\xce\\xb1\\xb3\\xec\\x3c\\x5b\\xc9\\x5e\\x61\\x9f\\xb3\\x8d\\xb8\\x76\\x99\\x80\\x3a\\xbf\\x17\\x7d\\x62\\x33\\xda\\x75\\x13\\xfb\\x82\\x6d\\x63\\x5b\\xd8\\x56\\xf6\\x25\\xfb\\x19\\x47\\xa6\\x9d\\xec\\x2b\\xb6\\x9d\\xbd\\x86\\xba\\xff\\x8d\\xdd\\xc7\\xf6\\xb0\\x5d\\x6c\\x37\\x5a\\xec\\x17\\x76\\x82\\xdd\\x81\\x21\\x48\\x01\\x8e\\xa8\\xda\\x2d\\x0b\\xd9\\x0a\\xb4\\xd0\\x34\\x9a\\x53\\x4a\\xd1\\xc3\\xca\\x70\\x04\\x9e\\xc9\\xfe\\xc7\\x66\\x61\\xbc\\x3e\\x9b\\xcd\\xc1\\xb5\\xf1\\x8d\\x6c\\x0d\\x7b\\x92\\xcd\\x67\\xf3\\xd8\\x02\\xb6\\x90\\x1d\\x67\\xbf\\xb2\\xf7\\xc0\\x04\\x0b\\x7c\\xc0\\x17\\xfc\\xc0\\x9f\\x55\\x32\\x1b\\x02\\x20\\x10\\x82\\x20\\x98\\x39\\x80\\x41\\x08\\x84\\x42\\x18\\x00\\x84\\x43\\x04\\xd4\\x82\\x48\\xa8\\x0d\\x51\\x50\\x07\\xea\\x42\\x3d\\x88\\x86\\x18\\xa8\\xcf\\xfe\\x60\\x17\\x20\\x16\\x1a\\x40\\x43\\x88\\x83\\x46\\xd0\\x18\\x9a\\x40\\x53\\x68\\x06\\xcd\\xa1\\x05\\xc4\\x43\\x4b\\x68\\x05\\x09\\x90\\xc8\\x2e\\xb2\\xbd\\xd0\\x1a\\xda\\x40\\x12\\x24\\x43\\x5b\\x48\\x81\\x6b\\xa0\\x1d\\xb4\\x87\\x54\\xe8\\x00\\xd7\\x42\\x47\\xe8\\x04\\x9d\\xd9\\x0f\\xec\\x30\\xa4\\x41\\x3a\\x74\\x81\\xae\\xd0\\x0d\\x32\\xe0\\x3a\\xe8\\xae\\x5f\\x41\\x04\\xbd\\xa0\\x37\\xf4\\x81\\xbe\\xd0\\x8f\\xbd\\xce\\x56\\x41\\x7f\\x18\\x00\\x03\\xe1\\x7a\\x18\\x04\\x83\\x61\\x08\\x0c\\x85\\x61\\x30\\x9c\\x5d\\x62\\x15\\xec\\x08\\x3b\\x0a\\x23\\x60\\x24\\x8c\\x82\\xd1\\x30\\x06\\x32\\x61\\x2c\\x8c\\x83\\xf1\\x90\\x05\\x13\\x20\\x1b\\x72\\x20\\x17\\xf2\\x60\\x22\\xe4\\x43\\x01\\x4c\\x82\\xc9\\x30\\x05\\xa6\\xb2\\xf7\\xa1\\x10\\x8a\\xa0\\x18\\xa6\\xb1\\x1f\\xd9\\x31\\x28\\x81\\x52\\x28\\x83\\xe9\\x30\\x03\\x66\\xc2\\x2c\\x98\\x0d\\x37\\xc0\\x1c\\xb8\\x11\\xe6\\xc2\\x3c\\x98\\x0f\\x0b\\x60\\x21\\xdc\\x04\\x37\\xc3\\x2d\\xec\\x59\\xb8\\x15\\x6e\\x83\\xdb\\xa1\\x1c\\xee\\x80\\x3b\\x61\\x11\\xdc\\x05\\x77\\xc3\\x3d\\xb0\\x18\\xee\\x85\\xfb\\x60\\x09\\xdc\\x0f\\x0f\\xc0\\x83\\xf0\\x10\\x3c\\x0c\\x4b\\xe1\\x11\\x78\\x14\\x96\\xc1\\x63\\xf0\\x38\\x3c\\x01\\xcb\\x61\\x05\\x3c\\x09\\x2b\\xe1\\x29\\x78\\x1a\\x9e\\x81\\x67\\xe1\\x39\\x78\\x1e\\x5e\\x80\\x17\\xe1\\x25\\x78\\x19\\x5e\\x81\\x57\\xe1\\x35\\x78\\x1d\\x56\\xc1\\x1b\\xf0\\x26\\xac\\x86\\xb7\\xe0\\x6d\\x78\\x07\\xd6\\xc0\\xbb\\xf0\\x1e\\xbc\\x0f\\x1f\\xc0\\x87\\xf0\\x11\\x7c\\x0c\\x9f\\xc0\\x5a\\x58\\x07\\x9f\\xc2\\x7a\\xd8\\x00\\x9f\\xc1\\x46\\xd8\\x04\\x9f\\xc3\\x17\\xb0\\x19\\xb6\\xc0\\x56\\xf8\\x12\\xb6\\xc1\\x57\\xb0\\x1d\\x76\\xc0\\x4e\\xd8\\x05\\xbb\\x61\\x0f\\xec\\x85\\x7d\\xf0\\x35\\x7c\\x03\\xfb\\xe1\\x5b\\x38\\x00\\x07\\xe1\\x10\\x7c\\x07\\xdf\\xc3\\x0f\\x70\\x18\\x8e\\xc0\\x51\\xf8\\x11\\x8e\\xc1\\x4f\\xf0\\x33\\xfc\\x0f\\x7e\\x81\\xe3\\x70\\x02\\x7e\\x85\\x93\\xf0\\x1b\\x9c\\x82\\xd3\\x70\\x06\\xce\\xc2\\x39\\x38\\x0f\\xbf\\xc3\\x1f\\x70\\x01\\x2e\\xc2\\x25\\xa8\\x80\\x4a\\xb0\\xc1\\xc1\\x19\\x07\\xce\\xb9\\xe0\\x52\\x1f\\xd1\\xc5\\x4d\\x6e\\x71\\x1f\\xee\\xcb\\xfd\\xb8\\x3f\\x0f\\xe0\\x81\\x3c\\x88\\x07\\xf3\\x10\\x1e\\xca\\xc3\\x78\\x38\\x8f\\xe0\\xb5\\x78\\x24\\xaf\\xcd\\xa3\\x78\\x1d\\x5e\\x97\\xd7\\xe3\\xd1\\x3c\\x86\\xd7\\xe7\\xb1\\xbc\\x01\\x6f\\xc8\\xe3\\x78\\x23\\xde\\x98\\x37\\xe1\\x4d\\x79\\x33\\xde\\x9c\\xb7\\xe0\\xf1\\xbc\\x25\\x6f\\xc5\\x13\\x78\\x22\\x6f\\xcd\\xdb\\xf0\\x24\\x9e\\xcc\\xdb\\xf2\\x14\\x7e\\x0d\\x6f\\xc7\\xdb\\xf3\\x54\\xde\\x81\\x5f\\xcb\\x3b\\xf2\\x4e\\xbc\\x33\\x4f\\xe3\\xe9\\xbc\\x0b\\xef\\xca\\xbb\\xf1\\x0c\\x7e\\x1d\\xef\\xce\\x7b\\xf0\\x9e\\xbc\\x17\\xef\\xcd\\xfb\\xf0\\xbe\\xbc\\x1f\\xef\\xcf\\x07\\xf0\\x81\\xfc\\x7a\\x3e\\x88\\x0f\\xe6\\x43\\xf8\\x50\\x3e\\x8c\\x0f\\xe7\\x23\\xf8\\x48\\x3e\\x8a\\x8f\\xe6\\x63\\x78\\x26\\x1f\\xcb\\xc7\\xf1\\xf1\\x3c\\x8b\\x4f\\xe0\\xd9\\x3c\\x87\\xe7\\xf2\\x3c\\x3e\\x91\\xe7\\xf3\\x02\\x3e\\x89\\x4f\\xe6\\x53\\xf8\\x54\\x5e\\xc8\\x8b\\x78\\x31\\x9f\\xc6\\x4b\\x78\\x29\\x2f\\xe3\\xd3\\xf9\\x0c\\x3e\\x93\\xcf\\xe2\\xb3\\xf9\\x0d\\x7c\\x0e\\xbf\\x91\\xcf\\xe5\\xf3\\xf8\\x7c\\xbe\\x80\\x2f\\xe4\\x37\\xf1\\x9b\\xf9\\x2d\\xfc\\x56\\x7e\\x1b\\xbf\\x9d\\x97\\xf3\\x3b\\xf8\\x9d\\x7c\\x11\\xbf\\x8b\\xdf\\xcd\\xef\\xe1\\x8b\\xf9\\xbd\\xfc\\x3e\\xbe\\x84\\xdf\\xcf\\x1f\\xe0\\x0f\\xf2\\x87\\xf8\\xc3\\x7c\\x29\\x7f\\x84\\x3f\\xca\\x97\\xf1\\xc7\\xf8\\xe3\\xfc\\x09\\xbe\\x9c\\xaf\\xe0\\x4f\\xf2\\x95\\xfc\\x29\\xfe\\x34\\x7f\\x86\\x3f\\xcb\\x9f\\xe3\\xcf\\xf3\\x17\\xf8\\x8b\\xfc\\x25\\xfe\\x32\\x7f\\x85\\xbf\\xca\\x5f\\xe3\\xaf\\xf3\\x55\\xfc\\x0d\\xfe\\x26\\x5f\\xcd\\xdf\\xe2\\x6f\\xf3\\x77\\xd8\\x3e\\xf6\\x3d\\x5f\\xc3\\xbe\\xe1\\xef\\xf2\\xf7\\xf8\\xfb\\xfc\\x03\\xfe\\x21\\xff\\x88\\x7f\\xcc\\x3f\\xe1\\x6b\\xf9\\x3a\\xfe\\x29\\x5f\\xcf\\x37\\xf0\\xcf\\xd8\\x7e\\xf6\\x2d\\x3b\\xc0\\xbe\\x63\\x5f\\xb3\\x43\\x7c\\x23\\xdf\\xc4\\x3f\\xe7\\x5f\\xf0\\xcd\\x7c\\x0b\\xdf\\xca\\xbf\\xe4\\xdb\\xf8\\x57\\x7c\\x3b\\xdf\\xc1\\x77\\xf2\\x5d\\x7c\\x37\\xdf\\xc3\\xf7\\xf2\\x7d\\xfc\\x6b\\xfe\\x0d\\xdf\\xcf\\xbf\\xe5\\x07\\xf8\\x41\\x7e\\x88\\x7f\\xc7\\xbf\\xe7\\x3f\\xf0\\xc3\\xfc\\x08\\x3f\\xca\\x7f\\xe4\\xc7\\xf8\\x4f\\xfc\\x67\\xfe\\x3f\\xfe\\x0b\\x3f\\xce\\x4f\\xf0\\x5f\\xf9\\x49\\xfe\\x1b\\x3f\\xc5\\x4f\\xf3\\x33\\xfc\\x2c\\x3f\\xc7\\xcf\\xf3\\xdf\\xf9\\x1f\\xfc\\x02\\xbf\\xc8\\x2f\\xf1\\x0a\\x5e\\xc9\\x6d\\xee\\x10\\x4c\\x80\\xe0\\x42\\x08\\x29\\xf4\\x89\\x82\\xa6\\xb0\\x84\\x8f\\xf0\\x15\\x7e\\xc2\\x5f\\x04\\x88\\x40\\x11\\x24\\x82\\x45\\x88\\x08\\x15\\x61\\x22\\x5c\\x44\\x88\\x5a\\x22\\x52\\xd4\\x16\\x51\\xa2\\x8e\\xa8\\x2b\\xea\\x89\\x68\\x11\\x23\\xea\\x8b\\x58\\xd1\\x40\\x34\\x14\\x71\\xa2\\x91\\x68\\x2c\\x9a\\x88\\xa6\\xa2\\x99\\x68\\x2e\\x5a\\x88\\x78\\xd1\\x52\\xb4\\x12\\x09\\x22\\x51\\xb4\\x16\\x6d\\x44\\x92\\x48\\x16\\x6d\\x45\\x8a\\xb8\\x46\\xb4\\x13\\xed\\x45\\xaa\\xe8\\x20\\xae\\x15\\x1d\\x45\\x27\\xd1\\x59\\xa4\\x89\\x74\\xd1\\x45\\x74\\x15\\xdd\\x44\\x86\\xb8\\x4e\\xef\\xdf\\x11\\x3d\\x45\\x2f\\xd1\\x5b\\xf4\\x11\\x7d\\x45\\x3f\\xd1\\x5f\\x0c\\x10\\x03\\xc5\\xf5\\x62\\x90\\x18\\x2c\\x86\\x88\\xa1\\x62\\x98\\xde\\xbf\\x21\\x46\\x8a\\x51\\x62\\xb4\\xd0\\x3b\\x10\\xc6\\x8a\\x71\\x62\\xbc\\xc8\\x12\\x13\\x44\\xb6\\xc8\\x11\\xb9\\x22\\x4f\\x4c\\xd4\\x3b\\x0c\\xc4\\x24\\x31\\x59\\x4c\\x11\\x53\\xd9\\xf3\\xa2\\x50\\x14\\xe9\\x3b\\xeb\\xa2\\x44\\x94\\x8a\\x32\\x31\\x5d\\xcc\\x10\\x33\\xf5\\xdd\\x69\\x71\\x83\\x98\\x23\\x6e\\x14\\x73\\xc5\\x3c\\x31\\x5f\\x2c\\x60\\xcb\\xc5\\x42\\x71\\x93\\xb8\\x59\\xdc\\x22\\x6e\\x15\\xb7\\x89\\xdb\\x45\\xb9\\xb8\\x43\\xdc\\x29\\x16\\x89\\xbb\\xc4\\xdd\\xe2\\x1e\\xb1\\x58\\xdc\\x2b\\xee\\x13\\x4b\\xd8\\xc3\\xe2\\x7e\\xf1\\x80\\x78\\x90\\x2d\\x13\\x0f\\x89\\x87\\xc5\\x52\\xf1\\x88\\x78\\x54\\x2c\\x13\\x8f\\x89\\xc7\\xc5\\x13\\x62\\xb9\\x58\\x21\\x9e\\x14\\x2b\\xc5\\x53\\xe2\\x69\\xf1\\x8c\\x78\\x56\\x3c\\x27\\x9e\\x17\\x2f\\x88\\x17\\xc5\\x4b\\xe2\\x65\\xf1\\x8a\\x78\\x55\\xbc\\x26\\x5e\\x17\\xab\\xc4\\x1b\\xe2\\x4d\\xb1\\x5a\\xbc\\x25\\xde\\x16\\xef\\x88\\x35\\xe2\\x5d\\xf1\\x9e\\x78\\x5f\\x7c\\x20\\x3e\\x14\\x1f\\x89\\x8f\\xc5\\x27\\x62\\xad\\x58\\x27\\x3e\\xd5\\x77\\x52\\xc5\\x67\\xfa\\x6e\\xa5\\xf8\\x5c\\x7c\\x21\\x36\\x8b\\x2d\\x62\\xab\\xf8\\x52\\x6c\\x13\\x5f\\xe9\\x3b\\x71\\x62\\xa7\\xbe\\xe3\\x23\\xf6\\x88\\xbd\\x62\\x9f\\xf8\\x5a\\x7c\\x23\\xf6\\x8b\\x6f\\xf5\\x1d\\x0a\\x71\\x48\\x7c\\x27\\xbe\\x17\\x3f\\x88\\xc3\\xfa\\x5a\\xbb\\xbe\\x72\\x2e\\x7e\\x12\\x3f\\x8b\\xff\\xe9\\xeb\\xd4\\xe2\\x84\\xf8\\x55\\x9c\\x14\\xbf\\x89\\x53\\xe2\\xb4\\xbe\\xda\\x2a\\xce\\x89\\xf3\\xe2\\x77\\xf1\\x87\\xb8\\x20\\x2e\\x8a\\x4b\\xa2\\x42\\x54\\x0a\\x5b\\x38\\x24\\x93\\x20\\xb9\\x14\\x52\\x4a\\x25\\x0d\\x69\\x4a\\x4b\\xfa\\x48\\x5f\\xe9\\x27\\xfd\\x65\\x80\\x0c\\x94\\x41\\x32\\x58\\x86\\xc8\\x50\\x19\\x26\\xc3\\x65\\x84\\xac\\x25\\x23\\x65\\x6d\\x19\\x25\\xeb\\xc8\\xba\\xb2\\x9e\\x8c\\x96\\x31\\xb2\\xbe\\x8c\\x95\\x0d\\x64\\x43\\x19\\x27\\x1b\\xc9\\xc6\\xb2\\x89\\x6c\\x2a\\x9b\\xc9\\xe6\\xb2\\x85\\x8c\\x97\\x2d\\x65\\x2b\\x99\\x20\\x13\\x65\\x6b\\xd9\\x46\\x26\\xc9\\x64\\xd9\\x56\\xa6\\xc8\\x6b\\x64\\x3b\\xd9\\x5e\\xa6\\xca\\x0e\\xf2\\x5a\\xd9\\x51\\x76\\x92\\x9d\\x65\\x9a\\x4c\\x97\\x5d\\x64\\x57\\xd9\\x4d\\x66\\xc8\\xeb\\x64\\x77\\xd9\\x43\\xf6\\x94\\xbd\\x64\\x6f\\xd9\\x47\\xf6\\x95\\xfd\\x64\\x7f\\x39\\x40\\x0e\\x94\\xd7\\xcb\\x41\\x72\\xb0\\x1c\\x22\\x87\\xca\\x61\\x72\\xb8\\x1c\\x21\\x47\\xca\\x51\\x72\\xb4\\x1c\\x23\\x33\\xe5\\x58\\x39\\x4e\\x8e\\x97\\x59\\x72\\x82\\xcc\\x96\\x39\\x32\\x57\\xe6\\xc9\\x89\\x32\\x5f\\x16\\xc8\\x49\\x72\\xb2\\x9c\\x22\\xa7\\xca\\x42\\x59\\x24\\x8b\\xe5\\x34\\x59\\x22\\x4b\\x65\\x99\\x9c\\x2e\\x67\\xc8\\x99\\x72\\x96\\x9c\\x2d\\x6f\\x90\\x73\\xe4\\x8d\\x72\\xae\\x9c\\x27\\xe7\\xcb\\x05\\x72\\xa1\\xbc\\x49\\xde\\x2c\\x6f\\x91\\xb7\\xca\\xdb\\xe4\\xed\\xb2\\x5c\\xde\\x21\\xef\\x94\\x8b\\xe4\\x5d\\xf2\\x6e\\x79\\x8f\\x5c\\x2c\\xef\\x95\\xf7\\xc9\\x25\\xf2\\x7e\\xf9\\x80\\x7c\\x50\\x3e\\x24\\x1f\\x96\\x4b\\xe5\\x23\\xf2\\x51\\xb9\\x4c\\x3e\\x26\\x1f\\x97\\x4f\\xc8\\xe5\\x72\\x85\\x7c\\x52\\xae\\x94\\x4f\\xc9\\xa7\\xe5\\x33\\xf2\\x59\\xf9\\x9c\\x7c\\x5e\\xbe\\x20\\x5f\\x94\\x2f\\xc9\\x97\\xe5\\x2b\\xf2\\x55\\xf9\\x9a\\x7c\\x5d\\xae\\x92\\x6f\\xc8\\x37\\xe5\\x6a\\xf9\\x96\\x7c\\x5b\\xbe\\x23\\xd7\\xc8\\x77\\xe5\\x7b\\xf2\\x7d\\xf9\\x81\\xfc\\x50\\x7e\\x24\\x3f\\x96\\x9f\\xc8\\xb5\\x72\\x9d\\xfc\\x54\\xae\\x97\\x1b\\xe4\\x67\\x72\\xa3\\xdc\\x24\\x3f\\x97\\x5f\\xc8\\xcd\\x72\\x8b\\xdc\\x2a\\xbf\\x94\\xdb\\xe4\\x57\\x72\\xbb\\xdc\\x21\\x77\\xca\\x5d\\x72\\xb7\\xdc\\x23\\xf7\\xca\\x7d\\xf2\\x6b\\xf9\\x8d\\xdc\\x2f\\xbf\\x95\\x07\\xe4\\x41\\x79\\x48\\x7e\\x27\\xbf\\x97\\x3f\\xc8\\xc3\\xf2\\x88\\x3c\\x2a\\x7f\\x94\\xc7\\xe4\\x4f\\xf2\\x67\\xf9\\x3f\\xf9\\x8b\\x3c\\x2e\\x4f\\xc8\\x5f\\xe5\\x49\\xf9\\x9b\\x3c\\x25\\x4f\\xcb\\x33\\xf2\\xac\\x3c\\x27\\xcf\\xcb\\xdf\\xe5\\x1f\\xf2\\x82\\xbc\\x28\\x2f\\xc9\\x0a\\x59\\x29\\x6d\\xe9\\x50\\x4c\\x81\\xe2\\x4a\\x28\\xa9\\x94\\x32\\x94\\xa9\\x2c\\xe5\\xa3\\x7c\\x95\\x9f\\xf2\\x57\\x01\\x2a\\x50\\x05\\xa9\\x60\\x15\\xa2\\x42\\x55\\x98\\x0a\\x57\\x11\\xaa\\x96\\x8a\\x54\\xb5\\x55\\x94\\xaa\\xa3\\xea\\xaa\\x7a\\x2a\\x5a\\xc5\\xa8\\xfa\\x2a\\x56\\x35\\x50\\x0d\\x55\\x9c\\x6a\\xa4\\x1a\\xab\\x26\\xaa\\xa9\\x6a\\xa6\\x9a\\xab\\x16\\x2a\\x5e\\xb5\\x54\\xad\\x54\\x82\\x4a\\x54\\xad\\x55\\x1b\\x95\\xa4\\x92\\x55\\x5b\\x95\\xa2\\xae\\x51\\xed\\x54\\x7b\\x95\\xaa\\x3a\\xa8\\x6b\\x55\\x47\\xd5\\x49\\x75\\x56\\x69\\x2a\\x5d\\x75\\x51\\x5d\\x55\\x37\\x95\\xa1\\xae\\x53\\xdd\\x55\\x0f\\xd5\\x53\\xf5\\x52\\xbd\\x55\\x1f\\xd5\\x57\\xf5\\x53\\xfd\\xd5\\x00\\x35\\x50\\x5d\\xaf\\x06\\xa9\\xc1\\x6a\\x88\\x1a\\xaa\\x86\\xa9\\xe1\\x6a\\x84\\x1a\\xa9\\x46\\xa9\\xd1\\x6a\\x8c\\xca\\x54\\x63\\xd5\\x38\\x35\\x5e\\x65\\xa9\\x09\\x2a\\x5b\\xe5\\xa8\\x5c\\x95\\xa7\\x26\\xaa\\x7c\\x55\\xa0\\x26\\xa9\\xc9\\x6a\\x8a\\x9a\\xaa\\x0a\\x55\\x91\\x2a\\x56\\xd3\\x54\\x89\\x2a\\x55\\x65\\x6a\\xba\\x9a\\xa1\\x66\\xaa\\x59\\x6a\\xb6\\xba\\x41\\xcd\\x51\\x37\\xaa\\xb9\\x6a\\x9e\\x9a\\xaf\\x16\\xa8\\x85\\xea\\x26\\x75\\xb3\\xba\\x45\\xdd\\xaa\\x6e\\x53\\xb7\\xab\\x72\\x75\\x87\\xba\\x53\\x2d\\x52\\x77\\xa9\\xbb\\xd5\\x3d\\x6a\\xb1\\xba\\x57\\xdd\\xa7\\x96\\xa8\\xfb\\xd5\\x03\\xea\\x41\\xf5\\x90\\x7a\\x58\\x2d\\x55\\x8f\\xa8\\x47\\xd5\\x32\\xf5\\x98\\x7a\\x5c\\x3d\\xa1\\x96\\xab\\x15\\xea\\x49\\xb5\\x52\\x3d\\xa5\\x9e\\x56\\xcf\\xa8\\x67\\xd5\\x73\\xea\\x79\\xf5\\x82\\x7a\\x51\\xbd\\xa4\\x5e\\x56\\xaf\\xa8\\x57\\xd5\\x6b\\xea\\x75\\xb5\\x4a\\xbd\\xa1\\xde\\x54\\xab\\xd5\\x5b\\xea\\x6d\\xf5\\x8e\\x5a\\xa3\\xde\\x55\\xef\\xa9\\xf7\\xd5\\x07\\xea\\x43\\xf5\\x91\\xfa\\x58\\x7d\\xa2\\xd6\\xaa\\x75\\xea\\x53\\xb5\\x5e\\x6d\\x50\\x9f\\xa9\\x8d\\x6a\\x93\\xfa\\x5c\\x7d\\xa1\\x36\\xab\\x2d\\x6a\\xab\\xfa\\x52\\x6d\\x53\\x5f\\xa9\\xed\\x6a\\x87\\xda\\xa9\\x76\\xa9\\xdd\\x6a\\x8f\\xda\\xab\\xf6\\xa9\\xaf\\xd5\\x37\\x6a\\xbf\\xfa\\x56\\x1d\\x50\\x07\\xd5\\x21\\xf5\\x9d\\xfa\\x5e\\xfd\\xa0\\x0e\\xab\\x23\\xea\\xa8\\xfa\\x51\\x1d\\x53\\x3f\\xa9\\x9f\\xd5\\xff\\xd4\\x2f\\xea\\xb8\\x3a\\xa1\\x7e\\x55\\x27\\xd5\\x6f\\xea\\x94\\x3a\\xad\\xce\\xa8\\xb3\\xea\\x9c\\x3a\\xaf\\x7e\\x57\\x7f\\xa8\\x0b\\xea\\xa2\\xba\\xa4\\x2a\\x54\\xa5\\xb2\\x95\\xc3\\x60\\x06\\x18\\xdc\\xd0\\xc7\\xd6\\x2a\\xc3\\x30\\x4c\\xc3\\x32\\x7c\\x0c\\x5f\\xc3\\xcf\\xf0\\x37\\x02\\x8c\\x40\\x23\\xc8\\x08\\x36\\x42\\x8c\\x50\\x23\\xcc\\x08\\x37\\x22\\x8c\\x5a\\x46\\xa4\\x51\\xdb\\x88\\x32\\xea\\x18\\x75\\x8d\\x7a\\x46\\xb4\\x11\\x63\\xd4\\x37\\x62\\x8d\\x06\\x46\\x43\\x23\\xce\\x68\\x64\\x34\\x36\\x9a\\x18\\x4d\\x8d\\x66\\x46\\x73\\xa3\\x85\\x11\\x6f\\xb4\\x34\\x5a\\x19\\x09\\x46\\xa2\\xd1\\xda\\x68\\x63\\x24\\x19\\xc9\\x46\\x5b\\x23\\xc5\\xb8\\xc6\\x68\\x67\\xb4\\x37\\x52\\x8d\\x0e\\xc6\\xb5\\x46\\x47\\xa3\\x93\\xd1\\xd9\\x48\\x33\\xd2\\x8d\\x2e\\x46\\x57\\xa3\\x9b\\x91\\x61\\x5c\\x67\\x74\\x37\\x7a\\x18\\x3d\\x8d\\x5e\\x46\\x6f\\xa3\\x8f\\xd1\\xd7\\xe8\\x67\\xf4\\x37\\x06\\x18\\x03\\x8d\\xeb\\x8d\\x41\\xc6\\x60\\x63\\x88\\x31\\xd4\\x18\\x66\\x0c\\x37\\x46\\x18\\x23\\x8d\\x51\\xc6\\x68\\x63\\x8c\\x91\\x69\\x8c\\x35\\xc6\\x19\\xe3\\x8d\\x2c\\x63\\x82\\x91\\x6d\\xe4\\x18\\xb9\\x46\\x9e\\x31\\xd1\\xc8\\x37\\x0a\\x8c\\x49\\xc6\\x64\\x63\\x8a\\x31\\xd5\\x28\\x34\\x8a\\x8c\\x62\\x63\\x9a\\x51\\x62\\x94\\x1a\\x65\\xc6\\x74\\x63\\x86\\x31\\xd3\\x98\\x65\\xcc\\x36\\x6e\\x30\\xe6\\x18\\x37\\x1a\\x73\\x8d\\x79\\xc6\\x7c\\x63\\x81\\xb1\\xd0\\xb8\\xc9\\xb8\\xd9\\xb8\\xc5\\xb8\\xd5\\xb8\\xcd\\xb8\\xdd\\x28\\x37\\xee\\x30\\xee\\x34\\x16\\x19\\x77\\x19\\x77\\x1b\\xf7\\x18\\x8b\\x8d\\x7b\\x8d\\xfb\\x8c\\x25\\xc6\\xfd\\xc6\\x03\\xc6\\x83\\xc6\\x43\\xc6\\xc3\\xc6\\x52\\xe3\\x11\\xe3\\x51\\x63\\x99\\xf1\\x98\\xf1\\xb8\\xf1\\x84\\xb1\\xdc\\x58\\x61\\x3c\\x69\\xac\\x34\\x9e\\x32\\x9e\\x36\\x9e\\x31\\x9e\\x35\\x9e\\x33\\x9e\\x37\\x5e\\x30\\x5e\\x34\\x5e\\x32\\x5e\\x36\\x5e\\x31\\x5e\\x35\\x5e\\x33\\x5e\\x37\\x56\\x19\\x6f\\x18\\x6f\\x1a\\xab\\x8d\\xb7\\x8c\\xb7\\x8d\\x77\\x8c\\x35\\xc6\\xbb\\xc6\\x7b\\xc6\\xfb\\xc6\\x07\\xc6\\x87\\xc6\\x47\\xc6\\xc7\\xc6\\x27\\xc6\\x5a\\x63\\x9d\\xf1\\xa9\\xb1\\xde\\xd8\\x60\\x7c\\x66\\x6c\\x34\\x36\\x19\\x9f\\x1b\\x5f\\x18\\x9b\\x8d\\x2d\\xc6\\x56\\xe3\\x4b\\x63\\x9b\\xf1\\x95\\xb1\\xdd\\xd8\\x61\\xec\\x34\\x76\\x19\\xbb\\x8d\\x3d\\xc6\\x5e\\x63\\x9f\\xf1\\xb5\\xf1\\x8d\\xb1\\xdf\\xf8\\xd6\\x38\\x60\\x1c\\x34\\x0e\\x19\\xdf\\x19\\xdf\\x1b\\x3f\\x18\\x87\\x8d\\x23\\xc6\\x51\\xe3\\x47\\xe3\\x98\\xf1\\x93\\xf1\\xb3\\xf1\\x3f\\xe3\\x17\\xe3\\xb8\\x71\\xc2\\xf8\\xd5\\x38\\x69\\xfc\\x66\\x9c\\x32\\x4e\\x1b\\x67\\x8c\\xb3\\xc6\\x39\\xe3\\xbc\\xf1\\xbb\\xf1\\x87\\x71\\xc1\\xb8\\x68\\x5c\\x32\\x2a\\x8c\\x4a\\xc3\\x36\\x1c\\x26\\x33\\xc1\\xe4\\xa6\\x30\\xa5\\xa9\\x4c\\xc3\\x34\\x4d\\xcb\\xf4\\x31\\x7d\\x4d\\x3f\\xd3\\xdf\\x0c\\x30\\x03\\xcd\\x20\\x33\\xd8\\x0c\\x31\\x43\\xcd\\x30\\x33\\xdc\\x8c\\x30\\x6b\\x99\\x91\\x66\\x6d\\x33\\xca\\xac\\x63\\xd6\\x35\\xeb\\x99\\xd1\\x66\\x8c\\x59\\xdf\\x8c\\x35\\x1b\\x98\\x0d\\xcd\\x38\\xb3\\x91\\xd9\\xd8\\x6c\\x62\\x36\\x35\\x9b\\x99\\xcd\\xcd\\x16\\x66\\xbc\\xd9\\xd2\\x6c\\x65\\x26\\x98\\x89\\x66\\x6b\\xb3\\x8d\\x99\\x64\\x26\\x9b\\x6d\\xcd\\x14\\xf3\\x1a\\xb3\\x9d\\xd9\\xde\\x4c\\x35\\x3b\\x98\\xd7\\x9a\\x1d\\xcd\\x4e\\x66\\x67\\x33\\xcd\\x4c\\x37\\xbb\\x98\\x5d\\xcd\\x6e\\x66\\x86\\x79\\x9d\\xd9\\xdd\\xec\\x61\\xf6\\x34\\x7b\\x99\\xbd\\xcd\\x3e\\x66\\x5f\\xb3\\x9f\\xd9\\xdf\\x1c\\x60\\x0e\\x34\\xaf\\x37\\x07\\x99\\x83\\xcd\\x21\\xe6\\x50\\x73\\x98\\x39\\xdc\\x1c\\x61\\x8e\\x34\\x47\\x99\\xa3\\xcd\\x31\\x66\\xa6\\x39\\xd6\\x1c\\x67\\x8e\\x37\\xb3\\xcc\\x09\\x66\\xb6\\x99\\x63\\xe6\\x9a\\x79\\xe6\\x44\\x33\\xdf\\x2c\\x30\\x27\\x99\\x93\\xcd\\x29\\xe6\\x54\\xb3\\xd0\\x2c\\x32\\x8b\\xcd\\x69\\x66\\x89\\x59\\x6a\\x96\\x99\\xd3\\xcd\\x19\\xe6\\x4c\\x73\\x96\\x39\\xdb\\xbc\\xc1\\x9c\\x63\\xde\\x68\\xce\\x35\\xe7\\x99\\xf3\\xcd\\x05\\xe6\\x42\\xf3\\x26\\xf3\\x66\\xf3\\x16\\xf3\\x56\\xf3\\x36\\xf3\\x76\\xb3\\xdc\\xbc\\xc3\\xbc\\xd3\\x5c\\x64\\xde\\x65\\xde\\x6d\\xde\\x63\\x2e\\x36\\xef\\x35\\xef\\x33\\x97\\x98\\xf7\\x9b\\x0f\\x98\\x0f\\x9a\\x0f\\x99\\x0f\\x9b\\x4b\\xcd\\x47\\xcc\\x47\\xcd\\x65\\xe6\\x63\\xe6\\xe3\\xe6\\x13\\xe6\\x72\\x73\\x85\\xf9\\xa4\\xb9\\xd2\\x7c\\xca\\x7c\\xda\\x7c\\xc6\\x7c\\xd6\\x7c\\xce\\x7c\\xde\\x7c\\xc1\\x7c\\xd1\\x7c\\xc9\\x7c\\xd9\\x7c\\xc5\\x7c\\xd5\\x7c\\xcd\\x7c\\xdd\\x5c\\x65\\xbe\\x61\\xbe\\x69\\xae\\x36\\xdf\\x32\\xdf\\x36\\xdf\\x31\\xd7\\x98\\xef\\x9a\\xef\\x99\\xef\\x9b\\x1f\\x98\\x1f\\x9a\\x1f\\x99\\x1f\\x9b\\x9f\\x98\\x6b\\xcd\\x75\\xe6\\xa7\\xe6\\x7a\\x73\\x83\\xf9\\x99\\xb9\\xd1\\xdc\\x64\\x7e\\x6e\\x7e\\x61\\x6e\\x36\\xb7\\x98\\x5b\\xcd\\x2f\\xcd\\x6d\\xe6\\x57\\xe6\\x76\\x73\\x87\\xb9\\xd3\\xdc\\x65\\xee\\x36\\xf7\\x98\\x7b\\xcd\\x7d\\xe6\\xd7\\xe6\\x37\\xe6\\x7e\\xf3\\x5b\\xf3\\x80\\x79\\xd0\\x3c\\x64\\x7e\\x67\\x7e\\x6f\\xfe\\x60\\x1e\\x36\\x8f\\x98\\x47\\xcd\\x1f\\xcd\\x63\\xe6\\x4f\\xe6\\xcf\\xe6\\xff\\xcc\\x5f\\xcc\\xe3\\xe6\\x09\\xf3\\x57\\xf3\\xa4\\xf9\\x9b\\x79\\xca\\x3c\\x6d\\x9e\\x31\\xcf\\x9a\\xe7\\xcc\\xf3\\xe6\\xef\\xe6\\x1f\\xe6\\x05\\xf3\\xa2\\x79\\xc9\\xac\\x30\\x2b\\x4d\\xdb\\x74\\x58\\x8c\\xbd\\xc1\\xde\\xb4\\xc0\\xe2\\x96\\x60\\x6f\\xb3\\x77\\xd8\\x7a\\x4b\\xb2\\xd5\\xec\\x2d\\xb6\\xc1\\x52\\xec\\x26\\xb6\\x8e\\xdd\\xce\\x5e\\xb2\\x0c\\xcb\\xb4\\x2c\\xcb\\xc7\\xf2\\xb5\\xfc\\xd8\\x67\\x96\\xbf\\x15\\x60\\x05\\xb2\\x8f\\xd8\\xc7\\x56\\x90\\x15\\xcc\\x3e\\xb0\\x42\\xac\\x50\\x2b\\xcc\\x0a\\xb7\\x22\\xac\\x5a\\x56\\xa4\\x55\\xdb\\x8a\\xb2\\xea\\x58\\x75\\xad\\x7a\\x56\\xb4\\x15\\x63\\xd5\\xb7\\x62\\xad\\x06\\x56\\x43\\x2b\\xce\\x6a\\xc4\\x7e\\xb7\\x1a\\x5b\\x4d\\xac\\xa6\\x56\\x33\\xab\\xb9\\xd5\\xc2\\x8a\\xb7\\x5a\\x5a\\xad\\xac\\x04\\x2b\\xd1\\x6a\\x6d\\xb5\\xb1\\x92\\xac\\x64\\xab\\xad\\x95\\x62\\x5d\\x63\\xb5\\xb3\\xda\\x5b\\xa9\\x56\\x07\\xeb\\x5a\\x76\\x97\\xd5\\xd1\\xea\\x64\\x75\\xb6\\xd2\\xac\\x74\\xab\\x8b\\xd5\\xd5\\xea\\x66\\x65\\x58\\xd7\\x59\\xdd\\xad\\x1e\\x56\\x4f\\xab\\x97\\xd5\\xdb\\xea\\x63\\xf5\\xb5\\xfa\\xb1\\xa5\\x56\\x7f\\xf6\\x28\\x7b\\x84\\x9d\\xb4\\x06\\xb0\\x4f\\xd9\\x33\\x6c\\x89\\x35\\xd0\\xba\\x9e\\x3d\\xc6\\x9e\\x63\\x8b\\xad\\x41\\xec\\x01\\xf6\\xa0\\x35\\xd8\\x1a\\x62\\x0d\\xb5\\x86\\x59\\xc3\\xad\\x11\\xd6\\x48\\x6b\\x94\\x35\\xda\\x1a\\x63\\x65\\x5a\\x63\\xad\\x71\\xd6\\x78\\x2b\\xcb\\x9a\\x60\\x65\\x5b\\x39\\x56\\xae\\x95\\x67\\x4d\\xb4\\xf2\\xad\\x02\\x6b\\x92\\x35\\xd9\\x9a\\x62\\x4d\\xb5\\x0a\\xad\\x22\\xab\\xd8\\x9a\\x66\\x95\\x58\\xa5\\x56\\x99\\x35\\xdd\\x9a\\x61\\xcd\\xb4\\x66\\x59\\xb3\\xad\\x1b\\xac\\x39\\xd6\\x8d\\xd6\\x5c\\x6b\\x9e\\x35\\xdf\\x5a\\x60\\x2d\\xb4\\x6e\\xb2\\x6e\\xb6\\x6e\\xb1\\x6e\\xb5\\x6e\\xb3\\x6e\\xb7\\xca\\xad\\x3b\\xac\\x3b\\xad\\x45\\xd6\\x5d\\xd6\\xdd\\xd6\\x3d\\xd6\\x62\\xf6\\xae\\x75\\xaf\\x75\\x9f\\xb5\\xc4\\xba\\xdf\\x7a\\xc0\\x7a\\xd0\\x7a\\xc8\\x7a\\xd8\\x5a\\x6a\\x3d\\x62\\x3d\\x6a\\x2d\\xb3\\x1e\\xb3\\x1e\\xb7\\x9e\\xb0\\x96\\x5b\\x2b\\xac\\x27\\xad\\x95\\xd6\\x53\\xd6\\xd3\\xd6\\x33\\xd6\\xb3\\xd6\\x73\\xd6\\xf3\\xd6\\x0b\\xd6\\x8b\\xd6\\x4b\\xd6\\xcb\\xd6\\x2b\\xd6\\xab\\xd6\\x6b\\xd6\\xeb\\xd6\\x2a\\xeb\\x0d\\xeb\\x4d\\x6b\\xb5\\xf5\\x96\\xf5\\xb6\\xf5\\x8e\\xb5\\xc6\\x7a\\xd7\\x7a\\xcf\\x7a\\xdf\\xfa\\xc0\\xfa\\xd0\\xfa\\xc8\\xfa\\xd8\\xfa\\xc4\\x5a\\x6b\\xad\\xb3\\x3e\\xb5\\xd6\\x5b\\x1b\\xac\\xcf\\xac\\x8d\\xd6\\x26\\xeb\\x73\\xeb\\x0b\\x6b\\xb3\\xb5\\xc5\\xda\\x6a\\x7d\\x69\\x6d\\xb3\\xbe\\xb2\\xb6\\x5b\\x3b\\xac\\x9d\\xd6\\x2e\\x6b\\xb7\\xb5\\xc7\\xda\\x6b\\xed\\xb3\\xbe\\xb6\\xbe\\xb1\\xf6\\x5b\\xdf\\x5a\\x07\\xac\\x83\\xd6\\x21\\xeb\\x3b\\xeb\\x7b\\xeb\\x07\\xeb\\xb0\\x75\\xc4\\xfa\\x7f\\xd8\\x7b\\x17\\x38\\xb7\\x8a\\xf3\\x7c\\xf8\\xdc\\xa4\\xd5\\x68\\x2f\\x5e\\x1b\\x07\\x6c\\xc7\\x5c\\x92\\x3f\\x25\\x40\\x28\\xb5\\xce\\x19\\xdd\\x08\\xa5\\xe8\\x72\\x86\\x9b\\x83\\x29\\x60\\x62\\x08\\x01\\xe4\\x5d\\xad\\x57\\x58\\xbb\\x5a\\xef\\xc5\\x18\\x42\\x0c\\xa5\\x34\\xa5\\x14\\x02\\xa5\\x94\\x52\\x97\\xa6\\x94\\xd2\\x60\\x08\\x4d\\x53\\xd7\\x75\\xd3\\xd4\\xa5\\x84\\x24\\xd8\\x49\\xbc\\x26\\x80\\x21\\x14\\x03\\xb1\\xc1\\xc6\\x06\\x0c\\x36\\x60\\xcc\\xa5\\xe0\\xfd\\xde\\x99\\xf3\\x48\\x3a\\x3a\\xab\\x35\\xeb\\xa4\\xe9\\x97\\x7e\\xdf\\xdf\\xfe\\xcd\\x3b\\x97\\x33\\xf3\\x3e\\xef\\xbc\\x33\\x3a\\xcf\\x3b\\xd2\\xd1\\x6a\\x7b\\xe4\\xe5\\xc8\\x8e\\xc8\\xce\\xc8\\x2b\\x91\\x57\\x23\\xaf\\x45\\x76\\x45\\x5e\\x8f\\xbc\\x11\\xd9\\x1d\\xd9\\x13\\x79\\x33\\xf2\\x56\\xe4\\xed\\xc8\\xde\\xc8\\x3b\\x91\\x7d\\x91\\x77\\x23\\xef\\x45\\xde\\x8f\\x7c\\x10\\xf9\\xaf\\xc8\\x87\\x91\\x8f\\x22\\xfb\\x23\\x63\\x4c\\x63\\x3a\\x33\\x98\\xc9\\x2c\\x16\\x62\\x61\\xd6\\xc2\\x22\\x8c\\xb1\\x28\\x6b\\x65\\x6d\\xac\\x9d\\x75\\xb0\\x29\\xac\\x93\\x4d\\x65\\xd3\\xd8\\x21\\x6c\\x3a\\xfb\\x04\\x3b\\x94\\x1d\\xc6\\x66\\xb0\\x99\\x6c\\x16\\xfb\\x24\\x9b\\xcd\\x0e\\x67\\x47\\xb0\\x23\\xd9\\x51\\xec\\x53\\xec\\xd3\\xec\\xff\\xb0\\xa3\\xd9\\x6f\\xb0\\x63\\xd8\\x67\\xd8\\xb1\\xec\\x38\\x76\\x3c\\xfb\\x2c\\x3b\\x81\\xfd\\x26\\x3b\\x91\\xfd\\x16\\x9b\\xc3\\x62\\xcc\\x66\\x0e\\xe3\\x2c\\xce\\x12\\x2c\\xc9\\x52\\x2c\\xcd\\x4e\\x62\\x9f\\x63\\x27\\xb3\\xdf\\x66\\xa7\\xb0\\xdf\\x61\\xa7\\xb2\\x0c\\xcb\\xb2\\x1c\\xcb\\x33\\x97\\x09\\x76\\x1a\\x3b\\x9d\\x9d\\xc1\\xce\\x64\\x67\\xb1\\xb9\\xec\\xf3\\xec\\x6c\\x36\\x8f\\x9d\\xc3\\x7e\\x97\\x9d\\xcb\\xce\\x63\\xe7\\xb3\\xf9\\xec\\x02\\xf6\\x05\\xb6\\x80\\x5d\\xc8\\x2e\\x62\\x5f\\x64\\x17\\xb3\\x2f\\xb1\\x4b\\xd8\\xa5\\xec\\x32\\x56\\x60\\x0b\\x59\\x17\\xeb\\x66\\x45\\xd6\\xc3\\x16\\xb1\\x5e\\x56\\x62\\x97\\xb3\\xc5\\xac\\xcc\\xfa\\x58\\x3f\\xab\\xb0\\x01\\xb6\\x84\\x0d\\xb2\\x21\\x36\\xcc\\x46\\xd8\\x52\\x76\\x05\\x5b\\xc6\\xae\\x64\\x57\\xb1\\x2f\\xb3\\xab\\xd9\\x57\\xd8\\x72\\x76\\x0d\\xbb\\x96\\xfd\\x1e\\xbb\\x8e\\xfd\\x3e\\xbb\\x9e\\xfd\\x01\\xfb\\x2a\\xfb\\x43\\x76\\x03\\xfb\\x23\\x76\\x23\\xfb\\x63\\x76\\x13\\xbb\\x99\\x7d\\x8d\\xdd\\xc2\\x6e\\x65\\x7f\\xc2\\x6e\\x63\\x7f\\xca\\x6e\\x67\\x7f\\xc6\\xee\\x60\\x7f\\xce\\xee\\x64\\x7f\\xc1\\x56\\xb0\\xbf\\x64\\x77\\xb1\\xbf\\x62\\x5f\\x67\\x7f\\xcd\\xee\\x66\\x7f\\xc3\\xee\\x61\\x7f\\xcb\\xee\\x65\\x7f\\xc7\\xbe\\xc1\\xee\\x63\\x2b\\xd9\\xfd\\xec\\x01\\xf6\\x4d\\xf6\\x20\\xfb\\x7b\\xf6\\x2d\\xf6\\x0f\\xec\\xdb\\xec\\x1f\\xd9\\x2a\\xf6\\x4f\\x6c\\x35\\xfb\\x67\\xb6\\x86\\xfd\\x0b\\xfb\\x0e\\xfb\\x57\\xf6\\x5d\\xf6\\x6f\\x6c\\x2d\\xfb\\x77\\xf6\\x10\\xfb\\x0f\\xf6\\x30\\xfb\\x1e\\x7b\\x84\\x7d\\x9f\\xfd\\x80\\xfd\\x90\\x3d\\xca\\xd6\\xb1\\xf5\\xec\\x47\\xec\\xc7\\xec\\x27\\x6c\\x03\\x1b\\x65\\x1b\\xd9\\x63\\xec\\xa7\\xec\\x71\\xf6\\x04\\x7b\\x92\\x6d\\x62\\x4f\\xb1\\xa7\\xd9\\xcf\\xd8\\x33\\xec\\x3f\\xd9\\xb3\\x6c\\x33\\x7b\\x8e\\x3d\\xcf\\x5e\\x60\\x3f\\x67\\x5b\\xd8\\x56\\xf6\\x22\\x7b\\x89\\x6d\\x63\\xdb\\xd9\\xcb\\x6c\\x07\\xdb\\xc9\\x5e\\x61\\xaf\\xb2\\xd7\\xd8\\x2e\\xf6\\x3a\\x7b\\x83\\xed\\x66\\x7b\\xd8\\x9b\\xec\\x2d\\xf6\\x36\\xdb\\xcb\\xde\\x61\\xfb\\xd8\\xbb\\xec\\x3d\\xf6\\x3e\\xfb\\x80\\xfd\\x17\\xfb\\x90\\x7d\\xc4\\xf6\\xb3\\xb1\\xa8\\x16\\xd5\\xa3\\x46\\xd4\\x8c\\x5a\\xd1\\x50\\x34\\x1c\\x6d\\x89\\x46\\xa2\\x2c\\x1a\\x8d\\xb6\\x46\\xdb\\xa2\\xed\\xd1\\x8e\\xe8\\x94\\x68\\x67\\x74\\x6a\\x74\\x5a\\xf4\\x90\\xe8\\xf4\\xe8\\x27\\xa2\\x87\\x46\\x0f\\x8b\\xce\\x88\\xce\\x8c\\xce\\x8a\\x7e\\x32\\x3a\\x3b\\x7a\\x78\\xf4\\x88\\x96\\x91\\xfe\\xd2\\x9c\\x39\\x99\\x39\\xc8\\xf3\\xac\\xb2\\xb4\\x38\\x38\\xd4\\x55\\x19\\x2c\\x9a\\x7d\\x23\\xb1\\x70\\x5f\\xa9\\xbb\\xbb\\x32\\xdc\\x92\\xe9\\x93\\xef\\x35\\xf7\\xb7\\x14\\xbc\\x3c\\x9c\\x59\\x38\\x58\\x5c\\x5a\\x0c\\x17\\x54\\xd6\\x92\\xa9\\x2c\\xaa\\xf4\\x17\\x17\\xb7\\x14\\xbc\\xbc\\x35\\xd7\\x55\\x1a\\xec\\x1a\\xe9\\xeb\\x29\\x17\\x97\\xb5\\x76\\xd5\\xcb\\xd1\\x1c\\xa9\\x2a\\x74\\x75\\x15\\xfb\\x87\\xa3\\x5d\\xb5\\x62\\x38\\xdf\\x55\\x90\\x2a\\xbb\\xbd\\x2c\\x4f\\xfa\\x0b\\xc3\\x2d\\x2e\\x00\\x8b\\x00\\x74\\x3d\\xc0\\xa2\\xca\\xa2\\x6e\\x5d\\x51\\xb1\\x56\\x6c\\x71\\x61\\x46\\xd1\\xcb\\xc3\\xae\\xa7\\xb1\\xa8\\xb2\\xd6\\xd3\\x7c\\x46\\x2d\\xf2\\x19\\x75\\x5a\\x5d\\xd7\\xa2\\x5a\\xb1\\xed\\xb4\\xae\\x4a\\x5f\\x5f\\x01\\x95\\x45\\xbe\\x4a\\xeb\\xe9\\x3e\\x3d\\xbd\\xf5\\xb2\\x75\\xfa\\xc2\\xc2\\xa0\\xd5\\x4b\\x22\\x7c\\xc6\\x70\\xa9\\xdc\\x5d\\x0c\\x97\\x54\\xd6\\x72\\x06\\x66\\x52\\xc2\\x4c\\xce\\xf0\\x66\\x52\\xf2\\x5c\\x77\\x06\\x6c\\x2e\\x79\\xb9\\x71\\xc6\\x99\\x46\\xe9\\xf2\\xd6\\x33\\x7d\\x18\\x97\\xd7\\xcb\\x6d\\x67\\xf9\\xad\\x5a\\xdc\\x50\\x59\\x24\\x3f\\xba\\x28\\x17\\xfa\\xbb\\x4b\\x5d\\xe1\\xb9\\x85\\xae\\x91\\xe1\\x62\\xb8\\xac\\xb2\\xb6\\xb9\\xfe\\x7e\\x65\\x5f\\x25\\x3c\\xd7\\x73\\x50\\x59\\x65\\xd6\\x5c\\x9a\\xbd\\x55\\x26\\x11\\x3e\\xdb\\x1b\\xdf\\xef\\x8d\\x3f\\xdb\\x3f\\xbe\\xdf\\x3f\\xfe\\x6c\\x6f\\x7c\\xbf\\xe7\\xe0\\xfe\\xc2\\x40\\x65\\x68\\x78\\xb0\\x32\\xd0\\x5b\\x34\\xdd\\xfe\\x45\\x66\\xb1\\x7f\\x51\\xcb\\x3c\\x4c\\xbe\\x82\\xc9\\xcf\\xf3\\x26\\x5f\\x51\\x59\\xfb\\xbc\\xde\\x91\\xfe\\x45\\x85\\xc1\\x91\\xbe\\x72\\x61\\x64\\xb8\\xbd\\xe2\\xaf\\x85\\xcf\\xf5\\x6c\\x18\\xf4\\x6c\\x38\\xd7\\x6f\\xc3\\xa0\\xdf\\x86\\x73\\x3d\\x1b\\x06\\xbd\\xec\\x3c\\x6f\\xd4\\x90\\xca\\x5a\\xcf\\xf3\\xb9\\x71\\xc8\\xe7\\xc6\\xf3\\xfd\\xda\\x86\\xfd\\xda\\xce\\xf7\\xd4\\x0c\\x7b\\x1e\\x39\\x5f\\x2e\\xe9\\xb0\\x5c\\xd2\\xf9\\xde\\x92\\x8e\\x78\\x4b\\x3a\\x1f\\xb3\\x1a\\xc1\\xac\\xe6\\x7b\\xb3\\x1a\\x51\\x59\\x68\\xfe\\x60\\xa9\\x7f\\x51\\x68\\x44\\xca\\xf6\\xf9\\x0d\\x33\\x1c\\xf1\\xd7\\x5a\\xe6\\x63\\xe9\\x47\\xf0\\xaa\\xf9\\x82\\xcf\\xda\\x2b\\x7c\\xe5\\x0b\\x7d\\xe5\\x2b\\xeb\\xe5\\xf0\\x45\\xde\\x5c\\xaf\\x52\\x59\\xf4\\xa2\\xfa\\x36\\xbe\\xaa\\x56\\x0c\\x95\\x2b\\xfd\\x8b\\x86\\xd4\\x4b\\x3b\\x96\\x9a\\x83\\x3c\\x86\\xdc\\x46\\xee\\x20\\xe7\\xc8\\xe3\\xc8\\x13\\xc8\\x93\\xc8\\x53\\xc8\\xd3\\xc8\\x33\\xc8\\xb3\\xc8\\x73\\xc8\\xf3\\xc8\\x5d\\xe4\\xc2\\xcb\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xdc\\x34\\x70\\xd3\\xc0\\x4d\\x03\\x37\\x0d\\xdc\\x34\\x70\\xd3\\xc0\\x4d\\x03\\x37\\x0d\\xdc\\x34\\x70\\xd3\\xc0\\x4d\\x03\\x37\\x2d\\x42\\xf3\\x7a\\x2b\\x83\\x74\\xfc\\x94\\xd2\\x6b\\xcb\\x60\\xce\\x19\\x60\\x67\\x80\\x9d\\x01\\x76\\x06\\xd8\\x19\\x60\\x67\\x80\\x9d\\x01\\x76\\x06\\xd8\\x19\\x60\\x67\\x80\\x9d\\x01\\x76\\xc6\\x0d\\xcd\\x57\\x98\\x23\\x75\\xcc\\x2c\\xe6\\x9b\\x05\\x76\\x16\\xd8\\x59\\x60\\x67\\x81\\x9d\\x05\\x76\\x16\\xd8\\x59\\x60\\x67\\x81\\x9d\\x05\\x76\\x16\\xd8\\x59\\x60\\x67\\x81\\x9d\\xc5\\xbc\\xb3\\xf0\\x77\\x0e\\xfe\\xce\\x01\\x3f\\x07\\xfc\\x1c\\xf0\\x73\\xc0\\xcf\\x01\\x3f\\x07\\xfc\\x1c\\xf0\\x73\\xc0\\xcf\\x01\\x3f\\x07\\xfc\\x1c\\xf0\\x73\\xc0\\xcf\\x01\\x3f\\x07\\xfc\\x1c\\xf0\\xf3\\xc0\\xcf\\x03\\x3f\\x0f\\xfc\\x3c\\xf0\\xf3\\xc0\\xcf\\x03\\x3f\\x0f\\xfc\\x3c\\xf0\\xf3\\xc0\\xcf\\x03\\x3f\\x0f\\xfc\\x3c\\xf0\\xf3\\xc0\\xcf\\x03\\x3f\\x0f\\xfc\\x3c\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x05\\xf0\\x45\\x3a\\x9a\\x91\\xf7\\x12\\xef\\x65\\x5e\\xa8\\x15\\x5b\\x32\\xae\\x97\\x17\\x8a\\xde\\xdd\\x6e\\xde\\x50\\xb9\\x30\\xd4\\xeb\\x95\\x2b\\xf5\\xb2\\xd2\\x62\\xcf\\x99\\x83\\x3c\\x86\\xdc\\x46\\xee\\x20\\xe7\\xc8\\xe3\\xc8\\x13\\xc8\\x93\\xc8\\x53\\xc8\\xd3\\xc8\\x33\\xc8\\xb3\\xc8\\x73\\xc8\\xf3\\xc8\\x5d\\xe4\\x9e\\x37\\xec\\x18\\xf0\\x63\\xc0\\x8f\\x01\\x3f\\x06\\xfc\\x18\\xf0\\x63\\xc0\\x8f\\x01\\x3f\\x96\\x6c\\x3b\\xcf\\x7f\\xb7\\x1e\\xf2\\x55\\xd0\\x03\\x96\\xc4\\x60\\x49\\x0c\\x96\\xc4\\x60\\x49\\x0c\\x96\\xc4\\x60\\x89\\x0d\\x4b\\x6c\\x58\\x62\\xc3\\x12\\x1b\\x96\\xd8\\xb0\\xc4\\x86\\x25\\x36\\x2c\\xb1\\xe1\\x09\\x1b\\x9e\\xb0\\xe1\\x09\\x1b\\xf8\\x36\\xf0\\x6d\\xe0\\xdb\\xc0\\xb7\\x81\\x6f\\x03\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x0e\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x12\\xec\\xf2\\x13\\xe9\\x8e\\x5e\\x2e\\x0e\\x0d\\xa1\\x05\\x16\\x38\\xb0\\xc0\\x81\\x05\\x0e\\x2c\\x70\\x60\\x81\\x03\\x0b\\x1c\\x58\\xe0\\xc0\\x02\\x0e\\x0b\\x38\\x2c\\xe0\\xb0\\x80\\xc3\\x02\\x0e\\x0b\\x38\\x2c\\xe0\\xf0\\x00\\x87\\x07\\x38\\xf0\\x39\\xf0\\x39\\xf0\\x39\\xf0\\x39\\xf0\\x39\\xf0\\x39\\xf0\\x39\\xf0\\xe3\\xc0\\x8f\\x03\\x3f\\x0e\\xfc\\x38\\xf0\\xe3\\xc0\\x8f\\x03\\x3f\\x0e\\xfc\\x38\\xf0\\xe3\\xc0\\x8f\\x03\\x3f\\x0e\\xfc\\x38\\xf0\\xe3\\xc0\\x8f\\x03\\x3f\\x0e\\xfc\\x38\\xf0\\x13\\xc0\\x4f\\x00\\x3f\\x01\\xfc\\x04\\xf0\\x13\\xc0\\x4f\\x00\\x3f\\x01\\xfc\\x04\\xf0\\x13\\xc0\\x4f\\x00\\x3f\\x01\\xfc\\x04\\xf0\\x13\\xc0\\x4f\\x00\\x3f\\x01\\xfc\\x04\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x11\\x09\\xd8\\x88\\x04\\x6c\\x44\\x02\\x36\\x22\\x01\\x1b\\x91\\x80\\x8d\\x48\\xc0\\x46\\x24\\x60\\x23\\x12\\xb0\\x11\\x09\\xd8\\x88\\x04\\x6c\\x44\\x02\\x36\\x22\\x01\\x1b\\x91\\x80\\x8d\\x48\\xc0\\x46\\x24\\x60\\x23\\x12\\xb0\\x11\\x09\\xd8\\x88\\x04\\xec\\x34\\xf0\\x11\\x11\\xd8\\x88\\x08\\x6c\\x44\\x04\\x36\\x22\\x02\\x1b\\x11\\x81\\x8d\\x88\\xc0\\x46\\x44\\x60\\x23\\x22\\xb0\\x11\\x11\\xd8\\x88\\x08\\x6c\\x44\\x04\\x36\\x22\\x02\\x3b\\x0d\\x7c\\x1c\\x76\\xec\\x0c\\xf0\\x11\\x15\\xd8\\x88\\x0a\\x6c\\x44\\x05\\x36\\xa2\\x02\\x1b\\x51\\x81\\x8d\\xa8\\xc0\\x46\\x54\\x60\\x23\\x2a\\xb0\\x11\\x15\\xd8\\x88\\x0a\\x6c\\x44\\x05\\x36\\xa2\\x02\\x3b\\x03\\xfc\\x0c\\xf0\\xb3\\xc0\\x47\\x64\\x60\\x23\\x32\\xb0\\x11\\x19\\xd8\\x88\\x0c\\x6c\\x44\\x06\\x36\\x22\\x03\\x1b\\x91\\x81\\x8d\\xc8\\xc0\\x46\\x64\\x60\\x23\\x32\\xb0\\x11\\x19\\xd8\\x88\\x0c\\x6c\\x44\\x06\\x36\\x22\\x03\\x1b\\x91\\x81\\x8d\\xc8\\xc0\\x46\\x64\\x60\\x23\\x32\\xb0\\x11\\x19\\xd8\\x88\\x0c\\x6c\\x44\\x06\\x36\\x22\\x01\\x1b\\x11\\x80\\x8d\\x08\\xc0\\x46\\x04\\x60\\x23\\x02\\xb0\\x11\\x01\\xd8\\x88\\x00\\x6c\\x44\\x00\\x36\\x22\\x00\\x1b\\x11\\x80\\x8d\\x08\\xc0\\x46\\x04\\x60\\x23\\x02\\xb0\\x11\\x01\\xd8\\x88\\x00\\x6c\\x30\\xba\\x0d\\x46\\xb7\\xc1\\xe8\\x36\\x18\\xdd\\x06\\xa3\\xdb\\x60\\x74\\x1b\\x8c\\x6e\\x83\\xd1\\x6d\\x30\\xba\\x0d\\x46\\xb7\\xc1\\xe8\\x36\\x18\\xdd\\x06\\xa3\\xdb\\x60\\x74\\x1b\\x8c\\x6e\\x83\\xd1\\x6d\\x30\\xba\\x0d\\x46\\xb7\\xc1\\xe8\\x36\\x18\\xdd\\x06\\xa3\\xdb\\x60\\x74\\x1b\\x8c\\x6e\\x83\\xd1\\x6d\\x30\\xba\\x0d\\x46\\xb7\\xc1\\xe8\\xb6\\x00\\xbe\\x00\\xbe\\x00\\xbe\\x00\\xbe\\x00\\xbe\\x00\\xbe\\x10\\x6c\\xd1\\x60\\x61\\x69\\x91\\xa8\\x6f\\x21\\x53\\x9c\\x2e\\x4b\\xea\\x9a\\x33\\xc7\\x66\\xea\\x4c\\xe2\\x6b\\xe1\\xc8\\xe3\\xc8\\x13\\xc8\\x93\\xc8\\x53\\xed\\xbd\\x95\\xca\\xe2\\xc2\\xc2\\xca\\x52\\xff\\xa8\\x0c\\xf2\\x2c\\xf2\\x1c\\xf2\\x3c\\x72\\x17\\xb9\\xe7\\x0b\\x07\\x7c\\xee\\x80\\xcf\\x1d\\xf0\\xb9\\x03\\x3e\\x77\\xc0\\xe7\\x0e\\xf8\\xdc\\x01\\x9f\\x3b\\x31\\x58\\x11\\x4b\\x21\\x4f\\x23\\x07\\x3e\\x58\\xdc\\x01\\x8b\\x3b\\x60\\x71\\x07\\x2c\\xee\\x80\\xc5\\x1d\\xb0\\xb8\\x03\\x16\\x77\\x6c\\xbb\\x8d\\x38\\x72\\x61\\xb1\\x5c\\xb9\\xa2\\x3e\\x29\\x50\\xb9\\x03\\x2a\\x77\\x40\\xe5\\x0e\\xa8\\xdc\\x01\\x95\\x3b\\xa0\\x72\\x07\\x54\\xee\\x80\\xca\\x1d\\x50\\xb9\\x03\\x2a\\x77\\x40\\xe5\\x0e\\xa8\\xdc\\x01\\x95\\x3b\\xa0\\x72\\x07\\x54\\xee\\x80\\xca\\x1d\\x50\\xb9\\x03\\x2a\\x77\\x1c\\xe0\\x3b\\xc0\\x07\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x51\\x3b\\x20\\x6a\\x07\\x44\\xec\\x80\\x88\\x1d\\x10\\xb1\\x03\\x22\\x76\\x92\\x6e\\x68\\xb8\\xd2\\x5f\\x19\\x6a\\xef\\x2e\\x15\\x07\\x8b\\x43\\xa5\\x21\\x55\\x8b\\x66\\xca\\x03\\xbd\\x05\\x55\\x64\\x85\\xfe\\xca\\x70\\xb1\\x5c\\x2c\\x15\\xda\\xdc\\x81\\xa1\\x12\\x9d\\xde\\x55\\x73\\xc4\\x1d\\xc6\\xf5\\x33\\x2a\\x28\\xb5\\xcd\\xeb\\x2b\\xc9\\xf7\\x1e\\xbc\\xca\\x7c\\x5f\\xe7\\xe8\\xbc\\xbe\\xe2\\x22\\xaf\\xd3\\xd4\\x12\\x75\\x6f\\xc0\\x0a\\x29\\x2c\\x2b\\x5b\\x1c\\x2e\\x84\\x4e\\x2b\\x50\\x24\\xdd\\x02\\x1c\\xeb\\x22\\x6a\\x32\\x09\\x27\\x74\\x7e\\x2f\\x95\\x2c\\x09\\x14\\x3a\\xab\\x30\\x30\\x50\\x08\\xcf\\x2d\\xf4\\x2d\\xec\\x2e\\x18\\x9f\\x1f\\x31\\xce\\x1e\\x31\\x16\\x94\\x5a\\x80\\x6c\\x9c\\x53\\x32\\xcf\\xed\\xad\\x84\\xce\\x2b\\x2d\\xea\\x2b\\x98\\xe7\\x17\\x46\\x5a\\x60\\x85\\x79\\x4e\\x6f\\xc9\\xcc\\x51\\x3a\\x67\\xa8\\xd4\\x76\\x86\\xcf\\x82\\x29\\xe8\\x50\\xad\\x47\\x0b\\xb5\\x89\\xb7\\x15\\xfd\\xd3\\x2d\\x56\\xa7\\x5b\\xaa\\x4e\\x77\\xfa\\x48\\xe3\\x50\\x6f\\x32\\x6a\\xbc\\xb5\\x50\\x4e\\x66\\x91\\x9c\\x4c\\xa8\\xbb\\x58\\x1e\\x2e\\xb4\\x40\\x97\\x75\\x95\\x9c\\x92\\xbc\\x38\\xac\\xa6\\x24\\x95\\x85\\x16\\xab\\x29\\x95\\xbd\\x29\\xf5\\x8f\\x18\\xcb\\x4a\\x2d\\x15\\x6f\\x3e\\xe6\\x60\\x6f\\x25\\x3c\\x24\\x27\\x13\\x0b\\xa9\\xcc\\x1c\\xa6\\x39\\x01\\xd7\\x1c\\xa0\\xf9\\x74\\x51\\xa2\\x6a\\xa8\\x22\\x1d\\xdc\\xe6\\xf7\\xed\\x94\\x80\\x79\\x6d\\x15\\xff\\xea\\x8c\\xf8\\x57\\xa7\\x52\\x5b\\x1d\\x6f\\x4f\\x80\\x24\\x1d\\x90\\xa4\\x03\\x92\\x74\\x40\\x92\\x0e\\x48\\xd2\\x01\\x49\\x3a\\x20\\x49\\x07\\x24\\xe9\\xe0\\x98\\xec\\xe0\\x98\\xec\\xe0\\x98\\xec\\xe0\\x98\\xec\\xe0\\x98\\xec\\xe0\\x98\\xec\\x80\\x54\\x1d\\x90\\xaa\\x03\\x52\\x75\\x40\\xaa\\x0e\\x48\\xd5\\x01\\xa9\\x3a\\x20\\x55\\x07\\xa4\\xea\\x80\\x54\\x1d\\x90\\xaa\\x03\\x52\\x75\\x40\\xaa\\x0e\\x48\\xd5\\x01\\xa9\\x3a\\x20\\x55\\x07\\xa4\\xea\\x80\\x54\\x1d\\x90\\xaa\\x03\\x52\\x75\\x40\\xaa\\x0e\\x48\\xd5\\x01\\xa9\\x3a\\x20\\x55\\x07\\xa4\\xea\\x80\\x54\\x1d\\x90\\xaa\\x03\\x52\\x75\\x40\\xaa\\x0e\\x48\\xd5\\x01\\xa9\\x3a\\x20\\x55\\x07\\xa4\\xea\\x80\\x54\\x1d\\xe1\\xe1\\x73\\x1c\\x8c\\x39\\x0e\\xc6\\x1c\\x07\\x63\\x8e\\x83\\x31\\x07\\x9d\\x72\\xd0\\x29\\x07\\x9d\\x72\\xd0\\x29\\xc7\\xc1\\x98\\xe3\\x60\\xcc\\x41\\xa4\\x1c\\x44\\xca\\x41\\xa4\\x1c\\x44\\xca\\x41\\xa4\\x1c\\x44\\xca\\x41\\xa4\\x1c\\x44\\xca\\x41\\xa4\\x1c\\x44\\xca\\x41\\xa4\\x1c\\x44\\xca\\x41\\xa4\\x1c\\x44\\xca\\x41\\xa4\\x1c\\x44\\xca\\x41\\xa4\\x1c\\x44\\xca\\x41\\xa4\\x1c\\x44\\xca\\x41\\xa4\\x1c\\x44\\xca\\x41\\xa4\\x1c\\x44\\xca\\x71\\x1c\\xe6\\x38\\x0e\\x73\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x70\\x28\\x07\\x87\\x72\\x1c\\x86\\x39\\x0e\\xc3\\x1c\\x87\\x61\\x8e\\xc3\\x30\\x07\\xc7\\x72\\x70\\x2c\\xc7\\x61\\x98\\xe3\\x30\\xcc\\x71\\x18\\xe6\\x38\\x0c\\x73\\x70\\x30\\x07\\x07\\x73\\x70\\x30\\x07\\x07\\x73\\x1c\\x86\\x39\\x0e\\xc3\\x1c\\x87\\x61\\x8e\\xc3\\x30\\xc7\\x61\\x98\\xe3\\x30\\xcc\\x71\\x18\\xe6\\x38\\x0c\\x73\\x1c\\x86\\x39\\x0e\\xc3\\x1c\\x87\\x61\\x8e\\xc3\\x30\\xc7\\x61\\x98\\xe3\\x30\\xcc\\x71\\x18\\xe6\\x38\\x0c\\x73\\x1c\\x86\\x39\\x0e\\xc3\\x1c\\x87\\x61\\x8e\\xc3\\x30\\xc7\\x61\\x98\\xe3\\x30\\xcc\\x71\\x18\\xe6\\x38\\x0c\\x73\\x1c\\x86\\x39\\x0e\\xc3\\x1c\\x87\\x61\\x8e\\xc3\\x30\\xc7\\x61\\x98\\xe3\\x30\\xcc\\x71\\x18\\xe6\\x38\\x0c\\x73\\x1c\\x86\\x39\\x0e\\xc3\\x1c\\x87\\x61\\x8e\\xc3\\x30\\xc7\\x61\\x98\\xe3\\x30\\xcc\\x71\\x18\\xe6\\x38\\x0c\\x73\\x1c\\x86\\x39\\x0e\\xc3\\x1c\\x87\\x61\\x8e\\xc3\\x30\\xc7\\x61\\x98\\xe3\\x30\\xcc\\x71\\x18\\xe6\\x38\\x0c\\x73\\x1c\\x86\\x39\\x0e\\xc3\\x1c\\x87\\x61\\x8e\\xc3\\x30\\xc7\\x61\\x98\\xe3\\x30\\xcc\\x71\\x18\\xe6\\x38\\x0c\\x73\\x1c\\x86\\x39\\x0e\\xc3\\x1c\\x87\\x61\\x8e\\xc3\\x30\\xc7\\x61\\x98\\xe3\\x30\\xcc\\x71\\x18\\xe6\\x38\\x0c\\x73\\x1c\\x86\\x39\\x0e\\xc3\\x1c\\x87\\x61\\x8e\\xc3\\x30\\xc7\\x61\\x98\\xe3\\x30\\xcc\\x71\\x18\\xe6\\x38\\x0c\\x73\\xbc\\x4d\\xce\\xf1\\x36\\x39\\xc7\\xe1\\x98\\xe3\\x6d\\x72\\x8e\\x43\\x32\\xc7\\x21\\x99\\xe3\\x90\\xcc\\x71\\x48\\xe6\\x38\\x24\\x73\\x1c\\x92\\x39\\xf8\\x9f\\x83\\xff\\x39\\xf8\\x9f\\x83\\xff\\x39\\xf8\\x9f\\x83\\xff\\x39\\xf8\\x9f\\x83\\xff\\x79\\x3e\\xc5\\x0a\\x3d\\xa5\\x52\\x6c\\x4e\\xaa\\x7a\\x67\\x42\\x04\\xc0\\x11\\x01\\x70\\x44\\x00\\x1c\\x11\\x00\\x47\\x04\\xc0\\x11\\x01\\x70\\x44\\x00\\x1c\\x11\\x00\\x47\\x04\\xc0\\x11\\x01\\x70\\x44\\x00\\x1c\\x11\\x00\\x47\\x04\\xc0\\x11\\x01\\x70\\x44\\x00\\x1c\\x11\\x00\\x47\\x04\\xc0\\x11\\x01\\x70\\x44\\x00\\x1c\\x11\\x00\\x47\\x04\\xc0\\x11\\x01\\x70\\x44\\x00\\x1c\\x11\\x00\\x47\\x04\\xc0\\x11\\x01\\x70\\x44\\x00\\x1c\\x11\\x00\\x47\\x04\\xc0\\x11\\x01\\x70\\x44\\x00\\x1c\\x11\\x00\\x47\\x04\\xc0\\x11\\x01\\x70\\x44\\x00\\x1c\\x11\\x00\\x47\\x04\\xc0\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\x11\\x01\\xc4\\xc1\\xe8\\x71\\x30\\x7a\\x1c\\x8c\\x1e\\x07\\xa3\\xc7\\x71\\xe7\\x88\\xe3\\xce\\x11\\xc7\\x9d\\x23\\x8e\\x3b\\x47\\x1c\\x77\\x8e\\x38\\xee\\x1c\\x71\\xdc\\x39\\xe2\\xb8\\x73\\xc4\\x71\\xe7\\x88\\xe3\\xce\\x11\\xc7\\x9d\\x23\\x8e\\x3b\\x47\\x3c\\x5d\\xc5\\x81\\xdd\\xb8\\x73\\xc4\\x71\\xe7\\x88\\xe3\\xce\\x11\\xc7\\x9d\\x23\\x8e\\x3b\\x47\\x1c\\x77\\x8e\\x38\\xee\\x1c\\x71\\xdc\\x39\\xe2\\xb8\\x73\\xc4\\x71\\xe7\\x88\\xe3\\xce\\x11\\xc7\\x9d\\x23\\x8e\\x3b\\x47\\x1c\\x77\\x8e\\x38\\xee\\x1c\\x71\\xdc\\x39\\xe2\\x19\\x11\\x1a\\xea\\x2d\\x2e\\x2d\\x44\\xe9\\xec\\x50\\xe8\\x19\\x2a\\x2e\\xaa\\x94\\xbd\\xe2\\x00\\x89\\xde\\x56\\x55\\x5c\\x52\\xe8\\x2b\\x0c\\x0f\\x85\\x7a\\x4b\\x83\\xa5\\x25\\xa1\\xe1\\x21\\x8a\\xca\\x43\\xaa\\x63\\x48\\xf5\\x09\\x57\\x2f\\x57\\xe8\\x20\\xe0\\x29\\xcd\\x66\\xc2\\x4b\\x46\\x16\\x8e\\x0c\\x0f\\x85\\xbb\\x0b\\x8b\\x8a\\x43\\xbd\\xa1\\xbe\\xe2\\x70\\x71\\x51\\xa8\\xaf\\xb0\\xa4\\xd0\\x63\\x0d\\x16\\x7a\\x8a\\x34\\x72\\xa8\\xb8\\xa4\\x45\\x7e\\xfd\\x50\\x7e\\x44\\x3e\\xa4\\xb2\\xc8\\x50\\x85\\x50\\x87\\x46\\x96\\xb0\\x91\\x81\\x81\\xe2\\xe0\\xa5\\xb2\\xa9\\x5c\\xb9\\xa2\\x38\\x28\\x9f\\x99\\x50\\x7a\\x73\\x89\\x56\\x0f\\x6c\\x09\\x01\\xf7\\x5b\\x85\\x72\\xb1\\xc7\\xa4\\x03\\x4b\\x68\\x51\\xa9\\xaf\\x58\\x0e\\x75\\x53\\x7d\\xd8\\xe8\\x2d\\x9a\\x4b\\x0b\\x4b\\x43\\x57\\x15\\xae\\x2c\\xf5\\x9b\\x74\\x54\\x31\\x87\\x29\\x5d\\x59\\xe9\\x8e\\xf4\\x94\\xfa\\x0b\\xe5\\xc5\\x85\\x1e\\x93\\x52\\x88\\x4c\\x2d\\xa2\\xa9\\xaf\\xd8\\x67\\x52\\xf2\\x2a\\xfd\\x23\\xfd\\x26\\xa5\\xf0\\x10\\x5d\\x5f\\xdc\\x6b\\x49\\x25\\x2d\\xea\\xc2\\x40\\xd1\\x18\\x28\\x46\\x55\\x71\\x78\\x88\\x8e\\x2a\\x21\\x25\\xcd\\x25\\x15\\x9a\\x10\\xcd\\xd0\\x92\\x53\\xa1\\x33\\xce\\xd2\\x30\\x81\\x2f\\xf5\\x32\\x02\\x0d\\x53\\x92\\xd9\\x22\\x79\\x92\\xe9\\x65\\x94\\x0d\\xf5\\x92\\x4e\\xe5\\xa6\\x58\\xde\\x7b\\xad\\x50\\x1e\\x43\\x6e\\x23\\x77\\x90\\x73\\xe4\\x71\\xe4\\x09\\xe4\\x49\\xe4\\x29\\xe4\\x69\\xe4\\x19\\xe4\\x59\\xe4\\x39\\xe4\\x79\\xe4\\x2e\\x72\\xe1\\xe5\\x31\\xe0\\xc7\\x80\\x1f\\x03\\x7e\\x0c\\xf8\\x31\\xe0\\xc7\\x80\\x1f\\x03\\x7e\\x0c\\xf8\\x31\\xe0\\xc7\\x80\\x1f\\x03\\x7e\\x0c\\xf8\\x31\\xe0\\xc7\\x80\\x1f\\x03\\x7e\\x0c\\xf8\\x36\\xf0\\x6d\\xe0\\xdb\\xc0\\xb7\\x81\\x6f\\x03\\xdf\\x06\\xbe\\x0d\\x7c\\x1b\\xf8\\x36\\xf0\\x6d\\xe0\\xdb\\xc0\\xb7\\x81\\x6f\\x03\\xdf\\x06\\xbe\\x0d\\x7c\\x1b\\xf8\\x0e\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x80\\xef\\x00\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x0e\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x80\\xef\\x00\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x1c\\xf8\\x71\\xe0\\xc7\\x81\\x1f\\x07\\x7e\\x1c\\xf8\\x71\\xe0\\xc7\\x81\\x1f\\x07\\x7e\\x1c\\xf8\\x71\\xe0\\xc7\\x81\\x1f\\x07\\x7e\\x1c\\xf8\\x71\\xe0\\xc7\\x81\\x1f\\x07\\x7e\\x1c\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\x7e\\x02\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\x7e\\x02\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\x7e\\x02\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\x7e\\x02\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x39\\xe0\\xe7\\x80\\x9f\\x03\\x7e\\x0e\\xf8\\x39\\xe0\\xe7\\x80\\x9f\\x03\\x7e\\x0e\\xf8\\x39\\xe0\\xe7\\x80\\x9f\\x03\\xbe\\x00\\x8e\\x17\\x93\\xc5\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x26\\x45\\xf8\\x0b\\xea\\xb3\\xce\\xf0\\x15\\x5e\\xf6\\x05\\xef\\x21\\xc7\\x2b\\x54\\xc6\\xbe\\x50\\x7d\\x83\\x9d\\x5d\\x51\\x2d\\x79\\xe3\\xc0\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\x5c\\xf0\\x8c\\x0b\\x9e\\x71\\xc1\\x33\\x2e\\x78\\xc6\\x05\\xcf\\xb8\\xe0\\x19\\x17\\x3c\\xe3\\x82\\x67\\xdc\\xb4\\xcb\\x32\\xd5\\xcf\\x2b\\x59\\xa1\\x5a\\x8a\\x66\\x6a\\x9f\\xcc\\x46\\x0b\\xb5\\x62\\x67\\xa6\\xfe\\xd0\\xa7\\x72\\x43\\x67\\x21\\xd8\\xe0\\xeb\\xa1\\xdc\\xe6\\xef\\xa1\\x1a\\xa6\\xfb\\x7a\\xd4\\x14\\x4f\\x2f\\x34\\x69\\xf4\\xeb\\x52\\x9f\\x2c\\xfb\\x75\\xa9\\x86\\x43\\x7c\\x3d\\xaa\\x96\\x1f\\x52\\x18\\xdf\\xd6\\xea\\x3d\\x24\\xee\\x3d\\x90\\x56\\xf0\\x95\\xbd\\x76\\x65\\x17\\xda\\x55\\x79\\x8a\\xd7\\x5e\\xb3\\x64\\x4a\\xa1\\xb1\\x8e\\x71\\xca\\x06\\x8c\\x53\\xe5\\x0e\\xaf\\xbd\\x0a\\xdb\\x51\\x68\\xa8\\x32\\xb7\\x56\\xaa\\xb5\\x45\\xdd\\xba\\x9f\\xeb\\xfa\\xc3\\xae\\xf7\\x90\\xaf\\xa7\\xb5\\xd3\\x0d\\x3a\\xb9\\x18\\x6c\\x70\\x83\\x5e\\x2f\\x06\\xbd\\xee\\x36\\xf3\\x7a\\xb1\\x99\\xd7\\xdd\\xa0\\xd7\\x8b\\x41\\xaf\\xbb\\x4d\\xbc\\x5e\\x1c\\xdf\\x16\\x3d\\xa3\\x3e\\xb7\\x52\\xad\\xc8\\xce\\xa8\\x79\\xa1\\x54\\x2b\\xcd\\xab\\x95\\x2a\\xb5\\xd1\\xf3\\xea\\xa3\\x2b\\x75\\xeb\\xe6\\x05\\xa7\\x5e\\x09\\x36\\xcc\\x0b\\xfa\\xa2\\x12\\xf4\\xc5\\xbc\\x66\\xbe\\xa8\\x34\\xf3\\xc5\\xbc\\xa0\\x2f\\x2a\\x41\\x5f\\xcc\\x6b\\xe2\\x8b\\x4a\\x13\\x5f\\xa8\\x07\\x80\\xbd\\x07\\x27\\x2b\\xf5\\xa2\\x6a\\x55\\x46\\x79\\xad\\xaa\\xd8\\xa1\\x5a\\x6b\\x46\\x74\\x54\\x1a\\xaa\\xde\\x18\\x05\\xee\\x8d\\x51\\xc5\\x76\\xd5\\x5a\\x45\\x6b\\xaf\\xf8\\x6b\\x6c\\x7e\\xad\\x34\\x52\\xb3\\x67\\x7e\\x5d\\xe1\\x48\\xbd\\x38\\xbf\\x6e\\xda\\x48\\xbd\\x38\\xbf\\x6e\\xe5\\x48\\xdd\\xca\\xf9\\x8d\\x56\\x8e\\x34\\x5a\\x39\\xbf\\x6e\\xe5\\x48\\xdd\\xca\\xf9\\x0d\\x56\\x8e\\xf8\\x6b\\xe1\\x0b\\xbd\\xdb\\xec\\x95\\x2a\\x63\\x17\\xd6\\x6c\\xbe\\xb2\\x66\\xf3\\x85\\x75\\xf5\\x57\\xd6\\x5f\\x2b\\x17\\x7a\\xaf\\x95\\x2b\\xbd\\x07\\xe2\\xe5\\x3d\\x4d\\x20\\x66\\x13\\x88\\xd9\\x04\\x62\\x36\\x81\\x98\\x4d\\x20\\x66\\x13\\x88\\xd9\\x04\\x62\\x36\\x81\\x98\\x4d\\x20\\x66\\x13\\x88\\xd9\\x04\\x62\\x36\\x81\\x98\\x4d\\x20\\x66\\x13\\x88\\xd9\\x04\\x62\\x36\\x81\\x98\\x4d\\x20\\x66\\x13\\x88\\xd9\\x04\\x62\\x36\\x81\\x98\\x4d\\x20\\x66\\x13\\x88\\xd9\\x04\\x62\\x34\\x81\\x18\\x4d\\x20\\x46\\x13\\x88\\xd1\\x04\\x62\\x34\\x81\\x18\\x4d\\x20\\x26\\x13\\x88\\xc9\\x04\\x62\\x32\\x81\\x98\\x4c\\x20\\x26\\x13\\x88\\xc9\\x04\\x62\\x32\\x81\\x98\\x4c\\x20\\x26\\x13\\x88\\xc9\\x04\\x62\\x32\\x81\\x98\\x4c\\x20\\x26\\x13\\x76\\x15\\x0f\\xf3\\x43\\x4c\\x26\\x10\\x93\\x09\\xc4\\x64\\x02\\x31\\x99\\x40\\x4c\\x26\\x10\\x93\\x09\\xc4\\x64\\x02\\x31\\x99\\x40\\x4c\\x26\\x10\\x93\\x09\\xc4\\x64\\x02\\x31\\x99\\x40\\x4c\\x26\\x10\\x93\\x09\\xc4\\x64\\x02\\x31\\x99\\x40\\x4c\\x26\\x10\\x93\\x09\\xc4\\x64\\x02\\x31\\x99\\x40\\x4c\\x26\\x10\\x93\\x09\\xc4\\x64\\x02\\x31\\x98\\x40\\x0c\\x26\\x10\\x83\\x09\\xc4\\x60\\x02\\x31\\x98\\x40\\x0c\\x26\\x10\\x73\\x09\\xc4\\x5c\\x02\\x31\\x97\\x40\\xcc\\x25\\x10\\x73\\x09\\xc4\\x5c\\x02\\x31\\x97\\x40\\xcc\\x25\\x10\\x6b\\x09\\xc4\\x58\\x22\\x5e\\xd5\\x0b\\xfb\\x11\\x53\\x09\\xc4\\x54\\x02\\x31\\x95\\x40\\x4c\\x25\\x10\\x53\\x09\\xc4\\x54\\x02\\x31\\x95\\x40\\x4c\\x25\\x10\\x53\\x09\\xc4\\x54\\x02\\x31\\x95\\x40\\x4c\\x25\\x10\\x53\\x09\\xc4\\x54\\x02\\x31\\x95\\x40\\x4c\\x25\\x10\\x53\\x09\\xc4\\x54\\x02\\x31\\x95\\x40\\x4c\\x25\\x10\\x53\\x09\\xc4\\x54\\x02\\x31\\x95\\x40\\x4c\\x25\\x10\\x53\\x09\\xc4\\x54\\x02\\x31\\x95\\x40\\x4c\\x25\\x10\\x53\\x09\\xc4\\x54\\x02\\x67\\x75\\x81\\xb3\\xba\\xc0\\x59\\x5d\\xe0\\xac\\x2e\\x70\\x56\\x17\\x38\\xab\\x0b\\xc4\\x50\\x02\\x31\\x94\\x40\\x0c\\x25\\x10\\x43\\x09\\xc4\\x50\\x02\\x31\\x94\\x40\\x0c\\x25\\x52\\x55\\x3c\\xcc\\x17\\x31\\x94\\x40\\x0c\\x25\\x10\\x43\\x09\\xc4\\x50\\x02\\x31\\x94\\x40\\x0c\\x25\\x10\\x43\\x09\\xc4\\x50\\x02\\x31\\x94\\x40\\x0c\\x25\\x10\\x43\\x09\\xc4\\x50\\x02\\x31\\x94\\xc0\\x59\\x5d\\xe0\\xac\\x2e\\x70\\x56\\x17\\x38\\xab\\x0b\\x9c\\xd5\\x05\\xce\\xea\\x02\\x67\\x75\\x81\\xb3\\xba\\xc0\\x59\\x5d\\xe0\\xac\\x2e\\x70\\x56\\x17\\x38\\xab\\x0b\\x9c\\xd5\\x05\\xce\\xea\\x02\\x67\\x75\\x81\\xb3\\xba\\xc0\\x59\\x5d\\xe0\\xac\\x2e\\x70\\x56\\x17\\x38\\xab\\x0b\\x9c\\xd5\\x05\\xce\\xea\\x02\\x67\\x75\\x81\\xb3\\xba\\xc0\\x59\\x5d\\xe0\\x8c\\x2e\\x70\\x46\\x17\\x38\\xa3\\x0b\\x9c\\xd1\\x05\\xce\\xe8\\x02\\x67\\x74\\x81\\x33\\xba\\xc0\\x19\\x5d\\xe0\\x8c\\x2e\\x70\\x46\\x17\\x38\\xa3\\x0b\\x9c\\xd1\\x05\\xce\\xe8\\x02\\x67\\x74\\x81\\x33\\xba\\xc0\\xd9\\x5c\\xe0\\x6c\\x2e\\x70\\x36\\x17\\x38\\x9b\\x0b\\x9c\\xcd\\x45\\x0e\\xb8\\x39\\xe0\\xe6\\x80\\x9b\\x03\\x6e\\x0e\\xb8\\x79\\xe0\\xe6\\x81\\x9b\\x07\\x6e\\x1e\\xb8\\x79\\xe0\\xe5\\x81\\x97\\x07\\x5e\\x1e\\x78\\x79\\xe0\\xe5\\x81\\x97\\x07\\x4e\\x1e\\x38\\x79\\xe0\\xb8\\xc0\\x71\\x81\\xe3\\x02\\xc7\\x05\\x8e\\x8b\\xf9\\xb9\\x58\\x57\\x17\\xb8\\x2e\\x70\\x5d\\xe0\\xba\\xc0\\x75\\x81\\xeb\\x02\\xd7\\xc5\\x3c\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\x2f\\x80\\x27\\x80\\x27\\x80\\x27\\x80\\x23\\x80\\x23\\x80\\x23\\x80\\x23\\x80\\x23\\x80\\x23\\x80\\x23\\x80\\xe3\\xbd\\x07\\x62\\xcf\\xf1\\x78\\x94\\xf2\\x18\\x72\\x1b\\xb9\\x83\\x9c\\x23\\x8f\\x23\\x4f\\x20\\x4f\\x22\\x4f\\x21\\x4f\\x23\\xcf\\x20\\xcf\\x22\\xcf\\x21\\xcf\\x23\\xaf\\xe2\\x0a\\x2f\\x8f\\x01\\x2f\\x06\\xfd\\xb1\\x44\\xbb\\xfa\\xeb\\x77\\xea\\x4b\\xa1\\xdd\\x0b\\xcb\\xed\\x4b\\x46\\x2a\\xf2\\x8f\\xab\\xca\\xef\\x89\\x16\\xbb\\xd1\\x07\\x63\\x6d\\x60\\xd9\\xc0\\xb2\\x81\\x65\\x03\\xcb\\x06\\x96\\x2d\\xc2\\x7d\\xa5\\x7e\\xf5\\x55\\xbd\\x62\\x57\\xa5\\x1f\\x5a\\x1c\\xce\\x8a\\xcb\\xba\\xca\\x85\\x3e\\x42\\x61\\x83\\x85\\x6e\\xf9\\x77\\x1c\\x8b\\xcb\\xbc\\x6b\\x71\\x8c\\x4c\\x00\\x21\\x01\\x84\\x04\\x10\\x12\\x40\\x48\\x54\\xfb\\x89\\xb6\\x9e\\xca\\xc8\\xe0\\xd0\\xc8\\x40\\x71\\xb0\\x54\\x19\\x6c\\xeb\\x29\\x2d\\x2d\\x56\\x2b\\xed\\x43\\x64\\x7c\\x7f\\xad\\x56\\x94\\x7f\\xa4\\xb8\\x5a\\x63\\xb5\\x76\\x4f\\x4f\\x1a\\xab\\x91\\xc6\\x6a\\xa4\\xe1\\x9d\\x34\\x56\\x23\\x8d\\xd5\\xc8\\xa0\\x5f\\x06\\xfd\\x32\\xb6\\x55\\x2e\\x0d\\x16\\x50\\x81\\x2b\\x33\\x89\\xf0\\x40\\x71\\xa8\\x38\\x5c\\x6d\\xc6\\x4a\\x65\\xd2\\xe1\\xa1\\xde\\xe2\\x92\\x62\\xd9\\xea\\xae\\xf4\\x2f\\xb2\\xe4\\xdf\\x95\\xc4\\x05\\x4c\\x2a\\x83\\x49\\x65\\xe0\\xe6\\x2c\\xc0\\xb2\\x00\\xcb\\xc2\\xa8\\x2c\\x8c\\xca\\xc2\\xa8\\x2c\\x70\\xbd\\x8f\\x58\\xed\\x18\\xb6\\x4c\\xcc\\x0b\\x89\\x28\\x4f\\x20\\x4f\\x9a\\xf3\\x7a\\xfb\\x58\\x71\\x68\\xb8\\xd4\\x57\\x18\\xc6\\xa2\\xc6\\x3c\\x62\\xa6\\xdc\\x8d\\x54\\xfa\\x8b\\xc3\\xbd\\xa5\\xc1\\x6e\\x36\\x7c\\x45\\x45\\x15\\x86\\x18\\x35\\x29\\xc7\\xf5\\xb6\\x0d\\xf7\\x0e\\x16\\x51\\x1e\\x6a\\x95\\x7e\\x46\\xb9\\x4d\\xb9\\x19\\x15\\x4f\\x55\\x8a\\xb3\\xc2\\xe0\\x60\\xe5\\x8a\\x72\\xb1\\x67\\xb8\\x45\\x95\\x46\\x06\\xa2\\x2a\\x57\\x7f\\x29\\xda\\xbb\\xd8\\x5d\\xb9\\xa2\\xdf\\x2b\\x2d\\x24\\x30\\x86\\x6e\\xdd\\xfd\\x6d\\xb5\\xd2\\xc2\\x21\\x15\\x73\\xda\\xf8\\x9a\\x92\\x6d\\xc7\\xe2\\xd1\\xca\\xe0\\x70\\xaf\\xfc\\x26\\x65\\xa1\\xdc\\x56\\xea\\x1f\\x96\\x7b\\x53\\xfd\\xf9\\xde\\xd6\\xe2\\x92\\x91\\xd2\\x52\\xda\\x47\\xfd\\x5d\\xc5\\x50\\x6f\\x65\\x64\\xa8\\xd8\\x4e\\x5b\\xb7\\x5c\\x59\\x24\\x37\\x57\\x7f\\x65\\x38\\x2a\\x3b\\x53\\xf4\\x5b\\x1e\\x1e\\xa8\\x15\\x17\\xaa\\x0f\\xef\\x6c\\x7c\\x32\\x6c\\xe3\\x13\\x61\\x1b\\x9f\\xe4\\xda\\xf8\\xc4\\x96\\x72\\x8e\\x3c\\x85\\x1c\\xd7\\x6d\\xb4\\x63\\xf7\\xc7\\x1d\\xd4\\x1d\\xd4\\xe3\\x18\\xef\\x45\\x3a\\x94\\x43\\xbf\\x17\\xe9\\x50\\x8e\\xfe\\x5e\\xa4\\x43\\x79\\x02\\x79\\x12\\x39\\xf0\\xbc\\x88\\x87\\xf2\\x0c\\xf2\\x2c\\xf2\\x2a\\x4e\\x1e\\xb9\\x8b\\xdc\\xdb\\x3e\\xf1\\x04\\xf0\\x13\\xc0\\x4f\\x00\\x3f\\x01\\xfc\\x04\\xf0\\x13\\xc0\\x4f\\x00\\x3f\\x01\\xfc\\x04\\xf0\\x13\\xc0\\xc7\\x6b\\x32\\x8e\\xd7\\x64\\x5c\\xbe\\x26\\x07\\x16\\x96\\x2b\\x5d\\x8b\\x5b\\x68\\xad\\x64\\x1e\\xf2\\x6a\\xe5\\x1e\\x2f\\x1f\\x1c\\x46\\x7d\\x78\\xa8\\xb7\\xd0\\x5d\\x0c\\x29\\xd9\\xd2\\xbd\\x58\\xe5\\xac\\xa7\\x54\\x2e\\xd3\\x8d\\xa6\\xe2\\xbd\\xf2\\xf1\\xf9\\xb2\\x8d\\xcf\\x87\\x29\\xcf\\x46\\xbd\\x1e\\x83\\xb4\\xc2\\x2d\\xc3\\x83\\xa5\\xc2\\xa2\\x91\\x01\\x2f\\x1f\\x44\\xbd\\xbb\\xdf\\xcb\\xcb\\x3d\\x61\\x79\\x2a\\x2c\\x7b\\xbb\\x25\\x9e\\x83\\x5f\\x72\\x82\\x95\\xfa\\x97\\x2e\\x1c\\x21\\x25\\xc3\\xb2\\xe4\\xf5\\x89\\x56\\x06\\x8a\\xfd\\x68\\x1c\\xea\\x2b\\xd1\\x16\\x2d\\x74\\x15\\x69\\x2f\\x2d\\xad\\x55\\xcc\\xa1\\x91\\xfe\\x70\\x4f\\xb1\\x8f\\x76\\x93\\x25\\x45\\x68\\x68\\x80\\xec\\xb5\\xba\\xca\\x23\\x0b\\x43\\xbd\\xc5\\x02\\xa1\\x77\\x97\\x0a\\x7d\\x74\\x3b\\x6b\\xed\\x1b\\x19\\xc2\\xfe\\x2a\\x76\\xf8\\xca\\x74\\x5f\\x53\\x16\\x24\\xbc\\x98\\xd0\\xce\\x61\\x25\\x72\\x58\\x89\\x1c\\x56\\x22\\x87\\x95\\xc8\\x61\\x25\\x72\\x58\\x89\\x1c\\x56\\x22\\x87\\x95\\xc8\\x61\\x25\\x72\\x58\\x89\\x1c\\x56\\x22\\x87\\x95\\xc8\\xe1\\xee\\x98\\xc3\\xdd\\x31\\x97\\x04\\x4e\\x12\\x38\\x49\\xe0\\x24\\x81\\x93\\x04\\x4e\\x12\\x38\\x5e\\xec\\x69\\xe3\\x7d\\xed\\x4c\\xb2\\x96\\xa7\\x90\\xa7\\x91\\x67\\x90\\x67\\x91\\xe7\\x90\\xe7\\x91\\xbb\\xc8\\x85\\x97\\x7b\\x67\\x29\\xca\\x63\\x5e\\x9e\\x82\\xbe\\x14\\xf4\\xa5\\xa0\\x2f\\x05\\x7d\\x5e\\xac\\x49\\x21\\x55\\x0c\\xb9\\xed\\xe5\\x9e\\x7e\\xca\\xdd\\x36\\xef\\x73\\xeb\\x4b\\xd5\\x07\\xfc\\x53\\xe8\\xe5\\x5c\\xa4\\x83\\xb4\\xfc\\xbb\\xc1\\xf2\\x03\\xf1\\x88\\xfc\\xdc\\xfd\\x8a\\x12\\xed\\x2d\\xf5\\x89\\xbb\\x2c\\x85\\x7b\\x8b\\x32\\x6b\\x59\\x5c\\xf0\\x2e\\xa8\\x8f\\xd7\\x65\\xa9\\xad\\xfa\\x11\\xbb\\xac\\x44\\xe4\\x87\\xe0\\xaa\\xdf\\x70\\x61\\xa9\\xba\\x4a\\x9a\\x2f\\x1d\\x28\\x8f\\x0c\\xc9\\x3f\\x49\\xdb\\x2a\\x3f\\x42\\xc7\\x13\\x01\\x51\\x55\\x56\\xc5\\xa9\\xaa\\x49\\x3d\\x46\\x80\\x8b\\x9d\\xbe\\x16\\xd5\\xc0\\xa4\\x41\\xca\\xd4\\xa8\\x2c\\x79\\x8f\\x08\\xa8\\xc6\\xbe\\xc2\\x40\\x69\\x09\\x5b\\x58\\x1c\\xf6\\xba\\xb7\\xaa\\x07\\x05\\x50\\x56\\xc6\\x7b\\xe5\\x48\\x6f\\xd1\\x2b\\xb0\\xa5\\x85\\xa5\\xb8\\xac\\x1e\\x20\\x40\\xeb\\x70\\xb5\\x23\\x23\\xa7\\x78\\xa5\\x8e\\xea\\xe3\\x04\\xb8\\x50\\x2b\\xb5\\xaa\\xb9\\xa3\\x95\\x26\\x8e\\x52\\xff\\x08\\x94\\xb5\\x79\\x8f\\x16\\x78\\x95\\x76\\x3c\\x5b\\x00\\x33\\xaa\\x85\\x56\\xf5\\x70\\x01\\x46\\x2e\\xa9\\x40\\x73\\x54\\xba\\x0f\\xc5\\xba\\x0b\\xd8\\x70\\xd5\\xe4\\x08\\x19\\xef\\x3d\\x84\\x41\\x13\\x96\\x4f\\x59\\xc8\\xe5\\x90\\x39\\xd1\\xa4\\xcc\\x94\\x47\\x94\\x75\\x6a\\x99\\xf1\\xb1\\x88\\xc0\\xc7\\x22\\x02\\x1f\\x8b\\x08\\x7c\\x2c\\x22\\x28\\xa4\\x6a\\xf5\\x7d\\x3f\\x94\\xa9\\x37\\x02\\x4f\\xec\\xba\\x72\\xb0\\x53\\x7d\\x9f\\xdf\\x77\\x69\\xaa\\xaf\\x3c\\x28\\x1f\\x32\\x2f\\x46\\xd4\\x3b\\x20\\x27\\x8e\\x74\\x45\\xd4\\xdb\\x2f\\x54\\x68\\xaf\\xbf\\xa1\\x24\\x9b\\x95\\x0a\\x2a\\xb4\\x56\\xdf\\x79\\x96\\x8d\\xea\\xed\\x0f\\x2a\\x4c\\xf1\\x7f\\xb3\\x5f\\x5e\\xf0\\xa0\\x47\\xba\\xa2\\x9e\\x5a\\xda\\x35\\xb1\\x7a\\xd1\\xae\\x17\\x9d\\xa8\\x07\\xa7\\x3a\\xd4\\x8a\\x76\\xbd\\xe8\\x74\\xd4\\xde\\x74\\x51\\x9d\\x1a\\xab\\x76\\x63\\xd5\\x89\\x7a\\x06\\x29\\x6d\\xb5\\xa2\\x1d\\xf5\\xac\\x91\\xad\\x53\\x7c\\x93\\x92\\xf5\\xf6\\xea\\xfb\\x3c\\x01\\x0b\\x78\\xbd\\x18\\xaf\\x5b\\xcb\\xeb\\xc5\\x78\\x23\\x32\\x6f\\xac\\xc6\\xeb\\xe8\\x3e\\x9b\\x78\\xbd\\xe8\\xeb\\x90\\xa8\\x17\\x93\\xf5\\x62\\xaa\\xc1\\x32\\xbb\\xa1\\xe6\\x34\\xd4\\x78\\x43\\x2d\\xde\\x50\\xf3\\xe9\\x4e\\x37\\x5c\\x48\\x36\\xd4\\x1a\\xc1\\xd2\\x1d\\x0d\\x4e\\x99\\xd3\\x58\\x8d\\x35\\x56\\xed\\xc6\\xaa\\xd3\\x58\\xe5\\x8d\\xd5\\x78\\x6b\\x7d\\x7d\\xe6\\xf8\\xca\\x31\\x5f\\xd9\\xf6\\x95\\xd5\\x44\\xe5\\x17\\x7f\\x4b\\xde\\xe2\\xd1\\x26\\x97\\x5f\\xe0\\x92\\x5f\\xf2\\x3a\\xb1\\xab\\x30\\xe0\\xab\\xc7\\x02\\xf5\\x5c\\xa0\\x3e\\xc7\\x57\\x4f\\x06\\xc6\\x3b\\x0d\\x75\\xdb\\x8d\\x23\\x25\\x02\\xf5\\x64\\xa0\\x9e\\x0a\\xd4\\xd3\\xbe\\x7a\\x42\\xe6\\x81\\x7a\\x22\\x50\\x4f\\x06\\xea\\xa9\\x40\\x3d\\xdd\\xea\\xab\\xfb\\xae\\x25\\x03\\xba\\x93\\x4d\\xae\\x27\\x03\\xf5\\x54\\xa0\\xee\\xd7\\xed\\xef\\x9b\\x0a\\xe8\\x4e\\x05\\x74\\xa7\\x9a\\xf4\\x4f\\x05\\xea\\x7e\\xdd\\xfe\\x6b\\xe9\\x80\\xee\\x74\\x40\\x77\\x3a\\xa0\\x3b\\xdd\\x64\\xbc\\x5f\\x77\\xd5\\xdf\\x89\\xea\\x1a\\x04\\xea\\x89\\x40\\x3d\\x19\\xa8\\xa7\\x02\\xf5\\xaa\\xee\\x44\\x40\\x57\\xb3\\x7a\\x32\\x50\\x4f\\x05\\xea\\x7e\\xdb\\x92\\x81\\xf1\\xc9\\x80\\x6d\\xc9\\x80\\xbe\\x64\\x40\\x5f\\x32\\x60\\x9b\\xbf\\x6f\\x2a\\xa0\\x3b\\x15\\xd0\\x9d\\x6a\\xd2\\x3f\\x15\\xa8\\xfb\\x75\\xfb\\xaf\\xa5\\x03\\xba\\xd3\\x01\\xdd\\xe9\\x80\\xee\\x74\\x93\\xf1\\x7e\\xdd\\x55\\x9f\\x24\\x03\\xeb\\x95\\x0c\\xac\\x57\\x32\\xb0\\x5e\\xc9\\xc0\\x7a\\x25\\x03\\xeb\\x95\\x0c\\xe8\\x4a\\x34\\xa9\\x27\\x02\\xf5\\x64\\xa0\\x9e\\x0a\\xd4\\xfd\\xba\\xfd\\x63\\x83\\x58\\xcd\\xae\\xa7\\x02\\x75\\xff\\xbc\\x53\\x81\\xf1\\xa9\\xc0\\xf8\\x54\\xc0\\xb6\\x54\\x40\\x5f\\x2a\\x60\\x9b\\xff\\x5a\\x3a\\xa0\\x3b\\x1d\\xd0\\x9d\\x0e\\xe8\\x4e\\x37\\x19\\xef\\xd7\\x5d\\xb5\\x3b\\x15\\x58\\xaf\\x54\\x60\\xbd\\x52\\x81\\xf5\\x4a\\x05\\xd6\\x2b\\x15\\x58\\xaf\\x54\\x40\\x57\\xa2\\x49\\x3d\\x11\\xa8\\x27\\x03\\xf5\\x54\\xa0\\xee\\xd7\\xed\\x1f\\x9b\\x0c\\xe8\\x4e\\x36\\xb9\\x9e\\x0c\\xd4\\x53\\x81\\xba\\x5f\\xb7\\xbf\\x6f\\x70\\x1e\\x41\\xec\\x66\\xfd\\xfd\\x3e\\x4d\\x07\\xc6\\xa7\\x03\\xe3\\xd3\\x81\\xf1\\xe9\\x80\\x6d\\xe9\\x80\\x6d\\x55\\xdd\\xe9\\xc0\\x7a\\xa5\\x03\\xeb\\x95\\x0e\\xac\\x57\\x3a\\xb0\\x5e\\xe9\\xc0\\x7a\\xa5\\x03\\xba\\x12\\x4d\\xea\\x89\\x40\\x3d\\x19\\xa8\\xa7\\x02\\x75\\xbf\\x6e\\xff\\xd8\\x64\\x40\\x77\\xb2\\xc9\\xf5\\x64\\xa0\\x9e\\x0a\\xd4\\xfd\\xba\\xfd\\x7d\\x53\\x01\\xdd\\xa9\\x80\\xee\\x54\\x93\\xfe\\xa9\\x40\\xdd\\xaf\\xdb\\x7f\\x2d\\xe8\\xa3\\xe0\\xbc\\x82\\xb6\\x78\\xe3\\x29\\x34\\xa7\\x93\\x7c\\xa9\\xeb\\xd2\\xca\\xb0\\xfc\\x41\\x26\\xc4\\x23\\x3c\\x10\\xaf\\xf0\\x40\\x7c\\xe3\\x34\\xa9\\xa7\\x7c\\xf5\\x98\\x8c\\x71\\x7c\\xf5\\x5c\\xa0\\xce\\xab\\xfd\\xdb\\x16\\x16\\x06\\x4b\\xd5\\xbf\\xad\\x72\\x88\\xba\\x98\\x8d\\x79\\x1d\\x62\\x52\\xe9\\x9c\\x26\\x6d\\xb1\\x40\\x1b\\x6f\\xd2\\x8f\\x07\\xfa\\x25\\x9a\\xe8\\x4b\\x34\\xd1\\x97\\x68\\xa2\\x2f\\x11\\xd0\\x97\\x6e\\x62\\x5f\\xba\\x89\\x7d\\xe9\\x26\\xf6\\xa5\\x9b\\xd8\\x97\\x6e\\x62\\x5f\\xba\\x89\\x7d\\xe9\\x26\\xf6\\xa5\\xc7\\xdb\\x97\\x8b\\x8f\\xb7\\xaf\\xa1\\x2d\\xd8\\x8f\\x37\\xe9\\x17\\xd4\\x97\\x68\\xa2\\x2f\\xd1\\x44\\x5f\\xa2\\x89\\xbe\\x66\\xfe\\x4b\\x55\\x37\\x59\\x93\\xb6\\x60\\xbf\\x44\\x93\\x7e\\x89\\x00\\x6e\\x40\\x5f\\x43\\x5b\\xb0\\x5f\\xa2\\x49\\x3f\\xa5\\x4f\\xfe\\xfd\\x82\\xe1\\x62\\x77\\x49\\x9d\\xbb\\x22\\x6e\\xff\\x22\\x15\\xf2\\x57\\x0b\\x76\\xb5\\xe0\\x44\\xae\\x2a\\x0e\\x56\\x64\\xa9\\xa5\\xd2\\xaf\\x4e\\x09\\x2d\\xc3\\x57\\xa8\\x3a\\x53\\xef\\xc3\\xca\\x52\\x44\\xbe\\xf3\\xed\\x15\\x4a\\xde\\x79\\xac\\x65\\xa8\\xa4\\xce\\x7b\\x4c\\xbd\\x25\\xab\\x4a\\xea\\x7d\\x59\\xd5\\xa9\\xbf\\xe4\\x29\\x9a\\x12\\x78\\xa8\\x63\\x4a\\xe0\\x11\\x8e\\x8e\\xc6\\x87\\x35\\xa6\\x04\\x9e\\xca\\x88\\xd6\\x1f\\xf1\\x89\\xd6\\x9f\\xea\\x61\\xb5\\x87\\x78\\xa2\\xf5\\x47\\x76\\xa6\\x05\\x90\\x4e\\x2c\\x77\\x4d\\x0b\\x80\\x51\\xd3\\xd4\\x46\\xbc\\xc6\\x4e\\xde\\x21\\xa9\\xdc\\xd5\\x5e\\x47\\xad\\xd5\\xaa\\x0a\\xda\\x6a\\xd8\\xb5\\x4b\\xb5\\x61\\x23\\xde\\x47\\x3a\\x27\\x0e\\xf5\\x56\\x06\\x87\\x5b\\xd5\\x17\\xb2\\xbd\\x72\\xa7\\x7a\\xbf\\x41\\xbd\\x2b\\x81\\x77\\x2e\\xea\\x0d\\xb5\\xb7\\x50\\xbc\\x37\\x6c\\xda\\xab\\x55\\xf5\\x7d\\x94\\x43\\x6a\\x6f\\x56\\xd4\\xbf\\x98\\xd2\\x51\\x6b\\x0b\\x54\\xd5\\x77\\x52\\x3a\\x7d\\x6f\\x53\\xa9\\x56\\xf5\\x66\\x10\\xde\\x50\\x91\\x5b\\x24\\x4e\\xb7\\x80\\x78\\x36\\x8f\\xb2\\xed\\x2b\\x3b\\xb2\\x6c\\x9d\\x77\\x69\\xd6\\xd5\\xf0\\x6b\\x9c\\x11\\xcd\\xd0\\xa2\\x9a\\x39\\x36\\x26\\x7f\\x67\\x52\\xfd\\x36\\xa6\\xa6\\x2d\\xd3\\xae\\x55\\xbf\\x1c\\x34\\x55\\xd3\\xac\\xf5\\x9a\\x6e\\xfd\\xc8\\x7a\\x47\\x33\\xad\\x7d\\xd6\\x3e\\x2a\\xbf\\x6b\\xbd\\x4b\\xe5\\xf7\\xac\\xf7\\xa8\\xfc\\xbe\\xf5\\x11\\x95\\xf7\\x5b\\xfb\\xa9\\x3c\\x66\\x91\\x86\\x90\\x16\\x79\\x54\\xd3\\x23\\xeb\\x22\\xeb\\x34\\x33\\xb2\\x3e\\xf2\\x16\\x95\\xdf\\x8e\\xbc\\xad\\x19\\x91\\xbd\\xd1\\xa9\\x9a\\x1e\\x9d\\x16\\x9d\\xae\\x19\\xf2\\xaf\\x89\\x52\\xf9\\xb0\\xe8\\x4c\\xcd\\x8c\\xce\\x8a\\xce\\x22\\x54\\x0b\\xbf\\x53\\xa4\\xfb\\x52\\x54\\x5b\\xa8\\xdd\\xa1\\x59\\x74\\xab\\x2f\\x6b\\xb3\\x16\\x0d\\x16\\x17\\x6b\\x76\\x6f\\x71\\xe1\\xa0\\x76\\x4a\\xb9\\x30\\xdc\\x2f\\x7f\\xf7\\x48\\x33\\x3e\\x7f\\x56\\xfe\\x28\\xad\\xf3\\xbc\\x73\\xb3\\x24\\x35\\x8d\\x66\\xa0\\xab\\x5f\\x31\\xd2\\x50\\xd6\\x6a\\x65\\x43\\xfd\\xc2\\x51\\xc3\\x95\\xae\\xae\\xbe\\x01\\x6d\\x96\\x92\\x47\\x75\\x97\\x4b\\x8b\\xb4\\x63\\xcb\\x95\\x2e\\xf9\\xeb\\x4a\\x5a\\xcd\\x1e\\xf9\\x9b\\x48\\xb2\\x56\\xb5\\x28\\x4c\\xbe\\x39\\x54\\x3b\\x42\\x3b\\x86\\x7a\\x25\\xd0\\x3a\\x87\\xfa\\xca\\x1e\\x1c\\x79\\x9e\\x7a\\x51\\x6e\\x84\\x95\\x0e\\xdd\\x38\\xd5\\x6b\\x6f\\x79\\x90\\x64\\x38\\x9c\\x92\\x65\\xf3\\x45\\x92\\xd3\\x28\\x45\\x24\\x92\\xf4\\x4e\\xa8\\x4d\\xb6\\x87\\xa8\\xbf\\x7e\\x97\\x36\\x53\\x4b\\x69\\x59\\x9a\\xdf\\x05\\xda\\x65\\xda\\xe5\\xda\\xb0\\xb6\\x5c\\xbb\\x41\\x5b\\xa1\\xdd\\xab\\x7d\\x4b\\x7b\\x58\\x7b\\x56\\xdb\\x46\\x1d\\xa3\\xfa\\x74\\xfd\\x08\\xfd\\x58\\xdd\\xd6\\x4f\\xd6\\x85\\x7e\\x8e\\x2e\\x7f\\xed\\xd4\\x8a\\x1e\\xa6\\x19\\xb4\\x4a\\xb2\\x34\\xa3\\x56\\x9a\\x59\\x2b\\x1d\\x4a\\xa5\\xbd\\x0a\\xef\\xd9\\x5a\\x69\\x73\\xad\\xf4\\x5c\\xad\\xf4\\xbc\\x2a\\x19\\x34\\x8b\\xb6\\xc8\\x6e\\x2a\\xbf\\x19\\x79\\xa1\\x76\\xed\\xe7\\xb5\\xd2\\x16\\x5f\\xaf\\xad\\xb2\\x4c\\xab\\x6e\\x58\\xbb\\xd4\\x6e\\xea\\xd0\\xa6\\xd3\\x5a\\x1b\\xd6\\xce\\x68\\x27\\xc9\\x3d\\x91\\x17\\x6b\\xa3\\x5e\\x52\\x25\\xd9\\xa7\\x53\\x3b\\x34\\xda\\x41\\x3b\\x67\\xaf\\xf5\\x66\\x74\\x8a\\x42\\xd9\\x56\\xeb\\xb5\\xbd\\x56\\x7a\\xb9\\x56\\xda\\x51\\x2b\\xed\\xac\\x95\\x5e\\xa9\\x95\\x5e\\xad\\x95\\x5e\\xab\\x95\\x76\\xa9\\x52\\x0b\\x21\\xcd\\x50\\xbf\\x5a\\x3a\\x87\\x56\\xec\\xe4\\xc8\\xd3\\x84\\xf9\\x01\\x59\\xfb\\xb4\\xc2\\xfe\\x20\\xf2\\x14\\xe5\\xef\\x53\\xfd\\x29\\x55\\x7f\\x3f\\xf2\\xba\\x9a\\xcb\\x26\\x92\\x1f\\x44\\x9e\\x24\\xf9\\xbe\\xd2\\xf5\\x06\\x66\\xdb\\x62\\xbd\\x62\\xbd\\x26\\x7f\\xa8\\x36\\x14\\xa6\\x9d\\x1e\\xa1\\x55\\x8b\\x86\\x3a\\x42\\x1d\\x9a\\xfa\\x9d\\x05\\xad\\x53\\xfe\\xce\\x82\\x36\\x2d\\x74\\x68\\x68\\x96\\x36\\x5d\\xed\\x1c\\x83\\xf2\\x4f\\x93\\x86\\x13\\xd4\\x5e\\x09\\x91\\x0c\\xa9\\x5f\\x6c\\x68\\x0d\\x4d\\x0f\\x1d\\x2e\\xf7\\xaa\\xfa\\x85\\x87\\x77\\xe5\\x3e\\xa3\\xf6\\xc3\\x35\\x2d\\x72\\x73\\xe4\\x66\\xed\\x88\\xc8\\x8f\\x23\\x8f\\x6b\\x47\\xd2\\x7e\\xb8\\x9c\\xc6\\x74\\xea\\x9f\\x36\\xb8\\x29\\xac\\x05\\xda\\x6c\\xed\\x24\\xda\\x17\\x67\\x6a\\xe7\\x6a\\x17\\xd1\\x2b\\xe3\\x72\\x6d\\x50\\xbb\\x4a\\xbb\\x4e\\xbb\\x51\\xbb\\x8d\\x76\\xc7\\x3d\\xda\\x03\\xda\\x2a\\xed\\xbb\\xda\\x23\\xda\\x8f\\xb5\\x27\\x68\\x97\\xbc\\xa8\\xbd\\xaa\\xbd\\xa5\\x7d\\x40\\x7b\\x25\\xac\\xb7\\xb1\\xf3\\x34\\xd3\\xf8\\xa6\\xf1\\x4d\\x76\\xae\\xca\\x1f\\x60\\xbf\\xab\\xf2\\xfb\\xd9\\x39\\x2a\\x5f\\xc9\\xe6\\xa9\\xfc\\x3e\\xf6\\x79\\xca\\x1f\\xa0\\x7e\\x73\\x55\\xfe\\x00\\x3b\\x4b\\xe5\\xf7\\xb3\\x33\\x55\\xbe\\x92\\x9d\\xa1\\xf2\\xfb\\xd8\\x69\\x94\\xdf\\x4f\\xfd\\x84\\xca\\x1f\\x60\\xae\\xca\\xef\\x67\\x79\\x95\\xaf\\x64\\x39\\x95\\xdf\\xc7\\x32\\x94\\xaf\\xa4\\x7e\\xa7\\xaa\\xfc\\x01\\xf6\\x3b\\x2a\\xbf\\x9f\\x9d\\xa2\\xf2\\x95\\xec\\xb7\\x55\\x7e\\x9f\\xfc\\x85\\x5b\\xe3\\x3e\\xea\\xf7\\x39\\x95\\x3f\\xc0\\x4e\\x52\\xf9\\xfd\\x2c\\xad\\xf2\\x95\\xec\\x6c\\xcd\\xa0\\xd6\\xf3\\x49\\x7e\\x93\\x65\\x49\\xae\\x64\\xa7\\x93\\xbc\\xff\\x97\\xf0\\x48\\x05\\x1e\\xe9\\x87\\x47\\xfa\\xe0\\x91\\x32\\x3c\\xb2\\x18\\x1e\\x29\\xc1\\x23\\xbd\\xf0\\xc8\\x22\\x78\\xa4\\x07\\x1e\\x29\\xc2\\x23\\x5d\\xf0\\xc8\\x42\\x78\\xa4\\x00\\x8f\\x5c\\x06\\x8f\\x5c\\x0a\\x8f\\x5c\\x02\\x8f\\x7c\\x09\\x1e\\xb9\\x18\\x1e\\xf9\\x22\\x3c\\x71\\x21\\x3c\\xb1\\x00\\x9e\\xf8\\x02\\x3c\\x71\\x01\\x3c\\x31\\x5f\\xe5\\xf7\\xb1\\x01\\xe5\\x8b\\x6e\\xe9\\x05\\x76\\x11\\xc9\\xfb\\xd8\\xe5\\xd2\\x47\\xbf\\x84\\x47\\xfe\\x18\\x1e\\xb9\\x11\\x1e\\xf9\\x23\\x78\\xe4\\x06\\x78\\xe4\\x0f\\xe1\\x91\\x3f\\x80\\x47\\xae\\x87\\x47\\x7e\\x1f\\x1e\\xb9\\x0e\\x1e\\xf9\\x3d\\x78\\xe4\\x5a\\x78\\xe4\\x1a\\x78\\x64\\x39\\x3c\\xf1\\x15\\x78\\xe2\\xcb\\xf0\\xc4\\x55\\xf0\\xc4\\x95\\xf0\\xc4\\x32\\xec\\x8d\\x2b\\xe0\\x91\\x11\\x78\\x64\\x18\\x1e\\x19\\x82\\x47\\x06\\xe1\\x91\\x25\\xf0\\xc8\\x57\\xd5\\x1e\\xb9\\x49\\xf9\\x65\\xa9\\xf2\\xc8\\xd5\\x72\\xa7\\xfc\\x12\\x1e\\xb9\\x0f\\x1e\\xf9\\x06\\x3c\\xf2\\x77\\xf0\\xc8\\xbd\\xf0\\xc8\\xdf\\xc2\\x23\\xf7\\xc0\\x23\\x7f\\x03\\x4f\\xdc\\x0d\\x4f\\xfc\\x35\\x3c\\xf1\\x57\\xf0\\xc4\\x5d\\xf0\\xc4\\x5f\\x62\\x6f\\xac\\x80\\x47\\xfe\\x02\\x1e\\xf9\\x73\\x78\\xe4\\x0e\\x78\\xe4\\xcf\\xe0\\x91\\xdb\\xe1\\x91\\x3f\\x85\\x47\\xfe\\x04\\x1e\\xb9\\x15\\x1e\\xb9\\x05\\x1e\\xf9\\x1a\\x3c\\x72\\x33\\x3c\\xf2\\x75\\xb5\\x3b\\x56\\x2a\\x8f\\xdc\\xa6\\x3c\\x72\\xe7\\x2f\\xe9\\x91\\x1f\\xc0\\x13\\xdf\\x87\\x27\\x1e\\x81\\x27\\xbe\\x07\\x4f\\xfc\\x07\\x3c\\xf1\\x10\\xf6\\xc6\\xbf\\xc3\\x23\\x6b\\xe1\\x91\\x7f\\x83\\x47\\xfe\\x15\\x1e\\xf9\\x0e\\x3c\\xf2\\x2f\\xf0\\xc8\\x1a\\x78\\xe4\\x9f\\xe1\\x91\\x7f\\x82\\x47\\x56\\xc1\\x23\\xff\\x08\\x8f\\x7c\\x1b\\x1e\\xf9\\x07\\x78\\xe4\\xef\\xe1\\x91\\x07\\xe1\\x91\\x6f\\xc2\\x23\\x0f\\xc0\\x23\\xf7\\xc3\\x23\\xdf\\x55\\x1e\\x79\\x58\\xed\\x94\\x6f\\x29\\x8f\\xac\\x56\\x1e\\xa1\\xe8\\x40\\x8e\\x57\\x7c\\x7e\\xa6\\xbc\\xe7\\xd2\\x5d\\xfb\\x04\\xe2\\x8b\\x53\\xc1\\x70\\xcf\\x28\\x1e\\xfb\\x19\\xc9\\xdd\\x8a\\x0f\\xf6\\x50\\xe9\\x5d\\x55\\x7a\\xb3\\x56\\x7a\\xab\\x56\\x5a\\x8f\\x7e\\x8d\\xf7\\x7a\\x19\\xcf\\x5c\\x40\\x1e\\xf6\\xc7\\x33\\xc7\\xa8\\x78\\xc6\\x56\\xf1\\xcc\\xa9\\x4d\\xe3\\x96\\x03\\xc7\\x30\\xe6\\x62\\x0a\\x02\\xb5\\xe9\\x4a\\xce\\x92\\xe7\\x60\\x62\\x3a\\x39\\x87\\xa9\\x88\\x57\\x34\\x9a\\xc9\\xc7\\xfd\\xb2\\xe3\\x2c\\x9a\\xe7\\x29\\x9a\\xd0\\xce\\x26\\xeb\\x2e\\xd1\\x7a\\xb4\\x7e\\xed\\x6a\\xda\\x0b\\x77\\x6a\\xdf\\xa0\\x78\\x63\\x8d\\xf6\\x90\\xb6\\x49\\xdb\\xab\\xed\\xa7\\xd5\\xef\\xd0\\x0f\\xa5\\x98\\xe3\\x18\\xfd\\x44\\x3d\\xa1\\x9f\\x42\\x3a\\x19\\xc5\\x2a\\x9d\\x5e\\x6c\\x13\\x99\\xa1\\x22\\x19\\x3d\\xfa\\x1d\\xaa\\xb7\\x50\\xbe\\xcd\\x6b\\x6f\\x8d\\x22\\x7f\\xd6\\xcb\\xa7\\xae\\xf0\\x22\\x9e\\xc3\\x1e\\x9d\\x31\\x63\\xc6\\xe5\\x33\\xd6\\x7a\\xb5\\x99\\xda\\xcc\\x65\\x33\\x3f\\x98\\x75\\xb5\\x57\\x9b\\xf5\\xf2\\x27\\x53\\x9f\\xbc\\xf1\\x93\\xcf\\x79\\xb5\\xd9\\x47\\xcd\\xbe\\xe7\\xf0\\x59\\x87\\xdf\\xe5\\x8d\\x3f\\x22\\xec\\xe5\\x47\\x3d\\xe4\\xe5\\xff\\xe7\\x72\\xd5\\x2b\\x72\\xcc\\xa1\\xc7\\x5c\\x7f\\xcc\\x0b\\x9f\\x49\\x7d\\xe6\\xb6\\xcf\\xec\\x3a\\x56\\x1c\\x7b\\xb7\\x6a\\x6d\\x3f\\xf6\\xb9\\xe3\\xda\\x8e\\x3b\\xf9\\xb8\\xf2\\x71\\x77\\x1d\\xb7\\xe1\\xb8\\x0f\\x8f\\x3f\\xe1\\xf8\\x8b\\x8f\\xbf\\xe9\\xf8\\xb5\\xc7\\xef\\xfa\\xec\\x6c\\x75\\xdd\\xf8\\xec\\x09\\x9f\\xbd\\x48\\xfe\\xc6\\xbb\\xa6\\x7f\\x76\\xb9\\x8a\\xdc\\xf4\\xcf\\x9d\\xe3\\xe9\\xfd\\xdc\\x02\\x2f\\x3f\\xc5\\xf2\\xf2\\xcc\\x0f\\xbc\\xdc\\xf5\\x62\\x41\\xfd\\xf4\\x87\\x91\\xaf\\x57\\x6b\\xa2\\x9f\\xbe\\x8d\\x5e\\x1e\\x0f\\x90\\x87\\x35\\x2d\\xa6\\x7e\\x9f\\xb8\\xac\\x6d\\xd4\\x97\\x1b\\x27\\x1a\\x09\\x6d\\xa3\\x56\\x36\\xb6\\x98\\xaf\\x6a\\x65\\x6b\\xae\\xb1\\x85\\xa2\\xe7\\x8d\\xc6\\x89\\x5a\\x39\\x4c\\xff\\x64\\x1f\\x79\\x4d\\xc9\\x13\\xbd\\xff\\x18\\x5b\\x56\\xbd\\x36\\x1a\\x5b\\xe4\\x55\\xaf\\xd5\\x1b\\x2b\\xdb\\xa8\\xd6\\x19\\x6a\\x1b\\xfb\\xd9\\xd8\\xcf\\x42\\xd3\\x94\\x3c\\x4c\\xc9\\x99\\x52\\x46\\x7e\\xa4\\xe4\\x46\\x25\\x9f\\x54\\x72\\x93\\x92\\x4f\\x29\\xf9\\xb4\\x92\\xdb\\x94\\x7c\\x4d\\xc9\\xd7\\xa5\\x8c\\x76\\x28\\x39\\x45\\xc9\\x4f\\x48\\xa9\\x1d\\x1e\\xd2\\xc7\\xbe\\x3f\\xf6\\xfd\\x90\\x31\\xb6\\x62\\x6c\\x45\\xc8\\x52\\xe5\\xb0\\x76\\x9c\\x76\\x5c\\xa8\\x45\\x95\\xa3\\x4a\\xb6\\x2a\\xd9\\xae\\x64\\x87\\x92\\x53\\x95\\x3c\\x44\\xc9\\xe9\\x4a\\xce\\x92\\x32\\xb2\\x41\\xc9\\x51\\x25\\x1f\\x53\\xf2\\x71\\x25\\x9f\\x57\\x72\\x8b\\x92\\x2f\\x29\\xb9\\x43\\xc9\\x9d\\x4a\\xbe\\xa2\\xe4\\x1b\\x4a\\xee\\x51\\xf2\\x4d\\x25\\xdf\\x92\\x32\\xda\\xa9\\xa4\\x42\\x54\\xf6\\x4a\\x2f\\x18\\x63\\xbb\\xc6\\x76\\x85\\x4c\\x65\\xa9\\xa5\\x5a\\x5a\\x94\\x8c\\x2a\\xd9\\xaa\\x64\\xbb\\x92\\x6a\\xce\\x64\\xaf\\x94\\x87\\x28\\x39\\x5d\\xc9\\x59\\xca\\x2f\\x1b\\x94\\x1c\\x55\\xf2\\x31\\x25\\x1f\\x57\\xf2\\x79\\x25\\xb7\\x28\\xf9\\x92\\x92\\x3b\\x94\\xdc\\xa9\\xe4\\x2b\\x4a\\xbe\\xa1\\xe4\\x1e\\x25\\xdf\\x54\\xf2\\x2d\\xe5\\xd9\\x4e\\x25\\x15\\x22\\x45\\x76\\x86\\xca\\x67\\xd7\\xec\\x96\\xf2\\xd7\\xd9\\xe2\\x13\\x26\\x65\\x69\\x9b\\xf2\\xff\\x78\\x7b\\xa7\\xa9\\x76\\xbf\\xd5\\x87\\xa9\\x96\\x99\\x4a\\xce\\xc2\\xde\\xa5\\x72\\xc3\\x3c\\x36\\xaa\\x16\\xff\\x6c\\x9e\\x54\\x2d\\x9b\\x94\\x7c\\x4a\\xc9\\xa7\\x95\\x1c\\x3f\\xcb\\x6d\\xaa\\x7d\\xfc\\x5c\\x5f\\x53\\xed\\xaf\\x2b\\x39\\xd1\\xbc\\x3b\\xe4\\x55\\x7a\\x3d\\x48\\xe9\\xf3\\x01\\xbd\\x36\\xa8\\x45\\xbd\\xfa\\xa4\\xd5\\xde\\x9c\\x7c\\xf3\\xc0\\x0c\\x3c\\xab\\x27\\xb2\\xd4\\xb3\\xcb\\x67\\x45\\x03\\x9a\\x87\\x20\\x77\\x85\\xd4\\x6a\\x29\\x59\\x7d\\xdd\\xc9\\x72\\x54\\xc9\\x56\\x78\\x59\\x4a\\x35\\x9a\\xbc\\xec\\xf9\\x57\\xca\\xe9\\xf0\\xa9\\xe7\\x4d\\x29\\x47\\xe1\\x47\\x29\\x1f\\x87\\xbf\\xa4\\xdc\\xa2\\xe4\\x4b\\xf0\\x94\\x94\\x3b\\x95\\x7c\\x05\\xde\\x91\\x72\\x8f\\x92\\x6f\\x2a\\xf9\\x16\\x3c\\x22\\xa5\\x42\\xd4\\x7e\\x73\\xc2\\x5d\\x11\\x81\\xbd\\xff\\xff\\xda\\x1b\\x9f\\x84\\x3f\\x7e\\x9d\\x5f\\xc9\\xba\\x16\\xab\\xfd\\x6a\\x60\\xd8\\xf7\\x7b\\x81\\x1d\\xea\\xb7\\x02\\x0f\\x09\\x7d\\x02\\xbf\\x11\\x38\\x3b\\x74\\xb8\\xfa\\x2d\\x22\\xf9\\x4b\\x44\\xf2\\x77\\x88\\x82\\xbf\\x42\\xf4\\x5c\\x64\\x4b\\xe4\\xc5\\xc8\\xb6\\xc8\\x4e\\xfc\\xda\\xd0\\x9e\\xda\\x2f\\xc6\\xa8\\x77\\x77\\x8c\\x3b\\x8c\\x7e\\x92\\x77\\x51\\xa4\\x31\\x97\\xa2\\x9e\\xbb\\x29\\x9e\\x78\\x90\\x22\\xcb\\xef\\x50\\x44\\xf1\\x03\\x8a\\x2d\\x7f\\xaa\\x3d\\xad\\x3d\\x47\\xd1\\xe5\\x4e\\xed\\x0d\\x8a\\x2f\\x10\\x5f\\xea\\xd3\\xf4\\x19\\x14\\x63\\x1c\\xad\\x1f\\xaf\\xcf\\xa1\\x28\\xe3\\x64\\x3d\\xab\\x9f\\xae\\x9f\\xad\\x9f\\xaf\\x5f\\xa4\\x5f\\xa6\\xf7\\xe8\\x65\\x7d\\x50\\x5f\\xa6\\x2f\\xd7\\xaf\\xd7\\x6f\\xd4\\x6f\\xd5\\xef\\xd0\\xef\\xd2\\xef\\xd1\\x57\\xea\\xdf\\xd2\\x57\\xeb\\xdf\\xd5\\x1f\\xd6\\x1f\\xd5\\x37\\xe8\\x4f\\xe8\\xcf\\xe8\\x2f\\xe8\\xdb\\xf4\\x57\\xf5\\x3d\\xfa\\x3e\\xfd\\x43\\xc3\\x30\\x22\\x46\\x87\\x31\\xdd\\x98\\x65\\x1c\\x65\\x1c\\x63\\x9c\\x60\\xd8\\x46\\xca\\x38\\xc5\\xc8\\x1b\\x67\\x1a\\xe7\\x18\\x17\\x18\\x17\\x93\\x2f\\x4e\\x0e\\xdd\\x11\\x90\\x5a\\xbd\\xac\\x9f\\x10\\x6c\\x69\\xd2\\x53\\xc9\\xb1\\xe5\\xcd\\x35\\x4c\\xd8\\x32\\x4e\\x43\\x93\\x16\\x7f\\xfb\\x39\\x3e\\xd9\\x1d\\xfa\\x9b\\x03\\xe8\\x9f\\xc8\\x1e\\xbf\\xb5\\xdf\\x1e\\x57\\x1e\\x6f\\xdb\\x81\\xed\\x9f\\xa8\\xc5\\x8f\\x3e\\x7e\\x5e\\x07\\xb4\\xf9\\x63\\xa4\\xea\\xb9\\x7f\\x53\\x5d\\xfa\\xae\\x52\\x94\\xde\\xf0\\xfe\\xc9\\x7a\\x8a\\xc1\\x8f\\x54\\xef\\xa2\\x1c\\x45\\xfb\\xf6\\x2d\\xed\\x58\\xda\\x9b\\x53\\xb5\\xd3\\x65\\xac\\x66\\xbd\\xa9\\x79\\xef\\xe4\\x79\\x23\\xe5\\x3b\\x9e\\x33\\x34\\xf9\\x6e\\x9c\\x17\\x31\\x4f\\x43\\x1f\\x8a\\xb3\\x49\\x23\\xc5\\xda\\xf4\\x1a\\x99\\x45\\x91\\x3c\\xbd\\x1a\\xb4\\x59\\x4a\\xe3\\x6c\\xea\\x31\\x5b\\xa3\\x1d\\x4e\\x67\\x04\\xf9\\xae\\x1d\\x45\\x86\\xc6\\x02\\x65\\x89\\x4e\\xd8\\x72\\xf4\\xfb\\x0d\\x08\\xba\\xf6\\xa8\\xf6\\x75\\x92\\x1b\\xa8\\xf7\\x34\\xed\\x18\\x3a\\x57\\xd8\\x5a\\x8a\\x22\\xee\\x3c\\x9d\\x34\\xce\\xa1\\x98\\xfb\\x62\\x3a\\x83\\xf5\\xaa\\x5f\\x97\\xbf\\x4a\\xbb\\x56\\xfb\\xaa\\x76\\x13\\xe9\\x7b\\xd4\\x58\\x40\\xf2\\x59\\xa3\\x4c\\xbe\\xdc\\x68\\xac\\xa5\\xf2\\x2a\\x53\\x5a\\xbf\\xcc\\x98\\x5d\\x6d\\x19\\xdb\\x68\\x9e\\x5b\\x95\\xc6\\x02\\xd5\\x7f\\x81\\x4e\\x33\\xd1\\x6f\\x55\\xe5\\x95\\x52\\x52\\xf9\\x76\\x92\\xdf\\x31\\x7e\\x4a\\x72\\x85\\x6c\\x31\\xdb\\xa4\\xb4\\x3a\\xeb\\x52\\x9b\\x16\\x6a\\x09\\xb5\\x87\\xa6\\x84\\xa6\\xd1\\x2b\\x5f\\xfd\\x2e\\x28\\xf9\\xb0\\xfe\\x1b\\x64\\x78\\xe5\\xab\\x79\\xed\\xad\\xcf\\x4b\\x5a\\x60\\xed\\xb3\\x36\\x6a\\x46\\x68\\xb6\\x7c\\x85\\xeb\\xb6\\x9e\\xd2\\x4f\\xd1\\xf3\\xfa\\x99\\xfa\\x39\\xfa\\x05\\xfa\\xc5\\xfa\\x42\\xbd\\x57\\xef\\xd7\\x87\\xf5\\xab\\xf4\\x6b\\xf5\\xaf\\xea\\x37\\xe9\\xb7\\xe9\\x77\\xea\\x5f\\xd7\\xef\\xd5\\x1f\\xd0\\xbf\\xad\\xaf\\xd1\\xd7\\xea\\x8f\\xe8\\xeb\\xf5\\x8d\\xfa\\x26\\xfd\\x59\\x7d\\x8b\\xfe\\xb2\\xbe\\x4b\\x7f\\x4b\\x7f\\x4f\\xdf\\x6f\\x58\\x46\\xd4\\xe8\\x34\\x0e\\x35\\x66\\x1b\\x9f\\x36\\x8e\\xa5\\x88\\x98\\x1b\\x27\\x19\\xa7\\x1a\\xc2\\x98\\x6b\\x9c\\x4b\\x73\\xbc\\xc4\\xe8\\x36\\x2e\\x37\\x06\\x8c\\xa5\\xc6\\xd5\\xc6\\x75\\xc6\\x0d\\xc6\\xd7\\x8c\\xdb\\x8d\\x15\\xc6\\xdd\\xc6\\x37\\x8c\\x07\\x8d\\x55\\xc6\\x77\\x8c\\x87\\x8c\\x1f\\x18\\x3f\\x36\\x7e\\x6a\\x3c\\x6d\\x3c\\x67\\xbc\\x68\\xec\\x34\\xde\\x30\\xf6\\x1a\\x1f\\x98\\x9a\\x19\\x36\\xdb\\xcc\\x69\\xe6\\x0c\\xf3\\x08\\xf3\\x68\\xf3\\x78\\x73\\x8e\\x99\\x30\\x4f\\x36\\xb3\\xe6\\xe9\\xe6\\xd9\\xe6\\xf9\\xe6\\x45\\xe6\\x65\\x66\\x8f\\x59\\x36\\x07\\xcd\\x65\\xe6\\x72\\xf3\\x7a\\xf3\\x46\\xf3\\x56\\xf3\\x0e\\xf3\\x2e\\xf3\\x1e\\x73\\xa5\\xf9\\x2d\\x73\\xb5\\xf9\\x5d\\xf3\\x61\\xf3\\x51\\x73\\x83\\xf9\\x84\\xf9\\x8c\\xf9\\x82\\xb9\\xcd\\x7c\\xd5\\xdc\\x63\\xee\\x33\\x3f\\xb4\\x0c\\x2b\\x62\\x75\\x58\\xd3\\xad\\x59\\xd6\\x51\\xd6\\x31\\xd6\\x09\\x96\\x6d\\xa5\\xac\\x53\\xac\\xbc\\x75\\xa6\\x75\\x8e\\x75\\x81\\x75\\xb1\\xb5\\xd0\\xea\\xb5\\xfa\\xad\\x61\\xeb\\x2a\\xeb\\x5a\\xeb\\xab\\xd6\\x4d\\xd6\\x6d\\xd6\\x9d\\xd6\\xd7\\xad\\x7b\\xad\\x07\\xac\\x6f\\x5b\\x6b\\x2c\\xb9\\xa2\\xcf\\x86\\x84\\x94\\xe1\\x7b\\xd5\\xfe\\x91\\xe5\\x05\\xb2\\xac\\xdf\\x2b\\xcb\\xfa\\xbd\\xaa\\x7d\\x8e\\x6a\\x9f\\xa3\\xca\\xb7\\xab\\xf2\\xed\\xaa\\x4f\\x42\\xf5\\x49\\x8c\\xeb\\xbf\\x52\\xf5\\x59\\x19\\x2c\\x37\\xf4\\xdf\\xa0\\xca\\x1b\\x82\\xe5\\x89\\xc6\\x9a\\x5c\\x96\\x4d\\x3e\\x4e\\xcf\\xd5\\xaa\\x7c\\xf5\\xb8\\xb1\\x3e\\x3b\\x8d\\x6b\\x55\\xf9\\xda\\x71\\x65\\xff\\xbc\\xf2\\xaa\\x9c\\x1f\\xe7\\x87\\x2d\\x4a\\xff\\x16\\x65\\xc3\\xe9\\xca\\x86\\xd3\\x55\\x9f\\xb5\\xaa\\xcf\\xda\\x60\\xff\\x83\\x2e\\xfb\\xfd\\x3f\\x91\\x9f\\x27\\xe1\\x1f\\xbf\\x9d\\x7e\\xdb\\xfc\\x36\\x4f\\xa6\\xdc\\x60\\xcf\\x44\\xe5\\x5f\\xc1\\x3e\\x39\\xd8\\xbd\\xd1\\xb0\\x1f\\x26\\xda\\x03\\x13\\xad\\xfb\\x2f\\xb1\\xd6\\xb0\\x50\\x49\\x63\\x76\\x5d\\x7a\\xa3\\xe0\\xff\\x85\\x3e\\x39\\xd1\\x7a\\x35\\x9f\\xe3\\xe4\\x19\\x64\\x6a\\xed\\xf7\\x9d\\xe5\\xaf\\x3b\\x6f\\x52\\xbf\\xea\\xfc\\x9f\\xd6\\x16\\xf5\\x1b\\xce\\x3b\\xac\\x77\\xad\\x0f\\x23\\xeb\\xd4\\xfb\\x2f\\x82\\x92\\xfc\\x8c\\xea\\x5c\\x4a\\x0b\\x28\\x5d\\x42\\xa9\\x9b\\xd2\\xe5\\x94\\x06\\x28\\x2d\\xa5\\x74\\x35\\xa5\\xeb\\x28\\xdd\\x40\\xe9\\x6b\\x94\\x6e\\xa7\\xb4\\x82\\x30\\xee\\xa6\\xfc\\x1b\\x94\\xbf\\x26\\xed\\x23\\x16\\x91\\x72\\xb5\\xb2\\xd5\\xf2\\xb5\\x78\\xf2\\x6e\\x29\\xc7\\xee\\x1a\\xd7\\xee\\xc9\\xe9\\x0d\\x2d\\xfd\\x75\\xd6\\x0c\\x77\\x54\\xcb\\xb8\\x8f\\x9f\\xf8\\x7f\\xef\\xe3\\xbf\\xd0\\x7d\\xfc\\x76\\xf5\\x29\\x9f\\x27\\xe7\\xf8\\x64\\xa4\\x2e\\xcd\\x53\\xea\\x92\\x98\\xb3\\x26\\xf5\\x84\\x4f\\xf6\\xd6\\xa5\\xbf\\x4f\\x43\\xff\\x13\\x7c\\xfd\\xaf\\xf6\\xc9\\x0d\\x3e\\xb9\\xa5\\x2e\\x8d\\x67\\x7d\\xd2\\xa7\\x67\\xac\\xb3\\xb9\\x1e\\x8a\\x13\\xea\\x72\\x65\\x5d\\xea\\x7b\\xeb\\xd2\\x58\\x50\\x97\\xe6\\xc3\\x3e\\x2c\\x7f\\xfb\\xc5\\x75\\x9f\\x98\\x03\\xf5\\xb1\\xe6\\x51\\x75\\x69\\x6c\\xf3\\xc9\\x05\\x93\\x90\\x0b\\x7d\\xd2\\xdf\\xee\\xf3\\xff\\x84\\x7e\\x9e\\x84\\x7f\\xfc\\x76\\xfa\\x6d\\xf3\\xdb\\x3c\\x19\\x89\\x15\\x5c\\x19\\x2c\\x43\\x96\\x3f\\x7e\\x9f\\xa0\\xfd\\x20\\xf7\\x49\\x93\\x3e\\xb7\\x1e\\x70\\xee\\xfe\\xb1\\x13\\xec\\x81\\x89\\xd6\\xbd\\xc9\\x5a\\xaf\\x9c\\xec\\x5a\\xeb\\xa7\\xd6\\xed\\xf4\\xfb\\xc1\\x6f\\xa7\\x5f\\xbf\\xdf\\xe6\\x06\\x79\\x75\\x53\\x39\\xf9\\xfb\\xf8\\x2c\\xeb\\x47\\xd6\\x46\\xeb\\xc9\\x86\\x5f\\xe3\\x7f\\xb1\\xc9\\xef\\xef\\xbf\\x6d\\xbd\\x63\\x7d\\x64\\x8d\\x79\\xbf\\x7e\\xaa\\xcd\\xd2\\x26\\x73\\x07\\xd7\\x70\\x07\\xd7\\xe8\\xcc\\x2b\\x7f\\xa1\\x59\\xa3\\x73\\xaf\\x46\\x27\\x5f\\x8d\\xce\\xbe\\x1a\\x9d\\x7e\\x35\\x4d\\xfa\\xf7\\x69\\x4a\\xcf\\x51\\x92\\x4f\\x03\\xec\\xa4\\xfc\\x0d\\x4a\\xd2\\x77\\x1f\\x68\\xf2\\xd6\\x2c\\x63\\xed\\xe9\\x24\\x7f\\x53\\xce\\x6d\\x6c\\x97\\x2a\\x6b\\x4d\\xa4\\xec\\xf9\\x49\\x4d\\x9b\\xe0\\x6a\\xf3\\xfe\\x5a\\x43\\xff\\x89\\x5a\\x6c\\xf2\\xe9\\x0c\\x85\\xfe\\xa2\\x6c\\xf7\\x49\\x53\\x9d\\x81\\x74\\xd5\\xdb\\x56\\x7d\\x0f\\x21\\x69\\x58\\xef\\x12\\xf7\\x4d\\xf0\\x59\\xb6\\xd6\\x71\\x20\\xde\\x24\\x8d\\x06\\x69\\x3c\\x59\\xe9\\xd4\\x02\\x1a\\x3f\\x6e\\x6c\\x73\\xc4\\x8f\\xb1\\x51\\xed\\x0c\\x4d\\xed\\x09\\x5d\\xed\\x89\\x4f\\xfd\\xaa\\x6d\\x6c\\x82\\x28\\x6d\\x3c\\x13\\x36\\x5e\\x56\\xf3\\xff\\xcc\\x83\\xd8\\x99\\xd5\\x7d\\x39\\x91\\xd7\\xa3\\xcd\\x74\\xfd\\x0f\\xe0\\x4e\\xf9\\x98\\x71\\xff\\xad\\x16\\x34\\x5d\\xcb\\xff\\xf7\\x2d\\x98\\xc8\\xf7\\x86\\xc6\\x1b\\x76\\xd1\\x27\\x3e\\x76\\xf7\\x1c\\xf8\\xb5\\x25\\x67\\xc2\\x31\\x93\\x33\\x27\\xa9\\x71\\xa2\\x75\\xf3\\x70\\x7e\\x49\\x1b\\x27\\xd8\\xe9\\xbf\\x80\\x8d\\x4d\\xfd\\x5a\\xb7\\xf1\\x4c\\xad\\xec\\xb3\\xf1\\xd0\\x5f\\x70\\xfd\\x3e\\x7e\\xaf\\x4c\\xe4\\x77\\x69\\xc1\\xc2\\xff\\x16\\x0b\\x9a\\xef\\x95\\x03\\xe1\\xfe\\x8f\\xcd\\xbc\\xe9\\x6a\\xfe\\x0f\\xcc\\xbc\\xd9\\xda\\xe3\\x5d\\xe5\\xbb\\x7f\\xbd\\xdf\\x55\\xd6\\x4f\\x55\\xe7\\xad\\x3d\\x3e\\x79\\x53\\xbd\\x8c\\x33\\xdc\\x4d\\xc1\\x3e\\x0d\\xed\\xeb\\x7d\\xe7\\x36\\x9f\\x06\\xf4\\xd9\\xe3\\xeb\\xb3\\x7e\\x02\\xac\\x9b\\x26\\x68\\x59\\x5f\\xd7\\x33\\x91\\x1c\\x6f\\xf3\\x44\\xf6\\xa0\\xdd\\x2b\\x9f\\x3c\\xae\\xbc\\xe7\\x80\\xf2\\x80\\x3e\\x99\\xd0\\x1b\\x37\\x4d\\x62\\xee\\x13\\xcc\\x5a\\xeb\\x1e\\x37\\x23\\x55\\x1e\\x9b\\x5b\\x97\\xbe\\x51\\x93\\x8f\\x25\\x4d\\xeb\\x71\\x6b\\xab\\xf5\\xb2\\x7a\\xe6\\xaf\\x43\\x31\\x89\\xa6\\xcd\\xd2\\x9a\\x9c\\xc7\\xb1\\x7f\\xbf\\xfe\\xeb\\xbd\\x7f\\x2d\\xf5\\x6e\\x82\\xb9\\xc9\\x7b\\x57\\x49\\x95\\xaf\\x97\\xd2\\x4a\\xa9\\x95\\xe9\\x55\\xed\\x11\\xd5\\x72\\x59\\x5d\\x7a\\xed\\xe6\\x80\\xf7\\xfe\\x8d\\x6f\\xd4\\x0d\\x75\\x89\\xb1\\x73\\x7c\\x63\\x3b\\x95\\x3c\\xba\\x2e\\xcd\\x87\\x55\\x39\\xec\\x6b\\xb9\\x58\\xca\\x90\\x7a\\x07\\xc4\\x1a\\x56\\x2d\\xf7\\x8c\\x93\\x3b\\xeb\\x65\\xd8\\xef\\xb3\\x79\\xbc\\x3d\\x9e\\x4e\\x4f\\x5b\\x78\\x46\\x5d\\xbf\\xbf\\xec\\xe9\\xf1\\xcb\\xc9\\xfb\\xe4\\xc0\\xde\\x68\\xf0\\x80\\x6f\\xee\\x07\\x9e\\xb5\\xf7\\x1e\\x9e\\x67\\x83\\xa7\\x13\\x3d\\xaf\\xf7\\xc9\\x81\\x9a\\x9c\\xfc\\xfe\\x35\\xac\\xa7\\xac\\x67\\xd4\\xf3\\xd7\\x51\\xcd\\x7b\\x66\\xe8\\x7f\\xdf\\x9e\\x3d\\x5a\\x9d\\x37\\x4f\\x57\\x27\\xc7\\x6b\\xb5\\xda\\x19\\xd6\\x7b\\x8f\\x42\\x5b\\xad\\xe4\\x1e\\xd5\\xf2\\x61\\x5d\\x7a\\xed\\x56\\x4a\\xf5\\x7f\\x4f\\xb5\\xb7\\xd5\\x5b\\x3c\\x89\\x53\\xb0\\x3a\\x99\\x9a\\x3b\\xb5\\xda\\x99\\x37\\xa4\\xd5\\xf5\\xfb\\xdf\\x2b\\xc0\\xe9\\x55\\x69\\xb3\\xbe\\xad\\x64\\xa7\\xd6\\xfc\\x1d\\x83\\x9d\\xf5\\xb2\\x67\\xbf\\xdf\\xe6\\xf1\\xf6\\x40\\x67\\xa7\\x4f\\xf3\\x78\\x79\\x74\\x50\\x4e\\xde\\x27\\x13\\x7a\\xe3\\xe8\\xa0\\x07\\xfc\\x73\\x3f\\xf0\\xac\\x3d\\x9d\\xb0\\xe1\\x3d\\xdf\\xa8\\xb6\\xa6\\xde\\x3e\\x98\\x3d\\xfb\\x84\\xb5\\xbd\\x71\\xcf\\x6a\\xc7\\x6a\\xde\\x73\\x76\\xde\\x49\\xed\\x14\\x5f\\x7c\\x72\\x58\\x6d\\xc4\\xc7\\xc7\\x3c\\xba\\x76\\xa8\\xfa\\x74\\x3c\\x14\\x0a\\x87\\x58\\xa8\\x2d\\xd4\\x19\\x9a\\x11\\xf9\\x89\\xfa\\x2c\\x6c\\x73\\xe4\\xb9\\xc8\\x0b\\x91\\x9f\\x47\\xb6\\x46\\xb6\\x45\\x5e\\x8e\\xec\\x8a\\xec\\x96\\x9f\\x79\\x13\\x9a\\xa9\\x1d\\xa1\\x1d\\xad\\x1d\\x2f\\x47\\x36\\xc1\\xd3\\xad\\x5d\\x4a\\xee\\xfc\\x15\\x68\\x7e\\xe7\\x57\\xac\\x79\\xd7\\xaf\\x4c\\xf3\\xeb\\xbf\\x32\\xcd\\xbb\\x7f\\x65\\x9a\\xf7\\xfc\\x02\\x9a\\xe5\\x4e\\xfc\\xf4\\x04\\x3b\\xd1\\xd3\\x7b\\xf0\\x1a\\x3d\\x4b\\xab\\x1a\\xe5\\xe7\\xd7\\x61\\x15\\x45\\x7b\\x11\\xf4\\x3b\\x0d\\xeb\\x37\\xd9\\xfe\\x9b\\xb1\\x2a\\x07\\xa7\\x7f\\xf2\\xfd\\x3d\\xfd\\x6f\\x4c\\xba\\xff\\x13\\x07\\xd9\\x7f\\x23\\xd6\\x7e\\xb2\\xfd\\x77\\x62\\x45\\x27\\xdb\\x7f\\xd7\\x41\\xf6\\xdf\\x78\\x90\\xfd\\x9f\\x38\\xc8\\xfe\\x9b\\x0f\\xb2\\xff\\x73\\x07\\xd9\\xff\\x1d\\x5f\\xff\\x4f\\xd3\\x9d\\xd5\\xa0\\x57\\xc6\\x6c\\x8c\\x98\\xe9\\xd3\\xf8\\xbc\\x56\\x7d\\xaa\\x42\\x0f\\x4d\\x9b\\x64\\xef\\xbd\\xe8\\xad\\x4f\\xf1\\xbe\\x25\\xd5\\xab\\x3d\\xab\\x7d\\xa8\\x1b\\xfa\\xb1\\x14\\x2b\\x9c\\x4f\\xf1\\xc1\\x30\\xc5\\x01\\x7b\\x88\\xe7\\xe5\\xe7\\x44\\xcb\\x8c\\xeb\\x28\\xdd\\x64\\xac\\x32\\xd6\\x1a\\xab\\xcc\\x43\\xcd\\x53\\xcd\\x85\\xe6\\x32\\xf3\\x6b\\x4a\\x6e\\x30\\x5f\\x34\\x77\\x59\\x83\\xd6\\x36\\x6b\\x5f\\x48\\x93\\x3d\\x42\\xc7\\x84\\x78\\x68\\x39\\xc5\\x4c\\xfb\\x42\\xc7\\x84\\x8f\\x0a\\x9f\\x1d\\x5e\\x10\\xbe\\x2e\\x7c\\x7b\\xf8\\x11\\xaa\\x3d\\x12\\xfe\\x69\\xf8\\x55\\xfa\\xbf\\xa7\\xc5\\x6e\\x29\\xb7\\xac\\x8a\\xcc\\x8e\\x9c\\x12\\xe9\\x8e\\xdc\\x18\\x59\\x1d\\xf9\\x2e\\xb1\\xcc\\x1b\\xec\\x74\\x76\\x5b\\xb4\\x2d\\xfa\\xf5\\xe8\\x0f\\xa2\\x2f\\x46\\xf7\\x44\\xf7\\xb5\\x6a\\xad\\x27\\xb5\\x76\\xb7\\xde\\xd6\\x7a\\x57\\xeb\\xc6\\xb6\\x48\\xdb\\xa7\\xdb\\x78\\xdb\\x05\\x6d\\x03\\x6d\\xdf\\x68\\x7b\\xb8\\xed\\xd9\\xb6\\x0f\\xdb\\x4f\\x6c\\xbf\\xb8\\x7d\\xb0\\xfd\\xf6\\xf6\\x97\\x3b\\x3a\\x3b\\x12\\x1d\\xf9\\x8e\\xb3\\x3b\\x16\\x74\\x5c\\xd7\\xf1\\x60\\xc7\\x23\\x1d\\xcf\\x75\\xbc\\xd8\\xb1\\x47\\x8b\\x68\\x47\\x8f\\xad\\xd6\\x4e\\x1e\\xdb\\x6c\\x7e\\x6e\\x6c\\xb5\\x99\\xa7\\x74\\x1a\\xa5\\xb3\\x29\\x7d\\x81\\xda\\xbe\\x34\\x26\\x57\\x6f\\xfa\\xd8\\x2d\\x1a\\xd3\\x4c\\xea\\x97\\x1c\\xeb\\xd5\\xd2\\x94\\x4e\\xa2\\x96\\x93\\xc7\\xf2\\xda\\x85\\xd4\\x76\\x11\\xf5\\xb9\\x78\\x6c\\x75\\xcb\\x36\\x6a\\x33\\xb5\\x29\\x63\\x87\\x6b\\x53\\x29\\x1d\\x4d\\xb5\\x16\\x1a\\xb3\\x79\\xdc\\x98\\x6a\\x5f\\x4b\\x5d\\x9d\\xb2\\xff\\x3d\\x6d\\x2a\\xa5\\xa3\\xa9\\x87\\x49\\xfd\\x36\\x53\\xbf\\xcd\\xd4\\x6f\\xb5\\x36\\x55\\xe9\\xea\\xa4\\x9e\\x52\\xdf\\xe1\\x94\\x8e\\x50\\x7a\\x7b\\x35\\x9b\\x7a\\xe4\\x29\\x17\\x94\\x4e\\xa7\\x34\\x97\\xea\\xe7\\x52\\x3e\\x9f\\xfa\\x5e\\x40\\xf9\\x02\\x4a\\x17\\x51\\xba\\x98\\x52\\x3b\\x69\\xc9\\x43\\x4b\\x9e\\xb4\\xdc\\x42\\x5a\\x6e\\x51\\x5a\\xf2\\x94\\x9f\\x4e\\xc9\\x3f\\x7a\\x01\\xe1\\x92\\x7d\\x6a\\xd4\\x2d\\x34\\xea\\x67\\x34\\xea\\x16\\x1a\\xb5\\x99\\x46\\x6d\\x56\\x73\\x22\\x0f\\xd1\\xa8\\xcd\\x34\\xea\\x0d\\x1a\\xb5\\x99\\x46\\x6d\\xa6\\x51\\xd2\\x03\\x34\\x17\\x6f\\x46\\x0d\\x56\\xf7\\xd2\\xc8\\x5e\\x1a\\x99\\xf7\\xe1\\xad\\x56\\x78\\xe7\\x51\\xf9\\x7c\\x65\\xed\\x2d\\xe4\\xc7\\x5b\\x34\\xbd\\x65\\x9b\\xf6\\x1b\\xca\\x83\\x72\\xec\\x2d\\x54\\x9b\\x4b\\xbb\\x73\\x0a\\xf5\\x98\\x4a\\x49\\x96\\xc8\\x27\\x94\\x98\\x79\\xd6\\xd8\\x8f\\xcc\\x73\\x29\\x5d\\x30\\x76\\x01\\xad\\x92\\x30\\x17\\x50\\xf9\\x4b\\x94\\x17\\x69\\xd5\\x2a\\x94\\xae\\xa4\\x5e\\x06\\x5d\\x59\\x47\\xad\\xeb\\xb4\\x43\\xcd\\x1c\\x1d\\xfc\\xf2\\x74\\xfd\\x34\\x4a\\x67\\x8d\\xad\\xa2\\xd5\\x15\\x34\\x7e\\x15\\x8d\\x5b\\x65\\x7e\\x91\\xd2\\x25\\x63\\xbd\\xe6\\x65\\x34\\xae\\x40\\xa9\\x8b\\xca\\x3d\\x94\\x97\\x28\\x2d\\xa6\\x54\\xa6\\xd4\\x4f\\x69\\x09\\xb5\\x8f\\x50\\x5a\\x46\\xe9\\x6a\\xed\\x62\\x73\\x39\\xd9\\x14\\x9d\\x8c\\x25\\x6a\\xad\\x23\\x64\\xfd\\x91\\x64\\xfd\\x91\\x64\\xc7\\xa7\\xc8\\x8e\\x4f\\x91\\x0d\\x9f\\x22\\xbc\\x87\\x08\\xe3\\x21\\xd2\\x77\\x89\\x16\\x1a\\xa7\\x8b\\xf4\\x50\\x6b\\x9e\\x5a\\x4e\\xa3\\x74\\x36\\xa5\\xea\\x8c\\xa6\\x50\\xdf\\x7b\\xa8\\xef\\x3d\\x84\\x77\\x0f\\x59\\xff\\x38\\x59\\xfd\\x38\\x59\\xfd\\xb8\\xd9\\x4b\\xe9\\x72\\x4a\\x03\\x94\\x96\\x50\\x1a\\xa1\\xb4\\x8c\\xd2\\x97\\x29\\x2d\\xa7\\x74\\xed\\xd8\\xe3\\x5a\\x88\\xf6\\xdc\\x07\\xb4\\xe7\\x3e\\x20\\xdd\\xbd\\xa4\\xbb\\x97\\x74\\x93\\x7f\\xcd\\xc1\\xb1\\xe7\\xcd\\xa5\\x63\\xcf\\x6b\\x9f\\x52\\xb6\\x7a\\x2b\\x78\\x24\\xad\\xe0\\x91\\xb4\\x82\\x47\\x9a\\x39\\xed\\x2d\\xf4\\xbf\\x98\\xd0\\x37\\xcb\\x31\\x64\\xc1\\x66\\x35\\xe3\\x2f\\x52\\x2e\\x7d\\x78\\x29\\x25\\xe9\\xbf\\xa2\\xf2\\xe1\\x83\\xe6\\x22\\xca\\x4b\\x94\\x16\\xd3\\xf5\\x7e\\xca\\x2b\\x94\\xaa\\x7e\\xbc\\x02\\xbe\\xbc\\x72\\xec\\x0f\\xcc\\xab\\xe0\\xd3\\xaf\\x50\\x4e\\x7e\\x35\\xaf\\x21\\x7b\\x66\\x07\\xac\\x50\\xfb\\xe8\\xa0\\x57\\xb2\\x48\\x56\\x4c\\x76\\x35\\x2d\\xe5\\xeb\\x0b\\x7c\\x7e\\x36\\xc8\\x6f\\xdb\\xc9\\x67\\xdb\\x69\\xcf\\x5d\\x42\\x73\\xe8\\xa2\\xd4\\x43\\x69\\x09\\xa5\\x11\\x4a\\xcb\\x28\\x7d\\x99\\xd2\\x72\\x4a\\xd7\\xd2\\xce\\x37\\xc9\\x87\\xeb\\xc8\\x87\\xeb\\x68\\x56\\x6b\\xb4\\x69\\x34\\xe6\\x66\\xb2\\xe6\\x31\\x1a\\x77\\x33\\x59\\xf2\\x10\\x2c\\x79\\x8c\\x56\\x48\\x5a\\xf3\\x18\\x59\\xf3\\x18\\xf9\\xe4\\x21\\xd2\\x77\\x33\\x8d\\x5c\\x4d\\x3a\\x6f\\xa6\\xd1\\xab\\x49\\xef\\xcd\\xa4\\xf7\\x66\\xd2\\x7b\\x33\\xe9\\xbd\\x59\\x6b\\x27\\x4d\\x6b\\x49\\xcb\\x5a\\xd2\\xb0\\x96\\xd6\\x78\\x2d\\x69\\x78\\x89\\xd6\\x78\\x2d\\x8d\\x5c\\x6b\\x0e\\x53\\x1a\\xa1\\xb4\\x8c\\xd2\\x97\\x29\\x2d\\xa7\\x74\\xed\\xd8\\x5a\\xad\\x93\\x46\\xed\\x30\\x17\\x8e\\x6d\\xa5\\x91\\x3b\\x68\\xe4\\x0e\\x1a\\xb9\\x83\\x46\\xed\\xa0\\x51\\x3b\\x68\\xd4\\x0e\\x1a\\xb5\\x83\\xd6\\x61\\x2b\\x8d\\xdc\\x41\\x23\\x77\\x90\\xff\\xb7\\xd2\\xe8\\x1d\\xe4\\xff\\xad\\xa4\\x61\\x07\\xed\\x6f\\xa9\\xe1\\x40\\xa3\\xe5\\x48\\x1a\\xa1\\xb5\\x52\\xcf\\x75\\xd4\\x73\\x1d\\xf5\\x5c\\x47\\x3d\\xd7\\x99\\x7d\\xca\\xcb\\xeb\\xa8\\xe7\\x3a\\xea\\xb9\\x8e\\x7a\\xae\\x23\\x8c\\x75\\xa4\\x77\\x9d\\xda\\x6b\\xca\\x4f\\x0a\\xa1\\x71\\xdc\\x44\\x63\\x2c\\xd2\\xb8\\xa3\\xc1\\xbf\\x12\\x73\\x0d\\x8d\\x5d\\x43\\x63\\xd7\\xd0\\xd8\\x35\\x34\\x76\\x0d\\x8d\\x5d\\x43\\x63\\xd7\\xd0\\xd8\\x35\\x34\\xf6\\x29\\xb2\\x6e\\x0d\\x8d\\x7f\\xaa\\x61\\x6d\\x9e\\xd2\\xc2\\xb4\\xbb\\x66\\xd2\\xce\\xd2\\x68\\x67\\x6d\\xa7\\x9d\\xb5\\x5d\\xeb\\x1b\\x5b\\xa5\\x7d\\x85\\x12\\xdd\\x85\\xc6\\x1c\\xf2\\xdd\\x0f\\xb5\\xb9\\xe6\\x06\\x6d\\xa6\\xf9\\x18\\xed\\x80\\x9f\\x52\\x7a\\x62\\x6c\\xd4\\x7c\\x72\\x6c\\x85\\xb9\\x89\\x76\\xd9\\x53\\x54\\x7e\\x66\\xac\\xdb\\x7c\\x81\\xf2\\xad\\xd4\\xe7\\x45\\xba\\xfe\\x16\\xa5\\xb7\\x29\\xed\\xd7\\x66\\x92\\x86\\x3b\\xb5\\x0e\\xf3\\x7b\\xd4\\x73\\x1d\\xf5\\x58\\x4f\\xad\\x1b\\x28\\x7f\\x82\\xf2\\x27\\x29\\xdf\\x44\\xe9\\x29\\x2a\\x3f\\xad\\xb4\\xac\\x32\\x37\\x53\\x92\\x9a\\xb6\\x50\\xda\\x4b\\x96\\x4c\\xa5\\x91\\x2b\\xcc\\x1f\\x52\\x8f\\x75\\x74\\xa5\\x3a\\xfa\\x31\\xa5\\x61\\x15\\x69\\x58\\x55\\xb3\\xe1\\x69\\xca\\x3d\\x0d\\x2b\\xd4\\x68\\x89\\xbf\\x8f\\xd2\\x7b\\x34\\x8f\\x59\\x13\\xcd\\x90\\xb4\\x5f\\x43\\xda\\x47\\xa1\\x75\\xbb\\xb2\\x6b\\x2b\\xa5\\x97\\xa8\\xbe\\x9d\\xae\\xbf\\x3c\\x76\\xa7\\xf9\\x0a\\x95\\x77\\x91\\xd6\\xd7\\xa9\\xfe\\x06\\x95\\x77\\x53\\xf9\\x4d\\x2a\\xef\\xa5\\xf4\\x21\\xa5\\x8f\\x28\\x8d\\x8d\\xad\\xb2\\x34\\xd2\\x19\\x31\\xd7\\x93\\x0f\\x36\\x51\\x92\\xb3\\x7a\\x86\\xd2\\xcb\\x54\\xde\\xa9\\x39\\xe6\\x6e\\xca\\xf7\\x52\\x54\\xc1\\x54\\x8f\\xc7\\xaa\\x5e\\xa4\\x2b\\x9b\\x28\\x3d\\x43\\x6d\\xc4\\x23\\xca\\x83\\xbb\\xd5\\x6b\\x6c\\x5d\\x83\\x55\\xa3\\x0d\\x73\\x95\\xf3\\xa4\\x39\\xd2\\x8e\\x59\\x4f\\x63\\x94\\x2f\\xa1\\x47\\xa1\\x52\\xfe\\x02\\xe9\\xd9\\xaa\\x90\\x67\\xca\\xd5\\xa0\\x33\\xeb\\x56\\xcd\\xa1\\x75\\xdf\\xea\\xd5\\xc9\\x2b\\x12\\xe3\\x7b\\xa4\\xcb\\xf3\\xad\\xe7\\xd7\\x4d\\xf0\\xe3\\x16\\xaa\\x6f\\x57\\xb3\\xde\\x4e\\x11\\xd1\\x94\\xfd\\xb4\\x0e\\xfb\\x47\\xab\\xbe\\xa3\\x51\\x73\\x69\\xd4\\x35\\x6a\\x94\\xb7\\x22\\xd7\\x98\\xa3\\x94\\xd7\\x2d\\xdd\\x4e\\x9a\\xb6\\x63\\x5d\\x95\\xa5\\xca\\xa7\\xdb\\xa9\\xdf\\xcb\\xca\\x7f\\xa3\\xe4\\xab\\xed\\x74\\x4f\\xa8\\xe2\\x57\\xd7\\xd5\\xd3\\x32\\x8a\\x9d\\xb1\\x1d\\x6b\\x3a\\x4a\\x6b\\xba\\x9d\\x76\\xc5\\xf6\\xda\\xfe\\xda\\x81\\x59\\xbc\\x83\\x99\\x1c\\x41\\xeb\\xeb\\xd0\\xfa\\xce\\xf4\\xad\\xef\\x68\\x6d\\x6d\\xd7\\x91\\x3f\\xaa\\xbb\\xe6\\x29\\xcc\\x6e\\x2b\\x95\\x5f\\x52\\xeb\\xbb\\x82\\xd6\\x77\\x95\\xf9\\x1a\\xa5\\x5d\\xd4\\xff\\x75\\x5a\\xef\\xdd\\x94\\xef\\xa1\\x3e\\x72\\x8d\\xdf\\xa2\\xb2\\x5c\\xe7\\x7d\\x94\\x3e\\xa0\\xb6\\x0f\\x29\\x7d\\x44\\x69\\x6c\\x6c\\x3b\\xcd\\x61\\x94\\x62\\xd2\\xfa\\xce\\x1a\\x25\\xe4\\x51\\xdf\\xce\\xea\\x21\\xf4\\x3b\\x09\\x79\\x55\\x0d\\x59\\xce\\x41\\x7a\\xe3\\x45\\xa0\\x6f\\xa3\\xe4\\x79\\xe5\\x1a\\x73\\x07\\x5d\\xdb\\x09\\x6b\\x5e\\x6d\\xb0\\x68\\x05\\xed\\xba\\x55\\xb0\\x6a\\x55\\xcd\\xaa\\x7d\\xa4\\xe3\\x5d\\x2a\\xbf\\xaf\\x2c\\xab\\xee\\xc0\\x15\\xb5\\x55\\xf5\\x90\\xeb\\xbb\\xc6\\xdb\\x8d\\x5b\\xc6\\x7e\\x42\\x5a\\x47\\xb5\\x16\\xe5\\xf3\\xc7\\xa8\\xf6\\x84\\xba\\xea\\xbd\\xea\\x68\\xe7\\xa9\\x57\\x9d\\xdc\\x27\\x73\\xd5\\xce\\xdd\\x2d\\xe3\\x60\\xe9\\x77\\xba\\x4f\\x6d\\x19\\x5b\\xa5\\xee\\x07\\x1d\\xbe\\x7d\\x23\\x5f\\x93\\xa3\\x0a\\x69\\xb4\\x61\\xaf\\xc6\\x68\\xed\\xee\\x24\\xc4\\x1e\\xd2\\xbb\\x0a\\x23\\x7b\\x68\\xbf\\xaa\\xf5\\xa8\\xdd\\x07\\x56\\xd5\\x5e\\xfb\\x5b\\xd4\\xeb\\xcd\\x5b\\x59\\x69\\x5f\\x2b\\x30\\x46\\xf1\\x3a\\x58\\x55\\xbb\\x63\\x78\\x7b\\xc2\\xdb\\x9f\\xd5\\xde\\x86\\xda\\xe7\\xef\\x51\\xa9\\xcd\\x6b\\x57\\xbe\\xdc\\x2e\\xaf\\x91\\xff\\xbc\\xfb\\xd1\\x5e\\x75\\x3f\\x18\\x95\\xbd\\xcc\\xff\\x92\\xf7\\x26\\xb5\\x82\\xdb\\x69\\x36\\x72\\x6f\\xca\\x5d\\xf5\\xb2\\xc4\\x57\\xa3\\xb6\\xab\\x51\\xbb\\xd5\\x48\\xef\\x4e\\xb2\\x97\\x72\\x6f\\xb7\\xad\\xa2\\xd1\\xde\\xfe\\x95\\xf7\\xcd\\xb9\\xb4\\xf6\\x8e\\xba\\x53\\xec\\x82\\xff\\xe4\\xab\\xcd\\xaa\\xbe\\xee\\xe4\\x2b\\x5e\\xa2\\xd1\\x7d\\xe1\\x45\\x68\\x7f\\xdd\\x77\\x7f\\xdc\\x5b\\xbb\\x47\\x8d\\x6a\\x61\\xb5\\xbb\\xa5\\x0d\\x3b\\xd5\\x3d\\x60\\x14\\xaf\\xd3\\x51\\x62\\x3c\\xcf\\xc2\\xd1\\x9a\\x85\\x3b\\x6b\\x56\\x8e\\xa2\\xe7\\x68\\xd0\\x42\\xd2\\xb7\\xcb\\xbb\\x97\\xf8\\x5f\\x29\\x72\\xd6\\x74\\xa5\\x3a\\xdb\\xdd\\x3e\\xdf\\x48\\xa4\\x48\\xcd\\x17\\x3b\\x03\\x57\\xdf\\xc1\\xd8\\x36\\x6f\\x95\\x9a\\xf8\\xf7\\x6d\\xef\\x8e\\x5d\\xf3\\x71\\xd5\\xbf\\xad\\x4d\\x57\\x24\\x30\\xfb\\x5a\\xef\\x50\\xed\\x35\\xee\\x5d\\xf9\\x89\\xe7\\x3d\\xf2\\x74\\x0f\\x79\\x7a\\xae\\x6f\\x8f\\xf8\\xec\\xa3\\x3b\\xdb\\xf4\\x6a\\x8f\\xda\\x1d\\xe0\\x2b\\xf4\\xaa\\xdf\\x8a\\x7d\\xf2\\x32\\x46\\xed\\x6c\\x58\\xdd\\x51\\x7a\\x2d\\x61\\x85\\xe9\\x9a\\x9c\\xe1\\x3e\\xca\\xab\\x96\\x44\\x95\\x15\\xdb\\xe1\\xa9\\xaa\\xdd\\xbb\\x7d\\xb6\\xbf\\x87\\x7d\\xc0\\xe0\\xcf\\x51\\x78\\x0d\\xeb\\x01\\x9d\\x98\\x1d\\xee\\xbd\\xd5\\xfb\\xb1\\x51\\xbb\\xd3\\x1b\\xa4\\x6f\\x2e\\xf5\\x9a\\xeb\\x43\\x6c\\xee\\x5f\\xe5\\x93\\x80\\x6d\\x3b\\x9a\\xac\\x82\\xb7\\x02\\xab\\x14\\x6a\\x68\\x9c\\x5f\\xfa\\xe4\\xde\\xa0\\xd6\\x6b\\xa8\\xb5\\xa7\\xa1\\xf5\\x2b\\x94\\xf4\\x96\\x97\\xe8\\xbc\\x60\\xd2\\xd9\\x45\\x9e\\x9e\\x64\\xbc\\xbe\\x9a\\xd6\\xe4\\x9f\\x68\\x8f\\xaf\\xa5\\xf4\\x24\\x59\\xfa\\x0c\\xbd\\xb6\\x37\\x93\\x3e\\x5d\\x93\\x67\\xb4\\xe9\\x74\\x07\\x3c\\x4e\\xfb\\x2d\\x5a\\x81\\xb8\\x96\\xd4\\xd2\\xda\\x49\\xda\\xc9\\xda\\x19\\xda\\x7c\\xed\\x42\\xed\\x22\\x8a\\x24\\x3f\\x47\\xe7\\xde\\x8c\\x99\\x35\\xf3\\x26\\x45\\xa9\\xe6\\x59\\xe6\\xe7\\xcd\\xb3\\xcd\\x73\\xcd\\xf3\\xcd\\xf9\\x26\\x45\\xf5\\xe6\\x02\\xf3\\x42\\xf3\\x22\\xf3\\x8b\\xe6\\x97\\xcc\\x1e\\xb3\\xd7\\x2c\\x9b\\x7d\\xe6\\x80\\xb9\\xc4\\x1c\\x34\\x87\\xcc\\xa5\\x74\\x4a\\xbe\\xd2\\xfc\\xb2\\xb9\\xdc\\xbc\\x56\\x3d\\x05\\xf9\\x6f\\xe6\\xf7\\xcc\\x47\\xcc\\xef\\x9b\\x3f\\x30\\x7f\\x68\\xae\\x33\\xd7\\x9b\\x3f\\xa1\\x33\\x34\\xdd\\x6d\\xcc\\xc7\\xcd\\x27\\xcc\\x27\\xcd\\x4d\\xe6\\x53\\xe6\\xd3\\xe6\\xcf\\xcc\\x67\\xcd\\xcd\\xe6\\xf3\\xe6\\x0b\\xe6\\xcf\\xcd\\xad\\x74\\xc2\\x7e\\xc9\\xdc\\x66\\xd2\\xaa\\x98\\x3b\\xcc\\x9d\\xe6\\x6b\\xe6\\x2e\\xf3\\x75\\x73\\xb7\\xf9\\xa6\\xf9\\x96\\xf9\\xb6\\xb9\\xd7\\x7c\\xc7\\xdc\\x67\\xbe\\x6b\\x7e\\x60\\x7e\\x64\\xee\\x37\\xc7\\xac\\x29\\x56\\xa6\\xe5\\xa5\\x96\\x6d\\x2d\\xaf\\xd0\\x9c\\xa2\\xe4\\xb1\\x99\\x24\\xf1\\xee\\xc0\\xff\\x92\\x4f\\x11\\x76\\xa9\\x27\\x62\\x3b\\xa5\\x34\\xb6\\x49\\x69\\xaa\\xef\\x9a\\x58\\x77\\xa9\\x96\\x39\\x4a\\xe6\\x55\\xcb\\x33\\x75\\xe9\\xb5\\x9b\\x1f\\xd6\\xfb\\x9b\\x3b\\xa5\\x0c\\x79\\xcf\\xd7\\xee\\xf2\\x8d\\x5d\\x59\\x6f\\xb1\\x86\\x95\\xbc\\xc1\\x27\\x15\\xae\\x75\\x59\\xbd\\xc5\\xd3\\x16\\xda\\x53\\xc7\\x02\\x8a\\x4f\\x7a\\xa3\\x50\\xde\\x15\\xb4\\x79\\xbc\\x3d\\xb8\\xaa\\xb4\\xb5\\xcc\\xae\\xeb\\xf7\\x97\\x61\\xa1\\x5f\\x4e\\xda\\x27\\x07\\xf6\\x46\\x83\\x07\\xfc\\x73\\x3f\\xe0\\xac\\x31\\x2a\\xe5\\x9b\\xe9\\x0d\\x75\\xcd\\x90\\x75\\x9f\\x1c\\xcc\\xa7\\x08\\xde\\x33\\x2b\\xfe\\x4f\\xbe\\x6a\\xdf\\x2d\\xc2\\x9e\\xdd\\xf0\\xeb\\xbd\\x67\\x1b\\x9e\\x3d\\xf6\\x3d\\x4d\\xda\\xf0\\x5c\\xe8\\xb8\\xe7\\x45\\xb5\\xf5\\xaa\\xfd\\x84\\xfa\\x27\\x3b\\xfa\\xbd\\xea\\xaa\\xff\\x69\\x61\\xa5\\xa7\\xe1\\xb9\\x50\\xef\\xb9\\xd6\\x5b\\x7d\\x9f\\xf8\\xdc\\xee\\x2b\\xfb\\x9e\\x6e\\xf5\\x3f\\xf9\\x89\\x27\\x51\\x6f\\x0d\\x8e\\x45\\xf9\\xf6\\x71\\x36\\x8f\\xb7\\x67\\x8e\\xa6\\x7d\\xec\\x13\\xb9\\x9b\\xea\\xf2\\x60\\x7d\\x32\\xa1\\x37\\xd6\\x06\\x3d\\xd0\\x30\\xf7\\x03\\xcf\\xda\\xf7\\x8c\\xab\\xff\\xb9\\x56\\x4f\\x33\\xe4\\x09\\x35\\x39\\xf9\\x3d\\xfb\\x8b\\x3c\\x67\\x33\\x93\\x10\\x7a\\x28\\x49\\x5b\\x07\\x35\\xf9\\xf7\\xbd\\x34\\x6d\\x39\\xa5\\xeb\\x29\\xdd\\x48\\x49\\xce\\xea\\x0e\\x4a\\x77\\x51\\xba\\x87\\x92\\x5c\\xe7\\x6f\\x51\\x92\\x9f\\xde\\x7d\\x97\\xd2\\xc3\\x94\\x1e\\xa5\\x24\\xe7\\xf1\\x04\\xa5\\x67\\x28\\xbd\\x40\\x49\\xce\\xf4\\x55\\x4a\\xf2\\x53\\xc4\\x7d\\xea\\xc9\\xf2\\xe9\\x55\\xb9\\xff\\xc3\\x7a\\x79\\xbc\\xdc\\x7f\\xe7\\xb8\\x16\\xd5\\x7f\\xff\\x4e\\x5f\\x79\\xd2\\xd2\\x7b\\xa2\\x7d\\x4c\\x5a\\xa5\\xef\\x7f\\x50\\xb5\\xfb\\x24\\x5e\\xc7\\x6b\\x7e\\xcd\\x5f\\xc7\\xde\\x37\\x7d\\x16\\xd4\\x3f\\xe9\\xc7\\xf7\\x7a\\xd4\\x37\\x7a\\xf0\\x3d\\x1d\\xaf\\x7d\\x65\\x5d\\xa2\\x7d\\x43\\x5d\\x9a\\xc7\\xd7\\xaf\\x7a\\xdf\\xd6\\x41\\x9f\\xab\\x7d\\x63\\xbd\\x6f\\x09\\x5d\\xeb\\x93\\x1e\\x56\\xde\\x67\\xc3\\x96\\xfa\\x73\\x06\\xf8\\x26\\xce\\x82\\x03\\xca\\x67\\xc7\\xd9\\x3c\\xce\\x1e\\x4f\\xa7\\xa7\\xad\\xfa\\x4d\\x9f\\xa0\\xac\\x7e\\xe3\\xc9\\x27\\x27\\xed\\x93\\x89\\xbc\\x01\\x3f\\xf8\\x3d\\xe0\\x9f\\xfb\\x01\\x67\\x8d\\x6f\\xde\\xa8\\xe7\\x39\\xf4\\x13\\x94\\xbc\\xd5\\xa7\\xf9\\xf8\\x00\\xe2\\xe4\\x5f\\xc7\\x07\\x7e\\xfa\\x51\\x3e\\x47\\x74\\x12\\xa5\\x53\\xb5\\x83\\xfd\\x2e\\x11\\xe6\\x80\\x27\\xbd\\x4e\\xad\\x3f\\x99\\xa2\\x3d\\x57\\x6f\\xc1\\x7c\\xce\\x57\\x72\\x6f\\xbd\\xff\\x78\\xa9\\x5b\\xf2\\x7b\\x43\\xff\\x6b\\xb9\\xd0\\xff\\x3d\\x87\\xef\\x34\\xe7\\x42\\xaf\\x1d\\x77\\xe7\\x09\\xb8\\x50\\xf9\\xbb\\x09\\x17\\xe2\\xb9\\x0a\\x6f\\xec\\x8c\\x7a\\x59\\xbb\\xa9\\xce\\x43\\x0d\\xdf\\x82\\x38\\xf0\\xb7\\x5c\\x6e\\x1f\\x67\\xdb\\x78\\x7b\\x6e\\xff\\x78\\x2e\\x6c\\xf8\\x36\\xc5\\x41\\xfa\\x64\\x42\\x6f\\x8c\\xe3\\x42\\xff\\xdc\\x0f\\x3c\\x6b\\xe8\\x3c\\x20\\x17\\xfa\\xf4\\xfc\\x7f\\x82\\x0b\\x29\\x9f\\x5e\\x8d\\x2c\\x48\\x4e\\xf7\\xb5\\xd4\\xe5\\x73\\x75\\xef\\x37\\xf4\\xb9\\x5b\\x4a\\xfd\\x54\\x25\\x4f\\xa8\\x4b\\xf2\\x6f\\xbd\\xcf\\x38\\x49\\xfb\\x4f\\x96\\x97\\xf9\\x7c\\x7d\\xab\\x6a\\xf7\\x49\\xf9\\xf7\\x8e\\x48\\x6f\\xfd\\xf9\\x19\\xd9\\x16\\xfe\\x68\\x5b\\xf5\\xff\\xfe\\x81\\x26\\x9f\\x06\\xcb\\x3e\\xf2\\x7f\\x9b\\xfa\\x04\\xf7\\xb9\\xb1\\xa3\\xf1\\x89\\xae\\xa6\\xec\\x96\\xae\\xf8\\xed\\x7b\\x1e\\x93\\xf9\\xfa\\x33\\x7a\\x8f\\x51\\xf5\\x3f\\xd9\\xd3\\xf6\\xff\\x04\\x00\\x00\\xff\\xff\\x0b\\x43\\xea\\xef\\x90\\x66\\x05\\x00\")\n\nfunc liberationsansBoldTtfBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_liberationsansBoldTtf,\n\t\t\"LiberationSans-Bold.ttf\",\n\t)\n}\n\nfunc liberationsansBoldTtf() (*asset, error) {\n\tbytes, err := liberationsansBoldTtfBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LiberationSans-Bold.ttf\", size: 353936, mode: os.FileMode(420), modTime: time.Unix(1459927768, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _liberationsansBolditalicTtf = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\xe4\\xbd\\x77\\x60\\x14\\xd5\\x1a\\xff\\xfd\\x9c\\x99\\x2d\\x49\\x20\\xa4\\x90\\xd0\\x42\\xd8\\x4d\\x42\\x02\\x18\\x20\\x81\\xd0\\x42\\xdb\\xa5\\x85\\xde\\x09\\x26\\xd2\\x02\\x02\\x46\\x8a\\x94\\x80\\xa2\\x14\\xc1\\x8b\\x8a\\x08\\x02\\x8a\\x15\\x50\\x54\\xae\\x28\\x20\\x86\\x5e\\x44\\xa5\\x17\\x15\\x01\\x05\\x04\\x15\\xc1\\x50\\x82\\x02\\x8a\\x8a\\xa8\\x40\\x76\\xde\\xcf\\xcc\\x6e\\x20\\xa0\\xde\\x7b\\x7f\\xef\\xfb\\xfb\\xef\\xcd\\xe5\\x9b\\x33\\x73\\xe6\\x39\\x4f\\xf9\\x3e\\xcf\\x39\\x73\\xce\\x2e\\x78\\x45\\x89\\x48\\x59\\x7e\\xd9\\x24\\x35\\x23\\xa3\\x57\\xe7\\x81\\x55\\x2a\\x3d\\x22\\xf6\\xde\\x74\\x4a\\xe5\\xb6\\xad\\xdb\\x64\\x4c\\x91\\x71\\x75\\xc4\\xae\\x07\\x71\\x3f\\xa3\\x6d\\xb7\\xae\\x3d\\x8d\\xa3\\x73\\x82\\xc4\\x5e\\x7a\\x9c\\x48\\xfb\\x59\\x6d\\x7b\\x66\\xb6\\x8c\\x19\\xf9\\x74\\x1f\\x9e\\xcf\\x15\\x09\\x2a\\xe8\\xda\\x33\\xa5\\xae\\xfa\\x7c\\x7f\\x03\\x11\\xb5\\x11\\xf9\\x9c\\x7b\\x47\\x0e\\x1c\\x1d\\xf9\\x52\\x9f\\x9d\\x22\\x77\\xcd\\x12\\x71\\xd4\\xbe\\xf7\\xc1\\x71\\xee\\xa1\\x73\\xf2\\xf6\\x89\\x34\\x5d\\x2c\\xa2\\xcd\\x18\\x3a\\xfa\\xbe\\x91\\x53\\x06\\xae\\x8f\\x10\\x49\\xdd\\x22\\xe2\\x5c\\x7b\\xdf\\xc0\\xbc\\xd1\\x12\\x21\\xc1\\x62\\xd7\\xfe\\x60\\x7c\\xf8\\x7d\\x23\\x1e\\x1e\\x5a\\x30\\xe3\\x9d\\x54\\x91\\xfb\\x16\\x8b\\x2d\\x2a\\x28\\x77\\xc8\\xc0\\xc1\\x6a\\xe8\\xf4\\xbd\\xe8\\x6f\\xca\\xf3\\x06\\xb9\\x74\\x94\\x59\\x12\\xda\\x96\\x7b\\xfc\\x91\\xaa\\xb9\\x23\\xc7\\x4d\\xf8\\x7d\\xf3\\x57\\x93\\xd1\\x5d\\x41\\xa4\\xfa\\xb8\\xe1\\x43\\xc6\\x3e\\x10\\xf2\\x59\\x48\\x27\\xb1\\x4d\\x7c\\x9b\\x20\\x3b\\x8c\\x18\\x75\\xef\\xc0\\xe8\\x6b\\x95\\xf3\\x45\\x3c\\xd5\\x79\\x3e\\x61\\xe4\\xc0\\x09\\xa3\\xcb\\xe8\\x76\\x74\\xa9\\x97\\x18\\xef\\x7e\\x60\\xe0\\xc8\\x21\\xa5\\xdb\\x3f\\x7e\\x51\\x6c\\xcf\\x5c\\x11\\x29\\x75\\x7c\\xf4\\xa8\\xbc\\x71\\x6d\\x96\\xf6\\x2c\\x23\\xb6\\x57\\x0e\\x8a\\xe4\\x56\\x1b\\x3d\\x76\\xc8\\xe8\\x1b\\xd9\\x17\\xf0\\xbf\\xd1\\x68\\x08\\x4b\\xb5\\xb8\\xd3\\x44\\x76\\x2d\\xeb\\x7b\\x6c\\x40\\x58\\xd3\\xdf\\x34\\x97\\x49\\x93\\xc8\\xa7\\xcf\\xc5\\xb6\\x2b\\x6e\\x6f\\xa4\\xdc\\x28\\x0a\\xf9\\x26\\xa8\\x99\\xe8\\x62\\x3e\\x54\\x96\\x00\\xbf\\x9d\\xcd\\x7d\\x5d\\xa4\\x55\\xc8\\xb2\\x1b\\x29\\x7f\\x7e\\x16\\xf2\\x8d\\x0c\\x96\\x68\\x29\\xf1\\x13\\x12\\x6b\\xca\\x84\\xc4\\xaa\\x1e\\xd2\\x8b\\x67\\x0e\\xac\\x84\\x4b\\x8a\\xf4\\x15\\xd1\\x63\\xf4\\x5e\\xe4\\x4a\\x89\\x6e\\xfb\\x4e\\xdb\\x22\\x76\\x11\\xfb\\x2b\\xf6\\x34\\xa9\\xa2\\x62\\xac\\xf6\\x1e\\xfd\\x90\\x0c\\xd5\\x22\\x83\\xec\\x5a\\x29\\xa7\\x4d\\xd3\\xb4\\x60\\xcd\\x76\\x4a\\x42\\x8c\\x6e\\x32\\xc1\\x40\\x6d\\x9c\\xa9\\xbb\\x4e\\x8b\\x9e\\xad\\xb8\\x72\\x1b\\x37\\xec\\x5f\\xf8\\xba\\xab\\x34\\x67\\x73\\xb5\\x3a\\x47\\xd4\\x47\\x27\\x7f\\x27\\xa6\\xc6\\xf6\\x69\\x26\\x13\\x52\\xc6\\x11\\xf0\\x44\\x4b\\x0f\\x60\\x99\\x74\\xd5\\x3f\\x91\\xaf\\x6d\\x79\\xd2\\xc2\\x96\\x67\\xfc\\xe6\\x8c\\x95\\xd1\\xf6\\x3d\\x52\\x47\\x15\\xca\\x6e\\x9e\\x75\\xd0\\x96\\x19\\x9d\\xf4\\x58\\xc9\\xb2\\xad\\x90\\xc9\\x5a\\xba\\x71\\x91\\xbe\\x46\\x8c\\xab\\xcd\\xf5\\x5a\\xc6\\x64\\x82\\x38\\xc6\\x9d\\xa2\\x0d\\xa7\\xfd\\x96\\x36\\x0a\\x0c\\x00\\x73\\x40\\x0c\\x48\\x65\\x4c\\x36\\x28\\x8f\\x8e\\x49\\x60\\xa2\\xd5\\x9e\\x96\\x8d\\xce\\xfd\\xf2\\x82\\x7d\\x8f\\x71\\x14\\x7b\\x55\\xc1\\x60\\xab\\xed\\x2d\\x55\\x79\\x56\\xd5\\x91\\xee\\xbf\\xc7\\x56\\x55\\x74\\x54\\x34\\xaf\\xad\\xfe\\x65\\x96\\xac\\xff\\x79\\xef\\x5b\\x72\\x5c\\x57\\xe4\\xf9\\x3c\\xae\\x1f\\xe2\\x7a\\xb9\\x73\\x36\\xba\\x7b\\x1b\\x6f\\x70\\xbd\\xc2\\x76\\xda\\x38\\x48\\x1c\\x1f\\xa3\\x6b\\x14\\x6d\\x0f\\xec\\xe3\\xb7\\x31\\x43\\x5b\\xa6\\xf0\\x5d\\x42\\x18\\x97\\x40\\xeb\\xa1\\x6d\\x6c\\xb6\\x66\\xdc\\x8c\\xf9\\xd3\\xec\\x67\\x0c\\x30\\x4c\\x1f\\xac\\x6b\\xf8\\x49\\xb0\\xe4\\x4f\\x9b\\xf2\\xc6\\x17\\xb4\\x4d\\xf4\\x58\\x6b\\x7c\\x79\\xc6\\xf5\\xe6\\xde\\xe4\\xe4\\x01\\xfc\\xba\\x17\\x1b\\x6f\\x81\\xe5\\x36\\x31\\xae\\x22\\x53\\x56\\x6b\\x26\\x1f\\xe9\\xb1\\xc6\\x10\\xec\\x3f\\x18\\xe0\\xde\\xe4\\xaa\\x13\\x32\\xfb\\x69\\xdb\\x81\\x6a\\xc8\\x6c\\xe5\\xfe\\x28\\xcf\\x9e\\xb4\\x9f\\x95\\xe6\\xda\\x55\\xc9\\xb5\\x9e\\xad\\x90\\x8e\\x26\\xf7\\x66\\x9f\\x6d\\xb8\\xf1\\x93\\x9e\\x26\\x1f\\xd8\\x06\\xcb\\xdd\\xf4\\xb5\\x05\\x39\\xc0\\xb0\\x2d\\x34\\x0e\\x21\\x3b\\x8c\\xeb\\x0f\\x40\\x16\\x18\\xa4\\x5d\\x94\\xa1\\xf4\\x25\\x39\\x56\\xc8\\xa0\\x00\\x1e\\xc0\\xc7\\x4a\\x7e\\xde\\xff\\x8a\\x20\\x31\\x5e\\x83\\xc3\\xee\\x26\\xb7\\x25\\x61\\xe6\\xa1\\x24\\x90\\x29\\x5f\\x9c\\x87\\x3b\\x81\\xaf\\x53\\x68\\x13\\xac\\x5c\\x94\\x04\\xb9\\x08\\xe4\\x37\\xc1\\xe2\\xfd\\x6f\\x00\\xbf\\x77\\x59\\xb9\\xb8\\x03\\xfe\\x3c\\x58\\x88\\x31\\x5b\\x2b\\x57\\x37\\xf3\\x70\\x07\\x06\\x4b\\x1b\\xda\\xbb\\xac\\x5c\\x94\\x84\\x99\\x8b\\xd3\\xc6\\xe7\\xb4\\x1f\\x98\\xb1\\x9a\\xf6\\xfe\\xda\\xe2\\x3f\\xf6\\xfe\\x43\\x5b\\xd5\\x7e\\x41\\x1a\\x9b\\xf1\\x9b\\x3e\\x58\\xf1\\x98\\xfd\\xff\\xa5\\xb5\\x78\\xa1\\xa6\\xfe\\xa9\\x0d\\xd4\\x77\\x42\\x71\\xeb\\xe7\\xd9\\xf8\\x39\\xc0\\x77\\xc2\\xad\\xd6\\xf8\\x1e\\x7c\\x5d\\x7c\\xef\\x68\\x69\\xe9\\x37\\xf9\\xac\\x68\\xd6\\xa9\\x35\\xde\\x7f\\x6f\\x72\\x53\\x35\\xc0\\x95\\xa9\\xeb\\xb2\\xd9\\xea\\xc9\\xfe\\x7b\\xfd\\x88\\xd9\\x1a\\x97\\x78\\xee\\xb8\\xd3\\xf6\\xcd\\x76\\xb9\\x04\\xd9\\xf7\\xf9\\xaf\\xfd\\x7e\\x16\\xc7\\x71\\xab\\x65\\xf1\\xbb\\x8f\\xb9\\x66\\xf2\\x51\\xd5\\x9c\\x07\\xfe\\xd6\\xf8\\xf1\\xe6\\xbd\\x39\\x2f\\x99\\x1b\\xff\\xd4\\x9a\\x73\\x96\\x3a\\x35\\x73\\x39\\x0f\\x9f\\x7a\\x07\\xee\\x2b\\x99\\xf5\\x62\\xe6\\xec\\x7f\\x6d\\xcd\\xf9\\x6e\\xce\\x39\\x6b\\xbe\\x93\\x67\\xda\\x39\\xe6\\xbc\\x37\\xe7\\xde\\x9d\\x6d\\x80\\x93\\x04\\x47\\x7f\\xc9\\xb6\\x2f\\x0b\\xc4\\xba\\xec\\x66\\xec\\x89\\x25\\x72\\x5d\\xde\\x71\\x37\\x32\\xbd\\x59\\xe3\\xcc\\x7a\\x2b\\x30\\xae\\x73\\x1d\\x65\\xbf\\x2e\\xc3\\xed\\x55\\xa5\\x25\\xfa\\x14\\x72\\x5f\\x59\\x5c\\xfc\\x2e\\x6b\\x9c\\x13\\x6e\\xe6\\x29\\xa4\\x38\\x0f\\x5c\\xeb\\xa6\\x3f\\xce\\xf6\\xd2\\x96\\x1a\\x93\\x62\\x2e\\x1d\\x6b\\x58\\xb7\\x06\\x88\\xc7\\xd9\\x44\\xee\\xb3\\x7f\\x2b\\x9d\\xed\\x17\\x25\\xdb\\x5c\\x4f\\x02\\xf3\\xad\\xb1\\x95\\xbf\\x4d\\xc6\\x21\\xed\\x3b\\x79\\x09\\x3e\\x6c\\x8c\\x6b\\x13\\x58\\x5f\\xe6\\x39\\x26\\x30\\x97\\xd6\\x4b\\xa6\\xc3\\x23\\x83\\xb0\\xf3\\x88\\x7d\\xb3\\x3f\\xe6\\x40\\x7c\\x27\\x68\\xff\\x0d\\xae\\xd9\\x1a\\x50\\xd3\\x0d\\x8c\\xc5\\x81\\xf5\\xd9\\xae\\x5f\\x33\\x7d\\x91\\x14\\xdb\\x65\\xa3\\x90\\x75\\x66\\x89\\x7e\\x5d\\x56\\xda\\xde\\x95\\x1e\\xe6\\x3b\\x20\\x84\\xf8\\x83\\xf1\\x39\\x88\\x38\\x83\\xf1\\xc1\\x59\\x19\\xff\\xc7\\x4a\\x42\\x48\\x63\\xfa\\xc4\\xba\\x4f\\x28\\x9e\\x23\\x37\\x6b\\x2f\\x50\\x03\\xff\\x6b\\x8e\\xfc\\x9c\\xde\\x3e\\xdf\\xcc\\xf5\\xc6\\x9c\\xf3\\x81\\x79\\x50\\x74\\xdb\\x7c\\xc8\\xfb\\x6b\\xdd\\x59\\xb1\\x35\\x30\\x16\\x98\\xb5\\x5e\\xd2\\xe7\\xe2\\x71\\x41\\xed\\xe0\\xef\\x31\\xe3\\xc8\\xad\\x5a\\xfe\\x8b\\x1d\\x33\\xf7\\x77\\xfd\\x65\\xde\\xdf\\x31\\x5f\\xd1\\xff\\x21\\x98\\x75\\x67\\xac\\x25\\x62\\x2e\\x51\\xef\\xfe\\xb5\\xee\\xb6\\x98\\x6f\\xaf\\xef\\xde\\xb6\\x57\\x8d\\x7c\\x5b\\x0d\\xe3\\xd9\\x9b\\x7e\\x2d\\xc3\\x97\\x5e\\xcc\\x9b\\xd2\\x52\\x0f\\x34\\x28\\xce\\xdd\\x9d\\xfe\\xfc\\xd3\\xbc\\xbb\\xe9\\x47\\xa0\\xde\\xf5\\x57\\x8d\\x01\\x8e\\x76\\xc4\\x56\\xd6\\xd8\\x6e\\x72\\xe3\\x7c\\x5d\\x5a\\x3a\\x17\\x49\\xf3\\xc0\\xfb\\x95\\x7a\\xe6\\xbd\\x77\\x5a\\x92\\x41\\x4b\\xf4\\x2a\\xcb\\x56\\x0d\\x19\\xab\\x9f\\xb4\\x64\\x2e\\x21\\x13\\xc4\\xfb\\xf2\\x4d\\xbf\\x5d\\xa3\\x63\\xf1\\x7a\\x42\\x8d\\x99\\x76\\x9a\\x20\\x73\\x8a\\x79\\x7d\\x95\\xe7\\xdd\\xad\\x5a\\x33\\xf7\\x0b\\xfe\\x35\\x38\\x29\\xb0\\x9e\\xf3\\xae\\x37\\xd6\\x05\\xfa\\x1a\\x07\\xd6\\x20\\x0f\\x75\\xdd\\x48\\x3f\\x2c\\x95\\x6c\\xd1\\x52\\xca\\xde\\xd7\\xf8\\xd1\\xf6\\x9c\\xb4\\xe0\\x1d\\x9c\\xe3\\x7f\\xbf\\x82\\x5d\\xd6\\xfa\\x3e\\xd4\\xf6\\x99\\x98\\xfe\\x65\\x05\\xd6\\x74\\x73\\x9d\\xfb\\x05\\xde\\x5b\\xe9\\xcd\\x8d\\x73\\x5c\\x7f\\xae\\x4d\\x37\\x7e\\xe7\\xde\\x6e\\xdb\\x21\\xe1\\xe4\\x31\\x33\\x00\\x64\\x7d\\x97\\x2c\\x3e\\x53\\xa5\\x96\\xc5\\xcb\\x21\\xf1\\x3a\\xde\\x95\\x74\\x47\\x98\\x34\\xc3\\xdf\\x65\\x25\\xf0\\x39\\x79\\x0a\\x31\\x73\\x05\\x7a\\xdb\\xd6\\x8b\\xdb\\x42\\x9e\\xb1\\x5b\\x7b\\xc6\\xf7\\x87\\x85\\x65\\x92\\x66\\xcb\\x30\\xfa\\xe2\\xdf\\x05\\xae\\x13\\xf1\\xef\\xbc\\xed\\x0f\\x69\\x66\\x7b\\x5f\\xee\\x43\\x6e\\x91\\x23\\xdd\\x9a\\x4b\\xcb\\x6d\\x0f\\xc8\\x68\\x8b\\xbf\\x67\\x99\\x6b\\xd4\\x22\\xd8\\x66\\xd3\\xa4\\x17\\xc8\\xb5\\x69\\xc6\\x11\\xe2\\xa9\\x62\\xe5\\xe7\\x2a\\x3a\\x9e\\x93\\x2a\\x56\\x8c\\xac\\xb7\\x7a\\x4b\\x23\\xc3\\xe4\\x48\\x7f\\x45\\x6a\\x98\\x9c\\x22\\xfb\\x3e\\x63\\x4a\\x31\\xbf\\x1a\\x3b\\x1f\\x95\\x3a\\xc1\\xcf\\x51\\xc7\\x8f\\xe3\\xdb\\x8b\\xd2\\xdb\\xb1\\x41\\xba\\x39\\xcc\\xba\\xae\\x4f\\x6c\\x1d\\x0c\\xc3\\xd6\\x06\\x9e\\x1f\\x63\\x5d\\xfc\\xb7\\xa4\\x9b\\xd0\\x1b\\x89\\x07\\xb4\\x54\\xb3\\x8c\\xad\\x5a\\x53\\x69\\x07\\xaa\\x69\\x4d\\xad\\x7d\\x41\\x3b\\xdb\\x68\\x79\\x46\\x6f\\x26\\xc9\\xe6\\x1e\\x8e\\xbd\\xdd\\x6e\\x78\\xfb\\x20\\x00\\x1f\\x7b\\x9e\\x7b\\x4d\\xe8\\x4e\\x99\\x09\\x5e\\x0d\\xec\\xc9\\x4c\\x54\\x05\\xec\\x89\\xa4\\x13\\x78\\x0e\\x99\\x69\\xb4\\x4b\\xcd\\x7d\\x85\\xb9\\x4f\\xa2\\x7d\\x1f\\x5e\\xa6\\xd3\\x56\\xa4\\x35\\x6b\\xba\\x1b\\xfd\\x09\\xb4\\x9f\\x81\\xf7\\xc0\\x03\\x60\\x0a\\x78\\x8c\\xe7\\x05\\xb4\\x8b\\x78\\xce\\xfe\\x51\\x4e\\x03\\x73\\x4f\\xd2\\xda\\x5c\\xe7\\x81\\xb9\\xef\\x19\\xa3\\x37\\x97\\x67\\xd5\\x28\\xf6\\x2e\\xd7\\x88\\x23\\x55\\xca\\xe1\\xcb\\xf3\\x7a\\xb8\\xbc\\x70\\x27\\xac\\x3d\\x8c\\x1f\\x2f\\x82\\x04\\x9b\\xc8\\xbf\\x68\\x1b\\x82\\xca\\xa0\\x33\\x30\\xf7\\x40\\x75\\xfc\\x32\\x70\\xb1\\xcc\\x78\\x0a\\x74\\xe5\\xfe\\x5d\\xec\\x7b\\x02\\xbe\\xb3\\xff\\x34\\x7e\\xd3\\x6b\\x1b\\xf9\\xe0\\x2d\\xae\\x39\\xc7\\xf8\\xbe\\x10\\x31\\xd8\\x79\\xfb\\xd6\\x89\\xdc\\xf0\\x72\\x7d\\x3f\\xd7\\x8f\\xd0\\xea\\xfe\\xdd\\xbf\\xd1\\x8c\\xfb\\xc6\\xb4\\xc7\\x01\\x66\\x8d\\x0e\\xf4\\x03\\xe3\\x1d\\xc0\\xd9\\xc2\\x60\\x07\\x67\\x54\\x04\\x6f\\x81\\xa5\\xe0\\x23\\x70\\x11\\x30\\xd6\\xc7\\x39\\xc8\\xf7\\x03\\xd7\\x6c\\xb7\\x8d\\x3a\\x80\\x73\\x85\\xc1\\xce\\xdf\\xf7\\x35\\x38\\x0a\\x4e\\x8b\\x14\\x21\\x5f\\xf4\\x0d\\xd7\\x7f\\xf2\\x2c\\x83\\xb6\\x66\\xe0\\x39\\xf6\\x7c\\xf3\\xfc\\x7e\\x19\\x5d\\x69\\x2b\\x83\\x56\\xa0\\x36\\xf2\\x27\\x68\\xb1\\x5d\\x74\\x83\\x36\\x0a\\x64\\x71\\xed\\xa1\\xed\\x06\\x38\\xfb\\xf8\\x16\\x71\\xff\\x06\\x6d\\x08\\x78\\x85\\xf1\\x4d\\x68\\x6b\\x81\\x43\\xa0\\x3d\\xf7\\xb4\\x52\\x97\\xeb\\x31\\x5c\\x3f\\x07\\xd6\\x80\\xb2\\xfe\\x18\\x7c\\x7b\\x68\\x63\\x00\\x31\\x17\\x3d\\x1d\\xf0\\xc3\\x8c\\xa1\\x5e\\x40\\x96\\x38\\x7c\\x9c\\x07\\x7d\\xe7\\xe1\\x8b\\x73\\x93\\x84\\x81\\x2a\\xf4\\x3f\\x44\\xdf\\x36\\xb0\\x2b\\x10\\x23\\x76\\xa4\\x06\\x68\\xce\\xf5\\x29\\xd0\\xc2\\xcf\\xa1\\xef\\x6e\\xda\\x87\\x69\\xb7\\xfb\\x39\\x30\\x5e\\xf2\\x9f\\x44\\x8c\\x4f\\xb8\\xdf\\x04\\xce\\x71\\xfd\\x26\\xed\\x66\\xbf\\x0d\\xdf\\x97\\xe0\\x24\\x78\\x1f\\x7f\\x7e\\xe4\\x59\\x0a\\x20\\x3e\\x83\\x13\\x95\\x6f\\x16\\x79\\xad\\x49\\x1e\\x7f\\x36\\x6b\\x29\\x70\\xce\\x30\\xd7\\x91\\x18\\xf3\\x9c\\x01\\x5e\\xe6\\xd9\\x6e\\x73\\xed\\xe3\\x7a\\x83\\xe3\\x88\\xbc\\xec\\xf4\\xc8\\xcb\\xfa\\x3e\\x79\\xd9\\xb1\\x4d\\xd2\\x9d\\x63\\x64\\xb7\\x63\\x8f\\x91\\xef\\xdf\\xc7\\xfa\\xcf\\x1f\\xb6\\xef\\xb8\\x1e\\x60\\x6c\\xf5\\xef\\x4f\\x8d\\x83\\xc5\\x7b\\xdb\\xc0\\x5e\\xb7\\xaa\\xb9\\x36\\x16\\x9f\\x3d\\xec\\x2d\\x8d\\x3f\\xac\\x73\\xc7\\x87\\x81\\xf3\\x0a\\xef\\x69\\xeb\\xec\\xc1\\x5a\\xec\\x98\\x2f\\x39\\xe6\\xb9\\xc3\\xf1\\xba\\x2c\\x73\\x78\\x8c\\x53\\xd6\\x78\\x73\\x2f\\x72\\x95\\x39\\x6b\\xae\\x83\\xa7\\x25\\xd1\\x5c\\xd7\\x58\\x53\\x86\\x9a\\x7d\\xb6\\xdf\\x8d\\xc3\\xf8\\x3d\\xc2\\x56\\x20\\x0d\\xcd\\xe7\\xfa\\x4f\\x52\\xc7\\x94\\xb1\\x3d\\x28\\x23\\x2c\\xb9\\x27\\xb9\\xce\\x33\\x96\\xd8\\xbe\\xb0\\xf6\\xf6\\xf7\\xeb\\x2f\\x5b\\xcf\\x3d\\xf6\\xd5\\x3c\\x3b\\x46\\x5f\\x4b\\xe9\\x64\\xef\\x2a\\x5e\\xbd\\x0d\\xba\\xd0\\x69\\x7f\\x5d\\xbc\\xb6\\xd7\\x8c\\x4e\\x8e\\x14\\xf6\\xfa\\xef\\x32\\x4f\\x8a\\x6d\\x99\\xef\\x4e\\x5a\\xb3\\xcf\\xf6\\x2f\\xce\\x37\\xef\\x1b\\xbf\\xd8\\x8b\\xe0\\xe5\\x67\\x79\\xc7\\x6c\\x59\\x2f\\x5b\\xf3\\xac\\x85\\xfd\\x7e\\xe3\\x78\\x89\\x77\\xdc\\x2c\\xf3\\x3d\\x60\\xed\\x17\\xb7\\x19\\x47\\x1c\\xba\\xd4\\xb3\\x35\\x15\\x97\\x63\\x94\\x4c\\xc7\\xdf\\x37\\x9d\\xed\\x8d\\x7f\\x3b\\x63\\x8d\\xf7\\xec\\xfd\\x64\\xaa\\x15\\xff\\x32\\xe3\\xa4\\xed\\x4b\\x63\\x0d\\xf1\\x26\\x81\\x7a\\xd6\\x1e\\xe9\\xb0\\xc4\\xda\\xbf\\x93\\x2e\\xb6\\xc5\\xac\\xa3\\x65\\x24\\x4d\\x9f\\x2e\\x3d\\xb0\\xf1\\xb5\\xed\\x67\\xde\\x45\\xfe\\xf7\\xac\\xc5\\x33\\x7b\\x3f\\x8f\\x7e\\xc4\\x38\\x1f\\xe0\\xff\\x73\\xf3\\x9d\\x05\\xdf\\x2e\\xfb\\x05\\xe3\\x38\\x71\\x66\\x70\\x1f\\x1d\\x38\\x23\\x46\\x17\\x9f\\x49\\x9c\\xe5\\x64\\x9e\\xed\\x7b\\xae\\xb7\\x5a\\x67\\xc1\\x8a\\xc5\\x67\\x13\\xd3\\xe7\\xa0\\x6d\\xc6\\xe3\\x41\\xbd\\x25\\xd1\\x71\\x18\\x99\\x0b\\xc8\\x6c\\x03\\xc3\\xa5\\x21\\xad\\xb5\\x27\\xb0\\x07\\x72\\x69\\x8d\\xdf\\x63\\x8c\\xb2\\xf4\\x0d\\x37\\x96\\xe1\\x73\\x8c\\x25\\x0b\\xac\\x71\\x8f\\x1a\\x8f\\xdf\\x76\\xe6\\xdc\\x16\\x38\\x13\\xed\\xb1\\x38\\x9a\\x67\\xea\\xe4\\x1d\\xd9\\xc5\\x3a\\x6b\\x1e\\xa1\\x7f\\x99\\xac\\x72\\xd2\\x3a\\xd1\\x4b\\xdd\\x3d\\x6f\\xee\\x9d\\x2c\\x5b\\x5b\\xe5\\x2e\\xfc\\x49\\xb0\\x1f\\xb1\\xf2\\x1d\\x62\\xbb\\x22\\xfd\\x78\\x27\\x54\\x63\\x5d\\xaf\\x62\\xfb\\x45\\x9a\\x5a\\xef\\xca\\x33\\xe4\\x99\\xf7\\xe4\\xcd\\xf3\\x4a\\x19\\x7c\\xb8\\x66\\xac\\xe4\\xbc\\x91\\x60\\x3b\\x72\\xf3\\xac\\x93\\x60\\x9d\\x3b\\x91\\xb7\\xde\\x7f\\xe6\\xde\\x32\\xca\\xac\\x7d\\xe3\\x2d\\x7b\\x32\\x63\\x58\\x6b\\xad\\x77\\xe3\\x44\\xf6\\x20\\x6f\\x4b\\x67\\x7c\\x48\\xb2\\x6d\\x05\\xc3\\x24\\xdc\\x61\\xea\\x59\\x6f\\xbc\\x79\\xf3\\x5c\\x85\\x2e\\x1d\\x3e\\x6c\\xd3\\xac\\xfb\\xf2\\xb7\\xce\\x58\\xec\\x1f\\xb6\\x19\\x2b\\x99\\x33\\x89\\x96\\xbd\\x32\\xd6\\x9e\\x25\\x70\\x7e\\x92\\xcc\\x90\\x7e\\xf2\\xa8\\xa3\\xb1\\xf4\\x71\\x3c\\x27\\x03\\x1c\\x7b\\x38\\x13\\xef\\x20\\xd6\\x21\\xe6\\x5e\\xdf\\xd4\\x6d\\x2c\\x71\\xe6\\x72\\x7f\\x9f\\x84\\x39\\x1e\\x36\\x7e\\x74\\x38\\xa5\\x6c\\x10\\x6b\\xbe\\xf3\\x0b\\xa9\\x66\\xaf\\x6a\\xec\\xb1\\x45\\x1b\\xfb\\x99\\x1b\\xe7\\xa8\\xcf\\x2d\\x37\\xf7\\x32\\x19\\xb2\\x94\\x3c\\x8c\\x2a\\x6e\\x83\\xcb\\xcb\\x40\\xe7\\x57\\xd4\\xe3\\x1b\\xd2\\x92\\xf7\\xba\\x0b\\x7b\\x63\\x9d\\x2d\\xa5\\x63\\xb1\\x5d\\x8b\\x7b\\x4d\\xe2\\x6d\\x2b\\x0c\\xd6\\x41\\xa3\\x1d\\x48\\x66\\x21\\x71\\x01\\xa7\\x7f\\xbd\\xb9\\xc1\\x5a\\x71\\x63\\xb8\\x95\\x43\\x73\\x2f\\x66\\xee\\xed\\xb7\\x5a\\x35\\x59\\xd5\\xe2\\xee\\x15\\xea\\x79\\x0b\\x71\\x7d\\xcf\\x7b\\x67\\x9b\\x38\\xed\\x99\\x5c\\xbf\\x26\\xf1\\x56\\xfe\\xc9\\x81\\x59\\x03\\x56\\x1e\\xc8\\xbf\\x15\\xfb\\x1d\\xad\\xc3\\x25\\xcf\\xda\\xce\\x31\\xcf\\xcd\\xfa\\x21\\x2f\\x8e\\xeb\\xc4\\x36\\x47\\x12\\x83\\x7e\\x92\\x24\\x67\\x47\\xce\\x0f\\xfb\\x99\\x6f\\x8f\\xdf\\x3a\\x33\\x9a\\x75\\xe2\\xcf\\x95\\xbc\\x63\\x7e\\x36\\x00\\x7a\\x03\\xcd\\xac\\x19\\x33\\x6f\\x8e\\x6b\\xf2\\x84\\xfd\\x3d\\x19\\x82\\x9f\\x2b\\xcc\\xfc\\x99\\x35\\x14\\x68\\x6b\\x58\\xe7\\x85\\x53\\xd4\\x64\\xaa\\x71\\x2d\\xd0\\xfe\\x61\\xd6\\xf8\\x4d\\x5f\\x33\\xf0\\xe1\\x1d\\x7f\\x9d\\x5a\\xb5\\xb2\\x87\\x31\\x47\\x44\\x2f\\xf6\\xad\\x58\\x97\\x55\\xc3\\x17\\xfc\\xf9\\xfd\\xa7\\x3d\\xf8\\xcd\\x3d\\x30\\xe7\\x9b\\x92\\xed\\x5f\\x78\\x39\\x6d\\xfc\\x60\\xee\\x7b\\x6e\\xf2\\x1b\\x68\\xff\\x71\\x8f\\x4a\\xed\\x9b\\xf5\\x67\\xce\\x15\\xeb\\x6c\\x76\\x67\\x1b\\xf0\\xd1\\x9c\\x8b\\xe4\\x23\\xde\\x9c\\x33\\x56\\xdd\\x7e\\x6f\\x2c\\x64\\xdd\\x79\\xbe\\x98\\xa7\\x5b\\x2d\\xf3\\x85\\xbd\\x91\\xf3\\xa8\\x34\\x75\\x8e\\x97\\xb6\\xce\\xe3\\xb2\\xd4\\xf1\\xb1\\x4c\\xc1\\xbf\\xe1\\xf8\\xd7\\x32\\x28\\xc4\\xd8\\xec\\x9c\\x6e\\x6c\\x0f\\xea\\x02\\x4f\\xc3\\xa4\\x96\\xe5\\x07\\x7b\\x30\\x47\\x9a\\xcc\\x0b\\x7e\\x93\\xf8\\x59\\x97\\xcc\\xb5\\xb6\\x98\\xb3\\x80\\x9f\\x4d\\x8a\\xcf\\x90\\xfe\\xf7\\x2f\\x5b\\x64\\x91\\x32\\xb4\\xe1\\xc0\\x7c\\xa7\\x9b\\xef\\x3c\\xde\\xa5\\x06\\xcf\\x8c\\x69\\x20\\x8f\\xbe\\x85\\xf4\\xbd\\xe1\\x87\\x71\\x0f\\xf7\\xfb\\xb8\\x06\\x86\\x8f\\xeb\\x1d\\xe0\\xd5\\xc0\\xbb\\xd7\\xdc\\x6f\\xb0\\x17\\xf0\\xed\\xe7\\x79\\x22\\xed\\x59\\xff\\x73\\x49\\x40\\xf6\\x7b\\xbf\\x3e\\xdf\\x50\\xff\\x38\\x03\\x9b\\x3e\\x53\\xd7\\x48\\x3f\\x8c\\xf2\\xb4\\x4b\\xfc\\xef\\x57\\x53\\xbf\\x65\\x63\\xbc\\x1f\\xd6\\x3b\\xde\\xdc\\xc7\\xb8\\xd8\\x2b\\x31\\x56\\xa2\\x6c\\xd3\\x54\\xb3\\xe2\\xe7\\xe6\\x67\\x40\\xb4\\x4f\\xf1\\x3c\\x44\\xef\\x2f\\x69\\xb4\\x6f\\xd8\\xc7\\x1b\\x5f\\xdb\\x5d\\xc6\\x45\\xd6\\xda\\xe3\\xb6\\xb7\\xe5\\x71\\x7b\\xae\\x64\\x68\\xc3\\xd8\\x3f\\x5e\\x94\\x31\\xf6\\x57\\xa4\\x9d\\x7d\\x9a\\xcc\\xe6\\x7e\\xa3\\x6d\\xa1\\xfc\\xcb\\x36\\xd2\\xf8\\x9e\\xfd\\x6b\\x17\\xfb\\x0e\\xfa\\x0f\\x18\\x27\\xb4\\x61\\xc6\\x0d\\x3d\\xcf\\xf8\\xce\\xfe\\x02\\xcf\\x7e\\x31\\x36\\xdb\\x87\\x72\\x0e\\x6d\\xc8\\x9e\\x39\\x57\\x5e\\xb0\\x9d\\x34\\xae\\xd8\\x9b\\x18\\x37\\xcc\\x71\\x8e\\x31\\xb2\\xd9\\xfe\\xa1\\xf1\\x25\\xf5\\xd7\\x0e\\x6c\\x34\\xa1\\x7b\\x54\\xba\\xcd\\x07\\xb6\\x18\\x8b\\x1d\\x0d\\x8c\\x17\\xa9\\xb7\\x8e\\xb6\\x5f\\x8d\\x22\\x6b\\x7e\\x1c\\xe7\\x7c\\x7d\\x5c\\x9c\\xfa\\x79\\x5a\\xea\\x8b\\xf5\\xe7\\x08\\xe4\\x47\\x9a\\xef\\x3e\\xfd\\x3b\\x6a\\xd9\\x5c\\xb7\\xb6\\x10\\xdb\\x69\\xff\\x3b\\x9e\\xb6\\x8e\\xf5\\x79\\xe3\\x69\\x49\\x25\\x67\\x49\\xb6\\x57\\xf1\\xe1\\xb4\\xb4\\xb5\\x9e\\x2f\\x35\\xf7\\xf5\\xac\\x43\\xeb\\xa9\\xa5\\xe5\\x32\\x20\\xf0\\xee\\xeb\\x61\\xff\\x4a\\x6a\\xd2\\xe6\\xde\\xfc\\x6c\\xce\\xfc\\x3c\\xa0\\x81\\x44\\xea\\xbf\\xa0\\xfb\\xa2\\xf1\\x11\\x75\\x67\\xbe\\x67\\x17\\x59\\xeb\\x1d\\x3a\\x58\\x9f\\xe6\\x9b\\xb5\\x61\\x8b\\x62\\x5e\\x9c\\x90\\x9a\\xfa\\x0d\\xde\\x51\\x37\\xd8\\xe3\\x97\\x92\\xbe\\xfa\\x31\\x0b\\xf7\\xd8\\x1a\\xcb\\x34\\xfa\\xba\\xab\\x55\\xd2\\x47\\xd7\\xa8\\xc9\\x08\\x79\\x40\\xcf\\x96\\x21\\xb6\\x45\\xd2\\x5f\\xff\\x5d\\x7a\\xf1\\xac\\x8f\\x6d\\xa0\\xcc\\xe6\\x9c\\xfd\\x92\\xfe\\x0e\\xe7\\xfb\\x16\\xf2\\xa8\\xde\\x5d\\x16\\x30\\x76\\x0a\\xbc\\xef\\xd5\\xcb\\x4a\\x0b\\x30\\x96\\xbd\\x70\\x3f\\xdb\\x19\\x99\\xa2\\xf7\\x90\\x1e\\xa0\\x2f\\xfb\\xe1\\x51\\x26\\xb4\\xb9\\xbc\\x1f\\xe7\\xb2\\x27\\xe8\\x29\\xf5\\x55\\x7f\\x7c\\x2d\\x23\\x9d\\x6c\\xdb\\xa5\\xad\\x9e\\x2e\\xcd\\xf5\\x61\\xec\\xa1\\x9b\\x4a\\x6f\\xab\\x1d\\x26\\xd9\\x7a\\x3f\\x49\\x60\\xbf\\x3f\\x91\\x33\\xc1\\x20\\xd0\\x1f\\xb9\\xb1\\x7a\\x03\\xce\\xf8\\x63\\xa5\\x8a\\x9e\\x0b\\x8f\\x31\\x32\\x47\\x1f\\x2e\\xc3\\xf5\\x8b\\x92\\xab\\xd7\\x30\\xbe\\x54\\xfd\\x8d\\x83\\x9c\\x17\\xbe\\xd3\\x1b\\x19\\x57\\x90\\xab\\xad\\xe7\\x1a\\xeb\\x91\\x71\\xe9\\x3d\\x38\\x43\\x5c\\x14\\x1b\\x32\\x7d\\x9d\\x99\\x32\\x36\\x70\\x1e\\x63\\xdf\\x6e\\xac\\xe0\\x5d\\x3f\\x8b\\xb9\\xff\\x22\\x08\\xe2\\x3c\\x35\\xc3\\x04\\x7c\\x3a\\x79\\xb6\\x21\\xf0\\xb9\\xc3\\xc7\\x7a\\x3d\\x69\\x64\\x6b\\x6e\\x2c\\x73\\x96\\x35\\x26\\xb2\\xd6\\x04\\x83\\x20\\x6b\\xcd\\x7d\\x9f\\xb3\\xdb\\x1f\\xc6\\xe9\\x12\\xfa\\xde\\xb4\\x1f\\xe4\\xfc\\x67\\x7d\\x46\\x62\\x3c\\x7b\\xeb\\x73\\x55\\xe3\\x0b\\xf4\\x2e\\x30\\xdf\\x47\\x7a\\x92\\x2f\\xdf\\xbf\\x5e\\x1a\\x6f\\x59\\xfa\\xfd\\x9f\\xd5\\x16\\x9f\\x2f\\x3d\\xfe\\x73\\xa5\\xb1\\x85\\x5c\\x57\\xb7\\x3e\\xd3\\xc9\\xe3\\xec\\xfb\\x0c\\x67\\x57\\xf3\\x5d\\xd5\\x80\\xb5\\xa3\\xb9\\xb4\\x87\\x23\\x93\\xa7\\x04\\x7d\\xbc\\x0c\\x34\\xb9\\x54\\xeb\\xa4\\xaf\\x5a\\x67\\x6c\\x83\\xd3\\xbb\\xe0\\xf1\\x71\\x78\\xad\\x05\\x9a\\x06\\x50\\x4b\\xab\\x6f\\x6c\\xa1\\x8d\\x87\\x9f\\x93\\x5a\\x16\\xf5\\xbb\\xdd\\x42\\xb6\\x9e\\x6e\\x3c\\x85\\xbc\\x57\\x1f\\x2d\\xdd\\xe1\\xfb\\x01\\x6a\\xe7\\x61\\xed\\x94\\x84\\xaa\\xf5\\xc6\\x8b\\xf0\\xde\\x1a\\xce\\x63\\xf5\\x09\\xe4\\xbf\\x91\\x8c\\x07\\xa3\\xe0\\x34\\x48\\x7b\\x55\\xa2\\xb4\\x57\\x8d\\xab\\xfa\\xab\\x12\\xa7\\x9d\\x67\\xce\\xb9\\xe5\\x19\\xe6\\xac\\xb9\\x97\\xad\\x66\\xce\\x59\\xc0\\xde\\xdd\\x30\\xe7\\x7d\\x39\\xff\\x3b\\xcc\\x98\\xee\\x3f\\x3f\\x18\\xa5\\xfd\\x7b\\x67\\xf3\\x7b\\x00\\x5f\\x89\\xcf\\x4c\\xfe\\xe1\\x73\\xba\\x12\\x9f\\x4d\\x5a\\x9f\\x49\\xfe\\xb7\\xf6\\x7f\\xfc\\xcc\\xd2\\xfa\\xdc\\x70\\x99\\x74\\xf8\\xa7\\xcf\\x28\\x4b\\x7c\\xc6\\xf2\\x9b\\x79\\x56\\xbe\\xf5\\xd9\\xa5\\x11\\xad\\xa5\\xfb\\xae\\x17\\x7f\\x76\\x52\\xfc\\x59\\xce\\x9d\\x6d\\xe0\\x73\\xc9\\x1f\\x02\\x6d\\x61\\xa0\\xf5\\xdb\\x4d\\xf7\\x5d\\x36\\xdf\\x59\\x66\\x5d\\xdc\\xd9\\xfe\\x07\\x1e\\xfe\\xe3\\x67\\x95\\x25\\x3e\\x33\\xa9\\x5a\\xfc\\x59\\x9b\\xd5\\xfe\\xf5\\xb3\\x9c\\x92\\x9f\\x65\\x7e\\xfd\\xdf\\x3e\\xc3\\xfc\\xcb\\x67\\x3d\\xb7\\xda\\x39\\xd4\\xb9\\x79\\x36\\x68\\x4b\\xfb\\xfc\\xff\\xfc\\x99\\x66\\x6f\\x31\\x3f\\x5f\\x79\\xa0\\xb8\\x2d\\x7e\\x2f\\xfd\\xb7\\xf6\\x6f\\xde\\x93\\x25\\x3f\\x17\\xfc\\xcb\\xe7\\xa0\\x56\\xae\\xf0\\x33\\xf0\\x5d\\xc5\\xf2\\xc0\\x67\\x7b\\x09\\xf6\\x4d\\x7f\\xdd\\x23\\xfc\\x5f\\x6f\\xff\\xc7\\x1a\\xfc\\xa7\\xb6\\xc4\\xe7\\xe1\\x3f\\x81\\x4b\\xff\\x2d\\xe7\\xff\\xd8\\x06\\x3e\\x87\\xfd\\x6f\\xed\\x9d\\x39\\xba\\xf9\\x19\\xec\\x7f\\x69\\x4b\\x7c\\x1e\\xfd\\xb7\\xad\\x75\\x06\\xfc\\x0f\\x28\\xfe\\x5e\\xc6\\xf1\\xab\\x78\\x41\\x2e\\x18\\x03\\x5e\\x02\\x87\\x4c\\x58\\x67\\xc6\\xbf\\x81\\xa3\\x0a\\xef\\xb0\\x2a\\xd2\\xde\\xb9\\x52\\x6a\\x81\\x4c\\xd0\\x02\\xe4\\x5a\\x67\\xcb\\xff\\x00\\xc7\\x1c\\x0b\\xed\\x83\\x5c\\x52\\x0b\\x64\\x06\\xda\\x5e\\xe0\\x45\\x13\\xe6\\x79\\x32\\x00\\x6f\\x89\\xeb\\x9b\\xd0\\x95\\xa4\\x82\\x5e\\xb6\\x79\\xd2\\x02\\xdc\\x1f\\x68\\x73\\xc1\\x8b\\x16\\xfe\\xee\\xfb\\x1a\\x33\\x0f\\x8b\\xa4\\x32\\xf0\\x06\\x21\\x0f\\xee\\x77\\xee\\xc3\\xef\\x7d\\xe8\\x31\\xdf\\xdf\\xff\\x01\\x8e\\xc7\\xa4\\x97\\x19\\x5f\\xd0\\x83\\xb2\\x81\\x76\\x82\\x79\\xbe\\xfd\\x8f\\x78\\x13\\x3b\\x6f\\x62\\xe7\\x45\\x0b\\xf7\\x3b\\x0f\\x60\\xe7\\x00\\x3a\\x0e\\xc8\\x18\\x13\\xc5\\xbc\\x17\\xf3\\x58\\xcc\\x4b\\x71\\x7c\\x37\\x7d\\x2e\\xb6\\x1f\\xd0\\xfb\\xff\\x35\\x8f\\xff\\x43\\x5e\\x2a\\x03\\xef\\x3f\\xe5\\xe5\\xff\\x30\\xee\\xdc\\x7f\\x8a\\xfb\\x3f\\xf9\\x5e\\x12\\xda\\x32\\x55\\x97\\xb5\\x63\\x74\\xa0\\x1d\\x01\\x16\\xff\\xad\\xdf\\x8f\\xc9\\x13\\x8e\\x73\\xf2\\x2e\\x31\\x3e\\xe1\\xbc\\x5b\\xde\\xb5\\xbe\\xd3\\x5d\\x26\\x63\\x02\\x78\\xe7\\x6f\\x6a\\xa8\\x5e\\xa0\\xb5\\xce\\xf2\\xfa\\x10\\x79\\x42\\xdf\\x67\\x7e\\x96\\x67\\x7e\\xa6\\x63\\x7d\\x17\\xf2\\xce\\x5f\\xea\\xc0\\xfc\\x1c\\xc4\\x44\\xe0\\x3e\\xf0\\x3d\\xe3\\x0a\\xec\\x2e\\x70\\x76\\x90\\x97\\x99\\x07\\x5e\\xc6\\x85\\xfa\\xa1\\x22\\xfe\\x8e\\x1f\\xe7\\x10\\x99\\x4b\\xfd\\xd5\\x73\\x0e\\x97\\xd7\\x4c\\x9e\\xac\\xcf\\x6e\\x96\\xa9\\x18\\xd0\\xc9\\x3c\\x08\\x98\\x5f\\xf2\\x17\\xb7\\xda\\x72\\xeb\\x03\\x42\\x51\\x99\\xf4\\xe5\\xf9\\xbf\\x47\\x57\\xec\\xc4\\x65\\x79\\xf1\\xf7\\xfc\\x86\\xf9\\xf9\\x96\\x1b\\x98\\x9f\\x61\\x75\\x42\\xa6\\x27\\xa8\\xc9\\x39\\xeb\\x92\\x09\\xeb\\x7b\\x97\\xe1\\xc6\\x8c\\x5b\\x9f\\xcb\\x1a\\x3f\\x9a\\x9f\\xcd\\xa2\\xff\\x03\\x3f\\x58\\x9b\\x39\\xc0\\x32\\xc6\\xfc\\x2c\\xb9\\xae\\xb6\\x5f\\xee\\xc1\\xee\\xe3\\x01\\x7d\\x9d\\x69\\x23\\x8b\\x61\\xda\\xe5\\x59\\x3b\\x75\\x41\\x76\\xe8\\x47\\x2c\\xc4\\x12\\x67\\x7b\\x10\\xc7\\xbe\\xbb\\x2b\\xef\\x9d\\x9f\\x54\\x6f\\x5f\\x2f\\xee\\x7b\\x95\\x18\\x17\\x1e\\x40\\x84\\x79\\xcf\\xb3\\x0c\\x90\\x09\\xde\\x06\\xfd\\xf4\\x64\\xf6\\xa0\\x65\\x8d\\x6f\\xd8\\x83\\x96\\xd1\\x87\\x19\\x06\\x7b\\xc1\\x65\\x5c\\x9b\\xdf\\x1d\\x79\\x03\\x9f\\xc1\\x98\\xdf\\x27\\x1c\\x35\\xbf\\xb7\\x0e\\xbc\\x8f\\x43\\x82\\x8e\\x48\\x93\\xe0\\x4d\\xbc\\x9f\\x67\\x1b\\xc7\\x9d\\x91\\xd2\\xc5\\x16\\x63\\x7e\\x4f\\x20\\x95\\x79\\xa6\\x99\\xef\\xbf\\xa0\\x7c\\xe3\\x23\\xe4\\x5f\\xbb\\xf5\\x9d\\x3d\\x75\\xd4\\xdb\\x28\\x32\\x75\\x11\\xd3\\x09\\x67\\x34\\x67\\x8a\\x38\\xa9\\x1a\\x9c\\xcc\\x7e\\xfb\\xac\\xb8\\x89\\x69\\x93\\x23\\x91\\x7d\\xf1\\x7e\\x19\\x04\\x67\\x7f\\xd8\\x14\\x6b\\xbc\\xff\\xfb\\xeb\\x76\\xe0\\x31\\xf0\\x02\\x78\\x0e\\xac\\x36\\xcf\\x04\\x41\\xa2\\xde\\xb0\\x71\\x56\\xbb\\xb3\\x35\\xa1\\x5f\\x61\\xbe\\x9e\\x95\\x64\\xc7\\x0b\\x72\\xca\\xbe\\x56\\x96\\x98\\x7f\\x97\\xc1\\xe2\\x24\\x5d\\xa6\\xd8\\x06\\xcb\\x24\\xfa\\xba\\x3b\\x8f\\xa8\\x97\\xec\\x7b\\x54\\x45\\xad\\x8e\\xf1\\x28\\x7d\\xad\\x41\\x13\\xdb\\x72\\xe2\\x1c\\x2c\\x77\\x5b\\x38\\x22\\x8b\\x18\\x37\\xd8\\x76\\x44\\x8b\\xb7\\x1d\\x51\\x76\\xfb\\x72\\xe3\\xaa\\x5d\\xd4\\x31\\xfb\\x72\\x6d\\xb6\\x75\\xfd\\x97\\xf6\\x4e\\xa8\\xe3\\xfe\\x67\\x66\\x6b\\xa2\\xe4\\xb3\\xff\\xd3\\xfe\\xff\\x05\\x6c\\x1e\\x6f\\x83\\x76\\x84\\xf6\\x3e\\xeb\\xfa\\x08\\x75\\x7b\\x44\\x26\\x02\\x87\\x76\\x54\\x46\\x9a\\x30\\xeb\\xda\\x79\\x41\\xbd\\x0a\\xe6\\x15\\xb7\\xf0\\x96\\x8c\\xcc\\x52\\xdb\\x36\\x19\\x44\\xbb\\x1a\\x98\\x9f\\x2d\\xd4\\x40\\x3e\\x2f\\x28\\x59\\xad\\x0a\\x1a\\xae\\x0e\\x39\\x33\\x55\\x86\\x43\\xd4\\x57\\xa0\\xbb\\xcd\\x2b\\x4d\\xec\\x5e\\xce\\x41\\x5b\\x99\\x87\\x9c\\xc3\\xa9\\xe1\\x9d\\x0e\\x2b\\x07\\xc6\\x01\\x6a\\x80\\x79\\x62\\x5c\\x67\\xef\\x71\\x24\\xf0\\xf9\\x59\\x98\\xb5\\xdf\\x58\\xe6\\x3b\\x76\\xdb\\xfe\\xcd\\xda\\x17\\xfa\\xbf\\x0b\\x73\\x34\\x82\\xef\\xc3\\xf2\\x40\\x50\\x1f\\x59\\xe5\\xf8\\xd6\\xdc\\xa3\\xf0\\x7c\\x24\\x6b\\xc2\\xf3\\xc8\\xbe\\x2e\\xe6\\xe7\\xfa\\xec\\x8f\\x8d\\x77\\xc1\\x49\\xf0\\xaa\\xf9\\x39\\x3b\\xf9\\x8e\\x30\\xc1\\xb3\\x6b\\x01\\xbc\\x4e\\x7f\\x12\\x35\\x66\\x7e\\x07\\xd0\\x94\\xfb\\x67\\xf4\\xca\\xd6\\xdf\\x6f\\x19\\x0e\\xf2\\xb1\\xdb\\xc1\\x84\\x79\\xe6\\x35\\xcf\\xf6\\xd6\\x79\\xd5\\x3c\\xdb\\x72\\x4e\\x2e\\x3e\\x1f\\x97\\x3c\\x07\\x9b\\xe7\\xdb\\xc0\\xd9\\xf6\\x1e\\xf3\\x9c\\x5b\\x12\\xd6\\xd9\\xba\\x18\\x7f\\x39\\x63\\x73\\x7e\\xbe\\x68\\x5c\\xf6\\x9f\\xaf\\x39\\xcb\\x94\\x3c\\x5f\\x73\\xb6\\x2e\\x3e\\x57\\xdf\\x3c\\x53\\xff\\xcd\\x79\\xda\\x3c\\xa7\\x9b\\x7a\\xcd\\x71\\xa6\\x8c\\x3d\\x4b\\xd6\\xe3\\x73\\x1c\\xe8\\x02\\xee\\x02\\x0d\\xac\\xf5\\xc9\\xfa\\x6e\\x46\\xaa\\xa8\\x3d\\x92\\x05\\x58\\xfb\\x54\\x2d\\x10\\x4d\\xdf\\x5b\\x81\\xef\\x51\\xd6\\x83\\x51\\x81\\xef\\x63\\xcc\\xcf\\xd4\\x0b\\x4a\\x60\\xeb\\x2d\\x98\\xdf\\x7f\\xf8\\x1a\\x05\\xda\\xfd\\x81\\xcf\\x2f\\xcc\\xcf\\x32\\xcc\\xef\\x21\\x66\\x97\\x90\\x0d\\x8c\\xb5\\xe4\\x4a\\xc8\\xde\\x09\\x23\\xe7\\xaf\\xf8\\xa7\\xfe\\xbf\\x93\\xbb\\x05\\x73\\xef\\x17\\xf8\\xde\\xe1\\x50\\xa0\\xbd\\x80\\x6f\\xa6\\xaf\\xaf\\xda\\xee\\xe6\\x5d\\x74\\x3b\\x3a\\x83\\x1e\\x81\\xd6\\x44\\x86\\x1e\\x4e\\x5e\\xef\\x96\\xfa\\x01\\x74\\x05\\xb5\\x40\\x3b\\xfa\\xcd\\xb6\\x2a\\x48\\x0c\\xa0\\x1a\\x48\\xa1\\xdf\\xbc\\x8e\\x05\\xe5\\x41\\x83\\x00\\x52\\xe9\\xaf\\x11\\x18\\xdf\\xa9\\x04\\xfa\\xd3\\xdf\\xe9\\x6f\\xfc\\xe8\\x16\\x78\\x9e\\x51\\x2c\\x1b\\x90\\x4b\\x01\\xe9\\xc0\\x53\\x0c\\xfa\\x3d\\x01\\x1b\\xf5\\x4b\\xd8\\x6b\\x40\\x7f\\xfd\\x3b\\x6c\\x15\\xeb\\xc9\\xbd\\x53\\x77\\x09\\xfd\\x77\\xfa\\xd1\\x1b\\xdc\\x0d\\xb2\\x03\\x6d\\x6f\\xe4\\xfa\\xd2\\x36\\x02\\x0d\\x03\\x30\\xaf\\x1b\\xd1\\x6f\\xb6\\x6d\\x41\\x9b\\x92\\xa0\\xdf\\x6c\\xa7\\x05\\x90\\x1e\\x40\\x63\\xfa\\xcd\\x76\\xde\\x9d\\xf8\\x07\\x3f\\xee\\x8c\\xa3\\x2b\\x72\\x26\\x97\\xa9\\x25\\x62\\x36\\xf9\\x8e\\x0d\\xf0\\x9c\\x12\\xc8\\x47\\x71\\x6e\\xaa\\x06\\xf2\\xd2\\x2e\\x90\\xbf\\xae\\xc5\\x39\\x0d\\xe4\\x31\\xa3\\x44\\xce\\xad\\xfc\\x07\\xf2\\x7e\\x9b\\x1f\\xfe\\xef\\x9f\\xcc\\xcf\\xf3\\x8c\\x29\\xfe\\x33\\xb8\\xcf\\xfc\\x4e\\xef\\x0a\\x78\\x12\\x54\\xb5\\xbe\\x77\\xfe\\x2f\\xfb\\xbb\\x12\\x7f\\x3f\\xe9\\x6f\\xf1\\xdf\\xf6\\xb1\\xff\\x4d\\xde\\x3a\\x97\\xed\\x33\\xbf\\x87\\x67\\xed\\xdc\\x27\\xa3\\xf0\\xf1\\x00\\x38\\x06\\x56\\xf8\\xbf\\x23\\xf3\\xad\\x04\\xac\\x85\\xbe\\xbd\\x60\\x6b\\xe0\\x3b\\x35\\x73\\x6e\\x3e\\x40\\xcb\\x8a\\x6f\\x8c\\xa5\\x65\\xf5\\xf7\\x1d\\x2e\\x01\\xf3\\xf3\\xc4\\x8b\\x20\\xcf\\xff\\xbd\\xa7\\x8f\\x1d\\x8d\\xef\\xe5\\xdb\\xe1\\xff\\x61\\x9d\\x4a\\xb5\\x60\\xae\\x5b\\xe6\\x1a\\xc8\\xda\\x53\\x0c\\x6b\\x0d\\x63\\xcd\\xf3\\x7f\\xef\\x58\\x54\\x64\\xc2\\xf6\\x95\\x84\\x99\\xdf\\x43\\x98\\x67\\x25\\x86\\xeb\\x01\\x54\\xf6\\xff\\x4d\\x49\\x5b\\x55\\xee\\x94\\x75\\x6f\\xb3\\x99\\x4b\\x96\\x4f\\xa6\\x8a\\x43\\xa6\\xc8\\x14\\x7d\\x94\\x3e\\x5e\\x9f\\xa2\\xcf\\xd4\\x67\\xe9\\xaf\\xeb\\x9f\\xd9\\xcb\\xda\\x63\\xed\\x7b\\xec\\x3f\\xd8\\xaf\\xc4\\x7e\\x5c\\x65\\x41\\x95\\x57\\xab\\xfc\\xe9\\x8a\\x76\\xc5\\xba\\xda\\xb8\\x3a\\xbb\\xee\\x76\\x65\\xbb\\xfa\\xb8\\xfa\\xb9\\x26\\xbb\\xd6\\xba\\x76\\xba\\xbe\\x70\\x7d\\xed\\xfa\\xc9\\x75\\xc5\\xe5\\x73\\x87\\xb9\\xe3\\xdd\\x49\\xee\\x54\\x77\\x3d\\x77\\x63\\x77\\x53\\x77\\x73\\x77\\x6b\\x77\\x7f\\xf7\\x28\\xf7\\x78\\xf7\\x04\\xf7\\xa3\\xee\\xf9\\xee\\x75\\xee\\xcb\\x71\\xf6\\xb8\\xb2\\x71\\xe5\\xe3\\xe2\\xe3\\x92\\xe2\\x6a\\xc7\\x75\\x89\\xeb\\x15\\xd7\\x3f\\x6e\\x7a\\xdc\\xf3\\x71\\x6f\\xc7\\x6b\\xf1\\x8e\\xf8\\xb0\\xf8\\xc8\\xf8\\xe8\\xf8\\x4a\\xf1\\xae\\xf8\\x1a\\xf1\\xc9\\xf1\\xed\\xe2\\x07\\xc6\\x0f\\x49\\xd0\\x12\\xc2\\x13\\xe2\\x12\\x39\\x02\\x24\\x96\\x4e\\x0c\\x4f\\x8c\\x4a\\xac\\x90\\x58\\x39\\xb1\\x6a\\x62\\xcd\\xc4\\x7a\\x89\\x4d\\x13\\x47\\x24\\x4e\\x4d\\x9c\\x9e\\x38\\x23\\x71\\x56\\xe2\\x73\\x89\\xaf\\x27\\xae\\x48\\x5c\\x9d\\xb8\\x39\\x71\\x4b\\xe2\\xce\\xc4\\x4f\\x13\\x0f\\x24\\x1e\\x4f\\x3c\\x97\\xd4\\x34\\xc9\\x9b\\xd4\\x32\\x29\\x27\\xe9\\xde\\xa4\\xa1\\x49\\xc3\\x93\\x46\\xd5\\x1c\\x59\\xf3\\xa1\\xda\\xe5\\x97\\xc6\\x2d\\x9d\\x75\\x5d\\xbb\\xde\\xe0\\x7a\\xd3\\xeb\\xcd\\xaf\\xb7\\xb8\\xde\\xfa\\x7a\\x57\\x5f\\x82\\x71\\xc3\\x30\\xac\\xbf\\xa1\\xb9\\x58\\x1f\\xa7\\x3f\\xa2\\x4f\\x27\\xfe\\x67\\xf4\\x37\\xf5\\x83\\xf6\\x4a\\xf6\\x79\\xf6\\x83\\xf6\\xcb\\xb1\\x12\\xeb\\x23\\xfe\\xc5\\x2e\\x71\\x55\\x70\\xb9\\x5d\\xed\\x5c\\xdd\\x02\\xf1\\x0f\\x70\\x4d\\x75\\xad\\x77\\xed\\x76\\x1d\\x75\\x9d\\x70\\xfd\\xe2\\xba\\xea\\x16\\x77\\x24\\xf1\\xdf\\xe5\\xae\\xeb\\x4e\\xbf\\x19\\xff\\x30\\xf7\\x38\\xf7\\x43\\xc4\\x3f\\xd7\\xbd\\x38\\x10\\x7f\\xb9\\x40\\xfc\\x9d\\xe3\\x7a\\xc6\\xf5\\x21\\xfe\\xb9\\x37\\xe3\\x8f\\x20\\xfe\\x8a\\xf1\\x55\\x02\\xf1\\xe7\\xc4\\x0f\\xb6\\xe2\\x77\\xff\\x43\\xfc\\xdd\\x6e\\xc6\\x3f\\x37\\x71\\x71\\xe2\\xb2\\x9b\\xf1\\x7f\\x4c\\xfc\\xc7\\x88\\xbf\\xf1\\xcd\\xf8\\x87\\x24\\x0d\\x23\\xfe\\x9c\\x9a\\x63\\x88\\xbf\\xfc\\xd2\\x19\\xd7\\xd5\\xf5\\xd8\\xeb\\x8d\\x88\\xdf\\x7b\\xbd\\xd5\\xf5\\x0c\\x9f\\xdb\\x8c\\xdf\\x38\\x6d\\x6c\\x37\\x3e\\x34\\x36\\x1b\\xeb\\x8c\\xb5\\xc6\\x1a\\x63\\xb5\\xb1\\xca\\x58\\x6e\\x34\\x32\\x52\\x8d\\xe4\\xf3\\xee\\xc2\\x4b\\x85\\x17\\x0a\\x7f\\x28\\x3c\\x53\\x58\\x50\\x78\\xaa\\xf0\\xdb\\xc2\\x6f\\x0a\\xbf\\x2e\\xfc\\xaa\\xf0\\x78\\xe1\\xb1\\xc2\\xa3\\x85\\x47\\x0a\\x0f\\x17\\x7e\\x5e\\x78\\xa8\\xf0\\x40\\xe1\\x67\\x85\\xfb\\x0b\\x3f\\x29\\xdc\\x5b\\xb8\\xab\\x70\\x67\\xe1\\xd6\\xc2\\x8f\\x0a\\x3f\\x2c\\xdc\\x54\\xb8\\xb8\\xf0\\xf9\\xc2\\x79\\x85\\x73\\x0b\\x67\\x16\\x3e\\x52\\x38\\xaa\\xb0\\x7e\\x61\\x5c\\x61\\x54\\x61\\x64\\x61\\x50\\xa1\\xfd\\x9c\\xef\\xdc\\xa9\\x73\\xdf\\x9c\\x3b\\x7a\\x6e\\xd5\\xb9\\xb7\\xce\\xcd\\x3f\\xd7\\xe4\\x5c\\xa3\\x73\\xa9\\xe7\\x52\\xce\\xd5\\x3a\\x77\\xd7\\xb9\\x6a\\xe7\\xaa\\x9c\\x8b\\x3d\\xa7\\xce\\xfe\\x70\\xf6\\xfc\\xd9\\x4e\\x67\\x3d\\x67\\x53\\x4f\\xf7\\x38\\xdd\\xfd\\x74\\xbb\\xd3\\x6d\\x4e\\xb7\\x3c\\xed\\x39\\xdd\\xf4\\x74\\xfd\\xd3\\xb5\\x4f\\x57\\x3b\\xed\\x3e\\x1d\\x5a\\x70\\xad\\xe0\\xf7\\x82\\x2b\\x05\\x3f\\x17\\xfc\\x58\\x50\\x50\\xf0\\x55\\xc1\\x91\\x82\\xcf\\x0a\\xf6\\x17\\xec\\x2e\\xd8\\x56\\xf0\\x51\\xc1\\x86\\x82\\xe5\\x05\\x59\\x05\\x99\\x05\\xbd\\x0a\\x1a\\x16\\xd4\\x2f\\xa8\\x57\\x50\\xa7\\xa0\\xf6\\x37\\xcd\\xbf\\x69\\xf2\\xd5\\xc2\\x81\\x8b\\x06\\x36\\x0c\\xdd\\x11\\xfa\\x4e\\xe8\\xdb\\xa1\\x4b\\x43\\xdf\\x0a\\xfd\\x77\\xe8\\x92\\x90\\xc3\\x41\\x37\\x02\\x7f\\x83\\xf8\\xff\\xbf\\x3f\\x0e\\x2d\\xc4\\x6c\\x94\\xfc\\x85\\x09\\x65\\x1d\\xb6\\xcc\\x1f\\xed\\xbf\\xe8\\xf0\\x8f\\xd4\\x39\\xa8\\xd9\\x59\\x4d\\x9c\\x1c\\x8c\\x82\\x25\\x44\\x4a\\x49\\x69\\x09\\x95\\x32\\x12\\x26\\xe1\\x12\\x21\\x91\\x52\\x56\\xa2\\x24\\x5a\\xca\\x49\\x79\\xa9\\x20\\x15\\xa5\\x92\\xc4\\xb0\\x0a\\xc5\\x4a\\x15\\x71\\x31\\xfb\\xe2\\x24\\x9e\\x7d\\x45\\x55\\x49\\x94\\x24\\xa9\\x26\\xd5\\xa5\\x86\\xdc\\x25\\xc9\\x52\\x53\\x6a\\x49\\x6d\\x49\\x91\\x54\\xa9\\x23\\x75\\x25\\x4d\\xea\\x49\\x7d\\x69\\x20\\x0d\\xd9\\x6d\\xa4\\x4b\\x63\\x69\\x22\\x4d\\xa5\\x99\\x34\\x17\\x8f\\x78\\xa5\\x85\\xb4\\x94\\x56\\xd2\\x5a\\xda\\x48\\x86\\xb4\\x95\\x76\\xd2\\x5e\\x3a\\x48\\x47\\xe9\\x24\\x9d\\xa5\\x8b\\x74\\x95\\x6e\\xd2\\x5d\\x7a\\x48\\x4f\\x4e\\x62\\x99\\xd2\\x5b\\xee\\x96\\x2c\\xc9\\x96\\x7b\\xa4\\x8f\\xf4\\x95\\x7e\\xd2\\x5f\\x06\\x48\\x8e\\x0c\\xc4\\xff\\x27\\xe4\\x49\\x79\\x4a\\x9e\\x96\\xe7\\xe4\\x25\\x79\\x55\\xde\\x94\\x37\\x64\\x89\\xbc\\x25\\xff\\x96\\xa5\\xf2\\x0e\\x27\\xcc\\x65\\xb2\\x42\\xde\\x95\\xf7\\x64\\xa5\\xe4\\xcb\\x2a\\x59\\x23\\xeb\\x64\\x2d\\xbb\\xc0\\x8d\\xb2\\x41\\xb6\\xc8\\xfb\\xf2\\x81\\x7c\\xe8\\xbc\\x20\\x63\\x39\\x53\\x0d\\x91\\xfb\\x9d\\x97\\x64\\x02\\xbb\\xdf\\xd1\\x32\\x3c\\xe8\\x2e\\x79\\x50\\x86\\x05\\x75\\x90\\x19\\xf2\\x4a\\x50\\x1b\\x76\\xef\\x9d\\x82\\x3a\\xcb\\x7d\\xf2\\x50\\x50\\xb3\\x20\\x6f\\x90\\x47\\x1f\\x1b\\xd4\\x4e\\x46\\xc8\\x24\\xbd\\x8f\\xbc\\x2d\\x9b\\x65\\x9a\\xdc\\xcb\\x9e\\xbb\\xb5\\xea\\x15\\xd4\\x3e\\xa8\\xb9\\x8c\\x94\\xc9\\xce\\x1f\\x65\\x90\\x3c\\xc6\\xf9\\xf3\\x45\\x15\\xa5\\xa2\\x9d\\xdf\\x3a\\x4f\\x3a\\x0b\\x9d\\xe7\\x9d\\xa7\\x9d\\x67\\x64\\x53\\xd0\\xd3\\xb2\\x4d\\x35\\x76\\x16\\x05\\xc5\\x38\\xff\\x74\\x5e\\x0b\\xda\\x19\\xb4\\xcb\\x79\\x51\\x1e\\x76\\x9e\\x75\\x7e\\xef\\xfc\\x4d\\xa6\\xcb\\x2c\\xf9\\x97\\xcc\\x96\\x99\\x32\\x47\\xe6\\xca\\x3c\\x79\\x46\\x9e\\x97\\x17\\x88\\x70\\xbe\\x2c\\x64\\xd7\\xb9\\x40\\x7e\\xd5\\x66\\x68\\xaf\\xca\\x18\\xed\\x15\\x6d\\x81\\xb6\\x50\\x1e\\xd1\\x5e\\xd3\\x16\\x69\\x4f\\x89\\x78\\xdb\\xf6\\xb9\\x27\\x3b\\x2b\\xb3\\x57\\xcf\\x1e\\xdd\\xbb\\x75\\xed\\xd2\\xb9\\x53\\xc7\\x0e\\xed\\xdb\\xb5\\xcd\\x68\\xd3\\xba\\x55\\xcb\\x16\\x5e\\x4f\\xf3\\x66\\x4d\\x9b\\x34\\x4e\\x6f\\xd4\\xb0\\x41\\xfd\\x3a\\xa9\\x29\\xb5\\x6b\\xd5\\xac\\x5e\\x2d\\x29\\xb1\\x6a\\x42\\x7c\\x9c\\xab\\x42\\x54\\x44\\x78\\x58\\x99\\xd0\\x52\\x21\\xc1\\x41\\x4e\\x87\\xdd\\xa6\\x6b\\x4a\\x6a\\xba\\xf3\\x55\\x4e\\x9b\\x7c\\x3d\\xd1\\x1d\\x91\\x31\\x30\\xa1\\x4d\\xc2\\xc0\\x76\\xb5\\x6a\\xba\\xdb\\x54\\xc8\\x6d\\x5d\\xab\\x66\\x9b\\x84\\x8c\\x9c\\x7c\\xf7\\x40\\x77\\x3e\\x8d\\x2d\\x29\\xa1\\x5d\\x3b\\xab\\x2b\\x61\\x60\\xbe\\x3b\\xc7\\x9d\\x9f\\x44\\x33\\xb0\\x44\\x77\\x4e\\xbe\\x17\\xc9\\xa1\\x77\\x48\\x7a\\xfd\\x92\\xde\\x9b\\x92\\x2a\\xdc\\xdd\\x54\\x9a\\x9a\\x26\\x12\\xdc\\xf9\\xfb\\x5b\\x27\\xb8\\x37\\xaa\\x7b\\xba\\x67\\x71\\x3d\\xbb\\x75\\x42\\xb6\\x3b\\xff\\x92\\x75\\xdd\\xd9\\xba\\xb6\\x25\\x59\\x37\\xa1\\xdc\\xc4\\xc5\\x31\\xc2\\xf2\\xca\\xf4\\xd6\\xdd\\x26\\x3f\\xe3\\xc1\\xdc\\x99\\x6d\\x72\\xf0\\x51\\xad\\x2a\\x15\\xd2\\x2a\\xa1\\xd5\\x90\\x90\\x5a\\x35\\x65\\x55\\x48\\x29\\x2e\\x4b\\x71\\x95\\x5f\\x3d\\x61\\xf4\\x2a\\x55\\xbd\\xb9\\xb2\\x2e\\xb4\\xea\\x6d\\x1a\\xaf\\xd2\\x24\\x28\\xd4\\x34\\x4b\\xa4\\x6d\\x06\\x0e\\xce\\xef\\xd6\\x3d\\xab\\x4d\\xeb\\x98\\xb8\\xb8\\xec\\x5a\\x35\\xdb\\xe7\\x97\\x49\\x68\\x6d\\x3d\\x92\\x56\\x96\\xca\\x7c\\x47\\xab\\x7c\\xa7\\xa5\\xd2\\x7d\\xbf\\xe9\\xba\\x3c\\xed\\x5e\\x55\\x73\\xeb\\xcc\\x59\\x1b\\xc3\\x65\\x50\\x4e\\x72\\xe9\\xc1\\x09\\x83\\x07\\xf6\\xcd\\xca\\xd7\\x07\\x32\\x76\\xa6\\xde\\x66\\xe6\\xcc\\x27\\xf3\\x23\\x92\\xf3\\x6b\\x24\\xb4\\xce\\xaf\\xf1\\xc8\\x99\\x0a\\x44\\x3e\\x24\\xbf\\x66\\x42\\xeb\\x36\\xf9\\xc9\\xa6\\xd6\\x8e\\x3d\\x6e\\xda\\xe9\\x78\\xcb\\xa4\\xca\\xb7\\x27\\xf2\\xc2\\x98\\xf9\\x9b\\x10\\x4e\\xc2\\xa5\\x8b\\xb7\\xf7\\x0c\\x0c\\xf4\\x38\\x12\\xc3\\x7f\\x13\\xf3\\x32\\x5f\\x6b\\x95\\xaf\\x7a\\x64\\xc5\\x99\\x3f\\x31\\x19\\x70\\x3d\\x73\\x66\\x46\\x82\\x3b\\x63\\x66\\xce\\xcc\\x81\\x1b\\x8d\\xa9\\x83\\x12\\xdc\\xe1\\x09\\x33\\x57\\x95\\x2e\\x3d\\x73\\x74\\x1b\\xe8\\x96\\x6e\\x59\\xa8\\xd8\\x68\\x6c\\x7e\\x3a\\x26\\x3f\\x63\\x56\\x76\\x7e\\x78\\x4e\\xae\\x6a\\x9c\\x1d\\x08\\x3d\\xa3\\x47\\xc7\\xfc\\xb2\\xdd\\xfb\\x64\\xe5\\x6b\\x89\\x19\\xee\\xdc\\x81\\xf4\\xf0\\xc7\\x93\\x10\\xd7\\x28\\x26\\x2e\\xe2\\xa6\\x4c\\xb7\\x7f\\x7a\\x2c\\xd0\\x02\\x39\\x30\\x1c\\x17\\x67\\xd2\\xf0\\xf4\\x46\\xaf\\x0c\\xe2\\x26\\x7f\\x6a\\xf7\\x2c\\xff\\xbd\\x5b\\x06\\xc5\\xac\\x16\\x6f\\x4a\\x72\\x76\\xbe\\x96\\x63\\x3e\\xd9\\x5a\\xfc\\x24\\x3a\\xd3\\x7c\\x32\\xb5\\xf8\\xc9\\xcd\\xe1\\x39\\x09\\xe4\\xb6\\x63\\xcf\\xac\\x99\\xf9\\xb6\\xc4\\xf6\\x83\\x13\\xda\\xc0\\xf8\\xd3\\x03\\xf3\\xa7\\x0e\\xa2\\xba\\x86\\x99\\x89\\x49\\x08\\xcf\\x2f\\x73\\x35\\x26\\x2e\\x61\\x66\\x64\\x84\\x3b\\x3d\\x25\\xdb\\x92\\x75\\xe3\\x55\\xfb\\xc1\\xf7\\xbb\\xf3\\xed\\x49\\x90\\xc4\\xa8\\x92\\x03\\xa8\\x1b\\x73\\xc8\\xcc\\x70\\xeb\\xa6\\xcc\\x55\\x7f\\x73\\x29\\x06\\x03\\x49\\x11\\x91\\xee\\xf4\\x04\\xd4\\x98\\x7a\\xda\\x24\\xb4\\xc9\\x09\\xfc\\x79\\x30\\xb7\\x02\\x0a\\xdc\\x10\\xdd\\x2e\\xd9\\x5f\\x08\\xbd\\xb2\\xf2\\xbd\\xad\\xb9\\xf0\\x0e\\x0c\\x64\\xac\\xcd\\xaa\\xd4\\x14\\x46\\x0c\\xcc\\x21\\x61\\xf7\\xb7\\xb6\\x92\\x99\\x9f\\x92\\x30\\x3a\\x3f\\x2a\\xa1\\xe5\\xcd\\xec\\x9a\\x6e\\xb5\\xb9\\xbf\\x67\\x96\\x35\\x24\\x30\\x2c\\x3f\\xaa\\x55\\xbe\\xe4\\xdc\\x1b\\x18\\x95\\x9f\\xd2\\xc6\\x9a\\x57\\xee\\x36\\x33\\x73\\x5a\\xfb\\x5d\\x30\\x75\\x25\\x74\\xcf\\xda\\x24\\x69\\xc6\\xa9\\x55\\xf5\\xdc\\x31\\x6b\\xcc\\xa5\\x33\\xbb\\xb5\\x29\\x5c\\xae\\x15\\x55\\x96\\xd4\\x66\\x66\\xd6\\xe0\\xa1\\xf9\\xae\\x9c\\x98\\xc1\\xcc\\xbb\\xa1\\xee\\xac\\x98\\xb8\\x7c\\x6f\\x36\\x19\\xce\\x4e\\xc8\\x1a\\x92\\x6d\\x96\\x1d\\x0c\\xd5\\x38\\x15\\x63\\x15\\x47\\xb6\\x55\\x2b\\xbd\\xb2\\x3a\\xf6\\x4c\\xe8\\xd8\\xfd\\x9e\\xac\\x46\\x01\\x47\\xfc\\x0f\\x4c\\x75\\xb6\\xc4\\x36\\x77\\xa8\\x49\\xc8\\x8a\\xf1\\xab\\xa1\\x00\\xf3\\x83\\x12\\x83\\xdc\\x59\\x5a\\x8c\\x9e\\x8d\\x60\\x38\\x1d\\xee\\x0c\\x2e\\x12\\x5a\\x36\\xe5\\x77\\xbe\\x33\\x31\\x08\\x84\\x43\\xb8\\xd5\\x6b\\x16\\x6e\\xcb\\xa6\\xee\\x2c\\x15\\x23\\xc5\\xd2\\xb8\\x91\\x5f\\xc3\\xdd\\x66\\x48\\xeb\\x80\\x9c\\x79\\x7f\\x9b\\x52\\xbb\\x59\\x4e\\xad\\xda\\x15\\x6b\\x73\\x98\\xb7\\xe8\\x69\\xd5\\x2e\\x26\\x2e\\x3b\\xce\\xff\\x53\\xab\\xa6\\xc6\\x63\\x77\\xc0\\x30\\x23\\x82\\x4c\\x52\\xdb\\x15\\x3f\\x62\\x99\\xe2\\x41\\x10\\xf5\\xd9\\xaa\\x9d\\xd5\\x65\\x72\\x59\\xc1\\x2c\\x7a\\x77\\x56\\xc2\\x90\\x84\\xec\\x84\\x5c\\x77\\xbe\\xb7\\x5b\\x96\\x19\\x9b\\x49\\x8f\\xc5\\x72\\x80\\x0c\\x8b\\xf3\\x40\\xae\\x7a\\xdd\\x76\\x57\\x82\\x2c\\x68\\x92\\x38\\x1e\\x17\\xdf\\x98\\x64\\xe6\\x67\\x24\\xc7\\x94\\x24\\x37\\xbf\\xad\\x75\\x7f\\xf3\\xb6\\xdd\\x1d\\x8f\\xdb\\x17\\x3f\\x76\\xcf\\x0c\\x4a\\xe8\\xd8\\x73\\xa6\\xa9\\x3c\\x21\\xa0\\x50\\xf0\\xbc\\x7d\\xbe\\x98\\x25\\xec\\x6d\\x14\\x11\\x63\\xad\\x05\\xe6\\x84\\x4e\\x60\\xed\\x75\\x87\\x33\\xa5\\xad\\x09\\x3d\\x73\\x95\\xd7\\x6b\\x4e\\xe6\\xdc\\xc6\\xa6\\x92\\x84\\xf6\\x83\\x67\\x26\\xf4\\xcc\\x6a\\x6a\\x49\\xb3\\x9e\\x4c\\x8e\\x79\\xc4\\xb4\\x15\\x29\\x1d\\x55\\xc7\\x5e\\x2d\\x6b\\xd5\\x64\\x69\\x6b\\xb9\\x2a\\x41\\xcd\\xe8\\xbe\\xca\\xab\\x66\\xf4\\xbc\\x27\\x6b\\x53\\x38\\x7b\\xe4\\x19\\xbd\\xb2\\x56\\x6b\\x4a\\x6b\\x95\\xd3\\x32\\x7b\\x55\\x55\\x9e\\x65\\x6d\\x72\\xf3\\xd2\\xb0\\x7a\\x35\\xb3\\xd7\\xec\\x34\\x6f\\xdc\\xe6\\x8d\\xa9\\xa9\\x07\\x37\\x41\\x96\\x7c\\xcc\\x26\\xaf\\xc8\\x54\\xeb\\xa9\\xcd\\xea\\xb0\\xee\\xef\\xdd\\xa8\\xc4\\xea\\x0b\\x2a\\xee\\x53\\x72\\xef\\x46\\xcd\\xdf\\x17\\xee\\x37\\x94\\x64\\x19\\xf2\\xb2\\x07\\xb9\\x77\\xa3\\xcd\\xff\\xc4\\x5b\\x2c\\x6d\\xa3\\x2f\\xc8\\xdf\\x37\\xd5\\xea\\xb3\\x7e\\x56\\x89\\x49\\x99\\x37\\xc4\\xee\\x0d\\xf2\\x06\\x7b\\x4b\\x6b\\xa1\\x5a\\xcc\\x2a\\x65\\x76\\xad\\xa6\\x67\\x33\\x7b\\x95\\x60\\x25\\x6b\\x4a\\xab\\x50\\x15\\xb3\\x8a\\x51\\x3d\\xac\\xee\\x8d\\x6a\\xea\\xaa\\x60\\x6f\\x8c\\x5f\\x62\\x2a\\x12\\x5e\\xbf\\x87\\x33\\x32\\x6f\\x99\\xce\\xbc\\x27\\x6b\\x0d\\x3b\\x1a\\x15\\x63\\xfd\\xc6\\x50\\x4b\\xf3\\x87\\x72\\xa9\\x90\\x4b\\xb2\\x79\\xad\\xb4\\x71\\x0f\\x36\\x0b\\x65\\x52\\x76\\xee\\xcc\\x9c\\x6c\\x73\\xb2\\x49\\x39\\x52\\xc3\\x1f\\x95\\xaf\\x12\\x9a\\x93\\xa6\\x84\\xe6\\x38\\xe2\\x28\\x9d\\x1f\\x92\\x30\\xa4\\x65\\x7e\\xa9\\x84\\x96\\x66\\xbf\\xc7\\xec\\xf7\\xf8\\xfb\\x1d\\x66\\xbf\\x93\\x12\\x55\\xe5\\x14\\xc3\\xa7\\x92\\xfb\\x6e\\xf9\\xca\\xac\\x80\\x3e\\x59\\x71\\x4c\\x49\\x77\\xa5\\x7d\\x31\\x33\\xc3\\x2f\\x99\\x99\\xca\\x66\\x51\\x99\\x19\\x7e\\xb6\\x56\\x8b\\x4c\\xe5\\x11\\xa5\\xd2\\x25\\x53\\x35\\x0f\\xb4\\x2d\\x95\\x97\\x9d\\x96\\x4b\\xb5\\xa0\\xe5\\xd8\\xa2\\x9a\\x48\\x9a\\x6a\\x4c\\x7f\\x23\\x5a\\x9e\\xcb\\x12\\x7e\\x5f\\x01\\x9a\\xaa\\x2b\\xcd\\x54\\x1d\\x9e\\xd4\\x61\\x64\\x0a\\x6d\\x2a\\xf7\\x66\\x5b\\x53\\xd5\\x10\\x83\\x91\\x35\\xe8\\xbf\\x8b\\xfb\\xea\\xf4\\x57\\xa3\\xad\\x16\\xb8\\x4f\\xe2\\x3e\\x91\\x36\\x31\\x70\\x9f\\xa0\\xe2\\x2d\\xf9\\xf8\\xc0\\x7d\\x32\\xcf\\x69\\xa5\\x9b\\x72\\x92\\xd1\\x14\\xeb\\xf7\\x7b\\xca\\xe6\\x6d\\xa2\\x0e\\x16\\xa9\\x8f\\x8a\\x54\\x78\\x91\\x1a\\x75\\x5d\\x79\\xaf\\xab\\xa9\\xbf\\x29\\xb9\\xa4\\xbc\\x17\\xd4\\xb9\\x33\\x6e\\xd7\\xd9\\x33\\xcd\\x5c\\x05\\xa7\\xa2\\x5d\\xdf\\x9d\\x6a\\xe6\\x3a\\xd9\\xec\\x44\\xe6\\xb7\\xcd\\xf4\\x4c\\x39\\x91\\x7a\\x42\\x3b\\xa1\\xf4\\xcc\\x94\\x16\\xa5\\x54\\x79\\xd4\\x84\\xf3\\xdb\\x0d\\xbc\\x40\\x37\\xb6\\xaa\\xf2\\x5e\\x57\\xc5\\xca\\x19\\xdf\\xe8\\x86\\x6b\\xef\\x0e\\xc3\\x95\\xba\\x43\\x7d\\xd8\\x36\\xd2\\xb5\\xb9\\xeb\\x60\\xd7\\xa6\\x1c\\xc3\\xb5\\x71\\x6d\\x39\\xd7\\xa8\\xf7\\x59\\x4d\\xcc\\x71\\x31\\xde\\x18\\xe5\\xde\\xa0\\xc2\\xd7\\xb9\\xd7\\x79\\xd7\\xe9\\x39\\x6b\\x47\\xaf\\x9d\\xba\\x56\\x0f\\x5b\\x3d\\x60\\xb5\\xb6\\x4a\\x6f\\xea\\xda\\xa8\\xa2\\xbc\\xc6\\xca\\xba\\xae\\xfc\\x65\\x86\\x2b\\x65\\x8d\\x67\\x4d\\xd7\\x35\\xfa\\x9c\\x35\\xca\\xbb\\x26\\xa9\\x46\\x86\\xeb\\xbd\\x94\\xf7\\x3c\\xef\\xbd\\xf6\\x9e\\x2d\\xec\\x3d\\xe5\\x7d\\xaf\\x4c\\xb9\\x8c\\xd7\\x56\\xaa\\x77\\x11\\x5b\\xbe\\xac\\xbe\\x6b\\x59\\xb7\\x24\\xd7\\xab\\x0b\\xaa\\xb9\\x16\\x2d\\x48\\x74\\x2d\\x04\\xb2\\x20\\x67\\x81\\x36\\x75\\xc1\\xe5\\x05\\xda\\x6b\\x1d\\x0d\\x57\\xd8\\x7c\\xd7\\x7c\\x2d\\xec\\x29\\xd7\\x53\\xda\\x73\\x73\\x93\\x5c\\xcf\\xce\\x4b\\x72\\xcd\\x99\\x95\\xe4\\x7a\\x06\\x84\\xcd\\x76\\xcd\\xd6\\x06\\xcc\\x1e\\x35\\xfb\\xd1\\xd9\\xc6\\x6c\\x5b\\xd7\\xd9\\xca\\x3b\\xbb\\x6c\\xf9\\x8c\\xb0\\x59\\xea\\xf1\\xb6\\x75\\x5d\\xaf\\xfd\\x4b\\x4d\\x1b\\x69\\xb8\\xa6\\x12\\xd4\\x83\\xe8\\x1f\\x0f\\xc6\\x81\\x3c\\x90\\xf2\\xb0\\xe7\\xe1\\xae\\x0f\\xeb\\x63\\x46\\xb9\\x5c\\xa3\\xdb\\x86\\xb9\\x46\\xb5\\xad\\xe2\\xaa\\xa4\\x2a\\x64\\x56\\x4c\\xab\\x90\\xe9\\x4c\\xd3\\x33\\x1d\\x0c\\x59\\x3a\\x52\\xd5\\x18\\xa9\\x46\\x70\\x35\\x90\\x01\\x39\\x03\\xea\\xba\\x06\\xd0\\xde\\xdb\\xb6\\xb2\\xab\\xe2\\xa0\\xef\\x07\\x69\\xee\\x41\\x91\\xd1\\x19\\x35\\x06\\xa5\\x0f\\x6a\\x3f\\x48\\xef\\xdf\\x36\\xc6\\xd5\\xaf\\x8f\\xe1\\xea\\xdb\\x27\\xcd\\xd5\\xa7\\x6d\\x5d\\x6f\\x0f\\x57\\x94\\x8a\\xcc\\x2c\\x5b\\x37\\x32\\xd3\\x0e\\xe5\\xb6\\xba\\x7a\\xe6\\x28\\x5d\\x85\\xe9\\x1e\\xbd\\xab\\x3e\\x4a\\x7f\\x54\\xb7\\xbf\\x90\\xad\\xe6\\x0e\\x53\\x5d\\x7b\\x0e\\xe8\\xa9\\x79\\x7b\\x56\\xaf\\x99\\xe1\\xed\\x59\\x25\\x9e\\x5f\\x65\\x2b\\x64\\x0c\\xef\\x31\\xb1\\xc7\\xd3\\x3d\\xf4\\xee\\x5d\\x2b\\xbb\\xba\\x81\\x8a\\x5d\\x6b\\x74\\xd5\\xb2\\xbb\\xde\\xdf\\x55\\xdb\\xa8\\xca\\xad\\xc1\\xc9\\xf1\\x9b\\x55\\xb4\\x3c\\xae\\xa2\\xbd\\x2d\\xb4\\x6e\\x5d\\xd4\\xe2\\xce\\xf9\\x9d\\xb7\\x76\\xd6\\x3b\\xb7\\x8d\\x72\\x75\\x22\\xde\\x8e\\xa0\\x43\\x5b\\x97\\xcb\\x68\\xaf\\xda\\x13\\x54\\x3b\\x6e\\xa5\\xad\\xaa\\x1c\\x33\\xd5\\x55\\xae\\x6e\\x74\\x66\\x84\\x0a\\xcb\\x0c\\xaf\\x1b\\x96\\xc9\\xbe\\x32\\x53\\x09\\x49\\x55\\x11\\xab\\x63\\x2a\\xd2\\x84\\x7b\\x6b\\xd1\\xba\\xc2\\x3c\\x61\\x03\\xc2\\x1e\\x0d\\xb3\\x85\\x85\\xa5\\x84\\x75\\x0d\\x1b\\x15\\x36\\x27\\xec\\x64\\x98\\x11\\xe6\\xf4\\xd0\\xf7\\x53\\x98\\x3e\\x4a\\x54\\x57\\x51\\x53\\xcb\\x29\\xbb\\xda\\xa8\\xe6\\xae\\xea\\xd5\\x33\\x39\\xb9\\xe3\\x46\\xa7\\xc1\\x96\\xc5\\xd9\\xad\\x4f\\xbe\\x9a\\x91\\x9f\\xd8\\xd3\\xfc\\xed\\xed\\x7e\\x4f\\xbe\\x63\\x46\\xbe\\x64\\xde\\xd3\\x27\\x6b\\x95\\x52\\xcf\\x64\\x3f\\x3e\\x7b\\xb6\\xb4\\x8c\\xed\\x98\\x5f\\xb7\\x67\\x56\\x7e\\x4e\\x6c\\x76\\xc7\\xfc\\xc1\\x5c\\x78\\xcd\\x8b\\xa9\\x5c\\x84\\xc7\\xae\\x2a\\x27\\x2d\\xb3\\xf3\\xc6\\xe5\\x8d\\x1b\\x9f\\x1c\\xf8\\x51\\xe3\\x92\\x93\\xc7\\x25\\x0b\\x57\\xe3\\xf2\\xf2\\x92\\xf3\\xb8\\xcb\\xe3\\x3a\\x2f\\x4f\\xe5\\x49\\x9e\\x25\\xa4\\xac\\x87\\x79\\x08\\x25\\x5b\\x0f\\xfc\\x7d\\x74\\xe6\\x05\\x14\\xe4\\x25\\x8b\\x39\\x70\\x7c\\xe0\\xb1\\xa9\\xc2\\x2f\\x30\\xce\\xbc\\xb6\\x6e\\xd1\\x86\\x3a\\x6b\\xac\\x4a\\x1e\\x67\\xe9\\x1b\\x6f\\x8e\\xb7\\xc4\\x92\\x95\\xf5\\xcc\\xfc\\x41\\x2c\\x4f\\x92\\x4b\\xfc\\x04\\x6c\\x54\\xb0\\x7f\\x6a\\xff\\x54\\x26\\xdb\\xa7\\x71\\x12\\x7b\\xd8\\xfa\\x7d\\xdb\\x8f\\xad\\x31\\x2b\\xc7\\x43\\xe6\\xdf\\xa7\\x37\\x56\\xfb\\xff\\x56\\xbd\\xff\\xb7\\xef\\x6e\\xf3\\x13\\xaa\\xff\\x7b\\x3f\\x41\\xc5\\x07\\xc7\\x6a\\x2a\\x42\\xbe\\x13\\x43\\x45\\xab\\x58\\x56\\x89\\xef\\x65\\x9b\\x7c\\xc1\\x49\\x28\\x5f\\x0e\\x14\\x4b\\xda\\x3f\\x55\\xbc\\x64\\x58\\x91\\xe2\\x55\\x2d\\x55\\x46\\xce\\xc8\\x15\\xd9\\x2d\\x17\\xd4\\xed\\x67\\xd5\\x65\\xc8\\x4d\\x53\\x91\\xc8\\x45\\xc8\\x71\\x15\\xc5\\xd9\\xe9\\xa4\\x1c\\x92\\x5d\\x9c\\xd1\\x9e\\xe7\\x64\\x75\\xae\\xa4\\xa8\\x25\\x37\\x83\\x35\\x50\\x53\\x2d\\x65\\x93\\x4c\\xc5\\x6e\\x91\\xe5\\x89\\x47\\xbe\\x56\\xfd\\x58\\xd1\\x96\\xc9\\x54\\x19\\x2f\\xb3\\xd5\\x0d\\xfa\\xfa\\x16\\x8f\\x52\\x75\\x54\\x45\\x55\\x46\\xd9\\x58\\x4a\\xfe\\xee\\xe7\\x94\\x72\\x70\\xb6\\x3a\\x25\\xf3\\x55\\x6b\\x39\\x65\\xcf\\xd3\\x2b\\x72\\x4a\\x3c\\xa2\\x15\\xca\\x8b\\xfa\\x34\\xce\\x5b\\x57\\xe4\\x13\\x4e\\xa1\\xe6\\xcf\\xa1\\x9b\\x23\\x46\\x73\\x7a\\x7c\\x2f\\x70\\xf5\\x28\\x67\\xce\\x3b\\x7f\\xde\\x08\\xb4\\xb3\\x6f\\xf9\\x5d\\x94\\x2a\\x11\\xc6\\x55\\x59\\xcd\\x79\\x73\\x11\\x1d\\x8f\\x72\\xba\\xcb\\xb9\\x29\\x7f\\x99\\xe3\\xb7\\xeb\\x0e\\x1d\\x1f\\x16\\x5f\\x38\\xdb\\xe9\\xc3\\xb4\\xf5\\x9a\\x56\\xf4\\x1c\\x37\\xf3\\x38\\x7f\\xce\\x93\\x81\\xea\\x38\\xc7\\xfa\\xd9\\x7a\\x8b\\x3b\\x0d\\xfb\\x46\\xf9\\x72\\xad\\x8b\\x97\\x64\\x87\\xfc\\xa2\\x1d\\x91\\xe5\\x5a\\x4f\\x99\\xac\\x1d\\xb8\\xa5\\x8d\\x2a\\x89\\x76\\xc0\\xbf\\xfe\\x9d\\x84\\x6b\\xd7\\x24\\xcc\\x77\\x58\\xfd\\x60\\xfc\\x6a\\x7e\\x3b\\x41\\xdf\\xbd\\x52\\xaa\\x28\\xcc\\xf8\\xcd\\x2f\\xe7\\x98\\x66\\x7b\\x48\\xa2\\x6d\\xc7\\xad\\x7a\\xda\\xe5\\x7b\\x14\\x5e\\xf7\\xcb\\x2f\\x4a\\x93\\x23\\xaa\\xe2\\xdf\\xf2\\xc8\\x0b\\x17\\x9c\\x81\\xef\\xb5\\x78\\x47\\x6b\\x27\\x03\\x8e\\x15\\xd4\\xcb\\x38\\xf0\\x29\\x6f\\x6e\\xb2\\x12\\xd2\\x09\\x1c\\x14\\x29\\x55\\x0f\\x0c\\x06\\x2f\\x01\\xee\\x4b\\x67\\x81\\xad\\x22\\xa1\\xb0\\x52\\xa6\\x3a\\xa0\\x2f\\x0c\\x7d\\xe1\\xbd\\xc0\\x4e\\x91\\x08\\xf4\\x44\\x8e\\x06\\xf4\\x97\\xed\\x06\\xb0\\x11\\x95\\x0a\\xe6\\x8a\\x44\\x23\\x53\\xbe\\x32\\xc0\\x46\\x05\\xfa\\x2b\\xa2\\xa3\\x22\\x75\\x5f\\x89\\x67\\x31\\xf4\\xc7\\x9c\\x12\\xa9\\x3c\\x43\\xc4\\xfc\\x77\\xe8\\xb1\\xdf\\x88\\x54\\xa1\\xbf\\x0a\\xfe\\xb9\\xf1\\x27\\x6e\\xbe\\x48\\x3c\\x7a\\xe2\\x19\\x9b\\xb0\\x58\\xa4\\x2a\\x3e\\x25\\x72\\x9f\\x38\\x5d\\x24\\xa9\\x26\\x58\\x22\\x52\\x0d\\xdf\\xaa\\xa1\\xa3\\x3a\\x76\\xab\\xe3\\x4b\\x8d\\xaa\\x80\\xd8\\x92\\x91\\x4b\\x46\\x57\\x32\\x7e\\x27\\xa3\\xab\\x96\\x5b\\xa4\\x36\\xf6\\x6a\\xe7\\x8b\\xa4\\x10\\x57\\x2a\\xba\\xea\\x94\\x16\\xa9\\x8b\\x5c\\xdd\\xf3\\x22\\x69\\xf0\\x50\\x8f\\xad\\x58\\x3d\\x74\\xd4\\x6f\\x24\\xd2\\x80\\xfb\\x86\\xc4\\xda\\x70\\x8b\\x48\\x23\\xfc\\x4e\\x27\\xc6\\xc6\\x5e\\x91\\x26\\x70\\xd3\\x04\\xf9\\xa6\\xe8\\x69\\xc6\\x75\\x33\\x62\\x69\\x3e\\x49\\xc4\\x83\\x5d\\x0f\\x99\\xf2\\xe2\\x53\\x0b\\x74\\xb4\\x64\\x5c\\xab\\x11\\x80\\x67\\xad\\xd1\\x9b\\x81\\x9f\\x6d\\xc9\\x7f\\x3b\\x6c\\xb6\\x23\\xbe\\x0e\\x36\\x91\\x8e\\xf8\\xd4\\x11\\x3b\\x9d\\xd0\\xdd\\x19\\x74\\x81\\xff\\x2e\\x70\\xd1\\x05\\xff\\xba\\x1e\\x13\\xe9\\xc6\\x64\\xee\\x46\\xac\\xdd\\xe9\\xeb\\x11\\x25\\xd2\\x93\\xfb\\x9e\\xad\\x45\\x7a\\xe1\\x87\\xb9\\x68\\x64\\x62\\x3f\\xf3\\x6d\\x91\\xde\\x15\\xc0\\x42\\x91\\xbb\\x19\\x7f\\x37\\xf6\\xef\\xfe\\x43\\x24\\x8b\\x18\\xb2\\x88\\x3b\\x9b\\xf8\\xb2\\x89\\x35\\x1b\\x2e\\xb3\\xf1\\x2b\\x9b\\xbe\\x7b\\x90\\xeb\\x83\\x9e\\x3e\\xd8\\xee\\x83\\x7c\\x9f\\xc3\\x22\\x7d\\xf1\\xa7\\x2f\\x63\\xfa\\xe2\\x63\\x5f\\xec\\xf7\\xdd\\x0b\\x90\\xed\\x47\\x1c\\xfd\\x88\\xb1\\x3f\\xdc\\xf5\\x67\\x5c\\x7f\\xe2\\xe9\\x8f\\xaf\\xfd\\xe1\\x7c\\x00\\xb9\\xcc\\x81\\xf7\\x1c\\x6a\\x21\\x07\\x3e\\x72\\xe8\\x1b\\x88\\x9f\\x03\\xd1\\x3d\\x10\\xff\\x07\\x31\\x76\\x10\\x63\\xef\\x65\\xec\\xbd\\x8c\\xbd\\x97\\xb1\\xf7\\x22\\x77\\x2f\\xf1\\x0f\\x41\\x66\\x08\\x35\\x33\\x84\\xbc\\x0e\\xa1\\x6e\\x86\\x12\\xcf\\x50\\xe2\\x19\\x8a\\xaf\\x43\\xc9\\xdb\\x50\\xf2\\x36\\xf4\\x8a\\xc8\\x7d\\x8c\\xcf\\x65\\x7c\\x2e\\xe3\\x73\\x19\\x9f\\x8b\\xed\\x5c\\xea\\xe4\\x7e\\x38\\xbd\\x9f\\xfb\\x61\\x70\\x3c\\x8c\\xd8\\x87\\x51\\x23\\xc3\\xf0\\x77\\x38\\xf1\\x0e\\xc7\\xaf\\x11\\x4d\\x01\\xfa\\x47\\xa0\\x7f\\x04\\xfa\\x47\\xa2\\x7f\\x24\\xcf\\x46\\x52\\x1b\\x23\\xe1\\x73\\x24\\xb9\\x1a\\x49\\x1e\\x1f\\x80\\xbb\\x07\\xa8\\xbd\\x07\\x26\\x00\\xb8\\x7c\\x00\\xbf\\x47\\xc1\\xf3\\x28\\xb8\\x18\\x05\\x3f\\xa3\\xe0\\x7f\\x34\\xfd\\xa3\\xe9\\x1f\\x43\\xff\\x18\\xfa\\xc7\\xc0\\xd1\\x18\\x38\\x1a\\x03\\x47\\x63\\xf0\\x71\\x2c\\xb9\\x1f\\x4b\\x9d\\x8f\\x45\\x76\\x2c\\xb5\\x32\\x96\\xf8\\xf2\\xe0\\x21\\x8f\\x18\\xf3\\xd0\\x91\\x07\\xc7\\x79\\x8c\\x1f\\xc7\\xf8\\x71\\x8c\\x1f\\xc7\\xf8\\xf1\\x3c\\x7b\\x10\\x1f\\x1f\\xc4\\xff\\x07\\xf1\\xff\\x41\\xfc\\x7f\\x10\\xff\\x1f\\xa2\\xae\\x1f\\xc2\\xc7\\x87\\xf0\\xf1\\x21\\x74\\x3d\\x84\\xae\\x09\\xc8\\x4e\\x20\\xd6\\x09\\x70\\x32\\x01\\x7b\\x0f\\x13\\xd3\\xc3\\xe4\\xec\\x11\\xf4\\x3d\\x82\\xdc\\x23\\xc4\\xf2\\x08\\xb1\\x4c\\x84\\xa7\\x89\\xf0\\x34\\x11\\xd9\\x89\\xc8\\x4e\\x84\\xbb\\x49\\xf8\\x36\\x09\\x3d\\x93\\xa9\\x99\\xc9\\xf0\\x31\\x99\\xb1\\x93\\x19\\x3b\\x85\\xb1\\x53\\xf0\\x65\\x0a\\xbe\\x4c\\x81\\xd3\\x47\\xe1\\x7c\\x2a\\xbe\\x4e\\xc5\\xd7\\xa9\\x3c\\x9f\\x46\\x3d\\x4c\\x23\\x1f\\xd3\\x78\\x3e\\x0d\\xff\\x1e\\x43\\xe6\\x5f\\xc4\\x30\\x9d\\x71\\xd3\\x19\\x37\\x1d\\xbf\\xa7\\xd3\\x3f\\x1d\\xbf\\xa7\\xe3\\xf7\\xe3\\xf8\\xfd\\x38\\x7e\\x3f\\x3e\\x0b\\x90\\xf7\\xc7\\xf1\\xe7\\x09\\x38\\x78\\x02\\xdf\\x9f\\x40\\xef\\x13\\xf4\\x3f\\x81\\xee\\x27\\xd0\\xfd\\x24\\xb9\\x78\\x92\\xfb\\x19\\xd4\\xce\\x0c\\x6a\\x87\\xdd\\x81\\xcc\\xa0\\x76\\x9e\\x22\\xa7\\x4f\\xe1\\xe7\\x53\\xf8\\xf9\\x14\\xb2\\x4f\\x61\\x6f\\x26\\xf3\\x65\\x26\\x7d\\x33\\xb1\\x37\\x13\\xce\\x67\\x62\\x6f\\x26\\xf6\\x9e\\x26\\x97\\x4f\\x93\\xe7\\xa7\\xa9\\xeb\\xa7\\xa9\\xeb\\xa7\\xe1\\x65\\x16\\xb1\\xce\\x22\\x0f\\xb3\\x88\\x65\\x16\\xf1\\xcf\\xc6\\xa7\\x67\\xe8\\x9b\\x83\\xcf\\x73\\xc8\\xf3\\x1c\\x64\\xe6\\xc2\\xcd\\x3c\\x6c\\x3f\\xcb\\xdc\\x7e\\x96\\x79\\xf2\\x1c\\xbe\\x3e\\x87\\xce\\xf9\\xf8\\x68\\xfe\\xd3\\x96\\xe7\\xe1\\xfb\\x05\\xf2\\xfd\\x22\\x5c\\xbe\\x88\\xfd\\x97\\xb8\\x7e\\x19\\x1e\\x5e\\xc6\\xbf\\x57\\x90\\x5b\\x40\\x9d\\x2c\\xc4\\x9f\\x85\\xe8\\x59\\x48\\xdf\\x22\\xda\\x57\\xf1\\xfb\\x55\\x7c\\x7e\\x0d\\x5f\\x5f\\x83\\xf3\\xc5\\xc4\\xf4\\x3a\\x76\\x5f\\x67\\xdc\\xeb\\xf8\\xfa\\x06\\xf1\\xbd\\x49\\x5d\\x2f\\x41\\x6e\\x09\\x7e\\xfd\\x9b\\x1c\\xbc\\xc5\\x7a\\xb0\\x94\\xf9\\xbf\\x94\\x5a\\x5e\\xca\\x98\\xb7\\x89\\xed\\x1d\\xf8\\x78\\x87\\xe7\\xcb\\x88\\x75\\x19\\xfc\\x2d\\xa7\\x6f\\x05\\xfc\\xbf\\x4b\\xac\\xef\\x52\\x6b\\x2b\\xc9\\xed\\x7b\\xf8\\xf8\\x1e\\x3e\\xe5\\xe3\\x43\\x3e\\xef\\xa6\\x55\\xe8\\x5a\\xcd\\xb8\\x35\\xc4\\xb3\\x86\\xf8\\xd6\\x92\\x93\\x75\\x3c\\x5b\\x0f\\xc7\\xeb\\x79\\xb6\\x9e\\xda\\xdf\\x40\\x1e\\x36\\x90\\xbf\\x0d\\xc4\\xba\\x81\\x98\\x37\\xe2\\xd7\\x46\\xfc\\xdd\\x48\\xed\\x6c\\x44\\x66\\x23\\xf5\\xb3\\x11\\xb9\\x8d\\xd8\\xdc\\xc4\\xb8\\x4d\\x3c\\xdf\\x84\\xbf\\x9b\\xe0\\x76\\x13\\xdc\\x6e\\x42\\xef\\x66\\xe2\\xd9\\x0c\\xb7\\x9b\\xa9\\xf1\\xcd\\xe8\\x79\\x9f\\xfa\\x78\\x9f\\xfa\\x7d\\x9f\\xf8\\xdf\\xa7\\xbe\\xde\\x47\\x66\\x0b\\x7c\\x6f\\xc1\\xf7\\x2d\\xf4\\x6d\\x41\\xe7\\x16\\x6c\\x7d\\x80\\xef\\x1f\\xc0\\xc7\\x07\\x70\\xf0\\x01\\x7c\\x7d\\x48\\xbc\\x1f\\xd1\\xbf\\x15\\x7f\\xb7\\xc2\\xc1\\x56\\x7c\\xd8\\x8a\\xec\\x56\\xec\\x6f\\xc5\\xfe\\x36\\xec\\x6c\\x23\\xaf\\xdb\\xc8\\xe1\\x36\\xb8\\xd8\\x46\\x8c\\xdb\\x89\\x79\\x3b\\x5c\\x6d\\xa7\\xee\\xb6\\xc3\\xc7\\x76\\x78\\xd9\\x41\\x5d\\xed\\x20\\x57\\x3b\\x89\\x6d\\x27\\xd7\\x3b\\xe9\\xdb\\x09\\x8f\\xbb\\xc8\\xdb\\x2e\\x78\\xda\\x85\\x0f\\xbb\\x88\\x79\\x17\\x36\\x77\\x23\\xb3\\x1b\\x99\\xdd\\xe4\\x78\\x37\\xdc\\xed\\xa6\\x6f\\x0f\\xb9\\xd8\\x03\\x4f\\x7b\\xe8\\xdb\\x43\\xdf\\x1e\\x72\\xbd\\x17\\x3b\\x7b\\xe9\\xdb\\x4b\\x8e\\xf7\\xd2\\xb7\\x97\\xbe\\x7d\\xe4\\x74\\x1f\\x7d\\xfb\\xe0\\x6b\\x1f\\x5c\\xed\\xa3\\xef\\x63\\xc6\\x7e\\x4c\\xdf\\xc7\\xf4\\x7d\\x0c\\xdf\\x1f\\x93\\x9b\\x8f\\x89\\xff\\x13\\x6c\\x7f\\x82\\x0f\\x9f\\x32\\xf6\\x53\\xe4\\xf6\\x33\\x76\\x3f\\x1c\\x7e\\x06\\x3f\\x07\\xa8\\xe7\\x83\\xc4\\x7a\\x88\\xb1\\x87\\x18\\x73\\x88\\x78\\x3f\\x87\\xeb\\xcf\\xa9\\xcb\\xcf\\xe1\\xe8\\x73\\xe2\\xfa\\x9c\\xbe\\x2f\\xe0\\xf5\\x0b\\xd6\\xa3\\x2f\\xf0\\xe1\\x0b\\xf4\\x7c\\x01\\x5f\\x87\\xf1\\xff\\x30\\xfe\\x1f\\xc6\\xd7\\x23\\xc8\\x1f\\xe5\\xfe\\x28\\x31\\x7c\\x09\\x1f\\xc7\\x90\\x3b\\x8e\\xdc\\x57\\xe8\\xfc\\x9a\\xbc\\x7c\\x03\\x67\\x27\\xe8\\x3f\\x01\\x97\\xdf\\x52\\xaf\\x27\\xc9\\xe3\\x29\\x74\\x9e\\x62\\xec\\x77\\xf0\\x5d\\xc0\\xf8\\x02\\xb8\\x3f\\x8d\\x8e\\x33\\xcc\\xd7\\xb3\\xf8\\x70\\x16\\x9e\\xce\\x91\\xd7\\x42\\x7c\\x38\\x0f\\xcf\\xe7\\x19\\xf7\\x3d\\xcf\\x7e\\xe0\\xfa\\x82\\x09\\x78\\xbe\\x88\\xff\\x97\\xc8\\xc9\\x8f\\xdc\\xff\\x48\\x4d\\xff\\x84\\x5f\\x97\\x89\\xfb\\x67\\x78\\xfe\\x05\\xff\\x7f\\x25\\xf6\\x5f\\xc9\\xff\\xaf\\xd4\\xc4\\x15\\xb8\\xf9\\x0d\\x9b\\xbf\\x31\\xcf\\xae\\x32\\xee\\x2a\\xf1\\xff\\x8e\\xed\\xdf\\x19\\xf7\\x07\\xf3\\xff\\x4f\\x6a\\xe4\\x1a\\xf2\\xd7\\xe0\\xec\\x3a\\x7e\\x5d\\xc7\\xde\\x0d\\x7c\\xbe\\x41\\x5b\\xc4\\x7d\\xd1\\x31\\xff\\xbf\\x43\\x31\\x26\\x70\\xbc\\x6c\\xc7\\xc9\\x17\\x68\\x41\\xe0\\xa0\\x28\\x3d\\x15\\x78\\x45\\xd9\\xdc\\xe0\\x8a\\x28\\xfb\\x16\\x51\\x8e\\x46\\x60\\xad\\x28\\x67\\x37\\xf0\\xa9\\x28\\xf6\\x34\\x8a\\x3d\\x8d\\x0a\\xae\\x09\\x76\\x8a\\x0a\\xc9\\x11\\x55\\xca\\xc4\\x29\\x51\\xa5\\xe7\\x8b\\x0a\\xad\\x0a\\x6e\\x88\\x2a\\xc3\\x75\\x18\\xd7\\xe1\\xa5\\xc1\\x37\\x6c\\x71\\x47\\x03\\xc6\\x45\\xe6\\x02\\x9e\\x97\\xcd\\x02\\x7f\\x88\\x8a\\xc2\\x46\\xf4\\x60\\x51\\xe5\\x5a\\x03\\x7c\\x28\\xdf\\x17\\x9c\\x17\\x55\\x61\\xaa\\xa8\\x8a\\xd8\\xae\\x88\\xde\\x4a\\xe8\\x8a\\xc1\\x46\\x0c\\x3a\\x2a\\x57\\x06\\x73\\xc1\\x61\\x51\\xb1\\xf9\\xa2\\xaa\\xcc\\x12\\xe5\\x62\\xbc\\x7b\\x84\\xa8\\xb8\\xad\\xa2\\x12\\x88\\xa1\\x6a\\x3d\\x51\\x89\\x8c\\x4d\\xa2\\xaf\\x1a\\xcf\\xab\\x63\\xab\\x3a\\xf2\\x35\\xd0\\x7f\\x17\\x7a\\x92\\xf1\\xab\\x26\\x31\\xd7\\x44\\x4f\\x2d\\xe4\\x6b\\x2d\\x11\\x55\\x3b\\x0a\\xcc\\x10\\x95\\x42\\xec\\x29\\x2b\\x44\\xa5\\x76\\x02\\xc8\\xa7\\x62\\xbf\\x8e\\x0d\\xf0\\xbc\\x0e\\xe3\\xea\\xa0\\xbb\\x0e\\xbe\\xd5\\x21\\x96\\xba\\xf8\\x5c\\x17\\x9b\\x75\\x91\\xab\\x8b\\x5c\\x1a\\x63\\xd3\\x88\\x2f\\x0d\\xbe\\x98\\xe6\\xaa\\x1e\\xba\\xeb\\xe1\\x5b\\x3d\\x38\\xab\\x37\\x1d\\x98\\xfd\\x67\\x44\\xd5\\x47\\xae\\x3e\\x71\\xd6\\x7f\\x1b\\x1c\\x13\\xd5\\x00\\xbd\\x0d\\x88\\xad\\x01\\xcf\\x1b\\xc0\\x7b\\xc3\\xa6\\x00\\x3d\\x0d\\xd1\\xdb\\x08\\xdb\\x8d\\x26\\x01\\xe4\\xd2\\xf1\\x3d\\x1d\\xce\\x1b\\x33\\xbe\\x31\\x7d\\x4d\\x2a\\x80\\x5e\\x80\\x31\\x4d\\x89\\xa7\\x29\\xf7\\x4d\\xc9\\x53\\xd3\\x97\\x00\\xfe\\x34\\xab\\x0e\\x18\\xd3\\x8c\\xfb\\x66\\xe6\\x3d\\x72\\xcd\\xd1\\xdd\\x7c\\x23\\x80\\x7b\\x0f\\x1c\\x79\\xa8\\x03\\xf6\\x56\\xca\\x8b\\xac\\x17\\x5f\\xbd\\xe4\\xa3\\x05\\x7a\\x5a\\xc0\\x5b\\x0b\\x6c\\xb6\\x24\\xee\\x96\\xe8\\x6c\\x09\\x37\\x2d\\xb1\\xdd\\x0a\\x3b\\xad\\xa8\\x91\\x56\\x70\\xd7\\x8a\\xd8\\x5b\\x5d\\x16\\xd5\\x9a\\xb1\\xad\\xc9\\x51\\x6b\\xf4\\xb4\\x26\\xd7\\x6d\\x88\\xa7\\x0d\\x75\\xd5\\x06\\x9e\\xda\\x10\\x43\\x06\\xcf\\x33\\xb0\\x93\\x81\\xce\\x0c\\x72\\x96\\x01\\x07\\x6d\\xe1\\xa6\\x2d\\x3a\\xda\\x62\\xa3\\xed\\x45\\xa1\\x0c\\x01\\xb6\\xda\\x21\\xdb\\x8e\\x7c\\xb5\\x43\\xb6\\x1d\\x7c\\xb4\\x43\\x5f\\x7b\\x6c\\xb6\\x87\\xeb\\xf6\\xe8\\x6b\\x0f\\x67\\xed\\xd1\\xd9\\x01\\xf9\\x0e\\xd8\\xe9\\x80\\xcf\\x1d\\xc8\\x5f\\x07\\xf2\\xd1\\x11\\xae\\x3a\\xc2\\x6b\\x47\\xf4\\x76\\x24\\xde\\x4e\\xe8\\xea\\x44\\x1e\\x3b\\xc1\\x55\\x27\\xf4\\x74\\x86\\xb7\\xce\\xf0\\xc1\\x7e\\x50\\x75\\x86\\x8b\\x2e\\xc8\\x76\\x41\\x67\\x17\\xee\\xbb\\x20\\xdf\\x15\\x1b\\x5d\\xe1\\xbd\\x2b\\xb6\\xbb\\x62\\xbb\\x2b\\x63\\xba\\xc1\\x45\\x37\\x62\\xe9\\x86\\x8e\\x6e\\xf8\\xdd\\x1d\\x1d\\xdd\\xb9\\xee\\x4e\\x1c\\xdd\\x19\\xc3\\xde\\x51\\xf5\\x40\\x47\\x0f\\xe2\\xef\\x01\\x17\\x3d\\xe1\\xb7\\x27\\x75\\xd7\\x13\\x9f\\x7a\\x12\\x5b\\x2f\\x7c\\xea\\xc5\\xf3\\x4c\\x7c\\xcd\\x24\\x4e\\xf6\\x93\\xaa\\x37\\xfa\\xb2\\xe0\\x39\\x8b\\xfb\\x6c\\x7c\\xcc\\xc6\\x5e\\xf6\\x5e\\x80\\x4f\\xf7\\xa0\\xff\\x1e\\xb8\\xba\\x07\\xfb\\xf7\\x30\\x0f\\xfa\\xe0\\x7f\\x1f\\xe4\\xfa\\x32\\xbe\\x2f\\x7a\\xfb\\xd2\\xdf\\x17\\xbd\\xec\\x1f\\x55\\x3f\\x62\\xef\\x87\\xef\\xfd\\xa8\\xed\\x7e\\xc8\\xf6\\xa3\\xaf\\x3f\\xb9\\xe9\\x4f\\x4d\\xf4\\x27\\x0e\\xf6\\x93\\xaa\\x3f\\x5c\\xf4\\xc7\\x97\\xfe\\xe4\\xa6\\x3f\\x1c\\xb1\\xb7\\x54\\xfd\\xb1\\x33\\x00\\x1f\\x06\\x50\\x93\\x03\\xc8\\x61\\x0e\\x36\\x73\\xe0\\x35\\x07\\x5e\\x07\\x86\\x03\\xee\\x07\\x92\\x83\\x81\\xf8\\x34\\x90\\x3a\\x19\\x04\\xff\\x83\\xd0\\x39\\x08\\x3d\\x83\\xb8\\xbf\\x17\\x9e\\xee\\x25\\xde\\xc1\\xc8\\x0e\\x46\\xcf\\x60\\x64\\x07\\x63\\x6f\\x30\\xbe\\x0d\\x61\\x7e\\xb0\\xff\\x54\\x43\\x90\\x1f\\x82\\x7f\\x43\\x89\\x77\\x28\\x31\\x0e\\xa5\\xd6\\x86\\x2e\\x06\\xf0\\xc6\\xfe\\x53\\xdd\\xc7\\xfd\\x7d\\x8c\\xbd\\x0f\\x9d\\xf7\\x31\\x2e\\x97\\xfb\\x5c\\xee\\x73\\xd1\\x75\\x3f\\x31\\xdc\\x4f\\xcd\\x0d\\xc3\\x8f\\x61\\xf8\\x3a\\x9c\\xf1\\xc3\\xc9\\xd5\\x70\\x78\\x1a\\x0e\\x6f\\xc3\\xe1\\x63\\x04\\xeb\\xc0\\x08\\x6c\\xb0\\xef\\x54\\x0f\\xc0\\x0d\\xfb\\x4b\\x35\\x8a\\x39\\x34\\x1a\\xdb\\xa3\\x79\\x3e\\x06\\x5e\\xc6\\x32\\x66\\x2c\\x5c\\xe5\\x91\\xf3\\x3c\\xf8\\x19\\x87\\xed\\xf1\\xd8\\x79\\x10\\x9f\\x1e\\x44\\x27\\x7b\\x42\\xc5\\x3e\\x50\\x4d\\x40\\xcf\\x04\\xe2\\x7a\\x18\\x5f\\x1e\\x21\\x7f\\x13\\xc9\\xe9\\x44\\xc6\\x4d\\x42\\xe7\\x64\\x6c\\x4e\\xc6\\xdf\\xc9\\xf8\\x31\\x05\\x3b\\x53\\x90\\x9d\\x02\\x6f\\x8f\\x32\\xa7\\xa6\\x62\\x63\\x1a\\x7a\\xa6\\x61\\x73\\x1a\\x5c\\x3f\\x86\\xef\\xff\\xc2\\xf7\\xe9\\xe8\\x98\\x8e\\xbd\\xc7\\x99\\x33\\x4f\\x10\\xc3\\x13\\x70\\xfe\\x24\\x79\\x7c\\x92\\x1c\\xcc\\x40\\xdf\\x0c\\xea\\xe4\\x29\\x7c\\x99\\xc9\\x1a\\xfa\\x34\\x71\\xcc\\xa2\\x46\\x66\\x2d\\x14\\x35\\x9b\\x98\\x67\\xf3\\xec\\x19\\xc6\\xce\\x81\\xfb\\xb9\\x8c\\x9f\\x87\\xce\\x67\\xd1\\xf1\\x2c\\x3a\\x9e\\x63\\xec\\x7c\\x38\\x9a\\x4f\\x1e\\x9f\\xc7\\xfe\\x0b\\xf0\\xfb\\x02\\x6b\\xcb\\x0b\\xf8\\xf3\\x02\\xf9\\x78\\x11\\x7d\\x2f\\xe2\\xeb\\x8b\\xe4\\xf1\\x45\\xe4\\x5f\\x44\\xd7\\x4b\\xd4\\xcc\\xcb\\xe8\\x7f\\x19\\x9d\\xaf\\x50\\x87\\xaf\\x30\\x6e\\x01\\x76\\x16\\x70\\xbd\\x80\\xd8\\x17\\xc2\\xd9\\x42\\xf2\\xb2\\x08\\xff\\x16\\xc1\\xd7\\x22\\xe4\\x17\\x99\\xf7\\xf8\\xf7\\x2a\\x3a\\x5f\\x23\\xde\\xd7\\x88\\x7d\\x31\\xb1\\x2f\\xe6\\x7a\\x31\\xb6\\x5e\\x47\\xdf\\xeb\\x70\\xf4\\x3a\\xfc\\xbc\\x4e\\x4c\\x1c\\xfb\\xd5\\x1b\\xe4\\xe5\\x0d\\xfc\\x7a\\x93\\x76\\x09\\x7e\\x2f\\x81\\xcf\\x7f\\xc3\\xcd\\xbf\\xe1\\xf1\\x2d\\x74\\xbe\\x05\\x3f\\x6f\\xe1\\xff\\x5b\\xc4\\xf9\\x16\\xcf\\x96\\x52\\x53\\x4b\\xc9\\xc3\\x52\\x64\\x96\\x32\\xe6\\x6d\\xb8\\x7f\\x1b\\x7f\\xde\\xc1\\xce\\x3b\\xdc\\x2f\\x23\\x4f\\xcb\\xe0\\x60\\x39\\xf1\\x2f\\x27\\x4f\\x2b\\xb0\\xfb\\x2e\\x3c\\xaf\\x84\\xaf\\x95\\xf4\\xaf\\x44\\xef\\x7b\\xf0\\x9f\\x4f\\x1c\\xab\\xe0\\x64\\x35\\x1c\\xad\\xa6\\x16\\xd6\\xc0\\xff\\x5a\\xf4\\xae\\x45\\xef\\x5a\\xec\\xae\\xc3\\xcf\\x75\\xe8\\x5d\\x4f\\x6c\\xeb\\x89\\x63\\x03\\xbe\\x6f\\x80\\xb7\\x0d\\xf0\\xb6\\x01\\x9d\\x1b\\x88\\x71\\x03\\xb6\\x37\\xc2\\x15\\xfb\\x33\\xb5\\x09\\xdd\\x9b\\x19\\xf7\\x3e\\x32\\xec\\xb7\\xd4\\x07\\xbc\\xbf\\x3e\\x80\\xd3\\x0f\\xe1\\xec\\x23\\x74\\x7e\\x44\\x6d\\x6d\\x45\\x7e\\x2b\\x73\\x6e\\x1b\\x31\\x6c\\xa7\\x8f\\x3d\\x93\\xda\\x81\\xbe\\x1d\\xe8\\xdb\\x81\\xbe\\x1d\\xe8\\xd8\\x81\\x7f\\x3b\\x59\\x2f\\x77\\x71\\xbf\\x0b\\xf9\\x5d\\xc8\\xef\\xc6\\xf6\\x6e\\xe6\\xc7\\x1e\\x5a\\xf3\\x3f\\x5f\\xc7\\x3e\\x48\\xb1\\xf7\\x51\\x1f\\xc3\\xeb\\x27\\xf8\\xfe\\x29\\xf3\\xe9\\x53\\x62\\xda\\x4f\\xec\\x9f\\xf1\\xfc\\x33\\x78\\x38\\x80\\xee\\x83\\xf8\\x7e\\x08\\x7c\\x4e\\x9c\\x5f\\xc0\\xf1\\x11\\x74\\x1c\\x61\\x2d\\x3a\\xca\\xdc\\xfe\\x92\\xe7\\xc7\\xe0\\xf5\\x38\\xbe\\x1c\\x87\\xf7\\xe3\\xf8\\x7a\\x1c\\x7e\\xbf\\xc2\\xcf\\xaf\\xf1\\xe1\\x1b\\xf4\\x9d\\x80\\xfb\\x6f\\x91\\x3f\\x45\\x2c\\xa7\\xa8\\xcd\\x53\\xc4\\xf5\\x1d\\x3e\\x7c\\xc7\\xd8\\x02\\xf8\\x2c\\x60\\xee\\x16\\x60\\xab\\x80\\x71\\xa7\\xa9\\xa1\\xd3\\x70\\x7a\\x06\\xdf\\xcf\\x91\\x8b\\x73\\xd4\\x4d\\x21\\x36\\xcf\\xa3\\xfb\\x7b\\xf8\\xff\\x1e\\x3d\\x3f\\x70\\x7f\\x81\\x71\\x17\\xf0\\xfd\\x02\\xcf\\x2f\\x32\\xbf\\x2e\\xc1\\xf3\\x25\\x6c\\xff\\x48\\x3d\\xfc\\x44\\x5c\\x97\\xc1\\xcf\\xc4\\xfd\\x0b\\xbc\\xfd\\x42\\xfe\\x7e\\x25\\x07\\x57\\x90\\xff\\x8d\\xfc\\x5c\\x25\\x4e\\xf6\\x2d\\xea\\x77\\xe2\\xfe\\x1d\\x3f\\xff\\x40\\xf7\\x9f\\xf8\\xff\\x27\\x76\\xaf\\x11\\xe3\\x75\\xae\\x6f\\x98\\x20\\x5f\\x45\\xf8\\xe5\\xa3\\xdf\\x47\\x7e\\x8c\\x33\\xa2\\xb1\\x67\\xd1\\x64\\xa3\\x68\\xaa\\x35\\x38\\x28\\x9a\\x96\\x03\\xae\\x88\\xa6\\x4f\\x15\\xcd\\xd6\\x09\\x70\\x6d\\x5f\\x28\\x9a\\x83\\x6b\\xa7\\x0d\\xcc\\x00\\x2f\\x89\\x16\\x34\\x41\\xb4\\x60\\x64\\x43\\x7a\\x89\\x56\\x2a\\x0b\\xe4\\x02\\xfa\\x4b\\xed\\x15\\xad\\xf4\\x2c\\xd1\\x42\\xd1\\x1b\\x7a\\x5e\\xb4\\x32\\x93\\x44\\x0b\\xab\\x0c\\xb6\\x88\\x16\\x8e\\x6c\\xf8\\x29\\xd1\\x22\\xe8\\x8b\\xac\\x00\\xb0\\x5f\\x76\\x2e\\x58\\x0c\\x0e\\x8b\\x16\\x85\\xfe\\xa8\\xa6\\x60\\x34\\xc0\\x7e\\x14\\xcf\\xa2\\xb6\\x82\\xcb\\xa2\\x45\\x0b\\x08\\x07\\xf8\\x19\\x8d\\xed\\xe8\\x15\\x00\\x5d\\xe5\\xa2\\x00\\xb6\\xca\\xe1\\x67\\x79\\xc6\\x97\\xaf\\x07\\x06\\x03\\x7c\\x29\\xff\\xa9\\xf5\\x9f\\x2c\\xd4\\x2a\\xd0\\x57\\x01\\x5b\\x15\\xdf\\x06\\xdf\\x88\\x56\\x09\\x3d\\x95\\xd0\\x53\\x09\\x3d\\x95\\xe8\\xab\\x74\\x4c\\xb4\\x98\\xd2\\xc0\\x0b\\xc6\\x01\\xfa\\x62\\x90\\xab\\x8c\\x5c\\x65\\xee\\xd9\\x1b\\x69\\xb1\\x41\\x00\\xdf\\x62\\x6f\\x88\\x56\\x25\\x5f\\x34\\x17\\x31\\xbb\\xb1\\xe7\\x46\\x36\\x0e\\xfb\\x71\\x70\\x17\\x87\\x3f\\xf1\\xf8\\x9b\\xc0\\xf3\\xaa\\xf8\\x9e\\x38\\x42\\xb4\\xa4\\x54\\x70\\x51\\xb4\\x6a\\x6b\\x45\\xab\\x8e\\xbd\\x1a\\x35\\x01\\xba\\x6b\\xd0\\x57\\x03\\x5d\\x77\\xcd\\x17\\x2d\\x99\\x67\\xc9\\x3b\\x01\\x76\\x6a\\xc2\\x4d\\x2d\\x37\\x60\\x5c\\x2d\\xfc\\xa9\\xd5\\x0d\\xc0\\x73\\x2d\\xf4\\xd7\\x26\\xae\\xda\\x4b\\x44\\x4b\\x21\\xe6\\x14\\x72\\x92\\x82\\x7c\\x0a\\x3a\\x52\\xc9\\x49\\x2a\\xe3\\x53\\xe1\\xa0\\x0e\\x79\\x62\\x3f\\xa5\\xd5\\xc1\\x7e\\x1d\\x62\\xae\\x0b\\x4f\\x69\\x70\\x9d\\x46\\x1c\\x69\\xd8\\xad\\x47\\x1c\\xf5\\x1a\\x01\\xf2\\x55\\x8f\\xbc\\xd7\\x83\\xdb\\xfa\\xf8\\x54\\x1f\\xbe\\xd8\\x3f\\x69\\xf5\\x91\\x69\\x80\\x7c\\x03\\xec\\x36\\xe0\\x9a\\xbd\\x93\\xd6\\x90\\xfc\\x34\\x22\\x27\\x8d\\xc8\\x67\\x3a\\x31\\xa4\\xa3\\xb3\\x31\\x7a\\x1a\\x63\\xa3\\x31\\x3a\\x1a\\x63\\xa7\\x09\\x39\\x66\\xef\\xa4\\x35\\x41\\xa6\\x29\\xfa\\xd8\\x37\\x69\\x4d\\xb1\\xd9\\x94\\xb1\\x4d\\xa9\\x89\\x66\\xe4\\xa1\\x19\\x76\\x9b\\xe1\\x6b\\x33\\x6a\\xa1\\x19\\x76\\x9b\\x23\\xd3\\x1c\\x5f\\x3d\\xf0\\xe8\\x41\\xbf\\x87\\x3e\\x2f\\xb9\\xf2\\x32\\xc6\\x4b\\xee\\x5a\\xc0\\x01\\xfb\\x26\\xad\\x25\\xba\\x5b\\xc2\\x71\\x4b\\x62\\x6e\\x45\\x9e\\x5a\\xe1\\x43\\x2b\\x6c\\xb6\\x46\\x57\\x6b\\xb8\\x6b\\x83\\xbf\\x6d\\xe0\\x3c\\x83\\x7c\\x65\\xa0\\xaf\\x2d\\x32\\x6d\\xcd\\x16\\x7d\\xed\\xc8\\x41\\x3b\\xb8\\x69\\x0f\\x77\\xed\\xe1\\xbc\\x03\\xb6\\x3a\\xa0\\xaf\\x03\\x76\\x3a\\xf4\\x05\\xc4\\xdd\\xe1\\x0f\\xd1\\x3a\\xa2\\xa7\\x13\\xf9\\x63\\x2f\\xa3\\x75\\xc6\\xbf\\x2e\\x55\\x01\\xb9\\xec\\x4a\\xfc\\x5d\\xe1\\xb4\\x2b\\xbc\\x77\\x83\\xf7\\x6e\\xf4\\x77\\xc3\\xbf\\x6e\\xd8\\xeb\\x8e\\xdd\\xee\\xd5\\x01\\x71\\x75\\x87\\x87\\x1e\\xc8\\xf6\\x20\\x07\\xbd\\xe0\\xa6\\x17\\xdc\\x65\\xe2\\x73\\x26\\x72\\xbd\\xe1\\xa3\\x37\\xcf\\x7a\\x53\\x67\\x77\\x73\\x7d\\x37\\xd7\\x77\\xa3\\x3b\\x0b\\xdf\\xb2\\x89\\x31\\x9b\\x3c\\x67\\xc3\\x45\\x36\\x79\\xce\\x26\\x9f\\xec\\x55\\xb4\\x3e\\xd4\\x57\\x1f\\xec\\xf4\\x61\\x7c\\x1f\\x64\\xfb\\x90\\xff\\xbe\\xc4\\xdd\\x97\\x98\\xfb\\x62\\xa3\\x1f\\x5c\\xb0\\x37\\xd1\\x06\\x10\\xcf\\x00\\xb8\\x1b\\x80\\xee\\x1c\\xee\\x73\\x68\\x07\\xa2\\x7f\\x20\\xb2\\x03\\xe1\\x68\\x10\\x7a\\x07\\x11\\xe3\\xbd\\xf8\\x79\\x2f\\xed\\x60\\xe4\\x07\\xa3\\x83\\xfd\\x84\\x36\\x04\\x8e\\x87\\xd2\\x0e\\x25\\xef\\xf7\\x51\\x73\\xf7\\x61\\x2f\\x77\\xba\\x68\\xf7\\x53\\x1b\\xec\\x15\\xb4\\xe1\\xe8\\x1b\\x8e\\x3f\\x23\\xe0\\x6f\\x24\\x75\\xc9\\xbe\\x40\\x7b\\x80\\x31\\xa3\\xf0\\x7b\\x34\\xfe\\x8d\\x66\\xdc\\x18\\xfa\\xc6\\xc0\\xdf\\x58\\xae\\xf3\\xe0\\x35\\x0f\\x9e\\xc6\\x61\\x63\\x1c\\x7c\\x8f\\x27\\xb6\\xf1\\x70\\xf9\\x20\\x36\\x1e\\xc4\\xaf\\x87\\x88\\x65\\x02\\xdc\\x4c\\x40\\xe6\\x61\\xc6\\x3f\\x4c\\x4c\\x8f\\xa0\\x77\\x22\\x76\\x26\\xe2\\xeb\\x44\\xf4\\x4c\\x22\\x77\\x93\\xb0\\x3d\\x89\\xfc\\x4c\\x82\\xbf\\x49\\xe4\\x68\\x32\\x63\\x26\\xa3\\x7b\\x32\\xfa\\xa6\\x90\\x8b\\x47\\xf1\\x73\\x2a\\xb9\\x7d\\x0c\\xd9\\x7f\\xa1\\xf7\\x71\\xf8\\x7f\\x82\\xd8\\x9e\\x44\\xff\\x0c\\x74\\x3f\\x45\\x2e\\x66\\x52\\x73\\x4f\\x73\\x3d\\x0b\\xbf\\x66\\x33\\x7e\\x36\\x73\\x65\\x0e\\x72\\x73\\x18\\x3b\\x17\\xfd\\xf3\\xd0\\x3f\\x0f\\x1d\\xcf\\xd2\\xff\\x1c\\x79\\x9f\\x8f\\xfd\\xe7\\xc9\\xfd\\x8b\\xd4\\xe9\\x8b\\xf0\\xff\\x12\\x79\\x7a\\x19\\xbf\\x5e\\x21\\xe7\\x0b\\xb0\\xbd\\x00\\x99\\x85\\xe8\\x5c\\x84\\xce\\x57\\xe9\\x7f\\x95\\xb1\\xaf\\x51\\x9b\\x8b\\xc9\\xcd\\xeb\\xf4\\xbf\\x41\\x6d\\xbd\\x89\\xcc\\x12\\xf4\\xf1\\x8e\\xd6\\xde\\x82\\xa7\\xa5\\xf0\\xf4\\x36\\x31\\xbc\\x43\\x5d\\xbe\\x83\\xfc\\x32\\x9e\\x2d\\xc7\\xcf\\x15\\xe4\\x62\\x05\\xb1\\xbe\\x8b\\xdc\\xbb\\xcc\\x97\\x95\\xe4\\x6f\\x25\\x39\\x7d\\x8f\\x9a\\xc9\\xe7\\x7a\\x15\\xfc\\xad\\xc2\\xc6\\x2a\\xb8\\x59\\x45\\xff\\x6a\\x62\\x58\\x43\\xac\\x6b\\xc8\\xcd\\x1a\\xf4\\xae\\x25\\x1f\\xeb\\x58\\x37\\xd6\\x93\\xdb\\x0d\\xd4\\xe0\\x06\\xe4\\x36\\x12\\xe3\\x46\\xfa\\x37\\xe1\\xdf\\x66\\xfa\\x36\\xe3\\xd3\\xfb\\xd4\\xc8\\x16\\xf8\\xdb\\x02\\xcf\\x1f\\x50\\x5b\\x1f\\xc0\\xcb\\x87\\x3c\\xfb\\x90\\x38\\x3f\\x22\\x3f\\x1f\\xe1\\xc3\\x56\\x62\\xd8\\x8a\\xdd\\x6d\\xc4\\xbb\\x8d\\xb8\\xb7\\x63\\x67\\x3b\\x3c\\x6d\\xa7\\x06\\xb6\\x63\\x63\\x3b\\x3a\\x77\\xa0\\x7b\\x07\\xbc\\xef\\xc0\\x0f\\xde\\xc3\\xda\\x4e\\x64\\x77\\x92\\xbf\\x9d\\xf8\\xb3\\x93\\x31\\x3b\\xf1\\x69\\x27\\xba\\x76\\x51\\x0b\\xbb\\xf0\\x69\\x17\\xfe\\xec\\xa2\\x7f\\x17\\x9c\\xec\\x86\\x3b\\xde\\xd1\\xda\\x6e\\xec\\xef\\xc6\\xd6\\x6e\\x7c\\xd8\\x0d\\xd7\\x7b\\xe0\\x64\\x0f\\x75\\xba\\x07\\x3b\\x7b\\xb0\\xb3\\x07\\x7f\\x79\\x87\\x6b\\x7b\\x91\\xdd\\x0b\\x07\\x7b\\xf1\\x7d\\xaf\\xd9\\x47\\xfc\\xfb\\xc8\\xd7\\x3e\\xf8\\xd8\\x87\\x8e\\x7d\\xac\\x39\\xfb\\xe0\\x7c\\x1f\\x7c\\x7e\\x4c\\xff\\xc7\\xd8\\xfb\\x18\\x3f\\x3e\\x26\\xf7\\x1f\\x13\\xc7\\x27\\xe8\\xfd\\x04\\xce\\x3f\\x41\\xf6\\x13\\xe6\\xc0\\x27\\xf0\\xf1\\x09\\xf1\\x7f\\x42\\x1d\\x7f\\x0a\\xef\\x9f\\xd2\\xff\\x29\\xba\\x3f\\xc5\\xe7\\x4f\\xe9\\xdb\\x4f\\xdf\\x7e\\xea\\x73\\x3f\\xeb\\xc5\\x7e\\x78\\xd9\\x4f\\x7c\\x9f\\xc1\\xff\\x67\\xd8\\xfb\\x8c\\x38\\x3e\\x23\\xe6\\xcf\\xc8\\xdb\\x01\\x7c\\x3b\\x40\\xdc\\x07\\xe0\\xf3\\x00\\x71\\x1c\\xa0\\xae\\x0f\\x10\\xdf\\x41\\xf8\\x3c\\xc8\\xbb\\xe4\\x20\\x6b\\xdd\\x41\\x6c\\x1d\\xc4\\xd6\\x41\\xf4\\x1e\\x42\\xef\\x21\\xf4\\x1e\\x42\\xef\\x21\\xf4\\x1e\\xa2\\x36\\x3e\\x87\\x8b\\xcf\\xe9\\xfb\\x9c\\x18\\x3e\\x87\\xd7\\x2f\\xd0\\xf9\\x05\\xf1\\x7e\\x41\\xbc\\x5f\\x50\\x97\\x5f\\x60\\xe7\\x30\\xb6\\x0f\\xd3\\x77\\x98\\xfc\\x1c\\x86\\x97\\xc3\\xc4\\x7a\\x18\\x3b\\x47\\xd0\\x77\\x04\\xdf\\x8f\\x60\\xfb\\x08\\x1c\\x1e\\xa1\\x6e\\x8e\\x62\\xfb\\x28\\xb6\\x8f\\x32\\xfe\\x28\\xb6\\x8f\\x12\\xff\\x97\\xc4\\xff\\x25\\x75\\xf7\\x25\\xf7\\x5f\\x72\\x7f\\x8c\\x7c\\x1e\\x83\\xe7\\x63\\xf0\\x7c\\x0c\\x7d\\xc7\\xd0\\x77\\x0c\\x7d\\xc7\\x19\\x7b\\x9c\\xb1\\xc7\\x19\\x7b\\x1c\\x3e\\x8e\\xc3\\xf5\\x71\\xb8\\xfe\\x0a\\x4e\\xbf\\x22\\xd7\\x5f\\xe1\\xf7\\x57\\xc4\\xf8\\x15\\x7d\\x5f\\x33\\xef\\xbe\\xc6\\xf6\\xd7\\xf8\\xfd\\x35\\x7d\\x5f\\x63\\xfb\\x1b\\x62\\xf9\\x06\\xee\\xbf\\x41\\xee\\x1b\\xb8\\xff\\x86\\x9c\\x9e\\x40\\xe7\\x09\\xb8\\x3f\\x01\\xef\\x27\\xb0\\x7f\\x02\\x2e\\xbe\\x25\\xc6\\x6f\\x19\\xff\\x2d\\xf1\\x7c\\x4b\\xed\\x7f\\x8b\\x9d\\x6f\\xa9\\x95\\x93\\xc4\\x73\\x92\\x1a\\x3a\\x49\\xee\\x4e\\x32\\xfe\\x24\\xbe\\x9e\\xa2\\xce\\x4e\\x11\\xfb\\x29\\x7c\\x3d\\x85\\x4f\\xa7\\x18\\xff\\x1d\\xe3\\xbf\\x63\\xfc\\x77\\xf8\\xc1\\xde\\x4a\\x2b\\x40\\x7f\\x01\\x79\\x29\\x80\\xd3\\x02\\x38\\x3d\\xcd\\xfc\\x3c\\x4d\\xdf\\x69\\xfa\\x4e\\xa3\\xe7\\x34\\x7e\\x9c\\x41\\xee\\x0c\\xbe\\x9d\\xa1\\xef\\x0c\\x7a\\xce\\xc0\\xeb\\x59\\x74\\x9f\\x25\\xa7\\x67\\xc9\\xd3\\x59\\xc6\\x9e\\x65\\xec\\x39\\xfc\\x3d\\x47\\xac\\xe7\\xf0\\xf7\\x1c\\xbe\\x9d\\x23\\x27\\xe7\\xa8\\xab\\x42\\x38\\x28\\x64\\x7c\\x21\\xb1\\x15\\xa2\\xb3\\x10\\x9d\\xe7\\x91\\x3d\\x8f\\xec\\x79\\xfa\\xce\\x53\\xdb\\xe7\\xe1\\xe0\\x7b\\xec\\x7c\\x8f\\xdc\\xf7\\xd8\\xf9\\x1e\\x3b\\xdf\\x53\\x53\\xdf\\x93\\xfb\\x1f\\x88\\xed\\x07\\xf2\\xfc\\x03\\xb2\\x3f\\x60\\xeb\\x07\\x62\\xbb\\x40\\x1e\\x2e\\x60\\xff\\x02\\xf6\\x2f\\x50\\x53\\x17\\xe8\\xbb\\x48\\xae\\x2e\\x92\\x83\\x8b\\xd8\\xbf\\x88\\xdc\\x45\\x74\\x5e\\x62\\x0e\\x5d\\x62\\xec\\x25\\xd6\\xe8\\x4b\\x70\\x7d\\x09\\x7f\\x7e\\xc4\\x9f\\x1f\\xe9\\xfb\\x11\\xae\\x7e\\xc4\\xf6\\x8f\\xf8\\xfe\\x13\\xfa\\x7e\\x62\\x9e\\xfe\\x04\\xaf\\x3f\\x91\\xd7\\x9f\\xf0\\xfd\\x27\\x38\\xba\\xcc\\xf8\\xcb\\xf0\\x7a\\x99\\xf1\\x97\\x19\\x7f\\x99\\xf1\\x3f\\x33\\xfe\\x67\\xfc\\xfc\\x19\\x3f\\x7f\\xc6\\xf6\\xcf\\xd8\\xfe\\x85\\xf1\\xbf\\x30\\x9e\\xfd\\xa4\\xf6\\x0b\\x7e\\xfe\\x42\\x9c\\xbf\\xa0\\xf7\\x57\\x7c\\xfa\\x15\\x3f\\x7f\\xa5\\x2e\\x7e\\x25\\x87\\xbf\\x32\\x1f\\xae\\x20\\x7b\\x85\\xbe\\x2b\\xf8\\x7e\\x85\\xf1\\x57\\x18\\xff\\x1b\\x72\\xbf\\xc1\\xfb\\x6f\\x8c\\xfd\\x8d\\x7a\\xfc\\x0d\\x3b\\x57\\x89\\xfb\\x2a\\x75\\x72\\x95\\x3a\\xb9\\x4a\\x9d\\x5d\\xc5\\x9f\\xdf\\xe9\\xfb\\x9d\\x39\\xf3\\x3b\\x7d\\xbf\\xe3\\xe3\\xef\\xf0\\xf3\\x07\\x39\\xfe\\x83\\x1a\\xfd\\x03\\xfd\\x7f\\xa0\\xeb\\x4f\\xf4\\xff\\x49\\x8d\\xfe\\x89\\xcd\\x3f\\xe9\\xfb\\x13\\x9b\\xd7\\xe8\\xbb\\x86\\xcd\\x6b\\xd8\\xbc\\x86\\xcd\\x6b\\xf4\\x5d\\xc7\\xe6\\x75\\x6c\\x5e\\xc7\\xe6\\x75\\x6c\\x5e\\xc7\\xe6\\x0d\\xf4\\xdf\\x80\\x9b\\x1b\\x70\\x73\\x03\\x6e\\x6e\\xc0\\x61\\x11\\xb9\\x2a\\x22\\x57\\x45\\xc8\\x15\\xd1\\x57\\x44\\x9f\\x8f\\x5c\\xf9\\x90\\xf3\\x31\\x7f\\x7c\\xf8\\xe1\\xc3\\x0f\\x03\\x3f\\x0c\\xfc\\x30\\xc8\\x9d\\xf1\\x69\\xe0\\x5f\\x49\\xd4\\x03\\xb9\\x60\\x21\\x30\\xfb\\x6e\\x88\\xae\\xe8\\x53\\x23\\xc0\\x12\\xf0\\x8d\\xe8\\x5a\\x69\\xd0\\x14\\x8c\\x06\\xf4\\x69\\xc7\\x44\\xd7\\xe9\\xd3\\xbd\\x60\\x1c\\x78\\x1b\\x9c\\x12\\xdd\\x56\\x01\\x74\\x03\\x53\\x41\\x3e\\x38\\x23\\xba\\x9d\\x3e\\x7b\\x27\\x40\\x9f\\x7d\\x2d\\x38\\x2f\\xba\\x83\\xb1\\x8e\\x54\\x90\\x05\\xe8\\x77\\x30\\xde\\x71\\x10\\xfc\\x21\\xba\\xd3\\x0d\\x7a\\x81\\xe9\\x00\\x79\\x27\\x3a\\x82\\xa2\\x40\\x3b\\x30\\x01\\x20\\x1b\\x84\\xfd\\xe0\\x20\\x80\\x4f\\xc1\\xf8\\x19\\x8c\\xef\\xc1\\xf8\\x1e\\x42\\x5f\\x48\\x6b\\xc0\\xd8\\x90\\x9d\\xa2\\x97\\xb2\\x01\\xee\\x4b\\x71\\x5f\\x8a\\xfb\\xd2\\xc4\\x5b\\x9a\\x31\\xa5\\x27\\x81\\x2d\\x80\\x58\\x43\\xb9\\x0f\\xe5\\x3e\\x94\\xfb\\xd0\\x2b\\xa2\\x97\\xa9\\x09\\xe0\\xa3\\x0c\\x71\\x96\\x21\\x26\\xf6\\xf2\\x7a\\x18\\x7e\\x86\\xcd\\x07\\xf8\\x18\\x8e\\xef\\xe1\\xc4\\x13\\x3e\\x0b\\xec\\x15\\x3d\\x02\\x9b\\x11\\xf8\\x16\\x31\\x03\\x60\\x23\\x12\\x1b\\x91\\xf0\\x12\\x49\\x5c\\x91\\x5b\\x45\\x2f\\xcb\\x7d\\x59\\xee\\xcb\\x72\\x5f\\x76\\x05\\xc0\\xf7\\x28\\xc6\\x44\\x35\\x02\\xd8\\x89\\x7a\\x09\\xa0\\x27\\x8a\\xd8\\xa3\\xab\\x03\\x6c\\x45\\x63\\x2b\\x9a\\xb1\\xd1\\xf4\\x95\\xa3\\xaf\\xdc\\x60\\x80\\x5c\\x39\\xe4\\xca\\xa3\\x8f\\x3d\\xbf\\x5e\\xbe\\x2f\\x80\\x0b\\xf6\\xfb\\x7a\\x05\\xec\\x57\\x40\\xbe\\x22\\xb9\\xa8\\x08\\xef\\x15\\x91\\xab\\x44\\x7f\\x25\\x38\\xae\\x84\\x8d\\x4a\\x8b\\xc1\\x61\\xd1\\xd9\\xf3\\xeb\\xec\\xf9\\xf5\\x18\\x38\\x8b\\xc1\\x8f\\xca\\x8c\\xab\\x4c\\xcc\\xb1\\x55\\x01\\x9c\\xc7\\xce\\x05\\xf0\\x18\\x8b\\xdd\\x2a\\xd8\\xa8\\x82\\xdd\\x2a\\xf8\\x52\\xe5\\x53\\xeb\\x6b\\x76\\xdd\\x45\\xfe\\x5d\\x70\\xe2\\xc6\\x17\\x37\\x36\\xdc\\xc8\\xc5\\x11\\x47\\x1c\\x79\\x89\\xc3\\x97\\x38\\x74\\xc6\\x13\\x5b\\x3c\\x7a\\xe3\\xe9\\x8b\\xa7\\x2f\\x9e\\xfa\\x49\\x08\\x07\\xe4\\x21\\x81\\x7c\\x56\\xc5\\x56\\xd5\\x1c\\x40\\xce\\xaa\\xa2\\x23\\x11\\xbd\\x89\\xf8\\xc9\\xd9\\x41\\x4f\\xc4\\xcf\\x44\\x38\\x4e\\xc4\\xa7\\x24\\xea\\x86\\xb3\\x84\\x9e\\x44\\x7f\\xd2\\x96\\xff\\x17\\xa0\\xce\\xaa\\x11\\x53\\xb5\\x8d\\xa2\\x57\\x47\\x57\\x75\\x72\\x5c\\x1d\\x7f\\xef\\xa2\\x3e\\xef\\xa2\\x1e\\x38\\x87\\xe8\\x77\\xc1\\x59\\x4d\\xf2\\x5c\\x0b\\x1f\\x38\\x73\\xe8\\xb5\\x90\\xad\\x0d\\xaf\\xb5\\xb1\\xcf\\x79\\x43\\x4f\\xc1\\xdf\\x54\\x78\\xa8\\x43\\x0d\\xd4\\xc5\\xb7\\x34\\xea\\x30\\x8d\\xdc\\xa7\\x31\\x3e\\x0d\\xdf\\xeb\\x91\\x9b\\x7a\\xe4\\xbd\\x1e\\x7c\\x34\\x24\\xce\\x46\\xf0\\xdb\\x08\\x9f\\x1b\\x61\\xb7\\x11\\x79\\x48\\x27\\xee\\x74\\xec\\xa5\\x93\\x7b\\xce\\x10\\x7a\\x63\\xae\\x1b\\x63\\xb3\\x09\\x1c\\x34\\xc1\\x4e\\x13\\x74\\x36\\xa5\\x46\\x9b\\xc2\\x33\\xe7\\x05\\xbd\\x19\\x3a\\x9b\\xf3\\x8c\\xf3\\x81\\xee\\x61\\x8c\\x07\\x1f\\x3d\\x70\\xe8\\x21\\x1e\\x0f\\xbc\\x78\\x98\\x0b\\x5e\\xf4\\xb4\\x40\\xae\\x25\\xfa\\x5b\\xa1\\xa3\\x35\\x3a\\xda\\x80\\x0c\\xf4\\xb6\\x27\\x4f\\xed\\x91\\xe9\\x88\\xcf\\x1d\\x69\\x3b\\xe1\\x53\\x67\\xd0\\x05\\x7f\\xbb\\x52\\xd7\\xdd\\x18\\xd7\\x1d\\xd9\\x1e\\xf4\\xf5\\x04\\xbd\\xc8\\x57\\x26\\x6d\\x6f\\xe2\\xec\\xcd\\xb3\\xbb\\xc9\\x6d\\x16\\x7d\\xd9\\x97\\x45\\xbf\\x07\\x0e\\xd8\\x87\\xeb\\xec\\xbf\\xf5\\x7e\\xc4\\xd4\\x9f\\xba\\xec\\xcf\\x7d\\x7f\\x64\\x06\\xe0\\xeb\\x00\\xf2\\x32\\x00\\x7b\\x39\\xe8\\xcd\\x61\\x2e\\xe4\\xc0\\x57\\x0e\\xe3\\x06\\x12\\xe3\\x40\\x38\\x1d\\x44\\x0c\\x83\\xa8\\xbd\\x41\\xe8\\xb9\\x97\\x38\\x06\\xc3\\xef\\x60\\xe4\\x87\\x90\\x8b\\x21\\xf8\\x30\\x84\\x78\\x86\\xa0\\x6b\\x28\\x9c\\x0e\\x45\\xee\\x3e\\x6a\\xeb\\x3e\\x62\\xcd\\x85\\x33\\xf6\\xe4\\xfa\\x30\\xea\\x67\\x04\\xbc\\x8f\\xa0\\x26\\x47\\x30\\x4f\\x47\\xf2\\x7c\\x24\\xe3\\x1f\\xa0\\xbe\\x1e\\xc0\\x36\\xfb\\x72\\x7d\\x14\\x7e\\x8c\\xc2\\xb7\\x51\\xd4\\xfd\\x28\\x62\\x18\\x85\\xad\\xd1\\xc4\\x3e\\x9a\\xf1\\xa3\\xd1\\x3f\\x86\\xf1\\x63\\xd0\\x3d\\x06\\xd9\\xb1\\xf0\\x3a\\x96\\xeb\\xb1\\x5c\\xe7\\x91\\xb7\\x3c\\x72\\x96\\x47\\x3d\\x8c\\xc3\\xdf\\x71\\xc4\\x35\\x9e\\x75\\x67\\x3c\\x36\\xc7\\x53\\x37\\x0f\\x52\\xbf\\x0f\\xe2\\xe3\\x43\\xf8\\xf2\\x10\\x75\\xf3\\x10\\x5c\\x4e\\xc0\\xe6\\x04\\xe6\\xd0\\xc3\\xd4\\xfb\\xc3\\xc8\\x3f\\x82\\xdd\\x47\\x88\\x6b\\x22\\x36\\x26\\x12\\xff\\x44\\x62\\x9f\\x84\\xec\\x64\\xe2\\x99\\x4c\\xfc\\x53\\x88\\x77\\x0a\\xbe\\x4f\\x41\\x76\\x0a\\xcf\\x1e\\x45\\xff\\xa3\\xd8\\xfa\\x17\\xbe\\xcd\\xa4\\x7f\\x1e\\x35\\x32\\x8f\\x1c\\xcf\\x83\\xf7\\x79\\xf8\\xf1\\x2c\\xf3\\xe3\\x59\\x62\\x7c\\x16\\xbb\\xcf\\xe2\\xfb\\x73\\xc4\\xf6\\x1c\\xdc\\x3e\\xc7\\xfd\\x7c\\x7c\\x7f\\x9e\\x18\\x9f\\x47\\xf6\\x05\\xfa\\x5e\\x20\\x86\\x17\\x59\\xb7\\x5e\\x42\\xfe\\x65\\xfc\\x7a\\x85\\xb8\\x16\\xe0\\xd7\\x42\\xb8\\x5d\\x08\\x0f\\x8b\\xb0\\xb1\\x08\\x9b\\xaf\\x52\\xab\\xaf\\x32\\xe6\\x35\\xfc\\x5c\\x8c\\xfd\\xc5\\xe4\\xfa\\x75\\xc6\\xbc\\x81\\xcf\\x6f\\x60\\xe3\\x4d\\x72\\xb6\\x04\\xdb\\xff\\x66\\xcc\\x5b\\xac\\x0b\\x6f\\x5d\\x14\\x7d\\x29\\x63\\xdf\\xe6\\xf9\\xdb\\xf8\\xf8\\x0e\\x5c\\xbf\\x43\\x4e\\x96\\x71\\xbf\\x9c\\xb8\\x96\\xc3\\xef\\x0a\\x62\\x5b\\x41\\xfb\\x2e\\xfe\\xbe\\xcb\\xd8\\x95\\x70\\xb5\\x92\\xb8\\x57\\xa2\\x63\\x25\\x3c\\xbd\\x07\\x67\\xef\\x51\\xcf\\xef\\x31\\x97\\xf2\\xa9\\x81\\x7c\\xea\\x26\\x9f\\x9a\\xcd\\x87\\xd7\\x55\\xc4\\xb1\\x0a\\x7f\\x57\\x21\\xbb\\x8a\\x9c\\xae\\x26\\x57\\xab\\xf1\\x67\\x35\\xcf\\x57\\xa3\\x93\\x3d\\xbf\\xbe\\x86\\x9a\\x5e\\x83\\xbe\\x35\\x70\\xba\\x06\\xff\\xd6\\xf0\\x6c\\x0d\\xf5\\xcf\\x39\\x40\\x5f\\x83\\xff\\x6b\\xf0\\x71\\x0d\\x63\\xd7\\x22\\xbb\\x96\\xf8\\xd6\\x62\\x6b\\x2d\\xf2\\x6b\\x91\\x5d\\x8b\\xdc\\x5a\\x72\\xb4\\x16\\x99\\x75\\xf8\\xb1\\x8e\\x3c\\xaf\\x23\\xae\\x75\\xf8\\xb0\\x0e\\x3b\\xeb\\xa8\\xe5\\x75\\xf0\\xb9\\x0e\\xdf\\xd6\\x11\\xff\\x3a\\x7c\\x5a\\x0f\\xcf\\xeb\\xe1\\x6d\\x3d\\xf9\\x5c\\x4f\\x2c\\xeb\\xc9\\xdb\\x7a\\xea\\x60\\x3d\\xf1\\xaf\\x27\\xf6\\xf5\\xe4\\x6f\\x3d\\x73\\x62\\x3d\\x7c\\x6e\\x80\\x8f\\x0d\\xf0\\xb8\\x01\\xae\\x37\\x90\\xcb\\x0d\\xf0\\xbe\\x01\\x7b\\x1b\\x89\\x73\\x23\\xb1\\x6c\\x24\\x9f\\x1b\\xf1\\xf3\\x7d\\x6c\\xbf\\x4f\\x1c\\xef\\x33\\x47\\xdf\\xc7\\xd7\\x2d\\xe8\\xdd\\xc2\\xb3\\x2d\\xf8\\xf7\\x01\\xb2\\x1f\\xe0\\x37\\xe7\\x13\\xfd\\x03\\xe2\\xf9\\x10\\xbb\\x1f\\x92\\x9f\\x0f\\xb1\\xf5\\x21\\xcf\\x3f\\xc4\\xaf\\x0f\\xe1\\xf1\\x43\\xb8\\xfd\\x88\\x18\\x3f\\x82\\x7b\\xce\\x2e\\xfa\\x47\\xe4\\xff\\x23\\xfc\\xff\\x88\\x38\\x3f\\xe2\\x39\\x67\\x19\\x7d\\x2b\\xcf\\xb6\\x32\\x7e\\x2b\\xb9\\xd8\\x4a\\x8c\\x5b\\xe1\\x76\\x2b\\x5c\\x70\\xc6\\xd1\\xb7\\x12\\xe7\\x56\\x78\\xde\\x4a\\xfe\\x39\\xef\\xe8\\x5b\\xf1\\x7f\\x1b\\xb6\\xb7\\x11\\x2b\\x67\\x1f\\x7d\\x1b\\xbc\\x6c\\xa3\\x06\\xb7\\x11\\xc3\\x36\\xc6\\x6c\\x23\\xde\\x6d\\xe4\\x76\\x1b\\xdc\\x6c\\x23\\x86\\x6d\\xcc\\xcd\\x6d\\xe4\\x64\\x3b\\x31\\x6f\\xc7\\xce\\x76\\xec\\x6c\\xc7\\xce\\x76\\xec\\x6c\\xc7\\xce\\x76\\xe2\\xd9\\x4e\\x7c\\x3b\\xe0\\x6f\\x07\\x7a\\x76\\xf0\\xee\\xdb\\x49\\x8d\\xec\\x84\\x17\\xce\\x47\\xfa\\x2e\\x78\\xda\\x85\\xcf\\xbb\\xb0\\xbf\\x1b\\x9b\\xbb\\x19\\xb3\\x1b\\x99\\x3d\\xc8\\xec\\xe1\\x7a\\x0f\\xbc\\xee\\x85\\xa7\\xbd\\xc4\\xc6\\xb9\\x47\\xdf\\x87\\x8d\\x7d\\xc8\\xef\\x83\\x83\\x8f\\x89\\xfb\\x63\\xf8\\xf9\\x18\\xf9\\x4f\\xc8\\xe1\\x27\\xf8\\xf7\\x09\\x32\\x9f\\xa2\\xe7\\x53\\xc6\\x7e\\xca\\xf5\\x7e\\x6a\\x89\\x33\\x8c\\xbe\\x9f\\xeb\\xcf\\xd0\\xf3\\x19\\x7c\\x7f\\x86\\xce\\x03\\xd8\\x3d\\x80\\xfc\\x01\\xf2\\x72\\x10\\x9d\\x07\\x89\\xef\\x20\\x7a\\x0e\\x71\\x7d\\x88\\xb1\\x87\\xb8\\xfe\\x9c\\xf8\\x3f\\xa7\\xce\\x3f\\x47\\xe6\\x0b\\xf4\\x7c\\x81\\xdd\\x2f\\xf0\\x99\\x73\\x88\\x7e\\x18\\x7e\\x0f\\x13\\xf7\\x11\\x62\\x3d\\x42\\x5e\\x8e\\x50\\x4b\\x47\\xc9\\xd7\\x51\\xea\\xf0\\x4b\\xfc\\xfa\\x92\\xf8\\xbf\\x84\\xdb\\x2f\\xe9\\x3f\\x46\\xac\\xc7\\xe0\\xf8\\x38\\x31\\x1d\\x47\\xf7\\x71\\xf3\\x9a\\x7c\\x7f\\x85\\xcc\\x57\\xf8\\xf2\\x35\\xbe\\x7f\\x8d\\x8f\\x5f\\x63\\xe7\\x1b\\xfc\\xfa\\x06\\xbf\\xbe\\xa1\\x96\\x4e\\xd0\\x7f\\x82\\xfe\\x13\\xd4\\xdf\\xb7\\xe8\\xf8\\x96\\xdc\\x7f\\x4b\\x7e\\x4e\\x92\\x93\\x93\\xac\\x4b\\x27\\xd1\\x71\\x8a\\xf8\\x4f\\xa1\\xe3\\x3b\\x6c\\x7e\\x07\\xbf\\xdf\\x61\\xb3\\x80\\xfc\\x15\\x10\\x4f\\x01\\xbe\\x9e\\xc6\\xef\\xd3\\xd8\\x3c\\x0d\\x5f\\x67\\xb0\\xcf\\xde\\x5f\\x3f\\x43\\xce\\xce\\x52\\x9b\\x67\\xc9\\xff\\x59\\x72\\x7e\\x8e\\x9c\\x9d\\xe3\\xfa\\x1c\\xf1\\xb0\\xbf\\xd7\\x0b\\xc9\\x6f\\x21\\xd7\\xe7\\xb9\\x3e\\x4f\\x3c\\xe7\\xa9\\x21\\xf6\\xf3\\xfa\\xf7\\xe4\\xf1\\x07\\x74\\xfc\\x40\\xdd\\xff\\x00\\x3f\\xec\\xdd\\xf5\\x0b\\xf4\\x5f\\xa0\\xff\\x22\\xd7\\x17\\xb1\\x79\\x11\\x5f\\x2e\\x51\\x0b\\xec\\xd5\\xf5\\x4b\\xf8\\xfb\\x23\\xfd\\x3f\\x32\\xa7\\x7e\\xc4\\x97\\x9f\\xe0\\xf6\\x27\\xfc\\xfd\\x89\\xda\\xb9\\x4c\\xff\\x65\\xfa\\x2f\\x93\\x97\\x9f\\xc9\\xd7\\xcf\\xe4\\xf7\\x67\\x7c\\x64\\xff\\xad\\xff\\xc2\\xf5\\x2f\\x5c\\xff\\xca\\xf5\\xaf\\xe4\\xeb\\x57\\xf8\\x62\\xaf\\xad\\x5f\\xa1\\x9f\\x7d\\xb6\\x7e\\x05\\x4e\\x7f\\xc3\\xe7\\xdf\\xe8\\xbf\\xca\\x9c\\xb9\\x4a\\xbd\\x5f\\x25\\xa6\\xdf\\xe9\\xfb\\x1d\\x5e\\x7e\\xa7\\xee\\xff\\xe0\\xfa\\x0f\\x62\\xfd\\x03\\xfd\\x7f\\xe2\\xf3\\x9f\\xd8\\xfd\\x93\\x58\\xfe\\x24\\x96\\x6b\\xe4\\xec\\x1a\\x75\\x7c\\x8d\\xd8\\xaf\\xc3\\xf1\\x75\\xf2\\x7a\\x1d\\xbf\\x6f\\x60\\xe3\\x06\\x39\\xb9\\x41\\xfc\\x37\\xe0\\xb9\\x88\\xb5\\xb3\\x08\\xdd\\x45\\xe4\\xc5\\x47\\x5e\\x7c\\xf0\\xe8\\xc3\\x77\\x03\\x4e\\x0d\\x62\\x35\\xd0\\x67\\x5c\\x16\\x9b\\x34\\x02\\x53\\xc1\\x5e\\xb1\\xa9\\x70\\xe0\\x05\\x37\\xc4\\xa6\\x2d\\x14\\x9b\\x3e\\x1a\\x1c\\x13\\x9b\\xad\\x2a\\x98\\x2f\\x36\\xbb\\x1b\\x4c\\x17\\x9b\\x43\\xc0\\x2c\\x70\\x58\\x6c\\x4e\\xc6\\x06\\x31\\x2e\\x68\\x30\\x58\\x2b\\xb6\\xe0\\x9a\\x60\\x8b\\xd8\\x42\\x2a\\x83\\x49\\xe0\\x8a\\xd8\\x4a\\xcd\\x05\\xa7\\xc4\\x56\\x3a\\x15\\x6c\\x14\\x5b\\x68\\x37\\x80\\x6c\\x99\\x0a\\xe0\\x6d\\xb1\\x85\\xb5\\x2b\\x81\\x5c\\x80\\xce\\xb0\\x97\\x40\\x3e\\xc0\\xaf\\x30\\xc6\\x86\\xfd\\x21\\xb6\\xf0\\x20\\x80\\xfe\\x08\\x74\\x47\\xf0\\x2c\\xb2\\x2f\\x40\\x7f\\xd9\\xf9\\xe6\\xff\\xe7\\x8d\\x68\\xd2\\x95\\x83\\xe5\\x93\\xf6\\x69\\xec\\xf0\\x9d\\xd2\\xd5\\x5b\\x5b\\x94\\x72\\xd8\\x34\\xdd\\xa6\\x07\\x05\\x2b\\xbb\\xd7\\x66\\x5f\\xd4\\xc7\\x16\\xa9\\xe9\\x23\\x46\\x66\\x5d\\x0e\\x56\\xa7\\x82\\xd5\\xc1\\x60\\xb5\\x35\\x58\\xe5\\x07\\xab\\xa9\\xc1\\xca\\x1d\\xac\\xfa\\xf9\\x7f\\x92\\xc5\\xe3\\x49\\x96\\x4a\\x15\\xc2\\x3f\\x8b\\x88\\x54\\xe9\\xe9\\x11\\x69\\x11\\x69\\xfc\\xa9\\x93\\xaa\\x12\\xca\\xc6\\xa9\\xb2\\x71\\xba\\x5a\\x7a\\x6e\\xb1\\x4a\\x2a\\xda\\x5b\\x4f\\xb9\\xeb\\xa9\\x65\\xfa\\x97\\xd7\\x1e\\x55\\x65\\x7c\\xbf\\x98\\x7f\\xc3\\x51\\x93\\xaf\\xf5\\xc7\\xf4\\x53\\x01\\xfb\\x0d\\xbd\\x31\\x36\\xbb\\xdd\\xe9\\x70\\xb0\\x8b\\x57\\x4a\\xd3\\x74\\x3d\\xd8\\x2e\\x0e\\x4d\\xc7\\xd8\\x68\\xd3\\x98\\x78\\xd2\\xf6\\xd7\\x8d\\x50\\x69\\x11\\xfe\\xff\\x45\\xa6\\x97\\xb4\\x03\\xf4\\x9c\\xaf\\xdb\\xa9\\xb2\\x45\\x47\\xf9\\x1d\\xa1\\x3f\\xa6\\x0c\\x9f\\x52\\x86\\x69\\xa3\\x05\\xe4\\x8f\\xb6\\xe7\\x49\\x8c\\xb8\\x24\\xc7\\x9b\\x5e\\x3a\\xd6\\x55\\xc9\\x16\\xe7\\x0e\\xb2\\x95\\x0e\\x2d\\xbd\\x32\\x3b\\x56\\x85\\x56\\x96\\xf0\\x88\\xf0\\x95\\xd9\\x15\\xa3\\x23\\xc2\\x42\\xdf\\x0b\\xd5\\x0e\\x84\\x1a\\xa1\\x5a\\x58\\x44\\xd7\\x88\\xf7\\x22\\xf4\\x03\\x11\\x2a\\x34\\x22\\x34\\xc2\\x5e\\xbe\\xec\\xaa\\x10\\xbb\\xa4\\xa4\\x79\\xd2\\x22\\xd3\\xd3\\x53\\x52\\xfa\\x8d\\xe9\\x37\\x06\\xe3\\xc9\\x11\\x62\\x7a\\x10\\x68\\x23\\x55\\xf9\\x74\\x9c\\xd1\\xd3\\xa2\\x13\\x74\\xd3\\x9b\\x84\\xb2\\x09\\xf5\\xd3\\x2c\\xa4\\xe9\\x71\\x20\\x2d\\x3a\\x8e\\x56\\x5f\\xde\\xe6\\xcb\\xab\\x3d\\x16\\x76\\xf3\\xed\\xef\\xf6\\x72\\xd7\\x05\\x5b\\x32\\x0e\\xfc\\xd8\\xeb\\xe5\\x1e\\x2a\\xad\\xd7\\xc2\\x5e\\x4b\\x8a\\x46\\xb5\\x53\\xf5\\x33\\xf4\\xfe\\xbe\\xb5\\xcf\\xfb\\xfe\\xa5\\x26\\x9b\\x78\\x5e\\x75\\x9a\\xaf\\xa6\\xf9\\x1e\\x35\\x31\\xdf\\xb7\\x56\\x75\\x62\\x5d\\x35\\x7e\\x33\\x72\\x6d\\x8f\\xdb\\x2f\\x4b\\x9c\\x54\\x97\\x14\\x79\\xda\\xdb\\x43\\x4f\\x4a\\x74\\x55\\x29\\xef\\x28\\x67\\x2b\\xe7\\x28\\x1d\\x5a\\xb3\\x56\\x94\\x23\\x3a\\x1a\\x22\\xe3\\x83\\xe3\\x45\\x62\\x2a\\x55\\xaa\\x53\\x23\\x3c\\x3c\\x24\\x38\\x38\\xb5\\x4a\\xad\\xa8\\x5a\\xe3\\xb3\\xa3\\xa3\\x43\\x62\\x6a\\xba\\x42\\x13\\x1d\\x7a\\xf9\\xb0\\xa8\\x94\\x28\\x4f\\x54\\xd7\\xa8\\x51\\x51\\x8f\\x46\\x39\\x82\\xf5\\xa8\\xa4\\xd2\\x7a\\xe9\\x71\\xd9\\x76\\xbb\\x83\\xe3\\x83\\x27\\x2d\\x2d\\xc5\\x0c\\xab\\x42\\xca\\x80\\xfe\\xfd\\xd2\\x22\\xcb\\xa7\\xfb\\x6f\\x2d\\xf6\\x03\\x09\\xb8\\x99\\x03\\x9e\\xd6\\x8d\\x88\\xb4\\x82\\x8f\\xb2\\xd9\\x9d\\x09\\x0d\\xe3\\x93\\xaa\\x25\\x96\\x4b\\x2b\\x5b\\x5b\\xd5\\xaf\\xd7\\x5c\\xa5\\x35\\x2c\\xef\\xac\\x5b\\xae\\xbc\\xbd\\xb6\\x4a\\xd0\\xab\\x28\\x7b\\xbd\\xa4\\x6a\\x7a\\xdd\\x06\\x2a\\xaa\\x5c\\xf9\\xb2\\xf1\\x0e\\x5b\\x23\\xdf\\x39\\xdf\\xb9\\xb8\\xd1\\xee\\xfc\\x82\\xd2\\xca\\x51\\x66\\x6d\\xfb\\xb5\\xdb\\x27\\xff\\xb1\\xa0\\xc2\\x03\\x31\\x6f\\x7c\\x12\\xea\\xbb\\x5e\\xa6\\x7b\\xd3\\x56\\x87\\x76\\xf9\\x7e\\xc9\\x1a\\xd0\\x3e\\x6f\\xb6\\x6f\\x6c\\x8b\\xec\\x56\\xf7\\x3e\\xa2\\xbe\\x3a\\x72\\xb6\\xd4\\xbb\\xef\\xbd\\xbf\\xf0\\xae\\x55\\x6a\\x7a\\xad\\x0f\\x9f\\x98\\xb8\\x6e\\xe8\\x14\\xdb\\x63\\xaf\\x3e\\x9d\\xde\\xb9\\xbb\\xef\\xb5\\xba\\xab\\x76\\x75\\xee\\x5e\\xce\\xf7\\xc2\\x20\\xed\\xdf\\x75\\x5a\\xc4\\xaa\\x8e\\xc3\\xcc\\x1a\\xb3\\xcb\\x68\\xe3\\x67\\xc7\\x19\\xfb\\x6c\\x09\\x93\\xca\\x52\\x53\\xd2\\xa5\\x99\\xda\\xe2\\x35\\x9a\\x35\\x71\\x97\\xae\\x53\\xa3\\x86\\x3b\\x46\\xd7\\xa3\\x4a\\x37\\x72\\xbb\\x4b\\x7b\\x9a\\x07\\x97\\x5b\\x9f\\x2d\\xc1\\x1b\\xfa\\xc4\\xd6\\x5a\\x9f\\x9d\\x14\\xbb\\xa1\\x4f\\x52\\x1a\\x6d\\xc5\\x26\\x15\\x24\\x7c\\x7d\\x76\\x53\\x87\\x38\\xc7\\x7a\\xd4\\x60\\x8f\\xea\\xed\\x51\\x19\\x1e\\x55\\xcf\\xa3\\x92\\x3c\\xea\\x9c\\x47\\xed\\xf4\\xa8\\xd5\\x1e\\xb5\\xc4\\xa3\\x5e\\xf0\\x28\\x87\\x47\\xed\\xf6\\xa8\\xf5\\x96\\x8c\\x5f\\xa0\\x9c\\x47\\x05\\x7b\\x54\\xd0\\xc3\\x1e\\x75\\xbf\\x47\\xf5\\xf1\\xa8\\xce\\x1e\\xe5\\xf1\\xa8\\x64\\x8f\\x8a\\xb5\\xa4\\xbf\\xf7\\xa8\\xe3\\x1e\\xf5\\x89\\x47\\x7d\\xe0\\x51\\xef\\x78\\xd4\\x02\\x8f\\x9a\\xed\\x51\\x93\\x3d\\x2a\\xdb\\xa3\\xda\\x7b\\x54\\x13\\x8f\\xaa\\xe8\\x51\\xa5\\x18\\x5b\\xe4\\x51\\x97\\x3c\\xea\\xa4\\x47\\xed\\xf3\\xa8\\x4d\\x1e\\xf5\\x96\\x47\\x3d\\xe5\\x51\\x13\\x3d\\x6a\\xa4\\x47\\xf5\\xf3\\xa8\\xae\\x1e\\x55\\xd5\\x32\\xf5\\xa7\\x47\\x5d\\xf0\\xa8\\x13\\x1e\\xb5\\xdf\\xa3\\x3e\\xb2\\x34\\xce\\xf7\\xa8\\x27\\x4a\\xd8\\x6e\\xe6\\x51\\x35\\xfc\\x4a\\xbd\\x28\\xbf\\x5a\\xc2\\xfa\\xcb\\x1e\\xf5\\x98\\x47\\x8d\\xf3\\xa8\\xa1\\x96\\x69\\xbc\\x77\\x7b\\x54\\xb8\\x47\\x89\\x47\\xa5\\xff\\xe2\\x51\\xea\\x94\\x47\\x69\\x07\\x2d\\xad\\x8b\\x3d\\x6a\\xec\\xd8\\xb1\\x03\\xf8\\x5f\\xff\\x7e\\x25\\x7f\\xc6\\xdc\\xfe\\x33\\xb6\\xe4\\xcf\\xdf\\x4b\\xf6\\xbf\\xed\\xde\\x2f\\x69\\x2d\\x25\\x15\\xf8\\x65\\xfe\\x94\\x5c\\x4e\\x02\\x53\\xde\\x2c\\xb2\\xba\\xe5\\xa2\\xa3\\x9c\\x65\\xb4\\x84\\xf8\\xa4\\xfa\\xf5\\x1a\\x46\\xda\\xe3\\xcb\\xa8\\xe8\\xa8\\xb4\\xba\\x0d\\x1a\\x36\\xa8\\x5f\\xef\\x3f\\x3e\\x4b\\x50\\x69\\x5a\\xfc\\x0b\\xaf\\x55\\x8a\\x7d\\x64\\x69\\xee\\x33\\x2f\\x57\\xe8\\xa5\\xda\\x74\\xb9\\xa7\\x5e\\xef\\xae\\x03\\x2b\\x55\\xd6\\x6b\\xff\\x6d\\xf7\\xf5\\x63\\xbb\\x6c\\xcd\\xf7\\xd8\\x67\\xbf\\xf6\\x7c\\x8f\\x9c\\xa7\\xd6\\xf6\\x7f\\xfb\\xf9\\xec\\x4c\\xf5\\xc2\\x8b\\x13\\xfe\\xec\\xf0\\xcc\\xb4\\x7f\\x8d\\xec\\xfc\\xb4\\x6f\\xd2\\x3f\\x3c\\x28\\x4a\\xb4\\x56\\xb4\\x3a\\xc6\\x45\\x7b\\x4b\\xfb\\x53\\x52\\x4d\\xea\\x4a\\x73\\x99\\xe3\\x6d\\x91\\x1c\\x17\\x59\\xa1\\x42\\xb4\\xd4\\x0a\\xd3\\xea\\xd7\\x4f\\x4f\\x4b\\xb3\\xdb\\x25\\x3d\\xbd\\x54\\xa9\\xa8\\xe8\\xe8\\xca\\xa9\\x94\\xa6\\xd7\\x23\\x5e\\x15\\xa3\\xd7\\xd7\\x22\\x93\\x6d\\xd5\\x83\\x12\\xab\\x77\\xcd\\x76\\x55\\xea\\x96\\xed\\x4a\\x8c\\x4b\\x8c\\x8a\\x0a\\xaa\\x15\\xd6\\x34\\xb1\\x5c\\xd3\\x8d\\xc6\\x29\\x6f\\x70\\x19\\xad\\x73\\x50\\xd3\\x1e\\xd9\\x41\\x36\\x81\\xaa\\xe4\\x0a\\x1e\\x48\\x89\\x4c\\x4f\\x89\\x4c\\x0f\\xdf\\x69\\x32\\x26\\xe5\\xd3\\x15\\x53\\xd6\\xa4\\xea\\xf6\\x69\\xea\\x9f\\xab\\xc5\\x4d\\x9d\\xd4\\xb2\\xe1\\x89\\xe6\\x04\\x6d\\x90\\x66\\x52\\x56\\x46\\x39\\xab\\xa8\\xf2\\x0d\\x1a\\x96\\xe7\\xa2\\x5c\\x5a\\xdd\\x86\\x4e\\x47\\x42\\x7c\\x35\\x8b\\x46\\x3b\\xe4\\x25\\x55\\x33\\x69\\x2c\\xa7\\xa2\\xca\\x37\\xd7\\xea\\xd7\\x4b\\x4a\\x88\\x77\\xd4\\x51\\xcb\\xc2\\xa2\\xce\\xee\\x79\\x6d\\x55\\x9f\\xe5\\x9f\\x25\\x77\\xaa\\xff\\xf8\\x90\\xf7\\x6b\\xbd\\xd0\\xb3\\xe3\\x48\\x4f\\x6a\\xb5\\x96\\xed\\x57\\xfe\\xab\\x6d\\xee\\xcc\\xde\\xfb\\x8e\\xaa\\x2d\\x9e\\x49\\xb5\\x26\\x75\\x9a\\x34\\x30\\x57\\xe9\\x51\\xcf\\x0c\\x4e\\x6b\\xd5\\x38\\xf3\\x3e\\x35\\x48\\xd5\\x9f\\x9f\\x3a\\xa5\\xde\\x8a\\x83\\x4f\\x3e\\xd2\\x67\\xf6\\xf8\\x5e\\x0f\\x3d\\xd3\\xf6\\x99\\x93\\x3d\\x73\\x4f\\x67\\x7a\\xc3\\x3f\\x29\\x37\\xbe\\x61\\xad\\x8a\\xdb\\xf4\\x5a\\xf1\\x4b\\xbe\\x6a\\x34\\xbd\\x67\\xe6\\xfd\\xfa\\x7d\\xdd\\xbd\\x0d\\x3c\\x5d\\xd2\\xd2\\x1a\\x3c\\x60\\xce\\x63\\x25\\xbb\\xf5\\xc7\\x34\\x97\\xc9\\xac\\x5a\\xee\\x35\\x78\\x43\\xe8\\x9a\\x66\\xb3\\x8b\\xa6\\x37\\xb0\\xab\\x24\\xbb\\xba\\x6a\\x57\\xe7\\xec\\x6a\\xb7\\x5d\\xad\\xb7\\xab\\xb7\\xec\\x6a\\xbe\\x5d\\x3d\\x61\\x57\\x0f\\xda\\xd5\\x50\\xbb\\xea\\x6d\\x09\\x94\\x2b\\x96\\x39\\x6a\\x57\\x2f\\xd8\\x55\\x46\\x71\\xa7\\xc3\\xae\\xc2\\x90\\x1b\\x6c\\x57\\xbd\\xec\\xaa\\xb5\\x5d\\xd5\\xb3\\xab\\xaa\\x76\\x15\\x65\\x57\\x36\\xbb\\xfa\\xc5\\x4e\\xe9\\xdb\\xd5\\x41\\xbb\\xda\\x6a\\x57\\xf9\\x76\\xb5\\xc4\\x52\\x3c\\xd5\\xae\\x46\\xdb\\x55\\x8e\\x5d\\x75\\xb3\\x2b\\xaf\\x5d\\xa5\\x16\\x0f\\x10\\xbb\\xba\\xff\\xb2\\xdd\\x1c\\x70\\xd8\\xae\\x76\\x5a\\x03\\x16\\xdf\\x3e\\xe0\\xaf\\x16\\xae\\xd8\\xd5\\x99\\x12\\x06\\x90\\x9f\\x6b\\x57\\xd3\\xed\\x6a\\xdc\\x3f\\x78\\xe4\\xd7\\x7f\\xd0\\x5b\\xcf\\xb2\\xb0\\xb6\\xd8\\xa5\\xbf\\xca\\xe2\\x4c\\xba\\x16\\x90\\xb6\\xb4\\xa3\\xda\\x9a\\x62\\x03\\x6e\\x9f\\x8d\\x77\\x4e\\xdc\\xdb\\x67\\xee\\x5f\\x26\\x6f\\xbf\\x7e\\x03\\xfe\\x32\\x81\\xfb\\xdd\\x3e\\x5c\\x3c\\xfb\\xcd\\x99\\x5b\\xf2\\xed\\xfc\\xfa\\xd7\\xed\\x55\\xb8\\xf9\\x4e\\x36\\xf3\\xd8\\xc1\\x77\\xb7\\x3e\\xcc\\xfe\\xa9\\x84\\x88\\xdb\\x5b\\x86\\x17\\x95\\xe6\\x74\\x96\\x0a\\x91\\xd2\\x36\\xf3\\xdf\\x93\\x78\\x3c\\xbc\\x62\\xea\\xde\\x7a\\xb5\\x4b\\x44\\x78\\xd9\\x38\\x2d\\x22\\x5c\\x12\\xf5\\x61\\x45\\x57\\x9e\\xf3\\x5d\\x9a\\xaf\\x82\\xc4\\xb0\\x7f\\xea\\x2b\\x5d\\xe4\\xf5\\x8d\\xf1\\x7d\\xa6\\x9a\\xaa\\xe7\\xd5\\x70\\xad\\xff\\xd7\\xa2\\x8c\\x4e\\xbe\\xbb\\xb5\\x07\\xd0\\x5b\\x4a\\xfe\\xf0\\xae\\xb4\\x3b\\x1c\\x5a\\x50\\x50\\x68\\x29\\x29\\x6d\\xe7\\x2d\\x18\\x13\\xaa\\x4a\\x85\\xaa\\xeb\\xa1\\xea\\x42\\xa8\\x7a\\x3f\\x54\\x2d\\x0f\\x55\\x0b\\x42\\xd5\\x9c\\x50\\xd5\\x27\\x54\\x75\\x0c\\x55\\xc9\\xa1\\xea\\x13\\xab\\x7f\\x78\\xa8\\x6a\\x62\\xdd\\x22\\x1c\\x3e\\x38\\x54\\x45\\x85\\x2a\\x9b\\xf5\\x6c\\x6d\\xa8\\x5a\\x62\\x3d\\xae\\x6a\\x3d\\x1b\\x76\\x25\\x54\\x9d\\x09\\x55\\xf3\\x43\\xd5\\x74\\x4b\\x41\\x3d\\xeb\\xc1\\x05\\x4b\\x88\\xce\\xa7\\x43\\xd5\\x60\\xab\\x33\\xf9\\xef\\x54\\x34\\xb1\\x84\\xa3\\x2c\\x45\\x8d\\x51\\xf4\\x51\\xa8\\xd2\\x06\\x94\\xa0\\xf9\\xce\\x44\\xf4\\xbf\\xd9\\xdd\\xff\\x2f\\x02\\x77\\xf2\\xa5\\x4b\\x44\\x3d\\xad\\x5a\\x5c\\x24\\x84\\x39\\xd7\\x6a\\xa1\\xdd\\xda\\xa8\\xe0\\xd7\\x7d\\x57\\x8a\\x20\\x46\\x69\\x87\\x96\\xa9\\x61\\x73\\x7c\\x5b\\x7d\\xb3\\x7d\\x4f\\x15\\x3d\\x7b\\x82\\x3c\\x64\\x69\\x4f\\xea\\x23\\x99\\x4f\\x65\\x24\\x7c\\x5d\\x68\\x58\\xb8\\x3d\\x54\\x0f\\x64\\x0e\\xde\\x79\\x69\\x97\\x77\\x56\\x73\\x56\\x6b\\x58\\xad\\x61\\x79\\x3d\\x4d\\x6b\\x7e\\xa1\\xf5\\xb5\\xcd\\x1b\\x9f\\x7d\\x7e\\xf3\\x87\\xd7\\x5a\\xff\\x14\\xf9\\xa5\\x6d\\x54\\xee\\xae\\x66\\x47\\x1e\\xbe\\x71\\x63\\xe2\\x17\\xcd\\x76\\xe5\\x9a\\xff\\xd8\\xc8\\xcc\\xeb\\x64\\x79\\xdd\\x36\\xd5\\xb6\\x0a\\xfe\\xbb\\x7b\\x53\\x4b\\x29\\x9b\\x16\\xcc\\x6e\\x52\\xd3\\x4a\\x87\\xda\\xb4\\x32\\x7d\\x9c\\xf6\\x32\\xa9\\xce\\xa9\\x4e\\x4d\\x9c\\xdd\\x9c\\x73\\x9d\\x8b\\x9d\\xa7\\x9c\\xf6\\x60\\xdd\\x69\\x67\\x7b\\x6c\\x7b\\x37\\x3b\\xd8\\xbe\\x9a\\x1d\\x87\\xb5\\xdf\\x08\\xdf\\x4d\\x7d\\x8e\\xf1\\xaf\\xfd\\x37\\x17\\x7e\\x1c\\x8a\\x48\\x88\\x88\\xab\\x1f\\xc7\\x4d\\x5c\\xb4\\xf6\\x63\\x81\\x6f\\x8c\\x9a\\x53\\xa0\\x9e\\xd5\\xd2\\x7d\\xb9\\xea\\xa5\\x53\\xea\\x25\\x5f\\xee\\x29\\xcb\\x07\\xe3\\xa2\\x6f\\x87\\x9a\\xa9\\xea\\x50\\x5b\\xf5\\xd9\\x4d\\x06\\xd9\\x83\\x9c\\xd8\\xc0\\x0d\\xbb\\xbd\\x74\\x29\\xbb\\x63\\x41\\x1f\\xb1\\x67\\x65\\x67\\x4d\\x2d\\xad\\xd8\\xb4\\xa6\\xec\\xbc\\xdd\\x08\\x2b\\x23\\xab\\x62\\x42\\x73\\xd5\\x90\\x8a\\x75\\x96\\x51\\xff\\xde\\xd4\\xe5\\xbe\\x32\\xd3\\x9a\\xa8\\xb8\\x94\\xf2\\xbd\\x7d\\x3b\\xba\\xbc\\xd5\\x5e\\xd5\\xf9\\x69\\xc2\\x06\\xe2\\x6c\\xa4\\x5e\\xd6\\x46\\x69\\xb3\\x59\\xe1\\xa3\\xbd\\xc1\\xc2\\x1a\\xa4\\x64\\x53\\xb6\\x92\\x14\\xff\\xfb\\x0a\\x1d\\x0d\\xe3\\x9c\\x8d\\x52\\xb4\\xa0\\x14\\xf5\\xf2\\x95\\x2b\\xc8\\xd7\\xc6\\x31\\xd3\\x27\\x5d\\x2a\\x78\\x4b\\x13\\xb0\\xa8\\x85\\x7d\\x24\\x12\\x3f\\xd8\\x38\\x27\\xfb\\xf9\\x4e\\x63\\xbf\\x58\\x1b\\x53\\x4d\\x54\\x1d\\xf3\\x3f\\xa9\\xa4\\x8c\\xb5\\xc6\\x97\\xda\\x25\\xbb\\xf9\\xc9\\x7b\\x25\\x6f\\x29\\xf6\\xc2\\x76\\x9d\\x03\\x86\\x48\\xb9\\x40\\xc2\\xfd\\xa4\\x38\\x55\\x9a\\xea\\xa4\\x75\\xfc\\xb1\\x68\\x53\\x0d\\xfb\\x6f\\xd7\\x4a\\x99\\x7b\\xdd\\x4c\\xe3\\xa2\\x6d\\x80\\xfd\\x05\\x09\\x95\\x4a\\x52\\xdd\\x1b\\x55\\x31\\x38\\x52\\x0b\\xd6\\x62\\x2a\\x3b\\xca\\xe4\\x65\\x3b\\x2a\\x4a\\x54\\x5e\\x36\\xfb\\x6c\\xeb\\x0d\\x7b\\xeb\\xe5\\x0a\\xb9\\xee\\x88\\x28\\xa7\\x16\\x67\\xbe\\x33\\x2b\\xa9\\x06\\x6c\\xcf\\x22\\xeb\\xd7\\x4b\\xe0\\xd5\\xa9\\x45\\x47\\x69\\x87\\xd5\\xd3\\x49\\x73\\x7d\\xf5\\xf7\\x6e\\xcb\\x7e\\xf5\\x7c\\xab\\xf1\\xb3\\xfb\\xbc\\xd4\\x7b\\x78\\xc7\\xd6\\xf6\\x17\\x7c\\xb5\\xf3\\x36\\x16\\xf5\\xbc\\xf0\\xd3\\xd3\\xea\\x15\\x55\\x69\\xde\\xf5\\xb4\\x2f\\xd5\\xb7\\x3d\\xbf\\xef\\x7f\\xc8\\x77\\x5f\\xcf\\xa3\\x56\\x2d\\xc4\\xb1\\xe7\\xb6\\x53\\x5b\\x66\\x1e\\x2a\\x39\\x75\\x3d\\x48\\xd3\\x4a\\x95\\xd6\\x35\\x36\\xf7\\x5c\\x29\\x51\\x38\\x52\\x61\\xea\\x34\\x3f\\x03\\x6c\\x2b\\xd3\\x2a\\x98\\x3b\\xeb\\x12\\xab\\x46\\x5a\\xc3\\xb8\\xb2\\xf6\\x86\\x89\\xec\\x98\\x9d\\x71\\xc9\\xaa\\xdf\\x1a\\xdf\\xbf\\x52\\xd4\\x2c\\x55\\xe6\\x9c\\x6a\\x55\\xb3\\x50\\x7f\\xf9\\xe8\\x2f\\x67\\xaf\\x0f\\x2d\\x34\\x79\\x22\\xed\\xb6\\xfe\\xc4\\x5b\\x45\\x9a\\x78\\x63\\x63\\x83\\xa3\\xa3\\x5d\\xee\\x32\\x61\\x61\\x95\\x45\\x5c\\xc1\\xd1\\x95\\x23\\x23\\x4b\\xe5\\x65\\x47\\x3a\\xa5\\xb2\\x69\\xed\\x66\\xd8\\xbc\\x74\\x6f\\x6e\\x63\\xad\\x89\\x53\\x27\\x35\\xa1\\x61\\x73\\xad\\xa1\\xf9\\x6e\\xe3\\xd5\\xe6\\x4c\\x6c\\x50\\xb5\\xf8\\x9d\\xc8\\x9f\\x38\\xa7\\x3b\\xb1\\xce\\xd4\\x17\\xd7\\xcd\\x1f\\xd1\\xe4\\x8d\\xac\\x11\\x31\\xbe\\xab\\xf5\\x95\\xec\\xfd\\xfc\\x44\\xaf\\x77\\x3e\\x98\\xbe\\xa8\\xa6\\xf6\\x4c\\xcd\\x1d\\x99\\xcf\\x4c\\x9b\\x92\\x3b\\x62\\x74\\xf3\\x39\\x59\\x39\\x4d\\xd6\\x2c\\x7b\\x6f\\x45\\xce\\xca\\x37\\x1f\\xbd\\x67\\x46\\xcb\\x42\\xff\\x9c\\x08\\x27\\x1f\\x7d\\xf1\\xaf\\x1a\\xa7\\xab\\xea\\x41\\xc1\\xc1\\xb1\\x95\\x23\\x92\\xa2\\x93\\x12\\x2a\\x27\\x44\\x47\\xeb\\x65\\x2a\\x97\\xa9\\x5e\\xa3\\x5a\\x52\\x5e\\x76\\xb5\\x6a\\xee\\x52\\x15\\xdd\\x79\\xd9\\x15\\x2b\\x96\\x72\\xe4\\x65\\x97\\x72\\x96\\x70\\xb5\\x42\\x4a\\x71\\xa2\\x02\\xee\\xde\\x5a\\x1a\\xeb\\x36\\xb0\\xde\\xc5\\xce\\xc4\\xc8\\x38\\xd3\\x5d\\x47\\x98\\xaa\\xa2\\x4c\\xaf\\x13\\xcc\\xed\\x77\\x15\\x8a\\x84\\xe7\\xc9\\xaa\\xa1\\x56\\xfe\\xf9\\xe7\\x3a\\x77\\xdb\\x9c\\xe6\\xfb\\x6d\\xa8\\x5a\\xf4\\xc9\\x99\\xed\\x4b\\xd5\\x93\\xb3\\x1f\\xbb\\xf8\\x72\\x41\\x51\\xb8\\xaa\\x54\\x2a\\x77\\x54\\xee\\xf8\\x6f\\x86\\xd7\\xd4\\x9b\\x8d\\x1b\\xd6\\xae\\xe7\\xc6\\x7a\\x6a\\xf0\\xfa\\x37\\x16\\x7e\\x18\\x66\\x8b\\x5e\\x34\\x79\\xd2\\x27\\xa3\\x36\\xaf\\x4a\\xba\\x27\\x73\\xf4\\xa0\\xcd\\xa7\\x45\\x33\\xbe\\x85\\xe7\\x6e\\x56\\x3e\\x23\\xa4\\xb7\\x37\\x39\\x4c\\xd7\\x1c\\xa5\\x4a\\x05\\x89\\x53\\x39\\xcb\\x46\\x52\\x9e\\x65\\xcb\\xd8\\x6d\\xb6\\x48\\xd1\\xc3\\xf4\\x71\\xd9\\x41\\xf6\\xb0\\x30\\x55\\x8a\\x4c\\x6b\\x2a\\x90\\x62\\x8e\\x4d\\x64\\x37\\xc5\\x7f\\x50\\x2a\\x71\\x84\\xb0\\xc2\\xe1\\xec\\x90\\xe6\\xdf\\xd7\\x71\\x3a\\x8a\\x6b\\xa8\\xe2\\xf4\\x34\\xa7\\x72\\x38\\x55\\x5c\\xd9\\x06\\xfa\\xb0\\x06\\xbe\\x2b\\x0d\\x8a\\xa6\\xd6\\xd0\\xf6\\xab\\xb1\\xab\\xb7\\xdc\\xe5\\xbb\\x56\\xbb\\xad\\x2f\\x4b\\x3d\\x3e\\x34\\x52\\x55\\xf1\\x15\\xa8\\x2a\\x07\\xf4\\xf9\\x37\\x46\\x7d\\xae\\xbf\\xd4\\xa5\\x6f\\xd1\\x19\\xad\\xf4\\x3d\\x26\\xdf\\x51\\xf0\\xfd\\x34\\x7e\\xba\\xa5\\x8d\\x37\\xc1\\x65\\x73\\xbb\\xa3\\xca\\x96\\x8d\\x8b\\xaf\\x54\\xba\\xb4\\x52\\xf1\\x41\\xb1\\x79\\xd9\\x41\\x41\\xe5\\x25\\xbc\\x7c\\x5e\\x76\\x78\\x45\\xd1\\xa9\\x0a\\xc7\\x1d\\x54\\xab\\xdb\\x8e\\x96\\x26\\xcb\\xd4\\x9f\\xde\\x5c\\xb7\\x0a\\xc2\\x61\\x2b\\x49\\xad\\x49\\x7d\\x9c\\x6a\\xaa\\x77\\x4d\\x2e\\x5a\\x79\\x77\\x64\\x9d\\xe6\\x5d\\x52\\x97\\x7e\\x32\\xdb\\xf7\\xc7\\xbb\\x7b\\x7e\\xaa\\xac\\x62\\x22\\x07\\xf4\\x9f\\x3c\\xe7\\xde\\x7b\\x26\\x76\\xf5\\xfd\\x68\\x9f\\x56\\xe8\\x5b\\x1d\\xee\\xae\\x14\\x5e\\xf0\\xe1\\xeb\\xbf\\x4d\\x5f\\xb5\\xa2\\x56\\xbf\\x8e\\x2f\\x3f\\x7a\\xff\\xb8\\x3e\\xfe\\xf3\\xef\\x00\\xfc\\x9d\\x42\\x7d\\x54\\xa2\\x42\\x32\\xbd\\xb5\\xe3\\xca\\x97\\x2f\\x15\\x12\\x52\\x23\\x22\\x86\\x63\\x49\\xf5\\x1a\\x51\\x55\\xc7\\x51\\x0d\\xde\\x28\\x15\\x16\\xe5\\x8a\\xd2\\xca\\xe9\\x51\\x51\\xe2\\x74\\x32\\x93\\x9d\\x4e\\xa9\\x82\\xf3\\x15\\x6f\\x73\\xde\\x7c\\xad\\x47\\xa6\\x07\\x96\\xb4\\x9b\\x5b\\xbf\\x3a\\xa9\\xf6\\x78\\xad\\x7e\\x78\\xa4\\x59\\xd2\\xd6\\x19\\x8c\\x02\\xe7\\x4c\\x66\\x86\\xa3\\x39\\x38\\x85\\x15\\x87\\x62\\x4e\\xf6\\xcf\\xcf\\x2c\\x55\\xc9\\x1b\\xd7\\x1e\\x88\\xf4\\x5d\\x2d\\xd3\\xa1\\x65\\xde\\xb2\\x6a\\xf5\\xdf\\xbc\\x6f\\xc9\\x07\\xb3\\xfe\\xf4\\x6d\\x1d\\xd4\\x67\\xf8\\xa3\\x03\\x7a\\xb6\\x1a\\x8b\\x2b\\x21\\x3f\\xab\\x50\\xb5\\xe6\\xa7\\xa5\\x8b\\x6a\\xb4\\xcf\\x38\\x77\\xbe\\x5d\\xf6\\xde\\x95\\x2f\\x1a\\xf2\\xac\\xda\\x76\\xff\\xa4\\x37\\x67\\x0c\\xcc\\x6d\\x3d\\x89\\x1c\\xcc\\xa1\\x56\\x76\\x90\\x83\\x50\\x49\\xf1\\x96\\x73\\x38\\x9d\\xa1\\x2a\\xb4\\x4c\\x18\\x09\\x08\\x73\\x54\\xd0\\x42\\x25\\x34\\x40\\xbb\\xb9\\xd8\\x7b\\xfc\\x84\\x07\\xca\\x9a\\x95\\x33\\x2e\\x4c\\x89\\xe6\\x8c\\x6b\\x50\\x49\\x6b\\x18\\xb7\\xc5\\xe6\\xac\\xf9\\x86\\xaf\\xe8\\x5c\\x3d\\xdf\\xd1\\x84\\xa7\\xde\\x2f\\x9c\\x56\\x14\\x69\\x9f\\x76\\x72\\xbb\\xef\\x33\\x5f\\x97\\x1b\\xeb\\x59\\xf8\\x2a\\xa8\\x52\\xcf\\x58\\xff\\xcc\\x52\\x62\\xe0\\x70\\xb4\\xfd\\x79\\xf8\\xa8\\x2a\\xa9\\xd2\\xcb\\x7b\\x57\\x7c\\xf9\\xf2\\x65\\x1d\\x21\\xd5\\xc3\\xc3\\xeb\\xd6\\xa9\\x1d\\x12\\x12\\xab\\xeb\\x75\\xa3\\x1c\\x89\\x95\\x2a\\x25\\x8e\\xcf\\xae\\x54\\x29\\x59\\x42\\x93\\xc7\\x67\\x87\\x56\\x14\\xd7\\xf8\\x92\\x6b\\x61\\x60\\xa6\\xdd\\xb9\\x36\\x50\\x98\\x81\\xc9\\x76\\x6b\\x86\\xd9\\xac\\x85\\xb2\\x41\\xc3\\xfa\\xe6\\xf6\\xb9\\x6a\\x59\\x93\\x40\\x58\\x65\\x7f\\xec\\xb4\\x7e\\xfb\\x19\\xd5\\x76\\xec\\x39\\xb7\\x7c\\x9e\\x1a\\xf5\\x90\\xef\\x4b\\x5f\\xd1\\xb7\\x57\\x3e\\x58\\xd6\\x77\\x80\\x8a\\x7c\\xaf\\xff\\xc8\\x15\\x03\\x46\\xdc\\x63\\x1f\\x37\\x75\\x78\\xce\\x88\\xe9\\xc3\\xec\\xcf\\x6f\\x58\\x30\\x6b\\x0b\\xfa\\xde\\x18\\x7d\\xf0\\xca\\xbe\\x35\\xcf\\xed\\x8c\\xb7\\xd5\\x78\\x7d\\xe4\\xaa\\xbd\\x45\\x6b\\x1e\\xba\\xff\\xed\\x51\\x43\\xee\\xee\\xb7\\xf7\\x99\\x87\\x07\\xe4\\xce\\x7d\\x64\\xc0\\x10\\x7f\\xad\\xa4\\x12\\xe7\\x30\\x6a\\xa5\\xa2\\x24\\x4a\\x67\\x6f\\x75\\xb7\\xc3\\x51\\x2e\\x3a\\x3a\\xa9\\x9a\\x54\\xaa\\x14\\x1a\\x5a\\x4d\\x4f\\x18\\x97\\x5d\\x2e\\x4c\\x57\\x2e\\x5d\\xd7\\x23\\x43\\x22\\x2b\\xb0\\xf0\\x55\\x0c\\xa1\\xe0\\x43\\x9c\\x77\\x56\\x49\\xfa\\x9d\\x65\\x4e\\x78\\xd6\\xaa\\x61\\x9d\\xd6\\xeb\\x46\\x46\\x47\\x85\\x28\\x47\\x82\\xff\\x0c\\x5f\\xb7\\xac\\xb5\\xdd\\xf7\\x87\\xa5\\xd7\\x69\\x31\\x3f\\xf7\\xf5\\xad\\xcf\\x5c\\x7f\\x69\\xef\\x8f\\x03\\x57\\x5e\\x9c\\xbb\\xfe\\xdb\\x18\\x15\\x19\\xfb\\xdc\\xf7\\x93\\x06\\x77\\x1e\\x3b\\x3d\\xa7\\xe7\\xd8\\xc7\\xb4\\xd9\\x9d\\xdb\\x1f\\xcd\\x7f\\xfe\\xcf\\xa7\\x7d\\xc6\\xb1\\x15\\xbe\\x47\\x7d\\xdf\\xcf\\x5e\\xf1\\x5a\\xea\\x22\\xbd\\xda\\xdd\\x63\\xdf\\x7e\\x26\\xf3\\xfe\\xc5\\x66\\x0c\\xd9\\xfc\\x6a\\x69\\x0b\\xb1\\x3e\\xef\\x49\\xf5\\x56\\xe2\\x95\\xe6\\xb0\\xd9\\x82\\x82\\x6d\\xf6\\x85\\x7d\\x6c\\x91\\x4a\\x16\\xf6\\x51\\x61\\xe6\\x0b\\x3a\\xd8\\x7c\\x41\\xdf\\x7a\\x4f\\x05\\xdc\\x8c\\x61\\x71\\x30\\x3f\\x50\\xba\\xd0\\x50\\xb9\\x1b\\xfa\\xba\\x98\\xbf\\xb5\\xcb\\xaa\\x92\\xef\\x1c\\x6b\\x59\\x45\\x5f\\xa1\\xa9\\xbf\\xbc\\x6f\\x47\\x40\\x7f\\x19\\x69\\xe6\\x75\\x95\\x2e\\x55\\x0a\\xdd\\xf6\\x60\\xec\\x84\\x04\\x07\\x87\\x85\\x07\\x87\\x2c\\xe8\\x63\\x0f\\xbe\\x69\\xc7\\x6f\\x23\\x65\\xf7\\x1d\\x1b\\x81\\x5b\\xc6\\x6e\\xed\\x06\\xfc\\x36\\x77\\x6e\\x34\\xf7\\x04\\x5c\\xde\\x55\\x3e\\xd3\\x6f\\xfa\\xfa\\x17\\xe6\\xce\\xa0\\xe2\\x97\\x13\\xd6\\x5b\\xeb\\xfd\\x24\\x99\\x6c\\x7b\\xd4\\xb6\\x9f\\x0a\\x4f\\xf7\\xc6\\x6a\\x0e\\x1b\\x17\\x41\\x4e\\x25\\x36\\x9b\\x66\\xf7\\x38\\x94\\x43\\x1f\\xa0\\x29\\xb7\\xa6\\xc2\\xd8\\x8e\\x49\\x0a\\x5b\\xb9\\xb4\\x94\\x7e\\xd4\\x58\\xb3\\x14\\xeb\\xe3\\xa3\\xe2\\xd7\\x71\\xd9\\x08\\x15\\x1d\\xac\\xa2\\x27\\xd9\\xf4\\x1b\\x1f\\xe9\\x2d\\x34\\x9b\\x6a\\xa9\\x9e\\x3c\\xe3\\x7b\\xdf\\xb7\\xe5\\xb4\\xbf\\x0e\\x26\\xaa\\x04\\xdb\\x14\\x5b\\x0d\\x8b\\xc3\\x1e\\xde\\x86\\x4e\\x24\\x34\\x15\\x1c\\x64\\xb3\\xbf\\x9b\\x7d\\xd2\\xa6\\xc2\\x6c\\x2e\\x9b\\xc7\\x36\\xc7\\x66\\x0b\\xd6\\x6d\\x6c\\x00\\xda\\xd9\\x94\\xbc\\x9b\\x9d\\xaa\\x46\\x2b\\xcd\\xad\\xbc\\x2a\\x87\\x8b\\xc5\\x6a\\xab\\x72\\xb0\\x5f\\x61\\x9b\\x45\\xf0\\xc9\\xd6\\x7e\\xab\\xa4\\xf9\\xfa\\x71\\xd1\\x0a\\x4c\\xb4\\xe9\\xd7\\x8b\\x6c\\xba\\xde\\xe1\\xe4\\xc9\\xa2\\xe3\\x27\\x4e\\xc8\\x1d\\xf1\\x35\\xf4\\x56\\xb6\\x89\\xe6\\x10\\x87\\x33\\xc8\\x61\\xd7\\x34\\x7d\\x80\\x4d\\xb9\\x4d\\xeb\\xca\\x66\\xfe\\x47\\x38\\x04\\xf5\\x75\\xad\\x08\\xef\\x8c\\xae\\x61\\xfd\\x60\\x55\\x5f\\x45\\x4c\\xd2\\xbd\\x37\\xb6\\xda\\xf4\\xc9\\xa7\\x55\\x6b\\xd5\\xe6\\x8c\\xef\\x61\\xdf\\x87\\x56\\x6c\\x1b\\x59\\x3b\\x36\\x51\\xe3\\x95\\x59\\xc1\\x7b\\x79\\x6b\\x55\\x8a\\x29\\x55\\xba\\xb4\\x2b\\x36\\x36\\x3a\\x26\\x5a\\x8f\\xd1\\xe3\\xe2\\x23\\x9c\\x95\\x74\\x29\\x5d\\xc5\\x1b\\x5b\\x65\\x51\\x9f\\xd8\\x48\\xa9\\x30\\x20\\x5b\\x6c\\xe4\\xd1\\x1d\\xaf\\xf8\\x63\\xc6\\xe3\\xaf\\x19\\xff\\x87\\x91\\xe5\\xd3\\x8b\\xcd\\x46\\x16\\x27\\x37\\x30\\x93\\xcd\\x57\\x3b\\xcb\\x8c\\xf9\\xd2\\xd7\\x8b\\x5f\\xa2\\x66\\xbe\\xb5\\xef\\x8f\\x5e\\xeb\\xf8\\xff\\x50\\xf6\\x1f\\x80\\x51\\x55\\xe9\\xff\\x38\\x7c\\x9e\\x5b\\xe7\\x4e\\xef\\x35\\x99\\x92\\x49\\x66\\x52\\x49\\xc8\\xa4\\x10\\x5a\\x46\\xe9\\x35\\x09\\xd5\\x11\\x43\\x00\\x15\\x05\\x54\\x8a\\x10\\xa4\\x28\\xa0\\x54\\x51\\x51\\x50\\xc4\\x42\\x11\\x3b\\x28\\xb0\\x2c\\xba\\x41\\x45\\xb0\\xae\\x75\\xc1\\x55\\x57\\x57\\x5d\\x71\\x15\\x0b\\x6b\\x63\\x77\\xd5\\x5d\\x85\\xdc\\xbc\\xe7\\x9c\\x5b\\x66\\x02\\xec\\xf7\\xf7\\xfe\\x97\\x05\\x27\\x93\\x53\\x9e\\x7b\\xce\\x73\\x9e\\xf3\\x79\\xea\\x5d\\xbb\\x75\\x74\\x43\\x81\\x20\\xff\\x6c\\xed\\x3f\\xb5\\x7d\\xd0\\xa4\\x3a\\xef\\x94\\xcb\\xbf\\xa8\\x91\\x7f\\x59\\x60\\xa8\\x81\\x58\\x0d\\xbf\\xf9\\xb9\\x47\\x2f\\xbe\\x6d\\xd1\\xc4\\x54\\x5d\\xff\\xd2\\x51\\xd7\\xb6\\x0e\\x2b\\xbb\\xb0\\x5f\\xff\\x64\\xe3\\xd8\\x17\\x8a\\xe1\\x86\\xdf\\x66\\x2a\\x56\\x4d\\x06\\x6d\\x96\\x3f\\x12\\x17\\x62\\xec\\x96\\x46\\x4d\\xe8\\xaf\\xe9\\x75\\x65\\xd5\\x68\\xa8\\x3d\\x90\\x97\\x77\\x81\\xdf\\x27\\xd9\\xa5\\x86\\x78\\x1c\\x35\\xa0\\xe6\\x96\\xc8\\x08\\xcb\\x88\\x0f\\x32\\x9c\\xc5\\x3d\\xf0\\x83\\x8c\\xdf\\x6d\\xc7\\x32\\xde\\x12\\xb1\\x30\\x26\\xd6\\xe2\\xb6\\xb8\\x6b\\xfb\\xf5\\x4b\\x7e\\x90\\xe9\\x87\\x6a\\x2b\\x3f\\xc8\\xa0\\x5a\\x7b\\xed\\x9c\\xda\\xe5\\xb5\\x5c\\x6d\\x65\\x0b\\x44\\x5a\\xe0\\xc7\\x16\\x38\\xde\\x02\\x47\\x5b\\x20\\xdd\\x02\\x55\\x2d\\x10\\x6d\\x01\\x7b\\x0b\\xa0\\x16\\x90\\xf6\\xb5\\xc0\\x8e\\x16\\xb8\\xbd\\x05\\x96\\xb5\\xc0\\xec\\x16\\x68\\x6b\\x81\\xa6\\x16\\x68\\x6c\\x01\\xa5\\x9b\\xad\\x05\\x06\\xe7\\x6a\\x18\\xfa\\x67\\xac\\x43\\x54\\xb6\\x66\\x91\\x91\\xbf\\x92\\x5e\\x24\\xf6\\x97\\x89\\x7c\\xa6\\xd7\\xb5\\xbe\\x84\\xd4\\x6e\\xa0\\x1c\\x8f\\x86\\x6a\\x62\\xeb\\x63\\x04\\xc5\\xcc\\x12\\x57\\xa5\\x87\\xb3\\x2e\\x55\\xed\\x4b\\xd5\\xa7\\x58\\x45\\x5e\\xf4\\xc7\\xe2\\x91\\x29\\x8c\\x17\\x70\\x18\\x46\\x3a\\xb9\\x54\\xb4\\xc8\\x47\\x2e\\xd0\\x42\\x7a\\x1b\\xc5\\xaa\\x39\\x27\\xaf\\xdc\\x3b\\x4a\\x5b\\x46\\x5c\\xb8\\xec\\xb3\\x1b\\x2f\\xb9\\x54\\x10\\xaa\\x5f\\xb9\\x62\\xeb\\x93\\x2b\\xbe\\xbc\\xed\\xa5\\x41\\x42\\xf2\\xfe\\x05\\x45\\x95\\x91\\xe6\\x8d\\xe3\\xef\\x91\\x3f\\x3b\\x7c\\x4a\\xde\\xf8\\xce\\x76\\x88\\xbe\\x08\\x09\\x48\\xf6\\x7f\\x4c\\x3e\\xfc\\xf8\\x77\\xf2\\x3d\\xaf\\x77\\xc2\\xf3\\xe0\\xfe\\x37\\x5c\\xf6\\x6c\\xe7\\xa2\\x85\\x93\\x27\\xdf\\x35\\x76\\xea\\x65\\x17\\x5e\\x3f\\xad\\x96\\xf9\\xf7\\xd3\\xf2\\x7b\\x8f\\x4f\\x6a\\x29\\x0a\\xcf\\x58\\xfd\\xe6\\xd3\\x0f\\x42\\xf8\\xc1\\x3d\\x5b\\x64\\xe1\\x89\\x81\\xd5\\xa5\\xeb\\x4f\\xde\\xb2\\x17\\x2c\\x1b\\xff\\x2c\\xcf\\xff\\xe5\\x25\\xf9\\xaf\\x77\\xdf\\xb7\\xb8\\x6d\\xcc\\x61\\x98\\x71\\x12\\x42\\xf0\\xc6\\x99\\xa7\\xe4\\xa7\\x3f\\x6d\\xbb\\xee\\xfa\\x2f\\x17\\xcd\\x5b\\x39\\x6e\\xfb\\x9b\\x18\\xf3\\x60\\x24\\xcb\\xa7\\xf0\\x3d\\x26\\x62\\x59\\x32\\x33\\xdd\\xcf\\xc4\\xb0\\x02\\x6f\\xc6\\xea\\x27\\x12\\x0d\\xa2\\x9d\\xe5\\x38\\x1b\\x30\\x26\\xa6\\x2d\\x83\\x65\\x8c\\x81\\x67\\x59\\x0e\\x39\\xd3\\x76\\x98\\x63\\x07\\xfc\\x6f\\xd4\\x4e\\x8a\\xac\\x9c\\xb2\\xc3\\x31\\x3b\\x1c\\xb6\\x43\\x93\\x1d\\x34\\xbd\\x0d\\x6b\\x6c\\xd5\\x95\\x8d\\x29\\x0c\\x86\\x74\\x2c\\xe4\\xd4\\xd6\\xb7\\xba\\xda\\x41\\x70\\x10\\xc6\\xbc\\x6c\\x0c\\xc3\\x1f\\x0c\\x82\\xf0\\xa7\\x04\\x67\\xab\\xef\\xfc\\xfa\\x25\\xf9\\x23\\xd6\\x05\\x97\\xfc\\x20\\x37\\x78\\x46\\x61\\x44\\x3e\\xc0\\x09\\x57\\xca\\x5b\\xf8\\x15\\xbf\\x2d\\xe3\\x1e\\x4b\\xdf\\x29\\xcf\\x83\\x97\\xd7\\x60\\x69\\x50\\x88\\xe9\\x5d\\x42\\xf5\\x39\\x1f\\x3e\\x3d\\x8b\\xd2\\x43\\x6c\\x51\\x9f\\xdf\\x6f\\xf5\\x21\\x64\\xcd\\x33\\xba\\x38\\xce\\x28\\x5a\\xf1\\xdd\\x25\\x46\\x6d\\xb6\\x68\\x5b\\xc6\\x66\\xf3\\x23\\x2b\\x3e\\x3f\\x56\\x27\\xf2\\xe1\\x53\\x44\\x6c\\xfc\\x69\\x7a\\x8a\\x4e\\x15\\xc0\\xb1\\x02\\x38\\x52\\x00\\x3b\\x0a\\x60\\x4e\\x01\\x54\\x15\\xa8\\x66\\xfe\\xb9\\xf3\\xca\\xce\\xbd\\x2d\\xa9\\xd1\\x3b\\x2b\\x35\\x55\\x03\\x1d\\xde\\x5d\\x7c\\x5b\\x8a\\xf4\\xb2\\x2c\\x01\\xfc\\x23\\xc5\\x18\\xf8\\xa9\\xd4\\x0f\\x50\\xc7\\x0c\\x3d\\x0d\\xcc\\xc3\\xdb\\xd7\\xde\\x23\\xff\\x51\\x7e\\xb5\\xb3\\x11\\xde\\x80\\xc4\\xde\\x4d\\xf3\\x56\\xcb\\xef\\x3e\\x07\\x43\\xdf\\xd9\\xb9\\xf6\\x5e\\xf9\\x69\\x7e\\xc5\\xc3\\x0f\\xac\\xdb\\x1b\\xf3\\x3d\\xbc\\xf0\\xdd\\x4f\\xd8\\x61\\x97\\xcc\\x68\\x1e\\x7a\\xa6\\xf6\\xf2\\x05\\x17\\x4f\\xc1\\xa2\\xe5\\xb2\\xae\\xef\\xf8\\xe3\\xf4\\x1e\\x1c\\x91\\x2e\\xc3\\x7a\\x3e\\x86\\x78\\xc8\\x6c\\x0e\\x05\\xa7\\x84\\x00\\x85\\xd2\\xa1\\x29\\xa1\\x39\\xa1\\xe5\\x21\\xde\\xc7\\xba\\x79\\xbb\\xc1\\x8e\\x1f\\xce\\xce\\x19\\xd8\\xb6\\x8c\\xc1\\x95\\xab\\x01\\x10\\x1b\\xd9\\x5c\\x2a\\x17\\xaa\\xb5\\x3b\\x10\\xf3\\x61\\xd4\\xe5\\xc3\\x6a\\x10\\x66\\xd1\\x1a\\x02\\x98\\x38\\x05\\x30\\x21\\xb8\\x63\\xf7\\x76\\x30\\x6e\\xf9\\xe2\\xcf\\x72\\xc3\\x61\\xf9\\xdb\\x0d\\x7f\\x86\\x45\\xa7\\xbe\\x82\\x64\\x4a\\xfe\\x21\\xff\\xa1\\xf6\\x7f\\xc9\\xdf\\x33\\xfd\\x9e\\x3c\\x04\\xcc\\x02\\xf9\\x96\\xdb\\xc1\\xb4\\xff\\x0c\\xdc\\xfa\\xde\\x2b\\x2f\\x0d\\x99\\xb5\\x54\\xde\\x47\\xe5\\x19\\xd9\\x93\\x5b\\xf1\\x9e\\x48\\xc8\\x85\\xfa\\xa7\\xe3\\x2e\\x49\\x32\\x1a\\x6c\\xac\\x81\\x75\\x7b\\x24\\x57\\x5b\\x46\\x62\\x0d\\x46\\x4c\\x99\\x93\\x2c\\xbe\\x07\\xa2\\x1e\\x38\\xec\\x81\\x6e\\x0b\\xdd\\xcd\\x9d\\x12\\x45\\x0e\\x37\\xc3\\xe1\\xe5\\x73\\xa5\\xa8\\x8a\\x96\\x28\\x03\\xe6\\x53\\x18\\x05\\xd3\\x5e\\x95\\xd7\\x9e\\xec\\x7c\\x1e\\x9c\\x17\\x7c\\xb5\\xe3\\x3f\\xab\\xde\\x7d\\x75\\x1f\\xbf\\x42\\x7e\\x43\\xfe\\xe4\\x3b\\x79\\xf3\\x3b\\xfc\\x8a\\xd3\\x97\\xae\\x03\\x66\\xf7\\xa1\\x57\\xf1\\xba\\x11\\x5a\\xd6\\x61\\x5a\\x4c\\xe8\\x9a\\x74\\x7f\\xc1\\x68\\x44\\x0c\\x63\\xe1\\x0d\\x9c\\x24\\x21\\x8e\\xd4\\x10\\xb1\\x98\\x79\\x43\\x5b\\x86\\x8f\\xf9\\x86\\xdd\\xcb\\xc3\\x3a\\x1e\\xfa\\xf2\\xc0\\xda\\x78\\x30\\xf3\\x3c\\xd1\\xa0\\xb9\\xb6\\x0c\\xb0\\x48\\xc2\\xac\\x42\\xa8\\x2d\\x3b\\x1b\\x54\\xb4\\x11\\x3f\\x50\\x2e\\xf8\\x74\\xea\\x82\\x17\\x2b\\x73\\x14\\x45\\x2b\\x7f\\x0b\\xc1\\xc1\\x8d\\x2b\\x3f\\xf3\\xee\\x20\\xe6\\x54\\x79\\xa7\\x7d\\x28\\x3b\\xa1\\x82\\x5f\\x71\\x42\\xde\\x76\\x42\\xbe\\x95\\x94\\xba\\xa0\\x34\\xda\\xe8\\x7a\\x5d\\x9c\\x4e\\x31\\x06\\x83\\x09\\x48\\x1d\\x4d\\xac\\xc4\\x0b\\x82\\xd1\\x44\\x88\\xb0\\x01\\x98\\x58\\x48\\x5b\\x7b\\x0e\\x05\\xe0\\x31\\x10\\x6e\\xcb\\x88\\x2c\\x4f\\x48\\x8a\\x9a\\xa0\\xd9\\xa4\\xdc\\x01\\x3a\\x8b\\x62\\xc2\\x72\\xae\\x76\\xa7\\xae\\xef\\x2a\\xb4\\x60\\xaa\\x98\\xaa\\xf1\\xcc\\xfd\\xe5\\x9d\\x97\\x5d\\x2e\\x7f\\x04\\x0e\\xf6\\xa3\\x72\\x6e\\xab\\x3c\\xf2\\x44\\xe7\\x69\\x4c\\x12\\xe5\\xb3\\xef\\xf9\\xdf\\x30\\x9f\\x45\\x30\\x32\\x2f\\x0f\\x06\\x9c\\x4e\\xd6\\x9f\\x9f\\x8f\\x05\\xb9\\xc9\\xc8\\x1a\\xa3\\xb1\\xbc\\xc0\\xd4\\x4c\\x3e\\x32\\x89\\x79\\x79\\x04\\x94\\x63\\x32\\x38\\xe4\\xc1\\xab\\xe3\\x3a\\x67\\x75\\x9c\\x0d\\x2a\\x2c\\x57\\x95\\x0a\\xdd\\xd6\\xc0\\xe3\\x0d\\xcd\\x65\\x34\\x81\\x51\\x70\\x56\\x23\\xc4\\xea\\x63\\xac\\xc0\\x31\\x27\\xe4\\xf7\\xe4\\x27\\xde\\x81\\x65\\xbf\\x9d\\x80\\x54\\xad\\xfc\\x55\\xfe\\x23\\xcb\\xb6\\x9f\\x5a\\x7e\\x78\\xcf\\x55\\x6f\\x0d\\xed\\x21\\xef\\x4a\\x32\\xd3\\x67\\xdc\\x2f\\xbf\\xe6\\x82\\x7e\\x90\\xff\\x1b\\xac\\x7c\\xe7\\x4f\\x07\\x47\\xcf\\x5d\\xba\\x59\\xfe\\xee\\xc0\\xfe\\x37\\x6b\\xca\\x4f\\x1c\\xeb\\x7c\\x6d\\xd6\\x44\\x75\\x3d\\xff\\x41\\xf7\\xfc\\xea\\x74\\x5f\\x30\\x48\\x26\\x84\\x30\\x0b\\x32\\x22\\x2b\\x08\\x3c\\x8f\\x65\\x98\\xd9\\x68\\xb4\\x00\\x23\\x32\\x53\\x32\\x06\\x31\\xe6\\x19\\xd6\\x5b\\x7c\\x46\\x64\\x44\\x51\\xc2\\xcb\\xad\\x88\\x34\\xc2\\x99\\x16\\x68\\xb6\\x40\\x2b\\xe1\\x4a\\x22\\xba\\x2a\\x1d\\x58\\x7a\\xb5\\x96\\xe9\\xf2\\xcb\\xd9\\x7d\\x75\\x55\\x65\\x0e\\xab\\x72\\x64\\x81\\x89\\x4a\\x07\\xec\\x73\\xed\\x9d\\xb7\\xb5\\x93\\x15\\x86\\xe4\\xd5\\xcc\\xbc\\xab\\x21\\x4f\\xfe\\x81\\xb9\\xa4\\xf3\\x21\\x7e\\x45\\xe7\\x51\\xa6\\xe7\\x6f\\xcb\\xd4\\x7d\\x67\\x2e\\xa1\\x56\\xf3\\x1d\\xe9\\x39\\x88\\xc3\\xac\\x47\\xe7\\x1e\\xa7\\x19\\x34\\x11\\x0f\\xdd\\x8c\\x99\\xba\\xa9\\x74\\x0e\\x0f\\x6d\\x3c\\x44\\xe8\\xf7\\xca\\x97\\x53\\x78\\x68\\xe4\\x21\\xca\\x83\\x9d\\x76\\xb3\\xe8\\x4d\\x15\\x2b\\xac\\x62\\xb0\\x55\\x7e\\xd7\\x77\\x9f\\x6a\\x16\\xcd\\xda\\x38\\xcf\\x63\\xd3\\x6c\\x23\\x56\\x38\\xc2\\x56\\xaa\\xad\\x06\\x62\\x50\\x48\\x9e\\x85\\xe8\\x76\\x84\\x7a\\x42\\x7f\\x00\\x63\\xf3\\xcd\\x98\\x7e\\x07\\x46\\xe6\\x25\\x36\\xa3\\x11\\x5f\\x0a\\x56\\x2b\\x06\\x4f\\x2e\\x27\\x72\\xdd\\xee\\x62\\xcc\\xac\\x0d\\x59\\x8d\\x82\\xc9\\x6a\\xc2\\x12\\x97\\x45\\xc2\\x79\\x18\\x05\\x2f\\xa0\\x6a\\xb8\\x77\\x28\\xf6\\x1d\\x55\\x7b\\x53\\x70\\x38\\xc6\\xa1\\x2e\\xc2\\x15\\x56\\x80\\xcf\\x9e\\xff\\x22\\x01\\xa6\\x1e\\x0f\\xd4\\x0d\\xaf\\x72\\x6e\\x90\\xbf\\x2e\\x67\\x1a\\x5f\\xa8\\x38\\xe5\\x3e\\x72\\xb4\\xf7\\xe7\\x55\\x17\\xb5\\x32\\x9f\\x7f\\x7d\\x26\\xf1\\xf5\\x7b\\x48\\x5d\\x53\\x61\\x00\\xdd\\xfb\\xf6\\x74\\x31\\x32\\x99\\x8c\\xc0\\x18\\x24\\xc9\\x92\\xb3\\xf9\\x16\\xbc\\xb7\\xc8\\x12\\xb5\\x2c\\xb7\\xb0\\xcd\\x96\\x63\\x96\\xcf\\x2c\\xac\\xd8\\xd1\\x75\\x2a\\x1d\\x74\\x05\\x86\\xae\\xc4\\xaa\\x3d\\x30\\x2c\\xc7\\x4b\\xdd\\x98\\x21\\xcb\\x04\\x95\\xc4\\xe5\\xd7\\x5a\\x46\\xe4\\xd5\\xd9\\x3c\\xa0\\x69\\x4d\\x31\\x10\\x29\\x13\\x40\\x4c\\x02\\xf6\\x0b\\x79\\xeb\\xbb\\x97\\xcb\\x9f\\x90\\x85\\xbb\\x91\\xf9\\x2f\\xcc\\xed\\xf4\\xc0\\x3b\\xcc\\xf2\\x25\\xe4\\xb0\\x75\\xae\\x60\\x96\\x75\\x6e\\x39\\xf3\\xb5\\x42\\x33\\x37\\x0b\\xd3\\xcc\\xa3\\x9e\\x58\\x3b\\x00\\x20\\x75\\x74\\x45\\x01\\xff\\x87\\x55\\x25\\x4f\\x54\\x84\\x66\\x31\\x0b\\xf5\\xb2\\xe7\\x8a\\x6e\\x8c\\x22\\x60\\x20\\xf9\\x25\\xf3\\x53\\x05\\x91\\x7d\\x9a\\x4c\\x11\\xfe\\x84\\xc7\\xf4\\xc3\\xfe\\x74\\x17\\xf2\\xfb\\x0d\\xa2\\xcb\\xe5\\xb3\\x79\\x59\\xd6\\xe7\\x0b\\x3a\\x4c\\x76\\xbb\\xd5\\x66\\x0b\\x04\\x31\\xf2\\x02\\x17\\x6f\\xf3\\x79\\x1d\\x76\\xd6\\x66\\x35\\xd0\\xb9\\xee\\x09\\xc2\\xfc\\x20\\xcc\\x08\\xc2\\x84\\x20\\x0c\\x0e\\x42\\x49\\x10\\x7e\\x09\\xc2\\x57\\x41\\xf8\\x4b\\x10\\x5e\\x0f\\xc2\\xc1\\x20\\xec\\x0e\\xc2\\x7d\\x41\\x68\\x0f\\xc2\\xf4\\x20\\x0c\\x0b\\x42\\x1f\\xfa\\xfd\\xb3\\x41\\xc0\\x1d\\xd7\\xd1\\x2f\\x33\\xda\\xf7\\xb8\\xaf\\x10\\x04\\xc3\\x65\\xda\\x58\\x35\\x41\\x48\\x04\\xc1\\x1b\\x84\\x9f\\x82\\x70\\x82\\x8e\\x78\\x20\\x08\\x8f\\x04\\x61\\x25\\x9d\\x72\\x3a\\x6d\\x36\\x30\\x08\\x75\\x41\\x08\\x04\\x81\\xc3\\x44\\xfc\\x44\\x67\\x7e\\x35\\x08\\x8f\\x07\\x61\\x23\\x6d\\xd7\\x4e\\x1b\\x15\\x04\\xc1\\x4d\\xc7\\x3e\\x49\\x47\\xc1\\x0d\\xf6\\x07\\xe1\\xa1\\x20\\x6c\\xd6\\x08\\xd7\\x67\\xfa\\x95\\x8c\\x90\\xee\\x01\\x2f\\x6b\\x73\\x61\\x12\\x17\\x05\\x61\\x4c\\x10\\x20\\x1d\\x04\\xa6\\x2a\\x08\\x91\\x20\\xd8\\x82\\xd0\\x70\\x2a\\x08\\xc7\\x82\\x70\\x24\\x08\\x7b\\x83\\xa0\\x19\\xa0\\xdb\\xa8\\x84\\x3f\\xdb\\xd8\\xff\\xff\\x70\\xf1\\x4d\\x3e\\xaf\\x93\\x41\\x69\\x4f\\x18\\xa9\\xba\\xba\\x31\\x45\\xdd\\xc7\\xba\\x8c\\xee\\xe6\\xdb\\xaf\\xa6\\x3c\\xe4\\xaa\\xab\\x17\\x05\\x11\\xe2\\x2c\\x93\\x14\\x28\\x3b\\x85\\xa0\\x3f\\xc6\\x14\\xc0\\x3d\\xfd\\x44\\xb0\\x6a\\x50\\x53\\x5c\\xbe\\xec\\xcf\\x93\\x23\\x52\\x9e\\xed\\x09\\xf9\\x37\\x70\\xc2\\xfa\\x8b\\x02\\x85\\xfd\\xe1\\x77\\xb0\\x4e\\xfe\\x81\\x9d\\x7f\\xe3\\x91\\xbb\\xf7\\x5c\\x70\\xe6\\x18\\x9b\\x82\\xf8\\x94\\x9f\\x46\\x9c\\xc1\\x77\\xdf\\x99\\xef\\xe4\\xef\\x9a\\x6f\\x64\\x27\\xe0\\x63\\x9b\\x95\\x8d\\x56\\x34\\x36\\x5d\\x61\\x40\\x56\\xab\\xd9\\x62\\xb1\\x8b\\x20\\x08\\x58\\x63\\xb4\\xd9\\x81\\x35\\x61\\x95\\xca\\x62\\x16\\x05\\x96\\xb7\\xaa\\x92\\xd0\\x0e\\xcb\\xed\\xd0\\x6c\\x57\\xef\\xe8\\xff\\x45\\xbf\\x62\\x39\\x8a\\x81\\x42\\x2e\\xd4\\xd7\\xd5\\x13\\x21\\x38\\x5f\\xbe\\xd9\\x67\\xdb\\x43\\x89\\x9c\\x0c\\x8b\\xcc\\x26\\xe7\\x1e\\x10\\xe4\\x1f\\xb8\\x59\\x3b\\x47\\x9d\\x59\\x89\\x59\\x75\\xfd\\x98\\xb1\\x93\\xd8\\x05\\x98\\x2e\\x86\\xe0\\x1b\\xc1\\x87\\xef\\x1d\\x2b\\xd6\\x82\\x6a\\xd2\\xf9\\x41\\xd6\\x65\\x62\\x4d\\xe1\\x7c\\xd1\\x8b\\x2f\\x19\\x17\\xb2\\x11\\x9d\\x67\\x47\\x18\\xa6\\x84\\x21\\x1d\\x06\\xbc\\x9e\\xe7\\xb3\\xe7\\x2a\\x48\\x41\\x45\\x32\\x3e\\xfd\\x66\\x21\\xa0\\x81\\xdd\\x01\\x45\\x30\\xe6\\x5d\\x79\\xf5\\xbf\\x5f\\x90\\xbf\\xb8\\xeb\\x5d\\x68\\xff\\x72\\xe7\\x89\\xa5\\x07\\x1e\\x78\\xe0\\xc4\\xf5\\x7b\\xf9\\xcd\\xf2\\xeb\\xf2\\x4f\\xff\\x91\\x67\\xfc\\xf5\\x76\\xb0\\x1c\\xf8\\x16\\xee\\xfe\\xe0\\xe4\\x66\\xf9\\xcf\\x0f\\x75\\x1c\\xdc\\x0c\\xc5\\x8f\\xef\\x7b\\x51\\xc3\\x33\\x19\\x6a\\x07\\x74\\xa1\\x91\\xe9\\x12\\x93\\xe8\\x32\\xb8\\x8c\\x46\\x2c\\x56\\xdc\\x1e\\x1b\\xcb\\x7a\\x4c\\x62\\x5b\\x06\\xc3\\x61\\xa3\\x11\\x83\\x1b\\x23\\xab\\x01\\x9b\\x4a\\x8c\\x6a\\x5a\\x73\\xef\\x65\\xdd\\xec\\x93\\xca\\xf1\\xea\\x62\\xcc\\x88\\x4a\\xf0\\xd5\\x8c\\x35\\x7c\\x0d\\x30\\x8e\\xf9\\x05\\x1c\\xf2\\xdb\\x72\\x97\\xbc\\x66\\x1a\\xb9\\x3e\\x76\\x42\\xec\\xbe\\xfb\\x96\\x5f\\x27\\xff\\xc6\\xaf\\xf8\\xec\\xd5\\xbf\\xcb\\xbf\\xc8\\x76\\x2c\\x3b\\xc6\\xcc\\x5f\\x39\\x7d\\x16\\xc5\\x5a\\x97\\xc9\\x73\\xe8\\xba\\xe5\\xa3\\x32\\x34\\x3c\\x5d\\x5a\\x62\\xf4\\x78\\x3d\\x92\\x8d\\x63\\x0b\\x82\\x6c\\xb0\\xa2\\xdc\\x53\\x84\\x49\\xf2\\xb8\\x9c\\x96\\xa9\\x19\\x27\\x0a\\xd3\\x45\\xac\\x80\\x29\\x15\\x90\\xae\\xd0\\x17\\xb1\\x92\\x2c\\x64\\x4a\\x5b\\x49\\xb2\\xaf\\xa9\\x6a\\x75\\x35\\x45\\x2b\\x2b\\x12\\xc3\\x1f\\xf5\\x8c\\x26\\x92\\x3d\\xd8\\xff\\xb5\\xb0\\xee\\xd0\\xb5\\x8f\\xfd\\xf5\\x46\\xd7\\xa4\\x4c\\xf3\\xe0\\x8a\\xa1\\x53\\x5f\\x79\\xdf\\xd7\\xfe\\xd4\\x92\\xfe\\xe7\\x59\\xe5\\x99\\x53\\xd6\\x1c\\x7f\\xfc\\x6a\\xcf\\xb4\\x8b\\xac\\x2f\\x05\\x9e\\x7b\\xd3\\x75\\xf9\\xdd\\x2f\\x5f\\x7b\\xee\\x82\\x2b\\xeb\\x7d\\x50\\xc5\\xf4\\x57\\xa4\\xeb\\xc0\\x62\\x61\\x30\\xa3\\x3a\\x8d\\xc6\\x80\\x8f\\xf1\\xb2\\x5e\\x2a\\xc6\\xfd\\x01\\x0b\\xbe\\x1d\\x7d\\x58\\x15\\xf1\\xf9\\x10\\xcf\\x63\\x36\\xc9\\xde\\xdd\\x01\\x88\\x06\\x60\\xae\\x7a\\x77\\xeb\\xcb\\x8f\\x72\\x8d\\xed\\x9a\\xd4\\xa6\\x82\\x9b\\x1e\\x39\\x45\\x01\\xa9\\x26\\xf8\\x5d\\x10\\x25\\xd0\\x76\\x83\\xfd\\xd7\\x57\\xf2\\x23\\x57\\xc8\\x7f\\x05\\x27\\xb3\\x7e\\xfb\\x17\\xed\\x7f\\x7d\\x06\\x9c\\x72\\xd5\\x1d\\x77\\x2d\\xbb\\x56\\xbe\\xb3\\x85\\xf1\\x76\\xe2\\xa3\\x34\\xed\\xe9\\x25\\x0f\\x7f\\x95\\xd7\\x79\\x90\\x39\\xb3\\xe0\\xaa\\xd6\\x69\\xf2\\x14\\xfd\\x6e\\xe4\\x2f\\xc0\\xfb\\x52\\x8c\\x86\\xa5\\x4b\\x7c\\x5e\\x29\\x91\\x6f\\xc7\\x37\\xa3\\x3d\\xe1\\xe5\\x4a\\x4b\\x50\\xe9\\xf2\\x52\\x26\\xc6\\xe6\\xfb\\x38\\x89\\x43\\x2e\\x57\\x70\\x6a\\xc6\\x85\\x05\\x3e\\xb9\\x1e\\xb3\\x57\\xa3\\xe6\\xd1\\xce\\x6a\\x1a\\x04\\x3b\\x15\\x52\\x4b\\x6c\\x14\\x93\\x96\\xec\\x81\\xd9\\x9c\\xa8\\x94\\x2a\\x8c\\xf2\\xb8\\xc3\\xe0\\x0b\\xb3\\x58\\xf9\\x60\\x2e\\x92\\x7f\\x96\\xbf\\xc9\\x83\\x98\\xe7\\x8e\\x5b\\x20\\x73\\xdd\\xfe\\x8e\\xdf\\xb5\\x42\\x6f\\x60\\x7f\\x80\\x68\\x4c\\xfe\\xcc\\xbb\\xa9\\x7d\\xe9\\x6d\\x35\\x97\\xdd\\xb9\\x7d\\xcb\\xa4\\x2a\\xf9\\x80\\xfb\\xd0\\xcb\\x3d\\x67\\x4f\\xff\\x63\\x73\\x6b\\x45\\xcf\\x99\\xf7\\xcc\\xfe\\xdd\\x87\\x4f\\x3e\\x32\\xe0\\xe2\\x59\\xad\\x2d\\x95\\x17\\xf6\\x2c\\x2e\\x1f\\x35\\x65\\x69\\xcb\\x87\\x5f\\xd0\\x67\\xb9\\x03\\xef\\xc7\\xb5\\x54\\x27\\x2c\\x4d\\xfb\\x18\\xc9\\x80\\xa4\\x66\\x89\\x09\\xe1\\xeb\\x89\\x67\\xc9\\xb2\\x83\\x7a\\x47\\x52\\xf3\\xa6\\x7a\\x9d\\x6b\\x96\\xed\\x98\\xc8\\x2e\\xfb\\x4a\\xfe\\xeb\\x57\\x72\\x43\\x39\\xf7\\x34\\x46\\x9a\\xa7\\x2f\\xe5\\xb6\\x9e\\x20\\x38\\x73\\x21\\x5e\\x9f\\x7f\\xe2\\x31\\xbd\\x68\\x74\\xba\\xd8\\x61\\xb7\\x3b\\x6d\\x36\\x9f\\x5f\\xc0\\x5b\\x88\\xe5\\x90\\x5f\\xb0\\x49\\xac\\x13\\xd9\\x25\\x0c\\x74\\x25\\x97\\xdd\\xc1\\x73\\x44\\x53\\x6b\\xf6\\x53\\xfb\\x18\\x16\\x3e\\xaa\\x3a\\xe3\\x54\\xed\\x96\\xdd\\xcd\\x7a\\x45\\xd5\\x44\\xf4\\xb0\\x0c\\x8a\\x45\\x0b\\x89\\xc5\\x12\\x7f\\x26\\xaa\\x39\\xb3\\xef\\xe1\\xdd\\x05\\x8f\\x41\\x72\\x77\\xbd\\xfc\\xb4\\xfc\\xb1\\xfc\\x5f\\xf9\\xb8\\xcd\\x70\\x27\\x24\\xef\\x71\\x6e\\x7c\\x77\\xcb\\x7e\\xf6\\xb2\\x33\\x77\\xc8\\x5f\\xcb\\xff\\xfe\\xf6\\xc3\\xf2\\x25\\x45\\xac\\x70\\xe6\\x2f\\x13\\xc7\\x5f\\x31\\x57\\xd9\\x47\\xf2\\xd6\\xa6\\x2f\\xe9\\xd9\\x1f\\x98\\x4e\\x00\\x12\\x04\\x46\\x32\\x1a\\x59\\x86\\x31\\x9b\\x8c\\x58\\x35\\x46\\xe0\\x6c\\x32\\x43\\xd4\\x0c\\x76\\x33\\x1c\\x36\\x43\\x9b\\x19\\x1a\\xcd\\xa0\\x48\\x7e\\x42\\x69\\x63\\x4a\\x61\\xb8\\x6a\\x85\\xcb\\x30\\x75\\xe4\\xac\\xbb\\xbc\\x3e\\x22\\xcc\\x99\\xbf\\xcb\\x4f\\x7e\\x01\\x3d\\xe7\\xd9\\x85\\xca\\x06\\xf8\\x12\\x43\\xbe\\x15\\x67\\x16\\x6e\\x5a\\x38\\x73\\x31\\xbb\\x97\\xcc\\xbb\\x19\\x21\\x43\\x84\\xae\\xcf\\x84\\x74\\x0f\\x27\\xd6\\x45\\x1c\\x76\\x8e\\x93\\x3c\\x5e\\xaf\\x45\\x34\\x18\\x8c\\x92\\xe4\\xf7\\x71\\x16\\x27\\x6b\\xf0\\xd8\\x25\\x16\\x6b\\xe7\\xce\\x36\\x3f\\x34\\xf9\\xa1\\xd1\\x0f\\x95\\x7e\\xaa\\xba\\x2a\\x88\\xa5\\xbb\\x98\\xd6\\xa8\\x48\\x69\\x94\\x54\\x02\\x46\\x56\\x04\\xae\\x7a\\x3d\\x8d\\x40\\x7c\\x0f\\x4e\\x88\\xf1\\x0f\\xc8\\x3b\\x43\\x1c\\xf4\\x6d\\x94\\x77\\xc9\\x5b\\x33\\xe0\\x2f\\x14\\x1b\\x46\\xc2\\xa5\\xd0\\xb7\\x34\\x74\\x05\\x8c\\xc5\\x17\\x52\\xf9\\x27\\xe3\\x76\\x6c\\x3b\\xf3\\x39\\x26\\xf6\\x9d\\xc7\\xf6\\xdf\\x7e\\x90\\x4d\\x9f\\x5e\\x38\\x0c\\x23\\x1e\\xf2\\x22\\xb6\\xae\\x9d\\x78\\xad\\x9e\\xa3\\xd8\\x6b\\x70\\x3a\\x49\\x1c\\x25\\x22\\xcf\\x10\\xfb\\x1f\\xc7\\x59\\x90\\xe5\\x88\\x85\\xd9\\x67\\x81\\x4a\\x4b\\x9b\\x65\\xbb\\x85\\x05\\x84\\x57\\xd1\\x2c\\x38\\x31\\xf4\\x6d\\x54\\xec\\xe1\\xa9\\xea\\x56\\x12\\x5e\\xe6\\x48\\x29\\x56\\x01\\x45\\x3e\\xba\\x62\\x2e\\x02\\xa3\\x08\\x98\\x82\\x4f\\xa0\\xf6\\x33\\xd8\\x08\\x0d\\x9d\\x8f\\xc1\\x6c\\xf9\\xed\\x4e\\xb9\\x41\\x7e\\x95\\xb9\\x05\\x2b\\x7d\\x25\\xf0\\x41\\xe7\\xa4\\xce\\x42\\xc6\\xdd\\xf9\\x1d\\xa3\\xf8\\x43\\xd1\\x13\\x98\\x0e\\xf2\\xbe\\x27\\x03\\xd6\\x3e\\x63\\x06\\x9e\\x41\\xc0\\x00\\x2b\\x88\\xa2\\x11\\x9f\\x40\\xc9\\xc8\\x2a\\x0c\\x7b\\xcc\\x08\\x73\\x8c\\x30\\xc5\\x48\\x96\\x4b\\xc3\\xb9\\x3a\\x96\\x77\\x68\\x6b\\xa4\\xcc\\x0f\\xcc\\x7b\\xf2\\x47\\x73\\xe4\\xdb\\x30\\x04\\x66\\xe1\\x23\\x18\\xd0\\x39\\x8e\\xb9\\x90\\x6d\\xec\\x7c\\x90\\x69\\x3d\\xf3\\x02\\x7e\\xee\\x63\\x78\\xbe\\x38\\xd5\\xdf\\x06\\xa4\\x0b\\x38\\x09\\x08\\xd6\\x34\\x19\\x30\\x90\\x33\\x62\\x35\\x4d\\x39\\x23\\x8c\\x01\\x00\\x2b\\x9a\\x98\\x5d\\xb0\\xba\\x86\\x54\\xa1\\xa4\\x62\\x60\\xdd\\x37\\xa4\\x68\\x11\\x25\\x50\\x4f\\x74\\x21\\x11\\x62\\x5c\\xef\\xd3\\x9b\\x8b\\xd9\\xed\\x9d\\x33\\x2a\\xd8\\x5f\\x8a\\xcf\\x4c\\x66\\xad\\xef\\xb0\\xaf\\x7f\\xfd\\xf6\\x99\\x14\\x59\\xeb\\x37\\xe4\\x89\\xec\\xc5\\xfc\\x5b\\xf8\\x4c\\x56\\xa7\\x83\\x1c\\x89\\x1c\\x94\\x04\\x1e\\xf3\\x0c\\x70\\x3f\\x67\\xb0\\x5e\\xcb\\xff\\x9c\\x41\\xa1\\x5c\\xb0\\x9d\\x13\\xc3\\xd6\\xb3\\x8a\\x25\\xba\\x29\\xfe\\x5b\\x07\\xf3\\x98\\x70\\x91\\xfc\\x9d\\xfc\\x01\\xb8\\x8b\\xe4\\x89\\xe2\\x82\\xe7\\x7f\\x33\\x1c\\x56\\xd6\\x70\\x76\\xd7\\x07\\x8c\\x9b\\x7f\\x1b\\x6f\\x50\\x5e\\xda\\xcc\\x00\\x62\\x01\\xc3\\x62\\xd6\\x0b\\x48\\x5d\\x2a\\xf5\\xd6\\xe5\\xd9\\x14\\x5e\\xa2\\xfd\\x3f\\xfc\\xa1\\x84\\xff\\xe5\\x37\\x23\\xa6\\x6b\\x8c\\x3c\\x91\\xf9\\x9c\\xd0\\x05\\x8f\\xa6\\xbb\\x78\\xbc\\x10\\x12\\x56\\xad\\x30\\x5d\\x0c\\x46\\xd6\\x3f\\x67\\xc4\\x10\\xcb\\x09\\x98\\x42\\x01\\x61\\xda\\x66\\x48\\x10\\x90\\xc0\\x24\\xc1\\x69\\x09\\x4e\\x4a\\x70\\x50\\x82\\xc7\\x25\\xb8\\x47\\x82\\x75\\x12\\x64\\x24\\x18\\x26\\x41\\x83\\xf6\\x4d\\xbb\\x04\\xd3\\x25\\x98\\x20\\x81\\x57\\x02\\x41\\x02\\x69\\x89\\x04\\xb3\\x68\\xa3\\x11\\x12\\xf4\\x91\\xa0\\x4c\\x82\\x10\\x1d\\xa8\\x53\\x02\\xf8\\x51\\x82\\xe3\\x12\\x1c\\x95\\xe0\\x59\\x09\\x76\\x4b\\xb0\\x5d\\x82\\x0d\\x12\\x28\\x1d\\x26\\x49\\xd0\\x24\\x41\\xa3\\x04\\x95\\x12\\x44\\x68\\x87\\x19\\xdf\\x4a\\xf0\\xb1\\x04\\x6f\\xd2\\xd6\\x7b\\xb5\\xd6\\xcb\\x24\\x98\\x4d\\x5b\\x8f\\xd0\\x5a\\x87\\x34\\x3a\\xbf\\xd5\\x46\\x3f\\x2c\\xc1\\xfa\\x9c\\x71\\xcf\\x22\\xe4\\x63\\xda\\x26\\x5d\\xae\\xd0\\x70\\x1f\\x6d\\xab\\x8c\\xda\\x26\\x01\\x83\\xe7\\xb6\\xe1\\xa7\\xeb\\x92\\x08\\xb1\\xca\\x58\\x78\\x6e\\x0d\\x51\\xb6\\xfd\\x8f\\x20\\x95\\xff\\xcf\\x11\\x2a\\xb9\\x3d\\xcb\\x34\\xe7\\x93\\x6e\\x81\\x53\\xbd\\x65\\x98\\x19\\xea\\x63\\x84\\xdf\\x60\\x4f\\x11\\x78\\xa0\\x44\\xfe\\x47\\x11\\x13\\x96\\x6f\\x95\\x27\\x1e\\xe6\\xff\\xfb\\xfc\\x7f\\xd7\\x53\\x5e\\x18\\xcf\\x30\\xdc\\xa3\\x98\\xbf\\x05\\x94\\x4a\\x87\\x90\\xc0\\x73\\x58\\x47\\x62\\xf1\\xb9\\x36\\x88\\x2c\\x02\\x8e\\xdd\\x67\\x80\\xe5\\x06\\x98\\x62\\x00\\x2a\\x77\\x52\\x2f\\x57\\xeb\\x06\\x32\\xca\\x22\\x12\\x13\\xc7\\x27\\x88\\x7d\\x51\\x7e\\x46\\x7e\\xee\\x0b\\x58\\x03\\x17\\xc2\\x3a\\x86\\x61\\x4e\\x75\\xda\\xd9\\x65\\x67\\x56\\xd0\\xf8\\x85\\xb5\\x5d\\x02\\x17\\xeb\\x1a\\xa7\\xc4\\x16\\x30\\x3c\\xe2\\x00\\x3d\\xab\\xc4\\x16\\x80\\xe2\\xf2\\xaf\\x8d\\x79\\xae\\xe3\\xee\\xf9\\x6d\\x34\\x2d\\xa2\\x8a\\x25\\x15\\xb7\\x9d\\xf9\\x81\\xff\\x14\\xeb\\x4b\\xb8\\x3d\\x70\\x9c\\x88\\x98\\x5b\\x26\\xa1\\x6c\\x7b\\x09\\xea\\x63\\x2e\\x91\\x19\\x27\\xbf\\x6d\\x00\\xe6\\x25\\x81\\xdb\\x0e\\xee\\x32\\xf9\\xb3\\x08\\xc5\\x4b\\x46\\xac\\xb3\\xd6\\x73\\xa3\\x51\\x05\\xea\\x85\\xae\\x4f\\x0f\\xe2\\x7b\\xf5\\x2a\\x8d\\xc5\\x9c\\x61\\x9f\\xdf\\x5f\\x6d\\x0e\\x9b\\x7b\\x37\\x1c\\xe9\\xfd\\x59\\x6f\\xc6\\xd6\\x1b\\x4c\\x6c\\x2f\\x41\\xea\\x61\\xef\\x31\\x26\\x13\\x8b\\xda\\x7c\\xf8\\x47\\xbb\\xcf\\xee\\x93\\x42\\x21\\x77\\x4b\\x26\\x64\\x97\\x6a\\x9b\\x32\\x28\\x39\\x26\\x83\\x90\\xe4\\x55\\x3c\\x2a\\xa9\\xca\\xb2\\xb3\\xed\\xc9\\x0d\\x0d\\x59\\xab\\x9b\\x1a\\x9a\\xa6\\x23\\x65\\x55\\xcb\\xcd\\xb1\\x23\\x17\\x16\\xd5\\xd7\\xa9\\xae\\x78\\xd5\\x55\\x29\\x92\\x7b\\x2b\\xcc\\x10\\xf8\\x65\\x05\\x36\\xae\\x1a\\x8d\\xeb\\xea\\xd9\\xa5\\x97\\x5d\\xc5\\x0b\\xe3\\x1e\\x6a\\xbf\\xe5\\x51\\xd4\\x05\\xe1\\xc3\\x9e\\x65\\x93\\x2f\\x71\\xc8\\xbf\\x16\\xfc\\xf8\\xea\\xd1\\x17\\xfc\\x43\\x0c\\xee\\x60\\x50\\x0c\\x47\\xad\\xa5\\x13\\x3e\\xdf\\xb9\\x60\\x4d\\xd3\\x80\\xb1\\x6b\\x43\\xc6\\x71\\x83\\x8a\\x42\\x37\\x4e\\x7d\\xf4\\xa6\\x83\\x87\\xb0\\x30\\x2a\\x5c\\x3e\\x6c\\x50\\xe4\\xf6\\xcd\\x1b\\xef\\x2a\\xba\\x4e\\xde\\x5e\\x11\\xf2\\x07\\xcd\\xac\\x78\\x9f\\x5d\\x60\\x80\\xb9\\x64\\xdc\\xe0\\xa6\\x15\\x33\\xf1\\x1a\\xc5\\xf1\\x1a\\x3d\\x86\\xcf\\x70\\x10\\x95\\xa0\\x05\\xe9\\xc1\\x1e\\x7f\\xd8\\xc4\\x59\\xdd\\x6e\\x97\\x0b\\x2b\\x8d\\xb6\\x4a\\x5b\\xa3\\x8d\\x4d\\xe2\\xcb\\x3f\\xca\\x56\\xb1\\xac\\x95\\xb7\\xb1\\xa5\\x65\\xf8\\x77\\x60\\xf3\\x58\\xc3\\xf1\\x90\\x21\\xde\\x94\\xf1\\xf8\\x4d\\x2c\\x32\\x78\\x51\\x08\\x2f\\x92\\x1d\\x2f\\xcf\\xb1\\x32\\x88\\x96\\x61\\xbc\\xa9\\xca\\x22\\x7c\\x27\\xa9\\x98\\xac\\x91\\xe8\\xd4\\x44\\x96\\x10\\xcc\\x90\\x6a\\x55\\x81\\x99\\x4f\\x09\\x77\\xcc\\x57\\x6d\\xed\\xc9\\xb8\\x0d\\x62\\xd4\\x12\\xc0\\x0a\\xf1\\x54\\x7f\\xc0\\xf8\\x53\\x14\\x72\\x00\\xe8\\xc4\\xed\\xfb\\x97\\xfe\\x7d\\xcf\\xf5\\xf7\\x47\\x99\\x3c\\xb7\\xfc\\x4f\\x3e\\xdf\\xf6\\x0b\\x04\\xc6\\xe5\\x71\\x5c\\xaf\\xdf\\xc3\\x0d\\x77\\x17\\x38\\x66\\xb6\\x5d\\x3e\\x6f\\xe4\\x10\\x6e\\xf4\\xa1\\x87\\xad\\xcf\\xc9\\x2b\\xfe\\x70\\xe5\\xe4\\xd9\\x03\\x6c\\xab\\x87\\x73\\xdf\\xcb\\xe3\\x6f\\x1f\\x37\\xe3\\xa5\\x7d\\xbf\\x6b\\xed\\x3b\\x6b\\xd1\\xf5\\x50\\x36\\x75\\xc6\\x55\\x8a\\xdc\\x6b\\xc4\\xcf\\x3e\\x1e\\xf3\\x47\\x00\\xf5\\x4d\\x47\\xf1\\xcd\\xe5\\xb0\\xfb\\x25\\xbb\\x14\\x0a\\x5a\\x5c\\x4d\\x19\\x87\\xc5\\x8e\\x05\\x1a\\x6a\\xca\\x08\\xde\\x7d\\x21\\x98\\x13\\xa2\\xe1\\xd9\\xca\\xb1\\x4a\\x9d\\x65\\xb7\\x24\\x28\\x84\\x57\\xa2\\x4b\\x54\\x37\\x34\\x71\\x29\\x12\\xc2\\x19\\xff\\xd8\\xab\\xa2\\x60\\x9b\\x25\\x5f\\xfd\\xc9\\xf7\\xdb\\x40\\x7c\\xf9\\xd0\\xe7\\x56\\xf9\\x84\\xe9\\xfe\\x59\\x8b\\x7a\\xfa\\x9e\\x9c\\x71\\x45\\xb5\\xfc\\xc0\\xdf\\x5f\\x7b\\x09\\x26\\xec\\x38\\xbc\\xcb\\x77\\x78\\xd3\\xb3\\xd7\\xd6\\xfe\\x03\\xef\\x47\\xef\\xae\\x6f\\x79\\x01\\xef\\x87\\x1f\\x25\\xd0\\x55\\xe9\\xfe\\x28\\x6c\\x65\\x1d\\x18\\x09\\x38\\x1c\\x4e\\x8b\\x33\\xdf\\xc9\\xd8\\x39\\x67\\x71\\x91\\x20\\x24\\x8b\\xbd\\x1e\\x07\\x84\\x03\\x31\\x63\\x0c\\x2f\\xbc\\x95\\x35\\xda\\xd9\\x40\\x53\\x86\\x25\\x0c\\x1a\\x2d\\x86\\xe5\\xc5\\x30\\xa7\\x18\\x9a\\x8b\\x29\\x3a\\xd1\\x76\\x42\\x65\\x51\\x7f\\xf6\\xf6\\xa3\\x3b\\x41\\x2f\\x41\\xb2\\x0d\\x45\\x59\\x27\\x47\\xd4\\x97\\x52\\x37\\x41\\x8c\\xd5\\xd4\\x27\\xab\\xb5\\xa0\\x48\\x12\\x2e\\xf3\\xfd\\x90\\x87\\x17\\xdd\\x7b\\x60\\xf9\\xd7\\x0f\\x02\\xea\\xcd\\x33\\x66\\xf3\\x38\\xf0\\xfc\\xe0\\x96\\xe4\\xaf\\x6d\\x3f\\xb4\\xcc\\x1f\\x53\\x35\\x79\\xf2\\xf4\\x15\\x03\\x77\\xb4\\x5e\\xf4\\xd6\\xee\\xc3\\x70\\xcd\\xe1\\x57\\xdd\\xcd\\xfd\\x61\\xe7\\xe9\\xd0\\x9c\\x85\\x8d\\x53\\xcd\\x83\\x36\\x7c\\xd8\\x72\\xdd\\xd5\\x37\\xcb\\xbf\\xcc\\xfd\\x1b\\x39\\x9b\\x64\\xed\\x7b\\xe3\\xb5\\xf7\\xa1\\x08\\xc6\\xfd\\xfd\\x22\\x0c\\x63\\xc5\\x60\\xc7\\x63\\xf5\\x44\\x03\\xb1\\x08\\x1a\\x93\\x89\\xc4\\xec\\x8e\\xa1\\xb6\\x48\\x24\\xc2\\x58\\xf8\\x48\\xc4\\xe4\\x74\\xe6\\x8d\\xc9\\x38\\xed\\xe3\\xc4\\xcb\\x48\\x84\\x95\\x5d\\x8c\\x8a\\xac\\xc4\\x89\\x26\\x13\\xdf\\x92\\x31\\x79\\x95\\x8d\\x21\\x47\\x2f\\xd7\\x62\\x5b\\x46\\x44\\x84\\x6e\\xb4\\xa3\\x6a\\xa3\\xc2\\x4b\\x24\\x08\\x34\\xae\\xef\\x16\\x3e\\x7c\\xc9\\x7a\\xfa\\x78\\x22\\x4c\\x17\\x5b\\x27\\x6d\\xba\\xf0\\xe7\\x11\\x9f\\x1e\\x78\\xff\\xd4\\xed\\x20\\xed\\x79\\xe7\\x0b\\xff\\x77\\xec\\xa5\\xcd\\x53\\x6e\\xca\\x83\\x4f\\x12\\xa9\\x99\\x73\\x1f\\x1f\\xbe\\x7d\\xe9\\xd7\\x47\\x8f\\x42\\xfd\\x23\\x1f\\xbc\\x7c\\xe9\\xfc\\x67\\x7b\\xcd\\x9a\\xb6\\x6a\\x39\\x89\\xf7\\x43\\x88\\x1d\\x8f\\xf7\\xcc\\x8b\\xc6\\xa7\\x2b\\x3c\\x6e\\x37\\x72\\x81\\x8b\\x13\\x04\\x56\\x14\\xf1\\x55\\xed\\x33\\xfb\\x91\\x1f\\x1c\\x78\\x8b\\x5a\\x32\\x46\\x7c\\xb7\\x0a\\x6c\\x53\\xc6\\x2d\\xd8\\x18\\xf0\\x28\\xd2\\xa4\\x52\\x8d\\x0b\\x6b\\x2c\\xa3\\x70\\x5a\\x81\\x6d\\x94\\xec\\x6a\\x45\\x90\\x28\\xf0\\x3a\\x5e\\x9f\\xaa\\x27\\xc2\\xc2\\x27\\x52\\x15\\xc0\\x06\\x29\\x91\\xb1\\xef\\x91\\xbf\\xd9\\xb3\\xad\\x68\\x9b\\x37\\x7c\\xe8\\x89\\x61\\x63\\x0a\\x4d\\x69\\xcf\\x80\\xbe\\x16\\xfb\\xfb\\x45\\xec\\xd2\\x33\\x2b\\xd9\\xa5\\xcf\\xcf\\xbd\\x6f\\xb5\\xe3\\x29\\xc6\\x90\\xbe\\x60\\x3c\\x2d\\xe7\\xcc\\x74\\xfd\\x2a\\x4f\\xe4\\x8e\\x70\\xa3\\xb0\\xce\\x55\\x8d\\xd6\\xa6\\x2f\\xc4\\x08\\xa9\\xc2\\x65\\x2e\\x0a\\xb1\\x61\\x49\\x2a\\x28\\x08\\x47\\x4a\\x23\\xe0\\x8a\\xa4\\x6a\\x50\\x4d\\xb4\\xa6\\xaa\\x66\\x47\\xcd\\xb1\\x1a\\xde\\xca\\x16\\xa0\\x48\\xd8\\x56\\x54\\x59\\xec\\x2b\\x6e\\xca\\x48\\x82\\xd9\\x1c\\xc2\\xa2\\xd1\\x5e\\xd9\\x9c\\xb1\\x23\\xa1\\x25\\xc3\\xd1\\x70\\x5d\\xc9\\x3c\\x94\\x43\\x21\\xe5\\x61\\xaa\\xcb\\x34\\x2d\\x93\\x90\\xee\\xd4\\x58\\x2e\\xa5\\x9b\\xfe\\x1a\\xb2\\x27\\x5f\\xb3\\xfa\\xab\\x06\\xc0\\xba\\xfa\\x3a\\x2c\\x20\\x19\\xdd\\xd1\\xe6\\xa5\\x4c\\x18\\xb3\\x61\\x34\\xc7\\x51\\x27\\xbd\\x95\\x21\\x91\\xce\\x18\\x4d\\xef\\xfd\\xe3\\x5f\\x02\\x10\\x0a\\x3d\\x70\\xcd\\xe2\\x02\\xb7\\x89\\x69\\x6c\\x5b\\x38\\xea\\xbe\\x83\\xcb\\x8e\\xef\\x6e\\xdf\\x15\\x62\\x84\\x22\\x1e\\x24\\x57\\xf8\\xe1\\x4a\\xf9\\x5f\\x0f\\x5c\\x39\\x79\\xe4\\xa5\\x83\\x2a\\x9e\\xcc\\x6c\\x6c\\x92\\x27\\xde\\x7c\\x47\\x78\\x59\\xfb\\x9d\\x53\\x46\\x67\\x46\\x97\\xbe\\xf6\\xd0\\xeb\\x30\\x77\\xef\\x9c\\x29\\xf9\\x5b\\x0c\\x63\\x37\\x9e\\x79\\xea\\xe4\\x1b\\xdc\\xc4\\x2b\\x17\\xa6\\x37\\x9c\\x1c\\xf6\\xc7\\xd5\\xc4\\x3e\\x17\\x47\\x88\\xbb\\x15\\xef\\x65\\x00\\x5d\\x9c\\xee\\x61\\xb5\\x58\\x1c\\x12\\x43\\x5e\\x62\\x15\\x08\\xf8\\xfc\\x92\\x3f\\x14\\x44\\x01\\x60\\xfc\\x82\\xdf\\x62\\xf3\\xfa\\x5c\\x3e\\xab\\xc5\\x23\\xb8\\x9a\\x33\\x02\\x11\\x7c\\xd1\\x10\\x68\\x47\\x2d\\x95\\x75\\x0e\\x34\\xa6\\xba\\x05\\x37\\xe9\\xcf\\xcc\\x8a\\x29\\x55\\xf2\\x13\\x1b\\x8a\\x4b\\xbd\\x0d\\xb0\\x52\\xca\\x64\\x9a\\x92\\xec\\x88\\xa7\\x16\\x6c\\xb9\\xd7\\x2a\\x2e\\x93\\x4f\\xb6\\x07\\xb7\\x5c\\xfe\\x84\\xb7\\x5d\\xfe\\x0a\\xc2\\xfc\\x5b\\xf2\\xac\\xa7\\xaf\\xbc\\x6c\\xe3\\xcd\\x81\\xab\\xc3\\x9d\\xd7\\x32\\x63\\x97\\x96\\xac\\x78\\x68\\x61\\xe7\\x4e\\x4c\\x2a\\xbd\\xeb\\xe2\\xd4\\xbe\\xfc\\x16\\xf5\\x99\\x4f\\x4e\\xf7\\x12\\x78\\x9e\\x84\\xd3\\x89\\x58\\x8f\\x20\\x2f\\x6a\\xb2\\x71\\x1e\\xf2\\x2a\\xc0\\xb1\\x19\\x00\\x4c\\xeb\\x29\\x9a\\xe8\\xb2\\x43\\x82\\xdb\\x69\\x96\\x0b\\xa2\\x90\\x64\\x39\\x05\\x3f\\x3a\\x94\\xd0\\x41\\x84\\x2a\\xb7\\x73\\x43\\x15\\x09\\x60\\x25\\x69\\x2f\\xc1\\x12\\x08\\x94\\x74\\x9e\\xfa\\x33\\x04\\xde\\xe5\\x3a\\x8f\\x1e\\x3d\\xcd\\x62\\x10\\xfb\\x2a\\xe6\\xb3\\x42\\x8c\\x0b\\x15\\x5a\\xec\\x68\\x6c\\xba\\x0a\\x99\\x4c\\x4e\\x87\\x95\\x33\\x19\\x2c\\x66\\x1b\\x67\\x68\\xce\\x70\\x21\\x85\\x16\\x86\\x12\\x73\\xcc\\x09\\x3b\\x9c\\x10\\x75\\xc2\\x5e\\x27\\x2c\\x77\\x42\\xa5\\x53\\xa5\\xa1\\x0c\\xe9\\x07\\x03\\x51\\x0e\\xd2\\x34\\x7a\\x95\\x80\\x82\\x64\\xbd\\x4f\\x51\\xff\\xb0\\x62\\x13\\x2a\\x86\\x40\\x71\\xe7\\xe6\\xb6\\x21\\x85\\xbd\\x07\\x34\\x3a\\x8f\\x43\\xe0\\xbb\\xfc\\xbd\\x84\\xa4\\x5f\\x2f\\x76\\x3d\\xc7\\x0d\\x6a\\xe5\\xda\\x4f\\x0f\\xbe\\xfd\\x1e\\x2a\\xf3\\xc9\\xfe\\xbe\\x46\\x63\\x68\\xe7\\xa7\\x07\\x24\\x8d\\xe0\\x07\\xc0\\xf4\\x49\\x3e\\x63\\xd2\\xc8\\xd0\\x9f\\xce\\xb6\\x21\\x5b\\xcc\\xcb\\x89\\x2a\\xd3\\x64\\x61\\x8a\\x41\\xb1\\x18\\x4b\\x36\\xfc\\x2b\\x0c\\x91\\x91\\x7a\\x82\\xa9\\xbd\\x98\\x5c\\x75\\xad\\xd0\\xda\\x7a\\xae\\xa9\\x58\\xb9\\xee\\x08\\xdd\\xa8\\xb5\\x35\\xc6\\x66\\x2d\\xc6\\xcc\\x87\\xcf\\xdd\\x32\\x5e\\xfe\\x06\\xa2\\x10\\x78\\x14\\xde\\x81\\x0b\\xe5\\x24\\x56\\x41\\xfe\\x39\\x42\\xc6\\x50\\xff\\xcc\\x1e\\x38\\x22\\x5f\\xdc\\xa9\\xde\\x53\\xd9\\xbd\\x1d\\x97\\xae\\xa5\\x36\\x63\\xc4\\x13\\x8f\\x16\\x99\\x5f\\xf7\\x16\\x28\\xc6\\x7f\\x44\\x5d\\x08\\x1b\\xa8\\x93\\xc0\\xc6\\x83\\x09\\xff\\x3c\\x00\\xff\\x12\\x23\\xc8\\xc9\\xad\\xb9\\x7b\\xdb\\x98\\x1b\\x8a\\x88\\x21\\x5b\\x9c\\x50\\x21\\x1f\\xe7\\xdf\\xfa\\xad\\x46\\x9f\\x53\\x78\\x0d\\xcb\\x8a\\x72\\xf4\\x44\\xfa\\x8a\\x7c\\x96\\xa5\\x46\\xc3\\xa4\\x2d\\x99\\x48\\x14\\x17\\x15\\x79\\x2d\\xd4\\xa8\\xdc\\xa3\\xc2\\x97\\x5f\\xc4\\x26\\x82\\x42\\x31\\x6b\\xe1\\x38\\x64\\x0c\\x1a\\x9b\\x33\\xd1\\xa0\\xdd\\xe5\\xb4\\x59\\x13\\x49\\x1b\\xcf\\x11\\xfa\\x50\\x0f\\x38\\xd5\\x03\\x96\\xf7\\x80\\x29\\x3d\\x40\\xf9\\x7c\\xb4\\x07\\xcc\\xee\\x01\\xcd\\x3d\\xa0\\xa9\\x07\\x44\\x7b\\x80\\x0d\\xff\\xbf\\x8a\\xfe\\xae\\x71\\x72\\xd6\\x3b\\x41\\xa1\\xac\\x62\\x01\\xc0\\x6b\\x9b\\x52\\x58\\x81\\x6a\\xb8\\x67\\x69\\xb9\\xa9\\xb3\\xa2\\x1f\\x0a\\xba\\x1f\\x28\\x57\\x5d\\x7d\\x0c\\x9f\\x31\\xe5\\xb4\\xf9\\x74\\xb4\\x85\\xbf\\xef\\x07\\x09\\xbe\\x74\\xd2\\xea\\xe0\\x42\\xf9\\xe4\\x12\\xc7\\x0d\\x17\\xad\\x0b\\xe1\\x53\\xf6\\x08\\xc6\\x36\\x76\\x8f\\xc8\\x8e\\xba\\x6b\\xfa\\xd2\\xdb\\xad\\xcd\\x0f\\x5f\\x7d\\xf3\\x26\\xcf\\x72\\xf9\\xe4\\x62\\x27\\xcb\\x2e\\xbd\\xf7\\xa6\\xce\\x07\\x98\\x25\\x93\\x2a\\x16\\xdd\\xbd\\xae\\xf3\\x21\\x76\\x6c\\xdb\\x5a\\xd3\\xaa\\x92\\xf9\\x17\\x2d\\x9c\\x7b\\xfd\\xac\\x8d\\x37\\xa7\\x2f\\xc3\\x27\\xf2\\xda\\x8b\\x7b\\xf2\\x8b\\x74\\x1e\\xbb\\x15\\xaf\\x5d\\x1e\\xf1\\xab\\x39\\x0d\\x56\\xc9\\x8a\\x39\\xcc\\x88\\xf2\\xf2\\x58\\xbf\\xd1\\x9f\\x1f\\xc6\\x9b\\xe4\\xe1\\x9b\\x33\\x1e\\xbb\\xc9\\x62\\xb4\\x5a\\x2d\\x36\\xfc\\x2b\\xb2\\x52\\xd1\\x30\\x95\\x20\\x8a\\xf7\\x01\\x8b\\x0e\\xcd\\xff\\x9c\\x0b\\x26\\x1d\\xaa\\xef\\xe9\\xfc\\xcf\\x47\\xa5\\x09\\xf3\\xb9\\x2e\\x34\\x1e\\xb1\\x7b\\xc1\\xec\\xe2\\x75\\x79\\xa2\\x0b\\x0d\\x76\\x6c\\xd3\\x16\\x69\\x73\\x50\\x97\\x26\\xea\\x7d\\xfc\\x00\\xa6\\xd9\\x42\\xd1\\x50\\xdc\\x2d\\x5a\\xb1\\x20\\x09\\x86\\x4c\\xf6\\xa6\\x8c\\xc9\\xce\\x79\\x9b\\x32\\x1c\\x01\\x17\\xc7\\x42\\x80\\x05\\xdd\\xa9\\x10\\x34\\x13\\x40\\xa4\\xc3\\xbc\\x6e\\xb6\\x59\\x6a\\x98\\xd5\\x6e\\x57\\x9e\\xc6\\xd9\\x7a\\xec\\x44\\x70\\x73\\x0f\\x3c\\x28\\xbf\\xff\\xdc\\x47\\xf2\\x76\\x48\\x3c\\xf7\\xed\\x2f\\xf2\\x47\\xc7\\xe6\\xad\\x19\\x79\\x6c\\xce\\x4d\\x23\\x98\\xdd\\x47\\xe5\\xe7\\xf7\\x7c\\xfb\\xd6\\xeb\\x50\\xb7\\xfb\\xe3\\x4f\\xfe\\x73\\xdd\\xcf\\x73\\xe5\\xce\\xb9\\x5f\\x61\\x39\\xf2\\x2e\\xbe\\xaf\\x1e\\xc0\\x18\\xc1\\x8a\\x8a\\xd1\\xbc\\x74\\xda\\xec\\xf1\\xc4\\x4a\\x23\\x98\\x17\\x8b\\xa3\\xc5\\x05\\x05\\xd1\\x58\\x49\\x41\\xac\\xa8\\xd0\\x16\\x8d\\xc6\\x42\\x91\\xfc\\xe2\\x80\\x93\\x35\\xa0\\x80\\xa1\\x29\\x13\\xf0\\x3a\\x31\\x6a\\x73\\x52\\x30\\x5a\\x0a\\xd1\\x52\\x58\\x5e\\x0a\\x73\\x4a\\xa1\\xb9\\x54\\x91\\x2b\\x67\\x79\\xa4\\x08\\x32\\x25\\x0c\\xe6\\x24\\xaa\\x79\\x75\\xb5\\x7a\\x33\\x29\\x66\\x42\\xe8\\x8e\\x3e\\x8b\\xf4\\xb0\\x42\\x8a\\x54\\xe9\\xea\\x37\\x02\\x59\\x7d\\xe6\\x43\\x05\\x7d\\x4e\\x6f\\x1f\\x38\\x4a\\x7e\\x61\\xe8\\xc3\\xed\\x3a\\x4c\\x15\\x03\\xcd\\xf2\\x37\\xff\\xc6\\x5c\\xe5\\xb2\\x19\\xd8\\xf5\\x0a\\x02\\x5d\\x0e\\x79\\x57\\xcf\\x9c\\x25\\x5c\\x96\\x39\\xf4\\xf0\\x1b\\x14\\xa5\\xf6\\xbf\\x41\\x9e\\xca\\xfd\\xe3\\x9a\\xf5\\xd6\\x65\\x79\\x8a\\x2c\\xef\\x83\\x9f\\xfb\\x30\\xc5\\x46\\x45\\x68\\x49\\x7a\\x58\\xdc\\x2e\\xd9\\xc1\\x9e\\x4c\\x18\\x43\\x88\\xc5\\x0a\\xb6\\x20\\x30\\x6c\\x29\\x4b\\x3c\\x46\\x60\\xe5\\xd9\\x64\\xc8\\x1f\\x71\\x47\\x30\\x08\\x34\\x1a\\x58\\x8b\\xdb\\x6e\\xf1\\x37\\x65\\x2c\\x5e\\x41\\x0c\\x31\\x24\\xfc\\xeb\\x58\\x12\\xa2\\x49\\x58\\x9e\\x84\\x39\\x49\\x68\\x4c\\xea\\x0b\\x80\\xcf\\x53\\x2e\\x38\\xc7\\x4f\\x4e\\x1d\\xdc\\xd9\\x9b\\x99\\x0a\\x2d\\xbc\\x00\\x98\\xb9\\xac\\x04\\x7c\\x74\\x8b\\x80\\xf1\\xfa\\x40\\xc9\\x37\\x52\\x1d\\xba\\xec\\x8d\\x01\\x2f\\x58\\x0d\\xe5\\x3f\\xcb\\x5f\\x8f\\x2f\\xe4\\x46\\x3c\\x3e\\x7f\\xcb\\x1f\\x96\\x7f\\xf3\\xc0\\x8d\\xb7\\x95\\xc8\\xeb\\x96\\x6d\\x8e\\xda\\xf7\\x5c\\xb3\\x72\\x48\\x0b\\xbb\\x66\\x49\\xaf\\xd0\\x7b\\xa7\\xcd\\xb0\\xef\\xfe\\x69\\x13\\x5e\\x7e\\xf2\\x65\\xb8\\xe6\\xc8\\xa4\\xab\\x3a\\x8b\\x7e\\xb7\\xff\\xa2\\x0b\\xbe\\x5a\\x21\\x9f\\x5a\\x72\\xe5\\x35\\xea\\xb9\\x61\\x17\\xe3\\xe7\\x76\\xa1\\x11\\xe9\\x12\\xde\\x22\\x98\\x4c\\x46\\xa3\\x20\\x8a\\x6e\\x97\\xc7\\xe2\\xe0\\x05\\xc6\\xc1\\x34\\x67\\x1c\\x76\\x93\\xd1\\x26\\x90\\xe3\\xb2\\xd7\\x03\\x6d\\xaa\\xe5\\x9d\\xda\\x74\\x54\\xeb\\xaf\\xa3\\x81\\xa2\\xbe\\x5c\\xc3\\x7b\\x22\\x7b\\x54\\x30\\x6c\\xa2\\x20\\x8a\\x1d\\x39\\xa8\\x62\\xc9\\x7d\\xf1\\xcb\\xe5\\xaf\\x1f\\xf0\\x3b\\xc1\\xec\\x35\\x70\\xc3\\x6e\\xbb\\xa4\\xb2\\x17\\x3b\\xde\\xb6\\xe7\\x40\\xa7\\xcc\\xf6\\xbf\\x6e\\xe5\\x13\\x3d\\x57\\xcf\\xb2\\x62\\x9a\\x7c\\xf8\\x5c\\x54\\x70\\x23\\xf0\\x4e\\x5c\\x9f\\x1e\\x1d\\x71\\xb9\\x44\\xc1\\x82\\x50\\x30\\x20\\x04\\x12\\x49\\x4b\\x84\\xf5\\x7a\\xf3\\x5b\\x32\\x96\\x60\\x7e\\xb0\\x22\\x88\\xf1\\x68\\xd0\\x6b\\x67\\x8d\\x2d\\x19\\x5e\\xf4\\x88\\x45\\x22\\x16\\xf4\\xde\\xe6\\x24\\xa4\\x93\\x50\\x45\\x77\\xc1\\x9e\\x04\\xbc\\x1d\\xfb\\x92\\xa0\\x7c\\x19\\x4d\\x2a\\x21\\x33\\x6a\\x52\\x58\\x8a\\x86\\x28\\xa5\\x14\\x7f\\x3e\\x09\\xd2\\xec\\x7e\\xee\\x69\\xe6\\x21\\x61\\xbb\\x7a\\x2d\\x38\\x37\\xa9\\xe5\\x36\\x29\\x80\\x50\\x31\\x09\\x03\\xfb\\x8d\\xdc\\xf5\\xcb\\xeb\\xdf\\x94\\x9c\\xf6\\xcc\\xb9\\xe6\\xea\\xb9\\x63\\x6f\\xfd\\xe3\\x83\\xa7\\x4f\\xfe\\xe9\\x0d\\xff\\x69\\xc7\\xb4\\xf1\\x6f\\x17\\x0f\\xbf\\xf5\\xe9\\xcd\\x30\\x7a\\xcf\\x81\\xdb\\xee\\x2a\\x1c\\x71\\xe1\\xe0\\x0b\\x6b\\xea\\xc3\\x15\\xdb\\x6f\\xd8\\xb1\\xeb\\xd6\\x4d\\xf9\\x83\\xfa\\x5f\\x17\\x2b\\xc7\\x07\\x6a\\x8b\\x22\\xfb\\x27\\x74\\x9d\\x62\\x4e\\xf1\\xbd\\xb0\\x24\\x98\\x92\\xae\\x36\\xdb\\x4c\\x3e\\xa7\\xd3\\x84\\xd1\\xac\\x24\\xb1\\x6c\\xd0\\x12\\x32\\x19\\xa5\\xb4\\xdd\\x63\\xb3\\xf1\\x48\\x90\\x84\\xa6\\x8c\\x59\\xb2\\x21\\x0f\\xe6\\x3f\\x22\\x1e\\x8e\\x87\\x60\\x79\\x48\\x71\\x85\\x68\\x9e\\x06\\xd4\\x40\\xb6\\x21\\xe8\\xb7\\xd3\\xcc\\x56\\xa7\\x7a\\x27\\xa6\\xb4\\x98\\x68\\x45\\x31\\xa6\\xe8\\x36\\x25\\xa6\\xc4\\xb8\\x1a\\x5a\\x55\\x2f\\x0a\\x70\\xdd\\xd2\\xb5\\xf6\\xe9\\x77\\x16\\xed\\x5c\\xb7\\xaf\\xea\\x8d\\xf8\\xdb\\x57\\x9a\\x2a\\x8b\\xa3\\x23\\xa3\\x2d\\xf6\\x05\\x57\\x0d\\x99\\xc0\\x58\\x9f\\x97\\xe5\\xe7\\x3b\\x4f\\xf6\\x8a\\xf5\\xa8\\xb0\\x3c\\xed\\xa7\\x76\\x8b\\xae\\xef\\xf1\\x99\\xe9\\x8d\\x65\\xee\\xf4\\x74\\x6f\\x07\\x91\\xb9\\x16\\x8b\\x2e\\x73\\xc3\\xf9\\x21\\x93\\x93\\xf5\\x18\\x80\\x97\\xf2\\x6c\\x54\\xf6\\x7a\\xad\\xf4\\x72\\x0a\\xc3\\xb1\\x30\\xec\\x08\\xc3\\x9c\\x30\\x60\\xf1\\x7b\\x2a\\x0c\\xfa\\xc5\\xa3\\xa1\\x8e\\x06\\xa7\\xef\\xfc\\x42\\x18\\x08\\xa9\\x29\\x05\\x81\\x10\\x3d\\xa9\\x4e\\x3f\\x24\\xf8\\x2b\\x06\\x11\\x21\\xbc\\xdb\\xd7\\x0e\\x41\\x2c\\x84\\xe5\\x9f\\xb0\\x10\\x1e\\xf9\\xd4\\x7c\\x2a\\x84\\xb9\\xde\\x9d\\x4f\\x2e\\x29\\x5d\\xb1\\x73\\x11\\x33\\xf9\\xcc\\x93\\x54\\x0c\\xcf\\x9a\\x8a\\xc5\\xf0\\xec\\x3c\\xe6\\x56\\xf2\\x1c\\xf8\\x20\\x70\\xc7\\xf0\\x73\\x98\\xd0\\xc8\\x74\\x39\\x20\\x51\\x64\\x8c\\x26\\x13\\xcb\\x30\\x16\\xb3\\x89\\xb1\\x89\\x08\\x3c\\xc8\\x02\\x73\\x2c\\x30\\x85\\xc6\\x2c\\xe0\\xcf\\xc7\\x2c\\xb0\\xcf\\x02\\xb7\\x5b\\x20\\x1b\\x7f\\xf5\\x3f\\x6d\\xd1\\x61\\xf0\\xd4\\xd5\\x43\\x8c\\xb9\\x46\\xde\\xb7\\x0f\\x62\\x43\\x38\\x67\\xbf\\x7e\\xd0\\x17\\x7a\\x60\\x8a\\x1e\\x0c\\x7f\\xe8\\xdb\\xb0\\x84\\x51\\xfd\\x19\\x97\\xe2\\xbb\\xff\\x11\\xfa\\x76\\xa0\\x69\\xe9\\x3a\\x40\\x0e\\x9b\\x95\\x15\\xf1\\x61\\x64\\x1d\\xac\\xc1\\xe5\\x76\\x4b\\x06\\x83\\xd7\\xc3\\x3a\\x4c\\x2c\\x3e\\x98\\x36\\xab\\x64\\xb0\\xe1\\xbd\\x42\\x9e\\xb4\\x17\\x76\\x78\\x61\\x99\\x17\\x1a\\xbd\\x10\\xf5\\x2a\\xbc\\xad\\x7b\\x10\\x73\\x8c\\xd3\\xd5\\xaa\\xdf\\x49\\x77\\x23\\x62\\xca\\x92\\x24\\x1a\\x1e\\xd3\\xa7\\x58\\xa6\\x7d\\x98\\x44\\xee\\x0f\\xf2\\x07\\x65\\x7c\\x6d\\xa9\\xfc\\x67\\xf9\\x83\\x41\\xc0\\x58\\x43\\x35\\x90\\x80\\x8a\\x52\\xbe\\x16\\x03\\x15\\x23\\x73\\xe7\\x57\\xb7\\x5d\\xdc\\x79\\x0d\\x26\\x7b\\xe8\\x4d\\x03\\x97\\x30\\x4b\\x3b\\x57\\x1e\\x5e\\xc9\\xfc\\x01\\x41\\xd7\\x23\\x78\\xed\\x3a\\xe8\\xda\\x8d\\x4e\\xf7\\x30\\x8a\\x26\\x01\\x38\\x1e\\x83\\x3b\\x82\\xe7\\x48\\x10\\x40\\xb3\\x65\\x8a\\x85\\xab\\xb2\\xa4\\x2d\\x4c\\xd4\\x52\\x65\\xb9\\xdd\\xc2\\x62\\x80\\xc7\\xb0\\xac\\x99\\xc7\\x0c\\xac\\x9b\\xa6\\x31\\x58\\x9b\\x3b\\x4f\\xdb\\x68\\xaa\\xc3\\xd0\\x88\\x35\\x6a\\x1a\\xa6\\x06\\x62\\xe6\\xbd\\x67\\xe4\\x83\\xf2\\xbb\\x70\\x46\\x3e\\x09\\x85\\x4f\\x42\\x31\\xd4\\xc8\\xf9\\x98\\xb8\\x65\\xf2\\x0a\\xa6\\x9a\\x31\\xc8\\x0f\\xc3\\xa4\\xce\\x7f\\x77\\xbe\\x4b\\x6d\\x5d\\xbb\\xb1\\x1c\\x7f\\x0d\\xd3\\xe3\\xc3\\xf2\\xac\\xd8\\x2d\\xd9\\x6c\\x46\\xa7\\xcb\\x85\\x65\\x5a\\x80\\xf1\\xbb\\x9c\\x58\\x8e\\xb9\\x6d\\x12\\xc2\\xcc\\x88\\x42\\xe9\\x00\\x7c\\x16\\x00\\xac\\x5b\\x34\\x07\\x08\\x07\\xce\\x53\\x9c\\x75\\x64\\x1f\\x53\\x29\\xf5\\xd4\\x64\\xb7\\xd2\\x85\\x91\\xaf\\x12\\x45\\x43\\xac\\xf9\\x4e\\xb1\\x1e\\x93\\x05\\x56\\xe6\\xa2\\xa9\\x23\\x13\\xc5\\x95\\xa3\\x17\\xf6\\xc9\\x7b\\x0f\\xe2\\x43\\x84\\x08\\xe3\\x58\\x0f\\x2c\\x94\\x77\\xce\\x9b\\xb5\\x66\\x93\\x3c\\xd1\\xf9\\xb2\\x74\\xc9\\x95\\x55\\x5c\\x81\\x6c\\x8b\\xc8\\x1f\\x49\\x45\\x50\\x04\\x3f\\x9f\\xbe\\xf5\\xd1\\xb5\\x17\\x50\\x3a\\x7f\\xc1\\x72\\xf7\\x5f\\x98\\x4e\\x09\\x5d\\x9a\\xee\\x8b\\xaf\\xd1\\x08\\x53\\xc9\\x34\\x32\\x2c\\x62\\x80\\xe1\\x79\\x13\\x51\\xb6\\xab\\x44\\xd6\\x26\\x82\\x45\\x10\\x11\\x32\\x0a\\x0c\\xc7\\x61\\x49\\xcc\\xd9\\x00\\xff\\x24\\x62\\xf2\\x3d\\x73\\x4c\\x30\\x45\\x09\\x4e\\x6a\\x3d\\x9f\\xbd\\x9b\\xda\\xc4\\xc8\\xc2\\xb6\\xd2\\xc5\\x8c\\x6b\\x26\\x6f\\xd1\\x98\\x60\\x2e\\x97\\x87\\x16\\xb3\\x90\\xec\\xdc\\xc6\\xd8\\x8a\\xff\\xc8\\x3c\\xf6\\xe6\\xeb\\x9d\\x97\\xbc\\x4d\\x79\\xd0\\x25\\x4f\\x64\\xf7\\x60\\xcc\\x5b\\x82\\x66\\xa4\\xeb\\x7c\\x56\\xab\\xd3\\x59\\x16\\x32\\x1a\\x8b\\x0b\\x59\\xb6\\xb4\\xcc\\xe7\\x77\\x1b\\x1d\\xee\\x9f\\x33\\x05\\x31\\x7c\\xbe\\x4d\\xbc\\x90\\x34\\x9a\\x8c\\x3f\\x67\\x2c\\x56\\x87\\xc9\\x84\\x1c\\x08\\x25\\xbb\\xdb\\xc3\\x69\\xee\\x68\\x83\\xe6\\x46\\x72\\xe8\\x9f\\x55\\x18\\x99\\x13\\x11\\x0d\\x8a\\x30\\xc2\\xe2\\x35\\x49\\x7c\\xda\\xfd\\xa1\\x0f\\x88\\xf4\\xee\\xb0\\x82\\x12\\x19\\x4f\\xcd\\x74\\x5e\\xfc\\x2d\\xac\\x5c\\xb8\\xce\\xd4\\x4f\\x3c\\x92\\xf8\\xba\\x6c\\x40\\xfe\\xa3\\xf7\\xbe\\x58\\x34\\x72\\xcc\\x04\\x6f\\x5f\\xd7\\x2d\\x53\\x61\\x78\\x86\\xbf\\x40\\xba\\xb0\\x57\\x73\\x91\\x3c\\x71\\xd1\\xf4\\xf2\\x06\\xa8\\x89\\xc7\\xee\\xc5\\x4a\\xf7\\x71\\x18\\xb3\\xf1\\xce\\xe7\\x5b\\xe7\\xc8\\x6f\\x4c\\x5e\\xe5\\xe6\\x5c\\x97\\x8f\\xc8\\xf7\\xc9\\xfb\\x4b\\x0b\\x6a\\x6b\\x0e\\xe3\\x67\\x3d\\x2c\\x4f\\x84\\x57\\x08\\xbe\\x07\\x26\\xdd\\xa1\\x80\\x7b\\x84\\x42\\x4a\\xde\\xe3\\x08\\x1e\\xfa\\x74\\x4f\\xa5\\x9c\\x95\\x93\\x09\\xf9\\x2c\\x0f\\xbb\\x73\\xd2\\x23\\x4d\\x3c\\x18\\x06\\xd2\\xff\\x28\\x79\\x93\\x93\\x68\\x7f\\xdc\\x73\\xd6\\x4f\\x5a\\xc3\\xe5\\xdd\\x33\\x2f\\x71\\xd3\\xd3\\x34\\xb4\\x28\\x37\\xd7\\x52\\x9f\\x4d\\xf9\\x72\\x49\\x4e\\x7b\\x3d\\x4d\\xb3\\xcf\\xb7\\x3c\\x7c\\xac\\x25\\x81\\x32\\x24\\xc6\\xa8\\xed\\x2c\\x4b\\xf5\\x39\\xb6\\xec\\xc9\\xea\\xd7\\xdd\\xb2\\xfc\\xf4\\xac\\x68\\x4d\\xb9\\x73\\x39\\x62\\x8e\\xc3\\x20\\x10\\x0f\\x05\\x35\\x49\\x63\\xfe\\xbc\\x1c\\xf3\\x02\\xe2\\xdf\\x46\\x65\\xe8\\xea\\x74\\x43\\xbe\\xc9\\x54\\x9a\\x60\\xd9\\xf2\\x8a\\x80\\xdd\\xee\\x76\\x97\\xc7\\x0b\\xf3\\x4b\\xcb\\x4a\\x7f\\xce\\x04\\x82\\x9e\\xfc\\x7c\\x93\\xcd\\x6e\\x76\\x9b\\xcc\\x3f\\x67\\x04\\xbe\\xcc\\x64\\x72\\x97\\x21\\xb7\\xe7\\xe7\\x8c\\x9b\\xf0\\xc2\\xb1\\x0a\\x3d\\xe0\\x3e\\x97\\x1f\\x1c\\xb9\\xfc\\x90\\x9b\\x34\\x90\\x0d\\xa5\\x56\\xf6\\xdc\\x47\\x52\\xa5\\x30\\x1f\\x94\\x41\\x3d\\x95\\xf9\\xfd\\xa1\\x11\\xc8\\x0d\\x4c\\xb9\\x25\\x81\\xbf\\x85\\x0d\\x94\\x23\\x5a\\x2f\\x4d\\xb4\\xaf\\xf6\\x0e\\x88\\x3c\\xbe\\x39\\x87\\x27\\x46\\x5c\\xa4\\xf2\\x04\\xff\\xf6\\xa2\\xe9\\x3d\\xea\\xe5\\xb7\\x62\\xf1\\x51\\x4d\\xcc\\x11\\x66\\xee\\x5c\\x79\\xef\\x96\\x0d\\x98\\x2b\\xa0\\xae\\x6d\\x95\\x9b\\x75\\x5d\\x31\\x3c\\xdf\\x07\\xa3\\x2a\\xa2\\x84\\x2b\\xc8\\x19\\x68\\xc7\\x27\\x6d\\x25\\x3b\\x14\\x4b\\xa7\\xcb\\xd2\\xbd\\x9d\\x06\\x9f\\xd7\\xe9\\x7a\\x32\\xe3\\x74\\xda\\xb1\\x44\\x7b\\x32\\x63\\x30\\x20\\xde\\x8e\\x9e\\xcc\\xd8\\x4d\\x26\\xfe\\xc9\\x8c\\xe9\\x94\\x0f\\xaa\\x7c\\x90\\xf6\\x41\\xd4\\x87\\x41\\x0b\\x38\\xf1\\xdf\\x1b\\x4e\\xd1\\x8f\\x17\\x4e\\x6e\\x9d\\xab\\xa8\\x7f\\x73\\xe7\\x22\\x62\\x9b\\x21\\xb1\\xcf\\xd9\\x08\\x57\\xbf\\x9e\\xd6\\x47\\x2c\\x31\\x14\\x2b\\xd5\\x52\\x5c\\x41\\xae\\x61\\x0f\\x86\\x7f\\x8b\\x46\\xdc\\x31\\x62\\xcd\\x84\\x21\\x0b\\x2f\\x98\\xbb\\xad\\xf9\\x9e\\xe1\\xab\\x47\\xaf\\x9e\\x97\\x5e\\xc0\\x70\\xa5\\xc1\\xca\\xb2\\x8a\\xf7\\xc7\\x95\\x07\\x2b\\x2f\\xf9\\xb8\\xbc\\x10\\x93\\x4b\\xdf\\xac\\x4f\\xff\\x67\\x17\\x68\\x8d\\x3d\\x06\\xb9\\xe5\\x83\\xcc\\x48\\x2c\\x57\\x88\\x4d\\x62\\x7a\\xba\\x1f\\x2b\\x10\\xf7\\x10\\xe6\\x1e\\x60\\x38\\x86\\xa4\\x44\\xa0\\x34\\xa0\\xad\\x93\\xc0\\x46\\xfc\\xf8\\x12\\x54\\x51\\x63\\x84\\x9d\\xda\\x23\\xce\\xaa\\xc6\\xb1\\x43\\x2b\\xc5\\xa1\\x9b\\x26\\x68\\x00\\x7c\\x65\\x4e\\xec\\xb6\\x7a\\x2b\\x2b\\x19\\x14\\x29\\xf6\\x3f\\xb5\\x10\\xad\\xed\\xec\\xfc\\xf4\\xab\\x6d\\x6c\\x39\\x09\\x5b\\x3f\\x7d\\x2b\\xfb\\xfe\\x99\\x32\\xbc\\xa6\\x23\\xbb\\xfe\\xce\\x4d\\xe3\\x57\\xa0\\x18\\xbc\\x97\\xee\\x8a\\x5a\\x0c\\x92\\xcb\\x8d\\x95\\xfc\\x80\\xdf\\xef\\x96\\x2c\\x5c\\x41\\x9c\\x63\\xdd\\x2c\\x63\\x0e\\xe4\\x05\\x18\\x0c\\x76\\x02\\x6c\\x00\\x85\\x44\\xac\\x4d\\x18\\x45\\x67\\xa8\\x29\\xe3\\x71\\x8a\\xf8\\x8f\\xe4\\x12\\xa4\\xc0\\xba\\x38\\x2c\\x8a\\xc3\\x8c\\x38\\x4c\\x8a\\x43\\x43\\x1c\\x4a\\xe2\\x10\\x88\\x83\\x14\\x87\\x93\\x71\\xf8\\x4b\\x1c\\xee\\x89\\x83\\xd2\\xa0\\x41\\xfb\\x5e\\xc0\\xd7\\xd6\\xf5\\x71\\x98\\x45\\x3b\\x8c\\xa0\\xbf\\x28\\xa3\\xbf\\x33\\xc5\\xe1\\x34\\xed\\xf6\\xd7\\x38\\xbc\\x1e\\x87\\x83\\x71\\xd8\\x1d\\x87\\xfb\\xe2\\xb0\\x3e\\x67\\x82\\x61\\x71\\xe8\\x43\\xe7\\x08\\xc5\\xc1\\x82\\xbf\\x24\\x3d\\x7e\\x8c\\xc3\\xc7\\x71\\x38\\x1a\\x87\\xc3\\x71\\xd8\\x1b\\x87\\xed\\x71\\xd8\\x10\\x87\\x25\\x39\\x33\\x34\\xd2\\x19\\x42\\xf1\\x6e\\x8d\\x9f\\xcd\\x19\\x1e\\x37\\x4e\\x0f\\xc1\\xcd\\xdb\\xe2\\xd0\\x94\\xd3\\x1c\\x13\\xd4\\x45\\x7b\\x1c\\xa7\\x3d\\x76\\xd3\\xb6\\x4a\\x33\\x06\\x37\\x8a\\xc4\\xc1\\x86\\xc9\\x57\\x9a\\xe8\\xd3\\xcf\\xcb\\x46\\x51\\x9d\\xd7\\x9d\\x75\\x8e\\x43\\xeb\\xec\\x14\\xed\\xdc\\x9a\\x09\\x67\\x77\\xc1\\xb2\\x81\\xd6\\x24\\x71\\xa4\\x94\\x90\\xfd\\x9c\\x28\\x7e\\xd5\\xf9\\x94\\x2b\\xc2\\x89\\x2d\\x9e\\x88\\xeb\\x78\\x3d\\x3d\\x9e\\x75\\xa8\\x11\\x52\\x24\\xf5\\x3f\\x6b\\x93\\x2f\\xa2\\x36\\xf9\\x9a\\xaf\\xf7\\x45\\x77\\x46\\x1f\\x7e\\xca\\xd9\\x0b\\xcc\\x9f\\x44\\x76\\x46\\x6f\\xdb\\x65\\xd2\\x4c\\xf3\\x30\\x74\\xc6\\x15\\xd5\\x8f\\xef\\x32\\x3d\\xba\\x27\\xf8\\xe1\\xde\\x19\\xc3\\x7f\\x02\\xde\\x74\\xef\\x03\\xbe\\x67\\x36\\x68\\x46\\x7a\\x2a\\x93\\xf0\\x2d\\xc5\\x6d\\xe6\\x37\\x63\\xbd\\x60\\x53\\x7a\\x74\\x9e\\x2b\\x54\\x84\\x90\\xdb\\xe5\\x4a\\x86\\xc2\\xc1\\x60\\x24\\x62\\x96\\x2c\\x16\\x83\\x81\\xe3\\x12\\xc1\\x50\\xa5\\x1b\\x58\\x9b\\x1b\\x24\\xde\\xed\\xb3\\xfb\\x16\\x64\\x42\\xe6\\x48\\x2c\\x1c\\x36\\xf0\\x92\\x59\\x6a\\xcf\\x58\\xec\\x36\\x33\\x58\\x59\\xb3\\x99\\xb3\\x8b\\x7c\\x8c\\x8b\\xcd\\xcf\\x70\\x7e\\x2d\\x6b\\x96\\x18\\xbe\\xb0\\xa4\\xc2\\x4f\\xa9\\x5a\\x51\\x15\\xc1\\xa4\\x1a\\xba\\xdb\\x5a\\x9d\\x9a\\xbc\\x52\\x62\\x11\\xb3\\x21\\x2e\\x4a\\x40\\x06\\x86\\xa2\\xb1\\x7a\\x22\\xa4\\x30\\xb2\\x76\\x29\\xc6\\x0f\\xc5\\x70\\x2c\\x92\\xd0\\x60\\x11\\x03\\x56\\xbc\\x50\\x5c\\x73\\xe9\\x89\\xdd\\x9d\\x75\\xc9\\xc9\\xf3\\x3c\\x81\\x67\\xa3\\xfb\\x53\\xc9\\x4f\\x5e\\xd9\\xf7\\x8e\\xe3\\x67\\xdb\\xd8\\x21\\xa3\\xc7\\xb9\\x6b\\x21\\x1c\\x93\\x3f\\x0f\\x95\\x3e\\x0f\\x5b\\xda\\x16\\xfa\\x61\\xd6\\xef\\x3b\\xde\\x4e\\xac\\x9a\\xb1\\x64\\x17\\x70\\x47\\x0f\\x6d\\xbf\\xb5\\x6a\\xdc\\xb0\\x4b\\x66\\xc8\\x3f\\xed\\xba\\xe1\\xa5\\x61\\x17\\x4f\\x47\\xb4\\xbe\\xfc\\x2e\\x6e\\x28\\xf7\\x04\\x0a\\x91\\x37\\xfa\\xa7\\x5d\\x79\\xa8\\xc0\\x8a\\xac\\xc5\\x25\\x9e\\xc8\\xae\\x8c\\x47\\x14\\x8b\\x76\\x65\\xc4\\xac\\xec\\xc9\\x66\\xe2\\xd4\\x90\\xf4\\x6b\\x92\\x55\\x51\\xef\\x13\\x89\\xac\\xf5\\x89\\x49\\x52\\x98\\x41\\x4c\\xd6\\x27\\xea\\xb3\\xb9\\x7b\\xc2\\x5d\\x7d\\x57\\x6d\\xbd\\xe9\\xf2\\x85\\x8b\\xa6\\xad\\xd9\\xb6\\xb6\\x6f\\xef\\xd5\\xdb\\x56\\x5d\\xb6\\x68\\xf1\\xb4\\x35\\x5b\\xd7\\xf4\\xfe\\x7c\\xf1\\xc4\\xf1\\x4b\\x16\\x4f\\x98\\xb0\\x84\\x79\\xe2\\xba\\xcb\\x57\\xdd\\xbf\\xaa\\x4f\\x9f\\x35\\xdb\\xd6\\x5c\\x7a\\x5d\\xfb\\xa5\\xab\\x76\\xac\\xe9\\xd3\\xb0\\x6e\\xdb\\xba\\x4b\\x17\\x4f\\x58\\xb2\\x74\\xfc\\x84\\x25\\x8b\\x89\\x3c\\x4d\\x22\\x62\\x79\\x21\\x71\\x16\\x37\\xa4\\x2f\\x44\\x5e\\xd6\\xeb\\x77\\x38\\x2d\\x46\\xc9\\x66\\xb5\\x4a\\x9c\\x68\\x00\\x96\\xe5\\x0d\\x06\\x93\\xe4\\x94\\x7c\\x7e\\xd1\\x68\\x31\\x2e\\xcc\\x70\\x16\\xd6\\xea\\xb0\\x2e\\xcc\\xb8\\x31\\x04\\x76\\x44\\x1c\\x0c\\xa9\\x94\\x23\\x79\\x3d\\x2e\\x27\\x2b\\x69\\x61\\x30\\xa9\\x94\\x5a\\x30\\x47\\xad\\x92\\xe3\\xc8\\xcd\\x29\\xd1\\x62\\x8e\\xb4\\x98\\x51\\xb5\\x4a\\x85\\x92\\x74\\xa9\\xfc\\xa9\\x57\\xff\\xb0\\x04\\x5c\\xb2\\xf9\\xe0\\xce\\x93\\xf7\\x44\\x61\\x0c\\xfe\\xb7\\x87\\x7c\\xaa\\x87\\xbc\\x2f\\x0f\\x5a\\xa2\\xf2\\xde\\x3c\\x70\\x7f\\x06\\x79\\xf7\\xc2\\x6a\\x48\\x30\\xbf\\xdf\\xb8\\x73\\xd3\\x77\\xdf\\x6d\\xda\\xb9\\x91\\xf9\\x53\\xe7\\x13\\xcc\\x38\\xb2\\xf6\\x47\\x30\\x7e\\x78\\x55\\xb5\\xfd\\xfe\\x2b\\xfd\\x98\\x80\\x1f\\x04\\x21\\xc9\\xc0\\x23\\x1e\\x01\\x17\\x02\\x34\\x4e\\x82\\x81\\xd4\\xa3\\xfd\\x9e\\x04\\x07\\x24\\x78\\x48\\x82\\x3b\\x25\\xa8\\x91\\xa0\\x50\\x82\\x9f\\x24\\x38\\x41\\xab\\x0f\\x5d\\x26\\x81\\xd2\\xcc\\x2d\\x01\\x27\\x81\\x65\\x20\\xf5\\x6d\\x2b\\xad\\x15\\x9f\\x37\\xfe\\x76\\xd6\\x4f\\xd4\\xc7\\xbd\\x52\\x6b\\x6b\\xa2\\xbd\\xf1\\xa8\\x2f\\x9f\\x33\\x30\\x47\\xc7\\x56\\xbe\\x5f\\x49\\x1b\\x17\\x6a\\x63\\xf7\\xc1\\x12\\x9d\\xc1\\x22\\x3d\\xb7\\xc2\\xca\\x59\\x82\\xe2\\x2c\\xa8\\xa0\\xff\\x3e\\x47\\x1a\\x64\\xed\\x97\\x04\\x31\\x00\\xfe\\x7b\\x04\\xa3\\x86\\xdf\\x40\\x60\\x3e\\x63\\xbe\\xeb\\x74\\x9f\\x5e\\xc8\\x7c\\xdf\\xe9\\x52\\xfc\\x1e\\x7f\\xe9\\x0a\\x71\\x4b\\xf9\\x4d\\xa8\\x12\\xf5\\x45\\x53\\xd3\\x3d\\x4b\\x2b\\x7a\\xf7\\xb6\\x39\\x53\\x05\\x1e\\xac\\xc4\\xb2\\x6c\\xff\\x54\\xb1\\x54\\x51\\x51\\x5c\\x1c\\x0a\\xf5\\xab\\x77\\x26\\xaa\\x4a\\x2d\\x9c\\x25\\x2f\\xc1\\xf9\\x91\\x3f\\xd2\\x9e\\xf1\\x23\\xb1\\x5d\\x4b\\xa2\\xac\\x54\\x22\\xb5\\xd4\\x5d\\xcd\\x7a\\xd5\\xb5\\x3f\\xd9\\xcd\\xed\\xa6\\x93\\x67\\x13\\x45\\x62\\x39\\xea\\x7b\\x0f\\x48\\x16\\xd6\\xd6\\x28\\xf5\\x49\\x5c\\xc4\\xdb\\x8b\\x5b\\x92\\x74\\xa2\\x04\\xf3\\xa7\\xb7\\x3e\\x16\\x7f\\x32\\xcf\\x19\\x7b\\xa2\\xe6\\x92\\xab\\xe1\\xf2\\xf9\\xab\\x1a\\x07\\xc9\\xdf\\xca\\x67\\x3e\\x39\\xe1\\xfa\\xc9\\x3a\\x7f\\xe6\\xda\\xdb\\x52\\xad\\xf7\\xcb\\x87\\xc1\\x36\\x64\\xf8\\x2f\\x57\\x5e\\xb1\\xb8\\xe7\\xc4\\xf6\\xd9\\x0b\\xaf\\xe6\\x37\\xdd\\xb2\\x3a\\x30\\xb0\\xdf\\xaa\\x44\\xaf\\x92\\xe0\\x98\\xf7\\xe7\\x6c\\x2c\\x8d\\xcf\\x1f\\xf1\\xf4\\xa1\\xf5\\x77\\x15\\x8d\\x1d\\xda\\x3c\\xbc\\xaa\\x7f\\x69\\xe1\\x90\\xaf\\xdf\\x19\\x90\\x5c\\x3c\\xfa\\xe1\\x9d\\x9d\\x8b\\x84\\xd1\\x83\\x4b\\xfb\\x94\\xe5\\x49\\xc3\\xfa\\x0f\\x6a\\x52\\x6c\\x4d\\x6b\\xb8\\xbd\\x6c\\x5f\\xfe\\x66\\xca\\x3b\\xa5\\x69\\x37\\x4d\\x56\\x44\\x0c\\x23\\xf1\\x80\\xe0\\xd6\\x49\\x1c\\x6a\\xc2\\x57\\x2f\\xaa\\xac\\xce\\x86\\x12\\xa8\\xb6\\x31\\xac\\xae\\xc7\\xf0\\x5f\\xa6\\x57\\xd9\\x5f\\xcb\\x3a\\xdb\\x4b\\xff\\x52\\xc6\\xed\\xfd\\x18\\xff\\x8f\\xe6\\xab\\xf6\\xef\\x3a\\xc5\\x9f\\xc0\\xb2\\xd1\\x86\\x22\\xa8\\x01\\x5d\\x9f\\x1e\\x6e\\xaf\\x8a\\x97\\xd4\\xc7\\xeb\\x91\\xdf\\x80\\x0c\\x7d\\x7a\\xd7\\x95\\xa6\\x2a\\xa2\\xa9\\xd7\\x33\\x89\\x8a\\xd7\\x33\\xb6\\x68\\x24\\xca\\xa0\\x84\\x3d\\x81\\xef\\xdb\\x68\\x22\\x9a\\xe0\\xcc\\x66\\xf7\\x6b\\x19\\x33\\xc7\\xe5\\xbd\\x96\\xe1\\x5c\\xcb\\xfa\\xc0\\xec\\x3e\\xd0\\xd6\\x07\\x9a\\xfa\\x40\\x63\\x1f\\xa8\\xec\\xa3\\xc2\\x80\\xdc\\x44\\x17\\xf5\\x2a\\x28\\xeb\\x66\\x37\\x51\\xcf\\x5c\\xb5\\x66\\x8e\\xd4\\x33\\x5e\\x9c\\x62\\x6e\\xca\\x56\\x75\\xa1\\x93\\x62\\xfe\\xac\\x1d\\x45\\xb5\\xf7\\x11\\x17\\x21\\x7f\\xe2\\x05\\x79\\xef\\x0b\\xaf\\xc8\\x4f\\x3e\\xfb\\x22\\x34\\xbf\\xf0\\x22\\xb4\\x1c\\x99\\xf3\\x90\\x7c\\xe2\\xc1\\xad\\xf2\\x37\\xbb\\x1f\\x84\\xc0\\x43\\x0f\\x41\\xde\\x83\\x9d\\xbb\\x5e\\x78\\xf7\\xad\\xc3\\x37\\xee\\xad\\xba\\x3f\\x38\\x75\\xd0\\xd5\\xb3\\xdb\\x67\\x5e\\x38\\x3d\\x6f\\x47\\xef\\x3d\\xcc\\x4b\\xa4\\xe7\\xeb\\x30\\xea\\xd0\\x0b\\xd0\\xfc\\xe2\\x4b\\xf2\\xfe\\x17\\x49\\x87\\xfb\\xe5\\x2f\\x1f\\x7f\\x50\\x3e\\x41\\x3a\\xca\\x9d\\x9f\\xbe\\xf1\\xe6\\x7b\\x73\\x16\\x94\\xf4\\x1b\\x78\\xcb\\xea\\x35\\x77\\x0e\\x1f\\x54\\x79\\xfd\\x1c\\xbc\\x17\\x57\\x32\\xbf\\x63\\xa3\\x78\\x2f\\x8a\\x51\\x0a\\xe3\\xa5\\xfa\\x02\\xce\\x56\\xc2\\xb1\\x26\\xa7\\x33\\x11\\x0e\\xd7\\x56\\x98\\x4c\\x35\\xb5\\xbe\\xa8\\xc9\\x35\\xd4\\x67\\x75\\x87\\xdc\\x5f\\x66\\xac\\xa5\\x5f\\x66\\x6c\\xd6\\x88\\x15\\x2f\\x9c\\xd5\\x6a\\x08\\x7d\\x9a\\x28\\xac\\x32\\x54\\x9d\\xc8\\x20\\x43\\x07\\xf8\\x54\\xd7\\x89\\x7e\\x85\\x28\\x8b\\x93\\x93\\xbd\\xa2\\x3a\\xe0\\x14\\x95\\x27\\x6b\\xb8\\x68\\x64\\x54\\xc3\\x72\\x52\\xb3\\x27\\x63\\x25\\x9f\\x5a\\x63\\x58\\x51\\x8f\\x49\\x60\\x1e\\xbd\\x70\\x08\\xcb\\xf6\\x9a\\x39\\x32\\x33\\xfb\\x91\\x67\\x97\\xf0\\xd2\\x98\\xbe\\x7d\\xcd\\xbb\\xdd\\x77\\xde\\xbc\\xe6\\x7a\\xae\\x0f\\x5f\\xe3\\xf0\\x1b\\xe3\\x2f\\x4e\\x1b\\x75\\x51\\x2a\\x51\\x73\\x91\\x93\\x39\\x58\\xd3\\xa3\\x64\\x62\\xdf\\xab\\x26\\x2e\\x58\\xca\\x32\\xc1\\xc2\\xc0\\x98\\x1e\\x15\\xae\\x8b\\xae\\x68\\x9d\\x66\\x89\\xc8\\x9f\\x55\\x96\\x09\\xd3\\xcd\\x30\\x92\\x61\\x1a\\xea\\x52\\x95\\x63\\x86\\x28\\x77\\xc8\\x7a\\x6e\\x0c\\xbb\\x0b\\x19\\xb0\\x16\\x37\\x32\\x9d\\x90\\x1c\\x0e\\x0b\\xd6\\x99\\xcd\\x16\\x0b\\xb1\\x83\\x08\\x9c\\x00\\xc0\\x72\\x46\\xce\\xe9\\x92\\x30\\x8f\\x7d\\x3f\\xc9\\xbc\\x83\\x3d\\xc2\\x62\\x2d\\xb5\\xb2\\xf5\\x2c\\x99\\xab\\x54\\x03\\xca\\x82\\xf9\\x9e\\x55\\x45\\x6c\\x3d\\x46\\x01\\xe0\\x12\\x63\\xda\\x07\\xe6\\xcf\\x47\\xac\\x30\\xe0\\x47\\x41\\xfe\\xc3\\x73\\x7c\\xe7\\xe8\\xec\\xe7\\xf5\\x30\\x63\\x08\\xcc\\x2e\\x91\\x37\\xca\\xdb\\x93\\x39\\x1f\\x15\\xbb\\xc8\\x08\\x74\\x2b\\x37\\x1a\\x63\\x42\\x1e\\xe5\\xa5\\x2d\\x88\\x67\\x78\\x62\\x6e\\x7f\\x32\\x83\\xd8\\xfd\\xa8\\x51\\xbf\\xd7\\xf0\\x6c\\xb4\\x90\\x07\\x7b\\xcd\\x99\\xbf\\x71\\xec\\xad\\xf0\\xc4\\x67\\x9d\\xf3\\x31\\x36\\x56\\x6b\\x6a\\x60\\x6c\\x6c\\xc7\\x63\\x71\\xdd\\xce\\x48\\x05\\xaa\\x43\\x6b\\xd2\\x23\\xed\\x28\\x56\\x5e\\x9e\\xaa\\x48\\xc5\\xe3\\x85\\x3d\\x4a\\x4a\\xa2\\x15\\x85\\x15\\xf4\\xc0\\xf4\\xaa\\xaf\\x28\\x2c\\x2f\\x48\\x15\\xbc\\x9e\\x29\\xaa\\x7e\\x3d\\x53\\x98\\x2a\\x2a\\x4a\\x15\\xb2\\x67\\x9d\\x93\\x5e\\x30\\xbb\\x17\\xb4\\xf5\\x82\\xa6\\x5e\\xd0\\xd8\\x0b\\x2a\\x7b\\x9d\\x73\\x4e\\x7c\\xe4\\x9c\\x54\\x96\\x29\\x57\\x54\\xee\\x21\\xc9\\x5d\\xa8\\xac\\xf9\\xfe\\x7f\\x9f\\x17\\x9e\\x8d\\x93\\x4a\\x25\\x8a\\xb3\\xc1\\xc5\\x12\\xdd\\xc7\\x83\\xb9\\xe2\\xff\\x8f\\xc3\\x22\\x0f\\xda\\xbf\\x60\\x3f\\x0c\\xbf\\x67\\xcb\\x94\\xd1\\xef\\x7f\\x3c\\x62\\xd0\\xaa\\xdb\\x2f\\x1c\\xf0\\xff\\x3c\\x28\\xff\\x81\\x06\\xf9\\x8f\\x6c\\xe5\\x8a\\xb9\\x93\\xdb\\x03\\xf2\\x3e\\xa6\\x4f\\x43\\xdf\\x5f\\x86\\x28\\xf8\\xeb\\x47\\xfe\\x09\\x6e\\xa9\\x60\\x54\\x6b\\x94\\x60\\xa5\\x82\\x81\\x8d\\x19\\x26\\x1b\\x17\\x04\\x78\\x0f\\xb8\\xa5\\xa7\\xaf\\xe5\\x6e\\xe5\\x9f\\x98\\x8c\\x79\\xeb\\x10\\x1b\\x62\\xfb\\xf3\\x77\\x20\\x33\\xf2\\xa3\\x8a\\xb4\\xcf\\x82\\x90\\x4b\\x10\\x82\\x01\\xd6\\xfb\\x44\\x86\\x35\\x1a\\xed\\x4f\\x60\\x8c\\xbf\\x3c\\x08\\xca\\x8a\\xd9\\x5f\\xce\\x4d\\xca\\x06\\xb7\\xa0\\xe7\\x8e\\x7b\\xc5\\xdc\\x74\\xf1\\xfe\\xcf\\xae\\x5e\\xf9\\xdc\\xf8\\x4d\\x17\\xad\\x79\\x66\\x5b\\xeb\\xe0\\x21\\x6d\\xd3\\x06\\x0e\\x98\\xc2\\x4d\\xb8\\xf1\\xe0\\xd3\\xab\\x26\\x6c\\x1c\\x7b\\xf0\\xc6\\xc1\\x53\\xa6\\x0e\\x1a\\x74\\xe9\\x34\\x3c\\xf7\\x44\\xbc\\xe1\\x17\\x73\\xbf\\x20\\x13\\xde\\xed\\x57\\xd3\\x37\\xda\\x4c\\x66\\x2e\\x5b\\x3d\\xc6\\x61\\x37\\x5b\\x9e\\xcc\\x98\\x9d\\x6a\\x0d\\x19\\x52\\x3e\\x66\\x8e\\x78\\x4c\\xe4\\x72\\x8b\\xc7\\x1c\\x75\\xc0\\x5e\\x07\\x6c\\x70\\xc0\\x6c\\x07\\x34\\xe5\\x7c\\xa8\\x74\\x80\\xcd\\x01\\xa6\\xff\\xe3\\x77\\x3f\\xe6\\x7c\\x6e\\xc0\\x3f\\x28\\x23\\x69\\x37\\xac\\x7e\\xe3\\x4e\\xce\\x5e\\xb2\\xa8\\x32\\xa7\\x4e\\x4d\\x59\\xf7\\x0c\\xf5\\x1c\\x9c\\x9d\\x53\\xae\\x86\\xe4\\x52\\x33\\xaf\\x7d\\x26\\xcf\\x86\\x3b\\x3e\\x83\\x8d\\x24\\xa5\\x9a\\x79\\x49\\xde\\x0d\\xe3\\x8f\\xc3\\x38\\xf9\\x89\\xe3\\x9d\\xfd\\x8e\\x1f\\xc7\\x67\\x67\\x08\\xd3\\xc1\\xfc\\x85\\xdf\\x88\\xf2\\x50\\x55\\xda\\x1f\\x12\\x5d\\x2e\\x7c\\xac\\x83\\x08\\x85\\xf3\\xed\\xc6\\x13\\x19\\xfb\\xa7\\x28\\xf8\\x65\\x06\\xfd\\xed\\xec\\x8c\\xf8\\x6a\\xc5\\xe0\\x85\\x81\\x6c\\x3d\\xbd\\x1d\\xe3\\x05\\xba\\x64\\xb2\\x72\\x18\\x3e\\x0d\\xf1\\x17\\x2f\\xbf\\xe6\\x92\\x51\\xe5\\xf1\\x8b\\x82\\x3b\\x23\\x37\\x2f\\xb9\\x76\\x65\\xf5\\xa8\\x29\\x97\\x8c\\xf6\\x42\\x6b\\x80\\xe9\\xb8\\xae\\xf1\\xca\\xfe\\xd5\\xe3\\x53\\xf9\\xc9\\xa9\\x05\\x97\\x4e\\xba\\x7c\\x42\\xdf\\xcc\\xa0\\xba\\x9e\\x3d\\xc3\\x1b\\xc8\\x39\\x9e\\xc2\\xec\\xa3\\xb4\\x14\\xa2\\xb5\\xe9\\x66\\x5f\\x90\\x65\\x11\\x26\\x26\\x1a\\x89\\x14\\x25\\x50\\x30\\x68\\x70\\xb9\\x12\\x66\\x23\\x87\\xa2\\xf6\\x28\\xbe\\x05\\xa3\\xf9\\x3e\\xac\\x1e\\xb2\\x27\\x32\\x26\\x0e\\x4c\\x5c\\x88\\x2b\\xe3\\x76\\x73\\xdf\\x72\\xa7\\x39\\x81\\x64\\xa1\\x57\\x72\\xac\\x84\\x7f\\x9b\\x6f\\xcf\\x2f\\x38\\x91\\xc9\\x3f\\xae\\x3e\\xc9\\x59\\x89\\x83\\x73\\xe7\\xa9\\x7e\\x09\\x35\\xf7\\xa9\\x5b\\x65\\x16\\x0a\\x1b\\x28\\x68\\xa8\\x51\\x2c\\x0b\\x44\\xfc\\x66\\xa5\\xaf\\x62\\x75\\x22\\x88\\x98\\x5a\\xfc\\xe0\\xd4\\xec\\x81\\xfe\\xbe\\xfd\\x47\\x8e\\xbd\\x38\\xf0\\x60\\xf0\\x96\\x95\\xed\\x2b\\x2f\\x1f\\x03\\xe9\\xd1\\xbb\\xee\\xf8\\x25\\xf4\\x94\\x63\\x52\\x8f\\x0b\\xd8\\x4d\\xe3\\x6f\\xa8\\xae\\x18\\x3b\\xd9\\x3f\\x6d\\x72\\xe6\\xe2\\x21\\xd3\\x45\\xc6\\x3c\\xaa\\xf1\\xf2\\xa5\\xaf\\x04\\x2e\\xad\\xc5\\xcf\\xdc\\xc5\\x6d\\x67\\x1d\\x34\\x8e\\xce\\x97\\x36\\x62\\xf5\\x5c\\x14\\xf4\\x40\\x3a\\xdd\\xab\\xee\\x8a\\x89\\xb8\\xa1\\xf0\\x1f\\xf0\\x18\\xe4\\xb5\\xdc\\xf6\\x08\\x44\\xcb\\xe4\\xef\\xf0\\x59\\x7b\\x47\\x9e\\xc8\\x5d\\x8b\\xf5\\xf8\\x22\\x74\\x63\\x7a\\xb8\\x10\\x0c\\xe6\\xe7\\xc7\\x43\\x79\\x79\\x89\\xa4\\xcb\\xec\\xb4\\x39\\x1d\\x0e\\x9b\\xdd\\x9e\\x08\\xba\\xf2\\x59\\x9f\\x59\\x90\\xf2\\x42\\x4e\\x87\\xcd\\x66\\x0f\\xc5\\x7c\\x92\\xaf\\x39\\xa3\\x84\\xcc\\xa5\\xa9\\xf3\\xe3\\x14\\xf5\\x7f\\x2c\\x4f\\xc2\\x94\\x24\\x34\\x25\\xa1\\x32\\xa9\\xab\\xf4\\xd4\\xd3\\x4f\\x4e\\x1d\\xad\\xa3\\xa2\\xd9\\xdc\\xb3\\xeb\\xd4\\xa0\\x9b\\x64\\xd4\\x50\\xba\\x7e\\xa0\\x5e\\x59\\xc9\\xb8\\xe2\\x4d\\x17\\x44\\xdd\\x12\\xef\\x51\\xef\\xab\\x59\\x17\\x8d\\x62\\xb8\\xd2\\x99\\x2d\\x7d\\x46\\xd9\\x04\\xfb\\x30\\xf9\\x1b\\xc0\\xea\\x76\\xbb\\x89\\xb9\\xbe\\xe5\\xba\\xe0\\x1c\\x08\\x6c\\x92\\xaa\\x7d\\x3e\\xfb\\x4c\\xf7\\x05\\xa3\\x3c\\x9e\\x89\\x53\\x7b\\x96\\x5c\\x2b\\xaf\\xe4\\xbf\\xe8\\x7c\\xb0\\x4f\\xdf\\x87\\x77\\xdc\\xcd\\x5c\\xd8\\x69\\xaa\\x70\\x0f\\x12\\x5f\\x08\\x10\\x5e\\x99\\x29\\xff\\x97\\x1b\\x83\\x75\\x06\\x1b\\x5a\\x9d\\x1e\\x4b\\x92\\x34\\xf1\\x89\\xb5\\x81\\x11\\xec\\x0e\\x91\\xb8\\x82\\x38\\x0b\\xf7\\x46\\xc6\\xc2\\x0a\\x10\\x75\\xc0\\xed\\x0e\\x40\\x0e\\xc8\\xdb\\x47\\x3f\\x4d\\x71\\x40\\xda\\x41\\xbe\\xc5\\x5f\\x29\\xdf\\xcc\\xd1\\x7e\\x54\\x3e\\xe3\\x0f\\x0d\\x9f\\x39\\x60\\xde\\xe4\\xdc\\x73\\x48\\x4f\\x22\\x39\\x82\\x4a\\xec\\xa6\\x13\\xb3\\x90\\xae\\x2e\\x69\\xc8\\xcb\\x11\\xa7\\x7f\\x14\\xdc\\x12\\xf3\\xb0\\x47\\xef\\x7f\\xe9\\xbe\\xc7\\x5f\\x7c\\x65\\x0f\\xb3\\x80\\xfb\\xd7\\x6f\\x02\\xff\\xdb\\x6f\\x02\\xfb\\xfc\\xc1\\x5d\\x8f\\x1f\\xde\\x40\\xef\\xac\\x43\\x8c\\x8b\\xf1\\xb3\\x03\\xb1\\x9c\\xf4\\xa5\\x4d\\x88\\xe7\\x68\\x6d\\x26\\xaa\\x64\\x56\\xaa\\xa5\\x99\\x88\\xc9\\xe4\\x50\\x1f\\x88\\xf6\\x61\\x5c\\xb4\\x38\\x13\\xa0\\x8b\\xe4\\x89\\x0c\\xa9\\x55\\xe6\\x26\\x67\\xd5\\x6c\\xb1\\x59\\x39\\xc6\\xe0\\x64\\x9c\\x1e\\xaf\\xd9\\xc6\\xe3\\x7b\\x6f\\x63\\x06\\x35\\x7b\\x09\\x2a\\x24\\xa8\\xd8\\x99\\xc5\\x5c\\x24\\x8a\\x4c\\x33\\x4e\\x93\\xca\\x3c\\x62\\x7d\\x8a\\x22\\x5f\\xe1\\xc5\\xea\\x5e\\xf9\\xa5\\xc5\\x2d\\xc3\\xaf\\x09\\xe4\\x4d\\xbb\\xb5\\x6a\\xf0\\xc4\\xc7\\xe4\\x89\\xc2\\x02\\x31\\x5e\\xda\\xc8\\xec\\x1e\\x0b\\x17\\x5c\\x38\\x75\\x2e\\x9e\\x73\\x1a\\xf3\\x14\\x73\\x07\\xbf\\x0a\\x19\\xd1\\x05\\xe9\\x98\\x64\\x30\\x00\\xc3\\xb1\\xac\\xc8\\x88\\x26\\xb3\\x28\\x08\\xec\\x97\\x19\\xe1\\x13\\x03\\x29\\xab\\x44\\xa4\\x44\\x56\\x45\\xd6\\x62\\x5c\\xf5\\x25\\x52\\x15\\x02\\xac\\xf3\\x8a\\x58\\xef\\x67\\x53\\xe2\\x34\\x5f\\xc7\\xa4\\x17\\xfd\\x6f\\xec\\x9d\\xbf\\xcb\\xc7\\x3c\\xb5\\x08\\xde\\xbb\\x6a\\xf1\\x82\\xce\\xc7\\x17\\x61\\x99\\x3c\\x1d\\x63\\x2d\\x82\\x7b\\x4d\\xa4\\x66\\x66\\xda\\xed\\x16\\x84\\x70\\xbe\\x19\\xcb\\x23\\xc9\\xf6\\x65\\x46\\xfa\\x94\\xf5\\x7d\\x99\\x61\\x29\\x90\\xca\\x46\\x54\\x6b\\xeb\\xaf\\x5e\\x07\\x75\\xda\\x6d\\x60\\x55\\x52\\x64\\xfa\\xb3\\x6c\\xdf\\x93\\xcf\\xdc\\xf6\\xf0\\x89\\x83\\xf7\\xec\\x78\\xb3\\xb1\\x5f\\xcd\\xc0\\x9e\\xc1\\xc6\\xbe\\xd5\\x35\\x25\\x21\\x0f\\xd7\\xfe\\xe6\\x6f\\x5b\\x57\\xbf\\xf2\\xcf\\x4d\\x1b\\x86\\x35\\x25\\x46\\x5f\\x5f\\xd3\\x34\\xc6\\x5f\\xdd\\x78\\x09\\xa6\\x21\\x81\\xf1\\x4e\\x95\\x8a\\x77\\x26\\xa7\\x6b\\x24\\xbb\\xdd\\xd6\\x1d\\xec\\xd8\\x8c\\x9c\\xd1\\xe9\\x32\\xb3\\x88\\xfd\\x7e\\x92\\xb4\\x03\\x1d\\x21\\xba\\x9e\\x0b\\x96\\xbb\\x60\\x8e\\x0b\\x9a\\x5d\\x50\\xe9\\x52\\xce\\x10\\x29\\x45\\xd1\\x6d\\x1d\\x72\\x41\\x90\\x4a\\xb5\\x4b\\x84\\x78\\x3d\\xb0\\x24\\x58\\x56\\xf9\\x00\\x8f\\x1c\\xb1\\xca\\x87\\x7e\\x14\\x60\\xd8\\x73\\x3c\\xb3\\x3f\\xfb\\x99\\xdd\\x25\\xdf\\x3d\\x44\\xbe\\xa3\\x04\\xae\\x81\\xa9\\xc9\\x9c\\x8f\\x18\\xc3\\x4c\\x43\\x48\\xb0\\xf1\\xab\\xec\\x09\\xb4\\x04\\x21\\x7b\\x52\\xec\\x64\\xee\\x44\\xc8\\x21\\x1a\\x78\\xb6\\xa6\\x73\\x04\\xaa\\x4b\\x9b\\x11\\xd3\\x86\\x41\\xce\\x32\\x86\\x65\\x19\\x57\\x07\\x3b\\xe2\\x69\\x97\\x1f\\x49\\x45\\x60\\xee\\x80\\x7f\\xa6\\x25\\xb3\\x15\\x7f\\x66\\x19\\x87\\x1f\\x35\\xd6\\xd6\\x42\\x99\\xa3\\x16\\xff\\xbf\\xb6\\xd5\\x51\\xab\\x8e\\x3b\\xf0\\xdc\\x71\\xd1\\x7c\\xf6\\x9a\\xce\\x61\\xa8\\x27\\xe6\\x5b\\x6d\\x5c\\xc6\\xd6\\xc1\\xde\\xf4\\xb4\\xad\\x40\\x1b\\xf6\\x0f\\x74\\x54\\xc6\\x46\\x06\\x55\\xc7\\xc4\\x43\\x12\\x5b\\xe4\\x35\\x94\\xd6\\x8d\\x78\\xcc\\x05\\xd6\\x73\\x69\\xcd\\x4f\\xdb\\x21\\xb1\\x21\\x71\\x38\\xc1\\xa0\\x48\\x24\\x02\\x2c\\x53\\xa6\\x90\\xd5\\xaa\\xf4\\xc7\\xeb\\x1c\\x94\\x1f\\xc2\\xe2\\xbe\\x37\\xad\\xd3\\x31\\x36\\x5d\\xda\\xbd\\x4e\\x47\\x41\\x4c\\x74\\x20\\x73\\x24\\x1d\\x8e\\x44\\x23\\x5b\\x27\\xe5\\x47\\x6d\\xb4\\x50\\x87\\x52\\xa7\\x83\\x14\\x5e\\x53\\x9d\\x9f\\x28\\x45\\xcb\\x74\\x34\\x9c\\xb7\\x4c\\x87\\x02\\x29\\x48\\x5d\\xae\\x98\\x95\\x11\\xad\\xac\\xe2\\xf7\\xe4\\x19\\x13\\xf1\\x33\\xfd\\x83\\x96\\xe9\\x18\\x5b\\x17\\xe3\\xc1\\x94\\x5b\\xa6\\x03\\x8c\\x0b\\x0c\\x35\\xf2\\xf1\\x1a\\xf9\\x21\\xa5\\x4c\\x47\\x7d\\x6d\\xbf\\xe2\\x6e\\x65\\x3a\\xe4\\x1b\\xf9\\xcd\\xf2\\xbf\\xc0\\x4a\\xec\\xb1\\x4a\\x7d\\x07\\xd1\\xee\\x4c\\x90\\x2c\\x2b\\xfc\\xec\\x9d\\xf8\\xd0\\x22\\xe4\\x7f\\x9a\\xb1\\xd9\\xf8\\x04\\x63\\xef\\xe8\\xda\\x77\\xc0\\xee\\xe2\\x85\\x22\\xbc\\x6a\\x88\\xfc\\x3d\\x5f\\x1f\\x19\\x48\\xa1\\x2f\\x7f\\xda\\xc6\\x90\\x3e\\xb6\\x29\\x36\\x78\\xcd\\xe6\\x24\\x7d\\xc8\\x3a\\x95\\xe5\\xf6\\x29\\xd3\\xfb\\x74\\xc1\\xf5\\xb8\\x8f\\x37\\x6d\\x61\\xec\\x76\\xdc\\xc9\\x83\\x3c\\xb6\\xec\\x2c\\x6a\\xfb\\x01\\x62\\x44\\x6b\\xcf\\x6c\\x83\\x67\\x61\\x12\\x6d\\x4f\\x09\\xf3\\xbb\\xfd\\x85\\xe7\\xb4\\x4f\\x09\\xef\\x6b\\xed\\xd1\\x4c\\xf8\\x10\\xc8\\x1e\\x4a\\x2c\\xed\\x40\\x98\\x0d\\x6a\\x0f\\xb8\\x1c\\x9c\\x48\\x3a\\xd1\\x5e\\xb5\\x59\\xba\\x90\\x3e\\xcf\\xfd\\x70\\x08\\xdd\\x89\\x6a\\xd2\\xb8\\x47\\x93\\x67\\xb6\\x67\\x99\\x67\\x83\\xe7\\xb0\\x87\\xb7\\x7b\\x8e\\x78\\x30\\x67\\x79\\x4a\\x3c\\x30\\xd8\\x03\\xac\\xc7\\xe5\\x61\\x6c\\x0a\\xc1\\xf8\\x68\\x91\\x91\\x5a\\x5b\\xf1\\x3f\\xc4\\x8e\\xb0\\x1d\\x21\\x43\\x8a\\xde\\x05\\x6e\\xb4\\x23\\x3d\\xd1\\xc5\\xb0\\xbc\\x03\\xf3\\x81\\x64\\x31\\x18\\xdc\\x60\\xb7\\x5b\\x90\\xd1\\x8a\\xac\\x9c\\x20\\x78\\x31\\x28\\xf0\\x00\\x16\\xbc\\x6d\\x19\\xb7\\xcb\\xc5\\xf1\\x92\\xb9\\x2d\\x23\\x91\\xb2\\x03\\x34\\xdf\\xa1\\xaf\\x04\\xac\\x4d\\x02\\x33\\x2f\\x61\\xdc\\xea\\xb0\\x1b\\x68\\x51\\x02\\x16\\x59\\x48\\xc6\\x9e\\x6a\\x56\\x4a\\x29\\x52\\x87\\x16\\x5d\\xee\\x5e\\x7e\\x80\\x80\\x8a\\x54\\x6e\\x5c\\xbf\\x66\\xf8\\xd3\\x12\\x69\\xce\\x4e\\x50\\xd7\\xeb\\x12\\x40\\x9c\\x38\\x59\\x07\\x0d\\x96\\xfb\\xff\\x4b\\x7e\\x8d\\x7d\\x85\\x3b\\x5a\\xd1\\x39\\x60\\x10\\xb3\\xac\\xac\\x73\\xc5\\x30\\xe6\\xab\\xf2\\x33\\x9f\\xf7\\x5b\\x2b\\xff\\x1b\\x2e\\x51\\xca\\x6e\\x7c\\x21\\x6f\\xfd\\x9b\\xbc\\xea\\x0b\\xee\\xb1\\x77\\xe4\\xd9\\xf8\\x2c\\xb5\\xc8\\x13\\xf9\\xb7\\xf8\\xcd\\x78\\x1d\\x13\\xdf\\x93\\xf5\\x5f\\x4c\\xf9\\xc8\\xfb\\x14\\x40\\x5e\\x55\\x1e\\x74\\x74\\xad\\x3d\\x90\\x57\\x6e\\x76\\x29\\x2c\\x41\\xce\\x33\\xad\\xc3\\x40\\x79\\xa8\\x58\\xe1\\x3b\\xd4\\xa5\\xf0\\x03\\x98\\xcd\\x7c\\x02\\x2c\\x75\\x16\\x3b\\x62\\xb2\\xfb\\x7b\\x4e\\x7b\\x19\\x9e\\x52\\xc6\\x27\\xad\\xf1\\x31\\x67\\x0f\\x98\\x6d\\x5a\\x87\\x6c\\xfb\\x32\\xbd\\x7d\\x17\\x4c\\x52\\xc7\\xb7\\x58\\x70\\x0f\\xe7\\x56\\xa7\\xf9\\xdc\\xf1\\x29\\xff\\x14\\xab\\xfc\\xb3\\x1b\\xf3\\x4f\\x10\\xf3\\x34\\x25\\x88\\x01\\xfb\\xd3\\x76\\xab\\xd2\\x43\\x61\\x1e\\xa5\\x0f\\x33\\x9f\\xd2\\x54\\x8e\\xfb\\x08\\x86\\xce\\x55\\xca\\x0c\\x1c\\x87\\x67\\xe0\\xc7\\xf2\\x86\\xec\\x0c\\xd4\\xf7\\x81\\xdb\\xb3\\xd3\\x73\\xda\\xcb\\x3d\\xe9\\x13\\x90\\xd6\\x5c\\x07\\x78\\x0f\\x90\\xc4\\x05\\xf5\\x09\\xf4\\xf6\\xa3\\xe9\\x33\\x28\\xed\\xbb\\x5e\\x52\\xc6\\xe7\\x79\\xdc\\xc3\\x78\\x1f\\x06\\xa0\\xe7\\x8e\\x3f\\x92\\x3e\\x43\\xb9\\xf2\\x0c\\xc8\\xae\\x3d\\x03\\x21\\x89\\x01\\xc3\\xef\\x0c\\x42\\xee\\x33\\x90\\x5a\\x51\\x6a\\x6d\\x0e\\x0b\\x0a\\x91\\x68\\x56\\x9b\\xcf\\xea\\x08\\x39\\x9d\\x21\\x62\\x9d\\x36\\x1a\\x7c\\xac\\x81\\xcd\\xcb\\x77\\x48\\x66\\xa9\\x2d\\x63\\x35\\x9b\\x0d\\x16\\x4b\\xa8\\x0d\\x23\\x19\\x83\\x53\\xad\\xd7\\xd1\\xbd\\xc6\\x43\\xaa\\xfb\\xfd\\x42\\xb8\\x8d\\xf2\\x1e\\xc5\\xae\\x5a\\xdd\\x0e\\x12\\xc6\\x11\\xa2\\x2c\\x77\\xde\\xfa\\x1d\\xd7\\x2e\\x2f\\x5d\\x31\\x7f\\x3f\\x5c\\x5e\\x2e\\x6f\\x1d\\x72\\x4e\\x21\\x0f\\x66\\xcc\\xc7\\xcc\\xb8\\xce\\x27\\x3e\\x96\\x37\\xaa\\xe5\\x3c\\xd4\\x7d\\xfb\\x07\\x95\\x13\\x3d\\x55\\x39\\xf1\\x89\\x22\\x27\\x80\\x1c\\x7b\\xf0\\x3f\\x8b\\xe5\\x84\\x25\\x67\\x9f\\x69\\x5e\\x31\\xdd\\x83\\x6a\\x55\\xde\\x2d\\x53\\xe5\\x50\\x7e\\x3e\\x5e\\xa2\\x70\\x53\\x38\\x66\\x62\\xff\\x8f\\xf6\\x32\\x33\\x90\\xf2\\x1d\\x43\\x5a\\xe7\\x77\\x40\\xd9\\x81\\xfc\\xa8\\xd6\\x21\\xdb\\xbe\\x4c\\x6f\\xdf\\x05\\xf7\\xaa\\xe3\\x87\\xc3\\xb8\\x47\\x7c\\x41\\x3c\\xff\\x3c\\xe3\\x47\\xb4\\xf6\\xcc\\x36\\x06\\xa9\\x72\\x8e\\xd2\\x93\\x78\\x2c\\x51\\x7d\\x6e\\x7b\\xba\\xc7\\xd5\\xca\\x1e\\x33\\x8c\\xb2\\xc7\\x2c\\xed\\xc0\\x32\\xb1\\x47\\x62\\x11\\xa5\\x87\\xba\\xc7\\x80\\x6e\\x40\\x8f\\x71\\x37\\x70\\xbb\\x30\\x8e\\xe9\\x9d\\x2e\\x30\\x08\\x0c\\xe2\\xcc\\x16\\x3b\\x68\\x95\\xb0\\x6e\\x87\\x23\\x20\\x22\\xfc\\x23\\x29\\x89\\x75\\x0a\\x78\\x7c\\x58\\x8f\\x1c\\xb0\\xd8\\x87\\xc2\\x7e\\x14\\x68\\x2c\\x23\\x05\\x62\\x68\\x4d\\x77\\x97\\x04\\xf5\\x12\\xf8\\x24\\x10\\x25\\xb8\\x01\\x2e\\x93\\x77\\x6c\\xc3\\xbd\\xa7\\x6c\\x93\\x77\\xd0\\x7f\\xe4\\xfb\\x61\\x30\\x4c\\x87\\x29\\xf7\\xcb\\x3b\\xc9\\xcf\\xdb\\xe4\\x9d\\x3b\\x60\\x9a\\x7c\\xaf\\x52\\x9b\\x2e\\xde\\xf5\\xa6\\xb0\\x98\\x7f\\x06\\x79\\x50\\x18\\x25\\x49\\xec\\x4d\\x5e\\x41\\xa1\\x37\\x3f\\x26\\x44\\x82\\x41\\xa7\\xd5\\x66\\x73\\x46\\x44\\x2c\\x0c\\x45\\xa7\\x58\\x5c\\x92\\x1f\\x8b\\x04\\xf3\\x0a\\x84\\x42\\xaf\\xa9\\x10\\x73\\x9c\\x8d\\xe1\\x45\\xa7\\xdd\\x22\\x20\\x93\\x0b\\x79\\xdb\\x32\\x1c\\xa9\\x83\\xd0\\xf8\\x6a\\xb5\\x1a\\x97\\xf6\\x72\\xb5\\x6a\\x6d\\xcd\\x22\\x3b\\xcd\\x4e\\xa1\\xa4\\x8c\\xf8\\x30\\xb6\\x24\\xb1\\x78\\x1c\\xf1\\x16\\xc4\\xeb\\x13\\xd9\\x6c\\x65\\x1f\\x24\\x5c\\x35\\x49\\xa0\\x51\\x7b\\xec\\x8e\\xef\\xb7\\xdf\\xf4\\xe6\\xf1\\xa5\\x24\\x19\\xfc\\xd3\\x3b\\xaf\\x3d\\xfa\\xf6\\x2d\\x6a\\xa2\\x72\\x92\\x79\\x76\\xe2\\x5b\\xf9\\x9d\\xcd\\x4d\\x4b\\x1f\\x38\\x71\\x3d\\xbf\\xf9\\xca\\x5b\\x7e\\xbc\\xf3\\x04\\x49\\x0b\\x9f\\xb4\\xf4\\x93\\x6d\\xff\\xd5\\xd3\\x94\\x17\\xb5\\x30\\xdf\\x0d\\x96\\x6f\\xbb\\x6c\\x44\\x67\\xb8\\x66\\x33\\x14\\xd3\\x73\\x48\\x73\\x59\\x29\\xcf\\xf4\\x52\\x79\\xec\\x42\\x55\\xf6\\xf8\\x7c\\x84\\x27\\xf3\\xfc\\x21\\x33\\x9f\\xb3\\xa7\\x67\\xb7\\x97\\x19\\xb2\\x6e\\xee\\xb4\\x99\\xb8\\xa4\\xc0\\xf7\\x4f\\x5f\\x50\\x6b\\x5e\\x9b\\x33\\x7e\\x99\\xde\\xbe\\x4b\\xe3\\x61\\xf0\\xfb\\x71\\x87\\xfc\\x4b\\xf3\\x7d\\xe7\\x8e\\x4f\\x79\\xa6\\x97\\x2a\\xdb\\xde\\xd1\\xe4\\x02\\x21\\x88\\x81\\xd0\\x0d\\xa1\\x80\\xd2\\x43\\x97\\x6d\\x34\\x67\\x92\\xd2\\xd4\\x57\\x95\\xb7\\x7f\\x50\\x69\\x92\\xf0\\x14\\xd2\\x6d\\x92\\x99\\x15\\x75\\x9a\\xd4\\x1c\\xed\\x1e\\x58\\x8e\\x98\\xf1\\x2e\\x0f\\x48\\x17\\x99\\x2d\\x1e\\xac\\x12\\x23\\x96\\xc1\\xec\\xec\\x30\\x80\\xc1\\xeb\\xb3\\xe0\\x0b\\x8e\\xf3\\x60\\xf1\\x81\\xd5\\x21\\x86\\xd5\\xea\\x68\\x34\\x12\\x3b\\xfd\\x59\\x45\\xce\\xe9\\xf6\\x91\\x92\\x49\\x62\\x4a\\xcd\\x87\\xaf\\xd7\\x8b\\x26\\x8d\\x20\\x99\\xd7\\x90\\x2c\\xff\\x45\\x4b\\x8a\\x5f\\x5d\\x9e\\xcd\\x87\\xff\\x3b\\x4d\\x88\\xff\\x42\\xcd\\x85\\x07\\x9a\\xb7\\xf4\\x20\\xff\\x16\\xaa\\xc2\\xe8\\xac\\xcc\\x1c\\x8f\\x7b\\xf3\\xab\\xaa\\x50\\x25\\x60\\xf0\\x5c\\x52\\x92\\x9f\\xef\\x40\\x8e\\x9e\\xd5\\xee\\x60\\x4b\\xc6\\xed\\xad\\x44\\xe5\\x5c\\x79\\x73\\x06\\x38\\xd0\\xe2\\xb5\\x1b\\x1b\\xb2\\x21\\x2a\\xe7\\xb0\\x97\\x62\\xc2\\x4b\\xb9\\xd4\\x1a\\xa9\\x8a\\xd9\\xd3\\xe7\\x55\\xb5\\xf0\\xee\\xd1\\x77\\x9a\\x51\\x42\\x10\\xd9\\xf8\\x6b\\xd5\\xe0\\xf9\\xf6\\xa9\\x77\\x36\\x4c\\xe8\\x5d\\x37\\xf4\\x86\\xbf\\x3d\\xfd\\x66\\xfb\\xc0\\xd1\\x53\\xaa\\x9b\\xc7\\xf6\\xba\\x30\\xdd\\x67\\xd0\\xe8\\xd1\\x03\\x87\\x0d\\x9e\\xbf\\x2a\\xf8\\x0a\\xc7\\x7e\\xff\\xc9\\xbd\\xab\\x1f\\x9e\\x95\\x4e\\x17\\x15\\x5f\\x50\\x3b\\x79\\xe7\\xa3\\xaf\\x36\\x3c\\x53\\xe8\\x19\\x37\\x34\\xd5\\xd4\\xb3\\xc7\\x15\\x03\\x07\\x5e\\xdd\\xbb\\xcf\\xb4\\xde\\xb5\\x7d\\x97\\xaf\\x3c\\xc3\\x52\\x5e\\xa0\\xf9\\x6b\\xfc\\xa7\\x78\\x9f\\x06\\x92\\x3b\\x02\\x0d\\xb8\\x52\\x91\\x36\\x98\\xc6\\x04\\xd3\\xbb\\xa9\\x77\\x3f\\x73\\x69\\xb7\\x3b\\xa2\\x7b\\x7b\\x11\\xb5\\x43\\x44\\x91\\x67\\xa4\\x7d\\x43\\x07\\x08\\x07\\x1a\\xfa\\x6a\\x5d\\x6a\\xf5\\xf6\\xbf\\x6a\\xed\\x99\\xb5\\xe8\\x6b\\x55\\x9e\\xf5\\xee\\x8d\\x7b\\x34\\xae\\x6a\\x6c\\xc8\\xce\\xa0\\xb6\\x1f\\xc7\\xbf\\xac\\xb7\\xdf\\x86\\xde\\x42\\x39\\x14\\x5d\\x78\\xc7\\x85\\xa3\\xcf\\x69\\x5f\\xcf\\xdf\\xac\\xd3\\x33\\x13\\x7d\\x88\\xdb\\x53\\x79\\x46\\x3a\\xb0\\x4c\\xbf\\x7b\\xfa\\xf5\\x51\\x7a\\xe8\\xbc\\x49\\xfb\\x08\\x77\\xe9\\x73\\xdc\\x8f\\x3e\\x47\\x25\\x4a\\x9f\\xbe\\x7d\\x49\\x9f\\xc6\\x9d\\x1a\\x55\\xaa\\x0c\\x64\\x51\\x29\\x96\\x9b\\x1f\\x70\\xa3\\x51\\x19\\xaa\\x43\\xfd\\xd1\\xa3\\xe9\\x4b\\xc3\\x91\\x48\\x95\\xbb\\x3f\\x42\\xe5\\xe5\\x3e\\x4b\\xa0\\x30\\xd0\\xcb\\xdd\\xab\\x44\\x34\\x18\\x4a\\xdc\\x25\\x8d\\xe9\\x44\\x9f\\x31\\x19\\x6f\\xf9\\x98\\x4c\\x7f\\x84\\xff\\x92\\x1c\\xa3\\x92\\xfe\\x0d\\xfd\\x19\\x5b\\x18\\x4c\\x6c\\xff\\xb0\\xd7\\x1b\\xee\\xcf\\x3a\\x0a\\x0a\\x42\\x2d\\x99\\x44\\x81\\xfd\\xec\\x3c\\x23\\x87\\x23\\xd5\\x94\\x71\\x78\\x8f\\xa5\\xa1\\x2d\\xad\\xa7\\x83\\xa9\\x0e\\x59\\x35\\xd8\\x51\\x31\\xb3\\x2a\\xfe\\x88\\xb2\\x6e\\xec\\xa5\\x96\\x97\\xcb\\xd1\\x52\\x73\\xb3\\x91\\xa2\\x4a\\x2d\\xfa\\x5a\\x7b\\x2c\\x95\\x9b\\x19\\xe8\\x53\\x8a\\xd7\\x8b\\x45\\x59\\xc7\\x44\\x91\\x9a\\xab\\xc4\\xb1\\x7a\\xae\\x92\\xfc\\xc1\\xd4\\xd4\\xf5\\x9b\\x16\\xde\\xf2\\x28\\x93\\x9f\\x9b\\x20\\xd8\\x7a\\xcb\\x1b\\xef\\x7c\\xe1\\x3f\\x53\\xfc\\xc0\\xdc\\xe5\\x83\\x2e\\x18\\xbb\\x36\\xc4\\x32\\x67\\xa7\\x32\\x7d\\xdc\\xdc\\x56\\xfe\\xe8\\x4d\\x70\\x83\\x96\\x27\\x38\\x77\\x2e\\x49\\x6b\\xf2\\x5f\\x32\\x76\\xe8\\xa8\\x15\\x33\\xcf\\x28\\xd9\\x4d\\x84\\xaf\\x1a\\xe5\\x89\\x24\\x4f\\x0e\\xef\\xc9\\x60\\xba\\x8f\\x8b\\xb1\\x26\\x8a\\x90\\x73\\x3f\\xc6\\x7f\\x44\\x87\\xc8\\x2b\\x97\\x38\\xba\\xeb\\x64\\xff\\x68\\x5e\\x17\\xe5\\xc1\\xa1\\x0a\\xcf\\x2e\\x54\\x38\\x24\\x1a\\xc5\\x1c\\x12\\xbb\\x30\\x56\\x68\\xf5\\x74\\xe3\\xd9\\xee\\xed\\x09\\xcf\\x5a\\x14\\x59\\xc4\\x90\\x0e\\xd1\\x0f\\xa3\\x71\\xad\\x43\\x6e\\xfb\\x5f\\xb5\\xf6\\x39\\x3c\\x1b\\x8b\\xe1\\x0e\\x89\\x19\\x89\\x68\\x76\\x06\\xbd\\xfd\\xcd\\xfa\\xf8\\x33\\xd1\\x17\\x1a\\x0f\\x12\\x92\\x58\\xa6\\x70\\x6d\\x61\\x81\\xd2\\x43\\xe7\\x41\\x92\\x6f\\x51\\x49\\x69\\xfa\\x37\\xed\\x33\\xa0\\xeb\\x02\\xa4\\xa1\\x3f\\x07\\x46\\x7f\\x55\\xb9\\xe8\\x4f\\x69\\xcf\\xba\\xf5\\xf6\\x02\\x6a\\x67\\x15\\x69\\x4a\\x1a\\x73\\xff\\xca\\x41\\x7e\\xb8\\x6d\\x08\\xb7\\x05\\x4a\\x3f\\x6d\\xcb\\xac\\x3d\\xaa\\xe1\\x3e\\xdc\\xd8\\xb8\\xe0\\x1c\\xdc\\x47\\xc6\\x16\\x28\\xfd\\xca\\xd8\\x33\\xdf\\x40\\x1a\\xea\\x73\\x10\\xd4\\xb7\\xe9\\x2c\\xd4\\x87\\x68\\x0e\\xe1\\x77\\xdc\\x9d\\xfc\\xc7\\x78\\xae\\x62\\x74\\x55\\x3a\\x1d\\x71\\xf8\\x12\\x09\\xc1\\x64\\x0a\\x32\\x0e\\xae\\xa4\\x34\\x10\\x32\\x20\\x91\\x17\\x82\\x41\\xc1\\xed\\xce\\x6b\\xca\\xd8\\xdc\\x60\\x63\\xdd\\x6e\\x2b\\x63\\x2d\\x68\\xca\\x58\\xbd\\x82\\x8d\\x89\\x30\\x58\\xb0\\xcf\\x29\\x85\\x53\\xa5\\x70\\x44\\x8f\\x9b\\x47\\x8d\\xad\\xaf\\xe6\\xe6\\xd6\\x29\\x9f\\x7c\\x0d\\xb9\\x11\\x18\\x24\\xd4\\x3a\\x19\\xf3\\xfa\\x8a\\x6c\\xe0\\x75\\x7a\\xec\\x88\\x64\\x44\\xe2\\x7f\\xab\\xbd\\xbe\\x44\\x92\\xaf\\x77\\x15\\x64\\xab\\x26\\x26\\x98\\xbb\\x96\\x4e\\x83\\xa2\\xa1\\x83\\x20\\x19\\xbd\\xa3\\x6d\\x82\\xbc\\x4b\\x7e\\xe7\\xe3\\xdf\\xa0\\x3f\\x38\\xfa\\xad\\x2e\\x8a\\xb6\\xca\\xdf\\xc6\\x36\\xde\\xfc\\xd8\\x35\\xad\\x13\\xef\\x68\\x99\\xc9\\x07\\x16\\xf5\\x4e\\xf4\\xba\\x7a\\x5f\\xdd\\x12\\xb9\\xeb\\x01\\x0c\\x3d\\xda\\xbf\\xfe\\x23\\x30\\x50\\x5f\\x14\\xbc\\x65\\xe9\\xec\\xdf\\xcb\\xa9\\x0f\\xf7\\x4d\\x5f\\x74\\xed\\xeb\\xed\\xe3\\xa7\\x68\\x6b\\xc5\\xed\\xa5\\xf2\\xa9\\x45\\xc5\\x8b\\x49\\x75\\xdf\\xf0\\x8d\\x90\\x80\\xc4\\x53\\x89\\x6a\\xa3\\xff\\x2c\\xde\\x78\\x80\\xee\\xdb\\x18\\x65\\x9f\\x49\\x65\\x5f\\xca\\x4b\\xc1\\x20\\x5e\\xdc\\x50\\x22\\x14\\x16\\xd1\\xff\\xd1\\xbe\\x1d\\xae\\x52\\xe4\\x2b\\x69\\x1d\\xec\\x00\\xee\\x40\\x30\\x5f\\xeb\\x90\\x6d\\xff\\xab\\xd6\\x9e\\x59\\x0b\\x79\\xea\\xf8\\xa1\\x10\\x61\\xee\\x59\\xd1\\xe0\\x79\\xc6\\x7f\\x59\\x6f\\xbf\\x0d\\xcc\\xb9\\xf4\\xc4\\x6f\\x8c\\x57\\x9e\\xa7\\xfd\\xcd\\x3a\\x3d\\x33\\xa1\\x40\\xe3\\x6d\\xd2\\x81\\x65\\xc2\\x9b\\xc2\\x79\\x4a\\x0f\\x5d\\x56\\x0e\\xa2\\x71\\x1a\\xbb\\xa8\\xbf\\xd7\\x84\\xea\\xd2\\x79\\x1c\\x6b\\x32\\x89\\xc8\\x60\\xb0\\x98\\x25\\xc3\\x93\\x19\\x49\\xe2\\x89\\xcb\\x01\\x01\\xfe\\x4b\\x6a\\xd6\\xbf\\x5a\\xa6\\xbc\\x24\\xa7\\x2c\\x1b\\x2d\\x49\\xf6\\xb9\\x36\\x45\\xad\\xfe\\xf4\\xbf\\x7f\\xfa\\xa1\\x73\\x1d\\xc7\\x76\\xae\\xfe\\x81\\x7d\\xe1\\xe4\\x49\\xf9\\xba\\xcf\\x3e\\x93\\xe7\\x9e\\x3c\\x49\\xb1\\x61\\x69\\xd7\\x47\\xdc\\x1b\\xdc\\x25\\x2a\\x36\\xbc\\x32\\xdd\\xe8\\x2f\\x08\\xc4\\xb8\\x88\\xd7\\xcb\\x46\\xac\\xac\\xb5\\xb8\\x24\\x10\\xf3\\x17\\x70\\x85\\x21\\x67\\x61\\x53\\x46\\x32\\x83\\x1b\\x1f\\x14\\xa7\\x57\\x0c\\x91\\x70\\x2b\\xbb\\xbd\\x04\\x8e\\x95\\x40\\xba\\x04\\x4e\\x95\\xc0\\x67\\x25\\x30\\xa7\\x04\\x9a\\x4b\\xd4\\x1a\\x93\\xf3\\x08\\x55\\x18\\x26\\xbe\\xac\\xe6\\x2f\\xe4\\xa2\\x44\\x0a\\x2f\\x7c\\xf5\\x6a\\xf6\\x49\\x37\\x90\\xe8\\x22\\xc8\\x90\\x24\\xa3\\x14\\x29\\xe8\\xb0\\x3f\\x94\\xde\\x74\\x0d\\x49\\x45\\xd9\\x3e\\xaf\\xef\\xa1\\xd5\\xad\\x24\\x35\\xe5\\xe6\\x99\\xbd\\xaf\\x37\\xc0\\x1f\\xab\\x2f\\x9a\\xb7\\x66\\x24\\xe3\\xe1\\xe4\\x81\\x3d\\x87\\xcf\\xb9\\x69\\x44\\x62\\xcb\\xbc\\xc3\\x24\\x35\\xa5\\x6e\\xd0\\xfd\\x33\\x9e\\x20\\x99\\x2a\\x3d\\x07\\xc0\\xfb\\xd5\\x65\\x8c\\xad\\xfc\\xba\\x9f\\xdb\\xa3\\x79\\x9d\\x67\\x0a\\xe6\\x7e\\xa5\\xc4\\xbf\\xd1\\x18\\x74\\xca\\x1f\\x17\\xa9\\xfc\\xb4\\x2e\\x97\\xff\\xc2\\x42\\x38\\xe6\\x37\\xe6\\xec\\xdf\\xd9\\xed\\xdb\\xa9\\x5e\\x4d\\x24\\x07\\x69\\x9e\\xff\\x71\\x7e\\x54\\x6b\\x5e\\x9b\\x33\\xfe\\xaf\\x5a\\x7b\\xcc\\x4f\\x45\\xea\\xf8\\xe1\\x30\\xee\\x10\\xbf\\x38\\x9e\\x7f\\x9e\\xf1\\x6f\\xd6\\xc7\\x9f\\x09\\xf9\\x48\\x95\\x1e\\x84\\x20\\x06\\x62\\xf3\\x63\\x11\\xa5\\x87\\x26\\xfb\\x94\\x98\\x65\\x4a\\xd3\\x25\\x2a\\x4d\\x76\\x95\\x26\\x3f\\x9e\\xc2\\xff\\xa9\\x3f\\xc4\\xb8\\x72\\xb0\\x61\\xd7\\x9f\\x49\\x8e\\x0e\\xc6\\x61\\x56\\x84\\x7b\\xa4\\xab\\xcd\\x5e\\x6f\\x71\\x32\\xcc\\xda\\xd9\\xc2\\x58\\x61\\x3c\\x1e\\x2b\\x28\\x48\\xc6\\x51\\x41\\x28\\x6c\\x0f\\xba\\x58\\x03\\x0a\\x1a\\x9a\\x32\\x41\\xaf\\x0b\\x35\\x65\\x5c\\x24\\x3d\\xc7\\xae\\xe4\\x28\\xcf\\x3b\\x27\\x25\\x27\\x1b\\x8b\\xfd\\x7f\\x64\\xe3\\xa4\\xba\\xa7\\xe3\\xd8\\x40\\xf1\\x04\\x74\\xcb\\xc5\\x79\\x56\\xc8\\x4d\\xc6\\xb1\\x3a\\x5b\\xe4\\x6f\\x60\\x2e\\x04\\xc6\\x3a\\xff\\x67\\x2e\\xce\\xc5\\xd3\\xe4\\xa9\\xe2\\x02\\x79\\xfc\\x25\\xc4\\x7e\\x74\\x08\\x3f\\xdb\\x47\\xfc\\x1a\\xb2\\x16\\x4e\\xe5\\xee\\xf8\\xb1\\xab\\x53\\x59\\x3f\\xbf\\x9f\\xac\\x5f\\xde\\xaa\\xbc\\xa0\\xb2\\x1c\\xfa\\xfa\\x29\\xb6\\xaa\\xc7\\x75\\x9b\\xd3\\x7a\\x38\\x0a\\xa3\\xb3\\xb6\\x2d\\x7b\\xd8\\xee\\xcc\\xb5\\x6d\\xa9\\x18\\x69\\x92\\x8e\\x77\\xd6\\xa3\\x8f\\x72\\x31\\x55\\xef\\x2d\\xbd\\xfb\\xe6\\x62\\x2a\\xd5\\xa6\\xa5\\xdb\\xce\\x24\\x0e\\x5e\\x55\\xdb\\xd3\\xf1\\x9d\\xd5\\xce\\xe0\\x39\\xe3\\x37\\xf1\\x9f\\xeb\\xe3\\xdf\\x8b\\xbe\\xcb\\x1d\\xbf\\xef\\x9b\\x7d\\x07\\x75\\x1f\\x5f\\x9e\\x46\\x6a\\xc2\\xea\\xf4\\x6f\\x65\\x3d\\x58\\x4e\\x38\\xf7\\x33\\x8c\\xb3\\x03\\x3a\\x0e\\x38\\xc3\\x8a\\x91\\x8d\\xde\\xf5\\x46\\xbc\\x3e\\xf5\\x14\\x17\\x28\\x63\\x6f\\x85\\x5f\\x48\\xf8\\x67\\x5a\\x62\\x98\\xbe\\x9d\\x7d\\x87\\xaa\\xe3\\x2a\\xbc\\x4b\\x6b\\x9a\\x52\\x9d\\x23\\xa1\\xea\\x41\\xb5\\x8a\\x8d\\x27\\x88\\x55\\x0e\\x2c\\x3b\\x7b\\x61\\xd9\\x69\\x76\\x75\\x97\\x9d\\x57\\x53\\x3e\\x1c\\xac\\xf2\\xe1\\x25\\x6a\\x7b\\x07\\x6d\\x1f\\xc4\\xed\\x25\\x7b\\x37\\xdd\\x1c\\x8f\\x5f\\xa6\\x8f\\xdf\\x05\\xfb\\xd4\\xb3\\x11\\x0a\\xe1\\x19\\xa2\\x8f\\x46\\x83\\xda\\xf0\\xba\\xec\\x1c\\x4f\\xcf\\xd2\\x60\\x15\\x47\\x7c\\xa5\\xb7\\xc7\\x33\\x44\\x27\\x45\\x83\\xda\\xf0\\x0e\\x7d\\x7c\\xe1\\x5d\\x6d\\x7c\\xe6\\x3e\\x78\\x1e\\x6b\\xd6\\xe4\\x5c\\xd0\\x07\\x58\\x13\\xcc\\x33\\xbb\\xce\\xc6\\x29\\xe3\\xf9\\xb7\\xf4\\xf1\\xef\\x43\\xa7\\xd4\\x73\\x44\\x1f\\xe0\\x8e\\x60\\x9e\\x4e\\x7d\\xce\\xfa\\xe8\\xf4\\x4b\\x08\\xde\\x51\\xe9\\x09\\x92\\x09\\xf2\\x0e\\xe6\\x15\\x9c\\x43\\xff\\xd4\\x1c\\xfa\\xd7\\x69\\x38\\x08\\x88\\xe8\\x87\\xbc\\x07\\xf3\\x0a\\xba\\xd1\\x4f\\xeb\\xb4\\xd2\\xf1\\x93\\xea\\xf8\\xd3\\x55\\x3e\\x70\\xbb\\x31\\xdf\\x78\\xef\\xf6\\xe6\\x19\\x72\\x6d\\x11\\xbd\\xbb\\xbe\\x15\\x6e\\xe0\\xdf\\xb2\\x27\\xd0\\x10\\xba\\x9e\\xa7\\xb9\\x7f\\xa1\\x11\\xa8\\x00\\xf3\\x7e\\x39\\x62\\x8a\\x2b\\x49\\x85\\x81\\xe5\\xc5\\xa7\\x8a\\xd9\\x0e\\x76\\xe0\\x81\\xe2\\x0a\\xc1\\x49\\xac\\xa5\\xb8\\x73\\x23\\xe9\\xab\\xda\\x9d\\x9c\\x02\\xda\\xa8\\xe2\\x91\\x6f\\xf9\\xd9\\x58\\x46\\xc4\\x50\\x0f\\x74\\x47\\x7a\\x02\\x4a\\xd8\\x9c\\x1e\\xde\\x1b\\x89\\xf8\\x43\\xe1\\xb0\\xd7\\xe7\\xab\\x10\\x84\\xaa\\xca\\x88\\x27\\xe4\\xf4\\x38\\x67\\x66\\xfc\\x36\\x4f\\xc4\\xc3\\x48\\xac\\x27\\x1d\\xcc\\x1f\\xea\\xf1\\x18\\xbd\\x90\\x28\\x28\\x31\\x96\\x34\\x65\\x90\\x8d\\x45\\x46\\xbb\\x31\\x6a\\x64\\x4d\\xac\\xd1\\xc6\\x16\\xa8\\xe5\\x0e\\x4e\\x55\\xc1\\x9c\\x2a\\x68\\xae\\x52\\xd3\\xc0\\x88\\x20\\xa1\\x31\\x93\\x9a\\x8e\\xe7\\x6c\\xa0\\x55\\x52\\xd5\\x54\\x62\\x3d\\x07\\x45\\xb5\\x97\\x9e\\x55\\xf8\\x40\\x49\\x3a\\xa7\\xe5\\x49\\xeb\\x63\\x4a\\x3a\\x92\\x5a\\x01\\x01\\xce\\xae\\x80\\x70\\xc3\\x97\\xdb\\x96\\xed\\xc8\\x17\\x18\\x8b\\x35\\x20\\x1f\\x8f\\x41\\x41\\x1e\\x78\\x42\\x2b\\x63\\x37\\xfd\\x5e\\xa9\\x85\\x30\\xf3\\xe6\\x51\\x93\\x27\\x4f\\x5d\\x4e\\x4a\\x21\\xbc\\xfc\\xf0\\xd3\\x30\\xf5\\x99\\xa9\\xad\\xde\\x49\\x83\\x16\\xef\\x5a\\xbf\\x7e\\xd7\\x99\\x66\\x5a\\x0e\\xe1\\xfa\\x33\\xb3\\xae\\xbd\\x62\\x45\\x17\\x9a\\xf5\\x67\\xa4\\xd9\\xf7\\xf8\\x75\\x54\\x6e\\x14\\xab\\x72\\xe3\\x51\\x45\\x6e\\xa8\\x36\\xd3\\xbd\\x16\\x5b\\x37\\xcc\\xa9\\xe0\\xda\\x49\\x3a\\x0e\\x5e\\x8f\\xfe\\x82\\x72\\x91\\xf6\\x75\\xb1\\x78\\x37\\x1c\\xac\\xd8\\x4c\\x23\\xda\\xf8\\x58\\x6e\\x6c\\xce\\xb5\\xc9\\xda\\x0e\\xdb\\x7c\\xe7\\x8c\\x3f\\x80\\xca\\x8d\\xa1\\xaa\\xdc\\xf8\\x2c\\x77\\xfc\\xf8\\x83\\xf1\\xf2\\x73\\xc7\\x17\\x3e\\xd2\\xe9\\xbf\\x0f\\xee\\x04\\x2b\\xe5\\x77\\x6a\\xc4\\x7d\\xcc\\x6c\\xed\\x6e\\xff\\x54\\xe8\\x7f\\x4b\\x1f\\xff\\x3e\\xf4\\xb7\\x5c\\xdc\\xbf\\x3e\\x5a\\xd0\\x1d\\xf7\\x17\\xca\\x13\\x49\\x6d\\x5f\\x7d\\xfc\\xad\\xcc\\x20\\x45\\xd6\\x00\\xd8\\x36\\xdb\\x42\\xea\\xe0\\xea\\xd8\\xf2\\x55\\xa4\\xb6\\x84\\x3e\\xf6\\x56\\x68\\xc2\\x18\\x04\\xe3\\x34\\x26\\x6e\\x8f\\x43\\x47\\xd7\\xfd\\x07\\xe2\\x95\\x56\\xc3\\xd9\\xf6\\x6a\\xdd\\x9e\\x8c\\xcf\\xc6\\x4d\\xb9\\x6b\\x63\\x7d\\xda\\xea\\x3e\\x67\\x6d\\xc6\\xe4\\xe8\\x20\\xeb\\xa8\\x5e\\xab\\xaf\\x4d\\xc1\\xce\\x82\\xe2\\x6e\\x6b\\x43\\xeb\\xec\\xd2\\xf1\\x4b\\x55\\xd9\\xf4\\x88\\x3a\\x7e\\x2c\\x86\\xc7\\x4f\\x6c\\x48\\x44\\xd9\\x9c\\x7b\\x5b\\xa9\\xd3\\x40\\xc7\\x1f\\xae\\xde\\xf3\\xbc\\x3a\\x7e\\x4d\\x0d\\xd1\\xe4\\xaf\\x68\\x48\\xb1\\x91\\x73\\xc6\\x8f\\x68\\xe3\\xe3\\xbd\\xd5\\xec\\xed\\xd1\\x28\\x1e\\x3f\\x7e\\x2c\\x5e\\x76\\x9e\\xf1\\x3f\\xd7\\xc7\\xbf\\x17\\xfd\\xac\\x8e\\x8f\\xef\\xdc\\x04\\x53\\xb7\\xa5\\xae\\xf1\\xdc\\xf1\\xe9\\xde\\x96\\xaa\\x7b\\xfb\\x85\\xba\\xb7\\x64\\xf8\\xe8\\xf6\\x68\\x01\\x9b\\x8b\\x53\\xd4\\xf1\\xdf\\xd2\\xc7\\xbf\\x0f\\x8c\\xea\\xde\\x92\\xe1\\x53\\x5b\\x52\\xb5\\xda\\xf0\\xaa\\xec\\x93\\x1b\\x48\\x1d\\x62\\x7d\\x7d\\x7e\\x65\\x04\\xea\\xa7\\x82\\xa2\\x22\\x77\\x12\\x62\\x1d\\x5d\\x87\\x0f\\xc4\\x12\\xca\\x14\\x65\\xc8\\x91\\x33\\x87\\x30\\x4c\\x9b\\xc3\\x70\\x86\\xf6\\x21\\xcf\\xd0\\xab\\x17\\x59\\xa3\\x9b\\x1a\\x6a\\xba\\x3d\\x83\\x62\\x4b\\x26\\x7b\\x50\\xa6\\xee\\xc1\\xa6\\x6e\\x3e\\x83\\x87\\x9c\\x66\\xce\\xd8\\x5d\\xa7\\xe3\\xf6\\x88\\x8b\\x71\\xfb\\x11\\x6a\\xfb\\x38\\x6a\\x52\\xef\\x07\\x06\\x3f\\xf4\\x17\\xd1\\xa0\\x5f\\xd2\\x35\\x35\\x6a\\x23\\x13\\x1a\\xf9\\x15\\xc8\\x85\\xa5\\xdf\\xf2\\xf4\\x40\\xa7\\xcb\\x6d\\x45\\xc8\\xe5\\xb2\\xfa\\x68\\xf1\\x48\\x52\\xc4\\xd0\\x62\\xb5\\x06\\x48\\x15\\xc3\\x29\\x19\\xb7\\xcf\\xeb\\x71\\xf2\\x06\\x7e\\x6a\\xc6\\x66\\x36\\x19\\x66\\x1b\\x96\\x19\\x18\\x9f\\xc1\\x67\\xb0\\x5a\\x8c\\x12\\xeb\\xe2\\x14\\xfb\\x19\\xc9\\x04\\xcb\\x96\\xe0\\xd4\\x42\\x8c\\x95\\xb0\\x3e\\x2d\\xca\\x18\\x52\\x7a\\xb9\\x90\\x6a\\xa7\\x1e\\x23\\xa0\\xf9\\x7e\\x68\\x52\\x25\\x0d\\x31\\x26\\x92\\xcc\\x44\\x8a\\x26\\x68\\x85\\x8a\\xdf\\x58\\x12\\x5b\\x92\\x80\\x64\\x82\\x99\\x87\\x6f\\x8a\\x04\\xfe\\xe1\\xcd\\x85\\x89\\xce\\xdb\\x12\\xa4\\x66\\x31\\xe7\\xd9\\xf5\\x22\\xfe\\xdf\\xae\\xd3\\xdf\\xb2\\xcd\\xaf\\xbc\\xa2\\xd7\\x02\\xe0\\x56\\x51\\xf9\\xbd\\x2e\\xdd\\xe4\\x8c\\x47\\xf3\\x63\\x79\\x41\\x81\\x03\\x0e\\x2b\\x98\\xb1\\x58\\x28\\xcf\\x63\\xb1\\xe4\\xc5\\x0b\\xb8\\xfc\\x68\\xfe\\xcc\\x0c\\xd0\\x80\\x4e\\x89\\x8d\\x12\\xf1\\x1d\\x8d\\x1a\\x51\\x0c\\x5c\\x41\\x9f\\x5d\\x30\\x86\\x9c\\x8e\\x3c\\x8f\\xd1\\xd7\\x9c\\x89\\x1a\\xab\\x8c\\x69\\x23\\x16\\xe1\\xc4\\x5d\\x1a\\xa7\\x29\\xef\\x4a\\xee\\xab\\x12\\xf9\\xd1\\xd0\\x40\\xb2\\x2e\\xb3\\x32\\xfb\\x6c\\xeb\\xa1\\x5e\\x13\\x85\\x44\\x4f\\x0b\\xff\\xa3\\x8c\\x06\\x7d\\x74\\x26\\x13\\x82\\x86\\x98\\xfc\\x6a\\x3c\\xac\\x25\\xc0\\x2f\\x94\\x4f\\x5e\\x43\\x73\\xe3\\xaf\\x91\\xbf\\xfa\\x7c\\x5d\\x6c\\x5d\\x88\\x7f\\x6b\\xfd\\xae\\x3f\\xac\\xd1\\xd2\\xe0\\xef\\x63\\xca\\x94\\xfc\\xf8\\x37\\xb8\\xbb\\x77\\xad\\x57\\x7d\\x2e\\xeb\\xc4\\xb0\\xe6\\xa3\\x91\\x98\\xbf\\xe4\\xf8\\x80\\x2c\\x8f\\x5a\\x02\\xdd\\x75\\xf5\\xae\\x7f\\xe2\\xf6\\xb5\\x54\\x7f\\x53\\x74\\xfb\\x6d\\x4f\\xe6\\x58\\x0d\\x2c\\x8b\\xcf\\x6e\\x4f\\xc7\\x0f\\x50\\x99\\x5f\\xae\\xca\\x70\\x56\\x95\\xf9\\x8a\\x97\\xe9\\x01\\x5e\\x3c\\xdb\\xce\\xc0\\x7c\\x4a\\x65\\xbe\\x32\\xfe\\xfa\\xd7\\x72\\xad\\x12\\xb7\\xe5\\xb6\\xd6\\xc7\\xbf\\x94\\xca\\x05\\x85\\x7e\\x0e\\xe5\\xd0\\x2f\\x1e\\x11\\x6d\\xe7\\xb1\\x35\\x14\\x53\\xb9\\xa0\\x8c\\x7f\\xef\\x2b\\x39\\xe3\\x8b\\x4f\\x88\\xf6\\xb3\\x9e\\xf7\\x24\\xad\\xf3\\xb1\\x42\\xa7\\x7f\\x6b\\xd7\\x32\\xd5\\x2e\\x24\\x76\\x74\\x5d\\x71\\x40\\x74\\x69\\x52\\x19\\xb7\\xfd\\x58\\xa9\\x09\\x82\\xdb\\x8e\\x54\\xdb\\xce\\xa5\\x6d\\x19\\xc6\\xd4\\xd1\\x95\\x39\\x60\\xf2\\x71\\x7a\\x5b\\xea\\x7b\\xbb\\x8b\\xca\\x9b\\x72\\xf5\\x6e\\x90\\x54\\x79\\x43\\xdd\\x69\\x07\\x38\\x21\\xe7\\x2e\\x51\\xeb\\x63\\x58\\x69\\x9e\\xd1\\xc0\\x74\\xa9\\x52\\x1f\\x83\\xe3\\xc1\\x46\\xed\\xbd\\xa7\\x68\\x76\\xdb\\x0e\\x5a\\x13\\x3b\\x4a\\xeb\\x63\\xec\\xa5\\x49\\x70\\x95\\x3c\\xfc\\xcf\\x7a\\x18\\xe4\\xdd\\xb6\\xb4\\xa8\\x09\\x29\\x67\\x42\\xe8\\xe9\\xfa\\x4e\\x98\\xce\\xaf\\xb0\\x6b\\xbe\\xb7\\x0a\\x38\\x86\\xe7\\xcd\\x4b\\xbb\\x41\\x9c\\x2d\\x76\\x89\\x0c\\x8a\\x20\\x68\\x43\\xb3\\xd1\\x5e\\xf4\\x23\\xe2\\x5a\\xe7\\x2a\\x21\\x04\\x64\\x3d\\xb1\\x8c\\xba\\x8b\\x62\\x28\\xfa\\xcc\\x68\\x14\\xd3\\x80\\xfb\\x15\\xa7\\xc3\\x95\\xc1\\xa6\\x20\\x73\\x2c\\x08\\x2c\\xe3\\xb2\\xb9\\xda\\x5c\\x4c\\xa3\\x6b\\x99\\x6b\\xaf\\xeb\\x47\\x17\\x87\\x5c\\xa7\\x5c\\x0c\\x29\\x8e\\x58\\x5b\\x3b\\xb7\\x95\\x8e\\x41\\x6a\\x8b\\x32\\x54\\x6e\\x55\\xa8\\x72\\x68\\xa1\\x22\\x1b\\x5d\\x2e\\xe2\\x6e\\x20\\xc0\\xd9\\xef\\x64\\xad\\xd9\\x7d\\x51\\xeb\\xaf\\xfc\\x9b\\xff\\x15\\x99\\x69\\x45\\xc9\\x9e\\x12\\x56\\xee\\x7d\\x16\\xbf\\xdb\\xe7\\xf0\\xa4\\x6d\\x4e\\x87\\x11\\x89\\x9c\\x64\\xb0\\x21\\x8e\\x64\\x9e\\x92\\x22\\x01\\x7e\\xd8\\xe1\\x87\\xa8\\x1f\\xf6\\xfa\\x61\\xb9\\x56\\x54\\x72\\xae\\x5e\\x29\\x81\\x56\\x5e\\x69\\x4c\\x05\\xdf\\x6e\\xc8\\x8d\\x82\\x61\\xbb\\x95\\x5f\\x11\\xe3\\xc9\\xb8\\x18\\xaf\\x87\\x54\\x5d\\xb7\\x0a\\x2c\\xcc\\x56\\x7e\\xf3\\x23\\xdc\\x7f\\x1f\\xe7\\x21\\xfd\\xa5\\x3c\\x31\\xa7\\x12\\x8b\\x70\\x59\\xde\\x91\\x23\\x79\\xd0\\x9f\\xde\\xeb\\x0d\\xa4\\x86\\x37\\x7e\\xbe\\x1e\\x8a\\xec\\x87\\x95\\xca\\xf3\\x39\\x1c\\x58\\xf6\\x5b\\x3a\\xba\\x1a\\x0e\\x58\\x9c\\x9c\\x94\\x2b\\xfb\\xf1\\xba\\x36\\x90\\x1a\\x2e\\xb8\\xcf\\x68\\xa5\\x0f\\xea\\xd4\\xfa\\xf8\\x68\\x9f\\x39\\x67\\xf5\\xd1\\xea\\xbe\\xd0\\xdc\\xe0\\x0b\\xd2\\x31\\x23\\x66\\x11\\x13\\x29\\x40\\x6a\\xe2\\xcc\\x4a\\xb5\\x17\\xce\\x60\\xe3\\x6d\\x6a\\x49\\x97\\x26\\x8b\\x22\\x7a\\x2b\\x69\\xaa\\x41\\xce\\x2b\\x2c\\x74\\xd7\\x3a\\x29\\xe2\\xe2\\xea\\x56\\xc4\\x05\\xb3\\xcb\\x45\\x70\\x2c\\xa7\\x86\\x0b\\xd7\\x5b\\x4e\\xeb\\x35\\x5c\\x14\\x9e\\xe6\\x66\\x51\\xfd\\xa7\\x52\\xd1\\x7f\\xd0\\x93\\xaa\\x3e\\x20\\xe0\\x7d\\x14\\x6e\\x16\\x24\\xc4\\xe5\\xde\\x89\\xe4\\x2c\\x5e\\x21\\xb6\\xe1\\xf6\\x4d\\x8a\\x3f\\xb9\\xba\\x89\\xfa\\x93\\x19\\xea\\x4f\\xf6\\x9d\\xeb\\x4f\\xc6\\x6b\\x32\\x8b\\xae\\x63\\xa5\\xba\\x8e\\xfd\\x95\\x35\\x31\\x99\\xf0\\x3a\\xe2\\xf3\\x78\\xfc\\x80\\x68\\x56\\xa6\\xd0\\xef\\xd0\\x53\\x72\\x83\\x7a\\x26\\x95\\x39\\x7e\\xdd\\x41\\x7b\\x48\\x12\\x5e\\x45\\xbe\\xa3\\x6b\\xd8\\x01\\xde\\xa8\\x4c\\x42\\x7a\\xa8\\xcf\\x30\\x8f\\x9e\\x03\\x65\\x8e\\xd3\\xcc\\x57\\x6a\\x1c\\x80\\x58\\x29\\x42\\x07\\xdc\\xae\\x4e\\xa1\\xe1\\x2a\\xf2\\x0c\\xef\\x51\\xfe\\x6f\\x52\\xdb\\x0f\\xc5\\xb7\\x69\\x49\\xda\\x89\\xd0\\x06\\x04\\x95\\x36\\x00\\x0c\\xb5\\xf8\\x4a\\xbe\\x91\\x67\\x3a\\xe0\\x37\\x75\\x36\\x45\\x8b\\x80\\x56\\x35\\x8e\\x47\\xad\\x97\\xae\\x3d\\x17\\xc6\\x12\\xab\\x3b\\x6f\\xa3\\x32\\x46\\xe8\\x80\\x92\\x03\\x82\\x01\\x65\\x6d\\xcf\\x64\\xbe\\x5d\\xd9\\xf9\\x70\\xdb\\x30\\x6e\\x1b\\xfa\\x03\\x9d\\x0e\\xc8\\xba\\xbd\\x9e\\x95\\x1d\\x34\\xd8\\x47\\x89\\x25\\xfe\\x5e\\xad\\xc9\\x6e\\x41\\xcd\\xe9\\x52\\xd1\\x68\\x32\\x08\\x82\\xc9\\xc4\\x01\\xcf\\x33\\x08\\x99\\xad\\x36\\x30\\xb2\\x9c\\x24\\x0a\\x8c\\x01\\xff\\x41\\x3c\\xe6\\x9c\\xee\\xef\\x88\\xa0\\xe9\\x28\\x39\\x55\\x02\\x94\\x84\\x2c\\x95\\x55\\x68\\x20\\x1a\\x66\\x95\\x22\\x91\\x27\\xa5\\xdb\\x5b\\xef\\x2c\\xbf\\x73\\x2d\\x24\\xaf\\x86\\xe6\\x32\\x79\\xdf\\x28\\xe6\\xa7\\x0a\\xf8\\x3c\\xfd\\xf7\\x0b\\x98\\x43\\x9d\\x47\\xef\\x3a\\x7e\\x97\\x7c\\xed\\x09\\xe5\\xbe\\xc5\\x48\\x86\\x59\\x4e\\x6b\\x14\\x4d\\x4c\\x57\\x19\\x4c\\x22\\xa2\\xa5\\x55\\x25\\x51\\xb4\\xe0\\x0b\\x02\\xcc\\x16\\x86\\x33\\xf1\\x46\\x83\\xc0\\x4a\\xf8\\x0f\\x08\\x40\\x2b\\x89\\x9d\\xb2\\xc0\\x5e\\x52\\xa7\\x08\\x94\\x92\\x6f\\xdd\\xa8\\xd2\\x4b\\x17\\x38\\xb5\\x84\\xf6\\x12\\x50\\xe9\\xaa\\xc7\\x9b\\xd0\\x47\\xfe\\xe6\\xaa\\x75\\x25\\x37\\xdf\\x0c\\x81\\xab\\x6e\\x2f\\xdd\\xc0\\xf4\\x1c\\xf4\\xc1\\x20\\xe6\\xe5\\xce\\x0f\\x87\\xbf\\x3f\\x52\\xc7\\x4d\\x76\\xcd\\x07\\xaf\\xc6\\x03\\xe1\\x3d\\x27\\x1e\\x78\\x5b\\x07\\xf0\\x07\\x6c\\x4e\\xcd\\x09\\xaf\\xe1\\xa6\\x5b\\xa9\\xde\\xde\\xa2\\xea\\xed\\xb3\\x94\\xf6\\xd4\\xa4\\xd5\\x01\\xa1\\x03\\xf9\\x51\\xcd\\x08\\x5b\\xab\\xf0\\x2d\\xa9\\x51\\xae\\x8f\\xff\\x2b\\xac\\x55\\xf8\\xd6\\xed\\xc6\\x7c\\x6b\\xef\\xe8\\x9a\\x71\\xc0\\xee\\x51\\x26\\xe8\\x76\\xfe\\x6f\\xe5\\x46\\x69\\x73\\xe0\\x3e\\x66\\xa5\\x4f\\x41\\x01\\xe6\\xdc\\x30\\x01\\xf8\\xe1\\xb8\\x32\\x89\\xde\\x27\\x8b\\xff\\x7a\\xaa\\x18\\xff\\x65\\xf5\\x36\\xa4\\xb1\\x04\\x8e\\x3f\\x3a\\x7c\\xdd\\x62\\x09\\x94\\xe7\\xf8\\x55\\xb7\\x25\\xaf\\x03\\x47\\xae\\x2d\\x2f\\x72\\x38\\x52\\xd4\\xcd\\x96\\x6c\\xc0\\xe3\\x8f\\xc7\\x67\\x23\\x89\\xdb\\xbf\\x46\\x7a\\x88\\x27\\xba\\x30\\x72\\x44\\xc9\\xb4\\x1d\\x90\\x71\\x87\\x11\\xaa\\x8a\\xa7\\x14\\x33\\x50\\xc0\\x62\\xfa\\x3a\\xf7\\xeb\\xf4\\x69\\xac\\x5e\\x4b\\xeb\\xf8\\x63\\x59\\xbf\\x8f\\xbf\\x0b\\x25\\xd0\\xa5\\xe9\\x3a\\xc6\\xec\\x36\\x47\\x43\\x2e\\xbf\\xdb\\xef\\xf3\\xb9\\xbd\\x9e\\xa8\\xa7\\x38\\xe9\\x0d\\x79\\x5c\\x28\\x1c\\xb6\\xb5\\x65\\xc2\\x9c\\xdf\\xc7\\x7a\\x9c\\xfa\\x7b\\x16\\x76\\x14\\xc3\\x94\\x62\\x48\\x17\\x43\\x56\\x6e\\x37\\xaa\\xa5\\x93\\xb3\\x01\\x9a\\x39\\x65\\xa9\\x94\\xb7\\x73\\xa8\\xfe\\x4c\\x25\\x87\\x99\\x98\\x46\\xb1\\x58\\x0b\\x01\\x41\\x55\\x75\\x85\\x29\\xf2\\xca\\x4c\\xd6\\xca\\xb0\\x23\\xe5\\x9f\\xae\\xfd\\x4f\\x61\\x53\\x6a\\x5c\\xa6\\xb8\\x57\\x60\\xc1\\x75\\x53\\x9e\\x59\\x61\\xdf\\x23\\x7f\\xf4\\x6e\\x03\\x14\\x48\\x31\\xae\\x0d\\xd0\\x66\\xd8\\xe0\\x1e\\xd0\\x63\\xf1\\x9b\\xee\\x7f\\x2c\\xe8\\xdf\\xb0\\xe6\\x4f\\x10\\x5d\\xd8\\x7b\\xc2\\x94\\x31\\x1b\\x5b\\xce\\xac\\xe2\\x06\\x42\\xbf\\x01\\x1d\\xab\\x6e\\x96\\xef\\x1c\\x3c\\x4b\\x7e\\xe4\\xd4\\xf1\\x4b\\xa9\\x1c\\xc6\\x77\\x22\\xa9\\x8d\\x94\\x44\\xd3\\xd2\\x35\\x4c\\x91\\xcd\\xeb\\xb1\\xdb\\x1d\\x62\\x51\\x91\\x31\\x16\\x73\\x94\\x14\\xdb\\x1c\\x06\\x91\\x33\\x17\\x15\\x22\\x67\\x30\\xec\\xf0\\x84\\xcd\\xf8\\x8a\\xa2\\xd7\\x94\\xd7\\x63\\x0b\\xd3\\x2a\\x6b\\x25\\xa0\\x15\\xb0\\xd1\\x8a\\xcc\\x29\\x2c\\xed\\xec\\x56\\xa4\\x43\\x8f\\x4c\\xd1\\x6e\\xa9\\xee\\xf5\\x92\\xac\\x4c\\x2e\\x6e\\xb4\\x02\\xb3\\x4e\\xbd\\xb6\\x6e\\xea\\x56\\x39\\x89\\x17\\x0d\\x9c\\x06\\x1d\\xef\\x0e\\xec\\xa5\\x37\\xd8\\x90\\x49\\xcc\\x86\\x9c\\x22\\x4a\\x7c\\x79\\x43\\x1f\\xb7\\x8a\\x1f\\xcf\\xfc\\xfb\\xe6\\xed\\x48\\xb3\\xe5\\x08\\x3e\\x8a\\xeb\\xaa\\x55\\x5d\\xfe\\xb8\\x6a\\x03\\x54\\xe2\\x50\\x96\\x87\\xa3\\xdd\\xe2\\x3e\\x14\\x3b\\xfe\\x24\\xdd\\xee\\xbf\\x9e\\x54\\x56\\xc8\\xf1\\x43\\x2c\\x08\\xe5\\x77\\xb3\\xfb\\x9f\\x15\\x57\\x82\\xf5\\xbd\\x6f\\x72\\xe3\\x5c\\xa2\\xbb\\xa2\\xc5\\xe7\\x19\\xff\\x73\\x7d\\xfc\\x7b\\x21\\x9a\\x3b\\x7e\\xfe\\xbe\\xfc\\xc4\\x79\\xc6\\x77\\xe8\\xe3\\xb3\\x58\\x6e\\x23\\x14\\xfc\\x03\\xcb\\xd0\\x28\\x14\\x7c\\x8a\\x0d\\x07\\xf2\\x13\\x7a\\x20\\x4a\\xad\\x3a\\x07\\xef\\xcf\\xfa\\x46\\x98\\xed\\xd0\\x40\\xe3\\x06\\xad\\x2c\\x43\\x5d\\x11\\xc1\\xf7\\x83\\x71\\xdd\\x15\\xa1\\xfa\\xa9\\xae\\xe8\\xfa\\xc5\\x90\\xe2\\x6f\\xa1\\x75\\x8e\\x6e\\x4f\\x8f\\x75\\x7a\\x1d\\x6e\\xbb\\xdd\\xe3\\x09\\x05\\xbd\\x41\\xab\\x35\\xce\\xf3\\xc9\\x84\\xc3\\xdd\\x96\\x71\\x90\\xc8\\x39\\x07\\xac\\x73\\x40\\x5f\\x07\\xb0\\x36\\x07\\xde\\x18\\x87\\x03\\x59\\x2c\\x76\\x12\\xae\\x14\\x0a\\x1b\\xc3\\x6d\\x19\\x23\\x17\\xf4\\x33\\xfe\\xb6\\x0c\\xe3\\xa2\\xaf\\xa8\\x21\\xc2\\xb9\\x89\\xd6\\xdd\\x69\\xcd\\xbe\\x65\\x4f\\x2b\\x88\\xfb\\xbf\\x5e\\xea\\x53\\xad\\xa5\\xc3\\xa8\\x0a\\x46\\x4c\\x88\\x47\\xc9\\xeb\\x6b\\x48\\x20\\x40\\x24\\x27\\x8e\\xae\\xa8\\xba\\xde\\x45\\x32\\xc5\\x68\\xd8\\x2f\\x7b\\x57\\xe3\\x9d\\xf2\\xe7\\xf2\\x4b\\x0b\\xbe\\x84\\xbe\\x1d\\x4d\\x7d\\x1a\\xd9\\xa7\\xca\\x3b\\x2f\\x1f\\xc4\\x4c\\x2e\\xeb\\xdc\\x39\\x8c\\x79\\xb9\\xe2\\xf4\\xe6\\xe9\\x43\\x0e\\x44\\xa6\\x79\\x96\\xbd\\x74\\xcb\\xf0\\x27\\x8c\\xd0\\x13\\xbc\\xbb\\xa0\\xcf\\xf7\\xd7\\xf3\\x02\\x0d\\xb0\\x5b\\xf7\\xf5\\xa7\\x6e\\x76\\xbb\\x51\\x1a\\xbb\\xeb\\xe7\\x65\\x0f\\xfd\\x0e\\xa3\\xd7\\xde\\x5d\\xdf\\x89\\x6d\\xdc\\x68\\x6a\\x27\\xab\\x43\\x6b\\xd3\\xa3\\x8a\\x5d\\x41\\x4b\\x41\\x1d\\xc3\\x14\\x14\\x54\\xb9\\xaa\\x22\\xa2\\xc1\\x10\\x71\\x45\\xea\\x7b\\xa1\\x5e\\xe0\\x67\\xeb\\xd0\\x98\\x4c\\x1d\\xad\\x91\\x59\\x17\\xa9\\x63\\x2c\\x7c\\x5d\\x9d\\xdd\\x97\\x97\\x1a\\x93\\xc9\\xf3\\xf9\\x0a\\x9b\\x32\\x3e\\x3b\\x5f\\x66\\x2f\\x6b\\xc9\\x70\\xa2\\x5b\\x2c\\x14\\x59\\xd1\\x64\\xb2\\x7b\\x51\\x23\\xa9\\xc1\\xa1\\x04\\xda\\xe7\\x56\\x01\\xa0\\x69\\x1e\\xdd\\x5f\\xa9\\xee\\xd0\\xea\\xf4\\x34\\x9c\\x53\\x36\\x33\\x99\\x5b\\x3b\\x53\\xf7\\x4f\\xd7\\x64\\x5f\\x74\\x06\\xba\\x87\\x7a\\xbd\\xee\\xa1\\xfe\\xcf\\xc2\\x81\\x1f\\xdf\\xac\\x14\\xfe\\xba\\x7e\\xcf\\xe0\\x2d\\x5f\\x13\\xbf\\x74\\x25\\x29\\xff\\x75\\xe5\\x8c\\x79\\x37\\x0e\\x67\\xbe\\x3d\\xdb\\x31\\xbd\\x65\\xc4\\x28\\xa5\\x1c\\xd8\\x80\\xe1\\xb7\\x11\\x97\\xf4\\x33\\xa4\\x28\\xd8\\xd2\\x35\\x0b\\xfe\\x71\\x8b\\xe2\\x94\\x56\\xe5\\xf9\\x41\\x7a\\x2f\\xd5\\xaa\\xf7\\xd2\\xdb\\x8a\\x2f\\xce\\x4f\\x22\\x48\\x49\\xcc\\xa0\\x3f\\xa4\\x29\\xf4\\x1a\\x36\\xf8\\x23\\xe5\\xcf\\xf1\\xca\\xbd\\x84\\x9e\\x56\\xf1\\x97\\x1b\\x8b\\x73\\xf7\\x8f\\x6e\\x9f\\xe8\\x3a\\x0b\\x4f\\x91\\xf7\\x12\\xe8\\xe3\\xff\\x0a\\x77\\x29\\xb1\\xb3\\xf9\\xf9\\xee\\x24\\x13\\xe8\\xe8\\xda\\x70\\x20\\x10\\xe6\\xba\\xdb\\x24\\x7e\\x90\\x1b\\x48\\xfd\\x2a\\x75\\x0e\\x8c\\xa7\\xb6\\xd1\\x5b\\x29\\x10\\xc0\\xb7\\x92\\xa7\\x43\\xee\\x38\\xe0\\x09\\x2a\\x93\\x64\\xf1\\x14\\x7e\\x86\\x32\\x6d\\x0e\\x09\\x69\\x71\\x8c\\x0c\\x89\\xf5\\x61\\x82\\xed\\xc1\\xe8\\xd9\\x36\\x09\\xf6\\x38\\xbd\\x93\\xe8\\xf8\\xcc\\xba\\xcb\\x95\\x1b\\xc9\\x4d\\x1e\\xc1\\xbb\\xd5\\x9b\\x27\\xba\\xba\\xe9\\x73\\xf4\\xbd\\x04\\x74\\x8d\\xea\\xd4\\x35\\x3a\\xa0\\xdc\\xc5\\x25\\xf8\\xc6\\x2b\\xe9\\x80\\xf2\\x03\\x25\\xe5\\xac\\x37\\xbb\\x46\\xa4\\xd6\\x55\\x4f\\xba\\x46\\x13\\xd4\\xbb\\x3b\\xaa\\xb4\\x4f\\x10\\xef\\x29\\x89\\x1f\\x49\\x94\\x08\\x81\\x6c\\x7b\\x65\\xfc\\x32\\x7d\\xfc\\x2e\\x28\\x53\\xef\\xc8\\xd2\\x52\\x3c\\x43\\xe5\\xe6\\xca\\x12\\x6d\\x78\\x87\\x36\\x7e\\x05\\xa5\\x7f\\x82\\x6a\\x73\\x57\\x7d\\x17\\x90\\x4c\\xe2\\x19\\xca\\x2f\\x2d\\x4f\\x68\\xc3\\xd3\\xf6\\x01\\x79\\x22\\x79\\xaf\\x82\\x36\\x3e\\x5a\\x8c\\x75\\x3a\\x45\\xbf\\x2c\\x23\\x71\\x07\\x65\\x7d\\xd8\\x84\\x8e\\xfd\\x7c\\xf8\\x5e\\xa9\\xe0\\x46\\xe8\\xb4\\x2f\\xa6\\xb6\\x67\\xd2\\xb6\\x98\\xb4\\x2d\\xee\\x25\\x20\\xbd\\xed\\x59\\x74\\xe3\\x75\\x9f\\xac\\xd2\\x51\\x42\\x56\\xa6\\xec\\xd9\\xb2\\x9e\\xe7\\xd0\\x3d\\x28\\x87\\xee\\x75\\xe8\\x4d\\xb5\\x7d\\x82\\xac\\x4c\\xf1\\xde\\xe2\\x1e\\xdd\\xe8\\xbe\\x03\\xd3\\x7d\\x2d\\xe5\\x9d\\x7a\\x84\\xec\\x84\\x96\\x6d\\x74\\x3f\\x7a\\x63\\xbd\\xec\\x14\\xdf\\x0b\\x7f\\x3f\\x91\\x56\\xc9\\x58\\xfc\\xb9\\x72\\x5f\\xd0\\x77\\x2e\\x50\\x7a\\xea\\x55\\x7a\\x46\\xa8\\xe3\\x1b\\x0c\\x24\\x1a\\x74\\xac\\xd1\\xce\\xe5\\xfa\\x74\\x26\\x74\\x9d\\xe2\\xe6\\x52\\x9c\\x3b\\x51\\xc5\\xd5\\x5f\\x62\\x5c\\x4d\\x9e\\x35\\xd4\\xc1\\xd4\\x1c\\x08\\x45\\x45\\x8b\\x6a\\x0d\\xcd\\xbe\\xcf\\xc1\\x46\\x6b\\xaa\\x09\\x60\\x34\\x0a\\x66\\xd6\\x6e\\xb5\\x3a\\x38\\xd1\\x28\\x4e\\xcd\\xe0\\x9f\\x2d\\x82\\x13\\x99\\x2c\\x26\\x22\\x4d\\xb1\\xdc\\x54\\xb2\\x54\\x72\\xea\\x7f\\x3a\\x73\\x5e\\xe5\\xa7\\xbe\\xa1\\x82\\x14\\xbf\\x22\\xc6\\x71\\x6a\\x67\\x51\\x5f\\xfc\\x30\\xe4\\x44\\xd1\\x89\\xc5\\xf2\\x5f\\x17\\x7f\\x51\\xf4\\xc5\\x10\\xed\\x05\\x10\\xf2\\xa6\\xe7\\x3b\\x6f\\x63\\xe6\\x3d\\x0f\\x57\\x9f\\xa0\\xef\\x29\\x0a\\xaa\\x75\\xc5\\x62\\x68\\x72\\xba\\xda\\x6e\\xb1\\xb0\\x6e\\x49\\x0a\\xb2\\x11\\x36\\x5e\\x60\\xb3\\x5a\\xd2\\x2e\\xa3\\xc5\\x88\\x25\\x97\\x20\\xa4\\xad\\xcc\\x28\\x52\\x59\\x0c\\xff\\x16\\xd9\\x2d\\x36\\x94\\xaf\\x56\\x17\\xcb\\x2a\\xa4\\x98\\x22\\xbc\\x14\\x5a\\x84\\xfd\\xdb\\xd5\\xdd\\xee\\x7e\\xad\\xdc\\x36\\xad\\x7d\\x50\\xaf\\x57\\x16\\xa3\\x7f\\xbb\\x57\\x17\\x73\\xdf\\x50\\xb8\\xac\\x42\\xaf\\x30\\x56\\x71\\xb0\\xe8\\xa0\\x37\\xb7\\xca\\xd8\\xac\\xe7\\xbf\\x24\\x65\\xc6\\xbe\\x7c\\x7e\\xbe\\x56\\x67\\x4c\\x8f\\xcf\\x0b\\x6b\\xf1\\x76\\x12\\x03\\x5b\\x72\\xe3\\xff\\xa2\\x0b\\xa2\\xe5\\xdd\\xe2\\xf3\\x14\\x1f\\xec\\xcb\\xba\\xcf\\x76\\x1b\\x04\\xbb\\xc5\\x24\\xb4\\x27\\xaa\\xbb\\xf9\\x6c\\x95\\x78\\xbe\\x87\\xb4\\xf1\\x31\\x16\\x78\\x1b\\x86\\xe5\\xc4\\x17\\x2e\\xf4\\x07\\xcf\\x33\\xfe\\x24\\x7d\\xfc\\xf5\\xe0\\xee\\xe6\\x73\\xbe\\x32\\x1c\\x3d\\x77\\x7c\\x8a\\x1d\\x7a\\xa9\\xd8\\xa1\\x23\\x97\\xfe\\xe0\\xca\\x60\\xc1\\x79\\xc6\\xff\\x5c\\x1f\\xff\\x5e\\x30\\xe5\\x8e\\x1f\\x5d\\x11\\x2d\\x39\\xcf\\xf8\\xcf\\xe8\\xf4\\xdf\\x0f\\x87\\x31\\xf6\\xa1\\x3e\\x53\\xe2\\xc8\\x62\\x20\\xff\\x2a\\x2d\\x82\\x51\\x8f\\xb7\\xa1\\x73\\x08\\x57\\xe9\\x73\\xdc\\x8f\\x7e\\xd5\\xfc\\xd4\\xd4\\xa0\\x0e\\xf1\\x66\\xcd\\xb3\\xad\\xf7\\x51\\xe6\\x71\\xe8\\xcf\\x41\\xa2\\x11\\x29\\xde\\x60\\x80\\x86\\x3d\\xfa\\xde\\xf4\\x45\\xf5\\x69\\x6a\\x75\\xff\\x39\\xdf\\x37\\xeb\\x6f\\xc7\\x18\\xa5\\x55\\xeb\\x43\\xdd\\xe1\\xf9\\xc7\\xf3\\x13\\xfa\\x34\\x6a\\x9f\\x85\\xf8\\x2c\\xff\\x93\\x9e\\xe5\\x5e\\xaa\\x2f\\xe1\\x6e\\x55\\xae\\x04\\x3b\\xba\\xd6\\x1f\\x08\\x26\\xd4\\xd5\\xa2\\xcf\\x41\\xeb\\x36\\xf6\\xd6\\xc7\\xdf\\x0a\\x1f\\x69\\x3e\\x8a\\xe8\\xc2\\x68\\xb9\\xba\\x4e\\xca\\xb8\\xf4\\x9d\\x1f\\xf4\\xcc\\xf7\\x56\\x64\\x27\\x93\\x56\\x74\\x18\\x25\\xcc\\xb3\\xa3\\x4b\\x3e\\x90\\xef\\x93\\xbc\\xdd\\xe4\\x39\\xad\\xcb\\x46\\xe5\\xd0\\xc5\\xaa\\x5f\\xe0\\x15\\x75\\x2f\\xbc\\x5e\\xbc\\x17\\x21\\x14\\xf2\\x18\\xdc\\x39\\x7b\\xa1\\xc4\\x79\\x96\\xe9\\x71\\x9e\\x5d\\x90\\x52\\xe6\\x30\\x1a\\xa9\\xf2\\x86\\xe7\\xb0\\x49\\x5a\\xa8\\xa7\\x7a\\x87\\x29\\xfe\\xff\\x5f\\x35\\xff\\x3f\\x96\\xd1\\xef\\xa9\\x73\\x04\\x02\\x84\\x9f\\x32\\x61\\x3f\\x93\\xeb\\x87\\xdc\\x80\\xe7\\x78\\x97\\xc6\\x9f\\xf6\\xfd\\x42\\x89\\x31\\xb8\\x42\\x8b\\x3f\\x95\\x24\\xb2\\x11\\x16\\x9f\\xc5\\xc4\\x8a\\xdd\\x7c\\xe4\\xf4\\x1d\\x1a\\xf4\\x5e\\xea\\xa7\\xde\\x4b\\x37\\x2a\\xf7\\x0c\\x21\\xcb\\xd8\\x01\\x15\\x07\\x8c\\x16\\x10\\xf4\\x7b\\x86\\xd4\\x27\\xe3\\x8c\\x74\\xdf\\x5a\\xd5\\xbb\\xfb\\x57\\xb5\\xbd\\x83\\xb6\\x77\\xe2\\xf6\\x88\\xcf\\xb6\\xa7\\xe3\\x53\\x5f\\x6d\\x3f\\xd5\\x0e\\x30\\x44\\xf5\\xd5\\x2a\\x13\\x18\\xcd\\xfa\\xe8\\xf4\\x99\\x69\\xfd\\x33\\x6a\\x07\\x69\\x55\\xed\\x8d\\x87\\x54\\x6c\\x40\\x27\\x38\\x68\\x34\\xa3\\xdc\\x18\\x5d\\x95\\xfe\\x32\\x6d\\x7c\\x2c\\xaf\\x89\\xad\\x25\\x9a\\xf6\\x2a\\x0b\\x6b\\x8e\\x98\\x2b\\xcd\\x8d\\xe6\\x26\\x33\\xf7\\x27\\xb3\\x13\\xb4\\x54\\x19\\x87\\x3e\\x17\\x17\\xa7\\xeb\\xdb\\xaa\\xde\\x25\\x8f\\xab\\xeb\\x6b\\x24\\x93\\x99\\x8f\\x98\\x9d\\x48\\x3f\\x7f\\x6a\\x4d\\xcc\\x1e\\x34\\xbe\\xa2\\x32\\xed\\x37\\x62\\x1c\\x67\\x93\\x04\\x33\\x32\\x19\\x3d\\xa4\\x00\\x37\\x22\\x05\\x94\\x2b\\xed\\x7a\\x69\\xab\\xca\\x6e\\x55\\x92\\xab\\xb3\\x25\\x5f\\x5c\\xfd\\x81\\xd9\\xa4\\x97\\x08\\xff\\x42\\xfe\\xe6\\x64\\xf8\\x10\\xff\\x96\\x52\\x1d\\xfc\\xf4\\x5c\\x6e\\xf7\\x7d\\xab\\x91\\xfa\\x2e\\x00\\x12\\xcb\\x51\\x80\\xaa\\xd0\\xe5\\xe9\\xda\\x1e\\x46\\x47\\x31\\x0b\\x31\\x3e\\xea\\x8d\\x86\\x43\\x91\\x88\\xcf\\x6f\\xf4\\x57\\xf7\\xf4\\x3a\\x9c\\x62\\xbc\\x29\\x03\\x79\\xf9\\x79\\x63\\x32\\xb1\\x7c\\x27\\x27\\xe6\\x8b\\xf9\\xd6\\x08\\xf8\\x3d\\xd6\\x32\\x12\\x40\\xa6\\x2a\\x9f\\xd4\\xfc\\xd0\\xd0\\xa0\\xd5\\xec\\x41\\x29\\x20\\x99\\x8c\\x9a\\x7d\\xa4\\x5a\\x2f\\x3f\\x10\\x67\\xe2\\x67\\x05\\x72\\x58\\x59\\x31\\x56\\x57\\xaf\\x3a\\x2f\\x52\\xac\\x96\\x5e\\x47\\xeb\\xff\\x47\\xfe\\xdb\\x87\\xe3\\x1a\\x3b\\xae\\xde\\xbe\\x7f\\xd9\\x97\\x3b\\x48\\x48\\x87\\x60\\xb3\\x99\\x40\\xfe\\xa7\\xa1\\xe4\\xe0\\xad\\xb1\\xdb\\x42\\x10\\x08\\xfd\\xfb\\xd2\\xc9\\x33\\x47\\x95\\xcf\\x6c\\x5b\\x75\\xf7\\x18\\xee\\x6e\\xf9\\xcf\\x93\\xdb\\x0e\\x3d\\xfc\\x37\\xf9\\xc9\\xc7\\xae\\x9c\\x1c\\xec\\x53\\x53\\xc4\\x05\\x5e\\x65\\x3b\\x76\\xad\\x5f\\x2f\\x17\\xf4\\x59\\xf6\\xe6\\xa8\\x59\\x8b\\x80\\x39\\x3e\\x7b\\x3a\\xc6\\xdd\\x19\\x7c\\xae\\x86\\xe3\\x3b\\x32\\x88\\x57\\xbb\\x1c\\x5d\\x94\\xee\\x51\\x58\\x1c\\x2a\\xb6\\x47\\xbc\\xa1\\x20\\x87\\x2f\\x28\\x97\\xd7\\xce\\xf7\\xa8\\x70\\x15\\xc6\\x0b\\xe3\\x6d\\x99\\x42\\x0c\\xa7\\x83\\xe6\\x60\\xa8\\x2d\\x13\\x74\\x96\\x83\\x19\\xda\\x32\\x66\\x16\\xe5\\xea\\x15\\x24\\x00\\xf4\\x3c\\x6f\\x8e\\xa5\\xda\\x28\\x8d\\xe2\\xf4\\x89\\x4a\\xe2\\x66\\xb7\\x57\\xc8\\x16\\x69\\x41\\xd0\\xd9\\x68\\xe8\\x8f\\xdd\\x43\\x47\\x9a\\xff\\xce\\x1f\\x7a\\x95\\x99\\xdb\\xfd\\x55\\xb2\\x2d\\xda\\x1b\\x64\\x4b\\xb5\\x77\\xca\\x72\\xbb\\x47\\x0e\\x29\\xea\\xeb\\x48\\xf4\\xfc\\xe3\\xa1\\xec\\x3b\\x65\\x3f\\x26\\x2f\\x93\\xfd\\x88\\xbc\\x57\\x56\\xb7\\x7f\\x5c\\xcc\\xaf\\xb0\\x0b\\xec\\x8b\\x08\\xe5\\xbc\\xf7\\x21\\x0f\\x95\\xa1\\x31\\xe9\\xf2\\x12\\xd6\\x54\\x10\\x60\\x7d\\x76\\x9f\\xdb\\x6d\\x73\\x38\\x3c\\x2c\\x5b\\x51\\x6e\\x77\\xfb\\x9a\\x33\\x6e\\x30\\x05\\x45\\xe4\\xf0\\x88\\x45\\x4d\\x19\\xd1\\x4b\\xaf\\x62\\xbb\\xf6\\x0e\\x6a\\xe2\\x4e\\x6f\\x68\\x68\\x2c\\xa3\\x5b\\xab\\x45\\x01\\x6a\\x1b\\x7b\\xd6\\x8e\\xf6\\x07\\x17\\x56\\x9f\\xe8\\x66\\x8b\\xda\\x96\\x9e\\xfd\\x4e\\x07\\x75\\x33\\x85\\xc4\\x69\\xd6\\x52\\x28\\x0b\\x83\\xc9\\x56\\x9b\\x5a\\x16\\x8c\\xa9\\xca\\xbe\\xd7\\x41\\x09\\xd2\\xa1\\x7b\\xe9\\x78\\x9a\\xe7\\xdf\\x97\\xef\\x9d\\xdc\\xf6\\xd2\\xe0\\x0d\\x7f\\x69\\xca\\x79\\xb1\\x03\\xa3\\x3d\\x2b\\xb2\\x20\\x2f\\x89\\x70\\xe3\\x05\\xab\\x15\\x39\\x8d\\xc8\\xc8\\xb2\\x7e\\x9f\\xe0\\x6d\\xcb\\x08\\x02\\xe2\\x58\\x64\\x25\\x9a\\xa2\\x5e\\x12\\xae\\x2c\\x67\\xbf\\xa8\\x0f\\x20\\x59\\x5f\\x94\\x62\\xe9\\x2e\\x71\\x31\\x7d\\x7b\\x0a\\x5f\\x6c\\x17\\xe0\\xbe\\x11\\x57\\x43\\xfb\\x37\\x60\\x91\\x9f\\x93\\x3f\\x95\\x6f\\x82\\x35\\x77\\xdc\\xb7\\x74\\x9d\\xbc\\x8d\\xfd\\xf6\\xcd\\xc2\\x47\\x3b\\x8f\\x1e\\xfd\\xfd\\xdf\\xfe\\xf9\\xd5\\x35\\x97\\x67\\x26\\xe5\\xac\\x71\\x0f\\x34\\x18\\x0d\\x4f\\x27\\x07\\xe6\\x95\\xd4\\xd8\\x59\\x63\\x85\\xb1\\x47\\x0f\\x84\\xc4\\x3c\\x76\\xe8\\x90\\x8a\\x12\\x67\\x91\\xaf\\xa8\\x6f\\x53\\xa6\\xc8\\xeb\\xab\\x24\\x5a\\x9b\\x04\\xb4\\x14\\x65\\xee\\x7b\\x7c\\xb5\\xc5\\xcd\\xae\\x6d\\xaa\\x3f\\x5b\\x4f\\xc9\\xb3\\xf2\\x3d\\xf1\\xe7\\x54\\x75\\x98\\xc9\\x07\\xcc\\x4b\\x56\\x56\\x5b\\x6e\\x28\\x20\\x29\\x85\\xa0\\xbc\\x52\\x84\\xbc\\x04\\x9c\\x86\\x2f\\xb0\\x46\\x8b\\xcd\\xb0\\x6b\\x0e\\x0f\\x6b\\x87\\x06\\x8b\\x02\\x76\\x89\\xe5\\xf2\\x86\\x65\\x66\\xf6\\x6d\\xb9\\x61\\x7c\\x85\\xd1\\x94\\x77\\xd1\\xf5\\x0f\\x5c\\xa6\\xef\\x02\\x3c\\x59\\xdb\\xd6\\xdc\\xe8\\x36\\x48\\xf9\\xb5\\xc3\\x2b\\x52\\x2d\\x17\\xa4\\x3c\\x26\\xd3\\x10\\xa9\\xac\\xef\\xd0\\x24\\x3b\\xf3\\x85\\xf8\\xf6\\x1b\\x9f\\xbd\\x61\\x64\\xb1\\xb9\\x74\\x70\\xcf\\xbc\\xea\\x4b\\x6e\\x6a\\xb1\\x56\\xcd\\xe9\\x7d\\xdb\\x9b\\x37\\xf6\\x53\\x37\\x86\\x5d\\x1f\\x6b\\x5e\\x77\\x45\\xf9\\xc8\\x58\\xaf\\xf1\\xbd\\xf3\\x23\\xa3\\x56\\x4d\\x4f\\x65\\x12\\x64\\x63\\x00\\x15\\xe1\\x3b\\xfb\\x61\\x7e\\x33\\x0a\\x91\\x77\\xab\\x07\\x8c\\x0c\\xeb\\x74\\x38\\x58\\x23\\x9b\\x9f\\xe7\\x64\\xac\\x82\\x15\\x6b\\xee\\x56\\x97\\x80\\xf0\\xf6\\x70\\xb9\\xf5\\x5d\\x72\\xf6\\x85\\xa4\\x1a\\xb1\\x49\\xa2\\x90\\x73\\x5e\\x8f\\x9d\\xd6\\xa9\\xa0\\xef\\x48\\x53\\x39\\xc9\\x2a\\xff\\x77\\xfb\\x0f\\x37\\xc0\\xc5\\xff\\x38\\x0c\\xfe\\x4d\\x7f\\x92\\x6f\\xea\\xfc\\x5a\\x7e\\xb7\\x10\\x9c\\xae\\xa7\\x56\\x6d\\xf9\\xfb\\x75\\x87\\xb9\\x3d\\xf2\\x4f\\x53\\xdf\\x3d\\xb2\\x5e\\x7e\\x44\\xee\\x94\\xaf\\x38\\x7e\\xf4\\xe0\\x90\\x19\\x37\\x3c\\x08\\xc9\\xe7\\x1f\\xf8\\x1d\\xb5\\xb9\\x5e\\x86\\x75\\xef\\x84\\xb0\\x1b\\x25\\xd0\\xa8\\x74\\xb1\\x2b\\x16\\x8b\\xf2\\x82\\x10\\x25\\x55\\x43\\x03\\xc9\\x40\\xb1\\x2f\\x6f\\x6a\\xc6\\xe7\\x70\\xc5\\x78\\x56\\x72\\x38\\x0a\\xdb\\x32\\x0e\\x4e\\x62\\xc9\\xeb\\xca\\xba\\xd5\\xd7\\x20\\x0a\\x35\\xe4\\xbc\\x26\\x96\\xd4\\x0f\\xd5\\xdf\\xba\\x2c\\xe4\\x14\\xd5\\xf0\\xa9\\x2f\\x72\\x50\\x32\\x07\\xba\\xbf\\x82\\xf9\\x4a\\x79\\xdf\\xdf\\x8f\\xfc\\xff\\x38\\x7b\\x0f\\xf8\\x28\\xaa\\xae\\x7f\\x7c\\xee\\xdc\\x99\\x9d\\xed\\x33\\x3b\\xdb\\x7b\\xcf\\x6e\\x7a\\xc8\\x12\\x42\\x68\\x59\\x7a\\x27\\x05\\x30\\x2c\\x2d\\xf4\\x22\\x4d\\x7a\\xaf\\xd2\\xa5\\x8a\\x80\\x0a\\x28\\x28\\xa0\\x82\\xa0\\x8f\\xa2\\x82\\xbd\\x20\\x16\\x2c\\x28\\xf6\\x5e\\x78\\x01\\x15\\x15\\xdb\\x63\\x21\\x99\\xfc\\xef\\x9d\\x99\\x6d\\x21\\xcf\\xf3\\xfe\\xde\\xff\\x47\\x41\\xc5\\xcd\\xce\\x39\\x77\\xee\\x3d\\xed\\x9e\\xf3\\xfd\\x0a\\x57\\x44\\x0e\\xe6\\xaf\\xb6\\xb3\\xae\\x17\\x76\\xf6\\xed\\x13\\x2d\\xf7\\xb4\\xee\\xc5\\x75\\x12\\x7e\\x72\\x1f\\x9a\\x9b\\xa6\\x63\\x7e\\xf2\\xc9\\x6d\\x40\\xfb\\x2f\\x4c\\xc7\\x3c\\xa2\\x7a\\xeb\\x0e\\xc3\\x1b\\xda\\x0e\\x35\\xc2\\x0b\\x49\\x5e\\x66\\x91\\xdb\\x84\\xde\\x44\\x97\\xa0\\xb3\\x50\\x15\\x8f\\x6a\\x75\\xba\\x90\\x8d\\x20\\x42\\x0c\\x1f\\xe2\\xdd\\x61\\x77\\x8e\\xd3\\x57\\x9d\\x70\\x3a\\x6d\\xac\\xc5\\x42\\xe2\\xd8\\x9a\\xd3\\xb2\\xac\\xaa\\x2a\\xc1\\x5a\\x32\\x19\\x4e\\x88\\x8a\\x98\\x4c\\x64\\x98\\xd4\\x28\\x19\\xfb\\x27\\x91\\xd4\\x62\\xd9\\xbc\\x27\\xd6\\xb4\\x56\\x2c\\x80\\x15\\x12\\x96\\xda\\x23\\x22\\xd8\\xda\\x64\\x61\\x8a\\x44\\x80\\xb2\\x7e\\x82\\xeb\\xd4\\xe6\\x7e\\xbd\\x22\\xa2\\x46\\xc5\\xe4\\x5b\\x12\\xa2\\x5a\\x06\\x15\\x4a\\xd9\\xa6\\x5b\\x0c\\xaf\\x21\\x55\\xae\\x12\\x2d\\xf4\\x11\\x61\\x3b\\x5d\\x81\\xce\\xb5\\x99\\xf0\\x12\\x1d\\xe3\\x3e\\x27\\xb4\\x28\\x75\\x3c\\xaf\\x84\\xd0\\xef\\xe3\\x38\\xa5\\xd9\\xec\\xad\\x4f\\x98\\xd5\\xe8\\x17\\x54\\x5a\\xf0\\x10\\x9b\\xfc\\x76\\xe4\\x32\\x47\\xb3\\x7d\\x94\\x1a\\x59\\xcb\\xb0\\xc9\\x69\\xda\\x69\\xb8\\x31\\x35\\xb6\\xf6\\xc5\\x65\\x83\\x6c\\x88\\x27\\x9e\\x11\\x87\\xd6\\xb6\\xa5\\x87\\xd6\\x32\\x0c\\x6f\\x8a\\x86\\x1a\\xc9\\xe9\\x47\\x72\\x6f\\x17\\x39\\x0d\\x2d\\x48\\x4e\\xaf\\x45\\x81\\x32\\x2c\\x86\\x50\\x59\\x55\\x36\\x8a\\xad\\x4f\\x50\\x94\\x46\\xa9\\x64\\x90\\x80\\x50\\x63\\xaa\\x4f\\x68\\xf8\\x66\\xa4\\xe3\\xc9\\x05\\x2f\\x95\\x00\\xd2\\xd0\\x6e\\x17\\xb9\\xf5\\x80\\x3f\\x50\\x04\\x00\\x16\\x16\\xff\\xf7\\x76\\x40\\x1d\\x03\\x77\\x74\\x69\\xec\\x54\\x00\\xbf\\x13\\x7e\\x6e\\x1c\\xb5\\xe1\\xf5\\xa9\\xe4\\xa8\\xdd\\x7b\\x7e\\x00\\xbd\\xab\\xc0\\xac\\x6d\\x1f\\xcc\\x04\\x83\\xbf\\xfd\\x67\\xf9\\xf0\\xfb\\xc1\\x94\\xf9\\x37\\x1d\\x03\\xb7\\x11\\x19\\xbc\\x32\\x4e\\x22\\x97\\xa8\\x8b\\x17\\x39\\xfd\\x7a\\x68\\xb0\\xd9\\xac\\x56\\x43\\x54\\xc1\\x2b\\x4c\\x79\\xa6\\x7c\\x42\\x07\\xd5\\x36\\x67\\x6d\\xc2\\x66\\x36\\xf2\\xd5\\x09\\x23\\x50\\x87\\xaa\\x12\\x6a\\x0e\\xba\\x70\\x9f\\x55\\xda\\xe2\\x67\\x9c\\xcb\\x94\\xa0\\xa5\\xc9\\xc6\\xdb\\xeb\\x3a\\xa9\\x44\\x64\\x33\\x09\\x1c\\xf9\\x3f\\xb0\\xc8\\x2c\\x39\\xe0\\xa6\\xa1\\xa1\\x58\\x50\\x14\\x41\\xad\\xc8\\x23\\xa3\\x52\\xfc\\x54\\x3d\\xa7\\xb6\\x55\\x36\\x91\\xcc\\xf8\\xd1\\xbe\\xf1\\xdf\\xbf\\x8f\\x89\\x64\\xbc\\x63\\x3d\\xd9\\x4c\\x32\\xf8\\xbe\\xf3\\x9a\\x30\\x84\\x7a\\x54\\xc4\\x0d\\xf7\\xa3\\x2c\\x37\\x62\\x23\\x94\\x90\\xf2\\x7a\\x15\\x3a\\x1d\\x45\\x20\\x93\\xa8\\xd6\\x19\\xa0\\xc1\\x59\\x95\\x30\\x70\\x14\\xa3\\x60\\xaa\\x13\\x0a\\x27\\x34\\xd5\\x24\\xa0\\x39\\xbb\\x30\\x98\\x61\\x6a\\xb0\\x5e\\xe2\\xea\\x03\\x8e\\xd0\\x01\\xdc\\x40\\x01\\x8a\\xe4\\xa3\\x6b\\x01\\xc9\\x56\\x30\\xb1\\xdc\\x45\\x3d\\x2a\\x7c\\x29\\x34\\x82\\xbc\\x60\\xc3\\xf8\\x28\\x69\\x17\\xde\\x1f\\xd0\\x23\\xef\\x10\\x28\\x7a\\xe9\\xd3\\x9f\\x1b\\x57\\x4f\\xb8\\x7d\\xe8\\x4d\\xe3\\x27\\x6e\\xed\\x3b\\x91\\x3c\\x2c\\x34\\x08\\xfb\\xda\\x34\\x9e\\x38\\x0b\\x14\\x3d\\xa6\\xad\\x1f\\xf2\\x0c\\x28\\xbc\\xff\\xab\\xc6\\xda\\x05\\x3f\\x6c\\x99\\x3c\\x7b\\xe9\\x17\\x9b\\xe6\\xcc\\x92\\xee\\x7c\\x50\\xd6\\x46\\x2f\\x14\\xf9\\xf4\\xda\\xc7\\xbd\\xb4\\x4a\\x45\\x2a\\xd4\\x90\\xd0\\x12\\x3a\\x46\\x51\\x9f\\x60\\x18\\x52\\xa3\\x41\\x1b\\x5b\\x03\\x49\\x64\\x76\\xc8\\x96\\x76\\x8c\\x55\\x92\\x58\\x85\\x5b\\xd7\\x8c\\xd2\\x2f\\x7a\\xa1\\xf0\\xf3\\xb5\\x07\\x0b\\x60\\x61\\xf7\\x46\\xae\\x80\\xbc\\xda\\xab\\xe1\\x48\\x21\\xa6\\x73\\xbe\\x00\\xc6\\x5c\\x00\\xf8\\xa6\\x89\\x24\\xa6\\x20\\x1b\\xf1\\x14\\xb2\\xc7\\x4a\\x14\\xf1\\x75\\x8f\\x87\\xa0\\xd3\\xc9\\x06\\x54\\x0a\\xab\\x55\\xc5\\xc2\\x50\\xd0\\x4e\\xd5\\x27\\x02\\x5a\\xbb\\xdd\\xa8\\x35\\x22\\x9b\\x6c\\x34\\x6a\\x3d\\x28\\xd6\\xa1\\x9a\\x11\\x7f\\xe7\\x67\\x45\\x39\\x12\\x15\\x92\\x1f\\x27\\xd9\\x00\\xdf\\x20\\xc8\\x24\\xad\\x39\\x68\\xf1\\xd0\\x4e\\x90\\xaf\\x18\\xc8\\xa7\\x6f\\xff\\xb4\\xa4\\xb1\\x1d\\xb3\\x4f\\xf8\\xa4\\x0e\\x84\\x2f\\x00\\x3d\\xe8\\xf6\\x21\\x3a\\x67\\xf7\\xfc\\xba\\xba\\x04\\xfe\\x44\\x1e\\x5e\\x31\\x68\\x4e\\xa2\\xed\\x5b\\x1f\\xbc\\x50\\xd0\\x6a\\xfb\\x03\\x70\\xd4\\xd3\\x0f\\x0a\\x2f\\x08\\x3f\\xfd\\x2e\\xcc\\xfb\\x74\\x3b\\xa0\\xef\\xbe\\x7d\\x77\\xf9\\xca\\xfb\\xc3\\xfd\\x13\\x78\\xbd\\xba\\x20\\xd9\\xed\\xf4\\x4e\\x22\\x0f\\xf3\\x51\\x47\\xa2\\x36\\xb5\\x9f\\xa2\\xd4\\x8c\\x2b\\x4a\\xe7\\x23\\xa7\\x52\\xe0\\x44\\xc2\\x46\\x08\\x5e\\xef\\x74\\x12\\x7a\\xd1\\xb1\\x50\\x44\\x28\\x9b\\x73\\x33\\xc5\\x5b\\x2e\\x5e\\xef\\xa6\\x2d\\x03\\x1d\\x90\\x46\\xbb\\xc4\\xdf\\x33\\xa8\\xcb\\x25\\xdc\\xdf\\x0c\\x80\\x30\\x05\\x45\\xc6\\xb6\\x5f\\x58\\xf2\\xea\\xd3\\x93\\x17\\x6c\\x06\\xc4\\xbe\\x4f\\x80\\x32\\x2a\\x5c\\x75\\xde\\x3c\\x6d\\xee\\x86\\x55\\xab\\xdb\\x17\\xb4\\x7f\\xe5\\xe8\\xfa\\xb9\\x8b\\x1e\\xed\\xfc\\xe7\\x38\\xe1\\x8c\\x69\\xe4\\xa1\\x49\\xfb\\x5e\\x75\\x78\\x6f\\x19\\xbb\\xfc\\x95\\xa9\\xaf\\xbe\\xd0\\x61\\xf9\\xb4\\xa9\\x13\\xfb\\xd7\\x7f\\x3b\\x7e\\xd6\\xc0\\x51\\x4b\\x57\\xac\\x7e\\xea\\x1e\\xf1\\x0e\\x12\\xa0\\x3c\\x93\\x15\\xfb\\x87\\x2a\\xe3\\x3e\\x40\\xd3\\x1c\\x47\\xaa\\x79\\xde\\xac\\x36\\x89\\xc4\\xf4\\x40\\x69\\x30\\xa0\\xb7\\x60\\x80\\x4a\\x1d\\x32\\x1c\\xce\\xeb\\x37\\xc0\\x75\\xe4\\xef\\x62\\xad\\x56\\x84\\xe2\\x28\\xcf\\xa0\\x81\\x9f\\x17\\x7a\\xea\\x54\\x9f\\x1b\\xf2\\x3a\\xbb\\xe2\\xdd\\x59\\x60\\x4f\\xf1\\xc1\\x1f\\x7a\\xec\\x2e\\xd3\\x67\\xba\\xfe\\x55\\xf4\\x51\\xb1\\x4e\\xf3\\x09\\xca\\x01\\x2b\\x44\\x3e\\xa3\\x21\\xf1\\x42\\xcc\\x66\\x04\\x14\\x90\\xa4\\x18\\xc6\\x8c\\x76\\x01\\xa9\\xb5\\xda\\x8c\\x26\\x4e\\xcd\\xcd\\x4b\\x30\\x0a\\x35\\x61\\x52\\x60\\x46\\xa3\\xb9\\x09\\x05\\x4b\\xca\\x14\\x40\\x12\\x22\\x87\\x58\\x38\\xca\\x64\\xb0\\x48\\x96\\xd6\\x65\\xb6\\x47\\x4c\\xb4\\xd8\\x12\\xa5\\xd1\\xef\\x82\\x20\\x5c\\x06\\x64\\x8b\\xa4\\x46\\xff\\x7c\\x4a\\x87\\x9b\\x91\\x1a\\x89\\x1c\\xf6\\x4c\\x67\\xe4\\xb7\\xf3\\x89\\xe1\\xf1\\x12\\x0f\\x0c\\x47\\xa3\\x16\\x95\\x95\\xb5\\x5a\\x2c\\x18\\x23\\x98\\x65\\x0b\\x75\\xfc\\xe8\\x84\\x8e\\x89\\xe4\\x20\\x07\\xae\\x62\\x22\\x11\\x82\\x61\\x1c\\x22\\x95\\xbd\\xbf\\x85\\xed\\x50\\x21\\x97\\xc5\\x53\\x95\\x2e\\x3e\\xbd\\x2d\\x7c\\x32\\x95\\x7d\\x0b\\xce\\xbb\\x65\\x5a\\xfb\\xb7\\xc1\\xca\\x7f\\x2e\\xec\\x36\\x64\\x79\\x70\\xcc\\x70\\xbf\\xff\\xea\\xf2\\x67\\x1f\\x4a\\x33\\xdc\\xef\\x10\\xce\\x88\\x0c\\xf7\\x7f\\x83\\x55\\xef\\x4d\\x48\\x24\\x1d\\xf9\\x8b\\x03\\x66\\x2e\\xd9\\x2d\\xfc\\x78\\xe2\\x5f\\x6f\\x48\\x54\\xf7\\x13\\x87\\xe1\\xf3\\xfa\\x28\\xda\\x23\\xff\\x12\\x39\\xd8\\xdd\\x44\\xd7\\x78\\xd0\\x60\\x23\\x69\\x3c\\x87\\x69\\x56\\x3a\\xf5\\x80\\x20\\xf4\\xc8\\xea\\x79\\x28\\xaf\\x8d\\xd4\\x10\\x1a\\xa4\\xb4\\x06\\x93\\xb6\\x12\\x95\\xa5\\x99\\xe6\\x3a\\xb9\\xcd\\xe5\\xce\\x57\\x91\\x72\\x33\\x09\\x31\\x24\\x01\\xd7\\x4b\\xd3\\x8d\\x62\\x9d\\xec\\x51\\xd0\\xfa\\x10\\xf8\\x1d\\xb4\\x6a\\x6c\\xd7\\xc9\\x77\\xfa\\xa1\\xc5\\xbb\\x6e\\xdc\\x5e\\xd1\\xba\\xc4\\xa5\\x8d\\xde\\x10\\xa0\\x57\\x36\\xdc\\x05\\xc7\\x5c\\xdb\\xfc\\xd0\\x2d\\xad\\x6f\\xff\\xd7\\xfa\\xe9\\x83\\xcf\\x1c\\x16\\x6c\\xbd\\x62\\x95\\xc3\\x83\\xb1\\xa9\\xfd\\x7c\\x45\\x72\\xcf\\x18\\x8a\\xa7\\x46\\xa0\\x3d\\x14\\x25\\xba\\xc5\\xc3\\xfe\\x00\\x6d\\x75\\x12\\x9c\\x46\\xa3\\xd5\\x12\\xd6\\x00\\x95\\x97\\x9b\\xe3\\xa9\\x4e\\xe4\\xa0\\xb8\\xc3\\xcf\\x9a\\x90\\x45\\x36\\x71\\x3a\\xa0\\x4d\\xc5\\xbd\\x12\\xf5\\x49\\x66\\xf2\\x84\\x37\\x75\\x6b\\xec\\x3e\\x64\\x92\\x24\\x7f\\x9a\\x3e\\x49\\xae\\xe8\\x61\\x0c\\x1b\\x1c\\x62\\xe5\\xc0\\x02\\x8b\\xc3\\x22\\x22\\xef\\x63\\xce\\x24\\x60\\xab\\x8a\\x48\\xc0\\xfb\\xa1\\x50\\xdf\\xbe\\xcf\\xb4\\x5a\\x02\\x6c\\x8b\\x4a\\x84\\x6b\\xdf\\x9e\\xf9\\x18\\x44\\x3b\\x6d\\x58\\x7e\\xa3\\x6f\\xe5\\x3d\\x0b\\x31\\x85\\x92\\x30\\xe5\\x71\\x0c\\xc2\\x5f\\xf5\\xf0\\xd1\\x40\\x5d\\x15\\x00\\xe4\\xa2\\xc6\\x2d\\xff\\xbe\\x78\\x30\\x99\\x37\\xe1\\x1e\\x27\\x83\\x02\\xf7\\xfe\\x10\\xd1\\xb8\\x97\\xa5\\xb7\\xd2\\x64\\x92\\x57\\x87\\xa0\\x7d\\xf4\\x36\\x7a\\x3f\\x7d\\x8e\\xfe\\x8a\\xbe\\x4a\\x33\\x2b\\x68\\xcc\\x9c\\x8d\\xc1\\x96\\xc5\\x35\\x50\\xa3\\x9f\\x5d\\x2b\\xda\\xf4\\xa2\\xb8\\x05\\xd3\\x0a\\x41\\x2d\\xd4\\x31\\x1a\\xdc\\x40\\x40\\x11\\x84\\x8a\\x84\\x2a\\x5e\\xbc\\xa9\\xcf\\x28\\xb0\\x56\\x88\\xa0\\x85\\x46\\xdc\\x82\\x24\\x57\\x58\\xcb\\xb6\\x4e\\x03\\xd1\\xe9\\x7b\\xf2\\xf7\\xe0\\xea\\xea\\x56\\x58\\x45\\x96\\x36\\xbe\\xf5\\x39\\x2e\\xab\\x4a\\xeb\\x2c\\x71\\xe0\\xef\\x42\\x31\\x51\\x97\\xb8\\x9f\\x30\\x03\\xb5\\x09\\x1a\\x51\\x54\\x0d\\x29\\x33\\x65\\xe1\\x8d\\x46\\x2b\\x30\\x50\\x3c\\xb2\\x1a\\xa3\\x13\\x4a\\x8a\\xa0\\xd0\\xe3\\x62\\xc9\\x9e\\x85\\xac\\xbe\\x16\\x39\\xb3\\x10\\xf9\\xec\\x8d\\x99\\x1b\\x3c\\x93\\xd9\\xfe\\x33\\xd7\\x33\\xf7\\xdf\\x20\\xee\\xe5\\xae\\x86\\x2e\\x59\\x0c\\xf7\\xd4\\xc4\\x5d\\x77\\x48\\x1b\\xf7\\x75\\x99\\xe8\\x9e\\xc8\\xe4\\x5a\\x32\\x13\\x9d\\xe2\\x5e\\x13\\x90\\xe4\\xa2\\xd4\\x66\\x98\\x92\\x8c\\x55\\xea\\xaa\\x13\\x4a\\x40\\x50\\xe6\\xeb\\x24\\x4b\\xe6\\x3c\\xe9\\x86\\x9b\\xe6\\x72\\xc9\\xad\\x37\\xff\\xe3\\x7e\\xec\\xa0\\x24\\x56\\x0f\\xc3\\xe8\\x2c\\x1e\\x25\\x6a\\xdf\\x9d\\x3b\\x25\\xb1\\xb4\\x72\\x2b\\x0e\\xc0\\xc8\\xd4\\xe4\\x3a\\xb1\\xb7\\xa2\\x20\\x6e\\xd6\\x10\\x84\\x16\\xc5\\xf9\\x3a\\x94\\x8a\\x90\\xd5\\x09\\x06\\x42\\x5a\\xca\\xbf\\x32\\xde\\x88\\x8c\\x9f\\x13\\x93\\x4a\\xdd\\xe2\\x4b\\x09\\x2e\\xbc\\x23\\x77\\xf7\\x0a\\x60\\x5f\\x71\\x34\\xf7\\xc8\\x42\\x72\\xc6\\x1b\\xe4\\xf6\\xc6\\x19\\x6f\\x34\\x6e\\x97\\x7a\\x49\\x8e\\x22\\x9d\\x49\\xf4\\xfd\\x2c\\xe6\\xfe\\x51\\x93\\x2a\\x95\\x12\\x92\\x04\\x09\\xf4\\x28\\xf6\\x50\\x2a\\x0d\\xe8\\x00\\x70\\x80\\x22\\x68\\x42\\xcf\\x60\\x12\\x29\\xb5\\x96\\x45\\x46\\x9f\\x54\\x69\\xcd\\x24\\xc0\\xb7\\xda\\x52\\xd3\\x86\\x8c\\x68\\x2d\\xc1\\x79\\x64\\xaf\\x05\\xda\\x1a\\xe1\\x88\\x1f\\xa3\\xe5\\x8a\\xed\\x47\\x20\\x42\\x3f\\x02\\x62\\x79\\x20\\x8f\\x3f\\x9d\\x7b\\xf6\\x3b\\xe1\\x93\\x59\\xc2\\x64\\xe1\\x23\\x72\\x92\\x4a\\x38\\x47\\xad\\x5b\\xf8\\xc6\\xa8\\x01\\xc7\\xaa\\xaf\\x75\\x25\\xdf\\x6b\\x2c\\xa0\\xd4\\xbd\\x16\\x60\\x0c\\x36\\x74\\x26\\x67\\xa2\\xfd\\x58\\x40\\x0c\\x8c\\xe7\\xaa\\xf4\\x6a\\x9d\\x4e\\xab\\x55\\xe7\\x5b\\x60\\xd8\\x03\\x3d\\x9a\\x42\\x4d\\x11\\x6b\\xd5\\x15\\xa8\\xd1\\x41\\x8a\\x3a\\xa3\\xa3\\x13\\xbc\\x93\\xd7\\xe9\\x91\\xed\\xe4\\x53\\x5c\\x1e\\x62\\x66\\x10\\xe3\\x33\\x42\\x3f\\x4c\\xc1\\x54\\x6a\\xc8\\x24\\xc4\\xb0\\x48\\x38\\x5c\\xc8\\x12\\x8a\\x08\\x5d\\x45\\x20\\x92\\xe4\\x74\\x4b\\x92\\x33\\x8b\\x1f\\xa0\\x3e\\x7a\\xcc\\x51\\xd9\\x76\\xcc\\xdd\\xde\\x23\\x20\\x22\\xfc\\x2c\\xbc\\x6b\\xa2\\x3a\\xdc\\x31\\xb3\\x77\\x7d\\x27\\x2b\\xd3\\x63\\xca\\xca\\xaa\\x5d\\x77\\x6a\\x5f\\x06\\x91\\xc7\\xac\\xed\\x3a\\x4c\\xba\\xcd\\xf1\\x08\\xb2\\x36\\xc3\\xd6\\x44\\xcb\\xda\\x3f\\xb5\\x17\\x4e\\xf9\\x67\\xc5\\xfd\\x63\\x86\\x15\\x54\\xd7\\x0c\\xaa\\xca\\xdb\\xb9\\xa3\\xa2\\x12\\xfe\\xd1\\x30\\x6c\\x6e\\x51\\x65\\xfb\\x83\\xeb\\xe0\\x6e\\xb4\\xf6\\x04\\xb2\\x8f\\x98\\xef\\xde\\x8a\\xb2\\x7e\\xa7\\x12\\xd0\\x5a\\x2d\\x8a\\x6f\\xd1\\xfb\\xb5\\x1b\\x6c\\xac\\x69\\x54\\x82\\x75\\x92\\x2a\\x25\\x4f\\x4b\\x56\\x11\\x17\\x2e\\x52\\x08\\xca\\x29\\x15\\xfc\\x40\\x92\\x1e\\x88\\x7d\\x01\\x69\\x0f\\xda\\x06\\x53\\xda\\x1b\\x6c\\x22\\xa3\\xbd\\xb0\\x17\\x13\\xdd\\x3f\\x1b\\x39\\xf2\\x40\\x9f\\x1b\\x0a\\x3b\\xb9\\xe3\\x3d\\x58\\xcc\\x6e\\xbf\\x6e\\x21\\x26\\xb7\\x17\\xd9\\xee\\xcb\\x5f\\xde\\x6d\\xba\\x88\\xbc\\x29\\x91\\xd9\\xef\\xe0\\x22\\xe2\\x71\\x1f\\xb4\\xa5\\x98\\x49\\x6c\\x6a\\x8f\\x1b\\x45\\x2a\\x66\\xb5\\x44\\x05\\xa5\\x63\\xd5\\x66\\x14\\x9b\\x57\\x56\\xca\\x1c\\xf2\\x86\\xeb\\x88\\xe3\\x30\\x86\\xd3\\x7f\\xa2\\x7d\\xd2\\x03\\x48\\x6e\\x3e\\xeb\\x90\\xed\\x5e\\x92\\xf6\\x49\\x34\\x7c\\x4a\\xd5\\x47\\x42\\x1d\\x6c\\x58\\x92\\x2b\\x9a\\x3a\\x99\\xf8\\x09\\x1b\\x3b\\x53\\xd7\\x8a\\x6b\\x8f\\x67\\xf4\\x2b\\xd0\\xbb\\x78\\x05\\x75\\x87\\x98\\x67\\xe1\\x5c\\x78\\x03\\xb2\\x29\\x98\\x83\\x32\\x1e\\xf7\\x87\\x34\\x66\\x37\\x32\\x27\\x11\\xd6\\x60\\x88\\x6a\\xcc\\xc8\\xb3\\xb0\\x04\\x07\\x95\\xf6\\x7a\\x6c\\x52\\x7c\\x19\\x6e\\x34\\xc9\\x32\\x99\\x61\\x58\\xc4\\x80\\x4a\\xce\\x7b\\x7d\\x14\\xca\\x10\\xcb\\x83\\x46\\x3f\\x86\\xd2\\x57\\x90\\x14\\xcc\\x22\\x97\\x27\\x3f\\x94\\xd9\\xfa\\x7f\\x23\\x9a\\x40\\xef\\x70\\x6d\\x1f\\xdd\\xf2\\x18\\xf0\\xe6\\xb9\\xf6\\x6e\\xa3\\xdf\\x17\\x36\\x96\\xa5\\xc8\\xe5\\x4d\\x49\\xe6\\xfe\\x5f\\x3e\\x73\\x0d\\xed\\x04\\xa8\\xf7\\xb6\\x9c\\xc8\\xff\\x43\\x98\\xfb\\x1e\\xf5\\x02\\x46\\x6c\\x38\\x75\\x32\\xc9\\xe4\\x2f\\x73\\x4c\\x2a\\x78\\xb4\\xf6\\x56\\x64\\x89\\x50\\x1e\\x66\\x23\\x3c\\x06\\xc2\\x10\\xa2\\x19\\x26\\x6c\\x76\\x54\\x61\\xfe\\x2d\\x00\\x68\\xbd\\x42\\xef\\x93\\x06\\x5f\\x93\\xf4\\xfd\\x15\\x86\\x58\\x12\\xf2\\x2b\\x1d\\x53\\x31\\x19\\xa2\\x13\\xff\\x89\\xde\\x0a\\xf4\\xec\\xa3\\x9f\\x12\\x03\\x9a\\x3c\\xdf\\x03\\xdb\\x4b\\x84\\x07\\x7f\\xc3\\x37\\xde\\x91\\xa7\\xbe\\xfb\\x4b\\xf8\\xe4\\xdc\\x9c\\xf5\\xbd\\x25\\xaa\\xab\\x7c\\x7e\\x70\\x15\\x92\\xfa\\xc0\\x29\\xe7\\x15\\xe1\\xd2\\xf7\\x6f\\xca\\x9c\\x57\\x4b\\x7f\\xb9\\x49\\xe2\\xbc\\x22\\x26\\x0a\\x75\\xcc\\x1c\\xb4\\xf6\\x46\\xc2\\x83\\x22\\x41\\xbf\\x95\\x74\\xab\\x48\\x95\\x17\\xf0\\xbc\\x8f\\x23\\x47\\x27\\x38\\x85\\x81\\xd2\\xd9\\x31\\xd0\\x82\\x02\\xe5\\x8e\\x0a\\xa3\\xb8\\x65\\xd2\\x8b\\xdf\\x4c\\x6a\\x15\\x08\\xe2\\x5d\\x8c\\x42\\x17\\x8e\\x0f\\xe1\\x39\\xdc\\x70\\x4c\\x05\\x4a\\xcb\\x8d\\x52\\x16\\xc6\\x51\\xbf\\x82\\xb6\\x4d\\x1f\\xf5\\xfc\\x65\\x9a\\xf0\\xbd\\xf0\\xf6\\xeb\\x60\\x21\\xd1\\x34\\xfe\\xcd\\x6e\\xa4\\xb6\\xb7\\x70\\x7b\\xc3\\xfb\\x9d\\xda\\x3e\\xdd\\xae\\xe3\\x9e\\x9f\\x96\\x0b\\x75\\x8a\\x1e\\xd7\\x0e\\x04\\x8b\\x41\\x09\\xe0\\x01\\x05\\x36\\x7f\\x58\\x14\\x1e\\xf0\\xd7\\x19\\x72\\x81\\x1e\\xbe\\xc2\\x1e\\x12\\x3e\\x7e\\x4c\\xd8\\x87\\x64\\xee\\x8f\\xce\\xdd\\x9f\\x28\\xff\\xe2\\xc5\\xb8\\x24\\x60\\xe1\\x5c\\x90\\x83\\x1e\\x56\\xab\\xf5\\xea\\x9d\\x1a\\xae\\x3a\\xa1\\xe1\\xd4\\x28\\xee\\xb2\\x55\\x25\\x18\\x8e\\x30\\xe2\\x82\\x43\\x66\\xdc\\x25\\x15\\x12\\xb3\\xe4\\xa6\\xd3\\x0d\\x06\\xe1\\x18\\x08\\x1a\\x83\\x50\\x11\\x91\\xc4\\xc6\\x59\\x17\\x09\\xdf\\xba\\xbc\\x07\\xb8\\x9e\\x9d\\xf4\\x4c\\x0c\\x6c\\xeb\\x2f\\x7c\\xd8\\xd8\\xf8\\xe2\\x1d\\x07\\x8e\\x54\\xe4\\xdc\\xe2\\xec\\x36\\xf2\\xb6\\x81\\xa6\\x1f\\xcf\\x9e\\x01\\x15\\x47\\x63\\xe1\\x21\\xff\\xa8\\x68\\x4b\\xc3\\x99\\x9e\\xcf\\x33\\xe4\\x39\\xf5\\xca\\x8b\\x1b\\xaf\\x12\\xa9\\x1a\\x82\\x42\\xc4\\x00\\xf7\\x12\\x3d\\xe3\\x21\\xbd\\xd1\\xaa\\x44\\x8e\\xd9\\xe8\\x73\\x42\\xe8\\x37\\x18\\x54\\x16\\x2b\\xca\\xcc\\xad\\x56\\x8b\\x8a\\xb7\\x78\\xeb\\x13\\x16\\xe4\\xa9\\x2d\\xb8\\xbe\\x9b\\x2e\\x12\\x8a\\xa5\\x84\\xac\\x96\\x50\\x5c\\xec\\x94\\xa0\\x2c\\xe0\\xf5\\xe5\\x04\\xa9\\x9a\\xd0\\x94\\x44\\xb4\\x38\\x3e\\x46\\xf8\\xe4\\x92\\x4d\\xae\\x27\\xbc\\xfd\\xcf\\x9d\\x7b\\x57\\x2c\\xf8\\x92\\x5e\\x29\\x42\\x5b\\x08\\x5c\\x46\\x35\\xa1\\xb1\\x56\\x02\\xba\\x90\\x39\\xd0\\x90\\x3f\\xf1\\x10\\x85\\x44\\x4d\\x3c\\x3f\\x5f\\xa1\\x40\\x91\\xaa\\x27\\xa4\\x83\\x6e\\xb7\\xc1\\xc0\\xf3\\x45\\x16\\x67\\x75\\xc2\\x02\\x78\\xa7\\x4e\\xaf\\xf7\\xa8\\xa1\\x3a\\x82\\x92\\x76\\x0b\\xf4\\xa2\\xa4\\x9d\\xcb\\x2a\\xa2\\x61\\x22\\xc7\\x94\\xbd\\xcb\\xe8\\xa2\\x6f\\x56\\x7b\\xc7\\x43\\x94\\x29\\x37\\xcb\\x02\\x6b\\x56\\xa9\\x16\\xfc\\xd8\\xfb\\xfe\\x59\\xa9\\x6a\\x2d\\xd4\\x8c\\x41\\x91\\x7a\\xcc\\xfd\\xc4\\xe1\\xaa\\x71\\xd1\\xee\\xbe\\x79\\xae\\xfc\\x9f\\xa5\\x5a\\xed\\xc4\\x79\\x5d\\xfb\\xc3\\xed\\x13\\x6f\\x48\\x56\\x6b\\xdd\\x9d\\x05\\xa8\\xe8\\xb1\\xe7\\x36\\xd3\\x1b\\xec\\xe6\\xcf\\x15\\x52\\xb1\\x76\\x15\\x70\\x4c\\xbb\\x71\\x8a\\x58\\xab\\x15\\x9e\\xa0\\x3b\\xd1\\xab\\x08\\x8e\\xb0\\x13\\x83\\x50\\xb6\\xa1\\x25\\x38\\xc6\\x66\\x47\\xd6\\x01\\xd9\\x6d\\x16\\x68\\x71\\xc0\\xc0\\x69\\xa1\\xd3\\xc1\\x92\\x76\\x12\\x05\\xee\\xb6\\xfa\\x84\\x9d\\xb1\\x33\\x14\\x0d\\xc5\\x68\\xe6\\x8c\\x74\\xd1\\x90\\x2f\\x4f\\x0a\\x58\\x53\\x64\\x10\\xb1\\xd4\\x55\\x35\\x3e\\x04\\x22\\x0e\\x56\\xa9\\x18\\xe8\\x32\\xe8\\x04\\x48\\xb5\\x5c\\x08\\x5f\\x16\\x5e\\x6b\\xe8\\x29\\x7c\\x0c\\x58\\xe0\\xf6\\x03\\xeb\\xdd\\xdf\\xce\\xfb\\xf8\\x49\\x30\\xaa\\xf1\\x9b\\xed\\x3b\\x97\\xcf\\x16\\x7e\\xae\\x11\\x9e\\x20\\x1f\\x16\\xee\\xa0\\x57\\x3d\\x3c\\xe6\\xf1\\xc5\\x87\\x2e\\xba\\x1a\\xbd\\x70\\xd7\\xdc\\xa9\\xc3\\xc7\\x0a\\xa3\\x44\\xbb\\xde\\x0e\\xe5\\x9f\\x55\\xe8\\x9c\\xe6\\xa1\\xb8\\x2b\\x10\\xce\\xc9\\x51\\x9a\\xd0\\x1b\\xf0\\x7a\\x51\\x1e\\x5f\\x90\\xaf\\xd4\\x85\\xbd\\x54\\xd4\\x10\\x0d\\xd4\\x27\\xa2\\x46\\x83\\x7a\\x74\\xc2\\x40\\x65\\x56\\x0a\\xb3\\x50\\x47\\x62\\x72\\x99\\x27\\x5c\\x9e\\x0c\\x70\\xc3\\x6d\\x42\\x62\\xd9\\x59\\x0f\\x93\\xa8\\x70\\x52\\x99\\x2d\\xd4\\xee\\x53\\x40\\xed\\x7c\\x6e\\x79\\x97\\x9f\\x96\\xdd\\x11\\x15\\xbe\\xaf\\x02\\x01\\x00\\x50\\xfa\\x5c\\x54\\x3d\\x6b\\xf7\\x81\\xc4\\xc1\\x65\\xfd\\x36\\xae\\xdd\\xf9\\x54\\x0c\\xf8\\x0f\\x34\\x7e\\x26\\x08\\xdf\\x81\\xc4\\xd3\\x5f\\x94\\xfb\\xa2\\xe5\\x55\\x1d\\xb7\\x0d\\x1f\\x16\\x79\\xf1\\xee\\xc7\\xef\\x1e\\xb2\\x62\\x64\\xd7\\x58\\xc8\\x1c\\x69\\x53\\xdd\\x71\\x78\\xff\\x71\\x33\\x4b\\x85\\x15\\x2f\\x26\\x71\\x54\\xda\\x50\\x55\\x44\\x04\\x5b\\x7a\\x7f\\x20\\xa0\\x34\\xeb\\x59\\xd6\\x85\\xa2\\xa0\\xdc\\xa8\\x52\\xef\\x77\\x51\\x61\\x3e\\xec\\xa9\\x49\\x84\\x2d\\xbc\\xa6\\x26\\xc1\\x73\\x2d\\xa8\\x91\\xa9\\x05\\x9e\\x9d\\x4b\\x61\\xa2\\xa4\\x90\\x5a\\x91\\x91\\x05\\x52\\xb5\\x50\\x22\\xde\\x0d\\x0e\\xff\\xd7\\x5b\\x4b\\x47\\x27\\x86\\x0d\\x1d\\x3f\\xc5\\xfe\\x7b\\xd9\\xdf\\x6f\\x9e\\x7e\\x6f\\xec\\xd3\\xc2\\x6f\\x73\\xa7\\xbe\\x3a\\x75\\x55\\xee\\xd5\\xca\\x3f\\xbf\\x79\\xe7\\x0a\\xd0\\x4f\\xdf\\x3e\\x22\\xd7\\x66\\xac\\x68\\xd5\\xa9\\x28\\xde\\xd5\\x71\\xeb\\xad\\x3b\\x76\\x8c\\xdd\\x30\\xb4\\x9d\\xbd\\x7b\\xeb\\x99\\xf1\\xfe\\xe1\\x7d\\x6b\\xf6\\x88\\x7e\\xab\\xe9\\x1d\\x14\\x6b\\x7d\\x82\\xeb\\x83\\x70\\xb0\\x78\\xb6\\x6f\\x17\\xea\\xc8\\xd7\\xc5\\x3b\\x8d\\x28\\x51\\x12\\xb7\\x07\\x15\\xc8\\x71\\x11\\x84\\x99\\x53\\xa0\\x8c\\xc3\\x88\\x02\\x4d\\xa3\\xd3\\xe7\\x70\\xe4\\x40\\x80\\x29\\xb2\\x44\\x88\\xcd\\xcc\\x92\\xa0\\xb1\\x75\\x9b\\x34\\x15\\x37\\x16\\x96\\x51\\x04\\x7d\\x38\\x6c\\xc1\\x47\\x23\\x93\\x8c\\xe0\\xf6\\x6d\\xab\\x6f\\xd9\\xa1\\xfb\\x96\\x1e\\xc5\\xd7\\xf0\\xb9\\x3d\\x67\\x0b\\x57\\x34\\x97\\x23\\x6d\\xfa\\x8d\\x5f\\x5d\\x9a\\x97\\x57\\x8a\\x7f\\x51\\x3f\\xcc\\x98\\xb5\\x65\\x69\\xa7\\xce\\xd7\\x16\\x59\\x9d\\xc3\\x94\\xd4\\x79\\xc3\\xc5\\x68\\x7b\\xea\\xa0\\x66\\xf4\\x58\\xe9\\x7f\\x97\\x4a\\xb1\\x31\\x25\\x0c\\x16\\x7b\\x21\\x82\\xd8\\x0a\\x29\\xdc\\xbc\\xc5\\xc2\\x6a\\xdc\\x1a\\x63\\xd0\\x18\\x0e\\xfa\\x51\\x2c\\xea\\x77\\x99\\x75\\x7a\\x1d\\xe6\\x31\\xd4\\xb3\\x0a\\x67\\x4d\\x42\\x21\\xdb\\xcc\\x33\\x29\\xb2\\x60\\x64\\x86\\x62\\x19\\x4c\\xe3\\xad\\x4a\\xac\\x52\\x0e\\x2a\\xb1\\xd2\\x5c\\x47\\xa8\\x26\\x85\\x33\\xf9\\xdd\\x73\\x5a\\xf7\\xe7\\x74\\x43\\x27\\x5c\\xc7\\xac\\xd6\\xce\\xf5\\xc4\\xde\\xaa\\x41\\x6f\\xb1\\x1d\\x6a\\xba\\xeb\\xa7\\x8d\\x6e\\x46\\xb1\\x26\\x9c\\xd9\\xba\\xdf\\x24\\xc9\\xdd\\x5d\\xee\\x27\\xe1\\x88\\x56\\x71\\x2b\\xa3\\xc5\\xfc\\x59\\x1c\\x72\\x2f\\x6a\\x35\\x0b\\x79\\x80\\x82\\xd9\\xfa\\x04\\x0b\\x33\\x5a\\x47\\x32\\x42\\x45\\x1c\\x5e\\x89\\x16\\x32\\x7d\\x07\\x46\\xf7\\x14\\xfa\\x5c\\x14\\x3e\\xbe\\xf8\\xc4\\x6d\\xa2\\x41\\x84\\x47\\xa9\\x7d\\xd7\\xc6\\x52\\xfb\\xd6\\x94\\x76\\x30\\x04\\x3b\\xbf\\xf2\\x8c\\xcc\\x45\\x07\\xab\\xc4\\x3b\\xc9\\x4e\\x71\\x9f\\xc5\\xe1\\x50\\xa1\\x8c\\x8b\\x0d\\xb2\\x21\\x1d\\x5f\\x95\\xd0\\x01\\x1b\\xa3\\x64\\x90\\x27\\x57\\xb2\\x84\\x27\\xed\\x57\\x92\\x4b\\x94\\x7a\\x76\\xda\\xa9\\x94\\x67\\xf0\\x28\\x8b\\x16\\xae\\x45\\xca\\xb9\\xdb\\x8c\\x69\\xab\\xa6\\x6e\\x81\\x7b\\x6e\\x2c\\x32\\x66\\x2f\\xb2\\x9b\\x3b\\x65\\x32\\xd0\\x61\\x59\\xe5\\xbe\\x1f\\x74\\x78\\x8a\\xe3\\x36\\xc0\\xf1\\x9c\\x12\\x9a\\x2c\\x26\\x2b\\xc1\\x1b\\xf9\\xfa\\x84\\x11\\x6a\\x14\\xf5\\x28\\x2b\\x4f\\x97\\x1d\\x53\\x29\\x79\\x3a\\x76\\xc6\\x9b\\x4e\\x0e\\x96\\xc5\\xae\\x9a\\x9f\\x99\\xc2\\x52\\x57\\x8f\\xfc\\xfa\\x3e\\x5b\\x36\\xe9\\x7f\\x4a\\xb6\\xd5\\x5c\\xab\\x08\\xba\\x4a\\x0a\\x75\\x9f\\x99\\x96\\xae\\xe9\\x56\\x49\\xbd\\x20\\xf5\\xd6\\xcc\\x47\\x31\\xdb\\x72\\xf4\\x6c\\x1f\\x51\\x11\\x77\\x72\\x14\\xed\\xb1\\xd2\\x56\\xbf\\x5a\\xab\\x0d\\x70\\x0a\\x85\\xda\\xa4\\xa1\\x1c\\xd0\\x44\\x60\\x38\\xc2\\x24\\x45\\xb1\\xf4\\x52\\xb2\\x43\\xb5\\xb0\\x34\\xd0\\x91\\x0e\\x75\\x50\\xea\\xe2\\xf7\\x85\\xd2\\xb1\\x3b\\xf9\\xf0\\xa1\\xa3\\x81\\xfb\\x41\\x64\\xf8\\x92\\xcd\\x7a\\x31\\x3c\\x0b\\x5e\\x3e\\xd7\\xba\\x5c\\x78\\x5c\\xf8\\x54\\xf8\\x4b\\xf8\\xd2\\x7a\\x1b\\x88\\xdc\\xc1\\xdf\\x7a\\xfe\\xf6\\x47\\xe0\\x38\\x21\\xca\\x4d\\x1d\\x82\\xe2\\x9c\\x87\\xcf\\x9a\\x85\\x3f\\x84\\x4b\\xc2\\x6f\\x3f\\x7c\\x94\\x98\\x0d\\x15\\x0d\\x1f\\xd4\\x0d\\x9e\\x38\\x53\\xe6\\xeb\\x53\\x74\\xa3\\xda\\xa1\\x93\\xda\\x3b\\x1e\\xb2\\xa8\\xd4\\x30\\xa4\\x0e\\xe5\\xa2\\x08\\x33\\xcf\\xa2\\xd1\\xb0\\x51\\x8f\\xc7\\xc1\\xa9\\xa2\\xac\\x1f\\xc5\\xc6\\x7e\\x8b\\xc3\\x5d\\x93\\x70\\x98\\xd3\\x41\\x26\\x16\\xbe\\xb8\\x25\\xf9\\x33\\x29\\xf9\\x92\\x4a\\xe0\\x7b\\xb0\\x96\\xd9\\xf9\\x1e\\xb4\\xcc\\x03\\x8e\\xa1\\xeb\\x36\\xb2\\xcb\\x71\\xc8\\xe6\\x98\\xff\\xf0\\xd6\\x40\\x0e\\x2b\\x52\\xf5\\x25\\xf9\\x52\\x65\\xaa\\xbe\\x83\\xf3\\xc9\\x91\\x42\\x99\\x7a\\xec\\x50\\xa4\\xcf\\xaa\\x83\\x83\\x95\\xc7\\x4f\\xcf\\x4c\\x93\\xa7\\x62\\xd6\\x3e\\xac\\xcf\\x98\\xa6\\xef\\x15\\xb7\\xd0\\x2b\\x50\\xc4\\xdc\\x2d\\x1e\\xd6\\x3a\\x18\\x1f\\x15\\xe4\\x38\\xca\\x1a\\xa4\\xd4\\x41\\xe8\\x8a\\xb8\\xa2\\x3e\\xc6\\x03\\xd5\\xb8\\x88\\xeb\\xd4\\x40\\xc2\\x98\\x8e\\x9a\\xf1\\x66\\xb5\\x66\\x36\\x57\\x49\\xa5\\x19\\x14\\x35\\x23\\x59\\x89\\xb0\\x22\\x28\\xd6\\x94\\xc8\\x34\\x74\\x4a\\x04\\x5f\\xa4\\x06\\x22\\x16\\x1e\\x03\\x5b\\x90\\xa7\\x1e\\x12\\x7e\\xdc\\x09\\x18\\xe0\\x9a\\xd5\\x49\\xf8\\xb5\\x80\\x5c\\xd2\\xe1\\xb5\\x0f\\x8e\\xde\\xbb\\xe9\\x93\\x05\\x73\\x56\\x76\\x20\\x57\\x17\\x08\\xbf\\xb7\\x5f\\x7a\\xc7\\x91\\xd7\\x85\\x2d\\x96\\x9b\\x7f\\xdc\\xf9\\x3d\\xa8\\x5d\\xa2\\xb9\\x20\\x9c\\x1d\\x2a\\xfc\\x78\\xec\\xe8\\x89\\xc5\\x9f\\xae\\xdf\\xfe\\x52\\x4f\\x50\\x76\\x41\\x33\\x40\\xb8\\x7a\\xcf\\x3b\\xc2\\x0b\\xc7\\x24\\x3d\\x16\\x21\\xbf\\x76\\x92\\xbe\\x0d\\xed\\xa3\\xc2\\xb8\\xcd\\xe0\\x52\\xd2\\xb4\\xc5\\x05\\x03\\x7e\\x3b\\x0a\\x37\\xed\\x94\\x02\\x12\\xda\\xb4\\xe8\\x19\\x06\\x34\\x75\\xbc\\x64\\x04\\xe6\\x4e\\x80\\x97\\xe0\\xba\\xcb\\x25\\xa3\\xaa\\x06\\x14\\x39\\xf6\\x07\\x81\\x7b\\x10\\x44\\xee\\xd3\\xbd\\xb7\\xe0\\xd8\\xea\\xb1\\x5d\\xfa\\x14\\x76\\xcb\\x1b\\xb9\\x65\\xc3\\xe6\\xed\\x9f\\x0a\\x1f\\x98\\xde\\x7a\\xae\\x67\\x35\\x9c\\xd9\\x70\\x38\\x5e\\xfe\\xf9\\xec\\x3f\\xc1\\x86\\xea\\x7e\\x55\\x68\\x7b\\xef\\xdd\\xbd\\x5d\\x50\\x0a\\xa7\\x0e\\x89\\x72\\x3d\\x88\\xe2\\xb6\\xe9\\xc8\\xdf\\xf2\\x44\\xdb\\xb8\\x8b\\x00\\x3c\\x49\\xd3\\x14\\x05\\x01\\xd4\\x18\\x35\\x26\\x95\\x7e\\x54\\x42\\x45\\xf1\\x34\\x80\\x10\\x48\\x15\\x95\\x8a\\x8c\\xd3\\x6f\\x48\\x5a\\x80\\x5c\\x20\\x12\\xf8\\x65\\x94\\x11\\x00\\xf9\\x9e\\xf0\\xc9\\x4d\\xc2\\x16\\x10\\x02\\x10\\xf4\\xe9\\xb5\\x6b\\xe8\\xc1\\xb9\\xdb\\x2b\\xba\\xe6\\x74\\xf0\\x0b\\x13\\xc8\\x2e\\xb0\\xb2\\xf1\\x5e\\xf0\\xe8\\xa8\\xfa\\x95\\xa7\\x3a\\xe5\\xe6\\x37\\x36\\x48\\x7c\\x7e\\x0a\\xcc\\xf3\\x1e\\x41\\x67\\xcc\\x1d\\x52\\x19\\x35\\x6a\\xa3\\xda\\x4d\\xba\\x73\\xc9\\xa8\\xc3\\x57\\x9d\\x70\\x00\\x23\\xa1\\x66\\x25\\x42\\x3f\\x22\\x5d\\xc9\\xca\\x2c\\xce\\xa6\\xd9\\xfb\\xd0\\xf6\\xc4\\x84\\x8c\\xb4\\xb5\\xdc\\x08\\x3a\\x91\\x22\\xfd\\x84\\x24\\x51\\x92\\xc8\\xaf\\x6c\\x70\\xdf\\x9e\\x98\\xc8\\x0f\\x30\\xc8\\xc4\\x51\\xc0\\xb0\\x00\\x8c\\x6f\\x33\\x76\\x79\\x4d\\xf7\\x8d\\xa5\\x6b\\x4a\\xcb\\x0a\\x3a\\x7a\\x1b\\x13\\x49\\x5e\\xbf\\xe8\\xc0\\x85\\x98\\xd7\\x4f\\xd3\\xba\\x6b\\x9f\\xae\\xad\\x35\\x61\\xa2\\x89\\x3c\\x38\\x79\\x52\\xdb\\x48\\xf0\\x74\\xa8\\x75\\x9b\\x6b\\x55\\x49\\x8e\\x3f\\xb1\\x67\\x45\\xac\\x1d\\x56\\xc7\\x0b\\x94\\x5a\\x46\\x0d\\x38\\x68\\x50\\xd2\\x1a\\xbd\\xde\\x88\\x96\\x92\\x67\\xb5\\x18\\xc3\\x0d\\x28\\x55\\x4a\\x94\\x64\\xa8\\x54\\xb4\\x0e\\xed\\x39\\x1a\\x05\\x5c\\x34\\xdf\\xbc\\x0f\\x30\\x13\\x7c\\x54\\xc2\\x7c\\x06\\x62\\x78\\x25\\xb2\\xfa\\xc9\\xcc\\x7e\\xd4\\xfd\\x42\\x6b\\x61\\x29\\xd4\\x17\\x5e\\xdb\\x15\\x05\\xb7\\x0b\\xaf\\xe4\\x80\\x73\\xa0\\x4f\\xe3\\xe4\\x42\\xf8\\xef\\xa8\\xb0\\x0f\\xb4\\x21\\x97\\x08\\x53\\x2e\\xbd\\x03\\x8e\\xbe\\x0c\\x12\\x97\\xde\\x14\\x36\\x8b\\xf2\\x7d\\x8e\\x7c\\x39\\x40\\xf6\\xc0\\x80\\xa2\\xc0\\x22\\xc8\\x90\\xb4\\x5e\\xc3\\x69\\x95\\x84\\x02\\xc5\\xe6\\x2c\\x41\\xf0\\x6a\\xb4\\x0a\\xd5\\x09\\x3d\\x84\\x1a\\x1d\\x05\\xf4\\x14\\x45\\x11\\x4a\\x16\\xb0\\x04\\x8b\\xe9\\x07\\xb3\\xe9\\x92\\xb2\\xa6\\x63\\x53\\x32\\x06\\x71\\x37\\xa0\\x38\\xd6\\x8f\\x6d\\x3e\\xa6\\xde\\x09\\xe6\\xfc\\xf4\\x74\\x0e\\x18\\xf8\\x8d\\xe0\\x8b\\xc2\\xdc\\xc8\\x85\\xd7\\x72\\x84\\xbb\\x2f\\x93\\xe5\\xd1\\x57\\xfe\\x7a\\xf9\\x87\\xb3\\xaf\\xfd\\xf8\\xf2\\xaf\\x6f\\x4a\\xf5\\x9c\\x43\\xc2\\x60\\xb1\\x2e\\xef\\xc6\\x7e\\x5a\\xeb\\xb0\\x72\\x46\\xce\\x01\\x21\\x6f\\x36\\x7b\\x29\\x08\\x3d\\x16\\xa3\\x09\\x9d\\x65\\x2b\\xc5\\x71\\x84\\x09\\x12\\x4a\\x74\\x36\\x5c\\xa9\\x8e\\x82\\x8a\\xeb\\xc4\\x90\\xbd\\xa0\\x78\\x6b\\x4d\\xca\\xc7\\x19\\x53\\xc7\\x89\\x8b\\x86\\xa3\\x53\\x92\\x02\\x8f\\xbd\\x2b\\x34\\xb4\\x03\\x74\\xb4\\xcf\\xc4\\xfe\\x63\\x0f\\x8d\\xba\\xef\\x89\\x15\\x05\\xe0\\xfb\\xc6\\x21\\x85\\x94\\x23\\xda\\xf8\\xe9\\xeb\\xef\\x3f\\x24\\xbc\\x26\\x0c\\xfe\\xd7\\x23\\xd3\\xc7\\x0e\\x2d\\x98\\xf5\\xdc\\xd8\\x03\\x77\\x5e\\x02\\xf7\\xa1\\x15\\x2c\\xb4\\x5e\\x3e\\xfd\\xae\\x70\\xea\\x61\\x2c\\xef\\x3f\\x48\\xde\\xb8\\xd8\\xcb\\xd2\\x2f\\x1e\\xb5\\xda\\x18\\x9d\\x56\\xa9\\xd4\\xd9\\x20\\x4a\\x0d\\x5c\\x3c\\x84\\x4e\\xa5\\x16\\x83\\xd1\\x32\\xec\\xe8\\x84\\x95\\x61\\x08\\x15\\x14\\xfb\\xe5\\x33\\x64\\xce\\xcf\\xc2\\x96\\xcd\\xb8\\x30\\x0d\\x10\\x38\\x25\\x2b\\xc7\\x53\\xc4\\xfe\\xf4\\x3d\\x88\\x78\\x0d\\xc2\\xfc\\x26\\x5c\\xbc\\x1b\\x84\\x9f\\x14\\xd6\\x46\\x29\\x47\\x61\\xe3\\x60\\xd0\\xb3\\x60\\xc5\\xa5\\xc6\\x75\\xab\\x3e\\xbe\\xf9\\xf2\\x54\\xe1\\x63\\x61\\x30\\xb0\\x5e\\xfd\\x17\\x70\\x1d\\xd5\\x81\\xf3\\x6f\\x5e\\x12\\x12\\x97\\xbe\\x3a\\x77\\xcb\\x6d\\xbf\\xcf\\x7c\\x56\\xb2\\x37\\x4d\\x1f\\xa0\\xfc\\x66\\x0a\\x7a\\xef\\x4e\\x2c\\x2f\\xa4\\xf4\\x26\\x23\\xcb\\x9a\\x28\\x68\\xd0\\x18\\xdc\\x76\\x8d\\xc6\\xc5\\x1a\\x39\\x23\\x7a\\xef\\x96\\xda\\x04\\xd4\\xeb\\x19\\x8e\\xc5\\x6c\\x6c\\x8c\\xf3\\x7f\\x97\\x97\\xc6\\x41\\x33\\xae\\x08\\xe3\\x70\\x88\\x08\\x67\\x89\\x0d\\x5e\\x9a\\xbe\\xd6\\x0c\\xf4\\x85\\xc2\\xd7\\x1f\\xdd\\xfa\\xc9\\x1c\\xa0\\x06\\xa4\\xf0\\x79\\x0e\\x5c\\x1b\\x6d\\x3c\\x0b\\x34\\xe1\\x09\\x9f\\x3f\\x3f\\xe3\\xfb\\x09\\x63\\x75\\x8f\\x9d\\x99\\xfc\\xfc\\xd2\\xaf\\x80\\xc6\\x07\\x66\\xbc\\x74\\x56\\xb8\\xf7\\x99\\xfd\\x87\\x67\\xad\\xc3\\xf2\\xee\\x17\\x06\\x50\\x41\\x24\\x6f\\x21\\xd1\\x37\\x9e\\xc3\\x7a\\x0a\\x09\\xa7\\xc9\\x6a\\x22\\x3c\\x14\\x6d\\xb1\\xdb\\x8b\\x23\\x34\\x5d\\xe4\\xb0\\xda\\xac\\xd5\\x09\\x67\\xa1\\xc9\\x44\\xda\\x58\\x32\\xaf\\x4a\\x24\\xa5\\xf8\\x6f\\x3b\\x42\\x14\\x57\\xba\\x46\\xef\\x04\\xc5\\x2c\\xa0\\x08\\x64\\xed\\x0a\\xec\\xc3\\xe4\\x34\\xac\\x1c\\x2e\\xdd\\x28\\x0c\\x3f\\xfd\\x43\\x28\\x3e\\x62\\xde\\xc1\\x9d\\xa3\\x5a\\xb7\\x99\\xb5\\x6e\\x82\\x0b\\x8c\\x6b\\xbc\\x18\\x85\\x6b\\x7d\\xc2\\xb4\\x07\\x8f\\x94\\x8e\\xba\\xeb\\xd9\\x03\\x75\\xad\\xc6\\x0c\\x1b\\xb3\\xc9\\x35\\x59\\x78\\x62\\xf7\\xca\\x4e\\x23\\x7b\\xb5\\x89\\x46\\x82\\x91\\x58\\x38\\x14\\x35\\x6c\\x03\\x86\\xb3\\xf7\\x0a\\x1f\\x53\\xf3\\xa6\\xf5\\x9c\\x5a\\xdb\\xb9\\x20\\x1c\\x2a\\x09\\xb4\\x29\\x1f\\x3e\\x04\\xeb\\xf5\\x15\\x3a\\x7f\\x5b\\x91\\x7d\\xf5\\x11\\xf5\\xf1\\x56\\x7a\\x8d\\x81\\x31\\x78\\x81\\x9b\\xb2\\x58\\xb5\\x56\\xda\\x4d\\xf9\\x18\\x5f\\x80\\x62\\xd0\\x0a\\x22\\x2b\\x31\\x3a\\xe1\\xb5\\x38\\x74\\x3a\\xc6\\xe1\\x40\\x3b\\xdf\\x41\\x31\\x14\\xda\\x4e\\x7c\\xb3\\x8b\\x94\\xd8\\xf5\\x6f\\x25\\x7d\\xf5\\x03\\x44\\xfa\\x31\\x06\\xd3\\x93\\xe1\\xf3\\x88\\x4f\\x81\\x9c\\xf6\\x48\\xf1\\x77\\x8c\\x9a\\x2e\\x2c\\x9f\\xf3\\x7e\\x7f\\x72\\x4b\\x41\\x43\\x24\\x5c\\x7e\\x64\\xa3\\x70\\x39\\x0c\\x1a\\x26\\x8c\\xbc\\x67\\xc8\\x54\\xa7\\xf0\\xef\\x32\\x40\\xbc\\xfa\\xee\\xe7\\x1b\\x9e\\x24\\x3b\\x56\\xdf\\x3a\\xe7\\xd2\\x4b\\xf5\\x8f\\x4d\\x78\\x6e\\xc0\\xb6\\xfe\\x5b\\x87\\x8c\\x6a\\xff\\xe8\\x91\\x87\\x8f\\x1e\\xbb\\x15\\xfb\\x0a\\x5a\\xec\\xbb\\xc1\\x67\\xa0\\x7f\\x3c\\x8a\\x02\\x7a\\x3b\\x65\\x73\\xd8\\x50\\xd2\\x08\\x74\\xc0\\xa5\\xd7\\x51\\x36\\x7c\\x1f\\x48\\xa9\\x09\\xb5\\xa1\\x3e\\xa1\\x36\\x42\\x07\\xe1\\x40\\x67\\x20\\xbb\\x8b\\xcb\\x86\\x76\\x16\\x8a\\xb0\\x9b\\x6d\\x2a\\xec\\x79\\x19\\x24\\xa3\\x08\\x6d\\x26\\x77\\x9e\\x88\\x47\\xd8\\x18\\x3c\\x0f\\xdf\\x2f\\x68\\xfc\\xad\\xf5\\xcf\\xbf\\x08\\xaf\\x08\\x57\\x4f\\xff\\xe4\\x04\\x56\\xd5\\xd4\\xe1\\x0b\\x36\\xef\\x78\\xe1\\xe0\\xe8\\x13\\xf4\\xca\\x0b\\x3f\\x9d\\x79\\x56\\xf8\\x5b\\x78\\xf5\\xa1\\x03\\x1d\\x07\\x0d\\xbd\\x7d\\xe5\\xfa\\xc9\\xe0\\x55\\x2c\\x27\\x6c\\xba\\x02\\xff\\x12\\xf7\\x7e\\x9f\\x78\\xd4\\xcc\\x40\\x07\\x65\\x67\\xf5\\x7a\\xa7\\xdd\\xc1\\x00\\x85\\xdb\\x45\\xd9\\x6b\\x12\\x2c\\x45\\xe1\\xdb\\x9c\\xaa\\x84\\xc6\\x02\\x9d\\x04\\x4a\\xf5\\x09\\xf6\\x3a\\x39\\x9b\\x5d\\xc1\\x26\\x85\\x34\\x49\\x0c\\x09\\x59\\x52\\x1e\\x84\\x83\\xa2\\x42\\x8f\\x92\\x0b\\x9f\\x2f\\xfc\\xfa\\xee\\x27\\xbf\\xe4\\x81\\x5a\\x5d\\x37\\x72\\xd8\\xf4\\x9b\\x36\\xbe\\x3d\\xe8\\x20\\xd5\\xee\\xec\\xc9\\xdd\\xf7\\xce\\x7a\\x62\\xd2\\xfe\\xed\\xc5\\xb5\\x03\\xc6\\xd4\\x0e\\xee\\x0d\\xc4\\x38\\xad\\x18\\xad\\xa5\\x05\\xe5\\x29\\x51\\x7c\\x43\\xec\\x35\\x62\\x1a\\xe0\\x1c\\x87\\xdd\\x0e\\x72\\x18\\x23\\x9d\\x97\\xeb\\xb0\\x90\\x98\\x01\\xdb\\x62\\x51\\x01\\x12\\x54\\x25\\x90\\x31\\x40\\xf2\\xa5\\x72\\x94\\xac\\x36\\xb8\\xa4\\x78\\xa9\\xcc\\x44\\x21\\x71\\x56\\xa3\\x9d\\x9d\\x66\\xb6\\x16\\xa1\\x35\\xf1\\x75\\xf1\\xbb\\x1b\\xc2\\xbb\\x37\\x3c\\xdc\\xea\\xeb\\xf0\\xd7\\x7c\\xb0\\xeb\\xea\\xed\\xcb\\x7b\\x08\\xdf\\xfe\\xf6\\xc1\\x37\\x5e\\xc1\\x34\\x79\\xc6\\x2f\\x37\\x8c\\x3c\\xb3\\xa5\\xb7\\x0a\\x2e\\xc1\\x09\\x4a\\xad\\xd1\\x1b\\x75\\xfb\\x02\\xbd\\x67\\xd5\\x1d\\x7a\\xeb\\x96\\xdd\\xe1\\xfe\\xf1\\xf5\\x85\\xed\\x4d\\x79\\xbd\\xa6\\x0e\\x08\\x17\\x4a\\xbd\\x01\\x97\\x90\\x7d\\x79\\x91\\xaa\\x41\\xeb\\x66\\xc3\\x37\\xab\\x9c\\x5a\\xed\\x60\\x75\\x16\\x33\\xa4\\x00\\xd0\\xa3\\x4c\\xd7\\xae\\xb3\\x58\\x20\\xc1\\x3a\\x19\\x5e\\xac\\x4e\\xb1\\x44\\x65\\xea\\x16\\x22\\x96\\x55\\x2e\\x91\\xf2\\x97\\x54\\xc9\\x95\\x23\\x68\\x74\\x1c\\xa4\\x6a\\x6c\\x88\\x00\\x1a\\xa0\\xa2\\x38\\xaa\\xdb\\x53\\xb3\\xee\\x3e\\x2e\\x74\\x14\\xf2\\xf2\\x84\\xcb\\xf0\\x89\\x87\\x67\\xdc\\xe5\\x9a\\x05\\x82\\x20\\x4a\\xb5\\xeb\\x34\\x61\\xd8\\xa8\\x47\\xee\\x17\\x9e\\x12\\xc2\\xf7\\x7e\\x4e\\xad\\x79\\xe4\\xf8\\xe6\\xc6\\xa7\\x57\\x01\\x09\\xc7\\xf4\\x20\\xfa\\xed\\x0e\\x91\\xbb\\xcd\\x12\\x57\\x49\\x83\\xeb\\x04\\x6e\\x4b\\x4b\\xf1\\xa1\\x62\\x19\\x0e\\xfe\\x41\\xbf\\xf1\\x4f\\x6b\\x31\\xc7\\x3d\\x4e\\x10\\xb0\\xbf\\xcc\\xf5\\xe6\\x8b\\xeb\\x21\\x41\\x31\\x04\\xa3\\xc4\\x74\\x5d\\x14\\xfe\\xb1\\xd2\\xca\\x58\\x06\\xbf\\x5e\\xf2\\x02\\xed\\xf8\\xd5\\xe7\\xae\\xe2\\x6f\\x10\\xbf\\x05\\xe0\\x09\\x2d\\x6a\\x18\\xfa\\x0e\\x23\\x51\\x1b\\xcf\\x53\\xd3\\x4a\\x4a\\xab\\x35\\x00\\x1d\\x72\\xb3\\x3a\\x1a\\xa2\\x03\\x68\\x24\\x8c\\xa3\\x13\\x14\\xa1\\x61\\x39\\xe4\\x26\\x94\\x1c\\x4a\\xf5\\x38\\x52\\xc7\\x93\\x44\\x36\\x11\\x63\\x8a\\xe9\\x4e\\x7e\\xbd\\xa9\\x2a\\x80\\x44\\x0a\\xe3\\x17\\x7f\\x49\\x24\\x31\\xfe\\x5a\\xb0\\xf1\\x0f\\xb0\\x51\\x98\\x87\\x7f\\xfd\\x21\\xfd\\x83\\x6a\\x0f\\xb6\\x0b\\x33\\xde\\x11\\xfe\\xfd\\x8e\\x30\\x13\\x6c\\x7d\\x07\\xa8\\x9b\\x9a\\xf0\\xd4\\x2e\\xb9\\x4e\\xec\\xf7\\xa1\\x92\\x77\\x6f\\xea\\xcf\\x98\\x7c\\x4e\\xc4\\x2c\\xe2\\x22\\x44\\x47\\xfa\\x94\\xd4\\x6f\\xcb\\x60\\x5c\\x3f\\x6b\\x5c\\x07\\xbd\\x4e\\xaf\\xc7\\xee\\x08\\x43\\x8c\\xbf\\x8c\\x1b\\x66\\x81\\x34\\x02\\x2f\\xfd\\xac\\xea\\x3b\\xfa\\xef\\xd4\\xcf\\x8e\\xa0\\x1f\\x97\\xfa\\x6d\\x15\\x33\\x92\\x3f\\xcb\\x7b\\x3d\\x36\\x3b\\xfe\\x59\\x43\\xb3\\x9f\\x6d\\xd7\\xf4\\x83\\xca\\x20\\xfe\\x6c\\x4f\\xe9\\x67\\xa9\\x6f\\xa5\\x9f\\xa5\\x77\\xcb\\x3f\\x5b\\xaa\\x2b\\x6d\\x95\\x5f\\x10\\x86\\xad\\x5a\\x35\\xff\\xd9\\x50\\xd3\\x15\\xd5\\xa4\\xe4\\x8c\\x34\\xc7\\x10\\x85\\xd4\\xbb\\x49\\xfc\\x1a\\xa6\\x52\\x9c\\xd9\\x90\\xfe\\xbc\\x3f\\xfe\\xce\\x2c\\x8c\\x80\\x2a\\xe9\\xcf\\x31\\x46\\x80\\xf4\\x3d\\xea\\x84\\xf8\\x3d\\xad\\xa4\\xef\\xa1\\x5f\\x4a\\x7e\\x8f\\x32\\x28\\x7e\\x5e\\xfa\\xf3\\xfe\\xf4\\x2b\\xc9\\xef\\x91\\xbf\\xbf\\x26\\xf3\\xfb\\x45\\xbc\\xb0\\xee\\x69\\x6c\\x7e\\x15\\x81\\x4d\\x0f\\x9e\\x63\\x12\\xa1\\xf9\\x0d\\x27\\x41\\xff\\x13\\x06\\x2b\\x95\\xd5\\x03\\x2e\\x62\\x86\\xf5\\xcb\\xc0\\x85\\xdd\\x40\\xbc\\x4b\\x64\\xe0\\xc2\\xb6\\x3f\\xd9\\xbe\\x73\\x16\\xce\\x2b\\xc6\\x99\\x58\\x9a\\xc6\\x32\\x57\\x11\\x44\\x06\\x96\\xb9\\xe2\\x75\\x85\\xb6\\x05\\x9c\\x89\\xca\\x0c\\x0c\\xcc\\x0d\\x2f\\x67\\x60\\x60\\x2a\\x1e\\xbd\\xee\\xf3\\xcd\\x70\\xb7\\x91\\x0e\\xbf\\x11\\x19\\xb8\\xdb\\x78\\x16\\xb7\\x85\\x79\\xc7\\x34\\xee\\xe2\\x86\\x14\\x8e\\xa2\\x88\\xbb\\xe8\\xba\\xc7\\x15\\xc8\\x9a\\x77\\x6c\\x86\\xb9\\x8c\\xbe\\x3f\\xd9\\x93\\x2d\\x36\\xe3\\xdb\\x97\\xdb\\xbd\\x2d\\xcc\\x44\\xa4\\x71\\xf8\\x36\\x60\\xc4\\x89\\x34\\x0e\\x9f\\x77\\xb9\\x37\\xdc\\xc2\\x4c\\x44\\xfa\\xfb\\x63\\x10\\xed\\x63\\xc2\\x15\\xe7\\x20\\x09\\x5c\\x78\\xa2\\x12\\x03\\xc9\\x25\\xa7\\x15\\xc4\\xd1\\x83\\x0c\\xbc\\x3f\\xc5\\x3a\\xe9\\x39\\x68\\x1f\\x8a\\xf8\\x7d\\xe2\\x8c\\x47\\x07\\x50\\x40\\xe4\\xc4\\x4d\\x30\\x12\\x21\\x30\\x8c\\x9f\\xd9\\xef\\x53\\xbb\\xc2\\x12\\xaa\\x9f\\xd8\\x64\\x0f\\x92\\xed\\xf6\\xad\\x4a\\x5a\\x78\\x7e\\x6b\\xf8\\x68\\xea\\xf9\\x01\\xf1\\xf9\\x81\\xe5\\x01\\xeb\\x7f\\x7a\\xfe\\x6f\\xcd\\x9f\\xaf\\x14\\xc0\\x92\\xa6\\x6f\\x09\\x27\\xee\\xf1\\xf7\\xe7\\xf9\\xbd\\x2d\\x3d\\xba\\x25\\x2c\\x6b\\x55\\x19\\x7c\\xbe\\xb9\\xde\\x9b\\xfe\\xa3\\xde\\x8c\\xbe\\xf9\\x73\\xd1\\x7b\\x69\\xff\\xff\\xeb\\xb9\\x6d\\x20\\xc6\\xba\\xf2\\xc4\\x0d\\xe8\\x89\\xa1\\x90\\xf8\\x60\\xdf\\x18\\x5f\\x20\\xfd\\x60\\xfc\\xfb\\x7f\\xd1\\xb7\\x91\\x38\\xfc\\xff\\xf4\\x5c\\x11\\xd3\\x8a\\x1a\\xc0\\x2b\\x30\\x7b\\xce\\xf5\\xbc\\x18\\xe8\\xbd\\x7f\\x86\\x3e\\xe8\\x8d\\xab\\x29\\x48\\x9a\\xe8\\x1c\\xfc\\xfb\\x49\\x30\\xe4\\x84\\xc9\\x26\\x13\\x57\\x24\\x97\\x20\\x85\\xe5\\xac\\xd8\\x2e\\x9d\\x41\\x2c\\x0b\\xf1\\xa1\\x8c\\x11\\x73\\x0d\\xb4\\xc1\\xb2\\x40\\xb2\\x63\\x69\\xc7\\x0e\\xb6\\xbc\\xb0\\x04\\xa6\\xdc\\x4c\\x96\\xeb\\x9e\\x5d\\x4e\\x4e\\x42\\xff\\x43\\xe4\\xcc\\xc0\\x27\\x1f\\x92\\x96\\x93\\x60\\xe8\\x09\\x8b\\xa9\\x19\\x67\\x86\\xfc\\xdc\\x43\\xc9\\xe7\\x92\\x7b\\x88\\x2f\\x9a\\x3e\\x16\\xf7\\x9c\\x19\\xf4\\x21\\x0a\\xe3\\x6e\\xb2\\x5b\\x85\\xf8\\xd4\\xe2\\x4a\\x50\\x59\\x09\\xd0\\xef\\xac\\xf8\\x77\\x65\\x4a\\x0a\\x83\\x08\\xd3\\x89\\x64\\x11\\x39\\x38\\x44\\xce\\x0c\\xc5\\x51\\xf4\\x7d\\xeb\\x25\\xf9\\x61\\x13\\xa8\\xc6\\x73\\x9a\\x16\\x8c\\x3a\\x77\\x12\\xfc\\x7e\\xc2\\x62\\xa3\\xd2\\xb3\\x1e\\x12\\x96\\xb3\\x38\\xcf\\x74\\xbf\\xf4\\x79\\x52\\x23\\xcd\\x62\\xc0\\xb8\\x21\\x07\\xc6\\x27\\xc7\\xbb\\x98\\x72\\x33\\xb1\\x5f\\xc6\\x35\\xfd\\xa8\\x68\\x8b\\xe2\\xd6\\x08\\x31\\x2f\\x5e\\x69\\xb3\\x2a\\x54\\xe2\\x08\\x46\\x38\\x4c\\x92\\xb4\\x97\\xe3\\x22\\x90\\xb6\\xd2\\x4c\\x94\\xc9\\x55\\x45\\x22\\xb8\\xe9\\x7b\\x74\\xc2\\x46\\x99\\x08\\x62\\x05\\x41\\x6a\\x30\\xe0\\x3c\\xa5\\x33\\x99\\x9c\\xf5\\x09\\x13\\xa5\\x0b\\xd4\\x27\\x74\\xc6\\xeb\\x69\\x25\\x0d\\xf8\\x4e\\x8d\\x10\\x63\\x97\\xcc\\xfe\\x19\\x3e\\x45\\x9f\\x87\\x83\\x02\\xb1\\xcb\\x51\\x9c\\x2e\\xa3\\x82\\xc9\\x36\\xa1\\x64\\xdb\\x58\\xba\\x35\\x08\\x0e\\x00\\x35\\x9c\\xd8\\xf3\\xd3\\x66\\xbd\\x7b\\xad\\x7b\\x87\\x70\\xe6\\x95\\x54\\x9b\\x10\\x68\\xdd\\x3a\\xdd\\x1b\\x34\\xe5\\x95\\x01\\x8c\\xf0\\x20\\xb8\\x70\\xc3\\x39\\xe1\\x93\\x5d\\x77\\x4f\\x1c\\x96\\xec\\x0e\\x7a\\xeb\\x54\\xaa\\x29\\xa8\\x20\\x1a\\xc1\\xb1\\x4d\\x23\\xc6\\xc0\\xa2\\xfa\\x13\\xb9\\x44\\x19\\x31\\x37\\xde\\x89\\xe3\\xf3\\x7c\\x54\\x48\\x17\\x0d\\x03\\xa0\\xd3\\x85\\x42\\xe1\\x12\\x87\\x92\\x61\\x1c\\xb9\\x61\\xaa\\x5c\\xaf\\x6f\\x13\\x62\\xad\\xa5\\xd5\\x09\\xa3\\xcf\\x6d\\xb5\\xb2\\x6e\\x77\\x61\\x55\\xc2\\xcd\\xa1\\x00\\x48\\x49\\x45\\x59\\x33\\xa5\\xae\\x49\\x50\\xce\\xd4\\x70\\x1d\\xd2\\x2f\\xbb\\x25\\xaa\\x32\\x4b\\x77\\xb9\\x13\\x41\\x2e\\x53\\x05\\xc5\\xae\\x9b\\x48\\x58\\x4c\\x4e\\xd0\\x3a\\xe0\\x3a\\x9b\\x84\\x64\\x4d\\xa4\\x7a\\x40\\x59\\x00\\x63\\x40\\xe6\\xcd\\x13\\x2f\\x4a\\x77\\xbf\\xd6\\x56\\x68\\xf8\\xf6\\x5f\\xef\\x44\\x80\\x2d\\xba\\xb1\\x6e\\xaa\\xbf\\xb1\\xb7\\x91\\x7c\\x49\\x5d\\x48\\xb6\\x1b\\xbd\\x70\\xc0\\x9e\\x53\\x40\\xff\\xfd\\xbc\\x07\\x5c\\x24\\x13\\xa2\\x81\\x8a\\xc9\\xbb\\xef\\x45\\xe1\\xe0\\xa4\\x91\\x6b\\x6e\\x39\\x36\\x6d\\x71\\xe7\\x11\\x0f\\xee\\x9f\\x3e\\xb7\\x74\\x58\\xcf\\xbe\\x23\\xbc\\x7f\\x0d\\xae\\xc9\\x7f\\xf5\\x20\\x28\\x02\\xd3\\x66\\x8c\\xf6\\xef\\x50\\x79\\xcf\\x34\\x1c\\x25\\x8f\\x4f\\x9a\\xff\\xd5\\xf9\\x57\\x46\\x9d\\x96\\x7d\\x46\\x16\\xe6\\x1a\\xb2\\x1d\\x3f\\x10\\x19\\x98\\x6b\\x81\\x33\\x81\\xe8\\x7f\\xc5\\x5c\\xdb\\x00\\x64\\xb4\\x24\\x09\\x73\\xad\\xec\\x78\\x59\\xfb\\xe6\\x78\\x62\\x8a\\xae\\xe2\\xf7\\x17\\xc9\\xdf\\x9f\\x9c\\xa3\\x13\\xf1\\xc4\\xf4\\x5b\\xf4\\x26\\x4a\\xd5\\x0c\\x4f\\xe2\\x53\\xf1\\xf3\\x03\\x9a\\xcd\\x9c\\xea\\x74\\xc8\\x67\\xe8\\x7f\\x6d\\xf6\\xf9\\x71\\x42\\x9d\\x78\\x27\\x2f\\xfa\\x3c\\x0e\\xcf\\x92\\x09\\x29\\x2c\\xee\\x03\\x22\\xf6\\x45\\xad\\xfc\\xe7\\x01\\x19\\x43\\x0d\\x7d\\x5e\\xf1\\xa4\\xfc\\xf9\\x88\\xf4\\x79\\xf1\\xdc\\x7e\\x05\\xea\\xc5\\x98\\xa5\\x64\\x7a\\x49\\x31\\xd4\\xa0\\x83\\x5b\\xdc\\x3c\\x56\\x12\\xbf\\x33\\x89\\x3f\\x20\\xfe\\x6c\\x20\\x03\\x87\\x00\\xff\\x6c\\xe1\\xd8\\xc2\\x02\\x82\\x09\\xc3\\x82\\x82\\x66\\xf1\\x8e\\x54\\x1f\\xc1\\x7a\\x81\\x85\\xb2\\x5e\\x6d\\x64\\xbd\\xbc\\x5e\\x3c\\x0f\\x79\\xd1\\x97\\x03\\x33\\xb0\\xf0\\x9a\\xf6\\xa0\\x67\\x95\\xe2\\x75\\xc6\\xd4\\xc5\\x62\\x6c\\xf1\\x90\\xfc\\x79\\x97\\x0b\\x23\\x84\\xbc\\xed\\x0e\\xda\\x32\\x70\\x38\\x30\\x96\\x91\\x14\\x2b\\x80\\xbf\\x53\\xb1\\x82\\xed\\x71\\xb4\\x75\\x0d\\x22\\xfc\\x48\\xe9\\x09\\xd6\\x4c\\xaa\\xb2\\xdf\\x8b\\xfa\\x33\\x31\\x6e\\x8a\\x88\\x71\\x90\\x18\\x33\\xca\\xf1\\xe0\\xa9\\x8c\\x3f\\x1f\\x21\\xc7\\x4d\\x28\\xd6\\x53\\xbe\\x9f\\xc4\\xb9\\xc4\\x7f\\x2e\\xc7\\x65\\xd2\\xfe\\xe1\\x52\\x98\\x74\\x02\\xf8\\x5d\\x96\\x33\\x1c\\xc6\\x7a\\x7d\\xef\\x0b\\xb6\\xb0\\x7f\\xbe\\x48\\xee\\x1f\\x62\\x5e\\x6a\\xff\\x88\\x78\\x74\\xb1\\x87\\x62\\x6d\\xd2\\xfb\\x47\\xc2\\xfa\\x50\\x76\\x46\\x39\\xaa\\x8b\\xe8\\x12\\x0f\\x2a\\x18\\x1b\\xa1\\xb7\\x1a\\x8d\\x26\\x93\\x9e\\x81\\x1e\\xb7\\x95\\x1f\\x95\\xb0\\x5a\\x4d\\x76\\x33\\x34\\xf1\\x1a\\x72\\x74\\x42\\x63\\x54\\x24\\x13\\x13\\x09\\x1c\\x2d\\x73\\x56\\x45\\xe2\\x24\\x8b\\x25\\xb1\\x98\\xe4\\x1a\\xb7\\xc8\\xfd\\x23\\x82\\x14\\x29\\xe8\\x9c\\xbb\\xc6\\x4e\\x73\\x2c\\x06\\xb6\\x45\\xad\\xfe\\xfc\\xea\\x93\\xaf\\x35\\x41\\x11\\x02\\x0e\\x18\\x40\\x64\\x1a\\x39\\x6b\\x1a\\x70\\x9d\\xd2\\x80\\x11\\x77\\xcd\\xdf\\x88\\x9b\\xde\\xfe\\xfe\\xf6\\xc1\\x23\\xae\\x81\\x47\\x1b\\x0f\\xd2\\x2b\\x1b\\xdf\\x26\\x5b\\x35\\x54\\xb6\\x17\\x73\\xa8\\xf7\\x85\\x21\\x74\\x07\\x64\\x63\\xf5\\x84\\x1d\\x77\\x27\\xb3\\x2a\\x95\\x93\\x80\\x66\\x8b\\x8e\\x22\\x49\\xbd\\x9e\\x20\\x1c\\x0a\\x1e\\x0f\\x6d\\xe0\\x4c\\x0a\\x05\\x42\\x4e\\x91\\xf8\\x41\\xb4\\x21\\xcd\\xf3\\x27\\x88\\x52\\xff\\xe4\\x85\\x33\\xca\\x9f\\x80\\xcc\\x9d\\xd0\\x86\\xe0\\xf3\\xc1\\x38\\xc0\\xf9\\xeb\\x9f\\x5f\\x76\\xf4\\x8d\\x5f\\x05\\x4e\\x78\\xbd\\x10\\x3a\\x46\\x8f\\x5f\\x79\\xd2\\xfa\\xc0\\xdb\\xa0\\xef\\x21\\x61\\x08\\x93\\x7b\\x78\\xc2\\xe0\\x8b\\xcf\\xfd\\x26\\x74\\x12\\xe6\\xce\\xba\\x44\\x2f\\x1d\\x3b\\xef\\xc0\\xd2\\x86\\x63\\x83\\x40\\x3e\\x18\\x45\\xb4\\x80\\x51\\xd3\\x88\\x3c\\x4c\\x72\\x32\\x1e\\xbd\\x2b\\xae\\x8e\\x33\\xb6\\x80\\xed\\x92\\xc6\\xa8\\xe9\\x8a\\x11\\x5b\\xc4\\xcf\\x07\\x02\\x78\\xc6\\x71\\xbe\\xc7\\x9f\\x89\\xed\\x22\\xfa\\xd2\\x05\\xca\\x8e\\x92\\x2f\\x45\\xe7\\x63\\x2f\\x78\\x96\\xd8\\x21\\x62\\xd8\\x76\\x05\\x85\\x44\\x69\\xdc\\x4f\\x45\\xd8\\x88\\x37\\x42\\x42\\x32\\x04\\xa9\\x08\\x11\\x29\\x30\\xb3\\xc8\\x2b\\x9b\\xab\\xcc\\xcf\\xa5\\xa9\\xa4\\x90\\x7b\\xcd\\x17\\xe1\\x5e\\x64\\xce\\x33\\xec\\x67\\x1f\\x62\\x1e\\x49\\xf9\\xd9\\xbd\\xc4\\x17\\xf2\\x3e\\x5b\\x44\\xdc\\x43\\xb4\\x8a\\xfb\\xa8\\x1a\\xb6\\xc6\\x5b\\x73\\x77\\x0d\\x94\\x88\\x0f\\x50\\x0a\\x5b\\x73\\x43\\x65\\x45\\x38\\x8b\\x00\\x41\\x16\\x51\\xe6\\x3c\\x93\\x7c\\xad\\xb8\\x0e\\xeb\\xa5\\xef\\x82\\x17\\xc4\\x39\\x49\\xd2\\x8c\\x59\\xb8\\x4e\\x92\\xbe\\x13\\xe6\\x16\\x7c\\xed\\x17\\x49\\x5f\\x4b\\xcc\\x23\\x45\\xdc\\xcb\\xc7\\x60\\x25\\x72\\xb5\\x95\\x27\\x81\\xfa\\x44\\x65\\xda\\xdb\\xe2\\x75\\xc3\\x5c\\x2f\\xe2\\xf7\\xdf\\x29\\x7d\\x3f\\xe9\\x90\\x7d\\x73\\x14\\x45\\x14\\xd1\\xab\\xd1\\x7c\\x36\\x0b\\xc3\\x4a\\xc4\\xff\\x16\\xbf\\xff\\x49\\xf9\\x4c\\x4c\\x4d\\x7e\\x1e\\x3d\\x20\\xfa\\x4f\\x34\\x9f\\xd0\\x64\\xce\\x55\\x4a\\x31\\x4b\\x41\\x32\\x66\\x21\\xdf\\x21\\xbb\\x49\\xb3\\xc3\\x18\\xcf\\x5c\\x8c\\x59\\x8e\\x59\\x8c\\x54\\xd6\\x2c\\x69\\x73\\xce\\x0b\\xf2\\x1d\\xd1\\xae\\x8a\\x3f\\xd3\\xad\\x1b\\x06\\x1e\\x89\\xe7\\xc7\\x3b\\x66\\x73\\x4c\\xc8\\xcf\\x09\\xa4\\x9e\\x73\\x1e\\x46\\x50\\x6c\\x83\\xd6\\xc9\\x89\\xd6\\xc9\\x79\\x12\\x78\\x4e\\x38\\xf9\\x64\\x4a\\x94\\x7e\\xc6\\x47\\xa9\\x67\\x9c\\x27\\x5d\\x92\\x1e\\x64\\x77\\x74\\xb4\\xbb\\xcf\\xef\\x9e\\x66\\xd5\\x48\\x63\\xb9\\x8a\\x7a\\x44\\x65\\x3d\\x5c\\xc9\\x19\\x68\\x89\\x93\\xc5\\x18\\x33\\x72\\xcd\\xf8\\xa6\\x9a\\xf1\\x20\\x20\\x3d\\xfa\\x24\\xe3\\xb5\\xfc\\x7c\\xac\\x47\\xe4\\x64\\xd3\\xb5\\x13\\x91\\x50\\x26\\x55\\x41\\xfa\\x59\\x81\\xd4\\xb3\\xce\\x93\\x3f\\xa1\\x9f\\x14\\xf1\\xba\\xf1\\xb8\\xf8\\x0e\\x1b\\xdb\\x12\\xee\\xea\\x47\\xa9\\xe7\\x9c\\x27\\x79\\x59\\x17\\x64\\xda\\xc9\\x82\\x9a\\x82\\x6c\\xbe\\x85\\xa6\\x67\\x51\\xae\\xe6\\x17\\x75\\x91\\xb0\\xf8\\xde\\x21\\x56\\x25\\x75\\x11\\x01\\xa7\\x81\\xa6\\x58\\xa3\\xcc\\xd6\\xa5\\x69\\x13\\x32\\x1a\\x3f\\xa7\\xf9\\x10\\xc8\\x77\\xaa\\x89\\xe4\\x4f\\xe0\\x31\\x6b\\x4d\\x38\\xfb\\x27\\xd2\\xfc\\x56\\x4c\\x97\\xd4\\x73\\xce\\x83\\x69\\xe0\\x46\\x51\\x0f\\x0e\\x1f\\xe1\\x07\\xb8\\x66\\x78\\x67\\x18\\xf3\\xef\\x2f\\x51\\x8f\\xdf\\xe4\\xcf\\xdb\\xe5\\x99\\x5d\\x0e\\x1d\\x61\\x6e\\x49\\xf3\\xcf\\x4b\\x39\\x64\\x41\\x0a\\x93\\x47\\xda\\x5b\\xe2\\xfa\\x46\\xf1\\xee\\x25\\x43\\x27\\x9b\\x7e\\x3f\\x11\\xf2\\x67\\xd1\\x2b\\x35\\x5d\\x87\\xf9\\x8f\\xde\\x4b\\x2a\\x8e\\x0e\\x87\\xf1\\x7b\\xf1\\x9f\\x6c\\xba\\x78\\xc2\\xef\\xc9\\x82\\xd9\\x4f\\x3d\\xcf\\x9f\\x7a\\xde\\x79\\x98\\x07\\x7a\\x8b\\xeb\\x9c\\x8b\\x56\\x2d\\x77\\x52\\x6e\\x9a\\x59\\x8a\\x48\\x3f\\xe7\\xa3\\xd4\\x73\\xce\\x93\\x37\\xc8\\xef\\x25\\x07\\xd3\\x5a\\x8c\\xc9\\x49\\x33\\x0b\\x10\\x69\\xfc\\x93\\x82\\x24\\x76\\x48\\x7a\\x8f\\x41\\x32\\x18\\xc4\\xfa\\x78\\x9d\\x5e\\x17\\x95\\x3d\\x33\\x8f\\xf3\\xee\\x27\\xd2\\x18\\x28\\x48\\x17\\x5b\\x72\\xce\\xde\\xeb\\xc5\\x6f\\xc6\\x59\\xee\\xb4\\x31\\x59\\x78\\xe6\\xf2\\x73\\x02\\xa9\\xe7\\xa4\\xf6\\x17\\x89\\x12\\x29\\x32\\xb4\\x38\\x94\\x46\\x59\\x49\\xe5\\xf6\\x07\\x45\\x3d\\x06\\xcb\\xef\\xe5\\x65\\xf9\\xbd\\xf8\\x30\\x5c\\xc0\\x2c\\x5f\\x33\\x9c\\x15\\x29\\x57\\x2b\\x48\\xcd\\xd7\\xa7\\xde\\x0b\\x4a\\x4a\\x03\\x78\\x7f\\x79\\xf0\\x98\\xba\\xc7\\x99\\x09\\x19\\xd0\\x02\\xd6\\x3e\\xd2\\xe5\\x36\\xe9\\xbd\\x90\\x20\\x1a\\xc5\\xba\\xa0\\xf7\\xf9\\x17\\x7a\\x9f\\x99\\xb0\\x01\\xe9\\xe7\\x05\\x52\\xcf\\x3b\\x0f\\xb5\\xf2\\x79\\x09\\x62\\xa8\\xdc\\x41\\xc1\\x66\\x7c\\x4c\\xd2\\x73\\x3e\\x4a\\x3d\\xe7\\x3c\\x99\\xc4\\xe8\\xcf\\x45\\xfa\\xe4\\x56\\xe5\\x36\\xc3\\xe8\\xb7\\x0b\\x15\\x99\\x98\\x25\\xca\\xbf\\xc5\\xfd\\xc2\\xfe\\x0b\\xe4\\x9d\\x6c\\xba\\xf7\\x44\\x5e\\xb1\\x0c\\x2c\\x22\\x7e\\xd6\\x2a\\x54\\x64\\x62\\x96\\x28\\xff\\x26\\xfe\\x91\\x3e\\x1b\\xc1\\x34\\x5d\\x91\\x02\\x19\\x54\\x44\\xc2\\x08\\x41\\xdf\\x3b\\x5b\\x8c\\x5f\\xca\\xe5\\xcf\\xfe\\x29\\x7d\\x56\\x75\\x52\\xf8\\xfc\\x84\\x4a\\x2f\\xdb\\x75\\xf1\\xb3\\x37\\x08\\x15\\xb8\\xb7\\x44\\xc6\\x07\\x51\\x28\\xff\\xee\\x21\\x7e\\xd2\\x89\\x01\\x0b\\x52\\xe0\\x20\\x04\\x68\\x7a\\x58\\x18\\x4c\\x3d\\x82\\xfc\\x7a\\x01\\xd1\\x39\\x1e\\x20\\x7c\\x06\\x9e\\xe2\\x49\\x8f\\x8f\\x0e\\xab\\x1d\\x8e\\xa2\\x70\\x21\\x6d\\xf0\\x90\\x90\\xa2\\xac\\x39\\x61\\x97\\x55\\x87\\x2f\\xb9\\xd2\\xf0\\x1b\\xd6\\x8a\\xcc\\xe2\\xa8\\xdc\\xa0\\x1f\\x51\\xd0\\xe5\\x6d\\x42\\xa9\\xf1\\x28\\x26\\x8c\\x47\\x53\\x71\\x1f\\x13\\x10\\x49\\x18\\xb4\\x80\\x2e\\xef\\x44\\x43\\xad\\xed\\xde\\xc6\\x2b\\x05\\x0d\\xa0\\xfd\\xb6\\xbe\\xb3\\xc6\\x8f\\x19\\xdf\\xc7\\x29\\xfc\\x19\\x18\\xbb\\xe2\\xf8\\xf6\\xab\\x80\\xcd\\x19\\x90\\xa8\\x5e\\xdf\\x44\\x08\\xc3\\x85\\xfb\\x8a\\x06\\x9d\\x7a\\xec\\xd0\\xd2\\x3e\\x60\\xcf\\xc0\\x82\\x21\\xb7\\x7e\\xd7\\x7b\\xf6\\xc8\\x85\\xb5\\xb5\\x23\\xfd\\xbd\\xbb\\xb6\\x1a\\xb1\\xe6\\x86\\x82\\x67\\x0f\\xf7\\x9f\\x7f\\x63\\xff\\x89\\xdb\\x0f\\x0b\\x7f\\xbe\\x79\\xa8\\xf7\\x6f\\xa6\\xa2\\xce\\x37\\xcc\\xdf\\x87\\xf5\\xb9\\x55\\xa8\\xa1\\x78\\x6a\\x00\\x11\\xc6\\xbd\\x4c\\x4e\\x5e\\xc1\\x78\\x19\\x37\\xcb\\xd3\\x56\\x42\\xa7\\x8b\\x58\\x73\\x7c\\x0a\\xd6\\x0d\\xbd\\x5e\\xb5\\xcd\\xaa\\x86\\x35\\x09\\xb5\\xd4\\xcb\\x54\\xfc\\x1f\\xd5\\x91\\x7a\\x98\\x92\\x97\\x12\\xe2\\x3d\\x0c\\xa0\\xe8\\xf2\\x02\\xa4\\x1f\\xd6\\xb4\\x13\\x45\\x0a\\xc3\\x6a\\x07\\xaf\\x0d\\x7e\\xd2\\x1a\\x28\\x4e\\xbe\\xfb\\xfe\\x8b\\x39\\x05\\xab\\x7f\\x17\\x16\\x08\\x57\\xf3\\xc0\\x24\\x30\\xc6\\xfe\\x98\\x50\\x9b\\x7b\\xcf\\xcb\\x6f\\x8e\\x29\\x83\\x9a\\x2e\\xbd\\x87\\x55\\xb7\\xd9\\xbe\\xf7\\xee\\x3b\\x9f\\xdf\\x12\\x5a\\x54\\xb9\\xe3\\x7f\\x0e\\x4c\\x33\\x7e\\xec\\xf9\\xea\\xc9\\x8e\\x85\\xdd\\x7a\\x7d\\xe0\\x88\\xf6\\xe8\\x3a\\xba\\x19\\x3e\\x5d\\x7e\\x8b\\xf9\\xc4\\x53\\x28\\x3f\\x68\\x8e\\x4f\\xfc\\xb7\\xf8\\xf9\\xbe\\xf2\\xe7\\x97\\x48\\xd8\\x0e\\x22\\x7c\\xbd\\xeb\\x24\\x28\\x3a\\xe1\\x0a\\x64\\x20\\x14\\xe3\\x5c\\x39\\x4f\\xa8\\xa3\\xf1\\x1d\\xba\\x85\\x28\\x8b\\x3b\\x29\\x13\\x6e\\x44\\x56\\xab\\x35\\x26\\x8d\\xcd\\x6a\\x60\\xf0\\x50\\xab\\x5e\\xa3\\x85\\x1a\\x1e\\x88\\x6d\\xc8\\xf2\\x14\\x46\\x45\\x16\\x10\\x94\\x5f\\x46\\x8a\\x13\\x87\\x30\\x92\\xa1\\x1c\\x43\\x8d\\x14\\x3e\\xbf\\xe8\\x99\\x3c\\xfd\\xe8\\xfe\\x73\\xc2\\xe7\\x80\\x07\\x9c\\x63\\xc4\\x27\\x37\\xbd\\xf2\\x96\\x13\\x45\\xc4\\x7b\\x36\\x0c\\x9a\\x3b\\x65\\xd5\\xb5\\xf3\\xf4\\xca\\x55\\xbd\\xaa\\x9e\\x7e\\x66\\xd0\\x3a\\x02\\xf3\\x82\\xb4\\x43\\xb9\\x4a\\x77\\xf1\\x1e\\xbd\\x8c\\x88\\x13\\xa3\\xe2\\xb1\\x0a\\x7b\\xa4\\x50\\x0f\\x0d\\x61\\x03\\xdf\\xc9\\x64\\xf2\\x86\\x5b\\x2b\\x14\\xfe\\x30\\x6f\\xa7\\xbb\\x74\\x0e\\x9a\\x2c\\x6d\\x5c\\xce\\x0e\\x16\\x03\\xc0\\xe3\\x89\\xea\\x12\\x71\\x24\\x31\\x9a\\x31\\x92\\x28\\xe5\\xea\\x95\\xc5\\x31\\xb1\\x79\\x3e\\xfb\\xb2\\x21\\xd9\\x5c\\x73\\xdd\\x58\\x22\\x8a\\x8a\\x19\\xa9\\x2f\\x41\\x6c\\x7b\\x44\\x6f\\xb9\\x3c\\x52\\xd6\\x3a\\x7b\\x44\\x51\\xee\\x12\\x0c\\xa0\\x37\\xdf\\x7c\\x5a\\x71\\x28\\x30\\xff\\xc2\\xad\\xda\\xba\\xe9\\xde\\x8b\\x2f\\x4d\\x79\\xa1\\xdf\\xc6\\x5b\\x5a\\x1d\\x22\\xf5\\xe9\\xa1\\x45\\x58\\xd5\\xa7\\xae\\x5b\\xe9\\x86\\x7a\\xc5\\xf4\\xcc\\xf1\\xc5\\x89\\xe0\\x99\\x6b\\xda\\x49\\xd5\\x9b\\x16\\x1c\\x7e\\xae\\x47\\x8f\\xb5\\xbb\\x2b\\xb6\\x7a\\xbd\\x23\\x7b\\x65\\x4e\\x32\\x0a\\x33\\x3a\\xb7\\x29\\x2c\\xab\\x8f\\xf5\\x24\\x48\\xa2\\x35\\xf2\\x05\\xdf\\xd3\\x3b\\xd1\\x9e\\x68\\x45\\x0c\\x89\\xb7\\xa2\\x35\\x51\\x03\\xe1\\x29\\xb6\\xd9\\x3c\\xce\\x00\\xa3\\x33\\x68\\x94\\xb1\\x52\\x9d\\x13\\xe6\\xc3\\xfc\\xd1\\x09\\x7f\\x60\\x74\\x02\\xa2\\x38\\xdf\\xac\\x34\\x87\\x47\\x27\\xcc\\x46\\x25\\x23\\x0e\\x7a\\x64\\xd7\\x31\\xf2\\xaf\\x1b\\xa4\\x96\\x72\\x06\\x4b\\xcc\\x87\\xf6\\x72\\x39\\xda\\xda\\x1c\\x2d\\x11\\x35\\xe3\\x21\\x65\\x94\\x3d\\x54\\x02\\xb4\\x5a\\x21\\x14\\x21\\x29\\x8c\\xa5\\x6d\\xd2\\xd3\\x8e\\xe0\\xea\\xcc\\xc9\\x80\\xd9\\x1c\\x78\\xee\\x65\\xe1\\x3d\\x30\\x6e\\xd6\\x4e\\xe1\\xdb\\xe7\\xaf\\x08\\x4d\\x0f\\x1f\\x06\\x8f\\x03\\xed\\xbf\\x83\\x53\\x12\\x37\\x6c\\xd9\\x37\\x73\\x61\\xfd\\xda\\x5e\\x0b\\xe0\\x97\\xbd\\xab\\xbf\\xdb\\xa9\\x39\\xa3\\x3a\\x76\\xbb\\xd0\\x54\\x4f\\x59\\x77\\xcd\\xda\\xfa\\xc1\\xec\\xd3\\x4f\\x6c\\x3f\\x13\\xa4\\x86\\x1c\\x3b\\x72\\xea\\x95\\x21\\x0d\\xab\\x37\\x2f\\xba\\x71\\x64\\xf7\\xb9\\x7d\\xc6\\x4d\\xc4\\x77\\x1a\\x6d\\x30\\xc6\\x2d\\xfd\\x0e\\xda\\x0f\\x31\\xa2\\x57\\x3c\\x62\\x75\\xe7\\x87\\x0c\\xea\\x56\\x10\\xaa\\x15\\x7a\\xbb\\x3f\\xe4\\x56\\x96\\xb5\\xf6\\x29\\x4c\\x85\\xa6\\xc2\\xaa\\x84\\xc9\\x44\\x38\\x74\\x04\\x11\\xcd\\x68\\xf6\\x4a\\xb6\\xe5\\x36\\xd7\\x8f\\x96\\x55\\x91\\xc6\\xf9\\xac\\x32\\x3c\\x59\\x1b\\x59\\xe3\\x14\\xb7\\x3a\\x15\\x91\\x48\\xd7\\xc5\\xff\\x4f\\xe6\\xff\\x22\\x34\\x3c\\x71\\x18\\xd4\\x8c\\x79\\xf9\\x89\\xfe\\x35\\x63\\xa6\\x4e\\x59\\xb5\\xaf\\x6e\\xdd\\xb4\\x05\\xbb\\xf6\\x82\\xb1\\x37\\xed\\x11\\xbe\\xbc\\x75\\xfd\\xc1\\x5f\\xc6\\xad\\xed\\xb9\\xc8\\x74\\xfa\\xc4\\xde\\x4f\\x73\\xa8\\xe8\\x9e\\xe1\\x7b\\x3e\\x6a\\x77\\xbb\\x7f\\xfd\\x90\\xf1\\x33\\x76\\x2e\\x5c\\xda\\xe7\\xf6\\x8a\\xe3\\x53\\x56\\x3f\\xd5\\x9e\\x72\\x1f\\x9a\\xb1\\xf5\\xf3\\x05\\x67\\xee\\x58\\xfe\\x7e\\xcf\\xc5\\x03\\x66\\xdf\\x28\\xdd\\x73\\x9f\\x13\\x2e\\x8a\\xfd\\x17\\x46\\xa2\\x63\\xdc\\xa3\\x57\\xa9\\x00\\x4f\\x40\\x68\\xa6\\x79\\xde\\x64\\xa4\\x79\\xba\\x3e\\xa1\\xe5\\x79\\x0a\\x90\\xa0\\x3e\\x41\\xa6\\x6e\\x22\\x4f\\x67\\xdf\\x16\\xa7\\xcb\\x4d\\x0c\\xf0\\x4b\\xd8\\x85\\x11\\x2c\\xba\\xbf\\x1c\\xee\\x96\\x7a\\x2b\\x1a\\x46\\x92\\x81\\x35\\x6b\\xf3\\xbd\\xbf\\x95\\x4f\\x6a\\x38\\x19\\xa5\\xee\\xbc\\xf4\\x66\\x43\\x6c\\xee\\x8d\\x1d\\x1e\\x6c\\x97\\x53\\xdf\\x65\\xe0\\x3b\\x92\\x1c\\x9f\\x0b\\x17\\xc4\\x3e\\x0b\\x33\\x96\\x83\\x43\\x72\\x98\\x90\\x1c\\x56\\xda\\x64\\xb2\\x98\\x69\\x13\\x5d\\x9d\\xd0\\x9a\\xcc\\x58\\x8e\\xea\\x04\\xc9\\xfe\\x1f\\xe4\\x90\\xac\\xbe\\xbf\\x9c\\xdc\\x26\\xb5\\x53\\x34\\xce\\x03\\xb3\\x97\\x6f\\x2c\\x71\\x5e\\x32\\x85\\xda\\xb6\\x6a\\x9c\\x93\\x03\\x67\\x9c\\x7d\\xad\\x71\\xf8\\x4d\\xe3\\x7b\\xdd\\x55\\x14\\x0a\\xf7\\x8f\\x16\\x95\\xbc\\x92\\x8a\\xf7\\x45\\x9c\\xe7\\x90\\x8c\\xd3\\xf2\\x36\\xd0\\xe3\\xbb\\x09\\x9e\\xc7\\x5c\\xc3\\x98\\xd4\\x97\\x35\\xb4\\x70\\x37\\x51\\x2e\\x62\\xb5\\x74\\x93\\xb1\\x5a\\x3e\\x93\\xf3\\x6c\\x9c\\x25\\x91\\x15\\x87\\x2b\\xda\\x67\\xdf\\x4d\\x48\\xbc\\x01\\x5c\\x84\\x58\\x04\\x50\\x64\\xc9\\x2b\\x88\\x68\\xaa\\xe6\\xd1\\x8e\\x1a\\x80\\xff\\x9c\\xd8\\x2f\\xfe\\x79\\xaf\\x16\\xef\\x1a\\x62\\xf0\\x37\\xa9\\x66\\x4d\\x41\\x32\\x20\\xd6\\x6c\\x03\\x8f\\x07\\x92\\xd8\\x87\\x19\\x35\\x6b\\x31\\x7e\\x53\\x6c\\x4a\\xd6\\x50\\x24\\x2e\\x26\\xb1\\x86\\xd2\\x03\\xb4\\x22\\xba\\xc7\\x8b\\x25\\x36\\x26\\x82\\x09\\x53\\xc5\\x21\\xb0\\x35\\x04\\x1e\\x0a\\x81\\xe5\\x21\\xc0\\x86\\x40\\x28\\xee\\xf0\\xf6\\x0a\\xc5\\x4d\\x56\\xf4\\x9b\\x8a\\xeb\\x15\\x92\\xc8\\x9b\\xc4\\x80\\xc5\\x90\\x9f\\x8f\\x49\\x88\\x67\\xce\\x92\\x2b\\xbb\\x2d\\xc8\\xd7\\x16\\x62\\x1c\\x53\\x11\\x67\\x31\\x17\\x87\\x7d\\xb9\\x2b\\x72\\x3d\\x19\\xc8\\x8c\\x19\\xb2\\x9d\\x4a\\xd5\\x77\\x44\\x5e\\x29\\x51\\xb6\\x18\\xca\\x96\\x02\\x71\\x33\\x8c\\x79\\x63\\x65\\xc1\\xe2\\xb0\\x48\\x31\\x85\\x44\\x4c\\x49\\x20\\x73\\x6a\\xa7\\x30\\x2d\\x3f\\x49\\xc5\\xb3\\x7b\\xc0\\xa7\\xe8\\x5d\\x49\\x9c\\x07\\x98\\x2d\\x75\\xbd\\xdb\\xdb\\xc2\\x1d\\xcc\\x1b\\xa9\\x78\\x76\\x0f\\x50\\x11\\x49\\x8c\\x4a\\xcc\\x96\\xb5\\xda\\xe1\\x6a\\x01\\x73\\x32\\xad\\x57\\x39\\x39\\x2f\\x99\\xc7\\xe1\\x4b\\x1e\\x14\\x9f\\x3f\\x14\\x0a\\x64\\x06\\xe7\\x29\\xbd\\xb6\\xa6\\xf4\\xda\\x03\\x14\\x4d\\xaf\\x89\\x7a\\xe5\\x83\\xd6\\x84\\x19\\xc5\\xa8\\x53\\x1d\\xee\\x6c\\x75\\xc4\\x35\\x14\\x71\\x91\\x14\\xfb\\x92\\xb8\\x48\\xe8\\xf3\\xcb\\x41\\x97\\x34\\x3e\\x10\\xab\\xce\\xe4\\xbf\\x4c\\x61\\x22\\x0d\\x4b\\x61\\x22\\xdd\\x22\\xf2\\x3d\\xe0\\xcf\\x63\\x48\\x24\\xfb\\x52\\x7b\\x33\\x4e\\xa4\\x7a\\xa1\\x0e\\xee\\x14\\xe7\\xde\\x7c\\x44\\xdb\\xb8\\xd3\\x4e\\x9b\\xcc\\x1e\\x82\\xd0\\x18\\x0c\\x66\\x1a\\x06\\x74\\x3a\\xbf\\x09\\x10\\x2c\\x69\\x51\\x3a\\x5d\\x24\\x21\\x3b\\xae\\x74\\x89\\x35\\x65\\xbf\\xc2\\xcd\\x3c\\x14\\x6e\\xaf\\x03\\x7e\\x98\\x76\\x4b\\xa0\\x7a\\xe5\\xce\\x0c\\x1f\\x44\\xb3\\x80\\x02\\xf6\\xa1\\x49\\xe7\\x33\\xa3\\x26\\xed\\x6b\\xec\\xe1\\xfe\\x7d\\xe9\\x76\\x7f\\x57\\x25\\x3d\\x8c\\x88\\xff\\x82\\x7b\\xd9\\xa8\\xfe\\x44\\x11\\x51\\x41\\x54\\xc5\\x73\\x2d\\xf9\\xe5\\x58\\x42\\xbf\\xcb\\xe5\\x76\\xeb\\x0c\\xf9\\x54\\xbb\\x52\\x9a\\x6e\\x1f\\x72\\x47\\xa3\\xb6\\xea\\x44\\x94\\xf3\\xb1\\x6e\\x33\\x41\\x16\\x2b\\x9d\\x65\\x49\\x89\\x53\\x73\\x4a\\x59\\xe3\\xd3\\xff\\x45\\xf4\\xff\\x38\\xbb\\xa4\\x60\\x8c\\x69\\x9d\\x28\\x76\\xe5\\xae\\x2c\\x9d\\x12\\x2d\\x0e\\x35\\xe9\\x99\\x3e\\xff\\x49\\x4f\\xf0\\xc2\\xf5\\xa3\\x4e\\xf6\\x19\\xae\\x86\\x2d\\x29\\xe5\\xc9\\xa6\\x17\\x71\\xdf\\x05\\xdd\\x96\\x70\\x23\\x5b\\x50\\x15\\x8f\\xfa\\x59\\xb5\\x22\\x27\\xc7\\x0c\\x9d\\xc0\\xc9\\xb0\\x54\\x9e\\xd5\\x9a\\x1b\\x32\\xab\\x2d\\x5a\\x2d\\x69\\xb1\\x78\\xf8\\x16\\x3b\\x1b\\x62\\x95\\x52\\x07\\x6a\\xfa\\x56\\x20\\x7d\\xfd\\x9d\\xee\\xbc\\x6e\\xe9\\x05\\xa6\\x55\\xfd\\x3e\\xd5\\x80\\xdd\\x7b\\xd5\\xb6\\x94\\xce\\xbe\\xa7\\xd1\\x7b\\x7c\\x26\\xa9\\x9c\\xd4\\xe3\\x20\\xac\\x4f\\xe9\\x98\\x73\\x0f\\xd6\\x51\\xd8\\x90\\x54\\x06\\x88\\x58\\xef\\x18\\xfb\\x5e\\x4b\\xf8\\xe3\\xac\\x52\\xa5\\xd2\\x93\\xa4\\x2e\\x09\\xee\\x4e\\xa4\\x66\\x6b\\x5a\\x00\\x6d\\xcf\\x86\\x6a\\xcf\\x82\\x67\\xc7\\x31\\x5a\\x97\\xa6\\x1f\\xc4\\xf9\\xdd\\x08\\xca\\x63\\xba\\x11\\x33\\xe3\\xc8\\xbd\\x86\\x73\\x72\\x3a\\xf0\\x46\\x63\\x87\\xae\\x8a\\xd6\\x2e\\x45\\x07\\x17\\xec\\xd1\\xdd\\x68\\x54\\xe3\\x18\\x32\\x18\\x0a\\xa9\\xd1\\xcf\\xa8\\x0d\\x20\\x5a\\xa9\\xae\\xac\\x4a\\xd8\\xd4\\x5c\\xa4\\xa4\\x1c\\x96\\x57\\x25\\x70\\xf1\\x17\\x77\\xdb\\x8b\\x97\\x28\\xa9\\xce\\x6c\\x03\\x6e\\x0c\\xaf\\x28\\x8e\\xc9\\xbf\\x5a\\x95\\x34\\x1b\\xf7\\xc5\\x7f\\xb5\\x14\\xb4\\x95\\x4b\\x7b\\xc6\\x0d\\x92\\xf3\\x2a\\xb8\\xeb\\x30\\x7b\\x44\\x25\\x0b\\x65\\xe2\\x8f\\xeb\\xe2\\xb6\\x69\\x50\\x82\\x8f\\x92\\x66\\x58\\xa8\\x1c\\xe1\\x1a\\x4b\\xee\\x49\\x43\\x0c\\x35\\x38\\x5a\\xc4\\x9e\\x40\\xc1\\x5b\\xe3\\x69\\x80\\xb1\\xa4\\xf4\\x4f\\x8b\\x23\\x2d\\x8f\\xec\\x27\\x7f\\xc8\\x44\\x1d\\x6a\\xf4\\x37\\xc3\\xa4\\x80\\x44\\x27\\xa1\\x8e\\x19\\x8c\\x72\\x91\\x10\\x51\\x42\\x54\\x12\\x33\\xe2\\x6d\\x01\\x69\\x34\\x91\\x26\\xb5\\xbb\\x4d\\x6e\\x47\\x75\\xb1\\x5b\\x9d\\xeb\\x86\\x9d\\xe3\\x04\\xe1\\xa7\\xa0\\x81\\xe7\\xfd\\x16\\xab\\xd5\\xe1\\x37\\x39\\x5b\\xc1\\x7c\\x7f\\x7e\\x55\\x02\\x30\\x7e\\xae\\x22\\xec\\x08\\x57\\x25\\xf4\\x0e\\x0c\\xdb\\x9a\\x1c\\xbd\\x94\\x57\\x11\\x2f\\x9f\\xb4\\x76\\xf8\\xf7\\xcc\\xb5\\x4b\\x77\\xda\\x63\\xec\\xac\\xec\\xd9\\x1e\\x74\\xf0\\x52\\x3d\\xd0\\xd2\\xa2\\x02\\x71\\xcd\\xe4\\x70\\x37\\x1b\\x94\\x69\\x4d\\x0e\\xa0\\x79\\x98\\x31\\xee\\x43\\xcd\\x11\\x2e\\x0d\\x0e\\x51\\xbd\\xef\\x9f\\x7f\\xfb\\x13\\x2b\\x2e\\x1f\\x58\\xb5\\x25\\x57\\xd8\\x30\\x6d\\x53\\xbf\\xe3\\xd3\\x57\\xf7\\xa4\\xc2\\x19\\x73\\x3f\\xeb\\x1e\\x7d\\x20\\x3d\\xf9\\xd3\\x78\\x08\\x3c\\xbc\\xb7\\x3e\\x71\\xfa\\xd8\\x69\\x30\\xfd\\xf9\\x61\\x53\\x1b\\xc3\\xab\\x00\\x35\\xef\\xe2\\x4a\\xe1\\xea\\xe2\\x0f\\xc8\\x2f\\xb3\\x06\\x81\\xa8\\xa6\\x0f\\x9a\\x8e\\xd3\\xfb\\xd1\\x7e\\xd3\\x11\\x26\\xc2\\x4a\\x38\\x88\\x35\\xf1\\x5e\\x2a\\x8e\\xb5\\x53\\x94\\x9a\\xb4\\x98\\xb5\\x94\\x06\\xea\\x1d\\x36\\x48\\xf1\\x28\\x0d\\xa0\\xd4\\x1a\\x8a\\xd7\\xe8\\x28\\x17\\xad\\x70\\xaa\\x54\\x8c\\xd9\\xcc\\x58\\xad\\x0a\\x35\\x43\\x3a\\xf4\\x8e\\xfa\\x84\\x45\\xaf\\x67\\x28\\x05\\xc1\\x33\\x7c\\x7d\\x82\\x81\\x0a\\xdb\\xe8\\x84\\x82\\x4f\\x77\\x8e\\x73\\x67\\x92\\x5d\\xac\\x36\\xf1\\x5f\\x0d\\xd2\\xdf\\x68\\x9d\\x0c\\xe9\\x35\\xb4\\x56\\x24\\x7f\\xe1\\xc1\\x63\\x0c\\x53\\x80\\x92\\x1d\\x6b\\x79\\x0c\\x18\\x91\\xbb\\xcc\\x29\\x53\\x30\\x56\\x26\\x06\\xca\\x83\\x14\\x5b\\x2e\\x3c\\x20\\x9c\\x39\\xd0\\x4e\\xf8\\x37\\x34\\x82\\xe1\\xf6\\x03\\x07\\x84\\xcf\\x1f\\x6f\\x84\\xbd\\x80\\xc6\\x6d\\xee\\xbf\\x67\\xed\\x3d\\x8d\\x37\\xef\\x2f\\x04\\x93\\x84\\x1e\\xb5\\xf4\\xca\\xdd\\xdf\\x08\\x13\\xaf\\xbd\\x49\\xf6\\x00\\x0b\\x5e\\x0d\\xc4\\x6f\\x7b\\xe7\\x19\\xa1\\xd3\\x05\\x79\\xce\\xf2\\x38\\xfd\\xa5\\x38\\xdb\\x95\\x43\\xec\\x8e\\x57\\xbb\\x78\\x03\\x52\\xd4\\x4d\\xf8\\x03\\x2a\\x4a\\xed\\x51\\x6b\\xdc\\x1e\\xaf\\xc7\\xaa\\x81\\x10\\xea\\x23\\xfa\\xa8\\xc5\\xe2\\x50\\x33\\x71\\x95\\xca\\xc1\\x68\\x0d\\x28\\x5a\\xd4\\x32\\x6c\\x20\\xc0\\xf8\\xfd\\x0e\\x86\\x77\\x8d\\x4e\\xf0\\xbc\\x83\\xf1\\x10\\xa3\\x13\\x1e\\x07\\x13\\xc2\\xe8\\x06\\x0e\\x53\\x7d\\xc2\\x91\\x1e\\xcb\\x4c\\x41\\xfd\\x26\\xe7\\xd7\\xa4\\xfd\\x23\\xff\\x97\\x83\\x7b\\x2b\\x35\\xa8\\x61\\xb0\\x56\\x64\\xad\\x02\\xb2\\xe5\\x38\\x7e\\x4e\\x91\\x29\\x5a\\xe9\\x1c\\x4c\\x9e\\x28\\x03\\x1a\\x45\\x98\\xa0\\xcc\\xaa\\x48\\x80\\xbc\\x09\\xa3\\x30\\x66\\xd1\\x81\\xf9\\xbd\\x0e\\xcc\\x5b\\x5b\\x2c\\xfc\\x64\\x2a\\x6e\\xbc\\xaf\\xd7\\x98\\x24\\xa4\\xd1\\x83\\x2b\\x06\\x1d\\xf8\\xa1\\x23\\x59\\xdb\\x61\\xc0\\xaf\\xc2\\x8f\\x93\\x6a\\x7e\\xd9\\x8a\\x71\\x8b\\x4a\\x26\\x1c\\x1e\\xf3\\x78\\xcf\\xde\\x65\\x0d\\x8f\\x86\\x45\\x3c\\xa3\\x8a\\xf9\\xe4\\xd6\\x1d\\xc3\\x60\\x37\\xa7\\x08\\x61\\x84\\xec\\x74\\x2d\\x8a\\xdd\\x94\\x68\\x7d\\xdc\\xc8\\x0a\\xcd\\x8e\\x77\\xf2\\xe9\\x74\\x36\\x0a\\x9a\\x55\\x6a\\x93\\xd9\\x9c\\xab\\x8e\\x42\\x68\\xb4\\x58\\x14\\x46\\xbb\\xdf\\xef\\xac\\x4d\\xf8\\x7c\\x0a\\xa3\\x4b\\x59\\x93\\x30\\x01\\xb5\\xd3\\x10\\xc4\\x60\\x2f\\x46\\x7f\\x4d\\xc2\\xc8\\x2a\\x5c\\xd5\\x09\\x05\\x51\\x25\\xcd\\xcf\\x64\\x82\\xd8\\xa4\\xd1\\x33\\x70\\x13\\x93\\xb4\\x28\\xd9\\x9d\\x99\\xd2\\x3c\\x04\\xee\\xcc\\x8c\\x80\\x20\\x48\\x82\\x1c\\xa1\\x3d\\x20\\xaf\\x42\\x44\\x52\\x5d\\xc1\\x28\\x48\\x5b\\x12\\xe5\\x68\\xc5\\x78\\xe1\\xdc\\x01\\x30\\x66\\x2e\\xc6\\x3a\\x4a\\xd4\\x00\\xf3\\x01\\xe1\\x85\\xa5\\xac\\x70\\x01\\xaa\\x84\\xf9\\x79\\x93\\x48\\x30\\xdd\\x1b\\xc6\\xa0\\x48\\xc7\\x44\\xc0\\xa3\\x3c\\xa1\\x33\\xc9\\xcc\\x10\\x51\\x8f\\x6c\\x60\\x97\\x50\\x38\\xea\\x84\\x35\\xc7\\xd7\\xf8\\x5c\\xce\\xf7\\x61\\x0d\\x69\\xd7\\xed\\x78\\x6a\\xb6\\x98\\xb3\\xe7\\x4b\\x9c\\x0b\\xe8\\x5c\\x74\\x88\\x7b\\x29\\x82\\xd1\\x68\\xd0\\xca\\x28\\xb5\\x14\\xab\\xc7\\x43\\xeb\\xa3\\xf1\\xd0\\x7a\\x8a\\x93\\x20\\xd5\\x16\\x9b\\xdd\\x9a\\x95\\x39\\xbf\\x2e\\x61\\x58\\xe7\\x2f\\x5b\\x16\\x59\\x3e\\x05\\x44\\xa6\\x80\\xe9\\x51\\xe1\\xd6\\x5a\\xf2\\xf7\\x02\\x72\\xf3\\x59\\x32\\xb7\\xf1\\xc3\\xb3\\x42\\xdd\\x05\\x69\\x4e\\xb2\\x0b\\xda\\x9b\\xb3\\xd1\\xda\\x73\\x28\\x63\\x19\\x1e\\x2f\\x32\\x00\\x23\\x49\\x31\\xd0\\xa8\\x54\\x92\\x90\\x56\\x68\\x75\\x0a\\x15\\xd4\\x51\\xac\\x89\\x35\\x1b\\x0c\\x6a\\x8a\\x82\\x5a\\xb5\\x02\\xf2\\x84\\x51\\xa5\\x56\\xd5\\x27\\xf4\\x6a\\x28\\xdb\\x2c\\x9c\\x3b\\xa4\\xce\\x59\\xe6\\x1d\\xb2\\x9c\\x46\\xc8\\x48\\x20\\xd0\\x5f\\xce\\x04\\x01\\x9e\\x78\\x11\\x1d\\x27\\x8d\\xce\\xd6\\x52\\xe1\\xd0\\x06\\xe1\\x63\\xcf\\xb1\\x03\\x60\\xc3\\x66\\xa1\\xa2\\x00\\xbe\\x5c\\x7e\\xa0\\xbc\\xba\\x40\\xb0\\x2c\\x1f\\x41\\xed\\x13\\xc2\\x8d\\x9d\\xf6\\xfc\\x48\\x3a\\xc8\\xf7\\x2f\\xf4\\xed\\x7b\\xe1\\xf8\\x71\\x69\\x6e\\x01\\x48\\xf8\\xbf\\x28\\x7a\\xec\\x1b\\xcf\\x0b\\x05\\xad\\x25\\xb9\\x6e\\xc0\\x71\\x6e\\x65\\x49\\x90\\x6e\\x1d\\xcb\\x0d\\x19\\xac\\x80\\x26\\x7c\\xbe\\x48\\x4d\\xc2\\xc7\\x69\\x50\\x9a\\xa3\\x71\\x12\\xa6\\x9a\\xf4\\x24\\x6a\\xe6\\x50\\x5b\\x56\\x12\\x19\\xc1\\x8d\\xda\\xe2\\x2c\\x58\\xa0\\x08\\x10\\xcd\\x09\\xc0\\xc5\\xbe\\x7d\\x7c\\xcf\\x2f\\xb5\\x32\\x62\\x2c\\x3f\\xf0\\x4b\\xaf\\x85\\xdd\\x3b\\xfa\\x0d\\xfd\\x2d\\x91\\x44\\xe7\\xea\\x35\\x0b\\x85\\x3f\\x3c\\x2f\\xb6\\xba\\x7f\\xf2\\xb4\\x99\\x55\\xdb\\xcf\\x1c\\xbc\\xf6\\xdd\\x9b\\xaf\\x39\\xae\\x19\\xc6\\x0c\\x7e\\x33\\xb7\\x6a\\xdd\\xe3\\xbb\\x84\\x26\\x93\\x7a\\x45\\x5b\\x3b\\x43\\xbf\\x66\\xe8\\x31\\x1f\\xcc\\xac\\xd8\\x5d\\x3b\\xa2\\x47\\x97\\x58\\xb9\\xb7\\x70\\xef\\xca\\xfd\\x47\\x36\\xee\\x72\\x77\\xef\\xb4\\xc0\\x5f\\xe8\\xf7\\xe6\\xde\\xbe\\xe4\\xf8\\x09\\x29\\x77\\xab\\x13\\x73\\x37\\x1b\\xae\\x6f\\xb1\\x90\\x20\\x69\\xda\\xc1\\x10\\x84\\x9d\\xd7\\x55\\x27\\x78\\xa7\\x02\\x52\\xb0\\x3a\\x41\\xb1\\x80\\x21\\x98\\xcc\\xb6\\xf8\\x8c\\x69\\xa8\\x64\\x02\\xd7\\xaa\\x24\\x98\\xea\\x2f\\xb6\\x62\\x95\\xa4\\xb9\\x23\\xa4\\x54\\x30\\x98\\x43\\x6e\\x4e\\xe6\\x70\\xbd\\xb7\\x0e\\x1a\\x34\\xbf\\x22\\xda\\x21\\x3f\\xd1\\x79\\xd8\\x3d\\x37\\x24\\x6e\\xe9\\xf3\\x0a\\x79\\x3f\\xce\\xe3\\x14\\xe3\\x27\\x4e\\x1e\\xa6\\xfd\\xd4\\x30\\x69\\xda\\x4d\\xe3\\xf0\\xda\\xcf\\x42\\x7b\\x54\\xa0\\x77\\x21\\xbb\\xdd\\x2d\\x1e\\xc0\\xc7\\x13\\x72\\x6a\\x33\\x07\\xed\\x36\\x95\\x4a\\x67\\xb1\\x98\\x75\\xe2\\xbc\\x0b\\xa1\\x33\\xf3\\x3a\\x05\\x1e\\x5d\\xce\\xc4\\xdc\\x93\\xcd\\x51\\x56\\x08\\x90\\x0c\\x92\\xa4\\xf2\\x9b\\x8f\\xc0\\xcd\\x96\\xc8\\x7b\\x59\\xc8\\xc2\\xf3\\xef\\xde\\xbd\\x71\\xfa\\xbe\\xf2\\x3f\\xaa\\x81\\xff\\x27\\x40\\x83\\xa8\\x70\\x56\\xf8\\x3d\\x2e\\x7c\\x3c\\xb5\\x9c\\x0c\\xbc\\x78\\x6a\\xc5\\xce\\x59\\xcb\\xfa\\xbd\\xfe\\xac\\xf0\\xf7\\x8f\\xc2\\x35\\xe1\\x05\\x5e\\x38\\x41\\x16\\xeb\\xa4\\xbd\\xd1\\x09\\x39\\xe4\\x03\\xc8\\x17\\x9b\\x88\\x48\\xdc\\x48\\xb1\\x6a\\x82\\x85\\x16\\xb3\\x4a\\xa5\\x25\\xcc\\x5a\\xa6\\x36\\xa1\\xe5\\x52\\x02\\xc9\\x42\\xe0\\xe3\\x92\\x0c\\xd4\\x22\\xbc\\x5f\\x6a\\xa6\\x65\\xe0\\x6b\\x43\\x8e\\xbd\\x98\\xe8\\xbf\\x37\\x7a\\x79\\x20\\x58\\x70\\xfa\\xbd\\x91\\xc7\\xe6\\x75\\x04\\xcf\\xdf\\xbe\\x71\\xc8\\xe8\\x6d\\x26\\x50\\xfc\\xec\\x91\\x45\\x8f\\xce\\x30\\x08\\xaf\\x60\\xdf\\x8f\\xf9\\x44\\xe8\\xc5\\xe8\\xcc\\xf2\\x84\\x17\\x45\\x98\\x23\\xe3\\xad\\x42\\x0a\\xa7\\x16\\xd9\\x4c\\x2b\\x8f\\xb6\\xa4\\x49\\xa5\\x55\\xd0\\x79\\xb9\\x16\\x9e\\x37\\x12\\x2a\\xaf\\xcf\\xe7\\x45\\x6b\\xe3\\x23\\x7c\\x1c\\xc9\\x59\\xeb\\x13\\x1c\\x4f\\x46\\xe5\\x12\\x00\\x71\\x1d\\xa0\\xa4\\x84\\x05\\x00\\x32\\xc2\\x4d\\x31\\xe0\\x44\\xc7\\x3a\\x0b\\x4b\\xd2\\x18\\x0c\\xe3\\x16\\xe0\\xeb\\x10\\x25\\x8d\\xf3\\x8e\\x91\\xbd\\xb2\\xa0\\x24\\x2b\\xe7\\x81\\x17\\x81\\x21\\x22\\x5c\\x35\\x5d\\x07\\x29\\x49\\x32\\x70\\x51\\x1a\\x4b\\x12\\x74\\x7b\\xe9\\xa5\\xc9\\x19\\x78\\x92\\xc8\\x3e\\x28\\x45\\xcc\\x80\\x95\\x62\\x8e\\xd3\\x37\\x1e\\xa2\\x3c\\x1e\\x33\\xe0\\x79\\xc6\\xef\\x50\\x28\\x34\\x2a\\x86\\x09\\x38\\x35\\x66\\xb3\\x92\\x22\\x50\\xa2\\xc3\\x5a\\xea\\x13\\xac\\x51\\x81\\x95\\x4a\\x35\\x96\\xc8\\x0a\\x80\\x58\\x8a\\x95\\x42\\xfa\\x17\\x19\\xfa\\xc4\\x2f\\x21\\x6d\\x30\\xc9\\xf1\\xb3\\x20\\x10\\x5b\\x68\\x44\\xb0\\x97\\xe2\\xcd\\x13\\x40\\x64\\x1c\\xb9\\x6c\\x22\\x88\\x4c\\xda\\x12\\xd9\\xe2\\x4a\\x8d\\x9f\\x79\\x36\\x93\\xf7\\x1f\\x3a\\x1a\\x70\\x34\\xae\\xd2\\xf3\\xb7\\xc2\\xe9\\xa4\\xb1\\xf1\\x47\\xfc\\xeb\\xec\\x76\\x69\\xfc\\xac\\xf7\\x51\\xa1\\xe4\\xf6\\x47\\xd6\\xf6\\xc3\\x03\\x68\\x28\\xa7\\xbb\\x97\\x00\\xd4\\x67\\xf4\\x2a\\x5e\\x01\\x07\\x88\\xf1\\x5a\\xa8\\xe9\\x56\\x7a\\x03\\xfd\\x95\\xc8\\xdf\\xe6\\x20\\xd6\\xc6\\x6b\\x18\\x25\\x20\\x4d\\x36\\x1b\\x45\\x21\\xc1\\x0d\\x76\\x33\\xa7\\xb3\\x28\\xb4\\xbc\\x5e\\xa5\\xe4\\xd4\\x4e\\xb5\\x4b\\x6b\\xa5\\xf1\\xdb\\x72\\x98\\x50\\xc8\\xa1\\x33\\x99\\x30\\x43\\x81\\x09\\x6c\\x30\\x81\\x0e\\x26\\x00\\x59\\x13\\xd0\\xd2\\x36\\x93\\xcd\\x44\\xa8\\x98\\x38\\x8d\\x63\\x16\\xe4\\xb0\\x49\\x6c\\x9d\\xdf\\x14\\x1d\\x8f\\xe3\\x2d\\x09\\xe7\\x23\\xc9\\x3f\\x60\\xc8\\x1a\\xab\\xe1\\x33\\xcd\\x8f\\x9f\\x09\\x22\\xdd\\xfd\\x72\\x3e\\x21\\xd9\\x6e\\x80\\x17\\xc8\\x18\\x04\\x89\\xbe\\x87\\xfb\\x6e\\x05\\x06\\x18\\xef\\x7c\\xb8\\xf3\\xf4\\x82\\x2f\\x7e\\x05\\x03\\x0a\\x84\\xae\\x02\\xf9\\x71\\x61\\x63\\xdf\\x86\\x5f\\x85\\xba\\x07\\x5e\\xde\\x3c\\x7d\\x3a\\xbd\\xb2\\xbe\\xfe\\x82\\x70\\xd7\\x05\\x61\\xf3\\x05\\xd8\\x1e\\x8c\\x69\\xb8\\x03\\xf8\\xd1\\x51\\x6d\\xea\\x2b\\x0c\\xa6\\x09\\xd1\\xaf\\x86\\x88\\x5c\\xa2\\x98\\x38\\x14\\x1f\\x9b\\xeb\\x0c\\xe5\\xe5\\x71\\x9c\\x5e\\x53\\x00\\x0a\\x3d\\x44\\xd4\\x1b\\xb1\\xd8\\x15\\x4e\\x56\\x67\\xb5\\xd9\\x5a\\x69\\x75\\xba\\x12\\x2b\\xf0\\x46\\xfc\\x21\\x93\\xbf\\x36\\x01\\x0a\\x60\\x91\\x9d\\xb0\\x58\\x4c\\x04\\x51\\x14\\x2a\\xaa\\x4d\\x44\\x35\\xfa\\x10\\xa6\\x21\\xe8\\x1b\\x1a\\x16\\x22\\x43\\x21\\x95\\x89\\xd3\\xb9\\x06\\xd1\\xe3\\x68\\x92\\xa0\\x39\\xda\\x47\\x43\\x15\\x45\\xab\\x54\\xb0\\x26\\xa1\\x92\\xc1\\x05\\x31\\x37\\xbe\\x88\\x0f\\x5b\\x3c\\x22\\xbf\\x42\\x1e\\x14\\xe0\\xc5\\x56\\x23\\x43\\x92\\xb4\\xb3\\x42\\xc6\\x03\\x68\\x36\\x23\\x01\\x60\\x9a\\x84\\xa0\\x99\\x43\\xc6\\x14\\x04\\xe5\\xa2\\xc5\\x08\\xb7\\x8e\\xa0\\xe8\\xcc\\x64\\x2d\\x0f\\x2a\\xc8\\xda\\xc7\\x8a\\xfa\\xed\\xe8\\xf2\\x47\\xaf\\x2f\\x1f\\xbf\\x79\\x8c\\xf0\\xe6\\x01\\x30\\x71\\xf6\\x36\\xa0\\x3e\\x36\\x7d\\x20\\xb0\\x1d\\x10\\x9e\\x5a\\x6e\\x13\\xf4\\xf7\\x05\\x8b\\x46\\xad\\xb5\\x83\\x47\\xd4\\x23\\xc7\\x0b\\xb9\\xa0\\xa6\\x2f\\x03\\x3e\\x13\\xfe\\xc8\\x7d\\xa0\\xcf\\xbe\\x65\\x85\\x42\\x07\\x92\\x9b\\xfd\\xfa\\x5b\\xa0\\xed\\x61\\x0f\\xd8\\x2b\\x04\\xa6\\x9c\\x1b\\x3b\\xe7\\xa9\\x3f\\xb8\\x0d\\x4b\\xda\\x16\\x07\\x36\\x08\\x57\\xac\\xca\\x05\\x39\\xc8\\xae\\xd8\\x9b\\xae\\x50\\xc7\\xd1\\x19\\xb0\\x11\\x7d\\xe2\\x61\\xd6\\x06\\x21\\x6d\\xb7\\x92\\xa4\\x8a\\x41\\x66\\x59\\x65\\xb3\\x29\\x70\\xe3\\x34\\xa1\\xa3\\x74\\x3c\\xee\\x2d\\xa3\\x60\\x7d\\x82\\x6a\\x7e\\xae\\x0d\\xc9\\xce\\xb2\\x58\\x12\\x3b\\x55\\x2c\\xb2\\x27\\xfb\\xc9\\x30\\x76\\x03\\x0c\\x8b\\xd3\\x62\\x95\\x20\\x48\\x6a\\x88\\xa6\\x76\\xc2\\xa5\\x02\\xb2\\x72\\xd2\\x8a\\xc8\\xca\\x56\\x85\\x57\\x3f\\x12\\x96\\x75\\x07\\x9a\\xa2\\x03\\x65\\x7d\\x8b\\x8d\\x85\\x02\\x9c\\x0e\\x0a\\x2e\\xa1\\xed\\xde\\x70\\xe9\\x3d\\xb0\\xb5\\xdd\\x37\\x25\\x75\\x23\\x7f\\x48\\x72\\x81\\x0d\\x47\\xef\\xda\\x84\\xa4\\xac\\x8e\\xe7\\xd3\\x24\\x0a\\x56\\x19\\x0a\\xd2\\x3a\\x33\\x4a\\x39\\x4c\\x3a\\x9d\\xdd\\x62\\x1e\\x98\\xb0\\x00\\xc6\\x44\\x98\\xaa\\x31\\x2a\\x91\\x86\\xd4\\xb0\\xd8\\x3d\\x92\\x29\\x3c\\x0c\\x5b\\x71\\xec\\x3a\\x17\\x22\\xda\\xa0\\x0c\\x9c\\x22\\x09\\x2b\\x45\\xcc\\x2d\\x83\\x38\\xf7\\x08\\x2e\\x1f\\x08\\xec\\x03\\x57\\x46\\x56\\xcd\\x74\\x3f\\xb4\\x49\\x4e\\x34\\xc7\\x2d\\x03\\xde\\x28\\xb0\\x47\\xc9\\x5b\\xc1\\xfd\\xc2\\x90\\xb3\\x8d\\xa7\\xb6\\xdd\\x21\\xe6\\x9c\\x24\\x84\\x6d\\xde\\x7e\\x5b\\x8c\\x87\\x85\\x3a\\x45\\x11\\xf2\\x23\\x1e\\x22\\x8f\\xe8\\x17\\xcf\\x55\\xf8\\x03\\xd0\\x60\\xb0\\xc0\\xa8\\x46\\x03\\x9d\\x46\\xaa\\x20\\x5f\\x61\\x50\\xb2\\x3c\\x64\\x51\\x88\\xcb\\x52\\x4a\\x64\\x37\\x95\\x46\\xc2\\x3e\\x2a\\x95\\xe7\\x66\\x82\\xd2\\xa6\\x2f\\x02\\xa4\\x35\\x95\\xf0\\xe0\\x15\\xc1\\x34\\x8a\\x57\\x2c\\xc9\\x6a\\x81\\x56\\x39\\x8d\\x89\\x61\\xb2\\x50\\xdf\\xae\\x99\\x67\\x30\\xee\\x3d\\x21\\x5c\\x11\\x9e\\xc6\\x68\\x24\\x57\\xee\\x79\\x3e\\x2e\\x5c\\x66\\xf2\\x8b\\x5d\\xbd\\x0b\\xc3\\xb3\\x1a\\x3f\\x7d\\x7b\\xed\\xa6\\xf9\\xcf\\x60\\x34\\x12\\xa1\\x6e\\xca\\xdc\\xf8\\xe0\\x71\\xdd\\x40\\x67\\xc0\\x61\\x3c\\x92\\x1b\\x07\\xff\\x53\\x1f\\x76\\x14\\x17\\xe9\\x2e\\x2a\\xb5\\xe4\\xd2\\x04\\xd4\\xcc\\x95\\x00\\x49\\x90\\x5e\\xed\\x45\\x5c\\x70\\x7c\\x2f\\xd5\\x0a\\xe9\\x95\\x67\\xcd\\x23\\x20\\x34\\x41\\x4a\\x65\\x2a\\xf1\\x78\\x4c\\x3a\\x8a\\x8a\\x95\\x06\\x0a\\x50\\xd6\\x4c\\x38\\x03\\x9c\\x33\\xa7\\x2a\\xe1\\xb4\\x18\\x34\\xd5\\x09\\x83\\x13\\xb2\\x59\\xe0\\x1e\\xd9\\x93\\x1e\\x92\\x5e\\xb8\\xbd\\x4e\\x21\\x4f\\xac\\x63\\x4d\\x82\\x32\\xf0\\xfd\\x7f\\xcc\\xf3\\xe0\\x2a\\xe4\\x1a\\x80\\x9e\\x2d\\xda\\xa3\\x4c\\x88\\x1a\\x45\\xe6\\x2f\\x33\\xe6\\xb4\\x98\\xd7\\xc1\\x75\\x45\\x73\\x0c\\xf9\\xbf\\x37\\x7c\\x18\\xf5\\x4c\\xc2\\x4a\\xad\\x5d\\xd5\\x6f\\xd0\\xc1\\x96\\xb3\\x39\\xb4\\xcf\\xbe\\x42\\x3e\\xef\\x55\\xd1\\xe7\\x39\\x89\\x9a\\x78\\x54\\xab\\xd1\\xa9\\xd5\\x8c\\x93\\x65\\x01\\xa7\\xe1\\x78\\x0b\\xc3\\xb8\\x79\\x97\\x5e\\xcd\\x13\\xe8\\x2c\\x38\\xd1\\xab\\xd6\\x22\\x47\\xe7\\x48\\x3b\\xba\\x58\\x32\\x66\\x4d\\xdd\\xc3\\xa5\\xb8\\x58\\x32\\x9c\\x9c\\x84\\xdf\\x80\\xdb\\x9a\\xf0\\x18\\x79\\x38\\x09\\xe3\\xa0\\x7d\\x6a\\x19\\x79\\x8b\\x04\\xde\\xc0\\x0b\\x4f\\x5e\\x14\\x0e\\x4f\\x14\\x3e\\x9e\\xf4\\x14\\xdc\\x2d\\xc2\\x38\\xdc\\x56\\x43\\x36\\x90\\x6b\\x64\\x04\\x87\\x53\\xa4\\xa5\\xf1\\x7b\\xd2\\xfa\\x3f\\x29\\x18\\x07\\x14\\x53\\x61\\xec\\xef\\x45\\xe8\\xdd\\xd8\\x89\\x81\\xf1\\x7c\\x9d\\x9a\\x53\\x71\\xb4\\x11\\x05\\xba\\x4a\\x83\\x52\\xa3\\x32\\xa8\\xec\\x0e\\xbb\\xd3\\x4a\\x56\\x27\\xac\\x1c\\xa3\\xd1\\xa2\\x97\\x42\\x19\\x39\\xad\\x16\\xe5\\xa5\\x2a\\xb3\\x04\\xdc\\x25\\x8f\\x3a\\x65\\x0f\\x9b\\xa3\\x57\\x13\\x4b\\x02\\x0a\\xa1\\x6d\\x95\\xa6\\x4a\\xe0\\x31\\x38\\xa2\\x94\\x97\\x5b\\x61\\xbf\\xee\\x85\\x5f\\xf7\\xdb\\x1d\\xb9\\xb3\\xa7\\x70\\xa9\\xe7\\x9c\\xc8\\x9c\\x8e\\x6e\\x08\\xb4\\x66\\x15\\xd5\\x7b\\xcb\\xf0\\xe2\\xb6\\x70\\x30\\x2b\\xbc\\x77\\x56\\xd8\\x01\\xa6\\x9d\\x05\\x1d\\x1e\\x70\\x1f\\xe8\\xb0\\x76\\x8a\\x1e\\xed\\xa3\\x1a\\xb4\\xc6\\x7f\\x88\\x33\\x9c\\x26\\xa2\\x5d\\xdc\\x67\\x20\\x8c\\x26\\x46\\xa1\\xd1\\xaa\\x54\\x66\\x00\\x2c\\x26\\x88\\xa2\\xef\\xd1\\x09\\x8c\\x74\\xac\\x56\\x70\\x5a\\x88\\xf3\\x5e\\x71\\x61\\x2b\\x62\\xe9\\xa5\\x95\\x76\\x0d\\x12\\x08\\x63\\x95\\x40\\x24\\x52\\xc4\\x6f\\xc5\\x63\\x9b\\x46\\x3f\\xbd\\x64\\x61\\xe4\\x6f\\x61\\xc6\\x4d\\xc2\\x27\\x37\\x7d\\xfc\\x7b\\xce\\x9c\\x4a\\x10\\xea\\x40\\x96\\xce\\x00\\x5d\\x1b\\xbe\\x7d\\x43\\x38\\x4d\\xfd\\x7e\\x56\\xb0\\x37\\x3e\\x4b\\x76\\x01\\x97\\xce\\x6e\\xde\\xbc\\xb9\\xf1\\x5e\\x4c\\x48\\x4b\\x4a\\x75\\x51\\x71\\x7e\\xc9\\x43\\x0c\\x8a\\x17\\x7b\\x28\\x83\\xd5\\x62\\xb4\\x98\\x79\\x83\\xcd\\xed\\xb2\\x43\\x02\\x68\\xd5\\x0e\\xa7\\xd3\\xa7\\xf6\\xba\\xa1\\xd1\\x64\\xac\\x46\\x1b\\xdc\\x63\\x32\\x29\\x1d\\x16\\x09\\xf4\\x2b\\xdd\\x70\\x9a\\x25\\x61\\xda\\xe6\\xc7\\x64\\x49\\x71\\x3f\\x69\\x6a\\x66\\x16\\x89\\x8c\\xa3\\x03\\x23\\x4a\\xcb\\x8d\\x94\\x7d\\x75\\xe4\\x1d\\x61\\xe7\\x94\\x75\\x3b\\x46\\xa4\\x46\\x66\\x67\\xbc\\x94\\x33\\xb7\\x23\\x08\\xe6\\x83\\xce\\xfb\\x40\\x41\\xe3\\x5b\\x4f\\xfa\\xa1\\xfa\\x6c\\xe3\\xfa\\xfb\\xd6\\x77\\x96\\x06\\x65\\xc9\\xc8\\x59\\x50\\x22\\x9c\\x43\\xbf\\x68\\xe1\\x69\\x31\\x8e\\xe9\\x8c\\x6c\\xf8\\x74\\xf4\\xfe\\xf3\\x89\\x36\\xc4\\x88\\x78\\x69\\x89\\xd6\\x6a\\xe3\\x0a\\x78\\x08\\x83\\xbc\\x27\\xea\\x09\\xda\\xb4\\x74\\xdb\\x72\\xae\\xa0\\x36\\x61\\x75\\xd2\\x04\\xc7\\x39\\x09\\x27\\xca\\x1a\\x9c\\x16\\x55\\xac\\x2a\\xa1\\xe2\\x88\\x9c\\xda\\x2c\\x34\\xec\\x2c\\x58\\xc9\\xd4\\x51\\x4d\\xd5\\x64\\x8c\\xd2\\x74\\x9b\\x5c\\x95\\xa1\\xe8\\x14\\x84\\xae\\x7c\\x58\\x93\\x34\\x5c\\x4c\\x79\\x27\\x60\\x4c\\xa1\\x4d\\x30\\x0d\\xe3\\xa6\\xd2\\x8a\\x41\\x07\\xe7\\x6d\\xba\\x4f\\x68\\x10\\x2e\\x3d\\x67\\x5e\\x3e\\x72\\xb8\\x01\\x30\\x81\\x9f\\xcf\\xbc\\xfd\\x82\\xad\\xa7\\x32\\x1a\\xf1\\xf8\\xf4\\x79\\x37\\x7c\\x73\\xcf\\xbc\\xb5\\x55\\x5d\\x07\\xae\\x77\\x52\\xdd\\x06\\x75\\x0f\\x3b\\x57\\x8d\\xbe\\xef\\xe6\\xa7\\x9f\\xa4\\xa8\\x91\\xe1\\x15\\xbd\\xbb\\x7b\\xb7\\xed\\xba\\x75\\x67\\x78\\x01\\x18\\x5d\\xe8\\xf4\\x04\\x99\\x3d\\x9c\\xa2\\xb1\\x69\\xc4\\xe0\\x1e\\x55\\x2b\\x6f\\x24\\x64\\x5c\\x58\\xea\\x59\\x71\\xff\\x47\\x88\\x5e\\xf1\\xb0\\xdd\\xab\\x87\\x1c\\x8a\\xd9\\xcd\\x9c\\x21\\x47\\x61\\x50\\xe4\\x46\\xf1\\xbd\\xab\\xc5\\xcc\\xb1\\xea\\x80\\x78\\xf7\\xea\\xc8\\x86\\x83\\x4d\\x1a\\xdb\\x2c\\x8a\\xd6\\xeb\\x6e\\x5c\\xdb\\x60\\x2c\\x83\\xff\\x15\\x06\\x56\\x1f\\x02\\xaa\\xd2\\x39\\xff\\x05\\x03\\xb6\\xd3\\x9c\\xdf\\x1a\\xf7\\x5f\\x0f\\x01\\x4b\\x12\\x39\\x48\\x87\\x23\\x48\\x07\\xcc\\x23\\x85\\x74\\x08\\x29\\xac\\x6e\\x1d\\x64\\xcd\\x66\\x93\\x89\\xe5\\x14\\x5c\\x24\\x47\\x47\\x40\\x35\\xfa\\x57\\xb3\\xda\\x27\\xa2\\xe3\\xd8\\x32\\xd0\\x71\\x9a\\xe9\\x90\\x71\\x6b\\x9c\\x01\\x8d\\xe3\\x8b\\x04\\x91\\xf4\\xe5\\x62\\xe1\\x9a\\xc9\\xc2\\xc4\\x01\\x7f\\x26\\x35\\x68\\x22\\xda\\x21\\x0d\\x84\\x3f\\xb1\\x06\\xc0\\xce\\xfe\\x54\\x33\\xa7\\xb6\\x44\\xba\\x0f\\xbe\\x43\\xd4\\x40\\xb8\\xf5\\xb9\\x33\\x48\\x01\\x72\\xd4\\x4d\\xf3\\x3b\\x8d\\x49\\xca\\x0f\\xd4\\xa2\\xfc\\x49\\x9c\\xf0\\x10\\x11\\x23\\xaa\\xe2\\xf9\\xad\\xa0\\x3f\\x4f\\x0b\\x0d\\x3e\\x9f\\xd9\\x6c\\xe0\\x79\\x07\\x84\\x65\\xad\\x6d\\x6e\\x74\\x7c\\x80\\xd6\\xaf\\x24\\x78\\xb3\\xb2\\xb0\\x2a\\xa1\\xb4\\x10\\xe1\\x96\\xa0\\xd8\\x53\\x08\\xb6\\x99\\x40\\xec\\xe9\\x7a\\xa9\\x8c\\xad\\x9f\\x09\\xd4\\xfc\\xff\\x00\\xc8\\xae\\xcc\\x7d\\xda\\x7d\\xf2\\x90\\x88\\x87\\xd1\\xae\\x27\\x57\\x72\\x3d\\x2a\\xbb\\x5c\\x15\\x4d\\x42\\xec\\x3f\\x7b\\xe7\\x4e\\xd3\\x1b\\x6c\\xd7\\x3e\\x9f\\x5f\\x8f\\xcd\\x0e\\x08\\x27\\xe6\\x18\\x12\\xf7\\x5b\\x79\\xdc\\x65\\x53\\x41\\xca\\xc0\\x71\\x94\\x0a\\x3a\\x1d\\x06\\xa8\\x53\\xe8\\x8c\\x55\\x09\\x14\\x67\\xe3\\x7a\\x0d\\xf7\\x9f\\x31\\xc0\\x71\\x98\\x27\\x65\\x65\\x64\\x46\\xf3\\x39\\x3a\\x2f\\xe4\\x90\\x81\\x53\\x7d\\xc2\\x2f\\x53\\xc0\\x8e\\xcf\\x7e\\xbc\\x4b\\xf8\\xfb\\xf4\\x33\\xdf\\xe8\\x81\\x4b\\xc2\\xa1\\x86\\x9b\\x27\\x4f\\x2c\\x05\\xf5\\x5f\\xbf\\xfa\\x92\\x70\\x64\\xff\\x73\\x47\\xac\\x12\\xf0\\x34\\xb2\\x61\\x8f\\x35\\xbd\\x48\\xdd\\x80\\xe4\\xc1\\x31\\x47\\x6d\\x3c\\x4f\\xa3\\x26\\x5d\\x61\\xe8\\xa5\\xbc\\x56\\x03\\x45\\x59\\xd5\\xb0\\x80\\x20\\xf2\\x03\\x1a\\x93\\xd2\\x60\\x32\\x98\\x1c\\x4a\\x47\\xb4\\x26\\xe1\\xb0\\x28\\xf5\\x55\\x78\\x2c\\xae\\x59\\x28\\x87\\x31\\x83\\xb3\\x51\\x1c\\xb0\\xb0\\x52\\xdd\\x1f\\xa3\\x9f\\x19\\xa5\\x81\\x80\\x64\\xd7\\x04\\x2e\\x9f\\x29\\x92\\x2d\\xb0\\x62\\x55\\xa1\\xef\\xe8\\xae\\xa6\\x1d\\x40\\x77\\x0c\\xec\\x2e\\x14\\x2e\\xd0\\x43\\xab\\xe7\\xee\\x32\\x0f\\x7f\\x6c\\xe2\\xe6\\x43\\xc2\\x57\\xdf\\xbf\\xbc\\x78\\x54\\x21\\xf9\\x61\\xd7\\x7e\\x9d\\x77\\x96\\x3a\\xa6\\xb5\\x1f\\x37\\x33\\x31\\xad\\xb2\\xbe\\xee\\x29\\x50\\x74\\x44\\xd8\\x6d\\xad\\x1f\\xf5\\xd3\\xb9\\x2e\\x9d\\xd6\\x4d\\x3f\\xf8\\xfa\\x94\\x31\\x31\\x30\\x31\\xa7\\xac\\x5b\\x59\\x51\\x59\\x77\\xe9\\x6c\\x0b\\x75\\x22\\xe6\\x33\\xe6\\x73\\xe8\\x1f\\xcf\\x0b\\x44\\xf5\\x28\\x9e\\x32\\x7b\\x8b\\x15\\x0a\\xaf\\x1d\\xf2\\xad\\xf8\\x52\\x97\\xb5\\x3a\\xe1\\x72\\xca\\xcd\\x15\\xf9\\xe2\\x01\\x0f\\x5e\\xdf\\x5c\\x51\\x99\\x81\\x88\\x1a\\x2b\\x6d\\x19\\xe9\\x19\\x19\\x64\\x39\\x08\\x49\\x42\\x89\\x66\\x9f\\xf4\\xdf\\x7b\\x3e\\xd8\\xac\\x14\\x2f\\x7c\\xc1\\x8c\\x77\\xf5\\xc8\\x1f\\xd9\\x71\\xcb\\x26\\x4d\\xee\\x1f\\xff\\xa9\\xee\\xfe\\x8f\\x22\\xe8\\x1a\\xa1\\xfb\\xc8\\xb4\\x74\\x8d\\xb7\\xf6\\x83\\x6c\\xe4\\x67\\x09\\xd3\\xfa\\x1b\\x91\\x97\\xba\\x98\\x48\\xc4\\x4b\\xfc\\x11\\x3d\\x64\\x3d\\xac\\xc3\\xe3\\x2e\\x52\\x28\\xdc\\x0e\\x68\\x2a\\x31\\xb5\\xc2\\x9a\\x79\\x50\\xda\\xe2\\x31\\xf3\\x48\\x57\\x1e\\xa8\\xf3\\x44\\x2d\\x03\\xff\\x15\\xd5\\x3a\\x3b\\xc8\\x6a\\xa6\\x6b\\x16\\x0c\\xe5\\xff\\x6a\\xd4\\x5a\\xbb\\x9f\\x38\\x28\\x9e\\x9c\\xd6\\xfd\\xb9\\x07\\xff\\x8b\\x6d\\x03\\x66\\x11\\x20\\xab\\x43\\x4d\\xc3\\xc2\\x96\\x40\\xae\\x25\\x1b\\x81\\xcf\\x8d\\x19\\x65\\x6d\\x7d\\xe3\\x51\\xb5\\xd3\\xc9\\xdb\\x34\\x14\\x84\\x1a\\x1e\\x7a\\x3d\\x1a\\x5b\\x2d\\x1e\\xd8\\x04\\x2c\\xd4\\x68\\x08\\x3d\\x9e\\x96\\xd7\\x73\\x04\\x53\\xd3\\x0c\\x69\\x0d\\x67\\x9c\\xd7\\x8d\\x0b\\xd3\\xa9\\x19\\xe1\\x72\\x3f\\x4f\\xc4\\x4a\\x25\\x18\\x02\\x18\\x80\\x7e\\xec\\x80\\xc0\\xd9\\x07\\xfe\\xc7\\x01\\x74\\xe6\\x44\\xed\\x8d\\x8b\\xdd\\x8d\\x55\\x76\\xe0\\xf9\\x6d\\xd5\\x3b\\xb3\\xef\\x16\\x7e\\x0c\\xbc\\x95\\x0b\\x1e\\x60\\xc6\\x99\\xee\\x5a\\x6f\\xed\\xd0\\x7d\\xdf\\x3d\\xa0\\x00\\xb4\\x9f\\xf0\\xcc\\xb2\\xb7\\x84\\x93\\x47\\xe1\\xbf\\x84\\x7f\\x72\\x73\\x06\\x8f\\x91\\xf0\\xf7\\xf0\\x1d\\x3b\\xb2\\xcb\\x5e\\x8c\\xd2\\xec\\x25\\x49\\x3d\\xa3\\xb4\\x9b\\xcd\\x4a\\x3d\\xf4\\xfb\\xac\\x48\\x66\\x46\\xc3\\x5a\\x91\\xd0\\x56\\x2b\\xaf\\xe1\\x5d\\xb5\\x09\\xde\\xa2\\xa1\\x6b\\x12\\x1a\\xae\\xb9\\xd0\\xd7\\xe3\\x4c\\x83\\x64\\x75\\x26\\x69\\xa4\\x29\\xc9\\x85\\x5a\\x19\\x79\\x4c\\xde\\x98\\xe2\\x9e\\x7b\\xff\\xea\\x36\\xe1\\xcf\\xe3\\xef\\x7c\\x6b\\xbb\\x22\\xb1\\xcc\\x91\\x23\\x23\\xa5\\x12\\xcb\\xdc\\xa5\\xb7\\xdf\\x16\\x5e\\x3b\\x8c\\xf9\\xe5\\x9e\\x92\\x68\\xe5\\xf0\\x3a\\xb7\\x6d\\xba\\x42\\x5f\\x11\\x39\\xf8\\x22\\xc4\\x84\\x78\\x79\\xc8\\x66\\x63\\x49\\x8f\\x37\\x6c\\x36\\x7b\\x49\\x48\\xa9\\xa3\\xea\\x5c\\x46\\x5b\\x95\\x08\\x85\\xd9\\xb0\\x95\\x85\\xa4\\xcd\\x0a\\x3d\\x8c\\x07\\xa2\\xdf\\x20\\x0a\\x6d\\x03\\x58\\x03\\xc2\\x55\\x93\\xb6\\xcb\\x12\\x31\\x40\\xb1\\x44\\xc4\\x2a\\x05\\x03\\xf9\\xcd\\x0b\\xa1\\x18\\x8c\\xde\\x58\\x9e\\x44\\x53\\xc0\\xf6\\x8c\\x94\\x00\\x06\\xcb\\xc3\\xad\\xb1\\xc5\\xc0\\x83\\xf1\\xc6\\x52\\x23\\xcd\\x98\\xc8\\xd5\\x60\\x5e\\xe9\\x2b\\x85\\x95\\xad\\xcb\\x03\\x13\\x66\\xcf\\x99\\xa5\\x6b\\x2b\\x7c\\xf4\\xcb\\xf3\\x1f\\x1a\\xc9\\x17\\x83\\xfd\\xe2\\xbb\\x2a\\x85\\x6b\\xfd\\x88\\x26\\xd3\\x5f\\x6e\\xa1\\x2b\\x45\\x0d\\x10\\xee\\xcb\\xd9\\xd0\\xaf\\xbd\\xfd\\xf1\\xd0\\xf4\\x05\\xc2\\xb7\\xc2\\xc7\\x17\\xde\\x1a\\x3a\\x6c\\xfc\\xa0\\x1b\\x4a\\x56\\x5a\\xef\\xd8\\xdc\\x50\\x05\\xea\\x3a\\x77\\x7f\\x07\\xdf\\x83\\x3b\\x9a\\xae\\xc0\\x4b\\x54\\x7f\\x5e\\x01\\x27\\x8a\\x7d\\x02\\x1a\\xf4\\xdf\\x3f\\xe0\\xf9\\x35\\x78\\x59\\x8c\\x8d\\x7f\\x42\\x6b\\x31\\x13\\xad\\x45\\x2b\\x62\\x56\\xbc\\x32\\xca\\x39\\x55\\xc5\\x66\\x8b\\x45\\x5b\\x50\\xec\\x74\\x29\\x82\\x30\\x18\\x43\\xbb\\xaf\\x34\\x5f\\xab\\xd3\\x69\\x6b\\x13\\x3e\\xe4\\x8d\\x28\\x42\\xe7\\x34\\x47\\xa1\\xcf\\xa5\\xf3\\xb9\\x5c\\x3e\\x1d\\x24\\x6c\\x36\\x63\\x6d\\xc2\\xc6\\x89\\x44\\x35\\x96\\xe6\\x2b\\x22\\x73\\xb9\\xe7\\xa7\\x6f\\x91\\x33\\x67\\xed\\xe5\\x8d\\x59\\x9e\\x44\\xdd\\x2a\\xcf\\x2a\\xc7\\x59\\xb3\\x96\\x4b\\x0f\\x18\\xb3\\x54\\x7a\\xbd\\xf7\\xc9\\x2f\\xdc\\x0d\\xc1\\x43\\xc3\\x86\\xaf\\x5f\\xea\\x3a\\xb6\\x6d\\x70\\x4f\\xa9\\x54\\xb7\\xf9\\x74\\xe4\\x79\\x79\\xd1\\xa6\\xce\\x32\\xe4\\xdc\\x56\\x35\\x7d\\x91\\x20\\x98\\xf6\\xef\\x2c\\x38\\x58\\xd3\\xab\\xa6\\xdb\\xbf\\xaa\\x6a\\x2a\\xda\\xe1\\x0a\\x5e\\xa2\\x9f\\x77\\x95\\xb8\\x64\\x23\\x27\\x55\\xd6\\x2a\\x28\\x7e\\x79\\xfd\\x9e\\x47\\xe4\\xf8\\x70\\x90\\x88\\x2d\\x1f\\x25\\x7a\\xc4\\xc3\\x06\\x9b\\xda\\x4d\\x85\\xc3\\x3a\\x87\\xdb\\x86\\xc7\\xdf\\x75\\x7a\\xbd\\x0e\\x1d\\x36\\xbd\\xdf\\xe4\\x47\\xc7\\xcd\\x6f\\x31\\x11\\x35\\x09\\x13\\xd7\\x0c\\x9e\\x3b\\x9b\\x0c\\x06\\x3b\\xb0\\x74\\x33\\x52\\x52\\xb5\\x88\\x78\\xf0\\x68\\xa9\\xcd\\x50\\x42\\xad\\xe0\\x43\\xe4\\xc9\\xd1\\x77\\x8e\\x9c\\x39\\x6e\\xc4\\xb8\\xb1\\x93\\x82\\x6b\\x67\\xf4\\xf3\\xde\\xf8\\xf0\\x58\\xe1\\xe2\\xd8\\x79\\xcb\\xaf\\xdc\\xb1\\xf1\\xfc\\xcc\\x03\\xa0\\x10\\xee\\x59\\xf2\\xe3\\xe2\\x9b\\x6f\\x4d\\xd4\\x74\\xef\\xfc\\xf8\\xc0\\x1b\\x5a\\x55\\x3c\\xda\\x7d\\x41\\xcf\\xaf\\xca\\xd4\\xb3\\x6f\\x98\\xf6\\xe0\\x88\\x9b\\xce\\xae\\x7a\\x01\\x54\\x1c\\x15\\xdf\\xe3\\x28\\xa1\\x8e\\xbc\\x09\\xc5\\xe9\\x16\\x94\\x35\\xb8\\xa1\\x42\\x41\\x98\\x48\\x93\\xcd\\xac\\xd3\\x59\\xa1\\xc5\\x6c\\x41\\xbe\\xd6\\x6c\\x56\\x73\\x35\\x09\\xb5\\x13\\x24\\x13\\xce\\x4c\\xf4\\xdb\\x24\\x7a\\x4e\\xb9\\x31\\x55\\x94\\x08\\xc8\\x75\\x70\\x8c\\xa9\\x72\\xe4\\x38\\xb0\\x1d\\xbf\\x2b\\x7c\\x97\\xd3\\xf7\\xcc\\x91\\x14\\x5c\\xb7\\xf9\\xfd\\xf0\\xb3\\x70\\x49\\xc3\\xea\\x67\\xd7\\xef\\x5b\\x2d\\xa1\\x75\\x4f\\x7d\\x16\\xf9\\xda\\xbf\\x91\\x3f\\x3a\\x8b\\xec\\x75\\x2e\\x51\\x4e\\x4c\\x8b\\x97\\xda\\xf3\\x9c\\x6a\\x75\\x24\\xe2\\xcc\\x29\\xe5\\x73\\x78\\x1f\\xf4\\x55\\xa0\\x0d\\xd5\\xd6\\x13\\xac\\x4e\\x78\\x80\\x5a\\xa3\\xb1\\xb3\\x16\\x0b\\x8a\\x74\\x2c\\x1c\\xdb\\xba\\x3a\\xc1\\x8a\\x74\\x47\\xd4\\xc9\\xa6\\xaf\\x1e\\x53\\x69\\x7b\\x51\\x38\\xe5\\x2f\\xcd\\x6f\\x66\\xb9\\x33\\x2b\\x14\\x7c\\x46\\x40\\x5a\\x21\\x15\\x00\\x22\\x52\\x21\\x25\\x39\\x9f\\xd6\\xb2\\x39\\xa7\\x8c\\x62\\xb7\\x1b\\x29\\x0d\\xaa\\x81\\x87\\x5e\\xf9\\xc0\\x0e\\x9c\\xce\\x03\\xc3\\x66\\x76\\x75\\xc8\\xd3\\x69\\x4b\\xbe\\x39\\x8a\\xa7\\xd3\\x06\\xf8\\x4e\\x6c\\x49\\xf2\\x58\\x7c\\x5c\\x28\\xfc\\xb2\\x7f\\xd2\\xc8\\x7e\\x63\\xbb\\x17\\x1e\\x4b\\xdc\\x5a\\x25\\xd4\\x6d\\xdc\\xee\\x59\\x5e\\xfd\\xf0\\x49\\x71\\x44\\xed\\x15\\x30\\xe3\\xd1\\x19\\xa3\\x41\\x97\\x55\\x12\\xaf\\xc5\\xb5\\x3b\\x2e\\xbd\\x41\\xd5\\x4d\\x9a\\x1f\\xdf\\xfa\\x5d\\xef\\x57\\xd6\\x5e\\x92\\x66\\xa8\\xfe\\x96\\xe6\\xf8\\x78\\x05\\x9e\\x1d\\x92\\xb8\\x3b\\xa8\\xb5\\x68\\xcf\\x39\\xf1\\x6c\\x10\\xab\\x27\\xa0\\x45\\xa9\\x04\\x50\\x4f\\xb9\\x5d\\xb8\\x15\\x81\\xd5\\x92\\xa4\\x42\\xab\\xe5\\xab\\x12\\x5a\\x4e\\x61\\xaf\\x4a\\x41\\xc3\\xb5\\x08\\xca\\x8f\\x59\\x87\\x30\\x80\\x94\\xdf\\x67\\xc8\\x88\\x42\\xe4\\xfd\\x57\\x0e\\xcb\\x5e\\x8f\\x82\\x0f\\x87\\xbf\\x29\\xfc\\x2c\\xb0\\xf7\\x82\\xfc\\xe7\\xc0\\xcd\\xe5\\xc2\\xb7\\xe4\\xd4\\x21\\x23\\xb6\\xd4\\x2e\\xbc\\x71\\xe2\\x14\\x30\\xfe\\x1d\\x21\\xe7\\x26\\xf0\\xe9\\xe3\\x20\\xef\\x3e\\xe1\\xe1\\x48\\xcd\\x0d\\x53\\x3f\\xb9\\x65\\xd1\\xf2\\xa8\\x68\\x27\\x27\\x20\\x99\\xdf\\x11\\xf1\\x7a\\xdc\\x78\\x26\\xc8\\x0c\\xf5\\x3a\\xa7\\x4a\\xa5\\xd3\\x5a\\x59\\x02\\x32\\x1e\\xce\\x60\\xf0\\x5a\\x59\\x05\\xa7\\x63\\x15\\x7c\\x4d\\x42\\x91\\xce\\xf5\\x2a\\x9a\\xe3\\xed\\x67\\xc1\\x8f\\x43\\x11\\x90\\x5c\\x6c\\xd2\\x13\\x43\\x52\\xf2\\x91\\x8a\\xd0\\xd9\\xe3\\x5b\\xee\\x19\\xbd\\xfa\\x33\\x90\\xbb\\x09\\xac\\x03\\x39\\x0d\\x1f\\xb4\\x6e\\x53\\xd0\\xb5\\xd8\\x55\\x04\\xd8\\xc3\\x87\\x4a\\x36\\x3f\\xbc\\x76\\x61\\xcd\\xb3\\x77\\xc2\\xf6\\x8d\\x77\\x90\\x13\\xff\\xf9\\xa8\\x67\\x75\\x62\\x59\\x5d\\xf5\\x80\\x60\\x5e\\x81\\x74\\x87\\x55\\x8b\\xec\\x17\\x44\\xeb\\xa8\\x25\\x70\\x07\\x56\\x0e\\x2c\\x52\\x73\\x76\\xce\\x48\\x7b\\xf2\\x8b\\x98\\x50\\x69\\x28\\x16\\xb1\\x38\\x2d\\xd5\\x89\\xb0\\xcd\\x63\\xa3\\xa1\\x2e\\xe0\\xe4\\x74\\x04\\x8e\\x3e\\x93\\xa2\\x62\\x11\\xaf\\xe3\\x3d\\x0c\\x4b\\xb2\\x61\\x58\\x46\\xab\\x54\\x6a\\x89\\x88\\x56\\xa9\\x0d\\xe6\\x88\\x2d\\xcf\\x8c\\xab\\xa5\\x93\\x4c\\x7a\\x0b\\x5b\\x15\\x19\\x0b\\xc2\\xf6\\x42\\xc5\\x9a\\xbd\\xbb\\xaa\\x63\\xce\\x1b\\x6a\\xc6\\xf8\\xb7\\x6f\\x7d\\xbe\\x22\\x32\\xba\\xfd\\xea\\x11\\x3b\\x46\\x4f\\xeb\\x52\\x1b\\xec\\x10\\x9a\\xdb\\xd6\\x33\\x78\\xef\\x83\\xdd\\xda\\xf4\\x1e\\x63\\x6d\\xdd\\xb6\\xad\\x33\\x1a\\x79\\x7e\\xf9\\xf4\\x65\\x0f\\x0e\\x3b\\x3a\\xa4\\xe7\\x99\\xe9\\x8f\\xcc\\x5b\\x3f\\xb0\\xff\\xe4\\x33\\x5d\\x82\\x65\\x47\\x6f\\x5b\\xd7\\x7e\\xe8\\xcd\\x95\\x68\\x7f\\x0c\\x11\\x86\\x50\\x2f\\xa2\\xb5\\xb7\\xa3\\xf3\\xec\\xb2\\x90\\x04\\x61\\xb5\\xda\\x0c\\x2a\\x9b\\xca\\xe9\\x20\\x21\\x54\\x58\\xd1\\xa2\\xa3\\x6c\\x1b\\x6d\\x8b\\x24\\x38\\xac\\x8c\\x70\\x0c\\xb2\\x48\\xec\\x81\\x31\\x13\\x12\\xcd\\x9f\\x86\\x4e\\x03\\xe4\\xba\\x41\\x91\\x14\\x06\\x1a\\xb0\\xa6\\xb0\\xd2\\x84\\xcf\\x85\\x21\\xe0\\xe8\\xe3\\x29\\xe0\\xb3\\x14\\x38\\xda\\x3f\\x1e\\xe9\\x9e\\x45\\x9a\\xab\\xc2\\xf1\\x58\\xe7\\x78\\x80\\x65\\x4c\\x84\\xd9\\xef\\xb7\\x5a\\x91\\xcf\\x70\\x31\\x30\\x18\\x70\\x78\\x31\\x46\\x16\\x41\\x69\\x2d\\x66\\xca\\x50\\x9d\\xa0\\xb8\\xd4\\xa6\\xc8\\xce\\x5b\\xe4\\xfe\\xc2\\x0c\\x6c\\x63\\x7f\\x46\\xf3\\x50\\x6a\\x8d\\x19\\xf0\\xad\\xd4\\x0c\\xc4\\x28\\xd7\\x08\\xdf\\xcd\\x4b\\xf6\\x09\\xfd\\xe1\\x38\\x7b\\x54\\x3c\\x98\\x5b\\x5c\\x70\\x25\\x6e\\xfe\\x31\\x56\\xb6\\x69\\xac\\x23\\x07\\xca\\x5d\\x41\\xd4\\x73\\x37\\x6f\\x44\\x07\\x71\\x33\\x91\\xc2\\x66\\x46\\xf2\\x16\\xe0\\x6a\\x23\\xe1\\xa4\\x4d\\x0a\\xa3\\x51\\xa9\\x54\\x30\\x4c\\x58\\xe7\\xa4\\x8a\\x0a\\x03\\xd1\\xea\\x44\\xc0\\x69\\x62\\x6c\\x36\\x12\\x65\\x5f\\x9c\\x88\\x64\\x8b\\x7c\\x0d\\x51\\x99\\x85\\x5e\\xdb\\x82\\xe8\\xd7\\xc9\\x2a\\xe5\\x59\\x69\\xc2\\xe9\\xa0\\xec\\xdb\\x50\\x4a\\x09\\x67\\x35\\x17\\xbc\\x57\\x2d\\x17\\x4b\\xb6\\x39\\x6d\\x09\\x3c\\x7d\\xb8\\x78\\xa6\\x3b\\xb7\\xa4\\x7c\\x99\\x63\\x9d\\x83\\xfc\\x2b\\x53\\x87\\xee\\xbd\\xae\\xca\\xcd\\x4d\\x8d\\x39\\xff\\x3a\\xaa\\x51\\x9c\\xd7\\x2e\\x25\\xef\\x5b\\x82\\xeb\\x32\\xbf\\x8a\\x98\\xf5\\x18\\xe3\\x9c\\x25\\x3a\\xc4\\x51\\x70\\xa2\\x05\\x2a\\x95\\x9e\\xd3\\x1b\\x30\\xf6\\x7c\\x8d\\x84\\x3d\\xcf\\xaa\\xcc\\x3a\\xed\\xc0\\x84\\x0e\\xa4\\x08\\xdb\\xb2\\x51\\xe8\\x63\\xa5\\xcd\\x70\\xe8\\x71\\x59\\xd7\\x72\\xcb\\x20\\x60\\x1f\\x74\\x77\\xf8\\xee\\xa1\\xc2\\xe5\\xa1\\xb7\\x80\\x68\\x2e\\xb0\\xe7\\x92\\x9b\\xc1\\x31\\x61\\xe0\\x33\\x42\\x09\\x38\\x07\\x0b\\x71\\x1d\\x17\\x10\\x5d\\x9b\\xae\\x90\\x0c\\xda\\x9f\\x2c\\xe1\\x8d\\xb3\\x50\\xa7\\x63\\x38\\xc6\\xa0\\xa6\\xab\\x51\\xee\\x2d\\x01\\xac\\xa4\\x3b\\x92\\x70\\x27\\x76\\x46\\xd6\\x50\\x7e\\x19\\xd8\\x77\\xd3\\xa3\\x3c\\xa1\\x82\\x11\\x1d\\x57\\x2f\\x62\\xa9\\x76\\x8d\\x96\\xfc\\x1a\\xc5\\xd7\\xba\\x9b\\xe6\\x56\\xf4\\x47\\x7e\\xec\\x22\\x41\\xc0\\xe9\\xe8\\x7b\\x35\\x44\\x45\\xdc\\xa5\\xd0\\x68\\x54\\x0c\\x84\\x3a\\xa4\\x9a\\x56\\xa1\\x56\\xa9\\xab\\x13\\x2a\\x33\\xdd\\xac\\x73\\xb5\\x59\\xe3\\x6a\\xd2\\x1c\\x22\\x85\\x62\\x28\\x9f\\x8f\\x81\\x11\\x6f\\xe5\\x92\\x8f\\xe7\\xbe\\xbd\\xf2\\xed\\xdc\\xc6\\xbe\\xd1\\xb7\\xe0\\x8d\\xe7\\xce\\x35\\x4e\\x38\\x77\\x4e\\xf4\\x99\\xef\\xa2\\x35\\x7c\\x44\\xc4\\x48\\xe9\\x11\\xf7\\xf3\\x1a\\xa3\\xda\\xa8\\x06\\x4a\\x95\\x8a\\x20\\x68\\x3d\\xcb\\x9a\\x29\\x9a\\x36\\x69\\x68\\x9e\\xd7\\x03\\xa5\\x52\\x95\\xc2\\x8c\\xc7\\xa8\\xa2\\xd9\\xcf\\xc3\\xa8\\x47\\xb2\\x0b\\x8a\\x19\\x51\\xa0\\x12\\x44\\x0e\\x48\\x02\\x27\\x8c\\xe1\\x1b\\xc5\\xf0\\x96\\x82\\x7c\\xf5\\x0a\\xdb\\xe2\\x19\\xb3\\x80\\x7d\\x43\\x24\\x5f\\xb3\\xdc\\x3e\\x7b\\xe6\\x7c\\xf2\\x53\\xb2\\xa8\\xcd\\xb6\\x85\\x0c\\xd9\\xb3\\xb1\\x92\\x2c\\xa8\\xd8\\x35\\x8f\\x6e\\xbc\\x5b\\xea\\x87\\xf8\\x13\\xfd\\x76\\x5a\\xbc\\x93\\xb7\\xe1\\x6a\\x25\\x65\\xe0\\xb5\\x94\\x0e\\xea\\x58\\x40\\x92\\x90\\x83\\x7a\\xa5\\xde\\xa1\\xb4\\xf3\\x46\\x0d\\x8a\\xba\\x00\\x65\\xa0\\x6a\\x13\\xac\\xc1\\xa0\\xd1\\xa0\\x15\\x82\\x72\\xb5\\x32\\xd6\\x1c\\xc1\\x4d\\xc6\\xc7\\xab\\x90\\xf9\\x20\\x80\\xf8\\xa2\\x45\\x8b\\xd0\\x1e\\xf7\\x5b\\xc5\\xfc\\xe5\\xf8\\x6a\\xdb\\x12\\x23\\x37\\xdf\\x52\\x2f\\x5c\\xaa\\xe7\\x6f\\x9c\\x77\\xff\\xa6\\xe0\\x08\\x60\\xdf\\x7f\\x8b\\x30\\xdc\\xc7\\xcf\\x2f\\xca\\x05\\x97\\x04\\x3b\\xb8\\xbc\\x68\\xe2\\x9a\\xfd\\xe0\\x8b\\x86\\x37\\x0e\\x8e\\xf0\\x46\\x45\\xfc\\x25\\x14\\x6f\\x24\\x44\\x39\\x83\\x71\\x4e\\x05\\x75\\x90\\x31\\x30\\xbc\\x02\\x10\\x9a\\xe6\\x4d\\x69\\xd2\\x1b\\x09\\x48\\xad\\x8d\\x80\\x91\\x8b\\xd8\\x80\\x5b\\xb5\\x41\\x0b\\x8a\\x81\\x5d\\x78\\x9b\\x9a\\x56\\xdc\\x21\\xd7\\xbd\\x50\\xa8\\x9b\\xbe\\xb8\\xb4\\xb3\\xc2\\xfe\\xf7\\x57\\xe1\\x21\\xda\\xf3\\x0a\\x0d\\x7a\\x06\\x87\\xce\\xee\\x2f\\x62\\xef\\x4c\\x5d\\xbc\\xd0\\xa2\\x52\\x38\\x0c\\x1c\\xf4\\x20\\x3b\\xc4\\x39\\x54\\x94\\xd7\\x45\\x51\\x3e\\x85\\xc3\\x01\\x0d\\x3a\\x42\\x2c\\x29\\x38\\x69\\x37\\x74\\x57\\x27\\x20\\x0b\\x92\\xfc\\x6a\\x19\\x00\\x45\\xf8\\x82\\x23\\xdb\\x2b\\xc9\\x2d\\x13\\x40\\xbc\\x6e\\x4b\\x36\\xc6\\xcb\\x75\\x06\\x8c\\xce\\x85\\x2f\\xcf\\x21\\x07\\x7c\\xc0\\x5e\\x45\\xfe\\x99\\x23\\x6c\\xda\\xb4\\x7d\\x97\\xf0\\xfb\\xa1\\x97\\x7e\\x69\\x47\\x34\\x55\\x3e\\xbd\\x64\\x6f\\xe7\\xb5\\xab\\xc3\\xa0\\x46\\xa8\\x3b\\x4a\\xbf\\x21\\x4c\\x7f\\x49\\x58\\x1b\\x7d\\xf7\\x9e\\xdb\\x7e\\x59\\x33\\x7b\\x51\\xd5\\xe2\\x23\\x1b\\xc6\\xcc\\x2d\\x7b\\x06\\x0c\\x6b\\xd8\\x4e\\x24\\x31\\x30\\xff\\x41\\xfb\\xb9\\x80\\x18\\x10\\x8f\\xe8\\x2c\\x7a\\xa3\\x11\\xed\\x28\\xd6\\xad\\x80\\xf9\\xc1\\x20\\x64\\x61\\x51\\xa1\\xd5\\xed\\xd3\\x53\\x39\\xac\\x45\\x4d\\xf8\\x08\\x64\\x3c\\x7d\\x66\\x23\\x96\\x3e\\xd5\\x4d\\xd7\\x7c\\xe4\\x21\\x15\\xee\\xc8\\x40\\x9e\\x69\\x34\\x4c\\x45\\x06\\x04\\x66\\x24\\x55\\x6f\\x44\\x7f\\xee\\x06\\x16\\xf0\\xdb\\xb0\\xb5\\x8e\\xf9\\xc0\\xba\\xd8\\xb0\\x6c\\xc8\\x06\\x27\\xb2\\xf3\\x87\\x4d\\x46\\xe1\\xaa\\x99\\x81\\xfd\\x77\\x4e\\x58\\xb2\\x4d\\x5f\\x7d\\x68\\xda\\xc6\\x1d\\xe6\\x15\\xc0\\xba\\x88\\x87\\xcf\\xde\\x79\\x33\\x59\\xdf\\xb8\\x66\\x58\\xe1\\xc2\\xdd\\x1b\\xc8\\xe1\\x0d\\xc7\\xea\\xd7\\x6b\\xd6\\xe4\\xce\\x19\\x32\\x7f\\xe6\\xd2\\x29\\xb7\\x6e\\x8c\\x8f\\x43\\x2e\\x61\\xf3\\xd0\\x56\\xf4\\x42\\x51\\x37\\xa1\\x4e\\xd4\\x2d\\x8a\\x6c\\x6b\\x8e\\x8e\\xd7\\x1b\\x0c\\x1c\\xa7\\x67\\xed\\x0a\\x18\\xf1\\x7a\\x91\\x6e\\x79\\xb9\\x46\\xbb\\x4b\\x4f\\x05\\x58\\x35\\xe1\\x42\\xaa\\x59\\x5c\\x16\\x83\\x33\\xa9\\xda\\xff\\x45\\x33\\x80\\x36\\xec\\xff\\x9b\\x56\\x28\\x0f\\xba\\x38\\xef\\x7f\\xd5\\xe9\\x1f\\x37\\x39\\xa6\\x05\\x85\\x44\\x5f\\xa1\\x78\\x95\\xea\\x4f\\xb4\\xc1\\xfc\\x90\\xad\\x83\\x6e\\x8a\\xa2\\xd1\\xdb\\x62\\x59\\xba\\x20\\x48\\xb5\\x2d\\x47\\x2f\\xcf\\xa4\\xcf\\x2d\\xae\\x4e\\xe4\\x3a\\xdd\\x16\\xd6\\x41\\xa8\\x1d\\xc8\\x1e\\xf9\\x1c\\x1c\\xcf\\xd2\\xac\\x48\\x6d\\x51\\x99\\xbc\\xe9\\xac\\x90\\xb0\\x7b\\x45\\xfc\\xd2\\x66\\x1b\\x0e\\xc8\\xed\\xb1\\x2d\\x36\\xca\\x5a\\x93\\xd3\\x36\\xd9\\xee\\xa3\\x23\\xc8\\xa1\\xf3\\xb0\\xa6\\xc2\\x77\\xb2\\xa6\\xc2\\x45\\xf4\\xfe\\x00\\x97\\x7a\\x7f\\x83\\xef\\xbd\\x11\\xe9\\xba\\x35\\xc3\\x91\\xdc\\xc2\\x43\\xb8\\xe4\\xce\\x9b\\x1b\\x0f\\x90\\x8b\\x45\\xad\\x1b\\x0f\\xc2\\x81\\xa9\\x37\\xb9\\x6a\\x02\\x56\\x3c\\xed\\x51\\x5e\\x91\\xf4\\x17\\x7e\\x94\\x79\\x0c\\x72\\x30\\x0e\\x22\\x0c\\x28\\x9d\\x2a\\xcc\\x1e\\xa6\\x32\\x05\\x4c\\x51\\x96\\x8d\\x38\\x09\\xaf\\x17\\x19\\x78\\x2f\\x67\\x65\\xb5\\x7c\\x75\\x42\\xeb\\x24\\x92\\x6e\\x32\\xdd\\x26\\xcc\\x37\\xa3\\x33\\x48\\x6b\\x9a\\xa5\\xd1\\x75\\xc4\\x06\\xdf\\x48\\xbe\\x7d\\x4d\\x86\\x06\\x27\\x32\\x9b\\x81\\x91\\xff\\x4f\\xba\\xf7\\xc1\\xb2\\xd4\\xf0\\xbe\\x54\\xef\\xaf\\xe8\\xfe\\x65\\x5f\\xff\\x0c\\x92\\x1f\\xe3\\xcd\\x46\\x08\\xb3\\x23\\x44\\xeb\\x91\\x07\\x51\\xab\\x91\\xb7\\x0f\\x99\\x3d\\x54\\x5e\\xae\\xdf\\x55\\x9d\\xf0\\x3b\\xf5\\x0c\\xcf\\x23\\x6f\\xcf\\x73\\x6a\\x96\\x91\\x2d\\x45\\xcb\\x6e\\x3e\\xcb\\xd1\\x37\\xef\\x68\\xce\\x76\\x6a\\x19\\x4e\\xbe\\x59\\x17\\xf3\\x56\\x6a\\x6a\\x51\\xa7\\xdc\\xc4\\x94\\x55\\xeb\\xb5\\x6b\\x93\\xde\\x3d\\xbb\\x6f\\xb9\\xd1\\x9b\\x53\\xa7\\x3d\\x6f\\x98\\xb6\\x38\\xd6\\x99\\xdc\\xbf\\x04\\xe9\\x51\\x88\\x62\\xac\\x3f\\xd0\\xb9\\x52\\x11\\x45\\x71\\x33\\x50\\x28\\xa1\\x52\\x05\\x29\\x15\\xa5\\x51\\x33\\x24\\xa5\\xc4\\x3d\\xe0\\xe2\\x76\\x8b\\x65\\x96\\xe5\\xa5\\x93\\x93\\x0b\\x00\\x0c\\xa2\\x03\\x63\\x8c\\x51\\x01\\xa1\\x41\\xb8\\x63\\xdb\\x3f\\xe7\\x91\\x6d\\xeb\\xbf\\xed\\x1f\\xf2\\x4a\\xa3\\x09\\x79\\xda\\x3c\\xf2\\x83\\xd4\\xac\\x00\\xce\\x45\\xa8\\x3b\\xc5\\x18\\x3a\\xde\\x74\\x05\\xed\\xfb\\x01\\x22\\x87\\xc2\\xe4\\x78\\x05\\x67\\x64\\x4d\\x26\\xf4\\x92\\x71\\x03\\x84\\xd3\\x6c\\xd0\\x29\\xc2\\x21\\x23\\x61\\xd5\\x68\\x75\\x1c\\xd0\\x53\\x1c\\x67\\xd5\\x5a\\x4d\\xd5\\x09\\xab\\x59\\xcb\\xa2\\x4d\\xc0\\xaa\\x3c\\xf8\\x9a\\x84\\xb4\\x55\\x25\\xc8\\x96\\x8a\\x6d\\x72\\x6d\\x07\\x23\\x8e\\x64\\xf7\\xb0\\xa2\\x63\\xae\\x48\\x71\\x2c\\x58\\xcb\\xc5\\x6e\\x16\\xe9\\xaf\\x48\\xa9\\x84\\x2b\\x8b\\x93\\x03\\x98\\xb3\\xe6\\xb6\\xf7\\xfe\\xde\\x0f\\x0a\\x5e\\x79\\x60\\xb2\\x8a\\xfc\\x24\\x2a\\x94\\xe6\\x83\\xc3\\x51\\x61\\x68\\x09\\x78\\x2b\\xda\\x98\\x73\\xf1\\xee\\x47\\xe6\\x4d\\xb8\\xfd\\xc8\\xe4\\xb2\\xde\\x7f\\xbc\\xfa\\x3a\\x28\\x3b\\xdc\\xb5\\xf8\\xec\\x97\\x67\\xff\\x7a\\xf3\\x41\\x60\\xfd\\x7a\\xfa\\x62\\xe1\\xda\\xff\\xcc\\x5d\\x25\\xe5\\x08\\x15\\x48\\xbf\\x71\\xa2\\x7e\\x05\\x28\\x47\\x08\\x9a\\x9d\\x1a\\x35\\xcc\\xcd\\x55\\x07\\xc4\\x00\\x30\\x18\\x54\\xab\\x73\\x6c\\x06\\x45\\x8e\\xa2\\x2a\\xe1\\xcd\\xb1\\xd8\\x50\\x82\\x60\\xe3\\x32\\x40\\xa6\\xc5\\xce\\x85\\x0a\\x43\\xac\\x19\\xb7\\x20\\x95\\x02\\x7d\\x91\\x13\\x2d\\x09\\xb8\\x57\\xe4\\x43\\x4b\\x02\\xed\\xcb\\xfa\\xc1\\x39\\xc2\\x9f\\xc2\\xa5\\x3e\\x03\\x06\\xdf\\xe4\\x0c\\x01\\x32\\x57\\x59\\xd5\\xa5\\xe7\\x4d\\x9d\\x3f\\xfa\\x08\\x4c\\x04\\xe3\\xb7\\x7e\\x7f\\xdb\\x92\\xdb\\xa3\\x54\\xc7\\x47\\x57\\x9c\\x78\\xf2\\x35\\xb0\\x16\\x6e\\xbc\\xf6\\xd3\\xf2\\x79\\xfb\\x36\\x3f\\xf5\\x61\\x7b\\xf7\\x90\\x91\\x63\\x5f\\x9c\\xf8\\xf8\\xde\\xd3\\xc2\\x5f\\xc2\\xef\\x77\\x09\\xdf\\xee\\x98\\xba\\x6a\\xe9\\xcc\\xf7\\xde\\xf8\\x14\\x74\\x7a\\x40\\xec\\x65\\xe9\\x88\\xf2\\xec\\xa7\\x90\\x6f\\xe4\\x51\\x86\\xe0\\xc3\\xbe\\xc5\\x62\\x50\\xdb\\x19\\xe0\\xb3\\xfb\\x74\\x6e\\x37\\xa5\\xa3\\x02\\x7e\\x25\\xb0\\x3b\\x18\\x47\\x55\\x42\\xcd\\x70\\x46\\x1f\\xf0\\x55\\x25\\x0c\\x40\\x4a\\x17\\x62\\x29\\x02\\x48\\xa9\\x51\\x5b\\xda\\x42\\xc9\\xa3\\x8b\\xb9\\x89\\x80\\xb1\\x08\\x94\\x71\\x04\\x6e\\xd1\\x91\\x6a\\x85\\x41\\x68\\x14\\xdf\\x4a\\xc4\\x2f\\xa2\\x6b\\x5a\\xc1\\x13\\x55\\x9f\\xfd\\x08\\xc6\\x80\\xce\\x7d\\x80\\xa1\\xcf\\xd7\\xdf\\x1d\\x14\\xde\\x7c\\xb3\\x6a\\xce\\xa1\\x93\\x53\\xc7\\x08\\x3f\\x3f\\xf8\\xd0\\xc4\\xf1\\x42\\x1d\\xd8\\xa9\\xfc\\xf6\\x05\\xd0\\x0b\\x4c\\x07\\xcb\\x84\\x55\\xda\\x8f\\x9e\\xfb\\x40\\x78\\xf1\\xa8\\x30\\x85\\x1c\\x0c\\x34\\x57\\xe6\\x4d\\x55\\x36\\xfd\\x78\\xd3\\x32\\x46\\xba\\x9b\\x3d\\xd2\\x74\\x05\\xe2\\x7e\\x37\\x23\\x51\\x1a\\xb7\\xd3\\xba\\xe4\\x79\\x35\\x1b\\x4d\\x06\\x74\\x46\\x0d\\x16\\x74\\x82\\xcd\\x22\\x32\\x46\\x1a\\x68\\x37\\xed\\x29\\x22\\x96\\xb4\\xef\\x93\\x6f\\xc4\\x23\\xd1\\xee\\x85\\x8b\\xf7\\x04\\xc7\\x03\\xfb\\x01\\x1b\\x2f\\xfc\\x6e\\x65\\xa4\\xdb\\xd6\\xff\\x61\\x8f\\x9f\\x20\\xc9\\x86\\x17\\x17\\xac\\x3e\\x56\\x82\\x2f\\x5a\\x53\\xcf\\x1e\\x20\\xc6\\x7f\\xe8\\xd9\\x3a\\x5a\\xa3\\x68\\xe9\\xd9\\xe0\\xff\\xfc\\xec\\x47\\x80\\xfd\\xa7\\xe6\\xcf\\x86\\xb7\\x5d\\x2b\\xc9\\x7e\\xb6\\x50\\x27\\xea\\x8d\\x33\\x6b\\x8f\\x96\\x40\\x2f\\x8d\\x65\\x75\\x66\\xbd\\xde\\xab\\xf0\\xd8\\xf0\\x3d\\xaa\\x13\\x50\\x3a\\x96\\x52\\xa1\\x1c\\xca\\xd2\\x1c\\x68\\x38\\x96\\xe1\\x2a\\x83\\x19\\x0c\\x36\\x62\\xa0\\x9d\\x09\\x30\\x0e\\x06\\x52\\xdd\\x77\\x8f\\x29\\x6e\\x5b\\x94\\x5c\\x92\\x6f\\xa8\\xd2\\x76\\xd8\\x18\\x8d\\x5c\\xb5\\x5a\\xfb\\xf9\\xb2\\xd9\\xfa\\x1f\\xc4\\x55\\xb9\\x36\\x2b\\x3f\\x2f\\x2a\\x1b\\x20\\x29\\x2e\\x46\\xb2\\x2d\\x12\\xeb\\x61\\xb1\\xb8\\xdd\\x68\\x4e\\xbd\\x15\\x93\\x8e\\x31\\x88\\x2b\\x83\\x2d\\xa7\\x93\\xc8\\x98\\x0f\\x49\\x32\\x04\\xa5\\xb9\\x43\\x25\\x8b\\x99\\x79\\x13\\x8e\\x44\\x78\\x5c\\xb8\\xf4\\xab\\xdd\\x90\\x75\\x07\\x7e\\xfc\\x44\\xc3\\x60\\xea\\xd2\\xc2\\x9b\\xa5\\xfb\\x6f\\x40\\xa8\\xe5\\x67\\x7b\\x31\\x97\\x0e\\x6d\\x67\\xac\\x56\\x8b\\x85\\x31\\x68\\x0d\\x5e\\x9f\\xd7\\x6f\\x67\\xdd\\x6e\\xf4\\x78\\x37\\x67\\x61\\x59\\xe4\\x7b\\x59\\x27\\xf1\\x5f\\xdc\\x4f\\x4a\\x90\\xd4\\x9a\\x88\\x48\\xff\\xd7\\x0b\\x35\\x37\\xb9\\x28\\xc2\\xf7\\xda\\xe3\\xd7\\x49\\xd7\\x78\\x44\\x5a\\x9c\\xcb\\xb1\\xce\\xf0\\x96\\xa4\\x98\\x32\\x67\\x37\\xbe\\x53\\xd6\\xe1\\xfc\\x07\\x6d\\x1a\\x9d\\x5e\\xc7\\x6a\\x48\\xcc\\x83\\x22\\x65\\x8f\\xe9\\xfc\\x27\\xb5\\x1e\\xb8\\x1a\\x65\\x85\\x9d\\x63\\x03\\x67\\x2f\\x73\\xcd\\x12\\x2e\\x2d\\x68\\xfd\\xe7\\xa5\\xe9\\x03\\x61\\x7f\\xeb\\x9a\\x5b\\x1b\\x1f\\x25\\x27\\x00\\xe6\\x6b\\x3b\\xc6\\xc2\\x47\\x71\\xf5\\x09\\xf4\\xbd\\x1c\\xfa\\x5e\\xbd\\x1a\\x42\\x3d\\x6f\\x40\\x4b\\xad\\xad\\x4e\\x15\\x9c\\xe5\\xf3\\x2a\\xd3\\x2f\\xa7\\x82\\x09\\xa6\\xbc\\x0d\\xe8\\x75\\xf2\\x84\\xe3\\x03\\xe1\\xd2\\x37\\xdc\\xa1\\xf1\\x1d\\x0b\\xab\\xa8\\x01\\xa7\\x1e\\x1a\\x3e\\xa7\\xa1\\x33\\xfc\\xa6\\x5b\\xc5\\x71\\xeb\\x65\\xbb\\x64\\x0b\\x7d\\xc8\\xb7\\x2c\\x43\\xfb\\x4e\\x87\\xbc\\x77\\xef\\x78\\x98\\x97\\x9a\\x38\\xf4\\x28\\x22\\x27\\x49\\x0d\\x03\\xad\\x28\\x0e\\xd5\\x13\\xb8\\xdc\\x49\\x42\\x68\\xae\\x45\\xe1\\xb4\\x96\\x34\\x67\\x34\\xf5\\x65\\x37\\x1d\\x4b\\xad\\x1b\\xa5\\x22\\x1f\\xa1\\x51\\x9e\\x13\\x44\\xbb\\x30\\x22\\xc6\\xd0\\xf9\\x00\\x6c\\x1d\\x2c\\x5c\\x3c\\x0f\\x2e\\xbd\\xfe\\xc9\\xae\\xed\\x17\\x85\\xd7\\x9f\\xba\\xeb\\xdc\\x8d\\x73\\x1e\\x7d\\x1e\\x3c\\x2a\\xf4\\xa7\\xda\\x6d\\xdf\\x74\\xf3\\x61\\xb7\\x90\\x0b\\x1e\\x7d\\xb0\\xef\\xd0\\x75\\x92\\x5c\\x34\\x27\\xca\\x65\\x41\\xd9\\x58\\x90\\x57\\x10\\x10\\x92\\x3a\\x9d\\x5e\\xaf\\x56\\xa8\\xad\\x48\\x36\\x9b\\x0e\\xe3\\x03\\xeb\\x74\\x6a\\xa0\\x61\\xd5\\xfa\\xda\\x84\\xda\\x9c\\xd5\\x56\\x92\\x45\\x74\\x26\\xbb\\x6e\\x55\\x92\\xf8\\x2e\\x17\\x25\\x3a\\x9a\\x14\\x44\\x2a\\x39\\x17\\x8c\\x07\\x6d\\x84\\x31\\xb5\\x63\\xae\\x09\\x57\\x05\\xfa\\x3c\\x70\\x0c\\x1e\\xf9\\xfc\\xd2\\x99\\x55\\x83\\xce\\x91\\xeb\\x90\\x6c\\xb9\\xce\\x8d\\x37\\x3c\\xfa\\x18\\xd5\\x4e\\xe8\\x2f\\x44\\xeb\\x06\\x97\\xf7\\x46\\xe7\\xe1\\x8c\\xdc\\x77\\x5c\\x46\\x8c\\x8e\\x97\\xe5\\xe5\\xba\\x89\\xe2\\x60\\x50\\x43\\xe4\\x52\\xe5\\x06\\xda\\x6a\\x65\\xd0\\x99\\x68\\x53\\x9c\\x67\\x75\\x53\\x39\\x34\\x0d\\x73\\x72\\x0a\\x6b\\x12\\x39\\x9c\\x1e\\xa5\\x41\\x7a\\x74\\x78\\xf5\\x4e\\xe8\\xa8\\x49\\x5f\\x43\\x65\\x96\\xf0\\xac\\x15\\x69\\x6a\\xaa\\xcc\\x5a\\x99\\x78\\x6b\\xc8\\x82\\xac\\xe0\\xa2\\x2c\\xf6\\xbf\\x34\\x25\\xc3\\xcb\\x42\\xd3\\xbf\\xf7\\x4e\\x32\\x4b\\xb1\\xc6\\x50\\x14\\x6b\\x74\\x07\\xff\\x98\\x6f\\x9a\\xde\\x62\\x4b\\x32\\x18\\x70\\xfc\\x44\\x6c\\x76\\x2a\\xe6\\x00\\x43\\xc9\\x50\\xdf\\x2e\\x2d\\x37\\x25\\x8b\\xb6\\x0a\\x79\\x20\\x74\\x26\\x45\\x5e\\x59\\x5f\\x9c\\xe3\\xdd\\xd0\\xc5\\x9a\\xd1\\xe9\\x03\\x84\\x22\\x9d\\xeb\\x49\\x6f\\x00\\x8f\\x1f\\xe5\\x24\\xfb\\x38\\x8c\\x99\\x98\\xe7\\x28\\xfe\\x1b\\x5f\\x38\\xde\\x90\\xd7\\xba\\x67\\x71\\xc7\\x88\\xe1\\x4b\\xc7\\x84\\x87\\xd7\\x79\\x26\\xbb\\xf2\\x42\\x55\\xbd\\x07\\xf2\\xdf\\xe4\\x9c\\x16\\xea\\xf4\\xcc\\xfb\\xe6\\x9c\\x9e\\x43\\xa8\\x45\\xeb\\x76\\xf4\\x54\\xa9\\x3e\\x34\\x8f\\x98\\x70\\x6d\\xd9\\xf3\\x7b\\xb3\\x9f\\x1f\\x20\\xba\\xc6\\x43\\x3e\\x03\\xa1\\x67\\xf5\\x06\\x3f\\x65\\x67\\xec\\x21\\x26\\x68\\x71\\x61\\x6e\\x1c\\x1f\\xc7\\x72\\x35\\x09\\x02\\xe3\\x9c\\x55\\xa7\\x71\\xce\\xb2\\x5a\\xda\\xd2\\xf5\\x3d\\x26\\x1d\\x8b\\xe2\\x5a\\x71\\x79\\x2c\\x5b\\xd2\\x18\\x03\\x86\\xb3\\x39\\xa7\\x5f\\x95\\xc4\\x2d\\xe9\\x18\\x31\\x1e\\x08\\xdd\\xf3\\x44\\x96\\xc4\\xc7\\xcf\\x85\\xc0\\x80\\xe7\\xf7\\x8a\\x32\\xf7\\x1d\\xf7\\x0c\\x3c\\x96\\x12\\xba\\x61\\xc3\\x33\\x52\\x9d\\x2c\\x86\\xce\\x71\\x5f\\x14\\x8b\\x7a\\x89\\xfc\\xb8\\x55\\x69\\xb4\\xa1\\x0c\\xd9\\xe8\\xa6\\xfc\\x3e\\x0e\\xed\\x0c\\x8e\\x13\\x61\\x7e\\xd3\\x14\\x9f\\x20\\x8d\\x1b\\x9e\\xd5\\x24\\x92\\xc1\\x56\\x22\\xb3\\x57\\xac\\x3b\\xb8\\x47\\x77\\x52\\x5d\\x5e\\xde\\xab\\x28\\xaf\\xfb\\xe0\\x83\\xfb\\x74\\x4f\\x68\\x4b\\xca\\xba\\x74\\xc8\\xeb\\x26\\xd4\\x2d\\x5f\\xd5\\xbd\\x9c\\xfc\\x3a\\x3f\\xb7\\x5d\\x99\\xf9\\x43\\xe3\\xb2\\x9b\\x7b\\xb4\\x69\\xf4\\x17\\x96\\x95\\x15\\x99\\xdf\\x37\\x8b\\x75\\x85\\xe1\\x28\\x5e\\xe0\\xc5\\xfe\\x83\\x12\\x3c\\x65\\xa0\\x0a\\x14\\xf9\\x4d\\x01\\x1d\\xa7\\x80\\x4e\\x58\\x1a\\x75\\x3a\\x5b\\xe9\\x6c\\x61\\x8f\\x27\\xdf\\xe6\\x14\\x5f\\x2a\\x48\\x32\\x48\\x60\\xe8\\x84\\xac\\x8b\\x1b\\xd1\\xec\\xa4\\xdf\\x29\\x83\\x76\\x1f\\xda\\x87\\x11\\xb9\\xde\\x2e\\xee\\x4b\\x63\\x27\\x89\\xc3\\x58\\xf4\\x49\\x45\\x80\\x9a\\x21\\x2d\\x5b\\xf7\\x1a\\xd3\\x29\\xde\\x6d\\x0a\\x0d\\xd2\\x9f\\x31\\x15\\x99\\xea\\x27\\xcd\\xee\\xb5\\xef\\xd9\\x77\\x4e\\xf5\\xde\\x52\\x7e\\x26\\xf2\\x7a\\x63\\x61\\xe7\\xfe\\xbd\\xcb\\x7a\\x2f\\xf2\\xba\\x96\\xd0\\x6f\\xe0\\x85\\x1c\\x3c\\xb1\\xa1\\xf7\\xc0\\x9a\\x70\\xc9\\x62\\xf7\\xee\\x60\\x3c\\x18\\x2f\\x71\\xdd\\xb9\\x66\\xdf\\xb1\\xbc\\x08\\x6c\\x78\\x79\\xef\\x3f\\xd1\\xca\\x76\\x79\\x1d\\x3a\\x57\\x44\\x3b\\x8a\\xbe\\xea\\x87\\xa6\\x26\\x72\\x0d\\xdd\\x13\\x45\\x41\\x9d\\xe3\\x7e\\x1e\\xaa\\xb4\\x5a\\x05\\x6b\\x65\\x21\\x43\\x39\\x75\\x3a\\x87\\x4a\\xe4\\x57\\xc1\\xd4\\xf0\\x1a\\x33\\x61\\xae\\x4a\\x10\\x29\\x98\\xee\\xec\\xb2\\x6f\\xf2\\xec\\x49\\xab\\x8d\\x6f\\x40\\x82\\xe2\\xbe\\x48\\xbd\\x07\\x30\\x79\\xc9\\x7a\\x6e\\x6a\\x6a\\x9a\\x6f\\xba\\x4c\\x16\\x42\\xf7\\xc4\\x6c\\x21\\x8d\\xbf\\xe2\\x09\\x3e\\xd2\\x9a\\xc5\\x13\\x12\\x46\\xef\\x1f\\x73\\xbf\\xd8\\x31\\x8f\\x80\\x96\\xe7\\x55\\x10\\x32\\x56\\xa8\\x73\\xe8\\x9c\\xac\\xc8\\x67\\xa2\\x55\\x2b\\x59\\x51\\x24\\x67\\x26\\xe9\\x4b\\xa6\\x44\\xa9\\xdd\\x70\\x1d\\xcf\\x0b\\xda\\x07\\xb9\\x48\\x9e\\xc7\\x52\\xf2\\x3c\\x21\\xcb\\x23\\xd4\\x61\\x79\\xe0\\x7d\\x58\\x9e\\x86\\xea\\x0c\\x79\\xc8\\xa6\\xcb\\x4d\\x3f\\xd2\\x2a\\x64\\x5f\\x5d\\x68\\x07\\x4c\\x8b\\x97\\xb3\\x3e\\xcc\\xea\\xa2\\xa5\\x95\\x1a\\x0d\\xa4\\xfc\\x20\\x48\\x04\\x2d\\x84\\xcb\\x65\\xb7\\x50\\x96\\x9c\\xb0\\x5f\\x69\\xb7\\xd3\\xc0\\xc1\\xa1\\xbf\\xb4\\xe8\\xac\\x1b\\xdd\\xd5\\x09\\xa3\\x45\\xcb\\xd6\\x24\\xb4\\x99\\x04\\x1d\\x32\\x4c\\xb0\\x94\\xb9\\x67\\xd0\\x04\\xc9\\x4e\\x98\\x4f\\x57\\x9c\\x92\\xad\\xde\\xcd\\x48\\x3a\\xc4\\x15\\x06\\x32\\x99\\x30\\x49\\xd4\\x82\\xfb\\xaa\\x81\\xa3\\xfa\\x4e\\xdf\\xdd\\x59\\x14\\x1d\\xde\\x4d\\xa1\\xcd\\xd5\\xc0\\x3b\\xee\\xa8\\x5d\\x48\\xd8\\x91\\x55\\x1e\\x0f\\xf6\\x08\\xe3\\x9f\\x39\\xf6\\xc2\\x1c\\x99\\x9e\\xa3\\xec\\xe0\\x33\\x60\\x4f\\xc3\\xba\\x7b\\x97\\xcd\\xcf\\x5d\\x89\\xd7\\xbd\\x63\\xd3\\x15\\x9a\\x45\\x7a\\xc6\\xf0\\xfc\\x44\\x7e\\x4c\\xe9\\x60\\x8b\\xa1\\xd7\\x12\\x66\\x59\\x25\\xb4\\x50\\x65\\xad\\x81\\xc3\\xe9\\xa8\\x4e\\x94\\x3a\\x59\\x6d\\x14\\xbd\\x03\\x4b\\x56\\x9c\\x9f\\x35\\x9f\\x28\\x96\\x11\\xb1\\x79\\x25\\x53\\x98\\x09\\x9d\\x28\\x09\\xcb\\x5f\\x4e\\x00\\x33\\xd0\\x06\\xa4\\x6a\\x1a\\x75\\x69\\x56\\x57\\x4f\\xc8\\xb3\\x5f\\xb8\\xfc\\xc0\\x65\\xe1\\xf7\\x60\\x59\\xc7\\xb2\\xa0\\xdb\\x3d\\x25\\x7a\\xbe\\xdf\\xe8\\xa2\\x8a\\xf2\\x56\\xcb\\x67\\xdf\\x72\\x8f\\xcb\\xbd\\x6a\\xca\\x17\\x70\\x46\\xb9\\xa9\\x6b\\x62\\x5a\\xc7\\x6d\\x17\\x96\\xbd\\x79\\xa2\\xe7\\xac\\x61\\xbd\\x2a\\x0a\\x8c\\xbc\\xeb\\x6c\\xa2\\x4f\\xf1\\x8d\\x75\\xb5\\xcb\\xda\\xcf\\x5e\\xfa\\xf4\\xc1\\x8a\\xb9\\x73\\xa3\\x37\\x2e\\x14\\xf7\\xd1\\x44\\x94\\xab\\xdd\\x82\\xec\\x88\\x07\\xf3\\xcd\\x58\\x20\\xa7\\x52\\x39\\x21\\xf4\\x79\\xb5\\x2c\\x83\\x72\\x70\\xc6\\x42\\xd8\\xab\\x9b\\xb5\\x08\\xa5\\x6d\\x89\\x7c\\x69\\xee\\x33\\xa4\\x39\\x3b\\xda\\xf0\\xa9\\xf6\\x33\\x78\\xf3\\x92\\x4d\\x0f\\x0a\\xe7\\x9e\\x14\\x66\\xf1\\x8b\\x81\\x7d\\xa1\\x6e\\x7f\\xdd\\xde\\x11\\x1d\\xe2\\xb9\\xe5\\xd1\\xc8\\x42\\xaa\\xff\\x9e\\x9d\\xdf\\x08\\xab\\xcf\\x83\\xb6\\x1d\\x86\\x93\\xcb\\x1a\\x6f\\x8d\\xc7\\xee\\xba\\x1b\\x28\\xb6\\xf5\\xe8\\xac\\x39\\xc7\\xa8\\xd1\\x99\\xdb\\x87\\x07\\x20\\xc4\\x1a\\x6d\\x00\\xcf\\x6e\\x93\\x8c\\x4e\\xad\\xc1\\xb0\\x22\\x66\\x06\\xd7\\x7e\\x31\\x3c\\x75\\xca\\x1d\\x4b\\xbd\\xce\\x10\\x39\\x2d\\xdc\\xd5\\x09\\x9a\\x40\\xf5\\xc3\\xc2\\x97\\x3d\\x29\\xbe\\x43\\x27\\xe1\\xb4\\xf0\\x2e\\xd5\\xee\\xda\\x19\\x72\\x84\\xe7\\x23\\xeb\\xd6\\xc5\\x8d\\xfb\\xa5\\xb8\\x18\\xfd\\x83\\xfe\\x16\\x7d\\xb7\\x09\\x73\\x9d\\xaa\\x94\\x8c\\x42\\xc3\\xea\\x21\\x20\\x0c\\x06\\xa8\\x51\\x52\\x16\\xa3\\xc9\\x64\\x56\\x99\\xcc\\x1a\\x03\\x34\\xb0\\x66\\x85\\xf4\\x34\\x11\\x88\\x2e\\xa3\\xba\\x97\\xaa\\x26\\x89\\xcf\\xb6\\x62\\x6e\\x64\\x24\\x41\\x19\\x0b\\x00\\x8a\\x4c\\xb0\\x10\\x5b\\x41\\x6e\\x3e\\x5d\\x96\\x07\\x8a\\x40\\x6e\\x77\\x41\\xd0\\x3b\\x5b\\x0b\\x9f\\x08\\xe7\\xf3\\xe8\\x32\\xe1\\x73\\xe1\\xdf\\x28\\x49\\x9e\\x7a\\x71\\xcb\\x50\\xf2\\x56\\x24\\xd8\\xa9\\x55\\xdd\\x16\\x37\\xae\\x26\\x97\\x3c\\xb7\\xba\\xb1\\x37\\x91\\xe4\\xfd\\x7c\\x95\\xfe\\x16\\x45\\x28\\xe5\\x71\\x87\\x46\\x6d\\x52\\xb1\\x6a\\x96\\x34\\x92\\x36\\xcc\\x74\\xca\\xa2\\x68\\x19\\xd3\\x82\\x68\\x70\\xf9\\x2e\\x56\\x9c\\x7d\\xe5\\x9d\\xba\\x60\\x05\\xd2\\x5d\\x01\\x3a\\x09\\x48\\xa4\\x1c\\xb2\\x1c\\x93\\x9c\\x82\\x4e\\x80\\x72\\x8a\\xcd\\x8d\\xff\\x1f\\x6b\\xef\\x01\\x1f\\x65\\x91\\x3e\\x8e\\xcf\\xbc\\x6d\\x7b\\x6f\\xc9\\x6e\\xda\\x66\\xb3\\x9b\\xb2\\x09\\x49\\x76\\x93\\x2c\\x81\\x40\\x96\\xde\\x49\\x40\\x14\\x56\\x0c\\x5d\\x3a\\x0a\\x48\\x27\\x48\\x53\\x7a\\x55\\x40\\xb0\\x80\\x0a\\xea\\x29\\x8a\\x48\\xb7\\x81\\x05\\x3b\\x58\\x0e\\xef\\x6c\\xa8\\x9c\\x60\\xc3\\x7a\\x9e\\xa7\\xa7\\xb0\\xb3\\xff\\x67\\xe6\\x7d\\x77\\xb3\\x09\\x7a\\xdf\\xfb\\xfc\\x3f\\x3f\\xf8\\x90\\xcd\\xbe\\xcc\\xcc\\xfb\\xcc\\xcc\\x33\\x4f\\x9b\\xa7\\xd4\\x5c\\xd5\\xd8\\xed\\x5d\\xf2\\x71\\x2f\\x29\\x97\\x33\\xaf\\x23\\x71\\xf2\\x2e\\xb7\\x61\\xde\\x07\\xe2\\x79\\xea\\xd6\\x18\\xbb\\xe9\\xd2\\x27\\xf8\\x9f\\xb9\\x38\\xa0\\x29\\x00\\x68\\x75\\xc2\\x4d\\x7f\\xdd\\x29\\xd3\\x99\\xe9\\x00\\x13\\xac\\x23\\x52\\xa3\\xa2\\xa8\\x8d\\xe7\\xd4\\x48\\x40\\x1c\\xaf\\x11\\x25\\x49\\x2b\\x88\\x9c\\x89\\x99\\x68\\xc2\\xad\\x2e\\xe4\\xa8\\x51\\x06\\xb3\\x3b\\x38\\x1e\\x77\\xbb\\x86\\xbc\\x87\\x8b\\x0f\\xe3\\x11\\x38\\x10\\x3f\\x3b\\x18\\x1f\\xe3\\x96\\x91\\x21\\xf8\\xd1\\xf8\\x34\\x12\\x43\\xc9\\x58\\xa4\\x7c\\x16\\x8b\\xd4\\x2b\\x5a\\xe0\\x94\\x24\\xec\\x32\\x80\\x54\\xe6\\x06\\xa1\\x27\\x33\\x43\\x74\\x89\\xd4\\x08\\xc0\\xd8\\x99\\xa7\\x6d\\x36\\x89\\xf4\\xea\\x47\\xf2\\x69\\x6a\\x9d\\x51\\xa2\\xb5\\x9e\\x42\\x6b\\x2a\\xb7\\x24\\x95\\xe0\\xda\\x77\\x10\\xaa\\x6a\\xcb\\xeb\\x0a\\x63\\x83\\x6e\\x59\\xae\\x35\\xc5\\x17\\x28\\x89\\x25\\xc8\\x07\\x81\\x60\\xa9\\xfe\\xb4\\x65\\xf9\\x9c\\xca\\xd0\\x80\\x57\\x18\\x4d\\xfb\\x38\\x51\\x2d\\x76\\x04\\xf8\\x5c\\xc8\\x4b\\xeb\\xe6\\x79\\x2c\\xa2\\xda\\x85\\x24\\xc4\\xe9\\x1c\\x5e\\xb5\\x45\\xed\\xd3\\xf2\\xf9\\x39\\x46\\x23\\xaf\\xd2\\x48\\x2a\\x60\\x6a\\x2a\\x93\\x57\\xd0\\xf2\\x5a\\x0a\\x34\\x8b\\x57\\x7e\\x59\\xb1\\xb0\\xa6\\x74\\xfc\\x70\\xab\\x18\\xd1\\xca\\x0a\\x91\\xc2\\x25\\x03\\x9c\\xb2\\xfa\\xf8\\x40\\x79\\x68\\x09\\x5d\\xc2\\x43\\xaa\\xec\\xa4\\x4b\\x5a\\x30\\xd5\\xcf\\xf7\\x5d\\x58\\x70\\xe3\\xea\\xd3\\x7f\\x23\\xff\\xec\\xd3\\x13\\x7f\\x5e\\xdb\\xcb\\x9f\\x5b\\x79\\x7d\\xef\\x51\\xbd\\x32\\x95\\x98\\xaa\\x13\\x3b\\xd7\\xdc\\xb8\\x7d\\xc7\\x98\\x49\\x78\\x7b\\xa8\\x34\\xcb\\x3b\\x70\\x00\\x5d\\x63\\x96\\x2b\\x13\\xe6\\xe0\\xa6\\xf1\\x05\\xbc\\xd5\\xa4\\xd6\\xa9\\xad\\x7c\\x86\\xd6\\x60\\xc8\\xca\\xcc\\xc8\\xf0\\x98\\x32\\xd5\\x6a\\x27\\x90\\xa9\\x86\\x98\\xd3\\x63\\x64\\xde\\xc9\\xfa\\x2b\\x8a\\x03\\xfc\\x41\\xf9\\x11\\x51\\xb6\\x61\\xb7\\xae\\x30\\x21\\x07\\x1a\\xe0\\xd5\\xf3\\x36\\x77\\xb9\\x75\\xc1\\x20\\x3f\\xbe\\x23\\xfe\\x6a\\x21\\xbf\\x22\\x40\\x06\\x3e\\x70\\x64\\x6d\\xfc\\x3e\\xd2\\x10\\xc5\\x66\\xcf\\x57\\x0f\\xae\\x1f\\x33\\xa7\\xea\\x59\\x3c\\xfc\\x8d\\x17\\xc9\\xed\\xee\\x0b\\x47\\x36\\x7f\\xbb\\x0c\\x8f\\x2e\\x7e\\x0d\\xd6\\xfa\\x79\\x05\\xce\\x3c\\x54\\x42\\xad\\xf1\\xbc\\xba\\x98\\x2f\\xb0\\xa2\\x1c\\x97\\xdb\\x85\\x44\\xc1\\x90\\x99\\x95\\x55\\x5a\\x60\\x30\\x04\\xb3\\x19\\x79\\xf5\\x9a\\x73\\x5c\\xbc\\xd5\\xec\\x32\\xbb\\xb4\\x1e\\x53\\xa1\\xd6\\x83\\x58\\x30\\x3d\\xb0\\x0b\\x59\\x40\\xff\\xa3\\x02\\x19\\xb2\\x17\\x16\\x50\\x55\\x2a\\x5c\\x14\\x4a\\x49\\x69\\xc2\\xd5\\xba\\x7a\\x4a\\x52\\xae\\x88\\x04\\xf8\\xc3\\x45\\xb9\\xc1\\xfc\\x4f\\x0d\\x59\\xfb\\x5e\\x3c\\xf0\\xd6\\xfb\\x47\\x9e\\x7b\\xe4\\xf1\\x63\\xe9\\x53\\xfa\\xcb\\xc1\\xf8\\x43\\xfd\\x46\\x34\\x0d\\xdc\\xd6\\x34\\x7d\\x74\\x87\\xb5\\xde\\x5e\\x7d\\x56\\x05\\xba\\xce\\xba\\x7b\\xd9\\xd6\\x7d\\xcd\\xdc\\xfa\\x75\\xc9\\xe9\\x9d\\x25\\x1f\\x76\\xa8\\x0c\\x77\\x1c\\x72\\x2b\\x3d\\x47\\x43\\xe0\\x1c\\xe5\\xb3\\x7a\\xa8\\xed\\xa3\\x59\\x19\\x48\\x6f\\x40\\x86\\x4c\\x95\\xcd\\xe6\\xe6\\x5d\\xb0\\xe6\\x3c\\x6f\\x46\\x66\\x40\\x1d\\xb3\\x20\\xdb\\x3c\\x53\\x65\\x19\\x5a\\x95\\xb4\\x0c\\xdb\\x92\\x66\\x20\\xd9\\xa3\\x47\\x71\\x2d\\x55\\xf1\\xef\\xce\\xef\\x30\\xe0\\xea\\x75\\x03\\xc6\\x0c\\xdf\\xdb\\x9d\\x90\\x7a\\xac\\x3f\\x71\\xf6\\xab\\xe6\\x7f\\xac\\xe9\\xcf\\xdd\\x68\\x1d\\x7f\\x74\\xee\\xb0\\xeb\\x4f\\x76\\x7b\\xfc\\xa9\\xf3\\x7f\\xbf\\x87\\x24\\xee\\xb7\\x91\\x39\\x14\\x96\\x89\\x00\\xcb\\xec\\x16\\x58\\x2c\\x02\\x12\\x32\\xf5\\x3a\\x9d\\xdb\\x8e\\x69\\xee\\x16\\xbb\\x1a\\xa9\\x8d\\x8d\\x34\\x05\\xd0\\x7f\\x81\\xc5\\x6b\\x4b\\xc6\\xf4\\xd2\\x48\\xd6\\x96\\x92\\xf6\\x3c\\xae\\xeb\\xbf\\x74\\xd7\\x56\\x6c\\x3f\\xfa\\xdc\\x27\\x26\\x72\\x41\\xf3\\xc0\\xca\\x6d\\xc3\\x87\\x79\\xeb\\xcb\\xe7\\xe3\\x35\\xce\\x0f\\xef\\x7e\\x0a\\xfb\\xef\\x7b\\x72\\x7f\\xb7\\x93\\x2f\\x1d\\x9a\\x30\\x43\\xd2\\xc7\\x37\\x03\\x7e\\xfe\\x0d\\x68\\xfd\\x67\\x0c\\x96\\x9a\\xa8\\x07\\x20\\xc9\\x10\\x32\\xdc\\x00\\x4b\\x26\\xb6\\x03\\x2c\\x18\\xab\\x33\\x78\\x06\\x8c\\x23\\xad\\x5c\\x4b\\x9b\\xb2\\xaa\\x49\\x13\\x52\\xcb\\xed\\x0a\\x3b\\x3c\\x36\\xde\\xd8\\x7f\\xf3\\xc6\\xdb\\xc9\\xb7\\x4f\\x02\\x24\\x38\\xab\\x05\\x12\\x71\\x1b\\x99\\xd3\\xee\\xdd\\x1d\\xc7\\xc8\\xf9\\xbb\\x5b\\x60\\xe1\\x6e\\x84\\x75\\xc9\\x21\\xd7\\x08\\xb3\\x84\\x06\\x10\\x99\\x22\\x00\\x8b\\x55\\xef\\xb2\\xba\\xb2\\x04\\x9e\\xcf\\xb6\\x08\\x76\\x64\\x37\\x36\\xc4\\xec\\x20\\xbd\\x36\\xb4\\xf2\\xcc\\x6a\\x5d\\x02\\x5b\\x16\\x5e\\x45\\xc5\\x0f\\x44\\xf1\\xcc\\x96\\xab\\xb2\\x44\\x6c\\x56\\xee\\x95\\x67\\x3f\\x33\\x92\\x0b\\xba\\xbb\\xa7\\x2f\\xf1\\x37\\xb8\\x0e\\x24\\xc3\\x7d\\xdf\\x3b\\x9f\\xd9\\x77\\x9c\\xd0\\x40\\xfd\\x49\\x77\\x1c\\x26\\x93\\xe6\\x84\\x2e\\xb2\\xc8\\xde\\xb3\\xa7\\x3b\\xde\\x8a\\x97\\x70\\x66\\x6a\\x8b\\x53\\x6a\\xeb\\x82\\xe2\\x9c\\x05\\xe7\\xa3\\x2e\\x9a\\x9d\\x9b\\xed\\x06\\xcc\\xb1\\xe9\\x78\\x5d\\xbe\\x37\\x3b\\x27\\x07\\xa9\\x54\\xce\\x91\\x31\\x95\\x0d\\x99\\x46\\xc6\\x90\\xd0\\xca\\x93\\x23\\xdc\\xc6\\x82\\x8b\\x99\\x01\\x91\\xca\\x1b\\xac\\xa0\\xae\\xab\\x55\\xfd\\x5c\\x7a\\x5f\\xc7\\xdf\\x8b\\xfd\\x78\\xf0\\x5f\\xc9\\xad\\xff\\x52\\x6a\\xe9\\x7e\\x9e\\x2a\\x9b\\x4b\\xae\\xea\\x88\\xbd\\x1d\\x61\\xf9\\x5e\\x23\\x3f\\xff\\x42\\x26\\x7f\\x94\\xac\\xa2\\xfb\\x75\\x7a\\xd5\\xdc\\xf8\\x6a\\x5c\\x49\\xde\\x92\\xf3\\x17\\xf8\\x01\\xcf\\x1e\\x57\\x74\\xee\\x6c\\xd4\\x27\\x1a\\xb0\\x09\\x6e\\x8d\\xd1\\xe5\\x32\\x18\\x24\\x8d\\x20\\xe4\\xe6\\x48\\xc6\\x6c\\x63\\x36\\xb5\\x05\\xc0\\x61\\x70\\x0d\\x8a\\x19\\x1c\\xc8\\x39\\x48\\xae\\x4e\\xf2\\xe7\\xae\\x4f\\xf2\\x8d\\x6f\\x2a\\x9f\\x1a\\x50\\x4c\\x2c\\x1f\\x8a\\x20\\xe6\\x69\\xed\\x8f\\x20\\xfe\\x0f\\x57\\xf9\\xfc\\x4b\\x17\\x07\\x8c\\xfc\\xf5\\x54\\x7c\\x2e\\xde\\xf4\\xe3\\xf0\\xeb\\xaa\\x9f\\xfe\\x71\\xed\\xa5\\x4b\\x27\\x2f\\x09\\x1d\\x56\\x2d\\x3d\\xd2\\xc7\\xd3\\x3c\\x70\\xd7\\x3e\\x6e\\x69\\x56\\xe7\\xaa\\x69\\xf1\\xf6\\x1b\\xd6\\x50\\x9b\\x45\\x0e\\xc8\\x40\\x3d\\x98\\x3d\\x2a\\x40\\x75\\x17\\x8b\\x8b\\x2f\\xd0\\xe6\\xe4\\x14\\x78\\x61\\xd1\\x8b\\x0a\\x25\\xb5\\xda\\x63\\xf7\\x18\\xa8\\xcb\\xfe\\x1f\\x78\\x66\\x85\\xdb\\xba\\x15\\xd3\\xd5\\x54\\xc9\\x37\\x9e\\x8a\\xc9\\x36\\xcd\\xb7\\x90\\xea\\x2b\\xd5\\x55\\x05\\xdc\\x88\\xab\\x46\\x8d\\x1e\\xee\\x73\\x7d\\x73\\x4d\\xcf\\x91\\x5b\\x86\\x4e\\xa8\\x7b\\xff\\xab\\xfd\\xe4\\xdc\\x13\\x2f\\x9e\\x7f\\x68\\xeb\\x35\\x63\\xb0\\x9e\\xbf\\xab\\x61\\x60\\xb4\\xe6\\xc8\\xa3\\x9d\\xa3\\x33\\xbe\\x5c\\xb1\\xfc\\xb6\\x83\\xff\\xfe\\xf2\\x31\\xf2\\xc6\\x9e\\xbb\\x57\\x2c\\xbe\\xd3\\x68\\x9f\\x76\\xd5\\xe6\\x43\\x28\\xe9\\xdf\\x23\\xde\\x2b\\x56\\x00\\xc4\\x83\\x81\\x33\\x21\\x14\\x30\\x98\\x55\\x0e\\x87\\xd1\\x1c\\x10\\xf2\\x0a\\xf3\\x8a\\x98\\x07\\x54\\xa6\\x11\\x79\\x32\\x4d\\x26\\x5b\\x66\\x26\\xdf\\x18\\xcb\\x34\\xdb\\xb4\\x0d\\x20\\x67\\xb7\\xf1\\xf3\\xa9\\x0d\\xd3\\xc0\\xfe\\xb6\\x31\\x83\\x38\\xcd\\xc1\\xa7\\xbe\\x95\\xf3\\x4f\\xc8\\x95\\x56\\xf8\\x90\\x9f\\xd4\\xe2\\xe7\\xe3\\x6e\\xed\\x05\\x74\\x43\\xb3\\xe3\\x99\\x4d\\x5d\\xa8\\x2b\\xc2\\x42\\x4b\\x16\\xf7\\x5e\\xd2\\xed\\x67\\x75\\x8b\\x33\\x50\\xed\\x8a\\xad\\xd4\\x89\\xe2\\x7d\\x25\\x0f\\xdd\\x63\\x42\\x07\\xab\\xc4\\x7f\\xcf\\x62\\x5f\\x7b\\x2a\\xfa\\xb8\\x19\\xa4\\xb4\\x5c\\x5a\\xf7\\x1d\\xb8\\x94\\x41\\xa3\\xb1\\xd8\\x6c\\xde\\x6c\\x10\\x4e\\xad\\x96\\xab\\x62\\x56\\xac\\x36\\x19\\xdc\\x6e\\xad\\x24\\xb1\\x92\\xd7\\xa1\\x10\\xbd\\x35\\x0f\\xd7\\xa7\\xc5\\x97\\x25\\x65\\x34\\x5b\\xda\\x5d\\x34\\x73\\x3d\\xb3\\x51\\x5a\\xcf\\x1c\\xcf\\xd8\\x6e\\xdd\\xba\\xe6\\xf0\\x85\\xf7\\x26\\xec\\xc5\\x99\\x7b\\xef\\x2e\\xbc\\x5b\\xd3\\xee\\xd3\\x7f\\xd3\\xf8\\xb2\\x78\\xc7\\x1e\\x03\\x1d\\xfa\\x99\\xb1\\xc6\\x5a\\x32\\xf4\\xb6\\xb9\\x8f\\x1f\\xe7\\xa7\\x5d\\xbe\\xfd\\x74\\xf1\\xa9\\x43\\xd2\\x83\\x6f\\xbd\\xf5\\xbb\\x7b\\xc0\\x98\\x0e\\xfd\\x3b\\x94\\x46\\x98\\x0c\\x73\\x98\\xdc\\x20\\x5c\\xcb\\x64\\xd5\\xaa\\x68\\x06\\xd6\\x6a\\x55\\x3c\\x2f\\x20\\x9d\\xa0\\x33\\xa8\\x35\\x7a\\x15\\xd6\\xf0\\x3a\\x93\\x44\\x03\\x7d\\x5e\\x4e\\x3a\\x2e\\x85\\x2c\\x49\\x0f\\x1a\\x59\\x60\\xb1\\xc9\\x17\\x90\\xb4\\xa8\\x1c\\x7e\\xe0\\x99\\x75\\x57\\xe3\\x0c\\x72\\x8e\\x7c\\xf9\\x10\\x29\\x27\\xc7\\xf1\\x07\\xe4\\x3b\\xd0\\x48\\x4c\\xfd\\xf0\\x83\\xbf\\x57\\xf1\\x83\\x49\\x14\\x3f\\xc8\\x6d\\xa1\\x7b\\x5f\\x0c\\x8b\\x54\\x04\\xef\\x14\\xa9\\x0d\\x4f\\xc0\\x22\\x2d\\x85\\x6d\\xc2\\x42\\x63\\x0c\\x3b\\xda\\xd8\\xf0\\xa8\\x65\\x8a\\xf7\\xf2\\x28\\x5e\\x7c\\x06\\x26\\x88\\x8f\\x0b\\x1d\\x2e\\xdf\\x2e\\xdb\\xe9\\x3a\\x2a\\x7e\\x74\\xb2\\xcf\\x7a\\xd0\\xec\\x43\\x3c\\x86\\x83\\x68\\xc0\\xfa\\x62\\x97\\xde\\x25\\x05\\xa5\\x52\\x0b\\xb2\\x7b\\x3c\\xfe\\x86\\x98\\xc7\\x6c\\xcf\\x05\\xda\\xe7\\x34\\x7a\\x98\\xb9\\x38\\xe9\\xec\\xd1\\xc6\\xdf\\xb9\\x4d\\xf4\\x06\\x4e\\xf7\\x89\\xc3\\xff\\x35\\x6d\\x08\\xbf\\xac\\x21\\xef\\xc0\\x86\\xc1\\x8a\\x23\\x1c\\x39\\xf3\\xa7\\x49\\x42\\xf8\\x95\\xb8\\xbd\\xe2\\x02\\xf7\\xdb\\x17\\x7f\\x9a\\x15\\x04\\xf6\\xe4\\x69\\x85\\xd7\\xe6\\xa1\\x1b\\xa2\\x75\\x9e\\x8c\\x2c\\x57\\x96\\x2b\\x07\\x61\\x9c\\xad\\x37\\x18\\xb2\\x33\\xf9\\x5c\\x60\\xbb\\xf9\\xb9\\x5e\\xca\\x78\\x3d\\xb9\\x79\\xb9\\x83\\x62\\x19\\x79\\x7a\\x13\\x8f\\x4d\\x79\\xb9\\x79\\x9c\\x11\\xd0\\x8b\\xcf\\x33\\x67\\x3b\\x14\\x6e\\x9c\\x0c\\x9b\\x63\\x91\\xb6\\x4d\\xb5\\xc9\\x30\\xdb\\x56\\x31\\x46\\x69\\xfe\\x19\\xf8\\x8f\\x39\\xb4\\x09\\xb3\\x8b\\xa7\\x08\\x88\\x7b\\xd6\\x8e\\x7f\\xc4\\xaa\\x8d\\x78\\xac\\x9f\\xec\\x74\\x93\\xcf\\xdd\\xe4\\xb4\\x1f\\x47\\x71\\xf9\\x15\\x8c\\xbb\\xef\\x53\\x2b\\x56\\x3c\\x45\\xf7\\x5e\\xa7\\xf0\\xee\\x3c\\x34\\x25\\xda\\x31\\xc3\\xe3\\x72\\x65\\x65\\x21\\x10\\x5c\\x80\\x47\\xe5\\x0a\\xd9\\x99\\x82\\x17\\x78\\x67\\x3e\\xe5\\xe3\\x2d\\x53\\xb3\\x27\\xa7\\x66\\xcf\\xb3\\xe7\\xa9\\xb3\\x1d\\x0a\\x73\\xff\\x2f\\x53\\x6b\\x99\\x58\\xca\\xd1\\x2b\\xf2\\x27\\xec\\x3e\\x35\\xb1\\x05\\xc6\\x3f\\x62\\xfb\\x1d\\x71\\x3f\\x3f\\x39\\xc2\\x26\\x76\\x18\\x26\\xd6\\xf7\\x0a\\x19\\x80\\xbc\\xc3\\x26\\xc6\\xb3\\x1c\\xea\\xb9\\xac\\xee\\x6e\\x09\\x2a\\x83\\x7d\\xeb\\xe8\\x0a\\x3a\\xdd\\xa5\\xa5\\x4e\\x3e\\xdf\\xca\\x3b\\x1c\\xa8\\x58\\xab\\x45\\x1e\\xbe\\x5d\\x59\\x46\\x46\\x79\\x66\\xd0\\x15\\x04\\x29\\xdb\\xe4\\xc0\\x82\\x45\\x65\\x34\\xd2\\x0c\\x37\\x66\\x55\\x76\\x03\\x28\\xab\\xee\\x52\\x54\\xda\\x2a\\x6b\\x41\\xeb\\x00\\x04\\xd4\\xca\\x45\\x03\\x3e\\x42\\xc9\\xe9\\xa5\\x9b\\x0d\\xd2\\x93\\x05\\x51\\x5d\\x42\\xe5\\x6f\\x95\\xd2\\x91\\xc7\\xdc\\x67\\x1a\\x49\\xb8\\x22\\x2b\\xd0\\x00\\x7e\\x7c\\x61\\x7c\\x18\\x77\\x75\\xd1\\xef\\x2b\\x5a\\xd2\\x38\\x56\\xdc\\xcc\\xed\\xc8\\x1d\\x9b\\xd3\\x3a\\x1c\\x81\\xdc\\x00\\xa2\\xfa\\xe9\\x47\\xd3\\x9c\\xf3\\xb9\\x17\\xe3\\xa3\\x39\\xd9\\x3f\\x07\\x55\\x92\\xa1\\xaa\\x3d\\xb0\\x0e\\x55\\xa8\\x2b\\x5a\\x15\\xed\\x13\\xc8\\x74\\x96\\x78\\xf3\\x6c\\x65\\x56\\x6b\\x45\\x45\\x55\\x07\\x1a\\x7b\\x51\\xd9\\x45\\x92\\x2a\\xf3\\x4a\\x32\\xc5\\x6e\\xa5\\x76\\x7b\\xf7\\x4a\\x87\\xb3\\xa4\\x84\\x92\\xc5\\x6c\\x5f\\x43\\x2c\\xdb\\xe3\\x28\\xb3\\x95\\x35\\xc6\\x6c\\x26\\x25\\x1c\\xa3\\x13\\x0b\\x54\\xa8\\xfe\\xc3\\x70\\x8c\\xd6\\xce\\x2b\\xf5\\x6d\\x96\\x26\\xdc\\xaa\\x38\\xf9\\x1f\\x25\\x52\\xfa\\x2f\\x6e\\x2d\\x7f\\x14\\xd1\\x70\\xe1\\xca\\x15\\xe3\\x7e\\x4e\\xf9\\xbd\\xbc\\xfa\\x4d\\x47\\x8c\\xba\\x1d\\x4d\\xf9\\xbd\\x0c\\x5f\\xf8\\x5f\\xe2\\x1c\\xe4\\x45\\x4c\\x39\\xc5\\xcc\\x58\\xd8\\x98\\x72\\x8a\\x89\\xcf\\xbb\\x32\\xf2\\x41\\x00\\xdc\\xaa\\xd6\\xd0\\x9a\\x9b\\x25\\xa8\\x3d\\xea\\x88\\x7a\\xa0\\x2d\\xd1\\xc6\\x80\\xcb\\xdb\\x43\\xa8\\x2f\\xa8\\xcf\\xee\\x68\\xf7\\x15\\xd8\\x6a\\xad\\xce\\x0e\\x1d\\xac\\x25\\x15\\x74\\x7d\\x0b\\x23\\x92\\x54\\x58\\x60\\xcf\\x16\\x7b\\xf5\\xec\\xea\\x76\\x17\\xf6\\xe8\\xe0\\x2c\\x74\\x82\\xca\\x51\\xe8\\x70\\xd4\\xda\\x6a\\xd3\\xd6\\x36\\x4c\\xd7\\xb6\\x24\\xc8\\x07\\x1b\\x62\\x3e\\xaa\\xf0\\xbd\\x9c\\xb6\\xa4\\x2d\\x2b\\xac\\x04\\x25\\x86\\xd3\\x25\\x85\\x16\\xcc\\xb3\\xa4\\x2c\\x9f\\x7f\\xba\\xc6\\xde\\x74\\xd5\\xb0\\x10\\x54\\xc6\\xb6\\x2b\\x8b\\x79\\x4d\\x8b\\xc6\\xf8\\x07\\x69\\x46\\xfb\\xf3\\xa3\\x0b\\xe3\\x63\\xb0\\x3a\\x4d\\x75\\x7c\\xa8\\xca\\x1e\\x2f\\x4d\\x5f\\x5c\\xbe\\x72\\x19\\xb7\\x1d\\x37\\x2a\\x0a\\xe5\\x15\\x4b\\x9d\\xa6\\x5a\\x4e\\xe9\\x95\\xd9\\x66\\x7d\\x01\\x79\\xaf\\xe1\\x1e\\x89\\x8f\\x48\\xaa\\x9c\\x80\\xc3\\xd7\\x20\\x24\\x2d\\x10\\xdb\\x83\\xd6\\x5c\\x8d\\x46\\x44\\xc3\\xe6\\x72\\x67\\x99\\xd3\\x11\\x40\\x9e\\x32\\x53\\x38\\xac\\x97\\xb4\\x52\\x19\\x72\\x88\\x91\\x1a\\x6b\\x26\\xad\\x06\\xee\\x71\\x06\\x78\\x5e\\x57\\xa1\\xd5\\x81\\x74\\x62\\x32\\xe8\\xe4\\xb0\\x1a\\x47\\x2b\\x9b\\x25\\x2c\\x4f\\x6b\\xe7\\x89\\xb4\\x4b\\x7e\\x6c\\x2e\\x6e\\x65\\xc5\\xf4\\xa6\\x5f\\x5d\\x38\\x5d\\x39\\x9c\\xe8\\x57\\xae\\x35\\x68\\x45\\x38\\xb9\\x02\\xb1\\x54\\x4d\\x34\\xf1\\x4e\\xcd\\xab\\xcc\\x63\\x65\\x03\\x27\\xfe\\x66\\xd0\\xc4\\xe4\\x05\\x46\\x9f\\xc6\\x97\\xef\\x69\\xb8\\x74\\x80\\x9b\\x32\\x7b\\x52\\xc3\\xe6\\x8d\\x9b\\xfb\\xba\\x13\\xe8\\x7a\\x5d\\x05\\xbe\\x96\\x3c\\x48\\x2d\\x9f\\x98\\x1c\\x27\\xc4\\x22\\x5f\\x60\\x14\\x87\\xcc\\xc5\\x83\\x16\\xff\\x82\\x3b\\xd6\\x87\\x23\\xb9\\x79\\x03\\x66\\x0c\\x1e\\x50\\x17\\x4f\\xb4\\xf7\\xb6\\xab\\x96\\xcf\\xf1\\x35\\x2c\\x67\\x24\\xc5\\xb9\\x30\\xbd\\xd5\\x29\\x6b\\x97\\xc9\\xbb\\x8b\\xb4\\x5a\\xc0\\xa8\\x8c\\x50\\xc8\\x61\\xb2\\x99\\xf8\\x42\\xc1\\x5b\\xe5\\xad\\xce\\x29\\xa0\\xbe\\xea\\xe5\\x36\\xbb\\xad\\x21\\x96\\xe1\\xb4\\x9b\\xf4\\x40\\xdb\\x40\\x21\\x4f\\xbf\\xfa\\x48\\x2f\\xd9\\xdd\\x36\\xc7\\x9f\\x25\\x15\\x9c\\x9e\\xbc\\x6f\\x48\\xde\\xe9\\x28\\xeb\\x11\\x69\\x73\\x4b\\xc2\\x87\\x14\\x63\\x1d\\x7e\\x84\\x5e\\x40\\x54\\xf7\\x2c\\xef\\x54\\x68\\x9f\\x3e\\x45\\x2e\\x5a\\x4d\\x57\\x03\\x25\\xb4\\x6d\\x6f\\x4f\\x9a\\xdb\\xf7\\x5b\\x99\\x40\\x13\\x75\\xc9\\x5b\\x94\\x09\\xc9\\x22\\xd6\\x84\\x54\\xb6\\xba\\x4e\\xe1\\xc6\\x18\\xb8\\x23\\xf1\\x7f\\xb6\\xf7\\x0e\\x67\\x6b\\xd0\\x08\\x7a\\xcb\\x9d\\x80\\x07\\x95\\xa8\\x13\\x5a\\x10\\xed\\xaa\\x92\\x2a\\x32\\xda\\xf3\\x21\\x14\\xb2\\x19\\x50\\xa1\\x14\\x08\\x06\\x7d\\xde\\xec\\x6c\\x64\\x93\\x84\\xfa\\xce\\xc5\\xde\\x7c\\x6f\\x43\\xac\\xda\\x50\\x91\\xc1\\x3b\\x55\\xf9\\x66\\xb3\\x33\\x50\\x90\\x6f\\x76\\x03\\x29\\x73\\x3b\\x9d\\x1d\\x69\\x6d\\x40\\x01\\xd0\\x43\\x30\\xb7\\x76\\x00\\x79\\x59\\xae\\xe1\\x4c\\xa9\\x55\\x9a\\x81\\xb5\\x25\\xe4\\x3b\\x75\\xa3\\xf0\\xa7\\xb1\\x73\\xbe\\xb6\\x06\\x70\\x15\\xd3\\xd9\\x02\\x62\\x5a\\x48\\x1d\\xb7\\xfa\\x4f\\x02\\xea\\x2e\\xcc\\xfb\\x72\\xef\\xcd\\x2b\\xb4\\x33\\xe5\\x2a\\x83\\xa7\\xfd\\xa7\\xa7\\x88\\x43\\x8a\\xa7\\x54\\x18\\xb9\\xb7\\x5b\\x82\\xec\\xf0\\xd3\\x57\\x44\\xd8\\x6d\\xd8\\x30\\x77\\x46\\x69\\x88\\xeb\\xcb\\x4a\\xa3\\x7f\\x56\\x76\\x4d\\xc4\\xdf\\x6d\\x50\\x2a\\xe0\\x0e\\xb3\\xbc\\xc6\\xfb\\x01\\x6f\\x3a\\x50\\x4f\\x19\\x54\\xe4\\x95\\x1c\\x39\\xda\\x1c\\x49\\x52\\x65\\x6b\\xb5\\x26\\x9d\\xce\\xa0\\x0a\\x15\\x89\\x75\\x1d\\xcb\\xab\\x1b\\x63\\xe5\\x1e\\xaf\\xce\\xef\\xe7\\x1a\\x63\\x7e\\xb3\\x0d\\x4e\\x92\\x0d\\xcb\\x97\\x11\\xd9\\xc0\\x0c\\x75\\xb2\\xff\\x4e\\x1b\\x26\\x78\\xe5\\x19\\x82\\x65\\x6a\\xed\\x6c\\xec\\x95\\x63\\xcc\\x15\\x27\\x74\\xb6\\x5e\\x20\\xbb\\xb4\\x76\\x4b\\x6a\\xb9\\xdc\\xaa\\x89\\xd8\\x6a\\xc4\\xad\\xdb\\xc7\\xdc\\x4b\\xbd\\x92\\xf6\\x11\\xb2\\x8f\\x7c\\x45\\xa3\\x38\\x9c\\x39\\xcf\\x3e\\x9a\\x8a\\xe2\\x30\\x73\\x2a\\x9b\\xc8\\x0f\\x7a\\x78\\x1a\\x75\\x55\\xda\\x96\\x73\\xe4\\xee\\xb2\\x99\\xde\\x42\\x56\\x40\\x7e\\x39\\x75\\x56\\xba\\x77\\x61\\xfc\\x7e\\x1a\\xe4\\xc1\\x37\\x1f\\x9f\\x71\\xd7\\x0a\\x39\\xcc\\xe3\\x6a\\xcd\\x36\\xf7\\x8c\\xe1\\x72\\xc6\\xc5\\xdf\\xee\\xb9\\x4d\\xa7\\x79\\xcd\\x54\\x37\\x88\\xbb\\xaf\\x59\\xf1\\x0f\\x07\\x9c\\xd2\\xb0\\xf8\\x8f\\xbe\\xd1\\x62\\xa7\\x43\\x93\\xef\\x31\\xf1\\xc5\\x20\\x10\\x9b\\xf2\\x1d\\x42\\xb0\\xc4\\xc9\\x17\\x79\\x34\\xa2\\xdf\\xea\\x57\\x35\\xc4\\xfc\\x4e\\x99\\xc2\\xa4\\xfc\\x35\\xff\\x38\\x41\\x53\\xd2\\x4d\\x93\\x26\\x69\\xfa\\x6f\\x49\\x99\\x40\\x65\\x2e\\x54\\xf9\\xa8\\xc3\\xe6\\xfb\\x55\\x27\\xbf\\x59\\xf0\\xc9\\x1f\\xe6\\x62\\xfa\\xe5\\x29\\x72\\x64\\x76\\xa6\\x78\\xea\\xd2\\xa3\\x55\\xa3\\x6a\\x97\\xff\\x49\\x1a\\xa6\\xfe\\xfd\\x96\\xcb\\x77\\x26\\x09\\x84\\xc4\\x19\\x30\\x17\\x35\\x48\\x75\\xd4\\xc7\\x1a\\xf4\\x06\\x81\\xb2\\x16\\x84\\xf4\\xa2\\x86\\xd7\\xc8\\xce\\xa6\\x5a\\x89\\x11\\x83\\x94\\x50\\xd3\\xda\\xf0\\x49\\x71\\xbd\\xb2\\xc2\\x87\\x15\\x59\\x05\\xc4\\x13\\x4c\\x41\\x1c\\xc8\\xaf\\x2c\\x8c\\x17\\x72\\x2b\\x8a\\x2e\\xff\\xeb\\x16\\xee\\x6f\\xd4\\x87\\x94\\xca\\x1c\\xfc\\x8d\\x94\\x54\\xcb\\xf4\\x29\\x00\\x72\\xe4\\x59\\x96\\x5f\\xb4\\x04\\x5d\\x1f\\x0d\\xbb\\x9c\\x45\\xfe\\x02\\x4f\\x6e\\x4e\\x7e\\xbe\\xa7\\x88\\xcf\\x2b\\x2e\\x29\\x71\\x60\\x64\\x33\\x9b\\x44\\x8d\\x5a\\xef\\xcd\\xcb\\xd3\\x69\\xb5\\x7a\\xd1\\x26\\x04\\xed\\x0e\\x47\\x69\\x9e\\x26\\x4f\\xa3\\xcd\\x75\\x68\\x71\\xaa\\x94\\x63\\xba\\x65\\x3c\\xcd\\x3c\\xde\\xda\\x5c\\xce\\x3c\\x83\\x03\\xd5\\x11\\xd0\\x1a\\x7d\\x7c\\xd8\\x56\\x4f\\xeb\\x57\\xb8\\x1c\\xb6\\x70\\xab\\xa7\\x11\\xe5\\x21\\x7f\\xdf\\x2b\\x45\\x3c\\x2e\\x71\\x9e\\x78\\xa5\\xe4\\x09\\x5d\\x81\\xf9\\xc9\\xd7\\x03\\xdc\\x99\\x7d\\x24\\x98\\xf6\\x30\\xfc\\x14\\x7b\\xc6\\x3b\\xf1\\xf2\\x9c\\x68\\xcd\\x84\\x72\\xb2\\x98\\x3b\\x42\\x34\\xc3\\x0b\\xf0\\x3c\\xb2\\x2a\\x10\\xc3\\xbf\\xfe\\x5e\\xd5\\xea\\x3f\\x16\\x27\\x9f\\xb3\\xb9\\xbb\\x61\\xee\\x8f\\xc2\\xdc\\xe9\\x75\\x42\\xdf\\xa8\\x1f\\x56\\xdd\\x28\\x8a\\x2a\\x83\\x96\\xe3\\x4c\\x2a\\x95\\xc5\\xc0\\x6e\\xd7\\xb1\\x68\\x84\\xbf\\x92\\xc6\\xe0\\x90\\x40\\x7b\\x96\\x30\\x6a\\x75\\x2b\\xd5\\xda\\x5b\\x27\\x69\\x7c\\xf7\\xc1\\x01\\xf2\\xb1\\xb4\\x02\\xec\\x53\\x18\\xf0\\x7d\\x15\\x99\\x5c\\xf5\\xfd\\x48\\x7e\\x26\\xf9\\x94\\xfd\\xfa\\xdd\\x08\\x7e\\x26\\xff\\x39\\xd6\\x90\\x5f\\xf1\\x97\\x00\\x21\\xfb\\x04\\x9c\\x06\\x25\\x53\\x9c\\x27\\xf4\\x40\\x7e\\x5a\\x6b\\x36\\xc7\\x9f\\xeb\\xcd\\xcf\\xcf\\xcd\\xcd\\xb3\\x6b\\x33\\x25\\x93\\xa4\\xcd\\x13\\x0a\\x03\\xf9\\x1e\\x3f\\xa8\\x7c\\xb9\\x26\\x96\\xa4\\xcb\\xcc\\x7b\\x1a\\x5b\\x45\\x9e\\xd2\\xeb\\xc6\\xfa\\x36\\x38\\x2d\\x7b\\xef\\x24\\x6f\\xc2\\x5a\\xee\\x7b\\xf3\\x2c\\x76\\x39\\x32\\x49\\x71\\x7c\\xad\\xc7\\xfc\\x91\\xde\\x4f\\xaf\\x5a\\xbd\\xad\\xb2\\xb2\\x6b\\x8f\\x1e\\x93\\x8a\\x17\\x4f\\xc3\\xe1\\xcc\\xec\\xcc\\x3b\\x26\\xdc\\x9f\\x3d\\x1d\\x67\\x92\\x8f\\xc8\\x97\\x0d\\x1e\\xe7\\xf3\\x53\\x27\\x3e\\x70\\xe7\\xa4\\x3d\\xbb\\xfd\\x91\\x2a\\xc7\\x19\\x0f\\xf9\\xbe\\x7a\\xfe\\xfc\\x99\\xed\\x1e\\x7d\\x6c\\x2d\\xd7\\xf5\\xf7\\x6c\\xbc\\xf5\\xe6\\xa1\\x48\\x99\\xc3\\x19\\x98\\x43\\x05\\xba\\x3a\\xda\\x2e\\xa7\\x22\\xb7\\x2c\\x37\\xcf\\x57\\xa6\\x4c\\xa1\\x2c\\x4f\\x2c\\xac\\x2c\\x0c\\x95\\xf8\\x1b\\x63\\x25\\x9e\\x8a\\xff\\x6b\\x26\\x6d\\xcd\\x11\\x96\\xff\\x69\\x2e\\x7c\\xab\\xd0\\xe1\\xff\\x3e\\xad\\xb7\\x34\\x77\\x75\\x1f\\x52\\x3c\\x63\\xec\\xc3\\x7b\\x8d\\x25\\x7f\\x3e\\xb7\\x4b\\xe7\\xca\\x7d\\xdb\\xe1\\xd9\\x96\\xf5\\xd5\\x3d\\xdf\\x94\\x6d\\x2e\\xf8\\x22\\x5f\\x2f\\x21\\x94\\x81\\xc2\\x51\\x1d\\xe7\\x74\\xba\\x5c\\x99\\x66\\x8d\\xc6\\x9d\\x71\\x0c\\xfb\\x0e\\x72\\x92\\xc1\\xf5\\x34\\x2e\\x41\\x56\\x24\\xe1\\x22\\xc5\\x7d\\x52\\x11\\xaa\\x93\\xb6\\x41\\xae\\x85\\x8c\\x02\\x7a\\x24\\x1d\\x57\\x7d\\x36\\xfc\\x5c\\x37\\x23\\x57\\xb3\\x70\\xc0\\x84\\x49\\xea\\xeb\\x8e\\x37\\x5a\\x27\\xf6\\x98\\x65\\x6a\\x7c\\xee\\x05\\x09\\x91\\x7b\\x3b\\x0f\\xe8\\x36\\x61\\xb4\\xb5\\x2b\\xb1\\xe3\\xdd\\x03\\x0b\\x87\\xcf\\x1a\\x42\\xae\\x16\\x9c\\x00\\x47\\x57\\x80\\xa3\\x2b\\xc0\\x91\\x87\\x22\\x51\\x03\\xb2\\xdb\\x1d\\x1e\\x87\\xd7\\xa8\\x52\\xe5\\xe7\\x64\\x52\\x48\\x90\\xa0\\x73\\x50\\x48\\xcc\\x48\\x68\\x81\\x24\\xdc\\xc6\\x4e\\xf9\\xc7\\x90\\xa4\\x05\\xc6\\xcc\\xbc\\x02\\xa2\\x07\\xad\\x6b\\x66\\xb5\\x2f\\x73\\x17\\x38\\x47\\xdb\\x84\\x31\\x57\\x00\\xc6\\x0f\\x6b\\x1a\\xad\\xdf\\xa0\\x19\\x47\\xe9\\xda\\x73\\xe8\\x04\\xfe\\x51\\xa2\\x16\\x40\\x33\\x2a\\x8f\\xea\\x8c\\x3a\\xa4\\xe3\\x24\\xce\\x2a\\x59\\xf4\\xc7\\x71\\x21\\x50\\x3b\\x01\\x17\\xd3\\xf5\\xc4\\x3e\\x06\\x5d\\x7d\\x5a\\x1c\\x01\\xd5\\x34\\xc3\\x2a\\x9c\\xcc\\x03\\x14\\x06\\x6e\\x83\\x9d\\x9e\\x13\\x1e\\x72\\x5d\\xcf\\x60\\x46\\x51\\x79\\x89\\x6e\\xfb\\x89\\x7b\\x1d\\x73\\xc5\\x1b\\x6e\\xbb\\xed\\xd2\\x20\\xc3\\xad\\x7c\\x75\\x27\\xde\\x7f\\x79\\xef\\x84\\xc9\\xb0\\x26\\xbd\\xf1\\x45\\x6e\\xbd\\xf0\\x13\\xb2\\xa0\\xd2\\xa8\\x4e\\x27\\x8a\\x92\\x64\\xb1\\x5a\\x6c\\x9c\\xe9\\x59\\x58\\x03\\x1d\\xd2\\xc0\\x7b\\x25\\x58\\x93\\xfa\\x7a\\xe5\\x2a\\x2f\\xb5\\x29\\xac\\x12\\x01\\xac\\x01\\x15\\x00\\xd8\\xf4\\xb9\\x1b\\x42\\x59\\x0f\\x94\\xf7\\x38\\x31\\x4d\\x72\\x1d\\xb1\\x73\\x95\\x23\\xbb\\xf8\\xbd\\x42\\x37\\xed\\x6f\\x64\\x1b\\xd7\\x27\\x6b\\xeb\\x5d\\xc3\\x07\\x6a\\x64\\x3e\\x54\\x88\\x3f\\xe6\\xa6\\x0a\\x9f\\xc3\\xfb\\x42\\x51\\x83\\x45\\xb2\\x0a\\x40\\x23\\xe1\\xa5\\x36\\x9a\\x72\\x3c\\x78\\x40\\x2f\\x6a\\x9f\\x82\\xd7\\x89\\xf0\\x5a\\xe6\\xdd\\x27\\x2f\\x3f\\xb3\\xfd\\x50\\x7a\\x6d\\x63\\x6e\\xca\\x61\\x50\\x94\\x7c\\xb2\\xde\\x59\\xd8\\x33\\xfd\\xa5\\xed\\xc6\\xc0\\x4b\\xb9\\x75\\xda\\xdf\\xf0\\xe4\\xf8\\x51\\x78\\xe9\\xb0\\x41\\x1a\\x66\\x6b\\xfa\\x01\\x1d\\xe7\\xaa\\xe0\\x9d\\x59\\xa8\\x36\\x6a\\x42\\x3a\\xbd\\xde\\xe4\\x76\\xdb\\x25\\x7b\\x8e\\x94\\x6d\\x75\\x1d\\xc3\\xc5\\x07\\xb0\\xa0\\x7f\\x1a\\xde\\xa8\\x81\\x05\\x0e\\xca\\x77\\x22\\xf5\\xa9\\x20\\x0d\\xf9\\x8e\\x8c\\x12\\xa9\\x94\\x47\\x1f\\x85\\xa0\\xd5\\x45\\x59\\x0d\\x36\\xf3\\xe5\\xd7\\x77\\x0f\\x7a\\x72\\x43\\x59\\x7b\\x2a\\x7a\\x9c\\xd8\\xc1\\x7b\\x8b\\x8a\\xf2\\xb3\\x7a\\x46\\x86\\x5d\\x2b\\x72\\x2b\\x86\\x0d\\xd6\\x3e\\x00\\x20\\x4d\\xb9\\xfc\\x7a\\x6e\\x56\\xb6\\x7a\\xab\\xbe\\xff\\x30\\x7b\\x3b\\x99\\x97\\xf4\\xc6\\xdf\\xf0\\x7b\\x00\\x2e\\x03\\xbb\\xb9\\xb4\\x21\\x5e\\xe2\\x99\\x47\\x95\\xd1\\xa8\\x75\\xca\\x2e\\x55\\x14\\x2c\\x23\\xd2\\xd2\\x1d\\x08\\xcb\\x2e\\x55\\x61\\x5c\\x1e\\x52\\xec\\x60\\x8a\\x21\\x2c\\xac\\x84\\xf1\\x79\\x6d\\xe1\\x16\\x67\\x2a\\xfc\\xc9\\xbf\\xce\\x90\\x2f\\xda\\x77\\x7b\\xf8\\x69\\xf2\\xd0\\xa6\\x13\\xb5\\xd1\\x65\\x57\\x0f\\xa8\\xa9\\x5d\\xcf\\x1f\\xc4\\x21\\x72\\xc8\\x3a\\xba\\xf3\\xa2\\x25\\xdc\\xef\\xe4\\x4d\\x72\\xb0\\x53\\x5d\\x61\\x58\\xde\\x97\\x0d\\xf8\\x1b\\xe1\\x1d\\x80\\xc5\\x09\\x94\\xdd\\x05\\x3c\\xcc\\x62\\x06\\x1e\\x66\\x80\\xcd\\x31\\x00\\x03\\xa3\\x71\\x64\\x19\\xa2\\x99\\x42\\xe3\\x00\\x68\\x0a\\x0f\\xd9\\x0c\\x06\\xac\\x39\\xc6\\xc0\\xa2\\xe6\\xc3\\x56\\xf7\\xbc\\x6d\\x58\\x57\\x27\\xac\\x30\\x29\\x47\\x67\\xc6\\xbb\\xe8\\xea\\x2d\\x79\\x3d\\x5b\\x70\\x96\\xbc\\xf9\\x7a\\xf9\\x7e\\x8d\\xa6\\xe3\\x53\\xa7\\xb3\\x84\\xaa\\x23\\x87\\xf1\\x37\\xf8\\x9d\\xd0\\xe0\\x9c\\xba\\x89\\xa4\\x12\\x60\\x8b\\xae\\xcc\\xda\\x84\\xef\\x82\\x8f\\x95\\xf8\\x39\\x25\\x17\\xe7\\x71\\xfe\\x41\\x06\\x5f\\x65\\xd4\\x62\\xd3\\x98\\x74\\x5a\\x4e\\x6b\\xe2\\x5d\\x16\\xab\\x35\\xc3\\x64\\xd1\\x52\\xc8\\x44\\x68\\x56\\xcc\\xae\\xb9\\x5b\\xdd\\xab\\xd2\\xf0\\xd9\\x96\\x1c\\x36\\x61\\x1b\\x2c\\x16\\x80\\x80\\x8d\\xdc\\x7d\\x9d\\xdb\\xbb\\x0b\\xed\\x05\\xed\\xdb\\xb7\\xdb\\xfc\\x72\\xa5\\x64\\x99\\xfc\\xc4\\x29\\xd2\\xad\\x5f\\x6c\\xec\\x71\\xc3\\x1a\\xc9\\xd3\\xf9\\x2a\\xee\\x22\\xb9\\xcf\\xff\\xac\\xe6\\x6b\\x3c\\xfa\\xf2\\xc7\\xf3\\x46\\xb4\\x63\\x31\\xda\\x2f\\xf3\\xcb\\xb8\\x5c\\x56\\x23\\x59\\x9b\\xfc\\xce\\xaf\\x65\\x75\\x61\\xb4\\xac\\xc6\\x96\\x96\\xd5\\xd8\\x52\\x1d\\x9a\\xae\\x59\\xa2\\x61\\xa5\\x6a\\xa0\\xcd\\xb3\\x7c\\x3d\\x37\\x88\\xf6\\x51\\x9d\\x6f\\xf3\\xfd\\x02\\xfb\\x4e\\xe0\\xfb\\xd5\\xec\\xfb\\x17\\xec\\x6c\\x8f\\x15\\xe6\\x72\\xbd\\x81\\x6d\\xea\\x51\\x4e\\x54\\xcf\\x6b\\x44\\xbd\\x46\\x6f\\x34\\x88\\x12\\x7c\\x2f\\x0f\\xbf\\x19\\x4a\\xab\\x2f\\xcd\\x94\\x57\\x5f\\xb5\\xac\\xe3\\xe2\\xb1\\xd5\\x95\\xe3\\x27\\x35\\x2f\\x9c\\x2c\\x7c\\x53\\x56\\xd0\\x30\\x67\\x62\\xd3\\x88\\x09\\x6d\\xc7\\x52\\xe9\\x35\\xbc\\x9e\\x37\\x1a\\x54\\x92\\x1e\\xa1\\xf2\\x50\\xeb\\xb1\\xe4\\x6b\\x3d\\x87\\x1c\\x70\\xd4\\x7b\\xf2\\xc2\\x45\\x13\\xc7\\x57\\x56\\x0b\\x73\\x27\\x8c\\x18\\x31\\x61\\x4e\\x43\\x41\\x19\\xac\\xff\\x1a\\xa0\\x9d\\x79\\xe2\\x43\\xb0\\xfe\\x65\\x51\\xab\\x13\\x0e\\x11\\xd2\\xbb\\x24\\x58\\x7c\\x87\\x8e\\xe7\\x35\\x26\\xc4\\x70\\xe1\\x64\\xa8\\x36\\x79\\xed\\x99\\xa2\\x98\\x1e\\x9c\\xba\\x5b\\x4a\\x65\\x0c\\x00\\xe1\\xf8\\x42\\x43\\x71\\x38\\x36\\xbb\\x5b\\xe7\\x9b\\xca\\xf7\\x97\\x3c\\xb1\\x6a\\xeb\\xce\\x63\\xb7\\x57\\xe0\\x8b\\x78\\x87\\x61\\xfb\\xc2\\xba\\x1e\\x2b\\xda\\xcd\\x5c\\xbe\\xe3\\xb6\\xdd\\x67\\x9d\\x71\\x78\\xef\\x4e\\x78\\xef\\x48\\x78\\xaf\\x8b\\xbe\\xd7\\xc5\\xee\\xdc\\x32\\x00\\x2b\\x33\\xb1\\x8e\\x16\\xec\\xfb\\xf3\\xf7\\xca\\x96\\xb7\\x16\\x81\\x54\\xb9\\xa0\\xe4\\x71\\x79\\x78\\xd8\\xd4\\x4f\\x8f\\x2f\\xbb\\x43\\xf7\\xbc\\xd8\\xa9\\xba\\x69\\x5c\\xa7\\xba\\x50\\xc5\\x60\\x7c\\x31\\x6e\\xda\\x32\\xf9\\xc5\\x1f\\x9b\\xe7\\xb7\\xeb\\x55\\xbf\\x6a\\x7e\\x8f\\x81\\x06\\x32\\x01\\xf6\\xa6\\x19\\x2d\\x12\\x16\\x0b\\xa7\\x61\\xbf\\x73\\xd9\\x5e\\xb5\\x7c\\xf7\\x32\\x9c\\x2c\\x40\\x6f\\x0a\\xb3\\x84\\x77\\x90\\x84\\x32\\xa2\\x5a\\xc4\\x09\\xbc\\x4a\\xcd\\x49\\x02\\x86\\x9d\\x3a\\x1d\\x62\\x72\\x05\\x75\\x04\\xd6\\x60\\x90\\x32\\x85\\x59\\xe7\\xc9\\x33\\xe4\\xe9\\x0b\\x78\\x25\\xee\\xfa\\x26\\x1f\\xbd\\xfc\\x9c\\xc0\\x43\\xff\\x55\\xd0\\xff\\x7d\\xd6\\x3f\\x2f\\x6a\\xe0\\x39\\x81\\x53\\x01\\x25\\x54\\x8b\\x7c\\x72\\x88\\x34\\x6f\\x0d\\xbf\\x17\\x87\\x35\\x38\\xcc\\x0f\\x02\\x4d\\x7a\\xfe\\x05\\xdc\\x03\\x77\\x3f\\xff\\xa6\\xc0\\x5f\\x7e\\x8e\\x8f\\xc2\\x38\\xfd\\x85\\x5d\\x7c\\x48\\xfc\\x0d\\x08\\x18\\xad\\x4a\\x0e\\x72\\xaf\\x16\\xe9\\xf8\\x51\\x1a\\xac\\x91\\xd8\\x40\\x4d\\xf4\\x3c\\x58\\x65\\x0a\\x8a\\x55\\xbe\\x42\\xea\\x45\\x05\\x43\\x85\\xc4\\x6d\\x0f\\x0a\\xff\\x79\\x58\\xc4\\xd1\\xcf\\x85\\xa7\\xb3\\x9e\\x7b\\x2e\\x0b\\x77\\x86\\xb1\\x6e\\x87\\xb1\\x16\\x24\\xc7\\x12\\x35\\x9c\\x86\\xd3\\xea\\x44\\xd5\\x28\\x01\\x53\\xa0\\x4e\\x37\\x85\\x58\\x68\\x43\\x58\\x1e\\xcb\\xc7\\x47\\xc2\\x2e\\xaa\\x02\\x72\\x9d\\x3e\\x7f\\x49\\xda\\xb6\\x4f\\xf8\\xf1\\x61\\x49\\xd8\\x85\\x3b\\x65\\x3f\\xff\\x7c\\x36\\xc5\\xe5\\xa5\\xc2\\xf5\\x9c\\x83\\xd5\\x4b\\xb7\\x1d\\x81\\xaf\\xa2\\xc0\\xd3\\x31\\x92\\xc5\\xd5\\xb1\\xcf\\x12\\xe6\\x1c\\x5b\\xb6\\x08\\xd7\\xe3\\x09\\x32\\x0d\\x7a\\x48\\x38\\xc8\\x3b\\xc5\\xe1\\xd0\\xde\\x11\\xd5\\x60\\x81\\x17\\x31\\xb7\\x29\\x06\\x5d\\x82\\x0c\\x7e\\xd9\\x4b\\x81\\xfb\\x67\\xfc\\x88\\x97\\x1b\\x28\\x1c\\xfc\\x8b\\x7c\\xbe\\x12\\x00\\xaf\\x45\\xfc\\x04\\xf6\\x64\\x0e\\xfd\\x0e\\x4b\\xbd\\x8b\\xfb\\x9e\\x7d\\xef\\xc6\\xc6\\x7c\\x9a\\x0c\\xc5\\x0d\\x89\\xe3\\x2d\\x30\\x60\\xbe\\x0d\\x0c\\xb8\\x61\\xcb\\x16\\x68\\x24\\xc3\\x90\\xb8\\x85\\x3c\\xc9\\x69\\x12\\xa3\\x59\\x7b\\x2c\\xf2\\x3c\\x83\\x59\\x61\\x7d\\x95\\x15\\xd4\\x6a\\x3b\\x9c\\x1b\\xe7\\x8d\\xdf\\xbd\\xeb\\x2f\\x32\\xcc\\x99\\x64\\x2a\\xbe\\x3b\\xb1\\x02\\xa8\\x4f\\x46\\x54\\x27\\x60\\x15\\xb0\\x6f\\x33\\x90\\x76\\xfa\\x92\\x26\\x76\\xc2\\xe0\\x25\\x85\\x11\\xaf\\x4b\\x85\\xb9\\xaf\\xe1\\xdf\\x02\\x91\\x4c\\xfd\\x39\\x90\\xf0\\xb0\\x77\\x6d\\x86\\xbe\\x73\\x92\\x7d\\x79\\x15\\x6a\\xd5\\x17\\xde\\x08\\x7d\\x79\\x10\\xd1\\x54\\xe2\\x8d\\xe2\\x27\\x20\\x05\\x91\\xa3\\x64\\xaa\\x07\\x25\\x02\\x3f\\x33\\x1b\\x01\\xfc\\x88\\x09\\x1d\\x58\\x2d\\xfa\\x5c\\xc0\\x1e\\xa4\\x82\\x93\\xa1\\x51\\x4b\\x9c\\x48\\x2f\\x02\\xcb\\xd3\\x42\\x50\\xe8\\x55\\xaf\\x8f\\xb7\\x01\\x7b\\xe0\\x62\\x77\\xcd\\xf1\\x8f\\x25\\xaf\\xdf\\x35\\x47\\xe8\\x40\\xde\\xc5\\xa5\\x97\\x5e\\xa6\\x65\\x39\\x40\\x9e\\xe0\\x8d\\xca\\x58\\x96\\xc3\\x3c\\xe8\\x56\\x02\\x10\\x88\\xd4\\x0a\\x41\\x5f\\xd6\\x4f\\xee\\xc2\\xe6\\xfc\\x26\\x1a\\x8b\\x0f\\xe2\\xef\\xfe\\x6f\\x1a\\x15\\x49\\xa7\\x51\\x6f\\x2a\\x24\\xea\\xbd\\x14\\x85\\xa2\\x63\\x3d\\x0e\\x63\\x6d\\x49\\x8e\\xa5\\x57\\x69\\x78\\xd5\\x9f\\xd0\\x28\\x7f\\x3a\\x8d\\xc2\\x5b\\x14\\x1a\\x35\\x36\\x45\\xa2\\x60\\xac\\x1b\\xd0\\x3e\\xfc\\x11\\xa7\\x85\\x15\\xc9\\x8f\\x1a\\x25\\x1e\\x76\\x0e\\x23\\xb5\\x46\\x94\\x38\\x8e\\xed\\x61\\xf8\\x94\\x3c\\x9c\\x55\\x39\\x51\\xd5\\xe1\\xea\\xb0\\x23\\x8c\\x3f\\x22\\xb7\\xcf\\x6f\\x9e\\xb7\\xaf\\xf9\\xdc\\x39\\x3a\\xc6\\xcd\\x30\\xc6\\x37\\x6c\\x8c\\x9c\\xa8\\x81\\xe3\\x45\\x80\\x47\\xa3\\xc6\\xa0\\xe6\\xc0\\xae\\x9c\\x0a\\xa5\\xc2\\x4d\\x28\\xea\\x38\\x7c\\xd5\\xbe\\x6a\\x2f\\xfe\\x66\\x5e\\xf3\\x7c\\x3c\\x0d\\x6f\\x38\\x77\\x8e\\xc6\\x08\\x2d\\x83\\xfe\\x3f\\x40\\x7f\\x1d\\xca\\x8a\\xea\\x41\\x33\\x52\\xf1\\x3a\\x60\\xeb\\x7a\\x83\\x84\\xca\\x5b\\xac\\x08\\xa9\\xde\\x32\\x04\\x3f\\xc0\\x08\\x00\\x02\\x76\\x4e\\x9c\\xd8\\x3c\\x6f\\x9e\\x8c\\x87\\x9f\\xa1\\xdf\\xb9\\x4d\\xf8\\x43\\xb6\\x27\\xb0\\xa7\\x70\\xfa\\x60\\x41\\x14\\x67\\x5e\\xc0\\x27\\x55\\x4e\\x09\\x77\\x4b\\xf0\\x77\\x19\\xe6\\x7b\\xe0\\x0c\\x8c\\x15\\x3f\\x03\\x49\\xa1\\x32\\xea\\x02\\xf1\\xc6\\x0c\\x78\\x6b\\x32\\xeb\\x4c\\x02\\xd6\\xf0\\x02\\x8a\\x22\\xf5\\x26\\xd9\\xc3\\xd2\\x9d\\x61\\x3e\\x3d\\x72\\x44\\x53\\x48\\xde\\xdb\\x16\\xd2\\x1f\\x09\\xcb\\xb7\\x12\\x61\\x90\\x1a\\xff\\xbe\\xee\\x31\\x6e\\xf7\\xf0\\x3e\\x03\\x6f\\xca\\xd8\\x13\\x7c\\x41\\xd8\\x75\\xcf\\x92\\x40\\xdf\\xeb\\x86\\x36\\xec\\xd9\\x45\\xf1\\xa4\\xaf\\x10\\xe7\\xd6\\xb1\\xf3\\xec\\x8c\\x6a\\x80\\xde\\x89\\xc0\\x9b\\x29\\x5c\\xf2\\x88\\xb5\\x72\\xea\\x7b\\xdc\\x97\\x46\\x26\\x0b\\x71\\x1a\\x8e\\x0c\\x78\\x7a\\x5e\\x98\\xce\\x7d\\x2a\\x4d\\x85\\xf5\\x70\\xa1\\xe2\\xa8\\xd3\\x2a\\x49\\x19\\x99\\xb0\\xb9\\x99\\x1a\\xd3\\xe6\\x18\\xaf\\xd9\\x32\\x9c\\x77\\xc0\\x27\\x00\\x17\\x0c\\xb6\\x48\\x5c\\xd4\\xdb\\x3a\\xe5\\x6a\\xe2\\x54\\x55\\xb5\\x5c\\x9c\\x70\\x9f\\xde\\x3e\\x65\\xca\\xed\\x5b\\x27\\x4d\\xda\\xba\\xb8\\x4f\\x4d\\xb8\\x6f\\xdf\\x70\\x75\\x5f\\xf1\\x86\\x49\\x5b\\xe9\\x83\\xad\\x93\\xc2\\x7d\\x7b\\x57\\xb7\\xef\\xdd\\x57\\x3e\\x97\\x93\\xe1\\x48\\x7f\\x0e\\x7c\\xd9\\x82\\xb2\\x61\\x1f\\x78\\x13\\x6f\\x03\\x92\\x60\\xb8\\x5d\\x71\\x35\\x2d\\x6f\\xf1\\xd6\\x97\\xef\\x97\\xc3\\xc9\\xb4\\x0c\\x2a\\x09\\x87\\xae\\xbd\\x61\\x78\\x6c\\x4f\\xa7\\xab\\x4b\\x7d\\x95\\xd5\\xb6\\x06\\x32\\x74\\xd4\\x55\\x7d\\x6e\\x0d\\x05\\x96\\x44\\x02\\x01\\xd7\\xe2\\x7c\\x3a\\x76\\x77\\x58\\xef\\x55\\xe2\\x49\\x98\\x51\\xc7\\x68\\x0e\\xe8\\xf6\\x6a\\x8d\\x26\\x33\\xc3\\xa1\\xd7\\x8b\\x9b\\x62\\x26\\x7d\\xae\\x9e\\x03\\x46\\x0b\\xab\\x6e\\xd9\\x14\\xd3\\xd0\\x4d\\x4b\\xad\\xbb\\x62\\x6c\\xab\\xa5\\x02\\x2d\\x7b\\x73\\x3b\\x8e\\xea\\x0f\\x3e\\xca\\x15\\xe5\\x54\\xd7\\x00\\x05\\x37\\xbd\\x74\\x50\\xbf\\xee\\x39\\x25\\x91\\xcc\\x55\\x85\\x6b\\x27\\x94\\x5d\\xd5\\xb7\\x6b\\x76\\xb0\\x7d\\xc6\\xca\\xc2\\xb5\\xc2\\xae\\x40\\x79\\x20\\xdc\\x7b\\xe7\\x4a\\xf8\\x68\\xdf\\x6d\\x27\\xf5\\xcd\\xef\\x00\\x70\\x7c\\x2a\\x7e\\x02\\xf4\\x43\\x87\\x0a\\xa2\\x66\\x49\\xa3\\x81\\xd3\\x6b\\xd0\\xab\\x39\\xc4\\xad\\x1b\\x2e\\xb1\\x77\\xb7\\x7e\\xa5\\x2d\\x42\\x6d\\x1d\\x5e\\xf6\\xb3\\x83\\x16\\x03\\x39\\xd4\\x92\\x75\\x98\\x4f\\xfe\\x26\\xec\\xca\\xc5\\x79\\x41\\xf2\\xad\\xfc\\x53\\x5e\\x47\\x84\\x27\\x72\\xd3\\xf8\\x5a\\x20\\x4c\\x70\\x3e\\x4d\\x58\\x83\\xad\\x66\\xb3\\xc5\\x84\\x45\\x1d\\x9c\\xa8\\x53\\xa1\\xb4\\x50\\x62\\x8b\\xdf\\x25\\x63\\x11\\xcb\\x0c\\x53\\x8e\\x55\\xb8\\x1b\\x2e\\xab\\x2f\\xe9\\x55\\x92\\xbf\\x6a\\xfe\\xc2\\xb9\\x12\\x37\\x93\\xbb\\xdc\\x69\\x75\\xff\\x8e\\x2e\\xfb\\xa1\\xf6\\x63\\x46\\xfb\\x9c\\x74\\xec\\x19\\x7c\\x98\\x77\\x88\\xdf\\x01\\xf4\\x81\\xa8\\x05\\x6b\\x05\\x95\\x00\\x47\\x15\\x21\\xb5\\x5e\\x2d\\x49\\x06\\x20\\xad\\xe5\\x2d\\x28\\x21\\xdb\\xfa\\x6d\\x11\\x50\\x70\\x22\\x2e\\x95\\x4b\\x55\\xa8\\x9a\\xf1\\xcd\\xd7\\x93\\xbe\\xfa\\x6a\\xd2\\xd7\\xf0\\xf3\\x1b\\x7e\\xd7\\xbf\\x7e\\x98\\xf2\\xfd\\x0f\\x53\\x7f\\xfc\\x7e\\xda\\x3f\\x7f\\x96\\x65\\xeb\\xdb\\x40\\x5e\\xbc\\x1d\\xe4\\x45\\x33\\x72\\xa3\\x4e\\xd1\\x4c\\x3b\\x67\\xd0\\x67\\xa8\\xd5\\x7a\\x9d\\xd3\\x88\\x38\\x95\\xc7\\x64\\x36\\x67\\x39\\x8d\\x46\\xd1\\xc4\\x04\\x7f\\x0b\\x28\\x1c\\xc5\\x8a\\x84\\x6d\\x09\\x5f\\x91\\x25\\xc3\\x99\\x96\\x24\\x23\\x4c\\x0b\\x11\\x30\\xdf\\x52\\x8a\\x91\\x5c\\x7e\\xfd\\xba\\x59\\x63\\xa7\\xf6\\xbc\\x66\\xdb\\xeb\\x23\\xb1\\xf6\\xd5\\xf8\\x07\\x25\\x39\\x39\\xa3\\x72\\xb9\\x87\\x9f\\x1d\\x78\\xfd\\xc2\\x51\\x43\\xea\\x56\\x4f\\xe0\\x7a\\x91\\x81\\xf8\\xc0\\xe5\\xa6\\x0e\\x95\\xd1\\xa1\\xcd\\x7d\\xb2\\xf3\\xe4\\x35\\xed\\x05\\xa2\\xce\\xeb\\x4c\\xcf\\xcb\\x3e\\x8a\\x39\\x9e\\x1d\\xef\\xa7\\x40\\xab\\x43\\x4c\\xd3\\x52\\x54\\x1e\\x26\\x3b\\x85\\xf9\\x5e\\x27\\x4f\\xbc\\x84\\x2f\\x0a\\xce\\x4b\\x17\\x15\\xff\\x05\\x7c\\x96\\x57\\x09\\xff\\x44\\xf9\\xa8\\x3a\\x6a\\x55\\x81\\x06\\xa3\\x47\\x92\\x15\\xf1\\xbe\\xcc\\x8c\\x8c\\x82\\x4c\\x8f\\xe3\\x18\\x2e\\x3a\\xa0\\xd2\\xf2\\xc7\\x98\\x22\\x13\\xae\\x0f\\x5f\\x39\\x1b\\xb9\\x28\\x0a\\x8b\\x5b\\x68\\x6d\\xb6\\x0b\\x28\\xa6\\x7f\\xcc\\xbd\\x7f\\x70\\xf7\\xea\\x9d\\x59\\x7b\\x8d\\x7d\\x07\\xdc\\x11\\xbe\\x7e\\xe9\\xec\\xbf\\xdc\\xb7\\x7a\\xbd\\x79\\xaf\\x6b\\xc6\\xda\\xba\\x19\\x0b\\x26\\x72\\x7f\\xbf\\xb9\\x79\\xdc\\x24\\x77\\xb8\\x72\\x94\\x2f\\x90\\x91\\x7d\\xe3\\x75\\xd3\\xe7\\x8f\\x9e\\xec\\x68\\xba\\xda\\x5b\\xec\\xce\\x9e\\x4c\\xf9\\xb1\\x13\\xe4\\xb5\\x55\\xc2\\x05\\xb3\\x8a\\xaf\\xc4\\x6b\\x90\\xcc\\xa3\\xb7\\xc2\\xb3\\x6b\\xc4\\x87\\xcc\\x12\\xb7\\xfc\\x57\\x3a\\x87\\x6d\\xb0\\x41\\xd4\\x4f\\x81\\xf2\\x3d\\x0d\\x46\\x02\\x92\\x54\\x18\\x08\\x55\\x79\\xb8\\xe5\\x58\\x7a\\x7d\\x16\\x6f\\xb5\\x97\\x5b\\x70\\x90\\xbc\\x85\\x2f\\x88\\x5e\\x96\\x4b\\x27\\xd5\\x8f\\xd1\\x77\\x11\\x03\\x72\\x02\\xc7\\xe3\\x05\\x41\\x85\\x55\\x88\\x46\\xf5\\xa6\\x79\\xed\\x24\\x47\\x00\\x11\\x83\\x8d\\x51\\x79\\x90\\x7f\\x7b\\x2f\\x1e\\x84\\xfe\\x64\\x1c\\xfe\\x7f\\x1f\\x87\\x5b\\xb1\\x97\\xbb\\xeb\\xff\\xc1\\x38\\xb8\\xcb\\x5e\\xfe\\x5c\\xeb\\x71\\xd8\\x7a\\x50\\xc1\\x50\\x52\\x71\\x58\\x84\\x21\\xc2\\x69\\x0e\\x09\\x72\\x5f\\x92\\x05\\x5d\\xf7\\x8a\\xb2\\xfc\\x39\\x06\\xfa\\xf5\\xe1\\xa7\\xcb\\xfd\\x80\\x43\\x80\\xf4\\xa1\\xc8\\x8e\\x69\\xfd\\xe0\\xed\\x5e\\xae\\x0f\\xc9\\x9c\\x8d\\x67\\xf2\\xd3\\xe3\\x5c\\x7a\\x3f\\x15\\x95\\x3b\\xe1\\xc8\\xf1\\x3c\\xb0\\x49\\x2c\\x49\\x22\\x95\\x3c\\x5a\\x43\\x8d\\xbd\\x16\\x9f\\x32\\xc2\\x86\\xd9\\x30\\x04\\x5e\\x4c\\x96\\xf2\\xd3\\xc9\\x52\\xb6\\xaf\\x77\\x90\\x61\\xfc\\xa2\\xc4\\x6a\\xab\\x8a\\xaa\\xd9\\xff\\x19\\xc1\\xce\\x9d\\x4f\\x78\\x84\\x5b\\x29\\x65\\x31\\xb9\\x04\\x28\\x06\\x60\\xb6\\x28\\x80\\x26\\x89\\x79\\x49\\x94\\x29\\x46\\xfa\\xd8\\x30\\x27\\xba\\xcb\\x2b\\xe3\\x77\\x73\\xe3\\xe8\\x3f\\xf1\\xb6\\x35\\x84\\xba\\x16\\xc1\\x38\\xcb\\xf9\\x7a\\x7e\\x91\\xb8\\x14\\xe4\\x50\\x1a\\x05\\xe8\\x14\\xd4\\x6a\\x49\\x63\\xb6\\xd9\\x2c\\x16\\xa3\\xc6\\xe8\\xb0\\xab\\x2c\\x16\\xab\\xc6\\x28\\xb0\\x11\\x5b\\xe7\\x57\\x49\\x55\\xe5\\x06\\xc2\\x5a\\x53\\x0d\\x6b\\x2e\\xa6\\x7e\\xe3\\x17\\x55\\xd6\\x1d\\xbb\\x75\\x31\\xce\\x25\\xc5\\xa1\\x8e\\x47\\x96\\xc3\\x2f\\xc2\\xf3\\x73\\x8e\\x5c\\xf3\\x97\\x6d\\x58\\x78\\x6e\\xd1\\xc1\\xc1\\xf4\\x53\\xde\\x8f\\x08\\xb9\\x0b\\x9f\\x49\\x3c\\x03\\xf2\\x98\\x1b\\xe4\\x1b\\x35\\xb0\\x7e\\x26\\x97\\x09\\x1c\\x93\\xa6\\xd9\\x14\\x80\\x16\\xf1\\x61\\x57\\x24\\xcc\\x7f\\xf5\\xc4\\xe2\\x86\\x86\\xc5\\x4f\\x40\\x0f\\xef\\xce\\x9d\\xe4\\x53\\xd6\\x3f\\x0b\\xbe\\x1d\\x4b\\xeb\\x2f\\x22\\xce\\xcc\\xc1\\x32\\x53\\x8a\\x9c\\xea\\x2f\\xda\\x7c\\xb4\\x86\\x07\\x56\\xc9\\x03\\x74\\x27\\x9f\\xee\\xdc\\x89\\xe5\\x7d\\x1d\\x00\\xbc\\xeb\\x86\\xc4\\xbf\\x58\\x7f\\x2d\\xcd\\x81\\xce\\x21\\x18\\x04\\x36\\xf6\\xcd\\xb4\\xd5\\x73\\xf9\\x1d\\x2a\\x97\\xc3\\x3f\\x40\\x7e\\xef\\x71\\x79\\x14\\x19\\xfe\\xa1\\xd0\\x7f\\x5e\\xb2\\x3f\\x0f\\x22\\xa1\\x24\\xaa\\x55\\x14\\xa1\\xd2\\xfb\\x1b\\x70\\x75\\xa4\\xb0\\x5a\\xc4\\xf3\\xe4\\x17\\xff\\x27\\x35\\x00\\xbb\\x4b\\xc7\\xfb\\x13\\x7f\\x67\\x3c\\x3b\\x3f\\x6a\\xd2\\xd3\\x0a\\x6d\\x12\\x70\\xb8\\x28\\x8f\\x79\\x93\\x86\\x2e\\x7a\\x53\\xfa\\x3e\\x8a\\x7f\\xc2\\xac\\xf1\\xfe\\x69\\x83\\x1b\\xa7\\x4f\\x6f\\x1c\\x74\\xc3\\x98\\x70\\x49\\x49\\x65\\x65\\x49\\x49\\xf8\\xeb\\xc1\\x37\\x4c\\x1d\\x72\\xd5\\xd4\\x69\\x83\\x4b\\xaa\\xaa\\x4a\\x82\\x35\\x35\\x48\\xc1\\xe3\\x17\\xf1\\xe7\\xf8\\xe3\\x16\\x19\\xda\\xc4\\xe7\\xf2\\x6c\\xb9\\x52\\x32\\xb4\\x5f\\x96\\xa1\\xfb\\xc9\\x32\\xf4\\x8b\\x8a\\x08\\xcd\\x6c\\x66\\x2f\\x72\\x87\\x58\\x5f\\xca\\x03\\x2d\\xa2\\x4a\\x87\\x75\\x06\\xac\\x57\\xcb\\x43\\x48\\xc9\\x25\\xc7\\x29\\x83\\x68\\x84\\x8d\\x14\\x66\\x3f\\xff\\xf2\\x95\\x0a\\xe3\\x05\\xe2\\xc7\\x69\\xa3\\xca\\x23\\x73\\x89\\xd5\\x30\\xee\\xa7\\xca\\xb8\\xf9\\x51\\xb3\\x06\\x49\\xbc\\x41\\xfa\\xe3\\x61\\xe9\\xa8\\xf5\\x98\\xca\\xe9\\x5e\\x26\\xad\\xff\\xae\\x48\\xeb\\xf1\\xdf\\xc5\\x8f\\xd9\\x2f\\x2f\\x32\\xa9\\x5d\\x11\\xdd\\x41\\xb6\\x6b\\x20\\xeb\\xb9\\xae\\x89\\xad\\x28\\x13\\x46\\xb6\\x38\\x3d\\x1a\\xb7\\x55\\x43\\x31\\x2c\\x8f\\x2a\\x3e\\xa2\\x01\\xd6\\xf7\\xe4\\xc7\\x4d\\x27\\xc3\\x8a\\x06\\xd0\\x22\\x26\\x70\\x2d\\x62\\x02\\x87\\x7b\\x14\\xf5\\xed\\xd6\\xd9\\x53\\x50\\x99\\xb1\\x30\\xa7\\xf3\\x75\\x3d\\x8a\\xfb\\x75\\xaf\\x73\\x97\\x96\\xdb\\x16\\x64\\xd6\\x8f\\x24\\xeb\\x7d\\xc5\\xbe\\xd2\\x6e\\x53\\x47\\x77\\xcc\\x2f\\xc9\\xef\\x50\\x35\\x6e\\x62\\x1d\\xdd\\xd3\\xc7\\xf0\\x0b\\xdc\\x36\\x26\\xbb\\xa9\\x28\\x56\\x20\\x50\\x54\\x39\\xa0\\x9e\\x1c\\x9c\\xa1\\x53\\xe9\\x67\\xd2\\xe6\\xe5\\xd9\\xbf\\xfa\\x08\\xce\\x8b\\x90\\x81\\xf4\\xa7\\x70\\x00\\xbb\\xc9\\x17\\x71\\x33\\xce\\x24\\x5f\\x32\\x1b\\x45\\xbd\\xb0\\x84\\xbb\\x9b\\xd1\\x2b\\x90\\x71\\x05\\x91\\x13\\x81\\xee\\x98\\xa8\\x0c\\x01\\x63\\xa5\\x30\\x83\\x9e\\x6f\\x07\\x48\\xb9\\xb8\\x1e\\x37\\x7d\\x3d\\x4b\\x3c\\x35\\xe3\\x23\\xd6\\xd7\\x0b\\x7d\\x6f\\x4e\\xf6\\xa5\\x14\\x93\\xf6\\x15\\xb1\\x28\\x6b\\x97\\x2d\\x7d\\x99\\x6c\\xcd\\xdd\\x3c\\xeb\\x6b\\xdc\\x24\\x2c\\xf9\\x68\\x06\\xc3\\x93\\x18\\x99\\x84\\x8f\\x24\\x0e\\x27\\xfb\\xc2\\x54\\x24\\x0e\\x5d\\xd9\\xd7\\x05\\x32\\xb5\\xc3\\x1b\\x9b\\xf5\\x35\\xd9\\xdd\\x0f\\x7a\\xe2\\xc4\\xbf\\xa1\\xdf\\x60\\xd6\\x0f\\x64\\x7a\\x01\\x64\\x79\\x8e\\x83\\x8e\\x2d\\x00\\xb7\\x84\\x84\\x32\\x9d\\x00\\x0f\\x26\\xbb\\xbf\\x9e\\x45\\x26\\x01\\xc4\\xb4\\x4e\\xef\\x50\\xee\\xfe\\xc4\\xbb\\x32\\x35\\x93\\x54\\xa0\\xa0\\x70\\x9c\\x5a\\xc0\\x12\\x9f\\xae\\xa2\\x2b\\x94\\x12\\xde\\x5a\\x1d\\xe6\\xee\\x8f\\x1b\\xef\\xc7\\x8f\\xed\\x86\\x33\\xb4\\xe8\\x93\\x4f\\xd8\\x7e\\x3f\\x08\\x63\\x6c\\x87\\x31\\x18\\x9d\\x06\\x4d\\x82\\xa3\\x56\\x02\\x4a\\x6b\\x93\\xfd\\x93\\xbd\\xb9\\xed\\xd0\\x97\\x6b\\x64\\x5d\\xa1\\xdf\\x31\\xf8\\xe5\\x07\\x74\\x17\\xd0\\x40\\xe0\\x2f\\x00\\x34\\x12\\x75\\x6a\\x00\\x5a\\x14\\xb4\\x6a\\x44\\x65\\xa3\\xb0\\x25\\xcd\\x00\\x2c\\x7a\\x5d\\x3e\\xbe\\xda\\x16\\x56\\x79\\xf1\\x0f\\xa4\\xe9\\xc1\\xd9\\x2f\\xbd\\x34\\xfb\\x41\\xbc\\xfb\\xa9\\x1f\\xb0\\xc7\\x88\\x3d\\x3f\\xb0\\x78\\xbd\\x33\\x92\\x06\\xad\\x55\\xf9\\x00\\x0e\\xe3\\x91\\xb4\\x23\\x06\\x5a\\xa6\\x9f\\x9e\\x06\\x13\\xf9\\x4c\\x8d\\xb9\\x7d\\x92\\xa4\\xf9\\x21\\x78\\x29\\x17\\xde\\x7f\\x9d\\xa4\\xc1\\xf6\\x3f\\x6c\\x4f\\x4f\\x8f\\xb8\\x53\\xda\\x87\\x39\\x35\\xf9\\x4c\\xd2\\xe4\\x5e\\x0a\\xfe\\x00\\xe3\\x1f\\x06\\xe5\\xff\\x4e\\x66\\x3b\\xd0\\x1f\\x14\\x34\\x12\\x23\\x97\\xa1\\x74\\x9b\\x03\\xfc\\xef\\xae\\x07\\x85\\x5f\\xef\\x15\\x71\\xf4\\x42\\x8b\\xcd\\xe1\\x72\\x54\\xf2\\x25\\x3a\\xab\\x82\\x70\\x1e\\x32\\xa3\\x06\\x87\\x68\\x32\\xe4\\x1a\\xca\\x0d\\xbc\\x81\\x9e\\x8a\\xf2\\x93\\xe1\\x8f\\x9b\\x42\\x27\\xff\\xec\\x18\\x90\\x48\\x51\\xef\\xae\\x75\\x9e\\x82\\xb0\\xa7\\x39\\xb7\\xdb\\x98\\xee\\xc5\\x7d\\xbb\\x76\\x74\\x97\\x56\\x3a\\x16\\xe4\\x75\\x1d\\x25\\xf9\\xd8\\x31\\x18\\x3f\\x41\\x3e\\x06\\x93\\xc7\\x76\\x64\\x7b\\x31\\x49\\x2c\\xc0\\xdf\\xb1\\x73\\xa0\\x7e\\x82\\x6a\\xda\\x34\\x36\\x12\\x94\\xfa\\x39\\xdc\\x58\\x6f\\xfc\\x1e\\xf1\\xd4\\x5f\\xe8\\x3a\\x2d\\x90\\xa2\\xbc\\x4d\\xda\\xc0\\xda\\x30\\xbd\\x0b\\x5e\\x5f\\xed\\x75\\x90\\x05\\xc2\\x0e\\x29\\x3a\\x70\\x20\\x1b\\x87\\x87\\xb9\\xbe\\xc6\\x74\\x2e\\xf3\\x11\\x1d\\x45\\x60\\x35\\x6d\\x08\\xd8\\x24\\x7b\\x4e\\xa6\\xa9\\x54\\x75\\x7f\\xaa\\x51\\x51\\x9c\\xe6\\x84\\x7f\\xe1\\xee\\xe2\\x0b\\xe9\\xef\\xa2\\x8e\\x96\\x1c\\x53\\xa2\\xfe\\xc5\\x72\\xf3\\x27\\x3a\\x09\\x8f\\xe3\\x9f\\xc4\\x35\\xec\\xec\\x1a\\x0f\\x51\\x04\\xa0\\x0d\\x15\\x89\\x9e\\x65\\x53\\x52\\x7d\\x1f\\xfc\\x20\\x18\\x9f\\x53\\xf2\\xf7\\xa0\\xf0\\xf8\\x47\\xf0\\x47\\x8e\\xcf\\xec\\x20\\x9e\\x49\\xfc\\x13\\xd6\\xd5\\x8e\\xb4\\x07\\x78\\x8d\\x85\\x2a\\xb0\\x30\\xdb\\x64\\xa0\\x51\\xd2\\x14\\xe7\\xab\\xc7\\x35\\xef\\xf4\\x8a\\x86\\xea\\x34\\x8e\\x89\\xa5\\x73\\x36\\x4e\\x9c\\xa4\\xdf\\xe6\\x0a\\x4d\\x94\\xd6\\xbb\\x3d\\xea\\xf1\\x82\\xaa\\x57\\xb4\\x73\\x83\\xba\\x6e\\x1e\\x0f\\x3c\\x2c\\xf1\\x81\\xb0\\x18\\x0f\\x13\\x09\\xe3\\x0b\\xfa\\x83\\x26\\x8d\\x83\\x67\\x0c\\xf8\\xcf\\xd5\\x35\\x3c\\xec\\x0a\\x0e\\x20\\xd6\\xb7\\x65\\x01\\x5c\\x42\\x10\\x76\\x71\\x0f\\x2b\\x7a\\x8c\\xf9\\x08\\xd0\\x58\\x9c\\xa2\\xb0\\xd4\\x02\\xd2\\xa2\\xb3\\x5c\\xfe\\x1f\\x74\\x96\\x44\\x22\\xd1\\x17\\xc6\\xab\\x14\\x7f\\x33\\xab\\xb8\\xd5\\xe4\\x28\\x92\\xd7\\xb9\\xaf\\x70\\x3d\\xfa\\x44\\xd9\\x77\\x66\\x86\\xa2\\xe5\\x02\\x2d\\xe1\\x4f\\x5a\\xec\\x4f\\x5c\\xe2\\x61\\xf8\\xb5\\x56\\xa1\\x91\\xfa\\x83\\x12\\x2f\\x62\\x05\\x83\\x69\\x4b\\x6a\\x2a\\xaa\\xdd\\xb4\\x09\\xa3\\x4d\\x9b\\x68\\x0f\\xb2\\x83\\xf6\\xe2\\x12\\x75\\xf0\\xae\\x5d\\x7f\\x06\\xbb\\x06\\x14\\x62\\x1b\\x1c\\x48\\xfa\\x93\\x13\\xc8\\x69\\x10\\x76\\x5f\\x52\\xc7\\xdf\\x57\\x7e\\x01\\x0c\\xb2\\x07\\xc9\\xb9\\x5c\\xf9\\x27\\x8c\\x55\\x0b\\x4f\\x12\\xd2\\x01\\xc0\\x29\\x2b\\xf2\\x44\\x8d\\x26\\x93\\x65\\xa3\\x85\\xb3\\x50\\x3d\\x5e\\x50\\x2b\\x63\\xfe\\x11\\x82\\x51\\xad\\x7b\\xe6\\xc6\\x47\\xb8\\xdd\\xb1\\x7e\\x83\\xa7\\xbb\\xf6\\x94\\xbc\\x40\\x7e\\x67\\xd8\\xb3\\x6b\\xfb\\xc2\\x40\\x9f\\xab\\x1a\\xfb\\xdf\\xb7\\x1d\\x77\\x07\\x44\\xc2\\x89\\x4c\\x18\\xff\\x53\\xf1\\x7d\\x86\\xb3\\x6a\\x13\\x2c\\x8a\\x5e\\x94\\x99\\xb9\\x9c\\x20\\x5d\\xe5\\x93\\xdd\\x37\\x40\\x21\\x7d\\x30\\x7d\\x38\\xf1\\xfd\\xd4\\x40\\xf2\\xfa\\x3e\\xc8\\xd7\\xe3\\x0e\\xe2\\x52\\xb3\\x4a\\x75\\x9e\\x7c\\x2d\\xcb\\xf8\\x89\\x87\\xe0\\x59\\x47\\xf6\\xec\\x02\\xb9\\xa8\\x3c\\x3b\\x01\\xcf\\x9c\\xec\\xd9\\x17\\xe4\\x79\\xe5\\xd9\\xb7\\xf0\\x6c\\x89\\xdc\\x2e\\x51\\x2e\\xef\\x4d\\x82\\x23\\x53\\xd1\\x2d\\xcc\\x0e\\x66\\x3c\\x92\\x66\\x02\\x53\\xe8\\x8c\\xca\\x29\\x73\\xe9\\xa4\\xe1\\x0c\\x93\\x7b\\xff\\xac\\x3d\\x66\\xfc\\x97\\xdc\\x0b\\x0c\\x18\\xab\\xc8\\xb1\\x94\\xb9\\x0c\\xfa\\x5c\\x24\\x43\\x51\\xcf\\xc4\\x49\\xd8\\x59\\x69\\x3f\\xcc\\x1a\\xb8\\x84\\x45\\x36\\xc0\\xf4\\x6c\\x3e\\x77\\xae\\x8e\\x99\\x80\\x18\\x2c\\x12\\xb4\\x1b\\xa3\\xb4\\xc3\\xb4\\x9d\\x0a\\x98\\x09\\xb0\\x31\\xcb\\xcd\\xe7\\xce\\x35\\xd7\\x31\\x53\\x0f\\x6b\\x57\\x29\\x3c\\xc5\\xf9\\xa4\\xdb\\x00\\x06\\x38\\x5b\\x8c\\x03\\x85\\x98\\x39\\x91\\xca\\xb3\\xbe\\xdd\\xf1\\x27\\xb8\\x9f\\x84\\xa7\\x70\\xed\\x2e\\xd6\\x76\\x3a\\x9f\\x8d\\x67\\x83\\x2c\\xab\\x05\\xac\\xc2\\x20\\x0f\\x2a\\xa7\\xc6\\xe6\\x03\\x68\\x8d\\x98\\x9e\\xc5\\xfb\\x17\\x87\\x71\\x6e\\x89\\xef\\xab\\xb7\\x3d\\xcd\\xeb\\x85\\x45\\x58\\x78\\x77\\xff\\x1b\\x8e\\x75\\xe6\\xa9\\xd0\\x17\\x93\\x81\\x89\\x2f\\x12\\xef\\x23\\x3d\\xf4\\xd5\\x03\\xc3\\x63\\x26\\x36\\x16\\xcf\\xdd\\x62\\x0d\\x73\\x2b\\xc6\\x30\\x32\\xb0\\xc5\\x1a\\x46\\xe7\\xfc\\x11\\xcc\\xa5\\x77\\xe2\\x20\\x9b\\x0b\\x47\\xe7\\x62\\x53\\x6c\\x5e\\xbd\\xc9\\xed\\x0b\\x9a\\xe7\\x92\\xa1\\xb2\\xcd\\x8b\\xfc\\x1d\\xda\\x75\\x53\\xda\\xc9\\x6b\\xa3\\xd8\\xb6\\xba\\xcd\\x6d\\x5e\\x80\\xa7\\xbd\\x46\\x2d\\x5b\\xb4\\xdd\\x79\\x68\\x37\\x04\\xda\\xe9\\xa0\\x9d\\xc4\\xc6\\x4b\\xb3\\x62\\x0d\\x59\\xc8\\xfe\\x90\\xd7\\x66\\xce\\x9c\\x31\\x9f\\xc5\\x48\\xc6\\x4f\\x90\\xbf\\xe3\\x8e\\x89\\x8d\\x32\\xad\\xe5\\x18\\xad\\xa5\\xb8\\x1a\\x3f\\xe1\\xe3\\x63\\x3e\\xf2\\xf7\\x27\\x9f\\x84\\x36\\x67\\x61\\xcc\\x8e\\x68\\x1c\\x32\\xc0\\x3a\\x6a\\x29\\x5d\\xa3\\xeb\\x18\\x49\\x0b\\x05\\x07\\xb4\\x2a\\xce\\x7b\\x74\\x5f\\xe5\\x1c\\x47\\x71\\xa4\\x7c\\x99\\xab\\x60\\xdc\\x5b\\x7f\\xd9\\xa6\\x17\\xcf\\xe8\\x17\\x1d\\x63\\x30\\xfd\\x06\\xfd\\x2f\\x42\\x7f\\x23\\xf4\\x17\\x28\\xc3\\xa0\\x2b\\x1b\\x49\\xc5\\xe9\\xe7\\x51\\xad\\xbd\\x43\\x81\\x92\\xeb\\x87\\x5c\\x16\\x8b\\xc7\\x1d\\x63\\x11\\xf6\\x3f\\x65\\x46\\xde\\xa0\\x7b\\xd3\\x93\\xbc\\x80\\x56\\x25\\x36\\x03\\x8c\\xfa\\x43\\x70\\x9e\\x31\\x80\\xd9\\x44\\x79\\x02\\xc0\\xf9\\x14\\x3d\\x45\\xe4\\x05\\x46\\x83\\x49\\x29\\x99\\x89\\xfe\\x91\\x18\\xa0\\xd0\\x60\\x24\\x80\\xd8\\x83\\xca\\x65\\x5d\\x83\\x57\\x68\\xb0\\x2f\\x49\\x83\\xc9\\xcc\\x24\\x0d\\xe6\\xd8\\x1e\\x5c\\xab\\xc8\\xd2\\xfa\\x83\\x0e\\x45\\x7e\\x06\\x18\\x5d\\x7f\\x42\\x33\\xaf\\xfd\\x5f\\x84\\x66\\x4c\\x3e\\x20\\xb5\\x48\\x93\\x38\\x00\\xbc\\x56\\x7b\\x00\\x0b\\x14\\x2d\\x4e\\x01\\x24\\xbe\\x1a\\x1a\\xbd\\x0b\\xab\\xb7\\x73\\xf5\\x74\\xd3\\xd4\\xa2\\x7f\\x67\\x18\\x3b\\x93\\xda\\x71\\x3d\\xdf\\xba\\xb9\\xe7\\x4c\\xe8\\xb3\\x19\\x60\\x19\\x98\\x78\\x19\\xf8\\x81\\xfe\\xa0\\x4e\\x32\\x33\\x86\\x05\\x90\\xa8\\x94\\x52\\xa9\\xc9\\x94\\xbf\\xcc\\x4b\\xe0\\xda\\xc6\\x61\\x0f\\x1d\\x68\\x57\\xe3\\xca\\xaf\\x1c\\xdc\\x73\\xbc\\xdf\\xd8\\xb1\\xba\\xc3\\x90\\xae\\x37\\x4c\\x91\\xe6\\xa8\\x0a\\x03\\x9d\\xb8\\x69\\x22\\x83\\xe1\\x30\\x8c\\x57\\xc1\\x6c\\x6c\\xda\\x03\\x06\\x58\\x17\\x99\\xbf\\x5c\\x61\\x50\\x5b\\xfe\\x7f\\xd8\\xd3\\x40\\x1e\\x1e\\x9a\\x38\\xcf\\x6c\\xf4\\xc0\\x03\\x79\\x46\\x9b\\x79\\xa0\\xb6\\xd9\\x69\\x76\\x79\\x92\\x05\\xbf\\x1a\\x99\\x1c\\xa6\\x3f\\x28\\x62\\x5e\\x95\\x94\\x2d\\x00\\x4b\\xe1\\x70\\x7a\\xb1\\x71\\x37\\xb9\\xea\\x7e\\xee\\x27\\x32\\xf4\\x93\\x4f\\xf0\\x22\\x68\\xdf\\x8d\\xec\\x82\\xfd\\x5a\\x4c\\x23\\x21\\x0e\\x5b\\x0d\\x06\\x91\\x57\\x1d\\x4b\\x3c\\x77\\x44\\x63\\xe8\\xad\\x32\\x69\\x19\\xf7\\x3c\\x19\\x0c\\xc9\\x2c\\x54\\xae\\x6a\\xc4\\x36\\x23\\x0c\\x58\\x23\\xff\\xf8\\x07\\x37\\x76\\xd8\\xb5\\x91\\xc8\\xf0\\x6b\\xc7\\x4d\\xbc\\xee\\xda\\xb1\\xd7\\x5d\\xbb\\x74\\xd2\\xdc\\x4e\\x9d\\x9a\\xc7\\xcd\\x80\\x3f\\x32\\x3c\\xed\\xc8\\x54\\x6c\\x4b\\xdc\\x03\\xeb\\x9f\\x19\\x35\\x4a\\x08\\x9b\\x31\\x07\\x5a\\xbf\\x60\\x16\\xa8\\x44\\xdd\\x14\\x96\\x59\\x57\\xea\\x82\\x24\\xff\\xc2\\x29\\xf1\\xde\\xc3\\xc2\\x57\\xbb\\x80\\x8a\\x61\\x7b\\xf6\\xf6\\xed\\xf4\\x7e\\x24\\xfe\\x31\\xd0\\xb1\\x17\\xd8\\x18\\x8e\\xa8\\x56\\xe2\\x96\\x08\\x48\\x63\\xd6\\x70\\x1a\\xda\\xdf\\xcd\\xd8\\x4e\\x4a\\x70\\x7a\\x41\\xdc\\xb5\\x4f\\xf8\\x01\\xe4\\xa6\\xf6\\x17\\xc8\\xea\\xec\\x3b\\xee\\xc8\\xc6\\x76\\x80\\xa1\\x8e\\x4c\\xc1\\x28\\xb1\\x16\\x70\\xdf\\x16\\xd5\\xa8\\x65\\x4a\\xa8\\x4b\\x91\\x74\\x9e\\x71\\x09\\x39\\xbd\\x38\\xec\\xc6\\xba\\xd5\\x8f\\xe3\\xdd\\xc2\\xf0\\x1e\\xbd\\xe7\\xb8\\xf7\\xb4\\x7b\\x87\\x4c\\xb9\\x6d\\x66\\x56\\xb4\\x77\\xef\\xe8\\x9a\\x6d\\x6c\\x3e\\xf1\\xcb\\x64\\x0a\\x7a\\x3e\\x39\\x96\\x9e\\x16\\x90\\xe2\\xd2\\x44\\x1a\\x15\\x63\\x0f\\xb2\\x23\\x20\\xb0\\x87\\x79\\xab\\xf7\\x73\\x2d\\x63\\xcd\\x6e\\x19\\x0a\\x13\\x3b\\x59\\x84\\x2b\\x12\\xf7\\x03\\xb6\\x67\\x46\\xf5\\x16\\x0d\\x5a\\x62\\x17\\x91\\xde\\xac\\xe7\\xf4\\x74\\x56\\x27\\xdd\\x1f\\x9f\\x64\\xa1\\x25\\x7f\\x64\\xf9\\xcc\\x28\\xed\\x51\\x17\\xc9\\x29\\xae\\xf1\\x30\\xc3\\x67\\xcf\\xba\\xea\\xec\\xca\\x6a\\xc7\\xca\\xc2\\xb5\\x64\\x51\\xa0\\x3c\\x50\\xd9\\x97\\x19\\x3e\\xbb\\xd6\\xee\\x5c\\x29\\xaf\\xff\\x30\\xf2\\x14\\xfa\\x2c\\x31\\x26\\xc5\\xcf\\x99\\x04\\xac\\xf2\\x92\\x9b\\xb9\\x71\\x85\\xf1\\x7b\\x76\\x52\\x39\\x2e\\x5e\\x9f\\x90\\xf0\\xfb\\x89\\x21\\xd4\\x86\\x0e\\xf4\\xe7\\x58\\xe2\\xc7\\x83\\x1a\\x7d\\x6f\\x38\\xb6\\x41\\xda\\x18\\xf0\\x26\\x5e\\x2f\\xec\\xf8\\x9d\\xc9\\x73\\x1c\\x69\\xbc\\x1c\\x47\\x2f\\x26\\x3a\\x29\\xbc\\x1f\\x24\\x2c\\x2e\\x29\\xdb\\x40\\x43\\x26\\xfd\\x35\\x72\\x37\\xc5\\xd7\\x73\\x37\\x91\\x99\\x6f\\xbc\\x41\\xd6\\xbe\\xf6\\x1a\\xc0\\x50\\x84\\xde\\xc0\\x53\\xf1\\x8f\\x30\\x57\\x57\\x54\\x67\\x17\\x99\\xed\\x97\\xce\\xb9\\x45\\x6a\\x8d\\xfc\\xe1\\x4c\\x87\\x30\\x13\\x6f\\x72\\xa6\\xd4\\xc4\\x2b\\xcf\\xf4\\x8d\\x2b\\x26\\x8a\\xc9\\x3d\\x28\\x81\\x1b\\xf0\\x5f\\xd9\\x3c\\x39\\x79\\x9e\\xf4\\x1a\\x0c\\x07\\xe2\\x73\\x8b\\xb9\\xd5\\x28\\x71\\x06\\xe6\\x79\\x3f\\x4a\\x70\\x95\\x6d\\xdb\\x00\\x1f\\xaa\\xbc\\x34\\x43\\xd8\\x48\\x9b\\xc0\\x38\\xda\\xc4\\x45\\xfc\\x0e\\xff\\x68\\xfa\\x19\\xf3\\x63\\x17\\x3c\\xe7\\x6b\\x36\\x5f\\x3e\\xb5\\x8c\\x2f\\xd9\\x7a\\x99\\xb5\\xbb\\x33\\xf1\\x1e\\x3e\\xc2\\x64\\x20\\xcd\\x01\\x0e\\x20\\x28\\xaf\\x87\\xb5\\x02\\xc9\\x9d\\xdc\\xc9\\xf5\\x7b\\x27\\xfe\\x54\\xb1\\xf8\\xef\\xdf\\x75\\xf4\\xcc\\x76\\x24\\x03\\x51\\x9e\\xc2\\x97\\x40\\x8e\\x48\\xf1\\xa5\\xf4\\x1b\\x9f\\x97\\x94\\x1b\\x1f\\xf2\\x42\\xda\\x95\\x0f\\xbc\\xa3\\x0c\\xce\\x72\\xae\\x72\\x96\\x53\\xaa\\x54\\x8b\\x06\\x85\\x73\\x5b\\x69\\x50\\x1c\\x79\\x07\\xe8\\x4c\\x9f\\xc4\\x5b\\xca\\xde\\xa8\\xe4\\x1e\\x8c\\x83\\x7a\\x2d\\x5e\\xbe\\xda\\xe7\\xe8\\x43\\x56\\xe1\\x79\\x63\\x0e\\x51\\xb3\\x07\\xb9\\x78\\x88\\xd6\\x6b\\x24\\x7d\\xc8\\xfd\\xe8\\xeb\\xc4\\x32\\x1a\\x41\\x47\\x6d\\x30\\x20\\xee\\xe8\\xf5\\x16\\x69\\x89\\xcd\\x04\\x5d\\xdd\\xa7\\x42\\x72\\x05\\x5f\\x8a\\x8b\\xcc\\x5b\\xd1\\x57\\x95\\xda\\x25\\x17\\xb3\\x86\\x2e\\xd0\\x14\\x7b\\xaf\\x1b\\x7b\\x6d\\x7e\\x89\\x66\\xba\\xf1\\xfa\\xfe\\xc3\\x23\\x91\\x6b\\x06\\x4c\\x34\\x90\\xf7\\xf2\\xdd\\x33\\x66\\xb8\\xf3\\x1b\\x87\\x77\\xea\\x74\\xad\\x6c\\x4b\\x4c\\xbc\\x23\\x2c\\xc0\\xb3\\xa4\\x1c\\xa0\\xef\\x2a\\xe0\\x9d\\x99\\xe5\\x54\\xdd\\x29\\x54\\x15\\x2a\\x86\\x6a\\x3c\\xab\\x69\\xf6\\xac\\xa6\\x79\\xf3\\x9a\\x66\\xcd\\x6e\\x9a\\x23\\xbc\\xd7\\x34\\x7f\\x7e\\xd3\\xec\\xd9\\x4d\\x73\\xe7\\x36\\xcd\\xa6\\x32\\x69\\x48\\xb8\\x01\\xfd\\x2e\\xcd\\x40\\x19\\x0c\\xe3\\x2c\\xe6\\xe4\\xac\\xaa\\x3a\\xe3\\x88\\x83\\xd2\\x4f\\x96\\xe4\\x40\\x55\\x4d\\x23\\x63\\xda\\x71\\xa1\\x76\\x03\\x06\\x04\\x2a\\x3c\\x79\\x9e\\xd8\\x8d\\x81\\x32\\x77\\xae\\x5b\\xfc\\x38\\xd4\\x29\\x4f\\x8c\\xa9\\xdc\\x79\\xb6\\xca\\x48\\x5d\\x4e\\x97\\x7e\\xea\\xe1\\x52\\x46\\xbe\\xbd\\xb2\\x7d\\x07\\x8a\\xcf\\x33\\xa4\\x02\\x5e\\xab\\xca\\x51\\xd6\\x4c\\x90\\x70\\x92\\xda\\x53\\x5c\\xf6\\x53\\x7c\\x9e\\x21\\xec\\xb8\\x34\\x01\\x34\\x9a\\x82\\x81\\x03\\x1f\\xa5\\x87\\x00\\x27\\x6e\\x07\\x4d\\xdf\\xc9\\x74\\xf3\\x36\\xfa\\x9e\\x8d\\xc9\\x61\\xcd\\xb2\\x99\\x44\\x38\\xa0\\xc8\\x61\\x89\\x83\\xd0\\xfe\\x8e\\x3f\\x6a\\x2f\\xdf\\x5a\\x0e\\x50\\xcc\\x1f\\xc2\\x81\\xa4\\x18\\x06\\x7d\\x6c\\xc2\\xa3\\x9c\\x24\\x1e\\xfa\\xff\\xa1\\xeb\\x61\\x4d\\x51\\x9f\\xee\\x9d\\xa8\\xc9\\xa3\\x39\\xa7\\xf3\\x88\\xee\\xc5\\xfd\\xba\\xa5\\x4c\\x1e\\xc2\\xa3\\xb2\\xc9\\x63\\x4c\\x87\\x16\\x93\\x47\\x2b\\x39\\xf5\\x82\\x2c\\xa7\\x22\\x9e\\xbc\\x02\\xf2\\xfa\\xad\\xe2\\x05\\x80\\x59\\x03\\x32\\x07\\x48\\xd9\\x2a\\x9d\\x4e\\x2b\\x99\\xf8\\x91\\xfc\\x8d\\x3c\\x2f\\xc3\\x9f\\xac\\x86\\x48\\x27\\x81\\xfd\\x0a\\x73\\xd7\\x48\\x37\\x63\\xa4\\x22\\xdf\\x62\\x13\\x70\\xf9\\xcb\\xd3\\x82\\xa0\\x69\\xed\\xf2\\xe2\\x02\\x3f\\x39\\x67\\x56\\x98\\x3d\\x4e\\x78\\x00\\x4f\\xb3\\x12\\x4b\\x69\\xed\\xb9\\xa3\\x70\\xce\\xcc\\x6a\\x0e\\xd0\\xae\\x5c\\x66\\x05\\xad\\x03\\xeb\\xc3\\xaa\\x5a\\xab\\xcd\\xe4\\xcd\\x2c\\x8d\\x74\\xe8\\x27\\x66\\xdf\\x67\\x4f\\x20\\x9b\\x41\\xba\\x45\\xd7\\x31\\x6a\\x71\\xad\\x9c\\xc4\\xc6\\xea\\x20\\x3c\\xc2\\x95\\x4a\\x85\\x6c\\xf7\\x78\\x55\\x4a\\x13\\x49\\xf2\\x3b\\xae\\x54\\xe6\\x77\\xc2\\x23\\x8c\\xdf\\x71\\xf1\\xb5\\xcc\\x66\\x78\\x33\\xdb\\x6f\\xf3\\x11\\x71\\x09\\xe8\\x0c\\x32\\x09\\xa3\\x6f\\xa7\\xc4\\x8e\\x11\\xbc\\xb5\\xfc\\xf9\\xcb\\xd9\\xfc\\xf9\\x6f\\x27\\x4f\\x7e\\x76\\x32\\xab\\x41\\x04\\x72\\xc4\\x50\\x34\\x92\\xf1\\x5e\\x99\\xb3\\xa6\\x4e\\x23\\xe5\\xc0\\x54\\xef\\xb9\\x67\\xcd\\x9a\\xcb\\x6b\\xd6\\x50\\x46\\x2c\\xab\\x3c\\x4c\\x96\\x9e\\x84\\x7a\\x31\\x7b\\x8a\\xf1\\x30\\xaf\\xd8\\x51\\x4e\\x53\\xa9\\xc9\\xc6\\xa4\\xc6\\x5e\\xd4\\x68\\x43\\x26\\x51\\xa3\\x0d\\x4e\\x54\\x09\\x73\\xb8\\x22\\x49\\x83\\xb2\\xe9\\x5a\\x3b\\x38\\x93\\x2e\\x57\\x57\\xae\\xe3\\x75\\x3a\\xab\\x94\\x89\\x58\\xd6\\xde\\x26\\x56\\xcc\\x4e\\x4e\\xbe\\xc0\\x36\\x9c\\x9e\\x9b\\xa4\\x6a\\x43\\xeb\\x1c\\x17\\x5e\\x9d\\xe7\\xca\\x2c\\x70\\xbb\\x9a\\xb3\\xeb\\x47\\x76\\x8f\\xf4\\x69\\x1c\\x32\\x20\\xc7\\xe5\\x0b\\xb9\\x17\\x14\\x2c\\x6a\\x0a\\x0d\\x6c\\xba\\x4a\\xf4\\x99\\x6d\\xbe\\xda\\x89\\xd7\\x77\\x0c\\x4e\\xac\\x1e\\x6f\\x0e\\x76\\xdb\\x38\\xbf\\x74\\x01\\xb3\\x2b\\xf2\\x80\\xcf\\xdf\\xe0\\x1f\\x40\\xff\\xe5\\xe1\\xed\\x5e\\x14\\x89\\x9a\\x9c\\x7a\\x21\\x53\\x63\\x29\\xb2\\xd0\\x14\\xbd\\x16\\xca\\x11\\x9e\\x3b\\xe8\\xc9\\xe9\\x4d\\x3f\\x0f\\x9b\\x6d\\xbd\\xb9\\xdc\\x1c\\xba\\x60\\xc1\\x60\\x88\\x3a\\xab\\xce\\x48\\x3a\\x31\\x51\\x15\\xdb\\xf5\\x87\\x18\\x29\\xc2\\xff\\x6c\\xcf\\x5e\\x9d\\x2d\\xe4\\x75\\xac\\xa9\\x70\\xe6\\x14\\x5a\\xc7\\x65\\x86\\xfa\\x46\\xbc\\x75\\xd5\\x15\\x0e\\x9f\\xdf\\x3c\\xda\\x11\\xea\\x4f\\x2e\\xc2\\x7f\\x4b\\x9b\\xef\\xbc\\xf3\\xc7\\x2c\\x6f\\x56\\x41\\xf5\\xb0\\x01\\xe5\\x59\\x5e\\x4f\\xbb\\x92\\x21\\x8d\\x15\\x47\\xee\\x64\\x39\\x1e\\x41\\x8f\\xd8\\xc5\\x8d\\x92\\xce\\xc2\\x79\\x08\\xa3\\xca\\x68\\x46\\xa9\\xbb\\xbc\\x30\\xb7\\x10\\x4e\\x43\\x21\\xfc\\x75\\x3b\\x44\\x03\\x30\\xe3\\xde\\x06\\x9f\\x1b\\x0e\\xc7\\xd9\\x60\\xe8\\x24\\x73\\xa3\\x35\\x9f\\x04\\xc0\\xcc\\x27\\x5b\\xdf\\x21\\xa6\\xc3\\xc5\\xff\\xf1\\xf9\\x19\\xdb\\xfa\\xfc\\xf4\\x6d\\x31\\x19\\x2e\\x2b\\x54\\x8c\\x89\\x57\\x9c\\x2c\\xf1\\xdd\\xb6\\x27\\x8b\\xbc\\x71\\xe5\\x59\\x03\\x9c\\xd8\\x44\\xc6\\xa0\\x2d\\x89\\x53\\x70\\xaa\\xa4\\xfd\\x2a\\xa6\\x43\\xa8\\x80\\x30\\x17\\x46\\x1c\\xe1\\xea\\x2d\\x1b\\xbe\\xda\\xb0\\xe1\\xab\\x8b\\x87\\x9a\\x9b\\x0f\\x1d\\x69\\x6e\\x86\\xb6\\x5f\\x01\\xce\\x0d\\x86\\xb6\\x12\\x48\\xd2\\x22\\x27\\x6b\\x6f\\xb2\\x24\\x5d\\xed\\x8b\\x80\\xee\\x71\\x37\\x6d\\x48\\x86\\x7e\\xb9\\x61\\x03\\xb5\\x37\\x66\\x5c\\x7e\\x1b\\x16\\x6a\\x0f\\xa3\\x33\\x1a\\x96\\x1f\\x2d\\x1b\\xf9\\x51\\x19\\xaa\\x46\\x9d\\x50\\x0f\\xd4\\x0f\\x0d\\x42\\x31\\x34\\x1a\\x4d\\x42\\x33\\xd0\\x7c\\xb4\\x14\\xad\\x46\\x9b\\xd1\\x0e\\x74\\x0f\\xba\\x0f\\x3d\\x84\\xf6\\x44\\xaf\\x6e\\x5e\\xd2\\xb8\\x67\\xdc\\xba\\x75\\x13\\x37\\x5d\\xb7\\x65\\xcb\\xa8\\xed\\xd1\\x5b\\x6e\\xe9\\xbe\\xaa\\x74\\x5e\\xd1\\xac\\x59\\xfa\\xbb\\xf3\\xa6\\x4e\\x2d\\x98\\x6e\\x1e\\x32\\xc4\\x3e\\x0c\\xf7\\xc9\\x68\\xdf\\x3e\\xab\\xae\\xa2\\x6a\\xc9\\x9e\\x4d\\xdb\\x57\\xcd\\xbb\\x7b\\xfa\\xb0\\x3e\\x75\\x55\\x55\\x75\\x7d\\x86\\x4d\\xbf\\x7b\\xde\\xaa\\xed\\x9b\\xf6\\x2c\\xd1\\xf7\\x1d\\x78\\xef\\x83\\x0f\\xee\\x1a\\xb0\\x9b\\x57\\xf5\\xea\\xa5\\x16\\xfa\\x22\\xa5\\x86\\xaa\\xf2\\x61\\x75\\xc1\\xa6\\xb4\\xfc\\x49\\xfa\\x37\\x87\\x5b\\x1c\\xbb\\xff\\xfc\\x41\\xd2\\xd2\\x29\\x02\\xbf\\xa6\\x16\\x06\\xbf\\xdd\\x97\\x5f\\x5d\\x15\\x0e\\x15\\x2a\\x9f\\x36\\xe5\\xd3\\xa5\\x7c\\x62\\xe5\\x53\\xd5\\xe6\\x3b\\xf5\\x27\\x00\\x29\\x58\\xb6\\x5f\\xfe\\x1f\\x6d\\xdb\\x7e\\xf7\\xb7\\x79\\x57\\xf2\\xdd\\x7e\\x6a\\xf5\\xf0\\x52\\xd8\\x80\\x2f\\x87\\xb9\\x3d\\xd3\\xce\\xe1\\x01\\xf1\\x67\\xc9\\x01\\x3c\\x90\\xeb\\x36\\x6d\\x1a\\xd9\\x5c\\xd5\\xbe\\x7d\\xd5\\xd6\\xaa\\xda\\xda\\xaa\\xdf\\x22\\x35\\xed\\xab\\x0b\\xe8\\x57\\x02\\x92\\x7f\\xa4\\x66\\x5f\\xfb\\xea\\xea\\xf6\\xdc\\x35\\x91\\x9a\\x9a\\xc8\\xe5\\x5b\\xce\\x4d\\xc3\\x03\\x84\\x95\\xe4\\xe0\\xb9\\x69\\x97\\x35\\x35\\xf0\\x87\\x5b\\x43\\x7f\\x6e\\xab\\x6e\\xdf\\xbe\\x3a\\xfe\\x70\\x75\\x7b\\x50\\x58\\xe8\\x77\\xfc\\x3a\\xed\\x48\\x62\\xb4\\xcf\\x6f\\xb4\\xfb\\x36\\xfa\\x94\\x6c\\x9a\\x36\\x8d\\x2f\\xa0\\x6f\\x8c\\x3f\\x43\\x0e\\x4e\\x3b\\x27\\x2c\\x3f\\x3b\\x6d\\xda\\xb4\\xcb\\x37\\xe1\\x81\\xb7\\x43\\xbb\\x52\\xf8\\x47\\xde\\x81\\x71\\x3e\\x87\\x5f\\xf0\\x36\\xf8\\xe5\\x5a\\xf8\\x25\\x3e\\x93\\xbe\\xfc\\xd2\\x59\\xdc\\xe7\\xf7\\xaa\\x69\\x67\\xb9\\xf7\\x6a\\xc2\\x1d\\xe2\\x9d\\xab\\xab\\x23\\x77\\x56\\x55\\xd5\\x72\\x79\\x4a\\xeb\\x78\\x22\\x12\\xa9\\xfe\\x02\\x1a\\x92\\xbf\\xb6\\xaf\\xaa\\x2d\\x81\\xff\\x86\\x31\\x2f\\xdf\\x34\\x6d\\x1a\\xee\\x73\\x56\\xb6\\x17\\x99\\x84\\x29\\xb8\\x42\\xa2\\x3e\\x39\\xea\\x27\\xd8\\xd5\\x0b\\xec\\x94\\x28\\xdf\\x98\\x54\\xc8\\x37\\x26\\x62\\x56\\xfa\\x9d\\x4b\\x8e\\x30\\x17\\xf3\\xcc\\xd7\\x0e\\x24\\x94\\xa4\\xfb\\x4a\\x1b\\xcf\\x3a\\xcc\\x5f\\xe9\\x59\\x47\\x69\\xc0\\x5c\\xe1\\x6f\\xf8\\x3f\\x40\\x03\\x78\\x64\\x03\\xae\\xa8\\xd3\\x58\\x2c\\xd8\\x60\\x62\\x1e\\x57\\xb2\\xfc\\x4d\\x6b\\xc6\\xcb\\x2a\\x29\\x4f\\x2f\\x6a\\x7d\\x91\\x94\\x9d\\x86\\x2b\\xc2\\x19\\x45\\x91\\xe5\\x5b\\xb1\\xb0\\x85\\x8f\\xf5\\xe8\\x39\\xc1\\x78\\xbb\\xe7\\x39\\xe1\\x6f\\x6f\\xbd\\xc5\\xa9\\x96\\x4f\\xaf\\xc8\\xad\\xe9\\xd2\\xd0\\x6b\\xc9\\x6e\\x59\\xe6\\x7a\\x9e\\x0c\\x46\\xe3\\x12\\xbf\\xa4\\xc9\\x29\\xb6\\x34\\x39\\x65\\x5c\\x9a\\x98\\x42\\x1e\\x6f\\x25\\xa6\\x40\\xdf\\x97\\x40\\x3f\\xfb\\x82\\xdd\\x27\\xa5\\xd6\\x42\\x94\\x6f\\x9f\\xc8\\x4b\\xad\\xaf\\x9f\\xa8\\xbd\\x62\\x28\\xca\\x57\\xda\\xb2\\x2b\\x27\\xa0\\x04\\xf2\\xba\\xe5\\xb7\\xb9\\x68\\xe2\\x40\\x46\\x1b\\x8a\\x45\\xd6\\x96\\x72\\x62\\x9d\\x4e\\xa3\\x35\\x68\\xe0\\x2f\\x16\\x79\\xd4\\xae\\xfc\\x4d\\x39\\x62\\x80\\x1e\\x11\\x95\\x3c\\x40\\x44\\xbe\\x31\\xdb\\x26\\x8f\\x73\\xf1\\x89\\x9b\\x1b\\x07\\x2e\\x79\\x42\\x19\\x6e\\x4e\\xea\\xfa\\x8c\\xc6\\x79\\xc3\\x5e\\x18\\x95\\xbd\\x48\\xb9\\x25\\x51\\x1b\\x57\\x9a\\x6c\\x5a\\x7c\\xa5\\xc3\\x24\\xeb\\xdb\\x59\\xd8\\x8e\\x7e\\x12\\xfb\\xc3\\x3a\\xa9\\x9f\\xd0\\xc8\\xf6\\x61\\x5b\\x9a\\xa6\\xfe\\x53\\x55\\x20\\x50\\x45\\xff\\x09\\x3f\\xc9\\x9f\\x55\\xb0\\x3e\\xe7\\x60\\xce\\xc3\\x13\\x2f\\x81\\xee\\x54\\x1c\\xb5\\x1a\\x24\\x23\\xd2\\x63\\x9d\\x1e\\xfe\\x6a\\x54\\x22\\xaf\\xd1\\x18\\x65\\xdf\\xa3\\x90\\x35\\x39\\x21\\x33\\x65\\xaf\\x2a\\xc5\\x8d\\x81\\xed\\x40\\x61\\x38\\x32\\xc3\\x3b\\x2f\\x36\\xac\\x67\\xef\\xd8\\xf0\\x79\\xde\\x99\\xea\\x09\\x27\\x42\\x23\\xb3\\xc7\\x77\\x98\\x3f\\xbf\\xe3\\xf5\\xd9\\x23\\x43\\xb7\\x50\\xb9\\xa5\\x0b\\xbc\\xe3\\x8b\\xc4\\xdf\\x01\\x43\\x72\\x51\\x10\\x79\\xa3\\x46\\x91\\x37\\xf9\\xb2\\x8b\\x8b\\x55\\xbc\\xcb\\xe7\\xb3\\x18\\x64\\x5b\\xc4\\x69\\xaa\\xd1\\x9a\\x5f\\x32\\x9f\\x56\\xcc\\x0b\\x69\\x09\\x5b\\xda\\x9a\\x19\\xfc\\x69\\xbf\\x7f\\x31\\x6d\\xf0\\x75\\x91\\xc8\\x75\\xd4\\xec\\xd0\\x54\\x53\\xd3\\x94\\x66\\x7a\\x20\\x1f\\xa6\\x19\\x21\\xba\\x76\\xa5\\x66\\x88\\xae\\x5d\\x53\\x86\\x88\\x60\\xca\\x20\\x81\\x13\\x1f\\x08\\x4b\\xf0\\x5c\\x69\\x3c\\xb3\\x8e\\x08\\x2a\\x7a\\x31\\x53\\x7e\\x8a\\xa1\\x2d\\xe6\\x7d\\x11\\xaf\\x2d\\xac\\xc2\\x73\\x47\\xce\\xa8\\x23\\xbf\\xc0\\x0f\\xf1\\x61\\xf2\\xde\\xb3\\xb8\\xf8\\x59\\x86\\x5b\\x43\\xc9\\x50\\x61\\x35\\xe8\\x02\\x06\\xd8\\x2b\\x2d\\x27\\x32\\x33\\x27\\x95\\x58\\x68\\xf5\\xe9\\xc2\\x30\\x65\\x5e\\x05\\x11\\x61\\x35\\xf9\\x29\\xfe\\x08\\x39\\x4b\\x6e\\xab\\x3b\\x52\\xb5\\xe9\\x8d\\x07\\x2e\\xe2\\xe8\\x84\\x52\\xb2\\xfc\\xf8\\x89\\x61\\xd7\\x97\\xdd\\x34\\x57\\x96\\x2b\\xe7\\x0b\\x27\\xc5\\xbd\\x52\\x17\\x36\\x8e\\x88\\xb4\\xa9\\xbb\\x87\\xf4\\x71\\xc4\\xbd\\x57\\x8e\\x23\\x75\\x49\\x1f\\x08\\x93\\x17\\x84\\x23\\xfc\\x5f\\xc4\\x61\\xe9\\xf7\\x03\\x34\\x0a\\x9d\\xfc\\x43\\x78\\x25\\xf7\\x52\\xad\\x38\\xec\\x7e\\x66\\x2f\\x7b\\x86\\x7f\\x26\\x31\\xe2\\x0a\\xdd\\xf3\\xdf\\xac\\xcd\\xfd\\xf7\\x53\\x78\\xb6\\x0b\\x27\\x25\\xb5\\x24\\x02\\xb7\\x02\\xcc\\x36\\x21\\x41\\x07\\x18\\xa5\\xb3\\x2d\\x51\\xa3\\x72\\xf7\\xa9\\x16\\xcc\\xc6\\xf9\\xfe\\x82\\x94\\xe6\\x21\\x0a\\x8a\\xd4\\x23\\x0c\\x5f\\x40\\x3e\\x27\\x9f\\x2f\\x88\\x4d\\xca\\x3b\\xda\\xee\\xbb\\xcd\\x0b\\xb0\\x07\\x7b\\x16\\x5c\\x3b\\x25\\xe7\\x68\\xd9\\xf7\\xc2\\x9b\\xdd\\xbb\\xf7\\x18\\xb0\\xe6\\xb1\\xee\\xdd\\x7b\\xf5\\x5b\\xbd\\x8f\\xfa\\xe7\\xc0\\x7b\\x42\\x30\\x6f\\x8a\\xeb\\xbc\\x46\\x95\\x92\\xf2\\x03\\x30\\xae\\xa0\\xf2\\xc1\\xf4\\x05\\x97\\xb8\\x30\\x42\\x7e\\xfc\\xfe\\x67\\xf2\\xd9\\xa2\\xa3\\xd8\\xc8\\xf5\\xc7\\x45\\x78\\x56\\x9d\\x70\\x72\\xf6\\xec\\xa9\\x37\\xe3\\x45\\xcf\\x3f\\x23\\xaf\\xdf\\x1b\\x64\\x8c\\xd0\\x87\\xf1\\x64\\x69\\x3f\\x62\\x76\\x4f\\x6f\\x35\\xb0\\x70\\x6f\\x35\\xff\\xe3\\x86\\x0d\\x97\\xcd\\xfb\\x9b\\x8f\\x1c\\x6a\\x06\\x99\\x9a\\x3c\\x89\\x3f\\xc4\\x9b\\x84\\x9f\\xcc\\x2a\\x71\\x2c\\x99\\x27\\xdb\\x74\\xc9\\x17\\xf8\\x2c\\xbe\\x4b\\xf8\\x19\\x9e\\x4d\\x22\\x6c\\x3b\\x80\\xa6\\xed\\xc6\\x17\\x71\\x80\\xf9\\xb8\\xa8\\x90\\xf3\\x38\\xf3\\xe8\\x17\\x70\\x09\\x4a\\x85\\x2f\\xd4\\xcb\\x82\\x15\\xb6\\x85\\xf9\\x7e\\x59\\x27\\xb2\\xc8\\x8e\\x8d\\x27\\x36\\xd1\\xf8\\x84\\xcb\\xcd\\xdc\\xa5\\xb8\\x28\\x8f\\xfb\\x14\\xfe\\x08\\x1f\\x62\\xef\\x9a\\x49\\xfa\\x28\\xef\\xfa\\x0a\\xde\\xf5\\x95\\xf0\\x39\\x3c\\x9b\\x47\\x56\\x28\\xcf\\xde\\x83\\x76\\xbb\\x84\\x7f\\xc1\\xb3\\x67\\xc8\\x78\\xe5\\xd9\\xa7\\xf8\\x23\\xce\\x27\\x21\\x78\\x36\\x91\\x2c\\x57\\x9e\\x3d\\x0d\\x30\\x3d\\x4d\\x9f\\x71\\x33\\x49\\xb3\\xfc\\x2c\\xfe\\x3d\\xbe\\xc8\\xdd\\xc4\\xfa\\x4e\\x8f\\x3f\\xa4\\xd8\\xa8\\xcb\\xa1\\xdd\\x2c\\xfa\\x5e\\x6e\\x36\\xbb\\xf1\\xa4\\xcf\\xee\\xc1\\x9f\\xe0\\xd1\\xe2\\x76\\x68\\x37\\x37\\x91\\xaf\\x3c\\x73\\xe0\\x6f\\x38\\x13\\x83\\x65\\x21\\x99\\x21\\xdb\\xb2\\xc9\\x3a\\xe8\\x4b\\x84\\x0b\\xb0\\xdb\\x99\\x87\\xb0\\x8a\\x57\\x8b\\xd4\\xc1\\x08\\x96\\x21\\xe5\\xc2\\x4f\\x5d\\x07\\x74\\xd8\\x87\\x99\\xfb\\x00\\xb6\\x1d\\xbe\\xf9\\xd3\\x53\\x38\\x76\\xfc\\x95\\x39\\xaf\\xbd\\x43\\x8e\\xbd\\x0a\\x9d\\x8d\\xe4\\x27\\xbc\\x0e\\xdf\\xf0\\xf3\\xcf\\x64\\x83\\xbc\\xc0\\x18\\x97\\x0a\\x07\\xb8\\xb3\\x8a\\x7f\\x88\\x0e\\x49\\xbc\\x2a\\xfd\\x7e\\x5c\\xb9\\x25\\x66\\x1a\\x17\\x2e\\x15\\x1f\\xa6\\x2a\\xd7\\xb7\\x49\\x95\\x0b\\x27\\xfe\\x49\\xa6\\xe2\\xe5\\x49\\x1f\\x53\\xa4\\xe2\\x25\\xc4\\x9b\\xdb\\xf4\\x15\\x4d\\xd8\\x5b\\x8f\\xf1\\x72\\x71\\x2d\\x21\\xaa\\x5f\\x16\\x78\\x92\\xba\\x1a\\x9a\\x01\\xf4\\x79\\x26\\xd3\\x67\\xf2\\xa3\\x66\\x13\\x42\\x3a\\x51\\x67\\xb5\\xb4\\x52\\x6c\\xd2\\x6f\\x8e\\xdb\\x6a\\x38\\x38\\xfb\\xbf\\xaa\\x38\\xad\\xea\\x51\\x96\\x47\\x33\\x32\\x34\\xff\\x73\\x2d\\xca\\xff\\xa7\\x75\\x28\\x95\\xbc\\xeb\\x57\\x0b\\x03\\xad\\x01\\xd4\\x93\\xfa\\xf1\\x73\\x77\\xa1\\x4d\\x97\\xdf\\x42\\xc6\\xa3\\xf8\\x39\\x0f\\xae\\x87\\xb3\\x87\\x2c\\x4d\\x4d\\xd5\\xd0\\x4e\\x81\\xd7\\x1a\\xe0\\xab\\xe5\\x76\\x89\\x7f\\x5f\\x3e\\x88\\x7c\\x51\\x17\\xbe\\xd1\\x83\\x1b\\x58\\xdb\\x5c\\x0f\\x7e\\xcb\\x83\\x17\\xb7\\xf4\\x6b\\xa2\\x26\\xc3\\x6a\\x86\\x2f\\xc8\\x45\\x5e\\xe4\\xba\\x0a\\x5a\\xb3\\x84\\x72\\xd8\\xfc\\x77\\x80\\xec\\x9f\\xc3\\x74\\x51\\xdb\\x11\\xc4\\x4b\\x2a\\x6e\\x09\\x30\\x4c\\xf7\\x69\\xc5\\xe5\\x41\\xd6\\x3f\\x77\\x80\\xde\\x89\\x55\\xe4\\x9b\\xa4\\xb6\\x49\\xf5\\x9a\\x97\\x85\\x07\\xb9\\xd3\\xd2\\xd5\\x8a\\x3c\\x1c\\x8a\\xba\\x04\\xac\\x35\\x80\\xc8\\xa0\\x91\\x24\\xa3\\x56\\xd2\\xa9\\x24\\xd5\\xfa\\x98\\x04\\x14\\x98\\x79\\xf3\\x30\\x17\\xc0\\x36\\xce\\xf1\\x34\\x60\\xb0\\x45\\xb5\\x7d\\x52\\x5a\\xf5\\x9d\\x8a\\x24\\xc8\\x9d\\xa5\\xaf\\x94\\xe2\\xfe\\xa5\\xaf\\x96\\x0a\\x0f\\x7a\\xf1\\x06\\x3f\\x99\\x53\\xfc\\x09\\xfc\\x01\\x3c\\xff\\x3b\\x42\\x62\\x58\\x5c\\x66\\x0e\\xa0\\x02\\x98\\xb7\\xc4\\xd7\\x5e\\xde\\x89\\x1c\\x87\\x38\\x0b\\xcf\\x99\\x8e\\x91\\x33\\x87\\x4c\\x56\\x41\\xe5\\x0f\\x5a\\xaa\\x51\\xbd\\x32\\xcf\\xa3\\x9c\\x8d\\xb3\\xf2\\xdd\\xad\\x12\\x9a\\xff\\x3b\\xfd\\xbe\\x03\\x21\\x95\\x00\\xfd\\x0b\\x51\\x11\\x5e\\x28\\x8f\\x80\\x76\\xa2\\x10\\x10\\x23\\x1e\\xeb\\xcd\\x7a\\x7c\\x2c\\xae\\x8d\\x66\\xe8\\x4d\\x88\\xf3\\xa3\\x06\\x84\\x37\\xa2\\x1f\\x50\\x02\\xe8\\x06\\x1a\\x85\\xb8\\x7b\\x11\\x6e\\x9a\\xd1\\x34\\xa3\\x3a\\xd8\\xc4\\x86\\x57\\xc6\\x1a\\xc3\\xc6\\x0a\\xe2\\x79\\xa9\\xb1\\xaa\\x00\\x3f\\x6d\\xb8\\xd1\\x86\\xd9\\x90\\x48\\x5f\\xa1\\xe7\\x8e\\x5d\\xfe\\x38\\x6a\\xd6\\x9b\\x04\\x2d\\x1d\\x34\\x81\\xb8\\x3c\\xd4\\x88\\xb8\\x19\\x4d\\xc9\\xa1\\x70\\x53\\x13\\x52\\x60\\xe3\\xbf\\x63\\xe3\\x95\\xe2\\xcd\\xa9\\xf1\\x3a\\x00\\xcd\\xd6\\x61\\x50\\x86\\x41\\x8b\\x16\\xf0\\x31\\xb2\\x36\\xea\\x16\\x54\\x14\\xbe\\x5c\\x84\\xeb\\xd1\\x48\\x74\\x23\\x7a\\x1c\\xa0\\x14\\x1b\\x11\\xde\\xdf\\x1a\\x42\\xdc\\x04\\x63\\xd2\\xbc\\xf6\\xbb\\xc4\\x6d\\x30\\x66\\x08\\xad\\x92\\xc7\\xbc\\x97\\xce\\x97\\x83\\x53\\x9b\\x6d\\xce\\xc6\\xc7\\x12\\x03\\xa2\\x19\\xd9\\xd9\\x3a\\x9d\\x1f\\x23\\xdd\\x62\\xdd\\x5b\\xba\\x4f\\x75\\xbc\\x59\\x97\\xa7\\x3b\\xa7\\xfb\\x51\\x27\\x34\\xc1\\x40\\x69\\xf3\\x7d\\x19\\x21\\xb5\\x8e\\xc1\\x57\\xc7\\x79\\xe4\\xb1\\xca\\x76\\xa2\\x70\\x54\\x8b\\x75\\x3c\\xd6\\x20\\x4d\\x9e\\x06\\x66\\x9a\\x17\\x75\\x6a\\xf4\\xbc\\xca\\x8f\\xf0\\x8d\\x78\\x31\\xde\\x88\\x4f\\x00\\xd8\\x18\\x9b\\x31\\x05\\xcd\\x92\\x1c\\x4c\\xa6\\x59\\x40\\xdc\\xa5\\x5e\\x00\\x5b\\x80\\x1f\\x1e\\x06\\x1c\\xe6\\x6b\\x13\\xae\\xc4\\x4e\\x34\\xe6\\x20\\x2e\\xe3\\x61\\x1f\\x7a\\x46\\xfb\\x07\\xdb\\xe5\\xf0\\x7e\\x14\\xcc\\x0d\\x96\\x07\\x39\\xce\\xc4\\x3e\\xeb\\x83\\x0d\\xc1\\x91\\x41\\x49\\xfe\\xb8\\x31\\xb8\\x38\\xb8\\x31\\xb8\\x2b\\xf8\\x78\\xf0\\x44\\xf0\\xad\\xe0\\xa7\\xc1\\x1f\\x82\\x89\\xa0\\xc1\\x14\\x6c\\xfb\\x9f\\xf4\\xbf\\x74\\x4d\\x33\\x66\\x8e\\x9c\\x01\\x00\\x28\\x73\\x01\\xec\\xe1\\x83\\xd2\\xd5\\x70\\x7e\\xa6\\xb0\\x99\\x74\\x18\\x81\\x50\\x4e\\x14\\xd0\\x08\\x1b\\x0c\\x96\\x00\\x7c\\xd8\\x16\\xdb\\x32\\x25\\x2d\\xc5\\xa5\\xea\\x6a\\x24\\xff\\x44\\x29\\xfc\\xa3\\x71\\x37\\x05\\x6c\\xcf\\xe0\\xa7\\xb8\\x90\\x7d\\xf7\\x23\\x39\\x0e\\x03\\x8b\\x21\\x71\\x29\\x9c\\x87\\xc2\\xa8\\x9d\\xe3\\x79\\x51\\x10\\x24\\xa4\\x12\\xb9\\x91\\x31\\x91\\x17\\xac\\x53\\xa7\\x0d\\x0b\\x2a\\x99\\xbf\\x5b\\x42\\x4e\\x55\\x5e\\xde\\x0b\\x9d\\x4a\\xe3\\x25\\x9f\\x93\\x0f\\xb0\\x45\\x5c\\x7a\\xe1\\xd2\\x38\\x71\\x09\\xf3\\x27\\x42\\xa2\\xc0\\xc6\\x32\\xa0\\x68\\x34\\x1f\\x23\\x8d\\x44\\x03\\x5c\\x0c\\x82\\x60\\xd4\\x20\\x91\\x93\\x78\\x03\\x6f\\x18\\x15\\xe3\\xad\\x18\\xf1\\xf5\\x26\\x5c\\x6e\\xa2\\x78\\x54\\x1f\\xa2\\xc1\\xc5\\xae\\x64\\x4e\\xde\\x64\\x4e\\x1f\\xaa\\x31\\xd8\\xe0\\x84\\xf9\\xf9\\x40\\x35\\xa8\\xdf\\xdc\\x61\\x1c\\xfb\\xa5\\xf4\\xf7\\xaf\\xca\\xf8\\x5f\\x96\\xf9\\xa4\\x6e\\x8d\\x64\\xa5\\xb8\\x14\\x5f\\x1a\\xf3\\xd9\\x67\\x56\\xee\\xa9\\xd3\\x25\\xc6\\x65\\x1b\\xe2\\xd3\\x94\\xb9\\xad\\x66\\x73\\x2b\\x62\\x73\\x07\\xdd\\x57\\xf4\\xb1\\xef\\x9d\\x52\\x73\\xbf\\xc8\\xbe\\x07\\x51\\x7a\\x8e\\x33\\x1e\\x59\\x51\\x1e\\xe0\\x6d\\x6e\\x8e\\xca\\x65\\x32\\xf1\\x58\\x25\\xe4\\x7b\\x11\\x3f\\x32\\x86\\x90\\x5b\\xd0\\xb9\\x47\\xc6\\x74\\x36\\xc1\\x36\\x32\\x26\\x08\\x6d\\x93\\x84\\xb5\\xa4\\x25\\x05\\x09\\xe6\\xbf\\x66\\x39\\xe3\\x4a\\xb9\\x7e\\xa5\\xf1\\xc3\\x98\\x25\\x3a\\x3b\\x43\\x56\\x5c\\x99\\xe8\\x8c\\xef\\x78\\x81\\xaf\\xa7\\x59\\xce\\x7e\\x25\\x93\\x3e\\x68\\x95\\xe5\\xec\\xd8\\x93\\x72\\x96\\x33\\x94\\x9c\\x03\\x77\\x1d\\x9b\\x43\\x69\\xf2\\xbb\\xd4\\x8d\\x7d\\x6f\\xc7\\x64\\x91\\xdd\\x08\\x0b\\x67\\xc5\\x65\\x48\\x4b\\xf3\\xff\\x6b\\xa9\\x67\\xa3\\x40\\x9d\\x82\\x75\\x82\\x56\\xa3\\x46\\x56\\x0d\\x5f\\xae\\x07\\xd9\\x9e\\x2d\\x7c\\x7d\\xc8\\xa2\\x14\\x57\\x4f\\xad\\xb9\\xdf\\xcb\\x07\\x0a\\x69\\x52\\x51\\xec\\x15\\xce\\x92\\x0f\\x66\\x5b\\xf8\\xa2\\x6b\\x48\\x88\\xbc\\xc8\\xbb\\x71\\x10\\xf3\\xb3\\x77\\xcc\\x18\\x76\\xe0\\xf2\\x5a\\xd8\\x60\\xe5\\xbd\\x6f\\xb2\\xf7\\x56\\xb4\\x59\\xdb\\x4a\\x66\\x3f\\xfa\\x0f\\x7c\\xbf\\x1e\\x9a\\x52\\x19\\x46\\x47\\xd7\\x96\\xd7\\xaa\\x05\\x01\\x4b\\xd8\\x20\\xe9\\x75\\x5a\\x58\\x53\\x1d\\xe8\\x87\\xaa\\x91\\x31\\xea\\x80\\x0b\\x2b\\xcd\\xb7\\x59\\xdb\\x64\\x7a\\x6b\\x65\\x6d\\x01\\x13\\xd8\\xbf\\x52\\xa1\\xb6\\xf4\\xd2\\x2b\\xfc\\xee\\xb2\\x4b\\xcb\\xca\\x84\\xa1\\xa5\\x97\\x8f\\x96\\x02\\xf6\\x5d\\xee\\x75\\xe1\\x02\\x37\\xf4\\x82\\x1c\\x13\\xa6\\xec\\x29\\xc0\\x11\\x52\\xf0\\x1b\\x89\\xe7\\x00\\x0e\\x15\\xf0\\x49\\x37\\x2f\\x08\\x6a\\x2c\\x49\\x1a\\x91\\x1b\\x15\\x13\\x90\\x55\\xe4\\x01\\xbf\\x1b\\x35\\xd8\\xa4\\x81\\x05\\xa1\\x78\\x1e\\x0a\\xa6\\x39\\x25\\xb1\\xd4\\x04\\x34\\xa5\\xe8\\x13\\xe7\\xe3\\xdb\\xcf\\x93\\x8f\\xb0\\x45\\xd8\\x4b\\xbe\\x17\\xd6\\x5f\\xba\\x49\\x5c\\xfa\\xfb\\xe2\\xe4\\x9c\\x63\\x6c\\xce\\x61\\xd9\\x9e\\x0d\\x12\\xe5\\x87\\xf0\\x2e\\x3d\\xea\\x11\\x2d\\x50\\xf1\\x9c\\x5a\\xa7\\x86\\x03\\x25\\x1a\\x91\\xd6\\xa0\\xd6\\x80\\xdc\\x20\\xf0\\x2a\\x01\\xa6\\x2c\\xf0\\x58\\x8b\\x60\\x09\\x00\\xeb\\xd2\\xeb\\x7d\\xc9\\xd9\\xd3\\xe9\\xbc\\x93\\x68\\xe5\\x8b\\x50\\x27\\x08\\x3a\\x7d\\x58\\x84\\xf2\\x10\\xe7\\x25\\x0f\\x16\\xf3\\x5f\\x96\\xc6\\x7b\\xe1\\xa0\\x87\\xe4\\xf1\\x86\\xb2\\x4b\\xf8\\x12\\x3e\\xf8\\xfe\\x05\\xb2\\x76\\x05\\xe9\\x7a\\x41\\xc6\\x0f\\xa0\\xc3\\xe2\\x4d\\x0c\\xa6\\x08\\xfb\\xfe\\x28\\x7c\\xff\\x91\\x7d\\xaf\\x63\\x38\\x3f\\x2a\\xf1\\x6f\\x69\\x8e\\xb8\\x16\\xa9\\x81\\x1c\\x17\\xa1\\xd1\\xd1\\x9a\\x1c\\x8c\\x1c\\x82\\x3d\\x37\\x57\\x63\\xb7\\x69\\xb4\\x45\\x79\\x56\\x9b\\x64\\x14\\xdd\\x05\\x46\\xb7\\xb1\\xa4\\x18\\x17\\x69\\x8b\\x46\\xc7\\x72\\xb4\\x51\\x0d\\x9c\\x0f\\x6b\\xde\\xe8\\x98\\xc3\\x6a\\x63\\x4b\\x56\\x82\\xe9\\x72\\x9d\\x0e\\xc9\\xd0\\xbb\\x4f\\xa7\\x7c\\xe5\\x6b\\xd3\\x72\\x54\\x25\\x33\\x25\\x2b\\x21\\x6c\\x38\\xe2\\xcb\\xe7\\x68\\x01\\x8e\\x30\\x4c\\x89\\xd5\\xeb\\x85\\xdf\\x7d\\xb4\\xc0\\x1e\\xd5\\xa4\\x3a\\x62\\xa1\\x7c\\x71\\xcd\\x23\\x2f\\x2e\\x9c\\x12\\xff\\x22\\xd0\\xff\\x2d\\x82\\x47\\xe1\\x1e\\x3d\\x72\\xb0\\x31\\xa7\\xdb\\xe6\\xf7\\x6e\\x22\\x77\\x93\\x97\\x07\\x05\\xa2\\xed\\x1e\\x7f\\x7e\\xce\\x84\\xae\\x42\\x56\\x7c\\xc6\\xbb\\x87\\x16\\xac\\xbf\\xf4\\xc1\\x2b\\x18\\xbd\\x85\\x0b\\x70\\xe7\\x9d\\x3b\\x67\\xbd\\xbb\\x8e\\x7c\\x46\\x9e\\x7f\\x45\\x28\\x7c\\xfd\\x99\\x05\\x1b\\xd9\\xd9\\x07\\x45\\x42\\x7c\\x86\\xcd\\x9b\\xf9\\x2e\\xa1\\x47\\x00\\x5f\\xbf\\x85\\xbd\\xc9\\x45\\xa3\\xa2\\xd5\\x76\\x8c\\x2d\\x1c\\x97\\xa9\\xcf\\xd4\\x6b\\x34\\xee\\x3c\\xb7\\x37\\xc3\\x9e\\xa9\\xd1\\x22\\xde\\x02\\x98\\x68\\xb7\\x58\\xb4\\x9c\\x55\\x67\\xb5\\x65\\xba\\x45\\x2d\\x9d\\xec\\x28\\x2f\\x6e\\xf4\\x62\\x93\\x17\\x50\\x84\\x4e\\xda\\x15\\x4e\\xa5\\xda\\x66\\x61\\x61\\x49\\x07\\xb8\\x50\\x5a\\x4c\\x7e\\xb2\\x1a\\x99\\x12\\x22\\xee\\x65\\xd5\\xe8\\xe4\\x88\\x71\\x50\\x50\\x7c\\xfc\\xab\\x57\\x91\\xaf\\xaf\\xca\\xfe\\x2e\\x6e\\x1a\\x8c\\x5d\\x43\\xf4\\x28\\xe1\\xd9\\x82\\x5d\\x5b\\x02\\x3b\\x1f\\xca\\xbe\\x16\\xbb\\xae\\x0d\\x6c\\x4f\\xa0\\xe7\\xf1\\x5e\\x72\\x35\\xde\\x7b\\xe6\\xb5\\x9e\\x03\\xf1\\x83\\xa4\\x7f\\x55\\xf4\\x1d\\xee\\xb7\\xb8\\x6a\\xdd\\x9d\\xf8\\x0c\\xa9\\x7c\\xf1\\xc3\\xc9\\x14\\xd7\\x40\\x98\\x91\\xec\\x40\\xbb\\x4a\\x68\\x75\\x57\\x5f\\x96\\x51\\x2d\\x04\\x2c\\xbc\\x3b\\x10\\xe0\\xf5\\x7c\\x69\\x4e\\x4e\\x10\\x9e\\x68\\xd5\\xb9\\x39\\xb9\\x23\\x63\\x86\\x1c\\x2b\\x72\\xb6\\xe4\\x68\\x94\\x93\\x03\\x85\\xc3\\xe9\\xf5\\x21\\xe5\\x8d\\xca\\x43\\x0e\\xbb\\x91\\x53\\xd5\\x74\\x84\\x93\\x66\\xa3\\x54\\x8b\\x1a\\x42\\x8d\\xb0\\x4d\\x2e\\x1e\\x24\\x1d\\x97\\xd3\\x15\\xa0\\x84\\xad\\xa6\\x80\\x5f\\x8f\\x8b\\xf1\\x88\\xc8\\xa2\\x37\\xb6\\x3c\\x50\\xf5\\x8f\\xd2\\xf8\\xea\\xfa\\xe3\\x6f\\x87\\xae\\x5b\\x3e\\xf8\\xd6\\xbf\\xce\\xfa\\xa8\\x4b\\x7c\\x63\\xe9\\xbf\\x97\\x16\\x95\\x6e\\x3b\\x32\\xeb\\x4d\\xec\\x11\\xb7\\x91\\x33\\xbf\\x4c\\x7f\\x63\\xef\\xca\\x32\\xdd\\x05\\xdc\\xb5\\x0e\\x5b\\x9f\\xbf\\x6a\\xd9\\xb5\\xe5\\xb3\\x3e\\xdc\\x46\\x2e\\xdd\\x42\\x8e\\x5f\\x10\\x79\\xbe\\x11\\xe7\\xdd\\xbf\\x07\\x25\\xf6\\x5d\\x9b\\xa2\\x6d\\x7c\\x7f\\xe9\\x6f\\x20\\x4b\\x96\\xb2\\x98\\xd0\\xc9\\xc8\\x8c\\xfb\\x21\\x77\\xd4\\xc4\\x61\\x41\\x10\\x03\\x1c\\x56\\x3f\\xa1\\x96\\x40\\x92\\xa0\\xdc\\x8d\\xb1\\x38\\xe8\\x03\\xbb\\x2d\\x9e\\x61\\x7d\\xea\\xce\\xb3\\x3e\\x78\\x42\\xb2\\x8f\\x46\\x43\\xfb\\x18\\x5c\\x06\\x1d\\xaf\\x6a\\xd5\\xa7\\x36\\xf1\\x8d\\xd8\\x49\\xbc\\x00\\xbc\\x74\\x2c\\x62\\x7c\\x1c\\x83\\xa4\\x80\\xec\\x51\\x3d\\x57\\x6a\\x01\\x52\\x3d\\xbe\\xb4\\xdc\\xad\\x66\\x42\\x59\\x90\\xf1\\x50\\xb9\\xde\\x30\\x6b\\x3f\\x41\\x69\\xbf\\x5a\\x6e\\x8f\\x8b\\x2c\\x01\\x5c\\x74\\xa1\\x28\\xa8\\x75\\xa5\\xb7\\xf7\\xb3\\xfa\\x8c\\xb4\\xfd\\x24\\xb9\\x3d\\x47\\x0b\\xa4\\x38\\x0f\\xe3\\x3c\\x68\\x9e\\x77\\x0c\\x9b\\x0f\\xe5\\xf9\\x4c\\x48\\xe9\\x01\\xed\\xbb\\x01\\x4d\\x7f\\x94\\xb5\\x9f\\x22\\xb7\\x47\\x1b\\x94\\xf1\\x81\\xb5\\x63\\xc3\\xf3\\x06\\xb3\\xcc\\xd8\\x93\\xe3\\x8f\\x07\\x59\\x7a\\x1c\\x93\\x05\\xe6\\xb2\\xf6\\x1d\\xf0\\xad\\x28\\x29\\x0d\\x64\\x64\\x30\\x69\\x20\\x67\\x52\\x4e\\x81\\xdd\\xd0\\x4a\\x1a\\xe0\\xe4\\x79\\xb3\\xbc\\xdb\\x41\\x34\\x28\\xda\\x4e\\xb0\\xe9\\x74\\xc5\\xc5\\x3e\\xb7\\xbb\\xac\\xd4\\x26\\xb8\\x90\\xcb\\xdf\\x10\\x73\\x39\\x4d\\x0e\\x50\\x4f\\x72\\x69\\xc6\\xd1\\xb7\\xcb\\xf0\\x92\\x32\\xdc\\x58\\x86\\xeb\\xcb\\x30\\x2a\\xa3\\xe8\\x4f\\xb9\\x06\\xcb\\xc3\\xd7\\xa2\\x52\\xc8\\xd1\\x31\\x72\\x94\\xb7\\x9c\\x42\\x2a\\xe2\\x95\\x38\\x15\\xcd\\x60\\xe2\\x0d\\x74\\xc2\\xa9\\x04\\x67\\x9d\\xb1\\xcc\\x10\\x59\\x79\\x21\\xe0\\x87\\xe3\\xd6\\xef\\x73\\x71\\xe6\\x01\\x19\\xd8\\xdc\\xfd\\xc1\\x12\\x8d\\xd1\\x45\\x2e\\xba\\x85\\xa6\\x67\\x66\\x3f\\x74\\xb8\\xef\\xba\\xd7\\x37\\xc6\\x66\\x74\\xb9\\xed\\xea\\x7b\\xaa\\xb9\\x61\\xc2\\x80\\x95\\x73\\x83\\x77\\xf9\\xc7\\x92\\x47\\x16\\x4f\\xda\\x7d\\xf3\\xbc\\x45\\xe3\\x4c\\x9b\\x67\\xfd\\xf5\\xa9\\x65\\xb8\\xf0\\xf5\\xb1\\x2f\\x2c\\x27\\x3f\\xce\\xfe\\xdb\\xc9\\x23\\xd1\\xb5\\xdb\\x99\\xce\\xfc\\x2e\\xac\\xf9\\x41\\xd0\\xf3\\x32\\xe0\\x44\\x8c\\x8f\\xd6\\x64\\xf9\\xd5\\xbc\\x33\\x5f\\x57\\xc4\\xeb\\xf8\\x52\\x87\\xd3\\x19\\x74\\x3a\\x3c\\x6a\\x7f\\x20\\x00\\x53\\x0c\\x04\\x90\\x27\\x2b\\x33\\xd7\\x08\\x73\\xb4\\xba\\x8c\\x4e\\x94\\x09\\x73\\xc5\\xae\\x61\\xb1\\x61\\x4b\\x4a\\x29\\x55\\x2b\\x57\\x92\\x42\\xc8\\x33\\xb4\\x26\\xb3\\x81\\x66\\xb4\\xce\\x66\\x20\\x9f\\x18\\x56\\xe9\\x8b\\x63\\x39\\x41\\x11\\x2b\\x8f\\xa4\\x92\\x80\\x63\\x58\\xc5\\x7c\\x1d\\x4e\\x96\\xb6\\xf0\\x45\\x0a\\xe0\\x27\\x9f\\xf1\\xe4\\x67\\x95\\x83\\x26\\xd7\\xce\\x58\\x4f\\xbe\\xf9\\x76\\xdc\\x7d\\x35\\x92\\x49\\xea\\x05\\x9a\\xbf\\xeb\\x3a\\xfc\\xd4\\x2b\\xd5\\xb7\\x57\\xdd\\x5c\\x7b\\xcb\\xd6\\x3b\\x97\\x14\\xe1\\xbc\\x41\\xe2\\xa9\\x43\\x9b\\xaf\\x5a\\x36\\xa2\\x83\\xde\\xf3\\xd8\\xfc\\x8f\\xc9\\xe5\\xf6\\x81\\x09\\x01\\x72\\xa7\\x78\\x37\\xfe\\xe0\\x0d\\xf2\\x63\\xdc\\x18\\x28\\xbb\\x63\\xc5\\xf5\\x73\\x5e\\xce\\x7f\\xaf\\xe7\\x30\\x46\\xd3\\xa6\\xc2\\x9c\\xdf\\x62\\xf5\\x2a\\x3b\\x47\\xf3\\xf4\\x06\\xad\\x49\\xc4\\x54\\xf6\\xe2\\xcd\\x6a\\x8d\\xc6\\xa2\\xdd\\x25\\x62\\xd1\\xa4\\xf7\\x68\\xd4\\x18\\x99\\xee\\xb5\\x60\\x2a\\x6a\\x85\\x42\\xf5\\xe5\\xe1\\xa6\\xb6\\xf1\\xe6\\xf4\\x2e\\x98\\x86\\x76\\xd3\\xac\\xe2\\x58\\x52\\x79\\x6b\\x22\\x53\\x71\\xde\\x40\\x95\\x3e\\xaf\\x3f\\xee\\x81\\x2b\\xe3\\x8f\\xad\\x1c\\x44\\x3e\\xe9\\x77\\xa3\\xd0\\x21\\xfe\\x7c\\xed\\x87\\xa5\\xe3\\x76\\x71\\x0b\\x2f\\x5d\\xfe\\xf2\\x3f\\x67\\xdf\\x67\\xb6\\x0a\\x14\\x49\\x7c\\x27\\x7c\\x0e\\xeb\\x6e\\x40\\xf9\\x34\\x93\\x88\\xd7\\x69\\xc9\\x91\\x72\\x73\\xb3\\x78\\xde\\xa9\\xcb\\x72\\x66\\x15\\xf8\\x72\\xf3\\xf3\\xf2\\x41\\x15\\xcd\\x41\\x79\\x38\\x13\\x74\\xd2\\x4c\\xe7\\x8f\\x05\\xb8\\xb1\\x00\\x27\\x51\\x09\\xd6\\xb3\\x15\\xef\\xb0\\xd0\\xba\\x5a\\xb5\\xa1\\x54\\xcd\\xda\\x80\\x5c\\xb4\\x16\\x17\\xb6\\xc3\\x85\\x2c\\x56\\x1f\\x79\\xf3\\x0b\\xaa\\xcd\\x7e\\x6a\\xd0\\xe5\\xca\\x56\\xdf\\xd7\\xb9\\xef\\x92\\x45\\x0d\\x25\\x33\\xf1\\xba\\xfe\\xae\\x62\\x3d\\xc6\\x53\\x07\\x92\\x03\\xe4\\xeb\\x0f\\xc8\\x25\\xae\\xc3\\xaf\\x05\\x7c\\xaf\\xac\\x27\\xde\\x7e\\x6c\\xe4\\xee\\x21\\x15\\xd7\\x4e\\x5d\\x3d\\xf4\\xa6\\x35\\x42\\x13\\xcd\\xe9\\x4d\\x5e\\xdf\\x78\\x7a\\x4a\\x82\\x9c\\xf9\\xe1\\x45\\xfc\\xdc\\x36\\xdc\\x7e\\xd7\\x71\\x59\\x9f\\x56\\x6a\\x8a\\xa3\\x42\\x34\\x22\\x5a\\x61\\xc8\\xd3\\xe6\\xf9\\x05\\xc1\\xe5\\xf2\\x6b\\xb3\\x81\\x1f\\x68\\x8b\\x8b\\x0c\\x79\\x3c\\xf2\\xe6\\x79\\x07\\xc7\\x32\\xdc\\x79\\x79\\xc8\\x6e\\x77\\x0f\\x8e\\xd9\\xcd\\x2a\\x44\\x33\\x00\\xee\\x2f\\xc6\\x4d\\x57\\x56\\x32\\x46\\xb5\\xd6\\xda\\x96\\x58\\x41\\xb9\\x94\\x10\\x0b\\x83\\xa5\\x95\\x00\\x5d\\xc9\\x02\\xb6\\xf5\\xb8\\x55\\x0c\\x91\\x9c\\xc9\\x55\\xce\\x82\\x8a\\xdf\\x8c\\x6d\\xed\\xb1\\x64\\xfc\\xb9\\x3b\\xf6\\x7f\\xf8\\xc0\\x4e\\x3c\\xec\\xfa\\x2f\\xce\\xdc\\xfe\\x7c\\xed\\x73\\x5d\\xd7\\x5c\\x35\\x72\\xfb\\x6d\\x19\\xbb\\x37\\x0c\\x68\\x78\\xa4\\xa1\\xd3\\x1d\\x23\\x87\\xec\\x5b\\xb3\\x60\\xab\\x99\\xcb\\x9c\\xd7\\xb8\\xee\\xae\\x49\\x53\\x87\\xcc\\xed\\xde\\xa9\\x47\\x9f\\xc7\\xbd\\x7d\\xbb\\x76\\xec\\x07\\x73\\xaa\\x24\\x37\\x08\\x51\\x56\\x63\\xa4\\x32\\xea\\xb2\\xe9\\xf5\\x48\\x74\\x7b\\xdd\\xbe\\x6c\\x84\\x0a\\xf2\\x72\\xbc\\xf9\\xde\\x41\\xb1\\x7c\\x6c\\xa2\\x08\\xcf\\xd2\\xc5\\xa5\\xb0\\x5b\\x71\\xc9\\x56\\x81\\xa4\\x94\\xca\\x44\\x24\\xd1\\xf8\\xf3\\x64\\x4a\\x33\\x44\\x13\\x7e\\x79\\x23\\x42\\x34\\x9f\\x9c\\x21\\x17\\xd6\\x07\\x06\\xcd\\xbc\\xbf\\xf9\\xba\\xde\\x3b\\xc2\\x39\\xd7\\xef\\x9a\\x3d\\x3f\\x8a\\x87\\xe2\\x55\\xb8\\x77\\x15\\x79\\xcd\\x2f\\x9e\\x7a\\x96\\x5c\\x22\\x6f\\x91\\xf1\\xc1\\xf6\\x25\\xf9\\xe5\\x73\\x87\\x8d\\x7c\\xb2\\xeb\\xe8\\xfa\\x1e\\x59\\x25\\x9d\\x8b\\x72\\x06\\xcc\\x1a\\x74\\x0a\\x9f\\xc5\\xed\\x25\\xe9\\x59\\xb9\\xae\\x04\\xab\\xd1\\x97\\x8b\\xae\\x89\\x96\\x39\\xec\\x76\\x93\\x1a\\xf4\\x08\\xa3\\xc9\\x04\\x02\\x93\\x37\\xcf\\x6d\\xca\\x36\\x48\\x5a\\x63\\xb6\\xb6\\x31\\xc6\\x0b\\xd9\\x66\\xb3\\xc9\\x61\\x37\\x19\\x4d\\x0e\\x51\\xf0\\xc0\\x99\\x0d\\xca\\xd9\\x3c\\x68\\xb6\\x91\\xe4\\x91\\x65\\xeb\\x9c\\xca\\x4b\\x93\\x0a\\x89\\x6c\\x53\\xa1\\xb0\\xba\\xaa\\xd0\\x4b\\xf3\\xf9\\xca\\x39\\x49\\x84\\xf5\\x46\\xd5\\x3b\\xe4\\xeb\\x57\\x59\\xc5\\xe0\\x59\\xe4\\x8b\\x07\\x8c\\x22\\x36\\x68\\x54\\x02\\xab\\xd6\\xc0\\x57\\x66\\x4e\\xcb\\xb9\\xf4\\x3a\\x7f\\xb9\\xb9\\x78\\xe9\\x9e\\xb9\\xb4\\xd0\\x5d\\xf7\\x4e\\x75\\x25\\x81\\x48\\xad\\x6f\\xe2\\xb8\\xdb\\x98\\x4c\\x35\\x15\\xe8\\x71\\x7f\\x58\\x67\\x23\\x72\\x02\\x6d\\xed\\x16\\xf5\\xb9\\xad\\xd9\\x8e\\x6c\\xce\\xa1\\xe5\\xb4\\x79\\xb9\\x6e\\x5b\\x43\\xcc\\xed\\x36\\x21\\x95\\x69\\x10\\xad\\x6d\\xe0\\x1a\\x04\\xe4\\xa6\\x21\\xaf\\x0d\\xca\\x04\\xaf\\x48\\x99\\x6c\\xb1\\x6b\\xb1\\x6c\\x0f\\x72\\xe3\\x1a\\x5e\\xa9\\x28\\x41\\x4d\\x37\\x5e\\x6a\\xa8\\xf9\\x14\\x4f\\xbb\\xfe\\xbe\\x73\\xb7\\x3f\\xfa\\xf4\\xc4\\x7b\\xcf\\x5e\\x3b\\x66\\x69\\x90\\xdc\\xea\\xc1\\xfd\\x47\\x2f\\x0e\\xe2\\x05\\xb9\\xe2\\x29\\xd2\\xfe\\x11\\xd2\\x95\\x9c\\x5d\\x77\\xe9\\xfc\\xc3\\xf8\\x09\\x9c\\xbd\\xf6\\xf7\\xf7\\xbe\\xfe\\xcf\\x6d\\x63\\xbf\\x15\\xa6\\x9f\\xfd\\xf7\\xfa\\xa1\\xdf\\xd1\\x3a\\xb7\\x70\\x70\\x0d\\x40\\x37\\xf4\\xa8\\x7b\\xb4\\x04\\x74\\x3e\\xa3\\x41\\xa7\\xe6\\x34\\x26\\xce\\x01\\x2b\\xfa\\xa3\\x11\\xbf\\x6d\\xc4\\xf7\\x1a\\x71\\x85\\x11\\xe7\\x19\\x31\\x32\\xe2\\xc7\\x8d\\x78\\x89\\x11\\x97\\x1b\\xb1\\x62\\x90\\x99\\x31\\x23\\x28\\xa7\\x61\\x4a\\x86\\x39\\xfb\\xed\\x2e\\x2f\\x45\\x63\\x26\\xee\\xe0\\x51\\x25\\xe4\\x5d\\xad\\x45\\xf7\\x00\\x76\\x3f\\x24\\x6d\\xbe\\xa6\\xa3\\xb9\\x47\\x61\\xb4\\x82\\x1f\\x78\\xf9\\xe1\\x7c\\xf9\\x9c\\xf9\\x95\\xdc\\xfe\\x3a\\xd4\\x2f\\x5a\\xa8\\xc5\\x34\\x44\\x5e\\xc5\\xa9\\x78\\x09\\x44\\x73\\xd0\\x52\\x34\\x1a\\x83\\x4a\\x4b\\xb9\\xbd\\x46\\x40\\x0e\\xb5\\x68\\x02\\x80\\xca\\x0d\\x4c\\xd8\\x0c\\xd7\\x87\\x2c\\xc9\\xfa\\x42\\x4a\\x5d\\x68\\x65\\xaf\\x59\\x32\\x4d\\x5e\\x4e\\x25\\x46\\x53\\xda\\x72\\xff\\x3c\\xbe\\xbf\\x07\\xf9\\xf2\\x0c\\xce\\x1c\\x8f\\x7f\\xc3\\xed\\x48\\x09\\x76\\xe0\\xa3\\x33\\xc8\\x53\\x40\\xc0\\x7e\\xe5\\x34\\x24\\x14\\xa7\\xf9\\x6c\\x13\\x7b\\x60\\xe3\\xbe\\x97\\x30\\xec\\x58\\x38\\xea\\xb6\\x20\\x8d\\xe0\\xc4\\xc0\\xa2\\x33\\x80\\x72\\xba\\x6c\\xc6\\xc6\\x98\\x8d\\x3a\\x96\\x99\\x33\\xb0\\xa2\\xa0\\xb6\\x2e\\xc5\\x44\\x43\\xc3\\x38\\xd0\\x4b\\xa9\\x5c\\x8e\\xa9\\x94\\xc4\\x0a\\x69\\x3b\\x5d\\xfc\\xf7\\xe4\\x42\\x07\\xbd\\xfd\\xa6\\x00\\xf9\\x95\\xbc\\xc9\\x3d\\x68\\x2f\\x6c\\x1f\\x2e\\x0f\\xba\\xaf\\x1d\\x7f\\xc7\\xe6\\x3c\\xae\\xd3\\x66\\x57\\xd9\\x5b\\x75\\xe4\\x2a\\xfe\\xf2\\xfc\\x5b\\x3a\\x5a\\x9e\\xcb\\xd9\\x73\\x46\\xf1\\x81\\x21\\xc3\\x84\\x27\\x59\\x0d\\x93\\x71\\xd1\\x1a\\x0e\\xf0\\x03\\x65\\x65\\xb9\\x32\\x32\\x72\\x34\\x26\\x1d\\x4d\\x8d\\xab\\xd3\\xeb\\xb3\\x9d\\x26\\x9b\\x9a\\xcb\\xe4\\x45\\x97\\x01\\xc8\\xb9\\xce\\x23\\xda\\x1a\\x63\\xa2\\x13\\xd1\\xcd\\x7a\\x3c\\x07\\x4f\\xcf\\x51\\x74\\x17\\x99\\x31\\x53\\xb2\\x9e\\xac\\x56\\x9e\\x0a\\x70\\x48\\xab\\x1f\\x06\\xc4\\xdd\\x27\\x97\\xf2\\x53\\x51\\xe5\\x26\\xad\\xd4\\x2a\\xcc\\x86\\x3b\\xaf\\x31\\xf2\\xb3\\x77\\xd7\\x36\\x98\\x24\\x73\\x1f\\xf2\\x15\\xf6\\xe1\\xcc\\x39\\x86\\x0d\\x63\\x76\\xd0\\xfc\\x45\\xbb\\x4d\\x4e\\x6e\\x7a\\xef\\x53\\x15\\x25\\x37\\x91\\x5b\\xc5\\xcf\\xe2\\xbb\\x7b\\x55\\x3c\\xf0\\xf0\\x06\\xae\\xeb\\xe5\\x63\\xbd\\x76\\x58\\xe9\\xbe\\x82\\xa4\\x23\\x8c\\x64\\xbc\\xa8\\x6f\\xb4\\x54\\xd0\\xe8\\x0d\\xc8\\x64\\x34\\x22\\x0d\\x6f\\x31\\xeb\\x91\\xc1\\x61\\x94\\x4c\\xc8\\x82\\xa7\\x5b\\xf0\\x28\\x0b\\x6e\\xb4\\x60\\xf8\\xfd\\x6d\\x0b\\xde\\x6f\\xc1\\x9b\\x2c\\x49\\xac\\x9a\\xc9\\x4e\\x72\\x38\\xbd\\x78\\x2a\\x60\\x16\\xcd\\x39\\xc9\\x0e\\x2a\\x47\\xb3\\x8d\\xe1\\xaf\\x37\\x2e\\x8b\\x1a\\x71\\xbe\\x25\\x41\\x5e\\x21\\xff\\x3e\\x88\\x73\\x7f\\x78\\xfc\\x83\\x77\\xe7\\x96\\xf6\\xaf\\xee\\xfc\\x1c\\x89\\x12\\xba\\x8a\\x94\\xe6\\x4d\\xe7\\x7f\\x85\\xb3\\x58\\x89\\x7a\\x47\\xfd\\x6e\\xbb\\x50\\x54\\x51\\xa4\\xb6\\x17\\x88\\x06\\xa0\\xda\\x21\\x14\\xf6\\x6b\\xd4\\x6a\\x4d\\x43\\x4c\\xad\\x76\\x56\\xe2\\x8a\\xca\\x8a\\x41\\xb1\\x4a\\xec\\x54\\x28\\xa0\\x25\\xc5\\xeb\\x93\\x22\\x7d\\x4a\\xbb\\x67\\x65\\x51\\x68\\x55\\x20\\x56\\xdc\\xdd\\x45\\x3d\\x8b\\x52\\xf4\\x90\\x92\\xef\\x82\\x48\\x35\\xfb\\xac\\xc7\\x46\\x5a\\x9f\\x80\\xff\\xb5\\xe0\\x83\\x63\\x75\\xd3\\xa6\\xfb\\x9f\\x7e\\x63\\xf2\\xb0\\x95\\xb3\\xae\\x6f\\x7f\\xef\\x8e\\xdc\\xb2\\xa6\\xe5\\x0f\\x6d\\xbe\\x05\\xa3\\x7d\\x8b\\xb7\\xdd\\xb7\\x93\\x33\\x1f\\xe8\\xdc\\x3f\\x20\\x9e\\x7a\\x32\\x63\\x46\\x53\\xa8\\x8b\\x5f\\x7b\\xc2\\x39\\x70\\xd9\\xe8\\x3e\\xfd\\x0a\\x7d\\xd1\\xa6\\xae\\xbb\\x0f\\x8f\\x2a\\xee\\x5e\\x1c\\xee\\x96\\x57\\x7c\\xc7\\xac\\xc5\\x7f\\xbb\\xcd\\xcd\\x69\\xe6\\x8c\\x1c\\xb3\\xd4\\xad\\xc6\\xe2\\xb3\\xa8\\x55\\x9d\\x4b\\x34\\x98\\x9d\\xa7\\x6e\\x89\\x6f\\xc5\\x97\\x61\\xe6\\x01\\xa0\\x9d\\xe5\\x01\\xbb\\xdd\\x27\\x88\\x2e\\x9f\\x41\\xf4\\x65\\x09\\xd6\\x42\\x6b\\x91\\x23\\xd3\\xae\\xc1\\x7e\\x5e\\x2b\\x3a\\xf2\\x40\\xce\\xc9\\x73\\xda\\x51\\x80\\xd7\\x5a\\xb4\\x0d\\x31\\x8b\\x49\\xa6\\x9e\\xcc\\xf6\\xa2\\x24\\xc2\\x72\\xa5\\xf4\\x19\\x85\\x7a\\x2a\\x8c\\x00\\xe4\\x39\\x6f\\x67\\xae\\x9e\\x12\\x1f\\x1a\\xfa\\xe0\\x95\\x8b\\xf6\\x50\\xef\\x62\\x55\\xaa\\x78\\x2d\\x37\\x33\\xc3\\x3f\\x73\\x34\\xf9\\xc7\\xf0\\x81\\x5d\\x33\\xdc\\x8d\\x2b\\xdc\\x85\\x39\\xd3\\x2a\\x85\\x9b\\xfc\\x5f\\xdf\\x28\\x0d\\xcf\\xae\\x76\\xe6\\x15\\xcc\\x09\\xdf\\xb4\\x48\\x3f\\x85\\x6f\\x6e\\x7e\\x9e\\x6c\\x39\\xf3\\xfa\\x3b\\xe7\\x16\\xdd\\x92\\x61\\x78\\xd9\\x60\\x3e\\x1e\\x3f\\xed\\xcd\\x1c\\xa1\\xe5\\x8f\\x6a\\x2d\\x0b\\x67\\x75\\xee\\xc0\\x15\\x33\\x59\\xee\\x1d\\xe0\\x07\\x3b\\x84\\x06\\x56\\xa3\\x1f\\x64\\x0a\\xbb\\xc9\\x64\\xf4\\xf0\\x7c\\xae\\xc1\\x68\\xcc\\x31\\x1a\\x3c\\x76\\x87\\x35\\x43\\x95\\xd1\\x10\\x33\\xe9\\x11\\xd0\\x53\\x2b\\x15\\x55\\x61\\x2e\\xa6\\x5c\\x46\\x26\\x52\\x32\\x85\\x9c\\x11\\x35\\x9c\\xd2\\xe7\\x15\\x46\\x20\\x27\\x47\\x4e\\x1e\\x00\\x9b\\x15\\xb9\\x14\\x61\\x8d\\x59\\x69\\x4e\\xff\\xed\\xd7\\x95\\xbf\\xdc\\x35\\x79\\x55\\xb9\\x60\\xbd\\x8a\\x7c\\xf8\\x62\\x15\\x76\\x7f\\xf8\\x46\\x5d\\x28\\x70\\x53\\xd7\\xe6\\xbb\\xc7\\x0a\\x0d\\xbf\\x7d\\xf2\\x24\\x79\\xf7\\xa1\\x5e\\x5d\\x67\\x93\\xa1\\xfc\\xf7\\x58\\x87\\x12\\x2f\\x90\\xc7\\xc9\\x17\\x35\\x9d\\xb1\\xf4\\xda\\x2d\\xeb\\xe8\\x5e\\xf4\\x07\\x7e\\xdb\\x09\\xe0\\xf6\\xa1\\x8a\\xa8\\x4b\\x9b\\x9b\\x61\\xb5\\xe6\\x72\\x05\\x9c\\xdf\\x90\\x85\\xec\\x48\\xa4\\x70\\x4e\\xf7\\x2b\\x74\\xbf\\xdc\\xda\\x2a\\x85\\x75\\x4b\\x11\\x15\\x19\\xc1\\xf8\\x24\\x82\\xb5\\xc3\\x0c\\xc3\\x40\\x7c\\xe6\\xbe\\xfc\\xf2\\xc6\\xfb\\x1b\\xa7\\xf7\\x58\\x76\\x43\\xcf\\x31\\x9b\\xdb\\xcf\\x1e\\xd9\\xe9\\x81\\x1d\\x95\\x79\\xa5\\x63\\x56\\x1e\\xdb\\x36\\xf3\\xe8\\xf7\\x42\\xc3\\x3d\\x1b\\xa6\\x35\\xde\\x71\\xa2\\xdb\\x90\\x6b\\x4a\\x2d\\x85\\x9d\\xaf\\xed\\xbe\\xff\\xde\\xd1\\x1d\\x7a\\x79\\xf3\\x4a\\x8b\\x7c\\x15\\x3b\\x16\\x2d\\xc1\\x81\\x7f\\x2c\\x50\\x6a\\xa2\\x8a\\x9b\\x00\\x57\\x64\\x6b\\x57\\x5e\\x86\\xc1\\x69\\xca\\xe1\\x79\\x93\\x81\\xd7\\x78\\x35\\xf9\\x6a\\x40\\x10\\x10\\xfd\\x81\\x5b\\x21\\x67\\x45\\x3e\\x36\\xe7\\xa7\\x64\\xb4\\xd6\\xc9\\xd1\\x2a\\x2b\\x44\\xba\\xe5\\x9d\\x71\\x01\\xc5\\x84\\x42\\x15\\xbb\\x46\\x28\\x64\\x61\\xdd\\x0a\\xfc\\x9c\\xfd\\xa3\\xdf\\x46\\xbf\\x8c\\x7d\\xcf\\x70\\x7d\\xfd\\x2b\\x9e\\xc6\\x23\\xb7\\x92\\xf3\\xf7\\xef\\xdc\\xe9\\xed\\x35\\x7e\\xd7\\xd4\\xf0\\x14\\xfb\\x67\\xa7\\xd7\\x92\\x27\\x9b\\x8e\\x4b\\xc2\\x96\\x3b\\x8f\\x92\\x6f\\xb6\\x3f\\xf7\\xcf\\x5f\\xe7\\xdf\\xd8\\x75\\xf9\\x91\\xa1\\xf3\\x56\\x30\\x7c\\xae\\x05\\x39\\xec\\x6e\\x46\\x0f\\xfb\\x45\\x4b\\x0c\\x99\\x99\\xea\\x6c\\x75\\x8e\\xce\\xa4\\xf5\\x38\\xb3\\x9c\\xa6\\x86\\x98\\xd3\\xa9\\xcd\\x52\\x65\\x81\\xd4\\x45\\xd1\\x37\\x9a\\x83\\xf3\\x72\\xb0\\x39\\x07\\xa3\\x1c\\xa6\\x9d\\x04\\x5b\\x55\\x11\\x49\\xd3\\xcd\\xe5\\x3b\\x0f\\x19\\x77\\xbd\\x57\\xe2\\x2e\\x8e\\x0c\\xda\\x9c\\x55\\x98\\x3d\\xbe\\x8a\\xbb\\xd5\\x4f\\xbe\\x9b\\xd6\\x06\\x63\\x5d\\xc6\\x97\\xf5\\x96\\x3f\\xc2\\x53\\x2c\\xeb\\x61\\xac\\x56\\x4b\\xf7\\x68\\x01\\x72\\xb9\\xec\\x6a\\x03\\x6f\\x37\\xd8\\x33\\x33\\x9c\\x16\\x2c\\xb9\\x2c\\x12\\xad\\xb7\\xe9\\xd2\\x22\\x0a\\x6b\\x7d\\x26\\x36\\x65\\xca\\x94\\x3a\\x14\\xaa\\x4f\\x93\\x0f\\x6b\\xd3\\xa4\\x14\\xb9\\x16\\x56\\x9e\\x45\\x21\\x79\\x42\\xf2\\x6c\\xe1\\x59\\xa6\\xc1\\xd7\\xe0\\x40\\x29\\xce\\x09\\x6c\\x21\\xff\\x3a\\xfa\\xe6\\xfb\\x86\\x39\\xc0\\xcc\\x4e\\xf4\\xea\\x37\\x70\\x04\\xd7\\x78\\xff\\xfa\\xc5\\x77\\xff\\x42\\x56\\xbc\\x78\\x78\\x7f\\xcf\\x81\\xdc\\xd5\\x4c\\x26\\x8f\\x92\\xa1\\xe2\\x58\\x61\\x30\\xe8\\x42\\x79\\xa8\\x29\\x1a\\x56\\xa9\\xb3\\x5c\\x26\\x97\\x9a\\xb7\\xe5\\xe6\\xf2\\x36\\x3d\\xaf\\xcf\\xf7\\xba\\x4c\\xe6\\xc1\\x31\\x93\\x39\\xdb\\xa9\\x71\\x0e\\x8a\\x49\\x1a\\xa7\\xda\\x83\\x32\\x07\\xcb\\xe7\\xa8\\x31\\x1f\\xd7\\xe7\\xcb\\x80\\x32\\x8e\\xd2\\x92\\xd1\\xb3\\x3c\\x4d\\x46\\x49\\xaf\\xc7\\x64\\x46\\x22\\xef\\x93\\x8b\\xab\\xfa\\x55\\xcc\\xe8\\xe9\\xb2\\x81\\x0e\\x04\\x72\\x56\\x81\\xa5\\x4a\\xe0\\xf6\\x3c\\x4b\\x76\\x93\\xd7\\x1a\\xbe\\x1f\\xf8\\xf4\\xe7\\xb8\\x00\\xdb\\x8c\\x37\\xef\\x1a\\x31\\x7c\\xe2\\x00\\x5c\\x57\\xd7\\xc7\\x35\\x11\\x4f\\x10\\x1a\\xdf\\x7d\\x82\\x3c\\x44\\x96\\x08\\x64\\x12\\xde\\xaa\\xfe\\xf5\\x55\\x9c\\x89\\x63\\x65\\x07\\xb3\\xc9\\x77\\x2f\\xcc\\x59\\x23\\x71\\x2e\\x7c\\xdb\\xbe\\xe9\\x73\\xe3\\xdf\\x14\\xe0\\x4b\\x1f\\x03\\xaf\\xec\\x0f\\x74\\xe1\\x4d\\xa1\\x11\\x79\\xd0\\xf0\\x68\\xd8\\x2a\\x6a\\x0d\\xc0\\x67\\x74\\xba\\x4c\\x0b\\x30\\xed\\x6c\\xb3\\xc5\\x92\\x65\\xb3\\xba\\x04\\x78\\x6a\\x15\\x2d\\x1a\\xbd\\xd9\\xc2\\xeb\\x40\\xf7\\x31\\x21\\x17\\x2d\\x26\\xb5\\x2b\\x1b\\x47\\xb3\\x53\\x08\\x1d\\xae\\x77\\xc9\\x73\\x68\\x29\\x04\\xa7\\x70\\x77\\x59\\xad\\xcb\\xc1\\xb9\\x98\\xe5\\x2a\\x04\\xb6\\xc8\\xac\\xa1\\x85\\x8c\\xc9\\x47\\x6a\\x70\\x65\\xac\\xa9\\x6f\\x71\\x46\\x17\\xc7\\x19\\x1c\\x26\\x3c\\x21\\x5f\\xed\\xf1\\x77\\x21\\xef\\x92\\x37\\xb8\\x71\\xbd\\x73\\x4b\\xcb\\xfd\\xc5\\x41\\xc3\\x20\\xa1\\xb1\\xe7\\x03\\xbb\\x46\\xcc\\xcf\\xc1\\x1d\\xe3\\x03\\x2f\\xbf\\xc5\\xdd\\xd8\\x75\\x1a\\x89\\xf2\\x9d\\xff\\x35\\x79\\x62\\xb1\\xf9\\x05\\x0f\\x8d\\xd7\\x25\\x43\\x25\\xbd\\x58\\x07\\x73\\x98\\x10\\xad\\x41\\x3a\\x8f\\x3e\\x13\\x48\\x9a\\xdb\\x2d\\xea\\x0d\\x76\\x9b\\xc1\\x26\\x65\\x49\\xd9\\x0e\\x21\\x53\\x65\\xb5\\xe9\\x8c\\x28\\xd3\\x08\\x47\\xd2\\xe8\\xd4\\x1b\\x3c\\x1e\\xb7\\x5d\\x94\\x78\\x1b\\x45\\xa4\\x51\\xd9\\x58\\x36\\x43\\xbd\\x1c\\x62\\x15\\x2c\\x91\\x02\\x7b\\x2b\\x7a\\x92\\x4c\\xf5\\x2c\\x67\\x31\\xec\\xcc\\x31\\xfe\\xce\\x51\\x82\\x57\\x90\\x2a\\x9c\\xe5\\x82\\x8f\\x9e\\xe3\\xe7\\xf5\\xca\\x98\\x83\\x6d\\xf3\\x7d\\x1b\\x7f\\x7d\\xb5\\x81\\xc4\\x1b\\x48\\x37\\xd7\\xf5\\xd8\\x36\\x5d\\xff\\xf6\\x67\\x18\\xef\\xc7\\xed\\xe7\\xcf\\xe3\\x46\\xc5\\x37\\x1d\\x7a\\x6d\\x24\\x47\\xa6\\xe0\\xad\\x56\\x3c\\xbf\\xfb\\x3c\\x4e\\x15\\x7f\\xb2\\x67\\xd1\\xdb\\x82\\xb0\\x56\\x96\\xe7\\x22\\x89\\x6f\\xa5\\x89\\x40\\xf3\\x4a\\xd1\\x90\\x68\\xd0\\x5e\\x52\\x52\\x5c\\x9c\\xab\\xe1\\xdd\\x2a\\x83\\xcf\\x6d\\x70\\xb7\\x2b\\x2b\\x0a\\x14\\x17\\x6b\\xf9\\x80\\x2b\\x00\\x1c\\xc7\\xe5\\xd4\\xe4\\xe6\\xe4\\x0e\\x8a\\xe5\\x68\\xcd\\x8a\\xe4\\x9e\\x96\\xae\\xda\\xca\\xf4\\xa6\\xd6\\x26\\x44\\x16\\xdb\\x99\\x34\\xa1\\x17\\x46\\x9c\\xd6\\x14\\xe9\\x96\\xeb\\x9b\\x58\\x0b\\x22\\x2e\\x41\\xa9\\x1f\\x47\\xe3\\xfe\\x24\\xfe\\x58\\xdf\\x4e\\x83\\x6f\\xec\\x76\\xb4\\xe6\\xc5\\xf3\\x2b\\x7f\\xb8\\x77\\xf1\\xd6\\x6c\\x61\\x1e\\x21\\x8f\\x9d\\xb8\\x13\\xe7\\x9d\\xd0\\x91\\x9f\\x7a\\xdb\\xfa\\xf5\\xd8\\x19\\xad\\xc4\\x7c\\x99\\x09\\x8f\\x6f\\x98\\x30\\x1b\\xe3\\x91\\x7f\\x8b\\x1c\\xcf\\x4a\\xa0\\x27\\xf6\\x90\\xa7\\x1f\\x5b\\xb2\\x86\\xfc\\xf2\\xf1\\xe9\\x67\\x71\\xe5\\x31\\xdb\\xb1\\x10\\x79\\x2e\\xd6\\x65\\xea\\x34\\x5c\\xfc\\xd9\\xdb\\x5d\\x90\\x6c\\x9f\\xe1\\x45\\x71\\x4d\\xf2\\xee\\x05\\x4d\\x7e\\x0d\\xc9\\x16\\x26\\x7a\\xf5\\xc2\\x61\\xcb\\x32\\x8b\\x49\\xb9\\x79\\x61\\xa6\\x96\\x16\\x1b\\x0d\\xeb\\x33\\x57\\xb1\\x65\\xfd\\x84\\x94\\x5e\\xd4\\x44\\xc3\\xe1\\xac\\x1b\\xb2\\xdc\\x8a\\x85\\x26\\x69\\x97\\x62\\xbc\\x9d\\xda\\x81\\x28\\x6f\\x67\\x76\\xa6\\x7f\\x2a\\x76\\x29\\x37\\xf4\\x70\\x9f\\x75\\x67\\xab\\xd0\\x15\\x76\\x20\\x66\\x37\\x9a\\xab\\xb4\\x7f\\x51\\xb1\\x1b\\xc1\\x1b\\x70\\xc6\\x93\\x19\\x1e\\xf9\\x05\\xc9\\xf6\\x6c\\xaf\\x58\\xfb\\x85\\x8a\\x5d\\xea\\x53\\xa5\\x7d\\x19\\xb4\\x2f\\xfb\\xa6\\xac\\xc2\\xdd\\xd2\\x1e\\xf4\\x9a\\xbe\\x30\\xfe\\x46\\xf1\\x6f\\xc0\\x85\\x8b\\x50\\x35\\x9a\\x1a\\xad\\xcb\\x70\\x04\\x78\\x6f\\xd8\\x5b\\x8a\\xc2\\x2a\\xd0\\x67\\x6a\\x4c\\x11\\x4f\\x79\\x63\\x6c\\x6e\\xce\\xca\\x1c\\x2e\\xc7\\x9a\\x21\\x78\\x1c\\x56\\x3d\\xf2\\x60\\x1d\\xef\\xb1\\x7a\\xac\\x82\\xc9\\x97\\xeb\\xe3\\xac\\x92\\x4f\\x8f\\x85\\xe2\\x96\\x8a\\xbf\\x61\\x56\\x3a\\x5b\\x2e\\x00\\x20\\x4b\\xef\\x96\\x70\\x53\\x30\\x1d\\x75\\x15\\xb3\\x31\\x4b\\xf2\\xce\\x59\\x40\\xfb\\x29\\x50\\x72\\x91\\xb3\\x5a\\xf9\\x72\\x2a\\x65\\x39\\x7f\\x1b\\xcb\\x96\\xcc\\x2b\\x09\\xd2\\x98\\xce\\x2c\\xf4\\xd9\\x4c\\xc8\\x3d\\x9f\\x5f\\x5c\\x70\\x01\\xfb\\xb7\\xad\\xda\\xf3\\xee\\x93\\x83\\x77\\x15\\xd7\\x74\\x95\\xea\\x8f\\x34\\xbe\\xf8\\x1e\\xf9\\x28\\x3a\\x7c\\x46\\x74\\x51\\x81\\x65\\xc4\\x03\\x73\\xd6\\x8e\\x9d\\xd5\\x65\\x76\\xf7\\x1b\\xf1\\xd9\\x0d\\x17\\x6e\\x06\\xed\\xc0\\xfe\\x06\\x1e\\x85\\xc5\\x4d\\xd3\\x46\\xae\\xb8\\x3d\\x90\\xd3\\xf0\\xfc\\xe8\\x9a\\x7e\\x4f\\x70\\x9a\\x76\\x05\\xe1\\xea\\x02\\xab\\xfb\\x72\\xf6\\x8a\\x69\\x63\\xc6\\x76\\x99\\x5a\\x37\\x6e\\x0a\\x93\\x4d\\x7e\\x82\\x35\\xf9\\x0c\\xd6\\x24\\x8c\\x3a\\xa1\\xeb\\xa3\\x91\\x1a\\x43\\x66\\xc7\\x62\\x7f\\x15\\x0e\\x09\\x15\\x39\\x39\\x6a\\x75\\x71\\x66\\x85\\x10\\xb6\\x85\\xeb\\x6d\\x9d\\x9d\\xe6\\xc6\\x58\\xa8\\xca\\x5f\\xd5\\x18\\xc3\\x7e\\x27\\xfc\\x2d\\x13\\xcb\\xda\\x37\\xc6\\xca\\xb0\\xe8\\x65\\xd2\\x7b\\x7a\\x66\\x7c\\x39\\xb9\\x6b\\xaa\\xc6\\x83\\x4c\\x5c\\x15\\x12\\xcb\\xdc\\x96\\x25\\x85\\x15\\x24\\x33\\xb0\\x27\\x8b\\x68\\x1a\\x93\\x37\\x4c\\x11\\xaa\\x96\\x27\\x0b\\xed\\x87\\xbd\\xf2\\xe2\\xd0\\xf5\\x78\\x6a\\x49\\xe4\\x75\\x42\\xee\\xdc\\xbb\\xcb\\xe9\\x71\\x66\\x64\\x3a\\x7b\\x64\\x05\\xc6\\x4c\\x1e\\xd8\\xe4\\x74\\x3b\\x3b\\xd6\\x34\\x6e\\x5b\\x92\\xb5\\xf1\\x6c\\xf3\\x8c\\x37\\x97\\xec\\x7d\\xca\\xb5\\x84\\xac\\x70\\x6d\\xec\\x31\\x74\\x2d\\xf7\\xca\\x79\\xf2\\xd8\\x03\\x0b\\xa6\\x14\\xf5\\x8c\\x76\\xf6\\x5a\\x73\\x9d\\x96\\x97\\x43\\xd7\\x0c\\xf4\\xf7\\xa3\\xce\\xf3\\x81\\xa5\\x58\\xb3\\x92\\xbb\\xe6\\xbe\\x1b\\x9b\\x9f\\x9f\\x74\\xf8\\x89\\xa6\\xf9\\xb3\\xfb\\x3f\\x3c\\x76\\xc8\\xa0\\x31\\xec\\x2e\\x1e\\x21\\x69\\x85\\x78\\x04\\xe4\\x8a\\xf2\\x68\\x06\\xc2\\x02\\xcf\\x63\\x8e\\xd7\\xdb\\xf4\\x76\\x8d\\x69\\x54\\x4c\\x63\\x15\\x31\\x3c\\xb0\\xca\\x3a\\x63\\xab\\xc2\\x2f\\xac\\x56\\x08\\x2d\\x44\\xc2\\x40\\x57\\x92\\x80\\x72\\x27\\xc9\\x87\\x33\\xc8\\x1a\\x5c\\xfd\\x3b\\x1e\\x39\\x60\\x6b\\xd3\\xd0\\x3b\\x42\\xb7\\x75\\x1d\\x5c\\x57\\x49\\xba\\x72\\x5d\\xf9\\xfa\\xf8\\xa3\\xf8\\xad\\x71\\xd7\\x0c\\xea\\x7a\\x68\\x50\\x7d\\xfc\\x79\\x86\\xd3\\x0f\\x23\\xa4\\x5e\\x20\\x9e\\x32\\x17\\xf2\\xcb\\xf1\\xcf\\x08\\x99\\x55\\x7c\\x28\\xb1\\x48\\xf6\\x31\\x91\\xe1\\xa2\\xb6\\x61\\x7e\\xb9\\x7c\\x06\\xf1\\xed\\xb8\\x1f\\xca\\x8e\\x6a\\x38\\x0c\\x14\\x17\\xce\\xa0\\xeb\\x58\\xe2\\xf3\\x43\\x2e\\x07\\xaf\\x4f\\x3f\\xbc\\x3c\\xea\\x0e\\xfc\\xf3\\x05\\x56\\x43\\xdb\\x8d\\xf2\\xd1\\x88\\x68\\xc8\\x6a\\x77\\xeb\\x04\\xad\\x4d\\xed\\xc9\\xc7\\x02\\xd2\\x6a\\x34\\x36\\x84\\x8c\\xb9\\x42\\x86\\xd1\\x28\\x14\\xf8\\x34\\x18\\x79\\xdc\\x1e\\xb5\\xa7\\x21\\xa6\\x53\\x9b\\xed\\xf9\\x38\\xbf\\x21\\x66\\x05\\xa5\\xa2\\x4d\\x45\\xf2\\xfa\\x56\\xbc\\x5e\\xa1\\x70\\x4a\\xd5\\x12\\xb9\\xcc\\x45\\x24\\x55\\x98\\x5c\\xc5\\xdb\\x60\\xa7\\xcd\\x85\\x5e\\x19\\xa9\\x5d\\xf8\\x78\\xc3\\xc7\\xdf\\x3e\\x82\\xab\\x5e\\xa2\\x85\\xc9\\x3f\\xfb\\xea\\x2f\\xe4\\xb5\\x97\\x1a\\x66\\x4d\\xda\\x75\\xf5\\x9b\\xe4\\x87\\xb1\\x77\\x35\\x8d\\xa1\\xd9\\x9a\\xb6\\x5a\\xbe\\x7b\\xf5\\x04\\xae\\x7c\\x84\\xa3\\xa5\\xc9\\x1d\\xe7\\x5f\\x39\\x4e\\xfe\\xba\\x5f\\x45\\x6b\\x93\\xab\\x17\\xbf\\x36\\x07\\xeb\\x4d\\xd3\\xde\\x99\\xbf\\x7e\\xab\\x9a\\xca\\x06\\x5d\\x80\\x06\\x9c\\x61\\x32\\x4b\\x05\\x1a\\x14\\x2d\\xce\\x12\\x83\\xfa\\x12\\x9f\\xcb\\x66\\x2b\\x11\\x79\\x5c\\x89\\x43\\x19\\x01\\x33\\xd0\\x6a\\xbd\\xc1\\x60\\x2e\\x29\\x41\\x1a\\xb3\\x33\\x8f\\x77\\x31\\x0e\\xaa\\x54\\x68\\x0b\\xcb\\xc5\\x89\\xad\\xb5\\x96\\x2b\\x4a\\x7b\\x2a\\x86\\x44\\x95\\xaf\\x45\\xc2\\x4e\\x5a\\xb9\\x22\\x3e\\xac\\xd4\\x25\\xf2\\x26\\x2f\\x45\\xeb\\x31\\xd0\\x6b\\xf8\\xf5\\x49\\xc9\\x5d\\xb4\\xbc\\x6e\\xfb\\xf7\\xeb\\x9a\\xb7\\xe6\\x0a\\xd1\\x13\\x2b\\xef\\x3b\\x32\\x7a\\xf2\\x42\\xfe\\xc4\\x80\\x59\\x5d\\xb2\\x3d\\x71\\xe9\\xea\\xd9\\x03\\xba\\x0e\\x9d\\x95\\xe5\\xc5\\x9c\\x57\\xdf\\x5f\\xe8\\xf0\\xc6\\x8d\\xc7\\xb7\\x92\\xf7\\xb6\\x2f\\x58\\xb7\\x62\\xc9\\x3b\\x4f\\xad\\xff\\xcf\\x4d\\xf1\\x2e\\x0b\\xde\\xb9\\xb9\\xcf\\xc6\\x9c\\xae\\xe4\\xa3\\x15\\x63\\x6f\\xb8\\x7b\\xfd\\x43\\x0f\\x75\\x09\\x0f\\x1b\\x21\\xeb\\xd5\\x1f\\xc0\\x1e\\x3e\\x2a\\x74\\x01\\x3d\\x70\\x64\\x34\\x6c\\x16\\x45\\x87\\xc6\\xe1\\x0c\\x66\\x67\\xb6\\xd3\\x14\\xb4\\xcb\\x16\\xb8\\x4a\\xa7\\x33\\x6c\\xc3\\x1c\\x17\\x0a\\x7a\\x1a\\x63\\x41\\xa7\\xb7\\xa8\\x31\\xe6\\xf5\\xd8\\x11\\xe7\\x30\\x19\\x54\\x8d\\x31\\x83\\x89\\x73\\x28\\x1a\\x35\\xa0\\x6c\\x5a\\x2d\\xe0\\x70\\xfa\\xf5\\x56\\x52\\xb6\\xd4\\x60\\xaf\\x5c\\x58\\xa6\\x25\\x30\\x5c\\xe5\\xc2\\x5e\\xd9\\xda\\x1d\\x49\\xe6\\x2e\\xa7\\x3a\\x86\\x62\\xed\\x8b\\xf0\\x3f\\xc7\\x3b\\x91\\xbf\\xec\\x3b\\x34\\xb6\\xb4\\x4a\\x97\\x33\\xa3\\x7c\\xe1\\xd2\\xab\\x27\\x0a\\xdc\\xd3\\x78\\xda\\xda\\xf3\\x63\\xbb\\xb5\\xef\\xec\\x3d\\xba\\xb7\\x7c\\x46\\x76\\xb1\\xb5\\x9f\\x63\\xad\\xdb\\x78\\xd5\\x75\\xb1\\x31\\xdc\\x89\\x78\\x97\\x57\\x71\\xf3\\xae\\xd9\\xc6\\x7f\\xa8\\x8d\\xcd\\x73\\x27\\x9c\\xbb\\x83\\xe3\\x4e\\x6d\\x26\\xfd\\x1e\\xbd\\xc9\\x48\\x9e\\xdd\\xbb\\x53\\x07\\xfb\\xa9\\x5e\\xd4\\xc7\\x3a\\x7f\\xe4\\x84\\xaf\\x36\\x32\\xf9\\x6f\\x1c\\xc8\\x18\\xf4\\x5e\\xdb\\x8c\\x72\\x68\\xa5\\x56\\x95\\x56\\xab\\xd6\\x38\\x0c\\x1a\\x03\\x35\\xcb\\xe6\\x69\\x33\\x46\\xc6\\x54\\x5a\\xab\\xc6\\x83\\x2c\\x2d\\xb7\\x42\\xf5\\xad\\xcb\\x4d\\xcb\\xb2\\x9d\\x7c\\xa1\\x4d\\xa5\\x86\\xc0\\x1f\\x5c\\x69\\xcb\\x45\\xbb\\x1e\\x21\\xaf\\xbc\\x7d\\x15\\xf9\\xe0\\xaa\\x4f\\x7f\\x6f\\x75\\x9b\\x2d\\x17\\xec\\xfa\\x90\\xdc\\x7a\\x31\\x87\\x8c\\xc6\\xf7\\x07\\x70\\xe8\\xdb\\x2b\\xaa\\x76\\xc9\\xf6\\xe3\\x7a\\x90\\xe9\\x40\\x9f\\x05\\x04\\xf3\\x00\\xac\\x39\\x66\\x24\\x88\\x22\\x2f\\x39\\x35\\x1a\\x09\\xf1\\xd9\\x59\\x06\\x50\\xef\\x0c\\x66\\x29\\x63\\x70\\x0c\\xf8\\xbc\\x28\\x17\\xfa\\x6f\\x55\\x5e\\x38\\xe9\\x08\\x6e\\x46\\x14\\xce\\x54\\xc1\\x18\\xb1\\x4a\\xbe\\xba\\xa2\\xb0\\x0a\\xf7\\x91\\x7f\\x7f\\x79\\x35\\xf9\\xe0\\xea\\x7b\\x1e\\xdd\\x85\\x0b\\x9f\\xfe\\xfa\\x3f\\xe4\\xc3\\xb7\\x67\\xad\\xea\\xf3\\xf6\\x9c\\x15\\x7d\\xb8\\xbd\\xe4\\x5f\\x64\\x53\\x88\\x0c\\xc7\\x7b\\x7c\\xff\\xd8\\xf3\\x1a\\xae\\xd9\\xfb\\xd1\\xd9\\x5f\\x17\\xfd\\x73\\x3a\\x89\\xdf\\x8c\\x12\\xb2\\x7c\\x03\\x8a\\x9d\\xf8\\x1e\\xac\\xa5\\x9b\\x66\\x4b\\xcf\\x44\\xd8\\x2e\\x62\\xd1\\x63\\xd0\\xeb\\xb3\\x5c\\x78\\x64\\xcc\\xa0\\x71\\xb9\\x90\\x46\\x63\\x1e\\x19\\xd3\\x08\\xf4\\x36\\x37\\xdd\\x02\\xdc\\xda\\x9b\\x01\\x60\\xe3\\x64\\xd8\\x04\\x97\\x98\\x56\\xe9\\x2a\\xc2\\x73\\x65\\x95\\x6b\\xde\\x9d\\x75\\x0c\\xc7\\x3e\\xfb\\x09\\x87\\xaa\\xc8\\x2f\\xde\\x43\\x4b\\xd7\\xbc\\x36\\xf5\\xc8\\xc3\\x7d\\x87\\x8c\\x46\\x09\\xd3\\xca\\xf7\\x9b\\x4f\\xe2\\xda\\xfd\\xcf\\x1f\\x6f\\x9c\\xd2\\x3c\\xfe\\xc9\\x9b\\xb6\\x3f\\x60\\x27\\x06\\x24\\xe7\\x4e\\x1c\\x2a\\xac\\x16\\x06\\xa2\\x12\\x80\\x2b\\x4f\\xc8\\xcf\\xd4\\x15\\xea\\xf2\\xf9\\xa0\\xcd\\x6a\\x2d\\xb5\\x65\\x0a\\x45\\x82\\xdf\\xe4\\x47\\x8d\\x31\\xbf\\xc7\\xe4\\x00\\x45\\x39\\xcd\\x0f\\xcc\\xd5\\xa6\\x6e\\xa6\\x18\\x6a\\xb1\\xeb\\xb6\\x94\\xda\\x51\\xec\\x1d\\x54\\x0f\\xa5\\x35\\x0b\\x00\\x79\\xf1\\xd1\\xf1\\x63\\xa2\\xbd\\x7a\\xbf\\x72\\xff\\x35\\x0f\\x60\\xe7\\xa1\\xa3\\x5f\\xe8\\xc9\\x05\\xed\\xbd\\x57\\xad\\x1a\\x50\\x3d\\x66\\x71\\x64\\xea\\x90\\x2a\\xf2\\x76\\xfc\\xb5\\xd3\\xed\\xba\\xbf\\xfd\\x57\\x67\\xa8\\xcc\\x57\\xed\\xea\\xb2\\xf0\\x60\\xf3\\x83\\x38\\xf3\\xb6\\x57\\xef\\x73\\x9d\\x68\\xda\\x7d\\xdd\\x80\\x29\\x03\\xc2\\x8e\\xb2\\xae\\xa3\\x7a\\x1f\\x38\\x59\\xf1\\x55\\x96\\x3f\\x75\\x2f\\x6f\\x12\\x97\\x22\\x1d\\x0a\\x45\\xdd\\x9c\\x28\\x62\\x35\\xaf\\xd7\\x6a\\x0d\\x58\\x1a\\x19\\xc3\\x18\\x04\\x7a\\x04\\x6b\\xca\\xab\\xd3\\xd6\\xb4\\x85\\x71\\xb0\\x1b\\x56\\xde\\x1b\\x61\\xd7\\xf3\\x2a\\xae\\xa2\\x17\\x77\\xcf\\x20\\x72\\xde\\x4f\\x96\\xdc\\x44\\x3e\\xc4\\x16\\xfe\\xc3\\x52\\xe1\\x1e\\xb2\\x8a\\x8c\\x7e\\x3a\\x7e\\x42\\x5c\\x7a\\x81\\xd2\\x82\\xbf\\x81\\xc2\\x7e\\x81\\xd9\\x1c\\x43\\xd1\\x4c\\xac\\xd5\\x4a\\x82\\x64\\x10\\xf4\\x1a\\xae\\x21\\xa6\\xd1\\x00\\xba\\xa9\\x81\\x23\\x9b\\x68\\x81\\xed\\xb6\\xee\\x07\\xb2\\x75\\x33\\xe2\\x63\\xef\\xa1\\x35\\xad\\xb8\\x2a\\xff\\xc5\\xd5\\xe4\\x07\\x5c\\xc0\\x7d\\x53\\x48\\x0a\\x07\\xe2\\x7d\\xfd\\x87\\x9d\\x88\\x47\\xc5\\xf3\\x6f\\x90\\x1b\\xc9\\x02\\x19\\x5f\\xaa\\x80\\xbe\\x66\\x8b\\x5b\\x50\\x10\\x74\\x42\\x9f\\x60\\x2e\\xf4\\xb8\\xf2\\x3c\\x66\\x8d\\x08\\xf2\\x71\\x59\\x89\\x2d\\xe8\\x84\\xbf\\x86\\x82\\x82\\x9c\\x91\\xb1\\x02\\xc1\\xa0\\x02\\x04\\xb2\\xb5\\x91\\x04\\x92\\x76\\x81\\x94\\x82\\xc5\\x73\\xc9\\x02\\xc9\\x0a\\x35\\xb5\\x45\\x24\\x24\\x16\\xda\\x92\\x15\\x9f\\x5a\\x68\\x0e\\x96\\xb2\\xef\\x9c\\xd6\\xbb\\x5d\\xc7\\x60\\xe7\\x92\\xfc\\x6d\\x81\\x79\\x8b\\x9b\\x7b\\xdd\\x16\\x3f\\x42\\x5e\\xf1\\x1c\\xe8\\xdb\\xbe\\x5d\\xc7\\xd2\\x4e\\xf2\\xc3\\x2e\\x31\\x41\\x2d\\x5c\\x22\\x93\\xc9\\x77\\xdf\\xb5\\x2f\\x0b\\x9b\\xce\\xaa\\xf5\\x93\\x46\\x4c\\xc2\\x5d\\x8e\\x76\\x27\\x07\\x5e\\xd0\\xe1\\x37\\x8f\\x9f\\x8c\\xb4\\x53\\x9e\\x76\\xfa\\xf8\\x03\\xae\\x54\\x9e\\x53\\x2e\\x42\\x42\\x3f\\x91\\xc6\\xa7\\x84\\xa3\\x6e\\x15\\x8f\\xb0\\x24\\x52\\x9e\\xae\\xe5\\xd4\\x6a\\x9d\\x8a\\x6f\\x8c\\xa9\\x54\\x58\\xc4\\xb4\\x0e\\x18\\xbd\\x1a\\x0f\\xb6\\xcd\\x9a\\xe6\\xf5\\xd1\\x0c\\x14\\x61\\xba\\x55\\x4b\\x7e\\xc6\\xbd\\xe3\\xfd\\xb4\\xf8\\xd5\\x9f\\xc9\\x1e\\xee\\x05\\x2d\\x77\\x5d\\x25\\xb0\\xf4\\x5b\\x2a\\xe9\\x3b\\x6e\\x21\\x31\\xc9\\x09\\xe7\\x2c\\x17\\x75\\x89\\x16\\x64\\x3b\\x32\\x32\\x74\\x42\\x96\\xd9\\xa5\\x13\\xbd\\x79\\xee\\xec\\xd1\\x31\\xa7\\xc3\\xe3\\xe6\\x79\\xb7\\xc7\\xe1\\x14\\x55\\x26\\x15\\x1a\\x15\\x53\\x09\\x8a\\x1d\\x45\\x89\\x1f\\x49\\xa3\\x08\\x54\\xdb\\x17\\x54\\x85\\xb4\\x12\\x96\\x60\\x75\\x98\\x39\\x58\\xad\\x52\\x6c\\xad\\xc7\\xb8\\x10\\x07\\x0a\\xe1\\x47\\x3b\\xcc\\xfd\\xba\\x82\\x7c\\xbb\\xb1\\xef\\x43\\xb8\\xe1\\xd8\\xa7\\xb8\\xf1\\x70\\x9c\\xb8\\xc9\\xbe\\x1e\\xa0\\xe6\\x75\\x7f\\xa1\\x18\\xc7\\x87\\x74\\xe4\\x7e\\xe0\\x3c\\x97\\xbf\\xeb\\xc8\\xfd\\x27\\xfa\\xac\\xf0\\xf0\\xf8\\x99\\x1f\\x2d\\xbc\\x71\\x3f\\x39\\xf1\\x2e\\xd9\\x4b\\x44\\xf2\\x85\\xf1\\x8d\\x8c\\xbb\\x70\\xee\\x7b\\x02\\x39\\x73\\x04\\x37\\xdc\\x30\\x94\\xec\\x39\\x82\\x07\\x36\\x76\\x03\\xf8\\x77\\x93\\x98\\x70\\x95\\x78\\x06\\xd9\\x51\\x5e\\xd4\\xa4\\x15\\x39\\xce\\x6a\\xa0\\x34\\x41\\x74\\x3a\\x8c\\x08\\x95\\x97\\xb7\\x02\\xcf\\x6a\\x13\\x0b\\xfd\\x81\\x42\\xfa\\xa3\\xa0\\x30\\x02\\xad\\x2c\\x66\\x9e\\x1b\\xfd\\x86\\x95\\x8c\\x6c\\x8f\\x5f\\x35\\x04\\x49\\x87\\x5a\\xbc\\xad\\x81\\x90\\xed\\xaf\\x61\\x2b\\xee\\x78\\xe7\\x21\\x12\\xc3\\xbb\\xf0\\xf6\\xa7\\x5f\\x7d\\xf3\\x9a\\xb1\\xa7\\x4e\\x3c\\x39\\xfc\\x91\\xfa\\x13\\x73\\xc8\\x57\\x64\\x39\\xb9\\x44\\x76\\x91\\xfe\\x14\\xbf\\x1f\\x20\\x43\\x55\\xfb\\xe0\\x2c\\xd1\\x3c\\xf8\\xc1\\x3c\\x9f\\x4f\\xe7\\xb0\\xdb\\x33\\x2c\\x16\\x9d\\xc8\\xa3\\x92\\x60\\x30\\x84\\x2a\\x25\\x9d\\xce\\x58\\x92\\x6b\\xe7\\x03\\x1e\\xa3\\x67\\x74\\x4c\\x63\\xb4\\x21\\x20\\x5e\\xe8\\xff\\xe3\\xec\\x3d\\x00\\xa3\\xa8\\xb6\\xff\\xf1\\xb9\\x73\\xa7\\x6c\\x2f\\x33\\xdb\\x4b\\xb2\\x9b\\xcd\\xee\\xa6\\x92\\xb2\\x29\\x24\\x94\\x2c\\x10\\x3a\\x21\\x85\\xba\\xb4\\x50\\x94\\x2a\\xbd\\x4b\\x17\\xc1\\x82\\x52\\x04\\x01\\x45\\x11\\x54\\x10\\x45\\x8a\\x62\\x43\\xb1\\x2b\\x16\\x2c\\x28\\x96\\x87\\x5d\\x41\\xb0\\x61\\x7b\\x56\\xc8\\x5e\\xfe\\xf7\\xce\\xcc\\x96\\x04\\xf4\\xfb\\x7e\\xff\\xe7\\x4b\\xb2\\x09\\x9b\\xcc\\x39\\xf7\\x9e\\x7b\\xca\\x3d\\xe7\\x7c\\x4e\\xeb\\x91\\xf2\\x91\\x14\\x80\\x5f\\xfa\\x68\\x05\\xb9\\x49\\xdf\\x5f\\x2a\\x5d\\x6e\\x62\\x5d\\x90\\xbc\\x35\\xf1\\xc3\\xc4\\x40\\xae\\x56\\x2f\\x81\\x81\\x0e\\x0c\\x2f\\x60\\x76\\x2d\\x9d\\x6f\\xb5\\xd7\\x1e\\x58\\xf8\\x46\\xfd\\xec\\x27\\xa6\\x6d\\xbe\\x4f\\xfb\\x32\\x08\\x3d\\x66\\xe8\\x3d\\x60\\xdc\\x3a\\xf7\\xa1\\xb4\\x57\\x39\\xe8\\xbb\\x8c\\x09\\xdb\\x31\\xf9\\x67\\xc7\\xcf\\x58\\xd8\\x54\\xbf\\x67\\x6c\\x8f\\x7b\\xd6\\xb5\\x2f\\x87\\x7f\\xb4\\x0c\\xeb\\x15\\x19\\xd8\\x7f\\xc7\\x1a\\xb8\\x35\\xf5\\xea\\xfc\\x94\\xdb\\x0e\\xd4\\xc9\\xb6\\xfd\\x00\\xb6\\x6f\\x7f\\xe1\\xf3\\x5c\\x44\\x0d\\x88\\xe6\\xf9\\xb3\\xb3\\xf5\\x76\\x9b\\xcd\\x25\\x8a\\x7a\\x1e\\x02\\xcc\\x6f\\x09\\x28\\x56\\x61\\xf7\\xc5\\x67\\x33\\x86\\x3c\\x26\\x4f\\x43\\x4c\\x6b\\xb2\\x01\\x1a\\xbb\\xe1\\x97\\xb2\\x5b\\x75\\x59\\x6e\\x49\\x8b\\xb0\\x34\\xaa\\xef\\x32\\xfc\\xa6\\xe3\\xfe\\xcb\\xb7\\xe6\\x34\\x33\\xf2\\x42\\x53\\x0e\\x33\\xee\\xaa\\x49\\x0e\\xec\\xc0\\xec\\x5e\\xfe\\x5e\\xa0\\xdb\\xe1\\x95\\x2b\\xd7\\x18\\xaf\\x01\\xf6\\x79\\x86\\x45\\x83\\xd7\\x38\\x67\\xcb\\x2f\\x6e\\xf4\\xcc\\x04\\xce\\xe3\\x99\\xd3\\xef\\x47\\x43\\xde\\x9c\\x76\\xcd\\xdd\\x93\\xc6\\x7e\\x3a\\x63\\xea\\x96\\x0d\\x5d\\xfb\\xd0\\xdb\\xe2\\x3b\\x7b\\x54\\xee\\xb8\\xff\\x1a\\xba\\x51\\x7a\\xb1\\x6f\\x0d\\x5d\\x7b\\xe1\\xf8\\x8e\\xa7\\x07\\x63\\x99\\x5a\\x8e\\x75\\xe4\\x62\\xf6\\x16\\xbc\\x51\\x1d\\xa2\\x19\\x50\\x74\\x8a\\x1a\\x8f\\x5e\\xad\\xd6\\x68\\xbc\\x76\\xac\\x1d\\xed\\x8c\\x09\\xeb\\x4a\\xbd\\xc9\\xa4\\xd6\\x09\\x6a\\x28\\x9f\\xbd\\xaa\\x94\\xab\\x92\\x02\\x37\\x4a\\x0e\\x98\\x95\\x86\\x2f\\x28\\xfc\\x28\\xa8\\xfb\\xf4\\xee\\x25\\xd7\\xdf\\xb4\\xfa\\x86\\xcd\\x2b\\x41\\x18\\xfd\\x88\\x4e\\x8e\\x9f\\xb2\\x6b\\xe8\\x3b\\x3f\\xaf\\xfa\\xef\\xce\\x49\\x83\\x6a\\x82\\xcc\\x63\\x5b\\xae\\x9f\\x37\\xbf\\x82\\xde\\x79\\x7e\\x19\\x6d\\x0c\\x78\\xbf\\x7b\\x73\\xcb\\x2f\\xd7\\x9a\\xdf\\xe5\\x31\\x5d\\x1b\\xb0\\x3e\\xb8\\x80\\x63\\xa0\\x2c\\x2a\\x1a\\xf5\\x51\\x38\\xd8\\xe3\\x03\\xac\\x16\\x5b\\x6c\\x8e\\xe7\\xb3\\x8d\\x78\\xa9\\xb5\\x46\\x32\\x80\\xd0\\x99\\xd1\\x10\\x73\\x92\\x21\\x16\\x2f\\xb5\\x9e\\xa2\\x9a\\xbc\\x9a\\x90\\x33\\x73\\xc9\\xb1\\x10\\x95\\x29\\x7f\\x31\\x7d\\x90\\x1f\\x0d\\x1e\\x24\\x59\\xb9\\x79\\xc0\\x85\\xbe\\x42\\xdf\\xd4\\x87\\xe5\\x11\\xea\\x06\\xbe\\x9f\\xeb\\xe1\\xb5\\xe3\\x1a\\xe5\\x01\\x7e\\xfd\\xe8\\xf7\\x56\\xdc\\x3b\\x9f\\x1e\\x75\\xbe\\x0c\\xdc\\xfa\\x18\\x99\\xa0\\xee\\x9c\\x9a\\x01\\x56\\xac\\xbc\\x45\\x9a\\xdb\\x87\\xae\\x25\\x32\\xf3\\x39\\xf6\\x07\\xdd\\xf8\\x8c\\x38\\xc8\\x4c\\x7d\\x28\\xaa\\xb0\\x09\\xc7\\x4b\\x29\\x6a\\x5c\\x76\\xbb\\xd3\\xee\\x18\\x13\\xb3\\xbb\\x95\\xe5\\xd4\\x68\\xa1\\x46\\x68\\xbb\\x9c\\x89\\xb4\\xbf\\x02\\x17\\x85\\x3d\\x23\\x49\\xf9\\x4a\\x29\\x14\\x59\\x01\\x9b\\xa8\\x5c\\x50\\x09\\xc6\\x80\\x41\\xa0\\xef\\xaa\\x9b\\x57\\xaf\\x5d\\x89\\x4e\\xe2\\xc3\\x1b\\x1e\\x3f\\x76\\x4b\\xec\\xcb\\xd3\\xc8\\x8f\\x2a\\xd1\\x55\\xe1\\x4f\\x40\\x17\\xd0\\x67\\xf3\\x2d\\x91\\xf8\\x08\\x76\\x45\\xfc\\xb7\\x80\\xeb\\xef\\x9f\\x50\\x23\\xea\\xf8\\xa6\\x5c\\xf3\\x7f\\xe8\\xe2\\x0f\\xac\\x9a\\x99\\x4f\\xe5\\x52\\x65\\xd4\\xb0\\x68\\xbb\\x22\\x8f\\x87\\xcd\\xf3\\xb3\\x7e\\xca\\x4c\\x55\\x98\\xcc\\xe6\\x72\\x8b\\x01\\x07\\x8f\\x9e\\x9c\\x8c\\xa0\\x25\\xc3\\x92\\x61\\x0e\\x06\\x4b\\xeb\\x63\\xb9\\x41\\x93\\xd9\\xaa\\x76\\x36\\xc4\\xd4\\x4a\\x38\\x49\\xc6\\x81\\x25\\x02\\x4a\\x92\\x44\\x6f\\x2d\\x08\\x8a\\x70\\x73\\x52\\xb9\\x02\\x71\\xd0\\xc3\\xc4\\x0d\\x49\\xef\\xae\\xe7\\x92\\x92\\x61\\xb3\\x57\\xca\\x25\\xe9\\x12\\x6a\\x01\\xab\\xee\\x39\\x5c\\xa5\\x5b\\xd3\\x72\\xdb\\xc2\\x71\\x55\\x1d\\xdc\\x4d\\xc2\\xc9\\xcc\\x07\\x17\\x75\\x18\\x52\\x57\\x1f\\xb9\\x6a\\xb9\\xe6\\xb9\\x5d\\x1b\\x0e\\x2c\\xfa\\x64\\xe5\\x95\\xbb\\x27\\xac\\x89\\x87\\xbb\\x75\\xbd\\x61\\xa5\\x63\\x41\\xc7\\x11\\x93\\xe0\\xc9\\x86\\x41\\xae\\xf1\\xf9\\xcf\\xa2\\xb7\\x1e\\xac\\xf2\\x3b\\x46\\x6d\\xd9\\x15\\x2c\\x0c\\x1e\\x7f\\x6d\\xf6\\xf5\\x33\\xa7\\xec\\x1a\\x56\\xd8\\x65\\x0b\\xda\\x12\\x8a\\x5c\\x1d\\x6e\\x5f\\x4b\\xf4\\x7e\\x08\\xf3\\xdd\\x11\\xeb\\xfd\\x62\\xaa\\x2e\\x1a\\x56\\x59\\x43\\xf9\\x7a\\x03\\x36\\x37\\x86\\x7c\\x2b\\x53\\x5a\\x92\\x59\\x94\\xab\\xd2\\x0b\\xb9\\xfa\\x5c\\x7d\\x91\\x50\\x94\\xd5\\x1c\\x2b\\x12\\x05\\xed\\x98\\x98\\xc0\\xb4\\x8d\\x9e\\x85\\x36\\x49\\x5f\\x29\\x12\\x21\\x69\\x19\\x25\\x60\\xe6\\x83\\xa4\\x99\\x93\\xc1\\x01\\x33\\xe4\\x95\\x98\\x99\\x98\\xcf\\x70\\xd0\\x26\\xcd\\x92\\xf3\\x85\\x16\\x02\\xea\\xc2\\x91\\x15\\xb5\\x2b\\xe6\\xfc\\xd5\\x84\\x7e\\xe9\\x7a\\xf7\\x8f\\xfb\\xcf\\x01\\xba\\x64\\xd0\\xbc\\x9b\\x5e\\x7e\\xe6\\xb6\\xc6\\xb5\\xd7\\xcd\\xdd\\x33\\xd0\\x09\\xec\\xa1\\xbb\\xd1\\x0b\\x6f\\xc4\\xbf\\x04\\x13\\xe6\\x3e\\x76\\x4d\\x45\\xb8\\xa2\\xae\\x43\\xf7\\xc6\\x13\\xdd\\xd6\\xdc\\x52\\x7b\\x78\\x6f\\xff\\x79\\xb1\\x2e\\x91\\xe2\\xc2\\x6e\\xb1\\xce\\x83\\xfb\\x76\\x9e\\xd5\\xa7\\xb0\\xac\\xef\\xc0\\xc1\\x1b\\xde\\x9d\\x97\\xf4\\x07\\xd8\\xde\\x98\\xbf\\x5c\\x7c\\x86\\x7d\\x7a\\x97\\x68\\xf1\\x43\\x68\\x09\\xb9\\x98\\xfc\\xbc\\x90\\x5f\\xd4\\x93\\xb2\\x1b\\x53\\x03\\x3e\\xcb\\x54\\x36\\x0e\\xb2\\x6c\\xd4\\xe5\\x07\\x06\\x11\\x89\\x23\\xb3\\xfa\\x61\\x0d\\x50\\xcc\\x3e\\x47\\x26\\x3d\\xfa\\x09\\x4b\\x1c\\xcf\\x2a\\xae\\x64\\x90\\xe7\\x18\\xba\\x17\\xfa\\x0b\\xfd\\x56\\x3a\\x74\\xf1\\xd6\\x17\\xee\\x58\\x35\\xe7\\xfa\\xd9\\xd3\\xee\\x2b\\x46\\xbf\\xf5\\x07\\xf9\\x80\\xfe\\x11\\xc0\\x27\\xce\\xa1\\xb7\\x36\\x5d\\xbf\\xee\\xf6\\xaf\\x41\\x9f\\x76\\x63\\xd0\\x13\\x96\\x23\\x8f\\x0d\\xba\\x66\\x6c\\xef\\xf6\\x45\\x01\\x6f\\x73\\xff\\x6e\\xfd\\x27\\x4e\\xe9\\xfa\\xdc\\xdd\\x8f\\x3e\\x70\\xe7\\x73\\x35\\x4d\\xd9\\x93\\xea\\x87\\xf4\\x99\\x7f\\x21\\xbb\\x3d\\xf6\\xcf\\xbb\\x62\\x1d\\xb4\\x0d\\xd3\\x9f\\x45\\x05\\xa9\\xbe\\xd1\\xdc\\x80\\x29\\x28\\x08\\x1e\\x4b\\x36\\x65\\x34\\xf1\\x7c\\x88\\x0f\\x6b\\x1d\\x99\\x38\\x9e\\x50\\xb9\\x29\\x77\\x36\\x14\\x98\\x4c\\x46\\xc4\\xff\\x1e\\xc4\\x7b\\x24\\xa4\\xc5\\x8b\\xf6\\xb6\\xd1\\xa2\\x8c\\x31\\xaf\\x04\\xfd\\xca\\xc4\\x27\\x52\\xec\\x0b\\xc2\\x32\\x4a\\x86\\x8c\\x75\\x6f\\x17\\x21\\x80\\xea\\xd0\\xb0\\x0d\\xf3\\xea\\xd7\\xb6\\x9b\\x9e\\x39\\x20\\x5c\\x59\\x9f\\x77\\xdd\\xa7\\xb9\\x2d\\xa5\\xb9\\xe0\\x74\\x7b\\x73\\xe7\\xca\\xbc\\x59\\x39\\x99\\xdd\\x6f\\xef\\xb9\\x7c\\x79\\x30\\x73\\x3e\\xfa\\x9e\\xb9\\xb6\\x7c\\xf9\\xc8\\xea\\xe2\\x63\\xfe\\xc2\\xa2\\x8e\\x2f\\xc7\\x07\\x9e\\x38\\x41\\x3f\\xf8\\x72\\xa7\\x76\\xc5\\x19\\xc7\\xca\\xcb\\x27\\xce\\x6d\\x71\\x81\\x2d\\x68\\x92\\x14\\x6f\\x78\\x31\\x3f\\x1e\\xec\\x37\\xfb\\xa8\\x00\\x96\\xb8\\xfc\\x80\\x31\\xcb\\x6c\\x76\\x8b\\x7e\\xca\\x60\\xe4\\xb9\\x6c\\x2e\\xa8\\xb1\\x7b\\x71\\xb8\\xcb\\xbb\\x28\\x97\\x68\\xf0\\xb3\\x66\\xc6\\x6b\\x12\\xf0\\x3b\\x70\\x4c\\x6f\\xb6\\xfe\\x6f\\x1c\\x5d\\x9e\\x21\\x29\\x3d\\xac\\x05\\x7e\\xfa\\xae\\xe6\\xfa\\xeb\\xfa\\xdf\\x36\\x66\\x9a\\xb7\\x6b\\x7e\\xfb\\xc1\\xf9\\x13\\xce\\x07\\x5b\\x6a\\x83\\x60\\x5f\\xb5\\xbd\\x6b\\xfb\\xfc\\x71\\x39\\xbe\\x35\\xb7\\x35\\xce\\x2b\\xb2\\xfc\\x02\\xae\\x86\\xbd\\xc6\\x0f\\xea\\x3b\\xe9\\x98\\x37\\xaf\\xac\\x78\\x16\\x8a\\x3c\\xf3\\x0c\\x78\\x73\\x56\\xbb\\x8a\\x3c\\xef\\xb1\\x49\\xfd\\x06\\x62\\x67\\xe5\\x0f\\xcc\\x47\\x7f\\x2c\\x57\\x8f\\x60\\x9f\\xcc\\x89\\x3d\\x69\\xac\\xd1\\xbc\\x4e\\x2d\\x1b\\x08\\x08\\x5a\\x21\\x14\\x54\\xf9\\x9a\\xb1\\x3f\\xab\\x52\\x39\\x8c\\x0e\\x30\\x3a\\xe6\\xa0\\x8c\\xae\\xe6\\x98\\x51\\xbc\\xb4\\x42\\x25\\x09\\xfb\\x29\\xd9\\xbc\\x2c\\x46\\x1e\\x53\\xc6\\x48\\x89\\x07\\xa2\\xe0\\x5c\\xa0\\x00\\xf8\\x23\\xc9\\x39\\x7f\\x56\\x13\\xbb\\x1a\\x7d\\xfd\\x25\\xfa\\xe6\\x4e\\xdf\\xb0\\x3f\\x96\\xc5\\x81\\xf5\\x30\\xba\\xff\\x4d\\xf4\\x12\\x7a\\x67\\xc2\\x5b\\x80\\x06\\x23\\x41\\xaf\\x1b\\xe3\\x8e\\x67\\x4f\\xef\\x7d\\xe2\\xf8\\xc7\\xcc\\xa7\\x9d\\xaf\\x9d\\xdb\\xb1\\xeb\\x4f\\x5f\\x1c\\x40\\x67\\x77\\x02\\x3d\\x08\\xee\\x05\\xed\\x01\\x7d\\x53\\xa7\\xf3\\x17\\x8f\\x3e\\xb0\\x7e\\xfe\\xc1\\xfb\\xd0\\x17\\xf8\\x5c\\x74\\xba\\xf8\\x03\\xf3\\x3c\\x33\\x00\\xcb\\x55\\x4d\\xd4\\xe7\\xa0\\xbc\\x82\\xc0\\x53\\xbc\\x2e\\xa0\\xcb\\xf6\\xb9\\xeb\\x63\\x3e\\x1f\\x83\\x3d\\x16\\x62\\xba\\x19\\x1c\\xbf\\x30\\xb6\\x4b\\x8b\\x83\\xd3\\x55\\x9a\\x3c\\x0f\\x52\\x8a\\x5f\\xb0\\x9b\\x8e\\x19\\x91\\x9d\\x91\\xe4\\xcc\\x9e\\x52\\x1b\\xd3\\x69\\x35\\xfa\\x6b\\xc7\\xa9\\x9f\\x5e\\x07\\xeb\\xff\\x0b\\x2a\\x73\\xd0\\xd9\\xc7\\xd1\\xc5\\xc5\\x13\\x67\\x2e\\x5e\\x37\\xae\\x5f\\x45\\x9f\\xf0\\xb8\\x61\\x77\\x3e\\x05\\x9e\\xba\\xf6\\xf8\\xa2\\x4f\\xdf\\x3b\\x06\\xda\\x1f\\x7a\\x7b\\xd6\\x87\\x5b\\x97\\x2e\\x5a\\x38\\xb6\\xa6\\x8f\\xf5\\x55\\xeb\\xad\\xe4\\x0c\\x47\\xb0\\xbd\\x2b\\xc7\\xb6\\xc3\\x47\\x35\\x44\\xc3\\x2e\\x95\\x53\\xed\\xb4\\x6b\\x1d\\x0e\\xb5\\xc6\\x28\\x68\\x04\\x3f\\x93\\x91\\x91\\x45\\x99\\x55\\x3a\\x9b\\xae\\x39\\xe6\\xb2\\x99\\xf1\\x7f\\x1a\\x47\\xc2\\x82\\x54\\x25\\xae\\xf6\\x5a\\x37\\x91\\x48\\xe3\\x5b\\x95\\x42\\x0f\\x39\\x8f\\x9c\\x2f\\xd7\\x8c\\x72\\x56\\x3b\\x16\\x7e\\x5a\\x1e\\x1c\\x2c\\x8f\\xca\\xf9\\x6d\\x97\\x4d\\x5f\\xd1\\x2d\\x6f\\x0f\\xfa\\x72\\x8f\\x7f\\x78\\x3f\\xf0\\x28\\x80\\x83\\xef\\xbb\\x2e\\xab\\x13\\xc8\\xec\\x94\\xbf\\xea\\xc6\\x7c\\x7a\\x6a\\x6e\\x49\\xb1\\x2b\\x3f\\xd4\\xb2\\x1d\\x8e\\x1d\\x3c\\xc8\\x2f\\x86\\xb7\\x3e\\x38\\x08\\x74\\x46\\x2f\\xcc\\x9c\\xd4\\x71\\x83\\xac\\x7f\\x9a\\x28\\x0a\\x1e\\xc1\\x72\\xa2\\xa5\\x7a\\x47\\xb3\\x29\\x35\\x50\\xa9\\x38\\x88\\xfd\\x75\\x9a\\x66\\x34\\x3a\\x8d\\x5e\\x63\\xe4\\x01\\x05\\xa1\\x96\\x61\\x19\\x6c\\x47\\x38\\x56\\xbe\\xf8\\x88\\x24\\x27\\x48\\xca\\x88\\xca\\x12\\xd9\\xe9\\x44\\xc3\\x80\\xc8\\x56\\xb2\\x98\\xc8\\x20\\x4f\\x2f\\x38\\xf2\\xe5\\x7a\\x74\\xb6\\x14\\xd8\\xaa\\x41\\xc9\\x44\\x90\\x59\\x0a\\x87\\xb4\\xdc\\x0f\\x87\\xd8\\x90\\x08\\x76\\xa0\\xd1\\x22\\x22\\xb6\\xf7\\x63\\x2c\\xab\\xfb\\x98\\x2e\\x54\\x0e\\xa6\\x21\\xec\\x0a\\x9a\\x39\\x0d\\x17\\xcc\\x60\\xe8\\x1c\\x9b\\xdd\\x9e\\x67\\xc1\\xa4\\xe4\\x66\\x61\\x37\\x2d\\xcb\\x66\\xa5\\x68\\x9b\\xd1\\x80\\xa3\\x31\\x43\\x9b\\xfb\\x97\\xd4\\xdd\\x4b\\x2a\\x70\\x25\\xb7\\x2e\\x2e\\xf0\\x8f\\xd7\\x2e\\x7c\\xd2\\x97\\x80\\xbf\\xc7\\x3b\\xa3\\x3d\\xb1\\x83\\x43\\xc7\\x15\\x94\\x69\\x32\\x66\\x16\\x2d\\x5e\\x3e\\x70\\x22\\x4b\\x3f\\x09\\xa6\\xde\\x7a\\x52\\xf9\\xc9\\xa2\\x15\\x43\\xae\\x24\\x77\\x2c\\x23\\x41\\x06\\x60\\xc6\\xcf\\x26\\xb7\\x2c\\x4b\\xe7\\x5d\\xf1\\x15\\xb9\\x65\\xb9\\x03\\xf5\\xbf\\x77\\xb6\\x7c\\xed\\x32\\xfe\\xeb\\x8d\\x44\\x7f\\xe4\\x93\\x3a\\x43\\xac\\x3f\\x32\\xb0\\x46\\xef\\x1d\\x0d\\x65\\x51\\x26\\x63\\x98\\x77\\x38\\x8c\\x14\\xcc\\xcf\\xe3\\x1d\\x8c\\xc7\\x93\\x5d\\x1f\\xf3\\x98\\xb4\\x22\\x16\\x5e\\x2d\\x63\\x72\\x33\\x99\\x8d\\x31\\x26\\x35\\x48\\xfe\\x92\\x76\\xac\\xa4\\x0c\\xcb\\xad\\x58\\x16\\x72\\x4d\\x84\\x0d\\xb4\\x9f\\x24\\x9c\\x92\\xb7\\x19\\xca\\x75\\x37\\xb1\\x5c\\xcc\\xa1\\x5b\\xd1\\x7f\\xf7\\x4d\\x7f\\x3c\\xbf\\xf6\\x9e\\xc7\\xe6\\xac\\xee\\x80\\x10\\x1f\\x1a\\xd4\\x74\\xf0\\xc4\\x98\\xc7\\x41\\x87\\x77\\x3e\\xf8\\x29\\xbe\\x6d\\xdb\\xbd\\x27\\x37\\xdd\\x37\\x8d\\xde\\xf5\\x3c\\x3a\\xf6\\xc0\\xe0\\x5e\\x2b\\x17\\x95\\x96\\x4f\\x5b\\x98\\x6d\\xe5\\xe7\\x9d\\xff\\xea\\x77\\xb0\\xfd\\xdd\\xcf\\xe2\\x4d\\x7f\\x7d\\xf7\\x2d\\xfa\\xf3\\x8b\\xab\\xe6\\x51\\x69\\xbd\\x5b\\x1c\\xe9\\xdd\\xba\\x78\\xf1\\x62\\x36\\x1a\\x42\\x8f\\x60\\xdf\\xc0\\xdf\\xd7\\xb5\\xae\\xa5\\x67\\x6e\\x93\\x64\\xa9\\x06\\xcb\\xd2\\xf7\\xd8\\xef\\xb6\\x52\\x7d\\xa2\\x39\\x1c\\x84\\x46\\x23\\xa3\\x81\\x16\\x9b\\xc5\\xce\\x15\\xc0\\x8e\\x90\\x86\\x7a\\x08\\x0c\\x0c\\x84\\x3a\\x51\\xa4\\xc8\\xd0\\x52\\x9d\\xba\\x21\\xa6\\xb3\\xb6\\x3a\\xbb\\xcd\\xa3\\x46\\x36\\x8f\\x6c\\xa3\\x36\\x49\\x4d\\x13\\xef\\x27\\x25\\xe0\\x7c\\xea\\x18\\xd3\\x6f\\x6c\\xbc\\xd7\\x01\\xae\\xc8\\x41\\xbb\\x27\\xac\\xfc\\x33\\x27\\xfe\\xd7\\xe9\\x3b\\x80\\xff\\x39\\x50\\x94\\x03\\xaf\\x9a\\x37\\xff\\xd8\\xb2\\xc9\\xc7\\x3e\\xfd\\xe9\\x10\\xc8\\xb8\\xf3\\x2d\\x39\\x1e\\xf8\\x06\\xd3\\xb5\\x51\\xa2\\xab\\x57\\x34\\x6c\\x14\\x04\\x96\\x32\\xb1\\xd0\\xae\\xb1\\x99\\x0a\\xcc\\x1d\\xcd\\x98\\x2c\\x33\\x26\\xcb\\x6c\\xd6\\x00\\x8d\\xb6\\x21\\xa6\\xb1\\x02\\x4c\\x1c\\x30\\xfe\\x03\\x59\\xf6\\x64\\x97\\x57\\x44\\x69\\x90\\xf3\\x57\\x12\\xdf\\x08\\xc7\\x04\\x58\\x9d\\xdc\\x92\\xf3\\xfb\\x9f\\xe7\\xb6\\xa1\\x1f\\x1e\\x42\\x8f\\x86\\xff\\x5c\\x7b\\x67\\x06\\xda\\x99\\x03\\x86\\x2f\\x58\\x0b\\xa7\\x1f\\xfb\\xfc\\xfb\\xbd\\xe8\\xb3\\x7b\\x8e\\xcd\\x9d\\x73\\xec\\x9a\\x69\\xc9\\x7e\\x88\\x76\\x52\\xfd\\xf9\\x0e\\x69\\x6d\\xdf\\x25\\xf7\\x5c\\xd2\\xda\\x3e\\x97\\x58\\x5b\\xf6\\x73\\xa9\\x4f\\x21\\x94\\x88\\xb1\\xb9\\x57\\xa5\\xde\\x81\\x8e\\x51\\x2f\\x4b\\x9a\\xe0\\xd5\\x1c\\xd4\\x03\\xac\\x06\\xd5\\x6a\\x1e\\x30\\x0c\\x0f\\x21\\xa7\\xc1\\xb1\\x37\\x27\\x24\\xc6\\x19\\x91\\xce\\x76\\xfc\\xd1\\xfa\\x3e\\xc7\\x2f\\x82\\x80\\x16\\xc8\\xd3\\xbd\\x01\\xf3\\xd0\\x17\\xa8\\xe3\\xbb\\xbf\\x7f\\x89\\xce\\x03\\x33\\x58\\xf1\\x35\\xb8\\x1f\\xdc\\x80\\x7e\\x62\\x56\\xc4\\x3f\\xa4\\x4b\\x2e\\xcc\\xc7\\x3e\\xe8\\x39\\x5a\\x3c\\xbf\\x4c\\xb9\\x2b\\x7d\\x5d\\xba\\x13\\xae\\x8e\\x66\\xd8\\xcd\\x66\\x51\\x07\\x9d\\xd8\\x97\\x77\\x88\\x56\\xde\\x6d\\xa7\\x55\\x74\\x7d\\xcc\\xa4\\x32\\x02\\x5d\\x6a\\xd6\\x77\\xf2\\x52\\x3b\\xf9\\x6c\\x12\\xe6\\x43\\x8e\\x4c\\x2b\\xc2\\x8f\\x16\\xec\\x9d\\x69\\x69\\x1c\\x5d\\x85\\x50\\x09\\xe9\\xf7\\x67\\xe8\\x32\\x0d\\x8f\\xfd\\x0e\\xb2\\xc1\\x9c\\x3c\\xbf\\x4e\\xe8\\x37\\xe3\\x28\\x98\\xf6\\xee\\x1f\\xc3\\x75\\xfd\\xb4\\x70\\xee\\xbc\\xfd\\x8d\\x2d\\x43\\xd8\\x53\\xe8\\x01\\xf4\\xfd\\xe9\\xe2\\xbd\\xe7\\xc0\\x75\\x17\\x8e\\x82\\x77\\x3a\\x83\\xda\\x6c\\xc9\\x27\\xee\\xa1\\xd4\\x81\\x38\\xb1\\xef\\x31\\x21\\x5a\\x01\\x1c\\xb4\\x1d\\xdb\\x63\\x2b\\x63\\xf3\\x78\\x68\\xda\\x66\\x0f\\xa8\\xec\\x2a\\x11\\x86\\x9d\\xce\\x90\\xc9\\xa4\\x63\\xad\\x4e\\x52\\xca\\x2b\\x50\\x94\\xce\\xee\\x66\\x5d\\xf5\\x31\\xd6\\xa4\\xf3\\xd5\\x93\\xb1\\xa6\\xad\\x26\\xbd\\x25\\x2b\\x7d\\xd2\\x64\\x30\\x91\\x74\\x91\\x74\\x1b\\x1f\\x11\\x05\\x2a\\x92\\x56\\x26\\xc2\\x91\\x21\\x9d\\xd8\\x96\\x07\\x40\\x5a\\xa5\\xc8\\xc6\\xbb\\xae\\x2f\\x03\\xae\\xef\\x93\\xe5\\x22\\xda\\xcc\\xff\\x86\\x7f\\xb5\\xa2\\x8f\\xac\\x3b\\xe0\\xbc\\x64\\xc5\\xc8\\x02\\xfa\\x69\\x52\\x25\\x92\\x28\\x1b\\x69\\xbc\\xe3\\xa5\\xa9\\x53\\x99\\xd7\\xda\\xd4\\x8c\\x58\\x49\\x4d\\x06\\xf6\\xaf\\x9c\\x54\\xfb\\xa8\\x9b\\x13\\x29\\x9d\\x4e\\x74\\xbb\\x58\\x56\\x65\\xb1\\x98\\x54\\x2a\\x88\\x5d\\x2b\\xc6\\x64\\x6f\\x8e\\x99\\x5a\\xdb\\x6f\\xb2\\xed\\xb2\\xfd\\x96\\x72\\xa4\\x58\\x32\\x7d\\x30\\x2c\\xf8\\xc9\\x7d\\x87\\xdc\\x82\\x14\\x0e\\x12\\x4a\\x29\\x66\\xdc\\xde\\xbb\\xd0\\x1f\\x5b\\x4f\\xbd\\x0b\\x5e\\x79\\x16\\x58\\xd7\\xbd\\x8b\\xae\\xfb\\xf9\\x0c\\x3a\\x19\\x01\\x82\\xf7\\xde\\x79\\xbf\\x02\\x11\\x76\\xdf\\xf7\\x34\\x42\\x73\\xc1\\x9c\\xf5\\xe8\\xf7\\x87\\x5b\\xd0\\xec\\xf7\\x5e\\x7e\\xb1\\xe7\\x94\\xc5\\xa0\\x21\\x4d\\x3e\\x4d\\x21\\x22\\x9f\\x26\\x9e\\x32\\xd3\\x63\\xe9\\x6a\\xac\\xff\\x52\\xf4\\x7a\\xf1\\x69\\x0b\\x78\\x5c\\x32\\xcd\\x99\\x19\\x12\\xcd\\x2a\\xb7\\x5b\\xe5\\x72\\xfd\\x1f\\x94\\x57\\xb5\\xa2\\xbf\\x34\\xf2\\x6f\\x1c\\x04\\xb1\\x1c\\xfd\\x1f\\x5c\\xc4\\x77\\x76\\x00\\xfe\\x0e\\xff\\xc4\\x8b\\x0d\\x94\\xa0\\xb7\\x13\\xbd\\x61\\xbc\\x49\\x08\\x91\\xde\\x30\\x33\\xaf\\x8a\\x4b\\xad\\xc5\\xb6\\xa8\\x1e\\x98\\xcd\\x6c\\x08\\xe8\\x47\\xe9\\x4d\\x72\\x67\\x01\\xc9\\x02\\x25\\xde\\x2f\\xf5\\x15\\xe4\\x28\\xb9\\xa3\\xbd\\x89\\xbe\\x02\\x9d\\x8e\\xe4\\x8e\\x4c\\x8f\\x99\\x0c\\xe9\\xbd\\x08\\x24\\x2e\\xc6\\xfa\\xf2\\x21\\x7c\\x86\\xb3\\xa8\\x7e\\xd1\\x1c\\x23\\xe7\\xf1\\xda\\xb9\\x4c\\xaf\\x9f\\x63\\xb2\\x03\\x6e\\xe0\\x64\\x9c\\xa4\\x85\\x4c\\xe7\\xd3\\x89\\xcd\\x31\\x9d\\xe8\\x15\\xa8\\x0c\\x5f\\x46\\x73\\xcc\\x07\\xd3\\x66\\x6c\\x2a\\xee\\x0d\\x95\\x56\\x06\\x27\\xed\\x2f\\x09\\x31\\xc9\\xe0\\x41\\x98\\xcc\\x24\\x74\\x96\\x2d\\x1f\\xa9\\x79\\x24\\xc8\\x16\\xcb\\xba\\xdc\\x72\\x66\\x22\\xd8\\x98\\xdb\\x7f\\xc1\\xfe\\xa5\\xab\\x0e\\x77\\xfa\\x32\\x67\\x64\\xfb\\x3e\\x43\\xcb\\x7f\\x7a\\xf4\\xdd\\x15\\xe8\\xe4\\x19\\x54\\x55\\xc0\\x3c\\x46\\xee\\x44\\x0f\\xb6\\x2f\\x42\\x6f\\x97\\x7d\\xff\\xc6\\xbc\\x8a\\x01\\xcd\\xf7\\x74\\x2c\\x19\\x75\\xba\\x64\\x7d\\xd7\\xf8\\x14\\xe6\\xce\\xd3\\xa7\\x25\\x7e\\x01\\x5b\\xce\\x9b\\x4c\\x21\\xf8\\x92\\xb4\\x3e\\x08\\xcc\\x54\\xd6\\x87\\xe3\\xf0\\xfa\\x68\\x28\\x0d\\xc7\\x52\\x89\\xf5\\xc1\\xbc\\x2a\\xf2\\x81\\xa5\\xa0\\x5b\\x34\\xcb\\xed\\xf1\\x88\\x3a\\xc1\\x6a\\x65\\x18\\x6d\\x86\\x36\\x53\\xb0\\x36\\xe3\\x00\\xc0\\xa9\\x52\\x19\\x89\\x10\\x50\\x98\\x6f\\x4a\\xbc\\x9c\\x07\\x27\\xe5\\x37\\xe5\\x5a\\x6f\\x56\\xe9\\x9a\\x4b\\x5e\\x8f\\x4b\\x36\\x41\\xaa\\x86\\x11\\xed\\x34\\xfd\\xca\\xb3\\xe8\\xfb\\x75\\xef\\x82\\x85\\x3f\\x9f\\x01\\xe1\\x08\\xfa\\x11\\xef\\xfb\\xa3\\x17\\x22\\x74\\x46\\x61\\xfc\\xdc\\xde\\xbb\\x80\\x06\\x4b\\x86\\x65\\x3d\\xd0\\x3e\\xdc\\x02\\x6e\\x96\\x77\\xfd\\x85\\x03\\xa7\\x3d\\xfb\\x9e\\x06\\xf4\\x5c\\x74\\x93\\xa4\\x6b\\x9d\\x98\\xd6\\x2e\\x92\\xae\\xad\\xf8\\xa7\\x1e\\xba\\xff\\xe7\\xbe\\x13\\xfc\\x37\\x99\\xcd\\xd2\\xdf\\x90\\x71\\x48\\x56\\x5d\\xfc\\x59\\x35\\x0b\\xef\\xbd\\x1b\\xff\\xb5\\xd1\\xd1\\x52\\xbc\\x22\\xbc\\xda\\xe9\\x83\\x4e\\xac\\xb7\\x43\\x66\\xb3\\xcb\\xa9\\xd2\\x18\\xd5\\x0e\\x8b\\x93\\xf7\\x34\\xc7\\x78\\xc1\\x9d\\xdd\\x1c\\x73\\xbb\\x8d\\x4e\\xa3\\x65\\x34\\x76\\xcd\\x9d\\xea\\xd1\\x31\\x67\\x9b\\x06\\x38\\x2a\\x55\\xc5\\x84\\x57\\x09\\x94\\xa6\\x0f\\xa7\\x24\\x25\\x2a\\xd8\\x4d\\x67\\x72\\x89\\x9b\\xa8\\x01\\xc9\\xd9\\x7a\\x15\\x82\\x1b\\xf8\\xb1\\xf2\\x97\\x5d\\x5f\\x3f\\xb7\\xe4\\x1b\\xa0\\x47\\x47\\xd0\\x67\\xf1\\xe2\\x2f\\xd1\\xdd\\x73\\x66\\x2e\\x9e\\x7d\\xf3\\xf8\\xaa\\xea\\x62\\x8f\\xbb\\xb4\\x69\\xf6\\xc4\\xbb\\xe0\\x8d\\x53\\x17\\x80\\xeb\\x36\\x6c\\x5b\\x7c\\x03\\xda\\x0e\\x1b\\xde\\x3e\\xf4\\xe9\\x2f\\xcc\\xcd\\xe8\\x5e\\xf4\\x10\\xfa\\x76\\x4b\\xad\\xf9\\x4f\\x7e\\x0a\\x70\\x82\\x08\\x38\\x19\\x7f\\x3b\\xbe\\x79\\xda\\x95\\xb1\\xe1\\x72\\xae\\x26\\x48\\x51\\x2a\\x0e\\xf3\\x28\\x60\\x2e\\x87\\x44\\x0b\\x0d\\x1a\\x8d\\xd6\\xc8\\x0b\\xa2\\xc8\\xdb\\xa1\\x16\\xf3\\xe9\\xf5\\xb8\\x55\\x6a\\x03\\x66\\x46\\x30\\x1a\\x0c\\xa2\\x8e\\xc7\\x82\\xae\\xe1\\xb5\\x82\\xde\\x6c\\x82\\x3a\\x28\\x75\\x4e\\x11\\xc7\\x52\\xe2\\x2f\\xe1\\x61\\xb6\\x1e\\x20\\xda\\x86\\x35\\x72\\xb9\\x82\\x05\\x3c\\x8d\\x23\\x73\\x82\\xa3\\x65\\x73\\x51\\xe1\\x3c\\x72\\xdb\\x0f\\xc2\\x53\\xc1\\x89\\xa9\\xf8\\xf3\\x02\\xd0\\x5e\\x62\\xe6\\x9c\\xcc\\x0c\\x3d\\x22\\x7e\\x2f\\xb6\\x70\\x6f\\xd3\\x25\\x49\\x16\\xa4\\x7b\\x2b\\x6e\\x18\\xa6\\xdf\\x49\\x7a\\xa6\\x28\\x41\\xcf\\x09\\xa2\\x55\\xb4\\x73\\x8c\\xdb\\x65\\xa6\\x8c\\x10\\x4b\\x2b\\x84\\x36\\x8d\\x20\\x42\\xb5\\xe0\\xc4\\x5e\\x4d\\x73\\xcc\\x96\\x3c\\x9c\\xa4\\x3f\\xb5\\xa8\\x2d\\xc9\\x98\\xd8\\x44\\xce\\x3d\\x51\\x5c\\x9e\\x38\\x91\\x7e\\xd8\\x65\\xd3\\xbd\\x4d\\x2f\\xbe\\x61\\x6a\\x44\\xa7\\x1b\\x0c\\x1f\\x6d\\xd9\\xbf\\x32\\x79\\x10\\x51\\x7b\\x38\\xaa\\x2c\\xf3\\xa9\\xa7\\x7a\\x35\\xa1\\x66\\xb0\\xbd\\xb1\\xe4\\xb1\\xf2\\x78\\x73\\xf2\\x0c\\x52\\xec\\x68\\xa2\\xa3\\xe0\\x31\\xe5\\x0c\\x3e\\x28\\xf7\\x0d\\xd9\\xf0\\x09\\xb4\\x3d\\x01\\x8c\\x8f\\xd8\\x9c\\x56\\x3e\\xd5\\x37\\x44\\xde\\x7f\\x5a\\x7a\\xff\\x6b\\x8a\\x4e\\xf3\\x2a\\x67\\x56\\x14\\xf1\\x6f\\x18\\xb1\\x2f\\x44\\xf1\\x69\\x3a\\xad\\x12\\x9f\\x83\\x73\\x7c\\x4f\\xfc\\xfe\\xf7\\xa4\\xf7\\x9f\\x07\\x9f\\x82\\x3e\\xd2\\xfb\\xb1\\xcf\\x14\\x02\\xd6\\x85\\x56\\x0f\\x6d\\x48\\x3b\\xe3\\x01\\x34\\x91\\xfd\\x4a\\xca\\xd1\\x74\\x8d\\x06\\xb5\\xa4\\x83\\x57\\x4d\\x53\\x6a\\xa8\\xd7\\x71\\x2c\\xcd\\x8e\\x8e\\x01\\xb5\\x06\\xd2\\xf8\\x09\\x8c\\x0a\\x42\\xd8\\xa0\\x07\\x46\\xbd\\x54\\x61\\x65\\x8f\\x14\\xe1\\x8f\\xb4\\xe9\\xd8\\xca\\x5a\\x89\\xca\\x7e\\xe2\\xcf\\x60\\x7f\\x3d\\x0a\\x91\\xfb\\xb1\\xaf\\xe8\\x49\\x5f\\x01\\x2f\\xfa\\x11\\x85\\xeb\\xd1\\x44\\xb0\\x95\\x5d\\x71\\x61\\x36\\x73\\xf3\\xf9\\x65\\x68\\xe2\\xa5\\xbd\\xcb\\x58\\xfe\\x08\\xbf\\xc3\\x24\\x1f\\xc9\\x8a\\x63\\xde\\x80\\x4e\\x6f\\x86\\x7a\\x9e\\x87\\x6a\\x68\\xb7\\xe9\\xb0\\xce\\xd1\\xe9\\xf4\\x2a\\x95\\x16\\xeb\\x1c\\xc8\\xeb\\xc9\\x29\\x2b\\xb6\\x5f\\xa6\\xca\\x3e\\x8d\\x20\\x45\\xd2\\x48\\x6e\\x27\\x25\\x63\\xf0\\xca\\xe4\\xa9\\x01\\x66\\x26\\x50\\x10\\x67\\xba\\xb4\\x39\\x27\\xec\\x8a\\x53\\xe8\\x61\\x59\\xa6\\xfe\\xa1\\x9f\\xba\\x5c\\xea\\x81\\xf6\\x47\\x8d\\x90\\x61\\xa8\\xb4\\x6e\\x6a\\xa5\\x93\\x5a\\x49\\x2c\\x25\\x3b\\xa9\\xcb\\x0b\\xe2\\xe1\\x56\\x9d\\xd4\\x44\\x9f\\x4c\\xc7\\x6b\\x7f\\x0b\\xfe\\x3b\\x06\\xca\\x42\\x8d\\x8b\\x46\\x2c\\x6a\\x23\\xf6\\x08\\x81\\x34\\x29\\x18\\xd2\\x7a\\x03\\x0d\\x6d\\xd8\\x43\\xb3\\x0a\\x46\\xb3\\x4e\\x6f\\xa4\\x54\\xac\\x6a\\x74\\x8c\\x15\\x78\\xda\\x6c\\xd2\\x9b\\x46\\xc7\\x0c\\x7a\\x58\\x6f\\x23\\xbc\\xcb\\x7e\\x5a\\x91\\x5c\\x27\\x96\\xea\\x57\\x6c\\x95\\xc2\\x56\\x1c\\xc7\\x60\\x04\\xca\\x23\\x84\\x23\\xd8\\x69\\x93\\x4a\\xdf\\x78\\x9a\\x67\\x0e\\x1e\\x5e\\x76\\xbe\\xbe\\x65\\x41\\xfd\\xdf\\xcb\\xb6\\xc5\\x9e\\xee\\xb3\\x09\\x5a\\x11\\x38\\x84\\xce\\xd7\\x6d\\xbb\\xfd\\xb7\\xf8\\x1c\\xb0\\x15\\x4d\\xa4\\x6f\\x5a\\x08\\x16\\x7d\\x02\\x9e\\xbe\\x30\\x1b\\xde\\xf6\\x1d\\xca\\x3b\\x99\\xec\\xe3\\x4b\\xf5\\x61\\x63\\xff\\xf2\\x01\\x8a\\xe2\\x8f\\x62\\x5e\\xfc\\xd4\\xf4\\x68\\x8d\\x81\\x32\\xfb\\xfd\\x94\\xc7\\x6d\\xb5\\x69\\xd4\\x0c\\xe5\\x56\\x43\\xd6\\x66\\x0b\\xb0\\x59\\x16\\xad\\x01\\x72\\x2a\\xbb\\xcb\\xcb\\xa9\\x7d\\x58\\xa5\\x8d\\x89\\x99\\x0d\\x06\\x35\\xc3\\xba\\x3d\\x7e\\x96\\x12\\x34\\x46\\x93\\xd5\\xc6\\xaa\\xe1\\xfa\\x00\\x90\\x04\\xac\\xc6\\x5e\\x9a\\x6c\\xc2\\xb4\\x27\\x6a\\xdf\\x24\\x27\\xae\\xb4\\xb5\\x36\\xf1\\x8b\\x59\\x61\\xec\\x08\\x87\\xc2\\x90\\x74\\x38\\x91\\x3e\\xcc\\x52\\xa9\\xcb\\x49\\x2a\\xdd\\x27\\xa9\\x79\\x48\\x3f\\x3e\\xaf\\x77\\x2e\\xca\\x43\\x2f\\xd3\\x43\\xbd\\x4d\\x0f\\x82\\xac\\x25\\x1d\\x07\\x77\\x9c\\x03\\x84\\x39\\xc5\\xb3\\xaf\\xa7\\x2e\\x82\\x0a\\x74\\xa4\\x68\\x65\\x26\\x28\\x42\\x6f\\x7d\\x61\\x1b\\x9e\\x39\\x8f\\x1e\\xe9\\x8d\\xaf\\x86\\xac\\xef\\x65\\xb0\\x05\\x1d\\xb9\\x73\\x1e\\x3d\\x24\\x7e\\xff\\xf8\\x7d\\xa0\\x16\\x4d\\xea\\xb8\\xd6\\xd2\\xf2\\x1b\\xbd\\x5c\\x67\\x8f\\xdf\\xa3\\x60\\x73\\xfc\\xc5\\xde\\x8a\\x3d\\xa7\\xa6\\x68\\x01\\x03\\xed\\x0e\\x4d\\xb6\\x90\\x01\\x1d\\x06\\x7f\\x46\\x36\\x97\\x13\\xb6\\x5b\\x8d\\x6e\\x2c\\xad\\x7e\\x23\\xc3\\x1b\\x8c\\x86\\xe6\\x98\\xd1\\xc8\\xbb\\x19\\x8a\\x4f\\x59\\x49\\x49\\xd5\\x48\\x05\\xa2\\x8a\\x09\\x68\\x75\\xb1\\xc9\\x26\\x7c\\x23\\x79\\x58\\x69\\x65\\xc4\\xa7\\xdc\\x71\\x56\\x28\\x85\\x52\\xd2\\x05\\x2f\\x43\\xd7\\x7d\\x8e\\x7e\\xa8\\x01\\xfa\\xdc\\x3b\\x17\\xdc\\xb8\\x76\\xc3\\x96\\x0e\\x85\\x1d\\x40\\xe3\\xc4\\xe6\\xaf\\xc7\\x5d\\xa4\\xea\\x40\\xe8\\xdc\\x87\\x2d\\x0f\\xef\\xc5\\x9e\\xd2\\x6b\\x96\\x27\\x5f\\x1f\\xbe\\x72\\xc1\\xf4\\x49\\x4d\\xa3\\x4f\\x7d\\xda\\x3b\\x76\\xa6\\xef\\xf3\\x87\\x1e\\xdf\\xb6\\xf5\\x88\\xcf\\x7c\\xef\\xfc\\x13\\xa7\\xa9\\x64\\x9e\\xf6\\x34\\xde\\x3b\\x3d\\x55\\x14\\xb5\\xb3\\x7a\\x8a\\x32\\x90\\x49\\x0e\\x46\\x56\\x47\\x6b\\x18\\x9e\\x03\\x50\\xaf\\x26\\x89\\xef\\xd2\\x52\\xac\\xdb\\xd3\\xbb\\x33\\x22\\xf2\\x80\\x73\\x8e\\x07\\xf2\\xc4\\x67\\xec\\xfd\\x9b\\x01\\x77\\x97\\x3d\\x04\\xab\\x40\\x3f\\x7c\\xde\\xcf\\xdf\\x9d\\x6d\\x6d\\x79\\x83\\x5d\\xd1\\xf2\\xe6\\xdc\\xed\\x4c\\x8f\\xf3\\xcb\\x60\\xcd\\xee\\xa1\\x17\\x5e\\x4c\\xea\\xb4\\x9e\\x49\\x9d\\x76\\x9e\\x56\\x29\\x3a\\xca\\x60\\xc0\\x3a\\xca\\xfc\\xb0\\xd9\\x91\\xd2\\x69\\x0a\\x7d\\xa3\\x31\\x7d\\x56\\x6a\\x68\\xb4\\x88\\xb6\\x58\\xac\\x26\\xbd\\xd1\\x60\\x35\\xe8\\xa4\\xf3\\x61\\x57\\xe9\\x4c\\x50\\xe4\\x69\\x71\\x4c\\x8c\\xa5\\x69\\x2b\\xe9\\x1c\\x12\\x30\\xd1\\x14\\xac\\xb1\\x83\\xe3\\x76\\x19\\x7e\\x40\\x22\\x9d\\x04\\x52\\x55\\x97\\xe6\\xc7\\x13\\x09\\xa1\\x84\\xd4\\xc0\\x84\\xd4\\xf8\\x41\\x39\\x08\\xcf\\x69\\xbf\\x76\\x36\\xd0\\x82\\x32\\xf4\\x50\\x56\\x97\\xaa\\x76\\x06\\xd0\\x19\\xbd\\xf2\\xb3\\x7d\\xb8\\x77\\x1e\\xfa\\x18\\x5b\\x9e\\xfb\\x97\\xaf\\x05\\xbd\\xd1\\x90\\xbc\\x5e\\x95\\x21\\x75\\x9c\\xa2\\x97\\xeb\\x6d\\x58\\x34\\xf0\\x59\\xc0\\x7e\\x02\\x7b\\x37\\xa6\\xd7\\x82\\x35\\x98\\x8f\\x02\\x64\\x16\\x8f\\xda\\x2a\\xd8\\x2c\\x82\\xc9\\xac\\xa3\\x79\\xfc\\x03\\x80\\xed\\xa7\\x19\\xf2\\xba\\xd1\\x31\\x5e\\x4c\\x8b\\xb6\\xa4\\xc3\\xeb\\xa8\\x49\\x65\\xa6\\x25\\xd0\\xd7\\x4b\\xcc\\x3f\\xf0\\x33\\x83\\xd1\\xa4\\x4b\\x8c\\xfd\\x13\\x78\\xc9\\x4f\\x5f\\xce\\xc0\\x9f\\x5f\\xf6\\xaf\\xbd\\xfc\\xf9\\xff\\xd8\\x53\\x7f\\x5a\\xea\\xa9\\x6f\\x17\\xb5\\x27\\x7a\\xea\\x01\\xad\\x74\\xd5\\x73\\x2c\\x6c\\x50\\x4b\\xda\\xa7\\xa6\\x34\\x39\\x37\\xbe\\x4d\\x4b\\xfd\\xa3\\xa7\\xe2\\x9b\\xe4\\x96\\xfa\\x03\\x69\\x2d\\xf5\\x97\\xf4\\xd4\\xb7\\x8d\\x93\\xdb\\xf6\\xb7\\xcb\\xf5\\xa7\\xec\\x39\\x4c\\x8b\\x99\\xdc\\x2d\\x19\\xd5\\x3a\\xad\\x46\\x4f\\x6b\\x74\\x50\\xc0\\x0e\\x88\\x9a\\x35\\x1a\\x28\\x83\\x5e\\xab\\x81\\x58\\x44\\xf0\\xe9\\xda\\x21\\x82\\x7a\\x11\\x98\\x44\\x90\\x6c\\x64\\x25\\x1b\\x2f\\x24\\xf4\\x87\\xa2\\x3c\\xa4\\x23\\x96\\x98\\x79\\x4b\\xfa\\x89\\x88\\xb6\\x00\\xc1\\x95\\x53\\xe6\\xd5\\xd7\\x94\\x0e\\x6c\\xec\\x81\\x6e\\x00\\xb9\\x80\\x02\\xfb\\x41\\x79\\x3c\\x73\\xd5\\xbb\\x96\\x7e\\x67\\xf2\\x72\\x06\\x5d\\x05\\xef\\x8d\\x0f\\xa5\\xf7\\x5c\\x78\\xfa\\xe8\\x4d\\xa4\\x7e\\xac\\xff\\xc5\\xdf\\xb9\\xf6\\x69\\x3d\\xf6\\xe5\\x56\\x0a\\x64\\x30\\x99\\x16\\xc1\\x97\\xa3\\x61\\xd4\\x16\\x51\\x54\\xb3\\xae\\x4c\\x75\\x36\\x56\\x70\\x2e\\xf8\\x0f\\x5d\\xf6\\xa3\\xf3\\xc8\\x0a\\x5e\\xda\\x61\\xdf\\x6a\\xde\\x7a\\xb2\\x84\\xec\\x7f\\xee\\xb1\\xe7\\x97\\xf9\\xa4\\x1e\\xfb\\x96\\x50\\x85\\xdc\\x63\\x5f\\x44\\x7a\\xec\\x0b\\x95\\x1e\\xfb\\x0e\\xa1\\xa8\\x83\\xf4\\xd8\\x17\\xfc\\xff\\xec\\xb1\\xcf\\xc6\\x36\\xeb\\x90\\xe4\\x2f\\x54\\x44\\x3d\\x40\\xc3\\xd2\\xbc\\x8a\\xd6\\xa8\\xb0\\xbf\\xa0\\x96\\x1d\\x06\\xec\\x2c\\x30\\x3c\\x71\\x16\\x64\\x27\\xe1\\x32\\xfe\\x54\\xc2\\x47\\x80\\x11\\xc8\\xb8\\xeb\\x2f\\x3c\\x29\\xfb\\x08\\x55\\xd8\\x47\\xf8\\xea\\xc5\\x65\\x29\\x0f\\xe1\\xc2\\xec\\xf8\\x1c\\xfc\\xbc\\x87\\xf0\\xf3\\xdf\\xc4\\xcf\\xb3\\x51\\xb5\\xd1\\x2c\\x40\\x66\\xda\\xf2\\x56\\xbb\\xd5\\xa1\\x33\\x6b\\xd5\\x8c\\x46\\x34\\x33\\xe6\\xe6\\x18\\x76\\xe0\\x35\\x94\\xa0\\xb5\\x58\\xa1\\x06\\xb6\\x6a\\xde\\x37\\xb7\\xe9\\xde\\x97\\xa4\\xf3\\x92\\xe4\\x36\\xb1\\x84\\x70\\xd3\\x94\\x4d\\x4f\\xc5\\xde\\xfe\\xd0\\xd4\\x08\\x3c\\x0d\\xfa\\x79\\x4b\\xee\\x79\\xfa\\x1a\\x92\\x2d\\xa5\\x03\\x25\\x59\\x2f\\x3e\\x15\\x6d\\x02\\x3b\\xd1\\xd8\\xbe\\x79\\x63\\xc7\\x94\\x93\\x44\\x69\\x52\\x67\\xf2\\x7f\\x25\\xfc\\x26\\x9e\\x81\\x14\\x43\\xe9\\xd4\\x1a\\x8d\\x5e\\x62\\x9e\\x82\\xa3\\x63\\x5a\\x4a\\xa0\\x59\\x4e\\xad\\x61\\x01\\x2c\\xd6\\x03\\x53\\xc2\\x6f\\x92\\xce\\x8b\\xbd\\x0d\\xde\\x50\\x44\\x59\\x11\\xe2\\x39\\x11\\x25\\xea\\xfd\\x0a\\x3c\\xf7\\x15\\x10\\xe5\\xcf\\xe8\\xc7\\xc4\\x82\\x10\\xb7\\x49\\xd9\\x03\\x9e\\xdc\\x23\\x19\\xa9\\x9e\\xd1\\x5c\\x96\\x56\\x73\\x5a\\x60\\xa0\\x39\\x03\\xd4\\x99\\x74\\x66\\xfc\\x44\\x3d\\x23\\xed\\x04\\x45\\x0b\\x98\\x18\\xad\\x8e\\x85\\xd0\\x64\\x2e\\x36\\xd3\\xf2\\xe3\\x8b\\x92\\x8f\\x97\\xf4\\x5f\\x69\\xdb\\x4d\\x91\\x37\\x86\\x2b\\xae\\xff\\x7b\\x97\\x4c\\xc8\\x1e\\x89\\x10\\xf2\\xf9\\xd4\\x4b\\xad\\xb6\\x47\\xd9\\x22\\xec\\xb3\\xdd\\x8a\\x75\\xcb\\x2a\\xc5\\x67\\xeb\\x44\\xba\\x94\\xf5\\x3c\\xd6\\x6e\\x6a\\x98\\xf2\\xd9\\xb4\\xb2\\xb7\\xa6\\x55\\x35\\xc7\\xb4\\x6d\\x61\\x40\\x2e\\xe7\\xaf\\x11\\x07\\x3b\\xe5\\xaf\\x31\\xeb\\x13\\xfe\\xda\\xd0\\xaf\\xb1\\x83\\x4d\\xff\\x88\\x23\\x81\\x66\\xc9\\x5d\\x3b\\xaa\\x84\\x35\\x77\\x9e\\x4e\\x45\\x31\\x90\\xec\\x8d\\x2a\\x20\\xe1\\x92\\x18\\xa4\\xbe\\x8d\\x80\\xc1\\x68\\xd4\\x8a\\x3c\\xaf\\x75\\x00\\x9a\\x76\\x1a\\xec\\xcd\\x31\\x83\\xc1\\x08\\xb4\\x24\\x18\\xa0\\xb4\\x02\\xad\\xd3\\x43\\xd0\\x26\\x76\\x69\\xdd\\x0d\\x48\\xe4\\x86\\x68\\x89\\xa4\\x33\\x99\\x22\\x8d\\xfd\\x8e\\x88\\x2f\\xfa\\xb1\\x65\\x60\\x9a\\x4b\\x29\\x85\\x2a\\x8a\\x3f\\x49\\x94\\x5e\\xc2\\xa7\\x4c\\xd1\\x98\\xf2\\x73\\x35\\xd8\\x23\\xa8\\x8e\\x66\\x18\\xa1\\x46\\x8b\\xe3\\x2b\\xde\\x6a\\xd1\\x90\\x90\\x4a\\xa3\\x55\\xf1\\x5a\\xb2\\x62\\x6a\\x15\\x2c\\xb6\\xca\\x8a\\xf6\\xd2\\x36\\xd2\\x56\\x0e\\xee\\x3f\\xb8\\xb7\\xe9\\xb4\\x5c\\x4a\\x07\\xa0\\xf2\\xb0\\x6e\\xbd\\x4b\\x8a\\xf1\\x07\\x45\\x0b\\xb5\\x1a\\xb7\\xe0\\x31\\x89\\x22\\xd4\\x78\\xcc\\x90\\xc9\\xcc\\x70\\x3b\\x04\\xad\\xc1\\x2c\\x98\\x49\\xac\\x6f\\xa0\\x78\\xec\\xc8\\x60\\x7b\\xe5\\x20\\x25\\x85\\x33\\x32\\x2f\\xf5\\xbb\\xa9\\x36\\x29\\xda\\x64\\x85\\xa1\\x29\\x75\\xdb\\xe3\\x23\\x3b\\xab\\x64\\x9b\\xf8\\xb0\\x00\\xfb\\x03\\x37\\xa8\\x78\\x0d\\xdd\\xf4\\xdf\\x2f\\xd0\\x67\\xdd\\x00\\x53\\xb6\\x6b\\x11\\x98\\xd5\\x1c\\x7f\\xa7\\x90\\xce\\x62\\xf7\\xdd\\x7d\\xc3\\x9b\\x85\\xbf\\xec\\x67\\x37\\xa3\\x0f\\xd0\\x9f\\x28\\x8e\\x26\\x7f\\xf6\\xf2\\xdb\\xcd\\x6b\\x97\\x80\\x55\\xa7\\x33\\x7c\\x1b\\x77\\x2c\\x99\\xdc\\x13\\x5c\\x4f\\xe6\\xe9\\x5d\\xfc\\x81\\xff\\x45\\xba\\xab\\x0a\\x53\\x03\\xa2\\x05\\xd6\\x0c\\xbd\\xc5\\x64\\x32\\x07\\xa1\\x59\\x0f\\x61\\x6e\\x8e\\xc5\\x38\\x3a\\x66\\xb1\\x98\\x45\\x01\\x1f\\x01\\x41\\x67\\x53\\x51\\x2a\\x3f\\x8e\\x1d\\x44\\xca\\x95\\x2a\\x8b\\x4c\\xb6\\x91\\xd5\\xc8\\xf1\\x5f\\xba\\xfe\\x4d\\x56\\x48\\x92\\xec\\x53\\x3b\\xba\\x93\\xe4\\x15\\xe0\\xf3\\xd1\\x19\\xb6\\xae\\x93\\x64\\xef\\x25\\x55\\x3c\\x53\\xdf\\x42\\x5f\\xec\\x5f\\xf7\\xd1\\xa6\\x7e\\x5f\\x24\\xc2\\xd6\\x0f\\xb2\\x57\\x1d\\xf9\\x71\\xd1\\xfa\\xd7\\xa7\\xed\\x58\\xb7\\xee\\xd8\\xb4\\xed\\x98\\x95\\x63\\xe8\\xd7\\x83\\xe8\\xf1\\x9f\\x96\\x0d\\xb9\\xf3\\xa3\\x95\\x99\\x72\\xf8\\x7a\\xed\\x87\\x5b\\x07\\x7c\\xbb\\x05\\xbd\\xbd\\xe3\\x89\\xc3\\x5b\\x40\\xce\\x9e\\x87\\x9f\\x93\\xb1\\x0e\\xb0\\x7c\\xfc\\x2d\\xc5\\x06\\x76\\xaa\\x3e\\x1a\\xd6\\xe9\\x01\\x30\\x1a\\x45\\x02\\x34\\xa3\\x76\\x52\\x0e\\xa0\\xd6\\xeb\\x75\\x76\\x5d\\x73\\x4c\\xaa\\x4d\\x34\\x92\\x3a\\x3a\\x83\\x56\\x23\\x7b\\x69\\xa5\\xe9\\xb7\\x4c\\xa9\\xf6\\x17\\x72\\xd8\\x15\\x9f\\x22\\x00\\x48\\x29\\x60\\x36\\x91\\x1a\\x91\\x18\\x3f\\xb9\\x78\\xc4\\x5f\\x00\\x3e\\xa9\\x9d\\xd9\\x19\\x94\\xe2\\x7f\\xfd\\x84\\x54\\x8a\\x4c\\xc4\\xf6\\xe2\\x4a\\xb8\\x04\\xcd\\xdf\\xb5\\x61\\xfe\\x38\\xb0\\x89\\x6e\\x70\\x4d\\xdd\\x30\\xf8\\xd3\\x33\\xe7\\x97\\xd1\\xf6\\xf8\\xb7\\xcc\\x1d\\x33\\x66\\x0d\\x9a\\x24\\xc7\\x02\\x1a\\xec\\x0b\\x57\\x4a\\x39\\x86\\x5a\\x29\\x86\\x1b\\x89\\x65\\xca\\xcf\\x7e\\x86\\x69\\xcf\\xa7\\xfa\\x46\\x73\\xfc\\x3a\\x9d\\xc0\\x86\\xc3\\x82\\xb3\\xc0\\x59\\xe8\\x37\\x66\\x67\\xab\\xea\\x63\\xd9\\xd9\\x94\\x2b\\xea\\xc4\\x0a\\xac\\x3e\\x66\\xb4\\x1d\\x27\\x08\\x14\\x3f\\x17\\xd2\\x23\\x67\\xca\\x3b\\xe2\\x7a\\xd3\\x5c\\x95\\xde\\xa5\\x99\\x14\\xf6\\x60\\xa9\\x92\\xec\\x97\\x6b\\xa6\\xb3\\xc8\\x75\\x52\\x67\\x3a\\x3b\\xc8\\x73\\x3c\\x76\\xdb\\x94\\x38\\xdd\\x40\\xd3\\xb5\\x03\\x67\\xf7\\x0f\\x8d\\xbf\\x62\\xd6\\x4d\\xb5\\xd3\\x46\\x9e\\x42\\x9d\\x86\\x5f\\xfb\\x34\\xe8\\x0e\\x76\\x17\\xbe\\x75\\xf8\\xcd\\x5d\\x13\\x7b\\x66\\xd6\\xfd\\xe7\\xee\\xe3\\xa7\\xeb\\xee\\x38\\xfb\\x60\\xd5\\xbc\\xfd\\xbd\\xe7\\x2c\\x1e\\xfd\\xc2\\x94\\x85\\xeb\\x9f\\x03\\x62\\x7c\\x01\\x08\\x1e\\xdf\\x34\\xae\\x6f\\xe4\\x7b\\xab\\xc7\\xdb\\xbe\\x79\\xeb\\xea\\x8d\\xcb\\x3f\\x7e\\x79\\xc1\\x5f\\x07\\x87\\x50\\x52\\x9f\\x44\\x58\\xea\\xc9\\xac\\x95\\xee\\x45\\x82\\xa4\\x87\\x3d\\xd3\\xc1\\x33\\x3c\\x15\\x14\\x45\\x1d\\xa5\\x0b\\x87\\xa8\\x30\\x30\\x41\\xe8\\x0e\\x06\\xdd\\x4d\\xb1\\x60\\x50\\x63\\x32\\xf9\\x1b\\x63\\x26\\x93\\xc6\\xda\\x18\\xd3\\xd8\\x94\\x2e\\xcc\\x36\\x67\\x05\\xc8\\xdd\\x11\\xa9\\x9a\\x13\\x79\\x4e\\x94\\x51\\x42\\x40\\x60\\xfc\\xbe\\xb0\\x48\\xb2\\xff\\x36\\x65\\x3c\\x3c\\x0e\\x02\\x94\\x7e\\x08\\x23\\x60\\x76\\x6e\\x5c\\x05\\xa6\\x2c\\x45\\xef\\xa0\\xb3\\xe8\\xb7\\x3f\\xe6\\x14\\x00\\x11\\x50\\x1f\\xfc\\xd2\\xf2\\xe2\\x92\\x21\\xeb\\x6e\\xfc\\xfb\\x99\\x77\\x56\\xdc\\xb0\\x67\\xee\\x32\\x9b\\x1a\\x76\\x99\\xbc\\xd6\\xce\\x9b\\xae\\x1e\\x7e\\xdf\\xa1\\x5c\\x7a\\xca\\xf7\\x27\\xaf\\x6f\\x89\\x9b\\xfa\\x0d\\x5a\\xbd\\xa7\\xa1\\xf7\\xd2\\xf9\\xb3\\x24\\x1c\\x29\\x2a\\x03\\xf3\\xc4\\x32\\xf5\\x54\\x1e\\xb6\\x23\\xe1\\x90\\xc6\\xee\\xc0\\xf1\\xab\\xd7\\xcb\\x38\\x34\\x4c\\x41\\xbe\\xb1\\x00\\xe8\\x60\\x08\\xda\\x05\\xc6\\xc5\\xbb\\x2c\\x8d\\x31\\x97\\x4d\\x42\\x42\\x68\\x55\\x66\\x2a\\xb3\\xd0\\xca\\x8d\\x4e\\x66\\xf6\\xf1\\x46\\x00\\xa9\\x10\\x43\\x1a\\x79\\x2b\\x37\\xf3\\x60\\x67\\xab\\x33\\x24\\x98\\x33\\x74\\xed\\x84\\x71\\xde\\x6f\\xcb\\x4e\\xbd\\xfe\\xe6\\xa9\\x3e\\xdb\\xf6\\x1f\\x9e\\x54\\x78\\x62\\xfe\\x42\\xcf\\xf7\\x23\\xd1\\x98\\x53\\x3f\\x0f\\x3e\\x74\\x68\\xec\\x9c\\x4e\\xa2\\x90\\xdf\\x0b\\xae\\xab\\x6e\\x2c\\xde\\xb6\\xfc\\xb6\\x9b\\x86\\x2e\\x18\\x5c\\x54\\x5c\\x10\\x09\\x2d\\xec\\x5e\\xdf\\x1e\\x7d\\xbb\\xe3\\xde\\xe6\\x6b\\x47\\xe6\\x3b\\xb2\\x7c\\xd9\\x2e\\xd1\\xef\\x34\\x12\\x79\\xeb\\x88\\xf9\\xd8\\xc3\\xbe\\x41\\x79\\xa8\\x42\\xaa\\x7b\\x34\\x94\\x6f\\xf5\\x53\\x94\\xde\\xca\\xeb\\x61\\x51\\x3b\\x57\\x10\\x93\\xee\\xf2\\x6a\\x04\\x6f\\x7d\\x4c\\xb0\\x69\\x18\\xbc\\x1f\\x60\\x79\\x11\\x68\\x28\\x4a\\xeb\\x7c\\xbc\\x9c\\x1d\\xaa\\x4c\\x0e\\xe4\\x97\\xce\\xbf\\xec\\x34\\x54\\x54\\x56\\x28\\xa9\\x3a\\x41\\x16\\x43\\x5a\\xaa\\x6f\\x87\\x9b\\xd9\\xbd\\x9b\\x87\\x0c\\xaf\\xf6\\xad\\xae\\xc1\\x8e\\x64\\x59\\xfd\\xce\\x5f\\xf6\\x7e\\x79\\x11\\xaa\\x0a\\x81\\xfe\\x95\\x39\\x87\\xd0\\xab\\x93\\xae\\xeb\\x3a\\x7d\\x4a\\xc7\\x91\\x3d\\x4a\\x4c\\xfa\\xc9\\x70\\x49\\xdd\\xf6\\x07\\x7c\\x7b\\x05\\x2f\\x7a\\x1e\\xbd\\x79\\x1b\\xda\\xf8\\xeb\\xbc\\x9f\\xdf\\x6b\\x2c\\x38\\x1b\\x1f\\xd0\\xf2\\xe3\\x3c\\xc0\\xf4\\x9b\\x31\\x2b\\xbb\\xff\\xc2\\x41\\xd1\\xea\\x69\\xcb\\x93\\x7d\\xc0\\xd5\\xd2\\xb9\\xea\\x45\\x29\\xfd\\xec\\x5c\\x35\\x53\\x8d\\x63\\xec\\x0d\\xd1\\xc1\\xe6\\x4c\\x93\\xcf\\x40\\x19\\xfd\\x2e\\x96\\x31\\xf9\\x8c\\x7e\\x8f\\xdb\\x06\\x19\\xb5\\xca\\xe7\\x57\\xf9\\xdd\\xd0\\xce\\x30\\x59\\xf6\\x00\\xcd\\x7a\\x5d\\x0e\\x9e\\x53\\x65\\xe2\\x83\\xd8\\x14\\x33\\x17\\x19\\x96\\x19\\xd6\\x19\\xe0\\x53\\x86\\x63\\x06\\xda\\x60\\x50\\x41\\xbf\\xcf\\xe3\\x66\\x19\\xab\\xda\\x68\\xb2\\xd9\\x59\\x95\\xd4\\x6c\\x19\\x50\\xfa\\xce\\xe4\\xbb\\xb0\\x91\\x23\\x93\\xd1\\x77\\x5a\\xd3\\x4a\\x44\\x71\\x1a\\xcc\\x64\\xb0\\xa3\\x39\\xd9\\x81\\x06\\xd2\\x82\\x70\\xda\\x2e\\x46\\xa0\\xd4\\x91\\x06\\x38\\x9e\\xf8\\x59\\x01\\x18\\xa0\\xc7\\x45\\x33\\xd1\\xab\\xe8\\x3f\\xe0\\x31\\x7f\\xf8\\x16\\xa0\\x1a\\xec\\x2a\\x29\\xcd\\x19\\xd1\\x32\\x22\\xbf\\xb4\\x7b\\xb7\\xc3\\xc0\\x8b\\x4e\\x45\\xa3\\xef\\xa1\\xef\\x6f\\xf7\\x77\\x1d\\xd2\\x02\\x9e\\xd5\\xa2\\x0a\\xba\\x83\\xff\\x4a\\xb0\\x10\\x5d\\xac\\x1f\\x5e\\x00\\xc1\\x47\\x28\\x44\\x07\\x9a\\x46\\x01\\x16\\x2d\\x1e\\x54\\x18\\x7f\\x03\\xbc\\xae\\x45\\x5d\\x88\\xfc\\x6a\\x2f\\xfe\\x00\\xbf\\x67\\xfa\\xe3\\xf3\\x78\\x45\\xb4\\xca\\xe4\\x56\\x07\\xac\\x36\\x06\\x42\\x9b\\xce\\x17\\x70\\x73\\xe1\\x50\\x34\\x3c\\x3a\\x4c\\x43\\xa3\\x35\\xd3\\x8a\\x3d\\x24\\xab\\xa8\\x77\\x88\\x4d\\xb1\\x4c\\x3d\\x76\\xd3\\xf4\\xba\\xa6\\x98\\x5e\\x4f\\x39\\x4c\\x14\\xd7\\x98\\x2c\\xc8\\x69\\x13\\x90\\x63\\xc9\\x06\\xcd\\x6d\\x84\\x9b\\x55\\x26\\x2e\\xc9\\x98\\x2f\\x89\\xe2\\x83\\xb0\\x0c\\xb3\\x89\\xa5\\xdd\\x2a\\x9d\\x5c\\xf0\\xdc\\x93\\x9f\\x79\\x5b\\x02\\xbb\\x62\\xa3\\xae\\x5f\\xe2\\xd9\\xb7\\x7e\\x50\\xcf\\x3b\\x72\\xbe\\x19\\x00\\x16\\x3c\\xf2\\x51\\xd3\\xf5\\x03\\xa7\\x2e\\x42\\xc8\\xb2\\xe3\\xd6\\x82\\x7b\\xeb\\xfb\\x34\\xd6\\x3e\\x54\\xdf\\x58\\x55\\xbd\\xde\\x02\\x8a\\xd6\\xce\\xed\\xbf\\xa4\\x8f\\x9a\\x31\\x2f\\x1d\\xb3\\xed\\x61\\x69\\xdf\\x07\\x5d\\x3c\\xc7\\x3c\\xcb\\x54\\xe3\\x7d\\x1f\\x9a\\xfa\\x9e\\x8d\\x9b\\x42\\xe4\\x7b\\xe9\\x4e\\x8f\\xf4\\x85\\xe7\\x46\\x3d\\x54\\x3e\\xf0\\xe5\\xcf\\xc8\\xdf\\x91\\x7f\\x3c\\x9f\\xf9\\x39\\x1f\\x00\\xaf\\x97\\x80\\x0f\\x75\\xf4\\x85\\x3d\\x9a\\x44\\xf8\\x0c\\x46\\xce\\x9c\\xa5\\xf8\\xab\\xcc\\x18\\xa9\\x2f\\x78\\x58\\x34\\x62\\x32\\x68\\xa1\\x8e\\xc6\\x71\\xa9\\x5e\\x27\\xe8\\x44\\x5e\\x65\\xd1\\x1a\\x54\\x26\\xda\\xd4\\x14\\x2b\\xa2\\xb1\\x87\\x24\\x60\\xdb\\xa9\\xb3\\xf2\\x40\\x05\\xa5\\xb6\\xd6\\xd1\\x16\\x50\\x63\\x91\\xbb\\x45\\xed\\xa5\\x58\\x32\\xb0\\x60\\x28\\xe9\\x6d\\x7c\\xce\\xcd\\x09\\xed\\x2c\\xcf\\x9f\\xf6\\xb7\\xd9\\x76\\xff\\x9f\\xc0\\x35\\x3c\\x52\\xd2\\xb5\\xd7\\x5e\\x20\\xa0\\x5f\\x7b\\x74\\x7d\\x17\\x7d\\xb3\\xd6\\xd5\\x6b\\x08\\x3a\\xc3\\x54\\xa3\\x62\\xe8\\xea\\x35\\x19\\x00\\xb4\\xb2\\x39\\x14\\x7f\\x35\\xb1\\xa7\\x17\\xf7\\x63\\x99\\xff\\x00\\xd3\\xe9\\xa0\\x7a\\x45\\x43\\xb4\\x0d\\xd8\\xed\\x36\\x97\\x4e\\xe7\\xb4\\x18\\x6d\\x0c\\x0e\\x3f\\x6d\\xb4\\x84\\x5f\\xa4\\x36\\xd6\\x93\\x8a\\x38\\x02\\x8f\\x50\\xe3\\x02\\x49\\x68\\x84\\x54\\x10\\x5d\\x52\\x9c\\x66\\x3a\\xb0\\x91\\xe3\\x68\\x25\\xb1\\x42\\x42\\x3e\\x28\\x54\\xfa\\x21\\xfd\\xed\\x7e\\xf4\\x75\\xa7\\xd1\\x03\\xfa\\x0f\\xba\\xb2\\x4b\\x68\\xb4\\x31\\xdb\\xef\\xf3\\x16\\x97\\xb4\\xef\\x33\\xa6\\x2b\\xf4\\x9d\\x80\\x8b\\x9f\\x40\\xdf\\x1d\\x5b\\xdd\\xe0\\x37\\x30\\x4f\\xaa\\x9d\\x3d\\x96\\xbe\\x06\\x7c\\x2f\\x5f\\x38\\x2a\\xfb\\xfd\\x01\\x6c\\x97\\x5f\\x94\\xf2\\xd0\\x0d\\xd1\\x02\\x86\\x35\\x99\\xb4\\xa2\\x45\\xaf\\x81\\x16\\x8d\\xd6\\xa2\\xb5\\xdb\\x38\\x68\\xd2\\x69\\x18\\xd6\\x4a\\xb1\\x5a\\xab\\x5e\\xb4\\x40\\x1d\\x59\\xc0\\x83\\x76\\xb0\\xdc\\x0e\\x46\\x26\\x8f\\x96\\x59\\xc1\\xd5\\x48\\x8a\\x96\\x72\\x99\\xe2\\x17\\x2b\\x2a\\xb1\\x87\\x61\\xa0\\xc9\\x2d\\x9d\\x68\\xb3\\x76\\xc6\\xf6\\x19\\xc2\\xf3\\xd7\\x67\\x84\\x51\\xe4\\xfd\\xb1\\xb4\\x5e\\xb7\\xee\\x8f\\x13\\xe0\\xaa\\x4e\\xa2\\x73\\x08\\xc8\\x07\\xf3\\x4e\\xd0\\x4f\\xae\\x5a\\xda\\xd2\\x0d\\x3e\\x95\\x35\\xa5\\x21\\x9e\\xc5\\x54\\xc7\\xdf\\x3e\\x36\\xa9\\xeb\\x11\\x7a\\x82\\x44\\xa8\\x44\\x27\\xb3\\x4f\\xaa\\x87\\x1f\\x11\\x2d\\xe3\\x21\\x64\\x80\\x5a\\xad\\x61\\x34\\x7a\\x1d\\xaf\\x02\\xd8\\x00\\xd3\\x99\\x40\\x42\\xc2\\xa4\\xc9\\x70\\x0a\\x06\\x6a\\x8d\\x1a\\x1c\\xbf\\x49\\x70\\x13\\x7a\\xd0\\xac\\x5c\\xf3\\x4a\\x90\\x1c\\xd2\\x90\\x6c\\x72\\x75\\x32\\x72\\x66\\xa4\\x35\\x8a\\x4f\\x24\\x81\\x83\\x96\\x08\\x1c\\x68\\xd3\\x40\\xb0\\x72\\x20\\x70\\x9d\\x40\\x67\\x86\\xa1\\x25\\xc3\\xd0\\x99\\x13\\x78\\x97\\x07\\x82\\x07\\x2f\\x1c\\x05\\x6f\\xa3\\x12\\x4c\\xcb\\xe5\\xb0\\x0d\\x08\\x9d\\x58\\xd6\\x29\\x9e\\xd4\\xed\\xe3\\x20\\x9e\\xa3\\x38\\x32\\x23\\x9a\\x67\\xea\\x63\\x14\\x6f\\xc4\\x31\\x25\\xb0\\x2a\\x9d\\xa4\\x84\\x92\\x56\\x14\\xa4\\x9e\\xce\\x3c\\x8b\\x9f\\xb9\\x1f\\x4d\\xd9\\x2f\\x3d\\xf3\\xc2\\x51\\xb8\\xb8\\xe5\\x5a\\xf9\\x79\\x17\\x4f\\x48\\xbd\\x27\\x44\\x87\\x0e\\xa0\\x2e\\x53\\x0f\\x41\\x9e\\xcf\\xbd\\x2a\\xd1\\xd3\\x20\\xbd\\x7f\\x2f\\x7e\\xff\\xab\\xd2\\xd9\\x1b\\x21\\xd9\\xfd\\x1a\\x34\\x84\\x7b\\x0f\\xdb\\x96\\x30\\x55\\x46\\x75\\xa3\\x96\\x45\\xfb\\x75\\xc9\\xb6\\x16\\xf2\\xd0\\xe5\\x62\\x61\\xb5\\x17\\xba\\xdd\\x0c\\xc3\\x46\\x0c\\x06\\x36\\x1b\\x76\\xaf\\x3d\\xd8\\x1d\\x50\\xdd\\x8b\\xbb\\x1f\\xef\\x0e\\xb5\\xd0\\x5f\\x5e\\x1f\\xf3\\x9b\\x5c\\xa4\\xbf\\x42\\xc5\\x68\\x05\\xa1\\x08\\x9b\\x1f\\x93\\x36\\xa7\\x3e\\xa6\\xb5\\xb1\\x6e\\xaa\\x13\\x69\\xc0\\x4f\\xb9\\x05\\x69\\x26\\x95\\x7c\\x43\\xcc\\xea\\xcc\\x94\\xea\\x91\\xfb\\x64\\xe5\\x04\\x3c\\x51\\x41\\x30\\xad\\x8c\\x56\\x90\\x8a\\xce\\x22\\x15\\x95\\x62\\x65\\x04\\x2a\\x40\\x37\\x24\\xab\\x2d\\x7b\\x4a\\x01\\xc9\\x49\\x25\\x36\\x99\\x4b\\xf9\\xaa\\xcc\\x77\\x73\\x37\\x66\\xcc\\x46\\x17\\x06\\x66\\x33\\x3d\\xef\\x98\\xbc\\x76\\xf7\\xfc\\x8f\\x6e\\xbb\\x7a\\x55\\x98\\xa1\\xb9\\xda\\xe0\\x85\\xc1\\x6e\\xa6\\xcb\\xed\\xd3\\x36\\xee\\x9e\\x7b\\xbc\\x65\\x72\\xef\\x09\\xbd\\x73\\xef\\x18\\x33\\x27\\x0a\\x0f\\x4d\\xbb\\xc6\\x67\\x19\\xd7\\x30\\x7c\\x62\\xa7\\x5a\\xcb\\xc4\\x51\\xf1\\x5d\\xe0\\xe0\\x1d\\x63\\x07\\xbf\\x7a\\xff\\x0b\\x60\\xfa\\xf3\\xc3\\xa6\\xea\\x32\\xc1\\xa4\\x87\\x50\\x97\\xc5\\xe3\\x86\\x1d\\xd9\\xfd\\x3a\\xba\\xe6\\x89\\xe7\\x7a\\xde\\xf2\\x49\\xcf\\x33\\xcb\\xd0\\x2f\\x4b\\x3f\\xa0\\x3f\\x7f\\xe0\\xf1\\x69\\xf9\\x33\\xe6\\x2c\\x07\\xde\\xab\\x26\\x4f\\x91\\xe6\\xcd\\xe0\\xbd\\x7e\\x42\\x5a\\xdb\\xe1\\xd2\\xde\\x0f\\x42\\x13\\xa5\\xbd\\xcf\\x20\\xfd\\x5b\\x2a\\x51\\x6d\\x32\\xe8\\x4d\\x5a\\xad\\x06\\xba\\xd4\\x1a\\x17\\x3e\\x53\\xbe\\x4c\\x83\\x49\\x5b\\x1f\\x13\\xbd\\x76\\x15\\x60\\xd5\\x19\\x46\\x3b\\xdb\\x80\\x0f\\xbf\\x89\\xc8\\xc3\\x68\\x1f\\x28\\xf6\\xa5\\x81\\xa2\\x10\\x0f\\x8a\\x40\\x42\\xc8\\x1d\\xec\\xad\\xf2\\x4d\\x4a\\x35\\x53\\xaa\\x9c\\x9b\\x5c\\x82\\x07\\x48\\xc3\\x5a\\xaa\\x14\\x99\\xa6\\xe6\\xb9\\xb6\\x5e\\xb9\\xd7\\x3e\\x0f\\xb8\\xf6\\x6f\\x9e\\xf3\\x7b\\xfd\\x6e\\x91\\x85\\xfd\\x1e\\x9d\\x43\\x4a\\x90\\x97\\xe1\\x93\\xb5\\x6f\\x51\\xde\\x8a\\xbb\\x17\\xd2\\xa3\\x5a\\xae\\x8d\\x3f\\x00\\xb6\\xaa\\x37\\xbb\\xa6\\x8c\\xb9\\xe5\\x46\\xe7\\x74\\x0f\\x7d\\xb3\\xac\\x13\\x26\\x63\\xbe\\x96\\x63\\x3e\\x6c\\x58\\x27\\xe4\\x1b\\x34\\x1a\\x28\\x8a\\x5a\\x3b\\x0e\\x36\\x39\\xab\\xcd\\x60\\x52\\x73\\x26\\xae\\x01\\xfb\\x82\\x7a\\x9b\\x5e\\x67\\xa5\\x34\\x5a\\x68\\x93\\x4c\\xad\\x63\\xb4\\x83\\x56\\x34\\x02\\xa1\\xb1\\x28\\xd1\\xe5\\x6d\\x6e\\x7d\\x5f\\x01\\xd2\\x2b\\xf0\\xfd\\x22\\x97\\x80\\x33\\x78\\xaf\\x27\\xdf\\xa5\\x4b\\xc9\\xc8\\x19\\x63\\x80\\xf3\\x04\\x3a\\xdb\\xf8\\xf4\\xbd\\x8b\\xb7\\xab\\x7b\\xe3\\xe3\\x76\\x57\\x61\\x66\\x69\\x8d\\x21\\x13\\xfc\\x82\\x0f\\xdd\\x5d\\x83\\x37\\x2e\\xae\\xcc\\x07\\xcb\\xe5\\xb5\\xbe\\x78\\x8e\\x3b\\x8f\\x69\\x2c\\xa0\\xa6\\x44\\x3b\\x78\\xa1\\xde\\x66\\x10\\x45\\x1c\\xd4\\x71\\x30\\x1f\\x1b\\x67\\x63\\xa1\\xb1\\x5d\\x0e\\xe4\\xb0\\x71\\x34\\x98\\x82\\x5e\\xc6\\x17\\xd2\\x90\\x3a\\xb8\\x98\\xcf\\x25\\x5a\\x5d\\xb6\\x70\\x88\\x35\\x18\\x21\\x43\\xa8\\x5e\\xde\\x4e\\x71\\x10\\xf0\\x59\\xac\\x51\\xaa\\xde\\x08\\x18\\x8d\\xbd\\x55\\x63\\x7a\\x69\\xaa\\x2e\\x3d\\xd8\\xb6\\x96\\x9e\\xe3\\xfd\\xc9\\xa5\\x6f\\x55\\x77\\xef\\x05\\x36\\xf0\\xdf\\xe1\\xab\\x5d\\xf3\\x81\\x7d\\x91\\x79\\xe9\\xd0\\x1b\\xdc\\x78\\x2f\\x76\\x5b\\x44\\xf4\\xb3\\x95\\x87\\x75\\xb7\\x8e\\x5f\\xbc\\xde\\x30\\xe8\\x9e\\xc9\\x37\\x6e\\xb4\\x2e\\x07\\xf6\\xab\\x05\\xf8\\xcc\\xed\\x2b\\xe9\\xe6\\xf8\\xaa\\xe1\\x85\\x0b\\xb7\\xdc\\x40\\x8f\\x68\\xd9\\xd7\\x7c\\xbd\\x76\\x55\\xee\\x9c\\xa1\\xf3\\x67\\x5e\\x33\\xfe\\x96\\x1b\\xa3\\x57\\xd0\\x37\\xc7\\x6f\\x1e\\x56\\xc2\\x2e\\x94\\x65\\x8c\\xe7\\x30\\xdf\\xed\\xa8\\x79\\xd1\\x5a\\x5f\\xbe\\x3f\\x27\\x27\\x10\\xc8\\x32\\xa9\\xa1\\xd3\\x86\\x5d\\xd2\\xa0\\xda\\x96\\x15\\x64\\x8a\\x8b\\x42\\x39\\x01\\xd2\\x85\\xef\\xf4\\x31\\x5e\\x2d\\xcc\\x87\\x9c\\x4e\\xf4\\x52\\xde\\x86\\x18\\x97\\x63\\xa5\\x6c\\x7a\\xbb\\xc3\\x9f\\xc5\\x4a\\x8a\\xbc\\xa1\\x78\\x79\\x71\\x62\\xd3\\x94\\x7b\\x4f\\x99\\xfb\\x36\\x72\\xd7\\x4a\\xf4\\xd8\\x4b\\x19\\xbd\\xa4\\xc3\\x20\\x4d\\x24\\xe1\\x8f\\x6d\\x58\\x5d\\xd4\\x66\\x51\\xf6\\x3f\\x39\\xf7\\xf7\\x86\\xb7\\xa5\\x55\\x11\\xdb\\xf2\\xdb\\x7a\\x55\\x24\\x69\\x95\\xd6\\x05\\xfb\\xc8\\x75\\x38\\x26\\x2b\\xc6\\xeb\\xa0\\xc7\\x52\\xda\\x27\\x1a\\xd6\\x60\\x9d\\x25\\x50\\x3c\\x4b\\x41\\x87\\x9d\\x85\\x06\\x93\\xc6\\xd6\\x14\\xd3\\x68\\x4c\\x6a\\x35\\x87\\x2d\\xab\\x11\\x62\\x57\\x00\\x5e\\x2e\\x6e\\x91\\xaa\\x1c\\x5b\\x39\\xca\\x72\\xa8\\x42\\x1a\\xb5\\x22\\x52\\xb0\\xe2\\x93\\x32\\x16\\x6c\\x31\\xfa\\x12\\x9d\\x43\\x2d\\x3f\\xdc\\x8f\\x36\\x87\\xe9\\x6b\\x06\\x3d\\x7b\\xee\\x54\\xdc\\x12\\x5d\\x05\\x98\\x89\\x73\\x0f\\x82\\x01\\x07\\x1f\\xcf\\x85\\x13\\x9e\\x41\\x75\\x5b\\xd1\\x93\\xa6\\x83\\xbd\\xfa\\x48\\x7a\\x36\\x44\\xea\\x2a\\x30\\x7d\\xd8\\xe7\\xc0\\xb6\\x7f\\x50\\xb4\\xd8\\xa2\\xc6\\xc6\\xd5\\x00\\x68\\x83\\x9a\\x86\\x2e\\x27\\xeb\\x68\\x8a\\xb1\\xac\\xd1\\x24\\x18\\x74\\x94\\x55\\x27\\x34\\xc5\\x74\\x36\\x9a\\x31\\x42\\x20\\xa1\\x47\\xb9\\x00\\xd6\\xb4\\x09\\xfb\\x4a\\xe8\\x95\\x8d\\x6a\\x51\\x3e\\x76\\x03\\xd2\\xb5\\x81\\x84\\x1e\\x25\\x17\\x5d\\x12\\xaa\\xdd\\x49\\x72\\x99\\x97\\x4f\\xe0\\x73\\xd4\\x52\\x4c\\xe8\\x54\\x08\\x7f\\x6b\\xa2\\x42\\x2e\\xb1\\x27\\xf8\\x60\\xd5\\x6d\\xbd\\x03\\x93\\xcd\\x04\\x5b\\xa6\\x2b\\x24\\xe3\\x35\\xc5\\x34\\x33\\xbd\\x24\\x1b\\x6b\\xa1\\xba\\x46\\xb3\\x80\\x4e\\xa7\\x31\\xb1\\xac\\xc6\\x66\\x05\\x96\\xa6\\x18\\x00\\x38\\x22\\x57\\xe9\\x0c\\x2a\\x43\\x53\\x4c\\x65\\xd3\\x52\\x0a\\x18\\x4f\\x69\\x4d\\x62\\x15\\x2f\\xbd\\xcb\\xb9\\x1c\\x69\\xb4\\xe1\\xf2\\x44\\x5d\\x4a\\x10\\xa0\\x4c\\x98\\x9e\\x3c\\xa6\\x8e\\xf2\\x52\\x33\\xa3\\x5d\\xcc\\x16\\x0b\\x74\\xb9\\xb5\\x1a\\x8d\\x5b\\x20\\x57\\x39\\xc5\\x99\\xc0\\xed\\x02\\x6a\\x17\\x70\\xd9\\x45\\x4e\\x6b\\xd3\\xd2\\x6a\\xad\\x41\\x10\\x3a\\x8a\\x00\\x16\\x89\\x40\\x2f\\x02\\x03\\x23\\x8a\\x3c\\xc5\\x1b\\xea\\x13\\x00\\x66\\xa6\\xb6\\xd5\\x73\\x52\\xf9\\x9c\\x50\\x25\\x45\\xad\\x23\\x47\\x82\\xb6\\x91\\x5f\\x1a\\xd6\\xbc\\x3c\\x53\\x11\\xcb\\x44\\x65\\x99\\x52\\xc6\\x4e\\x4f\\x3a\\xf9\\xcd\\x16\\x74\\xfe\\xe0\\xf3\\xbf\\xba\\x80\\xc7\\x78\\x45\\xbf\\x49\\x0b\\x1d\\xe8\\xa5\\x20\\xa8\\x60\\xf7\\x35\\x4e\\xb7\\xa2\\xd3\\xf9\\x40\\xc7\\xd4\\x9d\\x7c\\xe5\\x75\\x74\\xe8\\x81\\x23\\xf7\\xbb\\x46\\x8e\\xbd\\x7e\\xc3\\x33\\x5d\\xdf\\x18\\x30\\xc8\\xb5\\xf5\\x61\\x69\\x9d\\x03\\x58\\x36\\xee\\x67\\x1a\\xb0\\xcf\\x95\\x45\\x35\\x46\\x0b\\x3d\\xbc\\x51\\xab\\xd5\\xd9\\x28\\x1d\\x4f\\xc1\\xec\\x80\\xe8\\xc0\\x26\\xc2\\x64\\xd4\\xd4\\xc7\\x74\\x46\\x60\\x20\\xf5\\x8a\\x7a\\xa3\\xce\\xca\\x64\\x92\\x9a\\xe2\\x34\\x13\\x8b\\xc5\\x01\\xf3\\xd0\\xba\\xb1\\xb4\\x55\\x5d\\x66\\x27\\x40\\x9a\\x00\\xc9\\x61\\xac\\x48\\xeb\\x2e\\x95\\xfb\\x08\\xb8\\xfb\\xb7\\xa3\\x2f\\x1f\\x7f\\xf7\\x0f\\xf0\\x21\\xf1\\x6a\\x80\\x6b\\xe0\\xdb\\xd5\\xa0\\xf2\\x93\\x53\\x3f\\xa2\\x93\\xcf\\x4d\\x5e\\xda\\xbd\\x79\\xcc\\x94\\x05\\xdd\\xe8\\xfd\\xc7\\xd1\\xd3\\x07\\xbe\\x7f\\xc3\\x66\\x23\\xae\\x0e\\x1a\\x78\\xe2\\xa7\\x8f\\xbf\\xf8\\xf3\\xea\\x9f\\x67\\x2f\\x59\\x3d\\xe7\\x2b\\x69\\xde\\x03\\xb6\\x11\\xb7\\x28\\xe7\\x6f\\x6c\\xb4\\x82\\x82\\x58\\xdd\\x1a\\x0c\\x02\\xc7\\x69\\x68\\x8d\\x83\\x72\\xf8\\x1c\\xb4\\x1e\\x62\\xdf\\xdb\\x4e\\xe1\\x83\\xa8\\x87\\x64\\xd2\\x0d\\x6d\\x82\\xf8\\x17\\x35\\x1a\\x2c\\x3f\\x1a\\xa3\\x8e\\x4e\\xb8\\x41\\x69\\x3b\\x12\\x51\\x3a\\x7a\\x49\\x18\\x9e\\xb4\\x19\\xc9\\x86\\x65\\xb9\\x11\\x39\\x17\\xfb\\x48\\x6e\\x90\\x48\\x0e\\xd0\\x5d\\xd0\\xdd\\xe8\\x39\\x70\\x67\\xdd\\xa4\\x38\\xc8\\x06\\x67\\xb1\\xd7\\x34\\x68\\xd4\\x73\\x4b\\x67\\xc4\\xfa\\x1c\\x07\\x87\\x50\\x1d\\xf8\\xd0\\xb5\\x75\\xe4\\x81\\x5d\\xd8\\x74\\x1c\\x02\\xff\\xe9\\xdf\\x54\\xdb\\x2b\\x11\\x83\\xb2\\x9f\\x09\\x21\\x12\\x83\\x9a\\x39\\xaa\\xdb\\x32\\xa9\\xfa\\x80\\x0e\\x06\\xcd\\x21\\xda\\xdf\\xc7\\x9f\\x6d\\xb0\\x26\\x33\\x75\\xc9\\x98\\x95\\x60\\x62\\x48\\xef\\x27\\x75\\x36\\xbf\\xc9\\x98\\x18\\x90\\xf6\\xf9\\x08\\x6c\\x69\\xf6\\x6d\\xd9\\x59\\xf2\\xef\\x24\\x6b\\xaa\\x02\\xd8\\xe7\\x5a\\x85\\x7d\\xac\\x3c\\x6a\\x73\\x74\\xa8\\x55\\xb0\\x99\\x1d\\x6e\\xaf\\x91\\x31\\x61\\xd7\\xdf\\x66\\x32\\x6b\\xb2\\xcd\\xb4\\x33\\x9b\\x29\\xc8\\x77\\x0b\\x56\\x7c\\xee\\x1d\\x72\\x40\\x07\\xad\\x51\\x97\\xb7\\x97\\xd5\\xea\\xb7\\xdb\\x80\\x91\\xc7\\x0e\\xa3\\x2e\\x27\\x4c\\x65\\xf8\\x4d\\x66\\xab\\x5f\\xd7\\x10\\xa3\\xfc\\x26\\xbf\\xcf\\x4f\\xdc\\x30\\x23\\xc5\\xe0\\x6f\\xdd\\x29\\x41\\x50\\x84\\x20\\x22\\xa7\\x84\\xb0\\x08\\xcb\\xd7\\x7e\\x64\\x35\\x5b\\xa5\\x5f\\x5a\\x15\\x0c\\xe2\\xe0\\xb6\\xd2\\x4e\\x54\\x75\\x0a\\x5d\\x30\\x50\\x49\\xf2\\x2f\\xf8\\x3f\\x2e\\xe9\\x76\\xe1\\x9f\\x63\\x7d\\x75\\x63\\x73\\xcf\\xec\\xea\\x6e\\x35\\xc2\\xd5\\x12\\xd0\\xe0\\x34\\x74\\xe6\\xab\\x6b\\xfd\\xd7\\xba\\x81\\xc3\\x0d\\xda\\xfb\\xd1\\x2b\\x81\\x8c\\x44\\x6f\\xd3\\x5a\\xef\\x01\\x34\\x44\\x3c\\xc2\\x74\\x1f\\x49\\x4f\\x90\\x51\\x07\\x5f\\x67\\xb6\\x3c\\xb0\\x66\\xcd\\x03\\x8f\\x5f\\xa7\\x74\\x37\\xc5\\xdd\\xeb\\x6f\\x93\\xe5\\x1f\\x2b\\xc8\\x6f\\x95\\x19\\xda\\x65\\x51\\x37\\x07\\x19\\x8a\\x51\\xeb\\xd4\\x7a\\x4e\\x75\\x53\\x8c\\x63\\xa3\\x2c\\x0e\\x8a\\x58\\x23\\xa3\\x08\\x08\\xe6\\xd2\\xe5\\x30\\xbd\\x95\\xaa\\xa0\\xaf\\x52\\x8a\\x10\\xc4\\x1a\\x92\\xf0\\x07\\xf0\\xf9\\x20\\xaa\\x27\\x8e\\xf2\\x97\\xdc\\x9f\\xc0\\xaa\\x42\\xd7\\x33\\xd5\\xcf\\x10\\x6f\\xf9\\xca\\xc4\\x84\\x70\\x20\\xed\\x61\\x33\\x8e\\xab\\xbd\\xd4\\xdc\\x68\\xad\\xd9\\x44\\x43\\xbb\\xdb\\xad\\x56\\x3b\\xa0\\x09\\xeb\\x91\\x20\\x8d\\xcf\\x0b\\x60\\xc9\\x20\\x60\\x97\\x2b\\xc7\\x0c\\x5c\\x66\\xa0\\x26\\xff\\xb7\\x74\\xb4\\x63\\x55\\x62\\x07\\x7a\\x3b\\x56\\x25\\x76\\x3b\\xa7\\xd7\\x5b\\xa4\\xb6\\x6e\\x32\\xa3\\xc2\\x76\\x19\\x55\\x42\\x14\\xc9\\x48\\x49\\xa1\\xe0\\x2f\\x6d\\x4e\\x64\\xb0\\xb4\\x92\\x4d\\xd5\\xfb\\x93\\x7e\\xe5\\x64\\xb9\\x18\\x6f\\xb1\\xd1\\x8e\\x3d\\x5d\\x80\\xb1\\x0c\\x9d\\x7f\\xeb\\x93\\x73\\xdb\\x01\\xff\\xd2\\x73\\xdf\\x1a\\xd0\\x69\\x76\\x78\\xe3\\x98\\xab\\xf3\\x40\\x45\\x10\\x1d\\x83\\xc3\\xf7\\x1d\\x2f\\xdd\\xf7\\xf0\\x97\\xaf\\xbe\\x08\\x06\\xef\\x78\\x71\\xb7\\x7d\\xd8\\x95\\xf3\\x37\\x3e\\x53\\xb6\\xe0\\x2a\\x65\\xc6\\x04\\xe6\\xad\\x90\\xe9\\x8b\\x7d\\xd0\\xc1\\x09\\xff\\x5f\\xa9\\x87\\xee\\x97\\xf8\\x1e\\x72\\x92\\xfc\\xfe\\x57\\xc6\\x81\\x79\\x9d\\x4a\\x54\\x89\\x11\\x44\\x17\\xd5\\xc6\\xd6\\x55\\x62\\x97\\xd6\\x54\\xe3\\xb3\\x8e\\x63\\x58\\x1e\\x3b\\x63\\xd8\\x87\\xca\\xa5\\xc6\\x47\\x2b\\x75\\x3e\\xe0\\xf7\\x6b\\x82\\xac\\x4f\\xc3\\xc2\\x7c\\x9b\\x2d\\x2f\\xc3\\xe9\\x33\\x88\\x5a\\x9d\\x4f\\x57\\x1f\\x03\\xb9\\xc4\\x50\\x04\\x28\\x9f\\x51\\x74\\x62\\x35\\x66\\xf3\\x07\\x54\\x01\\x7c\\xdc\\x55\\xb6\\x56\\xe8\\x39\\x8a\\xc0\\x16\\xe5\\xb7\\x46\\xa4\\x6e\\xa5\\xc4\\x52\\xb6\\xe3\\xd2\\x68\\x37\\x65\\x96\\x8d\\x69\\xc6\\xe4\\x7e\\xf4\\xe0\\xe5\\xe2\\x5f\\xfa\\xbe\\xb6\\x36\\x06\\x4e\\xb8\\x34\\x1c\\x56\\xac\\x0e\\x4d\\x05\\xb1\\x6e\\x7e\\x05\\xf3\\x2a\\x4a\\xa8\\xdb\\x11\\x37\\x0b\\x2c\\x16\\x8d\\x59\\x8f\\x75\\x1b\\xe6\\xd6\\xef\\xd3\\x1b\\xac\\x5a\\x9d\\x99\\x70\\x9a\\x89\\x39\\x15\\xcc\\x66\\xca\\x62\\x57\\xd9\\x25\\x16\\xb1\\xd2\\x4e\\x1a\\x45\\x92\\xa0\\x4f\\x40\\x04\\x61\\xad\\xa6\\xb4\\x6f\\xb6\\x71\\xe5\\xdb\\x70\\x29\\xc7\\x7e\\x6e\\x90\\x01\\x13\\x56\\xfc\\xe6\\x34\\xee\\x06\\xa3\\xed\\x8a\\xae\\x06\\x63\\x07\\x4c\\x34\\x95\\x56\\x56\\x5a\\x5b\\x73\\x05\\x9e\\x94\\x15\\x35\\x78\\xb0\\x65\\x3a\\xc3\\x31\\x34\\x61\\x47\\xde\\x7f\\xa2\\x8b\\xb0\\xe0\\x7e\\x9b\\xc8\\x55\\x33\\x63\\x88\\xfe\\x83\\xdf\\x4b\\xfa\\x6c\\x1e\\xa8\\x91\\xeb\\xb5\\x44\\x73\\x08\\x88\\x4f\\x00\\xe6\\x11\\xd1\\x26\\xa8\\x52\\xf5\\x5a\\xf2\\x5d\\x0d\\xd1\\x97\\x43\\x65\\x7d\\xb9\\x80\\xa2\\x1c\\x8f\\x81\\xac\\x2c\\xfc\\xf6\\x8c\\x27\\x2e\\xfe\\xf1\\x48\\x86\\xdf\\xa1\\x49\\xd5\\x6b\\xc9\\xf1\\x26\\x1b\\xc7\\xef\\x1f\\xa1\\xdc\\xed\\x78\\x94\\xfa\\x2e\\x02\\x21\\x04\\xdc\\x1b\\xdc\\x59\\xb4\\x98\\xd4\\xb0\\x74\\x32\\x66\\x82\\x58\\xba\\x46\\x45\\x4b\\x74\\x56\\xbd\\x80\\xcd\\x86\\x99\\xf7\\xe0\\xb5\\xc5\\x8b\\xee\\xc9\\xf2\\xd3\\x51\\x0a\\x02\\x01\\xc2\\x4c\\xa3\\x0d\\x3a\\x75\\xac\\x5a\\xef\\x33\\x3a\\xd5\\x0d\\x31\\xa7\\x4d\\x48\\x69\\x08\\x25\\x62\\xb2\\x4b\\x46\\x51\\x99\\xa8\\x92\\x80\\xbe\\xa8\\x4a\\x7a\\xae\\x30\\xe0\\x06\\xff\\xe0\\xbb\\xcb\\x61\\xd3\\x86\\x9e\\xbf\\x37\\xc5\\x92\\xa1\\xd3\\x6e\\x93\\x0d\\xfd\\x96\\x16\\x39\\xb5\\x47\\x3b\\xc0\\x68\\x66\\x56\\x2a\\x7c\\xda\\x57\\xdf\\x36\\x78\\x02\\xd4\\xb2\\x8b\\x3f\\x68\\xdc\\xec\\x66\\xaa\\x1c\\x5b\\xf6\\xbc\\x22\\x2e\\x57\\x17\\xf2\\x09\\x42\\xc8\\x49\\x71\\x6c\\x65\\x45\\xa9\\xc7\\xe6\\x69\\x8e\\x95\\xbb\\x74\\x06\\x1c\\x85\\x84\\x0d\\xb4\\x8d\\xc9\\x0f\\x18\\x02\\xcd\\x31\\x8d\\x41\\x4c\\x61\\xaf\\x48\\x50\\x25\\x49\\xb0\\x92\\x56\\xd0\\x92\\xa0\\x22\\x92\\x28\\x36\\xf6\\x85\\x39\\x7f\\xb2\\xfe\\x54\\x01\\xe2\\xa5\\x53\\x91\\x55\\x22\\x38\\x26\\x5a\\x86\\x1b\\xf1\\xc4\\xf3\\x8f\\x01\\xfe\\x86\\x0f\\xd1\\xd2\\x38\\xfa\\xec\\xd9\\x9f\\xd1\\xcf\\x8f\\xa3\\x73\\xdb\\x3e\\x00\\x4b\\x7e\\x1b\\xbc\\x29\\xb6\\x65\\xf8\\xe4\\x2d\\xdf\\x2f\\xdb\\xbf\\x67\\xea\\xb1\\xba\\xce\\xc0\\xd0\\x79\\xd6\\x1b\\x9b\\xff\\xd8\\xb0\\x63\\x4f\\xed\\x84\\x62\\xb6\\x67\\xfd\\x7a\\x74\\xfe\\xc0\\x0f\\x68\\xe2\\x97\\xd7\\x5f\\xbf\\x19\\xb8\\x0f\\xfc\\x02\\x56\\x9f\\xf0\\xb7\\x7b\\xbf\\xe3\\x0e\\xf4\\xed\\xfd\\x8f\\x1e\\xed\\x5c\\x05\\xba\\xa0\\x67\\xe7\\xef\\x06\\xed\\x1e\\x78\\xe8\\xc1\\x80\\x53\\x8e\\x1b\\x71\\x14\\xcc\\xf5\\x90\\xee\\xba\\xba\\x45\\xb3\\xb0\\xf9\\x10\\x05\\x83\\x46\\xab\\xd7\\xe9\\xb4\\x82\\x59\\xc5\\x73\\x4e\\x1b\\x4d\\xbb\\x2c\\x06\\x83\\x4a\\xeb\\x10\\x74\\x46\\x5e\\x6b\\x95\\xd1\\x33\\xe5\\x28\\xab\\x35\\xba\\xb3\\x9c\\xa9\\xc2\\x27\\x43\\x43\\x34\\x3d\\x27\\x69\\x7b\\x52\\x97\\xef\\x17\\x29\\x73\\x59\\x98\\xeb\\xa0\\x9d\\xfd\\xc1\\x61\\xf4\\x7b\\xe1\\xca\\x8d\\xe8\\xf7\\xf5\\x20\\xb7\\x5b\\xd3\\xe6\\xc2\\x22\\x10\\xec\\x06\\xb2\\x78\\xa6\\xba\\xbc\\xc7\\x7e\\xf4\\x1c\\xfa\\xe0\\x3e\\x30\\xf1\\xe4\\x3a\\xa6\\xba\\xe5\\xd1\\x11\\x80\\x5a\\x09\\xae\\x6a\\x79\\x14\\x14\\x83\\x7b\\x23\\xb5\\xb2\\x9f\\xdb\\x8c\\xe9\\xcc\\x55\\x6a\\x42\\xaf\\x8c\\x96\\x01\\x33\\x6d\\x62\\x78\\x95\\x9b\\x11\\x59\\x1d\\x14\\xb0\\x9b\\x22\\x8a\\x26\\xbb\\x4e\\x67\\xf2\\x7a\\x78\\x81\\x12\\xc6\\xc4\\x18\\x8a\\x32\\xd1\\x2a\\x77\\x73\\x4c\\xa5\\xc2\\xb6\\xc3\\x24\\x36\\xc7\\x4c\\x42\\xeb\\x4b\\x56\\x47\\xd1\\xa5\\x77\\x49\\x12\\x2c\\x74\\xc2\\xe0\\xca\\x05\\x96\\xe4\\xbf\\x64\\x42\\x38\\x99\\xde\\xbc\\x16\\x8c\\x0c\\x80\\x70\\x36\\x78\\x3d\\x88\\x2a\\xb2\\xc1\\xbc\\x64\\xae\\xf3\\x35\\x74\\x0f\\x38\\x9b\\x48\\x75\\x32\\xc7\\x1e\\x7b\\xec\\x99\\xa7\\xa5\\xdc\\xb0\\xbe\\xe5\\xa4\\x94\\xec\\x94\\xfd\\xc8\\x6b\\xf0\\x7a\\x93\\x09\\x71\\xb1\\x68\\x51\\x0e\\x0f\\x7d\\x14\\x95\\x95\\x65\\x70\\x8b\\x4e\\xa7\\xc5\\x62\\xb5\\x1a\\x78\\x58\\x58\\x90\\x69\\x6e\\x88\\x65\\x1a\\xa1\\xaf\\x29\\xe6\\x76\\x40\\x68\\xc5\\xfe\\x86\\x55\\x13\\xc4\\x0a\\xcb\\x96\\x72\\x24\\x85\\xaa\\xd6\\x7e\\x64\\xeb\\xce\\x61\\xc0\\x19\\x41\\x02\\xce\\x4a\\xc6\\x82\\x61\\xb4\\x80\\xdc\\xed\\x29\\xae\\x82\\x98\\xd6\\xbb\\xc6\\x3c\\x67\\x1d\\x98\\x79\\xf5\\x4f\\x5f\\x5e\\x38\\x73\\xf7\\xe3\\xb1\\xf6\\xf5\\x68\\x6a\\xcf\\xd1\\xe8\\xec\\x4e\\xa7\\x19\\xe8\\xac\\x6a\\xa6\\xe6\\xcc\\xb1\\x5a\\x71\\xc8\\xf0\\xba\\xe6\\xb1\\xb3\\x99\\xea\\x51\\x7f\\x8d\\xdc\\xb2\\xe9\\x91\\x23\\xfd\\x77\\x2c\\x18\\x76\\xea\\x39\\x0d\\xda\\x86\\x7c\\xb0\\xf3\\xc2\\x95\\x3b\\x3b\\xce\\xbc\\x2a\\xbe\\x73\\x78\\xfb\\x31\\xfd\\xc7\\xd5\\x91\\x20\\x00\\x50\\xd9\\x17\\x7f\\x50\\x19\\xf0\\x79\\x0a\\x10\\x4c\\x23\\xa7\\xcb\\x24\\x8a\\x8c\\x0f\\x06\\xb0\\x56\\xf3\\x99\\x5d\\x4c\\x36\\x0e\\x07\\x82\\x5e\\x7b\\x73\\xcc\\x2b\\x4a\\xc9\\x5c\\x46\\xcc\\x82\\x59\\x78\\x7b\\x9c\\x94\\x96\\xe0\\x37\\x41\\x09\\xdf\\x44\\x3e\\x4f\\x69\\xa6\\xa7\\x0d\\xda\\x43\\x24\\x55\\xb3\\x10\\x11\\x28\\xbf\\x52\\xcd\\xed\\x83\\xa9\\x62\\x6e\\x4e\\x6a\\x2e\\x2c\\x0f\\x40\\x52\\xcb\\x10\\x9e\\x79\\xba\\x16\\x6c\\x02\\x61\\xa5\\xac\\x7b\\xd7\\x5c\\x74\\xff\\x54\\x70\\xb1\\x10\\xe9\\x36\\x6d\\x21\\x65\\xdd\\x13\\xd1\\xc1\\x2f\\xd1\\xb7\\xe8\\xc4\\x7f\\xe7\\xb2\\x2b\\xe2\\x47\\x80\\x17\\x74\\x94\\xca\\xbb\\xd1\\xba\\xd3\\x9e\\x27\\x1e\\x06\\xf4\\xdc\\x27\\x9f\\xc4\\x92\\xe8\\xf5\\xc7\\x77\\x13\\x3f\\x11\\xef\\xdf\\x14\\xe9\\xbe\\x7f\\x42\\xb4\\xda\\xe5\\xc6\\x11\\x0e\\xe3\\x87\\xc1\\x20\\x45\\xf9\\x05\\x37\\x13\\xc2\\xbc\\x85\\x33\\x70\\x30\\x90\\x61\\x93\\xa2\\x18\\x93\\x25\\x3b\\xdb\\x0c\\xd7\\x40\\xb0\\x08\\x82\\x61\\x10\\xb8\\xa0\\x56\\x0b\\x5d\\x38\\x60\\xa4\\x48\\xdb\\x99\\x84\\x28\\x41\\x1c\\x0f\\xc2\\xcd\\xbf\\x31\\x99\\x8c\\x07\\x5a\\xfb\\x20\\x91\\x94\\x87\\x82\\xa3\\x86\\xc0\\xbb\\xc0\\x39\\xf8\\x91\\xae\\xc0\\xfb\\x6d\\xc2\\x17\\x19\\xb7\\x28\\xac\\xf8\\x22\\x43\\x88\\xb3\\x12\\x41\\xe7\\xdf\\xfe\\xe4\\x1c\\x38\\x3c\\x14\\x1b\\x9c\\xde\\x67\\x4f\\x4b\\x4e\\xc9\\xe2\\xb5\\xc4\\x29\\x39\\x5e\\xba\\xf7\\x91\\x2f\\x5f\\xcd\\xd2\\xa3\\x8e\\x72\\x8c\\xc0\\x52\\x52\\x4d\\x89\\x40\\xfa\\x2e\\x28\\x2d\\x64\\x18\\xd6\\x44\\xd3\\x46\\x56\\xcb\\x5a\\x78\\x95\\x4a\\xa4\\x39\\x23\\xd7\\x1c\\xd3\\xa9\\x8d\\x46\\x95\\x1a\\x3b\\x81\\x04\\x3a\\x25\\x12\\x51\\x24\\x32\\x55\\x85\\x95\\x02\\x3a\\x90\\x2a\\x17\\x60\\x80\\xdc\\x2e\\xc8\\xfd\\x42\\xc4\\x75\\x85\\x21\\xf8\\x49\\xef\\x09\\x57\\x9c\\x1d\\xb7\\x10\\x21\\xf4\\x11\\x14\\xc1\\x88\\x1f\\x51\\x95\\xb5\\x6e\\x23\\xa8\\x2a\\x15\\xc0\\xe7\\xc8\\x4f\\x3e\\x48\\xd5\\x02\\xb3\\x27\\xba\\x09\\x7d\\x0f\\xfa\\x5e\\x27\\xf9\\x34\\xf7\\x62\\x3b\\xc8\\x4a\\xb1\\xae\\x81\\xd0\\xc6\\x73\\x1a\\xad\\x96\\xd2\\xab\\xd5\\x3a\\x8a\\xc3\\xa7\\x1d\\x42\\xa3\\x1a\\xe8\\x40\\x63\\xcc\\xc0\\xe8\\x74\\x90\\x31\\x6a\\x79\\x68\\xfd\\x1f\\x68\\x93\\xf3\\xe9\\xa2\\x4c\\x62\\x04\\x82\\x43\\xbd\\x0f\\xa2\\xef\\xe8\\x31\\xa0\\xe1\\x20\\xfa\\x29\\x5c\\x57\\xfb\\xe6\\x98\\x8f\\x73\\xc1\\x70\\xb4\\x8b\\x84\\xe0\\xe4\\x2b\\x6d\\x03\\x83\\x94\\xda\\x09\\x3e\\x03\\xaf\\x13\\xc1\\xee\\x1a\\x1a\\x2d\\x54\\xf1\\x5a\\x9d\\x4e\\xef\\xd0\\x68\\xec\\x7a\\x23\\x51\\x46\\x58\\xfd\\xe8\\x79\\xc6\\xe3\\x36\\x68\\x04\\x28\\x34\\xc7\\xec\\x16\\x16\\x42\\x16\\x4b\\xb7\\x49\\xa7\\x4a\\x64\\xc8\\x25\\x21\\xbf\\x4c\\x7d\\x7a\\x1a\\x6d\\x52\\x4d\\x4e\\x92\\x38\\x69\\xfd\\xa0\\xb2\\x7e\\x92\\x58\\xdf\\x08\\xe6\\x83\\x35\\x64\\xed\\x3e\\xe9\\x3d\\x71\\xdc\\xd9\\xb1\\x0b\\xc8\\x62\\x02\\x2d\\xfa\\x78\\x24\\xa3\\xb7\\xd6\\xad\\x07\\xe5\\x25\\x02\\x16\\xe8\\xce\\xf4\\x0b\\xe7\\x97\\x25\\x16\\x95\\x7c\\xa4\\x2d\\x2a\\x4d\\x19\\xb1\\x5e\\x15\\x25\\xdf\\xc9\\x46\\xf0\\x00\\x8c\\x06\\x01\\x13\\x6f\\x35\\x9b\\x2d\\x14\\x0d\\x35\\x04\\x69\\x01\\x52\\x06\\xc6\\x61\\x37\\x03\\x56\\xc3\\x36\\xc6\\x2c\\x36\\x9d\\x46\\xc3\\xeb\\x8c\\x2a\\xa3\\x68\\x84\\xbc\\x55\\xbe\\x11\\x97\\x17\\xf8\\xdf\\x39\\x01\\x81\\xd4\\x25\\x7d\\xda\\x6a\\xc3\\xe7\\xc9\\x6a\\xbf\\x88\\xfe\\xac\\x95\\x80\\xb4\\xa7\\x80\\xfe\\xa0\\xbc\\xed\\xca\\xcb\\xab\\x1f\\xff\\x84\\xce\\x4e\\xdf\\x01\\x22\\x0f\\x3f\\x62\\xda\\xa7\\x4b\\xb3\\x56\\xb2\\xa8\\x91\\xd1\\x62\\xbf\\xd9\\x63\\x15\\x8c\\x3e\\x40\\xa6\\x15\\x67\\x99\\x4c\\xd0\\x67\\x35\\xb3\\xd9\\x2a\\xb5\\x3a\\x40\\x31\\x46\\xa6\\x39\\x26\\xf8\\x4c\\x46\\xa3\\xda\\x64\\x22\\xca\\x06\\x3a\\x69\\xb5\\x2c\\xb8\\xc9\\x4e\\xe5\\x48\\x4a\\x42\\xd2\\x6d\\x5a\\xea\\x92\\x5f\\x09\\xba\\x3a\\x43\\x6c\\xd3\\xa4\\x04\\xb9\\x52\\x8d\\x1f\\x0a\\x84\\xf1\\xb6\\xbc\\x37\\x03\\x9d\\x9a\\x61\\xb9\\x63\\x97\\x3d\\x8a\\x4e\\xf5\\x74\\x0c\\xbd\\xe6\\xc9\\xab\\x11\\x2b\\x20\\xdb\\xe1\\xe7\\xb4\\xe5\\xe8\\xab\\x4e\\xdc\\xea\\xf9\\x73\\x41\\x36\\xea\\x43\\x47\\xe3\\xcf\\xd1\\xd1\\x05\\x73\\xd1\\x3e\\x70\\xe5\\xd2\\x3b\\xc6\\x74\\x60\\xe8\\xb1\\xf1\\xed\\x86\\x63\\x0f\\x75\\xa9\\x42\\x5f\\x83\\x4e\\x7e\\xef\\xa8\\x09\\xe7\\xc0\\x5c\\xc9\\xde\\x61\\x09\\x62\\x49\\xac\\xee\\xa4\\x3c\\x78\\x5f\\x8a\\xdc\\x5a\\xbb\\x49\\xa7\\x76\\x51\\x00\\x38\\x69\\x8f\\x86\\x25\\x21\\xbb\\xcb\\xa4\\xe5\\x32\\xbc\\x98\\x11\\xba\\x31\\xa6\\x73\\xa9\\xd5\\x9c\\x46\\xe3\\x69\\xc0\\x61\\xba\\x05\\x70\\xd6\\x74\\xd6\\xaa\\xda\\xd6\\xc8\\xa7\\x33\\x86\\xad\\x5a\\x96\\x91\\xb4\\xd2\\x91\\x7d\\x91\\x47\\xd9\\xfb\\xc9\\x88\\xbe\\x00\\x71\\x6e\\xb3\\xd1\\xb9\\x86\\x1f\\x0a\\xb3\\xd0\\xb9\\xf2\\x5a\\xb0\\xfe\\x04\\xd3\\x1b\\x4d\\xbf\\x6a\\x53\\x1d\\x9b\\x8b\\x7e\\xcc\\xe2\\x5f\\x9c\\xf4\\x05\\x7a\\x14\\x6c\\xfd\\xf6\\x00\\x60\\x41\\x1d\\xf8\\x06\\x39\\xd4\\x83\\xd7\\x0e\\xb7\\xe5\\xbf\\x76\\x20\\xe0\\xdb\\xfd\\x10\\x08\\xc9\\x36\\x1b\\xff\\x4f\\x75\\x1f\\xde\\x9f\\x00\\x15\\xa2\\xa6\\x45\\xab\\x7c\\x4e\\x9b\\x98\\x2d\\xed\\x4e\\xc8\\x82\\xb7\\xc5\\x02\\xb3\\x9d\\x6c\\x38\\x68\\xb5\\xe6\\x08\\x06\\x83\\xd1\\x18\\x66\\x28\\xbd\\xa0\\x6f\\x8e\\x65\\xdb\\x04\\xc1\\x68\\xb1\\x84\\x9a\\x63\\x16\\x68\\x82\\x5e\\x35\\x6d\\x14\\x14\\x31\\x6b\\xd3\\xd3\\x01\\x92\\xe2\\x25\\xb4\\xe5\\xac\\xd5\\x86\\x55\\x54\\x2a\\x2d\\x1e\\x97\\xd9\\x36\\x4e\\x97\\xbe\\x6d\\xae\\x7e\\xe8\\xc5\\xe9\\xa4\\x40\\x1e\\x84\\xe7\\xd1\\xef\\xfc\\x5f\\xfb\\xb7\\xa9\\x6b\\xfc\\x65\\x7c\\xbc\\xb6\\xff\\xc3\\x16\\x62\\xfe\\xc3\\x58\\x47\\x6c\\x93\\x72\\xe5\\xd9\\xd4\\xe4\\x68\\xfb\\x80\\x98\\xe9\\xb0\\x98\\xb3\\xf0\\x1e\\xfa\\xe9\\x6c\\x81\\xe5\\x4c\\x58\\x63\\xe8\\x39\\x81\\xce\\x72\\x88\\x7c\\x28\\xe8\\xa7\\xb5\\x26\\x6d\\x43\\x2c\\xcb\\x62\\x32\\xe9\\x05\\x21\\xbb\\x81\\x74\\xb7\\x18\\x3d\\x1c\\xd0\\x5b\\x2f\\xcf\\x7e\\xeb\\xb8\\xe4\\x32\\x7b\\x5a\\x49\\x66\\xa4\\xc8\\x27\\xee\\xd2\\xbd\\x65\\x0b\\x13\\x7b\\x5b\\xa2\\xc9\\x77\\xa3\\x9f\\xfa\\x49\\xe7\\xaf\\x99\\x9e\\xf9\\x0f\\xdb\\xfc\\x6b\\x69\\x83\\x88\\x16\\x62\\xd3\\xe1\\xb8\\xec\\x66\\x83\\x8b\\xaf\\xa0\\x21\\x6c\\x06\\xf7\\x3b\\x35\\x80\\xda\\x12\\x1d\\x98\\xdb\\xc3\\xdf\\xcf\\xa8\\xed\\x16\\xc1\\x0f\\x2b\\x0e\\x96\\x55\\xf4\\xd6\\xf6\\xeb\\xa1\\xea\\xe4\\xec\\x34\\x88\\x72\\x3a\\x07\\x56\\x47\\xc7\\xc4\\xaa\\xab\\x8d\\x65\\x40\\x0d\\xcb\\x2a\\xa2\\x2a\\x02\\x0e\\xe7\\xb7\\xf5\\xee\\x4d\\x86\\xa6\\x34\\xc7\\x22\\xdd\\x8a\\x60\\xa8\\xc2\\xa0\\x0a\\x85\\x54\\x06\\x68\\xab\\xa8\\x28\\x68\\x8e\\x55\\x30\\x36\\xd8\\x1c\\xb3\\xb9\\xd3\\x8b\\x3e\\x1c\\x64\\x84\\x37\\xb9\\xf3\\x56\\x0a\\xbe\\xaa\\xa4\\xfb\\x86\\x37\\x71\\x1c\\x51\\x5a\\x94\\x42\\x23\\x49\\x3b\\xc6\\x64\\x59\\xec\\xd2\\x3d\\x1a\\x2d\\x37\\xd2\\x48\\xd7\\x82\\x06\\x5a\\x41\\x22\\x51\\xf0\\x2e\\x52\\x55\\xee\\x1c\\x1f\\xc4\\xab\\x07\\x23\\x62\\x65\\x0a\\x32\\x52\\xae\\x8a\\x91\\xcb\\xde\\x39\\x86\\x37\\xd0\\x2f\\x96\\x45\\x4a\\x16\\x5e\\x73\\x6d\\xa7\\xab\\x97\\xa8\\xd0\\x19\\xa6\\x63\\x60\\xf4\\xcc\\x65\\xdd\\x6e\\xda\\x3b\\xe3\\xfd\\xf7\\x37\\x2f\\x5e\\xb4\\x71\\x73\\x55\\x41\\x15\\x18\\x38\\x69\\xcc\\xf4\\xbb\\x2a\\x2f\\x52\\x5d\\x3e\\x78\\x72\\xe6\\xd1\\xfa\\xcd\\x91\\x41\\xed\\x4b\\x06\\xd9\\xc7\\xea\\xdc\\x7e\\xff\\xaa\\x15\\xb7\\xed\\x3e\\x3c\\x6f\\x3d\\xd6\\xc3\\x3f\\x0d\\xbd\\x7e\\xe0\\xc2\\xac\\x22\\x7f\\xae\\xff\\xea\\x99\\xe1\\x76\\x59\\x9d\\xfd\\x39\\xfe\\xed\\x37\\x4c\\x59\\x3b\\x34\\xc3\\x6a\\x1a\\xd8\\xaf\\xdf\\x88\\x53\\x9f\\xf7\\x8c\\x4d\\x5d\\xd0\\x67\\xc7\\xbe\\x0c\\x30\\x12\\x3d\\xf4\\x79\\x9f\\xd2\\x9c\\x50\\xcc\\xd5\\xee\\x51\\xf7\\xc3\\xb3\\x6e\\x3b\\x1c\\x14\\xb7\\x4f\\xbb\\xe1\\xd1\\x81\\x16\\x95\\xbb\\x44\\xda\\x83\\x37\\x71\\x1c\\x37\\x9d\\xbd\\x99\\x6a\\xa2\\xae\\x8d\\xf6\\x34\\x15\\xa8\\x23\\x3d\\xba\\xe5\\x3a\\x3d\\x6e\\x97\\xd5\\x66\\x73\\xe9\\x3c\\x45\\xdd\\x22\\x05\\xaa\\x00\\x15\\x18\\x58\\x4d\\x51\\x03\\xfa\\x74\\xa9\\x56\\xd7\\x17\\x15\\xe9\\x9d\\xb9\\x56\\xa8\\xeb\\xd1\\x45\\xa7\\xeb\\xd2\\x03\\x7a\\x3a\\xd6\\xbb\\x43\\x3e\\x9f\\xd1\\x85\\xb7\\xc6\\xe5\\x89\\x7a\\xc4\\xa6\\x98\\x47\\xba\\x81\\x4d\\xae\\x6d\\xa4\\x46\\x19\\xa4\\x6e\\xb6\\x57\\x45\\x12\\xc9\\x96\\xd6\\xcb\\x9d\\xb6\\xe0\\x7c\\x59\\x67\\x5a\\x81\\x46\\x49\\x55\\x2a\\xfc\\xe3\\xb2\\x4a\\x95\\x0b\\xd8\\x6d\\x25\\x17\\x9e\\xf2\\x3e\\xe1\\x6d\\x0a\\x48\\x97\\x5d\\x06\\xa9\\x49\\x3d\\x52\\x30\\x64\\xed\\xa6\\x15\\xc3\\x23\\x4b\\x6e\\x0c\\xec\\xde\\xd4\\xd8\\xf5\\xde\\xd0\\xb7\\x59\\x3b\\x56\\xcf\\x3a\\x3a\\x68\\x7d\\xf9\\xa0\\xaa\\x92\\x26\\xbc\\xac\\xae\\xcc\\xec\\x45\\xc3\\xc7\\xdf\\xbd\\x66\\xda\\xc2\\x87\\xde\\x99\\xb9\\x6e\\x4a\\x73\\x30\\x36\\x66\\x62\\xc5\\x33\\xdc\\x77\\xa0\\x73\\xb8\\x5b\\xdf\\xa1\\x1d\\x7b\\x2f\\xe9\\xb5\\xa7\\xcf\\xd4\\x86\\x2a\\xb7\\x23\\x54\\x5d\\x18\\xad\\x79\\x68\\xe8\\xb0\\xfc\\x8a\\xf5\\xb6\\xb9\\x9b\\x9c\\xa0\\x33\\x7a\\xf3\\xc5\\x5e\\x65\\xd2\\xc2\\xde\\x93\\x71\\x75\\xaf\\x79\\xb7\\x0b\\x8c\\x38\\x7f\\xd8\\x8a\\xad\\x7e\\xd1\\xd6\\xb5\\xbc\\x87\\x27\\xcb\\x73\\x2c\\x98\\xa3\\x67\\xaa\\xf0\\x8b\\x9a\\x39\\xc4\\xbf\\x3d\\x83\\xed\\xce\\xeb\\x52\\x7f\\x57\\x9f\\x68\\xb6\\x91\\x32\\x00\\x03\\xc4\\x27\\x19\\xd0\\x6a\\x15\\xad\\x72\\x61\\x1f\\xde\\x6d\\xd4\\x41\\x1d\\x19\\x36\\x07\\x69\\x8b\\x5e\\x45\\x7a\\x97\\x6a\\xa4\\xa0\\xa9\\x28\\xd2\\xda\\x0b\\x69\\x03\\x76\\xe0\\x17\\x31\\x97\\x24\\xb5\\x6a\\x4b\\x1b\\xe4\\x45\\x53\\x7e\\xf8\\x14\\x99\\xe3\\xb5\\xf6\\x9e\\x26\\x73\\x1e\\xb0\\xb7\\xd7\\xdf\\xbc\\x11\\xd8\\x37\\xaa\\x77\\xee\\xf1\\x93\\x29\\x5e\\xa5\\x38\\xee\\xf8\\x56\\x9e\\xe2\\x35\\xf8\\xe9\\xff\\x80\\xef\\xe3\\x6b\\xae\\x25\\x23\\xbc\\x56\\xed\\x24\\x23\\xbc\\xd0\\xdf\\x17\\xa5\\x18\\xef\\x08\\x1a\\xc2\\xb1\\x92\\x2d\\xe9\\x15\\xcd\\x66\\x58\\x4a\\xed\\xd4\\x38\\x75\\x76\\x87\\x43\\xa3\\x15\\x05\\x41\\xcb\\x42\\xb7\\xcb\\xc1\\x08\\x46\\xca\\xae\\xb3\\xd7\\xc7\\xd4\\x3a\\x9b\\x56\\xc6\\x3f\\x54\\xe0\\xab\\x52\\xe1\\x6c\\x82\\x56\\x79\\x62\\x02\\x90\\xc2\\x71\\x86\\x25\\x70\\x88\\xb0\\x1c\\xeb\\x18\\x8b\\x44\\x76\\xed\\xda\\x35\\x99\\x04\\xe9\\xb9\\x04\\x7d\\x80\\x7e\\x22\\x50\\xcf\\x57\\x5e\\xd7\\x3f\\x8b\\x05\\xa2\\xa6\\x57\\xc5\\x41\\x00\\x0e\\xd2\\x37\\xdc\\x45\\xa0\\x9e\\xff\\x3e\\x25\\x21\\x3d\\x83\\x92\\x51\\x77\\x1d\\xa0\\x67\\xb4\\xb4\\xb4\\xaf\\x83\\x37\\xc8\\x35\\x6e\\x89\\x59\\x89\\x06\\xca\\x4b\\x15\\x60\\xab\\xa1\\xb7\\xe7\\xe5\\x41\\x1c\\x8e\\x6b\\xa1\\xb6\\x5d\\x61\\xe0\\x89\\x8b\\x3f\\x47\\x4b\\xf4\\x74\\x5d\\xc0\\x69\\xc2\\x9f\\x9d\\x42\\x5e\\xce\\xc7\\x39\\xc0\\x98\\x93\\x99\\xd3\\x9c\\xb3\\x2c\\x67\\x5d\\xce\\x5d\\x39\\x9c\\x1a\\x1a\\x73\\x8c\\x39\\x3c\\xc5\\x5b\\xa5\\x42\\xd1\\x8c\\x4b\\x8a\\x2c\\x25\\x48\\xe0\\x91\\x12\\x6e\\x51\\x24\\xbf\\x6d\\x25\\x41\\xeb\\xd9\\x8a\\x30\\x2b\\x14\\x96\\xea\\x45\\xa5\\x3a\\x2b\\xe0\\x83\\x52\\x4b\\x2c\\x96\\x4c\\x7b\\x3b\\x20\\xc3\\x52\\xbe\\x8b\\x56\\x25\\x46\\x2c\\x5e\\xed\\x1b\\xeb\\x07\\x87\\x76\\x82\\x59\\x33\\x46\\xcd\\x6a\\x37\\x69\\xf6\\x22\\xe0\\x43\\x6b\\xa7\\xfa\\xc6\\x87\\x7a\\x4e\\x1d\\x3f\\xa9\\xdb\\xc8\\x2b\\x99\\x87\\x65\\xac\\xca\\x3f\\xd0\\xe4\\x8f\\x13\\x63\\x17\\x5b\\xd6\\x98\\x8c\\x8f\\x3f\\x0a\\x56\\xe6\\x67\\x04\\x33\\xe8\\x9b\\xd0\\x6a\\x93\\x15\\xbf\\x08\\xed\\x7b\\x5c\\xca\\xf9\\xcb\\x35\\x0a\\x94\\x1e\\xdb\\xff\\x7c\\x6a\\x62\\xb4\\x53\\xd0\\xed\\xa6\\x32\\x31\\x5f\\x85\\x05\\xa2\\xcf\\xea\\x0d\\xbb\\x82\\x5e\\x60\\x74\\xdd\\xe5\\xa2\\xa7\\xbb\\x96\\xb9\\x0e\\xb8\\x2e\\xba\\x98\\x3c\\x17\\xfe\\x41\\xa6\\x8b\\xd6\\x41\\xaf\\xcb\\xeb\\x62\\xb4\\x5a\\x53\\x3d\\x01\\x36\\xf1\\xb7\\x01\\x36\\x49\\xac\\x00\\x19\\x3b\\x8a\\x99\\x06\\x45\\x6d\\x40\\x4e\\xe8\\xb4\\x4b\\x4f\\x56\\xba\\x69\\x56\\xd4\\xa6\\x9d\\xcd\\x0a\\xcb\\xdd\\x0a\\xd2\\x72\\x30\\x3b\\xef\\x41\\xef\\x1f\\xf9\\x08\\x25\\xb1\\x2e\\x17\\xaf\\x0b\\x94\\x45\\xca\\xfa\\x74\\xed\\x51\\xdc\\x2e\\x82\\xba\\x16\\xe5\\x30\\x6f\\x0c\\x9d\\x52\\xef\\xac\\xe8\\x9a\\x15\\xed\\xd1\\x48\\xef\\x7d\\x1b\\x3d\\xb3\\xff\\xbb\\x37\\x15\\xe8\\xcb\\x5b\\x37\\x98\\x1c\\x19\\x0e\\x21\\x6e\\x3a\\xdf\\x69\\xf9\\x64\\x93\\xc3\\xeb\\x90\\xef\\x22\\xee\\xc3\\xe7\\x8a\\xd4\\xd1\\x5a\\x48\\xbf\\x07\\xa0\\x38\\x48\\x73\\xb4\\xc1\\x6a\\xb0\\xe9\\xb0\\x91\\xd0\\x31\\x1c\\xa0\\x13\\xf0\\xbe\\xad\\xc0\\xb2\\x24\\x8b\\x47\\x4e\\x8d\\xbd\\xa2\\x12\\xa4\\x03\\x7a\\xbd\\x8e\\xde\\xff\\x0b\\x94\\xcd\\x12\\xd8\\x4e\\x9d\\x41\\x87\\xa6\\x17\\xae\\x7f\\xe8\\xc6\\x9d\\xbd\\xfa\\x94\\xf5\\xcd\\x63\\x57\\xb4\\xcc\\xbf\\x67\\xc2\\x2d\\x0b\\xe8\\x19\\xdb\\xd7\\x6f\\xd8\\xd3\\xd4\\xa1\\x2f\\x79\\xf6\\x74\\xec\\x6f\\x4d\\xc5\\x71\\x9d\\x35\\xed\\xd9\\x46\\x9b\\xd1\\xae\\x17\\x1a\\xc8\\x15\\x32\\xa0\\x8d\\x0a\\xf0\\xe0\\x3f\\x3c\\xbb\\xb2\\x0d\\x9a\\xd8\\x74\\x74\\xf0\\x20\\xf0\\xf5\\x64\\x44\\x57\\x75\\xe8\\xbe\\xa1\\x0f\\x5c\\x3b\\xf5\\xaa\\x35\\x85\\xd9\\x85\\x9d\\x42\\xd8\\x93\\xbd\\x27\\xf3\\x87\\xea\\xeb\\x7a\\x82\\xae\\x7b\\xaf\\xeb\\x7e\\xc2\\x5b\\xdd\\x4d\\xbe\\x13\\x96\\x78\\xe7\\xf3\\x85\\x10\\x13\\x94\\xe6\\x16\\xbf\\x43\\x17\\x83\\x3a\\x19\\x43\\xd8\\xe7\\x23\\xbd\\xc1\\x9e\\x27\\x2e\\x36\\x3d\\xe2\\x71\\xca\\x8d\\x93\\xca\\xc5\\x2f\\xfe\\x3d\\x89\\x6e\\x72\\xd7\\xc7\\x84\\xe4\\xdf\\x93\\x72\\xed\\xd2\\xef\\xf9\\xfd\\xe4\\xb6\\xd8\\xfb\\xc4\\xc5\\xe5\\x8f\\x78\\x5d\\xb4\\xb1\\x35\\xf6\\xf0\\x18\\x34\\x44\\xdd\\x80\\xd7\\x5a\\x4f\\xb9\\xa9\\x42\\xaa\\x31\\x9a\\x9f\\x1f\\xcc\\x09\\x87\\x04\\xca\\xc9\\xf3\\x19\\x54\\x28\\x87\\x6d\\x97\\x9b\\x97\\x57\\x94\\xe3\\xc9\\x0d\\x19\\x3d\\xfe\\x86\\x98\\xc7\\xad\\xc5\\xe7\\x49\\xcb\\x30\\x38\\x62\\x67\\xc4\\x14\\xd4\\x41\\x22\\x8d\\xd1\\xa6\\x97\\x49\\x42\\x4a\\x25\\x82\\xa4\\x5c\\x76\\x09\\xc9\\x72\\x45\\xe9\\xc2\\x0b\\x24\\xfb\\x5e\\xa0\\x84\\x1f\\x61\\x00\\xcc\\x3b\\x8f\\xa2\\xe7\\x5f\\x7b\\xeb\\xeb\\xc7\\x40\\xd5\\xb1\\xb7\\xbe\\x89\\x4f\\x1f\\xb7\\xeb\\xca\\x09\\xb1\\xb1\\xbb\\xae\\x98\\x00\\xb5\\x63\\xfa\\x85\\x72\\xdb\\x95\\x0f\\x68\\xa8\\x7d\\x0c\\x04\\x06\\x82\\x95\\xa0\\x20\\xbe\\x7a\\xf6\\x47\\x70\\xcd\\x45\\x0a\\x0d\\xf8\\x15\\xb8\\xfe\\x6a\\x01\\x87\\x4f\\xa1\\x73\\x2d\\x8d\\x0f\\x83\\x2e\\xfb\\x6e\\xdd\\x75\\x00\\xbd\\xb0\\x77\\xe3\\x81\\xf8\\x4a\\xe1\\x25\\x75\\x38\\x36\\x87\\xc9\\x6a\\x79\\x0b\\x96\\x5e\\xb8\\xf9\\xf8\\x0e\\x59\\xb7\\xd4\\xa2\\x21\\xaa\\x01\\x78\\x8f\\xff\\x77\\x9e\\xa5\\x13\\x64\\x48\\x3b\\x41\\xff\\xce\\xb3\\x8c\\xe5\\xa0\\x94\\xc4\\xfc\\x5f\\x3c\\xc3\\x43\\x1b\\xfe\\xdc\\xb6\\xf5\\x91\\x75\\x7f\\xde\\xb6\\xfd\\x61\\x44\\xd7\\x4c\\xed\\x59\\x55\\xd2\\x79\\x52\\xaf\\x72\\x7a\\xf6\\x65\\x39\\xa6\\x9f\\x39\\x8a\\xf6\\x3f\\x79\\xe6\\xf0\\x73\\xa0\\xcf\\xe1\\xf7\\xe2\\xa5\\x6b\\x00\\xb5\\x72\\xfc\\xd4\\xeb\\x2e\\x52\\xd7\\x8c\\x9f\\x15\\xdf\\x7b\\x09\\xbb\\x34\\xd5\\xf5\\xe2\\x0d\\xdc\\x26\\xf6\\x6f\\xac\\xf3\\x4b\\xa8\\x48\\xd4\\xed\\xb7\\x68\\x4c\\x0e\\x58\\xc8\\x71\\xd0\\x64\\x61\\x22\\xa5\\x9a\\xdc\\xe6\\x98\\x86\\x81\\xc5\\xcd\\x31\\x98\\x6a\\x99\\x07\\x6d\\x0b\\x0d\\x43\\x94\\x04\\x18\\x2d\\xdb\\x6a\\xe2\\x40\\xd2\\x0c\\xcf\\x41\\xfc\\xba\\x33\\x20\\x9c\\x85\\x15\\xac\\x74\\x69\\x14\\x43\\x05\\xfd\\x6e\\xe5\\x38\\xf1\\x33\\x74\\xe1\\x08\\x18\\xfc\\xb9\\x67\\x6a\\xe7\\xea\\x2b\\xc5\\xad\\x9f\\xcc\\x39\\x8a\\xee\\xfc\\x60\\x60\\x51\\x65\\xb3\\x65\\xe9\\x33\\x93\\x16\\x4d\\x19\\x38\\xb1\\x7d\\xb3\\x65\\xf9\\x33\\x13\\xaf\\x9e\\x36\\x60\\x7e\\xc7\\x12\\x2f\\xe8\\xf5\\xdd\\x77\\x60\\xe9\\x27\\xea\\xa2\\xf6\\x9d\\x8a\\x6c\\xdb\\xff\\xda\\xfa\\x39\\x5a\\xf4\\x83\\x6a\\x22\\xd8\\x5f\\x9e\\x27\\xee\\x01\\xba\\xad\\x5b\\x8f\\x5a\\x9b\\xcb\\xf3\\x4d\\x77\\xa3\\x1f\\x77\\x6c\\x7d\\xc1\\x36\\x1a\\xf3\\x94\\x79\\xf1\\x0e\\xd6\\xc4\\xdc\\x2a\\x61\\x4a\\x63\\x9e\\x72\\x74\\x8c\\xda\\x68\\xf5\\x50\\x94\\x55\\xad\\x63\\x4a\\x4b\\xac\\x99\\xf5\\x31\\xab\\x95\\x71\\x34\\xc4\\x18\\xd3\\xe5\\x79\\x12\\x09\\x37\\x52\\xb5\\x92\\xd4\\xb1\\xc4\\xca\\x15\\x20\\xed\\x00\\x90\\xc7\\xa1\\x48\\xff\\x22\\xf9\\x2b\\x72\\xb1\\x44\\xe6\\x46\\xa0\\x3b\\x10\\x99\\x54\\xd4\\x20\\x3e\\xf3\\x38\\x7a\\x13\\xfd\\xe2\\x1b\\x56\\x56\\xde\\x68\\xde\\x7f\\x84\\x76\\xf6\\x9a\\x11\\xad\\xa9\\xec\\x3d\\xaa\\xa4\\xbf\\xd8\\x73\\x76\\xcf\\xaa\\x0a\\xff\\xc8\\xf2\\x8a\\x46\\x70\\xe8\\x10\\xc8\\x3f\\xa0\\xee\\x97\\x1b\\xf0\\x7d\\x70\\x3f\\xfa\\x0c\\x6d\\xcc\\xca\\x8b\\x44\\xf2\\x32\\xbf\\xa1\\x97\\x98\\x6e\\x7c\\x6b\\xfc\\xa8\\x25\\x96\\x81\\x25\\x21\\xed\\x92\\x2f\\xe7\\x0d\\x9e\\x6b\\x2b\\x28\\x93\\x71\\xef\\x67\\x5d\\xfc\\x41\\x13\\xe4\\x9f\\xc2\\xfa\\xae\\x37\\xf6\\x9b\\x27\\x44\\x2b\\xbb\\xb9\\xeb\\x1a\\x06\\xf4\\xe9\\xd3\\x5f\\xa3\\xad\\xc8\\xc9\\xd1\\xfa\\x8b\\xfa\\x37\\x58\\x2d\\x6e\\xf5\\xa0\\x81\\x3d\\x4a\\x0b\\x4a\\x9b\\x63\\xfe\\x8e\\x7d\\x3a\\xf6\\xc9\\xe6\\x0d\\x16\\x00\\xb4\\xf5\\xf6\\x02\\xa6\\xa6\\x2a\\xbb\\xaa\\x39\\x96\\x99\\x9d\\x76\\x11\\x7d\\xf4\\x68\\xa9\\x39\\xf2\\x52\\xa9\\x84\\x08\\x55\\x75\\x99\\x56\\x2e\\x39\\x14\\x97\\x98\\x26\\x5a\\x2a\\x40\\xae\\x95\\xf0\\xce\\xda\\x95\\x5b\\x6a\\x93\\x74\\x4b\\x4d\\x98\\xff\\x87\\x6b\\x6a\\x29\\xab\\x2e\\xa4\\xb9\\xc8\\x81\\xca\\x08\\xcf\\xf1\\xaa\\x25\\xb6\\xa1\\x5b\\x47\\x8d\\xd8\\xd8\\xb0\\x64\\x9d\\xe5\\x61\\x3f\\xe0\\x9f\\xbd\\xf3\\xc9\\xea\\x29\\x63\\x06\\xc4\\xdf\\x7d\\x74\\xf7\\xe3\\xc0\\xb8\\xf1\\x53\\xb4\\xf4\\x22\\xfa\\xf3\\xbd\\xcd\\xdf\\xae\\x7d\\x0a\\x7d\\xb3\\xf5\\x38\\x58\\xd9\\x12\\xdb\\x32\\xe8\\xee\\xe1\\xd3\\xb6\\x9d\\x59\\xf4\\xec\\xee\\x6b\\x7e\\xda\\xbb\\xf2\\xc8\\xd2\\x9d\\xbf\\xaf\\xde\\x7f\\x5b\\xed\\xc4\\x62\\x74\\x9b\\xb7\\x40\\x35\\x39\\xeb\\x8c\\xc7\\x55\\xc9\\x75\\x28\\xed\\xd0\\xa1\\x74\\xf6\\x84\\x47\\x8f\\x5d\\xe1\\x6b\\xe7\\x66\\xd0\\xc8\\xfa\\x0d\\xe8\\xf7\\xfb\\x11\\x42\\x53\\x8f\\x6f\\x1b\\x51\\x73\\x1b\\xb0\\xec\\xfd\\x13\\x5c\\xfb\\x61\\xa0\\xe0\\xfd\\x8e\\x77\\xa2\\xaf\\x1e\\xdf\\xf3\\xfc\\xa8\\xab\\x97\\xc5\\xf0\\x4f\\xf7\\x1f\\x3c\\x1e\\x70\\x7e\\x12\\x18\\x99\\xfb\\xe0\\x4d\\x0b\\x1b\\xe4\\x73\\xdf\\x17\\xfb\\x14\\x7f\\x73\\x2f\\x50\\x41\\xaa\\x9a\\xaa\\xc5\\xd1\\x74\\xb1\\xd3\\xd7\\xb9\\x4b\\x6d\\x87\\x0e\\x35\\xc5\\x25\\x06\\x96\\x2d\\xd1\\x50\\x35\\x5d\\x3c\\xd5\\x3e\\x75\\x8f\\xee\\x85\\x65\\xd5\\xe1\\x70\\x49\\xb4\\x83\\x89\\x12\\x69\\xaf\\xc6\\x64\\x33\\xd1\\xd8\\x86\\x66\\xd3\\xb6\\xf4\\x9b\\xfe\\xaa\\x9a\\x97\\xe4\\x45\\xbe\\xcc\\xd2\\x06\\x95\\xe3\\x9f\\xdd\\x01\\xf0\\x59\\x4a\\xd2\\x22\\x35\\xa1\\x31\\x51\\x9d\\x70\\xd9\\x0d\\x48\\xae\\x25\\xec\\xbf\\x75\\xd3\\x67\\x7f\\xef\\x04\\xc5\\x6f\\x71\\x85\\x7b\\x77\\x7f\\x50\\xb3\\x6a\\x5c\\x97\\x65\\x8d\\xf7\\xee\\xbf\\x6a\\x44\\xf8\\xbd\\xdf\\xee\\x41\\x27\\x5e\\xb9\\x0d\\x72\\xb6\\xa1\\xdb\\x46\\x90\\xc5\\x5e\\x6b\\x79\\x38\\x13\\xb8\\x9e\\xba\\xe3\\xd1\\xda\\xab\\x06\\xf7\\x6b\\x39\\x4e\\x56\\xce\\x7f\\xc6\\x6d\\xaf\\x2e\\xed\\xf1\\xeb\\x1b\\xaf\\x81\\xc8\\x9e\\x8f\\x4e\\x7f\\xf7\\x7b\\x71\\x75\\x69\\xd5\\xdf\\xe7\\xe6\\x5c\\xf5\\x9f\\x8f\\x5f\\x7f\\x1b\\x3d\\xbb\\x8f\\x1d\\x1c\\xa9\\x26\\x8b\\x7a\\xdf\\xc9\\x2b\\xc2\\x85\\x36\\x88\\xae\\x90\\x16\\x6a\\xee\\x40\\xc9\\x06\\x49\\x79\\x10\\xee\\x51\\x6c\\x4b\\xcc\\xc4\\x96\\xa8\\x5f\\x66\\x3b\\x82\\xc1\\x52\\x1e\\x28\\x1a\\x65\\x43\\xa0\\xcb\\xcc\\x2e\\x15\\x02\\x97\\xd6\\xe7\\x2f\\xe5\\x0e\\xd8\\x66\\xfc\\x7e\\x41\\x7e\\x3f\\x7d\\x5c\\xc9\\x1b\\x05\\x02\\xe6\\x10\\xc8\\x06\\xd9\\x4e\\x1d\\x9d\\x8e\\xe5\\x81\\x63\\xc4\\xcf\\xa5\\x3e\\x99\\xea\\xa8\\x57\\xc5\\xaa\\x29\\x9d\\x5a\\xe7\\xb2\\x88\\xa2\\xdb\\xa2\\x36\\x49\\x18\\x2e\\x8c\\x1a\\x87\\x7a\\x6a\\x41\\xe5\\xa6\\x52\\xf5\\x88\\x97\\xcc\\xeb\\x96\\x6e\\x3e\\xb9\\x24\\x5a\\x78\\x12\\xca\\x83\\x02\\x1b\\xf6\\xde\\xd5\\xd0\\x2f\\x67\\x28\\x3a\\xd9\\xf8\\xde\\xb7\\x69\\x28\\x1e\\xbb\\xe6\\xfe\\x8a\\xce\\xd1\\x9d\\xf6\\x3d\\xed\\x7a\\x1f\\xd5\\x80\\x5d\\xb9\\xa0\\xf0\\x6c\\x12\\xc2\\x03\\x1d\\xc4\\x74\\x65\\xe1\\xb8\\x29\\x1b\\xdb\\x05\\x89\\x2e\\x86\\x66\\xed\\x2a\\x56\\xe5\\x32\\x19\\x8d\\x6e\\x13\\xab\\xd3\\x89\\xf5\\x31\\x9d\\x89\\xa5\\x1a\\x63\\xac\\x95\\xf9\\x37\\xba\\x82\\xa5\\x95\\xe9\\xc8\\xe0\\xca\\x5d\\xad\\x34\\xa7\\x48\\x3b\\xbf\\xeb\\x1a\\x74\\xb6\\x61\\xc7\\xfe\\xdb\\x01\\xf3\\xfc\\x93\\x1f\\x93\\xeb\\xd9\\x5e\\x0d\\x63\\x66\\xd5\\x8f\\xda\\xd7\\x3e\\x3e\\x0b\\xec\\xf0\\x7e\\xf8\\xc0\\xb3\\x20\\xb6\\xf3\\xa9\\xfd\\xf6\\xd8\\xf8\\xf9\\xe8\\xe4\\xd0\\x85\\x33\\x71\\x2c\\xd7\\x42\\x51\\xcc\\x49\\x69\\x36\\x40\\x61\\xd4\\x6e\\x16\\x78\\x95\\x4a\\xad\\x87\\xa2\\xc0\\x69\\x18\\xca\\x6a\\xd0\\x68\\x2c\\x66\\x46\\x02\\xad\\x56\\xa2\\xaf\\x52\\x73\\x6a\\x88\\x58\\x90\\x67\\xf9\\x20\\x0c\\x88\\xc1\\x4a\\xb6\\x12\\x7f\\x88\\x11\\xc8\\x9c\\x1c\\x81\\xd6\\x8e\\x05\\xb3\\x46\\xa2\\xb5\\x3b\\xfe\\x7e\\x0a\\xad\\x1d\\x0e\\xe6\\x8c\\x45\\x37\\x8f\\x00\\xb3\\x9f\\x3e\\xff\\x1f\\x78\\xc3\\x87\\x63\\x3e\\x1c\\xf3\\x9f\\x31\\xe8\\x0e\\xb0\\x13\\x7f\\x21\\xdf\\x80\\x5d\\x28\\x43\\x8a\\x27\\x7b\\x31\\xc3\\x68\\x0e\\xd3\\x60\\xa5\\xb8\\x83\\x2c\\x55\\x24\\xf5\\x86\\x04\\xfc\\xf2\\x8c\\x0c\\x32\\x4d\\xd2\\x2f\\x8f\\x94\\xa4\\xb9\\x9e\\xa5\\x68\\x5f\\x8f\\x48\\x79\\x6d\\xb7\\x0a\\x30\\xa0\\x47\\xa4\\xb4\\x27\\x3b\\xa0\\xbc\\xbb\\xae\\xb2\\x63\\xb7\\x8a\\xca\\x6e\\xba\\x8a\\x4e\\xdd\\xc9\\xdf\\xca\\x67\\x5e\\x05\\xbf\\xb1\\xa7\\xb0\\xae\\x13\\x1e\\xd3\\xa8\\xd5\\xd0\\x84\\xdd\\x94\\x22\\xd7\\x1b\\xa5\\x38\\x28\\x92\\x5a\\x1d\\x88\\x4b\\x49\\xe2\\xef\\x44\\xe4\\x87\\xed\\xde\\xb4\\xf0\\xe0\\xb1\\xd3\\x3b\\x37\\x67\\x8f\\x2f\\x1f\\x3d\\x7c\\x78\\xd1\\xcb\\x2a\\xe6\\x55\\xfb\\xd4\\xdc\\xd2\\xdc\\xc3\\x99\\xd9\\x99\\x47\\x0a\\x22\\x04\\xcb\\x8a\\x19\\x00\\x22\\x98\\x3e\\x1d\\xa5\\x79\\x18\\x02\\x9e\\x2a\\x7a\\xa3\\x14\\x2b\\x79\\x02\\xa3\\x64\\xb1\\x07\\xa4\\x49\\x81\\x35\\xbf\\xe5\\x5c\\x05\\xa3\\xd7\\x67\\xda\\x54\\xec\\x1b\\x6f\\x3b\\xab\\x87\\x94\\xf6\\x29\\x0e\\x14\\x48\\xbe\\x26\\x8f\\x7f\\xb7\\x42\\xc2\\x9a\\xd6\\x3c\\x8c\\x5d\\x4b\\xe5\\x77\\x03\\x15\\xd2\\x29\\x34\\x80\\xf5\\x37\\xcc\\x30\\x5e\\x95\\xf3\\x9b\\xc3\\x50\\xc3\\x0c\\xb8\\xa2\\xc7\\xdb\\x4b\\x7b\\xce\\xa6\\x00\\xea\\xc2\\x4e\\xa3\\x1f\\xe3\\x7e\\xc4\\x3c\\xe8\\x0e\\xf1\\x06\\x2d\\xfe\\xa5\\xc8\\x9b\\xa5\\xe9\\x0a\\xd5\\x1a\\x28\\x53\\xcc\\x8b\\x9d\\x7e\\xcc\\x16\\xdb\\x3b\\x65\\xc6\\xfa\\xde\\x4b\\x16\\x3c\\xfc\\xdd\\xe1\\x7e\\xbb\\xe6\\xcc\\xd9\\x11\\x63\\xa7\\x45\\xaa\\x3b\\x96\\xcc\\x9e\\xf0\\xc0\\x07\\xed\\x2a\\x2a\\x22\\x0c\\xb9\\x1e\\x6b\\x29\\x42\\x0f\\xc0\\xaf\\xd9\\xc7\\x31\\x1d\\x22\\x8e\\x78\\xc2\\xd8\\x5a\\x77\\xa0\\xba\\x53\\xf5\\xd8\\xe3\\x2f\\xef\\x11\\xc8\\xe8\\xdb\\xb9\\x9b\\xaf\\x57\\xaf\\x60\\x5d\\xa9\\x51\\x53\\xa9\\x2b\\x2b\\x33\\x57\\xe5\\xb0\\x54\\xa1\\xc5\\x49\\xe7\\xe5\\xf1\\x45\\x7d\\xbb\\xd5\\x55\\x56\\x15\\x3a\\x8b\\x8a\\x9c\\x85\\x55\\x95\\x75\\xdd\\xfa\\xaa\\xdc\\x5d\\x3a\\xda\\xdc\\x98\\xa6\\xa2\\x48\\x02\\xad\\x9a\\x44\\xea\\x89\\x78\\x3c\\x92\\xbc\\x25\\x8a\\xa4\\xfd\\x8c\\x60\\x22\\x05\\xb2\\xac\\x01\\x13\\x5e\\x74\\x31\\xf9\\x0a\\xfc\\xeb\\x2b\\x78\\x99\\x9f\\x05\\x53\\xff\\xca\\xcd\\x9a\\x35\\xe1\\xe4\\x49\\xb3\\xf4\\xb9\\xe5\\x66\\xe9\\x0b\\x5d\\x28\\x7d\\x39\\xbf\\x4a\\xfa\\xf2\\xb9\\xfc\\xb3\\x0d\\xd2\\x97\\xb8\\x53\\xfa\\x02\\x5f\\xba\\xf5\\x56\\xac\\x82\\x10\\x27\\x7d\\xa1\\x7f\\x94\\xbe\\x9c\\x3f\\x23\\x7d\\x61\\x42\\xe9\\xff\\xd6\\xf2\\x85\\xf4\\xe5\\x37\\xe9\\xb3\\x74\\xc5\\xd8\\x32\\x05\\xad\\x80\\x77\\xb1\\x67\\x2f\\x59\\xc3\\xb1\\xd1\\x32\\x95\\x3a\\xda\\xad\\xb0\\xa8\\x28\\xc7\\xe9\\xb1\\x7a\\x02\\xc1\\x60\\x46\\x7d\\x5d\\x65\\x75\\x69\\xb5\\xc6\\xac\\xee\\xd6\\x3d\\xc7\\xed\\xc9\\xa8\\xaa\\xab\\xee\\x63\\x36\\xf7\\xa9\\xae\\xab\\xca\\xf0\\xb8\\x73\\xba\\x77\\x53\\xeb\\x58\\x23\\x96\\xf4\\xa2\\xb4\\x05\\x94\\x17\\xd1\\x1c\\x31\\x1d\\x4d\\x7c\\x4e\\x7c\\x48\\x97\\x4a\\xe4\\xea\\x22\\x50\\x51\\x1e\\x28\\x37\\x93\\x2c\\x5b\\x84\\xb3\\x46\\xac\\x92\\x3c\\x94\\xdb\\x22\\xe5\\x91\\x20\\x11\\x06\\x6b\\x28\\x60\\x0d\\x40\\x22\\x13\\x7c\\x28\\xcc\\x87\\xa5\\x11\\xb3\\x95\\x38\\x60\\xb0\\x43\\x2c\\x67\\x7c\\xb8\\xa2\\x32\\x5c\\x49\\x20\\x3d\\x2b\\xed\\x1c\\x6f\\xe7\\xbb\\xbb\\x3c\\x57\\x74\\xed\\x2b\\x7d\\x8a\\x4f\\xbe\\xba\\x76\\x64\\xee\\xd0\\xc6\\x6d\\xcc\\x83\\xca\\x8b\\x4e\\x83\\x8b\\x8b\\x34\\x3d\\x8d\\x55\\xe5\\xd3\\x5a\\xba\\xe3\\x97\\xea\\x1e\\xf8\\xe5\\x74\\xdd\\xe0\\x92\\x01\\x25\\x3d\\xaf\\xaa\\x2e\\x9f\\x06\\x4f\\x0c\\x2e\\x1e\\x58\\xd2\\x73\\x5a\\x55\\xf9\\xd4\\x0e\\xd2\\x6f\\x34\\xdc\\xc1\\x7c\\xa6\\xbc\\x88\\x7b\\xa4\\xbf\\x59\\x26\\x7d\\x46\\x7f\\x0e\\xc1\\x6f\\xec\\x31\\xb5\\x3d\\xfe\\x1d\\x5e\\xfa\\x9d\\xa9\\xe4\\x6f\\x76\\x96\\xff\\x3c\\xf9\\x4b\\xd7\\x0f\\x2e\\x69\\x47\\x9e\\x54\\x31\\x55\\xca\\x75\\xa0\\x89\\xec\\x69\\xbe\\x23\\x65\\xa6\\x32\\xa8\\xba\\x68\\x50\\xa7\\x56\\xeb\\x55\\x2a\\x8f\\x95\\xa7\\x01\\x30\\x53\\x5a\\x2a\\x93\\xe3\\x79\\x1f\\x6b\\x02\\x5a\\x95\\x5e\\xb0\\xb9\\x9d\\x02\\xa7\\x24\\xf1\\x22\\x9f\\x95\\xbe\\x54\\x85\\x7d\\x92\\x04\\x00\\x76\\x22\\xf3\\x22\\x0f\\xde\\x4d\\x26\\x38\\x08\\x76\\x03\\x8c\\x80\\x80\\x18\\x10\\x6b\\x80\\x1a\\x24\\xa0\\xa7\\xc8\\xf0\\x5a\\x19\\xcc\\xc1\\x9a\\x43\\xc0\\x1c\\x4e\\x6d\\x45\\xdb\\xce\\xff\\x3a\\x5a\\xc2\\x73\\xa0\\x35\\x6b\\x0f\\x57\\x3c\\x5f\\x30\\xa5\\xe7\\xe3\\xc3\\x67\\x74\\x7c\\x9f\\xa0\\x3b\\x4c\\xd9\\xc3\\xf4\\x20\\xad\\xc0\\x60\\xab\\x8c\\xf0\\xc0\\x7e\\xbe\\x7c\\x65\\x9f\\x09\\x83\\xde\\x28\\xb9\\x75\\x8b\\x7c\\x17\\x2b\\xd5\\x2c\\xb0\\x71\\x69\\x26\\xf5\\xc0\\x68\\x81\\x4e\\xad\\x31\\x98\\xa0\\xcb\\x95\\x65\\xca\\xd5\\xb0\\x85\\x05\\x81\\x9c\\x50\\x66\\x46\\xd4\\x62\\x31\\xa9\\x33\\x8c\\x06\\xbb\\x5c\\xe4\\xad\\x35\\x5b\\x4d\\x62\\x63\\xcc\\x94\\xc0\\xa2\\x23\\x9f\\x4d\\x47\\xa5\\x64\\xbf\\xcb\\xf4\\x59\\xe9\\x1b\\xad\\xda\\x4c\\xdb\\x94\\x77\\x83\\x4b\\xca\\xbb\\x83\\xe9\\x7c\\xc9\\xb5\\xde\\x12\\xd8\\xf4\\xc1\\x55\\xe8\\xf0\\xf9\\x5f\\x47\\x89\\x6c\\xa2\\x26\\x6b\\x19\\x38\\x9b\\xce\\x9c\\x52\\xfa\\x4d\\x50\\xa7\\x5b\\x56\\xc5\\xef\\x97\\x4a\\xbf\\x95\\xda\\x2c\\xfa\\xe6\\xf1\\xe9\\x4c\\xa6\\xfa\\x79\\x49\\x8e\\x7c\\x64\\xb4\\xc4\\xae\\x73\\xab\\x78\\x86\\xc1\\x7f\\x1a\\x8a\\x22\\x19\\x44\\x2f\\x98\\x48\\x82\\x9c\\x64\\xc5\\x13\\x49\\x72\\x15\\xfe\\x0f\\x3b\\x39\\x52\\x7a\\x9c\\x86\\x89\\xc9\\x04\\xe9\\xa3\\x82\\x94\\xaa\\x0c\\xbc\\x67\\xa9\\xab\\x76\\xa2\\x64\\x49\\xe3\\x3f\\xc1\\xab\\x4b\\xe4\\xc6\\x03\\xc9\\xdc\\xf8\\xa6\\x15\\x3e\\x10\\xf6\\xdd\\x15\\xd8\\x9e\\x9f\\x96\\x18\\x7f\\x7b\\x05\\x60\\x93\\x79\\xf1\\xcf\\xee\\xb9\\xe7\\xe0\\x67\\x52\\x5e\\xbc\\x5d\\xcb\\x13\\x4a\\x5e\\x5c\\xaa\\x63\\x95\\xec\\x9d\\x87\\xd0\\xee\\xd0\\x79\\x08\\xed\\x24\\x6d\\x66\\xb1\\x00\\x81\\xa6\\x45\\xb3\\xce\\x9c\\xe1\\x55\\x79\\x9a\\xc8\\xad\\x8e\\xd8\\xa4\\xd0\\x6e\\xc4\\x31\\x7a\\x53\\xcc\\x68\\xa3\\xc1\\xff\\x3b\\xed\\x69\\x75\\x3c\\x01\\x31\\x51\\x9d\\x74\\xff\\x52\\x37\\x70\\xb9\\x6f\\xf5\\xdf\\x3a\\x21\\x55\\xc6\\xf3\\xc5\\xd2\\xf7\\x94\\x72\\x24\\xb6\\xcb\\x9a\\x35\\x0f\\xc4\\x7f\\x96\\xab\\x5e\\xaf\\x69\\x11\\x94\\xfa\\x23\\x05\\x4b\\x82\\x32\\x48\\xd3\\x3b\\xfc\\x46\\x72\\xaf\\x2f\\x98\\x55\\x16\\x96\\xe3\\xdd\\x36\\x08\\x3d\\xa4\\xcb\\x5b\\xab\\xd5\\x1b\\x0c\\xae\\xe6\\x98\\x01\\xea\\xdb\\x0e\\x9b\\x88\\xa4\\x8d\\xb9\\xc3\\xab\\x89\\xb5\\x00\\x8e\\xac\\xc8\\x9d\\xbd\\xe8\\xc7\\xba\\xc1\\xae\\x34\\x54\\x37\\xfd\\x01\\xcc\\xb7\\x0d\\x3c\\x3c\\x67\\xd8\\x44\\x74\\xdd\\x58\\xd2\\xdb\\x7b\\x37\\xf0\\xf7\\x1a\\xf8\\xc4\\x0c\\xd7\\xf2\\x05\\xe8\\x3c\\xbb\\xe2\\x8b\\xa3\\x5f\\xac\\x9e\\xb0\\x65\\xbd\\x1d\\x99\\xd8\\x15\\xf1\\x26\\x38\\x69\\xcb\\x9a\\x8a\\x3e\\xe3\\xa7\\xc8\\x79\\x32\\xa5\\xff\\x04\\xeb\\xc6\\x62\\xaa\\x7f\\x34\\xbf\\x1d\\x97\\x9b\\x93\\x8f\\x0f\\x00\\xc7\\x97\\xda\\xbc\\x01\\x01\\x9f\\x02\\xab\\xd5\\x66\\x2b\\x71\\x1a\\x6d\\x6e\\xc1\\x6b\\x80\\x86\\x10\\xa9\\x43\\x87\\x19\\xf5\\x31\\x68\\x6a\\xdd\\x9e\\x5c\\x93\\x86\\x63\\x9f\\x98\\x90\\x91\\x68\\xf7\\x90\\xa9\\x96\\xa7\\xf1\\x48\\x75\\x7e\\x7e\\x82\\x93\\x9a\\xa5\\xc0\\x60\\x13\\x3e\\xa4\\x2b\\x76\\x70\\xae\\xf7\\x9e\\x59\\x77\\x3d\\x3c\\x79\\xf8\\xa8\\xb5\\x93\\xeb\\x9a\\x97\\xdc\\xe1\\xa3\\xa1\\x76\\x2c\\xfa\\xe6\\xbf\\x16\\x11\\x88\\x7a\\xcd\\x4f\\x8d\\x73\\x9b\\x8a\\x27\\x37\\x97\\x86\\xe6\\xdc\\x7c\\x65\\x66\\x7e\\x1d\\xdc\\x30\\x61\\xf0\\xd3\\xbb\\x9e\\x40\\x5b\\x9b\\xe7\\xcc\\x5d\\xe9\\x9e\\x38\\xca\\xdb\\x05\\x41\\xe6\\xbb\\x69\\x6b\\xb4\\x53\\x4b\\xb8\\x1e\\xeb\\x3e\\xa8\\x9f\\xb2\\xd0\\xb0\\x61\\xee\\xd2\\xee\\x9f\\x35\\x4c\\x9e\\x92\\xc4\\x44\\x2a\\xe0\\x3d\\x14\\x4f\\x05\\xa2\\x66\\x96\\xe3\\x54\\x80\\xa6\\xd5\\x3c\\xd3\\x1c\\x03\\x3c\\x24\\x78\\x96\\x04\\xb8\\x3c\\x05\\x12\\x02\\xb0\\x67\\x44\\x56\\x19\\x7e\\xd5\\x70\\x7e\\x71\\x7c\\xd9\\xd7\\x78\\x4d\\xf1\\xda\\x81\\x6d\\xf1\\x15\\x32\\x38\\x92\\xdc\\x17\\xe4\\x64\\xdf\\xc5\\x7f\\x2f\\x1c\\xb5\\xb4\\xfe\\x7b\\x46\\x2e\\x51\\xc8\\x74\\xb9\\xbf\\x29\\xd2\\xef\\xd7\\xff\\x3e\\x07\\xd5\\xee\\x43\\x67\\xdf\\x61\\xaa\\xc1\\xd6\\xf8\\x03\\x72\\x2f\\x10\\x45\\xe6\\x00\\xcb\\xb8\\x4d\\x7a\\xaa\\x43\\xd4\\xcb\\x69\\x34\\x40\\xab\\xe5\\x0d\\x24\\x75\\xad\\xa7\\xf4\\xcd\\x31\\x0e\\x6f\\x97\\x56\\xa0\\xd9\\xe6\\x18\\x0d\\xa9\\xd6\\x60\\x92\\x49\\x7c\\x5c\\x59\\x86\\x45\\x69\\x52\\x88\\x54\\x65\\x13\\xe8\\x7c\\xdd\\x0c\\x86\\x2a\\x88\\x87\\x6b\\xc1\\xcc\\x1c\\x74\\x33\\x76\\x21\\xe7\\xaf\\x82\\x35\\x74\\xd7\\xd3\\xe8\\xee\\x0f\\xe2\\x5b\\xe9\\x89\\xb2\\xbf\\x83\\x03\\x21\\x24\\xd5\\xfe\\xd6\\x44\\x33\\x39\\x00\\x34\\x5a\\x5e\\xab\\xd7\\x43\\x83\\xfc\\xe4\\x46\\xf9\\xc9\\x56\\x9a\\xad\\x8f\\xd1\\xc6\\xcb\\x3d\\xd9\\xdc\\xf6\\xd9\\xe4\\x04\\xe1\\x67\\xe7\\xcd\\x8c\\x41\\x4d\\x18\\x09\\x65\\x27\\x03\\x1f\\x0d\\x42\\x67\\x07\\xce\\xa0\\xa7\\x81\\x37\\x9e\\x41\\xbf\\x1e\\x46\\x7d\\xc1\\xa3\\x72\\x5d\\xad\\xa4\\x93\\x7c\\x04\\x0b\\xcd\\xa1\\x61\\x32\\x33\\x7d\\x3e\\xb3\\x06\\x02\\x3f\\xc8\\xe2\\xb1\\x22\\x62\\x7c\\x3c\\x4f\\xf9\\x04\\x83\\x05\\x9f\\x0c\\x37\\x05\\xc9\\xa5\\x79\\x2b\\x20\\x4d\\x65\\xc2\\x4d\\xda\\x98\\x0f\\x69\\x44\\x0a\\x91\\x3a\\x21\\x51\\xeb\\x5d\\x99\\x5e\\x39\\x45\\x20\\x73\\x98\\x60\\x41\\x9c\\xee\\x7c\\xe5\\xbc\\x9e\\xdf\\xb7\\xec\\x47\\x2f\\xbc\\xbe\\xf9\\x64\\xdd\\x43\\xa3\\xf7\\xcc\\x7b\\x7e\\xcc\\xb5\\x5b\\x3a\\x4f\\x6a\\x5c\\x8c\\xfe\\x43\\x90\\xb5\\x9e\\xcb\\xb5\\xa3\\x5f\\x7e\\x8b\\xa3\\x6b\\x8f\\x75\\xea\\xf9\\xf0\\xf0\\x6d\\x80\\x3f\\xb4\\xe5\\x76\\x6b\\x56\\x5c\\xc2\\xb6\\x20\\xf1\\x40\\x67\\xa9\\x27\\xa8\\x36\\x9a\\xed\\x11\\x39\\xca\\xe9\\x74\\xb9\\x74\\x1c\\xf4\\x65\\x42\\xac\\x6d\\x28\\x32\\x20\\xc4\\x9d\\xd1\\x10\\x73\\x1b\\x5d\\x56\\x35\\x0e\\x10\\xd5\\xee\\x44\\x0b\\x95\\x92\\x70\\xcd\\x6f\\x63\\x19\\x12\\xc8\\xfd\\xfe\\x84\\x0d\\x50\\x92\\x21\\x24\\x39\\xc7\\xfb\\xc1\\xbe\\x8e\\xa3\\x7b\\xbf\\xfb\\x11\\x3a\\x80\\x3e\\x5b\\xfa\\x5e\\x87\\xe7\\x32\\x67\\xf4\\xdd\\x75\\x70\\xee\\xb4\\xd8\\xc4\\x3a\\x74\\xe6\\x5d\\x68\\x6b\\x87\\x18\\xba\\xb7\\xd1\\xf0\\xf1\\xeb\\xe8\\x0b\\xf4\\x58\\xff\\x1e\\xd7\\xf8\\x4a\\xde\\x7b\\x69\\xce\\x72\\x17\\x9a\\xc5\\x54\\x7f\\x27\\x61\\x5e\\xa1\\x89\\x12\\xe6\\x55\\x90\\xba\\x2a\\x5a\\x9d\\xe9\\x09\\x92\\xb1\\x61\\x1c\\x65\\xc8\\x76\\x79\\x78\\x16\\x9f\\xea\\x30\\xc3\\xb2\\x21\\x17\\xe7\\xc7\\x1b\\x3d\\x26\\x96\\x2d\\x03\\x5e\\x71\\x3e\\x83\\x41\\x9d\\xe1\\xf3\\xb9\\x47\\xc7\\x7c\\x82\\xd5\\xa8\\x86\\x14\\x2b\\x83\\xbd\\x2a\\x26\\x2e\\x95\\xce\\x4f\\x83\\x94\\x6e\\x95\\x67\\xfd\\x57\\xc0\\x2b\\x51\\xea\\x24\\xf9\\xdf\\x40\\xaf\\xba\\xce\\x75\\x1d\\x27\\xd0\\x5f\\x63\\xff\\x1d\\xf6\\xaa\\x69\\xb1\\x29\\xfe\\x0d\\x31\\xee\\x0a\\xf4\\x15\\xe9\\x43\\x46\\x13\\xa5\\x3e\\xe4\\x20\\x35\\x3e\\x5a\\x91\\xe9\\xc9\\x26\\x13\\x97\\xd9\\xa0\\x21\\x80\\xf9\\x66\\x6c\\x76\\x7b\\x18\\x32\\x4c\\xc8\\xc5\\x06\\xfc\\x14\\x6d\\xa0\\x9b\\x62\\x66\\x16\\xf3\\xac\\x22\\x3c\\xd7\\xc7\\x7c\\x56\\x9b\\x51\\x65\\x0c\\x32\\xd6\\xcb\\xf3\\x1c\\xf9\\x07\\x8e\\x2f\\x6d\\x2e\\x86\\x72\\x93\\xa9\\xcc\\xee\\xbf\\xf4\\x17\\x07\\x82\\xed\\x3a\\x7d\\x2f\\xf7\\x17\\xdf\\xb4\\x65\\xce\\xef\\xf5\\x7d\\xfe\\xa5\\xc5\\x58\\x28\\xe8\\x0f\\xfa\\x91\\x16\\x63\\x74\\x23\\xe9\\x9c\\x51\\x5a\\x52\\x09\\xd6\\x17\\x96\\x49\\x82\\xf5\\x55\\x46\\x8d\\x8b\\x96\\x5b\\xfd\\xfa\\x30\\x2c\\x70\\xb9\\x79\\x8e\\x73\\x97\\x98\\x0b\\xb2\\xc3\\x7e\\x55\\x45\\x39\\xd5\\xce\\x9d\\x6d\\x16\\x08\\x50\\x06\\x0f\\x5d\\x19\\x82\\x00\\x33\\x32\\x1c\\xcd\\xb1\\x0c\\x26\\x0f\\x42\\x8d\\x72\\xcf\\x97\\x9a\\x5a\\xeb\\x90\\x0a\\xac\\xe4\\x97\\x97\\x2b\\x72\\xc5\\x22\\x8a\\xdd\\xd4\\xff\\x1b\\xff\\x8b\\xe3\\xb1\\x60\\x2b\\x72\\x0d\\xa6\\x0f\\x18\\x7c\\xec\\xef\\xaa\\x7f\\xc2\\x02\\x7b\\x1f\\x11\\x2c\\xb0\\x0b\\x67\\x01\\x3a\\x5c\\x34\\xc1\\xe5\\xb1\\xf5\\x47\\xdf\\x5f\\x7d\\xbd\\xf6\\xc8\\x91\\x36\\xc0\\x60\\x8f\\xdd\\x21\\x03\\x83\\x1d\\xf9\\xd2\\x1a\\xf2\\xa0\\x3d\\x16\\xe3\\x5a\\xad\\x40\\xfa\\xac\\xd1\\x10\\xa9\\xcf\\x3a\\x42\\x8d\\x8e\\x96\\xf9\\x0b\\x5c\\x94\\x99\\x0d\\x85\\xad\\x16\\x8b\\x26\\xec\\x65\\x4b\\xa8\\x02\\x55\\x79\\x59\\xb1\\x37\\x23\\xc3\\xdb\\x14\\xb3\\x9a\\x43\\xb9\\x19\\x19\\xe6\\xdc\\xdc\\xec\\xa6\\x58\\xae\\xc9\\x6c\\x6f\\x8c\\x41\\xb3\\xcd\\xc0\\xbb\\xa5\\xdd\\x6e\\x85\\x4d\\x7f\\x39\\xdc\\xb3\\xc4\\x14\\xff\\x14\\x57\\x11\\x79\\x29\\xfe\\x8f\\xa6\\x6b\\xb8\\xeb\\x95\\x87\\x92\\x8c\\xe5\\x0c\\x18\\xbc\\xf3\\x79\\x77\\x4b\\x60\\xd7\\xf0\\x11\\x97\\xf6\\x5f\\x4f\\xbb\\x1a\\x54\\x5d\\xf7\\xa0\\x25\\xe4\\x55\\x78\\x5b\\x7c\\x9d\\xee\\xce\\x1b\\x0b\\xee\\x6d\\xec\\x75\\x69\\x37\\xb6\\x90\\xc0\\xf9\\xc1\\xfe\\xf7\\x68\\x09\\x7f\\x68\\x40\\x34\\x9f\\xb2\\x08\\xb4\\x91\\x54\\xe6\\x60\\x47\\xc1\\x60\\x34\\x3a\\x04\\x0d\\xad\\xa1\\xc7\\xc4\\x34\\x2c\\xfe\\xd0\\x00\\x83\\x0a\\xf2\\x82\\x0d\\x00\\x71\\x74\\x0c\\xc8\\x05\\x8f\\xd8\\x65\\x4d\\x14\\x6e\\xb7\\xb9\\xb4\\x50\\x52\\x79\\xfe\\x80\\x02\\x35\\x96\\x38\\xc3\\xb2\\x4c\\xc3\\xbb\\xaf\\x50\\x50\\xc6\\x48\\x3d\\x44\\x0a\\x83\\xec\\x9a\\xc1\\x27\\x9f\\x5c\\x76\\x5e\\x06\\x1a\\x4b\\xe1\\x8f\\xed\\xac\\x8c\\xff\\x26\\x61\\x25\\x61\\x5a\\xa5\\x1e\\xef\\x14\\xad\\x6a\\x96\\xe5\\x2c\\x9c\\x4c\\x2b\\xad\\x56\\xe3\\xd3\\xa8\\x66\\xf0\\x87\\x1a\\x18\\x88\\x15\\x25\\xb4\\x26\\x01\\x9f\\xff\\x17\\x5a\\x39\\xb9\\x92\\x28\\xed\\xf4\\xd1\\xef\\xd6\\xad\\xf5\\x76\\x1f\\x22\\x55\\x5a\\x0f\\x2f\\x2c\\x2c\\x89\\xbe\\x25\\x37\\x7a\\x2f\\xc0\\x9a\\x45\\x3a\\x40\\xa4\\xd1\\x9b\\xb6\\x14\\x0d\\x06\\xe5\\xa4\\xd1\\x1b\\x1d\\x21\\x88\\x41\\x54\\x1a\\xa6\\x9b\\x8d\\x1a\\x1c\\x6d\\x47\\x53\\x16\\x28\\x42\\x51\\xc0\\x8a\\x43\\xad\\x13\\x18\\x3b\\x76\\xd7\\x1c\\x66\\x0a\\x5b\\xa7\\x31\\x31\\x1e\\xaf\\xaf\\xcd\\xc2\\xe8\\x34\\x2c\\xcf\\x33\\x7a\\x16\\x8a\\x4c\\x12\\x1c\\x5b\\xe9\\xf9\\x4c\\xa3\\x57\\x91\\x25\\x19\\x30\\x8b\\x53\\xd6\\xb5\\x92\\x54\\x96\\x11\\x7a\\x09\\x46\\x4e\\x80\\x2e\\xef\\x54\\x95\\x58\\xd7\\x8a\\x1e\\xf5\\xd3\\x4a\\x41\\x27\\x79\\x65\\x09\\xb4\\xdb\\xe3\\x9d\\xa6\\xd1\\x73\\x1d\\xf2\\xda\\x76\\x02\\x9b\\x2e\\x52\\x60\\xb5\\xb4\\xbc\\x14\\x38\\x8b\\x8e\\x26\\xe9\\x56\\xd6\\x78\\x74\\xb4\\x44\\xa7\\xd6\\x43\\xbd\\x28\\x50\\x16\\x33\\xa4\\x69\\x28\\x40\\x83\\x1d\\xd3\\xcd\\x51\\x1c\\x85\\xd7\\x58\\xc5\\x71\\xa0\\x09\\x93\\x0e\\x75\\x1a\\x86\\xe3\\xa0\\x9e\\x31\\x8a\\xd0\\xda\\x86\\x74\\xa2\\xf2\\xda\\x00\\x9d\\xc8\\xa0\\x4c\\x72\\x56\\x9a\\x97\\xfb\\x91\\xec\\x98\\x03\\x3e\\xd1\\x54\\xcf\\x07\\xc0\\x17\\x7d\\x95\\xf5\\x36\\x85\\x2c\\xb5\\xd3\\x0a\\x5e\\xc3\\x2b\\x7e\\xbe\\x47\\xd7\\xd7\\xd1\\x37\\x03\\x5c\\xd3\\xc0\\x4b\\xac\\xbc\\xe6\\x00\\x80\\x11\\x9f\\x83\\x01\\x4a\\x77\\x7d\\xc5\\x0d\\xe9\\x6b\\xee\\xa2\\x26\\x45\\xdb\\x0b\\x66\\xd1\\x64\\x23\\x7e\\x3e\\x84\\x76\\xbb\\x13\\x7b\\x57\\x0e\\x87\\x8b\\x35\\x99\\x59\\x37\\x76\\xa0\\x3d\\xf8\\x9f\\x74\\x2a\\xdb\\x18\\x69\\x48\\x46\\x22\\x56\\xa1\\x05\\x87\\xa0\\x23\\xae\\x91\\xc4\\x42\\x55\\x9a\\xab\\x4f\\x55\\xa5\\xad\\xbf\\xec\\xf1\\x27\\xdd\\xea\\xa4\\xc7\\x9f\\x90\\xef\\x04\\xba\\x9e\\x18\\x58\\xb7\\x9a\\x04\\x2b\\xb7\\x07\\x6e\\x2b\\x4d\\x13\\xf0\\x34\\x84\\xbd\\xb7\\x57\\x4b\\xd1\\x0a\\x6a\\x49\\x8a\\xb9\\x82\\xb1\\xc7\\xb4\\x4b\\xdb\\x0b\\xf6\\x18\\xe6\\xe7\\xaa\\x68\\x95\\x28\\x58\\xcc\\x32\\x3f\\x76\\x3b\\x70\\x12\\x6e\\xcc\\xac\\xc0\\xba\\x49\\x4d\\x3c\\xa4\\xcd\\x16\\xbd\\x4d\\x85\\xfd\\x07\\x95\\x4a\\x2f\\x3a\\xac\\x84\\x2b\\x12\\xc5\\x50\\xb4\\xde\\x48\\x53\\xf2\\x1c\\xa0\\xb4\\x72\\x72\\x99\\x23\\xe0\\x90\\xef\\x1e\\x94\\x9a\\xe4\\x34\\x34\\xfb\\x24\\x4b\\x89\\x73\\x20\\x43\\x1d\\x88\\x81\\x6d\\xeb\\x48\\x00\\xb3\\xdd\\x77\\xd7\\xd4\\xb4\\x93\\x40\\x20\\x0f\\xa4\\x13\\xf2\\xf5\\xcd\\x6c\\x97\\x1b\\x6f\\x7c\\x20\\x7e\\x22\\x75\\x1c\\x14\\xdc\\x03\\x66\\x8b\\xcc\\xcf\\x2d\\x14\\xc5\\x6d\\x96\\x70\\x03\\xeb\\xa2\\x39\\x3a\\xad\\x5e\\x43\\x20\\x1a\\x2c\\x82\\x46\\xcb\\x58\\x71\\x98\\x6f\\xd3\\x6b\\x4c\\x1c\\x6d\\x1a\\x13\\xa3\\x69\\x4a\\x27\\x08\\x1c\\xa4\\x2c\\x29\\x97\\x2d\\x8d\\xf0\\x4b\\xc1\\x0d\\x45\\xff\\xa5\\xab\\xef\\x7f\\x96\\x3e\\x31\\xe7\\xf2\\xeb\\xfe\\x35\\x1a\\xd0\\x4a\\xb9\\x24\\x56\\xfd\\x4e\\x42\\xe3\\x68\\x2c\\x43\\x51\\x2c\\xff\\x12\\x8d\\x7a\\x9d\\x41\\x2b\\xd3\\xa8\\xd5\\x31\\x56\\x5e\\xa5\\xb2\\x69\\x0d\\xbc\\x04\\x24\\x81\\x69\\xd4\\x0b\\x56\\xde\\x48\\x59\\x94\\xc1\\xa2\\xff\\x03\\x8d\\x6d\\x96\\xd3\\x7f\\x33\\x3d\\x2e\\xa5\\x52\\xba\\xf4\\x4c\\x2e\\xe4\\x2e\\xf4\\x44\\xba\\x56\\x19\\x91\\xab\\x2c\\x23\\x6c\\x50\\xf4\\xf5\\x77\\x12\\x36\\x5a\\x53\\x34\\x0f\\xaa\\x68\\x35\\xc3\\x00\\x8d\\x06\\x1b\\x6b\\x86\\xa5\\xf4\\x7a\\x56\\x6b\\xd2\\x9a\\x8d\\x40\\x05\\x47\\x63\\x51\\x00\\x1a\\x0e\\xb2\\x02\\xd0\\x25\\xd5\\xb5\\x42\\x21\\xd1\\x85\\xe9\\x79\\x66\\xb9\\xad\\x8e\\xe8\\x14\\x7f\\x20\\x05\\x59\\x4c\\x9a\\x76\\x99\\x65\\x2f\\xce\\x8b\\xaf\\x4d\\xa0\\x3d\\xd1\\xb3\\xa6\\x02\\xcf\\xa9\\xbb\\xb1\\x82\\x4e\\x02\\x13\\xcb\\x08\\x69\\x94\\x8c\\xb3\\x2b\\xe1\\x31\\x18\\x09\\x76\\x10\\x65\\x34\\x1a\\x68\\x2d\\xd0\\x31\\x58\\x7d\\x18\\xd4\\x9c\\x06\\x62\\xc5\\xc7\\x19\\xa0\\xc9\\xac\\xd2\\x00\\xd2\\x2b\\x03\\x34\\x10\\xbf\\xc3\\xaa\\x61\\xc9\\x2c\\x83\\x4b\\x48\\x6b\\x65\\x33\\xd3\\xa6\\x08\\xfa\\x13\\x9d\\xc4\\xad\\xd0\\x18\\xee\\xc5\\x04\\xd5\\x3f\\xdf\\x0a\\x90\\xa1\\xe5\\x49\\xe2\\xcf\\x25\\x40\\x19\\x80\\x54\\x2b\\xb7\\x46\\x8a\\x8b\\x6a\\xa2\\x3e\\xbd\\x8a\\x22\\x70\\x11\\x14\\xa3\\x31\\x68\\x8c\\x3c\\x3d\\x3a\\x86\\xf5\\xae\\x5a\\xad\\x23\\x10\\x53\\x2c\\xa4\\x64\\xed\\x7b\\xf9\\x31\\x2d\\x29\\xf0\\x47\\xd9\\xb9\\x86\\xf0\\x91\\xb9\\xf1\\xdb\\xe6\\xc8\\x45\\x7d\\x53\\xe9\\xf1\\x53\\xe9\\xa3\\x05\\x68\\xcc\\xd7\\xa9\\xd5\\x39\\x7d\\x61\\x9c\\xb4\\x36\\x41\\x2c\\xf7\\x5a\\x29\\x3e\\x2a\\x8f\\x7a\\xd4\\x2a\\x0a\\xe8\\x58\\x03\\xc3\\x18\\xf5\\x46\\xa0\\x21\\x8b\\x01\\x55\\x3a\\x2b\\xe4\\x1a\\x62\\x50\\x91\\x23\\x65\\x25\\x6a\\x94\\xe0\\x44\\x61\\x9d\\x4f\\xc2\\x50\\x08\\x84\\x71\\x7a\\x5e\\x3b\\x74\\xef\\xae\\x36\\x48\\x14\\xdf\\xb5\\x1c\\x4c\\x70\\x2d\\xcd\\xa5\\x42\\x43\\x24\\x3c\\xef\\x2c\\x2c\\xcb\\xb9\\x02\\xf4\\x39\\x1c\\x4e\\x8f\\xd7\\xeb\\xd4\\x40\\x26\\x3b\\x40\\x0e\\x97\\x8f\\xa2\\xb0\\x5f\\x83\\x5d\\xf5\\x0c\\xa8\\xe5\\x9d\\x5e\\x41\\x02\\xb1\\x73\\x27\\x89\\xb8\\x6c\\xcc\\x21\\x7b\\x70\\x54\\x7a\\x7c\\x44\\x06\\xfd\\xfa\\xe5\\x7a\\x48\\xbf\\x32\\x4d\\x8c\\xbb\\xe1\\x6b\\xc0\\x1c\\x40\\xcf\\x2b\\xf1\\x51\\xcd\\xba\\x45\\x8d\\xe8\\x94\\x14\\x20\\x9d\\xfa\\x2a\\x7e\\xff\\x57\\x58\\xa0\\x04\\xe6\\xf6\\x29\\x57\\xce\\x83\\xdb\\xd1\\x0f\\x7f\\xb7\\xa0\\xeb\\x5e\\x26\\x81\\x52\\xe5\\xea\\x53\\x7b\\x41\\x07\\x12\\x28\\xc9\\x68\\x9a\\xf1\\x4f\\x73\\xed\\xf2\\xfa\\xa1\\x21\\xdc\\xb7\\x52\\x5f\\x43\\x43\\x34\\xcf\\x6b\\xd2\\xe2\\xed\\xc3\\x67\\x91\\xb1\\x99\\x18\\xbf\\xcf\\x2e\\xaa\\x44\\x57\\x7d\\x4c\\x74\\xeb\\xa9\\xfa\\x18\\x8e\\x3a\\x55\\x4a\\x8b\\x37\\xa3\\xb2\\xa6\\x35\\x93\\x56\\xa5\\x81\\x91\\xb7\\x66\\x25\\x8b\\x4f\\x16\\x0f\\x57\\x5c\\x26\\x92\\x62\\x7e\\x9f\\x3c\\x16\\x07\\x4b\\xfb\\xd0\\x92\\x7d\\x24\\x64\\x7a\\x7c\\xcc\\xac\\xa5\\x6d\\xc3\\x29\\xb0\\x07\\x47\\x4c\\x32\\x22\\x07\\x32\\x7a\\xdb\\x04\\x53\\xd2\\xdd\\xd9\\xf8\\x8b\\x3f\\xb0\\xcd\\xec\\x66\\x4a\\x4b\\x55\\x52\\x03\\xa3\\xed\\x60\\x71\\x24\\x44\\xa9\\x73\\x03\\x56\\x6b\\x2e\\xe5\\x29\\x2e\\xe7\\xaa\\xda\\x17\\xe2\\xa0\\xdc\\x40\\x15\\x16\\x9a\\x9d\\xce\\xcc\\xe6\\x98\\x93\\x31\\x87\\x9a\\x63\\x66\\x51\\x17\\x21\\x28\\xfb\\x69\\xc5\\x01\\x0a\\x2f\\xad\\x63\\x40\\xb9\\x11\\x48\\x1a\\xde\\x2b\\xf5\\xf3\\x8a\\xca\\xbc\\xbf\\xcb\\x24\\x59\\xa5\\x04\\x52\\x85\\x72\\xa7\\x52\\x5a\\xc9\\x73\\x70\\x47\\xe3\\xb4\\x68\\x61\\x43\\xb1\\xe7\\x93\\x5b\\xc6\\xd6\\x8d\\xef\\xb7\\xe3\\x97\\xe5\\x6f\\x82\\x3e\\xaf\\x57\\x75\\xcb\\x9f\\x14\\xac\\x9b\\xf2\\xe0\\xe4\\xdd\\xeb\\x7c\\xa1\\xab\\x5f\\x5f\\xbe\\x68\\xdd\\xb5\\x93\\xee\\x19\\xd6\\x6e\\x00\\x60\\x87\\x83\\xda\\xeb\\x26\\x4c\\x38\\xd4\\xdc\\xb4\\x1d\\xbd\\x58\\xe6\\xb3\\xdc\\x0e\\x5c\\x8f\\x9f\\x04\\xeb\\x3e\\xd4\\x9a\\x3f\\xd2\\x6e\\x47\\xc7\\xef\\x7b\\xe0\\x95\\x9e\\xcf\\xf7\\xdd\\x0d\\xc2\\x5b\\xf6\\x6d\\x5e\\x87\\x1e\\x58\\x56\\xf4\\x5b\\xb6\\x7c\\x3f\\x4a\\xea\\x8d\\x7a\\x30\\x75\\x54\\x0e\\xf6\\xb0\\x31\\xff\\x05\\xbe\\x80\\x2d\\xb7\\xd4\\x69\\xe1\\x79\\x67\\xae\\xde\\x17\\xe2\\xca\\xcb\\xbc\\x45\\x58\\xa3\\xe6\\x7a\\xbd\\xa4\\xb0\\x48\\x9a\\x98\\x64\\x6b\\x24\\x65\\x11\\x81\\xfa\\xd4\\x3c\\xb1\\x7f\\xe5\\x9f\\xcd\\x0a\\xa7\\x8a\\x23\\x24\\x86\\xa5\\xc1\\xb9\\x84\\xdf\\x64\\xef\\x2a\\xb6\\x10\\x3c\\x17\\x4e\\xcc\\x1e\\xb3\\x5a\\xe0\\xd8\\xe6\\x5e\\x23\\x27\\xbc\\xfa\\xf3\\xad\\x68\\xe7\\xa0\\xfe\\x33\\x6c\\xc5\\x7d\\x16\\x76\\xff\\xd4\\xee\\x1f\\xb2\\x69\\xcc\\x84\\x39\\x43\\xfb\\xe4\\xcf\\x09\\x86\\x06\\xfe\\x58\\xd9\\x90\\xe9\\x6c\\x17\\xb5\\x04\\x02\\x7f\\x1d\\x7b\\x14\\x54\\x1f\\x08\\xbc\\x28\\xce\\x7d\\x7d\\x16\\xfa\\xa8\\xdd\\x2d\\x65\\x0b\\x4f\\x4e\\x5e\\x34\\x6b\\xe6\\x0f\\x23\\x45\\xd3\\x33\\xc1\\x6f\\x2b\\x4e\\x4d\\xcd\\xcb\\xdd\\xb3\\x7c\\x91\\x24\\xab\\x89\\x3c\\x64\\x90\\xea\\x19\\x0d\\x62\\xe7\\x54\\x4d\\x39\\x1c\\x58\\x05\\x32\\x21\\x5f\\x66\\x66\\x98\\xf5\\x59\\x3d\\x9e\\x40\\x73\\xcc\\x83\\xa5\\xd3\\x0a\\x9b\\x63\\x56\\x51\\xd0\\xba\\x65\\x31\\x4d\\x46\\x4f\\x55\\x6d\\x67\\x8f\\x02\\x65\\x82\\x00\\x9b\\x16\\x36\\x74\\x02\\xd9\\x94\\xf9\\x92\\x04\\x25\\xe9\\x37\\x79\\x14\\xdd\\x94\\x0c\\x15\\xee\\x47\\x7f\\xa3\\x8f\\x2e\\x97\\xac\\x24\\x63\\x05\\x8e\\xe4\\x75\\x53\\xa2\\x84\\xdf\\x8c\\x46\\x50\\x01\\xb8\\xd6\\x79\\x4b\\x32\\xd3\\x78\\x10\\x8e\\x89\\x42\\xe4\\x6e\\x25\\xc3\\x0b\\x19\\x81\\x0f\\xda\\x6c\\x3a\\x9e\\xf1\\xb2\\x39\\x61\\x98\\x21\\xba\\x5c\\xbe\\xfa\\x98\\xcb\\xc4\\x89\\x22\\x45\\x1a\\x3b\\x4d\\xea\\x4b\\xf9\\x68\\xdb\\xf4\\x5a\\x51\\xc9\\xb6\\x61\\x22\\x2d\\xa3\\x29\\xb7\\xa6\\x61\\xc1\\x74\\x0c\\xb8\\xca\\x07\\x8c\\x23\\xd0\\x6b\\x29\\x36\\x9e\\x39\\x4e\\xfa\\x60\\x9f\\xfe\\xca\\x80\\x4e\\x6b\\xef\\x98\\xb2\\xb0\\xc4\\xbe\\x6f\\xd2\\x84\\x52\\x74\\x3c\\xa7\\x36\\xc1\\x80\\x49\\xff\\xf9\\x93\\xa4\\x1b\\xf6\\xd9\\x07\\xec\\xcf\\x6e\\x7c\\x6a\\x76\\xf9\\x77\\xb2\\xfe\\xdb\\x80\\x6d\\xe5\\x6c\\xa9\\xdf\\xa4\\x73\\xd4\\xc7\\xd3\\x6a\\x4a\\xab\\x02\\x10\\x50\\x34\\xc3\\xea\\x58\\x3d\\x0f\\x19\\xbc\\x03\\x0c\\xd4\\x02\\xa0\\x4a\\x0f\\x68\\xda\\xce\\x04\\x97\\x43\\x03\\x05\\x11\\x9f\\x44\\x04\\x75\\x1f\\x27\\x51\\xf0\\x1f\\x3f\\xb0\\xec\\x3c\\xc1\\xbd\\x6f\\x19\\x22\\xc5\\x27\\xd8\\x06\\x72\\x67\\xb1\\x9c\\x17\\x91\\xaa\\xfa\\xbc\\x70\\xbb\\x80\\x97\\x55\\xe9\\x6d\\xa2\\x48\\x4a\\xd0\\x55\\xf9\\x81\\x30\\x5b\\x52\\xec\\xb5\\xb9\\x72\\xf3\\xf3\\x43\\xf5\\xb1\\x7c\\x2b\\xa5\\x71\\x69\\x08\\x06\\x89\\x49\\x30\\xb2\\x46\\x49\\x59\\xa5\\xf5\\xc3\\x9a\\x8e\\x0a\\x69\\x2b\\x98\\xea\\x2b\\x91\\x21\\xe8\\x12\\x50\\xfd\\x89\\x1a\\x74\\x4b\\xa2\\x49\\xdb\\x9e\\x04\\xf3\\x97\\x0d\\x65\\x45\\x79\\x88\\xcd\\x23\\x00\\x1b\\xe8\\x5b\\x05\\x60\\x03\\x9d\\xd9\\x6d\\x11\\x81\\xa9\\x0d\\xea\\xc8\\xf0\\x75\\x73\\x7e\\xaf\\x7f\\xe8\\x6a\\x01\\xc2\\xc5\\xb7\\xaf\\x8c\\xef\\xa4\\x17\\x49\\x18\\x1b\\xf1\\x7b\\xe1\\x80\\x36\\xc8\\x23\\xa8\\x84\\x5c\\x1d\\xd0\\xb3\\x87\\x55\\x2c\\x94\\xd7\\xf8\\x7e\\xec\\x2f\\x11\\x2c\\x52\\x15\\x55\\x1c\\xb5\\xa9\\x68\\x96\\xc5\\xc1\\x00\\x8f\\x7d\\x6e\\x35\\xcf\\x6b\\x58\\xc0\\x29\\x53\\xf3\\x23\\x29\\x98\\x5a\\xb3\\xfc\\x25\\x92\\x1c\\x9c\\xef\\x07\\xf4\\x78\\xf4\\xd1\\x74\\x74\\x1e\\x54\\x6f\\x04\\xb3\\x41\\x75\\x7c\\x1f\\x5d\\x03\\xbb\\xc6\\x5f\\xa1\\xab\\x5a\\x76\\xcb\\xcf\\x98\\x86\\x65\\xf1\\x38\\xd6\\xff\\x3a\\xf2\\x0c\\x1d\\x8d\\x0d\\xb6\\x06\\xfb\\x8c\\x10\\xea\\xb5\\xd8\\x1d\\x23\\xbe\\x04\\x70\\xff\\xd3\\x33\\xf0\\x03\\x12\\xe5\\x7b\\xf8\\x39\\x5a\\x74\\x62\\xc0\\x8b\\xc0\\xdf\\x8b\\x35\\x77\\xec\\x0c\\x3a\\x80\\x76\\xf1\\xb5\\x68\\x08\\xb8\\x9f\\xa9\\x8e\\x3f\\x14\\xf8\\x6e\\xdd\\x22\\xba\\x49\\xc1\\x96\\x1a\\xac\\xf0\\x64\\xc0\\xb2\\x1f\\xd0\\x6b\\xc8\\xe8\\x22\\x16\\x3b\\x07\\xb4\\x81\\x56\\x41\\xce\\xc8\\x99\\x34\\x06\\x4a\\xea\\x2e\\xc3\\xba\\x4d\\x27\\xb0\\x72\\xc8\\x40\\x46\\x6d\\xb6\\x9e\\xa7\\x57\\x2a\\xd3\\x10\\x91\\x9d\\x3f\\x89\\x51\\xc5\\x88\\x2f\\xa6\\x2e\\xbe\\xab\\x30\\x8b\\xda\\x03\\x43\\x0e\\x5a\\x3b\\x09\\x7d\\x34\\x09\\xed\\xa3\\xcf\\xd3\\xd7\\x11\\xbe\\xe3\\x0b\\x3f\\x20\\x2d\\x29\\x12\\x2d\\xb4\\xc2\\xbb\\x40\\xe6\\x94\\xaa\\xb1\\x53\\x6c\\xd0\\x18\\x00\\xe4\\xcd\\x82\\x60\\xe1\\x45\\x83\\xca\\xac\\x31\\x42\\x5e\\xc5\\x63\\x27\\x54\\x95\\x98\\x2d\\x9e\\xf0\\xf3\\x5b\\x0d\\x86\\x95\\xd7\\x9b\\x74\\x77\\x55\\x4a\\x43\\xa7\\x95\\x25\\xa1\\x47\\x81\\xb2\\x1c\\xf4\\x7a\\x2e\\x3a\\x91\\x8b\\x2e\\x84\\x80\\x5a\\x5e\\x9c\\x7e\\xed\\xc8\\xe2\\x7c\\x70\\xe2\\xc4\\x07\\xf2\\xd2\\x3c\\x32\\x98\\x6e\\x22\\xf7\\x62\\x77\\xe3\\xf3\\x74\\x44\\xc1\\xe5\\x0d\\xe1\\x65\\xa1\\x28\\xa3\\x8e\\x66\\x79\\xec\\xd9\\x31\\x0c\\x69\\xce\\x35\\x19\\x04\\x9a\\xd5\\x41\\x4a\\xad\\xd5\\x72\\xa3\\x63\\x5a\\x01\\x12\\xef\\xbd\\x54\\x11\\x67\\x7b\\x55\\x4d\\xdb\\xab\\x2f\\xb2\\x30\\x64\\x59\\x94\\x6b\\x2e\\xfc\\xea\\x13\\x50\\xfe\\x05\\xb8\\x05\\x54\\xc5\\xf7\\xfc\\xf6\\x34\\x76\\xeb\\xfa\\xc6\\x51\\x15\\x3a\\x4a\\xdf\\xc4\\xae\\x40\\xb9\\xe0\\xc3\\xf8\\x70\\xe4\\x90\\x2e\\xea\\x2c\\xf1\\x1f\\xe8\\x2f\\x30\\x3d\\xbb\\xb1\\xcf\\xf9\\x84\\xe4\\x73\\xf6\\x8a\\x86\\x29\\x3d\\x76\\x82\\x59\\x5a\\xa5\\xd5\\x73\\x8c\\x5a\\xa3\\x31\\x63\\x9a\\x4c\\x2a\\x56\\x4b\\x33\\x40\\xcd\\x19\\x19\\xab\\x11\\xa4\\x0d\\x7f\\x92\\xef\\x02\\x12\\xb8\\x7f\\xe9\\x04\\xf9\\x09\\x19\\x6a\\x90\\x24\\x0b\\x6a\\x2a\\x9e\\x44\\x87\\xd1\\x09\\xd0\\x82\\xbe\\x05\\xd9\\xfb\\x40\\x0e\\x8e\\x26\\xbc\\xbb\\x9e\\xc4\\xc1\\xff\\x32\\xb4\\x82\\x2e\\xa5\\x55\\xa4\\x87\\x28\\xfe\\x5f\\xf4\\x4a\\xc2\\x0f\\x5e\\x8d\\x75\\xc0\\x7a\\x69\\x8d\\x7a\\x45\\x43\\xd8\\xff\\x35\\x60\\x9d\\xc3\\xea\\x78\\xb5\\x9a\\x35\\xe8\\x8d\\x38\\xfe\\x54\\x31\\x7a\\x06\\xaf\\x8d\\x5e\\x20\\xb3\\xc7\\x28\\xa3\\x12\\xe1\\xc8\\xd3\\x73\\x8e\\xa6\\x55\\x55\\x29\\xc9\\x74\\x79\\x91\\xf8\\xa4\\x47\\xfe\\xff\\x71\\xf6\\x1d\\xf0\\x51\\x55\\xd9\\xc3\\xef\\xbe\\xfb\\xca\\xf4\\xde\\x5b\\x66\\x32\\x49\\x26\\x7d\\x92\\x0c\\xc9\\x90\\x00\\xc9\\xd0\\x91\\x92\\x84\\xd0\\x32\\x84\\x24\\xa0\\x74\\x0c\\x48\\x13\\x90\\x2e\\x22\\x4d\\x40\\x50\\x50\\x51\\x11\\x10\\x11\\x95\\x45\\x29\\x52\\x15\\xb0\\xa0\\x28\\xb8\\x8a\\x65\\x11\\xb1\\xac\\x6b\\x61\\x75\\x71\\x15\\xc4\\xf2\\x97\\xcc\\xcb\\x77\\xef\\x7d\\x6f\\x4a\\x00\\x77\\xf7\\xf7\\x6d\\x56\\x98\\x0c\\x33\\xef\\x9e\\x76\\xcf\\x3d\\xe7\\x9e\\x86\\x08\\xe6\\xdb\\x0b\\x3f\\xcd\\x17\\x76\\x1d\\x88\\xb7\\x94\\xfe\\xa3\\xe6\\xda\\x91\\x6f\\x85\\x27\\xd8\\xc5\\x48\\x0d\\x89\\x3d\\x8b\\xc1\\xc3\\xa2\\x2f\\x33\\x06\\xf1\\xab\\x9a\\xd4\\xe9\\xdf\\x1a\\xe9\\xa0\\x32\\xab\\x4d\\x6a\\x8d\\x11\\x69\\x1b\\x13\\x4c\\x4b\\xe3\\x9c\\x5e\\x27\\x30\\xe9\\x34\\x5c\\xba\\xcf\\x60\\xb3\\xc9\\x6a\\xa3\\x36\\x8b\\xc5\\x46\\x99\\xb4\\x35\\x51\\x93\\x59\\xad\\x85\\x5e\\x0a\\x69\\x77\\xe2\\xd7\\xa4\\xce\\xf5\\xa9\\x4a\\xb5\\xcf\\x43\\xc9\\x7c\\x7c\\xa9\\xa4\\x15\\x79\\x8c\\x24\\x4c\\x29\\xa6\\x6f\\x13\\x9e\\x86\\xfd\\x5c\\x3c\\x48\\xe9\\x5f\\x49\\xbf\\x99\\xf9\\x7e\\xad\\xe3\\xe1\\x6e\\xcb\\x9a\\x35\\xb8\\xcf\\xcf\\x83\\x48\\xe5\\x6c\\xb7\\xc1\\xf5\\x57\\x70\\x64\\x72\\xf8\\x17\\x4c\\xc5\\x31\\x61\\xd2\\xdc\\xdc\\xc5\\xfd\\xef\\x1e\\x10\\xef\\x44\\x75\\xf8\\x8c\\x38\\x05\\xf7\\x5d\\x84\\xcb\\x2e\\x84\\xcb\\x29\\xe2\\xdb\\xf7\\x8f\\x04\\x4c\\xb4\\x19\\x71\\xd2\\x66\\x05\\x5a\\xe4\\xe5\\xd8\\xa0\\xc5\\x69\\x71\\xb1\\x86\\xe6\\x28\\xad\\x64\\x59\\x60\\x56\\x42\\x07\\x00\\xd6\\x54\\x95\\x1e\\xba\\xc9\\x65\\xbf\\x74\\x07\\x81\\x34\\xfb\\xcd\\x1a\\x66\\x13\\xe7\\xa7\\xfe\\xad\\x9b\\x34\\xcd\\xfe\\xea\\x71\\xe4\\xff\\xdc\\xd8\\x36\\x5b\\x72\\x84\\x00\\x35\\x11\\xc9\\x24\\xee\\x95\\xe5\\xa0\\xfa\\x45\\x02\\x72\\x83\\x42\\xaf\\x50\\xea\\xd4\\x2a\\x3d\\x72\\xda\\xf5\\x6a\\x25\\xe3\\x72\\x9a\\x90\\xa1\\x6f\\x70\\x98\\x4c\\x7a\\x85\\x43\\xab\\xd5\\xe3\\xce\\x01\\x7a\\xf3\\xf5\\x70\\xb6\\x77\\x80\\x12\\xfd\\xbd\\x2c\\xa9\\xdd\\x94\\x6e\\xda\\x2a\\x6b\\xf7\\x06\\x44\\xd3\\xc3\\x37\\xe9\\x96\\x25\\xd2\\x33\\xd9\\x31\\x2b\\xd9\\x77\\xdc\\x89\\xe1\\xe4\\x8c\\xd0\\x02\\x6c\\x9c\\x53\\xe7\\xa4\\xec\\x76\\x9d\\x5c\\xee\\x70\\x39\\xdc\\x16\\x23\\x67\\x6c\\x8e\\x42\\x96\\x02\\x26\\x15\\xc7\\xd9\\x55\\x52\\xdc\\x5d\\xba\\xdb\\x49\\x8d\\xde\\x60\\xf7\\xb1\\x44\\xf4\\x54\\x7c\\x46\\x74\\x24\\xf9\\x8d\\xa9\\xf4\\xc4\\xd7\\xd9\\x65\\x52\\x0f\\xf2\\xc5\\xa3\\x4a\\x5f\\x2f\\xfe\\xeb\\xdf\\x44\\x82\\x0e\\x19\\x3e\\xe0\\xf5\\x01\\x53\\xa6\\x4a\\x8d\\xc8\\x0b\\x0c\\xc2\\xbf\\x00\\x48\\x52\\x75\\x70\\x93\\x1a\\x3c\\x20\\x4c\\x55\\x7b\\x49\\x4b\\xf2\\x64\\x0f\\x32\\x17\\xee\\x41\\x86\\xa3\\xa0\\xd0\\x6e\\x37\\x73\\x06\\xb9\\x4e\\xc9\\xbb\\x35\\x6a\\xb5\\x47\\xce\\xb9\\x2c\\x88\\xb4\\x66\\x9d\\x85\\x37\\x59\\x78\\xde\\x62\\x82\\x5a\\x95\\x4b\\xab\\x25\\xa3\\x20\\xa5\\xba\\x12\\x72\\x23\\x75\\xfd\\x5d\\x5a\\xa2\\x07\\x59\\x1c\\x4e\\xdc\\x85\\x4c\\x0b\\xfc\\x61\\x3e\\x49\\xde\\xd2\\xd2\\xd2\\xf9\\xa1\\xa2\\x71\\x52\\x2f\\xb2\\x86\\xae\\xd9\\xf3\\xfd\\xdd\\x93\\x14\\x2e\\xe8\\xc2\\x01\\xa5\\xd0\\x2a\\x73\\x8b\\x4d\\xc9\\xb2\\x8d\\xa7\\xf7\\xc1\\x78\\x63\\x32\\x40\\xe5\\x20\\x3a\\xe7\\x92\\xd9\\x0e\\xc1\\x88\\x55\\xcd\\x01\\xa3\\xd1\\xc4\\x99\\xac\\x16\\x46\\x47\\xfa\\xba\\xe3\\x9e\\xee\\x26\\x43\\xfc\\xfc\\xb8\\xbe\\x5d\\x92\\x38\\x32\\x2b\\x51\\x53\\x46\\x66\\x35\\xd3\\xa3\\x26\\x3e\\xfc\\x5a\\x14\\x2c\\xd4\\x45\\x85\\xaf\\x87\\xa8\\x66\\xcc\\x5c\\xf3\\xf2\\xdd\\xe2\\xd8\\x95\\xd8\\x67\\x21\\xaf\\x70\\xb0\\xc7\\x60\\xa1\\x08\\xbc\\xd8\\x39\\xd4\\x3c\\xa8\\x34\\xd6\\x8c\\x96\\x8d\\xf7\\xfc\\x60\\x56\\x93\\xfe\\x1d\\xfd\\x88\\x3d\\xee\\x6c\\xbb\\xc4\\x3d\\x41\\xe6\\xe1\\xe6\\x52\\x43\\x22\\xf9\\x19\\x76\\xf4\\xc2\\x8d\\xdc\\x3f\\x9d\\x52\\xc9\\x53\\x76\\x26\\x3f\\xcf\\xcd\\x1b\\xf8\\xe6\\x68\\x6e\\xba\\x41\\x6d\\x50\\x43\\xb3\\x39\\x80\\x2c\\x55\\x06\\x7a\\xdb\\x25\\xf4\\x8a\\xd1\\xf0\\xf2\\x1b\\x9b\\xca\\x88\\xb0\\x73\\x62\\xa1\\x83\\x28\\xa3\\x56\\xce\\x6c\\xb1\\xe2\\x52\\x6a\\x8b\\x81\\x14\\x8a\\x89\\x9b\\x4c\\x1c\\xcc\\xcc\\x73\\x9e\\xb1\\xc2\\x99\\x2f\\x0e\\x0b\\xbf\\xac\\xd7\\xac\\x7e\\xa4\\xdb\\xdb\\x85\\x60\\xfa\\x00\\xb0\\x11\\xf8\\x76\\x5d\\x5b\\x66\\xd4\\xb6\\x52\\xbb\\x9e\\xfa\\x72\\x43\\x1e\\x43\\x3f\\x78\\xcf\\x0b\\x9f\\x67\\x03\\xdb\\xfa\\x4d\\xab\\x80\\xeb\\xf5\\x05\\x77\\x4d\\x78\\x2c\\xad\\xb1\\x7f\\x5f\\x08\\x5c\\xa0\\xd3\\x6a\\xe1\\xda\\xce\\xd0\\x86\\x2e\\xc7\\x4f\\x9e\\x02\\xdb\\x2b\\x1e\\x7e\\xf2\\xd8\\x41\\x8a\\x6e\\xfb\\x03\\xf9\\x1b\\x31\\x32\\x1f\\x37\\x9b\\x9a\\x10\\xe9\\xe4\\xf3\\xf0\\xb2\\x6c\\x9a\\xb6\\xe1\\x28\\x0d\\xcc\\xb5\\xe8\\xf5\\x39\\xd9\\x54\\x5d\\x34\\xdb\\xa7\\xd3\\xf7\\xc1\\xe5\\x1d\\xb4\\x9a\\xcd\\xb6\\xd9\\xb4\\x75\\x51\\xde\\x66\\xb4\\x19\\x95\\x4e\\x67\\x66\\x5d\\xd4\\xa9\\x53\\xb2\\x03\\xa3\\xca\\xeb\\x6b\\x1b\\xc8\\x8d\\x26\\xee\\xb0\\x93\\x12\\x5b\\x4f\\xc1\\x59\\xd4\\x1e\\x56\\x51\\xa1\\x84\\x33\\x44\\xcc\\x4d\\x56\\x29\\xa8\\xc1\\x07\\xc2\\x62\\x18\\x91\\xce\\xe1\\x1b\\x1b\\x1e\\xe8\\xf6\\x4b\\x9f\\x2f\\x0e\\x7c\\xf4\\x13\\x2d\\xfc\\x5a\\xfd\\x6c\\xe1\\x88\\x30\\xc8\\x7c\\xe7\\xec\\x57\\xb6\\x4b\\x70\\xc4\\xb0\\x91\\xf7\\xda\\xc1\\xa7\\x59\\xa1\\x89\\x53\\x9f\\xe9\\xfb\\xf8\\x82\\x8b\\xef\\xf6\\x54\\xbe\\x38\\x72\\x4d\\x51\\x75\\x71\\x1f\\xfe\\xec\\xb7\\xe7\\x5e\\xbf\\x6d\\xc6\\xd1\\x8e\\xb7\\x4d\\x5c\\x31\\x4f\\xe4\\xa3\\x70\\x99\\xf0\\xd1\\x4f\\xe5\\xe1\\x5e\\x19\\x99\\x0e\\x3f\\x45\\xb3\\x79\\x1e\\x8f\\x51\\xa6\\x57\\xa9\\x64\\x2c\\xe5\\x60\\x0b\\xf2\\x3d\\x32\\xa3\\xac\\x39\\x9a\\x87\\xd4\\x9c\\x51\\xc3\\x5a\\x2c\\xd9\\xcd\\x51\\x0b\\xc3\\xfa\\x90\\xe1\\x4b\\xb3\\x38\\xb7\\xf7\\x9d\\xff\\x81\\x9d\\x04\\x39\\x9a\\x45\\xfb\\x3a\\x8b\\xd2\\xff\\x4f\\x1c\\x3d\\x28\\xec\\x0d\\x7d\\x58\\x72\\x59\\x68\\xfd\\xef\\x2c\\x15\\x5a\\xd3\\x85\\x36\\x40\\x39\\x41\\x15\\x50\\xfd\\x17\\xc6\\x92\\x7c\\x83\\xdf\\x85\\xcb\\xcc\\x35\\xc4\\x5b\\x8c\\xf3\\xec\\x48\\xf7\\x4c\\x1f\\x2f\\x53\\x6a\\xf2\\x68\\xda\\xa9\\xd7\\x6b\\x64\\x3e\\xa6\\xc0\\x6e\\x32\\xe5\\xe7\\x21\\xf6\\xe6\\x11\\xf6\\xe6\\xa5\\xe5\\x21\\xf6\\xe6\\x39\\x9d\\x06\\xc4\\x5e\\x27\\x3a\\x27\\x34\\x1e\\x4f\\x76\\x5d\\xd4\\xa3\\x53\\x6b\\x22\\x4a\\x8d\\x86\\xad\\x8b\\x6a\\x2c\\xe2\\x21\\x87\\xeb\\xd0\\xfe\\x27\\x46\\x5f\\xc7\\x6a\\xac\\xee\\x90\\x1b\\xf3\\x1f\\xb8\\x1d\\x10\\xb9\\x5d\\xf5\\xfc\\xbd\\xa1\\x0f\\x43\\x3b\\xf7\\xfe\\x47\\x86\\x2f\\x5b\\xa0\\x43\\xd4\\x60\\x5c\\xff\\x78\\xfe\\x4f\\xd9\\x7e\\xe3\\xec\\x37\\x71\\x36\\x11\\x5f\\x66\\xc8\\x82\\x6f\\x4a\\xf3\\x66\\x8e\\x81\\x72\\x92\\x2b\\x9b\\x9e\\xce\\x66\\x81\\xcc\\xfd\\x99\\xf9\\xac\\x25\\xa5\\x27\\x0b\\xe9\\xb3\\x8c\\x7b\\xb2\\xc0\\x8b\\x52\\x4f\\x96\\x97\\xa4\\xdc\\x5a\\xd2\\xc6\\x25\\x73\\x6e\\x66\\x3e\\x63\\x4d\\x9d\\x4f\\x83\\x7c\\xda\\x91\\xa4\\xd6\\xf6\\x96\\x48\\x96\\x5b\\x4b\\xa7\\xa7\\xfb\\xfd\\x16\\x95\\x96\\xc9\\xe0\\x65\\xb2\\x4c\\xab\\xd1\\x4f\\xfb\\x46\\x45\\x55\\x34\\x4d\\xf9\\x0d\\x46\\x7b\\x73\\xd4\\xe8\\xe4\\x13\\x76\\x9f\\x74\\xf3\\x7c\\x33\\xa5\\xeb\\x83\\x25\\x95\\xb4\\x18\\xd5\\x25\\xd3\\xdc\\x93\\xd7\\x49\\xf1\\x61\\xc2\\xc8\\x29\\x0d\\xcc\\xf2\\x84\\x7a\\x34\\x83\\x3a\\x64\\x75\\x1d\\x0c\\x8c\\xcf\\x3a\\xf5\\xea\\x1e\\xe1\\xc4\\xc9\\xfb\\x3e\\xae\\x7d\\x61\\xd4\\xce\\x96\\x43\\x93\\x76\\x3c\\xf2\\xd6\\x1c\\xe1\\x13\\xa4\\xfa\\x9e\\x35\\x77\\x9c\\x08\\x9e\\x10\\x46\\x95\\x8c\\x71\\xe6\\x5e\\x3b\\xfb\\x89\\xf0\\xfc\\xa1\\xf2\\x7e\\xfb\\x46\\xcc\\xbe\\xb0\\x69\\xf3\\x9e\\xd8\\xfa\\x78\\x9c\\x6b\\x18\\x33\\x92\\xd4\\xcb\\xf6\\x8c\\x64\\x72\\xbc\\x43\\x0d\\x70\\xb6\\x80\\x51\\xa9\\xe6\\x59\\x7f\\x3a\\xf0\\xd4\\x45\\x91\\x1f\\xe8\\xe5\\x7c\\x5a\\x93\\xce\\x6b\\xd6\\x59\\x6b\\xa2\\x3a\\x67\\x3c\\x53\\xa1\\x4a\\xaa\\xae\\xbb\\xee\\xe2\\x48\\xea\\x04\\x8c\\xc0\\x67\\xf4\\xd7\\x5d\\x1a\\x91\\x49\\xc8\\xb4\\x6e\\x78\\x59\\x79\\xaf\\xf2\\x67\\xf1\\xe5\\xae\\xd5\\x97\\x09\\x86\\x0b\\x3b\\x85\\x0b\\x77\\x9f\\x29\\x15\\x6f\\x8d\\xd6\\xdd\\xb9\\x6d\\x98\\xf0\\xed\\xfb\\xe4\\x9e\\x37\\x73\\xf0\\x60\\xdc\\x26\\xd8\\x9b\\x99\\x5e\\x23\\x3c\\x2f\\x7c\\x2f\\x1c\\x94\\x6e\\x8f\\xe6\\xaf\\xc1\\xa1\\x0e\\x3c\\x6f\\x07\\xd9\\x3e\\xdb\\xe2\\x73\\xff\\xad\\x26\\xa3\\xcd\\x64\\x93\\x53\\x06\\x83\\x43\\x8e\\x34\\xd6\\xc8\\xa8\\xcd\\x80\\xe7\\xed\\xe8\\x21\\x3a\\xf5\\xf0\\xc0\\x9d\\xa4\\x23\\x8b\\x77\\x36\\xb0\\x05\\x43\\xfa\\x50\\xca\\x28\\x0e\\xe0\\x53\\x00\\x0d\\x1d\\x88\\x57\\x8c\\x18\\xe2\\x19\\x65\\x78\\xe4\\xce\\xc9\\xc9\\x63\\x27\\xdf\\xd3\\x99\\x8c\\xdc\\xc9\\xed\\x3e\\x60\\xc2\\x05\\x78\\x48\\x4c\\x8c\\xbb\\x93\\x59\\x1d\\xdb\\x2b\\x7c\\xbf\\xef\\xd6\\x00\\xd4\\xff\\xc6\\xf7\\xde\\x0a\\x5c\\xf4\\x7d\\xa2\\x9d\\x49\\x68\\xdb\\xb6\\x1b\\xd9\\x3c\\x62\\x4f\\xe3\\xf2\\x88\\x87\\xb3\\x31\\x80\\x42\\x76\\x98\\x0d\\x22\\x03\\xc7\\x6e\\xe5\\x6b\\xa2\\x56\\xad\\x4a\\x57\\x1b\\x85\\x2a\\x0b\\xc5\\x12\\x37\\xf7\\x8d\\x44\\x3f\\x8a\\x14\\x79\\xc8\\x14\\xb3\\xf4\\x7c\\xe2\\x30\\xa0\\xf8\\xc5\\xa2\\xd1\\xc7\\x64\\x93\\x24\\xb6\\x99\\xbb\\x85\\x6f\\x96\\xdc\\x39\\x61\\x4e\\x93\\xd8\\xcb\\x29\\xaf\\x53\\xa4\\xe9\\x09\\xe8\\x3d\\x8e\\x93\\xd6\\xe0\\x3c\\x61\\xa6\\xf0\\xf1\\xa6\\xee\\xb8\\x7b\\x53\\xe9\\x82\\x18\\xb8\\x40\\xf8\\x9d\\x83\\x64\\xf6\\x47\\x44\\x33\\x2b\\xa6\\x99\\xd2\\x68\\xc4\\x2d\\x9b\\xa0\\xc6\\x64\\x33\\xd9\\xf5\\x88\\x4a\\x48\\x59\\x18\\xb5\\x90\\xa1\\x34\\x06\\x8a\\x43\\x26\\x78\\x7b\\x5e\\xa7\\xde\\xfa\\x8a\\x4d\\x4a\\x13\\x92\\x19\\x4e\\xb9\\x1f\\xa7\\x29\\x7a\\xb0\\x78\\xbd\\xd9\\xb4\\xf5\\x4e\\xd7\\x2d\\xb1\\x4d\\x33\\xd1\\x41\\x6c\\x10\\x6f\\x82\\x41\\xe0\\x5f\\x9d\\x85\\xcd\\xc2\\x30\\x7c\\xad\\x39\\xfa\\x95\\xd5\\x60\\x76\\xe2\\xc2\\xbc\\x9f\\xf0\\x8e\\x70\\x0c\\xc1\\x07\\x91\\x3c\\xee\\x25\\x71\\xb6\\x1e\\x11\\x3f\\x25\\x93\\xc9\\x39\\x9a\\x86\\x5a\\x28\\x87\\x36\\xab\\x0e\\x07\\xdd\\x6a\\xa2\\x6a\\x27\\x07\\x6a\\xa2\\x1c\\x07\\x65\\x8c\\x16\\x8a\\x76\\x4c\\x79\\xf0\\x4f\\xef\\x31\\x93\\xd3\\x4d\\x38\\x9c\\x76\\x26\\xca\\x62\\x18\\x7a\\xc9\\xf5\\xf0\\xfb\\xc0\\x31\\x08\\x2c\\x19\\x04\\x1c\\x6f\\x04\\x85\\xf3\\xc2\\x4f\\xc2\\x77\\xb7\\xbf\\x96\\x36\\x2e\\xf2\\xe0\\x23\\x19\\xe2\\x6d\\x31\\x69\\x62\\xdc\\xf6\\xfb\\xf7\\x0f\\x2e\\xf6\\x86\\x76\\x1c\\x4c\\xc6\\x85\\xc5\\x38\\xc3\\xc0\\x48\\x8e\\x06\\x39\\x7a\\x62\\x8f\\x65\\x25\\x9e\\x03\\x03\\x75\\xd8\\xc1\\xd2\\x50\\xe2\\xed\\x39\\x25\\x27\\x73\\xe1\\x94\\x23\\xa3\\xd4\\x4d\\xc3\\x0c\\xa9\\x71\\x90\\x78\\x82\\x47\\x4a\\x94\\x01\\xb1\\x1d\\xbe\\x74\\x43\\x94\\x61\\x23\\x96\\xbb\\xf6\\x71\\x06\\x2c\\x6d\\xa9\\x71\\x86\\x9e\\x91\\x0c\\x7c\\x13\\x2c\\xe7\\x64\\xac\\x02\\x90\\x86\\x5c\\x1c\\x72\\x43\\x75\\x62\\x80\\x01\\x37\\x4a\\x94\\x69\\xcc\\xac\\x42\\x94\\xb8\\x1b\\x66\\x5f\\xa4\\xec\\xe3\\x38\\x14\\xed\\xc3\\x0a\\xcf\\x2f\\x15\\x0e\\xfd\\x71\\x65\\x7a\\xfb\\xb8\\x02\\x49\\x92\\x4c\\xc6\\x15\\xf6\\x20\\x1a\\xbd\\x43\\x7c\\x92\\xca\\x88\\x97\\xa2\\x0d\\x4a\\x25\\x3a\\x25\\x9d\\x36\\xbb\\xdd\\x25\\x33\\x37\\x47\\x59\\x8d\\x4c\\x46\\xd9\\x34\\x64\\x58\\x0e\\x8d\\x49\\xf3\\x4e\\xfc\\x72\\x5f\\xf2\\x45\\x52\\xbc\\x4e\\xdc\\xb0\\xe2\\xe6\\x93\\x7b\\x18\\x43\\xcd\\x1f\\x0b\\xe7\\x76\\xbe\\xd9\\xf4\\x1e\\x3c\\xba\\x0e\\x04\\x6f\\x3a\\xc1\\x27\\xd5\\x0f\\xe9\\x12\\xf1\\x2a\\x94\\xc8\\xa7\\xb3\\x5a\\xb5\\x86\\x54\\x0f\\x44\\x8d\\x3c\\x10\\xb5\\xae\\x26\\xaa\\xc5\\x5d\\x00\\xda\\xc1\\xd6\\xae\\x01\\x6a\\xaa\\xe7\\x41\\x1a\\x6b\\x84\\x6f\\xda\\xa4\\x77\\x5b\\xcd\\xe5\\x19\\x77\\xe5\\xdf\\xac\\x4f\\x2f\\x02\\x73\\xe8\\x97\\xc9\\x56\\xbd\\xa2\\x6c\\xe1\\x59\\x5d\\x94\\x87\\x1a\\x1c\\xc9\\xd3\\xa8\\x1d\\x7a\\x07\\x64\\xe5\\xac\\xc7\\xc2\\x00\\xe0\\xf6\\x78\\xbc\\x36\\x9c\\x32\\x98\\x26\\xd7\\x3b\\xf4\\xac\\xdb\\x0a\\x35\\x16\\x03\\x64\\x59\\x0a\\xcf\\x06\\x4c\\xf8\\x49\\x55\\xa1\\x76\\xe5\\xe1\\xa1\\x64\\x3b\\xc3\\x50\\x52\\x95\\xa0\\xdd\\xaa\\xa1\\x81\\x1f\\x06\\x01\\x4f\\x52\\xb7\\x7c\\xd8\\xc6\\x00\\x3e\\xf6\\x5f\\x44\\xb6\\x9a\\x76\\x99\\x4a\\x20\\xdf\\xb7\\x87\\xd0\\xfd\\xfd\\x26\\x9b\\x8e\\x35\\x1a\\x77\\x09\\x7f\\xa0\\xdd\\xbb\\xaa\\xde\\xee\\x18\\x07\\xd6\\x83\\x15\\x64\\x38\\x20\\x9c\\x31\\xf6\\x5d\\xa5\\xfe\\xc9\\xb5\\xad\\x6b\\x61\\xe8\\xb3\\xed\\x79\\x7f\\x19\\xd3\\xba\\x82\\x5d\\xdc\\x7a\\x49\\xb8\\x54\\xfe\\x37\\x68\\x4f\\xc4\\xbd\\x48\\xbf\\x74\\x1b\\xf6\\xa3\\xac\\x44\\xf7\\x29\\xe4\\x26\\x3d\\xbe\\xf2\\x53\\x9a\\x58\\xe4\\x9d\\xf2\\x0e\\xbb\\x4c\\x69\\x52\\x2a\\xac\\x3a\\x2d\\x52\\x8b\\x5a\\x64\\xf0\\x23\\x72\\x23\\x1c\\xf4\\x09\\x2c\\x6e\\x22\\x95\\x12\\x0a\\xa4\\x5f\\x3a\\xf1\\xa8\\xe2\\xfd\\xd2\\x59\\xf3\\x3d\\x58\\x1d\\xd6\\x2e\\xd7\\x96\\xe1\\xa6\\xe9\\xbc\\x73\\x79\\x6a\\xcf\\x74\\xa2\\x0f\\xe9\\x23\\x43\\x76\\xe3\\xbe\\xe9\\x63\\x1f\\x8d\\xf5\\x4a\\xb6\\x4d\\x6f\\xdf\\x0b\\xb0\\x26\\x39\\x9b\\x92\\x4f\\x33\\x64\\x61\\x8b\\x42\\xcf\\xcb\\x19\\x62\\x07\\xd8\\x0e\\xd0\\x5a\\x2d\\x9b\\x45\\x1b\\x0e\\x81\\xf0\\x7e\\x83\\x83\\xe1\\xdb\\xf5\\xbf\\xc4\\xb3\\x50\\xca\\xd9\\x7f\\xa0\\xef\\xf4\\x20\\x35\\xa1\\x9b\\xa8\\xbf\\x89\\xb6\\x03\\x8d\\x70\\xc9\\xa2\\x3b\\xbf\\xd8\\xb9\\xa7\\x2a\\x37\\xc5\\xd6\\x20\\x6b\\x90\\xb9\\xb4\\x19\\xd2\\x0c\\xe2\\xb3\\xa0\\x1f\\xae\\x21\\x85\\xb4\\xc5\\xc2\\x66\\x41\\xda\\x78\\x08\\x14\\xee\\x37\\xea\\xc5\\x65\\x92\\xb5\\xa7\\x64\\xe6\\x0a\\xe9\\x53\\xd8\\x43\\xea\\xb3\\x79\\x36\\xde\\x67\\x33\\x12\\xc1\\x7d\\x36\\xbb\\xac\\xef\\xd2\\x49\\x5c\\x29\\x3e\\xcf\\xb6\\xed\\x09\\x8a\\x92\\x89\\xb3\\x36\\x97\\x13\\x58\\x73\\x91\\x9f\\x73\\x8e\\xf4\\x42\\xdf\\x99\\x9c\\xe9\\x48\\xf0\\xcd\\x96\\xf0\\xdd\\x20\\xd9\\x3d\\x78\\x1c\\x32\\xd0\\x1e\\xd3\\x5a\\xdb\\xcd\\x4f\\x16\\x7b\\x7d\\xfe\\x23\\xde\\xeb\\x13\\xe1\\xfa\\xb6\\x84\\x2b\\x6e\\xf5\\x49\\xfb\\x57\\xfb\\xf3\\x93\\xdd\\x41\\xd1\\xe7\\x27\\xb5\\x5d\\x62\\x8f\\xb2\\x1b\\x75\\x1c\\x18\\x98\\x3a\\xdf\\x42\\xc7\\xd1\\x4e\\xf2\\x3b\\xf9\\x77\\x4c\\x0b\\xfc\\xef\\x84\\x16\\xcf\\x88\\x33\\x7a\\x21\\x9d\\x9b\\x8b\\x69\\x11\\x98\\x15\\xc8\\xb4\\x6a\\xdb\\xcd\\xe8\\x4d\\xf4\\x1b\\xc5\\xcf\\x20\\x74\\x78\\x25\\x4e\\x87\\x40\\x80\\xf4\\x1b\\x1d\\x9b\\x91\\x6e\\xd6\\xb4\\xa3\\x03\\xb1\\x07\\xf1\\x3a\\xa2\\x3d\\x48\\x4d\\xa4\\xef\\x8d\\xcf\\x02\\xce\\xc9\\xc1\\xf5\\xbe\\x59\\xcf\\x67\\x65\\x88\\x16\\x61\\xe2\\x3b\\xa2\\x4d\\xb8\\x32\\x6e\\x13\\x22\\xd8\\x9e\\xa2\\xa8\\xf8\\x77\\x70\\xad\\x6f\\xd6\\x43\\x59\\x19\\xa2\\x55\\x98\\x80\\x8d\\xcc\\x88\\x24\\xeb\\x9c\\x92\\xbe\\xd3\\x12\\x5f\\xa7\\xb0\\x10\\xaf\\x93\\x77\\x32\\x2f\\x07\\x7a\\xda\\x7d\\x87\\xcc\\xb4\\x20\\xeb\\xfc\\x53\\xc2\\x67\\x47\\x7c\\x9d\\x82\\x02\\xbc\\x4e\\xee\\x7d\\xb9\\xd9\\xd0\\x99\\xda\\x3f\\xb5\\xed\\x7b\\x44\\x37\\x03\\xb9\\xab\\xe8\\x1d\\xc9\\x30\\x71\\x4e\\x1b\\x3a\\xe3\\xd4\\x0e\\xa4\\x2c\\x90\\xe3\\xef\\x82\\x1a\\x1b\\xb2\\x86\\xe4\\xfa\\xe6\\xa8\\xdc\\x88\\x68\\xe4\\x4c\\xbd\\x51\\x4b\\x74\\xa9\\x69\\x7f\\xd1\\x47\\x12\\x3d\\x49\\x6b\\x08\\x64\\xb7\\x5d\\x97\\x8a\\x86\\x2c\\x52\\x17\\xfc\\x35\\x4b\\x58\\x3d\\xef\\x01\\x64\\x8c\\x7d\\xf1\\xd0\\xf9\\x35\\x85\\x40\\x95\\xbf\\xe9\\xae\\xe5\\xdb\\x36\\x2d\\xee\\x94\\x0e\\x86\\xc4\\x26\\xb3\\x8b\\x4f\\x0a\\x47\\xdc\\xaf\\xaf\\xba\\x26\\x7c\\x36\\x74\\xcb\\x9a\\x86\\xa5\\x77\\xae\\x98\\x36\\x71\\xe1\\x1e\\x50\\x4a\\x6c\\xf3\\xb6\\x47\\xd1\\xb9\\x5e\\x82\\x7b\\xc0\\xd3\\x83\\x13\\x32\\xf7\\x35\\xf7\\x78\\x7c\\x16\\x24\\xbd\\x0a\\x9c\\x02\\xdd\\x28\\x53\\x44\\x05\\xb4\\x58\\xe4\\xb6\\x69\\xf5\\xf1\\x51\\x90\\xa5\\x29\\xb3\\x30\\x1a\\xa4\\xfe\\x8a\\xf8\\xf3\\x3c\\x7a\\x30\\xfe\\xbc\\x07\\x77\\x58\\x6c\\x40\\xea\\x51\\x91\\xfa\\x79\\xf1\\xf9\\x1f\\xc5\\x9f\\x8f\\x78\\xf0\\xf7\\x38\\x0f\\xcc\\x66\\xcc\\x03\\xc3\\xcb\\x06\\x1d\\xc5\\xb7\\xe3\\x81\\xb8\\xc6\\xca\\xf8\\x1a\\xe8\\x3b\\x9a\\x38\\x0f\\x32\\x32\\x30\\x0f\\x7c\\x63\\x7c\\x69\\xe2\\x32\\x89\\xef\\x90\\xde\\x09\\x64\\x1f\\x97\\x48\\xdf\\xf9\\x67\\x5c\\x76\\x33\\x32\\xb0\\xec\\xfa\\xee\\xf3\\xa5\\x29\\xe1\\x0d\\xb2\\xbb\\x95\\xac\\x53\\x27\\x7d\\xc7\\x12\\x97\\x5d\\x5c\\x3f\\x0e\\x69\\xcf\\x32\\x8f\\x8b\\xa7\\x52\\x78\\x9d\\xda\\xa3\\xc1\\x8c\\xcd\\xb2\\x88\\x57\\x6f\\xb7\\x19\\x0c\\x4a\\x3b\\x84\\x4a\\xb7\\xcb\\x66\\x68\\x8e\\xda\\x6c\\x88\\x20\\x16\\xdc\\x7a\\x81\\xd7\\x36\\x27\\xe6\\x4b\\xde\\x64\\x78\\xd8\\x4d\\x9a\\x2e\\x18\\xbd\\x46\\xdc\\xc3\\x0d\\x78\\xa1\\xef\\x26\\x5d\\x16\\x3a\\x82\\x19\\x53\\x5a\\x4f\\xed\\x07\\xd5\\xc2\\xc3\\xd3\\x60\\x90\\xde\\x73\\x63\\x53\\x85\\x6b\\x95\\xe0\\x5e\\xf3\\xe1\\x43\\xf0\\xbc\\xb0\\xf1\\x2f\\x2f\\x8b\\xf5\\x9f\\xc9\\x5e\\x0a\\x66\\xca\\x4d\\xd5\\x47\\x8a\\x0d\\x16\\x0b\\xe5\\x22\\xbd\\xa6\\xd3\\x3c\\xc6\\x35\\x2e\\x30\\x1f\\xf9\\xb2\\xae\\x7e\\x2e\\xda\\xee\\x02\\x50\\xeb\\x02\\x6a\\xce\\xe5\\x62\\x94\\x4a\\xfb\\x0d\\xd5\\xdf\\x89\\xe6\\xb1\\xcd\\x8d\\x62\\xe3\\xd8\\xf6\\x88\\xb4\\xeb\\x9d\\x00\\xb0\\x29\\xea\\x33\\xeb\\x80\\xe8\\x62\\xfa\\xda\\xf7\\x4b\\x88\\x6d\\x18\\x32\\xbe\\xc6\\x21\\x28\\x68\\xcb\\xed\\x63\\xe6\\xac\\xcc\\x02\\xbf\\xb7\\xeb\\x90\\x10\\xab\\x28\\x9f\\x73\\x9b\\x41\\x88\\xd1\\x54\\xcb\\x8c\\x15\\x2b\\x92\\xb3\\x31\\x31\\x6f\\x99\\x47\\x24\\x3e\\x7d\\x25\\xf2\\x96\\x81\\x7e\\x3f\\x9b\\xc5\\x40\\xef\\x32\\xaf\\xe7\\xcf\\x78\\xcb\\x6c\\x92\\xbe\\xc3\\x88\\xbc\\x65\\x20\\x6e\\x9d\\xcc\\xc0\\xf4\\x99\\xe9\\xde\\x54\\xde\\x8a\\xfa\\x98\\x7d\\x82\\xc8\\xea\\xe7\\xd2\\x77\\xee\\x8b\\xcb\\x6a\\x66\\x26\\x96\\xd5\\xf4\\x15\\xe9\\x5e\\x45\\xfb\\x75\\x48\\xcf\\x6f\\xa2\\x2f\\x04\\x49\\x5f\\x1c\\x8e\\xcb\\x2a\\x69\\xd1\\x0c\\xd2\\xe7\\xdf\\xf0\\x1d\\x32\\x4f\\x93\\x7b\\x22\\x3e\\x23\\x1a\\xed\\xa1\\xa7\\x41\\x0f\\xb2\\x87\\xf0\\x48\\x69\\xe3\\x74\\xa3\\x39\\x3e\\x22\\xba\\x34\\x39\\x13\\x83\\xec\\xb9\\x11\\xe2\\xe7\\xa9\\xd3\\xd2\\x9e\\xb3\\xa3\\x3d\\x67\\xbf\\xc3\\xee\\x8c\\xb7\\x28\\x15\\xf7\\x9c\\xf8\\xfc\\x8f\\xe2\\xcf\\x47\\x78\\x3c\\x11\\xc7\\xc3\\x6e\\xc7\\x78\\x58\\x26\\x5b\\x4c\\x74\\x7b\\x9d\\x2c\\xae\\xb1\\x32\\xbe\\x06\\xc2\\xe3\\xd3\\x38\\x1e\\x69\\x69\\x18\\x0f\\xd7\\x3d\\x2e\\x87\\xb8\\x4c\\x7b\\x3c\\xf8\\xdc\\x04\\x1e\\x4f\\x80\\xef\\x41\\x7f\\xf1\\x3b\\x6e\\x37\\xd9\\xdb\\x5f\\x1b\\x9c\\x37\\x59\\xe7\\x67\\xd2\\x9f\\x75\\x84\\xf4\\x1d\\x53\\x7c\\x1d\\x5c\\x38\\x4b\\x03\\xdb\\x45\\x9b\\xef\\xba\\x75\\xc8\\x5d\\x30\\xc1\\xe7\\x63\\x09\\x9f\\x43\\x71\\x7c\\x3c\\x1e\\xbc\\x8e\\x73\\xb8\\xd3\\xce\\x9b\\xdb\\x7d\\x87\\xdc\\xc7\\x12\\xbe\\xfc\\x2e\\xe1\\xf3\\x59\\x7c\\x1d\\x8f\\x07\\xaf\\xe3\\xbc\\xc5\\x69\\x37\\x2a\\xdb\\xf5\\xc1\\xc6\\x3e\\x05\\xae\\x4f\\x90\\x53\\x1d\\x22\\x76\\xec\\xd7\\xf0\\x32\\x5e\\x41\\x51\\x4a\\x4e\\x26\\xa7\\x71\\xfe\\x0d\\x49\\x5b\\x32\\x24\\x02\\xfe\\xed\\xb3\\x94\\xc4\\x2e\\xcf\\xe4\\xee\\x5b\\x1c\\x37\\x7d\\xe0\\x91\\x85\\x7f\\xd4\\xbe\\x41\\x26\\x4e\\xe3\\xf8\\x2b\\x78\\x84\\x5d\\x44\\xf2\\xeb\\xc7\\xc3\\x77\\x91\\x3d\\x26\\xa7\\x4a\\x22\\x36\\x8a\\xe7\\x00\\x0f\\xa0\\x02\\x2a\\xf1\\x68\\x57\\x5c\\x7e\\x00\\xb8\\x9a\\x78\\x10\\xe8\\x86\\x25\\x8a\\x8b\\x42\\x7e\\xa3\\x14\\xe5\\x7d\\x7b\\xe7\\xfb\\xf4\\x85\\x4c\\xa1\\x6a\\xf9\\xc2\\x19\\x97\\x99\\x8a\\x63\\xb1\\x6e\\xb1\\x67\\x13\\x77\\x2f\\x32\\x3f\\xa1\\xd5\\xa7\\xd2\\xd9\\xfa\\x49\\x7c\\xaf\\xa4\\xa5\\xe1\\xbd\\xe2\\x7a\\xd8\\xe5\\x50\\xb6\\x9f\\xb3\\x4f\\x7a\\xff\\x13\\x5a\\xb5\\x4a\\xf4\\xfd\\x29\\xbe\\x57\\xb0\\x21\\xc1\\x40\\xf7\\x58\\xb7\\x53\\x43\\xb7\\x3b\\xf3\\x1e\\x43\\xfe\\x6b\\x84\\x9c\\x79\\x23\\x23\\x21\\x4e\\x01\\xec\\x36\\xa5\\xc2\\x6e\\x57\\xf2\\x4e\\x06\\x1a\\xa0\\xdb\\xe0\\x52\\x28\\xec\\xb4\\x1c\\x1d\\x77\\xa3\\x48\\x75\\x85\\x5d\\xaa\\xeb\\xd0\\x1a\\x9b\\xa3\\x5a\\xf3\\xa8\\xa8\\x16\\x7b\\xb4\\x29\\xa5\\x0e\\xf1\\x71\\xa1\\xb6\\xe0\\x75\\xa3\\xae\\xae\\x2b\\xf8\\xc0\\xe5\\xa9\\x71\\xef\\xbb\\x0a\\x9b\\xa0\\x2d\\x2b\\xa6\\xc1\\x8f\\x0b\\x62\\x35\\x3d\\x41\\xa7\\x80\\x70\\x72\\xec\\x94\\xf4\\xf4\\x13\\xdb\\x0b\\xa7\\x78\\xb2\\xc3\\xc1\\x15\\x0e\\xfd\\xf2\\x39\\x2b\\x60\\x47\\xfa\\x96\\xaf\\x85\\x47\\x4f\\xc5\\xae\\xee\\xd9\\xf3\\x9c\\x92\\xfb\\xab\\x6a\\xfe\\x70\\x7a\\x0a\\xbe\\x13\\xd8\\x20\\x0c\\x83\\x07\\x11\\x1f\\x9c\\x78\\xee\\xa2\\x59\\x06\\x79\\xde\\x61\\xb1\\x59\\x64\\x0c\\xc5\\xba\\xb5\\x5a\\x17\\x67\\xb3\\xdb\\x6a\\xa2\\xd0\\xce\\xa3\\x1f\\x8b\\xd3\\x49\\xd7\\x44\\x9d\\x5a\\x8b\\x59\\x65\\xa8\\x89\\xaa\\xda\\x15\\x3c\\x24\\x2b\\xae\\xae\\x0f\\xc9\\x03\\xa9\\x4c\\xe4\\x06\\x88\\xc3\\x21\\x23\\x3c\\x98\\x29\\xac\\x2a\\x7b\\x39\\xf3\\xe5\\xaa\\x21\\xe9\\x19\\xdb\\x1f\\x2f\\xbe\\xd3\\x9c\\x11\\x0e\\xde\\x6d\\xb5\\xcc\\xae\\x5b\\x98\\xb9\\xb0\\x01\\x07\\x9a\\xbe\\x3f\\x2e\\xbc\\xbc\\xe7\\xf0\\x93\\x2a\\xf6\\x88\\x6a\\x7e\\x0b\\x78\\xfa\\x38\\xf8\\x50\\x8c\\x6f\\x0e\\x23\\xf1\\x4d\\x07\\xd5\\x2d\\xe2\\x37\\xc9\\x00\\xe2\\x91\\xc6\\x4a\\xb3\\x32\\xde\\x0e\\x19\\xc6\\x85\\xfc\\x3a\\xa7\\x95\\xa6\\xec\\x06\\x25\\xb2\\x35\\x94\\x4e\\x98\\x7a\\xc9\\x75\\x93\\x48\\x22\\x09\\x6d\\xca\\x81\\xd8\\x27\\x35\\x31\\x58\\x2b\\x20\\x6f\\x17\\xe5\\x04\\x5d\\x2a\\xde\\xd9\\x15\\x9e\\xe3\\xc8\\x09\\x07\\x07\\xf6\\xb0\\x08\\xd7\\x85\\x3b\\x63\\x0f\\xdd\\x31\\x68\\xf3\\x51\\x25\\xf7\\x81\\xaa\\x22\\x92\\x1d\\x94\\xc2\\x9e\\x24\\xee\\x39\\x8c\\xc4\\x3d\\x9d\\x54\\x24\\xe2\\x57\\x51\\x26\\xa3\\xd1\\xc0\\x69\\xcd\\x48\\xda\\x2d\\x56\\xab\\x5b\\xa7\\x77\\x99\\x6d\\x5a\\xa8\\xb7\\x18\\xb5\\x7a\\x33\\x94\\xd7\\x46\\xa1\\x33\\xe1\\x95\\x5b\\xc5\\x99\\x56\\x08\\xbe\\x38\\x94\\x6c\\x7b\\xe8\\x52\\x82\\x9f\\x1e\\xc0\\x70\\x27\\xf7\\x8b\\xb0\\x0d\\xea\\x69\\xb9\\x31\\x0a\\xfa\\x4e\\xe7\\xec\\x09\\x0f\\x3d\\x83\\xa1\\xeb\\x5c\\x99\\x1d\\xbc\\x2e\\x1e\\x3a\\x6f\\xc6\\x9d\\xe2\\xdd\\x90\\x34\\x5f\\x97\\xd2\\x53\\xd5\\x91\\x5c\\x95\\x12\\xd2\\x7a\\x5a\\x07\\xd4\\x0a\\x5e\\x29\\x93\\x6b\\x59\\x8e\\x33\\x22\\x3f\\xc9\\xa0\\xd0\\x53\\xfa\\x51\\x51\\x5e\\xad\\x25\\x11\\x75\\x6d\\x3c\\xa4\\x8e\\xdd\\xd1\\xd4\\x50\\xd3\\xf5\\xf4\\x05\\xf1\\x98\\x3a\\xee\\x5c\\x89\\xfe\\xd8\\x02\\x9a\\x84\\xcf\\x25\\xd2\\x0a\\x14\\x18\\x18\\x10\\xf6\\x80\\xce\\xc2\\x3b\\x22\\x51\\x0b\\x84\\x67\\x61\\x84\\xee\\x4a\\x08\\x7b\\xfc\\x74\\x6c\\x15\\xa1\\xe6\\x4c\\x11\\x46\\x69\\x6e\\xcf\\x7f\\x85\\xb1\\x36\\x09\\xa3\\x99\\xc5\\xa5\\x4c\\xff\\x1d\\xc6\\x44\\xdc\\xdf\\x28\\xc2\\xd8\\x0c\\x34\\xff\\x88\\x53\\x70\\x1e\\x90\\x05\\x84\\x5f\\x2e\\x0b\\xe7\\x45\\xda\\x3e\\x2e\\xfc\\x42\\x3f\\x08\\x76\\x90\\xa6\\x94\\xc3\\x4f\\x0b\\x61\\x4c\\x51\\xf0\\x16\\x99\\xff\\x87\\x68\\x38\\x87\\xe4\\xb1\\x98\\x90\\xe6\\x74\\x98\\x90\\x1b\\x89\\xac\\x75\\x33\\x67\\xc1\\x9d\\xc0\\x20\\x94\\xb1\\x32\\x64\\x17\\xc9\\x0c\\x2c\\xa4\\xae\\xcf\\x5c\\x94\\x2e\\xb0\\x8c\\x78\\x18\\x26\\x26\\x18\\xb2\\x76\\x81\\x34\\x0d\\xd3\\xd8\\x19\\x94\\x01\\x3d\\xb8\\xb5\\x05\\x04\\x84\\x1f\\x63\\x47\\xd7\\x7c\\x36\\x8f\\x6e\\xd9\\xf1\\xc8\\xec\\x99\\xc0\\xd2\\x1f\\xac\\x3c\\xff\\x03\\x5d\\xfc\\xc7\\xc2\\xd1\\x07\\x41\\xfd\\xc4\\x49\\x0d\\xb7\\x81\\x07\\x44\\xdd\\x57\\xd1\\xf6\\x2f\\x96\\x23\\xfe\\x63\\x6f\\x4a\\x9a\\x4b\\xc8\\xbf\\x40\\xfc\\xf8\\x1c\\x9c\\xf5\\xa9\\xd3\\x33\\x39\\xd9\\x1c\\xcb\\xda\\xb2\\xb3\\xe5\\xe9\\x14\\x32\\xc9\\x61\\x5e\\x2e\\x4c\\x43\\x16\\x1b\\xd4\\x41\\x9d\\x93\\x75\\x66\\x36\\x47\\x9d\\x06\\xb3\\x6a\\x54\\xd4\\x6c\\x14\\x41\\xbd\\x2e\\xb4\\xd2\\xce\\x0f\\x96\\x92\\xf2\\x25\\xc8\\x53\\x2f\\x21\\x48\\x5f\\x5a\\x92\\xe3\\x96\\x40\\xa6\\xa4\\xac\\x0a\\x74\\x06\\x25\\x40\\x0b\\xc6\\x23\\x74\\x8e\\x28\\x6b\\x07\\x37\\xcf\\xb0\\x0d\\x01\\xb6\\xc1\\x45\\x02\\x32\\xed\\x8e\\x64\\x0f\\xfe\\x78\\xf2\\x13\\x5f\\xcf\\xa2\\x27\\xed\\xdc\\xb0\\xf0\\xf6\\x47\\x1f\\xb2\\x3a\\xc1\\xfa\\xf7\\xfe\\x4d\\x17\\xb7\\x56\\x85\\x73\\xfa\\x0d\\x5d\\xb0\\x04\\x1c\\x16\\x6a\\x7e\\xfb\\xa6\\xb6\\xbe\\x57\\xf5\\xd8\\x83\\x60\\xe8\\xc4\\x19\\x83\\x47\\x2d\\x58\\xf0\\x10\\xc6\\xaf\\x77\\xdb\\xbf\\xf8\\x3c\\xf6\\x0c\\x95\\x4e\\x15\\x51\\xd1\\x48\\xa1\\x27\\x4d\\x9f\\x6d\\x36\\x99\\x60\\x76\\xb6\\x2d\\x28\\x97\\xdb\\xd2\\x60\\x49\\xb1\\x09\\x1d\\x76\\x14\\xd4\\x71\\x6a\\x75\\x1e\\x99\\x06\\xe0\\x27\\xd3\\x00\\x1c\\xb5\\x37\\xe6\\xad\\x95\\x63\\xe5\\x5b\\x75\\x3d\\x8e\\xf1\\x6e\\x38\\xed\\xc7\\x5d\\x55\\x82\\xc4\\xf4\\x9c\\x2a\\x5c\\xc4\\xcc\\x24\\x06\\x83\\xe2\\x3c\\x3e\\xe6\\xa3\\x87\\x3f\\x28\\xea\\x77\\x6c\\xed\\xe3\\xc7\\x16\\x5d\\x7c\\x72\\xde\\x56\\x37\\x0b\\xf5\\xc3\\x81\\xf9\\x0d\\xf9\\xc1\\x11\\x53\\x1d\\x85\\xc0\\xd9\\xa1\\x40\\x68\\x6d\\xed\\x5b\\x3b\\xa3\\xae\\xb8\\xa9\\x69\\xec\\xe2\\x1e\\xa6\\x86\\x86\\x5b\\x87\\xbc\\xbb\\xf3\\x38\\x98\\x7c\\x7c\\xcc\\x28\\xef\\x38\\xf0\\xf2\\xb5\\x2b\\x45\\x59\\xcf\\xcc\\x5e\\xf1\\x83\\xf0\\xc7\\xc5\\x0f\\x4f\\xf4\\x5c\\xfb\\xf1\\xc0\\xd9\\x2d\\x2b\\x85\\x5f\\xa7\\x7e\\x86\\x7b\\x64\\x21\\x7e\\xce\\x63\\x37\\x50\\xb9\\xb8\\x8f\\x49\\xba\\x5f\\x66\\x72\\x50\\xae\\x1c\\xb5\\x46\\xc3\\xe4\\x50\\x56\\x93\\x9f\\xcf\\xcf\\xb3\\x32\\x2c\\xcb\\x34\\x47\\xd5\\xe9\\x7a\\x36\\x9d\\x4d\\x0f\\xe8\\x03\\x69\\xa3\\xa2\\x01\\xa3\\x5e\\xd9\\x1c\\xd5\\x5f\\xdf\\x08\\x4d\\xff\\xa7\\x15\\x30\\x7f\\x5e\\xf1\\xa3\\x25\\xfd\\x37\\x9c\\x04\\x65\\xbf\\x57\\x1f\\x86\\x23\\x6f\\x5a\\xe8\\x33\\xef\\x5e\\x96\\xad\\x1e\\x71\\xbc\\x18\\x33\\x38\\x28\\xb4\\x7e\\x2b\\xf4\\xe4\\xc0\\x27\\x9d\\x7b\\xb4\\x2b\\xf2\\x31\\x4c\\x19\\x7a\\x6b\\x43\\x55\\x17\\x00\\x30\\x73\\xaf\\xfe\\x13\\xf4\\xa9\\x41\\xf8\\x2d\\x40\\xe7\\xf0\\x18\\xa6\\x1a\\xe1\\x57\\x1f\\x09\\xca\\xe4\\x36\\x3f\\xa5\\x07\\x3a\\xb7\\xc7\\x63\\xd2\\xe9\\xb3\\xfd\\x72\\x84\\x9f\\xdb\\x2b\\x93\\xa9\\xbd\\x5e\\x67\\x5d\\xd4\\xab\\x0b\\x98\\xcc\\x66\\x53\\x5d\\xd4\\xac\\x55\\x33\\xb5\\x51\\x75\\x3b\\x2b\\x3d\\x59\\xe6\\x73\\x23\\x76\\xbc\\x24\\x8e\\x3e\\x5e\\xec\\x9f\\x1c\\xfe\\xf3\\xb2\\x9e\\xd5\\xec\\x80\\x91\\x22\\xcf\\xf2\\x8b\\x84\\xb6\\x6f\\xfe\\x71\\x81\\x9d\\xba\\xfa\\xfa\\x8a\\x9e\\x05\\x63\\xc1\\xa2\\x9a\\xf2\\x72\\xc4\\xaf\\x6f\\x7e\\xb9\\xb8\\x74\\x6d\\x73\\x65\\xc5\\xf5\\x85\\x3c\\xc6\\x5a\\x72\\x0f\\x35\\x49\\x18\\xcf\\x9c\\x47\\xbc\\xf3\\xe3\\x29\\xc1\\x7e\\xaf\\xc2\\x92\\x46\\x69\\x75\\x3a\\x8e\\xb2\\x5b\\xbc\\x5c\\x66\\x86\\x9d\\xe3\\x79\\x0e\\x79\\x4b\\x5a\\x5e\\x4b\\x19\\x8d\\xea\\xe6\\xa8\\x91\\x41\\x3b\\x34\\x2d\\x71\\x65\\x4b\\xf2\\xde\\x24\\xce\\xdd\\xec\\x7a\\x99\\x44\\xa0\\x7d\\xfe\\x3f\\x2d\\xd4\\xc2\\x66\\x19\\xfd\\x51\\x4f\\xb9\\xf0\\x7f\\x0d\\x37\\xf2\\x6b\\xd1\\x12\\xd6\\xb1\\x7f\\xe1\\x1f\\x35\\xe0\\xf6\\xa2\\xdc\\x07\\xdb\\x71\\xc9\\x7c\\xcf\\x68\\x6b\\xf8\\x7e\\x29\\x90\\x00\\xa8\\x6e\\xc8\\x76\\x3b\\x80\\xf8\\x93\\x8e\\xf4\\x70\\x8e\\xd7\\xcd\\xe9\\x5d\\x3e\\xa5\\x4a\\x45\\xfb\\xf4\\x6e\\x36\\xc3\\xaf\\xd4\\xa4\\xf9\\x7c\\xae\\x9a\\xa8\\xcf\\xac\\x91\\xd7\\x45\\x35\\x3a\\x33\\x0d\\x21\\x5d\\x27\\x26\\x4d\\x27\\xb2\\x53\\xe2\\xa9\\x73\\xd7\\xdf\\x8e\\x77\\xf0\\xfd\\xd9\\x3c\\x4b\\x2d\\x10\\xd3\\x29\\xe8\\x0a\\xe1\\xb7\\x1b\\xc7\\x59\\xf2\\xda\\x59\\x33\\x2e\\xd7\\x6c\\x29\\x05\\xe5\\x9b\\x6f\\x18\\x67\\x39\\x7b\\xb8\\xd7\\xdb\\x87\\xa4\\x55\\x28\\xd0\\x19\\x72\\x04\\xed\\x9d\\x5f\\x90\\x2e\\xcc\\xc2\\xf7\\xd2\\x2e\\xb7\\x81\\x32\\x67\\x64\\x50\\x6e\\x98\\x2d\\x97\\xcb\\x7c\\xb6\\x51\\x51\\x9f\\xd1\\xe5\\xe2\\xf5\\x62\\xa0\\x86\\x84\\x69\\xda\\xfb\\xad\\x52\\xa0\\xa6\\x7d\\x7c\\x4c\\x0c\\x85\\xa4\\x04\\x6a\\x52\\x94\\x60\\xfc\\xae\\x98\\x99\\x25\\xcc\\x9f\\x31\\x75\\xce\\xcc\\xb5\\x63\\x48\\xd8\\x26\\xbb\\x5b\\xdf\\x09\\x5f\\xc2\\xed\\x87\\x65\\x83\\xeb\\x87\\x8d\\x73\\xa1\\x0d\\x32\\xbc\\xf0\\xda\\x0f\\x67\\xce\\xea\\x98\\xd5\\xc2\\x76\\x61\\x8f\\xf0\\xfd\\x43\\x3d\\xf5\\xbf\\xf1\\xdd\\x37\\x02\\x3b\\xbd\\xb9\\xb5\\x2a\\xbd\\xa0\\x6e\\xe4\\x94\\xf5\\x68\\x83\\x14\\x5f\\x7a\\xff\\xa5\\x83\\x7d\\x06\\x93\\xb3\\xf0\\x55\\x84\\x47\\x4f\\x74\\x16\\xe2\\xbc\\xcf\\xf6\\x78\\x04\\x5c\\x2e\\x0e\\x61\\x50\\x13\\xd5\\x6b\\x7d\\xb6\\xda\\xa8\\x8f\\xe3\\x14\\xb5\\xe2\\xec\\x13\\x5c\\x25\\x93\\xc4\\xe5\\x86\\x9a\\xda\\xeb\\x43\\x3a\\x30\\xa1\\xb3\\x7d\\x7c\\x1c\\x0f\\xf8\\xdc\\xcd\\xe2\\x3b\\xf3\\x64\\x43\\xa3\\xe2\\x0e\\x29\\x0c\\x0a\\x17\\xcf\\x7d\\xa6\\xbb\\x21\\xd6\\x13\\xbb\\x37\\x2f\\x7d\\xd0\\x28\\xb4\\x3d\\xae\\x5c\\xf9\\xec\\xe5\\xc3\\x3d\\x07\\x53\\xf1\\x1e\\xf1\\xe9\\x88\\x17\\x6e\\xea\\x96\\x48\\xa6\\xcd\\x64\\x32\\xdb\\x29\\x2d\\x2f\\x33\\x6b\\x65\\x30\\xcd\\xc3\\xf3\\x66\\x0b\\x89\\x9a\\xd9\\xcc\\x0e\\x0b\\x34\\x1b\\x54\\x70\\x54\\x22\\xc9\\x3a\\x59\\xc0\\x91\\x32\\xee\\x2c\\x94\\xcc\\xc2\\x6d\\x47\\xfa\\x44\\xeb\\x5f\\x8c\\x10\\x9b\\x33\\x3c\\x95\\xe0\\xe7\\x64\\x8e\\xd8\\xda\\x76\\x01\\x8d\\xc3\\x32\\x30\\x35\\x95\\xda\\xfe\\x7e\\x6b\\xe3\\xb1\\x0d\\xc4\\x08\\x04\\x73\\x01\\xa2\\xbb\\x8d\\xe4\\xb7\\x20\\x98\\x79\\xda\\x02\\x1c\\x0e\\xa7\\x46\\xeb\\xb4\\x68\\xa1\\xc7\\xad\\xd1\\x38\\x5d\\xc0\\x8e\\xc3\\x1a\\x4e\\xe8\\xd2\\x3a\\xcd\\x46\\x44\\x78\\xa3\\xe5\\x3f\\xc0\\x1c\\x77\\x98\\x44\\xe0\\x6e\\xa4\\x36\\x09\\x74\\x38\\xc4\\x40\\xc7\\x5c\\x59\\x43\\x2a\\x8d\\xff\\x21\\x13\\xe6\\x25\\x23\\x1e\\xed\\xc9\\x5b\\x55\\x28\\xd5\\x16\\x90\\x3b\\x83\\x1f\\xd8\\x3f\\xd8\\x8d\\xc8\\x16\\xc8\\x4d\\xdc\\x75\\xde\\x8b\\xef\\x5a\\xa5\\xbc\\xc5\\x75\\xc8\\x77\\xfd\\x92\\xf4\\x31\\xad\\x8c\\x78\\xb5\\x3a\\x96\\x92\\x59\\x81\\x15\\x1d\\x95\\xac\\xd3\\xa1\\xd5\\x9a\\x68\\x93\\x72\\x54\\xd4\\x64\\x64\\x01\\x0d\\xa4\\x72\\xf4\\xd4\\xfb\\xba\\xf6\\x01\\x08\\x31\\xf3\\xf6\\x26\\xb2\\x4f\\xd7\\xc7\\xf3\\x70\\xd7\\xca\\x52\\xc9\\xff\\xd7\\xcf\\x75\\x38\\x29\\x37\\xe6\\x4f\\x15\\xf0\\x13\\xfb\\xb0\\x80\\x93\\x1e\\xfb\\xf2\\x51\\xcc\\x00\\xaa\\x0b\\x35\\x36\\x52\\x5a\\x5c\\x92\\x49\\xe5\\x96\\xa7\\x71\\x1c\\xaf\\xb5\\x99\\xcd\\x3a\\x9d\\x5e\\xcf\\x97\\x53\\x25\\x6c\\x55\\x65\\x71\\x71\\x7a\\x59\\x59\\x41\\x6d\\xb4\\xcc\\x92\\x9e\\x66\\xd3\\xbb\\x68\\x95\\x4b\\x55\\x1b\\x75\\xe9\\x4c\\x5a\\x5e\\x6f\\x96\\x0a\\x44\\x88\\x3f\\x55\\x7e\\x13\\xa0\\x0d\\xe5\\xed\\x4f\\x84\\x2c\\xff\\xff\\x92\\xb1\\xab\\x05\\x37\\xe1\\x53\\x25\\x60\\x77\\x8a\\x03\\xf2\\xfe\\x4b\\xfe\\x6e\\x4e\\xbb\\x8d\\xf2\\xd1\\xa7\\x3a\\x97\\x06\\xc2\\x39\\xff\\x39\\x95\\xf7\\x9d\\x24\\x6b\\x5f\\x3a\\xd2\\x73\\xf0\\xca\\x11\\x84\\x8f\\xdd\\x10\\xdf\\xec\\xec\\x06\\x03\\x87\\x67\\xf0\\xa2\\xdf\\x1d\\x6d\\x97\\xe0\\x45\\x3c\\x3f\\x14\\x8e\\x23\\xfa\\x61\\x29\\xf2\\x91\\xb6\\x91\\xbe\\xe8\\xe5\\x11\\x37\\xd0\\xdb\\xf5\\x38\\x12\\xed\\x93\\xf3\\x16\\xd7\\xc8\\xa8\\xc5\\x79\\x13\\x05\\x77\\x43\\x14\\xfa\\x66\\x31\\xe8\\x14\\x0d\\x51\\x16\\xbe\\x79\\x28\\x5a\\xf8\\x3a\\xfb\\x85\\xa7\\x33\\x27\\x65\\x15\\x74\\xf5\\x74\\xea\\xad\\xbd\\x49\\x44\\xfa\\x8f\\x7e\\x6f\\xed\\x52\\xca\\xbf\\x55\\xf7\\xaf\\x15\\x63\\xd2\\xc3\\x48\\x4c\\xda\\x43\\x75\\x8c\\x78\\xe4\\x4e\\x85\\xc3\\x01\\x9d\\xb8\\xd7\\x6b\\x9a\\x43\\x51\\x13\\x45\\x22\\x68\\xc6\\x93\\xd9\\x29\\xae\\x36\\x11\\xfc\\xbd\\x3e\\x28\\x9d\\x0c\\xfb\\x86\\x6f\\x8c\\x4a\\xe3\\x41\\x58\\x77\\x21\\x60\\x72\\xba\\x7a\\x66\\x7a\\x0e\\xdd\\x4c\\x75\\x7d\\x12\\x38\\x22\\x0c\\x53\\xca\\xdf\\x57\\x3f\\x06\\x5f\\xb8\\x4e\\x67\\x5d\\xdb\\xf1\\xd7\\xa3\\xe2\\x1e\\x12\\xee\\xc0\\x77\\x9d\\x68\\x0f\\x75\\x20\\xbf\\x77\\x42\\x30\\x1f\\x27\\xf1\\x0a\\xf1\\xee\\x78\\x23\\x45\\xc9\\xd2\\x48\\x3c\\x43\\x9c\\x2d\\x7b\\x1b\\xb2\\xfa\\x77\\x90\\xf9\\xa2\\xc3\\x31\\x2f\\x84\\x75\\xc2\\x42\\xca\\xdd\\x76\\x9a\\xb2\\x52\\xbe\\x08\\x76\\x01\\xb5\\xca\\x2f\\x00\\xa0\\x40\\x04\\xd4\\x82\\x91\\x80\\x01\\x7a\\x2a\\x78\\xa6\\xb1\\x11\\x77\\xc1\\x0a\\x91\\xf6\\x53\\xa2\\x05\\x89\\x73\\xdb\\x70\\x57\\xea\\x10\\x39\\xba\\x79\\xd5\\x58\\x95\\x37\\x33\\x14\\x92\\xcb\\xc6\\x28\\x75\\x43\\x6e\\xd1\\x8d\\xd3\\x77\\x2e\\xe6\\x84\\x85\\xbd\\xb5\\x5e\\x77\\x61\\x59\\xb0\\x78\\xd8\\x08\\x45\\x53\\x93\\x22\\x12\\xf2\\x20\\x6b\\x01\\x02\\x86\\xad\\xa6\\x97\\x71\\x2f\\x21\\x3f\\xc4\\x8a\\xec\\x8c\\xec\\x88\\xc5\\x2c\\x97\\x6b\\xb5\\x10\\x3c\\x0f\\x7f\\x84\\x6d\\x10\\xc2\\x88\\x5c\\xdd\\x07\\x3a\\x7d\\x87\\x40\\x25\\xda\\x23\\x67\\xf2\\x1a\\xa7\\x96\\x88\\xe1\\xf3\\x0e\\x65\\xf1\\x79\\x21\\x59\\xe1\\x94\\xd7\\x7c\\xca\\x6b\\xc0\\x14\\x7a\\xd3\\x0b\\x0b\\xd3\\xbd\\x85\\xdf\\xc4\\x5f\\x3c\\x12\\x7f\\xc1\\x4d\\xf1\\x16\\x14\\x88\\xaf\\xc5\\xbf\\x9f\\xf7\\x16\\x92\\x7f\\xc3\\xfb\\x59\\xc3\\x56\\x83\\x15\\x5c\\x2b\\x82\\x49\\xb9\\x87\\xe2\\xc8\\xd2\\x67\\xb0\\x19\\x66\\x45\\x3f\\xfe\\x70\\x00\\x37\\x40\\x5a\\xb1\\x6b\\xc5\\xae\\xfb\\x5e\\x99\\xb5\\x6b\\x15\\xfa\\x9b\\x6b\\x1d\\x9a\\xf8\\x1f\\xf6\\x61\\x80\\x0e\\x7d\\xff\\xbc\\x84\\x53\\x7a\\xc4\\x28\\xbf\\x1e\\x1d\\xad\\x39\\x05\\x9d\\xf6\\xb8\\xb4\\x83\\xbf\\x53\\x1c\\xda\\xbc\\x1b\\xc0\\x4e\\x82\\x8b\\x68\\x48\\x23\\x1a\\x6e\\x41\\xeb\\xe1\\x39\\x90\\x4e\\x2a\\x3f\\x62\\x33\\xda\\xed\\x94\\x9a\\xe7\\xb5\\x34\\x78\\x9e\\xfe\\x91\\x6e\\xa3\\x21\\x8d\\xd7\\xa5\\x29\\xb2\\xec\\x3b\\x78\\xd5\\x84\\x26\\x31\\x86\\xa0\\xf1\\xcf\\xd6\\xa7\\xfb\\x4c\\xee\\xbd\\xee\\x06\\x18\\x10\\x72\\x93\\x85\\xf5\\xc0\\x77\\x3d\\x24\\x40\\x78\\x4f\\x58\\xd8\\xf6\\x47\\xdb\\x6e\\x84\\xb7\\x6a\\x1f\\xcb\\x49\\x0d\\xd3\\x8a\\x8b\\xc4\\x49\\xba\\x62\\xee\\xe3\\x11\\x76\\x54\\xbd\\x79\\xe9\\xfd\\x7c\\x9d\\xcd\\xd2\\xa7\\x66\\xe2\\x9d\\x77\\xf8\\xb3\\xf0\\x39\\xc5\\xd6\\x83\\x11\\xdc\\x4e\\x04\\xbf\\x72\\x0f\\x04\\x22\\x90\\x98\\xde\\x88\\xce\\x23\\x0e\\xcd\\x3a\\xc4\\x51\\x3b\\x77\\xee\\xc4\\xfb\\x6f\\x1d\\x5b\\x0b\\xfe\\xcd\\x2d\\x41\\xb6\\x5c\\x7a\\x44\\xad\\x77\\x53\\x2a\\x37\\xfa\\xb1\\x58\\x17\\xb1\\x22\\x8f\\x42\\xb8\\x3d\\x5b\\xb9\\x58\\x81\\x8a\\x84\\x13\\xbb\\x71\\x56\\x9e\\x4c\\x93\\xc1\\x3d\\x0b\\xc5\\x70\\x0c\\x4e\\x62\\x90\\x6e\\x4f\\x0a\\x41\\x10\\x61\\x95\\x93\\x95\\x1f\\xed\\x37\\xa1\\xca\\x59\\xea\\xf7\\x16\\x15\\xe4\\x64\\xe7\\x0e\\xef\\x53\\x56\\x9b\\xe1\\x29\\xe1\\xca\\x8b\\x83\\x45\\xfa\\x3e\\xda\\xbe\\x85\\xd5\\x23\\x16\\x76\\xe8\\x50\\x1c\\x0c\\x1a\\xf0\\x2f\\x35\\x0d\\x9d\\xbb\\x97\\x07\\x31\\x2c\\x8b\\xd9\\x6a\\xea\\x59\\x6e\\x21\\xc2\\x55\\x4b\\x70\\x25\\x10\\x10\\x74\\x8d\\xc9\\xee\\x89\\x7c\\x88\\x69\\x8c\\x9a\\x97\\xae\\x95\\xb1\\xd5\\x3a\\x5f\\xcf\\xea\\x96\\xd9\\x2d\\x56\\x7c\\x0f\\x37\\x1d\\xed\\xb1\\x73\\x6d\\x17\\x29\\x96\\xd2\\x1c\\xc0\\x1b\\x8b\\x06\\x0c\\xde\\x56\\x78\\x43\\x05\\xc2\\x21\\x7e\\xdd\\xda\\xb5\\x1f\\xad\\xfd\\x48\\x58\\xb8\\x7f\\xff\\x7e\\x92\\x9f\\x26\\x3c\\x86\\x3e\\x9f\\xd6\\xf6\\x13\\xc5\\x53\\x46\\xca\\x70\\x90\\xe7\\x23\\x10\\x40\\xbd\\x92\\x0a\\x86\\xce\\x34\\x96\\x07\\x8b\\x8b\\x70\\x72\\x60\\x18\\x57\\xc2\\xa4\\xf0\\x2e\\xcd\\x75\\xfa\\x31\\xd3\\xd8\\x95\\x06\\x41\\x88\\xb3\\xad\\x6e\\xf5\\xb6\\x89\\x13\\x46\\xa8\\x92\\x72\\x03\\xa8\\x6d\\x48\\x6e\\x32\\x11\\x0e\\x3c\\xc2\\x81\\x81\\x71\\x1c\\x70\\x8b\\x38\\xdc\\x1a\\x98\\x47\\x07\\xcb\\x36\\xe7\\x99\\xc7\\xcc\\x63\\x97\\x19\\xd9\\xea\\x35\\x4f\\xb6\\x8c\\x6b\\x44\\xfa\\x42\\xfa\\x8e\\x8e\\x63\\x3e\\x24\\xb9\\x73\\xc3\\x93\\xcf\\xa0\\xac\\x07\\x55\\x4a\\x25\\x7a\\x90\\x4c\\x7c\\x52\\x09\\x7a\\x94\\x78\\x55\\x20\\x3d\\xcd\\x77\\xdd\\x53\\x85\\xbe\\xe8\\x85\\x69\\xc2\\x32\\x9d\\xf4\\x78\\xf4\\xc7\\x84\\x06\\x8a\\x11\\xde\\x62\\x3b\\xd1\\x9f\\xf1\\x39\\x44\\x9a\\xf3\\xa8\\x30\\xe5\\x3f\\x10\\x0c\\xe6\\x80\\x9c\\x52\\x3f\\x7a\\xec\\x01\\x7b\\x10\\x61\\x6f\\x94\\x4b\\x3b\\xa8\\xb1\\x84\\xfc\\xd1\\x6e\\x13\\x05\\x90\\xe0\\x64\\x85\\x13\\xf3\\x82\\xd2\\x39\\xd6\\x14\\xef\\xf6\\x23\\x36\\x00\\xe4\\xa5\\x72\\x2d\\xfc\\x09\\x50\\xb0\\x20\\xda\\xb0\\x60\\x5e\\x63\\xa7\\x82\\xfa\\xba\\x7a\\xf7\\x9c\\x70\\x20\\xbb\\xa2\\x73\\x56\\x46\\x85\\xf0\\x81\\x1b\\xfd\\x5e\\xd0\\x69\\xc4\\xfc\\x05\\x0d\\xd1\\x05\\x73\\x2a\\x32\\x02\\x9d\\x2b\\x72\\xb2\\x3a\\x72\\x75\\xd1\\x05\\xf3\\x87\\x47\\x17\\xd8\\xea\\x07\\xd7\\x07\\x3b\\x67\\x77\\x2c\\x0f\\x04\\xca\\x3b\\x66\\x77\\x0e\\xa2\\x5f\\x6d\\xf8\\xfd\\x05\\xd1\\xec\\x8e\\x1d\\xb3\\xd1\\x7b\\xe4\\x2e\\x03\\xe3\\xb1\\x5f\\xc2\\xc3\\xd8\\x1e\\xf0\\xd7\\xff\\x1b\\xcc\\x80\\xb9\\x29\\x5c\\x37\\x05\\x00\\xcb\\xa3\\x80\\xb6\\xe5\\x2a\\x6e\\x13\\xa5\\xa7\\x6c\\x68\\xaf\\x33\\x8c\\x5c\\x8b\\x18\\x2c\\x13\\x75\\x57\\xa3\\xd4\\xb5\\x90\\xd8\\x00\\x01\\xde\\x6f\\x0c\\xf1\\xa2\\x55\\x00\\x56\\x29\\x8c\\x13\\x86\\xf9\\x4d\\xe6\\xd1\\x55\\x63\\x9c\\x8a\\xb4\\xa2\\x22\\xa5\\x82\\xdb\\x54\\x52\\x3f\\x56\\x31\\x16\\xf4\\x5f\\xa9\\x2a\\x08\\x97\\x90\\xbb\\x2c\\xe1\\x35\\x24\\x7f\\xd5\\xe8\\x4c\\x30\\x53\\xee\\x88\\x56\\xcf\\x9b\\xd5\\x34\\x4d\\x91\\xf3\\x40\\x6c\\x62\\xd8\\x88\\x4f\\x03\\xcc\\x67\\xe8\\x0f\\xe3\\x3d\\x1e\\x92\\x66\\x80\\x96\\xe1\\x03\\x81\\xe3\\xe7\\x8f\\x35\\xdc\\x6e\\x18\\xcd\\xf3\\xbe\\x9c\\xa2\\xa0\\x52\\x31\\x46\\xe6\\x59\\x2f\\x2c\\x1c\\xa1\\x6b\\x71\\xd6\\xa7\\x67\\x19\\xd2\\xdc\\x45\\xa5\\xc5\\xc5\\x4f\\x8b\\xfd\\xb4\\x85\\xcd\\xc2\\x76\\x64\\x4b\\x7d\\x86\\xf6\\x85\\x6a\\x1f\\xa4\\x13\\xfa\\xc3\\x0a\\x7d\\xe1\\x50\\xd8\\x5f\\x29\\x1c\\x36\\x5d\\xc8\\xf1\\x0b\\x6f\\x4e\\x7c\\x17\\x7d\\xf6\\x2c\\x82\\x29\\x7c\\xb3\\x3d\\x04\\xc9\\x1e\\xd2\\xdc\\xbf\\xee\\xdc\\xda\\x73\\x89\\x3d\\x04\\x84\\x43\\xe8\\xf3\\x9d\\x90\\x6e\\xe2\\xd1\\xb3\\xb1\\xac\\xa3\\x67\\x63\\x41\\x8f\\xef\\x9d\\x4e\\xae\\xb7\\x36\\x63\\x91\\xac\\x5b\\xb3\\x15\\xed\\x12\\xb4\\xe7\\xd0\\x81\\x45\\x9d\\x25\\x9f\\xd7\\x52\\x26\\x49\\xae\\xb5\\xe8\\x5b\\x09\\xa1\\xe6\\xa5\\x6f\\xfa\\xa4\\xbf\\x67\\xa1\\x1d\\x87\\x9f\\x00\\x0e\\x90\\xad\\xb7\\xdc\\x20\\x6e\\x38\\xf4\\xc7\\xf8\\x46\\xb4\\xfe\\x3b\\xe8\\x79\\xf6\\xb6\\xdf\\xf1\\xfa\\xfb\\x23\\x00\\x4f\\x90\\x17\\xa1\\x65\\xab\\x40\\x20\\x53\\x0b\\x54\\xc2\\x79\\xdd\\xfa\\x85\\x20\\x47\\xbb\\x41\\xd8\\x1b\\xaa\\xb5\\xfc\\x3d\\xd4\\x5f\\xca\\x05\\xc9\\x44\\x7c\\xad\\xfe\\xaf\\x7a\\xe6\\x1c\\xd2\\x33\\xa6\\xa5\\xf7\\xc7\\xf5\\xcc\\xac\\xc9\\x48\\xcf\\xd0\\xc2\\x37\\x6c\\x27\\xea\\x6c\\x42\\xfe\\x8c\\x41\\x35\\x50\\xdb\\xf9\\xc4\\xc6\\x41\\x4f\\xf8\\x0f\\xfb\\x62\\x23\\x96\\xff\\x60\\x45\\xc3\\x82\\x45\\xd1\\xfa\\x45\\x73\\x2a\\x32\\xb3\\x3a\\x57\\x64\\x07\\x90\\xfc\\x77\\x2a\\x12\\x65\\x7d\\xf8\\xfc\\x79\\x0d\\xd9\\x1d\\x2b\\xb2\\x02\\xe5\\xe5\\xd8\\x8e\\x88\\xcb\\x08\\xd2\\x0b\\x9f\\x88\\x39\\x2c\\xe4\\x0c\\x3d\\x80\\xf8\\xa3\\x3f\\x50\\xc3\\x34\\x33\\x34\\x03\\x24\\x61\\xc4\\x0d\\x28\\x31\\x8b\\x40\\x0f\\xc2\\x23\\xb6\\x3a\\xce\\xa3\\xb6\\xef\\xd0\\x77\\xa6\\x70\\xcb\\xd0\\x77\\x6c\\x11\\x25\\x6c\\xa6\\xa6\\x50\\x0b\\xd1\\x99\\xb0\\x88\\x96\\x70\\x6e\\x14\\xdd\\x0f\\x24\\x0b\\x60\\x4a\\xa5\\x70\\xc8\\x7c\\x21\\x87\\x5b\\x46\\xa4\\x81\\xe8\\x63\\xb4\\xfe\\xae\\xff\\x7c\\xf6\\xc8\\x98\\xe6\\xa8\\x69\\xd9\\xfd\\xb2\\x3a\\x9d\\xbb\\x4f\\xed\\xc4\\x59\\x93\\x1d\\x45\\x88\\x2f\\x63\\xd9\\x5a\\xea\\xb5\\xff\\xf5\\x4c\\x81\\xff\\xfd\\x4c\\x69\\xfd\\xff\\x3e\\x53\\x68\\xb4\\x87\\x67\\x81\\x17\\x10\\xbf\\xb0\\xdd\\xa0\\x3b\\x00\\x83\\x5a\\xa0\\x95\\x9b\\x89\\x9a\\x27\\xca\\x22\\xc9\\x9c\\xcc\\xd4\\x53\\xba\\xb4\\x22\\x03\\x33\\x27\\xab\\xa3\\xf0\\xd6\\xfc\\x11\\x0d\\x0b\\xf0\\x7f\\x5c\\x9d\\xc8\\x9a\\x8e\\x59\\xe2\\xef\\xf3\\xc5\\x3c\\x67\\x0d\\x3a\\x9f\\xcf\\xb5\\xfd\\x9b\\x3c\\xdf\\x1a\\x51\\x69\\x29\\x33\\x88\\x98\\xb7\\x98\\x69\\xb3\\x1c\\x92\\x55\\xb0\\x31\\xc2\\xff\\x89\\x31\\xf0\\xe6\\x0d\\x76\\xc0\\x48\\xe9\\x28\\x49\\x31\\x45\\x28\\x56\\x18\\x8e\\xf8\\x70\\x40\\x5a\\xc3\\x4f\\x05\\xa9\\x4e\\xb8\\x17\\x59\\xc8\\xe9\\x2c\\xa7\\x7c\\x20\\xe2\\xdb\\xe2\\xa3\\x7d\\x05\\xc8\\xc2\\x0b\\x68\\xf1\\x8a\\xa4\\x20\\xe9\\x4c\\xdc\\xa4\\x63\\xff\\x07\\x93\\x2e\\xf3\\x4f\\xde\\x17\\x86\\xff\\xb9\\xa9\\x07\\xa6\\xc7\\x0d\\xbd\\xbc\\xf8\\x8b\\x38\\xe8\\xe9\\xd7\\xa1\\xf0\\xf3\\xf5\\x28\\x41\\xa1\\x05\\xe1\\xf3\\x30\\xc2\\x47\\xb4\\xad\\x90\\xfe\\x33\\x52\\xc8\\x1e\\xb6\\x83\\x88\\x7d\\x8b\\x9d\\xb6\\xab\\x79\\x91\\x70\\x48\\x03\\x22\\xda\\xb1\\xc8\\xab\\xfc\\x33\\xc8\\x85\\x16\\x13\\xe8\\x63\\xee\\x75\\x03\\x15\\xb7\\xb5\\xb4\\x74\\xbb\\x91\\x90\\xc9\\x75\\x79\\x32\\x25\\x34\\x27\\x62\\xe1\\x68\\xfa\\x3d\\xb4\\xaf\\x16\\x41\\x68\\xa5\\xdc\\x20\\xe2\\xde\\xe2\\xa6\\xdd\\x92\\x11\\x30\\x15\\xe9\\x77\\xbc\\x3d\\x88\\x41\\x17\\xf6\\x23\\x28\\xfc\\x7f\\x0e\\xc7\\x49\\xcb\\x64\\x0c\\xc9\\x44\\xeb\\x8d\\x1c\\x15\\x2e\\x4d\\x6b\\x69\\x99\\xb6\\xff\\x26\\x7c\\x05\\x6d\\x56\\x61\\x7b\\xdb\\xfe\\xb6\\x6e\\x88\\xaf\\xb2\\x3d\\x44\\x5c\\xd0\\x6e\\x48\\x79\\xec\\x77\\x71\\xd2\\x0a\\x57\\xe3\\x5f\\xa3\\x85\\xed\\x48\\x9f\\xe7\\x90\\xef\\x58\\x29\\xcd\\x7e\\x6c\\xd8\\x13\\xae\\xff\\x27\\xfb\\x5d\\xd8\\x1e\\x07\\xe6\\x62\\x02\\xaa\\xab\\xd7\\x71\\x8b\\xd0\\xe7\\xa4\\x30\\x9f\\xea\\xd3\\x76\\x49\\x92\\x33\\xc4\\x17\\x67\\x42\\xc0\\x52\\x16\\x12\\x65\\xfa\\x7f\\x91\\x2c\\xe1\\x64\\x1c\\x83\\x84\\x04\\x6d\\x8a\\xbf\\xb8\\xf5\\x4f\\xc4\\x05\\x9f\\x2b\\x6f\\xb5\\xd9\\xa9\\xcc\\xb6\\x25\\x48\\x3e\\x54\\xfb\\x21\\x8f\\x14\\x3b\\x15\\xc4\\x7a\\x8a\\xf5\\xf1\\x3e\\xe1\\x33\\x44\\x67\\xe1\\xf0\\xfc\\x89\\xe4\\x73\\x88\\x16\\xf8\\x73\\x3c\\xc5\\xbd\\x00\\x70\\x6f\\x62\\x28\\x31\\xea\\x8b\\x38\\x3f\\x84\\xed\\x33\\x27\\x4e\\x9c\\x89\\x75\\xe7\\x4c\\x76\\x07\\x30\\x70\\x3d\\x88\\xff\\x01\\x91\\xc1\\x50\\x85\\xf4\\x10\\x0e\\x5b\\x24\\xa1\\x9d\\x89\\xd6\\x2f\\x28\\xc0\\xc6\\xf8\\xaf\\x29\\x7e\\xcb\\xff\\xdf\\xf7\\xa0\\xb0\\x89\\xe8\\xee\\x9f\\x12\\x3e\\x98\\xd6\\xac\\xd5\\x3a\\x9d\\x98\\x98\\x7f\\xf7\\xfd\\xe4\\x63\\x7c\\x87\\xda\\x4e\\xbc\\xe8\\xf4\\xf4\\xf1\\x89\\x6a\\x22\\xaf\\xb1\\xc4\\x40\\xec\\x89\\x54\\xb2\\x5a\\xff\\xe4\\xb5\\xb0\\x29\\x4e\\xd6\\x55\\x71\\x12\\x26\\x5e\\x34\\x49\\x20\\xdc\\x22\\xfd\\xdd\\x2b\\xc5\\x36\\x6d\\xfb\\x80\\x9e\\x4a\\x4d\\x85\\x1a\\x0c\\x53\\x04\\x71\\x53\\x5e\\x24\\x1f\\x29\\xbf\\x5f\\xbe\\x45\\xfe\\x9e\\x9c\\x93\\x8b\\x24\\x4e\\x15\\xbf\\x82\\xf8\\x33\\xe9\\x57\\xb0\\x5b\\xe2\\x2f\\x28\\xc0\\xcf\\x48\\x43\\x32\\x7b\\x88\\xf0\\x46\\xb6\\x07\\xd2\\xa2\\xcc\\xa2\\x83\\xe7\\xcb\\xbc\\xc9\\x79\\xc2\\xf6\\x2f\\xbe\\x20\\xe7\\x94\\xc0\\xcc\\x81\\xb7\\xb2\\xfd\\xc9\\x67\\x80\\x28\\xd7\\x24\\xfc\\x17\\xa0\\x3b\\xe5\\xc4\\x4e\\xb2\\xfd\\x3f\\x40\\x9f\\x31\\xb1\\xaf\\x80\\xa9\\x5c\\x1e\\xfa\\x8c\\xee\\x20\\x28\\x82\\x40\\x86\\xc7\\x3e\\x06\\x1b\\x1b\\xa5\\x3a\\xca\\x1c\\xcc\\xe6\\x43\\x5c\\x1e\\xe6\\x33\\xe8\\x22\\x8c\\x84\\xbb\\xf9\\x73\\x89\\x35\\x83\\x78\\xae\\x78\\x08\\xbd\\x0f\\xce\\x6d\\x12\\x72\\x84\\x91\\xf2\\x59\\xbf\\xae\\x10\\x79\\xb5\\x13\\xf1\\xaa\\xd7\\xff\\xc4\\xab\\xdf\\xdb\\xf1\\xf8\\xff\\xe7\\x7b\\x34\\xce\\xca\\xa2\\xbb\\x31\\x0a\\x04\\x17\\x4f\\xa5\\xed\\x01\\xc8\\x8e\\xe8\\xbe\\x1f\\x57\\x8b\\xb1\\x47\\x41\\x77\\x2a\\x4a\\x31\\xa0\\x42\\xbc\\xb4\\x7f\\x3d\\xaf\\xb8\\x08\\x47\\x4b\\x70\\xb8\\xe8\\x52\\x18\\xa4\\x75\\x14\\xaa\\xc3\\xc0\\x17\\xa6\\x7f\\x02\\x0e\\xe1\\xdb\\x98\\x0e\\xd8\\x85\\x8b\\x84\\x6e\\x2b\\x38\\x3b\\x08\\xa0\\xf3\\x1d\\xeb\\x03\\x28\\x27\\x74\\x4b\\x05\\x62\\x45\\xc2\\x63\\x1d\\x4f\\x80\\x40\\x0c\\x01\\x6d\\x0a\\x61\\x62\\xdb\\xce\\x36\\xd9\\x9f\\xe9\\x90\\x5f\\x13\\x3b\\xfe\\x48\\xc2\\xa7\\xa4\\x42\\x48\\x40\\xa7\\x33\\xe7\\x91\\xf6\\x4d\\xdf\\x43\\xc1\\xae\\x0a\\x10\\x41\\xd0\\x52\\xa0\\x1c\\x3f\\x84\\xbc\\x56\\x4a\\x90\\x57\\x21\\xc0\\x91\\xbd\\x89\\xdb\\x34\\xf0\\x38\\xef\\xc0\\x58\\x49\\xd3\\x1f\\x6c\\x09\\x3e\\xd8\\xab\\xae\\xd4\\x31\\x1c\\xdc\\x15\\x8c\\xcd\\x59\\x9f\\x35\\xeb\\x25\\xe6\\xfc\\x95\\x92\\x69\\xcb\\x84\\xb2\\x2b\\xf4\\x4f\\xc7\\xcf\\x46\\x49\\x7c\\xfe\\x56\\xb0\\xa2\\x6d\\x33\\x25\\x47\\xfb\\x52\\x86\\xf7\\x25\\xeb\\xd7\\x02\\x7f\\x15\\xb2\\xe9\\x7c\\x60\\xca\\x8b\\x2a\\x66\\x05\\x13\\xdc\\xeb\\x00\\xef\\x7c\\xb7\\xc5\\x6c\\xde\\xb2\\x0c\\x7d\\xfe\\x02\\x3a\\xe4\\x36\\x23\\x78\\xec\\x54\\xda\\x41\\x15\\xad\\x45\\x67\\x80\\xc6\\x7c\\x14\\x81\\xc0\\x11\\xa0\\xaa\\x90\\x3b\\x92\\xac\\x8a\\x00\\xf8\\x4e\\xc4\\xc7\\x6b\\x68\\x1e\\xd7\\xa4\\xd0\\x64\\x1a\\x1f\\x08\\x03\\x1d\\x28\\x03\\x39\\x43\\xc6\\x7a\\xab\\x80\\xb9\\x8f\\xbb\\x61\\xc9\\x7a\\x60\\x40\\xd6\\xec\\x03\\xc1\\x70\\x79\\xce\\x12\\xe1\\xe2\\xf6\\xe1\\xab\\x16\\x33\\xe7\\x63\\xef\\x76\\xdf\\x32\\xfd\\xc2\\x0f\\xa3\\x1e\\x59\\x36\\x45\\x60\\xe8\\xfd\\xf6\\x6e\\xf3\\xa6\\x0b\\x1b\\xc1\\xe6\\x4f\\x9f\\x09\\x61\\xb9\\xbe\\x44\\x51\\xcc\\x16\\x04\\x83\\x91\\xca\\x44\\x9c\\x3c\\x4a\\xc8\\x00\\x40\\xf9\\x3e\\x99\\x4a\\xa9\\x3a\\x9a\\x42\\x14\\xf1\\xfe\\x13\\x31\\x26\\xec\\x93\\x0a\\xf8\\x71\\xa9\\xb6\\x68\\x37\\x7e\\x16\\x04\\x3b\\x7e\\xfa\\xca\\x32\\x78\\x69\\xf0\\xda\\xdc\\x20\\x7d\\x79\\xa8\\x76\\xea\\x62\\x78\\xf1\\xca\\xf3\\x87\\x1b\\xa6\\x09\\xd5\\x57\\xae\\x80\\x23\\xf5\\xc5\\x0d\\xc3\\xf0\\x5a\\xe7\\x11\\xfd\\xcb\\xd1\\x5a\\x0e\\x2a\\xf3\\x80\\xcc\\x64\\xd2\\x38\\x1c\\xf6\\x63\\x64\\x09\\x07\\x42\\x97\\xa7\\x34\\x78\\xa1\\x44\\x4b\\x14\\xd2\\xc7\\x05\\x77\\x1b\\xc4\\xfd\\x1b\\xd1\\x5a\\x95\\x74\\x15\\x28\\xc4\\x6d\\xd2\\xc1\\xb9\\x09\\x33\\xaa\\xd2\\x65\\x2e\\xe1\\xaa\\xa6\\xa2\\xa2\\x38\\xd4\\x20\\xfc\\xd0\\xbf\\xeb\\xb8\\x7b\\xa7\\x0d\\xe5\\xec\\xa5\\x3d\\x96\\x05\\x99\\xf3\\x59\\x43\\x37\\x9f\\x8c\\x71\\xe0\\x98\\x2e\\xbd\\x72\\xc2\\x37\\xfb\\x1f\\xdf\\xd2\\x94\\x6e\\x7b\\x61\\x7e\\xf1\\x15\\xc4\\xff\\xa5\\x08\\xd7\\x56\\xb4\\x3e\\x4f\\xb9\\x0f\\x23\\x24\\x2b\\xf6\\xe1\\x1e\\x0b\\x22\\x92\\x0c\\x26\\xb8\\x88\\x24\\x29\\xfc\\xc7\\x97\\xba\\x7e\\x38\\x55\\xb8\\xfc\\x5a\\x6c\\x64\\x90\\xe9\\x13\\xdc\\x84\\x10\\xba\\x82\\x65\\xbf\\x17\\x7a\\xc6\\xef\\xe8\\x19\\x10\\x51\\xcc\\xb7\\x9f\\xa6\\xe5\\x7a\\x70\\x0c\\xe0\\x74\\x1e\\x51\\x82\\xe4\\xe4\\x39\\x52\\xae\\xba\\xf8\\xa4\\x4c\\xdc\\xc2\\x36\\x4e\\x35\\x44\\x31\\x30\\x58\\xb8\\xf2\\x00\\xd0\\x80\\xd6\\x3b\\x16\\x0b\\x74\\x90\\xa6\\x7f\\xfc\\xda\\xba\\x44\\xb8\\xb2\\x54\\x43\\x5f\\xe9\\xde\\x30\\x0c\\x51\\x6d\\xe8\\xac\\xd8\\x08\\x7a\\x57\\x1d\\x82\\xb7\\x0f\\x5a\\xb0\\x0f\\x59\\x4b\\x73\\x94\\x88\\x04\\xc4\\x14\\xaa\\x12\\xab\\x29\\x40\\x39\\xd0\\x5e\\x11\\xae\\x30\\xe7\\xaf\\x05\\xf0\\x1e\\x9a\\x8a\\x68\\x5b\\xca\\xfc\\x41\\xa9\\x29\\x7f\\x44\\x89\\x7b\\x1b\\xa9\\xd4\\x08\\x45\\x5e\\x7d\\x04\\x74\\xa4\\x78\\xf2\\x35\\xac\\x68\\x93\\xf5\\xba\\x01\\x22\\xda\\x58\\x86\\x32\\x8d\\xb0\\x34\\x34\\x76\\x60\\x4f\\xc3\\x4c\\xe1\\xca\\x0c\\xcb\\x1d\\xe3\\x85\\x63\\x1d\\x18\\xbb\\x70\\xcd\\x9f\\x79\\xeb\\xf0\\xd8\\xb3\\x74\\xfd\\xa4\\x0d\\x39\\xd3\\x01\\x47\\xf6\\x29\\x82\\x87\\xcd\\x41\\xf0\\xe8\\x29\\xe7\\x1e\\xa0\\xc0\\x68\\x27\\x37\\x4e\\x1c\\x6d\\x82\\xb3\\xd4\\xb6\\xd7\\x67\\x14\\xb1\\x66\\xd6\\x62\\xfc\\x10\\xba\\xbf\\xbe\\x26\\x5c\\xb9\\x4c\\xbb\\x7f\\xfa\\xca\\x8a\\x10\\x0c\\x37\\x0c\\x6b\\xb5\\x33\\xe7\\x31\\xc2\\xe8\\xd9\\xab\\xdb\\x2e\\xb1\\xfd\\x99\\x7f\\x23\\xfb\\x24\\xb0\\xc7\\x66\\xec\\xaa\\x22\\x8f\\xb5\\x21\\xe0\\x39\\xf4\\x68\\x8a\\x52\\x49\\x7b\\xb5\\x53\\x3c\\xfb\\x86\\xc4\\xa5\\x13\\xc5\\x08\\xe4\\x9a\\x16\\xdf\\x5f\\xf3\\x61\\x51\\x07\\xf0\\x34\\x45\\x8f\\xfd\\xf6\\x67\\xfd\\x5a\\xa0\\x59\\xad\\xf8\\x62\\xca\\xa6\\xdb\\x7a\\x2c\\x1e\\x32\\x29\\x38\\xe1\\x9e\\x9d\\x1b\\xdd\\x7d\\x84\\xa7\\x4d\\xfb\\x0e\\x0e\\xaa\\xa1\\xbf\\x8c\\x65\\x76\\xef\\xb8\\x7d\\xc8\\x2e\\xd0\\x6b\\xe0\\x92\\xf2\\x5f\\x3a\\x6e\\x7f\\xf6\\xb6\\x47\\x84\\x8d\\xc2\\x5e\\xd1\\x57\\x3a\\x44\\xf7\\x92\\x68\\xaf\\xdd\\xdf\\x8c\\x75\\xf4\\x21\\x8c\\xe2\\x3b\\x8d\\x49\\xe2\\x2f\\x16\\x2e\\xa3\\xcd\\xd5\\x82\\x3e\\xbb\\x44\\x58\\xc8\\xe4\\x11\\xbd\\x62\\xd9\\xa3\\xd5\\xbc\\x4c\\x40\\xd5\\x62\\x91\\x06\\x5d\\x28\\x02\\x2a\\x48\\x30\\x9f\\x10\\x26\\x4c\\xd7\\x23\\x12\\xfc\\x55\\xf8\\xf9\\x2c\\xda\\x29\\xc2\\x88\\xa0\\x48\\x84\\x6b\\x17\\x98\\x02\\xbc\\x53\\xae\\x88\\xfe\\x0b\\x92\\xb3\\x00\\x7a\\xa6\\x19\\xe9\\x2a\\xb5\\x4a\\xd2\\x55\\x6a\\xf4\\x50\\x40\\xd1\\xd2\\x26\\x4d\\xea\\xaa\\x1c\\x80\\xe4\\xab\\x2c\\x2c\\x3d\\x9d\\x10\\x9d\\xe6\\x18\\x50\\x2a\\xec\\x2f\\x02\\x5d\\xfe\\xf2\\x66\\xae\\x77\\xdd\\x06\\xe1\\x58\\x10\\x0c\\xff\\xb5\\x75\\xd8\\x73\\xc2\\xc5\\x2b\\x4f\\x3e\\xbf\\x7a\\xe8\\x6d\\x8d\\x57\\x4e\\x1e\\x5a\\x22\\xcc\\xfa\\xfa\\x76\\x11\\xdf\\xea\\xb6\\x93\\xcc\\x1c\\x0e\\xf7\\xcf\\xf6\\x21\\x1c\\xba\\xca\\x41\\x67\\xb4\\x4d\\x18\\xb2\\x12\\x8f\\x56\\x65\\x41\\x59\\x7c\\x70\\xb9\\xe8\\x3e\\x90\\xaa\\x14\\xd2\\x8f\\x88\\x35\\x96\\x65\\x94\\xc1\\xa6\\xa1\\x43\\x63\\xff\\x5e\\x02\\x4c\\x83\\x85\\x73\\xaf\\xc4\\xbe\\x8d\\xfd\\x58\\x7e\\x11\\xf4\\x7a\\x16\\x36\\xdd\\x12\\xa1\\x37\\x09\\xf5\\x1b\\x9f\\x13\\x5e\\x16\\x8c\\x4f\\x82\\xf4\\x3e\\x6f\\x5e\\x42\\x7b\\x08\\xcb\\x51\\x1d\\xc2\\x4d\\x86\\x24\\x29\\x7d\\x8f\\x92\\x91\\xb0\\xc3\\x42\\xa4\\x40\\x2b\\xe1\\xd7\\x8a\\x54\\x4d\\x2c\\x09\\x53\\x99\\x31\\x21\\x50\\x5d\\x90\\x30\\xbd\\xf3\\x20\\x3d\\x78\\xa8\\x66\\xee\\xb5\\xfb\\x2f\\xd3\\xbd\\xd0\\x1e\\x82\\xa5\\x0d\\xc3\\x62\\x4a\\x70\\xa4\\x2e\\x46\\x4b\\x42\\x45\\xe8\\xf8\\x19\\x5a\\xab\\x9e\\xf9\\x82\\xf2\\x50\\xa5\\xfb\\xec\\x2e\\xb3\\xa3\\x2b\\x66\\x8c\\x19\\x3d\\x5d\\x86\\xf6\\x2a\\x5e\\x49\\x06\\x70\\xc4\\x48\\x27\\xc9\\x57\\xc7\\xe4\\x65\\x7b\\x95\\xb8\\x53\\xc4\\x60\\x2c\\x4c\\x28\\xbb\\x74\\x0e\\x4f\\x93\\x26\\xb3\\x8c\\xac\\x95\\x00\\xbe\\xf4\\xe1\\x29\\x56\\xbd\\x38\\x76\\x57\\x11\\x98\\xd1\\xc7\\x5a\\xd7\\x38\\xe3\\xed\\x45\\xe7\\x84\\x2f\\x2e\\x79\\x1a\\x3c\\x3b\\x41\\x5a\\xb7\\xda\\xf3\\xcc\\x17\\x87\\x8f\\x65\\xf7\\x1e\\x16\\x6b\\xba\\x02\\xee\\xb8\\xa7\\xeb\\xb8\\xa6\\x2f\\x85\\x4f\\x05\\x3b\\xcd\\x75\\x47\\x8c\\xd9\\x7c\\x78\\x64\\x8b\\x08\\x63\\xab\\xb0\\x90\\xee\\xd5\\x7e\\x9f\\x77\\x91\\xf6\\x39\\xfa\\x09\\x03\\xad\\xf0\\x3a\\xde\\xe8\\xff\\xb7\\x03\\x7d\\xf6\\x4b\\xb4\\xcf\\x0d\\xe8\\xb3\\x06\\x4c\\x39\\x45\\x0a\\xe5\\xfe\\x4c\\x2e\\x8c\\xf1\\x1e\\xa6\\x22\\x22\\xf4\\xf8\\xd8\\x9c\\x20\\x98\\x53\\x6f\\xae\\x1e\\x3c\\x2b\\xb8\\xe6\\xc4\\x21\\x85\\xee\\x0a\\x78\\x7b\\x52\\xaf\\xae\\xe5\\x57\\x16\\xae\\xf0\\x8d\\x9b\\x44\\xee\\x9a\\x96\\xa0\\xbd\\x38\\x9c\\xec\\x73\\x1f\\x15\\xd8\\x67\\x00\\x34\\x90\\xd6\\xa1\\xc9\\x59\\x69\\x97\\xd6\\xec\\x14\\x0f\\x11\\x53\\x64\\xb2\\x8e\\x28\\x77\\x0a\\x80\\xb3\\x99\\x71\\x5f\\xa3\\x4c\\xa9\\xff\\xb5\\x38\\x30\\xc9\\x0f\\xfa\\xbf\\x1c\\xa4\\xb7\\xb7\\xb6\\x0e\\x3b\\x28\\x7c\\x7d\\xf0\\x17\\xa1\\xad\\x68\\x2c\\xf0\\xa4\\x77\\xed\\xb8\\x68\\x7a\\xcb\\xa6\\x31\\x9d\\x17\\x2c\\x47\\xfa\\xf5\\xc0\\xae\\xc9\\xc2\\x84\\x36\\xea\\xde\\xcf\\xdf\\x6f\\xfe\\xe7\\x7b\\x1d\\x42\\xcf\\xfd\\x73\\xd2\\xed\\x2d\\xb5\\xdb\\x81\\x71\\xe4\\x90\\x6a\\x91\\x4e\\x47\\xda\\xce\\xb2\\x56\\x04\\x97\\x9a\\x72\\xbe\\x48\\x41\\x15\\x50\\x29\\x8f\\x22\\x31\\xe5\\xf0\\x79\\x45\\x72\\x9d\\x92\\xc3\\x04\\xcb\\x0c\\x46\\x1f\\x4d\\x31\\xac\\x31\\x03\\xac\\xd8\\x01\\x32\\x97\\x2c\\xdd\\xd5\\x03\\x58\\x1b\\x85\\x57\\x63\\x97\\x85\\x01\\x1d\\x00\\x03\\x34\\xf0\\x74\\xeb\\xee\\x26\\xb0\\x16\\x8c\\x11\\x7c\\xb1\\x8b\\x82\\x01\\x28\\x58\\x44\\xc0\\x59\\x68\\x1f\\xff\\x4e\\xce\\xc2\\xec\\x3d\\x72\\xd5\\x21\\x10\\x39\\x80\\x5b\\x75\\xaa\\xd5\\xb2\\x97\\x93\\xbb\\x4f\\xdc\\xd2\\x52\\x12\\x13\\xe9\\xdf\\x22\\x29\\xbb\\x10\\x9f\\x90\\x4e\\x83\\x70\\xe5\\x2c\\x56\\x77\\x42\\xe7\\xab\\xc1\\x98\\xf0\\x08\\x6d\\x46\\xe2\\x89\\x1e\\x5d\\x80\\x55\\x9e\\x70\\xfa\\x32\\xb4\\x49\\x3a\\x0f\\x1d\\xc0\\x2c\\x12\\x56\\xca\\x46\\x75\\xd8\\xa3\\xd4\\x90\\xf5\\x94\\x4a\\x4a\\xab\\x8d\\xb3\\x55\\x4b\\x54\\x1f\\x90\\x44\\xb3\\xa2\\x7d\\x26\\x79\\x71\\x51\\x08\\x51\\x9c\\x10\\x37\\x0f\\x24\\x57\\x87\\x34\\xe3\\x0b\\x05\\xc1\\x6b\\x77\\x3e\\x39\\x31\\xdc\\x7a\\xb1\\xf4\\xe7\\x60\\xac\\xf5\\x41\\xf0\\x63\\x6b\\x6b\\x79\\x85\\xb0\\x4d\\xb8\\x70\\x65\\xc0\\x0e\\xc0\\x45\\x9f\\x14\\xae\\x22\\x9b\\xe5\\xc0\\xae\\x69\\xc2\\xff\\x09\\xad\\x7f\\x88\\xfb\\x7f\\x23\\x02\\xf0\\x15\\x02\\x8b\\xed\\x45\\x9b\\x56\\x0b\\x8c\\xb2\\x23\\x09\\x74\\x43\\xa2\\x8d\\x2e\\xe2\\x5a\\x88\\xe8\\x8b\\x8e\\x65\\x33\\x4f\\x0c\\x12\\x88\\x8e\\x11\\xf0\\x82\\x70\\x65\\xbf\\xc6\\x56\\xba\\x18\\xe4\\x35\\x14\\xdb\\x20\\x3d\\x6a\\x4a\\x61\\x2f\\x60\\xad\\xed\\xf5\\xf3\\x3f\\x85\\x85\\x70\\x73\\x5d\\xb0\\x78\\xe2\\x72\\x60\\x7b\\x75\\xe5\\xcc\\x9a\\xb4\\x34\\xef\\xc6\\x2d\\xbf\\x0b\\xdf\\xfc\\xf4\\x55\\x01\\xe1\\xe7\\x55\\x84\\xbf\\x0c\\xad\\xa9\\xa3\\x72\\x5e\\xd4\\x72\\x1c\\x50\\x30\\x48\\xc9\\xee\\xd7\\xd1\\x00\\xd0\\x47\\x53\\x64\\x59\\x6a\\xd4\\x2b\\x66\\x23\\x61\\x91\\x4e\\x5a\\x43\\x80\\x37\\x32\\xaa\\x6b\\xff\\x0c\\xd2\\xfb\\x63\\xa7\\xd1\\x46\\xb1\\xf6\\x1e\\x9c\\xd9\\x03\\x98\\xba\\x96\\x3f\\xf9\\xc4\\x57\\x57\\xe0\\xc5\\x98\\xe0\\x9d\\xbb\\xe8\\xe2\\x77\\xaf\\x1d\\xea\\x2c\\xcc\\xc4\\x77\\x16\\x68\\x9f\\xb1\\x3a\\xb2\\xcf\\x4c\\x54\\x60\\x3f\\x84\\x0c\\x52\\xac\\x58\\xd1\\x31\\x94\\x29\\x61\\x04\\xd0\\x22\\x83\\x13\\x27\\x38\\xc2\\x16\\x99\\xb0\\x44\\xa3\\x52\\xbc\\xb1\\x8c\\x22\\xcc\\x06\\xdf\\x7d\\x21\\x5c\\xf9\\x22\\x87\\x9e\\xf4\\xf9\\x6b\\x7f\\x13\\x96\\x09\\xe1\\x2f\\x81\\x7d\\xd4\\x5d\\xb1\\x97\\xe8\\x3f\\xae\\x2d\\x65\\xe6\\x82\\x2f\\x1e\\xda\\xf5\\x8a\\xb0\\x54\\xf8\\x7c\\x14\\x48\\x1b\\x09\\x06\\x6f\\xaf\\xeb\\x8d\\xe9\\xbb\\x04\\xe9\\xf3\\x02\\x72\\x46\\xd8\\x8f\\x23\\x49\\xaa\\xa0\\x58\\x49\\xbb\\xb2\\xf1\\xa3\\x53\\x52\\x74\\x29\\x96\\x02\\xb4\\x4f\\xbb\\x47\\x18\\x19\\x04\\x2f\\xfc\\xf0\\xb9\\xe5\\x5e\\xe1\\xca\\x32\\x2d\\xd6\\x71\\x57\\x76\\xbd\\xd4\\x30\\x0d\\x5b\\x08\\xdd\\x08\\xdf\\x8e\\xb4\\xfd\\xca\\xed\\x46\\xcf\\x75\\x53\\x45\\x11\\x0d\\xaf\\xb5\\xa5\\xd9\\x68\\x35\\x63\\xb3\\x99\\x35\\x94\\x05\\x17\\x59\\x9b\\xa5\\x03\\xda\\x1c\\x17\\x1f\\x32\\x8b\\xb3\\xb9\\xa9\\x51\\x4c\\xe1\\xd0\\xe0\\xd1\\x7e\\x21\\x6f\\x06\\x89\\x5b\\x2b\\x80\\x0a\\xf8\\xf4\\x3e\\x3d\\x32\\xb5\\xc2\\xb0\\x1e\\x98\\x6f\\x0b\\x8c\\x7d\\x70\\xc5\\xe3\\x56\\xaa\\x0d\\xe4\\xee\\xe9\\xbc\\x13\\x58\\x76\\x0e\\x7a\\x51\\xb8\\x24\\xdc\\x22\\x2c\\x03\\xf2\\x01\\xd5\\xf5\\xdd\\x33\\x98\\xf3\\xc2\\xb3\\xab\\x9e\\x6a\\x76\\xfb\\xdf\\x19\\x76\\xe2\\x04\\xed\\x8c\\x5d\\xc2\\x33\\x37\\x57\\x56\\x32\\x5f\\xc5\\x9e\\xd5\\x68\\xfa\\xac\\xbe\\x97\\xf0\\xf8\\x1c\\xe2\\x71\\x2d\\x81\\x2f\\x7b\\x9f\\xcc\\x62\\xb5\\x88\\x06\\x9f\\x15\\x81\\xa6\\x41\\xf2\\x1d\\xd9\\x1b\\x05\\x48\\xf0\\xb1\\xdd\\x97\\x54\\x25\\x92\\x01\\x81\\xa4\\x3a\\x3e\\x16\\x07\\x84\\x8d\\x92\\x7a\\xe1\\x99\\xfd\\x88\\x10\\x68\\x73\\x9d\\x1f\\xe7\\xbf\\xf3\\xe0\\x13\\x3d\\x82\\xfa\\x9e\\xf5\\x61\\x6b\\xd3\\x4b\\x41\\xfa\\xd9\\x1f\\xbf\\xb6\\xd3\\xbb\\x7a\\xf4\\x44\\xa7\\xc0\\xd5\\xdd\\x7f\\x6d\\xbe\\x52\\x3c\\x7e\\x3a\\xf8\\x0e\\x99\\x53\\xfd\\xee\\x26\\xb1\\x49\\x74\\xe6\\x30\\x7b\\x99\\xf3\\xba\\x2c\\x96\\x45\\xda\\x9e\\x67\\x59\\x7a\\x22\\x79\\xff\\x50\\xe2\\x7d\\x79\\xfb\\xf7\\x91\\x46\\x4e\\x7d\\x5f\\x8e\\xdf\\xc7\\x9a\\x86\\xe1\\x60\\x2d\\x3a\\x27\\x71\\x7c\\x09\\xd0\\x87\\xf0\\xb1\\x88\\xe3\\x4b\\x78\\x3e\\xf9\\xbf\\x5f\\x44\\x9a\\xc5\\xc8\\x70\\xf4\\x5c\\xac\\x28\\x19\\x8e\\xd5\\x90\\xcf\\xe1\\x88\\x08\\x0b\\x38\\xf1\\xb3\\xd2\\xd0\\x1c\\xb4\\x95\\x92\\xdf\\x18\\xb1\\x1f\\xfd\\x69\\xc0\\xdf\\x8b\\x2d\\xc5\\xdf\\x6d\\xdb\\x82\\x60\\x1a\\xcc\\x54\\xa0\\x6f\\x2a\\xa8\\xbc\\x88\\x85\\x92\\x29\\x20\\xab\\x62\\x95\\x0a\\x58\\x1b\\xc5\\x93\\xae\\x59\\x4e\\x0b\\xc4\\x4a\\xe5\\x76\\x7d\\x63\\x30\\xe1\\x02\\x24\\xdb\\x54\\x49\\x33\\x83\\x85\\xef\\x0b\\x84\\xac\\xe5\\xc2\\x65\\x7a\\x0e\\x68\\x58\\x5e\\xfd\\xf3\\x6f\\xbf\\x31\\x15\\xb1\\x35\\x60\\xaf\\x50\\x8d\\x9e\\xff\\x10\\x45\\x71\\x43\\x48\\x8d\\xaa\\x91\\x1a\\x1f\\xa9\\x90\\xab\\xd5\\x3a\\xca\\x80\\xe8\\xa2\\x51\\x30\\x1c\\xc3\\x99\\x21\\xc3\\x98\\x64\\x06\\xd6\\x50\\x1b\\x35\\xd2\\xb5\\x51\\x95\\x3c\\x28\\x07\\x16\\xa4\\x06\\xe5\\x40\\xc3\\x18\\xe5\\x46\\x39\\xc5\\x6a\\x19\\x33\\xa5\\xae\\x8d\\x52\\xf1\\xd6\\x98\\xa4\\x1b\\x2d\\x99\\xab\\xa9\\x0f\\xe5\\xa5\\x66\\x9a\\x26\\xc7\\x10\\x27\\x8a\\x6a\\xf9\\xf8\\x0f\\x1e\\x9b\\x41\\xaf\\xea\\x20\\x3c\\xf7\\x9c\\xf0\\x31\\xfd\\x0a\\x8c\\x65\\x0b\\xb6\\x7c\\x70\\x34\\x5b\\xe8\\x19\\xa4\\xb9\\xec\\x58\\x9f\\xea\\x41\\x82\\x00\\xe4\\x02\\x02\\xfb\\xcc\\x57\\xa7\\x7f\\x7e\\x07\\x7c\\x06\\xd6\\x09\\x53\\xa4\\x79\\x66\\xbf\\x33\\xd5\\x54\\x1e\\x55\\x46\\x55\\x52\\xd3\\x22\\x5d\\x8a\\x4c\\x9e\\xb4\\xca\\x0c\\x7b\\x99\\x9a\\xe6\\x65\\x1d\\x73\\x72\\x64\\xb4\\x3d\\xcd\\xc4\\x45\\xaa\\x9c\\x9d\\xb2\\x3a\\xd5\\x45\\xad\\xe1\\xbc\\x70\\x5d\\x34\\x3f\\xc3\\x93\\xc5\\xab\\xb5\\x79\\x40\\x0b\\xf3\\xf2\\x94\\xe9\\x59\\x96\\x10\\x8b\\xdb\\x67\\xe8\\x95\\xba\\xd4\\xe1\\x66\\x18\\x03\\xd2\\x16\\x38\\xd9\\xfe\\xbd\\x5d\\x36\\x64\\x3c\\xca\\x99\\x9c\\xe6\\x1b\\xf2\\x5a\\xc5\\x99\\xca\\x3a\\x9f\\x5f\\x1a\\x80\\x42\\xe6\\xea\\x49\\xd7\\xe0\\x61\\x36\\x11\\x81\\xe1\\x59\\x31\\xef\\x2e\\x0c\\xd3\\xc4\\x6e\\x0b\\xfd\\x3e\\xdf\\x0f\\x72\\x46\\x85\\xe6\\x3f\\x30\\xeb\\xbe\\xa7\\x63\\x5f\\x1d\\x37\\x2f\\x6c\\x1a\\xa1\\x07\\x7c\\xfa\\x8f\\x6f\\xbc\\xdb\\xb8\\xea\\xf4\\xd9\\xaf\\x6c\\xf0\\xe3\\xad\\x53\\x17\\xf5\\xec\\x3a\\x68\\xb9\\xb3\\x55\\x80\\xb7\\xd5\\x8e\\x5c\\xe2\\xa2\\x9b\\x02\\x25\\xb8\\x05\\xc3\\x13\\xf3\\x2e\\xd4\\x36\\xe7\\x3f\\xbd\\x44\\xb8\\xbb\\x29\\x73\\xd1\\x2d\\x3d\\xd3\\xee\\xdf\\x38\\x75\\x2a\\x6e\\xc0\\x60\\x1b\\x31\\xa8\\xcf\\x80\\xc5\\x13\\x5b\\x3b\\x4e\\xba\\x75\\x29\\xa9\\x63\\x85\\x6d\\x31\\x24\\x47\\xbf\\x91\\xf9\\xf6\\x0e\\xca\\x8f\\xf3\\xf4\\xbd\\x4a\\x99\\x55\\xeb\\x34\\x99\\x90\\x47\\x6e\\xd4\\xca\\x60\\x66\\x86\\x43\\x0d\\x80\\x53\\xd1\\x99\\x06\\x30\\x48\\x03\\x35\\x8d\\x38\\x4c\\xd3\\x46\\xc6\\x68\\x1a\\x18\\x35\\x9a\\x19\\xff\\xc0\\x28\\xa3\\xbd\\xbe\\xfa\\xa7\\xb1\\xb9\\x51\\x9a\\xa2\\x24\\xb5\\x59\\x4a\\xa6\\xf3\\x90\\xdc\\x76\\x71\\x97\\x22\\xdf\\x99\\x38\\xe2\\xbe\\xcc\\x50\\x09\\x3e\\x9f\\xc2\\x62\\xdb\\x84\\x3c\\x30\\x6f\\x61\\x60\\xd1\\x60\\xba\\xf8\\x95\\x93\\xd5\\x1b\\x03\\xcb\\xb2\\x7f\\x3b\\x13\\x9b\\x05\\xca\\xae\\x5d\\x7b\\xfd\\x9a\\xff\\xa7\\x86\\x11\\xa5\\x47\\x7f\\x02\\x27\\x4e\\x83\\xe7\\x97\\x2f\\x1e\\xde\\xff\\x74\\xef\\xfc\\x27\\x76\\xef\\x5f\\xb3\\xf2\\x45\\x57\\x65\\x87\\x96\\x78\\xfe\\xce\\x10\\x92\\x7b\\xd0\\x8b\\xd8\\x28\\x3e\\xdc\\x33\\x86\\xd4\\x51\\xe8\\xa9\\xec\\x88\\x49\\x4f\\xa9\\x91\\x00\\x1b\\x0d\\x40\\x57\\x13\\x05\\x5a\\x9c\\x0a\\x1d\\x97\\xce\\x64\\xc9\\x15\\x3a\\x31\\x45\\xf0\\x68\\xc6\\x1f\\xc0\\x9c\\xc1\\x7d\\x10\\x3e\\x00\\xcf\\x5d\\x8e\\x6d\\x14\\xbe\\x3a\\xc1\\x3d\\xbf\\x2b\\xb6\\x7e\\x29\\x53\\xf1\\xed\\xa7\\xc7\\x84\\xbf\\x6f\\x7a\\xeb\\x1f\\x67\\x7f\\x8d\\x0d\\x43\\xeb\\xf0\\xd2\\x3a\\x6a\\xe4\\xa5\\xf7\\x88\\xf8\\xf4\\x16\\xce\\x6c\\xb7\\xab\\x81\\x92\\x53\\x3a\\x1d\\x36\\xb5\\xda\\x4c\\x51\\xc8\\xdb\\xb2\\xd7\\x46\\x95\\x66\\xda\\x94\\x9c\\x1f\\x91\\x98\\x57\\xae\\x8f\\x17\\x4a\\x89\\xf9\\xb4\\x25\\x62\\x35\\x83\\x04\\x04\\x52\\x02\\xac\\x08\\x07\\x99\\x27\\x53\\x38\\x6d\\x70\\x1c\\x18\\x81\\x1f\\x36\\x95\\x56\\x63\\x88\\x0a\\x5e\\x0d\\xbc\\x56\\x44\\xaf\\x02\\xcf\\x8b\\x70\\x81\\x13\\xbf\\x21\\xc8\\x2e\\x9e\\xfe\\x0d\\xeb\\x7e\\x4c\\x03\\x23\\x83\\xbd\\xb0\\xbe\\x91\\x6c\\x56\\x8e\\x14\\x95\\x82\\x83\\xb4\\x8a\\x56\\xcb\\xf2\\xd9\\xce\\x2c\\x0d\\xd5\\x2c\\x62\\x28\\x22\\x0b\\x00\\x4c\\x2d\\xa6\\x8a\\xbc\\x1d\\x55\\x12\\xe5\\x5c\\xa1\\x76\\x59\\x25\\xa4\\xd8\\x22\\xfe\\xf3\\x01\\x4c\\xcb\\x8e\\xfd\\x94\\x0f\\xbe\\xca\\x16\\xdc\\x41\\xba\\x30\\x5b\\xda\\x8d\\xf1\\x3a\\x49\\xcc\\x0f\\x5c\\x27\\x89\\x74\\xca\\x47\\xc2\\x14\\x5a\\xc3\\x74\\x22\\xfa\\x2e\\x2f\\x62\\x66\\x39\\x1e\\xe9\\x12\\x39\\x45\\xd3\\x32\\x1a\\x0e\\x8a\\xd2\\x1c\\xee\\x77\\x8e\\x0e\\x56\\x5d\\x62\\x64\\x48\\x3c\\xc1\\x1f\\xb9\\xf6\\xd8\\x62\\x03\\xd6\\x1c\\xe1\\x62\\x0e\\xad\\x7b\\x5f\\xb8\\xf8\\xc1\\xab\\xef\\xbe\\xcb\\xc4\\xae\\xbd\\x81\\x7b\\x4b\\x50\\x06\\xb4\\xce\\x0f\\xe8\\x95\\x0e\\xf7\\x27\\x52\\xa8\\x95\\x6a\\x68\\x80\\x7a\\x86\\x52\\xa9\\x94\\x48\\x35\\x69\\x29\\x2e\\xa5\\x05\\x67\\xbb\\x46\\xde\\x62\\xde\\x72\\xa6\\x98\\x93\\x85\\x0e\\x0f\\x64\\xa8\\x80\\x95\\x87\\x0f\\xc8\\x81\\x83\\x5e\\xd0\\xad\\xbb\\x7e\\xc2\\xaf\\xd9\\xb4\\xee\\xa1\\xc0\\x39\\xd3\\xe6\\x67\\x7c\\x4f\\xf5\\x6d\\xa4\\x6d\\x67\\x62\\xb2\\x97\\x36\\x21\\xbc\\x32\\x11\\x4d\\xdf\\xc7\\x39\\x2c\\xf0\\x76\\x72\\xbe\\x42\\xb4\\x91\\xa2\\x84\\xff\\x9d\\x23\\x69\\x32\\x95\\x8a\\x85\\x58\\x13\\x42\\x8d\\x96\\xf4\\x6e\\x93\\x43\\xf4\\x03\\x90\\x3e\\x4e\\xf6\\x6e\\x13\\xb5\\x21\\xe9\\x5a\\x9d\\xd8\\x20\\xe4\\x4c\\xe3\\xab\\xf0\\x3d\\x58\\x26\\xcf\\x42\\x1f\\x2c\\x8e\\x19\\xaa\\xd7\\xe4\\xad\\x45\\x4c\\x89\\x00\\x4d\\xbe\\x70\\xb9\\x12\\x7c\\x01\\xd6\\xd5\\xfc\\xa3\\x16\\xbc\\x21\\x1c\\x58\\xfb\\xed\\x1a\\xe1\\xd5\\x78\\x5f\\x24\\x5c\\xbb\\x8d\\x60\\xf9\\x81\\xc0\\x62\\x42\\xb0\\x1d\\x40\\xb0\\x68\\x90\\x8f\\x6f\\x50\\x23\\x4a\\x2b\\x59\\x4e\\xa7\\x85\\x4a\\x35\\xa3\\xd1\\xf2\\xea\\x78\\x73\\x73\\x71\\x61\\x52\\x19\\xcf\\x93\\xfc\\x3f\\x7c\\x4f\\x84\\x08\\xfc\\x43\\x73\\x66\\x80\\x1e\\x06\\xdc\\x1f\\x08\\xad\\x93\\x94\\xd9\\xea\\xd8\\x01\\xe1\\x43\\x9c\\x45\\xe7\\x78\\x76\\x26\\x64\\xaf\\xbd\\x41\\x67\\x95\\xdc\\xe7\\x6b\\xbd\\xc6\\x54\\xc4\\x6b\\xe7\\x70\\x4e\\x15\\x25\\xe6\\x58\\xe1\\x3a\\xda\\x62\\x92\\x3b\\x67\\x21\\x7b\\xaf\\xb8\\xed\\x1a\\xb3\\x8f\\xa9\\x24\\x51\\x0c\\x6f\\x44\\xe3\\x80\\x26\\x25\\xae\\x7e\\xb4\\xc8\\x90\\x37\\xa8\\x25\\xf7\\x56\\x29\\x7b\\x0e\\x48\\xde\\xa8\\x94\\x40\\x9e\\x61\\x24\\x6d\\x60\\x7d\\x44\\x1f\\xd0\\xdf\\x7c\\x72\\x75\\xe4\\x51\\x21\\xf6\\xf0\\x27\\x57\\x9a\\x0e\\x00\\x7a\\xe4\\xda\\x97\\x9b\\x40\\xd5\\xca\\x57\\x47\\x31\\x95\\xef\\xbc\\xb2\\x58\\xf8\\xed\\xe4\\xd8\\xbf\\x1e\\x9b\\x07\\x8c\\x27\\x6f\\x13\\x3e\\xe9\\xb3\\x21\\x7a\\xa2\\xdf\\xda\\xe8\\x6b\\x84\\x0e\\xe8\\xb4\\x62\\xa6\\x31\\xd9\\x48\\xab\\xe5\\x44\\x8c\\x46\\x35\\xc5\\x71\\x50\\xaf\\x66\\x5c\\x4e\\xdc\\xbe\\x5e\\xaf\\xb3\\xc9\\xc5\\x39\\x70\\xf8\\xba\\x23\\xae\\xc0\\x71\\x7c\\xd2\\x62\\x85\\x19\\xfa\\x0e\\xe2\\xb0\\x4f\\x13\\xc7\\x43\\xac\\x9a\\x03\\x58\\x39\\x9f\\xc5\\xdd\\x3a\\xb7\\x7e\\x79\\x2a\\xde\\xa1\\x73\\xd3\\xfe\\xe9\\xa5\\xb3\\xa7\\xd1\\x35\\x83\\x6e\\xf7\\x0a\\x97\\x27\\x80\\x0d\\x9f\\xfe\\xb0\\x59\\xf8\\x3f\\xdc\\xde\\x13\\xb8\\x94\\x8f\\x4d\\x59\\x1c\\xb4\\x8e\\x41\\x52\\x51\\xd4\\x76\\x1a\\xd9\\x07\\x93\\xd0\\x7e\\xf2\\x50\\x01\\x64\\x7b\\x39\\x32\\xcc\\x06\\xa7\\x82\\xe7\\xe5\\x2a\\xbb\\xcf\\x96\\x0e\\x4c\\x06\\x45\\x4e\\x76\\xba\\xdd\\x02\\xd3\\x34\\xb8\\x0e\\xe3\\xf5\\x92\\x44\\xb7\\x4c\\x51\\x57\\xb2\\xf8\\x8c\\xc0\\x45\\x9f\\xe1\\x40\\xa9\\x55\\x82\\x89\\xb7\\x66\\x96\\x84\\x71\\x9a\\x9d\\x07\\xc0\\x74\\x1e\\x10\\x5b\\x9b\\xd9\\xfb\\xf0\\xb4\\xe3\\x6f\\x09\\x6f\\x3f\\x57\\xd6\\xf3\\xb1\\x09\\xbb\\xde\\x05\\xdd\\x76\\x17\\x77\\x17\\xf2\\x4a\\xf2\\x62\\x97\\xf3\\x17\\xfc\\x78\\xa7\\xd7\\x45\\x33\\xe9\\xd3\\xbe\\x29\\x5d\\x32\\x19\\x57\\x56\\x3e\\x31\\xad\\xf3\\xcb\\xf7\\x36\\xe2\\x4a\\xcb\\x95\\x13\\x2b\\x66\\xcb\\xc0\\x99\\x92\\xfa\\x99\\xf7\\xdd\\x42\\x7b\\x19\\xa1\\xb2\\xb8\\xef\\xb4\\x65\\xfd\\x48\\x3d\\x68\\x56\\xdb\\x25\\xbe\\x1f\\x3a\\x3f\\x7d\\x54\\x11\\xd5\\x91\\x6a\\x89\\x74\\xca\\x36\\xaa\\x1d\\xe9\\xe9\\x1d\\xe9\\x12\\x59\\x5a\\x1a\\x6d\\x84\\x15\\xe5\\xd6\\x8c\\x9a\\xa8\\xd5\\xe5\\x2b\\xae\\x8b\\x3a\\x5c\\xbc\\x5a\\xa9\\xf5\\xa1\\x63\\xd3\\xe7\\x73\\x29\\x5d\\xa5\\x75\\x51\\x97\\x45\\x97\\x57\\x13\\xd5\\x29\\x49\\xf7\\x29\\xdd\\x0d\\xa9\\xb5\\x48\\x9d\\x90\\xee\\x6b\\xf1\\x11\\x54\\x71\\x7c\\xe3\\x79\\x75\\x29\\x47\\x67\\x49\\x3c\\xb1\\x50\\x6c\\xac\\x13\\x3f\\x31\\x4d\\x52\\x7f\\x1d\\x7f\\xba\\x06\\xc6\\xcf\\x4c\\xfa\\x8f\\xc4\\x99\\xf9\\xdb\\xac\\x1e\\x17\\x56\\x7e\\x22\\x3c\\x21\\x7c\\xf2\\xd2\\xfc\\xdd\\xbd\\x1e\\xbe\\x88\\x4f\\xca\\xb3\\xef\\x4d\\x5b\\xd6\\x7f\\xfc\\x84\\xc6\\xdb\\x6b\\x72\\xe9\\x98\\xf3\\xfa\\xc3\\xf2\\xe1\\x7e\\x03\\xfe\\x75\\x06\\x13\\xb0\\x7b\\xdf\\x35\\xf8\\x98\\x3c\\xf2\\xdb\\xec\\x5f\\xa6\\xce\\x5b\\x56\\xb9\\xfc\\xd3\\x2e\\x2a\\xf1\\xa8\\xa4\\xa9\\x10\\x92\\xef\\x8d\\xa4\\x0f\\x61\\x3e\\xd5\\x3f\\x92\\x65\\xb6\\xa8\\x55\\x0e\\xce\\x9d\\x0b\\xa1\\xca\\x02\\x0b\\x0b\\x32\\xdc\\x0e\\x9e\\x0f\\x18\\x0c\\x81\\xba\\xa8\\xc1\\x40\\x99\\x91\\xd2\\xf1\\x0d\\x4c\\x28\\x9d\\x44\\x76\\xab\\x3e\\x94\\xcc\\x90\\x4e\\x2a\\x37\\x12\\x0d\\xaf\\x22\\x7d\\x64\\xc3\\xbe\\x78\\x8a\\xa8\\x4f\\x03\\xa4\\xc1\\xff\\x4c\\x20\\x6e\\x20\\xe0\\xaa\\xdf\\xd6\\x8f\\xae\\x1e\\x58\\x09\\xfa\\x0d\\xe7\\x81\\x4c\\x3e\\xaa\\x7e\\xd4\\xdd\\x6e\\x20\\xd3\\x3d\\x32\\x15\\xd4\\x8f\\x59\\x29\\xb4\\x3e\\x7c\\xcf\\xc6\\xe9\\x23\\x97\\xae\\x69\\x31\\xbd\\xf9\\xf4\\x83\\x7f\\x73\\x30\\xbe\\x07\\xa3\\x39\\xbe\\xec\\xfc\\xba\\x86\\xb9\\xf7\\xce\\x3c\\x9c\\xcb\\xb8\\x1f\\x9d\\xb0\\xf2\\xc3\\xe9\\x47\\x1f\\xbf\\x7b\\xe8\\xc4\\x75\\x4b\\x87\\xe3\\xfa\\x36\\xaa\\x37\\xed\\x21\\x75\\xbf\\xf8\\x74\\x34\\xc8\\xe4\\xb4\\x56\\x2b\\x37\\x1a\\x28\\xb9\\x2a\\xa2\\x62\\xf0\\x50\\x4f\\x0c\\x3d\\x6e\\x29\\x55\\x92\\xba\\x53\\xcb\\xc4\\x26\\xcd\\xbc\\x8f\\x74\\xce\\xc2\\x4e\\xc8\\x1d\\xca\\xf7\\x46\\xcd\\x1e\\x68\\x10\\x3e\\xce\\x00\\x43\\x00\\xf5\\xdd\\xef\\x0a\\xda\\xd3\\xab\\xe4\\xb7\\xba\\x1d\\xb3\\x00\\x00\\x85\\x17\\xde\\xec\\x27\\xfa\\x20\\x58\\x5f\\x3c\\x44\\xa7\\xa1\\xb5\\xb2\\x22\\x7a\\x3d\\xa5\\xe4\\x28\\xce\\x68\\xd0\\xcb\\x20\\x54\\xd7\\x44\\xa1\\x45\\x8a\\x05\\xb4\\x5b\\x89\\xa6\\xa4\\x44\\x5f\\xce\\xac\\x23\\xf6\\x3d\\xf3\\x50\\x40\\x78\\x4a\\xf8\\x44\\x90\\x81\\x6c\\xf9\\x7b\\xa3\\x67\\x0f\\xd0\\xd3\\x69\\x82\\x20\\xbc\\xfb\\xfd\\x3b\\xdd\\x2a\\x2a\\x4b\\x84\\xd8\\x90\\x5d\\xd3\\x10\\x9f\\xbc\\x48\\xff\\x2d\\x40\\x7c\\x52\\x20\\x8b\\xa6\\x24\\x62\\x57\\x22\\x3f\\x51\\xcb\\xf3\\xb4\\xd9\\xa4\\xa4\\xea\\x90\\xe7\\x0c\\x69\\x33\\x34\\xd6\\x25\\xda\\x94\\x4b\\x1d\\x55\\x52\\x1b\\xd6\\x49\\x3e\\x32\\xe3\\x0b\\xc4\\xeb\\xe9\\xc1\\x8a\\x1a\\x3c\\xcb\\xe1\\xe2\\xa9\\x4f\\x85\\x7f\\x0b\\xd7\\x8e\\xbf\\x37\\xf1\\xae\\x21\\x4d\\x27\\xc0\\x03\\x42\\x0b\\x53\\xf1\\xe8\\xea\\x13\\xc7\\x77\\xdf\\xd6\\x50\\x59\\x4d\\x6a\\x70\\x9f\\x44\\x6b\\xaf\\xc7\\xba\\x98\\x21\\xf1\\x6f\\x32\\xfb\\xe0\\x6e\\x72\\x2e\\x98\\xa9\\x7e\\x91\\x1c\\x74\\xba\\xd0\\x6a\\x85\\x4a\\x69\\xe0\\x79\\xa5\\x82\\x66\\xac\\x16\\xb5\\xb6\\x2e\\xaa\\x50\\xa9\\x5d\\x6a\\x5a\\x07\\xd5\\x6a\\x06\\x28\\xb5\\x8c\\xa9\\x2e\\xca\\x98\\x93\\x62\\x83\\x9d\\xb0\\xbc\\x1b\\x0b\\x34\\xb0\\x99\\x2c\\xe6\\x6f\\x23\\x70\\xad\\x44\\x34\\x3a\\x01\\x68\\x1c\\x02\\x1c\\x1f\\x08\\xf6\\xb7\\x3f\\xd9\\xb8\\xee\\x5b\\x50\\x76\\x74\\xf3\\x7b\\x13\\x67\\xec\\x3b\\x41\\x2f\\x03\\xfb\\xae\\xbd\\xb1\\xee\\xbe\\x25\\x3b\\xdc\\xe0\\x9c\\x30\\x60\\x57\\xbf\\xe1\\xcb\\x08\\x3f\\x9a\\xd1\\x46\\x6f\\x25\\xfe\\x43\\x4e\\xc4\\x84\\x4e\\x01\\x0e\\x1d\\x5a\\x32\\x20\\x67\\xcd\\x90\\xa7\\xf8\\xd4\\xbe\\x99\\x89\\x83\\x3f\\xd9\\xc4\\xf3\\x1e\\x38\\x3b\\x53\\x38\\xbb\\x5b\\xf8\\x76\\xb7\\x70\\x96\\xa9\\x38\\xd6\\x7a\\x0f\\x9c\\x47\\xce\\x80\\xb1\\x88\\xc7\\xa3\\xc9\\x59\\x34\\x8b\\xac\\x51\\xd7\\x76\\x99\\x79\\x82\\x69\\x40\\x3a\\x38\\x3b\\x62\\x64\\x8d\\x72\\x87\\x43\\x63\\x84\\x2e\\x27\\x65\\xb5\\x68\\xe5\\x0a\\x68\\xb1\\x10\\xa5\\x57\\x52\\xd5\\x4e\\x05\\xb3\\x16\\x6c\\x0d\\xa2\\x53\\x59\\x8f\\x5e\\xe9\\x03\\x66\\x29\\xd5\\xa1\\x10\\x64\\xd6\\xd1\\x83\\xc8\\xa0\\xbf\\xd8\\x36\\x38\\x68\\x5b\\xcf\\xc3\\x78\\xc8\\x9f\\xb1\\xaa\\x2c\\x36\\x0c\\x3c\\x96\\x18\\x16\\xb8\\xc3\\x29\\xc4\\x18\\x71\\x50\\x20\\x2f\\x5b\\x4a\\x74\\x59\\x7e\\xdb\\x55\\x76\\x2b\\x81\\xc1\\x43\\xa5\\x53\\xa1\\x88\\x1d\\xc3\\xe1\\x73\\xa7\\x7b\\x3c\\x6e\\x04\\x0d\\x9b\\xe1\\x4f\\x73\\x63\\x60\\x28\\x02\\x0d\\x06\\xe7\\x86\\xa6\\xcf\\x20\\x15\\x24\\x6b\\x3b\\x90\\x80\\xd5\\x1c\\xd0\\xa3\\xff\\xc0\\x38\\x3a\\x32\\x2f\\x07\\xc3\\xf6\\x22\\xd4\\xae\\x5d\\x21\\xc2\\xd6\\x2d\\x1c\\x9b\\x2c\\x9c\\xbc\\x80\\xfe\\x07\\x1e\\x9b\\x4e\\x20\\x9c\\x0e\\x1c\\x9b\\x9c\\x0a\\x41\\x88\\x83\\x28\\x5f\\x0c\\x9e\\xc9\\x3b\\x9f\\x47\\xaf\\xcc\\xfd\\x5b\\x1e\\xa6\\xd7\\x78\\xe1\\x43\\xe6\\x45\\x76\\x0e\\xd2\\x30\\x65\\x11\\x07\\xe5\\x55\\x38\\x34\\x4c\\x56\\x96\\xd1\\xe1\\x65\\x0a\\x0b\\xdc\\xc8\\x46\\xd3\\xe6\\x59\\x72\\xfd\\x16\\x74\\x56\\x20\\x9b\\x31\\x48\\x1c\\xbb\\x50\\x28\\xb5\\x91\\x69\\x71\\x51\\x66\\x9c\\x70\\x29\\xf0\\x22\\xc5\\x29\\x42\\xcc\\x4b\\x70\\x93\\xf7\\x3b\\x81\\x32\\xf8\\xf5\\x7f\\xce\\xad\\x8e\\x4d\\xa7\\xa7\\x0f\\x2f\\x66\\xe7\\x4c\\xc3\\xb9\\xdb\\xc0\\x2a\\xe5\\x6e\\x23\\x22\\x9b\\x8c\\xc2\\x4f\\xd7\\xe5\\x6e\\x2f\\x02\\xd6\\xbb\\x0c\\x10\\xcb\\xc0\\x64\\x24\\xf3\\xef\\x91\\xfc\\xde\\xe8\\x8d\\xf9\\xbe\\x68\\x8f\\xfc\\x8a\\x98\\x72\\x85\\xfc\\xde\\x48\\x64\\x04\\xd9\\x6e\\x8c\\x8d\\xe9\\x4c\\x2c\\x67\\xbf\\xc2\\x6a\\x52\\x33\\x10\\xea\\xd4\\x56\\xc6\\xa1\\x35\\x18\\x9c\\x46\\x9d\\x5e\\x57\\x1b\\x35\\x31\\x6a\\x35\\xa5\\xd7\\x52\\x7c\\x52\\xa5\\xb6\\xeb\\x54\\x9c\\xda\\x92\\x8d\\x4d\\xe9\\x61\\x86\\x5c\\x8a\\x4c\\x1c\\xa3\\x61\\x09\\xe2\\xe0\\xc4\\x9e\\xaf\\x1c\\x7f\\xe8\\x6f\\xad\\x19\\xd7\\x78\\x6c\\x54\\x1a\\x30\\x09\\xe6\\x6c\\x58\\x9a\\x21\\x1c\\x9c\\xb5\\xf8\\x77\\xd3\\x93\\xeb\\xf2\\xfb\\xd5\\x0f\\x1b\\xfa\\xc4\\xe3\\x9f\\xfe\\xf5\\xc8\\xcf\\x96\\x87\\x67\\x9c\\x78\\x45\\xcc\\x29\\x6a\\xfb\\x01\\x9e\\x65\\x6a\\xa8\\x2c\\x04\\x5b\\xa6\\xda\\x91\\x45\\xb9\\xe5\\x06\\xa3\\x8f\\xe3\\x90\\x7f\\xeb\\x60\\xb3\\x03\\x6a\\x43\\x96\\x8f\\x41\\x62\\xac\\x1b\\x18\\xb5\\xe8\\x60\\xc6\\xc0\\xb8\\x1e\\x23\\x27\\x9d\\xf5\\x26\\x75\\x55\\xf1\\xaa\\x8b\\x2a\\x50\\x92\\x7a\\xca\\x11\\xf0\\xb4\\xf1\\x32\\xc0\\x30\\x5c\\x5d\\xf4\\xcf\\x33\\x2f\\x9e\\xfd\\xcb\\x66\\xd3\\xbe\\x0d\\x75\\xd5\\xdb\\x0a\\xae\\x16\\xff\\xe3\\xf5\\x99\\x87\\xc7\\xbc\\xf0\\x98\\xf1\\x99\\x27\\x86\\x56\\x6f\\x28\\x03\\xfa\\xf5\\xeb\\xd7\\x2d\\x9a\\xf7\\xa8\\x6a\\x4c\\xef\\xe1\\x85\\x55\\x4b\\x1c\\xeb\\xd7\\xf7\\x5a\\x34\\x60\\xfe\\x26\\xf5\\x98\\x81\\xf5\\x85\\x1d\\x96\\xe0\\xfb\\x94\\xe3\\x88\\xa6\\x73\\x49\\x7f\\xc1\\x0e\\x11\\xa7\\x4e\\x2d\\xd6\\x4f\\xb1\\x6c\\x86\\x5d\\x4d\\xa9\\xa1\\x51\\xe7\\x96\\xe3\\x92\\xda\\x74\\x98\\x1c\\xdb\\x9d\\xe8\\x44\\x44\\xae\\x08\\x32\\xc5\\x92\\x1d\\x4c\\x45\\xa4\\x75\\xa5\\xe4\\x23\\x52\\x28\\x65\\x15\\x07\\x74\\x22\\x21\\xa2\\x0b\\x87\\xbe\\x30\\xe6\\xc1\\x3b\\x26\\xa4\\x0d\\x2d\\x4c\\x2f\\xeb\\x5a\\x31\\xa4\\xfa\\xdf\\x1f\\xbd\\xf0\\xce\\xea\\x43\\x01\\x43\\xaf\\x50\\xfd\\x18\\xcb\\xca\\x87\\x4e\\xbf\\x3b\\xfd\\x8e\\xde\\xe7\\xdd\\xb9\\xb6\\x1e\\x91\\x99\\xcf\\xf7\\x7b\\xfe\\xdd\\x27\\x57\\xdd\\x71\\xfa\\x9e\\x7e\\xfe\\xc2\\xde\\xe7\\x7b\\x4b\\x79\\x66\\x48\\x0e\\xce\\x31\\xf8\\x8a\\xcb\\x17\\xd1\\x22\\xa3\\x8c\\xe2\\x28\\x9e\\x31\\xb3\\x74\\x4d\\x94\\x95\\x74\\x73\\xbc\\xfa\\x53\\xac\\x93\\xf6\\x19\\xe1\\xb9\\x4c\\xa1\\xd3\\x6e\\x52\\xd6\\x71\\x4c\\x1a\\x17\\x88\\xe4\\xe9\\x71\\xec\\xc4\\x92\\x5e\\x25\\xd5\\x89\\x3e\\xa1\\xc7\\x89\\x0e\\xfa\\x89\\xfc\\x2e\\x9d\\x07\\x06\\x8e\\xed\\x48\\xd6\\x7d\\x10\\xc9\\xa3\\x93\\xd4\\x1d\\x57\\x46\\x3c\\x4e\\x87\\x43\\xa1\\xb4\\x68\\x95\\x5a\\x17\\xda\\x5e\\x6e\\xca\\xae\\xb2\\xd7\\x44\\xe5\\xc8\\x6d\\x70\\x30\\x06\\xad\\x92\\xb4\\x2b\\x0b\\xa5\\x4e\\xf9\\x0b\\x25\\xa7\\x8d\\x90\\xa9\\x75\\x62\\x25\\x27\\x2b\\x8d\\xb5\\x4e\\x36\\x8b\\xf5\\xc1\\xd5\\x0f\\x6c\\x48\\xeb\\x00\\x8c\\x95\\x85\\xc2\\x05\\xe1\\x8b\\x2a\\x21\\x56\\xf5\\xdd\\x77\\x9a\\x30\\x30\\x76\\x50\\xb6\\x4c\\x9b\\x8c\\x4e\\x01\\x9e\\x5e\\xfd\\x28\\x90\\x0b\\xa7\\xfe\\xf5\\x3e\\x2d\\xbc\\x0c\\xba\\xd3\\x3b\\xf7\\x54\\xdc\\x02\\xec\\xc2\\xef\\xa5\\x45\\x63\\x1a\\x21\\x5d\\x82\\xf1\\xda\\x8d\\x78\\xf8\\x37\\x82\\xc7\\x25\\x72\\x96\\xe4\\x82\\xef\\xe1\\xbb\\xec\\x69\\x1c\\x02\\x45\\xda\\x54\\xcd\\xf0\\x2a\\x25\\xa3\\xd3\\xd2\\xc8\\xca\\xa2\\x98\\xa3\\x20\\x97\\x92\\x51\\x2c\\xc8\\x8c\\x57\\xf3\\x86\\xe2\\xe6\\x7d\\xc0\\xc7\\xfb\\x41\\xc8\\x08\\x70\\x70\\x02\\x06\\xa0\\x3c\\x4b\\x78\\xe0\\x9e\\x53\\xb4\\xf5\\xd2\\x36\\xe1\\xb4\\x3a\\x7b\\x33\\x50\\x17\\xf2\\xe0\\x7b\\x41\\x80\\x5f\\xb6\\xa6\\xc1\\x3e\\xe9\\xf5\\xc2\\x19\\x50\\xd5\\x09\\xad\\x95\\x0f\\xbe\\xe7\\x68\\xb4\\x96\\x16\\x79\\x13\\x03\\x23\\x2e\\x3d\\x2b\\x57\\x9b\\xd4\\x14\\x66\\x92\\x42\\xc3\\xb2\\xb8\\x68\\x57\\x25\\x97\\xb3\\xb4\\xd1\\xc8\\x32\\x87\\x40\\xee\\x3e\\x99\\x5e\\xcf\\x1e\\x45\\x8b\\xab\\x11\\x7d\\x73\\x45\\xd3\\x3e\\x54\\xa5\\xc7\\x50\\xe0\\xff\\x40\\xea\\x15\\x8f\\x98\\x31\\x84\\x81\\x92\\x9c\\x47\\xe8\\xe3\\x81\\x9f\\x87\\x21\\xfa\\xe9\\x22\\xe1\\xaf\\xdb\\x3f\\xa2\\xd7\\xc1\\x9e\\x69\\x82\\x3f\\x08\\xf6\\xb9\\x85\\x01\\xc5\\xe0\\x77\\x4f\\xec\\x1f\\xb9\\x23\\x0e\\x5e\\x12\\x81\\xdc\\xf2\\xc7\\x63\\xc2\\x2f\\x5b\\x60\\x9f\\x07\\x84\\x6f\\xc4\\xbe\\x25\\xa3\\xc1\\xf7\\x88\\x6f\\xa7\\x11\\x45\\xac\\x88\\xcf\\x9d\\x22\\x66\\xde\\xe5\\x52\\x68\\x6d\\x36\\x8d\\x42\\xe3\\x33\\x32\\x4c\\xba\\x97\\xd7\\x6a\\x6d\\x1a\\x4c\\x1d\\x2b\\x02\\x2d\\x53\\x8c\\x96\\x63\\xa5\\x09\\xda\\x97\\xb8\\xe0\\x6b\\xce\\x94\\x4a\\x40\\xbf\\x2f\\xd9\\x03\\x31\\x61\\x03\\x78\\xc0\\xea\\xbd\\x3b\\x67\\x8f\\x1e\\x75\\xdb\\x47\\x1f\\x09\\x3e\\x10\\x3e\\x75\\xe7\\x98\\xfa\\x81\\x67\\x16\\x7d\\xb1\\x7a\\xca\\x88\\x09\\x7f\\x67\\x4f\\xcf\\x69\\x19\\x3b\\xdb\\xac\\xbf\\x73\\xe0\\xc6\\x4d\\xf4\\xc0\\xae\\x7d\\x2b\\x0b\\x62\\x83\\x7a\\x0f\\x8a\\x74\\xc7\\x30\\x0e\\x46\\x30\\x76\\x45\\x30\\xe2\\xb9\\xad\\x99\\xd4\\x00\\xe4\\x1f\\x2a\\x4d\\x6e\\x3b\\xb0\\xeb\\xe5\\x26\\xb5\\x4f\\x6f\\x54\\x43\\x2e\\x8b\\x0b\\x28\\x6d\\x46\\xa3\\xcc\\x4d\\x51\\xfa\\x4c\\x1a\\x13\\xd2\\x4e\\xe9\\x31\\x21\\x25\\x5e\\x8a\\x37\\x29\\x22\\x19\\x49\\x97\\x62\\x42\\x48\\xd2\\xae\\xfa\\x86\\xab\\x14\\xa3\\x9f\\x15\\x03\\x0d\\x25\\x65\\x09\\x1c\\xa6\\x8f\\xec\\x87\\x61\\xef\\xb1\\x28\\x6d\\x64\\x1e\\x06\\x7e\\xe0\\x28\\xfa\\xbd\\x9a\\x7e\\xc2\\xd5\\x52\\x04\\xbc\\x30\\x4b\\x44\\x84\\xe9\\x04\\xee\\x9f\\xd3\\x32\\xbe\\xdb\\xe6\\xf2\\xbe\\x1b\\x37\\x81\\x7d\\x0b\\x2b\\xbb\\x0a\\x17\\x7b\\x83\\x3b\\x30\\x2a\\x48\\x1e\\x46\\x20\\x1c\\xe4\\x08\\x07\\x39\\x65\\xa0\\x32\\x23\\x0a\\x85\\x4c\\x03\\xa1\\xcc\\x64\\x34\\xc8\\x31\\xb0\\x0a\\x4a\\x26\\x01\\x7b\\xa3\\x43\\xe7\\xf7\\x39\\x13\\x60\\xd0\\x65\\x7f\\xff\\x79\\x75\\x6c\\x93\\x30\\xeb\\x48\\xfe\\xe3\\x3b\\xdf\\x5c\\xb3\\x7c\\x36\\x7b\\xfa\\xfc\\xbb\\xcf\\x0a\\xb1\\xfb\\x90\\xf4\\x9d\\x38\\x7f\\xe0\\x9e\\xfb\\x44\\xbd\\x80\\xd7\\xe2\\xd1\\x5a\\x4a\\xaa\\x38\\xa2\\xc7\\xf7\\x15\\x9c\\x82\\x82\\x2a\\x9a\\x56\\xcb\\x58\\x96\\x01\\x78\\x41\\x79\\x42\\xcc\\xda\\x8b\\x17\\xc9\\x23\\x49\\x48\\xd5\\x88\\x23\\xf4\\x65\\x4f\\xec\\x5c\\x90\\xa6\\x3c\\x02\\x55\\x4c\\xf7\\xf4\\xa0\\xfd\\xf3\\xe5\\xd6\\xff\\xdb\\x2a\\x5c\\xdb\\x4a\\xd6\\x19\\x2e\\xc9\\x4e\\x7c\\x1d\\x9a\\x43\\x46\\x80\\x8a\\x52\\x73\\xc8\\x58\\x54\\x28\\xf1\\x3a\\x90\\xa2\\x53\\xb8\\x90\\x64\\x80\\x98\\x14\\x4a\\x7e\\x8c\\xbe\\x30\\xc3\\x1e\\x89\\x69\\x3d\\x74\\x4e\\x50\\xa0\\x3c\\xc8\\xeb\\x8d\\x1d\\xf5\\xb0\\xa7\\x5b\\xd3\\xd0\\x42\\x80\\xdd\\x8a\\xd7\\x59\\x0c\\x2e\\x30\\x03\\xd8\\x8f\\x11\\xf7\\xc3\\x11\\x93\\x0e\\x5a\\xec\\xd0\\x6a\\x87\\x72\\xb7\\xdc\\xa3\\x50\\x70\\x56\\x9b\\x4d\\xcd\\x1d\\x05\\x59\\x48\\x38\\x28\\x90\\x97\\x40\\xa9\\x3c\\x78\\x7d\\x09\\x4f\\xa9\\x0e\\x1b\\xdb\\x38\\x11\\x34\\x9e\\x92\\x49\\x12\\x46\\x70\\x05\\x4f\\x87\\x77\\xbe\\x05\\x15\\x80\\x7e\\xf4\\x6c\\xc6\\x09\\xd3\\xd4\\xa1\\x4f\\xbd\\x72\\xf7\\x9d\\x8f\\x4e\\xf4\\x7e\\xe7\\x04\\x5b\\x7b\\xdf\\xfa\\x01\\xb8\\xf0\\xe5\\x9b\\x40\\x0d\\xfa\\xac\\xbb\\x3b\\x5c\\x53\\x7f\\xe9\\xc4\\xfc\\xb5\\x3d\\xb6\\x3c\\x20\\x4c\\xe9\\xd5\\x0d\\xc3\\x35\\x10\\xe1\\x5f\\x45\\xf0\\x2f\\x88\\xe8\\x00\\xc5\\xf1\\x0c\\xab\\x52\\x28\\xd4\\x78\\x30\\x81\\x9c\\xec\\x66\\xa4\\x37\\x6f\\x44\\x5f\\xb4\\x3d\\xfd\\x78\\x8a\\x2b\\xfa\\x8f\\x7e\\xad\\x56\\x18\\x36\\xf0\\xd4\\x91\\xb7\\xfa\\x82\\x67\\xfa\\xbe\\x7a\\x14\\x7c\\x0f\\x9e\\x15\\x86\\xc2\\x2f\\x85\\x99\\x60\\x55\\x6b\\x1a\\x5a\\xa3\\x01\\xbd\\xf3\\x19\\x5a\\x03\\x52\\xde\\x88\\x1c\\xe2\\x07\\xd2\\x34\\x0b\\x8e\\xe0\\x87\\xe3\\x47\\x57\\xa5\\x0c\\x86\\x45\\x72\\x02\\x1b\\x8e\\x9c\\x3a\\x82\\xb9\\x44\\xbe\\xdb\\x19\\x5c\\x80\\xb7\\xb0\\x6f\\x23\\x1d\\x94\\x13\\x51\\x41\\x5a\\x41\\xeb\\x90\\x62\\xd6\\x43\\x91\\x35\\x6c\\x92\\x5e\\xc9\\xbd\\x8c\\x3b\\x25\\xc1\\x70\\xbb\\xcb\\x9c\\xa9\\xc2\\xb5\\xa2\\x17\\xbd\\x2d\\x1d\\xaa\\xf4\\xa3\\x8e\\x7b\\xc0\\xb2\\x25\\xde\\x27\\xc1\\x05\\x60\\xcf\\x79\\xa2\\xf7\\x70\\x5a\\xf6\\x64\\xec\\x96\\x1d\\x52\\x5f\\xd5\\xc9\\x88\\x16\\x0f\\x11\\x5a\\x14\\x45\\xf4\\x0a\\x0e\\x28\\x01\\xcf\\x30\\x78\\x8a\\x37\\xfa\\x5b\\x76\\x03\\x31\\xca\\x93\\x6d\\x3c\\xb0\\x28\\xf0\\x84\\x1c\\x20\\x24\\x07\\xf4\\x1f\\x57\\xd6\\xf6\\x7c\\xe3\\xf0\\x5b\\xf5\\x34\\x73\\x4d\\x60\\x40\\x17\\x84\\xfd\\x6b\\xc3\\x84\\x07\\x11\\x41\\x2a\\xc1\\xab\\x42\\x75\\xec\\x2c\\xe9\\x67\\x8f\\x30\\xac\\x46\\x6b\\xb1\\x94\\x9f\\xd0\\x84\\xe6\\x18\\x86\\x07\\xa2\\xbc\\x49\\x72\\x9d\\x72\\x3f\\x85\\xc9\\xe2\\xe3\\xc7\\x1c\\x39\\xf5\\x28\\x4d\\xa7\\x11\\xda\\x9c\\xd8\\x2a\\xc2\\xdc\\x84\\x60\\xfe\\x96\\xc5\\x39\\xf2\\xa1\\x88\\x12\\x99\\x47\\xd0\\x02\\x4d\\x26\\x2b\\xa5\\x46\\x0a\\x79\\x3f\\x94\\xcb\\x8d\\x1a\\xfc\\x48\\x3d\\xc5\\x4b\\x60\\x63\\x95\\x9c\\x30\\x96\\x30\\x17\\xcb\\xc2\\x5a\\x00\\xfc\\x4a\\x7c\\x32\\xe0\\xce\\x7c\\xd6\\x30\\xf0\\x41\\x78\\xd7\\x4c\\x63\\x5a\\xb0\\x5a\\xf8\\xe7\\xda\\x2a\\x97\\x42\\x3f\\x6b\\xef\\x11\\xa0\\xee\\xac\\xaf\\x04\\x79\\x40\\x89\\xf8\\x42\\x4f\\x19\\x37\\x6f\\xe2\\x33\\xb1\\x57\\xe8\\xae\\x40\\x1f\\x5d\\x16\\x5b\\x03\\xbf\\x8c\\x7d\\xf4\\xda\\x4a\\x7a\\x34\\xe2\\x16\\x86\\x07\\xeb\\xb9\\x6e\\x08\\x1e\\x15\\x55\\x8a\\xf8\\xc5\\x30\\x80\\x87\\x6a\\x85\\x52\\xa9\\x51\\x74\\x95\\x23\\x40\\x30\\xf5\\x00\\x39\\xa1\\xf8\\xc4\\xee\\x8d\\xf3\\x5f\\xea\\x66\\x26\\x12\\x12\\x9d\\xaa\\x58\\xb0\\x36\\x08\\xfa\\x85\\xfb\\x8e\\xfe\\x1b\\x20\\x67\\x74\\xfe\\x3e\\x24\\x58\\xd0\\x3d\\x3d\\x86\\x24\\xab\\xf5\\xd3\\xae\\x35\\xf4\\x83\\x71\\xd9\\x62\\xba\\x4b\\xfb\\x57\\xa9\\x90\\xd1\\x0c\\xc5\\x72\\x2a\\x4e\\x0d\\xc8\\x72\\x58\\x23\\x29\\xc8\\x72\\xcc\\x75\\xcb\\x11\\xec\\x31\\x55\\x79\\x52\\x33\\x1d\\x06\\x0d\\x87\\xf7\\xde\\x9e\\x43\\x17\\x7f\\x79\\x64\\xef\\xe4\\x40\\xec\\x7d\\x4c\\xe2\\xd8\\xf1\\x57\\x21\\x6c\\x4d\\xa3\\xfb\\xee\\x8b\\x41\\xd1\\x8f\\x5b\\x8d\\xf6\\xf0\\x64\\x96\\xc4\\x94\\xb1\\xfe\\x33\\x28\\xec\\x0a\\xe8\\x82\\x6e\\x0d\\x85\\xf7\\xae\\x19\\xd1\\x38\\x0f\\xd3\\xb8\\x44\\xe4\\x5b\\x49\\x52\\xff\\xc5\\xbb\\x5d\\x59\\xd3\\xa5\\x0a\\x05\\x72\\x6d\\x41\\x9f\\x78\\xeb\\x9b\\xfb\\xdb\\xa8\\x1d\\xa7\\xbe\\x5a\\x4d\\xb5\\x6d\\xbe\\x63\\x63\\xfd\\x5d\\x93\\x6f\\xdf\\x54\\x3f\\x9f\\x3d\\xff\\xd9\\xd1\\xbf\\x08\\x5f\\x3c\\xfc\\xf7\\x57\\x9f\\x02\\xee\\x4d\\xdb\\xc7\\x7d\\x38\\x6b\\xc9\\xdd\\xe3\\xde\\x9d\\xb7\\xe4\\x6e\\x11\\x86\\x87\\xc1\\xa7\\xf0\\x0c\\x7b\\x00\\xd9\\x37\\x85\\xf8\\x8e\\x99\\x55\\x06\\xf4\\x94\\xbb\\xc0\\x6a\\x75\\x3b\\xbd\\xbc\\x5a\\xaf\\x94\\x15\\x05\\x73\\x35\\x6a\\xa7\\x13\\x9a\\xbc\\xd0\\x0b\\x65\\x19\\xa6\\x43\\x04\\xa8\\xd7\\x49\\x2e\\x39\\x99\\xe1\\x51\\x72\\xbd\\x5b\\x63\\x22\\x6e\\x82\\x98\\x4c\\xce\\xc7\\x9d\\x1a\\xd1\\x3c\\x25\\xf9\\xf9\\x7c\\x3a\\x67\\x4c\\x5e\\x3d\\x80\\x37\\x6a\\x7a\\xed\\x1d\\x69\\x5b\\xb4\\xec\\x4c\\x64\\xe0\\xa7\\xaf\\x3c\\xb3\\x6f\\xd6\\x34\\x30\\xef\\xe0\\x0e\\x6b\\xdf\\xce\\x9d\\x46\\x4d\\xec\\x3f\\x68\\xc4\\x54\\xe6\\xbe\\x92\\xb2\\xcd\\x63\\xf9\\x65\\xec\\x9d\\xe3\\xf7\\x54\\xd1\\xba\\x91\\x83\\xd7\\x3f\\xbf\\x74\\xfe\\xad\\xcb\\x6c\\xb0\\xcb\\x8c\\x19\\x0b\\x96\\x77\\x8a\\x6d\\x1d\\x39\\xa8\\x77\\xd7\\x5b\\x6b\\x56\\x62\\x5c\\xa2\\x88\\xcc\\x5f\\x23\\xde\\x61\\x1f\\x3d\\x18\\xd1\\x2a\\x65\\x32\\xb9\\xdc\\xa4\\x85\\xd0\\xcc\\x2b\\x95\\x0a\\x39\\x3e\\xaf\\x8d\\x94\\x42\\xb4\\x66\\xe2\\xba\\x27\\x64\\x48\\x3d\\x59\\xf0\\xf8\\x6f\\x7f\\xca\\xd1\\xb2\\xe4\\xe9\\x23\\xef\\xef\\x6e\\xa3\\xba\\x9f\\x3a\\x32\\xf9\\xe4\\x84\\x09\\x43\\x06\\xed\\x65\\x4f\\x3f\\x7e\\xdf\\x96\\x23\\xc2\\x36\\xb4\\xf7\\xdc\\x03\\x1b\\x7b\\x0f\\x10\\x69\\xb8\\x10\\xc9\\x4c\\x5f\\xb4\\xae\\x1a\\xb9\\x11\\xa1\\x88\\x41\\xad\\xd7\\xab\\x2c\\x0c\\xb4\\xca\\xe5\\x36\\x15\\x6d\\xb1\\x20\\xeb\\xf3\\x46\\xbd\\x17\\x57\\x7c\\xd2\\xe5\\x00\\x6e\\x1e\\x2a\\x99\\x0a\\x46\\x10\\xb7\\x11\\xa0\\xf9\\xb1\\x4b\\xbd\\x90\\xea\\x3a\\xba\\xe5\\xc0\\xc3\\x77\\x1d\\x15\\x5e\\x6f\\x9e\\x30\\xac\\xfa\\xb7\\x30\\xda\\xfd\\xb3\\x85\\xe5\\xf0\\xcb\\x87\\x96\\xce\\xda\\x6a\\x10\\xc6\\xd0\\x8e\\xda\\x9a\\xae\\xbd\\x84\\x4f\\xf0\\x5e\\x79\\x14\\xe1\\xff\\x03\\xb1\\xe5\\x72\\x22\\x4a\\x0a\\x42\\x9a\\x81\\x32\\x8e\\x93\\xd3\\xd8\\x98\\xa2\\x18\\x86\\x3d\\x44\\x70\\xc7\\x46\\x54\\xd2\\xf7\\x26\\xdb\\x14\\x59\\x4e\\xf4\\x23\\x8f\\xbd\\xf5\\x98\\x70\\xda\\x03\\x3b\\x78\\xd8\\xdc\\xd6\\x13\\x30\\xb2\\x55\\x3c\\xcf\\x16\\x20\\x19\\xed\\x88\\xf4\\xa5\\x85\\x0a\\x44\\x94\\x7a\\x93\\x49\\xa5\\x62\\xad\\xac\\x8d\\xd1\\x89\\x28\\xc9\\x45\\x11\\x0d\\x25\\x87\\xcb\\x90\\x19\\xb6\\x78\\xec\\xa6\\xe4\\x94\\x90\\x7d\\x87\\xcf\\x16\\x1a\\x4c\\x99\\x69\\x9b\\xf6\\xd6\\xcc\\xac\\x2f\\xdf\\x78\\xf1\\x35\\x25\\x3b\\xe6\\xd4\\x78\\xd5\\x68\\x7a\\xc1\\x84\\x85\\xf4\\xe8\\xd8\\x86\\x53\\x2f\\xed\\xdc\\xe8\\x1e\\x96\\x46\\x7b\\x62\\x27\\x2b\\xaa\\x6e\\xa9\\xc1\\xeb\\x9e\\x02\\xdf\\xb3\\x17\\x11\\x2e\\x06\\xaa\\x24\\xa2\\xd4\\x42\\x05\\xcf\\x18\\xf0\\x94\\x47\\x5e\\xd4\\x68\\x2a\\x90\\xb9\\x5f\\xab\\x50\\x00\\xee\\x10\\xa1\\x29\\xd1\\x42\\x55\\x29\\x87\\x89\\x1f\\x06\\xd0\\xb6\\x87\\x21\\xac\\x7f\\xf0\\x1f\\xc6\\x10\\x53\\xf6\\x6f\\x23\\xac\\xbd\\x74\\xa5\\xf3\\x31\\x3b\\xd3\\x17\\xd0\\xe7\\x6c\\x6c\\xc3\\x57\\x6f\\x20\\xed\\xd3\\xf9\\xdc\\x47\\xb1\\x57\\xd1\\xe6\\x7c\\xf5\\xea\\xcb\\xf4\\xcc\\x58\\xff\\x05\\x57\\xe9\\x4a\\xc2\\xd3\\xae\\xe0\\x13\\x68\\x63\\xae\\x50\\x01\\xaa\\x84\\xaa\\x8d\\x78\\x98\\x6c\\x2d\\xd4\\x43\\xbd\\x1b\\xfa\\x2c\\xd6\\x7c\\xa5\\xd2\\xea\\x73\\x33\\x99\\xa1\\xcc\\x0e\\x39\\xac\\x46\\x63\\x31\\x3a\\x0e\\x81\\xec\\x17\\xfd\\xc1\\x20\\x83\\x0b\\x95\\x30\\x41\\x4a\\x08\\x40\\xa1\\x72\\xa9\\xbb\\xa2\\xa1\\xfd\\xcc\\x3e\\xf1\\xe8\\x0d\\xfb\\x93\\x6e\\x9b\\x54\\xfe\\x1c\\x88\\xd7\\x3b\\xd3\\xa6\\x10\\x19\\x41\\xe6\\x8f\\x57\\x20\\x85\\xe9\\x47\\x7a\\xde\\xc2\\x30\\x65\\x53\\xeb\\x1a\\x67\\x3c\\xff\\xca\\xdd\\x9a\\xa1\\x55\\x55\\xaa\\x7d\\xb6\\x6d\\xf7\\xae\\xb9\\x5b\\x57\\xc4\\x95\\xe9\\xed\\x8a\\xec\\x53\\x93\\x07\\x36\\x94\\x15\\x74\\x6c\\x32\\x80\\x7f\\x74\\x2a\\x2a\\x8c\\xf6\\x99\\xd9\\x74\\xf7\\xbd\\x90\\xee\\x65\\x19\\x5e\\x1c\\xb2\\x8c\\x9d\\x38\\x76\\xa2\\x79\\xf8\\xff\\x85\\x0a\\xd9\\x16\\x2d\\x98\\x40\\x57\\x75\\x0e\\x95\\x0d\\xef\\x87\\x70\\x9c\\x86\\x70\\xbc\\x05\\xe1\\x88\\x67\\x8f\\x55\\x47\\xdc\\x16\\x2b\\x93\\x83\\xb1\\x84\\x3e\\xbd\\x3b\\xcb\\xed\\xb3\\x32\\x1d\\x0a\\x94\\xca\\x52\\x2d\\x9b\\x93\\x83\\x50\\x3c\\x86\\x10\\x2b\\x42\\x0a\\x30\\x1b\\xdf\\x3e\\x81\\x80\\xa8\\xfa\\x92\\x28\\xa6\\xce\\x5f\\x25\\xf7\\x2d\\x08\\x0f\\xa9\\x8a\\x9b\\x38\\xa1\\x52\\x88\\x52\\xea\\xff\\xdf\\xa1\\x8a\\x26\\x6e\\x6a\\xb8\\xcc\\x18\\x8a\\x4f\\x1d\\xe3\\x2f\\x63\\x0c\\x2b\\xee\\xa8\\xb9\\x09\\x86\\x2e\\x47\\x1c\\xc5\\xce\\x01\\x84\\x22\\xf3\\x3d\\x42\\xb1\\xb1\\xc7\\xcd\\x50\\x34\\xdb\\x11\\x8e\\xc2\\x43\\x08\\xc7\\x70\\x09\\xc1\\xb1\\x11\\xe9\\xb7\\x29\\xcc\\xcf\\xc8\\x52\\xcf\\xa0\\x7a\\x46\\x4c\\x56\\x97\\x1a\\x6a\\xb5\\x26\\xb3\\x1f\\x79\\x1b\\xba\\x4c\\x5d\\x16\\xa5\\xd2\\x9a\\x91\\x6a\\xcf\\xa5\\xb4\\x08\\xa7\\x34\\xa4\\x1d\\xb2\\x29\\x1b\\x05\\x25\\xa9\\xae\\x8a\\x77\\xaf\\x8a\\x37\\xbc\\x16\\x99\\x97\\xd2\\x90\\xc6\\x1a\\x2a\\x0b\\x87\\x78\\xc8\\xf1\\xfe\\x0e\\xe1\\x40\\xe2\\xf6\\x18\\xb7\\x6c\\x0f\\x95\\x4e\\xae\\x9d\\x38\\xa7\\xfe\\xf1\\xc9\\x7f\\xc9\\x66\\x94\\xd6\\xfd\\xe9\\x35\\x2a\\xd9\\x71\\xe5\\xb6\\x7e\\x4d\\xa5\\x91\\x48\\xf7\\x68\\x90\\x6e\\xe8\\x59\\xb1\\x6e\\xd6\\x72\\x40\\x2f\\x5d\\x55\\xd2\\xef\\x39\\x61\\x50\\xf7\\x91\\x1d\\xcb\\xe5\\x23\\x0e\\x0c\\x19\\xd2\\xbf\\xf1\\xe5\\xba\\xc7\\xb0\\x7d\\xbf\\x00\\x7c\\xca\\xca\\x99\\xab\\x54\\x2e\\x55\\x4a\\x75\\xa1\\x5a\\x22\\x79\\xbc\\x2c\\x9c\\x5d\\x4a\\x77\\xb1\\xb9\\x3d\\xc1\\x6c\\x19\\x6d\\xf3\\xb0\\xc6\\x4a\\x63\\x95\\x5a\\xad\\xe4\\x79\\xa5\\xdf\\xaf\\xb4\\x94\\x95\\xe5\\xe5\\xe6\\x66\\x2a\\x4b\\x58\\x56\\xa7\\x44\\xe2\\x78\\xc0\\xed\\x73\\x54\\x54\\xf8\\x32\\x45\\x79\\x24\\xa2\\x27\\xfe\\x25\\x2a\\x1f\\x62\\x0c\\x8a\\xff\\x4f\\xd8\\x9f\\x29\\x2a\\xfc\\x26\\x77\\xe5\\xc9\\x30\\xb3\\xf5\\xbf\\x84\\x99\\xe9\\x49\\x6c\\xa4\\x72\\x74\\xfe\\xd3\\xc5\\x1b\\x16\\xbc\\xdd\\xad\\x68\\xd5\\xb4\\xc6\\x19\\xc2\\xfd\\x98\\x9f\\x11\\xe5\\x3e\\xdb\\xf6\\xa5\\x2b\\xbb\\x8d\\x5c\\xbe\\x76\\x93\\x9e\\x7e\\xbc\\x65\\xc0\\xb0\\x0e\\x81\\x8e\\x23\\x8c\\xb1\\xab\\x74\\xf7\\x70\\xb7\\xe1\\x7a\\xb8\\x31\\xcb\\xde\\xb7\\x76\\x56\\x87\\x96\\x86\\x47\\x6b\\xfa\\xcf\\x6c\\x12\\x7e\\xae\\x48\\x1f\\xde\\xa1\\xc8\\x32\\x6e\\x42\\x6d\\xed\\xa6\\xe5\\xbd\\x07\\xea\\xbb\\x56\\x74\\x2c\\x8e\\xf6\\xdf\\x1b\\xe8\\xdf\\xf3\\xd6\\xa1\\x88\\xaf\\x75\\x88\\xaf\\x63\\x38\\x0a\\xe9\\xa5\\x0c\\xea\\x96\\x88\\xc1\\xe4\\x54\\x40\\xb5\\xc1\\xa0\\xc7\\xa3\\x96\\x32\\xd3\\x19\\x26\\x4b\\x7f\\x08\\xf8\\xf7\\x23\\x43\\xc1\\xac\\x39\\x86\\xb8\\xeb\\x41\\x92\\x9b\\x47\\xbc\\xb5\\x6c\\x51\\x72\\x31\\x43\\x93\\x76\\x62\\x72\\x63\\x96\\x58\\xdc\\x00\\x3b\\x18\\xe9\\x01\\x3f\\x62\\x2a\\x56\\x5e\\xb4\\x3f\\x54\\x76\\xdd\\x41\\xbb\\x68\\xca\\x9d\\x43\\x1f\\xbe\\xf3\\xa9\\x22\\xa0\\xd7\\x1d\\x62\\x74\\x2f\\x1e\\xef\\x0f\\xe1\\xe0\\xfe\\xfd\\x47\\x95\\xf4\\xef\\xd2\\xb3\\x3a\\x54\\xcc\\xfc\\xbc\\x6c\\xba\\x62\\xb9\\xf0\\xcb\\xa2\\x55\\xd5\\x41\\xf5\\x00\\xf8\\x92\\x30\\x79\\xe9\\xca\\x51\\x47\\x6e\\xa9\\xa9\\xab\\x7f\\xaf\\x77\\xbf\\x7e\\x14\\xf1\\x7b\\x2e\\xc0\\x2d\\x04\\x76\\x3f\\x35\\x34\\xe2\\xb4\\x38\\x55\\x50\\x6b\\x32\\x19\\x8d\\xba\\x74\\x8e\\xcb\\xd0\\xea\\x74\\x99\\x6a\\x95\\x4a\\x41\\x51\\x26\\x85\\xb6\\xab\\x02\\xf8\\x11\\xf0\\x58\\x2c\\xad\\x44\\x2c\\x2d\\x94\\x49\\x3a\\x45\\xd0\\x0f\\x66\\xa6\\xbe\\xfd\\x41\\x96\\x40\\xa4\\x9d\\x90\\x62\\x7d\\x7c\\x13\\x19\\x2d\\x09\\x4f\\x1e\\x30\\x69\\xce\\xd0\\xc7\\xef\\xd8\\x9d\\x0d\\x0d\\xe5\\x2f\\x6f\\xd3\\x31\\xc7\\x15\\xdb\\xfa\\x8e\\xc4\\x22\\x3a\\x1c\\x89\\x68\\x9f\\x8e\\xeb\\xef\\xbc\\x1b\\x70\\xcb\\xef\\x9b\\x06\\x02\\xad\\xab\\x87\\x0e\\x08\\x55\\xca\\x46\\xbc\\x5c\\x3d\\xa4\\x7f\\xd3\\xf1\\x9a\\xc7\\x88\\x8e\\x9c\\x82\\x78\\x90\\x81\\x64\\x14\\x7b\\xc9\\x83\\x22\\x39\\x0e\\x33\\x2f\\xf3\\xd2\\xb4\\x46\\x23\\x33\\xc3\\x74\\x1f\\xe5\\xed\\xc6\\xd7\\xf1\\xb4\\xca\\x0b\\x5a\\xbd\\xc0\\xe9\\xcd\\xf3\\x76\\xf2\\x42\\xde\\xcb\\x7b\\x95\\x6e\\xc3\\x51\\x84\\x0e\\x4b\\x29\\xa5\\x5d\\x46\\x62\\x96\\x8d\\x8d\\x53\\x1b\\xf5\\xa1\\xeb\\x4d\\x89\\xf6\\x53\\x43\\xe2\\xf3\\x0a\\xf9\\x40\\x58\\x12\\x39\\xd0\\x91\\xad\\xaa\\x1c\\x93\\xbf\\xa3\\x64\\xe3\\xbc\\xf5\\xdb\\x6e\\xdb\\x3f\\xf3\\xbe\\xc7\\x75\\x5b\\x91\\x34\\x75\\x8f\\xea\\x61\\x85\\x3d\\x0b\\x4b\\xd3\\x1d\\xf5\\x4f\\xdd\\xbf\\xfe\\xb3\\x19\\x1b\\xef\\xeb\\x3a\\xec\\x1e\\xb3\\xa1\\x7f\\xcf\\xdb\\x86\\x5c\\x07\\x77\\xd7\\x88\\x13\\xc3\\xcc\\xcb\\x1c\\x66\\x33\\xf2\\x3f\\xd3\\x7d\\xb6\\x01\\x7c\\x23\\x4f\\xe3\\x12\\x79\\x02\\x69\\x1e\\x81\\x34\\x3b\\x05\\xd2\\x1b\\xa0\\x4c\\xdd\\x2d\\x24\\xcf\\x51\\x9a\\x03\\xc2\\xc7\\x75\\x77\\xc3\\x4d\\xa1\\x24\\x32\\x9f\\x84\\xf2\\x81\\xcf\\xa6\\x13\\x28\\x4d\\x46\\x22\\xe1\\x24\\xb6\\x01\\x3e\\xa5\\x3f\\x44\\xba\\x2b\\x0b\\x59\\x15\\x46\\x97\\x2e\\x43\\x2e\\xd7\\xa9\\xd3\\x20\\x6b\\x09\\x58\\xb2\\x69\\xce\\x6e\\x35\\x62\\x3a\\x52\\x14\\x27\\xd1\\x31\\x3e\\xe3\\x2d\\xe1\\xdf\\x25\\x09\\x27\\x85\\x81\\xca\\x12\\x23\\x2f\\xc5\\x62\\x42\\x22\\xd4\\x60\\xdc\\x98\\xdb\\x87\\xdd\\xf2\\xf0\\x6d\\xb3\\x1f\\x9c\\x3e\\x1e\\x74\\xea\\xf5\\xe8\\xba\\xa6\\xa5\\x79\\x77\\x17\\x34\\x85\\xbb\\x8d\\xbf\\x4d\\x3f\\x79\\x64\\x69\\x29\\x7d\\xeb\\x6d\\x13\\x7b\\x95\\xdf\\x75\\x6b\\x74\\x9c\\x12\\xe8\\xea\\xc3\\xa3\\xa6\\xf4\\xac\\xeb\\x34\\xb8\\xb0\\xa0\\xa8\\xc3\\x5c\\x6b\\x87\\x60\\x6e\\x29\\x86\\xd3\\x81\\xe0\\x7c\\x09\\xd1\\x33\\x03\\x59\\x5d\\x3a\\xad\\x3c\\x3d\\x5d\\xe9\\x81\\x66\\xd6\\x91\\xe9\\xc8\\x32\\x19\\xac\\x48\\x19\\xed\\x65\\x38\\x8a\\x28\\x22\\x7c\\x29\\x9f\\x32\\x04\\x2e\\xd9\\x46\\x02\\x1f\\x80\\xc9\\x2e\\x44\\x65\\xed\\xba\\x10\\x71\\xa0\\xfb\\xc2\\x8d\\xa6\\xe7\\x6c\\x77\\x74\\xea\\xb6\\xd7\\x38\\x63\\x74\\x45\\xd1\\x24\\xe7\\xe3\\x61\\x00\\xe6\\x3e\\xd0\\xb1\\x29\\x5c\\x5d\\xbb\\x1b\\x7c\\x3a\\x75\\x42\\xda\\xf4\\x70\\xe9\\x84\\x79\\x1d\\xcb\\x73\\xb2\\xc7\\x68\\xfe\\x36\\x76\\x60\\xc7\\xfa\\x52\\x16\\x6a\\xa2\\xdd\\x6e\\x5f\\x28\\xda\\x67\\xa5\\xd4\\x31\\x38\\x03\\x9d\\x73\\xe9\\x54\\x90\\x6a\\x88\\xb8\\x15\\x7e\\x1b\\x74\\xcb\\xe5\\x5e\\x2f\\x03\\x73\\xf5\\x6e\\x3d\\xf4\\x14\\x79\\x8a\\xed\\x36\\x9b\\x1b\\xbb\\x15\\xee\\x63\\xe8\\x1c\\x40\\xc6\\x37\\xa2\\x6c\\x3e\\xa5\\x01\\xb9\\x22\\xe8\\x39\\x22\\xe8\\x71\\xbb\\x31\\xee\\xb7\\x96\\x8b\\x6a\\xb3\\x24\\xbe\\xe9\\x32\\xe3\\xd8\\x20\\x2f\\xfa\\xba\\xae\\x65\\x34\\x3e\\x26\\x34\\xc0\\x18\\xdf\\x7b\\x58\\x95\\x80\\xe6\\x65\\xeb\\x0c\\x27\\xf4\\x53\\xfa\\xd7\\x59\\xcd\\x20\\x3c\\xad\\xcf\\xc4\\xf9\\x43\\x1f\\x99\\x5e\\x3b\\x53\\x0f\\xa0\\x42\\xcd\\xef\\xb7\\xcc\\xf5\\x1e\\x9e\\x32\\xa0\\xa2\\x4f\\x4d\\xc1\\xcc\\x2e\\xb7\\x95\\x1d\\x1b\\x39\\xde\\x3c\\x7c\\xc8\\xb8\\xbb\\x06\\x57\\xad\\x9d\\x76\\x3f\\x80\\x77\\xd5\\xf4\\x30\\xe4\\x86\\xac\\x93\\x62\\xb3\\xb6\\xaf\\x85\\xda\\xda\\xea\\xe6\\x37\\x7b\\xdc\\xd7\\xbc\\x15\\xe3\\x6a\\xa0\\xde\\x05\\x1b\\x98\\x6f\\x48\\x2e\\x44\\x46\\x44\\x89\\xbc\\x40\\x39\\x45\\xcb\\x20\\xcd\\xf1\\x47\\x10\\x66\\x1c\\xf1\\x8f\\x75\\x6f\\x94\\x48\\xbd\\x0e\\xf1\\x65\\x0f\\xef\\x0f\\x63\\x23\\xf0\\x07\\xd7\\x71\\x17\\x18\\xb7\\xf6\\xf8\\xfd\\x60\\xd4\\xfa\\xf5\\xf0\\x9e\\x18\\x4b\\x5f\\xc3\\xbc\\xed\\x8f\\x6c\\xca\\x99\\x48\\x57\\x29\\xa9\\x6e\\x11\\x2b\\x19\\x0e\\xac\\x04\\x0a\\x46\\xa9\\x80\\x2a\\x19\\x71\\x64\\xb1\\x27\\xfb\\x32\\x52\\x52\\x32\\xf4\\xf4\\x84\\x89\\x4b\\x34\\x53\\xe8\\xc6\\x41\\xcf\\x49\\xaf\\x16\\x18\\x69\\xff\\xc2\\x91\\xe5\\xc7\\x5f\\x3f\\x3e\\x15\\x74\\xbe\\x20\\x1c\\xc3\\x4e\\x7e\\x53\\xa9\\x70\\x8e\\xb1\\xc4\\x9e\\x01\\x9d\\x85\\xbf\\x09\\x41\\x1c\\x47\\x44\\x76\\xf5\\x19\\x24\\xff\\x39\\xd4\\xc0\\x88\\x2d\\xe0\\x40\\x16\\x2c\\x1e\\x17\\xc9\\x6a\\xbd\\xb9\\xde\\x3c\\x87\\x43\\xab\\x37\\x19\\x33\\x58\\x2d\\x31\\x6e\\x15\\x6e\\x2c\\x67\\xfb\\x14\\x46\\x23\\xd2\\xfb\\x01\\xd1\\xc8\\x4d\\x3d\\xf2\\xda\\xcd\\x2a\\x96\\x24\\x8f\\xf4\\x8e\\x8f\\x37\\x9e\\x41\\x2e\\x5b\\xe8\\xba\\xae\\x33\\x1c\\xfe\\xe7\\x2e\\x20\\x0b\\xee\\xad\\x6c\\xd0\\x0f\\x3c\\x36\\x58\\x39\\xa4\\x6a\\x84\\xbe\\xf6\\xc4\\x54\\xe7\\x61\\x13\\x2c\\x1d\\xd3\\x73\\xf0\\xad\\xf2\\x4e\\x53\\x7b\\x36\\x8d\\x56\\x34\\x1c\\x1b\\xa4\\xa2\\x99\\xe6\\x96\\x11\\xc2\\x60\\x70\\xa2\\xca\\x37\\x64\\x72\\xa3\\x30\\x94\\xae\\x7f\\xf2\\xee\\x41\\x5d\\x06\\xd7\\x36\\xf5\\x1a\\x3f\\xca\\xd1\\x53\\x48\\x03\\x47\\xba\\x79\\x99\\x21\\x98\\x9e\\x95\\x48\\x16\\x2b\\x89\\x2c\\x56\\x45\\x34\\x16\\x9d\\x4e\\xaf\\xa0\\xf5\\x6e\\xbf\\x3b\\xc3\\x6a\\xd1\\xe3\\x83\\x4a\\x85\\x36\\x53\\x36\\xd2\\xf2\\x46\\x10\\xd8\\x8b\\x68\\x9d\\x2a\\x7a\\xfa\\x76\\x42\\x87\\xa5\\x2d\\x10\\xb6\\x62\\x5b\\x3b\\x15\\x07\\x2d\\x08\\x25\\xc6\\x5c\\x6a\\x00\\xf8\\xa2\\x22\\x6c\\x0f\\x04\\x73\\x55\\x51\\xc3\\xf8\\x9e\\x33\\xb4\\x08\\x78\\xc7\\x01\\x5a\\x4b\\x97\\xcd\\x1d\\x30\\x6e\\x82\\x66\\x9c\\xe1\\xae\\x63\\xea\\xa5\\x30\\x54\\x05\\xfe\\x5a\\x1d\\x18\\x3e\\x63\\x90\\x30\\x04\\x41\\x6d\\xbc\\x63\\x40\\xf7\\x71\\xa3\\x4a\\xab\\x62\\xe7\\xc7\\xdc\\x4e\\xf6\\xce\\x54\\x74\\x56\\x4d\\x42\\xf0\\x92\\x9a\\xba\\x88\\xdc\\x80\\x9c\\x61\\x1b\\x65\\xd7\\xc8\\xb1\\xee\\x31\\x25\\x2c\\x25\\x0c\\x99\\xe4\\xa1\\x9a\\x68\\x51\\xf0\\x49\\x1d\\x76\\x52\\xd8\\xe1\\xa4\\x5f\\x4e\\xae\\xdf\\xfd\\xe3\\xeb\\x5b\\x77\\xbc\\xb9\\xa6\\xa6\\xb1\\x78\\x4d\\xed\\xf0\\x10\\x3c\\xfd\\x85\\xf0\\xe3\\x53\\xeb\\xce\\x03\\xd9\\xa3\\x8f\\xee\\xae\\xff\\x4b\\xff\\x03\\x51\\xb1\\x7e\\x9a\\x1a\\x8a\\xd6\\xf4\\x20\\xbe\\xdb\\x91\\x0f\\xae\\x63\\x74\\x36\\xa4\\xf7\\x9c\\x0e\\x08\\x39\\x74\\xba\\x53\\x1c\\x5e\\xd8\\x48\\xa9\\x13\\x87\\x07\\x31\\x62\\xc4\\x1b\\x42\\x43\\xb9\\xc8\\xd7\\x84\\x02\\x49\\xf6\\xcd\\x41\\x34\\x02\\x9f\\x96\\xf7\\xb1\\x1e\\xea\\x0d\\x4c\\x0f\\x3e\\x79\\xdb\\x8b\\xf7\\xdd\\xfd\\x88\\xfc\\x15\\xf9\\x84\\xde\\x83\\xd2\\x75\\xcc\\xc4\\xbe\\x7d\\xfc\\xbf\\x3f\\xbe\\x76\\xde\\xcf\\xf3\\x57\\xdc\\xa9\\xbb\\x77\\xf4\\xb2\\xe1\\xae\\xa7\\x44\\x38\\xa6\\xc2\\xf1\\x70\\x1c\\x82\\x43\\x4f\\xf9\\x22\\x2a\\x5a\\x2b\\x93\\x8b\\x71\\x6c\\x46\\x75\\x88\\x1c\\x08\\x37\\x09\\x60\\xe3\\x0e\\x32\\x71\\xfa\\xd3\\x0f\\xc9\\xd6\\x0c\\x1b\\x65\\xe5\\xdf\\xb6\\x7d\\xff\\x97\\xad\\x3b\\x78\\x38\\xbe\\x30\\xb0\\xbb\\xa5\\x25\\xe7\\xe0\\x87\\x8f\\xde\\xd7\\x39\\x9b\\x3c\\x3f\\x8a\\xec\\xef\\x01\\x70\\x9c\\xf8\\xfc\\x64\\xec\\x5a\\x0d\\x25\\x27\\xbb\\xdd\\xf3\\xe3\\xc7\\x4a\\x28\\xde\\xfc\\x10\\x0e\\x70\\x7e\\xbf\\xfb\\xc1\\xbf\\xb0\\x6f\\x73\\xab\\xa3\\x8d\\x56\\x19\\x1c\\xf7\\xe2\\xc7\\x3b\\xee\\xf7\\x77\\xc8\\xf7\\x1f\\x6c\\x69\\xc9\\x27\\xbc\\xf3\\x23\\x59\\xc3\\xf0\\xab\\xa8\\x4c\\xaa\\x2e\\x62\\xcf\\x64\\xec\\xd0\\x9d\\x9e\\xee\\xf3\\xb9\\x3d\\x4a\\x8f\\x31\\xcb\\x18\\x50\\x67\\xda\\x1d\\x0e\\xab\\xcf\\x83\\xac\\x8c\\x1c\\x52\\x87\\x90\\x8d\\x3e\\xe8\\x43\\xfb\\x87\\xa7\\xac\\x71\\x13\\x38\\x24\\xed\\xe5\\x50\\xe2\\x16\\x22\\xc5\\x8b\\x49\\xb1\\x8a\\x32\\xe3\\x29\\x15\\xc4\\x76\\x22\\xb7\\x3f\\xc8\\x34\\x46\\xfe\\x2c\\x5d\\xd4\\x6f\\x54\\xa8\\x7f\\x97\\x3e\\xb5\\xf9\\xc2\\xcf\\xc1\\x3b\\xea\\xa6\\xdc\\x39\\xf8\\x91\\x3b\\x9f\\x2e\\xa4\\x69\\x79\\xd7\\x63\\x4f\\xe9\\x15\\x47\\xe5\\x3c\\x33\\x61\\xe4\\x91\\xbe\\x35\\x75\\x23\\x5f\\xef\\xb7\\x91\\xed\\xd1\\x75\\xd9\\xf4\\xfb\\x85\\xab\\x8b\\x57\\x59\\x4a\\x91\\x93\\x3d\\xeb\\xf6\\x1e\\xdc\\x10\\x97\\xc8\\x8b\\xb9\\xe0\\x73\\xba\\x8a\\x7d\\x18\\x59\\xe7\\x9d\\x22\\x16\\x95\\x41\\x6e\\x80\\x90\\xb7\\x40\\xb5\\x5d\\xed\\xb0\\x58\\x28\\x85\\x96\\xe7\\x55\\xb2\\xa3\\x08\\x72\\x53\\xe2\\x06\\x0f\\x81\\xf9\\x86\\x21\\xe5\\xca\\x33\\x71\\xe7\\xd9\\x01\\x5f\\xe3\\x85\\xf0\\x76\\x8f\\x0f\\x65\\x44\\xae\\x16\\x88\\x0c\\x1c\\xa9\\xec\\x39\\xda\\x3e\\xb9\\x71\\xb6\\x6f\\x85\\xf5\\xbe\\x5e\\xb2\\x4e\\x8e\\x22\\x4b\\x29\\xf8\\xbc\\xa6\\xb6\\x63\\x18\\x4c\\xbf\\x77\\xdf\\xbe\\x7b\\x85\\x7b\\xb3\\xac\\xdd\\x14\\x8b\\xf5\\x08\\x96\\x5b\\x91\\xfd\\x70\\x2b\\xd2\\xb1\\x76\\x64\\x3d\\x98\\xe4\\x5a\\x85\\x86\\xb1\\x28\\x90\\xdd\\x69\\x51\\x3a\\x94\\x4e\\x9d\\x4e\\xa3\\xb0\\xe3\\x43\\x84\\x43\\x7b\\x38\\x8f\\xd2\\xe2\\x43\\x44\\xa2\\x64\\xaa\\x1e\\x2a\\x49\\x56\\x43\\x89\\x3b\\x84\\xf8\\xcc\\x48\\x15\\xfb\\x13\\x93\\x4e\\xc0\\x3d\\xb5\\x9c\\x2a\\xb1\\x6d\\xf5\\xd2\\xae\\x1d\\xca\\x7c\\x23\\x8c\\xb0\\xd7\\xa8\\x1a\\x66\\x0c\\x02\\xbb\\x62\\x3b\\x9f\\xbc\\xbb\\x7f\\x8f\\xf1\\xa3\\x3a\\x54\\x81\\x77\\xc4\\xbb\\x3b\\xd8\\x8f\\xe5\\x48\\x6e\\x92\\x4e\\x4e\\x69\\x58\\xca\\xe8\\x34\\xba\\x10\\x0c\\x5a\\x05\\xb4\\x88\\x9e\\xb2\\x78\\x71\\x23\\xb2\\xb2\\xa4\\x7d\\x60\\xbc\\x14\\xbd\\x32\\xa7\\x46\\xa1\\x9b\\xc0\\x86\\x3a\\x4f\\xfd\\xe4\\x41\\xc2\\x68\\xba\\xfb\\xb4\\xbc\\x05\\x7d\\xbb\\xde\\xd6\\x64\\x8e\\x38\\x84\\xee\\xd0\\x3a\\xc8\\x38\\xa9\\xcf\\x2c\\xfd\\xe0\\x37\\x66\\x1a\\x0f\\xd0\\x74\\x78\\x41\\xdd\\xc4\\x16\\x39\\xd3\\x20\\xf2\\x69\\x1a\\xf8\\x94\\xf9\\x0d\\xd1\\x26\\x17\\xe9\\x6c\\xb7\\xda\\xa4\\x31\\x42\\x99\\x33\\xc7\\x67\\x30\\x6a\\x7c\\x4e\\x23\\xd4\\xe6\\x69\\xf3\\x9d\\xce\\x0c\\xb3\\xd9\\xa3\\x61\\x32\\x90\\xa2\\x7e\\xd1\\xa4\\xa0\\x6c\\x46\\x8f\\xe4\\xc4\\x87\\x88\\x79\\x60\\xb8\\x89\\x5b\\x12\\xa7\\x95\\x48\\x25\\x2e\\x41\\x2f\\xdc\\xaf\\x49\\x24\\x58\\xbc\\x4b\\x68\\x19\\xfe\\x77\\x37\\xb0\\x80\\xfb\\xda\\x2b\\x6d\\xbd\\xe2\\x66\\x5a\\x9b\\xbe\\xa3\\x65\\x04\\xd8\\x25\\x44\\x88\\xd6\\x06\\xcf\\xc6\\x76\\x8e\\xa9\\x4c\\x51\\xdb\\xe0\\x4b\\xa1\\x97\\xa8\\xb6\\x11\\x5e\\xdb\\xc1\\xbf\\xe0\\x66\\x84\\x97\\x02\\xdf\\x83\\x40\\x9a\\xe6\\x94\\x72\\x85\\x42\\x25\\xa7\\x8f\\x12\\x56\\x83\\x78\\xa8\\x22\\xf5\\xd6\\x18\\xdf\\x3f\\x58\\xac\\x55\\xd8\\x87\\xa0\\xbe\\x99\\xf5\\x7a\\x91\\x8c\\x0f\\x58\\x7e\\x78\\x07\\xfc\\x8b\\xfe\\x43\\x18\\x1a\\x5e\\x36\\xa2\\x04\\x7c\\x82\\x9e\\xeb\\x01\\x9f\\xc1\\xa1\\xcc\\x2f\\x94\\x0f\\xeb\\x3a\\x56\\xab\\xa2\\x6c\\x66\\x0f\\xef\\x4f\\xb7\\x51\\x2a\\x15\\x34\\x20\\x3d\\xb3\\xdf\\x29\\x93\\x79\\x61\\xc2\\x8d\\xab\\x12\\xdd\\x15\\x29\\x0c\\x97\\xe8\\x81\\x98\\x62\\xe0\\x91\\x78\\xaa\\x45\\x0a\\xa7\\x82\\x37\\x2a\\x66\\xf7\\x1c\\x3d\\xa0\\x77\\x59\\xb9\\x3f\\xdb\\x12\\xac\\x28\\xdd\\xbe\\x66\\xce\\xaa\\x5b\\xe7\\x3a\\x5c\\xdd\\x3b\\xf5\\xd4\\x36\\x8e\\x5b\\x41\\x2f\\xa8\\x1d\\x18\\x7a\\x24\\xe4\\xb3\\x77\\x18\\x34\\xb7\\x74\\xde\\xfa\\x99\\x23\\x07\\xde\\xdf\\xd0\\xa1\\x02\\xbd\\x23\\xda\\x4d\\x99\\xd4\\x4b\\x70\\x06\\x1b\\x43\\x9b\\x2a\\x8b\\xea\\x18\\x31\\xdb\\xf4\\x7a\\x43\\x86\\x47\\x6e\\x90\\x73\\x3e\\x06\\x06\\x60\\xb6\\xd6\\x4c\\xa9\\x90\\x85\\x9c\\x43\\x39\\x29\\x95\\xa8\\x2e\\x74\\xaf\\x97\\xbc\\x9e\\x32\\xe3\\x37\\xe5\\x62\\x2d\\x91\\x24\\xe0\\x47\\xe7\\x94\\x03\\xb0\\xe9\\x3c\\x8c\\x0f\\x96\\xf0\\x93\\xda\\x31\\xba\\x71\\xfe\\xa6\\x96\\xe1\\x75\\x0d\\x2f\\x6d\\x9d\\xdb\\xc0\\x28\\x4a\\x8f\\x2f\\x98\\x0f\\x0a\\x96\\xfb\\x47\\xfb\\xeb\\x33\\xa3\\x63\\xc7\\x45\\x9d\\xaf\\x87\\xd9\\xd8\\xc2\\xb1\\xe3\\xd7\\x1a\\xac\\x77\\xd5\\x3d\\x7a\\xa8\\x5b\\x1f\\xe1\\x3b\\x7a\\x2b\\xbd\\x6d\\xdd\\xf1\\xd8\\x25\\xa7\\x77\\xc2\\xc8\\x5e\\x43\\x56\\x59\\x1f\\x29\\xae\\xc4\\x7c\\x5a\\x8b\\x74\\xde\\x4a\\xc4\\x27\\x2d\\x55\\x16\\x31\\x2b\\xb4\\x2c\\xa0\\x54\\x6a\\x8a\\x55\\x43\\x1d\\x32\\x57\\xf4\\x2c\\xab\\x96\\x51\\xd8\\x0e\\x52\\xe3\\x73\\xb5\\xaa\\x44\\x12\\xb4\\xa4\\x91\\x22\\x76\\xfc\\x46\\xb0\\x62\\xf1\\x02\\xc8\\x65\\x2a\\x0b\\xaf\\x7d\\xbd\\x14\\xca\\x6d\\x25\\x9f\\xbd\\x2b\\xdc\\xde\\x54\\x7a\\xb2\\xa4\\x3f\\xda\\x7f\\x13\\xcd\\x1b\\xc2\\x03\\x26\\x82\\x13\\xb1\\xbc\\x1d\\xbb\\x36\\x6d\\x12\\x69\\x35\\x09\\xf1\\xf1\\x11\\x64\\x27\\xa9\\x90\\xbb\\xd6\\x33\\xe2\\x74\\x70\\xd0\\xa9\\xb0\\x41\\x83\\xc6\\x69\\x73\\x1a\\xa0\\x3b\\xcd\\xed\\xe5\\x1c\\x0e\\xb3\\x0b\\x69\\x09\\xd7\\x51\\x64\\x2d\\x51\\xc8\\xc2\\x94\\x4e\\xce\\x90\\xde\\xd0\\x3e\\xde\\xa4\\x4f\\x4a\\x3b\\xde\\x97\\xa4\\x92\\x09\\x04\\xac\\x89\\x8b\\x54\\x5d\\x66\\x20\\xec\\xe3\\xc1\\x89\\xc6\\xc9\\x79\\x25\\x63\\x9b\\xcb\\x07\\x02\\xc5\\xf8\\xe7\\x7b\\x77\\xfc\\xe6\\xa5\\x07\\xf6\\x82\\x25\\x3b\\xed\\x74\\x85\\x91\\x1e\\xb7\\xfe\\xae\\x5e\\xd3\\x2a\\xb2\\x07\\xcd\\x8e\\x0e\\x6b\\x80\\x46\\xee\\xc2\\xa8\\x75\\xd5\\x07\\xde\\x7f\\x66\\x05\\xe8\\x32\\xfe\\xd3\\x3b\\xee\\x45\\xb0\\x8e\\x47\\x34\\xba\\x88\\x64\\xce\\x86\\xa4\\xae\\x36\\x62\\x75\\x73\\x2e\\x5e\\x6e\\x91\\xb9\\xac\\x56\\x5e\\x66\\x54\\x79\\x91\\x65\\x07\\xa1\\x3f\\x5d\\xfb\\x32\\x3a\\x0e\\x64\\x88\\x4e\\x76\\xec\\x35\\xef\\x77\\x5b\\x2c\\x9c\\x3c\\x29\\x86\\x25\\x55\\x37\\xf4\\xeb\\x2d\\xd7\\x27\\x8b\\xd6\\x68\\x69\\xf4\\x5f\\x87\\xb2\\x30\\x4f\\x0e\\x09\\xab\\xd1\\x60\\xc5\\x36\\x0a\\xc9\\xbc\\xfc\\xad\\x65\\xc9\\xbf\\x3f\\x28\\xdb\\x56\\x3a\\x7f\\xf3\\xa9\\x23\\x8a\\x21\\xb7\\x47\\xba\\xf4\\x2e\\xfd\\x5b\\x76\\xb1\\xbe\\xd7\\xec\\x79\\xcc\\xd5\\x07\\x16\\x5e\\x15\\x2e\\xd3\\xc2\\x97\\xc0\\xcd\\xed\\x5a\\xfb\\xd6\\xe5\\xb4\\x05\\xe6\\x57\\x97\\x0f\\x1a\\xc5\\x82\\x39\\xc0\\x35\\xb7\\x6f\\x54\\x58\\xae\\x7a\\x75\\xcf\\x63\\x62\\x6d\\xc7\\x71\\xb8\\x01\\xf9\\x1c\\xb8\\x1f\\xb9\\x59\\x6d\\x60\\x91\\x4d\\x6a\\xc3\\x3c\\x76\\xe9\\x9d\\x2c\\x2b\\x53\\xab\\xf5\\xe4\\x38\\x50\\x51\\x7a\\x90\\xb3\\xd7\\x66\\xa1\\xc8\\x89\\x4d\\x0c\\xa9\\xa4\\x7e\\xc1\\x86\\x60\\x79\\xb9\\xe8\\xf6\\x7b\\x68\\x6b\\x15\\x8d\\xac\\x52\\x3f\\xd2\\x29\\xd0\\x0f\\x02\\x38\\x22\\xc6\\x87\\xcb\\x80\\x37\\x23\\x5c\\x10\\xc8\\x57\\x15\\xde\\xff\\x9e\\xb0\\xe3\\x2f\\xc7\\xee\\xb0\\xe7\\x9f\\x79\\x1f\\x6c\\x29\\x76\\xe7\\x65\\xb8\\x5d\\xb2\\x30\\x73\\xd5\\x50\\x7a\\xdb\\x6e\\xdb\\xa0\\xcf\\x05\\x47\\xec\\x04\\x38\\x18\\x1c\\x20\\x9c\\xa4\\x6f\\x79\\x6e\\x42\\x1f\\xe5\\x72\\x23\\xc9\\x21\\x78\\xaf\\x6d\\x36\\x18\\x04\\xd7\\xe8\\x78\\x18\\xa0\\x0a\\x62\\x6b\\xc8\\x7b\\x5f\\xb6\\xcd\\xa6\\xb3\\xe8\\x45\\x3a\\x9e\\x9e\\xd9\\xf6\\x88\\xf4\\xde\\xd5\\xb6\\x89\\xf4\\x55\\x7a\\xba\\x8e\\x67\\x67\\xb7\\xad\\x17\\xdf\\xa3\\x0a\\xdb\\x66\\xc3\\x6c\\x7a\\x1a\\x7a\\x6f\\x6e\\xdb\\xca\\xd8\\x6a\\xf2\\xb9\\x03\\x42\\x7f\\xc8\\xc2\\xd5\\xe8\\xbd\\xf9\\x6d\\xeb\\x62\\xf7\\x93\\xcf\\xa5\\xa1\\xf7\\x1c\\xe4\\xbb\\x0b\\xda\\xee\\xc7\\xdf\\xa5\\xe8\\xb6\\x1f\\x85\\x16\\xc8\\xd0\\x73\\x29\\x17\\xbe\\xbd\\x8c\\x58\\xb4\\x9a\\x4c\\x8e\\xb3\\x78\\x29\\x0d\\x95\\x63\\xb1\\x64\\x73\\xd0\\xed\\x76\\x68\\xd3\\x1d\\x38\\x51\\x15\\x4b\\xde\\xc9\\xeb\\x6c\\x63\\x6c\\xc2\\x91\\x1e\\x30\\x26\\x8f\\x98\\x43\\xe2\\x2f\\xa4\\x93\\xae\\x0c\\x11\\x4a\\xd1\\x81\\x84\\xcc\\x17\\xfb\\x06\\xcc\\x73\\x15\\xde\\x31\\xb7\\x66\\x78\\xce\\xf3\\xac\\xb3\\x63\\xf9\\x9e\\x87\\x17\\x7c\\xbc\\x6a\\xc3\\x13\\x42\\xf3\\xe8\\x99\\x0f\\x8c\\x9e\\x5e\\x0b\\x86\\xbf\\xdd\\xd6\\xb9\\x28\\x3a\\xc8\\xef\\xef\\x37\\xc8\\xae\\x61\\x0f\\x7c\\xb6\\x03\\x38\\xd7\\x6c\\x12\\x8a\\xb7\\x3e\\xbd\\x79\\xcf\\xa3\\x35\\xfd\\x48\\x9e\\x05\\xc5\\x08\\x03\\xe0\\x12\\xfa\\x1e\\x04\\xff\\xa2\\xb6\\xc7\\x62\\x6b\\x09\\x9e\\x23\\xd0\\x7b\\x0e\\xfa\\x6e\\xf4\\xde\\xe2\\xb6\\xa5\\x22\\x4e\\xd4\\xb4\\xb6\\x4b\\xbc\\x86\\xa9\\x46\\xbe\\x40\\x31\\xb5\\x24\\x52\\x9d\\x1b\\xf0\\x79\\x68\\x8b\\xd9\\x6c\\x37\\x18\\x68\\x59\\x80\\x41\\x16\\x3d\\x55\\x17\\x55\\x2b\\x7d\\x19\\xc5\\x64\\xb6\\x65\\x71\\x5a\\x31\\xad\\x66\\x8b\\x8b\\x95\\x19\\x19\\x85\\x75\\xd1\\x0c\\x5d\\x1a\\xee\\x04\\x51\\x1b\\xd5\\x5a\\x06\\xf3\\xa3\\x79\\x9a\\xe2\\x75\\xbc\\x97\\x87\\x72\\x86\\x57\\x26\\x46\\x99\\x8a\\x33\\x2d\\x1b\\xc5\\xf2\\xcb\\x50\\x4a\\x52\\x69\\x9e\\xa1\\x3c\\x39\\xf7\\x2b\\x94\\x4c\\xd3\\x48\\xbd\\x9b\\x08\\x70\\xbe\\x76\\x05\\xc1\\xb8\\xa4\\x89\\x4f\\xde\\x56\\x88\\x97\\x15\\x4c\\x45\\x62\\xb4\\xe9\\x67\\x4d\\xf7\\x08\\x97\\x4f\\x7e\\xa0\\xbe\\x0b\\xd8\\x5b\\xb4\\x8f\\x8f\\x98\\xea\\xba\\x13\\xd8\\x55\\xc5\\x2d\\xfd\\x5e\\x7a\\xfb\\xc6\\x29\\xa7\\xf7\\xdc\\x73\\x74\\x77\\xb8\\x27\\x3d\\x21\\x76\\xb6\\xa6\\xcb\\x2b\\x2b\\x1e\\xa4\\x9b\\x8b\\xd3\\xfd\\x1f\\xbf\\xd6\\x6e\\xd6\\xa9\\xbf\\xed\\x12\\xb3\\x93\\x3d\\x43\\x85\\xa8\\x6e\\xd4\\xba\\xc8\\x80\\x34\\xb3\\xd7\\xa0\\x2a\\x2f\\x2a\\x4c\\x67\\x7d\\x7a\\x9f\\xd7\\xab\\x33\\x44\\x18\\x83\\x23\\x9b\\x61\\x7a\\x74\\x2f\\x2e\\x36\\x04\\x02\\x5e\\x87\\xc3\\xab\\x54\\xa9\\x0c\\x1e\\x8f\\x37\\x2d\\x8d\\xf2\\xe6\\x17\\xa6\\x63\\x12\\xa5\\x1b\\xcc\\x66\\x8b\\xd7\\x9b\\x3e\\x30\\xea\\x05\\x54\\x87\\x9a\\x28\\xa5\\x93\\x75\\xae\\x89\\xca\\xda\\xb5\\xea\\xa6\\x42\\x38\\x6f\\x2f\\x65\\x5e\\x82\\x74\\xfd\\x94\\xb8\\x4b\\x4c\\xed\\x0b\\x4b\\xb2\\xd0\\xcb\\xdb\\xdd\\xa9\\x65\\x21\\xc3\\x10\\xf2\\x3e\\x44\\x9d\\x40\\x3a\\xbe\\x5d\\xa3\\x43\\x56\\xa4\\xc9\\x3a\\xe1\\x63\\x3d\\xa4\\xa1\\xc9\\xa5\\x22\\xf2\\x5e\\xf8\\x74\\xa9\\x78\\xb3\\x0c\\xd7\\x6e\\xc2\\x61\\x4f\\xec\\x9d\\xf7\\xe5\\xee\\xf9\\x8f\\x79\\x69\\xdc\\xc4\\x11\\x08\\x97\\x65\\x39\\x6f\\x29\\x32\\x8a\\x6d\\xf3\\x3c\\x95\\x4d\\x3d\\x8c\\x5a\\x60\\x47\\xc2\\x9d\\x1f\\x34\\xde\\x65\\xaf\\x6a\\xee\\xa5\\x63\\x0b\\x18\\xa6\\xea\\x90\\x72\\xe0\\xcc\\xba\\xa2\\x89\\xcd\\x63\\xa6\\xf5\\xef\\xcd\\x54\\xbf\\xfc\\x94\\xe6\\x25\\x61\\xf1\\xc1\\xf1\\x4d\\x8e\\x4e\\x1d\\x90\\x05\\xfc\\x06\\x23\\x03\\xf9\\xdd\\x6f\\xbf\\xb5\\x82\\x1e\\x70\\xb8\\xa2\\xc3\\xe8\\xf1\\x9d\\xc1\\x77\\x4d\\xcd\\xaf\\xf5\\x5a\\xfb\\xb7\\x9a\\x49\\x73\\xe6\\x83\\xbc\\x51\\x13\\x6e\\x17\\xf5\\x39\\xee\\xe7\\xfe\\x11\\xa2\\x69\\x90\\xea\\x42\\x6d\\x8a\\x0c\\xf2\\x64\\xbb\\xf3\\x9c\\x7a\\x4d\\x69\\x90\\xcd\\x77\\xb9\\xdc\\xee\\xfc\\xbc\\xce\\x68\\x4b\\xe5\\x41\\x7f\\xa5\\xbf\\x2a\\x3d\\xdd\\x65\\xb1\\xb8\\x34\\x6a\\x35\\x32\\xba\\xf3\\x1d\\x0e\\x97\\xd3\\xa9\\x70\\xe1\\x41\\xaa\\x69\\x1e\\x97\\xbe\\x36\\x6a\\x70\\xb9\\x3c\\x03\\xa3\\x2e\\xa0\\xe8\\x58\\x13\\x55\\xe8\\x60\\x11\\xce\\x4a\\xcd\\x0f\\xd6\\x45\\xf3\\xcd\\x29\\x94\\x95\\xa8\\x2b\\xa5\\x2e\\x53\\x09\\xd2\\xa6\\x50\\xb7\\x7d\\xba\\x4b\\x82\\xb8\\x99\\xd7\\x77\\x47\\x0f\\xa7\\x92\\x36\\x24\\x52\\x36\\x0f\\xa7\\xe3\\xfb\\x90\\x2e\\x0e\\xa4\\xf6\\x4a\\xff\\x7f\\xac\\xbd\\x09\\x80\\x54\\xc5\\xd1\\x00\\xfc\\xfa\\x9d\\x73\\xdf\\xf7\\x3d\\x3b\\xd7\\xee\\xce\\xce\\x5e\\xb3\\xbb\\xc3\\xc2\\xc2\\x0e\\x2c\\xf7\\xb5\\xcb\\x02\\xc2\\x08\\x88\\x82\\x0a\\x02\\x1e\\x88\\xa2\\x1c\\x8a\\x8a\\x37\\x9e\\xa8\\x78\\x25\\x2a\\x78\\xc5\\x0b\\x10\\x47\\x9d\\x10\\x23\\x84\\x18\\x45\\xc5\\xa8\\xf1\\xd3\\x44\\x63\\xd4\\x18\\x51\\x63\\x34\\x98\\x90\\x2f\\x31\\x02\\x6f\\xfe\\xee\\x7e\\xc7\\xbc\\x37\\xb3\\xa0\\xdf\\xff\\xff\\x2a\\x2b\\x4a\\x1d\\xdd\\xd5\\x55\\xd5\\x55\\xd5\\xdd\\xf5\\xc8\\x6f\\x26\\x3c\\xbc\\xe6\\x9e\\xa2\\xd4\\x28\\xdd\\x96\\x36\\x4a\\x52\\x75\\x59\\xa0\\xd5\\xeb\\x24\\xa1\\xda\\x9f\\x72\\x68\\xf9\\x2f\\xb4\\xec\\xdf\\xe5\\xbe\\xe9\\x0f\\x2c\\x98\\x7b\\xe0\\x09\\xa1\\x6b\\x7a\\x74\\xe9\\xbb\\xa4\\x4a\\x9c\\x47\\xcf\\x39\\xef\\xa2\\xf0\\xe2\\x90\\x41\\xd9\\x3d\\x1d\\xf9\\xeb\\x27\\x09\\x82\\x9a\\x0d\\xe5\\x99\\x21\\x6e\\xc9\\x0f\\x18\\x00\\x91\\xa6\\x1b\\x8d\\x41\\x9f\\xd7\\x4c\\x9b\\x1a\\x43\\x21\\xb8\\x2d\\xfa\\xb9\\x26\\x3a\\xe6\\x88\\xb5\\x38\\x9a\\x59\\x36\\xe0\\x70\\x04\\x3c\\x1e\\x53\\xc0\\x6b\\x1e\\x2c\\x78\\x2d\\xf0\\x97\\xd7\\x14\\x00\\x86\\xc1\\x02\\x05\\x40\\xc0\\xe4\\x8c\\xc6\\xfb\\x0b\\xd1\\xd4\\x8c\\x42\\x14\\x10\\xfe\\x80\\xbf\\xbf\\x90\\x0e\\x98\\xe5\\x0b\\x67\\x69\\xd5\\x77\\x55\\x3d\\x2d\\x69\\xb5\\x38\\x2b\\xdf\\xf7\\x10\\x37\\x7d\\x21\\x8f\\xa1\\x24\\x15\\xc4\\x1f\\x27\\x95\\x05\\x88\\xd3\\x04\\x5c\\x02\\x17\\x2e\\x48\\xc0\\xdc\\x9a\\x23\\x2d\\xd3\\x18\\x5a\\x92\\x8c\\xad\\x8f\\xff\\x72\\x6e\\x45\\x6a\\xc3\\xee\\x4b\\xdc\\xe7\\x0a\\xfd\\xf2\\xc9\\x49\\x83\\x71\\x7d\\xde\\xd9\\xd7\\x63\\xb4\\xbc\\x9b\\xa0\\xd6\\xf3\\x17\\x61\\xb9\\xf0\\x8f\\x82\\x97\\x45\\x49\\x81\\xe0\\x8b\\x2b\\xef\\xbd\\xda\\xfa\\x2c\\xa9\\xc9\\x8f\\x9e\\xfd\\x22\\x41\\x95\\x6f\\x20\\x08\\xee\\x06\\x7a\\x1a\\xd1\\x4e\\x8c\\x22\\x26\\x10\\x5f\\xe4\\x2f\\xee\\xf3\\xc5\\xd2\\x91\\xa6\\xee\\xe6\\x9e\\x8c\\xaf\\xcd\\xc0\\x98\\x69\\x7b\\x2f\\x49\\x51\\x16\\x8b\\xd9\\x4c\\xd1\\x6d\\xed\\x4d\\x99\\x9e\\x08\\xdd\\x9e\\x89\\xd0\\x29\\x6d\\x6a\\x92\\x76\\xa2\\xcf\\x67\\x4e\\x26\\xcd\\x5a\\x2d\\x6d\\x76\\xd8\\x0d\\xcc\\x60\\xc1\\x60\\xa0\\xcd\\xbd\\xe4\\x60\\xa1\\xb7\\x97\\x36\\x8f\\x86\\x4e\\x71\\xf4\\x68\\xda\\x9c\\x6b\\x1d\\x2c\\xe4\\x72\\xb4\\xb9\\x1b\\x5a\\x7a\\x77\\x37\\x6d\\x8e\\xa5\\x07\\x0b\\xb1\\x98\\xb9\\x3d\\x43\\x3b\\xb3\\xe3\\x82\\x6e\\xcb\\x38\\xbb\\xd9\\x3e\\xa3\\x60\\x96\\xef\\xe6\\x0a\\xa5\\x93\\x4a\\xf3\\xe4\\x13\\xff\\x4b\\xe5\\x0d\\x64\\x19\\xb7\\xb5\\x4a\\x3b\\x8a\\x42\\x61\\x85\\xd8\\x46\\xf8\\x1d\\x48\\xa6\\xa0\\xb4\\x4d\\x00\\x95\\xd9\\x73\\xe8\\x9b\\x4d\\x35\\x7d\\x7f\\x59\\xe8\\x43\\x51\\x17\\x3e\\x98\\xa7\\x45\\xed\\x08\\x1a\\xa0\\x45\\x70\\xb9\\x73\\xa8\\x2c\\xc3\\xb8\\xdc\\xc2\\x56\\x44\\xfe\\x7b\\xff\\xe6\\x85\\xfc\\xe7\\x8b\\x9a\\xc7\\x1a\\xd6\\xf9\\x6e\\x3a\\xbf\\xd9\\xc5\\x56\\xb7\\x00\\xd6\\xa4\\x72\\x9d\\xc6\\xb5\\xa1\\x4b\\x57\\x6a\\xfb\\xf8\\xbf\\x8e\\x5f\\x7d\\xb0\\x1f\\x46\\x8f\\xd7\\xcd\\xbb\\xda\\xc7\\xfd\\x79\\x9d\\xcd\\x46\\x1d\\xf5\\x6d\\x7c\\xd7\\x75\\xe9\\xe0\\xa5\\x60\\x77\\xd0\\xc4\\xfb\\xc1\\x7f\\xc8\\x91\\xdd\\xd7\\xdf\\xce\\xfc\\xf5\\x8a\\x8c\\xe2\\xd6\\x6a\\x70\\xfc\\x4b\\xe4\\xb0\\xee\\x07\\x2e\\xa7\\xe0\\x32\\x2e\\x35\\x44\\xf8\\x15\\xd4\\xfa\\x7b\\x36\\xc6\\x03\\xba\\x53\\xd0\\x45\\xd6\\xaf\\xcd\\x91\\xf3\\x5b\\xd7\\x5c\\x26\\xf4\\x26\\xbb\\x93\\x20\\x98\\x09\\x70\\x2d\\xd1\\xb9\\x4d\\x29\\x7f\\x5a\\xa4\\x21\\xd8\\xd8\\x0c\\xda\\x08\\xce\\xcc\\xda\\x5c\\x69\\x9a\\x62\\xec\\x76\\x9b\\x8d\\x61\\x1b\\x89\\xb6\\x20\\x4b\\x04\\xa9\\x84\\x21\\x91\\x33\\x74\\xb9\\x5d\\x06\\x03\\x6b\\x33\\x6b\\x06\\x0b\\x66\\x0e\\xfe\\x82\\xa0\\x69\\x7a\\xb0\\x90\\x4e\\xdb\\xe2\\x71\\xd6\\xd6\\x0c\\x06\\x0b\\xcd\\xcd\\xac\\x2d\\xd2\\x30\\x58\\x80\\xde\\xdc\\x46\\xb0\\x4e\\x5f\\x76\\xa0\\xe0\\xb3\\xd8\\x5c\\x33\\x0a\\x36\\x73\\xc5\\x8b\\x64\\x95\\x7a\\x2f\\xab\\x7d\\xb5\\x21\\x64\\xab\\x3e\\x72\\xa3\\x5c\\x1c\\x39\\x86\\x43\\x17\\x0f\\x53\\x92\\x29\\xd8\\x46\\x80\\x9c\\xb2\\x2b\\x33\\xee\\x69\\x8f\\xed\\x05\\x40\\x7b\\x01\\x21\\xe0\\xce\\x89\\x0b\\xf1\\xe9\\xa4\\x65\\x07\\x4e\\x39\\x99\\xff\\x7c\\xb1\\x31\\x93\\x31\\xae\\xcb\\xbe\\xc7\\xc6\\x2c\\x2e\\x60\\xb0\\x33\\xd4\\xd4\\x67\\x2f\\xb8\\xeb\\x1e\\x43\\x92\\x4b\\xb7\\x19\\xd7\\x87\\xd6\\x2f\\xb2\\x8e\\x3e\\xf6\\xe2\\x49\\xfb\\xd6\\x99\\x7c\\x77\\x2d\\x7c\\x14\\x9c\\xeb\\xc8\\xba\\xf9\\x2c\\x38\\x02\\x86\\x8d\\x00\\xbe\\x9d\\xfd\\x77\\x69\\xb7\\xf8\\x96\\x9f\\xb6\\xf9\\x7a\\xf7\\xc2\\x5f\\x67\\xf3\\xb7\\x5f\\xcd\\xef\\x20\\xcf\\xf3\\xe5\\xec\\x13\\xd6\\x37\\x5c\\x7e\\x3b\\x96\\xaf\\x86\\x9f\\x43\\x6f\\x85\\x71\\x40\\x0b\\xb4\\x95\\x87\\xf2\\x27\\xd7\\x87\\xd2\\xc1\\xce\\x16\\xa3\\xc5\\xcf\\x04\\x9a\\x9a\\xd2\\x69\\x17\\x1b\\x08\\x42\\xcf\\x1c\\xcc\\xc7\\x62\\xbd\\x44\\x0b\\xfa\\xee\\x69\\xda\\xe9\\xd4\\xc5\\x62\\xba\\x54\\x2a\\xa8\\xab\\x0f\\x0f\\x16\\xea\\xeb\\x83\\x3a\\x9f\\xdf\\xe6\\x87\\xce\\x04\\xb9\\x62\\x4b\\x1a\\xba\\xe2\\xb4\\x19\\x3b\\x67\\x57\\xd0\\x32\\x50\\x08\\xda\\xe0\\xaf\\x50\\x7f\\x21\\x88\\x3f\\x12\\xa4\\x72\\xd0\\xb2\\xa2\\xab\\x7d\\x8a\\xb2\\x3a\\x22\\xf6\\xb8\\x56\\x6f\\x7f\\x8a\\xc2\\x08\\xdc\\x00\\x59\\xca\\x25\\x7a\\xe5\\x58\\x8a\\x8b\\xe6\\x62\\xb2\\xb3\\xe9\\x05\\x48\\xc4\\x6e\\xd5\\xe6\\x07\\xbe\\x99\\xf4\\xb3\\xf3\\xe5\\xfd\\x8f\\xeb\\x31\\xc8\\xae\\xc7\\x6b\\xe6\\xbf\\x4c\\x70\\xc8\\xf5\\x44\\x86\\x17\\xc6\\xba\\x9e\\x76\\xd8\\x81\\xdd\\xa8\\x3b\\x24\\x6c\\x7c\\x4b\\x56\\xf7\\x4d\\xa3\\x6e\\x5d\\x72\\xd2\\x2f\\x1f\\x7e\\x0d\\xef\\x7c\\x3d\\xfc\\x01\\x80\\x9d\\x10\\x39\\xb8\\xa7\\xa9\\x6f\\xd5\\x82\\x61\\x24\\x75\\xfb\\x39\\x9b\\xf4\\x67\\xb7\\xb1\\xc2\\xbe\\x77\\x05\\xf0\\x9d\\xbd\\x6c\\xb9\\xd0\\xe7\\xe0\\x5a\\xe8\\xa7\\xd7\\xe2\\x38\\x0b\\x46\\x12\\x41\\x7b\\xc4\\x16\\x63\\x2d\\x94\\x35\\x1a\\x8d\\x58\\x23\\x36\\xbd\\xad\\xc1\\xd3\\x90\\xf6\\x34\\xc6\\x63\\x3a\\x5d\\xc4\\xe3\\x89\\x04\\x02\\xb6\\x48\\xd0\\x3e\\x58\\x08\\x3a\\xe0\\x2f\\x98\\xe1\\x40\\x25\\x35\\x5b\\x38\\xe8\\xb0\\x39\\x2e\\x62\\x73\\xa6\\x88\\x81\\x42\\x8a\\x84\\xbf\\x2c\\x91\\xd8\\x40\\x21\\x22\\x69\\xaa\\xfc\\x3c\\xa2\\xe2\\x36\\xaa\\xbc\\xb4\\xa4\\xa2\\xdd\\xdd\\xd5\\x91\\x84\\xd0\\xa3\\xd9\\x2d\\xc9\\x4f\\xe9\\xac\\x6d\\x50\\x45\\x45\\x0d\\x75\\x53\\x53\\xc7\\x65\\xd6\\xdd\\x99\\xe2\\x7c\\x92\\xb4\\x62\\x79\\xfe\\x8b\\x59\\xac\\x2c\\xad\\xe1\\x7e\\x1a\\x18\\x9c\\x5a\\x7a\\xd2\\x4d\\xf3\\x5b\\x86\\x51\\xb3\\xcd\\x3b\\x9e\\x89\\x50\\x58\\x3e\\x14\\x5f\\x02\\xcf\\x00\\x2c\\x22\\x0a\\x34\\x6f\\x8b\\x6c\\xed\\xb9\\x7a\\xb9\\xa9\\x22\\x97\\x73\\xf0\\xdd\\xe7\\xcb\\xf2\\xa3\\x59\\x0b\\x63\\x0d\\xda\\x6d\\x4c\\x28\\x64\\x85\\x42\\x89\\x79\\x3c\\xf1\\x58\\x82\\x20\\xa2\\x3a\\x5d\\xd4\\xe3\\x89\\x42\\xa9\\x44\\x2b\\x52\\x89\\x42\\xa9\\x44\\x25\\xa9\\x44\\x6d\\xce\\x28\\x94\\x48\\xd4\\xa2\\x78\\x25\\x72\\x5c\\x31\\xc8\\xbe\\x54\\x94\\x43\\x25\\xc3\\x3a\\x81\\x18\\x72\\xf8\\xc0\\x8f\\x1a\\x9d\\x9d\\xb9\\xea\\xd2\\x80\\xd3\\x2f\\x09\\x20\\xde\\xcb\\x7f\\x31\\xbb\\xa2\\x2e\\x6c\\xc7\\x7f\\xbe\\x38\\x67\\x26\\x35\\xcd\\x7d\\xd5\\xe6\\xe5\\xb5\\x33\\x0f\\x00\\xee\\xcf\\x28\\xe9\\x23\\x38\\x18\\x57\\xce\\xa7\\xa7\\x40\\x4f\\xb6\\x2a\\xdf\\x03\\xf3\\x21\\xd6\\x48\\xd4\\x07\\xd8\\x40\\x1d\\x41\\xb7\\xbb\\xdb\\xa1\\xd5\\xc7\\x62\\x61\\x8e\\xa3\\xc2\\x3e\\xf7\\x40\\xa1\\xcd\\xe7\\xb3\\x0d\\x16\\x7c\\x3e\\x2a\\xdc\\xdc\\x81\\xfc\\x15\\x15\\x0e\\x27\\x67\\x14\\xc2\\x16\\x4a\\xa7\\xbe\\xbe\\xae\\xde\\x37\\x14\\x13\\xc6\\x95\\x4e\\xf5\\x61\\x81\\x43\\xf8\\xec\\xb9\\x54\\x27\\x48\\x25\\x53\\x75\\xe2\\x6e\\x91\\x94\\xce\\xb2\\xd0\\xbe\\x8c\\xde\\xac\\xb9\\x5d\\x58\\x1a\\x2c\\xe7\\xa2\\xbe\\xe4\\xcb\\xff\\x7e\\xf5\\xcb\\x86\\x23\\xce\\xf3\\xce\\x39\\x7b\\x65\\xff\\xad\\x0f\\xcd\\x89\\x65\\x42\\xd6\\x2b\\x0c\\x03\\xe3\\x2d\\x47\\xfe\\xfa\\xc6\\xab\\xbe\\x23\\xd6\\x45\\xb3\\xdf\\x68\\xe8\\xbf\\xe6\\x9a\\x69\\x91\\x1e\\xe3\\x46\\xc7\\x2a\\x3b\\x98\\xbe\\xbd\\x78\\xd3\\x1d\\xf1\\x29\\x63\\xc6\\x8f\\xc9\\xe6\\xc2\\x89\\x5e\\x67\\x63\\xe7\\xd2\\x73\\xfd\\xcd\\xc3\\x1f\\x78\\xfc\\xfa\\x2d\\xc1\\x71\\xa3\\x2e\\x8e\\x66\\xa2\\xe1\\x70\\x7b\\x67\\xf7\\x5d\\x33\\x70\\xcf\\xaa\\xe7\\xcb\\xdf\\x92\\xdf\\x32\\xc3\\x88\\x66\\xe2\\xaa\\xfc\\x58\\x77\\x2a\\xe5\\xa0\\x28\\x5b\\xa4\\x89\\xf6\\xe8\\x3d\\xad\\xfa\\x96\\xa6\\x26\\xc2\\x69\\x0f\\x87\\xed\\x70\\x27\\xb5\\x5b\\xa0\\x2b\\xb7\\x58\\xec\\x7e\\x3f\\x61\\x8f\\x27\\x02\\x89\\xc1\\x42\\x20\\x60\\xd7\\xb3\\x2c\\x61\\xf7\\xd9\\xec\\xb6\\xfe\\x82\\xdb\\x6e\\x26\\x1a\\x2b\\x0f\\x48\\x2b\\x41\\x75\\xd6\\x5a\\xa5\\x15\\xb2\\x8c\\x2c\\x52\\x3d\\x53\\x59\\xd1\\xc4\\xcf\\xbc\\x7a\\x81\\xec\\x47\\x72\\x95\\xda\\xa6\\xac\\x20\\x62\\xaa\\xc2\\xb1\\xe0\\xe2\\xf5\\xd7\\x5a\\x82\\x40\\xd2\\x03\\x4b\\xd3\\xed\\x89\\x6d\\xd7\\xed\\x6c\\x7d\\x2d\\xf6\\x46\\xde\\x2d\\xa9\\x4a\\xc4\\xd9\\x52\\x1f\\x99\\x1a\\x99\\x61\\xb9\\x70\\xc5\\x84\\x93\\xb6\\x08\\xee\\xe2\\xcf\\x2f\\xf2\\xfc\\x8b\\xfc\\xb3\\xa4\\xa0\\x2a\\x2b\\x22\\xcd\\x19\\xe3\\x73\\x1e\\xb9\\xc7\\x0d\\x0d\\xe8\\xe1\\x44\\x1d\\xb1\\x22\\x3f\\x42\\x63\\x89\\xfa\\x68\\xc2\\x6c\\xb3\\xc5\\x23\\x04\\x11\\x13\\x5f\\x59\\x98\\x5c\\x06\\x97\\x26\\x4c\\x06\\x69\\xda\\x6b\\x88\\x07\\x41\\xda\\x00\\xcc\\x86\\xb0\\x81\\x34\\x50\\xa8\\x43\\x29\\x7a\\x7f\\x11\\xa9\\x3c\\x0d\\x56\\xbe\\xe6\\x17\\xce\\x3a\\xda\\xd1\\xcf\\xea\\x2f\\x48\\xb5\\xb5\\xc6\\x72\\xc2\\xb7\\x03\\xd0\\x9c\\xa1\\x2a\\xa2\\x1b\\x4c\\x40\\x74\\xac\\xb8\\x37\\x70\\x94\\x8b\\x25\\x41\\xc3\\xf0\\x14\\x9a\\xaa\\x67\\xd4\\xa9\\x13\\xc7\\x5c\\xf3\\x05\\x1f\\xa9\\xa7\\x1a\\x52\\xfc\\x6f\\x47\\x25\\xd0\\x54\\x03\\x17\\x9f\\xde\\xbf\\xf1\\x7d\\x32\\x57\\xff\\x0a\\xe8\\xb4\\x34\\xf5\\x2d\\x5f\\xd2\\x95\\xfc\\xf6\\xf5\\x57\\xf9\\x7d\\xd6\\xe1\\x1d\\xb7\\x5d\\x98\\xfa\\xf4\\x0d\\xb4\\xd7\\xbc\\x06\\xf7\\x9a\\x5b\\xe1\\x5e\\x1e\\x83\\x39\\xe7\\xd2\\x7c\\x8e\\xa6\\x9a\\x6c\\x94\\x2d\\x1b\\x8a\\x7b\\x75\\x41\\x1d\\xaa\\xa2\\x87\\xda\\xbd\\x3e\\xbd\\xce\\xdc\\x3c\\x50\\xd0\\xf9\\x42\\x94\\x8b\\xb6\\x68\\x0d\\x13\\xe1\\xf4\\xcd\\x2e\\xc2\\x95\\xea\\x2f\\xb8\\xfc\\x04\\x3b\\x03\\xe6\\x51\\x2a\\xe5\\x87\\xa9\\x24\\x1c\\x3f\\x9e\\x8f\\x30\\xa3\\xac\\x32\\x24\\x12\\xeb\\x65\\x6e\\x06\\x9f\\x12\\x42\\x6f\\x46\\x2a\\xb7\\x0e\\xf4\\x3a\\xae\\x17\\xd8\\xbb\\xe2\\x14\\x2e\\xba\\x93\\xc2\\x8b\\x39\\xf2\\x8f\\xaf\\xbc\\xe7\\xe5\\x0f\\xfa\\xb7\\xce\\x5b\\xd9\\xe7\\x23\\x7b\\x17\\x5e\\x34\\xed\\xde\\x9f\\x6f\\xf8\\xf8\\x89\\xd5\\x8f\\xfb\\x49\\x36\\xc1\\xf0\\xff\\xb1\\x87\\x1e\\x6e\\x01\\xa6\\xad\\x4b\\x4f\\x99\\xba\\x78\\x5c\\xe6\\xa9\\xc2\\xe6\\x7e\\x7a\\xda\\xf5\\xb7\\x86\\x36\\x0c\\x3c\\xf3\\x6c\\x61\\x7a\\xe3\\xfe\\x87\\x5e\\xe5\\x6f\\xde\\x71\\xde\\xa9\\xc1\\xbb\\x34\\xb3\\x6e\\xa5\\xa6\\xfc\\xf5\\xb5\\x23\\x8f\\x2d\\xbd\\x28\\x7f\\xf3\\x5f\\x27\\xbd\\x72\\xf5\\x17\\x42\\x3d\\x77\\x18\\x78\\x9f\\x5a\\x4c\\xef\\x26\\xf4\\x44\\x43\\xde\\x59\\xb9\\xcf\\xcb\\x91\\xc8\\x9f\\xb1\\x34\\xa1\\x65\\x51\\x21\\xa1\\x5d\\xfe\\x34\\x7c\\xcd\\x5d\\x5e\\x7f\\x0f\\xff\\x3f\\x3d\\xcf\\xdf\\x54\\xca\\x81\\xa6\\xdc\\xcf\\x6f\\x06\\xef\\x83\\x2c\\xff\\x06\\xf9\\x67\\xfe\\x20\\xf0\\x1f\\x0b\\x43\\x19\\x3f\\x0e\\x65\\x3c\\x13\\xea\\x8f\\x17\\xdf\\x62\\xaf\\x0f\\x5a\\x0c\\x24\\x4b\\x5a\\x28\\x37\\xa3\\xd1\\xa4\\x62\\x6e\\x77\\x92\\x80\\x9b\\x36\\x74\\xc1\\x0e\\xce\\xe1\\x9b\\x51\\x70\\xf8\\xb5\\x2c\\xc7\\x0e\\x14\\x38\\x73\\xd5\\x57\\x31\\xb2\\xe9\\xda\\x0f\\x8c\\x01\\x6c\\x18\\xf8\\xa1\\x0e\\xea\\x76\\xeb\\x12\\x3f\\x76\\xda\\xd9\\x41\\xa0\\xeb\\x87\\x96\\x98\\x78\\xfc\\xfd\\x4e\\xcb\\xf8\\x7f\\x1d\\xdb\\x9f\\xa2\\xae\\x4e\\xf2\\xef\\x36\\x75\\xfe\\xf5\\x3e\\xfe\\xb3\\x67\\xde\\xe7\\x8f\\x82\\xd4\\xeb\\xf7\\xec\\x3a\\x32\\xeb\\xd6\\xc1\\x4b\\xc8\\x09\\xa6\\x96\\xf6\\x86\\x5b\\x5e\\xff\\xf5\\x73\\xfe\\x48\\x9d\\x77\\x05\\xff\\xfa\\x63\\xfc\\x37\\x77\\x7e\\xf3\\xf2\\x77\\x20\\x7b\\xf4\\x83\\xf7\\x9f\\x05\\xcc\\xe9\\x4f\\xaf\\x5c\\x7f\\xab\\x60\\x0b\\xeb\\xca\\xaf\\xb3\\xff\\x60\\xbe\\x27\\x46\\x10\\x8f\\xe7\\x4f\\x4e\\xd5\\xd7\\xa7\\x29\\xda\\xe3\\x75\\xfb\\x02\\xad\\x74\\x9b\\xcb\\xe5\\x74\\xb6\\x75\\xb7\\xb3\\xe6\\x4e\\x43\\x27\\x9b\\x8e\\xb1\\x3a\\x4b\\xbb\\x37\\xc6\\x8e\\xa4\\xe9\\x9e\\x6c\\x56\\x6f\\xb7\\xeb\\x49\\xb2\\x5d\\xef\\x71\\xba\\x8d\\x46\\xbd\\x33\\x18\\x08\\xb4\\xeb\\x9d\\xa0\\x9e\\x76\\x66\\x6c\\x3a\\xbd\\xae\\xbf\\x60\\x8e\\xe8\\x2d\\xed\\xdd\\xcb\\x0a\\xed\\x4e\\x22\\xd7\\xaf\\xfa\\x7a\\x56\\x36\\x2b\\x26\\xe5\\xd2\\x29\\x0d\\xfa\\x61\\x79\\x59\\xbc\\x17\\x32\\x44\\xda\\x88\\x8b\\xfe\\x6a\\x37\\xcb\\xa0\\x4e\\xda\\x39\\xf5\\xa9\\x08\\x5c\\x40\\x2e\\x87\\xea\\x9f\\x59\\xf9\\x4e\\x83\\xea\\x23\\x1d\\x80\\x13\\x4f\\x4d\\xce\\xbc\\x69\\xdc\\xd9\\x4f\\x7c\\x61\\x39\\x53\\xf6\\x23\\xe3\\xc1\\x5d\\x67\\x00\\x4f\\xf8\\x57\\x4f\\xf2\\x4b\\x74\\x51\\x21\\xee\\xe3\\x34\\x57\\xf1\\x7f\\x45\\x4f\\xe9\\x9e\\x70\\xaf\\xe6\\x3f\\xbf\\x91\\x5f\\x46\\xcd\\xc1\\xfe\\x65\\xda\\xf9\\x87\\xed\\x13\\x4e\\x22\\x4d\\xd8\\xb7\\xdc\\x09\\x9e\\x22\\x0d\\x3f\\x79\\x8d\\x9f\\x39\\x7c\\x33\\x8a\\xfe\\xf0\\x03\\x3c\\x72\\x26\\x8c\\xfa\\xb6\\xad\\x39\\xb6\\x8d\\xfc\\x88\\x3f\\x29\\x71\\x0a\\x72\\x39\\x00\\xdd\\xd2\\x27\\x47\\xe2\\xbe\\x03\\x1d\\x79\\x2f\\xcc\\xe5\\x35\\x5a\\xbd\\x96\\x31\\x30\\x46\\x4e\\x4f\\xe8\\x07\\x0a\\x34\\x41\\x68\\x49\\xd4\\x6c\\xb8\\xb7\\x57\\xf9\\xc0\\x46\\xda\\x42\\x85\\xa7\\x0d\\xf8\\xdb\\x88\\x51\\x7b\\xac\\x75\\xcd\\x4c\\xe0\\x9d\\xb9\\x2e\\xb5\\xae\\xc0\\x7f\\x51\\x58\\x43\\x6e\\x06\\x3f\\xe3\\xe7\\xbe\\xce\\x77\\x83\\x57\\x90\\xde\\x6b\\x44\\x3e\\x0e\\xa2\\x2b\\xef\\xa7\\x75\\x40\\x67\\xb1\\x40\\x57\\xcf\\x38\\x19\\x17\\xe7\\x20\\x1c\\x98\\x93\\x91\\xc4\\x9f\\x87\\x57\\x73\\x72\\x57\\x73\\x42\\x9d\\x9b\\xdd\\x51\\x54\\x0b\\x85\\x5e\\xba\\x65\\xe5\\x4c\\xe0\\x9b\\xb9\\x31\\x75\\x65\\x13\\xdb\\xc8\\xff\\x8f\\xce\\xaa\\x4f\\xaf\\x14\\xf8\\xbe\\x76\\xb0\\xae\\xf5\\xa4\\x11\\x96\\x71\\xa9\\x7c\\xeb\\x87\\xb8\\x7f\\xc6\\x3b\\xfc\\x1c\\x26\\x08\\xe3\\x8d\\x08\\xae\\x78\\xad\\xca\\x8f\\x88\\xb7\\xb4\\xe8\\x58\\xd6\\xad\\x71\\x6a\\xb2\\x91\\x4c\\xc2\\x42\\x3b\\x82\\x41\\xaf\\x2b\\x10\\x70\\x38\\x9d\\xed\\x01\\xb3\\xd3\\x6f\\xb1\\x26\\x74\\x6e\\x77\\x86\\xb3\\x1a\\x09\\xca\\xe3\\x31\\x52\\xc6\\x68\\x7f\\xc1\\xe8\\xa2\\x1a\\x51\\x90\\x5b\\xe5\\x81\\x60\\x80\\x2a\\xf6\\x14\\x11\\xaf\\x4a\\x67\\xf1\\xa1\\xb2\\xa0\\x15\\x15\\x51\\x89\\x81\\x2b\\x52\\x08\\xe1\\x88\\x25\\x86\\xb5\\x00\\x6a\\x89\\x98\\xac\\xd9\\xd1\\x7b\\x62\\xb4\\xb7\\xd8\\x51\\x4f\\xfc\\x9c\\x1c\\xae\\xd2\\x97\\xa5\\xd6\\x8d\\xf8\\xe6\\x97\\x28\\x64\\xa5\\xf4\\x8b\\xf8\\x2f\\x1f\\xbd\\x32\\x75\\xa5\\x2f\\x8c\\x03\\xd4\\xf3\\xce\\xbc\\xb0\\x8e\\x1f\\x01\\x96\\x7d\\x74\\xde\\x8d\\x09\\xf0\\x2b\\x52\\x8c\\x52\\xcf\\x7a\\xfd\\xd0\\x9f\\x96\\x9e\\x12\\x1c\\xcd\\x53\\xd4\\x69\\xaf\\x5f\\xf5\\xc0\\x66\\x18\\x99\\x1e\\x0b\\x5c\\xb6\\x29\\xa4\\x5d\\xbe\\x86\\xfc\\xe8\\x9a\\xcb\\xb3\\x42\\x6c\\x4a\\x12\\x0c\\x8c\\x47\\xf6\\xc2\\x35\\x41\\xef\\xde\\xfb\\xf3\\x29\\xaf\\xcd\\xe6\\x04\\x76\\x73\\x20\\x60\\xd2\\x6b\\xec\\x9a\\x48\\xd8\\x07\\xf4\\x7a\\x87\\xc5\\x68\\x00\\x26\\xda\\x60\\x60\\x6c\\x26\\x33\\xe3\\x1a\\x28\\x30\\x2e\\xf5\\xab\\x57\\xa9\\x7f\\x48\\xb7\\xdc\\x3f\\x44\\x9c\\x6d\\x4c\\xfc\\x28\\x59\\x47\\x0e\\xb7\\x12\\xc1\\x9f\\x07\\xca\\x02\\x69\\x8a\\xf4\\xdd\\x67\\x18\\xda\\xf8\\xff\\x1e\\x7c\\xf9\\xcf\\xfa\\x65\\xa9\\x65\\x03\\xc0\\x3b\\x00\\x6e\\x43\\x3f\\xcf\\x38\\x76\\xee\\xd2\\x73\\x9d\\xfc\\xd9\\xba\\x79\\xe0\\xbd\\xdc\\x27\\xef\\xbc\\xb4\\x73\\xc4\\x88\\xd7\\xc1\\xdd\\xfc\\x12\\xf4\\x8b\\x6f\\xd8\\x78\\x5d\\x73\\xfd\\x49\\xa7\\xe2\\xbc\\xe5\\x2f\\xe5\\xaf\\x19\\x1f\\x7e\\x17\\x9b\\x24\\xce\\xc8\\x77\\x50\\x81\\x80\\x36\\xe1\\x70\\x3b\\x2d\\xb4\\xd9\\xec\\x0e\\x27\\xe8\\x54\\x32\\x1a\\xad\\x8f\\x45\\x62\\x4e\\x97\\x73\\xa0\\xa0\\xa5\\x2d\\x96\\x84\\xdf\\x68\\x85\\x13\\xb1\\x5a\\x8d\\x11\\x97\\xd9\\x48\\xf4\\xcb\\x9f\\x59\\x53\\x4d\\x04\\xa9\\x9d\\xfc\\x01\\x99\\x4a\\x4b\\x14\\xe1\\x7e\\x00\\x1a\\x3b\\x07\\x3d\\x1c\\x5c\\x37\\xf4\\xc9\\x38\\x38\\xad\\x2e\\xdc\\xab\\x17\\xed\\x23\\x30\\x9c\\x42\\xcf\\xa5\\x5c\\xee\\x2c\\x39\\x6d\\xd5\\x4f\\xdd\\xc7\\xfe\\x4e\\x5e\\x4e\\x71\\xf3\\xdd\\x8f\\xf2\\x47\\x1f\\xe0\\x03\\x8b\\x93\\x57\\x4e\\x78\\xf4\\x9b\\x7a\\xf0\\x69\\x6a\\xe1\\xf9\\x0e\\x92\\xcc\\x8d\\x4f\\x81\\x4f\\xeb\\xbf\\x59\\xed\\x59\\xff\\xe4\\x75\\x6b\\xea\\x96\\xad\\x06\\xe4\\x2d\\xaf\\x2f\\x01\\xfb\\x5e\\xbf\\xf7\\xe4\\x03\\xaf\\x74\\x5c\\x3c\\x7d\\xf2\\x45\\xdd\\xaf\\x1c\\x58\\x72\\x13\\xaa\\x43\\x42\\x5f\\x8e\\xea\\x90\\x0d\\xc4\\x30\\xe2\\xb4\\x7c\\x47\\x17\\x65\\xe3\\xbc\\x2d\\x49\\x2a\\x16\\x8c\\xd5\\xd5\\x85\\xc2\\x61\\x23\\x47\\xd1\\xc3\\xbb\\x83\\x75\\xc0\\xe3\\x4d\\x79\\x53\\x44\\x18\\x6a\\x6e\\x7f\\xc1\\xee\\x74\\xe9\\x61\\x94\\xa0\\xf7\\xe3\\x68\\xc8\\xa2\\xf0\\x6d\\x72\\x3c\\x90\\xed\\x05\\x2d\\x95\\xef\\x9b\\x2a\\xee\\x37\\x09\\x07\\x0d\\xb8\\x72\\x28\\x7c\\xe2\\xb4\\x52\\x63\\x44\\x9f\\x09\\x24\\x8f\\x53\\x4e\\x9c\\xd6\\x97\\x73\\xcd\\xbf\\x6d\\xcd\\xd4\\x99\\x0d\\xb9\\xd6\\x2b\\xdc\\xc6\\xe6\\x16\\x45\\x71\\x91\\x4d\\x1e\\x01\\xde\\xd3\\x6c\\xa0\\xb6\\x8a\\xf8\\x53\\xfe\\xd5\\x25\\xfc\\x9f\\xce\\xbf\\x76\\xa4\\xf5\\x1d\\xc3\\x25\\x13\\x35\\x62\\x3d\\xd1\\xfa\\x1c\\xc3\\xf0\\x8e\\xfe\\xea\\x12\\x22\\x49\\x0c\\x87\\xf6\\xcb\\x42\\x59\\x24\\x88\\x2c\\x71\\x56\\xbe\\x3b\\x91\\x36\\x51\\xd6\\x3a\\x6b\\xd4\\x61\\xaf\\x6b\\x67\\x59\\x7f\\x9d\\x83\\xb6\\x75\\xd8\\x3a\\xed\\x89\\x3a\\x18\\x18\\x9a\\x8c\\x04\\xfc\\x5b\\x57\\xe7\\xf4\\x86\\x06\\x0a\\x5e\\xbf\\x15\\xe8\\x9a\\x71\\xad\\x30\\xd9\\x5f\\x09\\x9d\\x71\\xdf\\x49\\x49\\x20\\x55\\x5f\\x7d\\x15\\xee\\x20\\x55\\x9e\\x58\\x56\\x7d\\x2c\\x31\\xab\\x94\\x50\\xec\\x07\\xaa\\x80\\xe8\\x73\\x89\\xff\\x79\\x76\\x84\\x7b\\xde\\x2d\\xeb\\xb1\\x7c\\x36\\xf8\\xac\\x2f\\x1d\\xa7\\xf4\\x87\\x3e\\x98\\xf8\\xfd\\x97\\xfc\\x07\\xe7\\x5f\\x33\\x0a\\x89\\x64\\x56\\x75\\xd5\\x0f\\x94\\x1f\\xe4\\xe7\\xe0\\x9a\\x5f\\x9c\\x98\\x99\\xcf\\x98\\xc9\\x3a\\x00\\x1c\\x16\\x8b\\x8d\\x8c\\xd1\\x3e\\xad\\x2f\\xa9\\x4d\\x78\\x42\\x33\\x0a\\x1e\\x40\\xe0\\x70\\xb8\\xce\\x6e\\xb6\\x00\\x18\\x30\\x3b\\x39\\x03\\xdc\\xde\\xfd\\x4a\\x35\\x10\\xf7\\x79\\x55\\xdc\\x2b\\x5c\\x26\\x52\\xcf\\x6c\\xe8\\x72\\xdd\\xa6\\xd5\\x23\\xe4\\xc5\\x86\\x93\\xb9\\x6d\\xfb\\x90\\x45\\xba\\x63\\xc3\\xe0\\x3c\\x84\\xa5\\x9d\\x45\\xad\\x57\\x95\\xe7\\xa0\\xed\\xfe\\x17\\xae\\xe5\\x17\\x30\\x0e\\xcc\\x12\\xa3\\x89\\x1b\\xf3\\xe3\\xa2\\xad\\xa1\\x36\\x5d\\x87\\x17\\xdd\\x21\\x6b\\x6b\\x0b\\x86\\x7a\\x6c\\xb6\\x86\\x10\\x45\\xb5\\xd4\\xd5\\xf5\\xd1\\x14\\x35\\x26\\x95\\x86\\x29\\xaf\\x5f\\xa7\\x8f\\xb6\\x0e\\x14\\x7c\\x5e\\x7d\\xd4\\x1b\\xf5\\x9a\\x83\\x66\\x17\\xdc\\xb9\\x5d\\x16\\xf3\\xa8\\x81\\x82\\xd9\\x89\\xc2\\x42\\xba\\x54\\xfe\\xe4\\x59\\x1c\\x2e\\xc2\\xb9\\xb6\\xab\\x0a\\x0d\\x78\\x89\\xbb\\xad\\xea\\x89\\x57\\x02\\x1b\\x75\\x46\\x2c\\xf5\\x99\\x41\\x37\\xce\\xc8\\xaa\\x4a\\x70\\xd4\\x8c\\x5e\\x67\\x0a\\x22\\x72\\x63\\x10\\xe8\\xe2\\x84\\x1b\\x68\\xa4\\x78\\x03\\x6d\\x07\\x8c\\x1d\\x81\\xdf\\xbf\\xf5\\x9c\\xb5\\x75\\x61\\x72\\xf8\\x69\\x6b\\xa6\\xdf\\xfb\\xf3\\xf5\\x9f\\x3e\\xb1\\xfa\\xb1\\x00\\xc9\\xc5\\x19\\xa0\\xe5\\x1a\\x57\\x82\\x57\\xa7\\x7b\\x0a\\x37\\xac\\xf1\\x4e\\x19\\x95\\xed\\x1a\\x66\\x0e\\xff\\x5e\\xdf\\xce\\xff\\xf3\\xa1\\x4a\\x30\\xc9\\xcf\\x41\\xc1\\xe4\\xc5\\x9b\\xb7\\xcf\\x9e\\x91\\xde\\xff\\xd0\\x2b\\xe0\\xdc\\x67\\xce\\x3d\\x2d\\x7a\\x9b\\x36\\xfc\\xf2\\xb1\\x3d\\xfc\\xda\\x55\\xd7\\xf6\\x68\\xdf\\xa1\\x3b\\x26\\xdd\\xd3\\xf3\\xcd\\xcb\\xf4\\x1c\\x65\\x60\\x09\\xb0\\xaf\\xd8\\x0f\\x75\\xc3\\x4b\\x0c\\xe4\\x9b\\x28\\x0b\\xf4\\x83\\x8c\\x49\\xcf\\x71\\x1a\\x8d\\xdb\\x64\\xa6\\x7d\\x06\\xa3\\xd1\\xef\\x24\\x06\\x0a\\x4e\\xbf\\x49\\xcf\\x50\\xb4\\xc1\\xac\\x05\\x1a\\x27\\x6d\\xae\\x34\\x31\\x80\\xbb\\xae\\xbb\\x5b\\x14\\x8e\\x22\\x9c\\x11\\x22\\x1a\\xa4\\x0d\\x14\\x47\\x89\\xdf\\xbe\\xb5\\xcb\\x6a\\x42\\x5e\\x09\\x35\\xe0\\xa4\\x17\\x6e\\x98\\xcd\\x7f\\x09\\x22\\xc0\\xfb\\x28\\x78\\x1b\\x8c\\xe1\\x53\\xfb\\xef\\x90\\x35\\xe4\\xed\\x4b\\x66\\x81\\x7f\\x4c\\xe1\\x4f\\x66\\x0e\\x1c\\xdd\\x0e\\xf6\\xf2\\x27\\xf3\\x11\\x49\\x2d\\x70\\x7c\\xb7\\x99\\x9f\\x43\\xce\\x87\\x63\\xb6\\x12\\x9d\\x79\\x3f\\xa5\\xe1\\x68\\x0d\\x8d\\xbf\\x81\\x6b\\xb6\\x19\\xe1\\x58\\x8d\\x7e\\x06\\xd0\\x9c\\x62\\x88\\xd2\\xd2\\xc9\\xa1\\xbd\\x1b\\x0d\\x0c\\x28\\x2c\\xb2\\x0e\\x8e\\xe7\\x31\\x34\\x14\\xfe\\x06\\xe5\\x18\\x98\\x03\\xd8\\xae\\x44\\xc6\\x58\\x56\\xec\\x57\\x50\\xff\\x86\\x13\\x8b\\xf2\\x9d\\x1d\\xa9\\x61\\xb1\\x64\\x27\\xcc\\xa6\\x18\\x97\\xc9\\x64\\x36\\x33\\xcd\\x9d\\x30\\xc1\\xeb\\x19\\x11\\x74\\x75\\xfa\\x3a\\x93\\x83\\x85\\x4e\\x67\\x53\\xdb\\x40\\xa1\\xc9\\x4f\\xe8\\x7c\\xba\\x81\\x42\\xc4\\x67\\xb1\\x99\\x19\\xb3\\xf0\\x5d\\x36\\x49\\xa3\\xe4\\x4f\\x91\\x56\\xbd\\x24\\x17\\xcd\\xea\\xc7\\x7c\\x91\\x8d\\xab\\xb6\\x3d\\x5c\\x91\\x6d\\xfc\\x11\\x5f\\x63\\x5b\\x70\\xbb\\xca\\x1e\\x77\\xae\\xb5\\x51\\xa8\\x96\\x7a\\xa2\\x86\\x01\\x7c\\xaa\\x62\\x9c\\x42\\xeb\\x00\\x51\\x7f\\x76\\xe2\\x3a\\xeb\\xf4\\x7c\\x9a\\x8a\\x72\\x81\\x08\\xed\\x34\\x1a\\x4d\\xa6\\x7a\\x3a\\x10\\x65\\x9a\\xd2\\x49\\xb8\\x20\\x49\\xbf\\xd3\\xe4\\xf5\\x6a\\xa1\\x4f\\xb5\\x58\\xcd\\x26\\x27\\x1d\\x51\\xaa\\x4f\\xe5\\x6b\\xa5\\x55\\xaf\\xe9\\x19\\x61\\x3e\\x43\\x4e\\x1f\\x07\\xc2\\x15\\x75\\xfa\\x12\\x4d\\x40\\x8e\\x6c\\x1f\\x51\\x16\\x3b\\x39\\xcd\\xa2\\xdb\\x65\\x2f\\x0a\\x97\\x54\\x8e\\x65\\xa9\\x99\\x72\\x89\\x13\\x06\\xb9\\xbc\\x5e\\xf2\\x9f\\xc8\\xcf\\xbc\\x23\\xd6\\x36\\x53\\x44\\x17\\x71\\x4a\\xbe\\xbd\\x83\\x75\\xe9\\x2c\\x3a\\x96\\x1a\\x16\\x49\\x65\\x02\\x54\\x38\\x1e\\x8f\\xc5\\xc2\\x91\\x48\\x2e\\x66\\x8e\\xf8\\x03\\x84\\x87\\xf2\\xb4\\xf6\\x17\\x3c\\x2e\\x97\\xc9\\x3e\\x50\\x30\\xf9\\xa9\\x7a\\x45\\xa0\\x47\\xa0\\x8f\\x66\\x0a\\x9f\\x2c\\x95\\x22\\x3c\\xc9\\x69\\xc8\\x9b\\xa7\\x54\\x95\\x1c\\x6a\\xff\\x44\\x61\\xde\\x09\\xca\\x91\\xfd\\xbd\\xca\\xfd\\xc1\\x94\\xec\\x92\\x23\\xbd\\xc3\\xc7\\x29\\x43\\xde\\xcf\\xbf\\xb6\\x58\\xde\\x28\\x26\\x70\\x42\\xac\\x47\\x7f\\x75\\xbc\\x1a\\xe4\\xbd\\x70\\xdf\\x58\\x8b\\xfb\\x04\\xcd\\xca\\x37\\x39\\x38\\xbf\\x97\\xf5\\x7a\\x3c\\xac\\x93\\x73\\x46\\x4d\\xd1\\x98\\x09\\x7a\\xaa\\x81\\x42\\xd8\\x12\\xf0\\x7b\\xfc\\x03\\x05\\x8f\\xd9\\xc9\\x0e\\x16\\x9c\\x4e\\x83\\x75\\x40\\xfe\\x3c\\xba\\x74\\x9c\\x56\\xd9\\x35\\xe4\\x4a\\x62\\xb7\\xe2\\xab\\x83\\xd5\\x1a\\x5c\\x55\\x3f\\xbc\\x37\\x36\\x46\\xad\\xaa\\xbb\\xb6\\x7a\\xad\\xaa\\xb2\\xe1\\xf6\\x22\\xbf\\x4b\\xb1\\x6d\\x8c\\x5a\\xb3\\xb1\\x52\\x2f\\x24\\xdc\\x70\\x2d\\x33\\xf4\\x14\\xb8\\x67\\x4c\\xcb\\xa7\\xeb\\x53\\x7e\\x33\\x91\\x89\\x3a\\x1d\\x8e\\xa8\\x96\\x48\\x31\\x9d\\x1d\\x99\\x7a\\xa7\\xdf\\xcc\\x58\\xe3\\xf1\\xf4\\x8c\\x42\\xdc\\x62\\xf5\\xcc\\x28\\x58\\x5d\\xd5\\x3b\\x5f\\x4d\\xb7\\x07\\xb1\\x2a\\x46\\x71\\xd5\\x2b\\x56\\x29\\x91\\x55\\x6e\\x79\\xcb\\x95\\xb1\\x10\\xa0\\xbe\\xec\\xf6\\x79\\xe7\\xdf\\xbc\\x56\\x9c\\x88\\x6d\\xf0\\x3c\\x45\\x7d\\xec\\xe5\\x87\\x54\\x65\\xb1\\x9d\\x3f\\x01\\x93\\x7b\\xf9\\xef\\x2f\\x82\\xae\\x1b\\xcd\\x6a\\x8e\\xbb\\x52\\x1a\\xcb\\xfc\\xe4\\x72\\x65\\x4d\\xac\\xfe\\x5e\\x34\\x4f\\x7e\\x27\\x5c\\xab\\x76\\xe8\\x13\\xd3\\xc4\\x60\\xbe\\x31\\xe5\\xf3\\xd6\\xd7\\xeb\\x74\\x11\\x1f\\x65\\xa3\\x6c\\x19\\xb2\\x89\\xf2\\x42\\xb5\\xf4\\x7a\\x09\\xb3\\x19\\x46\\xb5\\x66\\x10\\x8b\\xb2\\x34\\x41\\x0f\\x14\\x42\\xc2\\xa6\\x87\\x52\\xd7\\x4a\\x0a\\x8f\\x3e\\x84\\x68\\x55\\x1d\\x4d\\xa0\\xef\\xd4\\x88\\x9f\\x15\\x04\\x39\\x3b\\xae\\x85\\x08\\xb7\\xd7\\x39\\x4a\\xf8\\xd0\\xa5\\x7c\\xd9\\x1a\\x86\\xb4\\x4f\\x65\\xce\\xb0\\x36\\x76\\x4c\\x68\\x19\\x99\\xb2\\x7e\\xec\\x3b\\x73\\xe7\\x35\\xa1\\xb3\\x02\\x8d\\xf1\\xfe\\x49\\x33\\x6d\\x3f\\x05\\x9f\\x4c\\x8d\\xdc\\xb3\\x69\\xec\\xf8\\xde\\x48\\xa4\\xb1\\xc9\\x54\\x77\\x28\\x92\\x7c\\x89\\x9f\\x63\\xe2\\xde\\x75\\x26\\x27\\xcc\\xa5\\xd7\\x5e\\x73\\xdb\\x04\\xad\\xf6\\xf7\\xce\\x05\\x67\\x1e\\xfd\\x98\\xbf\\xfc\\xc1\\x7b\\xcd\\xef\\xe8\\x86\\xf7\\x3d\\xfe\\xe0\\xde\\x9f\\xe0\\xf7\\xbb\\x70\\x0d\\xdf\\x82\\x31\\xbb\\x87\\xc8\\xe7\\xa3\\xc0\\x44\\x38\\xac\\x16\\x8b\\xc6\\x61\\xa2\\xbd\\x6e\\x8f\\xc7\\xe7\\x30\\xbb\\x2d\\x66\\x33\\x31\\x08\\x37\\x74\\x16\\x66\\x9e\\xac\\x5f\\x75\\x12\\x53\\xdd\\x3f\\x24\\xa1\\xd2\\x36\\x94\\x5d\\xb8\\xdc\\x5d\\x39\\x10\\x25\\xdf\\x51\\x2b\\x19\\xff\\xee\\x4e\\x10\\x9d\\xc0\\x58\\x47\\x8e\\x04\\x3d\\xa0\\xb9\\x58\\x51\\x2f\\x7a\\xf8\\xb1\\x07\\x63\\x5f\\xdd\\xbc\\x8e\\x3c\\x55\\xb0\\x11\\xe9\\x3b\\xf7\\x5e\\x62\\x4a\\x3e\\xad\\xd3\\xc2\\x34\\x82\\x82\\x5b\\xa5\\x5b\\xa3\\xd5\\x70\\x70\\xef\\x64\\x39\\xce\\x27\\xec\\x9f\\x7a\\x13\\xda\\x3f\\xb5\\x66\\x4e\\xbd\\x7d\\x66\\x2b\\xdb\\xa7\\x32\\xa6\\x16\\xb6\\xce\\xca\\x87\\xee\\xd5\\x5b\\xe7\\xc9\\xb5\\x1f\\xba\\x7f\\x65\\xa7\\x6a\\xf3\\x54\\x7f\\xe8\\xfe\\x1a\\x79\\x13\\x03\\xe5\\x3f\\xc1\\xf1\\x02\\x9c\\xbb\\x4d\\xc8\\x27\\x34\\x56\\x03\\x69\\xa5\\xb4\\x7a\\x93\\xc9\\x6d\\xd1\\x6a\\x5d\\x66\\x83\\x11\\xea\\xbe\\xd1\\xac\\xb3\\x68\\x61\\x2a\\x00\\xb3\\x77\\x46\\xf1\\xe9\\x49\\xd1\\x90\\xab\\x3f\\x21\\x8f\\x36\\x2a\\x49\\x9a\\x39\\x5c\\xe5\\xc1\\x2d\\x65\\xc1\\xab\\x92\\x24\\x8f\\xad\\x49\\x92\\x37\\x0a\\x35\\xbf\\x63\\xab\\xc9\\x5c\\x1e\\xba\\x2c\\x7e\\x0e\\x16\\xe5\\x2b\\xe4\\xcf\\x5e\\x7f\\xf5\\xd8\\x7c\\xfe\\x57\\xd0\\x21\\xe1\\xbc\\x52\\x07\\xc7\\xf6\\x09\\xf4\\x37\\x9d\\x44\\x9e\\xb8\\x28\\x3f\\xc6\\xd0\\x11\\xe8\\xb2\\x52\\xe6\\x50\\xa8\\xb1\\xc5\\x1c\\x8b\\x0f\\xf7\\x78\\xe2\\xe6\\xc6\\x0e\\x86\\x19\\xcd\\x8c\\xf1\\xe7\\x06\\x0b\\x36\\x73\\x0c\\xe8\\x29\\x7f\\xcc\\x1f\\x33\\xa4\\x52\\x91\\x19\\x85\\x94\\xc5\\x39\\xb2\\xbf\\xe0\\x74\\x19\\xda\\x07\\x0b\\x06\\xa7\\x86\\x1a\\x28\\x68\\xfc\\xd5\\x47\\xfb\\xe2\\xd7\\xa3\\x51\\x93\\xcf\\xf4\\x10\\x0f\\x02\\xb1\\xe4\\xc5\\x12\\x6d\\xac\\x0e\\x66\\xa0\\xb8\\xed\\x87\\x74\\x13\\x34\\x9e\\x10\\xcf\\xd7\\xb8\\x84\\xbc\\xfb\\x4a\\x15\\x5d\\x50\\x79\\x21\\x48\\xdb\\xbb\\x9a\\x5a\\x7a\\x1a\\x0a\\xa3\\x8f\\xba\\xc6\\x4e\\x60\\xd8\\x59\\x0f\\x5f\\x78\\xc3\\xa3\\x44\\x19\\x84\\xf6\\x38\\x37\\x2c\\x98\\x6f\\xe3\\xff\\x8b\\xfa\\x7b\\xfe\\xca\\x33\\x41\\x53\\x9f\\x4a\\x47\\x32\\xfc\\xce\\x6d\\x17\\x5e\\xd3\\xdf\\x37\\xf3\\x5a\\xff\\xda\\x8e\\x98\\xe1\\x1d\\xeb\\x91\\x11\\xe7\\x19\\xa7\\x76\\x27\\xfc\\x1b\\x4f\\x7d\\x74\\xe3\\xcf\\x7f\\xc9\\x50\\x0b\\xe3\\x97\\x8d\\x9f\\x18\\xbe\\x65\\xcb\\xe6\\x3b\\x12\\x17\\xf3\\xf7\\x67\\xfc\\xa1\\x18\\x77\\x84\\x9c\\x42\\xce\\x9f\\x35\\xbe\\xff\\x32\\xa1\\x4f\\x37\\xca\\x6f\\x46\\x42\\x99\\xd5\\xc3\\xbd\\xea\\x8c\\xfc\\xb0\\xfa\\x66\\x23\\x65\\x49\\x58\\xac\\x71\\x87\\x2b\\x6a\\x4f\\x74\\xb2\\x6c\\x22\\xea\\xb0\\x32\\xfe\\x9c\\x7f\\x58\\xc2\\x3e\\x58\\x48\\x38\\x43\\x5e\\x68\\xf6\\x7e\\xc2\\x48\\xe9\\x2c\\x66\\x5d\\x1b\\x4e\\x6f\\x1a\\xd4\\xe9\\x0d\\xf2\\xd2\\x35\\x1f\\x1a\\xad\\xc8\\xa8\\x26\\xb7\\x41\\xc9\\x2d\\xf4\\xe1\\x9c\\x2c\\x37\\xa1\\x0e\\x7e\\xe2\\xfc\\xc6\\x14\\x07\\xda\\xf6\\x4b\\xee\\xc8\\xd2\\x2d\\x5d\\x58\\x56\\x1b\\x2f\\x35\\xea\\x77\\x1c\\x27\\xbf\\x19\\x75\\xc1\\xe1\\x63\\x67\\xf3\\xdf\\x25\\x33\\x8d\\x50\\x40\\x17\\x6f\\xe8\\xca\\xf7\\xd4\\xde\\x6b\\x10\\xe4\\xf0\\x29\\xf4\\x7f\\xad\\xc4\\x28\\x62\\x45\\xbe\\xa7\\x29\\x10\\x6a\\x68\\xed\\x32\\x51\\x19\\x9f\\xd9\\xec\\xcf\\x8c\\x64\\xd9\\x4c\\x43\\x20\\xc6\\x38\\x7a\\x1d\\xf9\\x8c\\x7f\\xb0\\x90\\x71\\x26\\xa3\\x28\\x2e\\xb1\\xb9\\x07\\x0a\\x36\\x80\\xa4\\xa1\\xeb\\xc6\\xb2\\x68\\xeb\\x57\\x9f\\x92\\x74\\x7b\\x86\\xfc\\xee\\xaa\\xb2\\xbc\\x59\\x25\\x0e\\xbb\\x90\\xf9\\x48\\x5b\\xdb\\xff\\x4d\\x2c\\x1d\\xc1\\xe7\\x1f\\xea\\x3f\\xbd\\x7e\\x5c\\xa4\\x63\\x9a\\xe5\\xd9\\xdb\\x54\\xd2\\x79\\xea\\x38\\xd2\\x01\\xce\\x7b\\x6f\\x77\\x1c\\x30\\xf7\\xcc\\x38\\x3a\\xfe\\x07\\x65\\xd4\\x0b\\xed\\x6b\\x19\\xd4\\x95\\x24\\xd1\\x4c\\x2c\\xc9\\x8f\\xa8\\x8f\\x7b\\x9c\\x30\\xd2\\xd7\\x39\\xc9\\x60\\xd0\\xa9\\x89\\x9b\\x99\\xd6\\x96\\x66\\xe8\\x47\\x9b\\xf1\\xcd\\xad\\xe6\\x70\\x33\\x69\\x64\\x9a\\x9b\\x7d\\xd1\\x68\\x7a\\xb0\\x10\\xb5\\x70\\x3e\\x1f\\x33\\xa3\\xe0\\x73\\xd9\\x8c\\x50\\x64\\x55\\x3e\\x41\\xbe\\xa2\\xa5\\x8a\\xe2\\xc4\\x4d\\x5e\\xba\\x9f\\x55\\x2d\\x0a\\x56\\x7c\\x3c\\xaf\\xbe\\x9c\\x05\\xce\\x14\\x2e\\x67\\xf5\\x29\\xe6\\x6e\\x9e\\x7b\\xe6\\xbb\\xdf\\xde\\x02\\x74\\x4f\\xbd\\xfd\\x97\\xea\\x6b\\x59\\xfc\\xc3\\x95\\x29\\x8f\\x0d\\x7c\\xf1\\xe6\\x6f\\xc1\\xb0\\x47\\x50\\x87\\x3f\\xe9\\x52\\x16\\x20\\x7c\\x70\\xce\\x41\\x18\\x9f\\x76\\x11\\xb3\\xf3\\x19\\x1a\\x75\\x89\\x6c\\x8a\\x74\\x78\\xbd\\x11\\x6b\\x4b\\x92\\xd1\\xe7\\xf4\\xc3\\xa8\\x14\\x95\\x72\\xc4\\x62\\x0d\\x83\\x85\\x98\\xc5\\xe5\\x72\\xc0\\xf9\\x3b\\x9c\\x26\\x2d\\x0a\\xe5\\x94\\x19\\xbf\\xe4\\x39\\x54\\x26\\x21\\x57\\x77\\xdc\\x66\\x30\\xd4\\xdc\\x4e\\xf8\\xda\\xeb\\xb7\\x85\\x3b\\xc6\\x5d\\xd6\\xaa\\x98\\xa5\\xe1\\x94\\xf3\\x76\\x7e\\xf0\\xf0\\x7d\\x60\\xe6\\xb2\\xcf\\xdf\\xb9\\xee\\x37\\xbd\\x7b\\xc7\\x5c\\x3f\\x73\\xe1\\x5d\\x9b\\x3d\\x0f\\xde\\x34\\xad\\xff\\xf1\\xfe\\x91\\x77\\x1e\\xae\\x4c\\xb4\\xd7\\xbd\\xfd\\xfa\\xb5\\x77\\x58\\x48\\xe7\\x9a\\x99\\x37\\xdc\\xbb\\x68\\xd5\\xac\\x8b\\xc6\\x8e\\x1c\\x37\\x69\\x47\\x74\\xf2\\x98\\x11\\x53\\x84\\x3d\\xe9\\x05\\x18\\x0b\\xfc\\x0d\\xae\\x73\\x07\\x71\\x56\\x7e\\x58\\xb8\\xd1\\xd3\\x9e\\xd0\\xfa\\x9b\\xdb\\x1b\\xd9\\x2e\\xb3\\x9d\\xa6\\x6d\\x66\\x73\\x67\\xb3\\x3f\\x10\\x80\\x66\\x60\\x27\\xe3\\x81\\x14\\x19\\x20\\x03\\x44\\x2a\\x55\\x37\\x08\\x3d\\xa8\\x81\\xc3\\xd1\\x9b\\x73\\x86\\xaa\\xba\\x5d\\x99\\x3d\\x5c\\xd2\\x6e\\xb9\\xc5\\xaa\\xba\\x0a\\xc4\\xd4\\xa5\\xd4\\x52\\xc8\\xd9\\x73\\xd2\\xd7\\x27\\x8f\\xf7\\x5d\\x7b\\x1a\\xec\\xdd\\x7c\\xba\\x4b\\x21\\x83\\x31\\x47\\x63\\x0f\\xcf\\x9b\\x7f\\xed\\x25\\xd5\\x1f\\xb9\\x3f\\x67\\x2d\\xcf\\x3b\\xda\\xcf\\x97\\x44\\xd0\\x32\\x01\\x2c\\x68\\x7a\\x68\\xc6\\xc4\\x19\\x63\\xab\\x3f\\x78\\x6f\\xdb\\xb0\\xf0\\xde\\x5d\\x58\\xd7\\xeb\\xe1\\xba\\x1f\\xc1\\x7e\\xb1\\x95\\x58\\x9c\\xef\\x6a\\x25\\x49\\x93\\x2d\\xd8\\x98\\x4c\\x6a\\x82\\x26\\x0b\\xe3\\x6e\\x73\\xb7\\xd7\\xc3\\x25\\x8f\\xc4\\xcc\\x9c\\xde\\x5c\\x0f\\xcc\\x54\\x7d\\x7d\\x4c\\x1f\\xcb\\x40\\x25\\x70\\xf9\\x60\\x88\\xe4\\xf3\\xcb\\xcd\\x2d\\x95\\x32\\x50\\x36\\xb7\\x04\\x55\\xe5\\xfb\\xaa\\xd7\\x87\\x5c\\x8d\\xe9\\x57\\x9e\\x23\\x8a\\xaf\\x11\\x8f\\xca\\x1d\\x2d\\xdf\\xfd\\x96\\xdc\\x72\\xad\\x42\\x0c\\x99\\xc2\\xaf\\xd6\\x61\\x5d\\xaf\\xea\\x63\\xf9\\xc5\\x9b\\xdd\\xc7\\xa6\\x55\\x84\\xf0\\xd7\\x25\\x27\\x0b\\xba\\x2e\\x74\\x7b\\xc6\\x75\\x3f\\x72\\x13\\xf4\\x81\\x0e\\x18\\x29\\x8d\\xcf\\x27\\x19\\xa7\\x93\\x75\\xeb\\x08\\x8e\\xa6\\x09\\x8d\\x9b\\x36\\x7b\\xcd\\x3e\\x97\\x73\\x66\\xc1\\x05\\x04\\x13\\x66\\xcc\\xea\\x24\\xb9\\xc6\\xe3\\x0b\\xa9\\x32\\x72\\x5a\\xb8\\x78\\xa5\\x98\\x8e\\x1d\\xba\\xfc\\x57\\x8c\\xfa\\x17\\x7e\\x07\\xbc\\x3b\\x6f\\x57\\x78\\xa9\\x99\\x0d\\xc0\\xdb\\xb0\\x0b\\x3a\\x1f\\x7a\\xf8\\xd1\\xb5\\xb2\\x37\\x62\\x9b\\xdf\\x7c\\x53\\xd0\\xcb\\x7d\\x70\\x4d\\xda\\xf1\\x9a\\x2c\\xc8\\xb7\\x11\\xbe\\xfa\\x84\\xc1\\xc8\\xd9\\x8c\\x61\\x1b\\xd5\\xe8\\x4b\\x24\\x1a\\x0c\\x06\\x33\\x41\\x98\\x3d\\x1e\\x97\\xd9\\xac\\xed\\x2f\\x98\\x2d\\x2e\\xb2\\xbf\\xe0\\x72\\xd5\\x85\\x07\\x0a\\x75\\x41\\xf8\\x0b\\x5f\\x04\\x51\\xaf\\x86\\xe2\\x74\\x5e\\xbd\\x16\\xd2\\x53\\x23\\xbc\\x59\\xdb\\xa4\\x56\\xcb\\xb5\\x1a\\x0a\\x86\\xe9\\x7f\\xb2\\x7c\\x4d\\x9b\\x7b\\x17\\x6e\\xf3\\xba\\x1c\\xdc\\xf6\\xe1\\x37\\xf7\\xf0\\x47\\x7f\\x75\\xeb\\x79\\x1e\\xc5\\x6a\\x4c\\x03\\x2b\\xf6\\xdc\\xf6\\x8b\\x55\\x9d\\x5f\\x9d\\xb5\\xa4\\x1d\\x2c\\xfc\\xf3\\xfe\\x3d\\xfc\\xa3\\x5b\\xfb\\x36\\x2a\\x74\\xf1\\x56\\x34\\xb7\\x29\\xd0\\xe6\\xee\\x82\\xb2\\x4f\\xc1\\x38\\xb0\\x9e\\x45\\xdf\\x7d\\x6c\\x30\\xd4\\xc3\\x99\\xf8\\xac\\xa9\\xfe\\x82\\xd5\\xaa\\xf5\\xf9\\x42\\x50\\xaf\\x22\\xf0\\x17\\xd0\\xb2\\x30\\xb8\\x42\\x7d\\xdc\\xe5\\x29\\x55\\xdd\\x16\\x92\\xca\\x15\\x50\\xfc\\x82\\xae\\x88\\x03\\xee\\x1a\\x32\\x06\\x87\\xd6\\xd4\\x91\\x19\\x61\\x9f\\x6e\\xc3\\xc3\\xd5\\xc4\\x3b\\xc7\\xa3\\xe0\\xfb\\x67\\xaa\\xe0\\xfb\\x89\\xf8\\xc3\\xdb\\x6e\\x88\\xc6\\x35\\x34\\x1a\\xb2\\x69\\xec\\x1b\\x28\\xe6\\xa6\\xa6\\x57\\x62\\xee\\x67\\x77\\xdd\\x63\\x14\\xf2\\xa5\\xd9\\x70\\x1f\\x1d\\x01\\xe3\\xc3\\x46\\xe2\\xe4\\x7c\\x8b\\x3e\\x10\\x80\\x99\\x7b\\x52\\xab\\xa3\\x92\\xba\\xa4\\x3d\\x6d\\x6f\\x8a\\x44\\x02\\xda\\x46\\x73\\x0c\\xc6\\x85\\x31\\x97\\x3e\\x1c\\x08\\xcf\\x28\\x04\\x9c\\x2e\\x98\\xf8\\xba\\x60\\xda\\xe7\\x92\\xa7\\x23\\x97\\x37\\xb2\\xea\\x27\\x7f\\x36\\xf9\\x48\\xa3\\x72\\x3d\\xb7\\x7a\\x8f\\xcc\\xa1\\x2d\\x52\\x6e\\xc9\\x90\\xb3\\x93\\x84\\xdc\\xfd\\x71\\xa7\\x72\\x47\\x74\\x3f\\x0a\\x53\\x7c\\xdc\\x66\\xd1\\xc4\\x6d\\x80\\x41\\xf9\\x53\\xb8\\x77\\x24\\x79\\x8a\\x42\\xf1\\x36\\xd4\\x5f\\x0f\\x33\\x7c\\xd4\\xab\\xd1\\x7b\\x76\\x88\\xbc\\x51\\xd0\\xc1\\x9f\\x40\\x1d\\xcc\\xe1\\xf9\\x2d\\xc8\\xb7\\xb3\\x0e\\xa3\\x2e\\x6a\\x75\\x30\\x29\\x83\\xd9\\xdc\\x44\\x04\\x02\\xa9\\x54\\xda\\x4d\\xc1\\xe5\\xd2\\xf9\\x08\\x37\\xa1\\xd3\\x11\\x6e\\x2a\\x6e\\x8a\\x87\\x07\\x0b\\x71\\xbf\\xc5\\x68\\x82\\x56\\x63\\x52\\x9d\\x77\\xba\\x91\\x4f\\x6c\\xb1\\xe1\\x12\\x21\\x90\\x83\\x24\\x31\\x8e\\x94\\x73\\x41\\xf4\\xb5\\x2a\\x1c\\x16\\x63\\x8f\\x87\\xd2\\x44\\xb5\\x16\\x76\\xd9\\x3f\\x37\\x5c\\xb6\\xe8\\xdc\\x4b\\xb6\\x3c\\x79\\x66\\x02\\xac\\x3c\\xf6\\x21\\x3e\\x01\\x3d\\x75\\xeb\\xab\\xfc\\x57\\x5f\\x9d\\xf3\\xf8\\x44\\x1b\\x95\\xcf\\xb7\\xf4\\x44\\x0b\\xa3\\xaf\\xb8\\x98\\xee\\xf8\\xeb\\xd2\\xd3\\x56\\x2e\\x5e\\xbc\\xb0\\x04\\xc0\\xeb\\xbf\\xe6\\xbf\\xb1\\x6c\\xdf\\xf8\\xbb\\x7f\\x76\\x8e\\xec\\x0f\\x65\\xda\\x0d\\x8f\\x59\\xd7\\xad\\x73\\x64\\x40\\x9b\\x70\\x3e\\x33\\x09\\x7c\\x48\\xcd\\x13\\x7b\\x2d\\x0c\\xe4\\x3d\\xb8\\xd7\\x82\\x13\\x26\\xbd\\x31\\xb3\\xc5\\xc2\\x26\\xd8\\x24\\xe1\\x36\\x18\\x8d\\x0e\\xcb\\x68\\x1d\\x68\\xc4\\x5d\\x16\\xd0\\xa3\\x76\\x87\\xd8\\x77\\x41\\x7e\\x6e\\xa6\\xbc\\x4f\\x65\\xc5\\x9d\\x34\\xc4\\x43\\x65\\xd5\\x03\\x33\\x96\\x8b\\xe5\\xf0\\x03\\x33\\x4e\\xf5\\x36\\x1f\\x5c\\x85\\xdb\\x2e\\xcc\\xb9\\xef\\x9c\\x1d\\x49\\x45\\xdb\\x85\\xc9\\xa7\\x74\\xe1\\xb6\\x0b\\xf4\\x05\\xa8\\xed\\xc2\\x35\\x3c\\x7f\\x35\\x6a\\xbb\\x00\\x9e\\xc2\\x6d\\x17\\xe6\\x95\\x66\\x49\\x6d\\x17\\xd0\\x9b\\x3f\\xf0\\x47\\xaa\\x1b\\xce\\xc1\\x47\\xe4\\xf2\\x76\\x1b\\x45\\xd3\\x56\\xaf\\xce\\xaa\\x0b\\xf8\\x6d\\x36\\x13\\x05\\x35\\xc6\\x24\\xbc\\xb9\\xe6\\x86\\x7e\\x7e\\x28\\xbc\\x2c\\x55\\xf4\\xb9\\x10\\x8a\\x66\\x82\\xc1\\xa0\\x66\\x37\\xcf\\xa0\\x27\\x88\\xa9\\x27\\xaf\\xbd\\xfd\\xc1\\xd3\\x9e\\xbb\\xb1\\xf2\\x04\\x91\\x3c\\x7d\\xf2\\xc4\\xd8\\x86\\x35\\x3f\\xbd\\xf9\\x92\\x7f\\x5c\\xaa\\x7a\\x83\\x08\\x7d\\x2b\\x78\\x91\\x9a\\x48\\xff\\x93\\x08\\x40\\xef\\x35\\x23\\x1f\\xd6\\xc7\\xac\\x7e\\xc2\\x4a\\x07\\x5d\\x2e\\x5a\\xd7\\xa0\\x6b\\xd4\\xeb\\xbd\\x11\\xbb\\xdd\\x6b\\xb5\\x6a\\x02\\x5e\\x7f\\xcc\\xa4\\x41\\x8f\\xad\\x63\\x49\\xaf\\xf8\\x4e\\x03\\xdd\\xe3\\x14\\x2e\\x8d\\x28\\xda\\x7f\\x89\\xad\\x06\\xb3\\x78\\xac\\x50\\x84\\xc2\\x28\\x23\\x62\\xd1\\x9c\\x53\\x7c\\xc9\\x39\\x21\\x84\\x46\\x58\\xa1\\x62\\x4d\\x7d\\xc6\\xd3\\x9f\\xbf\\x10\\xb8\\x82\\xbf\\x22\\xbb\\x7b\\xa6\\x2f\\x35\\xad\\xb9\\x66\\xe1\\xca\\x97\\x7f\\x7a\\xf5\\xcc\\x53\\xc1\\xdf\\x33\\x1d\\x99\\xa5\\x61\\xdb\\xe4\\xfa\\xbe\\xe9\\x64\\xfd\\xb0\\xd1\\xf9\\xd1\\x1b\\xdf\\xbb\\x88\\xb7\\xf4\\x4c\\x7e\\xe4\\xf6\\x93\\x17\\x0c\\xac\\xbe\\x61\\xea\\x59\\xc7\\x7c\\xc9\\xb6\\x78\\x24\\xd9\\x82\\xe7\\x73\\x1a\\xd4\\x91\\x39\\xac\\x1e\\xca\\x37\\x09\\x63\\x41\\x68\\xac\\xa4\\x4b\\xc3\\xe8\\x28\\x8a\\x74\\xc5\\xbd\\xa4\\x85\\xd5\\x85\\x2c\\x71\\x9d\\xce\\x52\\x9f\\x72\\xb9\\x8c\\x2c\\xa9\\x61\\x18\\xd2\\x4b\\xf8\\xed\\x76\\xa3\\x87\\x20\\xd1\\xbb\\x99\\xa8\\xfc\\xf0\\x33\\x2b\\xea\\x09\\x3e\\xf0\\xb6\\xc9\\x6b\\xa0\\xa8\\xb7\\x5a\\x15\\x17\\xa6\\x52\\x59\\x97\\x3b\\x67\\x06\\x48\\x7d\\xe4\\xaf\\x04\\xbb\\x93\\x29\\x2e\\x67\\x97\\x3e\\x45\\x8b\\xca\\x5b\\x47\\x0a\\xa3\\xf6\\xb7\\x67\\x5e\\x75\\x2d\\x5a\\xf7\\xe5\\x9b\\xb7\\x3f\\xf1\\xc7\\xe7\\xd3\\x27\\x7b\\x9d\\xf9\\x17\\x5c\\x8b\\x4f\\x39\\x7f\\x72\\xfe\\xe4\\x75\\x13\\x99\\x2b\\x0a\\x09\\x7f\\x6a\\xda\\xfa\\xe4\\x43\\x1f\\xfc\\x87\\xff\\xf2\\xc1\\x1b\\x9e\\xff\\xc0\\x6b\\x3f\\xf5\\xe4\\xe9\\x97\\xf2\\xbf\\xb8\\x67\\xed\\x84\\x39\\x3b\\x36\\xf6\\x8c\\x2d\\x97\\xa5\\xb7\\xf0\\x36\\x96\\x59\\x21\\xf5\\x9d\\x23\\xcf\\x66\\x09\\x98\\xf7\\x8e\\xc8\\x9b\\xec\\x80\\x05\\x24\\x49\\x3b\\x28\\x83\\xcb\\xe0\\x46\\x6d\\x79\\x76\\xc1\\xa4\\x17\\x35\\xaa\\x20\\x68\\xda\\xce\\x08\\x2f\\x97\\xb3\\xf8\\xee\\x6d\\x6f\\xd5\\xbb\\x45\\x4a\\x79\\xbc\\x91\\x14\\x4f\\x37\\xc0\\x2d\\xab\\x5f\\x5c\\xbd\\xdc\\xbb\\xdc\\xec\\xd8\\x70\\xd1\\x88\\x66\\x4f\\xa3\\xbb\\xb9\\x41\\xab\\xbb\\xc5\\x4b\\x2f\\x3c\\xb6\\x89\\xbc\\xf0\\xea\\xfe\\x15\\xa7\\x1a\\x36\\x70\\xcd\\x99\\x9e\\xab\\x91\\xff\\xf9\\x15\\xf1\\x5b\\xf0\\x15\\xfd\\x19\\x1c\\x07\\x4c\\x85\\x85\\x71\\x38\\x68\\x03\\xed\\x36\\xb8\\xcc\\x14\\xdc\\xaf\\x8d\\x0e\\x87\\x0e\\xe0\\x01\\xbc\\xd4\\xdd\\xd2\\x8e\\xb5\\x43\\x5d\\x3b\\x13\\xba\\x5b\\xa1\\x93\\xf3\\x4a\\xe5\\x05\\x5d\\x19\\xd8\\x3b\\xf1\\xc5\\x89\\x2b\\xdc\\x2b\\xba\\xec\\xeb\\x97\\x77\\x8c\\x71\\xfb\\x02\\x9d\\x4d\\x9a\\xf6\\x5b\\xdd\\xd4\\x00\\xb8\\x9d\\x5f\\x71\\x35\\xff\\xd6\\x59\\x8b\\xf5\\x97\\xc1\\x31\\x80\\x20\\x7a\\x77\\xd4\\x48\\xbc\\x48\\x9d\\x25\\xbe\\xc3\\x9f\\x9d\\xf7\\x7a\\x62\\x3a\\x5d\\xa3\\xd5\\x1a\\xa4\\x29\\xaa\\x35\\x18\\xfa\\x7f\\xf7\\x06\\x1f\\x1b\\x1d\\x36\\x3c\\xdc\\xb9\\xf0\\xff\\xfa\\x02\\x7f\\xd6\\xff\\xef\\x2f\\xf0\\xd1\\x9a\\x5f\\x05\\xbe\\xa2\\xae\\x82\\x6b\\xee\\x21\\x7a\\xf2\\x1e\\xa3\\xc5\\x43\\x58\\xb4\\x5a\\x82\\xa4\\xbc\\x2e\\xb7\\xdb\\x47\\x52\\x94\\x81\\xb5\\xd9\\x5c\\x86\\xdd\\xe8\\x19\\x18\\x7e\\x8e\\x9f\\x55\\xcd\\xa7\\x52\\x33\\x02\\xb6\\xca\\x86\\xa4\\x7a\\xf6\\x48\\xd2\\x7d\\x26\\xe1\\x39\\xa8\\x66\\xfe\\x8b\\x03\\xe2\\xd3\\xee\\x7d\\xe0\\x2b\\x70\\xea\\xa8\\xa9\\x63\\x97\\x9c\\x66\\x1b\\x03\\xbe\\xe6\\x17\\xcc\\x8a\\xce\\xbb\\x60\\x16\\x78\\xe2\\xc8\\x57\\x82\\x1f\\xc9\\xc0\\x3f\\x7e\\x0d\\xbf\\xe3\\x37\\x13\\x83\\xf9\\x10\\xcd\\x51\\x1a\\x1d\\xd0\\x92\\x0c\\xa5\\xd7\\x68\\xe1\\x98\\xb4\\x16\\x83\\xc9\\x64\\xe5\\xf4\\x7a\\x7c\\x83\\xe2\\x97\\x70\\x01\\xb4\\xf8\\x35\\xba\\x11\\x8e\\x52\\x68\\x84\\x23\\xb4\\x8d\\x51\\x77\\x2b\\xad\\x98\\x98\\x3d\\x6b\\x17\\xb4\\x03\\xea\\x29\\x7a\\x4a\\x3f\\xae\\x30\\x6c\\x4f\\xf7\\x12\\xef\\x99\\xbd\\x2f\\xf6\\x16\\xf6\\x05\\xf6\\x04\\xa8\\x5f\\x80\\x46\\xfe\\xbd\\xcb\\xf8\\x1d\\x60\\x06\\x99\\xdd\\x2c\\xf6\\xc7\\xeb\\x81\\x63\\xba\\x1e\\xf7\\x2a\\x50\\xf7\\xf1\\x4b\\x0d\\xdd\\xc7\\xaf\\x07\\x35\\x27\\xf8\\x8a\\x3c\\x72\\x8c\\xf9\\xff\\x88\\x8b\\x64\\xf1\\x6b\\x88\\xab\\x27\\xc6\\xe6\\xfd\\x48\\x12\\x40\\x47\\x6a\\xb1\\x24\\xb4\\x06\\x28\\x0b\\xa3\\x24\\x86\\xdd\\xa2\\x18\\xaa\\xa7\\x7f\\x82\\xb9\\x2b\\xe7\\xad\\x98\\x33\\xee\\x2b\\x5a\\x7e\\x81\\xd8\\x43\\xde\\x05\\xd7\\xc0\\x02\\x23\\xe5\\x30\\x31\\x29\\x6f\\xf5\\x6a\\x8c\\xe8\\xfe\\x8a\\x3d\\x48\\x59\\xed\\x30\\x24\\x89\\xe0\\x37\\x6b\\x56\\xc2\\x86\\x5a\\xd7\\xb0\\xac\\xd1\\x87\\x5a\\x96\\x39\\xe1\\x84\\x1a\\xa4\\x17\\xcd\\xbd\\x62\\xd3\\x1a\\xd9\\xcd\\x61\\x45\\xc9\\x61\\x15\\x19\\x01\\x84\\x61\\x98\\x48\\xb4\\x00\\x00\\xdb\\x00\\xf6\\x6e\\x77\\x2c\\x58\\xff\\xd3\\x5b\\xc6\\x5f\\xb8\\xe7\\x82\\x65\\xfe\\x65\\xde\\xfe\\x0d\\x6f\\xfb\\xf7\\xf8\\xf9\\x50\\x67\\x9b\\x41\\x33\\x7d\\x64\\x57\\x6c\\xcf\\x92\\x99\\x97\\x5e\\x49\\x2e\\x3b\\xb6\\xe5\\xd6\\x75\\x17\\x8e\\xa0\\x77\\x6c\\xde\\x7c\\xe4\\x0f\\xf9\\x11\\x0d\\x9d\\x0d\\xfe\\xb4\\xb0\\x46\\x75\\xc4\\x1e\\x50\\x82\\x63\\xc6\\xfd\\x12\\xb5\\x94\\x91\\xb2\\xb0\\x1c\\x67\\x35\\xa2\\xfe\\x92\\x31\\x28\\x40\\x71\\x6c\\x52\\x34\\x2c\\xbc\\x7c\\xcd\\x09\\x51\\x6e\\x96\\x12\\x1f\\x57\\xff\\xa1\\xb0\\x40\\xfb\\xdb\\x3d\\xbf\\x9b\\x9c\\xac\\xf3\\xf7\\xec\\x99\\x36\\x27\\x9e\\xa1\\xa7\\x1e\\xd9\\x6a\\x18\\xa5\\xb9\\xdd\\x20\\xc4\\x46\\x1f\\x43\\x1e\\xbf\\xc1\\x72\\xc9\\xe5\\x4d\\xe8\\x5c\\x8d\\xd1\\xd0\\xac\\x89\\xb5\\x99\\x50\\xff\\xd7\\x18\\xfe\\x16\\x60\\xe3\\x2e\\x33\\x61\\xc0\\x4e\\x20\\x5b\\x11\\x42\\xa5\\x17\\x82\\x1d\\x97\\xf0\\xd1\\xf4\\x45\\xef\\x34\\x7a\\xae\\xc5\\xb0\\xea\\xa5\\x3d\\x4f\\x2d\\xac\\x77\\xae\\x5a\\x9f\\x1e\\x1d\\x88\\x80\\x39\\x73\\x47\\xd0\\xae\\xa3\\x67\\xbd\\xb9\\x72\\x99\\xe1\\x76\\x8d\\x30\\xb7\\x89\\x50\\x23\\x66\\x40\\x9f\\x28\\xf4\\x4c\\xa4\\x69\\x00\\x18\\x96\\xc3\\x2f\\x7a\\x69\\xe9\\x45\\xaf\\xf2\\x05\\x3e\\xba\\xce\\x16\\x25\\xbb\\x78\\xdb\\xcd\\x7b\\x2e\\x00\\x2d\\x10\\xf7\\xfb\\x63\\x5b\\x04\\x3a\\xc4\\x8b\\xf4\\x1b\\xd0\\xaf\\x65\\x61\\xec\\xea\\x35\\x99\\x1b\\x7c\\x3e\\x46\\xa3\\xb1\\xd9\\xcd\\x74\\x47\\x5b\\x24\\xd2\\x29\\x74\\xaa\\x18\\xb2\\x51\\xc5\\xae\\xc6\\xa6\\xa4\\x3c\\x29\\xab\\xfc\\x4b\\xea\\x58\\x91\\x55\\x1d\\x77\\xff\\x60\\xc3\\x0a\\x8e\\xaa\\x74\\x3c\\xc8\\x09\\xad\\x2b\\x9e\\x91\\x5e\\x41\\xf7\\x2c\\xb0\\xd7\\xb6\\xae\\x30\\x2d\\xf2\\x5c\\xb9\\xc2\\x33\\xd7\\x12\\x88\\xd7\\xcd\\xb1\\x2c\\x94\\x9b\\x58\\xec\\xe9\\x8d\\x9e\\xb4\\xec\\x34\\xdc\\xc4\\x62\\xa3\\xf0\\x1a\\x7a\\xc9\\x69\\xf5\\x53\\x8f\\x1d\\xdb\\x78\\xbe\\x86\\xbe\\x43\\x3b\\x17\\xfc\\xbb\\x37\\x46\\x9d\\x84\\xfb\\x17\\xc0\\x79\\x7f\\x04\\xed\\xa8\\x9e\\x98\\x96\\xf7\\xc7\\x92\\xc9\\x30\\x9c\\xb6\\xd7\\x66\\xf5\\x86\\x69\\x73\\x83\\xb9\\xd1\\xeb\\xad\\xb3\\xd9\\xed\\x01\\x13\\x5d\\x87\\xec\\xc8\\x0a\\x1a\\x9e\\xd1\\x11\\xae\\x80\\x18\\x9a\\xb4\\x4b\\x3d\\x90\\xd5\\x97\\xd4\\xa4\\x9b\\x1d\\x55\\xef\\xbc\\xa1\\x61\\xa9\\x5e\\x79\\xe7\\xa4\\x57\\xde\\xab\\x54\\xaf\\xbc\\xf7\\xed\\x9d\\x41\\x65\\xcf\\x98\\x00\\xa7\\x37\\x7c\\xe5\\x78\\x38\\xbd\\x39\\x43\\xbc\\xf1\\x3e\\xf2\\x3e\\xd8\\x3e\\xd0\\x3b\\x73\\x60\\x01\\x9c\\x54\\x6a\\x2a\\x78\\x43\\x7e\\xe2\\x0d\\xf5\\xf0\\x3a\\xb8\\x3f\\x2d\\xc0\\x3d\\xdf\\x46\\xe7\\xcd\\x41\\xbf\\x39\\x4e\\x50\\x54\\xdc\\x5c\\x1f\\x6f\\x08\\x05\\x09\\xd4\\x9c\\x83\\x21\\xa2\\x70\\x4f\\x0a\\xc2\\x3d\\x3e\\xb5\\xcb\\x62\\x53\\xa8\\xa3\\xd4\\x9c\\x43\\x2a\\x40\\x09\\x9d\\x30\\xc5\\x95\\x52\\x2e\\xca\\x28\\xaa\\x53\\xd5\\xa2\\x83\\x1c\\x3e\\x60\\x5b\\x32\\xee\\x02\\xcb\\xc9\\xde\\x2b\\x97\\xbb\\x66\\xbb\\xe0\\x42\\xcc\\xb5\\xac\\xa5\\xb5\\x1a\\xe6\\x39\\x56\\x27\\x78\\x78\\xf3\\x49\\xd0\\x59\\x3d\\x28\\x34\\xe8\\x08\\x6d\\x3c\\x9f\\x63\\xe0\\x0a\\x90\\xb7\\x7b\\x3a\\x5b\\xea\\x98\\xdc\\x54\\xd4\\xab\\xa3\\x75\\x2c\\xdf\\x01\\xd7\\x22\\x0f\\xc7\\xbe\\x08\\x8e\\xbd\\x81\\x98\\x98\\x77\\x12\\x2e\\x5f\\x82\\x33\\x98\\x5d\\x09\\x26\\xd4\\x18\\x4a\\x87\\x42\\x75\\x9c\\xc5\\xcc\\xe1\\xb0\\x9b\\x24\\xec\\x70\\x0a\\x66\\x42\\x0f\\x97\\x24\\x40\\xd4\\xe1\\x19\\x48\\x13\\xb0\\x55\\x37\\x88\\x95\\x34\\x0d\\x46\\xd6\\x59\\xc5\\x19\\x28\\x27\\xda\\xb5\\xbc\\x18\\x5d\\xe4\\x65\\x68\\x12\\x50\\xc1\\xb4\\xd6\\xe7\\xf4\\x8c\\x30\\x70\\xdd\\xd2\\x49\\x75\\xf5\\x01\\xe7\\x02\\xc7\\xdc\\x05\\xda\\x79\\x56\\x9a\\x14\\x3b\\x8c\\x34\\x9e\\xcf\\xe9\\xe6\\x85\\xd0\\xc0\\x23\\x3d\\xc7\\x7e\\x67\\x18\\xa5\\xbd\\x83\\xd6\\x20\\x97\\x00\\x3e\\x98\\x4c\\x88\\xfd\\x63\\xa9\\x5b\\xa1\\x4d\\x6a\\x89\\x6c\\xde\\x08\\x6d\\x52\\x07\\x9d\\xb2\\x9e\\x43\\x2e\\x01\\x45\\x05\\x00\\x77\\x98\\x21\\x09\\x06\\x87\\x4a\\x52\\x0b\\xac\\x8a\\xab\\x47\\x9d\\x47\\xa1\\x1f\\x40\\x1e\\x9f\\x7c\\xfa\\x5f\\x8b\\x1e\\xbf\\xf9\\xd7\\x9f\\x2e\\x7a\\x1c\\x5a\\xaa\\xf9\\xd8\\x3f\\xc8\\xef\\x79\\x00\\xca\\xb8\\xbf\\xf3\\x39\\x30\\xc6\\x5f\\x8a\\x7b\\x9a\\xd8\\x84\\x1e\\x23\\x1e\\xab\\x95\\x35\\xdb\\xed\\x2c\\xe1\\xb3\\x78\\x3c\\x94\\x13\\x37\\x37\\x31\\xc8\\xcd\\x4d\\xc4\\xc6\\xd7\\x52\\x33\\x02\\x75\\x8f\\x13\\x7c\\x43\\x0c\\x46\\xf6\\x58\\x56\\x51\\x6a\\xa9\\xd4\\xe5\\x84\\x9f\\x3f\\x73\\x9e\\x97\\x7f\\x02\\x2c\\xbf\\x69\\xd6\\x29\\x1e\\x30\\x47\\xd1\\xeb\\x84\\x37\\x9c\\xba\\xd8\\xf8\\x1c\\x58\\xf4\\xf0\\xe2\\x53\\xe0\\x58\\xd6\\x10\\x7b\\xe8\\x4e\\xe8\\xfb\\xac\\x30\\x17\\x0a\\xa1\\x3e\\x37\\xc0\\x12\\xb2\\x79\\xdc\\x1c\\x9c\\xb7\\x95\\xd0\\x68\\x69\\x42\\x4b\\x85\\x9d\\x46\\x63\\x44\\x23\\xc4\\x0b\\x0d\\x45\\xb7\\xc7\\xa3\\xe3\\x50\\x63\\x00\\x5b\\x28\\x64\\x01\\x95\\x17\\xd9\\x8a\\xfb\\x7c\\xe2\\x0a\\x0a\\x55\\x73\\xfc\\x0c\\xdb\\x86\\xb6\\x28\\x94\\x08\\x92\\x31\\x0a\\x37\\xdf\\x4c\\x09\\x5b\\x83\\x1b\\xac\\xed\\xda\\xb2\\xf5\\xdb\\x3f\\xb6\\xef\\x6e\\xbf\\xf3\\x81\\xff\\xbe\\xd3\\xd9\\x7f\\xee\\xa5\\x37\\xec\\x5e\\xbd\\x7a\\x62\\xdf\\x1e\\x10\\x64\\xef\\xbf\\xee\\x0b\\x40\\x02\\x23\\x7f\\x58\\x73\\xe7\\xb5\\x5f\\xf2\\xdf\\xf1\\x7f\\x01\\x0f\\xbd\\xf8\\xf0\\x3d\\xfa\\x67\\x7e\\x36\\x63\\x0e\\x83\\xd7\\xca\\x48\\xec\\xa1\\x0c\\xf4\\x3f\\x88\\x0e\\x62\\x7c\\x1e\\x66\\x39\\x9c\\x35\\x40\\xb4\\xc4\\xac\\x31\\x3d\\x41\\xc3\\x0d\\xa4\\x8b\\x71\\x37\\x66\\x92\\x28\\x21\\x71\\xfb\\x50\\xff\\x82\\x5d\\x7a\\xad\\x49\\xb6\\x18\\xb1\\x33\\x4f\\x8d\\xe1\\xe3\\xc4\\x43\\xea\\xc9\\x21\\x46\\x3e\\x9d\\x59\\x9c\\xd3\\xa2\\x2f\\xd2\\xd4\\x9c\\x6f\\xba\\xdc\\x21\\x40\\xfe\\xe9\\x99\\x07\\xcf\\x9a\\x68\\x9d\\x14\\x4f\\x06\\xc6\\x77\\xcc\\x5d\\xc0\\xb4\\x83\\xc7\\x4d\\x93\\xa7\\xdd\\xe9\\x6a\\x9b\\x71\\xf9\\x85\\x8f\\x3d\\x70\\xdd\\x8d\\x96\\x27\\x0c\\x7d\\xdd\\x9b\\x7a\\x56\\xae\\x5d\\x4a\\xbe\\x77\\xe9\\xfa\\xf8\\x22\\xdd\\x48\\xed\\x1d\\x86\\xa9\\x73\\x1c\\x2d\\x80\\x02\\xbe\\x6c\\xdb\\xa9\\x9e\\x88\\xdb\\x16\\x3c\\x77\\xc1\\xb9\\x6b\\x4e\\x5b\\xe6\\x68\\x4b\\xcf\\x8e\\x36\\xf8\\x82\\xcb\\x04\\x7f\\x70\\x27\\xf1\\x22\\xf9\\x28\\x53\\x46\\x7d\\xc2\\x9e\\x33\\x79\\x49\\x8f\\xd9\\x0a\\x6d\\xbe\\x6e\\x17\\xc5\\x54\\xc2\\x51\\xc1\\xec\\xd1\\x96\\x27\\x85\\xc4\\xca\\x3a\\xbc\\x09\\x30\\x63\\x1b\\x03\\xb1\\xb6\\xe6\\x0e\\xe3\\x5d\\xfe\\x6b\\xae\\x9b\\x1c\\x0f\\xf8\\x3a\\xda\\xba\\x8d\\x77\\xfb\\xae\\x7e\\xd1\\x74\\xa7\\xb9\\xa7\\x9f\\xaa\\xbf\\xfe\\x1c\\xc3\\x5d\\xe6\\xfc\\xe4\\xa3\\xef\\x5c\\x73\\x8e\\xb0\\x27\\x8d\\x25\\x7e\\x49\\xe6\\x99\\xbb\\x60\\x7c\\x30\\x35\\xef\\xb3\\x38\\x8d\\x1c\\xe3\\x75\\x72\\x61\\x4e\\xef\\xa5\\xad\\x11\\x6b\\xd4\\xeb\\x65\\x4c\\x76\\xbd\\xde\\x62\\x40\\x9b\\x94\\x1b\\x9a\\x41\\x7a\\x17\\x41\\x06\\x15\\x8e\\x28\\x5b\\xd5\\xf5\\x44\\x92\\xac\\x1d\\x9f\\x94\\x55\\x35\\x3f\\xe1\\x64\\x33\\x4e\\x9d\\xd2\\x14\\x1c\\xb0\\x6b\\xae\\xd0\\x8f\\x3b\\xc3\\x27\\xb6\\x40\\x99\\xc0\\x8d\\x08\\xa7\\xeb\\xed\\xeb\\x97\\xb5\\x8f\\x04\\x05\\xfd\\xe9\\xad\\xee\\x2b\\x47\\x74\\x88\\x9d\\x50\\xae\\x19\\x35\\x5a\\xfb\\xa7\\x33\\x56\\x9a\\x50\\x5c\\x19\\x84\\xf9\\xdc\\x3d\\x70\\x0f\\x08\\xc0\\x9c\\x7f\\x5e\\x3e\\xea\\x75\\x81\\x98\\x3f\\xe6\\x32\\xbb\\xe8\\x44\\x84\\xd2\\xb0\\xd0\\x80\\x93\\x16\\x4b\\x40\\x83\\x06\\x0e\\x7c\\x3e\\x03\\x15\\x40\\x56\\x1c\\x14\\x5b\\xa3\\x18\\x94\\xad\\x51\\xc4\\x9b\\x99\\xa2\\x39\\x67\\x55\\xe7\\xf6\\xe2\\x07\\x54\\x84\\xf0\\x06\\x38\\x95\\xa5\\x1a\\x74\\x5b\\xd3\\x2f\\x5d\\xd3\\x04\\xd7\\x0f\\x03\\xe1\\xdc\\xde\\xdc\\x59\\xae\\x15\\x19\\x93\\xec\\x89\\x9c\\x0b\\xbd\\x0b\\x73\\xbf\\x1e\\x7b\\x81\\x95\\xff\\xb3\\x95\\x3e\\xc8\\x7f\\x04\\xea\\xf8\\x8f\\xae\\xfa\\xc7\\x02\\x56\\x3f\\x37\\x8c\\x9a\\xa7\\xa4\\xce\\xbf\\x0a\\xd4\\x1d\\xbb\\xf1\\x82\\xb9\\xfd\\x75\\xf3\\xa4\\xbe\\xcd\\x7f\\xa2\\x9e\\x83\\x73\\x6a\\x81\\x39\\x9b\\x3b\\x60\\x8f\\x9a\\xd2\\x54\\x8a\\x33\\xd9\\xdd\\x14\\xc7\\xb4\\xb4\\xb6\\xb4\\x01\\xb7\\xbb\\xd9\\x83\\x16\\x20\\x2e\\xf7\\xb0\\x1b\\x52\\x99\\x91\\x82\\xba\\x2b\\x0d\\xe1\\x84\\x6f\\x24\\xcb\\x5f\\xc3\\x25\\xa5\\xbc\\x33\\x25\\x04\\x6f\\xd4\\x3d\\xd3\\x9a\\xf5\\xb9\\xb3\\x7f\\xb5\\xf2\\xfe\\x67\\xdb\\x26\\x34\\x3a\\x1c\\x93\\x02\\x37\\x67\\xfb\\x9a\\x3a\\x9b\\xe6\\x4c\\x5f\\x78\\xb6\\xdd\\x71\\xd2\\xd4\\x3b\\xe9\\x93\\x92\\x26\\xcf\\x86\\xfe\\x33\\xb6\\xcd\\xbd\\xf5\\xd2\\x31\\x17\\xf7\\xb7\\xd8\\x8c\\xf6\\x9b\\x47\\x76\\x66\\x06\\x67\\xcf\\xef\\x9a\\x31\\xf7\\x9a\\x95\\xe9\\x81\\xfe\\xf0\\xc4\\xb9\\x78\\xfc\\x17\\xc2\\x35\\x39\\x09\\x8e\\xdf\\x81\\x62\\x36\\x56\\xab\\x25\\x49\\xa7\\xc5\\x6a\\x75\\x59\\x18\\xa1\\x25\\x82\\xd4\\x21\\x47\\xdd\\xff\\x36\\x22\\x67\\x19\\xae\\xac\\xd4\\xc1\\x15\\xdc\\xc1\\x7f\\x42\\xcf\\xd9\\xd3\\xaf\\x69\\xef\\x9e\\x3c\\xd9\\xda\\xbf\\x67\\x66\\x60\\x07\\xf8\\xf0\\x63\\x47\\x23\\xcc\\x2f\\x46\\x35\\x46\\x73\\xc3\\x16\\x2c\\x00\\xfb\\xf8\\xf4\\x7d\\x5b\\x20\\x4f\\xd4\\x53\\xaf\\x97\\x3e\\x0c\\xf5\\x00\\xfa\\x6d\\xa3\\xc5\\xa2\\xf5\\x6a\\x83\\x4e\\x8a\\x0a\\xb9\\xe1\\xce\\x59\\x0f\\xbd\\xac\\x01\\xb2\\xb6\\xc9\\x75\\x13\\xa1\\xa9\\x71\\xd6\\x56\\xdd\\xd7\\x3d\\xa2\\x4c\\x75\\x84\\x6f\\x6a\\x8f\\x02\\xe4\\x0d\\x73\\xe6\\xaf\\x7a\\x6b\\x03\\xff\\x4f\\xe6\\xe4\\xbd\\x33\\xb5\\x67\\x17\\x6e\\x98\\xed\\x4f\\xfa\\x9d\\x05\\xfa\\xf0\\xca\\x33\\xef\\xe7\\xff\\x7d\\xe7\\x87\\xce\\x36\\xf0\\x05\\x3f\\xb9\\xa5\\xee\\xbc\\xbf\\x6f\\x5d\\xa8\\xb9\\x8d\\xe1\\xb0\\x0c\\x34\\xe0\\x6f\\x30\\x4f\\x52\\xf4\\x6b\\x31\\x68\\x75\\x3a\\x3d\\xa5\\x43\\x21\\x35\\x2b\\x77\\x30\\x55\\xf5\\x6b\\xc9\\xda\\x63\\x14\\xaa\\x92\\x51\\x31\\xf0\\x88\\xd0\\xaf\\xc5\\x3a\\xe6\\xf7\\x6f\\xd0\\x07\\x8f\\xb1\\xe0\\xf1\\xdc\\x35\\x8d\\x9b\\xf9\\x59\\xe8\\x3b\\x68\\x70\\x37\\xf9\\x0c\\xef\\x4f\\x99\\xbc\\x49\\x43\\x92\\x14\\x07\\xf9\\x31\\x3a\\x46\\x4f\\xd1\\xbf\\xc0\\x9d\\x93\\xe4\\x6f\\x15\\xc8\\x2d\\x71\\x85\\x3e\\x3b\\xd2\\x21\\x35\\xe7\\xf0\\x82\\x17\\xf8\\xdd\\x7e\\x32\\xe9\\xe3\\xc7\\x83\\xcb\\xfd\\xe0\\xab\\x1b\\xc0\\xc7\\x37\\xdf\\xc8\\xc7\\x6e\\xc1\\x3e\\xe7\\xdf\\xd0\\xe7\\xfc\\x09\\x8e\\xdb\\x85\\xfa\\x5a\\x30\\x4e\\x82\\xd2\\xd8\\x1c\\x2c\\xa0\\x58\\x1b\\x6d\\x70\\x1a\\x3c\\x4e\\x37\\xc0\\xf1\\x29\\x03\\xb3\\xe3\\xc6\\x5d\\x06\\x9d\\x59\\x61\\xfa\\x55\\x0f\\x3b\\x85\\x90\\x15\\xb3\\x34\\x03\\x85\\x43\\xcd\\x45\\x73\\xe0\\x00\\xff\\xf3\\x00\\x99\\xf4\\x43\\xfe\\x57\\xa4\\xa8\\xc9\\xb1\\xa4\\x6f\\x7c\\xf3\\xc9\\x05\\x2b\\x3f\\xc9\\x47\\x9f\\x74\\xf3\\x4d\\x7c\\xec\\x2d\\xdf\\x28\\xed\\xad\\x86\\x05\\x33\\x23\\xf3\\x6f\\xc0\\xb9\\x63\\x14\\xcc\\xa3\\x5e\\xc1\\xb5\\x83\\x30\\x31\\x25\\x1f\\x04\\xba\\xb0\\x83\\xf6\\xc2\\xfc\\x88\\xe6\\x48\\x28\\x6d\\x3a\\xe2\\xb5\\x58\\xa2\\x4e\\x32\\x60\\x34\\x92\\x0c\\x0b\\xa3\\xda\\x62\\x58\\xab\\x75\\x90\\x8a\\xce\\xbc\\xe2\\xab\\x84\\xaa\\x36\\xb1\\xf8\\x8b\\x0d\\xa2\\x54\\xe4\\x97\\xa5\\x69\\xc0\\x01\\xb9\\xa3\\x28\\x88\\xb4\\xf1\\x6f\\xf9\\xa0\\xb4\\xc4\\xd1\\x3e\\xb2\\xec\\xbe\\x59\\x93\\x4f\\xb9\\xf1\\xe6\\xd2\\x22\\x30\\x39\\xd5\\xea\\x75\\x46\\xc7\\xb5\\x81\\x47\\xc6\\x8a\\xe2\\xbb\\x6a\\xe5\\xc2\\x81\\xb3\\x97\\xdd\\x0c\\xc2\\xb1\\xb0\\xc3\\xdd\\x95\\x43\\xb2\\xfc\\x1a\\xc6\\x44\\x7a\\x28\\x4b\\x94\\x87\\xdb\\xb5\\x94\\x55\\xc7\\x99\\xac\\xb4\\xc1\\xed\\x72\\x79\\x0d\\x3e\\x8e\\xd3\\xbb\\x51\\x4f\\x5b\\x1d\\x0e\\x85\\x08\\xb8\\xae\\x62\\x28\\x24\\xbf\\xb1\\xca\\xca\\x4d\\x0a\\xa5\\x7a\\x6a\\x42\\xae\\xa7\\x42\\x4d\\x85\\xfe\\x1e\\xf4\\x0c\\x2e\\x3a\\x75\\xcd\\x30\\x1f\\x70\\xf0\\x97\\xfa\\xc9\\x33\\x7c\\xfc\\xfb\\xe7\\xad\\x7f\\xfb\\x51\\xfe\\x8f\\x99\\x9f\\xdb\\xc1\\xf8\\xd5\\x8b\\x4f\\x2f\\x5c\\xf5\\xbf\\x37\\x5f\\xcf\\x97\\xed\\x5b\\x37\\xdc\\xff\\xda\\x7f\\x83\\x37\\xe1\\xd8\\xe3\\x26\\xf0\\x29\\xd5\\xca\\xb2\\xd0\\x0c\\x1d\\xd0\\x56\\xda\\xf2\\x0e\\x8f\\xdd\\x0e\\x2d\\x34\\x68\\xf1\\xfb\\x49\\x32\\xe4\\xb4\\x7a\\x3c\\x84\\x91\\x95\\x9a\\x6c\\xb7\\x48\\x55\\x18\\x65\\x77\\x65\\xab\\xf0\\x1e\\x08\\x55\\x36\\x28\\xd1\\xef\\xe1\\x0b\\xf8\\x70\\x90\\xe4\\xb0\\xef\\x96\\x95\\x6e\\x58\\x7d\\xe9\\x39\\xcf\\x7b\\xc7\\xce\\x09\\x40\\xce\\x9f\\xf6\\xcd\\xf5\\x03\\xe0\\x64\\x59\\x7e\\xcf\\xfd\\xfc\\xba\\x3d\\x4f\\x3f\\xb0\\x0d\\xac\\x7d\\xfe\\xe8\\x82\\x47\\x9f\\x3c\\x3b\\xff\\x08\\x15\\x7d\\xe8\\xa1\\x45\\xbd\\x8f\\x12\\x14\\xff\\x77\\xfa\\x11\\x32\\xc0\\xce\\x86\\x5a\\xa5\\x85\\x7b\\xba\\xe5\\x59\\xb8\\x73\\xe9\\x75\\x04\\xd1\\xd2\\xde\\xfe\\x46\\x3b\\x2a\\x12\\x52\\xb9\\x2c\\xc5\\xf5\\x82\\x2c\\xc7\\xc0\\x8d\\x63\\xfe\\x59\\xdc\\xd7\\x36\\x76\\x5e\\x7a\\x7f\\xfa\\xe8\\x31\\xf8\\x83\\x7e\\x04\\x5c\\x9f\\xe0\\xcf\\x8f\\xbe\\xfd\\xd1\\x47\\xf0\\x1f\\x21\\xcf\\x4d\\x41\\x7a\\xcc\\xf1\\xe9\\x51\\xd0\\xb9\\x70\\x20\\x91\\x13\\xe8\\xb1\\xec\\xb5\\x5f\\x73\\x65\\x82\\xdf\\x0d\\x89\\x81\\x18\\xa6\\x18\\x05\\x37\\x25\\xf8\\xd5\\x12\\x45\\x50\\x0e\\xf3\\xd3\\xcb\\x7c\\xf9\\x51\\x22\\x4d\\x98\\x8a\\x2e\\x07\\xe1\\xf0\\x12\\x2d\\xd9\\x03\\x96\\x97\\xf1\\xfd\\xa0\\xce\\x0e\\x74\\xaa\\xdd\\x4c\\x0a\\xff\\xc6\\xdd\\x23\\x85\\x20\\x95\\x15\\x9d\\x2f\\xf4\\xb3\\x6e\\x72\\xe1\\x69\\x91\\x44\\x04\\xfe\\x93\\x48\\x27\\x9a\\x9a\\xdb\\x35\\xd9\\xf1\\xd9\\xec\\x74\\xb3\\x69\\x4a\\x38\\x19\\x5e\\xca\\x4f\\x0f\\xfb\\xcd\\x2e\\x8b\\x91\\x65\\x75\\x26\\xbb\\xd5\\xe8\\xb4\\x59\\x34\\x36\\x67\\x6b\\x20\\xe1\\x4d\\xa1\\xeb\\xb2\\xb4\\x37\\x6a\\xb6\\x9b\\x0d\\x1a\\x1b\\xcc\\x08\\xcb\\xbd\\xf4\\xbb\\x64\\x23\\xcb\\x41\\xdb\\xb4\\x3d\\x07\\x9c\\x4e\\x8b\\xc1\\x82\\x1e\\x3f\\x1d\\xb0\\x0a\\x5f\\xa8\\x46\\xd7\\x6a\\x95\\x2d\\xda\\x46\\x91\\x23\\x00\\xc9\\x76\\x8d\\x3a\\xef\\xdc\\x95\\xbd\\x0b\\xcf\\xd0\\x3d\\xcb\\x9c\\xdc\\xb0\\xf0\\xec\\x35\\x7d\\x49\\x26\\x17\\x8e\\x87\\x97\\x9e\\xd1\\xd2\\xe5\\x73\\x0c\\xd6\\xd5\\xd7\\x41\\xba\\x67\\xd2\\x4f\\x80\\x0f\\x98\\xf7\\xa0\\xbc\\x74\\xbb\\x60\\x6c\\x8b\\x68\\xc2\\xb9\\x45\\x73\\x6e\\x26\\x7a\\x0f\\x18\\xf1\\xed\\x24\\xfe\\x6f\\xfc\\x56\\x66\\xe6\\xc6\\xdb\\xee\\x82\\xb0\\x2e\\x08\\x7b\\xbd\\x08\\x4b\\xd1\\x00\\xc2\\xa2\\x4f\\x00\\x47\\x13\\x39\\x77\\x14\\x5c\\xcf\\x6f\\xe5\\xff\\x36\\xe9\\x5b\\x30\\x82\\x7e\\xe2\\xae\\xdb\\x36\\x0a\\x31\\x4c\\x1a\\xc2\\xdf\\x2f\\xc2\\x33\\x80\\x22\\x5a\\xd0\\x47\\x80\\xa9\\x28\\xc3\\xa5\\xa2\\xef\\x82\\x85\\xc0\\x39\\xe9\\x5b\\xfe\\x37\\xcc\\x7b\\x08\\x1c\\x94\\xaf\\x84\\xb0\\xdf\\x89\\xb0\\x80\\x21\\x89\\x96\\x03\\x48\\xfb\\xa3\\x5c\\x2a\\x11\\x05\\xdf\\xf1\\xbf\\xf9\\x76\\x12\\x70\\x82\\x85\\x4c\\x33\\x1a\\x08\\xa6\\x4d\\xd2\\x7b\\xc8\\x41\\xe6\\x10\\x74\\x7a\\xde\\xbc\\x8e\\x85\\x18\\x30\\x5c\\x24\\x61\\xee\\xdc\\x72\\x40\\xb8\\xa5\\x8e\\xaf\\x70\\xb9\\x73\\x90\\x17\\x97\\x28\\xfe\\xf9\\x10\\xe8\\x9a\\xfc\\xf5\\x67\\xfc\\x6b\\xcc\\xa1\\x75\\x17\\xdd\\x7d\\xdb\\xe5\\x97\\xde\\x83\\x69\\x18\\x20\\x8d\\xf9\\x12\\x0d\\xc0\\x42\\xbd\\x81\\x7f\\x73\\x94\\x8a\\x06\\x60\\x52\\x70\\x0c\\xee\\x1c\\x39\\x9f\\x7f\\xed\\xb3\\xaf\\x27\\x83\\xae\\x43\\x7f\\x66\\xe6\\xdf\\x73\\xe9\\xe5\\xb7\\xdd\\x7d\\xd1\\x3a\\x74\\x07\\xed\\x13\\x7e\\x0e\\xa1\\x2f\\xbf\\x86\\xa2\\xf9\\xbc\\xce\\xa0\\x65\\x19\\x86\\x24\\x09\\x13\\xfa\\x14\\xe3\\x01\\x5c\\x24\\xb6\\x20\\x11\\xd9\\xd1\\x61\\x41\\x56\\x59\\x40\\xe5\\x3f\\xc9\\xd3\\x0b\\x74\\xc0\\xd5\\xd5\\x68\\xd7\\x39\\x5c\\xf6\\xf8\\x28\\x53\\x80\\x9f\\x03\\x26\\xc6\\x35\\xe3\\xeb\\x33\\xcc\\x19\\xcc\\x98\\xbe\\xeb\\xd0\\xb7\\x05\\xe8\\xe5\\x20\\x09\\xd7\\x9c\\x45\\x32\\xa1\\xd0\\xda\\xfc\\x16\\x5a\\x44\\xc2\\xc9\\xb9\\x9d\\x09\\x06\\x44\\xef\\xbb\\x8f\\xff\\x98\\x39\\xe9\\xe9\\x0d\\xfd\\xfd\\x1b\\x9e\\x46\\xbe\\x92\\xef\\x85\\x63\\x39\\x52\\x3e\\x0c\\xe1\\x8d\\x68\\x34\\x9c\\x0e\\xe8\\x35\\x1a\\x4a\\xc4\\x84\\xbe\\xe5\\x25\\xcb\\x4b\\x50\\xa8\\x1c\\xd3\\x99\\x4b\\x75\\x32\\x6e\\x2a\\xeb\\x86\\xb6\\xf5\\x00\\xff\\xf1\\x7d\\xf7\\x81\\xe8\\xce\\xa7\\x2f\\x9b\\x3e\\x70\\xe9\\xd3\\xdf\\x09\\xd4\\x9e\\x10\\x88\\xa3\\x7e\\x38\\xef\\xf1\\x73\\x98\\x2c\\x73\\xb9\\x2d\\x89\\x7a\\x6f\\x5b\\x39\\xf2\\x0b\\xf2\\x3b\\xc8\\xcb\\x9c\\xd7\\x52\\xa4\\xd3\\xe4\\x34\\xd3\\x5c\\x22\\x6d\\xed\\xec\\x14\\xfa\\xe9\\xe8\\xf0\\x39\\xd3\\x74\\x08\\x3b\\x56\\x84\\x5d\\x0d\\xff\\xc0\\xba\\x8b\\x22\\x7b\\x4b\\xe5\\x6f\\x8b\\xbd\\xdd\\x86\\x46\\x01\\x1a\\xc2\\x42\\x6a\\xcc\\x3a\\xf6\\x03\\x08\\x9b\\xc0\\xb0\\xf7\\x82\\xd5\\xc0\\x44\\xb8\\x60\\xde\\x15\\x8f\\x33\\x49\\x2a\\x7a\\x6b\\x34\\x66\\xa2\\x11\\x34\\x01\\x7f\\xa1\\x6f\\x20\\xe1\\x3e\\x33\\xef\\x41\\xf8\\x71\\xe8\\xbb\\xd4\\x10\\xfe\\x00\\xa1\\x43\\x74\\xf8\\x7d\\xcc\\x3a\\x3c\\x3e\\x81\\xce\\x41\\x72\\x1d\\x1a\\xdf\\xd3\\x54\\xb4\\x54\\xbe\\xad\\x28\\x13\\x11\\xbe\\xa3\\xc4\\xef\\x43\\x6f\\x44\\x04\\x1a\\x18\\xb6\\x17\\xc3\\x92\\x8d\\xa5\\xf2\\xaf\\x8a\\x8d\\x4d\\x66\\x05\\x6c\\x9c\\xdf\\xad\\xa2\\x7b\\x98\\xbc\\x57\\xa0\\x1b\\x2f\\x95\\xcf\\x2a\\xc6\\xeb\\xd4\\x74\\x77\\xab\\xe8\\x1e\\x26\\x33\\x02\\xdd\\x4c\\xa9\\x7c\\x46\\x31\\x93\\x56\\xd2\\x3d\\x9d\\x1f\\x64\\x3e\\xe6\\x2c\\x10\\x36\\x09\\xe7\\x91\\x22\\xd6\\x82\\xa5\\xe5\\x23\\x56\\x4e\\xc3\\x83\\x7d\\xa8\\x33\\x57\\xde\\x40\\xfe\\xa6\\xa5\\xdd\\x60\\x4f\\x90\\x2d\\x2d\\x4c\\x12\\xcd\\x1d\\xa4\\xb1\\xbc\\xd0\\x3d\\x96\\xd9\\xcc\\x47\\x10\\x6f\\xbc\\x80\\x47\\xec\\x40\\xbc\\x08\\x24\\x35\\x01\\x6f\\x7f\\x4b\\x56\\x6b\\x41\\x78\\x56\\x25\\x1e\\x92\\xf3\\x8d\\xec\\x3b\\x10\\x2f\\x25\\xca\\x79\\x3d\\xe0\\x90\\x9c\\x49\\xb7\\x9b\\x49\\x92\\x8e\\x9b\\x1c\\x2e\\x0d\\xa5\\x90\\x33\\xea\\x3d\\xc3\\x62\\x39\\x4f\\x10\\xe4\\x4c\\x6c\\x91\\xe5\\x7c\\x23\\x96\\x47\\x4a\\x94\\xdd\\x58\\x61\\x8e\\x8e\\x52\\x79\\x66\\x51\\x26\\x82\\xe7\\x38\\x1c\\xc2\\xb2\\x58\\x1e\\x13\\x04\\x58\\x9c\\xfb\\x42\\xd8\\x54\\xa9\\x3c\\xbe\\x98\\x6a\\x60\\x6d\\x6a\\x39\\x2b\\xe9\\x1e\\x26\\xa7\\x08\\xb0\\xee\\x52\\xd9\\x52\\x74\\x3b\\xd5\\x74\\x77\\xab\\xe8\\x1e\\x26\\x57\\xc9\\xeb\\x77\\x5e\\xb1\\xb1\\x5e\\x4d\\xb7\\x5b\\x49\\x57\\xf3\\x5f\\x30\\x4b\\x80\\x75\\x96\\xca\\xa7\\x17\\x9d\\x3e\\x35\\xdd\\x6e\\x25\\x5d\\x08\\x6b\\x10\\x60\\xeb\\x4b\\xe5\\x59\\xc5\\xfa\\x8c\\x9a\\xee\\x0a\\xd5\\x78\\x0f\\x91\\x1f\\x09\\xb0\\xbe\\x52\\x79\\x76\\xd1\\xe7\\x50\\xd3\\x5d\\xa1\\x1a\\xef\\x21\\xf2\\x7a\\x59\\x2f\\x86\\x17\\x33\\x29\\x15\\x5d\\xb8\\x4e\\xd7\\x71\\x69\\x08\\x5b\\x8f\\x60\\xb5\\x2f\\x93\\xc8\\xa6\\x3d\\x79\\x13\\x09\\xec\\x70\\x9d\\x80\\xfd\\x06\\xbb\\x93\\x20\\x05\\xf3\\x49\\x23\\x83\\x13\\xbf\\x57\\x3b\\x9c\\xfd\\x18\\xe2\\x4c\\x44\\x3a\\x41\\x6e\\x22\\x20\\x8e\\x95\\xd5\\x1c\\x5b\\xfc\\x26\\xe1\\x86\\x2b\\x1c\\x5d\\x08\\xf5\\xdf\\x9d\\x20\\x23\\x11\\x49\\x25\\xac\\x9d\\x43\\xf1\\x7a\\x85\\x7c\\x59\\xe2\\xe5\\x44\\xbc\\x9c\\x4f\\x3b\\x0d\\x43\\xf1\\x9a\\xa3\\xe2\\xf5\\x1b\\x2c\\x2b\\x1e\\xd4\\x95\\x45\\x6e\\x4b\\x20\\x37\\x67\\x15\\x37\\x59\\x66\\xd7\\x61\\x99\\xd5\\x8b\\x72\\xf8\\x3b\\x96\\x03\\xb0\\x95\\xca\\x4b\\x8a\\x36\\x91\\x97\\x00\\xdb\\xcb\\xaf\\xa0\\x87\\x63\\x1f\\x32\\x51\\x84\\x5d\\x2d\\xc8\\x2c\\x59\\x2a\\x5f\\x57\\x4c\\x46\\x20\\x07\\x05\\xdd\\x4b\\x54\\x74\\xff\\x49\\xde\\x2f\\xd0\\x85\\x6b\\xbc\\xbc\\xe8\\x8c\\xaa\\xe9\\x5e\\xa2\\xa2\\xfb\\x4f\\xf4\\x6d\\x35\\x44\\xb7\\xa1\\x54\\x2e\\x16\\x1b\\x3a\\xd5\\x74\\xe7\\x40\\xf9\\x84\\xb1\\x95\\x7d\\x4e\\x10\\x02\\x7d\\x0b\\xa7\\xa5\\xc1\\x0d\\x84\\x64\\x8b\\xc3\\x99\\x4f\\xf1\\x9f\\x3f\\x80\\xff\\x7c\\x22\\xb6\\x95\\x7b\\x88\\x5f\\xc9\\x6b\\x69\\xc6\\x36\\xd7\\x20\\xda\\xdc\\x12\\xc1\\xe6\\x80\\xd1\\xc8\\x24\\x81\\xae\\xa4\\x33\\xb0\\x1a\\x85\\xcd\\x4d\\x46\\xfd\\x89\\xb8\\x2e\\x08\\x3f\\x49\\x80\\x27\\xf6\\x83\\x65\\x18\\xde\\xe7\\xb3\\x26\\x81\\xfb\\x2f\\x6e\\x2f\\x69\\x50\\xc0\\x9f\\x5e\\xfe\\x86\\xf9\\x9e\\x7d\\x0c\\xc2\\x37\\x62\\xf8\\x4d\\xe0\\xf7\\x60\\x3a\\xe1\\xc8\\x1b\\x40\\x14\\x92\\x8f\\x5e\\x1d\\x8d\\x51\\x3a\\x01\\x1c\\xaf\\x1d\\x7a\\x43\\x44\\xef\\x65\\xe6\\x41\\xf8\\xc9\\x02\\x3c\\xf1\\x0f\\x14\\x75\\x42\\x9f\\xd1\\x61\\x4d\\x92\\x1d\\xab\\x3a\\xba\\xa8\\xb0\\x02\\x1e\\x8f\\xff\\x2b\\x3c\\xfe\\xb4\\x38\\xfe\\x92\\x38\\x7e\\xb3\\x19\\x32\\x30\\xfc\\xc4\\x60\\xa2\\x75\\x4a\\xdf\\x8c\\xbe\\x15\\xce\\xfe\\x1d\\xc2\\x4f\\x11\\xe1\\x6f\\x01\\x75\\x84\\xe7\\x39\\x10\\x0c\\x92\\x49\\xe0\\x43\\x87\\x8c\\xbe\\x80\\x47\\x2b\\x61\\x88\\x32\\xde\\xc7\\x7c\\x85\\xd7\\x2e\\x2d\\xfa\\x13\\xc1\\x36\\x80\\xa1\\x54\\x5e\\x56\\x94\\x19\\xc8\\x7e\\xfb\\x46\\x6c\\x47\\x53\\x44\\xd8\\x3a\\x01\\x16\\xda\\xdc\\xd3\\x15\\xd2\\x8a\\xb1\\xbf\\x2b\\xd1\\x25\\x96\\x81\\x3f\\x80\\x29\\x84\\x2f\\x6f\\x86\\x26\\x84\\x0d\\xc9\\xb2\\xcb\\x22\\x12\\xc7\\x83\\x91\\xc6\\x5f\\x62\\xff\\x25\\xd1\\x87\\x38\\xeb\\xa1\\xfc\\x83\\x79\\x2d\\x09\\xa2\\x51\\x12\\xe2\\x84\\x4a\\x80\\x29\\x86\\x44\\x3e\\x02\\x1a\\x92\\xeb\\xff\\x42\\x3d\\x91\\xe7\\x00\\xe3\\xb1\\xb5\\x3f\\xc5\\x63\\x28\\x7f\\x09\\xe5\\x2d\\x8f\\x17\\xfd\\xff\\x5b\\x24\\xbd\\x5a\\xae\\x9a\\xf3\\xb7\\xe4\\xa7\\xc2\\x3c\\xcc\\xa5\\xf2\\x9a\\xa2\\xd9\\xa3\\x9e\\xf3\\x72\\xd5\\x9c\\xbf\\x25\\xcf\\x17\\x60\\x83\\xa5\\x72\\xa9\\x18\\x4c\\x2a\\xe6\\x5c\\x76\\xf2\\x97\\xc0\\x38\\x06\\xd1\\x6d\\x12\\x74\\x1b\\x00\\x01\\xd6\\x58\\x2a\\x2f\\x2e\\x1a\\xbd\\x0a\\x3b\\xe0\\x8f\\x60\\x58\\x44\\x77\\xaa\\x00\\x4b\\x7c\\x21\\xd8\\x81\\xb5\\x54\\x9e\\x5c\\xb4\\x06\\x69\\x52\\x25\\x4b\\x2a\\x8d\\xfd\\x04\\xa6\\xab\\xed\\x00\\x47\\xe1\\x1f\\x04\\xf2\\x16\\x8a\\x04\\x50\\x11\\xd0\\xcf\\x17\\xcc\\xb4\\xe8\\x29\\xb0\\xab\\xe8\\x94\\xbe\\x57\\x48\\x9d\\x87\\x7d\\xc5\\x61\\x38\\xff\\x24\\xb1\\xec\\x0f\\xc8\\x2b\\xf1\\x23\\xde\\x24\\xfc\\x68\\x1d\\x34\\xc3\\x34\\x2c\\x20\\x13\\x24\\xa0\\x69\\xc1\\x53\\x60\\x57\\x51\\xe1\\xc9\\xf6\\xe1\\xfd\\xb1\\x59\\xf4\\x2f\\x9f\\xc0\\x3f\\x40\\xba\\x67\\xb5\\x22\\xdd\\x7b\\xdb\\x60\\xa6\\xb5\\x55\\xba\\xb7\\x9f\\x8b\\x43\\xf8\\xe9\\x22\\x7c\\x17\\xcc\\x6e\\x04\\x78\\xa8\\x7c\\x86\\x83\\x55\\xf0\\x50\\xef\\xd8\\x3e\\x2c\\xab\\xe6\\x1a\\xbd\\x1b\\x85\\xf4\\x4e\\xab\\xd6\\xbb\\xfd\\x58\\x56\\xd3\\xc5\\x7d\\x8c\\x97\\x61\\xcf\\xab\\x82\\x85\\xfb\\x98\\x8a\\xee\\x61\\xf2\\x63\\x79\\x6d\\x27\\x15\\xcd\\x46\\x35\\xdd\\xdd\\x2a\\xba\\x87\\xc9\\xb3\\x64\\xd8\\x5b\\xab\\x60\\xe1\\x78\\xe9\\xe5\\x98\\x6e\\x8b\\x6a\\xdf\\x05\\x6c\\xa9\\xfc\\x59\\x91\\xd5\\x10\\x95\\xd8\\xa2\\xfc\\x15\\xbf\\x4f\\x5c\\xdb\\x7e\\x01\\x96\\x78\\x48\\x80\\xa5\\x4b\\xe5\\xa9\\x45\\x9a\\x55\\xfa\\x43\\x4c\\x97\\xbd\\x4f\\xa0\\x8b\\xfc\\x39\\x68\\x01\\x7d\\x98\\x3e\\xfa\\x08\\x25\\xf4\\xe7\\x80\\x1b\\xc9\\x69\\x01\\x9d\\x00\\x2c\\xcb\\xa8\\xfd\\x79\\xf9\\x0b\\x7e\\x1f\\xe5\\x64\\x3f\\x17\\xf8\\x20\\xdc\\x72\\x19\\x6c\\xc2\\xfc\\xb6\\x8a\\xb8\\xcc\\x7d\\x30\\x39\\x27\\x13\\x70\\x85\\xc9\\x9a\\xbd\\x60\\xb7\\x6a\\x3e\\x87\\xc9\\x2b\\x85\\x31\\x6a\\x4b\\xe5\\x0f\\x8a\\x5a\\x4e\\x39\\x9f\\x5e\\x7e\\xb7\\x6a\\x3e\\x87\\x45\\x5d\\x05\\x5c\\xa9\\x3c\\xae\\xc8\\x31\\xea\\xf9\\xac\\x50\\xd1\\x3d\\x44\\xde\\x27\\xaf\\xd5\\x23\\x45\\x03\\xab\\xa0\\xcb\\x7f\\xcb\\xaf\\x50\\xd1\\x3d\\x04\\xec\\x02\\xac\\xae\\x54\\x8e\\x15\\x75\\x34\\xa1\\xb6\\x01\\xf6\\xb7\\x58\\x1f\\x5b\\x05\\xfd\\xc2\\xf2\\x47\\xfa\\x15\\x0a\\x41\\x7d\\xf4\\x7e\\xeb\\x0d\\x98\\xdd\\x6a\\x7d\\x64\\xf7\\xe3\\x38\\x6d\\x40\\x88\\xcf\\xc8\\xb9\\x22\\x7c\\x7b\\x3b\\xf4\\xe5\\x99\\xaf\\x32\\xad\\xe6\\x98\\x52\\x1f\\x11\\x7d\\x1c\\x07\\xb7\\x0a\\xbe\\x93\\xcc\\x08\\x71\\x30\\x08\\x04\\x10\\xfd\\xfb\\xbd\\xfe\\x21\\xe8\\x1f\\x90\\xe8\\x43\\xf8\\x56\\x91\\x7e\\x6b\\x2b\\xa2\\xff\\x70\\xa6\\x45\\x4d\\x1f\\xea\\xfb\\x6f\\xb1\\x5c\\x5a\\x45\\xfd\\xf9\\x9b\\x30\\x57\\x6f\\xa9\\x5c\\x28\\xca\\xc4\\x25\\x7d\\x67\\xf7\\xd3\\xd3\\x64\\xda\\x07\\xa9\\x94\\x00\\x0b\\xe3\\x95\\xbb\\x8b\\x32\\x61\\x85\\x9f\\x45\\xe3\\x6e\\x13\\x7d\\xfe\\x7b\\xe2\\xb8\\x6d\\x36\\x38\\x6e\\xf3\\x6e\\xb3\\x95\\x31\\x56\\xef\\x11\\x78\\xdc\\x33\\x44\\xf8\\x2e\\x71\\xdc\\x28\\x5e\\x00\\xc1\\x57\\x83\\x61\\x9d\\x47\\x3d\\x6e\\xd1\\x57\\xb6\\x89\\xe3\\xbe\\x48\\xb6\\x91\\x39\\x45\\x99\\x78\\x65\\x7f\\xc0\\xe3\\x9e\\x21\\xc2\\x6a\\x65\\x5f\\x79\\x57\\x51\\x26\\x2c\\xc7\\x9b\\x4a\\xba\\x87\\xc5\\xf8\\x0d\\xc5\\x22\\x17\\x14\\x6d\\x16\\x35\\xdd\\xdd\\x2a\\xba\\x87\\xc9\\x89\\x02\\x6c\\xa4\\x54\\xbe\\xb1\\x18\\x09\\xa9\\xe9\\xae\\x50\\xd1\\x3d\\x44\\x91\\x72\\x2c\\x32\\xa5\\xe8\\x34\\xab\\xe9\\xae\\x50\\xd1\\x3d\\x44\\xde\\x2e\\xc0\\xc6\\x4a\\xe5\\x1b\\x8a\\xb1\\xa0\\x92\\xee\\xe9\\xe5\\xaf\\x59\\x37\\xf6\\xc1\\xed\\xd8\\x07\\xef\\x27\\xff\\x2c\\xc4\\x6a\\x14\\x99\\x44\\x2e\\x38\\x79\\x4e\\x32\\xab\\xa7\\x6a\\x63\\xb5\\xad\\x58\\x67\\x07\\xb1\\x7d\\xde\\x47\\x7c\\x2b\\xfa\\xc6\\xa9\\x82\\x7d\\x92\\xb1\\x33\\x63\\x2d\\x04\\x97\\x20\\x51\\x7c\\xa1\\xb6\\xcf\\x6a\\x7e\\xaf\\x52\\x4f\\x0b\\x3e\\x9f\\xa6\\xc8\\x66\\x26\\x89\\x7e\\x9e\\xda\\x3c\\x42\\xe4\\xa8\\xf0\\xf9\\x98\\x27\\xfb\\x91\\x82\\xe7\\xe7\\xe2\\x5e\\xda\\x0c\\x23\\x6f\\xcc\\x73\\xfe\\x8f\\xe5\\xf9\\x32\\xd6\\x51\\x3c\\x47\\x94\\x0b\\x92\\xf1\\x85\\xf1\\xe4\\x90\\x73\\xc4\\x7b\\xcc\\xa0\\x18\\x8f\\x7e\\x8c\\xe7\\x78\\x8c\\xb8\\x5a\\x8c\\x47\\xfd\\xd3\\xfc\\xc1\\x1f\\xc7\\xef\\x15\\xf2\\x7b\\xb5\\x4c\\x2f\\x4d\\x06\\x7f\\x98\\xdf\\x77\\xa2\\x4c\\x17\\x48\\xfc\\xce\\x3c\\x1e\\x3f\\x64\\x2b\\x05\\xbc\\x1e\\x59\\x11\\xe7\\x12\\x41\\xf7\\x49\\xaf\\x17\\xe5\\x60\\x7f\\x71\\xb8\\xb5\\x8a\\x1c\\x4c\\x78\\x8b\\x89\\x7d\\xc8\\x4c\\x31\\xc7\\x43\\xdf\\xf9\\xf5\\x3c\\x47\\x36\\x37\\xc3\\x78\\xad\\xa1\\x04\\xd8\\x62\\x43\\x53\\xd4\\xa9\\x8e\\xa7\\x10\\x0f\\x6c\\x8f\\x59\\xd1\\xbe\\x96\\x0a\\xf6\\x28\\xe6\\x79\\xb7\\x3b\\x5c\\x43\\xf0\\x38\\x20\\xf1\\x80\\xf0\\x75\\xe2\\x98\\x9a\\x9a\\x10\\x93\\x77\\x1a\\xd2\\x15\\x0e\\x22\\xfd\\x9f\\x63\\xfa\\x9d\\x22\\xfc\\x0d\\x22\\x7d\\xbf\\x1f\\xd2\\xf7\\x5c\\xeb\\xf1\\x55\\xc7\\x84\\xd4\\x5a\\x4c\\x7f\\x36\\xca\\x49\\xc8\\x7b\\x4f\\x17\\xac\\xdd\\xed\\x86\\xd6\\xee\\xb8\\xcc\\xe1\\xe2\\xec\\x35\\xf1\\xe0\\xcf\\xb1\\xfd\\x74\\x8a\\x36\\x7c\\x8b\\x10\\x97\\x78\\x50\\xdc\\x2f\\x13\\x97\\xec\\x1d\\xbd\\xd1\\x14\\x69\\xa3\\x7d\\x59\\xc8\\xed\\x00\\xcc\\x45\\xcf\\x2e\\xca\\xa4\\x2b\\x74\\xd9\\xfb\\x05\\xba\\x78\\x9f\\xbb\\x0e\\x8c\\xc5\\xf4\\xaf\\x86\\x00\\xbe\\xa7\\x49\\xe8\\x07\\xbf\\xcd\\xeb\\xbc\\x7e\\x46\\x97\\x20\\x3d\\x9e\\xca\\x56\\x27\\xf1\\xc1\\x71\\xf3\\x6c\\x14\\xc7\\x90\\x9b\\xe6\\x55\\xb8\\xa1\\x5d\\xce\\xc9\\x38\\xdd\\x3a\\x7b\\x02\\x38\\x1c\\x55\\xf9\\x15\\xf4\\x31\\xca\\xb9\\x1c\\x26\\x7f\\x2f\\xcc\\xc5\\x5f\\x2a\\x5f\\x5d\\xf4\\x7b\\x15\\x73\\x29\\xff\\x91\\xdf\\xad\\x9a\\xcb\\x61\\xb0\\x51\\x98\\x0b\\xcc\\x7f\\x07\\x61\\xfe\\xab\\x9c\\x8b\\xb7\\xfc\\x35\\x33\\x9a\\xfd\\x0c\\xc2\\x76\\x89\\x6b\\x70\\x16\\xf0\\x60\\xa9\\x36\\x35\\x41\\x9f\\xdb\\xf0\\x68\\x43\\x9a\\x72\\x29\\xd6\\xc0\\x0d\\x75\\x36\\x83\\xd7\\xe0\\x24\\x31\\xaf\\x78\\x55\\xf4\\xb9\\x0d\\x0d\\x70\\x15\\x92\\x9b\\x93\\xf5\\xac\\x57\\x01\\xef\\x85\\xb2\\x1a\\xcd\\x6c\\x91\\xe9\\x1f\\x94\\x62\\x4e\\x98\\x23\\x3d\\x59\\x94\\x89\\xe3\\xb1\\xb8\\xa1\\xcf\\xcd\\xd0\\x53\\x64\\xda\\x07\\xc1\\x37\\x02\\x2c\\xcc\\xd3\\x76\\x15\\x65\\xc2\\x95\\x71\\x63\\x7b\\xc3\\x74\\xb5\\xaf\\xe1\\x3d\\x11\\xc7\\xe4\\xad\\xad\\x28\\x26\\x6f\\x7c\\xa3\\x31\\x23\\x10\\x97\\x63\\x72\\x34\\xf6\\x8d\\xd8\\x06\\x4e\\xc2\\xf5\\x8e\\xd5\\xe0\\x7c\\x41\\x8f\\xbe\\xc1\\xd5\\x0e\\x30\\x27\\x99\\xb6\\x7b\\x13\\x20\\x99\\xac\\x54\\x3b\\x86\\xe4\\xf5\\x3a\\xbe\\x04\\x8d\\x79\\xb5\\xb5\\x21\\x5e\\xed\\x77\\xb7\\x37\\x0f\\xc1\\x2b\\xc3\\x7e\\x28\\xf1\\x82\\x9b\\xc7\\x4e\\xfe\\x79\\x2c\\xaf\\xf7\\x01\\xba\\x17\\x94\\x00\\xa9\\xba\\x54\\x12\\xb2\\x23\\xcf\\x6d\\x03\\xe1\\x36\\x70\\x7f\\x1b\\x68\\xcb\\x9b\\x9d\\x13\\xfb\\xe1\\xbf\\x2f\\xd3\\x1a\\x26\\xb6\\xc9\\xc3\\xb0\\xa6\\x17\\xa4\\x17\\xac\\x5c\\xa9\\xb0\\x7d\\x2c\\x53\\x6c\\x37\\x5d\\x58\\xff\\xee\\x05\\x05\\x60\\xc2\\xb2\\x5d\\x21\\xd4\\x6d\\x40\\xbc\\xa1\\xc9\\xe2\\x4a\\xc0\\x25\\x51\\xd5\\x7b\\xb0\\x7c\\xa5\\xb5\\x43\\x78\\xc4\\xeb\\xa2\\x9c\\xff\\x25\\xe2\\x8d\\x4a\\x36\\x54\\x4b\\x00\\xe2\\xdd\\x0a\\xed\\x74\\x15\\xe6\\x97\\x13\\x75\\x64\\xb2\\xb8\\x2f\\xeb\\xf5\\x50\\x47\\x34\\x59\\x8d\\x8e\\x66\\x15\\x6b\\x7e\\x12\\xea\\x29\\xc7\\x5e\\x06\\xe1\\xe7\\x88\\x3a\\x32\\x9a\\x28\\x62\\xf8\\x60\\x10\\xea\\x88\\xef\\x3a\\x5f\\x80\\x53\\xee\\xe3\\xb7\\xc2\\xf9\\xac\\xc2\\xba\\x9d\\x13\\xc7\\xf3\\xbd\\xb0\\xee\\x9a\\x12\\xff\\x71\\x51\\x26\\x8e\\xe7\\x7e\\x12\\x8c\\x47\\xbf\\x65\\x86\\xc9\\xb4\\x0f\\x82\\xbc\\x9c\\xb7\\x5d\\x59\\x94\\x09\\x63\\xd8\\x9b\\xa1\\xcd\\x28\\xe9\\x1e\\x26\\x73\\x02\\xac\\xbe\\xc4\\xff\\xae\\xa8\\xd7\\x2a\\xe8\\x96\\xdf\\x86\\x71\\xa1\\x92\\xee\\x61\\xb0\\x46\\xde\\xef\\x57\\x15\\x83\\x7e\\x25\\xdd\\x09\\x70\\x5f\\x56\\xd2\\x3d\\x44\\x2e\\x13\\x60\\x4d\\x25\\xbe\\x54\\x34\\x69\\x94\\x74\\xef\\x80\\x71\\xa1\\x92\\xee\\x21\\x50\\x92\\xf7\\xfb\\x33\\x8a\\x11\\x9f\\x92\\xee\\x45\\xfc\\xf9\\xcc\\x3f\\x30\\xdd\\x61\\x18\\xf6\\x73\\x12\\x7d\\xd3\\xdc\\xba\\x8b\\x04\\xd0\\xc8\\x7b\\xa1\\x91\\x1b\\x18\\xb9\\xd6\\x39\\x9b\\x3f\\x1f\\x7f\\xbf\\x3d\\x49\\xcc\\x15\\x61\\x17\\x89\\xb0\\xd1\\x52\\x79\\x61\\x31\\x1a\\xf6\\xe8\\x64\\xd8\\x8b\\xf8\\x4b\\x54\\x74\\xff\\x89\\x6b\\x33\\xc2\\x18\\x3a\\x8a\\x91\\x26\\x81\\xac\\x30\\x86\\xd9\\xfc\\x25\\x2a\\xba\\xff\\x24\\xc7\\xcb\\x36\\x78\\x4a\\x31\\xd9\\xee\\xd1\\x29\\xc7\\xbb\\x58\\x45\\xf7\\x10\\x79\\xb4\\xfc\\x1f\\x51\\x66\\x9e\\x62\\xd0\\xad\\xa6\\xbb\\x58\\x45\\xf7\\x10\\x79\\x99\\x00\\x1b\\x43\\xf5\\xbb\\x58\\x50\\x45\\x17\\xda\\xdb\\x3f\\xb0\\xbd\\x0d\\x13\\xe3\\x93\\x77\\xa5\\x5a\\x52\\x04\\x99\\x5b\\x64\\x45\\x24\\x23\\x89\\x42\\xda\\x4b\\x67\\x97\\xbf\\xa1\\xf7\\xe0\\xfd\\x70\\xae\\x10\\x2b\\x40\\x2f\\x26\\xec\\x8b\\xcb\\x44\\xcf\\x9a\\x6c\\x4c\\xb6\\xeb\\x02\\x09\\xac\\x83\\xea\\xbd\\xb4\\x9a\\xdf\\x01\\xaa\\x4f\\xce\\x49\\xeb\\x70\\x4e\\x5a\\xb7\\xb4\\xce\\x27\\x72\\x54\\xc4\\x27\\x98\\x27\\xbb\\x4d\\xe6\\xb9\\x09\\x70\\x62\\x7c\\x32\\x0e\\x72\\x47\\x3c\\x43\\xd6\\x50\\x64\\x68\\x9e\\x4f\\x40\\x9b\\x3a\\xc8\\x85\\x20\\x6e\\x37\\xe6\\x49\\x82\\x53\\x84\\xfa\\x09\\x70\\x40\\x93\\x72\\xa4\\x1c\\x11\\x52\\x59\\x6f\\x21\\xce\\x81\\xb1\\xee\\x5b\\xcc\\x4b\\x10\\xbe\\x80\\xe5\\x77\\x1f\\xf1\\x3b\\x11\\xde\\x09\\x4d\\xca\\xe9\\x75\\x46\\x49\\xbd\\x12\\xfe\\x09\\x68\\x53\\x07\\xf1\\xda\\x74\\x8b\\x7e\\x37\\x2d\\xeb\\xfe\\x6b\\x45\\xbd\\x91\\x54\\xc8\\xfb\\x1c\\xe8\\x17\\xde\\xc2\\x6b\\x53\\x10\\x6d\\xea\\x97\\x72\\x9e\\xc3\\xc0\\x9c\\x54\\xa4\\x8c\\x61\\xb7\\x10\\x84\\x26\\x8c\\xe5\\x3c\\x5c\\x88\\x8d\\xc8\\xd1\\x38\\x8e\\x00\\x28\\x24\\x00\\x70\\x63\\xfd\\xdf\\xa2\\xc7\\xaf\\x75\\xa9\\xf6\\xe1\\xc5\\x30\\xbf\\x78\\x04\\xfb\\xdd\\x93\\xb1\\x7c\\xfa\\xc0\\x34\\x01\\xc7\\x89\\xc6\\xee\\x2a\\x95\\xdf\\x2a\\xba\\xbc\\x1a\\x87\\x0a\\xa7\\x9a\\x0f\\x4f\\x7e\\x22\\xce\\x17\\xf1\\x71\\x3f\\xee\\xf6\\x49\\x4c\\x86\\xe6\\xb1\\x1a\\x26\\x89\\x0a\\xf9\\x3c\\xe6\\xf4\\x48\\x0c\\x14\\xf4\\x71\\x4d\\x67\\xb8\\xb0\\x66\\xe4\\x66\\xa9\\xa6\\x83\\x83\\x1b\\xe0\\xf7\\xfa\\xbd\\x5a\\xb5\\x4f\\x17\\x78\\x5c\\x2f\\xf3\\x58\\x06\\xf6\\x4b\\xfb\\x00\\x9a\\x09\\x09\\xbc\\x09\\xaf\\x5b\\x60\\x23\\xe3\\x08\\x7c\\x3e\\x90\\xf8\\xc0\\xdc\\xea\\x66\\xd1\\x77\\xfa\\x7c\\x68\\x22\\x61\\xb7\\x57\\xab\\xdc\\x5f\\x05\\x1e\\x07\\x24\\x1e\\xa8\\x4e\\x26\\xee\\xaf\\x1e\\x0f\\x9a\\x48\\xc8\\xe9\\xae\\x48\\x0a\\xd1\\xe7\\xf7\\x69\\xc2\\x78\\x9d\\x87\\x8b\\xf9\\xd5\\xa0\\xb4\\xd7\\x43\\xdf\\x29\\x13\\x17\\x64\\x04\\x73\\xb1\\x47\\xf0\\x3a\\x9f\\x2c\\xea\\xc4\\xcf\\xe4\\x7c\\x42\\x5f\\x94\\x09\\x63\\xbf\\xb5\\x0d\\xea\\xe7\\x0b\\x78\\xdc\\x23\\xc4\\x71\\xac\\x15\\xc7\\x2d\\xd4\\xeb\\x9e\\x33\\x98\\x74\\x8a\\xb3\\x94\\xf2\\x23\\xa8\\xde\\x85\\xc7\\x3d\\x4f\\xf4\\xf9\\x1f\\x8a\\xe3\\x36\\x9b\\xe1\\xb8\\x0d\\x77\\x19\\x4c\\x94\\xa2\\x66\\x22\\xd2\\x7f\\x57\\xa2\\x0f\\x65\\x79\\x75\\x55\\x4d\\xad\\x64\\x11\\x39\\x48\\xb2\\x14\\x79\\x5c\\x2f\\xf1\\x20\\x96\\x61\\x1b\\x10\\x71\\x90\\xfc\\x2d\\x57\\x5a\\x44\\x2e\\xb2\\xfc\\x9f\\x84\\x7c\\xbe\\xc5\\xf3\\xe8\\x51\\xc7\\xb0\\xc0\\x60\\x80\\xf3\\xd0\\x32\\x5a\\x3d\\xc5\\x29\\xc6\\xf5\\x84\\xd0\\xc7\\x07\\xc2\\xcf\\x17\\xe7\\xf1\\x3b\\x71\\x1e\\x7e\\x3f\\x9c\\x87\\x67\\xa3\\xc7\\x47\\xda\\x15\\xf0\\x6f\\x41\\xfa\\x31\\xec\\x3b\\x46\\x62\\x3d\\x2d\\x23\\xbf\\x83\\xf5\\xce\\x02\\xc9\\x5b\\x9e\\xb7\\xe8\\x00\\xab\\xac\\x9b\\xfe\\x1b\\xc6\\xb0\\xff\\x64\\xfe\\x0b\\xe1\\x17\\x60\\xfa\\xd7\\x12\\x45\\x09\\x1e\\x92\\xb7\\x6c\\xb0\\xe8\\x08\\x46\\x09\\xff\\x16\\xb4\\xe3\\x18\\x5e\\xdf\\x91\\xe2\\x9a\\x0d\\x97\\xeb\\x0a\\x3f\\x2b\\xea\\x0c\\x40\\xb1\\xd7\\xfc\\x1b\\xc6\\x96\\xff\\xc4\\xeb\\xbb\\x40\\xb4\\xe3\\xed\\x32\\xec\\x56\\x08\\x4b\\x54\\xfc\\x31\\xa4\\xbb\\x5b\\x45\\xf7\\x30\\x39\\x93\\x90\\xea\\x7b\\x17\\x15\\x8d\\x7a\\x35\\xdd\\xdd\\x2a\\xba\\x87\\xc1\\x57\\x32\\xec\\x6d\\x10\\x56\\x41\\x57\\xc8\\x6f\\x15\\x35\\x46\\x99\\xae\\x90\\x37\\xfb\\x95\\x75\\x55\\x18\\x27\\x50\\x17\\xb3\\x6b\\xa4\\xbd\\x11\\xae\\x67\\x0f\\x71\\x48\\x58\\xcf\\x68\\x14\\xad\\x67\\x68\\x6d\\x48\\xdc\\xd0\\xd5\\x36\\x88\\x63\\x0b\\x41\\x87\\x7f\\x02\\x1e\\x22\\x1c\\x02\\x0e\\x32\\x10\\x68\\xb7\\x84\\xdf\\xa9\\xb6\\x41\\x61\\x4d\\xd9\\x15\\xf2\\x9a\\xfe\\x84\\xd8\\x23\\xe9\\x0d\\x5a\\x54\\xc8\\xe7\\xcc\\x90\\x47\\x58\\x55\\x99\\x8f\\x0e\\xc6\\x6f\\x39\\xb6\\xc1\\x26\\x9d\\x3b\\x5e\\x46\\x7c\\x43\\xd4\\xe3\\xfa\\xf6\\x38\\x88\\x31\\x6e\\xdb\\xb8\\x31\\xc2\\xc1\\xa3\\xe4\\x4f\\x50\\x6e\\xd2\\xcc\\xb9\\x6d\\x49\\x30\\x5a\\xd4\\x9b\\x5b\\xa0\\x3e\\x0b\\xb5\\x0b\\xb8\\xb0\\xe6\\xdf\\x99\\xad\\x7a\\x52\\xf6\\x70\\x00\\x9d\\x3d\\x32\\x77\\x33\\x5b\\x88\\x04\\xd1\\x97\\x8f\\xd9\\xea\\x0c\\x44\\xcc\\xe2\\xf5\\xf9\\x58\\x0b\\x51\\xc7\\xa4\\x92\\x31\\x8b\\xc5\\x17\\x0e\\x3b\\x16\\x16\\xc2\\xb4\\xcf\\x46\\x69\\x17\\x16\\x28\\x3b\\xa1\\x78\\x41\\xed\\x69\\xa9\\xf9\\x66\\xa7\\x83\\x88\\x56\\x3e\\x3d\\x89\\xdf\\xca\\x09\\x2d\\x57\\xa9\\xa8\\x7d\\x14\\x88\\x67\\xdb\\x69\\x37\\x08\\x01\\xe6\\x14\\xfe\\xd7\\xfc\\x3f\\xc6\\xdf\\x91\\x1d\\x1c\\x71\\xfa\\xbd\\x4f\\x6c\\xbe\\x60\\x74\\x02\\xc4\\x56\\xdd\\xbe\\x78\\xfd\\xe4\\xba\\xad\\xfc\\x07\\x4f\\x35\\x3e\\x00\\x98\\x17\\x76\\x81\\xcc\\x42\\xfe\\xc1\\x0d\\x0f\\x82\\x77\\x3e\\xe1\\xff\\x6b\\xd6\\xfd\\xd1\\xbd\\x7e\\xd5\\xac\\x33\\xf7\\x80\\xd4\\xfc\\xbe\\xab\\x76\\x1d\\x7d\\x99\\x3a\\xf5\\xed\\x6f\\x2e\\xbe\\x7f\\x13\\xbf\\xc7\\xff\\xa2\\x70\\x8e\\xbb\\x4f\\x75\\x8e\\x7b\\x90\\x7c\\x10\\xca\\xd5\\xf0\\x3c\\x69\\x66\\xcc\\x56\\xe1\\x14\\x57\\x3c\\xc3\\xdd\\xa7\\x3a\\xc3\\x3d\\x48\\x06\\x84\\xdc\\xa5\\xbb\\x54\\xfe\\x4b\\xb1\\x7b\\x84\\x28\\x49\\xac\\x6b\\xef\\x41\\x7b\\xca\\x62\\x7b\\x12\\x68\\xbe\\x4e\\xff\\x41\\xc8\\x53\\x23\\x68\\xeb\\x77\\x94\\xc0\\x59\\x45\\x87\\x9f\\xe6\\x54\\x7b\\x05\\x5e\\x2b\\xe6\\x88\\x44\\x5f\\x6b\\xa0\\xbe\\x12\\xf3\\xce\\x09\\x13\\xe0\\x62\\x8d\\x7c\\x67\\x64\\x9f\\xb4\\x58\\xd8\\x66\\x11\\x8f\\x43\\x15\\x1e\\xda\\xa3\\xb8\\xae\\xea\\x7b\\x9e\\x22\\xfd\\x68\\xb7\\xf7\\x97\\xc0\\xdd\\x45\\xbf\\x45\\x3a\\x86\\x4e\\x4b\\xfa\\xc0\\x38\\xd9\\xa4\\xc4\\x43\\x47\\x93\\x1d\\x52\\x7e\\x0f\\x15\\x02\\xfe\\xf8\\x7e\\xdc\\x70\\xe9\\x28\\x5a\\x8c\\x49\\xaa\\xe7\\xa2\\x3d\\x86\\xf7\\x30\\xa8\\x77\\x14\\x19\\x0c\\x22\\x4e\\xb6\\x17\\x6c\\x6e\\x99\\x8d\\x52\\xef\\x2a\\x7c\\x18\\x32\\x22\\xe1\\xa0\\xc9\\x50\\x64\\x4f\\xbc\\x67\\xb4\\xcc\\x48\\xd0\\x6f\\xc4\\xe7\\x0a\\x05\\x1f\\x9e\\x7c\\x5b\\x9c\\x8f\\x50\\x7a\\x28\\x01\\x18\\xb9\\x79\\x6b\\xe6\\x43\\x7f\\xc4\\x5e\\x28\\xf3\\x61\\xc9\\x94\\x34\\x9f\\x41\\xc4\\x66\\xf0\\x2f\\x83\\x7d\\x3f\\x34\\x9f\\x32\\xf5\\x02\\xc4\\x09\\xa2\\x73\\x7b\\x94\\x07\\x51\\x64\\xba\\x04\\x46\\x16\\xd3\\x09\\xe5\\x94\\xa4\\xf5\\x59\\x8e\\xf7\\x72\\x81\\x17\\x5c\\x55\\x89\\xd7\\x68\\xc4\\x6b\\xf4\\xc3\\xa3\\xe7\\xd6\\xf0\\x42\\xba\\x25\\xf1\\xb2\\xa4\\xa0\\x5f\\xbd\\x48\\xa1\\x63\\xba\\x22\\xe9\\x74\\x0a\\xb9\\x8d\\xa4\\x5f\\xd8\\xa7\\x8e\\xc5\\x71\\xd8\\xb5\\xc4\\xff\\xe0\\xb3\\x33\\xac\\x67\\xb5\\xe3\\xd6\\x11\\xd4\\x2f\\xa4\\x71\\x23\\x2a\\x14\\xcc\\xd7\\x41\\x5f\\xd1\\x1b\\x1d\\x6a\\xdc\\x7d\\x5c\\x44\\x1e\\xb7\\x86\\xfc\\x4c\\x5a\\x8b\\xde\\x5e\\x34\\xf0\\x31\\x7b\\xc6\\x4c\\x19\\x62\\x2d\\x94\\xbc\\xc0\\xff\\x81\\x57\\xb7\\x82\\x97\\x96\\xfc\\xa0\\x8a\\xd7\\xb3\\x3f\\xc8\\x8b\\xac\\xf0\\x32\\xe3\\xb3\\x14\\x3b\\xe2\\x65\\xf7\\x0f\\x3d\\xaf\\xb4\\xcc\\x4b\\x57\\x99\\x57\\x77\\x37\\xd6\\xb1\\x3d\\x3d\\xe3\\x7e\\x80\\x17\\x45\\xed\\x56\\xf3\\x8a\\x95\\xc0\\x94\\x62\\xac\\x79\\x28\\x5e\\x57\\x72\\x4d\\x32\\x2f\\x7d\\x0d\\xaf\\x4f\\x7a\\x16\\x54\\xf3\\x82\\x6b\\xdf\\xc5\\x85\\xa5\\xb5\\xd7\\xd2\\xe0\\x1d\\xf5\\xda\\x23\\x8e\\x8a\\xb5\\xef\\x65\\x3e\\x95\\xd7\\xfe\\x1e\\x14\\x77\\x54\\xd6\\x1e\\xd7\\x6a\\x94\\xe7\\xb9\\x07\\xc9\\xcd\\x72\\x6c\\xfb\\x20\\x8c\\x6d\\xd5\\xe7\\xb9\\xfb\\x54\\xe7\\xb9\\x07\\x49\\x9f\\xe0\\xa7\\x60\\x9e\\xf4\\x9b\\x62\\xa4\\x4e\\x75\\x9e\\xab\\x3e\\xef\\x86\\x7e\\xea\\x72\\x31\\x4e\\x40\\xa6\\x0d\\xac\\x7b\\xad\\x1e\\x82\\x54\\xc4\\x69\\xf8\\x5c\\x1d\\xfb\\xa8\\x89\\xa2\\x8f\\xfa\\x52\\xf4\\x51\\xb8\\x00\\x17\\x7f\\x36\\xde\\x68\\xaa\\xae\\x8d\\x5d\\x87\\xf3\\x83\\x7a\\x31\\x3f\\xb8\\x50\\x8a\\x67\\x21\\x79\\xe7\\x0e\\xf9\\x24\\x3a\\x5d\\xa9\\x25\\x0e\\xe0\\xfc\\x60\\xa2\\x98\\x1f\\xec\\x17\\xe0\\xc9\\x06\\x54\\x7a\\x5b\\x29\\x9f\\x46\\x2b\\xce\\x63\\xf7\\x29\\xce\\xeb\\x8f\\x92\\xbb\\xb0\\xcf\\x80\\xdb\\x28\\x8a\\xbe\\x3c\\x25\\xe0\\x2b\\x7a\\x8c\\x8a\\x13\\x7b\\x81\\x07\\xe3\\xc3\\xbe\\x69\\xa2\\xe8\\x03\\xbb\\x25\\x3b\\x6e\\x42\\x4b\\xd9\\xf4\\x97\\xa6\\xa8\\xc0\\xa5\\x92\\x97\\x55\\xdf\\x0b\\x38\\x86\\x73\\x4f\\xbc\\xf7\\xa2\\x00\\x98\\x04\\xe6\\x01\\xb3\\x43\\x66\\x63\\xed\\x94\\x65\\xa5\\xe0\\xc3\\x90\\x0d\\x92\\xce\\x20\\x61\\x41\\x5d\\xb3\\xc6\\xea\\x65\\x46\\x02\\x4e\\x35\\x1f\\x1e\\x9f\\xd5\\xe0\\x9c\\x31\\x86\\xd8\\xc4\\xde\\x8f\\xb9\\x86\\xba\\x7f\\xf0\\x16\\xf6\\x81\\x13\\x45\\x1f\\xe8\\x95\\xe6\\x83\\x55\\xb3\\xfb\\xe7\\xdd\\x8d\\x3f\\x34\\x9f\\x32\\x75\\x97\\x34\\x9f\\xe6\\x66\\xc4\\xa8\\xfe\\x95\\xfa\\xba\\x21\\xe6\\x23\\xf8\\xbf\\x89\\xd5\\xfe\\xaf\\x1e\\xf1\\xa9\\xbf\\xae\\xbe\\xb7\\x86\\x0f\\xd2\\x5b\\x89\\x0f\\xf6\\x7f\\x62\\x6e\\x46\\x5e\\x85\\x6d\\x00\\x1f\\x5d\\x4a\\xba\\x85\\xf4\\x16\\xfb\\xbf\\x89\\x55\\xfe\\x8f\\x95\\xc6\\x4c\\x1e\\xae\\x9c\\xb9\\x92\\xaf\\xe3\\x73\\x04\\xa4\\xab\\xc8\\x25\\x01\\xed\\xef\\xb5\\x16\\x95\\xae\\xc2\\x58\\x86\\x7c\\x0a\\xeb\\xea\\x61\\x41\\x57\\x49\\x29\\x06\\xc6\\xb1\\x8c\\xe6\\xd7\\x1a\\x93\\x12\\xbe\\x7c\\x08\\x9f\\x11\\x56\\xce\\x8a\\x0f\\x12\\x8f\\x11\\xd2\\x19\\xe1\\x80\\xfa\\x8c\\xb0\\xfc\\x8d\\x7c\\x9e\\x38\\x55\\x84\\x7d\\x54\\xb0\\x31\\x4d\\xa9\\xdc\\x8f\\x6a\\x3d\\x0a\\x7b\\x3c\\x1d\\xe6\\x2b\\x6e\\x5c\\x3b\\x6c\\x17\\xe7\\xfe\\xb6\\x00\\x0b\\x63\\xc9\\x75\\xc5\\x60\\x58\\x4f\\xa9\\x6d\\x77\\x2b\\x3e\\xff\\x18\\x14\\x61\\xdd\\x84\\x74\\x87\\xe6\\x26\\x54\\x17\\x22\\x8e\\x7b\\xfe\\x01\\x6d\\xf7\\x90\\x6c\\x8b\\x70\\x09\\xeb\\x5e\\xa9\\x6b\\xd0\\x53\\x55\\xb6\\xbb\\x15\\xcb\\x63\\x50\\x90\\x07\\xed\\x17\\xe1\\xeb\\xe1\\xfa\\x91\\xa1\\x62\\x28\\x2e\\x92\\x4f\\x8b\\x77\\x29\\xd4\\x67\\x01\\x47\\xf1\\xdd\\x14\\xbc\\xde\\x0d\\xc8\\x55\\x36\\x1c\\x6a\\x08\\x0d\\x71\\x16\\xc0\\x8c\\xc6\\x3a\\x3f\\x28\\xda\\xd6\\xa9\\x12\\x4e\\x12\\xe9\\x48\\xf2\\xbd\\xa4\\x5f\\x60\\x52\\xc1\\xa9\\xe6\\x73\\xac\\xe2\\x5b\\xd3\\x69\\xc4\\x28\\xc2\\x45\\x12\\x32\\xa3\\x8a\\x2e\\x6e\\x55\\xf0\\x61\\xc8\\x25\\x12\\x4e\\x3d\\x56\\xc6\\x60\\x20\\x58\\x27\\x33\\x12\\x70\\xaa\\xf9\\xf0\\x95\\xf3\\xa2\\x0e\\xc4\\xa6\\xe3\\xd9\\x8e\\xd4\\x50\\xf3\\xd1\\x60\\xdb\\x1a\\x14\\x6d\\x6b\\x86\\x84\\x93\\x45\\x6c\\xb2\\x2f\\x66\\xe3\\x3f\\x34\\x9f\\x32\\xf5\\x5a\\x65\\x0f\\x44\\x8c\\xba\\x37\\x77\\x67\\x87\\x98\\xcf\\x93\\xd2\\xb9\\x14\\xb2\\x2d\\xca\\x20\\xf1\\xa9\\x43\\x7c\\xea\\xb6\\xd4\\x75\\xd7\\xf0\\x41\\x7a\\x25\\xf1\\xc1\\xb6\\x75\\xb3\\xa8\\x33\\x6f\\x11\\xe2\\x59\\xd6\\x92\\x58\\x88\\xd2\\x27\\x48\\x74\\x1e\\xab\\xae\\xdb\\x60\\x3d\\xc3\\xb6\\x26\\x9c\\xd9\\x5c\\x0b\\x68\\x45\\x4c\\x8b\\x70\\x23\\x03\\x11\\x3f\\x3a\\xb3\\x41\\xa9\\x45\\xcd\\x19\\x11\\x77\\x1d\\x1a\\x2b\\x58\\x24\\xd6\\xa6\\xbe\\x23\\xa4\\xf3\\x11\\xa8\\x77\\xa9\\x64\\xaa\\x91\\xb6\\xaa\\xf5\\x8e\\xb5\\xa1\\x9a\\x06\\x58\\x2c\\x9e\\xd9\\x38\\x85\\x58\\x18\\x95\\xda\\xc9\\x38\\xaa\\xb5\\xc4\\x53\\x56\\x75\\x2c\\x5c\\xcd\\xe3\\x18\\x38\\x57\\xc0\\xc1\\x2c\\xea\\x4b\\xe5\\x6b\\x8a\\xf5\\xe9\\x0a\\x17\\x69\\xad\\x54\\x7c\\xfa\\x88\\x67\\x15\\x7c\\x12\\xa5\\xf2\\xed\\xc5\\x44\\xfd\\x90\\x7c\\xd2\\x12\\x1f\\x68\\x43\\xff\\x16\\xe7\\x32\\x6c\\x18\\x64\\xd4\\xe4\\x6c\\xca\\x0e\\x31\\x97\\x23\\x12\\x0f\\x68\\x43\\x36\\x81\\x07\\x3a\\xc2\\x46\\xe3\\x3a\\x5c\\xac\\x6f\\x1e\\x92\\x47\\x48\\xe2\\x01\\xf7\\xc0\\x17\\x11\\x8f\\x67\\x49\\x54\\xe0\\x6f\\x2d\\x95\\xdf\\x2f\\xb6\\xf6\\x48\\x4c\\x2a\\x3c\\x5e\\x92\\x78\\x90\\xf7\\xe1\\x7b\\x8c\\x10\\x3e\\x03\\x59\\x64\\x4a\\xe5\\x03\\xc5\\x4c\\xb7\\xc4\\xa2\\x53\\xd0\\x03\\xee\\x3a\\xe4\\x5f\\xc4\\x39\\x1c\\x24\\x85\\xf3\\x06\\x32\\x55\\xe2\\x3f\\x2a\\xa6\\x1a\\x44\\xda\\xd2\\xba\\xb3\\x36\\xe4\\x5f\\x44\\xda\\x72\\x0e\\x13\\x2f\\xf1\\x7f\\x2c\\xc6\\x93\\x22\\x5d\\xb1\\x2e\\xba\\x4f\\x55\\x17\\x3d\\x28\\x9d\\xc5\\xba\\x4b\\xe5\\x09\\x45\\xb7\\x57\\x5d\\x17\\xdd\\xa7\\xaa\\x8b\\x1e\\x24\\xfd\\x72\\xbe\\x7c\\x31\\xf4\\x71\\x27\\xa8\\x8b\\x42\\x99\\xef\\x16\\xfd\\x72\\x7d\\x3d\\xf4\\xe3\\x81\\x7b\\x03\\x31\\x91\\xb4\\x20\\x73\\x5c\\x9f\\xc4\\x7e\\x6b\\xae\\x28\\x73\\x8d\\x08\\x9f\\x4e\\x43\\x3f\\x1e\\xbd\\x26\\x9a\\xf2\\x28\\xcf\\xd7\\x20\\x7d\\x6e\\x03\\xd6\\x9d\\x95\\xa2\\x7e\\xfe\\x5d\\x84\\x4f\\x26\\xd1\\x25\\x30\\x4f\\x34\\xee\\x36\\xa8\\xe9\\xb3\\x63\\xb1\\xde\\x9c\\x2f\\xea\\xa7\\x74\\x2f\\x01\\x6d\\xd3\\xa0\\xc1\\xde\\xd0\\x14\\xb7\\x9e\\x80\\xfe\\x31\\xd0\\x2d\\xd4\\x01\\x31\\xf9\\x3a\\x74\\xa1\\xa4\\x2e\\x51\\xe1\\x20\\xd5\\x58\\x15\\x3c\\x58\\xa2\\xef\\x52\\x8c\\x81\\x19\\x34\\x96\\xca\\xdd\\xc5\\xc6\\xcc\\x10\\x3c\\xd2\\x12\\x0f\\x28\\xa3\\x27\\x04\\x1e\\xed\\xed\\x90\\x47\\xb2\\x54\\x7e\\xb9\\x98\\xcc\\x0c\\xc9\\xe3\\x88\\x34\\x0f\\x28\\x27\\x20\\xe0\\xe4\\x72\\xe8\\xfa\\x43\\xa9\\xfc\\x62\\x31\\x93\\x8d\\xab\\x6d\\x46\\xe0\\x13\\x92\\xf8\\x40\\xdd\\x7c\\x00\\xeb\\x1a\\x68\\x64\\xf0\\xc0\\x9e\\x2b\\x36\\x76\\x49\\x6c\\x2a\\xb2\\x7a\\x49\\xe2\\x01\\x75\\xb3\\x4e\\x80\\x47\\x37\\x38\\xda\\x4b\\xe5\\x17\\x8a\\xed\\xa3\\xe2\\x0a\\x5d\\x86\\x3a\\xc4\\x6d\\x40\\x3a\\x24\\xce\\xe3\\x20\\x79\\xb3\\xa0\\x17\\xd1\\x12\\xbf\\xae\\x18\\x8d\\x89\\xb4\\x25\\x1d\\x62\\xc7\\x22\\x1d\\x12\\x69\\x1f\\x24\\xf5\\x84\\x78\\xc6\\xc6\\x3f\\x52\\x6c\\x48\\xc7\\x15\\x7a\\x8c\\xeb\\x61\\xd8\\x5f\\xf6\\x88\\x6b\\x50\\x27\\xcc\\x55\\xab\\xc5\\xd7\\x08\\xcb\\x9f\\x16\\x75\\x46\\x4a\\x65\\x87\\x62\\x4d\\xec\\x23\\xb1\\x7e\\x02\\xd7\\x60\\xb8\\xa2\\x22\\xe9\\xd5\\x78\\x03\\xa4\\xfa\\xdc\\xf5\\x49\\xa8\\xff\\xdf\\x62\\xfd\\xef\\x11\\xc7\\x23\\x9e\\xbb\\x68\\x4b\\xfc\\x5b\\x45\\xb9\\xe0\\x56\\xa1\\x8d\\xf5\\x7f\\xbe\\x10\\xb3\\x50\\x11\\xc5\\x38\\xd3\\x32\\x8d\\xd7\\xe9\\x65\\xa2\\x6e\\xe1\\xba\\xa9\\xa9\\xcd\\xe4\\x1c\\xa2\\x6e\\x77\\x44\\xaa\\xf1\\xc0\\xf8\\xfa\\x2d\\x59\\x77\\xe1\\x28\\x03\\x0f\\x04\\xea\\x94\\x75\\x3b\\x91\\xbe\\x5d\\xa6\\x7f\\x1f\\xf8\\x29\\xe8\\xc7\\xf1\\x35\\xba\\x6a\\x62\\xeb\\xb4\\x85\\x24\\xf2\\x4a\\x19\\xbc\\x24\\xd7\\x90\\xee\\xc3\\xf5\\x4d\\x7c\\x3f\\x12\\x99\\xd2\\xb5\\xd1\\x8c\\x44\\x5e\\x90\\x41\\x77\\xf9\\x6f\\xcc\\x48\\xb6\\xd5\\x96\\xa4\\xb0\\xbf\\xe0\\x36\\x03\\x0f\\x71\\x3a\\x8e\\xc7\\xdb\\xa0\\x33\\x6a\\x6b\\x68\\x6b\\xf2\\x69\\x4e\\x04\\x7f\\x80\\x80\\xfe\\x09\\xfb\\xd3\\x2c\\xdc\\x2f\\xc9\\x2e\\x57\\x97\\x8c\\x80\\xc7\\x5f\\x0d\\xbf\\x15\\xee\\x43\\xa7\\xe3\\x9c\\xbf\\x0d\\x6d\\x7b\\x6d\\xa5\\xf2\\xd1\\x62\\xdb\\x08\\x01\\x45\\x8a\\xdf\\xab\\x71\\xb6\\x0b\\x38\\x68\\x7f\\xcd\\xe2\\x4d\\xb9\\xd3\\xd2\\x39\\x52\\x46\\xb1\\x0e\\x89\\xb3\\x0d\\x34\\x41\\x1c\\xbc\\xbf\\x0a\\x8c\\x26\\xb7\\x0d\\x57\\x70\\x19\\x72\\x2e\\x3b\\x30\\x8e\\x92\\xcf\\x29\\x9d\\x3d\\x43\\xf1\\xe1\\x1a\\x65\\x9c\\x07\\x89\\xcf\\x61\\xe4\\x8b\\x71\\xda\\x30\\xa3\\xfc\\xf4\\xfc\\xb4\\x1f\\xc0\\xd9\\x59\\xc1\\x99\\x3a\\x15\\xf3\\x99\\xde\\x39\\x46\\x8d\\x23\\xe4\\xb1\\x38\\xfe\\x8c\\x0b\\xeb\\x52\\x5e\\x2e\\xee\\xdb\\x8e\\x57\\x1c\\x0e\\x9a\\x4e\\xc0\\xe4\\x92\\xa8\\xba\\x9b\\x56\\x8d\\x73\\xa0\\x7c\\xa1\\x88\\xe3\\xfd\\x9b\\xd7\\x3b\\x24\\x0e\\x91\\x27\\x08\\x76\\x21\\x73\\xc0\\x92\\x22\\xe2\\x00\\x45\\xc5\\x2c\\xb7\\xf5\\x4d\\x82\\x08\\xed\\x42\\x05\\x80\\xf2\\xa6\\xbc\\x1e\\xe3\\x51\\x32\\xa2\\x70\\x5d\\x11\\xe2\\x2d\\xad\\xc1\\xdb\\x2e\\xe2\\x79\\x4a\\xe5\\x33\\xf3\\x7a\\x8f\\x07\\xe3\\xf9\\xfd\\x55\\x78\\x2b\\x6b\\xf0\\xb6\\x11\\x02\\x9e\\xa3\\x54\\x3e\\x37\\xaf\\xc7\\x73\\x1b\\x82\\xdf\\x5d\\x35\\x78\\x3b\\x08\\x99\\xdf\\x16\\x99\\x5f\\x0d\\xde\\xdb\\x08\\x8f\\x23\\x15\\x78\\x0f\\xc2\\x44\\xc5\\x8f\\x64\\xef\\xd8\\x30\\x24\\x33\\x41\\x2e\\xb5\\x78\\x3b\\x25\\xbc\\xf6\\x3b\\xdb\\xdb\\x31\\x1e\\x84\\xad\\xc1\\xf3\\x95\\xbf\\xa6\\xbe\\xc0\\x3a\\xb5\\x44\\x58\\x37\\xe2\\x01\\xc1\\x9e\\x40\\x06\\xf9\\xe8\\xe5\\x99\\x7a\\x9d\\x5b\\x69\\x4f\\xd5\\xf0\\x07\\x30\\x3c\\xf2\\x07\\xe8\\x31\\x03\\x68\\x5f\\xd9\\x2e\\x23\\x60\\x7b\\xaa\\x86\\xdf\\x4a\\x6c\\x11\\xf4\\x9c\\x44\\x0c\\xe0\\x8f\\x89\\x99\\x9c\\x80\\x50\\xd1\\xf3\\x6a\\x9c\\xed\\x18\\x07\\xe7\\x82\\x88\\x09\\x09\\xda\\x16\\xb4\\x75\\xcb\\x48\\x82\\xdc\\x20\\x0e\\xad\\x53\\xe0\\x6c\\x83\\x79\\xba\\x8a\\xcf\\xd6\\x4c\\xd7\\x10\\x7c\\x54\\x38\\x3b\\x30\\x8e\\x92\\x4f\\xb1\\x6d\\x58\\x15\\x1f\\xe8\\x45\\xd9\\x19\\x78\\x5d\\xeb\\x51\\x25\\x00\\x49\\x8c\\x47\\xbb\\x39\\x3a\\xe5\\x5f\\x6a\\x80\\x31\\x72\\x02\\xc0\\x9f\\xea\\x7b\\x0e\\x93\\x6a\\x70\\x0e\\xf0\\xc7\\x50\\x04\\xfe\\x34\\x3a\\xa4\\x5b\\x90\\xd7\\xb9\\x5c\\x6a\\x3c\\xd1\\xdf\\x67\\x08\\x82\\xfb\\xb3\\x80\\x87\\x6e\\x61\\x20\\x5d\\x7f\\x81\\x10\\xee\\xe5\\x06\\x5a\\x02\\x30\\x4e\\x4a\\x90\\x00\\xa2\\xd6\\xac\\xe9\\xec\\x1a\\xbc\\xed\\x12\\x5e\\xa8\\x35\\x14\\xc2\\x78\\x1e\\x4f\\x2d\\xde\\xe8\\x1a\\xbc\\x6d\\x6f\\x89\\x78\\xbe\\x2d\\x3e\\x1f\\xc6\\x93\\x06\\xa9\\xc4\\x5b\\x5a\\x83\\xb7\\x43\\xc2\\x0b\\x6c\\x11\\xc7\\x39\\x14\\x5e\\x02\\xdd\\xbd\\xc6\\xf2\\x3f\\x4b\\xed\\xcb\\x41\\x02\\xaa\\x52\\x62\\x53\\x22\\x62\\x26\\x94\\xba\\x57\\x0d\\x7f\\x00\\xee\\xb1\\x82\\xee\\xa5\\x52\\x28\\x6c\\xb9\\xb7\\x51\\x46\\xc0\\xba\\x57\\x0d\\xbf\\x55\\xf2\\xb1\\x24\\x62\\x00\\x7f\\x5c\\x9d\\x68\\x31\\x57\\xe5\\x30\\xd5\\x38\\xdb\\x25\\x1f\\x4b\\x62\\x26\\x24\\x68\\xb8\\xa7\\xa1\\xcd\\xac\\xce\\xe3\\x10\\xce\\x16\\x05\\xce\\x36\\x30\\x4b\\xcd\\xe7\\x7f\\x12\\xcd\\x43\\xf1\\x51\\xe2\\xec\\xc0\\x38\\x4a\\x3e\\x5f\\x36\\xb4\\x0e\\xc1\\xe7\\x59\\xec\\x97\\x05\\x9c\\x07\\xa1\\xbc\\xea\\x05\\x9c\\x04\\x66\\xd4\\xf1\\x69\\xc7\\xe8\\x1f\\xc0\\xd9\\x59\\xc1\\xc9\\xe7\\x31\\x9f\\x4f\\x1b\\xba\\xaa\\x71\\xa0\\xbe\\xee\\xc2\\xeb\\x99\\x96\\x75\\xfc\\xb0\\xa8\\xe3\\x67\\x1b\\x0c\\xd0\\x97\\x0c\\xad\\xe3\\x6a\\x1c\\x41\\xc7\\xd1\\x6a\\x42\\x58\\x60\\x38\\x0b\\x23\\xca\\x71\\x18\\xd4\\x6d\\xcd\\x18\\x01\\xbe\\x5a\\xb7\\xfd\\x9d\\x7e\\x3f\\x72\\xfe\\x43\\xea\\xcc\\xec\\x1a\\x3c\\x59\\xb7\\x83\\x5d\\xc1\\xe0\\x71\\xf1\\x6a\\xf9\\x6d\\x93\\xf0\\x7c\\x57\\xf8\\x7c\\xc7\\xc5\\x9b\\x55\\x83\\xb7\\x43\\xb6\\xc1\\x2b\\x02\\x81\\xe3\\xe2\\xdd\\x89\\xf0\\xb0\\x3f\\x96\\xf0\\x1e\\xfc\\x3b\\xf2\\xff\\xd0\\x13\\x95\\x80\\x39\\xaf\\xcf\\x64\\x30\\xaa\\xda\\x7c\\x87\\xc4\\xdb\\x29\\xe2\\xd5\\x61\\xbc\\xba\\x3a\\x8c\\xd7\\xde\\x5e\\x85\\xd7\\x47\\x10\\xe4\\x4c\\xac\\x4f\\xcb\\x31\\xd6\\xe6\\x6f\\x04\\x4b\\x42\\x85\\x25\\xdb\\xad\\x36\\x23\\xab\\xab\\xc8\\x1e\\xc1\\x8e\\x50\\xc0\\x1e\\xf8\\x8b\\x60\\x45\\xe8\\x6e\\x1c\\x70\\xdf\\xe8\\x96\\x81\\x45\\x3f\\x04\\xf7\\x5c\\xf2\\x25\\x05\\xfc\\xd6\\x37\\x45\\xed\\xb6\\x21\\x05\\xb2\\x9d\\x6c\\x0b\\xb0\\x3a\\x65\\x3c\\x84\\xe8\\xff\\x46\\x01\\xbf\\xfd\\x4d\\x51\\xb3\\x11\\x03\\x38\\xe7\\x73\\x5c\\x21\\x56\\xf1\\xaa\\x03\\xf3\\x80\\x38\\xd4\\x18\\x05\\xce\\x36\\x42\\xc5\\xe3\\x69\\x9b\\xbf\\x86\\x87\\x0a\\x7e\\x07\\xa1\\xe6\\xf1\\x1b\\x57\\x70\\x48\\x1e\\x2b\\xb0\\x2d\\x08\\x38\\x0f\\xbe\\x29\\x5a\\x82\\x0d\\x33\\x89\\xbe\\x16\\x6d\\xfe\\x41\\x9c\\x9d\\x12\\x4e\\x06\\x6f\\x2b\\xae\\xd7\\x5c\\xb1\\x1a\\x9c\\x56\\x88\\x13\\xc7\\x3a\\xd3\\x24\\xdb\\x0f\\x2f\\xda\\xcf\\xc5\\x34\\x8d\\x7c\\x3d\\xfc\\xa9\\xb6\\x9f\\x59\\x35\\x38\\x07\\xca\\x1a\\x11\\xe7\\x82\\xe3\\xe0\\x40\\x7f\\x4d\\x17\\x05\\x1c\\xc9\\x86\\x24\\xbf\\x6b\\x9f\\x64\\xb7\\x63\\xbf\\x2b\\x21\\x29\\x75\\xf3\\xac\\x1a\\xbc\\xed\\x12\\x9e\\x73\\xb2\\xd3\\x79\\x5c\\xbc\\x5a\\x7e\\xf2\\xfe\\x60\\xdb\\x62\\xb3\\x1d\\x17\\x6f\\x69\\x0d\\x9e\\xbc\\x3f\\x38\\xb6\\x38\\x1c\\xc7\\xc5\\xbb\\x13\\xe1\\x61\\x5b\\x68\\xaa\\xb2\\xa1\\x04\\xb6\\x85\\x44\\x02\\xa3\\x9a\\x4c\\xb5\\x36\\x54\\x85\\x27\\xd9\\x90\\x0f\\xe3\\x89\\x5b\\x59\\x63\\x63\\x15\\x9e\\x50\\xc3\\x6b\\x95\\x6a\\x5e\\x70\\x3f\\xaa\\x13\\x73\\x8b\\x30\\x5c\\xeb\\xf0\\xa5\\x61\\x1f\\x47\\x54\\x9f\\x0d\\x28\\xe1\\x0f\\xe0\\xfd\\x0b\\xe5\\x16\\xf8\\x98\\x3d\\xbe\\x36\\xee\\x53\\xd5\\x2f\\xab\\xe1\\xb7\\x12\\xdf\\x4a\\x31\\x7f\\x18\\x85\\xd5\\xe1\\x6c\\xb8\\xa1\\xba\\xa6\\x56\\x8d\\xb3\\x1d\\xe3\\xe0\\x58\\x1c\\x31\\xa1\\xc8\\xd8\\x84\\x58\\xba\\xaa\\xae\\x58\\x8d\\xb3\\x0d\\x8f\\x4b\\xc1\\xe7\\xf2\\x70\\xfd\\x0f\\xf1\\xd9\\x81\\x71\\x94\\x7c\\xee\\x88\\x35\\x56\\xf1\\x09\\x94\\xbf\\x66\\xd7\\xc1\\x75\\x4d\\x12\\xed\\xa7\\x0b\\x5a\\xfe\\x95\\xa0\\xb1\\xe4\\xb5\\xc1\\xa0\\x5e\\x9f\\x20\\x83\\x41\\x42\\x79\\xdf\\x31\\x5f\\x05\\x7f\\x80\\x17\\xef\\x47\\x92\\x57\\x0e\\x09\\x3f\\xba\\xfc\\xb5\\xe6\\x5c\\xac\\x37\\xed\\x6a\\xfd\\xa6\\xc8\\x26\\x6d\\x53\\x13\\xc4\\xa0\\x64\\x14\\x95\\x7e\\xd7\\xe0\\x6d\\x97\\xf0\\x9a\\x75\\xcd\\xcd\\xc7\\xc5\\xcb\\x94\\xbf\\xe6\\x1e\\x15\\xf0\\xc0\\x2d\\xf2\\x1e\\x81\\x62\\xf6\\x74\\x09\\xe8\\xf2\\xfa\\x74\\x7a\\x08\\x54\\x64\\xbb\\x35\\x78\\x3b\\x44\\xbc\\x0c\\xc6\\xcb\\x64\\x86\\xc6\\x3b\\x13\\xca\\xfc\\x74\\xec\\xc3\\x2e\\x12\\xf5\\x8d\\x16\\xe3\\x1f\\x74\\x9d\\x33\\xb8\\x3c\\xe8\\x71\\x18\\x95\\xfa\\x56\\x0d\\x7f\\x00\\xeb\\x02\\xf2\\xdc\\x61\\xb8\\xae\\xa0\\x6e\\x41\\x9d\\x8c\\x60\\x1d\\x8a\\xbe\\xac\\x6f\\x24\\x62\\x00\\x7f\\x8c\\x0a\\xa6\\x1c\\x46\\xb5\\x1e\\x54\\xe3\\xc8\\xfa\\x46\\x62\\x26\\xd0\\x4b\\x0e\\x46\\x1b\\x1c\\xea\\xbb\\x23\\x08\\xe7\\x1c\\x05\\xce\\xb6\\x4a\\x9c\\x25\\xf0\\x79\\x20\\x98\\x1c\\x8a\\x8f\\x12\\x67\\x47\\x25\\xce\\x12\\xf9\\x14\\xa3\\xf5\\x43\\xf0\\x59\\x83\\x7d\\xf1\\x45\\x62\\x2e\\xfb\\xa1\\x14\\xcb\\x04\\x31\\xa3\\xa6\\x7b\\x9a\\xba\\x7f\\x00\\x67\\x67\\x05\\x67\\xd8\\x30\\xcc\\xe7\\x9e\\x68\\x73\\x15\\x0e\\xf4\\xc5\\x5c\\x00\\xaf\\x67\\x0f\\xce\\xa5\\x24\\x5f\\xec\\xf9\\x39\\xfa\\xc0\\x77\\x5e\\xa7\\xd5\\x52\\x54\\x02\\x68\\xb5\\xb2\\xb2\\x8a\\x71\\xc9\\x44\\x01\\x47\\x11\\x97\\x08\\x3e\\xa7\\xbc\\x1d\\xf9\\x1c\\x88\\x43\\xca\\x48\\xb2\\x0e\\x3c\\x4f\\x10\\x5a\\x8b\\x80\\x87\\x2a\\x34\\x48\\x77\\xc2\\x02\\x1e\\xcc\\x67\\xef\\x40\\xf9\\xec\\xd0\\x78\\x17\\x23\\x7e\\xd8\\xc7\\x49\\xfc\\x76\\xbe\\x29\\xfa\\xd4\\xf0\\xd2\\x70\\x18\\x23\\xc5\\x62\\xb5\\x3a\\x9e\\x83\\x36\\xb8\\x14\\xcb\\x7d\\x9d\\xa0\\x73\\xa4\\x46\\xd4\\x39\\x5c\\x30\\xbb\\xb2\\x3d\\xe3\\x53\\xe9\\x5c\\x35\\xfc\\x01\\x0c\\x8f\\x74\\xae\\xa3\\x03\\x22\\xe4\\xae\\xcf\\xc9\\x08\\x58\\xe7\\xaa\\xe1\\xb7\\x82\\xaf\\x24\\x5d\\x40\\x05\\x69\\xd0\\x3e\\xad\\xbd\\xc7\\x57\\xa5\\x0b\\xd5\\x38\\xdb\\x31\\x0e\\x5e\\x23\\xc4\\x84\\x04\\x5d\\x8b\\xba\\x46\\xf9\\xd4\\x6b\\x54\\x8d\\xb3\\x8d\\x1c\\xae\\xe6\\xf3\\x52\\xfb\\x88\\x1f\\xe2\\xb3\\x03\\xe3\\x28\\xf9\\xfc\\xbe\\x6b\\xe4\\x50\\x7c\\xb0\\xfe\\xac\\x13\\x63\\xee\\x7f\\x49\\xfa\\x83\\x2b\\xec\\x60\\xf4\\x2b\\xa3\\xa7\\xff\\x00\\xce\\xce\\x0a\\xce\\xb4\\x69\\x98\\xcf\\x2b\\x5d\\x7d\\x55\\x38\\x30\\x4b\\x62\\x2f\\x46\\xbe\\x91\\x9a\\xa7\\xf0\\xa5\\xba\\x22\\x48\\xa7\\x09\\xe9\\x3c\\x32\\x5f\\x05\\x23\\xf8\\xcf\\x1a\\x18\\xcd\\x0a\\xa4\\x4f\\xd4\\x3c\\xc9\\x67\\x42\\xbd\\x30\\x3c\\x4b\\xca\\x40\\x9d\\x52\\x0c\\x50\\x05\\x87\\x7c\\x64\\x2d\\x1c\\xca\\x41\\x1f\\x12\\xe0\\x14\\x3e\\xb1\\x16\\x6e\\x56\\x0d\\xdc\\x8e\\x21\\xe1\\x56\\x22\\x38\\xa4\\xb7\\x32\\xdc\\x83\\xfb\\x7f\\x1c\\xdc\\x4e\\x11\\x6e\\xdc\\x38\\x25\\x1c\\xae\\x55\\x31\\x9f\\xc9\\xb5\\xaa\\xbd\\xc4\\x5e\\xe1\\xfc\\x03\\x55\\xb7\\xd0\\xe1\\xc4\\x03\\xc5\\x4c\\x6b\\xa5\\xc2\\x37\\x14\\x0e\\xd5\\x0d\\x6e\\x14\\xcf\\x58\\x30\\x52\\x53\\xa6\\xa9\\x45\\x55\\x13\\xc4\\xf5\\x08\\x0c\\xbf\\x04\\x8f\\x64\\xef\\x5a\\xa1\\x02\\x8a\\x42\\x40\\xd0\\xe0\\x68\\x68\\xaa\\x54\\x3c\\x2a\\xf5\\x0b\\x19\\x1e\\xd1\\x3f\\x89\\x50\\x60\\xd4\\x3f\\x5d\\x9f\\x56\\xd5\\x48\\x70\\xce\\x89\\xe1\\x85\\x1c\\x6d\\xaf\\xf4\\xbe\\x07\\xa7\\x75\\x20\\x7a\\x7a\\x34\\x5e\\x9b\\xd7\\x56\\xe0\\x21\\x7d\\x5e\\xa8\\x35\\x63\\xf0\\x48\\x09\\x10\\xc5\\x48\\xac\\x82\\x21\\xc5\\xb1\\xa4\\x11\\xe3\\x08\\x71\\xec\\xde\\x17\\x15\\x27\\xcf\\xa6\\x36\\x93\\xb5\\x2a\\xe6\\xef\\xc3\\x67\\xd5\\x12\\x3c\\xe4\\x41\\xdc\\xac\\x3c\\xab\\x36\\xee\\x33\\x5a\\x58\\x5d\\xcd\\x59\\xee\\x67\\x72\\xfc\\xb0\\x97\\x38\\x2a\\xca\\x14\\xbb\\x73\\x7f\\xca\\x1f\\xaa\\x8d\\x85\\x2a\\xf0\\x70\\x0e\\x25\\x25\\xbc\\xef\\x41\\x5f\\x50\\x05\\x8f\\xf7\\x25\\x3c\\x9e\\x8b\\x44\\xfa\\xcf\\x09\\x73\\xc6\\x4f\\x1f\\xa0\\xaf\\xfc\\xba\\xe8\\x0d\\x54\\x76\\xbf\\xca\\x5e\\x56\\xc1\\x81\\x3c\\x7e\\x42\\x10\\x95\\xf7\\x12\\x9e\\xcd\\x1e\\xbf\\xa3\\xc6\\x77\\x61\\xf8\\x75\\xe2\\x3a\\xbc\\x47\\x28\\xde\\x83\\x36\\x47\\x9b\\xdb\\x6a\\x7d\\x5d\\x05\\x9e\\xea\\x26\\x5f\\x50\\xc2\\x67\\xf6\\x43\\xcd\\x53\\xc2\\x77\\xa3\\x6f\\x21\\x49\\xf5\\x5b\\x4b\\x8a\\xbb\\x4d\\x78\\xeb\\x27\\xd6\\x3d\\xdc\\x79\\x23\\x35\\xba\\x61\\x74\\x8f\\xc6\\x97\\xa0\\x50\\x6a\\xae\\xae\\x7b\\x56\\xe3\\xe2\\x3a\\x36\\xc4\\xc5\\x34\\x70\\xcd\\x14\\x95\\xb2\\x21\\x2e\\x3e\\xf8\\x3b\\x31\\x2e\\xae\\x69\\xcb\\xb8\\x28\\x4e\\x41\\x65\\xed\\xbc\\xbe\\x6d\\x04\\xe2\\x4d\\xa2\\xc7\\xa9\\xaa\\xbd\\xa6\\x1a\\x7f\\xbb\\x0a\\x1f\\xc7\\x55\\xa8\\xc2\\x8d\\x91\\x25\\xee\\xca\\x3d\\xa7\\x1a\\x1f\\xc7\\x07\\x6a\\x7c\\x54\\xee\\x1e\\x82\\xf9\\xd0\\xf8\\x3b\\x6a\\xf1\\x51\\xe5\\xfb\\xc4\\xfc\\xa5\\x7a\\x36\\xc4\\xc7\\x35\\xf0\\x2a\\xfe\\x8e\\xb6\\xa6\\x13\\xf3\\x57\\xe0\\xef\\x94\\xf1\\x3f\\x97\\xf0\\xfb\\x23\\xfd\\xe3\\x31\\xfe\\x94\\x29\\x35\\xf8\\x62\\x5f\\x9e\\x03\\xd2\\xbd\\x2b\\xa1\\x36\\x8e\\xf0\\xc1\\x43\\x3f\\x5c\\x23\\xaf\\xc2\\xc5\\x35\\x72\\x15\\xee\\x09\\x6a\\xe5\\xfc\\x1c\\x65\\x0d\\xda\\x92\\x44\\x7b\\x01\\xc2\\xc5\\x77\\xe0\\xc4\\x1a\\xf6\\xa8\\xe3\\xd7\\xb0\\x97\\xd6\\xe0\\x6f\\xaf\\xc2\\x57\\xd5\\xce\\x6b\\xf0\\x57\\xd6\\xe0\\x6f\\x23\\x6a\\xf8\\x9f\\xa8\\x86\\x5e\\x83\\xbf\\x83\\xa8\\xe1\\x7f\\xa2\\x5a\\x3a\\xc2\\xaf\\xd4\\xc4\\x21\\xfe\\x83\\xf5\\x6a\\xfc\\x58\\xa9\\xfc\\x66\\x5e\\x1f\\x8b\\xfd\\x58\\xfc\\x9d\\xf5\\x35\\xfc\\xdf\\x94\\xf9\\x37\\x34\\x54\\xe1\\xab\\x6a\\x89\\x68\\xdd\\x51\\x3e\\x09\\x7d\\xef\\x6d\\xbf\\x11\\x5e\\xce\\x24\\x46\\x25\\x22\\x84\\x23\\x01\\xe2\\x71\\xf5\\x9b\\xc4\\x6a\\xbc\\x03\\x55\\x78\\x8d\\x63\\x1b\\x31\\x5e\\xe5\\x39\\xd9\\xd0\\x78\\x5b\\x15\\x78\\x7e\\xa1\\x4a\\x98\\x68\\x81\\x88\\xa4\\xcc\\x51\\xd4\\xd2\\x21\\x70\\xb7\\x57\\xe3\\x36\\x74\\x37\\xb4\\x61\\x5c\\x89\\xab\\x1a\\x77\\x8b\\x02\\x17\\xd7\\x3f\\x55\\x7c\\x2f\\x49\\x34\\x9f\\x80\\xaf\\x12\\x77\\x47\\x35\\x6e\\xc3\\xad\\x0d\\xad\\x27\\xe0\\xfb\\x84\\x54\\xdb\\x44\\x76\\x0d\\x4c\\xd0\\x2e\\x95\\x7c\\x27\\x60\\x01\\x1f\\x8f\\xaf\\x12\\x77\\x67\\x35\\x6e\\xdf\\xcc\\xbe\\xe1\\x18\\x17\\x5d\\x13\\x55\\xe3\\x06\\xa0\\x5e\\x28\\x6a\\x9d\\x68\\x65\\x51\\xb4\\x86\\x35\\x63\\x91\\x60\\x95\\xc0\\x70\\xba\\x50\\x28\\x95\\x0a\\x7c\\xd2\\x1a\\xe5\\x6b\\x70\\x71\\x14\\x27\\xe3\\xa2\\x7a\\xcf\\xa9\\xc7\\xa9\\xb1\\x66\\xf8\\x39\\xca\\x5a\\x24\\xb2\\xe7\\x17\\x30\\x26\\xf5\\x4f\\xe2\\x47\\xd5\\x4e\\x6b\\xf0\\xb7\\x57\\xe3\\xcb\\x35\\xd4\\x40\\x60\\x88\\xfc\\xb8\\x06\\x7f\\x9b\\x02\\xdf\\x8b\\x62\\x6f\\xa9\\x94\\xea\\xf3\\xc9\\xe8\\x82\\xcc\\x66\\xd5\\xe0\\xee\\xa8\\xe6\\x7d\\xe2\\x7a\\x2a\\xc2\\xaf\\xd4\\x45\\x91\\x2d\\xff\\xbd\\x82\\x1f\\x78\\x9a\\x04\\xa5\\xf2\\xdf\\xf2\\x7a\\x2c\\x39\\x15\\x05\\x31\\x4e\\xac\\xc5\\xdf\\x39\\x14\\x7e\\x32\\x89\\xf1\\x93\\xc9\\x6a\\xfc\\x1c\\x5c\\x37\\x39\\x77\\x40\\x2b\\x8e\\xf2\\x20\\xbc\\x6a\\xe2\\xfd\\x24\\xd0\\xee\\x6f\\xcf\\xe8\\x42\\x09\\x80\\x62\\x48\\xb5\\x1f\\xae\\xc6\\x3d\\x50\\x83\\xdb\\x15\\xed\\xc2\\xb8\\xe8\\x18\\xf7\\xc4\\xb8\\x38\\x9f\\x92\\x71\\xb1\\xdc\\x50\\x4a\\x65\\x84\\x1b\\xbf\\xcc\\x59\\x95\\xef\\x55\\xe1\\x6f\\xaf\\xc5\\x47\\xd9\\x15\\xc6\\x97\\xb8\\x9f\\x08\\x1f\\xe7\\x59\\x55\\xfc\\x61\\xaa\\xf5\\xa3\\xf9\\xef\\xa8\\xc5\\x47\\x59\\xd7\\x89\\xf9\\x4b\\xb9\\x14\\xb6\\xf1\\x7f\\x09\\x7b\\x6f\\x05\\x1f\\x65\\x60\\x27\\xe6\\xaf\\xc0\\xdf\\x59\\x8b\\x3f\\x70\\xf7\\xc0\\x04\\x8c\\x8f\\x0e\\xb7\\xab\\xf1\\x91\\xad\\xcb\\x39\\x97\\xca\\xd2\\x87\\xd7\\xe6\\x5e\\x55\\xb0\\x15\\xcb\\x1e\\x12\\x56\\x99\\x7f\\x55\\xf6\\x66\\xba\\x99\\x18\\x2a\\x1f\\x5a\\x5a\\x03\\xbf\\xfd\\x84\\xf0\\xd0\\x56\\x95\\xf9\\x98\\xc2\\x56\\xcf\\x1c\\x12\\x7e\\x56\\x0d\\xfc\\x8e\\x13\\xc2\\xaf\\x44\\xf0\\x95\\xfc\\x0c\\xd9\\xe3\\xfe\\xff\\x1b\\xfc\\xce\\x2a\\xf8\\xa1\\xf2\\xba\\x4f\\xa5\\x1c\\x8d\\xbc\\x47\\x7a\\x2f\\x26\\xf4\\x3c\\x68\\x71\\xb7\\x0c\\xab\\xbd\\xb7\\x81\\xde\\xff\\x8b\\xf0\\x9b\\x88\\x77\\x09\\xe5\\x1d\\xb5\\xff\\x16\\x33\\x72\\x52\\x27\\xc7\\xb4\\x52\\x0e\\x08\\xd7\\x6a\\x2f\\xf1\\x9a\\xb0\\x56\\x38\\xa6\\xf3\\xe1\\xbe\\x6f\\x8f\\xe7\\x75\\x99\\x56\\x14\\x52\\x23\\x96\\x92\\x59\\x4a\\xb8\\xe8\\xce\\x9a\\x98\\x73\\x0a\\x38\\xe6\\xa7\\xc9\\x5c\\xa9\\xec\\x2f\\xe6\\xda\\x44\\x3e\\x95\\xd8\\xb1\\xc2\\x07\\xe6\\x20\\x1b\\x15\\x38\\xa8\\xf6\\x19\\x6b\\x6a\\x51\\xf3\\xe8\\xac\\xcc\\xbf\\x28\\xf3\\xb8\\x03\\xc7\\xaa\\xa8\\x16\\xdd\\x09\\x27\\xd4\\xe9\\x93\\x2e\\x60\\xc8\\xf7\\x5c\\x30\\x9f\\xa2\\x22\\xb7\\xf8\\x5c\\x81\\x87\\x72\\x8b\\x71\\xbe\\x71\\x83\\x28\\x44\\xed\\xe9\\xb1\\x0e\\x71\\x0f\\xa3\\x5b\\x7a\\x17\\x60\\x45\\xbd\\xd3\\xde\\x13\\x72\\x68\\xf4\\x1e\\x80\\xb4\\x95\\xc0\\x8c\\xa2\\xcd\\xa7\\x7e\\x1b\\x24\\xdc\\xdd\\x60\\x7f\\x2a\\xbf\\x27\\xda\\x04\\x7e\\x01\\xc6\\x20\\x79\\x5b\\x20\\x8a\\xa5\\x04\\x9c\\x45\\x8b\\x8d\\xae\\xdc\\x09\\x14\\xef\\x7a\\x7c\\x26\\xc2\\xc3\\xfc\\xf3\\x76\\x82\\x88\\x3c\\x47\\x5a\\x6c\\x80\\xb0\\x81\\x12\\xff\\x52\\x5e\\x67\\xb3\\x31\\x4c\\x82\\xb4\\xd9\\xa4\\x4d\\x6f\\xc1\\x82\\x21\\xf0\\xa8\\x6e\\x06\\x7a\\xeb\\x67\\x48\\x84\\x54\\x1e\\x3e\\x04\\x52\\x67\\x6d\\x1f\\x4c\\x31\\x56\\x36\\x3c\\x4f\\xfa\\xcc\\x3e\\x87\\xf4\\x7e\\x8a\\x00\\xa0\\x9d\\x6e\\x22\\xcf\\x64\\x0e\\x10\\x3a\\x22\\x90\\x47\\x1f\\x75\\x21\\x18\\x42\\x6f\\x40\\x3f\\x5b\\x0e\\xb4\\x2b\\x3f\\xe8\\xc1\\x99\\x00\\x17\\x1b\\x05\\x72\\xb1\\x1c\\x79\\xa6\\xdf\\x32\\x2a\\xbf\\x69\\xf8\\x54\\xe3\\xb2\\x04\\x73\\xe0\\x86\\x81\\xf5\\x13\\xbb\\x97\\xf6\\xee\\x45\\x7d\\xa4\\xcf\\xe3\\xe7\\x80\\xf3\\xca\\x97\\x13\\x66\\x22\\x94\\x37\\x98\\x08\\x42\\xcf\\xe8\\xad\\x16\\x52\\x73\\x99\\x91\\x68\\xf1\\xbd\\xa1\\xa2\\xa6\\xf8\\xb8\\x1a\\xea\\x95\\x0b\\xfc\\x36\\xbb\\x39\\xea\\x6d\\xca\\x8d\\x98\\x44\\x07\\xb6\\x39\\xca\\x84\\xdd\\xc8\\x5e\\xa9\\x1f\\x36\\x3c\\xb9\\xf9\\x2c\\xf5\\x18\\x3d\\x79\\xad\\x46\\x4b\\x68\\x0d\\x7a\\xf5\\x08\\x7f\\xe4\\xf8\\x56\\xd0\\x4f\\x52\\x0b\\x99\\x22\\xe1\\x25\\xe2\\x79\\x9b\\xd6\\xe5\\x73\\xf9\\x9d\\x8c\\xd9\\x18\\x36\\xb6\\x18\\x29\\xa3\\x4d\\x4b\\x10\\x2d\\x2f\\x65\\xff\\xb4\\xa0\\xfd\\x25\\xa1\\x1b\\x35\\xfa\\x8a\\x48\\x33\\x89\\x5a\\x2b\\xc7\\xd0\\xa7\\xfc\\x42\\x24\\xea\\xf4\\x9d\\x35\\x91\\xe4\\xa2\\xfa\\xc9\\x7d\\xa3\\xfc\\xf1\\x36\\xcf\\xba\\xd0\\xa8\\xf9\\xe3\\x1a\\xa6\\x8c\\xed\\xf1\\x35\\xb5\\xd8\\xd7\\x7a\\x7b\\x17\\xd2\\x4f\\xc6\\x1a\\x62\\x4d\\x7d\\x2b\\x4e\\x1b\\x51\\xd7\\x58\\x37\\xbc\\xe3\\xf4\\xa5\\x3d\\x50\\xc4\\x04\\x45\\x3c\\x40\\x7f\\x4a\\xed\\xe2\\xd0\\xf7\\x13\\x82\\x44\\x94\\x98\\x98\\x4f\\x44\\xb4\\xa1\\x90\\xab\\xce\\x17\\x08\\xb8\\x5c\\x31\\x7f\\x38\\xec\\x43\\xcc\\x01\\xb4\\x38\\x27\\xb3\\xc7\\x08\\x8c\\x79\\xad\\x61\\xa2\\x31\\xe4\\x23\\x5a\\xb2\\x1f\\xa6\\xe1\\x70\\x6c\\xdd\\x2d\\x0b\\x5e\\x12\\x5e\\xe3\\x29\\xfa\\x1b\\x67\\x8f\\x37\\x3e\\x2a\\x97\\xe5\\xa2\\xf0\\x17\\xf9\\xac\\x3c\\x4e\\x38\\xb4\\xf1\\xca\\x71\\x6e\\x49\\xff\\x26\\x7d\\x6c\\x75\\xe3\\xbe\\x34\\xab\\xc3\\x03\\x86\\x03\\x95\\x06\\xcc\\xff\\xe1\\x8f\\xf0\\xaf\\xea\\xfa\\x0a\\xf2\\x0d\\xf8\\x2e\\xb2\\x10\\x1b\\xfa\\xd0\\x4d\\xc1\\xf2\\xa1\\xbc\\x2e\\x1a\\x47\\x21\\xb8\\xba\\x81\\xa2\\x84\\x8b\\x7d\\x03\\xc2\\x15\\x70\\x88\\x5a\\x9a\\xd0\\x0f\\xec\\x93\\x69\\xe2\\x73\\xf5\\x48\\x4c\\x4d\\x4f\\x79\\x47\\x02\\xdb\\xb5\\x50\\x1b\\xba\\x03\\x8d\\x05\\xd7\\x6b\\x51\\x5b\\x90\\x86\\x5b\\xa4\\xc3\\x7b\\xd5\\x1d\\x09\\x09\\x1e\\x7a\\x59\\x48\\x5f\\xc6\\x42\\xd9\\x62\\x77\\x77\\xf7\\x78\\x14\\xd6\\x4a\\x79\\xae\\x14\\x97\\x5e\\x4d\\x10\\xec\\xb3\\xcc\\x67\\xe8\\x0e\\x87\\x58\\xf3\\xde\\x8b\\x6f\\x63\\xc1\\xf9\\x5a\\x4a\\xe5\\xee\\xbc\\xce\\x62\\x01\\x20\\x01\\xd4\\x49\\x26\\xc4\\x7b\\x8a\\x20\\x38\\xaf\\x88\\x77\\x8b\\x60\\xa1\\x0e\\xb1\\x52\\x7e\\x76\\x5e\\x67\\x36\\xab\\x91\\x04\\x1c\\xc8\\x8b\\x73\\x61\\x9c\\xf4\\xf1\\x78\\x41\\xab\\x1e\\x9a\\xd7\\x5a\\x11\\x6f\\x28\\x5e\\x6a\\x24\\x01\\x27\\xae\\xec\\xfb\\x27\\xfb\\x02\\xe1\\xce\\xf0\\x8d\\x45\\xb7\\x55\\xee\\xef\\x42\\x90\\xc4\\x4a\\x68\\x6b\\xff\\x8b\\x6d\\xcd\\x02\\xad\\xc4\\xcc\\x10\\x5a\\xad\\xd5\\x68\\x32\\xd9\\x8c\\x7a\\xc9\\xe6\\xba\\x5b\\xba\\x2b\\xdf\\x76\\x52\\x59\\x1e\\xa0\\x72\\x51\\x3b\\x07\\x1e\\x42\\xf6\\x77\\x7d\\x37\\xb2\\x3f\\xb0\\xff\\x61\\x0e\\x00\\x03\\x5b\\xb1\\x43\\xfe\\x17\\x20\\x92\\xe0\\x3f\\x8c\\x8a\\xbc\\xa8\\x31\\x22\\xaf\\x64\\xde\\xa2\\x61\\xb4\\xfa\\xe3\\x33\\xab\\xe5\\x96\\xb3\\x47\\x21\\x71\\x05\\x37\\xa2\\xcc\\x5e\\x0a\\x00\\xc7\\xff\\x4d\\xc9\\x2e\\x0a\\xe2\\x09\\xfe\\x13\\x3c\\xb7\\xc7\\xe8\\xf9\\xd4\\x4f\\x39\\x12\\xf2\\x8b\\x13\\xc3\\xf2\\x21\\x87\\x96\\xa0\\xa2\\x89\\x68\\x52\\xfb\\xa6\\xee\\x63\\x1d\\xa9\\xd3\\x05\\x1d\\xfa\\x88\\x3e\\x62\\x31\\x7b\\xc2\\x1e\\xd2\\x83\\xb8\\x2f\\x68\\x47\\x7d\\x95\\x5f\\xca\\x66\\x5b\\x16\\x48\\x9f\\x2c\\x50\\x8d\\x20\\x31\\xb4\\x83\\x58\\xe3\\x35\\x74\\xe7\\x36\\x0d\\xef\\xd5\\x2c\\x8b\\x01\\x77\\xfd\\xb4\\x09\\xa3\\x91\\x11\\xae\\xf7\\xf5\\x9c\\x3c\\xae\\x61\\xfa\\x84\\x5e\\xc1\\x08\\x87\\xcf\\x63\\x0e\\x5c\\x31\\xe6\\x9c\\x51\\xdd\\xb3\\x9b\\x9e\\x6b\\xc7\\x46\\xb8\\x64\\xf1\\xf0\\x54\\x6b\\x6a\\x78\\xc7\\xe2\\xf9\\x9d\\xd2\\x99\\x7b\\x3b\\xde\\xfb\\x71\\xad\\x92\\xbc\\xe7\\x4d\\x42\\xec\\xc8\\x89\\x9e\\x72\\x3f\\x6a\\xf1\\x0e\\x51\\xab\\xfc\\x2d\\xde\\xfb\\x05\\xf8\\x4d\\x25\\x21\\xaa\\x36\\xb9\\x4c\\x16\\xad\\x2e\\x81\\xf1\\x94\\xba\\x8e\\xe8\\x9b\\x38\\x56\\x80\\x47\\x3d\\x0f\\x7f\\x27\\xe8\\xe0\\xfb\\x30\\xe7\\xc5\\x11\\x21\\xf4\\x33\\x66\\x88\\x48\\xca\\x98\\x95\\xdc\\x6f\\x48\\x5c\\xaa\\x9b\\xf8\\xf0\\x47\\xe0\\x76\\x40\\xdc\\x14\\xb6\\x4d\\xa1\\x06\\x7b\\xc7\\x7e\\xc1\\x92\\x5d\\xa8\\x5b\\xc3\\x55\\xd2\\x45\\x02\\xf9\\x8e\\x06\\xb5\\x99\\xfd\\x5e\\xe4\\x83\\x7a\\x74\\xe9\\x40\\x97\\x95\\x45\\xfc\\x84\\x8a\\x53\\x43\\xb6\\x21\\x05\\xf9\\x50\\x24\\x2a\\xfa\\xaa\\xf9\\xa0\\x5e\\x90\\x8b\\xf1\\x7e\\x8e\\x6f\\x02\\x6a\\x69\\xb1\\x2a\\x49\\xd3\\x4c\\x12\\x70\\x7b\\x39\\x73\\xe5\\x95\\x11\\x21\\xc1\\x5b\\x70\\x7f\\x41\\xe1\\x9d\\xd1\\xa6\\xf2\\xf7\\xa0\\x0f\\x8f\\x8c\\x81\\x08\\xcc\\x5d\\xb8\\x3f\\xa0\\xc2\\xc7\\x40\\xfb\\xa5\\xae\\xc5\\x76\\xd8\\x54\\x6d\\xbf\\x1a\\x6c\\xbf\\x1a\\x0d\\x32\\x7b\\x8e\\xab\\xb5\\x5f\\xea\\x6b\\x11\\xaf\\xd6\\x7e\\x39\\x4e\\x8d\\xd4\\x89\\xf5\\xf6\\x6e\\x68\\x93\\xff\\x86\\x76\\x62\\x20\\xe0\\x1e\\x9f\\x87\\x02\\xa0\\xe1\\x3e\\x6d\\xa2\\x2c\\x76\\x8b\\xc3\\x4c\\x12\\x46\\x0e\\x6e\\x5c\\x07\\xda\\xdb\\xd5\\xdf\\x23\\xe2\\x62\\xa8\\xa9\\x7b\\x0c\\x7f\\x4b\\x43\\xb4\\xcb\\x87\\x13\\xcb\\x98\\xfc\\xa6\\x0c\\x1b\\xa9\\x58\\xe5\\x5e\\x9f\\x7b\\xea\\xe2\\x93\\x67\\x78\\x87\\x3d\\xa4\\xb4\\xcb\\xbb\\x44\\xbb\\x14\\xf9\\x21\\x6e\\x46\\xcc\\xcd\\x68\\xe4\\x20\\x43\\xc8\\xef\\x43\\xbc\\x2d\\xc9\\x1c\\xab\\xf9\\x89\\x96\\x29\\xf1\\x53\\xd8\\xa5\\x92\\xa1\\x68\\x99\\x15\\xbb\\xf4\\xc2\\x69\\x8f\\xc9\\xc7\\xc2\\xbe\\x60\\x4c\\x1b\\xf3\\x51\\xae\\x94\\xab\\x3e\\xf0\\x66\\xf2\\xe3\\x24\\x99\\x4c\\xda\\xa0\\x1f\\x82\\x9b\\x04\\xde\\xae\\x49\\x63\\x04\\x1b\\x27\\x74\\x0e\\xd9\\x16\\xab\\xd2\\x3a\\xa5\\xaf\\x7f\\x0d\\x65\\x96\\x66\\x10\\xe3\\xe0\\x00\\xd1\\x57\\x71\\x7a\\x01\\xf9\\xf8\\x71\\xed\\x72\\x75\\x7c\\x19\\xdd\\xbb\\xc9\\x6b\\xd5\\xf8\\x18\\xbe\\xda\\x30\\xdb\\x9f\\x8b\\x74\\x9f\\xd6\\x3e\\xbe\\x2d\\x9c\\xbc\\xa2\\x52\\x5b\\xff\\x54\\xaa\\xad\\xc3\\xf8\\x5c\\xaa\\x7d\\xe3\\xdb\\xeb\\xfe\\x39\\xfe\\x78\\xed\\x59\\x34\\xb6\\xd1\\x8b\\xc4\\xf8\\xfc\\x05\\x71\\x1f\\xf3\\xa2\\xfa\\x7d\\xa7\\xd7\\x3f\\xc4\\x59\\x37\\xb6\\xb3\\x8b\\x70\\x4f\\xa9\\x65\\xc4\\xef\\xc5\\xba\\xff\\x97\\x92\\xa5\\x05\\x6c\\x01\\x9f\\xd1\\x9d\\x10\\x1a\\x14\\x54\\xe7\\x6d\\x55\\xf8\\x70\\xbf\\xfd\\x0a\\xd4\\xe1\\x5e\\x08\\xbf\\x97\\x6a\\xb6\\x75\\x33\\xeb\\x22\\x46\\x07\\xb4\\xa0\\x50\\xa8\\xb6\\x66\\xfb\\x36\\xdc\\x47\\xef\\xc6\\x79\\xeb\\x2a\\xb1\\x46\\x9f\\x17\\xef\\x82\\xc4\\x60\\xfc\\x1d\\xfb\\x7d\\x2c\\x64\\xa2\\x94\\xf7\\xd8\\xab\\xe1\\x0f\\x80\\x2e\\xf1\\x2e\\x08\\xbe\\x9a\\x57\\xff\\x4e\\xbd\\x8c\\xa0\\x90\\x47\\x51\\x3e\\xcf\\xb8\\x43\\x7d\\xef\\x7d\\xbe\\x74\\x28\\xad\\x94\\xc7\\xd9\\xec\\x27\\x35\\xf2\\xb8\\x03\\x98\\xa0\\x0d\\x0a\\xf2\\x98\\x09\\xe5\\xe1\\x38\\x8e\\x3c\\x84\\x7b\\xf9\\x61\\xe9\\x5e\\x3e\\x8c\\xf1\\x17\\x8b\\xeb\\x85\\x1f\\x28\\x18\\x9c\\x06\\x87\\xf2\\xde\\xbf\\xd8\\xdf\\xe3\\x7e\\xf9\\x1e\\xff\\x26\\xb0\\x01\\x8c\\xc5\\xe3\\xd3\\xa1\\xf7\\x0c\\x66\\x9d\\x41\\x75\\x8f\\x9f\\xb8\\x17\\xee\\xcd\\x97\\x61\\xdb\\xee\\x11\\xcf\\xeb\\xf6\\x5e\\x8f\\x3d\\x82\\xb1\\x54\\x5e\\x95\\xd7\\x19\\x8d\\xe8\\xc8\\x5c\\x79\\xc3\\x15\\xe2\\xdc\\x0d\\x71\\x3e\\x13\\x71\\xfe\\x25\\xf8\\x03\\xe9\\x94\\xfd\\xd2\\xbc\\xce\\x60\\x50\\xa3\\xc8\\x77\\xd1\\xd8\\x28\\xae\\x23\\x65\\xe5\\x7b\\x86\\xff\\x12\\xb0\\xc8\\x72\\x7f\\x5e\\xe7\\x70\\xe8\\xa0\\xf3\\x75\\x38\\x2a\\x58\\x14\\x61\\xa4\\xef\\xa7\\xde\\x67\\x3e\\x13\\xbf\\x33\\xd1\\x9a\\xf7\\x1a\\x74\\x3a\\x40\\x53\\x26\\x56\\xa3\\x31\\x73\\x7a\\xbd\\x8e\\x35\\x53\\x0b\\xa9\\x73\\x29\\x8a\\x82\\x61\\xf0\\x1b\\x0b\\xb2\\x95\\x2f\\x38\\x8a\\xf6\\x8d\\x5d\\x08\\x8a\\xd5\\x51\\x6c\\x09\\xfe\\x2a\\x38\\x90\\x8d\\xe9\\xf7\\xd3\\x47\\x17\\x36\\xbe\\x97\\xa6\\xef\\x17\\xbc\\x87\\x05\\x45\\x8f\\x38\\xe6\\x1d\\x8a\\x1f\\x41\\xfd\\x78\\x7e\\xd8\\x85\\x24\\xc4\\x58\\x16\\xcc\\x10\\x1d\\x08\\xf0\\x57\\x38\\x0a\\xee\\x43\\xe0\\x08\\x80\\x95\\xbe\\x9f\\x4c\\x60\\x7e\\xae\\x3c\\x5c\\x58\\x0e\\xd2\\x07\\x02\\x6d\\x9c\\x23\\x48\\x33\\x00\\xcf\\x09\\x23\\x97\\x06\\x5c\\xa9\\x8f\\x48\\x67\\x58\\x38\\xd6\\x7d\\x4f\\xac\\x59\\x48\\xb5\\x29\\x74\\xec\\x65\\xf4\\x25\\xf0\\xd9\\xe5\\x10\\xb5\\x29\\xba\\x5f\\x3e\\x2f\\xbb\\x4d\\x7c\\xbb\\x05\\x86\\x95\\xca\\xbf\\x2c\\x0e\\x6b\\xf7\\x29\\x7a\\x70\\x55\\xf1\\xa1\\xba\\xd1\\xbb\\x68\\x19\\x07\\x45\\xc0\\x2f\\x66\\x5a\\xd5\\x6c\\x3a\\xe5\\x33\\x7b\\x6c\\x27\\xeb\\x44\\x7d\\x3f\\x20\\xda\\x49\\x17\\xb4\\x93\\xae\\x45\\xd2\\x41\\xba\\x7c\\x5f\\x01\\xf3\\x29\\xca\\xf3\\xc1\\xf4\\x65\\x3c\\x14\\x01\\x8f\\x5f\\x34\\x7e\\x26\\x2a\\xf7\\x8c\\x1c\\x59\\x3d\\x9f\\x5b\\xca\\x5f\\x73\\x7d\\x58\\x1f\\xdb\\xe5\\x7d\\x6d\\x83\\x88\\x15\\x75\\x44\\xa3\\xe8\\x8a\\x52\\x24\\xa2\\xae\\xe7\\x76\\xe0\\x3b\\x4d\\x9f\\x89\\x77\\x9a\\xa0\\x06\\xdf\\x2b\\x64\\xf5\\xff\\x88\\x44\\xd4\\xe0\\x22\\x8f\\xfb\\xa1\\xce\\xe7\\x11\\x0f\\x6a\\x9e\\x78\\x4f\\x7f\\xef\\x4d\\xb8\\x36\\xd4\\xdc\\x5c\\x75\\xce\\xff\\x99\\x78\\xce\\x0f\\x69\\x3e\\xaa\\x82\\xc0\\xfe\\xe6\\x13\\x38\\x4f\\x07\\xb3\\x05\\xc1\\xa0\\xf7\\x3d\\x30\\xae\\x7d\\x0f\\xe7\\xb4\\x7e\\xa8\\x0b\\x0f\\x48\\xba\\x40\\x11\\x43\\xe8\\x82\\xb0\\x41\\xf9\\x45\\xad\\x92\\x74\\x09\\xe1\\x4e\\x85\\x7b\\xed\\x5c\\xb8\\xf7\\x19\\x51\\x3e\\x0c\\x77\\x5a\\x1d\\xa1\\x33\\x9b\\xf0\\x9e\\x57\\x95\\x0f\\x0b\\xfb\\x1d\\xfe\\xc8\\x5a\\x8e\\x9c\\x8b\\xb7\\x3a\\xbf\\x8d\\xae\\x13\\xb7\\xb8\\xae\\x89\\x6d\\xce\\xf4\\xd3\\xd0\\x88\\xdf\\xe3\\x0f\\x11\\x8d\\x30\\x78\\xa0\\x08\\xeb\\xb3\\xe8\\x7b\\xc6\\x24\\x1c\\x47\\x8b\\xf8\\x21\\x34\\xbb\\x35\\x66\\x6d\\x9c\\xc5\\x70\\xff\\xfd\\x92\\xf5\\xa0\\xef\\x7b\\x44\\x20\\xec\\x27\\xcc\\xd5\\x84\\x09\\xda\\x8b\\xd3\\xa0\\x83\\x12\\xa0\\x01\\x80\\xdc\\x49\\x8d\\x86\\x03\\x7a\\x86\\xd1\\xc2\\x51\\x20\\x43\\x69\\xa9\\x7c\\xf7\\x5b\\xf8\\x12\\x18\\x24\\x15\\xb3\\x72\\xa9\\x5c\\x2a\\xe7\\xce\\xb9\\x39\\x37\\x97\\x6a\\x9c\\xb5\\x21\\xf7\\xd8\\x63\\xe2\\x3f\\x1b\\xf8\\x43\\x4c\\xe1\\xb2\\xdc\\xcf\\x1e\\x1d\\xf6\\xf8\\xe3\\xc3\\x1e\\xfd\\x59\\xee\\x32\\xc4\\xeb\\xf7\\xfc\\x21\\xf0\\x0c\\xe4\\xa5\\x23\\x3a\\xf2\\x6e\\x0d\\x34\\x43\\x2d\\x09\\x87\\xc6\\x30\\x2c\\xab\\xa7\\x39\\x00\\xff\\xd6\\xb1\\x3a\\x02\\x7d\\x39\\x5d\\xf8\\xb2\\x48\\xe5\\xdb\\xe9\\xd2\\xfc\\x53\\xb9\\x18\\x1c\\x7e\\x34\\x95\\x03\\xcf\\x7c\\x9c\\xbb\\xf2\\xbb\\x41\\x30\\xf9\\xca\\x1c\\xfd\\xd8\\x1f\\x73\\x97\\x7c\\x7f\\x36\\xf3\\xe9\\x25\\xc3\\xd0\\xb7\\x46\\xa6\\xc2\\xf9\\xd4\\x63\\x1e\\x70\\x3e\\x1a\\x9a\\x66\\xb5\\x14\\xc5\\xb2\\x50\\xc8\\x7a\\x86\\xd2\\x52\\x5a\\xc8\\x44\\xe2\\x20\\xce\\x45\\xf1\\x0d\\x36\\x48\\x1c\\xce\\x03\\xce\\x26\\x5a\\x3f\\xf8\\xdd\\x95\\xb9\\x8f\\x21\\x0f\\x30\\x19\\x4e\\xe4\\xb6\\x4b\\x72\\x7f\\xfc\\xd3\\x30\\xd4\\x8f\\x14\\x10\\x33\\xc1\\x5e\\xfa\\x1b\\xb8\\x8b\\x52\\xc4\\x84\\x7c\\x07\\x01\\x65\\xcb\\x00\\x62\\x77\\x01\\x10\\x4c\\x84\\xc9\\x33\\xa7\\x32\\xb7\\x30\\x3b\\x19\\x16\\xfd\\xc7\\x79\\xf8\\xb7\\x0c\\x81\\x7f\\x43\\x75\\x0f\\x30\\x9f\\x30\\x64\\x2b\\xb3\\x97\\x21\\x57\\x9e\\x7f\\xca\\x82\\x95\\xe7\\x13\\x2d\\x69\\x29\\xe5\\xb7\\xe7\\xa2\\xdc\\xcc\\x14\\xbd\\x2a\\x05\\xf6\\xbe\\xfe\\x3a\\xe6\\xd1\\x04\\x79\\x8c\\xc1\\x3c\\x4e\\xcb\\x8f\\x86\\x3c\\x04\\x16\\x11\\x06\\xdc\\x02\\x7f\\xc7\\x80\\xc0\\x4e\\xfc\\xbb\\x53\\x19\\x90\\x67\\xd0\\xff\\x85\\xff\\x4b\\xf8\\x3f\\xe7\\x49\\xff\\x29\\xfc\\x1e\\xfe\\xa6\\xfb\\x13\\x06\\x40\\x7e\\x0b\\x16\\xac\\x44\\x7f\\x9d\\x8f\\xff\\x82\\xff\\xb9\\x12\\xb1\\x17\\xd4\\x12\\x71\\x6f\\x8a\\x50\\xff\\x8e\\x60\\xee\\xa0\\xfc\\x0d\\xd8\\xab\\xb1\\x23\\xde\\x60\\x44\\xfe\\x33\\x92\\x21\\x68\\xcc\\x7b\\x1e\\x03\\xa6\\x30\\x60\\x04\\x03\\xd2\\xcc\\xff\\xc3\\xdb\\x7f\\x00\\x46\\x59\\x65\\x8f\\xc3\\xf0\\x3d\\x4f\\x9d\\xde\\x27\\x33\\x93\\x3e\\x99\\xf4\\x4e\\x26\\x85\\xd0\\x32\\x08\\x84\\x40\\x80\\x00\\x86\\xc0\\x00\\x21\\x10\\x91\\xaa\\x20\\xd2\\x41\\x04\\x04\\x15\\x44\\x85\\x08\\x08\\x2a\\x28\\x2a\\x60\\x41\\x90\\x55\\x08\\x01\\x0b\\x28\\xc5\\x8a\\xa8\\xa8\\x88\\x82\\xb8\\x6b\\x5b\\xd7\\x55\\x5c\\x77\\x57\\xdd\\x24\\xf3\\xe4\\x3b\\xf7\\x4e\\xc9\\x04\\x70\\xdf\\xdf\\xef\\xfb\\xff\\xdf\\x77\\x92\\xa7\\xdf\\x7b\\xee\\xb9\\xe7\\x9e\\x7b\\xca\\xad\\x10\\x27\\x22\\x2d\\xa1\\x4d\\x84\\x1f\\x44\\xf8\\x5c\\x84\\x77\\x44\\x78\\x49\\x84\\x3d\\x22\\x3c\\x22\\xc2\\x3a\\x11\\x96\\x8a\\x30\\x53\\xbc\\x46\\xf8\\x84\\xa3\\x22\\x3c\\x2f\\xc2\\x63\\x22\\xac\\x17\\x61\\xb9\\x08\\xb3\\x45\\x68\\x10\\xa1\\x46\\x84\\x0a\\x11\\x0a\\x44\\x48\\x12\\xc1\\x28\\x42\\x87\\x08\\xdc\\x65\\x11\\x2e\\x89\\x70\\x46\\x84\\xff\\x61\\x84\\xff\\x55\\xf8\\xf2\\xab\\x23\\x44\\x88\\xd2\\xf5\\x37\\xa7\\xeb\\xaf\\x21\\x44\\xbc\\xff\\x1a\\x3a\\x54\\xa8\\x74\\x57\\x1d\\xa4\\xaa\\x35\\x5d\\x45\\x22\\x65\\xda\\x49\\x57\\x94\\x6a\\xea\\x20\\x5d\\x5f\\x42\\xb6\\x29\\xc8\\xe9\\x56\\x78\\xed\\x38\\x28\\x8f\\xf6\\xa1\\x52\\x1b\\x8a\\x3a\\x57\\xa2\\x6d\\x97\\x28\\x7b\\xd6\\x28\\x44\\x70\\x77\\xd4\\xa2\\x9c\\xbc\\x8e\\x10\\xa5\\x15\\x8d\\x72\\xbc\\x12\\x93\\x4f\\x0d\\x20\\x90\\xc8\\xb2\\x04\\xac\\x8d\\x8d\\xbc\\xc2\\x57\\x70\\x23\\xc4\\x95\\xe8\\xbd\\x1c\\xf4\\x75\\xa8\\x88\\x5a\\x40\\x5e\\xd4\\x69\\x81\\x9a\\xb4\\x8f\\x8e\\x53\\x8b\\xfc\\x18\\xff\\x98\\x07\\x75\\x70\\x97\\x0e\\xea\\x74\\x50\\x89\\xae\\x90\\x0e\\xbe\\xd5\\xc1\\x27\\x3a\\x78\\x48\\x07\\x6b\\x75\\xb0\\x40\\x07\\x53\\xd0\\x42\\xd4\\x81\\xa4\\x83\\x5f\\xc3\\x9f\\x4e\\xe9\\xa0\\xb9\\x6b\\x14\\xfc\\xaa\\xc6\\xa0\\x93\\x75\\x30\\x52\\x07\\xd7\\xe9\\xa0\\x58\\x07\\xa9\\x3a\\xb0\\xe9\\x40\\x60\\xd1\\xbe\\xd6\\xc1\\x47\\x3a\\x78\\x5d\\x07\\xb0\\x5f\\x07\\x3b\\x74\\xb0\\x41\\x07\\xab\\x75\\x70\\x0b\\xed\\x68\\x83\\xe1\\x3a\\xe8\\xaf\\x83\\x42\\x1d\\x24\\x87\\x23\\x4c\\xff\\x59\\x07\\x5f\\xb2\\x18\\x27\\x74\\x70\\x80\\x45\\xd8\\xa4\\x83\\x15\\x2c\\x02\\xa6\\x50\\xcb\\x22\\x14\\xb3\\xd0\\x44\\x07\\xff\\x0a\\x83\\xc7\\xc0\\x3b\\x59\\x48\\x04\\x3d\\x2f\\x1c\\xb2\\x98\\xc1\\x35\\x31\\xb8\\xff\\xd2\\xf9\\xca\\x3b\\xc3\\xee\\x0f\\x03\\x8e\\x04\\xf7\\x31\\x34\\xb8\\x60\\x78\\x84\\x5c\\x8e\\x78\\xbc\\xaf\\x83\\x63\\x2c\\x60\\xb8\\xb4\\x1b\\xfe\\x98\\x37\\x6e\\xed\\xfa\\xeb\\xc2\\x1b\\x0d\\xd1\\xc1\\x27\\x5c\\x0d\\x81\\xc5\\xc8\\x21\\x15\\xa7\\xd8\\x3a\\x58\\xe1\\x4d\\x4c\\x83\\x52\\x01\\xdd\\x7d\\x2f\\xba\\xfd\\x5e\\xfe\\x95\\x74\\xe7\\x98\\x81\\x87\\x86\\x4c\\x31\\x2e\\xf7\\xf2\\x15\\xc7\\x97\\x1e\\x1a\\x3a\\xe4\\xa9\\xc1\\x4a\\x5b\\x54\\x19\\xab\\x49\\xae\\xcf\\xce\\x4b\\xc8\\x03\\x20\\x81\\x16\\x4d\\x2c\\x51\\x78\\x74\\x1c\\x2b\\xe2\\x1c\\xb6\\xcc\\x96\\xe9\\x54\\x08\\x72\\xa8\\x8d\\xd1\\x53\\x5a\\xe6\\x41\\x65\\x64\\x00\\x98\\xdb\\xfc\\x64\\xe2\\x72\\x2f\\x24\\xa5\\x3b\\x46\\xf1\\x15\\x4f\\x3f\\x08\\xc2\\xf1\\xf9\\x74\\x78\\x0f\\xf2\\xeb\\x4f\\xca\\x71\\x58\\x85\\x6c\\xa5\\x21\\xdd\\x7c\\x4e\\x41\\x25\\xaa\\x64\\x59\\x12\\x45\\xad\\x8e\\x49\\x52\\xe9\\xd1\\x71\\x44\\x64\\xe0\\x0b\\x4e\\xe4\\x84\\xf7\\x7a\\x0e\\xef\\xba\\x4d\\x05\\x29\\x6d\\xaa\\x60\\x29\\x3c\\x75\\xb8\\x66\\xaa\\x7e\\xa5\\x17\\x92\\xd3\\x1d\\x75\\xca\\xf1\\x9a\\xa7\\x2b\\x41\\x78\\x7d\\xd1\\x21\\xc4\\x5d\\x41\\xdc\\x47\\x21\\xee\\x68\\x66\\xfa\\x2c\\x3a\\x54\\x7d\\x06\\xad\\x4e\\x02\\x1d\\x3c\\xe2\\xd7\\x45\\x23\\x6e\\x29\\x8f\\xb4\\x8c\\xf2\\x11\\x6f\\x0f\\x7d\\xa9\\x51\\xde\\xe5\\x52\\x75\\x73\\xb1\\x25\\x5d\\x5c\\xa9\\xb4\\x27\\xa5\\x2c\\xbd\\xa3\\x71\\x61\\xd5\\x84\\xe3\\xe8\\xd7\\x21\\x4d\\xf8\\x0e\\xca\\xf7\\xc4\\x4e\\x6a\\x7c\\x19\\x56\\xad\\xcd\\x68\\x32\\x69\\x6d\\x26\\xad\\x23\\x46\\xa5\\x16\\xd4\\xa8\\x6d\\x1c\\x5a\\x9b\\xda\\x24\\xea\\xba\\x54\\x85\\x48\\x11\\x84\\x36\\x04\\x0c\\x69\\xb9\\xf2\\xd0\\xb6\\x6e\\xa1\\x7c\\x41\\x67\\x99\\xb8\\x3b\\x6f\\xb9\\xe9\\xe9\\x8e\\xd1\\x43\\x9a\\x59\\xf9\\x04\\xbc\\x5d\\xca\\x6a\\xfe\\xe1\\x11\\xac\\xac\\x3a\\x0b\\x8d\\xf9\\xd6\\x61\\x1c\\xd5\\xc4\\x4a\\x06\\xfb\\x52\\x69\\xc9\\x81\\x08\\x92\\x64\\xd7\\x9b\\x0c\\x26\\x8d\\x41\\xab\\xb5\\xdb\\xb4\\x06\\x01\\xc5\\xd5\\x35\\x0a\\x92\\xa1\\x87\\xa5\\xc9\\xf0\\xb3\\x44\\x6d\\xf4\\x1e\\x5d\\xae\\x62\\xe4\\x8e\\x77\\xb7\\xec\\x4c\\x62\\x25\\xec\\xf4\\x2b\\xda\\x48\\x69\\xd7\\xf2\\x15\\x3b\\x1f\\x06\\xe1\\xd8\\xed\\xcd\\xc3\\x68\\xa9\\x1f\\x5b\\x7c\\x10\\xf1\\xea\\xf8\\x55\\x39\\xce\\x97\\xb1\\x32\\xb7\\x93\\x5a\\x5f\\x96\\xd1\\x6a\\xb2\\x5a\\x2c\\x66\\x13\\x2b\\x7d\\x2c\\x77\\x2c\\x7f\\xd9\\x24\\xc7\\x38\\xb4\\x3a\\x5d\\x8c\\x59\\xa2\\x4c\\xa0\\x23\\xa6\\x10\\x1b\\x78\\x4f\\x14\\xe5\\x98\\x89\\x37\\xb2\\xef\\xb7\\x39\\xa2\\x5a\\xa3\\x19\\x03\\x3a\\x19\\x43\\xec\\xbc\\xe5\\xc6\\xb6\\x8c\\x98\\xa2\\x0d\\xb1\\xa1\\x22\\x37\\x0f\\x9b\\xa2\\x0b\\x3e\\x20\\xc7\\x8c\\x78\\xf6\\x3a\\xca\\x31\\xcd\\x23\\x86\\x3d\\x3b\\x00\\x6f\\x16\\x1e\\xa1\\x72\\xb1\\x9d\\xaf\\x10\\x8a\\xc5\\x95\\xa6\\x74\\xf9\\x5b\\x85\\xda\\x60\\xdf\\xc2\\x25\\x26\\xf3\\x3e\\xee\\x58\\x20\\xd4\\xa3\\x1d\\xa5\\x25\\x95\\x3e\\x8f\\x9a\\x80\\x46\\xa5\\x92\\x78\\x59\\x06\\x81\\xe3\\xf4\\x3a\\x49\\x4d\\x78\\x41\\xd4\\x22\\x49\\x87\\xfb\\x35\\xa2\\xc8\\xc9\\x58\\x10\\x05\\x6c\\xe3\\x78\\x8a\\x38\\x75\\x01\\x42\\x54\\x0d\\xee\\x5a\\x1e\\xdc\\x24\\x9a\\xf7\\x58\\xc5\\x32\\xd1\\xea\\xe6\\xd3\\x64\\xee\\xc7\\x1f\\x1e\\x39\\xaa\\x3c\\x9f\\x09\\x95\\x79\\xa4\\xe3\\x46\\xb8\\x3e\\x93\\x3f\\xd6\\xd6\\x2c\\x0c\\x8e\\x7b\\x37\\x01\\x16\\x29\\x6b\\x12\\xde\\xc5\\xf4\\x8b\\x3a\\xe6\\xa2\\x6f\\xf9\\x2e\\x52\\xef\\x6e\\x5f\\x35\\x58\\x2c\\x26\\x83\\x56\\x43\\x77\\x3b\\x33\\x1a\\x4d\\x3a\\x59\\x16\\xcd\\x36\\x3b\\xe1\\x45\\xc1\\x24\\x88\\x26\\x31\\xc6\\xa1\\xb1\\xdb\\x88\\x4d\\x6b\\x36\\x08\\x16\\x9d\\xd5\\x62\\x1d\\xee\\xd7\\x5b\\x24\\x34\\x88\\x04\\x4e\\x05\\x1c\\x0c\\xf7\\xcb\\x9c\\x05\\xff\\x30\\x2c\\x09\\x16\\x7e\\xd8\\x28\\x0a\\xe3\\xda\\x89\\x74\\x79\\x79\\xd8\\x44\\xec\\xdc\\x5a\\xb2\\xb3\\x59\\x82\\x62\\xef\\x45\\xec\\xd3\\xb4\\x80\\xa7\\x50\\x76\\x38\\xb7\\xf2\\x54\\x26\\x0c\\x2b\\x39\\x37\\x0a\\x66\\x67\\x2a\\xdb\\xea\\x52\\x60\\x56\\xa6\\xf2\\x68\\xe9\\xb9\\x3a\\x65\\x57\\x26\\xd4\\xd4\\xf1\\x1f\\xd1\\x4c\\x4d\\x56\\xb6\\x25\\xbc\\x1b\\xa7\\xbc\\xad\\x9c\\xc6\\x27\\x65\\x1b\\x4c\\xc6\\x27\\xf0\\x32\\x3a\\x8f\\x85\\x65\\xdc\\x4e\\xfe\\x2d\\xa2\\x85\\x5a\\xdf\\xbf\\x89\\xa4\\xd7\\xa9\\xf9\\xc5\\x3c\\x87\\xd6\\x55\\xba\\x1e\\xbe\\xd5\\xc3\\x27\\x7a\\x68\\xd6\\xc3\\x6e\\x3d\\xcc\\xd3\\xc3\\x14\\x3d\\xd4\\xe9\\xa1\\x92\\xbd\\x7f\\x50\\x0f\\x31\\x7a\\x90\\xf4\\x60\\xea\\xaf\\x87\\x52\\x3d\\xa4\\xe8\\xc1\\xa2\\x07\\x41\\x0f\\xff\\xd2\\xc3\\xd7\\x2c\\xda\\x29\\x3d\\xbc\\xc0\\x62\\x6e\\xd2\\xc3\\x6a\\x3d\\x2c\\x08\\xc7\\xc7\\xf0\\xc5\\x7a\\x48\\x0d\\xc7\\xbf\\xe9\\x23\\x3d\\x9c\\xd0\\xc3\\x01\\x16\\x14\\xa1\\xde\\xa5\\x87\\xc9\\x7a\\xa8\\x65\\xe9\\x20\\xdc\\xf4\\x70\\xb8\\x5f\\xf4\\x00\\x5f\\xea\\xe1\\xfd\\x70\\xe8\\x9d\\x7a\\x58\\xa1\\x87\\x5b\\x58\\xe8\\xe1\\x7a\\xf0\\x85\\xa1\\xda\\xf4\\x40\\xf4\\xf0\\xb3\\x9e\\x06\\xfe\\x28\\x9c\\xf8\\x3c\\x16\\x2c\\xf8\\x15\\x71\\xec\\x89\\x50\\x8e\\xe9\\x81\\xdb\\xaf\\x87\\x1d\\x7a\\x54\\x0b\\x0d\\x5d\\x24\\xfd\\x7f\\x33\\x16\\xfe\\xc0\\x5a\\x98\\xd0\\x45\\x0f\\xa0\\xa3\\x30\\x21\\xe2\\x29\\xd8\\x42\\x5b\\x2b\\x7b\\x8b\\x62\\xb8\\x9d\\xfb\\x16\\x2f\\x7c\\x6e\\xcf\\xa2\\x25\\x7b\\xb9\\x9d\\x8b\\xf7\\xed\\x5d\\xb2\\x64\\xcf\\x9e\\x60\\xff\\xce\\x9d\\x68\\xa9\\xff\\x07\\xba\\xe1\\x9d\\x8c\\xfc\\x5e\\xea\\x8b\\x45\\x66\\xd7\\x4a\\x02\\xda\\xfa\\x5a\\x82\\x05\\x82\\xd6\\x1f\\x3c\\x32\\x4e\\x15\\x62\\x9f\\x82\\x22\\x56\\x3b\\xbd\\x21\\x4e\\x89\\x58\\xbc\\x5e\\xe4\\x6c\\x77\\xe8\\xb8\\xb3\\x27\\xb8\\x7b\\xc2\\xcd\\xec\\x3c\\x9d\\x9d\\xbb\\x29\\x67\\xc2\\x47\\x50\\x27\\x30\\xfb\\x5d\\xf8\\x00\\x7d\\x1c\\xa7\\x0f\\x53\\x40\\xd7\\x42\\xe2\\x10\\x01\\xda\\x22\\x06\\x61\\x1b\\x9a\\xda\\xe7\\xf6\\xec\\xeb\\xe1\\x82\\x70\\x07\\x35\\xca\\x6b\\xa8\\x4d\\x3e\\x14\\x6d\\xf2\\x2c\\x16\\xcf\\x7e\\x88\\x27\\x68\\x93\\xa3\\xbc\\x8b\\xc4\\xa2\\x5c\\x5a\\xe2\\xc6\\x68\\xca\\x50\\xb8\\x70\\xbd\\x70\\x47\\x4d\\x6b\\xa2\\xb8\\x31\\x98\\x9e\\x05\\xe3\\xfd\\x24\\xae\\xc2\\x1c\\x26\\xfb\\xf4\\x84\\xe3\\x44\\x9e\\x57\\x01\\x0a\\x21\\x3e\\x68\\xc3\\x77\\x5a\\xf0\\x41\\xdb\\x9d\\x26\\xfd\\xd3\\x89\\xda\\x13\\x70\\x81\\xff\\xa0\\x2d\\x51\\xf8\\x0b\\xbc\\x10\\x05\\x43\\x4b\\xfd\\x01\\xac\\xf7\\x18\\x17\\x21\\xf1\\x3c\\x6d\\x63\\xd5\\x68\\x24\\x5e\\x4d\\xb7\\x88\\x8c\\x76\\x6e\\xba\\xfa\\x03\\x2c\\x3b\\xee\\x30\\x5c\\x65\\x3e\\xac\\x0b\\xc3\\xae\\x51\\x7e\\x20\\x5d\\xe0\\xe7\\xfb\\x6c\\x28\\xc3\\x55\\x82\\x96\\x76\\x69\\xea\\x64\\xad\\x96\\x10\\x41\\xcd\\x0b\\x57\\x80\\x8f\\x40\\xe7\\x11\\x2a\\xcb\\x37\\xfe\\xfd\\x04\\xeb\\x10\\xf4\\x05\\x4c\\x43\\x48\\x02\\x7b\\x8d\\x32\\x8c\\x26\\x11\\xf4\\x5b\\x43\\x3f\\x93\\x24\\x53\\x3f\\x53\\x26\\x55\\x1d\\xff\\x91\\x0f\\x8b\\xeb\\xd0\\x5f\\x8b\\x23\\xd9\\xa4\\x8c\\x54\\x92\\xeb\\xc9\\x68\\xae\\x97\\x6f\\xd1\\x28\\xab\\x36\\x96\\x2f\\xc8\\x18\\x5d\\x9a\\x54\\xdd\\x6f\\x64\\xcf\\x9e\\xfd\\x92\\x32\\x78\\xad\\x34\\xc6\\xff\\x90\\x1f\\xd6\\xf9\\xe1\\x56\\x3f\\x4c\\xf6\\x43\\x9d\\x1f\\xca\\xfd\\x90\\xe3\\x87\\x04\\x3f\\x6a\\x71\\x3f\\x5c\\xf6\\x77\\xf8\\xb9\\x13\\x34\\xc0\\x23\\x7e\\x6e\\x1e\\xfd\\x52\\xed\\xe7\\x4c\\x7e\\x10\\xfc\\xf0\\xa5\\x1f\\x3e\\xf2\\x03\\x5a\\xa8\\x3b\\x59\\xfc\\xe5\\x7e\\xf0\\xf9\\x87\\xfb\\x39\\x2e\\xd9\\x5f\\xe8\\xe7\\x8c\\x7e\\x50\\xf1\\xa3\\xa5\\x51\\xce\\xa1\\xdd\\x52\\xbb\\xd1\\x85\\xd5\\xfc\\x03\\x73\\xe2\\x73\\xd8\\x4d\\xf7\\xf8\\xd4\\xf8\\x16\\x88\\x3b\\x38\\xce\\x97\\xea\\x52\\xd9\\xf1\\xd5\\x0b\\x7e\\xa2\\xc2\\x17\\x2f\\x8c\\x23\\x46\\x7c\\xf2\\xe9\\xfd\\x44\\xbe\\xcf\\x0f\\xcb\\xfc\\x30\\xcb\\x0f\\xfe\\x16\\x8e\\xf8\\x92\\x96\\x2c\\xab\\xaa\\x62\\x88\\x65\\x33\\xc4\\x10\\xaf\\x76\\x3f\\xfc\\xe8\\x87\\x8b\\x7e\\x78\\x2f\\x14\\xe6\\xf5\\x5b\\xe6\\x56\\x6d\\xf5\\xc3\\x5a\\x3f\\x2c\\xf6\\xc3\\x0c\\x74\\x47\\xfc\\x30\\xc4\\x0f\\xbd\\xfd\\x90\\x8f\\x98\\xf8\\x61\\x1a\\x22\\x34\\x9d\\x65\\xe6\\x7b\\x3f\\x5c\\xf2\\xc3\\xdb\\x0c\\xf3\\xe7\\xfc\\xb0\\xdd\\x0f\\xf7\\x33\\xe4\\x67\\xfb\\xa1\\xc1\\x0f\\x63\\xfc\\x30\\x2c\\x9c\\x52\\x5c\\x54\\x4a\\x5f\\xf8\\xe1\\x8c\\x1f\\x5e\\xf1\\xc3\\x3e\\x3f\\x20\\xbd\\xee\\xf1\\xc3\\x52\\x3f\\xdc\\xe4\\x87\\x7a\\x16\\xbe\\x8f\\x1f\\x72\\xfd\\x10\\xef\\x07\\xbd\\x1f\\x7e\\xf7\\x03\\x26\\xf1\\x99\\x1f\\xde\\xf1\\xc3\\xcb\\x68\\xbe\\xef\\xf5\\xc3\\x63\\x7e\\xb8\\x0b\\xd1\\xf4\\x43\\xb5\\x1f\\x8a\\xfc\\x90\\xea\\x07\\xa4\\x20\\x87\\xc9\\xc0\\xcf\\x7e\\xf8\\x9a\\x61\\xf2\\x3c\\xbe\\x68\\xa0\\x92\\xa0\\x61\\x42\\x57\\xcb\\xf0\\x4a\\x2f\\xe3\\x4a\\x5b\\x92\\xca\\x8e\\xce\\x28\\x39\\x91\\x18\\x39\\xd4\\xd9\\xa8\\xc8\\xc9\\xa1\\x4b\\xa8\\x32\\x4d\\x10\\x3e\\x9c\\x15\\x15\\x40\\x13\\x69\\xe8\\x2a\\x97\\x6e\\x6d\\x08\\xc3\\xeb\\x54\\x12\\x21\\x46\\x0c\\x6f\\xee\\x2c\\x87\\xf7\\xeb\\xb6\\x88\\x29\\x06\\x60\\xfb\\x3b\\xd3\\xfd\\xb0\\xff\\xdb\\xb7\\xb4\\xff\\x16\\xcf\\x03\\x5e\\x38\\xb7\\x70\\x85\\x3d\\xf9\\x4f\\x2b\\xe7\\x2c\\xb5\\xf6\\x07\\xa1\\xf7\\xa0\\xec\\x01\\xbe\\xa1\\xb6\\x18\\x4e\\x75\\xcd\\xb7\\x43\\xaf\\xf5\\xb6\\x95\\x9c\\x14\\xfa\\xbc\\x21\\xae\\xbb\\x7d\\xf1\\x80\\x41\\x0f\\xef\\xbf\\x73\\xd1\\xc0\\x4a\\x18\\xb0\\xb8\\xe1\\xd8\\x80\\x39\\x33\\xa6\\x8e\\xee\\x33\\x3b\\xd0\\x7c\\xed\\xf7\\x8b\\xff\\x20\\xf8\\x9f\\xc4\\x95\\x4c\\xae\\x90\\xe3\\xfc\\x12\\xae\\x04\\x1f\\x78\\x62\\x69\\x26\\xe8\\xc1\\x13\\x8e\\x27\\x15\\xa7\\xb1\\x7a\\x52\\x1b\\x25\\x0e\\xdc\\xfc\\x71\\x1f\\x14\\x3d\\x8a\\x81\\xe4\\xc0\\x7f\\x68\\x1d\\xc4\\xf0\\x42\\x22\\xb3\\x37\\x7e\\x65\\xad\\x53\\xbf\\xc2\\xf7\\xb4\\x2e\\x1e\\xb8\\x45\\xbd\\x42\\xcd\\xd5\\x07\\xeb\\x69\\x02\\x7f\\x87\\x30\\x0f\\xc3\\x64\\x10\\x4d\\xc7\\x68\\xd6\\x52\\xac\\xa1\\x23\\x61\\x4c\\x32\\xd1\\x70\\xa3\\x48\\x30\\xdd\\x41\\x64\\x1d\\xb7\\x96\\x7f\\x96\\xa8\\x48\\x9e\\xcf\\x81\\x92\\x01\\x4d\\x6a\\x41\\x02\\x01\\x34\\x6a\\x9e\\xfc\\x38\\x6e\\x07\\x7f\\x8c\\x47\\x44\\x0a\\xea\\x73\\x22\\x0a\\x3d\\xa4\\xc5\\xd3\\xd0\\x2a\\xf3\\xca\\x60\\x95\\x41\\x7d\\xcc\\x00\\xfd\\x2e\\x4b\\xca\\xa1\\x97\\xc5\\x75\\x30\\x7d\\x20\\xcc\\xce\\x52\\x1e\\x50\\x1e\\xcb\\x40\\xd8\\x6e\\x84\\x3d\\xe9\\x1a\\xb0\\xd5\\x1a\\xc2\\x23\\x6c\\x72\\x8c\\xd0\\x56\\xa0\\xab\\x61\\x53\\xa8\\xac\\x17\\x15\\x1e\\x3f\\x66\\x50\\x5e\\xb9\\x2c\\xc1\\xa0\\x97\\x45\\xfe\\x59\\x65\\xcb\\x40\\xa5\\x29\\x0b\\x66\\xc1\\xa4\\x8c\\x60\\xfe\\x6a\\xd8\\x5c\\x52\\xa4\\x01\\x61\\xeb\\x83\\x21\\xd9\\xe8\\xfe\\x9d\\xe9\\xbe\\xb8\\x0a\\x33\\xf0\\x9c\\xee\\xa8\\xee\\xb2\\x8e\\x03\\x22\\xd4\\x08\\xeb\\x85\\xa3\\xc2\\x19\\xe1\\xb2\\xd0\\x21\\x48\\xf5\\xe6\\x92\\x12\\x76\\xa0\\x9c\\xbc\\x2c\\xee\\xe3\\x5e\\x92\\x6a\\x91\\xe6\\x76\\x1f\\x5a\\xe1\\x88\\x19\\xb7\\x81\\xf9\\xbf\\x21\\xef\\x17\\x50\\x18\\x72\\x2f\\x05\\x8a\\xb9\\x77\\xc5\\x7d\\xbb\\x51\\x67\\xd0\\x79\\xb9\\x7e\\x56\\x46\\xd6\\x43\\x3c\\x06\\xe7\\x2f\\x80\\x85\\x54\\x54\\x84\\x42\\xe7\\x00\\x78\\xbf\\x63\\xbc\\xb1\\x12\\xf1\\xc1\\xb0\\xdc\\x66\\xb4\\xbb\\x82\\xba\\xd0\\x88\\x76\\x7f\\xba\\xc6\\xc0\\x49\\x2a\\x1d\\x41\\x4d\\xc3\\x71\\x82\\xd9\\x44\\x88\\x1a\\x54\\x2a\\xb5\\x5e\\xaf\\xd6\\xa1\\x6e\\x14\\x05\\xf4\\x98\\xd5\\x46\\x81\\x02\\xac\\x30\\xd3\\x4e\\xa5\\xc8\\x3f\\x7d\\x08\\xb7\\xb8\\x31\\xd3\\x8a\\x29\\x64\\x54\\x8f\\x78\\x68\\x43\\x57\\x1e\\xfa\\x94\\x41\\x72\\x59\\xe0\\x57\\x7a\\x5e\\x4d\\x4f\\xca\\x03\\xf4\\x2c\\xbc\\x00\\xb1\\xca\\xb7\\x6d\\xc3\\xc0\\xa5\\x7c\\xc7\\xbb\\xe9\\xbd\\x72\\x0b\\xbd\\xef\\xa2\\xcb\\x8c\\xa4\\x87\\x2f\\x56\\x30\\x1a\\xf5\\xa2\\x46\\xa5\\xd1\\x81\\x4e\\xaf\\x37\\x69\\x8d\\x46\\x15\\x52\\x57\\x2f\\xf3\\x4c\\x5b\\x84\\xda\\xda\\xa2\\x14\\x46\\xa7\\xce\\xf0\\x9a\\x3d\\x25\\x6e\\xbb\\xc7\\xec\\xb5\\x07\\xf5\\xc6\\x09\\x54\\x4a\\x27\\x4e\\x84\\xf5\\x06\\xaa\\xa4\\x90\\xe6\\xe0\\x22\\xe9\\xf1\\x41\\xcd\\x07\\xb2\\xac\\x46\\x56\\x10\\x04\\x8d\\x46\\xa7\\xa2\\xd3\\x9a\\x45\\x0d\\xdb\\xf2\\xf6\\xda\\x9a\\x8f\\xea\\x26\\xde\\x1c\\x54\\x4e\\xdb\\xa1\\x87\\x72\\x6a\\x04\\x55\\x4e\\x34\\x0d\\x65\\x3b\\xbc\\x10\\x52\\x4f\\xd0\\x61\\xc2\\x34\\x7e\\xc6\\x34\\xa8\\x5e\\x17\\x78\\xea\\x21\\xa0\\xf3\\x10\\x6a\\x69\\xa4\\x1b\\x73\\xa3\\x02\\xe5\\xdd\\x7c\\x76\\xed\\x29\\xf8\\xf2\\x94\\x72\\x59\\x4c\\x87\\x59\\xca\\x03\\x24\\x12\\xef\\x1e\\x22\\x51\\xbd\\x4e\\x99\\x94\\x43\\x6b\\x5c\\x10\\x44\\xac\\x89\\x57\\xe9\\x75\\x8a\\x43\\x1c\\x20\\x8c\\x9f\\x7f\\x0e\\x69\\xde\\xc3\\xca\\x40\\xcc\\x9f\\x19\\x61\\x5c\\x16\\xef\\xa2\\xfb\\xfe\\x92\\x22\\x5f\\x8c\\x9a\\xe7\\x41\\x16\\x45\\xda\\x9a\\xaa\\x95\\xd5\\x1a\\xfc\\x13\\x40\\x15\\xd2\\xbd\\x57\\xb7\\x26\\x32\\xd4\\x68\\x43\\x5f\\x59\\x86\\xec\\xc8\\xae\\x3d\\x79\\xf9\\xf2\\xc9\\xda\\xdb\\x6f\\xbf\\x1d\\x71\\x14\\x0f\\x5e\\xbc\\x78\\xf0\\xe0\\x9c\\x39\\xb7\\x44\\x97\\x99\\x9e\\xea\\x76\\x41\\xaf\\xd7\\xaa\\x34\\x1a\\xad\\xd6\\x80\\x6c\\x24\\x61\\x79\\x69\\x3b\\x75\\x7b\\x57\\x0a\\x86\\xcb\\x29\\xba\\x94\\x9c\\x91\\x42\\x52\\xb6\\x85\\xcb\\x88\\x54\\x72\\xcd\\xdc\\xe7\\xac\\xad\\xd2\\x44\\xea\\x7c\\x39\\xbc\\x4e\\xe2\\xf5\\x9c\\x9e\\x53\\x61\\x26\\x64\\xd9\\xa2\\x15\\x05\\xc1\\x6c\\x41\\xc7\\x45\\xa7\\xe2\\xb1\\x5a\\x7f\\xe3\\xd7\\x8a\\x2a\\x15\\x27\\x4b\\x17\\x80\\xbb\\xc8\\xb6\\x42\\x67\\x29\\x33\\xaf\\x8b\\x55\\xe7\\xa0\\xfb\\x12\\x62\\xdc\\xa2\\xc8\\xc8\\x01\\x0f\\xdd\\xc4\\xdd\\xcb\\x7b\\xe5\\x34\\xaf\\x55\\x96\\x64\\x6e\\x4c\\xdc\\xa1\\x38\\x65\\x57\\x3c\\xac\\xfb\\xbc\\x76\\x6a\\xbc\\x52\\xfc\\x76\\x1f\\x73\\x5a\\x32\\x7f\\xdd\\xbd\\xf7\\x6e\\x82\\xfd\\x4a\\xf5\\xfa\\xf5\\x90\\x13\\x53\\x9c\\x82\\xf2\\x64\\x14\\xf7\\x1c\\xf7\\x29\\xd6\\xae\\x78\\x32\\xcb\\x97\\xcc\\x13\\x12\\x27\\xc4\\x9b\\x8c\\x31\\x6a\\x63\\xbc\\x9a\\x87\\x04\\x48\\xd4\\xc6\\x43\\xbc\\x4a\\x6b\\xad\\x22\\x26\\x70\\x89\\x26\\xba\\x3d\\x50\\x1c\\x3e\\x99\\xe2\\xad\\x2e\\xc9\\xf5\\x8d\\x5f\\x92\\xac\\x44\\x67\\xfd\\xc6\\xaf\\xbb\\x44\\xf8\\x6f\\xfc\\xe4\\x42\\x70\\xb1\\xef\\xd0\\x5a\\xdf\\x41\\x3f\\x3b\\x07\\xd5\\x54\\x4e\\x7d\\x54\\x1f\\x6a\\xb0\\x59\\x19\\x4b\\xc6\\x2d\\xbb\\xe5\\xe0\\x1e\\xe1\\xd4\\x0c\\xce\\x28\\x4b\\x04\\x6f\\x68\\xc7\\x79\\xd9\\xf3\\x3d\\x5c\\x76\\x28\\xbb\\x53\\xcb\\xfd\\x37\\xcc\\xdf\\xf3\\xf0\\x82\\xfb\\x8d\\xaf\\xc9\\xf9\\x05\\xa5\\x7d\\x4a\\x32\\x7b\\xa5\\xbf\\x20\\xae\\xbc\\x67\\x4d\\xfe\\xdc\\xa9\\x2b\\xb6\\x4c\\xf3\\x3b\\xb2\\x73\\xfa\\xf7\\xe9\\x5e\\x54\\x40\\x65\\xee\\xd3\\x5c\\x33\\x2f\\xb1\\xf6\\x80\\x1c\\x2c\\x43\\xea\\xc6\\xa2\\x01\\x29\\xeb\\xc8\\x45\\x95\\x28\\x89\\x88\\x29\\xc5\\x8d\\x29\\xce\\xc8\\xf8\\x92\\x90\\x2b\\x6d\\x29\\xa3\\xbb\\xc9\\x1b\\x00\\xd6\\xbd\\x13\\xfb\\xc4\\xcb\\xca\\x2d\\x71\\x5c\\x3f\\xc7\\x8b\\x0f\\x70\\xcd\\x6b\\x80\\x3b\\x74\\xcf\\x8a\\x17\\x7f\\xc7\\x9a\\x55\\x8f\\x34\\xba\\x28\\xae\\xa7\\x63\\xbb\\x48\\x21\\x19\\xe9\\xcb\\x96\\xac\\xa6\\x7c\\x4d\\x42\\x8a\\x23\\xd3\\x64\\x72\\x68\\x78\\xbe\\x1b\\x5f\\x64\\x93\\xd2\\x62\\x63\\xd3\\xbe\\xf1\\xc7\\xc6\\xe6\\x10\\x7d\\xce\\x37\\x7e\\xfd\\x25\\x92\\x84\\x14\\xf9\\xe2\\x1a\\x14\\x89\\xa2\\x05\\x6d\\x04\\x62\\x82\\x87\\x51\\x41\\xb6\\x07\\xb7\\xb4\\x67\\x3e\\x41\\x59\\x09\\x6b\\xfe\\xb7\\x52\\x92\\x78\\x52\\x24\\xbb\\x2d\\x46\\x66\\xe7\\x20\\x8d\\xe0\\xd2\\xc2\\xbb\\x47\\x0f\\x29\\xee\\xfb\\xdc\\x96\\x3b\\xee\\x9b\\x30\\x3a\\xa3\\xfb\\xa3\\x37\\xe7\\x16\\x8f\\xcc\\x2a\\xcb\\x95\\x7b\\xf5\\x2a\\xf4\\x16\\x0d\\x28\\x12\\xd7\\x4f\\x18\\x39\\x60\\x82\\x96\\x33\\xd6\\xf4\\x99\\x79\\xdb\\xf4\\xfa\\x81\\x93\\xcd\\x9c\\xa5\\xa6\\xfb\\x84\\x69\\xca\\x67\\xc5\\x79\\x83\\x72\\x0b\\x33\\x32\\x96\\xf5\\x2a\\xf2\\x14\\x76\\x2f\\x4b\\xcf\\xa5\\xb4\\x1b\\xcf\\xc9\\xbc\\x46\\xd8\\x4e\\x1c\\x48\\x3b\\x2b\\x6f\\x33\\xa0\\x04\\xb1\\x69\\x5c\\x4e\\xbd\\xc5\\x22\\x7e\\xed\\xd7\\x58\\xd8\\xe0\\x35\\xda\\x2a\\x71\\x22\\x22\\x32\\x83\\x1a\\x25\\x88\\x9a\\x8c\\xde\\x66\\x99\\x37\\xb8\\xa5\\x37\\xda\\x09\\x3c\\x74\\x0c\\xd6\\x8c\\xea\\x3d\\xc1\\xdc\\xff\\x85\\x1b\\x9c\\xbb\\x0d\\xbc\\xf7\\xe6\\xaa\\xfd\\xea\\x1a\\x4e\\x86\\xa5\\xf9\\xe9\\xd5\\x13\\xc7\\x29\\x8f\\x43\\xc7\\xba\\xd9\\xfd\\xcb\\x9e\\xcf\\xce\\x52\\x6e\\xea\\xe8\\xe8\\xb8\\xd0\\x31\\x83\\x7b\\x91\\xbb\\xc3\\x24\\x8b\\x37\\x74\\x3c\\x12\\xd8\\xc0\\x74\\x90\\xa1\\x63\\x3a\\x77\\x9c\\x5b\\x89\\xef\\xa6\\x77\\x3c\\x16\\xb8\\x8f\\xb5\\x89\\x76\\x60\\xb8\\xff\\xb0\\x77\\xb7\\x76\\xdc\\x1f\\x58\\xcf\\xde\\x3d\\xdb\\xb1\\x88\\x8f\\xe7\\x6e\\x35\\xc9\\x7c\\x37\\x48\\x0c\\xdc\\xcf\\xe2\\xf2\\x1d\\x33\\xb9\\x16\\x6e\\x15\\x86\\x9b\\xd1\\xb1\\x89\\x86\\xc3\\xfc\\xf9\\xb0\\x16\\x3f\\x2a\\x7e\\x4c\\x52\\x88\\xdf\\xd7\\x4d\\xa7\\x8d\\x4f\\x4e\\x76\\xa0\\x36\\xd1\\xba\\x13\\x44\\x97\\xc7\\x95\\x12\\xe7\\x4c\\x02\\x88\\x77\\xe8\\x54\\xb3\\x9d\\x30\\xdb\\x01\\x4e\\x87\\xd3\\x61\\xda\\xa0\\xda\\xa1\\xe2\\x6a\\x54\\xa0\\x4a\\x26\\xa8\\x3c\\x8a\\x0a\\xea\\xeb\\xbd\\x54\\xbc\\xd4\\xd7\\x87\\x5b\\x39\\xbc\\x50\\x10\\x2a\\xc5\\x10\\x35\\xdc\\x56\\x5a\\x6c\\x96\\x54\\xca\\xd0\\x22\\xe3\\x62\\x6a\\x25\\xc5\\x78\\x19\\x9b\\x07\\xff\\x60\\xfa\\xf0\\xc3\\xc7\\xb6\\x83\\xee\\x99\\xbd\\xaf\\x2b\\x6d\\x95\\x43\\x46\\xae\\x1d\\x33\\x64\\xec\\x10\\x6e\\x7e\\xaa\\x32\\x2b\\x13\\xa6\\xa7\\x2a\\x5b\\x72\\x60\\x6f\\x1a\\x6c\\x3d\\x7b\\x66\\x3f\\xf4\\xde\\xb7\\xef\\x11\\xbd\\x71\\xc0\\xc8\\xd5\\xbf\\x2c\\x5c\\x32\\x13\\xee\\x3e\\xf2\\xde\\x91\\x2f\\x8e\\x20\\x1f\\x4e\\xee\\x58\\x2e\\x5e\\x12\\xdb\\x08\\xed\\xf3\\xca\\x25\\x0b\\x7d\\x95\\x24\\xdd\\x6d\\x12\\xcc\\xc9\\x66\\x8b\\x98\\x95\\xad\\x15\\x74\\x82\\x4e\\x9f\\xe8\\x72\\x5a\\x05\\x4b\\x52\\x52\\x32\\x97\\xea\\x31\\x08\\x7a\\xd4\\x34\\x19\\xb2\\x2c\\x24\\xeb\\xe3\\x2d\\x92\\x3d\\xcf\\x9e\\x9f\\xed\\x8c\\x89\\xcb\\x72\\x49\\xe9\\x9e\\xc4\\xf4\\x06\\x7f\\xa2\\x55\\xeb\\x69\\xf0\\x6b\\x85\\x4e\\x1e\\x75\\x44\\x33\\x67\\xe8\\x7a\\xc5\\xb9\\x5b\\xa1\\x98\\x9e\\x81\\xc2\\x26\\xdd\\x8c\\x99\\xa5\\x7d\\xb6\\x31\\x8e\\x32\\x7a\\xc2\\xb7\\x50\\x5a\\xe6\\xe0\\x44\\xd9\\x03\\x78\\x1b\\xe3\\x00\\x9b\\x03\\x24\\x8e\\x2b\\xea\\xdf\\xa7\\xff\\x73\\x53\\x5e\\x7f\\x05\\xc6\\xfd\\x25\\xef\\xb9\\xfc\\xc1\\xbd\\x7a\\x3c\\x37\\xa6\\xa9\\x9b\\xf2\\x93\\x2e\\x56\\x79\\xf8\\x8d\\xf9\\x5f\\xbd\\xab\\x0c\\x28\\x78\\x8e\\xcb\\xef\\x39\\x58\\x99\\x55\\x3c\\x58\\x51\\x9c\\x50\\xf5\\x74\\x8b\\xac\\x71\\x6d\\xff\\x71\\x3b\\x14\\xfe\\x04\\xb7\\xff\\xd9\\x30\\x75\\xa6\\xda\\x72\\xd7\\x3b\\x37\\xbe\\x32\\x30\\x37\\xa7\\xfd\\x68\\xce\\xe9\\xf9\\xca\\x26\\x79\\x96\\x68\\x8c\\xe7\\xdb\\xc7\\xa5\\xea\\xe0\\xc6\\x71\\x95\\x5c\\x6b\\x89\\x72\\x92\\x96\\xf1\\xe4\\x8e\\xbf\\x23\\x6d\\x1e\\x24\\x39\\xa4\\xd6\\x97\\x97\\x26\\x8a\\x49\\x09\\x46\\x63\\x52\\x8e\\x4a\\xc8\\x75\\xc4\\xc4\\xe4\\x65\\x71\\x0d\\xfe\\x94\\x34\\x99\\xd7\\x3a\\xac\\x59\\x59\\x5a\\xab\\x35\\xb6\\xc1\\x6f\\x15\\x92\\x44\\xad\\x38\\xd1\\xaf\\xb5\\x86\\x05\\x43\\xa8\\x92\\x5a\\xca\\x31\\x97\\x39\\x9d\\xfd\\xc5\\x21\\x66\\xc7\\x02\\xe5\\x65\\xcc\\xa0\\x24\\x78\\x52\\x52\\xb9\\x60\\x49\\x0b\\x0e\\x31\\x1f\\xad\\x62\\x62\\xb6\\x39\\xac\\xa5\\x65\\x6e\\x29\\xb4\\xad\\xbd\\xf0\\x63\\x71\\xce\\xbf\\xfa\\x69\\x5e\\x9a\\xff\\xd5\\x34\\x65\\xff\\x9f\\x8f\\x29\\x7f\\x5f\\xff\\x21\\x2c\\xfe\\xf9\\x5b\\xc8\\xf0\\x2a\\x3f\\x25\\xec\\x9a\\xff\\x8b\\xf2\\xe3\\xee\\xbe\\x2e\\x33\\xe8\\xec\\x6a\\x61\\xd0\\xfd\\xe3\\xe3\\x0b\\xb9\\x19\\x5a\\xe5\\xf1\\xd2\\xbc\\x37\\xe7\\x1f\\x39\\xb2\\x01\\x74\\x7f\\x6a\\x87\\xfb\\x3e\\x3a\\x79\\x7c\\xe0\\xcc\\xdb\\x94\\xfd\\xca\\xa5\\x5f\\x47\\xc2\\xd8\\xc5\\xab\\x1e\\xef\\x75\\xd7\\x4c\\x55\\xd0\\x57\\x46\\xef\\x50\\xf8\\x07\\xca\\x39\\x33\\x69\\xf4\\x15\\x73\\x26\\x93\\xd5\\xa0\\x35\\x6a\\x54\\xa2\\x80\\x1a\\x59\\x4d\\x8c\\x46\\xb5\\x46\\x63\\xb1\\xaa\\xb4\\x06\\xed\\x42\\xbf\\x68\\x00\\x61\\x92\\xdf\\x00\\x06\\xd0\\x18\\x8d\\x64\\x92\\xdf\\xc8\\x6b\\x2c\\x37\\xdd\\x4c\\x1b\\x99\\x82\\x59\\xc5\\xbc\\x16\\x84\\xfd\\x89\\x4e\\xa5\\x12\\x6e\\x6b\\x0a\\xe6\\x9a\\x0f\\xf1\\x2e\\xef\\xb6\\x7a\\xca\\x28\\x2f\\x73\\x39\\x43\\xb9\\x65\\x99\\x81\\x55\\x69\\xd0\\x23\\x41\\x39\\xe5\\x55\\xbe\\x2e\\x5a\\x99\\xb0\\xf2\\x75\\xfe\\xa5\\x4c\\xe1\\x4f\\xca\\xbc\\xf7\\x5f\\xdd\\xac\\x28\\xc0\\x6d\\xe6\\xff\\xf6\\x3e\\xc3\\xf5\\x34\\xe2\\xfa\\x20\\x96\\x49\\x2e\\x69\\xf6\\x4d\\x49\\x4d\\x4b\\x33\\xc4\\x39\\x1c\\x31\\x46\\x83\\x21\\x9f\\xf0\\x82\\x2c\\xa8\\x72\\x73\\xb3\\xb2\\xf2\\x12\\x62\\x5d\\x31\\x82\\x3d\\xd1\\xae\\xca\\xcd\\x26\\xd9\\xc9\\x59\\xc9\\xf3\\xfc\\x89\\x59\\x09\\x09\\xc8\\xec\\x0b\\xfd\\xb1\\xbc\\x3d\\xc6\\x12\\x23\\xbb\\x30\\xec\\x42\\xbf\\x4a\\xf6\\xf1\\xc3\\x79\\xae\\x40\\x7e\\x5e\\xe6\\x78\\x99\\x97\\xb5\\x59\\xce\\x02\\x23\\xf0\\x46\\x23\\xa8\\x45\\xa3\\x45\\x6b\\x99\\xef\\xd7\\xca\\xa1\\xf6\\x53\\xcc\\x0f\\x2a\\x9d\\x86\\x7a\\x67\\x85\\x25\\x58\\x69\\xcd\\xe5\\x9d\\xda\\x33\\x94\\xdd\\xf2\\xd0\\x05\\x90\\x08\\x05\\x5d\\x19\\xde\\x6b\\x29\\xef\\xb4\\x1e\\xca\\xbc\\x65\\xf4\\xa0\\xe5\\x1a\\xe3\\x90\\x69\\x69\\x4b\\x46\\x08\\x57\\x68\\x49\\x76\\xa3\\x17\\xe4\\x40\\xcf\\xc8\\x5d\\x56\\x5a\\xf6\\xc5\\x4b\\xf1\\x87\\x6d\\x87\\x12\\x0e\\xda\\xd3\\x2e\\x9e\\xda\\xff\\x81\\xf9\\xdf\\xc6\\xeb\\x07\\x0e\\xab\\xb5\\xb9\\x20\\x21\\x41\\xf9\\x4b\\x0c\\x24\\x26\\x28\\x7f\\x96\\x32\\x8f\\xc1\\xd6\\x86\\x85\\xce\\x3f\\x67\\x7f\\xbd\\x27\\x50\\x9a\\xf1\\x5a\\x2a\\xb4\\x6f\\xbe\\x65\\xf3\\xbc\\x33\\xaf\\x3c\\x76\\x5f\\x61\\xed\\xa0\\xf1\\xd3\\x6f\\xc3\\xa7\\xc4\\xe3\\x83\\xc6\\x4e\\xc9\\x78\\xb1\\xe5\\x74\\xcd\\x49\\x26\\xbb\\x3c\\x1d\\xbd\\xa4\\x37\\xc5\\x2c\\xd2\\x8d\\x4c\\xf0\\x15\\x15\\x64\\x26\\xab\\xdd\\x2a\\xb7\\x20\\x7a\\xa4\\x14\\x59\\x56\\xc5\\x5a\\x2c\\x56\\xab\\x4a\\x4c\\xc9\\x14\\xbd\\x45\\xc4\\x90\\x68\\xb8\\xde\\xef\\x49\\x8e\\x95\\x04\\x4b\\x9a\\x3b\\xd1\\x14\\x63\\xcc\\x55\\x89\\x16\\x3b\\x1a\\x10\\xa7\\xbc\\x15\\x15\\xa7\\xbc\\x8c\\xa9\\x49\\x97\\xfd\\x37\\x58\\x31\\x17\\x05\\x2f\\x74\\x64\\x13\\x4a\\x72\\x77\\x19\\xef\\x81\\xb2\\xb0\\x5c\\x77\\x53\\xae\\xb6\\x85\\xd9\\xda\\xea\\xe5\\x83\\xea\\x9a\\x7d\\xe8\\x0d\\xe9\\x62\\xf6\\xb8\\xbb\\x62\\x17\\x2a\\xdf\\x1b\\xb6\\xec\\x82\\x4d\\x76\\xf3\\xed\\x63\\xd6\\xc6\\x2d\\x50\\xbe\\xdd\\x6d\\xb3\\x82\\xc9\\x2e\\xf3\\x43\\x37\\x4f\\x79\\x64\\xf0\\xfe\\x5d\\xcf\\x4f\\xbd\\xe7\\x9e\\x8d\\xf6\\x15\\xca\\xf7\\x4b\\x2c\\x3c\\x7f\\xdb\\xc3\\xab\\x02\\x8f\\x0f\\x56\\x7e\\xe1\\x3e\\x98\\x35\\x2e\\x6f\\xf1\\x96\\xb5\\x81\\x9d\\xfc\\xf5\\x0d\\x6b\\xb4\\x77\\x66\\xcd\\x1b\\x33\\x01\\xcd\\xcf\\x37\\xc7\\x3f\\x70\\x8f\\x6f\\x72\\x60\\x2e\\x37\\x77\\x6c\\x37\\x91\\x6e\\x63\\x86\\x16\\x27\\xed\\xa9\\x36\\x20\\xbf\\xc7\\x91\\x24\\x42\\x97\\x5b\\xc8\\x22\\xf7\\xf8\\x06\\xa7\\xa6\\xc7\\x27\\x09\\x22\\x6f\\x32\\xc9\\x16\\x77\\x4a\\x66\\x96\\xc8\\x99\\xcd\\x12\\xe2\\x6b\\xb3\\x71\\x76\\x64\\x31\\x4c\\x3c\\x5b\\xaf\\x56\\xe7\\xd8\\x2d\\xe9\\x56\\xa3\\xc3\\x91\\x1c\\xaf\\x73\\x7a\\x92\\xb4\\x71\\x71\\x19\\x68\\x28\\x3a\\x49\\x66\\x26\\x71\\xf2\\x5c\\xaa\\xd9\\x22\\xf1\\x59\\xd4\\x1f\\x44\\xea\\x50\\xe2\\x14\\x50\\xe3\\x31\\xd8\\xe3\\xed\\x8d\\xdc\\x54\\x44\\x8b\\x01\\x6f\\x97\\x46\\x57\\x26\\x0a\\xad\\x58\\x25\\xe8\\x1f\\x5a\\x5d\\x1e\\x19\\x0f\\xb4\\x82\\x43\\x55\\xa5\\xcc\\x23\\x7a\\xcb\\xdc\\xa2\\x37\\x03\\xc9\\x89\\x2e\\x72\\xc6\\xe2\\xd9\\xc3\\x60\\xc2\\x2a\\xb8\\xbd\\x06\\xa4\\x61\\xb7\\xe6\\xcc\\x89\\x9b\\x9f\\x33\\x6f\\x94\\xb2\\xed\\x5e\\x65\\xcb\\x28\\xa5\\x75\\xd4\\xec\\x9c\\x59\\x71\\xb7\\xf0\\xbd\\x4f\\xc4\\x29\\xff\\x52\\xaa\\x5b\\x73\\x5f\\xe4\\x46\\xd9\\xc6\\x29\\xb6\\x21\\xa5\\xfc\\x3f\\x60\\x03\\xba\\x16\\x78\\x7c\\xb6\\xf6\\x33\\x65\\x08\\x1c\\xa0\\xc7\\x67\\x6b\\xe9\\x2f\\x70\\xea\\x1c\\xd7\\xfb\\x19\\xac\\x26\\x3d\\x3b\\xfe\\xae\\x5a\\x8a\\xf4\\x49\\x23\\x43\\x48\\x2d\\xe7\\xf4\\x75\\x54\\xf4\\x29\\x1a\\xdc\\xbf\\x7b\\xf7\\xec\\xac\\x54\\xb7\\xdb\\x29\\x18\\x12\\x47\\x38\\x5d\\xae\\x11\\x86\\xac\\xc1\\x62\\xdd\\x28\\x4e\\x02\\x93\\xd6\\xec\\x49\\x71\\xfb\\x86\\x3a\\xe6\\xfb\\x8d\\x43\\x93\\x86\\x56\\x0c\\xad\\x19\\x7a\\x66\\x68\\xc7\\x50\\xc9\\xc0\\xf7\\xec\\xbb\\xc8\\x0f\\x16\\xb7\\x65\\x91\\xbf\\x67\\x6a\\xaa\\x7b\\x28\\xfe\\x49\\xb1\\xe9\\xf9\\x8b\\xfc\\xe9\\x2e\\xad\\xb4\\xc8\\xaf\\x75\\xb9\\x9c\\xb1\\xb5\\xf3\\xfd\\xb1\\x12\\x8a\\x90\\xbb\\xea\\x60\\x61\\x1d\\x4c\\xad\\x83\\xd1\\x75\\x50\\x59\\x07\\xc5\\x75\\x90\\x56\\x07\\x8e\\x3a\\x68\\xae\\x83\\xdd\\x75\\xb0\\xa5\\x0e\\xee\\xae\\x83\\x29\\xec\\xeb\\xc0\\x3a\\x28\\xad\\x83\\x74\\xf6\\x55\\xae\\x83\\x5f\\xeb\\xe0\\xbb\\x3a\\x38\\x54\\x07\\x4f\\x85\\x83\\x05\\xe1\\x38\\xd9\\x57\\xcd\\x8c\\x3a\\xf0\\xd7\\x41\\x55\\x1d\\x94\\xd7\\x41\\x56\\x1d\\xc4\\xe2\\xab\\x3a\\x68\\xab\\x83\\xef\\xeb\\xe0\\xcd\\x3a\\x68\\xa9\\x83\\x67\\x58\\x9c\\xc9\\x75\\x30\\x8a\\x25\\x5c\\x56\\x07\\xaa\\x3a\\x98\\xf1\\x7b\\x1d\\x9c\\xab\\x83\\x37\\xea\\x60\\x6b\\x1d\\x2c\\xf0\\xcd\\x66\\x10\\x23\\x01\\x32\\x18\\x74\\xa9\\x0e\\x7e\\xab\\x83\\x8f\\xeb\\xe0\\x14\\xc3\\x12\\x93\\x7f\\xb0\\x0e\\xee\\x62\\x28\\x62\\x00\\x3b\\x0b\\x10\\x44\\xee\\x14\\xc3\\x6f\\x37\\x0b\\x10\\xc4\\xaf\\x2c\\x2a\\x03\\x3d\\x30\\xad\\xb3\\x75\\x70\\xbc\\x0e\\xc8\\x0b\\x75\\x00\\x3b\\xea\\x68\\x83\\x4f\\x03\\x6b\\x76\\x99\\xf0\\x07\\x3d\\x87\\x7f\\xd4\\x42\\xfc\\xc7\\x9d\\x85\\x51\\x91\\x72\\xc2\\xdb\\xe7\\x84\\x8d\\x48\\x2a\\xb4\\xcd\\x5e\\xd3\\x09\\x26\\xb8\\x09\\xb5\\xad\\x49\\xac\\xd3\\x44\\x27\\x40\\x94\\x07\\x7d\\x83\\xce\\xdd\\x75\\xcc\\xd1\\x1e\\x25\\x78\\x78\\x89\\x36\\xda\\x84\\x26\\x46\\x14\\x97\\x21\\x93\\x1a\\x20\\x07\\xb0\\xba\\xbb\\x59\\x9d\\xf6\\x52\\x13\\xce\\x1a\\xb6\\xc3\\xfb\\xa0\\x86\\xcb\\x87\\x8c\\x50\\xe3\\xb4\\x43\\x4e\\x67\\x26\\x68\\x12\\x30\\x03\\x35\\x68\\xa7\\xe7\\x80\\xf8\\xc8\\xc6\\x4a\\xb9\\x7f\\x5a\\x5e\\x52\\xe5\\xe0\\x19\\xd3\\xd4\\x83\\x26\\x58\\x07\\x9f\\xdf\\xbc\\x66\\xe6\\x3f\\xc0\\x02\\x3d\\x3e\\xf9\\x7b\\x8f\\x01\\x77\\x2f\\x2b\\xd8\\xf8\\xdb\\xb3\\xcf\\x19\\xdf\\x55\\x0f\\xaf\\x49\\xef\\x5b\\x18\\x1f\\x5f\\xbe\\xfc\\xeb\\x63\\x07\\x37\\x3f\\xa7\\x3a\\xa3\\x59\\x7a\\x7d\\xaf\\x85\\x43\\x16\\x2d\\xfd\\xa0\\xb5\\xc2\\xbf\\xed\\xf1\\x5f\\x2a\\xb9\\xbb\\x94\\xcd\\x99\\x31\\x03\\x0c\\x8f\\x3a\\xa7\\x8d\\xce\\xcc\\x83\\x3b\\x46\\x4f\\x1c\\x13\\xf8\\x5c\\x5c\\x79\\xf2\\xc8\\xf2\\xba\\x5f\\x7e\\x69\\x3f\\xba\\x70\\xb9\\xa7\\x57\\xa9\\x64\\x4d\\x89\\x8f\\x49\\x74\\x26\\x97\\x36\\x2f\\xb9\\x6d\\xf1\\xb2\\x98\\xc9\\xc9\\x29\\x45\\xb1\\xe6\\xd8\\x79\\x75\\xf7\\x6d\\xe2\\x7e\\xbf\\x77\\xd5\\xe9\\xe0\\x38\\xdb\\x8e\\xbf\\xab\\x77\\xb1\\xb6\\x8b\\x12\\xd6\\x22\\x53\\x27\\x2e\\xa2\\xed\\x37\\x1d\\xe7\\xe9\\x5e\\x66\\x58\\x47\\xa8\\x04\\xa1\\xf3\\x42\\xf3\\x51\\x9a\\x16\\x93\\x8d\\xbe\\xa1\\x22\\xe4\\xab\\x55\\xc5\\x71\\xb1\\xdd\\x74\\x7a\\x34\\x13\\xf4\\xb1\\x2a\\x10\\x8d\\x89\\x49\\x49\\xa5\\x56\\xa3\\xb1\\xa4\\x30\\x4f\\x2b\\x1b\\xa7\\x19\\xc1\\x98\\x99\\x9a\\x2c\\x98\\x72\\x32\\x3c\\xbc\\xd5\\x5a\\x14\\xef\\x24\\x36\\xa3\\x0d\\x54\\x26\\x9b\\xd7\\x6b\\x33\\xf1\\xfa\\xe2\\x58\\x3e\\x31\\x86\\xcf\\xef\\xd6\\x4d\\xad\\x47\\x3b\\x91\\x92\\x9b\\x39\\x6c\\x4c\\x9c\\x4c\\xa8\\x67\\x72\\xa4\\x53\\x9a\\x78\\xbd\\xc1\\x37\\x11\\x17\\xb2\\x53\\xb0\\x84\\xdd\\x60\\x08\\x0a\\x12\\x77\\x50\\x90\\xf0\\x28\\x48\\x32\\xf0\\xe0\\xdd\\xd6\\xd0\\x1f\\x04\\x05\\x8b\\x87\\x09\\x16\\x8f\\x23\\xcd\\x23\\xe3\\x1b\\x79\\xc6\\x9a\\x9c\\x63\\x7d\\x7e\\xce\\x51\\xce\\x9f\\x52\\x9e\\x30\\x2a\\x9f\\x1e\\x51\\xb6\\xc7\\xb7\\xe6\\xbc\\xa6\\xda\\x93\\x73\\xab\\x0b\\x9c\\x66\\x18\\xbd\\x07\\x7a\\x19\\x60\\xe8\\x4e\\xf0\\xfc\\x67\\xff\\xf3\\x3d\\x2e\\xf3\\x35\\xfb\\xba\\xff\\xa0\\xd4\\x9d\\x10\\xef\\x84\\x77\\x87\\x8b\\x01\\x32\\x14\\xb8\\xa4\\xee\\x02\\xff\\x8f\\xcf\\xd6\\x7c\\xa6\\x54\\xc3\\x41\\x7a\\xe0\\x6d\\x58\\xf2\\xc0\\x86\\x80\\x61\\x0d\\xfd\\x29\\x8f\\x9e\\x3b\\x77\\x8e\\xb7\\x1e\\x41\\x7f\\x76\\x18\\xca\\xe4\\xef\\x85\\xf3\\x68\\x83\\x24\\x93\\x9e\\xcd\\xb2\\x55\\xb6\\x5a\\xcc\\x71\\x7d\\x8d\\x50\\x8e\\x5e\\x62\\x0f\\x7c\\x6b\\x80\\xeb\\x88\\x9f\\x98\\xf1\\xd9\\x42\\xec\\xec\\x1e\\x59\\x22\\x64\\x65\\x52\\x6e\\x36\\x33\\xbd\\x1c\\x6e\\x90\\xe4\\x3d\\x16\\xe6\\xf6\\x61\\x76\\xe3\\x38\\xcc\\x6b\\x51\\x1f\\x28\\x43\\x5d\\xc3\\x11\\x0f\\xbf\\xf4\\xfd\\x03\\xce\\xb2\\x6f\\x7a\\x69\\x1a\\x56\\x2a\\xef\\xbc\\xf5\\xcd\\x3f\\x76\\x6e\\xfb\\xee\\x56\\xe8\\x3d\\x7f\\xfe\\xa0\\x84\\x95\\xdf\\xdd\\xd9\\x53\\xf9\\xa5\\x55\\x38\\xbf\\xed\\xd9\\xf1\\x4b\\x95\\x6f\\xa1\\x8f\\x3f\\x61\\xc2\\xf0\\xb6\\x76\\xe1\\x7c\\x5b\\x06\\xef\\x0e\\x1c\\xe8\\xbd\\x71\\x2b\\xb7\\x2d\\x30\\x52\\xf9\\x44\\xe9\\xa0\\x7d\\x28\\x23\\xc8\\x2b\\x42\\xb5\\xf8\\x2e\\x49\\x44\\x4b\\xa4\\x90\\xdc\\xe8\\xeb\\x4e\\x52\\xf5\\x46\\x8b\\x68\\x8d\\x8f\\x8f\\x8b\\xb3\\x3a\\x6d\\x39\\x52\\xa1\\x64\\xca\\xb7\\x89\\x31\\xdd\\x62\\x8a\\x92\\xf8\\x0c\\xa7\\xc9\\x64\\x37\\xeb\\x12\\xe3\\x79\\x0d\\x4f\\x67\\xcb\\xf0\\x1a\\xb3\\x19\\x7d\\x3c\\x6b\\x5e\\xa1\\x15\\x48\\x45\\x41\\xa8\\x70\\x73\\xc2\\xb6\\x7f\\x91\\x39\\x7a\\x80\\x70\\xd8\\x84\\xc2\\xbc\\x85\\xda\\x4b\\x99\\xea\\xf4\\x96\\x32\\x2b\\xc2\\xcb\\x74\\x84\\x24\\x7b\\x8a\\xcb\\x32\\x58\\x15\\x0b\\x79\\x09\\x22\\x1a\\x13\\xdc\\x9a\\xd2\\x79\\x23\\x6f\\x5a\\xee\\x7f\\xfc\\x96\\x17\\x73\\x04\\x4d\\xdc\\xdb\\x31\\xa7\\xad\\x27\\x6c\\xf5\\x8e\\xf1\\xb7\\x1b\\xe4\\x93\\x9a\\xa7\\xca\\x46\\x94\\xbb\\xaf\\xbb\\xae\\xdf\\xd8\\x22\\xe5\\x77\\x9e\\x77\\xb5\\x07\\xb8\\xac\\x01\\x3d\\xd7\\xcd\\xbd\\xe3\\xd7\\xd5\\x77\\x0d\\x5d\\xbb\\xb0\\xb1\\x71\\x61\\x60\\xda\\x90\\xd1\\xde\\x3e\\xaa\\xc2\\x49\\x1b\\xbc\\x23\\x06\\x8d\\x39\\x54\\xbd\\xe9\\x97\\x3b\\xd0\\x76\\x88\\xef\\xf8\\x49\\x78\\x05\\xed\\xaf\\x4c\\xb2\\xc8\\xd7\\x57\\x50\\x6b\\x2d\\x69\\x69\\x2a\\x89\\xd7\\x6a\\x93\\x13\\x13\\xe2\\x5c\\x4e\\x67\\x76\\x96\\xd6\\x15\\xeb\\x42\\xd3\\x2a\\x56\\x4a\\x4c\\x4a\\x5c\\xe8\\xe7\\x93\\x8c\\x49\\x05\\x49\\x15\\x49\\xcf\\x27\\x09\\x5a\\x3e\\x36\\x29\\x36\\xc9\\xee\\xf1\\x90\\xb9\\x7e\\x8f\\x6c\\x37\\xce\\xf5\\xdb\\x5d\\xa4\\xab\\x14\\x6a\\xa0\\xfc\\x1d\\xb4\\xab\\xa2\\x2c\\xc8\\x30\\xaf\\x47\\x7a\\x56\\xd1\\x8e\\xc0\\xdc\\xb1\\x93\\xcc\\x66\\x66\\x51\\x73\\x29\\x85\\x33\\x23\\x3d\\x18\\x51\\xd0\\x8e\\x4e\\xb6\\xa2\\x19\\xcd\\x7b\\x66\\xde\\x9e\\x0a\\x99\\x09\\xca\\x59\\x83\\x08\\xa5\\x09\\xca\\xfb\\xfc\\x98\\x21\\x77\\x97\\xff\\xd3\\x7b\\x61\\xe7\\x5f\\xbe\\xbc\\x2f\\x69\\xb9\\x5a\\x73\\x7b\\xf2\\x5d\\x83\\x21\\xe3\\x6f\\xe0\\xb7\\x29\\x1d\\xda\\x7e\\xc2\\x91\\x4d\\x1b\\x37\\x97\\x94\\x6e\\x1e\\xb0\\x6c\\xfe\\x8a\\xcc\\xad\\x0f\\x81\\x0e\\x84\\xcd\\xfd\\x33\\x36\\x83\\xa8\\x28\\x1f\\x15\\xf4\\xed\\x13\\x6c\\x87\\xe5\\x90\\x4f\\xfb\\x61\\xbd\\xb7\\xa1\\xcf\\x9e\\xa5\\xd7\\x19\\x68\\xc3\\x8a\\x4e\\xcd\\x9b\\x25\\x59\\x8e\\x11\\xcc\\x66\\x1b\\x58\\x2c\\x76\\xa3\\xd6\\x46\\x6c\\x0d\\x7e\\x34\\x0d\\x08\\x87\\x0e\\xaf\\x14\\x34\\x09\\x3a\\xdb\\x5c\\x3a\\x47\\xc2\\x45\\x6a\\x6c\\xa8\\xfd\\x82\\x76\\xaa\\x79\\xc1\\x4d\\xad\\x41\\x3c\\x7b\\xa8\\x55\\xe4\\x29\\xd8\\x3a\\x0b\\x32\\xe6\\x0e\\xe6\\x1e\\x83\\x39\\x81\\x5a\\xce\\x98\\xa7\\x0c\\x86\\x29\\xca\\x11\\x65\\x6f\\xff\\xc7\\x6e\\x54\\x2e\\x2c\\xd8\\xca\\x0f\\xe5\\x8a\\x03\\xef\\xd2\\xe3\\x87\\xc0\\xa3\\x5c\\x63\\x7d\\xa0\\x8d\\x6b\\x44\\x3c\\x07\\xa2\\xa1\\x33\\x15\\xf1\\x74\\x90\\x4a\\x5f\\x86\\x5e\\xa3\\x96\\x04\\xd1\\x60\\x30\\x59\\x6d\\x0e\\xc1\\x28\\x12\\x62\\x34\\x03\\x62\\x29\\x4b\\xbc\\x93\\x77\\x21\\xd7\\x02\\x07\\x0d\\x7e\\x8a\\x65\\x67\\x73\\x46\\xd8\\x6e\\x75\\x94\\x17\\x85\\x98\\x8f\\x36\\x69\\xb8\\xe5\\x34\\x59\\xa4\\x07\\x5a\\x75\\x62\\x59\\x1a\\x3d\\xb8\\x21\\x4a\\x79\\xae\\xd0\\x9c\\xab\\x74\\xcf\\x83\\x09\\xf9\\xca\\x13\\xc9\\xec\\xdc\\x4b\\x39\\x9f\\xae\\x1c\\xc9\\x87\\xca\\x64\\x7a\\x1e\\x20\\x6c\\xff\\xfa\\xeb\\xef\\x97\\xff\\xb0\\x7c\\x17\\x1e\\xca\\x1b\\xa7\\x16\\xfc\\xb0\\x60\\x17\\x1e\\x88\\x62\\xc7\\x51\\x65\\x86\\x6a\\x96\\x94\\x8b\\x35\\xbc\\x94\\xf4\\x23\\x23\\x49\\x3d\\x59\\xec\\xeb\\xd7\\x93\\x0c\\xb6\\xf7\\x55\\xa9\\xd4\\xd7\\xa7\\xe5\\xc6\\xf5\\xcf\\x2e\\x54\\x0f\\xb5\\x94\\xd8\\x89\\xbe\\xc1\\x9f\\x9c\\x3c\\xa1\\xb7\\xb1\\x2e\\xae\\xbf\\xd8\\x3f\\x9d\\xf7\\x24\\xe4\\x1a\\x3d\\x1e\\x63\\x2e\\x6f\\x49\\x28\\xe3\\xf9\\xf1\\xd7\\xab\\x13\\x2c\\x95\\x2e\\x4b\\xf6\\xd0\\xa1\\x96\\xe2\\xe2\\x42\\x0b\\xa5\\x38\\x1d\\x6c\\xcf\\x84\\xe7\\xa9\\x48\\x1d\\xa2\\x16\\x19\\xcb\\x59\\x51\\xf4\\xf0\\xdd\\x88\\x42\\xa3\\x0d\\x25\\x19\\x06\\x90\\xdd\\xa5\\x65\\x56\\x66\\x9e\\x33\\xe5\\x84\\x52\\x23\\x25\\xa3\\xb3\\x5b\\xd5\\x11\\x8b\\x4e\\xa9\\x20\\x97\\x95\\xa6\\x96\\xf5\\xe1\\xca\\xbc\\x12\\xa0\\x70\\xa1\\xc6\\x2d\\xf3\\xcd\\xd3\\x90\\x1d\\x89\\x85\\xd6\\x42\\x2c\\x75\\x03\\x30\\x5f\\x2e\\xd8\\xc4\\xa2\\x9a\\x75\\x66\\xef\\x4d\\xde\\xda\\x51\\xdd\\x94\\xaf\\x7b\\x97\\x7d\\x58\\xf5\\xc9\\xe3\\xb7\\x6d\\x68\\xcf\\x7f\\xf3\\x64\\xab\\x72\\xcf\\x2b\\x2d\\x7b\\xb6\\x6e\\x1b\\xea\\x5f\\xd8\\x98\\x51\\x67\\x7d\\x61\\xc7\\xbd\\x83\\x95\\x8f\\x1e\\xd4\\x36\\x42\\xc9\\x82\\xf9\\xc3\\xc6\\x56\\x4e\\x9d\\x02\\x6f\\x78\\xfd\\x15\\xd5\\xe5\\xe3\\xcb\\x33\\xdb\\xd2\\x17\\x2f\\x7d\\x10\\x0c\\xcf\\x8c\\xaf\\x1b\\xf0\\xe4\\x82\\x19\\x6b\\x94\\x0e\\x57\\x75\\x72\\xd9\\x75\\xc5\\x9e\\xb9\\xb0\\xea\\xc0\\x99\\x41\\xef\\x7d\\xe0\\x1b\\xba\\x0a\\x7e\\x7c\\x7a\\xf3\\x02\\x7e\\xb5\\xf6\\xc2\\xc5\\xb7\\x15\\xaf\\xf2\\xfd\\x1d\\x77\\x8c\\x1a\\x70\\xfd\\x4d\\x56\\x3d\\xec\\x82\\xaa\\xb7\\xae\\x4b\\xe9\\x5e\\x92\\x51\\xa6\\x1a\\x99\\x97\\x6e\\x1f\\xd1\\x3a\\xab\\xf1\\x95\\x7e\\x13\\xc7\\x3c\\x39\\xac\\x57\\xef\\xb9\\xf5\\x10\\x03\\xa7\\xde\\xbd\\x7f\\x5b\\x5f\\xe5\\x17\\x25\\xf0\\xb7\\x1f\\x93\\x2c\\xf6\\xbe\\x65\\xa9\\x19\\xb4\\x1d\\xf8\\x31\\x65\\xb4\\xf0\\x02\\xd6\\xf5\\x64\\x92\\x4d\\x86\\xf8\\x32\\xad\\xea\\xac\\x24\\x7d\\x92\\x9a\\x4f\\xe5\\xf9\\x5c\\xa7\\x2b\\x27\\xce\\xee\\xe0\\x5d\\xee\\xd8\\x58\\xe2\\xb2\\xc4\\x58\\xb5\\xa6\\x49\\x7e\\x6d\\x1c\\xc9\\x98\\xe4\\x27\\x42\\x94\\x54\\x46\\x96\\xa7\\xae\\x2f\\x92\\x9a\\x12\\xdc\\x1b\\x19\\x5a\\x40\\x85\\x34\\x27\\x5b\\x63\\xec\\x26\\x77\\x4a\\x78\\xa7\\xbe\\x0c\\x3e\\x03\\xb9\\xde\\x51\\xc6\\xa5\\x97\\x98\\x80\\x92\\x14\\x25\\x99\\xdd\\xc6\\x6f\\x59\\xbd\\x65\\xd7\\x47\\x49\\x7a\\x65\\xf9\\xea\\x31\\x39\\x35\\xd5\\x83\\xaa\\xb4\\xef\\xcd\\x99\\xac\\x5c\\x86\\xc6\\x55\\x4f\\x27\\xaa\\x40\\x7d\\x7d\\x63\\x56\\xfa\\x7c\\xf1\\xc1\\xfb\\x97\\xcc\\x53\\xbe\\xfa\\xbb\\xf2\\xd4\\x43\\x3d\\x95\\xb9\\x96\\x8b\\xe9\\x0d\\xf3\\xdd\\x5f\\x2a\\x3f\\xbf\\xb6\\x1b\\x7e\\x78\\xe5\\x0c\\x24\\x6f\\x4a\\x87\\xa3\\x81\\xe9\\x2b\\x0e\\xf5\\xcd\\xcc\\xfb\\xb8\\x11\\xdd\\x47\\xb6\\x6f\\xd1\\x79\\x66\\xff\\xa7\\x10\\xba\\x76\\xe7\\x13\\xbe\\x09\\x59\\x69\\xf1\\xf1\\x3a\\x5e\\x72\\xda\\x24\\x9b\\x45\\x23\\x08\\xf9\\x56\\x2c\\x66\\x21\\x2e\\xce\\x92\\x99\\x94\\x9c\\x9e\\x61\\x92\\x72\\x73\\xcd\\x66\\x4b\\x5e\\x86\\x29\\x5d\\x67\\x73\\xda\\xc0\\x96\\xac\\xb6\\x27\\x49\\x4e\\xa7\\x13\\x9c\\x99\\xbc\\x6b\\x83\\x09\\x36\\xd8\\xa1\\xc0\\x0e\\x5f\\xba\\x60\\xb9\\x6b\\xbd\\x8b\\x23\\x2e\\x93\\x8b\\x33\\xd9\\x5d\\x2e\\xbb\\x89\\xb7\\xe4\\xc6\\xf1\\x16\\xda\\x57\\x10\\x92\\xf1\\x41\\xab\\x8c\\xd6\\xf7\\x39\\x41\\x0d\\x1d\\xba\\x06\\x29\\xc4\\xb8\\x31\\xe2\\x31\\x46\\xa4\\x3f\\xa3\\x98\\xe0\\x40\\x41\\x4f\\x8d\\x2a\\xd9\\x23\\x09\\x9e\\x88\\x4b\\x80\\x1e\\x34\\x14\\x67\\x60\\xcd\\x2c\\x15\\x8b\\xe8\\x20\\x40\\x37\\x55\\x7a\\x23\\xdf\\x07\\x48\\xdf\\xe0\\x98\\x2e\\x35\\x38\\xa6\\xf7\\x56\\xbe\\x7b\\x59\\xb9\\xbb\\x5e\\xf9\\x6c\\xeb\\x2a\\xc7\\x2a\\xd3\\x2a\\xc7\\xea\\x1e\\xdc\\x7f\\x20\\x70\\xd1\\xc4\\xe5\\x4b\\xca\\xc9\\x67\\x86\\x07\\x7e\\x35\\x0d\\x87\\x2f\\x2a\\xd6\\x29\\xad\\xe2\\xca\\x47\\xef\\x5f\\x0c\\x39\\x19\\x8b\\x9b\\x9e\\x54\\x52\\x79\\xd3\\xe2\\xeb\\x17\\x43\\xae\\x32\\x58\\x27\\x5e\\x9f\\xf8\\xd7\\x11\\x23\\xe0\\xc1\\x81\\xc1\\xf1\\x47\\x93\\x3b\\x8a\\xc4\\x56\\xc9\\x88\\x7a\\x2f\\x8d\\x2c\\xf0\\xf5\\xd7\\xa9\\xad\\x9e\\x14\\x5b\\x22\\xa7\\x02\\x8d\\x96\\x40\\x92\\xe8\\x88\\x15\\xc1\\xa9\\x35\\xc6\\x4a\\x19\\xe9\\x26\\x13\\xa7\\x73\\x39\\x27\\xf9\\x5d\\x2e\\x4e\\xa7\\xd3\\x4c\\xf2\\x5b\\x3d\\x6a\\xcf\\x44\\xbf\\x4e\\x2d\\x70\\x29\\xb4\\x9d\\x88\\x43\\x09\\xc9\\xc1\\x24\\x3f\\x67\\xa1\\xbd\\x91\\x21\\x86\\x09\\x75\\x46\\x76\\xb6\\x6c\\x3a\\x0b\\xba\\xd8\\x9f\\xc1\\xc6\\x22\\x4f\\x19\\x5a\\x63\\xa1\\xa6\\xa2\\x44\\xa0\\x0d\\x26\\x19\\x7c\\x69\\x05\\x78\\xca\\xdc\\xbc\\x24\\xc8\\x60\\x8b\\x71\\x58\\x25\\x8e\\x3b\\xff\\x54\\xfa\\xcf\\x4a\\xfb\\xab\\xd0\\xf8\\x83\\xf3\\x29\\xd7\\x21\\xa5\\x50\\xf9\\x36\\x6e\\xe5\\xf8\\x57\\xdf\\x5a\\x9b\\xff\\x4a\\x06\\x9c\\x9e\\xde\\xa4\\x7c\\xf8\\xb2\\xf2\\xc0\\xca\\xf9\\x2f\\xbf\\xf3\\xdd\\x7b\\x27\\x53\\xa1\\xec\\xdf\\x97\\x61\\xe1\\x67\\xfa\\xa5\\xcb\\xed\\xa7\\x76\\x0f\\x6b\\x5c\\x60\\x6c\\xcf\\xd5\\xd6\\x7e\\xfd\\x7e\\xe0\\xcd\\xc9\\xe3\\x39\\xee\\x86\\xa6\\xa3\\x49\\xfc\\x29\\xb7\\x72\\x0c\\xf5\\x3e\\x6d\\x2b\\x91\\xac\\x4c\\xae\\xc6\\x61\\xbd\\x58\\xe1\\x1b\\xa4\\xd7\\x59\\xec\\x31\\x46\\x70\\xc6\\xc5\\xab\\x78\\x33\\x9f\\x94\\x10\\xeb\\x32\\x08\\xb2\\x4a\\xab\\xd2\\x71\\x5c\\x92\\xd5\\x91\\x44\\xbb\\x8c\\xcc\\x62\\x8a\\xc9\\x6c\\x76\\x1b\\xb5\\x56\\xab\\x53\\x65\\x8b\\x93\\x1d\\x8e\\x78\\xac\\x24\\xc8\\x47\\x09\\x84\\x24\\xd8\\x78\\x4e\\x6f\\xb6\\x24\\x85\\x75\\x44\\x90\\x4b\\x42\\xe5\\x1e\\xbe\\x80\\xf7\\xda\\x8d\\x67\\xb4\\xc5\\x1b\\xdc\\xb4\\x39\\x90\\x32\\x87\\xb5\\xd3\\x53\\x74\\x8b\\xee\\x0c\\x77\\x99\\x97\\x2b\\x91\\xaa\\xe1\\x4e\\x70\\xc1\\xf8\\x51\\xb0\\x38\\x4b\\x39\\x1b\\xff\\x4b\\xd6\\xae\\x52\\xe5\\x42\\x69\\xe0\\xbd\\x3d\\xca\\x67\\x7f\\x7a\\x2e\\xeb\\x3f\\xf5\\xca\\x9b\\xd0\\x0a\\x7b\\x9c\\xca\\xc9\\xd9\\x7b\\x53\\x9d\\xfc\\x3d\\xf0\\x9b\\xa2\\x3e\\xfb\\xd4\\x59\\xe5\\x38\\xf4\\xa6\\xc7\\xd9\\xa7\\x9e\\x7a\\xea\\x2c\\x90\\xc4\\x81\\xc1\\x76\\xa2\\x40\\xc7\\xdf\\xc5\\x75\\xac\\x3d\\x6c\\xa9\\xaf\\x1f\\x67\\x48\\x48\\x94\\x55\\xce\\x94\\x9c\\x14\\x55\\xa2\\x21\\x46\\x32\\xa5\\x9a\\xf2\\x52\\x73\\x9d\\xa9\\xa9\\xf6\\x34\\x4b\\x4e\\x8e\\x11\\x33\\x66\\x4a\\xe0\\xd4\\x62\\x42\\x72\\x9a\\x6c\\x42\\x8b\\x47\\x26\\xda\\x34\\xe4\\x98\\x64\\x6d\\x72\\x1c\\x8a\\x71\\xab\\x56\\x98\\xd4\\xa5\\x91\\x30\\xe8\\x83\\xd0\\x16\\x14\\x4b\\x39\\x33\\x02\\x22\\x9e\\x06\\x78\\xbb\\x8c\\x4e\\x62\\x59\\x0e\\x36\\x25\\xa4\\xa1\\x84\\x4e\\x8e\\x49\\xa0\\xe6\\xad\\x24\\x52\\x5b\\x80\\x3a\\x19\\x65\\x22\\xe7\\x4e\\x36\\x97\\x20\\x0d\\x50\\x36\\xbb\\x17\\xf2\\xdb\\xbe\\x9b\\x7c\\x77\\xae\\xf2\\xfd\\xf0\\xb6\\xef\\x40\\x0a\\x8c\\xc9\\xda\\x7f\\xb7\\xf2\\xc6\\x03\\xdc\\xf9\\xac\\xf6\\x41\\xdc\\x9d\\x1b\\xfe\\x36\\x15\\xe2\\x5e\\x54\\x52\\x15\\xa1\\x36\\x73\\x75\\xe6\\xf2\\xc7\\xf6\\x07\\x9e\\x17\\xf4\\xa6\\xa7\\x8b\\x7a\\x94\\x34\\x2d\\x3c\\xf0\\x62\\xca\\xd9\\x39\\xd7\\x25\\x9d\\x9d\\xd1\\xb8\\xb2\\x9b\\x72\\x16\\xd6\\xc7\\x9e\\xed\\x56\\x59\\x92\\x1e\\xe6\\xff\\x4b\\xc8\\xff\\xb1\\xc4\\x4d\\xea\\x7d\\xa5\\x2a\\xb5\\x2b\\x36\\x8e\\xe7\\x63\\x49\\xa2\\xd3\\x92\\x24\\x9b\\x35\\x6a\\xbb\\x4e\\x9f\\xa2\\xf7\\x38\\xad\\xe6\\x24\\x39\\x69\\xa2\\xdf\\x66\\x20\\x1a\\x8d\\x6a\\x92\\x5f\\x23\\x0b\\x89\\x16\\x62\\x69\\xf0\\x93\\x58\\x94\\x90\\xb4\\x79\\x30\\xa8\\x69\\xbd\\xa1\\x0e\\x8d\\x2b\\xd5\\x2e\\xcd\\xa7\\x98\\xce\\x5d\\xc5\\xe4\\xb4\\xad\\xd0\\x88\\x7e\\x57\\x88\\xc5\\x07\\x7e\\xa3\\xd0\\x46\\x50\\xe4\\xef\\x57\\x7f\\xc9\\x51\\x7e\\x8a\\x5f\\x31\\xf6\\xd5\\x4b\\x77\\x7e\\xd5\\xa8\\x1c\\xfb\\x30\\xf5\\xa9\\x0d\\xb7\\xce\\x79\\xf9\\xe4\\x67\\x5a\\x37\\x74\\xfb\\x85\\xb5\\x7a\\x22\\x6b\\x9f\\x7c\\x7a\\xe0\\xc4\\xb9\\xc6\\xf6\\xfc\\xb8\\xaf\\xe6\\xff\\xe9\\x65\\xe9\\x25\\x5e\\x7b\\xef\\xc1\\x04\\xfe\\x94\\x47\\x39\\xdc\\xd1\\xa1\\x5c\\xe4\\xdf\\x84\\x5f\\xa4\\xd7\\xd1\\xc3\\xd1\\x2b\\x77\\xd2\\x7d\\x5b\\x51\\x4e\\xae\\xea\\xf8\\x87\\xf4\\x67\\xb1\\x09\\xf3\\x9a\\x4d\\x7a\\x90\\x3e\\x98\\xdf\\xee\\x45\\x19\\x1c\\x6f\\x31\\xbb\\xd4\\xe5\\x89\\x68\\xf3\\xf4\\xea\\x93\\x91\\x28\\xfb\\x2a\\x38\\x8b\\x64\\x90\\x48\\xb3\\xdf\\x20\\x1d\\x1a\\x17\\x97\\xdb\\xec\\x4f\\x8d\\x3b\\x34\\x2e\\xb5\\x18\\xaf\\xae\\x5e\\x4e\\x83\\xad\\xd9\\xdf\\x47\\x32\\xc8\\xa4\\x22\\xe4\\x74\\xd2\\x5f\\xb0\\xcb\\xa2\\xab\\x5f\\x49\\x45\\x5c\\xd0\\x8e\\xa3\\x06\\x2e\\x47\\x1b\\x85\\xa8\\x87\\x68\\xe0\\xec\\xb6\\xd0\\x58\\x01\\xae\\x73\\xac\\x00\\x27\\x4b\\x5d\\x47\\x0b\\xbc\\xb9\\x30\\xaf\\x25\\xf5\\xd0\\xfa\\x4d\\x4f\\xf6\\xb9\\xf5\\xc9\\xb9\\x6b\\x1e\\x3c\\x2a\\xcc\\x28\\x19\\xd1\\x3d\\x5d\\xa8\\x7b\\xf0\\xb1\\xd8\\x84\\x25\\x4f\\x4d\\xbb\\xff\\x21\\x67\\x2d\\x0c\\x48\\xec\\xe1\\xcd\\x31\\xc5\\xd4\\xd5\\x4c\\x8a\\x8d\\x6f\\xfb\\x82\\x76\\x00\\x73\\x2f\\x3c\\x98\\xbe\\xe6\\xbe\\xe7\\xb7\\x4f\\xfa\\x76\\xc7\\x88\\x0d\\xab\\x75\\xf7\\xf4\\x58\\x70\\xb8\\xff\\xb6\\x63\\x8f\\x6d\\x1e\\x39\\x71\\xed\\x81\\x09\\x4f\\x6f\\xf6\\x8f\\x82\\x07\\xb7\\xd8\\xca\\xa7\\xd6\\xce\\x18\\x74\\xff\\xca\\x55\\x37\\x0f\\x5d\\x17\\x48\\xa3\\xa3\\x00\\x38\\xea\\x13\\x0a\\xd9\\xe2\\x66\\xa6\\x17\\x6f\\xf1\\xf5\\x54\\x39\\x3d\\x49\\xce\\x24\\x73\\x62\\x9c\\x18\\x9f\\xc9\\xf3\\xf1\\x39\\x2a\\xbd\\x1c\\x6b\\x8f\\xf3\\xa4\\xba\\x93\\x48\\x62\\x6a\\xa2\\x3b\\x41\\x8e\\x23\\xf1\\xf1\\x09\\xf3\\xfd\\xf1\\xf1\\x76\\x62\\xd7\\xcf\\xa3\\x66\\xaf\\x7b\\x81\\x9f\\xc8\\x91\\xa1\\x99\\x57\\xf4\\xe5\\x04\\xfb\\x8e\\x3b\\xff\\xe9\\x1a\\x2b\\x5e\\x4b\\x17\\xdd\\x69\\x00\\x23\\x84\\x7a\\x6e\\xe8\\x5c\\x41\\x46\\x99\\x0a\\x90\\x2b\\xc0\\x8a\\xe4\\x91\\x79\\xe6\\x07\\x70\\xdf\\x6e\\xd9\\xbb\\xf4\\xb7\\x0b\\x29\\xea\\xf2\\xc2\\x81\\x93\\xbd\\x0f\\xf4\\x5b\\xbd\\xfb\\xc6\\x7b\\x1e\\xd6\\x58\\xee\\x4d\\xbb\\xbf\\xba\\x12\\x6e\\x9a\\x91\\x78\\x5d\\xfd\\x9a\\x01\\x85\\xe2\\xe6\\x7b\\x97\\xce\\xf9\\xfc\\xf9\\x11\\xfb\\x33\\x0b\\x7a\\xf5\\x1a\\xbf\\x78\\xcf\\xfe\\x11\\x5b\\xef\\x2d\\xea\\xde\\x58\\x78\\xbc\\x10\\xee\\x82\\x5b\\x9e\\xd9\\xa4\\xec\\xf7\\x2c\\xd9\\xde\\xa7\\xa8\\x07\\xe3\\x87\\x6c\\x42\\xd4\\x32\\xeb\\x57\\x37\\x93\\x04\\xd4\\x9b\\xcb\\x7d\\x55\\x89\\x9c\\xc5\\xa2\\x43\\xbb\\xd7\\x68\\x4a\\x23\\x4e\\xad\\x88\\xcc\\xae\\x56\\x3b\\x4d\\x7c\\x7e\\x9e\\x4e\\x54\\x6b\\xec\\x99\\x0b\\xfd\\x71\\xee\\x85\\xfe\\xa4\\x38\\x30\\xda\\x93\\xec\\x05\\x76\\x5e\\xcd\\xdb\\xe3\\xec\\x71\\x44\\x43\\x60\\x21\\x1a\\x0a\\x2a\\xb3\\xa0\\xb6\\x18\\xb5\\x26\\xf4\\x8a\\x48\\x85\\xc3\\x8b\\xff\\xd1\\x9e\\x40\\x7d\\x57\\x46\\x89\\x76\\x6a\\xa9\\xae\\xa4\\xfd\\x23\\xd4\\x22\\x45\\x4a\\xd0\\x06\\x07\\xb4\\xc9\\xac\\x5e\\x75\\xf4\\xf0\\x37\\xb9\\xb3\\xc3\\x04\\x1d\\x23\\xf1\\xaf\\x6e\\x6e\\xa9\\xbb\\xed\\xf1\\xc0\\x5f\\xf4\\xf1\\x4f\\xfc\\x03\\xcc\\x90\\xca\\xa5\\xbb\\x6c\\x8f\\xfd\\xa2\\xfc\\xc4\\x7f\\xf2\\xfd\\x91\\xfb\\x77\\x7d\\x7d\\xf8\\xa1\\x1d\\x1f\\xf7\\x2e\\x1b\\x30\\x2c\\xb5\\x47\\xb9\\xb7\\x7b\\x6e\\xfc\\xee\\xdd\\x42\\xef\\x31\\xbb\\xdb\\x5f\\x13\\x57\\xb6\\x1d\\x79\\x7e\\x32\\xef\\x6d\\x5d\\xce\\xbd\\xf9\\x4e\\xeb\\xf6\\xbb\\x4e\\xfe\\x63\\xe3\\x03\\x95\\xd5\\x43\\xee\\xf5\\x0d\\x1a\\x91\\x3c\\xe0\\x66\\xc2\\xe8\\x92\\xdc\\xf1\\xb3\\x78\\x0a\\xe5\\xa2\\x91\\x24\\x21\\x8d\\x8a\\xb0\\x9e\\x14\\xe4\\x24\\x17\\xa4\\xa5\\xa5\\x27\\xa7\\x13\\xa7\\xca\\x44\\x88\\xaa\\xd8\\x9b\\x9e\\x2e\\x64\\x14\\xa4\\xbe\\xed\\x2f\\x28\\x10\\x32\\x74\\xb6\\x37\\xfd\\x3a\\x21\\x23\\xff\\x2d\\x7f\\x86\\x49\\x88\\x7f\\xd3\\x2f\\x58\\x3b\\x4d\\xa6\\xab\\x94\\x5f\\x79\\xb4\\x35\\x10\\xb4\\x52\\xb9\\xe8\\xfe\\x02\\x8b\\x5c\\xcc\\xa5\\x7a\\x52\\x04\\xac\\x28\\x16\\xc1\\x5b\\x94\\x6a\\xe1\\x6d\\x52\\x0e\\xd8\\x3d\\x66\\x37\\x25\\x41\\x0e\\xa0\\xad\\x5b\\x2a\\x9e\\x7a\\x4d\\x79\\xfe\\xb5\\x93\\xca\\xde\\x97\\x5e\\x87\\xe1\\xaf\\xbd\\x0e\\x23\\x8e\\xdd\\xb2\\x53\\xf9\\xfa\\xc9\\xed\\xca\\x5f\\xf7\\x3c\\x03\\xb1\\xdb\\x77\\x42\\xfc\\x93\\x97\\x1e\\x5f\\xf3\\xf6\\xb3\\x70\\xf3\\x86\\x1d\\xfb\\xb6\\xee\\x3f\\x38\\x64\\x20\\x77\\x9c\\xc6\\x78\\x0b\\x86\\xbe\\xf2\\x1a\\x0c\\x7f\\xfd\\xb8\\xf2\\xc2\\xeb\\x4f\\x82\\x6b\\xe7\\x36\\xe5\\x9b\\x67\\x9e\\x51\\xbe\\xa2\\x11\\xc0\\xb3\\x64\\x53\\x1b\\xaf\\xb9\\x73\\xe9\\x0a\\xe5\\xf7\\x6a\\xac\\x13\\x87\\x79\\x3a\\x47\\x8a\\xea\\xc5\\x24\\xd2\\xe0\\xeb\\x96\\xe4\\x72\\xc5\\xc7\\x4a\\x5a\\x3a\\x8d\\x09\\x20\\x56\\xad\\xd3\\x69\\x63\\xb5\\xc9\\x6e\\xa7\\xdd\\x18\\x9f\\x10\\xff\\xb6\\xdf\\xaa\\x93\\x20\\x36\\x56\\xcd\\x25\\xf0\\x13\\xdd\\x30\\xdc\\x0d\\x85\\x6e\\x40\\xab\\x88\\x9a\\xec\\xde\\x02\\xea\\xed\\x31\\x27\\xc9\\x1b\\x95\\x79\\x73\\xb8\\xa5\\x3d\\xd4\\xf0\\x64\\xf6\\xa2\\x81\\x86\\xdc\\xee\\x35\\x7b\\xcc\\xc5\\x65\\x94\\x03\\xf8\\x8c\\x18\\x7b\\x1a\\xed\\x31\\x2f\\x71\\xdb\\x85\\x86\\xdd\\xbf\\xaf\\x8b\\xc9\\x71\\x64\\x6d\\xf8\\xe7\\x2e\\x55\\x62\\xfe\\xc3\\xab\\x36\\x0f\\x95\\x15\\x38\\xf0\\x4f\\xee\\x09\\x9e\\x70\\x2b\\x95\\xb3\\xdd\\x66\\xf7\\xbe\\x01\\xf2\\x02\\xcb\\xa1\\xd6\\xb4\\xad\\xfa\\x66\\xa5\\x05\\xaa\\x5a\\xd6\\x27\\x3c\\xa1\\x68\\xe0\\xd7\\x75\\xeb\\xa8\\x8f\\x57\\x8f\\xf6\\xe1\\xa7\\x58\\x9e\\x1e\\x32\\xdc\\x97\\x99\\xe8\\x92\\xb4\\x2e\\x2d\\x6f\\x77\\xbb\\xe3\\x8c\\x3c\\xaf\\x8e\\x53\\xa7\\xa6\\xe9\\x9c\\x4e\\x55\\x5c\\x2c\\x2a\\x32\\x6d\\x6c\\x50\\xa8\\x0b\\x2b\\xd2\\xa0\\x9e\\x74\\x5a\\x30\\xde\\xe0\\xae\\xd4\\xe5\\x9d\\x76\\x4b\\xa4\\xf7\\x23\\x99\\x98\\xd1\\xf2\\x2d\\xf5\\xd2\\x91\\x81\\x21\\x23\\x97\\x56\\x64\\x07\\x1d\\xd0\\x57\\xe4\\x40\\x91\\x6f\\x22\\x7c\\x1c\\xf4\\x84\\x29\\xa7\\xdf\\x9b\\xd5\\x1b\\x74\\x81\\x75\\x8f\\x6e\\x79\\xe3\\xe0\\x81\\x37\\xb7\\x6f\\x0b\\xac\\x06\\x83\\x6f\\xd6\\x07\\x67\\x60\\xaa\\xf8\\xa0\\xf2\\xaa\\xf2\\xd7\\x8f\\x95\\xb3\\x93\\xb4\\x5f\\x43\\xc9\\xb0\\x2f\\x9f\\x7c\\xfb\\x8b\\x8b\\xef\\xec\\xbe\\x34\\x44\\x79\\xe7\\x6b\\xed\\x44\\xc8\\x3b\\x87\\xfa\\xde\\xc7\\x6c\\xb5\\xc6\\x8e\\x2f\\x84\\xbb\\x84\\x2a\\x56\\x26\\x3d\\x7c\\x89\\x4e\\x9d\\xcd\\x9e\\xa4\\x17\\x04\\xbb\\x8e\\x77\\x27\\xeb\\x93\\x92\\xcc\\xf1\\x2a\\x93\\xd9\\x6e\\x03\\x09\\x2d\\x11\\x12\\x43\\x2a\\x8a\\xea\\xeb\\x4f\\x57\\x9c\\x46\\x93\\xfd\\x74\\x67\\x95\\x63\\x8a\\x28\\x85\\x69\\x22\\x5a\\xa7\\x2c\\x88\\x35\\xeb\\x53\\xa7\\xa2\\xda\\x6a\\xa6\\xde\\x8d\\x6c\\xe6\\xe6\\x3f\\xfa\\xf3\\x9d\\x77\\xfd\\xf6\\xe0\\xd6\\x7f\\xde\\xd5\\x7e\\xb2\\xe8\\xc9\\x51\\xab\\x0f\\x0f\\xab\\x6a\\xbc\\xb0\\xd9\\xfb\\xc4\\xe8\\x17\\xe7\\xa7\\x34\\x81\\xbc\\x7d\\x37\\xe9\\xd8\\x70\\xbf\\xa2\\xec\\x52\\xb6\\x95\\x56\\xde\\x74\\x7b\\xf6\\x23\\x4b\\xb8\\x7b\\xc0\\x5e\\xd2\\x77\\x3e\\x5b\\x2e\\x97\\x08\\x1d\\xbf\\x77\\x7c\\x22\\x7f\\xc1\\xc6\\xe0\\x68\\x89\\x81\\x94\\x90\\x79\\xbe\\x9e\\x1a\\x64\\x19\\x41\\x16\\xb4\\x40\\x47\\x35\\x79\\xe2\\x8d\\x5a\\x74\\xc2\\xec\\xc6\\x2c\\xb9\\x4c\\x56\\xa9\\x4a\\x0d\\x06\\x4b\\x4c\\x8c\\x85\\xe7\\x2d\\x42\\x36\\x3a\\x89\\xa8\\x7e\\xf4\\x7a\\x75\\x5e\\x7a\\xba\\x45\\xa7\\x06\\x97\\xc5\\x1a\\xf1\\xb5\\xcd\\x78\\x98\\x4e\\x04\\xc7\\x58\\x44\\x06\\xe9\\x5c\\xe1\\xf4\\x99\\x23\\xab\\x93\\xa8\\xc1\\xa3\\x06\\x34\\xa4\\x51\\x9d\\x58\\x01\\x9d\\xf0\\x2b\\x46\\x10\\x64\\xe4\\x73\\xe1\\x86\\x4b\\x9a\\x6b\\x5a\\x64\\x89\\x9c\\xd4\\xde\\xb6\\xa3\\x49\\x98\\xd8\\x3e\\x2d\\x5b\\xd9\\xbb\\xea\\x73\\xce\\xfa\\xdb\\x1e\\xe5\\xf0\\x6b\\x97\\x45\\xe7\\x99\\x33\\xcd\\xaf\\x9a\\xde\\x32\\x34\\x8c\\x5c\\x30\\xb6\\xb2\\xe6\\x89\\x19\\xa5\\xa7\\x5a\\x1e\\x7b\\xdc\\xfe\\x86\\xa6\\x5f\\xd5\\x73\\x55\\x43\\xd7\\xcf\\xef\\x2d\\xbe\\xdc\\x1a\\x2b\\x7e\\xdb\\xbe\\xe9\\xcb\\x2f\\xf9\\xdb\\xda\\x57\\x73\\x9f\\x28\\x3b\\x02\\x95\\xf7\\x3f\\xb0\\x66\\x7e\\x52\\x55\\xcf\\x6e\\xdd\\x53\\x8b\\x9d\\x85\\x15\\xa3\\xca\\xef\\xdc\\x30\\xf5\\x8e\\xd8\\x01\\xb9\\xe3\\x53\\x8a\\x1d\\xb9\\xfd\\xc6\\x07\\xed\\xaf\\x1f\\xd1\\x00\\x6d\\x17\\x7a\\x10\\x35\\x2d\\x4d\\x01\\xb3\\xae\\x16\\xb5\\x00\\x1a\\x49\\x1c\\xee\\xc7\\x0a\\x65\\xe0\\x25\\x09\\x54\\x46\\xe0\\x86\\xfb\\xc1\\x1e\\x64\\x46\\xcc\\x3b\\x6d\\xce\\x0d\\x4e\\x83\\x08\\x71\\x60\\x16\\xd0\\xc1\\x09\\x65\\xb4\\x87\\x21\\xab\\xfd\\x44\\x06\\xe7\\xc9\\x51\\xc4\\x4c\\x68\\x1b\\x03\\xb1\\xef\\x5c\\x7a\\x07\\x4e\\xd2\\x36\\xcf\\xc6\\x8e\\xdf\\xa5\\x41\\xe2\\x9d\\xa6\\x74\\x12\\x9c\\x8f\\x19\\xe0\\xb6\\xb2\\xb6\\xcf\\xf9\\xfc\\xdc\\x40\\x15\\x7e\\xaf\\x62\\xdf\\x1f\\xc0\\xef\\xf3\\xe0\\x5a\\xdf\\xef\\xc0\\xef\\x63\\x31\\x3e\\xfd\\xf2\\x32\\xdb\\x55\\x52\\xc5\\x2f\\x0b\\x0c\\x31\\x4b\\x64\\x69\\x32\\x21\\x83\\x7c\\x5e\\x82\\x42\\xbb\\x06\\x38\\x13\\x14\\x02\\xb7\\x03\\xf6\\xc3\\x31\\x78\\x1f\\x04\\x9e\\x03\\x9b\\xd1\\x96\\x64\\xe3\\xf6\\xdb\\x8e\\xd9\\xde\\xb7\\xf1\\x42\\x59\\x43\\xd9\\xec\\xb2\\xe5\\xe8\\xdc\\x73\\x60\\x76\\x92\\x8a\\x92\\x92\\x12\\xa8\\x37\\x97\\xd4\\xd3\\x51\\x61\\x25\\xf5\\x73\\xea\\x83\\x73\\x39\\x1f\\x64\\x69\\x3d\\xc0\\xd2\\x7a\\xba\\x4b\\x5a\\xf3\\x4b\\x09\\xe9\\xe9\\x4b\\x8f\\xa4\\x05\\x57\\x25\\x50\\x6b\\xac\\x4d\\xaa\\xe5\\xae\\x05\\x9e\\x41\\x67\\xed\\xbf\\x1b\\x19\\xfc\\x95\\x57\\xc3\\x57\\x49\\x7d\\x08\\xe9\\xed\\xcb\\xfc\\x2f\\xf0\\xfb\\x1b\\xfb\\x27\\xf5\\xaf\\xe9\\x7f\\xcd\\x0c\\x84\\xf1\\x7f\\x01\\xe1\\xa7\\x86\\xe0\\x4f\\x08\\xc1\\x1f\\xc8\\xe0\\xcb\\xa3\\x29\\xfc\\x6c\\x02\\x05\\x08\\xbf\\x01\\xd6\\xc3\\x63\\x20\\x86\\x93\\xa8\\xb1\\x3d\\x66\\x13\\x84\\x1e\\xc6\\x1e\\x49\\x3d\\x96\\xf7\\xb8\\xd4\\x43\\xb8\\x22\\x05\\x46\\xa1\\x20\\xfc\\x38\\xb4\\x55\\xba\\x09\\xc3\\x2c\\x12\\x17\\xc3\\xe6\\x9a\\x3e\\x41\\x26\\x4b\\x13\\xb8\\xfe\\x44\\x4f\\x12\\x7c\\x7a\\x2d\\x51\\xf1\\x7a\\x9e\\x88\\x82\\xc1\\xa8\\xd7\\x91\\x48\\xbd\\x67\\x82\\x2a\\xc6\\xe1\\x49\\xcf\\x28\\x41\\xf3\\x42\\x92\\xdd\\x76\\x6e\\x65\\x79\\x9f\\xaa\\xe5\\xeb\\xd7\\x2f\\xaf\\xea\\x53\\xce\\x5f\\x84\\xac\\x7e\\x77\\x6c\\x1e\\x94\\x3a\\x68\\xf3\\x1d\\xfd\\xea\\x28\\x4c\\x53\\xc7\\x71\\xee\\x67\\x61\\x39\\xc2\\xcc\\xf4\\x59\\x44\\x49\\xa7\\xd3\\xab\\xf5\\x1c\\x6f\\x30\\x12\\xad\\x9a\\xd3\\xaf\\x10\\xe9\\x6a\\x4a\\xef\\x16\\x45\\x14\\x79\\xb0\\x0d\\x4f\\x92\\x29\\xec\\x18\\x87\\x3d\\x3d\\xc3\\xec\\x81\\x8f\\x3b\\x01\\xf2\\x3b\\x3a\\x93\\x6a\\xf7\\x5c\\x8d\\x33\\xd1\\x72\\x6a\\x9d\\x5a\\x8b\\x76\\xb0\\x41\\xa7\\xbf\\x02\\xe7\\xf4\\x0c\\x0a\\x51\\x92\\x3d\\xa5\\x65\\xee\\x12\\x71\\x79\\x34\\x20\\x58\\xfe\\x5f\\x70\\x96\\x44\\xbd\\x5e\\xa7\\xd6\\x71\\xbc\\xd1\\xa0\\x25\\x9c\\x7a\\x85\\x84\\xc4\\xb8\\x18\\x7b\\x25\\xce\\x69\\xa5\\x65\\x14\\x36\\x52\\x05\\xc5\\xb5\\x97\\xcb\\xe9\\x04\\xf8\\x44\\x34\\x75\\x48\\x17\\x9c\\x1d\\xc4\\x7c\\xd0\\x2c\\xb9\\x9c\\x28\\xda\\x18\\xae\\x2c\\xf3\\xd1\\xb4\\x8d\\xc2\\x39\\x9a\\xca\\x9c\\xd2\\x79\\x1f\\x45\\xef\\xc8\\x4d\\x74\\x1e\\x1c\\x74\\x5c\\xa0\\x51\\xa5\\xd2\\x6a\\x89\\x9d\\x4e\\x50\\x77\\xba\\x1c\\x3a\\x83\\x7d\\x85\\xc5\\x47\\x0b\\x80\\xd1\\x9f\\x66\\x25\\x36\\x92\\xa3\\xae\\x66\\x77\\x74\\x49\\x44\\xe5\\x30\\xaa\\x4c\\x22\\x37\\xd1\\x65\\x13\\xe0\\x3a\\xef\\x09\\x87\\xb8\\x54\\x31\\x5c\\x78\\xf4\\x8b\\xfb\\xf8\\xe2\\xad\\x3a\\x1d\\x18\\x8d\\x82\\x4b\\xa6\\x83\\xf3\\x12\\xe2\\xe3\\x4c\\x16\\x57\\x0c\\x4f\\x62\\x04\\xa3\\x5e\\x52\\xb3\\x75\\x72\\xca\\x2f\\x7e\\x71\\xda\\xd4\\x89\\x4f\\x67\\xdf\\x12\\xea\\x1b\\xd4\\x8d\\xd6\\x3f\\xc2\\xca\\x04\\x5f\\x2a\\xc9\\x27\\xaf\\x46\\x6d\\xda\\x70\\x61\\xcc\\x1f\\x20\\xc7\\x74\\x61\\x45\\xc7\\x77\\xfc\\x4b\\xe2\\xcb\\x68\\xb7\\x66\\x93\\x01\\x3e\\x4f\\x9a\\x53\\x95\\x68\\xb1\\x10\\x15\\xc9\\xc9\\xd5\\xb9\\x47\\xfa\\x8d\\x3a\\x5d\\x66\\x9c\\xd3\\x19\\x17\\x67\\xaf\\xf1\\xc7\\x11\\x31\\xb3\\xc6\\x2f\\xc6\\x84\\x4d\\x73\\x74\\xcd\\xd8\\xd8\\x4e\\x6f\\x4e\\x94\\x41\\x52\\xc4\\xec\\xb0\\x90\\xbb\\xc2\\x54\\xa3\\xc3\\x5b\\x16\\xd4\\xe6\\x72\\x19\\x3e\\x5a\\x80\\x6a\\x89\\x90\\xf5\\x69\\xe1\\x5f\\xaa\\x59\\xff\\xf6\\x8a\\x27\\xff\\xb4\\xf0\\xe8\\xe2\\x21\\x4b\\x92\\x04\\x98\\x31\\xbb\\x64\\x61\\x5a\\xde\\xa4\\xb9\\x2f\\xbf\\xaf\\xb4\\x1b\\xeb\\xca\\x7c\\x37\\xf5\\x1b\\xd8\\x67\\xc2\\x03\\xfc\\xba\\x37\\x95\\xad\\xbf\\xde\\xfe\\xee\\xb1\\x27\\x20\\x67\\x4b\\xdd\\x90\\xec\\xc2\\xbd\\xaf\\x66\\xc6\\x9f\\x2e\\x57\\x2e\\x05\\xfe\\x56\\x5d\\x3f\\xff\\xd3\\xe9\\x93\\x6e\\x82\\x18\\x96\\x97\\x1c\\x54\\x9a\\x87\\xd1\\xd6\\x12\\x29\\x53\\xd1\\xf1\\x8b\\x1c\\x4a\\x7e\\x8d\\x00\\x82\\x0e\\xa9\\x8b\\x0a\\x53\\x8d\\x26\\x89\\x25\\xac\\x01\\x42\\x48\\x33\\x2d\\x87\\x58\\x7b\\x4b\\xd0\\x56\\xb6\\x53\\xa3\\xd9\\x4d\\x72\\xe0\\x3e\\xb8\\x05\\x9a\\x02\\x87\\xd4\\x55\\x67\\xb8\\xfe\\xca\\xa5\\x73\\xc2\\xb3\\x6d\\x75\\xe7\\x84\\x96\\x14\\x25\\x50\\xc3\\xbf\\x1e\\x6c\\xef\\xfe\\x52\\x19\\x2d\\x7e\\x81\\x69\\xc9\\x24\\xc5\\x67\\xa2\\x63\\x83\\x05\\x59\\xa5\\x16\\xb9\\x89\\x7e\\x11\\x1f\\x48\\x41\\x51\\x45\\x4e\\xf4\\x2c\\x73\\xb3\\x9b\\xfd\\x09\\x27\\x02\\xfd\\x94\\xf3\\x82\\xa2\\x8c\\x96\\x4a\\xff\\xf3\\xb6\\x9c\\xfd\\x3b\\x9b\\xe7\\x4e\\x76\\x22\\xac\\x46\\x84\\xa5\\x25\\xc3\\x7c\\x19\\x32\\x1a\\x53\\x9c\\x4a\\x05\\x92\\xa4\\x01\\x8d\\x4e\\xcf\\xcb\\x82\\x20\\x37\\xf8\\x55\\x1c\\x1b\\x0c\\xaa\\x16\\x00\\xb5\\x1c\\xcd\\x07\\x09\\x9a\\xc2\\xa8\\xc6\\x9c\\x15\\xd4\\x51\\x0e\\x4d\\x75\\x0c\\x0f\\x43\\x2e\\x2a\\x62\\x4d\\x02\\x25\\x6a\\x40\\xbb\\xcf\\xad\\x06\\xb7\\x7d\\x27\\x37\\x3e\\xd0\\x22\\xcc\\x09\\x70\\x9c\\x29\\x70\\x81\\xaf\\x56\\x46\\xef\\xe0\\x73\\xb9\\x53\\x5b\\xbf\\x0a\\xac\\x0a\\xc4\\x7e\\x1d\\xcc\\xd3\\x32\\xae\\x5c\\x58\\xc1\\xbb\\x90\\x57\\x63\\x7c\\x1a\\x0e\\xc5\\x1f\\x1b\\x8c\\xff\\x02\\xa9\\x88\\x4c\\x6c\\x46\\x60\\xcb\\x50\\xa8\\x96\\x7f\\xf9\\x25\\xca\\xd0\\xf0\\x78\\x62\\x93\\x24\\x07\\x58\\xfc\\xdb\\x39\\x2b\\x9c\\xe7\\xfb\\xb3\\xf9\\xb8\\x5a\\x8c\\x4e\\x60\\xdb\\xb8\\xd0\\x64\\x19\\x06\\x21\\x38\\x10\\xfc\\xf6\\x9e\\x90\\xdc\\x13\\x43\\xd2\\x29\\x30\\x40\\x6e\\xeb\\xf8\\x4e\\xf8\\x5a\\xaa\\x45\\x8e\\x4b\\xf7\\x99\\x80\\x48\\x12\\x8f\\x96\\x0c\\xaf\\x51\\xf3\\x98\\x6d\\x3a\\xc5\\x3e\\x68\\x75\\x05\\x67\\x8f\\x31\\x7b\\x44\\xf4\\x00\\xda\\xb2\\x56\\xf0\\x72\\x7f\\x7b\\x5a\\xf9\\xa5\\x05\\xca\\x3e\\x87\\x6d\\x47\\x5c\\xdc\\x2f\\xbb\\x03\\x77\\x8a\\xc3\\x83\\xf3\\x78\\x46\\x90\\x4f\\xc5\\x05\\xfc\\x09\\x62\\x43\\xfb\\x2e\\x87\\xac\\xf2\\x8d\\x4a\\x4f\\x76\\x68\\x12\\xd0\\xbb\\xca\\xcd\\xb3\\x7b\\xf4\\x9e\\x17\\xfd\\x16\\x93\\x3e\\x36\\x4b\\xce\\x7a\\x11\\x0b\\xab\\x40\\xae\\x90\\x6b\\x64\\x9e\\x9e\\x96\\xcb\\x67\\xe4\\x4b\\xb2\\x28\\x93\\x3c\\xf8\\x39\\x0f\\xbe\\xcc\\x83\\xf7\\xf3\\xe0\\x58\\x1e\\xec\\xcf\\x83\\x1d\\x79\\xb0\\x21\\x0f\\x56\\xe4\\xc1\\x2d\\x79\\x30\\x31\\x0f\\x7c\\x79\\x50\\x98\\x07\\x5d\\xfa\\xa0\\x49\\x41\\xfd\\x9c\\xa0\\x7d\\xee\\x0c\\x0f\\x20\\x0d\\xf3\\x57\\xb0\\x4e\\x48\\x5d\\xdb\\xca\\xe9\\x29\\x2d\\x45\\x0e\\x5b\\x51\\x51\\xed\\xe1\\xa5\\xe2\\x82\\x23\\x6b\\x3f\\x59\\xb2\\xea\\xed\\xa6\\x03\\x87\\xef\\x9d\\xba\\xab\\xef\\xf2\\x93\\x5b\\x0f\\x29\\xbb\\x16\\x4d\\xc8\\xbd\\xa1\\x72\\x80\\xbf\\x4e\\x49\\x2c\\x19\\xdb\\x6b\\x60\\xc3\\xd8\\xa1\\x3d\\x27\\x72\\x03\\x1f\\xf9\\xe8\\xf2\\x37\\xa7\\x77\\x3f\\xf6\\xfe\\xec\\x15\\xdf\\xbe\\x93\\x78\\x72\\xc2\\x94\\x59\\x75\\x63\\x6e\\x7e\\x69\\xce\\xa8\\xd9\\xa3\\x6b\\x67\\x37\\x50\\x39\\x48\\xf7\\x6d\\x9c\\x28\\xbc\\xc1\\xc6\\x12\\x73\\xa2\\xc8\\x4b\\x32\\x1d\\x0d\\x7c\\xba\\x73\\xb1\\x3d\\x2f\\x9d\\x88\\x03\\x5b\\x27\\x08\\x33\\xda\\xba\\x0b\\x6f\\xb4\\x6d\\x99\\x10\\x94\\xd1\\xae\\x0e\\x45\\xd8\\x2b\\xa8\\x88\\x95\\xce\\x23\\xb5\\x12\\xad\\x86\\x68\\x6c\\x76\\x2d\\x31\\x8a\\x85\\x76\\x48\\xb6\\x63\\xc6\\x11\\x48\\x94\\x21\\x8f\\x65\\x62\\x66\\x7d\\x6f\\x89\\x60\\xa7\\x7e\\x07\\x33\\xdd\\xcd\\xe0\\x9a\\xf7\\xc1\\x1d\\xab\\xce\\x2e\\x9c\\x7a\\x62\\xc7\\x13\\xc7\\x38\\x8e\\x3c\\x78\\xf9\\xce\\xd5\\xbf\\x6c\\x52\\x08\\xc7\\xbd\\xfa\\xf5\\x5f\\x5e\\x57\\xa8\\xdd\\xb6\\x5c\\x19\\xcd\\xbd\\x2a\\x9e\\x41\\x39\\x9d\\xe9\\xb3\\x19\\xed\\x76\\x34\\xdd\\x9c\\x2e\\x9d\\x19\\xad\\x36\\x44\\x7c\\xb8\\x1f\\x25\\x66\\xd8\\xf5\\x83\\xb0\\x8b\\x43\\x7b\\xcd\\x4b\\x90\\x4a\\x25\\x66\\x4a\\x47\\x94\\x82\\x2c\\x2d\\x9b\\x14\\x9b\\x33\\xde\\x76\\x5d\\xc9\\x23\\x1f\\xbd\\x3a\\xa6\\x5f\\xd1\\x80\\xa1\\xc3\\xcf\\x2a\\xa3\\x0d\\xf2\\x79\\xd7\\x49\\x61\\xd2\\x81\\xb7\\xac\\x9f\\xbb\\x6e\\x9c\\xd0\\xb6\\xbd\\xf9\\x0d\\x26\\x23\\xfa\\x83\\x45\\x18\\x29\\x94\\x11\\x3b\\xd6\\xf2\\x59\\xbe\\xdf\\x13\\xd5\\x99\\x56\\xb5\\x35\\x37\\x2f\\x33\\x6b\\xaf\\x3f\\x33\\x33\\x3d\\x39\\x21\\x71\\xaf\\x3f\\x26\\x7d\\xaf\\x3f\\x21\\x81\\xc4\\x4c\\x8c\\x79\\x3f\\x06\\x3d\\xf3\\x98\\x64\\x5f\\x72\\xec\\x5e\\x7f\\xb2\\xd6\\x62\\xdd\\xeb\\xb7\\x58\\x4c\\x5a\\x95\\x7a\\xaf\\x9f\\x98\\xf6\\xfa\\x55\\x2a\\x42\\x26\\x92\\xf7\\x09\\x86\\x21\\x5a\\x9f\\x56\\xdc\\xeb\\xd7\\xae\\xce\\x83\\xc9\\x79\\x50\\x9b\\x07\\xfd\\xf3\\xa0\\x38\\x0f\\x6c\\x79\\xf0\\xaf\\x3c\\xf8\\x28\\x0f\\x84\\x3c\\x94\\x78\\xec\\x82\\xcf\\x5f\\xb3\\x57\\x27\\xf2\\xe0\\x40\\x1e\\x6c\\x62\\x3c\\x85\\x71\\x86\\xb3\\x38\\xc8\\x56\\xa9\\x2c\\x1a\\x86\\x9c\\x7d\\x45\\xd0\\x9d\\x0c\\x70\\x34\\xd4\\x60\\x6a\\xc1\\xa4\\x22\\xd1\\xae\\x8e\\xb5\\x29\\x2a\\x24\\x06\\x43\\xf6\\xae\\xe0\\x1a\\xae\\x3d\\x84\\xe2\\x8f\\xe6\\xd7\\x05\\xc7\\x4e\\x44\\x66\\xe4\\xb3\\x71\\x10\\x08\\xa2\\xa8\\x20\\x27\\xec\\x97\\xd3\\x21\\xab\\xd7\\x7a\\x1f\\x2d\\x05\\xb1\\xec\\x98\\x22\\x28\\x61\\x55\\x80\\x76\\x50\\xda\\x0d\\xc0\\xa7\\x44\\xbf\\x64\\x6d\\x95\\xf4\\xed\\xc0\\xea\\xa6\\xea\\xd5\\xfe\\x7e\\x0b\\x2a\\x67\\x3d\\x3e\\xfc\\xa1\\xc1\\xf7\\x0c\\xbe\\xeb\\xd6\\x8a\\x45\\xb5\\x8b\\xf7\\xad\\x1c\\x3f\\x70\\x61\\xdf\\x39\\x8f\\x5e\\xbf\\x63\\xc8\\x94\\xca\\xf8\\xbb\\x6e\\xf5\\xcd\\xe7\\xfe\\x95\\x15\\x5b\\x90\\xd1\\xed\\xe3\\xda\\xdc\\xd8\\xfc\\xf1\\x9f\\xe7\\x79\\x94\\xc4\\xca\\xbc\\x9c\\xbc\\x8f\\x6b\\xf3\\x63\\x93\\xf5\\xe3\\x3f\\xcf\\x4d\\xa5\\x72\\xa9\\x27\\x49\\x13\\xa6\\x88\\x39\\xc4\\x0a\\x63\\x7d\\x3f\\x62\\x2d\\xd0\\x08\\x5a\\x4e\\x4b\\xcc\\x26\\xbd\\xa0\\x03\\xe0\\x74\\x9c\\x55\\xb0\\x1a\\x0c\\x2a\\x74\\x00\\x6d\\x5a\\xa2\\x5b\\xa1\\xe3\\x74\\xbc\\x4e\\xe3\\x33\\xc9\\x1a\\x79\\xaf\\x5f\\x6f\\xd2\\x0c\\x47\\x51\\xa8\\x49\\xd6\\xf8\\xf0\\x66\\x85\\x66\\x87\\x46\\xd2\\xf2\\x1a\\xb3\\xc4\\x4b\\x28\\x19\\x39\\xf2\\x03\\x0f\\x71\\x7c\\x0e\\x5f\\xcd\\x3f\\xc2\\x0b\\xbc\\xcf\\xe6\\xaa\\xe2\\x97\\xda\\x61\\xa6\\x1d\\xc6\\xd9\\xa1\\xda\\x0e\\x6d\\x76\\xf8\\xdc\\x0e\\x2f\\xd9\\xe1\\x11\\x3b\\xac\\xb3\\xc3\\x72\\x3b\\x70\\xb3\\xed\\xd0\\x60\\x87\\x1a\\x3b\\x54\\xb0\\xae\\x91\\xa3\\xec\\x9c\\x84\\x7a\\xc7\\x0e\\xaa\\x0e\\x3b\\x5c\\xb2\\xc3\\x0e\\x3b\\xac\\x88\\x7a\\x3b\\xe3\\x8c\\x1d\\x9e\\xb7\\xc3\\x7a\\x3b\\xcc\\x66\\xf1\\x0a\\xd9\\xfd\\x2d\\x76\\x18\\xce\\x1e\\x0b\\x58\\xa0\\xcb\\x2c\\xe6\\x99\\xa8\\x37\\xe5\\xef\\xdb\\x61\\xbf\\x1d\\x22\\x05\\x39\\xa7\\xeb\\x62\\x15\\xec\\xd7\\x39\\x5b\\xb2\\xa1\\xf3\\x33\\x96\\x2e\\x4a\\xb2\\xd3\\x45\\x41\\x51\\x86\\x65\\x39\\x87\\x49\\xb3\\x70\\xc1\\x06\\xab\\x62\\x51\\x78\\x44\\x9b\\x39\\xaa\\x1f\\x54\\xf6\\x94\\x51\\xc1\\x8c\\xfe\\xba\\xd5\\xcb\\x7b\\xed\\x6e\\xde\\x6d\\x87\\x1f\\x56\\x7e\\xbc\\xf2\\x73\\x18\\xb8\\x5b\\xb1\\x72\\x63\\xef\\x3c\\xbb\\xaa\\x5d\\xd9\\xb2\\x9b\\x2e\\xe0\\xa5\\x28\\x17\\x61\\xf0\\x25\\xe0\\x14\\xe5\\x92\\xd2\\x7c\\x91\\xc9\\xec\\xc9\\xe4\\x5f\\xc2\\x40\\x61\\x78\\x68\\xbe\\x49\\x85\\xcf\\xad\\x95\\x39\\x95\\x80\\x15\\x16\\x0d\\x50\\xd5\\x3e\\x3f\\xba\\x74\\x20\\x88\\xfb\\xfc\\xa8\\x92\\xf6\\xf9\\x8d\\x90\\x04\\x1c\\xd0\\x99\\x37\\x24\\xd2\\x22\\x94\\xd3\\x39\\x0f\\xd3\\x1b\\x54\\x54\\x10\\x3a\\x26\\xf3\\x5f\\xb5\\x27\\x04\\x0f\\xfe\\xe5\\x4d\\x9b\\x02\\xdd\\x37\\x6d\\x82\\xc9\\x9b\\x36\\x21\\x68\\x74\\x24\\x04\\xbf\\x68\\x61\\xf3\\x1d\\x4a\\x7c\\xb1\\x1a\\x34\\x17\\x74\\x32\\x6a\\x6f\\xad\\x4e\\x56\\xed\\xf5\\xa3\\xe2\\xe5\\xa4\\x42\\xce\\xc7\\xa1\\xf0\\x2a\\xa8\\x2f\\xb0\\x94\\xf7\\x2e\\x08\\x25\\x13\\x6e\\x86\\xa7\\x53\\x29\\xc0\\xae\\x06\\x96\\xcc\\x68\\x81\\x6b\\x3f\\xc6\\xfb\\xda\\x14\\x44\\x7a\\x21\\xf4\\x85\\xb1\\x5f\\x29\\x7f\\x55\\xbe\\xff\\x4a\\xf9\\xea\\xd2\\x25\\x72\\x45\\x5a\\x3d\\x7d\\x09\\xe1\\xa4\\x34\\xa1\\xb4\\x24\\x91\\xe3\\xf8\\x42\\xc1\\x27\\x70\\x74\\x5f\\xf1\\x82\\xa2\\x82\\x7a\\x2f\\xa6\\x47\\x1b\\x4c\\x72\\xa2\\x27\\x98\\x86\\x54\\x3a\\x98\\x59\\x8a\\x7c\\x45\\xfb\\x6b\\x02\\x87\\x29\\x72\\x90\\xf0\\x15\\x38\\xc0\\xf9\\x95\\xb2\\x5b\\x39\\x1a\\x58\\x4b\\x53\\xa4\\x69\\x6e\\xc7\\x34\\xcb\\x04\\x3a\\x9b\\x47\\x4d\\x52\\x7d\\x26\\x4e\\x25\\xd2\\xc9\\x3b\\x2a\\x81\\xd7\\x6a\\xe8\\x3d\\x95\\xe2\\xa7\\xa3\\x9a\\x9b\\xd1\\x08\\x32\\xab\\xc1\\x9c\\xe6\\xc6\\xf3\\x76\\x38\\x0d\\xa7\\xdb\\x9b\\xb9\\x56\\x65\\x95\\xb2\\x8a\\x5b\\xca\\x49\\x81\\xd6\\xc0\\x9d\\x23\\x39\\x09\\x9e\\x55\\xea\\x98\\xae\\x9f\\x4c\\x0e\\x08\\x03\\xb9\\x5f\\x50\\xb7\\x24\\xf8\\x74\\x08\\x8b\\x93\\x64\\x02\\xc2\\x3e\\x36\\xfd\\x88\\x44\\x1a\\xe8\\xba\\x15\\x96\\xb1\\xb9\\x9e\\xb4\\x0c\\xf6\\x1d\\xe0\\xfa\\x3c\\x80\\x36\\x03\\x70\\x29\\x81\\x87\\xf9\\x0f\\xa5\\x67\\x51\\x06\\xc7\\xfa\\x34\\x04\\x54\\xe0\\x88\\x31\\x6b\\x45\\x8c\\x59\\x70\\x3a\\x4a\\x39\\x79\\x98\\x88\\x0f\\x4e\\x59\\xc8\\x60\\x92\\x43\\x96\\xec\\xdc\\xc1\\x8d\\x4f\\xdf\\x5e\\x51\\xed\\x4d\\x4b\\xd4\\x9b\\xd2\\xdd\\xa6\\x54\\xb5\\x14\\x78\\x58\\xae\\x3b\\xf1\\x6b\\x45\\x61\\x66\\xb1\\x46\\x95\\x9d\\x91\\xe1\\x99\\x1e\\xd4\\x61\\x62\\xe0\\x61\\xee\\x20\\xa6\\x61\\xa3\\x69\\x70\\x36\\x95\\xcd\\x4e\\xd3\\x20\\x57\\xa4\\xe1\\x35\\x77\\x36\\x8c\\x3a\\x98\\x48\\x2a\\x2d\\xe1\\x52\\x36\\x3e\\xb9\\xba\\xe7\\xb0\\xa2\\x54\\x77\\xac\\x26\\x29\\xc9\\x94\\xe0\\x90\\x9e\\xfd\\xfd\\xe9\\xe3\\xff\\xee\\x5d\\x90\\x51\\x62\\x12\\xb2\\xd2\\xbc\\xcb\\x59\\x9b\\xc3\\xaf\\x5c\\x9a\\x78\\x90\\x6b\\x46\\x7e\\x75\\x1e\\xe4\\xd9\\xd2\\x23\\x2d\\xc0\\xbd\\xe0\\x87\\x76\\x6a\\x2d\\x85\\x16\\x1f\\xc1\\x32\\xd2\\x88\\x47\\xb9\\xb4\\xa6\\xa6\\x20\\x4e\\x9f\\x06\\x36\\x72\\xd3\\xe5\\x2a\\x36\\xff\\x8a\\xe3\\x51\\x62\\x28\\xa4\\xb5\\x73\\xfe\\x15\\x9e\\x3d\\xf0\\x69\\x53\\x93\\x5c\\xf5\\x6b\\x35\\x0b\\xcf\\xdd\\x17\\xd8\\xc8\\xd2\\x10\\xd1\\xc6\\xd4\\x70\\x32\\x7a\\x30\\x92\\xa8\\x10\\x9e\\x25\\x44\\xda\\x83\\xca\\x31\\x32\\x4b\\x18\\x28\\x9d\\x3d\\xdc\\x7d\\x7c\\x66\\x60\\x7a\\x13\\xd7\\xdc\\xd4\\x36\\x2b\\x88\\x67\\x60\\x23\\x9f\\xc8\\x60\\x24\\xd3\\x35\\x52\\x28\\x07\\x28\\x9c\\xc8\\x40\\x70\\x9d\\x20\\xc2\\xf8\\xa2\\xfa\\xd6\\xf0\\x99\\x4d\\x88\\x72\\xeb\\x45\\xe1\\x01\\x86\\x03\\xcd\\x27\\xe2\\x2c\\x92\\xa4\\x43\\x02\\xda\\x0f\\xa2\\xc4\\x62\\x1f\\xa0\\xb1\\x5b\\xd9\\xf0\\xe6\\x08\\x02\\xcc\\x9a\\xe0\\xee\\x6b\\xe2\\xb6\\xb4\\x7f\\x2a\\x57\\xb5\\xcd\\x6a\\x0a\\xd1\\x89\\x4f\\x64\\xf1\\x31\\x7d\\x64\\x72\\x22\\xf1\\xad\\xff\\x25\\x7d\\xaf\\x59\\xc3\\x6d\\xa1\\xe9\\x0b\\x0f\\xb4\\x5e\\x8c\\xd0\\x00\\xe3\\xcb\\x24\\xcb\\xa7\\x13\\xe8\\x0c\\x69\\x42\\x54\\xb2\\x72\\x05\\x12\\x9d\\x84\\xe8\\xc4\\x84\\x12\\x03\\x71\\x41\\x6a\\x30\\x64\\xa2\\xe9\\xc1\\xe0\\xa5\\xf9\\xb0\\x06\\x22\\x42\\x2a\\x49\\x41\\x94\\xe4\\x2e\\x28\\x85\\x70\\x8a\\x20\\xe5\\x61\\x68\\x05\\xf1\\xfa\\xb5\\x9a\\x52\\x26\\x04\\x8b\\x95\\x8f\\x8c\\xf6\\x8b\\x9e\\x57\\x0b\\xe8\\xd4\\x21\\x30\\x3a\\x11\\x3b\\x8a\\x17\\x42\\x3d\\x58\\x21\\xd4\\x28\\x4f\\x30\\x2a\\x8b\\x47\\x69\\x31\\x21\\x6b\\xb4\\xcd\\x42\\x70\\x21\\x7e\\x62\\x78\\x21\\x2c\\x99\\x51\\x4a\\xc5\\xb7\\xd2\\xec\\xfe\\x37\\x58\\x66\\x9a\\x53\\x46\\xb1\\x2d\\x0c\\x37\\x4a\\xf4\\x10\\x5e\\x08\\x4b\\x4b\\xbc\\x3e\\x8b\\xac\\xa7\\x53\\x9c\\xd0\\x05\\xd6\\x69\\x30\\x9f\\x2a\\xd4\\x7c\\x08\\x10\\x2d\\x5f\\x9a\\xd5\\xf0\\xfc\\xd6\\x50\\x6e\\xbb\\x82\\x75\\x87\\x72\\xcd\\x48\\x18\\x86\\xce\\xb0\\x65\\xeb\\x5a\\xc0\\x1c\\xf1\\x20\\x3f\\x83\\xc9\\xeb\\x7c\\x9f\\x86\\x97\\x65\\x35\\x7a\\xb4\\x2a\\x51\\x60\\xe5\\x22\\x06\\xc2\\x78\\xb7\\x85\\x6d\\xb8\\xce\\xe2\\xe1\\x43\\x82\\x19\\x69\\xd0\\xda\\x17\\xeb\\xc7\\xf9\\xa6\\x26\\x65\\x6b\\xb0\\x8e\\x70\\x70\\x1e\\xcb\\xe7\\x43\\x56\\x47\\x64\\x12\\x8f\\x92\\x45\\xc0\\x9a\\xa5\\x92\\x79\\xa4\\x2a\\x16\\x74\\x51\\x05\\x1b\\x10\\xd0\\x59\\x5d\\xe8\\x81\\xd1\\x61\\x5a\\xb0\\xda\\xa8\\x0f\\x62\\xd5\\x09\\xf1\\x0c\\xe2\\xa6\\x26\\x65\\x3e\\x03\\x4a\\x5a\\xad\\x4c\\xbd\\x7f\\x8d\\x5a\\x11\\x64\\x86\\x9d\\x10\\x08\\x57\\xa2\\xb6\\xce\\x0e\\x86\\x2e\\x93\\xcd\\x68\\x65\\xb2\\x47\\x55\\x28\\x46\\x03\\x7e\\x46\\xd3\\xb9\\xa6\\xf6\\x94\\x60\\x5d\\x3e\\x1f\\x2a\\x7b\\xf4\\xda\\x7d\\x06\\xd0\\x4a\\x6a\\xb5\\x06\\x2b\\x07\\xaa\\x10\\xb5\\x84\\xa0\\x0f\\xfa\\xd5\\xed\\x82\\x4a\\xa1\\x4d\\xae\\x9d\\x4b\\x78\\x84\\x61\\xdb\\x43\\x33\\xd4\\xcd\\xe2\\x41\\x25\\x01\\x41\\xb2\\xca\\x4a\\xa9\\x2b\\x7a\\x22\\x34\\x60\\xf8\\x53\\x3f\\xb6\\x27\\xe6\\x40\\xa5\\xd2\\xab\\x51\\x5f\\x60\\x1e\\x74\\x92\\x1a\\xa1\\x1f\\xf2\\x4b\\x01\\x6d\\xa7\\x24\\x08\\x65\\xc2\\x1b\\x45\\xe4\\x68\\x91\\x10\\x3a\\x9f\\xe7\\x2f\\xb4\\x1f\\x44\\x4a\\x71\\xf3\\x30\\x51\\xcc\\x4a\\xeb\\x11\\x61\\x36\\xcb\\x4d\\xa8\\x4e\\x30\\x7a\\x95\\xf8\\x30\\x25\\x9e\\xd7\\x50\\xcd\\xa4\\x52\\x24\\x9e\\x91\\x4b\\x6a\\xe3\\xd4\\xc1\\xda\\x11\\xb8\\x06\\xb9\\x82\\x05\\x5a\\x12\\x9c\\x77\\xaf\\xa1\\x84\\x42\\x01\\x02\\x73\\x30\\x5f\\xad\\x59\\xfc\\x17\\x91\\x3a\\xf7\\x21\\xa3\\x55\\xbe\\xcf\\x14\\xa2\\x14\\xd1\\x20\\x7d\\xa4\\xab\\xab\\x8a\\x37\\xcc\\xdf\\x9d\\x12\\xc9\\xc3\\xa4\\xd2\\x05\\x4a\\xa9\\xa0\\x5c\\x0a\\x32\\x21\\x17\\x84\\xdb\\x49\\x27\\x41\\xad\\xd6\\x69\\x55\\x2a\\x1d\\xe1\\xd1\\x7e\\x0b\\xd2\\x49\\x13\\xe0\\x64\\x85\\xf1\\xe4\\x0b\\x7e\\xf1\\x8f\\xe9\\x44\\x57\\x24\\x28\\x01\\x7a\\x72\\xf3\\x1f\\x36\\xb5\\x1f\\xe4\\xe6\\x35\\x29\\x09\\xdc\\x3c\\x7e\\x46\\x6b\\x96\\x58\\xc9\\xf2\\xd1\\xc4\\x64\\x11\\xe5\\x79\\xe4\\x4d\\x4a\\x27\\x1d\\x3a\\x2b\\x5a\\xe4\\x2d\\xcc\\x0d\\x2b\\x13\\x24\\x53\\x20\\x2c\\x94\\xda\\x22\\x42\\x29\\xa7\\x6b\\xc9\\xb3\\x6a\\x65\\x0f\\x4b\\x49\\xca\\x56\\x54\\x52\\xb6\\xa7\\x60\\xd6\\x18\\x4f\\x85\\x64\\x00\\x5d\\x7b\\x48\\x87\\x36\\x2a\\xc2\\x56\\x21\\x4f\\xa9\\x28\\xd8\\x66\\x3f\\xa7\\x6a\\x27\\x52\\x2b\\x6b\\xc5\\xbf\\x16\\x58\\x7a\\xcf\\xf7\\x6d\\x82\\xaf\\xda\\x53\\x9b\\xce\\x31\\x89\\x27\\x7a\\x98\\xcc\\x43\\x7e\\x0a\\xe1\\x1d\\xa2\\x93\\x46\\x10\\xf4\\x2a\\xad\\x56\\x87\\xa5\\xa0\\x53\\x69\\x19\\xca\\xaa\\x36\\x86\\xfb\\x41\\x2c\\x62\\x29\\x58\\xd1\\xae\\xc4\\x3e\\xca\\x5f\\x0c\\x9e\\xcf\\x37\\xf1\\xd5\\xed\\xa9\\x58\\xf3\\xe0\\xab\\xc0\\xbd\\x72\\x55\\xeb\\x91\\x26\\xf1\\x1c\\xe6\\x84\\x95\\x37\\xcc\\x61\\x32\\x36\\xc4\\x4f\\x1c\\xc7\\xf8\\x49\\x6e\\xfd\\xdf\\xf2\\x93\\x37\\xc8\\x4f\\x28\\x83\\x18\\x3f\\xf1\\x5f\\xb4\\x66\\x85\\x75\\x2f\\x93\\x11\\x8c\\x9f\\x88\\x2c\\x6b\\x90\\x65\\x41\\xa3\\x12\\x5a\\x31\\x29\\xe8\\x94\\xe3\\x57\\xf3\\x13\\x04\\xa1\\x52\\x4a\\x7d\\x88\\xb8\\x7f\\x15\\x64\\xa9\\x10\\x43\\x31\\x99\\xc6\\xe0\\x86\\xe8\\x44\\x69\\x44\\x79\\x49\\x0d\\x10\\xe1\\xa7\\x36\\x41\\x6a\\x0d\\xa7\\x11\\xf8\\xe3\\x7a\\x47\\x93\\x71\\x7b\\x83\\xfc\\xd4\\x9e\\xca\\x57\\x37\\x29\\x72\\x53\\xe0\\x5e\\xf8\\x0a\\xf3\\x21\\x56\\xb6\\x85\\xec\\x81\\x88\\x6e\\xd3\\x92\\x5e\\x3e\\x23\\xf2\\x93\\x5e\\xe2\\xe8\\x64\\x58\\x9d\\x56\\xf9\\x6f\\x2c\\xd5\\x49\\xac\\xab\\xd8\\x2a\\xa2\\xf2\\x42\\x6a\\x8f\\x71\\x16\\xad\\xe3\\x21\\x99\\xc2\\xf4\\x8b\\x16\\x4b\\xc5\\x26\\xe8\\x69\\x42\\xc8\\xbf\\xb2\\xac\\x93\\xb5\\x0a\\x51\\x5d\\xa9\\x94\\xbd\\x15\\x57\\x4e\\xef\\x0d\\x6b\\x55\\x2a\\x74\\x19\\xa3\\xa1\\x1c\\xa1\\x72\\x3b\\xa4\\x5d\\x99\\xec\\xe5\\x23\\xe9\\xf0\\x74\\x8a\\x14\\x19\\xe8\\x33\\x1b\\x24\\xc9\\xac\\x53\\xa9\\x8c\\x6a\\xb5\\x89\\x36\\xcd\\xea\\x8c\\x2c\\x43\\xba\\x36\\x26\\x8b\\x7d\\x6a\\x14\\xc6\\x1a\\xae\\x55\\x0d\\x4c\\x56\\x7a\\xaf\\x60\\xbb\\xce\\xb4\\x69\\xcf\\x66\\x50\\x25\\x05\\xad\\x8c\\x19\\x4d\\x4d\\xe7\\x98\\x24\\x63\\xec\\x17\\xd8\\xa8\\x3e\\x88\\x0c\\xd8\\x9e\\xa2\\x3e\\xc8\\x58\\x30\\x4a\\xcf\\x6b\\x49\\x0f\\x9f\\x49\\x4d\\x09\\xab\\x43\\x26\\x44\\x1d\\x18\\xcd\\x86\\xda\\xab\\xd8\\x30\\x8a\\x0f\\xbb\\x30\\xa2\\x27\\xc2\\x8a\\x61\\x5e\\xfc\\xb5\\x1a\\xa5\\x5b\\x48\\x06\\x85\\xe8\\xda\\xcd\\x67\\xa1\\x54\\x15\\x91\\xac\\x44\\xa7\\x95\\x14\\xd5\\x55\\x76\\x85\\x37\\xcc\\x8f\\x5d\\x74\\xad\\x87\\x26\\xea\\xd1\\x20\\x3f\\x32\\x4d\\x16\\xb1\\x32\\x44\\x0f\\xb5\\x04\\xf9\\x48\\x1a\\x41\\x9a\\x56\\xfa\\xcc\\xb2\\x9e\\xee\\x58\\xa8\\x51\\x6b\\xb5\\x26\\xb4\\x23\\x4d\\x46\\x1d\\x63\\x4e\\x63\\x80\\xd7\\x2a\\x61\\xf5\\xd3\\x46\\x04\\x26\\x2b\\xae\\xe4\\xd0\\xe8\\xe2\\xa4\\x45\\x49\\xdd\\xb5\\xa0\\xe0\\xeb\\xcb\\xd4\\x30\\xe5\\xd2\\x26\\x26\\xfd\\x82\\x0a\\x15\\x99\\x35\\x24\\xff\\xb8\\xa0\\x5d\\x81\\xf2\\x96\\xe6\\xb5\\x8f\\xcf\\xa0\\xe5\\x79\\x3d\\xda\\x3c\\x3a\\x15\\xd2\\x55\\xad\\x0a\\x96\\xa6\\xba\\x2d\\xda\\x00\\x0a\\x84\\x6b\\xe1\\x55\\x55\\x24\\x6c\\x07\\x85\\xec\\x00\\xe4\\xd6\\xc0\\x74\\xf1\\x28\\x92\\x16\\x0b\\x91\\xff\\x82\\x52\\x21\\xca\\xbe\\xd2\\x92\\x62\\x9f\\x95\\x67\\x32\\x8b\\xda\\x58\\x3a\\x49\\xa3\\xa8\\xae\\xb2\\xb2\\xba\\xd6\\xf5\\xe8\\x34\\x3c\\x41\\x7b\\x2b\\xa8\\x6b\\x43\\x16\\x57\\xc8\\x8e\\xe1\\x23\\x79\\x12\\xd9\\x2a\\x07\\x83\\x7c\\x16\\xbd\\x4a\\x65\\x46\\x6d\\x6b\\x32\\x20\\x61\\xd1\\x0a\\x33\\x19\\x0d\\x4c\\xfa\\x1a\\xdb\\xd4\\x68\\xb0\\xb3\\x5b\\x49\\x08\\x68\\x43\\xfc\\x1a\\x9e\\xcd\\xd8\\x75\\x59\\xcd\\x10\\xc7\\x22\\x51\\xbd\\xc1\\x1a\\x63\\x77\\x97\\x20\\xc7\\x52\\xa2\\x06\\x99\\x96\\x9b\\xd7\\xda\\x17\\xcb\\xf4\\x0b\\x9a\\x5b\\xf1\\x1c\\xe6\\x35\\x64\\x4f\\x85\\xf8\\x08\\x69\\x2b\\x6b\\xb5\\x7a\\x82\\xba\\x0c\\x31\\xe8\\xa4\\x6d\\x20\\xda\\x20\\x6c\\xfb\\x6f\\xb4\\x65\\xb5\\x84\\xd1\\x96\\x19\\x70\\x21\\x33\\x8b\\xff\\x02\\x6b\\x07\\x33\\xb5\\x3a\\xed\\x4d\\x46\\x5b\\x2d\\xb3\\x2f\\xa8\\xcd\\xa9\\x93\\xf9\\x56\\xf5\\x55\\x56\\xe7\\x35\\x69\\x1b\\x7a\\xc0\\x34\\x98\\x20\\x85\\xaf\\x22\\xa2\\x94\\x99\\xfe\\x94\\xb6\\x51\\x7a\\x87\\xd1\\x56\\x30\\x1a\\xcd\\x6a\\x9d\\xce\\xa4\\xa2\\x8c\\x2b\\x8a\\x26\\xbd\\x8e\\x11\\x54\\x1f\\x10\\xd5\\x4c\\xc0\\xa2\\x92\\xd3\\xb4\\x75\\x2a\\xb9\\x3f\\xa4\\x6d\\x44\\x0f\\x95\\xb8\\x69\\x26\\x99\\x34\\x0a\\xdc\\x1b\\xe2\\x5e\\x25\\x41\\x3c\\xca\\x44\\x9f\\x30\\x1b\\x99\\x17\\x05\\x6f\\x13\\x89\\xb2\\x89\\xad\\xa4\\xd6\\xe7\\xd2\\x1a\\x8d\\x76\\xbd\\xda\\x64\\x92\\x38\\xab\\xd5\\x86\\x62\\xc1\\x66\\x41\\xb1\\xa0\\x13\\x98\\xa1\\x70\\xc8\\xaf\\x16\\xdb\\x4c\\x41\\xee\\x7a\\xd1\\xaf\\xa7\\x3c\\xec\\x8d\\x0c\\x4a\\x0b\\x5b\\xcb\\x61\\x11\\x11\\x5d\\x91\\x43\\x92\\x22\\x22\\x8a\\x23\\x12\\x23\\x22\\x90\\x43\\x92\\x23\\x24\\x95\\xa9\\x71\\x14\\x8d\\xd7\\x20\\x9f\\x4b\\xb0\\x5b\\xd4\\x6a\\xa3\\x4e\\x67\\x43\\xe2\\x58\\x51\\x1f\\xd8\\x88\\x09\\x4b\\x43\\x6f\\xd0\\x33\\xbc\\x2c\\x9c\\xa1\\x9d\\xca\\x6a\\x4a\\x1c\\x6f\\xd7\\x62\\x89\\xae\\xdc\\x9d\\x92\\x3a\\xb8\\xd4\\x52\\x49\\xa7\\x69\\xc0\\xaa\\x80\\x92\\x40\\xcb\\x2b\\x24\\xb5\\x83\\x05\\xc6\\xca\\x2d\\x38\\xe6\\x20\\x8c\\x0f\\x2d\\x33\\x33\\x71\\x90\\x46\\x5f\\xac\\x60\\x30\\xb8\\xe8\\xf6\\x39\\x3a\\x9d\\xd3\\xae\\x56\\x3b\\x6d\\x5a\\xad\\x43\\xa5\\x72\\x8a\\xf6\\x18\\x3b\\xe5\\x4b\\xad\\x9f\\x8b\\x69\\x23\\x96\\x56\\x63\\xb8\\x08\\x75\\x9a\\x80\\x59\\x8e\\xae\\x1e\\xa1\\x9b\\xae\\x4b\\xc3\\x76\\x95\\x44\\x88\\x2e\\x1f\\x5d\\x61\\xbc\\x21\\x89\\x44\\x8b\\xf5\\x5c\\x54\\xc5\\x09\\x15\\x31\\x2b\\xde\\xd6\\x23\\xc1\\x0a\\xc4\\x64\\x14\\x6b\\x93\\x20\\xdc\\xcd\\xe2\\x1e\\x26\\x27\\x2d\\xcd\\x74\\x39\\x14\\xae\\x15\\x48\\x41\\xc4\\xbd\\x76\\x9b\\xdd\\xe2\\x9e\\xd6\\x51\\xe2\\x1e\\xee\\x66\\xe1\\xf3\\x60\\x78\\xcc\\x2b\\x3e\\x75\\x86\\xa7\\xb5\\xba\\xe0\\xaa\\xf0\\x81\\x8d\\xc2\\x67\\x9d\\xe1\\x43\\xfe\\x7b\\x08\\xbe\\x12\\xe5\\xbf\\x47\\x45\\x50\\x1f\\x0c\\x85\\xe7\\x3e\\xb9\\x66\\x78\\xb6\\x1e\\x02\\x86\\xe7\\x3e\\x09\\x64\\xe3\\x11\\x0c\\xcf\\x7d\\x1c\\x05\\x1f\\x04\\x22\\x5e\\x1d\\x1e\\x61\\x47\\xc2\\x67\\x93\\xa9\\x81\\x7f\\x8b\\x7b\\xa4\\x27\\x23\\x6b\\xb4\\x58\\xd9\\xe8\\xdb\\xf0\\xcc\\xab\\x02\\xe2\\x25\\x65\\xa4\\x27\\xa9\\x20\\xfd\\xc8\\x40\\x52\\x4d\\x6a\\xe8\\xaa\\x56\\x64\\x1c\\x69\\x20\\x37\\x90\\xa9\\x64\\x26\\x99\\x4d\\xe6\\x92\\x85\\x64\\x29\\x59\\x4e\\x56\\x91\\xbb\\xc9\\x3a\\xb2\\x9e\\x6c\\x24\\x5b\\xc8\\x23\\xe4\\x31\\xf2\\x24\\x79\\x8a\\xeb\\xee\\xbb\\xf9\\xf1\\xed\\x0f\\x6d\\x6e\\xda\\xb5\\x6b\\xe7\\xcd\\xa3\\x06\\xe4\\xe9\\x17\\x2f\\xbe\\xa9\\xb6\\x7f\\xae\\x6e\\xd1\\x8d\\x43\\x4b\\x12\\xc4\\xb5\\x6b\\x27\\x0f\\x29\\x8e\\x17\\xd6\\xcc\\xf1\\xf7\\xcd\\x32\\x2f\\x5b\\x76\\xcb\\x18\\x5f\\xa6\\xe9\\xb6\\x49\\x23\\xca\\x5d\\xea\\xfb\\xee\\x9b\\x38\\xbc\\xbb\\x53\\x75\\xef\\xfc\\xfa\\xde\\x69\\xf6\\x95\\x2b\\xe7\\x8d\\xef\\x95\\x6a\\x5b\\xb1\\xe2\\xde\\xdb\\xd6\\x2c\\x12\\x57\\xef\\xd8\\xb6\\x75\\xd3\\x86\\x9d\\x3b\\xa7\\x0f\\xea\\xe6\\x86\\x3b\\xef\\x9c\\x56\\x55\\x98\\x4c\\x56\\xaf\\x7e\\xe6\\xe9\\xa7\\xd6\\xaf\\xbb\\x7b\\xf5\\xdd\\x2d\\xc0\\x37\\xfb\\x9f\\x9c\\x7a\\xc3\\xcc\\x69\\x33\\xf1\\xd6\\xa7\\xf1\\xef\\x98\\x3c\\x71\\x5a\\xc3\\xb8\\xd1\\xb5\\xa3\\x83\\x8f\\xe3\\xc7\\xd4\\x3e\\x76\\x7d\\x4d\\x75\\x55\\x75\\xf0\\x71\\xdb\\xf0\\x21\\x55\\xfd\\x2a\\x06\\xf6\\x1f\\x18\\x7c\\xf4\\xf5\\xea\\xff\\x48\\xcf\\x32\\x6f\\xa1\\x37\\xf8\\xb8\\xb5\\x7b\\x71\\x61\\x4e\\x46\\x41\\x6e\\x41\\xf0\\x31\\x33\\x35\\x77\\x4b\\x52\\x9c\\x27\\xd9\\x13\\x7c\\xdc\\x14\\xef\\x4c\\x76\\x58\\x8d\\xd4\\x12\\xa1\\x8f\\x36\\x93\\x6e\\x23\\x7a\\x88\\xd4\\x9b\\xa2\\x8f\\x1b\\x50\\xb5\\xac\\x5a\\xbe\\x74\\xd1\\x52\\xfa\\x58\\xe1\\x5f\\x71\\xdb\\xa2\\x98\\x5a\\x88\\xab\\x02\\x57\\x7f\\x88\\x2b\\x84\\xb8\\x5c\\xb0\\x25\\xc3\\xb4\\xda\\xaa\\xfe\\x85\\xb9\\xc9\\x3a\\xb2\\x68\\x11\\xd1\\x25\\xe7\\x16\\xf6\\xaf\\xaa\\x9d\\xa6\\xb9\\x69\\xe7\\xbd\\x6b\\xe2\\x56\\xf7\\x5c\\xcd\\x19\\x57\\x83\\x9a\\x5b\\xbd\\x70\\xee\\xec\\x9b\\x66\\x23\\x8c\\x17\\xfd\\xf3\\x6e\\xb9\\x89\\x84\\x67\\xb8\\xb0\\x26\\x55\\xba\\x4c\\x7a\\x70\\x40\\x73\\xe8\\x17\\x19\\xfd\\x1e\\x9c\\x05\\xd3\\x39\\xd2\\xeb\\xff\\xd2\\x9b\\xce\\x71\\x63\\x51\\xd3\\x86\\x82\\xa3\\x05\\x83\\xa8\\x74\\x79\\xfd\\xff\\xdf\\x43\\xf0\\x4a\\xe7\\xea\\xd8\\x3d\\x69\\xa1\\x43\\x8c\\xba\\x97\\xff\\x07\\xef\\x1d\\xff\\x07\\xe1\\xe1\\xbf\\xdc\\x9b\\xaf\\x71\\x4c\\x9d\\x36\\x0d\\x1e\\xc5\\x63\\xc7\\xd4\\xa9\\x81\\x26\\xbc\\x3e\\x16\\x3c\\xce\\x4c\\x9d\\xaa\\x4c\\x9c\\x36\\x4d\\x69\\x9c\\x36\\x4d\\xd0\\xe3\\x75\\x52\\xf0\\x38\\xd3\\x19\\xfa\\xcc\\x35\\xdf\\xfe\\x01\\x8c\\x33\\x9d\\x6f\\xdb\\x5f\\xef\\xbc\\x6f\\xfb\\x67\\x67\\x4c\\x7a\\xed\\xfc\\x89\\x29\\x8d\\xf4\\x37\\x69\\x62\\xe7\\xef\\x86\\xab\\xef\\x27\\xd1\\x5f\\xe3\\x04\\xfa\\x6b\\x64\\xf7\\xc1\\xd7\\xf2\\x8f\\x2c\\x32\\x78\\xd8\\x93\\x72\\xa9\\x51\\xb9\\x34\\x51\\xb9\\x88\\xff\\x93\\x94\\x2f\\x26\\xc9\\x3f\\x4d\\xa4\\xab\\x3a\\xfd\\xbf\\x27\\x33\\xc8\\x1e\\xf2\\x3c\\x79\\x91\\x1c\\x22\\x2f\\x91\\xa3\\xe4\\x38\\x79\\x83\\xbc\\x43\\xce\\x90\\xb3\\xe4\\x1c\\xf9\\x9c\\x5c\\x22\\x5f\\x91\\xef\\xc8\\x0f\\xe4\\x32\\xf9\\x27\\xf9\\x8d\\xb4\\x91\\x0e\\xe0\\x41\\x06\\x2d\\x18\\xc1\\x0a\\x0e\\x88\\x83\\x24\\xf0\\x40\\x06\\xe4\\x40\\x01\\x78\\xa1\\x0c\\x7a\\x42\\x05\\xf4\\x83\\x81\\x50\\x0d\\x35\\x7c\\xed\\x8b\\x5c\\x51\\xe3\\xee\\x16\\xd0\\x34\\x8b\\x9f\\x7c\\xc2\\x7b\\x6f\\x78\\xaa\\x05\\xb4\\x3e\\xbb\\x78\\x2e\\x71\\xd8\\xfd\\xfb\\x7e\\x15\\xbf\\xf8\\x22\\xa9\\x66\\xfd\\xf3\\xbf\\x89\\x97\\xa4\\xd2\\x29\\x4f\\xb4\\x80\\xa1\\x59\\xfc\\xf0\\x43\\xb9\\x6c\\xea\\x93\\x2d\\x60\\xc4\\x40\\x67\\x53\\x46\\xde\\xfe\\x42\\xab\\xf8\\x97\\xbf\\x78\\xae\\x5f\\xfe\\x62\\x9b\\xf8\\x95\\xa6\\xc7\\x8c\\x47\\x5b\\xc0\\xd2\\x2c\\xbe\\xf7\\x9e\\xb6\\xe7\\xcc\\xc7\\x5a\\xc0\\x8a\\x81\\xce\\xa4\\xd7\\xdd\\xd1\\xac\\x88\\xdf\\x7e\\x9b\\x31\\x7a\\xd5\\xa1\\x0e\\xf1\\x3b\\x43\\x9f\\x59\\x0f\\xb7\\x40\\x4c\\xb3\\xf8\\xf6\\xdb\\xc6\\x8a\\xd9\\x8f\\xb4\\x80\\xe3\\xa0\\xf8\\x4e\\xf6\\xd8\\xbb\\x8e\\x50\\xe5\\x26\\xfe\\xed\\x6f\\x39\\xe3\\xee\\x7e\\x09\\xab\\xf5\\x41\\xf1\\x07\\xcb\\x75\\xb7\\x3e\\xd8\\x02\\xb1\\xcd\\xe2\\xa9\\x53\\xd6\\x7e\\x73\\xb7\\xd0\\x25\\xfa\\xc4\\x37\\xf2\\x27\\xdc\\xf3\\x6a\\x0b\\x48\\xcd\\xe2\\x4f\\x3f\\x15\\x34\\xac\\x3b\\xda\\x02\\xf2\\x41\\xf1\\x72\\x4c\\xe5\\x82\\x07\\x5a\\x20\\xb1\\x59\\x7c\\xfd\\x75\\xc7\\xc0\\x85\\x1b\\xfb\\x5a\\x21\\x09\\x15\\xec\\x71\\x48\\x87\\x7c\\x28\\x85\\x3e\\x30\\x18\\xb5\\x43\\x25\\xfe\\x65\\x20\\x01\\xca\\x30\\xf3\\xd5\\xf8\\x3c\\x10\\x06\\xfa\\xf4\\xc7\\x2f\\xbf\\xf1\\xc3\\x3b\\xdf\\x9d\\xf9\\xea\\xec\\xa5\\x73\\xba\\xcf\\x5b\\xe0\\x3a\\x9f\\x29\\x76\\xf0\\x92\\x67\\x7f\\x11\\x3f\\xfb\\x2c\\xae\\x7a\\xe9\\x9e\\x7f\\x8a\\x9f\\x7f\\xde\\xd7\\x02\\xc3\\x91\\x78\\x39\\x48\\xb8\\x9e\\x50\\x83\\xf1\\xfa\\xe1\\x5f\\x0a\\x64\\x43\\x11\\xf4\\x80\\x61\\xf8\\x7c\\x1d\\xfe\\x8d\\x38\\x70\\xfc\\x8d\\x77\\xce\\x9c\\x6d\\x81\\x7e\\x87\\xa4\\x73\\xe7\\x8e\\x9d\\x78\\xf3\\xdd\\xf7\\x5b\\xc0\\xd7\\x2c\\x7d\\xf4\\xfc\\x8b\\x87\\x5e\\x42\\x1c\\x2b\\x0e\\x49\\x7b\\xf6\\x3c\\xb7\\xff\\x40\\xcb\\xcb\\x2d\\xd0\\xab\\x59\\x7a\\x7a\\xe3\\x96\\x47\\x1e\\x43\\x1a\\xf6\\x3c\\x24\\x3d\\xf5\\xd4\\x86\\x4d\\x5b\\xb7\\xed\\x68\\x81\\xee\\xcd\\xd2\\xce\\xe5\\xab\\xee\\x5e\\xb7\\xbe\\x05\\xca\\x0e\\x49\\x4b\\x97\\xde\\xb6\\x62\\xf5\\x9a\\x7b\\x5b\\xa0\\xb8\\x59\\x5a\\x34\\x75\\xe6\\xec\\xb9\\x0b\\x5b\\xc0\\x7b\\x48\\xba\\xe1\\x86\\xc9\\xd3\\x6e\\xba\\x65\\x5e\\x0b\\x14\\x36\\x4b\\x13\\x6b\\xae\\x1f\\x3d\\xae\\xa1\\x05\\x0a\\x0e\\x49\\xd5\\xd5\\x43\\x86\\xd7\\x8e\\x19\\xdf\\x02\\xb9\\xcd\\x52\\x55\\x59\\xcf\\x8a\\x7e\\x28\\xb5\\x73\\x0e\\x49\\x5e\\x6f\\x71\\xf7\\x5e\\xbe\\xfe\\x2d\\x90\\xd9\\x2c\\x15\\x26\\x79\\x32\\x72\\x50\\x5c\\x67\\x1c\\x92\\xe2\\xe2\\xe2\\x93\\x53\\x33\\x73\\x5b\\x20\\xb5\\x59\\x72\\xca\\x5a\\xa3\\xd5\\xd1\\x02\\x9e\\x43\\xe8\\xe2\\x0b\\x2a\\x9d\\xc9\\xd6\\x02\\xc9\\x07\\x24\\xf2\\x5b\\x5b\\xc7\\x11\\xc6\\x42\\xd5\\x07\\xa5\\x7f\\xfe\\xf3\\x5f\\xbf\\xb7\\x1f\\x01\\x02\\x02\\x54\\xf9\\x1c\\xd2\\xcf\\x1f\\x3d\\xbd\\x73\\xd1\\xc4\\xaa\\x42\\x27\\xf9\\xf9\\x67\\xe2\\x2c\\xac\\x9a\\xb8\\x68\\xe7\\xd3\\x1f\\x69\\x5a\\x40\\x75\\xe0\\xc2\\x97\\x5f\\xff\\xf5\\xef\\x2d\\xd0\\xff\\x90\\xf4\\xe9\\xa7\\x97\\xbe\\xfa\\xee\\x87\\xcb\\x7d\\x6d\\x30\\x90\\x48\\xe4\\xf3\\x28\\x36\\xac\\x21\\x12\\xb2\\xa5\\x16\\x74\\x60\\x02\\x1b\\x38\\x21\\x1e\\x86\\xe0\\x1b\\x15\\x29\\x70\\xa0\\x8c\\x73\\x78\\x43\\x97\\x2e\\xc2\\xdb\\x1c\\x7c\\xf7\\x7f\\x7a\\x81\\xc8\\x5d\\xe4\\x86\\x0a\\xe6\\xff\\x3b\\xc0\\xbb\\x5c\\x82\\x32\\xba\\xec\\x1a\\x87\\xf8\\xff\\xc1\\xfb\\xb4\\x2b\\xde\\x85\\xe5\\x7b\\xc6\\x35\\x0e\\xf9\\x0f\\xe0\\x38\\xfe\\x97\\xe1\\xe1\\x7f\\xf9\\xde\\x1a\\x82\\xe5\\xf8\\x7f\\xb8\\x9a\\x43\\x61\\xa7\\x32\\x41\\x8f\\xff\\xef\\xb3\\x7f\\xbc\\x69\\xbb\\x17\\x15\\x45\\xf0\\x3f\\xf8\\x76\\xea\\xd4\\xf6\\xb1\\xff\\x07\\xa1\\xe0\\xd1\\xe8\\x30\\xaf\\x4f\\x9d\\xca\\xef\\xea\\x1a\\x08\\xff\\xa7\\x5e\\x05\\x6c\\xea\\xff\\x20\\x4c\\xdb\\x3f\\xff\\x27\\x38\\x04\\xa3\\x4e\\xfd\\xa3\\x33\\xbd\\x86\\x34\\x57\\xe3\\x55\\xfa\\x6b\\xe2\\x1f\\xe8\\xb2\\x3f\\x7c\\x3f\\xa9\\xf3\\x17\\xd4\\x71\\x13\\xa2\\x34\\xdd\\xa4\\x28\\x7d\\xd7\\x45\\xeb\\x35\\x46\\xeb\\xbe\\x89\\x61\\x0d\\x38\\x29\\x04\\x1c\\x0f\\x04\\x46\\x1f\\x31\\x38\\x06\\x22\\x74\\x57\\x32\\xb4\\xb7\\x3f\\x46\\x5d\\x38\\x88\\x0c\\x25\\x23\\xc8\\x28\\xe2\\x27\\xf5\\x64\\x12\\xb9\\x91\\x4c\\x27\\x37\\x93\\x39\\x64\\x3e\\x59\\x4c\\x96\\x91\\x95\\xe4\\x4e\\xb2\\x96\\xdc\\x47\\x9a\\xc8\\x66\\xf2\\x10\\xd9\\x4e\\x1e\\x27\\xbb\\xc8\\x33\\x64\\x2f\\xf9\\x13\\x39\\x48\\x0e\\x93\\x57\\xc8\\x6b\\xe4\\x24\\x79\\x8b\\x9c\\x26\\x1f\\x90\\x8f\\xc9\\x79\\x72\\x91\\xfc\\x99\\x7c\\x43\\xbe\\x27\\x3f\\x92\\x7f\\x90\\x7f\\x93\\xff\\x90\\x00\\x00\\x88\\xa0\\x06\\x3d\\x98\\xc1\\x0e\\x2e\\x48\\x00\\x37\\xa4\\x41\\x16\\xe4\\x41\\x37\\x28\\x81\\x72\\xe8\\x0d\\x7d\\x61\\x00\\x0c\\x82\\xa1\\x30\\x82\\xef\\xef\\xbb\\x89\\x54\\x4e\\xbb\\xed\\x99\\xbf\\xc6\\x8a\\x6f\\xbd\\xc5\\xe4\\x9e\\xc8\\xd7\\xcc\\xde\\xfc\\xfc\\xbf\\xc4\\x33\\x67\\x86\\xdc\\x74\\xef\\x73\\xff\\x11\\xdf\\x9d\\xbc\\x7c\\xd7\\xd7\\x89\\xe2\\xc9\\x93\\xd3\\x97\\xed\\xfe\\x3e\\x4e\\x3c\\x75\\xfd\\xdc\\xf5\\x2f\\xfe\\x2c\\x9e\\x3d\\x3b\\xfc\\x96\\x07\\xf6\\xff\\x5b\\x7c\\x7f\\xe2\\xaa\\xc7\\xbf\\x4c\\x11\\x5f\\x7b\\xed\\xc6\\x15\\x4f\\x7c\\x93\\x24\\xbe\\x3e\\x7a\\xe1\\x96\\x43\\x7f\\x17\\xcf\\x9d\\xab\\x9d\\xb7\\xe1\\xc0\\x3f\\xc4\\x8f\\xc6\\xdf\\xbd\\xfd\\x42\\xba\\xf8\\xca\\x2b\\x93\\x56\\x3f\\xfa\\x67\\x8f\\xf8\\x6a\\xdb\\xab\\x28\\xe5\\xe2\\x50\\x6f\\x0c\\x47\\x1d\\xd1\\x13\\x7a\\x36\\x8f\\x59\\xb4\\xb5\\xe5\\x47\\xf1\\xd3\\xa3\\xa0\\x42\\xc1\\x97\\x05\\x55\\xe8\\x5f\\x88\\x88\\x61\\xf9\\xa1\\xfa\\x35\\x0f\\x5f\\xcc\\x10\\x8f\\x74\\xf4\\x4d\\x40\\x39\\xe9\\x46\\x0d\\x35\\x04\\x3f\\x54\\x40\\x05\\x69\\x47\\x29\\x19\\x0f\\xb9\\x30\\x02\\x9f\\x7b\\xa1\\xf4\\x75\\x60\\xd6\\xfa\\x93\\x7c\\x7c\\x2a\\xc1\\x3f\\xda\\x2d\\x9e\\x0e\\x83\\xd0\\xa8\\x10\\xa1\\xf4\\x10\\x93\\xf4\\x62\\x55\\x55\\x5f\\x0d\\x0a\\x6a\\x13\\x24\\x42\\x21\\x0c\\xc5\\x0f\\x3e\\xfc\\x2b\\x85\\x5e\\xbe\\xf8\\x23\\x9f\\xbe\\xfa\\xd1\\xeb\\xef\\x9f\\x7a\\x97\\xd7\\x41\\x65\\xf5\\xcc\\x75\\x7b\\x7e\\x17\\xdf\\x79\\x47\\x54\\xeb\\xcd\\x76\\x11\\xa0\\xaf\\x1a\\x46\\x22\\x15\\x9d\\xa8\\xd6\\x06\\xa0\\x85\\x22\\xa2\\x6a\\x2b\\x3a\\x54\\x54\\xda\\xa3\\xcf\\x75\\x62\\x65\\x65\\x0b\\x5c\\xff\\xc2\\x7b\\x1f\\x7e\\x72\\x18\\xb5\\x5d\\x9f\\x43\\x03\\xa5\\xb7\\xdf\\x7e\\xe5\\xb5\\x93\\x6f\\x1d\\xa6\\xc4\\x3d\\x28\\x71\\x2f\\xa3\\xaa\\x3b\\x0c\\xc5\\xd0\\xfd\\xa0\\x24\\x8a\\xa8\\xeb\\x0e\\x53\\x13\\xe3\\x60\\x7f\\x69\\xcf\\xbe\\x17\\x9a\\x0f\\xa3\\x8e\\xcc\\x3f\\xd4\\x4f\\x7a\\xf6\\xd9\\xed\\x8f\\xef\\x7a\\xe6\\x30\\x2d\\x96\\x83\\x92\\xb4\\x6d\\xc7\\xce\\xa7\\x0f\\x43\\x2a\\x64\\x1e\\x94\\xd4\\xea\\xf5\\x9b\\xb7\\x1c\\x46\\x1a\\xb9\\x0f\\xfa\\xa4\\x75\\xf7\\x6f\\x7a\\xf0\\x30\\xc4\\x42\\xf2\\xa1\\x0a\\xe9\\x9e\\x7b\\x6e\\x43\\x4d\\x78\\x18\\xc9\\xe4\\x38\\x28\\x69\\x96\\xde\\x7e\\xc7\\x5d\\x87\\x51\\x7f\\xc4\\x1c\\x94\\xf4\\x7a\\x54\\x84\\x87\\xa9\\x59\\x73\\xb0\\x97\\x34\\x73\\xd6\\xad\\x0b\\x0e\\x83\\x06\\x0c\\x87\\x7a\\x4a\\x33\\x66\\x8c\\x9f\\x38\\x79\\xda\\x61\\xa4\\x91\\xea\\xa0\\x64\\x18\\xd7\\x70\\xc3\\xd4\\xc3\\x54\\x7b\\xf9\\x9c\\x92\\xd9\\x8c\\x6a\\xb2\\xad\\xa3\\xbb\\x54\\x3d\\x6c\\x64\\x5d\\xab\\x52\\x26\\x0d\\x1e\\x4c\\xd5\\xd4\\x61\\xe8\\x0f\\x55\\x07\\x25\\xcb\\xe7\\xa8\\xa7\\x0e\\x53\\x5b\\xe8\\xa0\\x64\\xb7\\xff\\xfd\\xe7\\x7f\\x1d\\x86\\x21\\x30\\xdc\\x97\\x5e\\x2c\\xfd\\x1e\\x9b\\x98\\x92\\x9e\\x9d\\x2f\\xc5\\x70\\x7b\\xa4\\x75\\x9a\\x99\\x86\\x6a\\xcb\\xef\\x31\\x31\\xbf\\x5b\\xaa\\x0d\\x33\\x35\\xeb\\xa4\\x3d\\x9c\\xd6\\x79\\xe6\\xec\\xb9\\xc3\\xd4\\x90\\x3a\\x54\\x25\\xbd\\xf3\\x0e\\xfc\\x70\\xf9\\x9f\\x87\\xa9\\x39\\xe5\\xd3\\x79\\xa5\\xdf\\x7e\\x63\\xfa\\xb5\\x50\\x72\\x46\\xb4\\xda\\x55\\x3a\\xad\\xe0\\xff\\x9e\\xce\\xf9\\xff\\x4e\\xaf\\x85\\x9c\\x70\\x6f\\x89\\xe7\\x1a\\x87\\xd7\\xfe\\x47\\x87\\xc7\\xee\\x35\\x5f\\xe3\\x80\\x2b\\x02\\x3a\\xf0\\x5d\\x46\\xd4\\x21\\x5f\\xf1\\x5d\\xc4\\x77\\x65\\xd1\\xcf\\x78\\xb8\\xf1\\x90\\x4b\\x3c\\xf6\\x34\\xbc\\x5a\\xf1\\xea\\x89\\x3a\\xae\\x8c\\xff\\xff\\xf8\\xfd\\x8a\\xf4\\xe1\\xca\\xe7\\x2b\\xf0\\x0c\\xc7\\x97\\x43\\x78\\x51\\x7c\\x1c\\x08\\xd7\\x71\\x05\\x7c\\xeb\\x95\\xcf\\xa1\\xf8\\xe1\\xab\\xf8\\x71\\x6b\\xce\\x8c\\xce\\xdf\\x4c\\xfa\\x47\\x7f\\xe1\\x6b\\xf8\\xd7\\xba\\xb9\\xf3\\xd5\\x27\\xf8\\x3f\\x63\\xc6\\xc7\\xf8\\x1f\\x7a\\x17\\xf8\\xdb\\x8c\\xd0\\xc7\\xf6\\x67\\x67\\x42\\xc5\\xcc\\x8f\\x67\\xc2\\x9e\\x99\\x9d\\x60\\xa2\\x60\\x75\\x7d\\x8e\\x00\\xe2\\x62\\xd8\\xc3\\xc7\\xec\\x9f\\xfb\\x81\\x86\\x88\\x24\\x30\\x93\\xc2\\x56\\xea\\xf0\\xcb\\xc7\\xe1\\xd8\\x91\\x2b\\x0d\\x33\\x93\\x45\\x0a\\x6c\\x84\\x94\\x49\\xf4\\xdf\\x33\\x11\\xdc\\x8d\\xec\\xbf\\x8b\\x06\\x7a\\x2d\\xe2\\x2c\\xe1\\xff\\x04\\x3c\\x4b\\x33\\xc2\\x9f\\x8e\\x5d\\xa9\\xd4\\x8e\\x85\\x6f\\x8e\\x47\\xeb\\x9a\\xab\\x74\\x56\\xe7\\xab\\x48\\x28\\xe9\\x74\\x58\\x4f\\x85\\xb5\\x25\\xa6\\x1a\\x4a\\x62\\x52\\x04\\x74\\x10\\xec\\x6b\\x11\\x60\\x41\\x40\\x9d\\x00\\x58\\xe4\\xe0\\x98\\xdd\\xa5\\x64\\xbe\\x30\\x56\\xa8\\x0d\\xee\\x4b\\x45\\x44\\x81\\xa7\\xc3\\x68\\xc2\\xc3\\x75\\xdd\\x66\\xf7\\x52\\xfe\\x52\\xbb\\x5b\\xa8\\x6d\\x77\\x13\\x8e\\xd0\\x15\\x56\\xcf\\x08\\x6f\\x31\\xdf\\x2f\\xd1\\xa7\\x13\\x88\\x8c\\xc2\\x58\\xa5\\x16\\x88\\xc8\\x93\\x82\\xd3\\x17\\x4f\\x47\\x8d\\xd5\\xa3\\x51\\xad\\x66\\xb7\\x59\\x12\\xde\\x6a\\x2b\\x1b\\x22\\x74\\xa3\\x17\\x61\\x59\\xdb\\x19\\xa1\\x1b\\xa6\\x79\\x33\\x2c\\xe7\\xa6\\xf3\\x4b\\x43\\x69\\x0a\\x22\\x70\\x51\\x63\\xf8\\x69\\xab\\xd6\\x74\\x45\\x80\\x76\\x58\\x0e\\xed\\xc1\\x71\\x48\\x9d\\xe1\\x59\\xba\\x32\\xd0\\xc6\\x7b\\x95\\x5a\\x06\\x09\\x23\\x7a\\xbb\\xee\\x28\\x1d\\x5a\\x25\\x37\\x08\\x62\\x88\\xb2\\x8d\\x42\\x51\\x86\\x43\\xa3\\xf2\\x68\\x30\\xbf\\xf8\\x53\\x11\\x6e\\xda\\x35\\xf3\\x4b\\xc7\\x58\\xab\\xc8\\xef\\xf8\\x39\\xb0\\x95\\xf6\\xa7\\x62\\x14\\x69\\x88\\xb0\\x0f\\x31\\xb0\\x1e\\xe2\\x80\\xd0\\xa5\\x80\\x43\\xa1\\xe9\\x80\\x35\\xb7\\x1a\\x43\\x70\\x63\\xb8\\x3a\\x61\\x5f\\xdb\\x48\\xd6\\xa7\\xdf\\xd4\\xf1\\x8d\\x34\\x56\\x78\\x0e\\xc3\\xb3\\x7c\\xf1\\xc1\\x3d\\xbe\\x82\\xb0\\xd5\\x1c\\x34\\x31\\x22\\x3c\\x17\\x78\\x34\\xf0\\x48\\x70\\x0c\\xc0\\xa3\\x18\\x7e\\x88\\xb0\\x31\\x02\\x9f\\x22\\xd3\\x09\\x5f\\xcd\\x49\\x43\\x02\\xcf\\x06\\x9e\\x16\\x36\\xb6\\x8d\\x44\\x24\\xae\\x80\\x4f\\xb8\\xce\\xd0\\x8c\\x6e\\x66\\x90\\xc6\\x52\\xf0\\x6d\\xe5\\xdc\\x8d\\xa1\\xb1\\xec\\xf1\\xe2\\x6e\\xb6\\xef\\x5e\\x4f\\x9f\\x5b\\x2d\\x8a\\x5a\\x99\\xe3\\x34\\x5a\\x95\\x04\\xbc\\x00\\xfb\\xb5\\xb0\\x43\\x0b\\x1b\\xb4\\x50\\xa3\\x85\\x0a\\x2d\\x14\\x68\\x43\\xa3\\x91\\xd9\\xee\\x1b\\x51\\x53\\x19\\x30\\x97\\x1e\\x35\\x78\\xd5\\x02\\x57\\x37\\x4d\\xe9\\x0d\\xc7\\xa7\\xc1\\x29\\x45\\x56\\x2e\\xd1\\x95\\x54\\xb8\\x0f\\xb8\\x8f\\x03\\x79\\xf0\\x67\\x25\\x49\\xb1\\xc0\\x4f\\xac\\x9c\\x9e\\x22\\x4f\\x08\\xf9\\x42\\x16\\x9b\\xaf\\x89\\xe5\\x64\\x22\\x4e\\x15\\x51\\x25\\xbb\\x6d\\xba\\x78\\x01\\x0b\\xf8\\x42\\x17\\xfe\\x08\\x0f\\xf8\\xb5\\xd1\\xb1\\xfe\\xf9\\x50\\x66\\x63\\x4b\\x59\\x01\\x5d\\xca\\x8a\\x8e\\xef\\x7f\\x6a\\xd1\\x07\\x8b\\x97\\x7c\\xb8\\x78\\xf1\\x07\\x4b\\x97\\xbc\\xbf\\xa8\\xae\\xf1\\xa9\\x1b\\x1a\\x9f\\x99\\xdc\\xb8\\xa7\\x71\\xd2\\x33\\x8d\\xdc\\x64\\xfa\\xfe\\x2c\\x7e\\x5a\\xb4\\xe8\\xfd\\x25\\x8d\\xcf\\x4c\\x9a\\xf8\\x6c\\x23\\x7e\\x69\\x7c\\x86\\x2d\\xc9\\x4f\\x1a\\x49\\x9d\\xd0\\x20\\x8c\\x44\\x4e\\x31\\xb2\\xf9\\x79\\x19\\xa8\\xf1\\xcb\\x48\\x05\\x19\\x48\\x6a\\xc8\\x68\\xd2\\x40\\xa6\\x92\\xd9\\x64\\x21\\x59\\x8e\\xe4\\xb4\\x79\\x52\\x4a\\x8a\\xbd\\x45\\x19\\xa1\\xab\\x35\\x74\\x75\\x84\\xae\\xe1\\xef\\xf2\\x15\\xcf\\x57\\x5e\\xaf\\xfc\\x7e\\xe5\\x73\\xda\\x15\\xf0\\xc3\\xe9\\xf1\\x9f\\x16\\x77\\xef\\x5e\\xbc\\x89\\x9e\\x7e\\x2b\\x2b\\x29\\x2b\\x49\\xa5\\x77\\x4a\\x59\\x29\\xfe\\xf6\\x96\\x95\\x94\\x94\\x71\\x23\\xe9\\x39\\x10\\x4b\\x5f\\x70\\xab\\x22\\x61\\x03\\xfb\\x8a\\xbb\\x97\\x96\\xb2\\xc0\\xf0\\x26\\xfd\\xa6\\x8c\\xa7\\xe7\\xdf\\x68\\xe0\\x4d\\xf4\\x8e\\x7f\\x10\\x4f\\xb9\\xf8\\xa4\\x9c\\x2d\\x2b\\x2b\\xf9\\x0a\\x1f\\x60\\x23\\xde\\x8c\\xa5\\xc0\\x16\\xe2\\x09\\x0e\\x97\\x7a\\xcb\\x03\\xfd\\xf1\\xee\\xa1\\xe2\\xe2\\xee\\x5c\\x7c\\x28\\x90\\xc2\\xe3\\xcd\\xd7\\x34\\xda\\xc7\\xdd\\x8b\\xbb\\x67\\xe3\\x4d\\xb0\\xbe\\xbc\\x40\\xd6\\x0a\\x1e\\xbe\\x95\\xe8\\x49\\xac\\x4f\\xaf\\x11\\x0c\\x46\\xd9\\x88\\x14\\xad\\x21\\x74\\x1f\\xbd\\xfa\\x48\\xa5\\x65\\x25\\x49\\x3c\\x29\\x84\\x2e\\xa2\\xc4\\xcd\\x98\\x75\\xfe\\x56\\x45\\x39\\xd4\\xac\\x28\\xb3\\xcf\\xf1\\xad\\xf3\\x3e\\x9b\\x71\\x48\\x51\\x80\\x6f\\xbe\\xe9\\xe3\\x85\\xc1\\xfa\\x9c\\x85\\xbc\\xf9\\x9c\\x40\\xd7\\xc1\\xb6\\x52\\x3e\\xd1\\x71\\x02\\x70\\x18\\xdf\\x84\\x7e\\xf2\\x95\\x72\\xc4\\x8b\\x75\\x12\\xae\\xe0\\x8d\\x2c\\x61\\x55\\xbb\\xb0\\xe0\\x9d\\x85\\x0b\\x4e\\x2f\\x58\\xf0\\x2e\\x9e\\xe7\\x0b\\xab\\xda\\x96\\x71\\x7d\\x17\\xbc\\xbb\\x00\\xef\\xf1\\xe5\\x42\\x3a\\xe3\\x31\\x3a\\x0d\\x0f\\xc9\\xf5\\x59\\x75\\xf1\\xf1\\x9c\\x60\\xb3\\x61\\x4a\\x69\\xa9\\x26\\x27\\xf2\\x25\\xad\\x3d\\x17\\x2f\\xbe\\x67\\xba\\xf8\\x5e\\x97\\x29\\xa5\\xa1\\x34\\xaf\\xe0\\xcf\\x8c\\x6b\\xe0\\x30\\xa2\\xf1\\xd9\\x49\\x93\\x90\\xf9\\xd8\\x79\\xe8\\xd5\\x08\\x45\\xbe\\xe1\\x39\\x1a\\x39\\x46\\x83\\xb9\\x70\\x27\\x77\\x03\\x3f\\x1f\\xe9\\xea\\xa2\\x34\\xb0\\x19\\x08\\x91\\xe5\\xd8\\x38\\x07\\x6f\\xd6\\xb0\\x9d\\x7b\\x28\\x4e\\x6c\\x22\\x46\\x68\\xf0\\x3f\\x5b\\x61\\x98\\x0e\\x32\\x94\\xc3\\x53\\x5b\\xbd\\x45\\xa5\\xdc\\x0d\\x5b\\x26\\xf5\\xbf\\xa5\\xff\\xc6\\x1b\\xa7\\x0e\\x1c\\x3c\\x64\\x4a\\x65\\xe5\\x94\\xc6\\xc1\\x43\\x1b\\xb8\\x65\\x33\\xef\\xeb\\x7b\\xeb\\x80\\xa9\\x4d\\x83\\x07\\x4e\\xad\\x9c\\x32\\xa5\\x72\\xe0\\x8d\\xd3\\xd1\\xe6\\xfd\\x13\\xca\\x8e\\xc5\\x28\\x3b\\xb4\\xc4\\xc9\\x56\\x46\\xee\\x41\\x6e\\xf1\\x55\\xe8\\x7a\\xb8\\x92\\x4a\\x73\\xd2\\x92\\xd2\\x88\\x55\\x22\\x52\\xaf\\x9e\\x99\\xf1\\x29\\xf9\\x29\\x25\\xdd\\xa6\\x75\\x03\\x7f\\x37\\x18\\xd8\\x0d\\x5c\\xdd\\xa0\\x9b\\xb7\\xbb\\x31\\xa5\\x21\\x65\\x76\\x0a\\xaf\\xea\\xee\\x53\\x1b\\xaa\\x52\\xba\\xa7\\x74\\xe7\\x8d\\x46\\x35\\xa8\\x63\\xa8\\xd0\\xbf\\x50\\x7f\\x9a\\x2d\\x10\\x96\\x33\\xa1\\xde\\x74\\xda\\x1b\\x6c\\x85\\x36\\x7b\\x4d\\x11\\x99\\x6c\\x09\\x8f\\xa9\\x65\\xf9\\x20\\x72\\x0a\\xc9\\x28\\x26\\xee\\x64\\x22\\x17\\x93\\x0c\\x3a\\x1e\\xd3\\x46\\x1c\\x45\\x24\\x7a\\x76\\xb9\\x18\\x75\\x0f\\x6c\\x0d\\x2a\\x36\\xf3\\x61\\xb1\\xb2\\xb5\\x3d\\xa0\\x3c\\x0c\\xd0\\x88\\x05\\xc8\\x41\\xe3\\x58\\xe5\\xbd\\x4f\\x3f\\xdb\\xf2\\x10\\x14\\x7d\\x7a\\x1e\\x0a\\x03\\xe3\\xf2\\x93\\x93\\xf3\\xf2\\x92\\x93\\xf3\\xe1\\x6c\\x6e\\x72\\x72\\x41\\x41\\x72\\x72\\x6e\\xe0\\x6f\\x43\\x36\\x36\\x0d\\xe9\\xd3\\x78\\xf8\\x70\\x23\\x57\\xa5\\xa0\\x1e\\x80\\x29\\x81\\x56\\x98\\xa1\\x6c\\xfe\\xcf\\x79\\xb4\\xff\\x1f\\x7e\\xe8\\xfc\\xa7\\xca\\x7b\\x80\\xa6\\x7d\\x5d\\x72\\x7e\\x38\\x32\\xbb\\x2a\\x47\\xd7\\xae\\xf5\\x1c\\x39\\x42\\xfb\\xb2\\xe0\\x03\\xa4\\xd9\\x43\\x8c\\x66\\x0e\\xe4\\xa1\\x3c\\x32\\xd9\\x57\\x9e\\xaa\\xb3\\x64\\x26\\x3a\\x2d\\x4e\\x24\\x17\\xc9\\x2f\\x70\\xdb\\x8d\\x71\\xc6\\xac\\xbc\\x69\\x79\\xe0\\xcf\\x83\\xea\\x3c\\xe8\\x9d\\x07\\x79\\x39\\xe9\\x46\\x63\\x92\\xb1\\xc1\\x38\\xdb\\x28\\xa8\\x6a\\xd2\\x1b\\xd2\\x39\\x63\\xba\\x31\\x5d\\x8d\\xb4\\x7a\\x97\\x2d\\x70\\x8a\\x74\\x7a\\xaf\\x93\\x4e\\xef\\x85\\xe8\\x64\\xe9\\x1c\\x7a\\x1c\\x4d\\x25\\x31\\xaa\\xac\\xd3\\xa2\\xee\\x19\\x61\\x32\\x18\\x61\\x1e\\xba\\x82\\x30\\x01\\x72\\x0d\\x5a\\xec\\xa3\\x64\\xe8\\x33\\xa4\\x69\\xe3\\x90\\xae\\xb4\\x58\\x12\\x95\\x71\\x7a\\x55\\x2e\\x1c\\x39\\xe2\\x59\\xbb\\x96\\x8e\\xf7\\xa8\\xec\\x98\\x2b\\x19\\x84\\x9e\\x6c\\x3f\\x93\\x5a\\x5f\\xb7\\x12\\x93\\x56\\xd6\\x70\\xd9\\xd9\\x31\\xae\\xfc\\xf4\\x94\\x04\\x8f\\xc7\\xa5\\xe1\\xcb\\xbb\\x77\\x5b\\xe1\\x7a\\xdf\\xf5\\xa5\\x8b\\x5f\\xee\\x82\\x42\\x17\\x14\\xb8\\xc0\\x95\\x63\\xcc\\xae\\xc8\\xae\\xc9\\xe6\\x55\\xd9\\xa4\\x60\\x42\\x3d\\x72\\x07\\xfe\\x22\\xb3\\x9e\\x23\\x1d\\x8d\\xac\\x9d\\x1f\\xbc\\xf6\\x44\\xa0\\xdb\\x54\\xc6\\xd0\\xd6\\x10\\x89\\xee\\x56\\x69\\xe0\\x64\\x34\\x25\\xd3\\x33\\xe4\\x8c\\xb2\\xf4\\x0c\\x4f\\x89\\xb7\\x94\\x6e\\x64\\x59\\x5a\\xe6\\x08\\x65\\x9b\\xae\\x4a\\x91\\xce\\xaf\\xbd\\xee\\xba\\x1b\\x7a\\x1d\\xc9\\x6b\\xa9\\x93\\xce\\x9d\\x33\\x57\\xb7\\x74\\x6b\\x4e\\x1d\\xdc\\xa7\\xe4\\xba\\xc5\\x93\\x5f\\xce\\x69\\x1e\\x66\\x3a\\x77\\x4e\\x37\\xfc\\x40\\xe6\\x2b\\xb3\\xe6\\x24\\xad\\x7b\\xed\\xf8\\xda\\x75\\x13\\x6f\\x38\\x21\\xf4\\x3c\\x2f\\x65\\xe4\\x35\\xe7\\xb5\\xcc\\x99\\xd7\\x67\\xd9\\x44\\x0c\\x14\\x9b\\x6d\\x52\\x9d\\x3f\\x6f\\x1e\\x74\\x20\\xaf\\x65\\xf2\\xb2\\x3e\\x2b\\x1a\\x10\\xc2\\x50\\x7d\\xef\\x53\\x6b\\xd6\\x9c\\x98\\x34\\xe9\\x9e\\x35\\xa7\\x68\\xde\\x3f\\x23\\xc3\\x85\\x74\\x61\\x25\\xd6\\x94\\x0c\\x52\\xe7\\x2b\\x4a\\x35\\x69\\x2d\\x06\\x83\\x9d\\x24\\x38\\x04\\x81\\x68\\xf9\\xac\\x4c\\x8b\\xdd\\x48\\x9c\\x26\\xe7\\x70\\x27\\xef\\x24\\xc9\\xf0\\x73\\x32\\x24\\x63\\xed\\x5d\\x41\\x38\\x15\\x71\\xf9\\xd2\\x32\\xab\\x5c\\x32\\x56\\x8c\\x9c\\x0b\\x13\\xea\\x8b\\x4e\\xcf\\xb9\\xb5\\xa0\\x3e\\x68\\xa0\\x74\\x2e\\xb5\\x10\\x2c\\xe5\\xd0\\xb4\\x67\\x47\\x70\\x31\\xf1\\x60\\x77\\x2b\\x1d\\x4b\\x11\\x9e\\xdb\\x46\\x33\\x9b\\x0f\\xdc\\x85\\x21\\x33\\xfb\\xef\\xbb\\x75\\xc1\\xf5\\x75\\x1b\\x66\\x00\\xe9\\x20\\x83\\xe9\\x9a\\xbd\\x9e\\xee\\xe3\\xcb\\x97\\x8e\\x1c\\xdd\\xb3\\x77\\x79\\x3d\\x77\\x9d\\x76\\xc8\\x92\\xea\\xdb\\x77\\xd5\\x5d\\xbf\\xe4\\xe6\\x27\\xf4\\xbb\\x2b\\x95\\x56\\x90\\x2a\\xb9\\xa6\\x92\\x86\\xf2\\xba\\xc5\\x7d\\x7a\\xd7\\xf6\\x68\\x28\\xa6\\xf9\\x19\\x41\\x5a\\x85\\xe7\\x31\\x3f\\xb9\\xa4\\x3b\\xe9\\xe3\\x73\\x17\\xe6\\x0a\\x49\\x7c\\x46\\xa9\\xcd\\x9d\\xe1\\x2e\\xef\\x91\\x9b\\x94\\xed\\x25\\xa9\\x2b\\x52\\xb9\\xd4\\x3c\\x34\\x07\\xb4\\xc6\\x6c\\x08\\x96\\xdd\\xbb\\xf5\\xa1\\xba\\x1d\\x1e\\x3e\\x4e\\x47\\xea\\xb3\\xa9\\xa0\\x74\\xb1\\x90\\x52\\x2f\\x9b\\x7e\\x81\\x19\\xb0\\xcb\\x6c\\xb1\\x49\\x9b\\x11\\xa8\\x94\\x94\\x63\\xec\\x51\\x03\\xa2\\xa3\\x57\\x41\\xe7\\x3b\\x36\\xe6\\xa8\\x24\\x49\\xe5\\xee\\xdf\\x73\\x4c\\x56\\xaa\\xde\\x24\\x99\\x74\\x82\\x60\\xb0\\xa6\\xa5\\xea\\x7f\\xac\\x7d\\x7e\\xde\\xbc\\xbd\\xcf\\x2c\\x19\\x78\\xfd\\xc3\\xfe\\xdb\\x6e\\x1f\\xed\\x5f\\x72\\x9b\\x40\\x72\\x72\\x44\\x3d\\x1a\\x96\\x82\\x59\\xaf\\x33\\xc4\\xf5\\x6a\\x1c\\xe6\\x4d\\x56\\x4b\\x52\\xdf\\xb1\\x45\\x3f\\x8d\\xb8\\x79\\xd9\\xbe\\x27\\x97\\x2c\\x7a\\x36\\x27\\x79\\x89\\xbf\\x61\\xc1\\xb2\\x31\\xa3\\x6f\\x63\\xf3\\x33\\xd0\\x88\\x14\\xce\\x10\\x37\\x29\\xf4\\xc5\\x5a\\xe2\\xb5\\x0e\\xa3\\x24\\x39\\xe2\\xf9\\x14\\x8f\\xda\\xe5\\x53\\x69\\xab\\x5c\\xe6\\x1a\\x54\\xfc\\x6c\\xab\\x0d\\x14\\x54\\xde\\x2e\\x23\\xd6\\x01\\x79\\x10\\xff\\xd9\\x18\\xf1\\x44\\x2e\\x09\\xdc\\x65\\x28\\xe4\\x7b\\x43\\x78\\x61\\x77\\x54\\x66\\xc9\\xae\\x89\\x5b\\xee\\xab\\xe4\\xee\\x18\\xbd\\xfd\\x06\\xbe\\xe6\\xc9\\xd5\\xaa\\xf6\\xbf\\x4a\\xb7\\x3d\\x37\\x7a\\xec\\xb3\\xfe\\x3b\\xfc\\x37\\xac\\x5b\\x2d\\x9c\\x99\\xf8\\xcc\\xba\\xdb\\x57\\x0f\\x9c\\xb8\\xe2\\xe8\\x63\\xbb\\x27\\xa8\\xd3\\xd2\\x26\\x3d\\xd7\\x64\\x38\\xba\\x62\\xbc\\x7f\\xcd\\xc8\\x85\\x47\\xa8\\xfe\\xec\\x45\\xd0\\xc8\\x14\\xde\\x20\\xc5\\xa4\\xbb\\x2f\\x81\\x33\\x16\\x67\\xa2\\xf8\\x30\\x0a\\x25\\xa5\\xa9\\x39\\x05\\xaa\\x64\\x9b\\xa0\\x4d\\xd2\\x82\\x45\\x6b\\xa1\\x4d\\x29\\xe1\\x3d\\x50\\xeb\\x29\\xa5\\xbd\\x51\\xd3\\x6f\\xb3\\xa0\\xac\\x0f\\x5f\\x92\\x11\\x54\\x44\\x14\\xab\\x22\\x47\\x7a\\x78\\xb9\\x4f\\xbb\\x4d\\x2e\\x2d\\x0b\\xf3\\x11\\x53\\x54\\x89\\xbc\\x43\\xa8\\x6c\\x6f\\x56\\xdd\\xbd\\xb0\\xa1\\x84\\x2b\\x7f\\xc1\\x3f\\x74\\x65\\xe5\\x03\\xf5\\x7d\\x26\\xa7\\x9b\\xb5\\x4f\\xcc\\x99\\xb7\\x63\\x40\\xad\\x29\\x26\\x63\\x7a\\xff\\x41\\xdb\\xe6\\x75\\x5f\\xd0\\xd0\\x5b\\xec\\x76\\xf3\\xf2\\x5b\\x3d\\x71\\xa5\\x8b\\x36\\x0f\\x29\\x58\\xb4\\x60\\xc8\\xed\\x43\\xe7\\x3e\\x0a\\xde\\xbe\\x99\\x69\\xe9\\x8b\\x1f\\xdc\\x31\\xb3\\xae\\x31\\x93\\x57\\x0d\\x1b\\x32\\x6f\\xde\\xae\\x6e\\x23\\xa7\\xdf\\xfe\\xd0\\xa2\\x12\\x3b\\xcd\\xcf\\x94\\x8e\\xef\\xd1\\x5f\\x58\\x8c\\x75\\xc3\\xe9\\xd3\\x10\\xbd\\x55\\x2f\\xf3\\xae\\x58\\x4d\\xc4\\x6c\\x65\\xb3\\xb9\\xf2\\xa1\\x00\\x42\\xfa\\x2a\\xc6\\xc1\\xd6\\x7b\\xa3\\x4c\\x6e\\x00\\xae\\x31\\x66\\xdc\\xfe\\xb1\\xd5\\xa5\\xeb\\x6e\\x1c\\xbd\\x3e\\x3d\\xe5\\xfe\\x31\\x93\\xd6\\x8f\\x99\\x7d\\xef\\x4a\\x47\\x5d\\xf3\\xdf\\x97\\x4e\\x5e\\x79\\xdd\\xcc\\xb5\\xb7\\x2e\\x5a\\x38\\x7f\\x4d\\x63\\xdd\\xab\\x6b\\x5f\\xfc\\x98\\xd9\\x1e\\xd7\\x75\\x7c\\xc7\\x7f\\x88\\xb4\\xd3\\x91\\x38\\x9f\\x56\\x23\\xa1\\xc9\\xa1\\x37\\x54\\x6b\\x40\\x43\\x5c\\x05\\xf5\\xe1\\xce\\x48\\x3a\\xeb\\x97\\x38\\x24\\x22\\xa7\\x73\\xe9\\x19\\xa5\\x84\\x93\\xab\\x40\\xbd\\xa4\\xbf\\xf2\\xde\\xf5\\x69\\x87\\x37\\x8d\\x9a\\x87\\xb6\\xee\\x1b\\xcb\\x94\\x2d\\x6b\\x2b\\x95\\xe9\\x9b\\x06\\x82\\x78\\x74\\xca\\x5a\\xf0\\x07\\xed\\x9a\\x13\\x24\\x81\\xef\\x89\\x75\\xc2\\x45\\xf7\\x69\\xd4\\x88\\x9c\\xc1\\xe0\\xb2\\xb9\\x44\\x3e\\x2e\\x56\\xaf\\x52\\x15\\xe0\\x77\\x87\\x19\\x2b\\xf1\\xbb\\xf5\\xe5\\x05\\xe5\\x5d\\xf9\\xc5\\x6b\\xa7\\xa4\\x96\\x3d\\x6c\\xed\\x82\\xe8\\xd1\\xff\\xf0\\xfd\\x90\\x87\\x6e\\x9e\\x50\\x50\\x7e\\xab\\x6f\\xe3\\xcc\\xf2\\x1e\\xcb\\x86\\xe5\\xe6\\x0b\\x2b\\x27\\xbf\\xb6\\xf1\\xd9\\x07\\x17\\xaf\\x58\\xb4\\xe8\\x51\\xad\\x22\\x2d\\xdd\\x52\\x9a\\x3f\\x74\\x9e\\x95\\xcd\\xe9\\xfd\\x58\\xb8\\x2c\\xdc\\x4d\\xe2\\x49\\x32\\x69\\xf0\\x95\\x24\\xea\\x74\\x24\\xc1\\x68\\x8c\\xb5\\xc7\\xca\\x44\\x48\\x71\\x1b\\x12\\xea\\x12\\xa0\\x5f\\x02\\x24\\xe8\\x13\\x4b\\x13\\x21\\x2d\\x91\\x9a\\x3f\\x7c\\x22\\xa8\\x12\\xe3\\x93\\xe3\\xc6\\xc4\\x41\\x5c\\x52\\xbc\\xd3\\xa2\\x11\\xd8\\xe4\\x8b\\x02\\xb6\\x4c\\xa9\\xd9\\x3b\\x21\\xd4\\xfd\\xcb\\xb4\\x4a\\xf4\\xfa\\x3f\\x54\\x9d\\x84\\x26\\xd3\\x52\\x1c\\xcd\\x62\\x04\\x63\\x07\\x3e\\xa5\\x41\\x5a\\x89\\x28\\x5c\\x2e\\x5d\\x3a\\xa8\\xbc\\x7c\\xc9\\xb0\\xc2\\xec\\xc0\\x67\\x6b\\xe7\\x96\\xf7\\xb8\\xad\\x26\\x2f\\x8f\\x3b\\x12\\xd8\\xc0\\xa5\\x07\\x3e\\x83\\xff\\x1f\\x71\\xef\\x01\\x18\\x55\\xb1\\xfd\\x01\\xcf\\x99\\x7b\\xef\\x6e\\x76\\xd3\\x76\\x37\\x8d\\x54\\x36\\x1d\\x08\\x49\\x20\\x21\\x09\\x41\\x20\\x0b\\x84\\x5e\\x42\\x87\\x00\\x01\\x42\\x0a\\x09\\x25\\x81\\x24\\x94\\x88\\xb4\\x27\\xea\\x0a\\xfa\\xb0\\xa1\\x28\\x2a\\x45\\xac\\xcf\\x06\\x2a\\x22\\xea\\xff\\x09\\x16\\x50\\xe1\\xa1\\x34\\x41\\x44\\xa4\\x29\\x0a\\x8a\\x14\\x51\\x21\\x7b\\xf3\\x9d\\x39\\x77\\x77\\xb3\\x09\\x89\\xfd\\xfb\\x3e\\x63\\x0e\\x93\\xb9\\x73\\x7f\\x73\\xda\\xcc\\x9c\\x99\\x7b\\xef\\x4c\\xee\\x90\\xd9\\x23\\x33\\x53\\x87\\x55\\x5a\\xe0\\x9d\\x55\\xea\\xdc\\x39\\x6b\\x32\\x92\\x07\\xcd\\x97\\x02\\xf8\\x8f\\x9b\\xd5\\xa9\\xab\\xe6\\xac\\x66\\xbc\\x7e\\x6f\\x7d\\x18\\x9d\\xaf\\x27\\x9e\\x01\\x9a\\xb6\\x44\\xb4\\x8a\\x92\\x94\\x00\\x3a\\x32\\x84\\xa6\\x48\\xb1\\x01\\x8a\\x14\\x2b\\xce\\x0b\\xa7\\xdf\\x74\\x29\\x1e\\x7f\\xc5\\xb6\\x22\\xf8\\x8b\\x57\\xe2\\xf9\\xe3\\x93\\x33\\xd5\\x27\\xfb\\x4c\\xee\\x7e\\x32\\xe6\\xd4\\xc4\\xd3\\xb1\\xa7\\xbb\\x4d\\xce\\x80\\x71\\x7d\\x27\\xe7\\x9c\\x89\\x3d\\x33\\x11\\x7f\\xc3\\xd4\\x27\\x27\\xc1\\x78\\x08\\x79\\x08\\xc7\\xb7\\x9c\\xfc\\xcd\\xf9\\x70\\xb6\\x60\\x73\\x01\\x64\\xab\\x3f\\xdc\\x0f\\x33\\xd5\\x6d\\x53\\x36\\x4f\\x51\\x23\\x90\\xf0\\xca\\xfb\\xd5\\x56\\x0f\\x39\\xe7\\x76\\x72\\xad\\xb2\\x94\\x05\\xb1\\x19\\xb6\\xae\\x06\\x25\\xc8\\x6c\\x16\\x3b\\x86\\x41\\x60\\x80\\xc9\\xcb\\x5f\\x92\\x30\\xce\\xf4\\xf7\\x57\\x7c\\xa5\\x90\\x60\\x6f\\xb3\\xd9\\xcb\\xa2\\x0f\\x0a\\x92\\x69\\xc6\\x60\\x65\\x92\\x49\\xb2\\x30\\x0b\\xf3\\xe7\\xfe\\x3e\\x93\\xf2\\xfd\\x2d\\x62\\xcb\\xb0\\x26\\x7b\\x67\\xba\\x5f\\x38\\x69\\xd8\\xc0\\x83\\xbe\\x5c\\x4a\\x77\\xef\\x2e\\xd9\\x70\\x74\\x80\\x73\\x03\\xb9\\x8a\\x3b\\x07\\x41\\xe2\\x20\\x98\\x1e\\xaf\\xae\\x8a\\x83\\xe9\\x09\\xea\\xaa\\x76\\xfc\\x4a\\xfb\\xeb\\x67\\x46\\xdb\\x13\\xec\\x71\\x77\\x4a\\xd7\\xe0\\x0e\\xb5\\x76\\xfb\\x9b\\xdb\\x8f\\x9c\\x86\\xb7\\xb7\\xbf\\xc9\\xa0\\xfe\\x3a\\x76\\xd4\\x37\\xa3\\x1e\\x03\\x68\\x47\\x40\\x7f\\x1f\\x5f\\x5f\\x3f\\xac\\xcc\\xdb\\x4b\\x2f\\x1b\\x02\\x0d\\x0a\\x97\\xa4\\x20\\x71\\x24\\x8d\\x49\\x1f\\x10\\x20\\x23\\xcf\\x26\\xc6\\x7d\\x83\\x70\\xca\\x98\\x93\\xe3\\x3c\\x4a\\xc5\\xcd\\xa0\\xb6\\x03\\xa6\\xf3\\x91\\xbc\\x6b\\xe7\\x4b\\xd7\\x8e\\xd7\\x1a\\x67\\xe5\\x0b\\xc6\\x43\\xe8\\xf8\\x85\\xf1\\xf4\\x33\\x46\\x3d\\x3b\\xfa\\xe6\\xf8\\x9b\\xe3\\x17\\x20\\x4b\\xfb\\xd4\\x14\\x64\\x49\\xed\\x45\\x2c\\x21\\x4f\\xd8\\x0a\\xe5\\x15\\xb4\\x9f\\x5f\\x9e\\x2d\\x29\\xc4\\x64\\x36\\x82\\x2c\\x2b\\xfe\\xcc\\x62\\xe6\\xfa\\xc8\\x08\\x45\\xa7\\xf3\\xb3\\x18\\x85\\x02\\x39\\x46\\x37\\x2c\\xd8\\xcf\\x4f\\x36\\xe1\\xcc\\x72\\x52\\xbe\\xec\\xfe\\x44\\x1a\\xdd\\x53\\xa8\\x4f\\xf0\\x95\\xea\\xa1\\x3a\\xd7\\x66\\xf5\\x01\\xe2\\xb3\\xbd\\xd8\\xee\\xfc\\x26\\x71\\x7e\\x8f\\x6b\\xc7\\x25\\x38\\xdf\\x9f\\x9f\\x6d\\x7f\\xfd\\xe2\\x5d\\x96\\x4e\\x29\\xde\\xf6\\x56\\xb6\\xa9\\x43\\x22\\x8a\\x20\\x71\\x41\\x44\\xc7\\x6c\\xf3\\x1d\\x21\\xb9\\x33\\x87\\xf2\\x71\\xea\\xf2\\xd3\\xfc\\x60\\x76\\xcf\\xf9\\xb3\\xba\\x71\\xee\\xb8\\x35\\xb3\\xf7\\xbc\\xaa\\xae\\x62\\xef\\x28\\xec\\x67\\xc5\\xd9\\x44\\xe2\\x0c\\xb6\\x11\\xb6\\xf6\\xfe\\x96\\x00\\x23\\xf8\\xea\\x7c\\xc2\\xc3\\x39\\xf7\\xf3\\xf6\\x31\\xf9\\x44\\x84\\xe8\\x74\\x91\\x01\\xc6\\x49\\xf9\\x38\\x94\\x8b\\xa7\\xd6\\xd8\\x0e\\x7d\\x2c\\x3c\\xdc\\xb9\\x3d\\x27\\x6b\\xe5\\xa1\\x48\\xe7\\x81\\x02\\xd9\\xd9\\x9e\\x7b\\xc4\\x0a\\x45\\xa6\\xc9\\x18\\xaf\\xb6\\x05\\xa1\\xc7\\x78\\xa1\\xd3\\x68\\xed\\x0c\\x94\\xe8\\xbc\\xf5\\xbd\\x79\\xe4\\x55\\x30\\xab\\x7b\\xd4\\x7a\\xf5\\x8e\\x29\\xea\\xe7\\x1b\\xd7\\xc2\\x0f\\x17\\x12\\x7f\\x6c\\x05\\xd1\\x8f\\x3c\\xba\\x64\\xbe\\x7a\\x4d\\x8e\\x80\\x92\\xaf\\x3e\\x38\\xa1\\x5e\\x55\\x4d\\xd2\\xb0\\x8f\\x3f\\x5e\\x54\\xb3\\xac\\x74\\x3a\\xf2\\xec\\xaf\\x8e\\x51\\xde\\x20\\xfd\\xc6\\xa1\\x86\\xdb\\xb5\\x0e\\x61\\xe1\\x10\\x16\\x27\\xce\\xa6\\x34\\xe0\\x4c\\x40\\x49\\x88\\x0f\\xe3\\x71\\x7c\\x52\\x7e\\x5c\\x1c\\xb3\\x58\\x62\\x91\\x73\\xc9\\x57\\x3f\\x39\\xdf\\x37\\x5c\\x7c\\x83\\xde\\x78\\x4f\\xa3\\xc6\\x7b\\xc5\\x6b\\xf3\\x76\\x29\\xda\\xb5\\x8b\\xb4\\xe8\\x00\\xcc\\x9d\\xb2\\x20\\x9a\\xe6\\x33\\x3a\\xbd\\x01\\x9c\\x7c\\x4b\\xd2\\xa5\\xaf\\xd5\\xa7\\xa6\\xeb\\xc7\\x46\\xf4\\x4f\\x8e\\x9f\\xdf\\xa6\\xce\\x0c\\xc1\\x7c\\xc5\\xda\\x53\\x73\\x8f\\x6c\\x03\\x8b\\xda\\xe1\\xde\\x55\\x8b\\xab\\xd5\\x07\\x86\\xf1\\x60\\xc7\\xa1\\x58\\x6b\\x89\\xef\\xd7\\x5e\\x3e\\x60\\xe8\\x35\\x56\\xb9\\x7d\\xca\\x96\\x05\\x4f\\x7e\\x1d\\xe1\\x78\\x83\\xd7\\xcd\\x99\\x31\\xa1\\x48\\x9d\\xac\\xed\\xd5\\x64\\x54\\xc7\\xc8\\x59\\xe8\\xbf\\x29\\x38\\xd2\\x75\\x61\\x36\\x76\\x87\\x2d\\x4f\\x49\\xcd\\x91\\x6e\\x92\\x6e\\x4a\\x8a\\x8e\\x88\\x94\\x12\\x8c\\xde\\x19\\xfe\\xfe\\xde\\x3e\\x59\\x86\\xce\\x1d\\x2d\\x1d\\x02\\xba\\x87\\x77\\x8b\\x4a\\x88\\x8c\\x36\\xf7\\xec\\x11\\x01\\x59\\x9d\\x3b\\x76\\xe8\\xde\\x61\\x78\\xbe\\x45\\xe7\\x23\\x19\\x82\\xa3\\xc2\\xba\\x77\\x37\\x84\\x85\\x05\\x0c\\xcb\\x0f\\x33\\x79\\x87\\x1b\\x3a\\xe6\\xe5\\x1b\\x82\\x59\\xdb\\xe1\\xf9\\x2c\\xc8\\xe3\\x25\\x5b\\xf7\\xf1\\x0f\\xda\\xf9\\x0f\\xd4\\x52\\x73\\x9a\\xa8\\xc0\\x75\\x02\\x06\\x6d\\x6e\\x16\\xeb\\x07\\xe2\\xe8\\x13\\x1a\\x94\\xe2\\x03\\x9c\\x9b\\xdc\\x89\\x5d\\xf2\\x85\\x46\\xf4\\x92\\x33\\xbe\\x14\\x67\\xb3\\xc6\\x4a\\xdd\\x21\\x4b\\x09\\x0c\\x09\\xf0\\xc3\\xd9\\x41\\xa2\\x3e\\x2b\\x53\\xba\\xa5\\x78\\x86\\xa2\\xeb\\xbf\\x6c\\xe8\\xf3\\xeb\\x5f\\x28\\x5f\\x70\\x05\\x0c\\x15\\xa3\\x26\\x04\\xa8\\xbf\\xc6\\x5c\\xf8\\xc0\\xb6\\x7e\\xfd\\xf3\\x93\\xc7\\xb5\\xea\\xeb\\xd5\\x26\\x31\\xca\\xea\\xd7\\x6e\\xf4\\xc9\\xc9\\x77\\x0c\\x9e\\x19\\xa2\\xce\\x8f\\xaf\\xee\\x37\\x14\\xf6\\xe9\\x06\\x75\\x0b\\x32\\x8e\\xec\\x1d\\x1f\\x3e\\x7b\\x92\\xaf\\x5a\\x02\\x8f\\x05\\x3f\\x56\\xb9\\xe5\\x4d\\x03\\xe8\\x7b\\xf7\\x6f\\x7d\\xcf\\x83\\x1c\\x96\\xa8\\xa5\\xd6\\x65\\x53\\xe3\\xe7\\xab\\x6b\\x93\\xc3\\xa3\\x62\\xf5\\x6b\\x4c\\x3a\\x0e\\xea\\xdb\\xa6\\x05\\x13\\x46\\xf7\\x4e\\x04\\x8b\\x65\\x24\\xdc\\x17\\x16\\xf2\\x1a\\x4c\\x12\\x73\\x45\\xf5\\x30\\xea\\x76\\x22\\xea\\x36\\x02\\xfb\\xd8\\x21\\xb6\\x36\\xfe\\x41\\x41\\x3e\\x3a\\xa3\\x2e\\x4c\\x92\\xcd\\x16\\x4b\\xb4\\x24\\xcb\\x56\\x33\\xb4\\x36\\x7a\\x1b\\xf3\\xf2\\xd1\\xa5\\x7c\\xbd\\xfd\\xe5\\x70\\xd6\\x2a\\x2f\\x9f\\x39\\x37\\x5a\\x10\\xe7\\x09\\x78\\x6c\\x84\\x47\\x3f\\xae\\x0d\\x91\\x85\\x7a\\x12\\x21\\x16\\xb4\\x3d\\xc6\\x69\\xd3\\x63\\x48\\x07\\x97\\x36\\x74\\x52\\x56\\x2c\\x54\\xdc\\xd2\\x5b\\xfd\\xdf\\x13\\x70\\x9f\\xa9\\xf4\\x81\\xf8\\x0d\\x77\\xbe\\xdc\\xe1\\x21\\xd0\\x6f\\x74\\x74\\x0e\\x48\\x6d\\x63\\x1d\\x64\\x1d\\xa6\\x94\\xda\\x4c\\x37\\xa9\\xed\\xf9\\xd4\\x80\\xbe\\xa3\\xb9\\xdf\\xff\\x61\\x70\\x7a\\xdf\\xf5\\xed\\x93\\xa3\\x53\\x92\\x7d\\xb7\\xb4\\xe2\\xdf\\x3c\\x29\\xfa\\xe4\\x38\\xb5\\x4c\\xf9\\x0e\\x7d\\x5c\\xbc\\xbf\\x99\\x20\\x2b\\x7e\\xfe\\xfe\\x3e\\xe0\\xcd\\x7c\\x7d\\x41\\xef\\xa5\\x28\\x26\\xb3\\x3f\\x78\\x49\\x93\\xf3\\xbd\\xbc\\x00\\x87\\x77\\xc5\\x02\\x3e\\x93\\xf3\\xc1\\xd9\\x7d\\xd0\\x5e\\x43\\xae\\x83\\x92\\x3d\\xa3\\x67\\x1a\\x56\\xd0\\xbd\\x41\\x3b\\x23\\x33\\x5d\\x8a\\x95\\xe7\\x6e\\x9b\\xeb\\xf8\\xf7\\x5c\\xf5\\x73\\x30\\x43\\xe2\\x4c\\x5e\\x35\\x13\\x22\\x4e\\x3d\\xbc\\xf8\\x1a\\x9f\\xe0\\xd8\\xa8\\x2c\\x75\\xec\\xe5\\x1d\\xaf\\x57\\x3b\\x6a\\xc4\\xf9\\x0c\\x6a\\x99\\xfc\\x12\\xea\\x31\\x92\\xf5\\xb1\\xc5\\x9b\\xfd\\x4c\\xbe\\x96\\x48\\x16\\x1e\\x11\\xc1\\x99\\xc5\\x4f\\x69\\x1d\\x15\\x09\\x11\\x41\\x5c\\x67\\xb2\\x58\\x7c\\xf3\\xf2\\x2d\\x41\\xba\\x90\\xa1\\xf9\\x3a\\x93\\xdb\\xe7\\xc4\\xa9\\xc7\\x39\\x9e\\x2e\\xa6\\x0d\\xae\\x92\\x76\\xde\\x02\\xed\\x1c\\x27\\x38\\x09\\x88\\x75\\x1f\\xb4\\x13\\x0d\\x3c\\x3f\\x2f\\x51\\x1a\\xf4\\x5a\\xcd\\xea\\x47\\xf4\\x5e\\x93\\xef\\xad\\xf9\\x29\\xef\\x95\\xb9\\x61\\xab\\x4b\\xfe\\x13\\x32\\x57\\xfd\\x1a\\xa2\\x94\\xdd\\xea\\xf4\\x2d\\xd3\\x0b\\xef\\x5b\\x1e\\x90\\x93\\xa9\\x06\\x39\\x9e\\x83\\xd5\\x7c\\xc4\\x2d\\x6d\\x97\\x6e\\xa8\\x75\\x6c\\x50\\x76\\x6b\\x7a\\xa3\\xfd\\x90\\xfd\\xd9\\x60\\xb4\\x38\\x46\\x3e\\x3e\\xc0\\xbd\\xbd\\xb0\\xff\\x55\\xbc\\xc1\\x57\\x36\\x19\\x8c\\x46\\xb3\\xb7\\x17\\x97\\xc0\\x20\\xf4\\xe6\\x0f\\x1e\\x9a\\x33\\x7d\\xa0\\xed\\x8a\\xda\\xcc\\x96\\x4c\\xa4\\x3b\\xd0\\x93\\xee\\x20\\xda\\x00\\x42\\x77\\x39\\x13\\xd4\\xc7\\xf6\\x97\\xa8\\x5f\\x08\\xdd\\xfd\\x8b\\xff\\x02\\xb3\\x1d\\x41\\xd0\\x73\\x2f\\x6a\\x6f\\xc9\\x02\\xc7\\x75\\x54\\xdf\\x52\\xbe\\xd8\\xb1\\xda\\x71\\x14\\x15\\xa8\\x9d\\x71\\x81\\x3a\\xdc\\x85\\x1c\\xfa\\xa3\\x27\\xb6\\x95\\xe9\\xcc\\x5e\\xd0\\xf9\\x1a\\x90\\x1f\\x1d\\xe3\\xb2\\x09\\xed\\x6b\\x66\\x18\\x13\\xea\\xfc\\xfc\\xbd\\xc1\\x18\\x24\\xeb\\x74\\x90\\x97\\xaf\\x0b\\x72\\x33\\x96\\xd3\\x22\\x63\\x22\\x3c\\x40\\xfd\\x49\\x2e\\xee\\xf8\\x85\\xf7\\x56\\xa3\\xce\\xf2\\xdf\\xba\\x6b\\x94\\x7a\\x16\\xac\\x10\\xfa\\x34\\x7c\\x0a\\x3d\\xf9\\x03\\x6a\\x3b\\xa1\\x2c\\xb8\\x38\\x50\\x1d\\xa7\\xec\\xae\\x7b\\x11\\xde\\xd1\\xbe\\xa5\\xfb\\x04\\xfd\\x2c\\x96\\xf6\\xc0\\xe8\\x66\\x8b\\x62\\x06\\x83\\x0c\\x92\\x4e\\xe7\\xeb\\x85\\x8a\\xd1\\xe3\\xdc\\x60\\x52\\xbe\\x22\\x71\\x2f\\xf0\\x9a\\x94\\xef\\x2d\\xb4\\xf4\\x81\\xeb\\xdd\\x60\\x8f\\x4f\\xab\\x9c\\x47\\x6b\\x60\\xb0\\x4d\\x3b\\x32\\x23\\x0f\\xb1\\x52\\xcf\\xba\\x7f\\xb7\\x91\\xd6\\x3a\\xca\\x93\\xa5\\xab\\x6d\\xea\\x26\\x4a\\xa6\\x5b\\xae\\x7d\\x2a\\x7d\\xf8\\xcd\\x9e\\xba\\x74\\xc7\\x52\\x51\\xe7\\x31\\xd4\\x05\\xc8\\x5d\\xb4\\x3a\\xb9\\xb7\\x37\\x9a\\xc2\\xcb\\xcb\\xd7\\x28\\x3e\\xf9\\xd0\\xe9\\x75\\x43\\xf3\\xf5\\xfe\\xb2\\x51\\x32\\x0e\\xcd\\x07\\x29\\xe8\\x37\\xeb\\x04\\xf4\\x67\\x77\\xad\\xa6\\x9f\\xf2\\x1c\\xd5\\x09\\xfc\\x6e\\xd5\\xda\\x46\\x6a\\x9b\\xe8\\x98\\xcb\\xb3\\xd4\\x32\\x58\\xbd\\x93\\x3f\\xf3\\xf1\\x87\\x8e\\x09\\xae\\xbd\\x62\\xcf\\xeb\\x52\\x68\\x5f\\xbc\\x70\\xd6\\xc5\\x16\\x09\\x01\\x01\\x7e\\xa1\\x3a\\x3f\\x5d\\x64\\x04\\xf8\\x30\\x5f\\xc9\\x18\\x34\\x29\\xdf\\x28\\x4b\\xa6\\x49\\xf9\\x52\\x40\\xc3\\x50\\xa1\\x8d\\x70\\x8d\\x0e\\x85\\x8a\\x4e\\xd4\\xc5\\x5a\\x99\\x99\\xb6\\xbb\\x0b\\xc9\\x4a\\x87\\xf8\\xb4\\xac\\x00\\xb1\\xc6\\xc0\\xb1\\xfd\\xcb\\xa1\\xde\\x2f\\x3c\\xa9\\x9e\\x57\\xdf\\xda\\x0f\\x73\\x2f\\x9f\\xdf\\xf0\\x8e\\x4d\\xfd\\xc1\\xf1\\xe1\\xde\\xdb\\xef\\x9a\\xf7\\xf6\\x86\\xd3\\xb7\\xbc\\xda\\x7d\\x38\\xf4\\x00\\xd3\\x39\\x78\\xe8\\xb3\\x69\\xa3\\xae\\x2d\\x3e\\x90\\x2f\\x79\\xcf\\x79\\x50\\xdd\\xb7\\xf1\\x8d\\xad\\x9a\\x8f\\x54\\xe0\\x58\\x3c\\x4b\\x1e\\xc2\\x02\\xc5\\xbe\\x0c\\x12\\xd7\\x61\\xac\\xe2\\x8b\\x41\\xd7\\xd0\\x7c\\x6f\\x93\\x0e\\xb8\\xbf\\xd8\\x45\\x0b\\x99\\xc9\\x69\\xd8\\x3f\\x4b\\xa8\\x1d\\x1b\\x33\\x6d\\x3d\\x47\\x13\\x47\\xda\\xce\\x42\\xcf\\x2b\\xd4\\x97\\x5f\\x86\\xe8\\xbe\\x8a\\x39\\xcc\\x76\\xf0\\xe6\\xd3\\x4b\\xe7\\xde\\x19\\x94\\x10\\xd9\\xa6\\x4b\\x94\\xdc\\xc5\\xf1\\x44\\xec\\x77\\x5d\\xef\\x86\\xad\\x8e\\x91\\xff\\xb5\\x98\\xdb\\x76\\xc6\\x3a\\x37\\x31\\x66\\xd0\\xa1\\x4e\\x6c\\x2c\\xc3\\x16\\x61\\x31\\x9b\\xc3\\xf4\\x6d\\xe5\\xac\\x1e\\x59\\x3d\\x3b\\xdd\\x34\\x39\\xbf\\x93\\xdc\\x36\\x2c\\x4c\\x6f\\x8a\\x31\\x4b\\x60\\xb2\\x38\\xb7\\x31\\xc3\\x5a\\x9d\\x0c\\x84\\xb8\\x18\\xe8\\x84\\x73\\x72\\x3f\\x45\\x4f\\xfd\\x4a\\x94\\x1c\\xd8\\xb1\\xbb\\x82\\x46\\x09\\xc0\\xd9\\x61\\x70\\x88\\x98\\x09\\x66\\x05\\x74\\x97\\xdc\\xfb\\x94\\xf9\\x71\\xbd\\xf2\\x96\\xba\\x01\\xa3\\x0b\\x00\\xdf\\x80\\xd0\\xd0\\x56\\x46\\x75\\xa3\\xfa\\x58\\x3e\\xb4\\x8a\\x03\\x09\\xf0\\x3f\\x73\\xa8\\x35\\xc6\\xea\\x0b\\x43\\xa0\\xab\\x95\\x8b\\xff\\x82\\x43\\x02\\x53\\x43\\x0e\\xb6\\x1e\\x38\\xa1\\xb2\\x67\\xd7\\x9b\\x6f\\x5a\\x1e\\xd4\\x36\\x2c\\x30\\x2e\\xda\\x6a\\x92\\xda\\x7b\\xf7\\x1d\\x37\\x29\\x4e\\x8a\\xee\\x64\\xb3\\x75\\x0b\\xa9\\xfb\\x54\\x59\\x5a\\xf7\\xa9\\x75\\xd0\\xa0\\x7e\\x9d\\x63\\xa4\\x76\\xb6\\xa1\\x23\\x86\\x44\\x49\\xbe\\x75\\x4b\\xdb\\x4d\\x68\\x93\\x9a\\xdc\\xb9\\x6b\\xfa\\x82\\x6c\\x9e\\x30\\x64\\x66\\x6e\\x54\\x7c\\xbb\\xf7\\x2c\\x66\\x63\\x78\\x72\\xac\\xd0\\x75\\x11\\x63\\xfa\\x12\\xd4\\x75\\x27\\x96\\x69\\x8b\\x34\\xf9\\xfb\\x07\\xe9\\x62\\xe4\\xe4\\x8c\\xe4\\xcc\\xa4\\x8e\\x43\\xf3\\x93\\x4c\\x31\\x41\\xfa\\x20\\xbf\\x70\\x7f\\x7f\\x7f\\xf0\\x0b\\xa2\\xe3\\x53\\x9a\\x15\\x3c\\x85\\x77\\xea\\xe8\\x27\\x69\\x82\\x07\\x06\\x47\\x02\\x49\\xeb\\x14\\x3d\\xc8\\x29\\x3a\\x34\\x98\\x45\\x7e\\x5d\\xfd\\x2c\\x49\\x08\\x1e\\x10\\x11\\xed\\xa7\\xee\\x53\\x3f\\xeb\\x0d\\xdc\\x17\\x7c\\xfd\\xbc\\x23\\x7c\\x21\\x01\\x92\\xdb\\xe1\\x15\\xf0\\xf3\\xf3\\x09\\xf3\\x5e\\xd7\\x69\\xdd\\xec\\xf9\\xf3\\xc8\\x68\\x39\\xa1\\xfc\\x81\\xa8\\xbc\\xbe\\x1d\\xa5\\x8e\\x7d\\x86\\xb4\\x76\\x54\\xa0\\x05\\x97\\x45\\xf4\\x8c\\xcc\\x8d\\x89\\x89\\xec\\x19\\xc1\\x6f\\x71\\x2c\\x0b\\xeb\\x19\\x19\\x13\\x17\\x87\\x7f\\x85\\xc1\\xfd\\xb7\\xcd\\x17\\x56\\x4d\\xec\\x42\\xbe\\x8e\\x71\\x9d\\xfc\\x09\\xca\\x17\\x80\\xbd\\xf6\\x20\\x5b\\x42\\x88\\x2f\\xb0\\x40\\x53\\x84\\x39\\x42\\x2f\\xeb\\xcd\\xbe\\x72\\x94\\x25\\x20\\xa0\\xb5\\xc5\\x5f\\xe1\\x81\\x26\\x33\\x98\\x8c\\xc8\\x54\\x98\\xd1\\x44\\xfe\\x25\\x46\\x0f\\x4b\\xb6\\xb6\\xc3\\xa1\\xe7\\xd1\\x30\\xa8\\x80\\x74\\xe7\\xac\\x5a\\x12\\xeb\\x4c\\xae\\x69\\xb4\\x4e\\x1f\\x00\\xd1\\x0d\\xdb\\x63\\x0b\\xd7\\x1b\\xf7\\xaf\\xa8\\xdb\\x7d\\xd6\\xad\\x99\\x32\\xa7\\x66\\x49\\x07\\xd8\\x02\\x29\\x75\\x07\\xba\\xb5\\x6f\\x15\\xd8\\x07\\x7e\\x4c\\x7e\\xbc\\xdd\\xb8\\x9c\\x95\\x6b\\x2a\\x47\\xe6\\x3f\\x90\\xab\\xce\\x95\\xa6\\xa9\\x6f\\xc4\\x77\\x8f\\x09\\x8f\\x2c\\x8d\\x14\\xfd\\x36\\xf2\\x3b\\xca\\xb9\\xaf\\x8f\\x45\\xaf\\xe8\\x24\\xd9\\xcb\\xa0\\x83\\xc9\\xf9\\x3a\\x4c\\x49\\x92\\x85\\x3c\\x9f\\xbe\\xc9\\xd7\\xf6\\x7e\\xd7\\x86\\x31\\x39\\xc1\\xf1\\xc8\\x1c\\xf5\\x88\\x36\\x7c\\x95\\xba\\xc6\\x2d\\xad\\xbf\\x65\\x4c\\xca\\xc1\\x3e\\x86\\xf0\\x38\\xf6\\xb5\\x88\\x07\\x72\\x5e\\x3e\\x80\\x4e\\xef\\xaf\\x0b\\x6a\\x82\\x27\\x69\\xe7\\x3f\\x71\\xd3\\x48\\xb8\\x35\\x5e\\x5d\\x38\\x4e\\xfd\\x7a\\xbf\\xdc\\x45\\x1d\\xf9\\x5f\\xb5\\xa3\\xdc\\x45\\xeb\\x3b\\xa2\\xeb\\xcf\\x2b\\x93\\x51\\x9f\\x06\\x44\\xee\\x66\\x8b\\x96\\x7c\\x59\\x64\\x98\\xc5\\x12\\x19\\xec\\x2b\\xc7\\xc7\\x05\\xe3\\x98\\x17\\x6c\\x12\\x3b\\x0c\\xe7\\xe5\\x9b\\x82\\x8d\\xba\\xbc\\x7c\\xa3\\xc9\\x63\\xb7\\xa6\\x9c\\xa4\\x46\\x53\\xe1\\xf8\\x4c\\x8b\\x73\\x63\\xa6\\x00\\x54\\xa0\\x89\\x45\\x5b\\xa9\\x2b\\xd1\\xd3\\x02\\x56\\x48\\x40\\x77\\x99\\x9f\\x7f\\xea\\xdd\\xae\\x59\\x59\\xdd\\xcc\\x4f\\xae\\xfd\\xaf\\x5a\\xa1\\xde\\xe1\\xd8\\x7d\\x1f\\xe8\\x9f\\x68\\x3b\\xfd\\x81\\xd2\\x89\\x95\\x21\\xed\\xbb\\x4f\\x98\\xfd\\xbc\\x02\\xd6\\xb3\\xd3\\x66\\xf6\\x1b\\x0b\\x13\\xbf\\x78\\x5d\\x7d\\x4a\\x5d\\x01\\x17\\x9e\\x83\\x98\\xa7\\x0e\\xea\\x4e\\x3e\\xf9\\xd0\\x06\\x85\\x67\\xcf\\x9e\\xd2\\x2f\\x3d\\x0c\\x79\\x56\\xd8\\x60\\xfe\\xb6\\xf4\\x05\\x3d\\xff\\x8b\\xb1\\xf9\\x31\\x9d\\xcc\\x0d\\xb2\\x97\\x58\\x82\\xe5\\x32\\x77\\x2d\\x9b\\x68\\x9d\\x2a\\x3d\\xb6\\xcc\\x8a\\xd7\\x03\\xfe\\x16\\xa6\\xf2\\xe4\\x54\\xc7\\xbc\\x14\\xa4\\xbc\\xfd\\x95\\xb7\\xae\\x38\\x4a\\x90\\x88\\xef\\x90\\x5e\\x90\\xde\\x84\\x8e\\xce\\xb3\\x49\\xfd\\x5e\\xc5\\x89\\x8c\\x78\\x08\\xb8\\x07\\xa7\\x2b\\xda\\x87\\x62\\x52\\x6c\\x46\\x3a\\x74\\x5c\\xbe\\xfc\\xd8\\xd3\\x4f\\x4b\\x6f\\x72\\xb3\\xfa\\xec\\xa3\\x78\\xcf\\x71\\xe9\\x2a\\x1c\\x56\\xf6\\x38\\xef\\x11\\xc7\\x6c\\xcb\\xae\\x7b\\x02\\xb0\\xbc\\x94\\x08\\x21\\xb7\\x3f\\xfd\\x74\\x42\\x21\\xcc\\x2f\\x54\\x3a\\x3c\\xaa\\xb6\\x9b\\x02\\x73\\x8a\\x44\\x5d\\x8f\\xcb\\xe3\\xe1\\x25\\x67\\x5d\\x3e\\xaf\\xa0\\xcf\\x89\\xb3\\xad\\x77\\xa7\\x69\\x77\\x85\\x04\\x45\\x67\\x5c\\x7b\\xfa\\xe9\\xd7\\x1c\\x17\\xf0\\x9e\\xef\\x97\\x2d\\xc3\\x31\\x65\\x16\\x96\\x5f\\xaa\\x6c\\x13\\xa7\\x29\\x6d\\x56\\xc4\\x26\\x15\\xe9\\xbb\\xb5\\x0f\\x02\\x91\\xa7\\xa5\\x8e\\x0b\\xb0\\xe2\\x76\\x79\\xfc\\xb2\\xa3\\xda\\xf3\\x43\\xb3\\xe4\\x90\\x8e\\xeb\\x73\\x69\\x77\\x06\\x7f\\x9c\\x22\\x2a\\xe2\\x2e\\x6f\\x50\\x14\\x2f\\xc9\\xcb\\x75\\x6a\\xa7\\x73\\x79\\xd9\\xf9\\x6c\\x94\\xbe\\x53\\x4d\\x07\\xe9\\xb8\\xfa\\xdd\\x7a\\xf5\\x5b\\x18\\x1e\\x07\\x63\\x95\\x63\\xaa\\x15\\xbe\\x8a\\x80\\x81\\xea\\xab\\x37\\x60\\x62\\x88\\x26\\x21\\xe7\\x46\\x11\\x78\\xe8\\xb9\\xbe\\x19\\x4c\\x83\\x88\\x1e\\xe9\\xb3\\x15\\xc4\\x7c\\x26\\x4e\\x7d\\x11\\x42\\xd6\\x43\\xb0\\xd2\\x5f\\x7d\\x15\\x06\\x46\\x88\\x2d\\xc5\\x84\\xcf\\x5d\\x93\\x9e\\xe2\\x17\\xf4\\xbb\\x9d\\xcf\\x6f\\xc5\\xe9\\xa2\\x92\\x97\\x64\\x40\\x3e\\xb1\\x49\\x78\\x9c\\x2e\\x4a\\x1e\\x8c\\x43\\xa1\\x98\\x0e\\xf2\\x11\\x5f\\x4f\\x80\\x04\\xd5\\x3b\\x03\\xac\\x19\\xca\\x50\\x7e\\xcb\\xf5\\xcf\\xc1\\x4f\\xbd\\xe4\\xc4\\xfa\\xd6\\x89\\x15\\x67\\x33\\x31\\x1c\\xe6\\x41\\x42\\xf6\\x0c\\x62\\xaf\\x2e\\x19\\x3c\\xe0\\x9c\\xfd\\x1b\\xf6\\x63\\xe9\\x01\\xa2\\x4d\\x58\\xd5\\xcf\\x1f\\xfd\\x7a\\x66\\x86\\xfa\\x55\\x06\\x42\\xdc\\x02\\xcf\\xa9\\x97\\xc0\\x4f\\x6b\\x13\\xeb\\xe1\\x29\\x7e\\x8f\\xf2\\x17\\x30\\x61\\xa7\\x1b\\x13\\x1a\\x61\\x42\\x7d\\x02\\xda\\x71\\x0b\\xda\\xd1\\xc0\\x02\\x5f\\x57\\x14\\x83\\xa4\\xd7\\x03\\x6d\\xd0\\x26\\x7c\\x34\\x55\\x9c\\xe6\\x1a\\xe4\\x7c\\x55\\xe3\\x73\\x7e\\xcf\\xa9\\xdb\\xd7\\xdf\\xae\\x6c\\x5b\\xb6\\x73\\xa7\\x66\\x57\\x55\\x2c\\x51\\x7d\\x8b\\xb1\\xbf\\xb8\\x57\\x96\\xb9\\x38\\x9a\\xcf\\x40\\x87\\xd0\\xee\\xa1\\x7b\\xc1\\xf9\\x4a\\x47\\x50\\xb4\\x9a\\x8f\\x77\\x9e\\x72\\xcc\\x82\\x49\\x47\\x77\\xee\\x5c\\x46\\xf5\\x76\\x55\\x67\\xc0\\x95\\xfa\\xfb\\xb1\\x6d\\xc4\\xd9\\x2c\\x8c\\x0b\\xc3\\xc9\\xe2\\x8d\\x29\\x0e\\x9c\\xe9\\x00\\x9d\\xaf\\x20\\x7d\\x4f\\x41\\x9a\\x73\\xe4\\x15\\xfa\\x4e\\x14\\x3b\\x73\\xc2\\x95\\x93\\x85\\xf7\\x9f\\x84\\x8c\\x1d\\xea\\x8c\\x55\\xab\\x20\\x11\\x75\\xf2\\x6f\\xf0\\xe3\\x03\\xb1\\xd3\\x10\\x3a\\x09\\xb5\\x79\\xcb\\x4c\\xc7\\x65\\x83\\x97\\x82\\x2d\\x8e\\x9e\\x64\\x38\\x3b\\x1c\\xb1\\x1f\\x97\\x30\\xd7\\x4f\\x99\\x60\\xcd\\x54\\x6b\\x05\\x95\\xac\\xe2\\x94\\x5d\\xc7\\x0f\\x74\\xca\\x2e\\x67\\x1d\\x21\\x56\\xea\\x22\\xb7\\x25\\x9c\\x30\\x9b\\xb7\\x8e\\xa1\\xed\\x51\\x1a\\xae\\xc8\\xd4\\x0e\\x5c\\x76\\x0f\\x10\\xc1\\x0f\\xfe\\x3e\\xda\\x9e\\x57\\xb5\\x77\\xc4\\x26\\xf1\\xaa\\x24\\x69\\xc0\\xf1\\xe3\\x8e\\x23\\xc7\\xb4\\x7d\\xff\\xd8\\x74\\xd8\\xc7\\xdb\\xd0\\x1e\\xc9\\xe1\\x36\\x6f\\xf4\\x53\\x59\\xf8\\xbb\\x24\\xb9\\x3f\\xd0\\xb1\\xb8\\x23\\x29\\x18\\xf6\\xf5\\x43\\x38\\x0e\\xed\\x93\\x5e\\x12\\xf7\\xbd\\x2c\\xe5\\x70\\xad\\xad\\x47\\xda\\xbc\\xb1\\xff\\x04\\xf4\\x39\\x71\\x2e\\x87\\x76\\xb8\\xb4\\xd9\\xf9\\x88\\xcd\\x79\\xe7\\x3d\\x5f\\x4d\\x80\\x78\\xbc\\xe1\\x6e\\x6d\\x8f\\xca\\x01\\x18\\xc7\\xe8\\x94\\xdd\\xa6\\x04\\xd6\\x9f\\xce\\x57\\x1e\\xc4\\x9f\\xc3\\x0b\\x31\\xb6\\xe0\\x54\\x2b\\xcc\\xb2\\x2e\\xb1\\x72\\xc6\\x5f\\x12\\x0f\\x5d\\xc2\\x5f\\x0a\\x87\\x25\\xe1\\x50\\xe0\\x3c\\x5b\\xb9\\xa0\\xa0\\x99\\x7b\\xf3\\xe8\\xde\\x14\\x5b\\xf4\\xca\\x08\\x48\\x8d\\xf8\\x2f\\x4e\\x3a\\x22\\x60\\x68\\xc4\\xac\\x88\\x25\\x11\\x5f\\x45\\xc8\\x84\\x03\\x21\\x2f\\x85\\xc0\\x92\\x10\\x82\\x11\\xff\\xcf\\x2e\\x98\\x8d\\x38\\x5b\\x21\\x81\\xf7\\x93\\x8f\\x58\\x12\\x14\\x83\\xd8\\x0b\\x54\\xbe\\xc2\\x7e\\x51\\x5f\\x43\\x3b\\xdf\\xab\\x3c\\xc5\\xfb\\xe9\\x4e\\x31\\x13\\x0b\\xd8\\xe2\\xe5\\x8f\\x82\\xfa\\x4a\\x5b\\x21\\x07\\xc7\\x78\\xb4\\x6e\\xc3\\x89\\x36\\x38\\xa3\\xd3\\x36\\xb3\\xe6\\xfd\\xc2\\x3f\\xdb\\x78\\xe7\\x6a\\xfd\\x6e\\xa9\\x5b\\x46\\xf7\\x02\\x5f\\xdd\\xa9\\x87\\x9e\\xaa\\x9d\\x17\\xdf\\x26\\x36\\x3b\\x67\\x6c\\x2f\\x92\\x75\\x2b\\x7b\\x50\\xde\\x2c\\x1f\\x31\\x69\\xf5\\x24\\x2a\\x06\\x3e\\x8d\\xea\\xbb\\xc0\\x0f\\xc2\\xc2\\xfa\\xfa\\xfa\\x6d\\xf5\\x9f\\x2a\\x21\\xc8\\x87\\x4e\\xb1\\xd0\\x79\\x9e\\xe8\\xaa\\xca\\xe3\\xf4\\xb7\\xa6\\xab\\xdb\\x70\\xdc\\xab\\xa3\\xbf\\x25\\xfa\\xbb\\x0f\\xfe\\xfd\\x0b\\xfd\\x2d\\x53\\xf9\\x6f\\xf1\\xef\\x44\\xfa\\xdb\\x9b\\xae\\x0f\\xa9\\x7f\\x5f\\xae\\xd5\\x2d\\xc5\\xbf\\x7d\\xe8\\xef\\x7e\\x88\\x37\\x9c\\xae\\xfb\\xd2\\xdf\\xb7\\x62\\xf9\\x64\\xfa\\xbb\\x15\\xdd\\xff\\x19\\x5e\\x1f\\x4a\\x7f\\x87\\x91\\x3f\\x8c\\x83\\x0f\\xe5\\x85\\xf2\\x3c\\xf4\\xaa\\x56\\xaf\\xe0\\xd4\\x99\\x6f\\x85\\x1e\\x9b\\xf3\\x41\\xde\\x0a\\x59\\x2c\\x87\\x4e\\xdc\\xd2\\xde\\x05\\x11\\x3f\\xf2\\xc2\\xeb\\xc7\\xe0\\x0e\\x1c\\x5c\\x57\\xc0\\x87\\x68\\xad\\xe7\\xd5\\x91\\x88\\xbf\\xad\\xfe\\xaa\\xee\\x45\\x5d\\x2e\\xea\\x35\\x94\\xe4\\xbc\\xa8\\xac\\xa6\\x7a\\x6f\\xc8\\x67\\xf7\\x37\\x93\\x9f\\xa8\\x95\\x17\\xf6\\x90\\x43\\xeb\\x37\\x35\\x73\\x9d\\xf2\\xe9\\xfe\\x7b\\x35\\x7d\\xd5\\x87\\x92\\xbe\\x12\\x84\\xbe\\x48\\xaf\\x9b\\xb5\\x7c\\x75\\x63\\xa3\\xfc\\x1f\\x5d\\xf9\\x4e\\xfd\\x52\\xbe\\x19\\xeb\\xe1\\x5e\\x8e\\xd7\\x99\\xf1\\x55\\xf0\\x8f\\x82\\x28\\x66\\x2e\\xc8\\xc0\\x32\\xe7\\x51\\x47\\xeb\\xa8\\x0c\\x68\\xbc\\xc0\\x7e\\xba\\xf7\\x08\\xc6\\x0c\\xd9\\x94\\xcf\\x9d\\xf9\\x8c\\x0d\\xf2\\xb0\\x51\\x82\\xb0\\x11\\xe5\\x3f\\xda\\xc8\\x56\\x09\\xc2\\x56\\x22\\x9f\\x3f\\x4f\\x38\\xd8\\xf4\\x9c\\xbe\\x87\\x4c\\x98\\x74\\xf2\\x15\\x23\\xd9\\xba\\xfe\\x47\\xc4\\xcf\\x90\\xaf\\x61\\xbe\\x4e\\xcb\\x8f\\xd4\\x7c\\xe0\\x6e\\x8c\\x2d\\x06\\xc9\\x3f\\x60\\xbe\\x97\\x13\\x47\\xe3\\xe7\\x18\\xef\\xd3\\xc4\\x87\\x8d\\xec\\x79\\x61\\x63\\x75\\xb1\\x9c\\x44\\xf9\\x46\\x27\\x3f\\xab\\x1b\\xf9\\x4a\\x82\\xf0\\x15\\xca\\xff\\xb4\\xfe\\x4d\\x0f\\x9f\\x49\\x10\\x3e\\x43\\xf9\\x9f\\x31\\x93\\xc6\\xa7\\x32\\x56\\x3e\\x8e\\xf9\\x7e\\x5a\\xbe\\x94\\x48\\xf9\\x27\\x90\\x4f\\x0b\\xe1\\x98\\x9c\\xf5\\x7e\\xa8\\xf9\\x16\\xf2\\x39\\x8e\\xf2\\xcd\\x4e\\x3e\\x3f\\xa5\\xfc\\x79\\xc8\\x8f\\xa6\\x87\\x00\\x67\\xfe\\x62\\xb6\\x12\\xf3\\xd3\\x11\\x9f\\x53\\x7e\\xa0\\x33\\x7f\\x0e\\x5b\\x87\\xf8\\x18\\x4c\\x28\\x5e\\x94\\x1f\\xec\\xe4\\x67\\xb4\\xfa\\x33\\xe6\\xd7\\xa9\\x8b\\x15\\x13\\xe5\\x87\\x38\\xcb\\x3f\\xc7\\xb2\\x3d\\x7c\\x3a\\x41\\xf8\\x74\\x83\\xbc\\x9a\\xef\\x50\\x7e\\xa8\\xd3\\xa7\\x42\\x84\\x4f\\xb9\\x7d\\x3e\\x41\\xf8\\x3c\\xc9\\xe5\\xe5\\x6a\\x2b\\xd8\\xf6\\x73\\x9d\\x76\\x41\\x1f\\x03\\xad\\x8d\\x90\\x3f\\xe8\\x92\\xdc\\xfe\\xf0\\x33\\x4f\\x6d\\xd0\\x27\\xe5\\x6b\\xfa\\xfc\\x19\\x4e\\x11\\x0e\\xc9\\x45\\xf9\\x81\\xce\\xf2\\x33\\xa9\\x6d\\x6d\\xc1\\xfc\\xa5\\xba\\x95\\x38\\x79\\xb4\\xbe\\xea\\xaf\\xd3\\xc9\\x96\\x6d\\xd0\\x85\\x19\\x21\\x7b\\x33\\x70\\x6c\\x60\\xd9\\xd8\\x75\\xd2\\x4c\\xc2\\xd5\\xe1\\x4a\\xe9\\x18\\x37\\xe7\\x80\\x38\\x98\\x59\\x6f\\x09\\x89\\x86\\xc9\\xcf\\xd5\\x82\\xdf\\xe8\\x01\\xd0\\x76\\xf0\\xe4\\xb8\\x9e\\x10\\xd8\\xaf\\xdd\\xfa\\x2d\\x6b\\xe7\\xaa\\x7b\\xe5\\x68\\x0c\\xaa\\x07\\x38\\xf6\\x74\\x5d\\x77\\xcb\\xd1\\x1f\\x57\\x1e\\xb6\\xab\\x9f\\x1f\\xc0\\x7e\\x2c\\x5a\\x5e\\xc7\\x57\\xe9\\xda\\x8b\\x7d\\xad\\x36\\xd3\\xcb\\x58\\x7b\\xb0\\xfb\\x92\\x62\\x59\\xb4\\x5e\\x27\\x27\\x6e\\x85\\xde\\x3c\\xd5\\x7a\\x5e\\x3d\\x26\\xaf\\x83\\xbb\\x9e\\xe6\\xe5\\x58\\x7e\\x08\\x96\\xef\\xe7\\x2c\\xaf\\x63\\xe2\\xb1\\xba\\x28\\x6f\\x0d\\x88\\x4d\\x81\\xc4\\xfb\\x78\\xf2\\x0b\\x5b\\x27\\x5c\\x3b\\xaf\\x6b\\xaf\\xd6\\xd4\\x96\\x4b\\x34\\x1e\\xb6\\xc3\\xf2\\x8b\\x95\\xb3\\xcc\\x57\\x9c\\x71\\x8f\\x5d\\x8b\\xe4\\x6f\\x04\\xa3\\x78\\x40\\x5b\\x90\\xa6\\x09\\xa0\\xcd\\x69\\x62\\xb5\\x53\\x43\\x79\\x7e\\xc9\\x7b\\x85\\x63\\x2b\\x63\\xdf\\xcc\\xfe\\x6e\\xe3\\xc8\\x1d\\xf3\\xe5\\xaf\\x5b\\xa7\\xf4\\x1b\\xf8\\xf8\\x73\\x31\\xad\\x09\\x2b\\x53\\xde\\xc0\\x57\\x28\\xdf\\xb9\\xb1\\xfc\\xf5\\xa0\\x97\\xc4\\xeb\\x1a\\x7b\\x0a\\x08\\x4b\\xd2\\xb6\\xf0\\x4e\\xa7\\xce\\x37\\x71\\x63\\xc9\\xbb\\x85\\x63\\x67\\xc5\\xbe\\xd9\\xe5\\xfc\\x86\\x91\\xdb\\x16\\x2b\\x1b\\x05\\xd4\\xda\\x67\\xa3\\xad\\xda\\x7b\\x4a\\xf4\\x1e\\x9a\\xb2\\x9d\\xde\\xcf\\x12\\xef\\x80\\x44\\x62\\x3c\\x2e\\xd6\\x4e\\x3b\\xb3\\x5c\\xb4\\xef\\x20\\x36\\x9c\\xe5\\xb3\\xc9\\xac\\x8c\\x5d\\xb3\\xfd\\x4b\\x9f\\x99\\x19\\xa5\\xcb\\xc8\\x88\\xf2\\x86\\xe8\\xe8\\xa8\\x92\\x9c\\xd4\\xc1\\xd9\\x85\\x63\\x26\\x4e\\x4c\\x4c\\x1a\\x91\\x1c\\x37\\xce\\x2f\\x44\\x6a\\xdd\\x3a\\xc4\\x32\\x6e\\x44\\x62\\xe1\\xe0\\x1c\\xc3\\x10\\x23\\x8b\\x8a\\x9a\\xd6\\xbb\\xe3\\xb0\\x61\\x43\\xc2\\x07\\x0c\\x18\\x12\\xd6\\xbf\\x7f\\x9f\\xb4\\x21\\x43\\xca\\xbd\\xfb\\x0c\\x8b\\xc9\\x9b\\x3a\\xb5\\x6b\\xd7\\xc4\\x20\\x93\\x69\\x62\\x62\\x41\\xf2\\x98\\xd1\\x45\\x45\\x3d\\x7b\\xb6\\x69\\x05\\x69\\x43\\x13\\x61\\x52\\x2b\\xc8\\x4b\\x1c\\xd3\\x2a\\x2d\\xad\\xd5\\x98\\xc4\\x3c\\x25\\x7d\\x60\\x96\\x75\\xd8\\xb0\\x01\\x99\\xad\\x87\\xf8\\xf4\\x0d\\xd7\\x4b\\x1d\\x3a\\x44\\x78\\xc9\\xe9\\x2c\\xd5\\xf5\\xa5\\xde\\x07\\x69\\xee\\xa4\\xeb\\x85\\x5f\\xed\\x55\\x86\\x86\\x8f\\x72\\x9d\\x29\\x3a\\xfa\\x30\\xad\\xd1\\x89\\x5c\\xee\\x72\\x0d\\xab\\x3f\\xe9\\xe6\\x26\\x3f\\x9e\\x2b\\x42\\x18\\x1f\\x65\\x44\\x2b\\xe2\\x23\\x6d\\x8c\\xca\\xc5\\xfb\\x54\\x74\\xa4\\x51\\x06\\xa6\\x45\\x1e\\x46\\xc4\\x18\\x13\\x07\\x46\\xe3\\x35\\x71\\x96\\x75\\x30\\xc4\\x8a\\xcd\\xf9\\xe9\\x92\\xe7\\x3b\\x24\\xb1\\x5a\\x71\\x45\\x1c\\xfd\\x9e\\x0e\\x9d\\x92\\x20\\x08\\x67\\xb2\\xda\\x3f\\x60\\x8a\\x8d\\x31\\x9b\\xd2\\xd3\\xbc\\x58\\xf1\\x71\\xe8\\xe5\\xd8\\xae\\xbe\\x0d\\xbd\\x78\\x4e\\x71\\xb1\\x7a\\x75\\xff\\xe8\\x4e\\xfd\\x43\\xdb\\x4c\\xaa\\xa9\\xbb\\x4b\\xe4\\xc9\\x8b\\xd4\\xb7\\x8f\\x17\\x3b\\x56\\xaa\\x3f\\xfc\\x78\\xee\\xd7\\xfc\\x79\\xd7\\x5f\\x3d\\x5e\\xac\\x65\\xe2\\x4d\\xab\\x36\\x3e\\xfc\\xf0\\xfa\\xf5\\x0f\\x3f\\xbc\\xd1\\xe1\\x57\\x5c\\x2c\\x45\\x51\\x1e\\x02\\x15\\x1f\\x97\\xb6\\x3d\\x91\\x5f\\xf2\\x50\\xd4\\x7f\\x2a\\x6f\\x79\\xdc\\xb1\\xf3\\xc3\\x0f\\x3e\\xf8\\x50\\x5e\\x74\\xbc\\xb8\\xb8\\xb8\\x6e\\x11\\xf4\\x52\\x4f\\x5c\\x4c\\xce\\x0b\\x5b\\x0e\\xa7\\x21\\xbc\\xf8\\x5a\\x0e\\xd6\\xed\\xf3\\x29\\x7f\\x6f\\xdb\\xf8\\xcc\\x14\\xfe\\x00\\xf2\\x81\\x39\\x7c\\xc1\\x0b\\xef\\xbc\\xf3\\xc2\\x4b\\xef\\xbc\\xa3\\x6e\\x82\\x5e\\x75\\x8b\\x8a\\xb1\\xba\\xe3\\x52\\x68\\xd1\\x8e\\xbd\\x33\\xbf\\x60\\xf5\\xe0\\xab\\x5e\\x56\\x7f\\x12\\xed\\x74\\xa8\\x9a\\x0d\\x4b\\xea\\x37\\xa3\\x07\\x45\\xdb\\xfc\\x74\\x0a\\x28\\x18\\xfc\\xcb\\x8a\\x7c\\xf7\\x78\\xec\\x4f\\x4d\\xff\\x73\\xad\\x9d\\x6a\\x0b\\x2c\\x01\\xb1\\x74\\x84\\x1b\\xb6\\xd1\\x23\\x77\\xce\\xf2\\x9f\\xd1\\xe6\\xa7\\x56\\x7e\\xdd\\xd5\\xec\\xe2\\x3e\\x7b\\x17\\xf5\\xa9\\x12\\x58\\x51\\xf2\\x3a\\x29\\x47\\x71\\x30\\x1f\\xd6\\xda\\xe6\\x2b\\x19\\x7d\\x8d\\x7e\\x32\\x76\\xd6\\xfa\\xfb\\x69\\xa7\\x58\\x44\\x3a\\xf0\\x81\\x16\\x2e\\x69\\xdb\\x30\\xd2\\xf6\\xed\\x62\\xaf\\x7a\\x58\\xf3\\xef\\x37\\x32\\xb7\\xb7\\x9f\\xde\\xf7\\xf5\\xf1\\xb3\\xba\\x1e\\x94\\xd7\\x2d\\xb9\\x75\\xc0\\xd4\\x51\\xbb\\x3b\\xae\\xa2\\xe7\\x71\\x63\\xa5\\x2b\\x70\\x17\\xc6\\x6c\\x06\\x8c\\x99\\xfc\\x25\\x9c\\xb1\\x1a\\x75\\x1a\\x83\\xf9\\x8a\\xe4\\x5c\\x11\\x74\\xc6\\x60\\xd9\\x9e\\x0c\\x9e\\xb8\\xb3\\xca\\x8c\\x0c\\x46\\xf8\\x77\\x95\\xae\\x94\\xe4\\xef\\xbd\\xaf\\xcf\\x6c\\x71\\x2e\\xb8\\xfc\\x16\\xd4\\xe8\\xfa\\x3b\\xb1\\x74\\x60\\x04\\x6f\\x26\\xd9\\x24\\xdd\\xdd\\xe3\\x25\\xc2\\x12\\x1b\\x0c\\xba\\xa3\\xda\\x80\\x74\\x9d\\x78\\xe0\\x95\\xd5\\x1d\\x4e\\xdc\\xaf\\x61\\x99\\x7b\\xe9\\xfa\\x0b\\xac\\x31\\x73\\x30\\x04\\x4c\\x56\\xae\\xe1\\x7c\\xc4\\x44\\xfb\\x9a\\x82\\x4e\\x51\\xf4\\x7c\\x09\\x13\\x9b\\x69\\xbb\\x25\\x8c\\xcf\\x4a\\x0f\\xd1\\xf3\\x02\\xf5\\x13\\xc3\\x0f\\x1f\\xeb\\x95\\x6b\\xe7\\x92\\x7e\\x6e\\x2d\\xe6\\x46\\x41\\xca\\x35\\x29\\xc3\\x79\\x1f\\x93\\x74\\xd2\\x0d\\xf7\\x65\\xc5\\x47\\xeb\\x15\\x08\\xd2\\x63\\xf8\\xe5\\x6d\\x50\\x17\\x29\\xd7\\x5a\\xff\\x9c\\x74\\x4e\\x8b\\x5f\\x9f\\xc2\\x7b\\x57\\xe8\\x93\\x90\\xff\\x08\\x8c\\x82\\x65\\x1c\\xf0\\xbc\\x25\\xc3\\x12\\x9d\\x98\\xe0\\x85\\xed\\xc9\\x6e\\x88\\xc7\\xf5\\xb1\\x89\\xb1\\xc8\\x39\\xa4\\x4b\\x2b\\x94\\x55\\x2f\\xca\\x3f\\x3e\\xab\\x40\\xd6\\x19\\x5d\\x48\\xe4\\x43\\x0f\\x45\\x42\\x20\\xe2\\x3c\\x84\\x38\\x0b\\x5d\\x38\\x5c\\x67\\xf4\\xf2\\xf2\\x56\\xf4\\xf2\\x12\\x10\\x7c\\xa4\\x79\\xe0\\xc4\\x4a\\x28\\x83\\x58\\xd1\\xe7\\xfd\\xce\\xec\\x56\\x1e\\xdc\\x22\\x9f\\x7d\\x56\\xa7\\x5c\\x83\\xc0\\xc8\\xd5\\xab\\x23\\x45\\xdf\\xbf\\x05\\x71\\xa6\\xeb\\x0e\\x5a\\xf4\\x6c\\x1a\\x4b\\x85\\x81\\xc4\\x63\\xa5\\xf2\\xab\\xf4\\x8a\\x3e\\x8a\\x85\\x88\\xdd\\x8f\\xc5\\x81\\x23\\x81\\x41\\x41\\xa1\\x41\\x3e\\x3e\\xca\\x3d\\xf9\\x3e\\x66\\x66\\xbe\\x27\\xdf\\x20\\xb6\\x16\\xd4\\xb6\\xea\\x74\\x2d\\x63\\x3a\\x87\\x81\\x98\\x14\\xee\\xee\\x46\\xa3\\xb8\\xb3\\x17\\xe4\\x6b\\xda\\x0f\\x1b\\x98\\x1b\\xd5\\x2e\\x2b\\xd4\\x9e\\xb8\\x62\\x6a\\xf2\\x88\\x01\\x3d\\x23\\x93\\x3a\\xb7\\xba\\x23\\x71\\x85\\xf2\\x6b\\x42\\x6a\\x42\\x7a\\xbf\\xc7\\xef\\xc0\\x7f\\x3a\\xf7\\x7a\\xfc\\x0e\\x9c\\x27\\x74\\x41\\x7e\\xb6\\xeb\\xcd\\xb4\\x6f\\x00\\xce\\x11\\x25\\xec\\xdb\\x7d\\x0c\\x06\\x5f\\x2f\\x9d\\x53\\xc7\\xe9\\x69\\xce\\xf9\\x17\\x5a\\x57\\x8c\\x35\\xd8\\x2d\\xe0\\x74\\x41\\xe9\\x62\\x3c\\x85\\x6e\\xaf\\xae\\x03\\xdf\\xef\\xe9\\x5f\\x54\\xf9\\x2f\\x49\\xe7\\xc5\\x2f\\xca\\xf3\\x98\\xf2\\xa3\\x54\\xa4\\x6f\\x8d\\xfd\\x6b\\x47\\x5b\\x2b\\x59\\x92\\xfc\\x8c\\xde\\xde\\xfe\\xde\\xfe\\x52\\x6b\\x89\\x1b\\xd0\\x6b\\x6c\\x4c\\x7f\\x8f\\xe6\\xde\\xee\\xdd\\x29\\x3d\\x25\\x4a\\xc8\\x48\\x77\\x1d\\x04\\x03\\x70\\xe8\\xdf\\xff\\x79\\x72\\x7c\\xde\\x90\\x69\\xe1\\x1b\\xdb\\xed\\x50\\x7e\\xdc\\x70\\xf7\\xc0\\xfc\\x41\\x63\\x1f\\x7e\\x10\\xc7\\xd6\\x93\\xf2\\x5a\\x9c\\xdf\\x7f\\x69\\xd2\\xb3\\x5e\\xea\\x76\\xa6\\xc5\\x47\\x7f\\x34\\xef\\x1d\\xcc\\xdb\\x47\\x79\\x73\\xff\\x6c\\x9e\\xda\\x45\\xd9\\x5f\\x7f\\x51\\x9f\\x64\\xd1\\xf1\\x8f\\x69\\xce\\xd8\\x59\\x7e\\xa6\\xfe\\xa8\\x72\\x9d\\x99\\x71\\x5c\\xe4\\x7a\\x3f\\xe7\\xb8\\xd8\\x29\\x36\\x86\\xb6\\xcd\\x0e\\x0e\\x0a\\xf4\\x87\\xd8\\xac\\xb4\\xcc\\xbd\\x8b\\x7b\\x64\\x1b\\xbb\\xe7\\x2d\\xb3\\xff\\xcf\\xb0\\x24\\x68\\xe0\\x60\\x65\\x62\\xaa\\x71\\x86\\xcf\\x80\\x9e\\x0b\\x5b\\xa5\\x55\\x24\\xdc\\x88\\x8b\\x7f\\xef\\x91\\xd7\\x72\\xb3\\xf2\\x9e\\x49\\xcf\\x1f\\x57\\xef\\x74\\xd6\\x7d\\x43\\x9e\\xd8\\xed\\x42\\x7e\\x51\\x6a\\xa7\\xbc\\x87\\xba\\x0e\\xb0\\x19\\x8c\\xfe\\x4a\\x6b\\x85\\x8b\\x28\\x30\\x35\\x6d\\x37\\xcd\\x47\\x50\\x9b\\x59\\xa4\\x4e\\xd2\\xe6\\xff\\x16\\x3f\\xc4\\xef\\x1f\\x98\\x7b\\x6f\\xdb\\x07\\xe2\\x9f\\x92\\x5f\\xfc\\x57\\x55\\x4c\\xcf\\xbe\\x77\\xde\\xb7\\x8c\\xb0\\x8f\\xa1\\xac\\xef\\x2a\\xbf\\x22\\xb6\\x5d\\xbd\\x57\\xc3\\x56\\xef\\x56\\xef\\xa9\\xdf\\x5b\\x3f\\x09\\x47\\x7b\\xaf\\x4d\\x4c\\xbc\\xf2\\x2d\\x9a\\x5a\\xb4\\x5e\\xbd\\xbb\\x2d\\x84\\xb6\\x55\\xef\\xd9\\xbb\\xf7\\x4f\\xe8\\xf2\\x0f\\xda\\xe6\\x06\\x3d\\xfc\\x25\\xbd\\xfc\\xf3\\x79\\xf5\\x93\\xd5\\x7b\\xd8\\x86\\xfa\\x49\\x16\\xbd\\xc1\\xc2\\xf6\\xff\\xbf\\x93\\xf7\\xff\\x57\\xbd\\xff\\x5f\\xc8\\xf1\\xd7\\xf3\\xb4\\xb5\\x58\\xee\\x47\\x6b\\x22\\x01\\xaf\\xd3\\xf6\\xe6\\xfe\\xe2\\xa9\\x74\\x8e\\xf3\\x25\\x68\\xf1\\xa6\\x45\\xec\\x3e\\x08\\xdd\\x2f\\x77\\xb9\\xfe\\x01\\x96\\x97\\xd4\\xed\\xca\\x36\\xb0\\x61\\x5f\\xad\\x7d\\x2b\\x1f\\x6a\\xf3\\xf1\\x36\\x60\\xdc\\xd8\\x4f\\x2c\\x2b\\x89\\xdd\\x4a\\x45\\xac\\xb3\\x3b\\x29\\x4d\\x3b\\xba\\x5e\\x11\\xe7\\x07\\x47\\xeb\\xa3\\xff\\xb7\\x2e\\x72\\x9d\\x3a\\x17\\xc9\\x7a\\x5e\\x14\\xe6\\x78\\x4c\\xd9\\xb6\\x7a\\xf5\\xea\\x23\\xcb\\x19\\xe1\\x7d\\x8a\\x78\\xa9\\x88\\xa7\\xc5\\x8c\\x21\\x36\\xa3\\x97\\x8f\\x8f\\x94\\x87\\x8c\\x79\\xeb\\xc5\\x62\\x4a\\x81\\x73\\x63\\x43\\xbd\\x12\\x9b\\x03\\x2e\\x4c\\x48\\x95\\xd4\\xba\\x55\\x7c\\xe3\\x93\\x2e\\x5c\\x7d\\x92\\xe9\\x61\\xbf\\x35\\xea\\x4a\\xc4\\x6d\\xca\\xa3\\x89\\x25\\xdb\\xc2\\x4c\\x36\\x9f\\xa1\\x3e\\x93\\x7d\\x24\\x1f\\x1f\\x9d\\x5f\\x9e\\x01\\x0c\\x36\\x53\\x40\\x13\\x8e\\xb1\\x9f\\xcc\\x4e\\x2d\\xc8\\x6e\\xe0\\x3b\\x3e\\x1d\\x3b\\x97\\x44\\x1c\\x6f\\xdc\\xcc\\x43\\xe2\\x1a\\x7e\\x6e\\xc7\\x16\\xbe\\xe6\\x4e\\x4d\\x00\\xe3\\xca\\xbb\\x7d\\x7a\\x91\\x0c\\xe7\\xb0\\xbe\\x20\\x4f\\x19\\x8c\\x3a\\x1d\\xc9\\xe0\\x6b\\xf0\\x90\\x21\\x20\\x04\\xc7\\xc1\\x2c\\x31\\x86\\x8b\\x17\\x2d\\x22\\xcb\\xf9\\xaa\\x8f\\x24\\xab\\xc0\\x5d\\x4e\\x12\\xac\\xf1\\x7b\\xd8\\x74\\x44\\x08\\xc0\\x59\\x67\\x65\\x1b\\x7f\\xcd\\xc5\\xff\\x16\\x7d\\x1e\\x46\\x41\\xda\\xaa\\x29\\x75\\x3b\\x82\\x39\\x71\\x96\\xd5\\x8a\\xb5\\x91\\x6b\\xd5\\xe7\\x5c\\x1a\\xd5\\xf4\\xc9\\xd5\\xc7\\x95\\xd7\\x60\\x34\\xdd\\x1b\\xc1\\x22\\x6d\\x7e\\xa1\\x5e\\x26\\x93\\xf4\\x1d\\x5c\\x13\\x2f\\xa3\\xfb\\x88\\xe5\\x29\\x01\\x22\\x5e\\x62\\x11\\x4b\\x09\\xfa\\x68\\xc5\\xb9\\xd1\\x74\\xac\\x38\\x45\\xcd\\x35\\xc6\\x71\\xf5\\x32\\x2f\\x0a\\x77\\x3c\\x06\\x77\\xa5\\x0f\\x1b\\x1e\\x97\\xdc\\xc9\\x34\\x3e\\x22\\x73\\x58\\xb7\\xb8\\x5e\\xdd\\x3a\\x87\\x75\\x48\\xf3\\x9b\\x60\\x4d\\x1b\\xac\\x4f\\x5a\\x7e\\x3e\\x21\\x3e\\xb6\\xcd\\xa8\\xbe\\x09\\x21\\x91\\x21\\x09\\xf1\\x13\\x7a\\xd2\\x9e\\xd2\\xeb\\x50\\x19\\xaf\\x53\\x6c\\x94\\x68\\xb3\\xe8\\x01\\xc4\\x2b\\x14\\xde\\x5e\\x62\\x99\\x50\\x56\\x24\\xb0\\x38\\x9f\\x60\\xe4\\x78\\xbc\\x0a\\x8f\\x81\\x2e\\x05\\xb7\\xe6\\x74\\xe9\\x75\\xbb\\xba\\x51\\xdd\\x03\\x25\\xd0\\xce\\x2e\\x3d\\x06\\x13\\xec\\xea\\x21\\x68\\xd7\\x1c\\x26\\x93\\xbd\\x8d\\x7f\\x02\\xf3\\x1e\\xf5\\x04\\x61\\xf2\\x83\\x3c\\xce\\xae\\xf6\\x86\\x37\\xff\\x01\\xcc\\xdb\\xd5\\x73\\x50\\x09\\x56\\x3b\\xac\\x95\\xc6\\xd9\\x1d\\xe3\\xf8\\x53\\x1e\\x98\\x5e\\x2c\\xd6\\x66\\xd2\\xe1\\x1f\\x46\\x83\\x5e\\x1c\\xb2\\x23\\x3e\\x80\\x69\\x8a\\x48\\x4f\\xac\\x1b\\xe0\\x16\\xab\\x97\\x08\\x4e\\xfe\\xd5\\x5e\\x97\\x2b\\xbd\\xa5\\xb5\\xcb\\xc1\\x6e\\xbc\\x78\\x9b\\x59\\x70\\x68\\x34\\x70\\xbd\\x24\\x10\\x9d\\x2c\\x8a\\xe5\\xdb\\x9c\\x74\\x0f\\x44\\xb3\\x01\\xb2\\xc4\\xe3\\x6f\\x44\\xdc\\xaa\\x96\\x4e\\xc0\\xf9\\x6b\\x3f\\xbb\\xbc\\x53\\xdd\\x0d\\xb7\\x15\\xaa\\x07\\xa0\\x13\\x62\\x0e\\x6f\\xde\\x3e\\x4d\\x41\\x1b\\xcb\\x1d\\x2d\\x1e\\x9b\\x69\\x8c\\x3e\\xa0\\xae\\x9c\\x02\\x7d\\xa1\\x93\\x5d\\x7a\\x1a\\x2a\\x0b\\xd5\\xad\\x30\\xbc\\x31\\xaf\\x7a\\x81\\x2b\\x36\\xca\\xc2\\x41\\xcd\\xa0\\x93\\xb8\\xa2\\x80\\xdc\\x22\\x2e\\xc2\\x12\\xaa\\x23\\x6a\\x12\\xbf\\xd5\\xce\\x07\\xf0\\xdd\\x13\\x1d\\x6b\\x78\\x95\\x27\\x5e\\x13\\xfb\\x70\\x34\\x50\\x8b\\x7c\\x66\\xa0\\xf4\\x10\\x60\\x76\\x89\\x3f\\x02\\x5e\\xf9\\xc2\\x7e\\x9e\\x3f\\x09\\xb7\\x4d\\x57\\xcb\\xd4\\x54\\xa9\\x5c\\xe0\\xf6\\x71\\xeb\\x34\\xce\\x65\\x23\\xb1\\x18\\xae\\xd7\\xbb\\x6c\\x44\\x67\\x77\\x78\\xa8\\xd4\\x03\\xf3\\x69\\x75\\xd6\\x38\\x78\\xf1\\x84\\x5d\\x5a\\x0f\\x37\\x97\\xaa\\xd3\\x1c\\x8f\\x4a\\xd7\\x98\\x13\\x93\\xcf\\xf2\\x94\\x9d\\x49\\x06\\xaf\\x3f\\x24\\x3b\\x9f\\x65\\x57\\x27\\x8e\\x43\\x23\\xa1\\xbb\\x2f\\x29\\x56\\x0f\\x43\\x1b\\x81\\x97\\xf1\\x77\\xec\\xfe\\xaa\\x3a\\x7c\\x3a\\x1a\\x08\\xed\\x5e\\xeb\\x38\\xc4\\x4f\\x0f\\x71\\x1c\\xe7\\xd1\\x1e\\x98\\x06\\x8c\\x19\\x43\\x1a\\xf4\\x29\\xe9\\x50\\xa3\\x4a\\x23\\x64\\xd7\\xb3\\xc5\\x46\\xdc\\x12\\xbe\\xb9\\xa1\\x82\\x42\\x48\\x41\\x35\\xa8\\x9b\\xf8\\xe9\\x81\\x8e\\x57\\x20\\x19\\xac\\x82\\xef\\x3c\\x77\\x1d\\x09\\x36\\xb3\\xab\\x0e\\x3a\\x65\\xca\\xa3\\x49\\xa5\\xb7\\xe8\\x5a\\xcf\\xa8\\xf3\\x6b\\xa0\\x18\\xbc\\xec\\x7c\\x0d\\x7f\\xbc\\x9f\\x63\\x03\\x9f\\x88\\x98\\xc9\\xcd\\x61\\x0a\\x2f\\xf8\\x0d\\x4c\\x61\\xb2\\x10\\x0d\\xf3\\x71\\x75\\xf2\\x5c\\x78\\xe0\\x17\\x3b\\xce\\x5c\\x8a\\xf8\\x47\\x7d\\x1c\\x7d\\x70\\x26\\x40\\x36\\xeb\\xe7\\xc4\\xd5\\x31\\xab\\xcd\\x4f\\x1c\\xbc\\xed\\xa5\\x97\\x65\\x10\\x2b\\xef\\x2e\\x50\\xcf\\x86\\xea\\xf2\\xd3\\xd0\\x79\\x68\\x31\\xa5\\x5b\\xee\\xf5\\x87\\xe5\\xa9\\x9a\\xdf\\x27\\xbb\\x6d\\x8f\\xfc\\xb9\\x6c\\x2f\\x2c\\xaf\\x93\\x5b\\xe4\\xcf\\x6d\\xfa\\xde\\xd5\\x68\\x27\\x3e\\x9a\\x9f\\xea\\x47\\x56\\x62\\xda\\x73\\xd6\\xbf\\xd3\\xe6\\xbb\\xdd\\xa2\\xd9\\x3e\\xb4\\xee\\x98\\x9c\\x9f\\x56\\x77\\x4c\\x8a\\x45\\xcc\\x78\\xb7\\x0e\\x3b\\xd8\\x82\\x5d\\x6d\\xde\\x6d\\x79\\x4f\\x45\\xba\\x4e\\xce\\xbb\\xc1\\xf4\\x19\\x84\\xbf\\x43\\xed\\xb4\\x08\\xc6\\x8a\\xc6\\xbf\\xd6\\x71\\x9b\\xdc\\x26\\xa3\\xee\\x2c\\x2f\\xdd\\xac\\xe9\\xe1\\x86\\x3a\\x34\\xdb\\xff\\x99\\x3a\\x34\\x8b\\xbd\\xa2\\xf6\\x5a\\x00\\xd5\\x10\\x81\\x7a\\x51\\x37\\xc9\\xfd\\xd2\\xea\\x16\\x82\\x85\\xcf\\xa6\\x3a\\x12\\xff\\x9e\\x7f\\xad\\x52\\x8b\\x6a\\xe1\\x56\\xf0\\xb1\\xc3\\x30\\x49\\x4d\\xab\\x1b\\x2b\\x3d\\x23\\x3e\\x7b\\x74\\xeb\\x3b\\xc2\\xe6\\x23\\x16\\xde\\x0c\\x46\\xec\\x0a\\x74\\xa0\\xbd\\x4f\\xd1\\xa4\\x1f\\x08\\x71\\xf5\\x2d\\xfd\\x16\\xc3\\x0b\\x07\\xec\\xd0\\x57\\x96\\xb2\\xea\\x02\\x0f\\xc9\\x3b\\xdc\\x3a\\x68\\xec\\x0b\\xa2\\x0f\\xfc\\x6d\\x5f\\xc8\\x70\\xfb\\x42\\xb7\\x05\\x68\\xb7\\xcb\\xf2\\x04\\xcd\\x68\\x84\\x17\\xe9\\xe6\\x2d\\xc6\\xe6\\x2f\\xac\\x66\\x30\\xea\\xb8\\xa4\\x47\\x61\\xa5\\x86\\xd7\\x3d\\x5a\\x70\\x84\\xcc\\x85\\x30\\x58\\xf4\\x2b\\x9f\\xd5\\xb5\\x55\\x86\\x75\\xa8\\x6b\\x2b\\x7d\\xa6\\x61\\x86\\xb8\\x75\\xd8\\xce\\x16\\xe0\\xf2\\x05\\x1d\\x47\\x5c\\xaf\\x46\\xb8\\xa9\\xa9\\x2d\\x7a\\xc1\\x56\\xb5\\xc3\\x22\\xc8\\x87\\x1e\\x76\\x69\\x4e\\xdd\\x0a\\x25\\x2f\\xb5\\x2e\\x44\\x9a\\xb1\\x44\\x60\\x67\\xfe\\x1d\\x6c\\x97\\x6a\\xf3\\x16\\xc3\\x10\\x68\\x6f\\xe7\\x2b\\x1d\\xb3\\x95\\x11\\xc9\\xd7\\x4f\\xf1\\x99\\xb0\\xa9\\x39\\x6c\\x61\\xfb\\x3f\\x86\\x0d\\xf1\\x6e\\xec\\x45\\x50\\x03\\x7a\\x3b\\x74\\x56\\x77\\x09\\xec\\x05\\xd7\\xa4\\xbb\\x04\\xdf\\x1d\\xdc\\x63\\x57\\x94\\xcd\\x4f\\x61\\xe2\\x93\\x55\\xd1\\x7f\\x4b\\xb2\\x30\\xda\\x9e\\x9c\\x74\\xf7\\x17\\x00\\x6d\\x01\\xd1\\xd2\\x05\\x9a\\x9a\\xa4\\x0e\\x59\\x0a\\xf7\\x9f\\xb3\\x2b\\x23\\x52\\xae\\xeb\\xe5\\x5f\\x49\\xb7\\x6d\\x9d\\xf6\\xff\\xe3\\x7d\\x8a\\x30\\x7c\\x8f\\xa5\\xd0\\x5d\\xc0\\x34\\xd8\\x28\\xcf\\xcd\\x4f\\x8c\\x38\\xfb\\x87\\xe9\\x14\\x49\\x7c\\x34\\x02\\x92\\xae\\x11\\x52\\x48\\xb6\\xdb\\xc7\\x13\\x21\\x5a\\x48\\xb8\\x5b\\x7d\\xad\\x10\\x25\\xbc\\x22\\xff\\xaa\\x6e\\x2d\\x84\\x4a\\x81\\x35\\xc8\\xa3\\x5d\\x52\\xbf\\x2f\\x9e\\x7c\\x8b\\x1e\\x54\\xc6\\x1f\\xf0\\x72\\x43\\x3a\\x75\\xe7\\xf9\\x7d\\x06\\x69\\x2f\\xd1\\x65\\x99\\xd7\\xd5\\xed\\xe3\\x61\\x8d\\x70\\xa9\\xfb\\x20\\x43\\x3d\\x5a\\x0a\\xb5\\x18\\x56\\x74\\x62\\x8d\\xeb\\x48\\xd1\\xda\\xbe\\x47\\x1d\\x37\\x54\\xd1\\x72\\x0d\\xab\\xd5\\xcf\\x47\\x51\\x0d\\xbc\\x2d\\x5f\\xaa\\x5e\\x2d\\x83\\x5a\\xc7\\x76\\x9e\\xd3\\x08\\xbf\\xbd\\x2d\\x88\\x6c\\x2f\\x29\\x92\\xd1\\xbb\\x59\\xf8\\x46\\xe8\\x19\\xa0\\xb8\\xd1\\x97\\xa9\\xe7\\x47\\x10\\xfa\\xb7\\xd2\\x0b\\x02\\xbb\\x6e\\xbf\\x94\\x8c\\xd8\\x13\\xdd\\x6d\\xac\\x8d\\x2d\\x40\\xc7\\x64\\x4e\\x11\\x81\\x00\\xd5\\x73\\xa5\\x39\\x64\\xb2\\x5d\\x03\\xec\\xdd\\xea\\xe5\\x61\\x08\\x9b\\x69\\x97\\xef\\xfc\\x06\\x75\\x52\\xd7\\x4d\\x7a\\xd7\\xa5\\x93\\x06\\x5f\\x10\\x2d\\x41\\x8f\\x83\\x2d\\x70\\xa5\\x59\\x5f\\x30\\xa3\\x01\\xc9\\x17\\x76\\x4c\\x84\\x47\\xed\\xf2\\x0e\\xf5\\x58\\x39\\xd4\\x6a\\xbe\\xb0\\xee\\xc6\\x3e\\x40\\xc6\\x1e\\x05\\xc7\\x84\\x1b\\x7a\\x14\\x42\\xd2\\x8b\\x98\\x52\\x70\\x56\\xaf\\xce\\x82\\x91\\x70\\x93\\x5d\\x7e\\xef\\x84\\x9d\\xce\\x01\\xf3\\x8c\\x79\\x53\\x9c\\x7a\\xa4\\xb1\\x54\\x56\\xf4\\xf8\\x83\\x9a\\x74\\x8e\\x2f\\x9a\\x1f\\x34\\x1d\\xb3\\x1a\\x62\\xd5\\x35\\x18\\x96\\x8b\\xf1\\x9f\\x97\\xc3\\xcd\\xc8\\x32\\x1f\\xd9\\x18\\xdb\\xa3\\xed\\x37\\x8f\\xdc\\x12\\xee\\xe3\\xea\\x7e\\x58\\x0c\\x26\\x3b\\x64\\xf0\\x17\\xed\\x8e\\x4b\\x52\\x5c\\x63\\xf9\\xb1\\x4f\\xd5\\xfa\\x67\\x49\\xd6\\xe1\\x0f\\xe8\\x9b\\x43\\x75\\x85\\xd5\\xce\\x88\\xed\\x05\\xf5\\x3d\\x78\\xfc\\xa2\\x5d\\x3a\\x65\\x77\\xe4\\x88\\xd6\\x05\\x6c\\xa8\\xa7\\xbd\\x45\\xdb\\x92\\x25\\x44\\xd4\\x29\\xba\\x46\\x3a\\xf5\\xf0\\xd3\\x26\\x3d\\xeb\\x1b\\x6a\\xd9\\x64\\x88\\x82\\x42\\xbb\\x3c\\xdf\\x71\\x10\\xd6\\x4f\\x51\\x8f\\xf2\\xd1\\x8d\\xdb\\x40\\xa6\\x2d\\x8c\\xe4\\xd7\\x89\\x36\\xa0\\x8d\\x80\\x5e\\x84\\xdf\\x48\\x0d\\xee\\x51\\x30\\xa4\\x85\\x7e\\xb0\\x64\\x32\\xdc\\x24\\x5a\\xdb\\xcb\\xea\\x1b\\xf0\\xe8\\x64\\xf5\\x7d\\x1c\\xd7\\x4d\\x1e\\xf1\\xab\\x41\\x9c\\x43\\xd8\\x30\\x06\\x36\\xc5\\x6f\\x79\\x14\\x2c\\x55\\x37\\x4d\\x81\\x76\\x50\\x80\\x51\\x16\\xcc\\x9d\\xa0\\x6e\\x11\\xa7\\x48\\x7a\\xf0\\xaf\\xa7\\x33\\x19\\xdd\\x71\\x8c\\xac\\xc8\\xa0\\x6b\\x19\\xd7\\x1d\\x18\\x45\\x4e\\xe4\\xb7\\xd9\\x21\\x91\\x9f\\x2e\\x72\\x2c\\x90\\x56\\x7b\\xe0\\x91\\xdf\\x3a\\xe3\\xec\\x1b\\xac\\xd6\\x6c\\x94\\x8d\\xa2\\x8f\\x87\\x97\\x0f\\xdb\\x79\\x35\\x3c\\x52\\xa4\\x8e\\x50\\x8b\\xe4\\xf1\\x1e\\xed\\xc9\\xcd\\x9f\\x36\\xb6\\xfe\\x11\\xfe\\x44\\xc3\\x2a\\x2e\\x80\\x1c\\x3b\\x2f\\x86\\x47\\x4b\\xd4\\xed\\x7c\\x7c\\xa3\\x71\\x9f\\xfc\\x40\\x58\\xcb\\x68\\xf8\\x53\\x7e\\xd0\\x77\\x0e\\xa2\\x8f\\xb4\\xcb\\x91\\x75\\x67\\xa4\\xc2\\x3e\\x8e\\x87\\xa5\\x1c\\xa1\\xc7\\xec\\xa6\\x7e\\x20\\x3c\\xcc\\x15\\x6d\\xfd\\x19\\x3f\\x70\\x8d\\xb5\\xc3\\xe7\\x42\\x67\\x9a\\x20\\x38\\x66\\x4b\\x7d\\xfb\\x3a\\xd6\\xf3\\x95\\xb4\\x87\\x6a\\x8e\\xbb\\x9e\\x4e\\xb6\\xd0\\xa6\\xf5\\xdc\\x50\\xcd\\xef\\x78\\xdb\\x0e\\x75\\xc8\\x3c\\x28\\x10\\x31\\x57\\xb5\\xba\\x51\\x1a\\xdb\\xcd\\x31\\x0a\\x3a\\xf3\\x7e\\xac\\x71\\x3d\\xed\\x6c\\x81\\x5a\\xdf\\xab\\xd5\\xd3\\x9c\\xc7\\x85\\x34\\xeb\\x71\\x4f\\xa8\\x33\\xe7\\xe1\\xe4\\xd6\\x68\\x87\\xd1\\x52\\x68\\x37\\x47\\x9a\\xf4\\x84\\x07\\xae\\x97\\xe8\\x1f\\x35\\xff\\x90\\x85\\x77\\x38\\x23\\xaf\\x1b\\xe7\\x60\\x21\\xae\\xd9\\xc7\\x84\\x79\\xf0\\xc8\\x71\\xec\\x24\\xa4\\x2e\\xdd\\xea\\xbe\\xfc\\xd8\\x15\\x7b\\xe5\\x34\\x17\\x87\\xdf\\xe0\\x1e\\x2d\\x78\\xc7\\x98\\x79\\x90\\x66\\x87\\x64\\xa9\\x67\\x37\\xc7\\x73\\x52\\x12\\xf3\\x8c\\x65\\x44\\xbf\\x63\\x71\\xf5\\x13\\x3a\\x71\\x5a\\x9c\\xde\\x15\\x6e\\x20\\x8f\\xee\\x03\\x3f\\x6f\\x88\\xbf\\xf2\\x16\\x42\\x27\\x57\\xfc\\x65\\xe8\\x50\\x37\\xdb\\x35\\xb6\\x67\\x34\\x1d\\x2b\\x35\\xbb\\x71\\xbd\\x4e\\x8f\\xd8\\x5e\\x8d\\xb1\\x7f\\xcb\\x2f\\x86\\x2c\\x84\\xae\\xae\\x18\\xcc\\xd0\\xb1\\x6e\\xfc\\x0d\\x31\\x98\\x13\\x5f\\xeb\\x87\\xfe\\x38\\x7e\\x73\\x71\\x98\\x77\\x72\\x5d\\xd2\\x0d\\x71\\x58\\x13\\x7c\\x0d\\x5e\\xa7\\xe1\\x6b\\x15\\x34\\x83\\xdf\\x7c\\x2c\\x66\\x4c\\xbe\\xfe\\x9e\\x33\\x16\\xcb\\xf4\\x8c\\x7d\\x5c\\xb1\\x18\\x8e\\x9c\\x3a\\x2d\\x1a\\x73\\x79\\xc6\\x0d\\xf1\\x58\\x07\\x01\\xb8\\xe6\\x2b\\xbb\\xc0\\x1a\\xe6\\x8c\\xc7\\x32\\x9a\\x89\\xc7\\x10\\xaa\\x61\\x22\\x95\\xdd\\x5c\\x3c\\x36\\x78\\x31\\x4e\\x70\\x10\\xa6\\xee\\x66\\xe9\\x13\\xd6\\xa4\\x6f\\xfc\\x93\\xf1\\xd8\\x09\\xf5\\x3f\\x95\\x30\\x4f\\xc4\\x63\\x8e\\x77\\x07\\xf2\\x9b\\x9b\\x8d\\xc7\\xb4\\x58\\xe6\\xcf\\xc7\\x63\\xfb\\xd4\\x6d\\x95\\xae\\x78\\x2c\\x4a\\xf5\\x41\\xf8\\x66\\xe2\\xb1\\xbf\\x59\\xc7\\x26\\xf5\\x68\\xa5\\x2b\\x22\\x1b\\xa1\\xda\\xb0\\x0e\\x8a\\xc8\\x9a\\x8d\\xf9\\x3c\\xea\\xf8\\x9d\\x98\\x2f\\xc3\\xa3\\x86\\x35\\xea\\xc5\\x4a\\x67\\x54\\x36\\x47\\x9d\\x88\\x15\\x50\\x58\\xd6\\x68\\xfc\\xa0\\x71\\x5f\\xcc\\x83\\x5b\\x8a\\xca\\x1a\\x7a\\x09\\x37\\xec\\xe3\\xea\\x0f\\x95\\xf0\\x82\\x88\\xca\\x86\\xab\\xd3\\x04\\xaa\\x16\\x96\\x21\\x6e\\x59\\xe3\\xb8\\x8c\\xc9\\x5e\\xfa\\x3f\\x10\\x97\\x5d\\xa8\\x84\\x25\\x76\\x79\\x91\\xda\\x75\\xb0\\xb0\\xa2\\x27\\x7f\\x7f\\x3c\\xbe\\x13\\xc3\\xe4\\xf4\\x21\\xfc\\x94\\x5d\\xde\\xeb\\xf8\\xa4\\xcc\\x85\\xd3\\xa7\\xf9\\xd8\\x56\\x12\\x83\\xa5\\xee\\xc6\\xc8\\xa9\\x51\\x0f\\x9b\\xe8\\xea\\x61\\xff\\x4f\\x7d\\x73\\x0a\\x4c\\x83\\xc5\\x18\\xe8\\xa8\\xab\\x27\\xc0\\x03\\xce\\x78\\x6f\\x90\\xc7\\x18\\x11\\xe6\\x69\\x23\\x44\\xd7\\xeb\\x74\\x62\\xc9\\xcb\\x55\\x01\\xbd\\xf3\\xd0\\xdc\\x18\\x71\\x63\\xfc\\xcf\\x97\\xba\\xe3\\x7f\\xde\\xfb\\xf7\\xea\\xd1\\xcb\\x3a\\xac\\xeb\\xcf\\xd4\\xe3\\x9e\\x05\\x40\\xa8\\x7b\\x16\\x20\\xe5\\xb1\\xc6\\x3e\\x81\\x63\\x11\\xfa\\x04\\x17\\x7d\\x32\\x57\\x74\\x58\\x9b\\xd2\\x28\\xb0\\x68\\xe8\\x79\\xa8\\x65\\x4b\\x6e\\xf0\\xf2\\x33\\x53\\xa1\\x1a\\x66\\xd9\\xb1\\xc3\\x38\\x3d\\x01\\x76\\xd4\\x6d\\x94\\xe3\\x1a\\xc5\\x16\\x18\\xbb\\xd2\\xd8\\x21\\xd3\\x1a\\x8e\\x8e\\xfa\\x9d\\x46\\xeb\\x62\\x8d\\xc7\\x8f\\x44\\xec\\x8d\\x85\\x7b\\x6c\\x2f\\xc0\\xb0\\x5d\\xfa\\x50\\xdd\\x5e\\x02\\x8f\\x5e\\xfd\\x6b\\x71\\xbb\\xe4\\x8a\\xdb\\xbf\\x51\\xc7\\xc2\\x68\\xc8\\xb6\\xcb\\xe3\\xd4\\x1e\\x76\\x11\\x9c\\xb5\\x10\\xb7\\xcb\\x0a\\xf6\\xb9\\x5e\\x8a\\xc7\\x20\\xdc\\xec\\xca\\x8a\\xde\\x1d\\x5f\\x5f\\x52\\x8b\\xa0\\x14\\xda\\xda\\xa5\\x87\\x55\\x3b\\x74\\x81\\x38\\xf6\\x4f\\xce\\x09\\x1e\\x53\\x0f\\x40\\x11\\x0e\\x17\\x10\\x07\\xf3\\xec\\xea\\xfb\\xd2\\xc3\\x7f\\x23\\x76\\x07\\xd7\\x72\\xe0\\x87\\x70\\x27\\xe8\\x30\\x4e\\xb5\\xab\\xb2\\x3c\\x0e\\xf1\\x46\\xff\\xd5\\xd8\\x5d\\xd1\\x46\\xe5\\x77\\xd4\\xa9\\x93\\xc0\\x00\\xb3\\xed\\x72\\x9c\\xc3\\x0c\\x2b\\x26\\xaa\\x52\\x21\\xe9\\x60\\xcc\\x3f\\x1d\\xb3\\xcd\\x9a\\x08\\x16\\x28\\xb3\\x4b\\x4b\\x1c\\x6f\\xc3\\xad\\x13\\xd5\\x5f\\xf8\\xcd\\x17\\x45\\x3d\\xf9\\xff\\xf4\\x1c\\xa1\\x6a\\x3c\\x06\\x19\\x7d\\xed\\x7c\\x06\\x76\\xfd\\xff\\x2a\\x55\\x0f\\x42\\x1a\\x1f\\xd7\\x48\\x9e\\xbf\\x38\\x47\\x58\\xad\\xde\\x33\\x05\\x06\\x42\\x12\\x46\\x6c\\x30\\x63\\x82\\xfa\\x0e\\x46\\x6c\\xcc\\x43\\xff\\xce\\xf1\\x94\\x6b\\x7d\\x9e\\xd2\\x78\\x64\\xbe\\x61\\xcd\\x34\\x71\\x12\\xbf\\xd9\\xce\\xdf\\x99\\xe8\\x78\\x5c\\x7e\\x5f\\xf3\\xb9\\x09\\x7f\\x2f\\x96\\xaf\\x29\\x80\\x54\\x3b\\x0a\\xbe\\xa2\\x44\\xdd\\x27\\xad\\x40\\xbc\\xce\\xcd\\xc5\\x6a\\x18\\x8e\\x88\\x0e\\xc8\\x15\\x8f\\x34\\x1d\\xa3\\x1b\\x62\\xb5\\x8f\\xd4\\x9c\\x4a\\x48\\xc2\\x09\\x91\\xf4\\x6e\\x5d\\x37\\x7e\\x64\\xa0\\x1a\\x2a\\xe7\\x6a\\x7c\\x66\\xdd\\x30\\x8e\\x3a\\x63\\x35\\xd1\\xee\\x9a\\x04\\x3b\\x96\\xdf\\x8e\\xd6\\x86\\x56\\xe2\\x9c\\x6b\\x92\\x5d\\x4a\\xae\\xdb\\x2f\\xaa\\xf0\\x91\\xca\\xbe\\x6d\\xa1\\x0e\\x77\\x3c\\xf5\\x87\\xeb\\x30\\x37\\xd4\\x91\\x03\\x03\\xec\\x3c\\x07\\x07\\xe9\\x23\\x03\\x1d\\xdf\\xf2\\x81\\x9c\\xce\\x85\\x62\\x9d\\xeb\\x1d\\x7f\\x27\\x66\\x73\\xd5\\xf0\\x86\\xa8\\x61\\x1c\\x4e\\xfc\\x21\\x5f\\xdd\\xc8\\xbf\\x18\\xe8\\xd8\\x06\\x3d\\xa4\\x29\\x1e\\xfa\\x77\\xc6\\x6c\\x0c\\x38\\xc6\\x47\\x7f\\x28\\x66\\x1b\\x56\\x09\\x77\\x5f\\xb7\\x0b\\x6e\\x8b\\x9d\\x31\\x5b\\xe7\\x1b\\x63\\xb6\\xdf\\xf1\\x31\\x3e\\xeb\\x4e\\x81\\xd3\\x83\\x60\\x4e\\xc9\\xce\\x71\\xb5\\xef\\x9f\\x8c\\xd9\\x62\\x9d\\x31\\xdb\\x0f\\xea\\xe2\\x5a\\x1c\\x7e\\x0e\\xca\\xbf\\xd6\\x15\\xa4\\x49\\x1a\\x4f\\xbd\\xff\\xa9\\x78\\xea\\xb4\\xfa\\xc2\\x02\\x78\\x0c\\x06\\xdb\\xa5\\xf9\\x60\\xa9\\xdb\\x8d\\xf8\\xea\\x26\\xc8\\x6b\\xbe\\x8e\\xbf\\xba\\x4e\\xf7\\x3f\\xf5\\xdd\\x05\\xb0\\x41\\x8c\\xd3\\x45\\x70\\xd1\\xc1\\x3b\\x4a\\xd7\\x1c\\xdf\\xf0\\x50\\x8f\\x3a\\x96\\xfd\\x35\\x39\\x3c\\xa3\\xb6\\xd7\\xd4\\x2f\\xb4\\x3a\\x1e\\x93\\xe6\\x38\\x72\\xd3\\xa4\\xba\\xba\\x75\\x52\\x01\\x6b\\x24\\x47\\xa3\\xf5\\x34\\x44\\xd6\\xfd\\xd6\\x7a\\x9a\\x07\\xf4\\xf3\\xea\\x19\\x0d\\x5a\\x72\\x38\\xf2\\x51\\x41\\xda\\xaa\\x28\\xe1\\xfe\\x85\\xf5\\xb4\\xc3\\x88\\x75\\xa7\\x1c\\xe1\\xe8\\xa2\\x99\\x12\\x71\\x96\\x7a\\xce\\x3b\\x51\\x03\\x0a\\xcd\\x3b\\x3d\\x87\\xe5\\x46\\xab\\x69\\x82\\x31\\xc1\\xd7\\x71\\xf5\\x99\\x79\\x30\\x05\\x06\\xd9\\xe5\\x1d\\x1f\\x3b\\x26\\x75\\xe3\\x6f\\x40\\x46\\x63\\x3c\\xf7\\xba\\x97\\xc2\\x5a\\x8e\\xde\\x3c\\x7a\\xb3\\x58\\x77\\xf4\\xf6\\xad\\xba\\x69\\x2e\\x54\\x41\\x57\\x0c\\xde\\x1c\\xd5\\xdd\\xf8\\x61\\x11\\xbc\\x79\\xae\\x23\\xfc\\x03\\xb1\\xdb\\x3e\\xf5\\xc5\\xb9\\xf0\\xa2\\xf0\\x89\\x7c\\xb8\\xcb\\x31\\xbb\\xaf\\xd4\\x57\\x1d\\xc9\\xfb\\xb3\\xc6\\xf5\\x74\\xb0\\xb5\\x6a\\x14\\x7f\\xb6\\x50\\x4b\\x4b\\x3e\\xf1\\xb2\\xfa\\x89\\x56\\xc7\\x6b\\xfc\\x07\\xc7\\xab\\x58\\x85\\xc3\\x2a\\xdd\\xa2\\xe9\\xa8\\x8b\\x87\\x4f\\x58\\x74\\x14\\x0b\\x71\\x6c\\x8f\\x4d\\xa3\\x36\\x4b\\x76\\x5a\\xf3\\xd1\\xfc\\x33\\xea\\xe1\\x39\\x18\\xcd\\xa3\\x4f\\xdc\\xef\\x78\\xaf\\x8f\\xd4\\xaf\\x6e\\x95\\x38\\x03\\x9f\\x78\\x6f\\x1c\\xb7\\xc9\\xda\\xf3\\x96\\x3f\\x1c\\xb7\\xed\\x9a\\x07\\x2f\\xd9\\xa5\\x37\\x1c\\x6b\\xbb\\x49\\x83\\xd7\\x6a\\xbc\\xde\\xdb\\xd8\\x3f\\x14\\x11\\xb7\\xb5\\xec\\x1f\\x92\\xcb\\x3f\\x0e\\xab\\xab\\xc6\\xe3\\x60\\xd9\\xcf\\x2e\\x8f\\x57\\x8b\\xd4\\xd5\\x45\\x30\\x8a\\x57\\x37\\xc2\\xa3\\xb1\\x4e\\xd2\\xeb\\x75\\x5c\\xe7\\x65\\x60\\xc8\\x20\\xc8\\x7a\\x8b\\x2c\\xb9\\xe6\\xa1\\x9e\\x1c\\x1a\\x88\\x3f\\x73\\xac\\x94\\xea\\x78\\x7b\\x3c\\x7f\\xdc\\x6e\\x97\\xbe\\x70\\xdc\\x5c\\xc4\\x4f\\x9d\\xb9\\xb6\\xb8\\x31\\x8f\\xee\\x39\\x83\\xe2\\x8c\\x23\\xfe\\xcc\\x9c\\xe1\\x2b\\xf5\\xd8\\x78\\xe8\\x07\\xa3\\x31\\xbe\\x52\\xdf\\x2c\\x82\\x69\\xce\\x75\\xc0\\x7b\\xff\\xb6\\xdf\\x79\\x84\\xdb\\x6f\\xd5\\x6b\\x4a\\x81\\x9e\\xd0\\x51\\x3d\\x55\\x04\\xf3\\xd5\\xdd\\xd2\\xb2\\xa6\\x7a\\x6e\\x6f\\x0b\\x6e\\x14\\xcb\\x2b\\x34\\xcd\\x6b\\xd6\\xeb\\xb4\\xcf\\xfc\\x1b\\x66\\x79\\x5f\\x4e\\x24\\x78\\x3e\\xe8\\xd7\\x52\\x98\\xef\\xd8\\x2f\\x2f\\x64\\x8d\\xd6\\xde\\xff\\x82\\x5f\\x98\\x1b\\xe2\\x79\\xfe\\x00\\xc5\\xf3\\x3c\\xa9\\x49\\x3c\\x1f\\x47\\xe3\\x09\\xce\\x47\\x65\\x8e\\xe3\\x67\\x83\\x07\\x23\\x60\\xf3\\x11\\xfd\\x51\\x75\\x10\\x0c\\x87\\x6e\\x76\\xe9\\x33\\x07\\xce\\xd0\\x9e\\xf8\\x8d\\xb8\\xfb\\x0f\\xc6\\xf4\\x92\\x3b\\x48\\xbe\\xa0\\x4e\\x86\\x21\\x62\\x15\\x28\\x4e\\x4d\\xb3\\xf3\\x0a\\xea\\x94\\x9a\\xc1\\x56\\x68\\x2d\\xfe\\x0f\\x61\\x7b\\x04\\xe0\\x87\\xd4\\x35\\xd0\\x1a\\x27\\x4b\\xfc\\x7e\\xf5\\x5d\\x3b\\xdc\\xc1\\x23\\x6e\\x98\\xd7\\xe0\\xa8\\xa1\\x37\\x18\\x81\\x63\\xec\\xe6\\x65\\x11\\xef\\x3e\\x37\\x99\\xd7\\x38\\xc1\\xb0\\xb3\\xfb\\xaf\\xf3\\x15\\x1c\\x8c\\x28\\xed\\xea\\x39\\x79\\x2b\\xba\\xb2\\xe7\\x7c\\xce\\x23\\x9e\\x17\\x4a\\x95\\xf4\\x4d\\xe3\\x9e\\x66\\xe3\\x79\\x5a\\x29\\x66\\x80\\x0d\\x64\\x5f\\x5d\\x0a\\xd4\\x96\\x9e\\x93\\xef\\x6e\\x61\\xfd\\xe3\\x4f\\xc6\\x6d\\x8a\\x3b\\x6e\\xc3\\x0a\\x7c\\xe0\\x16\\xbb\\x34\\xaa\\xee\\x3f\\x58\\xc1\\xcf\\xd2\\xe1\\xed\\xff\\x04\\xbe\\xc7\\x2a\\xff\\x78\\x88\\x84\\xe9\\x14\\xb3\\x21\\xbe\\x7a\\x8d\\x2f\\x76\\xc6\\x6c\\xff\\x6c\\x1d\\x39\\xd0\\x1f\\x23\\x66\\x9c\\x25\\x60\\x1d\\x47\\x21\\x43\\xba\\xaf\\xc9\\x73\\x46\\xab\\x78\\xee\\xc9\\x78\\x73\\x2b\\x6d\\xd9\\x0d\\x51\\x1b\\xf5\\x1c\\x6a\\x47\\x75\\xea\\x44\\x98\\x07\\xde\\x76\\x98\\x5b\\xae\\x3e\\x2b\\xff\\xea\\x7e\\x66\\xe9\\x19\\xb7\\xfd\\x81\\xb9\\x81\\x68\\x68\\x88\\x74\\x13\\xe1\\x7c\\xe5\\x5a\\xc7\\x6d\\x78\\x16\\x1b\\x61\\xf3\\x11\\xe3\\xb3\\x81\\xe2\\x12\\xf9\\x86\\xe7\\xf1\\xee\\x88\\xed\\x9c\\x3a\\x73\\x29\\x6c\\x16\\x11\\xdb\\x75\\x7d\\x8a\\x32\\xa2\\xd1\\x1a\\xa5\\xab\\x7f\\x74\\xc6\\x52\\x7a\\xd9\\x13\\xcc\\xe5\\xab\\x1e\\x7a\\x8b\\x6f\\x18\\x74\\x7e\\x55\\xef\\x5a\\x04\\x9b\\xc4\\xa0\\x73\\xd7\\xb5\\xeb\\x0b\\x92\\x95\\x11\\xea\\x2e\\xe8\\xcc\\x58\\xb3\\xcf\\xb9\\x99\\xd2\\x32\\x7a\\x76\\xb3\\x23\\xf2\\x17\\xea\\x73\\x8b\\x09\\x9d\\x0f\\x80\\xef\\xaf\\x7f\\x84\\xf0\\x8e\\x83\\xd8\\xd3\\x34\\xf3\\x7c\\xfe\\x8f\\x61\\x7b\\x8e\\xc4\\xef\\xaa\\x4f\\x2c\\x82\\x4f\\x10\\xfb\\x3b\\xc9\\x54\\x67\\x48\\x55\\xf2\\xea\\x8e\\x4a\\xf1\\x8d\\xdf\\x27\\x68\\x58\\x53\\xe3\\x37\\xbc\\x51\\xd0\\xd2\\x9a\\xda\\x56\\xf5\\x95\\x85\\xf0\\x91\\x73\\x4d\\xbb\\x83\\x32\\xac\\xe1\\x79\\x75\\xdb\\x1b\\xd7\\xd4\\x38\\x97\\x14\\x8f\\xb5\\xe6\\x66\\x9f\\x75\\x2e\\x85\\xff\\x12\\x96\\x30\\x1a\\xe1\\x34\\x7a\\x17\\x43\\x8b\\xcd\\xc4\\xc0\\xdb\\x8c\\xed\\xdd\\x71\\xd9\\x01\\x75\\xc4\\x62\\xd8\\x2a\\xc6\\xdd\\x1d\\x87\\xea\\x02\\xb3\\x70\\x74\\xea\\xcb\\x5a\\x78\\x57\\x44\\xa1\\x77\\x45\\x50\\x8f\\x4e\\xc0\\x1b\\xed\\xd3\\x10\\x93\\x5d\\x51\\x4b\\x6a\\xe1\\x35\\x18\\x81\\x31\\x59\\x5d\\x64\\x9a\\x9c\\xad\\xc5\\x64\\x0d\\xef\\xb8\\xa4\\x79\\xc6\\x4a\\xb4\\xce\\x85\\x3f\\x9e\\xd0\\xd9\\xbf\\x13\\x91\\x9d\\x56\\xef\\x5e\\x00\\x6f\\xe3\\x4c\\x80\\xcf\\xc6\\x99\\xc0\\xc2\\x34\\xb9\\x9f\\xba\\x89\\x8f\\x6e\\xf6\\x3d\\x1a\\xb2\\xff\\x6f\\xd5\\xd0\\xbc\\x17\\x7c\\xa6\\x3e\\xb6\\x08\\x3e\\x83\\x74\\xfb\\x07\\x7c\\x5a\\xdd\\x27\\x19\\xb2\\xcd\\xb1\\x14\\x27\\xcb\\x4d\\xde\\x31\\xa2\\x75\\x34\\x2d\\x46\\xe7\\xf4\\xd4\\xc8\\xf3\\xe9\\x46\\x76\\x93\\x91\\xb7\\x91\\x2f\\xbc\\x71\\x0b\\xbc\\x2b\\x7c\\x21\\xb6\\xee\\x58\\x9a\\x9c\\x5f\\x77\\x4c\\x0e\\x6d\\xe1\\x1d\\x18\\xe7\\xd8\\x2b\\xbc\\xd7\\x05\\xdc\\x62\\x3c\\xb6\\x75\\x01\\xbc\\x8b\\x73\\xa3\\x3a\\x7b\\x9a\\xfc\\xce\\x4a\\xd6\\xe4\\x3d\\x2d\\xf2\\x09\\x11\\xf7\\xf3\\x06\\x77\\x6d\\x6e\\x8d\\xf5\\x9e\\x79\\xfc\\x1b\\xbb\\x3c\\xf5\\xfa\\xc3\\xb9\\x4a\\x37\\xf7\\x3b\\x5a\\x37\\xfa\\x82\\xd6\\xa6\\xdc\\xea\\xbc\\x61\\xdd\\xcc\\x2d\\xec\\x2f\\xea\\x8c\\xb9\\xb0\\x0e\\xa6\\xd8\\xa5\\x57\\x7e\\x75\\xf4\\xe9\\xc3\\x3f\\x82\\x22\\xfa\\x18\\xbe\\x99\\xf7\\xdd\\xb4\\xd8\\xff\\x37\\x7d\\xcc\\x23\\x02\\xfb\\x45\\x7d\\xb4\\x06\\xec\\x30\\x16\\x23\\x30\\x47\\x49\\x3f\\x7e\\x94\\xde\\x77\\xcb\\xf8\\xe7\\x7c\\x6c\\x9f\\xba\\x76\\x3a\\x46\\xe4\\x83\\xec\\x60\\x85\\x64\\xc7\\x2b\\x03\\xf9\\x69\\x75\\x93\\xb4\\xbe\\xd1\\xfb\\x85\\x09\\x14\\x8f\\x6b\\xf6\\xd7\\x35\\x7d\\xb6\\xd5\\xb2\\xed\\x35\\x58\\x1e\\xed\\x38\\x3e\\x84\\x9f\\x76\\x1c\\x92\\x6b\\x5b\\x78\\x17\\xee\\x8f\\xd9\\x5e\\x1b\\x0a\\xb6\\x56\\xc3\\x9b\\x04\\xd9\\x8f\\x9f\\x12\\x8f\\xd4\\x1b\\xbd\\xab\\xf9\\x7b\\xfd\\x81\\x3b\\x0e\\x3f\\xa1\\x0e\\x1f\\x07\\xf7\\x40\\xbe\\x1d\\xa7\\xbd\\x8f\\xaa\\xd3\\x4a\\xe1\\x66\\x94\\xb8\\xf1\\xfb\\xa4\\x1e\\xb6\\xfa\\x1d\\x1f\\x20\\x54\\x8a\\x04\\xbe\\x50\\x07\\x8f\\x80\\x47\\x84\\xbf\\x97\\xab\\xa9\\x6a\\xd9\\x74\\xb8\\x8d\\x3f\\x79\\x9e\\x35\\x7e\\xef\\xd5\\xf5\\xdc\\x5c\\x5b\\x3b\\x46\\x99\\x25\\x49\\x6c\\x53\\x94\\x96\\xda\\x92\\xd4\\xc2\\x59\\x17\\x4e\\xe2\\x27\\xed\\xbc\\xca\\xb1\\x66\\x22\\xdf\\xcd\\x07\\x30\\xcf\\xf7\\x73\\x5d\\x6b\\x77\\xee\\x7e\\x4b\\x96\\xdd\\x78\\xbf\\xe1\\x55\\xbb\\xd5\\x37\\xa6\\xc0\\x6c\\x98\\x81\\x91\\x96\\xfa\\x6a\\x21\\x54\\x3b\\xd7\\xee\\x06\\x37\\x37\\x2f\\xd7\\x1e\\x67\\x4a\\x92\\x8e\\x80\\x1b\\x90\\x9b\\xb5\\xfa\\x8e\\x09\\xa4\\x01\\x0c\\x23\\x0e\\x14\\xc2\\x6d\\xea\\x6e\\x79\\x67\\xe3\\x77\\x5f\\x9b\\x91\\x9f\\xc6\\xfe\\x16\\xe5\\x27\\xab\\x8f\\x83\\x0d\\x76\\x68\\xa3\\x1e\\x2e\\x86\\x25\\xd2\\x63\\xac\\xf1\\x3b\\xd4\\x66\\xd7\\x73\\x79\\x2e\\xeb\\x25\\x45\\xb6\\x68\\x53\\xb0\\x9c\\xc6\\xe1\\x20\\xb8\\xc2\\x6c\\x9c\\xd1\\xdc\\x0b\\x7e\\xb0\\xd4\\x2e\\xbd\\x55\\x97\\x6b\\x77\\xc5\\x25\\x0d\\xb1\\x70\\xdb\\x86\\xf7\\xc6\\x34\\xbb\\x37\\x42\\x6c\\x2e\\x0c\\xce\\x70\\xc3\\x9a\\xc4\\xb3\\x95\\x84\\xba\\xcf\\xed\\x72\\xdb\\x4f\\x9a\\xe2\\x26\\x39\\xe3\\x77\\x57\\x7c\\xd6\\x1c\\x72\\x48\\xb3\\x01\\xf6\\x49\\x75\\x25\\x44\\x40\\xb5\\x9d\\xe7\\x3a\\xde\\xb2\\xf3\\xcb\\x5c\\xd7\\x1c\\xbf\\x32\\x6b\\x11\\xb5\\xe5\\xb0\\x3d\\x1d\\x26\\xd8\\xa1\\x9d\\x7a\\xc8\\x0e\\x13\\x50\\xab\\xe2\\x5b\\xa3\\x37\\x64\\x3b\\x1f\\xa8\\x4c\\x62\\xde\\x62\\xef\\x0d\\x2f\\x2f\\xb6\\xc4\\x48\\x87\\x4c\\xa4\\x87\\xed\\x49\\xa3\\x48\\x5d\\xfb\\x3e\\x8f\\x7e\\xf9\\xc0\\x71\\x89\\xa9\\x87\\x52\\xdb\\xe0\\x6f\\xe2\\x38\\x65\\xd2\\x67\\x95\\xf8\\xdf\\x67\\x62\\xcf\\x97\\x6a\\xe5\\x43\\xb8\\xe8\\xfc\\xc6\\x21\\xc0\\x66\\x90\\xb4\\xed\\x87\\xbd\\xf4\\xae\\xcf\\x12\\xb4\\xaf\\x1b\\xc4\\x86\\x5f\\xff\\x2b\\x97\\x56\\x7d\\x28\\x81\\xc3\\xf1\\x58\\x38\\x2f\\xd2\\xbe\\x6b\\x50\\x1f\\x5f\\x2e\\x30\\x16\\x29\\x1f\\x72\\xe5\\x06\\x0c\\x9d\\xc1\\xfd\\x69\\x03\\x7d\\xe5\\xa1\\x44\\xeb\\xa3\\xb1\\x9b\\x57\\xaf\\xaf\\x92\\x36\\xaa\\xcb\\xe9\\x4b\\x04\\xed\\xfb\\x8e\\xc3\\xcb\\x11\\x63\\x99\\xf2\\x1a\\xb7\\x20\\x46\\x28\\x6b\\xcd\\x5a\\xdb\\x4c\\xca\\x24\\xdf\\x4a\\xdf\\xc5\\xbe\\x92\\xaf\\xaf\\x25\\x32\\xcc\\x42\\x1f\\x67\\xa5\\xed\\xa6\\x6f\\x39\\xd2\\x3d\\xbf\\xe0\\xf3\\xfc\\xba\\x21\\xc0\\x1f\\xb0\\x16\\x48\\x8f\\xee\\x9e\\x9d\\x15\\xd6\\x3e\\xcd\\x34\\x36\\x32\\x73\\x58\\xd7\\xd8\\x9c\\xec\\x4e\\xa1\\xa9\\x1d\\xfc\\xf2\\xa3\\x32\\x86\\x6e\\x90\\x2e\\xae\\x92\\xee\\x51\\x5e\\x0b\\x09\\x0f\\x89\\x4d\\x18\\x9e\\x9b\\x80\\xff\\x26\\xc4\\x8e\\xec\\x15\\x0f\\x73\\x4d\\xb7\\xf9\\xdd\\xc1\\x24\\xf5\\x29\\xe5\\x35\\xe8\\xe4\\xfc\\x3e\\x23\\x1a\\x6d\\x15\\xe4\\x1b\\x64\\xf3\\x35\\xf5\\x0b\\x0a\\x0a\\x0b\\xf3\\x02\\x9c\\x6a\\xe6\\x61\\x97\\x67\\xf2\\xd2\\xa4\\xa2\\xfd\\x54\\x91\\x9f\\xa4\\x74\\xed\\xd3\\x0d\\xf1\\x6d\\x49\\x40\\xb3\\x7c\\x81\\xef\\xba\\xa8\\x75\\xea\\x1c\\x24\\x0f\\x35\\xcf\\x5a\\x44\\xe6\\x50\\xdd\\xfd\\xab\\x57\\xaf\\x56\\x97\\x7b\\x70\\x16\\x1d\\x3b\\xb4\\x67\\x3c\\xea\\xe5\\x8a\\x8e\\xf1\\xa1\\xc4\\x93\\x81\\xf9\\xbd\\x6a\\x00\\x69\\x09\\x9a\\x26\\xec\\x8b\\xb4\\xf7\\xb4\\x4f\\x5a\\xa2\\xf5\\x58\\x79\\xc0\\x03\\xe2\\x73\\x93\\xb5\\x92\\xba\\xf1\\x41\\xa9\\x0e\\xa1\\x4c\\xea\\x19\\x3f\\x10\\xfb\\x1c\\xe0\\xfd\\x77\\x28\\xc7\\xe0\\x3c\\xdd\\xef\\x83\\xad\\x2f\\x50\\x36\\xda\\xfc\\x03\\xfb\\x19\\x8d\\x3e\\x3e\\xe0\\x2f\\x55\\x4a\\x7b\\xb1\\x41\\xa3\\x40\\xf4\\x29\\x4b\\x83\\x2c\\x21\\xae\\x6f\\x64\\xc0\\x7b\\x6d\\xe4\\xda\\xb6\\xce\\xcf\\x63\\x96\\x23\\xf2\\x6b\\xce\\x8f\\x63\\xa4\\xfa\\x38\\xe5\\x30\\xfc\\xdb\\xf3\\x7b\\x21\\xa1\\x20\\x7f\\x04\\xe4\\x92\\x97\\xb7\\x5b\\x45\\x0d\\xba\\x11\\x9b\\xcd\\xc2\\x6c\\xd7\\x37\\x37\\xdf\\xf2\\xbc\\x40\\xc7\\x26\\x92\\xfa\\xd8\\x5c\\x6a\\x7b\\x62\\xaa\\x92\\x4d\\xfb\\xd3\\x75\\xb2\\x85\\xc9\\xa0\\x37\\xe2\\x1c\\x54\\x52\\x7c\\x14\\x5f\\xbd\\x37\\xf3\\x1e\\x9a\\x2f\\x56\\x8d\\x0d\\x41\\xdc\\xdf\\xf9\\xb2\\xb4\\xeb\\x93\\x4e\\x8b\\xab\\x11\\xba\\xf6\\x8e\\x15\\xfb\\x9d\\xb6\\xaf\\x1d\\x01\\xa1\\x23\\x16\\x24\\x2e\\xc8\\x57\\xbf\\xc9\\xaf\\xe5\\xf7\\xc1\\x33\\xea\\xd8\\x8f\\xd5\\x6c\\xd8\\x29\\xbe\\x25\\xcd\\xae\\x3f\\xa7\\x74\\xd3\\xb7\\xb3\\x24\\x48\\x45\\x62\\xef\\x0b\\xfd\\x7a\\x98\\x08\\x13\\xcd\\x7a\\xbe\\x82\\x5d\\xaa\\xbf\\x84\\x36\\x0f\\x95\\xbb\\x07\\x75\\xb7\\x79\\x85\\xc5\\x4b\\x7c\\x6d\\x26\\x2c\\xce\\x84\\x9c\\x4c\\xc8\\x94\\xbb\\x75\\x33\\x27\\xb0\\x24\\x73\\x86\\xb9\\xa0\\xa0\\x20\\x23\\x03\\x30\\xd5\\x1c\\xd6\\x86\\x7f\\x10\\xeb\\x45\\x18\\xd0\\x04\\xcb\\x16\\x64\\xeb\\xd9\\x14\\x2b\\x27\\xe7\\x8f\\x60\\xbd\\xf4\\xb7\\xb1\\x96\\x79\\xe8\\x2b\\x00\\xb6\\x9a\\xf5\\x06\\x13\\xdb\\x57\\x7f\\x8a\\xb0\\x7a\\x18\\x7a\\xf4\\x23\\x2c\\x0d\\x28\\xf5\\xf7\\x64\\x5c\\xe6\\xa1\\xaf\\x7f\\x0e\\xeb\\x45\\x90\\x9b\\x60\\xf5\\x32\\xf4\\x1a\\xd0\\x14\\xeb\\x8f\\xc9\\xf8\\xd2\\xdf\\xc0\\x12\\x7b\\xa0\\xb5\\x17\\xba\\x67\\x97\\x11\\x2b\\x81\\xaf\\xf8\\xbf\\xef\\xcd\\x7a\\xfd\\x7a\\x96\\x05\\x13\\x05\\x12\\x28\\xcb\\x14\\x3d\\xe3\\x42\\xf3\\x16\\x58\\x6c\\x81\\x1c\\xec\\xfe\\x41\\x96\\x6f\\x40\\x62\\x2e\\xac\\x5a\\x37\\x16\\xea\\x4b\\xa0\\x98\\x75\\x02\\x53\\x60\\x49\\xc1\\xcb\\x82\\x5b\\x21\\x16\\x78\\x60\\x49\\x41\\x41\\x2d\\x63\\x85\\x7a\\x60\\xbd\\xc8\\x62\\x1b\\x61\\xb5\\x5a\\xd6\\x2a\\xac\\x29\\x56\\x48\\x48\\xcb\\x58\\x25\\x1e\\x58\\x2f\\xfd\\x4d\\x2c\\x83\\xd0\\xbd\\x13\\x6b\\x3d\\x0b\\x44\\xdd\\xeb\\x0c\\xa6\\x03\\xa4\\x79\\x29\\xf4\\x85\\x50\\x2b\\x62\\x71\\x58\\xec\\x07\\x39\\x7e\\x90\\xea\\x07\\x7e\\xbf\\x29\\xe3\\xa3\\x1e\\x58\\x1b\\xd8\\xb8\\xbf\\x85\\xc5\\xdc\\x58\\x09\\x02\\x03\\xed\\xf8\\x22\\x33\\xc2\\x56\\xb2\\xa3\\xd7\\x0b\\x5e\\xfe\\x02\\x4b\\x5a\\x1c\\x05\\x39\\x51\\x90\\x1a\\x05\\x51\\xbf\\x69\\xc7\\xfb\\x3c\\xf8\\x7a\\x89\\x0d\\x6d\\xc4\\x57\\xf8\\x0b\\xe1\\x31\\x4d\\xf9\\x6a\\x49\\x5f\\xa5\\xf5\\xe7\\xe5\\x62\\x6a\\xdb\\xf3\\x9c\\xed\\xb1\\xbd\\xb3\\x6d\\x6f\\xd7\\xda\\xb6\\xd4\\xae\\x4b\\xbb\\xf6\\xbe\\x81\\x42\\xfb\\x31\\xb0\\x38\\x06\\x72\\x62\\x20\\x46\\x6a\\xdb\\xb6\\x39\\x5f\\x15\\x58\\x15\\x1e\\x58\\x1b\\xfe\\x26\\x96\\x27\\x5f\\x2f\\x62\\xd8\\xd6\\x18\\xab\\x7d\\x97\\xf6\\x29\\x4d\\xb1\\x92\\x92\\x5a\\xc2\\x9a\\xef\\x81\\xf5\\x12\\x64\\xfe\\x2d\\xac\\x62\\x6a\\xdb\\x2e\\x7d\\xf9\\x39\\xdb\\xf6\\x1e\\xad\\x6d\\x4b\\xc9\\xe3\\x92\\x3b\\x21\\x16\\x77\\x02\\xa5\\xfe\\xb6\\x8c\\xf3\\x3d\\xb0\\x36\\x20\\x5f\\x7f\\x07\\xcb\\x93\\xaf\\x86\\xfe\\xcb\\x85\\x95\\x3a\\x2e\\x35\\xb3\\x29\\x56\\xcb\\x32\\xfe\\xcb\\x03\\xeb\\x25\\xb0\\xfd\\x65\\x2c\\xf1\\xdd\\xb0\\xaa\\x7f\\xd9\\xe5\\xf7\\x6c\\xda\\x8e\\x23\\xa6\\x44\\xbe\\xa2\\xfe\\x1b\\xf6\\xa3\\x59\\xef\\xe5\\xa8\\x9f\\x89\\xd1\\x6c\\x0f\\x5b\\x3b\\x0e\\x5e\\x2b\\xbc\\x30\\x34\\x89\\x97\\xa5\\xd6\\x7e\\xb0\\xd7\\x0f\\xfe\\xeb\\x07\\x2f\\xf9\\x35\\x38\\xb0\\x3f\\xfa\\x30\\x77\\x37\\x08\\xaa\\x43\\xfc\\x37\\x5b\\xab\\xc8\\xa3\\x5d\\xdc\\xd1\\x62\\x5d\\x2a\\xce\\x9b\\xd6\\xb1\\x70\\x9b\\xbf\\xbb\\x2e\\x0f\\x40\\x0d\\xc5\\xdd\\xaf\\x35\\xc1\\x30\\x98\\xea\\x2f\\xb0\\x7d\\xc4\\x6f\\xde\\x1f\\xc4\\xb8\\x81\\x0f\\x37\\xc6\\x1f\\xe3\\x43\\xb3\\xe7\\xcb\\x2e\\x1b\\x78\\x39\\xd8\\x12\\xb6\\x4e\\x48\\x83\\xb3\\x08\\x94\\x86\\x4d\\x63\\xc7\\xeb\\x8f\\x08\\x14\\x59\\x4a\\x18\\x9f\\x10\\x87\\xc6\\x90\\xa5\\x98\\x98\\x46\\x28\\xee\\xf6\\xfd\\xa4\\x07\\x8e\\x0a\\xb3\\xfe\\x32\\x4e\\x63\\x7e\\x66\\x08\\x1c\\x83\\x09\\x7c\\x84\\x54\\x9e\\x38\\x1d\\xc6\\x77\\x48\\x21\\x9c\\xf6\\xed\\x7f\\x97\\x1f\\xed\\xbe\\x06\\x1c\\x8d\\x3f\\x4d\\x3b\\x11\\xe3\\x23\\xc2\\xc8\\xc9\\x5a\\xb5\\xba\\x11\\x47\\xe8\\x38\\x43\\x9f\\x84\\x3a\\x1e\\xc4\\x98\\x59\\x87\\x5a\\x0d\\x67\\xc1\\x36\\x5f\\xee\\xeb\\x6b\\x4e\\xe0\\x5e\\x67\\xbc\\xbc\\x65\\x1e\\x2f\\x5c\\x50\\xeb\\xe8\\x80\\xdd\\xa4\\x8e\\x51\\xb6\\x29\\x0f\\x62\\x1c\\x3e\\xd0\\xd6\\xc6\\x1c\\x6c\\x09\\x0a\\x0a\\x0c\\xb4\\x04\\x78\\x47\\x04\\xf0\\x08\\x29\\x36\\x26\\x38\\x38\\x20\\x50\\x0a\\xb0\\x84\\xfa\\x4d\\xca\\x0f\\x95\\x99\\x34\\x29\\x9f\\x29\\xf8\\x1b\\xce\\x72\\x92\\xdc\\xfb\\xae\\x37\\xbc\\x0b\\xe0\\x3c\\x03\\x81\\xb6\\x1a\\xd1\\xb6\\xe5\\xc9\\xcc\\x0a\\xc8\\x74\\xee\\x07\\x2a\\x36\\x35\\xd5\\x3b\\xf7\\xc5\\xd6\\x4b\\x7e\\x20\\x65\\xce\\x9c\\xda\\x76\\x70\\x87\\xe2\\x92\\x56\\xeb\\xfc\\xe6\\xdf\\xfa\\xc8\\x17\\x21\\x9b\\xd4\\x63\\x38\\x44\\x9b\\xa2\\x47\\xfd\\x78\\xf7\\xa7\\x47\\x2d\\x4f\\xb5\\x39\\xae\\x8e\\x09\\xd8\\xe7\\x3d\\x7b\\x91\\xd4\\xb1\\x5f\\xf6\\xec\\xe9\\xeb\\x17\\xd6\\xe1\\x4c\\xf9\\xa9\\xf1\\x93\\x3f\\xdb\\x35\\x62\\x62\\xdd\\x33\\x7b\\x3e\\xa2\\xb5\\x38\\xe4\\x5d\\xec\\x23\\x1e\\x24\\xf6\\xee\\xf6\\x37\\x78\\x99\\x7c\\x7c\\xcd\\xbe\\x06\\x13\\x97\\x2d\\xc1\\x96\\x10\\x83\\xc1\\xcf\\x64\\xf2\\x35\\xfb\\x49\\xbe\\x16\\x26\\x15\\xe6\\x33\\xb9\\xb0\\x81\\x71\\xed\\x59\\x64\\x76\\xaa\\x33\\xb4\\xd5\\xe6\\x18\\xe9\\x1a\\xdb\\x21\\x69\\x62\\xa3\\x5b\\x8d\\x61\\x08\\x88\\xc6\\x6e\\x4c\\x2a\\x9d\\xd4\\x37\\xae\\x7f\\x87\\xac\\xd8\\x20\\x35\\x2d\\xc4\\xff\\x45\\xf5\\x1a\\xf2\\x39\\x11\\x56\\x6e\\x07\\x9d\\x7a\\x20\\xf2\\x25\\x64\\xf3\\x2d\\xd9\\xda\\x6f\\xae\\x3c\\x7d\\xc3\\xe0\\xba\\x65\\xca\\xd2\\xba\\x30\\xe9\\xeb\\x5f\\xeb\\xef\\x79\\x18\\xf9\\xab\\xac\\xbf\\xac\\xd8\\x51\\xb7\\x89\\x6c\\x84\\xad\\x9d\\x5b\\xb7\\x3c\\xc1\\x3b\\x22\\x21\\x20\\x42\\x6a\\xdb\\x26\\x38\\x38\\x30\\x20\\x20\\x30\\x31\\x31\\x36\\x50\\xd2\\x34\\x1c\\x8b\\xda\\x8d\\x0d\\x60\\x1e\\xbb\\x33\\x13\\x97\\x1e\\x1a\\xf6\\xd4\\xb1\\xf3\\x20\\x9d\\x1c\\x70\\xea\\xd8\\x1f\\xa2\\x03\\xdc\\x3a\\xd6\\x71\\x3f\\x90\\x13\\xad\\x71\\x19\\x59\\xf0\\x00\\x7f\\xe8\\xce\\x75\\xaf\\xa4\\xb4\\xf1\\x59\\x71\\xfb\\x03\\x3b\\x42\\xdb\\xaa\\xc7\\x96\\x0b\\x35\\xef\\xbb\\xfb\\xd0\\x77\\x41\\xc3\\x16\\xbc\\xa5\\x5e\\xc9\\x55\\x2f\\xa9\\x27\\x39\\x9c\\xb1\\x7a\\x4f\\xaf\\xdd\\x72\\x7a\\x67\\xd7\\x8c\\xc5\\x77\\x3c\\xb2\\xec\\x00\\x7f\\x1f\\xb5\\xfd\\xed\\xfe\\xee\\xb7\\xab\\xb7\\x5d\\xb8\\x2b\\xd3\\x70\\xf6\\x48\\x47\\x31\\xcf\\x51\\xf7\\xb2\\xa9\\x90\\x26\\x55\\x30\\x3f\\x16\\xc6\\x02\\x36\\x05\\xb1\\x37\\xa1\\x03\\xf3\\x67\\x7a\\x48\\x13\\xcb\\x40\\x62\\x1e\\x9b\\x16\\x14\\xe8\\xc7\\x69\\xab\\xa5\\xee\\x5c\\xa2\\xd3\\xd1\\x62\\xe9\\xfc\\xa2\\xbe\\xe7\\xb2\\xca\\xec\\xc3\\xe7\\xd6\\x64\\x4e\\xbe\\x2d\\xa1\\xcb\\x90\\xcc\\x41\\x3d\\x73\\x3b\\x4a\\x15\\x8e\\xbc\\x03\\x8f\\x0c\\x5e\\x74\\xeb\\xd0\\xcf\\xef\\xef\\xef\\x58\\x5a\\x71\\x32\\xbb\\xb2\\xbc\\x2e\\xa5\\x84\\xe6\\xdc\\x87\\x59\\x15\\xb4\\xc5\\x38\\xd1\\xc8\\xc2\\x5f\\x91\\x65\\x49\\xb7\\x15\\x52\\x5f\\xf1\\xc2\\x29\\xfd\\x56\\xe8\\xc8\\x72\\xd0\\x60\\x39\\xe9\\x62\\xdb\\xcb\\x78\\x9c\\x0c\\xea\\x73\\x20\\x1d\\xa7\\x24\\xea\\xe1\\x88\\x5d\\x85\\x47\\xad\\xdf\\xfe\\xe7\\xb6\\xad\\x91\\x55\\x2b\\xe0\\xbd\\x59\\x0f\\x2d\\x70\\x3c\\xb2\\x82\\xb0\\x9e\\x47\\xac\\x51\\xc8\\x73\\x38\\x0b\\xda\\xec\\x63\\xf0\\x17\\x2c\\x87\\x62\\xbe\\x00\\xca\\x11\\x5f\\xf2\\xc7\\x67\\x65\\x66\\x75\\xe7\\xda\\x1e\\xed\\x89\\x99\\xce\\xad\\xdb\\xc5\\xce\\x65\\xd1\\x7a\\xf5\\xf9\\x56\\x43\\x76\\x8f\\xb7\\xc5\\x0c\\x6f\\xd7\\x2d\\xf0\\x3f\\x3d\\x7e\\xbc\\xed\\x96\\x0e\\x63\\x6b\\xd2\\x8a\\xa2\\xa1\\x22\\xb2\\x6a\\xf6\\xfc\\x25\\x37\\x75\\xee\\x1c\\xd5\\xa3\\x4d\\x76\\xcc\\xae\\xb2\\x31\\x19\\x63\\x87\\xf5\\xb7\\xf6\\x6a\\xb3\\x42\\xd4\\xf7\\x26\\xea\\xa8\\x37\\xd6\\x17\\xc7\\x5a\\x6f\\x89\\x8d\\x8b\\x0b\\xd6\\xc9\\xc6\\xad\\xd0\\x61\\x73\\x58\\x64\\xf0\\x56\\xd2\\x93\\xeb\\x29\\x44\\xc7\\x0e\\x52\\x9a\\xa8\\x55\\x9f\\xe8\\x3e\\x10\\x87\\x4e\\x63\\x88\\x75\\xed\\xa6\\x84\\x86\\x4d\\x82\\x2c\\xf3\\xda\\xbc\\xa2\\xa8\\x17\\x62\\x1f\\x9d\\x73\\xf3\\xed\\xf9\\x83\\xba\\x75\\x7e\\xee\\xce\\x3b\\x1e\\x32\\x6c\\xd1\\x77\\xeb\\xd4\\x35\\x7b\\x4e\\xbf\\x08\\x9e\\x31\\xad\\x4f\\x61\\xeb\\x19\\x93\\x8a\\xf3\\xfb\\x15\\x07\\x9a\\x07\\xd8\\xca\\x6f\\x9f\\x51\\x1c\\x9c\\x91\\x98\\xdd\\x6e\\xcc\\x72\\xb2\\xd7\\x8b\\x28\\xfb\\x08\\xd2\\xa3\\x2f\\x4b\\xb0\\x79\\xfb\\xfa\\x72\\x26\\xcb\\x5e\\x3e\\x3e\\x3a\\xfe\\x26\\x2a\\xc0\\x9b\\xe9\\x20\\xd5\\xb5\\xd8\\xaa\\x4d\\xb4\\xd1\\x84\\xfa\\xd8\\xac\\xe8\\x2c\\x52\\xaa\\x04\\xe9\\x1f\\x45\\xbe\\xd8\\x5a\\xbd\\x27\\x02\\x1e\\xff\\x7a\\xea\\x8c\\xc8\\x6d\\xaa\\xfa\\x5f\\xd0\\xaf\\x5a\\xb5\\x00\\x4e\\xa8\\xf1\\x4b\\xe1\\x25\\x75\\x9f\\x90\\xf7\\x05\\x94\\x57\\xd4\\x11\\x8e\\x35\\x18\\x75\\x3a\\x9f\\xf0\\x56\\xb2\\xec\\x23\\xa1\\xa9\\x52\\x37\\xfb\\x5b\\x7c\\x5c\\x32\\x8b\\x55\\x85\\x74\\xd7\\x4e\\xa7\\xa8\\x5a\\xe7\\x1e\\xcb\\x62\\x07\\x2f\\xa7\\xac\\xe8\\xc4\\xfa\\xd8\\xa7\\xe0\\xd7\\x48\\xf5\\xf9\\x36\\x5d\\xfa\\x4e\\x59\\xf0\\xc6\\x9a\\x8b\\x09\\x5b\\x0c\\xa9\\x99\\xb9\\x03\\x3b\\xb7\\xeb\\x99\\xfc\\x92\\x54\\x74\\xd7\\x5d\\xd1\\xb5\\xe5\\xb7\\x3f\\xb6\\x33\\x3c\\x39\\x69\\x60\\xb7\\xce\\x1d\\x3b\\xa0\\x7c\\xbb\\xb0\\xee\\x6c\\xd4\\x75\\x30\\x8b\\x61\\x31\\x36\\x83\\x9f\\x9f\\xce\\x6a\\x32\\x19\\x7d\\x74\\xc2\\xc8\\x61\\xc8\\x5c\\x9a\\x66\\x64\\xb1\\x36\\x27\\x6a\\x4e\\x14\\x8e\\x69\\xa1\\x2d\\xbb\\x45\\x6d\\x2e\\x63\\x27\\xba\\x8e\\xa4\\x42\\x17\\x48\\x5f\\x72\\xdb\\xa1\\x67\\x67\\xde\\xec\\xfd\\x9c\\x7f\\x8f\\x05\\xc9\\xb9\\x93\\x8b\\x66\\x8f\\x78\\xe0\\xc5\\xb4\\x0e\\x99\\x7d\\x32\\x13\\x3a\\x0f\\x98\\x7a\\xef\\xd2\\xcf\\x21\\xbc\\x28\\x3f\\x64\\xe0\\xfb\\xdd\\x2a\\x26\\x0d\\x5d\\x91\\x77\\x25\\xbd\\xcb\\xa0\\xde\\x69\\xc9\\xf4\\xbd\\x87\\xfa\\x0e\\xea\\xda\\x86\\x7a\\xf0\\x61\\xe6\\xb7\\xb0\\x49\\x74\\xc4\\x04\\x13\\xea\\x4d\\xcb\\xa1\\xdd\\x22\\xfc\\xb8\\x58\\xb1\\xc8\\x8a\\x56\\x8f\\xf3\\xc2\\xf0\\x67\\x96\\x8d\\x08\\xfe\\x6f\\xf0\\x98\\x15\\x0f\\xab\\x13\\xa5\\xa2\\x7f\\xbd\\xba\\xe9\\xd9\\xc2\\xb2\\x4d\\x9b\\x1f\\x11\\x6b\\x09\\x92\\xfa\\x06\\xca\\xd4\\x4f\\x9a\\x89\\x32\\x45\\xb3\\x64\\x16\\x87\\x3a\\x35\\x9b\\xbd\\x63\\x42\\x42\\xbc\\x23\\xa8\\xb9\\xb5\\x61\\xde\\xce\\xe6\\x66\\xd6\\xc4\\x12\\xf3\\x72\\xcd\\x7d\\x1a\\x8e\\xda\\xca\\xa2\\x73\\x2d\\x02\\xd2\\xb4\\xa3\\x07\\xb0\\xa7\\xf0\\x3c\\x78\\x6b\\xc0\\xfc\\xdb\\x87\\xf6\\x2f\\x7b\\xf9\\xe1\\x65\\xf7\\x4e\\x1e\\xdf\\x36\\xf5\\x89\\xa9\\x9d\\xb2\\xc6\\x26\\x77\\x4f\\xd6\\xe5\\xf4\\x4c\\xef\\xdc\\xb9\\x4f\\xa6\\x34\\xb3\\x74\\x64\\xcf\\x29\\x81\\xc9\\xb3\\xab\\x96\\x55\\x4c\\x19\\x30\\x35\\xb4\\xd5\\xc8\\xf4\\xc9\\x33\\xd5\\x3d\\x37\\x75\\x18\\x92\\x9a\\xd1\\x26\\x79\\x41\\x9f\\xec\\xb6\\x19\\x7d\\xba\\x24\\x77\\xa0\\x75\\x0f\\x94\\x79\\x2a\\xf4\\x40\\xfd\\x8b\\xd3\\xf0\\xe2\\x6c\\x06\\xce\\x8d\\x72\\x74\\xb4\\x25\\x9c\\x1c\\x3e\\x98\\x59\\xdc\\x0e\\x6f\\x71\\x5b\\x20\\x2d\\xab\\x61\\x27\\x36\\x67\\x5f\\x81\\x83\\x05\\x78\\x1c\\x65\\x97\\x5e\\x9d\\xd6\\xa3\\x68\\x72\\xf5\\xd6\\xe5\\xf3\\xee\\xce\\x2e\\x5d\\x3e\\xba\\x74\\xb9\\x65\\x93\\x19\\x7c\\x3b\\xb6\\xcb\\x1e\\x90\\x81\\x7e\\x71\\x61\\x47\\x76\\xcd\\xe4\\x45\\x1b\\xef\\xaa\\x19\\xb7\\xf7\\x81\\x01\\x13\\x0b\\xc3\\x87\\xc3\\x23\\x89\\x59\\x83\\x07\\x24\\xa5\\x0c\\x11\\xeb\\x30\\x15\\xca\\x16\\xc9\\x44\\x6b\\x64\\xfe\\xcc\\xb2\\x05\\xfd\\x41\\x06\\x1f\\x5a\\x4a\\x4a\\xd3\\xf6\\x72\\x4e\\xd7\\x2b\\xb1\\x59\\x21\\xee\\x1d\\xb5\\x78\\xd6\\x11\\x49\\xad\\x9b\\xcc\\x87\\xcb\\xe5\\x6f\\xf0\\xfa\\x32\\x19\\x82\\x3e\\xd6\\x27\\xf9\\xbc\\x6c\\x7c\\x29\\xf0\\xd9\\x67\\x03\\x9d\\x7b\\x01\\xab\\x07\\x95\\x2d\\xb4\\xb6\\xa3\\x61\\xfa\\xe8\\x74\\x5c\\xf1\\x33\\x36\\x60\\x4a\\x7a\\x5a\\xc4\\xc1\\x9e\\x48\\x43\\x35\\xf0\\xc9\\xef\\x48\\x47\\xde\\xff\\xf8\\x3f\\x72\\xd9\\x5b\\xbc\\xae\\x5c\\xd6\\xd5\\x1a\\x5f\\xf6\\x19\\xa1\\x5e\\x12\\x90\\xb4\\x56\\x54\\xa5\\x6c\\xe1\\x9b\\x10\\xcf\\x8c\\x1e\\x1a\\x69\\xf3\\x0d\\x0a\\xf5\\xc7\\x1f\\x9e\\xa7\\x07\\x7d\\x48\\xa0\\xb6\\xa4\\xa3\\x3d\\x9f\\x40\\x76\\xa9\\x77\\x70\\xb5\\x14\\xc4\\x4e\\x13\\x2b\\x46\\x0a\\x71\\x9e\\x9b\\x91\\xde\\x5e\\x9f\\xd3\\xb3\\x67\\xef\\x11\\x37\\x29\\xdd\\xfc\\x47\\xf6\\x42\\x09\\x54\\x4d\\x02\\xdd\\xc7\\x11\\x26\\x5b\\x60\\x52\\x42\\xc7\\x9e\\x21\\x43\\x0e\\xb8\\x05\\xe1\\xea\\x7f\\x50\\x8e\\xc9\\xb4\\xf6\\x17\\x23\\x56\\x88\\xc3\\xa2\\xa2\\x2c\\x06\\xc6\\x82\\x14\\x5f\\x9b\\x21\\xa0\\x9f\\x6f\\x44\\x8c\\xa8\\x3b\\x29\\x8d\\xb6\\x37\\x49\\x27\\xa7\\x6a\\x76\\x9d\\x8d\\x96\\xff\\xd2\\x51\\x85\\x0f\\xc4\\xf6\\xed\\x6d\\x0b\\x17\\xfb\\x9b\\x84\\x65\\x0f\\xbf\\x29\\xb1\\x57\\xb7\\xac\\xb0\\x0e\\x1d\\xfc\\x26\\x44\\xa6\\xf6\\x3d\\xb5\\x71\\x8d\\x74\\x7e\\xc7\\xab\\x7c\\x8d\\xae\\x26\\x38\\x3c\\x24\\xa9\\x4d\\xde\\x80\\xb6\\x21\\xe1\\xc1\\xb1\\xf1\\xa3\\x72\\x62\\x17\\xf4\\xf2\\xb9\\x7b\\xa5\\x51\\xd3\\xeb\\x01\\xe4\\xa7\\x37\\xe9\\x35\\x40\\xec\\x27\\x6c\\x36\\x1a\\xd1\\x5c\\x79\\x00\\x62\\x4b\\x62\\xe7\\x52\\x19\\x2d\\x39\\x89\\x6d\\xaa\\x42\\x62\\x12\\xba\\x41\\xba\\x73\\x33\\x45\\x5d\\xdf\\x93\\xd2\\xaf\\x4b\\x79\\xd6\\x92\\x7b\\xa7\\x4b\\x93\\x47\\x8e\\xa8\\x8e\\x9a\\x5e\\x88\\x56\\xbb\\xcf\\x78\\x62\\xe9\\x0c\\x9f\\xdc\\xac\\xce\\xbd\\x7e\\x6d\\x19\\x9f\\x8b\\xdd\\x60\\x1a\\xe3\\x93\\xf9\\xa4\\x46\\xf8\\x45\\x7c\\xe9\\x76\\xe9\\x44\\x94\\x07\\xbe\\xee\\x21\\xe3\\x7d\\x3e\\xea\\x0a\\x8f\\x0a\\x1a\\xf0\\x7d\\x59\\xa4\\xb0\\xa3\\x77\\xb8\\x17\\x76\\xad\\xa6\\xbc\\x20\\x08\\x72\\xed\\x72\\x65\\xa6\\x37\\x5b\\xd0\\x45\\x1a\\xa1\\x4b\\x2e\\xab\\xa2\\x51\\xb1\\x7f\\x4f\\x0b\\xf7\\xa8\\x67\\x4b\\x27\\x61\\xd5\\x1e\\x77\\x8c\\xcd\\x8b\\x35\\x8e\\x50\\xb6\\xb8\\xea\\x83\\x20\\x61\\xd2\\xc1\\x59\\xb6\\x2c\\xac\\xf7\\x43\\xac\\xb7\\x08\\xeb\\xf5\\x46\\x3b\\xa6\\xbd\\x66\\x90\\xc3\\x03\\x7d\\x7c\\xb6\\xd6\\xbf\\x63\\xb3\\x18\\x7c\\xfb\\xc9\\x3e\\xb2\\x8f\\x3e\\xca\\x1c\\x22\\x4c\\x1a\\xa2\\x27\\x36\\xd0\\xa4\\x66\\x3a\\x8f\\xd3\\x79\\x42\\x89\\xc6\\x0c\\xed\\xbb\\xa5\\x4b\\x24\\x13\\x6b\\x7b\\xb4\\x85\\x38\\x77\\x36\\xe3\\xe1\\xa5\\x35\\xa3\\x7c\\x96\\xdb\\x93\\x46\\x0d\\x6a\\x13\\xdb\\x33\\xa7\\x4b\\xf8\\xd0\\xc8\\xf1\\x91\\xd3\\xc7\\xa4\\x8f\\xc8\\x8b\\xe9\\xd0\\xde\\x67\\x42\\x78\\xc7\\xc1\\xca\\x96\\x92\\x51\\xde\\xc3\\x86\\xbd\\x7f\\xdc\\x1c\\x64\\xc9\\x1e\\x91\\x1b\\x11\\x11\\x1e\\xd9\\x3b\\x3d\\x8a\\x74\\x72\\x5e\\x5e\\xcb\\x4f\\xe8\\x12\\x5a\\x6e\\x7f\\x64\\xcc\\x86\\xf6\\xe7\\x75\\x44\\xfa\\xb1\\x86\\x8f\\xd6\\xad\\x7d\\x52\\xfe\\x65\\x9d\\x0e\\x6c\\xa7\\x75\\x09\\xd8\\xfc\\xde\\x88\\x78\\xe7\\x9d\\x08\\xe8\\x8e\\x78\\xd5\\xf2\\x5a\\xf8\\xcc\\x8d\\xf7\\xbb\\x6d\\x6f\\x3a\\xaf\\x79\\x5e\\x3a\\xf2\\xd5\\xe9\\xf7\\x74\\xeb\\x5e\\x90\\x2e\\xae\\xd5\\x29\\x35\\xd8\\xf6\\x92\\xd5\\x1d\\x02\\x8f\\xda\\x9e\\x84\\xfc\\xbd\\xae\\x9b\\xc3\\x2c\\x2c\\x82\\xc5\\xdb\\x82\\x42\\xc2\\xc3\\x83\\x98\\xbf\\xc9\\xdf\\xea\\x2f\\xf9\\x73\\x7f\\x7d\\x6b\\x3d\\xd7\\x87\\x06\\x21\\xfc\\x17\\x05\\x69\\xef\\x15\\x68\\x63\\x74\\xa3\\x36\\x48\\xce\\x9f\\x29\\x35\\xf0\\xdf\\x3e\\x37\\x27\\xcb\\x38\\x20\\x7f\\xe4\\xd8\\x91\\xc3\\xf4\\xe3\\x2d\\x71\\x7d\\x72\\x15\\x92\\x44\\x41\\x49\\x94\\x5f\\x13\\x03\\x86\\xb6\\xea\\x9c\\xdc\\xb9\\xaf\\x31\\x61\\xa2\\xa4\\xa8\\x57\\x9c\\x42\\x91\\x9e\\x46\\xa1\\x5c\\xeb\\xf4\\x26\\xb1\\x4f\\x23\\x4b\\x12\\x6f\\x71\\x85\\x07\\x18\\x71\\x90\\x36\\xca\\x51\\xfe\\xfe\\xc1\\xad\\x83\\x53\\x83\\xa5\\x60\\x2f\\xd9\\xc9\\x48\\xc3\\x31\\x54\\x28\\xb0\\x5b\\xd4\\xe6\\xf7\\xd7\\x9b\\x71\\xfa\\x23\\x65\\xdd\\x2b\\xf2\\xa5\\xb5\\x0a\\xef\\xd7\\xa6\\x7f\\xcf\\x6e\\xe1\\x6d\\x3b\\x06\\x2d\\x8e\\x5b\\x3c\\xa1\\xed\\x80\\x1e\\x5d\\xc2\\xe2\\x3b\\x86\\x2f\\x8e\\x5b\\xa8\\xec\\x51\\x7f\\x88\\x78\\xe0\\x81\\x08\\x18\\x18\\xdb\\x36\\x36\\xad\\xdb\\xbd\\xb5\\xf8\\x4f\\x52\\xee\\xfd\\xf3\\x88\\xaf\\x87\\x91\\xaf\\x49\\x7a\\x2b\\xea\\x3b\\x90\\xa1\\x13\\xf9\\x99\\x8d\\xba\\x25\\x38\\x26\\x89\\x16\\x93\\x9d\\x1a\\x66\\xda\\x93\\x26\\x78\\x48\\x0c\\x88\\x0e\\xd1\\x4b\\xee\\xfd\\xdb\\xa8\\xe2\\xf1\\xca\\x1d\\xc0\\xbd\\x7e\\x99\\xba\\xf2\\x39\\xfe\\x44\\xfe\\xc0\\xe1\\xb3\\x42\\x36\\xb6\\xdb\\xa1\\xd3\\x85\\xb3\\xfa\\x84\\x2b\\xea\\xc3\\xab\\x17\\x24\\xf4\\x1f\\x31\\x74\\xd0\\xfa\\xd5\\x37\\xd4\\x11\\x6a\\xc3\\xce\\xc0\\x4f\\xc2\\x7a\\x96\\x50\\x25\\x61\\x7b\\xc4\\x39\\x87\\x14\\x24\\x24\\x66\\xdd\\x58\\x4b\\x97\\xab\\x5e\\xc0\\x6f\\x53\\xec\\x8d\\x6b\\xb9\\x92\\x50\\x1f\\xde\\xa8\\x12\\x57\\x1d\\x49\\x18\\xa7\\xc6\\xb2\\x68\\x9b\\xc5\\xea\\x65\\xf1\\x6f\\xd5\\xba\\xd5\\xca\\x56\\x52\\x2b\\x2f\\x6f\\x7f\\x19\\x64\\x46\\xdb\\xbd\\xa6\\x53\\x1b\\xa5\\x26\\xe1\\x59\\x8b\\x44\\xa1\\x48\\x96\\x2b\\x2a\\xd3\\x8c\\x9e\\xe2\\x59\\x67\\x44\\x5f\\x5b\\x5a\\x57\\x43\\x50\\x59\\xfb\\xb9\\x2b\\xcb\\xca\\x7d\\x1e\\x0c\\x49\\x2b\\x93\\xd7\\xba\\xeb\\x87\\x1f\\xc2\\xc2\\xbd\\x4a\\x65\\x7d\\x5f\\x5b\\xf7\\x3c\\xaf\\xae\\xf3\\x25\\xc5\\xc9\\xcf\\x3a\\x7d\\x7b\\xe4\\x07\\xa7\\x6c\\xb6\\x10\\x6b\\xab\\x97\\xfd\\xc1\\xdf\\x9f\\xc5\\x06\\xfa\\x87\\xb7\\x0e\\xe7\\xe1\\xc4\\x13\\xf5\\x1a\\xc8\\x95\\x66\\xf3\\xd4\\x82\\xf7\\xd2\\x6f\\xe0\\x2c\\xa0\\x59\\xa3\\x37\\x62\\x2d\\xb5\\x05\\xb3\\x7b\\x32\\x78\\x6b\\x63\\xcb\\xe3\\xbc\\xb1\\x43\\xa3\\x7d\\x94\\x13\\xe4\\x8b\\x6f\\x6a\\xbb\\x11\\x1f\\x44\\x1b\\xb1\\x1b\\xae\\xeb\\xc4\\x75\\x6d\\xdf\\xe4\\x26\\xfb\\x35\\xff\\xc8\\x4d\\xd2\\x80\\x66\\xf2\\xcf\\xf2\\x44\\x29\\x49\\xec\\x31\\xa9\\x2e\\x16\\xfb\\x08\\x5b\\x12\\xbc\\x2e\\x53\\xfe\\xb7\\x7c\\x0a\\xe1\\x6c\\x51\\x17\\x36\\xca\\xff\\x81\\x6f\\x70\\xe6\\x6f\\x6c\\x94\\xff\\x3d\\x7f\\xa6\\xb9\\xbd\\xc2\\x7f\\x7f\\x6f\\x6c\\xa6\\x53\\x8d\\xea\\x62\\x18\\x54\\xff\\x83\\xf3\\xec\\xde\\x54\\x76\\x13\\xcb\\x61\\x59\\xb6\\x88\\xf0\\xe8\\x68\\x9c\\x11\\xb2\\x6c\\xb0\\x65\\xaf\\xcb\\xe6\\xd9\\x89\\x41\\xfe\\xfe\\x89\\x06\\x49\\x4a\\xec\\xde\\x3d\\x39\\x51\\x3c\\xe6\\x4b\\xa5\\xa3\\xea\\xf0\\xd7\\xb4\\xbb\\x60\\x76\\x5a\\x5a\\x6a\\x9a\\xe8\\x15\\x94\\x4e\\xee\\xf8\\x35\\x21\\xcb\\x23\\xad\\xf7\\x48\\xc7\\xb7\\x90\\xaf\\x0f\\x48\\x97\\x54\\x63\\x8a\\x35\\x26\\x25\\x25\\xc6\\x9a\\x72\\xc6\\x95\\x78\\xd8\\x95\\xe0\\xf9\\xc9\\x5a\\x2a\\x39\\xc9\\x95\\xd8\\x9b\\x5d\\x91\\x3d\\x59\\x9c\\xca\\xab\\x95\\xa0\\x7f\\x5f\\x72\\xfe\\x7b\\xb9\\xc9\\xdf\\x61\\xd0\\x17\\x43\\x48\\x26\\x3b\\x1c\\x28\\x6f\\x32\\xca\\x2b\\xd1\\xa9\\x40\\xad\\xc5\\x93\\x36\\x06\\xa0\\x6f\\xdd\\x1a\\x87\\x43\\xb0\\x85\\xae\\x0b\\xe5\\xa1\\xfa\\xa8\\x28\\x5f\\x3d\\x09\\xe9\\x14\\x4e\\x1b\\x13\\x95\\xac\\x68\\xfd\\x6f\\x71\\xef\\x70\\x04\\x42\\xbf\\x20\\x18\\xe8\\xe2\\x27\\xc9\\x95\\x10\\x7c\\x6e\\x98\\x39\\xb3\\x67\\xf3\\x2c\\x79\\xf0\\xa4\\xc7\\x31\\xb9\\x35\\x5a\\x21\\xc3\\x16\\xa1\\xe3\\xfc\\x13\\x8c\\x7d\\x96\\x48\\x92\\x77\\x6c\\x6c\\x08\\x8b\\x04\\x5b\\xe4\\xba\\x48\\x1e\\xe9\\x1d\\x13\\x63\\xf6\\x6e\\xc2\\x5a\\xd8\\xee\\x02\\x6d\\xa2\\x9e\\x85\\x53\\x14\\x7d\\xec\\x6f\\xf2\\xa8\\x8e\\x0a\\xae\\x10\\x5c\\x4e\\x0b\\x81\\xdd\\xcd\\xf2\\xa9\\x9e\\xaf\\x9a\\x39\\xb3\\xea\\xd5\\x16\\x58\\x15\\x67\\xf1\\xd5\\x9f\\x97\\xbf\\xd7\\xe1\\x3c\\x97\\xa5\\x60\\x20\\x9f\\x99\\xc2\\x13\\xfd\\x24\\xbd\\x4e\\xb4\\x3a\\x9c\\xda\\xb2\\x90\\x28\\xae\\xf7\\x93\\x62\\xb1\\x41\\x66\\x75\\x97\\xb2\\x24\\xa6\\xe8\\xe3\\xa4\\x04\\x3f\\x7d\\x74\\x86\\xb5\\xdf\\x82\\xa2\\xde\\x16\\x3f\\xa5\\xcd\\xd0\\x6e\\x7d\\xa6\\x0f\\x4e\\x1f\\x05\\xdd\\x2c\\x31\\x71\\xdc\\x12\\x52\\xf1\\xf4\\x91\\xa5\\x8b\\x5f\\x9f\\x61\\x0d\\x6d\\x35\\x73\\xcd\\xff\\x4d\\xbd\\x0a\\x56\\x5e\\xd2\\x46\\xfd\\x06\\xbe\\xe9\\x3d\\xa7\\x74\\x6c\\x9b\\x56\\x83\\xca\\x6f\\x1f\\xd1\\x73\\xd6\\xb0\\x94\\xd4\\xe1\\xd5\\x52\\x85\\xfa\\xef\\xa8\\xec\\x25\\xf7\\x8d\\x9c\\xf1\\xc6\\xed\\x83\\x7a\\x2f\\xdd\\x36\\xa7\\xe2\\xf9\\x65\\x93\\xa2\\xa1\\x0b\\x0c\\x9b\\xf5\\x7f\\x03\\x91\\xaf\\x51\\xf5\\xdf\\xeb\\xbd\\x94\\xf1\\x68\\x57\\x0c\\xc2\\xc5\\x23\\x63\\x10\\x2b\\x2d\\xce\\xb3\\xfd\\xb4\\x94\\x3e\\x1a\\xa7\\x00\\xb1\\xda\\xa6\\xd3\\xae\\x7d\\xff\\x45\\x7e\\x24\\x04\\xeb\\x4e\\x5d\\xeb\\x13\\xad\\xfc\\xdf\\xb5\\x73\\xe3\\x6f\\x0f\\x9b\\x07\\x21\\x0b\\xcc\\x8b\\xc6\\xde\\x19\\x3e\\x17\\xc2\\x9e\\x0a\\x0c\\x50\\x7f\\x0c\\xd2\\x4b\\x83\\x57\\x95\\xde\\x72\\x8f\\xdf\\xa8\\x27\\xa6\\x2d\\xbf\\x3f\\x68\\x09\\x84\\xdc\\x6c\\x91\\xe4\\x57\\x9e\\xb9\\x5e\\xf4\\xc8\\xad\\x7c\\x92\\xe3\\xb6\\xf1\\xc9\\xb5\\x0f\\xdd\\xc9\\x27\\xd4\\xbd\\x30\\xc9\\xee\\x7d\\x5b\\xdb\\x9a\\xb1\\xf3\\x66\\xff\\xab\\xf4\\xbe\\xe5\\xb6\\x62\\x7e\\xb7\\xe3\\xee\\x71\\x1d\\x95\\x5a\\xd2\\x1b\\xf2\\x27\\x1f\\x26\\xfe\\xac\\x4e\\xfe\\x5a\\x60\\x4d\\xcc\\x53\\x02\\xe4\\x57\\xea\\xca\\xa3\\xa5\\x35\\x8e\\x36\\xce\\x93\\xd0\\x90\\x13\\x53\\xb0\\x7a\\x25\\x40\\xd1\\xce\\x49\\xf3\\xd3\\x2f\\xc6\\xfa\\xd5\\xe3\\x8e\\x17\\x16\\xb4\\x5b\\xba\\xa1\\x96\\x4f\\xac\\x7b\\x21\\x6f\\xb5\\xe1\\xc1\\x30\\x71\\x4e\\x5a\\x68\\x65\\x04\\x9d\\xcb\\x40\\x2b\\x59\\x2c\\xa0\\x0f\\xc3\\x9e\\x1b\\xbb\\x03\\x83\\xbe\\x33\\xd6\\x1d\\x57\\xff\\x2a\\xd2\\xae\\xd8\\x33\\x48\\xd2\\x4d\\x22\\x2d\\xe5\\x12\\xed\\x4b\\x74\\x08\\xd1\\x31\\x74\\xb5\\x00\\x69\\x20\\x0b\\xac\\x2f\\xc3\\x19\\xbb\\x84\\xf9\\x71\\x2c\\x8b\\xd2\\xd9\\x44\\xbb\\xd4\\xaf\\x44\\xda\\x55\\xa4\\xf5\\xa7\\x31\\xdd\\x16\\xfd\\x22\\x12\\xa9\\x99\\x68\\x1c\\xe6\\xa4\\xe2\\x5d\\x47\\x91\\x8a\\xbb\\x52\\xf1\\x2e\\x91\\xd3\\x85\\xa8\\xb8\\x2b\\x15\\xef\\x2a\\x63\\xe9\\x84\\x9c\\xce\\xfc\\xd5\\x5f\\x90\\x9a\\x89\\xc6\\x61\\x7e\\x06\\xde\\x75\\x14\\x69\\x17\\xa2\\x82\\xdb\\x2c\\xc4\\x2f\\x43\\x6a\\x42\\x84\\x2c\\xac\\x45\\xa4\\x23\\x89\\x46\\x11\\x8d\\x23\\x9a\\x46\\x25\\x85\\x44\\x59\\xac\\x0f\\xd1\\x7e\\x44\\x07\\x51\\xfe\\x70\\x4a\\x8f\\xa2\\xf4\\x68\\x4a\\x8f\\xa5\\xf4\\x38\\x4a\\x4f\\x40\\x9a\\x8d\\xb5\\xe4\\x22\\x35\\x51\\xda\\x4c\\xe9\\x48\\x4a\\x47\\x11\\x15\\xb5\\x64\\x13\\x7e\\x36\\x21\\x67\\x23\\xb2\\xa0\\xc3\\x89\\x0a\\xe4\\x6c\\xc2\\xcc\\x46\\xb4\\xa3\\xac\\x0b\\xf1\\xdc\\x85\\xd0\\xba\\x10\\xcf\\x5d\\x08\\xad\\x0b\\xa1\\x75\\x21\\x2d\\x75\\x41\\x34\\x51\\xb2\\x1f\\x51\\xd1\\x0f\\x77\\x41\\x34\\x91\\x1e\\x45\\x74\\x2c\\x51\\x81\\xd6\\x95\\xf4\\xd9\\x95\\x38\\xec\\x8a\\x98\\x65\\x48\\xcd\\x94\\x8e\\x44\\x9c\\xae\\x88\\x29\\x68\\x1c\\xe5\\x0b\\x0e\\xbb\\x12\\x87\\x5d\\x89\\xc3\\xae\\xc4\\x61\\x57\\x36\\x82\\xe8\\x48\\xa2\\x63\\x89\\xe6\\x23\\xed\\xcf\\xfa\\x23\\x72\\x7f\\xfd\\x69\\x16\\xcf\\x46\\x21\\xfe\\x4a\\xa4\\x66\\x41\\x31\\x67\\x10\\xcb\\xa7\\x9c\\x7c\\xca\\x19\\x87\\xe9\\x57\\x91\\x9a\\x91\\x4e\\xa0\\xf4\\x04\\x91\\x96\\x6e\\x12\\x76\\x94\\x6e\\x92\\x06\\xd6\\xaf\\x40\\x3a\\x9c\\xe8\\xe8\\xfa\\x5c\\xa4\\x63\\xea\\x65\\xa4\\x63\\x29\\xa7\\x80\\xd2\\x25\\xf5\\xef\\x23\\xad\\x24\\x5a\\x8b\\xd4\\x86\\x65\\x5e\\x44\\x5a\\x80\\xb4\\x87\\xd4\\x0b\\x8c\\x48\\x73\\xeb\\x07\\x20\\xed\\x5b\\x5f\\x8b\\x74\\x48\\xfd\\x4a\\xa4\\x13\\x11\\xbf\\x87\\x34\\x99\\x68\\x21\\xd1\\x22\\xa2\\xa5\\x44\\xcb\\x89\\x4e\\x27\\x3a\\x83\\x68\\x05\\xd1\\xd9\\x44\\xe7\\x10\\x9d\\x4f\\xf4\\x16\\x76\\x2b\\xd2\\x45\\x98\\xce\\x25\\x9e\\x73\\x89\\xe7\\x5c\\xe2\\x39\\x97\\x78\\xce\\x25\\x9e\\x73\\x89\\xe7\\x5c\\xe2\\x39\\x97\\x78\\xce\\x25\\x9e\\x73\\x89\\xe7\\x5c\\xe1\\xf3\\x52\\x1f\\xd4\\x40\\x6b\\xa4\\x66\\x41\\x89\\xf3\\x3e\\xc8\\xf9\\x10\\xa4\\x7d\\x89\\x0e\\x21\\x3a\\xbd\\xfe\\x28\\x52\\x51\\x6f\\x5f\\xaa\\xb1\\x2f\\xd6\\x78\\x10\\xe9\\x70\\xa2\\xa2\\xc6\\xbe\\x54\\x63\\x5f\\xaa\\x6b\\x20\\x22\\xec\\x44\\x2a\\x74\\x32\\x90\\x74\\x32\\x18\\xcb\\xcf\\x44\\x3a\\x9c\\xe8\\x58\\xa2\\x13\\xeb\\x8f\\x20\\x2d\\x22\\x5a\\x4a\\xb4\\x8c\\xe8\\x34\\xa2\\xb3\\x88\\xce\\x26\\x3a\\x87\\xe8\\x7c\\xa2\\x0b\\x88\\x2e\\x22\\xba\\x04\\xe9\\x10\\xe2\\x67\\x08\\xf1\\x33\\x84\\xf8\\x19\\x42\\xfc\\x0c\\x21\\x7e\\x86\\x10\\x3f\\xc3\\x89\\x9f\\xe1\\xc4\\xcf\\x70\\xe2\\x67\\x24\\xb6\\xd6\\x6b\\x48\\xcd\\x82\\xe2\\xd5\\x32\\xa4\\x7d\\x89\\x0e\\x41\\x3a\\x4a\\x9a\\x5b\\xbf\\x57\\x1a\\x2d\\x3c\\x1f\\x29\\xb6\\x56\\xa4\\x66\\x4a\\x47\\x12\\x8d\\x12\\x14\\x75\\x15\\x8a\\x34\\x97\\xd2\\x7d\\xeb\\x37\\x22\\x1d\\x88\\x5a\\x1a\\x8d\\x08\\x22\\x3d\\x9c\\xd2\\x63\\x89\\x8e\\x27\\x2a\\xac\\x3f\\x5a\\x9a\\x44\\xb4\\x88\\x68\\x49\\xfd\\x87\\x48\\x4b\\x29\\x3d\\x95\\x68\\x39\\x95\\x9c\\x4e\\xb4\\x82\\x68\\x25\\xe5\\xcf\\x26\\x3a\\x87\\xe8\\x3c\\xca\\x9f\\x4f\\xe9\\x5a\\xa2\\x37\\x13\\x8e\\xb0\\xce\\x68\\x69\\x21\\x5d\\x5d\\x44\\xf9\\x8b\\x31\\x3d\\x06\\xa5\\xe8\\x83\\x14\\xdb\\x1a\\x52\\x33\\xa5\\xb1\\xad\\x21\\x8d\\x12\\x94\\x2c\\x3e\\x86\\x7c\\x75\\x0c\\xf9\\xea\\x18\\xf2\\xd5\\x31\\xc4\\xed\\x18\\xf2\\xd5\\x31\\xe4\\xab\\x63\\x88\\xe7\\x31\\xc8\\xf3\\x41\\xa4\\xa5\\x94\\x2e\\x27\\x3a\\x9d\\xe8\\x0c\\xa2\\x15\\x44\\x67\\x13\\x9d\\x43\\x74\\x3e\\x51\\xc1\\xdb\\x18\\xe2\\x6a\\x2c\\xd9\\x62\\x2c\\xda\\xe2\\x5e\\xa4\\x05\\x48\\xf3\\xd1\\xa6\\xdb\\x90\\x2e\\x41\\x3a\\x0e\\xeb\\xfd\\x0c\\x69\\x11\\xd1\\x52\\x2c\\x39\\x0e\\xfd\\xe1\\x18\\xd2\\xd9\\x94\\x33\\x87\\xe8\\x7c\\xa2\\x0b\\x88\\x2e\\x22\\xba\\x04\\xe9\\x78\\xb2\\xef\\x78\\xb2\\x6f\\x01\\xc9\\x55\\x40\\x72\\x15\\x90\\x5c\\x05\\x24\\x57\\x01\\xc9\\x55\\x40\\x72\\x15\\x90\\x5c\\x05\\x24\\x57\\x01\\x49\\x54\\x40\\x12\\x15\\x90\\x44\\x05\\x24\\x51\\x01\\x49\\x54\\x40\\x12\\x15\\x90\\x44\\x05\\x24\\x51\\x01\\x49\\x54\\x40\\x12\\x95\\xa2\\x4e\\x8e\\x22\\xad\\x42\\x3e\\x4b\\xd1\\x22\\x3b\\xa5\\x32\\xac\\x25\\x16\\xe9\\xe4\\xfa\\xcd\\x48\\x8b\\x28\\x5d\\x42\\xf9\\xa5\\xf5\\x5b\\x90\\x96\\x53\\xfe\\x34\\xd4\\x64\\x19\\xd6\\x25\\xd2\\x33\\x88\\x56\\x52\\x99\\xd9\\x54\\xbe\\x8a\\xd2\\x73\\x28\\x3d\\x97\\xd2\\xf3\\x29\\xbd\\x80\\xe8\\x22\\xa2\\x4b\\x90\\xce\\xc0\\xba\\x36\\x23\\x2d\\x22\\x5a\\x4a\\xb4\\x8c\\xe8\\x34\\xa2\\xb3\\x88\\xce\\x26\\x5a\\x43\\x74\\x0e\\xd1\\xf9\\x44\\x17\\x10\\x5d\\x44\\x74\\x09\\xd2\\x99\\x88\\x76\\x0a\\xe9\\x14\\x6c\\x59\\x33\\x11\\x53\\xa4\\x4b\\x89\\x96\\x11\\x9d\\x45\\x74\\x36\\xd1\\x1a\\xa2\\x73\\x88\\xce\\xa3\\xf2\\xf3\\x29\\xbd\\x80\\xe8\\x42\\xca\\x59\\x44\\xe9\\xc5\\x94\\x5e\\x82\\xe9\\x59\\x88\\x7f\\x10\\x69\\x11\\xd1\\x52\\xa2\\x65\\x44\\x67\\x11\\x9d\\x4d\\xb4\\x86\\xe8\\x1c\\xa2\\xf3\\x89\\x2e\\x42\\x3a\\x9b\\xf4\\x3c\\x9b\\xf4\\x3c\\x1b\\x75\\x22\\xa8\\xd0\\x76\\x95\\x34\\x9f\\x45\\x22\\x5d\\x40\\x74\\x09\\xd2\\x6a\\x2a\\x53\\x4d\\x57\\xe7\\xd2\\xd5\\xb9\\x74\\x75\\x2e\\x5d\\x9d\\x4f\\x38\\xf3\\xa5\\x99\\x78\\x75\\x3e\\x95\\x9c\\x4f\\x25\\x6b\\x49\\xf6\\x5a\\x92\\xba\\x96\\xa4\\xae\\x25\\xa9\\x6b\\x49\\xde\\x5a\\x92\\xb7\\x96\\xe4\\xad\\x25\\x49\\x6b\\x49\\xd2\\x5a\\x92\\xb1\\x96\\xa4\\x5b\\x40\\xc8\\x0b\\x08\\x73\\x01\\x61\\x2e\\xa2\\x9c\\x45\\x94\\xb3\\x88\\x72\\x96\\x50\\xce\\x12\\xca\\x59\\x42\\x39\\xaf\\x62\\x0b\\x4d\\x47\\x6a\\x46\\xba\\x0d\\xfb\\xe4\\x74\\xe9\\x4d\\xa2\\xdb\\xa5\\xf7\\xd9\\x20\\xa4\\xbb\\xd0\\x2e\\xdb\\xa5\\xdd\\x2c\\x14\\xe9\\xde\\xfa\\x47\\x90\\x7e\\x52\\xbf\\x07\\xe9\\x3e\\x4a\\xef\\xaf\\xef\\x88\\xf4\\x40\\xfd\\x62\\xa4\\x07\\x89\\x1e\\xa6\\xfc\\x2f\\x89\\x9e\\xa0\\xbb\\x4e\\x52\\xf9\\xaf\\x89\\x5e\\x20\\x7a\\x89\\xe8\\x15\\xa2\\x3f\\x09\\x8a\\x35\\x96\\x4a\\x3b\\xa4\\xed\\x58\\xd7\\x0e\\xac\\x37\\x14\\xe9\\xce\\xfa\\x33\\x48\\x77\\x11\\xdd\\x4d\\x39\\x7b\\x29\\xbd\\x8f\\xe8\\x7e\\x2a\\x79\\x00\\xef\\xdd\\x81\\xf5\\x7e\\x8c\\xf4\\x10\\xe5\\x1f\\x26\\x7a\\x14\\x6b\\xdf\\x81\\x3c\\x88\\xab\\x5f\\x11\\x3d\\x4f\\x08\\x57\\xc4\\x55\\x9c\\xa1\\x87\\x4a\\xef\\x52\\x5d\\xef\\x62\\x2d\\x7b\\x90\\xee\\x22\\xba\\x97\\xe8\\x3e\\xa2\\xfb\\x51\\x96\\x77\\x49\\xae\\x77\\x11\\x5f\\x94\\x3c\\x44\\xf4\\x28\\xe5\\x7c\\x45\\x65\\x04\\xda\\xbb\\xd2\\x55\\xa2\\xbf\\xe0\\xd5\\xf7\\x50\\x93\\x8b\\x91\\x9a\\x05\\x45\\xfc\\xd5\\x48\\xdf\\xc7\\x92\\xef\\x91\\x14\\xef\\x49\\xbb\\x89\\xee\\x25\\xfa\\x15\\xd1\\x13\\x44\\x4f\\x51\\xc9\\x33\\x94\\xfe\\x1a\\x39\\x7f\\x4f\\xfa\\x56\\xa0\\x49\\xe7\\x89\\x7e\\x4f\\x08\\x3f\\x10\\xbd\\x40\\x57\\x2f\\x52\\xfa\\x0a\\xd1\\x3a\\xa2\\x0e\\xa2\\xf5\\x82\\xca\\x0c\\xe9\\xfb\\xc8\\xf3\\x19\\xa4\\x87\\x59\\x3a\\xd2\\xb3\\x28\\xef\\xfb\\xd2\\x15\\x4c\\x7f\\x40\\x9c\\x7c\\x40\\xfa\\xfc\\x40\\xba\\x84\\x74\\x27\\xe5\\xec\\x24\\xae\\x76\\x92\\x6e\\x77\\xe2\\x5d\\x83\\x90\\x1e\\xa5\\xab\\x27\\x88\\x7e\\x4d\\xf9\\x17\\x88\\x0a\\xa9\\x77\\x91\\xde\\x76\\x91\\xc6\\x76\\x91\\xc6\\x76\\x91\\x45\\x76\\xa1\\xc6\\x04\\x3d\\x48\\x39\\xa2\\xf6\\x5d\\xa4\\xab\\x5d\\x24\\xdd\\x2e\\xb2\\xc2\\xc7\\x54\\xd7\\xc7\\x54\\xd7\\xc7\\xd2\\x7e\\xca\\x11\\x1a\\xfe\\x18\\xcb\\x97\\x22\\xfd\\x9a\\xd2\\x67\\xf1\\xae\\x8f\\xb1\\x46\\x91\\xbe\\x44\\xf4\\x0a\\x95\\x57\\x31\\x7f\\x37\\x49\\xb7\\x9b\\x78\\xdb\\x8d\\x72\\x85\\x4a\\x7b\\x88\\xe7\\x3d\\x94\\xb3\\xc7\\x99\\xf3\\x0b\\x96\\xd9\\x4b\\x56\\xde\\x8b\\x56\\x10\\xe9\\x9d\\x94\\xde\\x4d\\x69\\x61\\xd9\\xbd\\x68\\xd3\\x3d\\x48\\x05\\x9f\\x7b\\x89\\xcf\\xbd\\xd2\\xf7\\x78\\xef\\x5e\\xf2\\x90\\x4f\\xd1\\x9a\\x0c\\xa9\\x99\\x68\\x24\\xde\\xf5\\x29\\x8e\\x59\\x82\\x2e\\xc4\\x92\\x9f\\x22\\xf2\\x62\\xa4\\xef\\x23\\xe6\\xa7\\x84\\xfc\\x29\\xb5\\x94\\x4f\\x11\\x5f\\x5c\\xdd\\x4f\\xe9\\x03\\x44\\x0f\\x11\\xfd\\x8a\\xf2\\x85\\x1e\\x3e\\x25\\x7d\\x7e\\x4a\\xfa\\xdc\\x87\\x38\\x7b\\x90\\xee\\x22\\x2a\\xee\\xda\\x47\\x77\\xed\\x23\\x7f\\xde\\x87\\xbc\\x85\\x22\\x15\\xfe\\xbc\\x8f\\xfc\\x79\\x1f\\xca\\x98\\x8e\\xf4\\x1b\\xca\\x3f\\x4b\\x54\\x48\\xba\\x1f\\xb9\\xdd\\x8c\\xd4\\x2c\\x28\\x49\\xbd\\x5f\\xda\\x89\\x25\\xf7\\x4b\\x7b\\xb0\\xcc\\x7e\\xd2\\xf9\\x7e\\xd2\\xdb\\x7e\\xe9\\x4b\\xca\\x39\\x45\\x65\\xbe\\x26\\xfa\\x2d\\xd1\\x73\\x88\\xbf\\x1f\\xbd\\x4e\\xd0\\xef\\x89\\x5e\\xa0\\xfc\\x1f\\xe9\\xae\\x8b\\x94\\x73\\x89\\x72\\xae\\x50\\xfa\\x2a\\xd1\\x6b\\x44\\xeb\\xa8\\x8c\\x83\\x68\\xbd\\xa0\\xe8\\x87\\x67\\xa4\\x03\\xc8\\x55\\x29\\x52\\x33\\xd1\\x48\\x2c\\x79\\x00\\x75\\x88\\x14\\x39\\xc4\\x1c\\xd2\\xde\\x01\\xf2\\xc0\\x03\\x64\\x97\\x03\\xc4\\xe7\\x01\\xf2\\x87\\x03\\x28\\xaf\\x48\\x7f\\x45\\xf4\\x24\\xdd\\x75\\x0a\\xf5\\x70\\x40\\x3a\\x4d\\x57\\xcf\\x50\\xce\\xd7\\x94\\xf3\\x0d\\x95\\x39\\x4b\\xf9\\xdf\\x12\\xfd\\x8e\\xae\\x9e\\x23\\x7a\\x9e\\x72\\xbe\\xa7\\xf4\\x0f\\x44\\x2f\\xa0\\xed\\x0e\\xa0\\x5c\\x22\\x7d\\x91\\xe8\\x25\\xc2\\xb9\\x4a\\xe9\\x9f\\x89\\xfe\\x4a\\xf4\\x1a\\x51\\xd1\\xb2\\x0e\\x50\\xcb\\x3a\\x48\\xba\\x3d\\x48\\xed\\xfa\\x20\\xd9\\xfa\\x20\\x69\\xf8\\x20\\xf5\\x18\\x07\\xc9\\xaf\\x0e\\x92\\x47\\x1d\\x44\\xce\\x45\\xc9\\xf3\\xc8\\xdb\\x21\\x69\\x17\\x96\\x39\\x44\\xd2\\x1d\\x22\\xcf\\x3f\\x44\\x6d\\xe4\\x10\\xc9\\x78\\x88\\xf4\\x7c\\x88\\x3c\\xfc\\x33\\xb2\\xef\\xe7\\x4e\\x2a\\xda\\xec\\x51\\xf2\\x9c\\xa3\\xd4\\x27\\x1f\\x23\\x6f\\x39\\x46\\xad\\xef\\x18\\xf9\\xcc\\x31\\x69\\x0f\\xde\\x75\\x0c\\x91\\x37\\x23\\xdd\\x47\\x74\\x3f\\x95\\x3c\\x44\\x57\\x0f\\x53\\xce\\x97\\x44\\x05\\x3f\\xc7\\x10\\x67\\x90\\xf4\\x25\\xb5\\x88\\x2f\\x09\\xe7\\x4b\\xc2\\xf9\\x92\\x64\\xf9\\x92\\xee\\xfa\\x92\\x4a\\x1e\\x27\\x49\\x8f\\x53\\x99\\xe3\\x88\\xb9\\x1a\\xa9\\xf0\\xc9\\xe3\\xe4\\x93\\x27\\xa8\\x2d\\x9f\\x20\\x9e\\x4f\\x50\\xef\\x77\\x02\\xdb\\xe6\\x19\\xe9\\x24\\xd9\\xe2\\x24\\xda\\x42\\xd0\\xf3\\x44\\xbf\\x27\\x2a\\x7c\\xe6\\x24\\x69\\xf8\\x24\\x95\\x3f\\x29\\x5d\\x47\\xcc\\x93\\x74\\xd7\\x29\\xea\\x09\\x4f\\x91\\x95\\x4f\\x91\\x65\\x4f\\xd1\\x78\\x71\\x8a\\xd0\\x4e\\x11\\xda\\x29\\xb2\\xe0\\x29\\x1a\\x41\\x4e\\xd1\\x08\\x72\\x4a\\xba\\x4c\\xf9\\x57\\x10\\xed\\x14\\x8d\\x23\\xa7\\x10\\xf9\\x11\\xa4\\xd7\\xd1\\x0a\\xa7\\xc8\\x03\\x4f\\xa3\\x07\\x0a\\x6a\\x16\\x94\\x6a\\x39\\x8d\\xf8\\x9b\\x91\\x0a\\xfc\\xd3\\xd4\\xcf\\x9c\\x26\\xe4\\xd3\\x84\\x7c\\x9a\\x90\\x4f\\xd3\\xbd\\x67\\xa8\\xde\\xaf\\xa9\\x57\\xf9\\x5a\\x3a\\x49\\xf4\\x0c\\xd1\\x6f\\x28\\xff\\x3c\\xa5\\x2f\\x10\\xbd\\x44\\xf4\\x0a\\xe5\\xff\\x44\\xe9\\xab\\x94\\xfe\\x05\\xd1\\xbe\\x21\\x84\\x6f\\x08\\xe1\\x1b\\xea\\x9d\\xbe\\xa1\\x36\\xfb\\x8d\\x74\\x1d\\xd3\\x67\\x51\\x6a\\xac\\x89\\x7a\\x86\\xb3\\xd4\\x33\\x9c\\xa5\\x7a\\xcf\\x92\\xde\\xce\\x52\\x2f\\x71\\x16\\xb9\\x12\\x54\\x48\\x7a\\x16\\x25\\x15\\x69\\x21\\xe9\\x59\\x94\\xf4\\x11\\xe9\\x1c\\xe1\\x9f\\x23\\xfc\\x73\\xc8\\x55\\x3a\\xd2\\x2b\\x94\\x16\\xb5\\x9c\\x93\\x54\\x4c\\x9f\\xa7\\x5a\\xce\\x13\\xfe\\x79\\xc2\\x3c\\x4f\\x98\\xe7\\x89\\xe7\\xf3\\x84\\x79\\x9e\\xb8\\xfd\\x9e\\x6a\\xbf\\x40\\x98\\x17\\x48\\xd2\\x0b\\x64\\xbb\\x0b\\x64\\xbb\\x0b\\x54\\xef\\x05\\xb2\\xda\\x45\\xba\\x7a\\x91\\xca\\x5f\\x24\\x5b\\x5f\\x24\\x9e\\x2f\\x62\\xf9\\x8f\\x91\\x8a\\xf2\\x17\\xa9\\xfc\\x45\\x2a\\x7f\\x89\\xca\\x5f\\xa2\\xf2\\x97\\xa8\\xde\\x4b\\x54\\xef\\x25\\xd2\\xd5\\x25\\xf2\\x8a\\x4b\\x28\\xd1\\x1e\\xe9\\x32\\x59\\xed\\x32\\x59\\xed\\x32\\x69\\xe6\\x32\\x71\\x7e\\x99\\x10\\x2e\\x93\\xd5\\x2e\\x53\\x8d\\x97\\xa9\\xc6\\xcb\\x24\\xd1\\x65\\x92\\xe8\\x32\\x71\\x7b\\x99\\x46\\x8a\\x2b\\xd4\\x2b\\x5e\\xa1\\x5e\\xf1\\x0a\\xe9\\xe7\\x0a\\xf5\\x9c\\x57\\xa8\\xe7\\xbc\\x22\\x5d\\x15\\x94\\x7a\\xfb\\x9f\\xe8\\xae\\x9f\\x88\\x87\\xab\\xe4\\x27\\x57\\x49\\x63\\x57\\xc9\\x4f\\xae\\x12\\xcf\\x57\\xc9\\x43\\xae\\x92\\x87\\x5c\\x25\\x7f\\xbb\\x4a\\x1a\\xbb\\x4a\\xd2\\xfd\\x4c\\x77\\xfd\\x4c\\x3d\\xea\\xcf\\x54\\xfe\\x67\\x6a\\xd7\\x3f\\x53\\x9f\\xf9\\x33\\xc9\\x7b\\x8d\\xd0\\xae\\x11\\x8e\\x03\\xbd\\x57\\xd0\\x5f\\xb0\\xb5\\xaa\\x54\\x97\\x4a\\x32\\xaa\\x24\\xa3\\x4a\\x08\\x2a\\x79\\xa6\\x4a\\xd2\\xa9\\x24\\x9d\\x4a\\x1a\\x53\\x49\\xb7\\xf5\\x74\\x57\\x3d\\xe9\\xa7\\x9e\\xee\\xad\\xc7\\x7b\\x45\\xfe\\x79\\x4a\\x7f\\x4f\\xf4\\x02\\xd1\\x4b\\x44\\x2f\\x13\\xfd\\x89\\xa8\\x86\\xf0\\x0b\\xb6\\x94\\x7a\\xa1\\x2b\\xd9\\x5f\\xe8\\x0a\\xa9\\x99\\x28\\x8e\\x77\\x48\\x71\\xbc\\x93\\x7b\\x60\\xfe\\x1e\\xa4\\xe6\\xfa\\x3d\\xfa\\x53\\xfa\\x53\\xf5\\xaf\\xea\\x4f\\x8b\\x39\\x2f\\xd2\\xd1\\xf5\\xd8\\x2b\\xb1\\x31\\x2c\\x5e\\x7f\\x1a\\x7b\\x95\\x57\\xf5\\xdf\\x4a\\xaf\\xd4\\x87\\x22\\x7d\\xab\\x9e\\x21\\xdd\\x4f\\xe9\\xc3\\xf5\\x8b\\x91\\x1e\\xad\\x4f\\xa7\\xb5\\xb4\\x28\\xa8\\x10\\xeb\\x69\\xf4\\xdf\\x68\\xf6\\xa2\\x33\\x0d\\xcc\\x1f\\xe2\\x9d\\x69\\xce\\xbc\\x61\\xb0\\x33\\x2d\\xb1\\x30\\x58\\xe9\\x4c\\xcb\\x2c\\x1c\\x4e\\x3a\\xd3\\x0a\\xf3\\xe3\\x11\\xce\\xb4\\x8e\\x85\\xf2\\x49\\xce\\xb4\\x9e\\xdd\\x2c\\x55\\x3a\\xd3\\x5e\\x2c\\x50\\x0e\\x74\\xa6\\x0d\\xcc\\x4f\\xee\\xeb\\x4c\\x1b\\xa1\\x5c\\xdf\\xce\\x99\\xf6\\x66\\x11\\x5e\\xff\\x73\\xa6\\x7d\\x58\\x8a\\xa1\\xbf\\x33\\xed\\xcb\\x32\\x0c\\xa7\\x9d\\x69\\x3f\\x16\\x66\\x1c\\x8a\\x9c\\x80\\x38\\xa0\\x8c\\x3d\\x4f\\x5c\\x89\\x34\\xa0\\x2c\\x8a\\x33\\xcd\\x59\\x30\\x64\\x38\\xd3\\x12\\xeb\\x04\\xf9\\xce\\xb4\\xcc\\x32\\xe1\\x39\\x67\\x5a\\x61\\x11\\xa0\\x3a\\xd3\\x3a\\x96\\xc6\\x93\\x9c\\x69\\x3d\\xbb\\xc2\\x6b\\x9d\\x69\\x2f\\xd6\\x46\\xfa\\xce\\x99\\x36\\xb0\\x08\\x3a\\xc7\\x56\\xa4\\x8d\\x7c\\x9f\\x3c\\xda\\x99\\xf6\\x66\\x9d\\xbd\\x1e\\x70\\xa6\\x7d\\xd8\\x04\\xaf\\x73\\xce\\xb4\\x2f\\x9b\\x66\\x98\\xef\\x4c\\xfb\\xb1\\x4e\\xc6\\x30\\x96\\xcb\\xca\\xd9\\x54\\xfc\\xad\\xc1\\xdf\\x9b\\x59\\x09\\x2b\\x66\\x56\\xfc\\x2d\\xc4\\xbf\\x0b\\x31\\x55\\xc4\\x2a\\xd9\\x2c\\x56\\xcb\\xaa\\xa8\\x54\\x19\\xe6\\x5a\\x59\\x1b\\xcc\\x6d\\x8b\\xff\\xa6\\xb1\\x0e\\xac\\x23\\xfe\\x5a\\x59\\x5f\\x2c\\x55\\x89\\xd7\\x67\\xe0\\xfd\\x56\\xd6\\x0b\\xd3\\x55\\x78\\x97\\xa0\\x85\\x84\\x5b\\xc9\\x2a\\x58\\x0a\\x33\\xd2\\x95\\xdf\\x46\\x4b\\xc3\\xd4\\x70\\x27\\x17\\xfd\\xe8\\xee\\xf6\\x98\\xea\\x8f\\xf7\\x17\\x89\\x35\\xf0\\xdc\\xf2\\xa9\\xe5\\x35\\xe5\\x37\\x97\\x14\\x5b\\x8b\\x0b\\x6b\\x0a\\xad\\x45\\x95\\xb3\\x6a\\xab\\xca\\xa7\\x96\\xd5\\x58\\xdb\\x14\\xb5\\xb5\\xa6\\x75\\xe8\\xd8\\xc1\\xda\\xb7\\xb2\\x72\\xea\\x8c\\x12\\x6b\\xaf\\xca\\xaa\\x59\\x95\\x55\\x85\\x35\\xe5\\x95\\x15\\x29\\xc6\\x5e\\x4d\\x8b\\xa5\\x59\\x87\\x23\\x44\\xbf\\xc2\\x9a\\xf6\\xd6\\xfe\\x15\\x45\\x88\\x3b\\x08\\x19\\x9a\\x82\\xd5\\x7a\\x32\\x6c\\x65\\x23\\xf0\\xaf\\x0a\\x56\\x8d\\x97\\xcb\\xa7\\x94\\x68\\x60\\xd6\\x11\\x85\\x15\\x98\\xd1\\x13\\x4b\\xcc\\x20\\x26\\xfb\\x93\\xa2\\x66\\xe0\\x3d\\x45\\x98\\x5d\\x39\\xa3\\xd8\\xda\\xbf\\xa6\\x70\\x46\\x39\\xfe\\xd1\\x03\\xef\\x2c\\x42\\xcc\\x0a\\x2c\\x27\\x90\\xad\\x2c\\x19\\x7f\\x7f\\xa7\\xa6\\x1e\\xd5\\x45\\x25\\x15\\xc5\\x25\\x55\\xd6\\x64\\xeb\\x0d\\x95\\xfe\\xf6\\xad\\xd6\\x96\\x98\\x6a\\x82\\x63\\x6d\\xc4\\xe4\\x68\\xc2\\xab\\x76\\xa3\\xa5\\xa1\\x96\\x3b\\xe0\\x4f\\x0a\\xda\\x82\\x8d\\x2e\\xa9\\xaa\\x16\\xb7\\xa5\\xa5\\x74\\xe8\\x90\\xd2\\xb1\\x79\\x06\\x5c\\xd5\\x27\\xbb\\xab\\x6f\\xa1\\x72\\x51\\x77\\xb2\\xa8\\xdb\\x55\\x75\\xf3\\xe2\\x94\\x93\\x28\\xc2\\xf5\\x6a\\xe8\\x8a\\xd0\\xdd\\x4c\\xfc\\xb7\\x8a\\x4d\\xc7\\xbc\\x4a\\x56\\xfa\\x9b\\x0e\\x62\\xc5\\x72\\x25\\xe4\\xce\\xd5\\x78\\xa5\\x84\\xfe\\x2a\\x26\\x54\\x81\\x3d\\x0a\\x4b\\x8c\\xa0\\x52\\x43\\xe9\\x4e\\x61\\x9b\\x1a\\xaa\\xad\\x82\\x4a\\x8d\\x6c\\xa6\\xc6\\x3c\\xac\\xb1\\x94\\x64\\x29\\xf1\\x28\\x59\\x44\\xd8\\x42\\x4e\\x0d\\xb9\\x12\\xd3\\x65\\x4e\\x2b\\x4f\\x63\\x73\\xc8\\xc1\\xab\\xb1\\xa4\\xb8\\xcf\\x25\\x5b\\xb5\\x70\\x60\\x0f\\x63\\x94\\x57\\x5b\\x0b\\xad\\x35\\x55\\x85\\xc5\\x25\\x33\\x0b\\xab\\xa6\\x5b\\x2b\\x4b\\x1b\\x3b\\xa5\\xb5\\xaa\\x64\\x6a\\x79\\x75\\x4d\\x49\\x15\\x66\\x96\\x57\\x58\\x47\\xa5\\x8c\\x48\\xb1\\x0e\\x2d\\xac\\x29\\xa9\\xa8\\xb1\\x16\\x56\\x14\\x5b\\x47\\xba\\x6f\\xcc\\x2b\\x2d\\x2d\\x2f\\x2a\\xa1\\xcc\\xa2\\x92\\xaa\\x9a\\x42\\x2c\\x5c\\x59\\x53\\x86\\x2e\\x34\\x6d\\x4e\\x55\\x79\\x75\\x71\\x79\\x91\\xa8\\xad\\x3a\\xa5\\x39\\x87\\x6c\\xbe\\xa5\\x36\\x38\\xa1\\x47\\x2b\\x62\\xa8\\x39\\xa1\\xb1\\xb9\\xa4\\x87\\xc1\\x54\\x5c\\xfc\\x5d\\xad\\xdd\\x32\\xa2\\xa6\\x64\\x6e\\x89\\x75\\x70\\x61\\x4d\\x4d\\x49\\xb5\\x28\\xdc\\x13\\x0b\\x54\\x3b\\x95\\xaf\\x19\\xb6\\x07\\x29\\x65\\x26\\xfe\\x25\\x0c\\x36\\x0f\\xd5\\x25\\x94\\x53\\x46\\xe9\\x42\\x32\\x7a\\x31\\xc1\\x89\\x9e\\xa1\\xc2\\x79\\xe7\\x14\\xec\\x2b\\xac\\xbf\\x59\\xb1\\xd5\\x79\\x6f\\xa1\\xd3\\x79\\x2a\\xf0\\xa7\\x12\\xcb\\x6a\\xd2\\x88\\x7b\\xda\\x3b\\x9d\\xa2\\x94\\x68\\x35\\xd5\\x5b\\x81\\x75\\x58\\x31\\xed\\x6a\\x39\\xd5\\xa4\\x8f\\x72\\x72\\x2e\\x4f\\x2e\\xac\\x64\\xd6\\x42\\x72\\x12\\xcd\\x31\\x67\\xe2\\xd5\\x1a\\x2a\\x5b\\x44\\x4e\\x3e\\x83\\x38\\x14\\xbd\\xe4\\x4c\\xd4\\xa3\\x56\\xeb\\x14\\x67\\x3f\\x38\\x8f\\x7a\\xd5\\x32\\xb7\\xec\\x58\\x3e\\x3a\\x86\\xdc\\xaf\\x41\\x17\\x9a\\x4b\\x97\\x3a\\x5b\\xa1\\x95\\x72\\x67\\x61\\xba\\x92\\x78\\x77\\x69\\x2f\\x99\\x2c\\x27\\xf8\\x2f\\x21\\xae\\x44\\xaa\\x90\\x7a\\xe9\\x29\\x78\\xc7\\x0c\\xaa\\x47\\xe3\\xa3\\x8c\\x1c\\xb7\\x90\\xdc\\xae\\xc4\\xe9\\x86\\x35\\xc4\\x6d\\xb5\\x87\\xfb\\x6a\\xce\\x6a\\x25\\x8e\\x05\\x7a\\x6f\\x72\\x59\\xd1\\x37\\x97\\x38\\x35\\x39\\x06\\xfb\\xf4\\x41\\xcd\\x22\\x6a\\xda\\xf2\\x6c\\x36\\xd5\\xd4\\xf0\\xe7\\x92\\xde\\x1a\\xb0\\x2b\\x88\\xdb\\x62\\xca\\xab\\x74\\x6b\\x56\\x94\\x9a\\xe1\\xac\\x49\\x93\\x78\\x06\\x8d\\x1d\\xd3\\xdd\\x56\\x29\\x25\\x6f\\xd4\\xb4\\x57\\x4c\\x68\\xc9\\x2d\\xe8\\xb7\\x94\\x74\\x53\\xe3\\xac\\xb5\\x92\\x38\\x2a\\xc6\\x1f\\xcd\\xce\\x9a\\x47\\x55\\xe2\\xbd\\x73\\xc8\\x6a\\x5a\\x53\\xd7\\x7c\\xbd\\xe6\\x06\\xcd\\x15\\x92\\x7e\\x2b\\x9d\\xf7\\xcd\\xc2\\x2b\\xa2\\x2e\\x8d\\x97\\x99\\x5a\\xd3\\xed\\x59\\x58\\x8d\\x4d\\x11\\x1b\\x6e\\x8f\\xaa\\xf2\\x99\\x95\\xed\\xad\\xf3\\xca\\xca\\x8b\\xca\\xac\\xf3\\x0a\\xab\\xad\\xc5\\x25\\xd5\\xe5\\x53\\x2b\\xf0\\xe2\\x94\\x5a\\x6b\\xe3\\x86\\x60\\xc5\\xab\\x85\\xd8\\xd4\\x2b\\x2a\\x2a\\xe7\\x62\\x33\\x9a\\x5b\\xd2\\x1e\\x9b\\x75\\x69\\x55\\x49\\x75\\x59\\x79\\xc5\\x54\\x6b\\xb5\\xe8\\x8e\\xab\\x4b\\xaa\\xca\\x4b\\x9d\\x10\\xd6\\x9a\\xb2\\xc2\\x1a\\xd1\\x31\\xcc\\x2c\\xa9\\xa9\\x2a\\x2f\\x2a\\x9c\\x31\\xa3\\x16\\xc7\\xb8\\x99\\xb3\\xf0\\xd6\\x29\\x38\\xa8\\xcd\\x2b\\xaf\\x29\\x13\\xb5\\x17\\xce\\x78\\x2e\\x45\\xe3\\x02\\x7b\\x8d\\x52\\xec\\xa4\\xad\\xe5\\x33\\x67\\x55\\x55\\xce\\x25\\xf6\\x92\\xab\\x8b\\xaa\\x4a\\x4a\\x2a\\xb0\\x9e\\xc2\\xe2\\xc2\\x29\\xe5\\x33\\xca\\x6b\\x10\\xa3\\xac\\xb0\\xaa\\xb0\\x08\\xfb\\x12\\xec\\x50\\xca\\x8b\\xaa\\xa9\\xaf\\xc0\\x2e\\xc2\\x3a\\xab\\xb0\\x22\\xb9\\xf7\\x9c\\xaa\\xca\\x59\\x25\\xc8\\xe4\\x98\\xbe\\x83\\x1a\\x0a\\x22\\x5b\\x5a\\x3f\\x53\\x5d\\x39\\x63\\x6e\\x49\\x35\\x95\\xae\\x28\\x29\\x29\\xae\\x16\\xfd\\x54\\x31\\x8a\\x38\\x03\\x6f\\xc2\\x8a\\x67\\x54\\x56\\x4e\\x17\\xa2\\x94\\x56\\x56\\x21\\x7b\\xc5\\x35\\x65\\xc9\\x1e\\xfc\\x96\\x56\\x56\\xd4\\xe0\\xad\\x95\\xd6\\xc2\\xe2\\x62\\x94\\x19\\x15\\x55\\x59\\x34\\x67\\xa6\\xe8\\xc1\\xb0\\x57\\xa9\\x71\\x31\\x57\\x58\\x54\\x55\\x89\\xd7\\x66\\xcd\\x28\\xac\\x41\\x94\\x99\\xa2\\xa7\\x2a\\xa3\\x36\\x3e\\x8b\\x75\\x61\\xa9\\xf8\\x33\\x8f\\x7e\\x52\\xa8\\xa5\\x7b\\xf6\\x5f\\x45\\xce\\xde\\x2b\\xc5\\xe9\\x1f\\xa9\\x78\\x63\\x4d\\xcd\\xac\\x2e\\xa9\\xa9\\xf3\\xe6\\xcd\\x4b\\x29\\x74\\x76\\x62\\x45\\xd8\\x87\\xa5\\x20\\x53\\xa9\\x7f\\x1d\\x56\\xb8\\xc8\\x2c\\x72\\x66\\xcf\\x0e\\xaa\\x8a\\xdc\\x42\\x60\\xce\\x44\\x77\\xf9\\xcd\\xaa\\x6b\\x6a\\x67\\x95\\x38\\x9d\\xa4\\xaa\\x3a\\xa5\\xac\\x66\\xe6\\x0c\\x6d\\xf8\\xd3\\xaa\\x75\\xf5\\x93\\x73\\x3c\\x7a\\x66\\x57\\x2b\\x1a\\x81\\x43\\xdb\\x20\\x1a\\x86\\x66\\x39\\xdb\\x7e\\x1f\\xa7\\xd7\\x5b\\x9b\\x20\\x88\\x7e\\xae\\xe9\\x68\\xde\\x51\\x1b\\xc7\\x07\\xe1\\xf8\\x50\\x21\\x9c\\x77\\x0e\\xf5\\xea\\xc2\\x96\\x23\\xfa\\x0f\\xb2\\xe6\\xcd\\x42\\x37\\xe9\\x83\\x36\\xb2\\x3a\\x0b\\xb4\\xb7\\xba\\x46\\xfc\\x8e\\x62\\xb8\\x6f\\xac\\x2e\\xad\\x07\\x2a\\xc7\\xbf\\x6b\\x48\\xf0\\x6a\\x6a\\x3f\\x29\\xa4\\xac\\xa9\\x78\\x3d\\x0f\\x39\\x1b\\xe4\\x56\\x03\\x3a\\x61\\xf9\\xac\\x9a\\xea\\x94\\xea\\xf2\\x19\\x29\\x95\\x55\\x53\\x53\\xf3\\xfa\\x0c\\x72\\xc6\\xed\\x4c\\x9c\\x50\\x5e\\x9f\\xc8\\x3e\\x63\\xcd\\xfc\\x67\\x8c\\xa4\\x38\\x9f\\x63\\x84\\x2a\\x63\\x2c\\xac\\xc3\\xb8\\xd7\\x0b\\x63\\x5c\\x23\\xc6\\xb3\\x3e\\x18\\xbb\\xfa\\x31\\x7f\\x66\\x62\\x66\\x66\\x61\\x01\\x2c\\x90\\x05\\xb1\\x60\\x16\\xc2\\x5a\\xb1\\x50\\x16\\xc6\\xc2\\xc5\\x69\\x79\\x2c\\x8a\\xb5\\x46\\xa9\\xa3\\xc5\\xdb\\xa5\\x2c\\x8e\\xc5\\xb3\\x04\\x96\\x88\\xf1\\x65\\x5b\\xd6\\x8e\\x25\\xa1\\x7e\\x92\\x91\\xdb\\x54\\x67\\x94\\x99\\xce\\x3a\\xb1\\x0c\\x96\\xc9\\xb2\\x58\\x67\\x96\\x8d\\x12\\xde\\xc4\\xba\\xb2\\x6e\\xac\\x3b\\xcb\\x61\\x36\\xec\\x9d\\x7b\\xe2\\xc8\\x98\\x8b\\xbd\\x62\\x1f\\xec\\x05\\xfb\\xa1\\x05\\x06\\xb0\\x81\\x28\\xdb\\x60\\x36\\x04\\xa5\\x1c\\xca\\x86\\x61\\x00\\x32\\x02\\x83\\x85\\x51\\xa8\\xef\\x31\\x6c\\x2c\\xcb\\x67\\xe3\\xd8\\x78\\x36\\x81\\x15\\xb0\\x89\\x6c\\x12\\x9b\\xcc\\x0a\\x81\\xb3\\x27\\xd8\\x32\\x76\\x1b\\x7b\\x9b\\x3d\\xc8\\xce\\xb2\\xdb\\xd9\\xbf\\xd9\\x0a\\xf6\\x18\\x7b\\x96\\x6d\\x04\\x89\\x2d\\x07\\x99\\xdd\\xca\\xee\\x67\\x97\\xd8\\x65\\x76\\x37\\xce\\x0d\\xec\\xa0\\x63\\x5f\\xb2\\x8b\\xec\\x71\\xf6\\x1c\\xfb\\x89\\x5d\\x61\\x57\\xd9\\x06\\xf6\\x02\\xfb\\x90\\xed\\xc4\\x79\\xcf\\x14\\xd4\\xf9\\x3d\\xe8\\x13\\x1f\\xa3\\x5d\\x77\\xb1\\x8f\\xd8\\x5e\\xb6\\x9b\\xed\\x61\\xff\\x63\\xdf\\x62\\xcf\\xb4\\x9f\\x7d\\xc2\\x3e\\x65\\x2f\\xa1\\xee\\x7f\\x64\\xf7\\xb2\\x43\\xec\\x00\\x3b\\x88\\x16\\x3b\\xc7\\xbe\\x67\\x77\\x62\\x08\\x52\\x8e\\x3d\\xaa\\x70\\xcb\\x0a\\xb6\\x0e\\x2d\\x34\\x9b\\xc6\\x94\\x6a\\xf4\\xb0\\x1a\\xec\\x81\\xe7\\xb1\\xef\\xd8\\x7c\\x8c\\xf5\\x6b\\xd9\\x02\\xb6\\x90\\xdd\\xc2\\xb6\\xb2\\xf5\\x6c\\x31\\x5b\\xc4\\x96\\xb0\\xa5\\xec\\x3c\\xfb\\x81\\x6d\\x03\\x3d\\x78\\x81\\x41\\x9c\\x66\\x0c\\x3e\\xcc\\xc1\\x54\\xf0\\x05\\x3f\\xf0\\x07\\x13\\xab\\x07\\x06\\x66\\xb0\\x40\\x00\\x00\\x04\\x42\\x10\\x04\\x43\\x08\\xb4\\x82\\x50\\x08\\x83\\x70\\x88\\x80\\x48\\x88\\x82\\xd6\\xec\\x17\\xf6\\x2b\\x58\\x21\\x1a\\x62\\x20\\x16\\xe2\\x20\\x1e\\x12\\x20\\x11\\xda\\x40\\x5b\\x68\\x07\\x49\\xd0\\x1e\\x92\\x21\\x05\\x52\\xd9\\x35\\xf6\\x19\\x74\\x80\\x8e\\x90\\x06\\xe9\\xd0\\x09\\x32\\x20\\x13\\xb2\\xa0\\x33\\x64\\x43\\x17\\xb8\\x09\\xba\\x42\\x37\\xe8\\xce\\x4e\\xb2\\x53\\x90\\x03\\x36\\xe8\\x01\\x3d\\xa1\\x17\\xe4\\x42\\x6f\\xe8\\x23\\xce\\xc6\\x82\\xfe\\x30\\x00\\x06\\xc2\\x20\\x9c\\xfb\\xbd\\xcc\\x36\\xc1\\x10\\xc8\\x83\\xa1\\x30\\x0c\\x86\\xc3\\x08\\x18\\x09\\xa3\\x60\\x34\\x8c\\x61\\xd7\\x59\\x1d\\x3b\\xcd\\xce\\xc0\\x58\\xc8\\x87\\x71\\x30\\x1e\\x26\\x40\\x01\\x4c\\x84\\x49\\x30\\x19\\x0a\\x61\\x0a\\x14\\x41\\x31\\x94\\x40\\x29\\x4c\\x85\\x32\\x28\\x87\\x69\\x30\\x1d\\x66\\xc0\\x4c\\xf6\\x26\\x54\\x40\\x25\\xcc\\x82\\xd9\\xec\\x6b\\xf6\\x0d\\x54\\x41\\x35\\xd4\\xc0\\x1c\\x98\\x0b\\xf3\\x60\\x3e\\xd4\\xc2\\xcd\\xb0\\x00\\x6e\\x81\\x85\\xb0\\x08\\x16\\xc3\\x12\\x58\\x0a\\xff\\x82\\x5b\\x61\\x19\\x7b\\x0a\\x6e\\x83\\xdb\\xe1\\x0e\\xb0\\xc3\\x9d\\xb0\\x1c\\x56\\xc0\\x5d\\x70\\x37\\xfc\\x1b\\x56\\xc2\\x3d\\x70\\x2f\\xdc\\x07\\xf7\\xc3\\x03\\xb0\\x0a\\x1e\\x84\\x87\\x60\\x35\\x3c\\x0c\\x8f\\xc0\\x1a\\x78\\x14\\x1e\\x83\\xc7\\x61\\x2d\\xac\\x83\\xf5\\xb0\\x01\\x9e\\x80\\x8d\\xf0\\x24\\x3c\\x05\\x4f\\xc3\\x33\\xf0\\x2c\\x3c\\x07\\xff\\x81\\xe7\\xe1\\x05\\x78\\x11\\x5e\\x82\\x97\\x61\\x13\\x6c\\x86\\x57\\xe0\\x55\\x78\\x0d\\xb6\\xc0\\xeb\\xb0\\x15\\xde\\x80\\x6d\\xf0\\x26\\xbc\\x05\\x6f\\xc3\\xff\\xc1\\x7f\\xe1\\x1d\\xd8\\x0e\\x3b\\xe0\\x5d\\x78\\x0f\\xde\\x87\\x0f\\x60\\x27\\xec\\x82\\x0f\\xe1\\x23\\xf8\\x18\\x76\\xc3\\x1e\\xf8\\x1f\\xec\\x85\\x4f\\xe0\\x53\\xd8\\x07\\xfb\\xe1\\x00\\x1c\\x84\\x43\\xf0\\x19\\x1c\\x86\\x23\\xf0\\x39\\x1c\\x85\\x2f\\xe0\\x18\\x7c\\x09\\xc7\\xe1\\x2b\\x38\\x01\\x27\\xe1\\x14\\x9c\\x86\\x33\\xf0\\x35\\x7c\\x03\\x67\\xe1\\x5b\\xf8\\x0e\\xce\\xc1\\x79\\xf8\\x1e\\x7e\\x80\\x0b\\xf0\\x23\\x5c\\x84\\x4b\\x70\\x19\\xae\\xc0\\x4f\\x70\\x15\\x7e\\x86\\x5f\\xe0\\x57\\xb8\\x06\\xd7\\xa1\\x0e\\x1c\\xa0\\x42\\x3d\\x67\\x1c\\x38\\xe7\\x12\\x97\\xb9\\xc2\\x75\\x5c\\xcf\\xbd\\xb8\\x81\\x1b\\xb9\\x37\\xf7\\xe1\\xbe\\xdc\\x8f\\xfb\\x73\\x13\\x37\\x73\\x0b\\x0f\\xe0\\x81\\x3c\\x88\\x07\\xf3\\x10\\xde\\x8a\\x87\\xf2\\x30\\x1e\\xce\\x23\\x78\\x24\\x8f\\xe2\\xad\\xb9\\x95\\x47\\xf3\\x18\\x1e\\xcb\\xe3\\x78\\x3c\\x4f\\xe0\\x89\\xbc\\x0d\\x6f\\xcb\\xdb\\xf1\\x24\\xde\\x9e\\x27\\xf3\\x14\\x9e\\xca\\x3b\\xf0\\x8e\\x3c\\x8d\\xa7\\xf3\\x4e\\x3c\\x83\\x67\\xf2\\x2c\\xde\\x99\\x67\\xf3\\x2e\\xfc\\x26\\xde\\x95\\x77\\xe3\\xdd\\x79\\x0e\\xb7\\xf1\\x1e\\xbc\\x27\\xef\\xc5\\x73\\x79\\x6f\\xde\\x87\\xf7\\xe5\\xfd\\x78\\x7f\\x3e\\x80\\x0f\\xe4\\x83\\xf8\\x60\\x3e\\x84\\xe7\\xf1\\xa1\\x7c\\x18\\x1f\\xce\\x47\\xf0\\x91\\x7c\\x14\\x1f\\xcd\\xc7\\xf0\\xb1\\x3c\\x9f\\x8f\\xe3\\xe3\\xf9\\x04\\x5e\\xc0\\x27\\xf2\\x49\\x7c\\x32\\x2f\\xe4\\x53\\x78\\x11\\x2f\\xe6\\x25\\xbc\\x94\\x4f\\xe5\\x65\\xbc\\x9c\\x4f\\xe3\\xd3\\xf9\\x0c\\x3e\\x93\\x57\\xf0\\x4a\\x3e\\x8b\\xcf\\xe6\\x55\\xbc\\x9a\\xd7\\xf0\\x39\\x7c\\x2e\\x9f\\xc7\\xe7\\xf3\\x5a\\x7e\\x33\\x5f\\xc0\\x6f\\xe1\\x0b\\xf9\\x22\\xbe\\x98\\x2f\\xe1\\x4b\\xf9\\xbf\\xf8\\xad\\x7c\\x19\\xbf\\x8d\\xdf\\xce\\xef\\xe0\\x76\\x7e\\x27\\x5f\\xce\\x57\\xf0\\xbb\\xf8\\xdd\\xfc\\xdf\\x7c\\x25\\xbf\\x87\\xdf\\xcb\\xef\\xe3\\xf7\\xf3\\x07\\xf8\\x2a\\xfe\\x20\\x7f\\x88\\xaf\\xe6\\x0f\\xf3\\x47\\xf8\\x1a\\xfe\\x28\\x7f\\x8c\\x3f\\xce\\xd7\\xf2\\x75\\x7c\\x3d\\xdf\\xc0\\x9f\\xe0\\x1b\\xf9\\x93\\xfc\\x29\\xfe\\x34\\x7f\\x86\\x3f\\xcb\\x9f\\xe3\\xff\\xe1\\xcf\\xf3\\x17\\xf8\\x8b\\xfc\\x25\\xfe\\x32\\xdf\\xc4\\x37\\xf3\\x57\\xf8\\xab\\xfc\\x35\\xbe\\x85\\xbf\\xce\\x0e\\xb3\\x13\\x7c\\x2b\\xfb\\x9c\\xbf\\xc1\\xb7\\xf1\\x37\\xf9\\x5b\\xfc\\x6d\\xfe\\x7f\\xfc\\xbf\\xfc\\x1d\\xbe\\x9d\\xef\\xe0\\xef\\xf2\\xf7\\xf8\\xfb\\xfc\\x03\\x76\\x94\\x7d\\xc1\\x8e\\xb1\\xaf\\xd8\\x11\\x76\\x9c\\xef\\xe4\\xbb\\xf8\\x87\\xfc\\x23\\xfe\\x31\\xdf\\xcd\\xf7\\xf0\\xff\\xf1\\xbd\\xfc\\x13\\xfe\\x29\\xdf\\xc7\\xf7\\xf3\\x03\\xfc\\x20\\x3f\\xc4\\x3f\\xe3\\x87\\xf9\\x11\\xfe\\x39\\x3f\\xca\\xbf\\xe0\\xc7\\xf8\\x97\\xfc\\x38\\xff\\x8a\\x9f\\xe0\\x27\\xf9\\x29\\x7e\\x9a\\x9f\\xe1\\x5f\\xf3\\x6f\\xf8\\x59\\xfe\\x2d\\xff\\x7f\\xd8\\x7b\\x13\\x38\\x29\\x8a\\xf3\\x7f\\xb8\\x67\\xea\\xe8\\xaa\\xd9\\xe5\\x14\\x15\\x10\\x8f\\xa8\\x31\\x5e\\x31\\x6c\\x77\\xcd\\x65\\x88\\x71\\x8f\\x6e\\x15\\x11\\x0c\\x82\\xa2\\xf1\\x1a\\xd8\\x81\\x5d\\xd8\\x03\\xf6\\xe0\\xf0\\x40\\x62\\x8c\\x1a\\xe3\\x1d\\x63\\x0c\\x31\\xc6\\x18\\xa3\\x88\\xc6\\x98\\x95\\x18\\x63\\x8c\\xf1\\x06\\x15\\xf0\\xc4\\x0b\\x54\\xe4\\x50\\x54\\x54\\x44\\xbc\\x50\\xd9\\xb7\\xba\\xfa\\xbb\\x33\\xbd\\xc3\\x82\\x98\\xfc\\xf3\\x7b\\xf3\\x7b\\xdf\\xbf\\x7e\\xea\\xa9\\x63\\xaa\\x9e\\xef\\x53\\x4f\\xd5\\xf4\\xf7\\xa9\\xee\\x5e\\xe6\\xed\\xf8\\x3b\\xf1\\xf5\\xf1\\x77\\xe3\\xef\\xc5\\xdf\\x8f\\x6f\\x88\\x7f\\x10\\xdf\\x18\\xff\\x30\\xbe\\x29\\xfe\\x51\\xfc\\xe3\\xf8\\x27\\xf1\\x4f\\xe3\\x9f\\xc5\\x37\\xc7\\x3f\\x8f\\x7f\\x11\\xff\\x32\\xbe\\x25\\xde\\x49\\x2c\\x12\\x23\\x71\\x42\\x08\\x25\\xc1\\x3f\\x1c\\x63\\x13\\x41\\x24\\x49\\x90\\x32\\x52\\x4e\\x7a\\x91\\xde\\xa4\\x0f\\xe9\\x4b\\xfa\\x91\\xfe\\x64\\x27\\x32\\x80\\xec\\x4c\\x76\\x21\\xbb\\x92\\x81\\x64\\x10\\x19\\x4c\\x76\\x23\\x43\\xc8\\xee\\x64\\x0f\\xb2\\x27\\xd9\\x8b\\x7c\\x83\\xec\\x4d\\xf6\\x21\\xfb\\x92\\x6f\\x92\\xfd\\xc8\\xb7\\xc8\\xfe\\xe4\\x00\\x72\\x20\\x39\\x88\\x1c\\x4c\\xbe\\x4d\\x0e\\x21\\xdf\\x21\\x43\\x49\\x05\\x71\\x88\\x4b\\x14\\x49\\x92\\x14\\x49\\x93\\x0c\\xc9\\x92\\x43\\xc9\\x77\\xc9\\x30\\xf2\\x3d\\x72\\x18\\xf9\\x3e\\x39\\x9c\\x54\\x92\\x2a\\x52\\x4d\\x6a\\x88\\x17\\xbc\\x0f\\x42\\x8e\\x24\\x47\\x91\\xe1\\xe4\\x68\\x32\\x82\\x1c\\x43\\x46\\x92\\x51\\xe4\\x58\\xf2\\x03\\x32\\x9a\\x1c\\x47\\xc6\\x90\\xb1\\xe4\\x78\\x72\\x02\\x19\\x47\\x4e\\x24\\x27\\x91\\x1f\\x92\\x93\\x83\\xe7\\xec\\xe4\\x34\\x72\\x3a\\xc9\\x91\\xf1\\x64\\x02\\xa9\\x25\\x79\\x32\\x91\\x4c\\x0a\\x9e\\x7c\\x93\\xc9\\x64\\x0a\\x69\\x20\\x8d\\xd6\\x3c\\xd2\\x44\\x9a\\x83\\x27\\xbe\\xa4\\x85\\xb4\\x92\\x36\\xd2\\x4e\\xa6\\x93\\x19\\xc1\\x93\\x58\\x72\\x06\\x39\\x93\\x9c\\x45\\xce\\x26\\xb3\\xc9\\x39\\x64\\x8e\\xf5\\x5b\\xf2\\x23\\x72\\x2e\\xf9\\x31\\x39\\x8f\\xfc\\x84\\x9c\\x4f\\x2e\\x20\\x17\\x92\\x9f\\x92\\x8b\\xc8\\xcf\\xc8\\xc5\\xe4\\x12\\x72\\x29\\xb9\\x8c\\x5c\\x4e\\xae\\x20\\x57\\x5a\\xbf\\x24\\x3f\\x27\\x57\\x91\\x5f\\x58\\xbf\\x26\\x57\\x93\\x5f\\x92\\x6b\\xc8\\xaf\\xc8\\x5c\\xf2\\x6b\\x72\\x2d\\xf9\\x0d\\xb9\\x8e\\xfc\\x96\\x5c\\x4f\\x7e\\x47\\x6e\\x20\\xbf\\x27\\x37\\x92\\x3f\\x90\\x9b\\xc8\\xcd\\x64\\x1e\\xb9\\x85\\xcc\\x27\\xb7\\x92\\xdb\\xc8\\x1f\\xc9\\xed\\xe4\\x4f\\xe4\\x0e\\xf2\\x67\\xd2\\x41\\xee\\x24\\x0b\\xc8\\x5f\\xc8\\x5d\\xe4\\xaf\\xe4\\x6e\\xf2\\x37\\x72\\x0f\\xf9\\x3b\\xb9\\x97\\xfc\\x83\\xdc\\x47\\xfe\\x49\\xee\\x27\\x0f\\x90\\x07\\xc9\\x43\\xc1\\xd3\\x44\\xf2\\x68\\xf0\\xc4\\x8e\\x3c\\x46\\x1e\\x27\\x4f\\x90\\xc5\\x64\\x09\\x59\\x4a\\x9e\\x24\\x4f\\x91\\xa7\\x83\\x67\\x47\\xc1\\x73\\x13\\xf2\\x3c\\x79\\x81\\xbc\\x48\\x5e\\x22\\x2f\\x93\\xe5\\x64\\x45\\x70\\xe7\\x9f\\xbc\\x46\\x56\\x92\\xd7\\xc9\\x2a\\xb2\\x3a\\xb8\\xf3\\x1d\\xdc\\xbb\\x26\\xeb\\xc8\\x5b\\xe4\\xed\\xe0\\x4e\\x31\\x79\\x97\\xbc\\x47\\xde\\x27\\x1b\\xc8\\x07\\x64\\x63\\x70\\xdf\\x94\\x7c\\x44\\x3e\\x26\\x9f\\x90\\x4f\\xc9\\x67\\x64\\x33\\xf9\\x9c\\x7c\\x41\\xbe\\x24\\x5b\\x48\\x27\\xb5\\x68\\x8c\\xc6\\x29\\xa1\\x94\\x32\\xca\\xa9\\x4d\\x05\\x95\\x34\\x41\\xcb\\x68\\x39\\xed\\x45\\x7b\\xd3\\x3e\\xb4\\x2f\\xed\\x47\\xfb\\xd3\\x9d\\xe8\\x00\\xba\\x33\\xdd\\x85\\xee\\x4a\\x07\\xd2\\x41\\x74\\x30\\xdd\\x8d\\x0e\\xa1\\xbb\\xd3\\x3d\\xe8\\x9e\\x74\\x2f\\xfa\\x0d\\xba\\x37\\xdd\\x87\\xee\\x4b\\xbf\\x49\\xf7\\xa3\\xdf\\xa2\\xfb\\xd3\\x03\\xe8\\x81\\xf4\\x20\\x7a\\x30\\xfd\\x36\\x3d\\x84\\x7e\\x87\\x0e\\xa5\\x15\\xd4\\xa1\\x2e\\x55\\x34\\x49\\x53\\x34\\x4d\\x33\\x34\\x4b\\x0f\\xa5\\xdf\\xa5\\xc3\\xe8\\xf7\\xe8\\x61\\xf4\\xfb\\xf4\\x70\\x5a\\x49\\xab\\x68\\x35\\xad\\xa1\\x1e\\xf5\\xe9\\x11\\xf4\\x48\\x7a\\x14\\x1d\\x4e\\x8f\\xa6\\x23\\xe8\\x31\\x74\\x24\\x1d\\x45\\x8f\\xa5\\x3f\\xa0\\xa3\\xe9\\x71\\x74\\x0c\\x1d\\x4b\\x8f\\xa7\\x27\\xd0\\x71\\xf4\\x44\\x7a\\x12\\xfd\\x21\\x3d\\x99\\x9e\\x42\\x4f\\xa5\\xa7\\xd1\\xd3\\x69\\x8e\\x8e\\xa7\\x13\\x68\\x2d\\xcd\\xd3\\x89\\x74\\x12\\xad\\xa3\\xf5\\x74\\x32\\x9d\\x42\\x1b\\x68\\x23\\x6d\\xa2\\xcd\\x74\\x2a\\x9d\\x46\\x5b\\x68\\x2b\\x6d\\xa3\\xed\\x74\\x3a\\x9d\\x41\\x67\\xd2\\x59\\xf4\\x0c\\x7a\\x26\\x3d\\x8b\\x9e\\x4d\\x67\\xd3\\x73\\xe8\\x1c\\xfa\\x23\\x7a\\x2e\\xfd\\x31\\x3d\\x8f\\xfe\\x84\\x9e\\x4f\\x2f\\xa0\\x17\\xd2\\x9f\\xd2\\x8b\\xe8\\xcf\\xe8\\xc5\\xf4\\x12\\x7a\\x29\\xbd\\x8c\\x5e\\x4e\\xaf\\xa0\\x57\\xd2\\x9f\\xd3\\xab\\xe8\\x2f\\xe8\\xd5\\xf4\\x97\\xf4\\x1a\\xfa\\x2b\\x3a\\x97\\xfe\\x9a\\x5e\\x4b\\x7f\\x43\\xaf\\xa3\\xbf\\xa5\\xd7\\xd3\\xdf\\xd1\\x1b\\xe8\\xef\\xe9\\x8d\\xf4\\x0f\\xf4\\x26\\x7a\\x33\\x9d\\x47\\x6f\\xa1\\xf3\\xe9\\xad\\xf4\\x36\\xfa\\x47\\x7a\\x3b\\xfd\\x13\\xbd\\x83\\xfe\\x99\\x76\\xd0\\x3b\\xe9\\x02\\xfa\\x17\\x7a\\x17\\xfd\\x2b\\xbd\\x9b\\xfe\\x8d\\xde\\x43\\xff\\x4e\\xef\\xa5\\xff\\xa0\\xf7\\xd1\\x7f\\xd2\\xfb\\xe9\\x03\\xf4\\x41\\xfa\\x10\\x7d\\x98\\x3e\\x42\\x1f\\xa5\\x0b\\xe9\\x22\\xfa\\x18\\x7d\\x9c\\x3e\\x41\\x17\\xd3\\x25\\x74\\x29\\x7d\\x92\\x3e\\x45\\x9f\\xa6\\xcf\\xd0\\x67\\xe9\\x73\\x74\\x19\\x7d\\x9e\\xbe\\x40\\x5f\\xa4\\x2f\\xd1\\x97\\xe9\\x72\\xba\\x82\\xbe\\x42\\x5f\\xa5\\xaf\\xd1\\x95\\xf4\\x75\\xba\\x8a\\xae\\xa6\\x6b\\xe8\\x5a\\xfa\\x06\\x7d\\x93\\xae\\xa3\\x6f\\xd1\\xb7\\xe9\\x3b\\x74\\x3d\\x7d\\x97\\xbe\\x47\\xdf\\xa7\\x1b\\xe8\\x07\\x74\\x23\\xfd\\x90\\x6e\\xa2\\x1f\\xd1\\x8f\\xe9\\x27\\xf4\\x53\\xfa\\x19\\xdd\\x4c\\x3f\\xa7\\x5f\\xd0\\x2f\\xe9\\x16\\xda\\xc9\\xac\\xe0\\x67\\x8e\\x19\\x61\\x94\\x31\\xc6\\x99\\xcd\\x04\\x93\\x2c\\xc1\\xca\\x82\\x7f\\xdb\\x85\\xf5\\x66\\x7d\\x58\\x5f\\xd6\\x8f\\xf5\\x67\\x3b\\xb1\\x01\\x6c\\x67\\xb6\\x0b\\xdb\\x95\\x0d\\x64\\x83\\xd8\\x60\\xb6\\x1b\\x1b\\xc2\\x76\\x67\\x7b\\xb0\\x3d\\xd9\\x5e\\xec\\x1b\\x6c\\x6f\\xb6\\x0f\\xdb\\x97\\x7d\\x93\\xed\\xc7\\xbe\\xc5\\xf6\\x67\\x07\\xb0\\x03\\xd9\\x41\\xec\\x60\\xf6\\x6d\\x76\\x08\\xfb\\x0e\\x1b\\xca\\x2a\\x98\\xc3\\x5c\\xa6\\x58\\x92\\xa5\\x58\\x9a\\x65\\x58\\x96\\x1d\\xca\\xbe\\xcb\\x86\\xb1\\xef\\xb1\\xc3\\xd8\\xf7\\xd9\\xe1\\xac\\x92\\x55\\xb1\\x6a\\x56\\xc3\\x3c\\xe6\\xb3\\x23\\xd8\\x91\\xec\\x28\\x36\\x9c\\x1d\\xcd\\x46\\xb0\\x63\\xd8\\x48\\x36\\x8a\\x1d\\xcb\\x7e\\xc0\\x46\\xb3\\xe3\\xd8\\x18\\x36\\x96\\x1d\\xcf\\x4e\\x60\\xe3\\xd8\\x89\\xec\\x24\\xf6\\x43\\x76\\x32\\x3b\\x85\\x9d\\xca\\x4e\\x63\\xa7\\xb3\\x1c\\x1b\\xcf\\x26\\xb0\\x5a\\x96\\x67\\x13\\xd9\\x24\\x56\\xc7\\xea\\xd9\\x64\\x36\\x85\\x35\\xb0\\x46\\xd6\\xc4\\x9a\\xd9\\x54\\x36\\x8d\\xb5\\xb0\\x56\\xd6\\xc6\\xda\\xd9\\x74\\x36\\x83\\xcd\\x64\\xb3\\xd8\\x19\\xec\\x4c\\x76\\x16\\x3b\\x9b\\xcd\\x66\\xe7\\xb0\\x39\\xec\\x47\\xec\\x5c\\xf6\\x63\\x76\\x1e\\xfb\\x09\\x3b\\x9f\\x5d\\xc0\\x2e\\x64\\x3f\\x65\\x17\\xb1\\x9f\\xb1\\x8b\\xd9\\x25\\xec\\x52\\x76\\x19\\xbb\\x9c\\x5d\\xc1\\xae\\x64\\x3f\\x67\\x57\\xb1\\x5f\\xb0\\xab\\xd9\\x2f\\xd9\\x35\\xec\\x57\\x6c\\x2e\\xfb\\x35\\xbb\\x96\\xfd\\x86\\x5d\\xc7\\x7e\\xcb\\xae\\x67\\xbf\\x63\\x37\\xb0\\xdf\\xb3\\x1b\\xd9\\x1f\\xd8\\x4d\\xec\\x66\\x36\\x8f\\xdd\\xc2\\xe6\\xb3\\x5b\\xd9\\x6d\\xec\\x8f\\xec\\x76\\xf6\\x27\\x76\\x07\\xfb\\x33\\xeb\\x60\\x77\\xb2\\x05\\xec\\x2f\\xec\\x2e\\xf6\\x57\\x76\\x37\\xfb\\x1b\\xbb\\x87\\xfd\\x9d\\xdd\\xcb\\xfe\\xc1\\xee\\x63\\xff\\x64\\xf7\\xb3\\x07\\xd8\\x83\\xec\\x21\\xf6\\x30\\x7b\\x84\\x3d\\xca\\x16\\xb2\\x45\\xec\\x31\\xf6\\x38\\x7b\\x82\\x2d\\x66\\x4b\\xd8\\x52\\xf6\\x24\\x7b\\x8a\\x3d\\xcd\\x9e\\x61\\xcf\\xb2\\xe7\\xd8\\x32\\xf6\\x3c\\x7b\\x81\\xbd\\xc8\\x5e\\x62\\x2f\\xb3\\xe5\\x6c\\x05\\x7b\\x85\\xbd\\xca\\x5e\\x63\\x2b\\xd9\\xeb\\x6c\\x15\\x5b\\xcd\\xd6\\xb0\\xb5\\xec\\x0d\\xf6\\x26\\x5b\\xc7\\xde\\x62\\x6f\\xb3\\x77\\xd8\\x7a\\xf6\\x2e\\x7b\\x8f\\xbd\\xcf\\x36\\xb0\\x0f\\xd8\\x46\\xf6\\x21\\xdb\\xc4\\x3e\\x62\\x1f\\xb3\\x4f\\xd8\\xa7\\xec\\x33\\xb6\\x99\\x7d\\xce\\xbe\\x60\\x5f\\xb2\\x2d\\xac\\x93\\x5b\\x3c\\xc6\\xe3\\x3c\\xf8\\x87\\x8c\\x19\\xe7\\xdc\\xe6\\x82\\x4b\\x9e\\xe0\\x65\\xbc\\x9c\\xf7\\xe2\\xbd\\x79\\x1f\\xde\\x97\\xf7\\xe3\\xfd\\xf9\\x4e\\x7c\\x00\\xdf\\x99\\xef\\xc2\\x77\\xe5\\x03\\xf9\\x20\\x3e\\x98\\xef\\xc6\\x87\\xf0\\xdd\\xf9\\x1e\\x7c\\x4f\\xbe\\x17\\xff\\x06\\xdf\\x9b\\xef\\xc3\\xf7\\xe5\\xdf\\xe4\\xfb\\xf1\\x6f\\xf1\\xfd\\xf9\\x01\\xfc\\x40\\x7e\\x10\\x3f\\x98\\x7f\\x9b\\x1f\\xc2\\xbf\\xc3\\x87\\xf2\\x0a\\xee\\x70\\x97\\x2b\\x9e\\xe4\\x29\\x9e\\xe6\\x19\\x9e\\xe5\\x87\\xf2\\xef\\xf2\\x61\\xfc\\x7b\\xfc\\x30\\xfe\\x7d\\x7e\\x38\\xaf\\xe4\\x55\\xbc\\x9a\\xd7\\x70\\x8f\\xfb\\xfc\\x08\\x7e\\x24\\x3f\\x8a\\x0f\\xe7\\x47\\xf3\\x11\\xfc\\x18\\x3e\\x92\\x8f\\xe2\\xc7\\xf2\\x1f\\xf0\\xd1\\xfc\\x38\\x3e\\x86\\x8f\\xe5\\xc7\\xf3\\x13\\xf8\\x38\\x7e\\x22\\x3f\\x89\\xff\\x90\\x9f\\xcc\\x4f\\xe1\\xa7\\xf2\\xd3\\xf8\\xe9\\x3c\\xc7\\xc7\\xf3\\x09\\xbc\\x96\\xe7\\xf9\\x44\\x3e\\x89\\xd7\\xf1\\x7a\\x3e\\x99\\x4f\\xe1\\x0d\\xbc\\x91\\x37\\xf1\\x66\\x3e\\x95\\x4f\\xe3\\x2d\\xbc\\x95\\xb7\\xf1\\x76\\x3e\\x9d\\xcf\\xe0\\x33\\xf9\\x2c\\x7e\\x06\\x3f\\x93\\x9f\\xc5\\xcf\\xe6\\xb3\\xf9\\x39\\x7c\\x0e\\xff\\x11\\x3f\\x97\\xff\\x98\\x9f\\xc7\\x7f\\xc2\\xcf\\xe7\\x17\\xf0\\x0b\\xf9\\x4f\\xf9\\x45\\xfc\\x67\\xfc\\x62\\x7e\\x09\\xbf\\x94\\x5f\\xc6\\x2f\\xe7\\x57\\xf0\\x2b\\xf9\\xcf\\xf9\\x55\\xfc\\x17\\xfc\\x6a\\xfe\\x4b\\x7e\\x0d\\xff\\x15\\x9f\\xcb\\x7f\\xcd\\xaf\\xe5\\xbf\\xe1\\xd7\\xf1\\xdf\\xf2\\xeb\\xf9\\xef\\xf8\\x0d\\xfc\\xf7\\xfc\\x46\\xfe\\x07\\x7e\\x13\\xbf\\x99\\xcf\\xe3\\xb7\\xf0\\xf9\\xfc\\x56\\x7e\\x1b\\xff\\x23\\xbf\\x9d\\xff\\x89\\xdf\\xc1\\xff\\xcc\\x3b\\xf8\\x9d\\x7c\\x01\\xff\\x0b\\xbf\\x8b\\xff\\x95\\xdf\\xcd\\xff\\xc6\\xef\\xe1\\x7f\\xe7\\xf7\\xf2\\x7f\\xf0\\xfb\\xf8\\x3f\\xf9\\xfd\\xfc\\x01\\xfe\\x20\\x7f\\x88\\x3f\\xcc\\x1f\\xe1\\x8f\\xf2\\x85\\x7c\\x11\\x7f\\x8c\\x3f\\xce\\x9f\\xe0\\x8b\\xf9\\x12\\xbe\\x94\\x3f\\xc9\\x9f\\xe2\\x4f\\xf3\\x67\\xf8\\xb3\\xfc\\x39\\xbe\\x8c\\x3f\\xcf\\x5f\\xe0\\x2f\\xf2\\x97\\xf8\\xcb\\x7c\\x39\\x5f\\xc1\\x5f\\xe1\\xaf\\xf2\\xd7\\xf8\\x4a\\xfe\\x3a\\x5f\\xc5\\x57\\xf3\\x35\\x7c\\x2d\\x7f\\x83\\xbf\\xc9\\xd7\\xf1\\xb7\\xf8\\xdb\\xfc\\x1d\\xbe\\x9e\\xbf\\xcb\\xdf\\xe3\\xef\\xf3\\x0d\\xfc\\x03\\xbe\\x91\\x7f\\xc8\\x37\\xf1\\x8f\\xf8\\xc7\\xfc\\x13\\xfe\\x29\\xff\\x8c\\x6f\\xe6\\x9f\\xf3\\x2f\\xf8\\x97\\x7c\\x0b\\xef\\xb4\\x2d\\x3b\\x66\\xc7\\x6d\\x62\\x53\\x9b\\xd9\\xdc\\xb6\\x6d\\x61\\x4b\\x3b\\x61\\x97\\xd9\\xe5\\x76\\x2f\\xbb\\xb7\\xdd\\xc7\\xee\\x6b\\xf7\\xb3\\xfb\\xdb\\x3b\\xd9\\x03\\xec\\x9d\\xed\\x5d\\xec\\x5d\\xed\\x81\\xf6\\x20\\x7b\\xb0\\xbd\\x9b\\x3d\\xc4\\xde\\xdd\\xde\\xc3\\xde\\xd3\\xde\\xcb\\xfe\\x86\\xbd\\xb7\\xbd\\x8f\\xbd\\xaf\\xfd\\x4d\\x7b\\x3f\\xfb\\x5b\\xf6\\xfe\\xf6\\x01\\xf6\\x81\\xf6\\x41\\xf6\\xc1\\xf6\\xb7\\xed\\x43\\xec\\xef\\xd8\\x43\\xed\\x0a\\xdb\\xb1\\x5d\\x5b\\xd9\\x49\\x3b\\x65\\xa7\\xed\\x8c\\x9d\\xb5\\x0f\\xb5\\xbf\\x6b\\x0f\\xb3\\xbf\\x67\\x1f\\x66\\x7f\\xdf\\x3e\\xdc\\xae\\xb4\\xab\\xec\\x6a\\xbb\\xc6\\xf6\\x6c\\xdf\\x3e\\xc2\\x3e\\xd2\\x3e\\xca\\x1e\\x6e\\x1f\\x6d\\x8f\\xb0\\x8f\\xb1\\x47\\xda\\xa3\\xec\\x63\\xed\\x1f\\xd8\\xa3\\xed\\xe3\\xec\\x31\\xf6\\x58\\xfb\\x78\\xfb\\x04\\x7b\\x9c\\x7d\\xa2\\x7d\\x92\\xfd\\x43\\xfb\\x64\\xfb\\x14\\xfb\\x54\\xfb\\x34\\xfb\\x74\\x3b\\x67\\x8f\\xb7\\x27\\xd8\\xb5\\x76\\xde\\x9e\\x68\\x4f\\xb2\\xeb\\xec\\x7a\\x7b\\xb2\\x3d\\xc5\\x6e\\xb0\\x1b\\xed\\x26\\xbb\\xd9\\x9e\\x6a\\x4f\\xb3\\x5b\\xec\\x56\\xbb\\xcd\\x6e\\xb7\\xa7\\xdb\\x33\\xec\\x99\\xf6\\x2c\\xfb\\x0c\\xfb\\x4c\\xfb\\x2c\\xfb\\x6c\\x7b\\xb6\\x7d\\x8e\\x3d\\xc7\\xfe\\x91\\x7d\\xae\\xfd\\x63\\xfb\\x3c\\xfb\\x27\\xf6\\xf9\\xf6\\x05\\xf6\\x85\\xf6\\x4f\\xed\\x8b\\xec\\x9f\\xd9\\x17\\xdb\\x97\\xd8\\x97\\xda\\x97\\xd9\\x97\\xdb\\x57\\xd8\\x57\\xda\\x3f\\xb7\\xaf\\xb2\\x7f\\x61\\x5f\\x6d\\xff\\xd2\\xbe\\xc6\\xfe\\x95\\x3d\\xd7\\xfe\\xb5\\x7d\\xad\\xfd\\x1b\\xfb\\x3a\\xfb\\xb7\\xf6\\xf5\\xf6\\xef\\xec\\x1b\\xec\\xdf\\xdb\\x37\\xda\\x7f\\xb0\\x6f\\xb2\\x6f\\xb6\\xe7\\xd9\\xb7\\xd8\\xf3\\xed\\x5b\\xed\\xdb\\xec\\x3f\\xda\\xb7\\xdb\\x7f\\xb2\\xef\\xb0\\xff\\x6c\\x77\\xd8\\x77\\xda\\x0b\\xec\\xbf\\xd8\\x77\\xd9\\x7f\\xb5\\xef\\xb6\\xff\\x66\\xdf\\x63\\xff\\xdd\\xbe\\xd7\\xfe\\x87\\x7d\\x9f\\xfd\\x4f\\xfb\\x7e\\xfb\\x01\\xfb\\x41\\xfb\\x21\\xfb\\x61\\xfb\\x11\\xfb\\x51\\x7b\\xa1\\xbd\\xc8\\x7e\\xcc\\x7e\\xdc\\x7e\\xc2\\x5e\\x6c\\x2f\\xb1\\x97\\xda\\x4f\\xda\\x4f\\xd9\\x4f\\xdb\\xcf\\xd8\\xcf\\xda\\xcf\\xd9\\xcb\\xec\\xe7\\xed\\x17\\xec\\x17\\xed\\x97\\xec\\x97\\xed\\xe5\\xf6\\x0a\\xfb\\x15\\xfb\\x55\\xfb\\x35\\x7b\\xa5\\xfd\\xba\\xbd\\xca\\x5e\\x6d\\xaf\\xb1\\xd7\\xda\\x6f\\xd8\\x6f\\xda\\xeb\\xec\\xb7\\xec\\xb7\\xed\\x77\\xec\\xf5\\xf6\\xbb\\xf6\\x7b\\xf6\\xfb\\xf6\\x06\\xfb\\x03\\x7b\\xa3\\xfd\\xa1\\xbd\\xc9\\xfe\\xc8\\xfe\\xd8\\xfe\\xc4\\xfe\\xd4\\xfe\\xcc\\xde\\x6c\\x7f\\x6e\\x7f\\x61\\x7f\\x69\\x6f\\xb1\\x3b\\x85\\x65\\x75\\x58\\x77\\x8a\\x98\\x88\\x0b\\x62\\xdd\\x65\\xfd\\xd5\\x7a\\x58\\x50\\x6b\\x81\\xf5\\x17\\xeb\\x11\\xc1\\xac\\x73\\xad\\x07\\xad\\x0b\\xac\\x5b\\x05\\x17\\xb6\\x10\\x42\\x8a\\x84\\x28\\xb3\\x1e\\x15\\xe5\\xa2\\x97\\xe8\\x6d\\xdd\\x67\\xfd\\x53\\xf4\\x11\\x7d\\xad\\x7b\\x45\\x3f\\xd1\\x5f\\xec\\x24\\x06\\x88\\x9d\\xc5\\x2e\\x62\\x57\\x31\\x50\\x0c\\x12\\x83\\xc5\\x6e\\x62\\x88\\xd8\\x5d\\xec\\x21\\xf6\\x14\\x7b\\x89\\x6f\\x88\\xbd\\xc5\\x3e\\x62\\x5f\\xeb\\x13\\xf1\\x4d\\xb1\\x9f\\xf8\\x96\\xd8\\x5f\\x1c\\x20\\x0e\\x14\\x07\\x89\\x83\\xc5\\xb7\\xc5\\x21\\xe2\\x3b\\x62\\xa8\\xa8\\x10\\x8e\\x70\\x85\\x12\\x49\\x91\\x12\\x69\\x91\\x11\\x59\\x71\\xa8\\xf8\\xae\\x75\\xb1\\x18\\x26\\xbe\\x27\\x0e\\x13\\xdf\\x17\\x87\\x8b\\x4a\\x51\\x25\\xaa\\x45\\x8d\\xf0\\x84\\x2f\\x8e\\x10\\x47\\x8a\\xa3\\xc4\\x70\\x71\\xb4\\x18\\x21\\x8e\\xb1\\xae\\x11\\x23\\xad\\xb9\\xd6\\xaf\\xac\\xf7\\xc5\\x28\\xeb\\x21\\xeb\\x0f\\xd6\\x95\\xe2\\x58\\xf1\\x03\\xeb\\x5a\\xeb\\x66\\xeb\\x32\\x31\\xda\\xba\\xca\\xfa\\x85\\x38\\x4e\\x8c\\x11\\x63\\xc5\\xf1\\xe2\\x04\\x31\\x4e\\x9c\\x28\\x4e\\x12\\x3f\\x14\\x27\\x8b\\x53\\xc4\\xa9\\xe2\\x34\\x71\\xba\\xc8\\x89\\xf1\\x62\\x82\\xa8\\x15\\x79\\x31\\x51\\x4c\\x12\\x75\\xa2\\x5e\\x4c\\x16\\x53\\x44\\x83\\x68\\x14\\x4d\\xa2\\x59\\x4c\\x15\\xd3\\x44\\x8b\\x68\\x15\\x6d\\xa2\\x5d\\x4c\\x17\\x33\\xc4\\x4c\\x31\\x4b\\x9c\\x21\\xce\\x14\\x67\\x89\\xb3\\xc5\\x6c\\x71\\x8e\\x98\\x23\\x7e\\x24\\xce\\x15\\x3f\\x16\\xe7\\x89\\x9f\\x88\\xf3\\xc5\\x05\\xe2\\x42\\xf1\\x53\\x71\\x91\\xf8\\x99\\xb8\\x58\\x5c\\x22\\x2e\\x15\\x97\\x59\\x7f\\x13\\x97\\x8b\\x2b\\xc4\\x95\\xe2\\xe7\\xe2\\x2a\\xf1\\x0b\\x71\\xb5\\xf8\\xa5\\xb8\\x46\\xfc\\x4a\\xcc\\x15\\xbf\\x16\\xd7\\x8a\\xdf\\x88\\xeb\\xc4\\x6f\\xc5\\xf5\\xe2\\x77\\xe2\\x06\\xf1\\x7b\\x71\\xa3\\xf8\\x83\\xb8\\x49\\xdc\\x2c\\xe6\\x89\\x5b\\xc4\\x7c\\x71\\xab\\xb8\\x4d\\xfc\\x51\\xdc\\x2e\\xfe\\x24\\xee\\x10\\x7f\\x16\\x1d\\xe2\\x4e\\xb1\\x40\\xfc\\x45\\xdc\\x25\\xfe\\x2a\\xee\\x16\\x7f\\x13\\xf7\\x88\\xbf\\x8b\\x7b\\xc5\\x3f\\xc4\\x7d\\xe2\\x9f\\xe2\\x7e\\xf1\\x80\\x78\\x50\\x3c\\x24\\x1e\\x16\\x8f\\x88\\x47\\xc5\\x42\\xb1\\x48\\x3c\\x26\\x1e\\x17\\x4f\\x88\\xc5\\x62\\x89\\x58\\x2a\\x9e\\x14\\x4f\\x89\\xa7\\xc5\\x33\\xe2\\x59\\xf1\\x9c\\x58\\x26\\x9e\\x17\\x2f\\x88\\x17\\xc5\\x4b\\xe2\\x65\\xb1\\x5c\\xac\\x10\\xaf\\x88\\x57\\xc5\\x6b\\x62\\xa5\\x78\\x5d\\xac\\x12\\xab\\xc5\\x1a\\xb1\\x56\\xbc\\x21\\xde\\x14\\xeb\\xc4\\x5b\\xe2\\x6d\\xf1\\x8e\\x58\\x2f\\xde\\x15\\xef\\x89\\xf7\\xc5\\x06\\xf1\\x81\\xd8\\x28\\x3e\\x14\\x9b\\xc4\\x47\\xe2\\x63\\xf1\\x89\\xf8\\x54\\x7c\\x26\\x36\\x8b\\xcf\\xc5\\x17\\xe2\\x4b\\xb1\\x45\\x74\\x4a\\x4b\\xc6\\x64\\x5c\\x12\\x49\\x25\\x93\\x5c\\xda\\x52\\x48\\x29\\x13\\xb2\\x4c\\x96\\xcb\\x5e\\xb2\\xb7\\xec\\x23\\xfb\\xca\\x7e\\xb2\\xbf\\xdc\\x49\\x0e\\x90\\x3b\\xcb\\x5d\\xe4\\xae\\x72\\xa0\\x1c\\x24\\x07\\xcb\\xdd\\xe4\\x10\\xb9\\xbb\\xdc\\x43\\xee\\x29\\xf7\\x92\\xdf\\x90\\x7b\\xcb\\x7d\\xe4\\xbe\\xf2\\x9b\\x72\\x3f\\xf9\\x2d\\xb9\\xbf\\x3c\\x40\\x1e\\x28\\x0f\\x92\\x07\\xcb\\x6f\\xcb\\x43\\xe4\\x77\\xe4\\x50\\x59\\x21\\x1d\\xe9\\x4a\\x25\\x93\\x32\\x25\\xd3\\x32\\x23\\xb3\\xf2\\x50\\xf9\\x5d\\x39\\x4c\\x7e\\x4f\\x1e\\x26\\xbf\\x2f\\x0f\\x97\\x95\\xb2\\x4a\\x56\\xcb\\x1a\\xe9\\x49\\x5f\\x1e\\x21\\x8f\\x94\\x47\\xc9\\xe1\\xf2\\x68\\x39\\x42\\x1e\\x23\\x47\\xca\\x51\\xf2\\x58\\xf9\\x03\\x39\\x5a\\x1e\\x27\\xc7\\xc8\\xb1\\xf2\\x78\\x79\\x82\\x1c\\x27\\x4f\\x94\\x27\\xc9\\x1f\\xca\\x93\\xe5\\x29\\xf2\\x54\\x79\\x9a\\x3c\\x5d\\xe6\\xe4\\x78\\x39\\x41\\xd6\\xca\\xbc\\x9c\\x28\\x27\\xc9\\x3a\\x59\\x2f\\x27\\xcb\\x29\\xb2\\x41\\x36\\xca\\x26\\xd9\\x2c\\xa7\\xca\\x69\\xb2\\x45\\xb6\\xca\\x36\\xd9\\x2e\\xa7\\xcb\\x19\\x72\\xa6\\x9c\\x25\\xcf\\x90\\x67\\xca\\xb3\\xe4\\xd9\\x72\\xb6\\x3c\\x47\\xce\\x91\\x3f\\x92\\xe7\\xca\\x1f\\xcb\\xf3\\xe4\\x4f\\xe4\\xf9\\xf2\\x02\\x79\\xa1\\xfc\\xa9\\xbc\\x48\\xfe\\x4c\\x5e\\x2c\\x2f\\x91\\x97\\xca\\xcb\\xe4\\xe5\\xf2\\x0a\\x79\\xa5\\xfc\\xb9\\xbc\\x4a\\xfe\\x42\\x5e\\x2d\\x7f\\x29\\xaf\\x91\\xbf\\x92\\x73\\xe5\\xaf\\xe5\\xb5\\xf2\\x37\\xf2\\x3a\\xf9\\x5b\\x79\\xbd\\xfc\\x9d\\xbc\\x41\\xfe\\x5e\\xde\\x28\\xff\\x20\\x6f\\x92\\x37\\xcb\\x79\\xf2\\x16\\x39\\x5f\\xde\\x2a\\x6f\\x93\\x7f\\x94\\xb7\\xcb\\x3f\\xc9\\x3b\\xe4\\x9f\\x65\\x87\\xbc\\x53\\x2e\\x90\\x7f\\x91\\x77\\xc9\\xbf\\xca\\xbb\\xe5\\xdf\\xe4\\x3d\\xf2\\xef\\xf2\\x5e\\xf9\\x0f\\x79\\x9f\\xfc\\xa7\\xbc\\x5f\\x3e\\x20\\x1f\\x94\\x0f\\xc9\\x87\\xe5\\x23\\xf2\\x51\\xb9\\x50\\x2e\\x92\\x8f\\xc9\\xc7\\xe5\\x13\\x72\\xb1\\x5c\\x22\\x97\\xca\\x27\\xe5\\x53\\xf2\\x69\\xf9\\x8c\\x7c\\x56\\x3e\\x27\\x97\\xc9\\xe7\\xe5\\x0b\\xf2\\x45\\xf9\\x92\\x7c\\x59\\x2e\\x97\\x2b\\xe4\\x2b\\xf2\\x55\\xf9\\x9a\\x5c\\x29\\x5f\\x97\\xab\\xe4\\x6a\\xb9\\x46\\xae\\x95\\x6f\\xc8\\x37\\xe5\\x3a\\xf9\\x96\\x7c\\x5b\\xbe\\x23\\xd7\\xcb\\x77\\xe5\\x7b\\xf2\\x7d\\xb9\\x41\\x7e\\x20\\x37\\xca\\x0f\\xe5\\x26\\xf9\\x91\\xfc\\x58\\x7e\\x22\\x3f\\x95\\x9f\\xc9\\xcd\\xf2\\x73\\xf9\\x85\\xfc\\x52\\x6e\\x91\\x9d\\x09\\x2b\\x11\\x4b\\xc4\\x13\\x24\\x41\\x13\\x2c\\xc1\\x13\\x76\\x42\\x24\\x64\\x22\\x91\\x28\\x4b\\x94\\x27\\x7a\\x25\\x7a\\x27\\xfa\\x24\\xfa\\x26\\xfa\\x25\\xfa\\x27\\x76\\x4a\\x0c\\x48\\xec\\x9c\\xd8\\x25\\xb1\\x6b\\x62\\x60\\x62\\x50\\x62\\x70\\x62\\xb7\\xc4\\x90\\xc4\\xee\\x89\\x3d\\x12\\x7b\\x26\\xf6\\xb2\\xdb\\x9b\\xea\\x87\\x0e\\xad\\x1c\\x8a\\xbc\\x46\\x36\\x4f\\xcf\\xb7\\xb4\\x4e\\x68\\x6e\\xc9\\x93\\xc6\\xf6\\x0a\\xde\\x58\\x5f\\x5b\\xdb\\xdc\\x66\\x57\\x36\\x06\\xf7\\x9b\\x9b\\xec\\x5c\\x98\\xf3\\xca\\xf1\\x2d\\xf9\\xe9\\x79\\x9e\\x33\\x99\\x5d\\xd9\\x3c\\xa9\\xb9\\x29\\x3f\\xc5\\xce\\x85\\x79\\x59\\xf5\\x84\\xfa\\x96\\x09\\xed\\x8d\\x13\\x1b\\xf2\\x33\\xcb\\x26\\x14\\xcb\\x89\\x6a\\xad\\x2a\\x37\\x61\\x42\\xbe\\xa9\\x2d\\x31\\xa1\\x50\\xe4\\x35\\x13\\x72\\x81\\xca\\xda\\x30\\xab\\xd1\\xfa\\x73\\x6d\\xb6\\x07\\xc0\\x3c\\x00\\xbd\\x10\\x30\\x6f\\xb2\\x84\\x57\\x54\\x94\\x2f\\x14\\x6d\\x0f\\x66\\xe4\\xc3\\x9c\\x7b\\xa1\\xc6\\xbc\\xc9\\xca\\x8e\\x88\\x18\\x35\\x29\\x62\\xd4\\x11\\x45\\x5d\\x93\\x0a\\xc5\\xf2\\x23\\x26\\x34\\x37\\x36\\xe6\\x50\\x99\\x14\\xa9\\x94\\x1d\\x19\\xd1\\x53\\x57\\x2c\\xd3\\x23\\xc7\\xe7\\x5a\\x68\\x9d\\x16\\xfc\\xa8\\xb6\\xfa\\x86\\xda\\x3c\\xaf\\x37\\x99\\x7d\\x14\\x66\\x52\\x8f\\x99\\x1c\\x15\\xce\\xa4\\x3e\\x74\\xdd\\x51\\xb0\\xb9\\x3e\\xcc\\xe3\\x47\\x0d\\x8f\\xd7\\x4f\\x2e\\x1b\\x1e\\xc1\\x98\\x5c\\x2c\\x97\\x1f\\x1d\\xb5\\x6a\\x4a\\xb7\\xca\\xa4\\xe0\\xf1\\x45\\x43\\xae\\xa9\\xb6\\x7e\\x02\\x1f\\x91\\x9b\\xd0\\xde\\x96\\xe7\\x0d\\x26\\x2b\\x1f\\x11\\xed\\xd7\\x10\\xa9\\xf0\\x11\\xa1\\x83\\x1a\\x4c\\x46\\x47\\xe8\\xd9\\xd3\\x06\\x2d\\xf8\\xc8\\x70\\x7c\\x53\\x38\\x7e\\x64\\x74\\x7c\\x53\\x74\\xfc\\xc8\\x70\\x7c\\x53\\xe8\\xe0\\xa6\\xdc\\xd4\\xe6\\xd6\\xb6\\x96\\xe6\\xa9\\x75\\x79\\xe2\\x35\\x4d\\x22\\xf9\\xa6\\x49\\xf6\\x28\\x4c\\xbe\\x19\\x93\\x1f\\x15\\x4e\\xbe\\xd9\\x64\\xbd\\x46\\xd5\\xb5\\x37\\x4d\\xca\\xb5\\xb4\\x37\\x36\\xe4\\xda\\xdb\\x7a\\x35\\x47\\x6b\\x7c\\x74\\x68\\x43\\x4b\\x68\\xc3\\xe8\\xa8\\x0d\\x2d\\x51\\x1b\\x46\\x87\\x36\\xb4\\x84\\xd9\\x71\\xe1\\xa8\\x56\\x93\\x95\\x1d\\x17\\x71\\x63\\x6b\\xc4\\x8d\\x63\\xa2\\xda\\xda\\xa2\\xda\\xc6\\x84\\x6a\\xda\\x42\\x8f\\x8c\\x09\\x96\\xb4\\x2d\\x58\\xd2\\xb1\\xe1\\x92\\xb6\\x87\\x4b\\x3a\\x16\\xb3\\x6a\\xc7\\xac\\xc6\\x86\\xb3\\x6a\\x37\\x19\\x1b\\xdb\\x52\\xdf\\x34\\x89\\xb5\\x07\\xb2\\xd7\\xd8\\x6e\\x33\\x6c\\x8f\\xd6\\xec\\xb1\\x58\\xfa\\x76\\x7c\\x6b\\x4e\\x88\\x58\\x3b\\x23\\x52\\x3e\\x31\\x52\\x9e\\x55\\x2c\\xf3\\x93\\xc2\\xb9\\x9e\\x61\\xb2\\xc4\\x49\\xc5\\x6d\\x7c\\x46\\xa1\\xc8\\x1a\\x9a\\x9b\\x26\\xb5\\x9a\\xaf\\x76\\x45\\x66\\x28\\xf2\\x0a\\xe4\\x0e\\x72\\x17\\xb9\\x42\\x9e\\x44\\x9e\\x42\\x9e\\x46\\x9e\\x41\\x9e\\x45\\x5e\\x89\\xbc\\x0a\\x79\\x35\\xf2\\x1a\\xe4\\x1e\\x72\\x3f\\xcc\\xb3\\xc0\\xcf\\x02\\x3f\\x0b\\xdc\\x2c\\x70\\xb3\\xc0\\xcd\\x02\\x37\\x0b\\xdc\\x2c\\x70\\xb3\\xc0\\xcd\\x02\\x37\\x0b\\xdc\\x2c\\x70\\xb3\\xc0\\xcd\\x02\\x37\\xeb\\xb3\\x51\\x75\\xcd\\x2d\\xfa\\x08\\x1a\\xc8\\xb0\\xad\\x12\\x73\\xae\\x04\\x76\\x25\\xb0\\x2b\\x81\\x5d\\x09\\xec\\x4a\\x60\\x57\\x02\\xbb\\x12\\xd8\\x95\\xc0\\xae\\x04\\x76\\x25\\xb0\\x2b\\x81\\x5d\\xe9\\xb1\\xb1\\x06\\xb3\\xbd\\x88\\x59\\x85\\xf9\\x56\\x01\\xbb\\x0a\\xd8\\x55\\xc0\\xae\\x02\\x76\\x15\\xb0\\xab\\x80\\x5d\\x05\\xec\\x2a\\x60\\x57\\x01\\xbb\\x0a\\xd8\\x55\\xc0\\xae\\x02\\x76\\x15\\xe6\\x5d\\x05\\x7f\\x57\\xc3\\xdf\\xd5\\xc0\\xaf\\x06\\x7e\\x35\\xf0\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x1a\\xf8\\xd5\\xc0\\xaf\\x06\\x7e\\x35\\xf0\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x06\\xf8\\x35\\xc0\\xaf\\x01\\x7e\\x0d\\xf0\\x6b\\x80\\x5f\\x03\\xfc\\x1a\\xe0\\xd7\\x00\\xbf\\x06\\xf8\\x35\\xc0\\xaf\\x01\\x7e\\x0d\\xf0\\x6b\\x80\\x5f\\x03\\xfc\\x1a\\xe0\\xd7\\x00\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\x03\\xdf\\x07\\xbe\\x9f\\x4d\\x54\\x06\\xd7\\x92\\xf0\\x6b\\x9e\\x2b\\x14\\xed\\x4a\\x2f\\xcc\\x73\\xf9\\xf0\\x6a\\x37\\xaa\\xb5\\x21\\xd7\\x5a\\x17\\x96\\x9b\\x8b\\x65\\xa3\\xc5\\x19\\x3a\\x14\\x79\\x05\\x72\\x07\\xb9\\x8b\\x5c\\x21\\x4f\\x22\\x4f\\x21\\x4f\\x23\\xcf\\x20\\xcf\\x22\\xaf\\x44\\x5e\\x85\\xbc\\x1a\\x79\\x0d\\x72\\x0f\\x79\\xe8\\x0d\\xa7\\x02\\xf8\\x15\\xc0\\xaf\\x00\\x7e\\x05\\xf0\\x2b\\x80\\x5f\\x01\\xfc\\x0a\\xe0\\x57\\xa4\\xcb\\x8f\\x8b\\x5e\\xad\\x5b\\x23\\x15\\xf4\\x80\\x25\\x15\\xb0\\xa4\\x02\\x96\\x54\\xc0\\x92\\x0a\\x58\\x52\\x01\\x4b\\x1c\\x58\\xe2\\xc0\\x12\\x07\\x96\\x38\\xb0\\xc4\\x81\\x25\\x0e\\x2c\\x71\\x60\\x89\\x03\\x4f\\x38\\xf0\\x84\\x03\\x4f\\x38\\xc0\\x77\\x80\\xef\\x00\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x9b\\x92\\x93\\x0f\\xd1\\x57\\xf4\\x86\\x7c\\x6b\\x2b\\x5a\\x60\\x81\\x0b\\x0b\\x5c\\x58\\xe0\\xc2\\x02\\x17\\x16\\xb8\\xb0\\xc0\\x85\\x05\\x2e\\x2c\\x50\\xb0\\x40\\xc1\\x02\\x05\\x0b\\x14\\x2c\\x50\\xb0\\x40\\xc1\\x02\\x05\\x0f\\x28\\x78\\x40\\x01\\x5f\\x01\\x5f\\x01\\x5f\\x01\\x5f\\x01\\x5f\\x01\\x5f\\x01\\x5f\\x01\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x1f\\x91\\x80\\x83\\x48\\xc0\\x41\\x24\\xe0\\x20\\x12\\x70\\x10\\x09\\x38\\x88\\x04\\x1c\\x44\\x02\\x0e\\x22\\x01\\x07\\x91\\x80\\x83\\x48\\xc0\\x41\\x24\\xe0\\x20\\x12\\x70\\x10\\x09\\x38\\x88\\x04\\x1c\\x44\\x02\\x0e\\x22\\x01\\x07\\x91\\x80\\x83\\x48\\xc0\\xc9\\x02\\x1f\\x11\\x81\\x83\\x88\\xc0\\x41\\x44\\xe0\\x20\\x22\\x70\\x10\\x11\\x38\\x88\\x08\\x1c\\x44\\x04\\x0e\\x22\\x02\\x07\\x11\\x81\\x83\\x88\\xc0\\x41\\x44\\xe0\\x20\\x22\\x70\\xb2\\xc0\\xc7\\x61\\xc7\\xa9\\x04\\x3e\\xa2\\x02\\x07\\x51\\x81\\x83\\xa8\\xc0\\x41\\x54\\xe0\\x20\\x2a\\x70\\x10\\x15\\x38\\x88\\x0a\\x1c\\x44\\x05\\x0e\\xa2\\x02\\x07\\x51\\x81\\x83\\xa8\\xc0\\x41\\x54\\xe0\\x54\\x02\\xbf\\x12\\xf8\\x55\\xc0\\x47\\x64\\xe0\\x20\\x32\\x70\\x10\\x19\\x38\\x88\\x0c\\x1c\\x44\\x06\\x0e\\x22\\x03\\x07\\x91\\x81\\x83\\xc8\\xc0\\x41\\x64\\xe0\\x20\\x32\\x70\\x10\\x19\\x38\\x88\\x0c\\x1c\\x44\\x06\\x0e\\x22\\x03\\x07\\x91\\x81\\x83\\xc8\\xc0\\x41\\x64\\xe0\\x20\\x32\\x70\\x10\\x19\\x38\\x88\\x0c\\x1c\\x44\\x06\\x0e\\x22\\x01\\x07\\x11\\x80\\x83\\x08\\xc0\\x41\\x04\\xe0\\x20\\x02\\x70\\x10\\x01\\x38\\x88\\x00\\x1c\\x44\\x00\\x0e\\x22\\x00\\x07\\x11\\x80\\x83\\x08\\xc0\\x41\\x04\\xe0\\x20\\x02\\x70\\x10\\x01\\x38\\x88\\x00\\x1c\\x30\\xba\\x03\\x46\\x77\\xc0\\xe8\\x0e\\x18\\xdd\\x01\\xa3\\x3b\\x60\\x74\\x07\\x8c\\xee\\x80\\xd1\\x1d\\x30\\xba\\x03\\x46\\x77\\xc0\\xe8\\x0e\\x18\\xdd\\x01\\xa3\\x3b\\x60\\x74\\x07\\x8c\\xee\\x80\\xd1\\x1d\\x30\\xba\\x03\\x46\\x77\\xc0\\xe8\\x0e\\x18\\xdd\\x01\\xa3\\x3b\\x60\\x74\\x07\\x8c\\xee\\x80\\xd1\\x1d\\x30\\xba\\x03\\x46\\x77\\xc0\\xe8\\x8e\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\xfb\\x72\\x52\\x4b\\x6e\\x7a\\x5e\\x53\\xdf\\x78\\x69\\x38\\x3d\\x28\\x99\\xcf\\xdc\\xa1\\x8e\\x34\\x67\\x92\\x48\\x8b\\x42\\x9e\\x44\\x9e\\x42\\x9e\\x46\\x9e\\xe9\\x55\\xd7\\xdc\\x3c\\x25\\x37\\xbe\\x79\\x7a\\x74\\x54\\x25\\xf2\\x2a\\xe4\\xd5\\xc8\\x6b\\x90\\x7b\\xc8\\x43\\x5f\\xb8\\xe0\\x73\\x17\\x7c\\xee\\x82\\xcf\\x5d\\xf0\\xb9\\x0b\\x3e\\x77\\xc1\\xe7\\x2e\\xf8\\xdc\\xad\\x80\\x15\\x15\\x19\\xe4\\x59\\xe4\\xc0\\x07\\x8b\\xbb\\x60\\x71\\x17\\x2c\\xee\\x82\\xc5\\x5d\\xb0\\xb8\\x0b\\x16\\x77\\xc1\\xe2\\xae\\xe3\\x94\\x6b\\x8e\\x1c\\x9f\\x6f\\x68\\x9e\\x51\\x9c\\x14\\xa8\\xdc\\x05\\x95\\xbb\\xa0\\x72\\x17\\x54\\xee\\x82\\xca\\x5d\\x50\\xb9\\x0b\\x2a\\x77\\x41\\xe5\\x2e\\xa8\\xdc\\x05\\x95\\xbb\\xa0\\x72\\x17\\x54\\xee\\x82\\xca\\x5d\\x50\\xb9\\x0b\\x2a\\x77\\x41\\xe5\\x2e\\xa8\\xdc\\x05\\x95\\xbb\\x2e\\xf0\\x5d\\xe0\\x83\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xa8\\x5d\\x10\\xb5\\x0b\\x22\\x76\\x41\\xc4\\x2e\\x88\\xd8\\x05\\x11\\xbb\\x69\\x8f\\xb5\\x35\\x37\\x35\\xb7\\xf6\\xaa\\xad\\xcf\\xb7\\xe4\\x5b\\xeb\\x5b\\x4d\\x2d\\x51\\xd9\\x30\\xb5\\x2e\\x67\\x8a\\x32\\xd7\\xd4\\xdc\\x96\\x6f\\xc8\\xd7\\xe7\\xca\\xbd\\xa9\\xad\\xf5\\xfa\\xf4\\x6e\\x9a\\x85\\xd7\\x86\\xcf\\x8f\\x6a\\x46\\xa9\\x7c\\x54\\x63\\x7d\\x70\\xef\\x21\\xac\\x8c\\x8d\\x74\\x4e\\x8c\\x6a\\xcc\\x4f\\x0a\\x3b\\xf5\\xab\\xd7\\xdd\\xbb\\x61\\x31\\x83\\x45\\xab\\xf2\\x6d\\x39\\x76\\x44\\x4e\\x47\\xd2\\x36\\x70\\xe8\\x49\\xba\\x89\\x68\\x1c\\x36\\xa6\\x4e\\x97\\x68\\x00\\xc4\\x8e\\xce\\x4d\\x9d\\x9a\\xe3\\x23\\x72\\x8d\\xe3\\x6b\\x73\\xf1\\x63\\xda\\xe3\\x23\\xdb\\xe3\\xe3\\xea\\x6d\\x20\\xc7\\x8f\\xad\\x27\\xa3\\xeb\\x9a\\xd9\\x71\\xf5\\x93\\x1a\\x73\\x64\\x4c\\xae\\xdd\\x86\\x15\\xe4\\xd8\\xba\\x7a\\x52\\xad\\xd3\\xb1\\xad\\xf5\\xe5\\x47\\x45\\x2c\\xe8\\x83\\x0e\\x5d\\xf5\\x44\\xae\\x30\\xf1\\xf2\\x7c\\x74\\xba\\xf9\\xae\\xe9\\xd6\\x77\\x4d\\x77\\x40\\x7b\\xf7\\xa1\\xe1\\x64\\xcc\\x78\\x3a\\x3e\\x98\\xcc\\xa4\\x60\\x32\\xac\\x36\\xdf\\xd0\\x96\\xb3\\xa1\\x8b\\x9e\\x11\\x4c\\x29\\xf8\\xb0\\xcd\\x4c\\x29\\x50\\xc6\\xa6\\x98\\x29\\x35\\x84\\x53\\x6a\\x6a\\x8f\\xcf\\xac\\xb7\\x9b\\xc3\\xf9\\x90\\x96\\xba\\x66\\xde\\x1a\\x4c\\xa6\\x82\\x99\\x8c\\xb4\\xe9\\x39\\x01\\x97\\x4c\\xd5\\xf3\\x99\\xa0\\x93\\xae\\xb2\\xe6\\xc0\\xc1\\xe5\\x51\\xdf\\xf6\\x29\\x31\\xaf\\xbc\\x39\\xba\\x3a\\xed\\xd1\\xd5\\x69\\x2e\\xac\\x4e\\xb8\\x27\\x40\\x92\\x2e\\x48\\xd2\\x05\\x49\\xba\\x20\\x49\\x17\\x24\\xe9\\x82\\x24\\x5d\\x90\\xa4\\x0b\\x92\\x74\\x71\\x4c\\x76\\x71\\x4c\\x76\\x71\\x4c\\x76\\x71\\x4c\\x76\\x71\\x4c\\x76\\x71\\x4c\\x76\\x41\\xaa\\x2e\\x48\\xd5\\x05\\xa9\\xba\\x20\\x55\\x17\\xa4\\xea\\x82\\x54\\x5d\\x90\\xaa\\x0b\\x52\\x75\\x41\\xaa\\x2e\\x48\\xd5\\x05\\xa9\\xba\\x20\\x55\\x17\\xa4\\xea\\x82\\x54\\x5d\\x90\\xaa\\x0b\\x52\\x75\\x41\\xaa\\x2e\\x48\\xd5\\x05\\xa9\\xba\\x20\\x55\\x17\\xa4\\xea\\x82\\x54\\x5d\\x90\\xaa\\x0b\\x52\\x75\\x41\\xaa\\x2e\\x48\\xd5\\x05\\xa9\\xba\\x20\\x55\\x17\\xa4\\xea\\x82\\x54\\x5d\\x90\\xaa\\x0b\\x52\\x75\\x41\\xaa\\xae\\x1f\\xe2\\x2b\\x1c\\x8c\\x15\\x0e\\xc6\\x0a\\x07\\x63\\x85\\x83\\xb1\\x02\\x9d\\x2a\\xd0\\xa9\\x02\\x9d\\x2a\\xd0\\xa9\\xc2\\xc1\\x58\\xe1\\x60\\xac\\x40\\xa4\\x0a\\x44\\xaa\\x40\\xa4\\x0a\\x44\\xaa\\x40\\xa4\\x0a\\x44\\xaa\\x40\\xa4\\x0a\\x44\\xaa\\x40\\xa4\\x0a\\x44\\xaa\\x40\\xa4\\x0a\\x44\\xaa\\x40\\xa4\\x0a\\x44\\xaa\\x40\\xa4\\x0a\\x44\\xaa\\x40\\xa4\\x0a\\x44\\xaa\\x40\\xa4\\x0a\\x44\\xaa\\x40\\xa4\\x0a\\x44\\xaa\\x40\\xa4\\x0a\\x44\\xaa\\x70\\x1c\\x56\\x38\\x0e\\x2b\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x70\\xa8\\x02\\x87\\x2a\\x1c\\x86\\x15\\x0e\\xc3\\x0a\\x87\\x61\\x85\\xc3\\xb0\\x02\\xc7\\x2a\\x70\\xac\\xc2\\x61\\x58\\xe1\\x30\\xac\\x70\\x18\\x56\\x38\\x0c\\x2b\\x70\\xb0\\x02\\x07\\x2b\\x70\\xb0\\x02\\x07\\x2b\\x1c\\x86\\x15\\x0e\\xc3\\x0a\\x87\\x61\\x85\\xc3\\xb0\\xc2\\x61\\x58\\xe1\\x30\\xac\\x70\\x18\\x56\\x38\\x0c\\x2b\\x1c\\x86\\x15\\x0e\\xc3\\x0a\\x87\\x61\\x85\\xc3\\xb0\\xc2\\x61\\x58\\xe1\\x30\\xac\\x70\\x18\\x56\\x38\\x0c\\x2b\\x1c\\x86\\x15\\x0e\\xc3\\x0a\\x87\\x61\\x85\\xc3\\xb0\\xc2\\x61\\x58\\xe1\\x30\\xac\\x70\\x18\\x56\\x38\\x0c\\x2b\\x1c\\x86\\x15\\x0e\\xc3\\x0a\\x87\\x61\\x85\\xc3\\xb0\\xc2\\x61\\x58\\xe1\\x30\\xac\\x70\\x18\\x56\\x38\\x0c\\x2b\\x1c\\x86\\x15\\x0e\\xc3\\x0a\\x87\\x61\\x85\\xc3\\xb0\\xc2\\x61\\x58\\xe1\\x30\\xac\\x70\\x18\\x56\\x38\\x0c\\x2b\\x1c\\x86\\x15\\x0e\\xc3\\x0a\\x87\\x61\\x85\\xc3\\xb0\\xc2\\x61\\x58\\xe1\\x30\\xac\\x70\\x18\\x56\\x38\\x0c\\x2b\\x1c\\x86\\x15\\x0e\\xc3\\x0a\\x87\\x61\\x85\\xc3\\xb0\\xc2\\x61\\x58\\xe1\\x30\\xac\\x70\\x18\\x56\\x38\\x0c\\x2b\\x1c\\x86\\x15\\x0e\\xc3\\x0a\\x87\\x61\\x85\\xc3\\xb0\\xc2\\x61\\x58\\xe1\\x30\\xac\\x70\\x18\\x56\\x38\\x0c\\x2b\\x1c\\x86\\x15\\x0e\\xc3\\x0a\\x87\\x61\\x85\\xc3\\xb0\\xc2\\x61\\x58\\xe1\\x30\\xac\\x70\\x18\\x56\\x38\\x0c\\x2b\\xdc\\x26\\x57\\xb8\\x4d\\xae\\x70\\x38\\x56\\xb8\\x4d\\xae\\x70\\x48\\x56\\x38\\x24\\x2b\\x1c\\x92\\x15\\x0e\\xc9\\x0a\\x87\\x64\\x85\\x43\\xb2\\x02\\xff\\x2b\\xf0\\xbf\\x02\\xff\\x2b\\xf0\\xbf\\x02\\xff\\x2b\\xf0\\xbf\\x02\\xff\\x2b\\xf0\\xbf\\xaa\\xc9\\xc8\\xdc\\xc4\\xfa\\xfa\\x8a\\xa1\\x99\\xae\\x2b\\x13\\x22\\x00\\x85\\x08\\x40\\x21\\x02\\x50\\x88\\x00\\x14\\x22\\x00\\x85\\x08\\x40\\x21\\x02\\x50\\x88\\x00\\x14\\x22\\x00\\x85\\x08\\x40\\x21\\x02\\x50\\x88\\x00\\x14\\x22\\x00\\x85\\x08\\x40\\x21\\x02\\x50\\x88\\x00\\x14\\x22\\x00\\x85\\x08\\x40\\x21\\x02\\x50\\x88\\x00\\x14\\x22\\x00\\x85\\x08\\x40\\x21\\x02\\x50\\x88\\x00\\x14\\x22\\x00\\x85\\x08\\x40\\x21\\x02\\x50\\x88\\x00\\x14\\x22\\x00\\x85\\x08\\x40\\x21\\x02\\x50\\x88\\x00\\x14\\x22\\x00\\x85\\x08\\x40\\x21\\x02\\x50\\x88\\x00\\x14\\x22\\x00\\x85\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x89\\x08\\x20\\x09\\x46\\x4f\\x82\\xd1\\x93\\x60\\xf4\\x24\\x18\\x3d\\x89\\x2b\\x47\\x12\\x57\\x8e\\x24\\xae\\x1c\\x49\\x5c\\x39\\x92\\xb8\\x72\\x24\\x71\\xe5\\x48\\xe2\\xca\\x91\\xc4\\x95\\x23\\x89\\x2b\\x47\\x12\\x57\\x8e\\x24\\xae\\x1c\\x49\\x5c\\x39\\x92\\xd9\\x2e\\x1c\\xd8\\x8d\\x2b\\x47\\x12\\x57\\x8e\\x24\\xae\\x1c\\x49\\x5c\\x39\\x92\\xb8\\x72\\x24\\x71\\xe5\\x48\\xe2\\xca\\x91\\xc4\\x95\\x23\\x89\\x2b\\x47\\x12\\x57\\x8e\\x24\\xae\\x1c\\x49\\x5c\\x39\\x92\\xb8\\x72\\x24\\x71\\xe5\\x48\\xe2\\xca\\x91\\xc4\\x95\\x23\\x59\\xe9\\xb3\\xd6\\xba\\xfc\\xf4\\x5c\\x42\\x9f\\x1d\\x72\\x13\\x5b\\xf3\\x93\\x9a\\x1b\\xc2\\xe2\\x54\\x2d\\xea\\xca\\x4c\\x71\\x5a\\xae\\x31\\xd7\\xd6\\xca\\xea\\xea\\x5b\\xea\\xa7\\xb1\\xb6\\x56\\x1d\\x95\\x33\\xd3\\x91\\x99\\x3e\\xbc\\xeb\\xe3\\x66\\x7d\\x10\\x08\\x95\\x56\\x55\\xf2\\x69\\xed\\xe3\\xdb\\xdb\\x5a\\x79\\x6d\\x6e\\x52\\xbe\\xb5\\x8e\\x35\\xe6\\xdb\\xf2\\x93\\x58\\x63\\x6e\\x5a\\x6e\\x22\\x6d\\xc9\\x4d\\xcc\\xeb\\x91\\xad\\xf9\\x69\\x76\\xf0\\x27\\x88\\xc1\\x23\\xf2\\x56\\x93\\x89\\xd6\\x66\\x8d\\xda\\xda\\x3e\\x4d\\xb6\\x4f\\x9d\\x9a\\x6f\\x39\\x2d\\x68\\x6a\\x68\\x9e\\x91\\x6f\\x09\\xde\\x99\\x30\\x7a\\xab\\x53\\x65\\x21\\xd8\\x34\\x0d\\xdc\\x44\\x73\\x0d\\xf9\\x89\\x44\\x1f\\x58\\xd8\\xa4\\xfa\\xc6\\x7c\\x03\\xab\\xd5\\xf5\\xb6\\x78\\x5d\\x9e\\x4c\\xcf\\x4d\\x67\\x67\\xe4\\x66\\xd5\\x37\\x11\\x7d\\x54\\x21\\x6d\\x3a\\xcd\\x6a\\xae\\x15\\x13\\xeb\\x9b\\x72\\x0d\\x53\\x72\\x13\\x89\\x4e\\x4c\\x9b\\x9a\\x47\\x53\\x63\\xbe\\x91\\xe8\\x14\\x56\\x9a\\xda\\x9b\\x88\\x4e\\xbc\\x55\\x7f\\x3e\\xa5\\x8e\\x06\\x4a\\x6c\\xf3\\xc1\\xd4\\x7c\\x7c\\x6a\\x3e\\x61\\x8a\\x6d\\xad\\xfa\\xa8\\xc2\\x8c\\x24\\xd3\\x9a\\xf5\\x84\\xf4\\x0c\\x69\\x30\\x15\\x7d\\xc6\\x99\\xce\\x35\\xf8\\xf4\\x30\\xd3\\xa0\\x5c\\xa7\\x20\\x9b\\x14\\x9c\\x64\\xea\\xa4\\xce\\x5a\\xeb\\xb4\\x4e\\xe3\\xa6\\x8a\\x9a\\xf0\\xbb\\xa2\\xf3\\x0a\\xe4\\x0e\\x72\\x17\\xb9\\x42\\x9e\\x44\\x9e\\x42\\x9e\\x46\\x9e\\x41\\x9e\\x45\\x5e\\x89\\xbc\\x0a\\x79\\x35\\xf2\\x1a\\xe4\\x1e\\x72\\x3f\\xcc\\x2b\\x80\\x5f\\x01\\xfc\\x0a\\xe0\\x57\\x00\\xbf\\x02\\xf8\\x15\\xc0\\xaf\\x00\\x7e\\x05\\xf0\\x2b\\x80\\x5f\\x01\\xfc\\x0a\\xe0\\x57\\x00\\xbf\\x02\\xf8\\x15\\xc0\\xaf\\x00\\x7e\\x05\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x80\\xef\\x00\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x0e\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x80\\xef\\x00\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x0e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x15\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\x33\\xc0\\xcf\\x00\\x3f\\x03\\xfc\\x0c\\xf0\\x33\\xc0\\xcf\\x00\\x3f\\x03\\xfc\\x0c\\xf0\\x33\\xc0\\xcf\\x00\\x3f\\x03\\xfc\\x0c\\xf0\\x33\\xc0\\xcf\\x00\\x3f\\x03\\xfc\\x0c\\xf0\\xb3\\xc0\\xcf\\x02\\x3f\\x0b\\xfc\\x2c\\xf0\\xb3\\xc0\\xcf\\x02\\x3f\\x0b\\xfc\\x2c\\xf0\\xb3\\xc0\\xcf\\x02\\x3f\\x0b\\xfc\\x2c\\xf0\\xb3\\xc0\\xcf\\x02\\x3f\\x0b\\xfc\\x2c\\xf0\\x2b\\x81\\x5f\\x09\\xfc\\x4a\\xe0\\x57\\x02\\xbf\\x12\\xf8\\x95\\xc0\\xaf\\x04\\x7e\\x25\\xf0\\x2b\\x81\\x5f\\x09\\xfc\\x4a\\xe0\\x57\\x02\\xbf\\x12\\xf8\\x95\\xc0\\xaf\\x04\\x7e\\x25\\xf0\\xab\\x80\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\x55\\xc0\\xaf\\x02\\x7e\\x15\\xf0\\xab\\x80\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\x55\\xc0\\xaf\\x02\\x7e\\x15\\xf0\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x1a\\xf8\\xd5\\xc0\\xaf\\x06\\x7e\\x35\\xf0\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\xfb\\xc0\\x09\\x63\\xb2\\x0a\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\x69\\x9f\\x9f\\x60\\x9e\\x75\\xf2\\x19\\x61\\x76\\x42\\xf8\\x92\\xe3\\x0c\\x93\\xc9\\x13\\xba\\x6e\\xb0\\xcb\\x19\\x5d\\xa5\\x70\\x1c\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x97\\xf5\\x64\\x65\\xd7\\xf3\\x4a\\x99\\xeb\\x2a\\x25\\x2a\\x0b\\x4f\\x66\\x13\\xb9\\x42\\xb1\\x6f\\x65\\xf1\\xa5\\x4f\\xe3\\x86\\xbe\\xb9\\xd2\\x86\\x48\\x0f\\xe3\\xb6\\x68\\x0f\\xd3\\x30\\x20\\xd2\\xa3\\xa0\\x78\\x40\\xae\\x87\\xc6\\xa8\\x2e\\xf3\\x64\\x39\\xaa\\xcb\\x34\\xec\\x14\\xe9\\xd1\\x65\\xf9\\x4e\\xb9\\xad\\xdb\\xca\\xc2\\x97\\xc4\\xc3\\x17\\xd2\\x72\\x91\\x72\\xd8\\x6e\\xec\\x42\\xbb\\x29\\xf7\\x09\\xdb\\x0b\\x96\\xf4\\xc9\\x75\\xaf\\x63\\x9c\\xb1\\x01\\xe3\\x4c\\xb9\\x77\\xd8\\xde\\x05\\xdb\\x3b\\xd7\\xad\\x2a\\xbd\\x42\\xa9\\xd0\\x96\\xf0\\x8a\\x7e\\x2e\\xea\\xe7\\x5e\\xf8\\x92\\x6f\\xa8\\xb5\\xaf\\x57\\xea\\xe4\\x7c\\x69\\x83\\x57\\xea\\xf5\\x7c\\xa9\\xd7\\xbd\\x9e\\xbc\\x9e\\xef\\xc9\\xeb\\x5e\\xa9\\xd7\\xf3\\xa5\\x5e\\xf7\\x7a\\xf0\\x7a\\x7e\\xeb\\xb6\\xc4\\x51\\xc5\\xb9\\xd5\\x17\\x8a\\xf2\\xa8\\x82\\x17\\xea\\x0b\\xa5\\x51\\x85\\x52\\x73\\x61\\xf4\\xa8\\xe2\\xe8\\xe6\\xa2\\x75\\xa3\\x4a\\xa7\\xde\\x5c\\xda\\x30\\xaa\\xd4\\x17\\xcd\\xa5\\xbe\\x18\\xd5\\x93\\x2f\\x9a\\x7b\\xf2\\xc5\\xa8\\x52\\x5f\\x34\\x97\\xfa\\x62\\x54\\x0f\\xbe\\x68\\xee\\xc1\\x17\\xe6\\x05\\xe0\\xf0\\xc5\\xc9\\xe6\\x62\\xd1\\xb4\\x1a\\xa3\\xc2\\x56\\x53\\xec\\x6d\\x5a\\x0b\\x46\\xf4\\x6e\\xee\\x56\\x0d\\xc7\\x18\\xf0\\x70\\x8c\\x29\\xf6\\x32\\xad\\x5d\\x68\\xbd\\x9a\\xa3\\x35\\x39\\xb6\\x50\\x6a\\x2f\\xd8\\x33\\xb6\\xa8\\xb0\\xbd\\x58\\x1c\\x5b\\x34\\xad\\xbd\\x58\\x1c\\x5b\\xb4\\xb2\\xbd\\x68\\xe5\\xd8\\xee\\x56\\xb6\\x77\\xb7\\x72\\x6c\\xd1\\xca\\xf6\\xa2\\x95\\x63\\xbb\\x59\\xd9\\x1e\\xad\\xf1\\x13\\xc3\\xcb\\xec\\x2c\\x93\\xc9\\x13\\x0b\\x36\\xcf\\x2a\\xd8\\x7c\\x62\\x51\\xfd\\xac\\xe2\\x77\\xe5\\xc4\\xf0\\xbb\\x32\\x2b\\x7c\\x21\\x3e\\xb8\\xa6\\xf9\\x88\\xd9\\x7c\\xc4\\x6c\\x3e\\x62\\x36\\x1f\\x31\\x9b\\x8f\\x98\\xcd\\x47\\xcc\\xe6\\x23\\x66\\xf3\\x11\\xb3\\xf9\\x88\\xd9\\x7c\\xc4\\x6c\\x3e\\x62\\x36\\x1f\\x31\\x9b\\x8f\\x98\\xcd\\x47\\xcc\\xe6\\x23\\x66\\xf3\\x11\\xb3\\xf9\\x88\\xd9\\x7c\\xc4\\x6c\\x3e\\x62\\x36\\x1f\\x31\\x9b\\x8f\\x98\\xcd\\x47\\xcc\\xe6\\x23\\x46\\xf3\\x11\\xa3\\xf9\\x88\\xd1\\x7c\\xc4\\x68\\x3e\\x62\\x34\\x1f\\x31\\x9a\\x8f\\x98\\xcc\\x47\\x4c\\xe6\\x23\\x26\\xf3\\x11\\x93\\xf9\\x88\\xc9\\x7c\\xc4\\x64\\x3e\\x62\\x32\\x1f\\x31\\x99\\x8f\\x98\\xcc\\x47\\x4c\\xe6\\x23\\x26\\xf3\\x11\\x93\\xf9\\x88\\xc9\\x7c\\xa7\\x0b\\x0f\\xf3\\x43\\x4c\\xe6\\x23\\x26\\xf3\\x11\\x93\\xf9\\x88\\xc9\\x7c\\xc4\\x64\\x3e\\x62\\x32\\x1f\\x31\\x99\\x8f\\x98\\xcc\\x47\\x4c\\xe6\\x23\\x26\\xf3\\x11\\x93\\xf9\\x88\\xc9\\x7c\\xc4\\x64\\x3e\\x62\\x32\\x1f\\x31\\x99\\x8f\\x98\\xcc\\x47\\x4c\\xe6\\x23\\x26\\xf3\\x11\\x93\\xf9\\x88\\xc9\\x7c\\xc4\\x64\\x3e\\x62\\x32\\x1f\\x31\\x99\\x8f\\x18\\xcc\\x47\\x0c\\xe6\\x23\\x06\\xf3\\x11\\x83\\xf9\\x88\\xc1\\x7c\\xc4\\x60\\x3e\\x62\\x2e\\x1f\\x31\\x97\\x8f\\x98\\xcb\\x47\\xcc\\xe5\\x23\\xe6\\xf2\\x11\\x73\\xf9\\x88\\xb9\\x7c\\xc4\\x5c\\x3e\\x62\\x2d\\x1f\\x31\\x96\\x9f\\xec\\xd2\\x0b\\xfb\\x11\\x53\\xf9\\x88\\xa9\\x7c\\xc4\\x54\\x3e\\x62\\x2a\\x1f\\x31\\x95\\x8f\\x98\\xca\\x47\\x4c\\xe5\\x23\\xa6\\xf2\\x11\\x53\\xf9\\x88\\xa9\\x7c\\xc4\\x54\\x3e\\x62\\x2a\\x1f\\x31\\x95\\x8f\\x98\\xca\\x47\\x4c\\xe5\\x23\\xa6\\xf2\\x11\\x53\\xf9\\x88\\xa9\\x7c\\xc4\\x54\\x3e\\x62\\x2a\\x1f\\x31\\x95\\x8f\\x98\\xca\\x47\\x4c\\xe5\\x23\\xa6\\xf2\\x11\\x53\\xf9\\x88\\xa9\\x7c\\xc4\\x54\\x3e\\x62\\x2a\\x1f\\x31\\x95\\x8f\\x98\\xca\\xc7\\x59\\xdd\\xc7\\x59\\xdd\\xc7\\x59\\xdd\\xc7\\x59\\xdd\\xc7\\x59\\xdd\\xc7\\x59\\xdd\\x47\\x0c\\xe5\\x23\\x86\\xf2\\x11\\x43\\xf9\\x88\\xa1\\x7c\\xc4\\x50\\x3e\\x62\\x28\\x1f\\x31\\x94\\x9f\\xe9\\xc2\\xc3\\x7c\\x11\\x43\\xf9\\x88\\xa1\\x7c\\xc4\\x50\\x3e\\x62\\x28\\x1f\\x31\\x94\\x8f\\x18\\xca\\x47\\x0c\\xe5\\x23\\x86\\xf2\\x11\\x43\\xf9\\x88\\xa1\\x7c\\xc4\\x50\\x3e\\x62\\x28\\x1f\\x31\\x94\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\xb3\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\x33\\xba\\x8f\\xb3\\xb9\\x8f\\xb3\\xb9\\x8f\\xb3\\xb9\\x8f\\xb3\\xb9\\x8f\\xb3\\xb9\\x5f\\x0d\\xdc\\x6a\\xe0\\x56\\x03\\xb7\\x1a\\xb8\\xd5\\xc0\\xad\\x01\\x6e\\x0d\\x70\\x6b\\x80\\x5b\\x03\\xdc\\x1a\\xe0\\xd5\\x00\\xaf\\x06\\x78\\x35\\xc0\\xab\\x01\\x5e\\x0d\\xf0\\x6a\\x80\\x53\\x03\\x9c\\x1a\\xe0\\x78\\xc0\\xf1\\x80\\xe3\\x01\\xc7\\x03\\x8e\\x87\\xf9\\x79\\x58\\x57\\x0f\\xb8\\x1e\\x70\\x3d\\xe0\\x7a\\xc0\\xf5\\x80\\xeb\\x01\\xd7\\xc3\\x3c\\x3d\\xe0\\x7b\\xc0\\xf7\\x80\\xef\\x03\\xcf\\x07\\x9e\\x0f\\x3c\\x1f\\x38\\x3e\\x70\\x7c\\xe0\\xf8\\xc0\\xf1\\x81\\xe3\\x03\\xc7\\x07\\x8e\\x0f\\x9c\\xf0\\x1e\\x88\\x33\\x34\\xe4\\x51\\x9d\\x57\\x20\\x77\\x90\\xbb\\xc8\\x15\\xf2\\x24\\xf2\\x14\\xf2\\x34\\xf2\\x0c\\xf2\\x2c\\xf2\\x4a\\xe4\\x55\\xc8\\xab\\x91\\xd7\\x20\\xef\\xc2\\xf5\\xc3\\xbc\\x02\\x78\\x15\\xd0\\x5f\\x91\\xea\\x65\\xfe\\x05\\x3c\\xf3\\x47\\xa1\\xb5\\xe3\\x1b\\x7a\\x4d\\x6b\\x6f\\x0e\\xfe\\x81\\xd5\\xe0\\xef\\x44\\xf3\\xb5\\xe8\\x83\\xb1\\x0e\\xb0\\x1c\\x60\\x39\\xc0\\x72\\x80\\xe5\\x00\\xcb\\xf1\\x79\\x63\\x7d\\x93\\xf9\\x53\\xbd\\xfc\\x84\\xe6\\x26\\x68\\x71\\x95\\xcc\\xcf\\x9c\\xd0\\x90\\x6b\\xd4\\x28\\xb2\\x25\\x57\\x1b\\xfc\\x5b\\x8e\\xf9\\x99\\xe1\\x67\\x49\\x8c\\x4c\\x01\\x21\\x05\\x84\\x14\\x10\\x52\\x40\\x48\\x75\\xf5\\xf3\\xcb\\x27\\x36\\xb7\\xb7\\xb4\\xb6\\x4f\\xcd\\xb7\\xd4\\x37\\xb7\\x94\\x4f\\xac\\x9f\\x9e\\xef\\xaa\\xf4\\x6a\\xd5\\xc6\\x37\\x15\\x6a\\xf9\\xe0\\x1f\\x39\\xee\\xaa\\xc9\\x42\\x7b\\xa8\\x27\\x8b\\xd5\\xc8\\x62\\x35\\xb2\\xf0\\x4e\\x16\\xab\\x91\\xc5\\x6a\\x54\\xa2\\x5f\\x25\\xfa\\x55\\x3a\\xb4\\xa1\\xbe\\x25\\x87\\x0a\\x5c\\x59\\x99\\xe2\\x53\\xf3\\xad\\xf9\\xb6\\xae\\x66\\xac\\x54\\x65\\x96\\xb7\\xd6\\xe5\\xa7\\xe5\\x1b\\x68\\x6d\\x73\\xd3\\x24\\x1a\\xfc\\xdb\\x92\\xf8\\x00\\x93\\xaa\\xc4\\xa4\\x2a\\xe1\\xe6\\x2a\\x80\\x55\\x01\\xac\\x0a\\x46\\x55\\xc1\\xa8\\x2a\\x18\\x55\\x05\\xdc\\xf0\\x11\\xab\\x53\\x81\\x2d\\x53\\x11\\x86\\x44\\x3a\\x4f\\x21\\x4f\\x93\\x51\\x75\\x8d\\x32\\xdf\\xda\\x56\\xdf\\x98\\x6b\\xc3\\xa2\\x56\\x84\\xc4\\xac\\x73\\x4f\\x34\\x37\\xe5\\xdb\\xea\\xea\\x5b\\x6a\\x65\\xdb\\x8c\\x66\\x53\\x68\\x95\\xba\\xc9\\x38\\xae\\xae\\xbc\\xad\\xae\\x25\\x8f\\x72\\x6b\\x59\\xe0\\x67\\x94\\xcb\\x8d\\x9b\\x51\\x09\\x55\\x65\\x94\\xcc\\xb5\\xb4\\x34\\xcf\\x68\\xc8\\x4f\\x6c\\xb3\\x4d\\xa9\\x7d\\x6a\\xc2\\xe4\\xe6\\x5f\\x9a\\x0e\\x3f\\xac\\x6d\\x9e\\xd1\\x14\\x96\\xc6\\x6b\\x30\\x89\\x6e\\xb5\\x4d\\xe5\\x85\\xd2\\xf8\\x56\\x13\\x73\\x3a\\xf8\\x33\\x25\\xc7\\xa9\\x48\\x26\\x9a\\x5b\\xda\\xea\\x82\\xbf\\xa4\\xcc\\x35\\x94\\xd7\\x37\\xb5\\x05\\x7b\\xd3\\xfc\\x13\\xbe\\x65\\xf9\\x69\\xed\\xf5\\xd3\\xf5\\x3e\\x6a\\x9a\\x90\\x67\\x75\\xcd\\xed\\xad\\xf9\\x5e\\x7a\\xeb\\x36\\x34\\x4f\\x0a\\x36\\x57\\x53\\x73\\x5b\\x22\\xe8\\xac\\xa3\\xdf\\x86\\xb6\\xa9\\x85\\xe2\\x78\\xf3\\xf0\\xce\\xc1\\x93\\x61\\x07\\x4f\\x84\\x1d\\x3c\\xc9\\x75\\xf0\\xc4\\x56\\xe7\\x0a\\x79\\x06\\x39\\x3e\\x77\\xd0\\x8e\\xdd\\x9f\\x74\\x51\\x77\\x51\\x4f\\x62\\x7c\\x18\\xe9\\xe8\\x1c\\xfa\\xc3\\x48\\x47\\xe7\\xe8\\x1f\\x46\\x3a\\x3a\\x4f\\x21\\x4f\\x23\\x07\\x5e\\x18\\xf1\\xe8\\xbc\\x12\\x79\\x15\\xf2\\x2e\\x9c\\x1a\\xe4\\x1e\\xf2\\x70\\xfb\\x24\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x1f\\xdf\\xc9\\x24\\xbe\\x93\\xc9\\xe0\\x3b\\x39\\x75\\x7c\\x43\\xf3\\x84\\x29\\xb6\\x5e\\xab\\x20\\x67\\x61\\xad\\x61\\x62\\x98\\xb7\\xb4\\xa1\\xde\\xd6\\x5a\\x97\\xab\\xcd\\x33\\x23\\xed\\xda\\x29\\x26\\x97\\x13\\xeb\\x1b\\x1a\\xf4\\x85\\xa6\\x39\\xfc\\xe6\\xe3\\xf9\\xb2\\x83\\xe7\\xc3\\x3a\\xaf\\x4a\\x84\\x3d\\x5a\\xf4\\x0a\\xdb\\x6d\\x2d\\xf5\\xb9\\x49\\xed\\x53\\xc3\\xbc\\x05\\xf5\\xda\\xa6\\x30\\x6f\\x98\\xc8\\x83\\x53\\x61\\x43\\xb8\\x5b\\x92\\xd5\\xf0\\x4b\\xb5\\x2f\\xeb\\x9b\\xa6\\x8f\\x6f\\xd7\\x4a\\xda\\x82\\x52\\xd8\\x27\\xd1\\x3c\\x35\\xdf\\x84\\xc6\\xd6\\xc6\\x7a\\xbd\\x45\\x73\\x13\\xf2\\x7a\\x2f\\x4d\\x2f\\x54\\x48\\x6b\\x7b\\x13\\x9f\\x98\\x6f\\xd4\\xbb\\x89\\x06\\x82\\xb5\\x4e\\xd5\\xf6\\xd2\\x09\\x0d\\xed\\xe3\\x59\\x5d\\x3e\\xa7\\xd1\\x6b\\xeb\\x73\\x8d\\xfa\\x72\\x56\\xd6\\xd8\\xde\\x8a\\xfd\\x95\\xef\\x1d\\x29\\xeb\\xeb\\x9a\\xb1\\x20\\x15\\xc6\\x84\\x4e\\x35\\x56\\xa2\\x1a\\x2b\\x51\\x8d\\x95\\xa8\\xc6\\x4a\\x54\\x63\\x25\\xaa\\xb1\\x12\\xd5\\x58\\x89\\x6a\\xac\\x44\\x35\\x56\\xa2\\x1a\\x2b\\x51\\x8d\\x95\\xa8\\xc6\\x4a\\x54\\xe3\\xea\\x58\\x8d\\xab\\x63\\x75\\x1a\\x38\\x69\\xe0\\xa4\\x81\\x93\\x06\\x4e\\x1a\\x38\\x69\\xe0\\x84\\xb1\\xa7\\x83\\xfb\\xda\\x95\\xe9\\x42\\x9e\\x41\\x9e\\x45\\x5e\\x89\\xbc\\x0a\\x79\\x35\\xf2\\x1a\\xe4\\x1e\\x72\\x3f\\xcc\\xc3\\xb3\\x94\\xce\\x2b\\xc2\\x3c\\x03\\x7d\\x19\\xe8\\xcb\\x40\\x5f\\x06\\xfa\\xc2\\x58\\x53\\x87\\x54\\x15\\xc8\\x9d\\x30\\x0f\\xf5\\xeb\\xdc\\x2b\\x0f\\x9f\\x5b\\x9f\\x66\\x1e\\xf0\\xf7\\xd1\\x5f\\xe7\\xbc\\x3e\\x48\\x07\\xff\\x76\\x70\\xf0\\x40\\x5c\\x04\\xcf\\xdd\\x67\\xd4\\xeb\\xbd\\x65\\x9e\\xb8\\x07\\x25\\x5e\\x97\\x0f\\x32\\x7b\\x4a\\x2e\\xfc\\xc0\\x3c\\x5e\\x0f\\x4a\\xe5\\x5d\\x8f\\xd8\\x83\\x8a\\x08\\x1e\\x82\\x9b\\x7e\\x6d\\xb9\\xe9\\xe6\\x53\\xad\\xf9\\xb4\\xa9\\x0d\\xed\\xad\\xc1\\x3f\\x4b\\x5b\\x16\\x3c\\x42\\xc7\\x1b\\x01\\x09\\x53\\x36\\xc5\\x7e\\xa6\\xc9\\xbc\\x46\\x80\\x0f\\xfb\\x46\\x5a\\x4c\\x83\\x0c\\x0c\\x32\\xa6\\x26\\x82\\x52\\xf8\\x8a\\x80\\x69\\x6c\\xcc\\x4d\\xad\\x9f\\x26\\xc7\\xe7\\xdb\\xc2\\xee\\x65\\xe6\\x45\\x01\\x94\\x8d\\xf1\\x61\\x59\\xd4\\xe5\\xc3\\x82\\x9c\\x9e\\x9b\\x8e\\x8f\\xcd\\x0b\\x04\\x68\\x6d\\xeb\\xea\\x28\\xb5\\x53\\xc2\\x52\\xef\\xae\\xd7\\x09\\xf0\\x41\\xa1\\x54\\x66\\xe6\\x8e\\x56\\x3d\\x71\\x94\\x9a\\xda\\xa1\\xac\\x3c\\x7c\\xb5\\x20\\xac\\xf4\\xc2\\xbb\\x05\\x30\\xa3\\xab\\x50\\x66\\x5e\\x2e\\xc0\\xc8\\x69\\xcd\\xd0\\x9c\\x08\\xdc\\x87\\x62\\xd1\\x05\\xb2\\xad\\xcb\\x64\\xa1\\x8d\\x0f\\x5f\\xc2\\xd0\\x13\\x0e\\xde\\xb2\\x08\\x96\\x23\\xc8\\x35\\x4d\\x06\\x99\\xf1\\x88\\xb1\\xce\\x2c\\x33\\x1e\\x8b\\xf8\\x78\\x2c\\xe2\\xe3\\xb1\\x88\\x8f\\xc7\\x22\\xbe\\x0e\\xa9\\xca\\x22\\x7f\\x1f\\x2a\\xcd\\x8d\\xc0\\x43\\x26\\xcc\\x6a\\xe9\\x6b\\xfe\\x9e\\x3f\\xf2\\x51\\xbf\\x48\\xb9\\x25\\x78\\xc9\\x3c\\x2f\\xcc\\x1d\\x90\\x43\\xda\\x27\\x08\\x73\\xfb\\x45\\x17\\x7a\\x15\\x6f\\x28\\x05\\xcd\\x46\\x85\\x2e\\x94\\x75\\xdd\\x79\\x0e\\x1a\\xcd\\xed\\x0f\\x5d\\xe8\\x13\\xfd\\xcb\\xfe\\xe0\\x83\\x10\\xba\\x7d\\x42\\x22\\x54\\xab\\x77\\x4d\\x45\\xb1\\xe8\\x14\\x8b\\x6e\\x22\\x84\\x33\\x1d\\x0a\\x45\\xa7\\x58\\x74\\x7b\\x17\\x6e\\xba\\x98\\x4e\\xdd\\xab\\x4e\\xf7\\xaa\\x9b\\x08\\x0d\\x32\\xda\\x0a\\x45\\x27\\x11\\x5a\\x13\\xb4\\xf6\\x89\\x4c\\x2a\\xa8\\xf7\\xea\\xba\\xcf\\x53\\x62\\x81\\x2a\\x16\\x93\\x45\\x6b\\x55\\xb1\\x98\\xec\\x8e\\xac\\xba\\x57\\x93\\x45\\xf4\\x88\\x4d\\xaa\\x58\\x8c\\x74\\x48\\x15\\x8b\\xe9\\x62\\x31\\xd3\\xcd\\x32\\xa7\\x5b\\xcd\\xed\\x56\\x53\\xdd\\x6a\\xc9\\x6e\\xb5\\x88\\xee\\x6c\\xb7\\x0f\\xd2\\xdd\\x6a\\xdd\\xc1\\xb2\\xbd\\xbb\\x39\\x65\\x68\\xf7\\x6a\\x45\\xf7\\xaa\\xd3\\xbd\\xea\\x76\\xaf\\xaa\\xee\\xd5\\x64\\x59\\x71\\x7d\\x86\\x46\\xca\\x15\\x91\\xb2\\x13\\x29\\x9b\\x89\\x06\\x7f\\xf8\\x5b\\x1f\\x2e\\x9e\\xde\\xe4\\xc1\\x1f\\x70\\x05\\x7f\\xe4\\x75\\xc8\\x84\\xdc\\xd4\\x48\\xbd\\xa2\\xa4\\x5e\\x5d\\x52\\x1f\\x1a\\xa9\\xa7\\x4b\\xc6\\xbb\\xdd\\xea\\x8e\\x97\\x44\\x4a\\x95\\xd4\\xd3\\x25\\xf5\\x4c\\x49\\x3d\\x1b\\xa9\\xa7\\x82\\xbc\\xa4\\x9e\\x2a\\xa9\\xa7\\x4b\\xea\\x99\\x92\\x7a\\xb6\\x2c\\x52\\x8f\\x7c\\x96\\x2e\\xd1\\x9d\\xee\\xe1\\xf3\\x74\\x49\\x3d\\x53\\x52\\x8f\\xea\\x8e\\xf6\\xcd\\x94\\xe8\\xce\\x94\\xe8\\xce\\xf4\\xd0\\x3f\\x53\\x52\\x8f\\xea\\x8e\\x7e\\x96\\x2d\\xd1\\x9d\\x2d\\xd1\\x9d\\x2d\\xd1\\x9d\\xed\\x61\\x7c\\x54\\x77\\x97\\xbf\\x53\\x5d\\x6b\\x50\\x52\\x4f\\x95\\xd4\\xd3\\x25\\xf5\\x4c\\x49\\xbd\\x4b\\x77\\xaa\\x44\\x57\\x4f\\xf5\\x74\\x49\\x3d\\x53\\x52\\x8f\\xda\\x96\\x2e\\x19\\x9f\\x2e\\xb1\\x2d\\x5d\\xa2\\x2f\\x5d\\xa2\\x2f\\x5d\\x62\\x5b\\xb4\\x6f\\xa6\\x44\\x77\\xa6\\x44\\x77\\xa6\\x87\\xfe\\x99\\x92\\x7a\\x54\\x77\\xf4\\xb3\\x6c\\x89\\xee\\x6c\\x89\\xee\\x6c\\x89\\xee\\x6c\\x0f\\xe3\\xa3\\xba\\xbb\\x7c\\x92\\x2e\\x59\\xaf\\x74\\xc9\\x7a\\xa5\\x4b\\xd6\\x2b\\x5d\\xb2\\x5e\\xe9\\x92\\xf5\\x4a\\x97\\xe8\\x4a\\xf5\\x50\\x4f\\x95\\xd4\\xd3\\x25\\xf5\\x4c\\x49\\x3d\\xaa\\x3b\\x3a\\xb6\\x14\\xab\\xa7\\xcf\\x33\\x25\\xf5\\xe8\\xbc\\x33\\x25\\xe3\\x33\\x25\\xe3\\x33\\x25\\xb6\\x65\\x4a\\xf4\\x65\\x4a\\x6c\\x8b\\x7e\\x96\\x2d\\xd1\\x9d\\x2d\\xd1\\x9d\\x2d\\xd1\\x9d\\xed\\x61\\x7c\\x54\\x77\\x97\\xdd\\x99\\x92\\xf5\\xca\\x94\\xac\\x57\\xa6\\x64\\xbd\\x32\\x25\\xeb\\x95\\x29\\x59\\xaf\\x4c\\x89\\xae\\x54\\x0f\\xf5\\x54\\x49\\x3d\\x5d\\x52\\xcf\\x94\\xd4\\xa3\\xba\\xa3\\x63\\xd3\\x25\\xba\\xd3\\x3d\\x7c\\x9e\\x2e\\xa9\\x67\\x4a\\xea\\x51\\xdd\\xd1\\xbe\\xa5\\xf3\\x28\\xc5\\xee\\xa9\\x7f\\xd4\\xa7\\xd9\\x92\\xf1\\xd9\\x92\\xf1\\xd9\\x92\\xf1\\xd9\\x12\\xdb\\xb2\\x25\\xb6\\x75\\xe9\\xce\\x96\\xac\\x57\\xb6\\x64\\xbd\\xb2\\x25\\xeb\\x95\\x2d\\x59\\xaf\\x6c\\xc9\\x7a\\x65\\x4b\\x74\\xa5\\x7a\\xa8\\xa7\\x4a\\xea\\xe9\\x92\\x7a\\xa6\\xa4\\x1e\\xd5\\x1d\\x1d\\x9b\\x2e\\xd1\\x9d\\xee\\xe1\\xf3\\x74\\x49\\x3d\\x53\\x52\\x8f\\xea\\x8e\\xf6\\xcd\\x94\\xe8\\xce\\x94\\xe8\\xce\\xf4\\xd0\\x3f\\x53\\x52\\x8f\\xea\\x8e\\x7e\\x56\\xea\\xa3\\xd2\\x79\\x95\\xda\\x12\\x8e\\xd7\\xa1\\xb9\\x3e\\xc9\\xd7\\x4f\\x38\\xad\\xb9\\x2d\\xf8\\x51\\x26\\xc4\\x23\\xaa\\x24\\x5e\\x51\\x25\\xf1\\x8d\\xdb\\x43\\x3d\\x13\\xa9\\x57\\x04\\x31\\x4e\\xa4\\x5e\\x5d\\x52\\x57\\x5d\\xfd\\xcb\\xc7\\xe7\\x5a\\xea\\xbb\\xfe\\x6d\\x95\\x9d\\xcc\\x87\\x55\\x15\\x61\\x87\\x8a\\x40\\xe9\\xd0\\x1e\\xda\\x2a\\x4a\\xda\\x54\\x0f\\xfd\\x54\\x49\\xbf\\x54\\x0f\\xfa\\x52\\x3d\\xe8\\x4b\\xf5\\xa0\\x2f\\x55\\xa2\\x2f\\xdb\\x83\\x7d\\xd9\\x1e\\xec\\xcb\\xf6\\x60\\x5f\\xb6\\x07\\xfb\\xb2\\x3d\\xd8\\x97\\xed\\xc1\\xbe\\x6c\\x0f\\xf6\\x65\\xb7\\xb6\\xaf\\x3a\\xb9\\xb5\\x7d\\xdd\\xda\\x4a\\xfb\\xa9\\x1e\\xfa\\x95\\xea\\x4b\\xf5\\xa0\\x2f\\xd5\\x83\\xbe\\x54\\x0f\\xfa\\x7a\\xf2\\x5f\\xa6\\x6b\\x93\\xf5\\xd0\\x56\\xda\\x2f\\xd5\\x43\\xbf\\x54\\x09\\x6e\\x89\\xbe\\x6e\\x6d\\xa5\\xfd\\x52\\x3d\\xf4\\x33\\xfa\\x82\\x7f\\xbf\\xa0\\x2d\\x5f\\x5b\\x6f\\xce\\x5d\\xc2\\x6b\\x9a\\x64\\x42\\xfe\\xae\\x82\\xd3\\x55\\x70\\xc5\\x19\\xf9\\x96\\xe6\\xa0\\x64\\x37\\x37\\x99\\x53\\x82\\xdd\\x36\\xc3\\xd4\\xa5\\xb9\\x0f\\x1b\\x94\\x44\\x70\\xe7\\x3b\\x2c\\xd4\\x87\\xe7\\x31\\xbb\\xb5\\xde\\x9c\\xf7\\xa4\\xb9\\x25\\x6b\\x4a\\xe6\\xbe\\xac\\xe9\\xd4\\x54\\x1f\\x2a\\xea\\x53\\xf2\\x52\\x47\\x9f\\x92\\x57\\x38\\x7a\\x77\\x7f\\x59\\xa3\\x4f\\xc9\\x5b\\x19\\x89\\xe2\\x2b\\x3e\\x89\\xe2\\x5b\\x3d\\xb2\\xf0\\x12\\x4f\\xa2\\xf8\\xca\\x4e\\xff\\x12\\xa4\\x43\\x1a\\x26\\xf4\\x2f\\x01\\xd3\\x4d\\xfd\\xba\\xe3\\x75\\xef\\x14\\x1e\\x92\\x1a\\x26\\xf4\\x2a\\xa2\\x16\\x6a\\x5d\\x0a\\xca\\x0b\\xd8\\x85\\x8f\\x0a\\xc3\\xda\\xc3\\x47\\x3a\\x87\\xb4\\xd6\\x35\\xb7\\xb4\\x95\\x99\\x3f\\xc8\\x0e\\xcb\\x7d\\xcd\\xfd\\x06\\x73\\x57\\x02\\x77\\x2e\\x8a\\x0d\\x85\\x5b\\x28\\xe1\\x0d\\x9b\\x5e\\x5d\\x55\\xf3\\xf7\\x28\\x3b\\x15\\x6e\\x56\\x14\\xff\\x30\\xa5\\x77\\xa1\\xad\\xa4\\x6a\\xfe\\x26\\xa5\\x6f\\xe4\\x36\\x95\\x69\\x35\\x37\\x83\\x70\\x43\\x25\\xd8\\x22\\x49\\x7d\\x09\\x48\\x56\\xd5\\xa0\\xec\\x44\\xca\\x6e\\x50\\xa6\\xc7\\x9d\\x56\\xe5\\x69\\x31\\x26\\x10\\xc7\\x7a\\xe1\\xaf\\x7a\\x0a\\x2b\\x6e\\x25\\xac\\x58\\x67\\x67\\xf0\\x7b\\x95\\xe6\\x37\\x36\\x2d\\x6b\\xa6\\x35\\xc7\\xfc\\x8a\\x50\\x3f\\xcb\\xa2\\x8b\\xac\\x18\\x7d\\x8c\\x7e\\x64\\x11\\xfa\\x31\\xfd\\x58\\x97\\x3f\\xa1\\x9f\\xe8\\xf2\\xa7\\xf4\\x53\\x5d\\xfe\\x8c\\x7e\\xa9\\xcb\\x5b\\xe8\\x16\\x5d\\xee\\xa4\\x5a\\x03\\xb3\\xc4\\xa3\\x56\\x4c\\x2c\\x14\\x0b\\x2d\\x22\\x16\\x89\\x8d\\xba\\xfc\\xa1\\xf8\\xd0\\x8a\\x8b\\x4d\\x89\\x7e\\x56\\x2c\\xd1\\x3f\\x31\\xc0\\x8a\\x07\\xff\\xb2\\xa8\\x2e\\xef\\x9a\\x18\\x64\\x91\\xc4\\xe0\\x44\\xf0\\xdb\\xa1\\x34\\xfc\\xcd\\x22\\x83\\xdf\\x95\\x12\\xd6\\x78\\xeb\\x6a\\x8b\\xea\\x4b\\x7e\\x83\\x35\\x78\\x52\\x4b\\x7e\\x8a\\xe5\\xd4\\xe5\\xc7\\xb7\\x58\\x87\\x35\\xe4\\xda\\x9a\\x82\\xdf\\x40\\xb2\\xe2\\xc7\\x1c\\x5d\\xb3\\x97\\xd5\\xf7\\xb8\\xd1\\x55\\x5a\\x5a\\x96\\x9e\\x41\\xcc\\xfc\\xa2\\x91\\x85\\xb2\\x55\\x28\\xc7\\xcd\\xaf\\x1d\\x75\\xfb\\x64\\xc2\\x84\\xc6\\xa9\\xd6\\x60\\x23\\xf7\\xaa\\x6d\\xa8\\x9f\\x64\\xed\\xdf\\xd0\\x3c\\x21\\xf8\\xa5\\x25\\xab\\x60\\x4f\\xf0\\xfb\\x48\\x41\\xad\\xcb\\x22\\xae\\x7d\\xb3\\x8b\\xb5\\x87\\xb5\\x9f\\xee\\x95\\x42\\xeb\\x50\\xdd\\x37\\xe8\\xe1\\x23\\x3f\\x5e\\xf7\\xd2\\x79\\x7c\\xa0\\xd1\\x11\\x8b\\x8f\\x0e\\xdb\\xed\\xfb\\xb4\\xb6\\xbe\\x16\\x4b\\x0c\\xb6\\xde\\xb5\\x86\\x27\\x86\\x24\\x76\\xd3\\xad\\x8c\\xac\\x32\\xbf\\x02\\xb1\\x81\\x7c\\xa8\\x6b\\xfd\\x75\\x12\\x01\\x76\\xe0\\x2f\\x56\\x1e\\x8c\\x62\\x5a\\x43\\xec\\x5a\\x6b\\x90\\x95\\xb1\\xaa\\xf4\\x8c\\x8f\\xb7\\x4e\\xb7\\x26\\x5b\\x6d\\xd6\\x6c\\xeb\\x42\\x6b\\xae\\x75\\xa3\\x75\\xbb\\x75\\xbf\\xf5\\xb2\\xb5\\x46\\x77\\x4c\\xc4\\x06\\xc4\\xf6\\x88\\xed\\x1f\\x73\\x62\\xc3\\x62\\x7e\\xec\\xd8\\xd8\\x95\\x81\\x9e\\xc4\\xae\\x56\\x5c\\xaf\\x5b\\x50\\x1a\\x58\\x28\\x0d\\x2a\\x94\\x76\\xd1\\xa5\\x4d\\x06\\xef\\xe5\\x42\\x69\\x79\\xa1\\xb4\\xa2\\x50\\x7a\\xc5\\x94\\xe2\\x7a\\x5e\\xe5\\xe2\\x7d\\x5d\\xfe\\x40\\xbc\\x5a\\xf8\\xec\\xb5\\x42\\x69\\x65\\xa4\\xd7\\xeb\\x41\\x59\\xef\\x83\\x38\\x5d\\x6f\\xf6\\x57\\x6f\\x6b\\x80\\x5e\\xfd\\x38\\x5d\\x97\\xe8\\xab\\xe5\\x06\\xb1\\xaa\\x30\\x6a\\xb5\\x29\\x05\\x7d\\xfa\\x5a\\xbb\\x24\\x7a\\xeb\\xbd\\xb4\\x89\\x7e\\x90\\xe8\\x63\\x50\\xd6\\x14\\x7a\\xad\\x2d\\x94\\xde\\x28\\x94\\xde\\x2c\\x94\\xd6\\x15\\x4a\\x6f\\x15\\x4a\\x6f\\x17\\x4a\\xef\\x14\\x4a\\xeb\\x4d\\xc9\\xd6\\x48\\x03\\xcd\\xef\\xa1\\x0e\\xd5\\x6b\\x38\\x4c\\x3c\\xaf\\x31\\x37\\x6b\\x6b\\x9f\\x37\\xd8\\x9b\\xc5\\x32\\x9d\\x7f\\xa6\\xeb\\xcb\\x4c\\xfd\\x33\\xf1\\xae\\x99\\xcb\\x73\\x5a\\x6e\\x16\\xcf\\x6a\\xf9\\x99\\xd1\\xf5\\x1e\\x66\\x6b\\xd3\\xb7\\xe8\\x3b\\xc1\\x4f\\xe0\\x32\\xae\\xf7\\xbe\\xd0\\xab\\x96\\x60\\xbd\\x59\\x6f\\xcb\\xfc\\x0a\\x83\\xd5\\x37\\xf8\\x15\\x06\\xab\\x3f\\xdb\\x85\\x0d\\xb6\\x06\\x98\\xbd\\x14\\xd7\\xf9\\xde\\x5a\\xc3\\xc1\\x66\\xf7\\xb0\\x60\\x0f\\x98\\xdf\\x73\\x28\\x63\\x03\\xd8\\xee\\xc1\\xee\\x35\\xbf\\xff\\xf0\\x49\\xb0\\xf3\\x74\\xfb\\xee\\x96\\x25\\x2e\\x11\\x97\\x58\\x7b\\x88\\xc7\\xc5\\xd3\\xd6\\x9e\\x7a\\x3f\\x4c\\xd6\\x63\\xfa\\xc6\\xf6\\x8e\\x2b\\xe2\\xd3\\x71\\xd6\\x10\\xeb\\x50\\xbd\\x2f\\x86\\x5b\\xa3\\xad\\x93\\xf4\\x77\\x65\\xb2\\xd5\\x62\\x9d\\x61\\x9d\\x6b\\x5d\\x64\\x5d\\xa9\\x77\\xc7\\x0d\\xd6\\x7c\\xab\\xc3\\xba\\xc7\\x7a\\xd0\\x7a\\xdc\\x7a\\x46\\xef\\x92\\x55\\xd6\\xdb\\xd6\\x46\\x6b\\xb3\\xde\\x2b\\x3c\\x56\\x2e\\x8f\\xb3\\x48\\xfc\\xd6\\xf8\\xad\\x72\\xb4\\xc9\\xe7\\xcb\\x1f\\x98\\xfc\\x16\\x79\\xac\\xc9\\xe7\\xc9\\x51\\x26\\xbf\\x59\\x1e\\xa3\\xf3\\xf9\\xba\\xdf\\x08\\x93\\xcf\\x97\\x47\\x9b\\xfc\\x16\\x39\\xdc\\xe4\\xf3\\xe4\\x51\\x26\\xbf\\x59\\x1e\\xa1\\xf3\\x5b\\x74\\x3f\\xdf\\xe4\\xf3\\xa5\\x67\\xf2\\x5b\\x64\\x8d\\xc9\\xe7\\xc9\\x6a\\x93\\xdf\\x2c\\x2b\\x75\\x3e\\x4f\\xf7\\x3b\\xdc\\xe4\\xf3\\xe5\\xf7\\x4d\\x7e\\x8b\\x3c\\xcc\\xe4\\xf3\\xe4\\xf7\\x4c\\x7e\\xb3\\x1c\\xa6\\xf3\\x9b\\x75\\xbf\\xef\\x9a\\x7c\\xbe\\x3c\\xd4\\xe4\\xb7\\xc8\\xac\\xc9\\xe7\\xc9\\x91\\x56\\x5c\\xb7\\x8e\\xd1\\xf2\\x56\\x59\\xa5\\xe5\\x3c\\x79\\xa4\\x96\\xb7\\xfc\\x1b\\x1e\\x69\\x86\\x47\\x9a\\xe0\\x91\\x46\\x78\\xa4\\x01\\x1e\\x99\\x02\\x8f\\xd4\\xc3\\x23\\x75\\xf0\\xc8\\x24\\x78\\x64\\x22\\x3c\\x92\\x87\\x47\\x26\\xc0\\x23\\xe3\\xe1\\x91\\x1c\\x3c\\x72\\x3a\\x3c\\x72\\x1a\\x3c\\x72\\x2a\\x3c\\x72\\x0a\\x3c\\x72\\x32\\x3c\\xf2\\x43\\x78\\xe2\\x44\\x78\\x62\\x1c\\x3c\\x71\\x02\\x3c\\x71\\x3c\\x3c\\x31\\xd6\\xe4\\x37\\xcb\\xa9\\xc6\\x17\\xb5\\x81\\x17\\xe4\\x49\\x5a\\xde\\x2c\\x27\\x07\\x3e\\xfa\\x37\\x3c\\xf2\\x33\\x78\\xe4\\x22\\x78\\xe4\\xa7\\xf0\\xc8\\x85\\xf0\\xc8\\x05\\xf0\\xc8\\x4f\\xe0\\x91\\xf3\\xe0\\x91\\x1f\\xc3\\x23\\xe7\\xc2\\x23\\x3f\\x82\\x47\\xe6\\xc0\\x23\\xe7\\xc0\\x23\\xb3\\xe1\\x89\\xb3\\xe1\\x89\\x33\\xe1\\x89\\x33\\xe0\\x89\\x59\\xf0\\xc4\\x4c\\xec\\x8d\\x19\\xf0\\x48\\x3b\\x3c\\xd2\\x06\\x8f\\xb4\\xc2\\x23\\x2d\\xf0\\xc8\\x34\\x78\\xe4\\x7c\\xb3\\x47\\x2e\\x36\\x7e\\x99\\x6e\\x3c\\x72\\x56\\xb0\\x53\\xfe\\x0d\\x8f\\xdc\\x0c\\x8f\\xdc\\x04\\x8f\\xfc\\x01\\x1e\\xb9\\x11\\x1e\\xf9\\x3d\\x3c\\x72\\x03\\x3c\\xf2\\x3b\\x78\\xe2\\x7a\\x78\\xe2\\xb7\\xf0\\xc4\\x6f\\xe0\\x89\\x6b\\xe1\\x89\\x5f\\x63\\x6f\\xcc\\x85\\x47\\x7e\\x05\\x8f\\xfc\\x12\\x1e\\xb9\\x1a\\x1e\\xf9\\x05\\x3c\\x72\\x15\\x3c\\xf2\\x73\\x78\\xe4\\x0a\\x78\\xe4\\x72\\x78\\xe4\\x32\\x78\\xe4\\x52\\x78\\xe4\\x12\\x78\\xe4\\x3a\\xb3\\x3b\\xe6\\x19\\x8f\\x5c\\x69\\x3c\\x72\\xcd\\xbf\\xe9\\x91\\x87\\xe1\\x89\\x87\\xe0\\x89\\x07\\xe1\\x89\\x07\\xe0\\x89\\x7f\\xc2\\x13\\xf7\\x61\\x6f\\xfc\\x03\\x1e\\xb9\\x17\\x1e\\xf9\\x3b\\x3c\\xf2\\x37\\x78\\xe4\\x6e\\x78\\xe4\\xaf\\xf0\\xc8\\x5d\\xf0\\xc8\\x5f\\xe0\\x91\\x3b\\xe1\\x91\\x0e\\x78\\xe4\\xcf\\xf0\\xc8\\x1d\\xf0\\xc8\\x9f\\xe0\\x91\\x3f\\xc2\\x23\\xb7\\xc1\\x23\\xb7\\xc2\\x23\\xf3\\xe1\\x91\\x5b\\xe0\\x91\\x7b\\x8c\\x47\\xee\\x37\\x3b\\xe5\\x76\\xe3\\x91\\x05\\xc6\\x23\\x3a\\x5e\\x08\\xc6\\x1b\\x86\\x1f\\x1e\\x5c\\x73\\xf5\\x55\\xfb\\x60\\xcd\\x17\\x87\\x83\\xe1\\x5e\\x34\\x3c\\xf6\\x82\\x96\\xef\\x1b\\x3e\\xd8\\xa0\\x4b\\x9f\\x98\\xd2\\x07\\x85\\xd2\\xc6\\x42\\x69\\x11\\xfa\\x45\\xaf\\xf5\\xc5\\x18\\xe7\\xa6\\xed\\xc4\\x38\\x7d\\x7b\\x8c\\x71\\xac\\x1d\\x8c\\x71\\xc8\\x14\\x1d\\x2c\\x5a\\x03\\x8c\\x1c\\x1c\\x9c\\x97\\x35\\xef\\x05\\xb8\\xfd\\x80\\x6e\\x69\\x8d\\x5f\\xf5\\x2b\\x90\\x83\\xf5\\xac\\x0f\\xd3\\xd1\\xcd\\x48\\x1d\\x7d\\x9c\\x6a\\x4d\\xb4\\x9a\\xac\\xb3\\xf4\\xce\\xb8\\x46\\x5b\\x7d\\xbb\\x75\\x97\\x75\\x9f\\xf5\\x9c\\xf5\\xaa\\xb5\\x45\\xef\\x85\\xde\\xb1\\x5d\\x74\\x04\\xb2\\x5f\\xec\\x90\\x58\\x2a\\x76\\x98\\xd6\\x29\\x75\\xe4\\xd2\\x37\\x8c\\x7d\\xc4\\x40\\x13\\xd7\\xc4\\x12\\x77\\xeb\\xba\\xad\\xf3\\x35\\x61\\x7b\\x59\\x02\\xf9\\xcb\\x61\\xde\\x6f\\x6e\\x18\\xff\\xec\\xfa\\xe8\\xc0\\x81\\x03\\x27\\x0f\\xbc\\x37\\xac\\x0d\\xb2\\x06\\xcd\\x1c\\xb4\\x79\\xf0\\x59\\x61\\x6d\\xf0\\x1b\\xbb\\x65\\x76\\xbb\\x68\\xb7\\x15\\x61\\x6d\\xc8\\x5e\\x43\\x6e\\xd8\\x7d\\xf0\\xee\\xd7\\x86\\xe3\\xf7\\xe0\\x61\\xbe\\xd7\\x7d\\x61\\xbe\\xcf\\x64\\xd3\\x4b\\xec\\xb7\\xcb\\x7e\\xe7\\xed\\xf7\\xea\\xb7\\x32\\xdf\\xba\\xf2\\x5b\\xeb\\xf7\\xf7\\xf7\\xbf\\xde\\xb4\\xc6\\xf7\\x5f\\x71\\x40\\xc2\\x94\\x7a\\x1d\\x70\\xc8\\x01\\xa7\\x1e\\x70\\xe9\\x01\\xf7\\x1d\\xf0\\xde\\x81\\x7b\\x1c\\x38\\xf2\\xc0\\xd9\\x07\\xde\\x7e\\xe0\\xab\\x07\\xf5\\x3e\\xe8\\xb0\\x83\\x9a\\xf4\\x3c\\x74\\x8f\\x83\\x66\\x9b\\xc8\\x2e\\x96\\xdd\\x1c\\xea\\x3d\\x34\\x1e\\xe6\\xc3\\x6e\\x0f\\xf3\\xc3\\x9b\\xc2\\xbc\\x7a\\x7e\\xd8\\xef\\x88\\xc9\\x66\\x2d\\x62\\x47\\xb4\\xa0\\x7e\\x9e\\xfe\\xb2\\xcc\\xd7\\x1e\\xb6\\xac\\x0a\\xf3\\x5b\\xc6\\x0d\\xd6\\xd2\\xd8\\xec\\xf8\\x21\\xf1\\x94\\xb5\\xd4\\x6a\\x88\\xaf\\x24\\x6f\\x5b\\x0d\\x74\\x44\\x7c\\xa5\\x8e\\xae\\x97\\xc6\\x0f\\xb1\\x1a\\xb8\\xfe\\x2f\\xe8\\x13\\x7c\\x66\\xe4\\x21\\xe1\\xff\\x18\\xdb\\x60\\x7a\\x2d\\x8d\\xaf\\x0c\\x3e\\x0d\\x5b\\xc3\\xb1\\x41\\x9b\\xae\\xf5\\x65\\xe5\\x9d\\x2f\\x74\\xbe\\xc0\\xfa\\x1b\\xb9\\xab\\x91\\x83\\x02\\x29\\x1e\\x33\\x72\\xa9\\x91\\xcf\\x1a\\xf9\\x9c\\x91\\xcb\\x8c\\x7c\\xde\\xc8\\x35\\x46\\xbe\\x63\\xe4\\xbb\\x81\\x4c\\xf4\\x36\\xb2\\x8f\\x91\\x3b\\x07\\xd2\\xda\\x9d\\xc5\\x3a\\x1f\\xea\\x7c\\x88\\xc5\\x3b\\xe7\\x76\\xce\\x65\\xd4\\x94\\xb9\\x75\\x80\\x75\\x00\\xb3\\x4d\\x39\\x61\\x64\\x99\\x91\\xbd\\x8c\\xec\\x6d\\x64\\x3f\\x23\\x77\\x32\\x72\\x80\\x91\\x83\\x03\\x29\\x16\\x1b\\xb9\\xc4\\xc8\\x27\\x8d\\x7c\\xda\\xc8\\x57\\x8c\\x5c\\x69\\xe4\\x6a\\x23\\xdf\\x34\\x72\\x9d\\x91\\x6f\\x19\\xf9\\x9e\\x91\\x1b\\x8c\\xfc\\xc0\\xc8\\x8d\\x81\\x4c\\xf4\\x35\\xd2\\x20\\x1a\\x7b\\x03\\x2f\\xc4\\x3b\\xd7\\x77\\xae\\x67\\xc4\\x58\\x4a\\x4d\\x8b\\x6d\\x64\\xc2\\xc8\\x32\\x23\\x7b\\x19\\x69\\xe6\\xac\\xed\\x0d\\xe4\\x4e\\x46\\x0e\\x30\\x72\\xb0\\xf1\\xcb\\x62\\x23\\x97\\x18\\xf9\\xa4\\x91\\x4f\\x1b\\xf9\\x8a\\x91\\x2b\\x8d\\x5c\\x6d\\xe4\\x9b\\x46\\xae\\x33\\xf2\\x2d\\x23\\xdf\\x33\\x72\\x83\\x91\\x1f\\x18\\xb9\\xd1\\x78\\xb6\\xaf\\x91\\x06\\x51\\xc7\\x79\\x71\\x93\\x0f\\x29\\xd8\\x1d\\xc8\\xff\\x66\\x8b\\x0f\\xde\\x21\\x4b\\xcb\\x8d\\xff\\xb7\\xb6\\xb7\\xbf\\x69\\x8f\\x5a\\xbd\\xab\\x69\\x19\\x64\\xe4\\x60\\xec\\x5d\\x5d\\xee\\x36\\x8f\\xa5\\xa6\\x25\\x3a\\x9b\\x67\\x4d\\xcb\\x73\\x46\\x2e\\x33\\xf2\\x79\\x23\\xb7\\x9e\\xe5\\x1a\\xd3\\xbe\\xf5\\x5c\\xdf\\x31\\xed\\xef\\x1a\\xb9\\xad\\x79\\xf7\\x0e\\x3e\\xd5\\xdf\\x87\\x40\\x46\\x7c\\xa0\\xbf\\x1b\\xba\\xc5\\x7c\\xfb\\x02\\xab\\xc3\\x39\\x45\\xe6\\x81\\x19\\x84\\x56\\x6f\\xcb\\xd2\\xd0\\xae\\x88\\x15\\xdd\\xd0\\x42\\x84\\x60\\x57\\x04\\x5a\\xa9\\x91\\x5d\\xdf\\xbb\\xa0\\x9c\\x30\\xb2\\x0c\\x5e\\x0e\\xa4\\x19\\xad\\xbd\\x1c\\xfa\\x37\\x90\\x03\\xe0\\xd3\\xd0\\x9b\\x81\\x5c\\x02\\x3f\\x06\\xf2\\x69\\xf8\\x2b\\x90\\x2b\\x8d\\x5c\\x0d\\x4f\\x05\\x72\\x9d\\x91\\x6f\\xc1\\x3b\\x81\\xdc\\x60\\xe4\\x07\\x46\\x6e\\x84\\x47\\x02\\x69\\x10\\xad\\x6f\\x6f\\x73\\x57\\x08\\xd8\\xfb\\xff\\xaf\\xbd\\xb1\\x1b\\xfc\\xf1\\xdf\\xfc\\x4d\\x8e\\x59\\x15\\x85\\x5f\\x18\\xe4\\x91\\xdf\\x16\\xec\\x6d\\x7e\\x57\\x70\\x27\\xb6\\x33\\x7e\\x4f\\x70\\x08\\xdb\\xdd\\xfc\\x6e\\x51\\xf0\\xab\\x45\\xc1\\x6f\\x16\\x95\\xfe\\x62\\xd1\\x0a\\xb1\\x52\\xac\\x12\\x6b\\xc4\\x3a\\xfc\\x32\\xd1\\x86\\xc2\\xaf\\xcb\\x98\\xbb\\x3f\\xf1\\xab\\xe3\\x4d\\x5a\\x5e\\xab\\x23\\x8d\\x11\\x3a\\xca\\xbc\\x5e\\xc7\\x13\\xb7\\xe9\\x38\\xf3\\x6e\\x1d\\x51\\x3c\\xac\\x23\\xcd\\xa7\\xac\\xe7\\xad\\x15\\x3a\\xd6\\x5c\\x67\\xbd\\x67\\x6d\\xea\\x8a\\x36\\x63\\xfd\\x63\\x03\\x75\\x8c\\xb1\\x6f\\xec\\xc0\\xd8\\x50\\x1d\\x65\\x0c\\x8b\\x55\\xc5\\x8e\\x8c\\x8d\\x8c\\x8d\\x89\\x9d\\x14\\x3b\\x3d\\x36\\x31\\xd6\\x10\\x6b\\x89\\xcd\\x8c\\xcd\\x8e\\x9d\\x17\\xbb\\x28\\x76\\x79\\xec\\xea\\xd8\\xb5\\xb1\\x1b\\x62\\xf3\\x62\\xb7\\xc7\\x16\\xc4\\xee\\x89\\xdd\\x1f\\x7b\\x34\\xb6\\x38\\xf6\\x4c\\xec\\xc5\\xd8\\xab\\xb1\\x35\\xb1\\xb7\\x63\\x1b\\x62\\x1f\\xc7\\xbe\\x88\\xc7\\xe3\\x22\\xde\\x3b\\x3e\\x20\\x3e\\x38\\xbe\\x57\\x7c\\xbf\\xf8\\xc1\\x71\\x27\\x9e\\x89\\x1f\\x16\\xaf\\x89\\x0f\\x8f\\x1f\\x1b\\x3f\\x3e\\x7e\\xb2\\xf6\\xc5\\x30\\x76\\x75\\x89\\xb4\\x8a\\xe5\\xd8\\xc1\\xa5\\x2d\\x3d\\xf4\\x34\\xb2\\x73\\x76\\xcf\\x1a\\xb6\\xd9\\xb2\\x95\\x86\\x1e\\x5a\\xa2\\xed\\xc7\\x46\\x64\\x2d\\xfb\\xdd\\x76\\xf4\\x6f\\xcb\\x9e\\xa8\\xb5\\x77\\x6c\\x55\\xde\\xda\\xb6\\xed\\xdb\\xbf\\xad\\x96\\x28\\xfa\\xd6\\xf3\\xda\\xae\\xcd\\x5f\\x21\\x4d\\xcf\\x2d\\xcf\\x15\\x65\\xe4\\x53\\x1d\\xb3\\x77\\xbb\\x9b\\xb2\\x48\\x47\\xe4\\x7b\\x9a\\x7b\\x2a\\x7b\\xe9\\x7d\\xbb\\xd1\\xda\\x5f\\xef\\xcd\\x7e\\xd6\\x91\\x41\\xac\\x46\\x3f\\xb0\\xc2\\x3b\\x7d\\xe1\\xc8\\xe0\\x8e\\xe8\\x40\\x2b\\xb8\\x37\\x17\\x46\\xcc\\xfd\\xd1\\x47\\x47\\x80\\x5a\\xa3\\x8e\\xb5\\xf5\\x77\\x64\\xb0\\x8e\\xeb\\xf5\\xb7\\xc1\\x1a\\x6c\\x34\\x06\\x77\\x33\\x87\\x58\\x7a\\x87\\xeb\\x13\\x43\\x70\\x0f\\x4f\\x47\\x86\\xf1\\x71\\xc6\\x92\\x98\\xc6\\x0e\\x46\\x7f\\xd6\\x0d\\x21\\x66\\x3d\\x6a\\x5d\\xa7\\xe5\\x62\\xdd\\xbb\\xbf\\xb5\\x9f\\x3e\\x65\\x38\\x56\\x46\\x47\\xdc\\x35\\xfa\\xdc\\x71\\xac\\x8e\\xb9\\x4f\\xd6\\x27\\x84\\x3a\\xf3\\x4b\\xf4\\x67\\x58\\x73\\xac\\xf3\\xad\\x8b\\xb5\\xbe\\x47\\xe3\\xe3\\xb4\\x7c\\x39\\xde\\xa0\\x7d\\xb9\\x34\\x7e\\xaf\\x2e\\xbf\\x47\\x02\\xeb\\x67\\xc6\\x87\\x74\\xb5\\x74\\x2e\\x25\\xa3\\xbb\\x64\\x7c\\x9c\\xe9\\x3f\\x34\\xa6\\x67\\x12\\xbb\\xdc\\x94\\x3b\\x02\\xa9\\xcb\\x57\\x69\\x79\\x77\\xfc\\x29\\x2d\\xe7\\x06\\x2d\\xa4\\x3c\\x90\\x74\\x70\\x51\\x5a\\xfd\\x99\\xcd\\x7a\\xb1\\x3e\\xac\\xbf\\xfe\\xe6\\x9b\\xdf\\x10\\xd5\\x3e\\x2c\\xfe\\x5e\\x19\\xbe\\xf9\\x66\\x5e\\x9b\\x0a\\xf3\\xda\\x23\\xb0\\x80\\x7e\\x4c\\x97\\x5a\\x71\\x36\\x24\\xf8\\x86\\xc7\\x9c\\x58\\x26\\x76\\x58\\xac\\x26\\x36\\x3c\\x76\\x6c\\xec\\xf8\\xd8\\xc9\\xb1\\xf1\\xb1\\xba\\x58\\x53\\xac\\x2d\\x76\\x46\\x6c\\x4e\\xec\\xfc\\xd8\\xc5\\xb1\\x2b\\x63\\xd7\\xc4\\xae\\x8b\\xdd\\x18\\x9b\\x1f\\xbb\\x23\\x76\\x57\\xec\\xde\\xd8\\x83\\xb1\\x45\\xb1\\xa5\\xb1\\xe7\\x62\\x2f\\xc7\\x56\\xc6\\xde\\x88\\xad\\x8f\\x6d\\x8c\\x7d\\x1a\\xdb\\x12\\xa7\\xf1\\x44\\xbc\\x6f\\x7c\\x97\\xf8\\x90\\xf8\\xde\\xf1\\xfd\\x75\\x44\\xac\\xe2\\x87\\xc6\\x0f\\x8f\\xfb\\xf1\\x11\\xf1\\xd1\\x7a\\x8e\\xa7\\xc6\\x6b\\xe3\\x93\\xe3\\x53\\xe3\\xd3\\xe3\\x67\\xc5\\xcf\\x8d\\x5f\\x18\\xbf\\x34\\x7e\\x55\\x7c\\x6e\\xfc\\xfa\\xf8\\x4d\\xf1\\xdb\\xf4\\x7c\\xef\\x8e\\xdf\\x17\\x7f\\x38\\xfe\\x78\\xfc\\xa9\\xf8\\xf3\\xf1\\x15\\xf1\\x55\\xf1\\x75\\xf1\\xf7\\xe2\\x9b\\xe2\\x9b\\x89\\x45\\x38\\x29\\x27\\xfd\\xc9\\x40\\xb2\\x07\\xd9\\x97\\x1c\\x48\\x86\\x92\\x14\\x19\\x46\\xaa\\xc8\\x91\\x64\\x24\\x19\\x43\\x4e\\x22\\xa7\\x93\\x89\\xa4\\x81\\xb4\\x90\\x99\\x64\\x36\\x39\\x8f\\x5c\\x44\\x2e\\x27\\x57\\x93\\x6b\\xc9\\x0d\\x64\\x1e\\xb9\\x9d\\x2c\\x20\\xf7\\x90\\xfb\\xc9\\xa3\\x64\\x31\\x79\\x86\\xbc\\x48\\x5e\\x25\\x6b\\xc8\\xdb\\x64\\x03\\xf9\\x98\\x7c\\x41\\xe3\\x54\\xd0\\xde\\x74\\x00\\x1d\\x4c\\xf7\\xa2\\xfb\\xd1\\x83\\xa9\\x43\\x33\\xf4\\x30\\x5a\\x43\\x87\\xd3\\x63\\xe9\\xf1\\xf4\\x64\\x3a\\x9e\\xd6\\xd1\\x26\\xda\\x46\\xcf\\xa0\\x73\\xe8\\xf9\\xf4\\x62\\x7a\\x25\\xbd\\x86\\x5e\\x47\\x6f\\xa4\\xf3\\xe9\\x1d\\xf4\\x2e\\xaa\\xbd\\x47\\x4e\\x66\\x7e\\x20\\xf9\\x8d\\x7a\\xb5\\xa6\\x07\\xe5\\xf8\\xf4\\xa0\\x1c\\xdb\\x12\\x94\\x63\\x5b\\x4c\\xfb\\x3c\\xd3\\x3e\\xcf\\x94\\xd7\\x98\\xf2\\x1a\\xd3\\xe7\\x41\\xd3\\xe7\\x41\\xd3\\x2e\\x4c\\xbb\\x08\\xca\\xa4\\xdc\\xe8\\x2c\\x2f\\x2d\\x77\\xeb\\x3f\\xd4\\xf4\\x1f\\x5a\\x5a\\xde\\xd6\\x58\\xf2\\x9c\\x29\\x3f\\x57\\xaa\\x27\\xb6\\xd8\\x94\\x17\\x9b\\x3e\\xca\\xf4\\x51\\x46\\xe7\\xa7\\x46\\xe7\\xa7\\xa5\\x36\\x77\\x2b\\x47\\xe7\\xf5\\x94\\x29\\x3f\\xb5\\x55\\x39\\x6a\\xdb\\xfd\\x46\\xff\\xfd\\xa6\\xbc\\x97\\x29\\xef\\xb5\\x15\\xd6\\xb6\\xca\\xe3\\x4c\\x79\\x5c\\x69\\x7b\\x37\\xff\\x6f\\xc3\\xcf\\x3b\\xe2\\x9f\\x6e\\x7d\\x22\\xb6\\x75\\xb3\\x79\\x47\\xca\\x11\\x7b\\xb6\\x55\\xfe\\x4f\\xec\\x93\\xaf\\xbd\\x37\\xa2\\xfb\\x61\\x5b\\x7b\\x60\\x5b\\xeb\\xfe\\x6f\\xac\\x75\\x6c\\x65\\x51\\x76\\xad\\xb2\\x91\\x57\\x15\\x25\\x39\\x30\\x22\\x77\\x60\\xbd\\x22\\xe5\\x1d\\x67\\x90\\x7e\\x85\\xdf\\x82\\x0e\\x7e\\x09\\xfa\\x39\\xf3\\x0b\\xd0\\x2f\\xd1\\x95\\xe6\\xf7\\x9e\\xdf\\xa4\\x9f\\xd0\\x2f\\xc4\\x42\\x73\\xff\\xc5\\xd7\\x29\\x78\\x86\\x35\\x5a\\xa7\\x71\\x3a\\x9d\\xaa\\x53\\xad\\x4e\\x93\\x75\\x9a\\xaa\\xd3\\x74\\x9d\\xce\\xd2\\xe9\\x5c\\x9d\\x2e\\xd4\\xe9\\x52\\x9d\\xae\\xd2\\x69\\xae\\xc6\\xb8\\x5e\\xe7\\x37\\x05\\xd7\\xef\\xc0\\x3e\\xeb\\x62\\xe3\\xe5\\xc3\\x8d\\xbc\\xdd\\xb4\\x5c\\x5f\\x94\\x61\\xbb\\x8e\\x0c\\x02\\xb9\\x60\\x2b\\xb9\\xa8\\xa8\\x41\\xb7\\x34\\x99\\x51\\x01\\x27\\x2d\\xe2\\xbd\\x4d\\xcb\\xd5\\x85\\xeb\\xf8\\x21\\xff\\xf7\\x3a\\xfe\\xaf\\x5c\\xc7\\x35\\x47\\x5b\\x05\\x39\\x34\\x90\\xb1\\x4d\\x46\\xde\\x58\\x94\\xf1\\x97\\x23\\x72\\x5c\\x51\\x5a\\x8b\\x8c\\xbc\\xde\\xc8\\x0d\\x45\\x19\\xed\\xd3\\x43\\x7f\\x23\\x35\\xd7\\x17\\x65\\x5d\\x44\\x9e\\x55\\x94\\xf1\\xe9\\x11\\x19\\xd1\\xb3\\xe5\\xb6\\x22\\x6e\\xec\\xe0\\xa2\\xec\\x36\\x97\\x39\\x45\\x89\\x19\\x6d\\x25\\xc9\\xc9\\xa6\\x9c\\x2a\\x6d\\x8f\\x7f\\x5a\\xf4\\x06\\x29\\x8f\\xb4\\xdf\\x1b\\x91\\x57\\x15\\xe5\\xb6\\xf4\\x77\\xd3\\x59\\x13\\x91\\x43\\x22\\xed\\x51\\x9b\\xb7\\xe1\\xe7\\x1d\\xf1\\x4f\\x37\\x3b\\x23\\xb6\\x75\\xb3\\x79\\x07\\x64\\xb8\\x3a\\xe1\\xdc\\xa3\\xe5\\xa8\\x9d\\xdd\\x66\\xb7\\xe3\\xfb\\x64\\xd1\\xf6\\xf6\\xc9\\xd7\\xde\\x1b\\x51\\xff\\x6c\\x63\\x0f\\xec\\xd0\\xba\\x7c\\x5a\\xd4\\xb3\\x23\\x6b\\xdd\\xcd\\xce\\xa8\\xb6\\xa8\\x9d\\xd1\\xf6\\xd0\\xe6\\xc5\\x5b\\x95\\x07\\xf6\\x28\\x77\\xfc\\x3a\\x3e\\x98\\x3e\\x46\\x97\\xd2\\x67\\xbb\\xfd\\x72\\xff\\xaa\\x1e\\x7e\\xab\\xff\\x43\\xfa\\x11\\xfd\\x92\\x76\\x86\\xbf\\x94\\x6a\\x0d\\xb6\\x76\\xe4\\x0a\\x6e\\xe1\\x0a\\x6e\\x59\\xc1\\x37\\xad\\x43\\xa7\\xbb\\x75\\xba\\x4f\\xa7\\x87\\x75\\x7a\\x5c\\xa7\\xa7\\x74\\x7a\\x5e\\xa7\\x15\\x3a\\xad\\xd2\\xd6\\xac\\xd3\\xf9\\x7b\\x3a\\x05\\x73\\xde\\x1c\\x38\\x48\\xc7\\xf6\\x17\\x5a\\x03\\x8c\\x0c\\xca\\xa7\\xa3\\x5c\\x94\\x77\\x44\\x3e\\xbd\\x16\\xb2\\xf8\\xe9\\xb5\\x91\\x3e\\x77\\x6c\\xd5\\xbf\\x4b\\x96\\xb6\\x5c\\x89\\xb1\\x41\\xb9\\x4d\\x9f\\x53\\x34\\x43\\x98\\xf2\\x2a\\xd3\\x5e\\x94\\xc4\\x9c\\x81\\x62\\x41\\xdd\\xf4\\xb2\\xac\\x9d\\xb4\\x8c\\xd3\\x4f\\x34\\xf7\\x6d\\xe3\\xc9\\xb6\\xd5\\x7b\\x7b\\xbc\\xa9\\x35\\xc6\\xb5\\xc6\\x61\\x46\\xa7\\x55\\xa2\\xf1\\xab\\xc6\\xf6\\x8c\\xf8\\x15\\x36\\x9a\\x9d\\x61\\x99\\x3d\\x11\\x33\\x7b\\xe2\\x1b\\xff\\x69\\x1b\\x7b\\x40\\x0c\\x6c\\x1c\\x0e\\x1b\\x4f\\x37\\x1a\\x83\\xd2\\xa0\\xaf\\xb1\\x33\\xbb\\xf6\\xe5\\xb6\\xbc\\x9e\\xe8\\x49\\xd7\\xff\\x00\\x6e\\x9f\\xaf\\x18\\xf7\\x7f\\xd4\\x82\\x1e\\xd7\\xf2\\xff\\x7d\\x0b\\xb6\\xe5\\xfb\\xb8\\xa5\\xba\\xed\\xa2\\x9d\\xbf\\x72\\xf7\\x6c\\xff\\xbb\\x15\\xcc\\x44\\x61\\x26\\xc3\\x77\\x50\\xe3\\xb6\\xd6\\x2d\\xc4\\xf9\\x37\\x6d\\xdc\\xc6\\x4e\\xff\\x17\\x6c\\xec\\xd1\\xaf\\x45\\x1b\\x87\\x5b\\x0d\\x11\\x1b\\x77\\xf9\\x17\\xd7\\xef\\xab\\xf7\\xca\\xb6\\xfc\\x1e\\x58\\x30\\xfe\\xff\\x88\\x05\\x3d\\xef\\x95\\xed\\xe1\\xfe\\x8f\\xcd\\xbc\\xc7\\xd5\\xfc\\x1f\\x98\\x79\\x4f\\x6b\\x8f\\xbb\\xca\\xd7\\xff\\x77\\xdf\\x55\\x8e\\x1d\\x6c\\xce\\x5b\\x1b\\x22\\xf2\\xe2\\x62\\x39\\x46\\x4b\\x5b\\x7a\\x68\\x37\\xe7\\xb6\\xce\\xf5\\xa5\\x1a\\xd0\\x67\\x43\\xe4\\x6c\\xb7\\x68\\x1b\\x58\\x17\\x6f\\xa3\\x65\\x51\\x51\\xcf\\xb6\\xe4\\xd6\\x36\\x6f\\xcb\\x9e\\x6e\\xe7\\xcb\\xfd\\xb7\\x2a\\x6f\\xd8\\xae\\xdc\\xae\\x4f\\xb6\\xe9\\x8d\\x8b\\x77\\x60\\xee\\xdb\\x98\\xb5\\x55\\xbb\\x95\\xf7\\x4c\\xb9\\x73\\x44\\x51\\x46\\x46\\xed\\x78\\x2c\\x49\\xe8\\xd3\\xf4\\x75\\xfa\\x86\\x79\\x03\\xb0\\xb7\\x61\\x12\\x4b\\x47\\x8a\\xc1\\xfd\\x5f\\xbf\\xbb\\xc4\\xfe\\xbd\\xee\\xbf\\x7b\\xff\\xd2\\x3b\\xc2\\x7b\\x3c\\xe1\\xdd\\x11\\x53\\x3e\\x2f\\x90\\x34\\x63\\x56\\xa6\\x2e\\xbc\\x93\\x64\\x5a\\x4e\\x2f\\xca\\xb0\\x9d\\x4c\\x35\\xf2\\xc8\\xc8\\xa8\\x0b\\x8b\\x12\\x63\\x87\\x46\\xc6\\xf6\\x35\\x72\\xdf\\xa2\\x0c\\xef\\x00\\x51\\x1e\\x69\\x31\\xf7\\xc0\\x98\\xb9\\xa3\\x41\\xdb\\x8a\\xb6\\x75\\x93\\xeb\\x8a\\x65\\xd8\\x1f\\xb1\\x79\\x6b\\x7b\\x42\\x9d\\xa1\\x36\\x7e\\x78\\x51\\x7f\\xb4\\x1c\\xea\\x89\\xca\\x1d\\xf7\\xc9\\xf6\\xbd\\xd1\\xcd\\x03\\x91\\xb9\\x6f\\x7f\\xd6\\xe1\\xfd\\x36\\xcc\\xf7\\xc8\\x48\\xcf\\xf3\\x22\\x72\\x6a\\x41\\xee\\xf8\\xfe\\x8d\\xd3\\x65\\xf4\\x45\\xf3\\x7e\\x76\\xc2\\x0a\\xdf\\x19\\x1a\\x56\\xfc\\xbe\\xfc\\x2f\\xd9\\xb3\\xfb\\x9a\\x13\\xe8\\x91\\xe6\\xa4\\x39\\xc7\\xc8\\xa7\\x4c\\xcb\\xfd\\x86\\xa1\\x16\\x14\\x4f\\xcd\\xe4\\x8b\\xa2\\x0c\\xdb\\x69\\xa6\\x78\\x92\\x0d\\xcf\\xb0\\x61\\x4b\\x28\\x71\\x0e\\x35\\xa7\\x4e\\xb2\\xce\\x48\\x73\\xdf\\x23\\x78\\xdd\\xa7\\x4b\\x7f\\x7c\\x8d\\x29\\xef\\x15\\x39\\x59\\x1b\\x6d\\xf4\\x0e\\x23\\xfb\\x16\\x3f\\xed\\x26\\x23\\xda\\x42\\xfb\\xa3\\x36\\x6f\\x6d\\x0f\\x74\\xf6\\x8d\\x68\\xde\\x5a\\xee\\x5b\\x2a\\x77\\xdc\\x27\\xdb\\xf4\\xc6\\xbe\\xa5\\x1e\\x88\\xce\\x7d\\xfb\\xb3\\x0e\\x75\\xc2\\x86\\x4f\\x23\\xa3\\xca\\x7b\\xf4\\xf6\\xd7\\xd9\\xb3\\xcf\\xd0\\xb5\\xdd\\xf6\\xac\\x65\\xed\\x6f\\x85\\xef\\xdc\\x85\\x27\\xb5\\xc3\\x22\\xf1\\xc9\\xae\\x85\\x11\\x5f\\x1d\\xf3\\xc4\\xac\\x5d\\xcc\\xd3\\x71\\xc6\\x38\\x93\\xac\\x9c\\xf5\\x65\\x03\\xc5\\x13\\xe6\\x59\\xd8\\x72\\xb1\\x42\\xbc\\x2a\\x5e\\x13\\xaf\\x8b\\x35\\xe2\\x0d\\xb1\\x5e\\xbc\\x1f\\x3c\\xf3\\xd6\\x68\\xc4\\xda\\xc3\\xda\\xd7\\x3a\\x30\\x18\\xd9\\x03\\x5e\\x8c\\xae\\x37\\x72\\xdd\\x7f\\x40\\xf3\\x47\\xff\\x61\\xcd\\xeb\\xff\\x63\\x9a\\xdf\\xfd\\x8f\\x69\\x7e\\xff\\x3f\\xa6\\x79\\xc3\\xbf\\xa0\\x39\\xd8\\x89\\x7b\\x6f\\x63\\x27\\x86\\x7a\\xbf\\xbe\\xc6\\xbd\\xf5\\x4e\\x8f\\x6b\\x4b\\x87\\x40\\xe7\\x40\\xa3\\x6b\\x85\\x91\\xaf\\x58\\x5d\\x4f\\xb9\\x63\\xac\\xff\\x0e\\xf6\\xde\\x14\\xe9\\x1d\\x7a\\xa1\\xcb\\xda\\xe0\\xdb\\xc0\\x4d\\x84\\x1e\\x46\\xe7\\x1f\\x75\\xdb\\x1b\\x3b\\xda\\x7f\\x39\\x56\\xfc\\xeb\\xe9\\xdf\\xf1\\xfe\\xa1\\xfe\\xf7\\x76\\xb8\\xff\\x33\\x5f\\xb3\\xff\\x52\\xec\\xab\\x1d\\xed\\xbf\\x0e\\xbb\\x65\\x47\\xfb\\xaf\\xff\\x9a\\xfd\\x97\\x7e\\xcd\\xfe\\xcf\\x7c\\xcd\\xfe\\xcb\\xbf\\x66\\xff\\x15\\x5f\\xb3\\x7f\\xe1\\xdb\\xd4\\xeb\\x0e\\xf3\\x3e\\x73\\x9d\\xf5\\xb2\\xf5\\x45\\x2c\\x1e\\x1b\\xa2\\xe3\\x85\\x9a\\xd8\\xf1\\xb1\\xda\\xd8\\xfc\\xd8\\xca\\xf8\\x2e\\xf1\\x31\\xf1\\x53\\xe3\\x0d\\xf1\\xe9\\xfa\\xff\\x39\\xf1\\xf9\\xf1\\x05\\xf1\\x2d\\xe4\\x60\\x32\\x92\\xd4\\x91\\xe9\\x46\\x2e\\x20\\x8f\\x93\\xa7\\xe8\\xf1\\xf4\\x6e\\xfa\\x28\\x7d\\x2a\\xf8\\x9c\\x6e\\x66\\x82\\x8d\\x66\\x17\\xb2\\xc7\\xd9\\x26\\xce\\xf9\\x00\\x9d\\xf6\\xe0\\x43\\xe9\\xe6\\xe0\\x7f\\x7e\\x2a\\xaf\\xd3\\xff\\x37\\xf1\\x7b\\x6d\\x6e\\x1f\\x6e\\x5f\\x67\\xdf\\x61\\xdf\\x67\\xaf\\x11\\xbd\\xc5\\x30\\x31\\x5c\\x9c\\x2c\\xce\\x17\\x8b\\xc5\\x16\\x59\\x2b\\x37\\x6a\\x06\\x48\\x25\\x86\\x25\\xfc\\xc4\\xb1\\x89\\x73\\x13\\xd7\\x26\\x3a\\x12\\x0f\\x27\\xde\\x2e\\xdb\\xbf\\x6c\\x74\\xd9\\xb8\\xb2\\xf3\\xcb\\xae\\x2d\\x7b\\xbc\\x6c\\x4d\\xd9\\xe8\\xf2\\x78\\xf9\\x90\\xf2\\xc3\\xca\\x4f\\x2e\\xbf\\xb4\\xfc\\xb6\\xf2\\xbb\\xca\\x57\\x94\\x7f\\xdc\\xcb\\xea\\x95\\xe8\\x35\\xb4\\xd7\\xc4\\x5e\\x33\\x7b\\x9d\\xdb\\xeb\\xc2\\x5e\\xc1\\x7b\\xce\\xfb\\x76\\x2e\\xb0\\x86\\x75\\x2e\\x27\\xdf\\xed\\x5c\\x40\\x6a\\x74\\x3a\\x42\\xa7\\x91\\x3a\\x9d\\xa0\\xdb\\x4e\\xe9\\x0c\\x3c\\x3c\\xa0\\xb3\\xce\\xe2\\x16\\xd1\\xfd\\xd2\\xba\\x94\\xd5\\xe9\\xd0\\xce\\xcb\\xf4\\x98\\x3a\\x7b\\x8d\\xce\\x89\\xd5\\xa7\\x73\\x77\\xab\\x9f\\x4e\\xfb\\xea\\x5a\\xd0\\x6f\\x39\\xfa\\x5d\\x16\\xe9\\x57\\xa7\\xfd\\x17\\x68\\xe8\\xb3\\xe5\\x53\\xab\\x9f\\x4e\\xfb\\xea\\x16\\xa2\\xfb\\x2d\\xd7\\x7d\\x96\\x07\\xf8\\x56\\x3f\\xad\\xa7\\xce\\xea\\xab\\x47\\xf4\\xd3\\xf9\\xee\\x3a\\xed\\xa1\\x53\\xd0\\xcf\\xd1\\x9f\\x6a\\xcb\\x2c\\x5f\\xa7\\x23\\x75\\x1a\\xa1\\xeb\\xa3\\x75\\x3e\\x56\\xe7\\xc7\\xeb\\x7c\\x9c\\xce\\x4f\\xd2\\xf9\\xc9\\x3a\\xf5\\xd2\\x5a\\x6a\\xb4\\x96\\x05\\x5a\\x4b\\x8d\\xd6\\xb2\\x40\\x6b\\x59\\x60\\xb4\\xd4\\x14\\x46\\x2f\\x28\\x8c\\x0e\\x46\\x9e\\xac\\x53\\x2f\\x60\\x2f\\x00\\x76\\xd7\\xa8\\xcb\\xf4\\xa8\\xe5\\x7a\\xd4\\x72\\x3d\\xea\\x3d\\x3d\\x6a\\x79\\xb7\\x51\\x7d\\xcc\\x5c\\x43\\xbc\\x3a\\xe0\\x5d\\xa6\\x47\\x5e\\xd6\\x23\\xde\\x71\\x3a\\x8d\\x31\\xd6\\x2e\\xb0\\x4e\\xd4\\x29\\x6e\\x1d\\xd5\\xb9\\xdc\\x5e\\x63\\x7d\\xd3\\x78\\x30\\x98\\xf5\\x65\\xba\\x36\\x42\\xb7\\xa3\\x66\\x4a\\x81\\x45\\x0b\\x82\\x48\\x41\\xaf\\xc8\\xd1\\x9d\\x3f\\x23\\xa3\\x75\\x3a\\xbe\\xb3\\x46\\xaf\\x0e\\x25\\xe3\\x74\\xf9\\x14\\x9d\\xe7\\x3b\\x1f\\x21\\xcd\\x3a\\xcd\\xea\\x7c\\xc4\\x8a\\xeb\\x4f\\x6e\\xd7\\xad\\xb7\\x5b\\xfd\\x49\\x75\\x2c\\xa1\\x57\\x74\\xb8\\x5e\\xd1\\x59\\x7a\\x45\\x2f\\x23\\xa7\\x6a\\x1d\\xa7\\xeb\\x94\\xd3\\x69\\x82\\x4e\\x13\\x75\\xaa\\xd7\\x69\\x8a\\x4e\\x0d\\x3a\\x35\\xe9\\x34\\x4d\\xa7\\x76\\x9d\\x66\\xea\\x74\\x96\\xf5\\x63\\x32\\x5b\\xa3\\x97\\xed\\x28\\xba\\xd9\\x0f\\x42\\x5b\\xbd\\xa7\\xb6\\x7a\\x4f\\xe0\\x8f\\xd4\\xf8\\x23\\x35\\xfe\\x48\\x8d\\xb3\\x3c\\xd0\\x19\\xee\\x25\\xad\\x6f\\x99\\xd6\\xb7\\xac\\xa0\\x4f\\xeb\\xb2\\x88\\xee\\xbf\\xb0\\x30\\x83\\x3e\\xba\\x4f\\xa3\\xee\\xd3\\xa8\\xb1\\x1a\\xb5\\xf5\\x2f\\x69\\xab\\x5f\\xd2\\x56\\xbf\\x44\\xea\\x74\\x9a\\xac\\xd3\\x54\\x9d\\xa6\\xe9\\xd4\\xae\\xd3\\x4c\\x9d\\xce\\xd4\\x69\\xb6\\x4e\\x73\\x3a\\x5f\\xb2\\x98\\xde\\x6b\\x9b\\xf5\\x5e\\xdb\\xac\\x75\\xd6\\x69\\x1b\\xea\\xb4\\x0d\\x75\\x3a\\x92\\x9b\\xde\\xf9\\xa4\\xf5\\x8d\\x9e\\xf6\\x9a\\xb6\\x77\\x10\\xfa\\xde\\xa8\\x91\\x97\\xeb\\xfe\\x37\\x6a\\xf4\\xe5\\x1a\\x7d\\x39\\xf9\\xa1\\x4e\\x81\\xff\\x4e\\x83\\xef\\xf2\\x9d\\x8f\\x19\\xff\\x4d\\x32\\x3e\\x5c\\x6e\\xe6\\xd6\\xa4\\x53\\x73\\xc4\\x87\\x33\\x74\\x3d\\xf0\\xe3\\x2c\\x9d\\xce\\xd0\\xfd\\x03\\x7f\\x9e\\xad\\xdb\\xb4\\x4f\\xc9\\x39\\x7a\\xe7\\x0c\\xd4\\x56\\xf8\\xd8\\x3b\\x7e\\xd7\\xde\\xf9\\xca\\x55\\xcb\\x6b\\x9f\\xed\\xe8\\xca\\x75\\xf9\\xf3\\x0a\\xed\\xcf\\x2b\\xf4\\xde\\x38\\xb3\\xf3\\x1e\\xed\\x9b\\x7b\\xac\\x84\\xd6\\xfa\\x82\\xd6\\xf6\\x82\\xd6\\xb4\\x50\\x7b\\xf2\\x15\\x3d\\xfa\\x05\\x3d\\xfa\\x05\\x3d\\xfa\\x05\\xdd\\xeb\\x05\\x3d\\xfa\\x05\\xdd\\xf3\\x05\\xad\\x21\\xaf\\x2d\\x6e\\xd1\\x3d\\x66\\x75\\x2e\\xd4\\x7b\\xea\\xd4\\xce\\x7d\\xb4\\x35\\x1d\\x7a\\xec\\x3e\\xfa\\x93\\x85\\x7a\\xfc\\x5d\\xda\\x92\\x0e\\xad\\x63\\x99\\xb6\\xa6\\x43\\x5b\\xd3\\xa1\\x7d\\xb0\\x50\\xeb\\xdb\\x47\\x8f\\x5a\\xa8\\x75\\xee\\xa3\\x3d\\xbe\\x50\\xeb\\xdd\\x47\\xeb\\xdd\\x47\\xeb\\xdd\\x47\\xeb\\xdd\\xc7\\xea\\xa5\\x35\\x05\\x5a\\x3a\\xb4\\x86\\x0e\\xbd\\x9e\\x81\\x86\\x0e\\xbd\\x9e\\x1d\\x7a\\x64\\x07\\x69\\xd3\\xa9\\x5d\\xa7\\x99\\x3a\\x9d\\xa9\\xd3\\x6c\\x9d\\xe6\\x74\\x76\\x58\\x7d\\xf5\\xa8\\xd5\\x64\\xbc\\xd9\\x09\\xab\\xf5\\xc8\\xd5\\x7a\\xe4\\x6a\\x3d\\x6a\\xb5\\x1e\\xb5\\x5a\\x8f\\x5a\\xad\\x47\\xad\\xd6\\x7e\\x0f\\x76\\xc3\\x6a\\x3d\\x72\\xb5\\xf6\\x77\\xb0\\x23\\x56\\x6b\\x7f\\x07\\xbb\\x62\\xb5\\x99\\xf9\\x32\\x3d\\x3a\\xf0\\xe1\\x32\\x3d\\x7a\\x99\\x1e\\xbd\\x4c\\x8f\\x5e\\xa6\\x47\\x2f\\xd3\\xa3\\x97\\xe9\\x91\\xcb\\xf4\\x88\\x65\\x16\\x2d\\xcc\\x7c\\x3a\\x66\\x4f\\xc8\\x4c\\x6b\\x77\\x72\\xa6\\x4e\\x73\\xac\\xdd\\xb5\\x37\\xbb\\xbc\\x12\\xf6\\x6c\\xd4\\xb3\\xec\\x6a\\x29\\x33\\x76\\x46\\x6d\\x8c\\xda\\xd7\\x65\\x5b\\x60\\x57\\x60\\x53\\xf0\\x3d\\x77\\xf5\\x1e\\x70\\xad\\x98\\xfe\\x06\\xb9\\xd6\\x4e\\xe4\\x11\\x6b\\x04\\x59\\xa4\\xe7\\xbc\\xd8\\x1a\\x44\\x9e\\xec\\x9c\\x4b\\x9e\\xea\\x5c\\x42\\x9e\\xd1\\xf9\\xb3\\x9d\\x15\\xe4\\xb9\\xce\\x73\\xc8\\x32\\x9d\\x5e\\xd4\\xf5\\x57\\x75\\x7a\\x5d\\xf7\\x59\\xa5\\x3f\\x7f\\x43\\xa7\\xf7\\x75\\xda\\xa8\\xd3\\x26\\x9d\\x3e\\xea\\x5c\\xa2\\xb5\\x4d\\xd4\\x6b\\xf6\\x80\\xd6\\xf4\\x88\\xee\\xb5\\xb0\\x73\\xad\\xd6\\xba\\x16\\x5a\\xd7\\x6a\\x8d\\x6b\\xb5\\xc6\\x0e\\xad\\x71\\x89\\xd6\\xf8\\x04\\x79\\x5e\\xd7\\x5f\\xd4\\x69\\xb9\\xd1\\xbc\\x84\\xac\\xd4\\x69\\xbd\\xee\\xbb\\xa9\\x73\\x2d\\x0d\\x18\\xb2\\xb7\\xd1\\xb4\\x50\\xb7\\x2e\\xd2\\xe9\\x49\\x63\\xd3\\x12\\xad\\xe1\\x1c\\xd8\\xd4\\xa1\\x35\\x74\\xe8\\xd1\\xe7\\x98\\x91\\x7a\\x14\\xf9\\x58\\xa7\\x4f\\xf5\\xba\\xed\\xaa\\x67\\x78\\x8e\\x9e\\xe1\\x39\\x5a\\xc3\\x35\\xe4\\x11\\xa3\\x41\\xdb\\xa1\\x53\\x60\\xc7\\x4a\\x9d\\x5e\\xd7\\x69\\xb5\\xfe\\x6c\\xad\\xce\\xdf\\xd0\\xf8\\x6f\\x69\\x4d\\xeb\\x75\\x7a\\x57\\xf7\\x7d\\xcf\\xcc\\x6c\\x2e\\xf9\\x00\\x33\\xfb\\x42\\xa7\\x2f\\x75\\xea\\xec\\x5c\\x42\\xad\\xce\\x25\\xda\\xff\\xcb\\x02\\xcb\\x2d\\x57\\x9f\\xf9\\xb4\\xb5\\x96\\xab\\x57\\xaa\\x6b\\x9e\\x1b\\xb5\\xdd\\xd2\\xd4\\xba\\x66\\xfc\\xa2\\xf6\\xed\\x72\\xfd\\x49\\xe0\\xb7\\x37\\x74\\xfd\\x7d\\x9d\\xb4\\xad\\x7a\\x67\\x2c\\xec\\x36\\xab\\xc0\\x2f\\x1d\\x5a\\xf3\\x12\\xa3\\x39\\x98\\x51\\x60\\x9b\\xf6\\x87\\x5e\\xdd\\x82\\xf7\\xb4\\x8e\\x60\\xde\\x2f\\x5a\\x13\\xb5\\xae\\x0e\\xb2\\xce\\x58\\xda\\xa1\\xd7\\xa0\\xc3\\xcc\\x7f\\x8b\\xb6\\x8e\\x18\\xeb\\x5e\\x37\\x96\\x0d\\xd2\\xb6\\x06\\xf8\\xa8\\x69\\xdf\\x04\\xb8\\x66\\x7d\\x74\\x9f\\x85\\xc1\\x8a\\xeb\\x3c\\xf0\\xe6\\xf3\\x11\\xdc\\x77\\xad\\x41\\xc6\\xff\\x01\\x43\\x5a\\xda\\x8b\\x96\\xbe\\x56\\xac\\xd5\\xd7\\x8a\\xb5\\xd6\\xd9\\xfa\\xd3\\x07\\x74\\xef\\x47\\xcc\\xba\\x74\\x84\\x7b\\x26\\x62\\x7d\\xb0\\x1e\\x5d\\x96\\x63\\xae\\x56\\xb9\\x1e\\x11\\xae\\x60\\xb1\\x57\\xe0\\x95\\x41\\x85\\x75\\x7f\\x5d\\xe3\\xbe\\xa9\\xeb\\xeb\\x60\\xe1\\x20\\x8d\\xdb\\xa1\\x71\\x3b\\xc2\\xf5\\xd7\\x9f\\x2e\\xc1\\x0e\\x0a\\x66\\xf6\\xaa\\x2e\\xaf\\xd6\\xed\\xc1\\xfc\\x83\\x55\\x7b\\x27\\xd8\\x35\\x81\\xd5\\xf0\\xc5\\x06\\xdd\\xe7\\x03\\xb3\\x2f\\x3b\\xcc\\xea\\x7d\\xac\\xd3\\x66\\xb3\\x8a\\x6b\\xf5\\x2a\\xae\\xd5\\xab\\xa8\\x77\\x97\\x46\\xd9\\x47\\xa3\\x4c\\xd4\\x28\\x13\\xf5\\xec\\x96\\xe8\\xd9\\x05\\x33\\x9b\\x68\\x66\\x16\\xdd\\x2b\\x81\\xb7\\x5f\\xc5\\x9e\\x09\\x76\\xfd\\x6a\\x6d\\xf3\\x1a\\xdd\\xb6\\xd6\\x7c\\x03\\xe6\\x92\\x37\\x75\\xfb\\x3a\\x58\\xf2\\xb6\\x6e\\x0b\\xad\\x89\\xee\\xa3\\x73\\xb4\\x45\\x4b\\x60\\xd1\\x5c\\x63\\xcd\\x27\\x3a\\x7d\\x06\\xab\\xba\\xf6\\x94\\xc4\\xaa\\x2c\\x31\\xfe\\x0c\\xe6\\xdb\\xb5\\xcf\\xc3\\x55\\x09\\x76\\xe7\\x5a\\xcb\\x26\\x8b\\x22\\xdf\\xa5\\x60\\xaf\\xbc\\x6a\\xbc\\x6c\\x56\\x5f\\x73\\x8d\\xf6\\xa4\\xbe\\x4e\\x04\\xfe\\xdc\\x64\\x4a\\x2b\\xcd\\x77\\xd2\\xc5\\x1a\\x74\\x7d\\x93\\x96\\x98\\xb9\\x75\\x68\\x1d\\x1d\\x1a\\xc5\\x0d\\xd7\\xde\\xcc\\x33\\x58\\xbd\\x0e\\x3d\\x62\\x84\\xc5\\xb1\\x43\\xc2\\x11\\x81\\x4d\\xcf\\x9b\\x6f\\x68\\x87\\xc5\\x0a\\xdf\\xca\\x67\\xf5\\xf7\\x07\\x6b\\xa9\\xf7\\x19\\xbe\\xb9\\xc1\\xf7\\x4f\\xef\\xc3\\xb5\\x7a\\x46\\xa1\\x6f\\xd6\\x06\\x96\\x6b\\x7f\\xac\\x2d\\xac\\x46\\xd0\\xe3\\x73\\x3d\\x36\\xe8\\xd5\\xc7\\x7c\\x13\\x57\\x99\\x3d\\x13\\x5e\\x53\\xba\\x46\\xbd\\x1b\\xb9\\xbe\\x7c\\x68\\x46\\x77\\x04\\xd7\\x18\\x3d\\x7a\\xae\\x1e\\x7d\\x8e\\x59\\xc3\\x84\\x5e\\xc3\\xb5\\x7a\\x0d\\xc3\\xef\\xf3\\x5a\\xb3\\x2b\\x96\\x98\\x6f\\x45\\x64\\xb4\\xe9\\x19\\x0b\\x74\\xea\\x6f\\x92\\xb9\\x7a\\xe9\\xa4\\x77\\x99\\x41\\x0a\\xac\\x7e\\x3f\\xfc\\xde\\x1a\\xeb\\x3f\\xd2\\x79\\x78\\x15\\x59\\xa2\\x67\\xda\\xd5\\x1b\\xdf\\x1d\\xf2\\xb9\\xf9\\x36\\xae\\x32\\x58\\xe1\\x0e\\x5f\\x87\\xb9\\x05\\xdf\\xea\\x8d\\x05\\x2b\\xd7\\xc2\\xca\\xb9\\xda\\x8f\\x5d\\x3a\\xd6\\x9b\\x55\\x09\\xf5\\x6c\\xd1\\x7a\\x6c\\xa3\\xe7\\x8d\\x6e\\x63\\xd7\\x62\\xec\\x12\\x8c\\x7b\\xb3\\x9b\\xd7\\xe6\\x1a\\x8f\\x89\\x1e\\xfc\\xfa\\x44\\xb7\\x1e\\x76\\xa1\\x47\\x97\\x46\\x5c\\x17\\xb5\\x45\\x4b\\xac\\xf2\\x82\\xcf\\xba\\xe6\\x10\\xf6\\x5e\\x52\\xd0\\x57\\xb4\\x67\\x89\\xb9\\xa2\\xd8\\x85\\xef\\x63\\x30\\x8f\\xae\\x6f\\xea\\xc7\\xb8\\x4a\\xc4\\x4d\\xbf\\xe0\\xaa\\x2b\\xb1\\x96\\x6b\\xb1\\x0a\\x6b\\x0b\\xeb\\x17\\xae\\xdb\\x12\\x63\\x1d\\x37\\xbd\\xc2\\xab\\xd7\\xda\\xe8\\xd5\\x4b\\x6b\\x02\\xa7\\xe8\\xd2\\x87\\x66\\x84\\xab\\x75\\xae\\xea\\x66\\x65\\xd7\\xbe\\x08\\x2d\\x0c\\xe7\\xb6\\x44\\xb3\\xfb\\xaa\\x6e\\xf3\\xd9\\x7a\\x2e\\x1f\\x16\\x7b\\x6b\\xbd\\xe7\\x98\\x79\\xd1\\xae\\x79\\x15\\xae\\x6f\\x01\\x33\\x2e\\xd1\\x2d\\x4b\\x34\\x33\\xae\\xd6\\xf1\\x4c\\x78\\x86\\x38\\x5e\\xc7\\x4e\\x27\\x58\\xdf\\xd4\\xdf\\x8b\\x05\\x7a\\x4f\\xdc\\xd9\\x39\\x88\\xdc\\xdb\\x69\\xe9\\xdd\\x3f\\x48\\x7f\\x6b\\xce\\xd1\\x57\\x31\\xcd\\xa3\\x56\\x70\\xba\\x18\\xa0\\xcf\\x78\\x07\\x58\\xdf\\xd1\\xdf\\xbc\\xa4\\x95\\xb6\\xb2\\xd6\\xa1\\xd6\\x30\\xeb\\x28\\x6b\\xac\\x75\\xa2\\x75\\x92\\x75\\x32\\xf9\\x2e\\x39\\x9c\\x54\\x92\\x1a\\xe2\\x93\\x23\\xc8\\xd1\\xe4\\x18\\x7d\\x52\\x1b\\x4d\\xc6\\x90\\xb1\\xe4\\x78\\x72\\x02\\x19\\x47\\x4e\\x24\\x27\\x91\\x1f\\x92\\x53\\xc8\\x44\\x7d\\x7e\\x6b\\x20\\x8d\\x64\\x2a\\x99\\x46\\x5a\\x48\\xab\\x3e\\xd1\\xcd\\x24\\xb3\\xc8\\x99\\x64\\x36\\x99\\x63\\xde\\xd6\\xfb\\x3b\\x79\\x80\\x3c\\x48\\x1e\\x22\\x0f\\x93\\x47\\xc8\\xa3\\x64\\x21\\x59\\x44\\x9e\\x20\\x8b\\x89\\xe6\\x11\\xf2\\x34\\x79\\x86\\x3c\\x4b\\x9e\\x23\\xcb\\xc8\\xf3\\xe4\\x05\\xf2\\x32\\x59\\x4e\\x5e\\x21\\xaf\\x92\\xd7\\xc8\\xeb\\x64\\x15\\x59\\x6d\\xfe\\xb5\\x8d\\x37\\xc8\\x9b\\x64\\x1d\\x79\\x87\\xac\\x27\\xef\\x92\\xf7\\xc9\\x07\\x64\\x23\\xf9\\x90\\x6c\\x22\\x1f\\x91\\x8f\\xc9\\x27\\x64\\x33\\xf9\\x92\\x6c\\x21\\x9d\\xb4\\x0f\\xad\\xb4\\x57\\xdb\\x6b\\xec\\xb7\\xf4\\x9c\\x12\\x3a\\xa6\\x1d\\x14\\xfc\\x0b\\x29\\xe1\\x7d\\x93\\xff\\x25\\xf7\\xbb\\xd7\\x9b\\x77\\x37\\xfb\\x06\\x32\\xbe\\x26\\x90\\xc4\\xfc\\x55\\x04\\xbd\\xd6\\xb4\\x0c\\x35\\xb2\\xc6\\xb4\\xbc\\x58\\x94\\x61\\x3b\\xf9\\xa2\\xd8\\x9f\\xac\\x0b\\x24\\x33\\x7f\\xa9\\x10\\xea\\xc4\\xd8\\x79\\xc5\\x16\\xda\\x66\\xe4\\x85\\x11\\x69\\x70\\xe9\\xe9\\xc5\\x96\\x50\\x1b\\xdb\\x50\\xc4\\x02\\x4a\\x44\\x86\\xa3\\x50\\x5e\\x5f\\x6a\\xf3\\xd6\\xf6\\xe0\\x53\\xa3\\xcd\\x1e\\x52\\xd4\\x1f\\x2d\\xc3\\xc2\\xa8\\xdc\\x61\\x9f\\x6c\\xdf\\x1b\\xdd\\x3c\\x10\\x9d\\xfb\\x76\\x67\\x8d\\x51\\x99\\xc8\\x4c\\x2f\\x2c\\x6a\\x86\\x2c\\xfa\\xe4\\xeb\\xdc\\xef\\x0e\\xdf\\xae\\x28\\xde\\xef\\xae\\xc5\\x5f\\x03\\x5d\\x5d\\xd8\\xb3\\x8b\\xff\\xbb\\xf7\\x2c\\xde\\x03\\x0c\\xdf\\x87\\x14\\x11\\x69\\xde\\x12\\xc4\\x7b\\xa4\\x75\\xc5\\x96\\xe8\\x1b\\x95\\x78\\x47\\x31\\x7c\\xf7\\x2f\\xfa\\xb6\\xe4\\xbd\\x45\\x3d\\x78\\xb3\\xd1\\x3c\\xe3\\x88\\xcf\\x33\\x2d\\x97\\x47\\x9e\\x4d\\x5c\\x15\\x29\\x47\\xde\\xd7\\xc5\\xf3\\x8b\\x35\\xc5\\xfe\\x51\\x89\\x37\\x24\\x2f\\x8f\\x68\\x88\\xda\\xbc\\xb5\\x3d\\x43\\xad\\x92\\xe7\\x41\\x3d\\xc8\\xe7\\x8a\\xf2\\xeb\\xfa\\x64\\x9b\\xde\\xb8\\xb7\\xd4\\x03\\xdd\\xe6\\xbe\\xfd\\x59\\xa7\\x8a\\xed\\xa1\\x4e\\xcc\\x3a\\xf2\\x6e\\x6a\\xe4\\x1d\\xd1\\x1d\\xdf\\xb3\\xff\\xca\\x1b\\x21\\x83\\x34\\xc2\\x44\\x9d\\x02\\x5b\\x5b\\xac\\xe0\\x5f\\xaa\\xb2\\xac\\xd9\\x3a\\x9d\\xa7\\xd3\\x45\\x3a\\x05\\xb3\\xba\\x5a\\xa7\\xe0\\x2d\\xc5\\x1b\\x74\\x0a\\xd6\\xf9\\x76\\x9d\\x82\\xe7\\x4c\\xf7\\xe8\\x74\\xbf\\x4e\\x8f\\xea\\x14\\xcc\\xe3\\x19\\x9d\\x5e\\xd4\\xe9\\x55\\x9d\\x82\\x99\\xbe\\xad\\x53\\xf0\\xbc\\xeb\\x63\\x2b\\xb6\\xe5\\xbc\\xe0\\x5d\\xa4\\x2d\\xb7\\x19\\x19\\x2d\\x6f\\x2d\\x47\\x6f\\xd5\\xf2\\x5c\\x64\\xd4\\x79\\x3b\\xa0\\xa1\\x3b\\x8a\\xd5\\xf5\\x8e\\xe5\\xd6\\x7d\\xf0\\x3d\\xbe\\xeb\\xbf\\xfc\\x7b\\xfc\\xb2\\x79\\x2e\\x6c\\xfe\\xb2\\x26\\x76\\x63\\xf1\\x79\\x76\\xfc\\x2a\\xd3\\x92\\x8a\\xb4\\xcf\\x2b\\x4a\\xb4\\x2f\\x8e\\x3c\\xc9\\x3e\\xb0\\xf8\\x69\\xf8\\xf7\\x23\\xe8\\x73\\x56\\x64\\xac\\xd1\\x19\\x9f\\x13\\x91\\x21\\x56\\x4d\\xc4\\x86\\x95\\xc5\\x27\\xe2\\xf1\\x7b\\x8b\\xed\\xdb\\x94\\x2f\\x6f\\x65\\xf3\\x56\\xf6\\x84\\x3a\\x43\\x6d\\x78\\x7e\\xbf\\x95\\x84\\x9e\\xa8\\xdc\\x61\\x9f\\x6c\\xcb\\x1b\\xf0\\x43\\xd4\\x03\\xd1\\xb9\\x6f\\x77\\xd6\\xe1\\xdf\\x7c\\x84\\x6f\\x1e\\x84\\xef\\x20\\x85\\x7f\\x41\\x02\\xcd\\x07\\x96\\x20\\xee\\xf8\\xf7\\x78\\xfb\\xef\\xe9\\x05\\x6f\\xbc\\x1c\\xaa\\xd3\\xe1\\xd6\\xd7\\xfd\\xab\\x97\\xae\\x99\\x84\\xb6\\x6e\\x2a\\xce\\x13\\x7f\\xed\\x72\\x63\\xc4\\xe2\\x31\\xc5\\x3e\\xe8\\xbf\\xb5\\xac\\x0b\\xfe\\xc2\\xe5\\x7f\\x2d\\x17\\x46\\x38\\x2f\\x76\\x77\\xcf\\x5c\\x18\\xb6\\xe3\\xea\\xbc\\x0d\\x2e\\x34\\xfe\\xee\\x81\\x0b\\xf1\\x06\\x40\\x38\\x76\\x60\\xb1\\x6c\\x5d\\x5c\\xe4\\xa1\\x28\\x2b\\x6c\\xeb\\xaf\\x50\\xba\\xb1\\xe9\\xbd\\xdb\\xe5\\xc2\\xab\\xbe\\x9a\\x0b\\x31\\x6a\\xf1\\x36\\xb8\\x70\\xbb\\x3e\\xd9\\xa6\\x37\\xb6\\xe2\\xc2\\xe8\\xdc\\xb7\\x3f\\x6b\\xe8\\xdc\\x2e\\x17\\x46\\xf4\\xfc\\x7f\\x82\\x0b\\x75\\x3e\\xc0\\x2a\\xfe\\x65\\xc6\\x80\\x48\\x4b\\x51\\xae\\x28\\x7a\\xbf\\x5b\\x9f\\xeb\\x03\\x19\\x3b\\xdc\\xc8\\x83\\x8b\\x52\\xfb\\xb7\\xd8\\x67\\x2b\\xa9\\xf7\\x5f\\x50\\x9e\\x19\\xf1\\xf5\\xe5\\xa6\\x3d\\x22\\x83\\x7f\\x99\\x47\\xeb\\x2d\\x3e\\x2d\\x0f\\xda\\x82\\xff\\xcb\\xcd\\x73\\xeb\\x15\\x9d\\xfb\\xe2\\xd9\\x63\\xdc\\x7c\\xc2\\xbf\\x5c\\xd3\\xf5\\xff\\x96\\xa9\\x5b\\x3d\\x75\\xb4\\xcc\\xd3\\x48\\x6b\\xf1\\xf7\\x6e\\x78\\x32\\xc8\\x17\\x8d\\xbc\\xe0\\x70\\x53\\xbf\\x62\\xc3\\xe4\\xff\\x27\\x00\\x00\\xff\\xff\\x0e\\xa8\\xda\\x55\\x1c\\x56\\x05\\x00\")\n\nfunc liberationsansBolditalicTtfBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_liberationsansBolditalicTtf,\n\t\t\"LiberationSans-BoldItalic.ttf\",\n\t)\n}\n\nfunc liberationsansBolditalicTtf() (*asset, error) {\n\tbytes, err := liberationsansBolditalicTtfBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LiberationSans-BoldItalic.ttf\", size: 349724, mode: os.FileMode(420), modTime: time.Unix(1459927770, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _liberationsansItalicTtf = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\xe4\\xbd\\x77\\x60\\x54\\xd5\\xf6\\xf7\\xbd\\x4e\\x99\\x99\\x10\\xd2\\x48\\x42\\x12\\x08\\xc9\\x4c\\x12\\x12\\xc0\\xd0\\x43\\x6f\\x19\\x5a\\x04\\x69\\xa1\\x04\\x12\\x7a\\xe8\\xd2\\x21\\x41\\x8a\\x08\\x01\\x51\\x10\\x41\\x40\\x8a\\x20\\x20\\xa0\\xa2\\x88\\xa8\\x43\\x11\\x02\\xa2\\x82\\xa0\\x88\\x82\\xa0\\x02\\xa2\\xa0\\x20\\x08\\x01\\x01\\x41\\xc5\\x46\\x99\\xf3\\x7e\\xce\\x99\\x09\\x22\\x57\\xaf\\xbf\\xdf\\xf3\\x3e\\xff\\x3d\\xb9\\xf7\\x9b\\x7d\\xce\\x3e\\x6b\\xaf\\xf2\\x5d\\x6b\\xef\\xb3\\xf7\\x0c\\x88\\x28\\x22\\x12\\xc1\\x2f\\x5d\\xaa\\x67\\x64\\x74\\x69\\x97\\x1b\\x1f\\xf9\\x8e\\xd8\\x86\\xdf\\xa2\\xb7\\xdc\\xfd\\x2d\\x5a\\x66\\x4c\\x91\\xfc\\x1a\\x62\\x2b\\x53\\x91\\xfb\\x59\\xf7\\x67\\x76\\xe8\\xfc\\x7a\\x8b\\xb0\\xc7\\xc4\\x96\\xb8\\x48\\xe4\\x81\\x41\\xf7\\x77\\xce\\x6a\\x16\\x3b\\xe2\\xc9\\x1e\\x3c\\xf7\\x88\\x04\\x9c\\xe9\\xd0\\xb9\\x5a\\x4d\\x79\\xe9\\xe3\\xaf\\x44\\x94\\x42\\xe4\\xfb\\xf6\\x1f\\x91\\x3b\\x3a\\x7c\\x69\\x8f\\xbd\\x22\\xf7\\xcd\\x11\\xb1\\x57\\xed\\xff\\x50\\xbe\\x6b\\xcc\\xf6\\xfe\\x4e\\x91\\x46\\xd7\\x45\\xd4\\x59\\x83\\x46\\x0f\\x1e\\x31\\x25\\x77\\x6b\\x29\\x91\\xea\\x3b\\x45\\x1c\\x5b\\x06\\xe7\\xe6\\x8d\\x96\\x18\\x29\\x81\\xbe\\x18\\xc6\\x87\\x0d\\x1e\\x3e\\x71\\x50\\xda\\xe7\\xd3\\xbf\\x11\\x19\\x7c\\x5d\\xf4\\x4a\\xe5\\x87\\x0c\\xcc\\x1d\\x60\\x5c\\x79\\xac\\x09\\xfa\\x1b\\xf1\\xbc\\xce\\x10\\x3a\\x82\\x2b\\x07\\x1f\\xe2\\x3e\\x9f\\xfb\\xf2\\x43\\x46\\xe4\\x4f\\x38\\x96\\xbd\\x69\\x3d\\xba\\x19\\x5f\\x31\\x7f\\xd8\\xc0\\xb1\\x23\\xf3\\x17\\x0f\\xdc\\x24\\xfa\\x02\\xee\\x23\\x2b\\x0e\\x1f\\xd5\\x3f\\x37\\x2a\\xa0\\xc9\\x2e\\x91\\xf4\\xc9\\x3c\\x9f\\x30\\x22\\x77\\xc2\\xe8\\x90\\xbe\\xb6\\x85\\x8c\\x5f\\xca\\x78\\xd7\\xc8\\xdc\\x11\\x03\\x8f\\xdf\\xf7\\xd3\\x06\\xd1\\xd7\\xba\\x45\\x4a\\xbe\\x31\\x7a\\x54\\x5e\\x7e\\xcb\\x97\\x3b\\x1d\\x14\\xdd\\x73\\x4d\\x64\\x48\\x85\\xd1\\x63\\x07\\x8e\\xee\\x7b\\xf0\\x94\\x2a\\x52\\x6f\\x34\\x84\\x3d\\x6a\\x71\\xc7\\xdd\\xfb\\xef\\xaf\\xca\\xea\\x13\\xda\\xe8\\x17\\xd5\\x19\\x20\\xe6\\xcf\\x81\\x85\\x71\\xad\\x8a\\xdb\\x1b\\x9e\\xdb\\x0b\\x03\\xcf\\x06\\xc4\\x21\\x67\\x3e\\x54\\x2c\\x01\\x7e\\x3b\\x9a\\x78\\xdb\\x4b\\xf3\\xc0\\xf5\\x37\\x3c\\x37\\xba\\x06\\x9e\\x95\\x01\\x52\\x5a\\xee\\xfa\\x09\\x8c\\x33\\x65\\x02\\xe3\\x94\\x4e\\xd2\\x45\\x06\\x8a\\x9d\\xd1\\x61\\x52\\x4d\\x7a\\x8a\\x68\\x13\\xb4\\xf5\\xe4\\x4a\\x11\\x4d\\x5f\\xa5\\xcc\\x17\\x9b\\x88\\xed\\x59\\x5b\\x9a\\xc4\\x2b\\xb1\\x56\\xdb\\x5d\\xfb\\x54\\x06\\xa9\\xe1\\x01\\x36\\xb5\\xa4\\x5d\\x57\\x55\\xb5\\x84\\xaa\\x9f\\x96\\x40\\x23\\x53\\x26\\x18\\xa8\\x4d\\x30\\x75\\xd7\\x68\\xda\\xb9\\x39\\xe3\\x5d\\xc6\\x2d\\xdb\\xe7\\xde\\x6e\\x4a\\x9a\\xa3\\x89\\xb2\\xa9\\xaf\\x28\\xef\\x9e\\xfa\\x8d\\x98\\x1a\\xd8\\xa6\\x99\\x4c\\x48\\x88\\xdd\\xef\\x89\\x5a\\xff\\x0e\\xda\\xa9\\x5f\\xc8\\x5b\\x7a\\x9e\\x54\\xd0\\xf3\\x8c\\xeb\\x8e\\x38\\x79\\xda\\xd6\\x55\\x12\\x94\\x99\\xf2\\x91\\xba\\x5e\\xfa\\xaa\\xeb\\x8d\\xfa\\x5a\\x9c\\x4c\\xd0\\x37\\xc8\\x74\\x64\\x93\\xe9\\x7b\\x90\\x36\\x53\\xad\\x6f\\xcc\\x61\\x4c\\x0e\\xa8\\x6d\\x8e\\xa3\\xad\\x0e\\x82\\x41\\x55\\x90\\x07\\x8e\\x80\\x3a\\x20\\x03\\xf9\\x8e\\x20\\x05\\x1d\\x8f\\x9a\\x7a\\xac\\x36\\x4f\\x56\\x05\\x38\\xe5\\x3d\\x5b\\x57\\x63\\x39\\xf6\\xd2\\x6d\\xfb\\x64\\x0c\\x48\\x37\\xaf\\xf5\\xb3\\x92\\x6e\\xaf\\x2f\\x03\\xcd\\x7b\\x73\\xac\\x2e\\xc6\\x4d\\xab\\x3f\\x8f\\xfe\\xf5\\x96\\xac\\xf9\\x7c\\x94\\xd9\\x57\\x2c\\xc7\\x75\\x03\\xc6\\x15\\x72\\xbd\\x8c\\xeb\\x8d\\x8e\\xb9\\xb2\\x11\\xdd\\x5f\\x72\\x7d\\x54\\x3f\\x6b\\x1c\\xc7\\xdf\\x2f\\xd1\\xf5\\x34\\x6d\\x37\\x6d\\xb7\\x54\\xc4\\x67\\x62\\xc3\\x17\\x9f\\xbf\\x71\\xba\\x48\\x73\\xda\\x96\\x26\\x90\\x33\\x5b\\x1d\\x24\\x2a\\xfb\\xe0\\x62\\x9f\\x11\\xcb\\x73\\xeb\\x1a\\xfb\\x89\\x66\\x3f\\x40\\xde\\x38\\x68\\xc9\\x9b\\x7d\\x24\\x8c\\x71\\xbd\\xb8\\xef\\xca\\xf5\\x68\\xfc\\x18\\x84\\xdf\\xaf\\x83\\x39\\xe0\\xba\\xba\\x41\\x4a\\xab\\x91\\x72\\x54\\xdd\\x60\\xe4\\x12\\xff\\x24\\x8b\\xfb\\xf5\\xe2\\x46\\xfe\\x39\\x3f\\x7f\\x73\\x41\\x15\\x53\\x86\\xfb\\x6f\\x78\\xf6\\x84\\xed\\x1c\\xf1\\xff\\x6a\\x71\\xdc\\x96\\x31\\x03\\x4c\\xee\\xcd\\x3e\\x7d\\x98\\x71\\x55\\x4b\\x93\\xbd\\xfa\\x00\\x69\\x4a\\x5f\\x3c\\xa8\\x0d\\xde\\xd0\\x57\\x18\\x86\\xde\\x56\\xe6\\xab\\xeb\\x2d\\xdd\\xf7\\x83\\xc6\\xea\\x65\\x19\\xc8\\x78\\x9b\\x7d\\x83\\xf4\\x05\\xd5\\xc0\\x2c\\x78\\x6a\\x0a\\x37\\xaf\\xfd\\x0d\\x96\\x07\\x88\\xf1\\x86\\x95\\x8b\\xae\\xbe\\x5c\\x14\\xc3\\x9f\\xc3\\x3b\\x40\\x26\\xb1\\x38\\x0f\\xf7\\x02\\x5f\\x37\\xd8\\xeb\\x1b\\x1f\\x5a\\xb9\\xb8\\x1b\\xe4\\xc2\\x9f\\x5f\\x93\\xbf\\x5a\\x7f\\x07\\xea\\xcf\\x75\\x77\\x2e\\xee\\xca\\x49\\x8e\\x1f\\x0d\\xcc\\xd6\\xc7\\xbf\\xa5\\xa7\\xf5\\x7f\\x60\\x80\\x74\\xc2\\x46\\x65\\x2b\\x17\\x77\\xc3\\xcc\\x85\\x99\\x33\\x5a\\x33\\x56\\x33\\xf7\\xff\\xd1\\x12\\xbb\\x69\\xff\\xbf\\xb4\\xe9\\x4c\\xce\\x96\\x66\\xfc\\xa6\\x5f\\xfe\\xba\\xfc\\xd7\\xd6\\xac\\x53\\xb3\\xa6\\xfe\\xa9\\x35\\xf5\\x9a\\xf1\\xd0\\x36\\x31\\x5b\\x93\\x63\\xea\\xee\\x27\\x5f\\x5b\\x7c\\x6f\\xb6\\xc6\\x2e\\xfa\\x1f\\xf5\\xe7\\x21\\xc7\\xf6\\x8d\\x74\\xd4\\xe6\\x4a\\x82\\x39\\x47\\xcc\\x3a\\xb5\\xec\\x89\\x55\\x8f\\xa6\\x7f\\xe9\\x66\\xcd\\xfa\\x5a\\x63\\xa7\\xd9\\xaa\\x6e\\xdf\\x3d\\xf5\\x63\\xb6\\x2a\\xcf\\x55\\xbf\\xed\\x94\\x7b\\x5b\\xfd\\x92\\xa4\\xd9\\xf6\\xfb\\xfc\\xb2\\xf2\\x0a\\xe7\\xf7\\xb6\\x2c\\x7e\\x03\\x99\\x6b\\x2d\\xad\\xb9\\xba\\xde\\x57\\x13\\xac\\x19\\x1f\\xdf\\xb9\\x37\\xe7\\x25\\x73\\xe3\\x9f\\x5a\\x73\\xce\\x12\\x47\\x88\\xd5\\x1e\\x65\\xfe\\xf8\\xee\\xcb\\x98\\xf5\\x62\\xe6\\xec\\x7f\\xda\\x5a\\xf3\\x9d\\x39\\x67\\xcd\\x77\\x2b\\xbf\\xbe\\x79\\x6f\\xce\\xbd\\x7b\\xda\\x8b\\x7e\\x4e\\xe2\\x6c\\xc7\\xa5\\xb3\\xad\\xb6\\xc5\\x77\\x1c\\x6d\\x63\\xab\\xdd\\x27\\xa9\\x77\\xe5\\x3a\\xd1\\x9e\\x21\\x99\\x3c\\xbb\\xdf\\xaa\\xc3\\xb1\\x52\\x85\\x3a\\x39\\x43\\xec\\x93\\xf4\\x8b\\x92\\x89\\xbe\\x48\\x3d\\x4f\\x29\\x67\\xe6\\x50\\xfb\\x43\\x6a\\x38\\x4a\\xf8\\xd6\\x08\\xfc\\xaf\\x5e\\x9c\\x07\\xee\\xa3\\xb5\\x6b\\xc6\\x8b\\xf6\\xf7\\xa5\\x9d\\x6d\\x9f\\x29\\xef\\xe3\\xd2\\x3e\\x05\\xfe\\x8e\\xc1\\xe3\\x4f\\xac\\x63\\xdd\\xb0\\x85\\x2f\\x66\\x6d\\xfa\\xe7\\x5b\\x67\\xc6\\x56\\xd6\\x0f\\x18\\x37\\xe0\\xd0\\x83\\xbe\\x50\\x78\\x99\\x6e\\xad\\x2f\\xf0\\x63\\xcf\\x61\\x2e\\x85\\x4b\\x57\\x7b\\x94\\x4c\\xc4\\xc7\\xc5\\xb6\\xb7\\x7d\\x31\\xfb\\xe3\\x3b\\x42\\x5b\\x08\\x2e\\x73\\xfd\\x2e\\x78\\xcd\\x5a\\x5f\\x4a\\x1b\\x37\\xb5\\x69\\xc6\\xaf\\xe8\\x8d\\x32\\xed\\xb0\\xce\\xec\\xd5\\xda\\xcb\\x3e\\xe6\\xea\\xe3\\xe6\\x3b\\x20\\x90\\x75\\xb5\\x04\\x39\\x0b\\x20\\xce\\x00\\x73\\x9d\\x6d\\x40\\x8d\\x3c\\x25\\x09\\x66\\x9f\\xe3\\x29\\xeb\\x3e\\xb1\\x78\\x8e\\x14\\xd7\\x62\\x71\\x0d\\xfc\\x4f\\x73\\x04\\x9a\\xde\\x3b\\xdf\\xcc\\xf5\\xc6\\x9c\\xf3\\xe8\\x9a\\x80\\x5f\\xef\\xdf\\x99\\x0f\\x7e\\xfe\\xee\\xad\\x37\\x2b\\x36\\x31\\x96\\x9a\\xb5\\x7e\\xb7\\xcf\\xc5\\xe3\\x02\\x32\\x18\\xf7\\xa3\\x71\\xe1\\xce\\x7c\\xfa\\x0f\\x3b\\xc6\\x87\\xe6\\xda\\xf0\\x9f\\xf3\\xff\\xaf\\xf3\\x95\\x18\\x1b\\x82\\xf8\\xe2\\x79\\x76\\xaf\\x1f\\x7f\\xad\\x77\\xab\\xfd\\x6b\\xcc\\x7f\\xad\\xef\\x86\\x7a\\x4f\\x63\\x87\\x36\\xc5\\x78\\xe6\\x8e\\x5f\\xdd\\xc5\\x6d\\xb3\\x53\\x53\\xd4\\x00\\xe8\\x5b\\x9c\\xbb\\x7b\\xfd\\xf9\\xa7\\x79\\x77\\xc7\\x0f\\x7f\\xbd\\xab\\xdd\\xbd\\x86\\x2d\\x80\\xf5\\xe1\\x43\\xa3\\xaf\\xc9\\x8d\\xa3\\x94\\xd4\\x73\\x04\\x49\\x3d\\xeb\\xfd\\xba\\x4f\\x6a\\x22\\x33\\x11\\xf9\\x6a\\xd8\\xd9\\x88\\x5f\\x76\\xee\\x8f\\xea\\x6b\\xe5\\x25\\x6d\\xb5\\x64\\x23\\x73\\x03\\x19\\x37\\xed\\xf3\\xe8\\x33\\xdf\\xe7\\x13\\x8a\\xd7\\x13\\x7b\\x20\\x73\\x21\\xcf\\x9a\\xdf\\x25\\x88\\xd3\\xce\\xf3\\x25\\xbe\\x75\\x54\\x32\\xfc\\x6b\\xb3\\xcb\\xff\\xfe\\x8c\\xa1\\xff\\xeb\\xbb\\xd6\\x6c\\xb7\\x95\\xef\\xe7\\xa5\\x99\\x36\\x43\\x12\\xb5\\x42\\xe3\\x67\\xfd\\x0a\\xf5\\x17\\x6e\\x72\\x6b\\x74\\xf2\\xbf\\x5f\\x75\\x7d\\xb0\\x34\\xd3\\x55\\x19\\xa9\\x5f\\xb5\\xf2\\xd7\\xd5\\xbf\\xa6\\x9b\\xf3\\x26\\x04\\x34\\x52\\xbf\\x34\\x8e\\xf9\\xdf\\xc1\\x87\\xc1\\x2d\\x7d\\xba\\x94\\xe6\\x1d\\xdc\\xd5\\x0f\\x64\\x79\\x37\\x9b\\x63\\x5e\\x81\\x6f\\x93\\x17\\x97\\x34\\xb3\\x37\\xb4\\xe6\\x72\\x33\\xd6\\xa1\\x2d\\x77\\xe1\\x30\\xfe\\xab\\x20\\x06\\xe4\\xe9\\x19\\x8c\\x31\\x21\\xc6\\x76\\xb5\\xb3\\xf7\\x86\\x3a\\xc6\\xc8\\x54\\x3b\\xf2\\xec\\x43\\xa3\\x2d\\xfe\\x7d\\x6b\\xad\\x49\\x79\\x12\\xa8\\x4f\\x83\\xbb\\x41\\x32\\x04\\xb9\\x17\\x99\\xbf\\x6b\\xcc\\x56\\x8f\\x97\\xc9\\xd6\\x3c\\xcb\\x05\\xd4\\x22\\x78\\x86\\xf8\\xb7\\x82\\xa7\\x40\\x39\\xee\\xaf\\x59\\xf9\\x89\\x81\\x9b\\x70\\x09\\xb3\\x62\\x1c\\x4c\\x6e\\xb2\\x99\\xff\\x62\\x6c\\xd6\\x16\\xfb\\xde\\x1d\\x16\\x5f\\x22\\xed\\x1c\\xc3\\xa4\\xa5\\xa3\\x09\\xd8\\x07\\xcf\\xbd\\xa5\\x97\\xe6\\x91\\xc1\\xb6\\x57\\xa5\\x9d\\x5d\\x65\\x2d\\x4a\\x64\\xad\\x7a\\x57\\x12\\xb4\\x33\\x52\\x57\\xaf\\x67\\xdc\\xb6\\x65\\xc9\\x78\\x13\\xea\\x78\\x09\\x06\\x41\\x72\\xc3\\x78\\x4a\\xd9\\x2d\\x55\\x40\\x39\\x10\\xab\\xae\\x94\\x54\\x3d\\x52\\x9e\\x52\\xf7\\x1b\\xd7\\xad\\x3d\\x1c\\x7b\\x3b\\xf8\\x3b\\x0d\\xbe\\x50\\xf6\\x29\\xe4\\x50\\x19\\x0d\\x0a\\xd4\\x2f\\xe5\\x00\\x78\\xd1\\xbf\\x27\\x33\\x31\\xd0\\x04\\xdc\\xb4\\x03\\xb3\\x90\\x59\\x4a\\xfb\\x14\\x6d\\x6b\\x90\\xc0\\x75\\x1f\\x38\\x5c\\x4d\\x1b\\x07\\x2a\\xc2\\x4f\\x0b\\xb5\\xbe\\x12\\xcd\\xf5\\x2b\\x7e\\x8c\\xfa\\x13\\xc6\\x25\\x73\\x6f\\xc5\\xb8\\xae\\xb4\\xfb\\xfd\\x7b\\x11\\x73\\x8f\\x62\\xca\\xf7\\x03\\xe9\\xea\\x25\\x59\\x21\\xef\\xe0\\xef\\x32\\x29\\xaf\\x6e\\x34\\x6e\\xe1\\xcb\\xeb\\x5a\\x98\\xac\\xbe\\x17\\x7e\\x79\\x60\\x4c\\xa5\\x5d\\x0b\\x36\\x80\\x58\\x50\\x0e\\x64\\xfa\\x11\\xef\\xb3\\x67\\x7c\\x01\\xd6\\x83\\x46\\xf8\\xb7\\x0c\\xfb\\xc4\\xa3\\x0c\\xe6\\x59\\x10\\x08\\xd0\\xaa\\x1a\\x6f\\x83\\xb7\\x78\\xbe\\x5f\\xe4\\xf6\\xef\\x22\\xde\\x49\\xe0\\x4d\\x91\\x5b\\x95\\x69\\xcf\\xd0\\xb7\\x5a\\xc4\\xa0\\xdf\\x58\\xc2\\xfd\\x71\\xee\\xdf\\xe6\\xba\\x1e\\xd7\\x53\\xc1\\x16\\xae\\x5f\\x06\\xec\\xdc\\xbc\\x9c\\xa3\\xbc\\x5f\\x83\\x93\\xdc\\x4f\\x00\\x79\\x60\\x99\\xbf\\xed\\x01\\x3a\\x80\\x74\\xd0\\x1b\\x99\\x99\\xe6\\x99\\x87\\xeb\\x17\\x40\\x5b\\xd0\\x0e\\xb4\\xa1\\x9f\\xb3\\x91\\xf7\\x30\\xd7\\xe8\\xba\\x15\\xce\\xf5\\x33\\x3e\\x5b\\x46\\x33\\xae\\x39\\x47\\x19\\xf1\\x60\\x98\\x6f\\xbc\\x77\\x25\\x98\\x07\\x06\\x81\\xe7\\xc0\\x3b\\x60\\x3a\\xf8\\x16\\x1f\\x57\\xd1\\xb2\\xe3\\xf3\\x3e\\x0a\\x38\\xbf\\xdd\\x5e\\x43\\x8b\\x49\\x6f\\x47\\xc6\\xcf\\xf3\\x8d\\x37\\x5a\\xd0\\x3e\\x4f\\x9b\\x0c\\xfa\\x73\\xfd\\x10\\xe0\\x6c\\x64\\xdc\\xf0\\x8d\\x33\\x38\\xf7\\x18\\xcb\\x41\\xa1\\x4f\\xfe\\xf6\\x5b\\x5c\\x27\\x81\\xda\\xdc\\x13\\x97\\x77\\x16\\x18\\x05\\xae\\xfa\\x62\\xbb\\x1d\\x85\\x81\\x86\\xa0\\x25\\xf7\\xcf\\xd2\\xff\\x3e\\xb8\\xe9\\x47\\x1d\\x5f\\xbf\\xfc\\xc2\\xb3\\xa6\\xdc\\xbf\\xeb\\x8f\\xab\\xb5\\x8f\\x2b\\x2f\\x1c\\xdd\\xe6\\x9c\\x66\\x74\\xbe\\x0b\\x8c\\x31\\xda\\x33\\x26\\x8e\\xd6\\xd4\\xd9\\x0b\\x74\\x07\\xdd\\x00\\xe7\\x42\\xaf\\xc9\\xf1\\x5a\\x9e\\xa7\\xf8\\x79\\x8e\\x20\\x9f\\x7f\\x80\\x71\\x20\\xdb\\xb7\\xf6\\xb0\\x8e\\xd2\\x9a\\xe7\\x0c\\xfa\\x2e\\x92\\xe3\\x5b\\xe6\\xda\\xc7\\xfd\\x5a\\x7b\\x07\\x69\\xcb\\xfb\\xb7\\xb5\\x56\\x4e\\x5a\\xdb\\xbb\\x1b\\xbf\\xd9\\x2f\\xcb\\x07\\xf6\\x34\\xc3\\x60\\x4e\\x54\\x2d\\x3e\\x7f\\xe8\\xf3\\x79\\xef\\xf6\\x36\\x8e\\xfb\\xf6\\xa7\\xb4\\xbe\\xbd\\xed\\x40\\x6b\\xaf\\x6b\\xbd\\x93\\x8d\\xe7\\x8b\\xcf\\x1e\\xb6\\xea\\xc6\\x4f\\xd6\\xf9\\xe3\\x80\\xff\\xbc\\xc2\\x7b\\xda\\x3a\\x7b\\xb0\\x16\\xdb\\x37\\xc9\\x14\\xf3\\xdc\\x61\\x5f\\x2b\\x87\\x79\\x3f\\x3b\\xfd\\xe3\\x8f\\xa2\\x3f\\xc3\\x5c\\x07\\xf5\\x31\\xd6\\xda\\x96\\x6e\\xad\\x29\\xf4\\xe9\\x4f\\x1b\\x9f\\xe0\\xf7\\x28\\xf6\\x16\\xcd\\xad\\x75\\xf2\\x4d\\xd6\\x2e\\x64\\xf4\\x6e\\x32\\xd0\\x92\\xe3\\x1d\\xc8\\xfe\\xe1\\x05\\xbd\\x1f\\xeb\\xb5\\x48\\x7f\\x6d\\x21\\xeb\\x80\\xb9\\xee\\xf7\\x94\\x1e\\xfa\\x62\\xe3\\x13\\xed\\x3b\\xe2\\xfe\\x9c\\xb9\\xe8\\x95\\x36\\xa6\\x4e\\x5b\\x3d\\xf6\\x2a\\xbd\\x8d\\x61\\xb6\\xcf\\xe4\\x21\\xd6\\xc1\\xe6\\x77\\x6c\\x99\\xef\\x4e\\x5a\\xb3\\x4f\\x0f\\x64\\xed\\x19\\x24\\x49\\xb6\\x1d\\x72\\xd4\\x11\\x22\\x05\\x66\\x6b\\xae\\x97\\xd6\\xba\\x39\\xdd\\x78\\xc9\\xff\\x6e\\x69\\x46\\xac\\x1f\\x60\\x33\\xcc\\x3c\\x8f\\x69\\x76\\xe3\\x90\\x6e\\xc8\\x00\\xbd\\x91\\xb8\\xed\\xc1\\x9c\\x9b\\x56\\xca\\x45\\xfb\\xfb\\xc6\\x27\\xf6\\xf5\\xc6\\x51\\x5b\\x7f\\x79\\x19\\xf9\\x17\\x6d\\xfd\\xd9\\x73\\x94\\x31\\x56\\x12\\x6f\\x3b\\x13\\x1c\\x51\\x07\\xe8\\xef\\x4b\\x1b\\xdb\\x6f\\x92\\xaf\\x8f\\xe4\\x3d\\xd0\\x49\\xca\\xaa\\xdf\\x48\\xbc\\x69\\x43\\x7f\\x5e\\xca\\x9a\\x39\\xb3\\xde\\x31\\xd8\\xd3\\x66\\xf2\\x7c\\xa6\\x71\\xd6\\xf7\\xde\\x63\\x1f\\xc4\\x1e\\x0c\\xbe\\x9b\\xd8\\x26\\x63\\x77\\xb1\\x31\\xae\\x78\\x5f\\x66\\xb5\\xfe\\x33\\x89\\xfd\\x1d\\x29\\xd4\\xbb\\x73\\xfd\\x0a\\x67\\xc0\\xae\\xd6\\xb9\\xa0\\x63\\xf1\\x79\\x31\\x60\\xa6\\xb1\\xd0\\x71\\x12\\x99\\xdd\\xc8\\x6c\\x43\\x66\\x3b\\x88\\x63\\xfd\\xfc\\xc8\\xca\\xe5\\x72\\x73\\xdf\\x67\\xd9\\x32\\xc7\\x3f\\x6f\\x98\\xef\\xd1\\x74\\x07\\x67\\x20\\xf6\\x75\\x11\\x96\\x2c\\xb0\\xc6\\x4d\\x36\\x16\\xfe\\xe5\\xcc\\xe9\\xcf\\xb9\\xb5\\x47\\x34\\x73\\x8e\\x4e\\x7b\\x4f\\x99\\x64\\x9d\\x35\\x3f\\xa5\\xbf\\xbf\\x7c\\xe2\\xe8\\x85\\xae\\x7e\\xc8\\x8f\\x91\\x42\\x47\\x34\\x76\\x4c\\x5b\\x73\\x25\\x32\\xa0\\x2a\\xcf\\xf3\\x8d\\xb5\\xe6\\xfb\\x5d\\x2f\\x90\\x07\\xf5\\x2a\\x52\\x41\\xfb\\x89\\x7d\\xde\\x70\\xdf\\x79\\xc7\\x36\\xcd\\xd8\\x6a\\xbd\\x27\\xfd\\xe7\\x15\\xcd\\x3c\\x63\\x3c\\x6a\\x3c\\x67\\x9b\\x4c\\x3b\\xd8\\x7f\\xe6\\xb4\\x5a\\xf3\\x0c\\xc3\\xbb\\xce\\x3a\\x77\\x1a\\x73\\xec\\x6f\\x58\\xef\\x92\\xd7\\xf5\\x85\\x9c\\x8b\\xca\\xcb\\x13\\xf6\\x17\\x79\\x37\\x1e\\x42\\xc7\\xef\\xe4\\xf0\\x2c\\xfb\\xf8\\xda\\x92\\xa2\\x5d\\x95\\x12\\xbc\\xf4\\x79\\xe7\\x19\\x87\\xef\\x7a\\x47\\x27\\x6a\\x76\\xde\\x2d\\xbf\\x59\\x73\\xc7\\xe6\\x7b\\xcf\\x4a\\xaa\\xb5\\x7f\\x68\\x65\\x3c\\x67\\x5f\\xe5\\x7b\\x17\\x6b\\xbe\\xb3\\x8e\\xff\\xfc\\x24\\x5d\\x03\\x87\\x52\\x1f\\xef\\x51\\x2f\\x91\\x32\\x98\\x9a\\x49\\x74\\xd4\\x27\\xae\\xa7\\xd8\\xd3\\x64\\x1b\\x2b\\x91\\x59\\xe9\\xb0\\x73\\x3f\\x96\\xbd\\xdb\\x1a\\x89\\xb4\\x3d\\x2c\\xc1\\x01\\x35\\xe0\\xe2\\x4b\\x49\\xd2\\x2f\\x1a\\x57\\x88\\x6f\\x05\\x73\\xe3\\x1a\\xf5\\x79\\xa7\\xce\\xd0\\xb3\\x51\\x2f\\x94\\xd1\\xc5\\x6d\\xc0\\x37\\x32\\xca\\x91\\x43\\xff\\x2a\\x9e\\x1f\\x90\\x66\\x81\\xcd\\x64\\xac\\x43\\x95\\x41\\xc5\\x76\\x8b\\xf7\\xe7\\x8c\\x6d\\xc0\\x5a\\x50\\xc5\\xb7\\xbe\\x48\\x08\\x70\\xb2\\x56\\x0c\\x67\\x3d\\x65\\x9d\\xbb\\x35\\xc8\\xca\\xa1\\xb9\\x17\\x33\\xf7\\xf8\\x70\\x50\\x5c\\x5b\\xda\\x35\\xde\\x3f\\xdb\\x88\\xa9\\x3b\\xbc\\xd8\\x25\\xd8\\x56\\x91\\xfe\\x5a\\xc4\\x61\\x9e\\x81\\xa7\\x19\\xeb\\xa8\\x81\\x86\\x56\\x1e\\xc8\\xbf\\x15\\xfb\\x3d\\xad\\xed\\x47\\x79\\x55\\x9f\\x2d\\xe3\\xac\\xbd\\x1c\\xf9\\x70\\x24\\x10\\xef\\x72\\x49\\x0c\\xd8\\x4c\\x9c\\xdb\\xac\\xbd\\xe0\\x28\\xfc\\xfb\\xd3\\x4f\\x73\\xcf\\xee\\xfb\\xdc\\x60\\xa7\\xf9\\xd9\\x80\\x95\\x47\\xde\\xfd\\x66\\xcd\\x98\\x79\\x73\\x54\\xa5\\x8e\\x2a\\xb1\\x0f\\xa3\\x76\\xcc\\xfc\\xdd\\xd5\\xfa\\xce\\x5e\\x07\\xa5\\x9c\\x2d\\xd2\\xf8\\xa5\\xb8\\x35\\x6b\\xdc\\xef\\xeb\\x56\\x9b\\xce\\x3e\\xab\\x22\\xe7\\x16\\xea\\xd4\\xaa\\x15\\x9f\\x4f\\x65\\x8a\\x7d\\x2b\\xd6\\x65\\xd5\\xf0\\x64\\xdf\\xf9\\xe4\\x9f\\xf6\\xe0\\x77\\xed\\x39\\x27\\x99\\x7b\\xb7\\xe2\\xb6\\xd8\\x96\\x39\\x37\\x2c\\x5e\\x68\\xcd\\x7d\\xcf\\x1d\\x7e\\xfd\\x2d\\xf2\\x43\\xfe\\x76\\x8f\\x4a\\xed\\x9b\\xf5\\x67\\xce\\x15\\xeb\\x6c\\x76\\x6f\\xeb\\xf7\\xd1\\x9c\\x8b\\xe4\\x23\\xc9\\x9a\\x33\\x66\\xdd\\x76\\x37\\x5e\\x61\\xdd\\xe9\\x51\\xcc\\xd3\\x9f\\xad\\xb4\\x37\\xfd\\x74\\xac\\x94\\xf6\\xf6\\x57\\x69\\xa7\\xca\\x5e\\x7b\\x39\\xc6\\x5f\\xe4\\x4c\\x53\\x28\\x4f\\x38\\x8e\\x33\\x67\\xf7\\x1a\\xcf\\x05\\x94\\x25\\x1f\\x6b\\xad\\x33\\xc4\\x40\\x73\\x0f\\x66\\x3b\\x29\\x85\\x01\\xdf\\x93\\x07\\xce\\x6e\\xe6\\x5a\\x6b\\x71\\xf6\\x2a\\x75\\xee\\x3b\\x3b\\xb4\\x2c\\x3e\\x43\\x52\\x43\\x0b\\x44\\x14\\xdd\\x57\\x53\\x0a\\xef\\x6e\\x45\\xf5\\xbd\\xab\\xc5\\xac\\x35\\x9e\\x19\\xd3\\x7c\\xef\\x7a\\xef\\x0a\\xfa\\x9e\\xf7\\xc1\\x7c\\x5f\\x79\\xd9\\x57\\x08\\x30\\x78\\x01\\x7b\\xf7\\xf8\\xdf\\xd5\\x9f\\x02\\xf3\\xbd\\x6a\\x07\\x07\\x79\\x4e\\x6d\\x7a\\xcf\\xf9\\x9e\\x8b\\xf9\\x8e\\xbd\\xe8\\xd3\\x67\\xbe\\xdb\\xcd\\x71\\x06\\x36\\xbd\\xa6\\xae\\x11\\x3e\\x18\\xd1\\xb4\\x2f\\xfa\\xdf\\xb1\\xfb\\xfd\\x36\\xc6\\xf9\\xe0\\xe5\\xdd\\x6b\\x7c\\x0e\\x9c\\xec\\x95\\xcc\\x97\\x7e\\xa4\\x3e\\x4d\\x69\\x5c\\xfc\\x9c\\x3a\\xe9\\x44\\xfb\\x04\\xcf\\x03\\xb5\\x00\\x49\\xa3\\x5d\\x67\\xb3\\x1b\\x27\\xf4\\xfd\\xc6\\x65\\xad\\x1f\\x5c\\x8e\\x92\\x79\\x9c\\x23\\x33\\x38\\x0b\\xb6\\x52\\x97\\xb0\\xb6\\xb6\\x90\\x56\\xb6\\xfa\\x32\\x8f\\xfb\\x42\\xf6\\xc6\\x73\\xf5\\x34\\xe3\\xa2\\xde\\x58\\x3a\\xd9\\x46\\xd0\\x3f\\xd5\\x38\\xab\\x46\\x1a\\xb7\\xb4\\x38\\xe3\\x5b\\x5b\\xba\\x4c\\xd5\\xd7\\x19\\x3b\\xf5\\x5b\\x32\\x53\\xff\\x56\\xd2\\xf4\\x00\\x59\\xc0\\xf9\\xe6\\x07\\xbd\\x90\\xfd\\x39\\xe3\\x6c\\x5f\\xc8\\x16\\xdb\\x4c\\xe3\\x0b\\xf6\\xbe\\xad\\x40\\xa1\\x09\\x2d\\x52\\xa9\\xaf\\x7f\\xae\\xd4\\xd7\\x0c\\xc3\\x63\\xdb\\x69\\xbc\\x42\\xbd\\x35\\xd6\\x15\\xe3\\x17\\x6b\\x7e\\x8c\\x61\\x6d\\x18\\x63\\xdc\\xd0\\xde\\x97\\x24\\xb3\\xbe\\x58\\x7f\\x3e\\xd3\\x32\\x8d\\x1f\\xad\\x77\\xdf\\x62\\xce\\x72\\xe6\\xfa\\xe7\\x41\\x26\\xcf\\xf7\\x8e\\xa7\\x2d\\x4f\\x5b\\x9e\\x79\\x95\\x65\\x7e\\xf6\\xa0\\xad\\x13\\x27\\x7d\\x0f\\x98\\x6b\\x89\\xde\\xca\\x5a\\xe3\\x0e\\xe1\\x47\\x45\\x3d\\x8e\\xfd\\xad\\xf5\\xee\\x33\\x4e\\xdb\\x16\\x1b\\x5e\\xda\\xcd\\x77\\x7d\\x36\\x77\\x1d\\x5b\\xb7\\xa8\\x97\\xf2\\xfa\\x09\\xe3\\xb0\\x59\\x77\\xd6\\xde\\x7e\\x30\\xe3\\xd0\\xc1\\xfa\\xf4\\x82\\x39\\x9f\\xb4\\x1f\\xa4\\x34\\xe7\\xeb\\xd2\\xda\\x1a\\xe9\\x0b\\x7a\\x68\\x87\\xa5\\x8b\\xb6\\xd2\\x42\\x13\\xed\\x92\\x3c\\xa8\\x1d\\x92\\x2e\\x4a\\x6b\\xe9\\xa2\\x6e\\x90\\x06\\xda\\x32\\xfa\\x55\\xe9\\x02\\xaf\\x5d\\xb4\\xfd\\xd4\\xd8\\xc7\\xe0\\x0f\\x19\\xa8\\x85\\x4a\\x8e\\x36\\x8d\\xbe\\x97\\x41\\x65\\x79\\x41\\x9b\\xcb\\x7b\\xda\\x25\\xbb\\x79\\x17\\xd6\\x07\\x59\\xea\\x11\\xfc\\x7e\\x9b\\xf7\\xd7\\x14\\xc3\\xcb\\xf3\\xc7\\xb5\\x32\\x32\\xd6\\x84\\x9a\\x29\\x49\\x20\\x41\\x4b\\x64\\x9d\\x33\\x44\\x53\\x1f\\x97\\xca\\x9a\\x21\\xa1\\xea\\x38\\xd1\\xb5\\x8a\\xec\\xb3\\xbf\\x40\\x7f\\x45\\xc9\\xb7\\xae\\xaf\\x1a\\x37\\x94\\xf9\\x52\\x80\\xae\\x1e\\xda\\x4e\\xce\\x93\\xb5\\xa5\\x8d\\x7a\\x52\\x96\\x69\\xb3\\xa4\\xae\\x56\\x5d\\x02\\xd4\\x6b\\xec\\xaf\\x83\\x64\\x24\\x7e\\x8c\\xd0\\x82\\x8c\\x13\\x62\\x18\\xc7\\x95\\x99\\xc6\\x71\\xf5\\x08\\x79\\x3d\\x89\\x8d\\xea\\xc6\\x46\\x64\\x2a\\x69\\x25\\x8c\\xcf\\xb5\\x69\\xac\\xd3\\x41\\xc6\\x30\\x47\\x3b\\xeb\\x3d\\x14\\xe1\\x3b\\x0f\\x1b\\xab\\x79\\xd7\\x9b\\x9f\\x25\\x70\\xbe\\xf5\\xfe\\xc4\\xfe\\x6a\\xb4\\x09\\x38\\xfb\\x8e\\x67\\x2b\\xac\\xf3\\x50\\x9e\\xf1\\x91\\x56\\x52\\x3a\\xe8\\xf9\\xc6\\x69\\x7b\\x8c\\xf1\\x1a\\x6b\\x4d\\xb8\\x09\\xeb\\x7d\\x35\\x88\\x7d\\xc4\\x34\\xe3\\x27\\xeb\\xac\\xe8\\xd3\\xd7\\xdb\\x36\\x9d\\xf3\\x9f\\xf5\\x19\\x89\\xd1\\xe8\\xcf\\xcf\\x55\\x8d\\x83\\xe8\\xb5\\xce\\xce\\x5a\\x8c\\xf7\\x86\\xb5\\x5e\\xfa\\x3e\\x47\\x3d\\xa2\\xfb\\x3e\\xab\\xbd\\xf3\\x99\\xa0\\xff\\x5c\\xf9\\x82\\x2d\\x52\\x9a\\x5a\\x9f\\xe9\\x88\\xb1\\x53\\xed\\x6c\\xd4\\xb1\\xde\\x55\\xe6\\x79\\xbb\\x84\\x0c\\x52\\xbf\\x92\\xa9\\xa0\\xb9\\x56\\x09\\x8e\\x32\\xa5\\xb5\\xb2\\x56\\x16\\x29\\x6b\\x8d\\xdf\\xe0\\xb4\\xbd\\x7a\\x4c\\x96\\xc3\\x6b\\x2a\\x68\\xea\\x47\\xaa\\xf2\\xad\\x84\\xd3\\x26\\xc0\\xcf\\x5a\\x75\\x84\\x0c\\x82\\xef\\x32\\xa0\\x89\\x3a\\xce\\xe8\\x09\\xef\\xa5\\xd4\\xcf\\xa4\\x11\\x7c\\x4f\\x03\\xd3\\xd5\\x5d\\x12\\x0d\\x87\\x4b\\xe0\\xbd\\x3f\\xcf\\x42\\xb5\\xba\\x32\\x94\\xb6\\x11\\x68\\x09\\xa7\\x36\\x75\\x95\\xa4\\x82\\x52\\xf0\\x5a\\x5f\\xdd\\xc9\\xf9\\xa3\\x92\\xb0\\x1e\\x18\\xec\\x9d\\xbd\\xdf\\xfb\\xcf\\x0d\\xec\\x8f\\x8d\\x9a\\xfe\\xfd\\x2e\\x67\\x02\\x23\\x8b\\x67\\x97\\xc0\\x59\\xae\\xeb\\x82\\x1f\\xb9\\x7e\\xf5\\x9e\\xcf\\x04\\xe2\\xfe\\xa3\\xbd\\xeb\\xb3\\x49\\xff\\x59\\xfd\\xbf\\xb7\\xff\\xc3\\xcf\\x2c\\xcd\\x7d\\x9f\\xf9\\x59\\xf8\\xdf\\x7c\\x46\\x79\\x4f\\x6b\\xec\\x23\\x6f\\x2f\\x16\\xdf\\x93\\x5b\\xf6\\x12\\xde\\x3d\\x77\\x3e\\xa3\\xf4\\x7f\\x96\\x73\\x6f\\xab\\xfb\\x3e\\x97\\x3c\\xe9\\x6f\\xbf\\xf5\\xb7\\xd1\\xbe\\xd6\\xfb\\x8d\\xf9\\xce\\x32\\xeb\\xe2\\xde\\xf6\\x9f\\xfd\\xf8\\xef\\x9f\\x55\\xde\\xf5\\x99\\x49\\x7a\\xf1\\x67\\x6d\\xfe\\xbd\\xe6\\xdd\\x9f\\x5d\\x9e\\xf3\\xb7\\xe7\\xfd\\x6d\\xf7\\x7f\\xfb\\x0c\\xf3\\x9e\\xcf\\x7a\\x8a\\x3f\\xc3\\x8c\\xa2\\x7d\\x06\\x2e\\xd6\\xd0\\x0e\\xa0\\x7d\\xf0\\x9e\\xcf\\x88\\x4a\\xf9\\xdb\\xa6\\x7f\\xf3\\xd9\\xd1\\x46\\x6b\\x9d\\xf2\\xb7\\xc5\\xef\\xa5\\x7f\\x6b\\xff\\xe6\\x3d\\x79\\xf7\\xe7\\x82\\xf7\\x7e\\x0e\\x7a\\xdd\\x97\\x2b\\xe9\\xe5\\x5f\\x0f\\xcd\\xbd\\x5d\\x55\\x6b\\x7f\\xd0\\x4f\\x6a\\xff\\xe3\\xe7\\xe3\\xff\\xd7\\xda\\xff\\x5d\\x2d\\xfe\\xcd\\xe7\\x73\\xc5\\x9f\\x8b\\x47\\x51\\x33\\x67\\xff\\x2d\\xe7\\xff\\xd8\\x16\\x7f\\x0e\\xfb\\x2f\\xed\\xbd\\x39\\xba\\xf3\\x19\\xec\\xbf\\xb4\\x7f\\xf9\\x3c\\xfa\\x6f\\x5a\\xeb\\x0c\\xf8\\x5f\\xe0\\x3b\\x9f\\x1a\\xcb\\xed\\xd3\\x65\\x1a\\xd8\\x70\\x57\\x3b\\xd3\\x84\\xb5\\x06\\xfe\\x0d\\xec\\xf1\\x32\\x11\\xcc\\x74\\xbc\\xce\\x5e\\xfa\\x75\\x79\\xb6\\xb8\\xb5\\xce\\x96\\xff\\x05\\xf6\\x79\\x8c\\x9b\\x27\\x33\\x03\\x9c\\x32\\x0a\\x3c\\x7b\\x57\\x3b\\xce\\x84\\x79\\x9e\\xfc\\x6f\\xd0\\x14\\x99\\x08\\x66\\xea\\x0b\\xe0\\x6d\\x01\\xf6\\xfe\\x6c\\xc7\\x59\\xf0\\x7d\\x6f\\xf3\\x1f\\xb0\\xaf\\xc4\\xee\\x4a\\xec\\x56\\xc1\\x5e\\x15\\xfc\\xdd\\x8f\\xbf\\xfb\\x19\\x67\\xbe\\xbf\\xff\\x0b\\x4c\\x0e\\xcc\\xb8\\x02\\xc2\\xad\\x18\\x67\\x9a\\xe7\\xdb\\xff\\x8a\\x49\\xd8\\x99\\x84\\x9d\\x40\\xec\\x04\\x32\\xe6\\x25\\xec\\xbc\\x64\\xb5\\xd3\\x4c\\x14\\xf3\\x5e\\xcc\\x63\\x31\\x2f\\xc5\\xf1\\xdd\\xf1\\xb9\\xd8\\xbe\\x5f\\xef\\xff\\xdf\\x3c\\x62\\xa3\\xe4\\x7f\\xc3\\xbf\\xe5\\xe5\\xff\\x56\\xdc\\xff\\xcd\\xf7\\xbb\\xa1\\xae\\x57\\x7a\\xb1\\x66\\x9e\\xa3\\xcd\\xf6\\x7f\\x06\\xf7\\xfc\\x3d\\x3e\\x27\\x5a\\x7e\\x4f\\x97\\x2d\\xe0\\x65\\xfb\\xcf\\xb4\\x3f\\xcb\\xcb\\xfe\\xb5\\x76\\x9a\\x1f\\x33\\xe1\\x34\\xed\\xaf\\x35\\x64\\x5c\\x57\\xf6\\xfd\\xf9\\x7d\\xa3\\x36\\x50\\xb6\\x80\\x97\\xfd\\x9f\\xfb\\x99\\x98\\xf9\\x1f\\x75\\xb0\\xd8\\xf8\\xc4\\x82\\xff\\xde\\xff\\x3d\\xe3\\x51\\xec\\xce\\xb7\\x9f\\x97\\xa1\\xe6\\x3c\\x60\\x5c\\x17\\x1f\\x94\\x07\\xff\\x8e\\x1f\\x07\\x76\\xa8\\xbf\\xd6\\x8e\\x66\\xf2\\x01\\x3c\\xb5\\xb6\\x3e\\xbb\\x59\\xaf\\xe4\\x80\\x61\\xe6\\x41\\xc0\\xfc\\x92\\xbf\\xb8\\x55\\x5f\\xb5\\xfe\\x78\\x80\\x28\\xbc\\xad\\xa9\\x05\\xeb\\x7b\\x74\\x85\\x9d\\xb8\\xbc\\x5a\\xfc\\x3d\\xbf\\x71\\x0c\\xb8\\xc0\\x17\\xbc\\xbf\\xdb\\xf2\\x8e\\xf9\\xd9\\x04\\xe7\\x2c\\x0b\\xd6\\xf7\\x2e\\xc3\\xcc\\xcf\\xe9\\x65\\x1f\\x30\\xbf\\xcf\\xbb\\x41\\x7b\\x1b\\xff\\x16\\x99\\xdf\\xfb\\xf2\\xce\\xd9\\x4e\\xbb\\x1d\\xdd\\xc7\\x41\\x0b\\xf5\\xa0\\xe4\\x62\\x77\\x87\\x5f\\x9f\\xf9\\xf9\\x61\\x78\\x31\\x4c\\xbb\\x3c\\x4b\\x53\\x0a\\x64\\xab\\x7a\\xd4\\x42\\x7f\\xc6\\x9a\\x9f\\xbb\\x86\\x99\\x9f\\x2d\\xa3\\xeb\\xb8\\xd2\\xf5\\xf6\\xe7\\xf8\\xf8\\xd6\\x5d\\xe3\\xc2\\xfc\\x28\\x65\\xde\\x23\\x5b\\x01\\xb4\\x07\\x2f\\x80\\x36\\xea\\x25\\xe9\\xa9\\x7e\\x63\\xec\\x61\\x0f\\x6a\\x63\\x9f\\x13\\xca\\x5e\\xf0\\x3d\\xae\\x1d\\xf8\\xd2\\xdd\\xff\\x19\\xcc\\x18\\xe2\\xf9\\xd4\\xfc\\x5e\\xc9\\xff\\x3e\\x0e\\x0a\\xd8\\x25\\xed\\x4b\\x04\\x4a\\x3a\\xef\\xa2\\x20\\xfb\\xc7\\x9c\\xcf\\x62\\xad\\xef\\x0d\\x22\\xac\\xef\\x13\\xce\\x4a\\x01\\x71\\x5f\\xd1\\x53\\x8d\\x15\\x77\\xbe\\xb3\\xf7\\x7d\\xd7\\x30\\xd5\\xd4\\x45\\x4c\\xcb\\x1d\\xa5\\xe5\\x51\\x75\\x09\\xfc\\x90\\x23\\xdb\\x39\\x69\\x42\\x4c\\x3b\\xed\\xc9\\x32\\x52\\x3f\\x28\\xd9\\x8e\\x27\\xa5\\xa4\\x76\\xc9\\xf8\\xd1\\xbe\\x41\\x1a\\x83\\x8a\\xfe\\xb6\\x09\\xe8\\x0f\\x26\\x9b\\x67\\x82\\x00\\x51\\x9e\\xd7\\x39\\xab\\xdd\\xdb\\x9a\\xd0\\xae\\x4b\\x3d\\xfd\\x9c\\xc4\\xd8\\x97\\xc8\\x4d\\xdb\\x16\\xf9\\xc8\\xfc\\xbc\\xdb\\xcf\\xc9\\x5a\\x7d\\x80\\xa4\\xd1\\xf7\\xa0\\xe3\\xa8\\xb2\\xd4\\xb6\\x4b\\x89\\x52\\x6b\\x18\\xcf\\xd1\\xd7\\xd6\\xfc\\x6e\\xdd\\xfc\\xce\\x9d\\x36\\xdd\\xba\\x3e\\x2a\\x2b\\xad\\xfb\\xa3\\x6a\\xa2\\x7e\\x54\\xb1\\xd9\\x5e\\x35\\x7e\\xb5\\x89\\x72\\xdc\\xf6\\xaa\\x3a\\xd7\\xba\\xfe\\x8f\\xf6\\x5e\\x28\\x5f\\xfa\\x9e\\x99\\xad\\x89\\xbb\\x9f\\xfd\\x6f\\xfb\\xff\\x27\\x60\\x43\\xf2\\x17\\xa8\\x47\\x69\\x07\\x5b\\xd7\\x47\\xa9\\xdb\\xa3\\xf2\\x30\\xb0\\xb3\\x07\\x1e\\x61\\xc2\\xac\\x6b\\xc7\\x25\\xe5\\x39\\xb0\\xa0\\xb8\\x85\\xb7\\x64\\x64\\x5e\\xd6\\x77\\x4b\\x3f\\xda\\x4d\\xa0\\x92\\x09\\xe4\\xf3\\x02\\x52\\x95\\x8d\\x01\\xc3\\x94\\x4f\\x1d\\x59\\x4a\\x86\\x5d\\x94\\xaf\\x40\\x47\\xdd\\x2d\\x0d\\x6d\\x6e\\x69\\xa4\\xef\\x62\\x3f\\x51\\x9a\\x33\\x8d\\x70\\x2e\\xb7\\x72\\x20\\x35\\xa9\\x85\\x60\\x6a\\xbc\\xcc\\x9d\\xef\\x38\\xf7\\x99\\xdf\\x1b\\x19\\xcf\\xab\\xf5\\xbd\\x6f\\xff\\xf9\\x5d\\x9d\\x7f\\x5f\\x68\\xed\\x4f\\x24\\xcc\\xfa\\xee\\xe9\\xb0\\x8c\\x0e\\x68\\x2b\\x9b\\xec\\x3b\\xcc\\x3d\\x0a\\xef\\x8f\\xc3\\xbc\\x63\\x1e\\x95\\x24\\xf3\\x73\\x4e\\x6a\\xfb\\x57\\xea\\x77\\x13\\xd8\\x0c\\x1e\\xa0\\x8e\\x7e\\x40\\x66\\x99\\x09\\x72\\xfb\\x05\\x30\\xff\\xcc\\xc7\\xcb\\xf4\\xdf\\x36\\x3f\\x3f\\x37\\xf7\\x76\\xdc\\x8f\\xd6\\x0a\\xc4\\xa5\\xcc\\x94\\x97\\xcc\\xef\\x47\\x90\\x6d\\x69\\x82\\x33\\xaf\\xb9\\x37\\x5f\\x6d\\x9d\\x57\\x39\\xdb\\x5a\\xe7\\x64\\xff\\xf9\\xf8\\xee\\x73\\xb0\\x75\\xbe\\x35\\xcf\\xb6\\x53\\x25\\xdb\\x3a\\xe7\\xde\\x0d\\xc6\\x14\\xe3\\x3f\\xcf\\xd8\\xc6\\xe7\\xd4\\xf7\\x0f\\xbe\\xf3\\x35\\x67\\xd1\\xbb\\xcf\\xd7\\x9c\\xad\\xef\\x9c\\xab\\x8b\\xcf\\xd4\\x7f\\x73\\x9e\\x36\\xcf\\xe9\\xa6\\x5e\\x6b\\x1c\\x32\\x36\\xbb\\xb9\\x26\\xdc\\xae\\x44\\xea\\x46\\xd2\\x9a\\x7f\\x36\\x6b\\xbe\\xb5\\x3e\\xad\\x17\\x73\\x4d\\xae\\x07\\xdf\\xbf\\x2b\\xfb\\x94\\x38\\xb5\\x3b\\x6b\\x74\\x77\\x25\\x48\\x5d\\x2a\\x7b\\xc0\\x8f\\xea\\x4c\\xf9\\x4d\\x5d\\x2d\\xaf\\x69\\xd5\\x64\\x8c\\xda\\x4a\\xcc\\xef\\x11\\x4e\\x33\\x9e\\xb3\\xc8\\xed\\x6d\\xe6\\x7a\\x25\\x72\\xcb\\xfc\\x7e\\xa4\\x31\\xd7\\x65\\x69\\x3b\\x71\\x6f\\x7e\\xfe\\x5f\\x5d\\xe4\\xe6\\x37\\xfe\\xef\\x09\\xcc\\xef\\x3d\\x14\\x73\\xde\\xfa\\xec\\x7a\\x3f\\x42\\xe6\\xa5\\x3f\\xe5\\x6f\\x32\\xfe\\xc6\\x2f\\xc0\\x43\\x3f\\x2b\\xe4\\x4d\\xaa\\xee\\xe6\\x30\\xdf\\xf7\\x1c\\x37\\xe1\\xf9\\x86\\x97\\xf6\\x0c\\xad\\xb9\\xce\\xd5\\xa6\\xbf\\x80\\x71\\xcf\\x80\\xaf\\xb9\\x0e\\x02\\x73\\xc1\\x44\\x64\\x36\\xd2\\xd6\\xa1\\x65\\xcd\\xbb\\x15\\x08\\x22\\xb8\\x46\\xee\\xe6\\x52\\xf3\\x5c\\x81\\x0f\\x33\\xfc\\x20\\x06\\xe3\\x11\\xf0\\xb1\\x98\\xfb\\xda\\x6e\\xb2\\xfa\\x1e\\xb4\\x03\\x9d\\xfc\\xad\\x89\\x0c\\x2d\\x8c\\xbc\\x76\\x63\\x6d\\xf2\\xa1\\x03\\xa8\\x02\\x5a\\xd1\\x6f\\xb6\\xe5\\x41\\xb2\\x1f\\x15\\x40\\x35\\xfa\\xcd\\xeb\\x38\\x10\\x0d\\xea\\xf8\\x51\\x9d\\xfe\\x4a\\xfe\\xf1\\x6d\\xef\\x42\\x6f\\xfa\\xdb\\xfe\\x8d\\x1f\\x99\\xfe\\xe7\\x19\\xc5\\xb2\\x7e\\xb9\\x6a\\xa0\\x3e\\x48\\x2f\\x06\\xfd\\xe9\\x7e\\x1b\\xb5\\xef\\xb2\\x57\\x87\\xfe\\xda\\xf7\\xd8\\x2a\\xd6\\x33\\xe4\\x5e\\xdd\\x77\\xe9\\xbf\\xd7\\x8f\\xae\\xa0\\x1b\\xc8\\xf1\\xb7\\x5d\\x91\\xeb\\x49\\x5b\\x0f\\xd4\\xf5\\xc3\\xbc\\xae\\x47\\xbf\\xd9\\xde\\x0f\\x5a\\xde\\x0d\\xfa\\xcd\\x76\\x9a\\x1f\\xf5\\xfd\\x68\\x40\\xbf\\xd9\\x2e\\xb8\\x17\\xff\\xe0\\xc7\\xbd\\x71\\x74\\x40\\xce\\xe4\\xb2\\xfa\\x5d\\x31\\x9b\\x7c\\xc7\\xf9\\x79\\xae\\xe6\\xcf\\x47\\x71\\x6e\\xca\\xfb\\xf3\\xd2\\xca\\x9f\\xbf\\x0e\\xc5\\x39\\xf5\\xe7\\x31\\xe3\\xae\\x9c\\x5b\\xf9\\xf7\\xe7\\xfd\\x2f\\x7e\\x50\\xb7\\x27\\xa8\\x9b\\xa1\\x80\\x79\\x64\\xb8\\x41\\x63\\xff\\xf7\\x78\\x66\\xdf\\x40\\xeb\\x33\\x8c\\x7f\\xd9\\xdf\\xfd\\xdb\\xbe\\xf8\\xdf\\xf6\\xb1\\xff\\x26\\x6f\\x9d\\xcb\\xf6\\xcb\\x03\\xd6\\xf7\\x4f\\xfb\\x65\\xa6\\x6f\\xce\\x19\\x19\\xfe\\xef\\xfd\\x56\\x80\\xc7\\xc0\\xdb\\xbe\\xcf\\x09\\x8d\\x50\\xff\\x77\\x82\\xe6\\x67\\x86\\x0b\\x41\\x88\\xbf\\x65\\x1e\\x7a\\x8f\\xdc\\x85\\xfd\\xbe\\xef\\x36\\x6f\\xff\\x46\\x3b\\xc5\\xaf\\xab\\xd0\\x8f\\x4d\\x66\\xcb\\xfc\\x3c\\x01\\x36\\xeb\\x8d\\xd9\\xc3\\x98\\x30\\xd7\\x2d\\x73\\x4d\\x62\\xed\\x29\\x86\\xb5\\x86\\xb1\\xe6\\x21\\x1f\\x09\\xcc\\x75\\x41\\xd1\\xf3\\xd9\\xfb\\xbd\\xe8\\xfb\\x1e\\x83\\x25\\x49\\xf3\\xa3\\x9c\\xef\\x4f\\x4a\\xea\\xe5\\xb9\\x53\\xac\\x7b\\x5d\\x37\\x97\\x2c\\xaf\\x14\\x88\\x5d\\xa6\\xc8\\x14\\x6d\\x94\\x36\\x4e\\x9b\\xa2\\xcd\\xd6\\xe6\\x68\\x6b\\xb4\\x4f\\x6c\\x11\\xb6\\x38\\xdb\\x3e\\xdb\\xf7\\xb6\\xeb\\x71\\x1f\\xc5\\x2f\\x8f\\x7f\\x2e\\xfe\\x0f\\x67\\x69\\x67\\x9c\\xb3\\xa5\\xb3\\x9d\\xb3\\x9b\\x33\\xc7\\xd9\\xc3\\xd9\\xcb\\xf9\\x88\\x73\\x8b\\x73\\xaf\\xf3\\x73\\xe7\\x09\\xe7\\x55\\xe7\\x75\\xa7\\xd7\\x15\\xea\\x4a\\x74\\xa5\\xb8\\xaa\\xbb\\x6a\\xb9\\x1a\\xb8\\x1a\\xb9\\x9a\\xb8\\x5a\\xb8\\x7a\\xbb\\x46\\xb9\\xc6\\xb9\\x26\\xb8\\xa6\\xba\\x16\\xb9\\xde\\x74\\x5d\\x4b\\xb0\\x25\\x44\\x24\\x44\\x27\\x24\\x26\\xa4\\x24\\x54\\x4d\\x68\\x9f\\xd0\\x25\\xa1\\x77\\xc2\\x8c\\x84\\xc5\\x09\\xeb\\x12\\xd5\\x44\\x7b\\x62\\x68\\x62\\x78\\x62\\xe9\\xc4\\xb2\\x89\\xce\\xc4\\x4a\\x89\\xa9\\x89\\xad\\x12\\x73\\x13\\x07\\x26\\xa9\\x49\\x61\\x49\\x09\\xc9\\x92\\xac\\x26\\x07\\x25\\x87\\x25\\x47\\x26\\xc7\\x24\\x97\\x4b\\x2e\\x9f\\x5c\\x39\\xb9\\x56\\x72\\xa3\\xe4\\xe1\\xc9\\x05\\xc9\\x33\\x92\\x67\\x25\\xcf\\x49\\x5e\\x98\\xbc\\x26\\x79\\x43\\xf2\\xa6\\xe4\\x1d\\xc9\\x3b\\x93\\xf7\\x26\\x1f\\x48\\x3e\\x94\\xfc\\x65\\xf2\\xf9\\x94\\x46\\x29\\xee\\x94\\x66\\x29\\x7d\\x53\\xfa\\xa7\\x0c\\x4a\\x19\\x96\\x32\\xaa\\xf2\\x88\\xca\\xe3\\xab\\x46\\xbf\\x9c\\xf0\\xf2\\x9c\\x9b\\xea\\xcd\\x3a\\x37\\x1b\\xdd\\x6c\\x72\\xb3\\xe9\\xcd\\x16\\x37\\x3b\\x78\\x93\\x8c\\x5b\\x86\\x61\\xfd\\x09\\xcd\\xd5\\x5a\\xbe\\x36\\x49\\x9b\\x41\\xfc\\x4f\\x69\\x2f\\x68\\x87\\x6d\\x65\\x6d\\x0b\\x6c\\x87\\x6d\\xd7\\xe2\\x24\\xce\\x4b\\xfc\\xab\\x9d\\xe2\\x8c\\x71\\xba\\x9c\\xad\\x9c\\x99\\xfe\\xf8\\xfb\\x38\\x0b\\x9c\\x5b\\x9d\\x1f\\x38\\x8f\\x39\\xbf\\x76\\xfe\\xe4\\xfc\\xd5\\x25\\xae\\x70\\xe2\\xbf\\xcf\\x55\\xd3\\x55\\xff\\x4e\\xfc\\x43\\x5d\\xf9\\xae\\xf1\\xc4\\x3f\\xdf\\xb5\\xda\\x1f\\x7f\\x94\\x3f\\xfe\\x76\\x09\\x9d\\x13\\x7a\\x10\\xff\\xfc\\x3b\\xf1\\x97\\x22\\xfe\\x32\\x89\\xf1\\xfe\\xf8\\xfb\\x26\\x0e\\xb0\\xe2\\x77\\xfd\\x43\\xfc\\x99\\x77\\xe2\\x9f\\x9f\\xbc\\x3a\\x79\\xfd\\x9d\\xf8\\x3f\\x22\\xfe\\xe3\\xc4\\xdf\\xe0\\x4e\\xfc\\x03\\x53\\x86\\x12\\x7f\\xdf\\xca\\x63\\x88\\x3f\\xfa\\xe5\\x59\\x37\\x95\\x9b\\x71\\x37\\xeb\\x11\\xbf\\xfb\\x66\\xf3\\x9b\\x19\\x5e\\x97\\x19\\xbf\\x71\\xd6\\x78\\xcf\\x78\\xc7\\xd8\\x61\\xbc\\x69\\x6c\\x31\\x36\\x1b\\x9b\\x8c\\x8d\\xc6\\xab\\x46\\x3d\\xa3\\xba\\x91\\x7a\\xc1\\x55\\x74\\xa5\\xe8\\x52\\xd1\\xf7\\x45\\xdf\\x15\\x9d\\x29\\x3a\\x5d\\xf4\\x4d\\xd1\\xc9\\xa2\\x13\\x45\\x5f\\x15\\x7d\\x59\\x74\\xbc\\xe8\\x58\\xd1\\xd1\\xa2\\x23\\x45\\x9f\\x15\\x7d\\x5a\\x74\\xa8\\xe8\\x93\\xa2\\x83\\x45\\x1f\\x17\\x7d\\x58\\xf4\\x7e\\xd1\\xde\\xa2\\x5d\\x45\\xef\\x16\\xbd\\x53\\xb4\\xbd\\x68\\x75\\xd1\\xe2\\xa2\\x05\\x45\\xf3\\x8b\\x66\\x17\\x4d\\x2a\\x1a\\x55\\x54\\xbb\\x28\\xa1\\x28\\xb2\\x28\\xbc\\x28\\xa0\\xc8\\x76\\xde\\x7b\\xfe\\xf4\\xf9\\x93\\xe7\\x8f\\x9d\\xdf\\x78\\xfe\\xa5\\xf3\\x8b\\xce\\x37\\x3c\\x5f\\xef\\x7c\\xf5\\xf3\\xd5\\xce\\x57\\x39\\x7f\\xdf\\xf9\\x0a\\xe7\\xe3\\xcf\\xc7\\x9d\\x57\\xce\\x7d\\x7f\\xee\\xc2\\xb9\\xb6\\xe7\\xd2\\xcf\\x55\\x3f\\xdb\\xe9\\x6c\\xc7\\xb3\\xad\\xce\\xb6\\x3c\\xdb\\xec\\x6c\\xfa\\xd9\\x46\\x67\\x6b\\x9f\\xad\\x7a\\xb6\\xc2\\x59\\xd7\\xd9\\xe0\\x33\\x37\\xce\\xfc\\x76\\xe6\\xfa\\x99\\x1f\\xcf\\xfc\\x70\\xe6\\xcc\\x99\\xaf\\xce\\x1c\\x3d\\xf3\\xc9\\x99\\x83\\x67\\x3e\\x38\\xb3\\xfb\\xcc\\xbb\\x67\\xb6\\x9d\\x79\\xf5\\x4c\\xf6\\x99\\xac\\x33\\x5d\\xce\\xd4\\x3d\\x53\\xfb\\x4c\\xad\\x33\\x35\\xce\\x54\\x3d\\xd9\\xe4\\x64\\xc3\\xaf\\x56\\xe4\\xae\\xcc\\xad\\x1b\\xbc\\x27\\xf8\\x95\\xe0\\x75\\xc1\\x2f\\x07\\xbf\\x14\\xbc\\x36\\xf8\\xc5\\xc0\\x23\\x01\\xb7\\xfc\\x7f\\x82\\xf8\\xff\\xdd\\x1f\\xbb\\x1a\\x68\\x36\\x8a\\xfc\\x07\\x13\\x8a\\x75\\xd8\\x32\\x7f\\xd4\\x7f\\xd1\\xe1\\x1b\\xa9\\x71\\x50\\xb3\\xb1\\x9a\\x38\\x38\\x18\\x95\\x90\\x40\\x29\\x29\\x41\\x12\\x2c\\x21\\x12\\x2a\\x61\\x52\\x4a\\xc2\\x25\\x42\\x22\\xa5\\xb4\\x44\\x49\\xb4\\xc4\\x48\\x19\\x29\\x2b\\xb1\\xac\\x42\\x71\\x12\\x2f\\x4e\\x66\\x5f\\x82\\x24\\x4a\\x92\\x94\\x97\\x64\\x49\\x91\\x0a\\x52\\x51\\x2a\\xc9\\x7d\\x92\\x2a\\x95\\xa5\\x8a\\x54\\x95\\x6a\\x52\\x5d\\x6a\\x48\\x4d\\x49\\x93\\x5a\\xec\\x59\\xea\\x48\\x5d\\xa9\\x27\\xf5\\xa5\\x81\\x34\\x94\\x46\\xd2\\x58\\x9a\\x48\\xba\\xb8\\xa5\\xa9\\x34\\x93\\xe6\\xd2\\x42\\x5a\\x4a\\x86\\xdc\\x2f\\xad\\xa4\\xb5\\x3c\\x20\\x6d\\xa4\\xad\\xb4\\x93\\xf6\\xd2\\x41\\x32\\xa5\\xa3\\x74\\x92\\xce\\xd2\\x45\\xb2\\x58\\x15\\xbb\\x49\\x36\\x7b\\x98\\xee\\xd2\\x43\\x7a\\x4a\\x2f\\xe9\\x2d\\x7d\\xa4\\xaf\\xe4\\xe2\\xff\\xe3\\xac\\xee\\x4f\\xc8\\x93\\xb2\\x50\\x96\\xb2\\x27\\x7d\\x41\\x9e\\x97\\x17\\xe5\\x25\\x59\\xcb\\x3e\\xf6\\x15\\x4e\\x98\\x9c\\x81\\xe5\\x35\\x79\\x43\\x5e\\x17\\x8f\\x6c\\x94\\xcd\\xf2\\xa6\\x6c\\x91\\xad\\x52\\x28\\xdb\\x64\\x27\\x27\\xbc\\xb7\\xe5\\x1d\\xc7\\x25\\x19\\x2b\\x03\\x64\\x20\\x67\\x9a\\x2b\\x32\\x41\\xd6\\xc8\\x68\\x19\\x16\\x70\\x9f\\x3c\\x24\\x43\\x03\\x1e\\x90\\x59\\xf2\\x6c\\x40\\x4b\\x76\\xef\\x6d\\x03\\xda\\xc9\\x60\\x19\\x1f\\xd0\\x38\\xc0\\x1d\\x90\\xae\\x8d\\x0d\\x68\\x25\\xc3\\x65\\xb2\\xd6\\x43\\xd6\\xb1\\xa3\\x9c\\x26\\xfd\\x65\\x64\\x40\\x0b\\xa5\\x4b\\x40\\xeb\\x80\\x26\\x32\\x42\\x1e\\x71\\xfc\\x20\\xfd\\xd8\\x25\\x3e\\x26\\xcf\\x28\\x91\\x4a\\x69\\xc7\\x37\\x8e\\x53\\x8e\\x22\\xc7\\x05\\xc7\\x59\\xc7\\x77\\xb2\\x3d\\xe0\\x49\\xd9\\xad\\x34\\x70\\xdc\\x0e\\x88\\x75\\xfc\\xe1\\xb8\\x11\\xb0\\x37\\xe0\\x7d\\xc7\\x65\\x99\\xe8\\x38\\xe7\\xb8\\xe8\\xf8\\x45\\x66\\xc8\\x1c\\x79\\x54\\xe6\\xca\\x6c\\x99\\x27\\xf3\\x65\\x81\\x3c\\x25\\x8b\\x65\\x09\\x11\\x2e\\x92\\x15\\xb2\\x52\\x96\\xcb\\xcf\\xea\\x2c\\xf5\\x39\\xf6\\xa0\\xcf\\xaa\\xcb\\xd5\\x15\\x32\\x49\\x5d\\xa5\\xae\\x54\\x9f\\x10\\x71\\xdf\\xdf\\xa3\\x7b\\x4e\\x76\\x56\\x97\\xce\\x9d\\x3a\\x66\\x76\\x68\\xdf\\xae\\x6d\\x9b\\x07\\x5a\\xb7\\xba\\x3f\\xa3\\x65\\x8b\\xe6\\xcd\\x9a\\xba\\xd3\\x9b\\x34\\x6e\\xd4\\xb0\\x41\\xfd\\x7a\\x75\\xeb\\xd4\\xae\\x51\\xbd\\x5a\\xd5\\x2a\\x95\\x2b\\x56\\x48\\x49\\x2e\\x9f\\x94\\x98\\xe0\\x8c\\x89\\x2c\\x15\\x16\\x1a\\x12\\x5c\\x32\\xb0\\x44\\x80\\xc3\\x6e\\xd3\\x35\\x55\\x91\\xca\\x2e\\x8f\\xd2\\xb7\\xa5\\x47\\x4b\\x76\\x95\\xca\\xc8\\x4d\\x6a\\x99\\x94\\xdb\\xaa\\x4a\\x65\\x57\\xcb\\x98\\x21\\x2d\\xaa\\x54\\x6e\\x99\\x94\\xd1\\xd7\\xe3\\xca\\x75\\x79\\x68\\xf4\\x94\\xa4\\x56\\xad\\xac\\xae\\xa4\\x5c\\x8f\\xab\\xaf\\xcb\\x93\\x42\\x93\\x7b\\x57\\x77\\x5f\\x8f\\x1b\\xc9\\x41\\xf7\\x48\\xba\\x7d\\x92\\xee\\x3b\\x92\\x4a\\x98\\xab\\x91\\x34\\x32\\x4d\\x24\\xb9\\x3c\\x07\\x5b\\x24\\xb9\\x0a\\x95\\xee\\x1d\\xb3\\xb9\\x9e\\xdb\\x22\\x29\\xc7\\xe5\\xb9\\x62\\x5d\\xb7\\xb3\\xae\\xf5\\x14\\xeb\\x26\\x98\\x9b\\x84\\x04\\x46\\x58\\x5e\\x99\\xde\\xba\\x5a\\x7a\\x32\\x1e\\x1a\\x32\\xbb\\x65\\x5f\\x7c\\x54\\x36\\x96\\x0c\\x6c\\x9e\\xd4\\x7c\\x60\\x60\\x95\\xca\\xb2\\x31\\xb0\\x24\\x97\\x25\\xb9\\xf2\\x54\\x4c\\x1a\\xbd\\x51\\xa9\\xd8\\x44\\xb1\\x2e\\xd4\\x8a\\x2d\\x1b\\x6c\\x54\\x25\\x20\\xd8\\x34\\x4b\\xa4\\x2d\\x73\\x07\\x78\\x32\\x3b\\x66\\xb7\\x6c\\x11\\x9b\\x90\\x90\\x53\\xa5\\x72\\x6b\\x4f\\x48\\x52\\x0b\\xeb\\x91\\x34\\xb7\\x54\\x7a\\xec\\xcd\\x3d\\x0e\\x4b\\xa5\\xeb\\x41\\xd3\\x75\\x79\\xd2\\xb5\\xb1\\xf2\\xae\\xd9\\x73\\x0a\\xc3\\xa4\\x5f\\xdf\\xd4\\xa0\\x01\\x49\\x03\\x72\\x7b\\x66\\x7b\\xb4\\x5c\\xc6\\xce\\xd6\\x5a\\xce\\x9e\\x3d\\xd3\\x53\\x2a\\xd5\\x53\\x29\\xa9\\x85\\xa7\\xd2\\xa4\\xef\\x62\\x88\\x7c\\xa0\\xa7\\x72\\x52\\x8b\\x96\\x9e\\x54\\x53\\x6b\\x9b\\x4e\\x77\\xec\\xb4\\xf9\\xd3\\xa4\\xe2\\xb1\\x25\\xf3\\xc2\\x98\\xfd\\x8b\\x10\\x4e\\xd2\\x95\\xcb\\x7f\\xed\\xc9\\xf5\\xf7\\xd8\\x93\\xc3\\x7e\\x11\\xf3\\xd2\\xa3\\x36\\xf7\\x28\\x9d\\xb2\\x13\\xcc\\x9f\\xd8\\x0c\\xb8\\x9e\\x3d\\x3b\\x23\\xc9\\x95\\x31\\xbb\\xef\\xec\\xdc\\x42\\xa3\\xa0\\x5f\\x92\\x2b\\x2c\\x69\\xf6\\xc6\\xa0\\xa0\\xd9\\xa3\\x5b\\x42\\xb7\\x64\\x66\\xa3\\xa2\\xd0\\xd8\\xf1\\x64\\xac\\x27\\x63\\x4e\\x8e\\x27\\xac\\xef\\x10\\xa5\\x41\\x8e\\x3f\\xf4\\x8c\\x4e\\x6d\\x3c\\x11\\x1d\\x7b\\x64\\x7b\\xd4\\xe4\\x0c\\xd7\\x90\\x5c\\x7a\\xf8\\x7f\\x7a\\x52\\x42\\xbd\\xd8\\x84\\x52\\x77\\x64\\x32\\xff\\xe9\\xb1\\x40\\x0b\\xe4\\xc0\\x70\\x42\\x82\\x49\\xc3\\x93\\x85\\x6e\\xe9\\xc7\\x8d\\xa7\\xa0\\x63\\xb6\\xef\\xde\\x25\\xfd\\x62\\x37\\x89\\xbb\\x5a\\x6a\\x8e\\x47\\xed\\x6b\\x3e\\xd9\\x55\\xfc\\xa4\\x74\\x96\\xf9\\xa4\\xa0\\xf8\\xc9\\x9d\\xe1\\x7d\\x93\\xc8\\x6d\\x9b\\xce\\xd9\\xb3\\x3d\\x7a\\x72\\xeb\\x01\\x49\\x2d\\x61\\xfc\\xc9\\x5c\\x4f\\x41\\x3f\\xaa\\x6b\\xa8\\x99\\x98\\xa4\\x30\\x4f\\xc8\\xaf\\xb1\\x09\\x49\\xb3\\xc3\\x4b\\xb9\\xea\\x57\\xcb\\xb1\\x64\\x5d\\x78\\xd5\\x7a\\xc0\\x83\\x2e\\x8f\\x2d\\x05\\x92\\x18\\x75\\xf7\\x00\\xea\\xc6\\x1c\\x32\\x3b\\xcc\\xba\\x09\\xf9\\xd5\\xd7\\x5c\\x89\\xc5\\x40\\x4a\\xa9\\x70\\x57\\xfd\\x24\\xd4\\x98\\x7a\\x5a\\x26\\xb5\\xec\\xeb\\xff\\xff\\x43\\x43\\x62\\x50\\xe0\\x82\\xe8\\x56\\xa9\\xbe\\x42\\xe8\\x92\\xed\\x71\\xb7\\xe0\\xc2\\x9d\\xeb\\xcf\\x58\\xcb\\x8d\\xd5\\xab\\x31\\x22\\xb7\\x2f\\x09\\x7b\\xb0\\x85\\x95\\x4c\\x4f\\xb5\\xa4\\xd1\\x9e\\xc8\\xa4\\x66\\x77\\xb2\\x6b\\xba\\xd5\\xf2\\xc1\\xce\\xd9\\xd6\\x10\\xff\\x30\\x4f\\x64\\x73\\x8f\\xf4\\xed\\xef\\x1f\\xe5\\xa9\\xd6\\xd2\\x9a\\x57\\xae\\x96\\xb3\\xfb\\xb6\\xf0\\xb9\\x60\\xea\\x4a\\xea\\x98\\xbd\\x5d\\xd2\\x8c\\xd3\\x1b\\x6b\\xb9\\x62\\x37\\x9b\\x4b\\x67\\x4e\\x0b\\x53\\x38\\xaa\\x39\\x55\\x96\\xd2\\x72\\x76\\xf6\\x80\\x41\\x1e\\x67\\xdf\\xd8\\x01\\xcc\\xbb\\x41\\xae\\xec\\xd8\\x04\\x8f\\x3b\\x87\\x0c\\xe7\\x24\\x65\\x0f\\xcc\\x31\\xcb\\x0e\\x86\\x2a\\x9d\\x8e\\xb5\\x8a\\x23\\xc7\\xaa\\x95\\x2e\\xd9\\x6d\\x3a\\x27\\xb5\\xe9\\xd8\\x3d\\xbb\\x9e\\xdf\\x11\\xdf\\x03\\x53\\x9d\\x9e\\xdc\\xf2\\x1e\\x35\\x49\\xd9\\xb1\\x3e\\x35\\x14\\xa0\\x27\\x20\\x39\\xc0\\x95\\xad\\xc6\\x6a\\x39\\x08\\x86\\xd1\\xe1\\xca\\xe0\\x22\\xa9\\x59\\x23\\x7e\\x7b\\x1c\\xc9\\x01\\x20\\x0c\\xc2\\xad\\x5e\\xb3\\x70\\x9b\\x35\\x72\\x65\\x2b\\xb1\\x52\\x2c\\x8d\\x1b\\x9e\\x4a\\xae\\x96\\x03\\x5b\\xf8\\xe5\\xcc\\xfb\\xbf\\x28\\xb5\\x99\\xe5\\xd4\\xbc\\x55\\xb1\\x36\\xbb\\x79\\x8b\\x9e\\xe6\\xad\\x62\\x13\\x72\\x12\\x7c\\x3f\\x55\\x2a\\xab\\x3c\\x76\\xf9\\x0d\\x33\\x22\\xc0\\x24\\xb5\\x55\\xf1\\x23\\x96\\x29\\x1e\\x04\\x50\\x9f\\xcd\\x5b\\x59\\x5d\\x26\\x97\\x31\\x66\\xd1\\xbb\\xb2\\x93\\x06\\x26\\xe5\\x24\\x0d\\x71\\x79\\xdc\\x99\\xd9\\x66\\x6c\\x26\\x3d\\x16\\xcb\\x7e\\x32\\x2c\\xce\\xfd\\xb9\\xea\\xf2\\x97\\xbb\\xbb\\xc8\\x82\\x26\\x49\\xe0\\x71\\xf1\\x8d\\x49\\xa6\\x27\\x23\\x35\\xf6\\x6e\\x72\\x3d\\xf7\\x5b\\xf7\\x77\\x6e\\x5b\\xdd\\xf3\\xb8\\x75\\xf1\\x63\\xd7\\xec\\x80\\xa4\\x36\\x9d\\x67\\x9b\\xca\\x93\\xfc\\x0a\\x05\\xcf\\x5b\\x7b\\xc4\\x2c\\x61\\x77\\xbd\\x52\\xb1\\xd6\\x5a\\x60\\x4e\\xe8\\x24\\xd6\\x5e\\x57\\x18\\x53\\xda\\x9a\\xd0\\xb3\\x37\\xba\\xdd\\xe6\\x64\\x1e\\xd2\\xc0\\x54\\x92\\xd4\\x7a\\xc0\\xec\\xa4\\xce\\xd9\\x8d\\x2c\\x69\\xd6\\x93\\x47\\x62\\x27\\x99\\xb6\\xc2\\xa5\\x8d\\xd2\\xa6\\x4b\\xb3\\x2a\\x95\\x59\\xda\\x9a\\x6d\\x4c\\x52\\x66\\x75\\xdc\\xe8\\x56\\x66\\x75\\xee\\x9e\\xbd\\x3d\\x8c\\x3d\\xf2\\xac\\x2e\\xd9\\x9b\\x54\\x45\\x6d\\xde\\xb7\\x59\\xce\\xc6\\xf2\\x3c\\xcb\\xde\\xee\\xe2\\xa5\\x61\\xf5\\xaa\\x66\\xaf\\xd9\\x69\\xde\\xb8\\xcc\\x1b\\x53\\x53\\x27\\x6e\\x02\\x2c\\xf9\\xd8\\xed\\x6e\\x91\\x02\\xeb\\xa9\\x6e\\x75\\x58\\xf7\\xfd\\x0b\\x15\\xb1\\xfa\\x02\\x8a\\xfb\\x14\\xe9\\x5f\\xa8\\xfa\\xfa\\xc2\\x7c\\x86\\x52\\x2c\\x43\\x6e\\xf6\\x20\\xfd\\x0b\\x75\\xdf\\x13\\x77\\xb1\\xb4\\x4e\\x5f\\x80\\xaf\\xaf\\xc0\\xea\\xb3\\x7e\\x36\\x8a\\x49\\x99\\x3b\\xd0\\xe6\\x0e\\x70\\x97\\x70\\x07\\xa9\\xc1\\x6a\\xec\\x46\\xc5\\xec\\xda\\x44\\xcf\\x0e\\xf6\\x2a\\x25\\x14\\xd9\\x1c\\xa4\\x04\\x2b\\xb1\\x1b\\x19\\xd5\\xc9\\xea\\x2e\\x54\\x0a\\x36\\x96\\x70\\xc7\\xfa\\x24\\x0a\\x90\\x70\\xfb\\x3c\\x9c\\x95\\xf5\\xa7\\xe9\\xac\\xee\\xd9\\x9b\\xd9\\xd1\\x28\\xb1\\xd6\\x6f\\x0c\\x35\\x33\\x7f\\x28\\x97\\x98\\x21\\x24\\x9b\\xd7\\x4a\\x4b\\xd7\\x00\\xb3\\x50\\x26\\xe7\\x0c\\x99\\xdd\\x37\\xc7\\x9c\\x6c\\x12\\x45\\x6a\\xf8\\xbf\\xe2\\x51\\x92\\x9a\\x90\\xa6\\xa4\\x26\\x38\\x62\\x0f\\xf2\\x04\\x26\\x0d\\x6c\\xe6\\x29\\x99\\xd4\\xcc\\xec\\x4f\\x37\\xfb\\xd3\\x7d\\xfd\\x76\\xb3\\xdf\\x41\\x89\\x2a\\x51\\x0a\\xc3\\x0b\\xc8\\x7d\\xa6\\x47\\x31\\x2b\\xa0\\x47\\x76\\x02\\x53\\xd2\\x55\\x76\\x7f\\xec\\xec\\xb0\\x2b\\x66\\xa6\\x72\\x58\\x54\\x66\\x87\\x9d\\xab\\xd2\\xb4\\x1e\\xce\\xa6\\x8b\\xa2\\xd4\\x97\\x2c\\xa5\\x89\\xbf\\x6d\\xa6\\xb8\\xd9\\x6b\\x39\\x95\\xa6\\xb4\\x1c\\x5c\\x94\\x86\\x92\\xa6\\x34\\xa0\\xbf\\x1e\\x2d\\xcf\\xa5\\x40\\x09\\x85\\xe9\\x6b\\xd6\\xef\\x0e\\xfc\\x7e\\x03\\xa8\\x72\\xd5\\xba\\xf7\\x3d\\x4b\\xb7\\x7e\\x8b\\xf5\\xdb\\xad\\x38\\xf8\\xed\\xb4\\x7e\\xaf\\x52\\x74\\x77\\x27\\x65\\xd7\\x6d\\xe5\\x8d\\xdb\\x8a\\xdc\\x56\\x02\\x3b\\xdc\\x54\\x5c\\x37\\x95\\x5f\\x32\\x2b\\x3a\\x7f\\xca\\xa8\\xe8\\xbc\\x96\\x91\\xea\\xec\\x73\\x75\\xea\\x55\\x35\\xf4\\x6a\\x87\\xab\\x7d\\xae\\xce\\xbb\\xfa\\xc6\\x55\\x5b\\xc9\\x73\\xdf\\xc5\\x3b\\xcf\\x9e\\xc9\\x70\\x86\\x9e\\x51\\xdc\\x67\\x32\\xa2\\x9c\\xdf\\x9e\\xce\\x70\\xbe\\x7b\\xfa\\xd0\\xe9\\x53\\xa7\\x35\\xf7\\xe9\\xb4\\x3a\\x19\\xa7\\x33\\x62\\x9c\\xef\\x28\\xe5\\xa4\\x31\\xb3\\x3e\\x4b\\x29\\x4b\\x5b\\xc6\\x9d\\x9d\\xf5\\xc3\\x15\\xc3\\x79\\x45\\xbd\\x90\\x75\\xb9\\xd5\\xa5\\xac\\xef\\x6b\\x4a\\xd6\\xc5\\x0b\\x17\\xb2\\x2e\\x28\\x92\\x55\\xd4\\x4a\\xb2\\xce\\x8b\\xe1\\xfc\\xba\\xf1\\xa9\\xac\\x53\\x8a\\x96\\xf5\\x4d\\x63\\x2d\\xeb\\xa4\\x66\\x38\\x43\\x8f\\x2a\\xa1\\x47\\x8d\\xa3\\xaa\\x71\\x54\\x59\\x75\\x44\\xf9\\xfc\\xb3\\x46\\xce\\x77\\xdf\\x53\\x76\\x67\\xa6\\x38\\xfb\\xbe\\x33\\xfa\\x9d\\x82\\x77\\x34\\x77\\x61\\xdf\\xc2\\xd1\\x85\\x5a\\xa1\\xb1\\xcb\\x9d\\x53\\x18\\x5e\\x33\\x23\\x74\\x5b\\xfa\\x36\\x35\\x74\\x73\\xfa\\xe6\\xab\\x9b\\xb5\\x12\\x7d\\x3d\\xa3\\x3d\\xea\\x7c\\xcf\\x6a\\x8f\\xc7\\xa3\\x15\\xbc\\x36\\xff\\x35\\x75\\xf5\\x6b\\x9e\\xd7\\xd4\\xa9\\xaf\\x2a\\xab\\xd7\\x7b\\xd6\\xab\\xd5\\x5e\\x19\\xf5\\x8a\\x1a\\xfa\\x4a\\x87\\x57\\x56\\xbd\\x72\\xea\\x15\\xbd\\xe4\\xea\\x55\\xa9\\x4e\\xf7\\xaa\\x12\\xa5\\x32\\x64\\x4d\\xd8\\x1a\\xb5\\x81\\x7b\\x4d\\xe6\\x1a\\xd5\\xb3\\x66\\xd7\\x9a\\xc3\\x6b\\x2c\\xed\\xae\\x35\\xae\\xf2\\x19\\xcf\\x2d\\x2f\\xef\\x5c\\x09\\x56\\x80\\xcc\\xe5\\xca\\xd2\\xee\\xad\\x9c\\xcf\\x2c\\x29\\xef\\x3c\\xbc\\xe4\\xf4\\x12\\x15\\xa1\\x2d\\x4b\\x82\\x4b\\x65\\x84\\x16\\x2a\\x81\\xee\\xae\\x4a\\xe8\\xe2\\xa9\\x8b\\xd5\\x3e\\x8b\\x46\\x2d\\x3a\\xb4\\xe8\\xd4\\x22\\x3d\\x74\\x91\\x73\\xd1\\xd4\\x45\\xf3\\x16\\x19\\x8b\\x6c\\x0b\\x9f\\x6e\\xe4\\x74\\x3f\\x1d\\x1d\\x97\\xe1\\x7e\\xba\\x44\\x50\\x46\\xe8\\x02\\xa5\\xcf\\x82\\x55\\x0b\\xde\\x58\\xf0\\xee\\x82\\xab\\x0b\\x8c\\x05\\x76\\xf7\\x82\\x72\\xc9\\x19\\xab\\xe7\\x79\\xe6\\xa9\\xbb\\xe6\\x1d\\x9e\\x77\\x7a\\x9e\\xf6\\xd4\\xdc\\x0c\\x67\\xf5\\xb9\\xee\\xb9\\x6a\\xc1\\x5c\\x65\\xd4\\x3b\\x4a\\x10\\xc9\\x3a\\x6d\\xfe\\x36\\x76\\x29\\x41\\xee\\x67\\x43\\x4a\\x65\\xb8\\x66\\x57\\x9f\\xad\\x3e\\x36\\x23\\xc3\\x39\\x6d\\x84\\xe1\\x2c\\x80\\xb2\\x43\\xe3\\x4e\\x8d\\xbb\\x3a\\x4e\\xbb\\x3a\\x4e\\xc9\\xcf\\x4b\\x77\\xe6\\xc1\\xd5\\xd8\\x8c\\xda\\xce\\x31\\xc0\\x3d\\x3a\\xa5\\x72\\x86\\x6b\\x74\\xf5\\xd1\\xea\\x28\\xee\\x46\\x82\\xb2\\x4a\\x4c\\x56\\x99\\xb4\\x98\\x2c\\x47\\x9a\\x96\\x65\\x67\\xec\\xcb\\x23\\x94\\x4a\\x23\\x94\\xe1\\x5c\\xe5\\xf6\\xa9\\xe6\\xec\\xdb\\xa7\\x99\\xb3\\x0f\\xe3\\x7b\\x77\\xaf\\xe9\\xec\\x99\\x51\\xc3\\xd9\\x83\\x78\\xbb\\xd3\\x46\\xd4\\x0c\\xcf\\xb2\\x91\\x24\\xbd\\xa6\\x96\\x35\\x4a\\x53\\x42\\xb5\\x74\\xad\\x83\\x36\\x4a\\x9b\\xaa\\xd9\\x96\\xe4\\x28\\x9e\\x4e\\xbb\\x3a\\x1d\\xee\\x64\\x72\\xb6\\xb9\\x53\\x95\\x5a\\x19\\x26\\x77\\xcb\\x3b\\xc1\\xdd\\xd5\\x8e\\x46\\x47\\xd5\\xdd\\xb1\\x76\\xbd\\x0c\\x77\\xc7\\xe4\\x8a\\x19\\x87\\x32\\x15\\x57\\xfb\\x4a\\xd5\\x32\\x02\\xda\\x3b\\x13\\x33\\x4a\\xb4\\x2b\\xd3\\x4e\\x6d\\xd5\\x2e\\xbb\\xdd\\xf1\\x76\\x17\\xda\\xfd\\xde\\xce\\xb6\\xb4\\x9d\\x12\\xd3\\xb6\\x7c\\x95\\x8c\\x98\\xb6\\x71\\xae\\x8c\\xa5\\x6d\\xd7\\xb5\\x55\\xdb\\x64\\xd4\\x75\\xb6\\xce\\xe0\\xa0\\x8e\\xd3\\xf7\\x83\\x37\\x32\\x94\\x53\\x19\\x57\\x33\\xd4\\x82\\x0c\\x25\\xaa\\x66\\xe9\\xac\\x52\\x4a\\x68\\x56\\x58\\xcd\\xd0\\x2c\\x36\\xa9\\x59\\x8a\\x28\\x4e\\x67\\x68\\x7a\\x68\\x9f\\xd0\\xa9\\xa1\\x7a\\x68\\x68\\xb5\\xd0\\x0e\\xa1\\xa3\\x42\\xe7\\x85\\x9e\\x0a\\x35\\x42\\x1d\\xe9\\xf4\\x5d\\x0d\\xd5\\x46\\x89\\xd2\\x41\\x94\\x82\\x28\\xc5\\xa6\\x14\\x2a\\xf3\\x37\\x76\\xe9\\x9c\\x9a\\xda\\xa6\\xd0\\x61\\xb0\\xe1\\x71\\x64\\xf6\\xf0\\x28\\xb3\\x3c\\xc9\\x9d\\xcd\\xdf\\xee\\x8e\\xdd\\x3d\\xf6\\x59\\x1e\\xc9\\xea\\xde\\x23\\x7b\\xa3\\xa2\\x3c\\x95\\xf3\\xd8\\xdc\\xb9\\xd2\\x2c\\xae\\x8d\\xa7\\x66\\xe7\\x6c\\x4f\\xdf\\xb8\\x9c\\x36\\x9e\\x01\\x5c\\xb8\\xcd\\x8b\\x02\\x2e\\xc2\\xe2\\x36\\x46\\x49\\xb3\\x9c\\xbc\\xfc\\xbc\\xfc\\x71\\xa9\\xe6\\x8f\\xe2\\xbb\\x90\\xd4\\xbc\\xd4\\x54\\xeb\\x32\\x3f\\xd5\\xba\\x54\\xf2\\x24\\xcf\\x7c\\xa0\\x58\\x0f\\xcd\\x9f\\xbc\\xbc\\x54\\xdf\\x7d\\xbe\\xaf\\x23\\x2f\\xdf\\xbc\\xcb\\xa3\\x15\\x2e\\x7d\\xff\\x37\\x7b\\xf3\\xf2\\xcc\\xde\\x54\\xb1\\xc4\\xf3\\xc6\\xf5\\xe6\\x36\\x55\\x7a\\xe7\\xe5\\x2b\\x79\\xa8\\xc4\\x6e\\x6f\\x14\\x99\\xea\\x53\\x4d\\x39\\x29\\xf6\\xe3\\xce\\x8f\\x65\\x20\\xb5\\x77\\x1e\\x46\\xcc\\x41\\x96\\x6b\\x79\\x8c\\x61\\x88\\xa9\\x80\\x9f\\xfc\\xe2\\x21\\x31\\xbd\\xc5\\x76\\xc0\\xf6\\x8d\\x3c\\x62\\x9b\\xc6\\xe9\\x6e\\xa2\\xf5\\xfb\\x2f\\x3f\\x7a\\x03\\xd6\\xa2\\xf1\\x22\\xc6\\x65\\xf3\\xee\\xcf\\xdf\\xde\\x6e\\xff\\xa7\\x47\\xd6\\xbf\\xff\\xf1\\xfd\\x5d\\x61\\x4e\\x65\\x6f\\x73\\x4a\\x5b\\x2d\\xc7\\x38\\xa5\\xad\\xe4\\x5c\\xb5\\x84\\x53\\xdd\\x2c\\x99\\x42\\xcf\\x86\\x62\\x49\\xdb\\x01\\xc5\\x25\\xef\\xca\\x1e\\xeb\\x7b\\xc3\\x9d\\x9c\\x87\\xe6\\x72\\xba\\xfb\\x9b\\x1f\\xdb\\x34\\x25\\x5c\\xb6\\xa3\\x6d\\xac\\x6c\\xe2\\x0c\\xb8\\x48\\x96\\x49\\xc1\\x3f\\xca\\x0d\\xe5\\x9c\\xf5\\x3a\\xd6\\x7b\\x70\\xea\\xcc\\x97\\x01\\xca\\x97\\xca\\x34\\xfa\\x0a\\xb1\\xba\\x58\\x66\\x2b\\x03\\xe5\\x57\\x25\\x40\\x49\\x54\\xd2\\xe4\\x8a\\x5c\\xc4\\xf2\\x5a\\x7c\\x3a\\x21\\x87\\x64\\x3f\\xd7\\xf5\\x39\\xe9\\xae\\xbe\\x5b\\x9f\\xf2\\xad\\xb2\\x5f\\x9e\\xc6\\xf7\\x61\\xfc\\xde\\xc6\\xef\\xe5\\x66\\xaf\\xfa\\x93\\xcc\\x56\\x9f\\x96\\x91\\xea\\x31\\x6d\\x1a\\x36\\x9e\\x60\\x4c\\x6f\\xba\\xbf\\xb0\\x86\\xbc\\xa8\\xf4\\xe0\\x6e\\xba\\xe4\\x5b\\x77\\xbd\\x39\\x85\\x8e\\xba\\xc7\\xc9\\x59\\x44\\xb9\\x56\\x26\\xfd\\x19\\x81\\xf7\\x9c\\x6d\\x9a\\xf1\\xb3\\x04\\xdf\\xda\\xcc\\x59\\xd1\\x7c\\xba\\x44\\x1e\\x94\\x31\\xb6\\x03\\x12\\x7a\\x2b\\xde\\xf8\\x49\\x6a\\xe9\\xe7\\x25\\xd8\\x7b\\x44\\xde\\xd5\\x9c\\xc4\\x2e\\x9c\\x77\\xcd\\x9f\\x69\\xc5\\xa3\\x1d\\xad\\xb4\\xa1\\xea\\x56\\x55\\xbd\\xbd\\x90\\x9b\\x05\\x9c\\x69\\x17\\x48\\xae\\xf2\\x25\\x5e\\xce\\xd5\\x9a\\x12\\x41\\x67\\xa5\\xa5\\xf2\\x8c\\x9c\\x95\\x89\\xfa\\xa7\\xda\\xa7\\x8e\\x0a\\xde\\xab\\x9c\\xc3\\x67\\x71\\xf2\\x1e\\xc0\\x19\\xfa\\x6d\\xd9\\xa2\\xf5\\x94\\x10\\x99\\x80\\x95\\xa5\\x9c\\xbe\\xff\\x57\\x3f\\xf6\\x69\\xfa\\x10\\x89\\xd4\\xcd\\xef\\x1b\\x2e\\x1b\\x9f\\x7b\\xa7\\xe2\\xfb\\xd7\\x64\\x6f\\x07\\x6c\\x1c\\xfa\\x87\\x21\\x5d\\x00\\xfc\\x2a\\x17\\x44\\xb4\\x16\\xd4\\x63\\x5b\\x32\\x36\\x01\\x50\\x0f\\xb6\\x5b\\x68\\x6c\\x05\\x0e\\x10\\x91\\x1b\\xcc\\x07\\xe6\\x35\\xfd\\x01\\x95\\x41\\x21\\xbb\\x05\\x17\\x38\\x2c\\x12\\x78\\x44\\xa4\\xe4\\x10\\x91\\xa0\\x8a\\xe0\\x77\\x91\\xe0\\xbe\\x22\\x21\\x8c\\x0d\\x8d\\x01\\xf4\\x87\\x1e\\x17\\x09\\x43\\x47\\x18\\x7a\\x4b\\x45\\x02\\xee\\x23\\x66\\x89\\x44\\x06\\x81\\x0f\\x45\\x4a\\x93\\x9b\\xd2\\xd4\\x7d\\x14\\xb2\\x51\\xdf\\x89\\x44\\x2f\\x15\\x89\\x41\\x57\\xcc\\x64\\x91\\x32\\x3a\\xe0\\xbe\\xcc\\x49\\x91\\x58\\xf4\\xc6\\x32\\xb6\\xdc\\x70\\x70\\x4d\\x24\\xce\\x23\\x12\\xdf\\x53\\xc4\\x89\\x6e\\xe7\\x22\\xb6\\x61\\xe5\\xc0\\x68\\x91\\x44\\xf4\\x26\\x2e\\xb5\\xfe\\x28\\xab\\x24\\xa1\\x33\\x69\\x17\\xb8\\x2e\\x52\\x1e\\x9f\\xca\\xaf\\x03\\xe8\\x48\\xc6\\xf7\\x94\\xf2\\x22\\x15\\xf0\\xa7\\x82\\xc7\\xfc\\x3b\\xfa\\x22\\x95\\x1a\\x01\\x62\\xbc\\x8f\\xe7\\xa9\\xdc\\xa7\\x62\\xa3\\x32\\xfa\\xaa\\xe0\\x4b\\x15\\xee\\xab\\x0d\\x10\\xa9\\xce\\x64\\xaa\\xbe\\x42\\xa4\\x06\\xbe\\xd4\\x44\\xbe\\x26\\xba\\xd3\\x88\\xa5\\x16\\xb1\\xd6\\xda\\x22\\x52\\x1b\\xd9\\x3a\\xc4\\x59\\x17\\x2e\\xeb\\x12\\x53\\x7d\\xfc\\x6a\\xc0\\xf3\\x06\\xf0\\xd5\\x90\\xfe\\x46\\xf8\\xdb\\x08\\xff\\x1b\\x61\\xa7\\x31\\xb1\\x37\\xa1\\x75\\x93\\x87\\xa6\\xd5\\x01\\xb6\\x9a\\xed\\x15\\x69\\xce\\x96\\xb2\\x05\\x32\\x2d\\xe1\\x25\\x83\\x98\\x32\\xcc\\x76\\x86\\xc8\\xfd\\xf0\\xdc\\x0a\\x3e\\x5a\\x71\\xdd\\x1a\\x7b\\xad\\xf1\\xb3\\x0d\\x79\\x69\\x43\\x7f\\x3b\\xf8\\x69\\xdf\\xc2\\x0f\\xf4\\x66\\xa2\\x23\\x93\\xdc\\x76\\xc4\\xc7\\x8e\\x70\\xd0\\x11\\x3f\\x3a\\x62\\xab\\x13\\x7d\\x9d\\xc8\\x59\\x67\\xb8\\xe9\\x8c\\xcd\\xce\\xc4\\xd1\\x99\\x67\\x9d\\x19\\xdf\\x85\\xe7\\x5d\\xe0\\x29\\x0b\\x5e\\xb2\\xf0\\x29\\x0b\\x3b\\x59\\xf8\\x9d\\x45\\x7d\\x74\\xc5\\x5e\\x57\\x74\\x77\\xc5\\x97\\x6e\\xb4\\xdd\\xcc\\xf6\\x45\\x80\\x6d\\xf3\\xaf\\xbb\\x64\\xd7\\x02\\xd8\\xc9\\x46\\x77\\x0e\\x3c\\xe4\\x90\\xc7\\xee\\x70\\xdb\\x1d\\xd9\\xee\\x70\\xd7\\x1d\\xde\\x7b\\xd4\\x13\\xe9\\x09\\xef\\x3d\\x33\\x01\\xb3\\xad\\x27\\xbc\\xf7\\x3c\\x2d\\xd2\\x0b\\xb9\\x5e\\xe4\\xa6\\x37\\x32\\xbd\\x19\\x6f\\x16\\x7e\\x1f\\x7c\\xeb\\x83\\x6f\\x7d\\xf0\\xad\\x0f\\x1c\\xf7\\x81\\xcb\\xbe\\xf8\\xd0\\x17\\xb9\\x5c\\x13\\xe8\\xcc\\x45\\x3e\\x17\\x0e\\xfa\\x91\\x93\\x7e\\xe8\\xee\\x07\\x67\\xfd\\xf0\\xa7\\x3f\\x71\\xf4\\xa7\\x4e\\x07\\x50\\xa7\\x03\\xe0\\x7b\\x00\\x1c\\x0d\\x40\\xc7\\xc0\\x39\\xc0\\x6c\\xc9\\xeb\\x20\\xfc\\x18\\x84\\x1f\\x83\\xf0\\x63\\x10\\x7a\\x06\\x61\\x77\\x30\\x76\\x07\\x63\\x77\\x30\\x76\\x07\\x33\\x66\\x30\\xb2\\x83\\xcd\\xff\\x1e\\x03\\xb2\\x43\\x90\\x1d\\x82\\xec\\x10\\x72\\x38\\x64\\xa7\\xc8\\x83\\xf0\\x35\\x94\\x3a\\x1b\\x0a\\xbf\\x43\\xb1\\x3b\\x94\\x9a\\x18\\x8a\\xdd\\xa1\\xd8\\x1d\\x06\\x7f\\xc3\\xc8\\xff\\x30\\xea\\x77\\x18\\xf2\\xc3\\x90\\x1d\\x8e\\xec\\x70\\x64\\x87\\x23\\x3b\\x1c\\xd9\\xe1\\xc8\\x0e\\x87\\xeb\\x11\\xc8\\x8e\\x80\\xeb\\x11\\x70\\x3d\\x92\\x76\\x14\\xf5\\x33\\xca\\x6c\\xe1\\x7d\\x14\\xbc\\x8f\\x46\\xcf\\x68\\x62\\x1d\\x8d\\x0e\\xf3\\x8f\\x54\\x8e\\x21\\xa6\\x31\\xc4\\x34\\x06\\x8e\\xc7\\xa0\\x63\\x0c\\x3c\\x8f\\x85\\xbf\\xb1\\xdc\\x8f\\x45\\x26\\x0f\\x99\\x3c\\xe2\\xcc\\xc3\\xc7\\x3c\\x38\\xcb\\xe7\\x59\\x3e\\x76\\xf3\\xb1\\x9b\\xcf\\x9c\\xc8\\x27\\xa6\\x7c\\xf4\\x8e\\x23\\x7f\\xe3\\xb0\\xff\\x10\\xf6\\x1f\\xc2\\xde\\x43\\xf8\\xfa\\x10\\xf9\\x7c\\x08\\xfe\\xc6\\xa3\\x63\\x3c\\xf9\\x1c\\x4f\\x2c\\x13\\xd0\\x33\\x01\\x3d\\x13\\xa9\\xc3\\x89\\xf8\\x32\\x11\\xb9\\x89\\xe4\\x6d\\x22\\x76\\x27\\x51\\x67\\x0f\\x93\\xbf\\xc9\\xd4\\xda\\x64\\xe6\\xe0\\x64\\xf2\\x3f\\x19\\xde\\x26\\x63\\x63\\x32\\x63\\x1e\\x61\\xcc\\x23\\x8c\\x79\\x84\\x31\\x8f\\xc0\\xc3\\x23\\xe8\\x7e\\x04\\x9d\\x53\\x88\\x61\\x0a\\x31\\x4c\\xc1\\x87\\x29\\xf8\\x3a\\x05\\x1b\\x53\\xf0\\x69\\x2a\\xf5\\x5f\\x40\\xfc\\x05\\xd9\\xe6\\xf9\\x02\\xc0\\x41\\x01\\xfd\\xd3\\xc8\\xfb\\x34\\x72\\x3e\\x0d\\x1e\\xa6\\xa1\\x67\\x1a\\x36\\xa7\\x13\\xd7\\x74\\x6a\\x6b\\x3a\\x71\\x4d\\x87\\xcf\\xe9\\x70\\x31\\x1d\\xdd\\x8f\\xa2\\xfb\\x51\\xf2\\xf7\\x28\\x7e\\x3c\\x8a\\x1f\\x8f\\x92\\xbf\\x19\\xe4\\x6f\\x06\\xf9\\x9b\\x41\\xfe\\x66\\xe0\\xd7\\x63\\xf0\\xf4\\x38\\xba\\x67\\x32\\x7e\\x16\\x7a\\x66\\x31\\x27\\x9e\\xc0\\xf6\\x6c\\x72\\x34\\x9b\\xb8\\x9e\\xa4\\x1e\\x9e\\xe4\\xf9\\x1c\\x7c\\x9c\\x83\\xfd\\xb9\\x5c\\x3f\\x85\\xed\\xa7\\x18\\x3b\\x0f\\xfb\\xf3\\x89\\x67\\x01\\x31\\x3f\\x8d\\x5f\\x0b\\xa9\\xbd\\x85\\x3c\\x5f\\x84\\xbf\\x8b\\xe0\\x77\\x11\\x9c\\x2e\\xc6\\x9f\\x25\\xe8\\x5e\\x82\\xde\\x67\\xb0\\xbb\\x14\\x8e\\x97\\x12\\xe3\\x52\\x7c\\x5c\\x8a\\xed\\x65\\xf0\\xfc\\x2c\\x3e\\x2e\\x87\\x9f\\xe5\\x70\\xb8\\x82\\x18\\x56\\x92\\x83\\xe7\\xe0\\xfd\\x39\\x9e\\xaf\\x62\\xfc\\x2a\\xec\\xac\\x66\\xbd\\x59\\x83\\xcc\\x1a\\x38\\x7a\\x9e\\x1c\\x3e\\x4f\\x8e\\x5f\\x80\\x9b\\x17\\xf1\\xf9\\x45\\xe4\\xd6\\x12\\xcf\\x4b\\xd8\\x7f\\x89\\xfe\\x97\\x19\\xff\\x32\\xb6\\xd7\\xe1\\xfb\\x2b\\xe8\\x5e\\x1f\\xe3\\xfb\\xc3\\x3f\\xaf\\x52\\xd7\\x1b\\xf0\\xed\\x35\\xf2\\xf9\\x1a\\xfc\\xbc\\xce\\xf3\\xd7\\x99\\x33\\x6f\\xa0\\xf7\\x0d\\xc6\\xbd\\xc1\\x7a\\xf3\\x06\\x1c\\x79\\xb8\\xf7\\xc0\\xb1\\x87\\xb1\\x1e\\x62\\xf5\\xc0\\x9f\\x07\\x59\\x0f\\x1c\\x7a\\x90\\xdf\\x88\\x9d\\x8d\\xcc\\xb1\\x8d\\xf8\\xb4\\x91\\xfb\\x4d\\xdc\\x6f\\xe2\\x7e\\x13\\x39\\xdf\\x44\\xdc\\x9b\\xb0\\xb3\\x19\\x4e\\x36\\xa3\\x63\\x33\\xfe\\x6e\\x46\\xef\\x16\\x7c\\xd8\\x42\\xfc\\x5b\\x98\\xc3\\x5b\\x88\\x79\\x0b\\x3e\\xbf\\xc9\\xfc\\x7a\\x13\\x1d\\x6f\\x62\\xfb\\x4d\\xb8\\xde\\x4a\\x2c\\xdb\\x40\\x21\\xf1\\x15\\xc2\\x43\\x21\\xb1\\x17\\xc2\\x53\\x21\\xbe\\x6e\\xa7\\x7f\\x3b\\xf9\\xdc\\x4e\\xcc\\xdb\\x99\\x1f\\xdb\\x19\\xb3\\x9d\\x31\\x3b\\xe8\\xdf\\x41\\xff\\x0e\\x38\\xde\\x41\\x8e\\x76\\x60\\x6f\\x07\\xfc\\xbe\\x85\\x2f\\x3b\\xf1\\x61\\x27\\xb5\\xb8\\x93\\x7c\\xbe\\x4d\\x3e\\xdf\\x26\\x07\\x6f\\xe3\\xdb\\x3b\\x70\\xf1\\x0e\\xb6\\xdf\\x21\\xbe\\x77\\xf0\\xe7\\x1d\\x78\\x7f\\x87\\x77\\xd5\\xbb\\xd4\\xdb\\xbb\\xe8\\x78\\x97\\x78\\xdf\\x25\\xd6\\x77\\xe1\\x62\\x17\\xf9\\xda\\x85\\xcd\\x5d\\xf0\\xb6\\x8b\\xdc\\xee\\x22\\xef\\xbb\\xa9\\xa1\\xdd\\xc4\\xb2\\x1b\\xce\\x77\\xe3\\xc7\\x6e\\xea\\xe2\\x3d\\xe2\\x7b\\x8f\\x78\\xdf\\xa3\\x1e\\xde\\x63\\x4e\\xbc\\x47\\x5d\\xee\\xc1\\xfe\\x1e\\x78\\xd9\\x83\\x9d\\x3d\\x8c\\xdf\\x43\\xff\\x5e\\x7c\\x79\\x1f\\xfe\\xdf\\x27\\xee\\xf7\\xb1\\xfd\\x01\\xbe\\xef\\xc3\\xe6\\x87\\x60\\x3f\\xe3\\xf7\\x13\\xef\\x47\\xe4\\xef\\x23\\x62\\xfc\\x08\\xdd\\x1f\\x99\\xf7\\xc4\\xf9\\x31\\x39\\xf9\\x18\\x99\\x8f\\xf1\\xed\\x63\\x38\\x3f\\x00\\xe7\\x07\\xd0\\x7d\\x00\\x9e\\x0e\\x90\\x9b\\x03\\xf4\\x1d\\xa4\\xef\\x20\\x63\\x3e\\xc1\\xce\\x21\\xec\\x1d\\x82\\xe3\\x4f\\xa9\\xa3\\xcf\\xf0\\xf7\\x33\\x74\\x7c\\xce\\xfd\\x11\\x72\\x71\\x14\\x4e\\x8e\\xe2\\xdf\\x31\\xc6\\x7c\\x81\\x9d\\xe3\\xf8\\x7e\\x1c\\x5f\\xbe\\xc4\\xf7\\xaf\\xe0\\xf1\\x2b\\xec\\x9f\\x60\\xcc\\x49\\x62\\x3c\\x09\\xf7\\x5f\\xa3\\xff\\x1b\\xe4\\x4e\\x31\\x47\\x4f\\xd3\\x7f\\x1a\\x1d\\xdf\\xc2\\xc9\\x19\\x7c\\x3a\\xcb\\xd8\\xb3\\xcc\\xe5\\xef\\xf0\\xeb\\x1c\\xcf\\xcf\\x63\\xef\\x3c\\x1c\\x15\\xc1\\xf3\\x05\\x7c\\xb9\\x88\\xae\\xef\\xf1\\xeb\\x12\\x9c\\x5f\\x82\\x8f\\x4b\\xd8\\xbc\\x8c\\xed\\x2b\\xf8\\xf8\\x03\\xfe\\x5f\\xc5\\xc6\\x55\\xf8\\xb9\\x86\\xcc\\x35\\xe4\\x7f\\xa4\\xd6\\x7f\\xc2\\xbf\\x9f\\xa8\\xdf\\x9f\\xd1\\x7b\\x9d\\xe7\\xd7\\x91\\xfd\\x05\\x5b\\xbf\\xc0\\xd5\\x2f\\xe8\\xfd\\x95\\x71\\xbf\\x61\\xe7\\x37\\x78\\xff\\x1d\\x5f\\xfe\\x80\\xa3\\x1b\\xe4\\xfd\\x26\\xb2\\x37\\xb9\\xbf\\xc9\\xb8\\x5b\\xe8\\xba\\x4d\\x7e\\xbc\\xd8\\xf7\\x1e\\xf0\\xfd\\x1d\\x53\\xe3\\x02\\xc7\\xbd\\xbe\\x9c\\xfe\\x75\\x90\\x0d\\xb6\\x88\\xa2\\xb6\\x05\\xa7\\x45\\xd1\\x4e\\x8a\\xc2\\x9e\\x47\\xd1\\xaf\\x8b\\xc2\\xbe\\x47\\xb1\\x73\\x6d\\x3f\\x2e\\x8a\\x03\\xf9\\x80\\x46\\xa2\\x94\\x08\\x03\\x2e\\xc0\\xb3\\x40\\x0e\\x8c\\x81\\x2b\\xc0\\xef\\xa2\\x94\\xa4\\x0d\\x42\\x26\\x98\\xe7\\xe6\\x5f\\xc7\\x09\\x59\\x24\\x4a\\x68\\x65\\xb0\\x4b\\x94\\xb0\\x01\\x60\\xb2\\x28\\xa5\\x32\\x45\\x09\\x2f\\x07\\x90\\x8f\\x18\\x22\\x4a\\x24\\xd7\\x91\\x4b\\x01\\xfa\\x4b\\xef\\x14\\x25\\x8a\\x31\\xd1\\xc3\\x45\\x89\\x01\\x65\\x0e\\x88\\x12\\x8b\\x9d\\x72\\xe5\\x45\\x89\\x8b\\x11\\x25\\x1e\\x79\\xe7\\x0c\\x51\\x5c\\xf8\\xeb\\x3a\\x2c\\x4a\\x02\\x3e\\x27\\xb6\\x00\\xb7\\x44\\x49\\x22\\x9e\\x24\\xda\\xf2\\x1b\\x44\\x49\\x46\\x3e\\xb9\\x1e\\x58\\x2d\\x4a\\x4a\\x45\\x50\\x28\\x4a\\x05\\x62\\xa8\\x80\\xbe\\x0a\\xc4\\x56\\xe1\\xb2\\x28\\xa9\\x5d\\x44\\xa9\\x16\\x00\\x7a\\x02\\x8f\\x28\\xd5\\xe1\\xa1\\x3a\\xba\\x6b\\x10\\x4f\\x0d\\x7c\\xaa\\x81\\xdf\\x35\\xf0\\xa1\\x06\\xfa\\x6a\\xce\\x11\\x25\\x0d\\xf9\\x34\\x9e\\xd7\\xc2\\xff\\x5a\\x66\\x8b\\xce\\x5a\\xd8\\xac\\x8d\\x5f\\xb5\\xd1\\x5d\\xbb\\x00\\x7c\\x08\\x88\\xab\\x0e\\x32\\x75\\xd6\\x81\\x6b\\xa2\\xd4\\xad\\x05\\x18\\x5f\\x97\\xd8\\xea\\x21\\x5b\\x1f\\x7f\\xeb\\xc3\\x71\\x03\\x64\\x1a\\x1e\\x11\\xa5\\x31\\x36\\x1a\\xc3\\x4f\\x13\\x7c\\x6e\\x82\\x4c\\x13\\x38\\x4f\\x7f\\x11\\xa0\\x3f\\x1d\\x7d\\x6e\\x7c\\x74\\x13\\xaf\\x1b\\x7d\\x6e\\x74\\x37\\x25\\x2e\\xf6\\x43\\x4a\\x53\\x9e\\x37\\x25\\x9e\\x66\\xe8\\x6c\\x89\\xed\\x96\\x8c\\x6d\\xc9\\xf3\\x0c\\x9e\\x67\\x90\\x97\\x8c\\xef\\x00\\xf7\\xf7\\xe3\\xf7\\xfd\\xf0\\x76\\x3f\\xdc\\xdf\\x3f\\x1f\\x30\\xa6\\x15\\x3a\\x5b\\xb5\\x02\\xb3\\x00\\x3c\\xb6\\x26\\xe6\\xd6\\xc8\\xb4\\x86\\xfb\\xd6\\x7b\\x01\\xb9\\x68\\x0d\\x47\\x0f\\x90\\xc7\\x07\\xf0\\xff\\x01\\xc6\\x3d\\x00\\xd7\\x0f\\x10\\x6f\\x1b\\xf2\\xdf\\x86\\x7c\\xb5\\x81\\xc7\\xb6\\xd8\\x6e\\xeb\\x06\\xd8\\x6b\\x8b\\xfd\\x76\\x91\\x00\\x3e\\xdb\\xe1\\x5f\\x3b\\x38\\x6a\\x87\\xae\\x76\\xe8\\x6a\\x0f\\xb7\\xed\\xab\\x03\\x6a\\xa3\\x3d\\xba\\xda\\x23\\xdb\\x1e\\xbb\\x1d\\x90\\xef\\x80\\x1f\\x1d\\x18\\xdf\\x81\\x78\\x3a\\xc0\\x4b\\x26\\xf9\\xce\\xc4\\x97\\x4c\\xfc\\xcd\\xc4\\x66\\x47\\x7c\\xeb\\x48\\x5f\\x47\\xfc\\xe8\\x88\\x6c\\xc7\\x7c\\x40\\x4e\\x3a\\xe1\\x5b\\x27\\x38\\xeb\\x44\\x5d\\x75\\x82\\x9b\\x4e\\x70\\xdd\\x99\\x3c\\x74\\xe6\\x79\\x67\\xfc\\xeb\\x0c\\xb7\\x9d\\xf1\\xb7\\x0b\\xe3\\xbb\\x60\\xbb\\x0b\\x1c\\x76\\x81\\xa7\\x2e\\xf8\\xd4\\x05\\x5e\\xb2\\xe8\\xcb\\x42\\x2e\\x0b\\x9e\\xd8\\xbf\\x29\\x5d\\xf1\\xb7\\x2b\\x75\\xd0\\x95\\xb8\\xba\\xa2\\xab\\x1b\\x3e\\x77\\x23\\x96\\x6e\\xd4\\x10\\x7b\\x39\\x25\\x9b\\x58\\xb3\\xc9\\x59\\x36\\x7e\\x65\\x93\\xa3\\x1c\\xb8\\xeb\\x8e\\x4f\\xdd\\x89\\xb5\\x3b\\x32\\xbd\\xf0\\xb9\\x17\\xfa\\x7a\\x11\\x6f\\x6f\\x74\\xf7\\xc6\\x8f\\xde\\xe4\\xb1\\x37\\x63\\xfb\\x50\\x83\\x7d\\x78\\xde\\x87\\xf9\\xc1\\x7e\\x4d\\xe9\\x0b\\x07\\x7d\\xc9\\x6d\\x2e\\x79\\xc8\\xc5\\xe7\\x5c\\x74\\xe4\\x32\\x36\\x17\\xbf\\xfa\\xc1\\x2f\\xfb\\x35\\xa5\\x1f\\xbe\\xf6\\x23\\x1f\\xfd\\xf0\\xa7\\x1f\\xfe\\xf4\\xc7\\x9f\\xfe\\xf4\\xf7\\xa7\\xbf\\x3f\\x3a\\x58\\x32\\x95\\x01\\xc4\\x34\\x00\\xbd\\x03\\xf0\\x69\\x00\\x79\\x1d\\x48\\xdf\\x40\\x7c\\x62\\x3f\\xa7\\x0c\\xc4\\xd6\\x40\\xf8\\x1b\\x68\\xf6\\xa3\\x63\\x10\\x5c\\x0f\\x22\\xc6\\x41\\xf4\\x0d\\x62\\x9e\\x0c\\xa6\\xbe\\x07\\x13\\xdf\\x60\\x64\\x07\\x93\\x8f\\xc1\\xe8\\x1c\\x42\\xdd\\xb3\\x9f\\x53\\x86\\x90\\xa7\\x21\\xf8\\x34\\x84\\x9c\\x3c\\x88\\xbe\\x07\\xe1\\xe7\\x41\\xea\\xe8\\x41\\xb8\\x1e\\xca\\xfd\\x50\\xee\\x87\\x72\\x3f\\x14\\x5d\\x43\\xe1\\x73\\x28\\x31\\x0e\\x63\\xcc\\x30\\xc6\\x0c\\xa3\\x96\\x87\\x91\\xdb\\xe1\\x3c\\x1f\\x8e\\xfc\\x70\\x78\\x18\\xc1\\xb3\\x11\\x3c\\x1b\\x09\\x0f\\x23\\xe1\\x6e\\x14\\x79\\x1b\\x85\\xef\\xa3\\xe0\\x90\\xfd\\x9c\\xc2\\x7e\\x4e\\x19\\x8d\\x7f\\xec\\xe9\\x94\\x31\\xe4\\x75\\x0c\\x32\\x63\\x19\\x97\\x07\\x17\\xf9\\xe4\\x2f\\x1f\\xae\\xc6\\x31\\x9e\\x3d\\x99\\xf2\\x10\\x31\\xb0\\x0f\\x53\\xc6\\xc3\\xf9\\x04\\xfc\\x9f\\x00\\xdf\\x13\\x79\\x3e\\x91\\x76\\x12\\xcf\\x1e\\x86\\xfb\\x87\\xc9\\xe9\\x64\\xae\\x1f\\x41\\xee\\x11\\x6a\\x6b\\x0a\\x31\\x4d\\x81\\xc3\\xa9\\x8c\\x29\\x80\\xbf\\x02\\xf2\\x5c\\x80\\xcc\\x34\\x6c\\x4e\\x23\\x96\\x69\\xd8\\x9a\\x8e\\x1c\\x7b\\x23\\x65\\x06\\xf6\\x67\\x10\\xe3\\x0c\\x78\\x9d\\x41\\xdf\\x63\\xd8\\x78\\x9c\\x58\\x66\\xa2\\x6b\\x26\\x75\\x36\\x8b\\xf9\\x35\\x0b\\xfe\\x9e\\x20\\x17\\x4f\\x50\\xaf\\xb3\\xc9\\xdb\\x93\\x3c\\x7b\\x92\\xeb\\x39\\xc4\\x33\\x17\\x5d\\x4f\\x11\\xef\\x3c\\x72\\x3b\\x0f\\x3b\\xf3\\x89\\x73\\x01\\xf9\\x79\\x1a\\x3d\\x0b\\x89\\x9f\\x57\\x8b\\xb2\\x08\\x5f\\xd9\\x0b\\x29\\x4b\\x88\\x77\\x09\\xbc\\x3f\\x83\\x9d\\xa5\\xc4\\xba\\x0c\\x7f\\x96\\x11\\xe3\\x32\\xec\\x2f\\xc3\\xaf\\x65\\xe4\\xed\\x59\\xe2\\x7e\\x16\\x9f\\x9f\\xc5\\xb7\\x67\\xf1\\x7f\\x39\\x32\\xcb\\x19\\xbb\\x02\\xff\\x56\\x30\\x6e\\x05\\xfd\\x2b\\xf0\\x6b\\x05\\x3a\\x57\\xc2\\xd5\\x4a\\xf4\\x3d\\x47\\x1e\\x9f\\x83\\xc3\\x55\\xf8\\xb5\\x0a\\xf9\\x55\\xe8\\x5a\\x45\\x0c\\xab\\xe1\\x66\\x35\\xbe\\xaf\\x61\\xfe\\xac\\x41\\xf7\\xf3\\xe8\\x78\\x1e\\xff\\x5f\\x40\\xe6\\x05\\xec\\xbe\\x40\\x1d\\xbc\\x40\\xbd\\xbc\\xc0\\xb3\\x17\\xa9\\xbd\\x17\\xa9\\xdf\\xb5\\xc4\\xf0\\x12\\xfa\\x5f\\xc6\\xa7\\x97\\xc9\\xe7\\x3a\\xe2\\x5a\\x87\\xcd\\x75\\xf8\\xb2\\x8e\\x67\\xeb\\xc8\\xf7\\x3a\\xf2\\xbd\\x8e\\xf8\\xd7\\xc1\\x31\\x07\\x7f\\xe5\\x15\\xc6\\xae\\xc7\\xe7\\xf5\\xc8\\xbd\\x8a\\xfc\\xab\\xd8\\xd8\\x80\\x8d\\x0d\\xe8\\x79\\x8d\\xf5\\xe2\\x35\\xe4\\x5e\\x87\\x93\\x37\\xe0\\xc9\\x83\\x4f\\x1e\\xc6\\x7a\\xe8\\xdb\\x48\\x2d\\x6c\\xa2\\x1e\\x37\\xc3\\xcb\\x16\\xe4\\xb7\\xe0\\xd3\\x9b\\xd4\\xe9\\x9b\\xf8\\xbc\\x95\\xd8\\xb6\\xc2\\xd1\\x56\\x7c\\xdb\\xc6\\xb8\\x42\\x9e\\x15\\xe2\\x5f\\x21\\x35\\xb8\\x9d\\x9c\\x6d\\x67\\x8d\\xd8\\x8e\\x2e\\xf3\\x1b\\x81\\xed\\xe4\\x7b\\x07\\xf6\\x77\\x60\\xff\\x2d\\x74\\xbd\\x05\\x37\\x3b\\xa9\\xd3\\xb7\\xa9\\x93\\x77\\x88\\xe1\\x5d\\x74\\xb1\\xaf\\x51\\x76\\x91\\xc3\\xdd\\xe4\\x73\\x37\\xb5\\xf0\\x1e\\xf6\\xd8\\xb3\\x28\\xec\\x51\\x94\\x3d\\xc8\\xef\\x25\\xae\\xbd\\xc4\\xf5\\x3e\\xe3\\x3e\\xa0\\xef\\x03\\x9e\\xed\\xc3\\xc6\\x3e\\xf8\\xfd\\x10\\x3d\\x1f\\x32\\x57\\xf7\\x93\\xcf\\xfd\\xe4\\xf7\\x23\\xda\\x8f\\xf1\\xed\\x63\\xb8\\x3b\\x40\\xdd\\x1d\\xc4\\xfe\\x27\\x8c\\x39\\x84\\xce\\x43\\x70\\x74\\x18\\xbf\\x0e\\x53\\xe3\\x9f\\x62\\xf3\\x33\\xe4\\x3f\\x67\\x2d\\x39\\x42\\x6e\\x8e\\x10\\xcb\\x31\\x72\\xf0\\x05\\xb1\\x1f\\x87\\xa3\\x2f\\xe1\\xf8\\x2b\\x64\\x4f\\x10\\xdb\\x09\\xf8\\x3d\\xc9\\xf8\\x93\\xd8\\x3d\\x09\\x57\\x5f\\xa3\\xf7\\x1b\\xda\\x53\\xd4\\xd1\\x69\\x38\\xf9\\x16\\xbf\\xce\\xc2\\xed\\x59\\xec\\x9c\\x45\\xc7\\x59\\x38\\x62\\xdf\\xa1\\x9c\\x83\\x9b\\x73\\x70\\x72\\x1e\\x4e\\xce\\x13\\xfb\\x79\\x6a\\xf2\\x3c\\xfc\\x5e\\x40\\xd7\\x45\\x9e\\x7d\\xcf\\xd8\\x4b\\xd8\\xbe\\x84\\x5f\\x97\\x89\\xff\\x0a\\x72\\x57\\x88\\xe9\\x07\\x64\\x7f\\x80\\xcf\\xab\\xd4\\xce\\x55\\xf2\\x77\\x8d\\x7a\\xf9\\x11\\xfd\\x3f\\x81\\x9f\\xc9\\xe9\\x75\\x7c\\xfe\\x05\\xdf\\x7e\\xc1\\xe7\\x5f\\xe1\\xf6\\x37\\x78\\xfe\\x8d\\x1a\\xfb\\x9d\\x5a\\xfa\\x03\\x4e\\x6f\\x20\\x73\\x83\\x71\\x37\\xe1\\xe2\\x26\\xdc\\xdd\\x22\\x96\\x5b\\xe4\\x9b\\x7d\\x87\\xe2\\x85\\x1b\\xa3\\x95\\xa8\\x92\\x29\\xaa\\x52\\x11\\x5c\\x17\\x55\\x1d\\x22\\xaa\\xd6\\x13\\xec\\x12\\x55\\xa7\\x4f\\x2f\\x14\\xd5\\xd6\\x05\\x5c\\x16\\xd5\\x5e\\x20\\xaa\\x23\\x08\\x1c\\x11\\x35\\x60\\x82\\xa8\\x25\\xca\\x83\\x93\\xa2\\x06\\xce\\x17\\xb5\\x64\\x24\\xe0\\x3e\\x88\\xe7\\x41\\xc8\\x06\\x5f\\x13\\x35\\x84\\x36\\xe4\\x96\\xa8\\xec\\x35\\xd4\\x50\\x74\\x86\\xc5\\x80\\xe3\\xa2\\x96\\x42\\x0f\\x7b\\x0d\\x35\\x1c\\x1b\\x11\\xd9\\xe0\\x3b\\x51\\x23\\xf3\\x45\\x2d\\x8d\\x8e\\xd2\\xd8\\x8b\\x42\\x77\\x34\\xba\\xa2\\x6b\\x81\\x01\\x60\\x11\\xf8\\x10\\xa0\\x2b\\x06\\xfd\\x31\\x8c\\x8d\\x69\\x0b\\x26\\x83\\x39\\x60\\x05\\x38\\x2c\\x6a\\x19\\x1d\\xd4\\x03\\xc3\\xc1\\x6a\\x80\\x9f\\x65\\x67\\x81\\xa5\\x80\\xf1\\x65\\x7f\\x17\\x35\\x16\\x5f\\x62\\xfb\\x02\\x74\\xc6\\xd2\\x57\\x0e\\x5f\\xe2\\xaa\\x03\\xec\\xc4\\x21\\x17\\x77\\x40\\xd4\\x78\\x01\\xf4\\xc5\\x23\\x17\\x8f\\x5c\\x3c\\x72\\xf1\\xd8\\x76\\xd2\\xe7\\x44\\xce\\x89\\x9c\\x93\\x7b\\x17\\xcf\\x5d\\x3c\\x77\\xf1\\x3c\\x61\\x86\\xa8\\x89\\x8d\\x00\\x31\\x27\\xd1\\x57\\x1e\\x3b\\xe5\\x89\\x8f\\xfd\\x8e\\x9a\\x0c\\xc7\\x29\\xf8\\x9d\\xc2\\xb3\\x0a\\xc8\\x56\\x64\\x7c\\x25\\xf4\\xdc\\x07\\xbf\\xf7\\xc1\\x53\\xaa\\x47\\xd4\\xca\\xf0\\x50\\x19\\xff\\xaa\\x04\\x00\\x78\\xaa\\xb2\\x4e\\xd4\\xaa\\x70\\x51\\x15\\xf9\\xaa\\x70\\x56\\x0d\\x3f\\xab\\xc3\\x49\\x75\\x38\\xa9\\xde\\x02\\x90\\x93\\xea\\xe8\\xa8\\x4e\\x8c\\x35\\xc8\\x59\\x0d\\xe4\\x6b\\x32\\xae\\x26\\x71\\xd7\\x44\\x3e\\x8d\\x18\\xd2\\xe0\\x26\\x8d\\xf1\\x69\\xe8\\x65\\x7f\\xa4\\xb2\\x3f\\x52\\x6b\\xe1\\x1b\\xfb\\x23\\xb5\\x36\\x36\\xeb\\xc0\\x63\\x1d\\xb8\\xae\\x73\\x5a\\xd4\\xba\\xf8\\x57\\x17\\xff\\xeb\\xc2\\x1d\\x7b\\x22\\xb5\\x2e\\xb5\\x50\\x8f\\x78\\xeb\\xc1\\x6d\\xbd\\x0d\\x00\\x99\\xfa\\xc8\\xd7\\xc7\\x2e\\xfb\\x24\\xb5\\x81\\x1b\\xbc\\x28\\x6a\\x43\\xf2\\xd6\\x90\\xb8\\x1a\\x91\\x8b\\x46\\xe8\\x6c\\x8c\\x9e\\xc6\\xd8\\x68\\x8c\\x8e\\xc6\\xd8\\x69\\xe2\\x02\\xc4\\xd6\\x04\\x99\\x74\\xf4\\xa5\\x33\\x3e\\x1d\\x9b\\xe9\\xf8\\xc9\\x3e\\x4a\\x65\\x1b\\xad\\xba\\xe1\\xc8\\x4d\\x7c\\xee\\x2d\\x80\\x31\\x4d\\xc9\\x6d\\x53\\xf4\\x35\\x85\\xe3\\x66\\xf8\\xd3\\x8c\\xb1\\xcd\\xe1\\xb3\\x39\\xbc\\x35\\xdf\\x2b\\x6a\\x0b\\x78\\x68\\x81\\x7c\\xcb\\x30\\x80\\x1f\\x2d\\xb1\\x97\\x01\\x6f\\xec\\xaf\\xd4\\x0c\\x7c\\xbb\\x9f\\xf6\\x7e\\x7c\\x63\\x3f\\xa5\\xb6\\xc2\\xff\\x56\\xc4\\xcf\\x3e\\x4a\\x6d\\x8d\\xbe\\x07\\x68\\x1f\\x80\\x9f\\x36\\xf8\\xd1\\x06\\x99\\xb6\\xe4\\xa6\\x2d\\xb5\\xd3\\x16\\xbb\\xed\\xf0\\xa5\\x1d\\x1c\\xb6\\x43\\x67\\x3b\\xec\\xb7\\x43\\x57\\x7b\\x74\\x77\\x60\\x5c\\x26\\x3e\\x64\\xd2\\x76\\xc4\\x9f\\x4e\\xf0\\xd0\\x09\\x5f\\x3a\\x93\\xff\\xce\\xe4\\xa8\\x0b\\xfe\\x74\\x21\\x2f\\x5d\\x88\\x3f\\x8b\\x36\\x8b\\x31\\x59\\xe8\\xce\\x22\\x9e\\xae\\x70\\xda\\x95\\x1c\\x75\\xe3\\x3e\\x9b\\x7a\\xc8\\x61\\xae\\x74\\xc7\\x4e\\x77\\xf4\\x74\\x47\\x7f\\x0f\\xec\\xf4\\x84\\xb3\\x9e\\xe8\\xea\\x39\\x5a\\xd4\\x5e\\xc4\\xd4\\x0b\\xf9\\xde\\x26\\x98\\x17\\xbd\\xc9\\x43\\x1f\\xea\\xba\\x0f\\xf9\\xed\\x8b\\x6c\\x2e\\xfa\\x73\\x89\\x2f\\x97\\xba\\xce\\x65\\xee\\xe5\\xe2\\x57\\x3f\\xf2\\xdc\\x9f\\x58\\xfb\\x33\\x7e\\x00\\x73\\x68\\x00\\x76\\x06\\x22\\x3b\\x90\\x67\\x83\\x88\\x73\\x10\\xb9\\x18\\x4c\\x3b\\xd8\\x6c\\xd1\\x37\\x84\\xb9\\x38\\x04\\xee\\x1f\\x64\\xcc\\x83\\x8c\\x7d\\x90\\x1a\\x64\\xdf\\xa0\\xb2\\x5f\\x50\\x87\\xe1\\xdf\\x70\\xec\\x0d\\xa7\\x7f\\x38\\xfa\\x47\\x90\\x8b\\x11\\xc8\\x8e\\x24\\xb6\\x51\\xc4\\x30\\x9a\\xda\\x1b\\x83\\xfd\\xb1\\xe4\\x75\\x2c\\xfa\\xf2\\xa8\\x41\\x8e\\x54\\x6a\\x3e\\x36\\xc7\\x61\\xf3\\x21\\xea\\xec\\x21\\x72\\x3b\\x1e\\xdd\\xe3\\x19\\x37\\x81\\xe7\\xec\\x05\\xd4\\x89\\xd4\\xc0\\x44\\xf8\\x98\\x84\\x7f\\x93\\xe0\\xec\\x61\\x78\\x79\\x98\\x5c\\x4e\\x26\\x9e\\xc9\\xf0\\xfa\\x08\\xe3\\xa6\\xa0\\x67\\x0a\\x7a\\xa6\\xe0\\xc7\\x54\\x62\\x29\\xa0\\x5e\\x0a\\x90\\x2d\\x60\\x4e\\x16\\xc0\\x55\\x01\\xbe\\x4f\\x43\\xef\\x34\\xf2\\x35\\x9d\\xf1\\xd3\\x19\\xf7\\x28\\x7c\\x3d\\x0a\\xff\\x33\\x98\\x4b\\x8f\\x61\\xe3\\x71\\x78\\x99\\x49\\x9d\\x3f\\x41\\xff\\x6c\\xfa\\x9f\\x24\\xae\\x39\\xf8\\x3c\\x97\\xbc\\x3e\\x05\\xe6\\xd1\\x37\\x9f\\xf8\\xe6\\x13\\xf3\\x02\\x9e\\x3d\\x8d\\x9e\\x85\\xd8\\x5a\\x48\\x3d\\x2d\\x24\\xf6\\x45\\xf8\\xbe\\x98\\x1a\\x59\\x82\\xdf\\xcf\\x90\\x93\\xa5\\xf8\\xb5\\x8c\\x71\\xcf\\xa2\\x7b\\x39\\xe3\\x96\\x13\\x3b\\xef\\x76\\x75\\x25\\x63\\x9f\\x43\\xef\\x73\\xf8\\xb0\\x0a\\x5d\\xab\\xe1\\x62\\x0d\\x32\\xcf\\x93\\xcb\\xe7\\xc9\\xd5\\x0b\\xd4\\xd3\\x8b\\xf0\\xb7\\x16\\xbf\\x5f\\x22\\xa6\\x97\\xe1\\x62\\x1d\\x71\\xbc\\x82\\xef\\xeb\\xb1\\xf7\\x2a\\x35\\xf6\\x2a\\xf9\\xd9\\xc0\\xb3\\xd7\\xe0\\xe5\\x75\\x72\\xf2\\x3a\\x3c\\xbd\\x01\\xcf\\x1e\\x6a\\x6b\\x23\\xf6\\x37\\x92\\xff\\x4d\\xb4\\x9b\\x98\\x63\\x9b\\xa8\\xe1\\xcd\\xf8\\xb8\\x19\\x3e\\x36\\x63\\x6f\\x0b\\xf6\\xb7\\x60\\xfb\\x4d\\x6c\\xbe\\x09\\x8f\\x5b\\xe1\\x65\\x2b\\xfc\\x6c\\xe3\\x79\\x21\\xfe\\x6f\\xc7\\xe7\\xed\\xc8\\xef\\x20\\xde\\x1d\\xe8\\x79\\x0b\\x99\\x9d\\xcc\\xa1\\x9d\\xd8\\x7f\\x1b\\xff\\xde\\xa1\\xfe\\xde\\xc1\\xde\\xbb\\xc4\\xf7\\x2e\\x79\\xdd\\xc5\\xf8\\x5d\\xcc\\x95\\xdd\\xe8\\xdd\\x8d\\xfe\\xf7\\xa8\\xe1\\xf7\\xf0\\x6f\\x0f\\xf3\\x63\\x0f\\x71\\xec\\x65\\x8e\\xee\\x45\\xef\\x5e\\x7c\\xdb\\x4b\\x2c\\x7b\\xf1\\xe7\\x7d\\xb8\\x7b\\x1f\\x3e\\xde\\x27\\xae\\x0f\\xc8\\xdd\\x07\\x8c\\xfd\\x80\\x1a\\xf8\\x00\\xfd\\x1f\\xa0\\xfb\\x03\\xfc\\xdb\\x87\\xfd\\x7d\\xd4\\xd0\\x3e\\x62\\xd8\\x87\\xfe\\x7d\\x8c\\xdd\\x87\\x9f\\x1f\\xd2\\xff\\x21\\xba\\x3f\\x84\\x8b\\x0f\\xd1\\xf9\\x21\\x3c\\x7c\\x08\\x67\\xfb\\xc9\\xdb\\x7e\\x6c\\xed\\x87\\xfb\\xfd\\xe4\\x72\\x3f\\xbc\\x7e\\x04\\xef\\x1f\\xd1\\xf7\\x11\\xf1\\x7c\\x84\\xee\\x8f\\x88\\xe1\\x23\\xec\\x7f\\x4c\\x0d\\x7e\\x8c\\xee\\x8f\\xf1\\xe1\\x63\\xfa\\x3f\\xc6\\xe6\\x01\\xe2\\x38\\x80\\xec\\x01\\x7c\\x3d\\x80\\xde\\x03\\xe8\\x3d\\x80\\xde\\x83\\xcc\\x59\\xde\\xff\\xea\\x41\\xfa\\x0f\\xa2\\xe7\\x20\\xf2\\x07\\xd1\\x73\\x10\\x3d\\x9f\\xa0\\xe7\\x13\\x78\\xfc\\x84\\x98\\x3f\\x81\\xa7\\x4f\\xf0\\xef\\x10\\xf2\\x87\\xc8\\xef\\x21\\x78\\x3a\\x44\\xff\\x21\\xfc\\x38\\x04\\x8f\\x87\\xf1\\xef\\x30\\x71\\x1f\\x26\\x2f\\x87\\x99\\x23\\x87\\xc9\\xdd\\x61\\xf8\\xf9\\x94\\xbc\\x7f\\x4a\\xff\\xa7\\xc8\\x7f\\x4a\\x9c\\x9f\\xa2\\xe7\\x53\\xf8\\xfb\\x0c\\x3d\\x9f\\xe1\\xe3\\x67\\xc4\\xff\\x19\\xfd\\x9f\\xd1\\xff\\x19\\xfd\\x9f\\x33\\x0f\\x3e\\x47\\xfe\\x73\\xe2\\xff\\x1c\\x4e\\x8e\\xc0\\xdf\\x11\\xae\\x8f\\x90\\x8b\\x23\\xf8\\x74\\x94\\x5c\\x1d\\xc5\\xcf\\xa3\\xd4\\xc3\\x51\\x6a\\xe8\\x18\\x76\\x8f\\x51\\x33\\xc7\\x90\\x39\\x86\\x9e\\x63\\xe8\\x39\\x86\\x9e\\x2f\\xc8\\xf3\\x17\\xf4\\x7f\\x41\\x5c\\x5f\\x50\\x97\\x5f\\x10\\x2f\\xfb\\x16\\xf5\\x38\\xfd\\xc7\\xe9\\x3f\\x8e\\xdd\\xe3\\xc4\\x7a\\x1c\\x1f\\xbf\\x44\\xc7\\x97\\x70\\xfe\\x25\\x7a\\xbf\\x44\\xef\\x97\\xc8\\x7d\\x85\\xdc\\x57\\xc8\\x7d\\xc5\\xf8\\xaf\\x18\\xff\\x15\\xf5\\xf3\\x15\\xf6\\x4e\\x10\\xcf\\x09\\x78\\x3c\\x41\\x1e\\x4e\\x90\\x87\\x13\\xc8\\x9f\\x80\\xdf\\x93\\xf4\\x9f\\x84\\xab\\x93\\xc8\\x9e\\xe4\\xfe\\x6b\\xf8\\xfe\\x1a\\xb9\\xaf\\x91\\xfb\\x1a\\xb9\\xaf\\x19\\xff\\x35\\x7c\\x7f\\x83\\xde\\x6f\\xb0\\xc5\\xde\\x48\\xfd\\x86\\xb1\\xdf\\xa0\\xf3\\x14\\xf6\\x4f\\x21\\x7b\\x0a\\xd9\\x53\\x8c\\x3f\\x85\\xaf\\xa7\\xe0\\xfa\\x34\\x73\\xf7\\x34\\x3a\\x4f\\x33\\xfe\\x34\\xe3\\x4f\\x33\\xfe\\x5b\\x64\\xbf\\x45\\xf6\\x5b\\x64\\xbf\\xa5\\xff\\x5b\\x74\\x7c\\x0b\\xff\\x67\\xd0\\x7b\\x06\\x3e\\xcf\\xa0\\xf7\\x0c\\xef\\xa5\\xb3\\xe4\\xfe\\x2c\\x73\\xf6\\x2c\\x1c\\x9e\\x85\\xb7\\xef\\xd0\\xf5\\x1d\\x73\\x89\\x3d\\x97\\xfa\\x1d\\x1c\\x7d\\x47\\xdf\\x39\\xb8\\x64\\xff\\xa5\\x9e\\x23\\x5f\\xe7\\xb0\\x79\\x0e\\xde\\xce\\xa3\\x87\\x7d\\x98\\x7a\\x1e\\x2e\\xce\\x93\\xc3\\xf3\\xd8\\x2c\\x22\\x57\\x45\\xd4\\x48\\x11\\xeb\\x47\\x11\\x7e\\x14\\x61\\xef\\x02\\x7e\\x5c\\xc0\\x8f\\x0b\\x8c\\xbf\\x80\\xce\\x0b\\x8c\\xbf\\x00\\x6f\\x17\\xa9\\x99\\x8b\\xd4\\xfb\\x45\\x7c\\xbb\\x48\\x6d\\x5c\\xa4\\xef\\x7b\\x6a\\xfa\\x7b\\xe2\\xf8\\x1e\\x3b\\xdf\\x23\\xf7\\x3d\\x76\\x2e\\x61\\xe7\\x12\\x3c\\x5c\\xc2\\xd7\\x4b\\xac\\x6b\\x97\\x98\\x13\\x97\\x91\\xbb\\x8c\\xed\\xcb\\xc4\\x70\\x99\\xfe\\xcb\\x70\\x73\\x85\\x7a\\xb8\\x82\\xdc\\x15\\xfa\\xae\\x10\\xeb\\x15\\x6c\\xff\\xc0\\x58\\xf6\\x7f\\xea\\x0f\\xc4\\xc8\\x1e\\x50\\xfd\\x81\\xf1\\x57\\x99\\x0b\\x57\\x59\\x33\\xaf\\x52\\x7f\\xec\\x07\\xd5\\xab\\xc4\\x78\\x15\\x0e\\xaf\\xa1\\xf3\\x1a\\xb2\\xd7\\xc8\\xf7\\x35\\xea\\xe3\\x1a\\xfd\\xd7\\xe8\\xff\\x91\\xfe\\x1f\\xf1\\xf3\\x47\\x62\\xfa\\x91\\x38\\x7f\\x44\\xef\\x4f\\xd8\\xfa\\x89\\xda\\xfe\\x09\\xd9\\x9f\\xd0\\xfb\\x13\\xf3\\xf7\\x27\\x64\\x7f\\x46\\xf6\\x67\\x64\\x7f\\xc6\\x87\\x9f\\xd1\\xfd\\x33\\x3a\\x7e\\xa6\\xff\\x3a\\xfd\\xd7\\xe9\\xbf\\x8e\\x8e\\xeb\\xe8\\xb8\\x0e\\x57\\xbf\\xc0\\xd5\\x2f\\x70\\xf5\\x0b\\x7d\\xbf\\xc0\\xd5\\x2f\\xc4\\xfa\\x2b\\xfe\\xfe\\x8a\\xde\\x5f\\xf1\\xf7\\x57\\x6a\\xee\\x57\\x6a\\xee\\x37\\xea\\x85\\x3d\\xa9\\xfa\\x1b\\xb6\\x7e\\xc3\\xd6\\x6f\\xc4\\xf0\\x3b\\x31\\xfc\\x4e\\x0c\\xbf\\x53\\x73\\xbf\\xe3\\xeb\\xef\\xd8\\xff\\x1d\\x5e\\xfe\\x60\\xbd\\x67\\xcf\\xaa\\xfe\\xc1\\xbc\\xfd\\x83\\xbe\\x3f\\xe8\\xbb\\x41\\xee\\x6e\\xc0\\x3d\\x7b\\x58\\xf5\\x06\\x39\\xbe\\x41\\xdf\\x4d\\xe4\\x6e\\x22\\x77\\x93\\xbe\\x9b\\xf8\\x78\\x93\\x1c\\xdf\\x42\\xee\\x16\\x72\\xb7\\xe8\\xbb\\x85\\xdc\\x2d\\xe4\\x6e\\x53\\x0b\\xb7\\xf1\\xfb\\x36\\x3e\\xde\\xc6\\xef\\xdb\\xc4\\xee\\x25\\x76\\x2f\\x3e\\x7a\\xf1\\xc7\\x8b\\x3f\\x5e\\xfc\\x31\\xa8\\x61\\x83\\xb9\\x68\\x30\\xb7\\x0c\\xfa\\x8c\\xe3\\xa2\\x49\\x10\\x68\\x04\\x86\\x83\\xd5\\xe0\\x88\\x68\\x4a\\x00\\xa0\\x4f\\x19\\x02\\x16\\x81\\xbd\\xe0\\xba\\x68\\x6a\\x79\\xd0\\x05\\xcc\\x00\\x5b\\xc0\\x05\\xd1\\xb4\\x72\\x20\\x13\\xd0\\xa7\\x15\\x82\\xcb\\xa2\\xe9\\xf4\\xe9\\xf4\\xe9\\xf4\\xb1\\xaf\\xd6\\x74\\xe4\\x6c\\x31\\xa0\\x2d\\x28\\x00\\x8c\\xb5\\xd1\\x67\\x47\\xce\\x8e\\x1c\\xfb\\x6d\\xcd\\xee\\x01\\xdf\\x89\\xe6\\x40\\xce\\xd1\\x0a\\x4c\\x00\\x1b\\xc0\\x69\\xd1\\x02\\xc2\\x80\\x1b\\xe0\\x63\\xc0\\x0a\\x70\\x00\\xdc\\x12\\xad\\x44\\x65\\x90\\x0d\\x66\\x01\\xec\\x94\\x40\\x67\\x20\\xe3\\x03\\x19\\x1f\\xc8\\xf8\\x40\\xc6\\x07\\x32\\xbe\\x24\\x76\\x4a\\xe2\\x77\\xc9\\x39\\x80\\x58\\x4a\\x32\\x36\\xa8\\x16\\x20\\xbe\\x20\\xf4\\x05\\xc1\\x43\\x30\\x36\\x82\\xf1\\x2f\\x18\\x9f\\x83\\x77\\x01\\x64\\x42\\x90\\x09\\xc1\\x66\\xc8\\x3a\\x80\\x6f\\xa1\\x2e\\xd0\\x13\\x2c\\x05\\xf0\\x14\\x06\\x77\\x61\\x2d\\x00\\xfe\\x87\\xed\\x04\\xbf\\x8b\\x56\\x8a\\x31\\xa5\\x46\\x03\\x6c\\x97\\x62\\x0c\\xfb\\x7f\\x2d\\x1c\\x1f\\xc3\\xe1\\x31\\xfc\\xb0\\x68\\x11\\x8c\\x89\\xc0\\xbf\\x08\\xec\\x44\\x30\\x26\\x02\\x5e\\x23\\xab\\x03\\xec\\x44\\xbe\\x08\\x4e\\x8a\\x56\\x9a\\x18\\x4a\\xe3\\x6f\\x69\\x64\\x4a\\xc3\\x55\\x69\\xe2\\x8a\\xc2\\xbf\\x28\\x6c\\x45\\xe5\\x03\\xfc\\x89\\xc2\\xe7\\x68\\xf2\\x14\\x5d\\x0f\\x0c\\x00\\xc4\\x16\\xcd\\xd8\\x18\\xec\\x73\\x5e\\xd0\\x62\\x18\\x53\\x06\\x5e\\xca\\x10\\x4b\\x19\\x64\\xcb\\x32\\xbe\\x2c\\x1c\\x96\\x85\\x97\\xb2\\x8c\\x2f\\x4b\\x5f\\x2c\\xe3\\x63\\x19\\xcf\\x39\\x41\\x8b\\xe5\\xbe\\x1c\\x36\\xe3\\xf0\\x2f\\x8e\\x3e\\xce\\x09\\x5a\\x1c\\xfe\\xc5\\x47\\x02\\xc6\\xc5\\x63\\x37\\x9e\\xfa\\x88\\x27\\x06\\xa7\\x00\\x7c\\x76\\xa2\\xc7\\x45\\x7c\\x2e\\xe2\\x4c\\x40\\x2e\\x01\\xff\\x12\\x90\\x49\\x80\\xbb\\x44\\x72\\x93\\x08\\x57\\x89\\xf8\\x95\\x08\\xe7\\x89\\xc4\\x99\\x44\\xfd\\x24\\x61\\x23\\x89\\xb8\\x92\\x88\\xab\\x3c\\x63\\xcb\\xc3\\x5d\\x79\\x72\\x57\\xfe\\x9a\\x68\\xc9\\xf8\\x93\\x8c\\xad\\x64\\xf8\\x4b\\x46\\x77\\x32\\x3e\\xa5\\xd0\\x97\\x82\\x3f\\x29\\xe4\\x2a\\x65\\x3e\\xf8\\x50\\xb4\\x0a\\xe5\\xfe\\x0f\\x80\\x6f\\x15\\xd0\\x59\\x81\\xfa\\xac\\x88\\xef\\x15\\xb1\\x53\\x11\\xdf\\x2a\\x62\\xa3\\x12\\x7e\\x55\\x82\\xb7\\x4a\\xdc\\xdf\\x07\\x5f\\x95\\xe1\\xbf\\x32\\xbe\\x57\\x26\\x1f\\x55\\xc8\\x79\\x55\\x62\\xae\\x4e\\x9d\\xd4\\x40\\xae\\x06\\xf1\\xd5\\xc4\\xbf\\x34\\x13\\xd4\\x40\\x2d\\x1d\\xe0\\x5f\\x2d\\xee\\x6b\\x11\\x47\\x6d\\xb8\\xa9\\x0d\\xd7\\x75\\xa9\\xd1\\xba\\xf0\\x50\\x0f\\x5e\\xea\\x91\\x0f\\xce\\x15\\x5a\\x7d\\x6c\\xd6\\xa7\\x16\\xea\\x93\\x97\\xfa\\xd8\\x69\\x40\\xbd\\x71\\xb6\\xd0\\x1a\\x10\\x7b\\x43\\xec\\x34\\xe4\\x59\\x43\\xee\\x1b\\x72\\xdf\\x88\\x58\\x1b\\x53\\x27\\x8d\\xf1\\xb9\\x09\\xb5\\x93\\x0e\\x7f\\x6e\\xb8\\x70\\x13\\x8b\\x1b\\xff\\xdd\\xc4\\xe3\\x46\\xbe\\x29\\xb6\\x9b\\xc1\\x4d\\x73\\xae\\x5b\\xf0\\xac\\x25\\xf9\\xcd\\x20\\x57\\xf7\\xe3\\x67\\x6b\\x72\\xf0\\x00\\xb9\\x6d\\x83\\xad\\xb6\\xf8\\xd7\\x8e\\x9c\\xb6\\xa7\\x76\\x3b\\x10\\x6b\\x07\\x62\\xea\\x48\\x5f\\x27\\xe2\\xec\\x4c\\x3e\\xba\\xe0\\x63\\x16\\xd7\\x5d\\xe1\\xa0\\x1b\\xb5\\xd8\\x8d\\xbc\\x74\\x47\\xb6\\x07\\x32\\x3d\\x79\\xd6\\x0b\\xf4\\x66\\x7c\\x1f\\x6c\\xf4\\x21\\x07\\x7d\\xf1\\x31\\x97\\x5c\\xe6\\x22\\x97\\x4b\\xad\\xb3\\x47\\xd7\\xfa\\x51\\x3b\\xfd\\x58\\x37\\xfa\\x31\\xbe\\x1f\\xf2\\xfd\\xb0\\xd1\\x1f\\x5f\\xfb\\xa3\\xbf\\x3f\\x35\\x32\\x00\\x5f\\x06\\x30\\x47\\x06\\xa2\\x77\\x10\\xba\\x06\\xc1\\xdf\\x60\\xe2\\x1e\\x4c\\xcc\\x83\\xcd\\x6b\\x64\\x86\\xe0\\xf3\\x10\\x62\\x7f\\x90\\xeb\\xa1\\xd8\\x1a\\x06\\x67\\xc3\\xa8\\x95\\x11\\xc4\\x38\\x12\\xfe\\x47\\x22\\x3b\\x8a\\x31\\xa3\\xc8\\xc7\\x28\\xf8\\x1d\\x8d\\xfe\\xd1\\xf0\\x33\\x1a\\x7e\\xc6\\x54\\x04\\xf0\\x30\\x86\\x67\\x63\\xe0\\x7b\\x2c\\xf2\\x63\\x19\\x37\\x96\\xbc\\xe4\\xc1\\x5d\\x1e\\xcf\\xf2\\xe0\\x33\\x9f\\xfc\\xe4\\xd3\\x9f\\xcf\\x9a\\x33\\x8e\\xfc\\x8c\\x23\\xc6\\x71\\xc8\\x3f\\x84\\xad\\x87\\x18\\x3b\\x9e\\x38\\xc6\\x13\\xc3\\x78\\xea\\x76\\x02\\x5c\\x4d\\x40\\xff\\x04\\xe2\\x9d\\x08\\x3f\\x13\\xe9\\x9b\\x84\\x8f\\x93\\x18\\xfb\\x30\\x75\\xf2\\x30\\x71\\x3e\\x8c\\x1f\\x93\\x91\\x9f\\x4c\\xbc\\x8f\\xc0\\xc9\\x23\\xc8\\x4c\\xc1\\x97\\x29\\xc8\\x4c\\x25\\x87\\x53\\xe1\\xa6\\x00\\x1d\\x05\\xf4\\xb3\\xb7\\xd7\\xa6\\xe1\\xd7\\x34\\x7c\\x99\\x46\\x1d\\xcc\\x40\\xef\\x1c\\xc6\\x2c\\x64\\xfc\\x42\\x78\\x59\\x88\\x1f\\x8b\\xf0\\x6f\\x11\\xb6\\x16\\xf1\\x7c\\x11\\xbe\\x2f\\x62\\x2e\\x2f\\x26\\xe6\\xc5\\xac\\x95\\x8b\\x99\\x93\\x4b\\xf0\\x73\\x29\\x5c\\x2e\\x45\\xff\\x32\\x64\\x97\\xc1\\xc9\\xb3\\xc4\\xb1\\x9c\\x7a\\x5a\\xc1\\xb3\\x95\\xc4\\xf6\\x1c\\xed\\x2a\\xc6\\xac\\x42\\x7e\\x35\\x39\\x5d\\x0d\\xef\\xec\\xdb\\xb5\\x35\\xd4\\xfb\\xf3\\xc8\\xbf\\x80\\xad\\x17\\xd1\\xb1\\x96\\x58\\xd7\\xe2\\xf7\\x4b\\xd8\\x7a\\x99\\xe7\\xeb\\xa8\\x95\\x57\\x88\\x69\\x3d\\x75\\xbd\\x1e\\xfd\\xec\\xdf\\xb5\\x57\\xc9\\xcd\\x06\\x74\\x6f\\xc0\\xff\\xd7\\xd0\\xfd\\x1a\\xfe\\xbc\\x4e\\xce\\xdf\\x40\\xde\\x03\\x07\\x1e\\x72\\xe9\\x41\\x76\\x23\\x3c\\x6e\\xa4\\xee\\x37\\xc1\\xf5\\x26\\xea\\x73\\x13\\x7a\\x36\\xc1\\xf7\\x26\\xf8\\xd9\\x8c\\xef\\x9b\\x91\\xd9\\x82\\x9f\\x5b\\xa8\\xd1\\x2d\\xc4\\xb5\\x05\\x2e\\xde\\xa4\\x7e\\xdf\\xa4\\x3e\\xde\\x64\\xdc\\x56\\x6c\\x6e\\xa5\\x7e\\xb6\\xc2\\xc7\\x56\\xf8\\xd8\\x4a\\xff\\x56\\x6c\\x6f\\xa3\\x7f\\x1b\\xe3\\xb6\\xc1\\xdb\\x36\\xf2\\xb1\\x0d\\xdd\\xdb\\x90\\xd9\\x86\\xdd\\x6d\\xd4\\xfa\\x36\\xe4\\xb6\\xc1\\xef\\x36\\x78\\xde\\x86\\xce\\x42\\x62\\x2a\\x44\\xa6\\x10\\xfb\\x85\\xf4\\x17\\xe2\\x6b\\x21\\x7a\\x0a\\x99\\xfb\\xdb\\xa9\\x97\\xed\\x8c\\xdd\\x8e\\x0f\\xdb\\xa9\\xb3\\xed\\xf8\\xb7\\x9d\\x98\\xb7\\x13\\xd3\\x0e\\xb8\\xdc\\x81\\xfd\\x1d\\xe8\\xdd\\x01\\x67\\x3b\\xf0\\x77\\x07\\xb5\\xbe\\x83\\x1c\\xbd\\x85\\xed\\xb7\\x88\\xfd\\x2d\\xc6\\xbc\\x85\\xef\\x6f\\x21\\xbf\\x13\\xf9\\x9d\\xe4\\x79\\x27\\x1c\\xed\\x84\\x8b\\x9d\\xc4\\xbf\\x13\\x1f\\xde\\xc6\\xd7\\xb7\\xc9\\xfb\\xdb\\x70\\xfa\\x36\\x71\\xed\\xe2\\xf9\\x2e\\xf4\\xed\\xc2\\xfe\\x6e\\xe2\\xdd\\xcd\\x9c\\xd9\\x0d\\xe7\\xef\\x91\\x9f\\xf7\\xf0\\xf1\\x3d\\x72\\xb2\\x87\\xeb\\x3d\\xe4\\x65\\x2f\\xdc\\xed\\xc5\\xfe\\x5e\\xc6\\xee\\xc5\\xef\\xbd\\xf8\\xcd\\x19\\x44\\x7b\\x9f\\xe7\\xef\\xa3\\xf3\\x7d\\xec\\xbf\\xcf\\xdc\\xf8\\x80\\x38\\x3e\\x20\\xb6\\x0f\\x78\\xb6\\x0f\\x9f\\x39\\x77\\x68\\xfb\\xc8\\xe9\\x3e\\x62\\xd9\\x87\\x6f\\x1f\\xe2\\xdb\\x87\\xd8\\xe2\\xec\\xa1\\x7d\\x88\\x6f\\x1f\\x32\\x87\\x38\\x73\\x68\\xfb\\xe1\\x75\\x3f\\x31\\x7d\\x44\\x3c\\x9c\\x33\\xb4\\x8f\\xd0\\xc1\\x59\\x43\\xfb\\x88\\x3a\\xe1\\xbc\\xa1\\x7d\\x84\\x6e\\xce\\x1a\\xda\\xc7\\xd4\\xc6\\xc7\\xe8\\xfc\\x18\\x3f\\x3e\\x66\\x4e\\x7c\\x0c\\x17\\x1f\\x93\\x7f\\xce\\x1e\\xda\\xc7\\xc4\\x71\\x80\\x75\\xee\\x00\\x32\\x07\\x18\\xc7\\x99\\x43\\x3b\\x08\\x9f\\x9c\\x35\\x34\\xce\\x18\\xda\\x27\\xd8\\xe2\\x4c\\xa1\\x1d\\x42\\xf6\\x30\\xba\\x0e\\x93\\xff\\x4f\\xa9\\xe7\\x4f\\x91\\xe5\\x9c\\xa0\\x71\\x46\\xd0\\x3e\\xc3\\x87\\xcf\\xe1\\xee\\x73\\xc6\\x7d\\x8e\\xdd\\x23\\xf8\\x73\\x84\\xfe\\x23\\xf4\\x73\\x26\\xd0\\x8e\\x62\\x97\\xf3\\x80\\x76\\x0c\\x99\\x63\\xc8\\x1c\\x83\\xc7\\x2f\\x88\\xf9\\x0b\\xfc\\x65\\xdf\\xaf\\x1d\\x27\\xe6\\xe3\\x70\\x7a\\x1c\\x99\\x2f\\xb9\\xfe\\x92\\xd8\\xbf\\x24\\xf7\\x5f\\x71\\xfd\\x15\\xf5\\xf0\\x15\\x79\\x38\\x01\\xef\\x27\\x58\\x07\\x4f\\x60\\xff\\x24\\x39\\x3f\\x49\\x1c\\x27\\xf1\\xfd\\x6b\\x6a\\xf1\\x6b\\xb8\\xfd\\x86\\x18\\xbe\\x81\\x9b\\x6f\\xe0\\xec\\x14\\x7e\\x9f\\x22\\x7f\\xec\\xd5\\xb5\\xd3\\xf0\\x74\\x9a\\x5c\\x9f\\xc6\\x2f\\xf6\\xe6\\xda\\xb7\\xe8\\xfe\\x16\\x4e\\xcf\\x70\\x7d\\x06\\xfe\\xcf\\x60\\xff\\x2c\\x3a\\xce\\xc2\\xc9\\x77\\xd4\\xe6\\x77\\xc4\\xf8\\x1d\\xb9\\x3b\\x47\\xee\\xce\\xc1\\xef\\x39\\x7c\\x3d\\x4f\\x3c\\xe7\\xb9\\x66\\xcf\\xad\\x15\\x51\\x0f\\x45\\xe4\\x99\\x7d\\xb6\\x76\\x01\\xff\\xd8\\x5f\\x6b\\x17\\xb8\\xbe\\x08\\x47\\x17\\xe1\\xec\\x22\\xfe\\x7d\\x8f\\x7f\\xdf\\xc3\\xcf\\x25\\xc6\\x5d\\xc2\\xff\\x4b\\xe8\\xb8\\x0c\\x57\\x97\\xe1\\xe4\\x32\\x3c\\x5e\\x61\\xdc\\x15\\xfc\\xbf\\x82\\xed\\x1f\\xf0\\xe3\\x07\\x62\\xff\\x81\\xeb\\xab\\x8c\\xbb\\x4a\\x3d\\x5e\\xc3\\xe7\\x6b\\xc4\\x72\\x0d\\x7d\\x3f\\xe2\\xd3\\x8f\\xd8\\xfe\\x11\\xff\\x7f\\x82\\xbf\\x9f\\xb0\\xcd\\xde\\x57\\xfb\\x99\\x18\\x7f\\x26\\xe7\\x3f\\x13\\xcb\\x75\\x6c\\x5f\\x27\\xae\\xeb\\xf0\\xf1\\x0b\\xfe\\xff\\x02\\x1f\\xbf\\xc2\\xc7\\xaf\\xe8\\xf8\\x15\\x7d\\xbf\\x61\\xfb\\x37\\x64\\xd9\\xc7\\x6a\\xbf\\x73\\xcd\\x1e\\x56\\xfb\\x9d\\xdc\\xfc\\x81\\x7f\\x7f\\xd0\\xff\\x07\\x3e\\xdd\\x40\\xdf\\x0d\\xec\\xb0\\x5f\\xd5\\x6e\\x92\\xb3\\x9b\\xc4\\x75\\x13\\x7d\\xb7\\xf0\\xf5\\x16\\x32\\xb7\\x90\\xb9\\xcd\\x7c\\xbd\\x8d\\x9d\\xdb\\xf8\\xea\\x25\\x1f\\x5e\\xfc\\xf6\\x12\\xbb\\x41\\xbf\\x41\\x2e\\x8d\\xcb\\xa2\\xb3\\xff\\xd4\\x65\\x11\\xb8\\x2e\\xba\\xd2\\x05\\x6c\\x01\\xb7\\x44\\x57\\x7b\\x82\\x9d\\xa2\\x6b\\xd9\\xa2\\xeb\\xe5\\xc1\\x70\\x70\\x5a\\x74\\x1b\\xfd\\xb6\\xbd\\xa2\\xdb\\x23\\xc1\\x00\\x80\\xbc\\x43\\x07\\x05\\x80\\x71\\x01\\x13\\x00\\xba\\x4a\\xb4\\x00\\xe8\\x2d\\xf1\\x9d\\xe8\\x81\\xb5\\xc0\\x06\\xd1\\x4b\\xa2\\xa7\\xe4\\x0a\\xd1\\x83\\x18\\x1b\\xc4\\xd8\\x20\\xc6\\x06\\x33\\x36\\x18\\xbb\\xc1\\x87\\x45\\x0f\\x69\\x0b\\x3e\\x14\\x3d\\x94\\xb1\\xa1\\xd7\\x44\\x0f\\x5b\\x2d\\x7a\\x29\\xfc\\x2b\\x75\\x52\\xf4\\xf0\\x39\\xa2\\x47\\x70\\x1d\\xc1\\x75\\xe4\\x64\\xe0\\x11\\xbd\\xf4\\x68\\xd1\\xa3\\x82\\xc0\\x01\\xd1\\xa3\\xb1\\x11\\x8d\\x8f\\xd1\\x8c\\x8b\\x79\\x51\\xf4\\x32\\xd8\\x28\\xb3\\x54\\xf4\\xb2\\xf5\\x00\\xf2\\xb1\\x3c\\x8f\\x3d\\x22\\x7a\\xb9\\xea\\x00\\x5d\\x71\\x01\\x80\\xfb\\x78\\xfc\\x88\\xc7\\x5f\\x27\\xfe\\xbb\\xf0\\xcf\\x85\\xac\\x0b\\x5f\\x12\\x32\\x01\\xf1\\x26\\x32\\x3e\\x71\\xbe\\xe8\\xec\\x9f\\x74\\xf6\\x4d\\x7a\\x12\\xb2\\xe5\\xd1\\x55\\x9e\\x71\\xe5\\x91\\x2d\\x8f\\x8f\\xe5\\xd1\\x53\\x1e\\x2e\\x93\\x89\\x25\\xb9\\x1c\\xa8\\x0c\\x88\\x29\\x85\\x38\\x52\\x8e\\x8b\\x5e\\x01\\xdd\\x15\\xe9\\xaf\\x58\\x68\\xfe\\x3b\\x3a\\xa2\\x8a\\xf9\\x21\\x60\\xb2\\x6d\\x1a\\x3b\\x7e\\x87\\xdc\\xe7\\x8e\\x54\\x74\\x3d\\xa0\\x84\\x28\\x4a\\x98\\xa6\\xd8\\xdc\\xba\\x6d\\x65\\x0f\\x5d\\xd5\\x24\\xbd\\x5a\\xaa\\x94\\x8d\\x09\\xfb\\xa4\\x4f\\xef\\x5e\\xa5\\xc2\\x95\\xfa\\xa5\\xd2\\x6a\\x54\\x57\\x92\\x22\\xd2\\x94\\xba\\x69\\x0e\\xa5\\xf5\\xa2\\x0d\\x7b\\xbd\\x15\\x2b\\xbe\\x57\\x51\\x99\\xab\\x5d\\xbf\\x31\\x75\\xff\\x7e\\x74\\xbe\\xa5\\x7d\\xa0\\x25\\xf9\\x75\\x26\\xb8\\x43\\x74\\x9b\\x22\\x36\\x09\\x28\\x61\\x93\\x02\\xbb\\xa9\\x2d\\xad\\xec\\xc1\\x9a\\xa6\\x1e\\x14\\xdd\\x51\\x05\\xd4\\xed\\x4f\\xb9\\x0b\\xbd\\xc9\\x73\\xd3\\x0b\\xb5\\x0f\\x94\\xb7\\xbc\\x2d\\x95\\xb7\\xcc\\xbf\\xbf\\x59\\x41\\x44\\x9f\\x69\\x9b\\x28\\xb1\\xe2\\x94\\x63\\xee\\xe9\\x65\\xa2\\xc4\\xa9\\xc4\\xeb\\x0e\\x47\\xbc\\x33\\x4a\\xb7\\xc7\\x44\\x47\\xdb\\xec\\xa5\\xc3\\xcb\\x85\\xc6\\x85\\x04\\x94\\x2c\\x19\\x12\\x1a\\xae\\x07\\x46\\x46\\x44\\x94\\x08\\xb4\\x07\\x26\\xb8\\x02\\x1c\\x7a\\xc9\\x90\\x92\\x6f\\xe4\\xc4\\xc7\\x29\\x21\\xce\\x72\\x12\\x1a\\x1e\\xfa\\x46\\x4e\\x99\\xa8\\xd2\\xe1\\xce\\x90\\x3e\\x21\\x6a\\x68\\x88\\xd9\\x8c\\x0a\\xd1\\x83\\x42\\xc3\\x3b\\x84\\xab\\x0d\\x4e\\x85\\x5f\\x0d\\x57\\xab\\x85\\xa7\\x73\\x33\\x2f\\xfc\\x54\\xb8\\xcd\\xbc\\x78\\x23\\x5c\\x0b\\x77\\x57\\x4f\\x6b\\x15\\x12\\x1e\\x12\\x6e\\x8b\\x89\\x8e\\x8c\\xb0\\x07\\x96\\xb0\\x73\\x7e\\x49\\x4f\\x4b\\x4b\\x33\\x11\\x5e\\xbf\\x7e\\xb5\\x6a\\xa9\\xbd\\xc6\\x8c\\xed\\xdd\\xab\\x77\\xaf\\x31\\xa5\\xe8\\x49\\x2d\\x25\\xfc\\xbe\\xeb\\xca\\x17\\x24\\x3d\\xe1\\xd1\\x56\\xb0\\xbe\\xff\\xfd\\xf5\\x1e\\x02\\xb4\\x84\\xd2\\x09\\x5a\\x52\\x84\\x89\\xa4\\xda\\x69\\x20\\x21\\x22\\x4d\\x33\\x91\\x46\\x7f\\x42\\x84\\xf6\\x5c\\x7b\\x45\\xf7\\x9e\\xcb\\x1e\\xd9\\xd5\\xbb\\xb8\\xcb\\xc8\\x2e\\xfb\\xbf\\x6d\\x7f\\x4b\\x09\\xcf\\x19\\x99\\xad\\x0c\\xcb\\x1e\\x99\\xfd\\xf9\\x6d\\x77\\xa6\\x32\\xb4\\xbd\\x36\\xce\\x3b\\x6f\\xb8\\x77\\x88\\xb2\\xd4\\xc4\\x70\\x65\\xcc\\x70\\xdf\\x95\\x77\\xc8\\x70\\xef\\x3c\\x65\\x0c\\xf3\\xeb\\xba\\x91\\xaf\\x3f\\x6d\\xbb\\x2c\\x89\\x52\\x51\\xaa\\xc9\\x36\\xf7\\x83\\x95\\xc2\\x2b\\x04\\xa7\\x84\\xb8\\x2a\\x3b\\xab\\x94\\x89\\x8a\\xaa\\x52\\x39\\x24\\xd8\\x66\\xd2\\x69\\xd7\\x35\\xcd\\x66\\x97\\xa4\\x24\\x7b\\xb8\\x56\\x22\\xae\\x5c\\xb9\\x1a\\x25\\xaa\\x3b\\xab\\x44\\x55\\xc9\\xcb\\x49\\x71\\x85\\x54\\xce\\xaf\\x3c\\xa3\\xb2\\x5a\\x29\\xbc\\xb2\\x4b\\x92\\xec\\xf6\\xa8\\xd0\\xb8\\x51\\x71\\x6a\\x09\\x2d\\x2e\\xae\\x4c\\x54\\x74\\x74\\x94\\xbb\\x44\\x58\\xab\\xa8\\x0a\\xc1\\xf6\\xe0\\xbc\\x1c\\x09\\xcc\\x0c\\xec\\x1b\\xa8\\x05\\x06\\xda\\x6d\\x36\\xcd\\x6e\\x11\\x56\\xad\\x54\\x5a\\xb5\\x5e\\x26\\x29\\x31\\xd5\\x52\\xcd\\x9b\\xb4\\x6a\\x56\\x2d\\x45\\xd7\\xef\\x65\\x52\\x60\\x3e\\x28\\xa5\\x58\\x6c\\xf8\\x89\\xf1\\x73\\xf3\\x17\\xda\\x2c\\xaa\\x22\\x75\\x9b\\x23\\xa9\\x6e\\x55\\xa5\\x42\\xdd\\x78\\x25\\x3a\\xa2\\xaa\\x5a\\xbb\\x56\\x13\\x25\\x5d\\x49\\x73\\x70\\xe7\\x48\\xa9\\xa0\\xc5\\x2b\\x8e\\x5a\\x34\\xe5\\x95\\xc8\\xa8\\xe8\\x88\\x10\\x45\\xaf\\xee\\xbd\\xe2\\x35\\x9c\\x63\\x5d\\xfb\\x3f\\x8f\\x7d\\xa1\\xcc\\x82\\xc7\\xfb\\x2e\\x5e\\xd0\\x76\\xfa\\xc5\\x85\\x65\\xc6\\xc6\\xae\\xd8\\x5e\\x76\\x45\\x95\\xdd\\x5d\\xf7\\xee\\xd8\\x3e\\x70\\x6a\\x77\\xa5\\xc9\\xed\\xeb\\xdd\\xa7\\x75\\x5c\\xb0\\x5c\\x79\\x65\\xfb\\xe7\\x01\\x6b\\x5e\\x08\\xd9\\xb2\\x2a\\x39\\xef\\xa1\\x40\\xe5\\x4a\\xa5\\x1e\\xd3\\x7a\\x8f\\x5e\\x9b\\xa3\\x3c\\xfa\\x44\\xc4\\x92\\x87\\xab\\xbc\\x1c\\xeb\\xbd\\xbf\\x76\\xe1\\x82\\xf6\\x03\\x2b\\x7a\\x6b\\x94\\xd2\\xdc\\xcd\\xbb\\x56\\x54\\x56\\xd9\\xc6\\x52\\xda\\x4f\\x1b\\xd7\\xed\\xef\\xdb\\xe6\\x52\\xef\\xe1\\x54\\x69\\x55\\x69\\x28\\xdd\\xdc\\xb5\\x63\\x42\\x45\\x89\\x77\\xd4\\x4a\\x55\\xb5\\x06\\x49\\x49\\x5a\\xaa\\x43\\x09\\xb5\\x37\\x6a\\xec\\xaa\\xb6\\x35\\xa7\\xa2\\xab\\xb0\\x47\\xc5\\x3a\\xb4\\x65\\x82\\xca\\x6e\\xcd\\xd1\\x83\\x0a\\x7b\\xe8\\x11\\xb4\\x0e\\xd5\\x2e\\x70\\x95\\x9e\\x6e\\xfe\\x91\\xf9\\x18\\xf3\\x37\\xe5\\x73\\x6f\\xfc\\x09\\x49\\x4a\\x5a\\x72\\xcd\\xa8\\xd2\\x91\\x21\\x6a\\x52\\x62\\x4a\\xed\\x5a\\xe1\\x75\\xa2\\x13\\x43\\xd4\\xd2\\x91\\x69\\x35\\xeb\\x84\\xd7\\xae\\xa5\\xfc\\xf3\\x93\\x57\\xd6\\xea\\xcf\\xbf\\x7c\\xf3\\xc8\\x23\\x8f\\xd7\\x19\\xb9\\x20\\x67\\xf2\\xac\\x5e\\x9e\\x69\\xcd\\xbb\\xba\\x53\\xa7\\x64\\x8d\\x6c\\xa4\\x55\\xfa\\x9b\\x4e\\xdb\\xb4\\xa0\\xe7\\x96\\x0c\\x2d\\x7a\\x39\\x6b\\xed\\xd2\\x85\\x4a\\xdc\\xa2\\xe1\\x4d\\x1e\\x3b\\xd6\\xee\\x9d\\xc7\\x95\\x80\\xbe\\x5b\\xbd\\x5d\\xfe\\xe1\\x01\\xd1\\x27\\x18\\x97\\xf5\\x0b\\xb6\\x27\\x24\\x59\\xaa\\x4b\\x63\\x19\\xe3\\x6e\\x1a\\x99\\x9a\\xe6\\xaa\\x18\\x94\\xa8\\x06\\x24\\x57\\xad\\x5a\\xaa\\x46\\x54\\xbd\\x72\\xc9\\x22\\xe5\\xa2\\x4a\\xe9\\x4d\\xd2\\x5d\\xa9\\x89\\x15\\x55\\x5b\\x4a\\x64\\x5a\\x99\\xe4\\xe4\\x94\\x32\\x65\\x1a\\x76\\xcc\\xd9\\x55\\x46\\x09\\x2d\\x93\\x5e\\x86\\x8a\\x2a\\x13\\x64\\x4b\\x09\\x49\\xe9\\x98\\x13\\x18\\x12\\x45\\xed\\x58\\x53\\x29\\xc6\\xac\\x97\\x31\\x30\\x22\\xf5\\x63\\xaa\\x31\\xf1\\xcc\\xc2\\xf8\\x0b\\x3b\\x74\\x50\\x1d\\x2a\\x75\\x90\\x56\\xb3\\xae\\xc3\\x9e\\x94\\x58\\xc1\\x6e\\xd1\\x50\\xa7\\xae\\xf9\\x2b\\xcd\\x24\\xc6\\x1e\\xaa\\x44\\x45\\x37\\x51\\xea\\x2a\\x35\\xcd\\xfa\\x09\\x51\\x4a\\x47\\x46\\x45\\x44\\x46\\x37\\xd1\\x6a\\xd7\\x4a\\x49\\x4a\\xb4\\xeb\\xa7\\x9f\\x5c\\x5a\\x71\\x60\\xd5\\x46\\xb5\\x82\\x1b\\x35\\x5d\\x3c\\x69\\xd3\\xb9\\xb7\\xbf\\xda\\xf1\\x73\\xb9\\x2f\\xb7\\xce\\x7e\\xed\\x85\\xcf\\x1e\\x69\\xfb\\x54\\xa3\\xb1\\xed\\x6f\\x0f\\x79\\x61\\x76\\xeb\\xc7\\x2b\\xaf\\x7b\\xf4\\x89\\x5b\\x11\\x1d\\x66\\x0f\\x6e\\xd8\\xa3\\xf5\\xe8\\x49\\xea\\x06\\xef\\xfb\\x6b\\x52\\x2a\\x85\\xcd\\x8c\\x9a\\x34\\x7d\\xff\\xfa\\x95\\x07\\x7b\\x8d\\x1f\\xf5\\xda\\xe1\\xf9\\x0f\\xe5\\x6f\\xe8\\x5c\\xf3\\xf4\\x9e\\x16\\x3b\\xd7\\xdd\\x9e\\x33\\xb0\\xfb\\x2f\\x05\\xcd\\x16\\x8c\\x1c\\x35\\x43\\x7b\\xbe\\xfd\\x80\\xb8\\x5a\\xee\\x4e\\x0d\\x9a\\x76\\x9e\\x69\\xfe\\xbd\\xf3\\x8f\\x58\\xe4\\x76\\x5b\\x6b\\x64\\xb4\\xdb\\x5c\\x70\\x75\\x56\\x47\\x73\\x71\\x2c\\x7b\\xf0\\x2f\\x4b\\x6c\\x37\\xff\\x72\\x28\\xe6\\x98\\xbe\\xde\\x6c\\xad\\x9b\\xed\\x80\\x04\\x0a\\xd3\\x4d\\x75\\x38\\x4a\\x06\\xe9\\xb1\\x3c\\x48\\x4f\\xbf\\x33\\x44\\x4a\\x85\\x45\\x24\\xa9\\xa5\\xc2\\x24\\x59\\xeb\\x76\\xfb\\x9d\\x43\\xaf\\x1f\\x53\\x2a\\x2b\\x71\\xb6\\x03\\x5e\\xed\\x76\\x5d\\xef\\xc3\\xde\\x2f\\x94\\x8a\\xca\\x12\\x25\\x5f\\x1d\\x74\\xd2\\xfc\\xd3\\xe5\\x8a\\x51\\xdf\\x9b\\xad\\x56\\xff\\xab\\x3e\\x61\\xa1\\xfd\\x53\\x9f\\x86\\x3e\\x2d\\x2d\\x1c\\x7d\\xb6\\x7d\\x6a\\x33\\xd4\\x79\\x8f\\x78\\xcf\\x7a\\xb3\\x95\\xdb\\xea\\x7e\\xe5\\x31\\xa5\\x92\\xf7\\xb8\\x77\\xa8\\x77\\xce\\xed\\x67\\x4f\\xe2\\xdb\\x04\\x75\\x93\\xd6\\x85\\x78\\x42\\xa4\\xa9\\x3b\\x25\\x30\\x54\\x55\\xc3\\xb4\\x12\\x12\\xa4\\x04\\x95\\xb0\\x6b\\x25\\x4b\\x3a\\x3a\\xd8\\xfa\\xd8\\xa6\\xda\\xe6\\xd9\\x74\\x9b\\x3b\\xaa\\x4c\\x2b\\xb1\\x29\\xb6\\x5d\\xc1\\x56\\xb0\\xbd\\x52\\x7b\\xd5\\xac\\x5f\\x2d\\xba\\xbe\\x2f\\x8b\\xac\\x01\\xe1\\x66\\x1e\\x93\\xa3\\x6d\\xd1\\x8e\\x92\\x4c\\xf2\\xe4\\xba\\x36\\x2d\\x4d\\x75\\x2a\\x01\\x55\\xbc\\xe7\\xb7\\x8f\\x5f\\xb2\\x62\\xfc\\xdb\\xde\\x0b\\x55\\x94\\x92\\x41\\xb3\\xf4\\xee\\x83\\x67\\xb4\\xbe\\xd1\\x4a\\x51\\x0d\\x69\\xf5\\x7b\\xeb\\xc7\\x87\\x29\\x95\\xf0\\x61\\xba\\x6c\\xd1\\x07\\xea\\xcf\\x49\\x49\\x69\\xee\\x4e\\x29\\x61\\xb7\\x8b\\xa6\\x05\\x07\\xbd\\xa2\\x2a\\x5a\\xa8\\xda\\x47\\x55\\x83\\xec\\x2a\\xfb\\x05\\xfd\\xb5\\x9c\\x12\\xc7\\x1c\\x4a\\x5d\\xc7\\x4c\\x87\\xea\\xb0\\x6d\\xa6\\xc0\\x7a\\xf5\\xf2\\xd5\\x18\\x15\\xd6\\xc7\\xff\\x7e\\xf3\\xad\\x35\\xa5\\x92\\x4a\\x25\\xd4\\x4e\\xc0\\xad\\x84\\xd2\\xea\\xdb\\x0b\\x09\\x7b\\xdd\\x42\\x65\\x9d\\xda\\xd7\\xdb\\x45\\xd9\\xf0\\xb4\\xb2\\xc1\\xdb\\xe5\\x69\\x33\\x27\\xc9\\xde\\x1b\\x4a\\x1b\\x39\\x21\\x25\\xa4\\xbc\\x3b\\xdc\\xae\\xd9\\x44\\xb1\\x29\\x25\\x03\\x6d\\xb2\\xae\\x87\\x6e\\x5b\\xde\\x43\\x97\\x6a\\xd6\\x3c\\xf6\\xbd\\xeb\\x50\\x1a\\x91\\x54\\xa7\\x6e\\x12\\xef\\xcd\\x10\\x65\\xf5\\xc3\\x13\\xca\\x64\\xdf\\xb7\\xc7\\x15\\xde\\xcc\\x7b\\xe3\\x89\\x47\\x4e\\xac\\xeb\\xb3\\xc4\\xca\\xf1\\x83\\xca\\x61\\x75\\xb2\\xca\\x0e\\x54\\x9c\\xee\\x52\\x9a\\xd8\\x74\\x45\\xde\\xca\\x59\\xa5\\x1c\\x52\\xd4\\x6a\\x8a\\xa2\\x48\\x35\\x6b\\x16\\xa0\\x0f\\x55\\x75\\x13\\x1c\\x0f\\x3a\\x95\\xeb\\x4e\\xe5\\xf0\\xea\\xd5\\xd6\\xd8\\x4c\\x7e\\x35\\xc1\\x17\\xb3\\xa6\\x02\\x35\\xf3\\xbf\\x2f\\x2a\\xca\\xf2\\x1e\\x82\\x0f\\xc5\\x09\\x4d\\xc3\\x74\\x66\\xea\\x9e\\xd4\\x13\\x27\\xcc\\xfc\\xcf\\x31\\x2e\\xab\\x17\\xc9\\x3f\\x69\\xde\\xaa\\xb1\\xd7\\x12\\x89\\x32\\x93\\xcf\\x14\\xaa\\x51\\xdd\\xa1\\xa4\\x51\\x29\\xef\\x3e\\x77\\xbb\\x45\\xa4\\xed\\x34\\x3b\\x3c\\xf3\\x5d\\x9c\\xc3\\xfc\\xee\\x67\\x5b\\x42\\x8e\\xcb\\x49\\x45\\x77\\x64\\xd9\\xc0\\xc0\\xb8\\x08\\x4d\\x8b\\x77\\x84\\xe6\\xe5\\x38\\xca\\x48\\x14\\x2b\\xbf\\x43\\xd2\\xad\\xc5\\xcb\\x5a\\xcd\\xc3\\x7d\\x35\\xc9\\xdc\\x0b\\x53\\xf5\\xa4\\x44\\xd6\\xea\\xb2\\x4a\\x1d\\xcd\\x5a\\x8f\\xcc\\x19\\xc7\\xe2\\x14\\xa5\\x9e\\xdc\\x76\\x68\\x85\\xf7\\xcc\\x81\\x37\\x3f\\xc9\\x59\\x75\\xa9\\xe3\\x33\\xef\\x8e\\x1d\\x3f\\xdc\\xfc\\x65\\x5b\\xf2\\xeb\\x49\\x43\\xbc\\x09\\x7f\\x28\\xea\\xd9\\x2d\\x4a\\xbe\\x12\\x36\\xf7\\xc6\\xc5\\x23\\xca\\xbb\\x6f\\x2d\\x5f\\x71\\xc4\\xdb\\xf4\\x2d\\xf3\\xcf\\x9d\\x98\\xff\\x0d\\x28\\xed\\x03\\xea\\x2d\\x50\\x6a\\xb9\\xcb\\x05\\xa8\\x6a\\xc9\\xa0\\x00\\x35\\x50\\xcd\\xcf\\x09\\x8c\\xb1\\xad\\xd2\\x95\\x4a\\x7a\\x7d\\x5d\\xd5\\x75\\x87\\x46\\x11\\x98\\xef\\xea\\x6a\\x24\\x39\\xdd\\x7a\\xcd\\xdc\\x21\\x22\\x21\\xc2\\x56\\x37\\x99\\xd7\\xac\\xa3\\x76\\xbc\\x32\\xf8\\xb0\\xf7\\x99\\x24\\x65\\xe2\\x4b\\xd7\\x95\\x6e\\xf1\\xcb\\xf4\\xaa\\xa7\\xb6\\x9c\\xbb\\x19\\xb3\\xcc\\x37\\x47\\xae\\xb3\\xff\\xc8\\x22\\x66\\x97\\xb4\\x75\\x57\\x8a\\x97\\xc0\\xe8\\xb0\\x52\\xa5\\xa2\\x9d\\x5a\\xa2\\x48\\x42\\x68\\x98\\x12\\x1a\\xe6\\x0c\\x53\\x43\\xb4\\xb0\\xb0\\xc8\\x48\\x5e\\x7c\\x91\\x0e\\x25\\x5e\\xe2\\xf3\\x73\\xcc\\x75\\xdc\\x7a\\xd9\\xf9\\x7e\\x5b\\x6b\\x97\\x55\\xdb\\xc5\\x0b\\x56\\x8d\\xea\\x49\\x75\\x9b\\x38\\x7c\\x34\\x38\\x2a\\x34\\x51\\xac\\xf5\\x29\\x44\\xa1\\x2a\\x1c\\x09\\x8e\\xa0\\x98\\xba\\xb3\\x16\\x2d\\x9b\\xf7\\x48\\xef\\x3a\\x8f\\x0c\\x1d\\xf1\\x7c\\xf2\\xfa\\x3a\\xbf\\xbf\\xb5\\xf5\\xec\\xa0\\x83\\x9f\\x2c\\x7c\\xb3\\xaa\\xfa\\x45\\xdc\\xd4\\x5e\\x4f\\x8f\\xef\\xd7\\xa3\\xfb\\xa0\\x89\\x6d\\xfb\\x4d\\x1c\\x3f\\x3e\\x79\\xfd\\xe6\\xbd\\x2b\\x86\\xbe\\xb7\\x69\\x7a\\xaf\\xa5\\xad\\x96\\x59\\x35\\x50\\x9d\\x1c\\xe5\\xe2\\x6f\\xaa\\x14\\xb8\\x33\\x53\\xa2\\x4b\\x04\\xba\\x9c\\xce\\xc0\\xfb\\x22\\xa2\\x6d\\x95\\xf1\\xb2\\x4a\\x44\\xea\\x7d\\xa9\\xf7\\xe5\\xe7\\xa4\\xa6\\xc6\\x06\\xc7\\x26\\x91\\x2f\\x57\\x98\\xcb\\xed\\xca\\x74\\xe9\\xe6\\x85\\x8b\\x8b\\xd5\\x2e\\x8f\\xeb\\x9a\\xcb\\x11\\xec\\x72\\xc5\\x96\\x09\\x2d\\xa1\\x84\\x96\\x70\\x96\\x20\\xbc\\x12\\x25\\x82\\x83\\xed\\x79\\x39\\xc1\\x0e\\xb9\\x2b\\xa0\\xf4\\xb4\\x6a\\x7f\\x2e\\xc9\\x56\\xe3\\x4b\\xfa\\x9f\\x31\\x2a\\x35\\xeb\\x14\\x87\\x58\\xa7\\x7c\\xf1\\x12\\x1c\\xaf\\x98\\x91\\x26\\x25\\xfa\\x5e\\xe1\\x69\\x96\\x48\\xaa\\x52\\x57\\xad\\xb3\\xed\\xcd\\x89\\x03\\xc7\\xbf\\x9a\\xb8\\xa9\\x81\\x52\\xf2\\xad\\xb7\\x8e\\xef\\x7e\\x43\\x79\\xf4\\xe9\\x89\\xe7\\x96\\x15\\xec\\x9d\\x56\\xe6\\xc5\\x78\\xcf\\xc3\\x73\\x57\\x2d\\x99\\x36\\x39\\x5e\\x8b\\x7d\\x7a\\x4e\\xaf\\xe1\\x93\\x46\\x85\\xec\\x78\\xb3\\x70\\xf5\\xb2\\xdd\\xd1\\x7a\\xd9\\x95\\x0f\\x3f\\xb2\\x67\\x58\\xf6\\x9a\\x11\\xd5\\xf3\\xe7\\x2e\\x9e\\x32\\xfa\\xe1\\x15\\x56\\x9d\\x06\\x93\\xb3\\x14\\xab\\x36\\x82\\x25\\xd3\\x5d\\x21\\x48\\x0f\\x2e\\xc9\\xea\\x66\\xb7\\xab\\x01\\x8a\\xa2\\xea\\x6a\\x48\\x28\\xc5\\x1e\\xa4\\x13\\x50\\x80\\xad\\xa4\\x3d\\x28\\x48\\x31\\x1f\\x29\\xe6\\x3e\\x25\\x9d\\x9a\\xe5\\xf5\\x52\\xbc\\x81\\xbb\\x33\\x71\\x7d\\xaf\\x98\\xfa\\xbe\\x7a\\x36\\x77\\x6a\\x75\\x15\\x36\\x67\\x0e\\x4d\\x49\\xd0\\xda\\x37\\xd9\\xd2\\xe4\\x76\\x5e\\xac\\x96\\xb6\\xaf\\x70\\x67\\xb9\\xc3\\xb7\\x5f\\x51\\x3e\\x57\\xd2\\xbd\\xbb\\x95\\xf4\\x39\\xda\\xd6\\x5b\\x6d\\x9f\\xd2\\x32\\x6e\\x5b\\xff\\x00\\xa4\\x22\\x55\\xc9\\xcb\\x04\\x7c\\x2a\\x27\\xbd\\xdd\\x35\\xa3\\x98\\x9d\\x7a\\xb9\\xb0\\xd0\\xd0\\x72\\x12\\xa8\\x2b\\x71\\x4a\\x7c\\xb9\\x72\\x0e\\x47\\x99\\x3c\\x36\\x01\\x8e\\x60\\x09\\x8e\\x20\\x31\\x61\\x61\\xbe\\xba\\x0a\\x2e\\x23\\x1a\\x05\\x65\\xf7\\xcd\\x2b\\x6b\\xdb\\xe4\\xa7\\x3c\\xcd\\x97\\x8a\\xbf\\xd4\\x95\\xe5\\x5f\\x82\\x23\\x41\\xf3\\x97\\x94\\x24\\xb8\\xb4\\x3b\\x2c\\x27\\x25\\x3a\\x92\\x94\\x6e\\x5a\\x42\\xdc\\xed\\x47\\xc7\\xd6\\x9c\\xdf\\xb9\\xf0\\x8c\\xf7\\xb4\\xd7\\xeb\\x9d\\x9b\\xfd\\x82\\xf3\\xb9\\x71\\x2f\\x6d\\x99\\x9d\\xff\\xc2\\x78\\x8f\\x6d\\xda\\x32\\x6f\\xd3\\xfb\\xaa\\x1f\\xdd\\xf2\\xab\\xf7\\x82\\xd2\\x3a\\x75\\xec\\xa8\\xb7\\x36\\x4c\\x9a\\x3f\\xd0\\xe2\\x34\\x0f\\xff\\xf3\\xa8\\xab\\xb2\\xec\\xc8\\x3b\\xb8\\xef\\x4b\\x88\\x8e\\x2d\\xa5\\x45\\x6b\\x15\\x4b\\x06\\x06\\x56\\x8a\\x2c\\x9f\\x97\\x53\\x2a\\xb4\\xa4\\xb3\\x24\\xef\\xee\\xc8\\x92\\x91\\x25\\xc5\\xe1\\x08\\x61\\x45\\x70\\x48\\x3c\\x81\\x94\\x29\\x5e\\x11\\x70\\x1a\\xaf\\xcd\\x00\\xd2\\x8a\\x97\\x87\\xe2\\x95\\xd6\\x66\\xae\\x0d\\xe1\\x66\\x89\\x44\\x3b\\xaa\\x52\\x1b\\x6a\\xb1\\xff\\xaa\\x9d\\x8d\\x5c\\xb1\\xf7\\x21\\x8a\\x1a\\xb5\\xfb\\xcc\\xcb\\x4a\\xe2\\xdb\\x4b\\x76\\x27\\xbd\\x54\\x66\\x6c\\xc7\\x17\\xcf\\xd7\\x6a\\xb4\\x6d\\xcc\\x86\\x23\\x8f\\x5d\\xf2\\x4e\\x9c\\x35\\xf6\\xc9\\xc2\\xf1\\xa3\\x7b\\xad\\xec\\x19\\xa9\\x04\\x1d\\xff\\x51\\xf9\\xc2\\x3b\\x6f\\x56\\xf9\\x8e\\xd9\\xde\\x93\\xde\\x5f\\xbb\\xf7\\xf9\\x6c\\xdd\\x52\\xaf\\x31\\x5f\\xd9\\xfe\\xe8\\xda\\x6f\\x37\\xe4\\xcd\\xcc\\x5a\\x61\\xe5\\xe3\\x08\\x35\\xb2\\xc9\\x7a\\x5f\\x71\\xea\\xe1\\xfd\\x6b\\x0f\\xb5\\x05\\x04\\x84\\x95\\xb0\\x3b\\xec\\xf9\\x39\\x0e\\xbb\\x62\\x4e\\xe1\\x9a\\xe9\\x77\\x36\\xa6\\xfe\\xdc\\x27\\x24\\xd5\\x29\\xab\\x28\\x09\\x2c\\xbc\\x24\\x47\\xd9\\xbc\\xb3\\xd2\\xcb\\x7f\\x28\\x65\\x6f\\xdd\\x88\\xd3\\x76\\x97\\x3b\\xb5\\x7e\\xd6\\xd0\\x0e\\x07\\x94\\xd1\\xca\\x50\\xa5\\xd9\\xb2\\xa7\\xbd\\x37\\x4e\\x1e\\x3e\\x6a\\xfe\\xb5\\x2d\\xa9\\x03\\x6f\\x83\\x6d\\x8b\\xe1\\x21\\x59\\x6a\\x48\\x17\\x77\\xe5\\x38\\xad\\x5a\\x60\\x52\\x74\\xa5\\xb0\\xb0\\xe8\\x48\\x7b\\xa0\\xad\\x66\\x9c\\xa6\\xa5\\xd9\\x23\\x22\\xca\\xa6\\x94\\x4d\\xc9\\xcb\\x29\\x5b\\x96\\xf4\\x57\\xa6\\x30\\xcb\\x88\\xeb\\xee\\xd5\\xf4\\xae\\x39\\x96\\xf6\\xd7\\x59\\x56\\xbc\\xc2\\x16\\x4f\\x2d\\xdd\\xbf\\xeb\\xa9\\x5d\\x55\\xa9\\x5d\\xab\\x7c\\x44\\xf1\\x0c\\x64\\xa9\\x8d\\xb6\\x7e\\xfb\\xc8\\x54\\x77\\xbd\\x7b\\xe1\\xb5\\x85\\xca\\xc8\\x71\\xde\\xef\\xfe\\x38\\x7a\\x71\\xeb\\x1b\\x3d\\x06\\x28\\xfa\\xa6\\xc7\\x17\\x3f\\x3a\\xf5\\xb1\\x25\\x4f\\xc4\\xad\\x78\\x75\\xd1\\x8c\\x45\\xdb\\x96\\xd9\\x16\\x6f\\x5b\\x3e\\x67\\x6f\\x94\\x9e\\xf0\\xec\\xc8\\xc3\\xd7\\x3f\\xda\\xb4\\xe4\\x50\\x05\\x3d\\xe5\\x99\\xc1\\x1b\\x3f\\xbc\\xbd\\x64\\xde\\x63\\xfd\\x46\\x3c\\x3e\\x75\\xf0\\xf8\\x27\\x5f\\x5a\\x32\\x7a\\xea\\x86\\x85\\xa3\\x1e\\x31\\xeb\\x23\\x83\\x38\\x5b\\x53\\x1f\\xb1\\x9c\\x2f\\x3a\\xba\\x2b\\x97\\x93\\xe0\\x44\\x7b\\x54\\xe9\\xd2\\xf6\\x60\\xed\\xbe\\x4a\\x6a\\x32\\xc1\\xa8\\x12\\x15\\x16\\x45\\x85\\x44\\xa9\\x51\\x6a\\x44\\x60\\x04\\xd5\\x1e\\x51\\x26\\xd0\\x99\\x97\\x13\\xe8\\xf8\\xcf\\x0a\\x31\\x8f\\x04\\x7f\\x6e\\xef\\xcc\\x10\\xed\\xe6\\x8a\\x61\\x6e\\xf6\\x7d\\x75\\xc1\\x26\\xd7\\x5f\\xd9\\xe1\\x11\\xc5\\x01\\xa6\\xd5\\x6c\\xa2\\x68\\xd3\\x1f\\x3f\\xf8\\xd0\\x96\\x7e\\x33\\xae\\x2e\\xda\\x7b\\xa2\\xcd\\x94\\xd5\\x3b\\x72\\xbd\\x07\\xda\\x3c\\x17\\xf3\\x50\\x8f\\xe7\\x4e\\x75\\x9e\\x3d\\x62\\x51\\xe1\\x94\\xe1\\xbd\\xd7\\x76\\x55\\x37\\x7c\\x3c\\xb8\\x70\\xcc\\xd2\\xdb\\xf3\\xbd\\x27\\x96\\x7b\\xdf\\xb8\\xb1\\xe6\\x01\\xa5\\x74\\x95\\xac\\x9e\\x4a\\x82\\xda\\x63\\xe2\\xd3\\xc7\\xdf\\x9e\\xf4\\xf8\\x20\\xf3\\x1f\\xc3\\x94\\x8e\\x14\\x49\\x91\\xde\\xc0\\x3a\\xc3\\x56\\x70\\x47\\xd0\\x70\\xa2\\x2e\\x11\\xa0\\xdb\\x56\\xf4\\xe0\\x45\\xb9\\xa2\\x87\\x12\\x6a\\xb9\\x5d\\x2d\\xf5\\xae\\x93\\x6c\\x84\\x79\\x20\\x06\\x37\\x2b\\xed\\xa9\\xe4\\x5d\\xc8\\x2f\\x6d\\xd8\\xa1\\x43\\xb7\\x16\\x1f\\x3a\\x84\\xbe\\x14\\xf6\\x09\\xd7\\xd1\\x57\\x82\\x35\\xa9\\x8e\\x3b\\x2e\\x38\\xd0\\xdc\\x2a\\xd8\\xd9\\x08\\x05\\x6a\\xa1\\x21\\x25\\x03\\x57\\xf4\\x28\\x19\\xfa\\x97\\x4d\\x83\\x8f\\x11\\xe5\\xee\\x3c\\xff\\xb9\\x77\\x30\\x0d\\xad\\x31\\xf7\\x0f\\x15\\xf7\\xc4\\x87\\x37\\xab\\x51\\x71\\x4f\\x45\\x73\\x0f\\x71\\x68\\x45\\x9f\\x25\\x7a\\x95\\x43\\x87\\xac\\xfa\\x7e\\xd4\\xfc\\x2f\\x21\\xeb\\xeb\\xcd\\x95\\xc3\\x5d\\x81\\x79\\x24\\xba\\x5d\\x0f\\x70\\xa4\\xdb\\xa7\\xda\\xe7\\xd9\\x35\\x7b\\x75\\x75\\xb4\\xca\\x76\\x53\\x55\\x24\\x54\\x4f\\xd7\\x47\\xe9\\xab\\xf4\\x43\\x6c\\x8d\\xa4\\x4c\\xb5\\x5e\\x69\\x69\\x07\\x7b\\x1d\\xec\\xf5\\xe7\\xc9\\x15\\xb3\\xb5\\x95\\xd2\\x25\\x94\\xd2\\x8f\\x6a\\x67\\x6f\\xbd\\xa4\\x75\\x57\\x1b\\x1e\\x54\\x9e\\x7f\\xd6\\xfb\\xb4\\x77\\xc1\\x32\\x6b\\x5d\\x98\\xae\\x64\\xeb\\x03\\xcd\\x6f\\xfb\\xe0\\xa9\\x85\\xbb\\x92\\xe6\\x30\\x3f\\x83\\x29\\x11\\x60\\xee\\xb3\\x42\\x6d\\x4e\\x9b\\xb9\\xf1\\x3b\\x64\\x23\\x48\\x9b\\xe2\\x56\\xe4\\xb5\\x9c\\x4c\\xe5\\xb0\\xa2\\x86\\xfa\\x76\\x32\\xbd\\xee\\x7c\\xaa\\xf0\\x17\\x12\\x6b\\x27\\x94\\x56\\xc0\\x74\\xec\\xc5\\x69\\x67\\xb5\\xec\\x45\\x8b\\xbc\\xb2\\x68\\xd1\\x7f\\xc4\\x64\\xb7\\xa9\\xba\\xf9\\x6f\\xe9\\x3a\\xec\\xb6\\xea\\xfa\\x68\\xbd\\x40\\xd7\\xf4\\x74\\x99\\x2a\\xf3\\xf0\\x24\\x54\\x4d\\x57\\x47\\xa9\\xab\\xd4\\x43\\xaa\\x4d\\x35\\x63\\x32\\x23\\xba\\x6b\\x35\\xc7\\x48\\xdd\\xda\\x25\\x94\\xda\\x66\\x4c\\xdd\\x89\\xe9\\xec\\xb3\\xcb\\x94\\x51\\xca\\xc8\\x67\\xbd\\xbd\\xcd\\x7f\\x6c\\x03\\x9d\\xab\\x58\\x1b\\x46\\x50\\xcb\\x71\\x92\\x20\\x5d\\xdd\\xd5\\x23\\xb5\\x92\\x41\\x09\\xf1\\xb1\\xf1\\x41\\x1a\\xb3\\x2b\\x52\\x42\\x83\\x94\\x52\\x5a\\x90\\xd3\\x1d\\xef\\x5c\\xd9\\x23\\x3e\\xb4\\xac\\xb3\\x6c\\xb5\\xb2\\x7d\\xca\\xea\\xc1\\x5a\\xd9\\xb2\\x22\\xd1\\x6b\\x72\\x44\\xbf\\xeb\\x2d\\x79\\xd7\\x07\\x27\\x77\\x1f\\x58\\xfc\\x73\\x36\\x44\\x35\\xdf\\xf8\\x49\\x4d\\xd4\\xba\\x4d\\xd4\\x3f\\xdf\\x94\\x1a\\xc9\\x55\\xdf\\x7e\\xff\\x52\\xe3\\xdc\\x89\\x8d\\xa6\\xf6\\x0b\\x79\\x23\\x38\\xe3\\xc1\\xc7\\x87\\xf6\\xac\\xfa\\x74\\xfe\\x9c\\xad\\x29\\x6b\\xd3\\x95\\x52\\x7b\\x2b\\xec\\xa9\\x60\\x5b\\xf2\\xe1\\xca\\xdc\\x27\\x06\\x3e\\x90\\xd4\\x6a\\x74\\x8b\\xcc\\xf1\\xbd\\xdb\\x36\\xea\\x3c\\x20\\xbd\\xdf\\x84\\x39\\x93\\x2a\\xee\\x79\\xeb\\xc6\\x50\\xeb\\x33\\x98\\xf7\\xbc\\xe7\\x1c\\xf3\\xd8\\xdb\\x35\\x91\\x76\\xb2\\xc7\\x1d\\x57\\xa9\\x6e\\x46\\xa8\\x23\\x36\\x36\\x3d\\x3a\\x26\\x41\\xa4\\x7a\\x4c\\x68\\x5d\\x5b\\xfb\\x0e\\x61\\x1d\\x14\\x55\\x3a\\x28\\xfd\\x3b\\x98\\x7f\\x93\\xbd\\x5b\\xcf\\x56\\x56\\xfb\\x40\\xa6\\xaf\\x6d\\xd4\\xdc\\xd7\\x56\\xab\\x6b\\xb5\\xee\\xc6\\x89\\xf7\\xb5\\x0a\\xed\\xe0\\xec\\x70\\xa8\\xc3\\xa9\\x0e\\x7a\\x84\\x16\\xd7\\x3a\\xa8\\xf5\\xb1\\x9c\\x00\\x3d\\x28\\x26\\x3a\\x3a\\x22\\xa2\\xd9\\xb1\\x9c\\xd2\\x11\\xa1\\x41\\xce\\x20\\xb5\\xa4\\x56\\x2d\\x28\\x22\\x22\\xa8\\x9a\\x96\\xd6\\xb0\\x61\\xf2\\xb1\\x9c\\x86\\x92\\x56\\xe5\\x58\\x4e\\xda\\x89\\x3f\\xa7\\x78\\xb4\\x39\\xc5\\x8b\\xe7\\xb8\\xc9\\x92\\x99\\x10\\xf3\\x4a\\x31\\xeb\\xc0\\xfc\\xf1\\x6d\\xc3\\xfd\\x9f\\x03\\xdc\\x75\\xf2\\x57\\xad\\x13\\x5d\\xdd\\x24\\x73\\xf7\\x60\\x1d\\x70\\xd3\\x6a\\x46\\xb3\\x9f\\xd5\\xec\\xe6\\x21\\xb7\\x09\\x8b\\x83\\x5a\\x3e\\x29\\x51\\x67\\x57\\x19\\xae\\xa7\\xb9\\x92\\xa3\\xed\\x24\\xab\\xbc\\x5a\\x3b\\x2c\\x5c\\x12\\x6a\\xea\\xe1\\x36\\xdf\\x1b\\xc4\\xb7\\x4c\\xa8\\x8e\\x79\\x79\\x07\\xa7\\x0e\\x1c\\xaa\\xd9\\x9b\\xed\\x19\\xb3\\xf2\\xb5\\x69\\x17\\xe6\\x9e\\xe8\\x64\\xaf\\xb0\\x22\\x3f\\xb9\\x63\\xe6\\xcc\\xf6\\xcf\\x7a\\xbf\\x79\\xef\\xa7\\xff\\x8f\\xb1\\x2f\\x01\\x8c\\xa2\\x4a\\x1a\\x7e\\x47\\xf7\\xf4\\xcc\\xf4\\xdc\\xf7\\x64\\x32\\x93\\x39\\x72\\xcc\\xe4\\x60\\x42\\x86\\x24\\x84\\x2b\\x8d\\x02\\x0e\\x02\\x12\\x6e\\x46\\x84\\x80\\x22\\x88\\x17\\x37\\x0a\\x88\\x80\\x80\\x22\\x87\\x80\\x80\\x07\\xb7\\x78\\x81\\x82\\x20\\x06\\x0f\\x56\\x05\\x6f\\x59\\xf1\\x44\\xdd\\x75\\x3d\\x50\\x97\\x65\\x57\\x57\\x45\\x5d\\x70\\x75\\xc9\\x74\\xfe\\xf7\\x5e\\xf7\\x1c\\x89\\xd9\\xfd\\xbf\\xa0\\x99\\xc9\\x4c\\x75\\x75\\x75\\xbd\\x7a\\xf5\\xaa\\xea\\x55\\xd5\\x93\\xd7\\x7c\\xb8\\x1d\\xc6\\x5e\\x87\\x0d\\x30\\x5c\\xbf\\x41\\xde\\xff\\xc4\\x8f\\xf2\\xfd\\x2f\\xff\\x06\\x8f\\x40\\xdb\\x4f\\x70\\xc2\\x73\\xe9\\xdd\\xcb\\x6f\\xbc\\x7a\\xfb\\xe5\\xcd\\x57\\x35\\xdd\\x7d\\x63\\x2f\\xf4\\xaf\\x23\\xf2\\xc9\\x87\\xc6\\x8d\\x1a\\xb0\\x70\\xe1\\x89\\xc3\\x0f\\xc1\\x82\\x47\\x9e\\xde\\x25\\x6b\\x1e\\x4a\\x4d\\x58\\xf5\\xf3\\xc6\\xa7\\xa0\\x73\\xf3\\xc7\\xf2\\x0d\\xff\\x79\\x49\\xfe\\x64\\xc7\\xee\\x19\\x63\\xc6\\xbd\\x08\\xaf\\x3c\\x03\\x3d\\xf0\\x8f\\xa0\\xed\\xb0\\xfc\\xf4\\xd7\\x53\\x16\\x2d\\x3e\\xbd\\xe4\\xe6\\x95\\x63\\xb7\\xbe\\x46\\x65\\x8e\\xf6\\x48\\x25\\xbe\\xf3\\x52\\x32\\x8b\\x8c\\x40\\x92\\x82\\xa2\\x81\\xd8\\xef\\x82\\x60\\x36\\x61\\x8e\\x23\\x0b\\x9f\\x88\\x9a\\x53\\x06\\x51\\xd4\\x6a\\x78\\x8c\\x89\\x55\\x0b\\x6c\\xa0\\xd1\\x5d\\x43\\x0c\\xdb\\x86\\x78\\x5e\\xf0\\x84\\xda\\xdb\\xd4\\x4a\\x21\\xeb\\x14\\x0e\\xe1\\x08\\x4c\\xe8\\xa0\\x89\\xac\\x56\\x98\\x2b\\x19\\x94\\x5e\\xfa\\xe3\\x7b\\xb8\\xe9\\x13\\x58\\x2c\\x8f\\x36\\x56\\xcb\\x4f\\x20\\xf3\\x14\\xb8\\x4d\\x9e\\xcc\\x2f\\xfd\\xcf\\x62\\xee\\xa7\\x82\\xd1\\xe9\\x83\\x28\\x46\\xd7\\xaa\\x46\\xe2\\x32\\x58\\x08\\x0d\\x46\\xe0\\x20\\xb2\\xdf\\x24\\x55\\x98\\xac\\x4e\\xaf\\xce\\xca\\x39\\x8d\\x46\\x4e\\xa3\\xe3\\x8a\\x02\\x1a\\xbf\\xc9\\xe4\\x6f\\x4e\\x99\\xfc\\xf6\\x81\\x26\\x13\\x59\\xaa\\x9c\\xcd\\x29\\xa3\\x0d\\x38\\x9a\\x53\\xf4\\xe2\\xfc\\xa5\\x4a\\x59\\xab\\xf2\\xd4\\x17\\x73\\xeb\\x42\\xd4\\x15\\xe0\\xd9\\x32\\x15\\x23\\x84\\x05\\xad\\xdd\\x62\\x10\\x87\\x94\\x35\\x2a\\x04\\x9b\\xa0\\xfc\\xfe\\x4f\\xf2\\xfe\\x55\\xf7\\xc9\\x6f\\xca\\xff\\x4c\\xef\\x87\\x57\\xc0\\x41\\xf0\\x2a\\xf9\\x9c\\x7c\\xf8\\x4f\\x70\\xc6\\x07\\xaf\\xec\\xdc\\x2c\\xdf\\xcd\\x2f\\xdd\\xbf\\x59\\xfe\\x6b\\x4f\\xf7\\x83\\xf3\\x3e\\xfa\\x1a\\x97\\x43\\xf4\\xfc\\x85\\x27\\x37\\xde\\x75\\xdd\\x0c\\xa6\\xef\\x66\\xb6\\x7d\\xc7\\x7f\\x40\\xe6\\x6c\\x21\\x48\\x4a\\x95\\x26\\x97\\x00\\x84\\x80\\x5f\\xb4\\x35\\xa7\\x8a\\xcc\\x71\\x33\\x32\\x9b\\x45\\x0e\\x14\\x5a\\x0a\\x83\\x85\\x4d\\x85\\xeb\\x0b\\x77\\x15\\x6a\\x0c\\xb8\\xb0\\x10\\x63\\x6f\\x73\\x0a\\xdb\\xf3\\x66\\x6b\\x23\\x0b\\x52\\x29\\x6a\\xa2\\x86\\x2e\\x3a\\x8a\\x08\\x31\\xd3\\x84\\x53\\x4c\\x13\\x2a\\x5f\\x44\\x84\\x8a\\xc9\\xfc\\xb9\\x55\\x3e\\xf6\\xe1\\x61\\xf9\\xfc\\xea\\x0f\\xe0\\xdc\\x33\\x9f\\xc0\\x8a\\xea\\x96\\xe2\\x77\\xef\\x7d\\x56\\xfe\\xc7\\x3d\\x7f\\x79\\x69\\x13\\x04\\x57\\xc2\\x61\\xcf\\xef\\xdd\\x00\\x0d\\x07\\x7f\\x81\\x77\\x7d\\x72\\xf8\\xa1\\xfa\\x19\\xcb\\x9f\\x94\\x8f\\x7e\\xf0\\xe6\\xdf\\x69\\xce\\x1d\\xe3\\xf3\\x0a\\xc2\\x67\\x1d\\xb0\\x53\\x3f\\xca\\x8c\\xf5\\x5a\\xac\\x75\\x3a\\x74\\xf6\\xe6\\x94\\x0e\\x6b\\xf5\\xcd\\x29\\xad\\x2d\\xcb\\xce\\x5c\\x98\\x34\\x08\\xac\\x0e\\xe2\\x47\\x85\\x28\\xcb\\x8a\\x6d\\xcc\\x6c\\x46\\xff\\x80\\xdd\\xe1\\xd5\\xef\\xc8\\x8b\\xce\\xcb\\x00\\x5a\\x6b\\x61\\xe1\\x2b\\xb0\\x7c\\x67\\xeb\\x5f\\x7f\\xe6\\x97\\xca\\xcf\\xc8\\xa7\\xbe\\x93\\x77\\x1c\\xe7\\x97\\x5e\\xf0\\x6c\\x85\\x91\\x97\\x3f\\x3d\\x47\\x7b\\xa3\\x90\\xfb\\x4e\\x23\\xf7\\x15\\xc1\\x25\\x52\\x14\\xe9\\x00\\x30\\x1a\\x78\\x6d\\x73\\xea\\x08\\x0f\\xef\\xe4\\xe1\\xcd\\x3c\\x34\\xf3\\x50\\x8b\\x79\\x9e\\x46\\x23\\x9a\\x53\\x10\\x03\\x1d\\x19\\x58\\x5b\\xbb\\x81\\x25\\x4c\\x22\\x3f\\xaa\\x3b\\x49\\x58\\x94\\x60\\xd6\\xa6\\xf2\\x3f\\x51\\x4d\\x9c\\x37\\xd0\\xfa\\xc8\\x58\\x1c\\x08\\xb4\\x7e\\xdd\\x8c\\x97\\x05\\xf8\\xa5\\xdb\\xe4\\x5e\\x5b\\x64\\xe7\\x36\\xf5\\xde\\x17\\xb3\\x67\\x4e\\x4a\\x31\\x88\\x78\\x5e\\xa3\\xd1\\xea\\xb5\\x22\\xbd\\x93\\x19\\x36\\xc2\\xa1\\x10\\x8b\\x18\\x4a\\x56\\x7f\\x12\\x42\\x9e\\x98\\x8e\\xcd\\x29\\xe2\\xbb\\xf1\\x36\\x6a\\x93\\x67\\x64\\x8a\\xad\\x13\\x50\\x15\\x73\\x2a\\xe5\\x90\\xdd\\x38\\x42\\x48\\x80\\x3f\\x4d\\xc1\\x85\\x45\\xad\\xa7\\x6f\\x3c\\x4a\\x54\\xf3\\xbf\\x02\\xdc\\xdf\\xd2\\xe7\\x76\\xa4\\x5f\\x23\\xb7\\x57\\x6c\\xef\\xab\\x89\\x6c\\x7c\\x45\\x64\\xa3\\x88\\xac\\x50\\xc5\\xde\\x42\\x1b\\xc6\\xfa\\x82\\x42\\x2e\\x14\\x2c\\x24\\x02\\x50\\x58\\x48\\xcd\\xd5\\xe6\\x94\\x28\\x92\\x05\\x9e\\xc8\\xb3\\xc7\\xef\\x27\\xa3\\xd2\\x58\\x43\\xd4\\x13\\x33\\xb8\\x73\\xc6\\x97\\x2a\\xcc\\xc4\\x5c\\x25\\x23\\xd1\\x89\\x4c\\xd4\\x35\\x52\\xcb\\x10\\x6b\\x38\\x74\\x46\\x7e\\x57\\x3e\\xf8\\x01\\x5c\\xfa\\xeb\\x17\\xb0\\xb0\\xfe\\xa5\\x92\\x97\\x37\\x1f\\x93\\x4f\\x6d\\xf9\\xee\\x4f\\xab\\x5a\\xc7\\x27\\xe4\\x71\\x41\\x34\\x6a\\xf2\\x1a\\xf9\\x15\\x07\\x19\\x39\\xef\\x6f\\xf0\\xce\\x3f\\xed\\x79\\xa8\\x6e\\xf6\\xec\\x7d\\xf2\\x2b\\xef\\x9d\\xfc\\xfb\\xd0\\x21\\xf2\\x2e\\xd9\\x7a\\xf3\\x8d\\x40\\xe5\\xd7\\x71\\x36\\x56\\x63\\x24\\xb7\\x00\\x75\\x58\\xa7\\xd7\\x13\\x5d\\x60\\x34\\xe8\\x75\\x18\\x22\\x81\\xe8\\x03\\xad\\xf0\\x6c\\xdb\\x57\\x92\\xcb\\x3e\\x70\\xbe\\x70\\xa7\\x80\\xcc\\x02\\xd4\\x12\\x1f\\x87\\xea\\x07\\x31\\xab\\x1f\\x1a\\x88\\x8b\\x36\\xbe\\x42\\x51\\xb4\\x8d\\xaa\\xef\\x5b\\x93\\x55\\x12\\x76\\xa6\\x24\\x68\\xa0\\x19\\xe2\\xf4\\xe2\\x34\\x5c\\x7c\\x14\\xda\\x8e\\xce\\x41\\x6d\\x73\\x8e\\xc8\\x3f\\xa0\\xb5\\xe9\\xd9\\xfc\\xd2\\xf4\\x3e\\x34\\xf2\\x3f\\x8b\\x19\\x0f\\x89\\x3d\\x84\\xc2\\x2c\\x5e\\x55\\x2f\\xe9\\x00\\xcf\\x1d\\xe4\\x8f\\xf1\\x88\\xa7\\x2b\\x44\\x69\\x79\\x92\\xbe\\x4a\\x66\\x4f\\x24\\xd9\\xc8\\x43\\x0b\\x0f\\x11\\xc4\\x8c\\x04\\x42\\x01\\x24\\xf7\\xaf\\x18\\xcf\\xa6\\x7f\\x02\\x26\\xe0\\x30\\x72\\x07\\xf9\\x07\\xaa\\x77\\xa8\\x6f\\x7d\\x81\\xd8\\x8c\\x54\\xdf\\x58\\x41\\x5f\\x29\\x6c\\xc0\\xa2\\xc9\\xce\\x61\\x6c\\x33\\x9b\\x80\\x5e\\x14\\x4c\\x22\\xd1\\x33\\xc4\\xa8\\x68\\x4e\\x49\\x5c\\x13\\xf5\\xe5\\xd9\\xa8\\x90\\xf9\\x99\\x11\\x46\\x2a\\x07\\x4a\\xcc\\xb8\\xc6\\xda\\x40\\x7d\\x88\\x52\\xd5\\xa1\\xac\\xb7\\xd3\\x61\\x20\\x9a\\x6f\\xd1\\xce\\xe3\\x05\\x7b\\xdc\\x33\\x26\\x4f\\xbb\\x2d\\xb0\\x5d\\xfe\\x3c\\x00\\xbf\\x7a\\xa9\\xe2\\xb4\\xe3\\xc8\\x93\\xa1\\xb9\\xb7\\x6c\\xd8\\x85\\xab\\xb6\\xb5\\x96\\x7e\\xf9\\xa9\\x22\\x1f\\x94\\xd7\\x0f\\x10\\x3a\\x0c\\xc4\\x3e\\x2f\\xaf\\x27\\x4e\\xa2\\x28\\xd2\\x8c\\x28\\x01\\x11\\x4b\\x89\\xe7\\x31\\xf1\\x15\\x8d\\x84\\xfb\\x26\\x04\\x05\\x91\\xa3\\x7b\\x00\\x84\\xc7\\x9c\\x81\\x3d\\x60\\x4d\\x9c\\x6d\\x05\\xb8\\x1b\\xda\\x79\\x34\\x8a\\xab\\x68\\x55\\xe2\\x1f\\x60\\x7c\\x08\\x0a\\x8c\\xd1\\xf5\\x54\\x23\\x63\\x59\\x8e\\xbe\\x78\\x2d\\x91\\xd3\\xa3\\x2b\\xd7\\xa0\\xfb\\xcf\\xa7\\x6d\\xa8\\x0a\\xed\\x5e\\x9a\\x3e\\x45\\x98\\x3d\\x64\\x29\\xaa\\x49\\xaf\\x6a\\x3d\\x9f\\xa1\\x09\\x9f\\x26\\x34\\xf1\\x20\\x24\\x99\\x69\\x2c\\x47\\x23\\x10\\xb6\\x02\\x9c\\x9b\\x92\\x19\\x83\\x86\\x71\\x56\\x99\\x7f\\x47\\xff\\x85\\xde\\x24\\xb3\\xee\\x82\\x6f\\x5b\\x06\\x87\\xe6\\x31\\x82\\xc3\\x0d\\x23\\x52\\x0c\\xb8\\xdd\\x2e\\x41\\x63\\x77\\xda\\x21\\x16\\xec\\xd0\\x60\\xb7\\x38\\x9d\\x2e\\x8b\\xde\\x68\\x34\\x9b\\x4c\\x1e\\xec\\x72\\x79\\x67\\x78\\xe1\\x48\\xef\\x64\\x2f\\xf2\\xd2\\x31\\x9d\\x7f\\x4b\\x92\\xbe\\x4a\\x17\\xcf\\xb9\\x29\\xb9\\xde\\x0b\\x1d\\xde\\x7e\\xde\\x91\\xde\\x39\\xde\\xe5\\x5e\\x1e\\x78\\xe1\\xb4\\x1f\\xbd\\xb0\\xd8\\xdb\\xcd\\x4b\\xc1\\xe7\\x78\\x5f\\xf5\\x9e\\xf6\\x0a\\x1f\\x92\\x5f\\xe8\\xa0\\x17\\x22\\xc9\\xdb\\xe4\\x9d\\xe8\\x5d\\xef\\xdd\\xe5\\xe5\\xd7\\x7b\\x0f\\x7a\\xdf\\xf3\\x62\\x86\\x67\\x44\\x72\\x50\\xb2\\xd9\\x3b\\xdd\\x4b\\xcc\\xb1\\xa0\\x57\\xf2\\xe2\\x06\\x82\\xe2\\x80\\x17\\x56\\x13\\xd8\\x19\\xde\\x25\\x5e\\x6e\\x97\\xf7\\x98\\xf7\\x4b\\x2f\\x6e\\xf4\\xae\\xf3\\x22\\x8b\\x17\\x9e\\xf5\\xc2\\x63\\x5e\\xb8\\xd8\\xbb\\xd3\\x8b\\xaa\\x09\\x38\\x22\\x8e\\x04\\x51\\x92\\x7a\\x8b\\x19\\xdb\\x35\\x64\\xb6\\xba\\x89\\xe6\\x32\\xd9\\xd8\\xbe\\x02\\x91\\xe6\\x38\\xdb\\x8e\\xa1\\x82\\x10\\xa7\\xe2\\x36\\x7e\\xfc\\xcc\\x99\\x33\\x67\\xcd\\x9a\\x45\\x25\\x7f\\xfc\\xcc\\x66\\xfa\\x9e\\x2a\\xad\\x8a\\x8a\\x99\\x33\\xad\\x6a\\x50\\x2a\\x91\\x19\\x25\\x66\\x6a\\x24\\x32\\xb1\\x75\\x7b\\x5d\\xbd\\x46\\x80\\x11\\x5c\\x5a\\x66\\x82\\x74\\xc0\\xec\\x2e\\x77\\x3d\\x0c\\x41\\xee\\xfb\\x96\\x62\\xff\\xb8\\xba\\xf4\\x67\\xb7\\x3c\\xa7\\x89\\xe8\\xca\\x9f\\x7a\\x0c\\x5a\\xbf\\x7b\\x41\\xeb\\xb9\\x06\\xc5\\x20\\x90\\xcf\\xe2\\x5d\\xcf\\xcd\\x7e\\x61\\x5c\\xeb\\x60\\xdc\\xe2\\xbf\\xd0\\xab\\xad\\x75\\x3a\\xbf\\xb4\\x35\\x5e\\xf6\\xc8\\x47\\xf8\\xb8\\x3a\\x6f\\xa8\\x6c\\xbd\\xc9\\xd6\\xd4\\xee\\x52\\x01\\x20\\x02\\x24\\x72\\x3c\\x6f\\x30\\x19\\xcc\\x64\\x39\\x17\\xa0\\x06\\x1b\\xb5\\x64\\xe1\\xe7\\xd5\\x87\\xa9\\x61\\xb1\\xaa\\x44\\x46\\xcb\\xd5\\xa8\\x13\\x15\\x6a\\x98\\x00\\x41\\x22\\xda\\x64\\xaa\\x7e\\x9a\\xfe\\xde\\xe5\\x38\\x4c\\xa8\\xf8\\x10\\xb9\\x0a\\xec\\x87\\xf7\\xc9\\x67\\xb9\\x23\\x8f\\x4f\\x6c\\x1d\\x46\\xc6\\xbd\\xef\\x0b\\xcd\\xf8\\x41\\x7a\\x63\\x04\\xa6\\xb7\\x7d\\xa7\\x01\\x44\\xe7\\x19\\xa9\\x47\\x26\\x39\\xbc\\xd8\\xa6\\xc7\\x7a\\x7f\\xa1\\x40\\x54\\x9c\\x60\\x07\\x44\\xe1\\x31\\x3b\\xb5\\x93\\x35\\x46\\x0f\\xb9\\x88\\xa2\\xe0\\xdc\\xd9\\xd5\\x8e\\xae\\x36\\xf8\\x31\\xe8\\x84\\x7d\\xf9\\x8f\\xe5\\x35\\xdf\\xc9\\xa7\\xe5\\xd7\\x4f\\xc2\\x05\\x7f\\x7b\\x53\\xfe\\x66\\xd3\\x47\\x6f\\xbd\\x06\\x9d\\xf7\\x7f\\xc2\\xdf\\x23\\xbf\\x2e\\xff\\x9b\\xac\\xd6\\xf3\\x3f\\x84\\x3d\\xa1\\xeb\\x2c\\xdc\\xf0\\xc9\\x96\\x43\\xf2\\x8e\\xc3\\xef\\x7f\\xba\\x1f\\x5e\\xfe\\xd2\\xbb\\x5f\\x30\\xbb\\x9a\\xf2\\x62\\x20\\x8b\\xcb\\xd8\\x08\\x37\\x0a\\x45\\x93\\x56\\xab\\x33\\x61\\x1d\\xb6\\x3b\\x04\\x32\\xdb\\x05\\x41\\xab\\xd7\\x93\\x15\\x5b\\x8f\\x75\\xda\\x76\\x8a\\x3f\\x17\\x86\\x61\\x56\\x44\\x0d\\xc7\\xec\\x07\\xc2\\x11\\x3b\\x35\\x21\\x88\\xe9\\x80\\x47\\xfe\\x1d\\x9a\\x88\\xce\\xfd\\x55\\x1e\\x4b\\x67\\x56\\x1d\\x5c\\x06\\x6f\\xdd\\xb1\\x45\\x7e\\x90\\x5f\\xfa\\xde\\xe1\\xcf\\x2e\\xa4\\x3f\\x25\\x73\\xab\\x27\\xac\\xbf\\x89\\xe6\\xdb\\x83\\xab\\xe5\\x45\\xfc\\x2f\\x84\\x2f\\x1e\\x50\\x4a\\x34\\x59\\xa0\\x18\\xfb\\x9d\\x4e\\x9b\\x60\\xc0\\x7c\\xb4\\xcc\\x16\\x24\\x44\\xd8\\xec\\x66\\xfd\\xc4\\x94\\x19\\x78\\xb3\\x1c\\x8a\\xb3\\xc9\\x96\\xbf\\x00\\x50\\x36\\x69\\x10\\x97\\xdb\\x6c\\x28\\x2d\\x2b\\xed\\x8c\\x63\\xbb\\x18\\xc7\\x0e\\xc9\\xaf\\xbd\\x63\\x9d\\x7c\\x55\\x8f\\xbe\\xb6\\xc1\\xe3\\xef\\xdd\\xed\\x4e\\xcb\\xa7\\x3b\\xe5\\xdd\\x39\\x79\\xfd\\x97\\xbe\\xf9\\xd3\\x8d\\xb7\\xbb\\xf6\\xbd\\x6e\\x85\\x75\\x50\\xf8\\xef\\x3c\\x5c\\xc9\\xe4\\xc9\\x05\\x46\\x48\\x31\\x97\\x15\\x03\\x23\\x34\\x18\\x0d\\x1e\\xa2\\x94\\xac\\x3a\\x4e\\xe7\\xf6\\x18\\x10\\x72\\x35\\xa7\\x10\\x02\\x3c\\x4f\\x06\\x9b\\x29\\x2b\\x63\\x56\\x59\\x65\\x79\\x0a\\x12\\xf9\\x6c\\xcd\\xb1\\x57\\x31\\x1d\\x43\\x2c\\xa4\\x20\\xe8\\xd4\\x10\\x1e\\xb1\\x21\\x7d\\xff\\x92\\x2f\\x99\\x49\\x98\\x8b\\x26\\x7f\\x2c\\xff\\xf9\\x24\\x34\\xc8\\x33\\x0e\\x3f\\xbb\\x79\\x93\\x3c\\xea\\x6a\\x34\\x30\\xfd\\x0c\\xbf\\xf4\\xc4\\x23\\xcf\\x7f\\xe6\\x4f\\x3f\\x82\\xbe\\xbc\\xf7\\xce\\x19\\x37\\xd3\\x83\\x92\\xa9\\xec\\xf7\\x20\\xeb\\xae\\x44\\x78\\x1d\\x05\\x57\\x4a\\x0d\\x5e\\x8f\\xbe\\x34\\x60\\xa3\\x0a\\xbe\\xd4\\xc3\\x95\\xc7\\xa4\\x00\\x74\\x04\\xa0\\x18\\x80\\x0d\\x7a\\x68\\xd6\\x43\\x23\\x17\\xd0\\x3b\\x81\\xb3\\x70\\x62\\xca\\xeb\\x75\\x72\\x9d\\xab\\x7d\\x75\\x31\\x6e\\x50\\x8c\\x90\\xf1\\x1d\\xbc\\x63\\x3e\\x5c\\x9c\\x8d\\x28\\x76\\x81\\x65\\x74\\x6b\\xb0\\x38\\xa4\\x2e\\xd1\\x41\\x27\\xb9\\x97\\x3b\\x40\\xc6\\x86\\x43\\xd7\\xfc\\x26\\x7f\\x1f\\x7e\\xd2\\x77\\xe4\\xe9\\x4f\\xff\\xd8\\x63\\xcd\\xe3\\x8f\\xef\\x1d\\x43\\x26\\x96\\xe6\\x33\\xa8\\x0f\\xef\\x0f\\x3d\\xbe\\x5e\\x5e\\x99\\x98\\xfb\\xc4\\x2b\\x8f\\x8f\\x93\\xff\\xe8\\x78\\xf2\\x70\\xc9\\xd2\\x39\\xcb\\xee\\xb8\\x78\\x58\\xdf\\xea\\xf8\\x55\\x6b\\xae\\x7c\\xfa\\xdd\\xfb\\xee\\x4e\\x4c\\x9b\\xfc\\x5d\\xaf\\xc1\\x0d\\xf1\\xba\\xc9\\xeb\\xa6\\xbd\\xf3\\x85\\xf2\\x8c\\xcf\\x92\\xf1\\xb8\\x82\\xd9\\xed\\x74\\xf7\\x1c\\x71\\x88\\xac\\xc2\\x3a\\x4c\\x37\\x1a\\x28\\xef\\x11\\x54\\x25\\x99\\x46\\x13\\x61\\x87\\x18\\x62\\x48\\xc0\\x97\\x9f\\x7b\\xf1\\x9c\\x5c\\x18\\xe0\\x6e\\x27\\x36\\xcb\\x05\\x1f\\xf7\\xb7\\x6d\\xdb\\x28\\xce\\xfb\\x09\\xdf\\xde\\x67\\xfd\\xa8\\x6a\\xa5\\x02\\x82\\x4f\\xc4\\xd8\\x65\\xb5\\xd9\\xdc\\x44\\x91\\x8b\\xd8\\x6a\\x25\\xf6\\x3f\\x9d\\xbf\\xf6\\x4c\\x4c\\x10\\x32\\x6f\\x2a\\xab\\xda\\x18\\x2b\\x68\\x0c\\xc8\\xce\\x7c\\x23\\x57\\x22\\xe8\\x23\\xeb\\x03\\x02\\xe8\\xae\\x6f\\xe4\\x73\\x66\\xed\\x3d\\x47\\x77\\x5b\\x0f\\x6c\\x87\\x4b\\x86\\xec\\x79\\xf1\\xb1\\x3a\\xf9\\xa0\\xe3\\xa7\\x0f\\x2a\\x17\\x96\\x60\\x4d\\xeb\\xe1\\x31\\xdd\\x57\\xde\\x07\\xef\\xc1\\x93\\x5b\\x37\\xc8\\x67\\xe9\\x91\\x72\\x10\\x3c\\x49\\x9e\\xed\\x3c\\xa1\\x43\\x4b\\x34\\x88\\x0d\\x02\\xf2\\x38\\x3c\\xd2\\x09\\x5a\\xad\\x5e\\x40\\xc4\\x9f\\x67\\x4f\\x96\\x17\\x1e\\x63\\x8e\\x35\\xdd\\xa0\\xb4\\x13\\xb5\\x99\\x40\\x0f\\xbf\\x2e\\x7f\\xf0\\xf2\\xeb\\x91\\x15\\xa8\\xdf\\x7b\\x44\\x27\\x06\\x7f\\xfb\\x0d\\x7f\\xa9\\xe2\\xd4\\x76\\x21\\x38\\xbd\\xb0\\x41\\xfa\\x92\\x76\\xde\\x35\\x5a\\x2d\\x1c\\x04\\x0e\\x07\\x59\\x63\\xb9\\x02\\x8f\\xd7\\xeb\\x9b\\xef\\x83\\xbe\\x25\\x37\\x2f\\x4e\\x7e\\xe3\\x83\\x9f\\xfa\\xe0\\xdb\\x3e\\xf8\\x07\\x1f\\xdc\\xeb\\x83\\x5b\\xc9\\xc7\\xd2\\x8d\\x33\\x93\\x3d\\x7d\\x83\\x7c\\x28\\x46\\xfe\\xf0\\x41\\xa3\\x0f\\x4e\\x83\\xff\\xf4\\x5d\\xf0\\xa1\\x53\\x3e\\xf8\\x96\\x0f\\x1e\\xf0\\x1d\\xf5\\x21\\x9f\\x74\\xc5\\x95\\xc9\\xb8\\x0f\\x8a\\x3e\\x9f\\x0f\\x5d\\xf0\\xc1\\xb3\\xb9\\xaf\\x08\\x8a\\x75\\x3e\\xb8\\x90\\x22\\x1a\\x38\\x38\\xd9\\x46\\x5f\\x2f\\x1e\\x90\\xdc\\x49\\x3f\\x5a\\xed\\x43\\xd3\\x19\\x4e\\xb3\\x0f\\x36\\x88\\xbe\\x4f\\x7d\\xff\\xf4\\xe1\\xd5\\xbe\\xc7\\x7d\\x7f\\x60\\x6f\\x79\\x9f\\x54\\x95\\x48\\x2e\\xf6\\x41\\xd4\\xe8\\x1b\\xea\\x6b\\xf6\\xe1\\x38\\x7b\\x99\\xee\\x5b\\xe7\\x7b\\xd7\\xd7\\xe6\\x13\\x80\\x0f\\x7a\\x3d\\x1e\\xe2\\x29\\x59\\x2c\\xc4\\x3c\\x73\\x18\\x89\\x52\\x87\\x50\\xd0\\x2a\\x5a\\x9d\\xc9\\x27\\x7b\\x93\\x59\\xa2\\xc8\\xaa\\x54\\x31\\x73\\x96\\x22\\xc5\\x15\\xe3\\xc9\\xc2\\xc4\\x7e\\x66\\xcd\\xaa\\x20\\xcb\\xd6\\x2c\\xd5\\xc4\\x1e\\xaf\\x7c\\x3b\\x33\\xbb\\x0d\\x9e\\xc8\\xfc\\x47\\x99\\x8c\\x51\\x19\\x5b\\xaa\\xe8\\x1a\\xd5\\x07\\x2a\\x4b\\x15\\x7d\\xe5\\x6f\\x3d\\x75\\x89\\x09\\x0d\\xee\\x29\\x8f\\x3f\\x75\\xd7\\x6b\\x43\\x0d\\xdc\\xd0\\xa9\\x70\\xe5\\x33\\x83\\x4c\\xd8\\x52\\xdd\\x0b\\xbe\\x72\\x1c\\x2f\\x86\\xf6\\xae\\x6f\\x2c\\x6a\\x5d\\x4a\\x06\\x64\\xe9\\xd6\\xa3\\xcf\\x9f\\xc6\\x0d\\xad\\x1b\\xb7\\x7c\\x10\\x99\\xbd\\x0a\\x3f\\x47\\xed\\xb1\\x4f\\xc8\\x78\\xdf\\xc3\\x6c\\xce\\x4b\\xa5\\xa8\\x86\\x07\\xa2\\xa8\\x17\\x20\\xc7\\x6b\\xb0\\x56\\xa7\\x33\\xb6\\x19\\x21\\xc2\\xd8\\xa0\\xd3\\x6a\\xa1\\x9e\\x13\\x38\\x62\\x05\\x91\\x3f\\xc5\\x9c\\x15\\xe4\\x6e\\x50\\x57\\xae\\xc4\\xf8\\xbc\\xad\\x7b\\x42\\xac\\x0e\\x46\\x74\\xd4\\xf2\\xa1\\xc6\\xcf\\xdf\\xe5\\xf7\\xd3\\xe7\\x4e\\xa2\\xbb\\xe4\\x7d\\x6f\\x10\\xdf\\xf4\\xd3\\x93\\xe9\\x3d\\x70\\x06\\x9a\\x90\\xde\\x8d\\xbe\\x45\\xf7\\xa6\\x3f\\x41\\x65\\xe9\\x2b\\xd2\\x11\\x65\\x5e\\x7d\\x44\\x68\\x79\\x9f\\xc9\\x5e\\x83\\xe4\\xe3\\x30\\xdd\\x56\\xc3\\x58\\x47\\x56\\x7f\\xbd\\xa0\\x21\\x04\\xf1\\x08\\x41\\xa2\\x4b\\x20\\x00\\xf1\\x1a\\x16\\xb5\\x57\\x98\\x9b\\x1f\\x1c\\xa5\\x7c\\xb2\\xb3\\x1b\\x43\\xb4\\xeb\\xc5\\xd9\\xf2\\x92\\x57\\x61\\x0d\\xaa\\xfe\\x38\\x2d\\xa1\\x24\\x6e\\x48\\x4f\\x40\\xbb\\x5b\\xdf\\x20\\xcf\\xfc\\x67\\x72\\x9f\\x42\\xe6\\x97\\xd4\\x93\\xfb\\x10\\x12\\x35\\x1a\\x91\\x58\\x80\\x7a\\xe2\\x7e\\x10\\x5b\\x4b\\x83\\x91\\x16\\x12\\x17\\x89\\x0a\\x7b\\x6e\\x47\\x47\\xb5\\x3b\\x99\\xdc\\x77\\xad\\x8e\\xc1\\x7a\\x16\\x12\\x86\\x21\\xae\\xc7\\x85\\x1d\\x3e\\x2e\\x90\\xc6\\x01\\xfc\\xad\\xef\\xc2\\xd7\\x78\\xee\\x3a\\x6e\\xf4\\xb6\\xd5\\x17\\x1e\\x61\\xbc\\x95\\xc7\\xa0\\xaf\\xf9\\x13\\x44\\x4f\\x54\\x4a\\x2e\\x0d\\xe0\\x10\\xd2\\xf1\\x64\\x2a\\x40\\xee\\x7c\\x0a\\xd2\\x69\\x96\\xa2\\x1b\\xaf\\xb9\\xbd\\x33\\x05\\x7b\\xd7\\x6a\\x4c\\xbc\\x1b\\x32\\xa5\\x84\\x32\\x38\\x0b\\xde\\xeb\\xfd\\x46\\x3e\\xfa\\x8d\\x57\\x1e\\x23\\xcc\\x5d\\xfa\\xdb\\xda\\xa5\\x0a\\x9f\\xee\\x6e\\xfb\\x0e\\xfe\\x99\\xed\\xe1\\xd1\\x3d\\x5c\\xba\\x8f\\x9c\\xd9\\xc6\\x53\\x77\\xba\\x78\\x22\\x24\\x50\\x7a\\x62\\xd3\\xa1\\xcc\\x3e\\x1e\\x6c\\x1b\\x43\\x68\\x99\\xc8\\x68\\x21\\x96\\x01\\x0f\\xc8\\x23\\xeb\\x80\\x56\\x40\\xe7\\x53\\x82\\x4f\\x83\\xcf\\xa7\\x34\\xa0\\x3d\\x25\\x8c\\x8e\\xfa\\x04\\x8c\\xd4\\x87\\xe0\\x5e\\xef\\x3f\\x60\\xdf\\x6f\\xbc\\xf0\\x5e\\x79\\xad\\x3c\\x66\\xa9\\x66\\xf6\\xd2\\x5f\\x57\\x2b\\x74\\x44\\xd1\\x03\\xf8\\x23\\xc2\\x47\\x0d\\x48\\x48\\x05\\x3c\\x47\\x64\\x85\\xd8\\x99\\x80\\x38\\x79\\x61\\x08\\x31\\xb4\\x43\\x36\\x5c\\x98\\x0e\\x57\\x9c\\x6e\\xb9\\x76\\x50\\x1b\\x3a\\x44\\xed\\x1b\\xdc\\x55\\x7e\\x4b\\x7e\\x67\\x37\\x9c\\xf1\\x16\\x9c\\x85\\x1e\\x40\\xf3\\xd3\\x77\\xa0\\x2f\\xd3\\x41\\x65\\x1f\\x6e\\x62\\x9b\\x06\\xff\\xa7\\x6d\\xb8\\xb2\\xb7\\x89\\x88\\x34\\x10\\xa5\\xf1\\x1c\\x61\\x5d\\xbc\\x22\\xb3\\x6b\\x2c\\xd4\\x86\\x9c\\xbb\\xb8\\x2d\\xff\\x19\\x3c\\x98\\xd2\\x73\\x1b\\xf7\\x24\\xfc\\x37\\x7f\\x9a\\xd9\\xcf\\x0e\\x08\\x34\\x02\\xc0\\x9b\\xc7\\x99\\x41\\x1c\\xd0\\x20\\xe1\\x59\\xf2\\x31\\xc8\\xf8\\xfa\\xe4\\xee\\xb0\\x3e\\x61\\x17\\xe0\\x36\\xf9\\x0c\\xff\\xee\\x03\\x98\\x5c\\xe8\\xf2\\xcb\\x5f\\x39\\x94\\x58\\x20\\xdd\\xb7\\xa9\\xe2\\x2e\\x03\\x31\\x50\\x0f\\x26\\x4a\\xdd\\xaa\\x45\\xb7\\xa7\\xdc\\xcc\\x05\\xcb\\x82\\x1e\\x91\\xeb\\xde\\x60\\xaa\\x18\\x96\\xe2\\xb4\\x26\\x93\\x4f\\xdb\\xe4\\x86\\x66\\xaa\\x9e\\xdd\\x6e\\x9f\\xcf\\xd1\\x94\\xf2\\x59\\xca\\x4a\\x12\\xda\\x44\\x53\\x0a\\x68\\x73\\x49\\x0c\\xb9\\x48\\x03\\xf5\\x88\\xe2\\xb6\\x86\\x8c\\x51\\x91\\xc8\\xae\\x61\\x79\\x01\\xae\\xe2\\x92\\xfa\\xba\\x0e\\x5b\\x84\\x82\\x12\\xec\\x22\\x36\\x07\\x16\\x4c\\x58\\x8d\\x79\\xd7\\xe3\\x9d\\xe3\\x47\\xf1\\x9a\\x11\\x87\\x6e\\x5d\\x73\\x00\\xea\\x60\\xf8\\x1f\\xf6\\x6b\\x27\\xdc\\xb4\\xc0\\x77\\xa8\\xea\\xd4\\xf3\\x8f\\xbf\\x61\\xbf\\x54\\x1c\\xe6\\x0b\\x99\\x2e\\x6a\\x79\\xe3\\xa6\\x95\\x83\\x2a\\x26\\x0d\\x99\\xb4\\x6d\\x8a\\x45\\x3f\\x64\\xb0\\x74\\xeb\\xd5\\x7b\\x6e\\x7b\\xee\\x45\\x0e\\x5f\\xe9\\x1f\\x37\\x66\\xd4\\x18\\xff\\xc6\\x15\\xbb\\xee\\x90\\xc6\\xcb\\xb7\\x57\\x47\\x07\\x0a\\x33\\x2c\\x28\\xcc\\xe1\\x92\\x86\\x31\\x7d\\x06\\x4d\\x18\\x71\\xfb\\x10\\xc2\\x03\\x3f\\xe1\\x41\\x37\\x22\\x2f\\x05\\x84\\x0b\\xd7\\x49\\xf6\\x32\\xec\\x0e\\xea\\xb1\\xc9\\xe1\\xb0\\xdb\\x4d\\x66\\xb3\\x56\\x6f\\x4c\\xe2\\x67\\xdb\\x7e\\x95\\x62\\xf4\\x8d\\xb9\\xa2\\xdc\\x5c\\x51\\x54\\x11\\xaf\\x20\\xee\\xbc\\xc3\\x0e\\xcc\\x26\\xa7\\xde\\x16\\x74\\x93\\x05\\x5d\\x88\\x34\\xa5\\x04\\x17\\xf0\\x11\\x8e\\x58\\xda\\x45\\x03\\xe9\\x22\\xc2\\x56\\x30\\x22\\x0d\\x15\\x15\\xaa\\x65\\xee\\xce\\x6e\\x1d\\x2b\\x61\\xbf\\xb2\\x08\\x0b\\x94\\x42\\xb6\\xa6\\x09\\x89\\x3e\\x50\\x49\\x6e\\x71\\x29\\xd9\\x2d\\xa5\\xe8\\x1f\\xdb\\x0f\\x2c\\x3c\\xb5\\x7f\\xe1\\x96\\x20\\x16\\xc2\\x68\\x3f\\xef\\x37\\x9f\\x6f\\x19\\xa1\\x2d\\xe0\\x06\\xee\\xbe\\xf8\\xaa\\xb5\\x57\\x76\\x5f\\x3c\\xf3\\x96\\xf5\\xc3\\x27\\x70\\x97\\xbd\\xf0\\xf0\\x5b\\xf2\\xb2\\x67\\xaf\\x99\\x50\\xb2\\x0a\\x9b\\x6f\\xbf\\x94\\xfb\\x5e\\x4e\\x75\\x99\\xd0\\x3c\\x7a\\xf5\\xb0\\x07\\xcf\\x4f\\x5a\\xb4\\xfa\\x5e\\x38\\x70\\xe1\\xc2\\x5b\\x98\\x2c\\x5f\\xdc\\xf6\\x1d\\xfe\\x86\\x8c\\xb9\\x07\\x24\\xa5\\xa8\\x5b\\x4b\\xf4\\x9c\\xc5\\xac\\x35\\x7b\\x0b\\x0c\\xf6\\xa6\\x54\\x91\\x05\\x5a\\x2c\\x06\\x0b\\x40\\x16\\x34\\x11\\x61\\x13\\x46\\x88\\xe7\\x41\\x53\\x8a\\x77\\xfd\\x97\\x38\\x92\\x3a\\xb2\\x25\\x35\\xf5\\x6e\\x14\\xca\\xc4\\x2d\\xd5\\x7d\\x2e\\x0d\\x72\\x5a\\xe0\\x47\\x6f\\x8f\\xdc\\x36\\x5f\\x7e\\xf6\\xd8\\x3b\\x1b\\xce\\x3e\\xb1\\xf7\\x35\\xfd\\x93\\x9a\\xeb\\xc7\\xdd\\xba\\x6d\\xf4\\x82\\x33\\x5d\\xe5\\x17\\xfe\\xf2\\xda\\x9b\\x70\\xec\\x83\\x8f\\x6d\\xf2\\x4e\\x9a\\x76\\x87\\xfc\\x97\\x75\\xf2\\x79\\x32\\x16\\xfd\\xdb\\xfe\\xc9\\xed\\x25\\x63\\xe1\\x26\\xf6\\xeb\\x65\\x52\\xac\\x18\\x3b\\xfc\\x64\\x2c\\x6c\\x26\\xa3\\xd1\\x6a\\xc3\\xb6\\xb2\\xa8\\xcd\\xea\\x34\\x19\\x01\\xfd\\x50\\x00\\x42\\x90\\xf0\\xdc\\x02\\x3c\\x84\\xe7\\xae\\xdf\\xf1\\x3c\\x8f\\x3e\\x95\\xdd\\x7c\\x8e\\xbc\\x84\\xc2\\xe8\\x48\\x37\\x2a\\x8d\\x65\\x35\\x99\\xf0\\x34\\x65\\x39\\xdc\\xa0\\xf0\\x7a\\x6b\\x90\\x2f\\x1c\\xde\\x72\\xde\\xaf\\xdb\\xe7\\xe4\\x07\\xee\\xbe\\x48\\xe1\\xf3\\x82\\xbb\\x46\\x4f\\x70\\x12\\x36\\xc3\\x45\\x84\\xcd\\xbb\\xe1\\x83\\x17\\xec\\x6b\\x87\\x27\\x6e\\xc8\\xf2\\x78\\x83\\xfc\\xcc\\x52\\xc6\\x63\\xfa\\x1c\\xdf\\x71\\x65\\x8c\\xc7\\x41\\x90\\x92\\xba\\x04\\xbd\\x00\\x98\\xbd\\x2e\\xb2\\xd0\\xb8\\xcc\\xae\\x50\\x58\\xab\\x05\\x7c\\x90\\xb0\\xd5\\x18\\xf4\\x07\\x91\\x83\\x0b\\x06\\x0d\\x76\\xbb\\xbf\\x29\\x65\\xb7\\x18\\xf8\\xa6\\x94\\xc1\\xd5\\x31\\x26\\xa5\\xbe\\xeb\\xb8\\x5f\\x4b\\x43\\x78\\x02\\x13\\x92\\x7a\\x77\\x26\\x6a\\xac\\x6c\\x44\\x0b\\x65\\xf5\\xca\\xcc\\x22\\x9a\\x01\\xaf\\xb8\\x7d\\xd2\\x8e\\xca\\x55\\x03\\xbf\\xda\\x75\\xfc\\xd4\\x5d\\x10\\x3d\\xf0\\xf6\\x69\\xcf\\x4e\\x6e\\xe9\\xfc\\xdb\\x9f\\x29\\x81\\xff\\x8e\\x5c\\xb6\\xe2\\xae\\x89\\x23\\x1a\\x97\\xdd\\x7c\\xea\\x8f\\xc7\\x61\\xe3\\x93\\xef\\x3c\\x3f\\x6d\\xf2\\xaa\\xe4\\x2d\\xcb\\x1f\\xdf\\xce\\xe4\\xa4\\x3f\\x79\\x90\\x6f\\xc9\\x58\\xb8\\x68\\xc4\\xd6\\xa1\\x81\\x48\\x83\\x8c\\x6e\\xa3\\x47\\xb0\\x8b\\x1a\\xd1\\xd2\\x94\\x12\\x89\\x0b\\xaf\\xc1\\xc3\\x52\\x0e\\x8d\\x19\\x41\\x27\\xb3\\x96\\x32\\x6b\\x08\\x35\\x63\\xb3\\xf6\\x60\\xc6\\x22\\x8c\\xd4\\x27\\xea\\xfb\\xa0\\x44\\x8d\\x5b\\x88\\xc3\\xb0\\xc6\\x4c\\xb4\\x3e\\x3c\\xf4\\x5c\\xcb\\x73\\xf7\\x15\\xdc\\xe7\\x76\\x0f\\xba\\x65\\xd2\\xa5\\x35\\x05\\x55\\x5d\\x1a\\x2f\\x76\\xd8\\x4f\\x16\\xe0\\x67\\x5a\\x07\\xe2\\x67\\x96\\x2d\\x98\\x31\\xbd\\xc1\\x70\\xa7\\x06\\xf5\\xbd\\x6a\\xd2\\x32\\xca\\x53\\x4e\\x1e\\xc3\\x4d\\xe2\\x86\\x80\\x08\\xa8\\x21\\xf3\\xb4\\x27\\x46\\xc5\\x56\\x7f\\x20\\x50\\xa1\\x0d\\x85\\xac\\x08\\x27\\xba\\x81\\x6e\\x07\\xbb\\x21\\x2b\\x0e\\x86\\xb4\\x18\\x04\\xfc\\x66\\x5d\\x85\\x17\\xbb\\x4c\\xae\\x2e\\x4d\\x29\\x97\\x05\\x63\\x13\\x30\\x95\\x35\\xa5\\x4c\\x4e\\x40\\x18\\x9c\\x5b\\x8a\\x18\\x5b\\x73\\x52\\x43\\x04\\x05\\xaa\\x89\\x7b\\xed\\x62\\xf3\\xc1\\xb2\\x7a\\x25\\x00\\x16\\xc9\\x64\\x9f\\x31\\x85\\xe5\\x26\\x13\\xb5\\x3e\\x61\\x86\\x34\\x18\\x93\\x9d\\xab\\x6c\\x23\\x17\\xae\\x95\\xf7\\xd7\\x3d\\x18\\x79\\xe3\\xae\\x6d\\xc1\\x30\\xea\\xd3\\x7c\\xd3\\x90\\xfb\\xff\\x30\\xe8\\xb6\\x23\\x8b\\xe7\\x3f\\xea\\x41\\x42\\x31\\xff\\xb8\\x3d\\xf0\\x40\\xf5\\xaf\\xf2\\xb6\\x69\\x53\\xae\\x3f\\x38\\x69\\xc9\\x8c\\xcb\\x6f\\x1e\\xde\\x5d\\x1e\\xd3\\x5a\\xbe\\x7d\\xe3\\x9e\\x27\\x52\\x97\\x95\\x1f\\x7f\\x64\\x05\\xec\\x76\\x62\\xd2\\xac\\xcb\\x4b\\x56\\xeb\\x86\\xdf\\xd5\\xfa\\xda\\xcf\\x1f\\xe3\\xc0\\xfc\\xc5\\xdb\\xa1\\x6d\\xd3\\xa2\\xd5\\x97\\xee\\x90\\x7f\\x53\\xd6\\xa3\\x30\\x71\\xab\\x9d\\x64\\x6c\\xbc\\xa0\\xbf\\x14\\x31\\x6a\\x80\\xcd\\xe5\\x70\\x39\\x9d\\x76\\x87\\xc6\\xe1\\x2b\\x70\\x39\\x81\\x4d\\xd4\\x7a\\x39\\xa2\\xa1\\xf4\\x3a\\x27\\x36\\x37\\xa5\\xb0\\xaa\\x93\\x68\\x5a\\xa7\\xbb\\xa1\\xfd\\xe4\\x50\\x4d\\xf6\\xac\\x0a\\x8e\\xd8\\x89\\x5a\\xa6\\xb2\\xc3\\x82\\x3a\\x44\\x84\\x16\\x8f\\x78\\x74\\xf6\\xa6\\xcd\\xce\\xc5\\x87\\x6f\\xb5\\x3d\\x75\\xeb\\xb1\\xe0\\xbc\\xa7\\x60\\xb0\\x65\\x90\\xcd\\x8f\\x97\\xce\\x4e\\xdd\\xbd\\x4a\\x9a\\x9c\\x9e\\x8d\\x56\\x8c\\xed\\xf3\\xe8\\xb1\\x87\\xd2\\xbb\\xf9\\x13\\xf2\\xad\\x93\\x95\\xfd\\xf4\\x10\\x21\\xf2\\x3c\\x5b\\xb7\\x05\\x62\\x6d\\x89\\xf4\\x54\\x23\\xdd\\x0c\\xdd\\x31\\x1d\\xd2\\xd1\\x78\\x49\\x28\\xde\\x3d\\xd9\\xa8\\xe4\\x5f\\xac\\xd3\\xed\\xd4\\x1d\\xd0\\x9d\\xd5\\x69\\xf4\\x58\\xc3\\x9b\\x05\\xce\\x09\\xc1\\x08\\x6a\\x32\\x28\\xf4\\x2a\\xba\\x93\\x98\\x93\\x6a\\xb4\\x89\\xe5\\xe4\\x92\\xb9\\x0b\\x8b\\xc2\\x2d\\x61\\xf9\\xb2\\x0f\\x5a\\x4e\\xf2\\xc1\\x7d\\xfb\\xfe\\xf3\\x25\\x31\\x4d\\x5e\\x67\\xfb\\x0c\\x3e\\x79\\x0c\\xfc\\x45\\xc9\\xf9\\x21\\x96\\x95\\x1f\\x18\\x0c\\xc4\\xe3\\xb5\\x93\\x85\\xcb\\xcc\\x19\\x74\\x26\\xa3\\x99\\xd3\\x35\\xa5\\x38\\x5f\\xfe\\x3d\\xd8\\x7d\\x6c\\x0d\\x36\\x75\\xe8\\x73\\xb7\\x09\\x2b\\xa3\\x4e\\x55\\x05\\xdd\\x67\\x08\\xb5\\x84\\xd2\\x6f\\x74\\x1f\\xe8\\xee\\x56\\xd4\\xb3\\x97\\xf5\\xef\\x2d\\xdf\\x17\\xad\\xa1\\xb7\\xfe\\xad\\xde\\xb4\\x52\\x3b\\xf2\\x0a\\xee\\xe1\\x0b\\xd2\\x8e\\x15\\xea\\xb8\\x8c\\x26\\xf7\\x37\\x80\\x05\\xd2\\x90\\xee\\x28\\x89\\x50\\x3d\\xbc\\x04\\x8e\\x81\\xb8\\xbb\\x98\\x14\\xc7\\x8a\\xb8\\x01\\x0d\\x44\\xa8\\x07\\xbc\\x14\\x5e\\x0e\\x31\\xa2\\xf9\\x3b\\x34\\x00\\x07\\x45\\x42\\xa7\\xc8\\x61\\x16\\x86\\x6b\\x34\\x0d\\x35\\x35\\x13\\xc5\\x4b\\xa3\\x71\\x3a\\xbd\\x99\\xd8\\xa9\\x2c\\x1c\\xe7\\xcc\\x18\\xa2\\xd4\\x14\\x85\\xe3\\xdb\\xa5\\x8f\\x26\\x32\\x31\\x4f\\x40\\x6c\\x6a\\x62\\x80\\xb7\\x8b\\xc8\\xa1\\xf7\\xe5\\x73\\x7b\\x92\\x74\\xd0\\x9e\\x3a\\x01\\xa7\\x7d\\x91\\xfe\\x01\\x36\\xc1\\x5f\\x6e\\x91\\x6f\\xe7\\x4f\\xb4\\x5e\\xf7\\x22\\xec\\x2f\\xc7\\xd3\\xf7\\x12\\xba\\x73\\xe3\\xd5\\x4d\\x0a\\x63\\x1a\\xb3\\x99\\xc8\\xc3\\x25\\xfc\\x7b\\x3c\\x1a\\xca\\xc3\\x22\\x3e\\xce\\xef\\xe4\\x0f\\xf0\\x47\\xf9\\x36\\x5e\\x03\\x09\\x0c\\x25\\xa6\\x11\\x8e\\x27\\x46\\xbd\\xca\\x30\\x1a\\xfc\\x0c\\x91\\x5b\\xc8\\xa7\\xf8\\x13\\xff\\xe9\\xa6\\xf0\\x41\\x33\\x88\\xcc\\xd5\\x2a\\x38\\x51\\xba\\x60\\xd3\\x99\\xf5\\x66\\x93\\x49\\x2f\\x56\\x7a\\x31\\xae\\x02\\xa5\\x45\\x45\\x40\\xc4\\x5d\\xe2\\x77\\xc7\\x21\\x5c\\x12\\x87\\x23\\xe3\\x73\\xe2\\x28\\x18\\x87\\x0e\\xe5\\xed\\xf2\\xf8\\x43\\xf1\\x96\\xf8\\x87\\xf1\\x73\\x71\\xa1\\x22\\xde\\x33\\x8e\\x40\\xdc\\x12\\x47\\x53\\xcf\\xc5\\xe1\\x97\\x71\\xf8\\x61\\x1c\\x1e\\x8c\\xc3\\x7e\\x04\\x6a\\x13\\x81\\xe2\\x2c\\x71\\xc8\\xd1\\x0f\\xcf\\xc5\\xd1\\x1f\\xe2\\x70\\x4e\\x1c\\x8e\\x8b\\xc3\\xea\\x38\\x2c\\x8e\\x13\\xbb\\x09\\x92\\x2b\\xde\\x8b\\xc3\\x57\\xe3\\xf0\\x71\\xf6\\xd5\\xc4\\x38\\xec\\x16\\x1f\\x19\\x47\\x62\\x1c\\xd6\\x93\\xaf\\x3e\\x8d\\xc3\\x4d\\x71\\x78\\x5d\\x1c\\x36\\x51\\xf8\\x7e\\xec\\xf3\\x91\\xe4\\xde\\xf4\\xce\\xa7\\x09\\x42\\x8d\\x18\\xaf\\x88\\xa3\\x0b\\x71\\x78\\x3a\\x0e\\xb7\\xc6\\xdf\\x8a\\x23\\x05\\x7b\\xb7\\x38\\xb4\\xc4\\x83\\x71\\x44\\xa8\\x22\\x3c\\x2e\\x8c\\x35\\xa5\\x0a\\x2d\\x5e\\x9b\\xae\\x12\\x16\\x87\\x0c\\x36\\xb2\\xfe\\xbb\\x34\\x54\\xdd\\x98\\xcc\\xe1\\x48\\x44\\x2f\\x8a\\x55\\x99\\x51\\xa3\\x03\\xa7\\xaa\\x19\\x2b\\x55\\x90\\x90\\x25\\xe3\\x29\\x3f\\x2c\\x9a\\x37\\x4b\\x89\\xe8\\x65\\x3e\\x51\\x1d\\xa6\\xec\\xc7\\xf4\\xcf\\xe6\\x99\\xd6\\x5c\\xf6\\x70\\xfe\\xa0\\x87\\xec\\x19\\x3b\\x8a\\xce\\xdd\\xfa\\x84\\x83\\x59\\x10\\x54\\x3f\\xb5\\x9f\\xd3\\x0a\\x08\\xda\\x74\\x8b\\x77\\xf0\\xe8\\x39\\xfb\\x7d\\xf3\\x9e\\x7a\\xc4\\x61\\x7f\\xcc\\x29\\xe0\\x81\\x1b\\xa7\\xcc\\xbf\\xcb\\x34\\xe2\\x81\\x6b\\xee\\xd8\\xe0\\x5c\\x7c\\x88\\x7d\\xbb\\xaf\\x70\\x1e\\x5a\\xb0\\xa8\\xeb\\xa0\\xa1\\xaf\\xef\\x4a\\x3f\\x84\\x47\\x34\\xaf\\x14\\x57\\xc4\\x66\\x5d\\x7e\\xd3\\xcc\\xdb\\xa6\\xa8\\x33\\x9e\\x7d\\xf9\\xca\\xae\\xf4\\x03\\x19\\x5d\\xe4\\x22\\x63\\xed\\x03\\x97\\x48\\x25\\xd8\\x63\\xd5\\x9a\\xf4\\x64\\xbd\\xd6\\xe9\\x3d\\x7a\\x7f\\xa1\\x16\\x16\\x88\\x56\\xde\\x09\\x9c\\x44\\xef\\x3a\\x2d\\x64\\x02\\xfa\\xf4\\x3a\\x85\\x2b\\x35\\x6a\\x08\\x8c\\xa5\\xba\\x76\\xd0\\x46\\xa1\\x9c\\x0e\\x6a\\xf7\\x44\\xf4\\x59\\xd0\\xdb\\xaa\\x1e\\x6a\\x51\\xe9\\x57\\xd5\\x53\\x56\\x0b\\xa9\\xf4\\x66\\xb4\\x93\\x62\\xe7\\x12\\x9b\\x87\\xab\\x21\\x34\\xd2\\xdc\\xbe\\x1a\\xc9\\x67\\x06\\x4e\\x2d\\xd0\\x06\\xfc\\x20\\x60\\x09\\xa0\\x22\\x6c\\xb0\\x92\\x65\\xd7\\xc2\\x7b\\x54\\x43\\x07\\xa8\\x43\\x94\\xb7\\x7e\\x39\\x90\\xb2\\xc2\\xd6\\x31\\x03\\x42\\xb0\\xa8\\xd6\\x02\\xdd\\x6d\\xe5\\x6a\\x9a\\x36\\xff\\x79\\xd5\\xab\\xa7\\xb9\\x35\\xbf\\x3e\\xf3\\xc1\\x17\\x47\\x7e\\xbd\\xe3\\xc1\\xcb\\x97\\x2c\\x98\\xba\\x68\\x42\\x4f\\xf4\\xf8\\x6d\\xf2\\xdf\\x5f\\x99\\xf4\\xdd\\x5b\\x27\\x60\\xaf\\xdd\\x9f\\xbe\\x01\\x03\\xab\\xe5\\x33\\xcb\\x37\\x6d\\xed\\xbf\\xf1\\x34\\xa3\\xa9\\xed\\x6d\\xb2\\x9e\\x75\\x25\\x36\\x82\\x17\\x44\\xc1\\xc5\\x52\\x71\\xa9\\xcb\\x55\\x1e\\x13\\x8a\\xcc\\x58\\xab\\x8d\\x61\\xf2\\x62\\x07\\xf6\\x02\\x66\\x13\\x88\\x66\\x41\\xeb\\x03\\xe1\\x9c\\x99\\x93\\xc8\\xb1\\x8e\\x2c\\xb2\\xee\\x4c\\x28\\x9e\\xee\\x11\\x44\\x1c\\x9a\\xdf\\xf1\\x0c\\x69\\x70\\x7b\\x73\\xb2\\x9c\\x5a\\x37\\xd6\\x09\\x4f\\xfd\\xe6\\x36\\x3c\\x6a\\xe4\\x88\\x19\\x79\\x13\\xb5\\x79\\x4a\\x73\\xb6\\xa4\\xe3\\x9a\\x09\\xe2\\xf5\\x72\\x21\\xaf\\x99\\x7e\\xa3\\x6f\\xba\\xbb\\x79\\xb4\\x62\\x59\\xe2\\x3f\\x75\\x30\\x25\\xa9\\x9d\\x43\\x9e\\xe1\\x6a\\xc2\\x57\\x0f\\x28\\x03\\xcd\\x92\\xa5\\x04\\xdb\\x6d\\x36\\x73\\xc0\\x61\\x32\\x99\\xb1\\x39\\x1a\\x8b\\xd1\\x60\\x7b\\x55\\x22\\x49\\x5f\\x25\\x9f\\xbb\\x30\\x69\\xb7\\xf9\\xcc\\x26\\xb3\\x33\\xc0\\xcc\\xb7\\x10\\x33\\xdf\\xbc\\x9d\\x9a\\x6f\\x90\\xee\\xb1\\x36\\xe4\\x27\\xcb\\xb7\\x37\\xe0\\xe8\\xca\\xcb\\xc4\\xe3\\x7f\\x5a\\x70\\x62\\x50\\xb3\\xdf\\x5d\\xfe\\x43\\xcb\\xa8\\x60\\xce\\x56\\x6e\\x67\\xc3\\xd5\\x2d\\x11\\x2f\\xfb\\xe4\\x42\\x1d\\x7c\\xe6\\xee\\xdf\\x19\\x71\\x4c\\xae\\xd1\\x59\\x32\\x3e\\x36\\xd0\\x5b\\x2a\\x32\\xf0\\xa2\\x20\\xea\\xf5\\xc4\\x43\\xb7\\xd9\\x6d\\x0e\\x5e\\x6b\\xc0\\x16\\x8d\\x05\\x35\\xa5\\x2c\\x16\\xbd\\x59\\xd0\\x30\\xf3\\x27\\x6f\\x4c\\x6c\\x0d\\x79\\x13\\x14\\x66\\x26\\x27\\xcd\\xe4\\x67\\x83\\xe2\\x46\\xef\\x54\\x76\\x99\\xb6\\x37\\x70\\x63\\xcb\\x6e\\xaf\\xed\\xb1\\x08\\x77\\xd1\\x92\\x91\\x5d\\xba\\xe2\\xc7\\x8c\\x9f\\x3d\\x9a\\x3e\\x81\\xfb\\xac\\x9a\\xf5\\xf9\\x8a\\xeb\\x4d\\xca\\x3a\\xcf\\x13\\x5b\\xfd\\x63\\x6e\\x10\\xe1\\xee\\x65\\x52\\xb9\\xa0\\x09\\x3a\\x8c\\xa0\\xc0\\xeb\\x05\\x0e\\x0d\\x17\\x8d\\x19\\x83\\xc4\\x1d\\xf3\\x0f\\x4b\\x81\\x82\\x19\\x05\\x48\\xc4\\x05\\x05\\x6e\\x0b\\xd6\\x0f\\x4b\\x09\\x02\\xa6\\x3e\\x59\\xbc\\x7d\\x46\\x5d\\x43\\x87\\x78\\x22\\x74\\x30\\xc7\\x23\\x9b\\x3e\\xc7\\x22\\x8a\\x75\\x89\\xa0\\x6a\\xba\\xab\\x11\\x45\\xbc\\xfa\\xd7\\x6f\\x9f\\x78\\x3b\\xb6\\x31\\xb4\\x7a\\xee\\xba\\x4d\\x53\\x1e\\x5e\\xb2\\xa4\\xdf\\x3f\\x4e\\xc2\\x2b\\x2b\\x1f\\x74\\x2d\\x98\\x7a\\xcb\\x8a\\xf2\\xa1\\xeb\\x16\\x2f\\x4d\\xc2\\xde\\xbb\\x0f\\xcc\\xbd\\xb5\\xfb\\xd8\\xa6\\x49\\xe3\\xfb\\x8c\\x48\\x94\\x37\\x5d\\x77\\xc9\\x86\\xed\\x6d\\xde\\xa1\\x03\\x86\\x26\\xcb\\x7b\\x54\\x55\\x45\\x87\\x2b\\xfb\\xd7\\xe3\\xdb\\xbe\\x43\\x4b\\xf8\\x4a\\x9a\\x77\\x26\\x85\\x0c\\x3a\\x9d\\x0d\\x63\\x6f\\x01\\x28\\xb0\\x14\\x20\\x07\\x36\\x6b\\x74\\x9a\\x61\\x29\\x03\\x59\\xfc\\x74\\x66\\xe0\\xc8\\x13\\xf3\\xb8\\x35\\x9b\\x3a\\x61\\xcd\\x8b\\xfe\\x11\\x29\\xa8\\x67\\xd6\\x24\\xe1\\xa6\\x10\\xc9\\xfa\\x8c\\xd0\\x3e\\x6a\\x92\\xf9\\xd6\\x45\\x05\\x8b\\xa7\\xdd\\x1c\\x7f\\xb3\\xe0\\xcd\\x45\\x86\\xcb\\xcb\\x7b\\xd8\\xaf\\x72\\x4c\\x19\\x59\\x3f\\x08\\xad\\x5b\\xf6\\xf3\\xcf\\xcb\\xd2\\x0b\\x7b\\x45\\xc6\\x9a\\x56\\x78\\x28\\x3d\\xa3\\xdb\\xbe\\xe7\\x2e\\xe5\\x7a\\x10\\x9d\\xd5\\x5b\\x0a\\x60\\x8f\\xd6\\xaa\\x33\\xa9\\x3a\\xab\\xd0\\x6f\\x55\\xd5\\x95\\xcb\\xe4\\xd4\\xe9\\x80\\x99\\x06\\x68\\x1b\\x33\\x9b\\x72\\xbf\\xb3\\x9b\\x94\\xdb\\xd7\\x65\\x1c\\x8a\\xba\\xac\\x7f\\x5b\\x6f\\x87\\x3b\\x3b\\xd7\\x54\\x5c\\x8f\\xf4\\x42\\xa6\\xab\\xd0\\x84\\xd6\\xfd\\x79\\xba\\x0a\\xad\\x55\\xc6\\x9c\\x70\\x8c\\xbb\\x92\\xd0\\x66\\x00\\xbd\\xa4\\x20\\x4d\\x62\\x12\\x90\\x60\\x14\\x0d\\x06\\x53\\xd0\\x24\\x99\\x9a\\x4c\\x4b\\x4c\\x1c\\xdb\\x5c\\xc1\\xc8\\x0c\\x54\\xbb\\xdb\\xd6\\xc0\\x22\\x6f\\xd6\\x76\\x69\\x87\\x21\\x16\\x3f\\x2b\\x82\\xf5\\x75\\xc4\\x0e\\x80\\x17\\x3e\\x7a\\xfa\\x0f\\x57\\xeb\\xf4\\x5c\\x41\\x55\\x35\\x5c\\xf2\\x2a\\x21\\x41\\xea\\x37\\xa7\\xb6\\x76\\xc2\\x58\\xf4\\x32\\xbb\\xe7\\x14\\xb2\\x5e\\xd7\\xd2\\x13\\x01\\x60\\x57\\xa9\\xce\\x0e\\xa0\\xd5\\x64\\x24\\xcf\\x23\\xea\\xb4\\x5a\\x2d\\x31\\x9e\\xb4\\x56\\xce\\xe1\\x14\\x1c\\xd0\\x88\\x1d\\x2e\\x8d\\xcb\\xe5\\x1a\\xe0\\x9a\\xe7\\xba\\xdd\\x75\\x8f\\x4b\\x73\\xc6\\x05\\x9f\\x73\\x1d\\x77\\xa1\\xc9\\x2e\\xe8\\xa2\\x73\\xbc\\x6c\\xda\\xf5\\x49\\x9d\\x0b\\x4e\\x75\\x49\\x57\\x5e\\x9d\\x9c\\xe7\\x82\\x29\\x17\\xd4\\x10\\x68\\x74\\xce\\x05\\xeb\\x5c\\x53\\xc8\\x15\\x1f\\xbb\\xb8\\x62\\x15\\xb6\\x6f\\xff\\x64\\xf2\\x7e\\xd7\\x5e\\x72\\x39\\xbe\\xdd\\x05\\xfb\\x51\\xc8\\x52\\x57\\x9d\\x0b\\xd7\\xef\\x75\\x7d\\xe3\\x42\\xf7\\xb8\\x60\\x83\\x6b\\xa0\\x2b\\xe5\\x9a\\xef\\xe2\\x5c\\x2e\\xf8\\x9b\\x0b\\x7e\\xec\\x3a\\xe3\\x42\\xd3\\xc8\\xdf\\x77\\xba\\x70\\x1d\\x45\\xca\\xb0\\x18\\x9c\\x9e\\xe4\\xdd\\x2e\\x48\\xcf\\x82\\x50\\x3e\\x28\\x12\\x4d\\x49\\xb3\\xab\\xd1\\x85\\x04\\xe2\\xc0\\x6b\\xc9\\xa0\\x6a\\xad\\x22\\x16\\x05\\x9d\\xd6\\x4c\\xd3\\x20\\x05\\xa7\\x12\\xb4\\x6c\\xcc\\x44\\x67\\xe2\\x4a\\xd4\\x92\\xcc\\x92\\x66\\xb2\\x24\\x57\\x64\\x16\\x5e\\x25\\x4a\\xa9\\xfc\\x51\\x31\\x81\\xc5\\x2b\\x67\\x5a\\x13\\xf9\\x55\\x3d\\xea\\x7f\\x35\\x8c\\xd1\\x65\\xc4\\x42\\xa4\\xec\\xa6\\xa1\\x61\\xbb\\xcb\\x59\\x07\\x13\\x5c\\xe5\\xfb\\x25\\x9a\\x40\\xb5\\x7c\\xf0\\xbd\\x2b\\x0e\\x45\\x85\\x61\\x70\\xd4\\x4b\\x95\\x9a\\x10\\x5c\\x7e\\x10\\x1d\\xf9\\x6e\\xd0\\xcc\\xb4\\x8b\\x0c\\x40\\xe8\\xf5\\x17\\xd1\\xdf\\xd3\\xde\\xeb\\x87\\x0f\\xc5\\xa3\\x59\\x0c\\xe8\\x09\\x32\\xee\\xbd\\xc8\\x18\\x88\\xe0\\x2a\\x29\\xa4\\x05\\xa2\\x86\\xa7\\x11\\x49\\x9e\\x83\\x82\\x5e\\xd4\\xe8\\xb0\\xce\\x68\\x31\\x06\\x8d\\x48\\x32\\x36\\x19\\xbf\\x34\\x62\\x23\\x7d\\x56\\x57\\x55\\xcf\\x24\\x19\\x22\\x5e\\xcf\\x41\\x9a\\x0c\\xce\\x9b\\x59\\xcc\\xd2\\x99\\x8b\\x59\\xaa\\xdb\\x86\\x15\\x94\\xf8\\xfc\\x3c\\x5a\\x4a\\x35\\x66\\x81\\x4b\\x16\\x42\\x44\\x2f\\xbf\\x2f\\x2f\\x7f\\x03\\x7e\\x27\\xff\\xfa\\xc2\\x4b\\x70\\xc2\\x3b\\x72\\x05\\xf4\\xc2\\xe7\\xe5\\x7e\\xa8\\x12\\x99\\xe4\\x71\\xf0\\xe1\\xf4\\xb9\\xf4\\x07\\x34\\x9f\\x9e\\xe8\\xfa\\xa9\\x84\\x3e\\x37\\x18\\x20\\x15\\xdb\\x1c\\x3a\\xb3\\xa8\\x37\\xeb\\xed\\x1e\\xbb\\x97\\xee\\x7a\\x12\\x05\\x44\\x55\\xbf\\x8e\\x7c\\xe6\\xd0\\xb5\\x73\\xb3\\xb2\\xf2\\xa9\\xc4\\xf1\\x33\\x5a\\x9d\\x90\\x60\\x0f\\x67\\x1c\\x2b\\xc2\\x3a\\xa2\\x6f\\x68\\x88\\x17\\x9a\\x90\\x25\\xd9\\xab\\xa8\\x2a\\xd8\\xbc\\x61\\x80\\xef\\x93\\x67\\x66\\x98\\x0b\\xa0\\x3e\\x08\\x0f\\xbf\\x91\\xbe\\x6b\\xfa\\x1d\\x1b\\xe5\\x31\\xa6\\xdb\\xb5\\x4b\\x16\\xc4\\xb9\\x2e\\xe9\\xc7\\x9a\\x0e\\xfb\\x5c\\x12\\x0e\\x5e\\x78\\xfd\\xa5\\xad\\x43\\xb2\\xb9\\xec\\xf8\\x34\\xcd\\x41\\x84\\xf3\\xa4\\x20\\xe2\\x79\\x2d\\x61\\x86\\x00\\x80\\x7e\\x8e\\x08\\x2f\\x16\\x47\\x88\\x57\\x89\\xb8\\x9b\\x08\\x23\\x22\\x24\\xde\\x11\\x14\\x9f\\x6d\\x03\\x92\\x7e\\xf6\\xfc\\xe4\\xdd\\x22\\x5c\\xc2\\xfe\\x94\\x24\\xd7\\x0d\\x33\\x92\\x41\\xb1\\x5a\\x44\\xe4\\x7b\\x20\\xc2\\x69\\x3f\\x8b\\xf0\\x4b\\xf5\\x2b\\xcb\\x55\\x53\\x92\\x9b\\x44\\x78\\x9b\\x08\\x09\\xb2\\x89\\x99\\x0f\\xc7\\x4d\\x48\\x3a\\x44\\x88\\x44\\x78\\x4e\\x84\\x5f\\xb3\\x0f\\x97\\x48\\x8e\\x11\\xa3\\x93\\xb7\\x89\\x77\\x8b\\x88\\x00\\x5e\\x29\\xc2\\x7e\\xe2\\x48\\x11\\x29\\xd0\\x03\\x07\\x27\\x15\\xb8\\x0f\\x45\\x78\\x4c\\x45\\x51\\xda\\xb7\\x5f\\x52\\x01\\x1c\\x29\\xc2\\x8b\\x44\\xe8\\x10\\x8b\\xc5\\x6e\\x22\\x26\\x28\\x1b\\xbe\\x16\\x7f\\x16\\x11\\x01\\x7d\\x59\\x45\\x5c\\x12\\xef\\x96\\x1c\\x2d\\xc2\\x6e\\x62\\x3f\\x11\\x85\\x45\\x48\\x28\\xb4\\x88\\x08\\x05\\x45\\x49\\x9c\\x28\\xee\\x12\\x8f\\x89\\x5f\\x8a\\x3f\\x92\\x15\\x8a\\x2e\\xb8\\x4e\\x6f\\x52\\x64\\x0b\\xae\\xd9\\x96\\x6c\\x64\\x8f\\xa2\\xc3\\x1a\\xc4\\x93\\xc5\\x8a\\x37\\x43\\xb2\\xee\\x92\\xa1\\x71\\xe6\\xc7\\x7b\\xe9\\xc0\\xd0\\x0d\\xe4\\xe6\\x59\\xcd\\xb3\\x94\\x28\\xbd\\x6a\\x8a\\x56\\x64\\x26\\x01\\x71\\xc0\\x32\\xf1\\xfb\\x0a\\x75\\xbf\\x99\\x7e\\xd1\\x4c\\xbf\\xca\\x7a\\x22\\x34\\xeb\\x5f\\x8d\\x14\\x0b\\x06\\x37\\x3a\\x93\\xfe\\xa3\\x17\\x5b\\x3c\\xe9\\x02\\x74\\x83\\xf7\\x4e\\x5c\\xba\\xfa\\xce\\xd6\\xbf\\xa8\\xb1\\x54\\xa7\\x3c\\x06\\xf7\\x25\\xbe\\x46\\x15\\x98\\x2c\\xd5\\x45\\xb1\\xd7\\x52\\x69\\xf1\\x63\\x91\\xef\\xe2\\x70\\xc4\\x43\\x65\\x95\\xde\\x02\\xa7\\xdf\\x6f\\xd0\\x62\\xb1\\xca\\x20\\x9e\\x4f\\x59\\xcc\\x06\\xc9\\xd6\\x27\\x69\\x30\\x38\\x2a\\xab\\x2a\\xcf\\xa7\\xaa\\x7c\\x0e\\xe7\\xf9\\x94\\x03\\xb4\\x4f\\xc7\\x6a\\x68\\x50\\x97\\x38\\x9a\\x35\\xd1\\x60\\x53\\x63\\x0f\\xd9\\xed\\x4c\\x45\\x1b\\xb3\\x45\\xae\\x9e\\xc6\\xd8\\xfa\\xc0\\x9e\\x50\\x60\\x4b\\xb2\\x09\\x0a\\x4e\\x9a\\xaf\\xa5\\xbc\\x73\\xb8\\xc8\\xe7\\xf0\\xc6\\xe9\\xcb\\xf4\\xdd\\x75\\xe3\\x47\\x79\\x6f\\x5c\\xe2\\x1e\\x50\\x78\\xef\\x5d\\x77\\x78\\x1b\\x53\\x93\\x3c\\xfd\\xed\\xcb\\xc6\\xf7\\x1f\\xa6\\xe9\\xcd\\x0b\\xb0\\xff\\x90\\x6a\\xaf\\x3c\\x66\\xc5\\xdc\\x3e\\xf5\\xb0\\xa8\\x32\\x34\\x62\\x20\\xb7\\x98\\x9b\\x3d\\x17\\x5e\\xbb\\xee\\x9e\\xa5\\x13\\xe6\\xcb\\xdb\\x9a\\xef\\x70\\x21\\xeb\\xe4\\xcb\\x7c\\x41\\xf9\\x25\\xcf\\x30\\xab\\xa6\\x7b\\xff\\xa5\\x4a\\xbc\\x5f\\xee\\x01\\x17\\x32\\xff\\xca\\xf1\\x0c\\x73\\xaf\\xe8\\xd1\\x9c\\xf1\\x6c\\x14\\xdb\\x4e\\x48\\xfd\\xe8\\x11\\xb9\\x87\\x70\\xf7\\xaf\\x37\\x32\\x59\\x9e\\x24\\x8f\\x41\\x6b\\x33\\x3c\\xb2\\x78\\x35\\x11\\xd1\\x1f\\xf1\\x72\\x8e\\xb8\\xa3\\x4b\\x59\\xa8\\xd2\\x4f\\x59\\x51\\xe0\\xf5\\x3b\\xfd\\xa2\\xc5\\xec\\x30\\x88\\x86\\xf3\\x29\\xac\\xad\\x12\\x29\\xa3\\x44\\xd1\\x59\\x05\\x18\\x8f\\xd4\\xd9\\x67\\x6b\\x88\\x57\\xd8\\x32\\x0c\\xb2\\x31\\x06\\xe5\\xc5\\x67\\xb2\\x3c\\xca\\x86\\x5f\\x5d\\x6e\\x9a\\xb4\\x49\\xf8\\x51\\x41\\x2c\\x2c\\xba\\xae\\x11\\x8e\\xb1\\x6c\\x6b\\xe5\\x1d\\xab\\x66\\x80\\xdd\\xfe\\x2f\\x3c\\xe2\\x4f\\x50\\x1e\\xc9\\x5f\\x55\\x84\\x55\\x1e\\xc9\\xf7\\x30\\x1e\\xc1\\xc9\\x2a\\x8f\\x0a\\x8b\\x60\\x63\\x3e\\x8f\\x16\\xa0\\x18\\x77\\x23\\x2e\\x23\\xc2\\x39\\x45\\xd2\\xd9\\xb4\\x6e\\x17\\xb0\\xec\\x4f\\x69\\xe9\\xb1\\x4c\\xa5\\xbd\\x92\\x5a\\x40\\x45\\x9b\\x98\\x90\\xf4\\x55\\xaa\\xd4\\x39\\x92\\x40\\xb2\\x49\\xb1\\x5e\\x49\\x9b\\x28\\xf2\\xfb\\x53\\x45\\xe2\\x50\\x71\\xa7\\x88\\xa7\\x8b\\x8b\\xc9\\xcb\\x01\\xf1\\x5d\\xf1\\xac\\xd8\\x46\\xa6\\x83\\xa4\\x33\\x26\\x45\\x40\\xcb\\x58\\x09\\x2f\\x2c\\xaf\\x56\\x14\\x7c\\x5e\\x51\\xf1\\x6a\\x45\\x26\\x30\\x0e\\xe9\\xce\\x36\\x15\\x84\\x5a\\x9a\\x6c\\xc9\\xb6\\xbb\\x9d\\x26\\x88\\xaf\\xed\\xbf\\x61\\xe0\\xd2\\xb1\\x17\\xcf\\xe9\\x3b\\xfd\\xbe\\x29\\x2b\\x36\\x8e\\x29\\xbe\\x6d\\x56\\xaf\\xd9\\x28\\x56\\x59\\x50\\x15\\x8b\\xaf\\x1b\\xd9\\x25\\xe1\\xb8\\x62\\x73\\x79\\x29\\x60\\xa7\\x13\\xb3\\x1f\\x8b\\x86\\x9d\\xe4\\x8c\\x80\\x24\\x1f\\x41\\x1e\\xae\\x27\\x8b\\x79\\x74\\x93\\x0a\\x10\\xe6\\x35\\x58\\xa3\\x25\\x36\\x0d\\xb4\\x60\\xa0\\x91\\x04\\xcd\\xf6\\x71\\x82\\x19\\x20\\x48\\x9c\\xc7\\xf1\\x8d\\xed\\x4a\\x8e\\x33\\xa3\\x90\\x20\\x6e\\xbb\\x40\\x66\\x51\\xe1\\xa6\\x7d\\xaf\\xc2\\x3f\\x47\\x5f\\x8e\\xa2\\x27\\x5a\\x0d\\xfc\\xd2\\xe3\\xc7\\x19\\x7f\\x76\\xb4\\x7d\\xc5\\xf5\\xe3\\x97\\x82\\x22\\xb0\\x4e\\x8a\\xf2\\x5a\\xbb\\x45\\x6b\\x09\\xb8\\xdd\\x2e\\xa2\\xf3\\x5d\\x01\\xd1\\x25\\x86\\x82\\x96\\x82\\xd9\\xc4\\x5f\\xe0\\xb5\\x5a\\x30\\x3b\\xb5\\xcb\\x72\\xd0\\x72\\xcc\\x82\\x2d\\x94\\x5b\\xf1\\x40\\x38\\x49\\x80\\xb5\\x56\\xcd\\x74\\x37\\xb4\\xb8\\xa1\\xdb\\x6d\\xd5\\xd0\\x08\\xaf\\x84\\x96\\xa0\\xf5\\x68\\x17\\xd2\\x34\\xa1\\x89\\xe4\\xcd\\x31\\xf4\\x1e\\xd1\\x12\\x48\\xe3\\xa5\\xd6\\x23\\xab\\x80\\x61\\x81\\x7c\\x56\\x06\\xcc\\xf6\\x85\\x12\\x15\\x9d\\x94\\x8c\\x28\\xe2\\x53\\xef\\x46\\x4a\\xe5\\x2a\\x0b\\x8e\\x65\\x4a\\x56\\x33\\x51\\x60\\x54\\xfd\\xf6\\xc8\\x6d\\x73\\xe4\\x93\\xc1\\x5b\\xc2\\x9b\\x77\\x0e\\xbe\\xed\\xc8\\x8a\\xc2\\x5b\\xfc\\xcb\\x36\\x6a\\xd5\\x60\\x30\\x74\\x9d\\xe9\\x2a\\x9f\\x30\\x3f\\xba\\xdf\\xf5\\xd1\\x13\\x2b\\xa1\\xf5\\xf9\\xa9\\x9a\\xfb\\x76\\xd8\\x1f\\x5a\\x92\\x0b\\x0b\\xab\\x75\\x4a\\x5b\\xf8\\x7b\\x40\\x29\\xb8\\x4d\\xea\\x5f\\xe8\\xf0\\x39\\xec\\x01\\x9d\\xcf\\x50\\x0a\\x80\\x41\\x87\\x39\\xbb\\x3d\\x1a\\xe6\\x39\\xae\\xac\\x48\\x1b\\x0e\\xe8\\x0c\\xba\\xb9\\x29\\x9f\\xb1\\xc0\\x62\\x30\\x70\\x16\\x8b\\x7b\\x76\\x0a\\x38\\x2c\\x0e\\x5a\\xb9\\xe1\\xb0\\x08\\x7c\\x98\\x0b\\xcf\\x49\\x99\\x4b\\x61\\x69\\x29\\xe7\\x01\\x8d\\x99\\x9a\\xdd\\x76\\x75\\x27\\xe4\\x99\\x98\\xd1\\xa9\\x6a\\x91\\x5c\\x00\\x39\\x3f\\xec\\x4a\\x4c\\xbc\\x50\\x3d\\x7d\\x4c\\x62\\x85\\xda\\x15\\x5f\\x5b\\x79\\x56\\x81\\xe6\\xec\\xb1\\x3a\\x27\\x32\\x75\\xb8\\x44\\xc9\\x9b\\xf7\\xa4\\xfb\\xf9\\x27\\xcd\\xf5\\x14\\x1e\\xf1\\x1e\\xa9\\x8f\\x7e\\xf5\\xfc\\xa6\\xa3\\xee\\x87\\x1c\\x33\\x06\\xce\\x5a\\xec\\xe9\\x0e\\xef\\xf3\\xca\\xd7\\xf8\\x1c\\x8b\\x52\\xf0\\xbd\\xa9\\x4b\\x0b\\x60\\xdd\\x7d\\x3b\\xb6\\x74\\xd9\\x7e\\xcb\\xfa\\xa5\\xd0\\xf3\\xf6\\xd1\\x45\\xd3\\x6a\\xa4\\x7e\\xb3\\x17\\xc9\\x5f\\x2e\\xdd\\x38\\x7d\\x5f\\xf9\\xa8\\x89\\x8a\\xaf\\xb5\\x16\\x7c\\xc5\\x05\\xb8\\xd9\\x64\\x5d\\x2d\\x83\\x46\\xa9\\xb6\\x10\\x84\\x4d\\xc0\\x14\\x8d\\x8d\\x8c\\x41\\x29\\x06\\xbb\\xc5\\x60\\x30\\x06\\xb9\\x98\\x23\\x86\\x7e\\x8c\\xc1\\xd3\\x31\\xf8\\x5e\\x0c\\x3e\\x14\\x6b\\x89\\xbd\\x1a\\xc3\\x4b\\x62\\xeb\\x63\\x68\\x4e\\x0c\\x4e\\x8c\\x41\\xe6\\x88\\xe9\\xc9\\x3a\\x07\\x62\\x96\\x18\\xba\\x8e\\xfd\\x39\\xf0\\xea\\x6b\\x93\\xeb\\x63\\x70\\x79\\x0c\\xce\\x88\\xc1\\x7e\\x04\\xdd\\xe4\\x18\\x26\\xa8\\x1c\\x31\\x08\\x62\\xf0\\xc3\\xd8\\xe9\\xd8\\xb9\\x18\\x3e\\x18\\x23\\x52\\x1b\\x9b\\x11\\x43\\x3d\\xa5\\x58\\x53\\x6c\\x62\\x6c\\x57\\x8c\\x93\\xc8\\xcb\\xc1\\xd8\\x7b\\xb1\\x2f\\x63\\x3f\\xc6\\x34\\xef\\x91\\x5f\\x88\\x79\\x7b\\x03\\x47\\x31\\x6f\\xef\\xa9\\x7e\\x97\\x28\\xaf\\xbd\\x25\\xc5\\xfb\\x0b\\xd6\\x35\\x24\\x77\\xc6\\x0e\\xc4\\x8e\\xc6\\x70\\x4c\\x12\\xad\\x84\\x00\\xa8\\xc7\\xce\\xa2\\x83\\x29\\xa7\\x20\\x09\\x25\\x07\\x53\\x02\\x50\\x92\\xc9\\x4f\\x30\\xcf\\xbb\\x82\\xe5\\x4a\\xb3\\xe2\\xf3\\xe6\\x6c\\x24\\x44\\xb5\\xc3\\xb2\\x21\\x92\\x9c\\xfc\\xd9\\xbb\\xd5\\x97\\xd5\\xbb\\xe9\\x24\\xae\\x77\\x0b\\x54\\x93\\xb9\\x05\\x5a\\x20\\x5b\\x26\\x94\\xd5\\x97\\xd6\\xe7\\x4a\\x6c\\x34\\x0f\\x5f\\x36\\xf9\\x9a\\xab\\x66\\xad\\xb9\\x73\\xd6\\xa4\\x6b\\x26\\x36\\x0d\\x9f\\x3c\\xe5\\xea\\x59\\x77\\xae\\xbb\\x61\\xda\\x94\\x29\\x97\\x6d\\x79\\x68\\xee\\xac\\x47\\x1e\\x9e\\x3d\\xf7\\x21\\xb4\\x6f\\xd5\\xac\\xc9\\x53\\xaf\\x1e\\xde\\x34\\x69\\xda\\xc4\\xb9\\x77\\x90\\xf7\\xd3\\xae\\xbe\\xac\\x69\\xda\\xb4\\x29\\xb3\\xd6\\xcc\\x7a\\x64\\xf7\\xbc\\x39\\x0f\\x3f\\x4a\\xe6\\x61\\x15\\x00\\xbc\\x9b\\xcc\\x43\\x17\\x58\\x26\\xf5\\xb7\\x3a\\x00\\x76\\xda\\x9d\\x2e\\xb3\\x68\\xb7\\x61\\x93\\x49\\xc7\\x11\\x2f\\x42\\xd0\\xeb\\xb5\\x3a\\xa4\\xd1\\xe8\\x6c\\x22\\xe7\\x76\\xb9\\x3c\\x82\\xde\\xa8\\x9f\\x9b\\xe2\\x8c\\xd8\\x64\\x35\\xcd\\x25\\xab\\x97\\x75\\xa2\\x15\\x1a\\xad\\x46\\xab\\xd6\\xe5\\xb4\\xdb\\x34\\x3a\\xad\\x52\\x9b\\xa5\\x96\\xdc\\x8f\\x57\\x13\\xc6\\x73\\x75\\xe3\\xed\\x8b\\xc6\\xf3\\xfe\\x29\\x55\\xc1\\x54\\xe2\\x58\\xa6\\x28\\xcd\\xb9\\xa0\\xff\\x98\\x51\\x87\\xbe\\x81\\x7d\\x3d\\xf2\\xd2\\x00\\x5c\\xec\\x95\\x97\\xf6\\x3c\\xd4\\x53\\x5e\\xe6\\x85\\x8b\\x82\\xf2\\x52\\x0f\\x94\\xe4\\xbf\\xbe\\xf4\\x0b\\x3c\\xf7\\x36\\x7a\\x6d\\xd1\\x96\\xc5\\xf2\\xfb\\x30\\xbe\\x78\\xcb\\x22\\xf4\\x7c\\x7a\\x3e\\xba\\x83\\xc8\\xd8\\x47\\x72\\x03\\x59\\xa7\\xde\\x66\\x3a\\xcc\\x29\\x89\\x1c\\x6f\\x4a\\x01\\x68\\xe2\\xe8\\x99\\x83\\x8d\\x6f\\xc7\\x2b\\x2a\\x94\\xa5\\x0a\\xb3\\xe5\\xea\\x91\\x47\\xd0\\x2b\\x58\\xdf\\xfa\\xcb\\x85\\x79\\x58\\x64\\x69\\x7d\\x00\\xb5\\x7d\\xd1\\x36\\x92\\xeb\\x4d\\xd6\\xad\\x72\\x50\\x0f\\xf6\\x48\\xa5\\x15\\xae\\x12\\x9f\\x95\\xeb\\x0a\\x42\\xc1\\x20\\xe0\\x7c\\x2e\\xbe\\x81\\xb8\\xd0\\xdd\\x1d\\xa8\\x4b\\xd4\\x5b\\x6b\\xe9\\x02\\x2d\\x5d\\x82\\x5d\\xa4\\x2e\\xb8\\x0b\\x95\\x93\\xb2\\xca\\x24\\x7d\\x95\\x1a\\x7c\\x81\\xa4\\xb9\\xb6\\xb1\\x16\\x85\\x70\\xad\\x14\\xaf\\x49\\x76\\xa9\\xed\\x52\\x5b\\x62\\x0d\\x08\\x81\\xc8\\xb0\\x54\\x28\\x14\\x00\\x82\\x89\\x38\\xbc\\xc4\\xe4\\x99\\x21\\x2e\\x11\\xb9\\xa0\\xb8\\x9e\\x58\\x3d\\x58\\x14\\x97\\x08\\xc4\\xb0\\x89\\x8f\\xa7\\x6a\\x2b\\x3f\\x95\\x86\\x15\\xdc\\xb0\\xcc\\x5a\\x66\\x01\\x33\\x26\\x76\\xa8\\x2f\\x52\\x7c\\x61\\x9e\\xe6\\x03\\xb5\\xf7\\x87\\x8b\\xb3\\xd5\\xd5\\xc4\\x27\\x2e\\xa5\\x39\\x36\\x2e\\xb2\\x44\\xf0\\x0e\\x1a\\x56\\x63\\x29\\x38\\x64\\xa5\\xf8\\x59\\xfe\\x61\\xf9\\xaf\\xdf\\x3f\\xfe\\x4e\\x54\\x71\\x90\\xaf\\xdd\\x25\\xff\\x61\\xed\\x1d\\xb7\\x7f\\xfb\\x09\\xbc\\xbc\\xf2\\xc1\\xd8\\x4b\\xf2\\xcf\\xd7\\x6d\\x7d\\x7a\\x53\\x3a\\xbc\\xf0\\xde\\xe5\\xf7\\x37\\x5c\\x7f\\xe7\\xdc\\x35\\xe8\\x81\\x2f\\x7b\\x8f\\x58\\x93\\x75\\x97\\x1b\\xc7\\x74\\x9d\\xfc\\xd5\\x8d\\xeb\\x03\\xa3\\xd6\\x50\\x8f\\x79\\xf3\\x83\\xf5\\xa3\\x6b\\x1a\\x76\\x36\\xf7\\x9f\\xd6\\x85\\xbf\\x7a\\x6c\\x62\\x50\\x8f\\xa8\\xe6\\x7a\\x65\\xde\\xdf\\xc9\\xbd\\x82\\x3e\\xe1\\x17\\xb2\\x31\\x29\\x96\\x2c\\x1a\\x8e\\xd3\\x02\\x84\\x74\\x90\\xe7\\xf8\\xb5\\x34\\x8b\\x2b\\x2f\\x49\\x3e\\x17\\xbe\\x0e\\xd1\\x32\\x0b\\x5d\\x64\\x7f\\x24\\x7d\\x32\\x72\\x20\\xc2\\xbd\\xf2\\x2c\\xf9\\xa1\\x69\\xec\\x6d\\x3f\\xf2\\x7f\\x23\\x7a\\xd4\\x4c\\x56\\x91\\xee\\xe0\\x01\\xc9\\xef\\xd1\\xc6\\x23\\xb5\\x75\\x75\\xb1\\xa8\\x05\\x80\\x68\\x44\\xcb\\x35\\xf4\\x30\\xf7\\x80\\x43\\x70\\x0f\\x69\\xe8\\xe4\\x64\\x2d\\x1d\\x90\\x01\\x06\\x73\\xb2\\xb6\\x36\\x18\\xac\\x39\\x9e\\x2a\\xad\\x3c\\x9e\\x1a\\x1a\\x6b\\x8e\\x4d\\x27\\x73\\x38\\x56\\x6a\\x0e\\x42\\x73\\xb0\\x28\\xd8\\x16\\xc4\\x41\\x89\\x58\\x9a\\xa0\\xd4\\x52\\x3a\\xa3\\x74\\x49\\xe9\\xfa\\x52\\x5e\\x87\\x83\\xa5\\xc1\\x52\\x8e\\x18\\x6d\\x6f\\xa6\\x0c\\x1c\\x57\\xf8\\x66\\x8a\\xb3\\xff\\xbe\\x0a\\x8a\\x0d\\x09\\x51\\xc1\\x6a\\xdf\\x04\\x58\\x91\\xdd\\x7a\\xb1\\xb6\\xab\\x8b\\xc8\\xcf\\x52\\xb7\\x09\\xf9\\x65\\x10\\x35\\xc5\\x36\\x66\\xdc\\xd1\\x89\\x9f\\x09\\x5b\\x64\\xb6\\xc3\\xf8\\xbf\\xbd\\x24\\x1f\\x78\\xe9\\x35\\x79\\xff\\x1f\\x5e\\x86\\x4d\\x2f\\xbd\\x0c\\x87\\x1d\\xbb\\x62\\xaf\\xfc\\xe9\\xde\\x3d\\xf2\\x67\\x7b\\xf6\\xc2\\xf0\\xde\\xc7\\x60\\xc9\\x9e\\xf4\\xa6\\xe7\\xdf\\x7b\\xf3\\x85\\x73\\x13\\x67\\x05\\xe7\\x0c\\x5e\\x7c\\xc7\\x5d\\x8b\\x2e\\x9b\\x1d\\x9d\\xdd\\x67\\x2f\\x7a\\x85\\x5e\\x78\\x1c\\x0e\\x21\\xae\\x50\\xd3\\xcb\\xaf\\xc8\\x87\\x5e\\xde\\x03\\x23\\x7b\\xf7\\xca\\x9f\\x3d\\xba\\x97\\x5d\\x1b\\x91\\xd3\\x5f\\x9f\\x78\\xeb\\xf3\\xf7\\x43\\xfd\\xfb\\x3d\\xb0\\x63\\xeb\\xe3\\x83\\x86\\x45\\xe6\\x5f\\xa3\\x8c\\x53\\x0a\\xad\\xc6\\x5d\\xf8\\xfb\\x58\\x7f\\x80\\x39\\xd2\\xc5\\x5c\\x69\\xb9\\xc5\\x52\\xe0\\x70\\x96\\x13\\x9b\\xac\\x00\\x47\\xba\\x46\\x6a\\x4c\\xa5\\xa7\\x53\\x26\\x93\\xd6\\x6d\\x76\\xec\\x74\\x20\\x17\\x76\\x48\\x26\\x6b\\xd2\\xe1\\x70\\xbb\\x6d\\xa7\\x53\\xee\\x2f\\x42\\x55\\xda\\xaa\\xbf\\xa5\\x38\\xb0\\x5e\\x0b\\xd7\\x69\\x61\\x50\\x3b\\x51\\x8b\\xb4\\xb4\\x8a\\x68\\x7c\\x22\\x91\\x5f\\x6c\\xab\\x70\\xa9\\x41\\xcd\\x0b\\xc8\\x2b\\x40\\x50\\xec\\x99\\xdc\\xfe\\x3a\\xdb\\x5e\\x8f\\x84\\x85\\xb2\\xba\\xd0\\xef\\xf6\\xd6\\xa1\\xca\\x27\\x74\\xf2\\xa2\\x4b\\x38\\xee\\xa2\\xdb\\x86\\x5e\\x3d\\x1f\\x5e\\xff\\x94\\x6d\\xf1\\x7d\\xc1\\xe5\\x3d\\x20\\xb7\\x78\\xb5\\xbe\\x56\\x53\\xed\\xf0\\x98\\x4b\\x36\\xad\\x5e\\x78\\x43\\x8f\\x44\\xea\\x6e\\x2b\\xda\\xd0\\xb3\\x6b\\x74\\x54\\xff\\x19\\xcd\\xbf\\xf1\\xdc\\xe5\\xee\\x29\\x77\\x58\\x3f\\xbd\\xee\\x8a\\xb2\\x2a\\xf9\\xfb\\x22\\x57\\xbd\\xf6\\x1a\\x23\\x9c\\xce\\xe1\\x21\\x83\\xe2\\xdd\\x17\\x8d\\x62\\x7c\\x18\\x0c\\xd6\\x72\\xd7\\xe1\\x7d\\x40\\x0b\\xac\\x60\\xb8\\xd4\\x05\\x6a\\x80\\x56\\xcb\\x59\\xad\\x3a\\xa3\\xc1\\x80\\x75\\x66\\xbd\\x5e\\xa7\\xc1\\x36\\xcc\\x71\\x76\\x1d\\x91\\xc7\\xb3\\xe3\\x0c\\x66\\x1c\\x67\\x67\\x4f\\x1e\\xc5\\xa7\\xb0\\x06\\xd3\\x59\\x9c\\x13\\x67\\x77\\x26\\xd1\\x38\\xfb\\xd2\\xb5\\xba\\x84\\x18\\xa0\\x09\\x41\\x47\\xd6\\xd8\\xcc\\x1b\\x5c\\x23\\x9f\\x37\\xc0\\x2d\\x3b\\x34\\xf2\\x14\\x68\\xe0\\xd3\\xcb\\xe4\\x7f\\x1b\\xe0\\x7d\\xdb\\x35\\xf2\\x34\\xa8\\xe3\\xd7\\xc2\\x1b\\x1a\\xe1\\xec\\x12\\x79\\x8d\\xbc\\xc1\\xcd\\xde\\x96\\xd2\\xb7\\x2e\\x6a\\x4f\\x4d\\x06\\x2d\\xdc\\x25\\xe8\\x67\\xc0\\x83\\xee\\x52\\x04\\x72\\x88\\xa3\\xe1\\xf1\\xfd\\xa9\\x24\\x20\\x14\\xc3\\x33\\xe0\\x17\\x80\\x4e\\x00\\x78\\x3f\\xd8\\x0b\\xd0\\x3a\\x02\\x8d\\x95\\x62\\x7a\\xba\\xf6\\x54\\x64\\x53\\x93\\x4b\\x58\\x09\\x3d\\x7e\\xba\\xf5\\x09\\xfc\\xd7\\x16\\xb8\\xef\\xee\\xf4\\xcb\\xc4\\x2e\\x54\\x6b\\xdc\\x89\\x5d\\x48\\xe6\\x14\\xcd\\xb2\\xcc\\x9b\\x73\\x55\\xa0\\x0e\\xdc\\x2f\\x5d\\xee\\xd1\\x06\\xab\\x42\\xc4\\xa3\\xb1\\x24\\x22\\x91\\xe2\\x2e\\x31\\x02\\x17\\x2b\\xd6\\x72\\xf5\\xdd\\xcd\\xdd\\xc9\\xdc\\xeb\\x4e\\xe7\\x5e\\x55\\x30\\x58\\x5c\\x19\\x0a\\x27\\xc2\\x6f\\xa6\\x4a\\xc8\\xd4\\x33\\x17\\x17\\x15\\x4f\\x2f\\xc6\\xa7\\x12\\x70\\x62\\x02\\x82\\x12\\x4b\\x09\\x31\\x69\\x8a\\x13\\x25\\x25\\x89\\x62\\xfc\\xdf\\xe6\\x59\\xb6\\x14\\x69\\xe6\\x4c\\x65\\x92\\x11\\xee\\x79\\x68\\x30\\x20\\x6f\\x9e\\x59\\x73\\x69\\x2a\\xff\\x97\\xd9\\xc6\\xe3\\x08\\xed\\x1a\\xa0\\x64\\x4f\\xda\\x31\\x75\\x06\\xac\\x44\\x8e\\xfe\\x0f\\x73\\x4d\\x1e\\xfe\\xc6\\x03\\x8b\\x61\\xe2\\xae\\x7b\\xaf\\x19\\xf5\\xf9\\xce\\xe6\\x61\\x8f\\x3d\\xdd\\x34\\xf2\\xff\\x3b\\xd1\\x7e\\x83\\x4d\\xf2\\x41\\xdc\\x78\\xeb\\xf4\\x29\\x0b\\xed\\xf2\\x6e\\xd4\\xd4\\x3f\\x29\\x9f\\x1c\\x45\\x6c\\xc1\\xb3\\xfc\\x29\\xee\\x16\\xcd\\x48\\xba\\x0f\\x45\\x73\\xf5\\xc9\\xc8\\xc1\\x03\\x29\\xa4\\xa6\\xca\\xb0\\x12\\xe1\\xda\\x10\\x77\\xcb\\x85\\xd9\\xdc\\x5a\\xfe\\xd4\\x5c\\x22\\x8f\\xaf\\xe2\\x2b\\x30\\x22\\xfc\\x17\\x81\\x1b\\x74\\x95\\xbc\\x06\\x60\\xd3\\x00\\x8d\\xd7\\x83\\x9d\\x07\\x52\\x00\\x43\\x37\\xc6\\x3a\\x9d\\xf9\\x40\\x4a\\xa7\\x14\\x6a\\x5a\\x5e\\xed\\x50\\xb0\\xa7\\x04\\x4a\\x95\\x2e\\x1b\\x42\\xae\\x18\\xb3\\x0e\\xa3\\xbd\\xf3\\xe6\\xed\\x7d\\xf4\\xe6\\x9b\\x1f\\xbd\\x61\\xea\\xa0\\x41\\x53\\xa7\\x0d\\xbc\\xf4\\x1a\\x6e\\xfe\\x4d\\x8f\\xec\\x99\\x3b\\x77\\xcf\\x23\\x37\\x0d\\xbe\\xe6\\xda\\x4b\\x2f\\xbd\\x76\\x9a\\xa2\\x17\\xfa\\x12\\x21\\x28\\xe6\\x5e\\x21\\xf7\\x37\\x83\\x51\\x52\\x8d\\x68\\xd2\\x41\\x0d\\x22\\x76\\x02\\x22\\x0b\\xab\\xd5\\x62\\x30\\xee\\x4f\\x19\\x88\\x57\\x60\\xcb\\xf6\\x6f\\xb8\\x8f\\x2c\\x66\\x67\\x79\\xd8\\xc4\\x2f\\xe1\\x77\\xf1\\xef\\x11\\x2d\\x4f\\xd5\\x40\\x22\\xd7\\xc6\\x21\\xbf\\x5c\\x43\\xa5\\x31\\xaf\\x97\\x03\\x2d\\x2e\\x44\\xb7\\x64\\xfa\\x39\\xd0\\x1a\\x43\\xb4\\x47\\x9e\\x0b\\x57\\x6f\\x80\\xab\\xe4\\x79\\x1b\\xd2\\x63\\x37\\x6c\\xa0\\xb2\\x1f\\x40\\x09\\x74\\x86\\x5f\\x4b\\x24\\x72\\xac\\x54\\xeb\\x07\\x66\\x4b\\xc0\\x02\\x70\\x50\\xe7\\x72\\x85\\x74\\x76\\x40\\x8b\\x8a\\x1a\\xcd\\x07\\xcc\\x47\\xcd\\xef\\x9a\\x35\\x66\\x33\\xfd\\x13\\x1b\\xb1\\xd9\\x6c\\xb7\\x1b\\x4e\\xa7\\xec\\x5f\\x00\\xff\\xdf\\x52\\xe0\\x54\\x46\\xd0\\xb2\\x1d\\x00\\x6c\\x0d\\xed\\xd3\\xd3\\xec\\xf5\\xed\\x2a\\xff\\x3a\\xb4\\x01\\x08\\xd8\\x02\\x43\\xae\\xb8\\x66\\xd9\\xb0\\x8a\\x7e\\x7d\\x07\\x4c\\x36\\x2d\\xf2\\x3f\\x70\\xeb\\x4d\\xeb\\x7a\\x5f\\xb7\\x71\\xd2\\xd5\\x05\\xf0\\x98\\x03\\x25\\xa6\\x56\\x0f\\x1d\\xd0\\x67\\x48\\xbf\\x41\\xf1\\x44\\xf2\\xb2\\x46\\xf3\\xac\\x79\\x37\\x37\\xf7\\xbb\\x71\\xc2\\xe8\\xee\\x43\\xca\\x66\\x2a\\x31\\x84\\x5a\\x54\\x86\\xfe\\x4c\\xe8\\x2f\\x85\\x03\\xa4\\x1f\\x0b\\x7d\\x7a\\x31\\xec\\x72\\xd9\\x4a\\x45\\x1f\\x5f\\x46\\xac\\xfe\\xe8\\xde\\xe8\\x73\\xd1\\xe3\\x51\\xbc\\x3d\\x0a\\x57\\x47\\xe1\\x80\\xe8\\xe8\\xe8\\xbc\\x28\\xd6\\x45\\xe1\\x8c\\xe3\\xd1\\x6f\\xa2\\xbf\\x45\\xf1\\x1f\\xa2\\xf0\\x91\\x28\\x9c\\x1f\\xbd\\x33\\x7a\\x7f\\x14\\x0f\\x8a\\x8e\\x8b\\x5e\\x17\\xc5\\xbd\\xa3\\x10\\x46\\x97\\x8c\\x9f\\x98\\x5c\\x18\\x85\\x43\\xa3\\xcd\\xd1\\xe9\\x51\\xdc\\x93\\x5d\\x1e\\xa5\\xc9\\x94\\x5c\\xd4\\x11\\xed\\x16\\xc5\\x7d\\x2e\\x44\\xe1\\x87\\x51\\xb8\\x35\\x0a\\x97\\x13\\x6c\\x51\\xd8\\x2f\\x3a\\x32\\x3a\\x39\\x8a\\x7d\\xd1\\x8a\\x68\\xcf\\x28\\x36\\x47\\x21\\x5a\\x12\\x5d\\x1f\\x3d\\x18\\x3d\\x16\\xe5\\xcc\\xd1\\xa2\\xe8\\xd0\\x28\\x3e\\x1a\\x3d\\x1b\\x45\\x20\\x3a\\x31\\x8a\\x44\\x6c\\x23\\xde\\x0b\\x59\\x01\\xa8\\x1a\\x68\\x06\\xd3\\x01\\xa7\\x23\\x6e\\xa3\\xd7\\xe8\\x2d\\x3a\\x9d\\x02\\x85\\x50\\xa9\\xdf\\x5a\\x52\\xc8\\x15\\x16\\x7a\\x3f\\x2f\\xd2\\xc7\\xf5\\x8d\\xfa\\x03\\xfa\\xa3\\xfa\\x77\\xf5\\x1a\\xb3\\x9e\\xfe\\x49\\x06\\x40\\xaf\\x37\\x1a\\x85\\xd3\\x29\\xe3\\x17\\x1d\\xfa\\x14\\x64\\xdb\\x14\\x64\\xbc\\x18\\x16\\xd0\\x99\\x39\\xb3\\x79\\x56\\x76\\x0b\\xb1\\x82\\x5a\\xcc\\x15\\xcd\\xf9\\x1b\\x8d\\xed\\x76\\x90\\xa9\\xef\\x99\\xd7\\xce\\x40\\xd9\\x6a\\x63\\xa1\\x11\\x4d\\x24\\x98\\xdf\\xc9\\x00\\x0e\\x6e\\x98\\x74\\xcd\\x45\\x0d\\xfd\\x26\\xd9\\x17\\x5d\\xdc\\x3a\\x7d\\xcd\\x5f\\x06\\x5e\\x7e\\x68\\x83\\x7c\\xa1\\x78\\xa9\\x6e\\xdc\\xa5\\xa3\\x9b\\xc7\\x0e\\xe9\\xcd\\x79\\x47\\x24\\xab\\x1b\\x07\\xf4\\xf5\\xfe\\x79\\xe6\\xe5\\x4f\\x55\\x22\\x63\\x73\\xbf\\xf9\\x1b\\xbe\\xb5\\x24\\x2f\\x4d\\x0d\\xae\\xbb\\x88\\x8e\\xdb\\x01\\xee\\x49\\xb4\\x32\\x93\\xb7\\x86\\x80\\xa0\\xe1\\xd1\\xe6\\x71\\x66\\x3e\\xce\\x37\\xf2\\x8b\\xf9\\xb3\\x3c\\xcf\\xe7\\xe5\\xad\\xd9\\xeb\\xed\\x09\\x01\\x1e\\xc0\\xe9\\x4f\\x78\\x79\\x15\\xf7\\xa4\\x03\\x16\\xf9\\xe5\\x6f\\xc9\\xfc\\x6f\\x93\\xc7\\x70\\xfd\\xb9\\x1e\\x20\\x08\\x77\\x48\\x1e\\x2f\\x61\\x8a\\x68\\x30\\x84\\x41\\x11\\x8f\\x31\\x22\\x66\\x26\\x82\\xc4\\x56\\x0d\\x85\\x69\\x7c\\xcf\\x32\\x7f\\x49\\xf2\\xeb\\x30\\x7c\\x2f\\x0c\\x5f\\x0e\\xc3\\x96\\x30\\x64\\x1f\\x7a\\x67\\xcc\\x49\\xd6\\x84\\x2f\\x0a\\x0f\\x0f\\xe3\\xe2\\x30\\x44\\x61\\x5b\\x18\\x5d\\xfb\\x65\\xf8\\xc7\\x30\\x22\\xdf\\x4a\\x4f\\x4d\\x9e\\x9a\\x0c\\xd3\\x68\\x9b\\x79\\xe2\\x55\\x49\\x0a\\x83\\xaa\\xc9\\x65\\xec\\xca\\x25\\x92\\x6e\\xec\\xb8\\xe4\\xcb\\xe1\\x0f\\x18\\x24\\x81\\x18\\x3e\\x2a\\x39\\x2b\\x0c\\x47\\x86\\x27\\x87\\xd1\\x45\\x2a\\x44\\xcd\\xa5\\x43\\x92\\x67\\xc2\\xbf\\x84\\xd1\\x87\\x61\\xf8\\x7a\\x18\\x1e\\x0a\\xc3\\xe5\\xe1\\x4d\\xe1\\x87\\xc2\\x78\\x74\\x78\\x4a\\x78\\x5e\\x18\\xf7\\x0b\\xc3\\xba\\x30\\xb4\\x85\\xc3\\x61\\xc4\\x85\\x61\\x8f\\x9f\\xd5\\xcb\\xba\\xd6\\x76\\x4f\\xde\\x13\\x7e\\x24\\x8c\\xe6\\x84\\x97\\x87\\xd1\\x95\\x61\\x08\\xab\\xc3\\x52\\xb8\\x29\\x8c\\xb9\\xb0\\x23\\x5c\\x1c\\xc6\\x3f\\x86\\xe1\\x87\\xe1\\xd3\\x61\\x74\\x8c\\x3d\\xc5\\x2e\\x76\\xd5\\x31\\xa9\\xb7\\x3f\\x92\\x8c\\x87\\xa1\\x25\\x0c\\x09\\xae\\xd3\\xe1\\x73\\xec\\x7b\\xb4\\x3e\\xbc\\x2b\\x7c\\x30\\x8c\\x17\\x87\\xe1\\xc4\\x30\\x1c\\x1a\\x86\\x20\\x4c\\xfc\\x2c\\xab\\x50\\x28\\x34\\xa5\\x5c\\x85\\xae\\x22\\x2f\\x14\\x45\\x62\\xb6\\xd1\\xd8\\x6c\\x0d\\xdd\\x60\\x69\\x68\\x68\\xcc\\xee\\xb1\\xd0\\x9f\\x66\\xe6\\x5b\\x55\\xa8\\x1b\\xd0\\x4a\\x3c\\x30\\xbb\\x31\\xad\\x04\\x03\\x2b\\x66\\xd2\\x40\\x60\\x45\\x45\\x26\\x0e\\x48\\x0b\\xe6\\xf2\\x3c\\x92\\xcc\\x4e\\x0d\\xed\\xaf\\x03\\x13\\xf9\\xdb\\x23\\xaa\\xfd\\x41\\xb5\\x69\\x84\\x19\\xdb\\x18\\xc2\\x92\\xc3\\xb7\\x8b\\xbb\\x67\\x3c\\x5c\\x38\\xaf\\x65\\xbb\\xae\\xc1\\x50\\xe9\\x4a\\x26\\x2e\\xed\\x83\\x96\\xb6\\xf4\\xb9\\xdc\\x3d\\x41\\x1e\\xc3\\xff\\x35\\x3d\\x5c\\x2a\\x39\\xf8\\xe2\\x83\\xe8\\xca\\xd6\\x4f\\x62\\xb1\\xa4\\x76\\xa9\\x63\\xd2\\x15\\x2f\\x94\\x97\\xc8\\x85\\x4c\\x07\\xac\\x97\\x7f\\xe5\\x6a\\x89\\x1f\\x66\\x06\\x5d\\x24\\x37\\xaf\\x41\\xd0\\x0c\\x35\\x7a\\xce\\x62\\xa5\\xad\\xee\\x0e\\xa4\\x04\\xc1\\x88\\x35\\x10\\xd0\\x38\\x78\\xa6\\x1e\\x20\\x1b\\xed\\xb2\\x46\\xd8\\x3f\\x45\\xad\\x87\\x9c\\xb8\\x65\\xc6\\x27\\x33\\xf7\\xbc\\xfc\\xda\\x7e\\x94\\xe0\\x7d\\xbf\\x7d\\xae\\x89\\xfc\\xf6\\x39\\x7e\\xf1\\xb9\\xc7\\xf6\\x1e\\x9d\\xc2\\xee\\x73\\x89\\x3c\\x06\\x7e\\x49\\xde\\xd9\\xc1\\x45\\x52\\xd4\\x6e\\x13\\x6c\\x18\\x3b\\x1d\\xc0\\xbc\\x26\\x05\\x68\\x57\\x30\\x00\\xf4\\x66\\x5b\\x91\\x8d\\xac\\xc7\\x36\\x5e\\xbf\\x26\\x15\\xe4\\xab\\xf9\\x63\\x3c\\x66\\x72\\x0c\\xd8\\x94\\xa4\\xc6\\x5a\\x46\\x61\\x77\\xad\\x66\\xf5\\xa1\\x21\\x35\\xf0\\xcd\\x0c\\xb4\\xfa\\x04\\xec\\x33\\x6c\\x98\\xfc\\x7e\\x4d\\x77\\x67\\x75\\x74\\xdc\\xa0\\x9b\\x2a\\x4d\\x57\\x5f\\x37\\x91\\x4f\\xf6\\x7c\\x49\\x18\\xa7\\xa9\\xac\\x4a\\xa2\\x27\\x28\\x0d\\xbd\\x89\\xbe\\xbe\\x95\\xd6\\x96\\x40\\x8f\\xe4\\x63\\xfd\\x60\\x56\\x1b\\xe0\\x62\\x03\\x6c\\x32\\x4c\\x34\\xa0\\x6e\\x86\\x7e\\x06\\x64\\x31\\x04\\x0d\\xc8\\xc0\\xb6\\x44\\xe6\\xde\\x9c\\x3c\\x66\\x80\\x0f\\x19\\x5a\\xd8\\x07\\x4b\\x24\\xc7\\x8d\\x33\\x93\\x23\\x0d\\xb0\\xda\\x20\\x19\\x10\\x67\\x70\\x18\\x8a\\x0d\\xf8\\x1a\\xfa\\xc5\\xd3\\x57\\x4e\\x4d\\x3a\\x0c\\x90\\x5e\\xf4\\xd4\\x15\\x93\\x92\\xec\\x62\\xd3\\xb0\\xd1\\xc9\\x25\\x06\\x38\\xd2\\x30\\xd9\\x30\\xc7\\x80\\xd9\\x47\\x7d\\x93\\x83\\x92\\x3f\\x1a\\xe0\\x1c\\xc3\\x26\\xc3\\x43\\x86\\x57\\x0d\\x1f\\x1a\\x4e\\x1b\\x34\\x13\\x29\\x48\\x0e\\x23\\xea\\xfe\\xb8\\x01\\x72\\x04\\x31\\x25\\x65\\x93\\x81\\xa7\\x90\\xe7\\x0c\\x98\\x40\\xa1\\xf7\\x94\\x1b\\x48\\x25\\xee\\xc2\\xa4\\xd9\\xd0\\x6c\\x98\\x6e\\xc0\\x02\\xa6\\xcd\\x6c\\x4e\\xa7\\xf4\\xa7\\xf8\\x46\\x6e\\x28\\x47\\xd6\\x3d\\x8b\\xda\\xce\\xe6\\xb3\\xf6\\xed\\x6c\\x94\\x50\\x40\\xb6\\xc8\\x49\\x11\\x40\\x22\\x79\\x15\\xd9\\x10\\xb4\\x1a\\x07\\x50\\xdb\\x13\\xd8\\x85\\x46\\xd6\\xb9\\xa4\\xb7\\xe3\\xe4\\xbc\\xbf\\x15\\x7c\\xbf\\x70\\xfd\\x9f\\x9c\\x28\\x71\\x1d\\x9a\\xb4\\x6a\\xd9\\x9d\\x69\\xff\\x75\\xac\\x3e\\x86\\xd8\\xe8\\x75\\xc4\\x46\\x37\\x82\\x02\\x50\\x2b\\x05\\x6c\\x3c\\xef\\xf3\\xe8\\xf5\\x85\\x82\\xe9\\x74\\x4a\\xf8\\x02\\x38\\x4e\\xa7\\xd6\\x03\\x48\\xac\\xbd\\x20\\x98\\x48\\x80\\x99\\xf9\\xfd\\xbb\\x86\\x3f\\x2c\\x9c\\x6c\\x53\\x8c\\x6a\\x84\\x59\\xd5\\xb5\\x52\\xa0\\x5d\\x0a\\x37\\x6e\\xd8\\x6e\\xec\\x07\\x87\\xd3\\xdf\\xa7\\x9b\\xaf\\xef\\xb3\\x6b\\xd2\\x8d\\x8d\\x63\\xd0\\xea\\xed\\x77\\xf5\\xec\\x0f\\xaf\\xa4\\xbf\\xe5\\x1d\\x68\\x77\\xf3\\x3b\\xa3\\x5b\\xae\\xfa\\x78\\xc4\\x84\\x21\\xcc\\x36\\xe0\\x89\\xad\\x5c\\xa2\\xda\\xca\\x03\\xa5\\x72\\xb3\\xc9\\xa4\\xd3\\x5b\\x0c\\x1a\\x5a\\xa5\\x8a\\x05\\x01\\x1a\\xf4\\x9c\\xcd\\xae\\x27\\x50\\x67\\xc7\\x99\\xa8\\x96\\x9c\\x4e\\xb4\\xe4\\x51\\xfe\\x14\\xaf\\xe1\\xb3\\x76\\x72\\x46\\xac\\x13\\xd9\\x5c\\x20\\x62\\x96\\x46\\xea\\x69\\xd2\\x2f\\x14\\x60\\xe6\\x0d\\x5a\\xb2\\x43\\x80\\x5b\\xc8\\x84\\xd9\\x06\\xf5\\x86\\xd6\\x35\\xbb\\x94\\x3f\\x76\\x40\\xc1\\xb0\\xb6\\x0c\\x4e\\x87\\x73\\x9c\\xf2\\xda\\x46\\x79\\x63\\xf6\\x2d\\xa0\\xf1\\xcd\\x89\\x00\\x68\\xaa\\xf9\\xa5\\x96\\x52\\xb0\\x30\\x02\\x2c\\x65\\x42\\x1a\\x93\\xcf\\xad\\x82\\x96\\xc7\\x13\\xd2\\xef\\x00\\xdd\\x53\\x18\\x59\\x3d\\xa0\\xb1\\xb6\\x96\\xc2\\xc6\\x09\\xec\\x4c\\x05\\xf6\\x67\\x05\\xd6\\x48\\x61\\xc1\\x1c\\xbc\\x9a\\xc0\\x0a\\x87\\x90\\x99\\x82\\x02\\x86\\x77\\x25\\xc3\\xbb\\x96\\xc0\\xce\\x1d\\xf1\\x7b\\xbc\\x2e\\xc9\\x80\\x51\\x95\\x07\\x36\\x46\\xe1\\x59\\xb2\\xfa\\x5a\\xc7\\xcf\\xac\\x65\\x37\\x21\\x76\\x94\\xfc\\x30\\x67\\xe6\\x7a\\xb2\\xbe\\x05\\x93\\xa5\\x1e\\x0e\\x6c\\x10\\x8b\\x82\\x05\\x3e\\x5f\\x50\\x24\\x8a\\x32\\xe2\\x00\\x80\\x75\\x2e\\x08\\x4a\\xa1\\xe0\\xf6\\x71\\x21\\x33\\xdd\\x5c\\x0e\\x16\\x48\\x05\\x4d\\x05\\x7c\\xb6\\x79\\xc1\\x74\\x00\\x9b\\x68\\x28\\x83\\x36\\x67\\xc8\\x66\\xb3\\x76\\xde\\xc3\\x20\\x3b\\xd4\\xd4\\x88\\x21\\x2c\\xa4\\xcd\\x0c\\x50\\xc6\\xbd\\xd4\\x70\\x76\\x1a\\xa6\\xfd\\xa9\\x7d\\x17\\x83\\x69\\x57\\xc4\\xd5\\x2e\\x06\\xf2\\x4f\\x2f\\x97\\xbd\\x52\\x26\\x3f\\xcc\\xba\\x18\\x0c\\x0a\\xab\\x5d\\x0c\\x7a\\x8e\\xb8\\xf2\\x22\\xb5\\x8b\\x01\\x7f\\x0f\\x8d\\xe9\\xb6\\xb5\\xb5\\xed\\x27\\xb6\\xe1\\x7f\\x34\\x3f\\xda\\x4a\\x41\\xb1\\x8d\\xf2\\x20\\x0d\\x6b\\xa8\\xa6\\x91\\x44\\x64\\xe2\\x4b\\xd1\\xbf\\xcd\\x36\\x4e\\x28\\x81\\x15\\xb5\\xa0\\x42\\xe1\\xdd\\xef\\xe0\\x65\\x48\\x8b\\x3c\\x9d\\x2d\\x0c\\xfc\\x59\\xb8\\xb8\\xc5\\x64\\xcd\\x5d\\x91\\x85\\x97\\xb3\\xf0\\x6d\\x70\\x98\\x02\\x6f\\x66\\xf0\\xc6\\x16\\x87\\xa9\\x23\\x3c\\xaf\\x15\\x34\\x19\\x78\\x1d\\x82\\x13\\xf2\\xf1\\xd7\\xb5\\xb8\\xc3\\x9d\\xe0\\x3f\\x94\\x85\\x87\\x90\\x1e\\x63\\xec\\x7d\\x1a\\xd3\\x0b\\x30\\xb9\\xa2\\xa6\\xc5\\x66\\x51\\xae\\xa0\\x97\\xb0\\x6b\\x58\\x2f\\x00\\xcd\\x05\\x7a\\x0d\\x1d\\x77\\xb4\\x0d\\xee\\x24\\x32\\x51\\x25\\x39\\x31\\x8a\\x90\\x35\\x7c\\xb3\\x03\\x8e\\x70\\xc0\\x84\\x03\\x3a\\x1c\\x90\\x77\\xc0\\x67\\xa1\\x27\\x43\\x24\\xd3\\x00\\xb5\\x8a\\x38\\x00\\xd4\\x76\\x00\\x00\\xad\\x9d\\xe9\\x7f\\x07\\xb8\\x4f\\x1a\\x61\\x47\\xd8\\x8a\\xc9\\x2f\\xde\\x6a\\x05\\x06\\x9d\\x51\\xab\\x85\\x0e\\x8b\\xc5\\x08\\xf4\\x26\\x80\\x39\\x8d\\xc6\\x45\\x3c\\x4e\\xa7\\x55\\x6b\\xe1\\x2d\\x13\\x53\\x08\\x3a\\x60\\x73\\xca\\xee\\xd0\\x19\\x9a\\x53\\x47\\x74\\xf0\\x4e\\x1d\\xbc\\x99\\x26\\x23\\x42\\x2d\\x76\\xe8\\x1c\\xc4\\xa3\\xc0\\xc0\\xd8\\x9c\\xe2\\x94\\x1a\\xdf\\x1a\\x65\\x13\\xa5\\x21\\x9e\\x2d\\x0e\\x07\\x89\\xcc\\xff\\xd9\\x4a\\x09\\x25\\x61\\x94\\x40\\xd5\\x64\\x62\\x92\\xe4\\xc5\\x72\\xc7\\xb1\\x63\\xac\\x0c\\x19\\x46\\xf2\\xca\\xc8\\x61\\x44\\x80\\x21\\xdc\\x3c\\x2c\\xfd\\x95\\xfc\\xcd\\x5b\\xf8\\x28\\xf7\\x70\\x20\\xed\\x1f\\x8b\\x1e\\x0d\\xa4\\x53\\xcd\\xd8\\x50\\x94\\xae\\xb8\\x77\\xa5\\xfc\\x22\\xfc\\x44\\x69\\x5f\\xa0\\x96\\x97\\x73\\x3f\\xfc\\x59\\xf6\\x91\\x79\\x33\\x93\\xac\\x88\\x1f\\xf0\\xf7\\x10\\xbe\\x95\\xb2\\xb9\\xb5\\x00\\xde\\x4e\\x78\\x6d\\x7a\\x8e\\x98\\x44\\x37\\xb7\\x14\\x07\\x05\\x13\\xe5\\x32\\x81\\x63\\x75\\xf0\\x4c\\x46\\xa2\\x40\\x91\\xa9\\x4a\\x45\\xa6\\x88\\x73\\x5c\\x0a\\x67\\x18\\x2d\\x00\\xe5\\xcb\\xd4\\xef\\xe0\\x65\\xf8\\x56\\x1e\\xfc\\x0f\\x06\\x73\\xa7\\xf0\\x72\\x16\\xbe\\x0d\\x5e\\xae\\xc2\\x1b\\x09\\xfc\\x66\\x9b\\xa1\\x53\\xf8\\x43\\x19\\x78\\x22\\x23\\x14\\xde\\x2d\\x11\\x07\\x88\\xdc\\x00\\xc1\\x87\\x2d\\x26\\xe5\\x0a\\x45\\x42\\xd8\\x35\\xb4\\x1e\\x7b\\x24\\xa3\\xa9\\x52\\x79\\x86\\xb6\\x85\\xea\\x3d\\x38\\x72\\x8f\\xcb\\x79\\x6d\\x87\\x7b\\x0c\\xa3\\x67\\xc8\\x67\\xe1\\x35\\x5a\\x79\\x12\\x95\\x5a\\x06\\xfc\\x2c\\x2c\\x6a\\xe1\\x84\\x4e\\xe0\\x0b\\xd8\\x33\\x28\\xf0\\x6d\\x2f\\x2a\\xd8\\x79\\x72\\xc1\\x26\\x3d\\x97\\x83\\x56\\x61\\x45\\x46\\x3f\\x83\\xd5\\xc1\\x57\\x55\\xea\\x39\\x4a\\xfd\\x5e\\xad\\xa6\\x1d\\xf5\\x88\\xe6\\x0d\\xf1\\xf7\\xb3\\x1a\\x46\\x1f\\xb8\\x5a\\xea\\xe9\\xc6\\x3a\\x83\\xd5\\xc4\\xf9\\xb4\\x3e\\xa3\\xd1\\xa6\\xc5\\x5a\\x7f\\xa1\\x55\\x67\\xd0\\x35\\xa7\\x4c\\x66\\xc3\\x50\\xc3\\x62\\x03\\x36\\x1b\\x1a\\x0d\\x07\\x0c\\xa7\\x0c\\x9c\\x1d\\x1b\\x0c\\x36\\xa3\\xd1\\xd7\\x9c\\x32\\x62\\xad\\xad\\x5d\\x9b\\x04\\xd5\\xba\\x9f\\x99\\xc8\\xab\\x6c\\xcc\\xaf\\x24\\xc8\\x34\\x4f\\xa0\\x69\\x31\\x3e\\x45\\xda\\x94\\x22\\xcd\\x48\\x08\\xb5\\xd2\\x26\\x0a\\xaf\\xc9\\xcb\\xfe\\x95\\xfe\\x74\\xd1\\x96\\xc0\\x96\\x79\\x03\\xe1\\x3d\\x01\\xf9\\xda\\x89\\xb0\\x5a\\xe9\\xa6\\x20\\xff\\x47\\x69\\xa7\\xf0\\xad\\xbc\\xf5\\x4d\\x74\\xc7\\x16\\x34\\x31\\xbd\\x6b\\x8b\\x6c\\x53\\x9b\\x2a\\x64\\xc7\\xef\\x4d\\xa6\\x13\\xba\\x02\\x45\\x27\\xdc\\xa5\\x8e\\x05\\x99\\xe3\\xf0\\x69\\x77\\x98\\x37\\xb4\\xe3\\x2d\\xab\\xcd\\x65\\x63\\x51\\xa3\\xca\\xdf\\x10\\x55\\xa7\\x15\\x12\\x86\\x75\\xf1\\x07\\xf5\\xf8\\x7f\\xc2\\xcb\\xa8\\x24\\x0f\\xfe\\x6f\\x85\\x45\\x9d\\xc2\\xcb\\x59\\xf8\\x36\\xb8\\x59\\x85\\xf7\\x13\\xf8\\x1b\\xc2\\x85\\x9d\\xc1\\x33\\xfa\\x6b\\x54\\xfa\\x5f\\xca\\xc3\\x7f\\xb8\\xa4\\xba\\x53\\xfc\\x87\\xb2\\xf0\\x10\\x3e\\xa0\\xc8\\x2b\\xa6\\x17\\x60\\xb4\\x32\\x18\\x50\\xae\\xc8\\xc8\\x2b\\x59\\x52\\xf6\\x81\\xaf\\xb8\\xde\\xdc\\x6c\\xe2\\xe3\\x97\\x48\\x36\\x8d\\x96\\xd3\\x13\\xeb\\x01\\xea\\xc9\\x9a\\x66\\x34\\x00\\x1a\\x9b\\xf6\\xc6\\x67\\xb6\\x6b\\x90\\x63\\x27\\xcb\\xb2\\x0e\\xba\\x75\\x90\\xa0\\xdf\\x07\\xaf\\x94\\x77\\x5d\\x03\\x27\\xc0\\x09\\xd3\\xe4\\xdd\\x70\\xe2\\x14\\x79\\xa7\\xbc\\x0d\\x5e\\x0a\\xaf\\x84\\x13\\xa7\\xca\\x3b\\x61\\xf3\\x34\\xf9\\x21\\x79\\xd7\\x34\\x38\\x49\\xde\\x0e\\x70\\xdb\\x9b\\x6d\\x6f\\x69\\xb6\\xf2\\x47\\x80\\x13\\x04\\x40\\x19\\x18\\x25\\x55\\xdb\\xfd\\x61\\x2d\\xa7\\x73\\x38\\xc4\\xc2\\x10\\xe0\\x9c\\x7a\\x67\\x4c\\xa7\\xd7\\x47\\xc3\\x85\\x21\\x3f\\xe7\\x2a\\xb6\\xba\\x88\\x10\\x89\\xc0\\xce\\x69\\x1c\\x56\\x4e\\x53\\xdc\\x9c\\xd2\\x69\\xec\\xb4\\x5a\\x07\\x28\\xb9\\xee\\xb9\\x74\\x35\\x55\\x94\\x6a\\xd4\\x1d\\x05\\x97\\x93\\x56\\x49\\x87\\xcb\\x84\\x48\\x89\\x5a\\x53\\xe0\\xae\\x4f\\xf0\\x2c\\x0e\\xe4\\x86\\xa5\\xf6\\x6e\\x65\\x90\\xd5\\x00\\xf3\\xeb\\xa6\\xb2\\x7a\\xe9\\xd6\\xfb\\x1f\\x78\\x01\\x72\\x53\\x4f\\xc2\\x05\\x3f\\xfc\\xba\\xed\\xd1\\x63\\xad\\xad\\xb4\\xf8\\xb7\\x0b\\x9e\\x72\\xc3\\x77\\x5d\\x5a\\xb7\\x4c\\x7b\\x96\\x16\\x01\\x73\\x87\\x37\\xbc\\xcf\\xaa\\xa7\\x6f\\xd9\\x2e\\x6f\\x3e\\x45\\x4b\\x7f\\x17\\x3f\\xf8\\x22\\x2d\\xfe\\x5d\\xd9\\x8c\\x87\\x4f\\x90\\x47\\xac\\x98\\xd0\\x7a\\x70\\xdc\\x7e\\xaa\\x17\\x08\\xff\\x59\\x7d\\x28\\x93\\x87\\xee\\xaa\\xfc\\xa4\\x54\\x79\\x73\\x11\\x79\\xeb\\xe5\\x2e\\xc0\\xb6\\x76\\xe3\\xd5\\x11\\x5e\\x86\\xad\\x79\\xf0\\x2f\\xba\\xbc\\x9d\\xc2\\xcb\\x59\\xf8\\x36\\xb8\\x42\\x85\\x77\\x13\\xf8\\xe6\\x42\\x57\\xa7\\xf0\\x87\\x32\\xf0\\x44\\x1e\\x96\\x65\\xf4\\x97\\x8b\\x6a\\x80\\x1b\\x0a\\x3c\\xca\\x15\\x79\\xfa\\x8b\\xd5\\xf7\\x31\\x9a\\x7a\\xa9\\x34\\x1d\\x52\\xef\\xa1\\x23\\xf7\\x18\\xad\\x23\\x46\\x70\\xee\\x1e\\x6a\\xdd\\xb3\\x8f\\xf5\\x68\\x70\\x80\\xfe\\x52\\x99\\xc1\\xe8\\xe0\\x38\\x0c\\x31\\x42\\x00\\x5a\\xb4\\x50\\xeb\\x74\\x19\\xc9\\x5a\\xc5\\x39\\x9a\\x53\\x66\\x63\\x91\\x11\\x19\\x89\\x87\\x83\\xd8\\xfa\\xd4\\xc8\\xb6\\x8c\\xf2\\x9b\\x70\\x66\\xf6\\x85\\x12\\xb4\\xae\\x2e\\xa4\\x56\\x93\\xd7\\xab\\xa5\\xe4\\x32\\xed\\x81\\xd1\\x15\\x5e\\xf2\\x3d\\xd4\\x2a\\x05\\xe5\\x81\\x5c\\x31\\x79\\xeb\\x89\\xe7\\x3e\\xbb\\x70\\x2f\\x2b\\x24\\x27\\x5e\\x63\\xdb\\x5f\\xb9\\x25\\xfc\\x09\\x50\\x0d\\xc6\\x4a\\xd5\\x11\\x83\\xc1\\x13\\xab\\xae\\x06\\x7e\\x6b\\x4c\\x10\\xac\\x00\\x77\\xad\\xf1\\x1b\\xe2\\x30\\xc6\\x73\\x0e\\x47\\x41\\x53\\xca\\xec\\x81\\x66\\xec\\xf1\\x38\\x5c\\x5c\\x65\\x53\\x8a\\x23\\x57\\xb0\\xec\\xf0\\x76\\xd9\\x87\\xee\\x0e\\xcd\\x72\\x94\\x9c\\x71\\xbb\\xda\\x36\\x51\\x89\\x47\\xbb\\xb3\\x5b\\x30\\xae\\x4c\\x46\\x22\\xa4\\x5b\\x30\\xcc\\xb2\\x66\\x5b\\xab\\xe1\\x37\\xe3\\x90\\xff\\xec\\xc9\\x8f\\xb6\\x4e\\xec\\xd9\\x67\\xe8\\x9a\\x3f\\xbf\\x34\\xfa\\xc1\\xea\\xee\\x73\\x6e\\xbb\\x71\\x9e\\x74\\xe9\\xc0\\x8b\\x86\\x0c\\x1e\\x3e\\xe0\\xe6\\x29\\x1b\\x1e\\x0a\\xbe\\xce\\xe1\\xef\\x3f\\xdb\\x7d\\xeb\\xbd\\xd3\\xfa\\xf6\\x29\\x8e\\x8e\\x1a\\xb8\\x6c\\xcd\\xce\\x43\\x41\\xf7\\xba\\xba\\xab\\xc6\\x75\\x9f\\xda\\xb7\\xf1\\xba\\x86\\xc1\\xb3\\xaa\\xaa\\x53\\x3d\\xfa\\x8f\\xdd\\xf9\\x60\\x2b\\xa6\\xe3\\xd4\\xad\\xed\\x3b\\x2e\\xc1\\x9f\\x26\\xe3\\xd4\\x4f\\x43\\xd7\\xd4\\x8b\\xe1\\x28\\x55\\x37\\x74\\xb7\\x96\\xa2\\x09\\x0d\\xbd\\xc4\\xb2\\x76\\xb2\\xd0\\x11\\x7e\\x1e\\xbc\\x21\\x0f\\xfe\\xa3\\xee\\x3d\\x3b\\x85\\x3f\\x99\\x81\\x47\\x2b\\xa1\\x4e\\x85\\x6f\\x20\\xf0\\xd3\\xfb\\x74\\xef\\x04\\x7e\\x00\\xff\\x42\\x16\\x7e\\x07\\x74\\xe4\\xe1\\xdf\\x24\\x0d\\xea\\x14\\xff\\xc2\\x2c\\x3d\\xd7\\x42\\x7d\\x46\\x57\\x91\\x0b\\x30\\xba\\xa3\\x57\\x0f\\xe5\\x8a\\x3c\\xd9\\x64\\xd7\\x68\\x66\\x67\\xef\\xb1\\x0d\\x86\\x33\\xd7\\xf4\\xa4\\xd7\\xec\\xcd\\x50\\x95\\xd5\\x6f\\x18\\x04\\x89\\x4e\\xfc\\x80\\xbb\\x8c\\xd8\\xf9\\xbd\\x40\\x3f\\x70\\xb7\\x94\\xa8\\x36\\x17\\x80\\xb2\\x7e\\x9a\\xde\\xb5\\xbd\\x2b\\xb5\\x3a\\x5d\\x65\\x28\\x5c\\xeb\\x72\\x85\\x2b\\xf1\\x80\\xfe\\x7d\\x03\\x25\\x81\\xa6\\x14\\xad\\x70\\xea\\x07\\x9a\\x52\\xfd\\xfa\\x79\\xbd\\x5d\\x87\\xa5\\xbc\\x5e\\x5b\\xac\\xec\\xd9\\xb6\\x7f\\x48\\x3e\\x9d\\x29\\x59\\x56\\xd2\\x14\\x82\\xe6\\x10\\x14\\x71\\x28\\x54\\x62\\xe1\\xbb\\xdb\\xba\\x13\\x21\\x32\\xd8\\x68\\xd2\\x6a\\x22\\x6f\\x43\\x9e\\xb6\\xd0\\x4a\\xb0\\x9d\\x0e\\xb6\\xef\\xd1\\xae\\xb2\\xbf\\x5d\\xe3\\x68\\x45\\x69\\xb5\\x2f\\x85\\x2a\\x53\\x9a\\x70\\x66\\xca\\x0c\\xb3\\x11\\x48\\xb7\\xda\\x2c\\x59\\x28\\xc9\\x98\\xf3\\xc4\\xb8\\x2f\\x51\\xab\\xa5\\xf0\\xe7\\x1a\\xbc\\x70\\xfe\\x98\\xb5\\x95\\xab\\x2e\\xf9\\x70\\xf3\\xbd\\x2f\\x46\\x26\\xfd\\x78\\x57\\xf3\\xba\\x21\\xd0\\x0c\\xcb\\x7f\\xb0\\xbf\\x77\\xcb\\x62\\xff\\xa1\\xf8\\xdf\\x5f\\xf9\\x62\\xea\\x2d\\x9f\\xbf\\xf2\\x67\\xb3\\xb6\\x75\\xf6\\x3b\\x1b\\x1f\\x18\\x32\\xfe\\xb2\\xab\\x1f\\x9f\\x6d\\x41\\x32\\x37\\x6f\\xfa\\xc2\\x3d\\x61\\xa5\\xa0\\x6a\\xdc\\xd8\\xc6\\xe5\\x37\\xad\\x59\\xb2\\x7a\\xe9\\xe0\\x3b\\x47\\x3d\\xf7\\x02\\x8f\\xaf\\xf4\\x1f\\x1a\\x39\\xd6\\xbf\\x71\\xc5\\x8e\\x1d\\xef\\x1d\\xa9\\x5e\\x18\\x2e\\xe2\\xb8\\xba\\xeb\\x86\\x0e\\xb9\\x22\\x75\\xff\\xe8\\x57\\x93\\xb7\\x2c\\x7f\\x6c\\x07\\x1b\\x93\\x8b\\xe5\\x31\\xb4\\x26\\x8f\\x8c\\xc9\\x00\\xc5\\xb6\\x03\\x59\\xdb\\x6e\\x79\\x4b\\xb0\\x50\\x6b\\x56\\x6d\\x3b\\x56\\x57\\xc6\\xe4\\x2f\\x09\\x14\\x79\\x2d\\x57\\xe5\\x23\\x44\\xe4\\xa3\\x3a\\x5c\\x62\\x76\\xb5\\x93\\x8f\\x8e\\xf0\\xf3\\xe0\\x94\\x3c\\xf8\\xb7\\x42\\xc5\\x9d\\xc2\\x9f\\xcc\\xc0\\x13\\x79\\x45\\x2a\\x7c\\x98\\xc0\\x5f\\x5d\\x16\\xea\\x14\\x7e\\x61\\x16\\xff\\xb5\\xe0\\xa7\\x8c\\x2c\\x85\\xa8\\x2c\\x5d\\x5f\\x12\\x51\\xae\\xc8\\x93\\x3f\\xa2\\xcd\\xe1\\xbf\\x18\\x4d\\xff\\xa2\\xf6\\x14\\xb8\\xb8\\x55\\xb5\\xec\\xac\\xa5\\xb0\\x30\\xdf\\xb2\\x53\\x60\\xd1\\xa9\\x3c\\xd8\\x79\\x63\\x72\\xb0\\x1f\\xe7\\x5b\\x75\\x04\\xb6\\x07\\x81\\x3d\\xc9\\x68\\x67\\xb0\\x68\\xe5\\xf7\\xaa\\x4d\\x47\\x60\\xaf\\xed\\x60\\xd3\\x51\\xbc\\x1f\\x30\\xba\\x15\\xbc\\xd7\\xfe\\x96\\xb1\\xe9\\xc8\\x63\\xc2\\xbb\\x7e\\x67\\xd3\\x5d\\xdc\\xf6\\x13\\x17\\x20\\xfa\\x30\\x00\\xba\\x80\\xeb\\xa4\\xa8\\x1f\\x03\\x42\\xa9\\x46\\x10\\x23\\x11\\x5b\\x85\\x57\\xb4\\x89\\xf1\\x6a\\x57\\x51\\x53\\xca\\xeb\\x2a\\x24\\x72\\xcf\\x69\\xfc\\x6a\\x33\\x48\\x3f\\x0d\\x7c\\xd8\\x89\\xc8\\xbb\\xfc\\x2e\\xbf\\x19\\x99\\x4b\\x89\\xa0\\xbb\\x34\\x1a\\xc2\\x52\\x22\\xe2\\xb9\\xcd\\xd0\\xdc\\x8e\\x4c\\x45\\x7b\\xdb\\x8e\\xe6\\x8e\\x97\\x25\\x5c\\xee\\x12\\x33\\x74\\xd9\\xd4\\x5a\\xd1\\x4c\\x0a\\x7c\\x17\\x58\\xc6\\xd7\\xdb\\x73\\x4d\\xdf\\xe8\\x9e\\x34\\x9a\\x39\\xf1\\xaa\\x83\\x43\\x86\\x42\\xc1\\xbe\\x77\\xee\\xe4\\xa5\\x3f\\xbe\\xfc\\xc6\\x57\\x4b\\xbf\\xdb\\x3f\\x74\\x43\\xc4\\x9e\\xea\\x21\\x9f\\x75\\x6e\\xbf\\xf9\\xbe\\xa6\\x5b\\xe7\\x4e\\xb8\\x2d\\xd5\\xad\\xef\\x3c\\xbe\\xfa\\xf2\\x8b\\xca\\x1a\\xa7\\x5c\\x7f\\xf1\\x6a\\xf9\\xdb\\x87\\x3e\\x90\\xef\\x79\\xfc\\xeb\\x63\\xbb\\xa0\\x7d\\x6d\\xcf\\x2e\\x33\\x5f\\xbd\\x68\\xe6\\xcd\\xf2\\x94\\x19\\xff\\x9c\\x7e\\xdb\\x9a\\x7e\\x6b\\xbf\\x1e\\x5e\\x7f\\x65\\x0f\\xca\\x2f\\x5a\\xe3\\x71\\x09\\xd3\\x4b\\xc3\\x80\\xa2\\x97\\x9c\\xea\\x7a\\x56\\x48\\xb8\\xbb\\xaf\\x38\\xae\\xf7\\xb4\\x93\\x8b\\x81\\x44\\x2e\\xba\\xb3\\x71\\x1b\\xae\\xea\\xd5\\x6e\\x19\\x1b\\x8d\\xca\\x69\\x20\\xa4\\x05\\xff\\x13\\x3e\\x27\\xa7\\x14\\xfe\\x25\\x7f\\xb0\\x53\\xf8\\x93\\x19\\x78\\x22\\xa7\\xa2\\x0a\\x1f\\x20\\xf0\\x93\\x23\\xfe\\x4e\\xe1\\x5f\\xc8\\xc2\\xef\\x00\\xff\\xce\\xc3\\x7f\\x6d\\x49\\x75\\xa7\\xf0\\x0b\\xb3\\xf4\\x5c\\x0b\\xd2\\x19\\xb9\\xf6\\x53\\xb9\\xbe\\x21\\x54\\xa4\\x5c\\x91\\xa7\\x23\\x87\\x83\\x53\\x5c\\x2d\\x37\\x97\\xed\\xd3\\x8b\\xa0\\xab\\x14\\xd0\\xea\\x9e\\x48\\x01\\x6d\\x93\\x16\\x11\\x7b\\x9e\\x93\\xe8\\xde\\x0e\\x04\\x4f\\xa4\\x86\\xc2\\x9d\\x10\\x41\\xda\\x9b\\xfb\\x1d\\xb2\\x70\\x67\\x7b\\x44\\x92\\xb1\\xae\\x4d\\xb0\\xdd\\x1b\\xf6\\x7a\\x76\\x4f\\xfa\\x0f\\xf8\\xaf\\xe9\\x23\\x7b\\xf0\\x8b\\xcf\\x3c\\x23\\xef\\xbe\\xfb\\x6e\\x79\\xf1\\x33\\xcf\\x28\\xf7\\xa9\\x6c\\xfb\\x0b\\xd7\\xc2\\x5d\\xa1\\xda\\x80\\x37\\x4a\\xfd\\xec\\x61\\x2f\\xb5\\x01\\x75\\x7a\\x87\\xd3\\x09\\x3c\\x21\\x51\\xaf\\x89\\x45\\x1d\\x2e\\x87\\xa7\\xd8\\x83\\x34\\x1e\\xe8\\x0f\\x55\\x85\\x10\\x26\\xfa\\xd6\\xcc\\x7b\\x43\\x9e\\x30\\x57\\xec\\xb3\\x16\\x37\\xa9\\x76\\xa1\\xd5\\xa5\\xb3\\x68\\x7c\\x4d\\x29\\x8d\\x5a\\x20\\xd8\\x98\\x35\\x0b\\xd5\\x0a\\x25\\x4f\\x63\\x4e\\xdb\\x32\\x81\\xac\\x57\\x6b\\x60\\x88\\x45\\xc8\\x32\\x6d\\x50\\x88\\xda\\x89\\x90\\x1a\\x86\\x34\\xd7\\xab\\x44\\x31\\x0e\\xeb\\x6c\\xc7\\x07\\xd3\\x7a\\x98\\xdd\\xd3\\x06\\x3c\\x7a\\xf7\\xa5\\x05\\x37\\xca\\x7d\\xb7\\x5c\\xd3\\xf4\\x28\\xd4\\x9b\\x51\\x61\\xe3\\x35\\x77\\x3c\\x78\\x39\\xba\\xc5\\x94\\x3e\\xdd\\x38\\x6d\\xe5\\xd6\\xd4\\x86\\x1b\\x1e\\xa6\\xe5\\x31\\x17\\x0f\\xdf\\x3b\\xf5\\x81\\x6b\\x6f\\x94\\x03\\x97\\x4c\\x80\\xaf\\x0f\\xac\\x43\\xb3\\x6b\\x57\\xcb\\x67\\xee\\xb8\\x28\\x91\\x5e\\x5b\\xbf\\x02\\x9a\\x95\\x31\\x61\\x39\\xfb\\x4c\\x46\\xc6\\xaa\\xba\\xef\\xa2\\x3c\\x19\\x24\\x7e\\x85\\x47\\xdf\\x6e\\x0c\\x3b\\xc2\\xcf\\x83\\x37\\xe6\\xc1\\x3f\\x57\\x58\\xd4\\x29\\xfc\\xc9\\x0c\\x3c\\x91\\x29\\xb7\\x0a\\x4f\\x86\\x1c\\x4e\\x0c\\x17\\x76\\x0a\\xbf\\x30\\x8b\\xff\\x5a\\x68\\xcd\\xd8\\x85\\x85\\x54\\x8b\\xcc\\x0a\\x06\\x94\\x2b\\x72\\xba\\x4f\\xc9\\xa1\\x66\\x34\\x5d\\xa1\\xd2\\x94\\x54\\xef\\xe1\\x21\\xf7\\xf8\\xd6\\xe3\\x43\\xf6\\x7c\\xbb\\x50\\xa9\\x11\\x52\\xeb\\xa1\\x87\\x48\\xb1\\x62\\x87\\x23\\x6a\\xf4\\x63\\xac\\xd5\\xeb\\x75\\xb4\\x55\\x49\\x19\\xf6\\x1b\\xb1\\x15\\x58\\x3d\\x4d\\x29\\xab\\x45\\x4f\\xdb\\x1c\\xf8\\x40\\xf0\\xbf\\x15\\x0a\\x65\\x3d\\xc6\\x5c\\xb5\\x50\\xb6\\xca\\xf3\\x7f\\xd7\\x0a\\xe9\\xed\\xc3\\x9f\\x82\\xb3\\xd5\\x9a\\xf3\\x4e\\x8a\\x85\\x46\\x4f\\x90\\x53\\xc2\\x5c\\xa5\\xde\\xfc\\xbf\\xd4\\x0a\\x65\\x9f\\x7d\\x61\\xf6\\xd9\\xaf\\x05\\x9f\\x64\\xf8\\xe5\\xa1\\xfc\\x5a\\x5f\\x58\\xa0\\x3c\\x7d\\x1e\\xbf\\x94\\x58\\xd1\\x03\\xd9\\x58\\xd1\\x6a\\xf8\\x14\\xbc\\x2c\\x17\\x8f\\x2a\\x6a\\x31\\xb7\\x8b\\x77\\x29\\xfd\\x0c\\xf8\\x11\\xd4\\xb6\\x51\\xe1\\xc5\\x3c\\xfb\\x69\\x75\\x43\\x07\\xfb\\x4c\\xc5\\xff\\x6d\\x06\\xbf\\x8e\\x83\\x2f\\xe4\\xc7\\xbb\\x2e\\x6d\\xb1\\x7a\\x3a\\xc1\\x7f\\x26\\x8b\\x7f\\x0b\\xf1\\xed\\x72\\xf8\\xf7\\xf4\\xbc\\xa8\\x23\\x7e\\x79\\x14\\xed\\x7b\\x99\\xa5\\x7f\\x3b\\xb6\\x91\\x2f\\xc4\\xa7\\x11\\x70\\x10\\xc3\\x8e\\x81\\x32\\x59\\xea\\x22\\x37\\xd3\\x3e\\x0c\\x59\\xbc\\xdb\\x51\\x0c\\xe8\\x29\\x5c\\xb8\\xb1\\x31\\x12\\xc9\\xc1\\xb1\\x3e\\x90\\xcc\\xaf\\x28\\x55\\x7d\\xe5\\x11\\x8c\\x5e\\xe8\\x67\\x91\\x8e\\x58\\x8b\\x5f\\x8d\\x03\\xa9\\xf4\\xd2\\x5a\\xff\\xb3\\x4c\\xde\\x06\\xa8\\xf2\\x36\\x55\\x95\\x37\\x2f\\x91\\xb7\\xef\\xbc\\xaa\\x65\\x01\\xda\\xe3\\x97\\xb3\\xf8\\xdb\\xe0\\x7e\\x15\\x3e\\x40\\x6e\\xb0\\x35\\xe2\\xcf\\x61\\x07\\x19\\xfc\\xdf\\xb0\\x39\\x33\\x40\\x99\\x33\\xe0\\xb4\\x0a\\x5f\\x40\\xf0\\x4f\\x2d\\xf2\\x76\\x8a\\xff\\x91\\x0c\\x7e\\xb4\\x15\\x19\\xc1\\x5f\\x94\\x39\\x46\\xf0\\xef\\xf3\\x17\\x75\\x8a\\xff\\x44\\x16\\xff\\xd6\\x8c\\xde\\x66\\x73\\x78\\xb7\\xd7\\xf7\\xbf\\xe9\\xd7\\x01\\xb8\\x27\\x33\\x87\\x09\\xfe\\x57\\x8b\\x4a\\x3a\\xc1\\xff\\x6b\\x1e\\xfd\\x77\\x82\\x8f\\xf3\\xf8\\xb3\\xd9\\x17\\xea\\x80\\x9f\\xf5\\xb6\\x64\\xf8\\xcb\\x54\\xfc\\xb5\\xea\\xf8\\x3b\\x88\\xc0\\x6c\\x20\\xeb\\x3f\\xee\\x60\\x1f\\xfd\\x93\\x7f\\x83\\x3f\\x61\\x29\\x05\\x97\\x30\\x7e\\x5e\\xc0\\x2f\\x81\\x41\\xc0\\x26\\xe9\\x51\\x25\\x40\\x3d\\x2b\\x2a\\x4c\\x0a\\x39\\x8d\\xb5\\xca\\x1a\\x4b\\xe3\\x46\\x36\\x0d\\xb8\\x1b\\x28\\x3d\\x04\\xfe\\xc9\\x5b\\xc9\\xdc\\x37\\x81\\x2a\\xb0\\x51\\x1a\\x18\\xf0\\x79\\xf9\\x72\\x3e\\x5a\\x54\\x14\\x0c\\x86\\xa2\\x65\\x06\\x9b\\xad\\x2c\\x84\\xc3\\x5d\\xc2\\xf1\\xb2\\xa8\\xb3\\xd8\\x17\\xf0\\x0d\\x4b\\x85\\xcc\\x81\\x78\\xa0\\x31\\x30\\x34\\xc0\\x39\\x71\\x20\\xe0\\x0a\\x16\\x81\\x02\\x97\\x4b\\x4b\\xb5\\x81\\xc5\\x15\\x74\\xcd\\x70\\x2d\\x71\\xad\\x77\\x69\\x44\\xcc\\xaa\\x64\\x8c\\x2e\\x7f\\xd2\\x65\\x29\\x37\\x9b\\x01\\x35\\x49\\xb2\\xd5\\x00\\xcc\\x5f\\x63\\x16\\x38\\x31\\xbc\\x95\\x5e\\xe6\\x4a\\x6f\\x45\\xd8\\x21\\x0b\\x96\\x2e\\x05\\x25\\xed\\xca\\xee\\xdc\\x79\\xd5\\x79\\x2c\\x13\\x51\\xad\\xce\\x52\\xbb\\x2c\\xc0\\xd7\\x72\\xe5\\x77\\x35\\xd9\\x02\\xbd\\x06\\xf9\\x43\\x2f\\xac\\xf4\\xb7\\xf8\\x97\\x7b\\x97\\x1f\\xa3\\xbd\\x16\\x88\\x7e\\x99\\x97\\x5f\\x87\\xb7\\x3a\\x53\\xa9\\x07\\xe3\\xcb\\x36\\x6e\\x5c\\xd6\\x1a\\x53\\x1a\\x2e\\xe4\\xc5\\x15\\x1f\\xc8\\xc4\\x15\\xc9\\x5c\\xff\\x80\\xe8\\x86\\x4c\\xdc\\x72\\x9f\\xb1\\x63\\xdc\\x52\\xb1\\x55\\x47\\x64\\x6d\\xdb\\xd5\\x10\\xe7\\xd9\\xc2\\x0b\\xc3\\x1d\\x6d\\x61\\x05\\xff\\xb7\\xd9\\xb8\\x25\\x07\\x1f\\xce\\x8b\\x8b\\xee\\x24\\x6c\\xfb\\x3d\\xfe\\x0a\\xa6\\x1b\\x92\\xaa\\x6e\\xb0\\xe4\\xe1\\xdf\\x53\\x5c\\xd1\\x29\\xfe\\x47\\xb2\\xf4\\x6f\\x85\\xcf\\xa8\\x73\\x81\\xe2\\x7f\\xc8\\x60\\xea\\x94\\xfe\\x13\\x59\\xfc\\x5b\\xa1\\x46\\xc5\\x5f\\x4c\\xf0\\x6f\\x08\\x45\\x3a\\xe2\\x97\\x47\\xd1\\x7e\\xa8\\x59\\xfc\\xdb\\xd1\\x55\\x19\\x9f\\x62\\x7c\\x8b\\xdd\\xae\\xd7\\x67\\x7c\\x0a\\x79\\x1a\\xed\\x55\\x91\\xc5\\xbb\\x1d\\x36\\x00\\x07\\x85\\x43\\x6d\\xbe\\x96\\x68\\x54\\xa7\\x6b\\x17\\x57\\xce\\xc6\\x7d\\x89\\xec\\x4f\\xca\\xe3\\xc7\\x5b\\x26\\x47\\xa7\\xf4\\xe6\\x7c\\x89\\x3b\\xe9\\xce\\x7c\\x96\\x1f\\xbb\\x22\\xb1\\x0e\\xf4\\xb2\\x3e\\xa6\\x0c\\x7f\\xb9\\xaa\\x7b\\x0e\\xa8\\xf8\\x43\\x54\\xf7\\x94\\x06\\x71\\xfb\\xf5\\x97\\xf5\\x83\\x60\\xf8\\x2f\\x55\\x75\\xcf\\x0f\\x2a\\xfe\\x6e\\x04\\xff\\xa8\\x86\\x04\\x0a\\x74\\x82\\xff\\xdb\\x0c\\x7e\\x1d\\x87\\x6c\\x2a\\xfe\\x20\\xc1\\xff\\x42\\xa4\\xbc\\x53\\xfc\\x67\\xb2\\xf8\\xb7\\x80\\xdf\\x54\\xfc\\x09\\x82\\x7f\\x73\\x5d\\xef\\x4e\\xf1\\x3f\\x92\\xc1\\x4f\\x74\\x9b\\x59\\x1d\\x4f\\x8a\\x7f\\x7f\\x30\\xdc\\x29\\xfe\\x13\\x59\\xfc\\x5b\\xa1\\x57\\xc5\\x5f\\x47\\xf0\\x3f\\x9a\\xa8\\xed\\x88\\x5f\\x6e\\xa0\\x7d\\x5e\\xb3\\xfc\\xf9\\x0d\\x7e\\x93\\x19\\xcf\\x87\\x5b\\x42\\xa5\\x38\\x33\\x9e\\x0c\\xaf\\x26\\x68\\x51\\xf1\\x6a\\x5b\\x61\\x59\\xde\\x1a\\x75\\x5f\\x43\\xb7\\x0e\\x78\\x59\\x2f\\x56\\xc6\\xf7\\x0a\\x95\\xef\\x99\\xf8\\x2e\\x8d\\xe7\\xdf\\x6f\\x33\\x70\\xed\\xe9\\xa6\\xbe\\xc0\\x54\\x61\\x08\\x81\\x1f\\xa4\\xc2\\x8b\\x60\\x28\\x83\\xf7\\xa1\\x52\\xd8\\x16\\x2c\\x70\\x68\\xda\\xc5\\xb6\\xfa\\x00\\xa0\\xe9\\xc6\\x2f\\x05\\x76\\x62\\xc5\\xcc\\x97\\x7a\\xd9\\xec\\x0e\\x13\\x41\\x6f\\x37\\xb9\\x69\\x9a\\xb4\\x0e\\x73\\x9c\\xc7\\x68\\x32\\x79\\x69\\xf9\\x25\\x44\\x6e\\xd4\\x9c\\x72\\xb8\\x5d\\x4e\\x1b\\xaf\\xe5\\x9b\\x53\\x66\\x83\\xa8\\x75\\x93\\x7f\\x7a\\x1d\\x6d\\xf3\\x67\\xcf\\x75\\xe3\\xa2\\x51\\xaf\\xfc\\x23\\xc9\\x94\\x84\\x69\\x4f\\x3c\\x97\\x05\\x4b\\x7e\\xd5\\xe4\\x12\\x07\\x33\\xfd\\x60\\xd5\\xb2\\x51\\x55\\x39\\x89\\x90\\x36\\xa9\\x6b\\xbd\\x35\\x0d\\x6f\\x3d\\xfa\\xc6\\x96\\xc0\\x96\\xca\\xa3\\x95\\xa8\\xad\\xf2\\x48\\xe5\\xfd\\x81\\xfb\\xdf\\x28\\x8c\\xa5\\x61\\x8c\\xb6\\x89\\xe5\\xe0\\x96\\x33\\xe4\\x67\\xcb\\x85\\x36\\x5c\\xf5\\xe1\\x87\\x99\\x7a\\x77\\x23\\xd1\\xcb\\x21\\x30\\x55\\xea\\x51\\x68\\x04\\xb6\\x02\\xda\\xd8\\xcd\\xee\\x30\\x6a\\x1c\\x9a\\x70\\x84\\xf6\\xdb\\x08\\x38\\x3d\\xce\\x61\\x29\\x9f\\x87\\x58\\xeb\\x16\\x1c\\xc4\\xd8\\xec\\x81\\x67\\x3d\\x6d\\x1e\\x84\\x3d\\xd8\\xa3\\xf3\\x02\\xbb\\xc3\\xa1\\xd7\\x65\\x0a\\x11\\x95\\xa4\\xef\\x99\\xe3\\x1b\\xac\\xea\\xbe\\x52\\x36\\x92\\xc7\\x9e\\x80\\xd1\\xde\\x69\\x77\\x8e\\xcc\\xb3\\x08\\x21\\x13\\x14\\xe0\\x4d\\x4a\\x71\\xe9\\x4d\\x87\\xe7\\xb1\\x9a\\xd3\\x1b\\x9f\\xfa\\x76\\x99\\x77\\x19\\x51\\xac\\xb0\\xca\\x2b\\x9f\\xac\\x28\\xe4\\x71\\x4a\\x2d\\x88\\xdf\\x8a\\xc6\\x2b\\x85\\xf2\\x7f\\xe4\\x9e\\xa6\\x2a\\xf5\\xb3\\x1b\\x1c\\xea\\x1e\\xc7\\xcd\\x2c\\x46\\xae\\xec\\x71\\xa0\\x77\\x72\\xbb\\x2d\\xc7\\x8c\\x9e\\x7c\\xdf\\xb9\\xed\\x67\\x5a\\x17\\xcd\\xbf\\x40\\xe4\\xeb\\x5f\\xc7\\xa9\\x9f\\xbd\\x83\\x98\\x4c\\x83\\x5a\\xa8\\xe7\\x5c\\xc8\\x1a\\xe6\\x96\\x26\\xe9\\xab\\x54\\x11\\x0a\\x25\\x0b\\x25\\xbf\\x9f\\xfc\\xf2\\x78\\xc8\\x2f\\xb7\\x9b\\xfc\\x72\\x38\\xc8\\x2f\\xbb\\x9d\\xfc\\xb2\\xd9\\xc8\\x2f\\x51\\x24\\xbf\\xf4\\xfa\\x64\\x45\\xf6\\x27\\x6f\\xcf\\x05\\x31\\xdd\\x5e\\xa9\\xe8\\x6a\\xd0\\x4d\\xd5\\xed\\x94\\xa2\\x3d\\x7c\\xc7\\xfd\\x1c\\x5a\\xab\\xbd\\x9e\\x1f\\x91\\xa5\\x69\\xf5\\xcb\\x19\\x9a\\x74\\x2a\\x4d\\xba\\x0c\\x4d\\x3a\\x4a\\x93\\x8e\\xd2\\xa4\\xa3\\x34\\xe9\\x28\\x4d\\x3a\\x4a\\x93\\x8e\\xd2\\xa4\\xa3\\x34\\xe9\\xfe\\x2b\\x4d\\x7d\\x99\\xfe\\x50\\x78\\xc4\\x95\\xe6\\x78\\xf4\\x07\\xc1\\xd4\\x2e\\xbe\\x40\\xe9\\xf9\\x13\\x7f\\x26\\x4b\\xcf\\x96\\xe7\\x33\\xf4\\xd8\\x54\\x7a\\x6c\\x19\\x7a\\x6c\\x94\\x1e\\x1b\\xa5\\xc7\\x46\\xe9\\xb1\\x51\\x7a\\x6c\\x94\\x1e\\x1b\\xa5\\xc7\\x46\\xe9\\xb1\\x75\\x46\\x4f\\xdb\\x31\\x79\\x14\\xed\\x59\\x9c\\xe5\\xd1\\xf6\\xb6\\xf9\\xcc\\xb6\\x84\\x40\\x14\\x31\\xce\\xda\\x8c\\x6d\\xcb\\xe4\\x51\\xb4\\xb7\\x07\\x81\\x1b\\xac\\xc2\\xf5\\x52\\x6d\\x50\\xb3\\x39\\x0f\\x8e\\xed\\xb9\\x5d\\xc6\\xf4\\x57\\xa5\\x6a\\x6b\\x85\\x55\\xfd\\x45\\x9f\\x70\\x2f\\xa7\\xc9\\xe7\\x39\\x99\\x07\\x34\\x8e\\x73\\x8a\\x9d\\x21\\xd1\\x4b\\xaa\\x60\\x45\\x6d\\xb4\\xbf\\xba\\xc4\\xd3\\xc4\\xc5\\xf5\\xbc\\x06\\xb0\\xb7\\x13\\xc9\\x1f\\xb4\\x99\\xf2\\x7b\\xfc\\x8f\\xbc\\x0e\\x41\\xb3\\xda\\x3c\\x24\\x01\\xc7\\x67\\xf2\\x36\\x12\\xf6\\x04\\x4e\\x7d\\xd0\\x72\\x52\\xe9\\xe1\\x42\\xe9\\x20\\x7a\\xf4\\x07\\x96\\x4b\\x40\\xe8\\xb0\\x08\\xa0\\x0a\\x7e\\xc1\\x3e\\x0f\\xc9\\x63\\xf0\\xf3\\xcc\\x96\\x1a\\xcc\\x3e\\x1f\\x02\\x19\\x3c\\xeb\\xb3\\xbc\\x91\\xe9\\xaf\\x2a\\x55\\x1f\\xd5\\x2b\\x36\\xb1\\x9d\\xd9\\xc4\\x7d\\x5b\\x3c\\x36\\x9c\\xb3\\xfa\\x58\\x8f\\x18\\xb4\\x9d\\x3f\\x09\\x74\\x44\\x1f\\xf5\\x93\\xc2\\x0e\\xbb\\x1d\\x78\\x80\\x57\\xe3\\x71\\xea\\x6d\\x76\\x33\\xa7\\xd5\\x68\\x37\\x8d\\x43\\x1a\\xc9\\x61\\x37\\xeb\\xc9\\x54\\xd6\\xfb\\x04\\x2b\\x68\\x54\\xbc\\xa9\\x82\\x77\\x6a\\x94\\xf8\\x23\\x75\\xa1\\xb2\\x3d\\xe9\\xc9\\xf4\\x14\\x22\\x65\\x11\\x3e\\x42\\xcb\\xac\\xdb\\x35\\x8d\\x41\\xdb\\xb9\\x2b\\x8e\\x20\\xf9\\xdf\\x73\\x38\\x18\\x38\\x91\\x7e\\xac\\x5d\\xf3\\x18\\xee\\x35\\xc7\\xde\\xbd\\x0e\\x68\\xfa\\x75\\x79\\x7e\\x03\\x19\\x75\\xdd\\x6e\\xa0\\xfd\\x9a\\xc9\\xf3\\x74\\x51\\xf5\\xfc\\xb4\\x8c\\x9e\\x1f\\xdb\\x62\\xb2\\x73\\x19\\x3d\\x1f\\x96\\x1b\\x68\\xaf\\x19\\x02\\x77\\x99\\x02\\x07\\xde\\xcf\\xc0\\xcd\\xc9\\xc2\\x65\\x7a\\xd2\\xb0\\x7a\\xf2\\x4b\\xa5\\x62\\x28\\x92\\x91\\x32\\x68\\x70\\xb6\\xed\\x33\\x71\\x24\\x79\\x24\\x40\\x41\\xa4\\xf5\\xc3\\xed\\x5b\\xcd\\x64\\xea\\x87\\xf3\\xbb\\xd9\\x65\\xbb\\x8e\\xd0\\x1e\\x33\\xf6\\xf6\\x3d\\x66\\x3e\\x68\\xb9\\xba\\x5d\\x8b\\x19\\xae\\x47\\x3a\\x9d\\x69\\x31\\xa3\\xac\\x33\\xf8\\x34\\xf3\\x5d\\xe2\\x8a\\xef\\x02\\x32\\xbe\\x85\\x86\\x0c\\xd4\\x46\\x8d\\x0e\\x70\\xed\\xe6\\x74\\x88\\xc0\\x1b\\x84\\x46\\x02\\x3f\\x54\\xd9\\xd3\\x8d\\x0d\\x65\\x7b\\xba\\x88\\x8e\\xaa\\xf3\\xf7\\x7b\\xba\\x84\\x6f\\xb4\\xa7\\x74\\x16\\xff\\x6f\\x50\\x9b\\xe1\\xc7\\xc7\\x2d\\x82\\x41\\xc1\\x4e\\xe4\\xe5\\x79\\xb9\\x41\\x9d\\x0f\\x43\\x15\\xb8\\xb6\\xc9\\x19\\xb8\\xd7\\x5b\\xb4\\x5a\\xc5\\x2d\\x53\\xe8\\xe5\\x7c\\x79\\xf8\\x2e\\x20\\x1a\\xf3\\x72\\x3c\\x45\\x58\\x48\\x08\\xb8\\x2d\\x8b\\x92\\x25\\xb6\\xa8\\xf4\\xba\\x98\\x7c\\x2a\\x78\\x2f\\x10\\xfb\\x8f\\xd9\\xfa\\x90\\x98\\x4a\\x7d\\xb4\\x5a\\x84\\x72\\xb6\\xbe\\xda\\xff\\x3a\\x83\\x9b\\xac\\xfd\\x43\\xd3\\x77\\xd1\\xb9\\x2b\\x6b\\xb4\\x2a\\xd6\\x0c\\x4e\\x74\\x3e\\x87\\x93\\xcc\\xc9\\xe3\\x0a\\x5c\\x39\\xc7\\xa9\\xf8\\xd8\\x5c\\x44\\x04\\xdf\\xd7\\x6c\\xcf\\x79\\x08\\xed\\x54\\x27\\x70\\x1c\\xd6\\xe9\\xc8\\xb3\\x60\\x8c\\x4c\\x66\\xce\\x28\\xe8\\x39\\xde\\x2c\\x42\\x0b\\x16\\x79\\x91\\xc7\\x3a\\x2d\\xc6\\xa0\\x39\\x85\\x33\\x9d\\xb6\\x33\\xe9\\x0d\\xb6\\xf6\\xbd\\x58\\x98\\x8d\\x4f\\x96\\x17\\x9a\\x55\\x45\\x46\\xba\\x44\\xe0\\x61\\x01\\x7a\\xb3\\xa8\\x75\\xfe\\xb4\\x07\\xfd\\x0f\\xaf\\x3a\\x3a\\x17\\xd6\\x14\\xc9\\xef\\x6c\\xdb\\x86\\x0a\\x46\\xed\\x18\\x85\\x8e\\xa7\\x1f\\xde\\xb4\\x7d\\x73\\x86\\x16\\xf8\\x1f\\xb2\\x3e\\x8a\\x60\\xb0\\xe4\\x17\\x68\\x6d\\x3a\\xa0\\x7d\\x8e\\x88\\x23\\x6e\\x30\\x16\\x19\\xe3\\xc4\\xdd\\xa7\\x1d\\x36\\x91\\xd6\\x82\\x9e\\x6d\\xfb\\x51\\xd2\\x6b\\x91\\x16\\xd1\\x6e\\x9c\\xaa\\x62\\xa0\\xb4\\x74\\xef\\x6e\\x63\\x4d\\x8e\\x6c\\xf9\\xa4\\x24\\x54\\x3a\\xea\\xcd\\x10\\x07\\xa7\\xdd\\x51\\x74\\xfb\\xfd\\x2d\\xcb\\x57\\x15\\xad\\xba\\x15\\x05\\xfa\\xed\\xe8\\x87\\x2d\\xe9\\xb1\\xc9\\x9d\\x97\\xa4\\x17\\x64\\xf6\\xab\\x99\\x9c\\x75\\x55\\x7d\\x64\\xab\\xa2\\x0f\\x4c\\x4c\\x1f\\xf0\\x2d\\x26\\x6b\\x6e\\xc7\\x9a\\xc0\\x13\\x35\\xce\\x15\\x30\\x1f\\x79\\x18\\xa7\\xf8\\xc8\\xcb\\xf3\\x7c\\xcc\\xb6\\xc2\\xa2\\x0e\\xb1\\x4d\\x3a\\x3f\\xdf\\x64\\x63\\xd7\\x55\\x95\\xb3\\x99\\x19\\xf9\\x19\\xd2\\x62\\x76\\x28\\xb8\\x29\\x5e\\x32\\x3f\\x0b\\xb8\\x21\\x19\\xbc\\xf9\\xf3\\x73\\x7d\\x8b\\x3f\\xac\\x60\\xcd\\xd2\\x2b\\x67\\xf7\\xd7\\x01\\x5c\\x0d\\x72\\xfb\\xeb\\xaf\\x59\\x5c\\x1d\\xf6\\xd7\\x29\\xbd\\xe5\\xcc\\xee\\x65\\x78\\x89\\x5d\\xad\\xcd\\xa3\\xf7\\x85\\x40\\x71\\x07\\x7a\\x13\\x04\\xfe\\x2e\\xa6\\x4f\\x87\\xdd\\x4c\\xe0\\x85\\xd3\\x6d\\xb3\\x15\\x39\\x0e\\x11\\x39\\x6e\\xe3\\x5b\\x82\\x41\\xa3\\x31\\x2b\\xc7\\xb4\\xa7\\x37\\xd1\\xbf\\x4b\\xf8\\xcd\\xc4\\xc3\\xed\\x2f\\x15\\xfb\\x1c\\x5e\\x97\\xd7\\xe3\\x71\\xba\\x4c\\xa1\\x10\\x76\\xe1\\x68\\xcc\\x57\\x54\\x64\\x69\\x4e\\x15\\x71\\x1e\\xec\\xb2\\xd1\\x46\\xc6\\x4a\\x0b\\x63\\x16\\x3c\\x6c\\xfc\\x5d\\x42\\x1a\\x53\\x15\\xd9\\xde\\xf5\\xb4\\xf8\\x9a\\x98\\x2f\\xa1\\x30\\xad\\x30\\x8e\\xf8\\x60\\x42\\x23\\x24\\xea\\x8a\\x13\\x41\\x2b\\x6d\\xeb\\x63\\x82\\x78\\xe4\\xf4\\xed\\x95\\x6b\\xc3\\xcd\\x75\\xc9\\x09\\x7d\\x4b\\x06\\x9a\\xe4\\x1f\\x6e\\xfa\\xfa\\x7e\\xc7\\xfe\\xa3\\x1f\\x36\\x3c\\x6b\\xf0\\x73\\x93\\xa0\\x76\\x3b\\xdc\\x6a\\x1d\\xd0\\xed\\xda\\xfd\\x8e\\x31\\xfd\\xae\\xaf\\xee\\x73\\xc9\\xb6\\x23\\x70\\xc1\\x80\\xba\\xaf\\xa7\\x3d\\x79\\x75\\xeb\\x0a\\xae\\x1f\\xec\\x3d\\x6e\\xd7\\x8a\\x55\\xf2\\xd6\\x21\\xe3\\xe4\\x7b\\xe4\\x5f\\x8e\\x37\\x53\\xbd\\x47\\xec\\x60\\xda\\x97\\xa8\\x04\\x0c\\x94\\x4a\\xbd\\x16\\x97\\xcd\\xe5\\x74\\x5a\\x6d\\x62\\x30\\x88\\x6d\\xb8\\xb4\\xcc\\x6b\\xf3\\xfb\\x8d\\x4d\\x29\\xbf\\xc5\\xe5\\x34\\x5b\\x6d\\x1d\\x3b\\x16\\x34\\xb6\\x3f\\xe2\\x23\\xaf\\xc4\\x26\\xa3\\xe0\\xff\\x7b\\x87\\x22\\xa2\\xf8\\x93\\x19\\x5d\\x7f\\x77\\x67\\x1d\\x40\\xb6\\x14\\xad\\x91\\xc7\\x30\\xb5\\x8f\\x7e\\xec\\xac\\x69\\x51\\xeb\\xf7\\x3b\\x56\\x64\\xf3\\x10\\x1e\\xc8\\xe4\\x21\\xa0\\xd5\\xc8\\xad\\xd8\\x40\\x2c\\x6f\\x61\\xad\\xbf\\x63\\x5e\\x04\\xeb\\x71\\xc4\\xfc\\xdb\\xe1\\xaa\\xcd\\x74\\x2e\\x2f\\xc6\\x3d\\x35\\xd0\\x31\\x86\\xae\\xe0\\xff\\x36\\x9b\\xe7\\xc0\\x21\\x03\\xc8\\xe5\\x45\\x3c\\x58\\x54\\xda\\x29\\xfe\\x33\\x59\\xfc\\x39\\xff\\x96\\xe2\\x7f\\x28\\x58\\xd6\\x29\\xfe\\x9f\\xb2\\xf8\\x31\\xaa\\x00\\xf9\\x79\\x14\\xdf\\x16\\x96\\xb4\\xcf\\xa3\\x50\\xef\\xb1\\x5a\\xd9\\x07\\x60\\xf7\\xd8\\x09\\x07\\xb5\\x8b\\xbb\\x3f\\xef\\x2f\\xed\\x10\\x77\\x47\\xc4\\xef\\xfa\\x45\\x6b\\xe7\\xd7\\x10\\xfd\\x11\\x02\\xd7\\x4b\\xbd\\x3d\\x76\\xaf\\xc9\\x64\\xb6\\xd9\\xb9\\xa2\\x22\\x9e\\x77\\x58\\xb0\\x21\\x6c\\x88\\x98\\x6d\\xcd\\xa9\\x23\\x66\\x78\\xa7\\x19\\xde\\x6c\\x86\\x66\\x33\\xd4\\x62\\xb3\\x59\\x04\\x3e\\xaf\\x49\\x34\\x35\\xa7\\x74\\x22\\xf6\\xb8\\xec\\xc0\\xae\\x9e\\x3d\\xa0\\xf4\\x32\\xcd\\x1c\\x91\\x97\\x77\\x2a\\x48\\x36\\x06\\x92\\x6d\\xc0\\xab\\x89\\x64\\xce\\xca\\x70\\xe7\\x32\\xbc\\x4a\\x6a\\xea\\xed\\xa5\\xea\\xb1\\x19\\x78\\xd1\\xe0\\xd9\\xf2\\x19\\xf9\\xa5\\x8f\\xe0\\x4d\\xdf\\xdd\\xbc\\x19\\x4f\\x0b\\xa4\\x7b\\x8c\\x45\\xab\\x02\\xe9\\x79\\xcd\\xe8\\x6c\\xe0\\xc2\\xf6\\xa5\\xc3\\x3f\\x1a\\x79\\xe7\\x2b\\xf2\\x37\\x9b\\x3f\\xd5\\xc3\\xee\\xd0\\xfc\\x0b\\x5c\\xf1\\xa1\\xa8\\x26\\x7d\\x6d\\x10\\xb9\\x41\\xe2\\x3e\\x79\\xdf\\xd1\\xb7\\xfe\\x44\\x63\\xfe\\xc4\\x97\\x16\\xfa\\x72\\x97\\x91\\x27\\xac\\x02\\xb5\\x60\\xba\\xd4\\x33\\x6c\\xf2\\x82\\x5a\\xbe\\x4b\\x34\\x6a\\xef\\x52\\x44\\xbc\\xa8\\x22\\x7b\\x51\\x5d\\x3d\\xdd\\x74\\xad\\xa5\\x6d\\x25\\x6b\\xfd\\xb5\\xc8\\xc1\\xd5\\xd6\\x5a\\xdc\\x35\\xc5\\xee\\xe2\\xa6\\x54\\xa1\\xd7\\x6d\\xe1\\xcb\\x2d\\xe5\\x4d\\x29\\x93\\xc1\\x92\\xbf\\xcf\\xaa\\xe6\\x13\\xfd\\xaf\\x36\\x93\\xca\\xe6\\x6a\\xae\\xb0\\x2e\\x12\\x2c\\xd3\\x84\\xd4\\x4e\\x58\\xc1\\x6c\\x8b\\xb1\\x12\\xa5\\x23\\x96\\x85\\x86\\x8d\\x33\\xdb\\xa9\\x5c\\x91\\xb8\\xe2\\xf6\\x89\\x5b\\xab\\x56\\x5d\\xfa\\xe5\\x76\\xf9\\xdc\\xb4\\x8d\\xf2\\x37\\x6f\\x9c\\xe2\\x56\\xff\\xfa\\x34\\xf4\\x5e\\x3d\\xf8\\x9d\\xf9\\x27\\xbe\\xf6\\xb4\\x0e\\xfd\\xf5\\x8e\\xdd\\xa9\\x5f\\x57\\x6e\\x4d\\x61\\x0f\\xb7\\x68\\x01\\x6b\\x49\\x99\\xe8\\xb3\\xe2\\xae\\x09\\xa3\\x1a\\x57\\xcc\\x7b\\xe9\\xf9\\x7f\\xfc\\xf1\\x8f\\xb0\\xf7\\x83\\xc7\\xc6\\x4f\\xa6\\x7d\\x29\\x5b\\x60\\x60\\xad\\x7c\\xe6\\x36\\xf9\\xe3\\x15\\xd0\\x7c\\x93\\xda\\xa3\\x52\\xd5\\x9d\\x2b\\x99\\xae\\xaf\\x55\\xf3\\x2c\\x5e\\x56\\x65\\xd2\\x4d\\x64\\xf8\\x63\\x77\\x01\\xa7\\xeb\\xe8\\x27\\xe0\\x3e\\x4c\\xbe\\x46\\x29\\xf1\\x50\\xf0\\xb4\\xaa\\x3b\\xed\\x44\\x77\\x1e\\xb7\\xbb\\x04\\xdb\\xef\\x74\\xfd\\x4a\\xa6\\xeb\\x6b\\x55\\x5d\\xbf\\x4a\\xd1\\xe1\\xa8\\xed\\xf6\\x16\\x8f\\x9f\\x53\\x63\\x23\\x6d\\x6f\\xc9\\x0d\\xb4\\x57\\x54\\x06\\x2f\\xb1\\x29\\x66\\x67\\x74\\xfd\\x87\\x2d\\x6e\\xb7\\x20\\xe4\\xe9\\xfa\\x95\\x4c\\xd7\\xd7\\xaa\\xba\\xfe\\xa2\\x3c\\x7a\\xb7\\x79\\x8b\\x3a\\xa1\\xf7\\x5a\\xa6\\xeb\\x47\\xb1\\x3d\\xcd\\x3b\\x93\\x39\\x6a\\x37\\x39\\x7d\\x39\\x6a\\xe9\\xfe\\x27\\xed\\x47\\x2f\\x54\\x11\\xd8\\x3a\\xe5\\xd9\\x90\\x15\\x0e\\x64\\xd0\\x31\\xb2\\x8e\\x9c\\x8d\\x55\\xe2\\xf6\\xeb\\x02\\xeb\\x2d\\xc5\\x78\\x31\\x5a\\x8d\\x0d\\x37\\xa8\\xbc\\x88\\x12\\xec\\x7f\\x8f\\x56\\x68\\xbc\\xed\\xe0\\x15\\xfc\\x05\\x19\\xfc\\x68\\x25\\x3c\\x0c\\x2f\\x61\\xf0\\xe5\\x04\\xff\\x86\\x78\\xac\\x53\\xfc\\x27\\x33\\xf8\\xd1\\x4a\\xf0\\x8a\\x8a\\x3f\\x46\\xf0\\x4f\\xef\\x12\\xed\\x88\\x5f\\x1e\\x43\\xfb\\xe9\\x67\\xe9\\x5f\\x00\\x7b\\x65\\x78\\xb8\\xb1\\xa5\\x5a\\xa5\\x9e\\xe2\\x25\\x7e\\xc0\\xc7\\xdc\\xa0\\x2c\\xdd\\x0b\\xc0\\xba\\x0c\\xdc\\xe1\\x96\\xb8\\x4a\\x75\\x86\\x5e\\xc6\\xeb\\x3a\\x95\\xd7\\x3d\\x33\\xf7\\x27\\xf4\\x3e\\x5f\\xd1\\xb5\\x13\\x7a\\xbf\\xce\\xa3\\xf7\\x4e\\x70\\x2c\\x8f\\x1f\\x8f\\x96\\x57\\x77\\xa0\\xf7\\x59\\x42\\xef\\x15\\x4c\\x36\\xea\\x99\\x3f\\xb2\\x00\\xb0\\x9c\\x5e\\x60\\x22\\xfe\\xc5\\x12\\xbe\\x92\\x7c\\x3e\\x86\\x75\\x87\\x58\\xf0\\x86\\x0a\\x4f\\x7b\\xe9\\x33\\x7a\\xea\\x55\\x7a\\x32\\xfb\\x4b\\x5a\\x42\\xcf\\x20\\xbd\\x85\\xd3\\xb4\\xc3\\x3f\\x9e\\xd0\\xf3\\x18\\xb3\\xfd\\xc6\\xa8\\xf6\\xe4\\x43\\xaa\\x3d\\x19\\x00\\xf0\\x12\\xb2\\x7a\\x65\\x57\\xed\\x5c\\x9f\\x7e\\x33\\xb8\\x48\\x0a\\xf3\\x1a\\xa8\\xd7\\x6b\\x0c\\xd8\\x62\\x32\\x59\\x45\\x62\\x74\\xd1\\xd4\\x21\\x41\\x4f\\xd6\\x6a\\xf2\\x31\\x6f\\xcc\\x1c\\x3c\\x64\\x53\\x4f\\xd7\\xca\\x75\\xef\\xcf\\xd6\\x47\\xe0\\x6c\\x3d\\xb9\\xda\\xc7\\x7f\\x2c\\xf4\\x06\\xe4\\xbf\\x2f\\x7a\\x71\\x91\\xfc\\x4d\\x00\\xba\\xc7\\x66\\x7a\\xfa\\x13\\x55\\x45\\xeb\\xc6\\xb7\\xc0\\x57\\xb7\\xa9\\x67\\x11\\x79\\xd5\\x3e\\x5f\\x41\\x7a\\xd6\\x8c\\xdb\\xe1\\xd0\\xfb\\x2c\\x16\\xa0\\xd7\\x73\\xa1\\x30\\x59\\x7c\\x1d\\x05\\x56\\x87\\x75\\x58\\x2a\\x60\\xb4\\x18\\x87\\xa5\\xc8\\x17\\x82\\xdb\\x61\\x16\\x10\\x6b\\x9c\\x9c\\x31\\x44\\x73\\x24\\x29\\xe1\\x9c\\xbc\\x2e\\xc3\\x2c\\xb1\\x3d\\x57\\x42\\xd2\\x4d\\xe9\\xbe\\x90\\xeb\\x03\\x46\\xfe\\x17\\x34\\xd0\\xc9\\xba\\x7e\\x5d\\x3a\\x6a\\x92\\xb9\\x7c\\x91\\x77\\x51\\xcf\\x6c\\x3b\\xb0\\x9e\\x6f\\x7a\\x8f\\x47\\x0d\\x27\\x69\\xff\\x2f\\xda\\x11\\xec\\xb3\\x65\\xb0\\x9a\\xf6\\x04\\x93\\xdf\\x5b\\xf6\\x41\\xaf\\x4c\\x8e\\x17\\x8b\\x7f\\x74\\x57\\x73\\x04\\x37\\x81\\x5c\\x0e\\xd9\\xaa\\xa2\\xf2\\x0e\\x39\\x61\\xca\\xde\\xdf\\x0b\\xd9\\xbd\\xc2\\x1d\\x6c\\x93\\x32\\x63\\x83\\xcd\\x2a\\x8e\\x77\\xd8\\x2b\\x54\\x72\\xc8\\xb6\\x65\\xf0\\xa3\\xd5\\xf0\\x57\\x75\\x6e\\x52\\xfc\\x33\\xdd\\x1d\\x73\\xd4\\x14\\xfc\\x23\\xb2\\xf8\\x57\\xb3\\xbc\\x9e\\x0c\\xfe\\x6b\\xfc\\x1d\\xf7\\x2e\\x15\\xfc\\xdf\\x66\\xe9\\xe7\\xe0\\xdf\\xf3\\xe8\\x5f\\xe2\\x0d\\x76\\x8a\\xff\\x4c\\x16\\xff\\x16\\x1a\\x9a\\xcd\\xe2\\xbf\\xb5\\xa8\\xb4\\x33\\xfc\\xc2\\x4b\\x59\\xfa\\xb7\\xc1\\xcf\\x89\\x2d\\xe2\\x92\\x0c\\x08\\x7a\\x31\\x82\\x57\\x65\\x92\\xe6\\x58\\x72\\x76\\x06\\x3f\\xcb\\x31\\x52\\xf0\\x6f\\x03\\xbf\\x00\\x75\\xaf\\xaf\\x88\\xee\\xf5\\x4d\\xca\\xec\\xa6\\xe6\\xad\\xfd\\xca\\x33\\xfc\\x94\\x7d\\x06\\x0c\\xff\\x0d\\xf2\\xf3\\xec\\x9e\\x75\\x15\\xfd\\x2e\\xcf\\x8e\\xde\\xe7\\x81\\xdc\\x1e\\x2f\\xb1\\x17\\x26\\x81\\xfc\\x3d\\xd8\\xe7\\x0b\\x4b\\x7e\\x7f\\x1f\\x79\\x14\\xed\\xbd\\x6f\\xc9\\x3c\\xcb\\x76\\x96\\x9b\\xe7\\x7c\\x0e\\xc4\\x68\\x73\\x0c\\x51\\x4c\\xc2\\x17\\xfc\\x7e\\xc5\\x0b\\xac\\x60\\xf7\\x90\\x47\\xd1\\x5e\\x71\\xd9\\x7b\\x6c\\x87\\xc7\\xd4\\x38\\x4b\\x38\\xac\\xee\\xdf\\x30\\xbc\\xec\\xec\\x07\\x36\\xbf\\x7b\\x28\\x71\\x08\\x34\\x5e\\xf1\\x3b\\x7c\\xd4\\xef\\x68\\x4b\\xb7\\x04\\x0b\\x74\\xde\\x3c\\x7d\\xcd\\x7a\\xae\\x31\\x7d\\x73\\xb9\\xaa\\x4f\\x1f\\x55\\xe0\\x5d\\x56\\x0a\\xff\\xaf\\x16\\x9f\\x53\\xeb\\xc8\\x83\\x57\\x72\\x0a\\xe5\\x6c\\x4e\\x61\\x1b\\x6c\\x52\\xc7\\x4c\\x4f\\x6e\\x60\\x30\\xeb\\x70\\xfb\\x5a\\x01\\x65\\xbf\\xf5\\x64\\x66\\xbf\\x95\\xe8\\xdf\\xbf\\x80\\xdc\\xde\\xd6\\x82\\x80\\x27\\x7f\\xaf\\x39\\x8b\\xff\\x50\\x06\\xbf\\x0e\\x42\\x29\\xc3\\x4b\\x1d\\xe5\\xbf\\xc1\\x28\\x62\\xa1\\xc3\\xfe\\x2c\\x3b\\x5f\\x80\\xad\\xbf\\xbd\\xd5\\xf5\\x77\\x97\\xf2\\x0c\\x7a\\xe6\\x6b\\xf9\\x5b\\xf4\\x46\\xa8\\xc9\\x8b\\x1d\\xb2\\x1e\\x5d\\x6c\\xbc\\xc6\\xab\\x6b\\x4e\\x6d\\xe6\\x19\\x08\\x4d\\x7f\\xd5\\x1b\\x01\\xdf\\xee\\x19\\x14\\xfc\\x8f\\x64\\xf0\\x13\\x3f\\xf9\\x2a\\x35\\x26\\x45\\x6f\\xf0\\x98\\xde\\x00\\xdb\\xe9\\x4c\\x15\\xff\\x89\\x0c\\x7e\\xe2\\x2f\\xbf\\x9f\\x87\\xff\\x61\\xbd\\xa1\\x53\\xfc\\x72\\x06\\x3f\\xd1\\xc9\\x62\\x1e\\x4f\\xdf\\x35\\xd8\\x3a\\xe0\\xff\\x86\\xe0\\xff\\x96\\xf1\\x74\\xfc\\x79\\x65\\x8d\\x78\\x33\\x0f\\xff\\x1f\\x0c\\xb6\\x7c\\xfc\\x4a\\x5f\\x5d\\x74\\x88\\xed\\xe1\\xd5\\x48\\x05\\x26\\x00\\xcc\\x16\\x0b\\x3d\\x56\\x1b\\xea\\x31\\x34\\xd2\\x13\\x57\\x69\\xc6\\xa4\\x49\\xcd\\x98\\x64\\xe9\\x40\\x50\\x6d\\x9f\\xaf\\x44\\xc6\\x58\\xca\\x9a\\xc0\\x9a\\x4a\\x0b\\x38\\xf4\\xad\\x7f\\xfd\\xf2\\x01\\xd5\\x9e\\x8a\\x58\\x34\\x11\\xb4\\x9c\\xe1\\x5a\\xb6\\xdd\\x62\\xb8\\x53\\xeb\\xef\\x31\\xe4\\x82\\xd2\\x73\\x39\\xd3\\xc7\\x3e\\x08\\xe2\\x60\\x82\\xd4\\x95\\xaf\\xaa\\xb2\\x16\\x94\\xea\\x04\\x8e\\xc7\\x3e\\x5f\\x21\\x46\\xa8\\xd0\\x5a\\xd8\\xb5\\xda\\xab\\x37\\x15\\x3a\\x9d\\x31\\xda\\xde\\x50\\x08\\x06\\x39\\xb2\\x6e\\x22\\x53\\x88\\xd8\\x85\\x16\\x9a\\x94\\x94\\x49\\x35\\xa7\\x0a\\x57\\xed\\x1e\\xd5\\x90\\x6f\\x0e\\x2a\\x2b\\x04\\x2d\\xcd\\x54\\x23\\xcf\\x42\\x7e\\xe6\\x40\\x44\\xc9\\x28\\x88\\x10\\xe7\\x28\\xc2\\xb7\\xcb\\x22\\x78\\x74\\x31\\x8d\\x44\\x77\\xf5\\xca\\xef\\x14\\x1a\\x9d\\x99\\x14\\x02\\xd6\\xcf\\x9e\\x2f\\xdd\\xaf\\x8d\\x1d\\x5d\\x8c\\x4a\\x73\\xbb\\x83\\x7c\\xc3\\xc6\\x8d\\xcb\\x36\\x34\\x0e\\xc9\\xa4\\x12\\x5c\\x33\\xa1\\xe0\\x3e\\xef\\xeb\\xf8\\x4f\\xff\\x52\\xf7\\x05\\xe1\\x40\\xd6\\x9f\\x13\\x83\\x11\\x64\\xec\\xee\\x26\\x6b\\x9e\\x87\\x70\\x39\\x0a\\xc6\\x4a\\x5d\\xc2\\x25\\xde\\x12\\xb3\\xdf\\xe1\\xf5\\x70\\x5a\\xad\\xc7\\xea\\x30\\xf3\\xe5\\x31\\x6b\\x38\\x14\\x0e\\x35\\xa7\\xc2\\x9a\\xb0\\xc6\\x23\\x7a\\xbc\\xcd\\x29\\x8f\\x0d\\x44\\xc5\\x68\\x73\\x4a\\xc4\\xb9\\x16\\x68\\x99\\x34\\xac\\x8e\\xa7\\x3a\\xaa\\xdd\\x7e\\x68\\xc9\\x37\\x19\\x04\\x56\\x2b\\x98\\x7f\\xc4\\x63\\x7d\\xe6\\x6c\\xc7\\x7a\\xe5\\xac\\x47\\xf8\\xb4\\x65\\xc2\\x78\\x6e\\x93\\xf6\\xf0\\x3e\\x54\\x98\\x7f\\xd4\\xe3\\x67\\x99\\x03\\x1e\\xfd\\x99\\x23\\x1f\\xb9\\xef\\xa7\\x5c\\x51\\x63\\xf5\\xfb\\x1f\\x3b\\x9c\\x3b\\xf1\\xf1\\x7e\\x7a\\xd6\\xe3\\x66\\x88\\x9e\\xcf\\xec\\x99\\x70\\x3f\\xa8\\xf9\\xc0\\xbd\\xa5\\xa0\\x45\\xcb\\x19\\x8d\\x06\\x83\\x16\\x62\\x97\\x93\\x66\\x01\\xd3\\x30\\x9d\\xc1\\xd8\\x9c\\x22\\xf2\\x86\\x7f\\x7f\\x3c\\x65\\xfb\\xa3\\x58\\x95\\x6a\\x80\\xf6\\x79\\xc0\\xb0\\x09\\xef\\x08\\xa4\\x43\\xa3\\x60\\xbf\\xd3\\xa0\\x4d\\xfe\\x44\\x4e\\xa7\\x1f\\xfe\\x0c\\xce\\x83\\x33\\xef\\xdd\\x28\\x3f\\x4a\\xeb\\x4e\\x92\\xaf\\xb6\\xbc\\x7b\\xe6\\x5e\\xe8\\x98\\x39\\xbf\\xc3\\xf9\\x08\\x43\\xa4\\x72\\x31\\xe8\\xc6\\x0e\\x63\\x19\\x76\\x58\\xad\\x46\\x93\\xc9\\x86\\x71\\x45\\xb9\\xd5\\x31\\x3c\\x65\\x05\\xa2\\x1b\\x98\\x9c\\x9d\\x1c\\x84\\xa0\\xc8\\x51\\xf6\\xbc\\xdf\\x7c\\xbf\\xe2\\x77\\x82\\xa3\\xec\\x66\\xfc\\xaf\\x13\\x10\\x98\\xc4\\x9c\\x47\\xff\\x28\\x4a\\x9f\\x08\\x96\\x58\\xdb\\xf7\\x75\\xcd\\x9d\\x81\\x40\\x45\\x86\\xfb\\x7e\\xe7\\xee\\xa3\\x89\\x5c\\x63\\x57\\x45\\x70\\x10\\x9d\\xe9\\xdc\\x33\\x2c\\x56\\xe6\\x04\\x75\\x52\\xa1\\x95\\x33\\x02\\x93\\x49\\xab\\xd5\\x73\\xd8\\xed\\xa2\\x67\\x24\\x12\\x35\\x6e\\xc0\\x5a\\x53\\xae\\x00\\x83\\x25\\xa1\\xe6\\x85\\x02\\xd8\\x59\\x9f\\x0a\\x43\\xed\\x65\\xec\\x94\\x7d\\x95\\xab\\x5b\\x61\\x43\\x86\\x9f\\x07\\x5f\\xbb\\x55\\x03\\x07\\x77\\x3f\\x0f\\xaf\\x63\\x5c\\x3d\\x84\\xab\\x28\\x4b\\xf1\\xbf\\x1e\\x0e\\xbd\\x79\\xc1\\xc5\\x18\\xdb\\x6e\\xce\\xfa\\x40\\x39\\xb8\\x44\\x2a\\x8d\\x62\\x31\\xe4\\x71\\x71\\x4e\\xa7\\x51\\x61\\x6d\\xa5\\xb5\\xc2\\x01\\x44\\x0f\\xe5\\x6b\\x31\\xe3\\x6b\\xe1\\xef\\xf9\\x4a\\x4c\\x37\\xd5\\x72\\xeb\\xe4\\x5c\\x09\\x85\\xab\\x8c\\xc8\\xff\\x7d\\xb0\\x04\\x63\\xeb\\xa3\\xe3\\x05\\x58\\x92\\x18\\xc1\\xe6\\xe8\\x7f\\x65\\x2b\\x6e\\x6e\\x09\\x3d\\x27\\xa7\\xe8\\x04\\x6d\\xcf\\x59\\xaa\\xef\\x2a\\xc8\\x1a\\xbe\\x86\\x9d\\x53\\xda\\x5d\\x2a\\x74\\x09\\x85\\x44\\xe3\\x99\\x04\\x93\\x72\\x56\\x29\\x71\\xb9\\xed\\x99\\x73\\x49\\xb3\\xa7\\x08\\x2b\\xbd\\x7a\\xf2\\xcf\\x92\\x60\\x69\\xe1\\x1c\\x4d\\x77\\xa4\\xbd\\x28\\x94\\xc8\\x91\\x52\\xcb\\x12\\xe6\\x84\\x03\\xb7\\x42\\xe9\\xc3\\xc3\\x50\\x5c\\xfd\\x81\\xbc\\xfa\\xcc\\x27\\xf2\\x47\\xca\\xb1\\xa4\\xd0\\x43\\x8f\\x25\\x6d\\x03\\x57\\x72\\x5d\\x9f\\xdf\\xbb\\x41\\x3e\\x77\\xf0\\x17\\x79\\x96\\x7a\\x2c\\x29\\xec\\xab\\x1c\\x4b\\xaa\\x9c\\xa1\\x2a\\xd8\\x34\\x4d\\x44\\x57\\x8c\\x90\\xca\\xc3\\x82\\xd1\\x67\\xf7\\x15\\x44\\x01\\x28\\x10\\x0a\\x62\\x76\\x7b\\x39\\x2d\\x96\\xb0\\x5b\\x45\\x31\\xd0\\x9c\\xf2\\xf9\\x8c\\x22\\x17\\x8d\\x62\\x5c\\x92\\x7f\\x82\\x2a\\xdd\\xae\\x63\\x0d\\x22\\x6a\\x2a\\xf2\\xce\\x36\\xc8\\x6d\\x02\\xe4\\x1d\\xa7\\x1a\\xa4\\xc7\\x15\\xa9\\x9a\\x5b\\x63\\x46\\xff\\xe3\\x64\\x55\\xe8\\xdb\\xae\\x2d\\x7a\\x60\\x91\\x54\\xef\\xaf\\x8a\\xf5\\x1b\\x6e\\x2d\\x6d\\x29\\x79\\xe7\\xbf\\x9c\\xb2\\xba\\xa9\\x6c\\xd3\\x46\\xe7\\xbd\\xb6\\xd1\\x57\\xbc\\x91\\x7f\\xda\\xaa\\x7a\\x9e\\x07\\x6f\\xe6\\x75\\x20\\xc2\\x9e\\x4b\\x67\\xa6\\xcf\\x85\\x39\\xae\\x40\\x57\\x50\\x6c\\xb7\\x97\\x58\\x5d\\xc3\\xc9\\x73\\x19\\x8d\\x81\\x26\\xf2\\x5c\\x66\\xa3\\x05\\x63\\x8d\\x06\\x34\\xa5\\x34\\xae\\xff\\xe3\\x73\\x95\\x50\\xb7\\x3f\\x77\\xb6\\x87\\xdb\\xd6\\xfe\\xb9\\x94\\x43\\x3e\\x26\\xaf\\xeb\\x42\\x4f\\xf9\\x78\\xe9\\xed\\x0d\\x67\\x9f\\x78\\xf0\\xca\\x01\\x5f\\xf6\\xad\\xf1\\x57\\x17\\x35\\x0e\\xb4\\x17\\x65\\xce\\xfb\\xb8\\xf1\\xe6\\xae\\xf2\\x0b\\x9f\\xbd\\x42\\x0f\\xfc\\x18\\x0a\\xf5\\xce\\x7b\\x1d\\xe3\\x27\\x3d\\x98\\x6d\\xf0\\xd6\\x49\\xee\\x0b\\xb1\\x6c\\x34\\x1c\\x99\\xa3\\x0e\\x10\\xa0\\x7d\\xfc\\x8d\\x56\\xa7\\xb6\\x00\\x63\\xad\\x15\\x17\\x05\\x75\\x01\\x47\\x80\\x0a\\x93\\xd6\\x81\\xb5\\xce\\x0e\\x93\\xb4\\x5d\\x72\\x78\\xbb\\xba\\xa8\\x9c\\x0e\\xcf\\x9d\\x2f\\x8b\\xa7\\xe6\\xce\\x97\\x3d\\x67\\x56\\x75\\xb7\\x1b\\x16\\xbe\\x06\\xa3\\xed\\x8f\\x99\\xcd\\xe9\\xeb\\xec\\x71\\xb3\\x84\\xc6\\x4b\\x08\\xcd\\xf5\\x59\\x1d\\x5d\\x64\\xd4\\x6a\\x2d\\x58\\x87\\x45\\xa7\\xe8\\xd2\\x10\\xe5\\x41\\xb8\\xac\\xd7\\xeb\\xe8\\x79\\x7f\\xd9\\xc8\\x52\\xbe\\x8a\\xce\\x70\\xba\\x86\\x05\\x92\\xd8\\x81\\x38\\x44\\x9b\\xd0\\xee\\x5d\\x54\\x9b\\x10\\x51\\x09\\xa1\\xf2\\xd3\\x6d\\xb0\\x0c\\x62\\xb8\\x71\\x74\\x5a\\x1b\\xc0\\xcf\\xc8\\x3f\\x34\\xca\\x9b\\xe4\\x75\\xf7\\x6e\\x84\\x63\\xa9\\x2a\\x81\\xcf\\x6e\\xfb\\xcf\\x62\\x74\\x8f\\xfc\\x1d\\xd3\\xd1\\x99\\x73\\x53\\x68\\x2f\\xf1\\x26\\xa9\\xdc\\x20\\x16\\x91\\x75\\xc2\\xe8\\xb0\\xdb\\x8d\\xa5\\xd8\\x84\\x2d\\x31\\x4b\\xb9\\x5b\\x2f\\x38\\x9c\\x66\\xd3\\xf0\\x94\\x19\\x08\\x61\\xd6\\x79\\xbb\\x20\\xaf\\xf3\\x76\\x4e\\x9f\\xe4\\x28\\xab\\xc9\\xa8\\xe9\\xf6\\x27\\xa7\\xd0\\xe3\\x47\\xcd\\xf0\\xff\\x77\\x76\\x4a\\x22\\x7d\\xa2\\x08\\xfd\\xe3\\x7c\\x88\\xcf\\x3f\\x3f\\x85\\xa6\\x0b\\xe6\\x9d\\x9f\\xc2\\xed\\xbc\\x60\\x3f\\x56\\x94\\x77\\x80\\xca\\xbd\\xf2\\x33\\x2c\\x5b\\x10\\x81\\x2a\\x62\\xbb\\xd2\\x7e\\xed\\x0e\\x22\\x19\\x97\\x4a\\x65\\x4e\\xe0\\xe0\\x7c\\xbc\\x8f\\xa8\\x12\\x1e\\x70\\xc5\\x11\\x91\\xb3\\xd9\\xdc\\x4d\\x29\\x9b\\x45\\xcf\\x6b\\x05\\x2d\\x79\\x18\\x1f\\x47\\xc4\\x9b\\x73\\xe5\\x7a\\x92\\x24\\x3c\\xed\\x23\\xb8\\xb6\\x86\\x4c\\x83\\x1b\\x8d\\x00\\x05\\xf2\\x08\\x6e\\xc8\\x7a\\x15\\x76\\xd2\\xcd\\x7d\\xd9\\xf9\\xa7\\x60\\xd8\\x9b\\xf6\\x17\\xc2\\x1b\\xef\\x93\\xd7\\x8d\\x1a\\xb0\\x32\\x7d\\x24\\xdb\\xd6\\xfd\\x9a\\xc5\\x13\\x7b\\xa2\\xc7\\x0f\\xca\\xfb\\x5a\\x34\\xf2\\x0f\\xcb\\x37\\x68\\xe1\\x98\\xcb\\x0e\\x5d\\x7f\\x04\\x5e\\xb2\\x37\\xd7\\xde\\x3d\\xb9\\xf5\\x57\\x00\\xdb\\xbe\\x26\\xb2\\x71\\x15\\x3b\\x6b\\x8c\\x48\\x06\\x16\\x04\\x2d\\xa7\\x07\\xc4\\xb8\\x35\\xb0\\x73\\xf3\\x78\\xa0\\xd3\\x69\\xe9\\x61\\xc8\\x00\\x76\\x2e\\x19\\x6c\\x04\\x6a\\x94\\x96\\xaa\\xa1\\x8c\\x1b\\x0e\\x03\\x21\\x7c\\xef\\x35\\xad\\xef\\x84\\x70\\xcd\\xc4\\xd6\\xbb\\x43\\x5c\\x95\\xfc\\xd1\\x36\\xf8\\x4f\\xea\\x7b\\xb3\\xb3\\x38\\x11\\x58\\x40\\xf4\\xc0\\xe7\\x44\\xf7\\x6a\\x89\\x3d\\x34\\x50\\x2a\\xc1\\x3a\\x4e\\xe7\\xb1\\xda\\x6c\\x5c\\xc8\\x13\\x8a\\x84\\x43\\xe4\\xc6\\xa1\\x90\\xb3\\xb0\\x10\\x34\\xa7\\x0a\\xed\\x56\\xab\\xd3\\x49\\x64\\xd4\\x99\\x53\\xc3\\x1d\\x4e\\xa3\\xcc\\x99\\x3f\\x25\\x35\\xa0\\x3e\\x44\\xe3\\x7f\\x30\\xd7\\x1f\\x84\\x68\\x38\\x65\\x62\\xd1\\xf0\\x67\\x3d\\x3a\\xfa\\x35\\xec\\xd2\\xbb\\x35\\xa6\\x7b\\x1f\\x97\\xa1\\x77\\x9f\\xdd\\xf2\\xcd\\xb8\\x3d\\x37\\xc1\\xfe\\x1f\\x42\\x1d\\xac\\x78\\x55\\xbe\\xfb\\x9c\\x7c\\x56\\xfe\\xb0\\xe4\\x56\\x68\\x4d\\x37\\xd4\\x1f\\xff\\x08\\xed\\xab\\x34\\xbd\\xf8\\xe7\\x05\\xcb\\x7a\\x3d\\xf5\\x98\\xfc\\x3e\\x99\\xf9\\xf2\\x0d\\x5f\\x10\\x19\\xd7\\xdd\\x7c\\x0f\\xd1\\x63\\x4d\\x64\\x2d\\xfc\\x8c\\xed\\x3b\\x8c\\x92\\xaa\\x2c\\xe6\\x48\\xb1\\x4b\\x17\\xa0\\x87\\xa2\\x15\\x14\\x9b\\x35\\xb1\\xa8\\xc6\\x5b\\xe8\\x65\\xe7\\x27\\x02\\x83\\x81\\x4c\\x28\\x8b\\xc5\\xc0\\x45\\x22\\x00\\x84\\xd4\\xa3\\x02\\xf3\\x16\\x13\\xf5\\x39\\x40\\xc7\\x72\\x6e\\x26\\xc6\\x75\\xac\\x47\\x65\\x71\\xae\\x65\\xa3\\xd2\\xf6\\x35\\xc2\\xe6\\x5c\\xd0\\xee\\x36\\x21\\x14\\xfa\\xe4\\xd7\\x93\\x4f\\x5f\\x3f\\x17\\x46\\x7e\\x7a\\xf3\\x74\\xf1\\x81\\x92\\x75\\x0b\\x36\\x3f\\xb5\\xe3\\xc1\\xde\\xfe\\x4b\\xe4\\xbe\\x5b\\x6e\\x87\\xf0\\xf1\\x0d\\xa3\\x1e\\x79\\xdf\\xf1\\xea\\xde\\x87\\x3e\\xf0\\x16\\xde\\x31\\xe5\\xe8\\xff\\xe3\\xec\\x3d\\xe0\\xa3\\xaa\\xd2\\xfe\\xf1\\x7b\\xee\\xb9\\x77\\xfa\\xcc\\xbd\\xd3\\x7b\\xcb\\x24\\x99\\x49\\x0f\\x09\\xa4\\x51\\x32\\x10\\x40\\x3a\\x49\\x28\\x61\\x80\\x90\\x80\\x74\\x90\\xde\\x95\\xde\\x7b\\x13\\x14\\x09\\x55\\xe9\\x88\\x08\\x91\\x26\\xa2\\xae\\x8a\\xab\\x02\\x16\\x74\\x6d\\xbb\\x96\\x57\\x5d\\x77\\x2d\\x2b\\xfb\\xba\\xab\\xab\\x24\\x37\\xff\\x73\\xce\\xbd\\xd3\\x42\\xf4\\xdd\\xff\\xef\\xb3\\x4b\\x20\\xf1\\x66\\xee\\x73\\xda\\xd3\\xce\\xf3\\x7c\\xbf\\x5f\\x1d\\x3b\\x53\\xb8\\x72\\xf2\\xee\\xa5\\xf7\\xd7\\x3f\\x2c\\xfc\\x69\\xe2\\x7c\\xc0\\xd7\\xac\\xdc\\xd0\\x83\\xf8\\xfe\\x2d\\x26\\x61\\x18\\xe1\\x84\\x36\\x52\\x3d\\xc3\\x01\\xc0\\xb2\\x3c\\x4f\\xab\\x0c\\x06\\xb3\\x8a\\x67\\x4d\\x84\\x81\\x1a\\xe8\\x15\\x7a\\xb4\\x1a\\x7a\\xa8\\x40\\x9e\\x9c\\x4a\\xe1\\x94\\x5a\\xf3\\x12\\x3a\\x5d\\x0a\\x41\\xac\\x5f\\x2a\\x9e\\x97\\xc1\\x9d\\x2d\\xd2\\x25\\x44\\x02\\x37\\xf4\\x5a\\xd7\\xd1\\xdd\\xdd\\x8a\\x3d\\x39\\x19\\x15\\x55\\x06\\x90\\x12\\x63\\x89\\xee\\xbe\\x63\\x97\\x79\\x2f\\x32\\x1a\\xec\\x87\\x84\\x33\\x17\\xb8\\x84\\x12\\x26\\xc0\\x9e\\x41\\x9e\\xcf\\xe5\\xf0\\x60\\x39\\xab\\x52\\xf1\\x3a\\xb5\\xda\\x6c\\xb1\\xf2\\xd6\\x7c\\x6b\\xd8\\x5a\\x6f\\x9d\\x61\\x5d\\x66\\x3d\\x68\\x3d\\x6b\\x7d\\xcb\\xfa\\x99\\xf5\\x8e\\x55\\x4d\\x25\\xfc\\xf8\\x8e\\x55\\xde\\xc3\\x47\\xbe\\x5b\\x86\\x1e\\x78\\x01\\x7f\\x8f\\x82\\xc3\\xd8\\x37\\xb2\\x19\\xe8\\x1f\\xb4\\x15\\x57\\x35\\xe4\\x0c\\xac\\xee\\x55\\x67\\x05\\x61\\x2b\\xf0\\x5a\\x01\\x65\\x05\\x66\\xa8\\xd4\\x70\\x9a\\xb9\\x11\\x19\\xcf\\x52\\x1c\\xe6\\x62\\xe1\\x8c\\x2a\\x23\\x5d\\x15\\xe1\\x8c\\xc0\\xa8\\x56\\x51\\x79\\x22\\x9f\\x94\\xd4\\xe3\\x2a\\xe1\\x6f\\x82\\x28\\x51\\x20\\xc6\\x80\\x94\\xa0\\x1e\\x25\\x58\\x11\\x52\\x69\\x8e\\xf9\\x83\\x02\\x20\\x00\\x08\\xab\\x10\\xb6\\xb5\\x0c\\x53\\xd8\\xb1\\x53\\xd8\\xe8\\xb8\\x6d\\x7f\\x4f\\x10\\x1a\\x01\\xfd\\xa8\\xf3\\x11\\xb7\\x77\\xd7\\xea\\x81\\x3d\\x59\\x1f\\xd7\\x67\\xd4\\xfa\\x95\\xbf\\x3e\\xc7\\x56\\xac\\x7c\\x74\\xcf\\x52\\x13\\x25\\x71\\x66\\xcb\\xbd\\xc8\\x17\\xc8\\xc2\\x91\\x92\\x07\\xa6\\x85\\x42\\x16\\xa5\\x95\\xb3\\x5a\\x2c\\xe9\\xc8\\xe9\\xe2\\xb8\\x9c\\x60\\x7a\\x5d\\x24\\x18\\xa4\\xe4\\x5a\\xec\\xb7\\x68\\xe5\\x72\\x47\\x5d\\xc4\\x6a\\x45\\xb1\\x54\\x6c\\xbf\\x11\\x36\\x9d\\x98\\xdd\\x4c\\x50\\xea\\x89\\x90\\x65\\x09\\x6c\\xda\\xbf\\xe3\\x12\\xdc\\x4b\\xac\\x0d\\x3c\\x8f\\xc8\\x5c\\x8f\\x2f\\x11\\xbd\\x82\\x2a\\x43\\x6a\\x9c\\x64\\x7b\\x33\\x00\\x43\\xda\\x60\\xd9\\xde\\xe0\\xde\\xfa\\x28\\x71\\x0e\\xae\\xc4\\xd8\\xb6\\xab\\xfb\\x44\\xd9\\xb6\\xb1\\x6e\\x68\\x27\\xd4\\x90\\xfe\\x42\\x23\\xb2\\xa7\\xdd\\xc3\\x01\\xad\\xca\\x2e\\x67\\x94\\x6a\\xb5\\x46\\xa9\\x70\\x41\\x2b\\xcf\\x43\\x05\\xf4\\x6a\\x34\\x3e\\xbb\\x8a\\x52\\x2b\\x20\\x61\\xbc\\x77\\xc6\\xef\\x86\\xdb\\x2c\\xfe\\x14\\xb1\\x11\\x30\\x02\\x9b\\x11\\x14\\x02\\x1c\\x11\\x61\\x6b\\x80\\x54\\x44\\x90\\x74\\xa4\\x80\\x9a\\xf1\\x0b\\x73\\x06\\x4c\\x13\\xde\\xba\\xfe\\x0d\\x3d\\xf5\\x56\\xb3\\xa6\\xd0\\x71\\xdf\\xf2\\x9e\\x05\\xa5\\xfe\\x8a\\xca\\xa0\\x50\\x33\\x77\\x42\\xe1\\x43\\xeb\\x1e\\x61\\x96\\x35\\x39\\xe1\\x57\\x77\\xe7\\x1d\\xdc\\x56\\x5c\\xf3\\x48\\xdf\\xdd\\xa3\\x86\\xcc\\x98\\x55\\x7f\\xae\\x5d\\x30\\x8b\\xac\\x4f\\x4a\\xcb\\x77\\xb2\\xf7\\x91\\x3d\\xcb\\xa6\\xba\\x85\\x03\\x66\\x8e\\xe3\\xfd\\x50\\xe1\\xca\\x70\\x41\\x9e\\xc9\\xc9\\x35\\xf3\\x21\\xce\\xae\\xae\\x8c\\xd8\\x79\\x3d\\xc5\\x9b\\xa9\\xd4\\xb8\\x19\\x2b\\x97\\x8c\\x58\\x5b\\x07\\xbf\\x38\\x81\\x26\\x25\\xa9\\xe4\\x5d\\x84\\x3d\\x8e\\x15\\x6d\\x30\\x0b\\x2e\\x5c\\x51\\x75\\xe4\\x86\\x8e\\x5c\\xfa\\x82\\x77\\x3e\\xe1\\x3a\\x32\\x39\\x60\\xef\\x53\\x0b\\x77\\xec\\xe6\\x4a\\xb5\\xc3\\x26\\x2e\\x5a\\xe9\\x5d\\xf3\\xcc\\xa6\\xd0\\x57\\xa6\\xbd\\xeb\\x32\\xf3\\x41\\x56\\x65\\xd1\\x90\\x41\\x2f\\xee\\x6f\\xde\\x87\\xa9\\x8f\\xa6\\x8d\\x98\\x32\\x7a\\xc7\\xda\\xce\\x7d\\x85\\x8f\\xcb\\x33\\xab\\x6b\\x16\\x36\\xd0\\x67\\x9b\\x0b\\x6f\\x36\\xc6\\xee\\xf1\\x49\\xcd\\x81\\x0c\\xdf\\xe3\\xa3\\xf1\\xe5\\xa3\\x45\\xe9\\x4f\\xee\\xc8\\xb3\\xc3\\x66\\x56\\xa6\\xa6\\x64\\x94\\x56\\xa3\\xa2\\x21\\x5d\\x1f\\x91\\x43\\xc8\\x52\\x62\\x6f\\x67\\x5e\\x61\\x12\\x93\\x2d\\xce\\x08\\xe0\\x9c\\x27\\x86\\x38\\x09\\xc0\\xea\\x15\\x4f\\x38\\x8f\\xac\\x68\\x5c\\x79\\xd2\\x79\\x72\\x25\\x7d\\x70\\x33\\x7d\\xa0\\x79\\xf4\\xe6\\xe6\\xfa\\x18\\xdf\\xf7\\x76\\x34\\x29\\xfd\\xc3\\x21\\x2d\\xaf\\x87\\x06\\x8e\\x56\\xaa\\x95\\x06\\x83\\x91\\xd3\\x19\\x75\\x56\\xb5\\x46\\x63\\xd3\\x2a\\x79\\x3d\\xa3\\xe6\\x8c\\x06\\x14\\x06\\xb3\\x75\\x11\\x1a\\xa3\\xd4\\x89\\x77\\xb8\\x24\\x88\\x68\\x5d\\xef\\x11\\x8d\\xd6\\xc4\\xdd\\x2b\\x17\\x8b\\x3e\\x02\\xa4\\x02\\xa4\\x0b\\xa0\\x1f\\xe8\\xda\\xd9\\x8b\\xf4\\x4e\\xa5\\xa1\\x4f\\x94\\xf2\\xfb\\x7f\\x08\\x09\\xf8\\xc7\\x2e\\x24\\x85\\xf9\\x80\\x61\\xc0\\x48\\x61\\xbd\\xc4\\xfd\\x4d\\xb8\\xc0\\x99\\xc9\\x3b\\x76\\x51\\x31\\xae\\xa4\\x8f\\x44\\x39\\x55\\x46\\xbd\\xd1\\xa4\\x37\\x63\\x12\\x4e\\x0a\\x45\\x07\\x16\\xc6\\x62\\x35\\x99\\x6c\\x66\\x3d\\xa0\\x19\\xc6\\xc8\\x29\\xb4\\xd5\\x48\\x43\\x02\\x8a\\x91\\x78\\xc6\\xf0\\x2a\\x5b\\x13\\x29\\xc6\\xc4\\xf6\\x65\\x89\\xe3\\x57\\x12\\xac\\x30\\x59\\x5e\\xa9\\x48\\xe5\\x7b\\xfb\\xfe\\x85\\x3d\\x8b\\xdd\\x79\\xbe\\xf2\\x3e\\x86\\x59\\xc9\\xe5\\x2a\\xaf\\xac\\xda\\x8e\\x3c\\xd3\\xfa\\xd1\\xcd\\x17\\xa2\\x55\\x2b\\x64\\xad\\xac\\xa4\\x5f\\x4d\\x5a\\x2b\\x5c\\xc5\\xc0\\xca\\x64\\x5a\\x25\\x5a\\xab\\x4a\\x69\\xad\\xcc\\x09\\x6b\\x15\\x07\\x8a\\x49\\x5c\\x2b\\xe7\\xf2\\xd5\\xee\\x15\\xab\\x1b\\xd7\\x6c\\x70\\xaf\\x5d\\x4e\\x3f\\xb6\\x86\\x3e\\xdd\\x3c\\x78\\x4d\\xf3\\x78\\x64\\x23\\x9e\\xa0\\x28\\xb8\\x12\\x7d\\xb6\\x99\\x1a\\x11\\xce\\xd7\\x1a\\x50\\xc8\\x67\\xc4\\x3d\\xbf\\x26\\x9d\\x9e\\x97\\xe3\\x95\\xb2\\xe8\\x4d\\xbc\\x19\\xe8\\x28\\x8e\\xe7\\xaa\\x22\\xbc\\xd9\\x4c\\x55\\x45\\x64\\x5a\\xb3\\x19\\xc7\\xfd\\x1a\\xb3\\x94\\xc5\\x2f\\x2d\\x15\\xc1\\xad\\x25\\x9a\\x8f\\xd2\\x04\\x1c\\xb6\\xa8\\x1f\\x2c\\x37\\x12\\xde\\x6f\\x5a\\x8e\\x56\\x0d\\xa3\\xe2\\x06\\x0b\\xad\\xc5\\xb0\\xea\\xe4\\x9f\\x1b\\x6b\\x4d\\xac\\x8c\\x37\\x0c\\x13\\xb6\\xbc\\x44\\xaf\\xf3\\xbd\\x69\\x7d\\x23\\x70\\xdc\\x71\\x92\\xf9\\xb9\\xec\\x6e\\x05\\xdd\\x75\\xda\\x44\\xb5\\xdb\\xbf\\xb5\\xf9\\x45\\xf8\\xee\\xf9\\x8a\\x79\\x3d\\x6e\\x3e\\x5c\\x86\\xe7\\xa2\\x3f\\x3a\\x97\\x38\\x2f\\x11\\xa2\\xaa\\xc3\\x19\\xde\\x74\\x5f\\x5a\\x5a\\x6a\\xaa\\xcf\\xcf\\x29\\xcc\\xb4\\x43\\xe1\\xc8\\xf0\\xfb\\x33\\xd3\\x69\\x75\\x9a\\xc1\\x67\\x51\\x43\\x16\\x69\\x4e\\xd6\\x48\\xb9\\xe3\\xfa\\x52\\xd4\\x99\\x49\\x3e\\x66\\x61\\xab\\x42\\x81\\x60\\x8c\\x3c\\xa3\\x30\\xf1\\x54\\x8a\\xff\\x74\\x92\\x63\\x1b\\x28\\x46\\x67\\x54\\x7f\\xb3\\xf7\\xc8\\x83\\xa3\\x8e\\x9e\\x31\\x9f\\xbf\\x7a\\xde\\x50\\x33\\x7a\\xe1\\x46\\xcf\\xd5\\xe7\\x2e\\xf3\\x83\\x22\\x3f\\x97\\x5f\\x7e\\xee\\x2b\\x13\\x77\\xdc\\x58\\x76\\xcc\\x74\\x7c\\x54\\x9f\\xe3\\x87\\xee\\x9b\\x06\\x1f\\x69\\x9a\\x50\\x1b\\x9e\\x50\\xfb\\xd8\\x23\\xf0\\xb5\\xa6\\xfb\\x06\\x94\\xd4\\x8d\\x04\\x15\\xf0\\xe2\\xdd\\xf1\\x63\\x56\\xef\\x18\\x30\\x2c\\x66\\xa7\\x31\\x87\\xb9\\x95\\xea\\x14\\x76\\x53\\x7a\\x33\\x63\\xb6\\x30\\x1c\\xa7\\xb4\\x58\\xec\\x4a\\x9b\\x19\\xf0\\x50\\xae\\x41\\xbe\\x9a\\xdc\\x69\\x90\\x38\\xff\\xc5\\x61\\xc4\\xeb\\xbf\\xe2\\x15\\x51\\x04\\x51\\x3e\\x6e\\x9c\\x13\\x18\\xcd\\x53\\x14\\x37\\x3d\\x8f\\x6d\\x8a\\xdb\\xe7\\x04\\x6e\\xf3\\x2f\\x42\\x77\\xdf\\x7a\\x6c\\xb3\\x64\\xa4\\xe3\\x14\\xe7\\xa4\\xbe\\x8b\\xd4\\x2f\\xf0\\x32\\x38\\x29\\x7e\\x9f\\xce\\xee\\x36\\xc8\\x98\\x3d\\x94\\xc4\\x81\\x2e\\x1f\\x84\\xfc\\x3d\\x9c\\x97\\xe9\\x14\\xf6\\x04\\x39\\x1f\\xb2\\x60\\x99\\x72\\xa5\\x32\\x4b\\x0b\\x4d\\x0a\\x53\\xa0\\x2e\\x62\\x32\\xca\\x91\\x3a\\x77\\xc6\\xd9\\xd0\\x0b\\x13\\xc8\\xf9\\x0a\\x13\\xe0\\xbb\\x19\\x2b\\x52\\xe5\\x68\\xbb\\x62\\x6c\\x3e\\x92\\x3c\\x88\\x93\\xa4\\xeb\\x40\\x12\\x4b\\xfa\\x57\\x20\\x3f\\x77\\x62\\x3d\\x3f\\x2c\\xf0\\x92\\xc5\\xbd\\x6d\\x17\\x3b\\xfb\\x13\\xe1\\x8d\\x67\\xa2\\x84\\xe9\\xbb\\xbe\\x3a\\x18\\x89\\x91\\x7e\\x7f\\xf4\\x4a\\xde\\xd4\\x5e\\xc7\\x26\\xaf\\x3f\\x59\\x5e\\xe0\\x3b\\x27\\x5c\\xfd\\xe7\\xb2\\x18\\x71\\xfa\\x98\\x17\\x84\\xcf\\xd6\\xc6\\x58\\xbf\\x09\\x37\\x13\\x8b\\x79\\xfd\\xac\\x54\\x1a\\xd5\\x35\\xec\\xd3\\x68\\xb5\\x9c\\x07\\xda\\x54\\x50\\x95\\xce\\x71\\x41\\xa3\\x8a\\xd2\\xea\\x38\\xb9\\x83\\x44\\x2c\\xfe\\xe4\\x88\\xa5\\xd0\\x90\\x44\\x33\\x98\\xa0\\xec\\xc5\\x60\\xa5\\x28\\x3a\\x24\\x19\\xad\\x03\\x20\\xd1\\xcb\\x07\\xdf\\xbe\\xfc\\x25\\xf2\\xeb\\x5f\\xfd\\x44\\xb5\\xce\\x81\\x87\\xe2\\x58\\xb1\\x54\\x36\\xf8\\xe1\\x77\\x80\\x22\\xce\\xde\\x64\\xfa\\xe6\\x26\\x76\\xec\\x5f\\xbd\\xd0\\x7b\\xd9\\xb1\\xc9\\x4b\\x8e\\x97\\x2d\\x42\\x5e\\xc5\\x70\\xfa\\xf9\\x24\\x16\\x27\\xb4\\x06\\xc2\\x30\\xd9\\xcf\\x68\\x0d\\x0c\\x94\\x17\\x7b\\x79\\x0e\\x68\\x54\\x72\\x90\\xf3\\x21\\xa7\\xca\\xaf\\x75\\xaa\\x90\\xe6\\x32\\x63\\x4a\\x7a\\xe4\\x38\\x78\\xdd\\xf8\\x28\\xf0\\x62\\xb1\\x8c\\x78\\xf9\\x2e\\xc5\\x29\\xe5\\xf1\\xc5\\x48\\xf2\\x18\\x0a\\xac\\x69\\x85\\xf8\\xb8\\x62\\xf6\\x39\\x91\\x56\\x90\\x08\\x5f\\x4c\\xbf\\x22\\xcd\\xf7\\x3f\\x4e\\x1f\\x01\\x6f\\x67\\x09\\x7b\\x1a\\x41\\xf8\\x7f\\x3e\\x9b\\x71\\x15\\x44\\x46\\xad\\xc3\\x2b\\x70\\xfb\\x8d\\x75\\x13\\x4d\\xd1\\xc9\\xee\\xdf\\xf3\\x3f\\xaf\\xc9\\x1e\\xa0\\xef\\x2e\\x6f\\x1f\\x62\\x3e\\xcb\\x27\\x33\\xff\\xd6\\x9f\\x73\\x45\\x9f\\xa0\\x02\\xf9\\x04\\xc5\\x68\\xde\\xf5\\x94\\x1b\\x33\\x7a\\xd8\\xa0\\x41\\xc9\\x21\\xc1\\x39\\x08\\x3d\\x5e\\x24\\x3c\\x6f\\xe0\\x4c\\x72\\x53\\x25\\x12\\x9e\\x77\\x3b\\x71\\x42\\x8f\\xc7\\x73\\x7f\\x8f\\xf0\\x49\\x79\\xb1\\xd8\\xe4\\x8b\\xb2\\x07\\xa0\\xcc\\x98\\x1e\\x9b\\xf6\\x62\\x69\\xd6\\x8f\\xac\\x05\\xa3\\xb2\\x84\\x0f\\x9f\\x02\\xec\\x73\\x4f\\xce\\x59\\xd8\\xa5\\x82\\x4c\\x79\\x97\\x5c\\x69\\xc2\\xfb\\x75\\xff\\xd5\\xc0\\x96\\x37\\x6d\\x2b\\x83\\xaf\\x1b\\xc5\\xa9\\x56\\x23\\x59\\x71\\xae\\xf7\\x0d\\xc2\\x19\\xee\\xc6\\x0c\\x42\\x3a\\x83\\x45\\xa1\\x50\\xda\\x51\\x74\\x60\\x40\\xc2\\xaa\\xdc\\x66\\x34\\xb7\\x16\\x39\\xfa\\xc3\\x5b\\x78\\x25\\x72\\x37\\xb1\\xf5\\x14\\x91\\xeb\\xef\\x69\\x18\\x4f\\xa4\\xd8\\x4f\\x4c\\x0b\\xc4\\xd8\\xf6\\xff\\x94\\xc0\\xb6\\x1f\\xcb\\x0a\\x0c\\x6e\\x4d\\xba\\x1f\\x4f\\x09\\x48\\xe4\\xfb\\xd1\\x5e\\xbd\\x8f\\xd0\\x4e\\xc8\\xc5\\x11\\x0c\\x97\\x6d\\xca\\x76\\xb9\\xf2\\x65\\x6c\\x1a\\x0a\\xc5\\x15\\x26\\x14\\x03\\x2a\\xf2\\x90\\xfd\\xb2\\xdb\\x7d\\xd8\\x75\\xd1\\xe8\\xab\\x23\\x3a\\x0d\\x40\\x5e\\x7f\\x28\\xc1\\x7f\\x89\\x07\\x00\\x89\\xb8\\x1c\\x86\\x52\\xc9\\xb2\\x91\\x9e\\x3d\\x0e\\x09\\x0e\\x12\\x7c\\x49\\xf0\\xfb\\xbd\\x7b\\x34\\x5f\\x7b\\x1e\\x94\\xc7\\x8c\\x5e\\x6f\\x63\\x0e\\xdd\\xf7\\xd0\\xac\\x84\\x1e\\x3e\\x9c\\xe1\\x33\\x4d\\x1c\\x65\\x1c\\x27\\xb8\\x65\\xd3\\x24\\x0b\\xf8\\x65\\x5d\\x75\\x72\\x1f\\x5f\\x2c\\xc5\\x87\\xb1\\x2a\\x84\\x17\\xd9\\x12\\x72\\xd7\\x6c\\xa3\\xaa\\xc2\\x99\\x46\\x35\\x72\\xea\\x75\\x1c\\x74\\x40\\x9b\\x9c\\x91\\xe1\\xca\\x52\\x35\\xe3\\xb0\\xeb\\x68\\x1b\\x5d\\x17\\x91\\x5b\\xeb\\x22\\x36\\xb9\\x0d\\xdf\\x41\\x50\\x0c\\x5a\\x94\\xeb\\xc9\\xab\\x92\\x40\\xd0\\x9f\\x78\\xf9\\x0c\\x63\\xd0\\x15\\x89\\x1c\\xfd\\xf0\\xd6\\x4f\\xc2\\xc2\\x41\\xcf\\x03\\xfd\\xb3\\x1e\\x30\\xff\\x36\\x00\\x1f\\xdc\\x06\\x9c\\xf0\\x00\\xa1\\xe9\\x5f\\x3b\\x4e\\x78\\x91\\xfe\\x87\\x50\\xc5\\x2e\\x7f\\xec\\x8d\\x63\\x98\\xa9\\x1f\\xc0\\xd5\\x51\\xa6\\x7e\\x40\\x0d\\x42\\xfa\\xa5\\x3d\\x3a\\xa3\\xb9\\xb8\\xfe\\x55\\x26\\x97\\x5b\\xd3\\x3c\\x5e\\x2f\\xa5\\x4d\\xd3\\xe6\\xe5\\x53\\x56\\x55\\x8a\\xc7\\x93\\x92\\x82\\xdc\\xfb\\x14\\xa3\\x4c\\xa6\\x52\\xc1\\xfa\\x88\\x2a\\x31\\x28\\xc6\\x7f\\xe9\\xe3\\xb7\\x20\\x71\\x88\\x35\\x10\\x8f\\x85\\x09\\xac\\x29\\x44\\x73\\x00\\xa2\\x80\\x02\\x56\\x19\\xe3\\xc7\\x24\\xf5\\x5d\\x60\\x71\\x17\\x9a\\x79\\xb0\\x61\\xdb\\xde\\xd7\\x4b\\x1a\\x23\\xc0\\xfe\\xc3\\x9f\\x7f\\xc9\\x1f\\x32\\x77\\xc3\\xe5\\x29\\x37\\x9e\\x3a\\xb7\\x67\\xd9\\xa5\\x65\\x1d\\xce\\xd6\\x09\\x17\\x5b\\xa8\\x1f\\x85\\x7f\\x77\\xa8\\x5d\\xbe\\xf7\\xda\\xad\\x03\\x03\\x99\\xfb\\x6a\\xc7\\xcc\\x5f\\xee\\x7f\\xe9\\x89\\x27\\xf7\\x0d\\x7e\\x30\\x52\\x9e\\x9d\\x6a\\x0e\\x6d\\x9d\\x39\\x71\\x7a\\xb7\\x95\\x8b\\xf3\\xbe\\x7a\\xe9\\xb9\\xa7\\x6a\\x56\\xd5\\xf7\\x28\\x48\\xcf\\xa8\\x18\\x83\\xc7\\x95\\xdd\\xf2\\x1d\\x7c\\x99\\x19\\x48\\xa5\\xe3\\x71\\x59\\xac\\xd6\\x54\\xdc\\x4b\\xa1\\x77\\x29\\x5d\\xa1\\xa0\\x3e\\xd5\\x2e\\x43\\xf6\\xcb\\x6e\\xc4\\x3d\\xe9\\xd1\\x8c\\x1f\\xff\\x5f\\x8d\\x8b\\x0c\\xca\\x1f\\x85\\x6a\\xa5\\x45\\xf8\\x46\\x2b\\x29\\xf9\\xc1\\xfe\\x3e\\xc9\\xf7\\xd0\\x15\\xd3\\x17\\x79\\x77\\x0f\\x00\\xa3\\xce\\xbd\\xd8\\xab\\xe1\\xe4\\x53\\xd3\\x8a\\xbe\\x58\\xb4\\xce\\xbb\\x73\\x80\\xb0\\xeb\\xa5\\x77\\x06\\x9d\\xbc\\xb8\\x60\\x65\\xc9\\x54\\xf8\\x87\\x1e\\x55\\xf9\\x3f\\x6e\\x59\\x5e\\x35\\xab\\xa6\\xa0\\xb0\\xb8\\x47\\xe1\\x9e\\x3e\\x83\\x4b\\x7e\\xdc\\xb9\\x25\\xb2\\x6c\\x54\\xa1\\xaf\\x04\\x99\\xa1\\x6e\\x2d\\x2d\\x2d\\xbf\\xa2\\x33\\x0d\\x71\\xce\\x0f\\x0e\\x21\\xfb\\xea\\xac\\x50\\x43\\x2f\\x65\\xdf\\xa3\\x5c\\xc8\\xbb\\x28\\x0f\\x3b\\x7d\\x94\\xd2\\x9a\\x2e\\x93\\x71\\x56\\x8a\\xc9\\xc8\\x34\\x20\\x07\\xd0\\xe0\\x0c\\xd8\\x3e\\x73\\xdc\\x71\\xd0\\x0e\\x14\\x64\\x5e\\x50\\x6a\\x7b\\x39\\xdc\\x10\\x79\\xbb\\x37\\xdf\\xcd\\xaa\\x2d\\xb8\\x59\\x9e\\x7c\\xeb\\x61\\x6c\\x5f\\xd4\\x8a\\x52\\x5a\\xf2\\x2b\\xf0\\xdf\\xc5\\x51\\x0c\\x5f\\x34\\x94\\xb3\\x6b\\xa7\\x4c\\x9d\\xa9\\x69\\x61\\xeb\\x4a\\xda\\x7b\\x7a\\x74\\x9d\\x30\\x57\\xf9\\x73\\x4e\\x97\\x3e\\x43\\xde\\x2a\\xea\\x9d\\x9b\\x59\\xd2\\x37\\x9f\\x69\\x19\\x3d\\x77\\xca\\xf8\\x50\\xf9\\xaf\\x5f\\xbb\\x2c\\xb5\\xda\\xfd\\xda\\x79\\x93\\x42\\xf9\\xcc\\x3f\\xdc\\xc3\\xde\\xea\\x57\\x9c\\x99\\xdd\\xa7\\x28\\x33\\x0f\\xaf\\x03\\x27\\xd6\\x7b\\x20\\x7f\\xb6\\x77\\x38\\x5d\\xe9\\xb3\\x38\\x1c\\x46\\x8e\\xe6\\x7c\\xd0\\x1a\\xb0\\xa6\\xda\\xf5\\x06\\x7d\\x55\\xc4\\x62\\x32\\x70\\x4a\\x0f\\x52\\xa5\\x16\\x8a\\xad\\x46\\xde\\xb6\\x53\\xf2\\xb6\\xf1\\x9f\\xeb\\xc9\\x38\\xff\\x51\\xf9\\x63\\xd4\\x48\\x81\\xb6\\xf9\\xce\\x20\\xbd\\xa2\\x6b\\x01\\x3e\\xd0\\xe5\\x7a\\x15\\xb8\\x97\\xf8\\x2c\\x3b\\x43\\xa8\\x31\\xef\\x31\\x8d\\x1c\\xd3\\xb9\\x35\\xff\\x99\\xf0\\x91\\xf0\\x2f\\xd1\\xaf\\x5d\\x11\\xab\\x19\\x29\\x0c\\xdb\\x64\\x2a\\x40\\xab\\x68\\x5c\\x31\\xa2\\x50\\xd0\\x5a\\x0c\\xa1\\x89\\x61\\xa8\\x68\\x03\\x15\\xad\\xea\\xc4\\x95\\x61\\xf7\\x50\\xfa\\xa6\\xc4\\x2e\\xc6\\xe4\\x70\\xf8\\xbf\\xae\\xfd\\xeb\\xf5\\x4b\\x44\\x5b\\xc2\\x85\\x1e\\xe6\\xab\\xbb\\x4e\\xe6\\xab\\x2b\\xa2\\x8a\\x24\\xb9\\x07\\xc2\\x01\\x77\\x03\\xe9\\xc7\\x14\\x1c\\x81\\xa2\\x59\\x52\\xb2\\x3e\\x96\\x0b\\x70\\xa9\\x5a\\x43\\x35\\x8a\\xb1\\x81\\x5d\\xae\\x90\\xa3\\xa9\\x52\\x70\\x28\\x56\\xf2\\x48\\x3a\\x31\\x6e\\x6b\\xc8\\x5f\\x09\\x6e\\x63\\x12\\x11\\x5c\\x92\\x36\\x6c\\x83\\x12\\x6e\\x89\\xcb\\xf1\\xc8\\x62\\x51\\xff\\xf5\\x32\\x69\\xef\\x25\\x87\\x5b\\xbf\\x7c\\x37\\x52\\x7b\\xa3\\xc7\\x56\\x24\\x71\\xc4\\x49\\xf5\\x3d\\x94\\x89\\xca\\x0d\\xdb\\x58\\xa3\\xda\\x48\\x41\\x33\\x4d\\x5b\\x74\\x18\\xbb\\xcb\\x89\\x29\\x11\\xea\\x22\\x20\\xe1\\x16\\x11\\xc4\\xe0\\xb8\\x8c\\xc5\\x7e\\xb9\\x1f\\x24\\x6f\\x3c\\x70\\x09\\x97\\xcc\\x08\\x2e\\xe1\\x67\\x45\\x55\\x59\\x7b\\xef\\x7d\\x61\\xb4\\xeb\\x80\\x9a\\xf9\\xaa\\xa1\\xe1\\xd7\\x33\\x21\\x4f\\x0d\\xbf\\x5f\\x3f\\xfd\\xfe\\xf4\\x4e\\xec\\x70\\xf4\\xb1\\x7b\\x90\\x5f\\x97\\x87\\xde\\xeb\\xa1\\x4a\\xc2\\x4e\\x27\\xaf\\x57\\x41\\x3d\\xf4\\x9a\\xad\\x56\\x1f\\x72\\x41\\xcd\\x16\\x88\\xfc\\x41\\x8c\\x4f\\x17\\xcb\\x42\\xc4\\xdc\\xa0\\x04\\xc2\\x79\\x16\\x6b\\x9f\\x98\\xe7\\xec\\xc3\\x9e\\x73\\xcc\\x19\\x82\\x34\\x45\\x6f\\xf9\\x9b\\xf0\\xa3\\x75\\xf7\\xf3\\x87\\xf5\\x4f\\xed\\x03\\xcb\\xfa\\x1f\\xbf\\x36\\xe0\\xa7\\x10\\x72\\x83\\xcc\\xa9\\x37\\x2e\\xf7\\x29\\x14\\xce\\x9a\\xee\\xdc\\x8e\\xcc\\x86\\xb2\\xa6\\x67\\x6a\\x4a\\xd6\\x3d\\x0a\\x76\\xc3\\xb1\\xc2\\x03\\x79\\xcf\\x1d\\x1b\\xf7\\xf4\\x15\\x8f\\xb0\\x54\\xf8\\x51\\xf8\\x5a\\xe4\\xcf\\x63\\x37\\x30\\x65\\x48\\xf7\\x84\\xc3\\x29\\x30\\xa0\\x56\\x98\\xcd\\x2e\\x7b\\x80\\x09\\xf2\\x7a\\x7d\\x48\\x99\\xce\\xf9\\xd8\\xca\\x08\\x0a\\x02\\xcc\\x6e\\xc8\\xdb\\xcd\\x28\\x76\\x21\\x91\\x8a\\xb5\\x54\\x14\\x38\\x29\\x3c\\x49\\xa6\\xd0\\x8b\\x7b\\xa1\\x32\\xfa\\x37\\xd9\\xf4\\x2a\\xc7\\x6e\\x30\\x61\\x69\\x03\\x7f\\x38\\x9e\\x53\\xa4\\x68\\x9b\\x58\\x4f\\x18\\xef\\x5c\\x3c\\xe2\\xd8\\xb8\\x13\\xaf\\xa4\\x7e\\x2d\\xdc\\xe9\\x97\\x48\\xb1\\x07\\xa8\\x85\\x2d\\xdf\\xca\\x32\\xd1\\xfc\\xa6\\x53\\xbd\\xc2\\xe9\\x3e\\x87\\x56\\xce\\xf0\\x56\\x6b\\x80\\x67\\x18\\x55\\x00\\xba\\x82\\xae\\x90\\xcf\\x83\\x7e\\xa6\\x52\\xab\\xea\\x22\\x4e\\xb5\\x98\\xbc\\x8f\\x4e\\xb5\\xd8\\x6e\\x96\\x54\\x2d\\x15\\xcd\\x90\\xa7\\xa6\\x77\\xe0\\xa9\\x34\\x59\\x16\\x6e\\x29\\x93\\x25\\x18\\xe1\\x20\\xfa\\x1e\\x85\\x04\\x04\\xbe\\x83\\xa1\\xdf\\x7a\\x46\\xb8\\xb3\\x03\\xa4\\x01\\xcb\\x91\\x02\\xc1\\x43\\xf7\\xcf\\xfa\\xe7\\x7f\\x3e\\xbe\\xfe\\xe8\\xbf\\xd6\\x2e\\xdf\\x9a\\x43\\x07\\x3c\\x6f\\x74\\xb8\\x78\\xf8\\xdc\\x15\\xe1\\x69\\xf3\\x9a\\xbb\\x27\\x00\\x0f\\x66\\x0f\\x53\\x37\\x7c\\xd6\\x5f\\x78\\xee\\xeb\\xeb\\x9f\\x6e\\x02\\xf0\\xec\\xe3\\x5f\\x0f\\xfa\\xac\\x41\\x3d\\x5c\\xb8\\x7d\\xf9\\x96\\xf0\\xec\\x39\\xbc\\x3f\\x77\\x21\\xbb\\xb6\\x86\\xdd\\x44\\xf9\\xa9\\xa2\\xb0\\xd3\\x6a\\x54\\xab\\x19\\xa3\\x9b\\x71\\xa7\\x04\\x6c\\x0e\\x07\\xf2\\x39\\x1d\\x8c\\x1c\\x52\\xba\\xb8\\xf0\\xe5\\xad\\x6d\\x2e\\x96\\x5a\\x24\\x76\\x8a\\xc5\\x5a\\x0e\\x20\\x22\\xd2\\x8a\\xba\\x53\\x05\\x18\\x7a\\xfc\\xfa\\x77\\xe7\\xe8\\x0f\\x3e\\x7f\\x44\\xfb\\xd8\\xce\\x25\\x6f\\x3d\\x3a\\x7a\\x79\\x87\\xf6\\xd6\\x70\\xc5\\xda\\x75\\x63\\xaf\\x0b\\x37\\x4d\\x93\\x5f\\x5d\\xdf\\x6f\\x08\\x2c\\x6b\\x3a\\xd2\\xb5\\xf3\\xe6\\x87\\xf7\\x82\\x3c\\xf0\\xe8\\xa8\\x63\\xaa\\x7d\\xea\\xc7\\x77\\x8d\\x13\\x42\\xc2\\x8e\\xe7\\xc8\\x99\\x7f\\x8f\\xa2\\x64\\x6b\\xd8\\xcd\\x48\\x88\\xa2\\xb0\\x83\\xd3\\x69\\x55\\xbc\\x8e\\x37\\xd1\\xb4\\x59\\xc5\\x6b\\x74\\x10\\x45\\xb1\\xb2\\xba\\x08\\x0a\\xf8\\x71\\xf6\\x21\\x4f\\xc4\\x9f\\x48\\x0e\\x0e\\xc5\\xa4\\x83\\x48\\xad\\x83\\x15\\x0e\\x8e\\xe3\\xbb\\x00\\x76\\xdf\\xb2\\x49\\xe3\\x52\\xba\\x65\\xa5\\x97\\xa5\\x0a\\x70\\xe6\\xb5\\xd9\\xc2\\xb2\\x97\\x41\\x01\\xb8\\xd2\\x6f\\x31\\xbb\\xb9\\x7e\\xb5\\x33\\xe8\\xcf\\x6e\\x3e\\xd5\\x7c\\x89\\xee\\x05\\x4b\\x9b\\x47\\xd1\\xa6\\xe1\\x61\\x4a\\xe4\\xae\\x93\\x05\\xd9\\x77\\xd1\\x99\\xea\\x1a\\x4e\\x51\\xab\\x5c\\x98\\x91\\x98\\xb6\\x58\\x7c\\xb4\\xd7\\x64\\xaf\\x8e\\x50\\x56\\x60\\x85\\x56\\xab\\x89\\x52\\x71\\x89\\x75\\xe0\\x51\\x00\\xab\\x78\\x16\\xb6\\x95\\x6e\\xc6\\x8c\\x7f\\x16\\x6b\\x71\\xdc\\x1b\\x93\\x23\\x27\\x40\\x59\\xde\\xc5\\x9b\\x9a\\x3b\\x74\\x7b\\x5f\\xc7\\x87\\x17\\x67\\xa8\\x1d\\x6c\\x27\\xd0\\x5c\\xb1\\x77\\xf6\\xe2\\xba\\x31\\x25\\x3d\\xea\\x07\\x36\\xd7\\x6d\\x7a\\x97\\xb0\\xd8\\x2d\\x5c\\x99\\xc3\\xe4\\x36\\x9f\\xea\\xda\\x50\\x31\\x1b\\x9e\\x78\\x70\\x41\\xed\\xb2\\x2e\\xeb\\xef\\x0e\\xfe\\x19\\xaf\\xab\\x58\\x93\\x82\\xf6\\xa7\\x9e\\xaa\\x0c\\x67\\x2b\\x34\\x72\\x15\\x8a\\x41\\xf5\\x0a\\x1d\\xcd\\x22\\x1d\\xa4\\xd3\\x19\\x38\\xb5\\x4e\\x5d\\x17\\x51\\xe9\\x29\\x7d\\x7d\\x44\\x4e\\x51\\x8c\\x0e\\x19\\x50\\x06\\x12\\xc0\\x4a\\x49\\x17\\x25\\x95\\xd1\\x49\\x6e\\x64\\x21\\xd9\\xa7\\x46\\x7f\\x94\\xa1\\xcd\\x8f\\xff\\x14\\x03\\xff\\x2c\\x20\\x80\\x43\\xcd\\xd0\\x03\\xbf\\x71\\x0a\\x95\\x60\\xad\\x43\\x30\\x0b\\x3c\\x9c\\xeb\\xb9\\xbb\\xdf\\x09\\x5a\\x84\\xf1\\x30\\x17\\x5c\\x6c\\xd8\\x28\\x94\\xac\\x6e\\xfe\\xb1\\x61\\x2b\\xed\\x10\\xf3\\xda\\xef\\xa2\\x97\\xca\\xd0\\xd9\\xff\\x1d\\xf9\\x2a\\x89\\x7c\\x95\\xa2\\x7c\\x66\\x2c\\x5f\\x65\\x84\\xe1\\xfe\\x5f\\xe4\\xeb\\x03\\x96\\x82\\x8a\\xe6\\x63\\x4e\\x58\\xe2\\x14\\xae\\x80\\x1c\\x87\\x30\\x59\\x38\\x49\\x1f\\x73\\x36\\x3d\\xe4\\x04\\xc3\\x84\\xbf\\xd3\\x93\\x40\\xcf\\x8d\\xeb\\x85\\x4b\\xab\\x85\\x63\\x1b\\xd7\\x83\\x11\\xa2\\x7c\\x97\\x84\\xa1\\xac\\x9e\\xe8\\xcf\\x01\\xe1\\x0c\\xbb\\x42\\xc1\\xba\\x01\\xc3\\x53\\x10\\xfa\\xf4\\x3c\\xef\\xf5\\xb8\\xeb\\x23\\xac\\xc7\\x43\\x6b\\xb5\\xa6\\xba\\x88\\x5e\\xaf\\x75\\x32\\x80\\x06\\x75\\x11\\x3a\\x36\\x79\\xb1\\x2b\\x84\\xc2\\xac\\x44\\xd9\\xc4\\x5b\\x7f\\x2c\\x1b\\xce\\x75\\x12\\x36\\x60\\xe9\\x6e\\x9a\\x78\\x44\\xe8\\xdc\\x33\\xca\\xa6\\x1f\\xbc\\xf0\\x57\\x5f\\xf3\\xd1\\x4f\\xbe\\x1e\\x71\\xbe\\xe9\\xe1\\x9b\\xc2\\x4f\\x79\\xc7\\xb3\\xcf\\xae\\x9e\\x74\\x7e\\x65\\x97\\x4f\\xdf\\xab\\x44\\xd6\\xb0\\xe1\\x90\\x60\\xb1\\x0b\\xb7\\xb7\\x08\\x4d\\x2f\\x8c\\xbd\\x78\\xae\\xe3\\xb6\\xa5\\x55\\x87\\x6e\\xde\\x7f\\xf2\\x3c\\xd2\\x49\\x2d\\xdf\\x21\\x99\\xcd\\x48\\x66\\x07\\x55\\x1d\\xce\\xb2\\x9b\\x95\\x2a\\x95\\xc3\\x64\\xc6\\x7a\\xc9\\xc5\\xf0\\xbc\\xd3\\x6c\\xb7\\xd8\\xd1\\x89\\x36\\x99\\x40\\x7d\\xc4\\x64\\xd2\\x5a\\xa0\\x52\\xa9\\xd5\\xa2\\x70\\x47\\xeb\\x8c\\xb9\\x74\\xd2\\xf5\\x67\\xe2\\x94\\xc6\\x5d\\x6a\\x1c\\xcc\\x8b\\xd7\\x1b\\xf8\\x92\\x9a\\xc2\\x77\\xd4\\xc5\\x80\\x18\\x29\\x38\\xa0\\x54\\xf8\\x5c\\x68\\x3c\\xb1\\x15\\xd8\\x4e\\x6f\\x5a\\x24\\xfc\\xf5\\xf5\\x4f\\x84\\x9f\\x4e\\x82\\xb2\\x1b\\x42\\x9d\\x0f\\xfe\\xea\\x6d\\xba\\x0d\\x0e\\xd2\\x93\\x51\\x30\\x74\\x77\\xef\\x19\\xc0\\x0d\\x7a\\x76\\x37\\x00\\x1f\\xbf\\x04\\x3a\\x5c\\x31\\x80\\x6f\\x0e\\x35\\x08\\x06\\x24\\xf7\\xf3\\xc2\\x10\\x26\\x95\\xe9\\x88\\x4e\\xcc\\x90\\x70\\x36\\xb0\\xeb\\x38\\x8e\\xb6\\xd9\\x19\\xb3\\xd3\\xe9\\xc6\\x16\\xc1\\x46\\xd3\\x68\\xe1\\x69\\x5a\\xef\\xb0\\x03\\x07\\xa8\\x8c\\x20\\x0d\\xa0\\xd3\\xeb\\xd1\\xee\\xd0\\x3b\\x93\\x7c\\x51\\xe2\\x5d\\xb4\\x2d\\xba\\x1f\\x53\\xf5\\xc5\\x08\\x4b\\xf0\\x45\\x34\\xd6\\x59\\x14\\x16\\x9f\\x51\\x36\\x97\\x82\\x9e\\xae\\x8c\\x15\\xef\\xce\\x5b\\x37\\x6d\\xd5\\xf1\\xfc\\xa3\\xb3\\x84\\x71\\x4b\\xae\\x4d\\x00\\xda\\xef\\x85\\x3f\\xa5\\xc0\\xd9\\xf0\\x8c\\x30\\x6f\\xfd\\xc4\\x6b\\x0b\\x96\\xed\\x9d\\xbb\\x5a\\x23\\xac\\x9e\\xfc\\xc2\\x82\\xf7\\x41\\x66\\x1a\\x78\\xe0\\x69\\xbc\\x47\\x9e\\x14\\x86\\x32\\x1e\\xb4\\x87\\xb3\\xa9\\x91\\xe1\\x7c\\xe4\\xaf\\xb9\\xb3\\x29\\xca\\x6d\\xb4\\x30\\x32\\xb3\\xcd\\x96\\x1b\\x94\\xc9\\x72\\xec\\x16\\xab\\xa5\\x12\\x4f\\x39\\x72\\xa1\\x83\\x9c\\xc9\\x44\\x5b\\xb9\\xec\\x6c\\x9a\\xce\\x44\\xc3\\x49\\x9a\\x74\\x4c\\xa7\\x77\\xef\\x4e\\x8e\\x25\\x23\\x24\\x79\\x25\\x26\\x04\\xa4\\xc8\\x8a\\xe3\\x9b\\x08\\x9b\\x39\\x1d\\x24\\x06\\xba\\x18\\x2e\\xdb\\x2e\\x54\\xcf\\xbc\\x32\\xa9\\x20\\xd2\\xf0\\xe4\\xa6\\xb9\\xe1\\xfe\\x27\\xd7\\x3a\\xc1\\xfe\\xe6\\xc3\\x4e\\x38\\xd6\\x2a\\xe4\\xed\\x3d\\xbc\\xa2\\xd3\\x89\\xd1\\x45\\xb3\\xeb\\x3a\\x3d\\xf8\\x10\\x30\\x4c\\x1a\\x27\\x3c\\x5b\\xb1\\x64\\x70\\xb7\\xf1\\xfd\\xc3\\x41\\x4f\\x4e\\xc7\\xcc\\xc2\\xf6\\xce\\x8d\\x20\\x73\\xd3\\x7c\\xe1\\x0a\\xf7\\xe0\\xf8\\xdd\\x95\\x69\\xd9\\x56\\xad\\x2b\\xbb\\x7b\\xfb\\x6e\\x7d\\x5f\\x93\\x78\\xd3\\x86\\xa0\\xd8\\x27\\x95\\x1a\\x11\\x6e\\xa7\\x52\\x9b\\x5c\\xea\\x54\\x34\\x6e\\xa3\\x05\\x04\\x18\\xa7\\x5e\\x9f\\xee\\xf4\\x78\\xd2\\xbc\\x4e\\x8f\\x13\\x45\\xce\\xa9\\x54\\x6a\\x7d\\xc4\\x48\\x51\\x3a\\x8f\\x41\\xa5\\xd2\\xe9\\xe4\\xf5\\x11\\x1d\\x93\\x38\\xd0\\x7b\\x4e\\x2c\\x1a\\x66\\xf4\\x60\\x18\\xfd\\x31\\x94\\xbe\\x28\\xcf\\x03\\x72\\x55\\xfd\\x3a\\x88\\x6b\\xc4\\x30\\x0d\\x84\\xff\\x08\\xdd\\x6b\\x44\\xe5\\xe2\\xc9\\x0f\\x1c\\x4e\\x3b\\x59\\xf4\\x9f\\x67\\x2f\\x7c\\xb1\\x75\\xb3\\x53\\xf8\\xdf\\xca\\x53\\xfb\\xd7\\x66\\xd3\\xef\\xbb\\x9b\\x46\\xda\\x8a\\x36\\x9d\\x3e\\x23\\x8c\\xa1\\xff\\xd1\\xe7\\x91\\x61\\x63\\x16\\xce\\x9f\\x9f\\x76\\xf2\\xfc\\xcb\\x0d\\xe7\\x76\\xaf\\x2b\\x9d\\x32\\x7d\\x5e\\xf7\\x3d\\x4b\\x47\\x3e\\xb2\\xf6\\x01\\xf1\\x6c\\xe3\\x5e\\xcf\\x0a\\x72\\xb6\\x51\\xe4\\x69\\xe5\\x2d\\x7a\\x8d\\xd3\\xa9\\xe7\\x21\\x63\\x32\\xf9\\x58\\x86\\xf1\\x5a\\x79\\x7c\\x4f\\x43\\x19\\x2d\\x06\\xa3\\xa1\\x2e\\x62\\x84\\x94\\xa2\\x1e\\x5f\\xb7\\x1a\\xa3\\xf6\\x25\\x61\\xb3\\x25\\xef\\x34\\xd1\\xa1\\xcc\\x05\\xd1\\x46\\x25\\x72\\xa4\\x91\\x6f\\x89\\x2f\\xdc\\xc4\\xe0\\x9a\\x01\\x07\\x56\\x5c\\x1e\\xc7\\x3c\\xa3\\x5c\\x36\\x73\\xe6\\xe9\\xfb\\x1f\\xdb\\xfe\\x76\\xe4\\xb4\\x07\\xf6\\xf1\\x08\\x8e\\x8e\\xf9\\x6f\\x7d\\xb9\\x55\\xb8\\x6b\\x8a\\x1c\\x99\\x6e\\x5e\\x32\\x77\\xca\\x1b\\xb3\\x16\\x2e\\x05\\xaf\\x37\\x34\\x08\\x6f\\xbf\\x79\\xf9\\x90\\xf0\\x8f\\xad\\xa2\\xdc\\x3f\\xa1\\x58\\xad\\x81\\xf0\\x0d\\x0f\\x0a\\x67\\xe9\\xe4\\x5a\\x05\\x34\\x18\\x14\\x72\\x68\\x53\\xab\\xdd\\x76\\x9b\\xcd\\xa5\\x93\\x57\\x46\\x74\\x3a\\xb3\\xca\\x6e\\x37\\x9b\\x29\\x5c\\x9b\\xa7\\x55\\xaa\\x94\\x48\\x89\\x72\\x89\\x3c\\x9d\\x24\\x62\\x6b\\x53\\xf2\\x34\\x89\\x9d\\x41\\x14\\x58\\x2e\\x42\\xdc\\x61\\xbf\\x09\\x8d\\x06\\x4c\\x5d\\xb8\\x73\\xd5\\x8a\\x7d\\xfd\\x4e\\x3b\\xa1\\xc6\\x29\\x74\\x6b\\x97\\x7d\\xe6\\xfa\\xff\\x7e\\x70\\xe1\\xea\\x49\\x7a\\xc6\\xcc\\xe5\\xb3\\xc7\\xd6\\x82\\x75\\x9b\\x36\\x09\\x87\\xb7\\x3d\\xfb\\xfe\\xc9\\x43\\x9a\\xfa\\x59\\xc4\\x66\\x5b\\x90\\xac\\x2b\\xd9\\x2f\\xa8\\x0c\\xea\\xbe\\x70\\xaa\\x9e\\x0f\\x52\\x54\\xaa\\xdf\\xaa\\x52\\xf9\\x79\\x98\\x99\\x95\\x0e\\xa8\\x94\\x40\\x4a\\x55\\xc4\\xaa\\x0d\\x06\\x38\\xad\\xa9\\x12\\xab\\xd0\\x38\\xdb\\xb4\\xa1\\x54\\x94\\x36\\x19\\x94\\x1c\\xe7\\x9f\\x09\\xb3\\xa4\\x87\\xbe\\x87\\x65\\x8b\\xb0\\x4e\\x63\\x9f\\xcf\\x58\\x0c\\x0b\\xe5\\xe0\\x79\\xb3\\xea\\xbe\\xc8\\xda\\x45\\xdd\\x7e\\xf8\\xfa\\xd5\\x97\\xb4\\x87\\x34\\x0b\\x17\\x6c\\xda\\xd6\\x75\\xc0\\x85\\xc9\\xc5\\xd0\\xb3\\xd2\\xb1\\xaa\\xe2\\x0f\\xd5\\x97\\x1d\\xf0\\xe2\\x94\\xbc\\xd4\\xc2\\x52\\x5b\\x5a\\x9f\\x29\\xfd\\x4e\\x5f\\x5c\\xb3\\xc9\\x13\\x19\\x30\\x65\\x74\\xbb\\xce\\xf6\\x92\\x8a\\xd1\\x3d\\xf4\\xfe\\x86\\x95\\x60\\xc4\\x00\\xa1\\x06\\xe3\\x73\\x8a\\xf9\\x98\\x52\\xc2\\xdf\\xed\\xa2\\x2a\\xc2\\x01\\xa3\\x56\\x0b\\x3c\\x32\\x9b\\x1d\\x22\\x87\\x83\\x02\\xc0\\xad\\x32\\xa3\\x09\\xe6\\xed\\x06\\x14\\x19\\xd3\\x76\\x3b\\xa0\\x39\\xe0\\x24\\x59\\xa3\\x3c\\x43\\x69\\x1c\\xf3\\x5d\\x3c\\xcd\\x12\\xc0\\x7c\\x00\\x14\\x8a\\xc5\\x69\\x78\\x82\\x79\\x80\\xdb\\xee\\xc5\\x1e\\xb0\\x6c\\x60\\x58\\x76\\x1e\\xa4\\x1d\\x65\\x95\\x4a\\xa6\\xfc\\xd9\\x19\\x07\\x4f\\x0a\\x9d\\x26\\x7c\\x35\\x9d\\x7e\\xfe\\x8d\\xad\\x57\\xd3\\xc7\\x53\\x2d\\xc0\\xb8\\x0d\\x85\\x12\\x5f\\x66\\xd6\\xe4\\x8c\\xae\\x3f\\x7d\\x4c\\xa8\\x16\\x7e\\xe8\\x52\\x93\\x06\\xa7\\xfc\\xe9\\xdd\\x9b\\xcd\\x3f\\x0e\\x7f\\x07\\x58\\xd0\\x9c\\xbf\\x8c\\x44\\x5a\\x40\\xf8\\x41\\x2d\\x61\\x25\\xe9\\xa5\\xa6\\xc5\\x3b\\xa0\\x28\\x43\\x28\\x96\\xe5\\xe5\\x46\\xf6\\xc6\\xaf\\xed\\x49\\xac\\xfc\\x2a\\xfa\\xf2\\x14\\x79\\x5e\\x4e\\xf9\\xc2\\x3a\\xe4\\x42\\xc9\\x29\\xb9\\x42\\xc9\\x02\\xe4\\x4b\\x89\\x69\\xea\\xc4\\x5b\\x23\\x29\\xf7\\xf5\\xea\\x91\\xfd\\x47\\xf0\\x27\\x90\\x4f\\x01\\x18\\x61\\x90\\x19\\x80\\x3e\\xc3\\x88\\x6c\\x4e\\xa6\\x8a\\x55\\x30\\x1a\\x8d\\x1e\\x68\\x39\\x8a\\xd2\\xb2\\x48\\x2b\\xc9\\x49\\x47\\x14\\x43\\xa9\\x91\\xfb\\x5e\\x17\\x51\\xf0\\x14\\xfa\\x1f\\xad\\x35\\x90\\x32\\x51\\x83\\x88\\xbf\\x90\\x40\\x53\\x17\\x5b\\xf0\\x68\\x1e\\xc1\\x28\\xb2\\xd1\\xf8\\xc9\\x1f\\x91\\x9d\\xc6\\xbf\\x06\\x6c\\x3a\\x03\\xb6\\x08\\xb3\\xf0\\x9f\\x33\\xc2\\x1c\\xb0\\x49\\x98\\xc3\\xc8\\xc0\\x75\\xa1\\x6c\\x8f\\x70\\x63\\x8f\\x50\\x0f\\x0e\\xee\\x01\\xed\\x5b\\x5a\\xa8\\xfe\\x68\\x6c\\x69\\xa4\\x16\\x88\\x89\\xf6\\xf8\\xa8\\xbe\\x90\\x09\\x3c\\xc1\\xdc\\x41\\xdb\\xb1\\x33\\xfb\\xaa\\x58\\xab\\x2b\\x7b\\x07\\xcd\\x85\\xe2\\x3c\\xf4\\xb2\\xe9\\xa4\\xe0\\x56\\x7c\\x56\\xf9\\x1c\\x7b\\x3b\\xf6\\x6c\\xad\\xf8\\x2c\\xbd\\x5e\\xb6\\x57\\x7c\\xd6\\xa3\\x8f\\x3d\\xdb\\xa3\\xe5\\x5b\\xc5\\x24\\xf2\\xec\\x7d\\xf8\\x59\\x7a\\x3d\\x4b\\x30\\x7a\\xa8\\x5a\\x66\\x36\\x79\\x96\\x0e\\xc5\\x9f\\x2d\\x6f\\xf9\\x4e\\xb1\\x92\\xd4\\x8c\\xe7\\x89\\x3d\\xe9\\xf8\\x19\\xd2\\x1f\\x54\\x23\\x9b\\x44\\x7a\\x34\\xc4\\x9f\\xf7\\x97\\x7e\\x8e\\x7b\\xd5\\x9f\\x8b\\xf6\\xed\\x92\\x5e\\xf5\\x57\\xa3\\x9f\\xa3\\x7c\\x9f\\x7c\\x4e\\x3b\\xf1\\x73\\xd8\\x57\\xa3\\x9f\\x23\\x17\\x9f\\x17\\x7f\\xde\\x5f\\xfa\\x79\\x4a\\xec\\xf3\\xab\\x12\\x3f\\x5f\\xc2\\xad\\x12\\x62\\xb8\\x55\\x62\\x1f\\x51\\x0c\\xd7\\xbd\\x4b\\x23\\x6f\\x69\\x03\\xb7\\xea\\x76\\x0c\\x5f\\x6a\\x7d\\x0c\\xd7\\x11\\xe3\\x90\\x9e\\x28\\x0b\\xb7\\xc2\\x15\\xc5\\x58\\x07\\x03\\xe2\\xf8\\xd8\\x4a\\xdc\\xba\\x13\\xc5\\xc7\\x7e\\x55\\xa6\\xb9\\x07\\xeb\\xe0\\x13\\x32\\x8f\\x22\\xd6\\xc1\\xfa\\xab\\x14\\x15\\xb9\\x4c\\x71\\x22\\xce\\x01\\x47\\xf8\\x5a\\xfd\\xfe\\x5e\\x1c\\xc6\\x39\\xe0\\x30\\xce\\x01\\x87\\x71\\x0e\\x38\\x8c\\x73\\xc0\\x61\\x9c\\x03\\x0e\\xe3\\x1c\\x70\\x18\\xe7\\x80\\xc3\\x38\\x07\\xe0\\x92\\x30\\x2e\\xac\\x94\\xc9\\x70\\x7b\\x33\\x4b\\x56\\x00\\x17\\xe2\\xc7\\xc1\\x0f\\xda\\xc2\\x80\\x46\\xe3\\x3f\\x42\\xc5\\x31\\xa0\\x4f\\x79\\x52\\xdb\\xec\\x5d\\xbc\\x1d\\xeb\\x2b\\x5c\\x4f\\xfd\\x4a\\xc5\\xf1\\x02\\x1f\\xf6\\xa6\\xb5\\xea\\x5d\\x6c\\x85\\x11\\x8c\\x3e\\x7f\\x26\\x15\\xc7\\x08\\x5e\\x64\\xf3\\xb4\\xd9\\x4f\\x11\\xc7\\x8e\\x5b\\x1f\\xc5\\x79\\x25\\xd8\\x71\\x5b\\x3c\\xa9\\x6d\\xf6\\x53\\x64\\xc5\\x3e\\xbf\\x90\\xfe\\x1c\\xfd\\x07\\x67\\x98\\x83\\x34\\x46\\xaa\\x42\\x5f\\x67\\x39\\xfc\\x52\\xb7\\x03\\x29\\xb7\\x4f\\x7c\\x8f\\x6c\\x8a\\xf8\\x1e\\xb4\\xbf\\x27\\x03\\xa3\\xd4\\x1f\\xd2\\x0f\\xd8\\xd0\\xef\\xf3\\xf0\\x40\\x3a\\x28\\x4f\\x07\\x98\\xe4\\x94\\x06\\x3e\\x32\\x7d\\x1d\\x30\\x8d\\xc5\\x6f\\xbc\\xb7\\x3d\\xfd\\x71\\xec\\xbd\\x01\\xf2\\xde\\x39\\x3e\\xeb\\x6f\\xbc\\x77\\xb8\\xac\\x29\\xe1\\xbd\\x0a\\xa9\\x7e\\xff\\x1d\\xf4\\x5e\\x7f\\xd8\\x02\\x3f\\x4d\\x6f\\x49\\xa7\\xa7\\xa7\\x1f\\x4c\\xa7\\x0f\\xa4\\xbf\\x99\\x4e\\x27\\xbe\\x7d\\xe6\\xcc\\x0e\\x6d\\xbd\\xbb\\x03\\xfd\\x41\\xec\\xdd\\xe9\\xe4\\xdd\\x0b\\x02\\xbf\\xf5\\xee\\xb1\\xb2\\x6f\\x13\\xde\\x6d\\x93\\xe6\\xb8\\x1b\\xfa\\x57\\x5e\\xd8\\x0f\\x5b\\x42\\x60\\x7a\\x08\\xbc\\x89\\xb9\\x96\\x96\\x86\\x0e\\x84\\xe8\\xbc\\x50\\x79\\x88\\xc6\\x0c\\x4c\\x74\\x28\\x69\\x12\\x88\\x24\\x6d\\xce\\x43\\x11\\xfd\\x6d\\xab\\x79\\x98\\xee\\x4a\\xf9\\xcd\\xf9\\x4f\\x9c\\x07\\x96\\x12\\xb1\\x08\\xf3\\xff\\xeb\\x79\\xe8\\x8a\\xf6\\x62\\x80\\x19\\x60\\x90\\x21\\x4f\\x32\\x76\\x96\\xe5\\x5d\\x63\\x67\\xb9\\x90\\x3e\\x43\\x59\\x28\\x4f\\x58\\xc9\\x40\\xda\\xcc\\xa6\\x33\\x98\\x46\\xa1\\xb0\\xd1\\x60\\x97\\x68\\x14\\x44\\x71\\xa2\\x67\\x9a\\xec\\x85\\xee\\x92\\x2c\\x56\\x69\\x2f\\x54\\x21\\x59\\xf2\\xc3\\x5e\\xe6\\x40\\x37\\x50\\xde\\x0d\\x70\\xdd\\x40\\x37\\x1a\\x76\\xd2\\xa7\\x33\\xa6\\xae\\x15\\x9d\\xca\\xd2\\x20\\xcd\\x76\\x2a\\xb3\\x12\\x0c\\xa0\\x0e\\x64\\x4b\\x46\\x37\\x48\\x4c\\x96\\xac\\x98\\x2c\\xc5\\x34\\xee\\x8d\\xc1\\x7c\\x0e\\x7a\\x91\\xcf\\x61\\x78\\xa3\\xd1\\x9c\\xcc\\xe7\\xd0\\x5a\\x0e\\x7a\\x2f\\xf5\\xef\\x96\\xb3\\x44\\x8e\\x4e\\x48\\x8e\\xec\\xb0\\x1b\\x1e\\xe8\\x02\\xca\\xbb\\x00\\xae\\x0b\\xe8\\x42\\x50\\x89\\xc7\\x76\\x2e\\x2f\\x29\\x4b\\xa3\\xd9\\x12\\x49\\x0a\\x22\\x44\\x5c\\x06\\xc2\\xeb\\x20\\x7b\\x1c\\x7d\\xde\\x3a\\x71\\x3c\\x8c\\x13\\x54\\x62\\xdd\\x66\\x21\\xba\\xed\\x6f\\x8d\\x16\\x1b\\x93\\xd0\\x53\\x22\\x62\\x13\\x93\\x5e\\xa9\\xe3\\x52\\x9f\\xf4\\x1c\\xf1\\xec\\xc1\\x9e\\xe8\\x65\\x27\\x7a\\xf6\\xb2\\x64\\x27\\xf5\\x64\\x2c\\x40\\xcf\\xe7\\x23\\x9f\\x38\\x48\\x3d\\x18\\xee\\x96\\x9e\\x62\\xb0\\x1b\\xf4\\x01\\x5f\\xaa\\x37\\x35\\xe8\\x85\\x30\\x68\\x57\\xa9\\x82\\x7a\\x98\\x11\\x82\\xfe\\x14\\x7f\\x7d\\x84\\x3a\\x80\\x19\\x94\\xf8\\x14\\x5a\\x09\\x53\\xd2\\xc3\\xe9\\x69\\x75\\x91\\xf4\\x74\\x39\\x72\\xd4\\xea\\x22\\x06\\x83\\x8e\\x91\\xbb\\xea\\x22\\xf2\\x68\\x6e\\x28\\x56\\x79\\x46\\x58\\x6c\\x71\\xf5\\x52\\xc1\\xbd\\x60\\xc5\\x62\\x86\\x4e\\xec\\x24\\x27\\xfd\\x6a\\x4c\\xac\\x83\\x98\\x11\\xf3\\x1c\\x49\\x45\\x41\\xf8\\x7f\\xec\\x99\\x15\\xf6\\x95\\xc6\\x4d\\xc2\\x4b\\xcf\\x47\\xab\\x83\\x3e\\x01\\xee\\xa2\\xe4\\x8a\\x20\\x46\\xa8\\xb5\\x83\\xc7\\x1d\\xa4\\x2e\\x08\\x5c\\x58\\x31\\x66\\xc1\\xb4\\x68\\x61\\xd0\\xf1\\x27\\x12\\x0a\\x82\\xf4\\x2b\\x56\\x1c\\x44\\x7e\\xd1\\x2b\\x18\\x1f\\x8a\\xe9\\x8f\\xfc\\xbb\\x62\\x6a\\x71\\xb8\\x42\\xc6\\x66\\x5a\\x3c\\xed\\x38\\xa8\\x0b\\xe8\\x82\\xc1\\x80\\x9a\\x42\\x0e\\x5e\\xc0\\xc2\\x42\\x4d\\xa9\\xa6\\x04\\xf7\\x0e\\x56\\x45\\x64\\x30\\xa8\\x35\\x86\\x8d\\x39\\x95\\x11\\xde\\xe3\\x34\\x1a\\x61\\x0a\\xe7\\x6c\\x5f\\x19\\x71\\xf2\\x50\\x81\\x7e\\x02\\x7d\\x90\\x86\\x22\\xd9\\x51\\xb4\\x0c\\x17\\x53\\x8c\\x13\\x58\\xd3\\x02\\x7d\\xe9\\xbd\\xb9\\xed\\xc4\\xe8\\x8e\\x25\\xed\\xc4\\xe2\\x75\\x39\\xae\\x72\\x8c\\x66\\xfb\\x0c\\x22\\xa7\\x72\\x21\\x26\\x5e\\x91\\x23\\xff\\x0a\\x79\\x86\\xe2\\xcd\\x8a\\x54\\x6b\\x0a\\xa7\\x97\\x7c\\x77\\x4d\\x38\\x5b\\x74\\x24\\xf0\\x87\\xd9\\x5b\\x83\\xcd\\x6a\\x03\\x2d\\x14\\xd1\\xfd\\x4f\\x4c\\xd9\\xfb\\x42\\xdf\\xe5\\x97\\x17\\xcd\\x3f\\xe2\\xa2\\xe5\\xa9\\xec\\x29\\xb9\\xd5\\x78\\xac\\x9b\\xa1\\xb9\\x6a\\xc6\\xf8\\x09\\xa7\\x6a\\x97\\xcd\\x98\\xb7\\xb9\\xba\\xf6\\xd4\\xa1\\xef\\xd3\\xd6\\xd7\\x8e\\xaf\\x05\\xdc\\xec\\x51\\xd7\\x1e\\x5b\\x02\\x3c\\xd7\\x6a\\xa7\\x8d\\x4a\\xdb\\xa8\\xf4\\x44\\x26\\x35\\x1d\\xad\\x45\\x9f\\x3b\\x67\\xfd\\x3f\\x57\\x2e\\xde\\xb8\\x56\\xf8\\xf8\\x5e\\x3c\\x32\\x64\\x03\\x1a\\xa8\\x38\\x1e\\xd9\\xc5\\x94\\xd0\\xff\\x81\\x47\\xb6\\x9e\\xba\\x45\\xc5\\xf1\\xc8\\x66\\x74\\xe8\\xd8\\x06\\xee\\xd6\\x21\\xf2\\xf9\\xb9\\xc9\\xbd\\xc0\\x04\\xf7\\x61\\x1b\\x67\\x6e\\x03\\x77\\x6b\\xa8\\xbc\\x20\\x8a\\xf7\\x82\\x7b\\x8f\\x40\\x9d\\xf8\\x3c\\x9d\\x0e\\x46\\xdf\\xf3\\xfc\\x74\\x61\\x08\\xa9\\x17\\x20\\x36\\x92\\xc7\\x7d\\x6b\\x7f\\x93\\xb0\\xa6\\x87\\xe0\\xda\\x5a\\xd1\\x16\\xe2\\x9f\\x63\\xcc\\xe6\\xe8\\xf3\\x51\\xde\\x03\\x74\\x8e\\xf7\\x81\\xbf\\x48\\xe7\\xa9\\x23\\x7a\\x0f\\xf2\\x9d\\xf2\\xe2\\x7e\\x56\\x05\\x8a\\x9f\\x63\\x58\\x03\\xf8\\x59\\xea\\xdf\\x14\\x20\\x67\\x3e\\x5d\\xf4\\xb3\\xf2\\x63\\xbe\\x93\\x98\\x8f\\xc1\\xe3\\x04\\x0b\\xc5\\x71\\x52\\x9f\\x53\\x71\\xdc\\xb5\\x2b\\xfe\\x20\\x9f\\x64\\xab\\x5b\\x1e\\x45\\xf3\\xc8\\xe2\\x79\\xa4\\x07\\x53\\xc9\\x3d\\x56\\xd8\\x96\\xde\\xf2\\xa4\\x6a\\x41\\xd2\\xf3\\x18\\xcf\\xe7\\x63\\xfc\\x3c\\xf8\\x45\\xec\\x91\\xbe\\x4c\\x3a\\xd0\\x38\\xdc\\x45\\x07\\xb2\\x91\\x27\\x44\\xab\\x5a\\xcf\\xbb\\xea\\x0b\\xe2\\x83\\x05\\x89\\x4f\\xd5\\x39\\xea\\x83\\x21\\xdf\\xf1\\x54\\xc2\\xcf\\x6b\\xa5\\x9f\\x63\\x3f\\xb1\\x26\\x8a\\xe1\\xc8\\x4b\\xfe\\x61\\x6c\\x7f\\xdc\\x89\\xe1\\xb1\\x09\\xf4\\x70\\xb1\\xf7\\x2d\\x8d\\xf4\\xbe\\xe5\\x36\\xfa\\x02\\xf1\\x1d\\x12\\xdb\\x1f\\x5f\\x46\\xf7\\x07\\xb2\\x9d\\x92\\x9e\\x22\\xb8\\x6c\\x7f\\x29\\x2c\\x4a\\xdc\\x1f\\x22\\x0e\\x87\\x22\\x03\\xc5\\xba\\x2e\\xaa\\x3b\\xbe\\xb7\\xd4\\xdb\\xed\\x0e\\xab\\xd1\\x68\\x32\\x39\\xe4\\xd0\\xe3\\xb6\\x1a\\x70\\xa4\\x6b\\xb2\\x9b\\xa1\\xc9\\xa0\\xa6\\xeb\\x23\\x6a\\xa3\\x8c\\x93\\x70\\x8a\\xca\\x0b\\x93\\x1a\\x56\\x62\\xd7\\xde\\xa6\\x58\\x8d\\x9b\\x94\\x52\\x27\\x17\\xad\\xd0\\x8f\\xf3\\xbf\\xcc\\x2f\\xb7\\x96\\x6c\\xf2\\xac\\x7e\\x66\\x63\\xe8\\xdb\\x37\\x2f\\x5d\\x57\\x76\\x68\\x06\\x4b\\x31\\x55\\xc0\\x1c\\xba\\x65\\xce\\x95\\x57\\xd4\\x20\\x78\\x6e\\xe9\\x6e\\x5c\\xce\\xf6\\xc6\\x85\\x43\\x3b\\x73\\xf3\\x00\\xdf\\x3c\\x9b\\x5d\\xde\\x7c\\x9a\\x1e\\xdc\\xa4\\x2c\\x23\\x77\\xc2\\x2d\\x7f\\x43\\x63\\xfb\\x1e\\xe9\\x54\\x2d\\x65\\xc7\\xb1\\x96\\x4e\\xa9\\x74\\x5a\\xcc\\x0c\\x84\\x80\\xc4\\x5a\\x0e\\x99\\xbe\\x2e\\x22\\x63\\x2c\\xda\\xd1\\x11\\x86\\xb6\\x58\\x00\\x0d\\xdb\\x8e\\xb5\\xa2\\x97\\xdd\\x62\\xac\\x25\\x17\\xd3\\xd0\\x0a\\xc0\\x92\\xcb\\x56\\x7c\\x75\\x51\\x44\\x19\\x8e\\x3d\\x0f\\xc6\\x5d\\x4a\\x39\\xf9\\x97\\x2b\\xaf\\x09\\xdf\\x09\\x36\\xe1\\x1b\\x38\\x70\\xce\\xbc\\xfa\\xd3\\x8b\\x4c\\x27\\x6f\\x82\\x15\\x9f\\x22\\x2f\\x3a\\xf3\\xe4\\xf3\\x7f\\xbc\\xf8\\x57\\xc1\\x2e\\xcc\\xae\\x65\\xce\\xcc\\x58\\x3c\\xbe\\x71\\x42\\xd3\\xb6\\x7e\\xe0\\x7e\\xdc\\x5b\\xd9\\x06\\x36\\x4c\\x33\\x70\\x49\\x7b\\x0b\\x83\\x45\\xb5\\xe3\\x0c\\xad\\xb0\\x56\\xf0\\x99\\xb3\\x88\\xd8\\x30\\xa2\\x9d\\x27\\x38\\xd0\\x44\\x07\\xa0\\xed\\xe5\\x76\\xfb\\x92\\xb1\\x56\\x88\\xfd\\xfc\\x41\\xe1\\x16\\xed\\x27\\x3a\\x17\\x0d\\x60\\x1f\\xb5\\x8e\\xec\\x0d\\x0d\\xc8\\xa1\\xe6\\x87\\x7b\\x31\\x98\\x21\\x92\\xae\\x0f\\xcd\\x08\\xd1\\x61\\x4c\\x0b\\x49\\x85\\xf2\\x43\\xf4\\xd9\\xd0\\x9d\\x10\\x7d\\x30\\xf4\\x42\\x88\\xde\\x16\\x3a\\x18\\x22\\x24\\x92\\x74\\x65\\x68\\x19\\xfe\\x82\\x1e\\xc9\\x0f\\x85\\x43\\xb4\\x0f\\x3f\\xc7\\x87\\x7c\\xc8\\xa5\\xc1\\x34\\x49\\xcc\\x25\\xf0\\x87\\x0b\\xe9\\x19\\xc8\\x12\\x63\\xa3\\x6c\\x89\\xd1\\x38\\x75\\x20\\x0d\\xe1\\xa2\\xb3\\x13\\x63\\x4a\\x8f\\x62\\xcc\\x22\\x3b\\xbd\\x4a\\x7e\\x24\\x66\\xa7\\x1b\\x30\\xb7\\x00\\xe9\\xd9\\x3c\\x44\\x3d\\x43\\xcd\\x08\\x57\\x30\\x67\\xab\\x5f\\xa8\\xa6\\xb7\\x55\\x1f\\xac\\xa6\\x67\\x54\\x2f\\xab\\xa6\\x2b\\xab\\xeb\\xab\\xe9\\xfc\\xea\\x70\\x35\\x4d\\x55\\x83\\xb7\\xaa\\xef\\x54\\xd3\\xf1\\x07\\x96\\x55\\x83\\xca\\xea\\xa5\\xd5\\xb4\\xaf\\x3a\\xbf\\x9a\\xe6\\xab\\x41\\x35\\x21\\x0f\\x40\\x62\\x4d\\x09\\x6b\\x2b\\x07\\xa1\\x68\\x02\\xd2\\x87\\x62\\x3c\\x02\\x71\\x2f\\x23\\x46\\xde\\x3e\\x33\\xd1\\xd6\\xdf\\x89\\xda\\x7a\\x85\\x00\\xbf\\x14\\xe3\\x18\\x33\\xb1\\xf5\\xbf\\x36\\x9a\\xdb\\xb2\\xf5\\x5f\\x46\\x6d\\x3d\\x35\\x8f\\x96\\x74\\x2c\\xec\\x81\\x6c\\xfd\\x9d\\x1e\\x49\\xb6\\x1e\\x7d\\x3e\\xe1\\x4b\\x21\\x9f\\xff\\x98\\x74\\x46\\xfb\\x92\\xcf\\x87\\x21\\xe4\\xce\\x5c\\x02\\xfa\\xc6\\x50\\x96\\xca\\x9c\\xf0\\xf9\\x04\\x5b\\x9b\\x7c\\xfe\\x15\\xe9\\x8c\\x4a\\xbc\\x1d\\x10\\x05\\x83\\xf0\\x2f\\xa1\\x2c\\xb3\\xea\\x9e\\xf5\\xfe\\x9b\\x5c\\x1f\\xf5\\x97\\xe8\\xb7\\xe9\\x63\\x60\\x90\\x88\\x57\\x62\\xc7\\x0e\\xd3\\xd3\\x9c\\x8d\\x69\\xd5\\x33\\x2b\\xc5\\x62\\xaf\\xc5\\x62\\xb1\\xb7\\x69\\x0f\\xe6\\xa6\\xc5\\xbf\\x53\\x81\\x31\\x4e\\x3a\\x95\\x76\\x6b\\xcd\\xd9\\xd0\\x3a\\xde\\xa3\\x6f\\xc3\\x7a\\xd0\\x1d\\xcf\\x93\\x83\\xcc\\x93\\xa7\\xd1\\xd1\\x16\\x0e\\xf2\\x95\\xd8\\x3b\\x6e\\xd3\\x4f\\x4b\\xba\\xa6\\x3b\\xd2\\x35\\x2b\\xbb\\xb7\\xe6\\xa9\\x20\\xd8\\x9e\\x72\\x43\\x0c\\x2b\\xf4\\x6d\\xfa\\x9f\\x60\\xb0\\xd8\\xfb\\x8b\\x81\\x29\\xc0\\x24\\xad\\xe5\\x1e\\x8e\\x26\\x11\\xdf\\xf3\\x5a\\x0c\\xdf\\xf3\\x6d\\x5a\\x41\\x49\\x58\\x2d\\xd9\\x78\\x1c\\x9e\\x94\\xac\\x7b\\xb0\\xff\\x5b\\x61\\x88\\xa2\\x71\\xcc\\x42\\xe3\\x20\\xf8\\xd7\\xe8\\xfc\\xed\\xb7\\xb5\\x8d\\xd9\\x7a\\x25\\xf6\\x8e\\xdb\\xf4\\x7e\\x69\\x1c\\x39\\x68\\x1c\\x13\\x73\\x5a\\x63\\xb6\\x76\\x44\\xca\\xe8\\x63\\xb2\\x1e\\x22\\x86\\xdd\\xdb\\xa0\\x5c\\x5c\\x0f\\x1a\\xe0\\xc8\\x18\\x54\\xb1\\xf7\\x72\\x4d\\x79\\xd0\\xef\\x5c\\x23\\xe3\\xf8\\x51\\xfa\\x9d\\x94\\x68\\xdf\\x33\\x87\\x7b\\xc8\\xab\\xdb\\xf8\\x1d\\x8c\\x95\\x27\\xc4\\xe2\\x63\\x24\\x17\\xf8\\x48\\x1a\\x07\\x8f\\xc6\\x71\\x90\\x6f\\x8d\\x4d\\x86\\xf9\\x06\\x9e\\x27\\xe3\\xf8\\x51\\x7a\\x7e\\xaf\\xa4\\x47\\x78\\xa4\\x47\\x96\\xde\\xf3\\xbc\\xc8\\x59\\xa4\\x8f\\x61\\xff\\xbc\\x0d\\x4d\\xd1\\x7d\\x15\\xc4\\xfb\\x2a\\xe4\\x4e\\x6f\\x13\\x3b\\xa7\\x80\\x8c\\xa3\\xba\\xf5\\x7a\\xe0\\xcd\\x4b\\xdb\\x3d\\xc1\\x64\\xec\\x9c\\x7b\\xe3\\x68\\xb4\\x1e\\x4f\\x89\\xe3\\xa0\\xd1\\x01\\xa1\\xe7\\x87\\xda\\xc6\\x18\\xba\\x12\\x7b\\xc7\\x6d\\x5a\\xc2\\x49\\xa0\\x33\\xd0\\x54\\x45\\x32\\x5a\\x63\\x0c\\x11\\xbc\\x13\\x32\\x8e\\x0e\\x92\\x4c\\xa7\\xa3\\xe3\\x48\\xc1\\xe3\\x30\\xd9\\xfc\\x22\\xe2\\x49\\x82\\x4c\\x38\\x9f\\xf0\\x33\\x19\\xc7\\x10\\x69\\x3d\\x46\\x44\\xd7\\x03\\x07\\xeb\\xc0\\x63\\x72\\xcb\\x5b\\xe3\\x00\\x88\\xb8\\x2a\\x2d\\xb1\\xf7\\xdc\\x86\\xc3\\x40\\x0f\\x22\\x17\\x8a\\xe6\\xe8\\x39\\x81\\xb6\\x70\\x60\\x32\\xc9\\x38\\x86\\x48\\xe3\\x90\\xb0\\x74\\x31\\x3c\\x01\\x58\\xec\\x6d\\x8d\\x03\\x23\\xc6\\x8b\\xfa\\x18\\xfe\\xc1\\xdb\\xf4\\x7f\\xa2\\xfb\\xca\\x8f\\xf7\\x15\\x67\\xf5\\xb5\\x89\\x4d\\xd0\\x87\\x8c\\x63\\x98\\xf4\\x3b\\xd6\\xe8\\x38\\x82\\x78\\x1c\\x46\\x77\\xfa\\x6f\\x60\\x20\\xc4\\xf2\\x0e\\x68\\x1c\\x0d\\xd2\\xbe\\x42\\xd3\\x05\\x26\\xa4\\xb4\\x8d\\x13\\x71\\x25\\xf6\\x8e\\xdb\\x74\\x14\\xa3\\x18\\x63\\x96\\x0c\\x09\\xb5\\xc6\\x89\\x28\\x13\\x4a\\x13\\x31\\x56\\x14\\xbf\\x80\\xf9\\x94\\x84\\x9d\\xb2\\xa7\\x31\\x33\\x2f\\x01\\x63\\xa5\\x34\\x11\\x63\\x45\\xf1\\x0b\\xf5\\x5c\\xf4\\xb9\\xa7\\x1a\\x33\\x72\\x63\\x18\\x2b\\x97\\xd0\\xe7\\xc5\\x30\\x50\\xc8\\x73\\x77\\xa4\\xe7\\x84\\x57\\x1a\\x95\\x3a\\x51\\x77\\xe3\\x73\\x29\\x94\\xe2\\x1a\\x19\\x09\\xcb\\x44\\xa6\\xf8\\xe5\\x0b\\xe9\\xd3\\x06\\x37\\x3a\\xbc\\x50\\x2b\\x81\\x28\\x80\\x96\\x2b\\xc8\\x37\\xbd\\x8f\\x7d\\x84\\xf2\\x52\\x55\\xe1\\x2c\\x8d\\x9d\\x71\\x1b\\x8c\\xc8\\x3e\\x38\\xdd\\x76\\x99\\x9f\\xa2\\x7c\\x4e\\x99\\x42\\xa9\\x18\\x1d\\x51\\x2a\\x29\\x8b\\xc1\\x60\\xb1\\x70\\x75\\x11\\x0b\\x43\\x81\\xd1\\xb1\\x0b\\xdb\\xc4\\x2c\\x79\\x32\\xa8\\x09\\xf6\\x29\\x60\\x71\\x2a\\xd5\\xa1\\x7d\\x50\\xc6\\x92\\xbf\\x93\\x6f\\x2b\\x2c\\x66\\x9e\\xea\\xe9\\x03\\x9b\\xc1\\x89\\x9c\\x5b\\x42\\x81\\x1f\\x9c\\x02\\xf3\\x96\\xcd\\x9c\\x71\\xbc\\x6a\\xed\\xac\\xef\\x8f\\x5d\\xfe\\xec\\xed\\x11\\xcd\\x3f\\x08\\x43\\x8e\\x4e\\x04\\x23\\xbe\\x9c\\x56\\xba\\x61\\xeb\\x93\\x4b\\x00\\x77\\x61\\xcc\\xec\\xa1\\x93\\x23\\xdb\\x16\\xbe\\x74\\xe8\\xcb\\xfd\\x33\\x76\\x0a\\x1f\\x0a\\xfd\\x89\\xfc\\x8f\\x08\\x43\\x61\\x84\\x19\\x40\\x05\\xb0\\xfc\\x66\\x0b\\xe3\\xe7\\x5c\\x2e\\xbf\\x57\\x66\\x51\\xca\\xa8\\x34\\x2a\\xd5\\x2b\\x13\\xd3\\xfa\\x2a\\xca\\x6e\\x36\\xdb\\x71\\xea\\xd9\\xce\\x53\\xa0\\xfa\\xbf\\x96\\x3f\\x1b\\x60\\xf9\\x19\\x79\\x71\\x17\\xd8\\x6a\\x00\\x32\\x5c\\xb6\\x4b\\x4d\\x72\\x83\\x81\\x20\\x3b\\xd8\\x53\\xf8\\x78\\x8b\\xfb\\x87\\x3f\\x2e\\xe9\\x5e\\x53\\x19\\x59\\x59\\xd8\\x50\\xf6\\xc1\\xb1\\x03\\x67\\x06\\x8f\\xbb\\x4f\\x18\\x29\\x0c\\xdd\\xdb\\xef\\x5f\\x67\\xea\\xf3\\x82\\xf7\\x7b\\x1f\\x2e\\x1f\\x3a\\x76\\x51\\xdf\\xca\\x31\\x23\\xc7\\x17\\xac\\xdf\\xb4\\x7f\\xc3\\xa4\\x43\\xfd\\xc6\\xae\\xbb\\x23\\x5c\\x88\\x9e\\xa5\\x04\\x3c\\x60\\x14\\x97\\x6c\\xa2\\xe2\\x78\\xc0\\xd7\\x75\\xa6\\x36\\xe2\\x92\\x01\\xf2\\xce\\x06\\x09\\x0f\\x98\\x5e\\x0f\\xb2\\xc1\\x64\\x11\\x0f\\x18\\x3d\\xff\\x95\\x2b\\x25\\x09\\x0f\\x18\\x50\\x61\\xa1\\x86\\xb5\\xb1\\xbb\\xd0\\xa0\\x8b\\xc3\\x2e\\x95\\x5e\\xc3\\x71\\x6a\\xb5\\x06\\xda\\x34\\x36\\x97\\xdb\\x2c\\xc3\\x4d\\x69\\x7a\\xb1\\x36\\x00\\xbb\\x88\\xc8\\x47\\x2c\\xcf\\x4a\\x82\\x20\\xc0\\xb1\\xb3\\x52\\xea\\x45\\x4b\\xc0\\x91\\x8b\\x2e\\x24\\x80\\x3d\\x80\\x42\\x37\\xf5\\xa1\\xba\\x57\\xb7\\x18\\x31\\x76\\xdc\\x45\\x8d\\x9b\\x19\\xfe\\xed\\xda\\xa7\\xae\\xe9\\x85\\x26\\xf4\\xde\\x1e\\x3d\\x8b\\x1e\\x98\\x3b\\xf5\\x7c\\x7d\\x14\\x32\\x6e\\xfd\\x9a\\x73\\xe7\\xfb\\x8f\\xf8\\xf5\\x4d\\x82\\xb1\\x85\\x7c\\x58\\x8c\\x5b\\x98\\x4a\\x15\\xa2\\x39\\x98\\x19\\xee\\xa4\\x2b\\x2e\\x36\\x7b\\xda\\xb5\\x83\\x99\\x9d\\x3b\\x3b\\x79\\xbf\\xdf\\x09\\x61\\xd8\\x6c\\xee\\xca\\xfb\\x9c\\xd0\\x66\\xb0\\xa1\\x10\\xd8\\x6d\\x73\\x6a\\x29\\x43\\x59\\x65\\x24\\x45\\x85\\x4c\\x27\\x25\\x97\\xe7\\x90\\x2a\\xe5\\xb4\\x84\\x2a\\x65\\x31\\x27\\x40\\x22\\x62\\x52\\xde\\x19\\x23\\x63\\x30\\x24\\x51\\x18\\xb5\\xae\\x5c\\x2e\\xc4\\x7e\\xba\\xe4\\xff\\x92\\x1b\\x13\\x5c\\x94\\x57\\x0e\\xee\\xed\\xb8\\x94\\x48\\xbb\\x39\\x90\\xdc\\x7d\\x59\\xdd\\xf8\\x6f\\x4f\\x79\\xf1\\xac\\x87\\x0e\\x6d\\x9d\\xb4\\xdc\\x54\\x59\\x37\\x6e\\xed\\x8e\\x0c\\xd8\\xe7\\x68\\x42\\x17\\x26\\x3d\\xaf\\xb4\\x5f\\xfb\\xec\\x9e\\xf7\\xb1\\x1d\\x13\\xfa\\x31\\x1f\\xbf\\x6b\\x3c\\x60\\x5d\\x3c\\x75\\xe5\\xc3\\x93\\x22\\x7d\\xc7\\x8d\\x79\\x6c\\xfa\\x7b\\xe3\\x22\\x49\\x8d\\x99\\xc2\\xcc\\xae\\x9d\\x73\\xda\\xb7\\x2b\\x2a\\xee\\x2a\\xd6\\x0f\\x23\\x5b\\x70\\x9d\\xe4\\x51\\x0a\\xa9\\x71\\xe1\\x0e\\xed\\xf8\\xa0\\xdd\\x9e\\xea\\x76\\x5b\\xb2\\x54\\xa9\\x10\\xaa\\x64\\x46\\x0b\\x2f\\x6b\\xdf\\xc1\\x24\\xf7\\xe5\\xfa\\x72\\xeb\\x23\\x3e\\x9f\\x96\\xd2\\x86\\xea\\x23\\x5a\\xa3\\xdd\\x81\\xbb\\xf8\\x82\\x54\\xb0\\x5e\\x2c\\x4b\\x17\\xe9\\x9d\\x92\\xe0\\x0b\\x48\\x1f\\x43\\x22\\x61\\x98\\x8d\\xbf\\x4e\\x42\\x18\\xc2\\x48\\xce\\x91\\xbf\\x18\\x52\\x91\\x88\\x26\\x05\\xb7\\xce\\x16\\xca\\x63\\xc5\\x97\\xf8\\x56\\x09\\x46\\xb9\\xcc\\x31\\x04\\x5b\\xfb\\x17\\xdf\\x7e\\xf6\\x11\\x30\\x77\\x85\\xf0\\x9c\\xf0\\xc3\\xa7\\xff\\xba\\xfe\\x34\\xf8\\x0b\\xe0\\xee\\xd8\\x1f\\x7d\\x64\\xf3\\xaa\\xb9\\xfb\\xab\\x67\\x2f\\xf9\\xe9\\xca\\x3b\\xbb\\x76\\x9c\\xff\\xf0\\x51\\x76\\xb7\\xec\\x89\\x1d\\x5b\\x5f\\x77\\x33\\xd6\\xdd\\x73\\x3e\\xfa\\xe5\\xb9\\x27\\x0e\\x7e\\xe8\\x62\\xca\\x8f\\xee\\x39\\xbe\\x02\\x4e\\x1e\\xde\\xb7\\xb2\\x72\\xdd\\xe0\\xaa\\xf1\\xec\\xdd\\x89\\xa7\\x1b\\x1e\\x98\\x7d\\x7e\\xfb\\xcc\\xd9\\x78\\xfc\\xf5\\x68\\xfc\\x0d\\xec\\x3b\\x68\\xbf\\xb4\\xc3\\xb7\\xf6\\x19\\x16\\x9f\\x2c\\x85\\x49\\x71\\xe7\\xf1\\x8c\\x52\\xc9\\x6b\\x1c\\x6e\\x8b\\xac\\xa0\\xd0\\xa9\\x41\\xe7\\x3e\\xad\\x0a\\x99\\x7f\\xa3\\x4f\\x2e\\xf3\\x52\\xc6\\xac\\xca\\x88\\x31\\x0a\\x77\\x54\\x28\\x05\\x6a\\xf7\\x0c\\x57\\x6a\\xe3\\xc7\\x83\\x09\\x16\\x5b\\x62\\x43\\xa6\\xa4\\x22\\x4c\\x3c\\x66\\x3e\\xcd\\x4a\\xee\\xd4\\xc8\\xdd\\xb8\\x5f\\x1c\\x37\\x7d\\xb6\\x76\\x7d\\xe5\\xe4\\xe1\\xd7\\x9f\\xd8\\x0e\\x26\\xcc\\x12\\x6e\\x09\\x77\\xff\\xf8\\x59\\xed\\xd1\\xc9\\xe0\\x19\\x50\\x1d\\xfe\\xcb\\x82\\x6e\\x53\\x8f\\xd6\\x02\\x7a\\xe6\\xd1\\xc8\\x46\\x38\\xb9\\xdf\\xee\\x61\\x8b\\x2a\\x66\\x4e\\x7c\\x65\\xe3\\x8d\\x2c\\xc6\\xb5\\x7f\\xc6\\x8f\\xc2\\x37\\x2f\\x9f\\x5c\\xf0\\xd2\\x2a\\x3b\\xd3\\xbb\\x11\\x38\\x57\\xcd\\x9c\\x7c\\xbd\\x6e\\xe2\\xca\\x89\\x17\\x26\\xff\\x75\\xf4\\x93\\xd3\\xa7\\xad\\x24\\x7a\\xed\\x03\\xe1\\x27\\x52\\x93\\x62\\xa4\\x3a\\x86\\xdd\\x94\\x4e\\xc9\\x2a\\x01\\x34\\x40\\xb3\\xc1\\x64\\x64\\x0d\\x6c\\x5d\\x44\\x6d\\x30\\xb4\\xae\\xa3\\xb8\\x1e\\xbf\\x2b\\x46\\x03\\x42\\x7f\\x15\\x44\\x0b\\x28\\x44\\xea\\xe4\\xa0\\x84\\x9d\\xc1\\xe8\\xc5\\xea\\x93\\xbb\\xff\\x43\\x8f\\x9a\\xbd\\xb2\\x6c\\x6b\\xa8\\x4b\\xd7\\xa6\\x17\\x71\\xb1\\xc4\\xc6\\xbb\\x47\\xa7\\x4f\\x9c\\x38\\x21\\xa7\\x6f\\x87\\x76\\xd9\\x5b\\x49\\xdd\\x89\\xf0\\x13\\xa9\\x3b\\x31\\x61\\x19\\x68\\x83\\x5a\\xae\\x86\\x2c\\xc5\\x5a\\xa8\\x58\\x7d\\x09\\x90\\x53\\xf8\\x1e\\x15\\xf7\\xe3\\x5c\\x8f\\x5f\\x9b\\xb6\\x92\\x21\\x7a\\x03\\xef\\x17\\xd5\\x66\\x10\\xcf\\x5c\\x20\\xdb\\x09\\xdd\\x62\\x91\\x49\\xd3\\xe7\\xe0\\x9d\\xd9\\x2b\\x3d\\xd6\\xad\\x9c\\x7d\\xe9\\x7a\\x98\\xbe\\x71\\x7d\\xd3\\x47\\xb3\\x26\\x76\\x1a\\x9a\\x91\\xe3\\x2a\\x4b\\x1b\\x93\\xe8\\x8b\\x1f\\x8d\\xf9\\xe2\\x7b\\xc1\\x33\\xd4\\x47\\xd8\\x17\\xd7\\x13\\x5f\\xbc\\x7d\\xa3\\x8e\\x6f\\xc3\\x17\\xbf\\x11\\xf3\\xc5\\xf7\\xe2\\x9c\\x31\\xf1\\x4d\\x3a\\x62\\x3c\\xf6\\x92\\xb2\\xd6\\xbe\\x38\\xd2\\x53\\x31\\xdc\\x7e\\x8c\\x2b\\x06\\x66\\x88\\xbe\\x30\\xd2\\x4f\\x31\\x9c\\x7e\\x82\\x37\\x76\\x2b\\xc1\\x57\\xcc\\x8a\\xdd\\x85\\x14\\xc2\\x54\\x31\\x97\\xcd\\x40\\xec\\xfd\\xa0\\xaf\\xe7\\x7d\\x41\\xc9\\x5b\\x4c\\xcc\\x65\\x13\\x5f\\x8e\\xe4\\x6d\\xab\\xa5\\xfc\\xb1\\x25\\xf9\\x2e\\x81\\x39\\x10\\x04\\xe5\\x41\\xc0\\x05\\x41\\x90\\x86\\xfe\\x7b\\xee\\x12\\x5a\\xbf\\xb7\\x84\\xde\\x1d\\xf5\\x37\\x7d\\xd8\\xb7\\x7b\\x3c\\xa3\\xa8\\x4d\\x1f\\xb5\\xab\\x6c\\x5f\\x2c\\x6f\\x44\\x70\\xb3\\xa4\\x77\\xf6\\xa1\\xd2\\xc2\\x76\\x98\\x57\\x04\\xea\\x8a\\xa6\\x17\\xd1\\xe5\\x45\\x03\\x8b\\x68\\xae\\x08\\xa0\\xff\\x17\\x61\\xec\\x47\\x29\\x45\\x5c\\x2b\\xe6\\xd0\\x45\\xbf\\xf5\\xcb\\x98\\xdf\\xba\\x97\\x56\\x22\\x99\\xf1\\x9c\\x7a\\xd1\\x22\\xec\\x70\\x79\\xda\\xf4\\x5b\\x6f\\xc4\\xfc\\xd6\\xbd\\x31\\x6c\\x4c\\x1f\\x5a\\x83\\x45\\x6e\\x6f\\x5b\\xd8\\x95\\x09\\x63\\x2b\\xc6\\x7d\\x5e\\xe2\\xd8\\xbc\\x78\\x6c\\x17\\xfd\\x81\\xb6\\xfd\\xef\\xf8\\x7c\\xa2\\x75\\x36\\x48\\x79\\x70\\x3c\\x9f\\xf6\\x30\\x07\\x0f\\x04\\x40\\x79\\x00\\x70\\x01\\x10\\x48\\x18\\x51\\x02\\xb6\\xd3\\xa1\\x28\\xf6\\x12\\xfa\\x9d\\xf7\\x24\\xbc\\x73\\x8c\\x43\\x94\\xaf\\xd2\\xb4\\x89\\xed\\x34\\x28\\x86\\xed\\xb4\\x91\\xfa\\x98\\x8a\\x63\\x3b\\x6d\\xb5\\xb7\\xe2\\x11\\x12\\x5a\\x84\\x1a\\xba\\x2b\\xb2\\x6d\\x06\\x14\\xed\\xf4\\x0c\\xa7\\xd2\\x2e\\x97\\x96\\x02\\xc0\\x22\\xd7\\xca\\x79\\x1f\\xef\\x65\\xec\\x95\\x11\\xda\\xa0\\x85\\x0c\\xee\\x52\\x37\\x56\\x46\\x38\\x95\\x93\\xc2\\xf7\\xbc\\x85\\x92\\x4a\\xc6\\xa4\\x50\\x49\\x2d\\x5b\\x44\\x3f\\x15\\x82\\x56\\x06\\xaa\\x98\\x4d\\x34\\x47\\x5d\\x1b\\x85\\x6f\\xcb\\x4a\\x13\\x6d\\x10\\x60\\xa2\\x46\\x87\\xbd\\xf1\\xeb\\x5c\\x4b\\x82\\xa5\\xf9\\x3e\\x6e\\x58\\x68\\xd2\\xf7\\xf4\\x3d\\xd3\\x9f\\xca\\x44\\x3e\\x6a\\x4d\\x38\\xbf\\x7d\\xc8\\xc1\\xb2\\x21\\x8a\\x37\\x6a\\x64\\xc5\\xb9\\x29\\x29\\x25\\x6e\\x3a\\x04\\xd3\\xbc\\x69\\x48\\x91\\x66\\xa6\\x39\\xad\\xe8\\xc0\\x5b\\x79\\x6f\\x3b\\xa4\\x55\\x39\\xaf\\x17\\xb9\\x12\\xb8\\x2b\\x2e\\x21\\xb1\\x24\\x56\\x6d\\xc6\\x18\\x90\\xe2\\x75\\x45\\xbf\\x8b\\xe0\\x9a\\x34\\xae\\xb4\\xc4\\x41\\x9d\\xda\\xb0\\x75\\x6d\\x5b\\x90\\xae\\xb3\\xcb\\xe2\\xd6\\x16\\x5c\\x8a\\x0e\\x53\\x78\\x63\\xdf\\x03\\xf4\\xd9\\xb6\\x20\\x5e\\x9b\\x1b\\x63\\xc3\\x5f\\x92\\x30\\xf6\\x16\\x64\\x53\\xe8\\xc3\\x6c\\x36\\x65\\xa7\\xd2\\xa9\\xba\\x70\\x81\\x36\\x35\\x95\\xb1\\xaa\\x34\\x0a\\xb7\\xdb\\x60\\xd0\\x40\\x2b\\x83\\x34\\x42\\xd0\\x6e\\xe6\\x7c\\x95\\x11\\x2d\\x6d\\x85\\x1c\\x67\\x66\\xcd\\x0e\\x5c\\x2e\\xa2\\x61\\x58\\xa6\\x2a\\xa2\\x94\\xb3\\x1c\\x25\\x15\\x94\\xc7\\xcc\\xa9\\x95\\x4c\\x44\\x2b\\x97\\x83\\xcc\\x41\\xb0\\x28\\xb1\\xac\\x3c\\x36\\xe6\\x84\\x21\\x93\\xb2\\x8d\\x83\\x6b\\xb7\\xcf\\x8a\\x15\\x97\\x8f\\x0c\\x17\\xcc\\x7a\\xe8\\xe0\\x96\\x8f\\xd2\\xd1\\x30\\x9f\\x2f\\xed\\xd1\\x3e\\xbb\\x4b\\x85\\xbc\\xb4\\x7e\\xcf\\x74\\x7a\\x20\\x41\\xd3\\xf3\\xa2\\x51\\xad\\xda\\xf9\\x07\\x69\\x50\\xb9\\x7e\\x5b\\x59\\x17\\xb1\\xfe\\xc5\\x29\\xd4\\x80\\xe3\\x48\\x77\\x6b\\x29\\x77\\x58\\xab\\xe2\\x68\\x9d\\x92\\x54\\x5a\\xc6\\x4b\\xe1\\xc9\\xf2\\x20\\x1f\\x37\\x09\\x40\\x7d\\xac\\x08\\xa3\\xdb\\xd1\\x40\\x20\\xd3\\x25\\xcc\\x5c\\x09\\x2a\\x1d\\x52\\x25\\x2d\\xdf\\xca\\x3e\\x44\\x7b\\x3a\\x8d\\x6a\\x4f\\x55\\x50\\xa3\\xc3\\x1d\\x0a\\xa0\\xcf\\xef\\xcf\\xd2\\xe9\\xf5\\x59\\x5d\\x6d\\xb6\\x2c\\x08\\xbb\\xf7\\xf0\\x9b\\x53\\x3c\\x2a\\x3d\\x63\\x76\\xb9\\x3a\\x57\\x46\\x5c\\x16\\x73\\x07\\x34\\x59\\xbc\\x96\\x92\\xe7\\x12\\x47\\x2d\\x3d\\xb9\\x9d\\x2c\\xe6\\xb1\\x59\\x4b\\x13\\x69\\xcf\\x7e\\xd3\\x3f\\x4b\\xc6\\xbe\\x0a\\x06\\xe4\\x81\\x36\\x20\\x31\\x92\\x3a\\x72\\xc0\\xaa\\x44\\x17\\x6d\\x50\\x02\\x16\\xd6\\x0f\\x15\\x30\\xfb\\x88\\x27\\x19\\x29\\x83\\x91\\xc7\\x1b\\x74\\x12\\xbd\\x34\\x11\\x7b\\x47\\xec\\xcf\\x79\\xe5\\xe9\\x83\\xad\\xd0\\x33\\x60\\xff\\xd6\\x38\\x59\\x25\\x42\\x8d\\xec\\x5d\\x66\\x20\\xb2\\x56\\x05\\x54\\x57\\x2a\\x12\\x2e\\xc8\\x87\\x19\\x25\\x1a\\x6d\\xb9\\xd5\\xaa\\x2d\\xf1\\x41\\xb6\\xa2\\x9b\\xdf\\x8d\\xe6\\xc8\\xe4\\xe5\\x9c\\x1d\\xf1\\xb5\\x8e\\xa9\\xb0\\x32\\x62\\xb2\\x68\\x9d\\xf2\\x6c\\x82\\x38\\x94\\x96\\x8c\\x38\\x14\\x87\\x0a\\xb1\\xde\\x43\\x97\\x9f\\x30\\x15\\xe4\\x50\\xc5\\xae\\x73\\x70\\x43\\x18\\xd9\\x67\\x18\\x80\\x28\\xb1\\x3a\\x1a\\x24\\x4d\\x16\\xbb\\x0e\\xcd\\xc5\\x27\\xa7\\xef\\x54\\xb0\\xae\\xa1\\x8d\\xc3\\x2c\\xea\\xd6\\xb3\\xd3\\x77\\x7f\\xf9\\xaa\\x63\\xc3\\x97\\x3c\\x80\\x27\\xe4\\xae\\x90\\x30\\x51\\x03\\x9f\\x3b\\x72\\x43\\x58\\x71\\xe1\\xfa\\x61\\xa1\\x27\\xb8\\x36\\xd5\\x47\\x26\\x07\\xcd\\x16\\x9a\\x9c\\x31\\x83\\xd0\\xb4\\xbc\\xbd\\x6a\\xc5\\x1a\\x71\\x3a\\x9a\\xce\\x27\\x01\\x8d\\x30\\x2d\\x7b\\x5b\\x76\\xb1\\xcf\\xb1\\xdf\\xa0\\x7d\\x69\\x44\\x5b\\xc1\\x4e\\x0d\\x0e\\xe7\\xa9\\xf5\\x14\\x0f\\x4c\\xbc\\x5e\\x67\\xb3\\xca\\x65\\x4a\\x85\\x56\\xeb\\x54\\x38\\x18\\xbb\\xce\\x8e\\x22\\x13\\xab\\x42\\xcd\\x53\\x26\\x46\\xa9\\xd3\\x29\\xf4\\x1a\\x25\\x94\\x29\\x0c\\xa4\\x41\\xe2\\x56\\xf9\\x2d\\xec\\xc9\\x91\\xe4\\x75\\x42\\x89\\x5c\\x5c\\xd9\\x18\\x03\\xd0\\x0f\\xd0\\xee\\x00\\x85\\x56\\xa4\\x35\\x0b\\x01\\xda\\xda\\x46\\x79\\x21\\xfa\\x31\\xe3\\xb8\\xf5\\x52\\x5f\\x61\\xa6\\x30\\xfa\\xf4\\x90\\x2b\\xb0\\xf2\\xc3\\x42\\x60\\x3b\\x73\\xf7\\x7f\\xc7\\x83\\x48\\x3e\\xec\\xb0\\xfe\\x66\\x53\\xd3\\xd7\\xbf\\x54\\xc0\\x4f\\x9b\\xfc\\xa0\\xa1\\xf9\\x97\\x29\\xec\\xf2\\x9f\\x40\\x5d\\xd3\\x7d\\xe0\\x2c\\xe0\\x15\\xa3\\x85\\xe3\\x2d\\x42\\x01\\x81\\x6b\\x45\\xfa\\xb2\\x00\\x8d\\xe1\\x07\\x34\\x06\\xcc\\x06\\xf8\\x40\\xb8\\xc4\\x6b\\xb4\\xe8\\x4d\\x6c\\x8a\\x5a\\xa3\\xa1\\x28\\x17\\x8d\\xa2\\x2f\\x0b\\x1b\\xf2\\x78\\x32\\x52\\xd8\\x54\\x47\\x6a\\x5d\\xc4\\xed\\x08\\xbb\\x1c\\x10\\x52\\x0e\\xc6\\x2f\\x53\\x70\\x0a\\xdc\\x23\\xca\\xe9\\x51\\x00\\xc6\\x61\\x66\\xe8\\x3c\\x7d\\x21\\x7f\\x23\\xda\\xda\\x57\\x88\\xbf\\x75\\xf0\\xb7\\xee\\x0d\\x45\\x25\\x1d\\x82\\x99\\xa2\\xad\\xf2\\x74\\x91\\x0d\\xba\\x98\\x94\\x96\\x06\\xe5\\x01\\x63\\xba\\x3e\\x4a\\x19\\x2d\\xb1\\x02\\x32\\x34\\xdb\\x7d\\x62\\x7a\\xa3\\xad\\x43\\x33\\x73\\xff\\x76\\x0c\\x6b\\xb4\\x15\\x23\\x20\\xbd\\xbe\\x7e\\xe3\\xe9\\x37\\xb7\\x61\\x0c\\xa4\\x33\\x2b\\x67\\x9d\\xb9\\x5b\\x7e\\x1f\\xfd\\xdd\\xb0\\xb9\\x18\\xfa\\x88\\x35\\x0d\\x59\\x51\\xdc\\xab\\xb8\\xa9\\x7b\\xb7\\x9d\\xdb\\x22\\x57\\x4f\\x0c\\x7d\\x12\\xc0\\xfd\\x00\\x62\\x08\\xa4\\xb2\\x2d\\x4d\\xfd\\xf6\\x4f\\x83\\xc7\\x43\\x4f\\x0b\\xcf\\x23\\x5d\\xb9\\x10\\xd9\\x89\\xc3\\xe8\\xfc\\xbb\\x91\\xae\\xac\\x0d\\x17\\x7a\\xcc\\xc8\\x44\\x20\\xbf\\xc7\\xcd\\xd2\\xb4\\xd3\\x6f\\x34\\xb3\\x86\\x90\\x21\\xe8\\x42\\x0a\\x86\\xf5\\x19\\x79\\x99\\xce\\x6e\\x0f\\x54\\x46\\x20\\xb4\\xf3\\x06\\xa7\\x5a\\x8d\\x16\\x10\\x39\\x8a\\x71\\x08\\x24\\xe9\\xfa\\x96\\x1c\\xfc\\xd6\\xb7\\x95\\x49\\xe3\\x14\\x4b\\x50\\x83\\x20\\x00\\xa2\\xfb\\xda\\x58\\x18\\x23\\x3f\\x84\\x2b\\x6a\\x55\\x4f\\x33\\x46\\xa1\\x7f\\x4e\\x99\\x04\\x88\\x34\\xbe\\xbf\\xf0\\xd3\\x5e\\x50\\x34\\x75\\xfb\\x0f\\x67\\x06\\xf5\\xf9\\x4f\\x43\\x53\\xc4\\x02\\x9e\\x4c\\xcb\\x5d\\xd2\\x30\\x14\\xfe\\x7b\\xc8\\x36\\x7b\\xfb\\xcc\\xe6\\x52\\x13\\x41\\x46\\xf2\\x0a\\xfd\\x40\\xf3\\xd4\\x37\\x30\\x3c\\x92\\x0d\\xec\\xbe\\x7b\\x79\\x68\\x19\\x7d\\x4d\\xb7\\x56\\xf8\\x88\\xc4\\xcb\\x79\\x22\\x57\\x00\\xda\\xa3\\x5d\\xc3\\x29\\x5a\\x85\\x1a\\xca\\xe5\\x40\\xc9\\x02\\x8d\\x9a\\xd5\\x71\\x72\\x2d\\xee\\x05\\x61\\x28\\x4a\\x4d\\xab\\x15\\xd8\\x0f\\xc7\\x0e\\x78\\x79\\xbc\\x82\\x39\\xe9\\x02\\x1a\\xdf\\xab\\xe0\\x8e\\x74\\x09\\xab\\xda\\x18\\x18\\xb0\\x65\\xce\\xf3\\x73\\xc0\\x56\\xaf\\x30\\xb3\\x9e\\xfe\\xa3\\xa7\\x69\\xe1\\x92\\x2d\\x30\\x93\\xae\\x69\\x3e\\xd1\\x20\\xe8\\x1a\\xe8\\x2d\\xd8\\x1e\\x3d\\x8d\\xf6\\xd6\\x34\\xb4\\xb7\\x70\\xe3\\x6a\\x9f\\x70\\xd0\\xa0\\x37\\x1a\\xd5\\x6a\\x56\\x06\\x28\\x99\\x86\\x51\\xf2\\xbc\\x59\\x69\\x32\\x42\\x02\\x30\\xab\\x67\\x54\\x72\\x46\\xc6\\x51\\x5a\\xa8\\x94\\xa1\\x33\\x71\\xa3\\xbc\\xf0\\x16\\xe1\\x92\\xa4\\x0a\\x13\\x4f\\x43\\x6c\\xe3\\x60\\xf0\\x0e\\x5c\\xcf\\x1f\\x00\\x22\\x57\\x18\\x28\\x0e\\xb0\\x8e\\x6e\\x9e\\x43\\xc2\\x90\\x4d\\xd7\\x06\\x0a\\xe3\\x4f\\xd3\\x8b\\xa7\\x09\\x2e\\x0f\\xdc\\x3d\\xf8\\x4c\\xf3\\xd5\\x57\\x76\\xb1\\xcb\\x1b\\x9a\\xbf\\x69\\x6e\\x07\\x76\\x09\\x14\\xf4\\xd0\\x05\\x0d\\x93\\x04\\xf8\\x1f\\x31\\x97\\x20\\x13\\x86\\xe2\\x3c\\x15\\xd5\\x01\\x79\\x0a\\xd9\\x6a\\x87\\x23\\x48\\xb1\\xb9\\xb9\\xc6\\x14\\x2a\\xa5\\xb8\\xc8\\x91\\x0b\\xd3\\xd2\\xb2\\xaa\\x22\\xa1\\x50\\x1a\\xaf\\x52\\x69\\xb5\\x8a\\xea\\x88\\xd6\\x09\\xad\\x55\\x11\\x93\\x89\\x85\\x04\\x04\\x3b\\x2f\\x9e\\x73\\x89\\xde\\xdf\\xb7\\xd1\\x10\\x47\\x6c\\xa2\\x15\\xf7\\xaf\\x5a\\xd1\\xbf\\x72\\x69\\x3a\\x56\\xbe\\x98\\x0b\\xc4\\xfa\\xc5\\x42\\x5f\\x0c\\x4b\\xc6\\x03\\xac\\x1e\\x1a\\x6e\\xfc\\xcf\\x37\\xc5\\xe1\\x0d\\xc5\\x7d\\x3a\\xf5\\xae\\x1c\\xbf\\x3a\\xaf\\x4f\\x79\\xc7\\x7f\\x97\\xee\\xce\\x59\\x34\\x6f\\xeb\\xc3\\xd9\\x35\\xeb\\x96\\x2d\\xeb\\xfe\\xb7\\xdb\\x60\\x4c\\xf6\\xe3\\x96\\x45\\x13\\x1e\\x5a\\x9d\\x39\\x70\\xeb\\xd2\\xe5\\xbd\\x40\\xe7\\xc7\\xcf\\xa8\\xae\\xf6\\x2d\\x9d\\x31\\xc6\\x9a\\xd3\\x13\\x8c\\x7f\\xa0\\x66\\x78\\xd7\\xd1\\xb5\\x99\\x9d\\xdb\\x65\\x67\\x56\\x4e\\xb9\\x6f\\xfb\\xbe\\x16\\xfb\\xc0\\x9e\\x03\\x7b\\x65\\x96\\xe5\\xe4\\x84\\xaa\\x67\\x88\\xf6\\xf4\\x3d\\x61\\x28\\x89\\x85\\x9c\\x18\\xe9\\x47\\x65\\x35\\x59\\xec\\x76\\x37\\x65\\x36\\x9b\\x5c\\x0e\\xab\\xcd\\x5a\\x19\\xb1\\x71\\x66\\x14\\x26\\x21\\x3d\\x6e\\x56\\x2a\\x35\\x1a\\x79\\x75\\x44\\x93\\x5c\\x70\\x1d\\x8b\\x8c\\xa2\\x25\\xcb\\x38\\xab\\x52\\xec\\xa1\\xad\\x1e\\x50\\x2c\\x8e\\x33\\x3d\\x0f\\xe4\\x82\\x2c\\x20\\x05\\x4b\\xaf\\x77\\xe8\\x5b\\x96\\x3b\\x34\\x52\\xdc\\xa1\\xd7\\xe0\\xd9\\x0b\\x7b\\x4c\\x29\\x5b\\xe4\\x0e\\xf7\\x6d\\x70\\xc4\\x63\\xa6\\x0d\\xb4\\xa3\\xb0\\xfb\\xaa\\x75\\x4c\\xf7\\x99\\x53\\xbb\\x8e\\x7c\\x31\\xc7\\x2b\\x45\\x4e\\xe2\\x1a\\x1d\\x45\\xf1\\xd2\\xe3\\xec\\x6e\\xca\\x4a\\x75\\x09\\x7b\\xb5\\x3a\\x2b\\xa5\\xa3\\x6c\\x72\\xa3\\xd1\\x0e\\x2d\\xf5\\x11\\x80\\x54\\x11\\xaf\\xd5\\xf2\\xbc\\xaa\\x3e\\xc2\\x93\\xd2\\xc5\\x84\\x24\\x98\\x54\\x81\\x1f\\x6b\\x39\\xf3\\x1b\\x13\\x8a\\x00\\xe4\\x41\\x03\\x41\\x63\\xa4\\x58\\x08\\x86\\x4d\\xcc\\xef\\xb7\\xe8\\x95\\x29\\x7b\\xd6\\xad\\x79\\x31\\xf7\\xe4\\x0a\\x70\\xe2\\xcb\\x7f\\x08\\x2f\\x09\\x77\\xfa\\xd0\\x36\\xdd\\xbc\\xf7\\x37\\xad\\xdf\\xb7\\x70\\x96\\x1b\\x8c\\xf8\\xf4\\x5d\\xe1\\x9f\\x42\\xa3\\x46\\x58\\x45\\x64\\x1a\\x86\\x71\\x17\\x98\\x01\\x68\\x92\\xda\\x87\\x9d\\x2c\\xcf\\x53\\x6a\\x68\\xb6\\x00\\x63\\x55\\x04\\x00\\x4a\\x4b\\x76\\x0b\\x72\\xb1\\x78\\x82\\xec\\x90\\x98\\x94\\x13\\xcf\\x12\\x96\\x24\\x2a\\x87\\x24\\x06\\x72\\x1f\\x21\\x60\\x07\\x4f\\x3f\\x36\\x6c\\xd2\\xb0\\x17\\xba\\x3e\\x39\\x09\\x54\\x9d\\x7c\\xf5\\xe6\\x0b\\x9d\\xc1\\xd9\\xea\\x3d\\xa3\\x47\\x8f\\x7d\\x59\\x07\\x2a\\xce\\xef\\xb9\\xf0\\x7d\\x9a\\x70\\x9d\\x82\\xa4\\xef\\x91\\x27\\xfd\\x1d\\x1e\\xe4\\xbb\\x4c\\x0c\\x17\\x5b\\x80\\xde\\x6b\\x36\\x43\\x95\\xc3\\xa1\\xd5\\xa6\\x28\\x14\\x46\\x48\\xa1\\x48\\x32\\x68\\x46\\x01\\x75\\x7d\\xc4\\x40\\xab\\xbc\\x1e\\xaf\\x07\\x45\\xd6\\x5e\\xda\\xab\\x67\\x30\\x4a\\x9d\\xde\\xc0\\xa4\\x49\\xed\\x1e\\xd4\\x3d\\xf0\\x95\\x89\\x67\\x3e\\x59\\x59\\x13\\x38\\x8a\\x24\\x00\\x4b\\xdc\\x62\\x21\\x6f\\x05\\x62\\xb9\\x7c\\xad\\x63\\xed\\x33\\x40\\x48\\xc4\\xaf\\x04\\x0e\\x50\\xeb\\x10\\x1e\\x4f\\xbd\\x07\\xc6\\x12\\x0c\\x59\\x0d\\x8f\\xc5\\x11\\x2c\\xc1\\x47\\xab\\xaf\\xc6\\x41\\x2c\\x69\\x2a\\x8c\\xb9\\x18\\x49\\xcf\\xb6\\x17\\x9d\\xce\\x1c\\xb7\\xd9\\x00\\x1d\\x0e\\x20\\x57\\x2a\\x15\\x6a\\x96\\x55\\x28\\xec\\xc0\\x64\\x60\\x7d\\x7e\\x87\\xda\\x8c\\x41\\x17\\x15\\x48\\x87\\x71\\x34\\x87\\x86\\xc7\\x19\\xe5\\x58\\x89\\x15\\xc6\\xc1\\x48\\x25\\x28\\x7e\\xd0\\x3a\\x65\\x16\\xd3\\x67\\x22\\xca\\x86\\x9c\\xa6\\x48\\xd7\\x2d\\xb2\\xb3\\x3e\\xdc\\x82\\x87\\x9d\\xd7\\xda\\x39\\x73\\x9f\\x9f\\x0d\\xb5\\x73\\xae\\xcd\\x99\\xeb\\x9e\\x67\\x6b\\x2f\\x9c\\x11\\xbe\\xff\\x9b\\xf0\\xa3\\x73\\x0e\\x3d\\x0a\\x2c\\xeb\\x6f\\x69\\xfa\\x51\\xaf\\x7f\\x0a\\x66\\xd0\\xc3\\x9a\\x8f\\xe3\\x3f\\x7b\\x96\\x08\\x77\\x84\\x6f\\xee\\xdc\\x1e\\xb4\\xa5\\xf9\\x67\\xb0\\x7b\\xf6\\x70\\xdc\\xfe\\x86\\x62\\xad\\xc3\\x14\\x60\\xbe\\x62\\x57\\x18\\x64\\x70\\x00\\x85\\xfd\\xa9\\x0e\\x2d\\x5e\\x76\\x16\\x52\\x72\\x98\\xcf\\xcc\\x49\\x8d\\x0a\\x17\\x9a\\xf4\\xd0\\x66\\xa3\\x19\\x95\\x52\\x67\\xb0\\x68\\x1d\\x8c\\xc2\\xa5\\x50\\xb8\\x35\\x56\\xd6\\x5a\\x17\\xe1\\x9d\\x26\\x67\\x5d\\x44\\x6b\\x42\\x3e\\x83\\x3c\\xcc\\x42\\xbd\\x8d\\xb1\\x11\\xb4\\x15\\x0c\\xc0\\x7d\\x4b\\x3c\\x88\\x8e\\x5b\\x85\\xad\\xab\\xeb\\xa3\\xaa\\x12\\x0f\\xd0\\x8f\\xbd\\x4a\\x20\\x11\\x96\\x49\\x7d\\x31\\x00\\x7d\\x81\\xb8\\xbf\\x7e\\xe2\\xae\\xfd\\xbb\\x36\\x02\\x3d\\x4c\\x19\\x7d\\x60\\xf4\\x30\\xcf\\x61\\xe1\\x5d\\x50\\xe6\\x11\\x16\\x0b\\x57\\xe8\\x37\\x3d\\xcd\\x36\\xd0\\x03\\xe4\\x34\\xff\\xf5\\x3d\\x0b\\xe8\\xd9\\xfc\\xf9\\xe7\\xec\\xf2\\xed\\xdb\\x25\\x66\\x01\\xe4\\x8a\\xbc\\x7c\\xf7\\x22\\xc0\\xf5\\x6e\\x4c\\xcb\\x02\\x64\\x43\\x5f\\x23\\xbc\\xd6\\x69\\x54\\x16\\x95\\x4f\\xad\\x0b\\xf7\\x4d\\xd7\\x6b\\x38\\xb4\\x37\\xd2\\x42\\x79\\x3e\\xb9\\xc3\\x61\\xcd\\xb6\\xbb\\x5c\\xf9\\xb9\\x56\\x5f\\x88\\xd3\\x2b\\x74\\x05\\xba\\x76\\x36\\x8a\\xca\\x4c\\xcb\\xac\\x8c\\xe4\\xa5\\x85\\x00\\xa7\\x61\\x54\\x32\\xab\\xc3\\x97\\xcb\\xa4\\x99\\x65\\x69\\xb2\\x34\\x95\\xd9\\x9c\\x82\\x3d\\x6c\\x9d\\x53\\x05\\x2b\\x23\\x2a\\x4b\\xac\\xf3\\x4c\\xda\\xa2\\x64\\x64\\x12\\xd1\\x35\\xa9\\x13\\xbf\\xc7\\xd6\\xc6\\x4d\\x2e\\x8c\\xb3\\xb9\\x47\\xcd\\x2d\\xf6\\x2a\\x90\\xf7\\x44\\xf8\\x06\\x8c\\x62\\xb7\\xa7\\xc9\\x6a\\x0c\\xc8\\x40\\xfb\\xa0\\xbc\\x90\\xae\\xfd\\xb2\\xb4\\x72\\x54\\x43\\xbb\\x0d\\x03\\x3f\\xdb\\x3b\\x7d\\x88\\xf0\\xcd\\x5e\\xd0\\x6d\\xee\\x16\\x40\\x1f\\x1a\\x57\\x09\\xe8\\x06\\xe1\\x83\\x35\\x36\\x41\\x75\\x3d\\xaf\\x68\\xcd\\xc5\\x34\\xbf\\xff\\xe4\\x1f\\x94\\xf4\\xe2\\xac\\x5d\\x57\\xc1\\xcf\\xc2\\x6e\\xc7\\xf0\\x48\\xf9\\xba\\xd9\\x01\\xa1\\x17\\x68\\x99\\xfe\\xd6\\x6b\\xa0\\xfc\\x69\\x07\\x78\\x54\\xc8\\x9a\\xf8\\xc6\\xa4\\xb1\\x1b\\x40\\x99\\xee\\xd4\\xbe\\xbb\\xb5\\xe5\\x40\\x5b\\x02\\x54\\xe3\\xca\\xbf\\x8b\\xf6\\x1f\\xa4\\xa2\\x3d\\x6d\\xa7\\x06\\x86\\x33\\xa0\\x0d\\xb9\\x1a\\xc0\\x66\\x67\\x78\\xa5\\x5c\\xee\\xe4\\x1d\\x4a\\x3b\\x85\\xbc\\x44\\x19\\x45\\x69\\x19\\xa9\\xbb\\xc8\\x18\\x6b\\xcc\\xa2\\x92\\x3b\\x8b\\x62\\x6d\\x14\\x09\\x9d\\x2e\\x04\\x59\\x0f\\xef\\x63\\x91\\xc1\\x5e\\xb4\\x32\\xe5\\x68\\xb1\\x3f\\x04\\xec\\x50\\xe1\\x2f\\x1e\\xf0\\xf9\\xbc\\x0d\\xee\\x0d\\xb9\\x39\\x5f\\xbe\\x78\\xe0\\x35\\xc7\\x71\\xeb\\x8c\\xb1\\x93\\x56\\x78\\x32\\x85\\xbb\\x30\\x03\\x5c\\x6d\\x68\\x3e\\xfe\\xe8\\x37\\x5f\\xbe\\x7f\\xe5\\x69\\xff\\xdc\\x87\\x76\\xee\\xff\\x50\\xac\\xc9\\xc0\\x31\\xd7\\x4f\\x04\\x5b\\xc6\\x8e\\x31\\x01\\xd1\\xf6\\xe4\\x79\\x14\\x46\\x2a\\x21\\x6d\\xb1\\xd9\\x9c\\xb4\\xc3\\x6a\\x19\\x14\\xb1\\x52\\x06\\x95\\x5a\\x85\\x22\\x7e\\xb5\\x9a\\xd2\\xb6\\x0a\\xc9\\xa2\\xdb\\x32\\xb9\\x16\\x3e\\x7a\\x19\\x11\\x0b\\xd4\\xe2\\x28\\x37\\x3a\\x80\\xeb\\xb5\\x62\\x41\\xdb\\xec\\x19\\x8e\\x19\\xc3\\x1b\\x47\\xa0\\xaf\\x0b\\xbc\\x9b\\x80\\xde\\xdf\\xe8\\x8f\\xb2\\x9e\\x0c\\x5c\\x0d\\xde\\x16\\xf2\\x56\\x37\\xef\\xde\\xbf\\x5a\\xf6\\xda\\xe9\\xd3\\x48\\x57\\xcc\\x14\\x6a\\x30\\xb7\\x21\\xda\\x87\\x99\\x78\\x66\\x43\\x26\\x4a\\x9d\\x22\\x73\\xb9\\xd4\\x26\\x98\\x95\\xed\\x84\\x29\\xa9\\x36\\xe4\\xba\\x3a\\x6c\\x8c\\xdf\\xcb\\x7b\\xeb\\x22\\x3a\\xde\\x88\\xb4\\x08\\x9a\\x59\\xa5\\xf3\\xde\\x1e\\xe1\\x84\\xfe\\x83\\x68\\xdc\\x26\\xf6\\x0e\\xe1\\x4e\\x5c\\xdc\\x6c\\x20\\x23\\x30\\x9d\\x7c\\xd4\\x47\\x95\\x81\\x04\\xbe\\x0e\\xe6\\xe9\\xdc\\x6c\\x53\\x57\\xce\\xdb\\xa5\\xff\\x7b\\xb2\\xac\\x3d\\x37\\x2e\\x0b\\x3f\\xaf\\x7f\\x0f\\xac\\x17\\xfe\\xb0\\xe3\\x90\\x57\\x78\\x5f\\x2e\\xd8\\x7f\\x58\\x7f\\xa1\\xfe\\xef\\x57\\x85\\x3f\\x1f\\xfa\\xf4\\xc9\\x76\\x19\\x4a\\xf6\\xb0\\xee\\x75\\x53\\xc9\\x47\\x23\\x36\\x03\\xf6\\x49\\xa4\\xac\\xb7\\x7d\\xd8\\xbf\\xe4\\x57\\x4d\\x08\\xf8\\x26\\xc0\\x27\\xc7\\x36\\x0a\\x57\\x6e\\xbe\\xfe\\x35\\xf1\\xcf\\x71\\xde\\x6e\\x1c\\xe1\\xa1\\x69\\x8f\\xd7\\xa1\\xc0\\x9c\\x45\\x51\\x3a\\xb5\\x9b\\xf5\\xfb\\x5d\\x6a\\x33\\xd3\\xa1\\x88\\x73\\x19\\x7c\\xbc\\x3d\\x17\\x5f\\x06\\x19\\x50\\x48\\x6a\\xb0\\xc8\\x14\\x0a\\x58\\x1d\\x51\\xc4\\x06\\x97\\x88\\xce\\x18\\x1b\\x59\\xe2\\xe0\\xa2\\x5d\\xc6\\xc9\\x21\\x97\\x54\\x40\\x87\\x2c\\x93\\x2c\\x39\\xce\\x82\\x93\\x73\\xb3\\xd3\\x0b\\x7c\\x85\\x7d\\x47\\x4d\\xf7\\xa5\\xc7\\xe1\\x98\\x51\\x54\\xaa\\xf6\\xc9\\x9e\\xb4\\x66\\x9e\\x97\\x0b\\x23\\xe2\\xd1\\x15\\x1a\\xa9\\xe6\\xb0\\xe6\\xfe\\x51\\x9d\\xf6\\x9f\\x89\\x06\\x56\\x13\\x47\\x15\\x2d\\x53\\x0f\\xf8\\xb0\\x69\\x6a\\x08\\xe8\\x93\\x91\\x1b\\xf1\\x78\\x95\\xf8\\x2e\\x96\\xd8\\x37\\x07\\xd5\\x2b\\x9c\\xe6\\x90\\xa1\\x00\\x40\\x8f\\x21\\x6d\\x79\\x05\\xcb\\x38\\x5d\\x3c\\x2d\\x93\\xcb\\xd0\\x6a\\xca\\xe5\\x8c\\x52\\x69\\xc7\\x30\\x88\\x7a\\xa2\\x0f\\x93\\xbc\\xd6\\x24\\xb7\\x95\\xe8\\x41\\x28\\xd1\\x37\\x1a\\xef\\x01\\x86\\x60\\x9c\\x3f\\x0a\\xf7\\xcd\\x7c\\x7e\\xd6\\x71\\xf7\\xf1\\x15\\xf4\\x58\\x11\\x19\\x42\\x23\\xcc\\x20\\xc8\\x10\\x43\\xc6\\xd1\\xbd\\x9b\\x2f\\xd2\\xbd\\x77\\xd3\\x87\\x45\\x64\\x88\\xa3\\xf4\\x67\\x51\\x64\\x08\\xe2\\x3f\\x62\\x2e\\x43\\xe4\\x07\\xd8\\xa8\\x01\\xd8\\xbb\\x45\\x33\\xaf\\x51\\xb1\\x28\\x3e\\xb0\\xdb\\x6c\\x0e\\x9b\\xc5\\x42\\x57\\x47\\x2c\\xbc\\x02\\x39\\xb8\\x95\\x11\\xd6\\x80\\xfc\\x14\\x15\\xcf\\xa9\\x62\\x09\\xa6\\xc2\\xe4\\x1c\\xb3\\x04\\x51\\x27\\xe9\\x6d\\x12\\x11\\x90\\xc4\\x0a\\x91\\xda\\x20\\x46\\xbf\\x68\\xcb\\xd1\\xb7\\xb2\\x73\\x47\\xee\\xcd\\x7c\\xc6\\x7d\\xa1\\xae\\xb1\\xee\\x41\\xf7\\xa2\\x1e\\xda\\x93\\x01\\xa6\\xdb\\xb2\\xc1\\xc1\\x12\\x78\\x52\\xfb\\xe4\\x8e\\x1d\\x82\\x03\\xfc\\x75\\x07\\x18\\x35\\xf6\\x2f\\xab\\xa7\\xea\\xc4\\xf9\\xdc\\x8d\\x73\\x83\\x64\\x3e\\x4d\\x54\\x38\\x1c\\x00\\x94\\x51\\x6e\\x92\\xa9\\x35\\x4a\\xa5\\x59\\xaf\\xb7\\x18\\xe4\\x26\\xa8\\x54\\x29\\xeb\\x23\\x3a\\x8a\\x91\\xab\\x54\\x32\\xbd\\x06\\x62\\xff\\x9b\\xd4\\x80\\x95\\x96\\x46\\x6d\\x67\\xd4\\xac\\xc4\\x3d\\x6f\\x88\\x84\\x0a\\x16\\x5a\\xb1\\xeb\\x6d\\xf4\\xb3\\x9a\\x47\\x5d\\xff\\x11\\x96\\xcf\\xbc\\x36\\xfb\\xed\\x7f\\xb8\\xb6\\x4c\\x79\\x79\\x22\\xdd\\xf1\\xf9\\x3f\\x35\\xfd\\xfa\\xb3\\xb0\\x82\\xd9\\xbb\\x43\\x28\\xc7\\xcd\\xb4\\xe0\\xc5\\x1d\\x7f\\xfd\\xeb\\x5f\\x9b\\x47\\x81\\x4c\\xa2\\x5b\\x48\\xfe\\x91\\xf8\\x9f\\x7e\\xaa\\x6f\\x38\\x68\\x33\\x00\\xca\\x6b\\x30\\xb3\\x2a\\xa7\\x33\\xa0\\x72\\xe9\\x99\\x14\\x1f\\x34\\xe2\\xce\\x39\\x1b\\x65\\x32\\x29\\x1c\\x16\\x4e\\xa1\\xad\\x4c\\x40\\x38\\x24\\x06\\x2f\\x2a\\x59\\x14\\xe4\\x50\\x6a\\xb1\\xc4\\xe2\\xe9\\xe8\\x40\\xbc\\xc5\\x16\\xc9\\x09\\xd1\\xa2\\xa3\\x30\\xab\\x0b\\x92\\xd4\\x00\\x0f\\x4d\\x77\\x1f\\x15\\x8e\\x4f\\x5f\\xbb\\x73\\x64\\xaf\\x4e\\xde\\x1c\\x5f\\xcd\\xf6\\x01\\xce\\x79\\x8f\\xbb\\x27\\xf6\\xb8\\x18\\x06\\x4b\\xaf\\xbc\\xda\\x3c\\x5c\\x13\\x7c\\x5c\\xf8\\xb6\\x8c\\xfe\\x6a\\x47\\xf3\\x93\\x2f\\xee\\xed\\xaf\\x5b\\xa3\\x98\\xb5\\x2e\\x8f\\xbe\\x6f\\x07\\x18\\x22\\x9c\\x02\\x43\\x9a\\x36\\x38\\xfb\\x80\\x4c\\xe1\\x16\\x99\\xd7\\x9e\\x48\\x97\\xf7\\x40\\x6b\\x8f\\xeb\\x60\\x87\\x85\\xf3\\xf2\\xd5\\x56\\x1b\\xc3\\x71\\x99\\xbe\\xa0\\xcf\\xa6\\x66\\x4a\\x4b\\xb8\\xcc\\x2a\\x14\\x58\\x71\\x9c\\x93\\xb2\\x5a\\x9d\\x4e\\x53\\x65\\xc4\\x69\\x51\\x14\\x56\\xe2\\x4e\\x18\\x7c\\x9f\\x93\\x90\\x12\\x89\\x3b\\x88\\xb8\\xff\\x29\\xc9\\xf5\\x42\\x0e\\x0a\\x72\\xb8\\x62\\x79\\x22\\x86\\x95\\x27\\x32\\xe9\\xc4\\x60\\xe9\\x48\\xcf\\xb5\\x31\\x7a\\xab\\xab\\x03\\xf2\\x77\\x6b\\x87\\xb0\\xb2\\x41\\xe7\\x96\\x6c\\x7a\\x4a\\xf8\\x59\\xf8\\xe4\\x6f\\xc6\\xc9\\xa3\\xe6\\x2f\\x72\\x9e\\xcb\\xf9\\xf4\\xea\\xa9\\x57\\x8d\\x7d\\xd4\\x55\\x4e\\xbf\\xae\\x5b\\xe3\\xab\\xf3\\xd7\\xf5\\xcd\\x1a\\xdd\\xbf\\xbe\\x61\\x02\\xcf\\x74\\xef\\xdf\\x2f\\xbc\\x64\\xdc\\xf1\\x15\\x97\\xaf\\x31\\x70\\x8c\\x7b\\x44\\xcd\\x90\\x1a\\xf7\\xce\\xd5\\x07\\xd7\\x86\\x6b\\xc1\\xa2\\xfc\\x50\\x6f\\xf9\\x0c\\xbe\\xf9\\x13\\x06\\xa6\\x95\\xd6\\x74\\xe9\\x3b\\xaa\\x7a\\x5d\\x3f\\x09\\x2f\\x76\\x04\\xd2\\x49\\x16\\xa4\\x95\\x7a\\x86\\x53\\xd5\\x2e\\x23\\xd4\\x6b\\xf5\\x3c\\xaf\\xd1\\x06\\xa0\\x16\\x06\\xd3\\x4d\\x2a\\x8d\\xde\\xac\\xe1\\xe4\\x5e\\x92\\x28\\xb3\\xb6\\x4a\\x94\\x25\\xc2\\xc2\\x4b\\x8b\\xd7\\x2a\\x3d\\x56\\xf8\\x7f\\x43\\xc4\\xfa\\xcf\\x1f\\xfb\\x1d\\x74\\xd8\\xf3\\x4d\\x47\\xda\\x84\\x86\\x45\\xb2\\xfb\\xd0\\xba\\xb5\\x43\\xeb\\x86\\x39\\xf1\\xbb\\x87\\x53\\x19\\xb7\\x16\\xaa\\xd8\\x54\\x13\\x26\\x32\\x94\\x99\\x64\\xa1\\xa0\\xc8\\x86\\xcf\\x68\\x65\\x4a\\x4e\\x66\\x4e\\xa4\\xc3\\x8f\\xc1\\x90\\x97\\x26\\xc3\\x90\\x13\\x58\\x1d\\x79\\xeb\\x34\\x70\\xdb\\x70\\x3a\\xee\\x73\\xc7\\x2c\\xea\\xe3\\x28\\xd6\\x4d\\x26\\xc2\\x97\\x40\\x74\\xce\\xc1\\xda\\x87\\x46\\xab\\x67\\xa6\\xb5\\xa6\\xc1\\x8f\\x61\\x8f\\x8b\\x78\\xdf\\x1f\\xa1\\x53\\x93\\x8f\\xec\\x5c\\xa6\\x35\\x37\\x17\\xaa\\x83\\x1e\\xe8\\xd2\\xb9\\x30\\x9a\\x3a\\xd4\\x15\\xb4\\xc3\\xfd\\xe8\\x26\\xa0\\xf6\\x60\\xcc\\xef\\x4c\\x92\\x81\\x4b\\x69\\x1b\\x4b\\x3d\\x81\\xa7\\x4f\\x4f\\x40\\xf9\\xef\\xc5\\xfd\\x4e\\xc0\\xc0\\xfb\\x2f\\xd0\\xbf\\x5f\\x4c\\x00\\x09\\x72\\x5b\\x7e\\x17\\x02\\xfc\\xaf\\x04\\x27\\xa8\\x76\\xec\\x23\\x55\\xf7\\x80\\x80\\x03\\xca\\xd6\\xf2\\x1d\\xbc\\x46\\x74\\x6a\\x49\\xd8\\x45\\x43\\xc8\\x73\\x56\\x05\\xa7\\xb0\\x3b\\x34\\x48\\x21\\xa0\\x1d\\x66\\xa1\\x69\\x96\\x45\\xb1\\x29\\xcb\\xb7\\x81\\x01\\x1e\\x43\\xa1\\x89\\xc6\\x55\\x74\\x42\\xc3\\xa0\\xa1\\x03\\x4f\\x67\\xdf\\x1c\\xdc\\xb0\\x10\\xf4\\x7a\\xe1\\xd6\\xf6\\x1f\\xce\\x9c\\x78\\x45\\x85\\xf1\\xa5\\x97\\xee\\x1d\\x0a\\x5f\\xf8\\x6b\\x3b\\x50\\xf1\\xd1\\x2b\\x7f\\x14\\x8e\\x3f\\x7e\\xf2\\x61\\x0c\\x2c\\x0d\\xd2\\xb7\\x12\\x2a\\x07\\xa4\\xab\\xfe\\xd2\\xf2\\x04\\xfc\\x3b\\x92\\x27\\x8d\\xca\\xc3\\xf7\\x09\\x72\\xda\\x95\\xc3\\x64\\xb0\\x46\\x43\\x46\\x8a\\x43\\xa9\\x4c\\x31\\x40\\xb4\\x01\\xbc\\x59\\x95\\x11\\x57\\x8e\\x9c\\x66\\xbc\\x5e\\x4a\\xa7\\xb3\\x54\\x46\\x8c\\x46\\x1d\\xc9\\x0f\\x33\\x78\\xef\\xdc\\x4a\\xf2\\xde\\xc4\\xcb\\x90\\x78\\x32\\x4c\\xda\\x42\\xe2\\x0d\\x48\\xb4\\x78\\xdd\\x03\\xa4\\x94\\x00\\x9a\\xef\\x28\\x49\\x96\\x04\\x90\\x89\\x0e\\xbb\\x07\\x80\\x3b\\xa7\\xe7\\x4e\\xb0\\xce\\xe9\\x52\\x57\\x3c\\x60\\xdb\\xeb\\x1b\\xa6\\x1d\\xa9\\x65\\x9e\\x96\\x4f\\x1a\\xb9\\x6c\\xef\\x50\\xe5\\x8c\\xe7\\xc6\\xcc\\x5d\\x53\\x7f\\x79\\xe9\\xfc\\x0d\\x33\\x76\\x37\\xba\\xc6\\x9a\\x86\\x3e\\x94\\x32\\xb2\\xff\\x84\\x11\\x8f\\x4d\\x07\\xfa\\x57\\xea\\x2b\\x77\\x8c\\xb4\\xd7\\x4f\\x5e\\x2b\\x7c\\x30\\xaf\\x20\\xf3\\xfe\\x11\\x33\\xee\\x1f\\xb5\\xad\\x6a\\xcd\\xa8\\x7e\\xc3\\x2e\\xa7\\x04\\x25\\x3f\\xe3\\x04\\xe1\\x25\\xc6\\x7b\\x2b\\x0b\\xef\\x2b\\xb7\\xce\\xcd\\xe5\\x42\\xc8\\x99\\x61\\x3b\\xad\\x4e\\x57\\x60\\x33\\x56\\x47\\x70\\xcd\\x82\\x57\\x45\\xc9\\xc9\\xe6\\xe2\\xc9\\xe6\\xb2\\x24\\x45\\x92\\xe5\\x92\\xbb\\xd7\\x0a\\xe0\\x22\\x29\\xf7\\xdd\\x0a\\xdc\\xc4\\xf8\\xbb\\x50\\xd0\\xd5\\x8d\\xc2\\xab\\x71\\x7c\\x9d\\x62\\xba\\xff\\xe1\\x70\\x9b\\x70\\xd0\\x8f\\xff\\x72\\x29\\x8e\\xb2\\x03\\x0c\\x63\\x06\\xb5\\x3e\\xfa\\x12\\x27\\xfe\\x74\\xe9\\xfc\\x54\\x85\\xb3\\x72\\xa1\\x0a\\x9f\\x1e\\xad\\xcb\\xa9\\x45\\x2e\\x2d\\x84\\xed\\x0c\\x86\\x02\\xaf\\x4a\\xee\\x32\\xf3\\xe6\\xea\\x08\\x0f\\xda\\x18\\x63\\x2b\\xa0\\xeb\\xf8\\x18\\x5b\\x67\\xf8\\xcb\\x41\\x22\\x82\\xe4\\xff\\x0d\\x78\\xed\\x73\\xed\\x8e\\x41\\xcc\\x34\\xfe\\x1e\\xec\\xf5\\x9e\\x95\\xbb\\xd0\\xd9\\x19\\x39\\xae\\x69\\xd4\\x6f\\x60\\x5f\\x87\\x71\\x8c\\x81\\xf6\\xab\\x11\\x59\\xd7\\x8a\\x70\\x8a\\x4e\\xab\\x75\\x52\\x26\\xa3\\x8c\\x92\\xb9\\xdc\\x4e\\x74\\x6e\\x74\\x4e\\x1c\\x5e\\xa9\\x78\\x1c\\x60\\x41\\xa4\\xea\\x20\\x7f\\x6f\\x22\\x20\\xaa\\x1c\\x44\\x13\\x54\\x2c\\x1e\\x25\\x39\\x46\\x71\\x97\\xec\\x2a\\x2d\\xe6\\x50\\xfa\\x33\\x63\\xc0\\x17\\x2f\\xde\\xd4\\xd5\\x0a\\xc6\\x43\\xaf\\xfb\\xf7\\xe4\\xbe\\xb5\\xfd\\xa5\\x74\\x3b\\x9c\\x3f\\x7d\\xed\\xd9\\x5c\\xf0\\xb3\\x8d\\x2e\\x7f\\xff\\xd5\\x41\\xfd\\x9b\\xff\\xbc\\x68\\x4d\\xee\\xb1\\x97\\x5f\\xd8\\xd0\\x71\\xe9\\x96\\xfd\\x27\\x91\\x7c\\x52\\xff\\x12\\x3a\\xdf\\x3e\\x64\\xfb\\xd3\\x7d\\x28\\xbc\\xe0\\xec\\x36\\x85\\x52\\x69\\xe3\\x6c\\x29\\x7e\\x9b\\x1d\\x99\\x7d\\x9b\\x51\\x63\\x74\\xe3\\x4a\\x07\\xe4\\x4f\\x69\\x50\\x50\\xa1\\xe1\\x7f\\x0b\\x68\\x3a\\x56\\xf3\\x80\\xef\\xe4\\x5a\\x15\\x35\\x61\\x02\\x00\\xbc\\xbd\\xac\\x72\\xd1\\x66\\xc2\\x89\\xca\\xd5\\x6b\\x46\\xef\\xcf\\xde\\xd0\\xfb\\xf3\\x83\\xaf\\x7d\\xba\\x45\\x10\\x0e\\xdd\\xfc\\xd2\\x76\\x80\\x59\\xbe\\x10\\x45\\x75\\x74\\x45\\x71\\xd9\\xea\\x2d\\xf5\\x83\\xca\\x57\\x2e\\xf8\\xf4\\xf5\\xd7\\x84\\x17\\x9f\\xc6\\xa4\\x71\\x1b\\x24\\xa2\\x38\\x9a\\xea\\xd6\\xf2\\x1d\\xfb\\x26\\x92\\x39\\x95\\xca\\xa6\\xa6\\x84\\x4b\\xd1\\x8c\\x66\\x66\\xea\\xb2\\xb2\\x52\\x58\\x99\\x2c\\x25\\xc5\\xa9\\x83\\xe6\\x1c\\x73\\xae\\xc1\\x5a\\x1d\\xc9\\x72\\x66\\x52\\x68\\xd3\\xa4\\xea\\xb4\\x94\\x81\\x42\\x6a\\xca\\x00\\xbd\\x2a\\x6f\\xb0\\x32\\xe2\\xb5\\xa8\\x68\\xdc\\x2e\\x4c\\x25\\x5e\\x12\\xe5\\x25\\x90\\x90\\x67\\x25\\x67\\xc8\\x0d\\xd1\\xa8\\x4e\\x1a\\x10\\x8d\\xf7\\x54\\xb1\\x15\\xab\\x31\\x31\\xbd\\x86\\x54\\x34\\x2d\\x9d\\x1e\\x2b\\xef\\x47\\x83\\x63\\x65\\x70\\xa6\\xe9\\x27\\x3c\\xba\\xe2\\x87\\x4e\\xcd\\x7a\\xea\\x63\\xe3\\x13\\x34\\xc8\\x29\\x2c\\xee\\x97\\x3e\\x61\\xe2\\xe4\\x07\\x00\\xab\\x7e\\xa4\\x69\\xcf\\x6b\\x9f\\xdb\\xf6\\x02\\xaa\\xe1\\x65\\x7d\\xf3\\x6e\\x39\\xfd\\xee\\x8f\\x68\\xb0\\xa3\\xc6\\x17\\x5f\\x7e\\xc2\\xb9\\xbc\\x57\\x79\\x60\\x43\\xc9\\x96\\x05\\x2f\\x08\\x7f\\xde\\xfb\\xce\\xa5\\x01\\x4b\\x6f\\x0a\\x77\\x7f\\xf9\\x60\\x5a\\x0e\\xa9\\xcd\\x22\\x7d\\xe7\\xfd\\x0d\\x32\\x38\\x81\\xe4\\x0d\\x7f\\x44\\xdf\\x2f\\x43\\xf3\\x90\\x4e\\x0d\\x0d\\xe7\\x98\\x2d\\xca\\x54\\xde\\xe5\\x4a\\xf5\\x69\\x2c\\x6c\\x88\\x81\\x30\\xe8\\xd3\\x12\\x57\\x57\\xab\\x15\\xeb\\xd3\\x8c\\xa4\\x3e\\x4d\\x86\\xb4\\x20\\x51\\x83\\x05\\x79\\xad\\x6b\\xd4\\x70\\xc2\\x09\\x24\\xc7\\x85\\x6c\\x74\\x8b\\xe1\\xb5\\x2c\\x8e\\xde\\x23\\x06\\x63\\x2a\\x50\\x6e\\x26\\x35\\x3c\\x60\\xe9\\x89\\x3f\\x3a\\x8f\\x87\\x5e\\x9b\\xf9\\xe0\\x8e\\xfd\\xae\\x67\\x8f\\x8f\\xad\\xbe\\x98\\x7d\\x24\\xfd\\xe5\\x27\\x0f\\xbc\\x38\\x60\\xc3\\x90\\x89\\x0f\\xfd\\xdd\\xb4\\x68\\x55\\xf6\\x13\\x93\\xea\\x6b\\x6b\\xd7\\x8c\\xa9\\xef\\xd1\\x73\\x9b\\x69\\xf9\\xf2\\x2d\\x73\\x07\\xcc\\xeb\\xa3\\x64\\x34\\x1b\\xeb\\x1f\\x3b\\x2f\\xf6\\xd3\\x33\\x02\\x1a\\x47\\x21\\x35\\x23\\xdc\\x09\\x8d\\xa3\\x9d\\x8b\\xcf\\x74\\x67\\xb6\\xcb\\xd5\\x58\\x64\\x30\\x35\\xb5\\x03\\x1a\\x4c\\xfb\\x1c\\x71\\x30\\xfe\\xf4\\xea\\x48\\xa6\\xdb\\x6f\\xd7\\xfa\\xb5\\xfe\\xff\\x66\\x58\\xb8\\xb3\\x19\\xd7\\x6b\\xc5\\x47\\xa7\\x4f\\x86\\xe6\\xfa\\xbd\\x11\\xb6\\x5a\\xe2\\xf8\\x70\\x57\\xb4\\x39\\xdc\\x55\\x8d\\xee\\x45\\xd2\\x2a\\xd7\\x8e\\x19\\x35\\x53\\x01\\x53\\x77\\x0d\\x6d\\x73\\xf4\\xe3\\x86\\x99\\xc4\\x45\\x9e\\x38\\xb9\\xdb\\x20\\xb9\\x34\\x0b\\xa2\\x3e\\xfc\\x1e\\x7e\\x83\\xe6\\xc1\\x42\\x85\\xa8\\xc1\\xe1\\x6c\\xb7\\x8a\\xa3\\x38\\x87\\xcc\\x4b\\xa5\\xa5\\x79\\x1d\\x30\\x33\\xc3\\xad\\x96\\xa2\\x7b\\xa0\\x86\\x6a\\x75\\x8a\\x35\\x05\\x56\\x46\\x52\\x2c\\x56\\x03\\xbe\\x34\\x4f\\xaa\\x50\\x8b\\xd2\\x3f\\xb6\\xaa\\x43\\x42\\xca\\x23\\x0a\\x94\\x96\\x85\\x42\\x49\\x69\\xb0\\x3a\\x1a\\xc4\\x6a\\x0e\\xc5\\x3d\\x6c\\x48\\x15\\x96\\x3d\\x38\\x7d\\xd1\\x84\\x51\\xd5\\xce\\x7e\\xf3\\x36\\x44\\xaa\\x27\\x6c\\x1e\\x53\\x08\\x76\\x1c\\xbe\\xb4\\x67\\xed\\xfb\\xdf\\xdc\\x78\\xf5\\xd3\\x2d\\x40\\x0e\\xf6\\x6d\\x6b\\x98\\x32\\x7a\\xc0\\xb0\\xcd\\x93\\x46\\x75\\x1f\\xd0\\x7f\\xdf\\x67\\xf4\\xc0\\xcd\\x73\\xa7\\xed\\x71\\xe5\\x5f\\x6d\\x68\\xfc\\xe6\\xe6\\x8b\\xa0\\xe2\\xa8\\x98\\xd7\\xae\\x16\\x86\\x82\\xbb\\x28\\xae\\xb0\\x50\\x65\\x61\\x37\\xc6\\xad\\x33\\xd1\\x26\\x1b\\x0a\\x1d\\xad\\xd0\\x62\\xb6\\x54\\x45\\x64\\x66\\xb3\\x1a\\x29\\x3e\\xb5\\x13\\x44\\x9b\\x5d\\x12\\x51\\x77\\xa3\\x00\\x3d\\xc5\\x52\\x3e\\x30\\x31\\x8e\\x08\\x14\\x6f\\xb9\\xdc\\x78\\xf9\\x51\\xc7\\xa3\\x2e\\x6b\\xdf\\xa5\\xa3\\xba\\x95\\xda\\x33\\x0a\\xba\\x74\\x37\\xd9\\x6e\\x3b\\x56\\xc2\\x8b\\x4d\\xbd\\x57\\x6e\\x9f\\x31\\xa3\\x94\\x5f\\xa3\\xac\\x18\\xb3\\x80\\x60\\x07\\xe0\\x5e\\x1d\\x76\\x1a\\xb2\\x33\\x99\\x54\\x29\\xce\\xd0\\x66\\xe9\\x9d\\x05\\x4a\\xa8\\x08\\x2a\\x42\\x21\\x77\\x50\\x1f\\xa4\\xfd\\xfe\\x8e\\x90\\xa6\\xcb\\xbc\\xa9\\xd5\\x11\\x2f\\x50\\xd9\\x75\\x16\\x4b\\x87\\x4a\\x14\\x29\\x42\\x88\\xbc\\x07\\x14\\xc8\\xeb\\x92\\xe8\\x64\\xa5\\x29\\x8e\\xd9\\xd7\\x78\\xb7\\x4b\\x92\\x0b\\x87\\xe9\\x2a\\x62\\xd2\\x62\\xd1\\xe3\\x8d\\x70\\x1d\\x90\\x35\\x32\\xc4\\x8d\\x91\\x0e\\x80\\x98\\x13\\x47\\x80\\x41\\xc1\\x66\\xe1\\xc9\\xa2\\xc7\\x03\\xaf\\x6e\\x69\\xf0\\xa5\\xd0\\xa5\\xa3\\xe7\\x57\\xee\\xbd\\xdc\\x77\\xc5\\x95\\xa5\\x73\\x8f\\xba\\x58\\x8f\\xaf\\xe3\\x1d\\x64\\x96\\xf2\\xbd\\xc8\\x2c\\x7d\\x90\\xff\\x1f\\xa1\\x61\\xd2\\xf8\\xa9\\x67\\x47\\x2f\\x9b\\x31\\x7c\\x41\\x75\\x89\\x50\\xd3\\x94\\xb9\\x6f\\xe7\\xf1\\x33\\x83\\xab\\xb2\\xdf\\x78\\x62\\x35\\x68\\x7f\\x63\\xf4\\xd4\\x51\\xcc\\x91\\xdd\\xc0\\x46\\xec\\xd3\\xdd\\xfd\\xff\\xfb\\x27\\xe8\\x59\\xb8\\x74\\x1f\\x30\\x3c\\xbc\\x78\\x63\\x9f\\x7d\\xc2\\x2f\\xd1\\x1e\\x26\\xac\\x4f\\x70\\x0f\\x13\\xf2\\xf5\\x90\\x5e\\x65\\xb4\\x68\\xff\\xb9\\x31\\x56\\x84\\xdb\\xc2\\xf3\\x1c\\xe7\\x02\\x16\\x39\\x90\\x7b\\x3d\\x14\\x32\\x00\\x14\\xc5\\x68\\x34\\x06\\xe2\\xf6\\xf1\\xb8\\xc8\\x24\\x4a\\xd1\\x90\\x88\\xd3\\x9f\\x18\\x47\\x60\\x2b\\xe0\\x87\\xe2\\x9e\\x12\\x75\\xa6\\x3c\\x8e\\x1f\\x5a\\x0e\\xfc\\x74\\x77\\x70\\xad\\xfa\\xcc\\xbf\\x3e\\xfc\\xf1\\xbe\\x47\\xdf\\x5f\\xf1\\xc4\\x7b\\x8e\\xe3\\xa5\\xcf\\xce\\x3a\\x3e\\x62\\xc7\\xda\\x1d\\xe3\\xb3\\x84\\x7f\\xd2\\x6e\\x61\\xf0\\xea\\x7f\\xdc\\x5c\\x2a\\xbc\\x3c\\xfe\\xf0\\xc3\\xce\\x97\\x37\\x0a\\xcd\\x7b\\x37\\x3c\\xda\\xf1\\x0b\\xb2\\x9e\\xd3\\x90\\xdc\\x93\\x09\\x66\\x91\\x1b\\xb3\\x1a\\x53\\x56\\x28\\x63\\x18\\x9a\\x61\\x69\\xe0\\xe4\\xcc\\x4a\\x25\\x07\\xa0\\x87\\x65\\xbd\\x56\\xa8\\x01\\x58\\x5c\\x8d\\x93\\x01\\x1c\\x95\\x84\\x96\\x7b\\x0f\\x00\\x7a\\x1a\\x8c\\x21\\x9f\\x47\\xbd\\x20\\x11\\xfe\\x9c\\x38\\x06\\x55\\x5f\\x5c\\x3e\\x03\\x6e\\xbc\\xd6\\x7c\\xd1\\x95\\xbe\\x7a\\xd1\\x98\\x79\\xb3\\xa6\\x65\\x14\\xa4\\x75\\x4e\\xb7\\xa4\\xee\\x83\\xfb\\x9a\\xd5\\xf4\\xbf\\x9b\\x6a\\xab\\x36\\x75\\x5d\\xbf\\x67\\x5e\\xed\\xfc\\xed\\xc2\\x85\\x3e\\x5d\\x7b\\x4d\\x1e\\xd2\\xb5\\x8b\\x23\\x90\\x2d\\xfa\\x38\\xe3\\x5a\\xfe\\xc6\\xf2\\x4c\\x57\\x4a\\x4d\\xb5\\xa7\\x06\\x85\\x73\\x95\\x3e\\xe8\\x70\\x58\\xf3\\x65\\x01\\x5f\\xa6\\xbc\\x03\\xc7\\x15\\xe5\\x07\\xac\\x32\\xc6\\x9d\\x9d\\x91\\x91\\x9d\\x1d\\xac\\x8e\\x64\\x73\\x6e\\xe4\\x13\\xb8\\x2d\\x1a\\xe4\\xda\\xa1\\x59\\xe6\\xa2\\x58\\x1c\\x89\\x3a\\x2d\\xa9\\xe2\\x34\\x8a\\x16\\x12\\x24\\xa1\\x28\\x88\\xf1\\x20\\xc8\\x61\\x7c\\x28\\x28\\xec\\xc6\\x3f\\x43\\x0e\\x2d\\x5a\\x02\\x2f\\xc0\\xae\\x10\\xdd\\x21\\x98\\xef\\xd0\\x65\\xf4\\x4e\\xa3\\xd5\\x03\\x16\\xa5\\xcf\\xf1\\x76\\x4a\\x0d\\x74\\x4c\\x79\\xa9\\xc8\\xb1\\x61\\x0e\\x1a\\xdd\\xe0\\x7e\\x3a\\x7f\\xb0\\xf7\\xf8\\xb1\\x9b\\x1f\\x19\\x3d\\xc6\\x9d\\x97\\x57\\xd1\\x65\\xc5\\xc2\\xce\\x99\\x45\\xc3\\x33\\x8a\\x46\\x76\\x0b\\x64\\xc0\\x3f\\x8e\\x1d\\x56\\x13\\xee\\xd0\\xbe\\x48\\x78\\x63\\xd5\\x84\\xac\\xd9\\x3b\\x67\\x8e\\x98\\xb3\\x61\\x3c\\xf0\\x17\\xb5\\x5f\\x7e\\xff\\xd5\\xba\\xb9\\xaf\\x8e\\x99\\x39\\xa9\\x4e\\xcc\\xc5\\x0c\\x45\\x6b\\xd4\\x07\\xad\\x91\\x9d\\x9c\\x7d\\x8b\\x96\\x53\\x40\\x95\\x46\\xa3\\x54\\xaa\\x2c\\x2a\\x87\\x93\\x37\\x2a\\xed\\x9c\\x91\\xc5\\x3e\\x05\\xbe\\xcb\\x8a\\xe2\\xff\\x26\\x00\\x9a\\x49\\x67\\x28\\x8e\\x26\\x07\\x12\\x6b\\x10\\x12\\x01\\xe4\\x84\\x8f\\x1b\\x87\\xa8\\xbd\\xcc\\xbd\\xa8\\x71\\xbf\\xba\\xc1\\xd3\\x25\\x0b\\x63\\x50\\x71\\x12\\x46\\xb9\\x99\\x60\\x16\\x22\\x4f\\xcc\\xa9\\xd5\\xca\\x28\\x83\\xcf\\xe8\\x33\\x9b\\x8d\\x26\\x99\\x29\\x35\\x60\\x73\\x23\\x7f\\x1a\\xa4\\x40\\x95\\xc9\\x0c\\xb9\\xb8\\x27\\x56\\x68\\x68\\x15\\xa1\\x95\\x46\\x23\\xb4\\x58\\x85\\x51\\x20\\xa1\\xfa\\x28\\x29\\x4a\\x03\\x4b\\x25\\xb1\\x9e\\x91\\xa4\\x4d\\x00\\x2c\\xef\\x6d\\xf4\\x38\\xe1\\x72\\xa9\\x80\\x68\\x36\\xbd\\x5a\\x2a\\x2c\\x92\\x70\\xcb\\x6b\\xc7\\x1e\\xaa\\x23\\xf3\\x88\\xeb\\xa7\\xb0\\xcc\\xd9\\xc8\\x22\\x64\\xa5\\xc9\\x74\\x14\\xe5\\x32\\xb3\\x46\\xb9\\x51\\xa1\\x90\\xc9\\x5d\\xf2\\x1c\\x6f\\x6e\\x0a\\x72\\x68\\x52\\x9c\\x66\\xb9\\xdd\\x4e\\x63\\x53\\xa8\\xe6\\xab\\x23\\x6a\\x64\\xa9\\xa8\\xf2\\x04\\x75\\x45\\x36\\xcf\\x3d\\x43\\x20\\x07\\xb4\\x4d\\xb9\\x13\\xe9\\xaf\\x03\\x71\\x92\\x6c\\x38\\xb2\\xcd\\x41\\x88\\x63\\xdc\\xe3\\xd9\\x3c\\x2f\\x9a\\x2c\\xde\\x69\\x80\\xce\\xd6\\xa3\\x91\\xd8\\xb0\\xff\\xb1\\x77\\x7d\\x94\\x2c\\x9b\\x9c\\x0f\\x9d\\x88\\xa5\\x8f\\xce\\x07\\x47\\x75\\x0c\\x7b\\xe4\\xe8\\xd0\\x2a\\x95\\x3a\\x5e\\xa7\\xd7\\x6a\\x06\\x45\\xb4\\x94\\x5c\\x4d\\xa9\\x71\\xe0\\x46\\xd1\\x4a\\x33\\xcd\\x89\\xc9\\xba\\xc4\\x3c\\x36\\x21\\x95\\x2f\\x28\\x90\\xee\\x8e\\xa4\\x0c\\x1d\\x4e\\x5c\\x87\\x66\\x0e\\x6f\\x1c\\x31\\xdb\\x31\\x7b\\xd4\\xf9\\x51\\x33\\x81\\x3e\\xa5\\x31\\x85\\x9e\\x44\\xd2\\xd4\\x82\\x0b\\x7c\\x09\\x3b\\x9d\\x3e\\x8d\\xe7\\xb6\\x53\\xcb\\x0f\\x60\\x3f\\xd1\\x23\\xde\\xb0\\x8e\\x52\\xb3\\x6a\\xa3\\x41\\xc7\\x91\\x6c\\xad\\xa4\\xd9\\xa4\\x65\\x47\\x46\\x28\\x31\\x31\\x4b\\xca\\x85\\xfe\\x95\\x93\\x93\\x92\\xeb\\xcb\\x6f\\x37\\x71\\xa1\\x66\\x4f\\xe3\\x1e\\xc5\\x17\\xb9\\x41\\xf5\\x41\\xd5\\xf8\\xa9\\x59\\x65\\xd0\\xd4\\xf4\\x6d\\x48\\xb4\\x7f\\x7f\\x42\\x62\\xff\\x8a\\x3e\\x5f\\x4d\\x95\\x86\\x5d\\x40\\x0e\\x91\\x0f\\xaa\\x84\\x4a\\x2d\\xd4\\xa8\\xe4\\x0a\\x79\\x65\\x44\\xc1\\x51\\x0c\\x64\\xd0\\x4e\\x33\\x53\\xe5\\xf7\\x56\\xb8\\xea\\xc5\\x0a\\xd7\\xb4\\x42\\xb9\\x9f\\x30\\xa3\\xfa\\xe5\\x01\\x30\\xe7\\x4d\\x67\\xf3\\x19\\xe7\\xad\\x86\\x5b\\x4e\\xba\\xda\\xf9\\xe6\\xa6\\x4d\\x9b\\x60\\x60\\xe3\\x46\\x2a\\x91\\x93\\x80\\x17\\x39\\x09\\xe8\\x96\\xb7\\xd0\\x17\\x15\\x9a\\x57\\x8c\\xeb\\x5b\\x19\\x0e\\xa9\\x4d\\x26\\x0a\\x59\\x1a\\x33\\xa7\\x40\\x67\\x40\\xa5\\x72\\xf0\\x0c\\x63\\xd7\\x01\\x13\\xa8\\x8a\\xa8\\x4d\\x0a\\x64\\x8b\\x4d\\x0a\\x93\\x42\\x29\\x81\\xdf\\x63\\x4c\\xdf\\xd6\\xf0\\x50\\xd1\\x6c\\xa8\\xa8\\x74\\x0a\\x8d\\x18\\x07\\xab\\xa8\\x23\\x10\\xe7\\x5c\\x0d\\x30\\xed\\x4a\\x31\\xda\\x3b\\xfe\\xb9\\x23\\xa6\\xec\\x5a\\xac\\xad\\x6e\\xdc\\x79\\xdc\\x7e\\x7c\\xee\\xba\\x92\\x10\\xcc\\x64\\x3b\\xf6\\xa7\\x23\\x8a\\x69\\xc3\\x66\\x6f\\x04\\xc7\\x9a\\x75\\xcb\\x9b\\x8f\\xc1\\xf6\\xf9\\x99\\x1f\\xdc\\x87\\xe7\\xa7\\x49\\xa8\\x01\\x77\\x88\\x8c\\x59\\x61\\x93\\x4c\\x43\\x51\\x7a\\x5a\\xa3\\xe1\\x75\\x40\\xcf\\x51\\x4a\\xa6\\x5a\\xbc\\x10\\xc0\\xab\\x50\\x98\\x20\\x07\\xee\\x17\\x90\\x27\\x61\\x71\\x82\\x3b\\xc2\\xf5\\x78\\x44\\x0a\\x8a\\xd9\\x1b\\xbf\\x5c\\x2a\\x88\\x46\\x9e\\xb2\\x2e\\x68\\x9d\\xcd\\xe8\\x0c\\x3d\\x46\\xee\\xc5\\x46\\x87\\x0b\\x1c\\x32\\x8f\\xcb\\x65\\x51\\x42\\x8f\\x87\\x42\\xf6\\x8d\\x52\\x52\\x8c\\x97\\xf1\\xf1\\xbc\\x96\\xd2\\x22\\x5b\\xa1\\x75\\xb2\\x6e\\x88\\x4c\\x9d\\xd3\\x51\\x19\\x91\\x39\\x9d\\x28\\x52\\x14\\xe7\\x84\\x30\\x02\\x24\\x55\\xe2\\xb5\\x82\\x2a\\xc7\\xdc\\x4f\\xc4\\xc5\\x2a\\xc4\\x4d\\xb8\\x12\\xae\\x1c\\x13\\xf0\\xc1\\x62\\x4b\\x0c\\x81\\xaa\\x18\\x59\\x43\\x3f\\xf0\\x35\\x0e\\xa0\\x7f\\x4c\\x11\\x7a\\xec\\x3e\\xb3\\x47\\xf8\\xe9\\x84\\xb0\\xdc\\x7f\\xd6\\xf3\\xe1\\xf4\\xcb\\x93\\xf6\\xad\\xac\\x76\\x81\\x1b\\xcd\\x7f\\xbc\\xc8\\xde\\x10\\xa6\\x9d\\x13\\x1e\\x36\\xbf\\x73\\xe0\\x90\\xf0\\xef\\x9d\\x20\\xd7\\x7c\\x61\\xfe\\xed\\x49\\x8b\\x36\\x6c\\x03\\x2b\\x9a\\x06\\x89\\x58\\x9d\\x32\\xa4\\xe5\\xa8\\x5c\\xb4\\xaa\\x19\\x41\\xaf\\x9d\\xce\\x31\\xa8\\x90\\x3d\\xe6\\x38\\xb5\\x46\\x93\\xe3\\x85\\x79\\xf9\\x46\\x3b\\x9f\\xab\\x4e\\xe1\\x5c\\x99\\xb8\\x46\\xce\\x82\\xb6\\x99\\xc5\\xc2\\xc7\\xb4\\x01\\x29\\x54\\x4f\\xba\\x79\\x48\\x44\\x67\\x84\\xf2\\x44\\x98\\x7e\\x9c\\x74\\x12\\x15\\x6e\\x22\\x90\\x7f\\xfc\\x11\\x46\\xfb\\x90\\x5e\\xd1\\x6f\\xe8\\xcc\\x93\\xfe\\x79\\xe7\\x71\\xf9\\xa4\\xca\\x00\\x7b\\xef\\x1c\\xbf\\x70\\x8b\\x6e\\xd0\\xa1\\x89\\x6b\\xb7\\x9b\\x97\\x9e\\x23\\xff\\x79\\xd6\\x49\\xdf\\x3c\\xa4\\x94\\xd7\\xd4\\xe5\\xfa\\xfb\\x0e\\x7c\\xfe\\x18\\x3d\\xb2\\xe9\\xc9\\xba\\x75\\x75\\xc3\\x67\\x0d\\x9f\\x3f\\x73\\xc5\\x78\\x51\\x35\\x47\\xff\\xe3\\x13\\x74\\xdc\\x76\\x90\\x31\\x66\\x53\\x03\\xc2\\x21\\x93\\xc6\\x2d\\x73\\xa4\\x53\\xa1\\xcc\\xcc\\x60\\x30\\x14\\x72\\x68\\x60\\x4e\\x6e\\xa6\\x93\\x92\\x29\\x83\\x4e\\x8e\\x53\\x5a\\x31\\x0c\\x2f\\xc4\\xb5\\x40\\x89\\x48\\xf2\\x85\\x84\\x49\\x2f\\xe6\\xfc\\xc6\\x47\\x98\\xf6\\x3b\\xc3\\x49\\xfa\\x37\\xb2\\x36\\xc5\\xac\\xff\\x37\\x86\\x73\\x2e\\x3e\\x6e\\x64\\x7c\\xaa\\xb3\\x2f\\xff\\xc6\\x60\\x12\\x06\\x8d\\x6c\\xd1\\xf1\\x2b\\x51\\x7d\\x2e\\xeb\\xcb\\xf4\\xa7\\x8a\\x71\\x45\\x68\\x28\\xbf\\x28\\xdf\\x5b\\x64\\x07\\x4a\\x4e\\xcd\\xe9\\x74\\x2a\\xb5\\x1a\\x78\\x61\\x49\\x4e\\x4a\\x29\\xbe\\x92\\x4d\\x73\\xba\\x0a\\xd1\\x12\\xf2\\x16\\x19\\x76\\x46\\xed\\x06\\xb5\\x8e\\xa3\\xd4\\x12\\x4b\\x44\\x69\\x52\\xba\\xba\\x30\\x71\\x31\\xe3\\xbe\\x97\\x3f\\x81\\x23\\x25\\x29\\x1b\\x6a\\x6d\\x5b\\xbb\\x47\\x1f\\xa6\\x1f\\x7e\\xc8\\x9e\\xb0\\xac\\x66\\xb9\\xb4\\xac\\x95\\x87\\x27\\xaf\\xdd\\x6e\\xd9\\xed\\xd9\\x3c\\x37\\xaa\\xe6\\xb7\\xdb\\xc5\\x09\\xa1\\x17\\xcd\\x2f\\xc6\\xe3\\x6c\\x7e\\x42\\x2a\\x8b\\xc5\\x13\\xb2\\x74\\xd2\\x8e\\x0d\\x85\\x73\\x9a\\xfe\\xb9\\x6f\\xad\\xa8\\xef\\xbf\\xda\\x90\\x8a\\xa7\\xa5\\xf9\\x50\\xac\\x86\\x14\\xf3\\x21\\x50\\x69\\x84\\xdd\\x2a\\xc5\\xa9\\xb0\\x99\\x6c\\x56\\xab\\xd2\\x94\\x62\\x0a\\xea\\x74\\x26\\x65\\xba\\x17\\x79\\x07\\x5e\\xde\\x49\\x59\\x39\\x8d\\x1e\\xfb\\x70\\x54\\x74\\x0f\\x13\\x73\\x2c\\xb2\\x29\\x19\\x92\\x0c\\x9a\\x34\\x62\\xc9\\xa9\\x4e\\x18\\x58\\xab\\x7a\\x60\\xfa\\xa6\\x68\\x8c\\xb7\\x25\\x8c\\xe4\\xd9\\xc4\\xf2\\xdf\\xa5\\x51\\x63\\xec\\x6a\\x10\\x65\\x87\\xd7\\x12\\x8b\\x7d\\x67\\xc7\\xec\\x72\\x0e\\x92\\x3f\\x84\\x7c\\xe5\\x34\\x2e\\xd5\\x6d\\x72\\x58\\x1c\\x76\\xbb\\xd9\\x62\\x49\\x65\\x60\\x46\\x50\\x93\\xe9\\x47\\x52\\xfb\\x79\\xb7\\xc5\\xce\\x59\\xcc\\x72\\xba\\x3a\\x22\\x77\\xc6\\xd2\\xd6\\xf7\\x2e\\x9a\\x98\\xaf\\x4a\\x4a\\xc2\\xfd\\x76\\x3d\\xb3\\x0c\\x8e\\x1b\\x19\\xd5\\x76\\xbb\\xda\\x2a\\x5f\\x7e\\x84\\x3d\\x13\\x55\\x7f\\xf4\\xcf\\x6d\\xd5\\x2b\\x37\\xfd\\xec\\x22\\x63\\x28\\x43\\xb6\\x60\\x2a\\x3a\\x67\\x1c\\x95\\x1d\\x36\\x29\\x28\\x56\\xcb\\xca\\xb4\\x3a\\x99\\x4e\\xcf\\xab\\x59\\x0e\\xd9\\x41\\x1d\\xde\\x6d\\x85\\xe5\\x85\\xc9\\xe0\\xee\\x58\\x01\\xa3\\xd0\\x18\\x9d\\x97\\x00\\x40\\x7e\\x27\\xae\\xfb\\xba\\x00\\x7a\\x7b\\x75\\xa6\\x15\\x27\\xdf\\x79\\x54\\x38\\x9b\\xa9\\x36\\xac\\x3b\\xf1\\x0e\\x3a\\xf1\\x95\\x5d\\x32\\x97\\xd2\\x7b\\xee\\x5e\\xa7\\xaf\\x8d\\x4c\\x5b\\xda\\x1c\\x66\\xca\\x12\\xea\\xea\\x71\\xcc\\xc1\\x3c\\x46\\x49\\xb9\\x1c\\x59\\x8d\\xc4\\x17\\x31\\x3a\\xdc\\xc1\\x62\\x34\\x42\\x99\\x57\\xa3\\x91\\xd9\\x18\\x8a\\x35\\xa5\\x9b\\x82\\x56\\xba\\x2a\\x22\\x57\\x1a\\x8c\\x68\\x6f\\x18\\x8d\\x38\\x97\\xcb\\xf1\\x98\\xbd\\x80\\x57\\xa6\\xe0\\xa3\\x2f\\x43\\x21\\xb0\\xcc\\x9c\\x9c\\x0d\\x8c\\xb5\\x69\\x19\\x4a\\x13\\xf3\\x38\\xa2\\x8a\\x13\\x8b\\xe5\\x8a\\x65\\xf1\\x52\\x56\\x82\\x0a\\x18\\x6c\\x1f\\x8f\\x4c\\x8a\\x0c\\xec\\x47\\x76\\xa1\\x73\\x4f\\x20\\x38\\x9a\\x87\\xe9\\xa6\\x3c\\x49\\x68\\x0e\\x6e\\xd6\\xd9\\xe8\\x1d\\x0e\\xc1\\x5e\\x7e\\x72\\xe9\\x74\\x42\\x71\\xb0\\x6a\\x5f\\x0d\\x3d\\x73\\x85\\xb0\\x7b\\x75\\xcf\\xe1\\x22\\xd5\\xc1\\xb6\\xc5\\xeb\\x85\\x17\\x4a\\x36\\xef\\x14\\x69\\x0e\\x76\\x82\\x2c\\xd1\\xff\\xef\\xdc\\xf2\\x1d\\xfb\\x15\\xb9\\xdf\\xc8\\xa2\\xba\\x87\\x53\\xac\\x01\\x0a\\x2a\\x78\\x85\\x8b\\x0f\\xb9\\x42\\x39\\xd9\\x01\\xab\\x35\\xcd\\xc6\\x1a\\xd3\\x8c\\x95\\x11\\x5f\\x9a\\xc5\\xa6\\xa9\\x8c\\xd8\\xf8\\x04\\x74\\x62\\x02\\x6e\\x98\\xec\\x15\\x4b\\xf0\\x7b\\x52\\xc5\\x5a\\x0c\\x61\\x06\\x45\\x99\\xc6\\x02\\x26\\x96\\x61\\x8f\\xc6\\xf1\\x70\\x99\\x41\\x7f\\x6e\\xd9\\x13\\xd3\\xdf\\xdc\\x76\\x55\\xf8\\xdb\\xe1\\x11\\x43\\xa7\\x6f\\x4d\\x33\\xec\\x7d\\x16\\x78\\x1a\\x66\\xbd\\xb7\\x75\\xc9\\x1e\\xfd\\xd8\\xbb\\x8f\\x3d\\xfd\\x1a\\x98\\x4f\\xf7\\xaf\\x1f\\x71\\xdf\\xc7\\xff\\x79\\x71\\xc1\\xd5\\x89\\x3b\\x84\\x0f\\xcf\\xcf\\x9a\\xdf\\xf8\\x5a\\x3d\\x0d\\x56\\xfe\\x74\\xe4\\x84\\xf0\\xf3\\x8e\\xc5\\x8b\\x7e\\x7e\\xe9\\xcc\\x5f\\xc0\\xb0\\xab\\x14\\xa4\\xba\\x11\\x4e\\x04\\x8c\\x31\\xe7\\x40\\x3e\\xf4\\xc0\\x70\\xc8\\xa0\\xb6\\x28\\x80\\xc7\\xe2\\x31\\x39\\x4d\\x3a\\x27\\xa3\\x63\\x52\\x03\\x1e\\x2b\\xe6\\xf2\\x03\\x06\\x8b\\x92\\xb2\\x78\\x15\\x5e\\x14\\xdd\\x2b\\x78\\xd2\\xfb\\x27\\x39\\x6d\\xe5\\x85\\xf7\\xb2\\x05\\x44\\x99\\xc0\\x8c\\x22\\x89\\x1f\\xde\\x5a\\xc4\\x7c\\xe2\\x2a\\xac\\xf6\\x41\\xd8\\x05\\x18\\x58\\x93\\xc5\\x6a\\xc4\\xa1\\x71\\xb0\\x6a\\xeb\\xb1\\xa5\\x7f\\x3f\\xda\\xf7\\x89\\xfe\\xfb\\x0f\\x2d\\xfe\\xee\\xcc\\x40\\x70\\xfa\\xc0\\x13\\x53\\xd7\\x56\\x36\\xaf\\xea\\xdf\\xe7\\x89\\x31\\x1b\\x07\\x20\\x7f\\xe2\\x90\\xe7\\x93\\xa7\\xce\\x82\\x6e\\xa7\\x55\\x60\\xb9\\x30\\xdf\\xf5\\xf6\\xa9\\xd3\\xc2\\xd9\\x0b\\x6a\\x61\\x12\\x33\\xf8\\x8b\\x76\\x4d\\xe7\\x75\\x8f\\x01\\xfb\\xce\\x59\\xbb\\x1c\\xb0\\x27\\xbf\\x43\\xf8\\x99\\xe8\\xa1\\xc6\\x96\\xef\\xe8\\xe5\\x68\\x73\\x1a\\xa9\\xfc\\xb0\\x4d\\xab\\x30\\x6a\\xd4\\x6a\\xb9\\x42\\x81\\x42\\x02\\x3d\\x3a\\xb4\\x7a\\x8b\\x4e\\xae\\x31\\xcb\\x45\\xbf\\x33\\x16\\xea\\x47\\x15\\x6c\\x50\\xe4\\x07\\x30\\x92\\xeb\\x31\\xd1\\x54\\x06\\xb3\\xb2\\x73\\x7b\\x2d\\x8c\\x58\\xa6\\x35\\x1e\\xb6\\x19\\xc5\\xab\\xe0\\xdc\\x76\\xdb\\xb4\\xe3\\x9e\\x9a\\x4e\\xb7\\x6f\\xfa\\xc3\\x86\\x59\\xd1\\x7b\\x60\\xf1\\xbd\\x6f\\x92\\xb9\\xfc\\xed\\xf7\\x52\\xff\\xbf\\xdf\\x7b\\xb5\\xf1\\x4e\\xab\\xf7\\xc2\\xeb\\x77\\xf3\\x93\\xde\\x2b\\xd4\\x90\\xf1\\x7a\\xa8\\x6e\\x61\\x3f\\x67\\x53\\x78\\xac\\x4a\\x25\\x7a\\xb1\\xcf\\xe3\\xb5\\x2a\\x7d\\x76\\x97\\xdc\\x85\\x5e\\xef\\xb2\\x88\\x08\\xfd\\x72\\x2e\\x31\\x8a\\x88\\xbb\\x61\\x31\\x4d\\x10\\x97\\xe4\\xde\\x2b\\x84\\xc4\\xc9\\xf8\\x36\\xee\\x9f\\x55\\xd0\\x15\\x0f\\xc5\\xe7\\xe4\\x6e\\x9f\\x84\\x4b\\x82\\x3e\\x2b\\x27\\xe9\\x88\\x8c\\x6f\\x21\\x19\\x7f\\x20\\x39\\x73\\x3c\\x37\\x46\\x85\\xd1\\x2c\\xce\\x8e\\x38\\x37\\xbc\\x56\\xa1\\xe6\\x14\\xce\\xc4\\xb9\\x49\\x48\\x3b\\x93\\x8c\\x16\\x52\\x4a\\xe5\\x20\\xf1\\x8e\\x1e\\x89\\x91\\x75\\xaa\\xf1\\x5f\\x76\\x43\\xc2\\xf5\\xfc\\xb8\\xa7\\xde\\x6f\\xda\\xc8\\x7c\\x1d\\x9b\\x1c\\x40\\xd1\\xd2\\x7b\\x7d\\x98\\x81\\xc7\\x6e\\xb3\\x29\\x8d\\x0e\\xa3\\xcf\\xef\\x4b\\x31\\xcb\\xfd\\x1e\\xf4\\x66\\x0f\\xef\\xe0\\x6d\\x1c\\xaf\\x46\\xb1\\xb9\\x93\\x4a\\xb2\\x45\\xad\\x50\\xae\\xa5\\x66\\xd6\\x56\\x73\\x72\\x8f\\x44\\x96\\x35\\xac\\xa8\\xc8\\xc7\\xce\\x57\\x5e\\x6e\\x25\\xda\\xf4\\xe6\\x4a\\x71\\x66\\x66\\x4f\\x0d\\xe5\\xc3\\xb3\\x51\\x21\\x01\\xf2\\xe6\\x29\\xfa\\xaf\\x48\\x46\\x2d\\x8a\\x59\\x38\\x2d\\x45\\xc9\\x74\\x32\\x8e\\x51\\x56\\x47\\x98\\x68\\x7d\\x23\\x28\\xbc\\x97\\x70\\x1c\\x9d\\x24\\xdb\\xea\\xd0\\xd7\\x7f\\xec\\x99\\xed\\xcb\\x2e\\x58\\xb4\\xc9\\xb7\\x88\\x3e\\xf3\\xd6\\x5b\\xea\\x23\\xea\\xad\\x47\\x9a\\x37\\xa2\\xcf\\x9c\\x8d\\xc6\\xdd\\x0d\\x7d\\xa6\\x9e\\x72\\x87\\x75\\x50\\xa7\\x53\\x18\\x0d\\x6a\\x19\\x0a\\x23\\xc5\\x93\\x9b\\x15\\x8b\\x82\\x9c\\x52\\x52\\x3f\\x8a\\x29\\x2e\\x87\\xe7\\x5e\\x35\\x0c\\x19\\xdd\\x29\\xdd\\x97\\x59\\x72\\xe0\\x0c\\x87\\x21\\x3a\\x41\\x5d\\x51\\xfd\\x48\\xd5\\x11\\xd5\\x89\\xc3\\xe1\\x01\\x77\\xff\\x07\\xf7\\xff\\x20\\x1b\\xe3\\x20\\xbd\\x22\\x66\\x7c\\xbf\\x60\\x94\\x69\\x94\\x4a\\x4a\\xad\\x56\\x71\\x18\\x4a\\x46\\x25\\x83\\x56\\x8b\\x52\\xcb\\x69\\x2b\\x23\\x1c\\x07\\x68\\x5a\\x57\\x19\\xa1\\x39\\x35\\x30\\x27\\x14\\x90\\xb4\\x86\\xdd\\x8a\\xe6\\xe2\\x0b\\x03\\x46\\xa9\\x54\\x13\\xe0\\x98\\x0f\\x92\\xca\\xc7\\xc0\\x9f\\x1a\\xdf\\x01\\x2f\\x1d\\x7e\\xf1\\xd2\\x09\\xa0\\x7e\\xfb\\xdf\\xb7\\xef\\xef\\x05\\x0c\\x0b\\xd7\\xbf\\xc6\\x94\\xed\\x58\\xb6\\xfb\\xa2\\x5d\\xe8\\x02\\x2e\\x82\\x5f\\x85\\x2d\\x73\\x27\\xef\\x94\\xe4\\xda\\x2d\\xc9\\xd5\\x35\\xec\\x03\\x0c\\x43\\x9b\\x30\\x2b\\xb7\\x85\\x86\\xb8\\x35\\x87\\xd4\\xdb\\x9a\\xd4\\xb4\\x86\\x53\\x9b\\x91\\x12\\x33\\xc7\\x72\\x01\\x79\\x49\\xc4\\x60\\x51\\x7a\\x30\\xd2\\x08\\x20\\xa6\\x5c\\xfc\\x28\\x12\\x25\\xb2\\xf8\\x21\\x18\\xf4\\x3a\\x38\\xf0\\x91\\xd0\\x73\\xda\\xfc\\x9f\\x3f\\x12\\x0a\\xde\\x69\\xac\\x59\\xbc\\xee\\x15\\xe1\\x97\\xfb\\xe8\\x95\\xe0\\xa2\\x50\\x62\\x59\\x37\\xf1\\xd4\\x8b\\x4c\\x59\\xd3\\xc0\\x79\\x93\\x76\\x0a\\x5b\\xc8\\xbe\\xbf\\x2c\\xd4\\x90\\xfa\\x67\\x5c\\xc1\\x90\\x9b\\x9f\\xea\\xa2\\x32\\x33\\x32\\x28\\x4d\\x2a\\x63\\x28\\xb5\\x28\\x14\\x06\\x43\\x89\\x2b\\x1f\\x06\\x83\\x39\\x55\\x11\\xe4\\x0a\\xf3\\x9c\\xaa\\x3a\\xc2\\x39\\xa1\\xbd\\x0a\\xf9\\xf7\\x49\\x15\\xd0\\xf1\\x84\\x5c\\x69\\x1b\\xe0\\xb2\\x62\\x01\\xb4\\xbc\\xd5\\xd6\\xfc\\x6f\\x6a\\xa0\\x2f\\x4c\\xf4\\xca\\xc7\\x77\\xcc\\xf4\\x15\\x17\\xcc\\x7e\\x50\\x59\\xb1\\xd3\\xbf\\x71\\xee\\xef\\x54\\x40\\x1f\\x7e\\xaa\\xc7\\x89\\x80\\xa3\\x5a\\x73\\x58\\xf3\\xc0\\xf8\\xf4\\x3c\\x50\\x5f\\x32\\xac\\xf2\\xf7\\x6b\\xa0\\x85\\x5f\\xd1\\xd8\\x33\\x90\\x3e\\xb4\\x50\\xbe\\x30\\xaf\\xb3\\xd1\\x56\\xcc\\xa9\\x83\\x42\\x42\\x36\\xb1\\xa1\\xbe\\x75\\x5b\\x51\\x1c\\xaa\\x1d\\x79\\x7c\\xf3\\x2a\\xc3\\xde\\xd2\\x82\\xbe\\x23\\xed\\x9f\\xa7\\x5d\\xd8\\xdd\\xbf\\xa7\\xaf\\x53\\xc1\\x23\\xb9\\x5f\\xa4\\x9e\\x12\\x6a\\x2c\\xfb\\x6c\\x53\\x96\\x30\\xab\\x9e\\x3d\\x67\\x7b\\xc2\\xf3\\xf7\\xbb\\x73\\x2f\\x9d\\xc2\\x73\\x5d\\x89\\xde\\x57\\x49\\x62\\xc2\\x1e\\xe1\\x00\\xe7\\xd2\\x50\\x2e\\xca\\x2c\\x93\\xf9\\xdc\\x66\\xb3\\x57\\xe3\\x71\\x7b\\xaa\\x22\\x9c\\xdb\\x6c\\xb4\\x21\\x7f\\xc3\\x49\\x4e\\x17\\x95\\x10\\x5e\\x24\\x07\\xc6\\xd2\\x7e\\x4c\\x12\\x26\\x5a\\xf7\\x17\\x2c\\xf6\\x02\\x31\\x5f\\xbd\\xf1\\xc5\\xb8\\x50\\xd7\\x9e\\x74\\x9c\\x76\\xba\\x1f\\xdd\\xd0\\xa7\\xc0\\x91\\x93\\x5b\\x5e\\x61\\xb2\\x3e\\xef\\x58\\x09\\xff\\x2c\\x8a\\xd7\\xd4\\x65\\xe5\\xf6\\x86\\x87\\x34\\xeb\\x59\\xd8\\xf5\\xfe\\x05\\x2b\\xf1\\x79\\x47\\x36\\xed\\x1f\\x24\\x27\\x9b\\x1e\\x36\\x99\\x18\\x35\\xe3\\x84\\x5e\\x8f\\x0e\\x89\\xa4\\xe3\\x29\\x7b\\xe2\\xdc\\x44\\xab\\x99\\x41\\x4a\\x62\\x1d\\x4a\\x12\\x29\\x22\\x26\\xd1\\xe8\\xf3\\x6f\\x6e\\x97\\x66\\x6e\\xb7\\x22\\x5f\\x7e\\xcd\\xa2\\x55\\xdc\\x76\\x2e\\xa7\\xb4\\xa4\\x9b\\xb7\\xa3\\x50\\xf3\\x43\\xe1\\x40\\xba\\xa5\\x67\\xca\\x72\\xe7\\x31\\xc3\\xba\\x65\\x9d\\xfb\\x36\\xbb\\xfb\\xe6\\x15\\x97\\xd8\\x0e\\x1a\\x71\\x2e\\xa1\\x1f\\x9a\\xab\\x3f\\xa3\\xb9\\x72\\x51\\x41\\x6a\\x50\\x38\\xc7\\xae\\x4b\\xd7\\xd2\\x0e\\xc6\\xe5\\xd3\\xb9\\x14\\x46\\x63\\x86\\x4f\\xa1\\x08\\xa9\\x51\\xcc\\xac\\x75\\xa4\\xd3\\x8c\\x5a\\xcd\\xea\\x31\\x49\\xb5\\x9e\\x62\\x51\\x54\\x46\\xb1\\xad\\x78\\x50\\xa5\\xde\\xc3\\xe8\\xcc\\x45\\xd3\\x7c\\xb1\\x90\\x8c\\xf4\\x60\\x24\\xaa\\x2d\\x8b\\x15\\x44\\xf9\\x5d\\x8a\\xd3\\xc1\\xbb\\xed\\x8a\\x73\\xb6\\x4e\\x9a\\xb5\\xfe\\xf1\\x75\\xfd\\x7b\\xbc\\x99\\x72\\x61\\x0f\\x99\\xd0\\xde\\x63\\x6d\\x9f\\xdd\\x5f\\x29\\x18\\x4a\\x2a\\x3b\\x66\\x95\\x0e\\xe6\\xdb\\x09\\xb3\\x46\\x87\\x47\\x8f\\x78\\x68\\xca\\x43\\xfb\\xdc\\x4c\\xda\\x33\\x97\\xd0\\xac\\x4e\\x7b\\xf0\\xee\\xda\\xb1\\xc7\\x81\\xac\\x57\\x49\\x6e\\xbb\\xfb\\xfb\\xe7\\x91\\xb3\\xf6\\x79\\x4b\\x0b\\x6d\\x66\\x77\\x23\\x7d\\x5a\\x1a\\x76\\x29\\x91\\xc3\\xc9\\x59\\x38\\xad\\x43\\x6b\\x97\\xe9\\xb4\\xba\\xaa\\x88\\x52\\x1b\\x46\\x67\\xde\\x54\\x19\\xe3\\x5a\\x73\\xdc\\x2a\\x48\\x2e\\x0d\\x8b\\xf5\\x48\\x89\\xab\\x1d\\x20\\xb0\\xc7\\xd1\\x59\\x07\\x75\\x43\\x46\\x73\\x5b\\x63\\x7d\\x76\\x5b\\x44\\x82\\x12\\x76\\x37\\x66\\x28\\x69\\x76\\xe0\\xe6\\x3a\\xfa\\xcf\\x51\\x6a\\x12\\xb4\\xc6\\x3a\\x61\\x18\\xe1\\x9c\\xb1\\x51\\xc5\\x61\\xa7\\xc6\\x60\\x50\\x42\\x68\\xb1\\xf3\\xac\\x83\\x23\\x24\\x2a\\x1a\\x95\\x82\\x23\\xa2\\x48\\x4b\\x2d\\x71\\xcc\\x14\\xc6\\x13\\x7a\\x98\\xc5\\xa0\\x4d\\x5e\\x19\\xb9\\xec\\x65\\x24\\xc8\\xcd\\x98\\x20\\x37\\x44\\x41\\x84\\x61\\x58\\x10\\x26\\x80\\x05\\xb9\\xfb\\x75\\x54\\x10\\x9a\\x52\\xb5\\x7c\\xcf\\x8c\\x40\\x3a\\xd1\\x8d\\x7c\\xf1\\x31\\xe1\\x02\\xce\\x4f\\x43\\x46\\x83\\x4c\\x2f\\x64\\x52\\x70\\x37\\xb1\\xdb\\xed\\x72\\xa5\\x5a\\x18\\x4b\\x30\\x3d\\x45\\xe1\\xc0\\x19\\x12\\x16\\xf0\\x4e\\xa7\\x06\\xba\\x39\\xa3\\x87\\xa4\\x72\\xcd\\xf1\\x54\\x6e\\x5e\\x69\\xbc\\xd2\\x3b\\x91\\x82\\xb8\\x34\\xa1\\xc6\\x08\\xc4\\x6a\\xbd\\x65\\x49\\xf4\\x20\\x04\\x42\\xda\\x09\\x30\\x8c\\x20\\x1a\\x06\\x38\\x30\\x02\\xfc\\x3c\\xa2\\x71\\xc4\\x54\\xc7\\xd4\\x76\\x09\\x51\\x8e\\xd2\\x3a\\xd5\\x31\\x65\\xc4\\x07\\xcb\\x9f\\x4b\\x11\\x14\\x4e\\xa6\\x4c\\xc8\\x13\\x8b\\x50\\x63\\x51\\x8e\\xe7\\xbe\\x79\\xab\\xc1\\xdb\\x4d\\x5d\\x5e\\x3a\\xb1\\xb9\\xe4\\x18\\x9a\\xe3\\x02\\xdc\\xdf\\x8f\\xc6\\x56\\x88\\x6f\\x0c\\xbc\\xed\\x02\\xd9\\x06\\x95\\x0d\\x42\\xad\\x2a\\xbb\\x1d\\x1b\\x6c\\x1f\\xec\\x90\\xa1\\xd5\\xe1\\xaa\\xb6\\x6c\\x2a\\x1d\\x85\\xd9\\xce\\x78\\x89\\x01\\x4e\\x25\\x24\\x55\\x72\\x27\\x5c\\x8d\\x76\\x68\\xdf\\x85\\xe9\\xd0\\x9e\\x5c\\xa5\\x11\\x43\\x94\\x80\\x5a\\x10\\x4c\\x27\\xe9\\x31\\xb9\\xa8\\x42\\x91\\x8f\\x4e\\x81\\x7f\\xbd\\xf9\\x63\\xb0\\x63\\xf7\\x8e\\xc1\\xde\\xd5\\xce\\x59\\x7d\\xc6\\x95\\x76\\x2c\\xeb\\xb8\\x7d\\xd1\\xc4\\x93\\x75\\x3e\\xdf\\xca\\x59\\x0b\\x9d\\xd5\\xed\\x0b\\xdc\\x29\\x6e\\xe1\\x4d\\xd3\\x9b\\x4f\\xf5\\x5e\\x30\\xa6\\xb2\\x7b\\xa9\\xb3\\x6c\\x63\\x5d\\x9f\\x8a\\x85\\x3d\\xbb\\x6f\\xe8\\x37\\x7b\\xed\\xd4\\xcb\\x13\\x3a\\xdd\\x7f\\x7f\\xc7\\xd9\\x2b\\x37\\x96\\xa5\\xfb\\xbb\\x57\\x8e\\x09\\xff\\x20\\x7c\\x81\\x63\\xa9\\x89\\x68\\x4c\\x16\\xa6\\xcc\\x20\\x83\\xf3\\xc9\\x9e\\xc6\\xfc\\x93\\xbb\\x49\\xbe\\x31\\x05\\x63\\x9f\\xca\\x69\\xad\\x0a\\x83\\x71\\xa8\\x91\\x27\\xc9\\x89\\x30\\xd2\\xb1\\xab\\x35\\x6c\\xb2\\x30\\x8d\\x64\\x1e\\xe0\\x00\\x08\\xd0\\xea\\xf7\\x2e\\x5c\\x19\\xaf\\x54\\xb2\\x8e\\x5a\\x61\\xd9\\xcb\\x4c\\x19\\x8a\\xda\\x5e\\xe8\\x3e\\xb7\\x7d\\xfb\\x8b\\xcd\\x5d\\xf0\\xe7\\xa2\\x90\\x9d\\x9d\\x41\\x7a\\xf5\\xc3\\x61\\x9f\\x5c\\xa6\\xd6\\xea\\x18\\x40\\xe9\\x95\\x0a\\x85\\x9a\\xd1\\x33\\x16\\xa3\\xc9\\x64\\x56\\x9a\\xcc\\x8c\\xce\\xac\\x57\\xcb\\xc8\\x8b\\x0a\\x0a\\x30\\x91\\x4d\\xe2\\x65\\x72\\x61\\xcc\\xc9\\x2f\\x34\\x7a\\x09\\xcf\\x6c\\x00\\x06\\xb1\\xe5\\x4e\\xef\\x80\\x59\\x2c\\x4f\\xbe\\x95\\x4e\\xc3\\x71\\xa0\\xec\\xad\\x91\\x67\\x33\\xe5\\xa5\\xc2\\xce\\x17\\x72\\x64\\x1d\\x85\\xdd\\x67\\x51\\x14\\xd9\\xb3\\xe3\\xd3\\x77\\xe8\\x0b\\x48\\x9e\\x0f\\x6e\\xae\\x6b\\xfa\\x82\\xfe\\x7a\\x6a\\xf5\\xda\\xa6\\xff\\x91\\xc6\\xca\\xcc\\x65\\xbf\\x40\\xeb\\x54\\x1c\\x76\\x28\\x39\\xe4\\x50\\xa8\\x8c\\x34\\x6d\\x33\\x18\\x8d\\x56\\x0e\\x39\\x18\\x46\\xf1\\xd2\\x0e\\x24\\x13\\xdf\\x26\\x69\\x6c\\x10\\x63\\x19\\x42\\xc2\\x20\\xcb\\x87\\x27\\x02\\x74\\x01\\xf0\\x6e\\xef\\x76\\x8e\\xd4\\xbc\\x21\\x7b\\xfa\\xd9\\xdf\\x3e\\x37\\x49\\xe9\\x01\\x96\\x39\\xc2\\x53\\x2f\\xd3\\x13\\xd7\\x7d\\xc1\\x7e\\xa1\\x5e\\x2b\\x5b\\xb8\\x32\\xeb\\xee\\x5b\\xf4\\xd0\\xdc\\xbf\\xa9\\xb2\\x3f\\x6d\\xde\\xc5\\x74\\xfe\\xe1\\xa2\\x98\\xb3\\x7a\\x08\\xc9\\x33\\x0d\\xcd\\x91\\x02\\xc5\\xd2\\x16\\x48\\x2b\\x90\\xe2\\xa0\\xa1\\x92\\x95\\xc9\\x54\\x0c\\x72\\x05\\x59\\x9a\\x23\\xee\\x59\\x61\\xeb\\xd6\\x65\\xbf\\x51\\xe4\\xdc\\x85\\xa0\\x62\\x88\\xf0\\xe5\\x1f\\x6e\\x81\\x9d\\x6f\\x36\\x7f\\x32\\x04\\x5c\\xa2\\x57\\x08\\x06\\xf0\\x8f\\xe6\\x07\\x85\\xbe\\x04\\x2b\\xa1\\x86\\xf4\\x07\\xd9\\x71\\xae\\x41\\x87\\x22\\x2c\\x16\\x72\\x7a\\x93\\xc9\\x69\\xe1\\x38\\x87\\xd9\\x60\\x34\\x90\\xa8\\xd8\\xc2\\xa1\\xe8\\x98\\x33\\xc7\\x8a\\x8d\\xa3\\x57\\x46\\xe5\\xf7\\xd2\\x19\\xb4\\x2a\\x34\\xc6\\xe8\\xa4\\x51\\xa6\\x0e\\x19\\x2c\\x4b\\x0b\\x75\\x08\\xf9\\x7a\\xe4\\x8f\\x9a\\xa2\\xb1\\x34\\x27\\x42\\x29\\xd0\\xc7\\xda\\x29\\x2e\\x65\\xa6\\xa9\\x0f\\x69\\xa6\\x8e\\x0d\\x75\\x99\\x2d\\x75\\x05\\x09\\x62\\x9c\\xdb\\xf2\\x6e\\xcb\\x00\\x22\\xa3\\x85\\xf2\\x22\\xef\\x25\\x5f\\x6f\\x72\\xa8\\x28\\x1d\\x63\\x71\\xbb\\x65\\x06\\x99\\x09\\xfa\\x91\\xa8\\x3e\\x51\\x54\\x68\\xc5\\x9d\\x7b\\x4a\\x23\\xe7\\x10\\x45\\xd6\\xa8\\x38\\xb3\\x92\\xcc\\xcd\\xcb\\x52\\xaf\\x22\\x76\\xb2\\xe2\\x5e\\x96\\x48\\xc1\\x2c\\x8a\\x9d\\x16\\x05\\xc8\\xc9\\x02\\x32\\x79\\xb0\\x38\\x2a\\x76\\x1a\\x2e\\xce\\x2d\\xc0\\x1d\\xa8\\x13\\x1e\\x79\\x61\\xf4\\xf8\\x85\\x47\\xce\\x36\\x77\\x2b\\x5c\\x3a\\x40\\xb8\\x95\\x28\\x7d\\x45\\xfb\\xb9\\x35\\x0d\\x17\\xb3\\x36\\x3e\\xbf\\x7e\\xfa\\xc8\\x35\\x2b\\x46\\x0e\\xed\\x3c\\x57\\x1a\\xc1\\xc5\\xaa\\xf1\\x33\\xfc\\xe9\\x78\\x4f\\x11\\xac\\x4a\\x52\\x07\\x3b\\x20\\x9c\\x61\\x92\\x39\\x6d\\x50\\xc6\\x68\\x1d\\x00\\xb8\\x75\\x5a\\xad\\xcb\\x8e\\xab\\x73\\xec\\x76\\x15\\x85\\x8b\\x75\\x74\\x3a\\x95\\x93\\x26\\x3c\\x8a\\x14\\xf7\\x5f\\x70\\x8d\\x18\\xe3\\x19\\x61\\xa9\\xde\\x20\\x9e\\x12\\xbe\\x09\\x4b\\x52\\x84\\x1e\\xbb\\x9e\\xda\\x20\\x08\\xa7\\xae\\xdc\\xe6\\x4f\\x7b\\x3e\\x9a\\xf1\\x64\\x5d\\xc3\\x2a\\x92\\x0d\\x5e\\xc5\\x94\\xe1\\x54\\xf0\\x7b\\x07\\x1e\\x15\\xfe\\xb9\\xeb\\xd1\\xdd\\xe6\\x0b\\x73\\xdf\\x9d\\xb0\\x68\\xf3\\x36\\xb0\\x42\\x9c\\xf3\\x47\\x84\\xa1\\x44\\x5e\\x1f\\x95\\x49\\x4d\\x08\\x97\\x05\\xac\\x1a\\x05\\x13\\xb2\\x23\\x27\\x06\\xc9\\x6d\\xf0\\x02\\x90\\x1d\\x32\\x18\\xb2\\xcc\\x69\\x95\\x11\\x0f\\x32\\xcf\\xd0\\x63\\x55\\x04\\x34\\x8c\\xd9\\x63\\xf6\\xe8\\x28\\x9d\\xbf\\x2a\\xa2\\xd6\\x39\\x69\\x1f\\xa9\\xa8\\xe4\\x12\\x60\\x3e\\xa4\\xb2\\x23\\xd2\\xd6\\xd1\\x6a\\x1c\\x12\\xa9\\x8b\\xc4\\x77\\x61\\xb1\\xca\\x71\\x9e\\x81\\x5c\\x04\\x20\\x7b\\x5d\\x14\\x1d\\x8f\\xb1\\xa0\\x58\\x02\\x6b\\x11\\x47\\xb6\\xe7\\xd4\\xa4\\x82\\x76\\x6b\\xaa\\xf7\\x7f\\x3c\\xff\\xd4\\xc8\\x2b\\x47\\xff\\x74\\x35\\x6f\\xd7\\x46\\x71\\x6c\\x23\\xce\\x4f\\xdb\\x75\\x72\\xd0\\xe8\\x45\\x64\\x8c\\x96\\x0f\\x4e\\x3c\\xb7\\xa9\\x53\\xf7\\xf1\\xb3\\x67\\x75\\x9b\\xdd\\x73\\xe1\\xa6\\x03\\x93\\xc7\\xae\\xda\\x8e\\xc6\\x79\\x37\\x7b\\xf4\\xae\\x6e\\x25\\x25\\xdd\\xc5\\x33\\x76\\x01\\x9d\\x31\\x0a\\xf9\\x21\\x36\\xaa\\x4b\\xd8\\xa7\\xd5\\xd9\\x28\\xb9\\xd1\\x48\\xe9\\xa0\\xdd\\x81\\xf7\\x54\\xbc\\xf9\\x0c\\x93\\x5b\\xb6\\x6a\\xf6\\x2a\\x4c\\x26\\x94\\x2b\\x34\\x62\\xfe\\x94\\xa2\\xa4\\xde\\x33\\x92\\x6f\\xf8\\x75\\x72\\x66\\x67\\x10\\xea\\xa9\\x99\\x39\\x7e\\xd2\\x1a\\xdf\\x89\\x59\\xa0\\xf7\\x1f\\x6e\\xce\\xff\\xf6\\x68\\x1f\\xda\\x63\\x00\\xfb\\x7b\\x74\\x5c\\xbb\\x65\\xf2\\x70\\xe4\\xd0\\x7d\\xf0\\xc6\\x79\\xe1\\xe5\\xa7\\x54\\xc2\\x52\\x2c\\x13\\xf2\\xdc\\x49\\x4e\\xc4\\x41\\x75\\x0e\\x7b\\x1c\\x94\\x89\\xa1\\x18\\x8d\\x53\\xe3\\xb2\\x5b\\xad\\xa0\\x12\\xb3\\x57\\x28\\x95\\x3c\\xae\\xc1\\x91\\xee\\x56\\x12\\xae\\xca\\x13\\x9c\\x09\\x51\\x11\\x90\\xec\\x87\\x98\\xa0\\x8d\\x55\\x1b\\xe2\\x53\\x0a\\xc1\\xa2\\x7e\\x8f\\x1c\\xea\\xb7\\xed\\xc6\\xf6\\xc3\\x97\\xf8\\x46\\xae\\x7e\\xf0\\x82\\xbd\\xb5\\x93\\xe6\\x75\\x6c\\x3f\\x19\\x2c\\xe7\\x6e\\x9c\\x59\\x08\\x3c\\xaf\\x8f\\x3e\\x7c\\x48\\x37\\xa1\\x76\\xa3\\xf0\\xc6\\xd2\\xf9\\x8b\\x0d\\xcd\\xff\\x43\\xe6\\xca\\x85\\xeb\\x36\\xc9\\x5c\\x75\\x0c\\x7b\\x8c\\x0c\\x65\\x43\\xb1\\x8d\\x8d\\x81\\x0e\\xbb\\x8d\\x52\\x72\\x44\\x22\\x8b\\xd5\\x0c\\x50\\x6c\\x03\\x12\\x37\\x30\\x95\\xd4\\x2b\\x8f\\x4d\\x74\\x8c\\x20\\x47\\xaa\\x93\\x31\\x74\\xe0\\x91\\x8b\\x63\\xa4\\x3f\\x18\\xb8\\xfb\\x40\\xff\\x2d\\xb7\\x76\\x1e\\x6a\\xd4\\x3f\\xe3\\x6e\\x58\\xb2\\x7f\\xe4\\x27\\x1d\\xdb\\x4f\\x67\\x6f\\x08\\x93\\xb9\\xd7\\xce\\x2e\\x12\\x3e\\xfd\\x63\\xdd\\xe3\\x07\\x74\\x2f\\xad\\x06\\x39\\x0f\\x52\\x2d\\x06\\xba\\x54\\xcc\\x3d\\xdc\\x11\\x86\\x92\\xfa\\x16\\x2f\\x55\\x16\\x76\\x19\\x4d\\x0c\\x44\\x8a\\x41\\xeb\\x70\\xf8\\x90\\xce\\xb6\\xa2\\x59\\xb2\\x3a\\x31\\xe2\\x0b\\xc3\\xe0\\xfa\\xd8\\xa4\\x3a\\x9e\\x56\\xfc\\xb6\\xf1\\x4b\\xee\\x7b\\xeb\\xaf\\x0d\\x14\\x3d\\xfb\\xd8\\x4b\\xda\\x73\\x9a\\x71\\x23\\x1f\\x3e\\x9d\\x31\\xd0\\x30\\x7d\\xca\\xe4\\x5d\\xa9\\x0d\\x5d\\xff\\xf2\\xf8\\xd5\\x9b\\xc6\\x7e\\xc5\\x80\\x65\\x06\\x1c\\x7b\\xc4\\x3e\\xe1\\xfe\\xeb\\x1f\\x0a\\x93\\x23\\xbd\\x57\\xac\\x5a\\xf8\\x40\\xbb\\x63\\x0d\\x6f\\xff\\xa1\\xaa\\x0e\\xac\\x06\\x2e\\x60\\x4a\\xe0\\xe5\\x95\\x70\\x76\\x29\\x3d\\x3d\\x8f\\x1e\\x45\\x41\\x5c\\xa7\\x0c\\xff\\xce\\x74\\x27\\xfc\\x13\\xe9\\x54\\x4d\\x38\\x37\\xdd\\x68\\xd4\\xd8\\xe4\\x5e\\x8a\\x92\\x33\\x1a\\x26\\x18\\x62\\xd2\\x5d\\xe9\\x2e\\x14\\x35\\xa4\\x03\\x35\\x4c\\x4f\\x57\\xf1\\x7c\\x0a\\xce\\x52\\x1a\\xcd\\x98\\x98\\x42\\x83\\x9b\\xa7\\x92\\x81\\x1c\\xda\\x2a\\xd1\\x11\\xc3\\x33\\x2e\\x5a\\x85\\x10\\x24\\x8e\\xb0\\x05\\xc4\\x4b\\x76\\x7c\\xe2\\x86\\xe5\\x00\\xfc\\xfb\\xd6\\x95\\x60\\xfc\\xa2\\x96\\xbf\\x7f\\x7e\\x73\\x4e\\xf6\\xdf\\xdf\\x3e\\xfb\\x7c\\x53\\xcb\\x82\\x39\\x6b\\x1b\\x1e\\x5a\\xfd\\xea\\x27\\xc0\\x35\\x72\\xe4\\xe2\\x75\\x2e\\x05\\xec\\x35\\x75\\xab\\x45\\xce\\x2f\\xae\\x3d\\x7e\\x2e\\x83\\x9e\\xfc\\xd5\\x67\\xab\\x9a\\x5e\\x31\\x8d\\x9d\\x5a\\x39\\x6a\\xc5\\x0b\\x5d\\xfb\\x3d\\xbc\\x2d\\x83\\xe4\\x26\\xf9\\x96\\xef\\xe1\\x6d\\x52\\x6f\\x94\\x81\\x34\\x5e\\xa6\\x54\\x6b\\xa4\\x72\\x7b\\x1d\\x6c\\x66\\x96\\x5b\\xa9\\x51\\x6a\\x90\\x45\\x51\\xa2\\x01\\x29\\x95\\xd6\\x14\\x52\\x6d\\xc4\\x93\\x6a\\x23\\xcb\\xff\\x55\\x6d\\x14\\x65\\xd4\\x34\\xe3\\x7b\\x41\\xd1\\x09\\x12\\x99\\x7a\\x45\\xf7\\x4e\\x74\\xf4\\x2d\\x64\\x63\\x41\\xc7\\xc2\\x59\\x0f\\x2c\\xa9\\x1f\\x30\\xdc\\x39\\x72\\xd5\\xa6\\x89\\x63\\x26\\x6f\\x18\\xd3\\x41\\x98\\x72\\xea\\xf5\\x86\\x87\\xcf\\x7e\\xfd\\xc7\\xab\\x1f\\x0c\\xdc\\xf5\\x3e\\xfd\\xe4\\xc6\\xed\\x93\\x23\\x15\\x83\\x36\\xcf\\x18\\xdf\\x6b\\x70\\xe5\\xd1\\x7f\\x36\\xef\\x7a\\x6c\\xcd\\xc2\\x27\\x6c\\xc5\\x7b\\xb6\\x9c\\xf9\\xf4\\xc5\\xe5\\xc2\\x17\\x2f\\xd7\\x45\\x6b\\x57\\xd8\\x02\\x56\\x49\\x85\\xa8\\xfa\\x70\\xbb\\x50\\xd0\\xef\\x97\\x07\\x81\\xce\\x69\\x70\\xda\\xed\\x40\\x0e\\x32\\x0c\\x86\\x4c\\x52\\x44\\xaa\\x21\\x04\\xad\\xb8\\x8e\\x05\\x5f\\xf2\\x39\\x75\\x1a\\x9e\\x49\\x4d\\x28\\x64\\x49\\xc0\\xfd\\x26\\x1c\\xdc\\x89\\x94\\xe4\\xa5\\xfa\\x36\\x8b\\x5a\\xac\\xb1\\x52\\x1e\\x8e\\x0e\\xfc\\x7f\\xc4\\xbd\\x07\\x7c\\x53\\x47\\xf6\\x30\\x7a\\x67\\xe6\\x16\\xf5\\xde\\x6c\\xb9\\x48\\x96\\x2b\\xb6\\x71\\x91\\x6d\\xd9\\x34\\x8b\\x6e\\x9a\\xb1\\x31\\xb6\\x11\\xcd\\x74\\x30\\xa1\\xd8\\x40\\xe8\\xc5\\x74\\x08\\x10\\x48\\x42\\x48\\x08\\x90\\x50\\x52\\x08\\x49\\x96\\x00\\xa6\\xa4\\x93\\x5e\\x16\\xd2\\x36\\x6d\\x37\\xa4\\xec\\xa6\\x6c\\x02\\x69\\x9b\\xb6\\x49\\xb0\\xae\\xdf\\x94\\x2b\\x59\\x36\\xec\\x7f\\xbf\\xf7\\x7e\\xdf\\xff\\xf7\\x48\\xac\\xa3\\x7b\\x35\\x7d\\xce\\x9c\\x39\\xe7\\xcc\\x99\\x73\\xfe\\xb3\\x79\\xcb\\xc3\\xf3\\xcb\\xfe\\xd5\\x3f\\x9f\\x58\\xee\\x0c\\xb5\\x24\\x1e\\x05\\xff\\xc1\\xd2\\x65\\x0a\\x48\\x24\\xa7\\xe5\\x93\\xf7\\xc5\\x1a\\xbc\\x30\\xbb\\x85\\x72\\xca\\xd7\\x05\\x82\\x09\\x12\\x42\\x3c\\x50\\xab\\x35\\xbc\\x46\\xaf\\x03\\xaa\\xea\\x50\\x1e\\xc0\\xff\\x34\\xbc\\xd6\\x28\\x6a\\x58\\x3c\\x75\\x4c\\xee\\x26\\x74\\x36\\xc8\\x8c\\xb0\\xda\\x3e\\xe2\\x24\\xd8\\x0a\\x8e\\x86\\xc0\\x67\\xa1\\xd6\\xb7\\x5b\\x1b\\xe4\\xc4\\x86\\xd6\\xb7\\x31\\xef\\x5c\\x02\\x5e\\xbb\\xfa\\x12\\xf8\\x56\\xb6\\x52\\x25\\x3d\\x6a\\xb7\\xc9\\xf5\\x70\\x33\\x3d\\x97\\x8d\\xc7\\xf2\\xf1\\xd0\\x60\\xba\\x4d\\xa5\\x52\\xab\\x13\\xf4\\x89\\x89\\x1e\\xcc\\x33\\x27\\x27\\xb8\\x6b\\x42\\x09\\x9c\\xde\\x2e\\x92\\x98\\x2b\\xa2\\xc8\\x61\\xf1\\xc4\\xd4\\x21\\x9e\\x5c\\x7b\\xd1\\xcc\\xec\\xef\\x08\\x84\\x99\\x1e\\x73\\x6c\\x2c\\xc1\\x34\\xa2\\x3d\\x64\\xe8\\x41\\xce\\xec\\xad\\x4b\\xb6\\x3c\\xff\\xe0\\xc0\\xf3\\xad\\xcf\\x6e\\x75\\x6f\\x15\\x83\\x72\\x38\\xad\\x38\\xcd\\x99\\x3d\\x71\\x46\\x36\\xb8\\x40\\xaf\\x9b\\xad\\xbe\\x61\\xe3\\x5e\\x74\\xa9\\x2d\\x75\\x9b\\x57\\xbe\\xef\\xe6\\xec\\xd1\\xf3\\xab\\xfa\\x65\\x16\\x89\\x3d\\xc9\\x51\\x3e\\xa6\\x2d\\xa7\\xb0\\x8c\\xfa\\x4f\\xdc\\x7e\\x1d\\xd7\\x2b\\x98\\xac\\xa5\\x91\\xe7\\x39\\x1d\\x19\\x2b\\x1d\\x6f\\x50\\x6b\\xf4\\x10\\x48\\x5a\\x5e\\x83\\x74\\x46\\x8d\\x5d\\xa4\\xae\\xe8\\x94\\xd0\\xf8\\x85\\xe6\\xb2\\x4e\\xa6\\xdf\\x6a\\xc0\\x4e\\xff\\x30\\x57\\xaa\\x06\\xa0\\x14\\xe8\\x8e\\x56\\x9c\\x92\\x2f\\x9d\\x79\\xfc\\xa2\\x7c\\xc7\\xc7\\xd0\\x22\\x63\\x96\\x54\\xd6\\xac\\x04\\xcb\\xff\\x48\\x44\\x0f\\x3f\\x2d\\x3f\\x01\\xde\\x86\\xb3\\xd8\\xfc\\x40\\x62\\xe7\\x26\\x10\\x3b\\x02\\x1e\\x08\\x24\\xe0\\xa1\\x11\\xf0\\xa3\\x42\\xc0\\xde\\xc5\\x8e\\x20\\x8b\\x74\\xdd\\x0b\\x3f\\x0e\\x0f\\x78\\xfb\\xc4\\x69\\xa8\\xe5\\x7b\\xb4\\x8d\\x63\\xb6\\xde\\xd4\\x3e\\x8d\\xc4\\x1a\\xae\\x09\\x66\\xe7\\x20\\x6d\\x5a\\x02\\x8a\\xd7\\xc7\\xc7\\xc5\\xe9\\x9d\\xc8\\x99\\x67\\x36\\xe7\\xc7\\xbb\\x8d\\xb6\\x51\\x21\\x23\\x48\\x24\\xb6\\xde\\x99\\xd4\\x0e\\xda\\x73\\xad\\xad\\x77\\xd4\\x37\\x4c\\x17\\x53\\xb4\\xce\\x96\\xd0\\x1d\\xb6\\x67\\x76\\x72\\xcc\\xf9\\x3f\\xd8\\x41\\x8b\\x49\\x9e\\x5e\\xdf\\x47\\xec\\xcd\\xe4\\x37\\x5a\\x47\\xf9\\x3a\\xee\\x11\\x74\\x32\\x83\\x3e\\x7a\\x9b\\x62\\x66\\x06\\x7f\\xff\\x00\\x3c\\xd8\\xd5\\x89\\x09\\x9d\\x9f\\x8f\\x94\\xbd\\xdb\\xc3\\x35\\x06\\xcb\\x5c\\x89\\x89\\x30\\xc9\\x60\\x34\\x26\\xc5\\x23\\x8f\\xca\\x66\\x4b\\xf1\\x78\\x13\\x30\\x27\\x52\\x1d\\x8a\\xe3\\x78\\xcc\\x65\\x41\\xde\\xc8\\x27\\x63\\x84\\x47\\x6a\\x12\\x4c\\x90\\x37\\x27\\xd9\\x23\\x81\\xc6\\xb8\\x98\\x18\\x56\\x65\\x79\\x84\\xf2\\x98\\xbb\\x46\\xb2\\x8a\\x3d\\xed\\x41\\xde\\xeb\\xef\\xf3\\x46\\x7a\\x57\\xda\\x17\\xf0\\x6a\\x41\\xcf\\xa2\\xeb\\x6d\\xf8\\x76\\x50\\xe9\\x92\\x4f\\x26\\xb6\\x26\\xc9\\x2f\\x02\\x1b\\xd0\\x5c\\x67\\xf3\\x9f\\xbb\\x62\\xef\\x5e\\x4a\\x77\\x46\\x28\\xfb\\x7f\\x0a\\x37\\x23\\x58\\x9a\\x98\\x92\\x82\\x77\\x5a\\x15\\xe6\\xfe\\x93\\x79\\x9f\\xd9\\x64\\x4a\\xc5\\x12\\x34\\xac\\x0e\\x25\\xa1\\x44\\xb7\\x1b\\x8b\\x23\\x46\\x77\\xb2\\xbb\\xdc\\x8d\\xbb\\x85\\xdc\\xc8\\xcd\\xe9\\x95\\x88\\x4b\\x9d\\x38\\x03\\xc2\\x7b\\x51\\x82\\x1a\\x0d\\xc6\\x03\\xba\\x74\\x8a\\x45\\x12\\xf8\\x8f\\xcc\\x02\\xe9\\x19\\x58\\x9e\\x24\\x9f\\x76\\x81\\xe1\\xf6\\xeb\\xb1\\x0d\\x45\\xa0\\xb7\\x4b\\x7e\\x3e\\x69\\xef\\x8a\\xb9\\xd7\\xe3\\x1e\\xe4\\x5f\\x57\\xec\\xa5\\xf7\\xa2\\x07\\xb6\\x5f\\x91\\x9a\\x29\\x5f\\x93\\xc5\\xe5\\x70\\xb3\\x83\\x3d\\x9c\\x1e\\xad\\xce\\x28\\x18\\xec\\x98\\x17\\xce\\xb6\\x67\\x20\\x64\\xb7\\xa2\\xdc\\x1c\\x93\\xa9\\x7b\\xb6\\xc5\\x8e\\xf7\\x04\\xbb\\xdd\\x9c\\x63\\xca\\xc1\\x5b\\x9e\\x51\\xcf\\xb9\\x08\\x92\\xfa\\x28\\x92\\xba\\xaf\\x7b\\x21\\xa1\\x93\\x54\\xd2\\xd1\\xb7\\xeb\\x5e\\x4e\\x40\\x2c\\x80\\xe0\\xf5\\xec\\xf5\\x11\\xe8\\x7c\\x31\\xa1\\x12\\x39\\xdc\\x6d\\xed\\x70\\xab\\xbb\\x2d\\xb9\\x8b\\xbd\\x3e\\xfc\\xfb\\x6d\\xf0\\xf5\\x4e\\x5e\\x77\\xe6\\x61\\xc6\\x7f\\xdb\\x35\\x06\\xfb\\xa8\\x2c\\xac\\x83\\x3f\\x47\\xee\\x79\\x4a\\xf5\\xb8\\xff\\x7e\\xae\\x1f\\x77\\x6b\\xb0\\xd2\\x67\\x4f\\x70\\x5b\\x32\\x4c\\xdd\\x72\\x73\\xb5\\x65\\xf9\\xa8\\xbb\\x01\\x8f\\x42\\xf7\\x20\\x42\\xdd\\xdd\\x76\\xbe\\x7f\\x96\\xc9\\x34\\xa0\\xbb\\x3d\\x33\\xa3\\x2a\\x64\\xc9\\xcc\\x34\\x26\\x24\\xc4\\x71\\x71\\xc9\\x55\\xa1\\x38\\xb7\\xb9\\x9b\\xb1\\x1b\\x51\\x6c\\xeb\\xb9\\x7c\\x2d\\x1e\\x91\\x5e\\x74\\x44\\x8a\\xfe\\x87\\x11\\x61\\x86\\x25\\x84\\x7e\\x46\\x7c\\x28\\x75\\xba\\x98\\x52\\x18\\xc3\\x05\\x5d\\x67\\x94\\x3a\\x4c\\x4e\\x62\\xa2\\x9e\\x11\\x9b\\x93\\xff\\x7e\\xdd\\x01\\x8f\\x1d\\x6c\\x8b\\x4a\\x21\\xf2\\xb6\\xcc\\x87\\xad\\x4b\\xe6\\x75\\x88\\x21\\xcf\\x6c\\xfb\\x9f\\xae\\x40\\x90\\xd1\\xec\\x90\\x52\\x40\\xaa\\x3d\\x54\\x13\\x11\\x53\\xc2\\x85\\xd7\\xbf\\xf6\\x85\\x97\\xf5\\xc0\\xf6\\x4a\\x8a\\x5f\\x19\\x5c\\x09\\x57\\x86\\xc7\\x78\\x53\\x70\\x58\\x59\\x5a\\x86\\x81\\xd3\\xf4\\x16\\x82\\xe6\\xa0\\x18\\xf0\\xf9\\x3c\\xb9\\x66\\x64\\x34\\xa6\\x14\\xb9\\x5c\\x29\\x62\\x1a\\x3f\\xa0\\x7f\\x7a\\x59\\x5a\\x19\\x16\\x63\\x7a\\x10\\xf1\\xd1\\x98\\x66\\x4c\\xe1\\x2c\\xc9\\xf6\\x84\\x84\\x7c\\x62\\x23\\x61\\xcf\\x24\\x7e\\xb3\\x7a\\x97\\x66\\x18\\x33\\x98\\x40\\x89\\x37\\xc2\\x97\\x14\\x69\\xb2\\xd3\\x48\\x47\\x45\\xcb\\x08\\xaf\\x42\\xe2\\xde\\xc5\\x5a\\x1c\\x76\\x95\\x30\\x8b\\xba\\x5e\\xc2\\x55\\x06\\x5b\\xe8\\x8a\\x8a\\xd6\\x88\\x0c\\xca\\xbf\\xdb\\x49\\x06\\x9d\\x47\\xc6\\x6d\\xf1\\xb5\\x68\\x1a\\x6e\\xea\\x8c\\x9e\\x17\\xd1\\x35\\xf2\\x29\\x19\\xb9\\xae\\x38\\x6b\\xef\\x82\\xae\\x5a\\xf8\\x4b\\xf8\\x36\\x26\\xc0\\x42\\x6e\\x02\\xc7\\x09\\x45\\x42\\x0e\\x97\\xca\\x95\\x62\\x2e\\xa8\\x30\\x2f\\xae\\x30\\x4e\\x67\\xb5\\x5a\\x32\\xbc\\x3a\\xb5\\xba\\x48\\x10\\x24\\xaf\\x85\\xef\\x51\\x96\\x11\\xc7\\x19\\x8d\\x8e\\xea\\x90\\xd5\\x6a\\x34\\xf9\\x3b\\x14\\x8c\\xa5\\x18\\x2f\\xed\\xb1\\x0a\\x46\\x57\\xac\\x17\\x95\\x4e\\x01\\x3f\\x14\\x63\\x8b\\x58\\x95\\xa3\\xb7\\xa4\\x83\\x12\\x29\\x67\\x06\\x84\\x87\\x25\\x1c\\x6b\\xe4\\x4c\\x21\\xc0\\x94\\x92\\xa0\\x66\\xe9\\xea\\x48\\x7c\\x6b\\xb0\\x77\\xc0\\xa0\\x7d\\x0f\\xda\\x8f\\x58\\x67\\x8d\\x99\\xb9\\xc8\\xd7\\x7f\\xed\\xbc\\x05\\xe5\\x3f\\xfe\\xc3\\x04\\xec\\xe9\\x15\\x2b\\x97\\xdf\\x50\\x92\\x9e\\xf4\\xe1\\x2a\\xdd\\xd8\\x86\\x50\\xf6\\x40\\x1a\\xf1\\xda\\xbc\\x7a\\x6d\\xdc\\xc8\\x41\\x93\\x46\\xa6\\x15\\xa4\\x77\\x4b\\xab\\x9a\\x37\\xf4\\xc0\\x83\\xdb\\x1f\\xca\\x2c\\xcd\\xcd\\xcd\\x1e\\xd2\\xd0\\xb7\\x78\\x62\\x72\\x78\\x45\\x5f\\x5b\\x35\\x1e\\x83\\x99\\x8a\\x1f\\x21\\x12\\xc3\\xab\\x21\\xe8\\x57\\x67\\x64\\xb8\\x7c\\x4e\\x9b\\x2d\\xcb\\x04\\x4d\\x16\\x1f\\x9f\\x94\\x9f\\x54\\x90\\xe0\\x1d\\x85\\xd9\\x97\\x4c\\x8b\\xd5\\x52\\x1d\\x72\\xda\\x83\\x56\\x63\\x5e\\xae\\x36\\xb7\\x2a\\xa4\\xd6\\x3a\\x62\\x0f\\x1b\\xfc\\x51\\x87\\x0e\\x5d\\x43\\x42\\xfb\\x3b\\xac\\x09\\x52\\x14\\x59\\x3e\\x20\\x76\\x0e\\xec\\x1d\\xe8\\x74\\x30\\x61\\x8d\\xa8\\x63\\x01\\xa2\\x47\\x14\\x45\\x43\\x0a\\xe3\\xc6\\x0f\\xef\\x08\\xf3\\xfd\\xae\\xd4\\xe9\\xc0\\xe2\\xd3\\x77\\x71\\xb7\\x73\\x7a\\xd0\\x73\\x8b\\x82\\x49\\x2d\\xce\\x68\\xcc\\xef\\xb4\\x8e\\x13\\x0c\\x61\\x52\\x78\\x45\\x20\\x73\\x8c\\x91\\xd9\\x18\\x8c\\xc0\\xbc\\xef\\x3e\\x3c\\xef\\xa5\\xdc\\x00\\x6e\\x6b\\x70\\x48\\x6e\\x52\\x52\\xba\\x23\\x1d\\xb3\\x10\\x79\\xfd\\xf8\\x5e\\x8e\\x5e\\x25\\x0e\\xad\\x85\\x78\\xe5\\x2d\\x49\\x43\\x83\\x06\\xf6\\x43\\xe5\\xa2\\xbf\\xbc\\x2a\\x94\\x97\\x10\\xef\\xf7\\x73\\x29\\x29\\x59\\x55\\xa1\\xf4\\xf4\\x14\\x93\\x5d\\x6f\\xd0\\x57\\x87\\x2c\\x26\\x83\\x51\\x24\\x96\\x6f\\x0e\\xae\\xac\\xf3\\x2d\\xab\\x2e\\x28\\xc1\\x9c\\xe0\\x5e\\xe3\\xeb\\x34\\xa2\\x22\\xb5\\x44\\xb8\\x8e\\x0e\\x4b\\xab\\xae\\x9a\\xe9\\xe8\\x82\\x8a\\xb9\\x58\\x07\\xd9\\xca\\xcb\\x88\\xf8\\x7b\\x95\\x92\\x00\\xba\\x63\\xfa\\x3d\\xf9\\x13\\x6f\\x1a\\x3b\\x6b\\x4e\\xa7\\x98\\xe8\\xa1\\x91\\x73\\x52\\x3b\\xae\\x0c\\xae\\xde\\x5f\\x27\\xac\\x9a\\xdb\\x54\\xde\\xbc\\xf6\\x8b\\xe7\\x16\\xdf\\x15\\xf0\\xf7\\xbd\\x7d\\x5d\\xdc\\x14\\x5b\\x69\\x7e\\x79\\x56\\x97\\x70\\xe9\\x43\\x6b\\x9b\\x89\\x53\\x26\\x76\\xa7\\x50\\xfe\\xdb\\xce\\xee\\x09\\x53\\xfa\\xf8\\x9a\\xa7\\xde\\xf6\\xd0\\xa6\\xc9\\x43\\xb3\\xba\\x8f\\x98\\xef\\x4d\\x63\\x7a\\x86\\x6c\\xcc\\x8f\\xdd\\x8f\\x71\\x28\\xc0\\x2d\\x0a\\xf6\\x86\\x66\\xad\\xb6\\xd0\\x9b\\x91\\x6d\\xca\\xb4\\x64\\x9a\\xcd\\x96\\x8c\\xf8\\x78\\xbb\\xc3\\x61\\x29\\x44\\xa5\\xc5\\xaa\\xb2\\x3c\\x3d\\x1e\\x49\\x53\\x12\\xde\\xeb\\x92\\xb8\\x6c\\x47\\x9c\\xcd\\x15\\xe7\\xaa\\x0e\\x65\\xc4\\x19\\x2d\\x8e\\x4e\\x77\\x06\\xfc\\x1d\\xe6\\x1c\\xd7\\x33\\xda\\x8a\\x2c\\xaa\\xb2\\x88\\x7c\\x11\\x6b\\x93\\xa5\\x18\\x01\\x29\\x37\\xcf\\x3b\\x05\\x47\\xf7\\xda\\x3a\\x5b\\xea\\xa2\\x0f\\x22\\xe6\\x4c\\xb7\\x2a\\x66\\x41\\x8f\\xfd\\x85\\x5d\\x93\\x70\\xb2\\xd3\\xa6\\x0a\\x6b\\xbf\\xfe\\x66\\x2b\\x58\\x12\\xb5\\x14\\xba\\x2b\\xea\\x87\\x0f\\xfe\\x10\\x31\\x14\\x3a\\xdb\\x36\\x04\\x9d\\x5d\\xbf\\x9c\\x1c\\x42\\xa9\\x2a\\xc6\\x4f\\xee\\x30\\x1a\\xfa\\xf6\\xee\\x8d\\x78\\x6c\\xbc\\xed\\xdf\\xf0\\xbf\\xe1\\xb1\\xc9\\x26\\xde\\x0f\\x9c\\x0e\\x75\\x5a\\x82\\x19\\x91\\x38\\x6e\\xe6\\x34\\x07\\x9f\\x9b\\xa3\\x4e\\xc8\\xb4\\x21\\x31\\x53\\xac\\x0e\\x75\\xcb\\x74\\xd8\\xe2\\xaa\\x49\\x54\\x13\\x53\\xc4\\x86\\x52\\x89\\x2b\\xa9\\x0c\\x45\\xd9\\x35\\x31\\x4d\\x88\\xe9\\xe4\\x75\\x0e\\x22\\xd3\\x15\\x25\\xba\\x42\\x53\\x3c\\x19\\x12\\x31\\xa2\\xbc\\xdc\\xe7\\x97\\x96\\x7d\\xf7\\x65\\x56\\x2f\\xbe\\x71\\x4e\\x8f\\xf7\\x9e\\x04\\x43\\xb2\\x76\\xa7\\x3f\\xdb\\xb8\\x20\\xb9\\x67\\x6d\\xc9\\x82\\x85\\x7d\\xff\\xf8\\x97\\x7c\\xe5\\x59\\x97\\x70\\xe1\\x6a\\x75\\xc5\\x8c\\xa9\\xe3\\xb2\\x7b\\x17\\x64\\x77\\x1b\\x3e\\x6b\\xc0\\x9e\\xc3\\xed\\x71\\xb7\\x57\\x8f\\xc8\\x2a\\xce\\x48\\xb6\\x66\\x56\\x37\\x8d\\x38\\x7c\\xfc\\xd6\\xd5\\x74\\xfd\\x78\\xf1\\x86\\xf4\\x22\\xee\\x93\\x0a\\x4b\\x58\\xc4\\x5a\\x5d\\xa3\\xc1\\x52\\xbd\\x4e\\xcb\\xf3\\x7a\\x62\\xaf\\x8b\\xf7\\x1b\\x23\\xe0\\x44\\x0d\\xa7\\x51\\x48\\x24\\x33\\x64\\xe9\\x7c\\x55\\x25\\xd2\\x7e\\xca\\xad\\xe0\\xed\\x80\\x34\\x71\\x24\\x4a\\x76\\x87\\x1d\\x70\\x81\\x3b\\xbc\\x68\\x3f\\xfc\\x92\\xd8\\x75\\x12\\xa6\\x03\\x1d\\x6f\\xbb\\x44\\x7d\\xba\\x42\\x8c\\x5f\\x80\\x5f\\x8d\\xeb\\xd5\\x71\\x71\\xdc\\xca\\x60\\x5f\\x97\\x36\\x4e\\xab\\x37\\x38\\x01\\xe7\\x44\\x1a\\x87\\xda\\x8e\\x65\\x2e\\x23\\x82\\x26\\x64\\xe6\\x89\\xa2\\x44\\xb2\\x8a\\x16\\x11\\xd3\\x70\\xa8\\xe1\\x75\\xf1\\x3a\\xb7\\x46\\x02\\xbc\\xcb\\x6e\\xb4\\x58\\x54\\x4e\\x9b\\xc1\\x6c\\xc7\\x1c\\xa7\\x56\\xe0\\xa8\\xf8\\xa7\\x78\\x22\\xc6\\x9f\\xaf\\x17\\x16\\x16\\x76\\xa2\\x5a\\x4e\\x36\\xd4\\x31\\xc0\\x8f\\x53\\xd0\\x98\\xc2\\x5a\\xe0\\xa3\\x57\\x20\\xdc\\xc0\\xdf\\xe9\\x01\\x15\\x6c\\x4c\\x93\\x37\\x96\\x2c\\x8d\\x07\\xc2\\x8a\\xac\\x7f\\xaf\\x96\\x13\\x3a\\x3d\\x22\\x35\\x4c\\x0b\\x7f\\x08\\x9f\\x0f\\x5f\\x80\\x45\\xe1\\x8b\\xd0\\xff\\x47\\x71\\xe7\\x67\\x0e\\xb6\\x87\\xf1\\xd8\\xee\\xc4\\x7d\\x24\\x47\\x10\\x43\\x83\\x69\\x78\\x50\\x0d\\xb8\\x17\\x7a\\x0d\\x84\\x46\\x49\\x32\\xeb\\x4d\\x06\\x2d\\x16\\x93\\x04\\x03\\xfe\\x4f\\x54\\x63\\x91\\x12\\x8d\\x22\\x2e\\x57\\xa2\\x4a\\x7b\\x16\\x98\\x32\\xd6\\xea\\x24\\x42\\x7a\\x99\\x2c\\xeb\\x8d\\x40\\x3e\\xff\\x4f\\x7d\\xc2\\x57\\xfa\\x1c\\x6f\\x40\\x0b\\xe4\\x4f\\xd9\\xd7\\x89\\x68\\x01\\xfa\\x02\\x94\\xcb\\xcf\\x82\\x7f\\xfe\\x51\\xc4\\x20\\xc6\\xdf\\x25\\x72\\x9d\\x50\\xc5\\x0f\\xe7\\xd2\\x48\\xac\\x7b\\xb7\\xe4\\xd0\\x71\\x69\\x3a\\xc9\\x22\\xa4\\xfb\\x7c\\x19\\x69\\x6e\\xc0\\xa7\\x18\\x2d\\x36\\x9b\\x71\\x54\\xc8\\x66\\xe2\\x93\\x3a\\x14\\x03\\x91\\x48\\xd7\\xe5\\x9d\\xaf\\x5e\\xf8\\x62\\xaf\\xfd\\xa7\\xb3\\x2b\\x16\\x1e\\xb3\\xad\\x43\\x2f\\x45\\x44\\x49\\xf4\\x05\\x1a\\x78\\x62\\xc5\\xad\\xdb\\x4c\\xc5\\xf6\\xc1\\xc3\\x42\\x7d\\xb5\\xf5\\x1b\\x80\\xdd\\x14\\x30\\x86\\x1a\\xd6\\x3c\\x9e\\xb4\\xb2\\x55\\xfe\\xf0\\xf4\\xae\\xaa\\xda\\x1b\\x57\\x06\\x87\\x03\\xd3\\xe2\\xec\\xe1\\x03\\xd3\\xef\\xc9\\x92\\xbf\\xe9\\x5d\\x2b\\x7f\\x51\\x51\\x32\\xba\\xff\\xf1\\x3d\\x70\\xcd\\x1f\\x09\\x8c\\x26\\x2d\\xc1\\x34\\x69\\x17\\x6e\\x77\\x31\\x5e\\x77\\xd9\\x89\\x92\\x4b\\x97\\xc5\\xf9\\xd3\\xfd\\xa4\\xe9\\x25\\xb9\\xb9\\x81\\xee\\xf9\\xf9\\xd9\\xa3\\x42\\xf9\\xb8\\x03\\x69\\x46\\x8b\\xdd\\x8e\\x3b\\x60\\x37\\xf1\\xde\\xeb\\x74\\xe0\\xda\\x10\\x5e\\xd7\\xed\\x47\\x87\\xb1\\x21\\xd9\\xcd\\x23\\x16\\xc1\\xb1\\x46\\x03\\x25\\x5d\\xfb\\x95\\xda\\xdc\\x67\\xe7\\x4e\\x73\\xc0\\x98\\x56\\x13\\xa4\\x3d\\x7b\\x4f\\x7d\\x67\\xaf\\x61\\x70\\x46\\xd5\\x8e\\xdd\\x62\\x97\\x1e\\x9a\\x5d\\x2d\\x9b\\x06\\xd7\\xca\\x7f\\xaf\\x4c\\xef\\x17\\x4c\\x26\\x7d\\xbc\\x7a\\xb2\\x30\\xf5\\x80\\xed\\x1e\\xe7\\xae\\x0d\\xee\\xde\\xe4\\x5c\\x4b\\x0f\\x2e\\xc3\\x27\\x45\\xce\\x24\\xa1\\x1c\\xee\\x0d\\x8e\\xf5\\x5f\\x87\\xdf\\x3d\\x81\\x17\\x61\\x0a\\x9e\\x37\\x2f\\xf1\\xd4\\xee\\xb1\\x79\\x48\\xfc\\x24\\x9f\\x5e\\x14\\x53\\x13\\x5d\\xe4\\xda\\xc6\\x57\\x46\\x0e\\x79\\xd0\\x41\\x84\\xd0\\x37\\x5c\\xf9\\x04\\xa6\\x09\\x89\\x35\\xd5\\x60\\x44\\xb6\\x20\\xdf\\xfa\\xdf\\x2f\\x6e\\xfc\\x5e\\xda\\x3c\\x72\\xfa\\x74\\x43\\xdd\\x8a\\x5a\\xdd\\xb2\\xfa\\xf5\\xb6\\xea\\x65\\x87\\xcc\\xb3\\xea\\x0a\\x52\\x6d\\x49\\xae\\xec\\x02\\xbd\\xd3\\xc4\\x4f\\xa9\\x0a\\xce\\x9c\\x9c\\x39\\x5c\\x2e\\x02\\x2f\\xf7\\xcd\\x5c\\x7c\\x53\\xb3\\x5c\\x8b\\x26\\x8c\\x9b\\x65\\x9c\\x6d\\xe8\\x37\\x68\\x55\\x29\\xd5\\xcd\\xdf\\xcc\\x3d\\x0d\\xd6\\x08\\xed\\x58\\x92\\x32\\x73\\x05\\x41\\xb7\\x51\\xc7\\xe9\\xa0\\x08\\xf1\\x22\\xd6\\x5f\\x51\\xf3\\xdf\\x71\\x46\\x98\\x0c\\xf3\\x60\\x03\\xe4\\xe1\\x65\\xd6\\xd6\\xf2\\x98\\xc0\\xf4\\xe4\\x96\\xaf\\x5f\\x02\\x9d\\xbc\\xa7\\x7e\\xe7\\x5c\\xee\\x90\\x57\\xa5\\x94\\x98\\x6c\\xa9\\x59\\x99\\xba\\x03\\xcb\\x0f\\xd9\\x26\\x08\\x9b\\x96\\x2d\\xbb\\x5a\\xaa\\x9e\\x24\\xf4\\xe8\\x87\\x06\\xb5\\x3d\\x70\\xc3\\x14\\x32\\x76\\xb9\\x78\\x9c\\x6c\\xfc\\x8f\\x78\\xec\\xba\\x93\\x28\\x3c\\x4c\\x17\\x0c\\x2e\\x41\\xc4\\x7f\\x8e\\x5b\\x92\\x11\\xb4\\x68\\xcd\\x1a\\x51\\x92\\xac\\x66\\x0b\\x34\\x7e\\xad\\x13\\x35\\x5f\\x89\\x57\\x98\\x25\\x55\\x44\\x80\\x2e\\x24\\x5b\\x90\\x35\\x6a\\x13\\x1d\\x31\\x30\\x2b\\x4c\\x8d\\x1b\\xbc\\xc0\\x31\\x6c\\xf9\\xbc\\xc4\\x45\\x2e\\x94\\x55\\xdf\\x3b\\x25\\x09\\x8e\\x54\\xef\\x5d\\x0a\\x76\\x84\\xcf\\x9e\\xd8\\x57\\x3f\\x4a\\x4d\\xea\\x71\\x73\\x4f\\x41\\x88\\xeb\\x49\\x20\\xf6\\xfc\\x0e\\x7d\\x82\\x1d\\x57\\x94\\x94\\x90\\xe8\\x14\\x61\\xfc\\xd7\\x5a\\xd3\\xb7\\xb4\\x26\\x3a\\x2d\\x1d\\x55\\x75\\xaa\\xcb\\x16\\x7b\\x26\\xc5\\xaa\\x2d\\x50\\xaa\\x3d\\x88\\xfa\\x66\\x79\\x6c\\x05\\xdd\\xfa\\xd6\\x8a\\xdd\\x61\\x56\\x6d\\xef\\x8c\\x38\\x58\\x49\\xaa\\xbf\\xb9\\xed\\x11\\x5f\\x5f\\x75\\x93\\xba\\x72\\x64\\x82\\xef\\xab\\xba\\x2a\\x0d\\xa5\\xab\\xd9\\xe0\\x32\\xf2\\xe3\\x76\\x10\\xdb\\x9e\\x60\\x30\\x09\\x60\\x42\\x0e\\xf5\\x3a\\x9d\\x5d\\x6b\\x96\\xb4\\x12\\x35\\xf0\\xb1\\x51\\x27\\x8b\\xba\\x2b\\x76\\xed\\x57\\x11\\x9d\\x99\\xbf\\x13\\x35\\xf7\\x47\\xd9\\x18\\xeb\\xb5\\xa6\\x3d\\xd9\\x00\\x5d\\xdd\\x0a\\xe2\\x6f\\x97\\xff\\x32\\xbc\\xea\\xc1\\xdb\\xe4\\x17\\x77\\xae\\xe8\\x39\\xae\\x6e\\xd3\\xa9\\x7c\\x74\\x1c\\x14\\xcb\\xcf\\x98\\x26\\x0d\\x59\\xba\\x05\\xfe\\x11\\x9e\\x31\\x66\\xe0\\x2c\\xf9\\x2a\\x3d\\x23\\x00\\x97\\xf9\\xb5\\xb8\\x3d\\x56\\x62\\x73\\x67\\xb1\\x72\\xc0\\x64\\xd0\\x23\\x41\\xd4\\xa8\\x24\\x13\\xd2\\x48\\xbc\\xcd\\x6a\\xb5\\x23\\xfd\\x15\\x8b\\x74\\xc5\\xa4\\x01\\x22\\x69\\x90\\xdf\\x1f\\x39\\x40\\xed\\x7c\\x7e\\xca\\x28\\x1f\\x22\\x56\\xb7\\x98\\x40\\x3b\\xcb\\x01\\x6e\\x90\\x33\\x80\\xa9\\x74\\xf2\\xcd\\x6e\\xd4\\xfd\\xca\\xcd\\x7d\\x96\\xb9\\x05\\x9b\\xef\\xab\\xf5\\x49\\xbc\\x1d\\xa8\\x97\\x62\\x4c\\xb0\\xaf\\x5a\\x1c\\xfe\\x1c\\xb7\\xe5\\x8f\\x6d\\x85\\xa3\\xa1\\x36\\xfc\\xcb\\xa6\\x42\\xc5\\xc6\\xbe\\xfd\\x67\\xee\\x29\\xd4\\x17\\xb7\\xc9\\xc6\\x15\\x06\\x5d\\x6a\\x95\\x59\\xa7\\xd2\\x41\\xa3\\xc9\\xe4\\x80\\x76\\x9d\\x84\\xe5\\x2e\\xd5\\x15\\x1e\\x72\\xdf\\x92\\xb3\\xdc\\xe8\\x99\\x65\\xcc\\x4e\\x17\\xc0\\xa8\\xe9\\x24\\x77\\xb8\\xfd\\x56\\x62\\x4d\\x8e\\x07\\xc8\\x00\\x2b\\x0b\\x33\\xed\\x45\\xfd\\x66\\xf4\\xbe\\x6d\\xe5\\x08\\x87\\x28\\xc5\\x81\\xf4\\xcd\\x72\\x5d\\x75\\x68\\xca\\x53\\x9a\\x06\\x71\\x52\\x33\\xfc\\x49\\x1e\\xdb\\x32\\xcc\\x5c\\x00\\xf3\\xc2\\xc2\\xcd\\x8d\\x24\\x86\\xc8\\x6b\\xe8\\x25\\xf0\\x2c\\x8d\\x0b\\xac\\xa1\\x76\\xc1\\x4f\\xa0\\x97\\x90\\x8f\\x3e\\x0b\\xf4\\xf9\\x53\\x1e\\x41\\x28\\x5c\\x30\\x8b\\xd2\\x67\\x71\\xc3\\x50\\xdd\\x63\\x9c\\xb6\\xbd\\xe5\\x54\\x4b\\x4b\\x85\\xf6\\x1c\\x86\\x6b\\xd6\\x30\\xb8\\x7a\\x35\\x83\\xab\\x56\\x31\\xb8\\x72\\x25\\x81\\xe7\\x4f\\xad\\x58\\xc1\\x9e\\x97\\x2f\\x67\\x70\\xd9\\x32\\x02\\x83\\xa7\\x96\\x2e\\x65\\xcf\\x4b\\x96\\x30\\xb8\\x78\\x31\\x83\\x37\\xde\\xc8\\xe0\\xa2\\x45\\x2c\\xdd\\xc2\\x85\\xec\\x79\\xc1\\x02\\x06\\x9b\\x9b\\x19\\x6c\\x6a\\x62\\x70\\xfe\\x7c\\x56\\xcf\\xbc\\x79\\xec\\x79\\xee\\x5c\\x06\\xe7\\xcc\\x61\\xf0\\x86\\x1b\\x58\\x39\\xb3\\x67\\xb3\\xe7\\xc6\\x46\\x06\\x67\\xcd\\x62\\x70\\xe6\\x4c\\x06\\x67\\xcc\\x60\\xe5\\x4c\\x9f\\xce\\xe0\\xb4\\x69\\xec\\xfd\\xd4\\xa9\\x0c\\x4e\\x99\\xc2\\xca\\x99\\x3c\\x99\\x3d\\x4f\\x9a\\xc4\\x60\\x43\\x03\\x83\\x13\\x27\\x32\\x38\\x61\\x02\\xcb\\x3f\\x7e\\x3c\\x83\\xe3\\xc6\\xb1\\xf7\\x63\\xc7\\x32\\x18\\x0a\\x31\\x38\\x66\\x0c\\xfb\\xbd\\xbe\\x9e\\x3d\\xd7\\xd5\\x31\\x58\\x5b\\xcb\\xea\\x19\\x3d\\x9a\\x3d\\xd7\\xd4\\x30\\x38\\x6a\\x14\\x83\\xd5\\xd5\\x0c\\x56\\x55\\x31\\x38\\x72\\x24\\x2b\\xa7\\xb2\\x92\\xc1\\x11\\x23\\x18\\x1c\\x3e\\x9c\\xc1\\x61\\xc3\\x58\\xba\\xa1\\x43\\x19\\x1c\\x32\\x84\\xc1\\x8a\\x0a\\x06\\x07\\x0f\\x66\\x70\\xd0\\x20\\x06\\x07\\x0e\\x64\\x70\\xc0\\x00\\x06\\xfb\\xf7\\x67\\xb0\\x5f\\x3f\\x56\\x5e\\xdf\\xbe\\x0c\\x06\\x83\\xec\\x7d\\x79\\x39\\x83\\x7d\\xfa\\x30\\xd8\\xbb\\x37\\xfb\\xbd\\x57\\x2f\\x06\\x7b\\xf6\\x64\\xb0\\x47\\x0f\\x06\\xcb\\xca\\x18\\x2c\\x2e\\x66\\xb0\\xa8\\x88\\x41\\xbf\\x9f\\xc1\\xc2\\x42\\x06\\x0b\\x0a\\x18\\xcc\\xcf\\x67\\x30\\x3b\\x9b\\xc1\\xcc\\x4c\\x06\\x33\\x32\\x18\\x4c\\x4f\\x67\\x30\\x2d\\x8d\\xc1\\xd4\\x54\\x06\\x7d\\x3e\\x0a\\x83\\xea\\x94\\x94\\x0a\\x2d\\x89\\x90\\x4c\\xdf\\xba\\xdd\\x0c\\xc6\\xc7\\x33\\x18\\x17\\xc7\\xa0\\xc3\\xc1\\xa0\\xdd\\xce\\xa0\\xd9\\xcc\\xa0\\xc9\\x44\\xe1\\x49\\x49\\xaa\\xc8\\xfe\\xdf\\xfd\\x87\\xd7\\xd9\\xfb\\x3c\\x02\\xbf\\xd3\\x75\\xf6\\xb9\\x73\\x18\\x3a\\x44\\xd6\\x59\\x50\\x59\\x67\\x41\\x65\\x9d\\x05\\x95\\x75\\x16\\x54\\xd6\\x59\\x50\\x59\\x67\\x2d\\xff\\x3f\\xad\\xb3\\xa0\\xb2\\xce\\x82\\xca\\x3a\\x6b\\xf9\\x0f\\xeb\\x2c\\xa8\\xac\\x33\\x4e\\x59\\x67\\x41\\x65\\x9d\\xb5\\xfc\\x1f\\xae\\xb3\\xa0\\xb2\\xce\\x82\\xca\\x3a\\x0b\\x2a\\xeb\\xac\\x45\\x59\\x67\\x2d\\xca\\x3a\\x3b\\xaf\\xac\\xb3\\xa0\\xb2\\xce\\x82\\xca\\x3a\\x6b\\x51\\xd6\\x59\\x50\\x59\\x67\\xc1\\xff\\xcb\\xeb\\xac\\xe5\\xff\\xd2\\x3a\\x3b\\x1f\\x5d\\x67\\xff\\x5f\\xd7\\x55\\x69\\x29\\x83\\x81\\x00\\x83\\x25\\x25\\xd7\\x5f\\x6f\\x6c\\x7d\\xb5\\x44\\xd7\\x57\\x5e\\x1e\\x83\\xdd\\xbb\\x5f\\x7f\\x9d\\xb1\\x75\\xd5\\x72\\x8a\\x2c\\x27\\xf2\\xec\\xf5\\x32\\xe8\\xf1\\x30\\x98\\x9c\\xcc\\x60\\x52\\x12\\x83\\x6c\\xc5\\xb5\\x9c\\x4a\\x48\\xf8\\x9f\\x57\\x9e\\xd3\\xf9\\x3f\\xad\\xc0\\x96\\xc8\\x0a\\x3c\\x65\\x34\\x32\\x68\\x30\\x30\\xa8\\xd7\\xb3\\xf5\\x6d\\xd1\\xe9\\xf0\\xfa\\xd6\\x6a\\xf1\\x87\\x46\\x83\\x3f\\xd4\\xea\\xff\\xed\\x95\\x1a\\xfd\\x47\\xcc\\xa6\\xd5\\x78\\xcd\\xfe\\x42\\xe5\\x46\\x5f\\xd0\\x28\\xf2\\xbc\\x5a\\x8d\\x59\\x1d\\x03\\x84\\x52\\x0b\\x09\\xf4\\x10\\x7f\\xa1\\x4c\\xb9\\x9d\\x68\\x66\\x86\\x5e\\x92\\x0f\\x73\\xee\\x4e\\x1f\\xe5\\xaa\\xc0\\x2f\\xe9\\x21\\xc9\\x3f\\x37\\x47\\x9f\\x20\\x5c\\x78\\x3e\\x25\\x63\\xfa\\x98\\xba\\xe9\\xa5\\x03\\x6e\\xc5\\x65\\x36\\xf1\\x4b\\xe1\\x28\\xe1\\x27\\x5c\\x90\\x27\\xa8\\x47\\x1a\\x4e\\xd2\\x48\\x06\\x23\\xe2\\x5b\\xb4\\x1a\\x2e\\xcf\\x1f\\x7f\\xa1\\x30\\x7a\\xa0\\xc8\\xce\\x76\\x03\\x2c\\xbe\\x40\\xa0\\xb0\\x04\\xfc\\x96\\x9d\\x6a\\xee\\x5f\\xbb\\xac\\xd1\\x54\\x30\\x58\\x18\\x91\\x9e\\x5d\\x5b\\x57\\x31\\x63\\x49\\x6d\\x05\\x69\\x67\\x0b\\x2e\\x73\\x6a\\xa4\\x4c\\x0d\\xd2\\x8b\\x48\\x34\\x18\\x25\\xb1\\x45\\xcf\\x71\\x79\\x85\\xf1\\xaf\\x77\\x2a\\x93\\xd9\\x91\\x48\\xec\\xa8\\x18\\xc6\\xf5\\xaf\\x5b\\x3d\\xdd\\x5c\\x38\\x28\\xc7\\xc7\\x2f\\x45\\xa3\\x86\\xcc\\x5c\\x5c\\x3b\\xb4\\x2c\\x2d\\x8b\\xf0\\x52\\x17\\x30\\x6f\\x67\\xc4\\x7d\\x77\\x72\\xdd\\x83\\x76\\x27\\xc7\\xe9\\x74\\x2e\\xc9\\x62\\x89\\x73\\x20\\x64\\xd4\\x6a\\xd5\\xc6\\x2f\\xb9\\xaf\\x08\\x93\\xe9\\xa7\\x6a\\x74\\x85\\xa1\\x53\\x4c\\xb4\\x23\\xfe\\x86\\x3b\\x79\\x30\\x31\\x02\\xc0\\x0d\\x8c\\xcf\\x1e\\x3d\\xaf\\xef\\xee\\xad\\x05\\x0b\\x53\\xf6\\xae\\x68\\xd9\\x51\\x7f\\x70\\x5e\\x3e\\xb8\\x0c\\xa6\\xe8\\x27\\xbe\\x38\\xee\\xf8\\x4d\\xf6\\xa9\\x0b\\x76\\xac\\x99\\xf7\\xdd\\x6a\\x5e\\xf1\\x31\\x78\\x2f\\xae\\x3f\\x15\\xd7\\x1f\\x87\\xf9\\x26\\x27\\x67\\xb5\\xf2\\x2e\\xc0\\x83\\x78\\x9d\\xce\\x0d\\x1c\\x0e\\xa3\\x5a\\xaf\\x57\\x2b\\x2d\\xc0\\x82\\xab\\xd2\\x82\\xe8\\x2d\\x51\\xdc\\x06\\x7a\\x6e\\xd3\\xe1\\x0b\\x41\\xb1\\x18\\x0c\\x20\\x30\\xb8\\x60\\x6a\\xb3\\x7f\\xfa\\xce\\x19\\xf3\\xd7\\xc1\\xe5\\xea\\x95\\xa3\\x67\\xf7\\xad\\xac\\xc8\\xf6\\x0c\\x02\\x97\\x7f\\x93\\x6e\\x5e\\x55\\xf3\\xd4\\xa6\\x7e\\xcd\\xb3\\x35\\x1b\\x43\\xaf\\xd5\\x84\\x26\\xea\\xe5\\xbb\\x29\\x7f\\xb4\\x9e\\xbb\\x8b\\x9f\\xc1\\x1f\\xc3\\xfc\\x52\\x72\\x97\\x67\\x2f\\x6d\\xe7\\x74\\xee\\x5b\\x7e\\x10\\x7f\\x8e\\x13\\x39\\x57\\x50\\xc3\\x41\\x1e\\x49\\x2a\\x28\\xf2\\x00\\x4f\\xe6\\xc5\\x42\\xaa\\x79\\x21\\x72\\x9f\\x1a\\xf8\\x80\\x9f\\x1f\\xf4\\x80\\x7c\\x5a\\x3e\\xf7\\x00\\xb8\\xeb\\xe8\\xb7\\xc8\\xd0\\xf6\\x23\\xfa\\xf3\\x35\\xf9\\x45\\x1e\\xe2\\xfc\\x02\\xea\\x9a\\x1f\\xf8\\xd5\\xc0\\x0f\\x1f\\x38\\x2a\\xcf\\x78\\x00\\x54\\x80\\x61\\x0f\\x7c\\x8b\\xfe\\x8c\\xf3\\xd3\\x7b\\x0a\\x23\\xf8\\x13\\xf0\\x4b\\xe1\\x2f\\x9c\\x9a\\x7b\\x34\\x38\\x02\\xcb\\xf6\\x2a\\x24\\x22\\x0d\\x04\\x40\\x9b\\xaa\\x05\\x3f\\x68\\x01\\xe4\\xb4\\xf9\\x78\\x05\\x4d\\xd2\\x36\\x69\\x85\\x79\\x26\\xfc\\xad\\x4a\\x8b\\x3c\\xf8\\x55\\x15\\x7e\\xf5\\xa9\\x56\\xe8\\xf8\\x75\\x97\\xf6\\x07\\xad\\xd4\\x87\\xa4\\x68\\xd2\\xb6\\x68\\x0f\\x6a\\x05\\xba\\x10\\x97\\x28\\x8c\\xde\\xf4\\x1b\\xd8\\x82\\xf4\\xd5\\x85\\x2a\\x8e\\x6b\\x81\\x87\\xe6\\x6f\\xd1\\xf2\\x3b\\xb5\\x80\\x14\\x31\\x49\\x8b\\xb4\\x08\\xa9\\xa1\\x7a\\xf7\\x38\\x01\\x72\\xec\\x5c\\x1a\\x90\\x68\\xde\\xcd\\xcd\\x78\\x29\\x2d\\x98\\x38\\xa1\\x19\\xff\\x35\\x4c\\x68\\x8e\\x32\\xb7\\x7e\\x65\\xc1\\x64\\xf8\\x04\\x1f\\xe6\\xab\\xe1\\x97\\xfc\\xf8\\xc7\\xa1\\xfc\\xef\\x45\\x3c\\x48\\xba\\xc0\\xbf\\x68\\x7b\\xf0\\x41\\x1b\\x60\\xf7\\x68\\xb8\\x2d\\xfc\\x09\\x94\\x42\\xfb\\xb7\\x3f\\xd8\\x04\\x38\\x81\\x47\\x02\\x52\\x69\\x54\\x5a\\x8e\\xd4\\x6c\\xa2\\xcd\\xdf\\xa5\\x3d\\xaf\\x7d\\x13\\x37\\x5f\\x85\\x3b\\xe8\\xc1\\x4d\\x7f\\x93\\xf4\\x8c\\x35\\xf0\\x53\\x2d\\xff\\xbd\\x16\\x90\\x04\\x30\\x8f\\x65\\x80\\xa5\\x6f\\x6a\\xc1\\x7c\\x2d\\x50\\xc6\\xe2\\x13\\x2d\\x68\\xd1\\x82\\x64\\x2d\\x38\\xaf\\x05\\x0d\\xac\\x33\\x50\\x85\\x24\\x9e\\xe3\\x71\\x57\\xc8\\xf2\\x89\\x76\\x85\\x44\\x60\\x5d\\xb0\\x60\\xc1\\x44\\x1a\\x4e\\x87\\x74\\xa9\\xc3\\xc6\\x91\\x49\\x0b\\x01\\x3f\\x0d\\xd7\\x00\\xd5\\x17\\x4e\\xf3\\x93\\x5f\\x86\\x6d\\x4d\\x3c\\x7f\\x02\\x18\\x48\\x5f\\xc8\\x1a\\xbd\\x93\\x6f\\x81\\x43\\x31\\x3e\\x23\\xce\\x76\\x16\\x01\\x81\\x07\\x2d\\x88\\xd0\\x90\\x8b\\x74\\x6d\\x52\\x3d\\x8b\\x1f\\xaa\\x9b\\xfb\\x36\\xf3\\x2d\\x60\\x38\\x95\\x65\\xf8\\x77\\xe0\\xeb\\x42\\x0d\\x4e\\x7f\\x3c\\x38\\x1d\\xf0\\x08\\x09\\xf9\\xc2\\x24\\x01\\x96\\x0b\\xf3\\x05\\x28\\x04\\x97\\xae\\xa8\\xf0\\x08\\xc0\\x28\\x80\\xd9\\xc7\\x85\\x67\\x84\\x4f\\x84\\xef\\x05\\x7e\\x92\\xb0\\x4b\\x80\\x46\\x21\\x59\\x80\\xf7\\x08\\xed\\x02\\xf4\\x08\\x41\\xa1\\x4a\\x68\\x12\\x5a\\x04\\x01\\x27\\xfb\\x84\\xbc\\x6a\\x11\\x1e\\x25\\x29\\x40\\xd9\\x71\\x9c\\x03\\x56\\x91\\xe2\\x68\\xfa\\xef\\x05\\x70\\x5e\\x00\\x02\\x99\\xdf\\xc4\\xb8\\xc4\\x8a\\x37\\x48\\xda\\x20\\xcd\\x7a\\x10\\xe7\\x20\\xd9\\x25\\x04\\xe0\\xf6\\x10\\x46\\xca\\x6c\\x36\\x14\\xd9\\xd1\\xa1\\x88\\x0e\\x4a\\xb6\\x32\\x20\\x2c\\x5e\\x15\\x6c\\x0d\\xff\\x2d\\x1e\\xa6\\xf3\\xef\\x10\\xdb\\x2d\\x30\\x84\\x3f\\x0d\\xc9\\xbd\\x70\\x01\\xf7\\x9d\\x43\\xa2\\x24\\x74\\xe9\\x7b\\xb1\\xd5\\x6f\\x97\\xc0\\x90\\x75\\x6f\\xfc\\xc4\\x9f\\xb6\\x01\\x94\\xf8\\x07\\xce\\xe3\\xc5\\x79\\x16\\x28\\x79\\x20\\x2f\\x4a\\x5c\\x97\\x3c\\x19\\xc5\\x7e\\xab\\x1d\\xda\\x7e\\x7a\\x63\\x1d\\x7f\\xfa\\x8f\\x44\\x39\\x6c\\xc3\\x63\\xd6\\x20\\xcf\\x06\\xa6\\xf6\\x33\\x78\\xcc\\xac\\x67\\x00\\xe2\\x05\\x32\\xc6\\x79\\xd1\\x2c\\x56\\x3c\\xc4\\x6f\\x36\\x07\\x9b\\x71\\xa2\\xe1\\x4c\\x36\\x3b\\x28\\x7f\\x03\\x3e\\x6e\\xbf\\x81\\xa6\\x47\\x02\\x00\\x3c\\xfe\\x96\\x77\\x91\\xd1\\x12\\xd6\\x0f\\xf0\\x62\\xf8\\xc3\\x38\\x98\\x26\\x7f\\x43\\x6d\\xd0\\x12\\x71\\xd6\\x79\\xed\\x6b\\x71\\x9b\\xac\\x67\\x78\\x20\\x89\\x5c\\xa7\\xf2\\x59\\x93\\x80\\x09\\x37\\x49\\x9e\\xcd\\x9a\\x84\\xf3\\x64\\xe2\\x3c\\xcb\\x94\\x3c\\xa4\\xef\\x9d\\xf3\\x58\\x69\\xd7\\x33\\x71\\xcf\\xe5\\xd9\\xac\\xe7\\x44\\xae\\x1e\\x80\\x33\\x7e\\xc7\\xf7\\xc0\\xad\\x91\\xb8\\x64\\xbc\\x4b\\x70\\x04\\x1f\\xd5\\x2a\\x4c\\x1d\\xa8\\xd9\\x6f\\x9e\\x3f\\x96\\xa0\\xe3\\x45\\x44\\x50\\x0f\\x7c\\xb7\\x53\\xdf\\xf3\\x2f\\xf8\\x8f\\xef\\xf1\\xfe\\xfb\\x57\\x5f\\x7a\\xff\\x7d\\x3c\\x86\\x4e\\x34\\x55\\x29\\x07\\xe3\\x1c\\xc7\\xf1\\x02\\xcb\\x4f\\x72\\x47\\xb2\\x82\\xef\\x6e\\xd6\\xf7\\x22\\x59\\x48\\x5b\\x1f\\xe4\\xc6\\x83\\xed\\xe0\\xfd\\xff\\xb6\\x37\\x31\\x7f\\x16\\x91\\xbd\\x49\\x0a\\x60\\xc1\\xb4\\x20\\x3b\\xd5\\x34\\xb0\\x76\\xd9\\x6c\\x93\\x7f\\x20\\xe8\\x9e\\xde\\xbd\\x76\\xec\\x90\\xa9\\x0b\\x61\\xad\\xd0\\x97\\xad\\xe1\\xce\\xe5\\x72\\x92\\xa4\\xd1\\x18\\x8c\\x5a\\x4d\\x0b\\xe2\\x3b\\xca\\x25\\x7b\\x28\\x35\\xcc\\x72\\xe0\\xcd\\x89\\x5a\\x2f\\x49\\x06\\x3c\\x23\\x31\\xe5\\x0a\\xd7\\x94\\x3b\\x9f\\x7b\\x04\\xbc\\x07\\x64\\x3c\\x4a\\xa9\\x78\\x7f\\x46\\x08\\xe0\\x77\\x2a\\xb5\\x88\\xe5\\xd9\\x16\\x8c\\xab\\x78\\x7f\\x36\\x2b\\x23\\xc5\\x76\\xa6\\x34\\x6f\\xb1\\xbf\\xd8\\x6f\\xf7\\x83\\xf7\\xe4\\xbd\\x2b\\x9a\\x57\\x3c\\x32\\xe7\\x8b\\x2f\\xba\\x96\\xe3\\x09\\x1a\\x20\\x26\\x30\\x12\\x52\\xab\\x80\\x20\\x48\\x74\\xae\\x94\\x62\\x94\\x2b\\x14\\x3e\\xbb\\xaf\\xd8\\x57\\xec\\x05\\xef\\xe1\\x12\\xc0\\x4c\\x70\\xeb\\x17\\x5f\\xcc\\x51\\xca\\x38\\x02\\xde\\x23\\xea\\x61\\x72\\xc7\\x57\\x83\\x79\\x04\\x4c\\x11\\x45\\xa4\\xd3\\x6b\\x44\\x20\\x88\\x82\\xfa\\x3c\\x9d\\xf5\\x88\\x8d\\x53\\xe4\\x48\\x22\\x5a\\x9e\\xd2\\x2e\\x5c\\x26\\x29\\xd6\\xb3\\x6a\\xd5\\x9c\\x95\\x2b\\x19\\x8e\\x5e\\x01\\x56\\x38\\x0e\\x1c\\xa4\\x38\\xca\\x01\\x01\\x53\\x02\\xb2\\x37\\x74\\xe0\\x68\\xb1\\x17\\x8e\\x0b\\xef\\x82\\x4d\\xc0\\xba\\x83\\xb6\\x63\\x1d\\xa6\\x97\\x6e\\xe1\\x4b\\xcc\\xb3\\x64\\x04\\xad\\x98\\x6c\\xe8\\xd5\\x78\\xb0\\xd5\\x88\\x43\\xb7\\x8f\\xe3\\xa4\\x9d\\x21\\x4c\\xd2\\xb2\\x3b\\xdd\\xac\\x22\\xc7\\x20\\xe9\\x19\\x7e\\xea\\x80\\xcb\\x8f\\x47\\xfc\\xd8\\xc6\\x43\\x70\\x11\\x9a\\x59\\x73\\x2a\\x78\\xa3\\xff\\x19\\xfe\\xc4\\x43\\x37\\xd5\\x56\\x1e\\xd9\\xcd\\xee\\x92\\x83\\x3a\\xc1\\x03\\x73\\x08\\x0d\\x03\\xe6\\x60\\x22\\xe4\\x30\\x31\\x8e\\x13\\xca\\x84\\x21\\x02\\xfa\\x5c\\x00\\xcf\\x09\\x6f\\x0b\\xb0\\x55\\x00\\xb7\\x0a\\x87\\x31\\x81\\xc2\\xcc\\x5d\\x50\\x3b\\x77\\x61\\x05\\x14\\x2c\\x02\\xbc\\x01\\xd0\\x67\\xf5\\xf4\\xd9\\x15\\x2f\\x08\\xef\\x28\\xbf\\x9a\\xc7\\x4f\\xa9\\x28\\x12\\x06\\x10\\x42\\x05\\x78\\xc1\\xa6\\xbc\\x1d\\x51\\x53\\x57\\x71\\xaf\\xd0\\x2a\\xc0\\x5d\\x02\\x18\\x20\\x4c\\x13\\x16\\x09\\x1b\\x04\\x3e\\x5f\\x00\\x36\\x21\\x15\\x23\\xaf\\x00\\x36\\x08\\xe4\\xd7\\x77\\x84\\xcf\\x85\\x9f\\x05\\xb1\\x49\\x00\\xa9\\xb8\\x84\\xd1\\x38\\x1d\\x6f\\x22\\xa5\\x80\\xc0\\xcf\\x02\\x78\\x54\\x38\\x2f\\x40\\x9a\\x9e\\x52\\x34\\x57\\x4e\\x41\\x05\\xce\\x08\\x27\\x09\\xe4\\x87\\x37\\x85\\x1f\\x04\\x4c\\x18\\xdf\\x64\\x3f\\x9e\\x72\\xb9\\x2b\\x68\\x22\\x83\\xc1\\x5c\\xc1\\xc8\\x1c\\x57\\x83\\xc9\\x1c\\x57\\x4e\\xe9\\x5c\\x36\\xa6\\x69\\x0d\\x0b\\xb2\\x23\\x44\\x5f\\x09\\xc1\\x4d\\x9e\\xb3\\x17\\x64\\x93\\xdf\\xe9\\x4b\\x05\\xb9\\x88\\x5d\\x15\\xa8\\x4b\\x69\\x4d\\x11\\x3c\\xd4\\x37\\xf7\\xab\\xfc\\x2e\\xf8\\x88\\xb8\\x90\\xc4\\xa8\\xe6\\x2a\\x83\\x85\\x16\\x51\\x74\\xe9\\x38\\x2e\\x4e\\x6d\\xdc\\x1e\\xca\\x57\\x83\\x49\\xea\\x47\\xd5\\x3f\\xa8\\x91\\x51\\x9d\\x8c\\x37\\x4d\\x62\\xa8\\x62\\xdf\\x1e\\x32\\x21\\x0f\\x0a\\x22\\xfc\\xff\\xa3\\xe8\\x07\\x84\\x30\\xbe\\x34\\x2f\\xa0\\xe6\\x71\\x74\\x1f\\xcd\\x8e\\x9d\\x30\\xc5\\xe1\\x10\\x39\\xd7\\x93\\x22\\xf6\\x7f\\xfe\\xc2\\x12\\xf8\\xc8\\xcd\\xd3\\xa6\\xdd\\x7c\\xf3\\xb4\\xa9\\x3b\\xe7\\x0c\\xef\\xd1\\x73\\xf8\\xf0\\x9e\\x3d\\x86\\x0b\\xeb\\xc8\\x8b\\xe9\\xdb\\x77\\x4c\\xeb\\x31\\x7c\\x64\\x20\\x30\\xaa\\x8a\\xe2\\xc8\\x60\\xb9\\x16\\x10\\xeb\\x13\\xa2\\x31\\x8d\\xd7\\x60\\xa2\\x24\\x19\\x11\\xb2\\x58\\x8d\\x62\\xb2\\x88\\x5b\\x23\\x72\\xfa\\xed\\x21\\x0f\\x4e\\xc6\\xe5\\x4d\\xc0\\x0d\\xa0\\xd6\\x3f\\x91\\x23\\xa4\\x88\\x69\\x19\\x41\\x95\\xc8\\x55\\xa7\\xdf\\xc7\\x8c\\x5d\\x30\\x6e\\xe3\\x84\\x69\\x99\\xe9\\x25\\xbd\\x8c\\xfd\\xe5\\xda\\x89\\x43\\x6b\\x76\\xf8\\xf2\\x57\\x95\\xa7\\xe4\\x39\\x1a\\xdd\\xb4\\xbe\\x62\\x8c\\x93\\x85\\xc2\\x53\\x9c\\x03\\xf4\\x08\\xce\\x97\\x54\\x2a\\xa7\\xc5\\x6a\\x75\\x2d\\x72\\x01\\x87\\x6b\\x90\\x6b\\x86\\x0b\\xbd\\xe4\\x7a\\xcf\\xf5\\xa5\\x0b\\xb5\\xba\\xc0\\x1e\\xd7\\xfd\\x2e\\xb8\\xc1\\x05\\x66\\xb8\\x16\\xbb\\x60\\xaa\\x6b\\xb4\\x0b\\x8a\\x2e\\x87\\x0b\\x36\\xfe\\xec\\x02\\x24\\x09\\x7c\\xc1\\x05\\xee\\x77\\x9d\\x71\\xc1\\x5b\\x5d\\x60\\x91\\x6b\\x83\\x0b\\x4e\\x71\\x81\\x41\\xae\\x3a\\x17\\x2c\\x22\\x65\\xa5\\xbb\\x20\\x66\\x12\\x7f\\x75\\x81\\xcf\\x5d\\xe0\\x6d\\x17\\xc0\\x69\\xcf\\xb8\\x80\\x8b\\x60\\xd5\\xa0\\xaa\\x9a\\x8a\\x3a\\x5c\\x13\\x1c\\xe0\\x02\\xe9\\xae\\x12\\x17\\xb4\\xb9\\x80\\x48\\x93\\xfe\\x83\\xa4\\x7b\\xc7\\x05\\x4f\\xba\\x30\\x17\\xed\\xda\\xe5\\x3a\\xe8\\x42\\xd3\\x70\\xcb\\x60\\x95\\x0b\\x14\\xb9\\x06\\xb8\\xa0\\x07\\x73\\x9d\\x2e\\x9b\\x0b\\x96\\xfd\\x40\\x8b\\xc2\\x12\\x56\\xa0\\x82\\xc0\\xa0\\x3e\\xa3\\xa0\\xe2\\xbc\\xeb\\x4d\\x17\\x84\\x8f\\x2a\\xbf\\x38\\xdc\\xec\\x17\\xa3\\xce\\x54\\x61\\x74\\x25\\xbb\\xa0\\x45\\xd0\\xb6\\x98\\x24\\xc2\\x43\\x14\\xc6\\x5f\\x2c\\x2c\\x04\\x18\\x9f\\x9a\\x1b\\x9a\\x29\\x3b\\x44\\xff\\x35\\x44\\x71\\x2a\\x9b\\x7e\\x2e\\xe8\\xf8\\x37\\x31\\x1a\\xf4\\x3d\\xe6\\xea\\x63\\x4a\\x77\\x88\\x59\\x6a\\x1f\\x75\\x94\\x0a\\xe9\\x6a\\x85\\x30\\xd0\\x6d\\xf8\\xc0\\x60\\xf2\\xb4\\x6e\\x63\\xf3\\x96\\xd5\\xe4\\x0c\\x1f\\xd8\\x27\\x69\\x7a\\xe6\\x78\\x5f\\x70\\x2c\\x7f\\x22\\x2d\\x37\\x6d\\xc9\\x9d\\x8b\\xc8\\xe7\\xdc\\xe9\\x3d\\xc8\\x9e\\xe2\\xc4\\x73\\x10\\x14\\x3e\\xc7\\xfb\\x90\\x16\\x4c\\x0a\\x26\\x88\\x5a\\x04\\x31\\x7f\\x03\\xb5\\x48\\xa7\\x52\\xab\\xf5\\x01\\x3d\\x48\\xd7\\x03\\x41\\x6f\\xd7\\xc3\\x55\\x7a\\xaa\\x21\\x58\\x59\\xa1\\x27\\xbd\\x89\\x9b\\xd3\\x54\\xf1\\x9e\\x1e\\xbc\\xac\\x07\\xf7\\xeb\\xcf\\xe8\\xe1\\x66\\xfd\\x1d\\x7a\\x38\\x43\\xbf\\x58\\x0f\\xf1\\xaf\\x5c\\x30\\x71\\xd2\\xd4\\x0a\\xab\\x1e\\xf0\\x7a\\xf0\\x99\\xfe\\x27\\x3d\\xe4\\xce\\xeb\\xdf\\xd4\\xc3\\x93\\x7a\\xb0\\x5b\\x7f\\x2f\\x4b\\x71\\x0a\\xaf\\x67\\x0c\\x83\\xc1\\x9c\\x11\\xa3\\x2a\\x3e\\xd7\\x83\\xb7\\xf5\\xe0\\xbc\\x1e\\xe0\\x14\\xbb\\xf4\\x07\\xf5\\x70\\x8a\\x7e\\x81\\x7e\\x9d\\x1e\\x0d\\xd0\\x8f\\xd6\\xc3\\x7c\\x3d\\x80\\x7a\\x8b\\x3e\\x45\\x8f\\xfa\\x90\\x06\\x04\\x13\\x8b\\x7b\\x93\\x8a\\x4f\\xea\\x9f\\xd3\\xc3\\x0d\\x7a\\x52\\x20\\x5a\\xac\\x07\\xd3\\xf4\\x60\\x94\\x1e\\x00\\x9a\\xc2\\x90\\x91\\x5d\\xf1\\x8e\\xfe\\x73\\xfd\\xcf\\x7a\\x84\\xcb\\xa4\\xad\\xed\\x11\\x97\\x52\\xc1\\xe9\\x4d\\x7a\\xa8\\xbc\\x3f\\x48\\x9a\\x02\\x9a\\xf4\\x2d\\x7a\\x08\\x27\\xe9\\x81\\x51\\x9f\\xa7\\x2f\\xd7\\x63\\xea\\xae\\x82\\x02\\xbc\\x7d\\x9c\\xd6\\x28\\xe4\\x09\\xe5\\xc2\\x1a\\xcc\\x3d\\x09\\x02\\x46\\xf6\\x0e\\xb6\\x95\\x4d\\x0d\\x9e\\x96\\xec\\x06\\x36\\x21\\xd9\\x91\\x19\\x99\\x40\\x66\\xb1\\x19\\xcf\\xe3\\x02\\x4a\\x18\\xf0\\x27\\xfd\\xc9\\xec\\xef\\xe4\\xcf\\xd1\\x1a\\xb0\\x62\\x6a\\xe0\\xa7\\x9f\\x4e\\xd4\\xf6\\x86\\x20\\xef\\x0e\\xa3\\x30\\x01\\xfc\\x09\\x1b\\x48\\x4e\\x94\\x2f\\xb3\\x4f\\xbc\\x36\\xa6\\x80\\xe9\\x70\\x2a\\x32\\xe1\\x8d\\x39\\x21\\xa8\\x03\\x3a\\x49\\x67\\x44\\x26\\xb3\\x1e\\x6f\\xf7\\x98\\xca\\x5f\\x28\\xeb\\xd8\\x77\\xd8\\x6a\\xa3\\x2e\\x12\\x7b\\x03\\x29\\x00\\x46\\x75\\xf3\\x97\\x56\\xe5\\x2c\\x1b\\x3b\\x7b\\xc1\\x28\\x1e\\x99\\x36\\x0d\\xe8\\x97\\xba\\xb3\\x68\\xed\\x5a\\x8d\\x75\\x33\\xb9\\x8b\\x83\\x72\\xe1\\x67\\xc2\\x5b\\x98\\xf6\\x74\\x0f\\x3a\\x31\\x3f\\x2b\\xf0\\x1c\\x96\\x5e\\x75\\x1a\\x8e\\xd3\\xab\\x04\\x2d\\xe4\\xd5\\x12\\x62\\x02\\x46\\xe4\\x96\\x4c\\xe4\\xd2\\x01\\x90\\x32\\xa4\\x8c\\x40\\x46\\xc0\\x19\\x70\\x4a\\xf0\\xb3\\x31\\x7f\\xfc\\x31\\xe6\\xea\\x55\\xfa\\x89\\x36\\x46\\xbe\\xe1\\x4f\\xca\\xa3\\xec\\xe7\\x9e\\x42\\xa3\\xe8\\x59\\x47\\x02\\x57\\x14\\x8c\\x13\\x9d\\x6a\\x3b\\x16\\x13\\x51\\x3c\\x30\\x1a\\x85\\x44\\x21\\xc9\\x89\\x80\\x45\\xf7\\x2d\\x0f\\xae\\x28\\x6a\\xff\\xb2\\xa8\\x13\\xa9\\x68\\xe8\\x86\\x6b\\x5c\\xc1\\x39\\x99\\x2b\\x38\\x40\\xad\\x54\\xf7\\xad\\x5e\\x0c\\xca\\xb6\\xca\\x0b\\x3c\\xfa\\x71\\x35\\xfd\\xaa\\x46\\x0c\\x4b\\xf4\\xc6\\x95\\xba\\xe3\\xe0\\x18\\xb8\\x3d\\x7c\\x19\\x3a\\xc2\\xf3\\x67\\x0c\\x48\\x9e\\x34\\x77\\x54\\xff\\xda\\xe9\\x5f\\x15\\xe7\\x06\\x06\\x55\\x05\\x5d\\x71\\x49\\x94\\xd6\\xb8\\xc1\\x15\\x10\\x12\\x01\\xde\\x2f\\xe3\\x83\\x58\\xfc\\x81\\x02\\xe2\\x78\\x70\\x99\\xca\\x8a\\xd4\\x0c\\xd5\\xcf\\x2e\\x58\\xfb\\x91\\xfb\\x85\\xe5\\x2f\\x80\\x2b\\xbc\\xe3\\xea\\x65\\x9a\\x2f\\x15\\x5c\\x82\\x4f\\xf1\\xff\\xe2\\xd2\\xc8\\xfd\\x82\\x64\\xd1\\x66\\x4b\\x8f\\xc3\\xe2\\x73\\x86\\x3e\\x19\\x39\\x9d\\x09\\x9f\\x87\\xe2\\xe3\\x9d\\xdf\\x20\\xcd\\xe7\\x21\\x49\\x42\\x5f\\x47\\xbc\\xc5\\x75\\xba\\xfe\\x4b\\x07\\x31\\x4a\\x9c\\x3b\\x45\\x3b\\x52\\x6e\\x6e\\x28\\x07\\xec\\x0e\\x67\\x12\\x84\\x37\\x1d\\x3d\\xb8\\x7a\\x53\\xfc\\x34\\xdb\\xb8\\xba\\xc9\\xd3\\x13\\xcb\\x26\\x2d\\x9d\\xb6\\xff\\x96\\xef\\x3d\\xf3\\x13\\xb6\\xd7\\x8c\\x0f\\x2e\\x1a\\x57\\x53\\x00\\x5f\\x6b\\x5e\\x35\\xa6\\x26\\xb3\\xac\\xcf\\xa0\\x60\\x62\\x8e\\xd7\\x9b\\x3e\\x73\\xd0\\x8c\\xf9\\xad\\xe6\\xc6\\x52\\x7f\\xb7\\x40\\x5a\\x52\\x59\\x25\\x89\\x65\\xd9\\x86\\xe5\\x63\\x1b\\xff\\xb9\\x49\\x42\\x05\\xdc\\xd7\\x1c\\xf3\\xf9\\xf1\\x27\\xfc\\xae\\x3b\\xf1\\x4d\\x05\\xd7\\x6b\\x48\\x9f\\x0e\\xe2\\x89\\x6a\\x12\\x08\\xef\\x99\\x7c\\x16\\x70\\x18\\x09\\x24\\x1e\\x9d\\x03\\xd6\\xd6\\x10\\x66\\x22\\x2c\\x9d\\x6e\\x9c\\x7b\\x7d\\x66\\xc2\\x49\\x34\\x6d\\x91\\xcf\\x81\\x37\\xf9\\xdf\\xb7\\x30\\xbe\\x28\\x92\\x5f\\xe2\\xba\\x05\\x35\\x98\\x3f\\xe6\\x08\\x17\\x4a\\x8b\\x38\\x1b\\xe2\\x79\\x20\\xb2\\x52\\x94\\x18\\x3f\\xd1\\x0b\\x16\\xb4\\x28\\xb3\\x9f\\x15\\x56\\xb1\\x05\\x7d\\xb6\\x85\\x5c\\x6a\\xbc\\x7e\\x79\\xe8\\xff\\x7d\\x79\\x70\\xdf\\x16\\x38\\xf1\\xff\\x62\\x79\\xa0\\x6e\\x0b\\x3a\\xd2\\xb9\\x3c\\x81\\x4b\\x09\\x6a\\x10\\x09\\x74\\x80\\x07\\x0c\\x40\\x5c\\xde\\xc9\\x10\\x29\\xaa\\x8b\\x89\\x31\\x2b\\x45\\xce\\xc7\\x85\\x6c\\xe1\\x7f\\x27\\x6b\\x19\\xe7\\x1f\\x82\\x9a\\x70\\x7e\\x57\\x50\\x8d\\x65\\x78\\x2c\\x22\\x50\\x76\\xed\\xa2\\x3f\\x26\\x17\\x6e\\x85\\x17\\x0e\\x91\\xe3\\xb6\\x80\\x06\\xd4\\x14\\xa6\\xe7\\x79\\x91\\x7c\\x84\\xff\\xd4\\x63\\xf6\\x15\\x6f\\xfe\\x2a\\x35\\x10\\x45\\x81\\x88\\x23\\x65\\x9d\\xd9\\x7d\\xaf\\xd9\\xa7\\x94\\xb0\\x63\\xd1\\x22\\xb0\\x10\\x6c\\x95\\x97\\xa0\\x26\\x79\\x15\\x8d\\x6f\\xba\\x46\\xae\\x87\\x71\\xed\\xcb\\x4c\\x12\\xdc\\x2a\\xff\\xfb\\xf7\\xfb\\xe9\\x3a\\xbd\\x8f\\x7f\\x1f\\xd5\\x88\\x09\\x54\\x96\\x48\\x0a\\xea\\x09\\x93\\x83\\x54\\xe4\\xc2\\x5c\\x0b\\x80\\x0a\\xf7\\x1d\\x8d\\x72\\x40\\x42\\xa9\\x90\\xbf\\x5e\\xe1\\x5d\\x4e\\xd8\\x54\\x1e\\xbe\\xc5\\x81\\x87\\xe3\\xfe\\xc5\\xf2\\x13\\x8b\\x19\\x7e\\x3d\\x8c\\xf9\\xc9\\x38\\xaa\\xc3\\xfe\\xca\\x37\\x0c\\xd5\\x3c\\xc6\\xd9\\x99\\x0e\\xdb\\xae\\xe8\\xb0\\xed\\x8a\\x0e\\xdb\\xae\\xe8\\xb0\\xed\\xca\\x59\\x91\\x5d\\x39\\x2b\\xa2\\x70\\xf9\\x72\\xf6\\x7e\\xe9\\x52\\x96\\x6e\\xc9\\x12\\xf6\\xbc\\x78\\x31\\x83\\x37\\xde\\xc8\\xde\\x2f\\x5a\\xc4\\x9e\\x17\\x2e\\x64\\x70\\xc1\\x02\\x06\\x9b\\x9b\\x59\\x39\\x4d\\x4d\\xec\\x79\\xfe\\x7c\\x06\\xe7\\xcd\\x63\\xf9\\xe6\\xce\\x65\\x70\\xce\\x1c\\xf6\\xfe\\x86\\x1b\\x58\\xfa\\xd9\\xb3\\xd9\\x73\\x63\\x23\\xfb\\x7d\\xd6\\x2c\\xf6\\x3c\\x73\\x26\\x83\\x33\\x66\\x30\\x38\\x7d\\x3a\\x4b\\x3f\\x6d\\x1a\\x83\\x53\\xa7\\xb2\\xf7\\x53\\xa6\\xb0\\x7c\\x93\\x27\\x13\\xc8\\x11\\xdd\\x35\\x85\\x0d\\x0d\\xec\\xfd\\xc4\\x89\\x0c\\x4e\\x98\\xc0\\xe0\\xf8\\xf1\\x2c\\xdf\\xb8\\x71\\xac\\x9c\\xb1\\x63\\x19\\x0c\\x85\\x18\\x1c\\x33\\x86\\xc1\\xfa\\x7a\\x96\\xbe\\xae\\x8e\\xa5\\xaf\\xad\\x65\\x70\\xf4\\x68\\x06\\x6b\\x6a\\x58\\xba\\x51\\xa3\\xd8\\x73\\x75\\x35\\x4b\\x5f\\x55\\xc5\\x9e\\x47\\x8e\\x64\\xb0\\xb2\\x92\\xc1\\x11\\x23\\x58\\xfa\\xe1\\xc3\\x19\\x1c\\x36\\x8c\\xbd\\x1f\\x3a\\x94\\xc1\\x21\\x43\\x18\\xac\\xa8\\x60\\x70\\xf0\\x60\\x96\\x6e\\xd0\\x20\\x06\\x07\\x0e\\x64\\x70\\xc0\\x00\\x06\\xfb\\xf6\\x65\\xe9\\xca\\xcb\\x59\\xbd\\x7d\\xfa\\xb0\\xe7\\xde\\xbd\\x19\\xec\\xd5\\x8b\\xc1\\x9e\\x3d\\x59\\xfa\\x1e\\x3d\\x18\\x2c\\x2b\\xa3\\x30\\xa8\\x2e\\x2d\\xad\\xb0\\x07\\x8b\\x8a\\xd8\\x5b\\xbf\\x9f\\xa5\\x2e\\x2c\\x64\\xcf\\x05\\x05\\x0c\\xe6\\xe7\\x33\\x98\\x97\\xc7\\x60\\x4e\\x0e\\x83\\xdd\\xba\\x31\\x98\\x99\\xc9\\x60\\x46\\x06\\x83\\xe9\\xe9\\x0c\\xa6\\xa4\\x30\\xe8\\xf5\\x32\\xe8\\xf1\\x30\\x98\\x90\\xc0\\xa0\\xdb\\xcd\\x5a\\x1d\\x1f\\xcf\\xea\\x8d\\x8b\\x63\\xef\\x5d\\x2e\\x06\\x9d\\x4e\\xf6\\xde\\x6c\\x66\\xcf\\x26\\x13\\x83\\x46\\x23\\x83\\x06\\x03\\x85\\x67\\xb5\\x5a\\xdc\\x89\\xff\\xfd\\x83\\x22\\x46\\x87\\xdc\\xf2\\x3d\\xe0\\x99\\x76\\xa6\\x13\\x54\\xf3\\x92\\x8a\\x07\\x2d\\x58\\x26\\xe5\\x4c\\x1f\\x13\\x46\\x92\\x10\\x03\\xaa\\x6f\\xf2\\x93\\x40\\x3c\\x8e\\x51\\x0f\\x2e\\x98\\x34\\x69\\x01\\xce\\x10\\x77\\xec\\x18\\xb5\\x41\\xc0\\x5f\\xcf\\x47\\xf2\\x42\\x95\\x84\\xf3\\x42\\xb1\\x6b\\x5e\\x12\\x71\\xd2\\x0f\\xce\\x93\\x9c\\x0f\\x8e\\x92\\xef\\x39\\x76\\x0c\\xc4\\x91\\xbc\\x55\\x72\\x1d\\x68\\x6c\\xff\\x03\\xe7\\x4d\\x0a\\xea\\xa0\\x88\\xf0\\x17\\x49\\x05\\xf9\\xf3\\x98\\x87\\x8d\\x7f\\xbd\\x2c\\x86\\x0a\\x09\\x76\\xc9\\x69\\x4f\\x2b\\x06\\x8d\\xc7\\x8e\\xc9\\xff\\x14\\x59\\x31\\x5d\\xf3\\xf3\\x40\\x80\\x80\\x34\\x00\\x9e\\x17\\xaf\\xcd\\x2f\\x14\\x07\\x32\\x70\\x7e\\xf9\\x9f\\xc7\\x8e\\x1d\\x67\\x5d\\xc0\\xb4\\x2a\\x49\\xae\\x07\\x7f\\x6a\\x7f\\x87\\xca\\x4c\\x98\\x12\\x5a\\x44\\x1d\\xe9\\x46\\x9c\\x1d\\xb5\\x18\\xd5\\xd7\\x68\\xc7\\x85\\xff\\x20\\x05\\x81\\x3f\\x2d\\xad\\xaa\\x5a\\xba\\xa4\\x7a\\xd4\\xe2\\x49\\x3d\\x73\\x73\\x7b\\xf5\\xca\\xcd\\xed\\x79\\xb9\\x7a\\xde\\xfc\\xaa\\xaa\\x79\\xf3\\xaa\\x72\\x03\\x81\\xdc\\xdc\\xb2\\x32\\x42\\xcb\\xd6\\x01\\x13\\xf8\\x37\\xec\\x8f\\x19\\xf4\\xfe\\x1c\\xd7\\xd6\\x40\\x6d\\x49\\xde\\x07\\x46\\xb8\\x1f\\xf6\\x23\\x3c\\x32\\xa9\\x1f\\x68\\x24\\x9e\\xd7\\x4b\\x3a\\x15\\x6a\\x11\\xa9\\x26\\xfd\\x62\\x61\\xd4\\x78\\x84\\xde\\x60\\xf1\\x5b\\x25\\x2f\\xfd\\x84\\x7d\\xe5\\x1f\\x84\\x37\\xee\\x40\\xf2\\x18\\xf9\\x4b\\xe1\\x8d\\x43\\x08\\x18\\x81\\x23\\x51\\xfe\\xbb\\x8d\\x7d\\x52\\xda\\x7c\\x0c\\x98\\xe0\\x5f\\x48\\x7d\\xf0\\x9e\\xf6\\xdb\\x48\\x7d\\xf8\\x5d\\x2f\\x79\\x2e\\x2c\\xa3\\xf4\\xfa\\xee\\x76\\xe9\\xf7\\x27\\x29\\x8d\\xdd\\x0b\\x6e\\x85\\x79\\x78\\x0f\\x97\\xb8\\x44\\xae\\x02\\xdc\\x4a\\xe5\\xee\\xe9\\xfc\\x4a\\x78\\x95\\xea\\xc2\\x12\\x82\\x5a\\xb2\\x3b\\xe0\\x79\\x01\\x02\\x53\\x4e\\x14\\x76\\x38\\xa2\\x01\\x5e\\x3b\\xde\\xdb\\xe0\\x55\\xf9\\x9b\\x75\\x60\\x8f\\x50\\xfd\\x2e\\xa8\\xc2\\x79\\x67\\xe2\\xbc\\x61\\x9a\\x37\\x3e\\xa8\\xe1\\x44\\x04\\xa1\\x14\\xd1\\x8b\\x15\\x2a\\xcc\\x1f\\xdb\\x55\\x8a\\xbd\\x60\\x26\\xd8\\xb3\\x4e\\xfe\\x46\\xb8\\x20\\x3f\\xfa\\x2e\\xb3\\x05\\xc2\\xf3\\x71\\xb8\\xfd\\x01\\x9c\\xd7\\x43\\xee\\xdb\\xd0\\xfd\\x6c\\x0d\\xc0\\x92\\x12\\x96\\x11\\x4d\\x1f\\xc7\\x5f\\x9c\\x50\\x18\\xdd\\xd7\\x70\\x09\\x7e\\xbb\\x17\\x1c\\x96\\x67\\xaf\\x03\\x36\\x9c\\xad\\xea\\x5d\\xa2\\x8b\\xc1\\x5f\\xee\\x8e\\xe4\\x07\\x3c\\x47\\xd4\\x78\\x6b\\x04\\xd2\\x72\\x82\\x90\\xf1\\x17\\x62\\xf2\\x5b\\xbd\\xc5\\x78\\x57\\x53\\x01\\xdb\\x3a\\x79\\xb6\\xfc\\xf6\\xbb\\xf2\\xa3\\x44\\xf7\\xf1\\x14\\xde\\xcf\\x8e\\xe3\\xfc\\x44\\xbf\\x63\\xc2\\xd2\\x0a\\xde\\x53\\x55\\xac\\x01\\x22\\x52\\x31\\x94\\x9e\\x50\\xc8\\x2e\\x17\\x75\\xb4\\xa1\\xd8\\x0f\\x8f\\x87\\x0d\\x5b\\xc0\\xdf\\xb7\\x92\\x66\\xbc\\xfa\\x2a\\x2e\\xe7\\x09\\x79\\x0c\\x3c\\x45\\xdb\\x81\\x77\\x40\\x24\\x41\\x41\\x84\\xb4\\x19\\x20\\xda\\x0d\\x5a\\x46\\x41\\xbe\\x84\\xf3\\xdb\\xbd\\x03\\x77\\xc2\\xc6\\xb0\\x2a\\xf4\\xca\\x66\\xd2\\x86\\x57\\x71\\x5e\\x0e\\x73\\xbb\\x6a\\x2e\\x3f\\xe8\\x90\\x20\\xe4\\x04\\x2d\\xaf\\x51\\x01\\x20\\x08\\x1a\\xa0\\x5a\\x83\\x00\\x3a\\x2f\\x91\\x69\\x98\\xd0\\x71\\xf1\\xbd\\xc3\\xd1\\x9c\\xd7\\xe9\\x43\\xc5\\x58\\x06\\xf0\\x42\\x4e\\xae\\x7b\\xac\\xe9\\xbd\\xf7\\x9a\\x1e\\x03\\xc7\\x4e\\xff\\x04\\xdc\\x06\\xe0\\xfe\\x89\\x03\\xe1\\xdf\\x44\\x5d\\xfb\\x08\\xc9\\x87\\xdb\\xa5\\x39\\x89\\x5a\\xc8\\x2a\\xbb\\x48\\xd4\\x88\\x04\\xa3\\xe4\\xef\\xff\\xcd\\xff\\x79\\x13\\x2f\\xea\\x14\\xdd\\xa6\\xbc\\x1c\\x2f\\x06\\x70\\x4d\\x5a\\x22\\x61\\x08\\xf2\\x72\\xfe\\xf4\\xeb\\x82\\x7c\\x49\\xd4\\x45\\x54\\x88\\xed\\xed\\xf2\\x69\\xfe\\x04\\xa8\\x14\\xfe\\x82\\x71\\x6b\\x8b\\x3c\\x8b\\xf1\\x87\\x6d\\x39\\x42\\x5b\\x7b\\x96\\xa4\\x22\\xf8\\x76\\xf5\\xdf\\x60\\x18\\xf5\\x07\\xf3\\x0f\\xfe\\x1d\\x90\\x44\\xf5\\xcc\\xaa\\x13\\x54\\x2a\\x50\\x14\\x9f\\x62\\xf8\\x12\\x16\\xc1\\x89\\x02\\x17\\x84\\x0f\\x8a\\x3e\\x38\\x59\\xbc\\x8f\\xa6\\x81\\x64\\x25\\x90\\x9a\\xbd\\x52\\xf8\\x60\\x1c\\x7f\\x34\\x4e\\xf4\\xad\\x5b\\x87\\xc7\\xe9\\x37\\xfe\\x0c\\x0c\\x0a\\x8f\\x73\\x06\\x2e\\xfd\\x8c\\x8e\\x28\\x5b\\x98\\x86\\x25\\x35\\x93\\x6a\\x58\\xce\\xd8\\x9c\\x15\\x42\\x8b\\x8a\\xae\\xa2\\x0b\\x58\\x04\\x2e\\x64\\x8a\\x84\\x80\\x9f\\x19\\xbd\\xf9\\x0d\\xe0\\x72\\xf3\\x5a\\x30\\x0b\\xd6\\x0d\\x1d\\xd6\\x14\\xd7\\x98\\x79\\x86\\x3f\\xb3\\xa6\\xd9\\xd6\\x7b\\x70\\x45\\xaf\\xe5\\x37\\xe1\\xb2\\xf7\\xf0\\xef\\x72\\x37\\x60\\xbe\\x0c\\x71\\xea\\x93\\x1c\\x09\\x73\\x88\\xbb\\x8e\\x02\\x7e\\x69\\xb6\\xb7\\xd5\\xcb\\xbf\\x4b\\x2e\\xa6\\x41\\xf9\\x03\\xfe\\x79\\x90\\x29\\xac\\xa0\\x7c\\x8e\\xbe\\x95\\xe7\\x04\\x1a\\x0e\\xf1\\x62\\x21\\xb3\\xf1\\x22\\xa1\\x00\\x27\\xa7\\x1e\\x49\\x0d\\xbf\\x93\\x7a\\x6f\\x2a\\xff\\xfc\\x39\\xfc\\x0f\\xf7\\xeb\\x29\\xfe\\x58\\xfb\\x18\\x3c\\xae\\x16\\xce\\x74\\xda\\x88\\x09\\x5e\\x8b\\x9e\\xae\\xa8\\x32\\xe6\\xaf\\x37\\xe2\\xd5\\x45\\x24\\xde\\xbf\\xfa\\x40\\xf9\\xf8\\x6d\\x0d\\x9a\\xdc\\xe9\\x4b\\x37\\xcf\\x9b\\xa1\\x6d\\x8a\\xf3\\x94\\x16\\x0b\\xb3\\xcb\\xc4\\x19\\xea\\xe1\\x7d\\x07\\xd4\\xe8\\x0a\\x97\\x22\\xad\\x87\\xdd\\x15\\x2f\\xe5\\xbf\\xe0\\x5e\\x11\\xa7\\x50\\x1a\\x66\\x68\\x35\\xaa\\x5b\\xec\\x88\\x91\\x2e\\xe2\\x15\\xfe\\xfa\\x14\\xeb\\x95\\x6b\\x08\\x96\\x70\\x6f\\x57\\x8a\\x45\\xca\\x96\\xd7\\xe0\\x39\\x5d\\xc7\\x64\\x78\\xce\\x78\\x5a\\xe4\\x5a\\x54\\x44\\x27\\xee\\x8f\\x27\\xbd\\xa4\\x4a\\x74\\xe0\\xa7\\x9f\\xf2\\x9a\\xbf\\xbe\\x21\\x9f\\x09\\x93\\x8f\\xae\\xf2\\xa6\\xdc\\x8a\\xcb\\x18\\x41\\xcf\\x53\\x70\\x09\\xa0\\x45\\xe2\\xa3\\x25\\x58\\xa3\\x47\\x18\\xc5\\x17\\x4e\\xf3\\x33\\x5f\\x86\\x6d\\x8d\\x31\\x27\\x18\\x64\\x2d\\x3c\\xc0\\xb7\\x70\\x21\\x7a\\x86\\xa1\\x3d\\x15\\x39\\xbf\\x60\\x7a\\x75\\x57\\xf4\\xe4\\x82\\x8c\\x41\\x19\\x4e\\xf7\\x0a\\x4d\\x27\\xe1\\x5a\\x04\\xb2\\x5c\\xa3\\xb5\\x20\\x9c\\x9a\\xe4\\xa8\\xc3\\x39\\xf6\\x2b\\xb9\\xe4\\x56\\x92\\x13\\xca\\x6d\\xfc\\x03\\x60\\xbf\\xf0\\xf4\\x75\\xfb\\x87\\xe8\\xb2\\xf0\\xd3\\x4f\\x3d\\x5d\\x1b\\xff\\xa2\\x9f\\xfc\\x03\\x74\\x85\\x28\\xfa\\x76\\x28\\x7f\\xc4\\x9f\\x02\\xa9\\xe2\\x34\\x8c\\x87\\x16\\xce\\x76\\xd6\\x68\\x34\\x6b\\x79\\x05\\xef\\x3e\\x2a\\x7c\\xa9\\x30\\x8f\\x78\\x35\\xc2\\x02\\x74\\x07\\xde\\x59\\x25\\x5f\\x20\\x79\\xf1\\xcd\\xb3\\x60\\x7d\\x45\\xff\\x1b\\x13\\x1b\\xbb\\x3d\\xd0\\x2d\\xa5\\x35\\x85\\x3f\\xb5\\x61\\xae\\xb5\\x7c\\x60\\x70\\xc0\\xda\\xf5\\xe0\\x04\\xf5\\x61\\x2c\\x5f\\xe2\\xcf\\x80\\x54\\x8a\\xdf\\x86\\x56\\x15\\xd7\\xa2\\x13\\xa2\\xb3\\x4a\\xce\\x18\\x7d\\xec\\xa2\\xb4\\xaf\\x0f\\x28\\x58\\xd0\\x02\\x40\\x23\\xac\\x1b\\xd2\\x7f\\x71\\xc2\\xac\\x8c\\xd3\\xc2\\xe3\\x14\\x91\\xfb\\xf6\\x5f\\xb2\\x83\\xae\\xc1\\xf6\\xa5\\xe8\\x1c\\x77\\x97\\xb0\\xd6\\x24\\x49\\x9f\\xc9\\x27\\xd8\\xba\\x6c\\x5f\\x88\\xdf\\xdd\\x4e\\xdf\\x7d\\x2e\\x9f\\x62\\xb6\\x84\\xed\\x7b\\xd1\\x41\\x6e\\x3b\\xc6\\x79\\x1d\\xc6\\x66\\xa9\\x05\\xe2\\xb1\\x2c\\xc7\\x4b\\x07\\x57\\x17\\x7b\\xca\\xbc\\xbd\\xdb\\x18\\xb1\\x60\\x79\\x8a\\xd9\\x23\\xac\\xfd\\xd0\\x9b\\xd2\\x30\\x6d\\x44\\xfd\\x80\\xea\\xa3\\xff\\xb9\\xcc\\x71\\x72\\x23\\xf7\\x70\\x7b\\x0b\\xa5\\x21\\xca\\x39\\x04\\x2e\\x90\\x1e\\x5b\\x54\\x92\\x53\\x8b\\x46\\x65\\x14\\x49\\xda\\x91\\xf2\\x6c\\xee\\x20\\x3d\\xb7\\x88\\x49\\x8b\\xe8\\x71\\xc5\\x89\\x4e\\xc7\\x15\\x38\\x6d\\xb9\\xdc\\xc0\\x1d\\x6e\\x3f\\x8d\\x67\\xdb\\xd0\\x8a\\x30\\xc3\\x21\\x31\\x5d\\x37\\x41\\x0d\\xa6\\xdb\\x3e\\x3c\\xff\\xe7\\x9f\\xe7\\xcb\\x0d\\x0b\\x9b\\x17\\xd0\\xf4\\x13\\x71\\xfa\\x67\\x95\\xf4\\x02\\x94\\xa8\\xb2\\x9e\\xa6\\xc7\\xf4\\xd7\\x6f\\xf7\\xd9\\x7d\\x34\\xfd\\xb0\\x05\\xcd\\x0b\\x99\\xcf\\xaa\\xcd\\xfc\\x8b\\x60\\x99\\xb8\\x05\\xb7\\x45\\x77\\x0a\\x31\\xdd\\x3e\\x45\\x79\\x2a\\xc9\\x81\\x65\\x3b\\xc3\\x07\\xe0\\x8f\\x38\\x49\\xd9\\x4d\\x78\\xff\\x34\\x61\\x89\\xab\\x90\\xec\\x9f\\xd2\\xe7\\xed\\x55\\x1c\\xa5\\x71\\xed\\x47\\xe4\\x7a\\x6e\\x7d\\xfb\\xdb\\xe4\\xf0\\xbe\\x55\\xcf\\xb5\\x48\\x62\\x74\\xee\\x62\\x4f\\xc3\\x9d\\x3d\\xfa\\x8f\\x5e\\x35\\xd5\\x54\\x38\\xa0\\x9b\\x0f\\xef\\x3b\\xa1\\x81\\xd3\\x17\\xd7\\x0e\\x2e\\x49\\xcf\\xe6\\x59\\x1f\\x87\\xe3\\x32\\x4e\\xb5\\x1f\\xc5\\x6d\\x36\\x9d\\xc6\\x22\\x1a\\xe6\\xc8\\xd8\\xee\\xab\\xec\\x5d\\x44\\x7f\\x7f\\x8a\\x1e\\x2b\\xc8\\xf5\\x91\\x73\\x85\\xf6\\x11\\x38\\x4f\\xab\\x92\\x07\\x6f\\x18\\x88\\x0e\\xcc\\x05\\xca\\xbd\\x38\\x95\\x73\\x84\\x56\\x7a\\x8c\\xf0\\x02\\x39\\x45\\x00\\xed\\xc3\\x70\\xfa\\x93\\xed\\x4f\\x12\\xda\\x11\\x54\\x93\\x1d\\x46\\x14\\xd1\\x79\\x35\\x1d\\x9c\\x3c\\xc5\\xff\\x50\\xcc\\x71\\xc1\\x49\\x76\\x5a\\x20\\xbf\\xa3\\x9c\\x16\\x00\\xf9\\x49\\xf9\\x3d\\x30\\xa8\\x7d\\x2a\\xc6\\x15\\x3c\\x67\\x48\\xe0\\x4c\\xaf\\x17\\x2a\\xd4\\x3c\\x3b\\x7c\\x8b\\x1b\\xce\\x97\\xdf\\xa3\\x67\\x04\\xf2\\x9b\\xb8\\x9e\\x8f\\xb8\\x7d\\x14\\xb7\\xd4\\x5c\\x0b\\xef\\x26\\xc6\\x0c\\xc4\\xdc\\xb0\\xc3\\x9f\\x6b\\xc0\\xfa\\x51\\x20\\xe9\\xc0\\xcd\\x43\\xfb\\x27\\x17\\xf5\\x59\\x96\\x58\\xb4\\x4f\\xfe\\x7c\\xef\\x4e\\xe7\\x61\\xe7\\x6e\\x60\\x50\\xfc\\x49\\x6f\\xc3\\xf9\\x4d\\x38\\xbf\\xc0\\xb5\\x68\\x3a\\xf2\\x77\\x36\\x5d\\xb6\\x5e\\x2e\\x12\\x67\\x96\\x17\\x7b\\x7a\\x97\\x2f\\x59\\x29\\x96\\xec\\x93\\xff\\x9d\\x90\\x38\\xc9\\x72\\xaf\\x69\\xd9\\x2c\\x6b\\x4f\\x60\\xc7\\xfb\\x91\\x45\\x7e\\xb5\\xed\\x4a\\xfb\\x8d\\x16\\x49\\x6d\\x09\\x9b\\x39\\x46\\xe3\\xee\\xc0\\x6d\\xfb\\x67\\xbb\\x91\\xd2\\x0e\\x43\\xab\\xc4\\x89\\x50\\x4d\\x76\\xfa\\x58\\x42\\xee\\x61\\x84\\xfc\\xbe\\x54\\xb9\\x9e\\x12\\x72\\x46\\x77\\x71\\xbe\\x57\\x14\\xde\\xd1\\xd0\\x6a\\x47\\x46\\x75\\x1c\\xc9\\x47\\x66\\xd9\\xf9\\x7f\\x4c\\x77\\xbb\\x32\\x8a\\x78\\x1d\\xf5\\x93\\xcb\\xb8\\xaa\\xf6\\xbb\\x4d\\x92\\xea\\x77\\xf9\\x32\\x5b\\xaf\\xf2\\xcf\\xb8\\xae\\x1d\\xd4\\x6b\\xc1\\x72\\xf9\\x11\\x65\\x0d\\x27\\xc9\\xb5\\x5c\\x13\\x79\\x07\\x0f\\xc8\\xef\\x2b\\xeb\\xed\\x06\\x9c\\xae\\x08\\xe3\\x39\\xe2\\x4c\\x67\\xe7\\x83\\x35\\x00\\x2a\\x8c\\xd7\\x04\\x46\\x06\\x8d\\x9b\\x06\\x6c\\xc4\\x23\\x39\\x91\\xe1\\x38\\xfe\\xb6\\x8c\\xf2\\x3a\\x96\\xb3\\x0a\\x93\\x25\\x11\\x34\\xc5\\xdc\\x09\\xc1\\xf4\\x62\\xca\\xdb\\x81\\x65\\x5b\\xe5\\xe4\\x2d\\xf0\\x47\\xb9\\xfe\\xd5\\x57\\x01\\xd5\\xe5\\xcb\\x07\\xe4\\x5d\\x60\\x6a\\xfb\\x2a\\x2e\\x8e\\x8b\\x0b\\x6a\\x34\\x98\\x37\\x34\\xbb\\x5a\\x6c\\x06\\x92\\x95\\xa0\\x78\\x19\\x45\\x50\\x33\\xb3\\x3b\\xf7\\xb3\\xa8\\x24\\x51\\x80\\x47\\xc5\\x35\\x62\\xc0\\xc4\\xf1\\x93\\xbb\\x77\\x0f\\xf4\\x1d\\xdf\\x37\\xd0\\xbd\\xfb\\xe4\\xf1\\x13\\x17\\xc8\\x57\\xd2\\x8b\\xd7\\xce\\x19\\xde\\x7f\\xe8\\xc0\\x81\\x43\\x07\\x0c\\x9b\\xb3\\x16\\xf7\\x77\\xa7\\x3c\\x06\\x64\\xb5\\x2f\\xa7\\x7a\\x05\\xe9\\xf7\\x07\\x68\\xbd\\x33\\xe4\\x31\\xb8\\xdb\\xcb\\xf1\\x3e\\x62\\x3a\\x0d\\x31\\x47\\xa7\\xd2\\x2a\\x32\\x46\\xec\\xb9\\x3e\\xd7\\x1e\\x73\\xae\\x2f\\xcf\\x89\\x39\\xd7\\x97\\xef\\x96\\x1b\\x41\\xa0\\xfd\\x6e\\x8c\\x83\\xa6\\xd3\\x12\\xd7\\xa2\\xe6\\x0d\\x34\\x3f\\x99\\x2f\\x14\\x7b\\x20\\xd5\\x23\\xf6\\x3c\\x4a\\x6e\\x8c\\x3d\\x8f\\x92\\x9f\\x96\\x17\\x02\\xb1\\x7d\\x09\\xa6\\xc9\\xa6\\xd3\\x5a\\xc2\\x5e\\x98\\xa2\\x65\\x38\\x3b\\x53\\x65\\x6b\\x67\\xaa\\xbc\\x35\\x96\\x28\\x03\\x79\\x1d\\xee\\xdf\\x9a\\xf6\\x69\\x9c\\x03\\xef\\x18\\x78\\x52\\x5b\\x2c\\x82\\xd6\\x45\\x4a\\xa2\\x7a\\x7b\\xc2\\xa9\\x5c\\xab\\x79\\xdf\\x70\\x7d\\xc5\\xbb\\x3c\\xa6\\xb3\\xe2\\x1d\\xc8\\x7f\\x97\\x9f\\x04\\x49\\xed\\x3d\\xaf\\xb3\\x26\\x85\\xf0\\xa5\\x38\\x98\\x2a\\x3f\\xb9\\x86\\xb4\\x21\\x7c\\x8f\\xdc\\x08\\x27\\xc9\\x57\\x18\\x1f\\x06\\x19\\x1f\\x46\\x78\\xac\\x7b\\x08\\x8f\\x25\\x37\\x62\\x1e\\x0b\\xca\\xc7\\x30\\x8e\\x8c\\x69\\xdf\\x4f\\xd7\\x86\\xe9\\xac\\x70\\x1e\\x05\\xb5\\xa6\\x0a\\x8c\\x51\\xd9\\x64\\x63\\x10\\x14\\xed\\x0d\\xe8\\x1b\\xbe\\xc5\\x09\\xe7\\x97\\xd3\\xcf\\xbf\\x31\\xe5\\x0d\\x9e\\xc3\\xf5\\xdc\\x8f\\xa0\\x05\\xc8\\x84\\xf7\\x93\\x2b\\xdb\\xfa\\xd2\\x7e\\xef\\x06\\x16\\x30\\x07\\x1c\\xba\\x86\\xf7\\xab\\x0e\\xf7\\x77\\xc3\\xa7\\x80\\x65\\x27\\x6e\\xd7\\x21\\x90\\x00\\xa7\\x80\\xbd\\x5d\\xd3\\xc0\\x21\\x57\\xc7\\xe0\\x96\\x81\\x84\\x55\\xb8\\x1c\\xae\\xfd\\x73\\xbc\\x41\\x7d\\x16\\x4d\\x93\\x47\\xa4\\xa3\\x0c\\x00\\xb9\\xb6\\xa9\\x53\\xd1\\x01\\xb4\\xae\\x6d\\xca\\x64\\x74\\x37\\x4e\\x57\\xdd\\xfe\\x11\\x38\\x2e\\xfc\\x33\\x36\\x9d\\x00\\xfc\\xf8\\x3d\\x3c\\x7f\\x77\\xb8\\xbf\\x4f\\xd4\\xfc\\xfe\\x2b\\x5d\\x37\\x3b\\xe5\\x4a\\xae\\xa9\\xfd\\x55\\x4a\\xaf\\x63\\x8e\\x89\\xf1\\xac\\x16\\x51\\xcd\\x2a\\x3d\\x75\\x2e\\x2c\\x71\\x64\\xfb\\x4c\\xfd\\xea\\x96\\xcf\\x34\\x15\\x0e\\xfc\\x7b\\x7a\\x2e\\xac\\x85\\x63\\x2b\\x26\\x2f\\x82\\xb5\\x03\\xbb\\xac\\x27\\x43\\x2b\\x4f\\x39\\x90\\x3c\\x85\\x51\\x52\\xa4\\x04\\xb0\\xac\\x93\\x94\\x40\\x68\\xc8\\x00\\xbc\\x5e\\x9f\\x6c\\x7f\\x23\\x42\\x7b\\x22\\xb9\\xe8\\x4e\\xe1\\x35\\x7b\\x51\\xb1\\xcf\\xfe\\xa4\\xbc\\x05\\x2c\\x6d\\x78\\x1c\\x67\\x5a\\x2a\\xff\\xf3\\xf1\\xc7\\x19\\x1e\\x1e\\x96\\x6f\\x07\\x13\\xdb\\xd7\\x61\\xca\\x93\\x88\\xe5\\x66\\xb5\\xda\\xc8\\xe9\\x74\\x66\\xb1\\xc5\\x66\\x64\\xb9\\x89\\x06\\x8f\\x51\\x6f\\x4a\\x7b\\x7c\\xf4\\xea\\x07\\xc5\\x26\\xe6\\x21\\xdc\\xd9\\x66\\x1e\\x1a\\xe8\\x35\\xbe\\x57\\x60\\xa8\\x79\\x8a\\x7e\\x6c\\x65\\x53\\x99\\xa7\\xb2\\xa4\\xb2\\x41\\x2f\\xff\\x6d\\x28\\x59\\x83\\x43\\x2b\\xc7\\x8e\\xf3\\x67\\x8e\\xad\\xc4\\xe3\\x92\\xc6\\x2f\\xe0\\xfe\\x26\\xa6\\x61\\x1a\\xe7\\x08\\x6a\\x54\\x5a\\x81\\x68\\xf2\\x5b\\xe8\\xa4\\xc4\\x13\\x5d\\x3e\\x61\\x0e\\x3a\\xf4\\xf7\\x7f\\xab\\xdf\\xb0\\xbe\\x6e\\xfd\\x86\\xfa\\x0d\\x1b\\xea\\x36\\xf0\\x2f\\xd7\\x6e\\xda\\x58\\xb3\\x71\\x63\\xed\\xc6\\x0d\\x35\\x1b\\x18\\x6d\\x9a\\xca\\xcf\\xe1\\x0e\\x88\\x5b\\x71\\x9b\\x31\\xef\\x8b\\x74\\x5a\\x72\\xdc\\x57\\xc8\\x78\\x5f\\x14\\x28\\x61\\x9e\\xd5\\xfa\\x80\\x00\\x75\\xb6\\xe6\\x74\\x24\\x02\\xfc\\xe5\\x80\\x71\\xbe\\x3b\\xa1\\x60\\xf2\\x64\\x63\\x41\\x1f\\xb7\\x1b\\xea\\xe7\\xf0\\x73\\x46\\x18\\xea\\x13\\xcb\\x4a\\xd3\\x73\\xab\\x0b\\x54\\xc3\\x55\\x39\\x45\\x09\\x3d\\x7b\\xfa\\x74\\xfa\\x01\\x23\\x08\\x1d\\x5f\\x2c\\xea\\x50\\xbd\\x94\\x4f\\xc7\\xd2\\x72\\x56\\x54\\x49\\x80\\xec\\xf3\\x94\\xff\\x9f\\xa0\\xc8\\x0f\\x69\\xf8\\x4f\\x5e\\x6c\\xe3\\x8f\\xda\\xae\\xae\\x22\\x9f\\xa2\\x6e\\xc6\\x8c\\xa7\\x67\\xcc\\x60\\x63\\x7a\\x27\\xe6\\xcd\\xbf\\x15\\x9e\\xeb\\x2c\\xef\\x30\\x26\\xb0\\x99\\x31\\x7e\\xc7\\xfe\\x48\\x92\\xdb\\x88\\x8d\\x45\\xfb\\x1f\\xfc\\x31\\xb0\\xf6\\x9a\\xb4\\x54\\x36\\x12\\xa9\\x68\\xf4\\x77\\xfe\\x98\\x0d\\xf0\\x89\\x57\\xc9\\x3a\\xc0\\x2c\\x6d\\x8b\\xf0\\x14\\x5b\\x07\\x0a\\xed\\x6e\\xe2\\x11\\x77\\x2b\\xe3\\x19\\xb0\\xe0\\x49\\x78\\x06\\xd4\\xbe\\x8f\\x7f\\x03\\x4e\\x15\\x3e\\xc3\\x65\\x12\\xa3\\x3f\\xbc\\x1f\\x6b\\x25\\xcc\\x2b\\xb7\\x68\\x28\\x4a\\xe0\\xf1\\xce\\x2b\\xa3\\x4b\\x41\\x42\\xbe\\x80\\x15\\x28\\x1b\\x13\\x78\\x17\\xfe\\x70\\x23\\x3c\\x23\\xdf\\xe8\\xbd\\xdd\\x0b\\x56\\x7a\\xf7\\x78\\x85\\xcf\\x8c\\xf2\\x55\\x1d\\x50\\xc9\\xdf\\x3c\\xfc\\xb0\\xe2\\x3f\\xe3\\x1c\\xc6\\xb1\\xdb\\x30\\x5f\\x65\\xc4\\x7b\\xa7\\xa1\\x05\\x12\\x77\\xe5\\x7e\\xca\\xd7\\x75\\xba\\x94\\xe1\\x97\\xca\\x53\\x8d\\xde\\xb8\\xee\\x19\\xc5\\xa5\\x6a\\xe7\\x7a\\xbb\\xfc\\x75\\xa2\\xd8\\xa4\\xed\\xe9\\xf7\\xe6\\xce\\xbb\\x81\\xf2\\x43\\x6f\\x63\\x7e\\x28\\x85\\xf1\\x5b\\x52\\x0b\\x0f\\xa2\\xb8\\xdd\\x65\\x9f\\xe0\\xdf\\x56\\xf6\\x09\\x18\\x7e\\x02\\xa3\\xec\\x7b\\xed\\xab\\xe9\\x7c\\x38\\x4f\\x19\\x79\\xc0\\x63\\xb1\\xec\\xb4\\xde\\x5c\\xc1\\x63\\xe6\\x12\\x73\\x25\\xd9\\xcd\\x78\\x31\\xe2\\x09\\x21\\x7f\\xe1\\x4f\\x6d\\xe8\\x1f\\xb6\\xab\\xbf\\x93\\xcf\\x6f\\x66\\xcf\\x7e\\x6a\\xf6\\x6c\\xb6\\xc7\\xfa\\x08\\xdf\\x40\\xf7\\x33\\xca\\xb9\\xc5\\xae\\xaa\\x08\\x5b\\x5f\\xbf\\x69\\xc0\\xa6\\x87\\x37\\xf6\\xdf\\x44\\xf6\\x35\\xf9\\x30\\xdb\\xdb\\xda\\x8b\\x71\\xbe\\x3f\\x53\\xf9\\x5b\\x77\\x0a\\x73\\x41\\x94\\x7f\\xc3\\x83\\x27\\x51\\xad\\xc3\\x9f\\xa9\\xd2\\x21\\xa4\\xe8\\x1c\\xe4\\xbd\\xfc\\x8d\\x60\\x86\\xf0\\x3b\\x17\\x4f\\x6c\\x2e\\xb5\\x06\\xb5\\xc9\\xe4\\xe2\\x1c\\x10\\x5a\\xd4\\x2d\\xbc\\x83\\xcb\\x7b\\x21\\xfe\\xa3\\x17\\xa8\\x7c\\xad\\x44\\x81\\x40\\x6c\\x29\\x11\\xff\\x30\\x18\\xe5\\x1d\\x6c\\xcb\\x20\\x8e\\x57\\x33\\xaa\\x33\\x13\\xa7\\x5a\\xc7\\x69\\xf3\\xab\\xcb\\xfb\\x8c\\xec\\x3d\\xb9\\x77\\xb7\\xb8\\x69\\xe6\\xf1\\xe6\\x69\\xb5\\x3d\\xab\\x7b\\x4f\\x16\\x5c\\xd6\\xe5\\x33\\x1a\\x7b\\xe7\\xcf\\x29\\x99\\x63\\x5b\\xbe\\x7b\\x69\\xc1\\xdc\\x00\\x87\\xe4\\x2d\\xfc\\x14\\xb0\\x51\\x82\\x9c\\x8b\\x4b\\xe0\\x3c\\x5c\\x56\\xd0\\x62\\xb7\\x08\\x7a\\x15\\x97\\x98\\xa4\\x8f\\xc7\\xf3\\xaf\\xe7\\xe2\\x92\\xe2\\x30\\xc1\\x62\\x57\\xe5\\x98\\x41\\x09\\x69\\x45\\x64\\x73\\x10\\x3b\\x76\\x07\\x22\\x55\\x40\\x01\\x63\\x03\\x91\\x50\\x77\\x64\\x0f\\xeb\\x5f\\x9e\\x1c\\xe8\\x65\\x9d\\x95\\xbe\\xb2\\x3e\\x67\\x78\\xff\\xde\\x49\\x25\\xbd\\xcd\\xb3\\x3d\\xe5\\x21\\xf9\\xce\\x94\\x53\\x29\\xa3\\xf0\\x9f\\x10\\xf0\\x64\\x60\\x6a\\xb4\\xb2\\xc9\\x9b\\xe1\\x0d\\x14\\x36\\x84\\x8a\\xb0\\x3c\\x0b\\x7e\\x66\\x32\\xed\\x7c\\xfe\\x59\\x70\\x50\\x3c\\x8d\\xd7\\x68\\x3e\\xb1\\x03\\xca\\x4a\\xcc\\x4d\\xf5\\xb8\\x5c\\x82\\xd9\\xa6\\xa3\\x12\\xcd\\x45\\xbc\\x5a\\x0b\\xc9\\x31\\x1e\\x65\\xb5\\xbb\\xb6\\x83\\x34\\x03\\x5d\\xb7\\x71\\x8b\\x3a\\x1a\\xb5\\xba\\x2e\\x67\\x18\\x6e\\xd4\\xe4\\xd4\\xd9\\x49\\x7d\\xc7\\xe9\\x3a\\xbf\\x1f\\xc0\\x1a\\x8b\\x7f\\xe0\\x9f\\xed\\x68\\x63\\xe3\\xb8\\xf1\\xc5\\x40\\x15\\xdb\\x66\\xfc\\x02\\xcf\\xdb\\xf7\\x78\\xc6\\xcd\\xed\\x8f\\xe1\\xd5\\x62\\x39\\x23\\x21\\x5e\\x2d\\x02\\x42\\xb5\\xf3\\xfc\\x74\\x9a\\x04\\x09\\x93\\xce\\x8c\\x80\\xdd\\x5f\\x0c\\xcc\\x7b\\x7e\\xdd\\xb3\\xe7\\xd7\\x5f\\x4f\\xb5\\xb4\\x9c\\x3a\\xbe\\x78\\x71\\x44\\xd6\\xa8\\xe7\\x4e\\x60\\xde\\x4d\\xc4\\x58\\x85\\xd9\\x5e\\x6a\\x85\\x45\\x35\\x28\\x98\\xe2\\x06\\x30\\xa7\\xdc\\x73\\xf1\\x89\\x13\\x2b\\xe5\\xfa\\xef\\x76\\xee\\xfc\\x0e\\xa7\\x77\\x85\\x1d\\x78\\x70\\x2e\\x53\\x9d\\x96\\x9a\\xde\\x3d\\x22\\x7e\\x34\\x73\\xb9\\x62\\xae\\x37\\x37\\x10\\xaf\\xde\\x6a\\x2e\\xc4\\x4d\\xe6\\x1a\\xb9\\x66\\x6e\\x19\\xb7\\x96\\xdb\\xca\\xdd\\xc2\\xed\\xe5\\x0e\\x70\\x87\\xb8\\x07\\xb8\\xdf\\x5b\\x0f\\x56\\xde\\x7f\\xe4\\xfe\\x73\\xc0\\x7e\\x32\\x54\\x94\\x8f\\x41\\x6b\\xc8\\x55\\xda\\xab\\x14\\x7f\\x09\\xaa\\x43\\x09\\xbd\\xc0\\x10\\xd3\\xe8\\x31\\xa3\\xf1\\xd3\\x99\\x90\\x6d\\x8c\\x67\\x4e\\xd3\\x1c\\xf6\\x43\\x6a\\x93\\x6e\\x7f\\xe6\\xa2\\xa5\\x8b\\xe8\\x0f\\x39\\x4b\\x83\\x1b\\xb6\\x6c\\x60\\x3f\\x0c\\xd8\\xa2\\xdd\\x37\\x7e\\xf7\\x9d\\xbb\\xe9\\x0f\\x93\\xee\\x9c\\xb6\\x7d\\xd7\\x76\\xfa\\x75\\xd6\\xae\\xaa\\x7b\\x5b\\x56\\x92\\x34\\xe9\\xa1\\xa2\\x5e\\x43\\xc6\\x34\\xed\\x5f\\xba\\x65\\xdf\\x9d\\xbb\\xee\\x6d\\x69\\xb9\\x77\\xd7\\x9d\\xfb\\xb6\\x2c\\xdd\\xdf\\x34\\x66\\x48\\xaf\\x22\\xfd\\xd0\\x7b\\x46\\x1c\\xb1\\x48\\x68\\xf0\\xd0\\xc1\\xb4\\x25\\x2a\\x7e\\x28\\x11\\x76\\xfd\\x8a\\x3b\\x05\\x3f\\x39\\x91\\xcd\\x8b\\xfd\\x17\\xe3\\xab\\x44\\xf9\\xfc\\xef\\x4f\\xd4\\xd6\\x87\\x9a\\x19\\x11\\x61\\x43\\x20\\xe2\\x92\\xcf\\xec\\x4f\\xb3\\x91\\xa0\\xee\\xfe\\xc2\\x0c\\x05\\x5a\\x15\\xe8\\x54\\x20\\x50\\xa0\\xd4\\xe5\\x99\\x18\\x2b\\x61\\xe2\\x42\\xc5\\x1d\\xf0\\x5f\\xd2\\x76\\x7d\\x4e\\xeb\\x52\\x57\\xa4\\xee\\x34\\xdc\\x1e\\x62\\xc5\\x24\\x90\\x6d\\xd9\\x0f\\x2f\\xcf\\xfd\\x14\\x8c\\x08\\x3f\\x25\\x9f\\x04\\x95\\xb0\\xff\\xdc\\xb9\\xf2\\x2d\\x45\\xa5\\xa5\\x45\\xb7\\x17\\x95\\x95\\x15\\xfd\\x1e\\x28\\x29\\x2d\\x4e\\x25\\x8f\\x72\\x51\\x49\\x20\\x50\\xf2\\xa7\\xd2\\xe2\\xe2\\x52\\x58\\x17\\x28\\x29\\x09\\xb4\\x6d\\xf8\\x74\\x2e\\x18\\xc1\\x6f\\x96\\x4f\\x7d\\x3a\\xb7\\x4d\\x5d\\x82\\xff\\xc1\\x9b\\xc8\\xe7\\x9e\\xe2\\xd2\\xd2\\xe2\\xf0\\x83\\xc5\\xa5\\x25\\x01\\x1f\\x79\\x06\\xaf\\x91\\x8c\\x72\\x88\\xe4\\xf9\\x9d\\x64\\xdf\\x43\\xde\\xca\\xbb\\xe6\\xce\\x45\\xa9\\xa4\\xc6\\xf0\\x93\\xf2\\xa9\\xb9\\x9f\\xf2\\xeb\\x2f\\xcd\\x9d\\x3b\\xb7\\x6d\\x21\\xa8\\xbc\\x0d\\xa7\\xcb\\xc1\\x7f\\xf2\\x5b\\xb8\\x9c\\x2f\\xf0\\x17\\xb0\\x07\\x7f\\x19\\x8b\\xbf\\x84\\x17\\x90\\xca\\xaf\\x5e\\x02\\x43\\xfe\\x28\\x9a\\x7b\\x09\\xbe\\x5f\\xe2\\xef\\x11\\xee\\x53\\x5c\\x1c\\xb8\\xab\\xa8\\xa8\\x0c\\x7a\\x94\\xd4\\xe1\\xf6\\x40\\xa0\\xf8\\x4b\\x9c\\x50\\x7e\\xbb\\xb4\\xa8\\xac\\x1b\\xfe\\x19\\x97\\xd9\\xb6\\x70\\xee\\x5c\\x30\\xe4\\x12\\xd5\\xaf\\xf6\\xe4\\x57\\x81\\xd1\\xa2\\x17\\xe3\\xbd\\xee\\x14\\x2f\\x9e\\x87\\x54\\x4d\\x4e\\xce\\xfa\\x99\\x76\\x7c\\x34\\xd1\\x8e\\x0b\\x4b\\x15\\xf5\\x38\\x4e\\x3f\\x90\\x5f\\xca\\xc9\\xd4\\xce\\x1b\\x73\\x27\\x1d\\xe6\\xdd\\x11\\xa3\\x1c\\xbf\\x9d\\x49\\x36\\x72\\xed\\xb4\\x69\\xb5\\xdd\\x02\\x81\\x6e\\xfc\\xd2\\x59\\x75\\xf5\\x33\\x6a\\x03\\x05\\x05\\xec\\xae\\xe4\\x5d\\xfc\\xbb\\xe0\\xef\\xe2\\x26\\x9c\\xdf\\x8c\\x77\\x34\\x8d\\x39\\x68\\x44\\xc4\\x1e\\x51\\x8b\\x98\\x92\\x85\\x69\\x73\\x0a\\x1d\\xf6\\x0e\\xbe\\x99\\xd0\\xb0\\x2f\\x17\\x6f\\x6c\\x84\\xf5\\x15\\x43\\x16\\xc4\\x35\\x66\\x3e\\x9a\\x87\\x49\\x96\\xb8\\x69\\xcb\\xca\\xf2\\x81\\x83\\x7b\\xaf\\xd8\\x2a\\x8f\\xc4\\x84\\x0a\\xc8\\x2f\\xca\\x23\\xb8\\xe5\\xb8\\x06\\x2c\\x02\\x9c\\x56\\x41\\x80\\xd4\\x44\\xfc\\x60\\xbc\\x44\\x2c\\x47\\xb2\\x3c\\x86\\x23\\x91\\x0f\\x77\\xe2\\x48\\x80\\x7c\\x55\\xae\\xe3\\x6c\\xf4\\xec\\xc0\\x70\\x1a\\xe6\\xe3\\xed\\x09\\x77\\xee\\xf5\\x09\\xb8\\x04\\x27\\x3b\\x6b\\xb0\\xc5\\x1e\\x35\\x74\\x49\\xcf\\xe7\\x43\\x00\\xc5\\x68\\x7a\\x3a\\x7a\\xb6\\xd8\\xa3\\x05\\x4c\\x4b\\x4b\\x70\\xfa\\xab\\x34\\x3d\\xa6\\xe5\\x41\\xad\\x5a\\xa3\\xd2\\xeb\\x63\\xf2\\xf9\\xf3\\x30\\x19\\xc5\\x5b\\x92\\x32\\xf4\\xec\\x84\\xe4\\x04\\x29\\x03\\xbe\\xc8\\x2a\\x55\\xca\\x92\\xef\\x63\\xa7\\x25\\x5d\\xe7\\x43\\x94\\x5a\\x30\\xc4\\xbb\\x21\\x9d\\x0f\\xe6\\x5a\\xa1\\x98\\x19\\xef\\x0f\\x24\\x73\\x31\\x7a\\xfa\\xf4\\xd1\\xfc\\xc5\\xd2\\x82\\x82\\x40\\xed\\x8c\\xfa\\x7a\\x1a\\x57\\x94\\xfb\\x85\\x7f\\x00\\x9c\\x12\\xa6\\xe3\\x71\\xc3\\xfc\\xb0\\x9a\\xf2\\xd6\\x56\\xc5\\x63\\x1b\\x61\\x04\\x7e\\x29\\xcd\\xc8\\x28\\x2d\\x4b\\xcf\\x28\\x15\\x44\\x06\\x4b\\x31\\xad\\xec\\x8b\\xfb\\xf1\\x74\\xfb\\xf3\\x58\\xe6\\xc1\\x24\\x48\\x0b\\x44\\x1d\\x40\\xc2\\x79\\x03\\xd9\\xc1\\x99\\xa1\\x08\\x19\\x68\\x67\\x64\\xd0\\x33\\xfc\\x9e\\x8d\\x71\\x37\\x4f\\xe8\\x3f\\xac\\xb2\\xdf\\xc4\\xed\\x71\\x9b\\xd4\\x35\\xaf\\xf9\\x87\\xa5\\x2d\\xcf\\x5a\\xb3\\x3a\\x6b\\x59\\xda\\xf0\\xe2\\x9b\\x31\\x9f\\x23\\x3f\\x83\\xe9\\xf6\\xc0\\xf6\\xa7\\x38\\x2b\\x97\\xcc\\x65\\x73\\xde\\xa0\\xc1\\x97\\x98\\xa8\\xcf\\x72\\x3a\\x8d\\x82\\x84\\xce\\x9b\\xf5\\x6c\\x7f\\x27\\xfb\\xad\\x3f\\xe6\\xd8\\x25\\x23\\x2a\\x50\\x3b\\x49\\x73\\x85\\x48\\xb8\\x4b\\x8c\\x35\\x42\\xec\\x51\\xcc\\xc0\\xc6\\xca\\x90\\xdf\\x1f\\x1a\\x39\\xab\\xb1\\x72\\x6c\\x61\\xe1\\xd8\\x91\\xb3\\xc2\\xaf\\xf4\\xce\\xc9\\xe9\\xd9\\x33\\x27\\xa7\\x37\\xb8\\x1c\\xf9\\xf6\\x6b\\xe5\\xf4\\x21\\x43\\xa6\\x57\\x56\\x4e\\xaf\\xa8\\x98\\x5e\\xe9\\x2f\\xc1\\xaf\\x7b\\x97\\xf8\\x15\\xc8\\xf6\\x87\\x52\\x7e\\x26\\xf7\\x8a\\x58\\x44\\xf5\\x28\\xbc\\x24\\xb1\\x95\\x72\\x81\\x32\\x60\\x24\\x24\\xbf\\x17\\x33\\x7a\\xaf\\x34\\x34\\x07\\xdb\\x39\\xfc\\x21\\xac\\x95\\xbf\\x3c\\x05\\xe2\\x4f\\x91\\x7c\\x43\\xe4\\x7a\\x61\\x45\\xfb\\x6b\\x9c\\x86\\xac\\x17\\xd8\\xc2\\x33\\xf6\\x13\\xcf\\x8f\\xc0\\x79\\x3d\\xc8\\xef\\xf0\\x16\\xa6\\x06\\x84\\x15\\xf2\\xc5\\xf0\\x5b\\xe1\\x37\\x0f\\x6e\\x5c\\x0b\\xfe\\xfe\\x0d\\x98\\xba\\xa4\\x44\\xde\\x01\\x16\\xfe\\xb6\\x98\\xe8\\xb4\\x97\\xf2\\xcf\\x08\\xc7\\xc4\\x42\\x9a\\x1f\\xf3\\x7e\\x12\\x8c\\x48\\x03\\x20\\x26\\xff\\xb1\\x2e\\xf9\\xc5\\xc2\\x48\\x01\\x94\\x9f\\x59\\x28\\x24\\xc2\\xa7\\x84\\xfd\\x51\\x99\\xe7\\xa2\\x62\\xb4\\xf9\\xd4\\xd5\\x33\\xfc\\x50\\x21\\x91\\xd8\\x15\\x87\\x57\\xca\\xef\\x81\\x97\\xda\\x6b\\x3b\\x64\\xc4\\x8f\\x95\\x54\\xe0\\x25\\x92\\x4a\\x7e\\x6f\\x0d\\x1b\\x87\\x1a\\xfe\\x79\\x61\\xa3\\xd0\\x8e\\x77\\x3c\\xcb\\x19\\xbb\\x64\\x68\\xb1\\x6a\\x14\\x66\\x94\\x48\\xa9\\x80\\x30\\x3e\\x69\\xa9\\xd1\\xed\\xde\\xe1\\xe4\\x31\\x13\\x20\\x6c\\xcc\\x6d\\xdd\\xb4\\x57\\xfe\\x5a\\xfe\\xea\\xe6\\x89\\x8b\\x92\\x36\\xe6\\x3e\\xb7\\x22\\x74\\xf1\\x16\\x60\\x3c\\x76\\x57\\x99\\xd0\\x7e\\xf0\\x8e\\xba\\xda\\xd1\\xe3\\x77\\x1f\\xc9\\xcc\\xad\\x7b\\x34\\x5a\\xfe\\x26\\xb1\\x04\\xe3\\x23\\xee\\xaf\\xa6\\x45\\x02\\xd1\\xfe\\xfa\\xd2\\x71\\xc1\\xbc\\xe4\\xb3\\x78\\x3d\\xc2\\xa6\\x8d\\x13\\xe5\\xd3\\xdf\\x7c\\x23\\x9f\\x99\\xb8\\xf1\\x32\\xcc\\x87\\x79\\xfc\\xf3\\xeb\\x16\\x2f\\x5e\\x07\\x16\\x2a\\x6d\\x94\\xeb\\xd1\\x1b\\x98\\x0f\\x10\\x99\\x2e\\x50\\x04\\x8c\\x6b\\xa2\\x3c\\x00\\xee\\x51\\x31\\x7a\\x63\\x4f\\x5b\\x3c\\xfa\\x12\\x33\\x00\\x73\\x16\\x13\\xde\\xbb\\x04\\x7c\\x04\\x39\\xfe\\x67\\x93\\x24\\x4c\\x95\\xc3\\x0a\\x3f\\x5e\\x09\\x2e\\x41\\x9e\\xff\\x09\\xbf\\x6b\\x94\\x2f\\x31\\xbd\\x10\\x97\\x08\\xbe\\x06\\xe3\\x44\\x8e\\xf2\\x9e\\xf1\\x41\\x93\\x70\\x85\\xff\\xea\\x9a\\xcb\\xdd\\xe5\\xca\\x85\\x6e\\xab\\x1f\\xbd\\xe6\\x5c\\xee\\x94\\xff\\xba\\x73\\xf9\\x4e\\x61\\xf3\\xb2\\x65\\x6d\\x53\\xe0\\xd5\\xb0\\xc0\\xca\\x1e\\x48\\xcb\\xfe\\x11\\x97\\xbd\\x40\\x7e\\x4f\\xa9\\x6f\\x02\\x6e\\x43\\x32\\xff\\x05\\x7e\\xb7\\xb4\\x1d\\x2a\\xba\\x9b\\xb1\\xe0\\x12\\x78\\x8f\\xff\\x19\\xf3\\x83\\x98\\x5a\\x58\\x75\\x26\\x93\\xee\\x1b\\x72\\xf8\\xf3\\x35\\x0d\\x00\\x40\\xaf\\x9d\\x90\\x65\\xce\\x0c\\xb2\\x88\\xa4\\x14\\xf5\\xb1\\x42\\x04\\xa6\\x39\\xdb\\xca\\x66\\x8f\\xfa\\x64\\xfd\\xf6\\xb1\\xf7\\xad\\x6a\\xda\\xac\\x5e\\x26\\xf4\\xef\\x5f\\xd7\\xd8\\x13\\xf6\\x3d\\xec\\xfb\\x7c\\xff\\xd6\\xb5\\xbf\\xac\\x5a\\x7c\\x83\\xb9\\x7c\\xe4\\xc4\\xd7\\x6e\\x78\\x12\\xd7\\x5d\\x0f\\x3e\\x84\\xb3\\xc8\\x1d\\x7c\\x61\\x96\\xfc\\x96\\x52\\x77\\x1f\\x70\\x19\\x7c\\x8b\\xfb\\xea\\x22\\x72\\x9e\\xe3\\x32\\x87\\x6c\\x9a\\xaf\\x8c\\xe4\\xb2\\x3d\\x35\\xa5\\x2a\\xff\\x4f\\x37\\xeb\\xfd\\x48\\xca\\xee\\x7a\\x9f\\xfe\\x85\\xe5\\x7e\\xcf\\x75\\x6e\\xd1\\xf3\\x0e\\xf9\\x87\\x9b\\xa9\\x5e\\x80\\xdc\\x5e\\x7e\\x94\\x8e\\x47\\x93\\xdc\\xa8\\xd4\\x7f\\x1f\\xae\\x7f\\x3b\\xff\\x23\\xde\\x25\\x70\\xfd\\x5a\\xc9\\x0c\\x8d\\xdf\\xa8\\xaf\\x48\\x5f\\x51\\xdf\\x22\\xfe\\x48\\xf4\\x0f\\x5a\\x65\\x20\\x12\\x6a\\x03\\x2c\\x4e\\x8d\\x1b\\xb2\\xc8\\xa2\\xdc\\x5b\\xef\\x3e\\xba\\x67\\x4a\\x12\\xbf\\x46\\x7d\\xb0\\x59\\x5e\\x08\\x87\\x9c\\xd8\\x37\\x71\\x98\\x9a\\x9c\\x6d\\xa6\\xe3\\x31\\xbd\\x57\\xd8\\x69\\x12\\x85\\x25\\xf7\\x93\\x71\\xdf\\x8b\\xeb\\x1e\\x4b\\xc7\\x7d\\x45\\x3b\\xa7\\xd4\\x6d\\xc5\\xef\\xb2\\xf9\\xcf\\x31\\x0e\\x5a\\xce\\x02\\x49\\x25\\x5e\\x41\\xc4\\x76\\xab\\xb0\\xdc\\x4f\\x4f\\x65\\x10\\xf0\\x01\\x44\\x9d\\x67\\x58\\x41\\xb7\\x9b\\x65\\x79\\x33\\xa8\\x3c\\xd5\\xb2\\xfe\\xbb\\xed\\xf2\\x73\\xcf\\xe0\\x36\\x97\\xc9\\x2f\\x83\\x2d\\x60\\x81\\xfc\\x01\\xc8\\x94\\x77\\xca\\xd4\\x57\\x37\\xf7\\x3b\\xff\\x10\\x2c\\xa1\\xbc\\xa2\\xf5\\x0c\\xc6\\x1d\\x51\\x91\\x0f\\x63\\xed\\xef\\xd1\\xef\\xf3\\xde\\xf8\\x84\\x7f\\xc8\\x06\\xf4\\x89\\x72\\x1b\\xc9\\x73\\x23\\xa6\\x89\\x27\\xdb\\x97\\x2a\\x79\\x70\\x47\\x3b\\xe5\\x11\\xec\\xc8\\x57\\x6c\\x05\\x27\\x71\\xa6\\x2d\\x36\\xf9\\xa7\\x44\\xb2\\x55\\x01\\x6e\\x0c\\xce\\xe3\\xa7\\x72\\x5d\\x52\\x50\\x67\\xe0\\x38\\x8d\\x86\\x37\\x99\\xa1\\xd4\\x62\\x60\\x16\\xe4\\x1d\\xe7\\xd6\\x5d\\x05\\xbd\\x4f\\xfe\\xa3\\xa0\\x47\\xcf\\x83\\x5d\\xc4\\xbf\\x2c\\x5f\\x69\\x11\\xa1\\x23\\x12\\xd7\\x89\\xc4\\xe5\\xb7\\xa4\\x73\\x83\\xa8\\xb6\\x71\\x1f\\x37\\xbb\\xad\\xb5\\x23\\x9d\\x29\\x03\\xbf\\x89\\x6b\\x6b\\x35\\x45\\xd2\\xa7\\xcb\\x7f\\x80\\x9f\\xf9\\x1e\\x26\\x91\\x63\\xf6\\x71\\x5f\\xf3\\xcf\\xc1\\x5e\\xa2\\x14\\xbd\\x8f\\x00\\x3b\\x8f\\x07\\x35\\x59\\xfc\\x5a\\x5c\\xfd\\x86\\x24\\xb7\\xf3\\xcf\\x79\\x41\\x6a\\x9a\\xfc\\x29\\x95\\x87\\xdb\\xf8\\x47\\xe1\\x36\\xb1\\xaf\\xc2\\x73\\x17\\x06\\x1d\\x3c\\xd0\\xe8\\x81\\xde\\xa8\\x16\\x45\\x03\\x16\\x8d\\x21\\x16\\x8d\\x89\\x8f\\x4a\\x4c\\x61\\xf1\\x7f\\xf1\\xa6\\x8b\\x1d\\xd7\\xc2\\xca\\x62\\x6c\\x22\\x51\\x9a\\x22\\x2a\\xbf\\x2d\\x6d\\x7f\\x42\\x6a\\x93\\x3f\\xf1\\xee\\x49\\x01\\xfd\\x52\\xf6\\xa4\\xf0\\x8f\\x7a\\x41\\x53\\x9a\\xbc\\x3b\\x99\\x0a\\xca\\x18\\x37\\xf6\\x71\\x1c\\xff\\x95\\xb0\\x0e\\xf7\\x33\\x95\\xe3\\xcc\\x12\\x2a\\x6b\\x7f\\xa0\\x7d\\x05\\x67\\x3b\\x05\\x4d\\x08\\x9e\\x93\\x7f\\x6b\\x35\\x9b\\x05\\x21\\x0d\\x64\\x17\\x73\\xe5\\xc5\\xb4\\x5f\\xf7\\x81\\xa7\\xc1\\x6d\\xf0\\x2e\\x4c\\x1f\\x72\\x83\\x09\\xf4\\xb2\\x03\\x07\\xf6\\x85\\xf2\\xf0\\x2f\\x41\\x77\\x76\\x05\\x17\\x74\\xc4\\xe1\\x0f\\x83\\xad\\x82\\x1a\\xc0\\x67\\x33\\xc7\\x9d\\x11\\x0f\\x10\\xf7\\x65\\x3f\\x9f\\x0d\\x9e\\xbe\\x74\\x89\\x8c\\xd7\\x70\\x8e\\x13\\xa7\\x08\\xeb\\x4c\\x19\\x5c\\x26\\xf7\\xbb\\x52\\xf3\\x54\\x5a\\x33\\x30\\x20\\x70\\xae\\xbd\\xae\\xd5\\x68\\x04\\x40\\xa9\\x19\\xa7\\x1f\\x82\\xd3\\xbf\\x4c\\xd3\\x67\\x73\\xb2\\x92\\x7e\\x52\\x4c\\xfa\\x11\\x38\\x7d\\xb4\\xa5\\x2c\\x3d\\x12\\x68\\xfa\\x1c\\xee\\xb3\\xce\\xe9\\x45\\x56\\xbe\\x24\\xc5\\x94\\xdf\\xfe\\xef\\xf6\\x6f\\x44\\xaf\\xb0\\xc7\\x94\\xce\\x15\\x7a\\x59\\x6a\\x03\\x1b\\x87\\x24\\x3c\\x0e\\xed\\x33\\x5b\\x13\\x12\\x34\\x9a\\xe8\\x38\\xe0\\xf2\\x5f\\xe2\\x38\\x69\\x26\\x2d\\xbf\\x17\\xd8\\xa3\\x94\\xff\\x11\\x2b\\x5f\\x4b\\xca\\xff\\x53\\xab\\x4e\\x87\\x50\\x47\\xf9\\x78\\xe1\\x09\\xdf\\x92\\xf2\\xd1\\xb8\\x44\\x96\\xda\\xc1\\x52\\x67\\x91\\xd4\\xfd\\x5a\\x33\\x32\\x7c\\xbe\\xd8\\xf2\\xbb\\x63\\x62\\xfc\\x94\\xd8\\xd7\\x92\\x8e\\x30\\x82\\x9a\\x45\\xd4\\xa3\\x90\\xe3\\xdc\\xc4\\x0b\\x3e\\xd0\\x99\\xd3\\xf1\\xe7\\x06\\x8b\\x4b\\x50\\x93\\x0c\\xc5\\xc5\\x1c\\xfd\\x88\\xce\\x25\\xf1\\x39\\x90\\x4a\\xcb\\x28\\xc7\\x75\\x9a\\xe8\\x73\\x1a\\x9d\\xbb\\x72\\x0e\\xf0\\x7f\\x15\\xd6\\x61\\xdc\\xf2\\x06\\x4d\\x88\\xe7\\x31\\x1a\\x49\\x02\\x6c\\x08\\x09\\x88\\x47\\x16\\x16\\xa3\\xa6\\xc3\\xc8\\x41\\xf2\\x22\\x1f\\x4e\\x9e\\x14\\x0e\\xfc\\xfc\\x0c\\xb0\\x08\\xeb\\xf6\\x5f\\x75\\x0b\\x6b\\x99\\x7e\\xe2\\x03\\x5c\\xcf\\x9b\\xd4\\x7e\\xcf\\xc0\\x95\\x04\\xe3\\x01\\xa7\\x11\\x91\\x06\\x99\\x0c\\x3c\\x6f\\x14\\x05\\x68\\xe0\\x0d\\x0d\\x21\\xde\\xa2\\x01\\xf4\\x2c\\xad\\x90\\x79\\x87\\xea\\xec\\x8c\\x82\\x06\\x98\\xc1\\xf8\\x99\\x86\\xba\\x83\\x62\\x12\\x57\\x16\\x7e\\xff\\x57\\xa0\\x4a\\xb8\\x9a\\x9a\\xc8\\x27\\x3e\\x64\\xb4\\x19\\xcb\\x7a\\xca\\xa2\\xb0\\xf6\\xaa\\x6e\\xc7\\x0e\\x23\\x9a\\x38\\x7c\\x8f\\xdd\\xb3\\x78\\x6a\\xdb\\xbd\\x5c\\xb4\\x4f\\x8d\\xb4\\x4f\\x99\\x74\\x4f\\xc1\\x6d\\x11\\x12\\xe8\\x73\\xef\\xe8\\xef\\xaf\\xd2\\x67\\x62\\xe4\\x83\\xb8\\xe9\\xed\\xdf\\x08\\xbf\\x0a\\x7b\\xa8\\xdf\\x92\\x64\\xae\\x26\\x98\\x8f\\x80\\x23\\xd1\\x61\\x48\\x94\\x0c\\x92\\xc7\\xcb\\xa1\\x86\\x90\\x91\\x1b\\xc9\\x91\\x48\\xac\\xdc\\x71\\xee\\x13\\x8e\\xb7\\x62\\x94\\x8e\\xe3\\xb5\\x71\\x0d\\x21\\xad\\x95\\xb7\\x34\\x10\\xef\\xcd\\x5d\\x7c\\x03\\x37\\x67\\x77\\x09\\x1f\\x47\\xdc\\x39\\x02\\x0f\\x67\\xd6\\x00\\xde\\x87\\x41\\x91\\x25\\xd5\\x19\\x09\\x63\\x96\\x4a\\x82\\x60\\xc3\\x44\\x38\\x2c\\x39\\x7c\\x1a\\x1c\\x06\\x76\\xd0\\x57\\x78\\x4f\\xde\\xfe\\x8d\\xfc\\xb9\\xfc\\xd2\\x5f\\xc0\\xf2\\x2f\\x5e\\x91\\xbf\\xde\\xfd\\xee\\x9f\\x5f\\x04\\xf6\\xbd\\x7f\\x45\\xf1\\x07\\x51\\x82\\xfc\\x92\\xfc\\x6f\\xf9\\x67\\x79\\xd9\\x3b\\xa0\\x27\\x70\\x7c\\x0f\\x6e\\xf9\\xeb\\x5d\\x27\\xe5\\xbb\\x4f\\xbf\\xf5\\xe1\\x23\\x60\\xec\\xb3\\x6f\\x7c\\xcc\\xfa\\x5f\\x8d\\x27\\x20\\x85\\xf6\\x2f\\x27\\xda\\xdf\\x43\\xf4\\xb9\\x3b\\xa5\\xeb\\x87\\xf1\\x1c\\x7f\\x81\\xe7\\x58\\x43\\xee\\x93\\x6a\\x88\\x75\\x24\\xcf\\xa9\\x74\\x2a\\xad\\x86\\x57\\x23\\x49\\xa5\\x02\\x9c\\x85\\x4c\\x4a\\x1e\\x0d\\x83\\x07\\x62\\x6f\\xd6\\xa5\\xf9\\x50\\x7a\\x06\\x89\\x3e\\x04\\xfc\\xfc\\x17\\xcf\\x3f\\x6f\\x35\\xf5\\xeb\\x1f\\x7e\\xec\\x75\\x54\\xf5\\x12\\x40\\x9f\\x4e\\xbe\\x73\\x4b\\x73\\x9b\\x47\\x58\\xcb\\xea\\x13\\x8f\\xd1\\xfa\\xf2\\xa3\\xf5\\xbf\\x42\\x9f\\x0b\\x28\\xfd\\xfa\\x11\\x3f\\x37\\x50\\x1b\\x02\\x09\\xef\\x2d\\x55\\xc1\\x02\\xa4\\x51\\x11\\x1b\\x51\\xa0\\x17\\x75\\x5a\\x0d\\x1e\\x6e\\xed\\x48\\xed\\x1a\\x2d\\x32\\x6a\\xcb\\xb5\\xc7\\xb5\\x9f\\x68\\xf1\\x80\\x6b\\xb5\\x3a\\x4c\\xfb\\x1b\\x42\\xa2\\x85\\x4c\\x07\\x41\\x9a\\x6b\\x06\\x1c\\x44\\xbd\\x69\\xd2\\xc1\\xc6\\x98\\x43\\xff\\xd2\\xf9\\xb2\\xa4\\xab\\x2f\\xa3\\xcd\\xc9\\x57\\xd7\\x25\\xf3\\x93\\x92\\xda\\xce\\x26\\x09\\x6b\\xf7\\x5f\\x3d\\xbb\\x7f\\x3f\\xdc\\x78\\xd7\\x5d\\x31\\xbe\\xaf\\x45\\xe2\\xfb\\x9a\\xe2\\x3f\\x27\\xbc\\x4e\\xed\\x58\\xd3\\x82\\x16\\x8c\\xff\\x2a\\x20\\x8a\\x6a\\x65\\x01\\xf0\\x74\\x60\\xf2\\xca\\x63\\x2f\\x80\\x78\\x89\\x2f\\x26\\xe0\\x05\\x28\\xfc\\x53\\x18\\xfc\\x84\\x57\\x01\\xbf\\x4a\\xfe\\x8e\\xff\\xf4\\x2a\\x1e\\x89\\x3f\\xd6\\x28\\x7d\\x1f\\x42\\xfb\\xee\\xa7\\x63\\xff\\x07\\x7e\\x46\\xf4\\x2c\\x79\\x70\\x30\\x55\\x42\\x50\\xa5\\x55\\x21\\x12\\x24\\xd7\\xc0\\x69\\xf4\\x48\\xe2\\x71\\x1f\\xd5\\x2a\\xcc\\xdc\\xf0\\x08\\x68\\x38\\x3c\\x14\\xa4\\xc6\\x88\\x23\\x23\\xb3\\x3f\\xe2\\x1d\\xb5\\xc3\\xed\\x1c\\x6e\\x81\\x2f\\xa0\\x26\\x1a\\x5c\\xdc\\x65\\x12\\xcb\\xc0\\x0b\\xb7\\xc9\\xa1\\x44\\xf4\\xcf\\xa4\\xb6\\xcb\\xa0\\xc5\\x15\\x3e\\x85\\xa6\\x26\\x3f\\x04\\x07\\x82\\xdf\\xef\\xdc\\x2f\\x07\\x16\\x86\\x7f\\xda\\x4f\\xe6\\xe3\\x1c\\x6e\\xc3\\x78\\xda\\xa6\\x00\\x9d\\x9f\\x77\\xf1\\xf3\\x5b\\xf4\\xb9\\x17\\x5d\\x0f\\xab\\xdb\\x7f\\x11\\xa7\\x0a\\xdb\\x68\\x5c\\x83\\x4c\\xae\\x39\\xd8\\xc3\\xea\\x70\\x66\\x26\\x7b\\x34\\x92\\xe4\\xc9\\x74\\xf0\\x76\\xb5\\x5a\\xa5\\xb2\\xd9\\xed\\xa9\\x6e\\xb7\\x21\\x15\\x19\\x50\\xb7\\x2c\\xab\\x23\\xd3\\x31\\x29\\x44\\x92\\x48\\x9e\\x49\\x21\\x8d\\x94\\x89\\xff\\x53\\xd9\\x6d\\x56\\xb5\\x0a\\x45\\x4c\\xce\\x99\\x53\\xab\\xa8\\x4a\\x24\\x66\\x75\\x98\\x63\\x7b\\xa3\\x38\\x67\\x4a\\x49\\x2d\\x36\\x71\\x5e\\xea\\x3d\\xaf\\x90\\xc7\\x02\\x18\\x9f\\x0d\\x24\\x5f\\x39\\x50\\x9c\\x82\\x23\\xc5\\xc9\\x36\\x6c\\xb9\\x22\\x7f\\x0d\\x06\\x03\\xf3\\x21\\xdf\\x59\\x6f\\xc1\\x65\\xe0\\xba\\x5d\\xfe\\xfe\\xd4\\xc1\\xee\\x67\\x73\\xde\\x59\\xf9\\xea\\xfb\\x8f\\xde\\x39\\xf0\\xb1\\x95\\xaf\\xbe\\xf7\\xe8\\x9e\\x41\\x1f\\xc8\\x1f\\x70\\xed\\x20\\xf3\\xcc\\x99\\xb6\\xbf\\x3e\\xd0\\xb6\\xf1\\xb3\\xcf\\x6e\\x7e\\xfd\\xf9\\x83\\xc7\\x5f\\x7f\\xf6\\xe0\\x09\\x4a\\x1b\\xfe\\x8a\\xfb\\xbe\\x87\\xf6\\xbd\\x27\\x9d\\xff\\x37\\x31\\xee\\x3e\\x87\\xe7\\xc7\\xc3\\x0d\\x0d\\xa6\\x5a\\x3d\\x1e\\x13\\x5e\\xeb\\x9a\\x38\\xdc\\xf5\\x78\\x6f\\x7c\\x4a\\x32\\x30\\x81\\x49\\x21\\xab\\xc9\\xa4\\x8a\\x8b\\x53\\x99\\xcd\\x2a\\xe4\\xa1\\x18\\x41\\x59\\x50\\xe6\\xc4\\x34\\xea\\xe2\\x9e\\x05\\xc7\\x8d\\xf8\\xaf\\xb5\\x76\\x04\\x51\\xa6\\x4d\\xc7\\x5f\\x9c\\x91\\x28\\x72\\xbc\\xd7\\x87\\xe0\\x8e\\x1a\\xff\\x17\\xbf\\x69\\xc7\\x3e\\x33\\xd6\\x74\\xe0\\x40\\xe9\\x91\\xc7\\x8e\\xcc\\xb8\\xf1\\xee\\x86\\x84\\xb1\\xcf\\x4c\\xc9\\x97\\xdf\\x91\\xe5\\xc6\\x1a\\xf0\\xd0\\x85\\xe7\\x07\\x17\\x80\\x37\\xe4\\xdc\\x49\\x9e\\xa5\\xab\\xd1\\x90\\xb6\\xb3\\x70\\xd8\\xde\\xdd\\xe0\\x2f\\xb2\\xf0\\xcb\\x97\\x72\\x2d\\x69\\x77\\x32\\xee\\xc7\\x9b\\x98\\x86\\xa5\\x73\\xc3\\x82\\x59\\x9e\\x78\\xbd\\xc4\\x9b\\x9c\\x4e\\x9f\\x89\\xe7\\xb5\\xbe\\x04\\x3e\\x23\\x53\\x1f\\x1f\\x9f\\x94\\x98\\x90\\xd8\\x10\\x4a\\xb0\\xe8\\xd4\\x0d\\x21\\x9d\\x85\\xb3\\x36\\x44\\x03\\xfd\\x44\\xfd\\xf3\\x99\\x63\\xc2\\x8e\\xb1\\xa5\\x44\\x02\\x2c\\x9a\\x38\\x81\\xc4\\x75\\xf1\\x06\\x94\\x78\\xfd\\xd4\\xfd\\xa7\\x93\\xb0\\x0e\\x85\\xce\\x74\\x48\\x63\\x2e\\x2e\\x3b\\x0d\\x4c\\xb7\\xca\\x1f\\xca\\x97\\xef\\x2b\\x94\\x93\\xc2\\xa7\\xb2\\xff\\xf5\\xdb\\x87\\x2f\\xdd\\xf9\\xf3\\xe6\\xb5\\x3b\\x73\\xc3\\x1f\\x25\\xfd\\xb9\\xf8\\xec\\xe1\\x93\\x8f\\x83\\x91\\xc2\\x9e\\x4d\\x57\\x1f\\x94\\x7f\\x90\\x77\\x8c\\xd1\\xee\\xff\\x74\\x04\\xe8\\xff\\xcf\\x97\\x3e\\xd9\\x2e\\x87\\x1f\\x3d\\xf2\\xcf\\x9a\\x4f\\xf7\\x6b\\xc7\\x82\\xdc\\xc7\\x5e\\x07\\x03\\x4f\\x2a\\xf4\\x0b\\x59\\xc4\\x93\\x98\\xdf\\xc8\\x21\\xfb\\x9a\\x1a\\xfc\\x99\\xe3\\x9c\\x41\\x3d\\x04\\xbc\\x90\\x0e\\xc1\\xa3\\x2a\\x91\\x83\\x74\\x57\\x23\\x9b\\x5a\\x14\\x7f\\x69\\xfa\\x5e\\x64\\x97\\x55\\x03\\x10\\xe4\\x94\\x1c\\x6a\\x92\\x43\\xa7\\xd7\\x22\\xa9\\x23\\x07\\xc5\\xf9\\x41\\xed\\x57\\xf8\\xf3\\xa2\\x84\\xf7\\xce\\xa9\\x6c\\x67\\x06\\xd3\\xf0\\x0f\\xd6\\xa0\\x16\\x76\\x33\\xa7\\xc3\\x85\\xdd\\x72\\x5d\\x2a\\xba\\xd5\\x66\\x2b\\xe9\\x53\\x30\\x4f\\xb7\\x9f\\xa6\\x9f\\xa9\\xa4\\xb7\\xb0\\xf4\\x20\\xd3\\x9c\\x0e\\x5e\\xcc\\xcc\\xd6\\x38\\x3b\\xa7\\x27\\xb1\\x5e\\x69\\xfa\\x46\\x25\\xfd\\x1d\\xf8\\x07\\x7b\\x2b\\x48\\xc6\\xc9\\xcf\\x01\\x7d\\x6b\\x72\\x8a\\xc6\\x1d\\xc9\\xc1\\xe8\\x04\\x6c\\xa2\\xe9\\xd9\\x5e\\x5e\\x56\\xc4\\x4a\\xc7\\x3b\\x39\\x78\\x57\\x67\\x64\\xfb\\xb8\\x92\\x96\\xc6\\xc0\\xa1\\xfb\\xfe\\x12\\x5a\\x76\\x0f\\x40\\x0e\\x05\\xd8\\xce\\xef\\xa2\\x3b\\xff\\xbc\\xa4\\x54\\x9b\\x3e\\x76\\xe7\\xa7\\x72\\x1b\\xed\\x33\\x3f\\x82\\x4b\\xe0\\xb2\\xb8\\x7e\\x41\\x9f\\x41\\x8f\\xd3\\x22\\xc9\\xeb\\x75\\xe9\\x5d\\xdd\\x30\\xdd\\xcf\\xb6\\xfb\\xaa\\x42\\x66\\xbb\\xc3\\x40\\xa2\\x3f\\x92\\xe8\\x19\\x34\\x28\\x01\\x0d\\xe0\\x5a\\xee\\xcf\\x8e\\xd9\\x9c\\x23\\x21\\xac\\x88\\x6f\\x58\\x8c\\xc4\\x7e\\x11\\x4a\\x26\\xa7\\x2f\\xbd\\x37\\x88\\xfa\\x8d\\xed\\x03\\x9c\\x14\\x4d\\x68\\x94\\x4e\\xbc\\xbd\\xd5\\xac\\x3b\\x6a\\x87\\xba\\xbe\\xbe\\x27\\x4b\\xef\\x4b\\x49\\x38\\x61\\xe1\\x43\\xa7\\x17\\xdc\\x73\\xa2\\x62\\xe3\\x33\\x9b\\x17\\xdd\\x52\\xfd\\xc4\\xbc\\x0b\\x41\\xb8\\x88\\x1f\\xd1\\xb2\\x30\\x6d\\x7d\\x69\\x8d\\xbc\\x63\\x81\\xfc\\xf8\\x93\\x63\\x6f\\x33\\xdd\\xb1\\xe2\\xf5\\xa7\\xd7\\x81\\x6e\\xaf\\x4e\\xde\\x70\\x40\\x7e\\x71\\xfd\\xbf\\x2f\\x5f\\x18\\x76\\xdf\\xc3\\x98\\xaf\\x78\\x1d\\x8f\\xeb\\x24\\x1a\\x33\\x2d\\x8b\\x1b\\x1b\\xec\\xee\\x51\\xc7\\xfb\\x44\\x94\\x61\\xcb\\x40\\x6a\\x94\\x6d\\xb5\\xd9\\xba\\xd9\\xac\\x6e\\x31\\xd5\\x97\\x8a\\x7b\\x92\\x9a\\xaa\\xe3\\xe2\\x13\\x89\\xd3\\x7b\\xa3\\xce\\xc1\\x39\\x89\\x0f\\xfc\\xae\\x71\\x46\\x95\\x48\\xf1\\xfe\\xeb\\xf6\\x8d\\x9c\\x6c\\x92\\xf3\\x4d\\x8e\\xdc\\x21\\xf1\\x61\\x69\\xc5\\x87\\x59\\x1c\\x8f\\x16\\x28\\xb7\\x49\\xd2\\x7d\\x01\\xea\\x6f\\x18\\xfe\\xf0\\xe0\\xcb\\x87\\x6e\\x6a\\xde\\x21\\x7f\\xf1\\xd3\\x8c\\xfb\\x03\\xa2\\x51\\x18\\x7c\\x0a\\x38\\x27\\x80\\xfd\\x72\\x5b\\xdf\\xbb\\x4b\\x1f\\x1e\\x72\\xff\\xd9\\x7d\\xeb\\x13\\xf6\\xee\\x9e\\x23\\x5c\\x38\\x75\\xeb\\xae\\x0b\\x89\\xee\\x47\\x96\\x5d\\x92\\xaf\\x96\\xa6\\xcf\\x4c\\x91\\xf7\\x08\\xfb\\xc1\\x5f\\x77\\xc8\\x27\\xdb\\x2e\\xa5\\x05\\x4e\\x1c\\x58\\xb4\\xfd\\x66\\xfb\\x1d\\x1b\\xc7\\xce\\xa4\\xf7\\x57\\xe5\\x31\\xfc\\x64\\x1a\\xa3\\xb6\\x47\\x30\\xc9\\xa0\\xe6\\xf1\\xe6\\x67\\x34\\xea\\x78\\x64\\xc2\\x93\\x64\\x76\\xf3\\xc0\\xc8\\x03\\x35\\x6f\\xb0\\x6b\\x59\\x88\\xa3\\xbc\\xf2\\xb2\\xb2\\x09\\x13\\x3a\\xbb\\x4e\\xa6\\xbe\\x1f\\x70\\xe3\\x4b\\x02\\x98\\x89\\xc2\\x2d\\x2f\\x09\\x20\\x90\\xb3\\x40\\x34\\xe7\\x0f\\x06\\x0b\\x9f\\x0b\\x9f\\x5c\\x58\\xf3\\x4c\\xef\\xe6\\x8b\\x7c\\x8f\\xf0\\x84\\xb4\\xbd\\x79\\x4d\\x2b\\xe0\\x7d\\x57\\xaf\\xbe\\x21\\xff\\xf8\\xf4\\x2f\\x7c\\x1e\\xc5\\x13\\x12\\xaf\\x76\\x03\\x8d\\x4f\\x9f\\xcc\\xd5\\x07\\xf3\\x8d\\x62\\xb9\\x08\\xad\\x3c\\x32\\x1b\\xdc\\xfa\\x04\\xb5\\xcb\\x95\\xe0\\x36\\xf3\\x49\\x9e\\x24\\x6f\\x82\\x2e\\x51\\x57\\x15\\x72\\x1b\\x44\\x31\\xd3\\x68\\xa9\\x10\\xb9\\x44\\xce\\xce\\x11\\x9f\\xc4\\x11\\x9f\\xf8\\xd9\\x1d\\x1b\\x56\\x2c\\x7d\\xe7\\xf0\\x7e\\x8d\\x69\\x3c\\x1d\\xc3\\x0c\\xe6\\x4a\\x38\\xc3\\x1a\\x8d\\x14\\x53\\x5c\\xc4\\xa5\\x21\\x12\\xe0\\xa6\\xfd\\xbe\\xf3\\xe5\\x95\\xbf\\x7e\\xb2\\x15\\xcc\\xb9\\x33\\x3c\\x2f\\xb4\\xa3\\x9d\\x3b\\xf4\\xda\\x57\\x20\\x05\\x64\\x86\\x9d\\xf0\\xa3\\xf8\\xe6\\xaf\\x9e\\x6f\\x3c\\x37\\x6d\\xa4\\xfc\\xcb\\x73\\xeb\\x6e\\xe5\\xdf\\x57\\xc9\\x4f\\x6e\\xfb\\xfa\\xc6\\xfb\\xe5\\xb6\\x1d\\xff\\x78\\xfa\\x4b\\x10\\xac\\x02\\x35\\x4b\\x36\\xd0\\x18\\x02\\x64\\xcd\\x62\\x7c\\xcf\\x20\\xd1\\x79\\x92\\xcc\\x69\\x1a\\x8d\\x59\\xef\\xe1\\x05\\x67\\xa6\\x33\\x4b\\xef\\xf1\\x7a\\xbc\\x55\\x21\\x8f\\xc7\\xc6\\xd9\\x88\\xc3\\x6e\\x57\\x8b\\x0b\\xea\\x90\\xcb\\x65\\x33\\x49\\x1c\\x71\\xb6\\x2c\\x39\\x3a\\x6e\\x16\\x45\\x82\\x3d\\x28\\xf8\\xd2\\xd9\\x1f\\x62\\x4c\\x24\\x0e\\x8c\\xea\\xca\\xfd\\xa2\\x0e\\xb7\\xc0\\x5e\\x89\\x39\\xbc\\x00\\xb7\\xcc\\x3e\\x34\\x68\\xcc\\xc4\\xd7\\xb7\\xde\\xf7\\xf4\\x89\\x5d\\x60\\xcc\\xf4\\x37\\x9f\\xde\\xfc\\x70\\xd1\\xe6\\xac\\xf9\\xc3\\xa6\\x2e\\x04\\x15\\xee\\xa7\\x8e\\x8c\\x98\\xb9\\xa8\\x6a\\x40\\xe3\\xc4\\xda\\xc3\\x5b\\x56\\xdc\\x6b\\x80\\x71\\x4b\\xab\\xb6\\xef\\xab\\x19\\x33\\xba\\xbc\\x74\\xfc\\x88\\x83\\x3b\\x72\\x26\\x0d\\x1d\\x36\\x96\\xf4\\xa7\\xb7\\x7c\\x2b\\xaf\\xc6\\xf3\\xe2\\x23\\xd1\\x1b\\xf5\\x76\\xbb\\xe0\\x11\\xdc\\x29\\xee\\xd4\\x64\\x0f\\xc7\\xa5\\x79\\x40\\x8a\\x2f\\xa5\\x3a\\xa4\\x76\\x09\\x2e\\x3b\\x32\\xfb\\x30\\x27\\x9b\\x57\\x4e\\x5b\\x19\\x0d\\xd6\\xe9\\x8f\\x60\\x38\\x43\\x70\\x23\\x50\\x81\\xa8\\xdb\\x62\\x03\\x20\\xfe\\x41\\xc8\\x84\\x90\\x1e\\x70\\xa0\\x9c\\x90\\x7b\\x5e\\x1d\\x77\\x58\\x7e\\x4e\\xbe\\x92\\x55\\xb3\\x64\\xd1\\x34\\x7f\\x62\\xce\\xa0\\x19\\x79\\x29\\x13\\xb6\\xdd\\xbb\\x1d\\xa4\\x83\\xb2\\x07\\xc1\\x9f\\xe4\\x77\\xe3\\x85\\x0b\\x6b\\xf6\\xca\\xef\\xca\\xd3\\x0e\\xe5\\xf7\\xcb\\x4b\\xf1\\x94\\x55\\x06\\x72\\xaa\\x86\\x8d\\xaa\\x08\\x0c\\x4e\\xc8\\xe9\\xe5\\xeb\\xb6\\x73\\xde\\x59\\xf0\\x18\\x70\\xdf\\x29\\x8a\\xeb\\x95\\xd8\\xd1\\x24\\xf6\\x35\\x89\\x3d\\x98\\xae\\xd2\\xd8\\x2c\\x16\\xb3\\x59\\xad\\xe1\\x92\\x90\\xdb\\x9d\\xa4\\x41\\xc9\\x1e\\x97\\x40\\x02\\x01\\xdb\\xb5\\x89\\x40\\x25\\x98\\x8d\\x6a\\x8d\\x9d\\x45\\xd0\\x2d\\x77\\x96\\x95\\xc7\\xc6\\xb1\\x51\\x7c\\xb2\\x11\\xf4\\x8e\\x75\\x63\\x48\\x5a\\xee\\x77\\xd8\\x63\\x02\\x5e\\x2f\\x7f\\x4b\\xf1\\x07\\xbb\\x4f\\xa5\\x13\\xd1\\xfd\\x46\\xc5\\xfb\\xeb\\xdb\\xb8\\x19\\xdd\\x23\\x6e\\x5f\\xed\\x69\\xd3\\xcd\\xda\\xc5\\xea\\x5e\\xab\\x98\\xb7\\xd7\\xab\\xaf\\x31\\x59\\x80\\x1f\\x88\\xc7\\xd8\\x40\\xb9\\x9f\\xf2\\xa0\\x27\\xde\\x62\\x4f\\x4c\\x84\\x76\\x0d\\xd4\\x78\\x3d\\xf1\\xd6\\xea\\x50\\x7c\\xbc\\xc4\\x49\\xc6\\xaa\\x10\\xc6\\x10\\x67\\x75\\x94\\xa6\\x74\\x20\\x48\\x67\\xbe\\xdf\\x63\\xb6\\x69\\x00\\x53\\x30\\xc4\\x83\\x12\\x54\\x68\\xb1\\x7a\\x45\\xbb\\x09\\xa4\\x40\\xe4\\x25\\xf8\\x0f\\x3f\\x00\\x73\\xa7\\x1f\\xfa\\xf4\\xb6\\x87\\x9f\\x98\\x75\\xf0\\xd2\\xe2\\x5b\\x9e\\xee\\x15\\x7e\\x2b\\x1e\\x3c\\xb1\\xeb\\x5c\\x1f\\x98\\xef\\x9e\\x28\\x5c\\x90\\x4b\\x8f\\xc9\\xfd\\xe4\\x4b\\xdb\\xaf\\x7e\\xf6\\x20\\x38\\x01\\x12\\xb7\\xfd\\x71\\x1f\\xb0\\x81\\x84\\x3d\\x37\\xca\\x1f\\xf2\\x7f\\xc3\\x62\\xc0\\x3f\\xee\\x6e\\xda\\x79\\x13\\xe3\\x59\\xc1\\x11\\x1a\\x2b\\x23\\x3f\\xe8\\x81\\x08\\xe9\\xf4\\x2d\\xe4\\xf2\\xe7\\x48\\x3d\\x48\\xd6\\xe7\\xe9\\xef\\xd1\\x1f\\xd7\\x3f\\xa3\\xff\\x5e\\xdf\\xae\\x97\\x54\\x46\\x48\\xbc\\xd2\\x02\\x72\\x99\\x95\\xa1\\x41\\x80\\x99\\x2f\\x52\\x46\\xe4\\xe7\\xdc\\x97\\x12\\xb4\\xf7\\xb5\\xde\\xaf\\xde\\x36\\xb4\\x6f\\x66\\x6d\\x51\\x4f\\x54\\xd9\\xf6\\x60\\x6e\\x24\\x16\\x47\\x1d\\x8d\\x33\\xd1\\x2f\\x88\\x09\\x20\\x1e\\x25\\x3c\\xa4\\x24\\xca\\x04\\xbd\\xd0\\x0e\\x25\\x20\\x69\\x91\\xa0\\x56\\x0b\\x46\\xcc\\x21\\xdb\\x29\\x45\\xc2\\xdc\\x10\\x9d\\xb1\\x18\\x81\\x2e\\x32\\x24\\x5e\\xc0\\xf4\\x63\\x01\\xe2\\x48\\x05\\xbe\\x25\\xff\\x7c\\xb4\\xe2\\xd4\\xdb\\xad\\xd3\\x2f\\x80\\xc6\\x8f\\xc3\\xdf\\x81\\x2a\\xf0\\xeb\\x4a\\x79\\x13\\xa6\\x4c\\xe1\\xa7\\xc1\\x40\\x39\\x2f\\x7c\\x07\\xb5\\x19\\xc4\\xfc\\xc0\\x7a\\x3c\\x27\\x16\\x6e\\x54\\x30\\x57\\x34\\x73\\x9c\\x49\\x6f\\x34\\xe8\\x0d\\x36\\xb3\\xc5\\x62\\xc5\\xbf\\x27\\x9b\\xca\\x4d\\x90\\x33\\x01\\x35\\x32\\x71\\x40\\xcf\\x6b\\x0c\\x16\\x8b\\xc1\\xae\\xe1\\xab\\x42\\x9a\\x08\\xc1\\xcf\\x23\\x0b\\x96\\x7a\\xcb\\xe8\\xec\\xef\\x90\\x22\\x52\\x06\\x59\\xaa\\x8a\\x7b\\x1c\\xa7\\xd5\\x87\\x80\\x0f\\xe6\\x98\\xe3\\x7b\\x0c\\x48\\xcc\\x74\\x39\\xc6\\xf9\\x66\\xce\\x4f\\x7b\\xbd\\x75\\xa5\\x6c\\x7f\\x11\\xbd\\x3b\\xf5\\xee\\x19\\x9a\\x75\\x2a\\xd3\\x2d\\x2f\\x5d\\xdd\\x06\\xe5\\x30\\x64\\x3a\\xb2\\x77\\xe5\\x25\\x7c\\x5f\\x1a\\x5b\\xb8\\x36\\x98\\x8d\\xe2\\x48\\xf4\\x90\\xa4\\x78\\xb7\\xdb\\xe8\\xd1\\x60\\x04\\x37\\x19\\x0c\\x46\\x63\\xb2\\x06\\x25\\x60\\xd2\\x1d\\x1f\\x6f\\x32\\x1a\\x0d\\x6e\\xc9\\x41\\x51\\x27\\x1a\\x36\\x50\\x69\\x5c\\x8c\\x77\\xc8\\x98\\x80\\xf6\\x64\\xb8\\x02\\x91\\x20\\x81\\x19\\x18\\xe0\\x3d\\x48\\xf1\\x49\\xca\\xbc\\x93\\x4a\\xf0\\x02\\x6f\\x11\\xf8\\x7e\\x6b\\xc7\\x8c\\xbe\\xd1\\xce\\x43\\xd5\\xa8\\xd3\\x20\\xe9\\xcc\\x2a\\xdd\\xcb\\xf3\\x0e\\x27\\x2e\\x3d\\x7d\\x9f\\xc3\\x92\\xb8\\x25\\x6e\\xf1\\xf8\\xfe\\x01\\x57\\x9e\\x3c\\x46\\x78\\x3e\\xbc\\xb2\\x77\\xc9\\x6b\\xa7\\x8f\\xc0\\xc6\\xb6\\xe3\\x37\\xac\\x26\\xf3\\x8a\\x39\\x1f\\xf4\\x13\\x6e\\xbb\\x89\\xeb\\x15\\xf4\\x9a\\xf0\\x90\\x62\\x19\\x0b\\xef\\x29\\xc8\\x6c\\xf1\\x58\\x82\\x96\\x2a\\x4b\\x8b\\x85\\xe7\\x8c\\x7a\\x83\\x1d\\x37\\x5c\\x12\\x8d\\x54\\xdb\\x4a\\xb9\\x79\\x30\\xa1\\x53\\x80\\xf1\\x34\\xe2\\x16\\x9e\\x2c\\x3f\\x8c\\xea\\x92\\x0f\\xf9\\xc1\\xa1\\x93\\x07\\x87\\x19\\x4e\\x58\\x96\\x7e\\x7c\\xe9\\xe8\\x99\\x27\\xef\\xbf\\xf0\\xd3\\xdf\\x57\\xf6\\xec\\xed\\x1f\\xb0\\x49\\xfe\\x4c\\x7e\\xed\\x32\\x0d\\xb7\\x82\\xeb\\x0e\\xc8\\xb7\\xa2\\x4f\\xf1\\x9c\\x16\\xe0\\x71\\xcb\\xe5\\xd2\\x5c\\x26\\x64\\xf2\\x22\\x95\\x2a\\x29\\x29\\x2d\\x07\\x75\\x2f\\xec\\xee\\xcf\\xcb\\xcc\\xc9\\xcd\\xa9\\x0e\\xe9\\xdc\\x29\\x88\\x47\\x7c\\x75\\x48\\xe5\\x76\\x21\\x84\\x6c\\xb9\\x9c\\x8d\\x10\\xb6\\x32\\x1a\\x55\\x93\\x06\\x68\\xee\\x08\\x46\\x4c\\x9b\\x14\\xbd\\xd2\\x4a\\x58\\x54\\x91\\x17\\xff\\x13\\x89\\x0b\\x14\\x53\\x5a\\x5d\\x0e\\x88\\x45\\xb9\\x57\\x32\\x00\\xc8\\xed\\x3a\\x1e\\x77\\x54\\x0e\\x6f\\xea\\x4c\\xee\\x0e\\xed\\x04\\x79\\xbf\\xad\\xde\\xf3\\xe0\\x51\\x30\\xf8\\x99\\xa1\\xf1\\x70\\xb9\\xeb\\x87\\x0f\\xf8\\xde\\x63\\xa7\\x9b\\xd7\\xdb\\x9b\\x1f\\x9a\\x7b\\x1d\\xb2\\x97\\x75\\xc7\\x92\\xa7\\x81\\x25\\x55\\xb0\\xef\\x9c\\x38\\x73\\x97\\x57\\x85\\x84\\xf5\\xab\\xdc\\x1b\\x62\\x63\\xc0\\x73\\xa3\\x68\\xff\\xc7\\xb5\\x7f\\x23\\xac\\xc0\\x83\\x91\\x42\\xf6\\x78\\x9d\\x07\\xa3\\x72\\x9c\\x07\\x25\\xf9\\x92\\x52\\x3d\\x7a\\x47\\xa2\\xa3\\x3a\\x94\\x68\\x34\\x5b\\xec\\x12\\xa4\\xc8\\xa2\\x60\\x4a\\x97\\x9e\\x92\\x91\\x8f\\xe8\\x2f\\xc9\\x0a\\xf6\\x8a\\x64\\xf8\\x4b\\x2c\\xe5\\x20\\x85\\x3a\\x02\\xf1\\x7b\\x89\\xe7\\x71\\xf4\\x4d\\x85\\xaf\\x97\\xb1\\x66\\x70\\xab\\x66\\xbd\\x3c\\x2f\\x37\\x34\\xd9\\xff\\x64\\xe8\\x8e\\x0c\\x63\\xf5\\x9e\\x04\\xb7\\xfb\\x86\\x00\\x9f\\x16\\x7f\\x79\\x83\\xf4\\xe7\\x51\\xc6\\x4d\\x8e\\x67\\xb3\\xca\\xe0\\xd1\\xcb\\xf2\\x93\\xf2\\xe5\\x85\\x2f\\x81\\x77\\x2f\\x54\\x39\\x0d\\xdb\\x74\\xe6\\xf5\\xe1\\x1a\\x9f\\xc2\\x73\\xd5\\xf1\\x95\\x18\\x4f\\x92\\xc8\\xce\\x63\\x33\\x26\\x20\\x23\\x32\\x78\\x34\\x7a\\xbd\\xc1\\x90\\x6c\\xd0\\xbb\\x49\\xec\\x0b\\x17\\x6d\\xa9\\x19\\x6f\\xa5\\xa6\\x58\\x8a\\x58\\x7e\\x6d\\xd4\\x58\\x50\\x18\\x8d\\xd9\\xee\\x23\\xa4\\xc0\\x22\\x10\\x2a\\x4e\\xb9\\x2a\\xaa\\x0a\\x39\\xfa\\xe2\\xd7\\x37\\xcb\\xfb\\xa7\\x1e\\xe8\\xc7\\x5b\\x6b\\x5a\\x9f\\x9f\\x06\\x8e\\x6c\\xbe\\x3f\\xbd\\x4f\\xc1\\xe1\\xe1\\xcd\\x87\\x27\\x6c\\xe6\\x2b\\x7f\\x7a\\xfd\\x94\\xfc\\xdc\\xa3\\xfd\\x87\\xaf\\x90\\xeb\\xd1\\x77\\x50\\xbd\\xf1\\xb9\\x97\\xe4\\xe7\\xcb\\x47\\x6f\\x03\\xce\\x35\\x77\\xde\\x43\\xc6\\xb5\\x3f\\xc6\\xab\\x8f\\x71\\x5b\\x53\\xb9\\x60\\xd0\\x67\\xe4\\x92\\x9d\\x58\\x58\\x75\\x72\\x28\\x2d\\xdd\\x9a\\x92\\x9c\\x62\\x44\\x82\\x5b\\xd0\\x56\\x85\\xf2\\xd5\\x4d\\xea\\x16\\x35\\xc2\\x24\\xcb\\x44\\xb6\\x79\\xea\\x5a\\x41\\x71\\xe3\\x1e\\x13\\xcf\\xc9\\x1a\\x8d\\x36\\xa2\\x08\\x3d\\xd7\\xc1\\xa4\\xfe\\x53\\x0e\\x7f\\xd4\\x32\\x67\\x4f\\xe9\\x96\\xaa\\xa6\\xc6\\x73\\x0b\\xb3\\xc7\\xce\\x8d\\x41\\x9d\\x23\\x3b\\xc0\\xd0\\x2d\\x20\\xe3\\xd2\\xb2\\x7e\\x43\\xe6\\xcc\\x7e\\x50\\xfe\\xe0\\xce\\xe2\\x0a\\x7f\\x72\\x57\\x74\\x39\\x44\\x7c\\xcc\\x60\\x5c\\x20\\x71\\x88\\xcc\\x78\\x7c\\xcb\\x82\\x89\\x36\\x83\\x43\\x97\\x80\\xa9\\xb8\\x01\\xa9\\x92\\x55\\x1e\\xad\\xc6\\x29\\xe1\\x8d\\x06\\xb3\\xe4\\x96\\xd8\\x30\\x1a\\x9d\\x51\\xa1\\x23\\x3c\\x46\\x2a\\x99\\xf6\\x0c\\x89\\x0c\\x31\\x9f\\xe1\\x31\\x17\\x65\\x90\\xd8\\xe0\\x84\\x01\\xb9\\xfc\\xf2\\x27\\x07\\x40\\xf7\\x4b\\x30\\x33\\xfe\\x96\\x5b\\xc1\\xf0\\xcd\\x72\\xfb\\x7d\\x60\\x51\\x46\\xcd\\xb2\\xc7\\xd6\\xf6\\x5c\\x6d\\xfb\\xc7\\xc5\\x97\\x40\\xc9\\x91\\xf5\\x22\\x7f\\xf0\\xd0\\x73\\xf2\\xfb\\x87\\x36\\xc2\\xd2\\x9b\\x36\\x0c\\xdf\\xfb\\x97\\x19\\xdb\\x0e\\x50\\x5c\\x1d\\x86\\xf9\\xa8\\x99\\x34\\x16\\x63\\xb7\\xa0\\x5d\\xef\\x70\\xa8\\xe2\\x55\\x6e\\x1b\\xde\\x02\\x6d\\x0e\\x3c\\xf3\\x1c\\x6d\\x5b\\x79\\x6c\\xc4\\x00\\xc5\\x47\\x42\\x04\\x0b\\xbd\\x31\\xa6\\xc8\\x04\\x51\\x41\\xa5\\x82\\x7e\\x70\\x40\\xbc\\xfc\\xe6\\x46\\x29\\x82\\xa0\\x1b\\xd0\\xd9\\x28\\xd6\\x25\\x50\\x9c\\x2c\\xce\\x85\\x47\\x71\\xfd\\x4a\\xcc\\x4f\\xce\\xc9\\xf9\\x82\\x66\\x64\\x53\\xe9\\x6d\\x7a\\x57\\x9c\\x19\\x33\\x0c\\x66\\xdc\\x00\\x1a\\xe5\\x33\\xf6\\x52\\x31\\x60\\xd5\\x59\\xcc\\x8c\\x26\\x29\\x5c\\x25\\xae\\xf6\\xe0\\x32\\xc3\\xc5\\xd3\\xe7\\x53\\x9e\\xf4\\xee\\x92\\xc3\\x7f\\x7a\\xe8\\x39\\xd3\\x42\\xbc\\xcd\\xdc\\x36\\xa4\\xf4\\x5d\\x30\\x15\\xf4\\xdd\\xb6\\x7b\\xcd\\xfe\\x1f\\xe5\\xf5\\x2f\\x3c\\xfe\\xc8\\x80\\xd1\\x70\\x24\\x9e\\x93\\xc1\\x18\\xe7\\x7f\\xe5\\x47\\xd1\\xf8\\xbf\\xa3\\x82\\xdd\\xd4\\x1a\\xcc\\x08\\xc4\\x6b\\x90\\x23\\x3d\\x1d\\x39\\x0c\\xc8\\x90\\x95\\x19\\xcf\\x79\\xe3\\xb4\\x71\\x55\\x21\\x95\\xd6\\xa1\\x51\\xbb\\x2d\\x89\\x44\\x62\\x32\\x9b\\x95\\x38\\x6e\\x2c\\x70\\x00\\x93\\x34\\x2c\\x65\\x31\\x4c\\x81\\xb3\\xd3\\x22\\x30\\xd0\\xbd\\x10\\x13\\x22\\x13\\x87\\xb9\\x48\\x2a\\x56\\x5b\\xa9\\xe8\\x24\\xa1\\x3e\\x10\\x2f\\x06\\xf4\\xd6\\x4d\\xfb\\xaa\\xef\\xfe\\xea\\xf0\\xc8\\x63\\x23\\x1f\\x7f\\x1b\\xd8\\xbf\\x4b\\x58\\x72\\x60\\xe4\\x8d\\x8b\\x9b\\xb2\\x8f\\xef\\x1c\\x32\\x2e\\xbe\\x79\\xfe\\x9d\\x33\\xcb\\xf8\\xaa\\x17\\x4e\\xed\\x90\\xff\\x76\\x71\\x86\\x20\\x37\\x82\\x3b\\x54\\xdf\\xbd\\x0e\\x4c\\x60\\x4e\\xea\\xc6\\x84\\xdd\\x7f\\xac\\xbc\\xe9\\x1e\\x09\\x0e\\xf8\\xdb\\x13\\x1b\\xd7\\x6d\\x0b\\x3f\\x86\\xea\\x1e\\x05\\xc6\\x99\\xef\\x52\\x3b\\xe8\\x31\\xfc\\x32\\xbe\\x0a\\x23\\xd2\\xc0\\x60\\xaa\\xc5\\xea\\xb0\\xab\\xed\\x10\\x71\\x66\\x1b\\x6f\\xb5\\xba\\x00\\x84\\x4e\\x8b\\x11\\x8f\\x30\\xc7\\x03\\x9d\\x4e\\xaa\\x0a\\xe9\\x4c\\x0e\\x72\\xee\\x48\\xd7\\xb2\\xb3\\x4c\\x89\\xcf\\x42\\x89\\x6c\\x74\\x35\\xa7\\x91\\x53\\x20\\xb6\\x83\\x62\\xc6\\x17\\xaf\\x10\\x2b\\xd9\\xd7\\x7d\\x50\\x25\\x67\\xbe\\x08\\x27\\xcf\\xcc\\x2a\\xc9\\xb4\\x79\\x52\\xaa\\x7b\\xf5\\xaa\\x28\\xf1\\xd5\\x82\\xe6\\x67\\x65\\x15\\x40\\xad\\xdf\\x87\\x1b\\xb1\\x3c\\x5c\\xbf\\xad\\x4a\\xb7\\x32\\x31\\x67\\xc6\\x52\\xf9\\xaf\\xd0\\x1d\\x1e\\xdc\\xf6\\x3e\\xc5\\xb5\\xc5\\x72\\xbd\\x70\\x48\\xe8\\x85\\xc7\\x7d\\x68\\x30\\x95\\xd3\\xe9\\xe2\\xf5\\x7a\\x9b\\x60\\xb3\\x0a\\xa2\\x55\\x4c\\x4c\\x4a\\x70\\x8b\\x02\\x7e\\x30\\x72\\xf1\\x86\\xf8\\xaa\\x90\\xd6\\xe0\\xd0\\xeb\\xdc\\x5c\\x64\\x9c\\x69\\x2c\\x33\\x7f\\xde\\xb5\\xca\\x25\\xba\\x43\\x51\\x8f\\xd2\\x90\\x0c\\x77\\xaa\\x39\\xaa\\x88\\x71\\x5a\\xfd\\xf0\\xab\\x75\\xbb\\xeb\\xe2\\x56\\x9f\\x59\\x95\\xb2\\xed\\xbb\\x27\\xf1\\x38\\xcb\\x35\\xa6\\xc5\\xa7\\x97\\x9b\\xb6\\xde\\xfc\\xed\\xb1\\x25\\xa0\\xd7\\xfa\\x55\\x70\\x53\\x78\\xe5\\x43\\xcf\\x8d\\x07\\xf2\\x0d\\xe0\\x76\\x1e\\xd4\\x05\\xab\\xe0\\xb4\\xf0\\x8e\\xaa\\xee\\xcd\\x0d\\x90\\x7f\\x91\\xd2\\x1b\\xbc\\x76\\xff\\xe0\\x47\\x72\\xdd\\xb9\\xaa\\x60\\x66\\x8e\\x3d\\x5b\\x9d\\xed\\x41\\xa9\\x52\\xaa\\x5b\\xd2\\xbb\\xf5\\x79\\xf9\\xb6\\xec\\x6c\\x97\\x06\\x65\\xb8\\x32\\x30\\x6e\\xb8\\x1c\\x1e\\xb5\\x46\\x5d\\x15\\x4a\\xd6\\x98\\xa2\\x91\\xf1\\x3a\\x44\\xd1\\xae\\x48\\xa2\\xf8\\x5f\\xa2\\x34\\x91\\xd9\\xd9\\x2a\\x24\\x33\\x1a\\x9a\\x25\\xe0\\xe4\\x23\\x4e\\xd7\\xc9\\xd9\\x95\\x88\\xc6\\xd5\\x0f\\x9f\\xb1\\xb5\\xfa\\x6c\\xe1\\x9d\\x0f\\xae\\xf9\\xe8\\xae\\x25\\x5b\\x2c\\x7c\\x8f\\x3f\\xad\\xdc\\x7b\\x7c\\xf3\\xf7\\x87\\xb4\\xf2\\x8f\\x15\\xd6\\x71\\xf5\\x33\\x77\\x24\\x15\\xdc\\x5f\\xa0\\x05\\x75\\xb3\\x96\\x6c\\x06\\xbe\\xa6\\x5f\\xfa\\x6c\\x73\\xff\\xf4\\xcc\\xbd\\xf2\\xd9\\x07\\xd7\\x6e\\xdd\\xba\\xf6\\x83\\xa7\\x9f\\x01\\xbd\\x1e\\x77\\x6d\\xeb\\x21\\xef\\x9e\\x3e\\x6c\\xf9\\xaa\\x3f\\xed\\x6f\\x6b\\x0b\\x46\\xf4\\x12\\x7b\\x85\\x15\\x11\\xbd\\x04\\x37\\xfb\\xbc\\xa2\\x59\\xd1\\x99\\xd3\\x21\\x68\\x31\\x19\\x94\\x13\\x86\\x88\\x2e\\x86\\xae\\x55\\x9a\\x9e\\xea\\x26\\xb8\\xd9\\xdc\\x8f\\x11\\x5d\\x8c\\x8b\\xe4\\x98\\x96\\x10\\xaf\\x68\\x26\\x3a\\x74\\x31\\x74\\x6f\\x24\\xba\\x0f\\xb2\\x37\\x52\\x5d\\x49\\x8b\\xa2\\x8b\\x49\\xc4\\x59\\x3e\\x48\\xf4\\xa8\\xb8\\x4e\\xba\\x15\\xa6\\xff\\x90\\xa2\\xfa\\x8f\\x32\\x30\\x57\\xd1\\xc5\\xe0\\x2a\\xc0\\x79\\x97\\x9b\\xd5\\x10\\x4d\\x4f\\xe7\\x88\\xa6\\x5f\\xc1\\xd2\\xc3\\x05\\x4a\\xfa\\x3c\\x9c\\xfe\\xcb\\xbc\\x42\\x77\\x4c\\x7a\\x1a\\x07\\xea\\x1b\\xf4\\x31\\x8d\\x03\\x95\\xc9\\xf9\\xb9\\xe9\\xc1\\x40\\x8a\\x4a\\x95\\xe3\\x28\\x84\\x6e\\xb7\\xc1\\x61\\x28\\x2e\\x12\\xd2\\x30\\x21\\x8e\\xcb\\xc2\\x6b\\xbf\\x30\\x8b\\xb8\\x4c\\x32\\x66\\x25\\x67\\x41\\x35\\x12\\xb2\\x84\\x2c\\x9d\\xd5\\x9a\\x57\\x15\\xb2\\x72\\xba\\x24\\xcc\\xba\\x74\\x0e\\x79\\x44\\x63\\x5c\\x4d\\x28\\x8b\\x04\\xef\\x8a\\xcc\\x76\\xd4\\xc5\\xb5\\x28\\x45\\x1d\\x34\\xfa\\x30\\xdd\\xc6\\xd2\\x42\\xc4\\xf8\\x04\\x45\\x22\\x2c\\x53\\xef\\x89\\x20\\x1a\\x2a\\xc4\\x01\\xe6\\x54\\x7a\\xcb\\x5a\\x27\\x3f\\xf4\\xd4\\xe2\\x8f\\xf6\\xca\\xab\\x1b\\x8e\\x7c\\xb6\\x73\\xf3\\xdd\\x8f\\x1c\\x3a\\xfa\\x55\\xd3\\xa4\\xd0\\x4d\\x43\\x67\\x4c\\x1e\\xbf\\xbd\\x12\\xec\\xac\\xaa\\x1b\\xd8\\x6f\\xd0\\xa6\\x82\\xb1\\x7c\\xb7\\x03\\xdf\\x8f\\x0c\\x9d\\xbb\\xef\\x96\\x7f\\xad\\x00\\xaf\\x1c\\xc5\\xd2\\x44\\xd6\\x9e\\xe5\\x37\\xac\\xbf\\x25\\xbc\\x7c\\xf6\\x8d\\x13\\x1f\\x9e\\x7b\\x43\\xf3\\xc4\\x47\\xe0\\xc3\\xfd\\x7b\\x67\\x17\\x0d\\xab\\x18\\x4e\\x75\\x00\\x3e\\x3c\\xc6\\xc4\\x4f\\x5c\\x77\\xae\\x07\\x37\\x37\\x58\\x96\\x5b\\x50\\xd0\\xdd\\xa1\\x0b\\xa4\\x81\\x94\\xbc\\x94\\x34\\x1d\\x9f\\xed\\x36\\x49\\xd9\\x52\\xaf\\x9e\\x66\\xab\\xd5\\x50\\x15\\x22\\x2f\\xab\\x42\\xb9\\x79\\x92\\xdb\\x9a\\x67\\xcd\\xe3\\x33\\x33\\x8b\\xaa\\x43\\x99\\x5c\\xe7\\x60\\x02\\xca\\x18\\x94\\x95\\xc5\\x44\\x2f\\x53\\xc2\\x64\\x47\\xf7\\xb0\\x48\\x60\\x06\\xc8\\x29\\xa1\\x06\\x63\\x03\\xba\\x1b\\xd8\\x71\\x49\\x89\\x25\\x90\\x03\\x22\\xb1\\x14\\x25\\xbf\\xa4\\x0c\\x06\\xd9\\x9c\\xf9\\x35\\x93\\x07\\xca\\x47\\xaf\\x6c\\xdc\\x95\\x92\\x95\\x92\\xef\\x9f\\xc5\\xcf\\x0e\\x55\\xd5\\xfa\\xb2\\x7d\\xfd\\x7b\\xcf\\x78\\x6a\\xbf\\x4f\\xfe\\x45\\xfe\\xf1\\xb5\\x87\\x1e\\x7e\\x52\\x3b\\x59\\xd6\\x2f\\x98\\xd4\\x30\\xbf\\xf6\\x6e\\xf8\\xbb\\x7c\\x48\\x1e\\xb5\\x74\\x46\\xf1\\xa4\\xd1\\x15\\x49\\x59\\x05\\x3b\\x4a\\x6a\\x06\\x16\\x4e\\xa8\\x1f\\x9d\\xe9\\x0f\\xec\\x07\\x3d\\x4e\\x09\\xa7\\x1f\\xbe\\xf7\\xd5\\xcf\\x2e\\x0e\\x18\\x0d\\x2a\\x2a\\x76\\x1c\\x5b\\xdc\\x34\\x62\\x42\\x01\\xa5\\x4f\\xef\\x72\\x9c\\xb8\\x5c\\xd8\\x81\\x65\\x91\\xc2\\x60\\x9c\\x41\\xaf\\xd1\\xea\\xb4\\x7a\\x64\\x85\\xd0\\xa6\\x36\\xe2\\x2f\\x5a\\x0b\\x27\\x74\\xe8\\x55\\xcb\\x23\\xbe\\x56\\x3a\\xa8\\xbe\\xe2\\x6d\\x1f\\x90\\x98\\x84\\x98\\x4e\\xf6\\x01\\xc2\\x9d\\xeb\\x26\\x4d\\x19\\xd0\\x37\\xaf\\x34\\x51\\x86\\xcd\\x4f\\x2f\\x94\\x5b\\x5e\\x00\\x85\\xe0\\xec\\xc0\\x16\\x61\\xc7\\x94\\x8d\\x03\\xb2\\x53\\xc2\\x0f\\x85\\xcf\\xc1\\x0a\\x54\\x16\\x9e\\x08\\x2d\\xb5\\x83\\x31\\x2e\\xe3\\x95\\x21\\xbd\\x2e\\x5c\\x34\\x65\\xa0\\xf5\\x60\\x34\\xd3\\x14\\xde\\xf1\\x12\\x27\\x9d\\x04\\x0e\\xc4\\x8e\\x5f\\x99\\x3e\\x54\\x5c\\x4e\\xf4\\xa1\\x68\\x7d\\x8c\\x3e\\x34\\xee\\x0c\\x04\\xf1\\x44\\x1d\\x7a\\xae\\xfd\\x5c\\xab\\xd3\\xae\\xef\\xac\\x43\\xed\\x87\\xf7\\xbb\\x02\\xe1\\x82\\x45\\x84\\x3d\\xe8\\xfc\\xf7\\x6e\\xff\\x46\\xac\\xa7\\x7b\\x2e\\x89\\xcf\\xd7\\x2d\\x01\\x01\\x21\\x2b\\x27\\x47\\xe7\\x74\\xa4\\xa4\\x58\\xad\\x3a\\x01\\xe5\\xe7\\xb9\\x52\\x4d\\xa9\\x55\\x21\\x3d\\xa7\\x36\\x39\\x32\\x33\\x93\\x93\\x91\\x93\\xea\\xd8\\x14\\x56\\x00\\x77\\xd7\\x95\\x47\\x64\\x85\\x4e\\x91\\xa7\\x14\\x0d\\x90\\x9f\\x85\\x07\\xf6\\x39\\xae\\x21\\x6a\\x01\\x1f\\x60\\x14\\xcf\\xab\\x68\\x0f\\x23\\x94\\xfa\\x71\\xe1\\x80\\x7b\\x61\\xb7\\x8d\\x1f\\xdf\\xb2\\x72\\x9b\\x9a\\xef\\x7d\\x7c\\xe5\\xfe\\x63\\x4d\\x53\\x9a\\xd0\\xc4\\xf1\\x3b\\xeb\\xbb\\xb5\\x9d\\x99\\xb6\\xe4\\xf8\\xf4\\xbd\\x49\\x03\\xef\\xeb\\xaf\\xc7\\x2d\\xde\\xb6\\x74\\xcf\\xf3\\x98\\xa6\\x6d\\x5d\\xb7\\xad\\xe5\\xe9\\x93\\xb7\\x82\\x01\\xab\\xda\\x5e\\xb9\\x09\\x38\\xf7\\x1f\\x98\\xb8\\x4a\\x3e\\x7b\\xc7\\x87\\x0f\\xdf\\x0d\\x26\\xc9\\x07\\x07\\xe7\\x4f\\x9f\\x87\\xf7\\xc2\\xfb\\x71\\x9f\\xdf\\xe1\\xfb\\x60\\x19\\x64\\x42\\xb0\\x30\\xcd\\x64\\xb2\\x8a\\x05\\x6e\\x77\\xf7\\xe4\\x9c\\x9c\\xee\\xa2\\x96\\x87\\x0e\\x87\\x1f\\x16\\xe6\\x24\\x8e\\x0a\\xe5\\x38\\x7c\\x99\\xa3\\x42\\x69\\x3e\\xb7\\x8d\\x83\\x76\\x3c\\xcb\\x7a\\xd5\\xa8\\x90\\x9e\\x49\\xd2\\x91\\xa3\\x99\\xb2\\x48\\xc4\\x7f\\xd0\\xe5\\x30\\x83\\x4e\\xbb\\x1a\\x78\\x4b\\xe2\\x15\\x2f\\xac\\x4a\\x10\\x50\\xc9\\x09\\xbc\\x06\\x44\\xd9\\xa2\\x8e\\x8b\\x5e\\x98\\x8e\\xd3\\x41\\x40\\xf3\\xc3\\x7d\\xe5\\x5f\\x5b\\x8e\\x8e\\xad\\x4b\\xec\\xc9\\xf7\\x1f\\x30\\x75\\xd6\\xac\\x91\\x3c\\x3c\\x09\\xf4\\xa3\\x6e\\x6e\\x0c\\xd4\\x67\\x95\\x04\\x92\\x76\\xad\\xe8\\x57\\x9e\\x98\\x5b\\x58\\x36\\xc0\\x64\\xbd\\x6d\\xc9\\x50\\x14\\xdf\\xf6\\xe5\\x0e\\xe0\\x06\\x09\\x53\\x96\\x1b\\xf6\\x5a\\x17\\x2d\\x5a\\x21\\x5f\\x5c\\x04\\x91\\xaa\\xfe\\xfd\\x2b\\x9f\\xf4\\x59\\xae\\x97\\xbf\\xda\\xb7\\xc3\\x7c\\xc0\\x30\\xa0\\x7a\\x5a\\xdc\\xf3\\x37\\x82\\x59\\xf3\\xf1\\xdc\\xce\\x97\\xeb\\xc9\\x99\\x17\\xe6\\x37\\x3d\\x84\\xdf\\x74\\xf2\\x44\\xa4\\x06\\x3c\\xf0\\x26\\xe9\\x74\\x29\\xa6\\xf8\\x86\\x10\\x30\\x59\\x55\\x96\\x86\\x90\\x8a\\xa7\\x4a\\x18\\x45\\x67\\x0a\\x62\\x1c\\x86\\x32\\xe7\\xb2\\x4c\\xf9\\xef\\x2f\\xe4\\x2d\\x84\\xcd\\x92\\x90\\x15\\x93\\xa7\\x98\\x43\\x4d\\xd0\\x5e\\xfd\\x45\\xdb\\x5f\\xc0\\xf2\\xef\\xce\\x02\\xe3\\xae\\xa7\\xe4\\xfb\\x2f\\x8d\\xfc\\xec\\xf6\\x2f\\x0e\\x86\\x94\\xd3\\x4c\\xb9\\x1e\\x1c\\x48\\x06\\x85\\xbf\\x91\\x33\\xcc\\x9d\\xf2\\x6f\\x0f\\x7f\\x25\\x2f\\xfb\\xd2\\x28\\xcf\\x12\\xef\\x9b\\x72\\x5e\\xfe\\x74\\xf3\\x5b\\x1f\\xfe\\x09\\x8c\\x7b\\x86\\x1e\\x68\\x42\\x86\\x9b\\xfc\\x08\\x2a\\x7f\\xf4\\x0c\\x26\\x99\\xf0\\x7e\\xe2\\xe4\\x8d\\xb8\\xc1\\xc9\\x66\\xad\\xd6\\x63\\x8c\\xaf\\x0e\\x01\\xa3\\x43\\x65\\xc5\\xbc\\x98\\xe9\\xba\\x0d\\x8e\\xba\\xa2\\x65\\xf1\\x86\\x95\\x29\\xc0\\x4c\\x16\\x30\\x45\\xa3\\x08\\xf6\\x81\\xa0\\x5b\\xf5\\x6d\\xf7\\x6f\\x09\\x3f\\xfe\\xf6\\xc7\\xcb\\x3f\\x7b\\xa0\\x12\\xdc\\xf9\\xdb\\xe6\\x23\\x63\\x5b\\x96\\xcf\\x5a\\x33\\xa9\\x27\\x6e\\xea\\xc1\\xe4\\x4f\\x1f\\x79\\x1c\\x0c\\x7e\\xf0\\xc3\\x97\\x1f\\x94\\x5b\\xcf\\xe1\\x76\\xf2\\xa3\\x41\\xd2\\x36\\xf9\\xcb\\x0d\\xbb\\xf7\\x55\\xec\\xfb\\x0d\\xd3\\x85\\x97\\x38\\x4e\\x78\\x1b\\x8f\\xa9\\x8b\\x44\\xd3\\xb1\\xf2\\x4e\\x0e\\x37\\x2f\\x4e\\xab\\x8d\\x77\\x80\\x86\\x90\\xc3\\xc1\\xa9\\x54\\xc6\\x86\\x90\\x4e\\xa7\\xa2\\x47\\x88\\xb1\\x21\\x91\\x63\\x42\\x57\\x92\\x73\\xa2\\xe8\\x90\\x76\\x18\\x30\\x39\\xfc\\x01\\x04\\xa7\\x04\\x3e\\xb8\\xfa\\x04\\x18\\xf2\\xce\\x25\\x90\\x99\\xdf\\x9a\\xf6\\xc6\\xed\\xb7\\x5f\\xd9\\xf1\\xf9\\xc5\\xde\\xb5\\x20\\xd1\\x06\\xf8\\xd7\\xce\\x81\\xd2\\x07\\xce\\x1c\\x09\\x2c\\x58\\xb7\\xe2\\xfb\\x4d\\xf7\\x9e\\x44\\xf2\\x10\\xdc\\x1e\\x13\\x96\\x8f\\xbe\\xc6\\x72\\x50\\x37\\xae\\x3c\\x98\\x9c\\x11\\xaf\\x49\\x41\\x1a\\x94\\x6d\\xb5\\x58\\x72\\x50\\xbc\\x31\\x23\\x2d\\x8d\\xab\\x0a\\xa5\\xb9\\x49\\x28\\x72\\x12\\x12\\x2d\\xa2\\xea\\x64\\xdc\\x6a\\x59\\xd7\\x63\\xf8\\x18\\xdf\\x49\\x5d\\xc3\\x2f\\x92\\x08\\x45\\x4a\\xe4\\x5e\\xcc\\xa3\\x80\\xf1\\x1b\\xb7\\xf8\\x06\\x8f\\x3d\\x7f\\x78\\xc4\\xce\\x0b\\xb7\\xdc\\xfb\\x98\\xe9\\xb8\\x75\\x72\\xfd\\xc2\\x83\\x13\\xba\\x0d\\x9b\\x1d\\xdc\\xb6\\xfc\\x5f\\x5f\\x9c\\xdb\\xe8\\x9d\\xbe\\x41\\xbe\\x32\\xae\\x26\\x15\\x77\\x34\\xf3\\x99\\xbb\\x16\\x00\\xc7\\x0b\\x93\\xee\\xb9\\xcb\\x75\\x43\\x68\\xab\\xfc\\xe5\\xc2\\x01\\x35\\xfe\\x64\\x53\\xca\\xaa\\xa9\\x47\\x4f\\x94\\x1d\\xc9\\x4e\\x8c\\x9e\\xc5\\xf6\\x17\\xd6\\x72\\x5a\\xae\\x24\\x98\\x00\\x05\\x01\\xa8\\x90\\x4e\\xa3\\xd1\\x03\\xb1\\x21\\xc4\\x07\\x01\\x50\\xa9\\xd5\\x5c\\x43\\x48\\x8d\\x54\\x8a\\xff\\x24\\x32\\xa0\\xf1\\x17\\x3a\\x82\\x96\\xd1\\x10\\xb0\\xc4\\x26\\x91\\x1c\\xd0\\x4a\\xe0\\x5f\\x75\\xf0\\xa9\\x8a\\xd3\\x59\\xe1\\xdf\\x56\\x3f\\x03\\xcc\\xe8\\xa7\\x24\\xfe\\x0b\\x79\\xa0\\x7c\\xcb\\x5b\\xe1\\x45\\xc2\\xda\\xfd\\x4c\\x97\\xf3\\x86\\x3c\\x06\\xd5\\x53\\x3d\\x5a\\x9f\\xa0\\x47\\x44\\x48\\xad\\xd5\\xea\\xd5\\x3a\\x28\\x8d\\xc2\\x14\\x1d\\xa8\\x11\\x1f\\x84\\x50\\xad\\xd1\\x80\\xaa\\x90\\xc6\\xa8\\x76\\xc7\\xd6\\x49\\x35\\xc4\\xc0\\xdf\\xa1\\x5c\\xf5\\xd2\\x8a\\x7d\\xa4\\x62\\xd4\\x4b\\x1e\\x5e\\x0a\\xd6\\xf5\\xbd\\x3b\\xf5\\xf3\\xd3\\xc7\\x41\\x1a\\x9c\\x8a\\x8e\\xcb\\x9f\\xc8\\x27\\x1f\\x6b\\x6b\\x10\\xfe\\x81\\xfb\\x38\\xad\\xfd\\x5b\\xfe\\x3d\\xe1\\x22\\xe7\\xe3\\x06\\x04\\xbd\\x12\\x87\\x90\\x3e\\x39\\xce\\x62\\xd7\\xdb\\xd3\\x52\\x4d\\x29\\x66\\x8d\\xcf\\x97\\xa0\\x49\\x70\\x36\\x84\\x12\\x38\\x0d\\xde\\x57\\x34\\xd6\\x4e\\xca\\x46\\x3c\\x45\\xd1\\x3d\\x34\\xaa\\xf5\\x67\\x74\\x33\\x62\\x0b\\x57\\x12\\x00\\x19\\x84\\x9e\\xc6\\x52\\x1e\\xc0\\xbf\\x57\\x77\\x74\\x5c\\x61\\x36\\xdf\\x7f\\xe8\\x9c\\xe6\\x3e\\x0d\\x6d\\xe7\\xdc\\xf5\\x27\\x2a\\x33\\x4a\\x84\\x81\\x43\\xa6\\xce\\x9e\\xd6\\x1b\\x0d\\xe4\\x2b\\xcf\\x87\\xff\\x39\\x73\\xa5\\xf1\\xa0\\x6d\\xfd\\xd2\\xaa\\x9f\\xda\\x64\\xc9\\xfe\\x3c\\x1c\\xd3\\x38\\x19\\x3f\\x2f\\x5a\\x38\\x59\\xde\\x79\\x0f\\xf8\\x89\\xcc\\x0d\\xde\\x51\\xf8\\x00\\x9e\\x1b\\x35\\xd7\\x2b\\x98\\x24\\x21\\x0e\\x60\\xce\\x1c\\x20\\xa4\\x81\\x2a\\x95\\x56\\x8d\\x69\\x81\\x84\\x46\\x85\\x24\\x09\\x08\\x88\\xc4\\x83\\x55\\xfc\\x3e\\x45\\xfc\\x73\\xc5\\x08\\xad\\x5e\\x1f\\x09\\xc4\\xef\\xc7\\xf3\\x03\\x37\\xbe\\x04\\xe6\\x84\\xed\\x6a\\x70\\xf7\\x0b\\xf2\\xfd\\xf0\\x4b\\x35\\xdc\\x5e\\x00\\x5f\\x08\\x3f\\x5c\\x40\\xfc\\x68\\xca\\x21\\xe1\\x38\\xe6\\x45\\x12\\xb9\\x69\\x41\\xbf\\x5e\\x50\\xa9\\x74\\x12\\x26\\x77\\x36\\xb7\\x2d\\x39\\x49\\x10\\x25\\x71\\x52\\x48\\x25\\x91\\x7d\\x78\\x52\\x48\\xaf\\x93\\xf0\\x7f\\x9c\\x93\\x06\\xd7\\x9e\\x14\\x72\\xe2\\x86\\x36\\x44\\x23\\x92\\x45\\x23\\xa3\\xff\\x87\\xc3\\x68\\x3a\\x9c\\x74\\x0c\\x33\\x72\\x80\\x05\\x0f\\x1c\\x28\\xca\\xc0\\x1f\\x04\\xd5\\x79\\x3c\\x7a\\x8c\\xce\\x99\\x38\\xf0\\x90\\x1b\\xa4\\x83\\xda\\x67\\x3d\\xe1\\x35\\x59\\xf0\\x71\\x4f\\x78\\x68\\x26\\x7c\\x38\\x78\\x69\\xf7\\x76\\xf9\\x1f\\xf3\\x26\\xdd\\x0b\\xfa\\x3d\\xf3\\x1c\\x48\\x3d\\x1c\\xfe\\x49\\x0e\\xed\\xad\\xfe\\x10\\x94\\xbc\\x2d\\x7f\\xb6\\x01\\x94\\xee\\x9d\\x2a\\x5f\\xd8\\x00\\x0a\\x96\\xac\\xdd\\xb2\\x78\\xd1\\x5d\\xeb\\x1e\\x97\\x8f\\x7c\\x24\\xe7\\x87\\x4f\\x31\\x3d\\xd8\\xd7\\x72\\x1d\\x2f\\x09\\xef\\x70\\x76\\x6e\\x78\\x30\\x53\\x27\\x71\\x3c\\xb4\\x58\\x78\\x51\\x6b\\x10\\x1c\\x4e\\x81\\x97\\xf8\\x51\\x21\\x51\\xd2\\xa8\\x75\\x58\\x6c\\xd0\\xd2\\xbe\\x19\\x8c\\x1c\\xd5\\x8c\\x53\\x23\\xbc\\x6b\\xfa\\xa1\\xec\\xb2\\xa4\\x0f\\x44\\xfc\\x15\\x32\\xd2\\xd2\\xc9\\x07\\x4c\\x0b\\xf0\\x58\\xc4\\x83\\x12\\xbc\\xfd\\x71\\x5e\\x5e\\xda\\x0d\\x1c\\x71\\xe4\\xc9\\x13\\xb2\\xc1\\xee\\x03\\xf2\\xab\\x67\\x41\\x1a\\xe8\\x37\\xf6\\xff\\xe1\\xec\\x3d\\x00\\x9c\\xa8\\xb6\\xff\\xf1\\xb9\\x73\\x67\\x32\\xe9\\x33\\x99\\x49\\x2f\\x9b\\xb6\\x9b\\xed\\x85\\xcd\\x56\\xda\\x86\\xbe\\xf4\\x2c\\x3d\\xb4\\x5d\\x60\\xa5\\xa9\\x20\\x1d\\x01\\x29\\xd2\\xa4\\x0b\\x08\\x2a\\xa2\\x58\\x40\\x10\\x15\\x05\\x16\\x01\\x41\\x40\\x44\\x44\\x04\\x54\\xb0\\x3c\\xec\\xf5\\xbd\\x67\\x7b\\x16\\xf4\\x15\\x20\\xc3\\xff\\xde\\x99\\x49\\x36\\x59\\xf0\\xbd\\xef\\xff\\x27\\x92\\x2c\\xd9\\xec\\xe6\\xdc\\x73\\xcf\\x3d\\xf7\\xd4\\xcf\\xe9\\x25\\x0e\\x02\\xef\\x82\\x9a\\x82\\x9c\\xe7\\xd6\\x1d\\xb9\\x77\\xec\\xe1\\xfb\\x0f\\x00\\xdd\\xae\\x81\\x8f\\xc7\\x8f\\x89\\x9b\\x9f\\x17\\x6f\\x6b\\xc2\\x67\\xe3\\x82\\x38\\x44\\xf5\\x0f\\xb4\\xdf\\x25\\xc8\\x1a\\x28\\xd0\\xeb\\x74\\xd9\\xac\\xda\\xe6\\x74\\x92\\x85\\xa4\\x1a\\xb6\\xf2\\xf9\\xfd\\xa5\\xd9\\x39\\x0d\\xb1\\x6c\\x57\\x11\\x49\\xfb\\xac\\x3a\\x48\\xa3\\xcb\\x83\\x16\\x08\\x0f\\x62\\xbe\\xd0\\x9c\\x62\\x96\\x12\\x10\\x89\\xe2\\x89\\x64\\x40\\x5f\\x89\\x5d\\x34\\x8f\\xcd\\x0b\\xa7\\x8c\\x92\\x52\\xbe\\x74\\x49\\xd3\\x56\\x82\\xfe\\x4a\\x3f\\xbe\\x23\\x91\\xb5\\x40\\x99\\xce\\x77\\x1f\\xfe\\xf8\\xc8\\xa7\\xf7\\x58\\xf6\\x1f\\xdd\\xcf\\x0f\\x1e\\x75\\xf7\\xaa\\x8c\\xa3\\xaf\\x1c\\xe6\\xfa\\xc7\\xfe\\x55\\x73\\xf8\\x95\\x1b\\x44\\xf6\\xca\\xbf\\xbe\\x78\\x3d\\xdb\\x03\\x2f\\xee\\x38\\x18\\x34\\x50\\x6d\\x1e\\x37\\xef\\x1a\\xd9\\x63\\xd7\\x13\\xdd\\x26\\xc1\\x07\\xaf\\x8f\\x1b\\x11\\x19\\x37\\x62\\xcb\\x83\\xf0\\xcd\\xeb\\xdd\\xfa\\x54\\xd5\\x0f\\x07\\x9d\\xe0\\xc1\\xab\\x1f\\x9f\\xbe\\x7c\\xdb\\xc6\\x27\\x0f\\x74\\xe8\\xde\\x27\\x11\\xd3\\x1d\\xa2\\x5a\\x80\\xf4\\x40\\x19\\xde\\x13\\xce\\x6c\\x2e\\xd2\\xbb\\x7d\\x3e\\x55\\x36\\xb2\\x6b\\x55\\x7a\\xaa\\xbc\\xa2\\x08\\x99\\xf8\\x45\\x2e\\x42\\xa5\\xc9\\x76\\xb1\\x6c\\xd0\\xa6\\x41\\x66\\x0f\\xd4\\x34\\x4f\\x3b\\x4f\\x2c\\x33\\x75\\xd4\\x9b\\xec\\x85\\xca\\x61\\xdc\\x94\\x85\\x32\\x29\\x2b\\x4d\\xfd\\xba\\x79\\xad\\x74\\x7e\\xcf\\x47\\x1b\\xef\\x5e\\x6b\\xec\\xff\\xc4\\xf8\\xe5\\xeb\\x2d\\x0b\\xf6\\xcd\\x33\\xa9\\x7b\\x0d\\x9a\\xba\\xdb\\x37\\x53\\xfe\\x6a\\xca\\x6e\\xff\\xcc\\xfd\\xaf\\xe4\\x2c\\xfb\\xf4\\xd9\\xeb\\xdd\\x5d\\xf0\\xb9\\x47\\xf7\\x86\\xbc\\x87\\x27\\x8d\\x9c\\x35\\xe5\\xde\\xb1\\x38\\xa1\\x41\\xae\\x89\\x2f\\xab\\x2f\\xf2\\xf7\\xec\\x7b\\x7c\\x3b\\x59\\x9f\\xf8\\x72\\x27\\x39\\xfc\\x7a\\xe9\\xc5\\x4f\\x6f\\x5b\\xf5\\xd0\\xfe\\x55\\x48\\xfe\\x76\\x22\\x1d\\x7b\\x1b\\xba\\xb7\\x32\\x90\\xfe\\x09\\x32\\x36\\x13\\xc7\\x65\\xd8\\xa0\\xd7\\x60\\x34\\xfa\\x32\\xdc\\x6e\\x88\\x34\\x0f\\x65\\x32\\x6b\\xcd\\xe8\\xee\\x42\\x8a\\x97\\xe3\\x0d\\x50\\x3e\\xcc\\xe1\\x5b\\x0f\\xb4\\x95\\x30\\xed\\x9b\\x21\\xde\\xa5\\xa9\\xd2\\xca\\x72\\xa5\\xbe\\x30\\x18\\xc9\\xed\\x59\\x32\\x7a\\x65\\xf7\\x8d\\x2b\\x2f\\x9c\\x5d\\x75\\x4c\\xfc\\xc7\\xb1\\xf1\\x93\\x8f\\x0f\\xf9\\xf8\\x8f\\x4e\\x4b\\x8e\\xcd\\x5a\\x3a\\x91\\x7a\\xd5\\xed\\xbd\\xf3\\xec\\xd8\\x7b\\x96\\x0d\\x25\\xcf\\x5d\\x9d\\x4f\\x5a\\x0a\\x43\\x1f\\x9e\\x9c\\xf8\\xe5\\x13\\x7d\\x6b\\xa5\\x73\\xb2\\x1d\\xe9\\x9b\\xcd\\xf4\\x5f\\x90\\xc5\\xd2\\x26\\xe2\\xb5\\x31\\x80\\x25\\x18\\xca\\xef\\xf5\\x06\\x00\\xe5\\xa4\\xa2\\x31\\x27\\x1e\\xda\\x6d\\xe0\\xfb\\xc5\\x58\\x03\\x90\\x47\\x0b\\x2b\\x63\\xb9\\xd3\\xf2\\x8f\\xf8\\x82\\x4d\\x72\\x3f\\x65\\x5c\\x65\\xca\\xe8\\x32\\xf2\\xd5\\xdb\\xbb\\xec\\xb8\\xf3\\xc1\\x2d\\x86\\x3e\\x9e\\x27\\xd7\\xb5\\xef\\xe1\\x6d\\x53\\x35\\xc3\\xd3\\xd3\\xd0\\xaf\\x71\\xc1\\x51\\xf7\\xbc\\x26\\xf1\\x0b\\x32\\x77\\x58\\x74\\xcb\\x9a\\xa2\\x9e\\x60\\xc3\\xa6\\x8d\\x96\\xed\\xb6\\x07\\xc4\\x79\\x5d\\x0a\\xeb\\xfa\\xbd\\xb8\\x89\\x9c\\x7f\\xb5\\x4c\\x96\\x9d\\x1f\\xc5\\x21\\xb8\\x56\\x12\\xd1\\xd9\\x3e\\xe2\\x67\\x71\\xa1\\x08\\x2f\\x70\\x94\\x2f\\xe0\\xf3\\xfb\\xd0\\x65\\xe5\\x73\\x19\\x75\\x56\\x5d\\x7d\\x4c\\xb0\\x5a\\x39\\x13\\xe4\\xf8\\x16\\xdc\\x4c\\xf5\\x15\\x04\\x7f\\x69\\x7b\\x4a\\xf1\\xf4\\xa4\\xb0\\x7f\\x65\\x72\\x7e\\x3c\\x15\\xf4\\x6b\\x40\\xd1\\x4b\\x2f\\xae\\xbb\\x6b\\x50\\xd5\\xfa\\x4d\\xb1\\x73\\x23\\x96\\x1e\\x03\\xfc\\xb1\\x49\\x3d\\x1f\\x7a\\xf8\\xb3\\x9f\\x6a\\xef\\x3b\\x25\\x7e\\x73\\x45\\xdc\\x29\\xfe\\xe4\\xef\\x7e\\xcf\\xc1\\x7f\\x0d\\x5e\\xff\\x78\\x49\\x5e\\x3c\\x4a\\xdf\\x1b\\x7f\\xcb\\xd3\\xfa\\x87\\xaf\\x66\\x89\\xef\\xfc\\xbc\\xa5\\x2f\\xae\\xcf\\x7b\\x14\\xf9\\x77\\x15\\xd4\\x66\\xa2\\x90\\xa8\\x26\\x66\\x45\\x3a\\xb4\\xca\\xd3\\x64\\xea\\x02\\x81\\xcc\\xca\\x3c\\xca\\x06\\x55\\xaa\\x36\\xb6\\xd6\\x99\\x9a\\x6c\\x55\\x59\\x76\\x34\\x56\\x09\\xe9\\xb2\\x32\\x1b\\xe1\\x34\\x47\\x63\\xac\\xd3\\xeb\\x2c\\x76\\x42\\x1d\\x74\\x46\\x6c\\x16\\x16\\xb9\\x77\\xac\\x55\\x45\\x13\\x44\\x51\\x32\\xe8\\xcb\\x9d\\x2e\\x95\\x4e\\xba\\xf3\\x7c\\x73\\xce\\xb4\\x79\\x6a\\x66\\xda\\xb0\\xea\\x44\\x01\\x41\\x45\\xa5\\x8d\\x51\\x31\\x8a\\x27\\xd0\\xdc\\xdb\\x6d\\x4b\\x84\\x3e\\x12\\xe2\\x83\\xa3\\x62\\xca\\x36\\x15\\x01\\xb2\\x75\\xb7\\xb9\\xd1\\x4e\\xed\\x26\\x7a\\x7a\\x14\\xe7\\x2f\\xfb\\x6d\\x4b\\xe7\\xfa\\xae\\x15\\xae\\x76\\xc6\\x07\\xf9\\x29\\x03\\xfb\\xf4\\xef\\xd7\\xa7\\x71\\xcb\\x08\\x7a\\xc0\\xf9\\x29\\xd3\\x17\\x4d\\x79\\x75\\xce\\x3d\\x0f\\x56\\x94\\x36\\x6e\\xef\\xe3\\x8d\\x51\\x7d\\x72\\xaa\\x7a\\x0f\\x1b\\x1e\\xba\\x2d\\xdc\\xeb\\x81\\x77\\xc4\\x37\\x76\\x66\\x04\\x33\\x7a\\x4e\\x9c\\x51\\x5a\\xba\\x04\\xe8\\x1e\\x2a\\x74\\xf7\\x1b\\x31\\x7b\\xec\\xb0\\xf5\\xb5\\xcb\\x86\\xd7\\xe6\\x87\\xeb\\xa3\\xa1\\x42\\x59\\x37\\xe3\\x19\\xa3\\x61\\x74\\x36\\x4a\\x89\\x5a\\x7c\\x36\\x6c\\xb9\\x9e\\x40\\x80\\x30\\xe4\\x1a\\xc2\\x88\\x1f\\x59\\x5a\\x9f\\x2f\\x2b\\x0b\\xd9\\xca\\x59\\x82\\x4a\\xa5\\xd5\\xc2\\x86\\x98\\x96\\x4a\\x4e\\xea\\x6e\\xbe\\x6a\\x12\\xf7\\x73\\x72\\xc9\\xca\\x58\\x6e\\x7c\\x9d\\x60\\xa7\\x16\\xd2\\x09\\xbf\\x16\\x87\\x79\\xd0\\x2b\\x84\\x3f\\x20\\xcd\\x4b\\x00\\x95\\x99\\xed\\x21\\x35\\xeb\\xb1\\xd5\\x8f\\x9f\\xae\\x7c\\xb1\\x2b\\xc8\\xf8\\xcf\\x67\\xff\\x2e\\x1d\\x32\\xf7\\x31\\xf1\\xd3\\xa5\\x9b\\x6a\\x8f\\x6c\\xff\\xe2\\x8a\\xf5\\xa0\\x4b\\xdc\\x2a\\x9e\\xd9\\xf1\\xf3\\xbc\\xdb\\xcf\\xec\\x07\\x86\\x39\\xc3\\x22\\x01\\xaa\\xcb\\xe0\\x89\\xe3\\x66\\x94\\x6e\\xdf\\xfc\\xfc\\xb6\\x41\\xf3\\x87\\x45\\x5a\\xb5\\x75\\x45\\x26\\xf4\\x1c\\x3b\\xfb\\xf9\\xed\\xed\\xba\\x06\\x7a\\xf7\\xf8\\x49\\xfc\\xcf\\xd0\\x9d\\x93\\xa7\\xec\\x9d\\x90\\x5d\\x9d\\x99\\x57\\xd9\\x23\\x75\\x7d\\x05\\xd8\\xf6\\xc8\\x33\\x1a\\x5d\\x96\\xac\\x2c\\xca\\x45\\x15\\x15\\x1a\\xb3\\xec\\x84\\xd9\\x6c\\xb7\\x9b\\xa2\\x31\\x3b\\x95\\x4f\\x10\\xc8\\xfd\\x91\\x22\\xcf\\xc9\\x43\\x9f\\xb6\\xb8\\xe6\\x00\\x74\\x33\\xe5\\xe5\\x7f\\xb2\\x4e\\x5f\\x25\\xa3\\x22\\x47\\xa4\\x52\\xfd\\x27\\x2b\\x04\\x79\\x5f\\xf2\\x3f\\x9a\\x53\\x29\\x2e\\xbe\\xe5\\xea\\x7a\\x3e\\x51\\x23\\xf9\\x08\\x8d\\x48\\x8f\\xd5\\xa1\\xb5\\xf8\\x89\\x4c\\x62\\x50\\xa4\\x30\\x60\\x33\\xea\\x38\\x7d\\x30\\xc8\\x19\\x61\\x16\\x84\\x21\\xc6\\xec\\x44\\x3a\\x2c\\x83\\xd3\\x65\\x52\\x46\\xa7\\xd5\\xea\\xa4\\x28\\xc2\\x49\\xb1\\xfa\\x80\\x31\\x50\\x1f\\x33\\x2a\\x25\\x76\\x72\\x00\\xd1\\x24\\xe7\\xe3\\x6e\\xaa\\x5b\\x50\\xc4\\x55\\xb6\\x7c\\x91\\xab\\x83\\x6b\\x0b\\x61\\x4a\\xe6\\xd0\\x0b\\x30\\xf6\\xba\\x1f\\x52\\xbd\\x86\\xce\\x2f\\x9c\\x9d\\x15\\x09\\x05\\xdb\\x66\\x1c\\xd8\\xe7\\xbe\\xbe\\xcf\\x0d\\x8e\\x77\\xd0\\xe5\\x05\\xfb\\xce\\xa9\\x1f\\xbc\\x7d\\xc8\\x90\\x31\\xb6\\x40\\x63\\xcd\\xb2\\xf8\\x10\\xf0\\xe1\\xbd\\xf4\\xe6\\xe9\\x63\\x07\\x44\\xab\\x82\\xa5\\xe2\\xa5\\x78\\x70\\xfd\\x7a\\xf2\\x6b\\xe0\\x2f\\xc9\\x5f\\x3f\\xf6\\xf6\\xb1\\x8d\\xd3\\x9e\\x7f\\x69\\xea\\xf0\\x6b\\x3a\\xb2\\x16\\xad\\xab\\x27\\xd2\\x7b\\xff\\xa4\\x3a\\x48\\xeb\\x1a\\x1c\\x29\\x0a\\xa2\\x75\\x05\\xf4\\x99\\x99\\x01\\xce\\x48\\xc9\\x0b\\x73\\x98\\xfb\\xc5\\x3c\\x9c\\x2e\\x40\\x19\\x1d\\x56\\xab\\x03\\x2d\\xcc\\xc1\\xb2\\xfa\\xa0\\x31\\x18\\x8d\\x19\\x2d\\xff\\x8f\\x0b\\x13\\xd2\\x02\\xba\\x35\\x00\\x2d\\x0c\\x86\\x29\\x75\\x9f\\x39\\xa1\\xe9\\xde\\xb6\\x99\\xc1\\x36\\x81\\x33\\x43\\x5d\\xf1\\x7f\\xb9\\x7e\\xa9\\x35\\x04\\xb2\\xbb\\x8f\\x6d\\x5c\\xf3\\x60\\xdd\\x88\\xaa\\xcc\\xb2\\x4e\\xed\\xef\\x15\\x1f\\xdc\\xfa\\x11\\xd5\\xa1\\x71\\xc8\\xe0\\x08\\x32\\x3d\\xc5\\xd7\\xc4\\x75\\xab\\x56\\x81\\xc5\\x20\\xbf\\xa2\\x6c\\xd1\\x98\\xa3\\x91\\x4d\\xe7\\x27\\x4c\\x99\\x50\\x1f\\xef\\x8f\\x5b\\x4b\\x48\\x62\\x3a\\x92\\xbd\\xad\\xc8\\x9e\\xc0\\xb3\\xd6\\x5b\\x47\\x32\\x5c\\x5a\\x2b\\x17\\x08\\x40\\x2b\\xcc\\xcf\\x13\\x32\\x1a\\x62\\x9c\\xc0\\x69\\xf4\\xd8\\xb6\\x27\\xb2\\x1a\\xd2\\x6d\\x88\\x94\\x0c\\x3b\\x26\\x9d\\xf6\\x11\\x92\\x57\\x82\\xd3\\x1e\\x7e\\x74\\xf1\\xe0\\x20\\x9a\\x8f\\xb2\\x98\\x19\\x92\\x10\\xca\\x9a\\xa7\\x8d\\xb4\\x27\\xc9\\x17\\xc5\\x7f\\x88\\x1f\\x0c\\x5c\\x73\\x0a\\x30\\xef\\x80\\x55\\x1e\\x71\\xfe\\x8b\\xef\\x3e\\x50\\xd8\\xf8\\xf9\\x32\\x60\\x05\\x01\\x7d\\xb1\\xb8\\xe4\\xdf\\x67\\x5e\\x3f\\xfe\\xcb\\x9c\\xf7\\x5f\\x5e\\x79\\x76\\x45\\x0f\\x33\\x80\\x3f\\x4d\\x07\\xfd\\xae\\x3f\\xdc\\x63\\x53\\x9b\\x45\\x13\\x6b\\x23\\x5f\\x7d\\xd0\\xb6\\xa3\\xf8\\xb3\\xf8\\x2d\\xf9\\xe4\\x43\\xdb\\xe6\\xc4\\x57\\x6e\\xdb\\xd7\\x7d\\xfd\\xa7\\xf8\\xfc\\x74\\x44\\x3a\\xb4\\xb7\\x94\\x6b\\x42\\x77\\x92\\x45\\x13\\x60\\x21\\x74\\x07\\x60\\x28\\xcb\\xeb\\x88\\xc6\\xbc\\x5e\\x42\\xa3\\xd1\\xf6\\x8b\\x69\\xb8\\xf4\\xbc\\x4d\\xb2\\x4c\\xc0\\x96\\xf0\\xaf\\x68\\xf9\\x7a\\xcc\\xf4\\x33\\x3e\\x4a\\x95\\x54\\x06\\x78\\x07\\x58\\xa0\\xe8\\x7c\\x0a\\xfc\\xfe\\xee\\x97\\x75\\xab\\xde\\x06\\x06\\xd0\\xdf\\x23\\x1e\\x16\\xff\\xfd\\x50\\xff\\x25\\x8b\\x9e\\x3d\\x5e\\x39\\x7e\\x6c\\x8f\\x36\\x25\\xce\\xd9\\x8d\\x47\\x5e\\x11\\x3f\\x35\\x7f\\x7a\\x76\\x41\\x7c\\xd7\\x84\\xa2\\xcd\\x65\\xab\\xc4\\x3f\\x26\\x2f\\x5d\\xb9\\x67\\x73\\xfb\\x5e\\x41\\x9d\\x7a\\x99\\xed\\xe1\\xf5\\x9f\\xff\\x53\\xd6\\x67\\x4e\\x82\\x80\\x87\\xd0\\xdd\\xe4\\x46\\xfa\\x2c\\xd3\\xa0\\xe7\\x18\\x8d\\x4d\\x6d\\xb1\\x5a\\x91\\x27\\xc5\\x41\\x0f\\x2e\\xc4\\x50\\x69\\x05\\x6d\\x3d\\x32\\x9b\\x8d\\x82\\xa0\\xb6\\xc8\\x7e\\x15\\xba\\x9e\\x90\\x5d\\xdc\\xf2\\xa2\\x97\\xba\\xbe\\x65\\x5b\\x59\\x9e\\x0d\\x18\\x14\\x82\\x01\\x0b\\xba\\x4e\\xd1\\xbe\\xb7\\x01\\x52\\xdd\\x26\\x22\\x1b\\x2e\\x5e\\xe9\\x5b\\x52\\xf1\\xda\\xf1\\xd7\\x0a\\x4f\\x90\\x0f\\xc1\\xa3\\x7b\\x5a\\xb7\\x3a\\xde\\x2a\\xb4\\xe6\\x3e\\xf2\\xdb\\xd2\\x8e\\xad\\x46\\x5d\\xb7\\xc0\\x1f\\x0e\\xfa\\x04\\xde\\xb5\\x6b\\xdf\\xd5\\xab\\x33\\xc7\\x8d\\x47\\xf4\\x65\\xdc\\xf8\\x15\\xf6\\x46\\x77\\xbc\\x09\\xe7\\xee\\x80\\xce\\xc0\\xb2\\x3a\\x15\\xd4\\xd0\\xbc\\xc9\\x24\\xe8\\xd9\\xba\\x98\\x1e\\x00\\x46\\xcb\\x44\\x63\\x9c\\x96\\x25\\xa9\\xba\\x18\\x69\\x4d\\x9b\\x5a\\x9d\\x7e\\x7b\\xa2\\x93\\x98\\x55\\x19\\x16\\x82\\x4c\\x50\\xf0\\x0b\\x34\\x13\\x44\\xfe\\x58\\xa9\\xf8\\xf9\\xcb\\x37\\x08\\xd5\\x6d\\x4f\\x9c\\x1e\\x67\\xaf\\x02\\x39\\x51\\x80\\x0c\\x9f\\x2a\\xf4\\xbe\\x3d\\xd7\\x3b\\x35\\xba\\x61\\xbb\\x07\\x80\\x0f\\x3c\\xd6\\xe8\\x12\\xbf\\x94\\xef\\xf1\\xa7\\xd1\\xde\\xe2\\xd8\\x50\\x16\\xd1\\x35\\x92\\xc5\\x6a\\x55\\x8e\\x80\\x27\\xa0\\x82\\xa4\\xd9\\x62\\xc9\\x06\\x24\\x19\\xf2\\xb9\\xfa\\xc5\\x7c\\x56\\x81\\x20\\xcd\\x6c\\x6a\\x38\\x88\\x90\\x83\\x41\\xf9\\x49\\xfc\\x39\\x3e\\xb9\\xcd\\x2d\\x82\\x40\\x4a\\x0c\\x48\\xa5\\x05\\x49\\x7f\\xad\\x39\\xf4\\x33\\xe7\\xb9\\xe1\\x38\\xf4\\xd3\\xb9\\xe3\\xb9\\xa9\\x5d\\xa4\\xc8\\xcf\\x9d\\xfb\\x46\\xc5\\x42\\xad\\xe8\\xae\\x3d\\x4f\\xcf\\xe9\\x86\\xc3\\x3d\\xcb\\x80\\x1b\\xf8\\x1b\\xef\\x36\\x3e\\x2c\\xfc\\x30\\x5f\\x7c\\x75\\x34\\x09\\xd5\\xd3\\xc5\\x77\\xc5\\xb7\\xea\\xf1\\x2b\\x9f\\xcc\\x05\\x77\\x8e\\x97\\x74\\xa2\\x13\\xd7\\xca\\x21\\xf9\\xf4\\x11\\x45\\x68\\x15\\x99\\x39\\x3c\\xcf\\x11\\x0e\\xbf\\x5f\\x4b\\x68\\x8b\\x4b\\x32\\xac\\xfd\\x62\\xb8\\x52\\x81\\x33\\x32\\xc6\\x7c\\xac\\x2b\\x98\\x4c\\x69\\x56\\x7f\\x6a\\xee\\x36\\x15\\xac\\x57\\xb1\\x61\\x2b\\xcb\\x2a\\x2b\\x78\\x25\\x50\\x8d\\x33\\x6b\\xd9\\xca\\xb0\\x54\\xa9\\x51\\xb5\\x18\\x59\\x7f\\x20\\x59\\x21\\x8a\\x2f\\x70\\x67\\x41\\xc1\\x6d\\xeb\\xde\\x5a\\xf1\\xce\\x07\\x6b\\xc4\\x6b\\x67\\xde\\x1a\\xab\\xab\\xdd\\xf8\\xc0\\xb1\\x55\\x3b\\x61\\x9b\\x6e\\x73\\xbf\\xfa\\x1c\\xae\\x98\\x36\\x7f\\xd5\\x33\\x23\\xe7\\x4d\\xbe\\x6f\\x6f\\xbd\\xef\\xee\\x4f\\x7e\\x04\\xd4\\x23\\x7d\\xce\\x9c\\xde\\x2f\\x3e\\xf9\\xc2\\x13\\xed\\xab\\xeb\\xef\\x6a\\x15\\x9b\\xe3\\x36\\x93\\x90\\x7e\\x15\\xce\\x5a\\xb8\\xf0\\x7e\\xf1\\xbd\\xa5\\xf3\\x96\\x6f\\x00\\x59\\x69\\x7d\\x37\\x2a\\xdc\\x77\\x73\\xe3\\xc6\\x0d\\x97\\x38\\x18\\xfc\\x13\\xc7\\x2e\\x89\\xde\\xd2\\xf7\\x93\\x35\\xdd\\xd4\\xc3\\x92\\xdc\\x77\\x44\\x72\\xbf\\x5d\\x8a\\x65\\x76\\x8b\\x84\\x58\\xb3\\x99\\xa7\\x6c\\x1c\\x05\\xed\\x5a\\xad\\x83\\x45\\x67\\x93\\x65\\x81\\x0e\\xa2\\x07\\x8d\\x46\\x1f\\x8d\\x69\\x58\\x60\\x8d\\xc6\\x80\\xa5\\x65\\x81\\x79\\xda\\x28\\x74\\x0c\\x1d\\xac\\x94\\x39\\xe2\\x6c\\x2b\\x52\\x9b\\x48\\xf9\\xe0\\xa4\\xa3\\x9f\\xbc\\x28\\x5e\\x39\\xfa\\xc6\\x80\\x47\\xbf\\x58\\x05\\x54\\xae\\x5f\\x1e\\x3a\\x9b\\x01\\x66\\x39\\xc5\\x15\\xfa\\x9f\\x80\\xe1\\x8d\\x93\\xf7\\x01\\xed\\x91\\xc6\\xd5\\xcf\\x3d\\xba\\xa4\\x75\\xe5\\x37\\xb2\\x8c\\x7d\\x8d\\xe8\\xea\\x22\\xd1\\xd5\\x39\\x92\\xc5\\xb3\\x9c\\x8d\\xd2\\x9a\\x29\\xca\\xa1\\xb5\\x9b\\x38\\x44\\x96\\x09\\x91\\x65\\x32\\xa1\\xcd\\xd2\\x45\\x63\\x5a\\x4b\\x32\\xb8\\x7a\\x33\\x59\\x61\\x05\\x31\\x1c\\x59\\x8c\\xb2\\x7d\\x18\\xc4\\xa5\\xb9\\x15\\x95\\xc8\\x85\\xc0\\x35\\x52\\xfe\\x03\\xc0\\xf0\\xca\\xe9\\x01\\x0f\\x7f\\xba\\x41\\xbc\\xea\\xfa\\xe5\\xd1\\x93\\x99\\xe2\\x0a\\x27\\x98\\xa5\\xf9\\x49\\xbc\\x42\\xb5\\x7e\\xf3\\xc4\\x52\\xf1\\xfb\\x43\\x23\\x57\\xef\\xd9\\xb9\\xa4\\xa0\\xfa\\x9b\\x44\\xad\\xbe\\x4b\\xaa\\x87\\x7e\\x5c\\xe2\\xed\\xf9\\x44\\x5c\\x98\\x38\\x21\\xf1\\x76\\x0a\\xd2\\xdb\\x17\\xa5\\x7a\\xf9\\x90\\xc4\\xdb\\xf6\\x04\\xa1\\x7a\\x46\\xaa\\x67\\x2f\\x8b\\x38\\x68\\x95\\x9e\\x20\\x34\\x2a\\x68\\x00\\x3a\\x9d\\x51\\x03\\xa1\\x4a\\x4b\\x01\\x06\\x12\\x2a\\xa9\\x71\\x44\\x99\\xd1\\x9c\\xee\\x2f\\xf8\\x05\\x9c\\x3f\\x94\\x86\\x2a\\xf9\\x01\\xf5\\xe3\\xaf\\xf1\\xf3\\xcb\\xc4\\x03\\xbf\\xee\\x06\\xa6\\xbf\\x83\\x1e\\x64\\x16\\x80\\xe2\\xcf\\xd4\\x5f\\xe2\\x0f\\x90\\x77\\x5e\\xcb\\xa6\\x17\\xc5\\xb7\\x91\\xa3\\xae\\x2e\\x90\\xe2\\x34\\x83\\xe9\\x81\\x88\\x6f\\x16\\x8c\\xa9\\x8e\\x91\\xf3\\x79\\x68\\xd3\\xe9\\xf5\\x56\\x8b\\x9a\\x36\\xb0\\x7a\\x17\\xcf\\x58\\xa4\\xd3\\x18\\xc6\\x2d\\x72\\x29\\x9f\\x87\\xe3\\x41\\x41\\xa1\\xa2\\x12\\x04\\xa1\\x54\\x49\\xe3\\x57\\x2a\\x24\\xe9\\x81\\x17\\x9f\\x5f\\xcd\\x65\\x89\\xda\\x4d\\x2b\\xa9\\xc0\\xe7\\x7b\\x90\\x43\\xac\\x19\\xa0\\x33\\x54\\x76\\x03\\xf5\\x54\\xeb\\x6b\\xa7\\xc9\\xf7\\x06\\xde\\x7f\\xbd\\x1b\\x3c\\x98\\x79\\xf2\\xda\\x32\\xfa\\xeb\\xf8\\xcb\\xdd\\xbf\\x89\\x3c\\xb8\\x9c\\xdc\\x84\\x6d\\xe8\\x19\\x4a\\x5d\\x04\\xb2\\x06\\xf1\\x64\\xf0\\x20\\x84\\x06\\x0b\\x4f\\x99\\xb2\\xdd\\x2c\\x2b\\x98\\x4c\\x21\\x56\\x30\\x0b\\xd1\\x98\\xde\\x6c\\x36\\xb9\\xb4\\x0c\\xc1\\x78\\xa5\\x0a\\x09\\xfb\\x4d\\x15\\x12\\x29\\x65\\xe3\\xcd\\xa5\\xf0\\x29\\x65\\x12\\xd9\\x41\\x49\\xbe\\xf0\\x54\\x5a\\xa4\\xd1\\x6e\\x5d\\x2d\\xf1\\xd6\\x2c\\x4a\\xe7\\x07\\x35\\x4e\\xf1\\x55\\x5f\\x93\\xef\\x6e\\xe7\\xdd\\x2b\\x94\\xb2\\x89\\xf0\\x93\\x3d\\x52\\xcb\\x26\\xd6\\x0d\\xd8\\xbe\\x7c\\xc7\\x8e\\xe5\\xe4\\x49\\xa5\\x70\\xa2\\x43\\x3f\\xb9\\x70\\x02\\xed\\x6b\\x3e\\xda\\xd7\\xd5\\x78\\x5f\\x41\\x6d\\xda\\x3e\\x87\\xf0\\x3e\\x73\\x0c\\x61\\x22\\x27\\x91\\x23\\x52\\xde\\x17\\xc2\\xef\\x93\\x5e\\x77\\x48\\xaf\\x4b\\x3d\\x37\\xaa\\x5f\\xd0\\xfb\\x73\\x70\\xce\\x41\\x1d\\x07\\x05\\x4a\\x8e\\xcd\\x44\\x87\\xc0\\x5d\\x06\\x4e\\xae\\xd9\\x4e\\xe6\\xe4\\xe4\\xf7\\xef\\x4b\\xbc\\x5f\\x03\\xc0\\xd0\\x44\\x9e\\x50\\x8f\\x93\\x14\\x3b\\x38\\x63\\x6a\\x95\\xb7\\x24\\x6b\\x87\\xd0\\xb9\\x1e\\x8a\\x64\\x2d\\x44\\x8c\\x8e\\x54\\x02\\x9f\\xcf\\xef\\x50\\xa9\\x42\\x46\\x7f\\x90\\xce\\xce\\x09\\x10\\xc1\\xcc\\x60\\x7d\\xcc\\xeb\\x86\\xee\\xfa\\x18\\x38\\x01\\x01\\x01\\xd1\\xf1\\x81\\x50\\x9f\\x09\\x7d\\x7e\\x5e\\xcf\\xd7\\xc7\\x22\\x2c\\x40\\x86\\x91\\x90\\xa8\\xf7\\x40\\xd2\\x81\\xa4\\x11\\xb7\\x8e\\x24\\xf3\\x51\\xe9\\xd5\\x1f\\x00\\xca\\xa6\\x2b\\x0b\\xe4\\xf8\\xbc\\xc4\\x72\\x6c\\x0b\\x49\\xa6\\x2d\\x85\\x33\\xc9\\xe8\\x80\\x31\\x70\\x68\\x67\\xe0\\xdd\\xfa\\xda\\x69\\x6d\\x56\\xf6\\xa1\\x67\\x5f\\xbb\\x73\\x61\\x59\\xac\\xb0\\xef\\x50\\x5b\\x36\\xa9\\x9e\\x75\\xf7\\x10\\xf1\\xf7\\xbe\\x1b\\x8e\\x5d\\x11\\xdd\\x19\\xd4\\x32\\x1c\\x6d\\x7c\\xbc\\xcd\\x63\\x0f\\x55\\x17\\x9d\\x3a\\xfb\\xcc\\x92\\xd9\\x95\\xf9\\x0d\\xd3\\xdf\\xd4\\xb6\\x33\\xa1\\x4b\\x84\\x8f\\xeb\\xa9\\x6f\\xb7\\x6e\\x95\\x79\\x02\\xa8\\xcb\\xaa\\x5f\\xb8\\x10\\xec\\x2a\\xf1\\x50\\x04\\x33\\x15\\x1e\\xaa\\x10\\x0f\\xbf\\x54\\x69\\xa8\\x94\\x3c\\x28\\x9e\\x57\\x86\\xf6\\x62\\x1f\\xb2\\x79\\xbd\\xc4\\xed\\x91\\x0e\\x6e\\x8f\\xc7\\xca\\x53\\x02\\xa5\\xf3\\xe9\\xfc\\xbc\\xa5\\x3e\\xc6\\xf2\\x35\\xfc\\x0b\\x3c\\x14\\x20\\xcf\\xcb\\xd1\\x67\\x56\\xef\\xd5\\x93\\x06\\x28\\x05\\xa1\\x1d\\xf5\\xb1\\x12\\x77\\xc4\\x1d\\x75\\x2f\\x74\\x9f\\x70\\xbf\\xe3\\x56\\xb9\\xdd\\xd8\\xc8\\x2a\\x55\\x38\\x93\\x52\\xf1\\x9a\\x54\\x7d\\x92\\x17\\x53\\x2a\\x9b\\xf9\\x99\\xe9\\x41\\x6a\\x4a\\x12\\x4f\\xd9\\x37\\xb3\\xa9\\x28\\x72\\xe7\\x3e\\xf1\\xea\\xca\\xb7\\xc1\\xe4\\xaf\\x3f\\x04\\xa1\\xe2\\xa6\\xcc\\xb3\\x0f\\x7c\\x2c\\xbe\\x53\\x41\\xce\\xf2\\xc4\\xd7\\x91\\x1f\\x1c\\xdd\\xf4\\x8f\\xf1\\xeb\\xe6\\x89\\xa7\\xcc\\xeb\\x81\\x76\\xdf\\xbf\\xc0\\x9a\\xcb\\x07\\xb6\\x57\\x4e\\x59\\x2c\\x7e\\xb3\\xa5\\xf6\\xcc\\xdf\\x96\\x6f\\x8d\\x1d\\x7d\\x06\\xf3\\xa1\\x35\\x5a\\x57\\x44\\xd2\\x31\\x15\\xb7\\xec\\x67\\xc2\\xfd\\x01\\xba\\xd4\\xfe\\x80\\x53\\xa9\\xfd\\x01\\xcf\\xb4\\xec\\x0f\\xb8\\x71\\x0d\\xdd\\xe5\\x72\\x8f\\x5b\\xa1\\xd4\\x9b\\xb6\\xf1\\xc6\\x2f\\x6a\\xb3\\x64\\x7b\\x06\\x88\\x51\\x48\\x92\\x38\\xde\\xe5\\x72\\x66\\x20\\xb7\\x80\\x83\\xea\\x4c\\x75\\xd0\\xe9\\xaa\\x8f\\xf1\\xc8\\x31\\xf8\\x85\\x07\\x2c\\xbf\\x80\\x27\\xad\\x88\\x85\\x9c\\x93\\x37\\x71\\x1c\\xa8\\x8f\\x71\\x50\\xa7\\x51\\x69\\xea\\x63\\x2a\\x21\\xcd\\x1f\\x52\\x84\\x69\\x44\\x7e\\x7e\\x8b\\x6a\\x67\\xc9\\x14\\x91\\x4a\\x40\\xe5\\x14\\x0f\\xef\\xc2\\xc1\\x61\\xdc\\xd5\\x42\\xe5\\x82\\x4a\\xbf\\xcf\\x84\\xa4\\xc9\\x4f\\x2d\\x10\\xc3\\xb3\\x97\\x3d\\xf5\\xdc\\xfc\\xd6\\xce\\x0c\\x21\\xb3\\xfb\\xf4\\x95\\xb1\\xa7\\x61\\xab\\x69\\xa0\\x0b\\xd2\\xc8\\xe2\\x65\\x31\\x1e\\x7f\\xea\\x33\\x30\\x13\\x4c\\x79\\x70\\xa3\\xb8\\x93\\xfa\\x52\\xbc\\x5f\\x6c\\x14\\x77\\xad\\xd1\\x3e\\xc4\\xac\\x07\\xfd\\x81\\x19\\x88\\xf1\\xe7\\x4e\\x35\\xbd\\xfd\\xd7\\x07\\x81\\x79\\xca\\xdd\\xe8\\xce\\x47\\xe7\\x8a\\xc1\\xbd\\x55\\x3c\\x5a\\xdd\\xb8\\x48\\x25\\x03\\x21\\xa5\\x43\\xd6\\x1c\\x61\\x65\\x59\\x82\\x82\\x2e\\xb7\\x56\\xa3\\xa1\\x9d\\x80\\x64\\xc8\\xfa\\x98\\x4e\\xfd\\x0b\\x03\\x58\\x66\\x01\\x83\\x56\\xc8\\x30\\x84\\x8a\\x46\\xef\\x95\\xfb\\x42\\xf8\\x44\\xc9\\x59\\x58\\x59\\x96\\x02\\x85\\x82\\x93\\x7a\\x37\\x65\\xf3\\x12\\x3d\\x50\\x61\\xe8\\x17\\xc2\\xca\\xd2\\xfc\\x59\\xca\\xca\\xa0\\x76\\x7e\\xfc\\x77\\x1c\\x70\\x3f\\x3e\\x8d\\xd4\\x4f\\x3b\\x3e\\x0d\\x58\\x94\\x35\\x89\\x7b\\x41\\x57\\x69\\x49\\x1f\\x92\\x6b\\xe2\\xd3\\x90\\x72\\x7f\\x8e\\x1c\\x90\\xba\\x12\\xe9\\xbc\\xa3\\xbb\\x25\\x84\\xd6\\x62\\xc7\\xf5\\xdb\\x6a\\xf4\\x8a\\xa0\\xd7\\xab\\x00\\xa4\\x1c\\x4e\\x96\\xe3\\xed\\x16\\x2d\\x92\\x72\\x35\\xa1\\x8d\\x68\\xa3\\x5a\\xc8\\x41\\xad\\x96\\xa0\\x18\\x12\\x52\\xb0\\x1e\\x8f\\x54\\x90\\xfb\\x72\\x94\\x53\\x2d\\xcb\\x71\\x22\\x3c\\x97\\x76\\xca\\xfd\\xf2\\x29\\xf6\\x43\\x65\\x8a\\x7d\\xb2\\x87\\x9b\\x1c\\x27\\x9f\\xdc\\xfd\\x19\\xf1\\x9f\\x3b\\x5f\\xdb\\x0c\\x16\\xe8\\x26\\x1c\\x9b\\xa8\\xfd\\x6b\\xbf\\xcf\\x62\\xf8\\xb4\\xa2\\xb3\\x2c\\x9e\\xad\\xa8\\x8c\\x7f\\x4d\\x06\\x0b\\x4b\\x9e\\xce\\x30\\x37\\xeb\\x34\\x2b\\xd6\\x81\\x78\\x9c\\xa0\\x74\\x7e\\x5f\\x91\\x7b\\x3e\\xcc\\x34\\xee\\xf9\\xd0\\x36\\x99\\x6d\\x42\\x73\\x57\\x89\\xb4\\x57\\xf4\\x11\\xd5\\x2f\\x04\\x46\\xbd\\x45\\x3e\\x90\\x46\\xad\\x26\\xf1\\xe0\\x04\\xbd\\xd1\\xa4\\xa2\\x05\\xc6\\xac\\xe7\\x75\\x34\\xa3\\xe6\\x19\\xc8\\x2d\\x34\\x60\\x04\\xdd\\xcf\\x9c\\xe7\\xa5\\x94\\xb2\\x54\\x86\\x23\\x2f\\x41\\x3a\\x90\\x61\\x5c\\x13\\xca\\x00\\x1c\\x6c\\xab\\xd4\\x00\\x64\\xf6\\xda\\x98\\x1a\\x60\\x7a\\x6e\\xbf\\x2b\\x00\\xdf\\xfd\\x4c\\xfc\\x79\\xf7\\x81\\xaa\\xeb\\x55\\xe4\\x03\\xe2\\xc7\\xf4\\xdb\\xcf\\x43\\x7a\\xd1\\xf5\\xc6\\x55\\xcb\\xa9\\x3d\\x57\\x17\\xc0\\x5d\\xe2\\xb5\\xa1\\xf4\\xd5\\xcb\\x9e\\xaf\\xcc\\xf8\\x8c\\xc4\\xd1\\x99\\x7b\\x83\\x29\\x43\\xb4\\xbf\\x27\\xd1\\x7e\\x15\\x9c\\x01\\x3d\\x24\\xdd\\x83\\x89\\x7f\\xcc\\xe6\\x85\\x6c\\x9a\\xee\\xa9\\x11\\xc7\\xd3\\x67\\xa5\\xdc\\x4c\\x4d\\xc4\\x4b\\x93\\x3a\\x42\\xa5\\xd1\\x10\\x24\\xd4\\x1b\\xd4\\x0c\\x43\\xa1\\x9b\\x9f\\x26\\x71\\xc2\\x42\\x03\\x48\\x5e\\x87\\x1b\\x91\\xf1\\x4d\\xdc\\x5c\\xa4\\x93\\xae\\x68\\x05\\xbf\\x2c\\x3b\\xe8\\x60\\x80\\x8b\\x51\\xd1\\x83\\x84\\xe5\\x37\\x08\\x7e\\x7b\\x19\\xb9\\x5c\\x9e\\xa8\\x38\\x1e\\x3c\\x44\\x2f\\xba\\xe6\\xa5\\xbe\\xbc\\xba\\x40\\x02\\x4f\\x6e\\xd9\\xc3\\x8a\\xf8\\x88\\x6c\\x10\\xea\\x1f\\x92\\x0d\\x62\\x46\\x16\\x5e\\x2e\\x65\\x40\\xbe\\x8d\\x9a\\x54\\xeb\\xa1\\xc5\\xaa\\x37\\x20\\x71\\x40\\xae\\xff\\x2f\\xb8\\x6b\\x62\\x01\\x85\\x24\\x1d\\x79\\xc8\\xfa\\xb4\\x2e\\xc2\\xe6\\x93\\x9b\\x46\\x15\\x16\\x8a\\x96\\xe7\\x14\\x44\\xe1\\x63\\x19\\x71\\xff\\x40\\xd0\\x39\\x71\\x32\\x77\\x7c\\x92\\x38\\x99\\xf4\\xa2\\xad\\x62\\x6d\\x8a\\xfc\\xb6\\xec\\xad\\x4d\\xe8\\x77\\xfa\\x5e\\x4e\\x85\\xf5\\x3b\\xd2\\x43\\x9d\\x10\\x0f\\xc7\\x23\\xba\\x8d\\xc8\\x92\\x19\\x16\\x29\\xb6\\x68\\x4c\\x06\\x96\\x80\\x24\\x67\\x34\\x92\\x84\\x41\\x43\\xdb\\x54\\x0c\\x63\\xe5\\x4c\\x06\\x53\\x7d\\xcc\\x68\\x80\\x16\\x16\\x10\\x6a\\x5a\\x8d\\x96\\x43\\xf3\\xe8\\x1b\\x12\\x2e\\xa1\\x54\\x8f\\x2b\\xf7\\xce\\x26\\x8b\\x89\\xd2\\xa2\\xeb\\x4a\\x8d\\x56\\x18\\x5f\\x56\\xb8\\xea\\x5a\\x52\\x3f\\x88\\xe1\\x48\\x23\\x31\\xd4\\xcc\\x17\\x26\\x37\\x45\\xaf\\xfd\\x1e\\xdd\\x3f\\xe9\\xfe\\x31\\x7b\\x46\\x3e\\x0d\\x79\\x71\\xc0\\x25\\xb1\\xe7\\xec\\xe1\\xdb\\xfa\\x3e\\x1e\\x3f\\x03\\x1e\\x12\\xc7\\x93\\x55\\x63\\x40\\x03\\x72\\x8b\\x44\\xc4\\xfe\\x0e\\x48\\xef\\x7c\\x27\\x3e\\xdd\\x70\\x53\\x7f\\x2d\\xb2\\xc7\\x9e\\x47\\x3a\\xe7\\x65\\xb4\\x8e\\x20\\xb1\\x22\\xd2\\x45\\xab\\xc9\\x70\\x79\\xf8\\x00\\x72\\x96\\x28\\x36\\xe8\\x71\\xbb\\x83\\x1a\\x48\\xdb\\xec\\xf6\\x2c\\x8a\\xa6\\x33\\xed\\x36\\x9b\\x06\\xa9\\x51\\x8d\\x4b\\x95\\x01\\x55\\x90\\xf5\\x23\\x83\\xb6\\x21\\xc6\\x17\\xe3\\x9b\\x99\\xd2\\x6a\\x60\\x20\\x18\\xa4\\xd0\\x35\\x46\\x53\\xbc\\x5c\\x6b\\x6c\\x52\\xea\\x8d\\x95\\x71\\x40\\xc9\\x5c\\xae\\x5d\\xfe\\x56\\x4b\\x27\\x4b\\x4e\\xe0\\x28\\x80\\xdf\\x78\\x92\\x1a\\x32\\x2d\\x43\\xd9\\x30\\x2c\\x64\\x90\\x61\\xa4\\x99\\x70\\xbf\\x1d\\xee\\x86\\xc1\\xed\\xab\\xe8\\x4a\\x87\\x41\\x38\\x3a\\x30\\xc4\\x17\\x7f\\xe7\\x07\\xf2\\xd1\\xe2\\x11\\xef\\x9e\\xdc\\xd0\\xb7\\xd7\\xc0\\x9e\\xb3\\x8f\\xcf\\xae\\xad\\x9f\\xf8\\x10\\x50\\x5f\\x10\\x1f\\x5e\\xdb\\x0f\\xdc\\x76\\x49\\xbc\\x14\\x98\\x98\\x3f\\xff\\x04\\xb9\\x91\\x65\\xe3\\x7d\\x21\\x93\\x7b\\x10\\x6c\\x11\\xdf\\xde\\x39\\x31\\x97\\xbc\\x3d\\xbe\\x29\\x7b\\xf4\\x5e\\xd0\\x4a\\x1c\\xf5\\x74\\xf5\\xf5\\x38\\x79\\x40\\x6f\\x8e\\xdf\\x8e\\xcf\\x85\\x80\\xee\\x9a\\x13\\xf4\\x26\\x22\\x97\\x98\\x1b\\xe9\\x49\\x41\\x87\\x53\\x9b\\x2d\\xf8\\xfd\\xd9\\x99\\x46\\x27\\x54\\xe5\\xe5\\x67\\xb2\\x46\\xd6\\xd8\\x80\\x5d\\x8e\\xc9\\xec\\x36\\x96\\x44\\x3a\\xd9\\xc3\\x3a\\xbc\\x0e\\x52\\x7a\\x30\\x40\\x47\\x84\\xb7\\xd5\\x3a\\x1c\\xe8\\x26\\xaf\\x8f\\x79\\x28\\xa4\\xc8\\x63\\x11\\x2a\\x4a\\x91\\x48\\x64\\x9b\\x6f\\x67\\x39\\xfc\\x86\\x67\\x9e\\xe1\\x1a\\xfe\\x62\\xa9\\xd7\\x98\\xa8\\x4e\\xcb\\x36\\x48\\x77\\x74\\x72\\xec\\x4d\\x28\\x1f\\x54\\x26\\x21\\x61\\xe4\\x88\\x9c\\x0c\\xdb\\x88\\x1f\\x29\\x32\\xf7\\x6d\\xf1\\x9f\\xed\\x76\\xb5\\x79\\x61\\xf5\\xde\\xd3\\x8f\\xed\\x18\\xe3\\xee\\xf6\\xfe\\xab\\xab\\xa7\\x6d\\x38\\xd9\\xfe\\xe9\\x28\\x70\\x7d\\xb0\\xf0\\xfc\\xa4\\xc3\\x3b\\x66\\x6d\\x10\\xcf\\x99\\x77\\xef\\xeb\\xba\\x69\\xfa\\xe6\\x35\\x13\\xee\\x79\\x60\\xd1\\xca\\x91\\x93\\x67\\x2d\\x6c\\xf7\\xcc\\x73\\x43\\xb6\\x8c\\xda\\x78\\xcc\\x6e\\xd9\\x39\\xf5\\xc2\\xaf\\x4a\\xae\\xf6\\x88\\x74\\x06\\xa3\\x91\\x12\\x3d\\x32\\xca\\x0d\\x3a\\x24\\xa5\\xc6\\x2e\\xba\\x81\\x3a\\x92\\xd6\\x59\\x74\\x59\\x3a\\xa8\\x63\\x54\\x2a\\x12\\x40\\x35\\x72\\xb4\\x7a\\xd0\\x43\\x69\\x52\\x4b\\x3b\\xe9\\x3c\\x1a\\xd2\\x92\\xae\\x1e\\x31\\x45\\xe9\\x38\\x46\\x52\\x8d\\x56\\x96\\x3a\\xc6\\x27\\x55\\xbf\\x81\\x9b\\x34\\x5b\\x0b\\x8d\\x96\\x90\\xcf\\x23\\x92\\x2e\\x7b\\x53\\xd1\\x65\\xff\\x54\\x74\\x99\\x01\\xe9\\xb2\\xbd\\x9c\\x9d\\x60\\xd2\\x75\\x19\\xd6\\xdb\\x88\\x76\\x81\\x18\\x10\\xc9\\xd3\\x19\\x0d\\xbc\\x41\\x4f\\xf2\\xbc\\xa0\\x17\\xcc\\x8c\\x5a\\x6d\\xd1\\x19\\x49\\x13\\x69\\x6a\\x88\\x15\\x93\\xc8\\xf1\\xe7\\x05\\xc1\\xa0\\xe7\\x91\\x8e\\x53\\x3a\\xd7\\x15\\x92\\xd1\\x3e\\xa4\\xe6\\x37\\xd3\\x3b\\x1e\\xc0\\x2d\\x64\\x0f\\x44\\x6f\\x92\\xb4\\x77\\x91\\xa4\\xcd\\x3b\\x81\\x6e\\xc2\\x34\\xc1\\xda\\x81\\x04\\x6b\\x2e\\x3a\\x63\\xc8\\x66\\xa1\\x17\\x48\\x34\\x56\\x47\\xdc\\x04\\xe0\\x38\\x93\\x5a\\x6d\\x36\\x59\\x78\\x81\\x47\\xff\\x40\\x76\\x89\\x89\\x83\\x2a\\x9d\\x62\\x96\\x34\\x07\\x45\\xc2\\xcd\\x59\\xe9\\xd2\\x5b\\x59\\x22\\x20\\x48\\x3d\\x2d\\xea\\x5b\\x9a\\x1e\\x75\\xe2\\xcf\\x2f\\xdf\\xc2\\xd0\\x48\\xf4\\x33\\xdf\\xd4\\xdb\\x9d\\xec\\xa5\\x6f\\xd9\\x4f\\xad\\x7c\\xff\\x02\\xfe\\x3e\\xec\\x9f\\xfc\\x77\\xb2\\x1f\\xba\\xa5\\x3f\\xd9\\xb2\\x37\\x19\\xad\\x5b\\xba\\x97\\xa4\\x75\\x77\\x8d\\x64\\x6a\\x39\\x9b\\xbb\\x96\\xd3\\x1a\\xf4\\x3a\\x83\\xce\\x6c\\x64\\x59\\x8b\\x01\\xb9\\xc7\\xc0\\x0a\\x39\\x2d\\x61\\xd4\\x21\\x3f\\xb3\\x39\\xdf\\x88\\xf7\\x00\\x0f\\xcb\\x4b\\xc7\\x14\\x20\\xf2\\x5b\\x95\\xd8\\xf0\\x44\\x28\\xa9\\xa0\\x4e\\xea\\x40\\xc1\\x89\\xc5\\xcf\\x6b\\x66\\xe7\\x0f\\xec\\x5f\\x5b\\xd9\\xbf\\x7e\\xb5\\x78\\xcf\\x3b\\x20\\x97\\xb4\\x7f\\x78\\xfd\\xdf\\x13\\x57\\xac\\x37\\xe7\\x05\\x57\\xb4\\xc9\\x1b\\xf7\\x0a\\x7c\\xee\\xfa\\x2f\\x90\\xbb\\xf6\\xca\\xfa\\xc5\\xed\\xa5\\xfa\\xc0\\x39\\x37\\xfe\\x50\\xe9\\xe9\\x55\\x78\\x32\\x06\\x3a\\xe7\\x53\\x22\\xad\\x75\\x6a\\x9f\\xdf\\x9e\\x6b\\xb6\\xd9\\x72\\xfd\\x6a\\x4a\\x6b\\x45\\x36\\x96\\xc5\\x6a\\x75\\x67\\xb9\\xd9\\x2c\\xc8\\xc2\\xfc\\x3c\\xb3\\x2d\\xd7\\xd6\\x10\\xb3\\xe7\\xfa\\xfc\\x6a\\x7f\\x03\\x32\\xbb\\x72\\xd1\\x1f\\x8d\\xd5\\x22\\x20\\x95\\xf7\\xff\\xdc\\x1f\\x8d\\x0c\\x70\\x25\\xd0\\x46\\xe1\\x48\\xcc\\xad\\x1b\\xa4\\x07\\x7f\\x24\\xc6\\x1f\\x01\\x8e\\x7d\\x8d\\x99\\x47\\x83\\x99\\xdf\\x00\\xb8\\x45\\xfc\\xdb\\xfe\\x89\\x05\\x47\\x0b\\xde\\xef\\xfd\\xfa\\x97\\x4f\\xad\\xac\\x3c\\xdc\\xee\\xc3\\x4f\\x9e\\x58\\x5e\\xfd\\x97\\x7f\\x7f\\xb0\\x83\\xb8\\xb1\\xea\\xa5\\x97\\xae\\x5c\\xde\\x71\\x83\\x58\\xfd\\xf5\\xd7\\x6b\\xdf\\x7b\\x65\\xeb\\xfe\\x0b\\xaf\\x3e\\xda\\x74\\x8b\\xfe\\x68\\x7c\\xef\\x6f\\x4e\\xdc\\xfb\\xe8\\xa6\\x27\\x34\\xd8\\xf0\\xc2\\xc3\\x35\\x35\\x1a\\x64\\x41\\xea\\xd4\\x84\\xd4\\xc4\\x8e\\x2c\\x49\\x69\\xa6\\x51\\xe2\\x7a\\xba\\xc5\\xbd\\x9f\\x85\\x2f\\x25\\xc5\\x6a\\xa4\\xfb\\xe3\\xab\\x08\\x9b\\x89\\xbf\\x91\\xe7\\x7f\\x7b\\xf9\\x37\\xe9\\x02\\x92\\xaf\\xfd\\x6b\\x5e\\xe9\\x73\\x2f\\x48\\x79\\xca\\x45\\x84\\x95\\x68\\x1f\\xc9\\x20\\x04\\xc1\\x6c\\xa0\\x69\\x9b\\xd9\\x6c\\x27\\x48\\x16\\x99\\xb2\\x3c\\xcb\\xaa\\xad\\x16\\xde\\x2c\\x28\\x3d\\xe7\\x89\\x8b\\x23\\xad\\x21\\x5b\\xb9\\xd8\\xa9\\x64\\xfa\\xd5\\x08\\x12\\x35\\x66\\xe8\\x48\\xfe\\x5b\\x14\\xb7\\xbe\\xfe\\x86\\x76\\xe2\\xb1\\x89\\xa4\\xfa\\x9f\\x83\\xfe\\x3e\\x60\\xe3\\x31\\xf1\\xe7\\x63\\xe0\\xba\\xe4\\xb3\\x91\\xc1\\xf8\\xa7\\xc8\\x5b\\x7b\\xd6\\x2b\\x90\\xbf\\x5f\\x5d\\x90\\xd0\\x19\\xcc\\x08\\x89\\x0f\\x9d\\x22\\x3e\\xcc\\x07\\x64\\x56\\x20\\x56\\x60\\x36\\xe0\\x52\\x08\\xac\\xe7\\xf0\\xab\\xc8\\xce\\xd0\\x49\\xfa\\x2d\\x8d\\x0d\\xe1\\x96\\x80\\x2c\\xe1\\x84\\xf5\\x8c\\x48\\xa9\\xc1\\x5c\\x00\\x3f\\x21\\x2e\\xe0\\x07\\xf1\\xe7\\x04\\x1b\\xb0\\x05\\x94\\xb4\\xbd\\x98\\x1c\\x1a\\xe3\\xdb\\x44\\x23\\x39\\x0c\\xa5\\x43\\x4b\\x36\\x18\\x8d\\x84\\x9a\\xa2\\x4c\\x90\\x33\\x1a\\x0c\\xb4\\xbc\\x17\\xac\\x3e\\xb1\\x1b\\x89\\xcd\\x50\\x4c\\x85\\x54\\x32\\xc2\\xe9\\x17\\x47\\xea\\xa6\\xe0\\xbf\\xaa\\x6f\\xd1\\xc6\\x5c\\x2d\\x94\\x48\\xba\\x84\\x49\\xba\\xd8\\x72\\x77\\xa4\\x1d\\x22\\xa5\\x73\\xfb\\x7b\\x4b\\x1b\\x4c\\xad\\x07\\x7f\\x62\\x83\\x41\\x3d\\x0f\\x09\\x24\\x26\\xff\\xc3\\x06\\xab\\xbc\\xd9\\x06\\x23\\x17\\x8b\\xe5\\x19\\xe4\\xca\\x69\\x20\\x33\\x61\\x83\\x9d\\xfe\\x18\\x0c\\x92\\x6c\\xb0\\x37\\x90\\x69\\x9e\\xee\\x43\\x40\\x29\\x3e\\x25\\x4a\\x58\\x13\\xb8\\xa3\\xaf\\x5f\\xa4\\x90\\x62\\x59\\xa4\\xc0\\xf5\\x6a\\x1b\\xd2\\xe6\\x76\\x3d\\xf2\\x8b\\x29\\x74\\xd9\\x9e\\xa0\\x40\\x5f\\x0a\\x7c\\x4e\\x01\\x8a\\x42\\x24\\x23\\x13\\x9c\\x47\\x6c\\x44\\x7b\\x98\\x10\\xa5\\xe2\\x52\\xf9\\xae\\x9d\\x92\\xdf\\xa2\\xac\\x0c\\xf7\\xb3\\xe1\\xd8\\x95\\x42\\x24\\xe6\\x9c\\x4c\\x26\\x5d\\x84\\x78\\x26\\xfe\\x7c\\xed\\x85\\x14\\x5b\\x11\\xf0\\xc7\\xff\\x68\\x36\\x17\\xd1\\x85\\x55\\x88\\x69\\x45\\x8c\\xb4\\x2a\\xe4\\x2a\\xb6\\xec\\x21\\x44\\xaf\\x16\\x49\\x4d\\xc7\\x48\\x26\\xa1\\xd3\\xa9\\x8d\\x94\\x9a\\x12\\xcc\\x04\\x8f\\x38\\x48\\x00\\x96\\x58\\x40\\x20\\x0e\\x12\\x84\\x1a\\x69\\x0f\\x35\\xd2\\xf8\\x6a\\x3e\\xa9\\xf1\\x64\\x1e\\xa6\\x84\\x6c\\x31\\x0b\\x6f\\xa2\\x0c\\x6c\\x05\\xd5\\x09\\x92\\x5e\\x94\\x48\\xba\\x5d\\x22\\x69\\x5f\\x0b\\x72\\x00\\x61\\x46\\xba\\xb7\\x27\\xbd\\x99\\xf0\\x10\\xb3\\x22\\x3d\\xd0\\xa6\\x99\\x38\\xa7\\x4d\\xa3\\xb1\\x73\\x30\\xc3\\xeb\\xb0\\xd7\\xc7\\x58\\x47\\x8d\\xe3\\x05\\x07\\x14\\xa0\\xc3\\x61\\x50\\x19\\xd0\\x06\\x13\\x26\\xce\\xe4\\x33\\x45\\x4d\\x8f\\x9b\\x68\\xbd\\xc9\\x64\\x10\\x58\\xe8\\x85\\x37\\x20\\x34\\x40\\x88\\xed\\x1a\\xe4\\x14\\xa8\\xd0\\x96\\xab\\x92\\x69\\x52\\x6c\\xc3\\x20\\xd6\\xa6\\xc7\\x1a\\x92\\xf3\\x78\\xc3\\x89\\x26\\x92\\x6c\\xde\\xef\\xc3\\xd5\\x2b\\xe8\\xdc\\x2a\\x46\\x0d\\x81\\x43\\x9b\\x95\\x65\\x21\\xa8\\x7f\\xf4\\x93\\xb6\\xcf\\xec\\x06\\x47\\x00\\x03\\x5a\\x9d\\x10\\x1f\\xff\\xfb\\x27\\xe2\\x57\\xe5\\x7b\\xf2\\x4e\\x3f\\xfc\\x05\\x28\\x0c\\xc6\\xd7\\xba\\xc8\\x31\\xd4\\xdb\\xd4\\xd5\\xa5\\xb3\\xdb\\x82\\x11\\xe2\\x09\\xf1\\x1f\\xd7\\xc5\\x59\\x97\\x8e\\xbd\\xd4\\x7a\\xe9\\x6a\\xa0\\xfb\\x7e\\x4b\\xaf\\x57\\x2e\\x4b\\xfc\\xae\\xb9\\xf1\\x23\\xf3\\x23\\x5a\\xa3\\x99\\x08\\x10\\xdd\\x23\\xd9\\x26\\x83\\xc1\\xe8\\xd0\\xfa\\x20\\xd4\\x1a\\x61\\x30\\xd3\\xa4\\x47\\x17\\xab\\xc9\\xc8\\xb1\\xd0\\x60\\xe4\\x19\\x77\\x7d\\x8c\\x11\\x08\\x4b\\x3a\\x6e\\x82\\xac\\x67\\xf2\\x5b\\xd8\\x5f\\x29\\x58\\x2f\\x95\\x8a\\x6f\\xcc\\x13\\x74\\x1a\\xe4\\x0b\\xbd\\x0f\\xa8\\x41\\x29\\xfd\\x96\\xf8\\xc8\\x17\\xe2\\x15\\xf1\\x12\\x14\\x3f\\x91\\xdd\\x64\\xe0\\xe9\\x0a\\x36\\x01\\xcb\\x61\\x31\\xbe\\xfa\\xfc\\xc1\\x43\\x00\\xae\\x79\\x8b\\xde\\x2c\\x81\\xbe\\xfc\\x21\\xde\\xfd\\x3e\\x68\\x0d\\x6c\\x51\\xd9\\x5d\\x06\\x5e\\xd0\\x63\\xcb\\x8b\\xe2\\xb6\\x43\\x1f\\x7c\\x80\\x4b\\x25\\xdf\\xf9\\x54\\xc6\\xdd\\xd9\\x81\\xce\\xe1\\x4c\\x24\\x3f\\x06\\x24\\xed\\xb1\\x48\\x81\\x1e\\x00\\x83\\x4e\\x67\\x34\\xaa\\x79\\x64\\x44\\xaa\\xd5\\x76\\x03\\x41\\xd8\\x74\\x40\\x6f\\x41\\x0b\\xb3\\x5a\\x2c\\xe8\\x15\\x23\\x92\\x20\\x88\\x15\\x57\\x12\\xf4\\x45\\xd9\\x8d\\x94\\xc6\\x61\\x53\\xb3\\xfe\\x54\\x0a\\xdc\\x82\\x52\\xa7\\x73\\x26\\x12\\x2b\\xa4\\x2e\\x90\\xf8\\xcb\\xb9\\x79\\xff\\x30\\x32\\x6f\\xd9\\x2a\\x90\\x0b\\xca\\xc9\\xa1\\xe2\\xcf\\xc7\\xa7\\x88\\x33\\xe2\\xd7\\x29\\x5e\\x6c\\x3c\\x7a\\xf2\\x91\\x07\\xc0\\x32\\xf2\\xb6\\x92\\xd7\\x17\\xbd\\xff\\xee\\xd5\\x05\\x64\\xf7\\xf8\\x41\\xea\\xef\\xf7\\xac\\x9e\\xb7\\x18\\x63\\x18\\x21\\x7b\\xb9\\x50\\x8a\\xe5\\x77\\x96\\xf6\\x63\\x02\\xfa\\xf7\\x51\\xfa\\x33\\x74\\x5a\\xb3\\x91\\xfc\\xfb\\xf5\\x7c\\x88\\x74\\xf0\\x0e\\x6f\\x8e\\x37\\x37\\x84\\xac\\x65\\x1c\\xad\\xb7\\x79\\xbd\\xbe\\x7e\\x31\\x2f\\xb0\\x31\\xd1\\x98\\xad\\x65\\x5e\\x8d\\x08\\xa7\\x57\\x54\\x02\\x9f\\x52\\xdd\\x81\\x8b\\xc9\\x43\\xd9\\x89\\x00\\x39\\x3a\\x09\\x38\\x69\\x98\\xc5\\xa8\\x28\\x23\\xc9\\xf0\\xe4\\x26\\xf1\\xa3\\xa8\\x7e\\xc9\\xdd\\x23\\x97\\x0d\\x2b\\x9d\\xd3\\xf3\\xe5\\x33\\x3d\\xef\\x7f\\x67\\xa5\\xd8\\xd0\\x7f\\xee\\x11\\x50\\x06\\x36\\x7b\\xdf\\x10\\x77\\x3c\\xd8\\x58\\xeb\\x5b\\x0b\\x17\\x88\\x4f\\x95\\x46\\x37\\x3f\\xdc\\x75\\xed\\xe5\\x01\\xf7\\x2d\\x5d\\xf2\\xe6\\xb1\\x19\\xe2\\xbf\\x0f\\x0d\\x03\\xf1\\xb5\\xa0\\xf1\\xab\\xfb\\x87\\x56\\x3e\\xe1\\x68\\xdb\\x71\\xd2\\x8b\\x6b\\x81\\x46\\xd2\\x3b\\xd9\\x37\\x7e\\x84\\xbf\\x50\\x9d\\x11\\x57\\xdd\\xc8\\xb2\\x89\\x45\\x8a\\x43\\x5e\\xc1\\x4b\\xd8\\x19\\x41\\xaf\\xa7\\x18\\x82\\xca\\xc9\\x86\\x21\\x77\\xc8\\x5d\\x17\\x63\\x43\\x40\\x07\\x43\\x21\\x2d\\xc7\\x05\\xa2\\x31\\x8e\\x13\\x2c\\x5a\\x4b\\x34\\xa6\\xd7\\x36\\x97\\x13\\xa5\\x1d\\x8e\\x74\\x43\\x5f\\x6a\\x5f\\xc5\\x33\\x71\\x12\\x35\\x98\\x32\\x16\\x1d\\xb0\\x26\\xed\\x7e\\x9f\\x6c\\xf5\\xb3\\x00\\xfe\\xb2\\x6e\\x31\\x18\\x3b\\xe7\\xc6\\x77\\x5f\\x9e\\x9f\\x5e\\xf0\\xdd\\xbb\\x2f\\x1e\\xbf\\x7e\\x63\\xf6\\xf4\\xe5\\x5b\\xe7\\x2d\\x7d\\xe3\\x33\\xe0\\x1e\\x3e\\xfc\\x9e\\xfb\\xdc\\x6a\\x58\\x7b\\xc7\\x3a\\x2b\\xc3\\xdd\\x33\\x62\\xd7\\xbe\\x5c\\x72\\xe2\\xb7\\x5f\\x2c\\xb9\\xfe\\xba\\xb9\\xf1\\x8e\\xe8\\xc8\\x7b\\x4f\\x74\\xe8\\xf5\\xc0\\xfd\\xb9\\x48\\x1f\\x14\\xa0\\x35\\x9d\\xa2\\xfa\\xa2\\xf5\\x74\\x8f\\x64\\x59\\x6d\\x99\\x1a\\x48\\x99\\xdc\\x6e\\xca\\xa6\\x41\\xcb\\xc9\\x34\\xa9\\x70\\xfe\\xd9\\x21\\x44\\x63\\x0e\\xab\\x74\\xd4\\xa3\\x31\\x15\\x77\\xeb\\x8a\\x88\\xb4\\x93\\x22\\xf9\\x24\\x7e\\xb9\\xf1\\x81\\x31\\x2a\\x55\\xdf\\x36\\x95\\x5f\\xae\\xfa\\xa8\\x94\\xf6\\x8d\\xec\\x34\\x79\\x8e\\x77\\x73\\x1f\\x30\\x72\\xdf\\xab\\xb5\\x5b\\x77\\x37\\xdd\\x5e\\xf6\\xf5\\x9c\\xfb\\xbc\\x1b\\xfb\\x88\\x9b\\x5e\\xbb\\x38\\xe8\\xc5\\x3d\\xb3\\x17\\x57\\xdd\\x01\\x4f\\x76\\xa9\\x2b\\xb9\\xb2\\x76\\x51\\xdd\\xd4\\xc1\\xa5\\xe5\\x15\\x9d\\xc3\\x0f\\xf7\\x18\\x50\\x75\\x65\\xc3\\xba\\xa1\\xf7\\xd6\\x17\\xfb\\xaa\\xdb\\x87\\x6b\\x3a\\x26\\x70\\x0d\\x0a\\xe8\\xf3\\x84\\x13\\xc9\\x56\\x97\\x48\\x96\\x57\\x6b\\xcd\\x82\\xd0\\x64\\x85\\xb9\\x39\\x8c\\xbf\\x2e\\xa6\\x65\\x19\\xe0\\xc6\\x81\\x30\\x41\\x30\\xd6\\xc5\\x04\\x82\\x70\\xdd\\x94\\xb7\\x95\\xa3\\x48\\x2d\\x73\\xb7\\x52\\x41\\xb1\\xad\\x52\\x82\\x92\\xc7\\xa9\\x3d\\xa4\\xac\\x18\\x92\\xc8\\xc6\\x01\\xfa\\x44\\x7d\\x31\\xf8\\xf1\\x8d\\xaf\\x16\\xfd\\xf5\\xc1\\xc6\\xbd\\xc5\\x70\\xcf\\x13\\x3d\\xba\\xe5\\x0d\\x1e\\xf5\\x07\\x00\\xbe\\x6a\\xf1\\x3f\\x1f\\xce\\xdb\\xd6\\xeb\\xc6\\xec\\x07\\xfb\\xcf\\x37\\xff\\x74\\x66\\x1b\\xc8\\xda\\x5a\\xd7\\xa9\\xfb\\xa9\\x4b\\xee\\xb9\\x7e\\xf1\\xa2\\xf8\\xee\\xfa\\x23\\xe2\\x67\\xe2\\xf7\\x4b\\x97\\x83\\x8c\\x7a\\xa0\\x9d\\x2b\\xc6\\x67\\xdd\\xb7\\x5e\\x8e\\x33\\x75\\x41\\xeb\\xc8\\x96\\xce\\x8c\\x54\\x1b\\x75\\xe3\\x25\\x74\\xe6\\xdf\\x92\\x7a\\x49\\x57\\x46\\x6a\\x4d\\x04\\x09\\xa1\\xd5\\x6a\\xf3\\xf8\\x8c\\x50\\xe3\\x76\\xbb\\x34\\x6a\\x35\\xed\\x74\\x51\\x36\\xca\\x96\\x89\\x54\\x78\\xd0\\x66\\xb5\\xaa\\x39\\x64\\x2d\\x39\\x69\\x0f\\x49\\x93\\x46\\x1f\\x3a\\x68\\x75\\x31\\x53\\xb1\\x11\\x18\\xd1\\xdb\\xd5\\xac\\x3f\\x10\\x80\\x2e\\xb4\\xa7\\xd0\\x82\\xaf\\x3e\\xd3\\x7f\\x77\\xc1\\x4d\\xcd\\xea\\xc1\\x96\\xda\\xdf\\x26\\x43\\xc7\\x04\\x12\\xfe\\xb7\\x2d\\xe1\\x7f\\x93\\x92\\x0b\\x24\\xe0\\xf4\\x0b\\x72\\x81\\xc8\\x51\\x55\\xf9\\xe2\\xc2\\x33\\xe0\\x2f\\xa1\\xf0\\x83\\x2f\\xdc\\xd6\\xaa\\xbc\\xac\\x60\\x78\\xd3\\x70\\x4f\\x49\\x55\\x2f\\x60\\x3c\\x21\\xfe\\x36\\xa5\\xfc\\x87\\x97\\x5f\\xe6\\xa2\\x8e\\xfa\\x26\\xf0\\xad\\x59\\x64\\xc8\\xc1\\xa1\\xa9\\xa0\\xe7\\xcf\\x53\\x07\\x05\\xc1\\x47\\x62\\x88\\x2d\\x18\\x08\\x7a\\x88\\x47\\x96\\x67\\xc6\\x5f\\x02\\x57\\x19\\xa3\\xe8\\x92\\xf3\\x69\\x57\\x90\\x7c\\x2e\\xa4\\xfa\\x20\\xf9\\x1c\\x19\\x29\\xe5\\xdc\\x9a\\x4c\\x64\\x85\\xeb\\x7d\\x99\\x6e\\x3a\\x87\\x82\\x30\\xdb\\x67\\xd0\\x1b\\xf4\\xd1\\x98\\xc1\\xe0\\x20\\x58\\x0b\\x10\\xa0\\xc5\\x22\\x4b\\x2b\\x47\\xa8\\xa2\\x18\\xc3\\xcb\\x2a\\x75\\xee\\x25\\x3d\\x6c\\x69\\xd4\\x76\\x75\\x33\\xe4\\x43\\x38\\xbd\\xd5\\x52\\xf6\\xa1\\x24\\x18\\x10\\xc5\\xb7\\x56\\x0a\\x41\\x24\\x39\\xb6\\x48\\x27\\x12\\x2c\\x78\\xe6\\x8c\\x6b\\x57\\xce\\x9b\\x53\\xe6\\x6e\\x78\\xcc\\x7d\\x64\\x57\\x63\\xbf\\x83\\x05\\x3b\\x42\\xa7\\x9e\\xdf\\xf6\\x6a\\x9f\\x95\\x03\\xc7\\xcf\\xfb\\xce\\x3c\\x67\\x49\\xc1\\xf6\\xf1\\xa3\\x46\\x8c\\x58\\x36\\xba\\xa1\\x4b\\xd7\\xfb\\xcd\\x8b\\x16\\xad\\x9d\\xd1\\x67\\x66\\x0f\\x0d\\xa5\\x5f\\xd5\\xb0\\x65\\x3f\\xda\\xe7\\x41\\x37\\x7e\\xa2\\x7a\\x50\\xad\\xd1\\x3e\\x0f\\x91\\xf6\\x5d\\xfa\\x37\\xfd\\x3d\\x1f\\xc2\\xff\\x96\\xfc\\x5a\\x95\\x92\\x1f\\x70\\x9b\\x42\\x60\\x92\\x37\\xdb\\xae\\x4d\\xf3\\x6b\\x71\\xdf\\xbe\\x06\\xc9\\x05\\x4f\\x0c\\x8e\\x14\\x70\\xc8\\x43\\x32\\x90\\x26\\x13\\x72\\x6e\\x79\\xbd\\xc0\\x60\\xef\\x91\\xe7\\xf5\\xc8\\xb9\\xe5\\x48\\xae\\x4e\\x76\\x6e\\x0d\\x7a\\x8b\\xe4\\xd9\\xb2\\x09\\xcf\\xb6\\xd9\\xad\\x95\\x36\\x3c\\xcd\\xf2\\x91\\x53\\x8e\\xd2\\xb6\\x0a\\xca\\xb6\\xaa\\xd0\\xae\\xfe\\xde\\x34\\x3c\\xd4\\xae\\x5b\\xec\\xaa\\xb2\\x85\\xaf\\x54\\x8f\\x1c\\xde\\x44\\xb5\\x16\\x43\\xe6\\xb2\\x7a\\x10\\x56\\xb6\\xec\\x37\\x8b\\x18\\xc4\\xfb\\xf5\\x18\\x92\\xe3\\x98\\x44\\x5f\\x55\\xc4\\x0d\\x4c\\x24\\x67\\xe2\\xcc\\x1a\\x8d\\x00\\x10\\x49\\x48\\x26\\x39\\x96\\xd1\\xe3\\x94\\x19\\x2f\\x61\\x0a\\xa4\\x20\\xb7\\x80\\x94\\x66\\x62\\xbf\\xe0\\xd7\\x82\\xe6\\x06\\x0a\\x5e\\xf0\\x43\\xf2\\xe2\\x21\\x71\\xff\\xf2\\x85\\xa3\\x27\\x0f\\xee\\x5c\\xe0\\xf3\\x67\\x86\\x07\\xcc\\xde\\x4f\\x6e\\xbf\\x08\\x0f\\x8a\\x13\\xc5\\x97\\xb6\\x77\\xe3\\xef\\x65\\x67\\x81\\x4a\\xd2\\x75\\xed\\x74\\x92\\x47\\x52\\x2e\\xd1\\x4e\\x34\\x46\\x4c\\x76\\x35\\x61\\x32\\x1a\\x59\\x82\\x75\\x3a\\xcc\\x6a\\xa0\\xd6\\xe9\\x0e\\xdd\\xf8\\x22\\x92\\xa5\\x33\\xd5\\x72\\x3a\\x40\\xe9\\x80\\xce\\x6e\\x22\\x38\\xd6\\xe2\\xd3\\x73\\xb5\\xc5\\x16\\xe0\\xb2\\x00\\x8b\\x56\\xcb\\x22\\xbe\\x19\\x35\\xac\\x74\\x5c\\xc2\\xf2\\xa1\\x40\\x36\\x18\\xfe\\x07\\x7e\\x46\\xff\\x48\\xaf\\x57\\xc1\\x19\\xc8\\xf6\\x30\\x91\\x82\\x14\\xd2\\x52\\x90\\xb4\\xc1\\xc8\\xaa\\x70\\x16\\x12\\x66\\xac\\xdf\\x73\\xb1\\x45\\x12\\xd2\\xda\\x36\\xd2\\xce\\x8a\\xf3\\x90\\x8e\\x83\\x71\\x07\\xd5\\x3a\\x25\\x0f\\x29\\xef\\x73\\x8d\\x54\\xb7\\xde\\x1d\\x63\\x8a\\x41\\x0a\\x68\\x34\\x5a\\x0a\\xb9\\xc9\\x1a\\x2d\\x83\\x96\\x51\\x17\\x23\\x8b\\x01\\xfa\\x4f\\xab\\xa2\\x2d\\xe8\\x20\\xe8\\x9a\\xf7\\x37\\x9c\\x38\\xd7\\xf6\\xd4\\xb6\\x49\\x25\\xfd\\x85\\xcd\\x7f\\x39\\x6c\\x08\\x76\\xc5\\xc0\\xd7\\xb1\\xa6\\x8b\\x4d\\xf5\\xa2\\xa7\\xbe\\xe9\\x22\\xda\\xce\\x0a\\x70\\xf6\\xda\\x69\\xf0\\x93\\x28\\x50\\xad\\x6f\\xd1\\xdb\\x8e\\xe9\\x89\\x20\\x7a\\x18\\xa2\\x24\\x62\\x83\\x04\\xad\\x22\\x54\\xc8\\x2d\\xa3\\x18\\xaa\\x2e\\x46\\x30\\x2c\\x8d\\xa3\\x40\\x96\\x84\\x65\\x9d\\xe6\\xee\\xca\\xfc\\xc1\\x1f\\x49\\x45\\x2e\\x36\\x1d\\x12\\xdd\\x87\\xf0\\xa7\\x5d\\x3b\\x0d\\x0f\\x5e\\xef\\x8e\\x81\\x03\\x12\\xf9\\x68\\x49\\xf7\\xf5\\xbf\\x55\\x2d\\x00\\xfe\\x6c\\x55\\x4f\\x89\\x96\\xa8\\xf4\\xfe\\xd5\\xe8\\xfd\\xe3\\xa4\\x33\\x34\\x5c\\xee\\xed\\x13\\x07\\xab\\x26\\xd1\\xe7\\x90\\x8e\\x28\\x27\\x3a\\xe1\\xde\\xbe\\x0e\\x56\\xb6\\xb5\\x07\\xfa\\x8d\\x7e\\x63\\xb0\\x40\\xa7\\x47\\x7e\\x4b\\x20\\x0c\\x61\\xc0\\x0a\\xbb\\x74\\x0e\\xf8\\x5d\\x46\\x03\\x51\\x51\\xcc\\x14\\x47\\x63\\x41\\x8f\\x96\\xa5\\x08\\x81\\xe1\\xda\\x65\\x13\\xd9\\xd1\\x98\\x13\\xc7\\xb4\\x95\\x10\\x8b\\x52\\x54\\x25\\x99\\x82\\xc9\\xbb\\x01\\xbd\\x58\\x9a\\x4c\\xe5\\xa6\\xdc\\x12\\x78\\x0e\\x39\\x4c\\xc0\\x94\\x28\\xcd\\x4f\\x66\\x15\\x2e\\x9f\\x31\\x82\\x6c\\xd9\\x48\\x49\\x5c\\x19\\xcd\\x55\\x14\\xb8\\x97\\x66\\xda\\xda\\xc7\\xa7\\x9f\\x7b\\x62\\xea\\xfd\\x1e\\xda\\xdd\\xaf\\x69\\x12\\xd9\\x79\\xe3\\xc4\\xb5\\xdb\\xa6\\x9e\\x7f\\x7c\\xea\\x3a\\x0f\\x6d\\x1a\\xb9\\x7f\\x0a\\xdd\\x65\\x73\\x7e\\x6c\\xfe\\x90\\xf0\\xf4\\xc6\\xc9\\x0b\\x7a\\x0e\\x80\\x7b\\x66\\x3e\\xd8\\x6f\\xc6\\xa8\\x49\\x0b\\x7b\\x0c\\xb0\\x1c\\x7d\\xfa\\x3c\\x98\\x7f\\x60\\xfc\\xc8\\x27\\xc1\\x53\\xf1\\xf3\\x0d\\x03\\x5f\\xd9\\x71\\x41\\x5c\\x76\\x68\\xfc\\x48\\xdd\\x1d\\xa2\\x9b\\xec\\x3e\\xba\\xff\\xaa\\x7e\\x3b\\xc5\\xfe\\xf7\\xac\\xda\\x24\\x1e\\x9a\\x3f\\x77\\x1e\\xec\\xbd\\x49\\x7c\\x6f\\xc5\\xbd\\xcb\\x1e\\x04\\x3d\\xef\\x9e\\x3b\\x4f\\xe2\\xdf\\x1e\\xb4\\x97\\x6d\\x25\\xfe\\x0d\\x93\\xf6\\x36\\x26\\x8e\\xa7\\x7a\\xa3\\xbd\\xf0\\x20\\x9d\\x52\\x08\\x9d\\x46\\x83\\x5a\\xd0\\x70\\x9c\\x4e\\x87\\x4d\\x48\\x27\\x72\\x0c\\x04\\x8d\\xcd\\x46\\x63\\xc3\\x4c\\xaf\\x63\\x75\\xc8\\xbc\\xb1\\x18\\x8c\\x2e\\xe4\\x8e\\x7a\\x9a\\x85\\xae\\x26\\xc5\\xae\\x69\\x36\\xf7\\x53\\xf0\\x01\\x52\\x00\\x2e\\xb0\\x04\\x06\\xcb\\x12\\x08\\x18\\x52\\x17\\xf7\\x93\\xf3\\x15\\x60\\x97\\xc3\\x1b\\x27\\x3c\\x15\\xdd\\x64\\x61\\x14\\x64\\x97\\x05\\xe8\\x50\\xcc\\x95\\x90\\x5d\\xc8\\x91\\xd7\\xbb\\xc7\\xbf\\x05\\x0f\\xe9\\x96\\xe6\\xca\\xc0\\x2e\\xe4\\x1a\\xf9\\xac\\xaf\\x40\\x02\\x10\\x97\\xea\\x2d\\xaa\\x22\\x2e\\x68\\x36\\x6a\\xb5\\x3a\\xb3\\xce\\xee\\x30\\x9a\\x4c\\x2a\\xdc\\xbb\\xad\\x37\\x58\\x74\\x5a\\xad\\x2d\\x55\\xfd\\xa5\\x07\\x63\\x12\\xc4\\x25\\xca\\xb4\\x83\\xcd\\xd5\\xc4\\x60\\x5d\\x27\\x7d\\xef\\x3e\\x55\\xd3\\x47\\xdc\\x86\\x8e\\x49\\xac\\xdf\\xa6\\x7e\\xf7\\xae\\x36\\x76\\x46\\x07\\x65\\x57\\x45\\x6e\\x87\\xb6\\x3c\\xba\\x6a\\xd1\\x71\\x39\\x9f\\x57\\xb0\\xf4\\xee\\xaa\\x76\\x78\\x08\\x08\\xc0\\xba\\x5c\\xaa\\x31\\x2f\\x24\\x46\\x44\\x4a\\x42\\x5e\\x07\\x28\\xd0\\xf0\\x5a\\x96\\x35\\x1a\\xb5\\x3a\\x5d\\x81\\x17\\x16\\x15\\x3b\\x90\\xe5\\xe8\\xce\\x8d\\xc6\\xdc\\x56\\x2b\\xa2\\xce\\x6a\\x35\\xb2\\x96\\x60\\x20\\x80\\x08\\x2c\\x4c\\x10\\xa8\\x70\\x33\\xd9\\x5e\\xd9\\x92\\x99\\x37\\x13\\xac\\x62\\x9a\\x99\\x79\\xcb\\x82\\x7b\\xca\\x30\\xcf\\xd1\\x6b\\xd0\\xf4\\xe7\\x5d\\x33\\xf7\\x3f\\x6d\\x16\\x76\\x23\\xe6\\x76\\xdf\\x38\\xf6\\xee\\xb5\\xc6\\xe8\\x93\\x13\\xe5\\xf2\\x73\\xfc\\xdd\\xe7\\xdc\\x33\\x11\\xaf\\x97\\xcd\\xaa\\xec\\xd9\\xf7\\xf4\\xe3\\xe4\\xf0\\xeb\\xcf\\xd7\\xdf\\x87\\x58\\x3d\\x75\\xe8\\xac\\x29\\x0b\\x26\\x24\\xca\\xce\\xf1\\x37\\x5f\\x7b\\x9c\\xac\\x97\\xf8\\x3e\\x48\\x1c\\xaf\\x5a\\x81\\xd6\\x5a\\x4c\\x4c\\x8b\\xb4\\xb5\\x71\\x5e\\xad\\xbb\\xa8\\x30\\x1b\\xe6\\x10\\x44\\x7e\\x7e\\x4e\\x6e\\x6e\\xa1\\x9b\\xa3\\x4a\\x5a\\x15\\x16\\xb9\\x72\\x73\\x72\\x84\\x0c\\x8f\\x47\\x0b\\x0d\\x66\\x81\\x35\\x38\\xd0\\x55\\x6d\\x95\\x8a\\x92\\xac\\x05\\xf9\\x44\\x3e\\xba\\xa2\\xa4\\x7b\\x40\\x11\\x9e\\x84\\xf7\\x85\\x63\\xfe\\x89\\x44\\xc1\\xcd\\xc2\\x24\\x5f\\x11\\x7f\\xb6\\xe4\\xb4\\x16\\x03\\xb9\\x06\\x1f\\xef\\x29\\xcd\\xa3\\x65\\xd7\\x3e\\x9c\\x58\\xf6\\x66\\x69\\xd9\\x3b\\xf1\\xaa\\xa5\\xe5\\x4f\\xdd\\xef\\x46\\xcc\\xe1\\xb1\\xf0\\xa1\\x55\\x4f\\x19\\x96\\xbe\\xea\\x2d\\x78\\xd1\\xca\\xf2\\x9f\\xc2\\xbc\\x69\\xc4\\x92\\x88\\x7b\\xd8\\x90\\x8e\\x5c\\x88\\x78\\x60\\x40\\xd2\\xd7\\x3d\\x12\\x12\\x08\\xad\\xd1\\x48\\x33\\x34\\x01\\x1d\\x76\\xad\\x0d\\x19\\x9f\\x5a\\xa8\\x56\\x31\\x6a\\xa6\\x2e\\x86\\x8c\\x30\\x23\\x07\\xb9\\x68\\x8c\\x86\\xd6\\x5b\\xf4\\x89\\xb7\\x88\\x90\\xc8\\x66\\x3f\\x8e\\x93\\xa4\\x19\\xfe\\xd4\\xc2\\x7f\\xfd\\xfa\\xd5\\xf9\\x26\\x71\\x87\\x93\\x64\\x63\\x87\\x2e\\x7f\\x1a\\x2f\\xc5\\xd6\\xfe\\x3d\\x4b\\xde\\x00\\x7d\\x9f\\x7f\\x29\\x17\\x3e\\xb9\\x58\\xac\\xd8\\x20\\xee\\x44\\xe6\\xfd\\x90\\x41\\x48\\x27\\x86\\x90\\x9f\\xff\\x32\\xa2\\x0d\\x22\\xc9\\x72\\x10\\x3d\\x22\\xd9\\x80\\xb4\\x50\\x7a\\x8e\\xd3\\x68\\x28\\x12\\xba\\x9c\\x1c\\xcf\\xf0\\xc8\\x27\\x71\\xd4\\xc5\\xf4\\x7a\\xa0\\x61\\xac\\x48\\x42\\x49\\xc0\\x42\\xf9\\x5a\\x4e\\x86\\xda\\xf2\\xd3\\x7a\\x50\\x12\\xb7\\x73\\x18\\x2a\\x24\\x86\\x5b\\x10\\x58\\x76\\xb1\\xe9\\xa2\\xf8\\x3e\\xa6\\xf2\\x42\\x53\\x1a\\x85\\x58\\xdf\\x4b\\x54\\x52\\x59\\x29\\x44\\x4a\\xbe\\x21\\xa2\\x13\\xbe\\x22\\xdd\\x73\\x16\\xa2\\x22\\xe2\\x32\\x11\\x7a\\x9a\\xa0\\x6d\\x56\\xb5\\xa5\\x2e\\xa6\\x56\\x43\\x46\\xc5\\xea\\x8d\\xd0\\xd8\\x82\\x71\\x2d\\x26\\xce\\xdf\\x9a\\x1a\\xf8\\xca\\x2d\\x08\\xb9\\x15\\x11\\x80\\xd0\\x20\\x1a\\xf6\\x49\\x18\\x7a\\xf3\\x22\\x7d\\xb5\\x1a\\x87\\x93\\x13\\x04\\xe4\\x44\\x38\\x35\\x94\\x27\\x43\\x40\\x86\\x14\\x2b\\x20\\x7f\\x4e\\x10\\x18\\x82\\x31\\x20\\xf7\\x41\\xcb\\x69\\x1b\\xb4\\x77\\x69\\x17\\x6a\\x4f\\x68\\xdf\\xd1\\x7e\\xa1\\x55\\x23\\x2d\\xc9\\x58\\x71\\xb2\\xe7\\x6d\\xc7\\xe7\\x0e\\x4a\\x0b\\x1d\\x11\\x4e\\xa8\\x75\\x38\\x08\\xa9\\xba\\x8b\\xfb\\x3f\\x04\\x46\\x92\\x1b\\xaf\\xdc\\x1f\\x3e\\x28\\xa7\\x79\\x94\\x88\\x88\\x6c\\x85\\x92\\xc1\\x13\\x6f\\xaf\\xfc\\x6d\\x87\\xb8\\xa3\\x70\\x87\\x30\\xbb\\x7e\\xf9\\x76\\x9f\\x38\\xd5\\x01\\x56\\xa8\\x66\\xdc\\xfe\\x97\\x8a\\x9d\\xc1\\xbf\\x51\\xbd\\x3f\\x38\\x7b\\x41\\x7c\\xe9\\x19\\xd0\\xd9\\x7d\\xe7\\xa4\\xa6\\x57\\x16\\x0f\\x59\\xb6\\xf4\\x94\\x6f\\xdd\\x16\\xc4\\xdf\\x00\\x92\\x83\\x53\\x68\\x6d\\x66\\xc2\\x8f\\x3c\\xd6\\x12\\x0b\\xe1\\xe2\\xd4\\xac\\x4e\\xa7\\xd7\\xab\\x09\\x18\\x0c\\xf0\\x88\\x46\\x9e\\xd3\\x68\\x59\\x6d\\x5d\\x8c\\x53\\x8a\\xe6\\xf4\\x46\\x03\\xab\\xd3\\x5b\\xe8\\x0c\\xc4\\x75\\x6b\\x8b\\xa2\\x81\\x66\\xff\\x35\\x15\\xbd\\x0b\\x6f\\x01\\x29\\x9f\\x43\\xdc\\x1f\\x87\\x77\\x82\\x47\\xde\\x1f\\xc3\\xa5\\x54\\x0d\\xd2\\xa7\\x7a\\xac\\x3e\\xb3\\xf4\\xf0\\xfb\\xf0\\xcb\\x7a\\xac\\x4d\\x3f\\x1a\\x07\\xb6\\xbd\\x76\\xf1\\x95\\x4f\\xe7\\xac\\xef\\x3b\\x65\\xd2\\xec\\x55\\x7d\\xc9\\x67\\x17\\x8b\\xdf\\xbd\\x36\\xfa\\xa7\\xb3\\x3d\\xb0\\xfd\\x81\\x6c\\x91\\x4f\\x2f\\xbf\\x09\\x32\\xd6\\x8a\\xdf\\x2d\\xd9\\xb8\\xf5\\x3e\\xc0\\xc9\\x71\\x90\\x77\\xd0\\xbd\\xe5\\x41\\xb2\\x62\\x44\\xe7\\xad\\x7f\\x24\\x97\\x80\\xc8\\xe0\\x32\\xb2\\xac\\x4e\\x60\\x74\\x8c\\x03\\x87\\xfe\\x20\\x61\\xb4\\x21\\x3f\\xcf\\x66\\x03\\x3a\\x1d\\x5b\\x17\\xd3\\xb1\\x7a\\x1c\\xf1\\x4b\\xd8\\x25\\x29\\x01\\x85\\x9b\\x51\\xac\\xe4\\x9e\\xde\\x20\\x28\\x22\\x71\\x23\\x3a\\x32\\x57\\x5c\\x40\\x99\\xb3\\xe0\\x27\\x19\\xf1\\xa1\\xb7\\xc1\\xbd\\xad\\x86\\xb6\\xfe\\xee\\x0a\\xc0\\xc4\\x37\\x7c\\xf9\\xe8\\xb2\\xdb\\xea\\x80\\x0a\\x9c\\x45\\x84\\x7e\\x68\\xec\\x3b\\xad\\xdb\\xce\\x1d\\x48\\xc0\\xcf\\x82\\x5f\\xc7\\xdc\\xd1\\x63\\x58\\x8a\\x3f\\x47\\x7f\\x83\\xec\\xfa\\x5a\\x09\\x33\\xa1\\x13\\xc8\\x53\\xf0\\x0f\\x42\\xa6\\x10\\x59\\x12\\xc8\\x62\\xad\\x69\\xb5\\x53\\xf2\\xfb\\xe7\\x26\\xdf\\x3f\\x91\\xf8\\x55\\xae\\x9d\\x82\\xa4\\x1f\\xc3\\x3f\\xde\\x91\\x15\\x94\\x7f\\x22\\xa5\\x76\\x0a\\xe3\\xaf\\x19\\x90\\xdd\\x93\\x4f\\x8c\\x8f\\xb4\\xf1\\x3a\\x4c\\x26\\x2b\\xaf\\x0b\\xf1\\xa1\\x82\\x42\\xb7\\x60\\x15\\xea\\x90\\xcf\\x1e\\x44\\xf2\\xea\\x45\\x3f\\x07\\x7e\\xb6\\xde\\xb0\\x92\\x44\\x90\\x0b\\xfa\\x82\\x50\\x03\\xad\\x41\\x6b\\x90\\xb7\\x11\\x26\\xde\\x42\\xa0\\x6b\\x3d\\xd1\\x4b\\x87\\x8b\\xa7\\xaa\\x65\\x44\\x83\\x29\\xa6\\xea\\x16\\x0d\\xfd\\x72\\xf8\\x4e\\xf2\\x00\\x2b\\x65\\xcd\\xda\\x0c\\xd5\\x16\\xac\\xc4\\xa8\\xae\\x7e\\xc6\\x8f\\x9c\\xa4\\x66\\xb4\\x36\\x23\\x20\\xbb\\x55\\x75\\xb7\\x95\\x79\\xdb\\xb4\\xe1\\x57\\x4a\\xd7\\xfb\\xa4\\xfd\\xdf\\x2f\\x76\\x2c\\xf6\\x34\\x79\\x40\\xa1\\x43\\xbc\\x94\\xef\\xa6\\x95\\x5b\\x7e\\x83\\x17\\x19\\x74\\xc6\\xfb\\xd4\\x03\\x86\\x93\\x67\\x64\\x18\\xb7\\xb3\\xd4\\x4b\\x8b\\x37\\x6e\\x5c\\xfc\\xc9\\x9d\\x66\\xf9\\xb2\\x8f\\x5b\\x1e\\x5b\\x8a\\x64\\xd9\\x8f\\xee\\xfa\\x05\\xca\\x7c\\xde\\xc6\\x88\\xfe\\xb8\\x0e\\xdc\\xa5\\x03\\xef\\xe8\\x7e\\xd1\\x91\\x3a\\x3c\\x09\\x5f\\x9f\\x5f\\x54\\xfb\\x82\\x0e\\x34\\xe8\\x16\\x2a\\x2f\\x78\\x9d\\x9e\\x5a\\x09\\xee\\x1a\\x6a\\xf4\\x1a\\x03\\xab\\x06\\x38\\xba\\x4a\\x47\\x68\\xe4\\x89\\xd0\\xac\\xec\\x0e\\xa3\\x95\\x3b\\xed\\xdc\\x67\\xb8\\xb7\\x25\\x59\\xe4\\x43\\xe4\\x4f\\x99\\x92\\x3f\\x65\\xea\\x54\\x05\\x0c\\x5b\\xa8\\x01\\x18\\xb4\\x1d\\xf2\\x0e\\x71\\xe3\\xc1\\xa6\\x77\\x0e\\xc0\\xf8\\x65\\x5a\\x5c\\x49\\xb5\\x5e\\x8c\\xed\\xd7\\x59\\xca\\xe0\\x5f\\x42\\xc1\\x0d\\x81\\x9f\\x23\\x5f\\x35\\x83\\xb8\\x37\\xd2\\xd1\\xc4\\x41\\xca\\xe6\\x74\\x6a\\x34\\x76\\x8a\\xa3\\x7c\\x5e\\x9b\\x13\\xe9\\x11\\x24\\x97\\xd0\\x66\\x53\\x19\\x0c\\xb8\\xf1\\xc6\\xe4\\x35\\x15\\x9b\\xde\\x36\\x7d\\x6e\\xfa\\xd9\\xa4\\xd2\\x40\\x53\\x84\\x15\\x6a\\x4d\\x26\\x03\\x87\\x83\\x2c\\x04\\xe4\\x20\\x09\\xf1\\x7c\\x67\\xb3\\xad\\x16\\x3f\\xbf\\x64\\x34\\xe1\\x58\\xab\\x0c\\x60\\x98\\xaf\\x54\\x74\\xe5\\xd7\\xff\\x37\\x6d\\x22\\xa1\\x18\\x92\\xfe\\x66\\x33\\x55\\xe9\\x06\\x90\\xcb\\x5a\\xad\\xe0\\xdd\\x86\\x15\\xa5\\x5b\\xa6\\x89\\x87\\x8f\\x5c\\x58\\xf1\\x8f\\xbd\\x3b\\x5f\\xd3\\xee\\x55\\xdd\\x3e\\x64\\xd5\\xb6\\x6c\\xb0\\xd1\\x29\\x4e\\x53\\x8d\\x9d\\x73\\xd7\\xcc\\x72\\xf1\\xd5\\xbf\\xbc\\x71\\x1c\\x0c\\xdd\\xfd\\xcc\\x26\\x47\\xc3\\xc4\\x67\\xf6\\x2f\\x2e\\x2b\\x5e\\xb8\\x54\\x92\\x55\\x1a\\xad\\xf3\\x03\\xaa\\x27\\xb2\\x1f\\x07\\x49\\xff\\x46\\xfb\\x02\\x7e\\xa7\\xcf\\x71\\x21\\xe2\\xca\\x19\\xc2\\xa4\\x22\\x1f\\x39\\x43\\x10\\x1f\\x1d\\x46\\x6a\\xf5\\xc4\\xfe\\xaa\\xaa\\x5a\\x0d\\x5e\\x47\\x65\\xa5\\xfc\\x5c\\x51\\x21\\x3f\\x97\\x97\\xcb\\xcf\\x65\\x65\\xf2\\x73\\x38\\x2c\\x3f\\x97\\x96\\xca\\xcf\\xad\\x5a\\xc9\\xcf\\x25\\x25\\xf2\\x73\\x71\\xb1\\xfc\\x1c\\x0a\\x49\\xcf\\x91\\x5c\\xbf\\xbf\\x56\\x13\\xf1\\x78\\xd0\\x83\\xdd\\x8e\\x1e\\xcc\\x66\\xf4\\x20\\x08\\xe8\\x81\\xe7\\xd1\\x83\\x4e\\x87\\x1e\\xb4\\xda\\x5a\\x40\\x10\\xca\\x4f\\xe3\\xe7\\x48\\x26\\xfa\\x71\\x22\\x12\\x08\\xa0\\x07\\x9f\\x0f\\x3d\\xa0\\x9f\\x27\\x22\\x0e\\x27\\x7a\\x10\\xac\\xb5\\x04\\x58\\x43\\x29\\x55\\x66\\xa6\\x7c\\xf9\\xbf\\xf2\\x72\\x90\\x7f\\xf3\\x7f\\xd2\\x9a\\xd1\\x23\\xf9\\x14\\x3d\\x17\\xaf\\xf9\\xa2\\x84\\xa1\\x72\\x96\\x20\\x86\\x1e\\x26\\x0c\\x32\\x8d\\x06\\xfc\\x69\\x55\\x88\\x46\\x03\\xfe\\x0c\\x03\\xa6\\xd1\\x10\\xb1\\xd9\\xd0\\x03\\x22\\xd4\\x80\\x09\\x35\\x60\\x42\\x0d\\x98\\x50\\x03\\x26\\x94\\x04\\x14\\x46\\x52\\x59\\x93\\x56\\xe7\\x06\\xd2\\x3f\\x33\\xbd\\x26\\x1a\\xe9\\x43\\xe4\\x6b\\xab\\xde\\x41\\xfa\\xd0\\x49\\x64\\x12\\xc3\\x22\\x25\\x3e\\xc2\\xe6\\x72\\xd1\\x8c\\xc5\\x82\\x2c\\x90\\x90\\xd1\\x98\\x65\\xcb\\xc4\\xaa\\x10\\x5a\\x54\\x8c\\x05\\xd9\\x20\\x56\\x0b\\xab\\x37\\xa1\\x2b\\xdf\\xea\\xf2\\x40\\x4f\\xfa\\x85\\xda\\x12\\x40\\xf5\\xa6\\x6a\\x37\\xc5\\x22\\x69\\xe9\\x95\\xa7\\xdd\\xb7\\xaa\\x77\\x64\\xf3\\x24\\x9a\\xee\\xa6\\x43\\xd5\\xad\\x6c\\x95\\x74\\xbf\\xbd\\xa5\\x4d\\x80\\xee\\x2c\\x55\\x36\\x5a\\x97\\x20\\x75\\x07\\x97\\x39\\x68\\x60\\x36\\xf3\\x5a\\x1c\\xc6\\x37\\x6a\\x69\\xe8\\xcd\\xf0\\xe8\\xf4\\x26\\x7d\\x5d\\x8c\\x07\\x4a\\x3d\\x35\\x61\\x30\\x22\\x89\\x56\\x5b\\xa3\\x31\\xad\\xda\\x8a\\xae\\x31\\xa1\\xd9\\xdc\\x6f\\xb6\\x18\\xf0\\xed\\x75\\x53\\x49\\x68\\xd2\\x03\\x48\\xe0\\xb2\\x64\\xcb\\x35\\x35\\xc8\\x51\\x86\\xcd\\x76\\x0d\\x8f\\x97\\x80\\x57\\x37\\x4c\\xec\\x21\\xdd\\x5e\\xe0\\x40\\x8c\\x4a\\x9a\\x36\\x88\\xfa\\x75\\x68\\x51\\xe0\\x2f\\xca\\xcd\\x75\\xf6\\x7a\\xcf\\xe4\\x5a\\x64\\xbf\\x19\\xeb\\x68\\x3f\\x31\\x29\\x52\\xe3\\x36\\xb8\\x32\\x08\\x9e\\x32\\x3b\\x9d\\x0e\\x87\\xdd\\x2e\\x98\\x0d\\x2a\\xb3\\x2a\\x10\\x84\\x6c\\x34\\x96\\x61\\xb1\\x23\\x8b\\xc7\\x65\\x27\\xf0\\xd1\\xf7\\x41\\xc8\\xda\\xc1\\xcf\\xf6\\x1b\\x76\\x12\\xda\\xa1\\x5d\\xe3\\x20\\x04\\xb3\\x59\\xab\\x49\\xdc\\x63\\x92\\x9a\\x1e\\x31\\xe5\\x96\\xb8\\x33\\x72\\xa4\\x4e\\x0a\\x22\\xdf\\x72\\x86\\x49\\xaa\\xae\\x06\\xb3\\x64\\xfd\\x3b\\xeb\\xc0\\xcc\\x3f\\xd1\\xcf\\x31\\x45\\xfd\\x3e\\x42\\x8e\\x68\\xa9\\x98\\x15\\xbf\\x9c\\xd2\\xe0\\x3b\\x0e\\xfe\\x20\\xdd\\x59\\x33\\x41\\x37\\x25\\x76\\x25\\x98\\x42\\xe0\\xbc\\x60\\xe5\\xd3\\xf1\\x96\\xe5\\x58\\xd7\\x37\\x89\\x58\\x17\\xba\\x13\\x3b\\x2a\\xef\\x47\\x57\\x1c\\x28\\xf2\\xf8\\x52\\x63\\x5d\\x09\\x3f\\x5f\\x8a\\x8d\\x0d\\x97\\x63\\x63\\xc4\\xe7\\x29\\x98\\x40\\x8f\\xba\\x82\\xa4\\x90\\x12\\x1b\\x23\\x91\\x4f\\x32\\x1d\\xc7\\xd6\\x90\\xcd\\xeb\\x25\\x46\\x47\\x4a\\x19\\xb7\\xde\\x62\\xe4\\x79\\x13\\xb2\\x0c\\xdc\\x48\\xb3\\x1a\\xdd\\x46\\x9f\\xdf\\x42\\x39\\x16\\x00\\x40\\x00\\x74\\x15\\x00\\xc2\\x11\\x71\\x68\\x70\\x68\\x1b\\x5d\\x84\\x46\\x83\\xc1\\x4b\\x25\\xe1\\x10\\x53\\x6e\\x05\\x1c\\x30\\x4c\\x36\\xfc\\xf1\\x89\\x04\\xbe\\x1c\\x02\\xc0\\x46\\x42\\x1a\\x72\\x63\\xba\\x5b\\x4b\\xea\\xbb\\x3d\\x35\\x38\\x94\\x70\\x6d\\x15\\xdf\\x4b\\x71\\x6c\\x3b\\x8b\\x87\\x40\\x2d\\x35\\xbf\\xd9\\xbb\\x95\\x1d\\xae\\x74\\xdf\\x76\\xf2\\x8d\\x1f\\xb5\\xad\\xe8\\xcd\\x44\\x6b\\x62\\x78\\xa4\\xa4\\x2c\\xb3\\xc0\\x44\\x42\\x48\\xe8\\x6c\\x36\\x22\\x13\\xb6\\x69\\x9b\\x01\\x80\\x2f\\x37\\xb7\\xb8\\x3e\\x56\\x98\\x4b\\xf9\\x2a\\xeb\\x63\\x3e\\xc1\\xad\\xaa\\x8f\\xb9\\x05\\xce\\x6c\\x36\\xd6\\xc7\\xcc\\x54\\xb2\\x94\\x35\\xa5\\xcb\\x8a\\x50\\x40\\xa9\\xd2\\x1b\\xb5\\x31\\x72\\x39\\x36\\x38\\xdb\\x03\\xbe\\x39\\xe8\\x29\\xa5\\xe7\\x54\\x54\\xd0\\x97\\xad\\xf2\\xcb\\xc5\\xc1\\x52\\xdb\\x9f\\xd4\\x5d\\x9b\\x40\\x04\\xa9\\xa8\\xa4\\x76\\xf6\\x3e\\xde\\xa7\\xed\\xb9\\x05\\x2b\\x7f\\xd9\\x33\\xec\\xec\\xe1\\x7d\\xeb\\x87\\x0f\\x3f\\xbd\\x12\\xe8\\x41\\xc1\\xec\\x8f\\xc5\\x73\\x2f\\x8b\\x7b\\xf7\\xfe\\x28\\x1e\\x79\\x49\\xfc\\x7d\\xed\\xf4\\x4b\\x20\\xfb\\xe0\\xa2\\x97\\xfa\\x4c\\x19\\xdf\\xb4\\xf4\\x93\\xc7\\x07\\x7d\\xf6\\xc6\\xe2\\xef\\x47\\x82\\x52\\xb0\\x42\\x9c\\xd2\\x67\\xc0\\xb4\\x77\\x80\\x75\\xd9\\x89\\x77\\x27\\xac\\xea\\x50\\x2d\\xbe\\x2f\\x5e\\x7f\\x4e\\x7c\\xfa\\xf7\\x45\\xfb\\xf7\\xaf\\x05\\xea\\xe7\\x1f\\x03\\xc3\\x7e\\xbd\\xa7\\xaa\\xdb\\xd2\\xf1\\x13\\xde\\x10\\x7f\\x5d\\x70\\xe6\\xfb\\xc1\\xfd\\xe5\\xbe\\x0f\\xea\\x22\\xda\\x63\\x33\\x46\\x2d\\x34\\xf1\\xbc\\x59\\x80\\x80\\x34\\xb2\\x1a\\x96\\x14\\x28\\x0b\\xa3\\xd7\\x5b\\x39\\xc0\\x6b\\x48\\x81\\x65\\x29\\x82\\x97\\x03\\x78\\x72\\xf3\\x76\\x6a\\xb8\\x37\\x61\\xb5\\x66\\x09\\x30\\x2c\\x48\\x1d\\xa9\\x61\\xab\\x85\\x03\\x41\\x1d\\xc0\\x48\\x97\\xd1\\x6f\\xb3\\x77\\xb7\\x7d\\x72\\x83\\xe1\\x69\\x93\\x58\\xb5\\x2d\\xf8\\xf9\\x13\\xcb\\xf6\\x9c\\x05\\xcf\\x81\\x53\\xd7\\xd7\\x7c\\x06\\xee\\xd8\\x5b\\xd6\\xb9\\x55\\x57\\x71\\x4c\\xfc\\x23\\xf0\\x88\\x78\\x1b\\xa2\\x82\\x24\\xc6\\x11\\x04\\xfd\\xa0\\x52\\x9b\\x3b\\x20\\x92\\x0f\\xac\\x56\\x35\\x61\\xe0\\xf5\\xb8\\xbf\\xc9\\xa8\\x57\\xeb\\xdd\\x2e\\xca\\x59\\x1f\\x83\\x52\\x85\\x18\\xc1\\x52\\xe8\\x8f\\xde\\x04\\xf5\\x82\\x84\\xd6\\x9e\\x68\\x2d\\x4a\\xd4\\x89\\xe4\\xa7\\x02\\x3f\\x34\\x87\\x4e\\x70\\x21\\x76\\x22\\xe3\\x8b\\xbd\\xc2\\xca\\x64\\xd6\\x97\\x3c\\x05\\x36\\xb9\\xc5\\xdb\\x0b\\x53\\x72\\xbf\\x6f\\x89\\x0b\\xdc\\xe0\\xde\\xbc\\xe6\\x04\\x30\\xb5\\x7b\\xe3\\xf7\\x38\\x05\\x4c\\xd9\\x36\\x7e\\x98\\x9a\\x93\\xc6\\x7e\\xc1\\xbf\\x91\\xad\\xa2\\x21\\x42\\x88\\xee\\x42\\x33\\x11\\x72\\x6b\\x69\\xbf\\x5f\\x1b\\xb2\\x70\\x74\\x76\\x0e\\x41\\x66\\x92\\xd1\\x58\\x28\\xd3\\xea\\x76\\x38\\xb4\\xfd\\x62\\x0e\\xce\\xa3\\xa9\\x8b\\x59\\x04\\x8f\\x87\\x13\\x58\\x4e\\x01\\x7f\\xe0\\xab\\x93\\x81\\xf5\\x9a\\x70\\x0b\\x47\\x11\\x33\\xb7\\xd9\\x13\\x0b\\xc8\\x98\\x78\\x18\\xd1\\x4c\\xb6\\x0f\\x6d\\xcd\\xfa\\x16\\xe6\\x29\\x8a\\x74\\xf8\\xe4\\x57\\x56\\xb8\\x27\\x35\\x3d\\xe9\\xe0\\x77\\x07\\x55\\xb7\\xbf\\xbb\\xdc\\x79\\x47\\x60\\x04\\x52\\xbb\\xff\\xfc\\xed\\xab\\xf3\\x4b\\x25\\x7d\\x0a\\xce\\x8e\\x3f\\x30\\x3e\\x7e\\x0e\\xb6\\x5f\\x39\\xf5\\xd3\\xa5\\x77\\x68\\x68\\xb1\\x44\\xd2\\xbb\\xb8\\x76\\xe2\\xc6\\x8f\\x4c\\x47\\x74\\x4e\\xb2\\x88\\xdb\\x22\\x15\\x0e\\x8f\\x87\\x72\\xeb\\xf5\\x3a\\x2d\\x15\\x74\\x52\\x6a\\x2a\\xc4\\xf3\\xd9\\xac\\xb5\\x1e\\x63\\xa2\\x50\\x0e\\x77\\x7d\\xcc\\xe1\\xd0\\xe9\\xd0\\x39\\xd1\\xe9\\xd4\\x18\\x64\\x24\\x80\\x54\\x98\\x4f\\xa9\\x30\\x92\\x93\\x5a\\x89\\x06\\x73\\xbb\\x02\\x14\\x9d\\xd2\\x24\\x94\\x52\\x89\\x17\\x22\\x25\\x4f\\x07\\x60\\x4f\\x87\\xf0\\x27\\x8a\\xe6\\x89\\x44\\xd1\\xbc\\x4f\\xb0\\xa9\\x28\\x6a\\xf4\\xce\\x3f\\x16\\x92\\x17\\xe6\\x1d\\x07\\xfc\\xf1\\xd9\\xaf\\xb7\\x01\\xab\\x81\\xf9\\x4d\\x60\\x29\\x68\\x0a\\x1e\\x5e\\xf6\\xa6\\xf8\\x5d\\x09\\x39\\xc4\\x15\\x7f\\x8e\\x3c\\xf9\\x1c\\x10\\x9e\\x5d\\x37\\x5d\\xbc\\x6c\\xde\\x00\\x0c\\x7b\\xba\\xc4\\xef\\xa5\\x17\\xc5\\x37\\x83\\x00\\x18\\xf1\\xd2\\x53\\x95\\xd3\\x16\\x89\\x37\\xbe\\xc4\\x45\\xf4\\x20\\x88\\x8b\\xe8\\x25\\xec\\x6b\\x7a\\x26\\xda\\xb3\\x2c\\xa4\\xdd\\xca\\x33\\x82\\x41\\x13\\xc7\\x6a\\x28\\xaf\\xc6\\x40\\x85\\xec\\x36\\x5b\\x36\\xc6\\xbc\\xc6\\x60\\xd7\\x7e\\x1d\\xa7\\xab\\x8b\\x65\\xb0\\x1c\\xba\\x1b\\x39\\xce\\x60\\x64\\x0d\\x96\\x44\\xee\\xce\\x9a\\xb6\\xcc\\x94\\xfa\\xe9\\xe2\\x14\\x04\\x07\\x45\\x2b\\x34\\xdb\\x8f\\x09\\x9f\\x2e\\x15\\x27\\x26\\x61\\x46\\xc2\\xa9\\x23\\x96\\x15\\x21\\x33\\xf2\\xe4\\xc1\\xb3\\xf0\\xe5\\x91\\xe8\\x6e\\x1c\\xf6\\x52\\xb9\\x78\\xe9\\xa9\\x13\\xda\\x17\\x34\\xe3\\x06\\x2e\\x7b\\x24\\x0b\\xdc\\xeb\\x14\\x97\\xa8\\xc6\\xcc\\x99\\x3a\\x5d\\x32\\x27\\x07\\x8b\\x19\\xe8\\x8e\\xcc\\xff\\xe5\\x3f\\xbb\\x36\\x3b\\xc6\\x8c\\xdb\\xbd\\x4f\\xb1\\x29\\x71\\xef\\x3a\\x3a\\xd7\\xdf\\x4b\\xb5\\x37\\x66\\xa2\\x6b\\x24\\xa0\\xd5\\xe9\\x08\\x93\\x46\\xc3\\x11\\x8c\\x8a\\x50\\x59\\x91\\xde\\xb3\\x68\\xa4\\x92\\x38\\x8e\\x83\\x7a\\x0a\\xea\\x18\\x69\\x6e\\x4d\\x22\\x4f\\x4f\\xa4\\x57\\x84\\x25\\xcd\\x96\\x20\\x1e\\x6a\\x22\\x55\\x85\\x06\\x81\\x91\\x84\\x7e\\x18\\xca\\x26\\x87\\x1d\\x16\\xcf\\x9c\\x87\\xd1\\xcb\\x20\\xf3\\xc8\\x84\\xa3\\xe3\\x5e\\x00\\x7d\\x61\\xdb\\xf2\\x0f\\xc0\\xde\\x8e\\x46\\x1d\\x69\\x8e\\xff\\x88\\x2b\\x38\\xf0\\x33\\xf5\\x2b\\x33\\x75\\x94\\xb8\\x01\\xc4\\xba\\x0e\\x92\\x69\\x83\\x1b\\xa4\\x18\\x85\\x11\\x57\\x2a\\xe9\\x91\\xdf\\x49\\xab\\x00\\xa1\\x22\\x34\\x9c\\x86\\x85\\x8c\\x91\\x89\\xc6\\x8c\\x46\\x8d\\x41\\xcb\\xd2\\x40\\xbe\\xa4\\xd3\\xe8\\x4a\\x90\\x25\\x47\\x4f\\x24\\x6a\\x04\\x49\\x76\\x74\\x24\\xdc\\xf0\\x64\\x97\\xe9\\xdd\\xb6\\x77\\xbb\\xeb\\x9d\\x97\\xc8\\xbb\\x77\\x85\\x7a\\x7c\\x05\\xee\\x12\\xef\\xc7\\x7f\\xa9\\xd6\\xf1\\x63\\x60\\x83\\x38\\x49\\x3e\\xab\\xb8\\x3e\\x6f\\xbb\\x54\\x2f\\xe7\\xc6\\xdd\\x6e\\x0e\\xad\\xd6\\x2e\\xd5\\x64\\x1b\\xd0\\x85\\x80\\x38\\xe4\\xc9\\x30\\x6a\\x79\\xc8\\x37\\xc4\\xec\\x10\\x9a\\x69\\x08\\x20\\x87\\x9c\\x7b\\x29\\xf3\\x5f\\x5a\\x83\\x03\\x9e\\x2d\\xac\\x9e\\x70\\x73\\x75\\x52\\x82\\x3b\\x02\\xe6\\x94\\x1f\\x26\\x98\\x54\\x83\\x24\\x76\\x2d\\x98\\x04\\x0e\\x26\\xb8\\x34\\x0e\\x31\\xed\\x02\\xe8\\x20\\xbe\\x3d\\x1e\\xde\\x48\\xf2\\x0b\\x49\\x6a\\x0e\\xf9\\x17\\x99\\x5f\\xd2\\x5f\\x4b\\xfc\\x87\\x34\\xbe\\x49\\x79\\x98\\x1c\\xc9\\x8e\\xb3\\x12\\x3d\\x23\\x39\\x02\\x61\\xd6\\x6a\\xad\\x12\\xe5\\x16\\x99\\x74\\xb5\\xcd\\x2e\\x91\\x1e\\x8d\\x59\\xd1\\x0e\\xd3\\x80\\xc5\\x94\\x5b\\x64\\xca\\xc3\\xb7\\xa6\\x5c\\xa2\\x5d\\x90\\x68\\x17\\x92\\xbc\\xc4\\x08\\xcf\\x3a\\x10\\xb8\\xd8\\x74\\x17\\xf0\\x83\\xfe\\xbb\\xde\\x7b\\x2a\\xc1\\xd5\\xbf\\xfc\\x58\\x0b\\x07\\xf7\\xf8\\x0a\\xb3\\x93\\xec\\x88\\x5c\\x74\\x85\\xbd\\x60\\x8a\\xb8\\x0e\\xfc\\x5b\\x61\\x30\\x89\\x24\\x8e\\x50\\xdd\\x83\\xf8\\xeb\\x42\\x9e\\x5b\\xbf\\x48\\x7e\\x06\\xeb\\x30\\x70\\x84\\xdb\\xe3\\x72\\x69\\x21\\x74\\x73\\x0e\\xa7\\x45\\xe5\\xf5\\x19\\x38\\x07\\xd7\\x10\\x73\\x13\\x0e\\x87\\xc5\\xe9\\xcc\\xa8\\x8f\\x39\\x21\\xcb\\x58\\x64\\x21\\x4c\\x14\\x57\\xa4\\x2a\\xc1\\x70\\xc2\\x7a\\xc6\\x72\\x88\\x13\\x87\\x2c\\x08\\xca\\xf8\\xb2\\x52\\x84\\x19\\x03\\x14\\xf3\\x44\\x16\\xc0\\x75\\x16\\x54\\xd7\\x8f\\x2e\\x5b\\x7c\\x4d\\xf9\\x9a\\xa3\\xaf\\xcd\\x39\\x36\\xe7\\x97\\x78\\x71\\xb0\\x29\\xa7\\x1c\\x59\\x6f\\xac\\xf8\\x1a\\x75\\xfd\\xba\\x08\\x9e\\x88\\xcf\\x86\\xb4\\xe3\\xf2\\xa1\\xde\\x13\\x76\\x7c\\xda\\x2b\\xb0\\x69\\xb5\\x2a\\xbe\\x96\\x9c\\xca\\xbc\\xf5\\x63\\xd3\\x79\\xf4\\x6b\\x78\\x1b\\x39\\x2f\\x7e\\x0f\\xf8\\x9b\\xb4\\x0e\\x03\\xae\\x4d\\x97\\x30\\x5d\\xdd\\xb8\\x5f\\xde\\xa5\\x16\\x54\\x1a\\xab\\xdb\\x09\\x00\\x62\\xae\\xdd\\xee\\xd6\\x08\\x66\\xa3\\xca\\x93\\xa1\\xd2\\x08\\x1a\\x1c\\x82\\x16\\x04\\xa3\\x19\\xeb\\x0c\\x33\\x72\\x8c\\x8d\\x96\\xff\\xbd\\x12\\x69\\x2d\\xfe\\x60\\x85\\xb2\\x08\\x5c\\x81\\x10\\xac\\x6c\\x4f\\x56\\xa2\\xad\\xa0\\x4c\\x66\\x64\\x31\\x53\\x1b\\x76\\x79\\xe7\\x6d\\x1a\\xf0\\xcc\\x80\\x17\\x5f\\xcc\\x33\\xee\\x36\\x66\\xce\\x38\\xb1\\xf9\\x22\\xfc\\x8b\\xd8\\x08\\xda\\x7d\\x20\\xf6\\x5d\\xbd\\xae\\xf6\\xae\\x46\\x4a\\xac\\x03\\x2f\\x6c\\x7b\\xab\\x4b\\xd7\\xbd\\xaf\\x4f\\x34\\x92\\xaa\\xf8\\xd5\\x2c\\xf1\\xfd\\xde\\xd0\\x2e\\xce\\x4f\\xca\\xb9\\xba\\x15\\xda\\x87\\x00\\xd2\\x70\\x63\\x22\\xe5\\xac\\x2f\\xcb\\xef\\x47\\x3b\\x11\\xcc\\x0c\\x04\\xd0\\x4e\\x04\\x39\\x9f\\x23\\xc3\\xe2\\x55\\xbb\\xb3\\xdd\\x21\\xce\\xe0\\xf4\\x3a\\x1b\\x62\\x41\\xc2\\xeb\\x75\\xfb\\xfd\\x59\\xf5\\x31\\x3f\\xf4\\x40\\x0b\\xcb\\xb8\\x79\\xf9\\xca\\x4f\\x5f\\x49\\x38\\xb5\\xd1\\x33\\xd5\\xec\\xbf\\xf5\\xc6\\xb4\\x07\\x89\\xfa\\x1e\\x69\\x7f\\xe8\\xab\\x37\\xef\\x8f\\x7b\\xd6\\x58\\x71\\xdd\\x1c\\xac\\xd9\\xe7\\x91\\x9f\\xfd\\xcf\\x7d\\xda\\x70\\xbe\\x5b\\x7c\\x0d\\x3a\\x2e\\x4b\\x52\\xf6\\x2a\\x88\\x64\\x6e\\x0d\\xda\\x2b\\x2f\\x5a\\xed\\x88\\x48\\xd8\\xcf\\xd8\\x69\\xb5\\x2b\\xe0\\x73\\x3a\\x49\\x8f\\x27\\xa0\\xb6\\x3b\\x4c\\x56\\x83\\xcd\\xac\\x0d\\x66\\xaa\\x69\\xde\\x86\\xce\\x47\\xc0\\x65\\xb3\\x99\\x1d\\x0e\\x3f\\x32\\x57\\x59\\x0b\\xeb\\x35\\x30\\x66\\xcb\\xad\\x57\\x7a\\xb3\\xf8\\xf9\\xd3\\x76\\x0c\\x6d\\x98\\xe2\\xe1\\xc8\\xfb\\xc6\\xa0\\x8d\\xa3\\xc7\\xa5\\xec\\x9b\\xbf\\x55\\xa7\\x52\\xf1\\xa3\\x01\\x48\\x95\\x37\\x92\\x1d\\x95\\xfd\\xf3\\x1e\\x6c\\xb1\\x81\\xdb\\x97\\xd7\\x67\\x89\\x75\\xe8\\x58\\x5d\\x4d\\xec\\xe2\\x83\\xf0\\x05\\xb4\\x8d\\xe0\\xc6\\x4f\\xc8\\x66\\x3f\\xad\\xfa\\x81\\xa8\\x23\\x76\\x46\\x62\\x95\\x55\\x66\\x8b\\xc5\\x97\\x43\\x74\\x6f\\xdd\\xae\\x6f\\xbb\\xc2\\x36\\x54\\x55\\xa7\\x56\\xbd\\x7a\\x11\\x55\\xb0\\x5f\\x7f\\xad\\xcf\\xd7\\xaf\\x6b\\x9b\\x4e\\x6c\\x07\\x64\\x88\\x77\\x68\\x17\\xe9\\x5b\\x58\\x50\\x58\\xd0\\x10\\x2b\\x2c\\xf4\\xa0\\xb7\\x56\\x56\\xb6\\x6b\\x57\\x56\\x1f\\x6b\\x47\\x59\\xec\\x11\\x3b\\x8f\\x6e\\x67\\x3b\\xd0\\x43\\xbb\\xc7\\x63\\xa8\\x8f\\x79\\x5c\\x74\\xa6\\x04\\x43\\x94\\x30\\x6b\\xb9\\x53\\x38\\xf4\\x81\\xad\\xf5\\x0b\\x89\\x7a\\x94\\x70\\x38\\x91\\xe2\\x47\\xaf\\x62\\x13\\x1e\\x69\\x93\\x14\\x0c\\xbf\\x70\\x42\\x10\\xf8\\x64\\xf8\\xd8\\x48\\x32\\x18\\xb7\\x4f\\xaa\\x28\\x0a\\x97\\x5a\\x82\\x12\\xc8\\x00\\x19\\x4c\\xad\\x56\\x49\\xaf\\xb7\\xe7\\xb3\\x90\\xe1\\x58\\x99\\x44\\x9b\\x51\\x8a\\x75\\x98\\x0c\\x40\\x4d\\xec\\xbc\\xf4\\xd3\\xf3\\x9d\\xe7\\x37\\xb4\\xee\\xd1\\xae\\xf5\\xd8\\x51\\xa3\\x2b\\xf6\\x6d\\xf6\\x66\\x64\\xf4\\x1b\\x7f\\x4f\\xf7\\x39\\x9b\\x1a\\x8e\\xbe\\xf6\\xfe\\xde\\x41\\x3b\\xb7\\xa6\\xd4\\xe3\\xaf\\x00\\x5d\\x67\\x3c\\x34\\x7a\\x69\\x6e\\xff\\xb2\\xfe\\xa1\\x3e\\x66\\x8b\\xc3\\xb3\\x78\\xe5\\xe3\\x87\\x77\\xcc\\xdc\\x00\\x76\\x4f\\xdc\\x3a\\xb1\\x8b\\x99\\x31\\x66\\x54\\x14\\x15\\xe6\\xbb\\xfc\\xee\\xbf\\xe6\\x07\\xdc\\x01\\xf7\\xfc\\x89\\xa3\\xee\\xe9\\x26\\x98\\x23\\xb3\\x1a\\x27\\xdf\\x9d\\xa8\\xd9\\x07\\x59\\xb9\\xa0\\xaf\\x78\\xe4\\x2f\\x9d\\xaa\\x7a\\xb7\\xcf\\x28\\x38\\xef\\x7f\\x7e\\xc6\\xc6\\x63\\x76\\xeb\\xd3\\x52\\xed\\xc4\\x56\\x71\\x30\\xbc\\x40\\x3f\\x41\\xf4\\x45\\x7b\\x31\\xa4\\xb2\\xa2\\xa2\\x4b\\xb5\\x59\\x10\\x7a\\x55\\xe7\\x51\\xb5\\xd9\\x04\\x51\\x53\\x54\\x5b\\xeb\\xad\\x0b\\x97\\x95\\xa9\\xd5\\x5e\\x6f\\xb4\\x63\\x4d\\xbb\\xea\\x48\\xaf\\xfc\\xbc\\xfc\\xbc\\x68\\x2c\\x3f\\xdf\\xdd\\xa5\\xb2\\x3a\\x52\\x51\\x1d\\xc6\\x43\\x21\\xa3\\xb1\\x6a\\xce\\x6c\\x8b\\xd8\\xb8\\x7e\\x31\\xc2\\xc6\\xd9\\x48\\x1d\\xb4\\xb9\\xdd\\x3a\\xa4\\x40\\x5c\\x54\\x30\\x05\\x0c\\xf4\\xd6\\x5b\\xe1\\xe4\\xce\\xa7\\xed\\x46\\x62\\x27\\x12\\x31\\x57\\x49\\x50\\x53\\x60\\xe7\\x41\\xa2\\x60\\x48\\xd9\\x0b\\xeb\\x2d\\x37\\x23\\xa5\\x3c\\xa3\\xa2\\xf2\\x16\\x3b\\x21\\x17\\x6b\\xc0\\xca\\xdb\\x4e\\x9e\\x5d\\xd9\\x2f\\xaf\\x75\\x79\\x55\\xc3\\xd0\\xc1\\xc5\\xc3\\x87\\x3e\\x6a\\xcf\\xf1\\x74\\x1d\\x32\\xa9\\xf3\\xe4\\xfb\\x7a\\x6d\\xdc\\xb3\\x66\\x49\\xfb\\x35\\x4f\\x25\\x0a\\x38\\xda\\x7e\\x38\\x33\\x6d\\x1b\\x16\\x4d\\x9c\\xd9\\x67\\xe5\\xc0\\x3b\\x66\\x83\\xe8\\x1d\\x6b\\x87\\x06\\xed\\xfe\\xf2\\x9c\\xbc\\x62\\x6f\\xa6\\xf7\\xae\\x19\\x59\\x39\\x9e\\xa0\\x67\\xe1\\xd8\\x21\\x53\\xbb\\x65\\xd8\\x2a\\x07\\x74\\xee\\x57\\xa7\\x94\\x79\\x9c\\xcb\\x03\\x75\\xc9\\x4d\\x78\\xd3\\xb1\\x68\\xa8\\x5c\\xf3\\x31\\x5b\\xf6\\xe3\\x7e\\x51\\xe6\\x4f\\x65\\x10\\xed\\x22\\x5e\\x15\\xed\\xc9\\x70\\xe9\\x8d\\xfa\\x0c\\x9a\\xf2\\x5a\\xad\\x3e\\x17\\xb2\\x2a\\x1a\\x62\\xac\\x4e\\x47\\x7b\\x78\\x8b\\x81\\x96\\xaa\\x53\\x6b\\xd2\\xaa\\x9c\\x53\\x32\\x43\\x81\\x22\\x20\\xf7\\xbe\\x48\\xd3\\xa6\\xc2\\xa9\\xd3\\xa6\\x82\\x02\\x79\\x6e\\xe5\\x8b\\x23\\x2c\\x25\\x47\\x4b\\xb8\\xd6\\x13\\x62\\xe6\\xa7\\x0e\\x3f\\xd5\\x77\\xe1\\xd3\\x63\\x52\\xe6\\x4d\\x1d\\xee\\x0f\\x9e\\x1d\\xf1\\xce\\x47\\xe0\\x6d\\xb1\\x78\\xc7\\x8a\\x2e\\xb0\\xf3\\xf5\\x83\\xb5\\x0f\\x6f\\x4a\\x8c\\x9b\\x02\\xcf\\x22\\x3a\\x9f\\xc6\\x38\\xcd\\xd2\\xfd\\xd1\\x26\\x92\\x21\\xf0\\x7a\\x83\\xd6\\xe6\\xb0\\x19\\x78\\xca\\x49\\xd3\\x2e\\x3b\\xc5\\xb3\\x84\\xcd\\x60\\x8b\\xc6\\xb4\\x06\\xab\\x5e\\x9a\\xe3\\x91\\xe8\\xfd\\x6a\\x41\\x65\\x96\\x4c\\x95\\x0c\\xcc\\x5c\\x44\\x4a\\x04\\x03\\x09\\x95\\xf9\\xe8\\xd3\\x41\\x0c\\xca\\xbc\\xfa\\xd7\\x43\\x7d\\x77\\xf7\\xbd\\x6b\\x5d\\x77\\x43\\x4e\\x53\\x8e\\x76\\xf0\\xb0\\x97\\x77\\xcf\\x22\\x57\\xec\\xc3\\xa0\\xcc\\xcf\\x9d\\x1c\\x26\\x81\\x32\\xab\\x46\\x1c\\x3f\\x43\\x36\\xc6\\x57\\x1f\\x5a\\xaf\\x82\\xaf\\xc9\\xf8\\xbd\\x4a\\x0f\\x02\\xc1\\x12\\x7e\\xa2\\x15\\xae\\x7d\\x71\\x16\\x17\\x53\\x59\\x66\\x3d\\xa5\\x0f\\x97\\x3a\\xdd\\x05\\xc8\\xb2\\x2f\\x2a\\xc8\\x8e\\xf0\\x5c\\x36\\x57\\x1f\\xcb\\xca\\xce\\xd6\\x10\\x1a\\x5b\\x7d\\x4c\\x23\\x10\\x81\\x94\\xd2\\xce\\x94\\x22\\x48\\x24\\x8c\\xe7\\x4a\\x53\\x01\\x6b\\x13\\x29\\x18\\x09\\xf7\\x52\\x95\\x98\\xe8\\x07\\x91\\x44\\xc9\\xe5\\x9d\\x95\\x52\\x5e\\xbf\\x08\\x80\\x00\\xc5\\x48\\xe1\\x54\\xf4\\x22\\x1e\\x83\\x04\\x77\\x63\\x24\\xcc\\x69\\x9f\\x89\\x6f\\x1d\\x50\\xc6\\xfb\\x35\\x6e\\xdc\\x0c\\xde\\x7f\\xeb\\x07\\x50\\xd0\\x76\\x41\\x63\\xcd\\xcc\\x41\\x15\\x13\\x80\\xe1\\x67\\xf1\\xdd\\xd6\\x0f\\xac\\x8d\\xcc\\x5e\\x36\\xba\\xf7\\x9c\\x3b\\xe0\\x65\\x7a\\x33\\x06\\xc7\\xdc\\x27\\x1e\\xfd\\x75\\x61\\x62\\xe2\\x5f\\x3c\\xab\\xce\\xed\\x7a\\xf7\\xe3\\x2b\\x7f\\x2f\\x0d\\xe4\\x3a\\x43\\x64\\x87\\xeb\\xff\\xec\\xe9\\x6b\\x5f\\x54\\x5e\\xf7\\xf6\\x67\\x68\\xed\\x38\\xcf\\x88\\xb1\\x32\\x8d\\xd2\\xda\\x63\\x91\\xc2\\x80\\x4b\\x4d\\x64\\xe3\\x0e\\x50\\x75\\xb8\\xd4\\xe5\\x29\\xf6\\x44\\x63\\xad\\x8a\\x73\\x23\\x26\\x36\\x97\\x8d\\xc6\\xb2\\x73\\x73\\x69\\xbd\\x3e\\x13\\x03\\x7d\\xd3\\xd6\\xe6\\x14\\xce\\x7f\\x5b\\xbc\\x74\\x18\\x53\\xb3\\x38\\x72\\xc4\\x18\\x04\\x98\\x44\\x9d\\x25\\x5e\\x3d\\x5a\\x7c\\x16\\xce\\xe8\\xc8\\xcb\\xc7\\x01\\x83\\x4a\\xaa\\x55\\x74\\xd3\\x5f\\x56\\x9e\\xfa\\x46\\x42\\xd8\\x8c\\x8f\\xec\\x56\\x4b\\x2f\\x9c\\x33\\x64\\xea\\x90\\x36\\xfa\\xbe\\xed\\x86\\x8c\\xcc\\xea\\x08\\x4e\\xfe\\xfb\\xfe\\x9d\\x05\\xb5\\xed\\x8b\\xba\\x16\\x87\\x7a\\xe5\\xf5\\xe9\\x42\\x3e\\x7b\\xaf\\xf8\\xb7\\xd7\\x46\\x7d\\x7f\\x5e\\x42\\xdd\\x14\\xf7\\xe7\\xe6\\x95\\x3e\\xf0\\x48\\xe9\\xed\\xeb\\xbb\\xe4\\x55\\x5b\\xdd\\xcb\\x40\\xc6\\xb6\\x27\\x43\\x36\\xa7\\x25\\x33\\x84\\xcf\\xcc\\x5e\\x74\\x66\\xbe\\x90\\x6a\\x78\\x8b\\x22\\x36\\x42\\x05\\x49\\x15\\x69\\xb0\\x18\\xac\\x3a\\xdc\\x38\\x67\\xd4\\x51\\x24\\x54\\x01\\x09\\x81\\x20\\xe9\\xa2\\x25\\xab\\x87\\xd0\\xcd\\x2d\\x58\\x6d\\x35\\x00\\x83\\x2d\\x27\\xbc\\x15\\x72\\xfb\\x69\\xf1\\xd2\\x89\\xd7\\x1d\\xba\\x9c\\xe1\\xe0\\xad\\x69\\xe7\\x57\\x4c\\x1a\\x91\\xdd\\x2d\\xa7\\x75\\x9f\\x00\\xbd\\xe8\\xba\\x6f\\xd5\\xa4\\x3e\\xcf\\xc2\\xfc\\xb3\\x0d\\xf7\\x65\\xf9\\xda\\xb7\\x95\\xce\\xeb\\x5d\\xc8\\x8e\\xea\\x8c\\xfc\\x2c\\x5e\\xfa\\x6c\\x1a\\x92\\x34\\xa9\\x13\\x74\\x66\\x0d\\xdb\\x2f\\xa6\\xd7\\x6b\\x38\\x12\\xd9\\xf9\\x96\\x3f\\xf9\\x6c\\x24\\xec\\xb6\\xca\\xd4\\x4f\\x06\\xd7\\xdf\\x3f\\x78\\x68\\x8c\\x63\\x26\\x10\\xc6\\xbf\\xba\\x6a\\x4c\\x83\\xbb\\xa6\\xa4\\xa8\\x53\\x2e\\xba\\x38\\x23\\x3f\\xfd\\x40\\x6a\\xcf\\x8d\\xb8\\xd7\\x9e\\x5d\\xd6\\x0b\\xc7\\xc6\\xa4\\xf5\\x32\\x26\\x3e\\x44\\x65\\xe1\\x58\\x17\\xf9\\x2e\\xb9\\x1d\\xf4\\x97\\xf0\\x7d\\x7d\\x32\\xbe\\x6f\\x4e\\x93\\xd5\\x4b\\x1a\\xd2\\xf0\\x7d\\x25\\x3a\\xe9\\x63\\xe8\\x67\\x42\\xf2\\xcf\\x80\\x57\\x15\\x4c\\xe0\\x0c\\x93\\xf4\\x33\\xe1\\x26\\xb3\\x87\\xd4\\xa5\\x64\\x8d\\x20\\xc6\\x89\\xd5\\x74\\x41\\x7c\\xb5\\x49\\xd5\\x32\\xfd\\x23\\x85\\x05\\xb8\\xfe\\xc0\\xe5\\x0a\\x9b\\x35\\x1a\\x32\\x1c\\xa0\\x2a\\x04\\xa1\\xd2\\x5b\\x5c\\x1f\\xf3\\x0a\\xf6\\xec\\xfa\\x98\\x9d\\x62\\x35\\x66\\x9e\\xd7\\xb2\\x04\\xdd\\x10\\x23\\x25\\x90\\x42\\x25\\x1f\\x98\\x28\\x52\\x48\\x8f\\x15\\x9b\\x52\\x52\\x44\\x35\\x40\\x3e\\xf9\\xed\\x81\\xd4\\x90\\x03\\x4a\\x95\\x82\\x6f\\xd2\\x24\\xcf\\x12\\x4b\\x46\\x91\\x70\\xd4\\x89\\xfa\\x47\\x6d\\x5b\\x6f\\xa1\\x6f\\xf0\\xfa\\x3e\\xae\\xcb\\x07\\xef\\x62\\x9d\\x40\\xeb\\x03\\x07\\xde\\x88\\xaf\\x9d\\xbc\\x7c\\x63\\xfc\\xe8\\xe7\\x80\\xd8\\x25\\xbe\\x73\\xfc\\x9b\\x6b\\x23\\xf7\\xfe\\xbe\\x7c\\xd2\\xae\\x19\\x91\\x27\\xd6\\xad\\x7f\\x6b\\xf2\\x63\\xe2\\x60\\xe3\\x32\\xf5\\xd4\\xfb\\x8a\\xa9\\xa2\\xf8\\xee\\xe8\\x01\\x97\\x35\\x02\\x7d\\xd7\\x4e\\xbf\\xfa\\x48\\x6f\\xa6\\x46\\x3c\\x25\\xfe\\xe7\\x3f\\xe2\\x9d\\x1f\\x83\\xb6\\xc0\\xb2\\x0b\\x74\\xf9\\x69\\xc1\\x96\\xc6\\x53\\xe2\\xe7\\x0b\\x3f\\x7c\\xff\\x05\\x30\\xf4\\xf8\\xf9\\x2f\\x30\\x1f\\x3a\\x8a\\x83\\x19\\x3c\\x37\\x0d\\xe3\\x3c\\x94\\x12\\x7d\\x23\\xf9\\x05\\x5e\\xad\\xdd\\x1e\\xc2\\x5c\\x08\\x79\\xa9\\xb0\\x20\\x94\\x05\\x73\\xa2\\xb1\\x20\\xe7\\x2e\\xc6\\xb6\\x32\\xe2\\x82\\x45\\xe2\\x42\\xf4\\xff\\xc2\\x85\\x3f\\xe5\\x01\\x34\\x33\\x29\\x19\\x99\\xb4\\xfc\\x28\\x9c\\xf0\\xa7\\x0c\\x68\\x63\\x1d\\x2e\\xae\\x7e\\xea\\xf8\\xb4\\x4b\\x5b\\xf6\\xbc\\x7c\\xfc\\xc0\\xd8\\x59\\xed\\x87\\x0f\\x1d\\x3b\\xad\\xc3\\x9f\\xad\\x9e\\x1a\\x30\\x7a\\xa6\\xe8\\xf8\\xee\\xc2\\x51\\xd0\\x75\\x17\\xce\\xa1\\x3e\\x20\\x7e\\x3b\\x67\\xc3\\xa3\\x1b\\xa5\\xf4\\x23\\xc6\\x09\\xbe\\xb1\\x4d\\x35\\x96\\xbe\\x82\\xd6\\x5d\\x4c\\x44\\x22\\xfe\\x4c\\xde\\xae\\x52\\x41\\x96\\xa7\\x4a\\x5a\\x79\\x5c\\x3e\\xab\\xaf\\x3e\\x06\\x09\\x2b\\x95\\x1b\\x2a\\xd0\\x16\\x60\\x74\\x01\\x8c\\x4e\\xaa\\x58\\x96\\xf6\\x9a\\x96\\xe1\\x73\\x19\\x64\\xca\\x2a\\x03\\x05\\x4b\\xea\\x51\\x46\\xba\\xad\\xac\\x00\\x78\\x0a\\x98\\x5c\\x9c\\x41\\x5a\\x38\\xba\\x5c\\xd2\\x18\\xed\\x01\\x4f\\x39\\x0a\\x7b\\x0b\\xef\\xfe\\xfc\\x8a\\xb8\\xeb\\xab\\xa2\\xbb\\xab\\x7b\\x73\\x1f\\xfe\\x78\\x1c\\x8c\\xfc\\x22\\x02\\xae\\xad\\xbf\\xb7\\xdd\\xf4\\xea\\xfe\\xba\\x67\\x7e\\x5b\\x0c\\xb8\\xce\\x93\\xab\\xfb\\x18\\x9f\\xf9\\x6d\\x19\\x7d\\xa5\\xaa\\xa4\\x44\\xbc\\xf8\\xd1\\x17\\xe2\\xdd\\x7f\\xb7\\xf7\\x2e\\x45\\xea\\xa7\\xe8\\xbb\\x8f\\xc0\\xc2\\xef\\xed\\x43\\xe3\\xc3\\xb7\\xbf\\x9d\\x37\\xaa\\x7d\\x2b\\xf7\\x6b\\xe2\\xe1\\x27\\xc4\\x23\\x03\\xc9\\x3b\\xba\\x56\\xb8\\x4e\\x80\\x4e\\x12\\xae\\xf0\\x8d\\x75\\xd4\\x4a\\xea\\x79\\xc2\\x4e\\x14\\xa1\\xdb\\x36\\x23\\x53\\xef\\x20\\xf4\\x44\\x71\\x09\\x5a\\x1c\\xe7\\x43\\x6e\\xa6\\xc0\\x71\\x39\\xa1\\x7c\\x2a\\x3f\\x1a\\xd3\\xa8\\xb0\\xed\\x72\\x8b\\xc5\\x35\\x97\\x15\\x90\\x2a\\x46\\xd1\\xfa\\x12\\x36\\xbf\\x1c\\xff\\xc8\\x00\\x4c\\x99\\xb2\\x38\\xb4\\x77\\xb6\\xe4\\xd2\\x56\\x4e\\xbb\\xfc\\x58\\xd5\\xed\\xe1\\xbe\\xba\\xfb\\x1f\\x9b\\xfb\\xed\\xa3\\x8e\\xc1\\x15\\xe5\\xbd\\x35\\xab\\xd7\\xbe\\x3c\\xb7\\x7c\\x4c\\x45\\x1f\\xdd\\xc8\\xe5\\x7d\\xd6\\xb5\\x19\\x53\\xd2\\xc3\\x38\\xf4\\x9e\\xee\\xe4\\xb3\\x5b\\xc5\\xd7\\x8f\\xbb\\x27\\xb6\\xa9\\xc8\\xfe\\xe4\\xf1\\x1d\\xa0\\xf2\\x80\\xad\\xa4\\xb4\\x4b\\x51\\xee\\xf9\\x87\\x8f\\x75\\xea\\x5b\\x5e\\xe0\\x7c\\x48\\x9c\\x74\\xa9\\x43\\xff\\x56\\x39\\x9e\\x6d\\x80\\x42\\x72\\x3a\\xf5\\xc6\\x8f\\x9a\\x2f\\x98\\xf7\\x88\\x4a\\xa2\\x27\\x31\\x90\\x58\\x1d\\xe9\\xde\\xbf\\x57\\x5d\\x5d\\xaf\\x01\\x03\\x3a\\xf6\\xec\\x18\\xe4\\x7b\\xb6\\x52\\xa9\\x08\\xa7\\x81\\xa7\\x07\\x0d\\xee\\x59\\x55\\xd5\\xb1\\xff\\xc0\\xba\\x8e\\xe8\\x4f\\x17\\xdb\\xc0\\x81\\xed\\xd9\\x2e\\xc8\\xb2\\xee\\x62\\xc8\\x65\\x6d\\x95\\x10\\x22\\x6b\\x1a\\xda\\x6c\\xc8\\x6b\\x75\\xd9\\xa8\\x82\\x10\\x1b\\xaa\\x8f\\xe9\\x58\\x21\\xbd\\x10\\x45\\x49\\xff\\x28\\x05\\xd1\\xe1\\x04\\xa6\\x6a\\x22\\xe2\\xdd\\xdc\\xc1\\xc1\\x57\\x27\\xa7\\x2c\\x49\\x61\\x62\\x3c\\x21\\x48\\x0e\\x13\\xe3\\x2b\\xd3\\x09\\x32\\x53\\x26\\xb5\\x2b\\xad\\x11\\x95\\xa9\\xd1\\x65\\xa4\\x12\\x25\\x96\\x4a\\x83\\xf4\\xe5\\x98\\x32\\xfa\\x76\\x16\\x32\\x17\\x82\\x15\\x95\\xc1\\x4a\\xd5\\x8c\\x81\\x9b\\xfa\\x02\\x0e\\x04\\x96\\xfc\\x43\\x3c\\x74\\x56\\xfc\\x6c\\xc3\\xab\\xe2\\x97\\xe2\\x17\\xe2\\xd9\\xd9\\x9f\\x83\\xf2\\x63\\xfd\\x97\\x77\\x19\\xd7\\xa9\\x3e\\x7c\\xdf\\x97\\x4f\\x0e\\xff\\xfa\\xc2\\x7d\\x40\\x3d\\xa8\\xf5\\xb7\\xcb\\xef\\xff\\xcf\\xa1\\xdb\\x2e\\x9c\\xe8\\x35\\xb9\\x08\\x1c\\x1a\\xb7\\x7f\\xe0\\xe8\\xc5\\xdd\\x66\\x3c\\x5a\\xb4\\x28\\x02\\xc8\\xed\\x1d\\xef\\x99\\x3c\\xe6\\xe9\\x21\\xf1\\x07\\x9d\\xe6\\x8c\\xca\\x89\\xe3\\x0c\\x7d\\xdc\\xf4\\xe0\\xa0\\x5b\\xfc\\xf1\\x3f\\xcf\\x8b\\x5b\\x6e\\x10\\x2b\\xef\\xbc\\x13\\xd8\\x88\\x1b\\xcf\\x83\\x51\\xc4\\x8d\\xe5\\xee\\xe0\\x03\\x01\\xcb\\x84\\x37\\xc5\\x6f\\x16\\x9f\\xfa\\x72\\x60\\xd7\\xae\\x03\\xa7\\x5e\\x04\\xf6\\x55\\x27\\xde\\x0e\\x9a\\xc1\\x91\\x8a\\xca\\x76\\x25\\x77\\xde\\xb5\\xfd\\x40\\x7e\\x4d\\x75\\x2b\\xb8\\xa4\\x6d\\x69\\xe7\\xd1\\xdd\\xd6\\x48\\xf6\\xc8\\x58\\x64\\x8f\\x5c\\x55\\x3d\\x40\\xe4\\x11\\x65\\x44\\x2d\\x31\\x21\\x52\\x5e\\x93\\x21\\x94\\x96\\xe4\\x87\\x6b\\x09\\x18\\x36\\xda\\x05\\x9a\\x61\\xba\\xf7\\x28\\x2d\\xce\\xcf\\x6f\\xd3\\xb1\\xb6\\xbc\\xbc\\xa6\\xb8\\xa6\\xd8\\xde\\xd1\\x18\\xe4\\xec\\x90\\xa2\\x1c\\x76\\x2e\\x24\\x09\\xa3\\x9e\\x4b\\x05\\x18\\x95\\x63\\xbe\\xc5\\x12\\xdb\\x65\\xd7\\xad\\x58\\xce\\x3c\\x20\\xfb\\x38\\xac\\x04\\x3f\\x14\\xb0\\xc1\\xca\\x44\\xcb\\x43\\x20\\x5b\\x95\\x98\\xcd\\x18\\x66\\x02\\x89\\x42\\x7b\\x85\\xdb\\x20\\xc1\\x52\\xfa\\x16\\xfc\\x56\\xf9\\xef\\x9a\\xe9\\x79\\xe5\\xdc\\xf0\\x47\\x3e\\x5d\\x7f\\x72\\xe6\\x23\\xc7\\x4e\\xbe\\x36\\xe0\\x89\\xaf\\x97\\x79\\x46\\xad\\x6c\\xa8\\xfe\\x61\\xe8\\xb1\\xb6\\xd9\\xdb\\x47\\x34\\xdc\\x3f\\xb6\\x83\\x38\\xd9\\x63\\xcb\\xcc\\x97\\x78\\x47\\x5e\\x6f\\x66\\x6e\\x3b\\x40\\xed\\x90\\x99\\x4b\\x9e\\x9d\\x3b\\x6d\\xf3\\x9b\\x87\\x96\\x88\\xef\\xbf\\x71\\x7b\\xff\\xfe\\x27\\x5f\\x5e\\x0a\\x32\\x2f\\xde\\xbe\\xb9\\xd7\\x63\\xf1\\x98\\xd8\\xba\\xb0\\xa0\\x4d\\xbf\\xc7\\x01\\x01\\xfb\\xad\\x6d\\x57\\x15\\x46\\x5c\\x5b\\x28\\xb3\\xf2\\xf1\\xc3\\x98\\x95\\x44\\xa2\\xaf\\x54\\xdb\\x4a\\xf5\\x1d\\xba\\xbf\\x4c\\x12\\x5e\\xcc\\xeb\\x74\\x5f\\x30\\x5e\\xca\\xef\\x74\\xa1\\x43\\xe0\\xc9\\xae\\x6d\\x32\\xd3\\xe7\\x6f\\x4a\\xb1\\x7f\\x7a\\x11\\x7a\\x3f\\x2f\\xbf\\x9f\\x74\\x2b\\xf9\\x20\\x3c\\x80\\xb3\\xdc\\x67\\x11\\xf4\\x69\\xb5\\xd2\\x53\\xc4\\x81\\x12\\x7e\\xb7\\x83\\x28\\x8f\\xb8\\x04\\xca\\x8e\\xf1\\xbb\\x9d\\x3a\\x9d\\x2b\\x81\\xdb\\x0d\\xac\\xf5\\x31\\x20\\x34\\xc3\\x8b\\xb7\\x84\\xee\\x06\\x42\\x88\\x48\\x47\\x45\\x91\\x05\\xba\\x12\\x92\\x42\\xf4\\x6f\\xe2\\x1f\\x17\\xc1\\x8c\\xbf\\x5e\\x06\\xf9\\x25\\x4d\\x59\\x17\\x1e\\x3c\\x24\\xfe\\x7d\\xf3\\xa7\\xaf\\xb6\\x6d\\x7d\\x17\\xb2\\xa5\\xb7\\xda\\x41\\xc5\\xd5\\x7f\\x82\\xb5\\x18\\x08\\xe5\\xae\\x25\\x7b\\xc5\\xe3\\x17\\xcf\\x7e\\xcb\\xc5\\x8f\\xc9\\x35\\x02\\x0a\\x86\\xb7\\x64\\x63\\x23\\x69\\xb0\\xd9\\xd4\\x24\\xad\\xa6\\x9d\\x2c\\xeb\\xd2\\x0b\\xb8\\x5b\\x04\\x99\\x6d\\x04\\x36\\xdb\\xa8\\x5b\\x91\\xd5\\x9c\\xdc\\xaf\\x94\\x87\\xcc\\xa4\\xe5\\xf6\\xa5\\x12\\xd3\\x9f\\x4a\\xcb\\x27\\x37\\x45\\xb7\\x6c\\x5f\\xff\\xf3\\x9e\\x67\\x5e\\xd7\\xee\\x55\\xdd\\x31\\x6c\\xfe\\xd6\\x41\\xd3\\x16\\xf2\\xf1\\xd7\\xc1\\x23\\xfc\\x7b\\xfb\\xcf\\x80\\x21\\x4f\\xed\\x7e\\xc0\\x31\\x6a\\xc2\\x72\\xf1\\xa3\\x75\\xcb\\xe4\\xbe\\xc7\\xd6\\x37\\xbe\\xa0\\xee\\xa2\\x3f\\x22\\x04\\x62\\x66\\xa4\\xbd\\xc6\\x00\\x05\\x4a\\x6d\\xe2\\x79\\x8a\\x60\\xd4\\x6a\\xa3\\x96\\xd0\\x22\\x59\\x33\\x00\\x23\\x6b\\xac\\x8f\\x71\\x02\\x2b\\xc3\\x2f\\xb3\\x2a\\x0d\\xad\\xc5\\x63\\x9d\\x29\\x1a\\xa9\\x16\\x3d\\xa5\\x63\\xd1\\x1f\\xc6\\xc4\\x20\\xa5\\x22\\x4b\\x30\\x77\\xaa\\xba\\x3a\\x5f\\x99\\x10\\xc1\\x9d\\x92\\xbf\\x48\\x56\\x34\\x26\\x0d\\xee\\xb0\\x52\\x72\\x0e\\x98\\x2c\\x48\\x33\\xb8\\x4f\\x31\\xab\\x92\\x96\\xfe\\x86\\x21\\x75\\x57\\x37\\x71\\xef\\x62\\x50\\xd7\\x55\\x7c\\xfe\\xf2\\x13\\x3f\\x89\\x87\\xba\\x81\\xee\\x8b\\xc5\\xa6\\xae\\xa0\\xef\\xfb\\xdb\\xfe\\x0e\\xd7\\x3f\\x34\\x52\\xfc\\xa1\\xfe\\xa1\\x06\\xb1\\x1c\\x5c\\x19\\xf1\\xd0\\x48\\x60\\x19\\xf9\\x70\\x3d\\x78\\x4d\\xb4\\xc8\\x3d\\x03\\x85\\xd4\\x5c\\xf0\\x03\\xfd\\x2d\\x61\\x21\\x0c\\x4d\\x6a\\x28\\x18\\xb1\\x53\\x75\\xbe\\x54\\xce\\x63\\xfb\\xa5\\xb4\\x43\\x48\\x2a\\xf2\\x91\\x47\\x4e\\x80\\x1f\\xba\\x97\\x8b\\x3b\\x3a\\x15\\x95\\x76\\xec\\x5e\\x0e\\x86\\xe1\\x67\\x7a\\x4a\\x69\\x5b\\x73\\x55\\xdb\\x48\\x99\\xfc\\x24\\xfd\\xce\\x2a\\xea\\x2d\\x70\\x81\\x7e\\x95\\xb0\\x12\\xc2\\x41\\x4a\\x4b\\x18\\x78\\x09\\x37\\x37\\x5c\\xcc\\x9d\\x93\\xda\\xc1\\x83\\x95\\x52\\x86\\xd5\\x08\\xe4\\x40\\x81\\x82\\xf1\\x07\\x4e\\xc7\\xa8\\x68\\xb0\\x57\\x7e\\xc9\\xd4\\x6e\\x63\\xdd\\x03\\xcb\\x46\\x14\\x4d\\xef\\xda\\x6f\\x28\\xf5\\x56\\xc9\\xd0\\x2c\\xbb\\xab\\x70\\x5d\\x80\\x2f\\x1a\\xd6\\x3f\\x80\\xf8\\x6f\\xa4\\xba\\x13\\xff\\x92\\x66\\x73\\x1a\\x9a\\x54\\x0b\\xf1\\x10\\xba\\x9a\\x52\\xe7\\xb9\\x56\\x25\\x02\\x13\\x64\\xe4\\x59\\x7e\\x35\\xe0\\x5f\\x59\\x31\\x3a\\x67\\x7c\\x88\\xb3\\xd2\\xe7\\x5e\\x6e\\x55\\x1b\\xed\\xd5\\x37\\xaf\\xef\\x64\\x69\\x46\\x30\\xd5\\x1d\\x04\\xd0\\xcf\\x6a\\xf0\\x5a\\xe9\\x85\\xf8\\x67\\x9d\\xe7\\xb0\\xec\\x22\\x5a\\xe4\\xe3\\x0f\\x02\\x1e\\x53\\x59\\xfe\\xcc\\x31\\xa6\\x58\\x16\\x7d\\x6e\\x43\\xdd\\x94\\xe2\\x09\\x0d\\x2f\\x4b\\x7c\\x12\\xef\\xa0\\xdb\\x90\\x5f\\x22\\x1d\\x26\\x10\\xdc\\x01\\x95\\x61\\xa1\\x40\\x68\\x89\\x62\\xe4\\x4d\\x49\\xac\\x6a\\xd6\\x19\\x89\\x6b\\x2f\\x4c\\x9e\\x19\\x79\\x68\\xdc\\x9c\\x7b\\xdb\\x4f\\x58\\x5a\\xb2\\xbc\\xe6\\xbd\\x47\\x7b\\x6c\\x9a\\x72\\xc7\\xf3\\xc3\\xe9\\xf6\\xe5\\x55\\x1d\\x0a\\x26\\x4e\\xdb\\xbb\\xab\\xb8\\x4d\\x15\\x1e\\xb7\\x4d\\xa8\\xaf\\x67\\x89\\xbb\\xe1\\xc7\\xf4\\x41\\x44\\x13\\xce\\xe0\\x67\\x23\\x9f\\xa5\\x0d\\xd1\\x85\\xe8\\x8b\\x3c\\x97\\xfc\\xae\\xc1\\x8c\\x9e\\xbe\\xda\\xde\\x59\\xbd\\x4b\\x59\\x6d\\xa5\\xbe\\xac\\xda\\x54\\x9d\\x43\\x13\\x85\\x64\\x5e\\x31\\x53\\xdc\\x1b\\x89\\x4d\\x75\\x6f\\xe8\\xea\\xd0\\xb6\\x7d\\x27\\xb3\\xc3\\xea\\x22\\x8a\\xcf\\x9f\\x2b\\xc5\\x7f\\x91\\x02\\x2c\\xc6\\x39\\x32\\xee\\x7c\\xe9\\x39\\x1c\\xcb\\xb9\\xe9\\x0b\\xac\\x15\\x83\\x01\\x4b\\x90\\x0b\\x97\\x5a\\x84\\xe4\\x57\\xe0\\xbf\\x7e\\x05\\x6f\\xf1\\x5a\\x56\\xf2\\x2b\\xf2\\xfa\\xd4\\xa9\\xe3\\x2e\\x5f\\x36\\x49\\x8f\\xd7\\xd7\\x48\\x4f\\x64\\xa1\\xf4\\x74\\x75\\xa9\\xf4\\xf4\\xb9\\xfc\\xda\\x7a\\xe9\\x29\\xee\\x90\\x9e\\xe0\\xa9\\x4d\\x9b\\x90\\x9e\\x12\\x55\\xd2\\x13\\xf9\\x0f\\xe9\\xe9\\xea\\x5f\\xa5\\x27\\x2a\\x94\\xfa\\xbd\\xeb\\x5f\\x48\\x4f\\xbf\\x4b\\x8f\\x12\\xcf\\xc6\\x8a\\x8b\\xe0\\x16\\xfa\\x6f\\x37\\xf1\\xac\\x77\\x24\\xab\\x53\\xa4\\x4b\\x97\\xe2\\xc2\\x9c\\xac\\x50\\x86\\xcb\\xec\\xf1\\x64\\xf4\\xee\\xdb\\xa3\\xba\\xb4\\xb2\\xb2\\x47\\x4e\\x46\\x8f\\x1e\\x19\\x39\\x50\\x63\\x12\\x8c\\x0c\\xa5\\x21\\x8a\\xcf\\x55\\xa3\\xff\\x79\\x85\\x57\\xe8\\x4b\\x24\\x99\\xe8\\xf9\\x7c\\x35\\x77\\x1e\\x7f\\x89\\x5f\\x69\\x55\\x62\\xc3\\x61\\xaa\\x60\\x45\\x79\\xb0\\xdc\\x84\\x81\\xe4\\xc3\\x2a\\x4b\\xd8\\x22\\x55\\xd1\\x96\\x5b\\xc3\\xe5\\xe1\\x2c\\xbc\\xd1\\x96\\x50\\xd0\\x12\\x84\\x68\\xbf\\x6d\\x4c\\x28\\x9b\\xc9\\xc6\\x33\\x02\\x90\\x2d\\x6b\\xab\\xb4\\x41\\x2c\\x51\\xd9\\x15\\x95\\xd9\\x95\\x18\\x16\\xb5\\xd2\\xa6\\x62\\x6c\\x4c\\xc4\\xe9\\x6e\\xec\\xd8\\x53\\x7a\\x88\\x4f\\x9c\\xd3\\x79\\x44\\xee\\x90\\xba\\x47\\xa8\\xe7\\x94\\x2f\\xda\\x0d\\x2a\\x29\\xd6\\x76\\x63\\xab\\xcb\\x27\\x5d\\xef\\x82\\xbe\\xd4\\x74\\x45\\x5f\\x4e\\xd6\\x0f\\x6a\\xd5\\xbf\\x55\\xb7\\x3b\\x5a\\x97\\x4f\\x82\\x97\\x06\\x95\\x0c\\x68\\xd5\\x6d\\x52\\x75\\xf9\\x9d\\x6d\\xa4\\x9f\\x88\\x6e\\xa5\\x3e\\x53\\xbe\\x88\\xbb\\xa5\\xdf\\x59\\x26\\x3d\\x8a\\xff\\x1a\\x8c\\xde\\xd8\\xf5\\xce\\x2a\\xf4\\x33\\x8c\\xf4\\x33\\x77\\xe2\\xdf\\xd9\\x5e\\xfe\\xf5\\xf8\\x37\\xdd\\x37\\xa8\\x55\\x11\\xfe\\xa4\\x8a\\x3b\\xe5\\x38\\xb2\\x38\\x16\\x63\\x45\\x48\\x93\\xff\\x07\\x46\\x3c\\x3a\\xb5\\x81\\x04\\x00\\x5d\\x31\\x16\\x83\\x87\\xf2\\x69\\x54\\x0c\\xe3\\xe7\\x68\\xd2\\xc4\\x6b\\x0d\\x11\\x83\\xe6\\x10\\xb0\\x46\\x74\\x31\\x03\\xef\\xb6\\x2e\\x74\\xf0\\x2a\\x0c\\xc9\\x13\\xfe\\x0c\\x1d\\xbe\\x52\\xb9\\x04\\xe0\\x5c\\x62\\xdc\\x4b\\x73\\xd8\\x30\\x0d\\xbe\\x02\\x62\\x00\\x0b\\x8c\\x3f\\xa7\\xc1\\x07\\x46\\x29\\xdb\\xb4\\x19\\x53\\x10\\x2d\\x7e\\x39\\x21\\x5e\\xda\\xfb\\xd1\\xf2\\x03\\x01\\xeb\\xf5\\x2a\\x72\\xfa\\xca\\x17\\x4a\\x37\\xe6\\x4d\\x1f\\x32\\x72\\x6d\\xe6\\xb8\\x82\\x0f\\x13\\x28\\x17\\xd7\\x0a\\xe2\\x87\\xc1\\x16\\xb8\\x6b\\xe7\\x60\\x0c\\xde\\x33\\x6b\\x5e\\xbb\\x31\\x03\\xc6\\x0e\\xcb\\xbc\\xf7\\x01\\xa5\\xa6\\xe1\\x4d\\xdc\\x1f\\x84\\x64\\x22\\x1f\\xe7\\x50\\xf4\\x1a\\xad\\x51\\xc7\\x41\\xc2\\xe9\\xf4\\x73\\xb9\\x5a\\xba\\xb0\\x40\\x2e\\xcc\\x37\\x70\\x11\\x4e\\xdf\\x2f\\xc6\\x59\\x72\\x02\\x0b\\xb3\\x32\\xe4\\x01\\x6a\\x69\\xcb\\x48\\x6f\\xc2\\x6d\\x59\\x91\\x0f\\x5a\\x56\\xe4\\x67\\xa5\\xad\\x06\\x6c\\x4b\\x14\\x31\\x34\\xed\\x11\\xbf\\xda\\xfb\\xe6\\xed\\xcd\\x75\\x0c\\xe0\\x78\\xda\\x92\\x52\\xeb\\xf5\\xc7\\x89\\x39\\xa0\\x32\\xa5\\xa6\\x61\\x66\\xca\\xca\\x9a\\x7b\\xa2\\x71\\xde\\xbc\\x4f\\x24\\xd7\\x4a\\x01\\x08\\x39\\x03\\x54\\xff\\xbf\\x67\\xcd\\xe5\\x0d\\xc2\\xca\\x20\\x8c\\xf4\\x66\\x32\\x63\\x2e\\x55\\xbc\\x24\\xfb\\xa4\\xbf\\x3d\\xe8\\x3e\\x98\\x9a\\x2f\\x3f\\xb7\\xdd\\xbd\\xfd\\x7f\\x64\\xcb\\x95\\x1a\\x65\\xa4\\x63\\xf1\\xc9\\x1c\\x1a\\x29\\x76\\x10\\x8c\\xd9\\xcc\\x69\\x0c\\x2c\\xab\\x51\\x41\\x1a\\xf9\\xe0\\xde\\x0c\\xce\\x53\\x17\\x63\\xa5\\x52\\x6f\\xbd\\x9a\\x43\\x7f\\xa0\\x96\\x30\\x5b\\xa1\\x35\\xbd\\xcc\\xea\\x66\\xa2\\xf9\\x24\\xe2\\x53\\x4a\\x99\\x95\\x5c\\xa2\\x13\\xc6\\x53\\x37\\xd3\\xeb\\x99\\x71\\x2a\\xfc\\xf3\\x19\\xce\\x19\\x99\\x4d\\x99\\x8b\\x9d\\x8b\\x27\\xde\\x5c\\xd7\\x3c\\x77\\xf1\\xe1\\xc3\\x8b\\xe3\\x5f\\xa4\\x14\\x53\\x91\\x09\\x6c\\x0e\\xc2\\x88\\xcd\\x9c\\x88\\xdf\\x06\\x2d\\x3c\\xad\\x56\\xf3\\x02\\x4b\\x19\\x20\\x34\\x78\\xdc\\xac\\x0e\\xf9\\x79\\xac\\xc1\\x68\\x74\\xd5\\xc7\\x8c\\xd0\\x90\\x32\\x76\\x23\\x9d\\x46\\x25\\x3a\\x66\\x31\\xa3\\x53\\x8f\\xac\\x4e\\x9c\\x20\\x11\\xfc\\xa5\\x48\\x19\\xd8\\xa4\\x50\\xac\\x1f\\x0e\\xf8\\x1b\\x30\\xae\\xee\\x3f\\x67\\xc4\\xfc\\x67\\xc5\\x21\\x13\\x8f\\x03\\x53\\x05\\x58\\x3c\\xbf\\xff\\x80\\xbb\\x07\\x95\\x3e\\xb6\\x45\\x7c\\x8a\\x5e\\xf4\\xce\\x81\\x4b\\xf3\\xa6\\x36\\x2c\\x28\\x8f\\x7f\\x4c\\x2f\\x8a\\xb7\\x09\\x4c\\x1b\\x35\\xb3\\xfb\\xa4\\x59\\x72\\xde\\x27\\xd1\\xff\\x83\\xb8\\x5b\\x42\\x74\\x8a\\x64\\xe5\\xeb\\x73\\x1d\\xee\\x22\\xab\\xd5\\x9d\\x93\\xcb\\x06\\x55\\xea\\x52\\x75\\x2b\\x21\\x23\\x1a\\x13\\x38\\x8a\\x25\\x74\\xac\\xda\\x45\\x84\\x9a\\x7b\\x38\\x9b\\x91\\x59\\x53\\xb1\\x8f\\xe9\\x64\\x07\\x0e\\x52\\x71\\x48\\xe1\\x25\\x7b\\x73\\x24\\xda\\x85\\x80\\x12\\x60\\x96\\x88\\x97\\x00\\x17\\xf3\\xe6\\x3e\\xe2\\xc3\\x2d\\x37\\xff\\x71\\xa9\\x77\\x6a\\x19\\xaa\\xfb\\x93\\xb3\\x1e\\x7d\\xe1\\x8e\\xa1\\xbd\\xa6\\xf6\\x1d\\x64\\x1a\\xb3\\x66\\x74\\xd5\\x82\\x29\\xfd\\xca\\x07\\x4f\\xe9\\xd3\\xaa\\xfd\\x48\\xb3\\xdc\\x64\\x43\\xab\\x1e\\xee\\xac\\x9b\\x92\\x55\\x3f\\xe8\\x95\\x1d\\x2f\\x8b\\x9b\\x47\\x8e\\x1b\\x7a\\x47\\x2e\\xfc\\xb0\\xee\\xa9\\x3f\\x46\\xdd\\xb3\\xca\\x33\\x7b\\xd8\\xed\\x03\\x80\\x63\\x02\\x6e\\xb5\\x91\\x31\\x25\\x00\\xb5\\x8f\\x71\\x13\\x0c\\x9e\\x2d\\x45\\xab\\x54\\x6a\\x40\\x92\\x1a\\xdc\\x37\\x85\\xac\\x28\\x06\\xaa\\x68\\x9e\\xac\\x07\\x00\\x10\\xc5\\x23\\xc2\\x89\\x99\\x77\\x4a\\x2e\\x3b\\x51\\x99\\x83\\xac\\x22\\x00\\xf7\\x44\\x9b\\x26\\xc5\\x9f\\xbf\\x82\\xd8\\x4a\\x2f\\x02\\x8f\\xc4\\xcf\\x80\\x6b\\x6e\\xe9\\xae\\x97\\xea\\xcb\\xe0\\x6c\\x24\\x9b\\x52\\x5f\\x16\\x01\\x80\\x9a\\xa2\\x69\\x0d\\x4d\\x11\\x2a\\x86\\x44\\xd2\\x08\\x49\\x16\\x28\\x35\\xfd\\xa9\\xe0\\x31\\xf2\\x6f\\x0f\\xe3\\x5e\\x35\\x74\\x34\\x3e\\x68\\xba\\x08\\x1e\\xe8\\xfd\\xd4\\x38\\xf1\\x1e\\xaa\\x35\\xd8\\x10\\xff\\x41\\xfa\\xbd\\x21\\x74\\x3e\\xbf\\x43\\x9f\\x61\\x40\\x76\\xaa\\x47\\xa5\\xd5\\x02\\x9d\\x8e\\x31\\x42\\xc8\\x6a\\x0c\\x84\\xa1\\x21\\xa6\\x42\\xdb\\xa6\\xe3\\x31\\x1c\\x18\\xd9\\x8c\\xf6\\x10\\xbe\\xb9\\x55\\x5b\\x08\\x0b\\x12\\xe6\\x96\\x54\\x47\\x1b\\xec\\xf4\\xcc\\x0c\\x78\\x5f\\x46\\xbc\\x72\\x30\\xd8\\xee\\x11\\x87\\x2f\\x3c\\xbe\\xf0\\x19\\x98\\x45\\x0e\\xdb\\x2a\\x76\\xd8\\x18\\x9f\\x44\\x6e\\x90\\xf9\\x65\\x40\\xeb\\xc9\\x90\\x7a\\x2a\\x6a\\x22\\x5e\\xbd\\x5a\\x4d\\x19\\x09\\x82\\x85\\x0c\\x63\\x54\\x21\\x7b\\x33\\x1a\\xa3\\x74\\x48\\x9b\\x1b\\xc8\\x68\\xcc\\xc0\\xaa\\x2d\\xcd\\xb2\\xda\\xcc\\xb8\\xe6\\xf2\\x2c\\x5c\\xbc\\x8b\\x4f\\x91\\x54\\xf4\\x26\\xc0\\x0c\\x87\\xb8\\xa2\\xf5\\x5b\\x8e\\x73\\x63\\x9a\\xc6\\xdc\\xed\\x98\\xd3\\x9f\\x6a\\xbd\\x58\\x7c\\x7b\\x49\\x5c\\x24\\xc9\\x25\\xa0\\x49\\xc2\\xdf\\x18\\x2c\\xd5\\x1f\\x04\\x90\\x96\\xcd\\xb6\\x31\\x0e\\x64\\xe8\\xba\\x19\\x18\\xcc\\xb4\\xf0\\x3e\\xbe\\x3e\\xe6\\xf6\\xf9\\x6c\\x76\\x3b\\x3a\\x22\\x76\\x88\\x48\\xb2\\xf1\\x14\\x3a\\x35\\x94\\x2b\\xb9\\xf2\\x74\\x32\\x92\\x9a\\x16\\xd1\\xc0\\x49\\xa3\\x2a\\x15\\x5d\\xca\\x37\\x43\\xff\\x63\\x8e\\x48\\x09\\x0e\\xea\\xc8\\xf3\\xe2\\xb1\\x77\\x0f\\x7c\\x92\\xff\\xbc\\x6b\\xe1\\xec\\x0d\\xdf\\xdc\\xb7\\x71\\x45\\xb7\\x47\\xa7\\xad\\xc2\\xd3\\x6c\\x1e\\xf6\\xc6\\xb3\\x7b\\x8e\\x19\\xde\\x58\\xf9\\xde\\x5f\\xc1\\xc7\\xe2\\xbf\\xc4\\xb1\\x5f\\xae\\x7c\\x20\\x23\\x3a\\xf8\\x10\\x98\\x70\\x7e\\xdb\\xf3\\x59\\xe1\\x78\\x29\\x46\\x27\\x5b\\x58\\x90\\x61\\xba\\xae\\xd4\\x82\\xc3\\x83\\x52\\x0f\\x57\\x34\\x92\\xc7\\xa8\\x04\\xb3\\x15\\x71\\xd2\\x61\\x56\\x51\\x19\\x5e\\x9e\\x73\\x71\\xd1\\x98\\xc3\\xe5\\x32\\x5b\\x2c\\xf6\\x68\\xcc\\xc2\\x32\\x0c\\x65\\xb6\\x50\\x98\\x9b\\xff\\x73\\x09\\xf2\\x44\\xda\\xe6\\xa6\\x04\\xa5\\x42\\x0c\\x77\\xf4\\x49\\x00\\x7b\\xa5\\x56\\x78\\x70\\xf1\\x6f\\x4f\\x8a\\xcf\\xe5\\x3d\\x6b\\x9a\\x30\\x7a\\xdb\\xc9\\x95\\x73\\xef\\x1c\\x1b\\x6d\\xba\\x48\\x8e\\x72\\x89\\xfd\\x7b\\xcf\\xb8\\xbd\\xe9\\xc3\\xbd\\xcf\\x89\\x3f\\x3c\\x0c\\x5c\\x86\\xfe\\xbd\\x00\\x79\\xee\\xde\\x35\\x3e\\x71\\x0c\\xd5\\x7a\\x95\\x38\\x3d\\xf8\\x21\\xc6\\x18\\x13\\xc7\\x4b\\x18\\x63\\xd9\\xc4\\x94\\x48\\x5b\\x48\\xf0\\xd0\\x46\\xd9\\xec\\x6c\\x56\\x00\\xfa\\xb4\\x3e\\x0f\\xc6\\x3b\\x71\\x79\\x28\\x3b\\x6d\\xcf\\x45\\x22\\x9d\\x93\\x15\\x70\\xa9\\xa0\\x8c\\x2d\\x86\\xf4\\xae\\xd7\\xef\\x77\\xd7\\xc7\\xfc\\xbc\\x8d\\xd3\\xc0\\x6c\\x5a\\x81\\xa2\\x95\\xa7\\x15\\x24\\x04\\x31\\x1c\\x0e\\xff\\xf7\\x56\\xe6\\x3f\\xc7\\x12\\x93\\x3a\\xd4\\xfe\\x4f\\x78\\x62\\x1b\\x7b\\x03\\xd7\\xed\\xc8\\xdd\\xf2\\x8b\\x97\\x9c\\x53\\x0a\\xfe\\x3b\\xa6\\xd8\\xb3\\x65\\xf1\\x47\\x31\\xc8\\x0a\\x79\\x40\\x67\\x91\\x70\\xc5\\x6e\\xec\\x12\\xc7\\xd3\\xb8\\xf7\\x25\\x84\\xd7\\x4f\\x12\\x26\\x88\\xae\\x0c\\x9b\\x31\\xd3\\x0f\\xbd\\x1a\\xaf\\x5b\\xea\\xf1\\x76\\xe3\\x1e\\xef\\x1c\\xe4\\x26\\x66\\x67\\xfa\\x9d\\x34\\x29\\x37\\x76\\x1b\\x8d\\xea\\x0c\\x9f\\xcf\\x55\\x17\\xf3\\x59\\xac\\xac\\x9a\\x0d\\x51\\x96\\xff\\xa7\\xf5\\xff\\x59\\x2b\\xb7\\xb4\\x7a\\xa5\\x9d\\xbb\\x7f\\x75\\x5e\\x73\\x3b\\x77\\x7e\\x45\\x45\\xb1\\xdc\\xce\\xdd\\x1b\\x18\\xa4\\x5e\\xe0\\x97\\x06\\x4f\\x78\\x2a\\xea\\xbb\\xb9\\xa5\\x7b\\xc2\\xf0\\x50\\x5a\\x4b\\xb7\\x58\\x8d\\x3b\\xa6\\x94\\xb6\\x6e\\x40\\xb4\\x41\\x67\\xed\\xef\\xf4\\x26\\xa2\\x8a\\x98\\x16\\x69\\xa7\\x0d\\x85\\x7c\\x18\\x53\\xcd\\x58\\x95\\x5b\\x51\\x51\\x55\\xe2\\x84\\x74\\xb5\\xe0\\xf3\\xb5\\x2e\\x0a\\x37\\xc4\\x4a\\x8a\\x5c\\xc1\\x04\\xb8\\x1a\\xe1\\x76\\x38\\xdc\\x6e\\x2b\\x1e\\x5e\\x52\\x95\\x8b\\xf1\\x30\\x63\\x09\\x04\\x35\\x25\\x80\\x97\\x44\\x23\\x28\\x4e\\x4c\\x29\\xce\\xbf\\x19\\x37\\xef\\x7f\\xe0\\xa8\\xf1\\xfe\\x14\\x18\\x35\\x69\\x82\\x45\\x12\\x59\\xab\\xbc\\x2c\\x9b\\xac\\x93\\x60\\xd5\\x2a\\x5e\\x58\\x7f\\xe0\\x64\\x1a\\xac\\xda\\x36\\xf0\\xe4\\x82\\x0b\\x12\\xaa\\xda\\xb9\\x7d\\xdc\\x13\\x1b\\x26\\xf6\\x71\\xf6\\x1d\\xd0\\x7f\\xa0\\x0a\\x03\\xac\\xad\\x9b\\xf3\\xd0\\xaa\\x66\\x80\\x35\\x30\\x70\\xf0\\xd6\\x06\\x9c\\x9f\\xdd\\x31\\x6d\\xd7\\x67\\x59\\xed\\x7a\\xac\\x7c\\x28\\x6b\\x49\\xf0\\x8e\\xc6\\x2c\\x8f\\xd2\\xeb\\x8e\\xce\\x30\\xee\\x75\\xaf\\x24\\xe6\\x44\\x22\\x9a\\xcc\\x4c\\xb7\\xc5\\x6a\\x2d\\xf2\\xf9\\xfd\\xd9\\xd9\\x65\\x65\\x15\\xfa\\x22\\x0a\\x72\\x6e\\x77\\x35\\xac\\x2a\\x68\\x15\\x8d\\x15\\x15\\xb8\\x52\\x7a\\xdf\\x93\\x6d\\xef\\x15\\xd9\\x04\\xa1\\xaa\\x6b\\xee\\x7c\\xff\\xef\\xac\\xb9\\x89\\x39\\xff\\x3f\\xfa\\xe0\\x5b\\x32\\xe7\\x7f\\x34\\xc6\\xdf\\x3d\\x8d\\x4f\\x32\\x86\\x09\\x48\\x5d\\xf2\\x13\\x1a\\x6e\\xd9\\x25\\x3f\\x79\\x6b\\x56\\xd7\\x04\\x63\\x02\\x7e\\x2a\\x81\\x4f\\x85\\xb1\\xdc\\x6c\\x44\\xdf\\x48\\xb6\\x8e\\xe7\\x48\\xab\\xd5\\xc6\\x19\\x6c\\x06\\x3b\\xa3\\x56\\x3b\\x6c\\x3c\\xaf\\xb3\\x90\\x96\\x86\\x18\\x49\\x12\\xac\\x49\\x42\\x77\\xe1\\x19\\x09\\xc8\\x2d\\x79\\x1e\\x14\\x36\\xb4\\xe8\\x75\\xbf\\x09\\xc6\\x2d\\xe5\\xd8\\xa7\\x41\\xb9\\x35\\x1f\\xf2\\x77\\xd1\\x21\\x4f\\x83\\x73\\x4b\\x9e\\xe9\\x1d\\xe8\\x4c\\xcf\\x95\\xf5\\xf0\\x78\\xa9\\x3f\\xdf\\x9a\\xa0\\xd5\\x62\\xb1\\x72\\x06\\xab\\xc1\\x86\\x68\\xb5\\x5b\\x2d\\xbc\\xce\\x4c\\x9a\\xeb\\x12\\xb4\\xa2\\xc3\\x6c\\x61\\x94\\x69\\xc7\\xff\\x93\\x56\\x59\\x45\\xd5\\xa4\\x1e\\x52\\xa5\\x39\\xbf\\xb2\\xae\\xb1\\xcf\\x6b\\x29\\x07\\x32\\xd9\\xa0\\x9f\\xd7\\x30\\xea\\xe7\\x94\\xf3\\xa7\\xf4\\xe8\\x27\\xb1\\xf1\\xec\\xc4\\xf0\\x48\\xb1\\xd5\\x6c\\x82\\x9c\\x8d\\x62\\x48\\x2d\\x69\\xb3\\xd9\\x39\\xd6\\xce\\x3a\\xb4\\x3a\\x9d\\xd3\\x6c\\x32\\x5a\\x49\\x6b\\x43\\x8c\\xa1\\x48\\x81\\xa4\\x69\\x52\\x80\\x9c\\x9d\\xd7\\xca\\x7c\\x0d\\x2b\\x4e\\xa6\\xa2\\x67\\x6e\\xc6\\xc7\\x53\\x54\\x0c\\x22\\x18\\xbb\\x17\\x52\\xf2\\x43\\x82\\xc9\\x43\\x44\\xab\\x14\\xee\\xd6\\x14\\xf7\\x99\\xd6\\xd6\\x55\\x03\\x1a\\x65\\x06\\xdf\\x76\\x49\\xbc\\x52\\x3b\\x2d\\xda\\x51\\x61\\x2f\\x0b\\x36\\x88\\xe7\\x5c\\x5d\\xc0\\x63\\x98\\xc5\\xd7\\xe3\\xe4\\x04\\x71\\x2d\\x78\\x94\\xc5\\x1c\\x4e\\xc5\\x40\\xb0\\x62\\xfa\\xcd\\x3c\\x0b\\x8d\\x16\\x86\\x52\\x93\\x98\\xd5\\x46\\xcc\\x6a\\xb5\\x46\\x63\\xe7\\x59\\xbd\\xc4\\x69\\x44\\xbf\\x09\\xd3\\x6f\\x82\\x46\\xab\\x45\\x2d\\xf3\\xfa\\xff\\x48\\xbf\\x20\\xd3\\xcf\\x28\\x08\\x17\\x3a\\x20\\x53\\x8f\\x18\\x5e\\x91\\xd3\\x7e\\x42\\x3e\\x08\\x2a\\x78\\x08\\x5b\\x4b\\x27\\xd4\\x64\\x55\\x2a\\x90\\x08\\xa0\\xfd\\x27\\xa0\\x51\\xc1\\x44\\x78\\xfc\\x06\\x01\\x3a\\x33\\xe9\\x3c\\x77\\xe1\\x9c\\x9b\\xda\\x46\\x33\\x26\\x33\\x8f\\x6c\\x69\\xe0\\x74\\x39\\xd4\\x6e\\xa3\\xd1\\x63\\x36\\xd9\\xd4\\x36\\xc4\\x6e\\x17\\xe1\\x6a\\x88\\x51\\x84\\x1a\\xfd\\x21\\x05\\x07\\x2f\\x81\\xc4\\xa6\\xc3\\xc9\\xa5\\x57\\x34\\x99\\x14\\x3b\\x4b\\x71\\x19\\x6e\\x02\\x25\\x14\\x82\\x4b\\x9e\\xcc\\x3b\\x9e\\x77\\xd8\\x7d\\xb8\\x34\\x55\\xa0\\x31\\x36\\xa1\\x24\\xcc\\x6f\\x3d\\x49\\xed\\xfe\\xf0\\xc3\\x8d\\xe2\\x8d\\xa4\\x44\\x63\\x80\\x42\\x2c\\xcd\\x94\\x2d\\xc9\\x6b\\x69\\x6e\\xee\\xe0\\x48\\x31\\x03\\xd4\\x56\\x13\\x65\\xe6\\x69\\xb3\\x15\\x38\\x9c\\x76\\xb5\\xcb\\x68\\x74\\x9b\\x4d\\x56\\xb5\\x15\\x37\\x6b\\x1a\\x04\\xbb\\x85\\x71\\x12\\x4e\\xa4\\x7e\\x90\\x75\\x68\\x60\\x49\\x22\\x6d\\x12\\x52\\xa2\\x24\\xb2\\x45\\x31\\x96\\x42\\x3b\\xb6\\x26\\x9a\\xa5\\x5b\\x96\\x6c\\x21\\xf8\\xf4\\x22\\x77\\x93\\x07\\x94\\x38\\xc4\\xb7\\xa7\\x37\\xcb\\xb8\\x02\\x40\\xf1\\xc3\\x42\\xba\\x7a\\xe3\\xc6\\xc5\\xf1\\xdd\\x09\\x21\\x57\\x40\\x28\\xa8\\x97\\x24\\x19\\x79\\x16\\x29\\xc2\\x28\\xe2\\xb7\\x05\\x79\\x14\\x99\\xc0\\xac\\x33\\xea\\x8d\\x26\\xb3\\x60\\x51\\x59\\xd5\\x6a\\x9b\\x51\\x27\\x81\\x3f\\xa2\\x43\\x68\\x10\\x78\\x06\\x4a\\xf0\\x4f\\x8a\\x19\\x7b\\x0b\\x32\\xe5\\xc1\\x4d\\xb7\\xe0\\xac\\xff\\x4d\\x72\\xe1\\xec\\x5b\\x32\\xf5\\x8a\\x58\\x93\\xa6\\x24\\x92\\x2c\\xfd\\x56\\xa2\\x6d\\x06\\xe2\\xe9\\x39\\xa9\\x86\\xbd\\x73\\x24\\x13\\x12\\x06\\xce\\xc8\\xf1\\x04\\xa0\\x2d\\x1a\\xad\\x16\\xe9\\x0a\\x9e\\xe2\\xb1\\x06\\x27\\x59\\xb3\\x45\\xc3\\x92\\x20\\x1a\\x23\\xd9\\x5b\\xd1\\x96\\x32\\x9f\\x0b\\xb7\\x0a\\xb7\\x64\\x1e\\xd8\\x2a\\x5e\\x76\\x81\\x8f\\x87\\xdf\\xc4\\x37\\xf8\\xc2\\xaa\\x66\\xc5\\x90\\x00\\xee\\x90\\x75\\xec\\x9b\\x12\\xfe\\x5c\\xbf\\x48\\x3e\\x89\\x36\\x1a\\xc3\\x00\\x6a\\xb4\\x2a\\x9a\\x86\\xc8\\xfb\\xa6\\xf4\\x9c\\x56\\x6b\\xc2\\x00\\xd3\\x0c\\x43\\x68\\xd0\\x4b\\x3c\\x32\\xcb\\x75\\x49\\x54\\x69\\xee\\x74\\x82\\x38\\x90\\xda\\xa7\\x6d\\x4a\\xc4\\x77\\x53\\xc1\\xa4\\xb1\\xe6\\x82\\xf1\\x05\\x71\\xb0\\x00\\x97\\xcf\\x4d\\x27\\x6f\\x4c\\x7f\\xf9\\x0a\\x06\\xad\\x6d\\x86\\x8c\\xbe\\xe6\\xc5\\x2a\\x55\\xd1\\xa5\\x18\\x03\\x83\\xc5\\x15\\xea\\x04\\xcb\\x1a\\x49\\x1d\\xd0\\x23\\xbf\\xd5\\x60\\xd4\\xa8\\xb4\\x10\\x77\\xf6\\x19\\x21\\x67\\x02\\x48\\x8d\\x02\\xa0\\xa5\\xd0\\xf7\\x2d\\x6a\\xad\\x96\\xae\\xc3\\x93\\x15\\xd2\\xa9\\x4a\\xed\\x8c\\x4b\\x99\\x27\\x92\\xa4\\x27\\x0d\\x12\\x43\\xc2\\x20\\xd8\\x9e\\x0a\\x8b\\x21\\x43\\x0f\\xc8\\xd0\\x18\\x09\\x9c\\xc0\\x15\\x12\\x1e\\x57\\x79\\xc4\\x03\\x90\\xab\\x45\\xd1\\x46\\xad\\x96\\x95\\xd9\\x43\\x69\\xe4\\x29\\x37\\x34\\x34\\x50\\x72\\x85\\x42\\xda\\x5c\\xd0\\x74\\x76\\x60\\xb1\\x4f\\x67\\x06\\x39\\x27\\x43\\xac\\xb9\\xd2\\xcc\\x8c\\xad\\xd7\\x5c\\x49\\x4c\\x93\\xc7\\x24\\xbf\\xa8\\x3c\\x82\\x6c\\x43\\x02\\xe8\\x69\\x23\\x45\\xb1\\x06\\x16\\x68\\xf1\\xf2\\x21\\xa3\\xb7\\x40\\x55\\x34\\x06\\xd9\\x66\\xe4\\x38\\xfc\\x9c\\xfc\\x4c\\xa0\\x7c\\x5a\\x72\\xa9\\xa4\\x25\\x06\\xbe\\x74\\x89\\x97\\x0e\\x36\\xd5\\xc7\\x7f\\x48\\x2e\\x75\\xd5\\xf5\\xba\\x94\\x75\\x8a\\x83\\xd5\\x77\\xa3\\x75\\x66\\x62\\x3c\\x03\\x48\\x59\\x09\\x0b\\xa3\\x52\\x01\\x8f\\xd1\\x08\\x2c\\x14\\x95\\x15\\xb2\\x5a\\x29\\x9e\\x77\\xd4\\xc7\\x78\\x57\\xd0\\xa7\\xf3\\xa1\\xb5\\xeb\\x74\\xc8\\x52\\x47\\x4c\\xa0\\x21\\x21\\x2f\\x3d\\xd5\\xa7\\x48\\x96\\xa0\\xdc\\x3c\\x44\\x4f\\xe6\\x87\\xe2\\x10\\x59\\x6e\\xed\\x32\\xc1\\xf8\\x95\\x38\\x40\\x0e\\x30\\x4f\\xdd\\x33\\xb1\\x71\\xc4\\xd8\\xb2\\xf7\\xfe\\xda\\xd2\\x6f\\xea\\xfa\\xe8\\x8c\\x55\\xd4\\x17\\xd7\\x7c\\x88\\x6f\\xdf\\x14\\x7a\\x4c\\xd7\\xbf\\xbb\\x95\\xcf\\x94\\xe8\\x9b\\x55\\x75\\x92\\x6a\\x2f\\xeb\\x22\\x79\\x4e\\x3d\\x20\\x5c\\x82\\x4a\\xe5\\xca\\x80\\x3e\\xbf\\x5d\\x0a\\xda\\x00\\x08\\x33\\xbc\\x5e\\x77\\x5d\\xcc\\xcb\\x1a\\x0c\\x5a\\x67\\x86\\x45\\x8b\\xfc\\x27\\xad\\xab\\x99\\xb3\\xb7\\x72\\x96\\xa4\\xc2\\x79\\xcc\\xe7\\xc4\\x28\\xda\\x5b\\xb8\\x4c\\x12\\x08\\xca\\x78\\xec\\x16\\xdd\\xec\\x33\\x25\\x90\\x51\\xe2\\xdf\\x05\\x3f\\x3c\\x76\\x93\\xd3\\xa4\\xa0\\xa5\\xe0\\xfc\\xfd\\x8f\\xf4\\x16\\x69\\xbe\\x57\\x15\\x31\\x2a\\x52\\x66\\xd3\\xb6\\xca\\xc8\\xe1\\xc2\\x15\\x44\\x56\\x56\\xd8\\x9d\\xa1\\xa5\\xab\\x5b\\x07\\x0a\\xeb\\x63\\x81\\x00\\x63\\x34\\x0a\\xf5\\x31\\xce\\x48\\xb9\\x9d\\x8c\\x13\\xed\\x08\\xb2\\x18\\x72\\xf2\\xc8\\x3c\\x74\\x62\\xc9\\x44\\xe2\\x37\\x6c\\x4f\\x49\\x00\\xa7\\x8d\\x30\\x6a\\xae\\x90\\xcd\\x92\\x12\\xdd\\xe8\\x41\\xc9\\x83\\xc9\\xa3\\xae\\x95\\xf0\\x49\\xa8\\x79\\xee\\x2e\\x23\\x65\\xc5\\xa4\\xef\\xc8\\x21\\x15\\x7a\\xcb\\xec\\xbb\\xeb\\xe6\\xb7\\x5b\\xf7\\xf4\\x1f\\xe2\\xf5\\xfd\\x20\\xf3\\xa5\\xa5\\xdd\\x7a\\xb6\\xab\\x9d\\x77\\x66\\xe1\\xae\\x1d\\x6d\\xea\\xa7\\xcc\\x39\\xb7\\x64\\xd9\\xc6\\x17\\x36\\xb6\\x6a\\x3b\\xb2\\xef\\x8d\\x1e\\xf3\\x6a\\x1b\\x97\\x6e\\xef\\x9c\\xd3\\xd6\\xed\\x6f\\x07\\x8c\\xd7\\xfe\\x00\\x27\\xbf\\x2f\\x5f\\x93\\x73\\x46\\x5c\\x7c\\xec\\xe0\\x71\\x61\\xd3\\x1f\\x6f\\x82\\xd8\\x0b\\xaf\\xbc\\xf8\\xae\\x38\\x7a\\x3e\\x5f\\x0c\\x1f\\x7f\\x4c\\xfc\\xe7\\xda\\x0f\\xef\\x9c\\x01\\xe6\\xed\\x1f\\x37\\x59\\xc6\\x5f\\x80\\xc7\\xa8\\x5e\\x44\\x3e\\x51\\x81\\xeb\\x85\\x6d\\x9a\\xd2\\x0c\\x2e\\x27\\xa7\\xac\\x00\\x31\\xa3\\xcc\\x9d\\xa1\\xa1\\x2b\\xab\\x02\\x45\\x51\\xc4\\x0c\\x15\\x62\\x46\\x14\\x31\\x83\\x73\\x3b\\x55\\xf8\\x7a\\x52\\x59\\xcb\\x72\\x72\\xc9\\xdc\\x28\\x62\\x86\\xf5\\xff\\xc2\\x0c\\x53\\x0a\\x37\\x52\\x32\\xae\\x7f\\xce\\x0d\\x1b\\x62\\x46\\x99\\x3c\\xa8\\x0a\\xb1\\x03\\x3e\\xdd\\xaf\\x61\\x58\\x8f\\x21\\x63\\x9f\\x7e\\xa6\\xcf\\xca\\xc3\\x53\\xfa\\x45\\xba\\x64\\x16\\x0e\\x7d\\x64\\xc4\\xe8\\x21\\x5e\\x7b\\xef\\xc1\\x0f\\x8d\\x1d\\x3f\\x79\\xc6\\xa4\\xfc\\x4e\\x55\\x63\\x3b\\x17\\xd6\\xe6\\x15\\x0e\\x18\\x1d\\xac\\xcc\\xca\\x3a\\xff\\xea\\x5c\\x90\\x71\\xe1\\x76\\xd7\\x02\\xf3\\xe3\\xe2\\x77\\x1b\\x56\\xdf\\xa7\\x9a\\xb0\\x77\\x0d\\x80\\xcb\\x37\\x2c\\xdb\\x22\\xfe\\x6d\\x34\\xcc\\x06\\xd7\\xe6\\x4e\\x3d\\x35\\x74\\x45\\xa7\\x01\\x12\\x54\\x94\\x94\\xe7\\x1c\\x2c\\xe5\\x39\\x0b\\x70\\x84\\x18\\xf9\\x53\\x36\\xc8\\x11\\x1c\\x6f\\xa3\\x0a\\x33\\x32\\x8a\\x5c\\x81\\xfa\\x98\\xd7\\xeb\\xa2\\x0a\\x0a\\x04\\x21\\xb7\\x3e\\x06\\x05\\x41\\x6d\\x68\\x88\\x69\\xd5\\x2e\\x42\\x9e\\xa7\\xa8\\x40\\x05\\xa5\\x75\\xba\\x28\\xea\\x11\\xd9\\xfa\\x2d\\x8c\\xfc\\xe0\\x4d\\x63\\x22\\x12\\x19\\x7e\\xba\\xcf\\x98\\xff\\x3c\\xc6\\x36\\xfb\\x3e\\xae\\x03\\xe2\\x1f\\xab\\x5a\\xe6\\x47\\x3f\\x7a\\xf5\\x01\\x40\\x8c\\x06\\x75\\x9b\\x77\\x3b\\xba\\xb4\\x4e\\x98\\xf8\\x9e\\xf5\\x40\\xff\\x62\\x5a\\xb2\\xf4\\xcc\\xdf\\x36\\xde\\x9f\\x96\\x2b\\xcd\\x21\\x7a\\x47\\x72\\xb3\\x0d\\x76\\x95\\x40\\x09\\x16\\x3b\\x95\\xeb\\xf3\\x7a\\xf3\\xdc\\xc1\\x68\\xcc\\xe7\\x73\\x73\\x2a\\x0b\\x84\\x16\\x0b\\x72\\x8b\\x2d\\x56\\x1d\\x3a\\xa5\\x06\\x5d\\x62\\x61\\x89\\x12\\xd4\\xf4\\xe6\\x16\\xb9\\x35\\x49\\x6a\\x6d\\x69\\xb9\\xb8\\x96\\x9d\\xd2\\xa4\\x85\\x03\\xef\\x37\\xae\\x2b\\xda\\xda\\xf0\\x4d\\xca\\xc2\\x5e\\x3d\\x9f\\x96\\x58\\x9d\\x33\\x69\\x76\\x2b\\x51\\x0c\\x77\\x69\\x9b\\x5c\\xce\\x27\\xaf\\xa5\\xa5\\x58\\xc5\\x3f\\xe4\\x3d\\x3a\\x84\\xee\\xd7\\xe1\\x52\\x7f\\x4b\\xfb\\x88\\x8f\\x02\\x2a\\x92\\x26\\x18\\x86\\x56\\xa9\\x29\\x3c\\x84\\x93\\x50\\x6b\\xd4\\xf8\\xce\\xa0\\x90\\x7a\\xad\\x8f\\xa9\\x92\\x97\\xea\\x2d\\x07\\xbb\\x25\\x6e\\x2c\\x69\\x50\\xc9\\xfb\\xab\\x27\\xed\\xed\\xfb\\xf0\\xef\\x89\\x79\\x24\\xd7\\x8e\\xe0\\xab\\x53\\x9a\\x3d\\x22\\xdf\\x9f\\x18\\x37\\x89\\x28\\xc5\\xc8\\x0f\\x0e\\x02\\x66\\x05\\xb2\\xf3\\x43\\x21\\x6f\\x30\\x98\\x0d\\x59\\x5e\\xa7\\x0a\\x97\\x39\\x78\\x63\\x56\\x76\\x76\\xa0\\x2e\\x96\\x6d\\x71\\xa3\\x93\\xe2\\xe6\\x24\\x58\\x1a\\xce\\xc8\\x12\\x3a\\xb9\\xc0\\x2d\\xd1\\x3c\\xa8\\x78\\x27\\xa9\\x70\\x34\\x4a\\x1e\\xc1\\x2f\\x54\\x24\\xa3\\x5a\\x69\\xe1\\x56\\x5b\\xb2\\xff\\x54\\xa6\\x57\\x19\\xb2\\x82\\xde\\x47\\x3e\\x80\\x31\\x57\\xa4\\x31\\xa7\\xb7\\x00\\xa4\\x19\\x3b\\x1d\\x5d\\xbf\\x8b\\xe7\\x99\\xe9\\x5e\\x83\\xa6\\x3d\\xe3\\x9b\\x49\\xce\\xc1\\xb8\\x2b\\xc7\\x77\\xc6\\xb7\\xc3\\xfe\\x2d\\x30\\x69\\xe2\\xff\\xc4\\xd7\\x32\\x39\\xe7\\xae\\x42\\x13\\x1e\\x87\\x1a\\x7f\\x02\\xaf\\xf9\\x28\\xba\\x27\\x19\\xc4\\x67\\x35\\x9e\\x5d\\xa4\\x46\\x96\\x3f\\xe2\\x29\\x1e\\x5e\\xa0\\x61\\x18\\x2d\\x4d\\xaa\\x21\\x50\\x41\\x08\\xa4\\x79\\xdd\\x98\\xa9\\x20\\xa5\\xa7\\x53\\xe9\\x6f\\x10\\x40\\x18\\xfd\\x0f\\xc8\\x82\\x63\\x53\\xc5\\x4f\\x4e\\x5e\\x06\\x9f\\x5e\\x8a\\x6f\\x24\\xbb\\xc1\\xd6\\xf1\\xdb\\xc9\\x4d\\xd7\\x8f\\xcb\\xf5\\x81\\xe2\\x60\\x6a\\x34\\xd2\\xc6\\x7a\\xa2\\x20\\x62\\xd6\\x93\\xe8\\xce\\xd7\\x6a\\x75\\xe8\\x33\\x30\\x2a\\xa7\\x16\\xb2\\x40\\xaa\\x8e\\xbd\\xf9\\x77\\x23\\xff\\x01\\xe2\\xd2\\xc4\\x0a\\x6c\\x47\\x82\\x07\\x9b\\xfa\\xbd\\x7e\\x64\\xbc\\x1d\\x96\\x46\\xc0\\x3d\\xaf\\xc7\\xef\\x13\\x07\\x83\\x67\\x90\\xf2\\x1f\\xdd\\x94\\x37\\x69\\x32\\xb9\\x0d\\x23\\x99\\x21\\xf9\\x57\\xd6\\xc2\\xe1\\xd9\\x6e\\xac\\x5e\\x03\\x90\\x31\\xc6\\x30\\x6a\\x88\\x5c\\x35\\x0e\\x9a\\xd4\\x6a\\x5e\\x8f\\xce\\x39\\x92\\x1b\\x3c\\x2e\\xc9\\xc8\\x33\\xb2\\xab\\x80\\x2d\\xee\\x9b\\x8a\\x87\\xe5\\x5a\\x6b\\xd9\\x90\\x95\\x2a\\x14\\xc3\\x40\\x31\\x06\\x1a\\x40\\x8f\\x9f\\x4e\\x1e\\x71\\x74\\x00\\xdb\\xde\\x13\\x75\\x20\\xe2\\x11\\xc7\\xde\\x75\\x74\\xaa\\x38\\x9a\\xfc\\x82\\x7c\\x22\\x7e\\x62\\xdc\\x58\\xb2\\x43\\xbc\\xfe\\xa1\\xf8\\x21\\xb2\\x16\\xc7\\x27\\x3e\\x55\\xd6\\xcd\\x13\\x7d\\x22\\x21\\xa3\\x4e\\xa7\\x32\\x01\\xa0\\x52\\x41\\x64\\x26\\x42\\x92\\xd4\\xf3\\x5a\\xad\\x99\\x17\\x38\\x97\\x86\\x64\\x8d\\x3c\\x1e\\x90\\xa7\\x53\\xc9\\xbd\\x3c\\x09\\x24\\xad\\x04\\x6e\\x79\\x33\\x49\\x09\\x55\\x13\\xf4\\x37\\x33\\x46\\xa1\\x4b\\x0d\\xda\\xbd\\x7e\\x64\\xa2\\x49\\x5d\\xd8\\x05\\xcc\\x3f\\x15\\xbf\\x0f\\xb4\\x77\\x89\\x27\\xab\\x9a\\xaa\\xc4\\x93\\x88\\x49\\x03\\xe6\\xf7\\x1b\\x33\\x07\\x33\\x69\\xa5\\xf8\\x25\\xf0\\xca\\xb1\\x93\\xcb\\x0a\\x86\\x35\\x8b\\x75\\xa0\\x8a\\x66\\xf5\\x7a\\x2d\\x03\\x28\\x5a\\x85\\xa1\\xe9\\x71\\xdf\\x2c\\x47\\x69\\x19\\x2d\\x80\\x84\\x9a\\x86\\xf0\\x56\\xc6\\xab\\xc4\\xa8\\x16\\xc3\\x07\\x90\\x38\\x68\\x40\\x50\\x23\\x41\\x8a\\x6b\\xa4\\xf0\\x00\\xfc\\x9b\\xf8\\x6e\\xfc\\xf7\\x4b\\xe4\\x5a\\xf1\\xb9\\x37\\x90\\x7e\\xfc\\xf8\\x52\\x7c\\x17\\xf0\\xae\\xc0\\xd6\\xeb\\xc8\\xf8\\x93\\xe4\\xf7\\xe4\\x83\\xf1\\xcb\\x64\\x76\\x7c\\x78\\xfc\\x35\\xc9\\x82\\xc5\\x74\\xed\\x41\\x36\\x6c\\x5b\\xc9\\x86\\xfd\\x5f\\x74\\xb1\\xd0\\x82\\xe9\\xaa\\x8b\\x11\\x96\\xff\\x4d\\x17\\x94\\xe8\\xc2\\x82\\x2a\\x85\\x02\\xc8\\x93\\xef\\x8a\\x4b\\xde\\x00\\x3f\\x8a\\xff\\x7e\\xe5\\x55\\x30\\xf2\\x82\\x98\\xff\\xe1\\x18\\x74\\x8a\\xc0\\x51\\xb1\\x33\\x59\\x40\\x1a\\xc5\\x61\\x60\\x47\\xfc\\x77\\x71\\xa0\\x04\\x5b\\x24\\xeb\\x22\\xd5\\x15\\x89\\x57\\xb5\\x91\\x10\\xb2\\xa7\\x8d\\x3a\\x35\\xa0\\xf5\\x8c\\x46\\x43\\x1b\\x0d\\x2c\\xcd\\x99\\xd4\\x94\\x81\\xaa\\x8f\\xe9\\x0c\\x3c\\x3a\\x2b\\x2c\\xc1\\x2a\\xde\\x91\\xb4\\x8b\\x35\\xa7\\xd3\\xe3\\xc3\\x49\\x27\\x4e\\x0a\\xf3\\x2b\\xe6\\x34\\xb2\\xe7\\x3e\\x40\\xea\\x48\\x74\\xbf\\x47\\x9e\\xb8\\x82\\xac\\xfb\\x49\\x4d\\x7d\\xaf\\x9d\\xbb\\x22\\x7a\\xe8\\x45\\x5b\\xaf\\x1d\\xc1\\xd8\\xd2\\xb2\\x92\\x92\\xce\\xd2\\x10\\xc4\\x9f\\xaf\\x11\\x7f\\xfc\\xc4\\x90\\x48\\x71\\x06\\x74\\x12\\x1e\\x1f\\x67\\xd4\\x09\\xac\\x56\\xaf\\x17\\x38\\x8f\\x93\\x0e\\x04\\x89\\x0c\\x6f\\x46\\x34\\x66\\xb6\\x79\\x59\\xa3\\x02\\x43\\x86\\xfb\\x1b\\x39\\xe4\\x1c\\x11\\x35\\xcd\\xca\\x09\\xc9\\x7d\\x0b\\xca\\x52\\x34\\xe6\\x7f\\x03\\x1f\\xc3\\x7a\\x94\\x74\\x8f\\x56\\x12\\x9c\\x2f\\x3f\\x90\\x06\\x40\\xd6\\x28\\xfe\\xe2\\x22\\xbf\\x72\\xc1\\x3d\\x22\\xf3\\x27\\x30\\x64\\x60\\xf5\\x6a\\x19\\xcb\\x1c\\xc9\\xdf\\x6d\\xd2\\xfc\\xa1\\xee\\x91\\x2c\\x8d\\xc1\\x40\\xdb\\x2d\\xff\\x1f\\x67\\xef\\x01\\x18\\x55\\x95\\xfd\\x8f\\xbf\\xfb\\xee\\x7b\\xf3\\xa6\\xf7\\xde\\x32\\x93\\x49\\x25\\xa4\\x90\\x81\\x84\\x40\\x48\\x86\\x1e\\x29\\x21\\x09\\x25\\x19\\x52\\x08\\xbd\\xf7\\x2e\\x84\\xde\\x7b\\x11\\xa4\\xcb\\x82\\x20\\x22\\xa2\\x54\\x03\\x28\\x88\\x05\\x45\\x41\\x2c\\x5f\\x65\\x5d\\x60\\x71\\x2d\\x08\\x82\\x75\\xd5\\x75\\x85\\xbc\\xfc\\xef\\xbd\\xef\\xbd\\xc9\\x24\\xc0\\xee\\xfe\\x7f\\xeb\\x42\\x86\\xc9\\xcc\\xbb\\xe7\\x9e\\x7b\\xea\\xbd\\xe7\\x7e\\x8e\\xd3\\x61\\xb6\\x5a\\x9d\\x2c\\x74\\xb9\\x1b\\x00\\xcd\\xed\\x4e\\x27\\xca\\x36\\x9d\\x46\\x13\\x81\\x34\\x6f\\xbc\\x63\\xfb\\x50\\xf4\\xf5\\x48\\x58\\x73\\x61\\x0a\\x8f\\x80\\x36\\xff\\x65\\x15\\xe2\\xf3\\xe6\\x47\\xa0\\x9b\\x47\\xf2\\xa9\\xe5\\xfc\\x08\\x82\\x95\\xe6\\x42\\xfe\\x34\\x91\\x82\\xd0\\xae\\x53\\x1b\\x8c\\x7a\\xbd\\x4a\\xa3\\x31\\xd8\\xa1\\xdb\\x63\\xb4\\xc8\\x2c\\xb8\\x2e\\x52\\x66\\x50\\xba\\x74\\xd2\\xf6\\x94\\x24\\x8a\\xc1\\x87\\xa9\\x8c\\x82\\x4f\\x88\\xc2\\xdb\\x12\\xac\\xfd\\xa3\\x40\\xd4\\x4e\\x61\\xcb\\xbe\\xf8\\x51\\x40\\x6a\\x62\\x82\\xd5\\x00\\xa6\\xd6\\x80\\x0d\\xef\\x42\\x31\\x7a\\x0a\\x6b\\xa4\\x2d\\x94\\x4d\\xe6\\xd4\\x3b\\x5d\\x76\\xbb\\x5e\\x2e\\x77\\xb8\\x1d\\x1e\\x9a\\x62\\x8d\\xec\\x80\\xb0\\xcd\\x82\\xf2\\x65\\x93\\xc9\\xc8\\x40\\x95\\xcb\\x68\\x57\\x09\\x26\\xb0\\xd1\\xfe\\x8e\\x64\\x88\\x33\\xf1\\xff\\x85\\x5c\\x88\\x38\\x2b\\x5c\\x3d\\x25\\xb1\\xd6\\x86\\x7e\\x4a\\x98\\xf1\\xb5\\x13\\x5b\\xce\\x0a\\xbe\\xf1\\xa6\\xc0\\xda\\x6f\\xca\\x67\\x95\\x6f\\xde\\x20\\xe2\\xc6\\xa7\\x28\\xf9\\x5f\\x91\\xe7\\xde\\xb5\\x39\\xc2\\xdf\\x7d\\x32\\xf0\\x29\\x9f\\xa1\\xf6\\x8b\\x10\\xf2\\x51\\x78\\x74\\x78\\x9f\\xa7\\xb9\\x99\\x35\\xc8\\x75\\x4a\\x19\\xca\\x58\\xd5\\xc8\\x5c\\xaa\\xa1\\x5d\\x6d\\xf7\\xb8\\x0d\\x3a\\x33\\x6b\\xc6\\x50\\x15\\xac\\x89\\x95\\xc9\\x58\\x13\\x52\\x3f\\x97\\x4e\\x6b\\x11\\x5d\\x52\\x34\\xe1\\xd1\\xe8\\x8d\\x52\\x16\\x27\\x6b\\x20\\x16\\xef\\xa6\\xe1\\xfb\\x6a\\x51\\x9c\\x5e\\x98\\x3b\\xa1\\x4d\\xc7\\x31\\x04\\xaf\\x6e\\x68\\x51\\xf2\\x84\\x78\\x7d\\x03\\xa7\\xa7\\x28\\x40\\x06\\xff\\xa9\\x3c\\x56\\x80\\xad\\xcb\\x34\\x7f\\x74\\x3e\\xc2\\x6b\\x94\\xcf\\x32\\x9f\\x11\\x1c\\x7e\\xe4\\x33\\x35\\x2c\\x46\\xe2\\x67\\xcd\\x76\\x9b\\x51\\x47\\x63\\xdd\\xa7\\x69\\xb3\\x05\\x2a\\xcc\\x46\\xc9\\xb9\\x3c\\x8c\\x9f\\x17\\x17\\x01\\x9a\\xc8\\x03\\x12\\xd2\\x04\\xb2\\x4c\\x87\\x00\\xdd\\x44\\x44\\x81\\xe1\\x2c\\x5c\\x4c\\xe4\\xb3\\xee\\x06\\x1d\\x10\\xe4\\xb3\\x4e\\xcd\\xce\\x17\\xb1\\x24\\x2c\\x04\\xdb\\xa4\\x3b\\x39\\xb7\\x76\\xd7\\xdf\\x93\\x3d\\x85\\x62\\xda\\x00\\x8a\\xee\\xfb\\x84\\x52\\xec\\x26\\x1d\\xe5\\x92\\x27\\x27\\xfb\\xfd\\x2e\\x13\\x6c\\x9e\\x4a\\xe9\\x9d\\xc8\\xf1\\x25\\x5a\\x9d\\x21\\x0e\\xe5\\x37\\x2a\\xaf\\x37\\xae\\x3a\\xec\\x65\\x54\\xd8\\x6a\\x99\\xa2\\xee\\x3b\\xa0\\x30\\x3e\\xdd\\xa9\\xff\\xe0\\xa1\\xdb\\xe9\\xc2\\xf1\\x60\\xa4\\xbb\\x19\\x81\\xf4\\x16\\xb8\\x18\\x44\\xfc\\x6d\\x8b\\xe2\\x03\\x02\\x4f\\xce\\x01\\x7c\\xa5\\x3b\\xbb\\x65\\x02\\xf8\\x89\\xf9\\xfc\\xdc\\xae\\x7b\\x55\\xcb\\xa7\\xf3\\xef\\x7f\\xc4\\xdf\\xe6\\x3f\\x80\\xae\\x69\\x8b\\x52\\x9f\\x4b\\x1d\\xe6\\xe9\\x0c\\x9e\\x07\\xc9\\x40\\x05\\x9a\\x7b\\xeb\\xae\\xff\\x8d\\xbf\\xd4\\x16\\x5e\\x65\\x3e\\xa5\\x27\\xf5\\x7c\\xe3\\xda\\x9c\\x79\\x65\\xcf\\x6d\\x07\\xcd\\x81\\xa9\\xeb\\x84\\x21\\x65\\xbd\\xba\\x86\\xfa\\xa1\\xd7\\xfd\\xf9\\xff\\xe3\\x7f\\x9c\\x3e\\x81\\xde\\xc0\\xff\\x71\\xaf\\xf0\\x9d\\x9b\\xe4\\xec\\xfb\\xb7\\xfa\\x7b\\xcc\\xbb\\xa4\\xdf\\x6c\\x73\\xdc\\x2f\\x88\\x36\\x50\\x6e\\x45\\x42\\x42\\x6c\\x2c\\x12\\x13\\x26\\xcd\\x69\\xb7\\x58\\x52\\x29\\x83\\xdb\\x50\\x14\\x6e\\x6e\\x73\\x87\\xe4\\x6e\\xb9\\x5b\\x1d\\x13\\x83\\x12\\x97\\x18\\xbd\\x9a\\xc5\\x58\\x2e\\x0f\\xcd\\xf5\\x52\\x54\\xdf\\xc1\\xc6\\x15\\xe9\\x92\\x8a\\xda\\x24\\xd5\\x6c\\x98\\x70\\x50\\xec\\xe8\\xcc\\x25\\x66\\x8b\\x15\\xba\\x7f\\x51\\x2c\\x5e\\x52\\xb5\\xa3\\xc5\\x8a\\x5e\\x5f\\x6c\\xbf\\x78\\x93\\x95\\x4f\\x98\\x83\\x27\\x9b\\x05\\x7c\\xe7\\x2e\\x7f\\x6d\\x7f\\x86\\x99\\x3f\\x73\\xc9\\x2b\\xf1\\xe0\\x5f\\x99\\xf9\\x8b\\xd7\\xf4\\x0f\\xe7\\x2f\\x9b\\x7c\\xf3\\xbd\\xc4\\xdc\\xea\\x01\\x64\\x96\\x57\\x7f\\xbf\\x72\\x66\\xe4\\x90\\x15\\x05\\xb3\\x17\\xbd\\xb0\\x53\\x58\\x47\\xfe\\x7d\\xb2\\x8e\\x09\\x54\\x1a\\x35\\x32\\x94\\xed\\x72\\x58\\x11\\x77\\xbd\\x1a\\x95\\x56\\xde\\xbc\\x79\\x5c\\x9c\\xd6\\x6b\\x34\\x58\\x65\\xe9\\x19\\x94\\xc9\\x83\\xd2\\xd5\\x66\\x0e\\x4f\\x88\\xf3\\x70\\x1e\\x95\\xdf\\x9f\\x58\\x1d\\xf6\\x33\\x5a\\x8d\\x2a\\xd4\\xb0\\xa6\\xf8\\xfe\\x58\\xf0\\xbf\\xad\\xab\\x64\\xf2\\x1b\\x16\\x17\\x8b\\x25\\xb9\\xae\\xff\\xbf\\xac\\xef\\x04\\xfe\\xda\\xa9\\x9c\\x75\\x39\\xf7\\xea\\xfe\\xa7\\x05\\x7e\\x66\\x3b\\xc7\\xff\\x1d\\x24\\x38\\x40\\xe2\\x9f\\xff\\x61\\x95\\xd1\\x1a\\xf3\\xef\\x91\\x35\\x4e\\xa4\\xd2\\xa9\\x51\\xa1\\x2c\\x2a\\x3d\\xdd\\x1c\\xa3\\x55\\xeb\\x14\\xc9\\xc9\\xf1\\xf1\\xba\\x18\\xd8\\xc2\\x83\\xac\\x5a\\x06\\x65\\x8e\\x41\\x56\\x21\\xdd\\x19\\x13\\x92\\xc7\\xc8\\x63\\xd4\\xb1\\xb1\\xcd\\x51\\xea\\xaa\\xd7\\x69\\xd5\\x21\\x35\\x5b\\x2c\\x2e\\xf5\\x43\\x2c\\x78\\xe4\\x72\\x47\\x24\\x3c\\x6a\\xc9\\x23\\x06\\xef\\x7f\\x59\\xf5\\xae\\xef\\x2e\\x6a\\xbd\\x26\\x67\\xcf\\xcb\\xff\\x65\\xe1\\x67\\x4d\\x55\\xf0\\xd7\\x41\\x92\\xed\\xea\\x89\\xc7\\x2d\\xff\\xc3\\x7d\\xfe\\x84\\xbe\\x52\\xa4\\x8f\\xcf\\x3b\\x02\\xa6\\x0b\\xfd\\xaa\\xd8\\xc7\\x27\\x8e\\x4d\\x00\\xaf\\x27\\xa6\\xb3\\xf6\\x46\\x18\\x30\\x04\\x07\\x1b\\x63\\xc0\\xc0\\x6f\\x45\\x7c\\xe4\\x0d\\x62\\xcd\\x6f\\xc0\\x90\\x00\\x96\\x27\\xa4\\x31\\xb6\\x46\\x35\\xbf\\x21\\x94\\x0b\\xdb\\xc8\\x39\\x7e\\xd7\\x50\\xbc\\xdf\\x12\\xeb\\x96\\x6b\\xb5\\x2a\\x80\\x48\\x08\\xc4\\x59\\xad\\xb1\\x46\\xda\\x57\\x1d\\x56\\xd1\\x34\\x15\\x6b\\x34\\xda\\xf1\\xce\\x55\\xc3\\x49\\x91\\x68\\xdb\\xa2\\xb7\\xa8\\x44\\x59\\x92\\xce\\x88\\x94\\x80\\x9c\\x0b\\x8a\\xdb\\x53\\xd2\\xcd\\x15\\xdc\\x28\\x19\\x14\\x9f\\x9b\\xd9\\xb9\\x7c\\xc4\\x1e\\x20\\xff\\xe0\\xd7\\x7f\\x17\\xdc\\xfa\\x61\\x2f\\x32\\x13\\xaf\\xdc\\x49\\x3c\\xd8\\xe1\\x1f\\x1b\\xae\\xcd\\xf8\\xe8\\x9d\\xaf\\x6a\\xf0\\xa1\\xc6\\xc6\\x40\\xd5\\x19\\xd0\\x82\\xbf\\xc5\\x7f\\x91\\x6d\\xfe\\xe9\\xda\\x75\\xfe\\xc4\\xb1\\x55\\xcb\\x92\\x9e\\xdb\\x0c\\xd4\\x7b\\x9e\\x3b\\x52\\x37\\x03\\xd3\\xee\\x41\\xf1\\xb5\\x82\\xc4\\x42\\x3d\\x42\\x49\\x9c\\xcc\\x68\\x8a\\xd1\\x68\\xdc\\x14\\x65\\xb1\\x9a\\x64\\x28\\x0e\\x8a\\xb1\\x5a\\x0d\\xc5\\x61\\xab\\xd5\\xe4\\x32\\xe3\\x13\\x7c\\xd3\\x43\\x27\\xf8\\x11\\xd0\\x81\\x46\\x1b\\x17\\x0f\\x9f\\xdf\\x93\\xd6\\xce\\x51\\x87\\x49\\x5e\\x00\\x8f\\xce\\xff\\x79\\x37\\xbf\\x2f\\xe9\\x05\\xf3\\xf0\\x81\\x3b\\xdf\\x3c\\xf7\\xd2\\xe0\\x4a\\xe4\\x41\\x22\\x5b\\xc7\\xc3\\x72\\xf7\\x1f\\x3b\\x7d\\x84\\xbf\\xb3\\x1d\\xb8\\x34\\x65\\x5d\\x01\\xf8\\x6c\\xd5\\x4e\\xde\\xd7\\x70\\xbc\\x34\\x33\\xcd\\xfb\\xa9\\x10\\x83\\x6f\\xe4\\x87\\x91\\x7e\\x46\\x36\\xaa\\x5b\\xc8\\x68\\x35\\x1a\\x2d\\x36\\x9b\\xdc\\x44\\x19\\x0c\\x0e\\xb9\\x1d\\xbd\\x34\\xe2\\x52\\x3b\\x7d\\xd8\\x66\\x14\\x5a\\x2e\\xe2\\xce\\x46\\x72\\x99\\x49\\xca\\xd6\\xa5\\x38\\x4e\\x8c\\x75\\x83\\xc6\\x48\\x09\\xc5\\xc3\\xad\\x16\\x49\\xbd\\x9a\\xd8\\xe4\\xe8\\x85\\xb9\\xa4\\xc9\\x51\\xd7\\x09\\xf3\\x47\\xec\\x87\\xc5\\x42\\xb5\\xdd\\xd3\\xd1\\x8d\\x8e\\x96\\x81\\x56\\xa0\\x2d\\xe0\\x85\\x22\\x3b\\x81\\xce\\x5d\\xfc\\x45\\x82\\x51\\x6d\\xa3\\x3a\\x84\\x62\\x2d\\x14\\x0d\\x20\\xb4\\x9a\\x69\\xb3\\xca\\xa1\\xb2\\x9b\\x98\\xe2\\xb0\\x49\\xa7\\xd0\\xa2\\xec\\x85\\x52\\x58\\x69\\x4b\\x49\\x98\\x16\\xfb\\x06\\x5f\\x08\\x36\\x5c\\xf5\\xc9\\x89\\x2a\\x05\\x04\\x38\\x17\\x8f\\x42\\xc6\\xca\\xa3\\x71\\x8e\\x05\\xe8\\xc5\\xef\\xd5\\x34\\xc2\\xac\\x4e\\x68\\xdb\\xa1\\xea\\x08\\xfd\\xec\\xb1\\xc3\\xfc\\x97\\xfc\\x45\\x90\\x1d\\x85\\x5d\\xdd\\x66\\xfe\\x03\\xda\\x88\\xcb\\xe5\\xc4\\x3d\\x57\\xf6\\x32\\xf1\\xc5\\x5d\\x42\\x71\\x94\\xd5\\xaa\\x50\\x72\\x6a\\x8d\\x92\\xb1\\xe9\\xf5\\x76\\x8a\\x32\\x2b\\xcd\\x70\\x40\\xd8\\xec\\xd2\\xc8\\x07\\x84\\x35\\x1a\\xa5\\x4e\\x05\\x95\\x42\\x2a\\x9b\\x93\\x1e\\x75\\xc7\\xaf\\x71\\x5b\\x63\\x72\\x53\\x8f\\xb0\\x4d\\xda\\x81\\xa7\\x91\\xf5\\x83\\xbf\\xc4\\x6c\\x5f\\xf2\\x7f\\xbf\\x64\\x15\\x46\\x6d\\x3d\\x9f\\xfd\\x2a\\x9f\\x7f\\x86\\xbf\\xc9\\x8f\\xe8\\x31\\x22\\x5c\\x4c\\xd5\\x03\\x23\\x58\\x13\\xd9\\x92\\x1f\\xc3\\xd7\\xf2\\x47\\x71\\xab\\x66\\x4c\\xa3\\x03\\xc9\\x69\\x47\\x72\\xfe\\xd6\\x31\\x14\\x50\\x28\\xf5\\x98\\x42\\xd6\\x8e\\x88\\xb5\\x09\\x24\\x16\\x11\\x12\\x8b\\x31\\x89\\x7a\\x95\\x4e\\x69\\x79\\x34\\x89\\x52\\x03\\x5f\\x9b\\x50\\x67\\x18\\x01\\xde\\x42\\x04\\x62\\x71\\x7d\\xcb\\x30\\xb2\\x7c\\xf6\\xfa\\xb8\\x12\\xde\\x21\\x40\\x6e\\x7d\\x1b\\x3e\\x7e\\x21\\xf3\\x87\\xf7\\xf8\\x97\\x9b\\xcd\\xef\\xd3\\xfd\\xd0\\x19\\xb0\\x3f\\x02\\xb7\\xc5\\xf2\\xf5\\xdf\\x02\\x17\\xe1\\xdd\\x30\\xf1\\x0c\\xa3\\x20\\xe4\\x97\\x63\\x38\\x4b\\x95\\x16\\x25\\xe9\\x78\\x7f\\xbe\\xe1\\xf8\\x82\\x51\\xb0\\x50\\xcb\\x18\\x29\\x15\\x12\\xc7\\xa3\\x91\\xb6\\x98\\x17\\xa2\\xce\\x2f\\xa2\\x9b\\x95\\x34\\x3a\\xb9\\x00\\x0f\\x9d\\x5c\\xfc\\x4c\\xe4\\x2d\\xea\\xe8\\x42\\x94\\x32\\xbc\\xf7\\x72\\x51\\x3c\\xbb\\xc0\\x79\\x1f\\x64\\x54\\xf8\\x68\\x82\\xc6\\x29\\x16\\xa0\\x58\\x86\\x35\\xe8\\x9b\\x1e\\x5b\\x94\\xfc\\xe7\\x63\\x0b\\x29\\x95\\x91\\x08\\x69\\x74\\x64\\x81\\x85\\xea\\xc8\\x7b\\xb3\\x1b\\x9d\\x59\\x90\\xf2\\xcb\\x86\\xbd\\xfc\\x86\\xfc\\xa4\\x63\\x28\\x56\\xa5\\xd3\\x71\\xb4\\x93\\x83\\x2e\\xab\\xd5\\x4d\\x33\\x06\\xe4\\x62\\xcd\\x06\\x83\\xd2\\x69\\x0f\\xd9\\xa9\\x01\\x61\\xbb\\xd1\\xa2\\x84\\x11\\x68\\xc4\\xcb\\x8f\\xb8\\x8b\\x8c\\xbb\\x0f\\x9a\\x1e\\xd3\\x72\\x29\\x00\\x9b\\xad\\xec\\xf8\\x88\\xb6\\x4b\\x9b\\x7a\\x1d\\xdf\\x0d\\x2a\\x1e\\xd1\\x79\\x89\\x34\\x80\\x8c\\xce\\x4d\\x3a\\x87\\x62\\x75\\x38\\x39\\x51\\x1b\\xed\\x46\\xb7\\x52\\xa5\\x6a\\xc8\\x4b\\x34\\x28\\x2f\\xd1\\x60\\x3c\\x56\\x0d\\xe2\\xd4\\x65\\x69\\x33\\x3e\\xd8\\x14\\x00\\xa6\\x21\\xe9\\x8b\\x80\\x3a\\x63\\xd1\\x7a\\x34\\xb0\\x73\\x4d\\xd1\\xde\\x91\\x63\\x42\\x8f\\x04\\x77\\xe6\\x47\\xd0\\x2e\\xd0\\x2d\\x2a\\x27\\x41\\xf2\\x85\\xfb\\xa4\\x51\\x1e\\x64\\x9f\\xfd\\x5a\\x9d\\xdc\\xe4\\x71\\x38\\x90\\x7d\\x36\\xa9\\x74\\x8c\\xd7\\x09\\xed\\xf6\\x18\\xa8\\x52\\xd9\\xf4\\xd0\\x6d\\x92\\xeb\\x8c\\x94\\xa3\\x91\\x7c\\x05\\x83\\x17\\x84\\x3b\\x3e\\x4d\\x6a\\x89\\x05\\x19\\xcb\\x07\\x1c\\x3e\\x57\\x84\\xe9\\x80\\x34\\xb1\\xc6\\x3b\\x34\\x59\\xd9\\xa2\\xa1\\x63\\xbe\\x3f\\x9e\\x64\\x37\\xf4\\x6e\\x5e\\x77\\x7d\\xf6\\x29\\xbf\\x9c\\x4d\\xae\\x3d\\x08\\x0c\\xf7\\x5e\\xf3\\x69\\xda\\x79\\xe9\\x64\\x40\\x09\\x06\\x0f\\xee\\x3e\\x3b\\x26\\x6e\\x5f\\xcf\\x07\\x3d\\xe0\\xf1\\xab\\xf9\\x09\\xff\\x7a\\xd0\\x9b\\x9d\\xff\\x20\\xfd\\xb2\\x67\\x5e\\x6b\\x78\\x31\\xca\\xee\\x61\\x99\\x24\\xb8\\xf8\\x0e\\x6c\\x5b\\x58\\x85\\x82\\xd2\\xe9\\x19\\x20\\x93\\x59\\xd5\\x7a\\xc6\\x49\\x53\\x94\\xcb\\xa1\\x56\\x18\\x74\\x7a\\x8b\\x95\\x51\\x59\\x64\\xa0\\x24\\x2c\\x8b\\x58\\xbe\\x26\\x4d\\xb7\\x1b\\x82\\xca\\x48\\xfd\\xf3\\xc3\\xe0\\xf7\\x44\\x26\\x2f\\x4e\\x89\\x34\\xe1\\x5e\\xd5\\x08\\xfe\\x5e\\x10\\x4f\\xa9\\x0f\\x77\\xc2\\x1b\\x75\\x2d\\xa2\\xf1\\xef\\x45\\x4c\\xc9\\xdf\\x48\\x3e\\xd0\\xab\\xa1\\x3f\\xa8\\x0c\\x63\\xc1\\xc5\\x91\\xbb\\x3f\\x8c\\xd8\\x87\\x95\\xd6\\xb2\\x09\\x74\\x2d\\xe8\\x76\\xdc\\x60\\x67\\x22\\x1d\\x00\\xa5\\x1e\\x34\\xec\\x2d\\xf4\\xf9\\x4e\\xe4\\x6e\\xec\\x36\\xc0\\x89\\xf8\\xab\\xad\\x0d\\x09\\xf4\\x81\\xb6\\x1d\\x54\\x89\\x8d\\xe2\\x0c\\xe1\\xf9\\x47\\x23\\xcf\\x07\\xa0\\x9c\\xdc\\xa5\\x85\\xb4\\x85\\x4d\\x80\\x68\\x84\\xd6\\xc7\\x8d\\x7a\\x61\\x84\\xc8\\xfd\\x5b\\x61\\x8c\\x59\\xd2\\x18\\xd4\\x28\\xa0\\x91\\x30\\x5b\\xf3\\x31\\x66\\xeb\\xba\\xdc\\x36\\xc2\\x28\\x12\\x66\\x2b\\x1a\\xe7\\x25\\x8a\\x92\\x9b\\x48\\x3c\\xb4\\x8c\\xc4\\x47\\x3e\\x94\\xe7\\x7c\\x4c\\xb0\\xee\\x0f\\x44\\xf5\\xd0\\xfe\\x2e\\xd2\\x43\\x9b\\x01\\xfb\\xc4\\x78\\x47\\x8d\\xe2\\xa3\\x67\\x74\\xd6\\x26\\x3d\\xb7\\x31\\x6e\\x6c\\x0a\\x99\\x67\\x81\\x38\\x4f\\xbd\\x38\\x4f\\x3f\\x9e\\x67\\x5c\\x4a\\x13\\x9c\\xd9\\x27\\xeb\\xef\\xb1\\x37\\xd8\\xcd\\x7a\\x19\\x28\\x26\\xff\\x6e\\x8f\\xbe\\x1f\\x60\\x0a\\xf5\\x32\\xda\\xd5\\xf0\\x7b\\xd9\\x37\\xc6\\x04\\xfc\\x7b\\x3c\\x27\\x5a\\x0f\\x46\\x09\\x73\\x4a\\xc6\\x8c\\xd8\\x94\\x10\\x17\\x63\\x6f\\x3c\\x27\\xe1\\x19\\x98\\x0f\\xf8\\x19\\x04\\xbb\\xf6\\x5d\\x89\\x0f\\x49\\x98\\x0f\\x5d\\xe3\\x03\\x56\\x5d\\x13\\x3e\\x90\\x38\\x10\\xf3\\x5b\\x88\\x03\\x15\\x80\\x2e\\xa5\\xc4\\x8e\\xcf\\x29\\xf8\\xc2\\xf3\\x1b\\x49\\x09\\x6c\\x93\\x71\\xc4\\x58\\x70\\x96\\x14\\x0b\\x22\\x7e\\xef\\x97\\xbe\\xd3\\x0c\\x5f\\x78\\xde\\x9c\\x18\\x2f\\x44\\x83\\x51\\xb4\\x91\\xde\\x9d\\x64\\x9c\\x77\\xc5\\x75\\xe5\\xa4\\xef\\xb4\\xc0\\xe3\\xbc\\x9a\\xd6\\x1c\\xfa\\x9b\\x8c\\x43\\x7a\\x8e\\x90\\x71\\x6e\\x8b\\xf3\\xd9\\x25\\x7d\\x27\\x0d\\x8f\\xb3\\x29\\x25\\x19\\xba\\x9b\\x60\\xf1\\xa2\\x71\\xd8\\x66\\xc8\\x36\\xb8\\x71\\x35\\x3b\\x03\\xad\\x3a\\x95\\xc3\\xa1\\x33\\x42\\xc6\\x63\\x30\\x9b\\xbd\\xb8\\xa5\\xe3\\x80\\xb0\\x55\\xaf\\xd7\\x55\\x87\\xf5\\x7a\\xca\\x04\\x1b\\xd5\\xaf\\x09\\xe1\\x5b\\xe4\\x12\\xe6\\x43\\x7d\\x49\\xc4\\x72\\x35\\xb2\\x81\\x9e\\x82\\x6c\\x3a\\xde\\xb1\\x12\\x10\\x47\\x18\\xda\\xf9\\x36\\xff\\x73\\xf0\\x40\\xcb\\x97\\xe6\\x4e\\x3f\\x52\\x79\\xfc\\xc5\\x1c\\x37\\x78\\xf0\\xe0\\x6b\\x2f\\x23\\x8f\\xa9\\xfb\\xfe\\xf0\\xeb\\xab\\xf8\\xdf\\xcd\\x27\\x9e\\xeb\\xb2\\x7c\\x5e\\xdf\\x67\\xaa\\xa6\\x3c\\xb9\\x01\\xac\\xd9\\xb1\\x97\\x1f\\x67\\x7c\\x7d\\xfb\\x9a\\xdb\\x35\\xc2\\x3c\\xb7\\x20\\x3f\\xce\\xe2\\x3e\\x00\\x74\\x9f\\x88\\xec\\x9d\\x91\\xed\\x95\\x7a\\x6c\\xd2\\x2b\\xc1\\xaf\\xc8\\xee\\x61\\xd9\\x43\\x4a\\x06\\xf6\\x69\\xf5\\xd1\\x3d\\x36\\x23\\x78\\x8e\\xbd\\x25\\x3c\\x47\\xf4\\x79\\xa5\\x28\\xab\\x1e\\x14\\x9b\\x8f\\xf0\\xc4\\x34\\xc6\\x73\\x14\\x9f\\x7f\\x54\\x7a\\x3e\\x5a\\x8b\\xb5\\x12\\x5f\\xcd\\x78\\x2d\\x8e\\x18\\x74\\x14\\xd7\\x64\\xfd\\x84\\x31\\x66\\x45\\x30\\x23\\x47\\xe1\\x8b\\x1c\\xc2\\x77\\x02\\x78\\x2d\\x26\\xf9\\xbc\\xc2\\x28\\x51\\xdf\\x19\\x81\\xd6\\xe2\\xdf\\xb2\\xa3\\xfa\\x04\\x2a\\xf3\\xdf\\xc2\\x38\\x7f\\x11\\x75\\x39\\x40\\x74\\xf9\\xc1\\x96\\xe3\\x3e\\x1f\\x84\\x8d\\x74\\x99\\xf4\\xbb\\x20\\xe3\\x94\\x88\\x6b\\x5e\\x27\\xc9\\x70\\x1c\\x96\\xe1\\xc9\\xfe\\x18\\x39\\xd5\\x68\\xcd\\xa3\\x31\\x29\\x6c\\x54\\x0c\\x95\\x1f\\xf2\\x99\\x5c\\x6e\\xb3\\x9b\\xc1\\xa0\\x14\\x7e\\x9f\\xcb\\x3c\\x20\\xec\\x72\\x29\\x28\\x85\\x9e\\xe0\\x50\\xd8\\x1f\\xc2\\xa1\\x48\\x89\\x46\\x5f\\xc8\\x79\\x18\\x7b\\xc2\\x94\\x19\\x97\\x8d\\xd1\\xe4\\x30\\xe2\\x04\\xe9\\x8c\\xf6\\x10\\xd2\\x84\\xf1\\x7b\\x90\\x91\\xfb\\x40\\x09\\x3f\\x05\\xbb\\xbe\\xe7\\x3f\\xcd\\x85\\xbf\\xd0\\x8f\\x82\\x96\\xf8\\xf3\\xe7\\xfb\\x7f\\x74\\xfd\\xe8\\x1a\\x33\\xf5\\xb7\\xef\\x5b\\x5d\\xf9\\x3b\\xa6\\x5b\\xec\\xed\\x41\\x70\\xb4\\xbd\\x38\\x4f\\xd2\\x79\\xbc\\x7a\\x2f\\xa5\\x97\\x53\\x72\\x5f\\x8c\\x07\\x3b\\x58\\x0f\\x50\\x41\\x8f\\x87\\x55\\xab\\x9d\\x04\\x47\\xc2\\xfc\\x10\\x8e\\x84\\x08\\x38\\xdc\\x88\\xfe\\xc6\\xe8\\x11\\x50\\x68\\x1f\\x9f\\x07\\x4c\\x04\\x34\\xc2\\xcf\\x64\\x46\\x61\\x45\\x7c\\x58\\xb7\\x8b\\x99\\xf7\\xe4\\xc8\\x05\\x03\\xb3\\xfe\\xd8\\x74\\xb0\\x19\\x3d\\xa0\\x09\\x32\\xc4\\xec\\xc2\\xa7\\xb6\\xf7\\xd8\\x0d\\x0a\\x81\\xf7\\xe0\\x61\\xa9\\xff\\x28\\x96\\x1b\\x66\\x2b\\xd5\\xb0\\x9e\\x68\\x6d\\x18\\x98\\xc8\\x26\\x30\\x70\\x59\\x5c\\xac\\x9a\\x69\\x22\\x03\\x91\\xf5\\x64\\xb6\\x89\\xeb\\x59\\x2f\\x7d\\x27\\xc1\\x80\\xbe\\x33\\x35\\xe0\\x6f\\xbc\\x9e\\xe8\\x3b\\xa4\\x37\\x1e\\x91\\xcf\\xbf\\x8b\\xe3\\xc8\\x24\\x59\\x8b\\xc7\\xf2\\x39\\x35\\xd6\\xa7\\x57\\x34\\xf9\\x0e\\xc1\\x8e\\x27\\xb6\\x82\\x17\\xc7\\xd9\\x2b\\x7d\\x27\\x0e\\xcb\\xe7\\x34\\x7f\\x8c\\x02\\x36\\xb1\\x2f\\xa4\\xff\\x29\\xd1\\xb3\\xff\\x13\\xf5\\xe6\\xb4\\xa8\\x67\\xc8\\xd7\\x80\\x25\\x16\\x5b\\x74\\x5f\\xee\\x08\\x0e\\x6a\\x6f\\x09\\x07\\x95\\x5e\\x49\\x7d\\x24\\xea\\x99\\x03\\xe9\\xd9\\x62\\x87\\x2b\\x1a\\x07\\x35\\xf2\\xfc\\xa3\\xd2\\xf3\\xd1\\x3c\\xba\\x49\\x34\\xb9\\xf0\\x3c\\x96\\xda\\xad\\xb0\\xa9\\x3d\\x16\\xc6\\x98\\x25\\x8d\\x81\\xe6\\xf1\\xb9\\xf4\\x9d\\x18\\x3c\\x8f\\x75\\x6e\\xa7\\x30\\xca\\x43\\xf3\\xf8\\x39\\x32\\x0e\\x04\\x17\\x23\\xdf\\xc1\\xe3\\xdc\\x30\\x7b\\x1e\\x39\\xce\\x42\\x82\\x01\\x2b\\xcc\\xe5\\x19\\x7c\\x6d\\x3f\\x4a\\x9f\\x7f\\xb3\\xfb\\x9b\\x8e\\x23\\xec\\x05\\x93\\xf9\\xfc\\x55\\x9c\\x4f\\x85\\xf4\\x1d\\x2f\\x1e\\x67\\xa0\\xcb\\xc1\\x9a\\x9b\\x7c\\x87\\xec\\xc3\\x92\\x75\\xf9\\x43\\x9c\\xcf\\xad\\x46\\xf3\\xe9\\xe3\\x76\\x9a\\x55\\x4d\\x6c\\x78\\x3e\\x3f\\x82\\xf9\\x2b\\xb2\\xe1\\x0a\\x7c\\x57\\x43\\x06\\xe5\\x0c\\x27\\xe7\\x90\\x45\\x53\\x29\\x68\\x7c\\x38\\x2b\\x93\\xcb\\x61\\xa4\\x35\\x23\\x39\\x9c\\x8d\\x2a\\x76\\x12\\xaf\\x1b\\x90\\x0a\\x52\\xe6\\xaf\\xde\\xba\\xac\\x4f\\x56\\x8c\\x3f\\x52\\xb4\\x05\\xdf\\xd7\\xd8\\x21\\x1c\\xca\\xa2\\xe7\\xe2\\x31\\x02\\x28\\xce\\xb5\\xa2\\x18\\x4c\\x41\\xb5\\x0c\\x39\\xd1\\x18\\x72\\x0a\\xf7\\xb8\\xe7\\x54\\x4a\\x05\\x5d\\x1c\\x56\\xe8\\xf0\\x20\\xc5\\x61\\xb9\\xa5\\x61\\x10\\x7c\\x03\\x1c\\x6f\\x5c\\xe7\\x34\\x1e\\xc5\\x04\\xad\\x4e\\x7e\\xe3\\x33\\x64\\x4b\\xfd\\x63\\x0c\\x46\\x7e\\x09\\x6f\\xa1\\xa3\\x07\\xa3\\xb9\\x93\\xfe\\x98\\x84\\x5f\\xd7\\x45\\xdf\\x1a\\x2b\\xc9\\xbe\\x17\\xeb\\xcb\\x5e\\x14\\xe9\\xd1\\x4d\\xf8\\x45\\xfa\\x45\\x10\\x7e\\x3d\\x10\\xed\\xec\\x69\\xe9\\x3b\\x7e\\xac\\x2f\\xb3\\xbc\\x6e\\x05\\xdd\\x98\\x5f\\xf5\\xcf\\xa3\\xb5\\xc4\\x77\\x44\\x9c\\xb8\\x37\\x97\\x53\\x27\\xd3\\x58\\x29\\x4a\\xed\\x30\\xd8\\x0c\\x6a\\xad\\x86\\x75\\x99\\x4c\\x6e\\x87\\x0e\\x7b\\x3c\\xe4\\xf7\\x34\\x46\\xa3\\x65\\x40\\xd8\\x08\\x35\\x4e\\x94\\xb8\\x1a\\x19\\x05\\x6e\\x19\\xe9\\x8a\\x4e\\xfd\\x9b\\x5c\\xe3\\x88\\xda\\xba\\x24\\x07\\xf6\\x30\\x92\\x5e\\xe7\\x03\\xe1\\x3e\\x87\\x74\\xad\\x04\\x9c\\xcc\\xf6\\xee\\x5c\\xd3\\xad\\x63\\x4c\\xcb\\xbc\\x99\\x1e\\xeb\\xd3\\xf3\\x9e\\xf7\\x34\\xba\\x64\\x32\\x68\\x3b\\xff\\xf5\\xd6\\xb5\\xb6\\x3d\\xb6\\xa7\\x26\\xd3\\x1b\\x36\\x0a\\x97\\x4d\\x78\\x05\\xa2\\xbd\\x9c\\x2f\\x25\\xf7\\x4c\\x9c\\x54\\xff\\x50\\x86\\x4d\\xcb\\x59\\xe4\\x66\\x46\\x26\\x73\\x98\\xad\\x16\\x16\\x05\\x31\\x6e\\x99\\xcd\\x6e\\x2b\\x0a\\xa3\\x98\\xde\\xe2\\x74\\xa2\\x85\\x71\\xea\\x2c\\x5c\\x49\\xd8\\x62\\x51\\x1b\\x4a\\xc2\\x5a\\xf5\\xff\\x44\\x79\\x30\\xea\\x0a\\x4a\\xf0\\x61\\xfa\\x23\\xf7\\x51\\x3a\\x4f\\x8e\\x9e\\xc0\\xd4\\xa8\\xcb\\x29\\xfc\\xd6\\x06\\xda\\xc9\\x2d\\x15\\xe1\\x9c\\xb3\\x94\\x9c\\x73\\x3a\\xb1\\xdd\\x36\\x9b\\x74\\x16\\xbb\\x1d\\xe5\\xb2\\x2a\\xd6\\x68\\x62\\xac\\x36\\x9b\\xdb\\xe0\\xb2\\xd8\\x75\\xd0\\x60\\x35\\x41\\x83\\x11\\xca\\x71\\x29\\x96\\x44\\x6c\\xe4\\xc0\\x1b\\xfd\\x17\\xe9\\xad\\x4e\\x02\\x8c\\xe8\\x2a\\x88\\x84\\xc4\\xa8\\x13\\x4f\\x2b\\xf3\\xfa\\x89\\x6d\\xbd\\xda\\x7a\\xb3\\xda\\xe5\\xf5\\x89\\xb5\\xf0\\xdf\\x34\\x3d\\xf9\\x2c\\x4f\\x9c\\xb6\\xf2\\x80\\x71\\x97\\xa5\\x6f\\x28\\xa1\\x28\\x85\\xce\\x6a\\x74\\x02\\xda\\xb3\\x90\\x12\\xcf\\x3f\\x4b\\xc9\\xf9\\xa7\\x03\\xd3\\x6b\\x32\\x6a\\xcd\\x36\\x9b\\x01\\xd3\\x6b\\x30\\x32\\x16\\xab\\xd5\\xa5\\x77\\x9a\\x6d\\x5a\\xa8\\xb7\\x18\\x51\\xde\\x01\\xe5\\x25\\xff\\xbf\\xe9\\x4d\\x6c\\x38\\x08\\x75\\x02\\xb8\\xf8\\xe0\\x86\\xe2\\x36\\x31\\x59\\xad\\x73\\x8b\\x5a\\x1d\\x69\\x7c\\x1e\\xba\\x76\\xfd\\xd4\\x35\\xfb\\xad\\xdb\\x2c\\x3d\\x3b\\x17\\x4d\\x00\\x33\\x1a\\x1d\\x8b\\x7e\\xc5\\xdf\\xc4\\x7c\\x15\\x7a\\x22\\x53\\x06\\xdc\\x45\\x50\\x0f\\x34\\x4a\\xad\\x01\\xf7\\xd3\\x97\\xb3\\x72\\xa8\\x56\\x9b\\xa0\\x51\\x0f\\x58\\x19\\x8b\\x84\\x57\\x29\\x93\\x41\\xdc\\x9c\\x17\\x1a\\xc5\\xba\\xdc\\x68\\x8c\\xc1\\xa8\\x0c\\x19\\x9f\\x1c\\xe3\\x48\\x4d\\xe8\\x47\\x8d\\x24\\x15\\x48\\x67\\xc7\\x21\\xfe\\x25\\x2f\\xa8\\xe6\\x2f\\x8b\\x6c\\xbc\\x0b\\xfa\\x78\\xf9\\x17\\x41\\x37\\x72\\x82\\xbc\\x7e\\x0b\\x5d\\x46\\x18\\x78\\x60\\x4b\\xdd\\x78\\x81\\x7f\\x42\\xaf\\xa6\\xff\\x4c\\x57\\x91\\x44\\x17\\x4a\\x9c\\x2d\\xff\\x85\\x2e\\x28\\xd0\\x05\\x09\\xcf\\x10\\x5d\\xd2\\xd9\\xf1\\x61\\xfe\\x03\\x37\\x48\\xfb\\x52\\xe0\\xd7\\x58\\xd0\\xda\\xcd\\x5f\\xf8\\x0d\\x1f\\x20\\x83\\x5b\\x1b\\xc0\\x1b\\x98\\x55\\x7c\\xde\\x06\\xde\\x49\\xf6\\xf4\\xd1\\xd2\\xb2\\x65\\x62\\x3f\\xdb\\xb4\\x10\\x5a\\x3f\\xa8\\x32\\x29\\x14\\x66\\x99\\x1a\\xa9\\xb5\\x8c\\x42\\xcc\\x31\\x44\\x0e\\xd7\\xf3\\x1b\\x55\\x85\\xa2\\xe1\\x71\\x9b\\xeb\\xb8\\x64\\x60\\x0a\\x02\\x7c\\x27\\x93\\xb4\\xd7\\xe8\\xf8\\x2d\\xff\\x0b\\x68\\x01\\xe4\\xe0\\xc0\\xa8\\x73\\xfc\\x8f\\x59\\x7c\\x0d\\xbf\\x60\\xd7\\x36\\x50\\xf9\\xe1\\x89\\xeb\\xf7\\xe9\\xf8\\x3f\\xe7\\xd2\\x6f\\xf3\\x17\\xa7\\xcf\\x11\\x72\\x9d\\xbb\\xcc\\xf3\\x24\\x27\\xec\\x2a\\xd0\\x51\\x7f\\x8f\\xeb\\x45\\xe8\\x20\\xbd\\x1f\\xa1\\xd1\\xa5\\x54\\xc5\\xda\\x55\\x46\\x26\\x29\\x39\\xc1\\x53\\x1d\\x4e\\x30\\x59\\x94\\x03\\xc2\\x16\\xbf\\xc5\\xaf\\xb3\\x41\\x95\\x4e\\x27\\x1b\\x10\\xd6\\x49\\x40\\xbf\\xc2\\x65\\x4c\\x51\\x81\\xa3\\xee\\x6b\\xc5\\x8a\\xbb\\x06\\xf9\\x00\\x8a\\xa0\\x73\\x84\\xd8\\xa8\\x13\\x64\\xdc\\x69\\x94\\x5e\\x55\\x7b\\x61\\xe9\\xf2\\x43\\xe7\\xfd\\xb1\\xfa\\x41\\x93\\x57\\x0d\\x7a\\xf7\\x1b\\xd0\\x12\\x18\\x40\\x78\\xca\\xb9\\x13\\xa6\\x8b\\x73\\xd6\\xc6\\x14\\x9e\\x28\\x6a\\xfe\\xd3\\x15\\xfe\\x37\\x7a\\xe3\\xee\\x8d\\x23\\x26\\xbe\\xfc\\xc2\\x11\\x3e\\x61\\x50\\x97\\xf8\\x0b\\x87\\x3f\\xff\\x95\\xee\\xf3\\xa0\\x7f\\x65\\xd6\\xfb\\xdb\\x9f\\x01\\xeb\\xf9\\xa1\\x5f\\xde\\x44\\x73\\x40\\x73\\x92\\x05\\xd9\\x4b\\x94\\x8f\\x4a\\x47\\x99\\x43\\xb3\\x54\\x14\\x9d\\xc4\\xd8\\xec\\x76\\x6d\\x0c\\x64\\x32\\x5a\\xb8\\x4d\\x18\\x7c\\x48\\x83\\x82\\x4b\\x15\\x67\\xb3\\x51\\x1c\\x97\\x5c\\x14\\xe6\\xf4\\x94\\xff\\xa1\\x26\\x96\\xc6\\x1c\\x63\\x4e\\x7e\\x54\\x5b\\x96\\xe0\\xa3\\x5a\\x94\\x09\\x73\\xc0\\x28\\xcc\\x42\\xe7\\x24\\x59\\x62\\x03\\x28\\x0b\\x81\\x8e\\xd8\\xb7\\xff\\x74\\xcd\\x8d\\x17\\x2b\\x56\\xc4\\x31\\xc6\\xd2\\xe3\\xef\\xea\\x5f\\x98\\x38\\xcf\\x9d\\x78\\x22\\xa9\\xd9\\xd7\\x67\\x9e\\xdc\\xe1\\x9f\\xfb\\x4e\\xbf\\x59\\xa5\\x19\\xc3\\x4b\\x67\\xaf\\xee\\x5b\\x65\\x39\\x73\\xe4\\x3c\\x98\\xf3\\xca\\xe0\\xca\\x1a\\xf0\\xc6\\xfd\\x3f\\x8a\\xb2\\xde\\xd9\\xbd\\xf3\\xc2\\xe5\\x5b\\xd7\\x06\\x8d\\xbc\\xb4\\xb2\\xf7\\x0b\\x80\\xea\\xb1\\x60\\xc9\\x26\\xfe\\xcc\\x7c\\x7c\\x03\\x12\\x50\\x6f\\xa1\\x35\\x92\\xb1\\x9b\\xa8\\xe6\\x54\\x9f\\x50\\x73\\x9f\\xbf\\xb9\\x21\\xc1\\xc9\\xc9\\xe5\\x4e\\x83\\xc5\\xcf\\xa6\\xa6\\x25\\x5b\\x2d\\x56\\x0b\\x72\\x10\\x9c\\x95\\x53\\x07\\x7c\\xbe\\x40\\xc0\\x33\\x20\\x1c\\x60\\xd4\\xb0\\x3a\\xac\\x8e\\x1c\\xe3\\x49\\x3d\\x46\\xd3\\xd3\\x1f\\xea\\x95\\x4a\\xee\\xcc\\x5a\\x1b\\xd6\\x05\\xcd\\x17\\x43\\xb2\\x3d\\x74\\xa7\\xc7\\x2a\\x5e\\xe9\\x61\\x52\\x47\\x56\\x4d\\x9a\\xef\\x46\\xcb\\x93\\xf2\\xd5\\xf9\\x63\\xe7\\x19\\x66\\xcd\\x53\\xa5\\xee\\xd0\\x6b\\x87\\xe7\\x8d\\x59\\x72\\xac\\xcd\\xfe\\x2d\\x60\\xdd\\x6b\\xdf\\x1c\\xdb\\x37\\x6b\\x21\\x28\\x18\\x3e\\x44\\x58\\xa1\\xaf\\x6f\\x1c\\x7c\\xa1\\xa0\\xd3\\x90\\xca\\xa7\\x16\\x2f\\xa9\\x9c\\x30\\x75\\x41\\x3b\\xd0\\xf7\\xe4\\x96\\xa7\\xce\\xd9\\x2d\\xcb\\x46\\x0a\\x7b\\x56\\xc8\\x67\\x3e\\xcb\\x14\\x52\\xc9\\xf8\\xce\\x9d\\x3d\\x51\\xcf\\xc4\\xf8\\x7c\\x4c\\x22\\xa5\\x64\\x9b\\xa5\\x98\\x01\\xfa\\x7d\\x51\\x18\\xc4\\x80\\x18\\x4d\\x5c\\x9c\\xab\\x28\\x1c\\x67\\x55\\x28\\x34\\x1a\\x0e\\x69\\x6a\\x74\\x03\\x55\\xf1\\x20\\xa7\\xe9\\xcc\\xd0\\xbc\\x1e\\x73\\xf3\\x46\\xd8\\x2c\\x8d\\xac\\x21\\xee\\x22\\x57\\xd0\\xf4\\xb6\\xcd\\xd8\\x29\\x34\\xdd\\xad\\xb4\\x7a\\x9c\\x1f\\x2d\\x5e\\xda\\xc5\\xe3\\x07\\x0e\\xad\\x03\\xbf\\x35\\xbd\\x68\\xa3\\xaa\\x19\\x3d\\x70\\xe8\\xc6\\x83\\x17\\x2e\\x7f\\xff\\x7f\\x2f\\xee\\xab\\x2e\\x15\\xe2\\x9f\\xb7\\x50\\xfc\\xf3\\x3a\\x5a\\xab\\x04\\x5c\\x03\\xee\\xa6\\xa8\\x58\\x5f\\x40\\x61\\xb5\\x06\\x1c\\x2c\\x86\\x04\\x77\\xc8\\x90\\xa1\\xa9\\x46\\x0a\\x6e\\x8c\\x8d\\x8b\\x8b\\x19\\x10\\x8e\\x33\\xea\\x74\\x46\\x23\\x52\\x79\\x23\\xd3\\x30\\xa1\\xc8\\x25\\x96\\xe8\\xf9\\x88\\xaa\\xd5\\x32\\x8d\\x80\\x63\\x90\\x8b\\xd8\\x8f\\xb8\\x6c\\x25\\x44\\x35\\x59\\x70\\x45\\xdb\\xd9\\x0b\\x06\\xbb\\xbb\\x82\\x83\\xd1\\x77\\xab\\xde\\xaa\\x5d\\x3c\\x8d\\xcd\\xd8\\x3a\\xee\\x78\\xaf\\xa7\\x0b\\x14\\xe0\\xdd\\x6e\\xfd\\x12\\x9e\\x02\\xaa\\x86\\x2b\\x55\\xeb\\xcf\\xb8\\xcc\\x33\\x27\\x1b\\xd3\\xff\\xc4\\x81\\x16\\x98\\x9a\\x26\\xee\\x27\\xce\\x23\\xe7\\xaa\\xbd\\x43\\x29\\x94\\xda\\xee\\x74\\x9a\\xbc\\xac\\x4c\\xe6\\xf7\\xaa\\x99\\x84\\x78\\x5d\\xac\\x3f\\xd6\\x8f\\x2b\\x43\\x15\\x0e\\x97\\xcb\\x5a\\x1c\\x76\\x59\\x58\\x56\\xa1\\x80\\x45\\x61\\x85\\xfe\\xbf\\xcd\\x45\\x5c\\x9e\\x46\\x4b\\x23\\x93\\xee\\x44\\x91\\x39\\x64\\x4b\\x37\\xa7\\xe8\\x77\\x1a\\x96\\x65\\xff\\xd2\\x01\\x93\\x65\\xbe\\xe9\\xb8\\xb4\\x2d\\x53\\xbd\\xe0\\x05\\xb4\\x64\\xb0\\x9d\\xb4\\x20\\x13\\x9f\\xd2\\x42\\xc5\\xe8\\xc1\\x96\\x16\\x9b\\x70\\x08\\xf7\\x73\\x9b\\xb4\\x3e\\x05\\x4b\\x06\\x91\\xf3\\x14\\xa4\\x3b\\x53\\x90\\x7d\\x8b\\xa7\\x0a\\x90\\xaf\\x0f\\x18\\x28\\x97\\xdb\\x4d\\x05\\xa0\\x3c\\x51\\x9e\\xe0\\xc2\\x78\\x56\\xb6\\xea\\xb0\\xcf\\xf4\\xd8\\xd3\\x94\\x26\\x87\\x01\\x86\\xc7\\x9d\\xa6\\x44\\xed\\x93\\x4a\\x3b\\xa4\\xcc\\x20\\xbe\\xa8\\xe9\\xd9\\x8a\\xe6\\x84\\x69\\xdc\\x90\\x88\\x71\\x7b\\xed\\x4d\\xeb\\x23\\x0e\\x59\\xb0\\x71\\x1b\\x3a\\x4c\\xb2\\x6e\\x2f\\x3d\\x9b\\x3d\\x8e\\x12\\x7b\\x82\\xca\\x7a\\x20\\x1f\\x16\\x4f\\x75\\x09\\xc5\\xdb\\x28\\x33\\xae\\xae\\x46\\x1e\\x54\\x95\\xa8\\x4a\\x08\\xa0\\x04\\x33\\x60\\xf5\\x7a\\x15\\xa6\\xa8\\x93\\x17\\x85\\x35\\x52\\xc3\\x49\\xe6\\x90\\xff\\x50\\x69\\x6a\\xcb\\xac\\x87\\xcf\\x5c\\x22\\x96\\x5b\\xd4\\x0d\\xa8\\x57\\x4c\\x7c\\xc4\\x01\\xcc\\x02\\x7d\\xbf\\x5e\\x23\\x66\\xfb\\x90\\x6e\\xa4\\x5f\\x3d\\xf5\\xfc\\x21\\xe0\\x72\\xb6\\xa3\\x3b\\x37\\x3e\\x8b\\xa9\\x1b\\x52\\x94\\xd2\\xb7\\x74\\xf3\\x73\\x17\\x2e\\xdf\\xf9\\xeb\\x36\\x11\\x5f\\xfe\\x24\\xd9\\xf7\\x0d\\x85\\x02\\xd0\\x88\\xb1\\xc9\\x8d\\x4e\\x97\\x5d\\xe6\\x8d\\x71\\x59\\x71\\x92\\x6f\\x77\\x28\\x95\\x3a\\x8f\\x03\\xda\\x8d\\x3a\\x59\\xb5\\xe0\\x63\\xa4\\xeb\\x1a\\x86\\x46\\x1b\\xf9\\x4d\\xb6\\xa5\\x45\\x76\\x67\\x49\\x70\\xc3\\x26\\xb6\\xa6\\x09\\x93\\xe5\\xa9\\x75\\x3d\\xc5\\xd3\\x86\\x63\\x48\\x12\\x9a\\xf2\\x37\\xa6\\xeb\\x6d\\xe9\\xe4\\x81\\x12\\xf0\\xe1\\x65\\xe9\\x88\\xcf\\x6e\\xaa\\x6d\\xc8\\x27\\x57\\xa9\\x1c\\x26\\x07\\xc3\\xd2\\xac\\xc7\\x6b\\xd3\\xe2\\xb2\\x29\\x96\\x2a\\x0e\\xb3\\x46\\xd6\\x48\\xcb\\xa1\\x8e\\x16\\x0f\\x65\\x9a\\x38\\x41\\xa9\\x5d\\xa7\\x70\\xe0\\xd1\\x98\\xa3\\x48\\x71\\xb3\\xb2\\x41\\x2b\\xe1\\x34\\xe6\\xeb\\xf0\\xb1\\x05\\xfa\\x3e\\x85\\x11\\x46\\xf2\\x87\\x95\\x76\\xe1\\xb0\\x01\\x1f\\x3e\\xd4\\x0d\\x29\\x49\\x96\\x18\\x08\\xd2\\x3d\\xa1\\xa9\\x42\\x8e\\x31\\x14\\xd9\\xcb\\x7f\\xb0\\x9b\\x91\\xff\\x6e\\x26\\xe0\\x39\\xa1\\x1c\\x5d\\x83\\xf7\\x3e\\xe9\\x38\\xa1\\x46\\x16\\xfd\\xfe\\x45\\xc4\\x67\\x07\\x95\\x1d\\xf2\\xa0\\x00\\xcb\\xa2\\xb2\\x5b\\x8c\\x56\\xd6\\xe9\\xa2\\xac\\x36\\xc4\\x68\\xc4\\x64\\x94\\x19\\x47\\x71\\xb8\\xf1\\x79\\xe7\\x63\\xd9\\x2b\\x96\\xca\\x6e\\x31\\x8d\\x8e\\x66\\xad\\x7a\\x97\\x54\\x34\\xfb\\xe0\\xb7\\xc1\\xe9\\xd1\\x5c\\x4d\\xe8\\x07\\x9b\\xed\\xd8\\x21\\xf0\\x53\\x3e\\x85\\xe9\\x89\\xf2\\xa9\\x7e\\xa1\\x8c\\x96\\x2e\\x2f\\xa5\\x6d\\x83\\x9b\\xec\\x9a\\xb4\\xde\\x66\\xa9\\x09\\x5c\\x7e\\x28\\xdb\\x5a\\x14\\xce\\xd6\\xb7\\x40\\x96\\xa4\\x85\\xbe\\x65\\x6a\\x32\\xc7\\x25\\x24\\xeb\\x5c\\x09\\x16\\x35\\x6c\\x28\\xcd\\x08\\x0a\\x9d\\x12\\x72\\xf2\\x1b\\x73\\x59\\xca\\x19\\x9b\\xf0\\x37\\x1f\\x44\\x17\\xd3\\xfe\\xe7\\xba\\x5a\\x1d\\x90\\xb1\\x7f\\x16\\x95\\x0c\\x9d\\x86\\xcd\\x7c\\xc6\\xc7\\x27\\xf8\\xa3\\xfa\\x14\\x7b\\x8f\\x7e\\x93\\x0e\\xfa\\x84\\x9e\\x86\\x8f\\xa9\\xaf\\x35\\xa7\\x6b\\x81\\xbf\\x38\\xbc\\xf6\\xf0\\x85\\xcb\\x3f\\x7f\\x08\\x9a\\xe5\\x75\\xbb\\x3e\\x3f\\x55\\xa8\\x9e\\x7d\\x6c\\xa5\\x6d\\xe7\\x01\\xbf\\x74\\x20\\xeb\\x55\\x84\\xd6\\xeb\\x3a\\xbb\\xc9\\x28\\x03\\x25\\x42\\x5f\\xd6\\xfa\\x7b\\x70\\x07\\xee\\xcb\\x0a\\x87\\x8b\\xe7\\xbf\\xa5\\xe4\\xfc\\xd7\\x8d\\x71\\x6e\\x69\\x83\\xc2\\xe9\\xf4\\x1a\\x3c\\x2e\\xb9\\xd7\\x81\\xc2\\x30\\x07\\xd4\\x99\\x07\\x84\\x0d\\x68\\xe9\\x30\\x68\\x40\\x03\\x86\\xa2\\xe4\\xe4\\xa5\\x22\\x47\\x63\\x4e\\x54\\x93\\xb1\\x87\\xad\\x15\\xa0\\xa1\\xb5\\x3a\\xc7\\xd6\\x32\\xab\\x5d\\x1f\\x13\\x60\\x1e\\x71\\x02\\xcc\\x5f\\xcd\\xe5\\x4b\\x4d\\x5b\\x34\\x85\\xd5\\x6c\\xde\\x43\\xf6\\xe9\\x4f\\x86\\xff\\x98\\x9c\\xff\\x96\\x32\\xf3\\xc9\\x5d\\x79\\x89\\xce\\x18\\x83\\xd7\\x25\\x8f\\x71\\x28\\x8b\\xc3\\x0e\\x9d\\xce\\x5c\\x84\\xe8\\xb4\\x36\\xc1\\x7a\\xfc\\x8f\\x74\\x3e\\x6c\\x8c\\xb4\\x80\\x9e\\xd2\\xb3\\xa5\\xad\\x59\\x52\\xdb\\x5c\\xe3\\x65\\x7e\\x65\\x53\\x2b\\x74\\xe9\\xae\\x17\\xf7\\x3c\\x5b\\xa3\\xe8\\x55\\xc1\\xc4\\x36\\x36\\x3e\\xf7\\x43\\x3b\\x96\\x62\\x5d\\xe1\\x6b\\xd8\\xdf\\x89\\xae\\xb4\\x14\\xf6\\xf9\\x11\\xcd\\x43\\x49\\x0f\\x5c\\x61\\xaf\\xf6\\x08\\x45\\xc9\\xd3\\xc8\\x39\\x02\\xe9\\xa1\\x4b\\x0d\\x43\\x39\\x7f\\x2b\\xd2\\xd3\\xb5\\x3f\\x5e\\x0b\\x7e\\x3d\\x3f\\x97\\xf2\\xd4\\xbf\\x4f\\xd9\\x28\\x7f\\xc8\\x64\\x94\\xe9\\x74\\xaa\\x9b\\xb8\\xef\\x4d\\x08\\x14\\x81\\x6a\\xc0\\x00\\x03\\x95\\x7e\\xa9\\xb2\\x32\\x13\\x67\\x09\\x2d\\x32\\x4c\\x81\\x2c\\xa9\\xa7\\x3c\\x46\\x3f\\xc7\\xf2\\x88\\xfd\\x19\\xa7\\x1e\\xa6\\xf6\\xc5\\x07\\x83\\x0a\\xf9\\x50\\x95\\xbe\\xef\\x13\\xfa\\xe1\\x86\\xdc\\x16\\x32\\x7e\\x6e\\x57\\x9d\\xcf\\x93\\x96\\x95\\xde\\xa2\\xb4\\x42\\x59\\x55\\xa5\\x0c\\x05\\xbd\\x18\\x82\\x02\\x30\\x6c\\x21\\xbd\\x54\\xf6\\x2a\\xa5\\x42\\x23\\x06\\xa8\\xa4\\x90\\xd5\\xa2\\x50\\xe8\\x74\\x10\\xbc\\x04\\x7f\\x84\\xf5\\x10\\xc2\\x90\\x42\\x53\\x00\\x5d\\xfe\\x5a\\x90\\x87\\x6c\\xfb\\xa5\\x94\\xca\\x89\\x18\\xbf\\x89\\x58\\x72\\xa9\\x15\\x48\\x42\\x76\\xd4\\x6b\\x2e\\xea\\x35\\x60\\xd2\\x7c\\xb1\\x69\\x69\\xb1\\xbe\\xb4\\x6f\\xa4\\x17\\x5b\\xa5\\x17\\xb2\\xf1\\xbe\\xd4\\x54\\xe1\\xb5\\xf0\\xf3\\x25\\x5f\\x1a\\xf9\\x1d\\xb6\\x27\\x5a\\xb6\\x10\\x2c\\x97\\x3d\\x40\\x34\\xa9\\x8e\\x50\\x32\\x32\\xf4\\x25\\x9c\\x94\\xdb\\xd0\\x7f\\x81\\xec\\x44\\x8c\\x64\\xb4\\xfc\\xd0\\xf2\\x43\\xab\\xce\\x4f\\x3f\\xb4\\x12\\xfd\\x94\\x3d\\xe8\\x17\\xf9\\x1f\\xce\\x2f\\x80\\x1e\\x7d\\xff\\x73\\x71\\x4e\\xb1\\x21\\x93\\xa2\\xe9\\x74\\x74\\x96\\xa8\\xe9\\x34\\x9e\\x4b\\x23\\xfa\\xdb\\x4a\\xd4\\xa6\\x3c\\x44\\x76\\x03\\xb9\\x88\\x87\\x34\\xe2\\xe1\\x6e\\x34\\x1e\\xc6\\x39\\x70\\x51\\xcd\\x43\\x76\\x93\\xc3\\x41\\x69\\x38\\x4e\\x47\\x83\\x97\\xe8\\x1f\\xe9\\x7a\\x1a\\xd2\\x78\\x5c\\x9a\\x22\\xc3\\x5e\\xc6\\xa3\\x46\\x3c\\x22\\xb2\\x77\\xa6\\xc7\\x8d\\x4f\\x17\\x8c\\xeb\\xba\\xfe\\x21\\x1a\\xd0\\xe4\\xc6\\xf1\\x1b\\x80\\xbf\\x29\\x25\\x80\\xff\\x90\\x9f\\x5b\\xff\\x27\\xca\\x3c\\x55\\x94\\xfa\\x18\\x2b\\x9b\\x47\\x51\\xe9\\xce\\x4b\\x68\\x7e\\x02\\x1a\\x30\\x47\\x22\\x84\\xd3\\xec\\xc0\\x32\\xcb\\xe2\\x75\\x5c\\x89\\xdd\\x5a\\xd0\\x6b\\xd4\\xb4\\x09\\x81\\x04\\xc4\\xef\\x54\\xb6\\x0c\\x54\\xc8\\x0e\\x20\\xfa\\x55\\x47\\x20\\x10\\x88\\xc4\\xfc\\x46\\x7c\\xae\\xa8\\x9d\\x5e\\x2b\\xa3\\x0e\\x1c\\x38\\x80\\xed\\xc4\\x7a\\xb6\\x08\\xfc\\x20\\x5b\\x48\\xc5\\x22\\xae\\x6a\\x0c\\x1e\\x4a\\xed\\x41\\xff\\x59\\x6d\\xf3\\x58\\x61\\x8d\\x82\\x68\\x34\\xe1\\xba\\x2b\\xa9\\x2c\\xc6\\x29\\x19\\xbe\\x92\\x41\\xd0\\xda\\x6c\\xe2\\xc5\\x7d\\x7c\\x24\\x22\\xcc\\x2e\\x31\\x0d\\xa4\\xa3\\x59\\x25\\x27\\x34\\x0f\\x77\\x1f\\x99\\xef\\x6a\\x15\\xf0\\x65\\xa4\\x26\\x27\\x35\\xeb\\x5f\\x90\\x55\\x14\\xe7\\xcd\\x94\\xe5\\xb4\\x48\\xcf\\x30\\x14\\xe8\\xba\\xa5\\x15\\x56\\xcc\\x6d\\xd9\\xb2\\x45\\x7a\\xba\\x11\\xff\\xa3\\x57\\x79\\x6e\\xc7\\x9c\\x74\\x4c\\xcb\\x7c\\xb6\\x90\\x3a\\x28\\x9b\\x8b\\xe6\\xaa\\x23\\x73\\x25\\x14\\x90\\xe9\\x9a\\xc4\\x38\\x0e\\x97\\x48\\x05\\x99\\xca\\xb0\\x65\\xf1\\x5a\\x39\\x5b\\xa8\\xf7\\x77\\x2e\\x1c\\x3b\\x63\\xac\\xad\\x15\\xfa\\xee\\x64\\xa4\\x63\\x57\\xeb\\xbf\\xa5\\x58\\x4a\\x7b\\x12\\x2b\\x16\\x0d\\x18\\xac\\x56\\x58\\xa1\\x12\\xb3\\x83\\xdc\\xfa\\xb5\\x6b\\x3f\\x5d\\xfb\\x29\\x3f\\xf7\\xf8\\x71\\xbc\\x75\\x43\\xd1\\xfc\\x0e\\xf4\\xf9\\x98\\xfa\\x9f\\x28\\x8e\\x32\\x51\\xc6\\x57\\x38\\x2e\\x04\\x01\\x34\\xa8\\xa8\\xf4\\xe0\\xa5\\xca\\x9c\\xf4\\x16\\x19\\xb8\\x32\\x0f\\x85\\x8d\\xd9\\x6c\\xd4\\xda\\xc5\\xb8\\xdf\\xdf\\x61\\x1e\\xb6\\xc2\\xc8\\xf3\\xd2\\xb2\\x95\\xac\\xde\\x33\\x6a\\x64\\x85\\xba\\x41\\x6e\\x00\\xb5\\x07\\xc9\\x4d\\x3c\\x9a\\x03\\x87\\xe6\\xc0\\x40\\x69\\x0e\\x18\\xc6\\xcd\\x44\\x80\\x21\\x65\\xdc\\x1e\\xd7\\xa5\\x1d\\x96\\x61\\x4b\\x4d\\x6c\\xe1\\x9a\\xbd\\x63\\x87\\x57\\x22\\x7b\\x21\\x7e\\x47\\x2f\\x63\\xfe\\x8f\\xd4\\x21\\xf6\\x6f\\x78\\x06\\x65\\x7b\\x45\\xad\\x52\\xa1\\x07\\xc9\\x85\\x27\\x61\\x44\\x38\\xa2\\xac\\xd2\\xd3\\xfc\\x4d\\x9e\\xca\\x77\\x43\\x2f\\xcc\\x23\\x97\\xea\\xc5\\xc7\\xa3\\xbf\\x46\\x96\\x53\\x0c\\x7f\\x91\\x6d\\x4b\\xdf\\xe0\\x92\\x89\\x34\\xa7\\x50\\xd9\\x54\\xe0\\x64\\x7a\\x7a\\x32\\x48\\x6e\\x15\\x40\\x8f\\x3d\\xe9\\x48\\x47\\xb3\\x37\\x29\\x44\\x0d\\xaa\\xcc\\x24\\x7f\\x35\\x52\\xa2\\x44\\x24\\x38\\x09\\xd9\\x66\\x6b\\x24\\x99\\x63\\x45\\xf0\\x21\\x01\\xbe\\x2f\\xd3\\xca\\x91\\x77\\x05\\x87\\x0f\\x52\\xe7\\x84\\xcb\\xe7\\xcc\\xae\\x6c\\x9b\\x5a\\x56\\x52\\xe6\\x99\\x99\\x9d\\x98\\xd4\\x26\\x37\\x21\\xae\\x0d\\xff\\x89\\x07\\xfd\\x3b\\xb5\\x6d\\x45\\xcd\\x9c\\xf2\\xf0\\x9c\\x99\\x6d\\xe2\\x12\\x73\\xdb\\x24\\x27\\xb4\\x96\\x95\\x84\\xe7\\xd4\\xf4\\x0f\\xcf\\xb1\\x97\\xf5\\x29\\x4b\\xcf\\x4d\\x6a\\x9d\\x93\\x98\\x98\\xd3\\x3a\\x29\\x37\\x1d\\xfd\\xd3\\x8e\\xdf\\x9f\\x13\\x4e\\x6a\\xdd\\x3a\\x09\\xbd\\x47\\xf6\\x19\\xf0\\x3c\\x8e\\x8b\\xf3\\x30\\x35\\x26\\xfc\\xad\\xff\\x46\\x33\\x60\\x1e\\x49\\xd7\\x23\\x09\\xc0\\xf2\\xc8\\x23\\xb5\\x5c\\x29\\xdb\\x46\\x19\\x28\\x3b\\xd2\\x75\\x86\\x51\\xe8\\xd0\\x02\\xcb\\x05\\xdb\\x45\\xec\\xb5\\x00\\xed\\x87\\x47\\x42\\x61\\x1a\\x27\\xc4\\x0f\\x60\\xa5\\xd2\\x34\\xb2\\x34\\x60\\xb6\\x0c\\xc9\\x1f\\xea\\x52\\xc6\\x64\\x64\\xa8\\x94\\xb2\\x6d\\x99\\x65\\xc3\\x94\\xc3\\x40\\x8f\\x15\\xea\\xd4\\x6c\\x82\\xcb\\x07\\xf8\\x37\\x91\\xfc\\x15\\x22\\x9f\\x60\\xa1\\x3c\\x21\\x9d\\x81\\xb3\\x68\\x68\\x9a\\x22\\xfe\\x00\\x02\\x0e\\x0b\\x2e\\xf6\\x06\\x78\\x9d\\x61\\x20\\x9b\\x14\\x09\\x6a\\x41\\x43\\x00\\x28\\xe3\\x6a\\x86\\x19\\xc7\\x18\\x87\\x70\\x9c\\x3f\\x39\\x23\\x5d\\xa5\\x1c\\x2a\\xf7\\x6e\\xe0\\xe7\\x56\\xe8\\xc7\\xba\\xca\\x62\\x13\\x8c\\x31\\x9e\\x8c\\x56\\x2d\\x5a\\x3c\\x67\\x17\\xc6\\xd9\\xc5\\x3f\\x4b\\x05\\xea\\x6f\\x20\\xbd\\x50\\x1f\\x83\\x74\\xc4\\x7e\\xd8\\xa0\\x3f\\x3b\\x98\\x1d\\xc8\\xe3\\x4f\\x99\\xaf\\x25\\x07\\xf8\\x77\\x46\\x5d\\x41\\x9f\\xfd\\x08\\xd1\\x94\\xfd\\x28\\x1d\\x82\\x44\\x87\\xb4\\xeb\\xd6\\x5f\\x5d\\x7b\\x35\\xa2\\x43\\x80\\xaf\\x45\\x9f\\x6f\\x8b\\x6c\\x13\\x87\\x9e\\x8d\\x65\\x1d\\x3d\\x1b\\x0b\\xba\\xa4\\x3b\\x6d\\xdd\\x17\\x77\\x61\\x91\\x2c\\x59\\xf3\\x17\\xa4\\x25\\x48\\xe7\\x90\\xc3\\xa2\\x3e\\x22\\x9f\\xd7\\x51\\x66\\x51\\xae\\x75\\xb8\\xd3\\xbb\\x24\\xd4\\x9c\\xf8\\x4d\\xbf\\xf8\\x73\\x3a\\xd2\\x38\\xfc\\x04\\x70\\x92\\xa8\\xde\\x32\\xa3\\xa0\\x70\\xe8\\xaf\\x11\\x95\\x68\\xfc\\xcb\\xe8\\x79\\x8e\\xfa\\x3f\\xf0\\xf8\\xc7\\x43\\x00\\x00\\x56\\xa4\\x96\\xcd\\x07\\x89\\xf1\\x3a\\xa0\\xe6\\x3f\\xd7\\x6f\\x98\\x0b\\x92\\x75\\x9b\\xf8\\xa3\\xc1\\x22\\xeb\\x17\\xc1\\x1e\\x0e\\x21\\xb7\\x8e\\x47\\xeb\\x5a\\xf8\\x5f\\xed\\xcc\\x55\\x64\\x67\\xcc\\x8b\\xd7\\x49\\x76\\x66\\xfa\\x38\\x64\\x67\\x68\\xfe\\x1b\\xb6\\x2d\\xf5\\x51\\x44\\xfe\\x4c\\xe9\\x1a\\xa0\\x71\\x70\\x11\\xc5\\x41\\x4f\\xf8\\x0f\\x7a\\xb1\\x19\\xcb\\x7f\\x7a\\x9b\\xf2\\x39\\xf3\\xc2\\x65\\xf3\\x66\\xb6\\x89\\x4f\\xc8\\x6d\\x93\\x94\\x88\\xe4\\xbf\\x6d\\x86\\x20\\xeb\\xfd\\x6b\\x66\\x97\\x27\\xb5\\x6e\\x93\\x90\\x98\\x93\\x83\\xe3\\x08\\x49\\x46\\x90\\x5d\\xf8\\x9b\\x70\\x5e\\x41\\x7c\\xe8\\x49\\xb4\\x3e\\x86\\x93\\xbd\\x98\\x01\\x0c\\xcd\\x00\\x51\\x18\\xf1\\x85\\x26\\xbc\\x44\\xa0\\x13\\x59\\x23\\xb6\\x50\\x5a\\xa3\\xfa\\x3b\\xe8\\x3b\\xe3\\x65\\x4b\\xd1\\x77\\xec\\x21\\x15\\x1c\\x40\\x8d\\xa7\\xe6\\x22\\x9f\\x30\\x8f\\x16\\xe7\\x5c\\x29\\x14\\x32\\x21\\x59\\x00\\xe3\\xf3\\xf8\\x5a\\xcb\\xb5\\x64\\xd9\\x52\\x22\\x0d\\xc4\\x1e\\xa3\\xf1\\x0f\\xfd\\x67\\xdf\\x23\\xc7\\xf5\\x4a\\x4b\\xd7\\xc9\\x4b\\xf4\\x9e\\x82\\xa2\\x51\\xd3\\xc7\\x39\\x33\\xd0\\xba\\x0c\\x63\\x8b\\xa8\\x37\\xff\\x57\\x9f\\x02\\xff\\xbb\\x4f\\x79\\xf0\\xff\\xec\\x53\\x68\\xa4\\xc3\\xd3\\xc1\\xcb\\x68\\xbd\\x70\\xdc\\xa0\\x3f\\x09\\xd3\\x75\\x40\\xa7\\xb0\\x10\\x33\\x9f\\x29\\x6e\\x1d\\x88\\x8b\\x13\\x1f\\xed\\xa5\\x5b\\xb5\\x89\\xc3\\x8b\\x93\\xd0\\x9a\\xbf\\x58\\x53\\x51\\x3e\\x07\\xff\\x91\\x95\\x08\\x4b\\xd3\\x3a\\x41\\xf8\\x77\\x0d\\xf1\\x23\\xf5\\x5a\\xe4\\x9f\\xaf\\xd6\\xff\\x40\\x9e\\x6f\\x0b\\xa9\\x75\\x94\\x05\\x84\\x2c\\xbb\\x2d\\xb4\\x45\\x01\\xc9\\x28\\x38\\x18\\xe1\\x1e\\x13\\x0c\\xbc\\xf3\\x50\\x1c\\x50\\x2d\\xba\\x92\\xa8\\x50\\x84\\x62\\xf9\\xfe\\x68\\x1d\\x4e\\x8a\\x63\\x04\\xa8\\x74\\xaa\\x2d\\x95\\x18\\x32\\x07\\x5d\\xae\\x1c\\xca\\x0f\\x42\\xfe\\xdd\\x7e\\xda\\x9f\\x8a\\x22\\xbc\\x44\\x1d\\x1e\\x91\\x14\\xa7\\x5d\\x92\\x42\\x3a\\xf6\\x7f\\x08\\xe9\\xe2\\x1f\\xf3\\x3e\\xdf\\xff\\xf1\\xa1\\x1e\\x98\\x2c\\x05\\x7a\\x29\\xd2\\x0b\\x89\\xf4\\xd8\\x26\\x53\\xf8\\x67\\xd3\\x29\\x41\\x7e\\x2c\\x9a\\xcf\\x16\\x34\\x1f\\x21\\xb6\\x42\\xf6\\xcf\\x44\\xa1\\x78\\xd8\\x01\\x42\\x8e\\xdd\\x0e\\xda\\xa1\\xe1\\x04\\xc6\\x21\\x0b\\x88\\x78\\xc7\\xa2\\x7c\\xf1\\x71\\x94\\xf3\\x63\\xcd\\xa0\\xc0\\xd2\\xe5\\x21\\x2e\\xee\\x19\\x3b\\xb6\\xc3\\xc3\\x8c\\x6c\\x18\\x17\\xfb\\xfc\\x18\\x2a\\x39\\x64\\x95\\xd1\\xf4\\x87\\x48\\xaf\\xe6\\x41\\x68\\xa3\\x3c\\x20\\xe4\\xd9\\xed\\xa1\\x3d\\x62\\x10\\x30\\x11\\xd9\\x77\\xac\\x1e\\xc2\\x06\\x60\\x00\\x51\\x11\\x78\\x3c\\x1d\\x6f\\x5b\\xc7\\x61\\x4a\\x46\\xd9\\x1e\\x5e\\x51\\xfe\\xde\\xa4\\xb1\\x63\\x27\\x1d\\x7f\\xc4\\xba\\x82\\x7a\\x1b\\xff\\x6c\\xfd\\xf1\\xfa\\x0e\\x68\\x5d\\xe5\\x47\\x88\\xb8\\x20\\x6d\\x88\\x7a\\xec\\x1d\\x89\\xb5\\xfc\\xaf\\xd2\\xd7\\x68\\xfe\\x59\\x64\\xcf\\x93\\xc9\\x77\\x6c\\x94\\xf6\\x38\\x0e\\xec\\xc9\\xaa\\xff\\xa7\\xf8\\x9d\\x7f\\x56\\x22\\xe6\\xdb\\x08\\x55\\xbf\\x36\\x59\\x2d\\xc2\\x9f\\xb7\\xf9\\x1a\\xaa\\xa0\\xfe\\x9e\\x28\\x67\\x68\\x5d\\x5c\\x11\\x01\\x8b\\x1a\\x48\\x90\\xe9\\xff\\x45\\xb2\\xf8\\xb7\\xa5\\x19\\x44\\x24\\x68\\x9b\\xf4\\x62\\xd0\\x63\\xc4\\x05\\xfb\\x95\\x8b\\xf5\\x0e\\x2a\\xbe\\x7e\\x21\\x92\\x0f\\xf5\\x71\\x28\\x13\\x21\\xf9\\xd0\\x90\\x7e\\xce\\xcf\\xdf\\x40\\x7c\\xe6\\x4f\\xd5\\x8c\\x22\\x9f\\x43\\xbc\\xc0\\x9f\\xe3\\x28\\xd9\\xcb\\xe8\\x33\\x88\\x7b\\xe2\\x42\\xdd\\x94\\xd6\\x83\\x7f\\x76\\xea\\xa8\\x51\\x53\\x09\\xce\\x07\\xbb\\x1f\\x18\\x65\\x9d\\x48\\xfe\\x01\\x51\\xc0\\x90\\x8f\\xec\\x10\\xb2\\xd6\\x51\\xd4\\x4e\\x45\\xe3\\xa7\\xa6\\xe2\\x60\\xfc\\xf7\\xa8\\xbc\\xe5\\xff\\xed\\x7b\\x90\\xdf\\x46\\x6c\\xf7\\x4f\\x91\\x1c\\x4c\\x67\\xd1\\xe9\\x5c\\x2e\\xcc\\xcc\\x2f\\xfc\\x3f\\xf9\\x19\\x7f\\x6d\\xfd\\xeb\\x27\\x5c\\xde\\x02\\xbf\\x60\\x26\\x52\\x2a\\x33\\x8d\\x24\\x9e\\x88\\x66\\xab\\xed\\x31\\xaf\\xf9\\x6d\\x12\\x5b\\x57\\x4a\\x2c\\x8c\\xbc\\xa8\\x12\\x49\\x78\\x42\\xfc\\xd9\\x25\\x2a\\x36\\xad\\xff\\x84\\x9e\\x48\\x4d\\x84\\x5a\\x4c\\x53\\x08\\xad\\xa6\\x22\\x43\\x51\\xad\\x58\\xa7\\xd8\\xad\\xf8\\x50\\x21\\x53\\x08\\x2c\\x8e\\x16\\xbf\\x54\\xe9\\x99\\xf4\\x79\\x9c\\x96\\x04\\x52\\x53\\xf1\\x33\\x62\\x90\\xcc\\xd6\\x92\\xb5\\x91\\x1f\\x81\\xb4\\x20\\xb3\\xc8\\xf1\\xfc\\x23\\x65\\x5c\\x0a\\xff\\xec\\xcd\\x9b\\xc4\\x4f\\xf1\\xcc\\x4c\\x38\\x88\\xed\\x41\\x3e\\x03\\x04\\xb9\\x26\\xa7\\x6e\\x89\\x74\\xdb\\xe4\\xba\\xb7\\xd9\\x1e\\x9f\\xa0\\xcf\\x98\\xd9\\xf3\\x60\\xa2\\x2c\\x85\\xac\\x31\\x6e\\x00\\x0b\\x05\\x02\\xf0\\x59\\x72\\x32\\x5e\\xe2\\x5a\\x59\\x0a\\x5e\\x63\\xd0\\x8e\\xaf\\x86\\x87\\xb9\\xab\\x91\\xf1\\xd2\\x71\\x6b\\xf8\\x20\\x7a\\x1f\\x5c\\xdd\\xc6\\x27\\xf3\\xd5\\x8a\\xe9\\xbf\\x2f\\x17\\xd6\\xe9\\x00\\x5a\\xa7\\x2e\\xff\\xd3\\x3a\\xfd\\xd1\\x68\\x7d\\xff\\x5f\\xbe\\x47\\xe3\\xca\\x24\\xf0\\x2d\\x93\\x83\\xe8\\xe2\\xa8\\x18\\x34\\xcb\\x5a\\xd0\\xf1\\x78\\x18\\x30\\x0c\\x7b\\x06\\x74\\xa4\\xc2\\x14\\x03\\xda\\x08\\x65\\x03\\x6f\\xa5\\xa0\\xa7\\x61\\xcf\\x8c\\xfe\\x3c\\x48\\x7e\\x23\\x99\\x7f\\x0a\\xfd\\x05\\x47\\x5d\\xb9\\xf2\\x60\\xf3\\x95\\x2b\\x78\\x6f\\x5c\\xe6\\x00\\x89\\xc8\\xa7\\x63\\x1b\\x00\\x15\\x84\\x57\\xd1\\x83\\x2f\\x8f\\x64\\xa9\\x23\\xc8\\xe0\\x68\\x11\\x40\\xbd\\x92\\x1f\\x55\\x7f\\xa0\\x5e\\xfe\\x38\\xbb\\xf1\\x7b\\x44\\xcb\\x4f\\x47\\xf2\\x48\\x2a\\x88\\x84\\xd2\\xc1\\xbc\\x4f\\xe9\\xa9\\xd8\\x23\\x2a\\x79\\x7b\\x25\\x08\\x21\\x2a\\x55\\x88\\x4a\\x9c\\x5c\\xe3\\xd7\\x14\\xc8\\x11\\x8f\\x79\\x04\\xd4\\x56\\xd2\\x28\\x14\\x9f\\x49\\xe6\\x41\\x7a\\xcb\\x7c\\xff\\xd2\\xee\\xfd\\xdb\\x7a\\x87\\x83\\x99\\xfe\\xba\\x2b\\x1b\\x1c\\x3d\\x06\\xad\\x61\\xde\\x3f\\xd8\\x6e\\xe5\\xce\\xba\\x1f\\x0e\\xd2\\x3f\\x2d\\x3d\\x33\\x9c\\x60\\x79\\xd4\\x1f\\xe0\\xe7\\x82\\xb1\\xf5\\xbb\\x28\\x05\\xd2\\x47\\x0e\\xeb\\x23\\x1b\\xd0\\x81\\x40\\x3e\\x8a\\xe5\\xfc\\xa0\\xec\\xb8\\x9a\\x1d\\xc3\\xa4\\x1f\\x35\\x83\\x23\\x97\\x77\\x9b\\xcd\\xbb\\x47\\xa3\\xcf\\x5f\\x43\\xce\\x2d\\x11\\xd1\\x64\\xa7\\x62\\x5e\\x51\\xd1\\x5a\\x3b\\x6d\\xd7\\x98\\xce\\x20\\x92\\x58\\x81\\x18\\x94\\x86\\x44\\xfa\\x3f\\x04\\x41\\x16\\xe6\\xa2\\x96\\x16\\x20\\x7f\\xc8\\xfd\\x36\\x3a\\x1b\\xe8\\x2f\\x83\\x1e\\xc7\\xbb\\xb5\\x3f\\x17\\x8a\\xa9\\x9e\\x3f\\x03\\xa8\\x3f\\xe1\\x67\\xf5\\xa8\\xce\\xdd\\xf9\\xe6\\x9e\\x50\\xe5\\x94\\x52\\xe6\\xfd\\xba\\x8d\\x6b\\xa9\\xfa\\x9b\\xd7\\xc6\\xbc\\xb4\\x69\\x30\\x1f\\xa0\\x2f\\xfb\\xe7\\x6d\\xe5\\xc7\\x82\\xb5\\x3b\\x36\\x57\\xf9\\x04\\xfb\\x7b\\x8f\\xa2\\x98\\xb6\\x68\\x7c\\x13\\x95\\x78\\x4c\\xa1\\x56\\xa9\\xa3\\xb8\\x02\\xd0\\xef\\xf1\\x6b\\x10\\xe1\\x8a\\x81\\xc2\\x4b\\x93\\xed\\x17\\xef\\xd1\\x73\\xfe\\x6c\\xf1\\xba\\xfd\\xb7\\x7e\\x30\\xf3\\x9b\\xcb\\xc6\\xd1\\x8b\\x7d\\xf7\\x3f\\xf2\\xd1\\xbf\\x8c\\x32\\xcc\\x59\\xc5\\xf8\\x0f\\xee\\x7c\\xb1\\x78\\x60\\xdd\\xb5\\x83\\x07\\xe9\\xc4\\xbe\\x1d\\x2a\\x2b\\x84\\xf1\\x3e\\x47\\xbc\\x7e\\x07\\x8d\\xe7\\xa4\\xe2\\x4e\\x72\\x26\\x93\\xc6\\xe9\\x74\\x9c\\x25\\xa3\\x38\\xd1\\x28\\x32\\x4a\\x83\\x65\\x46\\xbc\\x52\\x24\\x40\\xbc\\xe2\\x5e\\x4d\\x01\\xa8\\xa5\\xc9\\x5e\\x10\\xcc\\x4e\\x83\\xb8\\xe4\\x70\\xe6\\xd2\\x09\\xad\\x38\\xd7\\x2b\\xda\\xb2\\xf2\\x82\\xb4\\x8e\\xaf\\x75\\x49\\xef\\x5e\\x5e\\xb3\\x9a\\x35\\x35\\xeb\\xd2\\xae\\xc8\\xcf\\xbc\\xdf\\xeb\\xb5\\xb7\\xeb\\x64\\xe0\\x0f\\x6b\\xde\\xb4\\x27\\x8f\\x9f\\x9c\\xbb\\xaa\\x22\\x2f\\xee\\xb5\\xc5\\x05\\xf6\\x83\\x42\\xdc\\xbb\\x16\\xcd\\xf7\\x2c\\x1a\\x9f\\xa3\\x5c\\xc7\\x64\\x90\\x81\\xaf\\x91\\xc1\\x19\\x34\\x38\\xc0\\x43\\x8b\\x73\\xf4\\x0b\\x78\\x06\\x01\\x98\\x5d\\x7b\\xb9\\xae\\xa3\\x9f\\xd1\\xfa\\xb6\\xa1\\xf9\\x1c\\x44\\x32\\xdf\\x05\\x7d\\x7f\\x3f\\xfa\\x3e\\x44\\x1c\\x0b\\x9c\\xa0\\x69\\xa0\\x56\\xab\\x84\\x09\\xa8\\xd1\\x33\\x4c\\xc2\\x53\\x22\\x48\\x33\\x04\\xd4\\x34\\x08\\x04\\x26\\xf9\\x25\\xc6\\xf1\\xb5\\xdb\\x4f\\x81\\x93\\x2b\\x0d\\x73\\x57\\xf1\\x1e\\x3f\\xf8\\xf4\\x9b\\xcb\\xa6\\x95\\xd0\\xf3\\xe0\\x2b\\xfa\\xa3\\xc1\\x2d\\x2b\\x2a\\x11\\xd7\\xfa\\x56\\xd6\\xb5\\xc0\\xb4\\xe2\\x4b\\xee\\x3f\\x90\\xb1\\xb4\\x67\\x28\\x88\\xe5\\x14\\xaf\\x44\\x3e\\xb9\\x02\\x14\\x00\\xad\\x4e\\xfd\\x50\\xcb\\xbc\\x7f\\x5f\\xea\\x2d\\x80\\xf8\\x7a\\x93\\xb9\\x81\\x7b\\x32\\x85\\x94\\xb4\\x1a\\x68\\x34\\x5a\\x44\\x8b\\xf6\\x34\\x68\\x4d\\xc9\\xc9\\xc4\\x82\\x51\\x95\\x71\\x5c\\xa2\\xd0\\x0d\\x2b\\x0f\\x64\\xc7\\x67\\xd3\\x37\\x13\\x87\\xb4\\xcf\\x8e\\x53\\x2f\\xac\\x5d\\x68\\x1a\\x3d\\x9c\\x3f\\x1f\\xc7\\x38\\xce\\xc5\\xfb\\x82\\x4f\\xb4\\xab\\xeb\\x4f\\xef\\x1a\\xb5\\xc8\\x37\\xf9\\xac\\x48\\x0b\\x73\\x15\\xd1\\x62\\xa0\\x1c\\x47\\x94\\x9c\\x30\\x63\\x25\\x22\\xc7\\x40\\x29\\xc4\\x19\\x47\\xb0\\x17\\xc8\\x7d\\x79\\x61\\xa6\\x70\\x3e\\x99\\xe5\\x99\\xcb\\xb5\\xdf\\x83\\x9f\\x90\\x80\\xac\\x12\\xe6\\x78\\xff\\x26\\xf3\\x3e\\x11\\x8e\\x16\\xc2\\x9a\\xd4\\xdf\\x63\\x19\\xe6\\x26\\x8a\\x47\\x12\\x8f\\x38\\x4c\\xed\\xd5\\xe4\\xe1\\x0e\\x44\\xb9\\x0c\\x0d\\x40\\x21\\x99\\x10\\x74\\xb3\\xad\\x78\\x8e\\x91\\x22\\x1e\\x25\\x67\\x47\\x8e\\x04\\x8c\\xe2\\x19\\x1e\\x86\\xb9\\x47\\x31\\xb3\\x9e\\xa2\\x3b\\x7d\\xfa\\x85\\x6b\\x7e\\xed\\x52\\xfd\\xfc\\xb5\\x3f\\xf1\\x05\\x45\\x2d\\x26\\x64\\x06\\xfa\\x2f\\x1f\\x3f\\x3d\\x87\\xdf\\x60\\x3e\\x79\\xb8\\x6c\\x39\\xbd\\xad\\xae\\x63\\x9f\\x9e\\xe3\\x86\\x83\\x89\\x60\\xe0\\xd0\\x21\\x01\\xef\\xcb\\xed\\xba\\xed\\x5a\\xc4\\xf7\\xe5\\xe3\\x04\\x5e\\xd6\\xd2\\x5d\\x44\\xbe\\x9b\\x5e\\xf1\\x41\\xa0\\xc3\\x96\\xb9\\x16\\xb3\\xfe\\x72\\x65\\x65\\x84\\xf9\\x35\\xa7\\x90\\x72\\xcd\\x22\\x9f\\x5f\\xcd\\xcf\\x85\\x9f\\xa3\\xcf\\xeb\\x28\\xeb\\x11\\x39\\x27\\x48\\x94\\x1c\\x93\\x0e\\xda\\x51\\x84\\xdc\\xa6\\x02\\x40\\x67\\x5f\\xc5\\x6c\\x99\\x29\\x68\\x0d\\x4a\\x27\\x99\\x92\\xbe\\x1d\\xc8\\xd2\\x17\\x0f\\xbc\\xff\\xb2\\x90\\xb3\\x20\\x5b\\x75\\x07\\x3d\\xd3\\x8a\\x6c\\x95\\x46\\xd2\\x4a\\x0d\\x16\\x53\\xd1\\x56\\x01\\xd1\\xba\\xe2\\xe7\\x27\\x03\\xf4\\xe4\\x2c\\xb2\\x5b\\x4f\\x5e\\x92\\xed\\x78\\x94\\x19\\x25\\xf3\\xaf\\xfb\\x41\\xa7\\x57\\x3f\\x49\\xb6\\x98\\xf9\\xf7\\xf9\\x57\\x51\\x20\\xf3\\xc3\\xd7\\x46\\x57\\x0b\\xfe\\xec\\xc1\\x17\\x4f\\x0d\\x18\\xdd\\xf3\\xcf\\x83\\xef\\x5f\\xee\\x3f\\x68\\x61\\x3d\\xf5\\xab\\x30\\xef\\x92\\xfa\\x4f\\x98\\x64\\x19\\xee\\xeb\\xea\\x3f\\xa2\\xd7\\xb5\\x57\\x80\\x5c\\xa4\\x26\\x0c\\x19\\x8d\\x43\\x23\\xb3\\x20\\x4b\\x6a\\x01\\x21\\xa4\\x0d\\x04\\xad\\x97\\x20\\xcc\\x50\\x6c\\x76\\x56\\x9c\\x11\\x8e\\x1a\\x3c\\x9c\\xd7\\x4e\\xad\\xed\\x03\\xd2\\xdf\\x7c\\xf9\\x36\\xdf\\x81\\xbf\\x92\\xfc\\x2d\\xe8\\x73\\x1c\\xce\\x2c\\xec\\x4f\\x57\\xf3\\xdd\\xb6\\xee\\x3d\\xc7\\x6f\\xe6\\x3f\\x19\\x76\\xa5\\xf8\\x1e\\x30\\x62\\xff\\x81\\x64\\x8a\\xa5\\xd0\\x1c\\xe5\\x48\\x8a\\x62\\x8f\\xd0\\x0a\\x71\\x96\\x34\\x99\\xa5\\xf2\\x11\\xb3\\x14\\xc5\\x0a\\xdf\\x3a\\x21\\x0c\\x65\\x06\\xdd\\xbf\\xf5\\x3d\\xed\\x40\\x3c\\x7c\\x70\\xf3\\x10\\x7d\\x70\\x14\\x62\\x2a\\x12\\xac\\x17\\x8a\\x86\\x80\\x92\\x07\\xcb\\xe9\\xc4\\xea\\xec\\x8a\\x4a\\xcc\\xcb\\xaf\\xd0\\x38\\x4a\\x24\\x5f\\x2e\\x2a\\xfb\\xb8\\xd5\\xe1\\xe0\\x6c\\xed\\x75\\x58\\x57\\xd1\\xa3\\x39\\xb4\\x4e\\xc2\\xf4\\xb0\\x13\\xd0\\x8a\\x82\\xd6\\x3a\\xd2\\x43\\x10\\x03\\xc6\\x89\\x8d\\x85\\xf0\\xba\\x89\\xf6\\x0e\\x89\\x1a\\x06\\xdf\\xc3\\xbd\\xfe\\x6c\\x79\\x00\\x6e\\x3e\\x76\\xde\\x39\\xab\\x6e\\xbf\\x0f\\xec\\xee\\xe7\\xb9\\xba\\xf4\\xc6\\x92\\xaf\\xde\\xf9\\xa5\\x22\\xef\\xc8\\x3b\\x65\\x03\\xaf\\x32\\x37\\x8f\\x9d\\x9a\\xb6\\xa4\\x6e\\xf9\\x41\\x70\\xf2\\xe9\\xd2\\x6f\\x7e\\xe5\\xdf\\xaf\\xfb\\x9d\\x76\\x5c\\x19\\x04\\xe6\\x7f\\x3a\\x6b\\x1c\\xa2\\xeb\\x01\\xf2\\x15\\x51\\xfa\\xdd\\x2e\\x4a\\xbf\\x01\\x16\\x31\\xfe\\x02\\x52\\xf0\\x7f\\x0b\\x75\\x56\\xff\\x40\\x0c\\x7b\\x15\\x7d\\xd6\\x88\\x7d\\x97\\x32\\x62\\xa5\\x1f\\x2f\\x0f\\xa6\\x08\\x9c\\x28\\xd9\\x3b\\xa7\\x8d\\x75\\x57\\x90\\xb8\\x0d\\xf3\\xb4\\x2f\\x5c\\xe6\\x9f\\x5f\\x53\\x93\\x63\\x3f\\x48\\x1b\\xb7\\xb5\\xeb\\xd1\\xe1\\x60\\xe6\\x84\\xaa\\xd2\\x45\\x64\\x5f\\x69\\x2e\\xd2\\x43\\x19\\xd1\\x71\\x1f\\x15\\x7f\\x44\\x65\\x3f\\x23\\x0e\\xd2\\xf6\\x98\\x11\\xd0\\xe0\\x4c\\x64\\x71\\xa4\\x4e\\xee\\xa4\\xcf\\x04\\x59\\x12\\xa5\\x08\\x0d\\xe0\\x04\\xd9\\x22\\xfe\\x90\\x58\\xc9\\x01\\x0a\\x8f\\xfb\\xe8\\x2d\\x5f\\x7f\\xd8\\xef\\x25\\xfe\\xf7\\x23\\x37\\x6f\\x67\\x8c\\xfb\\xb4\\xeb\\xd0\\xc5\\x2b\\x17\\x9e\\x98\\x9a\\x3f\\x67\\x13\\xb2\\xa8\\xcf\\xbc\\x34\\x84\\x1f\\xc5\\xff\\x73\\xc5\\x27\\xef\\xf5\\x05\\x1a\\xc0\\xa5\\x57\\xf2\\x63\\x57\\x2f\\x5d\\x3a\\xe2\\x1a\\x18\\x14\\x3f\\xaa\\x94\\xcc\\xfb\\xd5\\x7a\\x64\\x2b\\x10\\x4d\\x1a\\xca\\x75\\x82\\x82\\x6a\\x99\\x5a\\x75\\x06\\x89\\xa5\\x4c\\x70\\x4a\\xc1\\x7c\\xd1\\xa2\\xc5\\x93\\xc6\\xe9\\xa6\\x20\\x4d\\x31\\x6c\\xb6\\x0f\\xec\\x3a\\x74\\x7a\\xe3\\xfe\\xab\\x85\\xe7\\x2b\\xf9\\x8f\\x78\\x33\\x3f\\x32\\x1e\\xd8\\x3e\\x85\\xbf\\x3f\\xe8\\x31\\x02\\xbc\\x0a\\xd6\\xf1\\x09\\x75\\xf7\\xff\\xb0\\xbc\\x89\\xe5\\x7d\\x29\\x52\\xbc\\xb5\\xc4\\xf7\\x25\\x1d\\x51\\xa8\\x6a\\x41\\xe8\\x64\\x58\\xa1\\x40\\x96\\x53\\xfe\\x5a\\x83\\xb6\\x09\\x2a\\x2c\\x56\\x48\\x13\\xcc\\x14\\xd1\\xc6\\x21\\xef\\x27\\x59\\xb9\\xfd\\xb5\\x57\\xf5\\x73\\x56\\xf1\\xd7\\x3a\\xfd\\xea\\xe7\\x4b\\x16\\x83\\x8f\\x90\\x3c\\x62\\x95\\x2e\\xcf\\xad\\xac\\xe0\\xf7\\x1f\\xa4\\x0f\\x63\\x89\\xa4\\x84\\xf8\\x83\\xd9\\x4d\\x7c\\x5f\\xcb\\x23\\x2c\\x47\\xc6\\x63\\x59\\x93\\xc2\\x64\\x16\\x97\\x13\\x4b\\xa4\\x42\\x54\\x38\\x45\\x83\\xd3\\x8d\\x8c\\xdd\\x78\\x5c\\xcc\\x73\\xbf\\xa8\\xf7\\xf0\\xe6\\xf2\\xf5\\xfc\\xdd\\x8e\\xff\\x44\\xe3\\x2f\\x01\\xa7\\x7f\\xb9\\xd1\\xfd\\x18\\xff\\xc3\\x29\\xbe\\xc2\\x0f\\x0e\\x9c\\xfa\\x3c\\xcd\\xa4\\x87\\xdd\\x26\\x0e\\x23\\x94\\x9c\\x3a\\x3d\\x80\\x5f\\xc6\\xd7\\xcf\\x3b\\xf8\\xc1\\xdf\\xca\\x7a\\x13\\x9d\\x5f\\x8f\\x28\\xad\\x60\\xf0\\xb9\\x8c\\xfd\\x84\\x4d\\xab\\x05\\x46\\xf9\\xe9\\xc8\\xb4\\x25\\xd4\\x6f\\x32\\xe7\\x34\\x90\\x18\\xf4\\xd2\\x16\\x8e\\x9c\\xc7\\x40\\x14\\x7e\\x80\\xc2\\xda\\xe3\\xea\\x98\\xbc\\x11\\x17\\x2b\\xb2\\xdc\\xcc\\xda\\xf5\\x99\\x5d\\x5e\\x2f\\xca\\xfb\\xf1\\x2e\\x32\\x85\\x7b\\x32\\xf2\\x5a\\xcf\\x7f\\xe6\\xeb\\x2b\\xeb\\xe7\\xe4\\x77\\x89\\xdd\\x7e\\xf8\\x0f\\xfe\\xce\\x67\\x7f\\x23\\x71\\xf3\\x0f\\x68\\xfe\\x23\\x88\\x7c\\x25\\x9e\\xd0\\xcb\\x64\\x40\\xc9\\x20\\xab\\x7a\\xcc\\x40\\x03\\xfa\\x4c\\x94\\x08\\x4b\\xe8\\x8c\\x78\\x68\\x2c\\xc8\\x48\\x19\\x84\\x33\\x20\\xe4\\xb3\\x4c\\x70\\xd7\\x83\\x22\\x1f\\xfd\\x45\\x5d\\xed\\x47\\xc0\\x5e\\x5a\\x15\\xd7\\xe1\\x6c\\xbb\\x94\\x3e\\x33\\x07\\xdd\\x3d\\xc8\\xf8\\xeb\\xfe\\x8c\\x5d\\x32\\xf7\\xe6\\xb5\\xd5\\x1b\\x06\\xc4\\xf1\\x45\\xc2\\xbe\\x04\\xd2\\x2f\\x66\\x3d\\xd1\\x2f\\x0b\\x95\\x78\\x1c\\x42\\x06\\x19\\x52\\x05\\x72\\x23\\x0c\\xde\\xa0\\x10\\xbd\\x3e\\x2d\\x2c\\xb0\\x78\\x77\\x8b\\x9c\\x36\\xbb\\x80\\x68\\xd4\\x38\\x6c\\xd4\\xc8\\x6a\\x83\\x6d\\xb7\\x6a\\xbf\\xf1\\xd3\\xb2\\xcb\\xaf\\x5e\\xe4\\x37\\xdc\\x4d\\x3e\\x0a\\xe8\\xa5\\xc3\\x67\\xd7\\xfd\\x0c\\x3d\\xf7\\x07\\x31\\xbb\\xc0\\xe1\\x2d\\xcf\\x1e\\xe6\\x37\\xf0\\x57\\x2a\\x3f\\xe9\\xf3\\x15\\x60\\xe6\\x55\\x94\\x60\\x9f\\x80\\xec\\xf7\\xa3\\x7d\\x42\\x1b\\xc1\\x27\\xf8\\x9b\\xfa\\x84\\x85\\x2b\\xa3\\x7c\\x02\\x72\\x94\\x11\\x8f\\x80\\xbc\\x24\\xa0\\x8e\\xd7\\xff\\x2e\\xc3\\xba\\xe9\\xa6\\xda\\x1c\\xb1\\xcb\\x6b\\x41\\x87\\x90\\x21\\x7c\\xc8\\x0e\\x34\\xf6\\x9d\\x76\\x5a\\x81\\xeb\\x42\\xb5\\x94\\xf5\\x2c\\x7a\\xbe\\x05\\x49\\x4e\\x7b\\x34\\x96\\x45\\x32\\x07\\xa4\\xfd\\xec\\x80\\xaa\\xca\\x4a\\x12\\xd3\\x42\\x2d\\xd4\\x01\\x83\\x2f\\x8e\\x1c\\x48\\xd3\\x5a\\xc0\\xb0\\x28\\x28\\xc0\\xed\\x33\\x60\\xfc\\xab\\x55\\x69\\x1d\\xc3\\x35\\x83\\x47\\x00\\x03\\x68\\x7e\\xa4\\xe3\\xfe\\xb3\\xcf\\xf6\\x79\\xf6\\x1e\\xbf\\x88\\x3f\\xfa\\x5a\\xbf\\x49\\x63\\x51\\x84\\xca\\xd7\\xee\\x5e\\xdc\\x3b\\x68\\x30\\xf1\\xfc\\x80\\xcf\\xae\\xd2\\x9a\\xba\\x3f\\xf9\\xdf\\xee\\x2f\\xcf\\xa3\\x99\\x4f\\xeb\\x96\\xeb\\xad\\xb3\\xd6\\xe1\\xf5\\xbd\\x8a\\xec\\xac\\x8b\\xd0\\x98\\x74\\x8c\\x33\\x5b\\xcc\\x42\\x94\\x60\\x41\\x54\\x69\\xb0\\x6d\\x3d\\x8a\\x54\\xaa\\x96\\x04\\x0b\\x0d\\xc1\\x64\\x24\\x64\\xd0\\xd2\\x62\\xa7\\x1a\\x53\\x40\\xe2\\x08\\x7c\\x7b\\x25\\x56\\xab\\x2b\\x13\\x03\\xa3\\x9f\\xfd\\x8b\\xd2\\xaf\\x1f\\x3e\\xda\\x3d\\xf3\\xbc\\x9f\\xde\\xfa\\xf5\\x15\\xd3\\x4a\\xfa\\x23\\xac\\x5d\\x75\\xa7\\x4f\\x5e\\x0a\\x1f\\x9c\\xbc\\x95\\x1e\\x7d\\x70\\xc7\\xa1\\x82\\x31\\x75\\x62\\x1f\\x27\\xe4\\x57\\xe0\\x3d\\xe6\\x7d\\x7d\\x02\\x8b\\xa2\\x68\\x3d\\xc7\\xb2\\x80\\x27\\xef\\xd7\\x46\\xde\\x57\\x34\\x7e\\x9f\\xee\\xd2\\xe8\\x7d\\x05\\x7e\\x1f\\x5b\\x18\\x46\\x06\\xe3\\x91\\x3f\\xc4\\xe7\\x47\\x14\\x5d\\x8b\\xdd\\xdf\\x65\\xd2\\xc6\\x3d\\x08\\xde\\x5c\\x01\\x98\\xdb\\x8c\\x8c\\x9e\\x85\\x53\\x07\\xf4\\x39\\xe6\\x2b\\xf2\\x39\\x72\\xe2\\x01\\x64\\xc2\\x67\\x85\\x1e\\x3f\\xf8\\xfa\\x5c\\xe4\\x1b\\x15\\xcb\\x01\\xf3\\x2d\\xfe\\x5a\\xdd\\x62\\xfc\\x55\\x24\\xa3\\xc8\\xdb\\xc3\\x1a\\x06\\x7b\\x22\\x25\\x95\\x1a\\xb2\\x53\\x72\\x25\\x64\\xd5\\xac\\x4a\\x09\\x8b\\xc2\\xe9\\x4a\\xa0\\x54\\xb2\\x0a\\x99\\x0e\\xb0\\x91\\x22\\xca\\xca\\x28\\xd4\\xc6\\x00\\xf4\\x8b\\x6d\\xdb\\x6b\\x0e\\x04\\xf9\\x31\\x2f\\x1f\\xa6\\xab\\x0f\\x24\\x77\\xfb\\x19\\xb4\\xe2\\xdf\\x67\\xda\\xd4\\x2d\\x04\\x97\\xf9\\xa0\\xa0\\x07\\xcf\\xa3\\x75\\xb9\\x4b\\xee\\x7e\\x9a\\xa8\\x01\\xa1\\x2c\\x2d\\xd0\\xd0\\x06\\x85\\x51\\xa5\\x33\\x1a\\x80\\x5e\\xc6\\x72\\x9c\\x85\\x35\\xcb\\x4d\\x32\\x0c\\x49\\x07\\x71\\x3b\\xd5\\xa2\\xb0\\x4e\\x89\\x7b\\xf5\\x2b\\xf5\\x4a\\x20\\xd3\\xb1\\x16\\xa0\\x2d\\x0a\\x03\\x4b\\x43\\x83\\x83\\x74\\x72\\xdb\\x22\\xa5\\x01\\xe2\\xde\\x18\\x55\\xe4\\x87\\x9d\\xb4\\x88\\x27\\x4f\\xfe\\x00\\xbf\\x29\\xc0\\x66\\xd6\\x75\\x0f\\xf1\\xab\\xbf\\x38\\x4f\\x7f\\x01\\x07\\xb9\\x78\\x7b\\x1e\\x38\\xef\\xe2\\xf3\\x3b\\xd2\\xe0\\x41\\x19\\x08\\x56\\xf4\\x03\\x3d\\xf8\\xe3\\x18\\x84\\xfd\\xfc\\x0a\\x7e\\x1f\\xe8\\x0e\\x3e\\x27\\x77\\x59\\xda\\xd5\\xdf\\x93\\xfd\\xc8\\x14\\x52\\xe9\\x54\\x2e\\xd5\\x89\\xda\\x11\\xea\\xe7\\x8f\\x8d\\x6d\\x65\\x4d\\xec\\x94\\xe1\\x74\\xea\\xa8\\x4e\\x72\\x85\\x22\\xaf\\x79\\xf3\\x4e\\x56\\xd8\\xa5\\x73\\x86\\xb3\\x38\\x9c\\xde\\x0e\\xf7\\x19\\xcd\\xd0\\xa5\\xab\\x33\\xd2\\x33\\xd2\\x93\\xd5\\xc9\\xed\\x8b\\xc2\\xc9\\x56\\xca\\xaf\\xf7\\xd3\\x4a\\xe8\\xf7\\xc7\\xc7\\x7b\\x8b\\xc2\\xf1\\x56\\x63\\xeb\\xa2\\xb0\\x51\\xaf\\x93\\x03\\x25\\x94\\xcb\\xd5\\x04\\xb0\\x22\\x52\\x5e\\x85\\x66\\x14\\x55\\xdf\\x47\\xfe\\x25\\x15\\xc3\\xe1\\x52\\x77\\x23\\x69\\x1e\\x15\\x05\\x34\\x13\\x34\\x44\\xdd\\x08\\xcf\\x12\\x01\\x0b\\x12\\x1b\\x0a\\x22\\xb0\\xcf\\x65\\x58\\x4e\\x2c\\xd3\\xb4\\x45\\xf5\\x46\\xcb\\xca\\x66\\xc5\\xae\\xc1\\x38\\xbb\\x64\\x45\\x60\\x08\\x98\\x29\\x83\\xb3\\x66\\x96\\xae\\x6e\\xbe\\xa2\\xeb\\xff\\x6d\\x7a\\xfa\\x6c\\x60\\xe0\\x4f\\x6b\\x06\\xac\\xed\\xc9\\xff\\xcc\\x7f\\xf6\\x83\\xe9\\xc3\\xd9\\x73\\x3d\\x47\\xd3\\xbf\\x7d\\xf3\\xef\\xc3\\x67\\xdf\\x78\\xf3\\xaf\\x3a\\x39\\x5c\\xfd\\xc1\\xc6\\xbf\\xf4\\xac\\x2c\\x1c\\xfa\\xc2\\x64\\x7d\\x1d\\xcd\\x4c\\x1b\\x3f\\xeb\\x40\\x2c\\xdd\\x31\\x50\\xb8\\x78\\x4d\\x79\\x59\\xfe\\xa2\\xe9\\xab\\xe6\\xad\\x9c\\xdf\\x63\\x79\\xdf\\x53\\xaf\\xb1\\x70\\x90\\xe7\\x68\\x9f\\x32\\xcf\\xc6\\xc5\\xbb\\x76\\x7d\\x78\\x3a\\x63\\x56\\x6c\\x0c\\xc3\\x64\\x8d\\xee\\xd5\\xb3\\x22\\xbc\\xb5\\xdf\\x5b\\x05\\xb3\\x17\\x1d\\xdc\\x45\\x41\\x82\\xf7\\x11\\xc3\\x74\\x42\\x71\\xa6\\x8f\\x4a\\xa1\\x46\\x84\\x10\\xad\\x6a\\x9f\\x1e\\x09\\x85\\x9b\\x8e\\x8b\\x83\\x14\\xe5\\xd6\\x6b\\xd4\\x6c\\xf3\\x54\\x1f\\xab\\xd5\\x21\\x31\\x48\\xa1\\xf1\\x2d\\x66\\xa8\\xd3\\x29\\xcd\\xe6\\xc4\\xa2\\xb0\\x59\\x6f\\x73\\x28\\x1d\\x88\\x8f\\xca\\x86\\xae\\x22\\x0d\\x17\\x72\\x1e\\xd3\\x02\\x5c\\xac\\x34\\xc1\\xf0\\xc0\\xe2\\x19\\x15\\x69\\x31\\x42\\x78\\xd7\\xd0\\x5e\\x44\\xaa\\x37\\x44\\xd2\\x0f\\xbf\\xae\\xa9\\x75\\xae\\x6f\\x57\\x7f\\xe7\\x1f\\x97\\xfb\\x3c\\xe9\\x7c\\x52\\xd6\\xfc\\xce\\x47\\x2f\\x9f\\x7b\\x50\\x8f\\x5b\\x8d\\xcc\\x5f\\x78\\xf1\\x8b\\x55\\x1b\\x2b\\x2a\\x6a\\x96\\xb9\\x55\\xb0\\x60\\x73\\xd1\\x8a\\xec\\xf2\\x03\\x47\\x93\\x91\\xae\\x79\\xbe\\xf9\\x62\\xd1\\x83\\xb7\\xcd\\x43\\xc6\\x14\\x77\\x59\\x31\\x76\\x50\\xfb\\x1e\\x4f\\xad\\x6b\\x1d\\xb9\\x87\\x83\\x31\\xfc\\x8c\\x32\\x9c\\xc9\\x09\\x7d\\xcf\\x19\\x5c\\xa3\\x84\\x63\\xd0\\xa4\\x90\\x59\\xc1\\x6a\\x51\\x4c\\x6a\\x32\\x02\\xa4\\x05\\x40\\x47\\xa1\\x29\\x8b\\xe8\\x57\\xf9\\x29\\x51\\xad\\x18\\x83\\xc4\\x03\\xeb\\x29\\x3f\\xa9\\xee\\x84\\x28\\x01\\x09\\x7c\\x0c\\x46\\xdc\\xfc\\x27\\x7f\\x88\\x7f\\x0f\\x7c\\xf8\\xdc\\x96\\x03\\x3b\\xce\\x7c\\xf8\\x07\\xd3\\xe6\\xa3\\x0b\\xfc\\x79\\x7e\\x07\\xbd\\x7b\\xc5\\xa2\\x07\\x37\\x40\\xac\\xa0\\x8b\\x7f\\x8a\\xe3\\xa9\\x29\\x07\\xc6\\x91\\x31\\x69\\x8c\\x1a\\x85\\xd1\\x6a\\x65\\x68\\xe4\\xf9\\x5d\\x4e\\x0b\\x0d\\x69\\x24\\xa4\\x28\\xe3\\x50\\x41\\x08\\x29\\x96\\x35\\x14\\x85\\x59\\xe4\\x42\\x1a\\x91\\x21\\xb1\\x37\\xba\\x5d\\xb0\\x94\\xdd\\x61\\xda\\xc8\\x75\\x84\\x46\\xf4\\x91\\xde\\x2d\\xc6\\xc0\\x80\\x65\\xae\\xa5\\xe1\\x46\\x74\\xe6\\xfd\\xec\\xfa\\xb9\\x23\\xa2\\x15\\xdc\\x5a\\x01\\xde\\x6b\\x20\\x97\\x7f\\x03\\xab\\x62\\x2c\\x39\\x6f\\x41\\xca\\xf8\\x2b\\xa2\\x57\\x85\\x2b\\x9a\\x71\\xdf\\x0d\\x4e\\x05\\xa0\\x1a\\x42\\x8d\\x4c\\x81\\xec\\x84\\x0c\\xd1\\x89\\x1c\\x39\\x4d\\xe3\\xe2\\x14\\x1d\\x50\\x36\\x18\\x8a\\xe8\\x7b\\x59\\xd1\\x37\\xb5\\xb1\\x7d\\x90\\x6c\\x03\\x6c\\xfb\\xe0\\xf6\\xc7\\x74\\xbd\\xab\\xee\\x44\\x1e\\x1d\\xe7\\xaa\\xbb\\xde\\x91\\x1e\\x22\\xd9\\x01\\x12\\xfb\\x91\\x7b\\x8f\\xc8\\x06\\x24\\x50\\x7d\\x43\\xcd\\x2d\\x56\\x45\\x5c\\x9c\\xde\\xed\\xf6\\xa9\\xad\\x0c\\x4c\\x82\\x89\\x11\\xb8\\x79\\xca\\x11\\x81\\x9b\\xa7\\x64\\x45\\x0d\\x58\\xf3\\xd4\\x43\\x40\\xf3\\x4d\\x91\\x9e\\xff\\x47\\x68\\xf9\\xff\\x8c\\x24\\x7f\\xe7\\x3f\\x81\\xc7\\x6f\\x3b\\x86\\xd7\\xfc\\x63\\x7e\\x1c\\xd8\\x8f\\x78\\x88\\xfd\\x43\\x4a\\xc8\\xcc\\xca\\x38\\xe4\\x30\\x14\\x14\\x4d\\xcb\\x39\\x1d\\xa4\\x7b\\x87\\x21\\xbe\\xd9\\x7c\\x41\\x82\\xc7\\x0d\\x46\\xda\\xf7\\xe2\\xaa\\x10\\x5c\\xfd\\x76\\x20\\xf6\\x78\\x2c\\x38\\xfa\\xf1\\xf1\\x4f\\x6e\\x1d\\x3a\\xc4\\xfa\\xee\\x5f\\xc0\\x37\\xe8\\x31\\x7f\\x7e\\x46\\xfc\\xc9\\x40\\xff\\xd0\\x53\\xcd\\x43\\x56\\xa5\\x46\\xa5\\x81\\x46\\x68\\x50\\xab\\x90\\x3e\\xea\\x28\\xae\\x29\\x27\\x1a\\x6a\\xde\\x71\\xf2\\x4c\\x8e\\x84\\x89\\xaf\\x45\\xa1\\x1c\\xd0\\xad\\x5e\\xbf\\xb9\\x30\\x74\\xa8\\xd9\\xf4\\x1f\\x5d\\x60\\xcf\\x53\\xfe\\xf7\\xcd\\x1b\\x57\\xc7\\x0d\\xe9\\xff\\x37\\x7a\\xf0\\xca\\x3a\\xf6\\x05\\xe1\\x1e\\x30\\xc6\\x43\\xea\\x47\\xea\\x79\\xfe\\x24\\x63\\xdf\\x46\\x13\\xbb\\x2f\\xf5\\x45\\xc1\\xd6\\x14\\x02\\x8d\\x02\\x40\\xad\\x4e\\x8e\\xc2\\x11\\xc8\\x30\\x4a\\x85\\x82\\xe2\\x74\\x94\\xa6\\x24\\x22\\xb9\\xe4\\x0a\\x40\\xba\\x88\\x67\\x2e\\x98\\x04\\x49\\x22\\xb8\\x7c\\x5c\\x2f\\x92\\x8d\\x54\\xdd\\x4f\\xff\\xbd\\xae\\x53\\xe1\\xb2\\x98\\xe5\\x43\\x8e\\x74\\xbb\\xea\\xbb\\xda\\x9d\\x56\\x81\\xa7\\xfa\\x3f\\x53\\x4e\\xcb\\xf8\\xf9\\xeb\\x9e\\x5d\\xc3\\xcf\\xa6\\x24\\xec\\x61\\x7c\\x6f\\xdc\\x82\\xe7\\xad\\x52\\x63\\xb8\\x41\\xa3\\x9a\\xb1\\xda\\x2c\\x72\\x56\\xa3\\x33\\xd2\\x6a\\x0b\\x47\\xaa\\x09\\x83\\xe4\\x96\\x78\\xe3\\x42\\xc2\\x47\\xdd\\x0c\\xff\\xf8\\xc5\\xc7\\x5c\\x0a\\xbf\\x7f\\xe1\\x71\\x17\\xc2\\x89\\x5e\\x30\\x4b\\xc9\\xfc\\xfd\\x21\\x03\\xab\\xe4\\x70\\x6e\\xa2\\xd5\\x29\\x19\\x8d\\x8e\\x83\\x6a\\x0b\\x25\\x8c\\x4e\\x06\\x27\\x55\\x80\\x02\\x9a\\x3f\\x1e\\xdd\\x04\\xf6\\x4e\\x36\\x37\\xa7\\xdf\\xbd\\xf2\\xf1\\xa1\\x79\\x6e\\x7b\\x5d\\xc6\\x7b\\x18\\x63\\xf7\\xe5\\xaa\\x57\\xe0\\x50\\x34\\xdc\\x53\\x8b\\x8b\\x1e\\x3c\\xcd\\xb4\\x91\\xee\\x0b\\x92\\xfa\\x2a\\xa1\\xb6\\xcd\\x4e\\xb0\\x65\\x71\\x6d\\xa2\\x95\\xd8\\xad\\x38\\xaa\\x05\\xd3\\x0b\\xfe\\x81\\xc6\\x77\\x22\\x2e\\x28\\x0d\\x4a\\x3b\\x54\\x42\\x97\\x9b\\x33\\xd7\\x02\\xdb\\xb1\\x30\\x47\\x69\\xd1\\xcf\\x23\\x28\\x99\\xc5\\xab\\x9f\\x1e\\x6d\\xbb\\x48\\x2a\\x4b\\x0b\\xe9\\x9a\\x31\\xce\\x26\\x1e\\xfd\\x91\\xcb\\xbc\\xf4\\x94\\x9b\\x0f\\x16\\xf1\\xfc\\x1b\\x5f\\xd7\\x2f\\x03\\xf0\\x85\\xcf\\x3f\\x39\\xff\\xfc\\xc6\\xf3\\xe1\\xd7\\xe1\\x1f\\xd7\\xde\\xda\\xcb\\xdf\\x9f\\xf7\\xd7\\x37\\x0f\\x00\\xb0\\xf0\\xb5\\x53\\xdb\\xa7\\x2c\\x2e\\xde\\x3d\\x78\\xea\\x22\\x61\\xcf\\x20\\x8e\\x1a\\x05\\xff\\x01\\x6f\\xa0\\xdc\\x3a\\x14\\x52\\x3b\\x64\\x66\\x03\\x44\\xb4\\x78\\xdc\\x5a\\x8a\\xd0\\xa1\\x35\\x5b\\xd0\\xcf\\x13\\x61\\xb3\\x99\\xe3\\x64\\x84\\x22\\x8e\\x4a\\x17\\xb4\\x32\\x9a\\x2e\\x24\\x12\\x99\\xd2\\x65\\x07\\xe1\\x18\\x34\\x52\\xc9\\x2c\\xf8\\x4a\\x3a\\xee\\xec\\xcb\\xbd\\xcb\\x9a\\xcd\\x7e\\x7a\\xe6\\xb7\\xb5\\x17\\xaf\\x7f\\x74\\xc9\\xda\\x7b\\x4c\\xeb\\xad\\xd0\\x7f\\x70\\x6b\\xc1\\x48\\xed\\x09\\xdd\\xb9\\x2d\\xbb\\x7f\\x9d\\xf9\\xe1\\xeb\\xaf\\xd6\\xc7\\x9e\\xd2\\x74\\xaf\\xe9\\x3c\\x66\\x12\\xd2\\xb4\\xbe\\xf5\\x9f\\x31\\xf3\\x98\\x2a\\x24\\x23\\x5e\\x2a\\x91\\xea\\x1e\\x72\\xca\\xec\\x7e\\x03\\x63\\xe4\\xb8\\x78\\x68\\x74\\x6b\\xa1\\x36\\x39\\x49\\x11\\xeb\\x30\\x33\\x94\\x4a\\x65\\x45\\x74\\x1d\\x0f\\xcb\\x55\\x54\\x0c\\x7a\\x71\\x34\\x6c\\x42\\x3c\\xc3\\xba\\x88\\xfe\\x42\\x36\\xc3\\x16\\xd5\\x1f\\x52\\xc2\\x3c\\x13\\x08\\x6b\\x38\\xe1\\x26\\x7d\\x9b\\x4c\\x99\\xd9\\x80\\xd4\\x27\\x98\\x62\\x39\\x20\\x70\\x73\\xdf\\xcd\\x07\\xed\\xda\\x0e\\xf2\\x1f\\x5c\\xfe\\xf7\\xaf\\xeb\\x0b\\xba\\x94\\xfb\\x9f\\x5f\\x36\\x7e\\x76\\x98\\x6f\\xd9\\xba\\xed\\xf9\\xbb\\x23\\x7b\\x80\\xb7\\x52\\xd3\\x09\\x6b\\x47\\xbe\\x5b\\x30\\x74\\xdf\\x4b\\x7d\\xfe\\xfa\\xe6\\xd4\\x4f\\xba\\x56\\xed\\x7b\\xe9\\x89\\x07\\xbf\\x7b\\xc0\\x8d\\xe6\\x4b\\x0b\\xa7\\x2c\\xa6\\x7b\\x5a\\xf8\\xe6\\xcd\\xe7\\x76\\x46\\xac\\x86\\xf8\\x5e\\x3d\\xd7\\x1e\\xd9\\x42\\x3f\\x95\\x4a\\xb5\\xa2\\x26\\x87\\xf2\\x14\\xe9\\xe9\\x69\\x31\\xb1\\x0e\\x2d\\xdd\\x2a\\xc9\\x64\\x6a\\x15\\x03\\xb3\\xb2\\xfd\\x69\\xc8\\x06\\xba\\xb5\\x6a\\xbf\\xdf\\xad\\x76\\x67\\xe2\\x9b\\x1a\\xb6\\x38\\x02\\x4f\\xd8\\x0c\\xf7\\xf1\\xfc\\x2f\\x71\\x4f\\xe3\\xbb\\x1b\\x29\\xd1\\x20\\xd2\\x91\\x30\\xa7\\x55\\x43\\x98\\xe3\\xb3\\x65\\xf9\\x25\\x58\\xe9\\x44\\xa9\\x4c\\x9b\\xd5\\x13\\x0c\\x22\\xd2\\x46\\x3a\\x12\\xd8\\x0c\\x57\\x2d\\x5e\\x52\\xbd\\x3d\\x75\\x45\\xb7\\x2f\\x76\\x02\\xf5\\xc8\\x8d\\xc0\\xf6\\xce\\xcd\\xe5\\x0f\\x6a\\xf9\\x6f\\x87\\xf6\\xf8\\x60\\xe6\\xa5\\x2f\\xed\\xf0\\xc8\\x1f\\x4b\\xf7\\x84\\xff\\x58\\xb6\\x3d\\xfc\\xe0\\x36\\x53\\xf3\\xe4\\x92\\x57\\xe2\\xe9\\x8e\\xc1\\xbc\\xc5\\x6b\\xaa\\xfa\\xe6\\x2f\\x9e\\x76\\xfe\\xd5\\xdb\\xef\\xd5\\xf2\\xaf\\x3c\\xff\\x7a\\xe5\\x90\\x0f\\x5e\\x1d\\x39\\xe4\\x38\\xff\\xe5\\x6a\\xe0\\x5c\\x00\\x9a\\x2d\\xe6\\x7f\\x9e\\x2e\\x61\\x3a\\x21\\x5d\\x88\\x41\\xba\\x71\\x9a\\xe0\\x67\\xa7\\x22\\x2f\\x15\\x97\\xa8\\x75\\x59\\x91\\x05\\x32\\xf9\\x28\\x8e\\x33\\x59\\xb5\\x4c\\x5a\\xba\\x27\\x50\\x12\\x66\\x4c\\x1e\\x8f\\x2a\\xc6\\xae\\x53\\x35\\x2b\\x0e\\xab\\xac\\x0d\\xd8\\xd9\\x39\\x39\\x8f\\x40\\x56\\x06\\x92\\xf1\\x17\\xa7\\x86\\x13\\x50\\x02\\x57\\x45\\x80\\xaa\\x32\\x4d\\x50\\x08\\xdf\\x44\\xd5\\x81\\xa7\\x5d\\xc7\\x9e\\x1c\\x39\\x63\\xc4\\x07\\x4f\\x1f\\x38\\x57\\xba\\x77\\x2c\\xa8\\x1a\\x23\\xaf\\x55\\xed\\x7c\\x3d\\xa3\\xaa\\x7f\\x65\\xdf\\x39\\x5d\\xaa\\x2a\\x4b\\x67\\x77\\x60\\xda\\x2c\\x7d\\xc5\\xc6\\xd8\\x36\\xcf\\x18\\x77\\x6f\\xda\\x4b\\x5b\\xc7\\x9f\\x9e\\x6e\\x60\\x9c\\x4b\\x86\\xc6\\x25\\xb5\\x48\\x7e\\x11\\x70\\x75\\xab\\xc2\\xa3\\x4a\\x9f\\x2b\\xaf\\x18\\x5a\\xf6\\x22\\xd1\\xa9\\x6e\\xb4\\x97\\xf4\\xd7\\x37\\x53\\x09\\x21\\x03\\x27\\xa7\\xf4\\x72\\xbd\\xc5\\x6a\\x14\\xfb\\x4c\\xe9\\xc5\\x33\\x95\\xcc\\x68\\x9d\\x46\\x2c\\x17\\xba\\xeb\\x4a\\x18\\x5a\\x81\\x2c\\x38\\xfd\\x8f\\xaa\\x39\\x15\\x6d\\xe4\\x67\\x18\\x65\\x4b\\x60\\xf9\\xe2\\xe3\\xbf\\xab\\x5e\\xd5\\xd0\\x2f\\x00\\x6f\\xbb\\x9a\\xa3\\xf9\\x09\\x49\\x77\\x7f\\xbf\\xf6\\x4e\\x6e\\x71\\x89\\xa0\\xc3\\xb8\\xee\\x39\\x81\\xf6\\x52\\x46\\x14\\x01\\x19\\xd5\\x1a\\x16\\x22\\xab\\x62\\x36\\xa9\\x69\\xbd\\x5e\\x8e\\x24\\xc7\\xda\\x64\\x40\\xa1\\x0a\\x4e\\x60\\x05\\x99\\x7e\\x76\\x10\\x85\\x51\\xb1\\x09\\x1d\\xe4\\x67\\x94\\xf3\\x9e\\x1c\\xbf\\x62\\x90\\xf3\\xd5\\x14\\xfe\\x8b\\x9f\\xdf\\xfa\\x1a\\xec\\xed\\xd8\\xba\\x4b\\xeb\\xa7\\xb6\\x87\\x5f\\x7b\\x9a\\xff\\x91\\xbf\\xf9\\x1d\\x59\\x2b\\xec\\x47\\x1c\\x68\\xad\\x84\\xbb\\x5a\\x76\\xbd\\x4c\\xa6\\x06\\xd0\\x64\\x56\\xa3\\xd0\\x41\\xad\\x46\\x81\\x84\\x8a\\x04\\x12\\x96\\xc6\\x6d\\xdf\\x6c\\x91\\xfe\\x60\\x78\\x72\\x4c\\xc0\\x6f\\x82\\x7e\\xec\\xae\\x03\\xb8\\x55\\xd8\\x07\\x3b\\x4f\\xf3\\xfc\\x67\\xfc\\xad\\xe1\\x3d\\x80\\xf6\\xc9\\x35\\x6f\\x30\\x6d\\xb6\\x2f\\x39\\x78\\x89\\xd6\\xf2\\x4f\\x2e\\x18\\xb5\\x4d\\x88\\xb9\\xae\\xa0\\x31\\xdd\\x68\\x4c\\x7c\\xbf\\xbc\\x63\\xc8\\x0f\\x4d\\x26\\x9a\\xd3\\x6a\\x74\\x3a\\x15\\xa7\\xb2\\x3b\\x20\\x72\\x92\\x18\\xc6\\x8a\\x56\\x2a\\xf5\\xc5\\x61\\xa5\\x4e\\x43\\x5b\\xa2\\x36\\xf0\\x1b\\x81\\x0b\\x4a\\x9a\\x80\\xaf\\xd2\\xa5\\xd1\\xa4\\x65\\x2b\\xde\\x2d\\x10\\xcb\\x27\\xfc\\xc8\\x49\\x6d\\xb9\\x02\\x16\\xb4\\xe8\\xdf\\xe6\\xce\\x3f\\x01\\xae\\x4a\\xaf\\xfe\\xc7\\xce\\x25\\x43\\x8b\\x81\\x0c\\xbc\\xc7\\x67\\x81\\xab\\xda\\x5e\\x93\\xbb\\x3e\\xb7\\xef\\xfe\\x05\\xf0\\x1e\\xf8\\x79\\xf0\\x98\\x6e\\xe5\\x82\\xec\\x26\\x89\\xb4\\x69\\x90\\xa5\\x0a\\x85\\xfc\\x4a\\xa3\\x91\\x53\\xab\\x54\\x1c\\xe2\\x84\\x96\\x83\\x56\\x9b\\x46\\x87\\x68\\xd2\\x68\\x18\\xa0\\xd2\\x31\\xe6\\xe2\\x30\\x63\\x69\\x10\\xdc\\x60\\x93\\x3e\\x02\\x62\\xd5\\xa5\\x5f\\xb0\\x49\\x18\\x56\\x97\\x10\\xd6\\x16\\x40\\x5d\\xf8\\xf8\\xc7\\x7c\\xc5\\x89\\x8b\\x7b\\xb7\\xd4\\xbd\\x73\\xeb\\xeb\\xba\\x25\\xcb\\xbe\\xf9\\x3b\\x3d\\x01\\xbc\\x77\\xff\\xc2\\xa6\\x05\\x4b\\x0f\\x78\\xc0\\x55\\x3e\\xab\\x66\\xfc\\xa8\\xed\\x82\\x2c\\x3c\\x8b\\xe8\\xf1\\x93\\x7c\\x34\\x39\\x64\\x46\\xb1\\x1d\\xcb\\x41\\x39\\x00\\x0a\\xd6\\x42\\x73\\x14\\x57\\x1c\\xc6\\x0d\\x4b\\x84\\x38\\x3f\\x12\\x4c\\x89\\x60\\xab\\x68\\x71\\x5e\\x83\\x43\\x1c\\xfc\\x81\\x53\\xc7\\x4f\\xf1\\x07\\xf0\\x0d\\xe0\\x27\\xe0\\x2b\\x94\\x84\\x7f\\xc0\\x58\\x71\\xec\\x00\\xa7\\x93\\xd8\\xe1\\x0b\\xaa\\x8c\\x99\\x0f\\xcf\\x52\\x76\\xaa\\x67\\x48\\x87\\x3b\\xfb\\x32\\x6a\\xb3\\xdc\\x6c\\x77\\xda\\x1d\\x76\\xe4\\x36\\xec\\x21\\x7d\\x58\\x67\\x8f\\xb1\\xa7\\xdb\\xa1\\x02\\xda\\x0d\\x06\\xb9\\x42\\x8e\\xde\\x3c\\x86\\xc4\\x03\\x1f\\x0d\\x8a\\xde\\xa3\\x21\\xb0\\xcc\\x89\\xea\\xdc\\xe1\\xcf\\x8c\\xec\\xa9\\x64\\xe3\\xed\\x22\\x0b\\x49\\x30\\xfc\\x90\\x1e\\x73\\x60\\xe7\\xbe\\xd5\\x75\\x5f\\x05\\xa0\\xe1\\x6c\\x33\\xbf\\x2c\\x35\\xa7\\xd7\\xfa\\x5b\\xff\\xa8\\x9b\\x08\\x34\\x73\\x57\\x8f\\x9d\\x73\\x5c\\x76\\x10\\xa0\\xb0\\x1b\\x56\\x9c\\xba\\xfa\\x36\\xe6\\x01\\xac\\xe7\\xa9\\x32\\x76\\x2f\\xa2\\x0f\\xc7\\x6b\\x3e\\xaa\\x7f\\xc8\\xab\\xf7\\x39\\xd4\\x6a\\xb3\\xdb\\xe7\\x86\\xb1\\x28\\x33\\x02\\x10\\x85\\xaf\\x0c\\x45\\x33\\xe8\\x3f\\x83\\xcf\\x87\\xa9\\x3b\\x11\\xf6\\x59\\xf4\\x06\\x3d\\x7a\\x75\\x24\\x6c\\x88\\x78\\xb8\\x48\\x06\\x19\\x01\\xda\\x31\\x34\\x21\\x38\\x48\\x8a\\xe6\\x02\\x8f\\x23\\xdc\\x5b\\xeb\\xab\\x1d\\x83\\xfe\\x5c\\x7b\\xdc\\x04\\x36\\xef\\xa5\\x53\\xf7\\xf1\\x1b\\x1e\\x9a\\x06\\xa8\\x3f\\x56\\x1f\\x66\\xce\\x33\\xbf\\xa2\\x9c\\x6e\\x56\\xc8\\xea\\x4c\\x4c\\x74\\xbb\\x53\\x14\\x7e\\x8b\\x89\\x65\\x35\\x16\\x4b\\xaa\\xbf\\xb9\\x33\\x85\\x4a\\x41\\xd4\\x9e\\x44\\x11\\x82\\x5f\\xe9\\x8f\\x15\\xb9\\xee\\x8f\\xf1\\xd3\\x2a\\xe8\\x37\\x29\\x8c\\x46\\x85\\x52\\x81\\xdf\\x54\\xa3\\x00\\x7b\\xad\\x12\\x14\\x29\\xab\\x95\\xb4\\x92\\x4a\\xaf\\xac\\x94\\x16\\xc0\\x10\\x14\\x31\\x17\\x22\\x5a\\x02\\x24\\x5c\\x28\\x3c\\xc5\\x86\\x15\\x11\\x70\\xb6\\xa5\\x99\\xe9\\x00\\x89\\xac\\xc5\\x1f\\xe4\\x6d\\xf1\\x03\\x85\\xf4\\x98\\xc5\\xf3\\x72\\x9e\\x47\\x93\\x8c\\x85\\x86\\x73\\xcd\\x62\\x59\\x34\\x49\\xf0\\x74\\xeb\\x49\\x83\\xc1\\xa6\\xb2\\x33\\x87\\xeb\\x26\\xf9\\xe9\\x31\\x4b\\xe6\\xb5\\xd9\\xbf\\xa1\\xee\\x2b\\x7a\\x76\\x8b\\xf1\\x9d\\x86\\x4c\\x3f\\x26\\x4e\\xb8\\xf7\\xa1\\x3e\\xdb\\x2a\\x1c\\xb0\\xf7\\xc9\\x89\\xc7\\x7b\\x1f\\x6d\\x31\\xb1\\xc3\\xe0\\x19\\x58\\xe6\\x26\\x20\\x39\\x1e\\x44\\xe2\\xd5\\xf0\\xc3\\xf5\\xe8\\xf5\\xf5\\xf5\\xbf\\xa2\\x85\\xfe\\x9a\\xfc\\xbb\\x92\\xc8\\xe4\\x03\\x12\\x5f\\xb5\\x21\\x3d\\x9d\\x92\\x8c\\x5a\\x95\\x46\\x8e\\x8c\\xae\\xca\\xe2\\x80\\x34\\x6d\\x37\\x90\\xdc\\xd7\\xa8\\x26\\xa1\\xb5\\x9a\\xd2\\xe9\\x70\\x2d\\x3e\\x84\\x0d\\xd1\\xf5\\x43\\x70\\x29\\xd1\\x80\\x6c\\xac\\x4f\\x4a\\x32\\xfc\\x81\\x68\\xb0\\x14\\x30\\x85\\x3f\\x96\\xb2\\x3d\\xee\\xcd\\x69\\x8b\\xf8\\xef\\x03\\x4e\\x30\\xba\\xee\\x9e\\x8b\\xfe\\xc9\\xc9\\x0f\\x5a\\xfd\\xcc\\x77\\x66\\x3e\\x75\\xdf\\xd4\\xa1\\x47\\x96\\x83\\xe4\\x95\\x4b\\xf9\\x57\\xd5\\x4f\\xcd\\x7c\\xe1\\x1c\\x89\\xb5\\x48\\x3e\\xd4\\x8b\\x8a\\xa7\\xaa\\x42\\x19\\x56\\x9b\\x2d\\x4e\\xa1\\xf2\\x31\\x7a\\xbd\\xc7\\xe3\\x53\\xc0\\xc4\\x04\\x9f\\x4a\\x13\\xf2\\xfb\\x9d\\x32\\xab\\xd5\\xe9\\x44\\xd9\\x90\\xd3\\x2a\\x66\\x91\\x32\\x19\\x55\\x14\\x96\\x35\\xf6\\xf8\\x91\\xbc\\xc8\\x79\\x39\\x27\\xe7\\xe1\\x06\\x18\\x00\\x7b\\x79\\xe2\\xe0\\xf5\\x2c\\x17\\xa9\\x0e\\x8b\\x40\\x75\\x66\\xe5\\x03\\x3c\\x1d\\xda\\x31\\x70\\xb4\\x73\\x73\\x01\\xe8\\xb4\\xe7\\x04\\x7f\\xc2\\xda\\xb6\\x66\\xd5\\x88\\xa1\\x43\\xa6\\x06\\x36\\x24\\xbd\\x79\\xf0\\xe4\\x3b\\xaf\\xed\\xb6\\x6c\\xdd\\x0d\\xdf\\xe8\\x52\\x94\\xf1\\xcf\\x75\\x35\\xfc\\x83\\xc0\\xf8\\x3e\\x45\\x3d\\x3a\\x16\\xf4\\x6b\\x3d\\xad\\x66\\xc3\\xb2\\x99\\xdb\\xe4\\xa3\\xca\\xfb\\x2e\\x15\\x72\\x98\\x0f\\x91\\x6d\\x18\\x86\\x7c\\x5d\\x12\\xd5\\x26\\xe4\\xd3\\x28\\x1c\\xf1\\x31\\xe6\\x78\\x05\\x03\\x9b\\xc1\\x64\\xbf\\xbb\\x28\\xec\\xb7\\xa2\\x77\\x20\\x65\\x20\\x99\\x9d\\x74\\xc7\\x14\\x59\\x9d\\xfc\\xc6\\x49\\xa5\\x4d\\x4c\\xe4\\xf2\\x71\\x77\\xe0\\x48\\xf0\\x88\\xf4\\xc8\\x86\\xb3\\x1c\\x1b\\x8e\\xd3\\xd2\\x71\\x95\\xea\\xb9\\x82\\xa9\\x99\\x03\\x72\\xc3\\x7d\\xf3\\xa7\\x0f\\x4f\\xcc\\x1c\\xf8\\xea\\xea\\x67\\x4e\\x39\\x83\\x4f\\xdc\\xe8\\x98\\x50\\x38\\x30\\x5c\\x3a\\xe7\\xb9\\xbe\\xa3\\xd2\\x9a\\x75\\xea\\xb1\\xc8\\x9c\\xd3\\x75\\x68\\x69\\xe7\\xc5\\xfb\\xf2\\x67\\x16\\x8c\\x3e\\x50\\xbc\\x72\\x66\\xeb\\xb2\\xe2\\x9e\\x37\\x67\\x77\\xe9\\x3b\\x78\\x5e\\xd7\\xf2\\xde\\xbd\\xcb\\xbb\\x0a\\x76\\x12\\xe7\\xc5\\x18\\x37\\x81\\xa5\\x62\\x42\\x3a\\x14\\x6d\\x50\\x32\\x8a\\x63\\xe9\\x62\\x94\\xad\\x33\\x82\\xf3\\x12\\x51\\x7e\\x85\\x4b\\xf7\\x18\\x1e\\xc1\\xc1\\x6f\\x3c\\x75\\x9c\\x40\\x23\\xe0\\xce\\x19\\x58\\x06\\x91\\xad\\x85\\x9b\\x09\\xde\\x4d\\x21\\x79\\x26\\xf6\\x05\\x41\\x62\\x7b\\x13\\x43\\x26\\x1a\\xe7\\xff\\x32\\x4a\\xa6\\x90\\x73\\x4c\\x71\\x98\\xd3\\x01\\x99\\xe4\\x97\\xa2\\xa1\\x6e\\xa5\\x2e\\x1e\\xc1\\x8f\\x91\\xd5\\x4d\\x27\\xcf\\xbf\\x7f\\x41\\x6c\\xce\\x11\\xc9\\xdb\\x1c\\x78\\x0c\\xb6\\x35\\x19\\x63\\x2f\\xca\\x9d\\xf6\\x90\\xfb\\xef\\xf9\\xe4\\x4e\\x16\\x43\\x01\\x9d\\xdd\\xae\\x31\\x6b\\x00\\xc3\\x38\\x5d\\x76\\xa0\\x01\\xc8\\xe5\\x6b\\x34\\x66\\x2d\\x4a\\xde\\x84\\x2c\\x2a\\x27\\xbd\\x29\\xae\\xa9\\x04\\x13\\x46\\xea\\x15\\x85\\x43\\x58\\x7c\\x14\\xe8\\x73\\xe1\\x2e\\xc4\\x0c\\x07\\x69\\x57\\xee\\xa7\\x37\\xd9\\x0e\\x2f\\xe6\\x2a\\x81\\x6f\\xf6\\x91\\xd9\\xa0\\x6f\\x87\\xdc\\x17\\x3b\\xc7\\xf3\\xef\\xfe\\x91\\x0b\\xb2\\x14\\x27\\xf6\\xba\\xb2\\x41\\x31\\x7f\\xa9\\x45\\xea\\xf7\\xf4\\xdc\\xba\\xf9\\xa0\\x07\\x08\\xf2\\xbb\\x5e\\xfb\\x12\\xf2\\xef\\x49\\x77\\xf3\\x08\\x16\\xa2\\x89\\x4a\\x0f\\xd9\\x29\\x00\\x8c\\x46\\x8b\\x42\\x61\\x36\\x20\\xce\\x1a\\x74\\x1c\\xca\\xf7\\x15\\x9c\\x55\\xa0\\x2b\\x2a\\xab\\x95\\xe8\\x79\\xe8\\xd6\\x0b\\xfd\\xf1\\xa3\\x20\\x0f\\x3f\\x6e\\x8a\\x75\\x88\\xd1\\xed\\xb1\\x2f\\xb6\\x80\\xef\\xe0\\x69\\xd2\\xbb\\x54\\x43\\x05\\x50\\xe4\\xa5\\x52\\x32\\x8c\\x56\\x87\\x02\\x03\\x46\\xce\\xde\\xa2\\x98\\xdb\\x91\\x9b\\xec\\x91\\xbc\\x8e\\x6c\\xc0\\x9a\\x80\\x0c\\xbd\\x48\\x80\\x69\\xad\\xf8\\xb2\\xe7\\x36\\xd1\\x05\\x3b\\xce\\xf3\\xd7\\xfd\\x5f\\x83\\x7e\\xed\\x34\\xe0\\x3b\\xe0\\xe7\\x6f\\xc2\\x2f\\x1f\\x78\\xe1\\xd0\\xf6\\xfc\\x18\\xd0\\xbe\\xb3\\x34\\x0e\\x7b\\x0b\\x8d\\x83\\xf7\\x63\\x0b\\x43\\xcd\\x20\\xa3\\x36\\x99\\x34\\x94\\x5c\\xaf\\xd4\\xea\\x29\\x23\\x23\\x33\\xcb\\x64\\x16\\xb9\\xc1\\xc0\\xd2\\x46\\xa3\\x3a\\x5f\\xd1\\x4b\\x81\\x51\\xfa\\x6e\\x31\\xb7\\x35\\xd4\\x6d\\x5c\\x0f\\x92\\x9f\\x93\\x5e\\x49\\xf2\\x68\\xd1\\xa9\\x18\\x1b\\x5f\\x04\\x6d\\xbc\\xfb\\x8a\\x2b\\x45\\xfc\\xf4\\xa6\\xd6\\xfc\\x96\\xb3\\x1b\\xe8\\x75\\xb0\\xbd\\xad\\xae\\x2e\\x17\\xfc\\xcd\\xca\\x27\\x74\\xa0\\xbd\\x56\\x1e\\xf4\\xe7\\x2f\\x80\\x2c\\x89\\xc8\\x29\\xfc\\x7b\\x93\\xf8\\xc3\\x53\\xe0\\x54\\xde\\x85\\x3c\\x5f\\x35\\xe2\\xc5\\x73\\x88\\x46\\x2d\\xc1\\x12\\xea\\x10\\xf2\\xdb\\x62\\x62\\x18\\x46\\xe1\\x53\\xbb\\x5c\\x14\\x65\\x54\\x28\\xfc\\x6a\\xaf\\x37\\xdf\\xd6\\xcb\\x46\\xdb\\x6c\\x8c\\x95\\xbd\\x15\\xd3\\xc0\\x9d\\x4a\\xbc\\x33\\x2a\\x79\\xbb\\x86\\xe5\\x21\\xcd\\xee\\x4d\\x91\\xcb\\xcf\\xf1\\x52\\x1b\\x61\\x13\\x7e\\x81\\x7e\\xc2\\xc5\\x37\\xcf\\xf3\\xb3\\xce\\x83\\xf2\\xcd\\x9b\\x26\\x8e\\xac\\xea\\xcf\\xef\\x9b\\x30\\xab\\x7f\\xd9\\xfb\\xb9\\x5b\\x6a\\x96\\xbc\\x77\\xab\\x13\\x4c\\x7a\\xea\\x20\\xfc\\x72\\xdc\\xb0\\xc1\\x0b\\x5d\\xa6\\xf1\\xc7\\xaa\\xfa\\x74\\x6e\\xcb\\x7f\\xc0\\xb7\\x1c\\x3b\\x74\\x15\\xbf\\x07\\xd1\\x5a\\x8e\\x68\\xfd\\x17\\xe9\\x87\\xec\\x42\\xf9\\x68\\xa7\\x90\\x2f\\xce\\xe5\\x32\\x01\\x83\\x41\\x16\\x6f\\xd3\\x68\\x62\\x14\\x32\\x59\\x82\\x53\\x65\\x32\\xc5\\xc9\\x11\\xef\\x5d\\x86\\xdb\\x01\\xfa\\x56\\x03\\x24\\x01\\x21\\x13\\x88\\x3b\\xba\\x62\\x5b\\x02\\xa9\\x51\\xac\\x70\\xd3\\x42\\xdc\\xa5\\xf4\\x9b\\x02\\x40\\xa4\\x14\\x48\\xa4\\x4f\\xaa\\x2a\\xc6\\xe4\\x0e\\x3b\\x69\\xdb\\xd8\\x1a\\x13\\x1f\\xae\\x02\\x5b\\x6b\\x96\\x9c\\xff\\xb1\\x13\\x48\\x9c\\x3c\\x03\\x13\\xcf\\xa4\\x82\\x67\\xc6\\x0d\\x5b\\xd4\\x75\\x46\\xeb\\xbe\\x4f\\x1d\\x04\\xef\\xf3\\xcf\\x8d\\x1d\\xba\\x94\\x7f\\x0e\\x7c\\xd4\\xbf\\x37\\x9a\\xc0\\x27\\x44\\x16\\xfa\\x20\\xda\\xef\\x93\\x7e\\xf9\\x66\\xca\\x17\\xd2\\xea\\x00\\xb0\\x28\\x65\\x32\\xab\\x96\\xbe\\xa5\\x03\\x02\\x4b\\xa3\\xfb\\xef\\x8a\\x0c\\xa4\\x19\\x69\\xe3\\x31\\x8f\\x06\\xa7\\xf9\\x6d\\xe7\\x41\\xee\\x95\\x6b\\x4f\\xf1\\xff\\x02\\xfa\\xdd\\x9b\\x0f\\x6d\\xba\\x58\\xb9\\x7b\\x6a\\x2e\\x7a\\xec\\x97\\x6f\\x9c\\x7a\\x85\\xbf\\xb3\\x95\\xae\\x5e\\xb4\\xaa\\x8e\\xee\\xbe\\xf6\\x55\\xa2\\xff\\x78\\xbc\\x1f\\x49\\x6f\\xff\\xcc\\x90\\x13\\x63\\xee\\xc9\\x94\\x14\\x54\\xd3\\xb4\\x46\\x9e\\xcf\\xf6\\x62\\x71\\x7f\\x0a\\x70\\x4b\\x21\\x48\\x5a\\x10\\xaf\\x65\\x23\\x3b\\xeb\\x8a\\x92\\xac\\x3e\\xe7\\xe9\\xbf\\xd9\\xea\\x8e\\xe5\\xd2\\xf1\\xd6\\xba\\x6b\\x1d\\xe8\\x91\\x56\\x3c\\xa2\\x28\\x43\\x68\\x9c\\x3c\\xf4\\xcf\\xdf\\xc8\\x38\\x19\\x21\\x07\\xee\\x12\\xc1\\xa0\\x61\\x94\\x4a\\x0d\\x23\\x0e\\x23\\x57\\xdc\\x02\\x0f\\x0f\\x23\\xf0\\x3e\\xdb\\x8f\\xab\\x6f\\xf0\\x1f\\x98\\x67\\xa5\\x47\\x76\\xa8\\xbb\\x66\\xa5\\xe3\\x73\\xeb\\x8e\\xd9\\xe8\\xbf\\x9d\\x07\\xdf\\x4d\\x01\\x25\\x93\\x40\\xd6\\x94\\x07\\x5e\\x32\\x9f\\x91\\xe0\\x3a\\x13\\xcb\\x5e\\x43\\x32\\x9a\\x19\\xb2\\xab\\xd0\\xba\\xfb\\x8c\\xd0\\x62\\xf1\\x9b\\xcc\\x66\\xad\\xfd\\x0e\\x97\\xce\\x20\\xb3\\x46\\x7d\\x8b\\xfd\\x74\\x25\\x19\\x49\\x02\\x3c\\xcc\\x91\\x8e\\xf5\\x85\\xe6\\x2a\\x0d\\x37\\x0b\\xf0\\xa0\\x32\\x12\\x43\\xe7\\xd1\\xf4\\xcb\\x4f\\x1f\\x69\\xb6\\x20\\x71\\xc6\\xa0\\xd9\\x67\\x47\\xae\\x5d\\x5e\\xbe\\x37\\x2f\\x96\\xff\\xd2\\x06\\x76\\x77\\x3a\\x57\\x4f\\xbd\\x79\\xbd\\xcf\\xe6\\xcf\\xd8\\x6b\\x93\\x66\\xa7\\x55\\x17\\xcc\\xfd\\x61\\xc5\\x8a\\xa7\\xb3\\x83\\x2f\\x4d\\xe7\\x77\\x3c\\xf3\\xe9\\xa9\\x49\\xff\\x3e\\xd4\\x5f\\xe0\\x33\\x93\\x44\\xe6\\x9f\\x16\\x72\\x08\\x3d\\xb9\\xf0\\xf4\\xe9\\x7c\\xae\\x17\\x47\\x13\\xd4\\xcf\\x68\\x8b\\x12\\x61\\x80\\xa8\\xc1\\x12\\xf0\\xe8\\x5f\\xc3\\xbc\\x22\\xbc\\xfa\\xfc\\xea\\x62\\xf0\\xaf\\xe2\\xb5\\x68\\xee\\x38\\x93\\x80\\x5f\\xf2\\x55\\x60\\x0f\\x99\\xbe\\x30\\x0e\\xd8\\x8b\\xc6\\x81\\x94\\x3b\\xa4\\x46\\xf6\\x92\\x41\\x7e\\x83\\xa5\\x6f\\x61\\xd9\\xc9\\x8f\\x92\\x1c\\x13\\x7a\\xe4\\x97\\x6b\\xce\\xaf\\xc1\\x8b\\x44\\xbe\\xd7\\x06\\x5c\\x87\\x2a\\xf4\\x3d\\x3d\\xce\\x31\\x19\\x08\\xd5\\x06\\x95\\x56\\x8b\\x92\\xbf\\x5b\\x1c\\x62\\xd8\\x1d\\xcc\\xb0\\xcc\\xfc\\xa8\\x60\\x46\\x68\\x50\\x2b\\xb6\\x60\\x27\\xdb\\x86\\x34\\x68\\x3d\\x63\\x2e\\xb7\\x98\\x2e\\xc8\\xea\\x38\\xd0\\x34\\xf1\\x15\\x1b\\xe8\\xb4\\x2c\\x17\\x5c\\x9f\\xbb\\xc2\\x54\\xd1\\x73\\x50\\x35\\xdd\\x75\\x4a\\x5d\\x01\\xff\\xae\\xc8\\x07\\x05\\xe1\\x43\\x6a\\xc8\\xa6\\x94\\x01\\x15\\x40\\x03\\xa8\\x15\\x0a\\x8d\\x12\\xc5\\xd1\\x8d\\xec\\xaa\\x2d\\x6a\\x7f\\x16\\xe7\\x58\\x1c\\x61\\x03\\xc6\\x2b\\xa1\\xff\\xca\\xff\\x6d\\xd9\\x13\\x88\\x0d\\x55\\xb4\\xe3\\x10\\x6f\\x01\\xc8\\x36\\x81\\x4f\\x87\\xf0\\x6b\\x11\\x27\\x9c\\xe0\\x16\\xdf\\xa1\\xee\\x7a\\x84\\x17\\xf4\\xe7\\x68\\x2c\\x96\\xf2\\x86\\x34\\x10\\x69\\x97\\x8c\\x61\\x38\\x70\\x0b\\x0a\\x72\\x16\\xb5\\x03\\x8a\\x1d\\x15\\x96\\xe0\\xd5\\x2f\\x80\\x2f\\x89\\xdc\\x3e\\xd8\\x30\\x45\\xa4\\xf5\\x75\\xf4\\x7d\\x2b\\xce\\x7d\\x28\\xa3\\x06\\xda\\x90\\x28\\xd9\\xcd\\xb7\\x94\\x50\\x7b\\xcb\\x88\\x9c\\x02\\x26\\x94\\xec\\xeb\\xe5\\x4b\\xa0\\x78\\xa4\\xb4\\x27\\x9b\\x60\\x65\\x26\\x24\\x12\\x82\\x4d\\x56\\xdc\\xcd\\x04\\xc2\\xb9\\xf3\\xf5\\x81\\x9c\\x58\\x7e\\xc9\\x90\\x19\\x72\\x95\\x6b\\xfe\\xdc\\xf3\\x87\\x67\\xca\\x65\\x1d\\x40\\xcd\\x2b\\x68\\x11\\xe9\\xa7\\x8b\\x6a\\x16\\xe4\\xd5\\x55\\xd0\\xcf\\xa6\\x0f\\xda\\x55\\x37\\x12\\x7e\\x59\\x57\\x92\\xd6\\x77\\x3e\\xfd\\x32\\x5a\\x52\\x40\\x15\\x21\\x1a\\xe2\\x10\\x0d\\x6a\\x94\\x8b\\x9b\\x50\\x5c\\x81\\xd8\\xa0\\x51\\xe2\\x3e\\x2e\\x80\\xbd\\xc5\\x09\\xbc\\x22\\x3b\\x8b\\x51\\x80\\xb5\\x22\\xab\\x40\\x1e\\x4e\\xff\\xe8\\xb7\\xf8\\xfd\\xae\\x79\\x73\\xcf\\x6f\\x01\\x03\\x34\\xca\\x45\\xf3\\xd1\\x70\\x30\\x6b\\x4f\\xdd\\x18\\x34\\xc5\\xb7\\xcb\\xdb\\xd2\\xfb\\x1a\\x8d\\xa1\\xa1\\xe2\\x50\\xbe\\xaf\\xa0\\x59\\x8a\\xd5\\x72\\x9c\\x4e\\x2d\\x43\\xaa\\xcf\\x12\\x66\\x65\\xe6\\x07\\x1b\\x24\\x92\\xb8\\xf5\\xc8\\x06\\x66\\xd1\\xf9\\x79\\x73\\x55\\x31\\xf4\\xb6\\x3d\\xe7\\xe7\\xcd\\x33\\x5a\\xea\\xc6\\x62\\xf6\\xd5\\x4d\\xcd\\x9e\\x09\\xdb\\x3e\\xf0\\xd2\\x4f\\x95\\x75\\x7f\\x70\\x91\\xd8\\xb5\\xa1\\x48\\x2f\\x73\\x91\\x5e\\xea\\x28\\x0f\\xb6\\x6b\\x36\\x08\\xbd\\x7a\\x95\\x2a\\xc6\\x24\\xff\\xd6\\x49\\xc4\\xab\\xb1\\x5d\\x13\\xf4\\x4d\\x8c\\xda\\x40\\xd4\\xe6\\x4a\\x96\\x91\\x66\\xcf\\xdf\\x2c\\x79\\xea\\xe3\\x45\\x67\\x6f\\xf4\\xde\\xf4\\x01\\x88\\xdf\\xb4\\xa0\\xe6\\xf4\\xf0\\x0d\\x8b\\xe6\\x9e\\x1a\\x0e\\xae\\x7f\\xf6\\xda\\xf8\\x3f\\x5e\\xe8\\xff\\xf1\\xa9\\xc9\\x7f\\xbc\\xd4\\x9f\\x1e\\xbb\\xf4\\xe9\\xf9\\xff\\x7e\\x72\\xe5\\xd6\\x45\\x00\\xaf\\x3c\\x15\\x06\\x9f\\xc3\\x61\\xec\\xcb\\x68\\xf4\\x14\\x2a\\x2b\\xe4\\x88\\xd5\\xbb\\xac\\x7a\\x6b\\xf3\\x64\\x46\\xa9\\x4c\\x35\\x73\\x5e\\xa4\\x3c\\x5a\\x68\\xbf\\x15\\xaf\\xbd\\x13\\x71\\x05\\x58\\x34\\x1a\\x6c\\x83\\x60\\x1d\\xb2\\xf0\\x9d\\x23\\x4e\\xdc\\x07\\xf2\\x19\\x50\\x60\\x99\\x2d\\xa1\\x95\\x5b\\x6d\\x0d\\xfb\\x3f\\x78\\xb3\\x8f\\xee\\xfd\\xa4\\x75\\xbe\\x61\\x54\\x59\\xe7\\xbc\\x01\\x27\\x96\\xf0\\x37\\x72\\xa7\\xf5\\x1a\\xa5\\x98\\xa3\\xe8\\xd1\\xb2\\xd7\\xbc\\xae\\xa5\\x7d\\xcb\\xa6\\x77\\xec\\xcf\\xbc\\x3e\\x77\\x62\\xf5\\xf6\\xd4\\xf8\\x09\\x45\\xd3\\xbe\\x1d\\x0b\\x14\\x15\\xa7\\xe7\\xbb\\xda\\x2f\\x49\\x4a\\x6d\\x9e\\x50\\x58\\x34\\x78\\xd8\\xcb\\x43\\xca\\x7b\\x95\\x9e\\xeb\\x55\\x3e\\x24\\xe2\\x13\\x3e\\x24\\x3a\\x63\\x46\\x2b\\xa4\\x87\\x7a\\x8b\\x5a\\x2e\\xb7\\x02\\xbd\\x1e\\xea\\x98\\x5b\\xf0\\xb6\\x08\\x5f\\x1c\\xd1\\x4e\\x82\\xa2\\x20\\xee\\x8d\\x68\\x81\\x09\\xbb\\x28\\x94\\x6c\\x65\\xd1\\xf9\\xfc\\xf7\\xdd\\x57\\x9f\\x07\\x1b\\x56\\xee\\x1a\\xf2\\xca\\xca\\x53\\xf7\\xbb\\x03\\xf0\\x59\\x80\\x85\\xa3\\xf9\\xb9\\xf0\\xcb\\x25\\xd3\\x86\\x1c\\x08\\x83\\xca\\x0d\\xfc\\xfc\\xd7\\xdc\\x54\\x64\\xcc\\xbb\\x44\\x26\\xac\\xb8\\x73\\xbb\\xc6\\x60\\xc0\\xe7\\x2c\\x36\\x85\\xc2\\x8e\\x9c\\x83\\xd5\\xca\\x58\\x9a\\x44\\x40\\x8d\\x2c\\x36\\x09\\x84\\x24\\xdf\\x6e\\x02\\x62\\x32\\x0b\\xe9\\x7f\\x1e\\xe1\\x7f\\x2c\\x42\\x24\\x3c\\xbf\\xea\\x2f\\x9b\\x57\\xbf\\xc6\\x7f\\x31\\x61\\xc9\\xd0\\x72\\xfe\\xe7\\x2e\\x48\\x7d\\xb7\\xf1\\xc3\\xe0\\x97\\xf3\\xa7\\xcc\\xdb\\xef\\xe1\\xfb\\xd1\\xca\\xf1\\x03\\xbb\\x77\\xe7\\xb7\\x09\\xf1\\x29\\xa2\\xe3\\x33\\x12\\x83\\xc5\\x85\\x0c\\x14\\x84\\x34\\x03\\xe5\\x32\\x99\\x82\\x62\\x18\\xf6\\x16\\x7d\\x5b\\xac\\x63\\x6c\\xd8\\x7a\\x20\\x01\\x30\\xee\\x98\\x32\\xfd\\xe0\\xaa\\x83\\x7c\\xad\\x0d\\xba\\x6d\\x6c\\xd9\\x83\\x0d\\x70\\xdc\\x94\\x29\\x82\\x4d\\x18\\x81\\xe4\\x50\\x89\\x9e\\x67\\xa1\\x62\\x43\\x3a\\x4e\\xa9\\x84\\xd0\\x68\\x35\\xda\\x0c\\xb2\\x5b\\x9a\\x28\\x31\\x8c\\xc4\\x28\\x8d\\xcb\\x0a\\xc5\\x5b\\xfb\\xe0\\xed\\x03\\x27\\xd4\\xd3\\x57\\xcf\\x54\\x8e\\x19\\x36\\x6f\\x9f\\x13\\xbd\\x08\\xfc\\x13\\x5c\\xdf\\xb2\\x21\\x90\\x47\\x0f\\xad\\xdb\\x98\\x96\\xd4\\xbf\\x7a\\xfd\\x32\\x7a\\x48\\xdd\\xa6\\x53\\x97\\xf0\\x78\\x48\\xe1\\xd8\\x5a\\x12\\x8b\\x24\\x85\\xcc\\x06\\xa8\\x52\\x30\\x66\\x93\\xc9\\xc2\\x20\\x03\\xa2\\xb8\\x65\\x50\\x01\\xb9\\x64\\x43\\xf2\\xa3\\x2c\\x7e\\x00\\x26\\x0a\\x36\\x24\\x68\\xca\\x07\\x18\\x6d\\x17\\xe9\\xda\\x4f\\xcf\\x36\\x63\\xe9\\x96\\xcd\\xf8\\xef\\x9e\\xed\\xb2\\x2e\\x21\\x2d\\x08\\xbc\\x4b\\xd3\\x54\\x60\\xf4\\xd3\\xc8\\x7a\\xf4\\x9c\\x35\\x6f\\x5d\\x45\\xdd\\xb3\\x48\\xa3\\x8f\\x4e\\x98\\x4a\\x8f\\xac\\x7b\\xfa\\x4b\\xd8\\x5d\\x58\\xc3\\x1c\\x70\\x03\\x42\\x94\\xf3\\x27\\x51\\x2d\\xa9\\x6e\\xa1\\x38\\x8f\\x5e\\x1f\\x4b\\x5b\\x6d\\xa9\\x4a\\xa5\\x8d\\x86\\x09\\xad\\x12\\xb2\\x50\\x66\\xd8\\x8c\\xd1\\x68\\x38\\x93\\xf3\\x5e\\x5c\\x46\\x06\\x47\\x51\\x1c\\x16\\x7f\\xb2\\x3d\\x21\\x6c\\x85\\x12\\x84\\x88\\x46\\xa0\\x61\\x02\\x57\\x5a\\x45\\xfa\\xd3\\x64\\xe5\\x37\\xda\\x06\\x16\\x0a\\x35\\xc8\\x9e\\x68\\x36\\x27\\x83\\x5c\\x44\\x25\\xb2\\xe9\\xdd\\xb3\\x21\\x93\\xf7\\x64\\xbf\\x21\\x33\\x4e\\x7c\\xb0\\x47\\xdb\\xad\\x43\\x71\\xa9\\x69\\x76\\xcc\\xce\\x05\\xd3\\x56\\x69\\x5a\\x72\\xad\\xcd\\x56\\x65\\xf3\\xb9\\x2b\\xd7\\x4d\\x6d\\x9f\\xd3\\x71\\x4c\\x37\\x25\\xf8\\x7a\\x4c\\x6a\\x79\\xe7\\xe9\\xe5\\xf3\\x96\\x41\\xfa\\x09\\x43\\x7e\\x5e\\xdb\\x3c\\xcb\\x88\\xca\\x09\\xd5\\x09\\x4f\\xf0\\xbf\\xc7\\x3b\\x5a\\xb2\\xbd\\x54\\x60\\x3e\\x84\\x65\\x25\\x2d\\x3b\\xb5\\x1e\\xd2\\x92\\xcc\\xb3\\x2f\\x9a\\x67\\x0c\\x9a\\x67\\x22\\x15\\xa4\\xca\\x42\\xcd\\x69\\xbf\\xdf\\x9d\\xa4\\xd3\\xc5\\xbb\\xdd\\xca\\x96\\x16\\xab\\xb5\\xb9\\x52\\xd9\\x4a\\xcd\\x70\\xc9\\x21\\xa5\\xa6\\x20\\x39\\xd9\\xc1\\x59\\x2c\\x46\\xc7\\x9d\\x40\\x7a\\x3a\\x9e\\xef\\xbd\\x86\\xf9\\x06\\x85\\x73\\x41\\x63\\x4e\\xf4\\xd6\\x4c\\x14\\x96\\xb0\\x29\\xd3\\x22\\x22\\x1c\\x58\\xf4\\x7e\\xee\\xa1\\x6e\\x15\\x42\\x1d\\x20\\x97\\x9d\\x65\\xca\\x16\\x3b\\x89\\x21\\x4b\\x51\\x2b\\xcd\\x99\\xaf\\x91\\xe6\\xec\\xdd\\xf5\\xc8\\x39\\x33\\xdf\\x0b\\x73\\xe6\\x7f\\x93\\xa6\\x3c\\xbc\\x0a\\x4f\\x19\\x28\\x85\\x29\\x23\\x25\\x8d\\x9a\\x32\\xee\\x2d\\x08\\xae\\x41\\x37\\xf3\\x0b\\xb2\\x08\\x7e\\xdc\\x15\\xc5\\xa1\\xd5\\xf9\\xa0\\x0e\\xc6\\xaa\\xd4\\xea\\x80\\x51\\xa1\\xd2\\xdd\\x56\\xdd\\x75\\x73\\xf7\\x2c\\xa2\\x4c\\x93\\x32\\x8d\\xe8\\xb3\\x44\\x49\\xb6\\x31\\xfa\\x92\\x2d\\x98\\x1d\\x84\\x5c\\xa0\\x25\\x5e\\xd3\\xc4\\xcc\\x08\\xf1\\x16\\x33\\x68\\x36\\x61\\x46\\xbf\\x1d\\x33\\x9e\\xcf\\x80\\xb6\\x9a\\x29\\xae\\x19\\x3a\\x26\\x73\\x62\\x7a\\xd5\\xb4\\xfc\\xf2\\x1e\\xa5\\x83\\xdb\\x82\\x6b\\x4b\\x27\\xaf\\x06\\xfa\\x79\\x2b\\xe7\\xd4\\xed\\xd9\\x19\\xdb\\xab\\x43\\xde\\xa0\\x31\\x1f\\x55\\x57\\x54\\x8d\\xb8\\x55\\x7e\\x98\\xec\\x99\\xa1\\x78\\xe2\\x06\\xf3\\x2d\\x5a\\x93\\x66\\x54\\x36\\x95\\x4f\\x4d\\x0b\\xb5\\xf3\\x78\\x35\\x81\\xec\\x7c\\x24\\xcf\\x76\\x24\\xdb\\x5c\\xb6\\x17\\x26\\x65\\x18\\x8d\\xa1\\x9c\\xa4\\xa4\\xf6\\xb9\\xf1\\xf7\\x64\\x28\\xea\\xcc\\xc7\\x0b\\x94\\x9f\\x6f\\xf1\\x78\\xfc\\xcd\\x35\\xba\\x80\\xdf\\x62\\xd1\\x39\\xfd\\xf7\\x82\\xba\\x3b\\x50\\x29\\x58\\x65\\x22\\x93\\xf8\\x34\\x82\\x88\\x65\\x30\\x3d\\x85\\xb4\\xba\\x6c\\xf0\\x1b\\x51\\x99\\x8f\\x14\\xa3\\x70\\x0d\\xe5\\x16\\x09\\xd2\\xf1\\x0c\\x91\\xd8\\x88\\xc0\\xda\\xc8\\x1d\\x01\\x19\\x17\\xcf\\x69\\xa5\\x42\\xc5\\xec\\x78\\xb1\\x7e\\x83\\xfe\\x4c\\x76\\xb0\\xdd\\x10\\xcf\\xc0\\xe0\\xa6\\x61\\xa3\\x16\\xd9\\xe7\\x5d\\x19\\x3a\\xfd\\xf4\\x27\\xcf\\x69\\xd6\\xf7\\xe9\\x6f\\x9d\\x1d\\xbb\\x67\\xc9\\xce\\x2e\\x65\\x5b\\x97\\x6e\\x81\\x9a\\xba\\xc5\\xeb\\x46\\x0e\\xcf\\xcd\\x6f\\xdd\\x75\\x5a\\xb1\\x8a\\xb6\\xc1\\xb2\\x82\\xd2\\x29\\x76\\x58\\x58\\xf4\\x46\\x87\\xdc\\xe6\\x03\\x4a\\x06\\x95\\xbf\\x26\\x08\\x72\\x27\\x6b\\x4d\\x4e\\xc8\\x32\\xb2\\x62\\xfc\\xf8\\xf5\\x8b\\x4b\\x73\\x2c\\x34\\x1d\\x5f\\xd0\\x2e\\xab\\x43\\xde\\xb8\\xdc\\x15\\xc1\\xca\\xd2\\x19\\xe3\\xc9\\xbe\\x34\\x0f\\xae\\xd3\\x9f\\xcb\\x28\\x64\\x71\\x03\\x78\\x4d\\xf5\\x9a\\x58\\x08\\xe3\\x5d\\x26\\x14\\x26\\x6a\\xe2\\x74\\xdf\\x29\\x4d\\x9a\\xdb\\x5e\\xee\\x8e\\x8d\\xba\\x27\\xac\\x69\\x4e\\x4e\\x7e\\xd4\\x1e\\x9b\\x00\\xf8\\x20\\x1e\\xc1\\xc4\\x26\\x06\\x64\\x5c\\x80\\x18\\x2e\\x2c\\xb3\\x8d\\x5c\\x13\\xf8\\x79\\xc2\\x8c\\xd2\\x6d\\x33\\x0f\\x64\\xd0\\x36\\x6e\\x66\\xec\\xa1\\x9a\\x36\\x6a\\x35\\xcc\\x9c\\x94\\x5e\\x31\\x23\\xbf\\xbc\\x67\\xbf\\xc1\\x6d\\x99\\x7f\\x2e\\x9d\\xbc\\x91\\xff\\xd7\\xfc\\x95\\x23\\xcd\\x3b\\xe1\\x4c\\xfe\\xb3\\xfc\\x38\\xb4\\xb6\\xa3\\x3f\\x1c\\xd4\\xb0\\xb6\\x34\\xb5\\x04\\xc9\\xde\\xd3\\x88\\x4e\\x64\\x43\\x71\\x56\\xee\\x87\\x4e\\xa3\\x1e\\x32\\x01\\x44\\xa5\\x49\\xc1\\xe9\\x6f\\xab\\xbf\\xf3\\x70\\xf7\\xac\\x4d\\x45\\x4f\\x32\\xd0\\x0d\\x62\\x87\\xb7\\x0a\\x1e\\x29\\x77\\xe3\\x24\\xb9\\x93\\x75\\x9d\\xf3\\xc2\\xe3\\x04\\x2f\\x09\\x4c\\x7c\\xb0\\xb4\\xa9\\xe8\\xd1\\xd4\\x24\\x14\\xc7\\x26\\x31\\xff\\x44\\x3c\\xf4\\xe2\\xee\\xc5\\x9c\\xdd\\x6e\\xf6\\x02\\x80\\xd2\\x3e\\xb3\\xd9\\x47\\x79\\xd3\\xbd\\xf9\\xde\\x5e\\x5e\\xe8\\xf1\\x02\\x99\\x57\\xe6\\x55\\xba\\x0c\\xf7\\x24\\xe1\\x22\\x75\\x4c\\x95\\x95\\x86\\xe8\\xbe\\x78\\x82\\xde\\x47\\xcb\\x90\\xb4\\x97\\x24\\x8b\\x34\\x25\\xf9\\x8d\\x3b\\x93\\x3f\\x36\\x6e\\x60\\xd6\\x33\\xa3\\x57\\xed\\x18\\x7c\\x7c\\xe2\\xda\\x67\\xa0\\x76\\x3c\\xac\\x2e\\x1c\\x30\\xd7\\x09\\x7b\\x16\\xbd\\x91\\x17\\x42\\x32\\xb0\\x63\\xdd\\x9a\\x2f\\x6a\\xd6\\x2f\\x2e\\xc9\\x1b\\x28\\x2d\\x75\\x14\\x9d\\x38\\x9b\\x46\\xf1\\x08\\xe7\\x70\\x58\\x2c\\x3e\\x6d\\x0c\\x00\\x5a\\xad\\xdf\\x6e\\x93\\xd9\\x64\\x2a\\xb7\\xf1\\x0e\\x54\\xdd\\x6b\\x20\\x2e\\xd2\\x66\\x2d\\xe2\\x9d\\xb2\\x45\\x31\\x16\\x03\\x25\\x42\\x20\\xa2\\x54\\x3c\\x69\\xa3\\xf7\\x71\\x67\\xda\\x8f\\x8b\\xad\\x4e\\xea\\x3d\\xb5\\x68\\xd5\\x8e\\x21\\xc7\\x27\\x44\\xd3\\xb6\\xa0\\xe8\\x8d\\xf6\\xed\\x9a\\x77\\xee\\x94\\xb4\\x63\\xdd\\xea\\x7f\\x20\\xe2\\xfa\\x67\\x45\\x88\\x03\\x54\\x00\\xc9\\xe1\\x3a\\x64\\x5b\\x12\\x71\\x5f\\x3f\\xaf\\x41\\xe3\\x63\\xe2\\x95\\x06\\x65\\x12\\x63\\xb3\\x25\\x6b\\xfc\\x7e\\x9f\\x0f\\xe9\\xa9\\xcf\\xc7\\xb9\\xcc\\x88\\xb7\\xf7\\x20\\x14\\xbc\\x46\\x30\\x9d\\x58\\x52\\x6c\\x42\\xa5\\x7c\\xdf\\x28\\x1e\\xe5\\x4a\\xb1\\x53\\x64\\xbb\\x30\\xbb\\x95\\x78\\xb3\\x55\\x6a\\x65\\x89\\xfc\\x05\\x27\\xc8\\x28\\x08\\x74\\x9b\\xd0\\x22\\xaf\\xd3\\xda\\xaa\\xa9\\x0b\\x9f\\x1c\\x96\\xd3\\x6d\\xe3\\x82\\xb2\\x59\\x49\\x55\\x9e\\x9e\\xad\\x3a\\x17\\x7d\\x63\\x9a\\x37\\xae\\x5d\\x67\\x3a\\xb7\\x75\\x46\\xb7\\x4e\\x6d\\x26\\x55\\xf7\\x9b\\xa2\\xa4\\x75\\x7d\\xdb\\x0c\\x1d\\x9d\\xd5\\x21\\x37\\x35\\x31\\x94\\x3d\\x71\\xb0\\xa7\\x7d\\x4e\\xb0\\x3d\\xa1\\xdf\\x8f\\xe8\\x5f\\x89\\x78\\x1b\\x47\\xf5\\x08\\x25\\xc8\\x63\\x63\\x21\\xad\\xf2\\xba\\xcc\\x16\\xda\\x12\\xaf\\x73\\xb9\\x12\\xbc\\x2a\\x95\\x1a\\x9b\\x1a\\xb5\\xda\\x6e\\x36\\x1b\\xed\\xf7\\x58\\x34\\x05\\x29\\xc1\\x41\\x53\\x78\\xe4\\x04\\x04\\x2c\\x90\\xd8\\xff\\x50\\x1d\\x22\\x61\\x6c\\x81\\xb4\\xdb\\xf1\\x93\\xdc\\xcb\\x0a\\x7b\\x8f\\x1d\\x64\\x9a\\x3b\\xa9\\x63\\xeb\\x1a\\xef\\x04\\xcf\\xea\\xd1\\x63\\x17\\x4c\\x2d\\xed\\xdc\\x6f\\x17\\xb8\\x7e\\x2c\\x66\\x4a\\xf7\\x8e\\x5d\\x73\\x07\\x74\\xee\\xd8\\xa2\\xc5\\x50\\xed\\x90\\x92\\x61\\xc5\\xc5\\xa3\\xe5\\x50\\x3e\\xb0\\xf3\\x98\\xb9\\x82\\x5c\\xb4\\xa1\\xce\\xc2\\xce\\x88\\xf7\\x7e\\x2a\\x0d\\x77\\x06\\x97\\xdb\\xed\\x90\\xa6\\x63\\xf5\\x7a\\x77\\xba\\x3b\\xc3\\x75\\x57\\x63\\x33\\xeb\\xe2\\xd2\\xe3\\xf2\\xe3\\x7a\\xc5\\x31\\x71\\x71\\x29\\x66\\x44\\x3c\\xf5\\x83\\x10\\x9f\\xa3\\xa4\\x11\\x59\\xc6\\x7c\\x49\\x7c\\x83\\x22\\xd1\\xf1\\x22\\xd1\\xf9\\x20\\x10\\x8d\\x7e\\x6c\\x0b\\xe2\\x73\\x3a\\x19\\x87\\x6b\\x1f\\xcc\\xc1\\x06\\xed\\x03\\x3d\\xbe\\x8f\\x9f\\xe4\\x58\\x31\\x74\\xb4\\xd5\\x0e\\x72\\x27\\x74\\x1f\\x3b\\xaf\\x74\\xfb\\xf4\\xe2\\x69\\x26\\x1a\\xba\\xe0\\x74\\x95\\x6d\\x42\\xec\\xe1\\x7f\\xad\\xeb\\x31\\xbb\\x43\\x59\\xaf\\x7e\\x43\\x72\\xce\\x1e\\xf5\\x8e\\x1f\\x35\\x65\\x56\\x69\\xbb\\xf5\\x93\\x16\\x01\\x65\\x4d\\xf7\\xce\\xe6\\x51\\xac\\x6f\\x4e\\xdd\\xa9\\x43\\x9b\\xe9\\xe0\\x4b\\x13\\x5e\\x1f\\x11\\x1e\\x38\\xec\\x4b\\x61\\x4e\\x90\\xba\\x02\\xba\\x32\\xdf\\x90\\xf3\\x13\\x14\\x75\\xc9\\x68\\x46\\xac\\x76\\xb9\\x4b\\x43\\x19\\x0a\\x80\\x2e\\x64\\xe6\\x37\\xc8\\x36\\xd6\\x38\\xa1\\xcc\\x65\\xa3\\x6d\\xa6\\x0d\\xa4\\x3e\\x35\\xf3\\x29\\x50\\x30\\x73\\x26\\xdc\\x59\\xc7\\xd2\\xf7\\x85\\x18\\xae\\x39\\x8a\\x09\\x5d\\xc8\\xfe\\xa8\\x71\\x0e\\xa9\\x02\\x28\\x4f\\x41\\xd9\\xb4\\x46\\xa1\\x54\\x22\\x97\\xcb\\x28\\xee\\xb2\\xdf\\x89\\x91\\x69\\x83\\xd7\\x93\\x82\\x43\\x21\\x87\\xc4\\x6d\\x65\\x4c\\xb4\\xea\\xcc\\xd4\\xcc\\x9a\\x8b\\x35\\x35\\x6b\\x1f\\x6c\\xe7\\xd7\\x7c\\x87\\x62\\xd0\\x41\\x65\\xfc\\xef\\x8c\\xb5\\xee\\xc9\\x25\\xdf\\xf0\\xb5\\x7c\\x4f\\x34\\x8e\\x0e\\xe5\\x45\\x5d\\xd1\\x5a\\x24\\x51\\x79\\xa1\\x18\\xaf\\xdf\\xef\\xb4\\xa0\\x00\\x54\\xab\\x83\\x4e\\x67\\x33\\x55\\x72\\x9c\\xfd\\x9e\\xcc\\x74\\xcf\\xa2\\x53\\x69\\xee\\x7a\\x29\\x95\\x90\\x87\\x61\\x20\\x25\\x69\\x87\\xc6\\x10\\x55\\x58\\x04\\xa2\\xc1\\x92\\x70\\x27\\x7c\\xe2\\x79\\xf0\\x5f\\x48\\x62\\xa2\\xa1\\x94\\xc0\\xe9\\x7e\\xc6\\xe6\\x6d\\x8b\\xa7\\x59\\x4b\\x90\\xc7\\x45\\x6c\\x6f\\x39\\xac\\xeb\\xb3\\xa6\\x36\\x93\\xbb\\x9c\\x52\\x97\\xcf\\x96\\x7e\\x83\\x28\\x3d\\xd7\\x27\\xb1\\x65\\xeb\\xe5\\x93\\x51\\xa8\\x5c\\xb6\\x77\\x61\\x71\\xfe\\xde\\x8a\\xae\\xef\\xba\\x0a\\xf9\\x64\\xf1\\xfd\\x89\\x7c\\x1f\\x81\\x4f\\x0c\\x75\\x96\\xbe\\x80\\xe8\\x8f\\xc5\\x75\\x31\\xb4\\xc5\\x0a\\x55\\x1e\\x4f\\x9c\\x31\\xa0\\x71\\xde\\xb3\\x1a\\xcd\\x77\\x8d\\xb7\\x59\\x22\\x3b\\x98\\x4d\\x12\\xcd\\x41\\x1c\\x7f\\xc6\\x47\\x60\\x83\\xb2\\xa4\\x6e\\x69\\x11\\xa2\\x49\\x7c\\x87\\xc4\\x64\\x51\\x6a\\xaa\\xde\\x15\\xd3\\x2c\\x49\\x33\\x54\\x53\\x53\\xba\\xc4\\xd6\\x5b\\x20\\x37\\x77\\x6a\\xe1\\xf0\\x11\\xba\\xd1\\xe6\\x41\\x67\\x95\\xd5\\xb2\\xb6\\x1d\\x68\\x63\\x97\\xc0\\xb4\\xc5\\xd3\\xf8\\xbe\\x98\\xcc\\x92\\xbc\\xe1\\x03\\x03\\xc5\\x75\\x9f\\x8d\\x1d\\x48\\x64\\x62\\x3c\\xb2\\x7f\\x69\\x88\\x36\\x5c\\xaf\\x82\\xb2\\x73\\x33\\xc7\\xb9\\xb4\\x94\\x5b\\xaf\\xba\\x67\\x63\\xee\\x48\\xdb\\x5c\\x99\\x06\\x61\\xd9\\xcc\\xd1\\xb6\\x97\\x6b\\x19\\x7d\\xd2\\x9e\\x36\\xe0\\xe8\\x92\\x15\\xbb\\x06\\x1e\\x9d\\xb3\\x69\\xeb\\x82\\x17\\x07\\x4c\\xca\\x2b\\x2b\\x1d\\x3c\\x2e\\x17\\x5e\\x5a\\xf0\\xd3\\x9c\\xfd\\x6b\\x17\\xdf\\x9e\\xb2\\x6d\\xd5\\xc5\\x21\\xef\\x94\\x0f\\x1b\\x3f\\xfa\\x03\\x8a\\xe4\\xb9\\xd7\\xe9\\xeb\\xc8\\x2e\\xd8\\x51\\x46\\x63\\xc5\\xbd\\x2d\\x75\\x3a\\x87\\x4d\\x2e\\x77\\x9a\\xd4\\x7a\\xbd\\xfa\\x0e\\x4d\\x53\\xec\\xbd\\x06\\x4b\\x16\\x09\\x2b\\xc4\\x98\\x97\\x4b\\xcc\\x6a\\x30\\xb3\\x0d\\x88\\xf7\\xe0\\xad\\x35\\xb9\\x63\\xfb\\x7c\\xb3\\x64\\x5d\\xf9\\x73\\x0b\\xa7\\x2d\\x97\\xcf\\x66\\x3b\\x77\\x2e\\x1b\\xd3\\x8e\\x59\\xbb\\x27\\xf6\\xeb\\xed\\xcb\\x17\\xfd\\x34\\x77\\xca\\x18\\x63\\x7e\\xaf\\xaa\\x4b\\x23\\x5f\\x45\\xe3\\x4f\\x81\\x23\\xc8\\x9c\\x0d\\x54\\x4c\\x48\\x83\\x82\\x20\\x23\\xa5\\xd1\\x98\\xf4\\x1c\\xad\\xc4\\xc3\\xbe\\x95\\x19\\x9d\\x00\\x93\\x49\\x72\\x01\\x89\\xe5\\x81\\x2c\\xfa\\xd0\\x8b\\x45\\x43\\x3a\\x1a\\x16\\xba\\x2e\\x1e\\xd8\\xb4\\x55\\xbe\\x50\\x01\\x2f\\x5d\\xec\\xb0\\x64\\xe8\\xd9\\x4b\\xdb\\x56\\x65\\xb4\\x6c\\x89\\x9e\\x8d\\xf9\\x99\\x00\\x47\\x50\\x46\\xfc\\x6c\\x96\\xa2\\x4c\\x6a\\x8d\\xc6\\xac\\xa6\\xe5\\xfa\\x3b\\x4d\\x9f\\xdd\\xf8\\xa8\\x9e\\x4c\\x67\\x3c\\xbb\\x90\\x2b\\x2b\\x2d\\xaa\\x46\\xcf\\xf7\\x5c\\x7c\\x7e\\xc5\\x2e\\x68\\x68\\x91\\xd0\\x2c\\x7d\\xd8\\xf8\\xf6\\x4b\\x86\\x9f\\xbb\\xbc\\x5f\\xac\\x53\\x3c\\x0b\\x55\\x84\\x77\\xf1\\x18\\x53\\x55\\xa5\\xf5\\x40\\x2e\\xce\\x62\\x49\\xe4\\x12\\x1c\\xc6\\x7b\\x50\\xab\\xbc\\xcb\\xfd\\xe0\\x13\\x5c\\x3e\\x0e\\x4c\\x22\\x28\\x54\\x36\\x01\\x86\\x2a\\x40\\xc4\\x1c\\xe9\\x5d\\x04\\x26\\x0c\\xc7\\x29\\xb0\\x51\\x5c\\xf2\\x17\\xe4\\xf0\\xe5\\x5d\\x6a\\x0e\\x1b\\xe4\\x53\\xe4\\x0c\\x0a\\x49\\x7a\\xa3\\x28\\x60\\xbb\\xab\\x72\\x5a\\x08\\xf9\\xfd\\x41\\xb9\\xe0\\xfa\\x4a\\xa6\\x2d\\xbf\\x19\\xae\\x1c\\x9c\\xa3\\x2a\\xb6\\x76\\xc8\\x43\\x51\\x00\\xff\\xcb\\x02\\xfa\\xc4\\xe8\\x2b\\x83\\xcb\\x07\\x0c\\xbf\\x55\\x71\\x18\\xdf\\x59\\x07\\xd7\\x01\\xcf\\xae\\x15\\xd6\\x57\\x6d\\x34\\x2a\\xa0\\x0d\\x6a\\x1c\\x1a\\xa7\\x8e\\xe3\\xd4\\x4a\\xf9\\x5d\\x9b\\x99\\x10\\x98\\x99\\xff\\x01\\xd9\\x2f\\x8f\\x3a\\x2c\\x8e\\x64\\x7a\\xb8\\xf0\\x34\\x88\\xf7\\x78\\x23\\x39\\x0c\\x55\\xdf\\xb6\\x93\\xb2\\xac\\xd4\\x18\\x7e\\xa2\\x8f\\x7f\\x95\\x71\\x55\\xa9\\x22\\xdf\\x9b\\xa4\\xc9\\x07\\xd7\\x0b\\xda\\xfa\\x72\\xc1\\xe5\\xca\\x83\\x07\\x2b\\xf9\\x36\\xcd\\x1c\\x79\\xca\\x2a\\x83\\xa0\\x73\\xe5\\x28\\x17\\xf1\\x20\\x5b\\xe7\\x44\\xb6\\xc9\\x8a\\xcc\\x85\\x4d\\xaf\\xb1\\x41\\x97\\x52\\xe9\\x36\\x68\\x14\\xce\\xbb\\xac\\xf9\\x8e\\x86\\x24\\xad\\xf9\\xa2\\x8f\\x31\\x36\\x42\\x86\\x13\\x53\\x4c\\x2e\\xba\\x03\\x68\\x96\\x09\\xb4\\x2f\\x13\\x95\\x6c\\xb2\\x7b\\x9a\\x96\\xa5\\xdb\\x4e\\xed\\x35\\x7c\\x04\\x3b\\x88\\xf9\\x86\\xcf\\x79\\xc2\\x3f\\x75\\xf1\\x34\\xf0\\x42\\xdd\\x81\\xbd\\xf2\\x2a\\x77\\x49\\xbb\\xe1\\x03\\x8d\\xcd\\x68\\x86\\xd0\\x51\\x8d\\x42\\xd1\\xd3\\xcc\\x30\\x94\\x1f\\x24\\x85\\x8c\\x2a\\x46\\x2f\\x37\\xeb\\xcd\\x56\\x0b\\x65\\x56\\xcb\\xe5\\x31\\x0a\\x40\\xae\\x36\\x1b\\x48\\xf5\\x1d\\x88\\x64\\x04\\x51\\xa7\\xce\\xd9\\x3a\\x20\\x1e\\x39\\xcf\\x00\\x9f\\x4d\\x1e\\x33\\x7e\\x30\\x5f\\x6d\\xa7\\xbb\\xee\\xb6\\xcd\\x1b\\xbc\\x73\\x3b\\x6f\\xa4\\x37\\xf4\\xab\\xee\\xd6\\x77\\x16\\x33\\x85\\xa5\\x43\\xb3\\x37\\x2e\\x26\\xe3\\x75\\x07\\x7f\\x67\\x9e\\x66\\x6e\\x51\\x29\\xf8\\x1c\\xc9\\x1f\\x17\\xe7\\x21\\x73\\xd7\\xd9\\x3c\\x4c\\x73\\x95\\x2a\\xd5\\x60\\xd3\\xa5\\x28\\x7d\\x77\\x13\\x9d\\x77\\x64\\xe6\\x3b\\x3a\\x91\\x03\\xf9\\xc1\\x60\\x74\\x6c\\xd8\\x70\\x86\\x15\\x95\\x6d\\x93\\xfe\\x91\\x82\\xca\\x45\\xf8\\x11\\x95\\x8e\\xd3\\x5f\\x95\\x1a\\x5a\\xe5\\xf6\\x9a\\x8e\\xed\\xa5\\x41\\x89\\x2c\\x50\\xab\\x61\\x9d\\xfb\\x0e\\x56\\xe6\\x4c\\x78\\xa2\\x6a\\x98\\x62\\xc0\\x6c\\xfc\\xcb\\xe2\\x69\\x96\\x12\\xe6\\x16\\xdf\\xbe\\x57\\x4a\\x56\\xf6\\x8a\\x49\\xe0\\x60\\xdd\\x81\\x21\\xf9\\x0b\\x7b\\xb7\\xeb\\x53\\x54\\xfe\\xc4\\xf0\\x81\\xf6\\x36\\xe0\\x07\\xe1\\x57\\x2b\\xc7\\x83\\x43\\x78\\x1e\\x5b\\x91\\x6f\\xe9\\x8f\\xd6\\x4f\\x81\\x3d\\x15\\xa4\\x65\\xb4\\x52\\xae\\x50\\xa8\\xe4\\xf4\\x5d\\x59\\xe3\\xed\\x77\\xf1\\x26\\x0c\\x14\\x37\\xf8\\xc0\\x8b\\x9b\\xe6\\x2e\\xec\\xa2\\x94\\xf5\\x06\\xea\\xe5\\x28\\x27\\xbf\\xcf\\xeb\\x9e\\xa8\\xda\\x0f\\x7e\\x11\\x64\\x22\\x1b\\xc9\\x44\\x77\\xa4\\x3b\\x09\\x54\\x4e\\xc8\\x6b\\x09\\x28\\x20\\x92\\x4d\\x37\\x54\\xbb\\x61\\x52\\xa2\\xcb\\x65\\x8f\\xb9\\xa3\\xb0\\x04\\xa0\\xee\\x9e\\xac\\x61\\xa3\\xd5\\x96\\x23\\xe4\\xa3\\xc2\\x09\\x1b\\x51\\x22\\x53\\xc3\\x91\\xa6\\x88\\xa2\\x82\\xef\\xf4\\xd9\\xa2\\x92\\xd0\\x74\\xa0\\xa5\\xff\\x1a\\xec\\x11\\xfb\\x44\\x52\\x7e\\x6a\\x6a\\x9f\\x9e\\xad\\x77\\xaf\\x9e\\x38\\x76\\x41\\x4d\\x6c\\x42\\x6e\\x4c\\x27\\x57\\x6a\\xcb\\xb2\\x60\\xdb\\xae\\x3e\\x77\\x79\\x76\\x5b\\x70\\x23\\x90\\x59\\xd2\\x3e\\xad\\x74\\x56\\x79\\xc5\\xd4\\x45\\xe5\\xc5\\x0b\\x16\\xcc\\x69\\xd7\\x39\\xce\\x53\\x92\\x19\\xc8\\xc8\\xcd\\xac\\x6e\\x66\\xc6\\xb6\\x59\\x8e\\x74\\x3d\\x07\\xf9\\x57\\x33\\x8a\\x00\\x43\\xa1\\x58\\x85\\xd7\\xeb\\xb7\\x1b\\x99\\xa4\\x78\\x08\\x93\\x8d\\x3f\\xc8\\xfc\\xfe\\xfc\\xd8\\x5e\\xb1\\x74\\x6c\\xac\\xda\\xee\\x72\\xe9\\xd4\\x77\\x2c\\xd4\\x77\\x24\\xd2\\xc7\\xcb\\x27\\x9c\\xf6\\xe4\\x37\\x72\\xba\\x11\\x78\\x5b\\x52\\xdb\\x8d\\x6f\\x3f\\x3b\\x01\\x1b\\xcb\\x41\\x11\\xd5\\x24\\x21\\x20\\x24\\xcc\\x74\\xeb\\x49\\x6b\\xa7\\x56\\xf4\\x1c\\x72\\xe1\\xf9\\xf9\\xd5\\x8c\\x2d\\xb9\\x66\\xc1\\x7c\\xe0\\x3b\\x99\\x3a\\x2e\\x75\\x4a\\x8b\\x49\\x0b\\xc6\\x54\\x98\\x87\\x8c\\x2b\\x90\\x51\\xb3\\x47\\x0e\\xdb\\x60\\x34\\xcd\\x28\\xdd\\xf1\\x4a\\x87\\x35\\x1f\\xd3\\x7f\\xa1\\xff\\x32\\xf8\\x5e\\xdd\\x7b\\x9e\\xb8\\x59\\x13\\x4a\\x06\\x0f\\xd1\\x0e\\x1d\\x92\\xdb\\x43\\x38\\xe3\\x3c\\x4c\\xbd\\x0d\\x2b\\x98\\xaf\\xf5\\x1c\\xbb\\x94\\x5a\\x4c\\x4f\\x22\\xfe\\x66\\x1c\\xb2\\x8f\\x25\\x24\\x66\\xf0\\x51\\x99\\x21\\x9b\\x4e\\xe6\\x51\\x3a\\x3c\\x0e\\xbf\\x0f\\x9a\\x4c\\xb1\\x32\\xb7\\xd5\\xa3\\xf1\\x7e\\x47\\x59\\x05\\xcf\\xf3\\xd0\\xd6\\x9f\\x10\\xbf\\x62\\xf0\\x71\\x92\\x23\\x9a\\x62\\x13\\x6d\\x12\\x12\\x8b\\x50\\xee\\xe7\\xe7\\xc0\\xf6\\x89\\x0b\\x5a\\x27\\x3d\\x39\\xfb\\x89\\xaa\\x7f\\x65\\x67\\x1c\\xea\\x1a\\xfa\\xf8\\xf9\\x15\\x3b\\xdf\\x7c\\xff\\x90\\x1e\\xfc\\x62\\xa4\\xdb\\x3c\\xbb\\xbc\\x7c\\x61\\xcb\\x94\\x41\\xab\\x86\\x54\\x0c\\x83\\x23\\x65\\xdf\\x54\\xec\\x2b\\x3d\\xfa\\xf7\\x67\\x96\\xfc\\xe5\\x1f\\x6d\\x7e\\xec\\x53\\x89\\x69\\x1b\\x8b\\xf8\\xbd\\x93\\xf9\\x9d\\x72\\x23\\x09\\xe9\\x10\\xf2\\x59\\xb5\\x7e\\x87\\x43\\x65\\x94\\xcb\\x95\\x2a\\xad\\x2a\\x11\\x71\\x3d\\xc9\\x68\\xb8\\x87\\xde\\x92\\xab\\xee\\x28\\x7f\\xf0\\x08\\xe9\\x1f\\x61\\x77\\x7e\\xd3\\xea\\x82\\xa8\\x8a\\x4e\\xe1\\x42\\x2f\\x8e\\xb3\\x8d\\x48\\x3e\\x30\\xd9\\x36\\x13\\xce\\x04\\x91\\x37\\xc7\\x15\\x94\\xf4\\xa7\\xe5\\x63\\x5b\\x8f\\xfa\\xcb\\x98\\xac\\xc9\\x59\\x73\\xd7\\x9e\\x7e\\xd6\\x5c\\x3c\\x3a\\xab\\xa8\\xa8\\x87\\x67\\xfa\\xa0\\xf4\\x90\\xa9\\xc7\\xe0\\xd9\\x21\\xe6\\xd7\\xc5\\x0b\\x07\\x7d\\xb2\\xe6\\x09\\x88\\x3b\\x58\\xcb\\x0e\\xac\\x7f\\x0d\\x40\\x67\\x95\\x79\\xf8\\xe1\\xf2\\x81\\x13\\x58\\xb0\\x75\\xeb\\xa2\\xca\\x7e\\x23\\xf8\\xa1\\xf4\\xb8\\x6f\\x47\\x3f\\x4d\\xee\\xac\\x9f\\x43\\xf2\\xfd\\x2b\\xca\\xb9\\x5a\\x84\\x1c\\x66\\x68\\x81\\x4a\\xc4\\x55\\x3b\\x6d\\xa3\\xa0\\x01\\xd2\\xc6\\xbb\\x4a\\x4e\\x7d\\xcf\\x4a\\xff\\x20\\xf0\\x36\\x3f\\x82\\x9a\\x2e\\x6d\\x56\\x07\\xf0\\x21\\x7d\\x40\\xf0\\xaf\\x5e\\x10\\x83\\xa1\\xb7\\x4d\\x01\\xb0\\x87\\x3f\\xb7\\x04\\xec\\xea\\xe2\\x89\\x73\\xa9\\x6d\\xf6\\x8c\\x8c\\xa4\\x16\\x01\\x57\\xce\\xfd\\x45\\xfc\\xf3\\x2f\\x3f\\x49\\x6f\\xe0\\x53\\xe9\\x2e\\xbf\\x0c\\x6d\\xa5\\x28\\x33\\xbb\\x43\\x03\\x3e\\x04\\xb3\\x79\\x73\\xdd\\x05\\x7c\\x7e\\xfe\\xd7\\xfa\\x19\\xc0\\x0a\\xd7\\xea\\x39\\x98\\x58\\x7f\\xa6\\x6e\\x2d\\x25\\xbd\\x77\\x8e\\x9e\\x87\\xde\\x4b\\xa3\\x82\\x75\\x6b\\xc8\\x7b\\x5f\\xd5\\x8f\\xa6\\xf7\\xd1\\x93\\x91\\x7c\\xcc\\xa8\\x5f\\x26\\xbc\\x47\\xf9\\xeb\\x67\\xd0\\x5f\\x92\\xf7\\x66\\x09\\xef\\x21\\x9f\\x77\\x84\\x2f\\xa4\\x2f\\xc3\\xb5\\x44\\x0f\\x9e\\x08\\xc5\\x7a\\x15\\x8a\\x78\\x28\\xf3\\x43\\x7f\\xb2\\xd1\\x6e\\x30\\x18\\x8d\\x49\\x48\\x15\\x62\\x91\\x0e\\x68\\xd5\\xb1\\xe8\\x3f\\xa3\\xcb\\x82\\x61\\x9b\\xf2\\x05\\x14\\x1f\\x31\\x25\\x6f\\x08\\x6b\\x1b\\x6e\\xc4\\x34\\x55\\x08\\xb4\\x4e\\x8f\\x54\\x08\\xf0\\xc9\\xc4\\xe5\\x13\\x2a\\x4a\\xca\\x5f\\xdf\\x37\\xbb\\x9a\\x51\\xb6\\x7c\\x72\\xce\\x5c\\x60\\x7f\\x39\\x75\\x74\\xd2\\xa4\\xe0\\xf8\\x39\\xc3\\x2b\\x4c\\x83\\x46\\x77\\x85\\x6b\\xe7\\x0c\\x1f\\xb6\\xce\\x64\\x9d\\x55\\xb2\\xbd\\xb6\\x43\\x01\\x7f\\x07\\x69\\xc4\\xde\\x61\\x77\\xeb\\x2e\\xba\\x12\\x66\\x4d\\x28\\x1a\\x2a\\x69\\x04\\xa0\\x92\\xf9\\xde\\xf4\\x55\\xa4\\x07\\x5a\\x2a\\x25\\x64\\xd2\\x40\\x2d\\x0a\\x3d\\xf4\\x94\\x56\\xab\\x54\\xa9\\x74\\x50\\x85\\x03\\x69\\x4c\\x76\\xd4\\x11\\xad\\xb0\\x89\\xec\\x02\\x56\\x4b\\x1e\\x20\\x1d\\x18\\x03\\x59\\xd9\\xf0\\xf9\\x42\\x9d\\x32\\x19\\x38\\x17\\xf1\\xe3\\x7b\\x65\\x2f\\x48\\xee\\xb9\\x92\\x9e\\xc4\\xc7\\xcd\\x4d\\x72\\xf6\\xa1\\x2d\\x75\\xcd\\xd6\\x9e\\x5e\\x70\\x90\\xfe\\x27\\xe1\\xd9\\x27\\x7c\\x35\\xfd\\x32\\x3d\\x8f\\x72\\xa1\\xa8\\xb9\\x53\\xc8\\x6f\\xb5\\x58\\xdc\\x6e\\x8e\\xa3\\x9a\\xc5\\x6a\\xb5\\x14\\x95\\xec\\x30\\xaa\\x34\\xf1\\xf1\\x21\\xa5\\xb6\\xc0\\x18\\x6f\\x8c\\x67\\xac\\x5e\\x06\\x97\\x70\\x89\\xe8\\xd9\\x39\\x52\\x59\\x94\\xa1\\x21\\x03\\xc7\\x40\\x41\\xc6\\x86\\xc0\\x2b\\xd1\\x66\\xf6\\x92\\xe8\\x21\\x80\\x45\\x26\\x01\\x44\\xc7\\x82\\xa9\\x3d\\xdf\\xda\\xb5\\x69\\x2b\\x8e\\x07\\x9f\\xa0\\xd3\\x06\\x8c\\x59\\xd3\\x77\\x22\\x9d\\x31\\x7d\\xe7\\x36\\xba\\x3c\\x12\\x17\\x0e\\x39\\x06\\xe6\\x1c\\xdb\\xb6\\x0a\\x05\\x87\\x53\\x72\\x3a\\xf7\\x8a\\x6b\\x5b\\x62\\xd3\\x2c\\xa0\\xfb\\x34\\x44\\x88\\x58\\x36\\xbe\\xe7\\xbb\\x43\\x0f\\xbd\\x10\\xc9\\xc1\\xbc\\xfa\\x79\\x75\\xab\\xc9\\x7b\\xa3\\xf9\\x9e\\xf4\\x35\\x7a\\x01\\x7a\\x6f\\x7e\\xfd\\x3a\\x41\\x36\\xa8\\x7e\\xf5\\xf7\\x38\\xc0\\x14\\x22\\x7f\\x17\\xa4\\x86\\x87\\xb2\\x91\\x18\\x98\\x83\\x71\\x7e\\x5a\\x91\\x9a\\x9a\\x9c\\x4c\\x6b\\xcd\\x4c\\xcb\\x56\\x09\\x19\\x45\\xe1\\x04\\x7d\\x90\\x2a\\x0a\\x6b\\x0d\\xf2\\xb8\\xa0\\x4d\\x1e\\x94\\x07\\x0d\\xb1\\x36\\x9d\\xc1\\x5b\\x14\\x36\\x58\\x1b\\xf5\\xc7\\x15\\x2a\\xf8\\x72\\x22\\x77\\x8b\\x9a\\x60\\xb1\\x46\\xd2\\x88\\x46\\xbb\\x8e\\x89\\x16\\xe1\\x5c\\xb2\\xf1\\xfe\\x34\\x97\\xd5\\xb8\\x69\\x2a\\xbc\\xae\\x58\\x28\\xb5\\xca\\xfd\\x6d\\xec\\x72\\xfe\\xd7\\xb7\\x4e\\xea\\x16\\x9f\\x58\\xa8\\xad\\x1a\\xbd\\x61\\xa5\\x7b\\xf1\\x09\\xfd\\x8c\\x83\\x17\\xaf\\xdb\\x9f\\x61\\xe6\\xce\\x5c\\xf6\\x4a\\x00\\xfc\\xab\\x75\\x8e\\xd8\\x32\\xf7\\x39\\xb0\\x7f\\xe5\\xc6\\xdc\\xae\\xf4\\x8b\\x75\\x03\\xbb\\xb4\\x2a\\x2d\\x59\\xb8\\x81\\x3e\\xdc\\x6f\\xd4\\x87\\xa7\\x71\\xef\\xd4\\x9a\\x85\\x2f\\x6e\\x17\\xf2\\x3a\\xdc\\xbb\\xaa\\x25\\x7b\\x89\\xca\\x20\\x3b\\x7c\\x79\\x28\\x28\\x4c\\x6d\\xd6\\xcc\\x90\\x15\\xe3\\x8e\\x6f\\xd7\\x0e\\x42\\xb7\\x41\\xcb\\x84\\xda\\xbb\\x63\\x9c\\xfe\\x24\\x3f\\x9a\\x71\\x33\\x93\\x35\\xc9\\x19\\xc2\\x95\\x48\\x71\\x4e\\xa7\\x87\\x52\\xa5\\x52\\x5a\\x0b\\x97\\x53\\x14\\xe6\\x90\\xd5\\x28\\x0a\\x53\\xfa\\x06\\x56\\xe0\\x2c\\x2a\\x27\\xfd\\x2d\\xd2\\xde\\xef\\xc6\\x5b\\x46\\x52\\x90\\x4b\\x35\\x2a\\x4b\\x0a\\x36\\xdc\\x1b\\x92\\x76\\xbc\\x12\\xc8\\x96\\x17\\xe2\\x00\\x99\\x35\\x09\\x9c\\x6d\\xd9\\x02\\xfe\\x9c\\x10\\xe4\\x26\\x72\\xd2\\x5e\\x18\\x2d\\x9e\\x24\\x61\\xa7\\x73\\x7b\\xe7\\x4b\\xb3\\x6e\\xbe\\x38\\x6b\\x9b\\x0f\\xb2\\x09\\x2f\\xca\\x93\\x2f\\xd8\\x8d\\x89\\xf1\\x8a\\x05\\xe6\\x27\\x2b\\x1d\\x36\\xcb\\xf1\\x58\\x87\\x3d\\x10\\xaf\\x5b\\x60\\x9d\\x50\\x1d\\x13\\x63\\xd3\\x58\\x98\\x27\\xf6\\x74\\x1c\\xbc\\x7a\\x50\\xeb\\xb9\\x13\\x9f\\x5c\\xd3\\xaf\\x8a\\x29\\x7c\\x6d\\xdf\\xfb\\xfc\\xc2\\xda\\x11\\x55\\xce\\x2d\\x8e\\x0b\\xf0\\x81\\x3c\\x23\\x7d\\xfc\\x54\\xd9\\xa8\\x17\\x14\\xe9\\x19\\x93\\x26\\x29\\xa6\\xe7\\xf7\\x1c\\xd0\\x6f\\x65\\xf1\\xde\\xdf\\x06\\xd6\\xac\\x5c\\x0f\\x9e\\xc0\\x60\\xf3\\x04\\x4b\\x9f\\x5d\\x83\\xf8\\x95\\x4e\\xe5\\x51\\x33\\x42\\x19\\xb9\\xb0\\x55\\x82\\xc6\\x65\\xb7\\x6b\\x9a\\x37\\x33\\x41\\x59\\xbe\\xdf\\x1f\\x4a\\x55\\x72\\xcd\\x2c\\x1e\\x9d\\x47\\x67\\x8a\\x43\\x6e\\xc0\\xca\\x39\\x28\\xae\\x35\\xe2\\x0d\\x87\\x72\\x04\\x3b\\xe4\\x6a\\xeb\\x5f\\x3f\\xa6\\x33\\x16\\xe0\\x9f\\x21\\x95\\x42\\x53\\x80\\x94\\x38\\x23\\x0a\\x69\\x3f\\x05\\xd7\\xdf\\x89\\xf7\\x2a\\x9c\\x97\\x09\\x9a\\x58\\x7e\\xe3\\xf8\\x2a\\xd8\\x14\\x75\\x3f\\x1f\\x3c\\x96\\x5b\\x50\\xd6\\xb0\\x35\\x47\\x47\\x61\\xf0\\xaf\\x17\\x18\\xb6\\xdd\\xc7\\xba\\x03\\x2e\\x89\\x59\\x36\\x37\\x62\\x96\\xd3\\x2c\\x32\\xcb\\xe3\\x3d\\xe5\\x51\\x1c\\xb2\\xb0\\x4f\\xec\\xe9\\x20\\xb0\\x6b\\xf6\\xba\\x92\\x2a\\x0b\\xe2\\x16\\xa8\\x41\\xdc\\xda\\x73\\x44\\x81\\x39\\xc5\\x8d\\x3e\\x24\\xc7\\x9c\\x92\\x3f\\xe8\\xb4\\xba\\x24\\x38\\x36\\xc2\\xac\\xa7\\xf9\\x57\\x66\\x61\\x64\\x7e\\x5c\\xfb\\xb3\\x1b\\x09\\xd9\\x77\\x88\\x5f\\xa9\\xd4\\x84\\x50\\xae\\x5b\\xab\\xd6\\x01\\xa7\\xd7\\xe5\\xd4\\x31\\x96\\x38\\x8e\\x6a\\xde\\x3c\\xdd\\x92\\x16\\x9b\\x88\\xa4\\x29\\x96\\xa2\\xdc\\x1e\\x77\\x71\\x58\\xa7\\x36\\x28\\xed\\x86\\xa2\\xb0\\x13\\xe0\\xab\\x0f\\x45\\x61\\x8b\\x52\\x66\\xb7\\x6b\\x53\\x3c\\x52\\xef\\x72\\x24\\x52\\x37\\xde\\x12\\x44\\x49\\xfa\\x9b\\xdc\\x2c\\x4e\\x91\\x76\\x51\\x23\\x1b\\xc8\\x24\\x08\\x8d\\xe6\\x45\\x20\\x5a\\xaa\\x22\\xb7\\xd3\\x6c\\x9c\\x70\\x1f\\x2d\\xc8\\x81\\xa3\\x85\\x4e\\x8b\\x38\\x7b\\xb7\\xaf\\xf8\\x78\\xa5\\xdd\\x24\\x72\\x46\\x13\\xd7\\x61\\x8b\\x73\\x8b\\xcd\\xb3\\x79\\x55\\xb7\\x4c\\x67\\x81\\xa9\\x43\\x47\\x83\\xe9\\x13\\x27\\x7c\\x85\\x1f\\x27\\x4c\\x9e\\xaf\\x06\\x5f\\x08\\x82\\x03\\x8a\\x16\\x3e\\xb9\\x75\\xae\\x7a\\xb9\\xbc\\xa0\\x62\\xe0\\x42\\x0a\\xe2\\xfe\\x73\\xb2\\x3f\\x98\\x9e\\xc8\\xba\\x84\\xa8\\xee\\xd4\\xae\\x50\\x3f\\xb3\\x81\\x61\\x64\\x5c\\x26\\x05\\xf2\\x3a\\xba\\x3a\\xa7\\xa5\\x37\\x6f\\x99\\x9d\\xe4\\xf7\\xb7\\x4c\\xef\\xdc\\x11\\xfc\\x7f\\xac\\xbd\\x09\\x7c\\x54\\x45\\xb6\\x38\\x7c\\xeb\\x2e\\xbd\\xef\\xdd\\xb7\\x97\\x74\\xa7\\xd7\\x74\\x77\\x92\\x4e\\xd2\\x49\\x3a\\x49\\x27\\x2c\\x49\\xb3\\x87\\x3d\\x04\\x08\\x04\\x08\\x10\\x64\\x91\\x45\\x59\\x04\\x11\\x10\\x08\\x28\\x82\\xe2\\x2e\\x3a\\xcf\\x9d\\xc5\\x7d\\x01\\x84\\x1e\\x07\\x75\\x44\\x9e\\x3a\\x0a\\x1a\\x97\\xe7\\x38\\xbc\\xe7\\x38\\x2e\\xe3\\x30\\x8e\\x02\\x23\\x0e\\xa3\\xce\\x8c\\x43\\x6e\\xbe\\xaa\\xba\\x4b\\xdf\\x5e\\x80\\xf7\\xfb\\xbf\\x8f\\x71\\x20\\xe2\\x59\\xaa\\x4e\\x9d\\x73\\xea\\x9c\\x73\\xab\\x4e\\x29\\x95\\x9a\\xf1\\x9a\\x71\\xde\\x01\\x6d\\x9d\\x5e\\x93\\xb3\\xb5\\xad\\xd3\\x69\\x02\\xb5\\x74\\x45\\xbc\\x2e\\x3e\\xa9\\xb3\\xa4\\x4e\\x49\\x8f\\xa5\\xdb\\x3a\\xf5\\xcd\\xc3\\xea\\xc6\\xba\\x6d\\x51\\x93\\xa6\\x6e\\x6c\\x34\\x3a\\xb6\\x4e\\x43\\x2b\\x4c\\xc6\\x2a\\x42\\xc1\\x5f\\x4c\\xe1\\x9f\\x75\\x8f\\xf3\\x37\\x71\\x9a\\x9a\\xf8\\xe3\\x5d\\xf8\\x77\\xf8\\x6f\\xe2\\x5d\\x80\\xac\\xbb\\x52\\x92\\x19\\xf2\\x56\\x18\\xb0\\x96\\x44\\xd1\\x1b\\x96\\x58\\x44\\x2d\\xa0\\x70\\x3b\\xe8\\x24\\xff\\xf5\\x14\\xc1\\x45\\x4a\\xa2\\x14\\x68\\x06\\x51\\xe1\\x42\\x9f\\x83\\x0e\\xdb\\x19\\xb1\\x06\\x42\\xee\\x9a\\xc2\\x7d\\xba\\x83\\x9e\\x77\\xb8\\x7b\\x84\\x69\\x8b\\x79\\xcb\\xec\\x58\\x5e\\x8b\\x68\\x36\\xc4\\x0c\\x2f\\xda\\x6a\\xd9\\x72\\x25\\x33\\xe4\\x50\\xea\\x2a\\xee\\x63\\xd7\\x78\\xd2\\x59\\x69\\x26\\x71\\x6f\\x69\\x93\\x02\\xf8\\x2e\\xdc\\x78\\x03\\x28\\x8f\\x8e\\xeb\\x58\\xf6\\x78\\x18\\xec\\x1f\\xa8\\xe3\\xb4\\xe0\\xfb\\xa2\\xb6\\x05\\x6b\\x6d\\x9f\\x65\\x75\\x8d\\x4e\\xcd\\xff\\x25\\x08\\xf6\\x6c\\xba\\xdf\\xce\\x1d\\x02\\xad\\xea\\x7a\\x05\\xb7\\x1a\\xbc\\xf3\\xd5\\x0a\\x1d\\xea\\x35\\x3d\\x11\\x34\\xed\\xd3\\x0c\\x7c\\xa3\\x66\\xec\\xc4\\x03\\x0f\\xa0\\x3d\\xed\\x7e\\x82\\xa0\\x3f\\x82\\x6b\\x51\\x4e\\x34\\x10\\x4b\\x52\\x03\\x94\\xa6\\xb2\\xb8\\xb7\\xb6\\x36\\x0e\\x4c\\x1a\\x06\\xee\\x66\\x8d\\xfa\\xa4\\xbb\\xae\\xad\\xd3\\x6d\\x2a\\x05\\x71\\xd0\\xd6\\x19\\x88\\x2b\\x34\\x26\\x4d\\x5b\\x67\\xcc\\xe4\\x08\\x5b\\xf5\\x71\\x53\\x38\\x6c\\x8a\\xeb\\x69\\xb5\\xd5\\x48\\xa8\\xd9\\xcc\\xe3\\xff\\xd8\\xd3\\xcb\\x04\\x2d\\x48\\x38\\xab\\x8b\\x7c\\xc0\\x5a\\x45\\x5d\\x4c\\xac\\x48\\xa0\\x09\\x51\\xa0\\xc0\\xee\\x40\\x72\\xc6\\xc5\\x1a\\xf2\\xbd\\x21\\x2d\\x1b\\xae\\x5d\\x99\\x04\\x73\\xd2\\xdd\\xd3\\x2c\\x5b\\xcc\\x37\\x2e\\x17\\x04\\x38\\xf9\\xc9\\x6b\\x76\\xdd\\xcb\\x86\\x40\\xa7\\x73\\xab\\x75\\xe7\\x0a\\x30\\xa4\\xef\\xfd\\x59\\x0f\\x3f\\x38\\xbc\\x42\\x7d\\xf8\\xfa\\x5f\\x83\\xf1\\x9a\\xf2\\x78\\x85\\x8e\\x73\\x82\\xf3\\xec\\xb4\\x2b\\x7a\\xcc\\x9f\\x60\\x41\\x5d\\xd3\\x89\\x84\\x74\\x38\\x7c\\xfd\\x9a\\xdd\\x0e\\xee\\x05\\x72\\x85\\xad\\xa5\\x59\\xf7\\xc5\\x58\\xef\\x93\\x47\\x90\\xef\\xe7\\xce\\x73\\xd3\\xe8\\x1a\\xb8\\xff\\xd5\\x40\\xfd\\x5c\\x9d\\x6a\\xb1\\xb0\\x49\\xa5\\xd2\\xdf\\x5c\\x55\\xa5\\x2f\\x89\\xfa\\xe1\\xf6\\xe3\\x1e\\xea\\x1e\\x42\\x45\\x89\\x58\\xac\\x16\\x49\\x22\\x64\\x64\\x2d\\x0e\\x93\\xd7\\xd1\\xd6\\xe9\\x57\\x7a\\xd5\\x26\\x35\\x92\\x56\\x4a\\xe7\\xf5\\x12\\x36\\x37\\x31\\x40\\x76\\x90\\x13\\x9a\\x68\\x51\\xb6\\x8d\\x3a\\x85\\x73\\xff\\xf9\\x69\\x22\\xba\\xac\\x17\\x82\\xf2\\x90\\x7b\\xf8\\x50\\x52\\x6e\\xa7\\xd9\\xf2\\xc2\\xe5\\x06\\xb9\\xeb\\x2f\\x47\\x4e\\xcc\\x5c\\xe9\\x11\\x7d\\x7c\\xc0\\xef\\x38\\x5c\\xc2\\x8a\\x86\\x6b\\x77\\xfc\\xda\\xad\\x7a\\x52\\xa3\\x84\\x4e\\x7f\\x2d\\x72\\x79\\x91\\x8c\\xe7\\xb7\\x5d\\x39\\x5b\\x7b\\xd5\\xd7\\x1a\\x64\\xc0\\x9a\\xeb\\x8e\\x28\\x90\\xf9\\x32\\xd4\\xf1\\xfb\\x87\\x6b\\x57\\x86\\xe7\\x74\\xf0\\x9b\\x02\\xf5\\xdf\\x59\\xae\\x1f\\xfa\\xb2\\x15\\x50\\x68\\xe7\\x70\\xbc\\xb0\\x24\\x95\\xb4\\x59\\xd8\\x70\\x09\\x94\\x97\\xde\\xcf\\x52\\xee\\x58\\xac\\xd2\\x5d\\x51\\x48\\x3e\\xe1\\x32\\xaf\\xd7\\x16\\x83\\xe1\\x44\\x7b\\x67\\x19\\x14\\xa1\\x0d\\xb9\\xb1\\x16\\xde\\x2a\\xd1\\xad\\x9c\\x5c\\x51\\xe5\\xde\\xbd\\x46\\x5e\\x0c\\xd7\\x74\\x8d\\xe0\\xe2\\xbe\\x0c\\xf5\\x51\\xe0\\xab\\x91\\xe4\\xfb\\x15\\x55\\xad\\xeb\\x3a\\xed\\xac\\x24\\x90\\xa0\\xaf\\x25\\x3d\\xd6\\x26\\xfa\\x78\\xd6\\x31\\xd8\\x65\\x79\\x26\\x44\\x0f\\xed\\x99\\x12\\x6d\\xa4\\x9e\\xd1\\x2f\\x38\\xb0\\x7c\\x19\\x96\\x81\\x9a\\x3b\\x0a\\x6e\\xe0\\xa5\\x00\\xea\\x6f\\x59\\xf5\\xd9\\xb6\\x65\\x06\\x61\\xbe\\x3f\\xc0\\xf9\\x86\\x89\\xae\\x54\\x35\\x4d\\x32\\xc5\\xa6\\x90\\x89\\xa1\\xb4\\x76\\x7b\\x54\\x1b\\x61\\x48\\x25\\x61\\x50\\xb6\\x75\\x9a\\x8a\\x0d\\x3e\\xc2\\x87\\x9e\\xb2\\x4e\\xc1\\xf0\\x90\\xb6\\xd9\\x5c\\xed\\x9d\\x76\\x9b\\x89\\xe6\\xcf\\x73\\xf2\\x47\\xc9\\x2f\\x3d\\x4b\\x5c\\x5c\\xca\\x9e\\x52\\x96\\x6b\\x16\\x27\\x0e\\x3a\\xfc\\xc1\\xe6\\x83\\x63\\xa5\\xdd\\xdd\\xe9\\xf4\\x47\\x4f\\xbf\\x35\\x2c\\xee\\x0f\\x0e\\xda\\xb4\\xc3\\x1f\\xf4\\xb8\\xf8\\x29\\x83\\x26\\x0d\\xf7\\x2a\\xd8\\xc2\\x7b\\xe4\\x27\\xde\\x39\\xa9\\x79\\x5c\\x73\\xdb\\x13\\xfb\\xf1\\x2c\\xd1\\x1a\\x9e\\x82\\xf1\\x0e\\xf4\\xa7\\x44\\x92\\x98\\x95\\xaa\\x2c\\x73\\x2a\\x8a\\x1b\\x12\\x41\\x3d\\x51\\x4c\\x34\\x36\\xe9\\x1b\\x28\\x5b\\xb5\\xd3\\x5d\\x56\\xeb\\x77\\xd6\\x3a\\x6b\\x29\\xbf\\x3f\\x32\\xa9\\x33\\x14\\xf2\\x9b\\x28\\xcd\\xa4\\x4e\\xa5\\x92\\x42\\xb7\\xa1\\xf1\\xc1\\xf0\\x44\\x5c\\x7e\\x8d\\xbc\\xc9\\xdc\\xd4\\xc4\\xdf\\x7e\\xe4\\xef\\xec\\x8a\\x7b\\x0f\\xdf\\xe3\\x33\\x29\\xe4\\x03\\x55\\x74\\x94\\x9f\\x5c\\x12\\x27\\xfe\\x7e\\xe9\\x9b\\x89\\xdd\\x07\\x10\\x08\\x76\\x02\\x76\\x6a\\xe7\\x3f\\x4f\\xef\\x7f\\xaf\\xec\\x9e\\xc0\\xce\\x35\\x77\\xec\\x62\\xe3\\xe3\\xbf\\x1f\\xda\\x58\\x3d\\x54\\xbd\\x55\\xbb\\x68\\x4a\\xf1\\x37\\xbf\\x05\\xf3\\x2a\\xf6\\xd9\\xd7\\x2f\\xba\\x7e\\xdb\\xc4\\x2b\\xc7\\x0f\\x5d\\x98\\x98\\xe2\\xd8\\xca\\x4c\\x1a\\x15\\x00\\x83\\xf7\\x1e\\x58\\xb3\\xa9\\x71\\x7a\\x5b\\x77\\x97\\xb7\\x2a\\x16\\x69\\x33\\x92\\x03\\xe2\\xd3\\x36\\x59\\x6a\\x87\\xde\\xf5\\x70\\xbf\\x6b\\xe2\\xc8\\x89\\xad\\x4d\\xa3\\x83\\x45\\xf6\\xe0\\x84\\x09\\x4b\\x6c\\xf8\\xac\\x70\\xff\\x43\\xfd\\x67\\xc9\\x1e\\xa6\\x02\\xc6\\x2f\\x9b\\x53\\x43\\xed\\x95\\x95\\x45\\x45\\xce\\x32\\x0b\\x15\\x51\\xb8\\x4d\\x66\\x93\\x82\\xa2\\x75\\x01\\xa7\\xb3\\x46\\x57\\x5d\\x64\\xb1\\x5a\\x26\\x75\\x9a\\xdc\\xc6\\xe2\\x92\\xe2\\xb6\\x4e\\x45\\x44\\xa5\\x2b\\x31\\xa6\\x8c\\x2a\\xa8\\xdb\\x46\\x23\\xe1\\x60\\xad\\x70\\xdf\\x21\\x62\\x82\\xd1\\x63\\xcf\\xf7\\x16\\xde\\x9b\\x73\\xc3\\x3d\\xd9\\x1d\\x02\\x4b\\x4e\\xdc\\x27\\x04\\x31\\x0d\\x99\\x65\\x77\\xc8\\x2a\\x77\\x32\\x65\\xe7\\x5f\\x7e\\x4e\\x2a\\x15\\xc0\\x3a\\xb5\\x5b\\x51\\x63\\x31\\x0a\\xcb\\x1f\\x1d\\xb4\\xb1\\x68\\xf3\\xe2\\xeb\\xe2\\xc7\\x8b\\x8e\\x8f\\x2e\\xb1\\x0b\\xea\\x1e\\x2a\\xf1\\x29\\x67\\x94\\x0f\\xb0\\x5e\\x61\\x5b\\x38\\xc5\\xd5\\x04\\x28\\x06\\x69\\x01\\x0d\\x1a\\x6e\\x38\\x7f\\xfe\\x06\\xee\\x16\\x1d\\x52\\x02\\xed\\xbe\\x84\\x65\\xba\\x61\\x9b\\x13\\xca\\xe2\\x63\\xb8\\x27\\x28\\xf0\\x5b\\xf8\\xcb\\x53\\x83\\x5d\\x7e\\x83\\x95\\xf4\\x19\\x55\\x2a\\xc2\\x6c\\x0e\\x11\\x41\\x8b\\xd1\\x64\\x84\\x7b\\xae\\x55\\xcb\\x7a\\x58\\xb8\\x29\\x93\\xb4\\x4a\\xe5\\xd1\\xa6\\xb4\\x70\\x1f\\x76\\x3a\\x8d\\x5a\\x60\\x50\\x68\\xb5\\x84\\xc9\\x08\\xb0\\xee\\xe3\\xdb\\xb0\\xc2\\x8b\\x4f\\xf8\\x16\\x77\\x9c\\x7f\\xd6\\xba\\x36\\x6e\\xce\\x97\\x04\\xae\\x04\\x85\\x92\\xf2\\xa8\\x8d\\xbf\\x40\\x20\\x9b\\x33\\x08\\x28\\x2b\\xdc\\x60\\x6d\\x55\\x20\\x1a\\x55\\x6f\\x35\\x6d\\xe8\\x1a\\x7e\\x15\\x18\\xd0\\xb7\\xd7\\x4d\\x35\\xba\\xb9\\x7b\\x9a\\xca\\x02\\xb5\\xaa\\xad\\x86\\x35\\xdd\\xad\\x5b\\xb9\\x23\\xe4\\x73\\xee\\x9b\\xc1\\x75\\xba\\xea\\xf8\\x8a\\xd5\\x3e\\x30\\x68\\xe7\\xcd\\xdc\\xdd\\xa6\\xda\\xaa\\x55\\xab\\x4a\\xb8\\x23\\x3b\\xe1\\x9e\\xf7\\x0e\\x37\\x95\\x8e\\x42\\x5d\\x0f\\x11\\xb5\\xc4\\xf8\\x54\\xb4\\x84\\x34\\x9b\\xeb\\xbc\\x31\\xf4\\x64\\x82\\x37\\x61\\x80\\x61\\x97\\x4b\\x6d\\x30\\xd8\\x09\\x7b\\x55\\x5b\\x67\\x71\\xb1\\xdd\\x2d\\x5c\\x80\\x30\\x89\\x17\\x20\\x04\\x3d\\x77\\xe2\\xdb\\x74\\xe2\\x47\\x6a\\xf1\\x89\\x40\\xbf\\x14\\x38\\x09\\x5f\\x2e\\xf9\\x77\\x39\\xa3\\x21\\xb4\\x99\\xb5\\x00\\x2b\\x4c\\x3a\\xa5\\x78\\x13\\x37\\x0e\\x22\\x1f\\x01\\x93\\x1b\\xf6\\x85\\xde\\xbe\\xfd\\xc1\\x40\\x90\\x6c\\x9e\\xb3\\x76\\xfc\\xfd\\xaf\\x8c\\xdd\\xfa\\xf2\\xe6\\x75\\x4f\\x3a\\x49\\x65\\x09\\xf3\\xac\\xd5\\xbb\\xa7\\xfa\\x9f\\x60\\xfe\\xe2\\x85\\xcb\\x0e\\x76\\xf7\\xac\\x98\\x71\\x5d\\x7b\\x23\\x3d\\xf6\\x42\\xf9\\xc3\\x77\\x3f\\xbd\\xbf\\x73\\x42\\xf9\\x89\\x27\\xb6\\x71\\xbd\\xbd\\xdd\\xab\\x66\\x84\\x77\\xaa\\xdb\\x6f\\xa7\\x06\\x9e\\x3f\\x79\\xe1\\xab\\x75\\x9b\\x1f\\xe6\\xbe\\xdb\\xb5\\x71\\xe7\\x98\\x47\\xd0\\x63\\xbb\\x80\\x98\\x08\\x3e\\xa5\\x02\\xf4\\x53\\xf8\\x4c\\xa2\\xec\\x6c\\xa6\\x92\\x9c\\xd4\\xe9\\x53\\xb6\\xa0\\xe3\\x99\\x6a\\x05\\x8d\\xb2\\xe4\\x78\\x22\\xab\\xe3\\x46\\xd6\\xd1\\x4c\\x6f\\x0b\\xf7\\x54\\xcb\\xda\\x9d\\x6b\\x9b\\xc0\\xf4\\xa6\\xeb\\x76\\x82\\x4f\\xc1\\x30\\xee\\x55\\xf2\\x3d\\xee\\x7f\\x40\\x69\\x5f\\x02\\xca\\xf3\\x4b\\xb8\\x5f\\x56\\x42\\x7d\\x09\\xc2\\x6c\\x69\\x72\\xaa\\xdc\\x48\\x50\\xca\\xaa\\x2a\\x8d\\x9d\\xb2\\x7b\\x6b\\x55\\xd1\\xa8\\xd7\\x5b\\x43\\x84\\xda\\x3a\\x8d\\x6a\\x82\\x70\\xab\\xdd\\xe5\\xd0\\xff\\xbb\\xb5\\x2a\\x35\\xb4\\x19\\xb5\\x74\\xbf\\x4a\\xba\\x8d\\x19\\xcb\\x2a\\x2a\\x48\\x89\\x10\\xfe\\xa4\\x8a\\xcf\\xab\\x2a\\x19\\xa4\\xf7\\x5e\\x1a\\x15\\x81\\xf8\\xef\\x26\\xa4\\xc3\\x4f\\xc9\\xef\\xf5\\x56\\x3b\\x4a\\x9a\\x52\\xbf\\xe9\\x7b\\xd9\\x4d\\x85\\x8b\\xb8\\x77\\x5c\\xc1\\xaa\\xe1\\x6d\\xc3\\xab\\xc6\\x3f\\xf4\\xdf\\x9b\\xde\\xfe\\x5b\\xdb\\x83\\x9f\\x5d\\xc9\\x1d\\x1f\\xac\\xb9\\x75\\xcb\\xc6\\x17\\x3a\\xef\\x26\\x6d\\xee\\x86\\x40\\xe5\\xc8\\xca\\x9b\\x77\\x6e\\xff\\xcc\\x12\\x70\\x38\\xeb\\x87\\x4c\\x5c\\xb0\\xa9\\xed\\xca\\x0f\\x1e\\x69\\xfb\\x7d\\x7a\\xc9\\xc9\\x87\\xdb\\x6f\\xe2\\xd2\\xf5\\xf1\\xf5\\xdb\\xaf\\x7a\\x7b\\xcd\\x86\\xdb\\xf8\\x98\\xfd\\xf9\\xfe\\xb7\\x99\\xe3\\xcc\\x19\\x18\\x29\\x6d\\x4b\\x8d\\xa9\\xd6\\x30\\x86\\xba\\x3a\\x4b\\xdc\\x69\\x32\\x55\\x59\\x4a\\xa2\\xd1\\x22\\xb7\\xdd\\xa2\\x66\\x14\\x0a\\xbf\\xbf\\x91\\xa4\\xe9\\xa4\\xdb\\x69\\x8b\\x5b\\xab\\x19\\x52\\xe5\\xaa\\x62\\x4b\\xd8\\xe2\\x32\\xa8\\x4b\\x26\\x17\\x4b\\x58\\x34\\x5a\\x0d\\x7a\\x44\\x3d\\xa5\\x35\\xd6\\x13\\x04\\x0c\\x20\\xf0\\xbd\\xf5\\x5e\\x5e\\x0c\\x45\\xef\\x0b\\xf1\\xd2\\x5b\\x42\\xff\\x11\\x87\\xf8\\xad\\x16\\xfe\\x54\\x5b\\x9b\\x09\\x4b\\xc5\\xdb\\x36\\x38\\x2c\\x88\\x66\\xd5\\xf6\\x81\\x35\\x41\\x2a\\x51\\xfb\\x44\\xe1\\x7b\\x56\\x48\\xf6\\xa1\\x0b\\x99\\x12\\x72\\x18\\x54\\x4b\\xcd\\xa0\\x67\\xf6\\x92\\xc6\\x4d\\x92\\xa7\\x58\\x05\\x46\\xdf\\x99\\x9e\\xa2\\x05\\xaf\\x3c\\xcb\\xdd\\x19\\xab\\x83\\xb1\\xd4\\xe6\\x5f\\x6e\\xb2\\x1c\\xde\\x74\\xcc\\x7f\\xed\\xe1\\x39\\xdc\\xe7\\xb6\\x26\\xec\\x3a\\xfc\\x23\\x5e\\x29\\x49\\x8e\\x25\\xef\\x40\\x4e\\xa3\\xef\\x45\\xb0\\x9e\\xfc\\x33\\x37\\x29\\x0e\\xfa\\xb8\\x4e\\x35\\x0a\\xa6\\xfa\\xae\\x21\\xb7\\x4d\\x6f\\x7e\\xf2\\xd8\\x63\\x7d\\x7b\\xc1\\x19\\xee\\x50\\x10\\xb9\\x92\\xfe\\x7e\\xc2\\x02\\x05\\xf7\\x1a\\xba\\x93\\xa1\\x7e\\x8f\\xc8\\xfb\\x77\\x98\\x0b\\xbc\\x07\\x75\\xe7\\x7a\\x7c\\xd7\\xb7\\x1c\\xe6\\x03\\x57\\xa7\\x06\\x94\\xfa\\x55\\x4c\\x24\\x02\\x6c\\x71\\x73\\x0d\\x74\\x6a\\xc6\\x78\\x18\\xf8\\x03\\x0a\\x5f\\xbd\\xaf\\xce\\xe7\\x76\\xab\\x1c\\xba\\x88\\x2d\\x80\\xde\\x60\\xab\\x32\\x43\\x1f\\xe5\\x70\\x04\\xd1\\x9d\\x5f\\x5d\\x0c\\xdd\\xf2\\xa5\\x8d\\x42\\x6f\\x23\\xf1\\x55\\x48\\xb1\\x23\\x07\\x0a\\xb4\\xf2\\x23\\x7c\\xfe\\xfc\\x43\\x22\\x99\\x1d\\x48\\x21\\x11\\x0a\\x19\\x37\\xfe\\xaa\\x83\\xce\\xc1\\x27\\x03\\x48\\xbd\\xd0\\x35\\xa1\\x00\\x8a\\xe3\\xab\\x16\\xc7\\x65\\xc1\\x93\\xb2\\xdd\\x35\\xa1\\xf1\\xcc\\x71\\x1c\\x6e\\xcd\\x3e\\x7c\\x70\\x31\\x49\\x6d\\xbb\\xa7\\xbc\\xef\\x77\\xca\\xcd\\x40\\x7b\\xe7\\x81\\x72\\x32\\xa2\\x9c\\x4d\\x2e\\xfe\\x41\\x0a\\x9f\\x46\\x0e\\xde\\xc6\\xf5\\xfd\\x08\\x43\\xac\\x65\\x9c\\x87\\xba\\x8d\\xbb\\xed\\xe0\\x1b\\x89\\xc6\\x8d\\x3b\\xa9\\xf6\\x83\\xcf\\xb4\\x94\\xe0\\xc4\\x90\\x24\\x4c\\x70\\x1f\\x9e\\x00\\x6d\\xc9\\x8e\\x6f\\xe3\\x55\\xfb\\xec\\x16\\xca\\xe3\\x01\\x5a\\x86\\x51\\xab\\x94\\x2a\\x37\\x60\\x2d\\x8a\\x40\\xd0\\xa3\\xb5\\xa3\\x36\\x19\\x2a\\x38\\x65\\xa0\\xa5\\x08\\xc2\\x48\\x1a\\x61\\x78\\x65\\xb4\\x2b\\x49\\xa3\\xec\\x3a\\xe7\\xc5\\xbb\\x92\\xf0\\x67\\xfe\\x79\\xdb\\x86\\x13\\x56\\x4a\\x67\\x17\\xd0\\x74\\xa1\\x99\\x21\\x13\\x2b\\xbf\\x72\\xc6\\x2f\\x67\\x82\\xef\\x66\\xfc\\x72\\xc6\\x82\\xa2\\x05\\xce\\xc8\\x4f\\x6f\\xbc\\xf8\\xa6\\xc2\\x76\\x25\\xf8\\xb0\\xe7\\x76\\xb7\\x99\\xb3\\xd8\\x68\\x72\\x31\\xf8\\x2f\\x2e\\x8e\\xfe\\xbf\\x6d\\xc3\\x6b\\x47\\xf7\\xfd\\xc2\\x31\\x70\\x19\\x77\\xcf\\xcd\\xb7\\x4e\\x5f\\x96\\xd0\\xff\\x27\\xca\\x2b\\xce\\xc3\\x79\\x1c\\xc0\\x3e\\x21\\x46\\x5c\\x95\\x6a\\xa4\\x94\\x06\\x0b\\x6d\\xa2\\x4d\\x6c\\x44\\xab\\x75\\xda\\x59\\x4d\\x59\\x19\\x1d\\x04\\x3e\\xd6\\x57\\x59\\x11\\x75\\x06\\x89\\x20\\xca\\x68\\x61\\xaa\\x0b\\xf3\\x6e\\x74\\x95\\xdb\\x62\\x80\\x5e\\x0a\\xee\\x28\\x46\\xc6\\x28\\xb4\\x5a\\x49\\x24\\xf2\\xd7\\x35\\x13\\x58\\x64\\x7a\\x82\\xe0\\xaf\\x09\\x30\\x77\\x40\\x9e\\x02\\x7a\\xdc\\x40\\x15\\x40\\x05\\xec\\x80\\x17\\x38\\xd0\\x3c\\x15\\x04\\x7f\\x9e\\x2d\\xb3\\xaa\\xba\\xae\\x49\\xc7\\xb9\\x7f\\xba\\xc1\\xbb\\xee\\xe9\\x0f\\xd4\\x92\\xe3\\xc9\\xf6\\x56\\x37\\x78\\xdd\\xcd\\xfd\\xa3\\x6d\\x04\\x33\\xa7\\x68\\x1c\\x19\\xe6\\x7a\\x4f\\xbd\\xfd\\xb5\\x66\\x0c\\xf8\\x71\\xd7\\x07\\x45\\x7d\\xf7\\xe8\\xb6\\x93\\x8b\\x7f\\x79\\xd7\\xce\\x9d\\xa5\\x4f\\xae\\x5d\\xff\\x78\\x74\\xe7\\xce\\x39\\xf7\\xb6\\x6f\\xb3\\xfc\\x81\\xfb\\xe9\\xb7\\xbf\\x6a\\x68\\xe4\\x7e\\xf1\\xce\\xa3\\xad\\x81\\x0d\\xdb\\xd0\\x1a\\x16\\x43\\x9d\\x46\\xb5\\xa3\\x30\\x51\\x07\\xd7\\x30\\x1e\\x0b\\xea\\x9c\\x4e\\xb7\\x45\\xa1\\xa8\\xa5\\x28\\x9f\\x9b\\xaa\\x6f\\xf0\\x12\\x70\\xce\\x6e\\xb8\\x94\\x36\\xc2\\x06\\x37\\x19\\x9b\\x5d\\x63\\x6c\\xef\\xd4\\x69\\xdc\\x44\\x24\\x53\\x2c\\xca\\xbc\\xc1\\xd5\\xc4\\x57\\x8d\\xb2\\x17\\x31\\x53\\x1f\\x32\\x02\\xd9\\xfb\\xa6\\xf2\\x62\\x51\\xe6\\x80\\x54\\x4e\\x51\\x68\\x69\\x57\\x65\\xe6\\xd5\\x53\\xb6\\xa5\\x49\\xaa\\x10\\xfd\\x98\\x9e\\x5c\\xa8\\x12\\xf4\\x12\\x77\\xef\\xdc\\x6f\\xf9\\xc7\\x50\\x97\\xe9\\xf9\\x92\\x10\\xfd\\x57\\xae\\x33\\xbf\\x0a\\x84\\xe6\\x8e\\xde\\xca\\x79\\x1a\\xce\\x3d\\x08\\xb3\\xa7\\xe9\\xa9\\xea\\x38\\x65\\xf4\\x95\\x7a\\x3c\\x06\\x93\\xc9\\x57\\x6c\\xa7\\x98\\xda\\x84\\x5f\\x53\\xac\\x2c\\x86\\xd3\\x2d\\x66\\xf9\\x88\\xd8\\xad\\x27\\x94\\x31\\xfc\\xb2\\x62\\x48\\x56\\xef\\xc1\\x4f\\x78\\x65\\x24\\x90\\x3d\\xf7\\xbc\\xd7\\x15\\x41\\xf6\\x1b\\xaf\\x97\\x29\\xed\\xb4\\xa7\\x39\\xae\\x53\\xfe\\xee\\xeb\\x84\\x8b\\x96\\x73\\xc0\\xbe\\x9f\\x3f\\x90\\xde\\x81\\x2d\\x54\\xc8\\x01\\xfd\\xb3\\xb9\\x69\\xb8\\x8e\\x13\\x24\\xa6\\xa5\\xe2\\x66\\x60\\x24\\x0d\\x56\\x93\\xc1\\x48\\xab\\x5c\\x44\\x20\\x50\\xa2\\x0a\\x39\\x3c\\x30\\x9c\\x70\\x10\\x84\\xd9\\x62\\x9e\\xd4\\xe9\\x87\\xfe\\x0c\\xb4\\x77\\x1a\\x59\\x85\\xb6\\xbd\\x53\\xa5\\x90\\x3f\\x65\\x9b\\xc8\\x2d\\xd8\\xc8\\xb2\\x80\\x02\\x4f\\xd8\\xe6\\xd5\\x68\\x1e\\x9c\\x22\\x9f\\x51\\xc7\\x4b\\xb8\\x30\\xf3\\x1f\\xb7\\x64\\x15\\x66\\x2e\\x9c\\x92\\xe6\\x42\\xfd\\xea\\x86\\xf5\\x0f\\x5d\\x2f\\x56\\x64\\xd0\\xba\\xd1\\xdc\\x34\\x66\\x09\\xae\\xc9\\x0c\\x85\\x39\\x6f\\x73\\x1d\\x69\\xae\\x56\\x0f\\x2c\\xf3\\xba\\x8a\\xe2\\xa1\\x50\\x91\\xda\\x4c\\x0f\\x1b\\x1e\\xac\\x6e\\xeb\\xd4\\x18\\x5c\\xc5\\xc1\\xa0\\xa1\\xd8\\x68\\x6f\\x6e\\xeb\\xb4\\x9b\\xca\\xa2\\x15\\xd1\\xf6\\xce\\x0a\\xaa\\x82\\x22\\x0c\\x86\\x64\\x5b\\xa7\\x01\\xbf\\xdc\\x84\\x1e\\x6e\\x92\\x69\\x6f\\x3c\\x2e\\x6c\\xf2\\x7c\\x16\\x5c\\xa0\\xe5\\x82\\x10\\x3a\\x65\\x0e\\xf3\\xf0\\x5b\\xbb\\x85\\x2f\\xb2\\xe0\\xd3\\x3c\\x4a\\xb8\\x81\\x05\\xe4\\x62\\x40\\xf6\\x0d\\x24\\xb5\\x46\\xa9\\x20\\x09\\x6e\\xe3\\x9e\\xc7\\xa1\\xd4\\x43\\xfe\\x20\\xd9\\xd4\\xbd\\xb6\\xed\\xc1\\x97\\x50\\x28\\xb5\\xf6\\x71\\x0f\\x0e\\xa5\\x94\\x0e\\xeb\\x2a\\xf0\\x5c\\x63\\xd1\\xed\\x9b\\x5a\\x52\\x9e\\x44\\xdd\\x92\\x22\\x37\\xf7\\x83\\xad\\xfa\\x9f\\xdc\\x43\\xb2\\xe0\\x8a\\x9b\\x06\\x83\\xab\\x7b\\x9e\\xda\\x3f\\x65\\x52\\xc5\\xbb\\x8f\\x6d\\x03\\x75\\xbd\\xdd\\x57\\xcf\\x86\\xc1\\x95\\xb7\\x73\\x71\\xdf\\x4b\\xdc\\xfb\\x77\\xed\\xb0\\x3f\\x60\\xbf\\xed\\xbe\\x85\\xe7\\x4f\\x52\\x5e\\x18\\x67\\x01\\x0b\\x8a\\xb3\\x1e\\xe6\\xfe\\x85\\xfb\\xb4\\x40\\xbd\\xef\\x80\\x7a\\x80\\xde\\xda\\x8d\\x3a\\x8c\\x30\\x38\\xa0\\xcc\\x66\\x46\\xab\\xa2\\x8b\\xdc\\x0e\\x96\\x25\\xda\\x3b\\x59\\xb7\\x51\\xcb\\x50\\x94\\x1e\\xc6\\x41\\x2a\\x96\\x32\\xb5\\x77\\x52\\x62\\x9b\\x31\\xe1\\x92\\x27\\x21\\xf3\\xd3\\xbc\\x79\\x43\\x51\\xa0\\xeb\\x0e\\x50\\xbd\\xd1\\x57\\x58\\xab\\xa4\\x06\\x64\\x12\\xae\\xb1\\x85\\xfb\\xe1\\xa9\\xd6\\xc3\\xc0\\x9f\\x3e\\xdc\\x0b\\x16\\x7f\\xde\\xf7\\xdd\\xbf\\x57\\x8b\\x1a\\xc0\\xfd\\x6b\\xd7\\x35\\xe0\\xa7\\xeb\\xb9\\x9b\\x98\\xde\\x0b\\x4b\\x8f\\x82\\x11\\x5c\\x9c\\xab\\x15\\x56\\x9e\\x8f\\x63\\x06\\x71\\xd3\\xc0\\x8f\\xf8\\x3e\\x4c\\x7d\\xaa\\x88\\x30\\x98\\xf4\\xa8\\x05\\x84\\x45\\x69\\x36\\x12\\x06\\x38\\x50\\x03\\xcb\\x68\\xda\\x3b\\x95\\x8c\\x5c\\x3d\\xb3\\x0f\\x14\\x24\\xb3\\x15\\x12\\x24\\xce\\x4f\\x93\\x6b\\xdf\\x74\\x38\\xa8\\xcc\\xd3\\xcf\\x90\\x8f\\x20\\x1f\\xc5\\x58\\xa8\\x5f\\x03\\x88\\x45\\xa9\\xc6\\x32\\x97\\x8b\\xa0\\xaa\\x13\\x09\\x5f\\x3c\\x14\\x0c\\xfa\\x7c\\x94\\xd1\\xa2\\x65\\x06\\x0e\\x72\\x59\\xaa\\x0d\\xd5\\xc1\\xf6\\xce\\x6a\\x36\\x5a\\xd1\\xde\\x59\\x16\\x75\\x7b\\x1a\\xe0\\x6e\\x60\\xb2\\x2b\\x90\\xaa\\x19\\x8c\\x84\\x16\\xd7\\x98\\x32\\x5f\\x15\\xf2\\xfc\\x43\\xc6\\x3b\\x9a\\x33\\xed\\xf6\\x2e\\xfe\\x8a\\x9b\\x32\\xd7\\xb0\\x24\\x78\\x72\\xd7\\x25\\x5e\\x71\\x63\\xbb\\xe7\\xc9\\x67\\x3b\\x0f\\x81\\xa2\\x97\\xdf\\x2e\\xfa\\x86\\x5b\\x6a\\x3e\\x67\\xc8\\xbc\\x26\\xcd\\x43\\x3d\\xd6\\xb7\\x87\\x10\\xe5\\x42\\xdb\\xf1\\x9d\\xe0\\xd6\\x54\\x19\\x61\\x00\\x7a\\x73\\x24\\xa2\\x37\\x28\\x3d\\x3e\\xa7\\xb2\\xac\\x3c\\x64\\x6d\\xeb\\x0c\\x99\\x7c\\x06\\xb7\\x11\\xf5\\x3c\\x2c\\xbc\\x34\\xe8\\x84\\x53\\x2c\\xeb\\xfd\\xd2\\x70\\xfe\\xb4\\x0a\\x48\\x01\\xcd\\x7f\\xf7\\x0c\\xf9\\x4c\\xba\\x84\\x90\\x2f\\xfd\\x84\\xbc\\xaa\\x26\\x7b\\xc4\\x5b\\x8c\\xef\\x84\\xf9\\xf1\\x45\\x34\\xb8\\xd7\\xbf\\x27\\xd4\\xcb\\x22\\x44\\x3d\\x31\\x31\\x55\\x19\\x76\\xb9\\x12\\x76\\xbb\\xce\\xe8\\xab\\x60\\x54\\x49\\x55\\x43\\x31\\x5c\\x52\\x5f\\xb1\\xdb\\x48\\xbb\\xc2\\x34\\x61\\xb5\\xc2\\xfc\\xca\\x6a\\xd2\\x1a\\x55\\x6e\\x22\\x9e\\x71\\xf8\\x7c\\x25\\xcc\\xd1\\x24\\x7a\\x40\\x8b\\xf4\\x2a\\x30\\x23\\xc5\\x62\\x39\\x25\\xaf\\xec\\x7d\\xcf\\x5a\\xa8\\xfe\\x35\\xfb\\xf0\\xbf\\x64\\xa1\\xda\\xf5\\x2b\\x23\\x99\\xc9\\x5a\\xc3\\x53\\xb2\\x8b\\x5e\\x30\\x22\\x63\\x14\\x52\\xa0\\xf6\\x0e\\xd7\\x33\\xeb\\x6d\\x7e\\xda\\x0b\\x95\\x39\\x05\\x2f\\xd0\\x3f\\x00\\xfa\\x7c\\x54\\xef\\xf2\\x13\\x13\\x52\\xa5\\x4a\\xb6\\xc8\\xa5\\x52\\xd9\\x60\\x42\\xe2\\xf7\\x07\\x0d\\x01\\xbf\\xd7\\x4b\\xb6\\x77\\x7a\\x4d\\x45\\xac\\xf3\\xa2\\xef\\x96\\x5b\\x04\\x73\\x07\\x79\\x9f\\x4f\\xf9\\xa3\\xf5\\xb9\\x7a\\x99\\x5f\\xc8\\x6a\\x9b\\x2c\\x5f\\xb8\\xa9\\x7b\\x73\\xab\\x57\\xdc\\xa2\\x8c\\xab\\x6f\\x16\\xeb\\x56\\x04\\xc3\\x4d\\xa3\\x4e\\xc2\\xbc\\xb7\\x1e\\xbd\\x07\\x6c\\x28\\x2a\\x8a\\x12\\xaa\\xaa\\x2a\\x2b\\x0c\\xbf\\x92\\x0d\\x55\\x44\\x91\\x81\\x36\\x85\\xc3\\xb1\\x49\\x9d\\xa5\\xa5\\x61\\x93\\xc9\\x31\\xa9\\xd3\\x66\\x83\\xa6\\x97\\xb5\\x51\\xc9\\xeb\\x3c\\xf2\\x66\\x41\\xe2\\xe8\\xf1\\xf1\\xb9\\xec\\x58\\x44\\x2a\\xf4\\x80\\x28\\xdf\\x45\\x24\\x53\\xe2\\x41\\x0f\\xea\\x92\\xd4\\x4e\\xcd\\xc8\\xcc\\x4c\\x8a\\x56\\xde\\x7c\\xe0\\x03\\xa1\\xce\\x53\\x31\\x6d\\x47\\x4f\\xcf\\x70\\x59\\x7d\\xa7\\x7c\\xe2\\x1d\\x9b\\xb7\\xb4\\x82\\xc1\\xa1\\x5a\\xee\\x17\\xfc\\xdc\\x6e\\x8a\\xae\\xde\\x8c\\x4b\\x3c\\xe5\\x83\\x6b\\x2a\\xca\\xdb\\x96\\x8e\\x12\\x8b\\x3b\\xe5\\x03\\x2a\\x2b\\x4b\\xdb\\x57\\xa0\\x37\\x23\\x7e\\x86\\x73\\x2e\\xc3\\xb1\\xd8\\xa4\\x54\\x2c\\xe8\\x0e\\x18\\x58\\xd6\\xe6\\xa6\\xc8\\x28\\x19\\x71\\xbb\\xbc\\x30\\x02\\xb1\\xc1\\xd8\\xd3\\x6b\\xf3\\xda\\x08\\x1d\\xbf\\x4e\\x04\\xc1\\xb4\\x67\\xbd\\x3d\\x28\\x6d\\x62\\x59\\xaf\\xcc\\x27\\xf8\\xa7\\x6c\\xc4\\xc3\\x84\\xd2\\x76\\x5c\\x60\\x97\\xba\\xb6\\x2d\\xe5\\x6b\\xaa\\x1d\\x3b\\xcb\\xf5\\xc7\\xf0\\x8b\\xf7\\x8d\\x1f\\xe9\\x1f\\x54\\xfb\\x8b\\xaa\\xdd\\xe0\\xd5\\xac\\x8d\\xe8\\xab\\x68\\xc9\\xb3\\xdc\\x34\\xfb\\xc3\\xce\\xa5\\x9b\\xe8\\x1b\\x5f\\x39\\xe4\\x7c\\xcc\\xfb\\xed\\x85\\xf7\\xa5\\x0d\\xe7\\xdd\\x23\\xcf\\x62\\x5f\\xb1\\x82\\xeb\\x40\\x7d\\x1e\\x08\\x27\\x31\\x2c\\x15\\x34\\x19\\x95\\x84\\x0d\\xe8\\xf5\\x36\\x23\\xe5\\x72\\x38\\x9d\\x45\\x0e\\xa3\\xd1\\x66\\x30\\xa0\\x2f\\xb2\\xb9\\x4e\\x82\\x8f\\x2c\\x32\\xe7\\x56\\x84\\xd1\\x67\\xbb\\x09\\xf4\\x28\\xb9\\xdd\\x07\\xd0\\x9d\\x1c\\x72\\xcc\\x77\\x0d\\x9e\\x5b\\xc5\\xc1\\xb9\\xb8\\xa7\\x5f\\x7c\\x65\\x81\\x5a\\x43\\x17\\x75\\x81\\x9e\\x37\\x77\\x72\\xa7\\xee\\xde\\x8e\\x06\\x75\\x03\\x3d\\xa0\\x2f\\x35\\x7c\\x75\\x7d\\xfd\\x8b\\xe4\\xeb\\xf2\\xb7\\xe6\\x9d\\xc4\\xe4\\x54\\x85\\x5d\\x65\\x25\\x4c\\x4e\\x03\\x49\\x9a\\xac\\x36\\xda\\x52\\x64\\x71\\xd9\\x09\\x13\\x65\\x74\\xd8\\x8c\\xe8\\x82\\xbb\\x02\\x06\\x41\\x6d\\xf9\\x41\\x90\\xf0\\xdc\\x6c\\xce\\xe5\\x48\\x31\\x38\\xb0\\x66\\x9b\\x84\\xf4\\xf2\\x3c\\xb9\\xe8\\xb7\\x2b\\xeb\\x3d\\x0f\\xde\\x32\\x3a\\xe5\\xad\\x1d\\x7c\\xad\\xc7\\x19\\xf8\\x2f\\xf9\\xdb\\xf3\\x64\\x15\\xd7\\xc5\\x9d\\xdd\\x75\\xab\\xfd\\x11\\xc7\\x9d\\xd7\\xa3\\x07\\xd5\\xc5\\xa7\\xe7\\xf9\\x7d\\xf0\\x63\\x38\\x66\\x54\\xe7\\xb2\\x41\\xdf\\x1b\\x51\\x50\\x94\\x5a\\xa7\\xb3\\x68\\x95\\x34\\xf4\\xc7\\xac\\xc5\\x64\\x82\\xfe\\xd6\\xe4\\xd6\\x28\\x55\\x4a\\x98\\x69\\x19\\x19\\x2d\\xad\\x6d\\xe3\\x5b\\xd2\\x08\\x15\\x0b\\xf1\\xf7\\x6c\\x95\\x40\\x9b\\x76\\x40\\xe8\\x7c\\x21\\x69\\x02\\xf8\\x19\\x1a\\x69\\x5f\\x95\\x9b\\x2a\\xee\\x7b\\x12\\x15\\xab\\x2e\\xfc\\x91\\x7c\\xb2\\x4e\\xb6\\x59\\xdf\\x4c\\x45\\x76\\xde\\x7c\\xe1\\xf7\\xdc\\x0f\\xd2\\x1e\\x4d\\x12\\x55\\x70\\xad\\x9f\\x84\\x3e\\xa6\\x9e\\x18\\x46\\x6c\\x48\\x0d\\xb5\\x36\\x04\\x95\\xca\\x68\\x34\\xce\\x06\\x83\\x64\\xdc\\xed\\xf1\\x0c\\x32\\xc6\\x8d\\x23\\x86\\x5b\\x92\\x93\\x3a\\xd5\\x16\\x8b\\xce\\xd7\\xe6\\x06\\x46\\x37\\xcc\\x05\\xdd\\x6e\\x9f\\xcf\\xd9\\xd6\\xe9\\x33\\xe9\\x5a\\xd0\\x27\\x78\\xa6\\x6c\\x52\\x27\\xc3\\x12\\x35\\xed\\x99\\x98\\x4c\\xea\\x7f\\x25\\xf4\\xc7\\xe8\\x42\\x37\\x83\\x9a\\x62\\x39\\xc6\\x2c\\xd6\\x60\\xf0\\x85\\x28\\x98\\x18\\x46\\x32\\xb7\\xa2\\x4a\\xc2\\xc9\\x8b\\xdc\\x8a\\x6a\\x01\\x4a\\xf1\\x64\\x21\\x50\\x1a\\x28\\xf1\\x18\\x26\\x5d\\xf1\\xa5\\xa2\\x68\\x33\\xa3\\x98\\x7c\\x68\\xd3\\xad\\x07\\x80\\x1a\\x04\\xbf\\xb1\\x2e\\x99\\xbd\\x76\\xbd\\xfb\\x50\\xe5\\x17\\xbf\\x7e\\xf6\\x6d\\xeb\\x18\\xed\\x24\\xbb\\x87\\x8a\\x2b\\xba\\x2b\\xca\\x7c\\x09\\xee\\xe3\\xb7\\xd7\\xee\\x18\\x1b\\xeb\\x1e\\xdf\\xfd\\xd0\\x42\\x13\\xd7\\x71\\xd2\\xdc\\xb0\\xdd\\x7c\\x63\\x6a\\xd3\\x82\\xa7\\xb6\\xbe\\x74\\x94\\xa6\\xe6\\x15\\xcf\\x9c\\x36\\x75\\x5a\\xf1\\x3d\\xdb\\x76\\x6f\\x4f\\x75\\x71\\x37\\x55\\x97\\x8e\\x56\\x80\\xef\\x5c\\xbe\\xb9\\xda\\x87\\x55\\xd4\\xeb\\x34\\x15\\x6e\\x9a\\xd6\\x3c\\x76\\xf6\\xe4\\x9b\\xc6\\xf3\\x79\\x48\\x07\\xfd\\x18\\xdc\\x57\\x4b\\x60\\x44\\x3b\\x2b\\x55\\xad\\x29\\xd7\\xfb\\x7c\\x06\\x83\\xde\\x6d\\xa9\\xa1\\x2c\\x54\\x7d\\x5d\\x50\\xe3\\xd3\\xf9\\x0c\\x50\\x52\\xac\\xc3\\xe5\\xb2\\xb5\\x77\\xba\\xdc\\x3a\\xa3\\xb2\\x12\\xe7\\x21\\xe1\\x9c\\x3c\\x44\\x56\\xa2\\x6a\\xca\\x1c\\x29\\x94\\x04\\x94\\x95\\x8b\\xc0\\x7c\\x5a\\x3a\\x5d\\x19\\xc2\\x92\\xbb\\x4c\\x36\\x12\\x38\\xfc\\xab\\x1b\\x12\\xfc\\xdc\\xcb\\xbe\\x54\\xb8\\x77\\x5c\\x2c\\x15\\x39\\x7c\\x61\\x12\\xd7\\xc7\\x4f\\xf5\\xa4\\xb9\\xfe\\xf6\\x42\\xb9\\x08\\xce\\xbd\\x98\\xe5\\xcc\\xef\\x61\\xc6\\x3d\\x00\\x66\\x23\\x55\\x8d\\x54\\x8d\\xdb\\x5d\\x1a\\xf6\\x85\\x29\\x6a\\xa0\\xc5\\x32\\xc8\\x1f\\x0c\\x16\\xb7\\x77\\x06\\xdd\\x26\\xb6\\xbd\\xd3\\x62\\x02\\x65\\x1a\\x42\\xa9\\xac\\xc3\\x33\\xae\\xc8\\x79\\xd3\\xbe\\x49\\xf6\\xe6\\x6a\\x81\\x3e\\x92\\xb2\\x4f\\xec\\x99\\x34\\x44\\x29\\x9b\\x37\\x7f\\xdc\\xf4\\x52\\x39\\x98\\xdf\\x73\\xdf\\xc6\\x91\\xc9\\xe2\\xb8\\xbf\\xa5\\xd5\\xf6\\x0f\\x66\\x4e\\x63\\x9d\\x77\\xc4\\x90\\x45\\x6b\\xd4\\xc9\\x8b\\x25\\x62\\xf7\\xdf\\x70\\x2f\\xfb\\x0b\\xdb\\xac\\x05\\xff\\xa6\\x3c\\xf6\\x2e\\xfd\\x23\\xfa\\x6b\\x17\\x97\\x56\\x03\\x4b\\x61\\x19\\x74\\xd0\\x51\\x1c\\x8b\\x54\\x11\\x53\\x53\\x95\\xac\\x4e\\x57\\x6a\\x2a\\xa9\\x22\\xc9\\xe2\\x62\\x55\\x09\\x55\\x1d\\xaf\\x82\\x0e\\xd2\\xa9\\xaa\\x52\\x55\\x15\\x05\\x02\\x30\\xed\\x0c\\x98\\x8a\\x18\\xd4\\x3e\\xc6\\x6a\\x68\\xef\\xb4\\xca\\x4d\\x44\\xf4\\xfa\\x4d\\xb9\\x67\\x55\\xe4\\x27\\x55\\x72\\x96\\x5a\\x21\\xf4\\x19\\xcc\\x3e\\xa4\\x02\\x08\\xf5\\x36\\x7c\\x48\\x65\\x84\\xb4\\xcc\\xa1\\xe5\\xbb\\x4e\\x7c\\x71\\x3b\\x20\\xf7\\xbc\\x77\\xca\\xf9\\x28\\xbd\\x65\\xdd\\x4d\\xbf\\x0a\\x4b\\xc7\\x53\\xb8\\x3d\\xc2\\x2a\\x5b\\x92\\x87\\x06\\x7e\\xf1\\xce\\x09\\xd0\\xf2\\xc2\\x07\\xaf\\xa0\\xa3\\x29\\xb8\\x05\\x1c\\x8a\\x17\\x3b\\xa8\\x83\\x50\\xaf\\xd1\\xd7\\xda\\x86\\xb8\\xc7\\x1f\\x8d\\x44\\xcc\\x5a\\x65\\xa5\\xdf\\x5f\\xe7\\x52\\xba\\x1a\\xa1\\x48\\xab\\xe3\\x30\\x4f\\x8b\\xc7\\xed\\xa1\\x50\\x79\\x5b\\x67\\x34\\x1a\\x32\\xd9\\xec\\x14\\x65\\xb7\\xc3\\x79\\xdb\\xed\\x06\\x35\\xdc\\xe2\\xdc\\x59\\xaf\\xfb\\x27\\x32\\xf5\\x6c\\xf1\\xb5\\xf5\\xa6\\xec\\xce\\xbf\\xe8\\xd4\\x7c\\xce\\x6c\\xe1\\x34\\xf9\\xfd\\x1d\\x97\\x65\\xf3\\x2e\\xbc\\x04\\xc4\\x0b\\x2f\\x77\\x75\\xdf\\x3d\\x71\\xf1\\x20\\x61\\xde\\x4b\\xd7\\x68\\x8b\\xe7\\xef\\x7a\\xfc\\xe8\\x0b\\x77\\x82\\xc9\\x4b\\x3e\\x3c\\x7a\\xfd\\xa1\\xa6\\xed\\x65\\xcb\\xc7\\x5e\\x71\\x0d\\x68\\x75\\xbf\\xba\\x6f\\xfc\\xa2\\xd5\\xa9\\x71\\xe3\\xb8\\x8f\\xf9\\xc9\\x2f\\x59\\x56\\x95\\xb8\\x3b\\xb1\\x77\\xc7\\x86\\xc7\\x60\\x54\\xb7\\x6e\\xf2\\xad\\x0f\\x8e\\x9f\\x3d\\xa5\\xa5\\x71\\xd6\\xf8\\xdd\\xb7\\x55\\xcc\\x1d\\x33\\x76\\x06\\xf2\\xdd\\xfb\\xa0\\x1c\\x7a\\xb0\\x7f\\x5c\\x96\\x6a\\x74\\x26\\x12\\x71\\xb7\\x9a\\x0a\\xfb\\x62\\xb1\\xa4\\x31\\xcc\\x30\\x46\\x63\\x03\\x72\\x92\\x6e\\x98\\x3e\\x78\\x88\\xd2\\x92\\x92\\xd2\\x52\\xb8\\xcb\\x97\\x9a\\x34\\x3a\\x1d\\x8c\\xc8\\x60\\x28\\xc6\\xc2\\x18\\xd4\\x4a\\xe2\\x9e\\x46\\xb2\\xe6\\xa9\\x85\\x5a\\xa8\\x8a\\xe7\\xb5\\xc4\\xdb\\xbf\\xa8\\xe4\\x9a\\xa3\\xe8\\xff\\xab\\xae\\xaa\\x07\\xe7\\x04\\x33\\x62\\x18\\x71\\x89\\x06\\xab\\xa3\\x9e\\xcd\\x88\\x00\\x74\\x5d\\xaa\\xd9\\x2a\\x49\\x0c\\x81\\xf6\\xae\\x17\\xce\\x69\\x2d\\x49\\x25\\xad\\x95\\x95\\x15\\xca\\x84\\x4e\\xe7\\x2a\\xf3\\xf9\\x42\\x84\\xc7\\xe3\\x52\\x52\\x75\\xf5\\x25\\x91\\x48\\xa0\\xbd\\x33\\xe2\\x06\\x44\\x85\\x1a\\xda\\xb9\\x5b\\x6d\\x51\\x5b\\x68\\xbb\\xdd\\x88\\x72\\x2a\\x1a\\x6a\\x0a\\x6d\\xcf\\x49\\xd6\\xf9\\xf2\\x9a\\x33\\x2b\\x21\\xcd\\xae\\x9a\\x82\\x90\\x82\\x6f\\xa9\\x99\\x0c\\xe4\\xed\\x04\\x89\\x1c\\x37\\x00\\x84\\x0b\\x5b\\x34\\xa3\\xa8\\xe7\\xbe\\xfd\\x4f\\xa8\\xf0\\x14\\xa3\\xbe\\x6d\\xd3\\x9c\\x5d\\x55\\xb7\\x8c\\xfb\\xe4\\xc1\\x13\\x5f\\xd0\\x2f\\xde\\xa0\\x99\\x37\\x34\\xe6\\x4d\\xb5\\x5c\\xb5\\x4e\\xdf\\xd7\\x0d\\x8d\\xe1\\x86\\x83\\x61\\xf0\\xd2\\x1f\\xfe\\x86\\x7a\\x20\\x26\\x07\\x6c\\xbb\\x7d\\xd6\\xb4\\x96\\x1d\\xd7\\x7c\\xf1\\x4e\\x5d\\x55\\xdf\\xac\\x5a\\x77\\xb7\\xf1\\x01\\xe3\\xaa\\x2b\\x4b\\x87\\x90\\x3e\\xbe\\xa5\\x33\\x94\\x41\\x80\\xeb\\xc0\\xb9\\xac\\x95\\x70\\x10\\x63\\x53\\xa5\\x6a\\x85\\x9e\\x34\\xab\\x34\\x1a\\x86\\x21\\x15\\x94\\xd3\\x66\\xb7\\xbb\\x58\\xdb\\xe4\\x4e\\x96\\x50\\x1a\\x51\\x0f\\x5f\\x05\\x6b\\x21\\x08\\xa3\\xb0\\x1b\\x4a\\x45\\x09\\xe1\\x78\\x42\\x4e\\x73\\x19\\xde\\x7b\\x5b\\xe5\\x1e\\x1d\\x3d\\x7c\\x05\\x16\\x42\\x37\\x7d\\xd3\\x47\\xe9\\x23\\x6b\\x04\\xb7\\xbd\\x22\\x98\\x0e\\xa2\\x9d\\xaa\\xfe\\x76\\x7a\\x40\\xc6\\x49\\x2b\\xde\\x79\\xee\\x39\\xfe\\x4d\\x07\\xa8\\xa7\\x47\\xe1\\x1a\\x95\\xa2\\x5e\\x5b\\x51\\x95\\x5d\\xe5\\x29\\x27\\x29\\xca\\x62\\xf1\\x78\\xca\\xa4\\x9d\\x27\\xd4\\xd6\\xe9\\xf7\\x1b\\x75\\x76\\x92\\x64\\x18\\x68\\xa7\\x8c\\xd4\\xbf\\x0a\\x9d\\x94\\x96\\x3b\\x62\\xd9\\xb7\\x11\\xfe\\xda\\x86\\x25\\x90\\x39\\x23\\x96\\xa7\\x97\\x38\\xf4\\xb6\\xd4\\x9b\\xc8\\x8a\\xf7\\xa6\\x3c\\xb4\\x0e\\xb4\\x1e\\x7b\\xff\\xae\\x73\\xfb\\xbb\\x36\\xc4\\x42\\x6a\\x49\\x13\\x27\\xbd\\xa0\\x58\\x36\\x73\\xf3\\x83\\x1d\\xd4\\xb1\\xaf\\x6b\\xc0\\xb0\\xdf\\xff\\xe6\\x38\\xf7\\xd4\\xbe\\xaa\\xca\\x83\\x65\\x5e\\x49\\x05\\x1f\\x76\\x75\\x2f\\xde\\x0e\\x22\\x77\\x00\\x2d\\x1f\\x33\\x35\\xc0\\xf9\\x94\\xe1\\x7a\\xd7\\xe0\\x94\\xaf\\xc8\\xaf\\xd3\\x95\\xd8\\xfd\\xfe\\x90\\xbb\\xb8\\xd8\\xd9\\xde\\x59\\xec\\xe6\\x0b\\x99\\x04\\x05\\xb7\\x18\\x02\\xd5\\x37\\x12\\x59\\xef\\x77\\xcb\\x2f\\x42\\x45\\x85\\xf6\\x1a\\xb2\\xc8\\x19\\x7d\\xcd\\x97\\xcd\\xa0\\x61\\x9f\\xa5\\x34\\x34\\xa6\\xcb\\xf5\\x6c\\x26\\x6c\\x7e\\x3e\\xb4\\x77\\x3b\\x29\\x0e\\x5e\\xe9\\x55\\x99\\x96\\x6e\\xa6\\x96\\x0b\\xe1\\xf2\\x2d\\x87\\x9f\\x56\\x14\\xf3\\xc3\\xb6\\x36\\xf2\\xb9\\x75\\x07\\xdc\\x0b\\x16\\xc3\\xf8\\xae\\x1c\\x7d\\x95\\x22\\x28\\x2a\\x5a\\x0c\\x25\\xae\\x33\\x99\\xd4\\x9a\\xa8\\x26\\x56\\x11\\x28\\x56\\x97\\x1b\\x4b\\xa0\\xfb\\x2f\\xb1\\x17\\xeb\\xda\\x3a\\x8b\\x59\\xd6\\xe1\\xb0\\xb4\\x77\\x3a\\xb2\\x74\\x43\\x38\\xbe\\x28\\x6b\\x8c\\x9a\\xc8\\x3a\\xcb\\x2f\\xde\\x6a\\xc8\\xdf\\xf6\\x33\\xb7\\x1c\\x92\\x56\\xf0\\xa8\\x94\\x5a\\x9b\\x3b\\x65\\xdb\\xfd\\x2c\\x29\\xcb\\xde\\x0c\\xc3\\xe9\\x0d\\x38\\xbd\\x26\\x67\\x5f\\x78\\x7e\\x96\\x7c\\xaf\\x97\\x32\\x6d\\xf2\\x36\\x28\\xff\\x97\\xe1\\x9c\\x26\\xc2\\x39\\x95\\x11\\x2b\\x52\\x03\\xa2\\x66\\x27\\x65\\xb7\\xd9\\xdd\\x56\\xbd\\xde\\xed\\x8e\\x91\\xb6\\x50\\xc8\\x4f\\x92\\xe5\\x0e\\x98\\x8c\\x42\\x8d\\xf2\\x7a\\x91\\xc6\\x2b\\xbc\\x4e\\x0b\\xaa\\x3d\\x7a\\x2d\\x5e\\x0b\\xc1\\x1a\\x4b\\x09\\x22\\x2c\\xd7\\x7f\\xe1\\x78\\x2a\\x3a\\xaa\\xe3\\xcc\\xee\\xeb\\x96\\x90\\x9d\\x54\\x15\\x8f\\xe9\\x4b\\x6a\\x85\\x3f\\xb5\\xa1\\xc7\\xa9\\xa4\\x16\\x6f\\xb4\\xfc\\x93\\xf4\\x03\\x5f\\x5a\\x12\\xcf\\x98\\x6e\\x5a\\xd7\\xfd\\xd8\\xcc\\x5d\\x8f\\x8d\\x73\\x81\\x17\\xfa\\xae\\x70\\x53\\xd7\\x14\\x73\\xa3\\x1f\\x3f\\xc8\\x7d\\xfe\\xaf\\xff\\xbe\\xda\\x48\\x2e\\xac\\x0c\\xf9\\x60\\x88\\x7b\\x32\\x3a\\x07\\x18\\x74\\x9b\\xd7\\x4d\\xd8\\x39\\x73\\xc9\\xc2\\x1e\\x30\\xf5\\xb6\\xfb\\xb8\\xb4\\xf6\\x99\\x3b\\x7f\\xfb\\xe3\\xea\\xd1\\x4e\\xdd\\x3c\\x28\\x00\\xbc\\xa7\\x2f\\x04\\x9f\\x52\\x65\\xf8\\x3e\\x69\\x09\\xea\\x7c\\xe3\\xd1\\x6b\\x28\\x8a\\x61\\xc2\\x21\\x9b\\x2d\\xe2\\x34\\x9f\\xa5\\xf4\\xea\\x33\\xcc\\x37\\xbe\\xdc\\x0b\\x3a\\x96\\xcc\\x79\\x37\\x74\\x10\\x39\\x64\\x6d\\xb8\\xf4\\x15\\x9d\\x13\\x8f\\xc5\\x69\\xeb\\xba\\x95\\x46\\x05\\xb9\\x4a\\x45\\x53\\x35\\xcb\\x27\\x5d\\xb5\\x7a\\xf2\\x7f\\x14\\xcd\\x58\\xdd\\xdc\\x39\\x76\\x6a\\x77\\x23\\xf8\\xf4\\xd6\\x8d\\xe4\\x9c\\x49\\x0d\\x36\\x4d\\x3b\\x8b\\x2e\\xe8\\xdc\\xcd\\xfd\\xb8\\x85\\x7c\\x71\\xe9\\xef\\x66\\xcf\\x9c\\xb3\\xf4\\xf4\\x94\\x03\\xbc\\xbe\\x6d\\x06\\x7f\\x20\\xff\\x4d\\xff\\x00\\x73\\xa0\\xf2\\x94\\xd5\\xa1\\x52\\x51\\x2e\\xa3\\x91\\xbf\\x80\\x75\\x16\\x5d\\xc0\\xfa\\x36\\xfb\\x02\\x96\\x74\\x7b\\x94\\x6f\\xda\\x26\\x5c\\x01\\xcb\\xf4\\xe8\\x01\\x77\\xed\\x6c\\x5a\\xd2\\xfe\\xc5\\x0d\\xb7\\xce\\x78\\x7c\\xe3\\x8a\\xed\\xea\\x75\\xcc\\xb0\\x61\\x1d\\x8b\\x07\\x92\\x43\\xf6\\x86\\x4e\\x3d\\x74\\xf3\\x96\\x1f\\x37\\x5e\\xbb\\xd4\\xdc\\x32\\x71\\xf6\\x3b\\x4b\\x7f\\x8d\\x65\\x34\\x0c\\x3c\\x4d\\x51\\x50\\x46\\x41\\xa2\\x92\\x18\\x9f\\x2a\\x25\\x19\\xa7\\x3a\\xa6\\x54\\xaa\\x19\\xaa\\x2a\\xe2\\xf7\\x9b\\x4d\\xa6\\x78\\x69\\x51\\x4c\\x49\\xd2\\xc5\\xc5\\x84\\x4d\\x3f\\xd1\\x0c\\xcc\\x66\\xfd\\xd9\\x10\\xbe\\x93\\xf1\\x16\\x8a\\x00\\xba\\xf0\\xed\\x56\\x47\\xa6\\x3f\\x80\\xec\\xa8\\x16\\x14\\x1f\\xea\\x90\\x97\\xcc\\x1f\\xa1\\x58\\x48\\x53\\x44\\x6b\\x85\\x1a\\x93\\x17\\x80\\xe7\\xd6\\xb4\\x0d\\x37\\x4f\\xac\\x6f\\x88\\xcc\\x7c\\xf2\\xfa\\x15\\x37\\xd3\\xd7\\x31\\xa3\\x5a\\x3a\\x60\\x0c\\x30\\xa9\\xa7\\xa5\\x6d\\xc6\\x7d\\x9b\\x27\\xcd\\x1e\\x37\\x68\\x79\\x83\\x75\\x04\\xf8\\xc3\\xe0\\xa9\\xee\\x21\\xc3\\x07\\xb6\\x5c\\xbd\\xf2\\xfb\\xeb\\x37\\x2c\\xb0\\x0c\\x1b\\x3b\\xeb\\x83\\xe9\\x25\\x9e\\xd1\\x83\\x27\\x8e\\xbc\\x72\\xdd\\xec\\xa1\\x0d\\xcd\\xa3\\x9b\\x9c\\x1e\\xfe\\x2e\\xdd\\x17\\x94\\x41\\x41\\x10\\x5e\\xa2\\x82\\x98\\x99\\xaa\\x74\\x95\\x97\\x2b\\xc8\\x62\\x15\\xdc\\xd6\\x8b\\x29\\x6d\\xc8\\xa2\\xb5\\x54\\x55\\xfa\\xa0\\x4f\\x55\\x16\\x17\\x33\\x84\\xc2\\xeb\\x32\\xda\\xbd\\x76\\x2f\\x19\\x31\\x7e\\xab\\x54\\x9c\\x26\\x4f\\x8b\\x97\\x91\\xa0\\x8a\\x5b\\xf8\\xd3\\x7f\\x42\\xb5\\x45\\xe8\\xc4\\xcc\\xcf\\x51\\x78\\x0c\\x3f\\x12\\x4d\\xd8\\x1d\\x49\\x23\\x56\\x66\\x52\\xbe\\x20\\x55\\x20\\xaa\\x4c\\x5a\\xb3\\x3a\\xa0\\x80\\x33\\xb5\\x93\\xaf\\xab\\x1c\\x7c\\x58\\x7f\\xcd\\xf8\\x91\\x9d\\x7b\\x6f\\xbc\\xe9\\x81\\x69\\x7b\\xae\\x4d\\xcc\\x2d\\xd6\\x0d\\x2c\\x7f\\xc9\\xb0\\xb4\\x6d\\x71\\xb2\\x63\\x62\\xe7\\xd2\\xfa\\x79\\xcc\\xdd\\xb5\\x83\\x9c\\xd5\\xad\\xe3\\xe2\\x5d\\xbf\\xb9\\xee\\x9e\\x7e\\x62\\xdd\\xee\\xed\\x2b\\xdf\\x98\\x17\\x29\\x19\\xb7\\xb3\\x66\\xe2\\x14\\xee\\x8b\\x71\\x4f\\x4f\\x98\\x79\\xc5\\xdc\\xa3\\x13\\x9a\\xf1\\xdb\\x3f\\xc4\\x68\\xa8\\x3b\\x69\\xa8\\x3b\\x25\\x30\\x5b\\xa9\\x53\\x05\\x83\\x5e\\x2d\\x4b\\xd2\\xe2\\x9d\\x5e\\xa3\\xce\\xa7\\x8b\\xeb\\x28\\xad\\x4e\\x47\\x38\\x8d\\x36\\x9f\\x8d\\x34\\x51\\x36\\x9b\\xd3\\x69\\x39\\xd5\\xe9\\x3c\\xcb\\xcc\\xa5\\x80\\x78\\xcb\\xb7\\xab\\x36\\x93\\xd8\\xa1\\x30\\x66\\xb6\\xd4\\x9f\\x4c\\xea\\x5e\\xf2\\xbf\\xba\\xe7\\x3b\\xed\\x74\\xc9\\x35\\x9e\\x1d\\xe3\\xa6\\x2c\\xbb\\xc2\\xba\\x65\\xe5\\xf0\\xc6\\xeb\\xbd\\x2b\\x3d\\xdb\\x56\\x5f\\xbd\\x75\\xcd\\x74\\x7c\\xcf\\x37\\xed\\x5b\\x3d\\x7a\\xc4\\xa8\\x41\\xb3\\x47\\x0c\\x47\\xf7\\x7c\\x67\\xcd\\x58\\xd4\\x36\\x69\\x99\\x8a\\x52\\xce\\x13\\xee\\xf9\\x02\\x62\\x17\\x38\\x4d\\x76\\xe3\\x3b\\x36\\x75\\x29\\x17\\x49\\xa3\\xa7\\xe7\\x58\\x1d\\x61\\xb5\\xda\\x09\\x9a\\xb6\\xc0\\x9d\\xd9\\xa0\\xd3\\x9c\\xe6\\xfb\\x9b\\xf0\\x8d\\xc9\\xcc\\x62\\xa7\\xaa\\x4c\\x9f\\x93\\xcc\\x37\\x8e\\xa8\\xf0\\x89\\xe3\\xb6\\x4d\\x1b\\x36\\x2d\\x32\\x5f\\x69\\x64\\xaf\\x9c\\x95\\x08\\x5a\\x9a\\xeb\\xca\\xd5\\xba\\x3b\\x2d\\xf4\\xf6\\xbe\\x2b\\xc8\\x87\\xbb\\xa6\\x5d\\x35\\x5d\\xd5\\xad\\x18\\x98\\x1c\\xc5\\xf7\\xb7\\xfc\\x07\\xf1\\x21\\x38\\x4e\\x9f\\x22\\x58\\xc4\\x9f\\xb0\\xda\\x28\\x1d\\xba\\x96\\xeb\\xd0\\xd9\\x15\\x36\\x1b\\xc5\\xb2\\xc0\\xa8\\xd3\\x7c\\x07\\xce\\xe4\\xf1\\xe7\\x47\\xc0\\xf7\\x00\\x42\\x9f\\xd2\\xa5\\x82\\x03\\xfa\\x26\\x91\\xfc\\xba\\x63\\x43\\xc7\\x22\\xd3\\xa2\\x6a\\xdb\\xe2\\x19\\x8d\\x6e\\x73\\xc0\\x5a\\x53\\xa3\\xad\\xbc\\xc3\\x44\\x72\\xe0\\x6b\\xae\\x68\\x16\\x77\\x7e\\xc9\\x0c\\x38\\x82\\xba\\xe6\\xbe\\x59\\xfd\\xfd\\xc4\\x04\\xe2\\x28\\xd5\\x49\\x9f\\x37\\x29\\x98\\xab\\x6c\\x48\\x1e\\x0f\\x82\\xd3\\xd4\\x18\\x28\\x0f\\x27\\x51\\x85\\x7a\\xd7\\xeb\\x15\\x4e\\xbb\\x82\\x72\\xd9\\x6c\\x45\\x14\\x61\\x34\\xaa\\xed\\xdf\\x58\\xd5\\xa7\\xf1\\xe9\\x49\\xd4\\x95\\x24\\xfb\\xe2\\x9c\\xb4\\x83\\x24\\x64\\x9b\\x4d\\xc8\\x9a\\x24\\xbb\\x1a\\x57\\x4e\\x5c\\xb0\\xc0\\xd0\\xb1\\x61\\xaa\\x6e\\x5d\\xc7\\x56\\xfb\\xa4\\x75\\x6f\\xae\\x4f\\xf8\\xa9\\x1d\\x6d\\xa9\\x45\\xdd\\xa5\\xe3\\x40\\x2f\\xd7\\x34\\xa4\\xf4\\xda\\xed\\xab\\xc1\\xb3\\xff\\x3e\\x0d\\x4c\\xb7\\x23\\x3b\\x8a\\x81\\xd3\\x60\\x33\\x1c\\x83\\x96\\x30\\xa2\\x2f\\x14\\x0a\\x15\\x0c\\x92\\x94\\x04\\x49\\x03\\x92\\x32\\xe9\\x0c\\x06\\xb3\\xce\\xa8\\xf7\\xe9\\xe3\\xfa\\x39\\x7a\\x5a\\x7f\\x5a\\x43\\x92\\x4a\\xe8\\x61\\xcf\\xa0\\xf6\\x48\\x2d\\xbc\\x80\\x5a\\xba\\x64\\x05\\x24\\x31\\x46\\x72\\x03\\xf4\\xfc\\x02\\x2f\\x2c\\x74\\x8b\\x76\\xc8\\x80\\x36\\xf3\\xa4\\x61\\xeb\\x87\\xb5\\x5b\\xda\\x07\\x24\\x1c\\xeb\\x1d\\x90\\x65\\x63\\x17\\x58\\xc0\\x3d\\xd8\\xc5\\x1d\\xa7\\x1e\\x5e\\xb7\\x0e\\xc9\\x62\\x08\\xfc\\xcb\\x31\\x70\\x6d\\x70\\x0f\\x2f\\x18\\x09\\xd1\\x04\\x00\\x0c\\xf5\\x0d\\x71\\x26\\xa7\\x87\\x17\\x9c\\xe6\\x87\\xeb\\xef\\x58\\x4f\\x9f\\xea\\x53\\x10\\xff\\x17\\x3c\\x34\\xef\\x4e\\x88\\x87\\x7a\\xc0\\x39\\x00\\x4d\\x6a\\xe0\\xcc\\xf5\\x70\\xe2\\xa4\\xae\\xc0\\x2c\\x33\\xf7\\x44\\xc4\\x6b\\x22\\x99\\x09\\xca\\x27\\x27\\x9f\\x18\\x1c\\x91\\x85\\x38\\x4a\\x2e\\x65\\xfa\\xa1\\x64\\x9d\\x84\\x87\\x18\\x99\\x8a\\x3a\\x28\\xb5\\x56\\x8b\\x9a\\xcf\\x50\\x74\\xb1\\xcb\\xed\\x86\\x7e\\xa9\\xc8\\x57\\x14\\x2f\\x9a\\x53\\x44\\x17\\x9d\\xd6\\xdb\\x6c\\x1a\\x85\\x42\\x75\\xc6\\xc4\\x5f\\x50\\x2e\\x20\\x5e\\x5e\\xb8\\x49\\x1c\\x03\\x0d\\x04\\xc2\\x37\\x7a\\xe4\\x63\\x93\\x38\\xbb\\x42\\x5f\\xc3\\x8e\\x4d\\x98\\xbb\\xed\\x9a\\xf8\\xd6\\x0d\\x37\\xce\\xb6\\x76\\xd1\\x15\\x07\\x23\\x55\\x96\\xe2\\xd4\\x08\\xd0\\x61\\xdf\\xe0\\x38\\xda\\x31\\x61\\xf6\\x52\\xf2\\xa5\\xbe\\x51\\xf3\\x1c\\x3f\\xcc\\x1f\\x7e\\x45\\x63\\xd5\\x10\\x7a\\x3e\\x92\\x3c\\xee\\x1d\\x40\\xbc\\x06\\xd6\\x40\\xb1\\x18\\x51\\x97\\x2a\\x52\\xa7\\x53\\x98\\x8c\\x84\\xd9\\x78\\x5a\\x49\\xab\\xbf\\x23\\x84\\x4e\\x5f\\xb5\\xe6\\x26\\xf1\\x3a\\x79\\x56\\x30\\x09\\xd6\\x9c\\xa4\\x86\\x94\\xfb\\x6c\\xa5\\x89\\x21\\x53\\x15\\x1f\\x2b\\x88\\x7f\\xdf\\x13\\x1a\\xaa\\x5e\\xae\\x9e\\x30\\xd1\\x1d\\xa2\\x17\\x22\\x9b\\x7b\\x1c\\xd2\\xde\\x04\\x69\\x9b\\xa0\\x8e\\xb3\\x84\\xc1\\xa0\\x34\\xe9\\x01\\xb0\\x28\\xcd\\x06\\x82\\x60\\x8c\\xa7\\x35\\x4a\\xe6\\x3b\\xe1\\x16\\x79\\x3c\\x63\\x6c\\xc2\\x8a\\x29\\xb3\\x8a\\xdd\\x89\\xf7\\x07\\x45\\xd8\\xa5\\x73\\x6b\\xaa\\xd8\\x50\\x79\\xbb\\xcd\\x38\\xe8\\xcd\\xf5\\xe4\\xb4\\xe3\\x57\\x5d\\x61\\x5a\\x65\\xba\\x72\\x12\\x6d\\xc7\\xf3\\x58\\x08\\xfd\\xcb\\x54\\xb8\\xa6\\x7c\\xef\\x33\\x9a\\x86\\x9a\\xa0\\x50\\x92\\x67\\x68\\xfe\\x16\\xa3\\xbc\\x57\\x38\\x7e\\xb5\\x8f\\x1c\\xca\\x95\\xdc\\xbe\\x6e\\x03\\xb8\\x02\\xa2\\xfd\\xdc\\xb7\\x9c\\x97\\x85\\x8b\\x38\\x4a\\x8f\\xa1\\xcf\\xc3\\x3c\\x7a\\x78\\x2a\\xa4\\xd1\\x46\\x9c\\x4e\\x74\\xff\\xdd\\xac\\xa5\\x93\\x71\\xaf\\xb7\\xb1\\x2c\\x52\\xf2\\x5d\\xad\\xfb\\xac\\x82\\x3d\\xeb\\x34\\x6b\\xf5\\x67\\xf8\\x3b\\xf0\\xe2\\x15\\xf8\\xac\\x96\\x64\\xe2\\x26\\x99\\x7d\\x0b\\xbe\\xc0\\xb7\\xa6\\x8c\\x37\\x49\\xca\\xee\\xc4\\xbf\\x31\\xc5\\x9c\\x18\\x38\\xe1\\x1a\\x7b\\xdb\\xfa\\x95\\xee\\x6b\\x0c\\x0c\\xd9\\x30\\x6f\\xd8\\xe4\\xb9\\x9a\\x86\\x15\\x23\\x67\\x5d\\x61\\x5c\\x68\\x9b\\xdb\\x16\\xab\\x34\\x39\\xfd\\x65\\x51\\xfd\\x3c\\x08\\x36\\x71\\x95\\xbd\\x0d\\x5d\\x90\\x1f\\x53\\x8d\\x6e\\x7b\\xe2\\x0b\\xf2\\xaa\\x39\\x9e\\x29\\x83\\xa6\\xb4\\xcd\\x18\\xb3\\xa8\\xdb\\x37\\xad\\xef\\x7f\\xae\\x9e\\x8b\\xee\\xa6\\x0f\\x21\\xb5\\xd3\\x83\\x10\\x64\\x85\\x78\\x57\\xbe\\x99\\x78\\x95\\x5e\\x0e\\xe5\\x55\\x86\\xee\\xaf\\x1a\\x2d\\x16\\x6d\\x11\\xdc\\x2e\\xcb\\xa2\\x8c\\x96\\x2e\\x0f\\x87\\x63\\xd1\\xbf\\x12\\x8c\\xaa\\xc4\\x65\\x38\\xc3\\xaa\\xbe\\xf5\\x53\\x62\\x3b\\x9a\\x84\\x45\\xe8\\xc1\\x92\\x7d\\x7f\\x55\\x38\\x7a\\x98\\x7f\\x5b\\x35\\xeb\\x47\\x28\\x02\\x6a\\x4b\\xfd\\xfc\\xa1\\x4f\\xdb\\xea\\x57\\x8c\\x9a\\x75\\x05\\xdd\\xbd\\x6e\\x8a\\x30\\xfe\\x75\\xd2\\x7c\\x8f\\xaf\\x6f\\xf4\\x92\\x4b\\x27\\x0f\\xda\\xd7\\x09\\x07\\x6f\\x8e\\x92\\x2a\\x6e\\x48\\x97\\xb7\\x1e\\x8e\\x1a\\x3c\\x27\\xfc\\xb4\\x0a\\x3c\\xf3\\xef\\x4f\\x40\\xec\\x06\\xec\\xd3\\x67\\x41\\x1b\\x7b\\x0d\\xf7\\x2b\\x80\\x11\\xa0\\xd7\\x6d\\x08\\xc3\\xe5\\x0a\\x87\\xcb\\x0d\\x65\\x4c\\xf0\\xac\\xb7\\xe8\\x8c\\xd9\\xa0\\xfb\\x8e\\xe0\\xb7\\x94\\x96\\xcc\\x15\\x6d\\xa9\\x88\\x29\\x7d\\x03\\x93\\xaf\\x42\\x33\\x55\\x9f\\xfd\\x39\\x0c\\x7c\\xd1\\xa1\\x5b\\x3f\\x75\\xab\\xa3\\x9b\\x9d\\x3b\\x51\\x14\\xfc\\x66\\x5a\\xad\\x62\\x56\\xc3\\x95\\x69\\xba\\x66\\xdc\\xfc\\x85\\x86\\x69\\x70\\x01\\xde\\x1a\\x16\\xbd\\x76\\xc7\\x35\\x7d\\x3f\\x2d\\x9f\\xcd\\x4b\\xfb\\x31\\x67\\x7d\\x3c\\xc8\\xc0\\xa5\\x40\\x6d\\x00\\x62\\xa3\\xb9\\x3a\\x24\\x73\\x33\\x1c\\xef\\x87\\xb8\\xcf\\x48\\x32\\xe5\\x21\\x34\\x1a\\x4f\\x31\\x65\\xa4\\x4b\\x4a\\xca\\xec\\xa5\\xe6\\xc0\\x59\\xf7\\x99\\x62\\x7b\\xd1\\x19\\xfb\\x37\\x0c\\xa9\\xe4\\xcd\\x02\\x7d\\x12\\x92\\x46\\x9d\\x10\\xb6\\xc1\\x2c\\x03\\xcc\\x7c\\xc4\\x6b\\x26\\xeb\\xe5\\x0d\\x0b\\xc8\\xd6\\x96\\x48\\xc8\\x56\\x53\\x0e\\xed\\x72\\x21\\x1e\\x7d\\xdb\\xfa\\x15\\x94\\xd2\\xbc\\xda\\x4a\\x36\\xad\\x9c\\x30\\x7f\\xa1\\x71\\x21\\x58\\x3e\\x54\\xb3\\x02\\x5a\\x6a\\x71\\x80\\x74\\xe0\\x91\\xa3\\x9e\\x05\\xa6\\xd0\\x72\\x80\\xdb\\x16\\x44\\x26\\xa0\\x8e\\x82\\x80\\x40\\x4d\\x34\\xed\\x50\\x47\\x8c\\xa8\\x0b\\x9b\\xde\\x60\\x30\\x31\\x0a\\x85\\x59\\xcb\\x18\\xcf\\xa8\\x28\\x43\\x76\\x23\\x3e\\x7e\\x70\\xe8\\x6a\\x30\\x5a\\x69\\xa1\\x17\\x20\\x68\\xfe\\xd2\\xa1\\xd2\\xcc\\xba\\xe6\\x8e\\x45\\xa7\\x3c\\x6a\\x65\\xf7\\x35\\x77\\xd0\\xa7\\x38\\x77\\x95\\x7b\\x24\\xf8\\xa6\\x4f\\x01\\xce\\xb5\\xb8\\x1b\\xfb\\xce\\x91\\x3f\\xa3\\xde\\x49\\x5b\\x70\\x6f\\x84\\xbf\\xe3\\xde\\x6b\\x5e\\xa2\\x39\\x15\\x34\\x78\\xbd\\x1e\\x93\\x49\\xa9\\x24\\x7c\\x84\\xdf\\x38\\xc7\\xb3\\xd9\\x73\\x87\\x87\\xf2\\xa0\\x36\\x2c\\x1e\\x0f\\xed\\xd2\\x9e\\xb5\\xd2\\x52\\xdb\\xba\\x58\\x97\\xac\\x81\\x4d\\x6d\\x7e\\xf7\\x04\\x2a\\xa0\\x14\\x4a\\xce\\x58\\x54\\x81\\x24\\x55\\xd5\\xb5\\x7f\\xeb\\xb6\\x07\\xbb\\x0e\\xae\\xbf\\xeb\\xde\\xdb\\xb9\\x79\\x54\\xc7\\x94\\x31\\x5d\\xc3\\xdd\\x4f\\x2d\\x5c\\xed\\x01\\x0f\\x03\\xaa\\x77\\xd3\\x0f\\x9b\\x1e\\xbb\\x7b\\xeb\\xe9\\x35\\x0f\\x72\\xe7\\x92\\x57\\x5e\\x3d\\x70\\xcb\\xc9\\x77\\xd6\\xaf\\xb3\\xa2\\x31\\x6e\\x25\\x5e\\xa3\\xe2\\xd0\\x97\\x59\\x89\\x22\\xe8\\x33\\x47\\xa4\\x4a\\xd4\\xc0\\xe1\\xd5\\xd2\\x1a\\x2b\\xe1\\xa6\\x69\\x42\\x43\\x05\\x6d\\x06\\x43\\xc8\\xfa\\x5d\\xb1\\xc3\\x01\\x2c\\xdf\\xaa\\x4f\\xdb\\xbd\\x5e\\xad\\x0a\\x77\\x57\\x80\\x8e\\x9c\\xff\\x5d\\xee\\xcc\\xd1\\xd9\\xbd\\x9a\\xea\\xb0\\x95\\xef\\xd6\\x8c\\x84\\xc6\\x37\\xd9\\x83\\xfa\\x56\\x17\\xa5\\x9a\\x49\\xc6\\xe6\\xb0\\x1a\\x48\\xe0\\x4d\\xce\\x5b\\xd9\\xb1\\xf7\\xea\\xc4\\xf2\\xba\\xa5\\x57\\x4f\\xde\\xbd\\xae\\x01\\x84\\x96\\x2d\\x1f\\x33\\xab\\x9e\\x6b\\x5b\\xb4\\x7c\\x58\\x57\\xc3\\x6b\\x20\\xc2\\x3e\\xb8\\x71\\xc3\\xa9\\x75\\x4a\\x60\\xe4\\xce\\xd8\\xee\\xb9\\x6e\\xed\\x99\\x1b\\x55\\xdc\\x1f\\x29\\xfd\\xee\\x60\\xdf\\xf3\\xea\\xab\\xdf\\x5e\\xf2\\x44\\x98\\x9c\\xa8\\x5d\\xf8\\x12\\xb6\\x77\\x07\\xd4\\xbd\\x53\\xf4\\xf7\\x44\\x1d\\x1c\\x7b\\xb0\\x2a\\x54\\xea\\x86\\xdb\\x7e\\x88\\x6a\\x50\\x9a\\xcd\\xf5\\xee\\x2a\\x2a\\x16\\x29\\x2b\\x8b\\x9c\\xd5\\xa9\\x0d\\xdf\\xd9\\x58\\xd6\\xc9\\x60\\x8b\\x47\\x4d\\x03\\xf0\\x1a\\xc7\\xcd\\x89\\xac\\xc6\\x22\\x09\\xb1\\x9d\\x2d\\x4c\\x02\\xe4\\xe5\\x85\\x06\\x6b\\xde\\x97\\x3d\\xa1\\x10\\xcc\\x7f\\xd8\\x03\\xe4\\x0b\\xcf\\x3e\\x7c\\xfd\\xa8\\xa2\\x91\\xfe\\x12\\xd6\\x5f\\x3a\\x61\\x0a\\x59\\x3b\\xdf\\x36\\xb3\\xa3\\x7b\\x81\\xbf\\x79\\xfa\\x8c\\x29\\x55\\x0f\\xdd\\x75\\xce\\xbf\\xdc\\x73\\xeb\\xe4\\x59\\x81\\xe6\\x29\\xeb\\x16\\x91\\x27\\x56\\x5d\\x5f\\x73\\x8f\\x71\\x80\\x6a\\x95\\x6a\\x7c\\xab\\x86\\x05\\x6c\\xb4\\xb1\\x79\\x64\\xca\\x5b\\x11\\x2a\\xf6\\x25\\xc7\\xd6\\x2e\\x5c\\x9e\\x36\\x2f\\x6e\\x4c\\xf8\\x62\\x01\\x77\\x78\\x09\\x5f\\x83\\xb8\\x8f\\x78\\x8d\\x5c\\x8e\\x7b\\x34\\xc1\\x58\\x40\\xef\\x20\\xed\\x26\\xbd\\xf6\\x34\\x43\\x8a\\xdd\\x62\\x78\\x3d\\xad\\xa9\\x8e\\x4a\\x96\\x6e\\x91\\xd5\\x18\\x54\\xf5\\x95\\x6c\\x45\\x71\\x7d\\xb3\\xe9\\xfe\\x78\\x6f\\x43\\x95\\x3d\\x5a\\xb2\\xd0\\xff\\x80\\x6b\\xcd\\x6b\\xc6\\xe5\\xe6\\xf1\\xd3\\xa8\\x38\\x00\\xa6\\xd5\\xec\\x63\\x17\\x7a\\x6f\\xbc\\x16\\xca\\xf1\\x0a\\x28\\x47\\x1d\\x73\\x07\\xd4\\xcc\\x96\\x94\\xd7\\xab\\x52\\xb9\\x5c\\x5a\\xab\\xd9\\x4c\\x69\\xb5\\xac\\x9f\\x0d\\xa0\\xef\\x6d\\x16\\xd3\\x19\\xb7\\xea\\xdb\\x0c\\x67\\xd4\\x7d\\xc1\\x9c\\xc8\\xb4\\xa9\\x91\\x6d\\xe6\\xc2\\x50\\x78\\xd9\\x65\\x8e\\x6b\\x0a\\xbb\\xec\\x0b\\xe5\\x25\\x36\\xaf\\xa3\\xaa\\xc2\\xd0\\x34\\x4c\\x35\\x7d\\xaa\\xa5\\x63\\x54\\xbb\\x7f\\x87\\x65\\xc7\\x54\\xd5\\x60\\x4f\\xa9\\xd7\\x7d\\xd4\\xb8\\xcc\\xd0\\xba\\x78\\xd4\\x20\\x47\\x13\\xf8\\x64\\xd6\\xb3\\xcf\\xce\\xe2\\x9a\\x86\\x35\\x6b\\x3e\\x78\\x95\\xff\\x4e\\x64\\x04\\x9f\\x92\\x1c\\xb4\\x5b\\x0f\\xbe\\x8d\\x10\\x07\\x4e\\x68\\x57\\x1e\\x4f\\x89\\xcb\\x6e\\xb4\\xd3\\x11\\x32\\x10\\x50\\xa9\\x60\\xf8\\x4d\\x47\\x83\\x70\\xf0\\x0c\\x30\\x15\\xa1\\xeb\\xa9\\x45\\x45\\x3a\\xca\\x73\\xa6\\xd8\\xfa\\xad\\x4e\\x6a\\xd7\\x10\\x8f\\x35\\xe5\\xf6\\x07\\x16\\x0f\\x7c\\x64\\x9c\\xa8\\x78\\x5e\\xd0\\x48\\x66\\x55\\x37\\xe0\\x64\\xdc\\x00\\x59\\x1d\\x3a\\x51\\x07\\x82\\xcd\\xa0\\xa3\\x79\\x43\\xf3\\x68\\xf3\\x98\\x80\\x59\\x83\\x76\\xb4\\xc6\\x95\\x6d\\xf3\\x17\\xda\\x47\\x9b\\x47\\x37\\xdf\\x33\\x60\\xd1\\x70\\x0d\\xf7\\x8c\\x15\\xba\\x86\\x23\\xa0\\x95\\x3b\\x32\\xfb\\xd0\\xfc\\x66\\xf5\\xcc\\xe2\\xb6\\xd4\\x95\\xdd\\xbe\\x0d\\xb3\\x41\\x6b\\x5f\\xe7\\xb0\\x0d\\xc3\\xae\\x0c\\x5d\\x8b\\x75\\x78\\x09\\xf4\\x13\\x4b\\xe0\\xbc\\xaa\\x89\\x81\\x29\\x4f\\x99\\xdf\\xef\\xf1\\x54\\x99\\xb4\\x2a\\x15\\xcb\\x52\\x54\\x4d\\x49\\x55\\x55\\x6d\\x24\\x74\\x46\\xab\\x3b\\xe3\\x14\\x3b\\x71\\xc9\\x73\\x7e\\xd9\\x41\\x31\\xbe\\xf5\\x05\\xca\\xd9\\xf0\\x8b\\x8b\\x38\\xc7\\xc9\\x1c\\x16\\x8e\\xf2\\x11\\x16\\xdf\\xf5\\xdd\\x4b\\xa2\\xcc\\xe7\\xa1\\xdb\\x1f\\x9b\\x31\\xc0\\x57\\xd3\\x68\\x99\\x50\\x37\\x2c\\x5a\\xda\\x36\\xb7\\x63\\xe4\\x35\\x43\\xed\\xf6\\x59\\x63\\xdb\\x2d\\x8d\\xa1\\xa0\\xd5\\x69\\xfd\\x10\\xfc\\xe1\\xee\\x0d\\x1b\\xaf\\x1a\\x59\\x69\\x2b\\x9d\\x37\\xac\\x2e\\xde\\x51\\xd3\\xbd\\x60\\xe2\\xbc\\x31\\xdb\\x46\\x97\\x8d\\x6a\\x8d\\x4e\\xe9\\x9c\\x57\\xea\\x76\\xc6\\x1b\\x47\\x56\\x3e\\x7d\\x9c\\xe0\\x7d\\xea\\xe7\\x30\\x2a\\x39\\x05\\xfd\\x08\\xf4\\xa9\\x0a\\xb5\\x9a\\x24\\x6d\\x46\\x93\\x89\\x35\\x32\\x67\\x74\\xb9\\x7d\\x41\\xf1\\x60\\xfd\\xf2\\x0b\\xaf\\x42\\x3f\\xc6\\x41\\x30\\xac\\x9c\\xb2\\xb1\\x4b\\x3d\\x7a\\xf8\\x33\\x91\\xae\\x0d\\xb3\\x8a\\x1f\\x05\\x9f\\x7f\\x30\\x60\\x2c\\x38\\xc4\\x85\\x2a\\x4b\\x13\\x03\\xdf\\x00\\x9f\\x71\\xd1\\x07\\xee\\x81\\xbc\\x60\\x46\\x4d\\xfe\\x06\\xf2\\x72\\xa0\\xda\\x03\\xdc\\x1b\\x6d\\x36\\xbd\\x53\\x03\\x43\\x5d\\xbd\\x4b\\xe3\\x38\\xc3\\x98\\xbf\\xcd\\xf4\\x77\\x30\\xcb\\xba\\x6c\\x09\\x59\\x05\\x14\\x45\\xc2\\x2e\\xa5\\xbd\\x30\\xda\\x73\\xb5\\x6b\\x76\\xae\\xdb\\xe6\\xe8\\xb1\\xcf\\x3e\\xb8\\x7e\\xf5\\x8d\\xda\\x09\\x70\\xc9\\xc6\\xd6\\x96\\xdd\\xf7\\x8f\\x3f\\x5f\\x39\\x6f\\xee\\xa2\\x67\\xb9\\x7f\\xdf\\xb5\\x75\\x43\\x43\\x3d\\xd8\\x8d\\xce\\x14\\xc0\\xa0\\xea\\x2d\\xc8\\x57\\xe8\\x29\\x41\\x2a\\xb4\\x2a\\xb5\\x5a\\x43\\xa9\\xbf\\x51\\xa0\\xd0\\x3c\\xb7\\xaf\\x6e\\xc2\\x8a\\x37\\x0c\\x10\\x02\\x87\\x84\\x9e\\x12\\xdc\\x0f\\x37\\xa3\\x58\\x1d\\x7c\\x3f\\x7a\\xf6\\x13\\x9c\\x91\\x10\\x63\\x76\\xf2\\x13\\x4c\\xb3\\x3a\\x65\\x57\\x91\\x24\\x05\\x77\\x07\\x82\\xd1\\x30\\x5a\\x05\\x8c\\xfb\\xcf\\x00\\xf8\\x6f\\xa8\\x6f\\x2b\\xee\\x11\\x90\\xbb\\x23\\x58\\xc5\\x6f\\xaf\\xca\\x98\\x09\\xfc\\x93\\xeb\\x31\\x93\\xac\\x99\\x53\\x81\\x27\\xcc\\xe0\\xf4\\x5c\\xb2\\x71\\xde\\xdc\\xbe\\xe3\\xf3\\x78\\x1e\\x68\\x7f\\x3e\\x83\\xe5\\x35\\x38\\x55\\x6c\\x82\\xd2\\x62\\x09\\x8d\\x5e\\xe3\\x34\\xd2\\x16\\x8b\\xcb\\x6a\\x32\\x99\\xcf\\x18\\xe0\\xdf\\x65\\x36\\xe8\\x44\\x86\\x5b\\x22\\x21\\x7f\\xd6\\x22\\x6b\\x97\\x96\\xbe\\xfc\\x2a\\x15\\xe4\\xdc\\xfa\\x80\\xd7\\x5e\\xe3\\x1d\\x38\\xc1\\xc1\\xd9\\x2c\\xa4\\x97\\x5b\\x64\\x25\\xab\\x2d\\x7d\\x5f\\x82\\xf7\\x03\\x0a\\x70\\x65\\xa3\\x6a\\xa5\\xba\\x75\\x6c\\xf1\\xf5\\x68\\x4c\\xdd\\x7d\\x27\\x0e\\x17\\x0b\\x3d\\x2d\\xaf\\xa2\\xa0\\x75\\xe0\\xb3\\xbf\\xa3\\x53\\x25\\x76\\xa3\\x45\\x5f\\x64\\x50\\x78\\xbd\\x06\\xbd\\x91\\x0e\\x98\\x6d\\xb6\\x20\\x6b\\xb1\\x58\\x1d\\x14\\x65\\xb4\\x9e\\x29\\x32\\xd9\\xed\\x3a\\x0d\\xea\\x36\\x92\\x78\\x13\\x0d\\xa9\\x45\\x68\\x54\\x9a\\x93\\x46\\xe0\\x11\\x8a\\xd9\\x7d\\x0c\\xa0\\xd6\\x6e\\xe2\\xbb\\x0c\\x61\\xb8\\x45\\xf2\\x85\\x00\\x30\\x76\\xd1\\x0d\\x43\\x46\\x4c\\x5e\\xb9\\xf6\\xb9\\x6a\\x7f\\x47\\xfd\\x87\\xf2\\xc1\\xde\\x52\\x31\\xb5\\x72\\x49\\xc3\\x28\\x2f\\x39\\x6e\\x7b\\xf7\\xc4\\x21\\xb3\\x67\\x0d\\x6f\\x8a\\xb5\\x77\\x93\\x49\\x24\\xc7\\x2d\\xa3\\x1b\\xc3\\xe5\\x0e\\x37\\x92\\xa5\\x8a\\x78\\x95\\xd2\\xc2\\x71\\x17\\x11\\xa9\\x94\\x4f\\xaf\\x2b\\xa2\\x1c\\x0a\\xab\\xd5\\xa1\\xa3\\xdc\\x2e\\x00\\x3c\\x0e\\xca\\xe9\\x34\\xc2\\xa4\\x57\\xf3\\x57\\xb2\\xa8\\x08\\xeb\\x84\\x99\\xdf\\x67\\x70\\xe6\\x93\\x7b\\x28\\xc1\\x2a\\x94\\x13\\x51\\x0f\\x5a\\xbe\\xb7\\xbd\\x54\\x69\\xfc\\x3d\\x59\\xe3\\xe0\\x3e\\x5a\\x70\\x5d\\xf7\\xf3\\xab\\x39\\xce\\xb1\\x86\\xdd\\x35\\x6e\\xcd\\x90\\xc5\\x33\\xa1\\xb2\\x36\\x71\\x13\\xe9\\x53\\x9b\\xa0\\x9d\\xdc\\xb7\\xe2\\xea\\xd7\\x16\\xfd\\xce\\xd8\\xd3\\x7e\\xef\\xe8\\x8e\\xf9\\x0b\\x80\\x09\\xed\\xe5\\x8f\\x40\\x3f\\x92\\xc2\\xbd\\x31\\x6c\\x44\\x31\\x31\\x28\\x15\\x34\\xb9\\xdd\\x4e\\xab\\x15\\x1a\\xa3\\x97\\xf4\\x99\\x5b\\x9c\\x13\\x9d\\x9b\\x9d\\x77\\x38\\x5f\\x73\\x7e\\xe0\\x54\\x38\\x9d\\x7a\\x85\\xd4\\xf1\\x43\\xea\\x53\\x2d\\x8b\\x36\\x6a\\xcd\\xa2\\x89\\x58\\x1a\\x28\\xe1\\x08\\xb1\\x74\\x2e\\x9c\\x6c\\xfd\\xe7\\x92\\x23\\xb7\\x5e\\xbb\\xe9\\xea\\x5f\\x55\\xcc\\xeb\\x29\\xe7\\x6e\\xb4\\x80\\xaa\\x79\\x9b\\xca\\xc1\\x46\\x6b\\x8b\\x82\\xe0\\x5e\\x7b\\x94\\xdb\\xf0\\xda\\x0b\\xbb\\xf7\\x82\\xf5\\xbf\\xba\\x30\\xe0\\x68\\xef\\xca\\xb1\\xef\\x53\\x4b\\x7f\\x7d\\x7c\\xe5\\xf8\\x05\\xdd\\xe8\\x0c\\xbc\\x9d\\x7e\\x1d\\xfc\\xac\\x28\\x83\\xf9\\x8c\\x1a\\xbd\\xfd\\x9c\\x42\\xb9\\x23\\xa1\\x4a\\xa9\\xd5\\x54\\x0f\\x41\\xa0\\x67\\x2b\\xe0\\xff\\xcd\\x89\\xf8\\x7b\\x50\\x3c\\x14\\xcc\\x47\\x95\\xe8\\x3c\\x10\\x03\\x37\\x90\\x3b\\xef\\x56\\x1c\\xf5\\x2b\\xa7\\x97\\xec\\x2b\\xe9\\x4b\\x85\\x1e\\x0f\\x41\\x2a\\x43\\xc3\\xdc\\xcb\\x81\\x03\\x47\\x8e\\xec\\x3f\\x72\\x84\\xa0\\xb8\\xd3\\xf4\\xeb\\x64\\x34\\x87\\x2e\\x83\\xe8\\x92\\x3d\\x4c\\x36\\x5d\\x0a\\xdd\\xae\\x07\\xe1\\x24\\x4f\\x37\\xaa\\x7c\\xf8\\xa8\\x92\\x3b\\x07\\x06\\x43\\xca\\x17\\xfe\\x82\\x29\\x07\\xc0\\xc8\\x30\\x77\\x54\\xa0\\x8c\\xf6\\xe0\\xeb\\xb8\\x09\\xc4\\x15\\xfd\\xcf\\x10\\x15\\x84\\x2d\\xa5\\x2e\\x53\\xfa\\xcc\\x34\\x71\\xcc\\xea\\x24\\xe2\\x89\\xa2\\x5e\\xb1\\x56\\xdc\\x4c\\x26\\xeb\\x50\\x68\\x80\\x3e\\x02\\xe3\\xf6\\xa1\\xa8\\x25\\x98\\x81\\x54\\x62\\x57\\x8b\\xfe\\xb4\\x3b\\xbc\\x4f\\x84\\x2b\\x22\\xa4\\xb7\\xc4\\x5b\\x5a\\x53\\x5a\\x59\\x56\\x0f\\x86\\x0e\\x9c\\x5d\\x52\\x11\\x01\\x2e\\x9f\\xcb\\x1f\\x0d\\x82\\xaa\\x08\\x37\\xa1\\xc9\\x6a\\x37\\x6a\\x94\\x6a\\x95\\xda\\x60\\x34\\x3b\\xad\\x66\\x8d\\xd1\\x56\\x1d\\xa8\\x73\\x07\\x58\\x83\\x4a\\xa1\\xd2\\x9a\\x8d\\x16\\x56\\x0f\\xff\\xab\\x81\\xc4\\x63\\x1a\\x42\\xff\\x09\\xfc\\x8b\\xf9\\x1d\\xb4\\x1f\\xcb\\x8b\\x80\\x65\\x75\\x3d\\x26\\x05\\x1e\\x50\\x6d\\x1c\\x7f\\xb5\\x0a\\x0a\\xe7\\x4a\\xe1\\x0c\\xf1\\x0e\\x40\\x0e\\x04\\xe0\\x8f\\xc1\\xc6\\x45\\x57\\x2e\\x4f\\x75\\x2d\\x65\\x36\\x53\\xb1\\xa6\\xba\\x79\\x0b\\x57\\x0e\\x0b\\x31\\x33\\xc2\\x95\\xe1\\x05\\x1d\\x45\\xc5\\xfe\\x92\\x41\\xa5\\xd5\\xa5\\x7c\\xcc\\x51\\x4b\\x7f\\x0c\\xd2\\xcc\\xc7\\x50\\x96\\xba\\xc3\\x4c\\x0f\\x45\\x62\\xc2\\x90\\x2a\\x03\\x8d\\x29\\x0c\\xd2\\xdc\\xc7\\xdc\\x33\\x2e\\xd0\\x04\\x18\\xe6\\xca\\x5d\\x3d\\x3d\\x10\\xbe\\x0b\\xc2\\x1f\\x15\\xe0\\x69\\xaa\\x07\\x20\\x79\\xe3\\x8c\\x34\\x9a\\x74\\x04\\xc0\\xe3\\xdc\\xd3\\x7f\\x9b\\xfa\\x11\\x18\\x40\\x7f\\xbc\\x6b\\x59\\x0f\\xa6\\x3f\\x16\\xc2\\x3f\\x27\\xc0\\x93\\x34\\xbf\\xee\\xe8\\x9d\\xb8\\x28\\xa4\\xef\\x00\\xd3\\x7e\\xcb\\xbd\\xed\\x02\\x1d\\xe7\\xe9\\x8f\\x7b\\x7a\\x76\\x61\\xf8\\xa9\\x10\\xfe\\xbf\\x05\\x78\\xc0\\xf4\\xc0\\xf1\\xc0\\x79\\x22\\xfa\\x4c\\x34\\x1c\\x00\\x47\\xb9\\xb7\\xb8\\x0b\\x31\\x10\\x03\\xd3\\x98\\x29\\x3d\\xcb\\x76\\x11\\x80\\x3b\\x43\\x7f\\x4c\\x06\\xa0\\x6c\\x94\\x84\\x2b\\xa5\\x21\\x95\\x4a\\x06\\xf4\\x40\\x6f\\x0a\\x50\\x8b\\x8a\\x44\\x91\\x49\\x10\\x91\\x32\\xca\\x84\\x93\\x8e\\x30\\x19\\x68\\x3f\\xce\\xfd\\x9d\\xfb\\x5b\\xfb\\x47\\x80\\x66\\x86\\x5c\\xb5\\x7e\\xfd\\xae\\xab\\xd0\\x9c\\xb8\\x3f\\x41\\x1a\\x65\\x98\\x86\\xe5\\x45\\x05\\xa0\\x7b\\x60\\xe0\\x43\\xc4\\xdf\\x4c\\x14\\x7d\\x56\\xfb\\x26\\x5c\\xf1\\x28\\xe4\\xec\\x48\\x3a\\xfe\\xf8\\x11\\x77\\xa1\\x14\\xb4\\x7e\\xfe\\xcf\\x52\\x34\\xd8\\xab\\x76\\xad\\x5f\\x7f\\x15\\x1a\\x6f\\x92\\x9b\\x46\\x5c\\xd7\\xff\\x0e\\x61\\x22\\x6c\\xbf\\xa2\\x4d\\x2a\\x0d\\x74\\xeb\\x2a\\xc4\\xdc\\x9c\\x30\\xf5\\x42\\x7d\\xa1\\xc4\\x2e\\x6c\\xe2\\xa1\\xe6\\x13\\x49\\xfd\\x14\\x2d\\xe9\\x1b\\x5c\\x5b\\x62\\x31\\x79\\x07\\x0d\\xd3\\x7a\\xb9\\x69\\xc0\\x39\\x65\\x4c\\x3c\\x48\\xcd\\xa0\\x47\\x25\\x1f\\xc2\\x32\\xf8\\x1b\\xbd\\x11\\x34\\x29\\x02\\x84\\x02\\xc9\\x8c\\x38\\x46\\x23\\x19\\xa0\\x40\\xc5\\x08\\x1c\\xd0\\xd1\\x81\\x26\\xfb\\xaf\\x7f\\x61\\xff\\x87\\x51\\x11\\x58\\x35\\x77\\xee\\xaa\\xa7\\xf1\\xfb\\x5f\\x24\\xf7\\x2c\\xd7\\x01\\x0e\\xf7\\xff\\x0c\\x71\\xf4\\x48\\x12\\x5a\\x55\\x4a\\xa7\\x56\\xd3\\x64\\x8f\\x02\\x23\\x27\\x70\\x7b\\x81\\x9a\\x6a\\x23\\x60\\x5a\\x40\\x14\\xbd\\x9f\\x98\\x70\\x24\\x13\\x3a\\x23\\xf7\\x96\\xfd\\xd5\\xff\\xb0\\x83\\xff\\x69\\xbf\\x66\\x55\\xcb\\x96\\x55\\x07\\xda\\x9f\\x46\\x24\\xb9\\xc7\\x81\\xeb\\x99\\x67\\xfa\\xfb\\xfb\\x1f\\xe4\\xa6\\xd1\\xdf\\x30\\x5b\\x2c\\x11\\xa2\\x84\\x20\\xcc\\x4a\\xf2\\x2f\\xf8\\x8d\\x13\\xfd\\xaf\\x28\\x52\\x67\\x33\\xd0\\xca\\x30\\x88\\xd5\\xd7\\xa3\\xbb\\x2f\\x55\\xf8\\x9e\\xd4\\x04\\x08\\x37\\x5c\\x80\\x43\\xdf\\x37\\x4c\\x2f\\x50\\xe4\\x91\\xfe\\x4f\\xd3\\xcd\\x8d\\xda\\x28\\x0f\\x8a\\x60\\x5b\\xe0\\x8e\\x67\\x52\\x3c\\x01\\x61\\xc3\\x18\\xf6\\x41\\x30\\x9f\\xf8\\x3d\\x61\\x4d\\x69\\xa9\\x00\\x13\\xa1\\x36\\x7a\\xfd\\x7a\\x1a\\x01\\x13\\xf0\\x1f\\x0c\\x5f\\xcc\\xf7\\xab\\x80\\xf0\\x23\\x04\\xf8\\xf1\\xfd\\x1f\\x13\\xaa\\xc3\\x64\\xa5\\x39\\x82\\x81\\x10\\x4d\\xee\\x04\\x63\\xc2\\xe3\\xc4\\x34\\xd5\\x16\\xf2\\x35\\x88\\x6c\\x78\\x09\\xba\\xa0\\x6d\\x69\\x91\\x22\\xa2\\xc5\\x9d\\x90\\xd3\\x82\\x70\\x8b\\x79\\x38\\xb2\\x7f\\x7f\\xba\\xbc\\xc2\\x48\\x09\\x70\\x2d\\xdc\\x49\\x39\\x3d\\xf2\\x2b\\x32\\x21\\xd2\\xbb\\x2d\\xed\\x0b\\xc8\\xe8\\x9d\\xcc\\x1a\\xdb\\x57\\xf8\\xdd\\x63\\x4c\\xef\\x50\\x3a\\x56\\x29\\xd1\\x5b\\xc9\\xb5\\x33\\x1f\\x29\\xbe\\x87\\x70\\x11\\x28\\x96\\x28\\xb1\\x1e\\xdc\\xd9\\xff\\x6f\\xb3\\x52\\xc5\\x91\\xe8\\x2d\\x11\\x38\\x97\\x06\\x46\\x9a\\xcb\\x30\\x6e\\x31\\xad\\x64\\x4e\\x41\\xd8\\x91\\x3c\\x2c\\x71\\x1b\\x61\\x31\\x2b\\x89\\x6b\\xc1\\x66\\x1e\\xb6\\x56\\x36\\x6f\\x28\\xcb\\x6d\\x58\\x96\\x51\\x41\\x36\\x77\\xf0\\xb2\\x24\\x1d\\x4c\\x84\\xbc\\xda\\x66\\x57\\x51\\x59\\xb2\\x1c\\xd1\\x7f\\x06\\xdd\\x61\\x80\\xf0\\xa3\\x78\\x78\\xe2\\x3d\\x5e\\x96\\xe5\\xd9\\xb2\\xdc\\x86\\xe7\\x1e\\x15\\x64\\xf4\\xb4\\x38\\xa7\\xfa\\xb4\\x48\\x11\\xd1\\xe2\\xde\\x92\\xd3\\x82\\x70\\xc1\\xfe\\x3e\\x1e\\xce\\x95\\x8e\\x96\\x51\\x06\\x99\\x2c\\x65\\xf4\\xa0\\x2c\\x93\\x22\\xbd\\x8e\\x34\\xeb\\x90\\xd1\\x3b\\x99\\x35\\xb6\\xaf\\xc0\\xcb\\x22\\xdc\\xf0\\x74\\x69\\xb9\\x8c\\x5e\\x93\\x9c\\x9e\\xea\\x5f\\xa0\\x5e\\x84\\xab\\x4d\\xb3\\x45\\x32\\x7a\\x4d\\x72\\x7a\\xaa\\x7f\\x11\\x5f\\x88\\x70\\xa3\\xd2\\xa5\\x95\\x32\\x7a\\xd3\\xb3\\xc6\\x77\\x8e\\x9c\\x24\\xc2\\x05\\xd3\\x45\\x36\\x19\\xbd\\xe9\\x59\\xe3\\x3b\\x07\\xbe\\x12\\xe1\\xbc\\xe9\\xca\\x68\\x86\\x1e\\x5c\\x93\\xc5\\xca\\x18\\x84\\x2b\\xc5\\x72\\x79\\x8b\\x44\\xef\\x90\\x3b\\x52\\x7a\\x12\\x58\\xe1\\xa2\\x80\\x43\\x56\\x96\\x20\\x79\\x73\\xc0\\x26\\xc1\\xaf\\xcb\\x59\\x3a\\xaa\\xf8\\x07\\xc4\\x69\\x45\\x6b\\x4e\\xee\\x24\\x7e\\x42\\xb8\\xc4\\x30\\x10\\x00\\x56\\x22\\x9c\\x72\\x51\\xbe\\x30\\xf8\\x3e\\x0c\\x3e\\x0c\\x7f\\x19\\x26\\x77\\x87\\x0f\\x86\\xc9\\xea\\x30\\x80\\xde\\x0c\\xaf\\x5a\\xbc\\x0b\\xfe\\x5a\\x59\\x4f\\x14\\xe0\\xfd\\x36\\x79\\x46\\xe4\\xcd\\x62\\xde\\xac\\xbe\\x20\\xef\\xe1\\x72\\xde\\x80\\xc1\\xbc\\xaf\\x05\\xbf\\x16\\x79\\x97\\x83\\xef\\xcb\\xc1\\x87\\xe5\\x5f\\x96\\x93\\xbb\\xcb\\x0f\\x96\\x93\\xd5\\xe5\\xa0\\xbc\\x00\\x6f\\x28\\xc7\\xc5\\x58\\x8e\\xa5\\x82\\x1c\\x6f\\xe1\\xe5\\x03\\xfa\\x27\\xa4\\x2d\\x3a\\x9e\\xaf\\x20\\xc7\\x28\\xf6\\x15\\xad\\x02\\x1c\\x10\\xe5\\xb8\\x29\\x1d\\x0d\\x18\\xed\\xb2\\x75\\x91\\xd3\\x3b\\x4f\\xd6\\x88\\xf4\\x66\\xa7\\x6d\\xbe\\x8b\\xd2\\x3b\\x0f\\xde\\x10\\xe9\\xdd\\x9e\\x2e\\xab\\x93\\xd1\\x9b\\xc6\\x2c\\x56\\x9c\\xe6\\xe9\\x99\\xa2\\x6a\\x1a\\x1c\\xc5\\xf3\\x5c\\x0f\\x52\\xd8\\xae\\x80\\x2e\\x63\\x83\\xe8\\xae\\x4f\\x94\\xf9\\x5a\\x92\\xc9\\x03\\xc4\\xbf\\x79\\x58\\xe2\\x97\\xbc\\x0d\\x06\\xb2\\x6d\\x70\\x18\\xb6\\xc1\\x32\\xc1\\x06\\x1f\\xe0\\x6d\\x10\\xe8\\x99\\x08\\x78\\x40\\xa3\\x53\\xa8\\xb2\\x6d\\x10\\xf5\\x47\\x51\\xd2\\x10\\x7e\\xb4\\x60\\x83\\xdd\\xa0\\x11\\xc3\\x17\\x91\\x11\\x70\\x8b\\xc3\\x45\\xea\\xb3\\xe0\\x17\\xf4\\x9f\\x65\\xfe\\xa8\\xd8\\x07\\xe1\\xcb\\x31\\xfc\\x4e\\x32\\x0a\\xda\\x30\\x3c\\xf4\\x97\\xe0\\x50\\x20\\x44\\x69\\xb2\\xe0\\x69\\x38\\xf6\\x6e\\x66\\x32\\x84\\x1f\\xc3\\xc3\\x63\\xbd\\x47\\x3e\\xa1\\xce\\x1c\\x21\\x67\\xd4\\x35\\x90\\xde\\x2c\\x78\\x34\\xfe\\x13\\x78\\xfc\\x31\\x61\\xfc\\xdf\\x0a\\xe3\\x37\\x42\\xfa\\x4f\\xe8\\x0c\\x74\\x36\\x7d\\xf4\\x16\\x15\\x8b\\xe1\\xc7\\x0a\\xf0\\x2d\\x02\\x7c\\x31\\x1c\\xff\\xa9\\x22\\x8f\\x4d\\x91\\x4d\\x9f\\x7b\\x9d\\x39\\x81\\xd7\\x31\\x26\\xf8\\x89\\x2f\\xfb\\xff\\xc5\\xaf\\xe3\\x98\\xb4\\x48\\x1d\\xd1\\x85\\xbe\\x99\\xc5\\xf6\\x35\\x56\\x80\\xab\\x17\\xd7\\x7b\\x7b\\x5a\\xa4\\x2a\\x8d\\xf7\\x90\\x44\\x0f\\x80\\x07\\xb2\\xec\\xeb\\x97\\x26\\x81\\xa6\\x4c\\xc7\\xd1\\x98\\x47\\x2a\\xfe\\x2c\\xd2\\x86\\x39\\xf8\\x55\\x60\\x09\\xe1\\x7a\\x91\\x04\\x01\\x12\\xa2\\x1c\\x01\\x64\\xda\\x2b\\x70\\xe0\\xb1\\xe0\\xde\\xf7\\x36\\xd4\\x17\\x69\\xdc\\x30\\xde\\x5a\\xdf\\xc3\\xf7\\x9a\\x7a\\x0c\\xca\\x57\\x1a\\xa7\\x09\\xea\\x44\\x7f\\x97\\x30\\xcf\\xc5\\xf2\\x79\\x92\\xdf\\x93\\xcb\\xc4\\xf1\\x4f\\x4e\\x1b\\xed\\xb2\\x79\\x2e\\x96\\xcf\\x93\\xfc\\x1e\\xfc\\xa7\\x08\\x77\\x67\\xba\\xb8\\x44\\x9c\\x67\\x3f\\xc3\\x4d\\x27\\x83\\x98\\x5e\\x05\\xaf\\xd7\\xc4\\x0d\\x22\\x5c\\x6b\\x5a\\xe7\\x10\\xf5\\x9f\\x7b\\x83\\x9b\\x8e\\xce\\x09\\x41\\xb8\\x71\\x10\\x4e\\x41\\x9e\\x1f\\x22\\x68\\x7f\\x32\\x6d\\x72\\xd3\\x18\\x0a\\x8f\\x0f\\x7a\\x35\\xaa\\x06\\xfb\\x06\\x4c\\x4f\\x5d\\x07\\x5c\\x90\\x9e\\x1b\\xe5\\xb6\\xc0\\x0c\\x77\\x5e\\x12\\x3c\\x6f\\x60\\x04\\xef\\x80\\x85\\x20\\xc8\\xae\\x13\\xe2\\x0d\\x54\\xea\\x20\\xde\\xdf\\xe1\\x7c\\x23\\xc4\\x92\\x7e\\xec\\x1d\\x88\\xc3\\xa0\\x14\\xc6\\x19\\x46\\x8a\\x30\\x2c\\x37\\x90\\x1f\\x18\\x80\\x81\\x04\\x2a\\x6c\\x15\\xd0\\x29\\xac\\x94\\xe9\\xd6\\x1e\\xbc\\xef\\x55\\x61\\x1f\\xcc\\x81\\xd7\\x79\\x5d\\x04\\x16\\xa8\\x5b\\x27\\xf4\\xa6\\x02\\xba\\xd5\\x81\\xe1\\x27\\xf0\\xf0\\xc4\\x79\\x11\\x1e\\xea\\xd6\\xf3\\x79\\xf0\\x68\\xaf\\xda\\x83\\x65\\x54\\x25\\xe8\\xcc\\x7b\\xa2\\x8c\\xc6\\xa6\\x61\\x6e\\x29\\xd7\\xad\\x0e\\x2c\\xa3\\x09\\x02\\x5c\\xa5\\x08\\x37\\x47\\x0e\\x87\\xf6\\x2a\\x19\\x3d\\xb8\\x57\\x0d\\x17\\xe1\\xa6\\xa6\\x0d\\x26\\x19\\xbd\\x93\\x72\\x7a\\x70\\xaf\\x3a\\x2e\\xc2\\xdd\\x26\\x87\\x83\\xe3\\xa3\\x4e\\x61\\x7a\\x71\\x81\\xef\\x0e\\x11\\xee\\x54\\x5a\\xa1\\x22\\x84\\x38\\xa2\\xff\\x0f\\xdc\\x09\\x61\\x0d\\x27\\xf2\\x70\\xc4\\xa7\\x22\\x5c\\x73\\x9a\\x56\\x48\\xbe\\x0e\\xd2\\xa3\\xaf\\xc3\\xbe\\x20\\x8e\\x7d\\x98\\x85\\xec\\xe1\\x6d\\x1c\\x3c\\x03\\x7d\\x02\\xf4\\x4b\\x5a\\xc9\\x87\\xf5\\xff\\x91\\x3b\\x41\\xfe\\x51\\xf1\\x2a\\x4f\\x13\\xc1\\x12\\x5f\\x0a\\xfe\\xc0\\x0a\\x75\\x1f\\xc2\\xaa\\x48\\xd9\\x9e\\x7f\\x52\\x3e\\x4e\\x38\\x9f\\xcf\\x44\\xfe\\xef\\xa5\\x95\\x6a\\x69\\x9c\\x0e\\xee\\xa4\\x6c\\x9c\\x0a\\xf2\\xab\\x99\\x02\\xd4\\xa4\\x34\\xa3\\x24\\x32\\xba\\x06\\x7d\\x77\\x16\\xbd\\x73\\x80\\x13\\xe9\\x3d\\x9a\\xd6\\x29\\x44\\x7a\\xdc\\xe7\\x92\\xee\\xf2\\xf4\\xce\\x5d\\x27\\x40\\xb9\\xd3\\x1a\\x5a\\x4e\\x8f\\x20\\x14\\xcf\\x60\\xbd\\xa8\\xe6\\xf5\\x82\\x5c\\x29\\xe8\\x45\\x31\\xd4\\xa3\\x1f\\x9c\\x6e\\x83\\x3d\\x57\\x8f\\x14\\x63\\x71\\x0c\\xd5\\xc6\\xef\\x65\\xe4\\xfd\\x02\\x7c\\xc2\\x1c\\x01\\x5c\\x55\\x8d\\xd6\\x97\\xeb\\x03\\x21\\xfd\\x27\\x44\\xfa\\xe4\\x83\\x64\\x9b\\xe0\\xd3\\xdc\\x90\\xfe\\x43\\xce\\xa2\\x82\\xf4\\x7b\\x45\\xfa\\x10\\xde\\x29\\xd0\\xaf\\x81\\xf4\\xf7\\x56\\x55\\xe7\\xd2\\xe7\\x4e\\x28\\x9e\\xc1\\xf2\\xa8\\xe6\\xd7\\x97\\xea\\x16\\xe5\\x31\\x23\\x2d\\x52\\xe7\\xf5\\x14\\xdd\\x25\\x13\\xe9\\x42\\xb8\\xe9\\x22\\xdc\\x1d\\x69\\x91\\xaa\\x60\\x57\\xc7\\xf1\\x78\\x6b\\x72\\x7c\\xb6\\x19\\xf9\\x6c\\x83\\x89\\xd1\\xe5\\xd9\\x95\\x1d\\x8f\\x77\\x92\\x00\\x4f\\x0b\\xe3\\xf5\\xc1\\xf1\\x3e\\xed\\xf1\\x6a\\x9c\\x79\\x76\\x75\\x1c\\x8f\\xb7\\x46\\xd0\\xdb\\x7f\\x88\\xe3\\xe8\\x4e\\x8b\\xd4\\xf1\\x78\\x7b\\xd1\\x1d\\x2f\\x91\\x2e\\x84\\x6b\\x26\\x28\\xd1\\x97\\x89\\x54\\x05\\xbb\\x92\\xd1\\x83\\x76\\x35\\x99\\x90\\x34\\xc7\\x68\\x96\\xd1\\x3b\\x29\\xa7\\x07\\xf5\\xf0\\x15\\x11\\x6e\\x77\\xba\\xd8\\x27\\xa3\\x37\\x3d\\x8b\\xde\\x39\\xf2\\x25\\x11\\x6e\\x4a\\xda\\x66\\x90\\xd1\\x9b\\x9e\\x45\\xef\\x1c\\xf8\\xad\\x08\\xb7\\x24\\x1d\\xf4\\x48\\xf4\\x96\\xf7\\x9f\\x55\\x10\\xd8\\x37\\xd6\\xe2\\x79\\x1c\\xa7\\x1a\\xf8\\x3d\\x85\\x22\\xc3\\xc8\\x35\\xde\\x11\\xae\\xd5\\x50\\x39\\x7b\\x0a\\x7a\\xdb\\x7d\\x1e\\x8e\\x9b\\xda\\x71\\x8c\\xf0\\x08\\xf2\\x8f\\x38\\x6e\\xfa\\x3d\\x8c\\x9b\\x12\\xa9\\x10\\xb5\\xb9\\x01\\x7c\\xd1\\xd0\\xdf\\x40\\xfa\\x1a\\xc0\\xee\\x86\\x83\\xe8\\xcf\\x78\\x03\\xd9\\x40\\x16\\x9b\\x21\\xc5\\x25\\xe1\\x6a\\x15\\x21\\x52\\x84\\x51\\xd4\\xca\\x95\\xab\\x04\\xba\\xb9\\x63\\x39\\x41\\x25\\x79\\x3f\\x4d\\x53\\x64\\x25\\x13\\x81\\xbf\\xdf\\x56\\x39\\x40\\x18\\x8d\\xdc\\x4f\\xe3\\xb7\\xe6\\x15\\xbf\\xce\\x1b\\xcf\\x12\\x18\\x43\\x0e\\x21\\xc6\\xa6\\xea\\x69\\x6a\\x4e\\xc3\\x81\\x06\\xb2\\xa5\\x01\\x2c\\x47\\x7f\\xe2\\xd1\\x1c\\x6b\\x00\\x73\\x1a\\x96\\xa3\\xbf\\x9c\\xd8\\x40\\x1a\\x1b\\x00\\xfc\\x07\\x0f\\x90\\x96\\x8f\\xb0\\x5e\\x0c\\xf4\\xd0\\x28\\x57\\xd5\\x5f\\x64\\x9c\\x6f\\x51\\x1e\\x51\\x66\\x21\\x24\\xb3\\x65\\xa1\\x70\\x41\\x99\\xd5\\xca\\x64\\xb6\\x13\\x3d\\xf3\\x84\\xe3\\xdc\\x21\\x50\\x66\\x35\\xa9\\x00\\xe5\\x0b\\x80\\xef\\x03\\xe0\\xc3\\xc0\\x97\\x01\\x72\\x77\\xe0\\x60\\x80\\xac\\x0e\\xc0\\x2d\\x1a\\x4b\\x6c\\x91\\xd7\\x9f\\x25\\x31\\x31\\xee\\xcc\\x1d\\xc7\\xdb\\x54\\x22\\x6b\\xed\\xee\\x0b\\x17\\x17\\x1c\\x47\\x73\\xd6\\x38\\x2c\\xc2\\xda\\xbd\\xf8\\xff\\x3c\\x0e\\x64\\x93\\xa3\\xb1\\x8f\\x4a\\x08\\x7b\\xdd\\x76\\x21\\xee\\x72\\xc2\\xb0\\xe4\\x65\\xab\\x5d\\x9d\\x95\\x8b\\xf1\\x77\\x0b\\xb1\\x8f\\x9a\\x2c\\xf0\\x46\\xcd\\x38\\xd8\\x34\\x59\\x05\\xc3\\xb4\\x23\\xa0\\x2c\\x5d\\x56\\xa1\\x92\\xbc\\x8e\\x44\\xff\\x09\\x91\\x7e\\x26\\x6f\\x26\\xed\\x90\\x7e\\xb7\\x95\\x2d\\x48\\xbf\\x57\\xa4\\x0f\\xe3\\xcc\\xef\\x85\\xf1\\x54\\x40\\x06\\x87\\xca\\x62\\x2a\\x7b\\x5e\\x1c\\xb8\\x03\\xd3\\xaf\\x17\\xe8\\xff\\x42\\xa0\\x5f\\x04\\xe9\\xaf\\x76\\xb8\\x68\\x75\\xae\\x4f\\x21\\xcf\\x61\\xfa\\x53\\xb1\\xef\\x7e\\x70\\x3e\\xef\\x51\\xec\\xd0\\xa3\\x3c\\x64\\x65\\x95\\x16\\xf9\\xd8\\xa1\\x3f\\xd9\\x81\\xed\\xb5\\x5e\\xf0\\x13\\x3f\\x8a\\x31\\xfa\\xe6\\xb4\\x48\\x19\\x8e\\xf9\\xcf\\x70\\xcf\\x3a\\x87\\x63\\xf9\\xa9\\xc2\\x3e\\x78\\x4a\\xb0\\x57\\xee\\x44\\x5a\\xa4\\x29\\xd2\\xc3\\xfb\\x60\\xbd\\xb0\\x0f\\xfe\\x28\\xec\\x83\\x5f\\xe2\\x7d\\x90\\x72\\x67\\xf6\\xc1\\xaf\\xe1\\x1e\\x5c\\x8c\\xe3\\xe1\\xa9\\xc2\\x3e\\xf8\\x67\\x3c\\xde\\x9d\\x13\\x71\\x24\\xef\\xc0\\x31\\x8b\\xe0\\xa3\\x64\\x63\\x84\\x3e\\x6a\\x86\\x38\\xc6\\xeb\\xa0\\x8f\\x96\\xc6\\x38\\x83\\x3b\\x29\\x1f\\x23\\xf9\\x15\\xf1\\x88\\xe8\\x53\\x1c\\x30\\x3f\\x96\\xc6\\x38\\x00\\xc6\\xed\\x29\\x2c\\xcf\\x86\\x6c\\x79\\x82\\x0a\\xe8\\xa3\\x1f\\x2c\\x8b\\x51\\xd9\\x3e\\x97\\xe9\\x3f\\x8b\\xde\\xcc\\x82\\xf0\\x1d\\xc2\\x7a\\xbd\\x22\\xf8\\xe8\\x18\\x94\\xe8\\xed\\xa5\\xe5\\x0a\\x57\\x16\\xfc\\x00\\x28\\x83\\x14\\x73\\x9f\\x48\\x3f\\x23\\x53\\xd0\\xff\\x44\\x5a\\xa4\\x8e\\xe8\\xc2\\xf9\\x9f\\xa4\\xc7\\x8a\\x74\\x21\\xdc\\x10\\x11\\xee\\x3f\\xd3\\x22\\x55\\x71\\xbc\\x4a\\x56\\xa2\\xf7\\x0e\\x05\\x37\\x63\\x1c\\x23\\xd7\\x32\\x38\\x46\\x0e\\xa5\\xcb\\xab\\x79\\xaa\\x62\\x8c\\x8c\\xc6\\x4c\\xab\\x99\\xbf\\x48\\xb4\\xdf\\x21\\x77\\x71\\x1f\\x61\\x1c\\xb8\\x0f\\x22\\x1c\\x43\\xba\\x2c\\xce\\x73\\x90\\x70\\x78\\x3e\\x31\\x89\\xcf\\xbb\\xe4\\x47\\x62\\xfc\\x5e\\x85\\x18\\xbd\\x1b\\xaf\\x97\\x73\\x91\\x64\\xf3\\x07\\x05\\x2d\\xf1\\x79\\x17\\x7c\\xc2\\x7d\\xc2\\xe3\\x54\\x22\\x46\\x7b\\xab\\xea\\xe4\\x5c\\x32\\xf2\\x11\\xe5\\x2f\\xd3\\x91\\x8c\\x5e\\x57\\x43\\x76\\x0f\\x56\\xc6\\x73\\xd7\\x01\\xc9\\x4b\\x5c\\x07\\x8c\\x37\\x24\\x7b\\x3d\\xb0\\xfd\\xdc\\x5e\\x51\\x95\\xb3\\x1e\\x47\\xa0\\xfd\\xcc\\xc2\\xfc\\x92\\x02\\x9f\\x4d\\xc2\\x7a\\xc3\\xa0\\x0c\\xd4\\xab\\x34\\x74\\x76\\x5e\\xd4\\x85\\xfa\\x72\\x29\\x86\\x40\\xf8\\x69\\xbc\\xfd\\xfc\\xb4\\x86\\x88\\xa6\\x8a\\x80\\xcf\\x03\\x8c\\x1e\\xd0\\xef\\x01\\x5f\\x78\\xce\\x79\\xc8\\x47\\x3d\\xc0\\x03\\x5a\\x5d\\x6e\\x8a\\x4f\\x0a\\x91\\xbf\\x41\\x3b\\x05\\xe2\\x07\\xe7\\x37\\x0b\\xeb\\x6b\\x32\\xbb\\x96\\x05\\xb8\\xf7\\xd2\\x22\\x37\\x08\\x67\\x87\\x36\\xd5\\xc3\\x54\\x08\\x7c\\x20\\x1c\\x60\\xc5\\xf5\\xb7\\xa5\\x45\\xc2\\x10\\xee\\x17\\x50\\xff\\x65\\xf4\\xe0\\xde\\x2b\\xc6\\xa0\\xdc\\x47\\x69\\xb5\\x56\\xa4\\xd7\\xbf\\x07\\xea\\xbf\\x8c\\x1e\\xd4\\xff\\x3f\\x8b\\xf4\\xae\\x83\\x79\\x9a\\x44\\x6f\\x3e\\xdc\\xa3\\xe5\\xf4\\x32\\x31\\x20\\xf7\\x64\\xda\\xa0\\x92\\xe8\\x2d\\x86\\x79\\x8e\\x9c\\xde\\x39\\xb4\\x27\\xf0\\xf4\\x46\\xa5\\x7d\\x2e\\x89\\xde\\xfd\\x30\\x1f\\xfb\\x2f\\x4c\\xaf\\x11\\xc3\\x7d\\x4d\\xde\\x81\\x6b\\x8c\\x50\\xcd\\xfa\\x5d\\xe9\\x22\\x27\\x65\\xc9\\xd4\\x18\\x3b\\xa0\\xef\\x1b\\x43\\x0f\\x80\\xb0\\xd3\\x79\\x58\\xf0\\x85\\x04\\x3b\\x21\\xed\\xf7\\x3a\\x35\\x19\\xd8\\xfb\\xe1\\x38\\xe5\\x74\\xcf\\x93\\x03\\x45\\xfe\\xca\\xb4\\xb7\\x8c\\x12\\xed\\xd9\\x0c\\x63\\x09\\x39\\xcd\\xf3\\xe0\\x0e\\x11\\x2e\\x95\\x2e\\x89\\x3b\\x35\\xd2\\x38\\xb3\\xe9\\x9d\\x83\\x11\\xb7\\x00\\xa7\\x4e\\x7b\\xec\\x12\\xbd\\x21\\x39\\xf4\\xce\\x01\\x59\\xcc\\x1f\\xf4\\x64\\xe8\\x41\\x7b\\xf9\\x2f\\x6c\\x2f\\x8d\\x42\\x6c\\xe2\\x15\\xed\\xc5\\x87\\xec\\x65\\x9d\\xaf\\x42\\x9c\\xba\\xa4\\xfb\\x1d\\xfd\\x7f\\xa5\\x97\\xe3\\xfd\\x6d\\x3a\\x1f\\x0b\\x00\\xbd\\xb0\\xc7\\xfc\\x05\\xee\\x6f\\xd1\\x94\\x9b\\x2c\\x1c\\x9b\\x00\\x8f\\x58\\xd5\\xc9\\xc4\\x23\\xb9\\xfc\\x7b\\x29\\xa3\\x94\\x37\\xfa\\x70\\xde\\xb8\\xc5\\x27\\xcc\\x2a\\x2b\\x1e\\x41\\x63\\x18\\xa3\\x58\\x23\\x8d\\x61\\x27\\xd0\\x08\\xf1\\x48\\x13\\xf1\\x33\\x11\\x4a\\x39\\x28\\x72\\x62\\xc9\\xa3\\x25\\x64\\xbc\\x04\\xf8\\x4a\\x80\\xb1\\xa4\\xa5\\x84\\x2c\\x91\\xf8\\xaf\\x5c\\xb9\\x52\\xa4\\xf3\\x02\\xb4\\xab\\x1f\\x95\\x0a\\x48\\xa7\\x09\\xf3\\x27\\xc1\\x32\\x59\\x0e\\x39\\xdc\\x52\\x4c\\x66\\xd7\\x57\\xf0\\x9b\\xf1\\x0c\\xca\\x7b\\x3a\\xb1\\x5c\\x1f\\x21\\x3e\\x13\\xe0\\x59\\xe8\\x47\\xa3\\xac\\x9f\\xcc\\x8e\\x8d\\x5f\\x80\\x76\\xf4\\x23\\x5e\\xaf\\x26\\xc1\\x8e\\xc4\\x58\\x92\\xfb\\x18\\xea\\x3d\\x4f\\x1d\\xd1\\x85\\xb9\\xd7\\x3c\\xbc\\x5e\\x9d\\x82\\x1d\\xfd\\x4d\\x84\\xfb\\x09\\xe6\\x90\\xa4\\x18\\x73\\xc2\\xf1\\xaa\\xaa\\x70\\x1c\\x30\\x00\\xc7\\x01\\x7d\\xa4\\x19\\xef\\xeb\\x00\\x6e\\xa3\\x50\\xfd\\x5e\\x4e\\xbb\\xbd\\x6a\\x97\\x6c\\x6f\\xc4\\x6f\\xda\\xe3\\x38\\x60\\x86\\x10\\x0b\\xfd\\x85\\x87\\x47\\xc3\\x3d\\xd2\\x7f\\x32\\x6d\\x77\\xa9\\x6c\\x32\\xf8\\x5c\\xfa\\x1c\\x8e\\xcd\\x71\\xfd\\x08\\x32\\xd8\\x5c\\x54\\xac\\xce\\xf6\\x4b\\xb9\\xf4\\xaf\\x85\\x69\\x5f\\x46\\x1e\\xab\\x59\\x67\\x86\\x3a\\x91\\xa1\\x7f\\x48\\xa4\\xaf\\x06\\xe4\\x72\\x51\\xdf\\x50\\x20\\x00\\xbc\\x5e\\x8f\\x3a\\xd7\\xd7\\xf2\\x3c\\x36\\x48\\x3c\\x96\\x80\\xb7\\xa4\\xba\\x23\\xf2\\xcf\\x65\\x2e\\x07\\xcf\\x45\\x86\\xc3\\xf3\\x79\\x42\\xe4\\x03\\x73\\xa8\\xd7\\xc4\\x3a\\x12\\x9c\\x87\\xa9\\xc8\\x53\\x70\\x1e\\xbd\\x22\\x0f\\xe8\\x5f\\x0f\\x09\\xf3\\x70\\xc2\\x79\\x84\\x59\\x47\\xee\\x3c\\xb8\\x13\\xaa\\x2a\\xbc\\xae\\x03\\x84\\x5c\\xea\\xf7\\xe2\\x7a\\xfd\\x4f\\x5a\\xa4\\x8e\\xe8\\xc2\\x9c\\xab\\x1e\\xaf\\xeb\\x0c\\x61\\xfd\\xbf\\x17\\xed\\xd0\\x94\\x16\\xa9\\x42\\x3f\\xf5\\x09\\xd4\\xc3\\xfb\\xf0\\x78\\x07\\xe6\\xec\\xe7\\xa8\\x4e\\xb6\\x5b\\x67\\xa0\\xb2\\xe2\\xa3\\xfe\\xfd\\x50\\x0f\\x07\\xe1\\xf1\\xce\\x14\\xf6\\x8f\\x97\\x85\\xf1\\x1a\\xe1\\x78\\x6f\\xca\\x83\\xe7\\xe9\\x1f\\x12\\xe9\\xab\\x01\\x18\\x97\\x55\\xd7\\x3a\\x6c\\x12\\x30\\x32\\x32\\x14\\x78\\x6c\\x10\\x79\\x10\\x4b\\x88\\xdf\\x49\\x38\\x48\\xee\\x77\\xe5\\xe3\\x20\\x08\\xe6\\xbf\\xf0\\x3c\\x06\\x09\\xf3\\xd8\\x23\\xcc\\x43\\x07\\xe7\\x61\\x54\\x6b\\x29\\x65\\xd6\\xb8\\x6e\\x85\\xbe\\x74\\x11\\x9e\\xc7\\x2c\\x61\\x1e\\xef\\x08\\xf3\\x70\\xc3\\x79\\xdc\\xe5\\x2c\\x22\\xad\\x59\\xf0\\xff\\x03\\xe9\\x7b\\x14\\x1c\\x84\\x1f\\x8c\\xf5\\xb3\\x1f\\xd7\\x99\\x10\\xbc\\x09\\xd2\\xdf\\x6f\\xd2\\x80\\xac\\x7d\\xb0\\xff\\x07\\x82\\xa0\\x4e\\x31\\xbf\\x85\\xf0\\x5d\\x98\\xfe\\x0e\\xbc\\x9f\\x60\\x78\\x48\\xff\\x6e\\x93\\x86\\x60\\xb2\\xe9\\x43\\x7b\\xf5\\xe0\\x75\\x1d\\x2c\\xac\\xd7\\x6e\\x71\\xbd\\x76\\xa5\\x35\\x3a\\x20\\xee\\x2b\\x3f\\xa0\\xda\\x0b\\x5e\\xd7\\x2e\\x01\\xae\\x54\\x84\\x7b\\x06\\xc2\\xf1\\x54\\x31\\xbd\\x93\\x72\\x7a\\x70\\xdf\\xfb\\x49\\x84\\xdb\\x98\\xd6\\xea\\x65\\xf4\\x4e\\xca\\xe9\\x41\\xb8\\x5b\\x32\\x35\\x0d\\xad\\x5e\\xa4\\x87\\x73\\x58\\x79\\x7d\\xef\\x2b\\xf0\\xac\\x08\\x77\\x57\\xda\\x5d\\x2c\\xd5\\x31\\xd1\\xfe\\xff\\x99\\x62\\x94\\xb8\\xef\\xc1\\xb5\\xa3\\x89\\x5e\\x7e\\xed\\xfc\\x68\\xbd\\x47\\x16\\x0b\\x7b\\x73\\xae\\x9d\\x29\\xae\\x91\\x6c\\xe0\\x21\\x70\\x4c\\x5c\\x6f\\x27\\x5a\\xef\\x4a\\x37\\x9b\\x6b\\x67\\xfc\\xfa\\x61\\x1c\\x7e\\xfd\\x1e\\x22\\x9e\\x15\\x71\\xdc\\x08\\x67\\x99\\xd7\\xc9\\xaf\\xa0\\x8c\\x4f\\x15\\x8c\\xeb\\x2a\\x99\\xbf\\x5b\\xc4\\xef\\x79\\x3d\\xc4\\x0f\\x42\\xec\\x33\\x14\\xa2\\x3c\\x39\\xb4\\x85\\xff\\xa0\\x27\\xd9\\x5a\\x00\\xe6\\x02\\x87\\x50\\x4d\\x1b\\x0c\\xc9\\xa9\\x69\\xa3\\xba\\xdd\\x11\\xa3\\x99\\x90\\xad\\x39\\x01\\x88\\x7a\\xb8\\xa7\\xb4\\x32\\xf7\\x11\\x61\\xa2\\x3d\\x15\\xb3\\x3b\\xfc\\x2a\\x55\\x28\\x64\\xf0\\xf9\\x74\\xa4\\x83\\x8e\\x44\\xfd\\x7a\\xbd\\x6e\\x6e\\xa7\\xc1\\xa3\\xd7\\x3b\\x3c\\x1e\\xf3\\x9c\\x4e\\x0f\\xed\\xb0\\x10\\xcc\\x9c\\x4e\\x92\\xb0\\x0a\\xbd\\x2b\\xe4\\x6d\\x15\\x89\\x44\\x7e\\x0f\\x2d\\xe9\\x26\\x08\\x3a\\x5e\\xc1\\xdf\\xe9\\xe1\\xcf\\x97\\xa2\\x73\\xcb\\xfc\\xa5\\x2e\\xf2\\x87\\xc7\\x56\\x94\\x5d\\x7b\\xfd\\x93\\xaf\\xec\\x7e\\x6a\\xb4\\x1b\\xac\\x2b\\xbb\\x6b\\x56\\xcf\\x33\\x8b\\x83\\x7b\\x5e\\xdb\\x53\\x71\\xff\\x85\\xd7\\x9e\\xf8\\xe7\\x14\\x6e\\xfd\\x13\\xbf\\xe2\\x3e\\xb1\\x85\\x1e\\x2e\\x7b\\xea\\xfe\\xab\\x16\\xde\\x0a\\xae\\xa8\\x6f\\x99\\xf9\\xcb\\x83\\x17\\xde\\xa2\\x06\\xfd\\x99\\x5b\\xbb\\xf9\\x76\\xee\\x61\\xc3\\x2b\\xbb\\xfe\\xf4\\x33\\x81\\xbf\\x91\\x9e\\x90\\x7f\\x23\\x85\\x7a\\xf6\\x2b\\x31\\x6f\\xf8\\x13\\xaa\\x05\\x2a\\x85\\xf5\\xae\\x82\\x70\\xb2\\x6f\\xa4\\x10\\xae\\x4d\\x84\\xbb\\x33\\xdd\\x38\\x80\\x97\\x28\\xa2\\x07\\x6d\\xfa\\x1b\\xe5\\x18\\x91\\x1e\\xf9\\x2e\\xc3\\x82\\x66\\x94\\x17\\x7a\\x18\\x94\\x17\\xce\\x4e\\x9b\\x1d\\xb4\\x52\\xb6\\x1f\\xe0\\xb5\\x52\\xe8\\xa4\\xb5\\x7a\\x97\\x5e\\x2c\\xac\\xd5\\x48\\xb8\\x56\\x6f\\x0d\\x1c\\x92\\xbd\\x56\\x88\\x3e\\x93\\xc6\\xfb\\x39\\x3f\\xde\\x0b\\xd4\\x66\\x1c\\xe7\\x53\\x28\\xcf\\xa3\\x20\\x87\\x3d\\xe9\\x22\\xa3\\xf8\\x6d\\x57\\xfc\\xbe\\x0b\\xd7\\x4b\\xa1\\x88\\x88\\x3c\\x34\\x34\\xf9\\x67\\x01\\x67\\xb8\\x19\\xe3\\x28\\xd3\\xc3\\x9b\\xc4\\x8f\\xbc\\x42\\xfd\\x9c\\x9f\\x47\\x86\\x4f\\x1f\\xe6\\x83\\xf3\\x72\\xcc\\xe8\\x77\\x66\\x9b\\x9c\\x4b\\x46\\xef\\x64\\x7c\\x18\\xf2\\x73\\x11\\x67\\x24\\x62\\x94\\x18\\x98\\x92\\x73\\x91\\xe6\\x33\\x49\\xc6\\x87\\x93\\xe6\\x13\\xe6\\xe7\\xb3\\x22\\x1d\\x36\\xe7\\xcf\\x87\\xfe\\x0c\\xc7\\x26\\x3c\\x1f\\x05\\x7e\\x07\\x03\\xf3\\x99\\x88\\xf8\\xfc\\x6b\\xe2\\x80\\x42\\x7c\\xb2\\xe6\\xd3\\x8f\\xf9\\xe0\\x6f\\xdc\\x60\\x78\\xba\\x2c\\x24\\xb2\\x10\\xe9\\x8f\\x53\\x9c\\x93\\xe8\\x2b\\xc9\\x3f\\x89\\xf4\\x53\\x88\\xfe\\xb3\\xa9\\x69\\xf9\\xf4\\x91\\x1e\\x61\\xbf\\x59\\x22\\xe4\\x1d\\x8f\\x0b\\xfe\\x13\\x7d\\x8f\\x84\\x39\\xad\\x23\\xf3\\x7d\\x0a\\xeb\\x12\\xf6\\x99\\xc3\\x71\\x6c\\xb5\\x83\\xaf\\x5f\\x08\\xb9\\x1d\\xcc\\x6a\\x07\\x4b\\xdf\\xa7\\x72\\xc7\\xad\\x21\\xd0\\xd9\\x1b\\x2c\\x1f\\x1b\\x2f\\x9f\\xb1\\x69\\x87\\xaf\\x80\\x7c\\x66\\xe2\\x18\\x83\\x1f\\xbf\\x8a\\xfc\\x46\\x1c\\x7f\\x33\\x1a\\xff\\x87\\x43\\x06\\x5e\\x4e\\x3e\\x1a\\x20\\xad\\x83\\xc0\\x67\\x4c\\x61\\x3e\\xf5\\x32\\x3e\\x6a\\xf2\\x54\\x16\\x9f\\x57\\x86\\xb4\\x5e\\x96\\x0f\\x49\\xad\\x12\\xf8\\xf8\\x78\\x3e\\x83\\xd3\\xc1\\xf2\\x02\\x7c\\x6a\\x31\\x0e\\xcf\\x47\\x43\\xfe\\x45\\xe4\\x33\\x06\\x2b\\xf0\\xf8\\x29\\x97\\xe5\\x43\\x51\\x5b\\x05\\x3e\\x06\\x9e\\x4f\\x47\\x3a\\x18\\x2f\\xc0\\x67\\x8a\\x6c\\xdd\\xb5\\xe4\\x1f\\x45\\x3e\\x93\\x10\\x9f\\x13\\x53\\xc6\\x5f\\x64\\xdd\\x4f\\x4b\\xeb\\x4e\\x83\\x57\\x65\\x7e\\x04\\xae\\xa5\\x21\\x77\\xdd\\xbf\\x96\\xd6\\xfd\\x01\\x74\\x14\\x4c\\xf2\\x25\\x10\\xb6\\x31\\xfb\\x3b\\xbe\\xec\\xfb\\x29\\x84\\xf9\\xa3\\xb8\\x0f\\x6d\\x48\\xeb\\x0c\\xb2\\xef\\xa7\\x27\\xe4\\xdf\\x4f\\x33\\xf5\\x01\\xb2\\x7f\\x5d\\x3a\\x10\\xca\\x7c\\x3f\\xc5\\xdf\\x96\\xc7\\x88\\xf4\\xa0\\x5f\\xd2\\x43\\xbf\\x24\\xc6\\x9d\\x6f\\x18\\x85\\xaf\\xda\\xb2\\xb3\\x06\\xe8\\x9b\\xb6\\x4e\\xa4\\x0b\\xfd\\xd2\\x5c\\xc1\\x2f\\xc5\\xa1\\x5f\\x4a\\x97\\x94\\x1b\\xf3\\xeb\\x4f\\x8b\\x95\\x2a\\x89\\xfe\\x23\\xe0\\x73\\x30\\x16\\xd3\\x87\\xfa\\x03\\x5e\\x15\\xbf\\xf8\\x66\\xd3\\x67\\x8e\\x4a\\xf4\\x1f\\x21\\xfe\\x06\\x77\\x16\\x44\\xbf\\x0c\\xd2\\xbf\\x5a\\xfc\\xf2\\x9b\\x45\\xff\\x1d\\xd9\\xb7\\xf1\\x0b\\xd4\\xbd\\x42\\x7d\\xc3\\xc9\\xd7\\x37\\xc2\\x69\\x67\\xd6\\xd7\\x71\\x81\\xc7\\xb7\\xd8\\x1f\\xb5\\x0a\\x7e\\xef\\xb8\\xb8\\x9e\\x95\\x68\\x3d\\xbf\\xaa\\x0c\\xf2\\x5c\\x64\\x3e\\x2c\\xf7\\x1b\\xbc\\xe4\\xf7\\x04\\x46\\xc3\\x8c\\x96\\x8b\\x7c\\xff\\xcf\\xf0\\x61\\xc8\\x8f\\x45\\x3e\\x71\\xc4\\xc7\\x5f\\x52\\x76\\x59\\x3e\\x5c\\x86\\x4f\\x08\\xf1\\xf9\\x2c\\x64\\x2c\\xc8\\xe7\\x04\\xf6\\x7b\\xad\\x82\\xdf\\xfb\\x42\\xe4\\xd3\\x88\\xf8\\x7c\\xd6\\x18\\xba\\x2c\\x9f\\xfe\\x0c\\x9f\\x4a\\x7c\\xa6\\x20\\x1a\\x28\\xc8\\x67\\x30\\xb6\\x83\\x56\\xc1\\xff\\x49\\xf3\\x29\\x43\\x7c\\x76\\x95\\xa5\\xf2\\xf9\\x20\\x7d\\xc5\\xfe\\xaf\\x54\\xf0\\x7f\\x7f\\xc4\\xfc\\x08\\xd0\\xcd\\xeb\\xb6\\x49\\xfe\\x7d\\x1e\\xea\\x2c\\xf6\\x7f\\xfc\\xf7\\xf9\\x1d\\xa8\\xb6\\x29\\xf7\\x7f\\x91\\x8c\\x1d\\x40\\xef\\x49\\x7e\\x84\\xf5\\x96\\xff\\x8e\\xfa\\x2e\\xb5\\x5e\\xd0\\x5b\\x94\\x3f\\xbe\\xab\\xd4\\xe7\\xe8\\x15\\xaa\\x6b\\x4e\\x55\\xe8\\x4c\\x11\\xe2\\xef\\x27\\x30\\x3c\\xd9\\x07\\xff\\xc3\\xa8\\x54\\x99\\x33\\x15\\x08\\xb4\\x3a\\x53\\xc5\\xc5\\xf0\\x37\\xa7\\x13\\xfe\\x66\\xb3\\xc1\\xdf\\xac\\x56\\xf8\\x9b\\xc5\\x02\\x7f\\xd3\\x6a\\xe1\\x6f\\x1a\\x4d\\x2b\\x38\\xc2\\x7d\\x9a\\x52\\x2b\\x95\\x24\\xa4\\x6b\\xc1\\xe3\\x80\\xe4\\x63\\xc2\\x2f\\x9e\\x07\\xaa\\xc9\\xc8\\xbe\\xed\\xca\\x6b\\x32\\xa3\\x65\\xdf\\xfb\\xfa\\xff\\x24\\x7d\\x17\\x1c\\x27\\xd4\\x43\\xa5\\x33\\x27\\x23\\x50\\x8d\\x47\\xb4\\xe1\\xe5\\x30\\x87\\x21\\x70\\x2d\\xb0\\x56\\xc8\\x75\\x3a\\x45\\xb8\\x3b\\xd0\\x77\\x18\\xf1\\x0c\\xcb\\x30\\x28\\xb7\\x5a\\xfc\\x3d\\xa4\\x3d\\xd7\\xd6\\x57\\xa7\\x8b\\x7d\\x7c\\x5d\\x5b\\xaa\\xa9\\x8f\\x11\\xe9\\x41\\x5b\\x1f\\xc5\\xcb\\x8c\\x2c\\x87\\x4b\\xfe\\x80\\x4f\\xa8\\xec\\x4b\\x32\\xe3\\xeb\\xfa\\x3a\\x91\\x2e\\xb4\\xf5\\x2e\\xc1\\xd6\\x63\\xd0\\x16\\x9f\\xf7\\x47\\x78\\xca\\x12\\x7c\\x6e\\xcd\\xfe\\x02\\xf5\\xb6\\xa8\\x1f\\xa5\\xc8\\xb9\\xfe\\xbd\\xb4\\x60\\xcd\\x5e\\x88\\x41\\xda\\x65\\x31\\x48\\x46\\xa7\\x7e\\x2e\\xf3\\x66\\xea\\xf2\\x17\\xe1\\xd3\\x97\\xc3\\x27\\xea\\x0b\\x5e\\xe4\\x1b\\x45\\x86\\x0f\\x93\\xe1\\x13\\x43\\x7c\\x2a\\xfd\\xe1\\xcb\\xf2\\xe1\\x32\\x7c\\x12\\x88\\xcf\\xeb\\x09\\x5f\\x41\\x3e\\x1f\\x60\\x5b\\x6c\\x17\\x6c\\x51\\xe2\\x53\\x87\\xf8\\x7c\\x5e\\xe7\\xbb\\x2c\\x9f\\xfe\\x0c\\x9f\\xc1\\xf8\\x5b\\x47\\xb2\\xa6\\x20\\x9f\\x09\\xd8\\x16\\xdb\\x05\\x5b\\x94\\xf8\\x84\\x11\\x9f\\xdd\\xe1\\x41\\xf9\\x7c\\x90\\x3e\\x61\\x5b\\xac\\xe5\\x6d\\x91\\xea\\x14\\x62\\x91\\x7b\\xf9\\x58\\x24\\x2c\\x3f\\xaf\\x06\\x75\\x0a\\xdb\\x62\\x7b\\x56\\xbd\\x74\\x07\\x6e\\xac\\x01\\x61\\x65\\xb6\\x08\\xc7\\xaf\\x9c\\x8c\\xf6\\x7b\\x30\\x4f\\xa8\\x5d\\x84\\xc5\\x3d\\x01\\xea\\xd5\\xc0\\xf2\\x4a\\x87\\x3a\\x57\\xaf\\x98\\x6e\\x54\\xbb\\x00\\x57\\x08\\xf5\\xab\\x07\\x65\\x7a\\x35\\x3f\\x52\\x46\\x19\\x73\\xf5\\x2a\\x8b\\x7e\\x1f\\x40\\xe7\\xeb\\x60\\xec\\x8c\\xc8\\x1f\\x81\\xf9\\x5c\\xac\\x2a\\xc3\\xa1\\x00\\xfd\\x61\\xc0\\xce\\xc3\\x23\\xf2\\x47\\xfa\\xb7\\xa4\\xa3\\xe5\\x19\\x0e\\x22\\x7d\\x64\\x17\\x3c\\x7d\\x68\\x17\\xdd\\x82\\x5d\\x34\\x42\\x06\\x9a\\xca\\x44\\xa1\\xf1\\x23\\xbb\\xe0\\xe9\\x43\\xbb\\x98\\x48\\x64\\xce\\xe2\\x28\\xcb\\xe2\\x85\\xc6\\x8f\\x6a\\x5d\\x3c\\x7d\\x35\\x09\\x6e\\xe7\\xc7\\x93\\xc0\\xe3\\xff\\x24\\x9d\\x68\\x2e\\x30\\xfe\\xa3\\x12\\xfd\\x47\\x80\\x0e\\xee\\x81\\xe2\\x37\\xa4\\xfe\\xef\\xd2\\x55\\x4d\\xd9\\xe3\\xe7\\x4e\\x28\\x27\\x23\\x3f\\x21\\xd0\\xb7\\x50\\x57\\x08\\xf6\\xcf\\x7d\\x9f\\x2e\\xaf\\x70\\xa8\\x33\\x7e\\x82\\xe9\\x46\\x7e\\x82\\xa7\\x0b\\xd7\\xb4\\x5b\\x84\\xeb\\x4b\\x47\\x4a\\x79\\x9a\\xb8\\xd6\\x79\\x42\\x5e\\xeb\\x94\\xc7\\x18\\x45\\x69\\xbb\\x53\\xaa\\x75\\x76\\x40\\x1d\\x91\\xd5\\x3a\\x21\\x9c\\x4f\\x84\\x1b\\x0c\\xfd\\x53\\x4e\\xad\\x73\\x8c\\x54\\x3b\\x7d\\x17\\x7a\\x68\\xde\\x57\\x97\\xc0\\x9f\\x36\\xb8\\x7c\\x94\\x25\\x4b\\x5e\\x7c\\x8d\\x51\\x27\\xd5\\x50\\xdf\\xa5\\xc7\\x0a\\xb5\\x83\\x72\\x73\\x04\\x6c\\xf3\\x85\\x9d\\xd9\\xe7\\x45\\x20\\x7d\\x65\\x1c\\xeb\\xc7\\x4a\\x5e\\xff\\xc0\\x05\\x01\\x1e\\xd1\\x37\\xfa\\x82\\x94\\x23\\x97\\x3e\\x73\\x0b\\xd6\\x8f\\x55\\x82\\xfe\\xed\\x15\\xe0\\x2b\\x20\\xfd\\xf1\\xd1\\xf2\\x90\\xf9\\x92\\xf4\\xfb\\x40\\x2d\\x5e\\x3f\\x4c\\xfe\\x48\\xff\\xa2\\xb4\\x3f\\x94\\xe1\\x50\\x80\\xfe\\x30\\xf4\\xcd\\x16\\xc1\\x57\\xe0\\xda\\x5f\\x2a\\x5d\\x1a\\xcb\\x70\\x10\\xe9\\x63\\xfd\\x5b\\x29\\xc8\\x27\\x86\\x73\\x43\\xb4\\x13\\x43\\xf8\\x8f\\xd2\\xc1\\xd2\\x7c\\xfa\\x58\\xff\\x56\\x09\\xf2\\x19\\xc0\\xd3\\xaf\\xc7\\xf4\\x7f\\x97\\x2e\\xaf\\x2e\\x40\\x5f\\x25\\xd1\\x7f\\x04\\xfc\\x0c\\x63\\x30\\x08\\x1f\\xc5\\xf4\\xdf\\x49\\x47\\x6b\\x0b\\x8c\\xff\\xa8\\x44\\x5f\\xd4\\x3f\\x10\\xc7\\xf4\\x3f\\x4c\\xc7\\x07\\x64\\xd3\\x87\\xfa\\x17\\x47\\xfa\\xc2\\xd3\\x97\\xe9\\x0b\\xb7\\x34\\xed\\x0b\\xf0\\xb4\\x79\\x7d\\x61\\x6e\\x41\\xfa\\xc2\\xd3\\x85\\x70\\x5e\\x11\\xee\\xa1\\x74\\xb4\\x8c\\xa7\\x29\\xd5\\xb2\\xbe\\x17\\x6b\\x59\\x50\\xde\\x41\\x7e\\x7e\\x6a\\x3c\\xde\\x6f\\xd2\\x1a\\x3d\\x25\\xcb\\x95\\x85\\x5a\\xd6\\x29\\xb1\\x16\\x02\\xe5\\xfd\\x2d\\x91\\xa9\\x21\\x56\\xb8\\x3c\\xd9\\xb5\\x2c\\xe2\\x77\\x92\\x7e\\x0f\\x12\\xc6\\xf1\\x9c\\x38\\x8e\\xb7\\xd3\\x62\\xa5\\x4c\\xa4\\x8b\\xf5\\x7b\\x16\\x3a\\x13\\x06\\xed\\xaa\\x26\\x53\\x6b\\xc3\\xfa\\x3c\\x48\\x90\\xff\\x3f\\x04\\x7d\\x86\\xc9\\x1c\\xa8\\xd2\\x59\\x0a\\xd5\\xda\\xb0\\x3e\\xcf\\x12\\xe0\\xed\\xc2\\xf8\\xa0\\x13\\x05\\x4f\\xba\\x03\\xb9\\xe3\\xc3\\xf4\\x55\\x12\\xfd\\x47\\xc0\\x7e\\x21\\x66\\x46\\xe7\\x40\\x0c\\x66\\x4f\\xc1\\x5a\\xde\\x51\\x89\\xfe\\x23\\xc4\\xc7\\x7c\\xcc\\x0c\\xfc\\xe8\\x1b\\xa3\\x3f\\x96\\x43\\x7f\\x64\\xff\\x19\\xfa\\x98\\xa2\\xda\\x12\\xa1\\xb0\\x1f\\x50\\xde\\x4d\\x1c\\x27\\xe6\\x4b\\x31\\x7c\\x28\\x5e\\xee\\x54\\x5d\\x12\\xbe\\x97\\x78\\x59\\x80\\x47\\xdf\\x03\\xed\\x89\\xcb\\xc1\\xef\\xc1\\xf4\\x51\\x8e\\x55\\x8f\\xd3\\xb2\\xfe\\xf3\\xe9\\x7a\\x01\\x47\\x8a\\xc9\\x73\\x71\\xf6\\x63\\x1c\\xbc\\x9f\\x35\\x20\\x24\\x65\\x63\\x16\\x46\\x41\\x3e\\x7b\\x89\\xaf\\x45\\x1c\\xcc\\xa8\\xa6\\x3e\\x76\\x59\\x9c\\x03\\x19\\x1c\\xcc\\x67\\x64\\xe3\\x45\\x70\\xd0\\x7a\\x0b\\x38\\xfb\\x32\\x63\\xc3\\x71\\xfc\\xb8\\xc1\\xa3\\x2f\\x8b\\x73\\x30\\x83\\x53\\x83\\x71\\x52\\xe3\\x72\\x71\\xf8\\xdc\\x14\\xc7\\x85\\x28\\x37\\x55\\x28\\xef\\x7e\\x98\\x20\\x2c\\x29\\x0d\\x09\\xb3\\xba\\xe3\\x56\\x2b\\xcd\\x1f\\xa0\\x6f\\xa9\\x2f\\x08\\xdb\\x2b\\x83\\x75\\x38\\xb2\\x60\\x89\\x2d\\x04\\xa1\\xb0\\x31\\xbd\\xa6\\x28\\x51\\x02\\x2a\\x30\\x34\\x6a\\xe6\\xec\\xfc\\x25\\x05\\xed\\x0f\\x2d\\xc7\\xcb\\x69\\x97\\x8b\\xc7\\x40\\x28\\x3c\\xce\\x73\\x79\\x38\\xfb\\x21\\x8e\\x3d\\xa5\\x83\\x09\\x39\\x44\\xd2\\x14\\x15\\xc9\\x30\\x0a\\xf2\\xd8\\xfb\\xff\\xc0\\xe3\\xc0\\x25\\x79\\x6c\\x47\\xf0\\x8a\\xaf\\x65\\xf0\\xfb\\x04\\x1e\\x0e\\xcc\\xe3\\x58\\x3a\\x10\\xc8\\xe5\\x91\\x8f\\x73\\x50\\xc0\\x29\\x12\\x70\\x4a\\x4a\\x72\\x71\\x82\\xfd\\x67\\xa9\\x87\\xb0\\x8e\\x2c\\x12\\xec\\x23\\xcd\\xeb\\x3b\\xfa\\x2c\\x0d\\x0e\\x57\\x96\\x6a\\xb2\\xf7\\x93\\x5c\\xf8\\x5e\\x62\\xb7\\x00\\x8f\\x1c\\xe6\\xee\\x9a\\x4b\\xc3\\xc3\\xd5\\xb8\\x6e\\x3e\\x9f\\x79\\x25\\x50\\xe5\\x76\\x64\\x42\\x80\\x97\\x6c\\x23\\x17\\x7e\\xbf\\x08\\x8f\\xc2\\x0d\\x30\\xb3\\xa1\\x10\\xfc\\x07\\xb2\\xf1\\xec\\xc5\\xe3\\xcf\\x70\\xd8\\x97\\x28\\x93\\x63\\x10\\x85\\x70\\x0e\\x64\\x70\\x30\\x97\\x23\\x0d\\xf9\\x38\\xeb\\xa0\\x6c\\x6b\\xf0\\xfa\\x95\\x42\\xed\\xc6\\x92\\xea\\x47\\xa7\\x85\\x6c\\x87\\x61\\xc0\\x05\\x1d\\xf5\\x15\\x69\\x9d\\x0e\\x00\\x41\\x13\\x85\\xb5\\xc8\\x86\\xef\\x15\\xe1\\x9d\\x08\\x7e\\x7a\\x0e\\xfc\\x72\\x82\\x50\\xfe\\x27\\x0f\\x4f\\x4e\\xe7\\x25\\xf5\\x1d\\x5a\\x3b\\x12\\x78\\x08\\xf4\\xcd\\xd7\\x23\\xc1\\x67\\xd6\\xee\\x81\\x3c\\x9c\\xfd\\x02\\x4e\\xf1\\x45\\x71\\xf2\\xf9\\xec\\xcd\\xe2\\xd3\\x9d\\xd6\\xeb\\x2f\\xcf\\xe7\\x40\\x16\\x9f\\x42\\x38\\xb8\\x77\\x3a\\x96\\xf1\\x62\\x5e\\x5a\\x70\\xda\\xbc\\x9e\\x94\\x40\\x3d\\xf9\\x7d\\x89\\x4f\\xe3\\xce\\xd6\\x93\\x1c\\xf8\\x5e\\x09\\x1e\\xed\\x1b\\x9f\\x96\\x5e\\x0e\\x7e\\x0f\\xcc\\x9f\\x85\\x35\\x2c\\x47\\x6b\\xb8\\xa5\\x5c\\xc0\\x90\\xaf\\x7b\\x0e\\xce\\xfe\\x0c\\x0e\\x8a\\x96\\xc1\\x7d\\x95\\x85\\x71\\x26\\xc9\\x70\\xf6\\x82\\x86\\x2c\\x3e\\xdf\\x94\\xfb\\x2f\\x8b\\x73\\x20\\x83\\x83\\xf9\\xf4\\x55\\x16\\xc6\\x79\\x14\\xfb\\x50\\x1e\\x67\\x1f\\x9e\\x3f\\xaa\\xed\\x94\\xf0\\xe7\\x50\\xa8\\x74\\x6d\\xb3\\x1c\\xab\\x00\\xce\\x41\\x09\\x27\\x22\\xe2\\xd4\\x0f\\xc9\\xc1\\x41\\x7a\\x7c\\x17\\x5e\\xcb\\x58\\x41\\x3d\\x9e\\x07\\x75\\x86\\x61\\xb2\\xf5\\x38\\x1b\\x3e\\x5b\\x8f\\xa7\\xe5\\xc0\\x43\\xfd\\x52\\x05\\x78\\xf8\\x82\\x7a\\xec\\x96\\xe0\\xb3\\xf4\\x2b\\x07\\x27\\x5b\\x8f\\xbd\\x05\\x70\\xf2\\xf9\\x64\\xeb\\xf1\\x5c\\xa8\\x93\\x97\\xe7\\x93\\xad\\xc7\\x85\\x70\\xd6\\x20\\x1c\\xec\\x53\\x45\\x9c\\x7d\\x02\\x8e\\x0e\\xe3\\xf4\\xa6\\x63\\xb1\\xcb\\xe3\\x1c\\xcc\\xc1\\xa9\\xaa\\xca\\xc5\\x69\\x21\\x08\\xb2\\x04\\xeb\\xcc\\x52\\x7e\\x3f\\xfc\\x0d\\xaf\\xfd\\x66\\xa8\\xfd\\x87\\xcc\\x3a\\x46\\x9e\\x33\\x21\\x58\\x46\\x06\\xdb\\xfb\\x02\\x0f\\x6b\\x85\\xb0\\x8f\\xb2\\xf9\\xb0\\x8f\\xc8\\x60\\xf7\\xfc\\x46\\xd0\\x44\\x07\\xb6\\x12\\x87\\x00\\x2d\\xe9\\x47\\x2e\\xfc\\x7e\\x11\\x1e\\x7f\\x9d\\xbb\\xaf\\xa8\\x10\\xfc\\x0f\\x32\\xf8\\xbd\\x9f\\xc8\\xe9\\xbf\\xe8\\xd0\\x5f\\x06\\xfe\\xc0\\x27\\x72\\xfa\\xef\\x16\\x15\\x80\\xa7\\xc6\\x61\\x1d\\xe7\\xe1\\xf7\\x89\\xe3\\x31\\x23\\xf8\\x4f\\x7d\\xb1\\xcb\\xc0\\x1f\\x14\\xe1\\xf1\\xd7\\xe4\\x4f\\x83\\x55\\x39\\xf0\\xeb\\xf8\\xb7\\x7e\\xe1\\x5a\\x55\\xe4\\xda\\x83\\x01\\xe9\\x77\\x5b\\x1a\\xf5\\x30\\xca\\xb2\\x87\\x1c\\x78\\xc9\\x1e\\x4c\\x08\\x7e\\x44\\x0e\\x3c\\xd4\\x53\\x7a\\x3d\\x0f\\x9f\\x63\\x0f\\x36\\xac\\x0b\\x6a\\x09\\x3e\\x4b\\x4f\\x73\\x70\\x44\\x7b\\x60\\x2f\\x8a\\x93\\xcf\\x67\\x6f\\x16\\x9f\\xb1\\x69\\x86\\xb9\\x3c\\x9f\\x03\\x59\\x7c\\x26\\x14\\xc0\\x59\\x83\\x70\\xb0\\x6e\\x57\\xe4\\xd8\\x03\\x8d\\x71\\x5e\\x4e\\x87\\x42\\x97\\xc7\\x39\\x98\\x83\\x13\\x89\\xe4\\xe2\\xf0\\x35\\xac\\x6a\\xb1\\xe6\\x03\\xe3\\x92\\xef\\x85\\x38\\x3c\\x08\\x17\\xf2\\x9e\\x60\\x71\\x4e\\x3d\\x2e\\x17\\xbe\\x57\\x82\\x47\\xfe\\xf3\\xde\\xc8\\xe5\\xe0\\xf7\\x64\\x62\\xd6\\x52\\x14\\xb3\\x0e\\x28\\x2d\\xce\\xab\\x29\\xe5\\xe2\\xc8\\xe2\\x76\\x5c\\xbf\\x6b\\x8b\\x5d\\x1e\\x67\\x2f\\x9c\\xb3\\x9c\\xcf\\x2f\\x4a\\xf3\\x6b\\x7e\\xb9\\x38\\x07\\x32\\x38\\x98\\xcf\\xf3\\xb1\\x7c\\x9c\\x75\\xfd\\x67\\x15\\xb3\\xe0\\x5a\\x46\\x88\\xda\\x59\\x19\\x2d\\x46\\x51\\x72\\x84\\x20\\x09\\x8f\\x47\\xa3\\x91\\xe9\\x70\\x0e\\x6c\\xaf\\x04\\x5b\\x9a\\x07\\x8b\\xea\\x39\\x67\\xb1\\x8e\\xd4\\x82\\xb3\\x92\\xfe\\xe2\\xb8\\xb5\\x02\\x06\\x95\\x12\\xb4\\x18\\xb7\\x3e\\x90\\x07\\xbf\\x5f\\x84\\xaf\\x2c\\x04\\x8f\\xe8\\xef\\x10\\xe0\\x77\\x48\\x7a\\x7b\\x69\\xfa\\xd9\\xf0\\x07\\x2e\\x49\\xff\\x4a\\x28\\x4b\\x7e\\xcf\\x5f\\x2b\\xe8\\xd1\\x39\\x21\\xae\\x28\\x46\\xf9\\x62\\xb1\\xd3\\x96\\x7d\\x57\\x2d\\x17\\xbe\\x97\\xf8\\x5c\\x80\\x47\\xf7\\x0c\\x36\\x05\\x2e\\x07\\xbf\\x87\\xf8\\x83\\xb8\\xd7\\x87\\x90\\xc7\\x19\\x13\\x12\\x30\\x64\\x6b\\x95\\x8b\\xb3\\x3f\\x83\\x83\\x37\\xfb\\x39\\x91\\xc2\\x38\\xa3\\x64\\x38\\x7b\\x61\\x84\\x2f\\xe7\\xf3\\x4a\\xc8\\x75\\x59\\x9c\\x03\\x19\\x1c\\xcc\\xe7\\xc3\\x48\\x61\\x9c\\x9b\\xb1\\xff\\x5c\\x2b\\xc4\\x21\\xa4\\x88\\x53\\x8c\\x70\\xde\\x89\\x25\\x0b\\xe2\\xac\\x95\\xe1\\x1c\\xcc\\xc4\\x55\\x3e\\x1c\\x88\\x54\\x0d\\xc8\\xc3\\x41\\x71\\x45\\x1f\\x5e\\xc7\\x41\\x38\\x57\\x91\\xf9\\x51\\x16\\xf9\\xd1\\x05\\x69\\xb5\\x9a\\xa2\\x32\\x7a\\x88\\xf6\\xee\\x32\\x1e\\x3e\\xc7\\x27\\x16\\x61\\x1f\\xb2\\x20\\x6d\\x30\\x50\\x54\\xfe\\x7e\\x7f\\x9b\\x80\\xf3\\xeb\\x2c\\xff\\x26\\xe2\\x68\\xb5\\xb9\\x38\\xdb\\x11\\x1f\\xec\\xab\\x44\\x3e\\x7c\\x0e\\x25\\xfa\\x44\\xbb\\x34\\xae\\x2c\\x5f\\xc5\\xfc\\x8c\\xe5\\xbc\\x41\\x88\\x75\\xbf\\x14\\x74\\xa6\\x0e\\xed\\xc8\\x75\\x71\\xb7\\x3e\\xaf\\xa6\\x2a\\x87\\xef\\x05\\xbd\\x02\\x3c\\x4c\\xcb\\xc1\\x6d\\x8d\\x97\\x83\\xdf\\x83\\xe1\\xb1\\x7c\\x07\\x20\\xf9\\xce\\x18\\x20\\x60\\xe4\\x7c\\x6b\\x90\\xe3\\xec\\xcf\\xe0\\x0c\\x44\\x38\\x2b\\x06\\x5f\\x1e\\x67\\x2f\\xf8\\x21\\x8b\\xcf\\xbe\\x01\\xd5\\x97\\xc5\\x39\\x90\\xc1\\xc1\\x7c\\x5e\\x1a\\x7c\\x11\\x1c\\xac\\x2f\\x1b\\x04\\x1d\\xfb\\x32\\x2b\\xff\\x3a\\x3e\\x74\\xc2\\x65\\x71\\x0e\\x66\\x70\\x1a\\x30\\xce\\x88\\x49\\x79\\x38\\x28\\xd6\\xbd\\x09\\xad\\x3f\\x35\\x93\\x78\\x91\\xc8\\xf2\\x8a\\xa0\\x86\\x00\\x44\\x34\\x1a\\x0a\\xc9\\x6b\\x07\\xdb\\xf3\\xe0\\x25\\xcf\\x08\\x12\\x05\\xe0\\x51\\x0c\\x1a\\xe4\\xe1\\xc9\\xf6\\xac\\xbd\\x3d\\x89\\x75\\xe5\\xfd\\xb4\\x88\\x91\\xad\\x93\\xd9\\x38\\xa2\\x1e\\x37\\x5e\\x14\\x07\\xe5\\x6c\\x87\\x79\\x1c\\xf0\\x27\\xb9\\x8f\\xe4\\x19\\x11\\xa5\\xa5\\x32\\x0c\\x21\\x5f\\xcb\\x86\\x3f\\x20\\xc2\\x37\\x16\\x82\\xdf\\x02\\xe1\\x0f\\x22\\x9d\\x87\\xf0\\x5f\\xf2\\x7b\\xfa\\xcf\\xfc\\x98\\xaa\\xd1\\x98\\x38\\x90\\x1e\\x30\\x20\\x77\\x4c\\xf9\\x38\\x07\\x05\\x9c\\x84\\x80\\x33\\x78\\x70\\x2e\\x0e\\x5f\\x8f\\x52\\x0a\\x75\\x22\\x85\\xf2\\xd8\\x74\\xfe\\xcb\\x06\\xae\\xf4\\x1f\\x4c\\xc7\\xaa\\x0a\\xd6\\xd6\\x44\\x78\\x25\\xd5\\x04\\xa6\\x12\\x99\\xef\\xef\\xf3\\xcb\\x2b\\x73\\xe0\\xf9\\xda\\x81\\x52\\xaa\\x1d\\x1c\\x8b\\x13\\x52\\x25\\xa3\\xbc\\xac\\x42\\x23\\xaf\\xfb\\x66\\xc3\\x22\\xda\\x8d\\x44\\x06\\xfa\\x4c\\x69\\x2c\\xb7\\x8e\\x81\\x73\\x47\\xa5\\x94\\x6b\\x1d\\x23\\xb6\\x89\\x75\\x77\\x08\\x3f\\xcc\\x1f\\x2a\\x98\\x9f\\x4a\\xf0\\x90\\x7e\\x8f\\x0c\\xfe\\x27\\x5f\\x30\\x07\\x1e\\xc6\\xad\\xe0\\x05\\x0c\\xbf\\x94\\xa7\\xdf\\xbf\\x40\\x80\\x47\\x19\\xc0\\x04\\xbd\\x89\\x51\\xe7\\xc2\\x93\\x0b\\x25\\x78\\x05\\xd5\\x54\\x9e\\x81\\x7e\\x57\\x67\\x64\\x72\\xbe\\xb1\\xc0\\x78\\x42\\x29\\xc5\\x13\\xc7\\x88\\x87\\x04\\x39\\xa2\\x58\\x6a\\x90\\x37\\x50\\x30\\x36\\x92\\xe0\\xe1\\xd8\\xd7\\xc9\\xe0\\xff\\xab\\xd8\\x9f\\x03\\xcf\\xef\\x67\\x4a\\xc9\\xff\\x1f\\x23\\x6e\\x12\\xc6\\x8e\\xf6\\xd8\\x80\\xcb\\x53\\x70\\xcf\\x94\\xe0\\x33\\xeb\\x8a\\xe1\\x9f\\x72\\xba\\x6d\\x85\\xfc\\x9f\\x52\\xb2\\xfd\\x63\\x60\\x94\\x00\\x8f\\xfc\\x2b\\x55\\x9d\\x28\\xe8\\x2f\\x25\\x78\\xaa\\x89\\x94\\xc3\\xbf\\x12\\xaf\\xcd\\x81\\x1f\\x09\\xd7\\x4a\\xaa\\x93\\x9a\\xa2\\x7c\\x8d\\x18\\xea\\xcf\\x3d\\xe3\\x89\\xc2\\x95\\xe2\\x02\\x38\\xb8\\x4e\\x2c\\xc3\\xc9\\xab\\x16\\x17\\xc0\\xd9\\x23\\xe3\\x73\\x89\\x8a\\x71\\xc1\\x31\\xee\\x97\\xe1\\x5e\\xb4\\x72\\x5c\\x00\\x0f\\xd7\\x8d\\xe5\\x78\\x85\\xaa\\xc7\\x05\\xf0\\x0e\\xe4\\xe2\\x15\\xaa\\x20\\x8b\\x78\\x62\\x2d\\x18\\xe2\\xed\\xcb\\x1d\\x67\\xa1\\x2a\\x72\\x01\\xbc\\x83\\xb9\\x78\\x85\\x2a\\xc9\\x52\\x7f\\x17\\xa1\\x36\\x6c\\x8a\\xa0\\x3a\\x32\\xd4\\x90\\x7b\\x80\\x82\\xb8\\x44\\x3d\\x39\\x07\\xa7\\xb7\\x00\\x4e\\x5e\\x5d\\x99\\x9b\\x26\\xaf\\xdf\\x42\\xac\\x3d\\x58\\x17\\xef\\x81\\x61\\xea\\x65\\x6b\\xbf\\x79\\xb8\\xfb\\x65\\xb8\\x97\\xa8\\x33\\xe7\\xe1\\xed\\xfd\\x3f\\xf0\\x3c\\xf0\\xbf\\xe2\\xb9\\x1d\\xe1\\x65\\x6a\\xc8\\x10\\x6f\\x5f\\x0e\\xcf\\x4b\\xd4\\x9f\\xf3\\x70\\x0f\\xe6\\xe0\\x5e\\xbc\\x0e\\xad\\x95\\xd7\\xe6\\x90\\x0d\\xa2\\x5a\\x16\\xc2\\xed\\x8f\\xc8\\xfc\\x66\\x7e\\xdd\\x30\\x17\\xaf\\x37\\x0f\\xaf\\x70\\xfd\\x30\\x17\\x0f\\xd7\\x0f\\x25\\xbc\\x4b\\xd7\\x11\\x73\\x71\\xf7\\xe7\\xe3\\x5e\\xb4\\x9e\\xa8\\x95\\xd7\\x06\\x91\\x3d\\xa2\\xda\\x60\\x01\\xbe\\x85\\xea\\x8a\\xb9\\xb8\\x07\\xf2\\x71\\x2f\\x5a\\x5f\\xd4\\xca\\x6b\\x85\\xc8\\x2e\\xb3\\xe4\\x74\\xe9\\x3a\\x63\\x2e\\xee\\xc1\\x3c\\xdc\\x4b\\xd4\\x1b\\xa1\\x4e\\xc8\\xea\\x87\\x68\\x65\\x51\\x4c\\x85\\xed\\xed\\x9f\\x97\\xaa\\x3b\\xe6\\xe1\\xf5\\xe6\\xe2\\x15\\xae\\x3f\\x72\\xd3\\xe4\\x35\\x3e\\x64\\xa7\\xdf\\x61\\x2c\\x6a\\x3d\\x71\\xd9\\x3a\\x64\\x1e\\xee\\xfe\\x1c\\xdc\\x4b\\xd4\\x23\\xf3\\x70\\xf7\\x16\\xe4\\x5b\\xb0\\x2e\\x99\\x87\\x7b\\xa0\\x20\\xdf\\x82\\xf5\\x49\\x84\\x9b\\xa9\\x35\\x22\\x7b\\xcd\\xc1\\xbd\\x44\\x9d\\x32\\x0f\\xf7\\xe0\\x45\\x70\\xf3\\xeb\\x95\\xc3\\xb8\\x69\\x99\\xb8\\x1f\\xdb\\xeb\\x97\\xbc\\x4e\\xa0\\xac\\xfc\\x52\\xb9\\x4f\\x0e\\x1e\\xce\\x7d\\xb2\\xf0\\x2e\\x92\\x03\\xe5\\xe0\\xed\\xc9\\xc2\\xbb\\x4c\\x2e\\x94\\x83\\xbb\\x3f\\x1f\\xf7\\xe2\\x39\\x51\\x0e\\x2e\\xce\\x89\\x0a\\xf0\\x2d\\x98\\x1b\\xe5\\xe0\\x1e\\xc8\\xc7\\xbd\\x78\\x8e\\x84\\x70\\xc5\\x7c\\x07\\xdb\\xeb\\x97\\xb9\\xb8\\x17\\xcf\\x95\\x72\\x70\\x0f\\xe6\\xe3\\x5e\\x3c\\x67\\x82\\x76\\x27\\xcb\\x81\\x20\\xf6\\x3d\\xa4\\xf2\\x7f\\x93\\x3b\\xe5\\xe1\\x49\\xf6\\x8a\\xf0\\x2f\\x9e\\x43\\x41\\x1d\\x94\\xe5\\x43\\x32\\x7b\\xdd\\x4d\\x5c\\x36\\x97\\xca\\xc3\\xdd\\x9f\\x83\\x7b\\x89\\x9c\\x8a\\x9b\\x26\\xcf\\x91\\x64\\xf6\\x9a\\x20\\x2e\\x99\\x5b\\xe5\\xe1\\x1d\\xc8\\xc5\\x2b\\x9c\\x63\\x41\\x3c\\x59\\xbe\\x84\\xec\\xf4\\xe7\\x0c\\xde\\x65\\x72\\xad\\x3c\\xdc\\x83\\x39\\xb8\\x97\\xc9\\xb9\\xd0\\x79\\x6b\\x3e\\x87\\x22\\x1f\\x20\\x3e\\x12\\x62\\x79\\xb4\\xcd\\x14\\x57\\xd6\\x15\\xca\\xb9\\xd0\\x5d\\x73\\x01\\x7e\\x27\\x21\\xdc\\xcd\\xc3\\x07\\xca\\x82\\xb1\\xdc\\x9c\\x8b\\x8f\\x13\\x85\\x1c\\x0d\\x8e\\x0c\\xe6\\x74\\x42\\xd4\\x76\\x91\\xcc\\x4e\\xc4\\x41\\x67\\xb3\\x84\\x3c\\x10\\x41\\xe3\\x13\\x9c\\xc5\\xe9\\x3a\\x11\\x32\\x9f\\x76\\x94\\xcf\\x13\\x72\\xe2\\xf2\\xac\\x2c\\x50\\x1a\\xff\\xab\\xd2\\xf8\\x1f\\x91\\xc6\\x5f\\x0b\\xa1\\xa3\\xb5\\x83\\x0b\\x8d\\x5f\\x84\\xc7\\x3d\\x27\\xfe\\x91\\xc5\\x23\\x0f\\x4b\\x3c\\x8f\\x20\\x9e\\x77\\x37\\x2b\\xf9\\xf3\\xee\\x68\\xbe\\x06\\x7c\\xbf\\x65\\x4c\\xda\\xec\\x94\\xdf\\x6f\\x11\\xe0\\xf7\\x48\\xf7\\x61\\x76\\x82\\xc3\\x60\\x02\\x82\\x37\\x62\\x78\\x5f\\xda\\x68\\x2e\\x00\\xaf\\x14\\xe1\\x61\\x2e\\x38\\x16\\xef\\x78\\xa4\\x89\\x20\\x8f\\x70\\x8f\\xa7\\x2d\\x16\\x69\\xc7\\x23\\xf2\\xe1\\x61\\x2e\\x78\\x54\\x82\\xee\\x37\\xa6\\xcd\\x66\\xd9\\xfe\\x98\\xdb\\x0f\\x51\\x88\\x7a\\xb5\\x2f\\x92\\x0e\\xa7\\x45\\x18\\x04\\xfc\\x05\\x40\\x17\\x3d\\x9a\\x9c\\xc3\\xf4\\x12\\x1a\\xc2\\x97\\xd2\\xab\\xd4\\x6a\\x82\\x21\\xb4\\x3a\\x35\\x83\\x92\\xd8\\x96\\xa2\\xde\\x84\\xfc\\x21\\x07\\xa5\\x01\\x28\\x43\\xcd\\x20\\x19\\x4a\\x92\\x73\\xdc\\xfa\\x9a\\xc4\\xb5\\x03\\x12\\x4c\\x67\\x84\\xe9\\xdd\\x3e\\x7c\\xe3\\xc0\\xe6\\x45\\x1e\\xd4\\x2f\\x09\\x10\\x7f\\xe6\\xa6\\x81\\x63\\xfd\\x5b\\xf0\\xfb\\x16\\x7a\\x03\\x41\\x68\\x34\\xb4\\xc9\\x4c\\x2a\\x7b\\x0c\\x66\\xc2\\xf4\\x79\\x51\\x6f\\x93\\x9c\\x60\\xd6\\x53\\x86\\x09\\x25\\x58\\x56\\x62\\x0c\\xb8\\xaa\\xa2\\xf5\\x8d\\x6a\\xc7\\x0d\\x2c\\xf7\\x6d\\xb1\\x62\\x85\\x76\\x60\\x22\\x50\\x79\\xf5\\x52\\x38\\xce\\xe9\\xf4\\x38\\xb2\\x9b\\x79\\x9d\\x50\\xa3\\x1e\\xaa\\x4a\\x95\\x8a\\xd0\\x68\\x55\\x74\\xce\\x28\\xd1\\x18\\x15\\xe2\\x10\\xbb\\x1d\\xde\\xd9\\xd7\\x0e\\x18\\xc0\\x74\\x06\\x99\\xd7\\xaf\\xbb\\xeb\\xaa\\xe6\\xe5\\x9e\\xe7\\xd1\\xf8\\xda\\xe8\\x17\\xa8\\x49\\xcc\\xab\\x84\\x83\\xf0\\xa6\\x74\\x6a\\xa7\\xcd\\xe6\\xb2\\x32\\xba\\x1e\\xb3\\x5a\\xea\\xa2\\xc9\\x37\\x9c\\x45\\x6d\\xab\\xab\\x48\\xd4\\xc2\\x3e\\x84\\x5a\\xf7\\x7a\\x49\\x38\\xd4\\x84\\x81\\x24\\x27\\x97\\x8f\\x1b\\x99\\xf2\\x25\\x87\\xda\\x66\\x96\\xf5\\x74\\x54\\x8c\\x1f\\xd1\\xec\\x5d\\x18\\x99\\x15\\x1c\\x3a\\x93\\x7e\\x21\\x5c\\x19\\x6e\\x6e\\xba\\x6d\\x33\\xfc\\x63\\xed\\x92\\x45\\xe8\\x5e\\x36\\x45\\xec\\xa5\\xdf\\xa0\\x66\\x2a\\x8e\\xc1\\x9f\\x94\\x84\\x97\\x68\\x4c\\x15\\x99\\x15\\x34\\xed\\x83\\xf1\\x01\\xe9\\xf1\\xf8\\x5d\\x7a\\xb7\\xad\\xc7\\x44\\xa8\\x80\\x0a\\x30\\x04\\x4d\\xc4\\x13\\x9f\\xd5\\x7e\\xde\\x55\\x5b\\xf4\\x5e\\x6d\\x53\\xd6\\xa3\\x87\\x68\\x52\\x42\\x4b\\xd8\\x42\\x23\\x02\\xa4\\x07\\xb5\\x9e\\xfd\\xba\\xe4\\xf1\\x12\\x10\\x8b\\x8c\\x68\\x19\\xe0\\x49\\x0c\\xb4\\x4c\\x8e\\xae\\x1e\\x57\\x3a\\xa2\\xa5\\xc9\\x3d\\xb3\\x64\\x72\\x74\\x25\\xfd\\xe6\\x91\\x23\\x00\\xfe\\xa3\\x09\\x96\\x06\\x1b\\xeb\\xb6\\xae\\x84\\x7f\\x2c\\xbb\\x61\\x45\\x26\\xbe\\x55\\x4a\\xf1\\x1e\\xae\\x75\\xe4\\xc5\\xe2\\xf9\\x35\\x0f\\x2d\\xff\\x5e\\xba\\x80\\x27\\xc0\\xe7\\xd3\\xe3\\x6b\\x21\\x79\\xf4\\xf2\\x6b\\x22\\xa8\\x86\\x52\\x87\\x6d\\x73\\x31\\x6f\\xcb\\x80\\x14\\xe0\\xa3\\x10\\xfe\\xfe\\x68\\x6d\\x01\\xfe\\x12\\x3c\\xbe\\x33\\x4e\\xe6\\xf0\\x29\\x8c\\x97\\x26\\x08\\xc5\\xbd\\x0a\\x25\\x3a\\xdf\\x20\\xd4\\xa2\\x45\\x8b\\x03\\x46\\x14\\x63\\xda\\xd2\\x26\\x93\\xfc\\x9b\\xde\\x93\\x39\\xf0\\xa2\\xc5\\xf1\\xd0\\x9b\\xd2\\x46\\xa3\\x04\\x2d\\xd1\\xff\\x11\\xc3\\xc7\\x0a\\xd2\\x2f\\x82\\xf4\\xe5\\x31\\xec\\x93\\x39\\xf0\\xd9\\xf4\\x37\\x42\\xfa\\x59\\xf6\\x8f\\xfb\\x02\\xca\\xfa\\xb6\\x41\\x9b\\x46\\xbd\\x9c\\xf0\\xd9\\xd4\\x45\\x69\\xbb\\xd8\\x71\\x8c\\x24\\xb6\\x40\\x9b\\xfe\\x04\\xda\\x34\\x43\\x98\\x88\\x44\\xca\\xac\\x55\\x18\\xa1\\xe3\\x61\\x18\\x8b\\x91\\x34\\x92\\x5a\\x86\\x51\\xa0\\xcc\\xcc\\xe9\\x69\\x55\\x68\\x89\\x78\\x6f\\xac\\x36\\x6e\\x46\\x8f\\x73\\x49\\x5d\\xd0\\xb1\\x15\\x85\\xa8\\x64\\x22\\x20\\xb3\\xf7\\x4f\\xa8\\x55\\xdb\\xa8\\xaf\\xb9\\x0f\\x1d\\x96\\xc6\\xe4\\xe6\\xa6\\x94\\x6a\\x5a\\x84\\x7e\\x4e\\x07\\xbc\\x86\\x55\\xdd\\xd7\\x35\\x0e\\x9a\\x51\\x8e\\xda\\x18\\xf2\\x7c\\x29\\xb7\\xc0\\x37\\x99\\xb2\\x1a\\x10\\x63\\xda\\x0c\\x8d\\xd7\\x62\\xa4\\x8c\\x94\\x16\\x80\\x4b\\x71\\x6e\\x12\\x1e\\x8a\\x4b\\x28\\xa9\\x50\\x92\\x92\\xf1\\xae\\xff\\x9a\\xfa\\x71\\x15\\xe5\\xc9\\xb0\\x66\\x7a\\x0d\\xdc\\x57\\x3a\\xe0\\x97\\x31\\x27\\x89\\xed\\xf4\\x0c\\x6a\\xbb\\xe2\\x6b\\xd4\\x03\\x9d\\x18\\x93\\x8a\\x59\\x55\\x04\\xe5\\x0b\\xf9\\x4a\\xdc\\x46\\x8d\\xd7\\x3b\\xd7\\xbe\\xc2\\xde\\x63\\xff\\xde\\x4e\\x13\\x76\\x60\\xd7\\xf4\\x58\\x2c\\x1a\\x8d\\x52\\x69\\x52\\xfb\\xd5\\xd5\\x6a\\x4a\\x0d\\x4d\\xaf\\x77\\x65\\x53\\xbc\\x36\\x9e\\x88\\x17\\x99\\xde\\xeb\\x5a\\x89\\x47\\x25\\x3c\\xba\\x22\\x3a\\xbd\\x06\\x38\\x8e\\x70\\xae\\xf5\\x35\\x60\\x87\\x30\\xcc\\x61\\xae\\x2b\\xbf\\xb6\\xdb\\xd8\\x19\\x04\\xfa\\xf2\\x09\\xa3\\x86\\xfa\\x92\\x29\\xdb\\xcc\\xe8\\xc6\\xe9\\x15\\x6d\\xad\\x43\\xbc\\x0d\\x83\\xac\\xb3\\x7c\\xa9\\x19\\xd0\\x01\\x4d\\x59\\x5a\\x73\\xe5\\xe4\\xe7\\x2b\\x8a\\x4b\\x8a\\xeb\\x9a\\x6e\\x5a\\xeb\\x0b\\xfb\\xea\\x1b\\xbb\\xe7\\x26\\xe1\\x9a\\xc2\\x9d\\x9d\\xec\\xc5\\xfb\\x36\\xae\\xef\\x91\\x0f\\xbc\\xc0\\x6b\\xb0\\x0e\\x7d\\xb5\\x32\\xda\\xf3\\xbe\\xf1\\xdf\\x8b\\xf7\\x6c\\x1e\\x76\\xe7\\xdb\\x3c\\xac\\x1e\\xc2\\xde\\xa8\\x37\\xe6\\xc1\\x3e\\xaa\\xd4\\xf3\\xb0\\xa8\\x17\\xde\\x5b\\xbc\\x3e\\x5e\\x07\\xf7\\x81\\x64\\x2a\\x4c\\x55\\x3b\\x96\\x3b\\x48\\x9f\\x23\\xee\\x20\\x0f\\x38\\x3e\\x70\\x90\\x8f\\x3a\\x80\\xd1\\x01\\x1c\\x24\\xba\\xc9\\x4c\\xc1\\xb0\\xc6\\x64\\x54\\xf1\\xdf\\xcf\\x71\\xc8\\x88\\x7b\\x79\\x48\\xbd\\x83\\xc8\\xc3\\x72\\xba\\xc7\\x70\\xe5\\x8d\\x58\\xfb\\x7f\\xa3\\x8b\\xee\\x56\\x93\\x7f\\xc3\\x36\\xcd\\xcf\\xed\\x91\\xd7\\xf8\\xb9\\xd9\\xe0\\xdc\\xb6\\xd8\\x7c\\x79\\x73\\xeb\\x57\\x1c\\x93\\xbe\\xfd\\xdf\\xf7\\x98\\xd8\\xe5\\xa1\\x20\\x17\\x8c\\x83\\x7a\\x0a\\x8e\\xc7\\x7b\\x39\\xb6\\x34\\x35\\x5d\\xcb\\xd3\\xa7\\x99\\x08\\x78\\x5b\\x69\\xc8\\xdc\\xac\\xe1\\x61\\xc9\\x7f\\xe3\\x9e\\x3d\\x15\\x42\\x6c\\x54\\x29\\xf4\\xb1\\x64\\x20\\xf4\\x1e\\xa9\\x7f\\x9c\\xcc\\xaf\\x50\\x13\\xb0\\x1d\\x57\\xe4\\xda\\xbd\\x12\\x59\\xb2\\x2a\\xad\\x52\\xe5\\xf8\\x95\\x2c\\x78\\xc9\\xee\\x31\\xf4\\xfc\\xb4\\x52\\x29\\xf3\\x2b\\x50\\xb7\\x9f\\x93\\xec\\xd9\\x0c\\xed\\xd9\\xa2\\x55\\xa8\\x0d\\x06\\x05\\x45\\x31\\x16\\xc6\\xaa\\x22\\x55\\x64\\x96\\x41\\xbf\\x1f\\xab\\x15\\x8d\\x2a\\xf3\\x84\\x99\\x60\\xcf\\x21\\xa5\\xcd\\x11\\x42\\xef\\x2d\\x64\\x0c\\x3a\\x32\\x8d\\x6a\\xdc\\x1c\\x56\\xf8\\x78\\x73\\x7e\\xc3\\x37\\x70\\xe1\\x90\\x09\\xc5\\x2d\\xff\\x41\\x88\\x7c\\x05\\x7b\\x36\\x13\\x35\\x29\\xb3\\x5a\\x65\\xa0\\x15\\x06\\xca\\x02\\x80\\x95\\x52\\x51\\x2a\\x60\\x16\\xd8\\x9a\\x79\\x6b\\xce\\x62\\x2b\\xb3\\x64\\x19\\x57\\xc1\\x94\\x45\\xa6\\xa2\\x21\\x67\\xd8\\x66\\xec\\x58\\x87\\x6f\\x5c\\xc7\\x15\\x04\\xa5\\xb6\\xab\\x09\\x2a\\x18\\x09\\x46\\x2d\\x5e\\x7d\\x30\\x38\\xd7\\xb5\\xc2\\xd5\\xe3\\xfa\\xde\\x45\\x13\\x2e\\xe0\\xd2\\xf7\\xb0\\xac\\x5e\\x4f\\xc2\\x08\\xc8\\x4f\\x54\\xe3\\x6d\\xf6\\xe2\\xb6\\x2c\\x89\\x02\\xf5\\x3c\\x0f\\xe1\\x90\\xe3\\x62\\x26\\x1d\\xec\\x24\\x55\\xc1\\x6b\\xbd\\x7a\\xc7\\xa5\\x4c\\xfa\\x79\\x9f\\x6d\\x4c\\xf3\\xe0\\x21\\xf5\\x83\\xaf\\xcb\\xb5\\xea\\x4c\\xed\\x1b\\xdb\\xf5\\x5a\\x21\\x1e\\xff\\x8e\\xc8\\x9c\\xdf\\xde\\xe8\\x0e\\x16\\xaa\\x95\\x63\\xdb\\x5e\\x2b\\xe8\\x9c\\x70\\x8f\\x1d\\xb8\\x20\\xfc\\x15\\xae\\xdc\\x5a\\x39\\x86\\xc7\\x76\\xb8\\x16\\xf7\\x5e\\x5e\\x82\\xfa\\x30\\xe2\\x9a\\xfc\\x6d\\xa2\\x25\\x86\\x96\\x87\\x48\\x5f\\x28\\x1e\\x22\\x0f\\x84\\x3e\\x08\\x91\\x8f\\x86\\x80\\x31\\x04\\x42\\x24\\x6a\\x5c\\x82\\x6c\\xc4\\x23\\x50\\xcc\\xb6\\xc4\\x8b\\xd0\\xfe\\x83\\x50\\xbf\\xdf\\xf5\\x7f\\xa5\\xdd\\xff\\x3e\\xdc\\xbb\\x3b\\x70\\xae\\x7c\\x4d\\xf6\\x79\\x41\\x7c\\x7e\\xe3\\x54\\x89\\xcf\\x90\\xdd\\x1b\\x2c\\x17\\x3e\\x73\\xde\\x03\\xd5\\xa2\\x5e\\x2d\\xcd\\x81\\x17\\xe4\\xf8\\xaa\\x24\\xc7\\x47\\xd0\\xd8\\xa5\\x73\\xe3\\x6d\\xfe\\x58\\xc1\\x6f\\x14\\xc7\\xa4\\x6f\\x1a\\xf7\\x11\\xe8\\x8c\\x2f\\xef\\x4d\\x0a\\xce\\x46\\xc0\\xfb\\x1d\\x3e\\xcf\\x7f\\x5a\\x3a\\x6f\\x4f\\x83\\xff\\x10\\xf8\\xa0\\x03\\xfd\\x56\\x9d\\x35\\xfb\\x3c\\xbb\\x00\\xbf\\x4f\\x3a\\xff\\xbe\\x13\\xf4\\x0a\\x3e\\x45\\x03\\xe1\\xa3\\x1a\\x5d\\x0e\\xfc\\x9d\\xe8\\xbb\\x39\\xf6\\x11\\x83\\x24\\x9f\\x12\\xe5\\x7d\\x8a\\x8e\\xaf\\xa3\\xe9\\xf5\\xf2\\xef\\xe6\\x4b\\x08\\x42\\xd9\\x2d\\xc0\\xdf\\xc9\\xfb\\x94\\x2d\\x19\\x68\\x74\\x0a\\x55\\x82\\x96\\xbe\\x81\\x9a\\x71\\x2d\\x2a\\x91\\x73\\xbe\\x89\\xf4\\xa1\\x7c\\x62\\x7a\\xda\\x6a\\x95\\xce\\x87\\x40\\xd3\\x9a\\x42\\x7f\\x48\\x4d\\x64\\xfe\\x04\\x7f\\x42\\xef\\x18\\x94\\xa7\\xac\\x7a\\xad\\x56\\xc9\\x50\\x06\\x40\\x51\\x46\\x68\\x81\\xea\\x1e\\x0d\\x81\\x1a\\xfd\\x27\\xd0\\x8b\\x06\\xb2\\x27\\x25\\x50\\xcf\\xff\\x64\\x82\\xc1\\x0e\\x08\\x7a\\x83\\x04\\x15\\x7b\\xbe\\xe4\\x79\\xee\\x07\\x72\\xcd\\x6d\\xe4\\xa1\\xf3\\xf0\\x47\\xfa\\xc3\\x97\\x9f\\xd7\\x03\\xa5\\x8e\\xfb\\x2b\\x6a\\x39\\x52\\x80\\x8f\\x45\\xcf\\xa8\\xb4\\x5a\\xcc\\x06\\xce\\x80\\xee\\xd1\\x22\\x23\\x7f\\xf3\\x4d\\x19\\x9b\\x26\\x18\\x3b\\xd4\\xf2\\x7c\\xc2\\xd8\\xe5\\x28\\x25\\x3e\\x4f\\x1c\\x22\\xff\\xbe\\x86\\x6c\\xe6\\xf9\\x74\\xea\\xb8\\x7f\\xe9\\xf5\\x2f\\xc3\\x70\\x64\\x31\\xfd\\x3a\\x39\\x4e\\xa1\\x84\\x7e\\xcd\\xfa\\x22\\x0d\\x53\\x06\\xe1\\x89\\x07\\x9c\\x45\\xa0\\x07\\x59\\xd0\\xfb\\x0e\\xe0\\xe7\\xbb\\x94\\x1f\\xe8\\x95\\xf4\\xeb\\xc0\\x1f\\xe6\\xfe\\x10\\x90\\xd5\\x79\\x94\\x52\\xbd\\xe5\\x18\\x58\\x24\\xc4\\x61\\x3b\\x2e\\xfd\\x9d\\x0a\\xe1\\xd1\\x13\\x05\\x3c\\x01\\x3e\\x9f\\x1e\\xd5\\x44\\x4e\\x2c\\x40\\x2f\\xff\\x3b\\x16\\xfe\\xee\\x85\\x75\\x7c\\x83\\x10\\x2f\\x0b\\x7d\\x93\\x41\\x12\\xf5\\xc9\\x49\\x0e\\x2d\\xc4\\x5f\\x84\\xc7\\xf1\\xf2\\x17\\x39\\x7c\\x0a\\xe3\\xa5\\xfb\\xcf\\x2a\\x4b\\xb0\\x4e\\xd5\\x02\\x79\\x86\\x8a\\xbe\\x9d\\x40\\x25\\x21\\xfc\\xfe\\x8c\\x86\\x20\\xf8\\xd1\\xe8\\xbc\\x11\\x84\\x17\\xce\\x1b\\x51\\x4d\\xfd\\x73\\x65\\x1a\\xb5\\x29\\x2d\\x3b\\x71\\x84\\xe1\\xdf\\x82\\x3a\\xcb\\x20\\xfa\\xd4\\x4c\\xd4\\x19\\x1d\\xd3\\xef\\xe2\\x75\\xbc\\x9c\\xc0\\xf5\\x9c\\x58\\x4c\\xaa\\x22\\x21\\xfa\\x50\\x67\\xeb\\x10\\x7d\\x6a\\xe6\\x7c\\x39\\x7d\\x1e\\x7a\\x44\\x3a\\xb7\\xe6\\xe4\\x83\\xf3\\xfe\\x10\\xdd\\x21\\xa3\\x66\\x0a\\xf3\\x1d\\x27\\xc6\\xcb\\x4f\\xa6\\x6b\\x62\\x1e\\xfe\\xc3\\x0f\\x00\\x9d\\xf4\\xb3\\xe4\\x97\\x30\\xb7\\x44\\xfa\\x40\\x28\\x28\\xa5\\xa8\\x0f\\x50\\xbd\\x90\\x3e\\xa0\\x77\\x39\\x18\\x08\\x94\\xfe\\x80\\xe1\\xfe\\x40\\x3f\\x6b\\x03\\x54\\xf1\\xcf\\x38\\x77\\x5e\\x0a\\xf7\\xe5\\x29\\x70\\x7f\\xd4\\x11\\x81\\x94\\x01\\xa6\\x76\\xa4\\x9a\\x50\\x1b\\xf4\\xca\\x1e\\x94\\xbd\\xb4\\xd4\\x16\\xf5\\x66\\x5e\\xac\\xc6\\x1b\\x8f\\x82\\xb5\\x09\\x1b\\x0f\\x39\\x25\\xd2\\x49\\x97\\x2f\\x0f\\x68\\xe1\\xee\\xfa\\xba\\xcd\\x39\\x72\\xe2\\xc8\\x49\\xd5\\xf5\\xa8\\x07\\x23\\xe8\\x3f\\xc9\\x9d\\x23\\xca\\x61\\x84\\x41\\x11\\xba\\x97\\x09\\x12\\xa0\\x86\\x4c\\xf1\\x96\\x9a\\x6a\\xab\\x39\\x64\\x2e\\x9f\\xc2\\x28\\xff\\xf5\\x8d\\xc2\\x89\\xe1\\xfc\\x10\\xee\\x4b\\xe6\\x26\\xc2\\x40\\x44\\x52\\x06\\x03\\x0c\\xeb\\x55\\x0c\\x49\\x51\\x6a\\x25\\xa5\\xa7\\x5e\\x46\\xf9\\x03\\xc4\\xe4\\xdf\\x95\\x12\\x77\\x3e\\x6b\\xc8\\xac\\x8c\\x26\\xa3\\x49\\x47\\xd2\\xa1\\x74\\x28\\xa3\\xe5\\x53\\x36\\x27\\x9f\\x7e\\x5a\\xf8\\x67\\x33\\x77\\x8e\\xe9\\xec\\x49\\x3e\\xf5\\x64\\xe3\\x33\\xcf\\x34\\x3e\\xf9\\x54\\xb2\\x07\\xd7\\x06\\xfa\\xff\\x9b\\x3b\\x07\\x0e\\x43\\x1e\\x1a\\xc2\\xf6\\x22\\x0d\\x83\\x12\\x0d\\xa5\\x38\\x82\\xe9\\xf6\\x0a\\xc9\\x76\\x34\\x19\\x82\\xe3\\x0a\\x44\\x93\\xe0\\xf0\\x17\\xc9\\x1b\\xff\\xd9\\x0e\\xc6\\xdc\\x98\\xa4\\x9f\\xfe\\x34\\xb9\\xf1\\xe7\\xab\\x98\\xaf\\x36\\x36\\x42\\x1a\\xdc\\x38\\x38\\xce\\x52\\x81\\x06\\xa9\\xd1\\x30\\x4a\\x0a\\xf0\\x34\\xde\\x6c\\x12\\x46\\x15\\x42\\x0f\\x45\\x38\\x94\\x81\\xd2\\xf6\\x7f\\xde\\x98\\xfc\\x02\\xd2\\x01\\x63\\xe0\\x70\\xee\\xd9\\x98\\xfc\\xf4\\xb3\\xc6\\x8d\\x78\\x0f\\xf8\\x3b\\x78\\x83\\xde\\x4c\\x8e\\xb3\\x28\\x94\\x9f\\xe3\\x71\\x09\\xff\\x0e\\x65\\x54\\x93\\x0a\\x92\\x30\\x7b\\x06\\xc4\\xcb\\x9d\\x46\\xe0\\x03\\x2d\\x60\\x22\\xa0\\xe3\\xf0\\x8f\\xe5\\xe0\\x00\\xf8\\x02\\x30\\x20\\x15\\x89\\xb5\\x02\\x22\\x1e\\xeb\\x5a\\x19\\x13\\x1e\\x24\\xa3\\x92\\x01\\xa5\\xbe\\x88\\x5e\\xe5\\x06\\x6f\\xdc\\x7c\\x33\\x4f\\x4b\\xa5\\xff\\x3f\\xd1\\x52\\x11\\xff\\xbf\\xd3\\x82\\xba\\x0b\\x43\\x7b\\xf2\\x00\\xf4\\xcf\\x0a\\x70\\x03\\x96\\xc1\\x5c\\x4e\\x47\\xfd\\xdc\\xdf\\x0e\\x6d\\x71\\x28\\xfc\\x77\\x85\\x59\\x81\\xfe\\x24\\x06\\xa6\\x62\\xc4\\x1c\\x48\\x95\\xfc\\x00\\xc0\\xdf\\x37\\x03\\x72\\x22\\x98\\x03\\x48\\xf8\\x33\\xb3\\x99\\x21\\x27\\x32\\x73\\x18\\xb2\\x85\\x01\\x3e\\x26\\xce\\x90\\x46\\x06\\x30\\x04\\xdf\\x1a\\x95\\xdf\\x90\\xf9\\xfa\\x0f\\xf1\\x36\\x75\\x04\\x7c\\xcb\\x6c\\x21\\xd4\\x40\\x79\\x98\\xd0\\x68\\xb5\\x47\\xfa\\x7b\\x52\\xc6\\xeb\\x7b\\x5a\\xbf\\xd6\\x82\\x37\\xb5\\x1f\\x6b\\xc9\\x43\\x5a\\x80\\xfe\\xee\\xc5\\xd5\\x6b\\x5b\\xe7\\xf1\\x3f\\xa6\\xac\\xcb\\x57\\xb5\\xda\\x61\\xe4\\xac\\x05\\x57\\x9d\\xd2\\xfe\\xa0\\x25\\x3f\\x12\\xfe\\xde\\xbc\\x70\\x71\\xeb\\xb5\\xda\\x9b\\xb4\\xe4\\x14\\xed\\x7c\\x2d\\x39\\x54\\xf8\\x5b\\x4f\\xd7\\x5c\\x48\\xec\\x27\\x2d\\x99\\xd6\\x22\\x82\\xd4\\x13\\x5a\\x70\\xa3\\x76\\x97\\x96\\x5c\\x05\\xf3\\x41\\x04\\x70\\x78\\xe2\\xe4\\x56\\xf8\\xe7\\xb1\\xc3\\x63\\x27\\xb4\\x62\\x04\\x76\\xe8\\x98\\xd6\\x3a\\xed\\x70\\x2d\\x49\\x68\\x4d\\x5a\\xbf\\x96\\x1a\\x4c\\xa6\\x30\\xa9\\x63\\x87\\x9b\\x06\\xf1\\x90\\xd5\\xf5\\xf8\\xcf\\x54\\x49\\xb0\\xb4\\x75\\x39\\xdc\\xd8\\xb5\\xd5\\xda\\x94\\x96\\x22\\xb4\\x77\\x6a\\x77\\x6b\\xbf\\xd4\\x7e\\xaf\\x85\\x4a\\xa6\\x56\\x3d\\x32\\x93\\x56\\x3f\\x3d\\x93\\xa6\\x88\\x96\\x58\\x0c\\xcc\\x99\\x0d\\x23\\x90\\x58\\x2c\\xb6\\x0a\\xfe\\xd0\\x05\\xff\\x9c\\xb3\\x12\\xfd\\x8a\\xad\\x5a\\xb5\\x0a\\xfe\\x1f\\xfd\\x15\\xfc\\x1f\\xfc\\x1d\\x17\\x7e\\xac\\x49\\x98\\x77\\x26\\x14\\xca\\x84\\xf2\\x6d\\x8f\\x65\\x58\\xe3\\xba\\x75\\xae\\xce\\x08\\x75\\xe4\\xee\\xb9\\x77\\x8f\\xd8\\xbe\\xf9\\x0d\\x2c\\xb3\\x63\\x50\\x66\\x5f\\x61\\x99\\xc5\\x0e\\xd3\\x5a\\x0d\\x1c\\x4b\\x2a\\x65\\x80\\x32\\x43\\xf3\\x3b\\xa5\\xa5\\x0a\\x88\\x6c\\x5c\\x46\\x64\\x5f\\x69\\xcf\\x4b\\xb2\\xd8\\xab\\x05\\x77\\x6a\\xc1\\x56\\x2d\\x40\\x12\\x5b\\xad\\xa5\\xa0\\xcc\\xea\\xb4\\x80\\xd4\\x5a\\xb4\\x41\\x2d\\x85\\x65\\x7b\\x52\\x0b\\x0e\\x69\\x5f\\xd7\\x92\\x8f\\x69\\xc1\\x2a\\xed\\x56\\xed\\xdd\\x5a\\x8a\\x27\\xa8\\x83\\x52\\xa3\\xb5\\x36\\x2d\\xf9\\x83\\xc0\\xc1\\x32\\x6c\\x6c\\x6b\\x89\\x76\\x0a\\x2f\\x35\\x72\\xf0\\x8d\\xbc\\xc8\\x52\\xf6\\xba\\x41\\xad\\x2b\\x78\\xfa\\x90\\x29\\x22\\x49\\xdd\\x29\\xfc\\x27\\x77\\x71\\xa0\\xb5\\x1a\\x8d\\xc9\\xa6\\x2d\\xd1\\x52\\x37\\x6a\\xf9\\xd1\\xd3\\x2b\\xd0\\x00\\x30\\xaa\\xce\\xd8\\x6a\\xd4\\xfa\\xb4\\x71\\x2d\\xa5\\xa6\\x18\\xfa\\x91\\x99\\x0c\\xf1\\xf4\\x4c\\x46\\x92\\x67\\x6c\\x0e\\x8a\\xea\\x62\\xa8\\xcf\\x6e\\x8c\\x17\\xe1\\x4a\\x41\\xac\\xab\\xc4\\x5f\\xa2\\x60\\x79\\xb9\\x02\\x9c\\x46\\xa3\\x97\\x66\\xc1\\xc0\\x0d\\x6b\\x8b\\xa6\\x47\\xde\\xf0\\x58\\x86\\x52\\x47\\x76\\x5c\\xff\\x9b\\xbb\\xe6\\xdc\\x8b\\xed\\xfa\\x67\\xee\\x02\\xf0\\x10\\xbf\\x81\\x3b\\xbf\\x33\\xa5\\x83\\x82\\x45\\x0c\\x69\\x06\\x2e\\x24\\xb4\\x94\\x18\\x72\\xa6\\xc8\\x5f\\x88\\x44\\xd6\\x88\\x34\\x86\\x70\\x17\\x10\\x8d\\xae\\xfb\\xf0\\xda\\xf4\\xc1\\xb5\\x39\\x0b\\xd7\\x46\\x47\\x38\\x52\\x6a\\x1d\\x0c\\x21\\x0c\\xa4\\x52\\x07\\x07\\xfd\\x5e\\x93\\x54\\xd8\\xcb\\x78\\xe2\\x86\\x24\\x38\\x1b\\x99\\xae\\xac\\xdd\\x10\\x50\\x95\\x30\\x5b\\x7e\\x13\\x0e\\xcf\\x9e\\xd5\\x36\\xcd\\x37\\xe2\\x28\\xdc\\xdb\\x76\\x51\\x47\\x28\\x80\\xd6\\x98\\xb0\\x12\\xf1\\x94\\x13\\x7a\\x54\\x13\\x43\\x68\\x58\\x9b\\x59\\x85\\x54\\xcb\\xaa\\x46\\xca\\x65\\x40\\xda\\x95\\x90\\x5e\\xec\\x47\\xde\\x1e\\x0a\\x06\\xed\\x18\\xa2\\x06\\x05\\xa4\\x9f\\xc0\\x97\\x70\\xa4\\x8d\\xeb\\xaf\\x73\\x4d\\x8f\\xf4\\x9d\\x97\\xeb\\x55\\xd7\\x7d\\xc3\\x6f\\xde\\xf8\\x46\\x46\\xbd\\x20\\xef\\x9b\\xa9\\x23\\xe4\\x4f\\x3c\\x6f\\xb0\\x20\\x65\\xef\\xa2\\xaf\\xa2\\xff\\x4a\\xf7\\xd1\\xf4\\x18\\x1a\\xe8\\x68\\xa0\\xa5\\x0c\\x34\\x6b\\x63\\x91\\xd2\\xcd\\xda\\xd8\\xd3\\x3a\\x9c\\x05\\x11\\xb6\\x81\\x25\\x69\\x16\\x9c\\x67\\xc1\\xc7\\xec\\x29\\x96\\x7c\\x9d\\x05\\xbb\\xd8\\xc7\\xd8\\x34\\x4b\\xdd\\xc4\\x82\\xf9\\xec\\x6a\\x96\\x1c\\xca\\xb6\\xb3\\x64\\x1d\\x82\\x04\\x36\\x16\\x90\\x2c\\xb8\\x12\\x01\\xfe\\xc0\\x52\\x2f\\xb2\\x6f\\xb1\\xe4\\x63\\x2c\\xb8\\x9b\\x05\\x2b\\xd8\\x1e\\x1e\\x70\\x1e\\x4b\\x41\\x50\\x16\\xe9\\x40\\x68\\xda\\x8c\\xd6\\xaf\\x58\\x90\\x66\\xdf\\x64\\x3f\\x66\\xa9\\x27\\x10\\x5d\\xb0\\x95\\x05\\x53\\x58\\x44\\x95\\x6a\\x60\\x47\\xb2\\x24\\x8b\\xb4\\xef\\x9a\\x51\\x63\\x5a\\xef\\x83\\xa4\\x4e\\xb2\\x5f\\xb3\\xf4\\x6a\\x16\\xcc\\x63\\x41\\x1d\\x3b\\x9c\\x9d\\xc2\\x52\\x0a\\xd6\\xce\\x46\\x58\\xaa\\xf1\\x13\\x16\\xbc\\x85\\x08\\x01\\xf4\\x17\\x0d\\x6c\\x07\\x7b\\x13\\x7b\\x1f\\xfb\\x04\\xab\\x1c\\x09\\x7f\\x44\\x3f\\xbc\\xc8\\xfe\\xc4\\x2a\\x6a\\x59\\x00\\xfc\\x2c\\x40\\xd3\\x23\\x77\\xc3\\x71\\xa6\\x58\\x34\\xa8\\x3b\\x59\\xda\\xc8\\x02\\x25\\x9c\\x36\\xd2\\x42\\x2d\\x81\\xd4\\xc2\\xc8\\xc8\\x45\\x8f\\xf4\\xb1\\x6b\\x0e\\x54\\xc7\\x39\\xbc\\xf6\\xcd\\xc6\\x7e\\x2e\\xb6\\x72\\xa5\\x64\\xe6\\x99\\xbf\\xed\\x12\\xda\\x43\\xaf\\x44\\x5a\\x89\\xd6\\xab\\xab\\x4b\\xae\\x9b\\x8c\\xf4\\x13\\x39\\x61\\x1d\\x5a\\xad\\xd7\\x3d\\x96\\x16\\x6e\\xc3\\x06\\xf4\\x23\\xaf\\xb0\\x70\\xb5\\xee\\xea\\xba\\x7b\\x34\\xfa\\x03\\xeb\\x2d\\xd9\\xff\\x12\\xf7\\x33\\x19\\x21\\xde\\xc0\\xeb\\xd5\\x93\\x3a\\x9b\\xb7\\x5e\\x34\\x6b\\x30\\xd8\\x7a\\x58\\x80\\x44\\xbb\\x8a\\xa5\\x4a\\x58\\x24\\x1b\\xca\\x8e\\x17\\x42\\x5c\\xb3\\x63\\x68\\x0d\\xf6\\xb2\\x87\\x58\\x0a\\x89\\xf6\\x46\\x96\\xaa\\x65\\xd1\\x5a\\x40\\x60\\x08\\x65\\x61\\xc9\\xac\\x05\\xdb\\xcb\\xaf\\xd6\\x9d\\x2c\\x25\\xac\\x97\\x8d\\x45\\x44\\xa1\\xb0\\xc1\\x4f\\x2c\\xc8\\x5d\\xb0\\x1e\\xb4\\x1e\\xab\\x58\\x72\\x0a\\x0b\\xf0\\x8a\\x05\\x05\\x09\\xff\\x80\\x96\\x04\\xad\\x18\\x75\\x33\\x0b\\xe0\\xa2\\xcd\\x65\\x81\\xc0\\x14\\xfd\\xe7\\x12\\xb8\\x68\\x27\\x58\\x70\\x2d\\x5e\\x1b\\x0a\\x6a\\x19\\x5a\\xc7\\x06\\xf4\\xdf\\x00\\x1a\\x08\\x29\\x2e\\xfe\\xb1\\x54\\x93\\x3f\\xdc\\x0a\\x69\\x02\\x82\\x35\\xb1\\xe4\\xf7\\x2c\\x40\\xac\\x4f\\xb1\\xd4\\x9d\\x70\\xe4\\x73\\xf1\\x02\\x52\\x3e\\x36\\xce\\x92\\x04\\x0b\\x54\\x94\\xb8\\x7a\\xc8\\xac\\x0d\\xa8\\xea\\x9d\\xb5\\x84\\x70\\x0d\\xe1\\xd2\\xcc\\xe1\\xbd\\x8a\\x6c\\xc5\\x56\\x66\\x7e\\xe5\\xae\\x25\\xfe\\x4b\\x5c\\x2b\\xbf\\xc4\\x52\\x82\\x4d\\xc2\\x52\\x9a\\x5b\\xb8\\xf5\\xe2\\x52\\x0e\\xf9\\xff\\x78\\x7b\\x0f\\xf8\\xa8\\xaa\\xb4\\x61\\xfc\\x3c\\xe7\\xb6\\xe9\\xbd\\x65\\x26\\x99\\x64\\x32\\xe9\\x15\\x32\\x49\\x86\\xc0\\x40\\x86\\x22\\x04\\x12\\x20\\x14\\x03\\x43\\x4b\\x28\\x4a\\xef\\x55\\x3a\\x02\\x0a\\x22\\x60\\xa4\\x0a\\x02\\x2e\\x56\\x40\\xc5\\x05\\x12\\x02\\x16\\x14\\x11\\x57\\x11\\x50\\x14\\x51\\x01\\x71\\x57\\x5d\\x75\\x75\\xc5\\x5d\\xcb\\x6a\\x92\\xb9\\xf9\\x9f\\x73\\xef\\x4c\\x32\\x41\\x7c\\xdf\\xef\\xfd\\x7d\\xef\\xff\\x9b\\xe4\\xf6\\x73\\x9e\\x73\\xce\\x73\\x9e\\x7a\\xaa\\xd8\\x48\\xeb\\x70\\xe4\\x96\\x7e\\x52\\x8d\\x6e\\x97\\x79\\xef\\x04\\xe1\\xbd\\x1b\\x92\\xfc\\x88\\x23\\x5a\\xdc\\x66\\xb4\\xd9\\xb4\\x2c\\x42\\x4a\\xa5\\xd6\\xa9\\x75\\xe9\\x31\\xb6\\x08\\x2b\\xe3\\xa8\\x38\\xa1\\x5b\\x54\\x45\\x3c\\x10\\xda\\x68\\x2a\\x1f\\xb7\\xc8\\x16\\x4f\\x3b\\x41\\x73\\x20\\x7d\\x38\\x5f\\xb0\\x24\\x59\\x99\\x02\\xbf\\x45\\xef\\x88\\xc8\\x49\\x4a\\xac\\xbe\\xbb\\x62\\x84\\xa7\\x5f\\x43\\xdb\\x9d\\xac\\x97\\x3f\\x6a\\x59\\xc0\\x0e\\x27\\xb6\\xa5\\x1a\\x75\\x0f\\x7a\\x01\\x2b\\x04\\x25\\x22\\x8e\\x0a\\x66\\x05\\x8d\\x4a\\xa5\\x25\\xca\\x8e\\xf0\\xc2\\x6b\\x21\\x95\\x92\\xe7\\x04\\xee\\xf4\\x48\\x81\\x64\\x3c\\xbf\\x94\\xa2\\xd1\\xe7\\x93\\xcf\\xed\\x1b\\x3d\\x18\\xaf\\x99\\xf3\\x73\\x66\\x1f\\x93\\x2a\\xe0\\x6b\\x3f\\xce\\x7d\\x53\\xdc\\x9d\\x04\\x23\\x72\\xaf\\xdc\\x05\\x13\\x93\\x98\\xaf\\x9b\\x36\\x11\\x6b\\xe8\\x89\\x04\\x58\\x24\\xae\\x4b\\x78\\x42\\x4a\\xbb\\x57\\xcb\\x5c\\x76\\x04\\x49\\xdb\\x8a\\x66\\x07\\xbb\\xf1\\x4a\\xb5\\x8e\\xd5\\x73\\x7a\\xa3\\x05\\x31\\xac\\x81\\x63\\x59\\x83\\xc6\\x00\\x26\\xd6\\x26\\x08\\x76\\x8b\\x46\\x6d\\x36\\x99\\x5f\\x0b\\x19\\x75\\x5a\\x93\\xc1\\x74\\x7a\\xa4\\x41\\xa9\\x40\\xc4\\xfa\\x78\\x2d\\x24\\xe5\\x14\\x9f\\x26\\x82\\x1b\\xb5\\xcb\\x95\\x23\\xff\\x0f\\xf2\\x48\\xf7\\xe7\\x8d\\x34\\xb8\\x46\\x33\\x9a\\xaa\\x06\\x72\\x8a\\xe4\\x1c\\xf7\\x11\\xb7\\x24\\xc1\\xb8\\x92\\xc3\\x21\\x98\\x99\\x24\\x3e\\x3a\\x22\\x15\\xa6\\x27\\x89\\x7b\\x3b\\x1f\\x1e\\x21\\xd6\\x26\\xc1\\x84\\x10\\xf3\\x75\\x6b\\x01\\x5c\\x62\\xbd\\x78\\x82\\x3c\\x89\\xeb\\x60\\x11\\x79\\x82\\x3e\\xa4\\x3c\\x63\\xa1\\x16\\x3f\\xc8\\xbc\\x44\\x70\\x79\\x29\\xb8\\x8f\\x47\\x1a\\x6d\\x5f\\x2d\\xfc\\xa2\\x85\\xeb\\x5a\\x58\\xaf\\x85\\xbb\\xb5\\x0b\\xb4\\xd8\\xa5\\xcd\\xd6\\x76\\xd1\\x32\\x4a\\x2d\\x4c\\xfa\\xbb\\x16\\x36\\x68\\x77\\x6b\\xf1\\x32\\x2d\\x8c\\xd4\\x4e\\xd5\\xe2\\x81\\x5a\\x48\\xd3\\xc2\\x6f\\x5a\\xb8\\xaa\\xfd\\x56\\x8b\\x5f\\xd6\\x9e\\xd7\\xe2\\x43\\x5a\\xd8\\xa8\\xdd\\xa3\\xc5\\x60\\xd0\\x26\\x69\\x83\\x5a\\xe6\\x33\\x2d\\x9c\\xd2\\x02\\xd2\\xd6\\x68\\x1f\\xd2\\x3e\\xa6\\x65\\x3b\\xbd\\xa0\\xfd\\x4c\\xfb\\x83\\x96\\xd9\\xac\\x85\\x0e\\xe4\\xdd\\x2c\\x2d\\x33\\x8b\\xbc\\x7e\\x41\\xcb\\x10\\x50\\x49\\x5a\\xf8\\x41\\x0a\\x1d\\xf9\\xa2\\x27\\xce\\xef\\x66\\x06\\x10\\xd3\\x81\\xc1\\x8c\\x5e\\x09\\x4a\\x62\\xa3\\x9d\\x1f\\x3d\\x1a\\xc6\\x44\\x68\\x3b\\x42\\xea\\xb3\\x63\\x35\\x6b\\x84\\xf6\\x67\\x47\\xb6\\x84\\xb5\\x44\\x76\\x03\\xf6\\x15\\xd8\\xf0\\x83\\x4f\\xcf\\x99\\xf9\\xf8\\xfe\\x59\\x73\\x9f\\xc2\\x07\\xe7\\x3f\\xf1\\xc4\\xfc\\xb9\\xfb\\xf6\\x51\\x9f\\x9a\\xb8\\xd6\\xfc\\x09\\x74\\x55\\x6a\\x20\\x53\\xa3\\xbc\\xa0\\x4d\\xad\\x10\\x88\\xea\\x42\\xac\\x82\\xd1\\x68\\x95\\x1c\\x20\\xd8\\x1d\\x52\\x90\\xba\\xca\\x2f\\x28\\x90\\x6a\\x26\\xb2\\x4c\\xa1\\x4c\\x3c\\x1e\\x3f\\x55\\x63\\xf2\\xc1\\xbd\\x93\\x7d\\x3a\\xbb\\xf9\\x78\\xf6\\xab\\xd9\\xcd\\x75\\xd9\\xaf\\x67\\x5f\\x95\\x7e\\x31\\xbe\\x02\\xfb\\x1e\\x6d\\xfb\\xff\\x33\\x22\\x2e\\x88\\x4e\\x72\\x5e\\x88\\x0b\\x22\\xfb\\x2e\\x1e\\x6b\\xd6\\x10\\xb8\\xc6\\xde\\x4b\\x1d\\x83\\x81\\xd4\\x2f\\xe8\\x4f\\xfc\\x82\\x4c\\x29\\xbc\\xf1\\x25\\x62\\x28\\x1b\\x25\\x87\\x4a\\x47\\x77\\x48\\x25\\x45\\x2a\\xf2\\x90\\x28\\x62\\x7f\\xb8\\x36\\x84\\xbd\\x77\\x60\\xa3\\x9b\\xdb\\x22\\xa7\\x61\\x22\\x71\\xbe\\xe7\\x56\\x93\\x52\\x98\\x8f\\xf2\\x44\\x3b\\x53\\x47\\x87\\x89\\x38\\x3a\\xb2\\x2b\\x41\\x53\\xfa\\xfe\\xcc\\xd0\\x33\\x70\\x8d\\x79\\xaf\\xc9\\xcd\\xfe\\x8d\\x2e\\xbc\\xda\\x16\\x4f\\x8d\\xec\\x75\\x4a\\x9e\\x51\\xb5\\x8b\\xe9\\x2b\\xf5\\xb5\\xc5\\xb5\\x7a\\xa2\\xf1\\xc5\\xf9\\xb0\\x21\\x0a\\x63\\xa0\\xf8\\x2d\\x6a\\x0f\\xc7\\x71\\x84\\x60\\x92\\x02\\x51\\x82\\xf1\\x08\\x23\\x99\\x01\\x14\\x14\\x31\\xe3\\x09\\x00\\x29\\xf7\\xe4\\xef\\x7b\\xd8\\x40\\xa0\\x5c\\x23\\xe0\\xd8\\x44\\xb0\\x0e\\x14\\x07\\x50\\x68\\xd4\\x2f\\x8d\\xfc\\x0c\\xbc\\xf0\\x21\\xb9\\x08\\xc8\\xd7\\xf2\\x93\\x70\\x8e\\xdb\\x48\\x7c\\x39\\x27\\xca\\x44\\x45\\xa8\\x17\\xaa\\x44\\x43\\xe1\\xad\\x60\\xcb\\xc0\\x92\\x21\\x43\\xfb\\x76\\x2f\\x74\\xc7\\x31\\x79\\x69\\x66\\xf5\\xa0\\xc1\\x83\\xd5\\x69\\x8c\\xbb\\xfb\\xd0\\x12\\x45\\xd5\\x9d\\x6b\\xaa\\x60\\x6a\\x15\\x54\\x56\\x41\\xaf\\x2a\\xc8\\xae\\x02\\x4b\\x15\\x34\\x55\\xc1\\x17\\x55\\x70\\xae\\x0a\\x8e\\x55\\xc1\\xee\\x2a\\xd8\\x2c\\x05\\xa8\\xae\\x82\\x60\\x15\\x14\\x56\\x81\\xa1\\x0a\\xd8\\x2a\\x98\\x74\\x4b\\x20\\x02\\x65\\x64\\xd5\\xd4\\x2a\\x1c\\x0b\\xe4\\x83\\xaa\\x2f\\xaa\\xf0\\x8b\\x55\\xf0\\x44\\x15\\x6c\\xa8\\x82\\x79\\x34\\x44\\x04\\x86\\x4b\\x82\\xf1\\x2d\\x0d\\x02\\xad\\x01\\x56\\x54\\x41\\x79\\x15\\x74\\xa8\\x82\\x94\\x2a\\x40\\x55\\xe0\\xff\\xa9\\x0a\\xae\\x56\\xc1\\x99\\x2a\\x38\\x54\\x05\\x5b\\xab\\x60\\x49\\x15\\x4c\\x90\\x42\\x94\\x4a\\x21\\xd4\\x55\\x20\\x07\\x78\\x35\\x26\\x0b\\x24\\x9f\\x43\\xab\\xa0\\x4b\\x15\\x24\\xc5\\x14\\x64\\x77\\xd5\\xb9\\x60\\xf7\\x2a\\xbc\\x26\\x5a\\x0c\\x39\\x8b\\xa4\\x18\\x98\\xa4\\x22\\x30\\x43\\xf8\\x41\\x8e\\xf2\\x0e\\xde\\x0e\\xf5\\xa1\\x3b\\xb2\\x5c\\x59\\xf5\\xa1\\x62\\x97\\xd7\\x75\\x7c\\x64\\x37\\x6f\\x9c\\xc2\\x5a\\x1f\\x42\\x8a\\xe3\\x23\\x91\\x9e\\x5c\\x05\\x6a\\xad\\xd2\\x75\\x38\\x5b\\xf5\\x0c\\x3d\\x1c\\xa5\\xa5\\x54\\xdd\\x54\\x8f\\x1e\\xfd\\x87\\xfa\\xe5\\x16\\x7b\\xe1\\xb6\\x01\\x62\\xed\\x89\\x48\\x88\\xd8\\x9d\\xfa\\x63\\x76\\x7f\\xa5\\x5b\\xbf\\x46\\x36\\xbe\\xec\\x06\\xf6\\x64\\x1d\\xd0\\x1d\\x7f\\xe9\\xae\\xaa\\x7f\\xfc\\x25\\xf5\\x8f\\xe3\\x78\\xc1\\x07\\xe1\\x85\\x4b\\x0b\\x27\\x6e\\x1c\\x30\\x6f\\xe5\\x9d\\x07\\xe7\\x0d\\xaa\\xe9\\x34\\x7b\\xc0\\xb8\\x42\\xf8\\xec\\xf7\\xef\\x70\\xf6\\xef\\xdf\\xfd\\xb6\\xf3\\x49\\x76\\xff\\xd3\\xdc\\xc6\\x7b\\x17\\x0e\\x3b\\xb9\\xb6\\xcf\\x7d\\x4b\\x16\\xfc\\x6d\\xd9\\xb4\\xd1\\x6f\\xf4\\xdd\\x34\\xf1\\xf5\\x3e\\xeb\\xc2\\x07\\x6e\\xf7\\x76\\xda\\x6d\\x83\\xee\\x27\\x5a\\x12\\x50\\x3d\\xb3\\x18\\x4e\\x92\\x3b\\x06\\x59\\x8e\\x23\\x96\\x38\\xbd\\xaf\\x02\\xe1\\x06\\xa9\\xf1\\x84\\x2a\\x44\\x17\\xf8\\x98\\xfa\\xe0\\x99\\xbd\\xcc\\x62\\x2c\\x84\\x7f\\x23\\xb4\\x4f\\xc2\\x33\\x7a\\x6e\\x95\\x21\\x4d\\xf8\\x45\\x6a\\x0b\\xfb\\x45\\x1a\\x13\\xce\\xa0\\xf1\\xcc\\x59\\x66\\x8f\\x04\\x87\\xca\\xa8\\xdc\\xa0\\x85\\x51\\x12\\x97\\x54\\xe0\\x38\\xb5\\x46\\xad\\x55\\x02\\xb7\\x52\\x85\\x79\\xca\\x66\\x54\\xf1\\x16\\xdc\\xba\\x29\\xac\\xd7\\xec\\x6b\\x3d\\xc2\\x8b\\x83\\x0d\\xe2\\xd8\\x7b\\x4a\\x1b\\xe0\\x0d\\x72\\xc7\\x9c\\x85\\x17\\xc5\\x3b\\xe4\\x43\\xd2\\x6d\\x55\\x68\\x23\\xde\\xc1\\x3c\\x8b\\x14\\x44\\xbb\\xbb\\x79\\x40\\x0a\\x86\\x65\\x15\\xc0\\x28\\x55\\x0c\\xba\\x39\\x52\\xcf\\xe4\\x33\\x33\\x99\\x15\\xcc\\x29\\xe6\\x06\\x43\\x52\\xcb\\xa7\\x9e\\x4b\\x8c\\x28\\x4c\\x05\\x3f\\xf8\\x04\\x92\\x2d\\xa8\\x16\\xff\\xa3\\x81\\x9d\\x7b\\x94\\xe2\\x64\\x50\\xe2\\x8d\\x30\\xbd\\x14\\xe6\\x66\\x88\\x0f\\x8a\\xb5\\x16\\x29\\x0d\\x03\\x49\\x63\\x70\\x34\\x0d\\x04\\x3c\\xc7\\xd0\\xbd\\x3e\\x49\\x1a\\x1c\\x4d\\x83\\x78\\xe3\\xd4\\x3d\\x3f\\xc5\\xdd\\xe0\\x78\\xee\\x77\\x69\\x10\\x8b\\x45\\x49\\x5c\\x06\\x10\\x9e\\xdf\\xab\\x80\\x5d\\xe2\\xaf\\xcc\\xa3\\xa0\\xd4\\x6c\\x4c\\x27\\xde\\xfd\\x3c\\xab\\xb8\\xb1\\x54\\x6a\\xd7\\xea\\x4f\\x10\\xf6\\x4f\\x8a\\x43\\xc4\\x4a\\xfb\\x7a\\xb1\\xd2\\x9e\\x4e\\xd0\\xf2\\x11\\xf7\\x0b\\xbe\\xc4\\x0f\\x25\\x38\\xb4\\x06\\x95\\x88\\x03\\x16\\xc3\\x4b\\x21\\x62\\x19\\x44\\xdb\\x18\\x80\\x88\\x26\\x7c\\x29\\xcc\\xe3\\x46\\xee\\x97\\x31\\x08\\xc2\\xef\\x13\\x83\\xe7\\x5b\\x09\\xe7\\xf1\\x41\\x0d\\x66\\x18\\x8e\\x88\\x60\\x16\\xf3\\xc8\\x41\\xe4\\x62\\x74\\x0c\\x02\\xd5\\x00\\x84\\xe0\\xc4\\x69\\x8f\\xb0\\xcb\\x77\\x91\\xb0\\x44\\x6b\\xd0\\xdd\\x05\\x60\\x39\\xb1\\x0f\\xe4\\xba\\xd2\\xa3\\xc1\\xc1\\x5c\\xbd\\x5a\\x60\\x34\\x44\\x87\\x30\\xc8\\x68\\xd0\\x6a\\x76\\x87\\x94\\x8a\\xdd\\x21\\xad\\x52\\x4b\\x72\\xc1\\xb1\\xbb\\x43\\x88\\xab\\xe4\\xb0\\x9a\\xc0\\xa7\\x9a\\x06\\x99\\x08\\x53\\x12\\x96\\xa4\\x3e\\x24\\x5d\\x1c\\xb7\\xc4\\x91\\x1f\\x71\\xef\\x22\\x5b\\x9d\\x53\\x39\\xea\\x2b\\xf2\\x59\\x99\\x98\\xe3\\xc5\\xd7\\xe5\\xdf\\xd5\\xab\\xec\\xbf\\xae\\x5e\\x15\\x47\\x92\\x23\\x44\\x54\\x4f\\x9b\\x4c\\xd6\\xa3\\xa4\\x63\\x0a\\x84\\xd4\\x7a\\x2a\\x95\\xb5\\x60\\x3c\\x26\\x30\\xb2\\x5c\\xce\\x97\\x24\\x73\\x7e\\x01\\x91\\xcd\\x3e\\xa3\\xb7\\xc8\\x63\\xf5\\x1a\\x7d\\x56\\x59\\x3e\\x9f\\x21\\x72\\xfe\\xcc\\x99\\xa8\\x7c\\x26\\x52\\x5e\\x96\\xd0\\x92\\x4d\\x1f\\x85\\xcb\\x50\\x69\\x7f\\x02\\xa9\\xc0\\x58\\xc7\\x70\\x8c\\x02\\xb1\\x0d\\x04\\xbe\\xa4\\x35\\x4a\\x65\\x69\\xcf\\x18\\x65\\x71\\xbf\\x07\\x3a\\x8b\\x67\\x07\\x51\\x71\\x4f\\xa1\\x89\\x7b\\xe0\\x48\\x44\\xe0\\x43\\x8b\\x81\\xc0\\xfa\\x81\\xc0\\xe2\\x90\\xe6\\x08\\x13\\x6d\\xff\\x92\\x94\\x0e\\xe3\\x61\\xb2\\x86\\x9e\\x85\\xcf\\xce\\x8a\\x37\\xb9\\x34\\x98\\x21\\x3e\\x2c\\xd5\\xa3\\x1c\\xfe\\x01\\xc4\\x13\\x3d\\x47\\xfc\\x1c\\x96\\x16\\x09\\xb7\\xe9\\x39\\x9a\\x9c\\x0b\\x48\\xbc\\x1f\\x7e\\x88\\x68\\xa8\\x13\\x62\\x1f\\x9a\\x67\\x23\\x89\\x77\\x93\\xbb\\x8f\\xc4\\x53\\xa1\\xb8\\xa0\\x52\\xc5\\x63\\x0c\\x0a\\x36\\x9a\\x60\\xb4\\x77\\x9f\\x24\\x4b\\xdb\\xdb\\xfc\\xe9\\x82\\x3d\\x6b\\xe8\\x1b\\x37\\x6f\\xbe\\x31\\x74\\xf9\\xf2\\xe5\\x24\\x7d\\xae\\xee\\xfa\\xf5\\xba\\xba\\xd9\\xb3\\x67\\xb5\\xd3\\x75\\x5a\\xe4\\x3c\\xca\\x23\\xa5\\x96\\xe6\\x41\\xdd\\x4e\\xd9\\xb5\\x62\\x34\\x16\\x9f\\x8e\\x56\\x74\\x8a\\x8f\\x46\\xb0\\x89\\x51\\x3a\\xf6\\xe1\\x4b\\x84\\x76\\x54\\xa4\\x96\\x46\\x04\\x3b\\xea\\xf4\\x6a\\x06\\xf3\\x82\\xa0\\x00\\xc0\\x5a\\x16\\xb3\\x4a\\x83\\xd2\\x88\\x18\\x1d\\xf3\\x65\\x48\\xab\\xe0\\xf4\\xba\\x44\\x1d\\xd6\\x05\\x75\\xa6\\x32\\xda\\xaa\\x29\\xf0\\xd7\\x00\\xdf\\x90\\xf6\\x4d\\x97\\x76\\xc8\\x1f\\x1d\\x31\\x1e\\x65\\x01\\xd0\\xb6\\xd3\\x7c\\xa4\\xaf\\xde\\x4b\\x77\\xff\\xa6\\xfb\\xe3\\x33\\x02\\xe3\\x31\\xe3\\x52\\xef\\x6a\\xaf\\x38\\x95\\xf8\\x2b\\x7f\\x9a\\xb6\\xcc\\xb6\\x7d\\xda\\xcf\\xa0\\x2d\\xc5\\x5f\\x1e\\x39\\x32\\x13\\xe7\\x86\\x2f\\xcf\\xc6\\xf6\\xfb\\xc5\\xbf\\x42\\x0f\\xca\\xaf\\x03\\x70\\x3a\\xbe\\x49\\xf2\\x97\\x80\\x46\\x06\\x0b\\xec\\x44\\x12\\xc4\\x27\\x18\\x0d\\x86\\x04\\xa4\\x62\\xc1\\x0d\\x89\\x09\\x82\\xe0\\xfc\\x22\\xc4\\x0a\\x82\\x16\\x69\\x2d\\x5f\\x84\\x08\\x81\\x1b\\x93\\x8c\\x8c\\x96\\x31\\x6a\\xaf\\x23\\x92\\x67\\x74\\x4d\\x26\\x67\\x5f\\x94\\x9e\\x1d\\xf9\\x6d\\x59\\x8c\\xdd\\x03\\xdc\\xec\\x11\\x3c\\x42\\x74\\x1f\\x70\\x22\\xd7\\xd3\\xfd\\x6e\\x90\\xd7\\x7e\\xf6\\x26\\x0b\\xde\\x5f\\xe0\\x37\\xab\\x38\\xa7\\xa7\\xbd\\x2a\\x30\\x6b\\xdd\\x13\\x3b\\x67\\xee\\x70\\xde\\xaf\\x1d\\x16\\x1c\\x34\\xa4\\x7f\\xb7\\xaa\\xde\\x4b\\xb9\\x55\\xb3\\x7f\\xb5\\xa5\\xaf\\x99\\xb9\\xfd\\xc9\\x99\\x77\\x39\\x4b\\xcb\\xc6\\x8d\\x1e\\xd4\\x2f\\x40\\xf3\\xfd\\x38\\x2e\\x64\\x9c\\x92\\xaf\\x92\\x15\\xb4\\x10\\xde\\xe5\\xb4\\x24\\x97\\x3a\\x05\\x11\\x2b\\x5f\\x86\\x08\\xe2\\xd0\\x0d\\xba\\x8b\\x76\\x34\\x2f\\xad\\xfb\\xbf\\x7b\\x8b\\x4d\\x66\\xba\\xfb\\xb8\\x8e\\x81\\xd2\\xb5\\xee\\x97\\xbf\\x10\\xb3\\x6c\\x78\\xac\\x65\\xf0\\xf6\\x45\\x77\\xe2\\xc2\\x47\\xa0\\x07\\xc0\\xec\\xbb\\xc6\\xd6\\x1d\\x3d\\x41\\x28\\xbf\\x1c\\x67\\xe0\\xcf\\x88\\x5d\\x12\\x87\\x52\\x51\\x47\\x5a\\x73\\x99\\x06\\xaf\\x3d\\x5f\\xa5\\xe2\\xcd\\x76\\x03\\x57\\x90\\xc0\\x30\\x3e\\xde\\x6c\\x76\\xa6\\x39\\xd3\\xbe\\x08\\x69\\x9c\\xf1\\x4e\\xac\\x64\\x9c\\x4e\\x82\\xa4\\x9c\\x2f\\x42\\x04\\x35\\x49\\x04\\x55\\x9f\\xca\\xa8\\x89\\xa0\\x25\\x8a\\xa0\\x5b\\x37\\x48\\x8f\\x28\\x48\\x5e\\x2f\\xad\\x77\\x1d\\xb1\\x66\\xfd\\x45\\x79\\x44\\xd7\\x15\\x9b\\x23\\x08\\xa2\\xfb\\xf1\\xdb\\x93\\xe5\\x5d\\xf9\\xa5\\xfd\\xd2\\xaf\\xce\\x7d\\x78\\x4a\\x15\\x04\\x2a\\x9e\\x7d\\x64\\xf5\\xd6\\xd9\\x77\\xfb\\x03\\x7f\\x9a\\xd9\\x73\\x40\\xcf\\x1e\\xbd\\xcb\\xcb\\x98\\xaa\\xaa\\x3e\\x15\\x95\\x63\\x06\\x70\\x1b\\xa7\\x8d\\x19\\xba\\x50\\xc3\\x18\\x47\\xf4\\x59\\xf6\\xf0\\xa2\\x69\\xa3\\x97\\x9b\\xb1\\x7d\\x64\\xd7\\x29\\x8b\\xc4\\x1d\\xe5\\xfd\\x8a\\xba\\x94\\xf7\\x28\\x29\\xbd\\xbb\\xa6\\x7f\\x49\\xf9\\x88\\xaa\\xce\\x7d\\x28\\x2e\\x47\\x61\\x01\\xbf\\xc3\\xee\\x41\\x0e\\x50\\x07\\x13\\x18\\xab\\x4e\\xa9\\x54\\x59\\x55\\xce\\xb8\\x42\\x67\\x2f\\xe7\\x04\\x27\\x73\\xd5\\x09\\xac\\xd3\\xe2\\x2c\\x74\\x32\\x53\\x9c\\xb4\\x05\\x72\\xce\\xfc\\x32\\xe9\\x5a\\x7d\\x97\\x74\\x0d\\x2a\\x43\\xa3\\xca\\x3e\\x73\\xfe\\xe0\\xc4\\xd2\\x93\\x7d\\x48\\x55\\xd9\\x4a\\xe7\\x43\\x4e\\xcc\\x3a\\x61\\x9e\\x73\\x8d\\xf3\\x98\\xf3\\x8c\\xf3\\x03\\x27\\x27\\x7d\\x4b\\xaf\\xa8\\x2c\\xab\\x74\\xd6\\x38\\x31\\x85\\x8c\\x93\\x64\\xb8\\xb8\\xa4\\x90\\x04\\xdb\\x4a\\x02\\x7e\\xe1\\xe4\\x86\\x92\\x04\\x25\\x38\\x47\\x53\\x33\\x64\\xe8\\x71\\x49\\xde\\xb2\\x26\\x27\\x7c\\xe0\\x04\\xb5\\xd3\\xe5\\x2c\\x77\\xee\\x76\\xb2\\x0a\\x3b\\x38\\x54\\x4a\\x44\\xbf\\x26\\x29\\xb5\\x65\\xc8\\xa4\\x33\\x69\\x34\\x5c\\xb9\\x69\\xa4\\x69\\x89\\x69\\x83\\x89\\xcd\\x37\\x95\\x9a\\xb0\\xcb\\x04\\x7a\\x13\\x60\\x13\\xca\\x97\\x2c\\x1d\\x9f\\xbc\\xd1\\x73\\x76\\x41\\x41\\x41\\x49\\x89\\xe4\\x60\\x64\\x67\\xcf\\x96\\x8d\\x98\\x6c\\xa9\\x25\\x8f\\x58\\x4a\\x63\\x22\\x6e\\x45\\x6b\\xc5\\x98\\x8b\\xe9\\xbe\\xe1\\x3c\\x5d\\x93\\x3c\\xb2\\x39\\x34\\xad\\x2a\\x81\\x81\\x9f\\xfb\\xaa\\xc7\\x97\\x4d\\x36\\xf5\\x59\\x39\\xc1\\xbe\\xd0\\x80\\xfd\\x13\\x7a\\x0e\\x1a\\xad\\x2e\\xc7\\x02\\x2c\\xf0\\xa5\\xd6\\x4c\\x18\\x23\\x6e\\x85\\x96\\x0d\\x33\\xfb\\x16\\x84\\x46\\xa5\\x74\\x13\\x57\\xd1\\xf6\\xeb\\xd7\\x5b\\x26\\xe2\\x8d\\x78\\xb9\\x41\\xe0\\xc6\\xb7\\x3c\\x10\\x7e\\x40\\xd2\\x63\\x5c\\xcb\\x64\\xfc\\x22\\x5e\\x49\\xde\\x4d\\x6e\\xd9\\x12\\xde\\x28\\xbd\\xd3\\xb7\\x4c\\xc5\\x17\\xf0\\x2a\\xf2\\x6e\\x4e\\xcb\\x63\\xe1\\xcd\\x52\\xdb\\xf7\\xe9\\x96\\x7b\\xf0\\x27\\x78\\xae\\x41\\x60\\x3a\\xa2\\xc3\\xf2\\x3b\\x24\\xb4\\x4c\\xc2\\x2f\\xe3\\x15\\x24\\xdc\\x94\\x96\\x6d\\xe1\\x07\\x25\\xbd\\x3b\\x82\\x28\\xa7\\x3a\\xee\\x03\\xe4\\x41\\x53\\x83\\x5d\\x85\\x38\\xb3\\xcd\\xa4\\x32\\x58\\x3c\\x2a\\xbb\\x2d\\x4e\\x48\\xd6\\x68\\xbc\\x6a\\x5d\\x4d\\xc8\\x64\\x57\\xd9\\x6b\\x42\\x7a\\x15\\x91\\x65\\x6a\\xbd\\xea\\xb0\\x0a\\xeb\\x19\\xb5\\x4a\\xad\\x72\\xdb\\xdc\\xb8\\x26\\x84\\x90\\x1b\\xd9\\xcc\\x35\\x21\\x5b\\x44\\x43\\xf9\\xf2\\x5b\\x15\\x14\\xa1\\xdd\\x31\\xa3\\x8d\\x11\\x0b\\x32\\x96\\xb3\\x09\\x8e\\xd2\\xe8\\xae\\xe6\\x94\\x3e\\x29\\x87\\x33\\x91\\xc3\\x9c\\x62\\x2c\\x34\\x49\\xe8\\xb2\\x33\\x43\\xe3\\x0f\\x8d\\x5f\\x3b\\xb2\\x70\\xce\\x3d\\x77\\xe2\\x6a\\x97\\x78\\x67\\x17\\x58\\xe3\\x14\\x97\\x06\\xe1\\x8c\\x2b\\xbc\\x6e\\x84\\x38\\xbf\\xe2\\xa1\\x2b\\x6b\\xff\\xf4\\x86\\x9a\\x7d\\x76\\x77\\x8f\\x8d\\x37\\x86\\xcc\\x9f\\x0b\\x50\\xb7\\x41\\xbc\\xfc\\x80\\x78\\x62\\x03\\x5c\\x64\\x61\\xda\\x42\\xe0\\x4f\\x54\\xef\\x58\\x4e\\x6d\\xa4\\xd9\\x2d\\x9b\\xb9\\x4b\\xbc\\x02\\x79\\x89\\x97\\x90\\x8f\\x56\\x07\\xef\\x88\\x37\\x9b\\x0d\\x06\\x53\\x8a\\xe0\\x45\\x71\\x39\\x0e\\x6d\\x6e\\x6e\\x7e\\x7a\\x0e\\xc2\\x69\\x1c\\x2b\\xa8\\x3a\\x98\\x4c\\x56\\x6b\\x47\\xc6\\x9b\\x14\\xcc\\xc9\\x4a\\x8b\\x4b\\x8a\\xab\\x0e\\xb9\\x5c\\x1c\\x46\\x49\\xe6\\xdc\\x74\\x47\\xbe\\x3a\\xbf\\x3a\\xa4\\x35\\xaa\\x6d\\x36\\xb3\\x41\\xa7\\x66\\xa9\\x36\\x23\\xb4\\x61\\x38\\x53\\x10\\x71\\xd2\\xe5\\x67\\xf9\\xc1\\xe9\\x30\\xbc\\x53\\x20\\xdb\\x02\\xa6\\x98\\xa5\\xeb\\x5b\\x17\\xb0\\x4f\\x4b\\x27\\x42\\x37\\x8d\\x14\\x35\\x85\\x8e\\xe0\\xb4\\xd9\\xfd\\xf4\\x24\\xa4\\xa5\\x43\\x8a\\xd9\\xce\\xb3\\xd9\\x40\\x3e\\x33\\x16\\x3b\\x10\\x4d\\x66\\xb3\\x43\\x5a\\x3a\\x76\\x94\\xf7\\xac\\xd8\\x34\\xeb\\xf0\\x3b\\x30\\xfd\\xef\\xfe\\x4d\\x5d\\x86\\x06\\x2b\\x36\\x4d\\x5a\\x9b\\x7b\\xcc\\x51\\x2c\\xda\\xc1\\xf5\\xf2\\xe6\\xe5\\xe2\\xab\\x1f\\xe8\\x0d\\x39\\x9b\\xea\\xfa\\xc0\\xc5\\x9f\\xc5\\x1b\\x4f\\x75\\xae\\xc4\\x42\\xf7\\xc1\\x8c\\x3e\\xe5\\x4f\\xff\\xd8\\x07\\x9e\\x7f\\xc3\\x03\\xd7\\xd9\\x39\\x8b\\x35\\x71\\xfb\\x3e\\x1e\\xb1\\xd3\\xdf\\xaf\\xb8\\x19\\x6b\\xc1\\x1a\\x7a\\xe9\\x00\\x8c\\xc1\\x4f\\xef\\x9d\\xce\\xbc\\xed\\x12\\x57\\x87\\xa7\\x67\\x1a\\xd8\\x52\\xb7\\x52\\x6e\\x43\\x99\\xdd\\xf2\\x1d\\x77\\x89\\xdb\\x4e\\x70\\x35\\x3c\\x98\\x67\\x13\\xdc\\x09\\x39\\x39\\x71\\x28\\x25\\x4e\\x60\\x3b\\xe8\\x74\\x1d\\x93\\xd3\\xab\\x43\\x29\\xc9\\xc9\\xee\\xf8\\x78\\x46\\xad\\x36\\x55\\x87\\xf4\\x7a\\x35\\x1b\\x97\\xc3\\xe4\\x54\\x87\\xf2\\xf3\\x19\\x33\\x2a\\x95\\x31\\xd0\\x4a\\x04\\x8e\\x7c\\xba\\x31\\x79\\x6c\\xdd\\xcb\\x95\\xcf\\xb3\\xde\\xe4\\x14\\x5c\\x44\\x10\\xe0\\x2b\\x60\\xed\\x02\\x5d\\xc2\\x9f\\x95\\x89\\x81\\x22\\x44\\x62\\x18\\x69\\x3b\\x75\\x1d\\x26\\xb2\\xdf\\xcf\\x0d\\xa0\\x45\\xac\\x13\\x7f\\xde\\x70\\x09\\xe6\\xff\\xfd\\x63\\xc8\\xee\\x70\\x2c\\xf5\\xc2\\x8e\\x06\\xf1\\xeb\\xed\\xb5\\x2b\\xee\\x8c\\x33\\x1d\\xf4\\xb2\\x3d\\x56\\x0e\\x4d\\xef\\xe4\\xc9\\xc9\\x2b\\x5b\\x1c\\xca\\xd2\\xaf\\xff\\xe7\\x08\\x18\\xf4\\xd2\\x81\\x5a\\xd0\\xbc\\xf0\\x0b\\x6c\\xfa\\xb8\\xee\\x09\\xff\\xac\\x35\\x7f\\x16\\x4f\\x5d\\xda\\xff\\x91\\x17\\x8e\\x3d\\x30\\xe7\\xfa\\xda\\x69\\xba\\xed\\xda\\xbb\\xfe\\x7c\\x65\\x90\\x62\\xeb\\x7d\\x44\\x67\\xbf\\x47\\xe8\\xff\\x43\\xa2\\x0f\\x8c\\x68\\x59\\xb0\\x0c\\x58\\x4e\\xa1\\x53\\xf3\\x2a\\x84\\xf4\\x7a\\x62\\x09\\x10\\x25\\xab\\x52\\x69\\x0c\\x06\\xb3\\xc6\\xa4\\x50\\xeb\\xd4\\x35\\x21\\x4e\\xa7\\x63\\x95\\xc0\\x56\\x4b\\x1d\\x54\\x58\\x0f\\x9b\\xe1\\x14\\xdc\\x80\\x9b\\xc0\\xa9\\x19\\x00\\xa5\\x5e\\x8f\\xc8\\x17\\x46\\xa5\\x34\\x51\\xe5\\xdb\\x26\\xc0\\x67\\xdf\\xaa\\xe2\\x22\\x86\\x78\\x54\\x66\\xc8\\x8a\\x98\\x32\\x00\\xfd\\x23\\x52\\xc3\\xeb\\xf7\\x11\\xb6\\x80\\x7f\\x8d\\xc2\\x87\\x13\\xc3\\x83\\x32\\xe1\\xe1\\x38\\x71\\x46\\xf1\\xb1\\xe2\\xc3\\x71\\x87\\x4f\\x33\\x4b\\xdc\\xec\\xdf\\xc5\\x94\\x3d\\x97\\x57\\x89\\xdf\\x80\\x7d\\x15\\xf3\\xcd\\x6e\\x52\\x86\\x9f\\x48\\x19\\x76\\x93\\x3a\\xcb\\x41\\xef\\x04\\x57\\x78\\x93\\x13\\xdd\\x76\\xbb\\x2d\\x55\\x91\\xac\\xf6\\x68\\xdc\\xfa\\x1c\\x52\\x16\\x8d\\x5a\\xc1\\xb1\\x36\\x5b\\x5e\\x26\\xc7\\xb2\\xb9\\xa9\\x0a\\xb5\\x62\\x7e\\x88\\x7e\\xd4\\x6b\\xe6\\x87\\xdc\\xa4\\x0a\\xa1\\x45\\x0d\\xd5\\xea\\x99\\xea\\xcd\\xea\\x7d\\xea\\x1b\\x6a\\x2e\\x49\\x0d\\x89\\xa4\\x68\\xfa\\x7d\\x7a\\xac\\xd7\\x27\\xea\\xab\\xf5\\x33\\xf5\\xf4\\xe1\\xb0\\x5e\\x50\\x32\\xfa\\xa0\\xcd\\x59\\xa6\\xd6\\xab\\xf5\\xb9\\x44\\x89\\xcd\\x0d\\xd9\\xed\\x66\\x81\\xcb\\x64\\x33\\xe7\\x85\\x0c\\x39\\x49\\x39\\x38\\x27\\x87\\x75\\x50\\x22\\x18\\xdd\\x8e\\x0a\\x24\\x5b\\x95\\xa2\\x61\\x0e\\xdd\\xdc\\x4a\\x96\\x07\\xc6\\x36\\x5c\\xb4\\xb2\\x49\\xcc\\x1f\\x1d\\x9f\\x40\\x50\\xa2\\x03\\xaf\\xc7\\x5f\\x5c\\x4a\\x47\\x29\\xd0\\x46\\x49\\xbf\\x2c\\x1a\\x24\\x7a\\x21\\x8a\\x2f\\x82\\x2f\\x3a\\xd8\\xd0\\x53\\xe0\\x67\\x7d\\xe9\\x6f\\x3c\\x12\\xee\\x9d\\x70\\x3a\\x97\\x3b\\x19\\x77\\xd2\\x45\\x8e\\xb8\\x8c\\xcf\\x5e\\xde\\xfc\\x6a\\xfc\\x93\\xfa\\x79\\xfd\\xe6\\xac\\x70\\xb8\\xe0\\x91\\x38\\x71\\x92\\x0b\\x76\\x92\\x33\\x63\\x5a\\x19\\x82\\x8f\\xce\\xfa\\xa0\\x78\\xc7\\xbe\\x5d\\x23\\xbf\\x8b\\x5b\\xf5\\xe0\\xaa\\x7b\\xcf\\xbd\\xb6\\x70\\x66\\x41\\xe7\\x7e\\x73\\x97\\x3d\\x40\\x9e\\x4c\\xd3\\x4f\\x64\\xd6\\xc9\\xfc\\x90\\xdc\\xd2\\x89\\x2f\\xe7\\x82\\xa8\\x00\\x8d\\x0a\\x12\\xda\\x8d\\x63\\x52\\xe3\\x5d\\x19\\x19\\x1e\\x0f\\xa3\\x37\\x21\\x35\\xef\\x2b\\xcc\\xcd\\x76\\x67\\x57\\x86\\xe2\\xdd\\x86\\x8e\\x90\\x17\\x67\\xe2\\xd4\\x4e\\x5b\\xd0\\xc6\\x57\\x86\\x6c\\x06\\x9d\\xbe\\x43\\x2a\\x52\\x5b\\x51\\xe9\\x59\\x62\\xf8\\x12\\xd1\\x48\\xa4\\xc2\\x05\\x52\\xce\\x52\\x5f\\xcc\\xa6\\x16\\x6d\\xb6\\xbb\\x1d\\x22\\x3a\\x9b\\x6a\\x8d\\x62\\xbf\\xcf\\xc2\\x47\\x14\\x87\\x9d\\x70\\x84\\x3f\\xa2\\x40\\xbc\\xe6\\x88\\xe5\\xa3\\x26\\x28\\x81\\x7f\\x61\\x63\\x7a\\x45\\xd5\\xac\\x67\\x93\\x16\\x1c\\x7d\\xca\\x62\\x3e\\x68\\x15\\x98\\xbe\\x5b\\xee\\x5e\\xb4\\x59\\x07\\x7d\\xf7\\x1e\\x30\\x6a\\xef\\xaf\\xb5\\xae\\x38\\xb2\\x34\\xae\\xa2\\x2a\\xd3\\xf3\\xd3\\xbc\\x23\\xf9\\xe2\\xbb\\x7f\\xc1\\x4d\\x67\\xf3\\xcb\\x07\\xbe\\xf6\\x64\\xf8\\x09\\x66\\x48\\xf5\\x3a\\xf5\\xda\\xcc\\x39\\x23\\x16\\xcd\\x84\\x4f\\x7e\\x82\\x87\\x1f\\x08\\x4e\\x08\\xcf\\xc5\\x8b\\x17\\xfa\\xcb\\x07\\x6a\\xc4\\x7d\\xe1\\x43\\x37\\xc5\\xbe\\xa4\\xec\\xc4\\xf2\\x46\\x88\\x57\\x11\\xde\\x70\\xa1\\x44\\x22\\x3f\\xd3\\x51\\x16\\x7a\\x38\\x38\\xc0\\x69\\xc3\\x71\\x71\\x8e\\x24\\xe4\\x85\\xac\\xcc\\x4c\\x36\\x3d\\x4d\\x9f\\xa0\\x56\\xa8\\x88\\x44\\x35\\x29\\xdc\\x09\\x69\\x89\\x1e\\x16\\x90\\x43\\x9d\\xad\\xd3\\x68\\x72\\xd2\\x6d\\x26\\xa2\\x79\\xab\\x43\\x49\\xf1\\x7a\\x97\\x97\\x18\\xa8\\x0c\\xae\\x0e\\x65\\x12\\x97\\xc7\\x45\\xfe\\xb8\\x14\\x8b\\xc3\\x94\\xa1\\x94\\x3a\\x24\\x64\\x3b\\x95\\x0e\\x84\\x6b\\x6b\\xe5\\x6c\\xd7\\xde\\xe9\\xbb\\x4d\\x03\\x41\\xc4\\x8a\\xa5\\x26\\x22\\x25\\x0d\\x33\\x61\\x18\\x33\\x35\\x62\\xbd\\x02\\x39\\x18\\x2f\\x23\\xb3\\x51\\x26\\xf8\\x3d\\x9c\\x27\\xdd\\x0b\\xc5\\x7e\\x2f\\x08\\xbe\\x86\\xdc\\x4d\\xee\\x4d\\xfd\\x3f\\x38\\x0c\\x4d\\x03\\x9e\\x1d\\xf0\\x90\\xfb\\xa1\\x9c\\xcd\\xee\\xcd\\x23\\xaf\\x5d\\x10\\x8b\\x47\\x1c\\x1c\\xb9\\xc9\\xcd\\x0c\\x01\\x3e\\x57\\x9c\\x28\\xf6\\x83\\x49\\x77\\x5d\\xc1\\xcf\\x19\\x9d\\x4f\\x88\\x82\\x7b\\x01\\x9e\\xf5\\xd5\\x6e\\xd8\\x2c\\xce\\xa6\\xc7\\xee\\xaf\\x76\\x8b\\xd9\\x70\\x99\\x1e\\xbb\\xbf\\xfa\\xea\\xab\\xf0\\xd4\\x4d\\x6b\\xf1\\x97\\xd4\\x8d\\x24\\xfe\\xdd\\x80\\x96\\xef\\x14\\x2b\\x09\\xae\\x04\\x94\\x84\\xee\\x40\\x95\\x68\\x57\\x70\\x68\\x6a\\x4a\\x4a\\xd7\\x0e\\x59\\x3d\\x7b\\xfa\\x8b\\x15\\x6e\\xb7\\xce\\xd1\\x1b\\x95\\x57\\x54\\x20\\x47\\x71\\x07\\x6e\\xf0\\x20\\xae\\x5f\\x75\\x88\\xe3\\xca\\xfb\\xf7\\x27\\xb2\\xa4\\x3f\\x53\\x6e\\xca\\xea\\xea\\xf1\\xf9\\x3a\\x57\\x86\\xfc\\x7e\\x9f\\xcd\\x93\\x51\\x19\\x4a\\x4d\\xf5\\xe8\\xdd\\xae\\x41\\x84\\x3d\\xad\\x86\\xca\\x90\\xd5\\x96\\xa4\\x08\\x2a\\xd4\\x83\\x42\\x0a\\x3d\\x92\\x29\\xe9\\xbc\\x6c\\x23\\xca\\xfa\\x36\\x56\\xeb\\xb6\\x6e\\x9e\\x12\\xeb\\x21\\xb7\\x3b\\x11\\xbe\\xa2\\x3b\\xa7\\x30\\xbe\\xa4\\x54\\x8a\\x2a\\xde\\x1a\\x33\\xa3\\xc0\\x4f\\x45\\x8f\\xdf\\xc7\\x45\\xb9\\x8c\\xca\\xe4\\xa8\\x7d\\xd9\\x6a\\x7a\\xe7\\x41\\x3a\\x35\\x36\\x53\\x2d\\xac\\x87\\x60\\x9a\\xbc\\x63\\x99\\x89\\x7b\\x77\\x75\\x9a\\x36\\x06\\x96\\xc3\\xe9\\x3d\\xce\\x3d\\x15\\xaa\\xb2\\x84\\x52\\x73\\x69\\xe5\\xa0\\x31\\xaa\\x81\\x93\\x9c\\x33\\x27\\xcc\\x80\\x6f\\x36\\xee\\xb5\\x3c\\xa6\\x1e\\x54\\xbe\\xbf\\x72\\xee\\xd2\\x39\\x7f\\x39\\xf1\\xf0\\x7e\\xcf\\x23\\xe6\\xe1\\xc3\\x27\\x4d\\x48\\xec\\x33\\xfd\\x8b\\x63\\xe1\\x87\\xc5\\x8b\\xe2\\x7f\\xee\\x9d\\x52\\x07\\xc6\\xcb\\x5f\\x81\\x8e\\xf9\\x71\\xe1\\xf2\\xf0\\x07\\xb3\\x57\\x8b\\x0b\\xf2\\xb2\\x07\\xeb\\x96\\x5b\\xc7\\x55\\x15\\x16\\xc2\\xae\\xd5\\xff\\xfe\\x6a\\x7e\\x4d\\x5c\\x56\\xe7\\xaa\\x9c\\x02\\x97\\x7b\\x4e\\xe8\\xde\\x75\\x23\\xa7\\x17\\x76\\xe9\\x54\\xdc\\x39\\x21\\x23\\x31\\xa1\\xf3\\xfe\\x05\\x2b\\xcf\\x5c\\x6b\\x0a\\x5f\\xe5\\x56\\xbd\\x2b\\x8f\\x87\\x2a\\x25\\x75\\xf1\\x19\\xa9\\x0b\\x2d\\xb2\\xa1\\x52\\x34\\x2d\\xd8\\x59\\xab\\x34\\x76\\x4a\\xc8\\x49\\xb1\\xdb\\x3b\\x76\\xcc\\x31\\x6a\\x6c\\x2c\\x1f\\xec\\x9e\\xd2\\xc9\\x99\\x9f\\x5f\\x54\\x13\\x2a\\x28\\xc8\\x37\\x38\\x3d\\x35\\x21\\xb7\\xdb\\x69\\xd6\\x60\\x1b\\xa1\\x51\\x9b\\x8d\\xe5\\x38\\x2b\\xa9\\x1f\\xe2\\x45\\xc6\\x4a\\xf2\\x56\\xa1\\x16\\x83\\xef\\xf6\\x48\\xa6\\x7e\\x3f\\x10\\xca\\x03\\x4f\\x01\\x4b\\x90\\x26\\x28\\x41\\xb6\\xc4\\x3d\\x0c\\xfc\\x0e\\x85\\x79\\x98\\x36\\x3f\\x27\\x45\\xa4\\x99\\xd5\\xe2\\x06\\xbb\\x1b\\x33\\x61\\xf1\\xaa\\xb8\\x63\\xf6\\x29\\x30\\x62\\xcb\\xfb\\x00\\x1f\\xbd\\x0f\\xdd\\xc4\\x6e\\x75\\x0d\\xdb\\xb6\\x8a\\x4f\\xde\\x25\\x28\\x7e\\xfd\\xc7\\xf3\\xe7\\x33\\xb7\\x78\\x36\\xcc\\xdf\\xbc\\x35\\x67\\xd8\\xba\\x95\\x2b\\x7b\\x7d\\xfd\\x3e\\x8c\\xcb\\x79\\xdc\\xb6\\x78\\xe2\\xd2\\xb5\\x59\\x03\\x37\\xaf\\x58\\x55\\x86\\xfb\\x86\\x8f\\x73\\xab\\xce\\x3d\\xfd\\xd2\\xb5\\x84\\xf0\\x53\\xf8\\xb3\\x1d\\xeb\\x67\\x2d\\x0a\\xff\\x2a\\x8e\\xde\\x7f\\x78\\xfe\\xf2\\x4e\\xc3\\x2b\\xc7\\x8e\\xce\\xea\\xda\\x31\\x27\\xab\\x72\\x6a\\x9f\\xda\\x3d\\x2d\\x71\\x03\\x7b\\x0f\\x2c\\xcb\\xea\\x9c\\x9b\\x9b\\x31\\x78\\x16\\x6d\\x4f\\xd5\\xd0\\xfd\\xba\\x08\\xce\\x64\\x4e\\xcf\\x46\\x79\\x44\\xe2\\x15\\xa1\\x3d\\xc1\\x2a\\x9b\\xd5\\x61\\x4a\\xd1\\x65\\x74\\x28\\x4c\\x8b\\x2f\\xf2\\x66\\x25\\x65\\xe6\\xe6\\xe5\\xa9\\xe8\\xec\\x8b\\x64\\x55\\x66\\x56\\x51\\x5a\\x07\\x9d\\xd1\\x64\\x35\\x1b\\xf4\\x89\\x89\\x7e\\x7d\\x71\\xc7\\x3c\\xb5\\xa0\\x37\\xe8\\xab\\x43\\x19\\x29\\x49\\xac\\x21\\x3b\\xdd\\xcb\\x98\\x2d\\xe6\\xea\\x50\\x61\\xbc\\x03\\x59\\x0c\\xe4\\x4f\\xeb\\x73\\x3b\\x6d\\x4c\\x7e\\x8e\\x52\\x6b\\x92\\x0c\\x28\\x7a\\xb4\\x72\\x7e\\x84\\xe1\\x7d\\xed\\xee\\xe1\\x76\\xda\\xa1\\xad\\x8d\\x50\\xe6\\x77\\x8f\\xcc\\xef\\x8c\\xc7\\xef\\x4b\\xa7\\xc3\\xd8\\x24\\x59\\x40\\x0f\\xf0\\x11\\xf6\\xf7\\x45\\x44\\x80\\x99\\xfe\\xdb\\x88\\x14\\x10\\xa6\\x4e\\x74\\x6f\\x9b\\xf5\\x71\\xa2\\xd8\\xf8\\xe5\\x8d\\x54\\x71\\xe5\\xb5\\x1b\\x1d\\xc4\\x70\\xe2\\x65\\x47\\xad\\x7b\\x42\\xc6\\x1b\\x5e\\x78\\xf9\\xe5\\xe3\\x1e\\x78\\xe5\\xa5\\xb7\\x9a\\xaf\\x7f\\x3d\\x5d\\xdc\\xd9\\x7c\\xfa\\xab\\x69\\xe2\\x23\\xf0\\x28\\x64\\x9b\\x9e\\x83\\x45\\x6b\\xb6\\x34\\xbf\\xb2\\xba\\x56\\x87\\xe7\\x0e\\x1d\\xc5\\xfc\\x7b\\xf7\\xdf\\x77\\x8b\\x59\\xf0\\x21\\x3d\\xc8\\x6d\\x54\\x44\\xc0\\xe6\\xe6\\x1f\\xfe\\x4e\\x7f\\xe1\\x41\\x90\\x27\\x5e\\x82\\xbc\\x37\\x99\\xa3\\xef\\x52\\x7f\\x7e\\x00\\x91\\xa5\\x7b\\xd9\\x73\\xc4\\xce\\xf0\\xa0\\x2e\\x27\\x90\\x0b\\x4a\\x8e\\x0b\\x66\\xc1\\x6c\\x22\\xe8\\xeb\\xae\\x81\\x20\\x0a\\x21\\x13\\x74\\x26\\x5f\\x75\\xd2\\xbd\\x11\\x4a\\x90\\x81\\x3c\\x97\\xb6\\xf9\\x82\\x54\\x8d\\x96\\x46\\xdc\\x3e\\x3d\\x78\\x4d\\x11\\xca\\xf2\\xba\\xb0\\x8f\\xf1\\x14\\x74\\xa3\\x23\\xae\\x18\\x1d\\xf6\\x32\\x5d\\xce\\x35\\xc4\\xe7\\x9f\\xe8\\x62\\x9c\\x72\\x8f\\xf8\\xc2\\xf9\\x86\\x7f\\x3e\\xb6\\xf1\\xc4\\x74\\x18\\x3a\\x63\\xf9\\xa0\\x84\\xd5\\x27\\xd6\\x66\\xdc\\xff\\xc1\\x73\\xec\\xb9\\xed\\xcf\\x8c\\xde\\xf9\\x6f\\xc8\\x9e\\x56\\x5c\\x3d\\xb0\\xe9\\x06\\x7b\\xae\\xa9\\x08\\x7f\\x1c\\x7e\\xaf\\xf7\\x13\\xdb\\xf0\\xfe\\xf0\\xe0\\x73\\xdf\\x4c\\x96\\x79\\x68\\x36\\xfa\\x86\\xcd\\xe6\\xde\\x21\\xd6\\x7d\\x16\\xa1\\x85\\x09\\x41\\x7f\\x22\\x6f\\xd2\\xeb\\x52\\xdd\\x5c\\xbc\\x25\\xde\\xe5\\x72\\x98\\x2d\\x96\\x1c\\x3e\\x8f\\xcd\\xb7\\xd9\\x3a\\x38\\x0c\\x06\\xab\\x31\\xdd\\x13\\x8f\\xb4\\x8c\\x8a\\x61\\x82\\x4a\\x7d\\x99\\x91\\x5c\\x55\\x46\\xc6\\x9c\\x9d\\x67\\x46\\xa8\\x34\\x9f\\xca\\xef\\xfc\\x7c\\xca\\x31\\xf6\\x12\\xda\\xf8\\xe8\\x33\\xb6\\x39\\xfa\\x6d\\xea\\x5f\\xd6\\xf7\\x72\\xd3\\x2d\\xd5\\x7b\\xb2\\xca\\xf7\\x49\\xf2\\x9c\\xa7\\xd3\\x09\\x52\\x23\\x6d\\xb9\\x74\\xbf\\x27\\x6a\\x2c\\xe1\\xe3\\x85\\xb3\\xaa\\xe6\\x2d\\x0c\\x1d\\x58\\x38\\x60\\x74\\x02\\x64\\x2f\\x32\\x2d\\xb2\\x2c\\xb7\\x8c\\x32\\x8d\\xba\\x4f\\xab\\x9d\\xcb\\x6a\\xc4\\xbd\\xf7\\x8f\\x9c\\x1f\\xdc\\x37\\x68\\x4a\\xd7\\xcb\\xf8\\x82\\x29\\x5c\\x80\\xfd\\xfd\\xba\\x3d\\xb0\\x72\\xc5\\x6f\\x4b\\xef\\xe8\\xf1\\xf9\\xa8\\x89\\x13\\x47\\x85\\x2b\\xbb\\x8f\\x0c\\x74\\x5b\\xf1\\xd4\\xc4\\xf7\\x46\\x1f\\x9c\\xfc\\x81\\x58\\x38\\x9a\\xae\\x94\\xdc\\xf2\\x3d\\xfb\\x0e\\xb1\\xa3\\xb2\\xd1\\x13\\xc1\\x09\\x9c\\x8a\\x18\\x36\\x26\\x33\\x9b\\x2c\\x24\\x2a\\xe3\\x35\\x71\\x71\\xf1\\x89\\xc9\\x66\\x2e\\x23\\x27\\x23\\x57\\x13\\x17\\x1f\\x37\\x3f\\xa4\\x8c\\x17\\x12\\x93\\x13\\xe7\\x87\\xd8\\xe4\\xd2\\xf8\\x81\\xf1\\x17\\xe3\\x99\\x99\\xf1\\x2b\\xe2\\xb1\\x3e\\x39\\x31\\x79\\x73\\xf2\\xe1\\x64\\x56\\x4f\\x2e\\x37\\x92\\x6f\\x26\\xb3\\x6a\\x26\\x3e\\x39\\x3e\\xd9\\x96\\x9a\\x9a\\x3d\\x37\\x94\\x99\\x99\\x2a\\xd8\\xf4\\x73\\x49\\x55\\xd7\\x98\\xb0\\xc9\\x64\\x8b\\x93\\x8d\\xa5\\xdf\\x79\\x4d\\xb3\\x89\\x43\\x79\\x8b\\x99\\xd4\\x8e\\x07\\x0a\\x22\\xbd\\x58\\x74\\xe3\\x2b\\x82\\x08\\x9e\\x9e\\x24\\xc9\\xe2\\xb7\\x53\\x14\\x62\\xca\\x05\\xd2\\x3c\\x10\\x9f\\x29\\xc5\\x5f\\x20\\xf9\\x16\\x4c\\x87\\xbb\\xef\\x9b\\x9e\\x06\\xef\\x76\\x17\\x07\\x9b\\x79\\xb8\\xd8\\x5d\\x9c\\x86\\xd7\\x2e\\x9d\\xb2\\x36\\x6b\\x67\\xe0\\xaf\\xfb\\xde\\xfc\\x1b\\x7b\\x28\\x38\\x8b\\x35\\x33\\x0f\\x77\\x9f\\x3d\\x00\\xd2\\xcf\\x3f\\x71\\x3e\\xfe\\x50\\xf1\\x11\\x8e\\x29\\xdf\\xb3\\x6a\\x45\\x4d\\xaf\\x55\\x0d\\xaf\\x4d\\x1e\\xdb\\xe1\\xe1\\x1d\\x60\\xf8\\x75\\x55\\xc1\\x54\\x61\\x05\\x40\\x23\\xec\\xde\\xe6\\x7d\\x89\\x95\\xed\\xa3\\x22\\x62\\x28\\xfc\\x89\\xc8\\x0d\\x0b\\xea\\x17\\x4c\\x37\\x9a\\x18\\x96\\xb5\\x18\\xcc\\x4a\\x62\\x71\\x82\\xd9\\x24\\x58\\x05\\xc1\\x66\\xd0\\xab\\x2d\\xc8\\x52\\x2d\\x75\\x96\\x61\\xad\\xc9\\xc4\\x63\\xa9\\x31\\x8c\\x36\\x4d\\xfd\\xae\\x53\\xd3\\x17\\x6d\\xf6\\xf1\\x51\\x65\\x0e\\x3e\\x6a\\xe3\\x81\\x17\\xbc\\xd4\\xf4\\xf1\\x0e\\x5d\\x37\\xef\\xd4\\xfc\\xc1\\xf8\\xd5\\x9f\\xc3\\x9d\\xf1\\x7d\\x89\\xe1\\x73\\xf0\\xfe\\xdf\\xc4\\xe2\\xdc\\x7d\\x53\\x4e\\x2d\\x5f\\xc7\\xe4\\xe2\\xa1\\xe1\\x67\\xe9\\xf1\\x18\\x31\\x64\\x36\\x4e\\x0b\\xdf\\xc0\\x1b\\x49\\xde\\x56\\xd2\\x3d\\x5b\\x49\\xde\\xec\\xc8\\x1f\\x4c\\xd0\\xab\\x79\\x0e\\xa9\\xcc\\x3a\\x2b\\xe8\\x54\\x6a\\x81\\x77\\x18\\x8d\\x71\\x66\\x9d\\x41\\x57\\x1d\\x32\\x30\\x54\\xcc\\x97\\xde\\x82\\xe9\\x88\\xaa\\x4c\\x15\\x38\\xa9\\x3b\\x35\\xd5\\x4f\\x0e\\xa9\\x09\\xc8\\xc3\\x90\\x77\\xf8\\x43\\x98\\xe2\\x16\\xb7\\x0d\\x7a\\xa5\\x9b\\xb8\\xcb\\x0d\\x13\\x93\\xe8\\xf9\\xee\\x90\\x18\\xef\\x66\\xef\\x73\\x8b\\xf1\\xbd\\x61\\x6a\\xa2\\xb8\\x1d\\x97\\x3e\\xb7\\xef\\x90\\x38\\x06\\x4a\\x9f\\xd9\\x75\\xe8\\xa9\\x03\\xbb\\x0e\\xc2\\x5f\\x1e\\x7d\\x54\\x7c\\x94\\xbc\\xa3\\xb6\\x55\\xcb\\x3f\\xc5\\xc9\\xc2\\x11\\x7e\\x2e\\x32\\xa1\\xce\\xa8\\x37\\xba\\x13\\x55\\xa3\\x79\\xc1\\x40\\x96\\xbd\\xaa\\xbf\\xb7\\xa3\\xcf\\x97\\xee\\x1f\\xd2\\x05\\xa1\\xee\\x43\\x94\\xe9\\xde\\x2a\\x61\\xec\\xc8\\x84\\x84\\x9a\\xac\\xf4\\x3e\\xbe\\x6e\\x06\\x83\\xb3\\x43\\x6e\\xb6\\x8f\\xad\\xb2\\x9b\\x87\\x07\\xbd\\xfd\\x07\\x26\\xad\\x1c\\xa3\\x74\\x9a\\x06\\x9a\\x4d\\xbd\\x38\\x86\\x4a\\xd4\\xf3\\xa5\\xe7\\x4b\\xcf\\x9e\\x77\\x5e\\x33\\x96\\x94\\x38\\xcf\\x93\\x13\\x91\\xaf\\xe7\\x09\\x9a\\xcf\\x1b\\x22\\xcd\\xff\\xb7\\x1a\\x52\\xbe\\x48\\x4f\\x68\\x3a\\x23\\xcf\\x00\\x34\\x4b\\x9c\\x07\\xc9\\x44\\x3d\\x45\\x58\\x91\\x76\\x90\\xda\\xfd\\x4e\\xf0\\x13\\x4a\\x2b\\x2a\\x4e\\xf5\\x13\\x0a\\xe3\\x05\\x37\\x98\\xac\\x16\\xcc\\x42\\xb4\\x8d\\x89\\x10\\x1e\\x10\\x57\\x0d\\x0b\\xf4\\xce\\x54\\x54\\x88\\xa1\\xf5\\x83\\x70\\xe4\\xf0\\xa6\\x69\\x55\\x9d\\xd2\\xdc\\x47\\x5d\\x05\\xca\\xd9\\x29\\xbb\\x97\\xdf\\xfb\\x4c\\x53\\x61\\xaf\\xf1\\x33\\xba\\xa5\\xad\\xea\\x37\\x7c\\xf4\\x84\\x41\\x69\\x55\\x09\\x49\\x5d\\xee\\x1b\\xb9\\xfc\\xbb\\x1e\\x27\\xa1\\x20\\x6d\\xe0\\x8a\\x0e\\x15\\x03\\x76\\x7d\\x79\\xcf\\xe3\\xe2\\x4f\\xcc\\x96\\x3b\\xcb\\x2a\\x46\\x0d\\xef\\xd3\\x77\\x74\\x53\\x4b\\x4e\\x59\\xd7\\xc2\\xde\\x05\\xeb\\x36\\x2c\\x7c\\x73\\xc1\\xe9\\xf0\\xc4\\x60\\xdf\\xec\\xae\\x25\\xb9\\xb3\\xa0\\x78\\xd3\\xb3\\xfd\\x45\\xf1\\x4f\\x5d\\x4b\\xf6\\xa6\\xc1\\x99\\x6d\\x0f\\xec\\x12\\x07\\x25\\x94\\xfa\\xef\\x18\\x30\\x64\\x50\\xef\\xe1\\x0e\\xd3\\x61\\x98\\x01\\xcf\\xcf\\x13\\x0a\\x52\\xba\\x8f\\xc2\\x99\\xa1\\xe1\\xae\\x8a\\xb9\\xec\\x33\\xe2\\x8d\\x86\\x2b\\xe2\\xfa\\xb3\\xe0\\x1e\\x3b\\x7b\\xde\\x98\\xb1\\xf3\\x16\\xb1\\xdb\\xfb\\xbd\\xf4\\xee\\x77\\xe2\\xb1\\x7b\\xee\\x39\\x0d\\xd5\\x2f\\xff\\x0a\\x59\\x4d\\x4b\\xb2\\x32\\x3b\\x76\\xcc\\x95\\xdb\\xb2\\x1f\\x15\\x87\\xb1\\x1b\\x88\\xfc\\xf3\\xa0\\x5c\\x74\\x67\\x30\\x5f\\x61\\xb5\\x1a\\x33\\x1d\\xc8\\xc6\\x68\\xb5\\x36\\x87\\x91\\x4d\\x76\\xbb\\xf3\\xcd\\x79\\xd9\\xc8\\xa2\\x37\\x5a\\x79\\xb3\\xcb\\x95\\x5a\\x13\\x72\\x21\\xb3\\xc9\\x60\\xe6\\x89\\x97\\xa8\\xe0\\x5d\\x74\\x9c\\x0d\\xdd\\xc9\\x4e\\x12\\xdd\\xf6\\xe8\\xe4\\xc4\\x58\\xec\\xd3\\x76\\x22\\xb9\\x51\\x53\\xda\\xce\\xae\\x28\\x9d\\x01\\x62\\xd5\\x83\\x0b\\xb0\\x8c\\x75\\xab\\x45\\x07\\x66\\x8a\\x61\\xda\\x89\\x65\\xf7\\x17\\x33\\x19\\x45\\xca\\xfd\\x07\\x46\\x57\\xa6\\xf4\\xeb\\xf9\\x18\\x93\\x2c\\xbe\\x37\\xab\\xe1\\x69\\xd8\\x74\\xf7\\xcd\\x82\\x17\\x1e\\x99\\xbf\\xb2\\xec\\xfe\\xac\\xc2\\xb4\\xac\\xfe\\x5e\\x53\\xbf\\x9d\\xb8\\x32\\xfc\\xf7\\x51\\x79\\x87\\x0e\\x3a\\x1f\\x72\\x9f\\xe9\\x03\\xbb\\xc4\\x6a\\x20\\x7a\\x0e\\xbb\\xc5\\xcb\\x70\\x07\\xcc\\xac\\x7d\\xf1\\xe3\\xa5\\x93\\x07\\x1e\\xbb\\x0c\\xe7\\x8a\\x3a\\x74\\x5d\\x3d\\x79\\xd1\\x13\\xf3\\xbe\\x93\\x6c\\x57\\xba\\x07\\x10\\xed\\x8f\\x72\\x12\\xed\\x9f\\x82\\x32\\xd1\\xee\\xe0\\x48\\xbb\\xd9\\x6c\\x30\\x1a\\x9d\\x29\\x99\\x2c\\x9b\\x95\\x96\\xec\\x72\\x29\\x14\\x2c\\x9b\\xed\\xe6\\xed\\x8e\\x54\\xc6\\xe1\\x55\\x9b\\x2d\\xc1\\x44\\x85\\x25\\x45\\x5f\\x13\\x42\\x0e\\x83\\x23\\xc9\\xc1\\x28\\x5f\\xb5\\xc0\\x3e\\xcb\\x61\\x0b\\xee\\x60\\x01\\xbd\\x25\\xd1\\x92\\x6f\\x61\\xd4\\x28\\xe5\\xa1\\x14\\xac\\x63\\x1c\\x96\\x14\\x62\\xec\\x33\\x4e\\xa3\\x33\\xb3\\x3a\\xe4\\x64\\x8c\\x32\\xaf\\x51\\xac\\x10\\x61\\x27\\xb7\\x11\\x91\\xdf\\x18\\xc9\\x67\\xa4\\x4d\\x27\\x94\\x56\\x7d\\xbe\\x56\\x92\\x95\\x4d\\xab\\x68\\x3b\\x8a\\xa4\\xff\\xec\\x44\\x25\\x58\\xa8\\x5e\\xe0\\x59\\x6f\\xc4\\x5d\\x96\\x74\\x05\\x71\\xa1\\x3c\\x02\\x57\\x40\\x78\\xd4\\xec\\xa1\\xaa\\x31\\x78\\xfc\\x3f\\x79\\x7b\\x9d\\x53\\x15\\x35\\xce\\xb9\\xa5\\xe2\\xaf\\x2f\\x8b\\xd3\\xa6\\x9c\\xda\\xb5\\xc9\\xb9\\xc9\\x4c\\x8e\\x0e\\x8c\\x4b\\x11\\x1e\\x6c\\x86\\x1e\\x97\\xc7\\x84\\x67\\x9b\\x47\\xe0\\x89\\x03\\x5e\\x16\\x1b\\xb8\\x55\\xab\\x17\\xac\\x2d\\xce\\x59\\xbb\\x60\\x55\\xf8\\x2a\\x13\\xbf\\x76\\xdc\\xda\\xdf\\xc4\\xa4\\xd4\\xae\\xe3\\xbe\\x99\\x30\\x01\\xde\\x1d\\x4f\\x75\\xf8\\x5d\\x2d\\x39\\xdc\\x5f\\x79\\x2f\\xd1\\x89\\xa9\\x68\\x4a\\xb0\\x53\\x22\\xe7\\x06\\x6c\\x4e\\x76\\x98\\x4c\\x5e\\x8d\\xd2\\xae\\x77\\x3a\\x95\\x44\\xf6\\x72\\x7c\\x5a\\x7a\\x9c\\xa3\\x3a\\x14\\x17\\xe7\\x56\\x26\\x9b\\xdd\\xc4\\xfc\\xc1\\x10\\x74\\x9b\\x4d\\x5e\\xa5\\x97\\x88\\x1a\\x83\\x46\\xa5\\x24\\xf8\\x3e\\xef\\x8b\\xb6\\x94\\x38\\xcf\\x47\\xfc\\xc1\\x18\\x93\\x3d\\x96\\x43\\xa5\\x06\\x23\\xaf\\x3f\\x0d\\x15\\x45\\x9a\\x8b\\x88\\x9d\\x48\\xc5\\x79\\x37\\x28\\x05\\x22\\x8d\\x18\\x9e\\x15\\x80\\x36\\x9c\\xb0\\x08\\xbf\\xbd\\x2c\\x4d\\x14\\x7f\\xf8\\x0b\\xcc\\xfc\\x57\\xfc\\x92\\xf8\\xba\\x1f\\x3b\\xbe\\xd6\\xf3\\xa7\\x6b\\xf7\\x7e\\x33\\xcc\\x27\\x5e\\x4a\\x82\\x4f\\x27\\x3c\\x20\\x9e\\x7b\\x55\\xec\\x7c\\xf2\\xf9\\xeb\\xe2\\x4f\\xe2\\x9b\\x1f\\x9c\\x4d\\x00\\x5f\\xd3\\xcf\\x70\\xef\\xc7\\x8a\\x4d\\xb5\\xfa\\x27\\xb7\\x16\\xbf\\xed\\x68\\xaa\\xe5\\x06\\xf4\\x15\\x1f\\x13\\x8d\\x0b\\xa7\\x63\\x7c\\xe7\\x8b\\x7f\\xb3\\xb3\\x53\\x8d\\xe2\\x3a\\xc9\\x16\\x68\\xd9\\x4f\\xe8\\xe3\\xa0\\x24\\x47\\x5d\\xc4\\xbb\\x99\\x14\\x2c\\x31\\x24\\x9a\\x9d\\xc8\\x62\\xc1\\x56\\x1c\\xe7\\x4c\\x74\\x3b\\x54\\xbc\\x5a\\x50\\x73\\x46\\x63\\x32\\xe7\\xb1\\x33\\x82\\x42\\xa8\\x0e\\x39\\x2c\\x0a\\x97\\x59\\xad\\x51\\x57\\x87\\xdc\\x06\\x8d\\x82\\xfc\\x71\\xf1\\x3a\\x06\\x38\\x53\\x44\\xf2\\xcb\\x26\\x9f\\x3c\\x6e\\x22\\x7a\\xbd\\xd5\\xd4\\xa3\\x7d\\x68\\x4c\\xb4\\x7a\\x49\\x51\\x81\\xb6\\x89\\x78\\x68\\xdd\\xa7\\x7a\\xd2\\x3d\\x40\\xfc\\xe3\\x34\\xf6\\xcb\\xd3\\x83\\xc2\\x0f\\xfd\\x78\\xfe\\xd7\\xe7\\x12\\xfe\\x71\\xbf\\xf8\\x62\\x02\\xdc\\x0b\\x09\\x67\\xef\\x82\\x8d\\x09\\xe2\\x0b\\x1d\\x7e\\x4a\\x38\\x1e\\xce\\x81\\xe6\\x5c\\xb1\\x0e\\xb5\\x0c\\x08\\x7d\\x98\\x04\\x8f\\x8a\\x13\\xe0\\xd1\\x6d\\x7f\\xdd\\x06\\x9f\\x88\\x69\\xe4\\xb2\\xed\\xaf\\x44\\x1e\\xef\\xf8\\x93\\xa4\\xc3\\x56\\xb4\\x7c\\xc7\\x75\\xe1\\x3e\\x44\\x85\\x68\\x4b\\x70\\xa8\\x27\\x39\\xd9\\xc1\\x58\\x7c\\xf6\\x5c\\x36\\x43\\xaf\\x50\\x2a\\xb3\\xe3\\x33\\xf4\\x19\\x45\\xc5\\xb9\\x0e\\x5a\\xa9\\x59\\x71\\x60\\x32\\x9b\\xaa\\x43\\x3e\\x73\\x1c\\xf9\\x4b\\xd5\\xe8\\x3d\\x89\\x9e\\x6a\\x0f\\xa3\\x64\\x3c\\x9e\\xd4\\xd4\\xc4\\x9a\\x50\\x2a\\x20\\x85\\x41\\x41\\x9d\\xb5\\x4a\\x05\\xa7\\x64\\x14\\x0a\\x8d\\x86\\xaf\\x09\\x69\\xcc\\xf2\\x88\\x1e\\xa9\\x31\\xa8\\xed\\xce\\x18\\xc1\\x43\\x8c\\xa2\\x6f\\xeb\\xcf\\x93\\x6c\\xa5\\x08\\xc5\\x7b\\x24\\x59\\x9a\\x64\\xb6\\x47\\x84\\x32\\x25\\xf6\\x62\\xa9\\xfa\\x23\\xcd\\x01\\xe9\\xd1\\x26\\x66\\x82\\x1c\\x9d\\x34\\xfb\\xd2\\xc3\\xbe\\xd5\\x7c\\x2c\\x63\\xdd\\x22\\x50\\x8e\\xdf\\x57\\x26\\x9e\\x7f\\xf3\\xef\\x9e\\x1e\\x09\\xf3\\x67\\x7e\\xb1\\x22\\xfc\\x65\\x02\\xa3\\xca\\x5e\\x34\\xf5\\xca\\x9d\\x87\\xfb\\xfc\\xfd\\xa5\\x93\\x1f\\x78\\x37\\x24\\x5c\\x28\\x98\\x1d\\x5a\\x3f\\xb2\\x0c\\xbf\\x02\\x5f\\x94\\x57\\x8d\\x9d\\x01\\x4c\\xee\\x89\\x27\\x8f\\x3c\\x36\\x78\\xe8\\xb6\\x65\\xa5\\xa9\\xdb\\xfa\\xdc\\x19\\xba\\xeb\\x4b\\xcf\\xb1\\x3d\\x87\\xb6\\x85\\x06\\x6c\\xcb\\xe9\\xe4\\x48\\x4d\\x4a\\x22\\x7c\\x30\\x9b\\xf0\\xc1\\x25\\xc2\\x07\\x4e\\x22\\x1d\\xc7\\x06\\x0b\\x5c\\x4a\\x86\\x77\\xb8\\xed\\x89\\x06\\xad\\x36\\xd1\\xcd\\x2b\\xb9\\x64\\x42\\x1c\\xc8\\x62\\x36\\x7b\\xed\\x89\\xda\\xc4\\xea\\x90\\xc5\\x62\\xd0\\x07\\xb5\\xac\\xdb\\xc1\\x10\\x0c\\x3a\\x9d\\x3c\\x47\\x5b\\x0a\\xdb\\x71\\x80\\x7c\\x7b\\xfb\\xd6\\x20\\xa9\\xb9\\x90\\xd8\\xbb\\xb7\\xb0\\x00\\x51\\x51\\x4c\\x8a\\x39\\x95\\x92\\x3e\\x8f\\xb8\\x01\\x8b\\xc5\\xb7\\xcf\\xa5\\x2e\\x4b\\xfb\\x5c\\x0c\\x9f\\x85\\xd1\\xd7\\x09\\xfd\\xbf\\xdc\\x9c\\x7b\\x2c\\xf9\\xcf\\xcb\\xae\\x81\\xed\\x78\\xf3\\xcc\\xe7\\x76\\x5f\\xfb\\x8d\\x48\\xc0\\x41\\xc7\\x9f\\xe1\\x5e\\x3b\\x1b\\x0f\\xc5\\x3f\\xff\\x0b\\xee\\xbd\\xae\\xd9\\x54\\x6b\\x78\\x61\\x9b\\x7f\\xe2\\x72\\x4d\\x53\\xad\\x15\\xb4\\x0f\\xfe\\xf9\\x46\\x1c\\x3b\\xc5\\x2e\\xae\\x6e\\x69\\x11\\x77\\x33\\xef\\xc1\\x42\\xfe\\x31\\x83\\x80\\xb4\\xa2\\x17\\x12\\x25\\x19\\xb9\\xba\\xe5\\x27\\xfe\\x1c\\xf7\\x20\\x29\\xb3\\x9b\\x68\\x84\\xce\\x78\\x42\\xb0\\x25\\xc1\\xed\\x8a\\x2f\\x49\\xf6\\x65\\x19\\x0d\\x98\\x71\\x28\\x95\\x8c\\x21\\x2b\\x39\\xde\\x2d\\x04\\xba\\x24\\xe6\\xd5\\x87\\xd2\\x13\\x1b\\x46\\xa6\\x17\\x91\\x6b\\x5c\\x02\\xef\\x72\\x60\\xcc\\xf3\\xa8\\x3e\\xa4\\xe5\\x1b\\x46\\x6a\\x2d\\xf5\\x21\\xc1\\x08\\x6a\\xa3\\x51\\x2b\\xe4\\x04\\xc0\\x15\\x00\\x6d\\x00\\xfc\\x62\\x00\\xbe\\x0f\\xc0\\xa7\\x01\\x78\\x3b\\x00\\x27\\x03\\x70\\x28\\x00\\xbb\\x02\\xf0\\x40\\x00\\x96\\x04\\x60\\x5a\\x00\\x46\\x05\\xa0\\x22\\x00\\x5d\\x03\\x90\\x1b\\x00\\x67\\x00\\x14\\x01\\xf8\\x35\\x00\\xdf\\x04\\xe0\\x93\\x00\\x9c\\x8b\\x86\\x7f\\x34\\x00\\x0f\\x06\\x60\\xa9\\x14\\xbe\\x2c\\x00\\x25\\x01\\x70\\x04\\x40\\x19\\x80\\xdf\\xa4\\x90\\x1f\\x07\\xe0\\x2d\\x29\\xe4\\xf6\\x00\\xdc\\x1f\\x80\\x89\\x01\\xc8\\x08\\x40\\x9c\\x14\\x40\\x98\\x1c\\x80\\x11\\xd1\\x38\\x59\\xd2\\x5b\\x95\\x14\\xed\\x2f\\x01\\x38\\x1e\\x80\\x9d\\x01\\x58\\x17\\x80\\x7b\\x02\\x40\\x82\\x85\\x02\\xd0\\x4f\\x0a\\x26\\x45\\x0e\\x36\\xd0\\x80\\x53\\x1a\\x03\\xf0\\xcf\\x00\\x5c\\x0f\\xc0\\x85\\x00\\xbc\\x12\\x80\\x03\\x01\\x38\\x2c\\xe5\\x7e\\x5f\\x00\\xd6\\x07\\x60\\x73\\x00\\x96\\x07\\x60\\x46\\x00\\xc6\\x04\\x60\\x40\\x00\\x4a\\xa5\\xb8\\xf9\\x52\\xe6\\x12\\xa5\\xe4\\xf5\\x52\\x61\\x5a\\xa4\\x5c\\xde\\x94\\x8a\\x74\\x43\\x02\\xf5\\x72\\x00\\x9e\\x0f\\xc0\\xde\\x00\\x6c\\x0a\\xc0\\x0a\\x09\\x42\\x75\\x00\\x06\\x4a\\x10\\x08\\xda\\xb2\\x03\\x10\\x2f\\x21\\x4f\\x1d\\x80\\xa6\\x00\\x7c\\x17\\x80\\xab\\x01\\x78\\x47\\x8a\\xf5\\x5c\\x34\\xd6\\x32\\x29\\xd6\\xc8\\x00\\xf4\\x0d\\x40\\x67\\x29\\x0a\\x09\\xaf\\x21\\xf7\\xa8\\xba\\xdd\\x28\\x94\\x5b\\xc6\\xaa\\xdc\\x76\\x58\\xcb\\xed\\x47\\xb8\\xb4\\x45\\x1c\\xf3\\x87\\xb0\\x6e\\x17\\x9d\\x9a\\xfd\\x63\\xe8\\x90\\x7a\\x49\\x14\\x50\\x2b\\x21\\x3b\\xb6\\xb9\\x26\\x76\\x10\\x8c\\x3f\\xca\\xf4\\xa6\\xe2\\xd6\\xb6\\x4f\\x6a\\x11\\xd8\\x88\\x3b\\xeb\\x63\\x62\\xc6\\xbb\\x98\\x8a\\xed\\x52\\x8f\\x8a\\x6c\\x82\\xc1\\x53\\xbb\\x8a\\x56\\xa5\\xbf\\xb0\\x6c\\xfd\\xf6\\x09\\x2f\\x6d\\x5a\\xb2\\x03\\x6f\\xe0\\x2a\\xba\\x8f\\x99\\xdd\\xbb\\xff\\x40\\x3a\\x8c\\x65\\xc3\\xb2\\xfb\\x8a\\x67\\xd4\\x86\\x96\\xae\\x1b\\xfd\\xc2\\xaa\\x9e\\x55\\xc1\\xec\\xe5\\x77\\xce\\x08\\xe0\\xa5\\x07\\xe2\\x96\\xde\\xf7\\xec\\xde\\x07\\xc1\\xb6\\x7d\\xd3\\x7c\\x75\\xff\\xca\\x39\\x4d\\x77\\xdf\\x7d\\x77\\x78\\x0d\\xb7\\x2a\\xfc\\xd3\\xde\\xed\\x53\\xbe\\x7a\\xfa\\xce\\x27\\x77\\x6e\\x81\\x84\\xad\\xd3\\xba\\xad\\xfd\\xb0\\xff\\x2b\\xf7\\x81\\xa2\\xa6\\x5e\\xb6\\x93\\x7e\\x6c\\xf9\\x0e\\xdf\\xe0\\xb6\\x11\\x49\\x90\\x4d\\x3c\\x00\\xe2\\xdf\\xa4\\x26\\x1a\\x12\\xdd\\x71\\x36\\xce\\x95\\xc9\\x30\\xb9\\xae\\x1c\\x77\\x1a\\x8a\\xe7\\xe3\\x90\\xcb\\x65\\x4e\\xd6\\xeb\\x91\\xc6\\x1c\\x97\\x4c\\x07\\x18\\x11\\x4b\\x95\\x18\\xa6\\x44\\x02\\xe6\\x13\\x21\\x78\\xde\\xd8\\xba\\x7c\\x43\\xdb\\xf0\\x4b\\x5a\\x34\\xac\\x87\\x88\\x7d\\x49\\x57\\x6d\\x88\\xf4\\x71\\xf2\\x02\\xb1\\x42\\xcd\\x74\\x78\\x0f\\x2f\\x30\\xb4\\xac\\x69\\xb8\\xa0\\x72\\xf4\\xd7\\xaf\\xe6\\x6a\\x3b\\x24\\x76\\xae\\x4a\\xbb\\xc3\\xbf\\x6e\\x7c\\xcd\\x74\\x85\\xb7\\xac\\x4c\\x3f\\xa8\\xdb\\x1c\\xcf\\x43\\xcb\\x3b\\x96\\xc6\\x8d\\xdd\\xfe\\x64\\x16\\xb7\\x6d\\xc2\\xb4\\x77\\xc5\\x8d\\x13\\xbe\\xec\\xee\\xef\\x5a\\x3c\\x69\\xfa\\x33\\x9b\\xa7\\xcd\\x70\\xf4\\xfe\\xb3\\x27\\xae\\xaf\\x3b\\x01\\x97\\x3f\\x71\\x7f\\x45\\xcd\\x4a\\x51\\x1f\\x82\\xe2\\x97\\x83\\x77\\xc8\\xed\\x79\\x43\\x11\\x52\\x8c\\x94\\xc6\\x79\\x18\\x09\\xc7\\xe7\\xa0\\x59\\xc1\\xae\\x89\\x69\\x59\\x5e\\x6f\\x8a\\x4d\\xc8\\xca\\x8e\\xd7\\xe9\\x70\\xb6\\x80\\x52\\xf8\\xdc\\xbc\\xec\\xac\\xac\\x54\\xd6\\x51\\x1f\\x52\\x9b\\xea\\x43\\x7a\\x36\\x91\\xc5\\x4a\\x86\\x55\\xb3\\x6a\\x94\\x96\\x94\\xca\\x20\\xa0\\xfd\\x63\\x39\\xe9\\xde\\xc4\\x14\\xb9\\xc1\\xc3\\x17\\x69\\x3d\\x92\\x55\\x20\\xed\\xdb\\x95\\x49\\xc0\\xd7\\xbe\\xf6\\x25\\xef\\x8e\\xfa\\x1a\\x8c\\x24\\xee\\x4d\\x1e\\x49\\xb8\\x63\\x26\\x66\\x40\\x53\\x9a\\x12\\x68\\x53\\x31\\x71\\x91\\x08\\x32\\x7c\\xc0\\xf9\\xe3\\xf1\\x92\\xf8\\xc6\\xda\\x3d\\xda\\x5e\\x30\\x98\\x9e\\xbf\\xa8\\x9e\\xd6\\xed\\xb1\\xb1\\x33\\x4a\\x87\\x35\\xf7\\x13\\xad\\x36\\x4b\\xdd\\x63\\x60\\x7c\\x1b\\xbe\\x77\\x9a\\xeb\\xf6\\x8b\\x37\\x1f\\x7e\\x18\\xb2\\xf7\\x6c\\xea\\x72\\x07\\x8c\\xa3\\x67\\x71\\x2f\\xde\\x5f\\x7d\\xa1\\xea\\xd8\\xf8\\x0f\\x87\\x8c\\xe9\\xdf\\xec\\x63\\x4f\\x1e\\xaa\\x69\\x1e\\xc4\\xad\\x6a\\xea\\xfe\\x72\\x35\\xf3\\x78\\xe3\\x0a\\x8a\\x8b\\x6e\\x2d\\x3f\\x70\\x5f\\x10\\xbf\\x58\\x85\\xcc\\xc8\\x8b\\x7c\\x68\\x48\\x30\\x2f\\x27\\x5e\\x43\\x34\\x27\\x6f\\x48\\x21\\xd2\\x1d\\xe2\\xd9\\xc2\\x22\\x8d\\xea\\xad\\x10\\x56\\xbf\\x15\\x02\\x0d\\xc6\\x1a\\x60\\x1c\\x49\\x49\\x19\\x7f\\x09\\x25\\xb1\\x8e\\x0e\\x7f\\x09\\x39\\xcc\\x6d\\x5d\\xda\\xb2\\xd5\\xf7\\x3b\\x72\\xa7\\x5d\\xec\\x46\\xa9\\x98\\x7c\\x36\\xc4\\x45\\xbb\\xf8\\x81\\x78\\x19\\x31\\x3d\\x45\\x26\\xa1\\x10\\xa7\\xc8\\x5d\\x45\\x26\\xd6\\x57\\x90\\x62\\xc2\\x9b\\xee\\x87\\x11\\x6b\\x0e\\xec\\xdf\\xf0\\xfe\\xdb\\x95\\xc3\\x87\\x0d\\xc2\\x0f\\xbe\\x26\\x1e\\x7e\\xed\\x0d\\xf1\\xb9\\x17\\x4f\\x43\\xe5\\x6b\\xa7\\x61\\xd0\\xab\\xa3\\x9e\\x11\\xaf\\x1e\\x7c\\x46\\xbc\\xf6\\xcc\\x01\\x48\\x3e\\x70\\x00\\xd2\\x9e\\x21\\x5a\\x23\\x7b\\xcd\\xec\\xf9\\xf7\\xc3\\x03\\xe2\\xb5\\x8a\\xb2\\xde\\xfd\\xc4\\x8f\\x68\\x94\\xb7\\xa0\\xff\\xcb\\xaf\\x41\\xe5\\xe9\\xd7\\xc5\\x23\\xa7\\x0f\\x80\\xe7\\xe0\\x01\\xf1\\xda\\xd3\\xe4\\x78\\xe6\\x19\\x3a\\x83\\x8f\\xe8\\xbb\\x97\\xf0\\x62\\x21\\x4e\\xea\\x23\\x8a\\x43\\xeb\\x83\\x21\\x3d\\x42\\x46\\xb5\\x42\\xa1\\x34\\x5b\\x8c\\x4a\\x0b\\xe3\\x74\\xe9\\x5d\\x89\\xae\\x81\\xae\\x6a\\x17\\x5b\\xad\\x27\\xd7\\xcd\\xae\\x8b\\xae\\x1b\\x2e\\x2e\\x7a\\xcb\\xb6\\xde\\xe4\\x33\\x26\\x9b\\xdd\\xf6\\x76\\x48\\x4b\\x7c\\x64\\x25\\x51\\x90\\x49\\x96\\x4a\\xcb\\x4a\\x0b\\x4b\\x7b\\xfa\\x78\\xbd\\x5a\\xa5\\xb2\\xcb\\x23\\x6f\\xa8\\x0a\\x34\\xbc\\x33\\xba\\xa0\\xa0\\x20\\xe2\\x1f\\x4b\\x13\\x71\\xe6\\x50\\x7b\\xe1\\x16\\x8c\\x19\\x09\\x01\\x30\\xe9\\x82\\xd1\\x6b\\xf4\\x99\\xed\\x84\\x0a\\x8c\\x40\\x47\\x94\\x14\\x79\\xac\\xfc\\x6e\\xc5\\xbf\\xa7\\x3d\\xde\\x1f\\xaf\\x7c\\xe5\\x86\\xbe\\xdf\\x33\\x0d\\x4d\\x19\\xf7\\xb5\\xe0\\x07\\xf0\\x62\\x3c\\xd5\\x16\\x3e\\x04\\x7b\\x2e\\xa4\\x84\\x4f\\x30\\x42\\xf8\\x7c\\xd6\\xab\\xb0\\xa7\\xf9\\x37\\xbc\\x33\\x3c\\x09\\xef\\x9c\\x39\\x93\\xda\\x41\\x33\\x24\\x3f\\x60\\x3b\\xa9\\xe3\\x9e\\xc1\\x14\\x5e\\xe3\\x70\\xb3\\x56\\xbd\\xd5\\xa3\\xa7\\xf6\\x8d\\x8b\\x4d\\x49\\xd5\\x38\\x1c\\x0a\\x97\\xd3\\x55\\x1d\\x52\\x3b\\x4d\\x88\\x58\\x41\\xd4\\x73\\x68\\x1d\\x27\\x28\\xd1\\x6d\\xb4\\x4e\\xe5\\x1e\\xad\\x24\\x64\\xb4\\x60\\xa1\\xb8\\x0b\\x58\\x3d\\x45\\x12\\xa3\\x4a\\x5e\\xa1\\xc9\\x4e\\x1e\\x7d\\x05\\xf6\\x34\\x5c\\x64\\x40\\x8c\\x05\\xf2\\x61\\xe4\\x95\\xf7\\x76\\x15\\xff\\x14\\x3e\\x7a\\xf4\\xc5\\xef\\x3f\\xfa\\xe4\\xfb\\x93\\xc7\\xc2\\x47\\x7f\\x2a\\xde\\xf5\\xee\\x47\\x30\\x92\\xdb\\x2e\\xfe\\x59\\xfc\\xe4\\x2d\\xf1\\xd9\\xb9\\xea\\x47\\x3f\\xab\\x86\\x84\\x86\\xaf\\x45\\xf1\\xeb\\xe3\\xe2\\xe7\\x35\\x9f\\x3d\\xaa\\x9e\\x0d\\x77\\xbe\\x0d\\x69\\x30\\x90\\xd6\\xcf\\xf0\\x96\\x4f\\xd9\\xa5\\x6c\\x19\\xb1\\x4f\\x13\\x51\\xb7\\xa0\\xc7\\xa1\\xb1\\x58\\x13\\xb5\\x2c\\x6b\\xd5\\x30\\x9e\\x24\\x6d\\x7e\\x22\\x24\\x26\\xa2\\x78\\x85\\xc1\\x6a\\x01\\xde\\x02\\x16\\x23\\x6d\\x14\\x3e\\xef\\x1b\\x3d\\x5a\\x12\\x41\\xa3\\xcf\\xc7\\x1a\\xdd\\x74\\x77\\xf1\\x34\\x1c\\x11\\xb6\\x26\\xab\\xc7\\xd8\\xda\\xaa\\x62\\x36\\x52\\xc9\\x2b\\x18\\xf1\\xd4\\xbd\\x3f\\xac\\xbd\\xef\\x3f\\xdb\\x77\\xfe\\x78\\x5f\\xf3\\x1b\\x05\\x8f\\xdf\\xb9\\xe6\\xc4\\x80\\xb2\\x71\\xd7\\xb6\\xf9\\xf6\\x0f\\x3b\\x3a\\x3f\\xb9\\x16\\x84\\x3d\\x4f\\xa1\\x96\\x87\\x36\\x89\\xe2\\x93\\xe2\\xa3\\xc5\\xbd\\xa7\\x2d\\xcf\\xda\\xbd\\x18\\x3f\\x00\\xd6\\xa2\\xee\\xf3\\xc5\\x7f\\xc8\\x72\\x45\\xdd\\xf2\\xa6\\x30\\x9e\\xfb\\x46\\x1a\\x23\\xa5\\x43\\xc5\\x68\\x4e\\xb0\\x2b\\xe0\\x1c\\x63\\x22\\x62\\x52\\x1d\\x85\\x85\\x4c\\xa2\\x5a\\xa7\\xc5\\x0a\\x85\\xbf\\x93\\x96\\x27\\xf6\\x82\\x96\\x55\\xb2\\x8a\\x1c\\x47\\xb2\\x3e\\x39\\xb3\\x3e\\x94\\x96\\x96\\xac\\x20\\x7f\\x0c\\xd6\\xeb\\xad\\xf5\\x21\\x93\\x49\\x6f\\x66\\x34\\x84\\x8e\\x4a\\x7d\\x17\\xe4\\x46\\x69\\xc3\\x19\\x79\\x69\\x90\\xd6\\xb6\\xe9\\xdb\\x78\\x15\\x52\\x19\\x95\\xe0\\x55\\xd2\\x16\\x34\\x22\\x3d\\xcc\\x6a\\x22\\x41\\x92\\xda\\xb5\\x4b\\x43\\xc4\\xeb\\x6f\\xd7\\x30\\x4d\\x5b\\xb3\\xd3\\x1a\\x1f\\xdc\\xc9\\xcd\\x6b\\x66\\x33\\xc4\\x53\\x9b\\x1e\\x82\\x1f\\x1e\\xd8\\xf1\\xd3\\x99\\x5f\\x99\\x41\\xe2\\xc5\\xdc\\x4d\\xba\\xc9\\x93\\x66\\xce\\x4e\\x28\\x5f\\x72\\xdf\\xd4\\x13\\xdb\\xd6\\x3f\\x6f\\x5b\\x67\\x9a\\x30\\x7c\\xd8\\x04\\x47\\xe7\\xfb\\xe6\\x0f\\xeb\\xf8\\x12\\xf7\\xcd\\x6f\\x9f\\xf2\\xc9\\xcd\\xf3\\x51\\x4b\\x0b\\x33\\xa3\\xf9\\x61\\xfc\\x77\\x71\\x5d\\xb3\\xfb\\xdf\\xb6\\x81\\x7d\\xfa\\xdf\\x91\\x96\\x4d\\x44\\xfa\\xbc\\xaa\\x99\\x2b\\xa6\\x8c\\x77\\x07\\xbb\\x06\\xbb\\x78\\x32\\x12\\xd3\\x93\\x4b\\xee\\x0c\\x2e\\x7f\\x18\\x41\\xcb\\xbf\\x88\\xe3\\x71\\x9a\\xed\\x8c\\x94\\xa8\\x20\\xe8\\x44\\x40\\xa5\\x1d\\xa3\\x66\\x54\\x0a\\xa1\\x32\\xa4\\x50\\x30\\x88\\x61\\x2b\\x43\\x8c\\x15\\xe9\\x51\\x4c\\x87\\x07\\xb4\\xb5\\x24\\xfa\\x18\\x22\\x3e\\x69\\x73\\x0d\\xa3\\x3b\\x76\\x29\\x0c\\x2e\\x5c\\xde\\x2d\\x7c\\xcd\\x85\\x53\\xd8\\xce\\x4d\\x67\\x37\\x40\\xe9\\x03\\xf2\\x5c\\xdd\\xae\\xc4\\xa6\\x1b\\x2b\\x8d\\x09\\x94\\xe7\\x26\\x87\\xe9\\x68\\x3b\\xa3\\x80\\xe6\\x33\\xeb\\xc3\\xe7\\x91\\x70\\x04\\x67\\xc4\\xc9\\xcb\\x49\\x90\\xb0\\x19\\x24\\xec\\x5a\\x6e\\x23\\x09\\x3b\\x4f\\x25\\x87\\xcd\\x8a\\x84\\x7d\\x4e\\x0e\\xdb\\xb5\\x2d\\x6c\\xd7\\x96\\x9f\\xf9\\x01\\xb1\\x70\\xf1\\x6f\\x34\\x2c\\xc9\\xf7\\x0c\\x12\\x56\\x7d\\x8c\\x65\\x70\\xbc\\x8d\\xae\\x42\\x16\\x09\\xdf\\x4d\\x0a\\x4f\\x61\\xcf\\x57\\xfe\\x41\\xf8\\x4e\\xb1\\xe1\\xc7\\x47\\xe1\\x2b\\x78\\xeb\\x1f\\x84\\xcf\\x8f\\x0d\\xbf\\x94\\x84\\xef\\x2c\\x85\\x17\\xba\\xc9\\xe1\\x0f\\x44\\xc2\\x8f\\x88\\x86\\x77\\xc7\\x86\\x77\\xb4\\x7c\\xc7\\xbc\\xc2\\x0e\\x30\\xf1\\xd8\\x26\\x0d\\x31\\xdf\\x8f\\x26\\xf0\\x63\\x70\\x2f\\xa4\\x45\\x09\\x41\\xad\\x1a\\x29\\x18\\x2d\\x83\\x38\\x56\\xa7\\xd7\\x6a\\x50\\xfe\\xf9\\x56\\xae\\x27\\x68\\xa7\\x8b\\x44\\xa4\\x17\\x15\\xd3\\xd9\\x5b\\x1e\\x2b\\x5e\\x55\\xd2\\xad\\x6c\\xc5\\xe6\\xcd\\x2b\\xca\\xba\\x95\\x30\\xd7\\x21\\xb3\\xe7\\xbd\\xdb\\xfa\\xa6\\xf4\\xdd\\x76\\x6f\\xcf\\x2a\\x0a\\xd3\\xd0\\xf2\\x3a\\xfe\\x81\\x5d\\x41\\x60\\x66\\x04\\x4d\\x1c\\xaf\\xd1\\x68\\x95\\x5a\\xcc\\xe8\\xf4\\x6a\\xa4\\xc4\\xda\\x95\\x1c\\x9d\\x4b\\xfc\\x4e\\x41\\x6b\\x07\\x8b\\xdc\\xde\\xc9\\x0b\\x14\\xb6\\xcd\\x6e\\x4d\\x4b\\x37\\x7a\\xe1\\x72\\x1b\\x40\\xe6\\xb1\\xb6\\xa4\\x9a\\xbd\\xbf\\xcf\\x33\\x52\\x63\\xa5\\x46\\xa9\\x26\\x8e\\x84\\x4e\\xa3\\xbd\\x25\\xcf\\x69\\xe9\\x14\\xa2\\xd4\\xc2\\xec\\x29\\xe2\\x56\\xc4\\x02\\x82\\x15\\xff\\x45\\x9e\\x79\\x4e\\xab\\xd5\\x28\\x35\\x98\\xd1\\xeb\\x28\\xf8\\x95\\x3c\\x41\\xc6\\x75\\xe7\\xad\\x79\\x4e\\x2d\\xf6\\x53\\xd8\\x04\\x2b\\x36\\xbb\\xd1\\x87\\xb3\\xdb\\x00\\xee\\x8f\\xc5\\x0e\\x6a\\x97\\x67\\x3b\\x4a\\x0f\\x9a\\x35\\x76\\xbd\\x85\\xe2\\x9a\\x23\\x42\\xd2\\x6e\\xe2\\xe3\\x1c\\x44\\x60\\xc4\\xe4\\xfc\\x36\\x18\\x8f\\x29\\x49\\x2c\\xee\\xb1\\xd8\\x76\\x1f\\x53\\x0b\\xad\\x37\\x72\\xda\\xd1\\xb2\\xd9\\x89\\xec\\x4f\\xe2\\x8d\\x9c\\xc9\\x68\\xd2\\xd8\\x95\\x7a\\x6c\\xb1\\xd8\\x35\\x7a\\x36\\xce\\xa1\\xb1\\xeb\\xac\\x2b\\x4d\\x41\\x5a\\x3d\\x52\\xed\\xd0\\x82\\x3a\\xdb\\x95\\xb7\\x6d\\x44\\xc3\\x2d\\x55\\x15\\x83\\x82\\x98\\x4a\\x6b\\xbd\\x89\\xad\\xbc\\x30\\x6e\\xbb\\x97\\xec\\x4b\\x92\\xaf\\x32\\x29\\x5f\\x0c\\x72\\xa1\\xee\\x24\\x67\\xc8\\xa1\\xb4\\xa9\\xac\\x5a\\x30\\x9b\\x0d\\x56\\x9b\\xcb\\xc1\\xc7\\x27\\x18\\x5c\\xa6\\x38\\x1b\\x83\\x6c\\x7a\\x56\\xcb\\x2b\\x51\\x3e\\xcd\\xd1\\xf5\\x4f\\xcf\\x1b\\x62\\x72\\xd6\\xd6\\xdc\\xc9\\x79\\xac\\x1e\\xf3\\x1f\\xe5\\xcd\\x00\\x9f\\x89\\x49\\x6f\\xfc\\x3e\\x83\\x93\\x2a\\xd9\\xe1\\x7f\\x90\\x45\\x8c\\x3a\\xb5\\x7c\\xc9\\x9c\\xe4\\xde\\x40\\xf1\\x28\\x8b\\x60\\xce\\x9b\\xa2\\x48\\x20\\xe6\\x81\\x5d\\xc1\\x64\\xe7\\x68\\x92\\x06\\x85\\xf4\\x1a\\x0d\\xe7\\xb4\\xdb\\x9d\\x4e\\x4b\\x65\\xc8\\x89\\xb8\\xf4\\xca\\x10\\x67\\x8b\\x1a\\x43\\xd4\\xf0\\xa3\\x16\\xb0\\x2f\\x46\\x42\\xd3\\x06\\x59\\x15\\xf0\\x31\\x16\\xbf\\xcf\\x2f\\x0f\\x0b\\xf0\\x93\\x27\\x13\\x23\\xc9\\x64\\x2c\\xdb\\xc4\\x26\\xe6\\x64\\xd9\\x96\\x0f\\xd7\\xfc\\xe9\\xd9\\x15\\x17\\x96\\x0f\\x5d\\x9b\\xc4\\xb2\\xf7\\xae\\x2a\\xbc\\xa7\\x63\\xca\\xec\\x59\\xaf\\x5f\\x7c\\xdf\\x38\\xfd\\x8e\\x41\\xf7\\x0d\\x1b\\x31\\x78\\xc0\\xfd\\xd5\\xcc\\xc1\\xbd\\xe2\\xfd\\xe2\\x97\\x5b\\xce\\x1d\\x7b\\x0a\\xba\\x3d\\x31\\x7e\\xe8\\xfc\\x33\\xef\\xa5\\xa7\\x6c\\xe9\\x26\\x7e\\x1d\\x6e\\x1a\\x3e\\x77\\x8d\\xd8\\xb4\\x66\\xee\\x7d\\x3b\\xa4\\xbd\\x7c\\x31\\x72\\x10\\x05\\xf5\\x0e\\xb1\\x73\\x38\\x62\\xe9\\xf9\\x83\\x2e\\x05\\x62\\x30\\x71\\xe7\\x39\\x1e\\x31\\x6a\\x0d\\xcf\\x60\\x46\\xc9\\x82\\x02\\x29\\xaa\\xe5\\xd1\\xc8\\xad\\xe3\\x9e\\xda\\xc6\\x32\\x18\\xa5\\x41\\xc8\\x44\\xa3\\x58\\x81\\x01\\x0f\\x38\\xe0\\xfa\\x4f\\xf0\\x79\\xf8\\x89\\x71\\xe2\\xdb\\x4c\\xa1\\x78\\xb6\\x96\\xfd\\xa1\\xc9\\xb4\\x85\\x6d\\x14\\xbf\\x6d\\x3e\\xce\\xf4\\xa5\\xf6\\x46\\x93\\x58\\xc2\\xbd\\x24\\xf5\\x99\\xa7\\x04\\x8d\\x0c\\x8b\\x04\\x56\\x50\\x28\\x39\\x4c\\xbb\\x5e\\x59\\x69\\x6a\\x0d\\x9d\\x9f\\x15\\xb3\\xf6\\x9d\\x34\\x6a\\xd8\\x63\\xe4\\xd8\\xe6\\xfa\\x53\\xec\\x6b\\x62\\x09\\xff\\xd4\\x6f\\x23\\x84\\xb2\\x5f\\x1b\\x28\\xac\\xb7\\x09\\xac\\x1a\\x02\\x4b\\x8d\\xfa\\x07\\xd3\\x79\\x15\\x9d\\xfc\\xa5\\x24\\x30\\x14\\x2a\\x46\\xab\\x61\\x08\\xe0\\xea\\x90\\x42\\x8f\\xc1\\xc6\\x60\\xac\\x64\\x19\\x50\\x22\\x25\\x29\\x06\\x8a\\x34\\x41\\x98\\x4a\\xba\\x52\\x63\\x3c\\x76\\x64\\x46\\x2b\\x87\\x99\\x8b\\x94\\x40\\x4c\\x2a\\x8f\\x12\\x3c\\xd6\\xb7\\xf1\\x92\\xf0\\x36\\xb6\\x47\\xf3\\x11\\x5c\\x16\\x7e\\x86\\xd9\\x2f\\x96\\x4c\\x67\\xba\\x30\\xc5\\x53\\x76\\x36\\x37\\x36\\x7f\\xbf\\x93\\xe4\\x61\\x35\\xae\\x61\\xef\\xc6\\xff\\x26\\xb4\\x6a\\x0b\\xaa\\xa8\\x88\\x04\\xf4\\x5c\\x08\\x8e\\xa2\\x48\\x29\\x28\\x30\\x8f\\x75\\x35\\xf3\\x39\\xae\\x79\\xf8\\x61\\x22\\x67\\xa3\\x63\\xc9\\x0d\\xbc\\x10\\x96\\xda\\xa1\\x9e\\x84\\x57\\x60\\x0b\\xde\\x45\\xe2\\xe7\\x06\\xe3\\x31\\xa9\\x0c\\x0e\\xc1\\xee\\x91\\xf9\\xe4\\x4b\\xd0\\x95\\x5d\\x86\\x82\\xb6\\x38\\x72\\xd2\\x59\\xca\\x68\\xc6\\xb3\\xb3\\xa5\\x41\\xf0\\xf2\\x82\\x00\\x7e\\x9f\\xf0\\x64\\xf6\\xeb\\xd9\\xf0\\xca\\xb5\\x6b\\x14\\x8e\\xaf\\xe5\\xdf\\xec\\x38\\x7e\\x28\\x52\\xa0\\x92\\x60\\x3c\\x20\\x9e\\xe7\\x04\\x41\\xc1\\x91\\x92\\x2b\\x14\\x2a\\x0e\\x1f\\x0e\\x25\\x72\\xc0\\x71\\x20\\xf0\\x80\\xf2\\x7d\\xf9\\xd4\\x08\\xca\\x6e\\x9b\\x1c\\x10\\x5d\\x40\\x8f\\xf3\\x02\\x31\\x25\\xcd\\xe0\\xc3\\x33\\xa6\\x88\\x5f\\xd6\\x83\\xee\\xdf\\xf0\\xfc\\x2a\\x1d\\xe3\\x98\\x1f\\x1e\\xc0\\xdd\\x4f\\x72\\x38\\x19\\x9d\\xe3\\x66\\x32\\x57\\x90\\x05\\x25\\x11\\xef\\xe8\\xed\\xe0\\x2e\\x37\\x4a\\x57\\xab\\x3d\\x06\\xce\\x81\\xf8\\xbc\\xdc\\xc3\\x79\\xa0\\xcf\\x4b\\xcc\\xcb\\xcf\\xab\\xce\\x5b\\x91\\xb7\\x39\\x6f\\x5f\\x9e\\xa0\\xcf\\x2b\\xcd\\x1b\\x28\\x3d\\x1e\\xce\\x3b\\x95\\x77\\x31\\xef\\x66\\x9e\\xb2\\xf3\\xcd\\xbc\\x96\\x3c\\x9c\\x17\\x1c\\x3d\\xb6\\x2c\\x2f\\x58\\x35\\xa2\\xec\\xdd\\x3c\\x48\\x24\\xa1\\x36\\x93\\x10\\x6c\\x75\\xde\\x4c\\x12\\x88\\x91\\x42\\x90\\xf7\\x14\\x08\\xae\\xa1\\xdf\\xc1\\xfa\\x59\\x0a\\xa4\\xe8\\x5c\\x37\\xb3\\x20\\x8b\\x73\\x78\\x0c\\x2c\\x53\\xaa\\x38\\xa5\\xc0\\xa5\\x8a\\x81\\x0a\\xac\\x08\\xea\\x6d\\x65\\x74\\x75\\x40\\x93\\x5e\\x77\\x51\\x77\\x53\\xc7\\xe8\\x82\\xce\\x94\\x32\\x1d\\x5d\\x33\\xc0\\x77\\x8d\\x0e\\xd8\\x2c\\xb0\\x97\\x9c\\x1f\\x5d\\x60\\x20\\x07\\xc8\\xae\\xfa\\x9c\\x39\\xd9\\x74\\x22\\xf6\\xec\\x39\\x31\\x13\\xff\\x68\\x9b\\x3c\\xd3\\xd6\\xff\\x61\\x36\\x11\\x36\\x4c\\x4d\\xa6\\xdd\\x1e\\xb2\\x5b\\xc2\\x45\\x0c\\x23\\xca\\x83\\xdc\\xcc\\x17\\xee\\x3f\\xb7\\xa6\\xf4\\xf9\\x11\\x1b\\x9e\\xff\\xf3\\xba\\xb7\\x56\\x6e\\x7e\\xf5\\xc1\\x03\\xe2\\xd1\\xde\\x0b\\x3b\\xf9\\x16\\xf6\\x1f\\x32\\x7d\\xba\\xe8\\xf3\\x2d\\x1c\\x30\\x74\\xf2\\xa4\\x61\\xbd\\x17\\xe1\\x01\\x4f\\x5d\\x07\\xe7\\x8a\\x6d\\xef\\xbf\\x70\\xe8\\x23\\xf1\\x4b\\xb0\\x7e\\x38\\x64\\xf9\\xbd\\x2b\\x57\\xd6\\xce\\x9e\\xba\\xa5\\x71\\xe5\\xca\\x2d\\x33\\x67\\x6d\\x5a\\x4e\\x64\\xf0\\x4e\\x84\\xf8\\x1a\\xf6\\x4d\\xc2\\x7f\\xd6\\xe3\\x98\\xe3\\x58\\x5e\\xc0\\x9c\\x2c\\xf3\\x23\\xc3\\x90\\x7d\\x74\\xb6\\x15\\xec\\x1c\\xc3\\x4e\\x69\\xea\\xc4\\xbe\\xd9\\xb4\\x63\\x8c\\x2c\\xbb\\x6d\\x2d\\x22\\x7b\\x90\\x55\\x10\\xef\\xec\\x6f\\xc1\\x67\\xd5\\x2a\\x33\\x61\\x5f\\xab\\xa5\\x8b\\x15\\xf2\\xad\\xe0\\xb2\\x82\\xde\\x0a\\xdf\\x5a\\x9b\\xac\\x78\\xab\\x15\\xa6\\x5a\\x97\\x58\\xf1\\x40\\x2b\\xa8\\xad\\x2e\\x6b\\xb6\\x95\\x99\\xfe\\xa2\\xf5\\x9c\\xf5\\x5b\\x2b\\x43\\xbe\\x94\\xd3\\x49\\xce\\xd2\\x7c\\xd8\\x63\\x74\\xa2\\xea\\x54\\xfa\\x28\\xcf\\x46\\x66\\xbf\\xa5\\xb3\\x6d\\x61\\x83\\x15\\x56\\x50\\x70\\xd9\\xd6\\x72\\xeb\\x48\\xeb\\x54\\x2b\\x47\\xc0\\x76\\xb1\\x06\\x8b\\x4b\\xca\\x6e\\xd2\\x9b\\x72\\x2b\\x85\\xbd\\xc1\\x7a\\xc8\\x7a\\xd5\\x2a\\x90\\x74\\xb1\\x9e\\x26\\x3f\\xd0\\x3a\\xd3\\xca\\x58\\x83\\x89\\xde\\x32\\x6b\\xd0\\x64\\x2d\\x7b\\x88\\x66\\x46\\x7e\\xcb\\x0a\\x7a\\x4e\\x2d\\xb1\\xf8\\x79\\x18\\x23\\x8f\\xaa\\xad\\xa6\\x2b\\x0b\\x8c\\x69\\x6d\\x43\\x69\\x6b\\x6b\\x91\\x27\\x09\\x45\\xa5\\x00\\x67\\x94\\x3a\\x88\\xdd\\x60\\x25\\xc2\\x40\\xf6\\x29\\x8c\\x60\\x9b\\xf7\\xde\\xbd\\xab\\xdf\\x5f\\x38\\xf1\\xcc\\x63\\xfb\\x5f\\xc5\\x18\\x6d\\xbf\\xb9\\x76\\xcd\\xbf\\xb7\\x8a\\x08\\xe3\\x57\\xbe\\xf8\\xdb\\x69\\x91\\x8e\\xcd\\xdf\\x2b\\x96\\xe0\\xad\\xdc\\xe7\\xc4\\xf8\\xcf\\x0c\\x5a\\x2c\\x82\\x40\\x88\\xc3\\xc1\\xd8\\xd5\\x86\\xca\\x90\\x1a\\x10\\x57\\x29\\x09\\x03\\x49\\x2c\\xb7\\x8e\\xcf\\x23\\x7c\\x95\\x4c\\xf4\\x82\\xaf\\xa0\\x88\\xa1\\x74\\x40\\xd4\\x85\\x94\\x96\\x85\\x4f\\x19\\xe8\\x0f\\x94\\x3c\\x8b\\x9f\\x7f\\x6a\\x58\\x4e\\xc7\\x1e\\x43\\x42\\xcf\\x8b\\x25\\xe6\\x2d\\x8e\\x6f\\xd8\\xf7\\x9e\\xad\\x37\\x6d\\x75\\x2d\\x9c\\xd3\\x94\\xfb\\xec\\x71\\x79\\x5e\\x6c\\x05\\x54\\xb2\\x41\\xe6\\x27\\x64\\xa5\\x6b\\x15\\x06\\x53\\x95\\x6e\\x53\\xa6\\x3b\\x33\\x27\\xd7\\x92\\x5b\\x98\\x3b\\x34\\x97\\xf9\\x21\\x17\\xbe\\xc8\\x85\\x77\\x73\\xc1\\x92\\x0b\\x4f\\xe4\\x1e\\xcb\\xfd\\x20\\xf7\\xa7\\x5c\\x36\\x97\\x8e\\x4e\\xee\\x3a\\x78\\x64\\xd9\\x43\\xb9\\x80\\x51\\x6e\\x52\\x6e\\x30\\xb7\\x26\\x77\\x56\\xee\\xca\\x5c\\xbe\\x54\\xbe\\x5f\\x99\\xfb\\x58\\xee\\xab\\xb9\\xef\\xe6\\x0a\\xd1\\x8f\\x2b\\x73\\x39\\x7a\\xfb\\x59\\x2e\\x23\\x30\\xb6\\xb4\\xe7\\x42\\x6e\\xba\\xc2\\x98\\x37\\x50\\xe6\\xb6\\xd1\\xe1\\xd0\\xf6\\xf8\\x32\\xe9\\x6a\\xb0\\x48\\xd7\\x60\\xb2\\x52\\x53\\x66\\x0b\\x66\\x04\\x33\\x03\\x65\\x19\\x1e\\x8f\\xeb\\xb9\\xd0\\x4c\\x0f\\x20\\x8f\\xc1\\x83\\xd5\\x8c\\x47\\x1d\\x44\\x86\\xe7\\x42\\x0a\\x1a\\x3f\\x3d\\x50\\xa6\\x40\\x91\\xf8\\x28\\x12\\x3f\\x32\\x70\\x5a\\x43\\x64\\x90\\x89\\xc6\\x37\\xa9\\xd5\\xdc\\x73\\x21\\xbd\\xfa\\xa2\\x1a\\xab\\x83\\x24\\x9c\\x3a\\xa8\\x36\\x97\\xa9\\xa9\\x68\\x1a\\x2d\\x79\\x23\\xd9\\xce\\xeb\\x44\\x4a\\x9d\\xc9\\x96\\x06\\x2c\\xbd\\x23\\x2d\\x22\\xd1\\xee\\x75\\xd4\\xaf\\xad\\x96\\x86\\x52\\xcf\\xa6\\x3c\\xd8\\x2a\\xe9\\x93\\xd3\\xd2\\x25\\xad\\x57\\x44\\x11\\x4f\\x19\\xcf\\x6f\\xd5\\x01\\x73\\xfb\\xb7\\x81\\x3b\\x6a\\xfb\\xae\\x1d\\x5a\\x3a\\xa7\\xcf\\x9c\\x6d\\x13\\xd7\\x4c\\x9b\\xd3\\xe1\\xde\\x39\\x81\\xb9\\x77\\x4a\\xef\\x7a\\xce\\xeb\\x3e\\x73\\xe7\\xdd\\x6b\\xb7\\x0c\\x4b\\x21\\xef\\xe6\\xe3\\x5f\\xb2\\x9d\\xb9\\xa9\\xbe\\x87\\x86\\xe6\\x67\\x24\\x8d\\xd9\\x96\\x95\\x26\\x8e\\xc8\\x71\\xe6\\x67\\xe6\\x6f\\x1c\\x9a\\xe7\\xb3\\x8c\\xda\\x92\\x9b\\x2a\\xf7\\x67\\x77\\x47\\x7e\\x36\\x85\\x33\\x10\\x5e\\x9a\\x11\\xec\\x6e\\xd2\\x19\\x04\\x23\\xcf\\x82\\x5a\\xad\\x01\\xac\\x60\\x59\\xac\\xa1\\xcb\\x08\\x18\\x88\\x96\\x52\\x3c\\x17\\xa2\\xcb\\x5c\\xb1\\x1c\\xfb\\x5c\\xc8\\xc8\\xd3\\xd5\\x42\\xaa\\xb9\\x99\\xdc\\x0d\\x8e\\xe3\\xb4\\x1a\\xb5\\xaa\\x52\\xf9\\xae\\x12\\x47\\x66\\xa6\\xd2\\xe9\\x17\\xbe\\x0b\\xa3\\x23\\xd3\\x44\\xa3\\xbd\\x1d\\x31\\x66\\x5c\\xd4\\x67\\xa1\\x5d\\x1d\\x44\\xe2\\x7a\\x8a\\xe8\\x48\\x36\\xc2\\xe7\\xe4\\x80\\x57\\x77\\xd6\\xee\\xf8\\x27\\xf8\\x5f\\x11\\xd5\\xb8\\xeb\\xae\\xcd\\x3b\\xc1\\x2a\\xee\\x3f\\x85\\x13\\x60\\xb8\\x78\\x03\\x3c\\x5b\\x61\\xda\\x56\\x48\\x11\\xaf\\x6d\\x15\\xb7\\x6e\\x95\\xc7\\x6c\\x4c\\x40\\x3f\\xb1\\x7d\\xd8\\xca\\xc8\\x1c\\xa3\\x7e\\xc1\\x5c\\x35\\x23\\x28\\x10\\x2b\\xb0\\x5a\\x8d\\x42\\x49\\xc7\\xad\\x4a\\x93\\xa8\\x0e\\x73\\x17\\x39\\x0e\\xd1\\xa5\\x4d\\x92\\x00\\xe8\\x40\\xd6\\x7c\\xb8\\x01\\xac\\x82\\x28\\x03\\x52\\x1f\\xe7\\x49\\x86\\xa5\\x3e\\xe3\\xb6\\x75\\x78\\x7c\\xb2\\xde\\x82\\xc8\\x31\\x81\\xf9\\xbc\\x39\\x41\\x3e\\x98\\x97\\xb6\\x6e\\x0d\\x77\\xda\\xba\\x15\\x26\\xd0\\x1c\\x60\\xda\\x8f\\xc8\\xa6\\xb0\\x17\\xa5\\xb9\\x34\\x7d\\x82\\x99\\x2c\\xb9\\x11\\x78\\x46\\x25\\xa8\\xd4\\x1a\\x81\\x20\\x4c\\x18\\xc8\\x57\\xf3\\x9b\\x79\\x86\\x0f\\xe2\\x4a\\xbc\\x12\\x53\\xfc\\x55\\xb2\\x2b\\x59\\xcc\\xa2\\xb8\\x7c\\x82\\xa5\\xf3\\xa3\\xcf\\x8f\\x96\\xdd\\xd5\\x48\\xc2\\xf2\\xca\\x22\\x45\\x60\\x55\\x82\\x95\\x23\\x29\\x77\\x27\\xa9\\x3e\\xc5\\x8c\\x68\\x76\\x11\\x0d\\xba\\xf0\\x3c\\x6c\\xd8\\x25\\x3e\\x23\\x3e\\xf3\\xc8\\x77\\xb5\\xb5\\x34\\xed\\xee\\xed\\xd3\\xc6\\x3c\\x41\\x88\\xc0\\xb7\\xa5\\xcd\\x73\\x41\\x96\\xa6\\xc6\\xb0\\x03\\x51\\x35\\xda\\x4c\\x70\\x44\\xf3\\x40\\x64\\x45\\x1c\\x9d\\x3c\\x7c\\x7e\\xb4\\x3c\\xd1\\x3a\\x6a\\x6c\\xc8\\x69\\xfb\\xa9\\xee\\x07\\xa9\\xd4\\xdd\\x49\\xba\\x4f\\xc9\\xa5\\xfe\\xee\\x11\\x18\\x0e\\xc3\\x77\\x89\\xf3\\xcf\\x87\\xd7\\xcb\\x69\\xef\\x21\\x69\\xfb\\xd9\\x55\\xc4\\xbb\\x57\\x12\\xcf\\xc0\\x48\\xfc\\x77\\x3a\\x4b\\x8d\\x67\\x11\\xab\\x52\\x63\\x05\\xf1\\x29\\xf3\\xcf\\xb7\\x22\\xb4\\x55\\xb8\\xf8\\x8c\\x4a\\x30\\xa6\\x7a\\xc8\\x79\\x0f\\x9c\\x87\\xf3\\xcd\\xf5\\xb8\\x51\\x5c\\x2d\\xae\\xc6\\x4b\\x30\\x1f\\x6e\\x0c\\xaf\\x1d\\x8c\\x79\\x38\\x28\\x56\\x49\\x34\\x39\\x01\\x1d\\x63\\xfb\\x10\\xbb\\x82\\xea\\x05\\x16\\x00\\xf3\\x74\\xa9\\xa3\\xfc\\x77\\x5a\\xf5\\x82\\x5f\\x9a\\x84\\x4b\\x2b\\xe6\\xf9\\x63\\xb8\\xdb\\xc3\\xe2\\x50\\x04\\x38\\x39\\xbc\\x8b\\xb9\\xc4\\x1f\\x24\\xb2\\xc7\\x19\\x54\\x11\\x1d\\xa1\\x20\\xfe\\x87\\x9a\\x23\\x95\\x9c\\x7f\\x3e\\x46\\xa1\\x10\\x09\\x5a\\x1c\\x9d\\x5c\\x93\\x2e\\x71\\x97\\xc0\\x5b\\x71\\xdd\\x96\\x67\\x96\\x97\\x96\\xfb\\x52\\xdd\\x5a\\x43\\x9a\\xc7\\x90\\xa2\\xe4\\xc3\\xbb\\x84\\xaa\\x33\\xbf\\x94\\x76\\xc8\\x28\\x54\\x29\\xb2\\xd2\\xd3\\xbd\\x93\\x65\\xbd\\xc3\\x85\\x77\\xe1\\x3a\\x92\\x86\\x85\\xa6\\x01\\xc4\\xdc\\xb0\\xda\\x48\\x1a\\xe8\\x96\\x34\\x7c\\xc6\\xb6\\xd9\\xd6\\x76\\x9b\\x5d\\x9a\\x8c\\x82\\x93\\xb7\\x3c\\xbe\\xa6\\xcb\\x80\\x82\\x14\\x8f\\x53\\x95\\x98\\x68\\x48\\xb0\\xf3\\x07\\x7f\\x7d\\xe6\\xf5\\x9f\\xbb\\xe6\\xa7\\x17\\x19\\xd8\\xcc\\x54\\xdf\\x0a\\x69\\x3e\\xd5\\x2f\\x38\\x95\\xab\\xc3\\xf5\\xa4\\xb0\\x8e\\x3a\\x46\\x5a\\x1a\\xa8\\x01\\xf0\\x91\\x10\\x34\\xa3\\xd2\\xd6\\x25\\x80\\x48\\xdd\\xa8\\xb8\\x53\\x38\\x95\\xd6\\x04\\xcd\\xd3\\x47\\xe1\\x2d\\x78\\xb2\\x50\\x26\\xd9\\x60\\x4a\\xcc\\x30\\x2c\\xc7\\x88\\xa8\\x91\\x4e\\xce\\x8b\\x18\\x4b\\x24\\x9e\\x17\\x3e\\xaa\\xad\\x15\\xca\\x7e\\x29\\x27\\x78\\xda\\x18\\xde\\x22\\xa5\\xc1\\x11\\x1b\\x54\\xcd\\xd0\\x36\\x4d\\x10\\x38\\x11\\x31\\x52\\x4a\\xa8\\x59\\x36\\xd6\\xa3\\xe6\\x11\\xed\\x8c\\x23\\x98\\xf6\\xe2\\x8d\\x4c\\x46\\x78\\x72\\x2d\\xae\\xaf\\x6d\\x9a\\x41\\xf3\\x19\\xde\\xc2\\xb8\\xa3\\x30\\x88\\x9d\\x05\\x02\\xf0\\xac\\x88\\x39\\x09\\x06\\xfe\\x1d\\x0c\\x46\\x9a\\xec\\xac\\x62\\x32\\x6a\\x49\\xb6\\x1b\\xaf\\xb3\\x0f\\x23\\x9a\\x0f\\x5a\\x56\\x92\\x6f\\x0e\\x25\\x93\\x7c\\x53\\xe5\\xcf\\x0a\\x12\\x84\\x63\\x14\\x42\\xa3\\xd4\\xce\\xd1\\x96\\x0b\\xc9\\x10\\xc0\\x1b\\x6b\\xf1\\x8e\\xe6\\x8f\\x84\\xb2\\xa6\\x19\\xb5\\x51\\x7c\\x31\\x6e\\x09\\x06\\xc9\\x07\\x81\\x21\\x10\\x7b\\x82\\x69\\xfc\\x2f\\xf3\\xe1\\x33\\xaa\\xf0\\x0e\\x9a\\x0f\\xf6\\xe1\\xc6\\xeb\\x28\\x8a\\x0f\\x02\\x43\\x40\\xd9\\x41\\x2d\\xe6\\x79\\x41\\x60\\x14\\x8c\\x52\\x10\\x6f\\xc9\\x4b\\x0c\\xa0\\xb6\\x0c\\x51\\xc4\\x90\\x2c\\x11\\xcc\\x48\\x79\\x6a\\xc3\\x4d\\x04\\x9e\\x9e\\xc0\\x23\\xa2\\x47\\x89\\x14\\xbc\\x48\\xf2\\x25\\xb4\\xcb\\x57\\x3b\\x78\\x72\\xd6\\xbc\\x52\\xe6\\xe4\\xdc\\xfd\\x52\\x2e\\xe1\\x89\\xc2\\x93\\xea\\x4b\\x40\\x39\\x41\\x3d\\x2b\\x10\\x4e\\x60\\x24\\x78\\x2c\\x6a\\x47\\x1d\\xd4\\xac\\x8f\\x55\\xe5\\x94\\x4e\\x24\\xac\\x73\\xa7\\x68\\xc5\\x11\\x72\\x69\\x9a\\xc1\\x3e\\x1c\\xa5\\x31\\x29\\x7f\\x04\\x1e\\xa9\\x3b\\x1e\\x78\\x25\\x28\\x98\\x46\\x0e\\xfe\\x3b\\x78\\x46\\x5a\\x66\\x09\\x7b\\x3b\\xa4\\x1c\\xd2\\x5a\\x88\\xe4\\x8f\\xc0\\x53\\x13\\x0f\\xca\\xc2\\x29\\x14\\x58\\xad\\x46\\x74\\x1a\\x9c\\x46\\x45\\x8a\\xac\\x20\\xaa\\x92\\x00\\x3d\\x1a\\xe2\\x68\\xa9\\xa3\\xf3\\xaa\\xdb\\xe0\\xfa\\x62\\x41\\x7b\\x22\\xe5\\x97\\x10\\x1a\\x4d\\x41\\xca\\x35\\xed\\x77\\xf9\\x05\\x66\\x73\\x75\\xcc\\x14\\x49\\xd6\\xe7\\x11\\x6f\\x43\\x10\\x94\\x88\\x65\\x15\\x1c\\x2b\\x55\\x13\\x17\\x8e\\xe6\\xbe\\x29\\xea\\x6e\\xb6\\xcd\\x4d\\x65\\x22\\x92\\x9c\\xe0\\xa2\\xb1\\x3b\\xe1\\x9d\\x8f\\x6b\\x6b\\xc5\\x9d\\x32\\xff\\x60\\xf8\\x98\\xd4\\xd7\\x25\\x89\\x7f\\x04\\x94\\x14\\xd4\\x61\\x22\\x44\\x19\\x5e\\xa1\\x14\\x18\\x82\\xe1\\x46\\x3a\\x37\\xae\\xdd\\xf2\\xe6\\x94\\x97\\xe8\\x41\\x40\\xc0\\x24\\x99\\xa7\\x94\\x75\\x6d\\x7c\\x45\\xf2\\xa7\\x24\\x78\\xd0\\x09\\x0c\\xe1\\x2c\\xac\\xc2\\xbc\\x5a\\x29\\xb2\\x82\\x94\\x43\\x36\\x1c\\xe5\\xb1\\x68\\x0e\\x65\\x92\\x8a\\xa1\\x29\\x82\\x02\\x6b\\x0c\\xbb\\x49\\x78\\x60\\xa6\\xd4\\x5e\\xa9\\x6d\\x4e\\x96\\x79\\xfd\\xe3\\x08\\x2d\\x10\\x35\\x4b\\x72\\xca\\x11\\x5f\\x55\\x49\\xa4\\xbf\\x9a\\x38\\xad\\x3c\\x01\\x5d\\x17\\x52\\x36\\xb3\\x0a\\x51\\x1e\\xc1\\xdb\\x6e\\xfa\\x23\\x81\\x6d\\x8d\\xac\\x37\\x60\\xe4\\xea\\xc4\\x04\\x02\\x52\\x62\\x65\\x8a\\x61\\xce\\xdb\\x8a\\x07\\x29\\xff\\x1c\\xa9\\xc9\\x92\\xa0\\x56\\xc9\\x33\\x44\\xb5\\x60\\x0d\\x56\\x68\\x79\\x25\\x01\\x7e\\x3c\\xc4\\x87\\xd5\\x6d\\x72\\x22\\x52\\x06\\x9f\\x84\\xe7\\xd8\\x74\\xa4\\xfc\\x47\\xce\\x1f\\x33\\xd7\\x9a\\xeb\\x08\\x9e\\xf0\\x3c\\x92\\x24\\x29\\x48\\xe3\\x49\\x76\\x66\\xb4\\x2c\\x32\\x9f\\x44\\xf1\\xa5\\x64\\x18\\x9e\\x57\\x13\\x1f\\x4d\\xa5\\x10\\x79\\x46\\xc2\\x17\\xdf\\x84\\x95\\x32\\xbf\\x84\\xff\\x00\\x5f\\xa4\\x5a\\x8b\\xe4\\x75\\x14\\x54\\x14\\x55\\x44\\xbc\\xc0\\x6c\\x52\\xb2\\xc6\\x4c\\xe6\\xd3\\x08\\xfc\\x4b\\x12\\xae\\x3a\\x04\\x8d\\x04\\x53\\x58\\x89\\x41\\x0d\\x2a\\x82\\x20\\xfe\\xf7\\x9c\\xd3\\x1e\\x59\\x4c\\x74\\x71\\x06\\x22\\xb3\\xae\\x51\\x5c\\xc9\\x52\\x2b\\x42\\x8a\\x94\\x16\\x29\\xec\\x36\\x5c\\x31\\x48\\xa1\\x46\\x6a\\x2d\\xc7\\xa9\\x34\\x2a\\x19\\x57\\xaa\\x30\\x16\\x44\\x89\\x34\\x8f\\x84\\xb8\\x3f\\xc4\\x15\\x75\\xee\\x8b\\x68\\x3f\\x50\\x91\\x87\\xb9\\x54\\xdb\\x5c\\x87\\xe7\\xd5\\x8a\\x09\\x78\\x1e\\x33\\xa5\\x31\\x93\\xeb\\x2d\\x95\\x43\\x96\\xf1\\x78\\x23\\xa5\\x7d\\x42\\xa3\\x4a\\x54\\x14\\xd4\\x10\\x99\\xa2\\x54\\x2a\\x48\\x41\\xd4\\x52\\xc5\\x10\\x4c\\x85\\xa3\\xb2\\xaa\\xa9\\x55\\x56\\x65\\xb7\\xa7\\x2c\\x89\\xbd\\xac\\x51\\x11\\x4a\\x49\\x8b\\x8a\\xd1\\xe6\\x64\\x52\\x38\\x89\\xae\\x22\\x32\\x41\\x49\\x64\\x82\\x46\\x49\\x34\\x38\\xe6\\x58\\x15\\xab\\x56\\x50\\xb0\\xf5\\x21\\xac\\x68\\x46\\x7c\\xa3\\x34\\x92\\x25\\xbb\\x3d\\x51\\xc9\\x5c\\x4b\\xee\\x99\\xee\\xb5\\xf0\\x79\\x73\\x4a\\xed\\x15\\x49\\x0e\\x72\\x5e\\x22\\x09\\x25\\x9a\\x8a\\xe4\\x3b\\x82\\x27\\x22\\x0d\\x38\\x35\\xc7\\x6a\\x54\\x2c\\xb9\\x95\\x72\\xac\\x68\\x92\\xb2\\x5e\\x47\\x2a\\x99\\x97\\xb9\\x2d\\x36\\xf3\\xed\\x92\\x89\\x9c\\x3f\\xae\\x65\\xca\\x9b\\x53\\x08\\xef\\xc1\\xe7\\xe1\\x07\\x85\\xb2\\xc6\\x93\\xb5\\xdc\\x15\\x52\\x8e\\x08\\x4d\\xc1\\x6c\\x49\\xf6\\x4a\\x34\\xc5\\x13\\xff\\x5f\\xa9\\x26\\x36\\x8a\\x4a\\x68\\xfc\\x1f\\xd3\\x94\\x4f\\xa6\\x29\\x22\\x8d\\x24\\x9a\\x62\\x3e\\x6d\\xcc\\x8c\\xe8\\x9b\\x4b\\x12\\x7c\\x42\\x53\\x02\\xd1\\x35\\x88\\x2e\\x58\\xae\\x52\\xb0\\x8d\\x74\\x16\\x75\\x9b\\x74\\xbf\\x0d\\x4d\\x81\\x0c\\x95\\xe2\\xea\\x12\\xc9\\xff\\xe7\\x32\\x59\\xb5\\x12\\x95\\x24\\xdf\\x24\\xd8\\xad\\x34\\xa5\\x56\\x20\\x85\\x16\\x94\\xd0\\x4a\\x53\\x4d\\x2c\\xdf\\x18\\x4d\\x25\\xfc\\x87\\xfc\\x47\\x93\\xf1\\xf8\\x64\\x9a\\x6a\\x4e\\x61\\xca\\x6b\\x45\\xa1\\x36\\xfc\\x20\\x7c\\x4e\\xca\\xc1\\xf5\\x6e\\xa2\\x52\\xaf\\x4d\\xe7\\xa9\\x51\\x27\\xaa\\xf3\\x54\\x6a\\x85\\x86\\x55\\x68\\xd5\\xe2\\x7f\\x45\\x50\\xb1\\x98\\x6a\\x47\\x52\\xad\\x4a\\x30\\xa2\\x08\\x25\\xaa\\xa2\\x5c\\x1e\\x91\\x29\\x92\\xae\\x51\\x23\\x5f\\xd0\\x8c\\x89\\x7d\\xaa\\xe6\\xd5\\xac\\x86\\xd5\\x0a\\x6a\\x11\\x29\\x6e\\xd5\\xd4\\xbe\\x76\\x38\\x8b\\xd1\\xb2\\x54\\xe4\\x4a\\x24\\x46\\xe4\\x08\\x95\\xdc\\x11\\x6d\\x2b\\x49\\x5e\\x62\\xf6\\xb6\\xa6\\x43\\xd7\\x83\\xd5\\xa3\\x3b\\x82\\x06\\x8d\\x5e\\x2f\\x10\\x05\\xc9\\x02\\x67\\xe0\\xb4\\x46\\x8d\\x5e\\x2a\\x8d\\xa6\\x49\\x12\\xc5\\x41\\x25\\x91\\xc5\\x2a\\xdc\\xa8\\x04\\x49\\x54\\xfa\\x7e\\x4f\\x72\\xd1\\xfe\\x59\\x9f\\x59\\x56\\x4a\\xb2\\xf1\\x31\\xa5\\xb6\\xf6\\x8a\\x24\\xc9\\x24\\xd2\\x0b\\x6f\\x51\\xd6\\x11\\xe2\\x6b\\x4e\\x56\\xd6\\x51\\xf2\\x6b\\xd3\\xfb\\x6a\\xd4\\x39\\x68\\xe0\\xb1\\x52\\xa5\\xd2\\x02\\x47\\x2a\\x4f\\x8c\\xa5\\x3e\\xf5\\xef\\xa8\\x2f\\x06\\xa9\\xed\\xc8\\xcf\\xdb\\x4a\\x80\\x51\\x0a\\xfc\\xa5\\x9c\\xc8\\xb5\\x88\\xec\\x89\\xe0\\xb4\\x63\\xd0\\xa4\\x56\\x71\\xbc\\x8a\\xd7\\x22\\xa4\\x51\\xf3\\xa2\\xe2\\x77\\x46\\x86\\xef\\x36\\xa2\\x8d\\x02\\xa7\\x18\\x55\\x11\\x2a\\x94\\xb4\\x58\\xab\\xbd\\xc1\\x79\\x29\\x42\\x99\\xd6\\x34\\x64\\x7c\\x76\\xa3\\x3b\\xee\\x69\\xf4\\x58\\x6f\\xd4\\x0a\\x5a\\x83\\x5e\\x23\\x51\\xa3\\x3e\\xcc\\xa8\\xc5\\xa8\\xda\\x69\\x42\\xac\\x24\\x1f\\x6e\\x4f\\x92\\xb2\\xce\\xa4\\x6e\\x9e\\x2c\\xea\\xba\\x4b\\xea\\x97\\xd2\\x64\\xad\\x24\\xef\\x64\\x25\\x4a\\x48\\x33\\x22\\xf1\\xb0\\x6c\\x53\\x10\\xf9\\x4a\\xcb\\x18\\x08\\xd2\\x09\\xeb\\x18\\x54\\x58\\x4b\\x78\\x41\\xa9\\x90\\x6b\\x50\\xd9\\x14\\x6b\\x01\\x85\\xa3\\x3c\\x17\\x49\\xdb\\x77\\xab\\x15\\x14\\xd1\\xfe\\x84\\x3e\\xc3\\x93\\xb9\\x53\\x04\\xa1\\xa4\\xe2\\x98\\x4f\\x69\\xd9\\x51\\xac\\x8d\\xa5\\x46\\xc5\\x41\\x8b\\x40\\x24\\x2b\\x4b\\x2c\\x63\\x86\\xd8\\x30\\xbc\\x4a\\x54\\xfc\\xce\\xd0\\x8a\\xf2\\x76\\x7b\\xb4\\xb6\\x2a\\x58\\x92\\x8e\\xac\\x61\\x23\\x36\\x97\\xc4\\xe1\\x4c\\x6b\\x99\\x38\\x69\\x35\\x0c\\x42\\xa3\\x4a\\x9e\\x68\\x70\\x4e\\x60\\x35\\x82\\x51\\xcf\\x1a\\xf4\\x3a\\x49\\xd6\\xea\\x9b\\x94\\x0c\\xcb\\x48\\xb7\\x3c\\x1b\\x56\\x47\\x48\\x54\\x2e\\x5c\\x4c\\xd9\\x4a\\xda\\xc6\\x10\\x14\\x79\\x7c\\x32\\x8f\\x58\\x3d\\x45\\x84\\x46\\x29\\x42\\x65\\x32\\xc5\\xf3\\x1a\\xbb\\x93\\x7a\\xfc\\x94\\x96\\x95\\xbb\\x42\\x4a\\x1a\\xb1\\xa1\\x22\\xb4\\x43\\xf0\\x2a\\x5b\\x7f\\x84\\x4e\\x95\\x6d\\x78\\x0d\\xc7\\x5a\\x82\\x4d\\xff\\x05\\x5e\\x25\\xae\\x90\\xf0\\x2a\\x99\\x6c\\x11\\xc3\\x8a\\xf9\\x94\\x70\\x43\\xc4\\xb8\\x6a\\xb3\\x35\\x25\\xbc\\xca\\x3a\\x58\\x05\\x24\\x3d\\x8d\\xc0\\x34\\x2a\\x7f\\x67\\x70\\xde\\x1e\\xaf\\x91\\x46\\x03\\x92\\x8e\\x24\\x34\\xe1\\xf3\\x56\\xb1\\x49\\xed\\x4f\\xa6\\xb5\\x4c\\xad\\x78\\xe5\\x30\\xb5\\x3a\\x19\\x15\\xa3\\x33\\xaa\\xb4\\x06\\xad\\x46\\x42\\xa6\\x36\\xcc\\x29\\x25\\x39\\x4a\\xd4\\x99\\xaa\\xa9\\x4d\\x9d\\xfd\\x01\\x5e\\x5b\\x35\\x4e\\x91\\x87\\x16\\x51\\x92\\x3d\\xe1\\x07\\x23\\x54\\x2b\\x26\\x70\\xa7\\x24\\x31\\xc7\\xce\\x24\\x44\\x4b\\xc4\\x6b\\x2d\\x8a\\xb1\\x83\\xcd\\x68\\x70\\xd0\\x61\\x50\\x6a\\xb5\\x66\\xa2\\x13\\x74\\xa0\\x53\\x59\\x81\\xb3\\x98\\x88\\x14\\xd0\\xb0\\x92\\x41\\x70\\x3c\\xa4\\xe4\\x9a\\x0c\\x32\\x4d\\x1d\\x0d\\x69\\x29\\xed\\x46\\xf2\\x11\\x63\\x1e\\xb7\\xa2\\x3a\\xd2\\x1e\\xd1\\x26\\x17\\x5a\\x85\\x6e\\xab\\x7c\\x68\\x15\\xbd\\x11\\x39\\x11\\x91\\xbf\\xcc\\xa7\\x08\\xb5\\xcf\\xd7\\xc0\\x60\\xbc\\x82\\x23\\x75\\xa0\\xd1\\xe8\\xcd\\x98\\xee\\xf3\\xc1\\xe8\\x18\\xab\\xce\\x82\\x0c\\xa4\\x2e\\xb4\\x3a\\xad\\x94\\x37\\x13\\xd6\\x35\\x53\\xd9\\x2c\\x2d\\xa6\\x71\\xdb\\x4a\\x89\\xe9\\x8b\\x8b\\x1a\\xed\\xd2\\xaa\\x58\\x45\\x6d\\x86\\x80\\x44\\xfe\\x62\\x02\\xad\\xaf\\x88\\xa4\\x96\\x2b\\x4c\\xaa\\x37\\x84\\xd8\\xd6\\x3c\\xd1\\x3a\\x33\\x22\\x3b\\x1a\\x13\\x74\\x60\\xbd\\x9e\\xd3\\xd8\\x15\\x0a\\x0b\\x5d\\xca\\x47\\xa5\\x65\\xe2\\x54\\x36\\x07\\x67\\xb5\\x59\\x29\\x59\\xaa\\x43\\xd8\\xd6\\x84\\x4c\\x8d\\xfa\\x68\\x15\\x6a\\x54\\x61\\xa3\\x10\\xcb\\x1a\\x91\\x9b\\x76\\x15\\xd9\\xd6\\xff\\x2f\\x67\\x94\\x89\\x65\\x16\\x5f\\x44\\x12\\xd1\\x6a\\xbd\\x12\\xc3\\x34\\x91\\x2a\\x96\\xaa\\xb7\\xf1\\xa4\\xcc\\x3c\\x92\\x6c\\x92\\xda\\x25\\x10\\x9e\\xce\\x1d\\x92\\xe4\\xa2\\xa9\\x5e\\x5a\\x3a\\xa7\\x11\\x50\\x7e\\x69\\xeb\\xc2\\x39\\x46\\x0f\\x77\\xa8\\xf1\\x4e\\xee\\x10\\x9e\\xce\\x5e\\x95\\xc3\\x93\\x72\\x92\\x27\\x29\\x3c\\xc3\\x61\\x16\\x53\\x7e\\xce\\xff\\x5d\\xf8\\xf0\\x16\\xf6\\x93\\xb6\\xf0\\x12\\x7c\\xf3\\xf1\\x08\\x7c\\x31\\xba\\xcc\\x4e\\xfb\\x08\\xca\\xba\\x48\\x78\\xfc\\x61\\xd4\\xf7\\x47\\xd0\\x3e\\x86\\x34\\xa3\\x98\\x44\\xc1\\x1f\\x86\\xb3\\xc8\\x21\\x45\\x21\\xba\\xff\\x72\\x4c\\x1a\\xc0\\x22\\x2e\\x26\\x46\\x49\\x34\\x8d\\xb6\\x08\\x59\\x68\\x62\\xf8\\x67\\xee\\x10\\xff\\x78\\xeb\\x3a\\x3e\\x66\\x69\\x54\\x74\\x74\\xd6\\x5c\\x3e\\xf2\\x21\\x3f\\xea\\x82\\x4a\\x51\\x4f\\xd4\\x07\\x95\\xa3\\x81\\x68\\x08\\x1a\\x86\\x46\\xa2\\x6a\\x34\\x1e\\x4d\\x44\\x53\\xd1\\x4c\\x34\\x17\\x2d\\x44\\x4b\\xd0\\x0a\\xb4\\x1a\\xdd\\x8f\\x36\\xa0\\xcd\\x68\\x0b\\xda\\x81\\x76\\xa3\\x7d\\xe8\\x71\\xf4\\x34\\x4c\\xab\\x7b\\x7a\\xf3\\x86\\xfb\\xd7\\xdc\\xdf\\x00\\x4c\\x7d\\xe8\\xf1\\x89\\xe3\\xa7\\x4e\\x9a\\x4a\\x6e\\x83\\xaa\\xd0\\x63\\x13\\x6a\\x26\\x55\\x8f\\x1c\\x36\\x74\\x98\\xfc\\x38\\x6a\\xf8\\xd0\\x7d\\x43\\x06\\x96\\x97\\x95\\xcb\\x8f\\x8f\\x56\\x56\\x94\\xf5\\x2c\\xed\\xd3\\xab\\x8f\\xfc\\x18\\x0c\\xf4\\xda\\xdd\\xc5\\xef\\xeb\\xe0\\x93\\x1f\\x77\\x76\\x2a\\xec\\x90\\x9d\\x9e\\x9f\\x93\\x2f\\x3f\\x66\\xa4\\xe4\\xec\\x48\\x74\\x79\\x93\\xbc\\xf2\\xe3\\xd6\\x78\\x47\\x92\\xdd\\xac\\xa7\\x26\\x01\\x7d\\xb4\\x18\\x34\\x5b\\xd4\\x02\\x43\\xdd\\x1a\\xfa\\xf8\\x10\\x91\\xf6\\xab\\x57\\x2c\\x59\\xb4\\x84\\x3e\\x96\\x86\\x56\\x2e\\x5d\\x64\\x1b\\x0a\\xae\\x32\\x88\\xeb\\x05\\xae\\x0e\\xe0\\xca\\x01\\x4b\\x12\\x4c\\x1a\\x5a\\xd6\\xab\\x43\\x4e\\x92\\x06\\x2d\\x5a\\x84\\x34\\x49\\x39\\x1d\\x7a\\x95\\x0d\\x9d\\xa4\\x9a\\xf6\\xc4\\x83\\xeb\\x5c\\x6b\\xba\\xac\\xc1\\xfa\\x35\\xa0\\xc4\\x6b\\x16\\xce\\x9d\\x39\\x6d\\x26\\x81\\x71\\x34\\x34\\x6f\\xd6\\x34\\x14\\x9d\\xf7\\x23\\x8d\\x82\\xa6\\xcd\\xa3\\xf2\\xfc\\xb0\\xc8\\x4f\\xee\\x00\\x88\\x19\\x1e\\xde\\x36\\x27\\xf8\\x7f\\xe5\\x8d\\x7c\\xa6\\x73\\x8c\\xac\\xde\\xd4\\xc8\\xc1\\xc5\\xdc\\x0b\\xff\\x07\\xef\\xed\\xff\\x17\\xe1\\xe1\\xbf\\xb8\\x37\\xde\\xe6\\x98\\x38\\x69\\x12\\xec\\x25\\xc7\\x63\\x13\\x27\\x86\\x6b\\xc9\\x75\\x9f\\x7c\\x5c\\x9c\\x38\\x51\\xac\\x99\\x34\\x49\\x1c\\x37\\x69\\x12\\xab\\x25\\xd7\\xb1\\xf2\\x71\\xb1\\x2d\\xf4\\xc5\\xdb\\xbe\\xfd\\x03\\x18\\x17\\xdb\\xde\\x36\\x9f\\x6e\\xbb\\x6f\\xfa\\xb1\\x2d\\x26\\xbd\\xb6\\xfd\\xb8\\xe4\\x71\\xf4\\x37\\xb6\\xa6\\xed\\x37\\xfe\\xf7\\xf7\\x63\\xe9\\x6f\\xdc\\x18\\xfa\\x1b\\x27\\xdd\\xcb\\xaf\\x85\\x7f\\x4a\\x91\\xc1\\x2b\\x3d\\x89\\x37\\xc6\\x89\\x37\\x6a\\xc4\\xeb\\xe4\\x7f\\xac\\xf8\\xe9\\x58\\xe1\\xfb\\x1a\\x3a\\xfa\\xf2\\xff\\x3f\\x3e\\x43\\x87\\xd0\\x61\\x74\\x14\\x1d\\x47\\x2f\\xa2\\x53\\xe8\\x75\\xf4\\x26\\x3a\\x87\\x2e\\xa2\\xf7\\xd1\\x15\\x74\\x15\\xdd\\x40\\x9f\\xa3\\xaf\\xd0\\xb7\\xe8\\x26\\xfa\\x11\\xfd\\x87\\x78\\xf5\\x2d\\xc0\\x80\\x40\\xfc\\x64\\x3d\\x98\\xc1\\x0e\\x2e\\x48\\x04\\x2f\\xa4\\x43\\x36\\xe4\\x83\\x0f\\xfc\\xd0\\x05\\x4a\\xa1\\x27\\xf4\\x81\\x72\\x18\\xc8\\x1c\\x3c\\x8a\\x0b\\xc6\\x3d\\xd5\\x00\\xaa\\x7a\\xee\\xc3\\x0f\\x19\\xdf\\xf8\\xa7\\x1b\\x40\\x1d\\xb4\\x72\\x57\\xdc\\x03\\x36\\x3d\\xff\\x0b\\xf7\\xe9\\xa7\\x89\\x03\\x37\\x1f\\xfe\\x0f\\x77\\x83\\x2f\\xbe\\x7b\\x7f\\x03\\xe8\\xea\\xb9\\x4b\\x97\\x04\\xff\\xc4\\xc7\\x1b\\x40\\x4f\\x02\\xbd\\x9f\\x3c\\x78\\xf9\\x91\\x46\\xee\\x6f\\x7f\\xf3\\x0e\\x59\\x71\\xb4\\x89\\xfb\\x5c\\xd5\\x79\\xca\\xde\\x06\\x30\\xd5\\x73\\x17\\x2e\\xa8\\xbb\\x4c\\xdd\\xd7\\x00\\x66\\x12\\xe8\\x62\\x5a\\xd5\\xbd\\xf5\\x22\\xf7\\xf7\\xbf\\xa7\\x0f\\x5b\\x7d\\xbc\\x85\\xfb\\x4a\\xd7\\x6d\\xc6\\xae\\x06\\xb0\\xd5\\x73\\x6f\\xbf\\xad\\x2f\\x9d\\xb9\\xbb\\x01\\xec\\x75\\xdc\\xb9\\xac\\x11\\xf7\\x9d\\xa4\\x2a\\x81\\xfb\\xc7\\x3f\\xb2\\x47\\xde\\xff\\x22\\x61\\xb9\\x3a\\xee\\x5b\\x53\\x8f\\x39\\xdb\\x1b\\xc0\\x59\\xcf\\x9d\\x3d\\x6b\\xee\\x39\\x77\\x47\\x03\\xb8\\xea\\xb8\\x37\\xf3\\xc6\\x3c\\xf0\\x4a\\x03\\xf0\\xf5\\xdc\\xf7\\xdf\\xe7\\x57\\x6f\\x38\\xd5\\x00\\x42\\x1d\\x77\\xd3\\xd6\\x7b\\xc1\\xc3\\x0d\\xe0\\xae\\xe7\\x4e\\x9f\\xb6\\xf7\\x59\\xb8\\xa5\\xbb\\x19\\x12\\x89\\x52\\x7a\\x1d\\xd2\\x20\\x0f\\x8a\\xa1\\x1b\\xf4\\x23\\x52\\xb8\\x37\\xf9\\x4b\\x27\\x08\\xf0\\x93\\xc2\\x97\\x93\\xe7\\x3e\\xd0\\x27\\xa8\\x7d\\xfd\\xe6\\x9b\\xdf\\x9e\\xfb\\xea\\xe2\\xe7\\xef\\xdf\\xb8\\xa2\\xb9\\xda\\x00\\x3d\\x82\\x06\\x67\\xbf\\xc5\\x07\\xff\\xcd\\x7d\\xf2\\x89\\xab\\x7c\\xc9\\xa1\\x1f\\xb9\\xab\\x57\\xbb\\x9b\\xa0\\x92\\x20\\x2f\\x9b\\x20\\xae\\x0b\\x0c\\x24\\xf1\\x7a\\x92\\xbf\\x64\\xc8\\x82\\x02\\xe8\\x0c\\x03\\xc8\\x73\\x0f\\xf2\\x37\\xe8\\xd8\\xb5\\xcf\\xbe\\xf8\\xfa\\xbb\\x06\\xe8\\x75\\x94\\xff\\xe8\\xea\\x47\\x0d\\x60\\xad\\x0b\\xdd\\xf8\\xfc\\xab\\x6f\\x6f\\x36\\x40\\x9f\\x7a\\xfe\\x2a\\xab\\xd0\\x18\\x2c\\x0d\\x90\\x74\\x94\\x27\\x64\\x21\\x7d\\x14\\xd4\\x7a\\xb3\\xbd\\x01\\xbc\\xf5\\x3c\\x13\\x9f\\x94\\x92\\x91\\xd3\\x00\\x29\\x47\\x79\\x87\\xcb\\x21\\x7d\\x4c\\xf4\\xa6\\x67\\x13\\xa9\\x97\\x5e\\xcf\\xbb\\x0a\\x3b\\x05\\x82\\xbd\\x1a\\x20\\xe3\\x28\\xdf\\xc1\\xd7\\x41\\xfa\\xe8\\xef\\x52\\xda\\x93\\x08\\xcc\\xec\\x7a\\xde\\x57\\x51\\x39\\x74\\xf8\\xa8\\x06\\xc8\\x39\\xca\\x97\\x95\\x97\\x49\\x1f\\x07\\x0e\\x19\\x36\\xb2\\xba\\x01\\xf2\\xeb\\xf9\\xf2\\x09\\x93\\xa6\\xcd\\x9a\\xd7\\x00\\x1d\\x8e\\xf2\\x84\\xa6\\xa5\\x8f\\x13\\xa7\\xce\\x9c\\xbb\\xb0\\x01\\x7c\\xf5\\xfc\\xf8\\xa5\\x2b\\xd7\\xac\\x7b\\xb0\\x01\\x0a\\x8f\\xf2\\x8b\\x96\\x2c\\x92\\x3e\\xae\\x58\\x7d\\xff\\x86\\xcd\\x0d\\xe0\\xaf\\xe7\\x97\\x3c\\xb4\\x75\\xe7\\xa3\\x8f\\x35\\x40\\xa7\\xa3\\xfc\\x13\\x4f\\x3f\\x21\\x7d\\xdc\\xb2\\x63\\xf7\\x3e\\x52\\xe5\\x5d\\xea\\xf9\\xa7\\x9f\\x7d\\xe1\\x58\\xc3\\x4b\\x0d\\x10\\x38\\xca\\x3f\\x73\\xe8\\x19\\xe9\\xe3\\xe1\\xa3\\xc7\\x5f\\x24\\xd5\\x50\\x5a\\xcf\\x1f\\x7a\\xf5\\xcc\\x5f\\xde\\x79\\xb7\\x01\\x82\\x47\\xf9\\x0f\\xae\\x7c\\x20\\x7d\\x7c\\xfd\\xcd\\x73\\x17\\xdf\\x6f\\x80\\x9e\\x41\\x3b\\x7f\\x85\\x71\\xf9\\xca\\xc7\\x2f\\x79\\xfa\\xd0\\x95\\x2b\\x87\\x9e\\x5e\\x32\\xbe\\xdc\\xe7\\x62\\x94\\x57\\x7f\\xec\\x6e\\x89\\xa1\\xd1\\x81\\x88\\x27\\x34\\xab\\x20\\x87\\x15\\x85\\x40\\x03\\x06\\xb0\\x80\\x03\\xe2\\xa1\\x82\\xbc\\x57\\x1c\\xfd\\xf1\\xa7\\x5f\\x9b\\x4f\\x02\\xf5\\x06\\xcb\\x8e\\xf2\\x3f\\xfc\\xf8\\x03\\x49\\xe0\\x68\\xe8\\x3f\\x4d\\x2d\\x27\\x25\\x5a\\x2f\\x3f\\xc2\\xff\\xc8\\xa0\\x52\\x3b\\x95\\x93\\x76\\x9f\\xc3\\x70\\xc6\\x5e\\x10\\xb9\\x3b\\x1b\\x23\\xa5\\x8d\\x91\\xef\\xff\\x6b\\x57\\xa0\\xb7\\xf4\\x30\\xb6\\xde\\xd0\\x7e\\xb1\\xc8\\xed\\xff\\xe6\\x45\\x96\\xfc\\xfe\\xdb\\x1c\\xdc\\xff\\x83\\xf7\\xa9\\xb7\\xbc\\x8b\\x6a\\x8d\\xf4\\xdb\\x1c\\xc2\\x1f\\xc0\\xb1\\xff\\x0f\\xc3\\xc3\\xff\\xf0\\xbd\\x39\\x02\\xcb\\xfe\\xdf\\x5c\\x8d\\x91\\xb0\\x13\\x25\\xf5\\x41\\xfe\\xdf\\x95\\xfe\\xc9\\x4d\\xd3\\x83\\x44\\xfd\\xc8\\xff\\xf2\\xdb\\x89\\x13\\x9b\\x47\\xfc\\x5f\\x84\\x82\\xbd\\xb1\\x61\\x4e\\x4f\\x9c\\xc8\\x3c\\xd9\\x3e\\x10\\xf9\\x9f\\xf8\\x3b\\x60\\x13\\xff\\x0f\\xc2\\x34\\xfd\\xf8\\x7f\\x92\\x07\\x39\\xea\\xc4\\x3f\\x3a\\xd3\\x6b\\x44\\x1f\\x8e\\xfb\\x9d\\x56\\xac\\xf9\\x03\\x0d\\xf9\\x87\\xef\\xc7\\xb6\\xfd\\x64\\xcd\\x39\\x26\\x46\\x7f\\x8e\\x8d\\xd1\\xa2\\xed\\x74\\xe9\\xb8\\x58\\x8d\\x5a\\x13\\xd5\\xab\\x63\\x23\\xc0\\xc9\\x41\\x80\\xd1\\x47\\x12\\x9c\\x04\\xa2\\xbe\\x50\\x4f\\xc9\\xbe\\xbe\\x4c\\x74\\x6c\\x5f\\xd4\\x1f\\x0d\\x42\\x77\\xa2\\x10\\x1a\\x8d\\xc6\\xa2\\xbb\\xd0\\x64\\x34\\x1d\\xcd\\x46\\xf3\\xd1\\x3d\\x68\\x19\\x5a\\x85\\xd6\\xa2\\xf5\\x68\\x23\\xaa\\x45\\xdb\\xd0\\x23\\x68\\x0f\\xfa\\x13\\x7a\\x12\\x1d\\x40\\xcf\\xa1\\x3f\\xa3\\x3a\\x74\\x02\\xbd\\x8c\\x5e\\x43\\x6f\\xa0\\xb7\\xd0\\x79\\xf4\\x1e\\xba\\x8c\\x3e\\x46\\xd7\\xd1\\x5f\\xd1\\x97\\xe8\\x1b\\xf4\\x4f\\xf4\\x2f\\xf4\\x33\\xfa\\x0d\\x85\\x01\\x88\\x19\\xae\\x04\\x2d\\x18\\xc1\\x0a\\x71\\x90\\x00\\x1e\\x48\\x85\\x4c\\xc8\\x85\\x8e\\x50\\x04\\x25\\xd0\\x15\\xba\\xc3\\x1d\\xd0\\x17\\xfa\\xc3\\x20\\xe6\\x91\\xe0\\x94\\x49\\x4b\\x0f\\x7c\\xed\\xe4\\xde\\x7a\\x4b\\x12\\xeb\\x1c\\x33\\x70\\xe6\\xb6\\xc3\\x3f\\x71\\x17\\x2f\\x56\\x4c\\x7b\\xf0\\xd9\\xdf\\xb8\\x77\\x26\\xac\\x78\\xf2\\x0b\\x37\\xf7\\xc6\\x1b\\x93\\x97\\x3d\\xf5\\x8d\\x8b\\x3b\\x3b\\x64\\xee\\xe6\\xa3\\x3f\\x70\\xef\\xbf\\x5f\\x39\\xeb\\xe1\\x17\\x7e\\xe6\\xde\\xad\\x59\\xfd\\xa7\\xcf\\x92\\xb9\\xd7\\x5e\\xbb\\x6b\\xe5\\xfe\\x2f\\x13\\xb9\\xd3\\xc3\\x16\\xee\\x38\\xfe\\x1d\\x77\\xe5\\xca\\xd0\\x79\\x0f\\x1d\\xfb\\x17\\xf7\\xc1\\xa8\\xfb\\xf7\\x5c\\x4b\\xe3\\x5e\\x7e\\x79\\xec\\x9a\\xbd\\x7f\\xf5\\x72\\xaf\\x34\\xbd\\x42\\x84\\xa3\\x8b\\x68\\xa3\\x4a\\xa2\\x79\\xba\\x10\\x89\\x3c\\x7c\\xd1\\xce\\x86\\x7f\\x72\\x1f\\x9d\\x22\\x52\\xd3\\x42\\xf2\\x57\\x46\\x2c\\x7d\\x8e\\xe4\\xaf\\xe4\\xf8\\xe8\\x75\\xbb\\xae\\xa7\\x73\\x27\\x5b\\xba\\x27\\x10\\x01\\xeb\\x21\\x7a\\xaf\\x82\\x7c\\x28\\x85\\x52\\xd4\\x4c\\x04\\x6b\\x3c\\xe4\\xc0\\x20\\xf2\\x1c\\x20\\xc2\\xd4\\x4e\\x0a\\xd6\\x0b\\xe5\\x91\\xa7\\x22\\xf2\\xa7\\x24\\xc5\\x4d\\x83\\xbe\\xc4\\x54\\xe1\\xa0\\xf8\\xb8\\xa4\\x7e\\xb8\\xb2\\xb2\\xee\\x2a\\x22\\x77\\x0d\\xe0\\x86\\x0e\\xd0\\x9f\\x7c\\x08\\x92\\xbf\\x62\\x08\\x04\\xe3\\x4f\\x7e\\xf4\\xca\\x07\\xa7\\xdf\\x3d\\xfb\\x0e\\xa3\\x81\\xde\\xe5\\x53\\x37\\x1c\\xfa\\x95\\x3b\\x77\\x8e\\x53\\x6a\\x8d\\x56\\x0e\\xa0\\xbb\\x12\\x06\\x13\\x1c\\x3a\\x88\\xb2\\xbc\\x83\\xd8\\x3d\\x1c\\x51\\x98\\x05\\xc7\\x0b\\x8a\\x3b\\x77\\xeb\\xc1\\xf5\\xee\\xdd\\x00\\x43\\x8e\\x5c\\x7c\\xff\\xca\\x09\\x6a\\x8a\\x1c\\x2b\\xe3\\xcf\\xc1\\x39\\x22\\xcd\\x8f\\x85\\xa8\\x16\\x3d\\x01\\xbd\\xa8\\x80\\x37\\xf5\\x33\\x91\\x57\\x41\\x73\\x68\\xc0\\xe0\\xaa\\x46\\xd1\\xcf\\xf7\\x23\\xba\\xad\\x89\\xae\\x69\\x64\\x2c\\x97\\x82\\x8e\\xac\\x1e\\x3f\\xf1\\x04\\x95\\xfc\\x75\\xbc\\x71\\x54\\xcd\\x84\\x49\\x27\\x48\\x51\\x14\\x47\\x79\\xdd\\x14\\x9d\\xa4\\x17\\x66\\xcc\\x59\\x70\\x02\\x54\\xa0\\xab\\xeb\\xc2\\x4f\\x21\\x6a\\xef\\x04\\xb5\\x85\\x8e\\x05\\xf8\\xa9\\xda\\xa9\\x52\\xec\\x25\\xcb\\xef\\xbd\\xef\\x04\\xd1\\x3b\\xb6\\x3a\\x5e\\xbb\\x94\\xe8\\xbe\\x13\\x04\\x7b\\xf6\\xa3\\xbc\\xea\\x01\\x95\\x14\\x7b\\xd3\\xd6\\xed\\x27\\xc0\\x09\\x49\\x75\\xa5\\xfc\\x03\\x9b\\xb7\\xed\\x38\\x41\\x50\\xee\\x39\\x16\\xe4\\x37\\x28\\x37\\x48\\xb1\\x1f\\x7d\\xec\\x89\\x67\\x4e\\x40\\x0a\\x64\\xd4\\xf1\\xca\\x3d\\x7f\\x7a\\xf2\\xc0\\x09\\x4a\\x1b\\x47\\x79\\xfe\\x20\\x2f\\xc5\\x7e\\xfe\\x48\\xfd\\x09\\x62\\x20\\xe4\\xd5\\xf5\\xe4\\x0f\\x12\\xed\\x78\\x82\\xda\\x5d\\xc7\\x7a\\xf1\\x87\\xb8\\x43\\x52\\xec\\x97\\x88\\x9a\\x3c\\x01\\x85\\xd0\\xa9\\x8e\\xe7\\x5e\\x7e\\xed\\x8d\\xb7\\x4e\\x50\\x8a\\x3a\\xca\\xe3\\xb7\\xb1\\x14\\xfb\\xc2\\xa5\\x0f\\x4f\\x10\\xd3\\xa2\\x5b\\xd0\\xdb\\x87\\x7f\\xbb\\x9f\\x71\\x8a\\xf6\\x01\\xe5\\x41\\x62\\x2b\\x71\\x07\\x95\\x0f\\x68\\xa7\\x18\\xfb\\x29\\xe1\\x57\\xc9\\x62\\xe8\\xc0\\x3b\\xbe\\xbd\\xf9\\xe3\\x09\\x6a\\xc3\\x1d\\xf3\\xf1\\xff\\xb1\\xfd\\x87\\x62\\xcb\\x18\\x72\\xba\\x93\\xd3\\xb2\\xf2\\x78\\x9b\\xcd\\xf1\\x6b\\xf0\\x2a\\x31\\x41\\x4e\\x50\\x43\\xef\\x28\\x6f\\xfd\\xd5\\x2a\\x01\\xff\\xee\\x87\\x9f\\x4e\\x40\\x05\\x54\\x1e\\x2d\\xe4\\x7f\\x6d\\xd3\\x96\\x74\\xf6\\x72\\x49\\x7e\\x9b\\x6a\\xa3\\xda\\xf3\\x7f\\x5f\\x67\\xfe\\xbf\\x57\\x98\\xc4\\x0b\\xf6\\x15\\x79\\x6f\\x73\\xf8\\xac\\x7f\\x74\\x78\\xad\\x3e\\xe3\\x6d\\x0e\\xb8\\x25\\xa0\\x9d\\xbc\\x4b\\x8f\\x39\\x84\\x5b\\xbe\\x73\\xe4\\x9d\\x3f\\xf6\\x99\\x1c\\x1e\\x72\\x08\\x45\\x5e\\x6b\\x2a\\xb9\\x9a\\xc9\\xd5\\x1b\\x73\\xdc\\x1a\\xff\\xbf\\xfd\\x7e\\x4b\\xfa\\x70\\xeb\\xf3\\x2d\\xf9\\x8c\\xc6\\x17\\x22\\xf9\\xa2\\xf9\\xb1\\x13\\xb8\\xf6\\x5b\\xe0\\x9b\\x6f\\x7d\\x8e\\xc4\\x8f\\x5e\\xb9\\xcb\\x8d\\xd9\\x53\\xda\\x7e\\x53\\xe9\\x1f\\xfd\\x45\\xaf\\xd1\\x5f\\xe3\\xb6\\xb6\\x57\\x1f\\x92\\xff\\x29\\x53\\x2e\\x93\\xff\\xc8\\xbb\\xf0\\x3f\\xa6\\x44\\x3e\\x36\\x1f\\x9c\\x0a\\xa5\\x53\\x2f\\x4f\\x85\\x43\\x53\\xdb\\xc0\\xc4\\xc0\\x6a\\xff\\xdc\\x0a\\x08\\xdb\\xa4\\x87\\xcb\\xd2\\x3f\\xfe\\x96\\x86\\x68\\x4d\\x60\\x2a\\x85\\x2d\\x56\\x91\\x2f\\x97\\xa3\\xb1\\x5b\\xaf\\x34\\xcc\\x54\\x29\\x52\\x78\\x0b\\x24\\x8f\\xa5\\xff\\xde\\x1a\\xf0\\x8c\\x93\\xfe\\xdb\\x29\\xb6\\xd7\\x5a\\x3d\\x3b\\xf2\\x3f\\x86\\x9c\\xf9\\x29\\xd1\\x4f\\xaf\\xde\\xaa\\x2b\\x5f\\x8d\\xde\\xbc\\x1e\\xab\\xc2\\x7e\\xa7\\x0a\\xdb\\x5e\\xb5\\x86\\xe2\\xcf\\x47\\xd5\\x5f\\x54\\x09\\x93\\x54\\x23\\x49\\x8c\\x6d\\x05\\x2d\\x83\\x7d\\xad\\x15\\x98\\x0c\\xa8\\x0d\\x80\\x14\\x59\\x6a\\x77\\x5a\\x82\\xe6\\xb3\\x23\\x58\\xba\\x26\\xb4\\xb1\\x0e\\x10\\xc7\\x32\\x74\\xd8\\x4c\\x74\\x08\\xaf\\xc7\\xe8\\x59\\xc2\\xdc\\x68\\xf6\\xb0\\x43\\x9b\\x3d\\x08\\x23\\x1e\\x21\\xf6\\x22\\xfb\\x96\\xbc\\x5f\\x75\\x50\\xc3\\x22\\x81\\x88\\x78\\x85\\x92\\x63\\xd8\\x5b\\x86\\xfd\\xc8\\x51\\xcd\\x46\\x8f\\x91\\x67\\xdf\\x6a\\xf2\\x57\\xb0\\x1d\\xe9\\x85\\x5d\\xd6\\x74\\x91\\xed\\x48\\xd2\\x9c\\x0e\\x2b\\xf0\\x64\\x66\\x49\\x24\\x4d\\x96\\x03\\x1c\\x1d\\xf9\\x19\\x69\\xb6\\x9a\\x2c\\xb2\\xd0\\x0c\\x2b\\xa0\\x59\\x1e\\x5b\\xd8\\x16\\x5e\\x4a\\x57\\x00\\xda\\x2e\\xaf\\x50\\x0a\\xc0\\xd3\\x88\\xd7\\x63\\xd3\\x85\\xc8\\x8a\\xcb\\x32\\x88\\x0a\\xf1\\x51\\x0a\\x45\\xac\\x84\\x71\\xe2\\x5e\\x79\\xcc\\x1b\\xf9\\x29\\x10\\x9e\\x24\\xb5\\xcb\\xd1\\xf2\\x22\\xba\\x9a\\x48\\x34\\x71\\x12\\xd1\\xa3\\x40\\xbf\\x92\\xef\\xe1\\x9d\\x08\\x80\\x44\\xe1\\x2b\\xd8\\xe7\\x49\\x0e\\xe8\\x7a\\xd9\\x80\\x19\\x8a\\x9d\\x48\\x70\\x3a\\xeb\\xcb\\xa3\\x24\\x61\\xf0\\x70\\x5c\\xc5\\x3e\\xdf\\x34\\x98\\x84\\xaf\\x6d\\xf9\\x92\\x1f\\xc1\\x3e\\x4b\\xc2\\x9b\\xea\\x11\\x10\\xac\\x60\\x73\\x1b\\x6c\\x25\\x86\\x5a\\x09\\x0b\\xcf\\x86\\xf7\\x86\\x77\\x4b\\x7d\\xfa\\x7b\\x49\\xf8\\x0a\\x76\\x0b\\x09\\x1f\\x17\\x54\\x63\\x40\\x74\\xed\\x64\\x84\\x81\\x46\\xa2\\x13\\x46\\xa5\\x34\\x94\\x98\\xaf\\x08\\x1f\\x0c\\x3f\\xc3\\x6e\\x69\\x1a\\x4c\\xb2\\x22\\xc5\\x6b\\x97\\x0e\\x26\\x91\\x20\\x26\\x1d\\x62\\x7d\\xf0\\x23\\x68\\x32\\x4d\\x25\\xf8\\x2e\\x19\\x7f\\xa9\\xa4\\xde\\xd4\\xdc\\x63\\x88\\x0e\\x47\\x29\\x0c\\x3a\\x59\\x86\\xae\\x6b\\x2e\\x60\\xac\\xe0\\x19\\x95\\x92\\xe3\\xd4\\xbc\\x9e\\x29\\x65\\x30\\xa3\\x90\\xc6\\xa8\\x8e\\x6e\\xb7\\x0e\\x9d\\xdc\\x06\\xed\\xf1\\x2a\\xc1\\xa7\\x64\\x71\\x70\\xb0\\xe8\\x87\\xb7\\x06\\xc3\\x39\\x51\\x27\\xee\\x85\\x71\\x50\\x83\\x2f\\xe2\\xf7\\xc2\\x1d\\x71\\x51\\xf8\\x5c\\xf8\\x34\\xee\\x46\\xd3\\x7a\\x1a\\xed\\x67\\xf3\\xd8\\x4c\\xa4\\x47\\x89\\xb4\\xae\\x0c\\xc8\\xa1\\x40\\x8a\\x24\\x8f\\x45\\x13\\xcf\\x92\\xba\\xba\\xd6\\x8e\\x46\\xa2\\x83\\x5b\\x2d\\x74\\x04\\x72\\x1e\\xf8\\x2d\\x74\\x9c\\x23\\x9d\\xf1\\x29\\xcf\\xfc\\x7d\\x7a\\xd1\\x7b\\xf7\\x2c\\xbe\\x74\\xcf\\x3d\\xef\\x2d\\x59\\xfc\\xee\\xa2\\xaa\\x71\\x4f\\x8f\\x1f\\x77\\x60\\xc2\\xb8\\x43\\xe3\\xc6\\x1e\\x18\\x87\\x27\\xd0\\xf7\\xef\\x93\\x4f\\x8b\\x16\\xbd\\xbb\\x78\\xdc\\x81\\xb1\\x35\\x07\\xc7\\x91\\x2f\\xe3\\x0e\\x48\\xdb\\x26\\xa0\\x71\\xa8\\x8a\\xad\\x66\\x07\\x13\\x6a\\xd1\\x4b\\xf3\\xe4\\xd2\\x89\\x2d\\xe1\\x47\\xa5\\xa8\\x0f\\x1a\\x88\\x86\\xa1\\x6a\\x34\\x11\\xcd\\x44\\x0b\\xd1\\x0a\\xf4\\x6e\\x70\\x6a\\xe5\\xa4\\x49\\x43\\xa7\\x75\\x5a\\xb4\\x28\\xb0\\x34\\x63\\xd6\\xac\\x9c\\x79\\x49\\x35\\x35\\x29\\x13\\x14\\x65\\x65\\x9a\\x0a\\x14\\x0c\\xb2\\xbd\\x0c\\x1d\\x3a\\x58\\x0a\\x0b\\x7b\\x55\\x4c\\x98\\xb7\\x74\\x9a\\xe0\\x18\\x3e\\x2a\\xde\\xe1\\x18\\xb5\\x6a\\x65\\xbf\\x39\\x0b\\x06\\x2c\\xe8\\xb1\\x78\\x79\\xef\\xe5\\x05\\x53\\x66\\x14\\xcf\\x70\\x8e\\x18\\xe3\\x1e\\x63\\x1a\\x5c\\x65\\xab\\xc2\\x9d\\xbb\\xf1\\xdd\\x54\\x59\\x79\\xba\\xbc\\x05\\xcb\\x67\\x8c\\xa9\\xea\\x96\\x97\\xd7\\xad\\x6a\\xcc\\x8c\\xe5\\x0b\\x84\\xb4\\x71\\x77\\x27\\xa7\\x49\\x2c\\xd2\\xd6\\xfc\\x67\\xa4\\xeb\\x7e\\xfc\\x37\\xa7\\x28\\xae\\x4c\\xb1\\x93\\xda\\xfe\\xf0\\x44\\xc7\\x73\\x7b\\x93\\x8b\\x0a\\x7d\\x05\\xe9\\x91\\xab\\x39\\x72\\xb5\\x47\\xae\\xd1\\xef\\xc2\\x2d\\xcf\\xb7\\x5e\\x6f\\xfd\\x7e\\xeb\\x73\\xea\\x2d\\xf0\\xa3\\xe9\\x31\\x1f\\x15\\x76\\xea\\x54\\xb8\\x95\\x9e\\xfe\\xe3\\x2f\\xf2\\x17\\xa5\\xd0\\x3b\\xd1\\x5f\\x4c\\x7e\\xcf\\xf9\\x8b\\x8a\\xfc\\x78\\x30\\x3d\\x87\\x9d\\xf4\\x05\\x5e\\xdd\\x1a\\x36\\xfc\\x7c\\x61\\xa7\\xe2\\x62\\x29\\x30\\xfc\\x85\\x7e\\x13\\x47\\xd1\\xf3\\x7f\\x68\\xe0\\xad\\xf4\\x8e\\xd9\\x4e\\x4e\\x39\\xe4\\x49\\x7c\\xdf\\xef\\x2f\\xfa\\x9c\\x3c\\xc0\\x16\\x72\\x33\\x82\\x02\\x5b\\x48\\x4e\\x70\\xa2\\xd8\\x57\\x12\\xee\\x45\\xee\\x1e\\x29\\x2c\\xec\\x84\\xe3\\x23\\x81\\x44\\x86\\xdc\\x7c\\x41\\xa3\\x5d\\xee\\x54\\xd8\\x29\\x8b\\xdc\\xc8\\x32\\xe0\\x08\\x5a\\xcf\\x7a\\x99\\x46\\xba\\x66\\x5e\\x50\\xa9\\x62\\x75\\x7a\\x41\\x4f\\x25\\x83\\x3c\\x41\\x52\\xe2\\x21\\x89\\x2a\\x91\\x37\\x19\\xd1\\x15\\xba\\xf0\\x94\\x19\\x1f\\xcf\\x11\\xc5\\xe3\\xf5\\xa2\\x38\\xf3\\x0a\\xd3\\x38\\xef\\x93\\x29\\xc7\\x45\\x11\\x98\\xfa\\x69\\x97\\x17\\xca\\xfc\\x95\\x49\\xf8\\xeb\\x59\\x96\\xae\\x05\\x6f\\xa6\\x9c\\xcc\\x10\\xc9\\xc8\\x5a\\xac\\x06\\xa0\\x0c\\x25\\x8b\\x27\\xca\\xc9\\x3e\\x22\\x5d\\xe0\\x16\\x12\\xcf\\x64\\x57\\x37\\xb3\\x0b\\xce\\x2d\\x5c\\x70\\x7e\\xc1\\x82\\x77\\xc8\\x79\\x3e\\xbb\\xba\\x69\\x19\\xee\\xbe\\xe0\\x9d\\x05\\xe4\\x9e\\xbc\\x5c\\xf8\\x0e\\x1d\\xeb\\x1a\\x0b\\xdf\\x8b\\x3c\\x41\\x03\\x13\\xaf\\x61\\x2d\\x88\\x4f\\x49\\x35\\x38\\x08\\x73\\xd1\\xac\\x5f\\xbf\\x7e\\xc1\\x70\\xfd\\x42\\x6c\\x4a\\xb7\\x30\\x57\\xfa\\x6d\\x52\\x1e\\x34\\xee\\xe0\\xd8\\xb1\\x84\\x73\\xa4\\x73\\xff\\xdf\\x67\\xa3\\xf5\\x1b\\x39\\xb7\\xcb\\x12\\x29\\xf3\\x5c\\x58\\x8b\\xc7\\x33\\xf3\\x09\\x0e\\xe3\\x28\\x9f\\xeb\\x90\\x45\\x40\\x82\\xcb\\x69\\x67\\x8c\\xaa\\x5b\\xf9\\x5c\\x9a\\x65\\x10\\x99\\x6b\\x69\\xb7\\x09\\x31\\x4b\\x29\\xe1\\xf1\\x3b\\xc6\\xf6\\x9a\\xd5\\x6b\\xcb\\x5d\\x13\\xfb\\xf4\\xab\\xb8\\xbb\\x77\\xef\\xbb\\xc7\\xf5\\xeb\\x5f\\x8d\\x97\\x4d\\xdd\\xd8\\x7d\\xce\\x1d\\x13\\x6b\\xfb\\xf5\\x99\\xd8\\xfb\\xee\\xbb\\x7b\\xf7\\xb9\\x6b\\x32\\xf1\\x04\\xfe\\x4c\\x64\\xde\\x3d\\x44\\xe6\\xa9\\x91\\x03\\xa5\\xa0\\x0e\\xa8\\x33\\x9a\\x1b\\xec\\x91\\x9d\\x1a\\x97\\x98\\xd8\\xb9\\x38\\x95\\xd5\\x98\\x35\\xc8\\xcc\\x23\\x3e\\xd0\\x25\\x23\\x3e\\x39\\x2f\\xb9\\xa8\\xe3\\xa4\\x8e\\x10\\xea\\x08\\x7d\\x3a\\x42\\x5c\\x47\\xe8\\xe8\\xeb\\xa4\\x4f\\xae\\x4e\\x9e\\x99\\xcc\\x28\\x3a\\x05\\x95\\xba\\xb2\\xe4\\x4e\\xc9\\x9d\\x18\\x3d\\x1d\\xb2\\x6c\\x63\\x68\\x5e\\xe9\\x20\\x60\\xc2\\x95\\xd9\\x63\\x46\\x1b\\xe8\\x5c\\x59\\xda\\x20\\xdf\\x9e\\xfd\\x62\\x27\\x4c\\x20\\x21\\x19\\xa5\\x17\\x22\\x4f\\x12\\x12\\x0a\\x51\\x3a\\x1d\\x42\\x6a\\x41\\xf6\\x02\\x14\\xbb\\xcb\\x0e\\x17\\x73\\x0f\\xa4\\x98\\x7e\\x3b\\x1d\\x71\\xca\\xdf\\x23\\xee\\x6c\\x0e\\x8b\\xbb\\x80\\xc8\\x4d\\x4c\\xfe\\xc6\\x8d\\x10\\x2f\\x7c\\xf4\\xc9\\x8e\\x47\\xa0\\xe0\\xa3\\x8f\\xa1\\x43\\x78\\x64\\x5e\\x52\\x52\\x6e\\x6e\\x52\\x52\\x1e\\xbc\\x9f\\x93\\x94\\x94\\x9f\\x9f\\x94\\x94\\x13\\xfe\\x47\\xc5\\x96\\xda\\x8a\\x6e\\xe3\\x4e\\x9c\\x18\\x87\\xcb\\x44\\xa2\\xca\\xe0\\xee\\x70\\x23\\x4c\\x11\\xb7\\xfd\\xf6\\x31\\x71\\x8c\\x76\\x3d\\xf2\\xf1\\x47\\xe2\\x05\\x20\\x4e\\x41\\x55\\x52\\x5e\\x34\\xb2\\x74\\x15\\x4f\\xad\\x5f\\xef\\x3d\\x29\\xed\\x97\\xcb\\xc2\\x7b\\x04\\x6f\\x8f\\x48\\x78\\xb3\\x13\\xda\\xc9\\x45\\xa3\\x83\\x9d\\x34\\x26\\xb7\\x03\\x39\\x32\\x52\\x4c\\x3c\\x9f\\x97\\xef\\xb1\\xea\\x5d\\xfa\\xcc\\xdc\\x49\\xb9\\x10\\xca\\x85\\xf2\\x5c\\xe8\\x9a\\x0b\\xb9\\xd9\\x69\\xd1\\xc5\\x70\\x59\\xc5\\xc0\\xb4\\xea\\x34\\xac\\x4f\\xd3\\xa7\\x29\\xe9\\x30\\x5c\\x8a\\xa7\\xd1\\x04\\x4f\\x17\\xda\\xf0\\x74\\xa1\\x20\\x76\\x86\\x61\\x0c\\x7e\\xb8\\x98\\x8a\\x4e\\x8d\\x5d\\x3f\\x8b\\xa2\\x24\\x5d\\x42\\xc9\\x23\\xb7\\xa0\\x24\\x8c\\x6e\\x83\\x85\\xe7\\x29\\x02\\xba\\x55\\xd4\\x6e\\xa9\\x68\\x8f\\x85\\xc5\\x31\\x45\\xa6\\x57\\xf1\\xda\\xc9\\x93\\xde\\xf5\\xeb\\x89\\x02\\xed\\xdd\\x32\\x97\\xd7\\xb1\\x5d\\x88\\x5f\\xeb\\x47\\xcb\\x83\\x3d\\x8b\\x0c\\x6a\\x41\\x85\\xb3\\xb2\\x6c\\x71\\x79\\x69\\xc9\\x09\\x5e\\x6f\\x9c\\x8a\\x29\\xe9\\x94\\x9d\\x85\\xb3\\x34\\x6a\\xb5\\x27\\xb9\\x63\\x9c\\x2d\\x4e\\x91\\x9a\\xa5\\x77\\x27\\xc7\\x65\\x25\\xc7\\xc5\\x25\\x67\\x31\\x10\\x6f\\xbc\\x61\\xbf\\x69\\xc7\\xf6\\x74\\x9e\\xee\\x99\\xb9\\x19\\xa8\\x4d\\x44\\x97\\x47\\x1f\\x1d\\xed\\xbe\\x91\\x7a\\x19\\x29\\x6d\\x18\\xce\\x13\\x92\\x21\\xb6\\x0b\\xb9\\x89\\x4e\\xa6\\xf2\\xb5\\x4a\\x64\\x79\\x18\\x8b\\xd5\\x0d\\x74\\x4b\\x55\\x1b\\x6d\\x49\\xe2\\xe9\\xce\\xaa\\x3a\\x2c\\x10\\x7b\\x39\\x2d\\x5d\\x48\\xf7\\xa7\\xa5\\x7b\\x8b\\x7c\\xc5\\x74\\xd3\\xd5\\x62\\x7f\\x74\\xf5\\x7a\\x3f\\x9d\\x77\\xc3\\xac\\xef\\xd1\\x63\\x7c\\xe0\\x64\\x6e\\x43\\x15\\x7f\\xe5\\x0a\\xf1\\x5e\\x3b\\xd6\\xa7\\xf4\\xeb\\x56\\xd4\\xe3\\x9e\\x09\\x2f\\x65\\xd7\\x0f\\x30\\x5c\\xb9\\xa2\\xa9\\x3c\\x96\\xf1\\xf2\\x8c\\xd9\\x89\\x1b\\x5e\\x7b\\x7d\\xfd\\x86\\x9a\\xf1\\x67\\xd8\\x2e\\x1f\\xf3\\xe9\\xb9\\xf5\\xb9\\x0d\\xb3\\xe7\\x75\\x5b\\x56\\x43\\x02\\x39\\xb3\\x0c\\x8a\\x8f\\x3f\\x36\\xf6\\x3d\\x96\\xdb\\x30\\x61\\x59\\xb7\\x95\\xd5\\x04\\x42\\x7f\\x6d\\xd7\\xb3\\xeb\\xd6\\x9d\\x19\\x3b\\xf6\\x81\\x75\\x67\\xe5\\x71\\x7f\\x9f\\xa0\\x4a\\x36\\x8d\\x5d\\x45\\x38\\x2a\\x9d\\xae\\xf8\\x9b\\x62\\x50\\x9b\\x74\\x3a\\x2b\\x4a\\xb0\\xb3\\x2c\\x52\\x33\\x99\\x19\\x26\\xab\\x43\\xef\\xd0\\xdd\\x44\\x2d\\x74\\x2f\\xdf\\xc4\\xa4\\xfc\\x24\\xec\\x48\\x72\\x24\\x09\\x41\\x33\\x98\\xe3\\x82\\xa9\\x19\\x65\\x71\\x02\\x61\\x9f\\xec\\xfc\\xd1\\x12\\xfb\\x10\\xe6\\x99\\xdd\\xaa\\xb6\\x22\\xfa\\x2a\\x3a\\x15\\x11\\xe4\\x15\\x40\\x09\\xf7\\xd3\\xc9\\xd5\\x91\\x4e\\x6c\\x3a\\x2a\\x44\\x5e\\xdf\\x43\\x2e\\x74\\x1e\\xe0\\x6b\\x15\\x53\\x7b\\x3d\\x3f\\x67\\xc1\\x90\\xaa\\x87\\xa6\\x00\\x49\\xb5\\x1f\\x11\\xb3\\xd8\\xdb\\x69\\x54\\xc9\\x92\\xc1\\xc3\\xba\\x74\\x2d\\x19\\x8d\\x7b\\xa8\\x2b\\x16\\x97\\x2f\\x7f\\xb2\\x6a\\xc8\\xe2\\xe9\\xfb\\xb5\\x4f\\xf5\\x16\\x1b\\x81\\xef\\x8d\\x6b\\x8b\\xaa\\x4b\\xaa\\xee\\xe9\\xd6\\x75\\x68\\xe7\\xea\\x42\\xb9\\x5c\\x83\\x50\\x23\\x7b\\x98\\x94\\x2b\\x07\\x75\\xa2\\x73\\xe4\\x3b\\xe4\\xb0\\x89\\x4c\\x7a\\xb1\\xc5\\x93\\xee\\x29\\xe9\\x9c\\x93\\x98\\xe5\\x43\\x29\\x2b\\x53\\x70\\x4a\\x2e\\xdd\\xe8\\x52\\x9f\\x05\\x8a\\x2c\\x3a\\x1b\\xe0\\x9d\\xd1\\x11\\x41\\x10\\x1d\\x93\\x4f\\xb7\\x1c\\x93\\xa6\\xcc\\xd2\\x65\\x29\\x8a\\x7d\\x76\\x29\\x97\\xbe\\x02\\x2b\\xe5\\xf8\\x44\\xb0\\xe8\\xa5\\xa5\\xe3\\x04\\x9b\\x35\\x66\\xc0\\xb7\\x10\\xb3\\x01\\x01\\xd3\\xb2\\x25\\x5b\\xc1\\xf3\\x0a\\x4f\\xaf\\x2e\\xc3\\x33\\x53\\xb4\\x06\\xde\\xa0\\x61\\x59\\x9d\\x39\\x35\\x45\\xfb\\xcf\\xa1\\x87\\xe7\\xcd\\x7b\\xee\\xc0\\xe2\\x3e\\x43\\x76\\x85\\x96\\x2e\\x1f\\x16\\x5a\\xbc\\x94\\x45\\xd9\\xd9\\x9c\\x56\\xa1\\x64\\x59\\xa3\\x56\\xa3\\x73\\x05\\xc6\\x0d\\xf0\\x25\\x29\\x79\\xbe\\xfb\\x88\\x82\\xef\\x07\\x4d\\x5f\\xf6\\xfc\\xe3\\x8b\\x17\\x1d\\xcc\\x4e\\x5a\\x1c\\xaa\\x5e\\xb0\\x6c\\xf8\\xb0\\xa5\\x44\\x53\\x75\\xa1\\xd3\\xe5\\xd8\\x8b\\xc8\\x83\\x3a\\x04\\xe3\\x4c\\xf1\\x6a\\xbb\\x9e\\xe7\\xed\\xf1\\x4c\\xb2\\x57\\xa9\\x8f\\x4b\\x8c\\xcb\\x8f\\x63\\x14\\x71\\x71\\x46\\x3a\\x34\\xbd\\x84\\x14\\xac\\xfd\\x6e\\x5d\\x40\\xa7\\xb8\\x83\\x5d\\x1a\\x03\\xef\\xc6\\x89\\xe0\\xf1\\x13\\x9d\\xd0\\x15\\xa2\\x9b\\x2a\\x10\\x65\\x97\\x14\\x57\\xb3\\x63\\x63\\x6f\\x7c\\xef\\xb0\\x3d\\xe3\\x99\\x81\\x8f\\xaf\\x51\\x34\\x7f\\xcd\\x2f\\x7d\\x76\\xd8\\x88\\x83\\xa1\\x7b\\x43\\xe3\\x37\\xac\\x61\\x2f\\xd6\\x1c\\xd8\\xb0\\x7c\\x4d\\x9f\\x9a\\x95\\xa7\\xf6\\x3d\\x35\\x46\\x99\\x9a\\x3a\\xf6\\xd9\\x5a\\xdd\\xa9\\x95\\xa3\\x42\\xeb\\x06\\x2f\\x3c\\x49\\x75\\x6b\\x00\\x11\\xa3\\x9a\\x7d\\x13\\x15\\xa2\\x4e\\xc1\\x04\\xac\\x2f\\xcc\\xc8\\x70\\x3b\\xf4\\x6c\\x51\\x71\\x4a\\xb6\\x22\\xdf\\x92\\xc4\\xaa\\x13\\xd5\\x60\\x52\\x9b\\x68\\x83\\x14\\xc9\\x9f\\x4c\\x38\\x14\\xd3\\xbe\\x18\\x21\\x92\\x09\\xfe\\x6e\\x4c\\x51\\xba\\xac\\xb7\\x68\\xae\\x0a\\xec\\x52\\x2d\\xc8\\xa3\\xf7\\x85\\x62\\x7f\\x94\\x92\\x24\\xbd\\xe6\\x66\\xec\\x6c\\xef\\xe6\\x7a\\xc5\\xfd\\x0b\\xab\\x8b\\x70\\xc9\\x91\\x50\\xff\\x55\\xbd\\x1f\\x1e\\xdd\\x6d\\x42\\x9a\\x51\\xbd\\x7f\\xf6\\xbc\\xc7\\xee\\x18\\x6a\\xb0\\xa5\\x4f\\xee\\xd5\\xf7\\xd1\\x79\\x9d\\x16\\x54\\x77\\xe5\\x3a\\x4e\\x5f\\x31\\xc7\\xeb\\x2a\\x5e\\xb4\\xad\\x22\\x7f\\xd1\\x82\\x8a\\xe5\\xfd\\xe7\\xee\\x05\\x5f\\xf7\\x8c\\xd4\\xb4\\x7b\\xb6\\x3f\\x36\\xb5\\x6a\\x5c\\x06\\xa3\\x18\\x50\\x31\\x6f\\xde\\x93\\x1d\\x07\\x4f\\x5e\\xfe\\xc8\\xa2\\x22\\x2b\\x2d\\xcf\\xdd\\x2d\\xdf\\x10\\xff\\xe8\\x1e\\xc2\\x23\\x8e\\xa0\\x0a\\x69\\xcd\\x5a\\x81\\x89\\x73\\xaa\\x90\\xec\\x24\\xc9\\xb3\\x59\\xb8\\x3c\\xc8\\x87\\xd6\\xb5\\x04\\xa2\\x3b\\x78\\xd0\\x1d\\x22\\xc7\\xd9\\x46\\xbe\\x30\\xa2\\xbc\\x78\\xc3\\x5d\\xc3\\x36\\xa7\\x25\\x6f\\x1a\\x3e\\x76\\xf3\\xf0\\x99\\x0f\\xae\\xb2\\x57\\xd5\\x7f\\xb7\\x64\\xc2\\xaa\\x1e\\x53\\xd7\\xcf\\x59\\xb4\\x70\\xfe\\xba\\x71\\x55\\xaf\\xac\\x3f\\x7a\\x59\\xb2\\x4b\\x7a\\xb4\\x7c\\xc5\\x5c\\x22\\xb8\\xd3\\xa0\\xc4\\xa0\\x46\\xc5\\x13\\x67\\x40\\xab\\x63\\x54\\x2a\\x5e\\xaa\\xca\\x38\\x69\\xe5\\x94\\xc8\\x60\\x31\\xb0\\x21\\x3b\\x8f\\x84\\x34\\x9c\\x96\\x5e\\x8c\\xb0\\x50\\x06\\xca\\xc5\\xbd\\xc4\\x0b\\x43\\x52\\x4f\\x6c\\xbd\\x73\\x1e\\x71\\x3c\\xde\\x5c\\x26\\xee\\x58\\xdf\\x5b\\x9c\\xbc\\xb5\\x0f\\x70\\xa7\\xee\\x5e\\x0f\\x21\\xd9\\xee\\x39\\x83\\x12\\x98\\x2e\\x84\\x2f\\xe2\\x50\\x5e\\xd0\\xaa\\xe2\\xb0\\x4e\\x17\\x67\\x89\\xe3\\x18\\x97\\x53\\x4b\\x7c\\x01\\x05\\xb2\\x4b\\x34\\x43\\x67\\xc4\\x94\\x18\\x6f\\xa1\\x1a\\x9f\\x95\\x22\\x5c\\xf0\\x52\\xca\\x4e\\x8f\\x9d\\xe3\\x00\\xdf\\x54\\x3c\\x32\\x7d\\x4c\\x7e\\xc9\\x9c\\xe0\\x96\\xa9\\x25\\x9d\\x97\\x0d\\xc8\\xc9\\x63\\x57\\x4d\\x78\\x6d\\xcb\\xc1\\xed\\xf7\\xac\\x5c\\xb4\\x68\\xaf\\x5a\\xe4\\x97\\xec\\x28\\xce\\xeb\\x3f\\xcf\\x1c\\x99\\xdf\\x7c\\x99\\xbd\\xc9\\xde\\x8f\\xe2\\x51\\x12\\x91\\x37\\x16\\xb7\\x46\\x83\\x12\\xf4\\x7a\\xa7\\xd5\\x29\\x20\\x36\\xd9\\xa3\\x4b\\x48\\xd0\\xba\\x1b\\x5a\\x3e\\xa3\\xf3\\xaf\\xe8\\xc4\\xae\\xa0\\x45\\xa1\\x2e\\x73\\xbb\\xe3\\x4d\\x49\\x2e\\x57\\x62\\xbc\\x2a\\x89\\x05\\x96\\x75\\x98\\x88\\xc4\\x21\\x82\\xf8\\x7c\\x7e\\x64\\xd2\\x4c\\x7e\\x76\\x76\\xfb\\xe5\\x38\\x22\\x6a\\xa8\\x6d\\x4e\\xa3\\xdd\\xc8\\xb5\\x66\\xd8\\x4e\\x9e\\x52\\x21\\xb5\\x88\\x63\\x6f\\x16\\x2f\\xe9\\x5b\\x52\\xb2\\x78\\x40\\x87\\xac\\xf0\\x27\\xeb\\xe7\\x96\\x74\\x5e\\x3a\\x30\\x37\\x17\\x9f\\x0c\\x3f\\x84\\xd3\\xc2\\x9f\\x40\\xaf\\x01\\xb3\\x87\\x16\\xe7\\x0f\\x9a\\x69\\x82\\x57\\xb7\\x89\\x0b\\xe6\\xef\\x2e\\xca\\xad\\x58\\xc4\\x98\\xf1\\x0f\\x47\\xc4\\x89\\xdb\\xe6\\xef\\x94\\x6d\\xbe\\x82\\x96\\x4e\\xcc\\x05\\xee\\x1d\\xa9\\x9f\\x76\\x6d\\xb0\\xaf\\x56\\x99\\x68\\xa2\\x4b\\x9b\\x08\\x4e\\x1b\\xc6\\xf1\\x66\\xc6\\x41\\xa7\\xe4\\x28\\xd9\\x24\\x4f\\x5c\\x82\\x5b\\xc3\\x6a\\x1d\\x0e\\xbd\\xc9\\x6c\\x63\\xb5\\x3a\\xbb\\x33\\x3e\\x51\\xcd\\xaa\\x5c\\x74\\xf5\\x7d\\x56\\x89\\x94\\x2a\\x17\\x72\\xd9\\x0d\\x2e\\x97\\xc1\\xce\\x30\\x44\\x77\\x52\\x67\\xf4\\x4c\\x69\\x44\\xc9\\xf8\\xe8\\xd6\\x0a\\xd4\\xf4\\x20\\x07\\xb9\\xb5\\x97\\xc8\\x86\\x48\\xbb\\xe5\\xd4\\x5b\\x2f\\x74\\x7b\\x1b\\x3a\\xc4\\x9b\\x1c\\x42\\x91\\x5f\\x3a\\x7c\\xc6\\x54\\x72\\xf8\\xad\\x82\\xd1\\xcf\\x91\\x0f\\xcc\\x85\\xbf\\xd4\\x88\\xc7\\x6a\\xfe\\x42\\x7e\\x35\\x50\\x41\\xaf\\xe2\\x47\\xff\\x1f\\x73\\x6f\\x02\\x1f\\x55\\x91\\xed\\x8f\\xdf\\xaa\\xba\\x4b\\x77\\xa7\\x93\\x4e\\x77\\x67\\xed\\x6c\\x9d\\x3d\\x90\\x84\\x84\\x84\\x10\\xc2\\x96\\x46\\x02\\x84\\xb0\\x84\\x1d\\x02\\x84\\x00\\x49\\x20\\x01\\x21\\x10\\xc2\\xa6\\x42\\x82\\x8a\\xb6\\xa3\\x0c\\xa3\\xe8\\xa8\\x83\\x8a\\xa3\\x8e\\xfa\\x70\\x41\\x04\\x15\\x57\\x54\\x70\\x44\\x85\\x01\\x59\\xdc\\x50\\x51\\x40\\xdc\\x05\\x04\\x37\\x48\\xdf\\xfe\\x9f\\x3a\\xf7\\x76\\xa7\\x13\\x82\\xa2\\xe3\\xfb\\xbf\\x1f\\x7c\\x72\\x52\\xa9\\x5b\\xf7\\x7b\\x4e\\x9d\\x3a\\x55\\x75\\xea\\xde\\x5b\\x75\\xd4\\xad\\xe4\\xc5\\x0a\\x98\\x53\\xfb\\xdd\\xab\\xae\\x27\\xfd\\x2b\\x36\\x54\\x90\\x1f\\x38\\x19\\xa2\\x7e\\x72\\x2f\\x99\\xaa\\xbe\\x05\\x69\\x35\\xa8\\xa2\\x85\\xfc\\x70\\xaf\\x1a\\x04\\xf6\\x13\\x0c\\x95\\x3a\\x2e\\xad\\x12\\xc2\\x85\\xc5\\xae\\xcb\\xc2\\x2c\\xd4\\x16\\x22\\x04\\x11\\xd9\\x64\\x12\\x43\\x0d\\x66\\x91\\x08\\x76\\x9b\\x21\\x22\\x32\\x24\\x2c\\x3c\\x6c\\x7a\\x45\\x10\\xc6\\xfa\\x34\\xb2\\x70\\xe6\\x32\\x51\\x46\\xa7\\x57\\x18\\x2c\\x2c\\x81\\x41\\x06\\x63\\x36\\xc9\\x66\\xa9\\xaa\\xb0\\xd9\\xf8\\x79\\xe8\\x01\\x81\\x03\\xf0\\x5b\\x05\\x7e\\x6e\\x3c\\xa4\\xf3\\xda\\x1d\\x1b\\xaf\\x6f\\x68\\x6f\\x3b\\xfe\\xdc\\x1f\\x3d\\x80\\x87\\xd1\\x48\\x2e\\x7c\\x3a\\x6e\\xad\\x63\\x6d\\xf5\\xf6\\x6a\\x8c\\x9a\\x11\\x87\\xb4\\x98\\xee\\x8a\\x6f\\x5d\\x3e\\xed\\x6f\\x0e\\x5a\\x7f\\xeb\\x6a\\xe2\\x55\\xc9\\xea\\x5b\\x57\\xab\\xdb\\xee\\x22\\xc7\\x57\\x63\\x3f\\x88\\x06\\x72\\x0e\\xda\\xce\\x2e\\xcc\\x72\\xf5\\xa2\\x36\\x9b\\x12\\x44\\xac\\xa2\\x25\\x34\\x54\\x0e\\x33\\xf3\\xed\\x4c\\x72\\x78\\x88\\xcd\\x6e\\x1b\\x05\\x95\\xb0\\x87\\xda\\x41\\x66\\xbb\\x56\\x89\\x51\\x7a\\x25\\x18\\x93\\x42\\xc3\\x25\\x01\\xa4\\xe7\\xdb\\x89\\x2f\\x94\\xdb\\x7f\\xb4\\x5b\\x11\\x3f\\x05\\x53\\x5b\\xe9\\xea\\x82\\xfb\\xcf\\x6c\\x07\\xb1\\xef\\x8d\\x9b\\xe7\\x98\\x37\\x67\\xeb\\x9c\\x06\\x47\\x43\\x1c\\xfc\\xcc\\xda\\x52\\x3b\\xcf\\x41\\x6f\\xbe\\x75\\x35\\x4d\\xf2\\x7c\\x0c\\xe2\\x7a\\xce\\x52\\xf3\\x6a\\x81\\x78\\xf7\\xe8\\x3a\\x8f\\x11\\x66\\xbb\\x62\\xa3\\x65\\x21\\x8a\\x98\\x83\\x83\\x4d\\x0e\\xbb\\x89\\x08\\x52\\x6c\\x5c\\x84\\x65\\x7a\\x85\\x24\\x44\\x90\\x48\\x86\\x3b\\x1e\\x63\\xc0\\xbb\\x8d\\x70\\xd9\\x8c\\x46\\xd0\\x38\\xf8\\xb7\\x91\\xcc\\x68\\x84\\x89\\x5c\\x88\\xae\\xf2\\x07\\xd5\\x02\\x91\\xf9\\x51\\x4c\\x7c\\x73\\xa2\\xe3\\x23\\x1e\\xa9\\x60\\x67\\xfb\\xe3\\x89\\xf8\\x66\\x2d\\x7b\\x7a\\x12\\x9e\\x91\\x9a\\x1f\\x09\\x22\\xb7\\x9d\\x48\\x95\\x0e\\xfa\\xee\\xef\\x4e\\x4e\\x4f\\x31\\x5e\\x1d\\xba\\x62\\x7a\\xda\\x82\\xed\\x2b\\xa3\\x63\\x13\\x92\\x2d\\x57\\x47\\xcc\\x9a\\x9e\\xe9\\xa8\\xa4\\x6f\\xc4\\xd3\\x67\\xc5\\xdc\\x9c\\x39\\x57\\x88\\x74\\xa0\\x67\\x89\\x94\\x93\\xdb\\xd8\\x68\\x52\\x53\\xef\\xd2\\xf7\\xca\\x49\\x43\\xa1\\x0e\\x3c\\x7e\\xe1\\x38\\x57\\x96\\xdd\\x66\\xe3\\x67\\x00\\x19\\x8c\\xa1\\xc1\\x46\\x16\\x13\\xc1\\x58\\xac\\x5d\\xa9\\xaa\\xb0\\x06\\x99\\x83\\x40\\x6a\\xf0\\xe4\\xed\\x66\\x63\\x48\\x88\\xa3\\xaa\\x22\\x84\\x19\\x7d\\x07\\x68\\xe2\\x69\\xc1\\x01\\xe1\\x55\\xfc\\x2b\\x62\\xdf\\x41\\x99\\x62\\x78\\x98\\xd8\\x85\\x68\\x27\\x28\\xc6\\x68\\xe1\\x12\\x9c\\x56\\x3c\\x34\\x7a\\xdc\\xe7\\x24\\x44\\xdd\\xab\\xfe\\xac\\x4e\\x9a\\xb3\\xfd\\x89\\xb5\\x8e\\xbf\\x96\\x2e\\x23\\x53\\x1c\\xea\\xbf\\x32\\xc8\\x35\\x64\\xe5\\x3d\\xff\\x50\\xef\\x97\\x56\\xed\\x7b\\x8a\\x9f\\xa8\\xce\\xfe\\xb2\\x9a\\x34\\xaa\\x7f\\x5d\\xfd\\x1f\\x52\\xb8\\x74\\xa5\\xd6\\xc7\\x9d\\xea\\x44\\xc9\\x8d\\x67\\x85\\x26\\x0b\\x15\\xae\\x6c\\xc1\\xe1\\x88\\x8f\\x8f\\x88\\x8e\\xb0\\xa4\\x26\\x1b\\x25\\xc9\\x62\\xb1\\xb2\\x94\\x68\\x9a\\x4c\\xab\\x2a\\x92\\x93\\x05\\x9b\\x2d\\x09\\x8c\\x9a\\x99\\xcc\\x66\\xa8\\x8a\\x39\\x46\\xf0\\x9d\\xb2\\x1b\\x15\\x78\\xa2\\x3a\\x88\\x4b\\xf2\\xad\\x81\\xdf\\x1b\\xe2\\xd1\\x8f\\x2c\\xb1\\xc3\\xc9\\xf4\\x17\\x9e\\xa9\\x2e\\xc6\\x9c\\x51\\x87\\x5c\\xa7\\x4c\\xc8\\xef\\x91\\xd0\\x7b\\x60\\x53\\x83\\x89\\xa4\\xd1\\x1a\\xed\\xd0\\x74\\xb3\\xba\\x00\\x0f\\x4d\\x1f\\x5f\\x4b\\x87\\x7a\\xca\\x12\\x12\\x2b\\x43\\xef\\xb1\\x2e\\x9e\\x95\\x93\\x27\\x7d\\xd7\\xe1\\x68\\x74\\x41\\xf4\\xde\\xa7\\x4e\\x12\\x7f\\x00\\xbb\\xef\\x26\\xf4\\x04\\x1f\\xc2\\x25\\xac\\x71\\x95\\x17\\x0a\\x62\\x08\\xe9\\x5e\\xd4\\xbf\\x77\\x5c\\x46\\x4e\\x71\\x62\\x54\\x54\\xdf\\x08\\xbb\\xbd\\x6f\\xbf\\x62\\x43\\x46\\x7a\\xef\\x22\\x22\\x06\\x0d\\x08\\x0f\\xbf\\xac\\x5b\\x4c\\x51\\x42\\xf7\\xac\\xee\\xa3\\x2a\\x7a\\xe7\\xf6\\xcf\\x1d\\x5d\\xa1\\x74\\x21\\xd9\\x2c\\xab\\xbf\\x3d\\xc2\\xd0\\x4f\\x0c\\xee\\x0f\\xff\\xad\\x29\\x59\\xb0\\x06\\xb2\\x9a\\x46\\x55\\x58\\x43\\xf5\\xed\\x4d\\xfa\\xb1\\x97\\xda\\xd0\\xe5\\x0f\\xab\\xa8\\x6f\\x2b\\xea\\xf4\\x88\\x73\\xfe\\xa1\\x23\\xce\\xa1\\x29\\xa9\\x76\\xdc\\xf7\\x8a\\xe7\\x3c\\x46\\x92\\x7c\\x82\\xd1\\x20\\x02\\xf5\\x53\\x98\\x0c\\xd6\\x98\\xce\\xa3\\xec\\xf1\\xf5\\x6c\\xa1\\x14\\x16\\x69\\x17\\xc1\\x13\\x2b\\xec\\x39\\x8d\\xc4\\x96\\x96\\x12\\x13\\x89\\xd9\\x92\\x5b\\xb6\\xf4\\x8a\\x98\\x27\\xb3\\x8f\\xbc\\xb0\\x60\\x0c\\x31\\xad\\x53\\xdf\\x1c\\x6a\\x2f\\x0b\\x1a\\x1d\\x93\\x18\\x72\\x59\\xff\\xca\\xf1\\x92\\x3c\\xf6\\xc9\\x95\\xdd\\x55\\x0f\\x3d\\x7b\\x8b\\xfa\\x53\\xf0\\x8c\\xbb\\x66\\x85\\x7a\\x8e\\x64\\x9f\\x50\\xbf\\xa5\\xb3\\xd9\\x9c\\xc9\\x76\\x75\\x12\\x79\\xb1\\xcb\\x5f\\x46\\x3e\\xfb\\x92\\x48\\xa2\\x63\\xc6\\x4f\\x8c\\x5b\\xb7\\x3a\\x99\\xfc\\x53\\x75\\x0c\\x5f\\xe4\\xaa\\x54\\xaf\\xcb\\xcd\\x18\\xaa\\x2c\\x08\\x1d\\x31\\xdc\\xb5\\xb2\\x96\\xa9\\xf5\\xec\\x65\\xa6\\x4e\\x1f\\x7b\\xdd\\x88\\x15\\x43\\x73\\x48\\x5d\\x0c\\x49\\x4a\\x79\\x90\\xcc\\x44\\xbb\\x51\\x5f\\x04\\x3d\\x87\\x82\\x9e\\xa3\\x61\\xa6\\x1b\\xeb\\xca\\xb2\\x88\\x51\\x51\\xb1\\xcc\\x60\\x67\\x4c\\x30\\x9b\\xe3\\x85\\xb8\\x68\\x98\\x70\\x49\\x94\\x28\\x85\\x45\\x44\\x58\\x47\\x55\\x44\\x44\\x04\\x09\\xb1\\xe0\\xce\\x8d\\xae\\x30\\x2a\\x92\\x45\\x28\\xfe\\x4f\\xbe\\xff\\xbb\\x5b\\x81\\x9b\\xb9\\x7f\\x2f\\x56\\xa4\\x7f\\x8b\\xaa\\x91\\xe8\\xc1\\x0b\\x14\\x7e\\x6e\\x74\\x9b\\x6e\\x40\\x29\\xf6\\x64\\xf5\\x45\\xf2\\x2f\\xe9\\x9a\\x15\\x8e\\xe6\\xfa\\x65\\x39\\xaf\\x11\\x61\\x9d\\xc7\\x6a\\x9e\\xdc\\xb5\\xb7\\xbd\\xba\\xac\\xa6\\xbb\\xba\\x9f\\x5a\\x77\\xdd\\xa8\\x4e\\xa2\\xb7\\x39\\xe9\\xc6\\x6b\\xbe\\xff\\x9e\\xdc\\x72\\xbe\\xb6\\x6f\\xd2\\xa4\\x90\\xd5\\x51\\x83\\xd5\\x34\\x31\\x85\\xf4\\x81\\xb1\\xb1\\x58\\xad\\x93\\xde\\x00\\x9b\\xb7\\x08\\x43\\x5c\\x69\\xa2\\x14\\x62\\xb1\\x98\\x49\\x90\\x10\\x1c\\x4c\\x14\\x83\\x24\\x85\\x5a\\x0d\\xac\\xaa\\xc2\\x60\\x20\\x41\\x32\\x83\\x61\\x9c\\x10\\x73\\x55\\x05\\xd1\\x46\\x96\\xd0\\x7f\\x63\\xb3\\x07\\x1e\\xc1\\xe4\\xb3\\xef\\x64\\x3b\\x8f\\x13\\x00\\xc3\\x36\\x1f\\x01\\x59\\xb2\\x78\\xf3\\xad\\xcd\\x1e\\xd2\\xbc\\x9d\\xd8\\xb6\\x37\\x51\\x6f\\xd3\\x73\\x67\\x6e\\x9c\\xbf\\x99\\xae\\xf1\\x2c\\x92\\x56\\xf1\\x63\\xad\\xcf\\x27\\x78\\x76\\x61\\x2c\\x12\\xb5\\x4e\\x0c\\x07\\x1d\\xc6\\x09\\x25\\xae\\x14\\x18\\x10\\xac\\xb2\\x1c\\x6c\\x32\\x85\\x38\\xe2\\xa2\\xa4\\xf8\\x84\\x68\\x21\\x2a\\x3c\\x8e\\x99\\x43\\x42\\x8c\\xa3\\x2b\\x42\\xc2\\x99\\x7d\\x54\\x05\\x0b\\xf5\\x7f\\x57\\x1f\\xfa\\x6f\\x5b\\x11\\x6e\\x81\\x6c\\x7b\\x68\\x06\\x23\\x84\\x3f\\x32\\x55\\x3e\\x1f\\x24\\xda\\xc2\\x56\\x81\\x5c\\xb2\\x42\\x9a\\xc7\\x3e\\xb4\\xe8\\xd6\\xdb\\xc2\\x67\\x2d\\xa9\\xbf\\xbf\\xfc\\xfa\\x95\\xb6\\x2d\\x2b\\x5f\\x76\\x2e\\xd9\\x42\\x9c\\x5b\\x87\\xd9\\xe2\\xd8\\xaa\\x45\\x15\\x18\\x35\\xe4\\x47\\xcf\\x67\\xe4\\x0e\\xba\\x7a\\x52\\xff\\x87\\x5e\\x7e\\xc0\\x73\\x9f\\xb4\\x5b\\x5d\\x59\\x53\\xab\\xf9\\x55\\x5c\\x67\\xfc\\x5c\\xf0\\x50\\x2e\\x2b\\x13\\x83\\x64\\x02\\x93\\x89\\x89\\xeb\\x0c\\x3c\\x7a\\x5b\\x90\\x42\\xa8\\x28\\xf0\\xa7\\xe4\\x36\\x8b\\x20\\x98\\xfd\\x63\\xb1\\xa6\\xb1\\xc8\\xa2\\x0b\\xce\\xac\\x4a\\x24\\x9a\\x5c\\x85\\x24\\xdf\\x48\\xb8\\xb8\\x4c\\x55\\x33\\x5e\\x9a\\xb3\\x9d\\x58\\xb7\\xbb\\x6f\\xa2\\x77\\xfe\\xe0\\xb1\\x91\\xe7\\x40\\x67\\xe5\\xf4\\xbe\\x55\\x9e\\x23\\xa0\\xb5\\x11\\xab\\x68\\x9e\\xe7\\x2f\\x9e\\xdb\\x3c\\xbb\\xf8\\xa9\\x0a\\xba\\xee\\x26\\x80\\xee\\xac\\xc2\\x20\\x57\\x2a\\x48\\x13\\x6a\\x0d\\x31\\x9b\\xad\\x20\\x8d\\x64\\x33\\x99\\xec\\x20\\x0f\\x13\\x8c\\x16\\x49\\x10\\xc3\\x83\\xcd\\x82\\x79\\x74\\x45\\xa8\\xc0\\x23\\xb7\\xe8\\x56\\xc7\\x9d\\x8f\\x76\\xbd\\xb4\\xa3\\x40\\x85\\x5c\\x22\\xfa\\xb6\\x7a\\xf6\\xe1\\x52\\xae\\xa1\\x2d\\xbb\\x49\\xfd\\xc7\\x9e\\xef\\x88\\x91\\xcc\\x00\\xdd\\x91\\x1f\\xaf\\x52\\xaf\\x93\\x76\\xb7\\xce\\x7d\\x89\\x0c\\x52\\x73\\xd4\\x68\\xc2\\x75\\x86\\xdf\\x22\\xbf\\x07\\x3a\\x8a\\xc5\\x33\\x4b\\x8a\\x5d\\x4e\\x42\\x69\\x50\\x90\\x6c\\x82\\x99\\xd4\\x60\\x08\\x66\\x66\\xa3\\xac\\xc8\\x55\\x15\\x0a\\x13\\x4d\\xcc\\x04\\x06\\xc5\\x9d\\xa0\\x7f\\xfb\\x06\\x4f\\x5f\\x14\\xa1\\x80\\xe3\\x12\\xc1\\x9e\\x0a\\xf9\\x89\\xb0\\x0a\\x49\\x64\\x5f\\x6f\\x2e\\x6f\\x2d\\x8f\\x11\\xe3\\x3d\\x2c\\x9e\\x7d\\x15\\x73\\xfe\\x28\\x5b\\xac\\xd6\\x91\\x3b\\xd6\\x8a\\x13\\xee\\xba\\xf1\\xfc\\x83\\x18\\x6b\\x13\\x74\\x71\\x99\\xd8\\x1b\\xf9\\x26\\x30\\x45\\x11\\x4c\\x7c\\xc3\\x96\\x99\\x4a\\x52\\xb0\\xcc\\x44\\x36\\xaa\\x42\\xb4\\x10\\x45\\x50\\x46\\x55\\x98\\x02\\xb4\\xd0\\x3e\\x26\\x9e\\x6e\\xc7\\xf9\\x7e\\xa6\\xc9\\xf6\\x50\\x07\\xcb\\xf3\\xac\\x8b\\x61\\xbd\\x62\\x5a\\xff\\x43\\x9f\\x9f\\x7b\\xff\\xa8\\x1b\\x58\\xda\\x8d\\x37\\xb4\\x7e\\xe0\\xf9\\x88\\xe8\\xfe\\x21\\x8f\\x2d\\xf5\\xa9\\xf4\\x77\\xb0\\x89\\x58\\x58\\x83\\x26\\x38\\x14\\x22\\x84\\x85\\x59\\x14\\x4b\\x5c\\x7c\\xa8\\x2d\\x84\\x91\\x60\\x16\\x14\\x14\\x51\\x55\\x11\\x24\\x32\\x6b\\x55\\x05\\x0b\\x38\\x34\\x10\\xe3\\x9a\\x04\\xec\\xcd\\xe6\\xea\\x2f\\x94\\xf1\\x64\\xc0\\x50\\x7e\\x32\\x60\\x64\\x61\\x3e\\x49\\xcd\\x2b\\xe4\\x83\\x24\\xc6\\x91\\x12\\xed\\x21\\x77\\xee\\x7e\\x56\\xfd\\xe9\\x86\\x43\\xe4\\x06\\xf5\\xd5\\x5b\\xfe\\x99\\xa0\\x7e\\xe3\\xf1\\x9c\\xbc\\xe1\\xe9\\xe9\\x5f\\xbe\\xa0\\x7e\\xf8\\xcf\\x23\\x43\\xa6\\xac\\x21\\xd2\\x63\\x84\\x92\\xbf\\xbd\\x3f\\xa2\\xd7\\xb9\\xe6\\xd5\\xb3\\xd9\\x63\\x35\\x5b\\xd5\\xe7\\xf6\\xbc\\xf9\\x39\\xe8\\x66\\x01\\xcc\\xcb\\x79\\xe2\\x48\\x21\\x52\\xe8\\xea\\x0a\\x67\\x94\\x2a\\x51\\xa1\\xa1\\xd1\\xc1\\x61\\x63\\x2a\\xac\\xd6\\xe0\\x50\\x6a\\x51\\x48\\xb8\\x16\\xca\\x31\\xa7\\x6d\\xef\\x17\\x9e\\x54\\x9c\\x6f\\x8f\\x48\\x20\\xc5\\xc4\\x1e\\x18\\xa3\\x48\\x21\\xad\\x87\\x9e\\x79\\xb9\\xd6\\x68\\x12\\xfb\\xf4\\xfb\\x62\\xf0\\x2d\\xb3\\x47\\x2f\\x4d\\x58\\x11\\x9f\\x97\\xda\\xb5\\x38\\x59\\xec\\xed\\x71\\x95\\x34\\x15\\x2c\\x5e\\x42\\xf6\\xdd\\x74\\xc5\\xa8\\x61\\x35\\x7d\\xd3\\xfb\\x5e\\xe6\\x7b\\x0e\\x2b\\x18\\x07\\x80\\x8e\\x52\\x85\\x3e\\x2e\\x67\\x98\\xdd\\x1e\\x19\\x92\\x20\\xd2\\x34\\x9a\\x1e\\xcb\\x12\\x22\\x43\\x98\\xcd\\xce\\x6c\\x36\\x93\\x4d\\x00\\xd3\\x80\\x91\\x53\\x14\\x8a\\xf3\\x72\\xb4\\x73\\xc6\\x79\\x64\\xa1\\xc0\\x03\\xd0\\xf2\\xfc\\x22\\x24\\xb3\\xb4\\x74\\x18\\x95\\x50\\xc2\\xc8\\xc2\\x9e\\x60\\xaf\\xfa\\xef\\xfe\\xc4\\x30\\xed\\xae\\x21\\xab\\xe3\\x7a\\xa6\\xe6\\x0d\\x49\\xf2\\x1c\\x3a\\x3e\\xd8\\x20\\xe6\\x8c\\x51\\xa7\\x1e\\x5f\\xf3\\x7a\\xb9\\x59\\xec\\x3d\\x32\\x82\\xdc\\xfb\\x4c\\x59\\x90\\x12\\x3a\\x35\\x8b\\xf4\\xe9\\xf7\\xa0\\xf4\\xf7\\x75\\x73\\xfb\\x64\\x14\\x0d\\x3a\\x7f\\x0d\\x6b\\x1e\\xf1\\xc9\\xc2\\x17\\x5a\\x57\\x49\\xab\\x5a\\x57\\xad\\xdf\\xee\\x7e\\xba\\x1b\\x9b\\xd7\\xba\\xee\\xea\\xaf\\x92\\x0f\\x4f\\xa5\\x77\\x5e\\xbd\\x1c\\xeb\\x30\\x4b\\x10\\x94\\x02\\xd0\\x61\\x92\\xd0\\x03\\xd6\\xbb\\xc1\\x06\\x96\\x1c\\x13\\x93\\x12\\x95\\x30\\xa6\\x22\\x36\\x36\\x2a\\xd4\\x12\\xca\\x6c\\xc1\\x4c\\x31\\x58\\x94\\x70\\xae\\x4b\\x4d\\x74\\xbf\\x3e\\xf1\\x15\\x52\\x32\\xf3\\x4b\\x1c\\xc7\\xc3\\xc7\\xf2\\xd3\\x0d\\xfb\\xd3\\x00\\xbd\\x8a\\xd9\\x6f\\x67\\x88\\x29\\x2e\\xf5\\xf5\\x7d\\x95\\x4f\\x66\\x48\\x7d\\xc9\\xe5\\xaf\\x64\\x1b\\xc7\\x7e\\x9d\\x31\\xa1\\x76\\xfc\\xf0\\x79\\x49\\x5c\\xc5\\x59\\xc5\\x89\\xd4\\xf3\\x3f\\x15\\xb7\\x7b\\xca\\x40\\xd3\\x89\\x45\\x03\\x86\\xdf\\xc0\\x62\\x3d\\xd1\\x2f\\xfd\\x9b\\x4a\\x93\\xea\\xba\\x0d\\x1d\\x03\\xfa\\xee\\x33\\x50\\xb3\\xc9\\xc5\\x82\\x20\\xfe\\x5d\\x1c\\x04\\xf3\\x52\\x32\\x8c\\xee\\xa9\\x36\\xc6\\x1c\\x86\\x10\\x70\\x69\\x0c\\x92\\x98\\x22\\x08\\xa9\\xcc\\x16\\x6b\\x1b\\x5d\\x21\\xc7\\xc6\\xd2\\x68\\x4b\\x50\\xe2\\x98\\x8a\\xa0\\xd0\\x08\\x1a\\xee\\xdb\\xdb\\xa3\\x1d\\xde\\xd4\\x3e\\x6c\\x80\\x7e\\xc0\\x1e\\xe3\\x4f\\xb2\\xda\\x4e\\x72\\x57\\x22\\xd1\\x3a\\x8c\\x24\\x2c\\x52\\x8f\\xf3\\x24\\xfe\\xdd\\x73\\xe7\\xa1\\x29\\x0b\\xa3\\x17\\x1b\\xff\\xb5\\x62\\xe4\\xe4\\xc2\\x25\\xd3\\xba\\x04\\x19\\x44\\xc7\\x34\\xd2\\xec\\x79\\xd8\\x7c\\x5d\\x78\\x5c\\xd7\\x9e\\xfc\\xa8\\x3a\\x9a\\x9c\\xb2\\x22\\xbd\\x6f\\x9e\\xfb\\xd1\\x49\\xc3\\xfa\\xaf\\x98\\x99\\x71\\xac\\xcf\\x8a\\x82\\x82\\xa7\\xe9\\xab\\xea\\xf9\\x8c\\xfc\\x41\\x15\\x61\\xc9\\xfd\\xf9\\x38\\xcb\\xe5\\xc7\\x33\\x94\\x92\\x5c\\x36\\x45\\x82\\xfe\\x6b\\x30\\xca\\xa4\\xaa\\x42\\xe6\\x3d\\x99\\x8f\\x1a\\xc5\\xfe\\x09\\x88\\xbf\\x09\\xd4\\x26\\x1d\\x71\\xa9\\x47\\xd6\\x27\\x9b\\x73\\xbe\\x69\\x06\\xb0\\x92\\xc1\\xaf\\x2e\\x84\\x71\\x01\\xb1\\xa8\\x40\\x64\\xc0\\x22\\x30\\x09\\xf3\\xd3\\xf7\\x2c\\x72\\x78\\x07\\x2c\\xa6\\x05\\x2b\\x23\\xff\\x53\\x41\\x3e\\x8f\\x56\\xa3\\xa7\\x6f\\xdd\\x2f\\xf6\\x56\\x7b\\x5e\\xa3\\xda\\x01\\x81\\x0a\\x43\\xbc\\x5f\\x8b\\x3f\\x8a\\x63\\x40\\xaf\\x29\\x82\\xcb\\x95\\x64\\x0f\\xb2\\x80\\x52\\x93\\x19\\x8b\\x08\\x62\\xa9\\x69\\x21\\x96\\x51\\x15\\x21\\xa1\\xa0\\xe4\\x08\\x58\\x40\\x44\\x08\\x8e\\x51\\x15\\x42\\x68\\xc0\\xb1\\x58\\xc5\\x99\\x1d\\xd7\\xae\\x78\\x1a\\x2c\\x0f\\x1b\\x97\\x56\\x10\\x2a\\x14\\x46\\x8a\\x0c\\x63\\x5b\\xfa\\x4e\\x81\\xed\\x4f\\x6d\\x05\\x3d\\xd8\\xdb\\x37\\xdd\\x39\\xf9\\x7f\\x54\\xef\\xb6\\x1f\\x3d\\x24\\xf2\\x9b\\x58\\xf5\\x9b\\x7e\\xb6\\xc5\\x4b\\x16\\x64\\x6e\\x5a\\x3b\\x74\\x8a\\x63\\x61\\xc3\\x1d\\xb3\\x8b\\xc4\\x51\\xaf\\x3f\\xf1\\x77\\xf5\\xcd\\xd7\\x2a\\x8f\\x1f\\x23\\x76\\x52\\x9f\\xb2\\xda\\xa5\\x6e\\x9f\\x3c\\xec\\x2f\\x1b\\x14\\x5a\\xf2\\xc1\\xf3\\xab\\xaf\\xbe\\xd1\\xf3\\x2c\\x9b\\xf0\\x04\\xb1\\xcc\\x3e\\xa4\\xed\\x3f\\x14\\x6e\\xa4\\x5b\\xd8\\xf5\\xfa\\xfe\\xea\\x30\\x41\\x16\\xf9\\xc9\\x51\\x06\\x51\\x92\\x14\\x99\\xb6\\x08\\x84\\x30\\xca\\x3f\\x64\\xcf\\xc9\\x77\\xc0\\x32\\x34\\x2f\\xa7\\x6d\\x53\\x08\\x5f\\xd9\\xa4\\x2a\\x04\\x7e\\xfa\\x3a\\xe9\\xc4\\x04\\xcf\\xcc\\x04\\x3a\\x29\\x81\\xfc\\x70\\xdf\\xa9\\xfb\\x3c\\x0f\\x02\\xe1\\xd8\\x4f\\xb2\\xa7\\xc9\\x34\\x3d\\x16\\x70\\xe8\\x53\\x44\\x10\\xe4\\x16\\x91\\x1f\\x78\\x57\\x94\\xf3\\x1a\\xb8\\x7c\\xe0\\xc2\\xf0\\x45\\xc6\\xc8\\xd8\\x3b\\x63\\x73\\xeb\\xae\\xac\\x13\\x17\\xad\\x5b\\xf7\\x22\\x8d\\xf0\\x7c\\xa5\\xed\\xb5\\xdd\\xc2\\x7e\\x22\\xd7\\xfb\\xef\\x15\\xa1\\x99\\x5b\\x08\\xbf\\x37\\x8f\\xdf\\x6b\\x24\\xe9\\x44\\x2a\\xc8\\x0f\\x27\\xd7\\xab\\xeb\\x26\\x92\\x79\\xea\\x35\\xff\\x90\\x6a\\xd4\\x75\\x13\\xc8\\xbc\\x55\\xeb\\xd6\\xc1\\xbd\\x65\\x62\\x15\\xb9\\x56\\xbf\\xd7\\xbc\\x45\\x52\\x28\\xdc\\xf9\\xd1\\xc7\\x7b\\xb8\\x5d\\x14\\x26\\xa6\\x02\\x5f\\x32\\xcf\\xf3\\x51\\x24\\x4d\\x56\\xb7\\xc6\\xfd\\x23\\x4e\\xac\\x5a\\x3e\\x63\\x1d\\x0f\\x22\\x4f\\xd4\\xef\\xe0\\x3e\\x1b\\xdc\\x27\\xc1\\x5d\\xac\\x05\\x7e\\x41\\xad\\x77\\xe3\\xe6\\xca\\x7c\\x6b\\xa2\\xfa\\x1d\\x79\\x68\\x85\\xe7\\x43\\xf1\\xbd\\xb3\\xea\\x3a\\xb0\\xa1\\x3b\\x45\\x85\\xd5\\x29\\x4b\\x04\\x23\\xd8\\x50\\x08\\xc6\\x47\\x96\\x04\\x53\\x10\\x91\\x78\\x1c\\xe0\\x1c\\xa8\\xa1\\xbe\\x7d\\xdc\\x77\\x9a\\x82\\xb6\\xe7\\x37\\x9f\\xb0\\x3a\\xf5\\xe8\\x3a\\xf5\\x28\\x99\\x62\\x25\\xd5\\xb2\\xc9\\xe3\\xa1\\x2c\\x92\\x8c\\x57\\x37\\x6a\\x63\\x62\\x3b\\x4c\\x70\\xb9\\x18\\xd4\\xc0\\x14\\xc4\\xcf\\x63\\x51\\x2e\\xc4\\x84\\xce\\x47\\xb4\\xad\\x41\\x80\\x79\\xb7\\x55\\xfd\\x17\\x89\\x5f\\x47\\xe2\\xa5\\x4a\\x75\\x23\\x19\\x1f\\x49\\x99\\xc7\\xa3\\xf5\\xfb\\x77\\xd9\\x83\\x74\\x95\\xb2\\x07\\x75\\xd1\\xc3\\x15\\x2e\\x13\\x91\\x19\\x18\\x33\\x62\\x60\\x3f\\x23\\x23\\xf0\\xa7\\x28\\x6d\\x23\\x71\\x4f\\x56\\x88\\x4c\\xc8\\xc9\\x69\\x5b\\x93\\xfb\\x47\\x29\\x0c\\x9c\\xcd\\x75\\xb6\\xb5\\x7e\\xea\\x07\\xea\\x84\\xb8\\x77\\xe3\\xc4\\xfd\\xf4\\xfc\\xf9\\xf7\\xef\\xb8\\x03\\xf1\\xdf\\x07\\xfc\\xab\\x74\\xfc\\x5e\\xae\\x48\\x81\\x30\\x99\\x30\\x03\\x3f\\xf9\\x95\\x86\\x82\\x25\\x31\\x7e\\x4a\\x84\\x22\\x23\\x07\\x85\\x74\\xc6\\xc1\\x17\\xa4\\xdb\\xae\\x24\\x17\\x92\\x2d\\x1f\\xec\\xae\\x9f\\x0f\\x2c\\x00\\xf4\\x3c\\xc9\\xba\\x43\\x9f\\x4f\\x1f\\x22\\xff\\xa2\\x65\\x7a\\x7b\\x16\\xb9\\xa2\\x3a\\xe5\\xe1\\xf2\\x31\\x11\\xf4\\xd0\\x61\\xff\\x29\\xba\\x18\\x93\\x55\\x3a\\x13\\x40\\xf5\\x31\\x21\\xaa\\x47\\xac\\x27\\xef\\x03\\x0f\\x23\\xff\\x36\\x40\\x92\\x8c\\x2d\\x0a\\xc3\\xe6\\xd7\\x83\\x88\\xc3\\x7d\\xf0\\x63\\x4f\\x24\\xaf\\x9c\\xcc\\x5e\\x91\\xfd\\x78\\xf6\\x8a\\x41\\xf4\\x76\\xa9\\xfc\\xc4\\x89\\x13\\xa4\\x1a\\xdb\\x4e\\x5d\\x0b\\xa4\\x18\\xfe\\xe0\\xf7\\x83\\x68\\x7e\\x73\\xd5\\x9f\\x6a\\xda\\xc1\\x5f\\x47\\x9f\\x3d\\xcd\\x53\\x3f\\x68\\x45\\xd6\\xa6\\xac\\xab\\xb2\\x4e\\x92\\x6a\\xb8\\x9f\\xfb\\x47\\x9f\\xa9\\x13\\x69\\xa5\\xb7\\x49\\x90\\x85\\x58\\x57\\x10\\xb4\\xba\\x01\\xea\\x29\\xb6\\x48\\xbc\\xe3\\x01\\x82\\x3e\\xff\\xf2\\x45\\x52\\xbe\\x3d\\x39\\x5d\\x81\\xe5\\xc6\\xa3\\x1b\\x37\\x2e\\x78\\x46\\x9d\\x48\\xe2\\xd4\\x63\\x2f\\xbd\\xa4\\xe9\\x68\\x81\\xb0\\x87\\x7c\\x2f\\xa6\\xe9\\xe7\\x19\\x04\\xcb\\x02\\x05\\xb3\\x31\\x1a\\x64\\xf1\\x65\\xec\\xc0\\xbc\\x22\\xba\\xf1\\xe8\\xd1\\x90\\xf1\\xa7\\x2e\\x6b\\x77\\x26\\x99\\xd8\\x75\\x4f\\x26\\xf9\\xc7\\x9e\\x3d\\xf4\\xa6\\x3d\\x7b\\xb4\\xb5\\xaf\\x70\\x96\\x8d\\xd1\\xcf\\x5c\\x88\\x75\\x99\\x65\\x01\\x6c\\x86\\x82\\xb2\\x5f\\x96\\x44\\x1d\\x8a\\x7f\\x95\\x85\\x23\\x00\\xf8\\x44\\xf0\\xb3\\x22\\x8e\\x6e\\x8b\\x6b\\xfd\\x3a\\x96\\x6e\\x8b\\xa5\\xef\\xdc\\x7a\\xab\\x1a\\xcf\\xcf\\xc9\\x21\\xc2\\x83\\xb4\\x82\\xbc\\x87\\xfd\\x29\\xd2\\x05\\x03\\x2c\\x8f\\xe1\\x00\\x03\\x80\\x1e\\x01\\x5e\\x3b\\xf5\\x06\\x43\\xc7\\xfe\\x34\\x7a\\x44\\xd6\\xb3\\x59\\xb4\\x82\\xde\\xf2\\xe9\\xa7\\x78\\xc6\\x1d\\x1b\\x45\\x76\\x77\\xb8\\x8f\\xb5\\xbb\\x8f\\xe0\\x7d\\x24\\x66\\x74\\x1c\\xdc\\x08\\xa5\\xd7\\x7f\\xfa\\xa9\\xd7\\x2b\\x0c\\x82\\x39\\xa2\\x9b\\xb4\\x3b\\x34\\x4d\\x18\\x8a\\xb1\\xcf\\x87\\xd3\\x22\\x3c\\xe7\\xb3\\x63\\x7e\\xb9\\x9e\\x7f\\x0f\\x49\\x23\\xdf\\x89\\x6f\\xd9\\xd2\\x24\\x23\\xcf\\x17\\xcf\\x0a\\x6f\\xa9\\x4f\\x41\\x7b\\xdc\\x2b\\x3d\\x48\\x8b\\xe4\\x63\\xe0\\x43\\x5b\\xb7\\x1a\\x84\\x96\\x10\\xb6\\x8d\\x14\\xc3\\x5c\\x08\\x6d\\xd1\\x16\\xbc\\x09\\xd8\\xeb\\x47\\x76\\xd3\\xa2\\xd8\\x57\\xd6\\xfd\\x65\\x83\\x7c\\x2f\\x2d\\x1d\\x36\\xac\\x2e\\x44\\x3e\\x76\\xfb\\x83\\xd7\\x2d\\x71\\x26\\x86\\xd9\\x8b\\xca\\x66\\x0c\\x45\\x3e\\xdb\\x48\\x5f\\xf6\\x8d\\xf8\\x56\\xa8\\xc6\\x27\\x5d\\xe2\\x5b\\x90\\x05\\xab\\x22\\x9e\\xa4\\x8b\\x68\\xb2\\x10\\xf2\\x0c\\x2d\\x37\\x10\\x8b\\x81\\x18\\x04\\x6b\\x65\\x65\\x81\\xd7\\xeb\\x7d\\xc1\\x7b\\x44\\x7c\\x0b\\xe4\\x92\\x25\\x1b\\xc6\\xb8\\x3d\\x0c\\xbe\\x5a\\x3a\\xfe\\xad\\x9d\\x5b\\x0a\\xb6\\x26\\xbe\\x84\\x7f\\x33\\xfc\\x7b\\x30\\xfc\\xfd\\x20\\xfe\\x2d\\x62\\xf9\\x2f\\x61\\x7e\\xfb\\x12\\xff\\x0e\\xc2\\xeb\\x63\\xbc\\x07\\xc4\\x2e\\xf2\\x2a\\xf8\\xdb\\x8c\\x7f\\x97\\xf2\\xa0\\x87\\x78\\x3d\\x18\\xff\\x5e\\x03\\xe5\\xdf\\xc7\\xbf\\xa3\\xf0\\xfe\\x77\\xe1\\x7a\\x0c\\xfe\\xed\\xc0\\x71\\x69\\x12\\xa5\\x62\\x99\\x58\\xc7\\xad\\x61\\x0b\\x0c\\xa6\\x74\\x1b\\x19\\xf0\\x54\\xc5\\xdf\\x08\\x0c\\x1e\\xdb\\x48\\xa1\\x50\\xbc\\x13\\x63\\x9a\\x68\\xa3\\x2b\\x7f\\x42\\x27\\xa6\\xb6\\xe6\\xa7\\x92\\xeb\\xc7\\x3c\\x37\\x86\\xdc\\x44\\xe9\\x73\\xe4\\x51\\x75\\x9c\\x26\\xf7\\x56\\xef\\x8f\\x72\\x92\\x5c\\x02\\xfa\\x8e\\x46\\x7d\\x9f\\x96\\x42\\xfd\\xf9\\xb2\\x3f\\x5f\\x16\\x4f\\x97\\x75\\x56\\x3e\\x5d\\x3c\\xcb\\x36\\x7a\\x37\\x5b\\xf5\\xfb\\x84\\x08\\x57\\x08\\x79\\x39\\x8e\\x3c\\x10\\x47\\x6a\\xe2\\x48\\x8f\\x38\\x12\\x67\\xe5\\xef\\x25\\x0b\\x2e\\xc0\\xf3\\xdd\\xa7\\xe1\\x5e\\xe4\\x2e\\x4d\\xcf\\xde\\x68\\xd4\\x73\\x1a\\xd7\\x73\\x28\\x6f\\x9f\\x35\\x5a\\xbe\\xfa\\x40\\xbb\\xfc\\x53\\xf4\\x8e\\x76\\xed\\x82\\xf9\\x20\\xd7\\x59\\xb2\\xdb\\xf3\\x0c\\xb4\\x27\\xc9\\x89\\x26\\x96\\x68\\x12\\x0d\\xed\\xb9\\x90\\xb7\\xe7\\x37\\xd0\\x3e\\x7d\\xb0\\x1c\\xd1\\xec\\x8c\\x1c\\xc1\\xfb\\xdf\\x87\\xce\\xf6\\x3a\\xe6\\x53\\xed\\x7e\\xe1\\x5d\\x61\\xb8\\x90\\xee\\x8a\\x26\\xe5\\x31\\xa4\\x38\\x86\\xe4\\xc4\\x10\\x4b\\x0c\\x89\\x21\\x35\\x31\\x24\\x2c\\x86\\x88\\x90\\xb4\\xa2\\xac\\x3e\\x91\\x03\\x6d\\x21\\x8d\\xdb\\x02\\xca\\xc0\\xcf\\x14\\x32\\x6e\\xe5\\x27\\x5d\\x19\\xac\\x50\\x2a\\xc0\\x3e\\xd2\\xb8\\x7d\\xf0\\x32\\x74\\x15\\x96\\xa1\\x3d\\xf8\\x39\\xd1\\x58\\xc6\\x7b\\x00\\x1a\\x5a\\xeb\\x0b\\x12\\xb6\\xc1\\x59\\x01\\xf1\\xbd\\xdf\\x81\\x8c\\x47\\xc4\\x8f\\x20\\x5f\\xd6\\xf2\\x63\\x74\\xbe\\xb0\\xc6\\x11\\xc5\\x23\\x90\\x6f\\xd0\\xea\\x44\\x9f\\xc6\\xf2\\x2a\\x1d\\xdc\\xd6\\xa7\\xb0\\x4e\\x99\\xc2\\xa3\\x82\\xf9\\x69\\x18\\xa1\\x2d\\xd6\\x52\\x45\\xb0\\x66\\x16\\x68\\x36\\xa7\\x36\\xa3\\xcd\\xa5\\x49\\x26\\x5d\\x6e\\x3e\\x0e\\x07\\x3f\\x43\\x4a\\x42\\x89\\x18\\x0a\\xcb\\xd6\\x4a\\x4d\\x2e\\x9f\\x2d\\xa7\\x71\\x5b\\xc6\\x72\\x8f\\x7b\\x9f\\x17\\x6c\\xae\\x20\\x52\\x12\\x49\\x7a\\x44\\x12\\x31\\x92\\x44\\x5a\\xf5\\x76\\xf7\\xd9\\x79\\x1a\\xb7\\x73\\x2c\\xfb\\x04\\xf8\\x5b\\x80\\xd9\\x56\\x0e\\x31\\x8f\\x41\\xbb\\x99\\x50\\xf6\\x10\\x5d\\x1f\\xad\\x5a\\xb9\\x88\\x58\\x12\\x14\\x4b\\x62\\x7d\\xe5\\x60\\x30\\xa2\\x2f\\x20\\xef\\x50\\xbd\\x2e\\x6f\\xe8\\xba\\x8d\\x20\\x11\\xba\\x6e\\x79\\x4c\\x15\\x19\\xcb\\x58\\x75\\x3d\\x3c\\x88\\xf5\\xbb\\x5e\\x6d\\x16\\xd7\\x62\\xbe\\x5d\\xe7\\x31\\x59\\xd8\\xca\\x6d\\xe3\\xcd\\x48\\x32\\x0f\\x64\\xd1\\xfb\\xba\\x90\\x0f\\x6d\\x73\\x2f\\x96\\x0b\\xd3\\xcb\\x8d\\x82\\x72\\x91\\xae\\x60\\xf2\\x66\\x3c\\x99\\x17\\x4f\\xe2\\x49\\x31\\x10\\xab\\xd6\\xea\\x05\\xfe\\x36\\x11\\xeb\\xf0\\x9e\\x08\\xbd\\x9e\\x66\\xf5\\x20\\xda\\xcd\\x26\\x1b\\xd9\\x60\\x23\\xc5\\x36\\x92\\x83\\xf1\\xbd\\x6d\\xa4\\x87\\x8d\\x88\\xf0\\xdb\\xea\\x37\\x1b\\x1f\\x46\\x2b\\xc8\\x77\\x33\\x62\\x44\\xea\\x7c\\xeb\\x84\\x1a\\xd0\\x01\\xed\\x11\\xa1\\x57\\x4f\\xab\\x9f\\x6f\\x6c\\x48\\xe3\\x63\\xc3\\xc5\\xdb\\x49\\xeb\\x73\\x58\\x2e\\x5a\\x2b\\xc7\\xfb\\xdc\\xc5\\xfb\\xa8\\x7f\\x8c\\x49\\xe3\\x63\\x0c\\xf2\\xff\\x54\\xc3\\x0d\\x8f\\x23\\x06\\xad\\x60\\x81\\x3e\\x56\\x51\\x33\\xf6\\x65\\x49\\x1b\\x33\\x84\\x73\\x28\\x3f\\xf6\\x29\\x39\\xd3\\xdf\\xa7\\x7e\\x22\\x3f\\xb6\\x8d\\x7d\\x98\\x1f\\xa4\\xe7\\xdf\\x83\\xed\\x81\\x7a\\xc6\\xfc\\x30\\x2d\\x9f\\xa6\\xe2\\xd8\\xf6\\x1c\\xc8\\xd1\\x5d\\xe6\\x67\\xde\\x27\\x6f\\xb5\\x40\\x0d\\xac\\xdb\\x49\\x6f\\xc1\\x48\\x8a\\xe0\\x92\\x08\\x94\\x92\\x9e\\xb0\\x1c\\xc8\\xe7\\x2b\\x02\\x9f\\x0f\\xc1\\xf2\\x49\\x4f\\x3e\\xfb\\x84\\x50\\x58\\x74\\x92\\x49\\xf7\\x2c\\x7a\\x6e\\xdc\\x04\\x52\\xb6\\x65\\xd8\\x65\\x2f\\x15\\x3b\\xab\\xae\\xba\\x8a\\x98\\xbe\\x14\\x73\\xe8\\x18\\xb5\\xcc\\xb3\\x6e\\x0d\\x21\\x47\\x0e\\x5f\\xfe\\xd8\\x2d\\x75\\x2a\\x9e\\xd5\\xec\\xe9\\x22\\x6e\\x17\\x96\\xc8\\x79\\x30\\xbf\\x9b\\xb7\\x08\\x06\\xfd\\x78\\x61\\x3e\\x09\\x26\\x89\\x4a\\x72\\xcf\\x94\\xc4\\x25\\xe2\\x37\\xea\\x86\\xa5\\xab\\xef\\x26\\xf7\\x93\\x60\\xe9\\x99\\x25\\x57\\xbf\\xa4\\xc7\\xe6\\x9d\\x2f\\x6e\\x67\\x53\\x7c\\xf7\\xd1\\x16\\xd9\\x77\\x5f\\x41\\xbe\\x53\\x8c\\x4c\\x4e\\x4b\\x9c\\x6f\\x20\\xd1\\x64\\xe5\\xc8\\xd5\\xab\\xd4\\x04\\xe9\\x99\\x2b\\x5f\\x7c\\xfa\\x67\\xe0\\xb5\\x4d\\xdc\\x29\\x3c\\x21\\xed\\x13\\xcc\\x42\\xc8\\x56\\x33\\x33\\xb5\\x28\\xe8\\x8d\\xf0\\xbb\\xb4\\xa5\\x65\\x32\\x3e\\x63\\x7d\\xa2\\xe6\\xc5\\x09\\x8b\\x17\\x98\\x6e\\x91\\x5e\\xdc\\xbe\\xec\\x53\\xf1\\x7c\\x64\\x97\\xbc\\x41\\x7f\\x5d\\x59\\xc0\\x79\\xfe\\x4d\\xdc\\xc9\\x6e\\x80\\xfb\\x83\\xe1\\xfe\\x60\\xa5\\x85\\x05\\xa1\\x33\\xc2\\xdf\\x67\\x68\\x67\\xc5\\xe7\\xf3\\x78\\x1c\\xe9\\x7f\\xab\\xdd\\x3e\\x79\\xe9\\xe5\\xe2\\xad\\xd2\\xc8\\xfb\\xdc\\x0b\\xbe\\x93\\xd6\\x47\\x75\\x2d\\x74\\xd5\\xcc\\xed\\x57\\xa8\\x7d\\x8b\\x87\\xdf\\x5b\\x4a\\xaf\\xe0\\xb7\\x87\\xc1\\xb8\\xe3\\x3b\\x4e\\x48\\x84\\x15\\x3f\\x8f\\x50\\x3e\\x40\\xff\\x1e\\x6f\\x8e\\xb0\\x84\\xc8\\xae\\x1b\\x58\\x98\\x9c\\xa8\\x38\\x43\\xba\\x58\\x32\\xa2\\x72\\x72\\x32\\xba\\xc0\\xf4\\x29\\x47\\x24\\x39\\xb2\\xb3\\x93\\x63\\xb2\\x16\\xd6\\xce\\x9d\\x3e\\x62\\xd4\\xf8\\xf1\\x95\\x95\\x83\\x47\\x95\\x4d\\xba\\xac\\x47\\x7e\\xef\\xe2\\x20\\x12\\x11\\x61\\x12\\x22\\x23\\x8b\\xfb\\xe6\\x5f\\x56\\x36\\x78\\x7a\\x6d\\x96\\x69\\xa9\\xcd\\xb6\\x6c\\xc4\\xf8\\xa9\\x53\\xc7\\x8f\\x1f\\x52\\x39\\x78\\xf0\\xcc\\xc2\\x1e\\xb9\\xb9\\x4d\\x33\\xc7\\x0d\\x19\\x52\\xd7\\xa7\\x7f\\xff\\xf9\\x75\\x33\\xe1\\xff\\xd2\\x0c\\x67\\x58\\xb7\\x6e\\x4b\\x49\\x8c\\x39\\x25\\x28\\x39\\x22\\x2b\\x26\\x25\\x39\\x2b\\x2b\\x39\\x25\\x46\\x8c\\x4d\\x4f\\xb0\\x67\\xda\\x2c\\x0a\\x8b\\x8e\\x0e\\x35\\x88\\xb1\\x7c\\xb1\\x93\\x8f\\xe1\\x09\\x8a\\xdb\\x76\\xec\\xb6\\x3d\\xab\\xc6\\xb8\\x05\\x7a\\x5c\\xa7\\x1c\\xfc\\x1b\\x13\\x98\\xe2\\xcb\\xe4\\x1c\\x5b\\x51\\xbb\\x28\\x7f\\xed\\x1f\\x75\\xdb\\x7c\\xcf\\xd5\\xf2\\xb5\\x8f\\x0c\\x3a\\x6c\\xac\\x4f\\x2e\\x48\\x2e\\x48\\x94\\xf8\\xe1\\x03\\xc9\\xd6\\x7c\\x7e\\xa4\\x0b\\x5f\\x79\\x14\\xf0\\x8f\\xb5\\x61\\xf5\\x40\\x02\\xf2\\x25\\xf0\\xfb\\xc3\\xf3\\x53\\xdb\\x22\\xad\\x5a\\x93\\x0b\\xf8\\xf1\\x73\\xa9\\x3c\\xac\\x84\\x35\\xdf\\xc9\\x5f\\x20\\xc4\\x13\\xc6\\xe3\\xdf\\x5a\\xa1\\x95\\xf5\\xdf\\x24\\x34\\xd1\\xf7\\x69\\x52\\xe0\\x87\\x58\\x06\\xa1\\xe6\\x08\\x19\\xe8\\x79\\x45\\x7d\\x91\\x0c\\xa4\\xc5\\x35\\x35\\xe7\\xaf\\xe6\\x29\\x71\\xa5\\xfa\\xe2\\x91\\x9a\\x5f\\x06\\x1e\\xa9\\xd1\\xd2\\x64\\xe0\\xb9\\xfb\\x6b\\x6a\\x58\\x3c\\x4f\\xf1\\xb2\\x35\\x47\\x24\\xa1\\xb2\\x2a\\x7c\\xae\\xb9\\x6b\\x6e\\x5e\\xd6\\xb4\\x37\\x6b\\xd4\\xb5\\xeb\\xd7\\x3e\\xf1\\x57\\x12\\x3f\\x62\\x64\\xf5\\xac\\xbb\\x2b\\x26\\x38\\x9d\\x9b\\x72\\x6a\\x6b\\x7b\\xf4\\x7b\\x45\\x75\\xa9\\xef\\xdf\\x76\\xcb\\x2d\\x7f\\xbf\\xf5\\x96\\x85\\x15\\x53\\xa7\\x4f\\x9c\\x3c\\xb5\\xb2\\x42\\x5c\\x79\\xa4\\xa6\\xa6\\xa6\\x75\\x25\\x19\\x48\\x0e\\xd7\\x9c\\x2b\\xae\\x39\\x22\\x3a\\x40\\x00\\x48\\x90\\xc3\\x64\\x60\\xeb\\xca\\x1a\\xe0\\x78\\xe4\\x58\\xd5\\x52\\xdb\\xb0\\x92\\x81\\x55\\xe4\\xe8\\x64\\xcf\\xeb\\x57\\x5f\\x75\\xfa\\xf2\\xe5\\x2c\\x73\\x67\\xc9\\x2c\\x6b\\xd0\\x5c\\x92\\x7c\\x59\\x91\\xaa\\x1e\\x1f\\x54\\xa6\\x7e\\x40\\x06\\xaa\\x93\\xf7\\xbc\\x7f\\xe8\\x8d\\x37\\x0e\\x3d\\x72\\xe7\\x3f\\x36\\x3e\\xbe\\xe1\\x76\\xee\\xab\\xa8\\x45\\x64\\x96\\xf7\\x1e\\x5c\\x43\\x85\\xca\\x12\\x91\\x4c\\x41\\xa2\\xd8\\x20\\x34\\x83\\x5b\\x0b\\x33\\x4d\\xe8\\xc7\\xbb\\x2b\\x8b\\x72\\xfc\\x67\\xf6\\xd9\\x93\\x7b\\xf2\\xb7\\x73\\x4a\\x08\\xd9\\xb3\\xb8\\xd1\\x3a\\xc9\\xb9\\x23\\xcc\\x3a\\x50\\x2d\\xaa\\xad\\x78\\x68\\xce\\xc4\\xc5\\x80\\xd5\\x4b\\x7c\\x82\\xf5\\x92\\xbe\\x02\\xdb\\x4d\\x73\\x99\\x59\\x48\\x50\\x90\\xc5\\x64\\x12\\x85\\x16\\x41\\xd9\\x46\\x82\\x37\\x6b\\x27\\xa9\\x62\\x0c\\xfc\\x1c\\xbf\\x5b\\xea\\x6f\\x11\\x1e\\x4b\\x81\\xdc\\x7f\\xdd\\x93\\xf9\\xeb\\xba\\x36\\x4d\\xaa\\xfc\\x6b\\xea\\xec\\x8c\\xf7\\xc5\\x27\\x16\\xaf\\xec\\x57\\x3d\\xae\\xa6\\x32\\x65\\xe5\\x1d\\x5a\\xbf\\xfe\\x59\\x8c\\xa5\\xb2\\xb4\\x0a\\x64\\x4d\\x70\\x05\\xc3\\x5a\\x4c\\x36\\xc9\\x41\\x8c\\x09\\x2d\\xfc\\xf5\\xa8\\x63\\x77\\x91\\x0e\\x8b\\xfb\\xf3\\xfd\\x82\\x92\\x79\\x7e\\x49\\xc5\\x58\\x5d\\x52\\xfe\\x5d\\x70\\x9c\\xf8\\x3c\\xcd\\x94\\x9d\\x80\\x05\\x6b\\x08\\x58\\x1f\\x99\\x08\\xd4\\x5b\\x6a\\x11\\xf8\\x58\\xe1\\x43\\xe2\\x40\\xf9\\x32\\x7f\\x0b\\x59\\xd8\\x9f\\x90\\xa7\\xfd\\x40\\xb2\\xd3\\x07\\x44\\xc8\\x24\\xe9\\x1c\\x7d\\x5f\\x3e\\x05\\x7d\\x36\\xcb\\x15\\x43\\x64\\x49\\x52\\x36\\xd0\\x4d\\x74\\x3b\\x65\\xb4\\xe5\\x65\\x81\\x24\\x40\\xcf\\x2d\\x86\\x5e\\xcb\\x3f\\xfa\\xae\\xac\\x74\\xec\\xa9\\xf4\\xd7\\x1c\\x96\\xd5\\x91\\x0a\\x5d\\xa1\\x1e\\x96\\xf6\\x3e\\xc6\\xa4\\x73\\xef\\xc7\\x1d\\x0d\\x43\\xb9\\xcc\\x80\\x77\\xcc\\x87\\x27\\x30\\x99\\x5d\\x22\\x5e\\x61\\x6a\\xbe\\x22\\x11\\x33\\x23\\xd2\\x5e\\x49\\xbd\\x57\\x3a\\x17\\x76\\x34\\xee\\x7d\\xae\\xb3\\x1d\\xd2\\x39\\x36\\x55\\x56\\xf1\\x2c\\xa6\\x58\\x59\\x04\\xe7\\x21\\x88\\x6d\\x30\\x6c\\x32\\x50\\x18\\x4f\\x5f\\x26\\x78\\xca\\x67\\x31\\xa9\\x22\\x22\\xc1\\x23\\x49\\x01\\xb1\\x6d\\xfd\\x04\\x2b\\x9e\\xf4\\x64\\x29\\x19\\x90\\xd9\\x54\\xb1\\xea\\x65\\xaa\\x7a\\x16\\x8a\\x24\\x6a\\xb7\\x1c\\x12\\x76\\xe3\\x8d\\x61\\xa7\\x00\\xfb\\x34\\x60\\xdf\\xe8\\xc3\\xa6\\xb2\\xc9\\x60\\x08\\x52\\x36\\xb0\\x4d\\x8c\\xb2\\xdf\\xc6\\x4e\\x4e\\x07\\x05\\xf0\\x25\\x1e\\x5d\\xb6\\xfb\\x79\\xb1\\x72\\x0f\\xfd\\xb1\\x49\\x94\\xce\\x9d\\x0c\\xbf\\xf1\\xc6\\x70\\x5c\\x53\\xfd\\x04\\xd8\\x43\\xe4\\x27\\xf5\\xf5\\x99\\x45\\x94\\x05\\x46\\x61\\x51\\x45\\x5a\\xf8\\x01\\xa5\\x7c\\x59\\xe5\\x43\\xc3\\x35\\x37\\xe0\\x24\\x72\\xac\\xa5\\xc9\\x8f\\x25\\x7b\\x0e\\x24\\x6f\\x4a\\x96\\xce\\x6d\\x83\\x7f\\x20\\xe3\\x63\\x80\\xb3\\x51\\x91\\x61\\x2c\\xed\\xe9\\x4a\\x30\\x18\\x8d\\x3c\\x42\\x6d\\x74\\x98\\x94\\x10\\x4c\\x9e\\x08\\x7e\\x39\\x78\\x5f\\x30\\xb3\\x04\\x27\\x04\\xe7\\x04\\xb3\\x60\\x1b\\x7e\\xd2\\x9d\\xb7\\xa7\\xb2\\x72\\xa1\\x2f\\x2a\\xa6\\x36\\x85\\x25\\x75\\xa3\\xfe\\x09\\x20\\x9e\\xe6\\xe7\\xf1\\xa1\\x9c\\x6e\\xea\\x3a\\x7c\\x50\\x71\\x42\\xb7\\xfe\\xd1\\x35\\x39\\xcb\\xc7\\x66\\x0d\\x2f\\xe9\\x1f\\x3f\\xa5\\xcb\\xac\\x64\\xd7\\x64\\xe9\\x5c\\x46\\xf7\\x8c\\x3e\\x83\\xef\\x68\\x82\\x5f\\xab\\xe6\\xd5\\xf6\\xd6\\x9e\\x6f\\x83\\x0c\\x57\\xc9\\xa7\\xf1\\x1c\\x8f\\x5c\\x57\\x1c\\x83\\xba\\x98\\x8d\\xc6\\x60\\x83\\xbf\\x65\\xe5\\x76\\xed\\x9a\\xe7\\x08\\xac\\x9b\\x9d\\x87\\x36\\x93\\xf2\\x91\\x2e\\x64\\x1f\\x43\\xeb\\x3e\\xe9\\x61\\x47\\xf8\\x2f\\x68\\xe4\\x63\\x71\\x1f\\xf0\\x1f\\xa8\\xe7\\xd5\\xd2\\x29\\x16\\x23\\x7f\\x05\\xf3\\x57\\x86\\x2b\\x4c\\x64\\x2c\\xd8\\x68\\x32\\x85\\x98\\x78\\x6b\\x6c\\x67\\x8c\\xc1\\x74\\x06\\x95\\xf3\\xe1\\xfa\\x6b\\x96\\x96\\x9e\\x8f\\xc7\\xe5\\xe6\\x43\\x3f\\xd9\\xb8\\xfa\\x9f\\xb4\\x89\\xcd\\x1e\\xbb\\xc5\\xb5\\xb8\\xc7\\x76\\xe9\\xd4\\x5f\\x1a\\xfa\\xf4\\x6c\\xbc\\xa2\\x05\\xd7\\xea\\x9f\\xc8\\xeb\\x84\\x4a\\xa5\\x1f\\x7f\\xba\\xf2\\x24\\xc5\\x2e\\xb2\\x87\\x8f\\x05\\xe9\\xf9\\x95\\x57\\x9f\\x3f\\x2a\\xaf\\xdb\\xc8\\xe7\\xea\\x01\\xf2\\x3a\\x75\\xa3\\x92\\x8e\\x65\\xf4\\xb5\\x3c\\xb6\\x72\\xbe\\xba\\xf1\\xea\\xcf\\xa1\\xd0\\xad\\x50\\xe6\\x19\\x39\\xc8\\xab\\x28\\xf1\\xed\\x71\\x08\\xcb\\xb7\\xab\\x57\\xec\\xf8\\xb0\\x49\\x0e\\x22\\x76\\xf5\\x5b\\xce\\x6f\\xb8\\xbc\\xc6\\x7b\\x56\\xe9\\x8f\\xe5\\x84\\x16\\xaa\\x95\\x63\\xf9\\x52\\xf2\\x99\\xcf\\xd5\\x0f\\xae\\x56\\xfa\\x6f\\x16\\x48\\xeb\\x1b\\xf2\\x1a\\x75\\x61\\xc7\\x32\\x04\\xca\\x78\\xfe\\xe2\\x2b\\x84\\x3e\\x44\\x3f\\xe0\\x99\\xac\\x24\\x77\\x2c\\x47\\x92\\xd5\\xbc\\xd3\\xea\\x23\\x37\\x2b\\xc9\\xea\\x17\\x58\\x47\\x87\\x5c\\xe7\\xdd\\xa0\\x14\\xc2\\x2c\\x1c\\xfa\\x74\\x90\\x85\\x32\\xa5\\xc5\\xcc\\x87\\x02\\xde\\x02\\xac\\x47\\x72\\x12\\x9e\\xb3\\x8f\\x01\\x96\\x0b\\xf3\\xf3\\x5a\\x67\\x16\\x8c\\xa5\\x23\\x1a\\x77\\x6e\\x93\\x2b\\x83\\x43\\x6a\\xe5\\x7d\\xa9\\x96\\x01\\xa1\\xe3\\x46\\x07\\x25\\x14\\x03\\xbf\\x31\\xd2\\x17\\xea\\xb7\\x4a\\x99\\x60\\x13\\x42\\x9f\\xb2\\x98\\xa9\\xdc\\x12\\xac\\x07\\x45\\xe0\\xf1\\xd5\\x93\\x11\\x86\\x7f\\xf1\\xc4\\x81\\xfa\\x53\\xb5\\x64\\x5d\\x95\\x29\\xbb\\x76\\xd9\\xf5\\xf3\\x67\\x05\\x2d\\x88\\x76\\xf6\\x2a\\x90\\x1f\\x2e\\x92\\x67\\x19\\x87\\x0f\\x28\\x19\\x6b\\xce\\x5b\\xc6\\x82\\x9c\\x58\\x87\\x56\\xb7\\x5c\\xa7\\x06\\x77\\x2e\\x1b\\xe9\\x28\\x9b\\xa7\\x71\\x66\\xcf\\x31\\x9d\\x0b\\x87\\xf5\\xcc\\x95\\x87\\x0a\\xbf\\x28\\xb9\\x42\\xb8\\x10\\xed\\x32\\xd9\\x4d\\x26\\x16\\xdc\\x12\\x1e\\x6e\\x08\\xc6\\x67\\x96\\x8e\\xd0\\x3d\\x79\\x39\\x79\\xfa\\x0b\\x40\\xed\\x20\\xe5\\x7c\\x8c\\x4f\\x8e\\x31\\x6e\\xd4\\xdc\\xb0\\x95\\x13\\xfb\\x17\\xba\\x7a\\x46\\x17\\xc7\\x5c\\x9d\\xbd\\x25\\x69\\x60\\xdf\\x84\\xcc\\x98\\x11\\x56\\x79\\x68\\xc3\\xe2\\xb8\\xe4\\xb0\\x89\\xc7\\x23\\x92\\xac\\xf6\\x2a\\xce\\xe3\\xfc\\xc7\\xf2\\x20\\xf5\\x21\\x25\\xeb\\x0f\\xf0\\x38\\xff\\x71\\xe7\\x3c\\x06\\x75\\xe4\\xe1\\x5d\\x2f\\xed\\xa4\\x3d\\xe4\\x97\\xc0\\xde\\x43\\x9f\\x62\\xe8\\xaf\\xa1\\x81\\xe7\\xe5\\xf0\\xe3\\xb9\\x03\\xec\\x7a\\x47\\x3b\\xb3\\xde\\xd9\\x66\\xd6\\x80\\xf1\\xa1\\x74\\x9a\\xc6\\xc9\\x5b\\x60\\xfc\\x0a\\xd9\\x2a\\x1a\\x5b\\x64\\xfd\\x01\\x92\\x3e\\xf2\\x29\\xc9\\xd0\\xe7\\x68\\x9c\\xb8\\x60\\x3d\\x7d\\xd8\\x2d\\x7e\\xf6\\x80\\x2c\\x85\\x8d\\x1d\\x1b\\xf6\\x38\\xdc\\x47\\xd4\\x37\\xbc\\x1f\\x78\\x17\\x83\\x4d\\x19\\x36\\x0b\\x7c\\x5b\\x8d\\xf6\\x74\\xd6\\x9b\\xba\\x35\\x55\\x7d\\xe3\\xd1\\x47\\x51\\xcf\\xeb\\xc5\\x8d\\xc2\\x50\\xe9\\x55\\xb4\\x3b\\xfe\\x34\\x46\\xb7\\x61\\x92\\xfc\\xd0\\x29\\xf5\\xd8\\xcd\\xd2\\xab\\x68\\x76\\xe8\\x77\\x3e\\xe4\\x9d\\x24\\x3d\\xd7\\xa1\\x4f\\xd8\\xf3\\xe1\\xca\\x0b\\xc7\\xd5\\x1f\\xc5\\x87\\xb0\\x53\\x10\\xf5\\x4d\\xf1\\x21\\xc1\\xd1\\xb1\\x5c\\x10\\xc9\\xb7\\x2f\\x82\\xae\\xa3\\x97\\xe2\\xb6\\xf2\\xa0\\xb8\\x51\\x8d\\xd7\\xf9\\x06\\xf4\\x43\\x96\\xaf\\xc6\\xdf\\xfc\\xf9\\x69\\x71\\x23\\x89\\xc2\\xf5\\x8c\\xcf\\xde\\x6d\\xb2\\x11\\x9f\\x79\\xf8\\xec\\x16\\xfe\\x36\\x63\\x1b\\xbe\\x21\\x0f\\x55\\x6f\\x41\\x3b\\xb1\\x3d\\x6d\\x37\\xb1\\x16\\xad\\xfd\\xfe\\xed\\xf8\\xe8\\xdf\\xf9\\x17\\x6d\\xbc\\x37\\x2e\\xc9\\x40\\xc8\\xb9\\x1f\\xe4\\xa1\\x9e\\x97\\x7e\\x1f\\xf6\\xb9\\x1f\\x2e\\x11\\xfb\\x09\\xc0\\x5e\\xfe\\x3b\\xb1\\x9f\\xb8\\x34\\xec\\xd6\\x45\\xe2\\x0e\\x6f\\x5f\\x69\\xe3\\xef\\xc1\\x6e\\x5d\\xd4\\x29\\xb6\\xb8\\xa3\\x03\\xf6\\xf9\\x47\\xc4\\x1d\\x6a\\xd3\\xef\\xc3\\x3e\\xff\\xc8\\x25\\x62\\xcf\\x05\\xec\\x1e\\xbf\\x13\\x7b\\xee\\xa5\\x60\\xc3\\xb2\\xd8\\xa6\\xbe\\xd1\\xfa\\xb5\\x77\\xb1\\x4d\\x31\\xda\\x3c\\x56\\xed\\x19\\xc8\\xf9\\x7b\\x20\\x6f\\xa9\\x96\\xd7\\x7a\\xb7\\x96\\x77\\x4e\\x55\\xdf\\x38\\xff\\xae\\x96\\x77\\xde\\xa3\\x97\\x3b\\x0a\\xe5\\x9e\\xd7\\xcb\\x7d\\xaa\\x97\\x7b\\x16\\xca\\xdd\\xa2\\x97\\xdb\\x26\\x68\\x7e\\x5f\\x81\\xb8\\x99\\xe5\\x49\\x2f\\x0a\\x11\\x7c\\xf7\\x84\\xc1\\x1e\\x69\\x8f\\xb2\\x49\\x41\\x2d\\xa1\\xd8\\xe5\\x79\\x9f\\xcf\\x6b\\xf3\\x27\\xf9\\x5c\\xdd\\x61\\xaa\\x2e\\x84\\xa9\\xda\\x95\\x50\\xd3\\x75\\x32\\xce\\xd4\\x83\\xfa\\xc7\\xd7\\x66\\x4c\\x85\\x99\\x5a\\xdc\\x9c\\x9a\\x9d\\xba\\xf4\\x8e\\x26\\x4e\\xf9\\x44\\x0d\\x75\\x69\\x51\\xdf\\xf0\\x54\\xe8\\x75\\x69\\xd6\\xe4\\xf1\\xdc\\xae\\xbe\\xa1\\x2e\\xd0\\xf2\\xd4\\xbf\\xeb\\x79\\x1f\\x41\\xde\\xd3\\x7a\\xde\\x87\\x5a\\x5e\\xab\\x19\\xea\\xf2\\x99\\x7e\\x6f\\x90\\x9e\\xb7\\x06\\xf0\\x66\\xe9\\x79\\x37\\xe9\\x79\\xcb\\x21\\x6f\\x8c\\x9e\\xb7\\x4c\\xd7\\xc3\\x66\\xb8\\xf7\\x2f\\xba\\x1e\\x9e\\xd0\\xcb\\xf5\\x84\\x72\\x16\\xbd\\x5c\\x81\\x5e\\x6e\\x04\\x94\\x4b\\xd3\\xcb\\x0d\\xd7\\x74\\xd3\\x6a\\x92\\xaf\\x52\\x5f\\x57\\x86\\x80\\x6e\\x6c\\x4f\\x87\\x05\\xb1\\x96\\x08\\x63\\x48\\x87\\xb6\\x8d\\xb8\\xd0\\x28\\x4d\\x61\\x57\\x8d\\x4f\\xec\\x96\\x5c\\x92\\x17\\xd5\\x2f\\xa6\\x25\\x7b\\x53\\x97\\x92\\xbc\\xf8\\x4c\\xc7\\x08\\x8b\\x7c\\x55\\x4d\\x8d\\x29\\xd4\\x69\\x19\\xbe\\x2b\\x2a\\x3a\\xc4\\x3a\\x16\\xf1\\xed\\x30\\x0e\\x7c\\xf8\\xfb\\xfa\\x53\\xab\\xfd\\xd2\\xfa\\xd3\\xf9\\xdb\\x41\\xf6\\x71\\xbf\\x53\\xf6\\xf3\\xb7\\x5f\\xb2\\xec\\xe7\\xef\\x00\\xd9\\x67\\xfc\\xce\\x31\\xec\\x8e\\x4b\\x93\\x5d\\x80\\xe5\\x0c\\x39\\x22\\xf6\\xd6\\xce\\x20\\xa3\\xa2\\x44\\x2c\\xfc\\x9b\\x88\\x62\\x7d\\x53\\x14\\xff\\x80\\xb1\\x62\\xff\\xd6\\x03\\xfc\\x65\\x2d\\x6f\\x27\\xe6\\xbd\\x56\\x7a\\x92\\x1a\\x95\\x4c\\xfd\\xdc\\xa2\\xfe\\xae\\x70\\x89\\x18\\xe0\\xbf\\x33\\x28\\x37\\x88\\xba\\x82\\x46\\x05\\x7d\\x12\\x74\\x2a\\x48\\x0c\\xe2\\x21\\x15\\x32\\xba\\x97\\xf2\\xdf\\x2e\\x63\\x7c\\x62\\x69\\x10\\x2c\\xc5\\xf8\\x96\\xa5\\xc6\\x3c\\x1e\\x3e\\x61\\xa1\\xb6\\x90\\x6e\\xf3\\x77\\x53\\x79\\xfc\\xe3\\x82\\x94\\xfb\\x53\\x3c\\x8f\\x02\\x21\\x6f\\x78\\x3e\\x8c\\xa6\\x29\\xd2\\x93\\xdc\\xf5\\x3d\\xd7\\xec\\xe3\\xfb\\x30\\x8d\\x02\\xbe\\xda\\x33\\x85\\x49\\xae\\x14\\xb3\\xd9\\xb0\\x80\\xb5\\xf0\\x2d\\x8c\\xcc\\x20\\x07\\x07\\xe7\\xc8\\x0d\\x32\\x95\\x43\\x05\\xa7\\x90\\x2b\\x3c\\x21\\x88\\x9f\\x08\\xa7\\x60\\x46\\xd3\\xc5\\xc0\\xc8\\x0e\\x21\\x20\\xc6\\x06\\x81\\xe4\\x0a\\x2e\\x81\\x47\\x10\\xe0\\xae\\x3c\\x17\\x25\\xa7\\x31\\x3f\\x07\\x17\\xf6\\x95\\xb0\\x94\\xe7\\x1e\\x95\\x02\\x2b\\x85\\x48\\x5d\\x2e\\xd2\\xf3\\x28\\x55\\x3f\\x58\\x45\\x5e\\xf3\\x89\\xa6\\x64\\x9a\\x1f\\x31\\xbd\\x83\\x2e\\x39\\xc8\\x74\\x35\\xc8\\xd4\\x05\\x64\\x32\\xf0\\xd9\\x9b\\xc7\\xe5\\x31\\x28\\x8c\\x2f\\x17\\x43\\x73\\xcc\\x0d\\x66\\xba\\xd6\\x4c\\xcc\\x8a\\x5f\\x20\\x8d\\x2f\\x17\\x4b\\xd2\\xc4\\xca\\xd1\\x02\\x4f\\x80\\x54\\x18\\xee\\x06\\xbc\\xf5\\x9c\\x85\\x8d\\xf9\\x45\\xdc\\xb7\\xc0\\x21\\x20\\xdf\\xa2\\xad\\x2d\\xec\\x3e\\x59\\xfe\\xba\\x9e\\x9e\\x7e\\xf5\\x09\\xba\\xfe\\x9a\\xf2\\x36\\x69\\x4c\\x8f\\x3d\\x62\\x9e\\xa1\\x7e\\x8c\\x02\\x31\\xef\\x0a\\xe9\\x61\\xf2\\x43\\x3b\\x1d\\x19\\x16\\x60\\x10\\x00\\x58\\x25\\x49\\x26\\xa3\\x31\\xc7\\xd4\\x60\\xa2\\xa6\\x50\\xc9\\x29\\xe5\\x4a\\x4f\\x48\\xe2\\x27\\xd2\\x29\\x89\\x4a\\xba\\x8e\\x24\\xbf\\x8e\\x24\\x92\\x2b\\xb9\\xa4\\x51\\x12\\x93\\xda\\xe9\\xc8\\xa6\\x2b\\x49\\xf3\\x2a\\x0a\\xf3\\x7d\\x6d\\x47\\x0a\\xc9\\xaa\\xe3\\xf4\\xa8\\xba\\x8b\\xb7\\x5c\\x08\\x10\\x79\\xa5\\xe9\\x11\\xb3\\xba\\x02\\x65\\xa2\\xde\\xb7\\xa4\\x17\\xa8\\x41\\xb7\\x97\\xb2\\xa7\\xf6\\xd1\\x4f\\x40\\x1c\\xce\\x32\\x2e\\xb1\\x94\\xff\\x76\\xc5\\x85\\xda\\x4b\\x45\\x2a\\x52\\xe6\\x54\\x72\\x95\\xe9\\xca\\x02\\xa5\\x45\\x91\\x5c\\xca\\x28\\xe5\\x13\\xe5\\x94\\x22\\x2a\\x3c\\x56\\x07\\x08\\xa7\\xe0\\x3b\\xca\\xca\\x85\\xda\\x9e\\xad\\xcc\\x85\\x5a\\x48\\x20\\x1e\\x35\\x7b\\x52\\xca\\x7d\\x29\\x3f\\x68\\xe6\\xf2\\xc2\\xb6\\x6d\\xa7\\x9a\\xf1\\x1d\\xf2\\x59\\x69\\x07\\xbd\\x0d\\x79\\xc6\\x41\\xab\\x14\\x44\\x47\\x18\\x45\\xab\\x95\\x8a\\x66\\xf3\\x76\\x11\\x16\\x71\\xa1\\xd4\\x49\\x79\\x84\\x86\\xe9\\xa0\\x1a\\xd9\\x49\\x73\\x29\\xd7\\xd1\\x29\\x2a\\x9d\\xa2\\x84\\x2f\\x64\\xf0\\x1a\\xa5\\xbc\\xee\\x95\\xd0\\x20\\x7a\\xdd\\xf9\\xb6\\x05\\xfd\\x55\\x07\\xf3\\x2f\\xa4\\xa8\\x36\\x3a\\xe3\\x43\\x31\\xba\\xd0\\xf3\\x61\\x14\\x4d\\x79\\x3f\\xb9\\xb8\\x6f\\xaf\\x98\\xec\\xfc\\xd0\\x29\\xb1\\xbd\\xc6\\xf5\\x4f\\x19\\xd0\\xa7\\xa7\\x23\\x37\\x2f\\x78\\x6a\\x5c\\xe1\\x58\\xf9\\xd1\\x66\\xf5\\x8e\\xc8\\xb8\\xc8\\xe4\\x8c\\xb1\\x43\\x32\\xe0\\x77\\x5a\\xea\\xd8\\xd2\\x74\\x6d\\x5e\\xb8\\x17\\x8c\\xe9\\x19\\x7c\\x1e\\xd0\\xdd\\x15\\xaa\\x10\\xc2\\x0f\\x31\\x0e\\x32\\x30\\x45\\x21\\x12\\x3f\\x43\\xd2\\xbe\\xb5\\x42\\x62\\xc4\\xd6\\xf6\\xe9\\x74\\x71\\xc0\\x46\\xbb\\xc4\\x64\\x2b\\x3e\\x21\\xb2\\xe6\\xb3\\x67\\xdc\\xea\\x03\\xea\\x1e\\x52\\x4b\\xba\\xba\\xd9\\xdd\\x64\\xaa\\x5b\\x7d\\x87\\x74\\xed\\x1c\\x5f\\x10\\x83\\x4c\\x7f\\x08\\xff\\x6f\\xea\\xa7\\x88\\x4f\\x0f\\xd1\\x14\\xb7\\x3a\\x88\\x3c\\xff\\x27\\xe3\\x5f\\xa7\\x7e\\x4d\\x1a\\x88\\xd3\\x4d\\x36\\xb0\\xc9\\x6e\\xcf\\x64\\xfe\\x4c\\x3d\\x00\\xdf\\x20\\x64\\xbb\\x42\\x78\\xe0\\x0b\\x93\\x51\\x61\\xb2\\x4c\\x44\\x7e\\x74\\x2a\\xa0\\x8b\\x9d\\xa2\\x73\\xec\\x00\\xe8\\x66\\xf5\\x7b\\x84\\x16\\x7f\\x71\\xb7\\x96\\xb0\\x17\\x38\\xee\\x08\\x3f\\x6e\\xaa\\xcb\\xca\\xa5\\x36\\x19\\xa9\\xc2\\x8f\\x26\\x27\\xba\\xbc\\xfc\\xc9\\x9e\\xff\\x40\\x78\\x94\\xd5\\x48\\x0a\\xf9\\xf7\\x79\\x80\\xb7\\x4d\\x9d\\x35\\x15\\xc6\\xde\\x52\\xb7\\xf8\\xba\\xba\\x9b\\xac\\x9e\\xa1\\x1e\\x24\\x3d\\x00\\x73\\x8c\\x5f\\x17\\x39\\x7c\\xd7\\xba\\xaf\\x2d\\xf9\\x99\\xc0\\xf6\\x67\\x2a\\xda\\x41\\xe3\\x19\\xcb\\xed\\x34\\x91\\x08\\x9d\\x29\\x51\\x13\\xf7\\x56\\x75\\xed\\x4c\\x32\\x84\\xf4\\x70\\xb3\\x87\\x48\\xc3\\x0c\\x75\\x1b\\x19\\xa3\\xd9\\x8a\\x4f\\x66\\x45\\x48\\x77\\xd9\\xf8\\x99\\xaa\\xe0\\xbc\\x1b\\x65\\x46\\x25\\x89\\x88\\x01\\x42\\x77\\xd0\\x70\\xa1\\xa6\\x04\\x4f\\x7c\\x15\\xbd\\xc6\\x4d\\xcb\\xe8\\xee\\x69\\x9e\\xf5\\xb4\\x31\\x10\\xcf\\xc8\\xf1\\xda\\xda\\x8e\\xf2\\xc6\\xbb\\x18\\x5e\\x01\\x68\\x81\\xd8\\xad\\x3e\\x35\\x8c\\x25\\x5b\\x3e\\x74\\x7f\\x43\\xff\\x45\\x56\\xcf\\x55\\xeb\\xd4\\x1c\\x56\\xcf\\x71\\x07\\xfb\\x75\\x9b\\xe2\\x0a\\xd5\\xda\\x8c\\xb7\\x98\\xa2\\xe8\\x52\\x6a\\xbd\\x2a\\x40\\xb5\\x01\\x98\\x0f\\xa9\\x0b\\x26\\x93\\xc7\\x3f\\x75\\xb3\\x7f\\x92\\x2b\\x66\\xa9\\x73\\x3c\\x77\\xb1\\x73\\x82\\x8e\\x49\\x17\\x04\\xd6\\x5d\\x60\\x46\\xc3\\x25\\xd5\\x9d\\x2e\\x70\\xab\\xd3\\x26\\x43\\x63\\x41\\xc7\\x68\\xa9\\x51\\xdf\\x23\\x19\\xe8\\x8f\\xfd\\x37\\xed\\xbf\\x55\\x1d\\x33\\x17\\x1a\\x08\\xda\\x7f\\xb9\\xe7\\x1d\\x7a\\x7c\\xa4\\xe7\\x08\\x4d\\x0c\\xc0\\xe4\\x7d\\x21\\xb2\\x4d\\x9f\\x4c\\x06\\x8d\\x4a\\xed\\x90\\xb5\\x87\\xc2\\x1d\\xa4\\x45\\x7c\\x6b\\x1b\\x83\\x19\\xa4\\x1b\\xa8\\x41\\xdd\\x4c\\x8f\\x0f\\xf3\\x6c\\x21\\xd9\\xc4\\xc9\\xe5\\x2e\\xf7\\xf3\\xc8\\x76\\x99\\x7c\\x3c\\xd0\\xc2\\x5c\\x46\\x6e\\x62\\x06\\x9d\\x89\\xef\\xdb\\xdc\\xce\\x2d\\xec\\x61\\x75\\x59\\x13\\xa9\\x21\\x06\\x37\\x5d\\x4f\\xef\\x29\\xf5\\xdc\\x47\\xa7\\x71\\xec\\x6c\\x3f\\x76\\x9a\\xcb\\xea\\xc3\\xe6\\xd6\\x10\\x08\\x9a\\x7f\\x81\\xd0\\x24\\x52\\x03\\xbd\\x47\\x9d\\xbe\\x84\\xdc\\xfa\\xb3\\x9b\\x84\\x90\\x6a\\xfa\\xe6\\x60\\xcf\\xe0\\x5f\\xd8\\x16\\x6c\\xbb\\x52\\x1d\\x57\\xe6\\x51\\x17\\x44\\x68\\x48\\x83\\x22\\x8a\\xa0\\x8d\\x36\\xd0\\xc0\\x6e\\xeb\\xb3\\xd7\\xe8\\xa5\\xd0\\x72\\x52\\xbf\\x92\\xf3\\x77\\x8a\\xb3\\x35\\xfb\\xcf\\xf6\\xdb\\x00\\xc8\\xe7\\xb3\\x01\\x6e\\x01\\xb2\\x78\\x51\\xf9\\xfc\\x26\\x30\\x68\\x11\\xb4\\x17\\x9d\\x40\\x8f\\x95\\x62\\x6b\\x71\\xbc\\x94\\xff\\x6e\\x0c\\xe8\\x77\\x95\\x66\\x03\\xd1\\xad\\x1f\\x89\\x15\\x79\\xad\\x1f\\xb1\\x64\\xc0\\x4c\\xf5\\xeb\\x30\\xd7\\x15\\xe1\\x1b\\x03\\xfc\\x16\\x10\\xa8\\x48\\x5f\\x4c\\xba\\x0b\\x4c\\xa0\\x00\\xf1\\x5f\\x55\\x7b\\xac\\x24\\x93\\xf8\\x20\\xb0\\xc1\\xb3\\x5a\\xcc\\x28\\x68\\xfd\\x82\\xce\\x7a\\x52\\xd3\\xc3\\x05\\x3c\\x78\\x3b\\xfd\\x3e\\x1e\\x5a\\x8b\\x6d\\x51\\x07\\x5e\\x49\\x16\\x91\\x58\\xd0\\x8b\\xba\\x59\\x2c\\xcd\\x6b\\x5d\\x41\\x6c\\x74\\x21\\xf2\\x48\\xff\\x53\\xec\\xec\\x36\\xb5\\x7a\\x39\\xb9\\x86\\x98\\xdd\\x64\\x34\\x53\\xf3\\x5a\\x27\\xb1\\x87\\x39\\x76\\x8e\\x5f\\xef\\xf8\\xa5\\x09\\x13\\x8c\\x26\\x85\\x1f\\x52\\x61\\xc3\\x63\\x7e\\x3b\\x8c\\x0b\\x91\\xbe\\xb1\\xa6\\xb4\\x99\\x3c\\x76\\xd0\\x4d\\x86\\x88\\xac\\xb0\\x35\\xec\\x1d\\xf1\\x55\\xbf\\x2e\\xda\\xdb\\x04\\x1f\\x13\\x7f\\xdd\\x26\\x0a\\xfc\\x36\\xd1\\xef\\x4a\\x68\\xbf\\x33\\xe2\\x54\\xad\\xf1\\x10\\x2f\\xce\\x2f\\x5b\\x92\\xcb\\xc2\\x5b\\xcf\\x68\\x92\\x29\\x53\\xa0\\xb6\\x4c\\x13\\xaf\\x6d\\xcb\\xe8\\x05\\x06\\xd1\\x73\\x05\\x19\\xc1\\xc7\\x99\\x77\\x5b\\xbb\\x48\\xa3\\x73\\x5b\\xbb\\xb0\\x77\\x35\\xcc\\x48\\xbf\\x2e\\xbb\\xba\\xec\\x3e\\x9b\\x00\\x8f\\x15\\xfc\\xd7\\x76\\xb8\\x39\\x39\\x17\\xb5\\x86\\x6d\\x6a\\xee\\x4a\\x52\\x41\\x06\\xb8\\xd9\\xe2\\xd6\\x1b\\xa5\\xf2\\x9c\\xd6\\x48\\x76\\x79\\x0b\\xc7\\xee\\xf9\\xdf\\x60\\xfb\\x54\\x5b\\xde\\x4c\\x46\\x92\\x2c\\x37\\x5d\\xeb\\x59\\x28\\x8d\\xcd\\x3e\\x7f\\x8c\\xce\\x23\\x9b\\x3b\\xc3\\x46\\x1b\\xb8\\x24\\x6c\\x92\\xea\\xc7\\x5e\\x49\\x9a\\x88\\xe2\\x26\\xbd\\xd4\\x5d\\x1c\\xfb\\xca\\x73\\xec\\x26\\x2e\\x77\\xae\\x7f\\x2e\\x8b\\x77\\x85\\x48\\x02\\x3f\\x0d\\x85\\x8f\\xe7\\x4c\\xe4\\x8d\\xb6\\xa7\\x38\\xdf\\xbf\\xdb\\xb2\\x0b\\xe1\\x9f\\xc9\\x72\\x34\\x35\\x53\\x1d\\xb9\\x8a\\xac\\xfb\\xda\\x2d\\x8d\\xed\\x76\\x5e\\x11\\x7f\\x41\\xdd\\x76\\xd1\\xdb\\xff\\xd2\\xc7\\x16\\xde\\xf0\\x03\\x56\\x91\\xfe\\x1c\\xa6\\xad\\x8d\\xca\\xfd\\xf2\\x64\\xb9\\x42\\xf8\\x67\\x8b\\x12\\xe3\\x1b\\x74\\x89\\x2c\\x6b\\x7e\\x86\\xdc\\xce\\xcf\\xf0\\x4b\\x87\\xe6\\x9e\\x4e\\x12\\x79\\x5d\\x77\\xab\\x4f\\xcd\\x80\\xba\\x9e\\x15\\x7f\\x51\\xb7\\xcd\\x20\\x0d\\x1a\\xee\\xf0\\x80\\xbe\\x8a\\x73\\x02\\xff\\xc2\\x8f\\x8f\\xaa\\x22\\xfc\\x27\\xdc\\x39\\xd0\\x04\\xd5\\xf5\\x18\\xb8\\x2f\\x16\\x35\\x99\\xee\\x6b\\xa5\\x67\\xd4\\x57\\xa6\\x90\\xf5\\xdc\\xbc\\x6e\\x21\\x05\\xea\\xe1\\x59\\x64\\x39\\xb8\\x1e\\x3d\\x3a\\xf0\\xe8\\xa6\\x8d\\x07\\x01\\x3c\\x2e\\x60\\x71\\x71\\x0e\\x77\\xa8\\x1f\\x8c\\x47\\x0e\\xb4\\x0b\\x5d\\xa5\\xfe\\x58\\x47\\x96\\x7b\\x5e\\xa1\\xc5\\xed\\xf0\\xb3\\x5c\\xe1\\x68\\x07\\x4c\\x62\\xa6\\xa0\\x4e\\xe1\\xdb\\xa1\\x17\\x10\\xc9\\x8f\\x7e\\xad\\xfa\\xcd\\x58\\x44\\xff\\x92\\x3d\\xc6\\xb1\\x5b\\x0f\\xb0\\x6c\\xc0\\x9e\\xe6\\xef\\x6f\\x19\\x2e\\xbb\\x2c\\x88\\x14\\xbd\\x05\\x0e\\xaa\\x50\\xa9\\x33\\x64\\x6c\\xc7\\x36\\xd8\\x35\\xea\\x99\\xd1\\x00\\xdb\\xd3\\x2d\\xde\\xf0\\x39\\xe8\\xa4\\xb5\\x1f\\xdb\\xe1\\xd3\\x49\\x9b\\x5d\\xf0\\x5e\\xa1\\xc0\\x44\\x4c\\xa8\\xd4\\xa9\\x5d\\x58\\xa1\\x09\\xd1\\x2e\\x5e\\x9d\\x46\\xee\\x72\\x8b\\xaf\\xaa\\x1f\\xd5\\x93\\xe5\\x42\\x07\\xff\\x33\\xe3\\x19\\x6d\\x38\\x40\\xb7\\x16\\x06\\x41\\x18\\x63\\x60\\xb6\\xb8\\x60\\x10\\x44\\x3c\\x85\\xfb\\x9e\\x5c\\x3e\\xaf\\xba\\x80\\x8c\\x23\\x7d\\xdc\\xe2\\xce\\x4f\\xdd\\x24\\xa2\\x9d\\xbf\\xdc\\x43\\xf3\\x11\\xb5\\x39\\x56\\x03\\x35\\x55\\x28\\x92\\x02\\x8b\\x6a\\xdf\\xec\\xc3\\x57\\x3c\\xda\\xd6\\xc8\\xce\\x5d\\xe6\\xf5\\xe0\\xe6\\x73\\x2f\\x81\\xd6\\x93\\x2b\\x40\\x78\\x3a\\xae\\xe3\\x9a\\x22\\x47\\x1b\\xbb\\xf9\\x98\\xf0\\x2b\\x1c\\x2e\\x06\\x7f\\x8f\\x7a\\x80\\x34\\x93\\x50\\x37\\x29\\xa0\\x8f\\xbb\\x3d\\xdf\\xb3\\x94\\x76\\xfa\\xe8\\xfa\\x8c\\x36\\x74\\xa3\\x23\\x0e\\xc0\\xb2\\x28\\x8b\\x44\\xe9\\x04\\xd8\\xe7\\x8c\\xeb\\x1e\\xde\\x63\\xea\\x4e\\x72\\xcf\\x69\\x37\\x3b\\xe6\\xf6\\x14\\xf3\\xde\\x47\\x60\\x6d\\x1c\\x60\\x03\\xbc\\xef\\x89\\xcc\\x08\\xf3\\x99\\x24\\xb7\\xd3\\x70\\x80\\xed\\x76\\x18\\x79\\x9f\\x55\\xeb\\xa6\\x93\\x78\\x32\\xc3\\x2d\\x2e\\xf3\\x1c\\x22\\xff\\x9c\\xa9\\x1e\\xa6\\x13\\xda\\xf7\\x8b\\x9e\\x2e\\x07\\xea\\x81\\x87\\xfb\\xd5\\x67\\x4a\\x03\\xe2\\x07\\x2a\\xc2\\x1f\\x25\\xb6\\x7d\\xff\\x08\\x18\\x27\\x6b\\xa7\\x93\\x3e\\xbc\\x07\\x3e\\xa1\\x3e\\x4b\\xee\\x9a\\xae\\xbe\\x06\\xf3\\x7f\\x68\\x80\\xbf\\xeb\\xd7\\x77\\xdb\\x5c\\x09\\x6a\\xe9\\xc8\\xe6\\xe2\\xb3\\xe5\\x2c\\x75\\xf3\\x4c\\xd2\\x95\\x54\\x82\\x57\\x46\\x96\\x4c\\x55\\x9f\\xa6\\xd3\\xda\\x8f\\x21\\x0a\\xc6\\x13\\xf7\\xfb\\x3d\\xa2\\x04\\xc3\\x53\\x00\\x70\\x67\\x9e\\x0f\\x77\\xa4\\xe2\\xa6\\xd1\\xd5\\x6e\\x92\\x4e\\x8f\\x57\\x7b\\xae\\x64\\x77\\x04\\xe0\\xe1\\x1c\\xa7\\xfb\\xe7\\x1d\\x1b\\xaf\\x73\\xef\\x1c\\x54\\x30\\x85\\x3c\\xf1\\x9e\\x9b\\x2e\\x22\\xff\\xa8\\x56\\xc7\\xaa\\xd5\\xe2\\x94\\x80\\xbe\\xe6\\x97\\x4f\\x9b\\x83\\x2f\\x45\\x3e\\xde\\xe9\\x6a\\x2a\\x49\\xb1\\x9b\\xd6\\x90\\xbb\\x6a\\xd5\\x57\\xe8\\x94\\x76\\xfe\\x01\\xda\\x03\\x6f\\x35\\x93\\xf1\\x77\\xd9\\xc3\\x90\\xc5\\x80\\x3e\\xce\\x2d\\xc6\\xb5\\x7e\\xc6\\x66\\x0c\\xf6\\xdc\\xc9\\x8a\\xb9\\x1e\\x8b\\x3a\\xda\\x03\\xb7\\x34\\x9f\\x77\\xf6\\x7b\\xec\\xc1\\x37\\x27\\x8f\\x59\\x42\\x7a\\xe1\\xc2\\xc2\\xb3\\x90\\x0d\\x19\\xe2\\xf9\\x27\\x5d\\x8b\\x67\\xf5\\x17\\x07\\xf4\\xf1\\xe8\\x8e\\x7c\\x2e\\x60\\xf3\\x1b\\x56\\xf7\\xaa\\x3a\\x72\\x29\\xa9\\xe4\\x3e\\xda\\x22\\xf5\\x01\\x36\\xa9\\x9f\\x67\\x3c\\xe9\\x45\\x4b\\x85\\xf6\\x7c\\xba\\xeb\\x63\\x09\\xe3\\x7c\\x7e\\xd5\\xf2\\x22\\x3b\\xb5\\xbc\\xfb\\xd5\\x79\\x4b\\x61\\x85\\x6c\\x72\\x93\\x09\\x2c\\xba\\x9f\\x27\\x8f\\xdd\\x1f\\x88\\x6f\\xe0\\x63\\xa8\\x66\\x27\\x22\\xb7\\x12\\xdd\\x53\\xbb\\x70\\x0d\\x17\\xe9\\x5b\\xbd\\x4c\\x5d\\x4a\\xfe\\x71\\x04\\xc6\\x0d\\xd6\\xbb\\x5f\\xeb\\xc7\\x6f\\xf9\\x7c\\xb5\\xe2\\xce\\xfc\\xf7\\x0b\\xcc\\xe4\\x22\\x56\\x32\\x71\\x29\\xc9\\x73\\x93\\x6c\\x76\\x59\\x3f\\xcf\\x46\\x96\\x29\\x04\\xfa\\x3e\\x06\\xc0\\xb3\\xf9\\xc6\\x0d\\x19\\x9c\\x3f\\xa6\\xf8\\xdc\\x13\\x7e\\xb8\\x41\\x51\\xe7\\x56\\x02\\xae\\xc9\\x0a\\xd2\\xc3\\xe7\\xaf\\x19\\x73\\x5b\\x17\\xfa\\x7c\\x81\\x82\\x8e\\xf3\\xa9\\xd6\\x7e\\x54\\x91\\x15\\xfe\\xad\\x7f\\x7b\\xec\\x5f\\xb3\\x8f\\x91\\x2b\\x48\\x5f\\x9f\\xcf\\x66\\xec\\xde\\x3a\\xe5\\x02\\x9f\\x4d\\xc7\\xd7\\xc6\\xa5\\x4b\\xc7\\xef\\xcc\\x6f\\x0b\\xca\\x6e\\xcd\\xbc\\xc0\\x6f\\xeb\\x80\\xaf\\xc1\\xcb\\x1a\\xbe\\xc6\\xa0\\x13\\xfc\\xce\\x7d\\x37\\x53\\xf6\\xf9\\x9d\\xba\\xef\\xd6\\xd3\\x3f\\x1e\\x75\\x75\\x59\\x7c\\xbe\\x1b\\xcc\\xae\\xd0\\x8a\\x7c\\x92\\x79\\xd2\\xb7\\x47\\x54\\xb7\\x90\\x0b\\xfc\\xb8\\x5c\\x0e\\xbc\\xfe\\x13\\x37\\xc7\\x1c\\xad\\xfb\\x71\\x05\\x9d\\xf8\\x71\\x00\\xd9\\xb6\\x10\\x2b\\xea\\xcc\\x8f\\x1b\\xd1\\x0c\\x0b\\x24\\x80\\x69\\xbd\\x82\\xed\\xeb\\x38\\x56\\xfe\\x61\\x3f\\xee\\x53\\xf5\\x91\\x06\\xb2\\x94\\xfb\\x71\\x9e\\x1d\\xc3\\xe8\\x15\\x17\\xf1\\xe3\\x34\\x1f\\xe8\\xf7\\xfb\\x71\\xfb\\xd5\\xe7\\x1a\\x7c\\x7e\\x5c\\xbc\\x6a\\x06\\x06\\x9d\\xf8\\x71\\xff\\x25\\x8f\\xcd\\xea\\xe1\\x06\\x9f\\x27\\x37\\x56\\x75\\x01\\x0f\\xf4\\xe4\\x3a\\xf5\\x15\\x03\\x78\\xfc\\x86\\xaf\\x58\\x10\\xc0\\x61\\xbd\\x7a\\xba\\x41\\xf7\\xe6\\x16\\xab\\xd3\\x80\\x01\\xba\\x73\\xed\\xe6\\x16\\xe8\\xe3\\x32\\xae\\xa9\\x2f\\xe6\\xcd\\xb5\\x8d\\x1c\\x7e\\xd8\\x7b\\xd4\\xef\\x1a\\xc8\\x63\\xdc\\x9b\\x1b\\xa3\\xce\\xe1\\xa8\\x9a\\x3b\\x07\\xb8\\x75\\xed\\xfd\\x39\\x41\\xe4\\xcf\\xdb\\x7f\\xd3\\x9f\\x3b\\xd9\\x40\\x5a\\xdc\\xe2\\x4a\\xb5\\xef\\x88\\x8e\\xed\\x78\\xe9\\x7e\\x21\\x9f\\x42\\xe7\\x8e\\xa4\\xc7\\xdc\\xe2\\x5e\\xcf\\xbe\\x3a\\x1f\\xce\\xe0\\x0b\\xc7\\x5e\\x29\\x60\\xec\\x85\\xe9\\x54\\xfe\\xf5\\xb1\\x37\\xdd\\x37\\xf6\\xbe\\xa4\\x3e\\x3f\\x93\\xcc\\x21\\xcd\\xe0\\x11\\xa9\\x77\\x4c\\x25\\xb7\\x82\\x9b\\xd8\\xae\\x9d\\x7a\\xe8\\x73\\x95\\xde\\x4e\\x4c\\x16\\x15\\x59\\xe6\\x8f\\xd2\\x7c\\xf0\\xfa\\xe9\\x21\\x97\\xb2\\x76\\xa0\\xab\\xfc\\x6b\\x07\\x3a\\x48\\xf8\\x0d\\x3e\\x8a\\x28\\x03\\xaf\\xdf\\xc3\\xc7\\xbf\\x82\\x20\\xd1\\xfe\\x15\\x04\\x2b\\x17\\xda\\xdb\\x45\\x57\\x57\\x18\\xd8\\x05\\xe5\\x63\\x35\\x95\\x64\\xe0\\x26\\xb5\\x73\\x3c\\xda\\x46\\x24\\xec\\xe9\\xcc\\x0f\\x5e\\xff\\xd9\\x6c\\xb2\\x88\\x2c\\x70\\xc3\\x00\\x72\\x7c\\x2a\\x79\\xb5\\xf5\\x01\\x31\\xa5\\x9d\\xef\\x01\\x6b\\x54\\x9c\\x53\\x44\\x7c\\x26\\x24\\x6b\\xe3\\x51\\xe0\\xf3\\xb6\\xf6\\xf3\\x4a\\x3a\\x8c\\xd2\\xdc\\x44\\x5e\\xa9\\x04\\x97\\x9f\\xbd\\xa1\\xbe\\x52\\x4b\\xee\\xfa\\xf1\\xbf\\xf1\\xf9\\x99\\xcf\\xe7\\xff\\x5c\\x9d\\x44\\x26\\x90\\x22\\xb7\\x38\\x59\\x1d\\xe0\\xf6\\xf9\\x70\\x6d\\x3e\\x79\\x7e\\x9b\\x8f\\xa8\\xc1\\x9a\\x2b\\x60\\x64\\x36\\x48\\x01\\x73\\x35\\xca\\xdb\\xc1\\x4f\\x54\\xfc\\x7e\\xf9\\xf7\\x6a\\x35\\x99\\x45\\xba\\xb8\\xd9\\x9d\\xaa\\x9b\\xf4\\x26\\x29\\x1d\\xf0\\xff\\x84\\x75\\xc5\\xdd\\xea\\x41\\x52\\x0d\\x13\\x0b\\x49\\x21\\x4b\\xdd\\xea\\x6b\\xec\\xce\\x8e\\x7a\\xf9\\xdd\\xbe\\x3f\\xf1\\x3d\\x77\\x7c\\x83\\xdc\\x40\\x64\\x70\\x70\\xdd\\xaa\\x28\\x4e\\x06\\xcc\\x09\\x7f\\xd4\\xf7\\x97\\xb4\\x59\\xfc\\x65\\x75\\x76\\x15\\x31\\x92\\x85\\x6e\\x31\\xc5\\x63\\x25\\x37\\x4e\\x53\\xd9\\x0c\\x94\\x75\\xe2\\x9f\\xed\\xeb\\x2d\\x98\\x46\\x6c\\xa4\\xce\\xcd\\x5a\\x3c\\x2f\\x92\\x6b\\xa6\\xa9\\x3f\\xd3\\x2b\\x4e\\xeb\\xef\\x50\\xff\\xdc\\x35\\x46\\xe3\\x14\\x70\\x4a\\x86\\xb8\\xe9\\xe5\\x30\\x2d\\x5c\\x3d\\x4b\\x3d\\x44\\xf2\\xe8\\xe4\\x76\\xf5\\xf9\\xef\\xd6\\x18\\x77\\xa8\\x7f\\x9b\\x49\\x86\\x91\\x4c\\xf0\\xf4\\xc8\\xe5\\x53\\xd5\\x97\\xb9\\xa7\\x27\\x04\\xb4\\x83\\x3e\\xff\\x52\\x6d\\x5c\\x94\\xb4\\xe7\\x31\\x1d\\x7d\\x3d\\xff\\xd2\\x22\\xbd\\x8a\\x5e\\xe1\\xa6\\x2f\\x4f\\xf3\\xdc\\x23\\xbe\\xa6\\xe1\\x4c\\xfd\\xef\\xd6\\x02\\x4d\\x95\\x24\\xc7\\x0d\\x0a\\xb8\\xb1\\x56\\xdd\\xcf\\x6e\\xe4\\xdf\\xe3\\x76\\xe6\\xe3\\x81\\x1b\\xc3\\x07\\x28\\x9f\\x1f\\x93\\x1f\\xe8\\x67\\xb4\\xf3\\xf1\\xde\\x54\\x8b\\x1b\\x48\\x26\\xac\\xa8\\xd8\\x8e\\xd6\\x7e\\xf4\\xfd\\x61\\x6a\\xb4\\x58\\xa2\\xc9\\x59\\x78\\xc1\\x5c\\xab\\xfb\\x78\\xbc\\x27\\x76\\x70\\x92\\x6c\\xbf\\xee\\xe5\\x8d\\x6a\\x80\\x45\\x5b\\x95\\x9b\\x65\\xb7\\x1e\\xe0\\x2c\\xcc\\xac\\xee\\xcb\\x8b\\xf0\\xf0\\xfb\\x61\\x97\\xcc\\xc3\\xda\\xc6\\xa3\\x98\\x94\\xb9\\x69\\x31\\x4c\\xe4\\xef\\x0f\\xf3\\x7c\\x49\\x87\\xd1\\x2e\\xc8\\xa3\\x97\\xd7\\xf3\\xdf\\xf8\\x7a\\x3e\\x0e\\xcf\\x72\\x0e\\x93\\x49\\x37\\x37\\xa9\\x50\\x1f\\xa0\\x1f\\x0e\\xf3\\x3c\\x47\\x06\\xb0\\x99\\x01\\xfa\\xd7\\x7d\\x3d\\x7e\\x2a\\xb2\\xc1\\xf8\\xbb\\x7c\\xbd\\xd1\\x0d\\x64\\xcd\\x79\\x37\\x97\\xba\\x46\\xf7\\xf5\\x7a\\x5d\\xe8\\xeb\\xfd\\x86\\xad\\xd1\\x05\\x37\\x70\\x9c\\x01\\x08\\x73\\x4c\\xd4\\xe7\\xe0\\x21\\x7f\\xd8\\xd7\\x4b\\xd6\\x7d\\xbd\\xef\\xd4\\xe6\\xe5\\x30\\x61\\x1d\\x12\\x7f\\x69\\xad\\xcc\\x63\\xbf\\x00\\xe6\\xa0\\x3f\\xcb\\x07\\x3b\\xae\\x3e\\x76\\x25\\xb9\\x9b\\x8c\\x70\\xb3\\x65\\xc4\\xd6\\xba\\x1b\\xd0\\xd5\\xcd\\x44\\x9b\\x0b\\x2f\\xe0\\xf1\\x47\\x9f\\x09\\xfe\\x47\\xdd\\x71\\x25\\xb9\\x8f\\xcf\\xeb\\xd5\\xe4\\xb4\\x87\\x76\\x67\\xe7\\x3c\\x9f\\xd3\\xe8\\x00\\x1e\\xd7\\xfe\\xb1\\x7a\\x04\\x7a\\x7a\\x4f\\xa9\\x1f\\x6a\\x3c\\xee\\x66\\x8b\\x3d\\x25\\x79\\xac\\xb5\\xf5\\x5e\\x56\\x29\\xb4\\xab\\x47\\xbb\\x67\\x77\\x80\\x2c\\xff\\xda\\xb3\\xbb\\x00\\xe8\\x47\\xd5\\xcf\\x34\\x68\\xe6\\xf1\\x54\\x80\\x82\\xb4\\xa7\\xb1\\x88\\xfb\\x07\\x9e\\xdd\\xbd\\x07\\x58\\x37\\x88\\xb1\\x9e\\xde\\xbc\\x21\\x51\\xbe\\x55\\x81\\xeb\\x57\\xc2\\x37\\x80\\x71\\xeb\\x08\\x9c\\xc0\\xdb\\x3d\\xb3\\xe3\\x82\\x71\\xb9\\x8e\\xa8\\x0f\\x2f\\x25\\x33\\xc9\\x70\\xb7\\xf8\\xea\\x5b\\x9e\\xaa\\x7e\\xf4\\x59\\x52\\xd0\\x1e\\xcf\\x3f\\x06\\xf3\\xed\\xdf\\xbf\\xea\\xf1\\x05\\x0c\\x71\\xc9\\x7e\\x8f\\xef\\x4b\\x75\\xf3\\x12\\xd2\\x48\\xfa\\x82\\xc3\\xe7\\x59\\xd4\\x8f\\xbe\\x87\\xcf\\x05\\x8b\\xfe\\x4c\\x7f\\x6f\\xbf\\xfa\\xf8\\x12\\xf2\\x38\\xb7\\x8b\\x0a\\x72\\x93\\x67\\xe1\\x10\\x36\\x44\\x1d\\x47\\x87\\x0a\\xed\\x9f\\x81\\xe4\\xba\\xa2\\xda\\xf8\\x5c\\x9c\\xcb\\xc5\\xec\\xe2\\x09\\x75\\x9f\\xc6\\xe3\\x29\\xfa\\x9d\\x67\\x2b\\xb0\\xf0\\x38\\xd9\\x55\\x9a\\x9e\\x7a\\x07\\xd8\\x85\\x4d\\x46\\x07\\x8a\\x42\\xdf\\xec\\xe8\\xe9\\xd9\\x8a\\xf2\\x3a\\x5f\\x05\\x3c\\xac\\xbe\\xb7\\x18\\x56\\x01\\x60\\x17\\xeb\\x3c\\x3b\\x07\\xb3\\xd2\\xd6\\xdb\\x44\\x45\\x97\\xbd\\xbd\\xaf\\x27\\x6a\\xef\\x7a\\x2e\\xd9\\xd7\\xdb\\xb5\\x94\\x6c\\x72\\xb3\\x67\\x3d\\x1b\\xfa\\xb1\\x11\\x1b\\x34\\x59\\x6f\\x6e\\x6f\\x23\\x12\\x77\\x6a\\x2e\\x6e\\x23\\xcc\\x67\\x23\\xef\\xa9\\xb7\\x4d\\x81\\x19\\xb4\\xd4\\x2d\\x4e\\x51\\xab\\xd5\\x3b\\xaa\\xc9\\x78\\xba\\xa8\\x1d\\x1e\\xce\\x7f\\x4c\\x51\\x64\\x2a\\x1b\\x8c\\x02\\xe3\\xbb\\xee\\x15\\x9b\\xc8\\x7c\\x6b\\xd9\\x40\\x09\\x8d\\x28\\x9f\\x35\\x99\\xe5\\x78\\x5e\\x9c\\x42\\xef\\x71\\xbb\\xd9\\x87\\x9e\\x2b\\xaa\\xe9\\xb1\\xcf\\xb4\\xef\\x9f\\xda\\x30\\xfd\\x6b\\x0d\\x09\\xc7\\xf8\\x3f\\xb0\\xd6\\xf8\\x44\\xfd\\x68\\x0a\\x29\\x25\\x13\\xc0\\x01\\x53\\x9f\\xaf\\x26\\x73\\xb4\\xf7\\xbe\\x37\\xff\\xd7\\xb6\\x17\\xe0\\xa6\\xbf\\xe0\\xd5\\x14\\x43\\x2e\\x23\\xdd\\xd5\\x63\\xd5\\x64\\x99\\xba\\x9b\\x5d\\xdb\\x51\\xd7\\x59\\xae\\x88\\x76\\x6b\\x00\\x09\\x97\\x88\\x9d\\x5a\\x1e\\xce\\x01\\x4a\\xdb\\x0a\\xf1\\xe3\\x69\\x08\\x4f\\x87\\xff\\x32\\x8b\\x2c\\xf3\\x1c\\x10\\x57\\x08\\xed\\x9e\\xf7\\xff\\x01\\xdb\\xb0\\xb6\\xad\\x03\\xe8\\xad\\xb8\\x0e\\xa0\\x99\\x17\\xf8\\xbb\\xda\\xeb\\x61\\x9f\\x3b\\x0d\\x8e\\x75\\x80\\x2d\\x03\\x6c\\xe7\\x2b\\x81\\xc3\\xea\\x70\\x32\\x86\\xf4\\x73\\xb3\\x77\\x3d\\xb0\\xbc\\xbb\\xff\\x4f\\x59\\x07\\x30\\xbf\\x37\\x7d\\x52\\x9d\\x4e\\x46\\xf2\\xc7\\x4b\\x29\\x6a\\x9e\\x9b\\xce\\x27\\x05\\x9d\\xe2\\x4b\\xfe\\x67\\xff\\x97\\x86\\x1f\\xe0\\xad\\xbf\\xa3\\xae\\x27\\x09\\xb0\\xe2\\xa2\\xeb\\xd4\\x1d\\x6e\\x72\\x3d\\x8d\\xed\\xb0\\x36\\x82\\x89\\x44\\x81\\x06\\x24\\xda\\xda\\x88\\x82\\x97\\x67\\xd0\\x8e\\x79\\x6c\\xbf\\x36\\xd2\\x11\\x61\\x04\\xdc\\xae\\x7f\\x42\\x04\\xce\\xa7\\x5b\\xfd\\x5a\\xd4\\x3e\\xf0\\x0b\\x5c\\x1b\\x06\\xac\\x01\\xb8\\x8a\\x99\\xd2\\xd1\\x47\\xea\\x74\\x0d\\x80\\x4f\\xa5\\x05\\x02\\x1d\\x67\\x7f\\x6b\\x37\\xb2\\x7c\\xd6\\xd7\\xe2\\x9a\\x8b\\x3c\\x4f\\xf9\\x9d\\x3e\\x9e\\xe4\\xf7\\xf1\\x80\\x81\\x99\\x5c\\xe5\\x66\\xe3\\x5b\\x1f\\x01\\x06\\x3f\\xb1\\xf7\\x5e\\xf9\\x33\\xf0\\x03\\xde\\x2c\\x4c\\x21\\x71\\x64\\x2e\\xfa\\x77\\x80\\xaf\\x9e\\xa3\\xcd\\xba\\x7f\\xf7\\xe7\\xf2\\x28\\x26\\x43\\xc1\\xbb\\x86\\x95\\x05\\xf0\\x38\\x4c\\x0a\\xd8\\x2d\\x1d\\xde\\x7d\\x66\\xb8\\x82\\xc1\\xc7\\xa3\\xbf\\xf6\\x34\\xaf\\xa8\\xcd\\xc3\\xc3\\x41\\x45\\xed\\xae\\xce\\x9e\\x46\\x96\\x92\\x20\\x37\\x59\\x52\\xaf\\xfe\\x8f\\xf8\\x8b\\xff\\x7d\\x6a\\xa0\\x8f\\x77\\x09\\xeb\\x09\\xde\\x09\\x01\\xa9\\x0f\\xe2\\x7c\\xe2\\x7b\\x66\\xdc\\xf6\\x9e\\x38\\x91\\xf7\\x41\\x89\\xbf\\x24\\x06\\xa9\\x9e\\xe2\\xce\\x9d\\x88\\x50\\xed\\xba\\x9e\\xcf\\xb1\\xfb\\x5a\\x9d\\xb7\\x8a\\x3c\\xc9\\x1d\\xbb\\xf3\\x4a\\x37\\x69\\xac\\x20\\xb4\\x7f\\xee\\xaa\\xbf\\xc7\\xf4\\xf9\\x5d\\x8a\\x88\\x0e\\x91\\x86\\x97\\xef\\xfb\\x62\\x20\\x40\\x8f\\xa9\\x6d\\x93\\xd3\\x2f\\xea\\x4d\\x2b\\xc9\\x66\\x3e\\x39\\xdd\\x74\\xee\\xfc\\x95\\xd9\\xd2\\x58\\x75\\x17\\xe9\\xd5\\x11\\xdf\\xf7\\xbe\\x5c\\xba\\x38\\x7a\\x51\\xa7\\x33\\xf7\\x87\\xea\\xc6\\x66\\x44\\xa7\\x65\\xe4\\xdb\\xf3\\x6f\\x02\\xbc\\xe7\\x10\\x8c\\x46\\x9d\\x7c\\x43\\x70\\x69\\xd8\\x81\\x33\\xf6\\x0e\\xf5\\xfe\\x95\\x64\\x1f\\x60\\x7f\\xc5\\x42\\x5b\\x8d\\x39\\x52\\x79\\xeb\\x61\\x96\\xda\\xfe\\x9b\\x87\\xb6\\x67\\x76\\xf4\\x82\\xaf\\x1e\\x2e\\xf6\\xcc\\x6e\\x9b\\xba\\x65\\x05\\x79\\x53\\x7f\\x8e\\x9e\\x2b\\x8d\\x6e\\x7b\\xa7\\xde\\xe5\\xc2\\x67\\x76\\x94\\x32\\x29\\xe0\\xf9\\x76\\xa7\\xef\\x60\\x57\\x91\\xed\\x88\\xe5\\x6f\\xb7\\x76\\xdf\\x8b\\x68\\x7e\\x1c\\x9f\\xa0\\xc5\\x0b\\xbe\\x17\\x69\\xf3\\xe1\\x0e\\xaa\\x63\\x9b\\x61\\x5c\\x82\\xf9\\xf9\\xd5\\x77\\x5a\\xc3\\x0a\\x61\\x06\\x1b\\x22\\x5c\\xe4\\xbb\\x16\\x29\\xf0\\xbb\\x16\\x50\\xa7\\x8e\\x7b\\xe1\\x77\\x2d\\x6d\\x1e\\xdc\\x59\\xb5\\x76\\x39\\x79\\x8a\\x8c\\x05\\x0f\\xae\\x35\\x2e\\x4f\\x2c\\xe2\\x8f\\xec\\xda\\x7d\\x97\\x93\\x17\\xe8\\x5b\\xe1\\xb3\\x34\\xf8\\x1f\\x88\\x5d\\xf4\\x1b\\x1e\\xdc\\x71\\x75\\xcd\\x95\\xe4\\x45\\x58\\x3d\\xd0\\x85\\xb0\\x7a\\x58\\x91\\x27\\x96\\xaa\\x9b\\xe9\\x84\\x4e\\xbf\\xfd\\x41\\x3b\\xf8\\x35\\x0e\\x9d\\x5b\\xc3\\xbb\\xea\\xdd\\x2b\\xc9\\xbb\\x24\\xdf\\xfd\\x6f\\x3a\\xa7\\x75\\x5f\\x81\\xe8\\xf2\\xac\\x82\\x05\\x77\\x87\\xef\\xa2\\xf0\\x59\\x9d\\xe6\\xd7\\x53\\x7c\\x73\\x15\\xf8\\x66\\xa5\\xa8\\xc3\\x2c\\xdd\\xce\\x26\\x9e\\xbd\\x8a\\xec\\xe0\\x36\\x91\\xdc\\xfa\\x51\\x9e\\x58\\xd1\\xfa\\x91\\x18\\x7d\\x91\\xef\\x75\\xf4\\x79\\x9a\\x5b\\xb1\\x0f\\xf8\\xa2\\xfe\\xdb\\xb6\\x2b\\xc9\\x0e\\x58\\x4f\\xb5\\xba\\xf3\\xc4\\x97\\xd7\\x0a\\x1d\\xbe\\x2d\\x43\\xdb\\xe0\\x6b\\x05\\xda\\x66\\xb6\\x9d\\x3d\\xcb\\xfd\\xdb\\x52\\xfa\\xb9\\x5b\\x9c\\x7d\\xfe\\xce\\x12\\xa9\\x9f\\xff\\xbb\\xb2\\x0e\\xdf\\xbd\\xf9\\xfb\\x96\\x5f\\x9d\\x1d\\x65\\x52\\xfc\\x95\\xfd\\x59\\xbd\\x7c\\x09\\xb9\\x97\\xcc\\x74\\xb3\\x2d\\xbf\\x78\\x06\\x0f\\xa6\\x6f\\x92\\x6a\\x12\\x22\\x74\\xfa\\xad\\x5e\\xdb\\x7a\\xe1\\xb7\\x6c\\x2d\\xc0\\x67\\xfb\\x59\\xbd\\xab\\x89\\xb8\\xc9\\x24\\xf0\\xd9\\x3c\\xb5\\xa5\\xf4\\xb0\\xe6\\xb3\\x15\\xfc\\x79\\xb6\\xb6\\x5f\\xdd\\x30\\x17\\x3c\\xf9\\xe1\\x6e\\xe2\\x24\\xd9\\x9e\\x2d\\xc3\\xe8\\x71\\x75\\x33\\xfb\\x67\\xbb\\x6f\\x24\\xd3\\xd0\\x8f\\xd7\\xec\\x40\\xee\\xf8\\x7e\\xed\\xe2\\x36\\xa0\\xc1\\xd2\\x44\\xcf\\x91\\x91\\xf4\\xb8\\xe7\\x1d\\x71\\xb9\\x5f\\xdf\\x7f\\xc4\\x06\\xb4\\x29\\x62\\xdb\\x22\\xf2\\x3c\\x42\\x96\\xd2\\x63\\xfc\\x35\\x7f\\xbb\\xef\\x4d\\x7f\\x6b\\x7c\\xf0\\xfb\\xef\\x9f\\xaa\\x63\\x26\\x93\\xbf\\x91\\x0a\\x37\\x2c\\x99\\xef\\x52\\xe7\\xcc\\x22\\x57\\x40\\x8d\\xdb\\x7f\\x13\\xab\\xdb\\x02\\x6f\\xb3\\xdf\\xb0\\x05\\x44\\x45\\x4f\\xe1\\x43\\x75\\xc4\\x58\\xf2\\x0f\\x6e\\xf7\\xf5\\x6a\\x8e\\x5a\\x37\\x97\\xac\\xa6\\xff\\xfa\\x46\\x68\\xff\\xed\\xae\\xef\\x1d\\xbe\\xf6\\x9c\\x1a\\xea\\xcc\\x18\\x3f\\x21\\x34\\x2f\\xe7\\x62\\xb5\\xe6\\x46\\xbb\\xa2\\x8a\\x1e\\x75\\xd3\\x46\\xcf\\xfa\\x69\\x74\\x37\\x2d\\x13\\xda\\x7f\\x6b\\xdc\\x61\\x1c\\x33\\x69\\xb6\\x25\\x8a\\x7e\\xd8\\x5f\\xb1\\xae\\xdd\\xea\\xb3\\x33\\xc9\\x42\\x72\\x39\\xb8\\x64\\xea\\xd6\\x19\\x64\\x91\\xef\\x79\\xe0\\x88\\xce\\xd6\\xf6\\xda\\xab\\x55\\xc6\\x64\\x44\\xd6\\xa0\\x2f\\xda\\xfa\\xaf\\x4e\\x45\\x4d\\x80\\xbb\\x71\\x70\\x06\\x59\\xad\\xee\\x16\\x5f\\x6f\\xff\\x1d\\x6f\\x27\\x7a\\x40\\xdf\\xe0\\xa2\\x7a\\xc0\\xd6\\x9f\\x4c\\xee\\x73\\x93\\x0c\\xf5\\xbd\\x1a\\xd2\\xc2\\xee\\x6e\\xe7\\x8f\\x66\\xe2\\xb3\\x02\\xfc\\x56\\x80\\x8a\\x0a\\x1e\\x71\\xc6\\xbf\\x0f\\xb7\\x69\\xcf\\x80\\xd0\\x7f\\x09\\x74\\x1f\\x89\\xcf\\x49\\x87\\x45\\xd1\\xcd\\x24\\x84\\xac\\x72\\xb3\\x17\\x5a\\x4b\\xdc\\x3e\\xff\\xe5\\x5e\\xa1\\x93\\xef\\xda\\x35\\x3b\\xe8\\x14\\xb9\\xb3\\x87\\xe9\\x05\\x7e\\xf8\\x50\\xfe\\x7a\\x27\\xad\\xf5\\x03\\xb7\\xd8\\x65\\xdf\\x85\\xef\\x03\\x6c\\xed\\xfc\\xba\\x5f\\xe3\\x10\\xd9\\xa9\\x9f\\x7e\\x54\\x5d\\x4b\\x62\\xc9\\x22\\x37\\x2d\\xf1\\xbc\\xe0\\xa6\\x67\\xa8\\xdc\\x99\\xfc\\xa2\\xf0\\x9b\\xe8\\x17\\x5f\\x05\\xe4\\x93\\xa9\\x6e\\xd2\\x55\\x7d\\xc7\\x4d\\xa6\\x32\\xbe\\x1b\\x8e\\xa8\\x87\\xc5\\x97\\xe8\\xe5\\x12\\x3f\\xdf\\x35\\xc2\\x65\\x14\\x0d\\x06\\x13\\x3f\\x39\\x90\\x9f\\x61\\xb0\\x27\\x4f\\x3b\\xff\\x4c\\xdf\\x7f\\x8a\\x3f\\xf4\\xf2\\x96\\x8c\\x98\\x43\\x03\\x33\\x62\\x0e\\x0e\\xcc\\xe8\\x21\\xad\\xda\\x51\\x0b\\xff\\xf0\\xbd\\x1e\\xf5\\xce\\x91\\xde\\x23\\x0f\\xea\\xfb\\x56\\xba\\xbb\\x12\\xa9\\x64\\x38\\x6e\\x38\\x6b\\xa0\\x06\\x25\\x57\\x5a\\x20\\xb5\\x48\\xac\\x59\\xda\\x20\\x6d\\x92\\xb6\\x4b\\xe2\\x28\\x89\\x58\\xf8\\xbe\\x79\\xdc\\x9b\\x91\\x93\\x5f\\xa9\\x6d\\x96\\xc3\\xed\\x28\\x76\\xbe\\x85\\x28\\x86\\xf2\\xad\\x28\\x3f\\xe2\\x4e\\x0c\\x6d\\x1b\\xca\\x63\\xcd\\x80\\x3f\\x1f\\xf0\\x77\\xe9\\xf8\\x39\\x2e\\x27\\x93\\x8f\\xcb\\x67\\xc1\\xb9\\x31\\xe6\\x0a\\x0b\\x04\\x10\\xb8\\x59\\xd8\\x20\\x6c\\x12\\xb6\\x0b\\xe2\\x28\\x81\\xe8\\x41\\xa1\\x74\\x78\\xbe\\x6d\\x1d\\x37\\x04\\xf1\\xb3\\xc5\\x4f\\xe0\\x5e\\x20\\xba\\x9e\\xa6\\x44\\x79\\x3e\\xc4\\x8d\\x40\\xe9\\xcd\\x9a\\xfc\\x2e\\x69\\x07\\xf9\\x14\\xf0\\xa3\\x85\\x04\\xa1\\xc0\\x95\\x1c\\x17\\x61\\x93\\x82\\x83\\x9d\\x8e\\x5c\\xc7\\x74\\xc7\\x02\\xc7\\x29\\x87\\x74\\xca\\x41\\x9a\\x1d\\x1b\\x1c\\x9b\\x1c\\xcc\\xe5\\x18\\xe5\\xa0\\x0e\\x3d\\xe8\\x1a\\x30\\xe1\\x6f\\xf7\\xf1\\x94\\xfb\\x4e\\xf7\\x94\\x30\\xe4\\xdd\\x7a\\xd1\\x2d\\x25\\x63\\x8e\\x52\\xaf\\xb0\\x8a\\x4a\\x3b\\x3a\\x6e\\x2b\\x21\\x75\\xe6\\x6b\\x4c\\x5c\\x36\\xe6\\xed\\x07\\xb2\\x7d\\xac\\xef\\xbf\\x49\\x14\\x2a\\x5d\\xc1\\xf1\\xe1\\x54\\x0e\\x76\\x18\\x5c\\xe1\\xa3\\xc2\\x69\\x38\\xdf\\x81\\xd3\\x2d\\x2d\\xab\\x34\\x5c\\x0e\\x97\\x95\\xd0\\xed\\x06\\x2f\\x68\\x9d\\x85\\x2a\\x4e\\x85\\xf2\\xed\\x38\\x7c\\x33\\x8e\\x78\\x4a\\x21\\xcd\\xca\\x06\\x65\\x93\\xc2\\xf8\\xb6\\x1c\\x7e\\x22\\xa1\\x7f\\x63\\x8c\\xf6\\xa0\\x61\\xa1\\xcd\\x1f\\xf4\\x49\\x3b\\x2d\\xaf\\x90\\x74\\x5a\\x1b\\x72\\xa7\\x63\\xa9\\x63\\x27\\xfc\\x10\\xdb\\x45\\x6b\\xa4\\x64\\x5e\\x0f\\xff\\x3a\\xdf\\x27\\x43\\xbd\\x53\\xa4\\xa3\\x64\\xb1\\x12\\xce\\xdf\\x3a\\x09\\x61\\xcf\\x10\\x22\\x52\\xaa\\x68\\x27\\x4b\\xe6\\xc1\\xba\\x27\\xa7\\x7b\\x2e\\x4b\\x2e\\xc4\\x13\\x8b\\x15\\x12\\x7f\\xbd\\xe3\\xfa\\x7a\\x91\\x58\\xf6\\x4a\\xea\\x2a\\xf9\\xea\\x1b\\xd4\\x77\\xc3\\x48\\x42\\x9c\\xfa\\x95\\xcf\\xde\\x3e\\x00\\xc7\\x96\\xeb\\x24\\x58\\xe8\\xe3\\x4a\\x0d\\xca\\x85\\x35\\xac\\xd4\\x62\\xe4\\xab\\x1e\\xc9\\x49\\x89\\x6f\\x47\\x90\\xd8\\x4c\\xb7\\x53\\x3a\\x8a\\x12\\x0b\\x25\\xbe\\xfd\\x40\\x39\\xb8\\xc4\\x72\\xf0\\xb8\\x37\\xfc\\xe8\\x00\\x7e\\x30\\xb2\\xef\\x00\\x88\\xd3\\xd7\\x39\\xae\\x73\\xbc\\xf5\\x82\\x58\\xb7\\x87\\xfe\\x50\\x2f\\xca\\xf7\\xdd\\xa0\\x6e\\xf2\\x1d\\x03\\x01\\xed\\x50\\x2b\\x3d\\x49\\xbe\\xf2\\xef\\x9b\\x1b\\xe0\\x32\\x53\\xc9\\x24\\x99\\x94\\xb9\\x46\\x62\\x64\\x7c\\x9b\\x93\\x2b\\xb6\\x4b\\xf7\\x52\\xd0\\x35\\x2a\\x7e\\x54\\xc7\\x7d\\x50\\xc0\\x7d\\x61\\xd5\\xc2\\x4c\\x50\\xba\\xf6\\xe6\\x44\\xd3\\x75\\x22\\xd7\\x35\\xb7\\xfb\\xaf\\x52\\xee\\x4f\\x51\\xbf\\xe7\\x1b\\xb0\\xce\\xe0\\x5e\\x28\\x25\\x93\\xef\\xbe\\x52\\xaf\\xd7\\x9f\\x1d\\xd9\\x80\\x6c\\xc7\\xf3\\x90\\x79\\x24\\x40\\xa2\\x98\\x8c\\x26\\xc2\\x24\\xb3\\x14\\xac\\x04\\x09\\x41\\xa3\\x2a\\x70\\xb5\\x17\\x4e\\x2d\\xfa\\xc7\\xee\\x1d\\x4e\\x7c\\xe5\\x5d\\x40\\x0b\\x63\\xc0\\x0f\\xd1\\xce\\x9a\\x37\\x79\\xeb\\xe4\\x46\\x47\\xe3\\xb4\\xad\\xd3\\xe6\\xd1\\x7a\\xf2\\xb6\\x9a\\xb3\\x5a\\x8d\\x25\\xc7\\x05\\xed\\x3c\\x3a\\xef\\xd7\\xe2\\xcb\\x4a\\x57\\x5b\\x1a\\xab\\xe6\\xe7\\xaf\\xd1\\x1b\\x85\\xf7\\xf8\\x19\\x4f\\xca\\x3f\\x89\\x44\\xa6\\x81\\xff\\x13\\x27\\xb2\\xdc\\xfe\\x64\\x5f\\xff\\x53\\xfd\\x69\\x71\\xff\\xf2\\xfe\\xb4\\x3f\\xcd\\xb4\\xa6\\x89\\x8c\\x0a\\x99\\xd9\\x89\\x41\\xa9\\x24\\xb3\\xa0\\xa0\\x40\\xc8\\x2c\\x00\\x45\\x2f\\x2c\\x28\\xf8\\x35\\xbc\\xfb\\x88\\xf8\\xa7\\xe2\\x3d\\x2e\\x7c\\xee\\xc7\\x2b\\x26\\xfb\\x8a\\x4f\\x15\\xd3\\xe2\\xe2\\x72\\x20\\x7f\\x10\\x6f\\x93\\xe0\\xfd\\x53\\xf0\\x76\\x91\\x2b\\xbc\\xef\\x73\\xfd\\x09\\x1f\\x02\\xde\\x44\\x97\\x4b\\x64\\x7b\\x87\\x1e\\x19\\x4a\\x37\\x0c\\xdd\\x3e\\x94\\x36\\x0c\\x6d\\x1e\\x4a\\xcb\\x87\\x56\\x0d\\xa5\\x39\\x43\\x8b\\x87\\x52\\xcb\\xd0\\x84\\xa1\\x74\\xfb\\xd0\\x93\\x43\\x69\\xf1\\xd0\\x72\\x3d\\x2f\\x61\\x28\\x19\\x4a\\xbb\\x6a\\x2c\\xb3\\x7b\\xb6\\x67\\x09\\x4c\\xf1\\x5f\\x41\\x41\\xe7\\x6d\\xe7\\xe3\\x7d\\x9f\\xf0\\xf3\\xff\\x19\\xef\\xc7\\x85\\x77\\xfc\\xbc\\xcb\\x8e\\x94\\xd1\\x0d\\x65\\xdb\\xcb\\x68\\x43\\x59\\x73\\x19\\x2d\\x2f\\xab\\x2a\\xa3\\x39\\x65\\xc5\\x65\\xd4\\x52\\x96\\x50\\x46\\xb7\\x97\\x9d\\x2c\\xa3\\xc5\\x65\\xe5\\x7a\\x5e\\x42\\x19\\x29\\xfb\\x7d\\xbc\\x33\\x2f\\xe0\\xbd\\x49\\xf8\\x84\\x54\\xfd\\x2f\\xf3\\xe6\\xdf\\xc2\\x6d\\xc1\\x7a\\xcf\\x05\\xde\\x69\\xf4\\xc6\\x57\\xb0\\xb7\\x78\\x3f\\xd0\\xac\\x87\\xd1\\x5c\\x27\\xd9\\xe7\\x3c\\xe5\\xa4\\xc5\\xce\\x72\\x27\\x75\\x92\\x60\\x6b\\x1a\\x3f\\x96\\x37\\xd8\\x62\\x30\\x76\\xb4\\x1e\\x1f\\x1e\\x0b\\xbf\\x00\\xef\\x3e\\xef\\xb9\\x3f\\x8e\\xd7\\x89\\x7c\\x8f\\x07\\xc8\\x97\\x48\\xf6\\x25\\x9e\\x4a\\xa4\\xc5\\x89\\xe5\\x89\\x34\\xf1\\x92\\xe4\\x23\\x17\\xe0\\x6d\\xf2\\x9e\\xf8\\xe3\\x78\\xf4\\xad\\x00\\xbc\\x5d\\xd5\\xd8\\x5b\\xbc\\xdf\\x6b\\x56\\xc3\\xe8\\xde\\xcc\\x23\\x99\\x74\\x43\\xe6\\xf6\\x4c\\xda\\x90\\xd9\\x9c\\x49\\xcb\\x33\\xab\\x32\\x69\\x4e\\x66\\x71\\x26\\xb5\\x64\\x26\\x64\\xd2\\xed\\x99\\x27\\x33\\x69\\x71\\x66\\xb9\\x9e\\x97\\x90\\x49\\x32\\x89\\xd9\\x9a\\xc6\\x28\\x11\\xcc\\xe6\\xf6\\x2c\\x03\\x5a\\x4e\\xaf\\x87\\x74\\x01\\xdf\\xfb\\xbc\\x5f\\xfd\\xef\\xf3\\xa5\\x0f\\x5f\\xc0\\xf7\\x71\\xef\\x5e\\x3f\\xdf\\xac\\x23\\x59\\x74\\x43\\xd6\\xf6\\x2c\\xda\\x90\\xd5\\x9c\\x45\\xcb\\xb3\\xaa\\xb2\\x68\\x4e\\x56\\x71\\x16\\xb5\\x64\\x25\\x64\\xd1\\xed\\x59\\x27\\xb3\\x68\\x71\\x56\\xb9\\x9e\\x97\\x90\\x45\\xb2\\x2e\\x9d\\xef\\xe7\\x17\\xf0\\xdd\\xe4\\xdd\\xfd\\xbf\\xcc\\xb7\\xce\\xfb\\x8d\\x18\\x81\\x7c\\x97\\xea\\xe3\\xeb\\xbb\\xda\\x7c\\x22\\x7c\\xe9\\xb7\\x98\\x2c\\xb2\\x2f\\xeb\\x94\\x0e\\x9f\\x45\\xa2\\x35\\x8b\\x89\\x8e\\x0a\\x0b\\xee\\x64\\x7c\\xe5\\x78\\x49\\x9d\\xe0\\xdd\\x47\\x94\\x3f\\x8c\\xd7\\x99\\x7c\\xfe\\xf9\\x04\\xf0\\xb2\\xc9\\xbe\\xec\\x53\\xd9\\xb4\\x38\\xbb\\x3c\\x9b\\x66\\xff\\x41\\xbc\\x4d\\xc2\\x4f\\x7f\\x0a\\x9e\\x7f\\x3e\\x21\\x16\\xad\\xe5\\x28\\xdb\\x5b\\x78\\xa4\\x90\\x6e\\x28\\xdc\\x5e\\x48\\x1b\\x0a\\x9b\\x0b\\x69\\x79\\x61\\x55\\x21\\xcd\\x29\\x2c\\x2e\\xa4\\x96\\xc2\\x84\\x42\\xba\\xbd\\xf0\\x64\\x21\\x2d\\x2e\\x2c\\xd7\\xf3\\x12\\x0a\\x49\\x21\\x89\\xd2\\x5a\\x2e\\x2a\\x8a\\x19\\x7e\\x6d\\x6c\\xe3\\xbc\\xb3\\x3b\\xe1\\x7d\\x1f\\xb1\\xfd\\xff\\xc2\\xbb\\xb3\\x7a\\x3f\\x2e\\x7c\\xef\\xe7\\xdd\\xeb\\x48\\x2f\\xba\\xa1\\xd7\\xf6\\x5e\\xb4\\xa1\\x57\\x73\\x2f\\x5a\\xde\\xab\\xaa\\x17\\xcd\\xe9\\x55\\xdc\\x8b\\x5a\\x7a\\x25\\xf4\\xa2\\xdb\\x7b\\x9d\\xec\\x45\\x8b\\x7b\\x95\\xeb\\x79\\x09\\xbd\\x48\\xaf\\xff\\x96\\xf7\\x26\\xe1\\xdc\\xff\\x3a\\x6f\\xde\\x4f\\x9f\\xc5\\xb9\\x0c\\xfb\\xa9\\x30\\xe7\\xb9\\xe7\\xb9\\x15\\x79\\xbf\\x16\\xb6\\x5a\\x65\\x93\\x39\\x5a\\x10\\xae\\x73\\xd5\\x8a\\xac\\x39\\x62\\x43\\x04\\x2d\\x8f\\x68\\x88\\xa0\\x39\\x11\\xc5\\x11\\x34\\x21\\x82\\x9c\\x8c\\xf0\\x46\\xd0\\xbd\\x11\\x47\\x22\\x68\\x73\\xc4\\xda\\x08\\x5a\\xe5\\xbf\\x66\\x89\\x48\\x88\\xa0\\x78\\xf5\\x48\\x04\\xd9\\x14\\xb1\\x9d\\x17\\xd8\\xc0\\xb3\\xe1\\x5a\\x04\\x25\\x55\\xa1\\xc4\\xc9\\xcf\\x02\\x85\\xd9\\x4e\\x08\\x0f\\xb3\\x86\\xa4\\x82\\x90\\x76\\x5f\\x97\\xce\\xe4\\x62\\x2e\\x6c\\x2c\\xd0\\x24\\xd5\\x45\\x6d\\x84\\x7f\\x05\\x05\\xbf\\x21\\xab\\x62\\x0a\\x16\\xfe\\x21\\xfc\\x3f\\x23\\xad\\x5f\\xb7\\xbb\\x2e\\x90\\x77\\x97\\xe0\\x16\\x76\\xea\\xba\\x5d\\xe2\\x1a\\x2f\\x56\\x65\\x34\\x64\\xd0\\x84\\x8c\\x9c\\x0c\\x6a\\xc9\\x20\\xde\\x0c\\xd2\\x9c\\xb1\\x21\\x83\\x16\\x67\\x94\\xe3\\xdf\\x19\\x6c\\x7b\\x18\\x69\\x80\\x85\\x48\\x18\\x69\\x09\\x23\\x39\\x61\\xc5\\x61\\xd4\\x12\\x46\\xc2\\x60\\xc1\\x11\\x5a\\x15\\x4a\\x41\\xb4\\x16\\x5d\\x3a\\x7b\\x94\\xb3\\x73\\xe9\\x74\\xf1\\x78\\x93\\xfb\\x9a\\xbf\\xe0\\x37\\x64\\xf3\\xe9\\xf2\\xff\\x48\\xba\\x80\\x3e\\x91\\xe9\\xeb\\x13\\xc2\\x1c\\xe1\\x5d\\x2f\\xb6\\x36\\x51\\xb0\\xb5\\xcd\\xa4\\xd0\\xdf\\xda\\x49\\x1b\\x92\\x68\\x79\\x52\\x43\\x12\\xcd\\x49\\x2a\\x4e\\xa2\\x09\\x49\\xe4\\x64\\x92\\x37\\x89\\xee\\x4d\\x3a\\x92\\x44\\x9b\\x93\\xd6\\x26\\xd1\\x2a\\xff\\x35\\x4b\\x52\\x42\\x12\\xc5\\xab\\x47\\x92\\xc8\\xa6\\xa4\\xed\\xbc\\xc0\\x06\\x9e\\x0d\\xd7\\x92\\xa0\\xb5\\x63\\x89\\x93\\x9f\\xe9\\xcb\\x5b\\x3b\\xd1\\x19\\xe7\\xe0\\x12\\xc7\\xc6\\xb0\\xe0\\x4b\\xb0\\xcd\\x0b\\xe5\\x7d\\xa7\\x9d\\xbc\\xc1\\xe4\\x99\\xff\\xc7\\xe5\\xd5\\xf4\\xbb\\x8b\\x3c\\x80\\x16\\x60\\x26\\xf9\\x3e\\x0b\\xe8\\xd1\\xd0\\x83\\x26\\xf4\\xc8\\xe9\\x41\\x2d\\x3d\\x88\\xb7\\x07\\x69\\xee\\xb1\\xa1\\x07\\x2d\\xee\\x51\\x8e\\x7f\\xf7\\x60\\xdb\\x9d\\xa4\\xc1\\x49\\x12\\x9c\\xa4\\xc5\\x49\\x72\\x9c\\xc5\\x4e\\x6a\\x71\\x12\\xbe\\x20\\x8e\\xad\\x8a\\xa5\\x20\\x5c\\x8b\\x2e\\x9f\\x3d\\x25\\xab\\x73\\xf9\\x2e\\x62\\x9f\\xbf\\x25\\x5f\\x30\\xd9\\xf6\\x7f\\x2a\\x5f\\x22\\xf8\\x73\\x8c\\xcb\\xc7\\xdf\\xb4\\x5a\\x65\\x83\\xea\\xec\\x23\\xc4\\xba\\x4c\\x74\\x43\\xf0\\xa6\\x60\\x1a\\x2c\\xa5\\xd1\\x6d\\xc4\\xbc\\xd5\\x10\\x24\\x52\\x8e\\x25\\x64\\x56\\x16\\xc0\\x9a\\xba\\x4c\\x9d\\x28\\x6d\\x96\\x6e\\x13\\xba\\x08\\x45\\xae\\x04\\x47\\x2c\\x8b\\x14\\xbb\\x86\\x24\\x27\\x67\\x3a\\xad\\x55\\x15\\x4e\\x31\\x3c\\x36\\x32\\x9a\\x45\\xda\\x04\\xa5\\xaa\\x42\\x14\\x85\\x18\\x7f\\x18\\x1b\\x58\\xbc\\x17\\xfb\\x63\\xd9\\x05\\x1c\\x1b\\xda\\x9f\\x14\\xda\\xb5\\xb8\\x29\\x21\\x3c\\xec\\x52\\x0c\\x9e\\xd6\\xd9\\x33\\x45\\x8f\\x5e\\x25\\x53\\x99\\x25\\x2e\\xbe\\xab\\xe7\\xb5\\xce\\xd9\\xae\\x89\\x8d\\xa3\\x93\\xaf\\xb0\\xdc\\x79\\xf3\\xb2\\xcf\\xd6\\xdb\\x1f\\xdb\\x7e\\xb0\\xf7\\xb6\\xf0\\x70\\x71\\x26\\xc9\\xbc\\x6f\\xf7\\x6e\\x7b\\x73\\x76\\xcb\\x4b\\xea\\xc4\\xc1\\x23\\xe7\\x66\\x17\\x55\\xbc\\xb6\\x99\\x2e\\x1a\\x3e\\xe0\\x8e\\xfb\\xeb\\x9f\\xac\\x69\\x5d\\x2d\\x96\\x90\\x7e\\xb7\\xd7\\x5c\\xbd\\xe6\\xd0\\xab\\x93\\xaa\\x3c\\x4d\\xc7\\xd5\\x5f\\x96\\xf3\\x7d\\x38\\x20\\xff\\x2e\\x89\\xc7\\x01\\xee\\xeb\\x8a\\x8f\\xb0\\x1a\\x8d\\xd4\\x14\\x22\\x46\\x87\\x87\\x3b\\xac\\xd6\\x90\\x30\\x93\\x85\\x45\\xd8\\x8c\\x21\\x36\\x41\\x9a\\x5e\\x41\\xf9\\xc3\\x2a\\x2e\\xbd\\x76\\x34\\xae\\x4d\\x3f\\x54\\x14\\x0f\\xba\\xe5\\x55\\x48\\x2f\\xe4\\x87\\xc9\\x16\\x13\\x12\\x42\\x78\\xf0\\x15\\xd2\\x9f\\x1f\\xfa\\x06\\xe9\\x95\\xbd\\x86\\x46\\xf6\\x48\\xe8\\xd3\\xc7\\x1a\\xee\\x79\\x2d\\xd2\\xf4\\xd2\\x46\\x62\\x3d\\x40\\xe3\\x44\\xc7\\x4b\\x8f\\xaa\\x87\\x12\\x6e\\x52\\x27\\x86\\xb8\\x0d\\xe3\\xa6\\xce\\x15\\x5f\\xb8\\xbb\\xa4\\x35\\x55\\x5a\\x75\\x7e\\x69\\xdc\\xdd\\x6c\\xef\\x2f\\xbf\\xdc\\xb3\\x9a\\x3f\\xaf\\xb8\\xde\\xfb\\x8d\\xb4\\x16\\x74\\x9b\\x21\\x0c\\x70\\x25\\x8b\\x2c\\x38\\x29\\x29\\x3a\\x26\\x82\\x49\\x5d\\xba\\x26\\x84\\x56\\x55\\x24\\x88\\x61\\x31\\x11\\x51\\x2c\\x82\\x45\\x08\\x51\\x8c\\x6b\\x58\\xb0\\xfb\\x5e\\x4d\\x6b\\xdf\\xd6\\x16\\x15\\x07\\x7e\\xfb\\x22\\x39\\x53\\xac\\xf9\\x78\\xde\\xad\\xbd\\xd0\\xa7\\x62\\x0b\\x49\\xb6\\x15\\x06\\xa8\\x58\\xa6\\x21\\x94\\xde\\xa6\\xb6\\xaa\\x3f\\x6e\\xdf\\xf8\\xf8\\x7b\\xdf\\xf5\\x8a\\xb7\\xdc\\xb5\\x76\\xd9\\xf1\\xf5\\xf6\\xd4\\xed\\x57\\x04\\x6d\\x0b\\x89\\x14\\xa7\\x91\\xc4\\x47\\x5e\\xdf\\x1f\\x39\\x6c\\xe1\\x63\\x5f\\x85\\xfd\\x44\\xe4\\x67\\x36\\x9d\\x21\\xc9\\x77\\x0e\\x77\\xdd\\x79\\x7f\\xdd\\xd6\\xea\\xed\\x74\\xe9\\xc8\\xda\\xab\\x97\\xac\\xde\\xf7\\xfa\\x80\\xdb\\xd4\\xf5\\xa7\\xee\\x1e\\x2e\\x50\\xf5\\x4d\\x61\\x0e\\x19\\xc8\\xe6\\x08\\xc1\\x82\\x43\\xb0\\x6f\\x0e\\x51\\x9e\\x27\\xb1\\x42\\x18\\x54\\xcc\\x01\\x86\\x50\\xcc\\x1f\\xa8\\x68\\x41\\x73\\x30\\x9e\\x40\\x7f\\xc2\\x30\\x42\\x7b\\xb2\\x16\\x16\\x79\\x58\\xe3\\x75\\x55\\x8f\\x2c\\x69\\xbc\\xbe\\x72\\xa3\\x32\\x62\\x46\\xdf\\xc5\\x23\\xa7\\xf7\\xe9\\xc7\\xe6\\x5c\\xbb\\xe8\\xba\\xd6\\xeb\\xff\\xb2\\xb4\\x45\\x5d\\xe5\\x59\\x5c\\xf5\\x9f\\x8a\\xbf\\xcd\\xdc\\x33\\xa9\\x74\\x88\\x40\\xbc\\x83\\x85\\x15\\xc2\\xeb\\xb0\\x6e\\x95\\x85\\xb0\\x2d\\x94\\x12\\xf1\\x39\\xc2\\xa3\\x5c\\xc6\\xe0\\x27\\x77\\x39\\xdd\\x73\\xd3\\xed\\x4a\\x31\\xc9\\x67\\xa3\\x9b\\x3e\\x8a\\xf9\\xbc\\xf9\\xe6\\x15\\xb4\\x62\\xd9\\x4d\\xcb\\x3d\\x0e\\x81\\xa8\\xd7\\x08\\x4d\\x24\\x09\\xe4\\x8b\\x11\\x32\\x5c\\x66\\xc5\\x1e\\x5a\\x15\\xdc\\x00\\x76\\x1e\\x6c\\x0a\\xdd\\x46\\x1c\\x5b\\x48\\x74\\xb4\\xb0\\x8d\\x83\\xe4\\x59\\x8b\\x38\\x4e\\xa5\\x95\\x1f\\x04\\x95\\x5a\\x08\\x36\\xca\\xe5\\xd4\\x02\\xf5\\xf5\\xf4\\xc7\\xbb\\x55\\x12\\x15\\xf5\\x1a\\x6b\\xfe\\x86\\x86\\xba\\xd1\\xbd\\x7b\\xf5\\x1e\\x1d\\xd6\\x5c\\x7a\\xac\\xe1\\x2f\\x95\\x33\\xef\\x9c\\x91\\x40\\xd6\\x85\\x35\\x8d\\x19\\x7b\\x7d\\xdf\\xc2\\x89\\x3d\\xd3\\x73\\x7a\\x15\\x84\\xed\\x69\\x18\\x3f\\x64\\x49\\xcf\\xb1\\x25\\x99\\x2b\\xf8\\xb3\\xe3\\xbb\\x40\\x47\\x4e\\x90\\x21\\x0d\\xda\\x38\\xd2\\x9a\\x9a\\x9a\\x93\\x56\\x9c\\x56\\x9e\\xc6\\xd2\\xd2\\x82\\xe2\\xa3\\x46\\xc5\\x4c\\x8f\\xa1\\x31\\x31\\x51\\xdb\\x48\\xac\\x2b\\xa8\\xc1\\xd0\\x6c\\x58\\x6b\\x60\\x06\\x83\\x14\\xb4\\x8d\\x6b\\x90\\x8b\\x54\\xcc\\xc5\\xca\\xc7\\x50\\x9c\\xfc\\x09\\x30\\xcb\\xeb\\x20\\x97\\x85\\xf0\\x20\\xf8\\x3c\\x3a\\x9e\\x7e\\x4e\\x32\\x3f\\x09\\xb9\\xb0\\xfb\\xce\\xa2\\x9e\\x7d\\x27\\x58\\x6f\\x2a\\x3b\\xd9\\xd8\\x32\\x7f\\x32\\x19\\x34\\xf2\\x6e\\xf7\\xc9\\xde\\x37\\x85\\x96\\x0e\\x1b\\x3a\\x7c\\x44\\xd9\\x65\\x61\\x34\\x67\\x49\\x5a\\xb7\\x82\\x5c\\x65\\x6f\\xf5\\xe8\\x31\\xd5\\x66\\x1a\\x32\\xee\\xb2\\xba\\x15\\xbb\\x22\\xf3\\xfa\\x0d\\xe9\\xd5\\xbd\\xf7\\x5c\\xfe\\xdc\\x50\\x5d\\x2d\\xac\\x20\\xd1\\xa0\\x6f\\x93\\x10\\x2a\\x64\\xba\\xec\\x82\\x28\\x1a\\x9a\\x2d\\x6b\\x2d\\xd4\\xe2\\x32\\x05\\x97\\x5a\\x2c\\x34\\x48\\xe1\\x2d\\x40\\xb5\\x16\\xe0\\x6f\\x5c\\x2a\\xb5\\x78\\x49\\x3c\\xfa\\x48\\x62\\x21\\xe1\\x0f\\xd1\\x98\\x85\\x80\\xdd\\xdd\\x92\\xd0\\x94\\xa0\\xce\\xb6\\x92\\x6f\\x57\\x4d\\x5d\\x18\\x71\\x57\\xb7\\x03\\x76\\xc7\\x59\\x12\\xbb\\x61\\xc3\\x38\\x72\\x46\\xed\\xba\\x90\\x6c\\x28\\xd8\\x1b\\xc1\\xcd\\x45\\x7d\\x51\\xa8\\x27\\x2e\\x36\\x05\\xda\\x29\\xcb\\x15\\xea\\x88\\x8a\\x12\\x65\\xd9\\x66\\x1e\\x65\\x99\\x0e\\x1c\\x2d\\x66\\x6e\\x54\\x0c\\x4a\\x45\\xa3\\x51\\x71\\x7d\\x14\\xe5\\x68\\xec\\x30\\x56\\xaa\\xae\\x89\\x40\\x15\\xf0\\x13\\xe5\\x6e\\x20\\x6f\\x24\\xa8\\x5b\\xf3\\xfb\\xcc\\x98\\x7d\\xc5\\xc6\\xbf\\xfc\\x50\\xe4\\x0e\\x99\\x3a\\xb8\\x64\\x5c\\xa9\\x6b\\x62\\x71\\x0d\\x9b\\xb2\\xe2\\xb1\\xdc\\x2b\\xea\\x5b\\x6e\\x7b\\x2d\\xb5\\xb7\\x6b\\xf4\\xf0\\xbe\\x83\\x7b\\x62\\x9d\\x5f\\x13\\xe6\\x92\\xae\\xe0\\x57\\xf0\\x08\\xfc\\xdd\\x9f\\x4c\\xb2\\xda\\xf9\\xb3\\x4a\\x8b\\x31\\xb8\\xd4\\x6e\\x0f\\x51\\x82\\x5c\\xd6\\xb0\\xd2\\xa0\\x20\\x30\\x70\\x87\\x10\\x0b\\xb2\\xc4\\x6a\\xb2\\x64\\x72\\x59\\x32\\xf9\\xf0\\x90\\xae\\x99\\x78\\x40\\x68\\x2b\\x5d\\xae\\x54\\x5f\\xcc\\x6c\\xc8\\x2b\\x5a\\x72\\x53\\xf5\\xe3\\x8d\\x13\\x96\\x86\\xb7\\x98\\x7b\\x67\\x8c\\x5c\\x1a\\x3b\\xe4\\xda\\xe9\\x57\\x6d\\x55\\xd5\\xd2\\x5e\\x43\\xa7\\xf4\\x2d\\x1a\\x31\\x73\\xee\\x4d\\x4d\\xcd\\xe7\\xae\\x9f\\x34\\xce\\x9e\\xd5\\xad\\xd9\\x3d\\x73\\xc1\\xd4\\x96\\x8d\\x5f\\xf7\\x29\\x9d\\x5d\\x96\\xdf\\x6f\\x22\\x70\\xf4\\x5a\\x84\\xab\\xc8\\x1c\\x36\\x15\\xda\\x24\\x6c\\x8b\\x41\\x92\\x64\\xde\\x02\\x44\\x6b\\x01\\xae\\x8b\\xf4\\xe4\\x9e\\x36\\x7e\\x4e\\x94\\x22\\x53\\xd7\\xc3\\x71\\x4f\\xbf\\xa9\\x4e\\x8e\\xa0\\x83\\xec\\x2f\\x3f\\x75\\xd5\\xed\\xc4\\xf9\\x5c\\xc3\\xf4\\x47\\xd5\\x0f\\x04\\xa6\\x6e\\x84\\x3a\\x66\\x81\\x2d\\x46\\x0b\\xa9\\x42\\x77\\xe8\\x13\\x16\\xbb\\x9c\\x96\\x96\\xe3\\x28\\x76\\x94\\x3b\\x98\\xc3\\x91\\x15\\xcc\\x55\\xed\\xf4\\xf7\\x5f\\xcd\\xea\\x8a\\xf4\\x6e\\x2c\\x2b\\xe1\\xba\\xad\\x61\\x30\\xed\\x02\\x8c\\x09\\x6d\\xf7\\x55\\x8d\\x47\\x71\\x0a\\x08\\x10\\xde\\xa3\\xe9\\xda\\x19\\x93\\xfb\\x0d\\x7f\\xe4\\xf6\\x6b\\x6e\\x6c\\xa8\\x2f\\xec\\xb7\\x61\\x56\\xc9\\xb0\\xcb\\x5c\\xfd\\x47\\x5f\\x66\\x1a\\x3f\\x7a\\xd0\\xd0\\x11\\x93\\x47\\xb0\\x39\\x33\\xc6\\x94\\xd5\\x05\\x31\\x4b\\x79\\x71\\x43\\xcb\\xe5\\x95\\xe5\\xf3\\xc3\\x69\\xd8\\xe8\\x9e\\xd3\\xea\\xd5\\x37\\x5d\\x7d\\xb2\\xba\\x17\\xf6\\xeb\\xd6\\x73\\xde\\xc8\\xe2\\x6e\\xfd\\x46\\x0e\\xc8\\x2b\\x0c\\x6c\\x1b\\x1e\\xe5\\xbf\\xbb\\xcb\\x9c\\x18\\x6a\\x73\\x41\\xc3\\xd8\\x6c\\xc1\\x0a\\x3f\\x78\\xed\\xa9\\x50\\xbd\\x6d\\x62\\xc1\\x80\\x7c\\xc2\\x07\\xb4\\x4d\\xdb\\x28\\xa4\\x0d\\xe1\\x85\\x7a\\x1d\\x02\\x63\\xf8\\x67\\x5c\\xe1\\x9e\\xfa\\xc8\\xe2\\x09\\x2b\\x22\\x96\\xc7\\x4c\\x9e\\xd8\\x14\\x31\\xa4\\xa5\\xf6\\xca\\x2d\\x84\\xf9\\x5a\\x86\\xcd\\x75\\xb7\\xac\\xfd\\xfc\\xea\\x71\\x93\\x1c\\x33\\x6e\\x58\\x39\\xb3\\xa9\\xba\\xf9\\xde\\xb6\\x96\\xe1\\xf2\\xad\\x93\\x9e\\xa6\\x05\\xf8\\xde\\xc5\\x22\\xc4\\xb8\\xcc\\xcd\\x30\\xb4\\xbb\\x18\\x33\\x86\\xb4\\x18\\xb4\\x53\\xe5\\xf3\\x8a\\x72\\x1c\\x7b\\x2a\\xfd\\x87\\xae\\x69\\x2f\\x8a\\x0a\\xf9\\x8b\\xa6\\xf7\\x99\\xda\\x3a\\x9d\\x8e\\x11\\xeb\\x9f\\xa5\\xde\\x3a\\x91\\x84\\xbf\\xa5\\x64\\x9a\\x9f\\x30\\x6d\\x0a\\xfb\\x9f\\xff\\x09\\xc3\\xf7\\xea\\x54\\x0d\\x91\\x9e\\x26\\x49\\x01\\xd8\\x12\\x91\\x5c\\x94\\x5e\\x88\\xcd\\xb4\\xc3\\xca\\xfc\\xd8\\xfb\\xe8\\xf4\\x97\\xd9\\xfb\\xb4\\x57\\x1b\\xb4\\xbc\\xdc\\xf4\\x84\\x59\\xdd\\x10\\x80\\x0d\\x72\\x93\\xfd\\x80\\x6d\\x85\\xf1\\x3b\\xd1\\x15\\x2a\\x1b\\x83\\x99\\xe0\\x3a\\x65\\x20\\x06\\x43\\x78\\x74\\x8b\\x3d\\xc2\\x87\\x5f\\xa9\\x1f\\x5d\\xab\\x75\\x34\\x40\\xcf\\xe3\\xc3\\x38\\x0c\\x42\\xd0\\xdf\\xd3\\x25\\xac\\xc8\\xb0\\xcb\\x06\\x8d\\xed\\x23\\xf5\\xb3\\x8c\\x2b\\xc8\\xcf\\x52\\x8a\\xa3\\x81\\xa9\\xea\\xab\\x4f\\x6e\\x5a\\x5e\\xdf\\xc8\\x91\\xd9\\xb1\\xa1\\xae\\xb0\\x36\\xe6\\x54\\x7d\\x04\\x78\\x57\\x03\\xef\\x28\\xf0\\x4a\\x66\\xb8\\x06\\x85\\x89\\x41\\xe6\\x18\\x33\\x9d\\x62\\x9e\\x6b\\xa6\\x66\\xab\\x22\\x08\\xd1\\x37\\xc6\\xad\\x8f\\x7b\\x24\\x8e\\xc5\\xb9\\xe2\\x12\\x4b\\xe3\\x12\\x33\\x1d\\x53\\x1c\\xf4\\x46\\xc7\\xf3\\x8e\\xaf\\x1d\\xe7\\x1d\\x62\\xb3\\x83\\x4c\\x71\\xcc\\x75\\xd0\\x72\\x07\\x89\\x71\\x64\\x3a\\xfa\\x38\\x98\\xc5\\x41\\xa8\\x43\\xc8\\xa9\\xaa\\xd4\\xfc\\xc6\\xfc\\x3d\\x99\\x95\\x3c\\x9a\\x57\\xfe\\x1e\\x7e\\x3a\\x34\\x7f\\xef\\x94\\x9e\\x76\\xe1\\x9b\\x1a\\x98\\x1f\\x61\\xe2\\x80\\xf6\\x58\\x91\\x3f\\x7c\\x44\\x4a\\x76\\x8f\\xd0\\x29\\x31\\xbd\\xc6\\x17\\xa7\\xb8\\xf0\\x3d\\x4d\\xc8\\xd4\\xb8\\x5e\\x63\\xf6\\x3c\\x70\\x2f\\xfb\\xe6\\xd5\\xad\\xf4\\xef\\x72\\x7d\\x5a\\x6a\\x72\\xc6\\xa8\\xa1\\x5d\\xf0\\x4d\\xcd\\xb8\\x21\\xe9\\x0b\\x06\\x9a\\xd7\\xac\\x35\\x69\\xed\\x7f\\x10\\xea\\x32\\x08\\xdb\\xc8\\xc6\\x4f\\xc7\\x6b\\x11\\x08\\x7f\\xd1\\x46\\x85\\x60\\x79\\x14\\x9b\\xce\\x83\\x2a\\x87\\x3a\\x4d\\xfb\\x4c\\x74\\x9f\\xe9\\x13\\xd3\\x29\\x13\\x73\\x99\\x46\\x99\\xa6\\x9b\\x98\\x89\\x9f\\x0e\\x97\\xdd\\xbd\\x94\\xff\\xde\\x1a\\x9e\\x58\\x6a\\x92\\x85\\x9c\\xdd\\xfc\\x14\\xba\\x46\\x50\\x79\\xa3\\xad\\x08\\x24\\xe7\\xaf\\x24\\xf8\\x29\\xc1\\x91\\x60\\xaf\\xf9\\x7a\\x58\\x02\\xb9\\xdf\\x51\\x76\\x72\\x15\\x2d\\xbc\\x7a\\xed\\x5c\\x36\\x7d\\xdc\\xd8\\x45\\xf1\\x73\\x67\\x80\\xcd\\xdc\\x62\\xfa\\x74\\x75\\x53\\x49\\x61\\xaf\\x81\\xbf\\x74\\x26\\x8f\\x44\\xf8\\x7b\\x45\\x2a\\x81\\x3c\\x74\\x3a\\x85\\x7f\\xa1\\x4e\\xe3\\x3e\\x23\\xdd\\x67\\xfc\\xc4\\x78\\xca\\xc8\\x5c\\xc6\\x51\\xc6\\xe9\\x46\\x66\\xd4\\xe5\\x31\\xea\\xf2\\x18\\x41\\x9e\\x3d\\x17\\xc8\\x83\\x56\\xc6\\x02\\xe5\\xa9\\xa6\\xab\\xde\\x62\\x9f\\x86\\x05\\xc8\\x23\\xdf\\x6e\\xba\\xc5\\xac\\xde\\xe8\\x13\\xa8\\x4d\\x9e\\x50\\x21\\x4e\\xe8\\xe6\\xb2\\xc6\\x86\\x1b\\xcc\\x8a\\x62\\x15\\x5c\\xd6\\xa8\\x52\\xc1\\x15\\x4e\\xf8\\xdb\\xb9\\xa7\\xc2\\xa3\\x4a\\xc3\\xa3\\xac\\x60\\x72\\x1f\\x66\\x56\\xee\\xce\\xb4\\xf2\\x17\\x86\\xa1\\x3b\\x7d\\x63\\x0f\\x4c\\x6a\\x7e\\x9b\\x0b\\xe4\\x1d\\x76\\xd9\\xa0\\x49\\xe5\\xc9\\xa6\\xb1\\x3d\\xb8\\xd5\\xd9\\xae\\x5d\\x13\\xa0\\x92\\xac\\xb4\\x82\\x7e\\x85\\x9a\\xd5\\xf9\\x25\\xe1\\xba\\x79\\x43\\xb7\\xbb\\x20\\x18\\xe7\\x0b\\x5c\\xf1\\x71\\xd6\\xa8\\x30\\xb3\\xd9\\x28\\x8a\\x51\\x4e\\xe7\\x27\\x51\\xa7\\xa2\\x68\\x43\\xd4\\x86\\xa8\\x4d\\x51\\xcc\\x15\\x45\\xa2\\x14\\xdf\\xeb\\x4b\\x7e\\x72\\x22\\xc6\\x88\\xd3\\xc2\\x54\\xf9\\x24\\x00\\x01\\xd2\\x7d\\x07\\x98\\x06\\x9a\\x55\\xf4\\x9c\\xc6\\xf1\\xf2\\x88\\x81\\xd7\\x67\\x8d\\x1f\\x91\\x95\\x3c\\xa0\\x6f\\x51\\x4c\\x79\\xfc\\x94\\x88\\xc2\\xf1\\xfd\\x52\\x06\\xf4\\x2d\\x74\\xe4\\x76\\x37\\x4f\\x8d\\x29\\x18\\x2d\\x3d\\x5d\\x3f\\x2d\\x23\\x73\\xec\\xeb\\x87\\xed\\x11\\xf6\\xbe\\xc5\\x7d\\x9c\\xf0\\x2b\\x21\\x6e\\x50\\x61\\x3c\\xca\\xd8\\x2c\\x6e\\xa6\\x89\\x72\\x1a\\xf6\\xf9\\x48\\x97\\x51\\xe0\\x9f\\x28\\x86\\xb4\\x04\\x19\\xb0\\x43\\xf2\\xf7\\x72\\x7b\\x3a\\x19\\x4b\\x4a\\x2f\\x18\\x4b\\xe4\\xb4\\xf6\\x63\\x89\\xe7\\x27\\x71\\x33\\x09\\x69\\xc3\\xe5\\x1f\\xfe\\x50\\xa5\\x25\\xd8\\x14\\x88\\xab\\x8d\\x23\\x91\\x3c\\x92\\x18\\x22\\x7f\\x8e\\xe3\\xc8\\x6b\\x6f\\x3d\\x22\\xd6\\xbd\\x40\\x5b\\xeb\\x45\\xa9\\x09\\x46\\x91\\xb1\\xea\\xf7\\x1c\\x96\\xcb\\xba\\x12\\x30\\xbf\\x92\\x17\\xeb\\x63\\x88\\xc5\\x20\\x05\\x6f\\x80\\xe1\\x0f\\xda\\x4c\\x76\\xb4\\xc0\\xec\\xee\\x43\\xde\\x5d\\xa9\\x1d\\xa9\\x9d\\xe7\\x3b\\x4b\\x9b\\x5c\\x30\\x86\\xf4\\x7b\\x6c\\xc2\\x28\\x65\\x8a\\xad\\x6f\\xb7\\x92\\x7e\\x45\\xa6\\xb2\\x0c\\x56\\xff\\x1c\\xac\\xa8\\x18\\xaf\\xc7\\xe2\\x59\\x05\\x43\\x4d\\x69\\xd3\\x98\\x23\\xa6\\x8b\\x7d\\x54\\x94\\x3a\\xca\\x5f\\x25\\xe0\\x7f\\x0d\\xf0\\xaf\\x97\\x4f\\xf2\\x78\\x08\\x42\\xb2\\x2b\\x34\\x24\\x26\\x3e\\xc2\\x96\\x6b\\x22\\x26\\x93\\x24\\x0b\\x2d\\x06\\x51\\x1f\\xc3\\xa0\\x19\\xf3\\xf7\\xa0\\x04\\xcc\\x5f\\x33\\xd2\\xe9\\x98\\x50\\xfb\\xd6\\xa3\\x62\\x0d\\xd4\\x74\\x9e\\x48\\x3c\\x3d\\xf8\\xa8\\xd0\\xc9\\xdb\\x5b\\xe9\\x80\\x56\\x7f\\x52\\xc7\\x07\\x85\\xc0\\xd7\\xb7\\x54\\xdd\\x06\\xf2\\x2c\\xc2\\x78\\x00\\x56\\x21\\xec\\x19\\x2a\\x49\\x16\\x63\\x8b\\x59\\xd6\\xc2\\x8a\\xe5\\x69\\x27\\x4f\\xf3\\x93\\xff\\xd1\\x88\\xc2\\x90\\x27\\xad\\x66\\x44\\xe4\\x41\\x00\\x7a\\x5f\\x7f\\xdb\\xe2\\x67\\xa7\\x2f\\x8b\\x5f\\x3c\\x4f\\x0b\\x07\\xa0\\x3e\\xf3\\xaf\\xbf\\xdd\\x39\\x7c\\x84\\xfa\\x96\\xa0\\xe3\\x8e\\xf6\\xe3\\x82\\x43\\xd4\\x11\\xd7\\x8e\\x11\\x0a\\x02\\x71\\xa9\\xfa\\xb5\\xb4\\xf7\\x69\\x76\\x6f\\x00\\x2c\\x0f\\x5b\\x10\\x00\\x0b\\xb8\\x4f\\x02\\xee\\x30\\x9c\\x03\\xe2\\x84\\x7c\\x57\\xbc\\x64\\x30\\x84\\x06\\x97\\x0b\\x55\\x42\\x03\\x38\\x5d\\xb2\\x1c\\x93\\xcb\\x5f\\x9f\\xe7\\x86\\x9f\\x0a\\xa7\\xe1\\x2d\\x51\\x36\\x64\\x07\\x03\\x42\\x5e\\x0e\\xb4\\x27\\x0c\\x0b\\x38\\xbb\\x5e\\xd0\\xa2\\x01\\x22\\x74\\x3d\\xb8\\x60\\xaa\\xa1\\x21\\xa2\\xac\\x70\\xcc\\xd0\\x32\\x73\\x55\\x88\\x5f\\x12\\x25\\xb3\\xa5\\x78\\x6a\\x50\\xc6\\x7c\\x96\\x92\\x92\\x15\\x55\\x1d\\xef\\xb9\\xae\\x4d\\x24\\xbf\\x0e\\x4f\\xa2\\x2f\\x06\\x36\\x65\\x15\\xc3\\xcc\\x06\\x41\\x48\\xe2\\xcb\\xde\\x96\\x84\\x68\\x14\\x02\\x47\\x77\\xad\\x45\\x3b\\x1f\\xdb\\x03\\x15\\xf1\\xd7\\x8b\\x35\\xe4\\xcf\\x7e\\x81\\xe4\\xec\\x0e\\x4d\\xa9\\x5e\\xeb\\x13\\x89\\x08\\x87\\xe5\\x9e\\x64\\x0f\\x8e\\xa7\\xf1\\x2e\\x8b\\x48\\x78\\xe0\\xc8\\x72\\x61\\x83\\x40\\x4f\\x69\\x1f\\x51\\x2c\\x74\\xec\\xb1\\x6a\\xc7\\xc8\\x12\\xde\\x75\\x14\\x72\\xd5\\x3f\\x95\\xbd\\xb1\\xb2\\xdc\\x73\\x5f\\xea\\xc1\\x44\\xbe\\xce\\xdb\\x02\\xf7\\xff\\xe8\\xbb\\x5f\\x60\\xb2\\xc2\\x2e\\x72\\x3f\\x8f\\x1d\\x60\\x21\\x5b\\xe4\\xf9\\x7b\\x95\\xd3\\x72\\xcf\\xc4\\x83\\xa9\\xfb\\x30\\xe6\\xcf\\x99\\xc0\\xb8\\x4f\\x3c\\xde\\x17\\x8f\\xfb\\xc4\\xe3\\x84\\x79\\x79\\x30\\xf7\\x0b\\xe3\\x3f\\xb5\\x2f\\xaf\\x97\\xeb\\x24\\x26\\xd5\\x29\\x9a\\xca\\xca\\x04\\xd3\\x56\\x22\\xd8\\x89\\x5d\\xb0\\x62\\xbc\\xa6\\x8e\\x65\\xbe\\xa0\\x05\\x2c\\x53\\x88\\x76\\x85\\x50\\x22\\x84\\x12\\xca\\xc3\\x22\\x85\\xe9\\x61\\x91\\x0a\\x84\\x4a\\xed\\xf9\\xfb\\x73\\x6a\\x33\\x8f\\x31\\x64\\x4b\\x33\\x9c\\x41\\x7e\\x5f\\x6a\\xf1\\xc3\\x20\\x7f\\x45\\xbb\\xfc\\xef\\xe8\\x6a\\x3d\\xff\\x81\\x76\\xf9\\xdf\\xd2\\x1b\\x3b\\x8b\\xe3\\x76\\x69\\xf1\\xc7\\x04\\x59\\x0d\\x53\\x9b\\x49\\x1f\\xef\\x77\\x30\\xa6\\x73\\x0f\\x31\\x47\\xe8\\x23\\x14\\x0b\\x85\\xae\\xd8\\x98\\xc4\\x44\\xf0\\x8e\\x85\\x22\\xe2\\x2a\\xba\\xb7\\x88\\x16\\xa5\\x87\\x5b\\x2c\\xe9\\x46\\xc6\\xd2\\xfb\\xf7\\xcf\\x4e\\xc7\\xb3\\xed\\xad\\x7a\\x88\\x9b\\xd0\\xdd\\xdc\\x4b\\x80\\xb1\\x3e\\x3f\\xb7\\xbb\\xd4\\xc3\\xbf\\xa2\\x48\\x2b\\x0c\\x48\\x2b\\x01\\xe9\\xd4\\x8b\\xe4\\x2b\\xf6\\x7c\\xa6\\x86\\x75\\x73\\x26\\x75\\xeb\\x96\\xe4\\xec\\xf6\\x99\\x2f\\x71\\xa7\\x2f\\x41\\xfb\\x67\\x6b\\xa9\\xec\\x4c\\x9e\\xe8\\x9e\\xe4\\xec\\xba\\xa3\\xef\\xfc\\xbe\\xd3\\x9d\\xdd\\x7c\\x25\\xf0\\xf7\\x26\\xfd\\xf7\\x99\\x0e\\x7f\\xa7\\x90\\x29\\xea\\xbf\\x04\\x41\\x54\\x09\\xd4\\xd7\\x0a\\xf5\\x65\\xdc\\x27\\x14\\x12\\x84\\x2e\\xae\\xf0\\x84\\x04\\xbb\\x10\\x4d\\x5c\\xd1\\xf7\\x46\\xd3\\x68\\x85\\x87\\x3b\\x8e\\x8f\\x0f\\x56\\xfc\\x95\\xd4\\x2b\\x08\\xb5\\x83\\x15\\xc2\\xaf\\x4a\\x4f\\xc2\\x48\\x69\\x38\\xc9\\xf4\\xc9\\xe3\\x4f\\x70\\x39\\xef\\x9b\\x37\\xef\\xb2\\xce\\x45\\x0a\\x90\\x49\\x11\\xec\\x20\\x51\\x32\\x8c\\x25\\x8e\\xe4\\xe4\\x48\\x21\\x8e\\xb8\\xe2\\xee\\x8d\\xa3\\x71\\x41\\x2e\\x22\\xcb\\x4a\\x8b\\x28\\x06\\x25\\x25\\x59\\x83\\x7c\\x82\\x39\\x76\\x17\\x59\\x79\\xe0\\x55\\x5d\\x3a\\x52\\x88\\xdf\\x7a\\xfc\\xba\\x84\\x15\\x11\\xf3\\xb9\\x8c\\x73\\x22\\xc9\\xa3\\x9d\\x4a\\xa9\\x7e\\xd3\\x38\\x6f\\x5e\\xe3\\xd6\\xce\\x05\\xa5\\x42\\x90\\xf7\\x1b\\x71\\x89\\x1c\\x03\\x52\\xe6\\x42\\xd7\\xec\\xd9\\x8d\\xa6\\x87\\x30\\x45\\xe6\\xc3\\x46\\x7f\\xca\\xec\\x11\\x91\\xf1\\x54\\x09\\x61\\xc9\\x30\\xad\\x17\\xf6\\x67\\x85\\xac\\x30\\x45\\x52\\xd2\\x98\\xd3\\x66\\xcb\\x2e\\x0a\\x1f\\x79\\xfb\\xca\\xa9\\xf6\\x50\\xa5\\xa0\\x7a\\xc4\\xe8\\xab\\x2a\\xfa\\xbc\\xf2\\xd5\\xe0\\xa0\\xf4\\xbc\\xd0\\xf0\\xc8\\xd9\\xb7\\xef\\x58\\xd4\\xf8\\xe0\\xcc\\x98\\xe8\\xc8\\x86\\xf5\\x2f\\xcd\\x3e\\x1c\\x4d\\xb6\\x93\\x98\\xd8\\x77\\xc8\\xbb\\xe3\\x6f\\x5e\\x34\\x21\\xc6\\x31\\xba\\xf1\\x96\\x29\\xc3\\xaf\\x99\\x5e\\xd8\\xb3\\xea\\x1a\\xf6\\x6f\\xf5\\xc5\\xe9\\xd6\\xde\\xd7\\x6d\\x98\\x31\\xff\\xe9\\x6b\\x4a\\x4b\\x9a\\x9f\\x59\\xb4\\xe0\\x89\\xeb\\x67\\x24\\x92\\xde\\x4b\\x5f\\x18\\x77\\xed\\x58\\x2e\\xdb\\x04\\xef\\xb7\\xf2\\xad\\x52\\x05\\xb4\\x6b\\x77\\x90\\x0d\\x54\\x21\\x31\\x7d\\x7d\\x52\\x68\\xe7\\xa1\\xdc\\x93\\x61\\xe1\\x95\\xac\\xad\\x64\\x7c\\x51\\x1a\\x79\\xbe\\xaf\\x08\\x49\\x88\\x96\\xa6\\x46\\x7b\\x6e\\xb9\\x2a\\x7a\\xf8\\x84\\xa6\\xc7\\x62\\x96\\x6c\\x79\\x30\\xcc\\xbe\\x31\\x5c\\x61\\x43\\xd7\\xcd\\x5a\\xfe\\xd7\\x90\\x51\\xf7\\xcd\\xb9\\xfe\\xe6\\xf0\\xe6\\x27\\xf1\\xea\\xa3\\xb1\\x4b\\xc4\\x77\\xaf\\xbe\\xfa\\x6e\\xcf\\x75\\x4b\\x0b\\x87\\x95\\xff\\xfb\\x5e\\x3a\\xb5\\xf5\\xb1\\x2a\\x77\\xd0\\xea\\x2e\\x8d\\x93\\x97\\x2e\\x6c\\xae\\xe7\\x31\\xe1\\xe9\\x1a\\xed\\xe2\\x8e\\x7b\\x69\\x95\\x26\\x9b\\x58\\x86\\xb2\\x25\\x04\\xc8\\xd6\\x89\\x68\\x5c\\x28\\x92\\x1f\\x4d\\xcf\\x45\\x7b\\x1a\\xf5\\x68\\xf3\\x5b\\x75\\x41\\xb4\\x40\\xf4\\xcd\\x1a\\xe7\\x2b\\x31\\xd8\\x3c\\x9d\\xa6\\x33\\xd6\\x02\\xd1\\xf3\\x80\\x84\\x7c\\xc4\\x14\\xc2\\x52\\x04\\xc2\\x2a\\x60\\x18\\x30\\x1a\\x22\\x80\\x67\\x8a\\x77\\x2b\\xd0\\xbe\\x30\\x22\\x30\\xd6\\x87\\xa7\\xd9\\x00\\x4c\\x97\\x60\\x7a\\x08\\xd2\\x91\\x98\\x33\\x11\\x69\\x25\\xd0\\x30\\x21\\xcc\\x5b\\x07\\x33\\x08\\x83\\xab\\x29\\x42\\x21\\xa6\\x8b\\xbc\\x6b\\x81\\xf6\\x86\\xab\\x29\\x80\\xc6\\x73\\x2a\\x30\\x3d\\x19\\xe9\\x54\\xb0\\xdf\\x14\\xe5\\x38\\x94\\xef\\x02\\x77\\x1d\\x06\\x6a\\x51\\x7f\\x06\\x6a\\x45\\x9a\\x02\\xe5\\x73\\x30\\x3f\\x07\\xd1\\x72\\x10\\x2d\\x07\\xd0\\xb6\\x02\\xed\\xeb\\x2d\\x01\\x3a\\x95\\x5f\\x05\\x84\\xb5\\x42\\x3e\\xf2\\xcd\\x47\\x84\\x7c\\x44\\xc8\\x47\\x84\\x02\\xb8\\xf7\\x30\\xd0\\x22\\xa4\\xbd\\x91\\xf6\\x85\\x92\\x85\\x82\\x05\\x10\\x0a\\x85\\x50\\xa4\\x56\\xa4\\x71\\x50\\xbe\\x50\\x88\\x47\\x9a\\x82\\x34\\x0f\\xca\\x17\\x0a\\x25\\x78\\x75\\x30\\xd2\\x52\\xa4\\xc3\\x41\\xf2\\x42\\x18\\x3f\\x79\\x7a\\x3c\\x96\\x9c\\x80\\xe9\\x49\\x98\\x9e\\x8c\\x74\\x2a\\xd0\\x22\\xe0\\xc2\\x69\\x28\\x70\\x2c\\x02\\x2e\\x3c\\x1d\\x07\\x98\\x45\\xc0\\x85\\xd3\\x14\\x90\\xbc\\x48\\x28\\xc1\\xab\\xa5\\x48\\x87\\x63\\xfe\\x18\\x4c\\x8f\\xc7\\xf4\\x24\\xa4\\xbc\\xa6\\xbd\\x01\\x6d\\x2b\\xd0\\x50\\x4c\\x5b\\x31\\x9d\\x82\\xe9\\x12\\xa4\\xa5\\x48\\xb9\\x6c\\x7d\\x51\\x6f\\x7d\\xb1\\x8e\\x7d\\xa1\\x7c\\x1d\\x50\\x2b\\xa6\\xe3\\xe0\\xae\\xbe\\xc0\\x9d\\x53\\xce\\xbd\\x2f\\xdc\\xcb\\xaf\\x96\\x62\\x7a\\x38\\xde\\x35\\x06\\xd3\\x63\\x91\\x8e\\x43\\x3a\\x09\\xcb\\x57\\x00\\x1d\\xaa\\x1c\\x17\\x86\\x0b\\xe3\\x01\\x79\\x2d\\x50\\x2e\\xc9\\x78\\x94\\x64\\x3c\\xe6\\x57\\x60\\x7d\\x2b\\xb0\\xa6\\x93\\xb1\\xcc\\x64\\x48\\xaf\\x15\\xa6\\x62\\xfe\\x54\\x9e\\xcf\\xfa\\xf0\\x96\\x62\\x7d\\xd8\\x30\\xef\\xdf\\x81\\x8e\\x41\\x3a\\xc1\\x5b\\x04\\x74\\xa2\\xfa\\x33\\xd0\\x49\\xde\\x1b\\x80\\x56\\x62\\xba\\xd6\\x7b\\x18\\x68\\x03\\xd2\\xe5\\x40\\x5d\\x60\\x6f\\x37\\x03\\xad\\x04\\x3a\\x80\\x0d\\x14\\x0e\\x01\\x05\\xf9\\x81\\x0e\\x41\\x3a\\x12\\xe9\\x34\\xef\\x5a\\xa0\\xd3\\xa1\\xfc\\x00\\x36\\x03\\x69\\x35\\xe6\\xcc\\x42\\x5a\\x8f\\x39\\x73\\x91\\x5e\\x8e\\x74\\x3e\\xd2\\x85\\x78\\x75\\x31\\xd2\\x65\\x48\\xaf\\x12\\xe6\\x00\\x5d\\x09\\xe9\\xcb\\x90\\xef\\x65\\xc8\\xb7\\x04\\xe5\\x2f\\x41\\xf9\\x4b\\x50\\xfe\\x12\\x94\\xbf\\x04\\xe5\\x2f\\x41\\xf9\\x4b\\x50\\xfe\\x12\\x94\\xbf\\x04\\xe5\\x2f\\x41\\xf9\\x4b\\xb8\\xb5\\xb3\\xc1\\x60\\xa5\\xe7\\x80\\x5a\\x39\\x85\\x5a\\xbc\\x0d\\xb4\\xc4\\xdb\\x0f\\xe8\\x10\\xa4\\x23\\x91\\xce\\xf5\\xde\\x0b\\xf4\\x2a\\x61\\x1a\\x1b\\x82\\x1c\\x87\\x20\\xc7\\x21\\xc8\\x71\\x08\\x72\\x1c\\x82\\x1c\\x87\\x20\\xaf\\x61\\x80\\xf0\\x25\\xd0\\x21\\x48\\x47\\x22\\xe5\\x32\\x0f\\x43\\x99\\x47\\xc0\\xbd\\xf7\\x00\\x1d\\x83\\x74\\x92\\xf7\\x1a\\xa0\\xd3\\xbc\\x9f\\x03\\xad\\x46\\x3a\\x0b\\x69\\x1d\\xd2\\x39\\x48\\x17\\x20\\x5d\\x88\\x74\\x31\\xd2\\x65\\x48\\xaf\\x44\\xba\\x12\\x69\\x0b\\xd0\\x91\\xdc\\xd2\\xd8\\x48\\x94\\x6d\\x24\\xca\\x36\\x12\\x65\\x1b\\x89\\xb2\\x8d\\x44\\xd9\\xc6\\xc0\\x18\\xf2\\x25\\xd0\\x12\\xa4\\x43\\x90\\x8e\\x44\\xca\\x25\\x1c\\x83\\x12\\x8e\\x43\\x9d\\x8c\\x43\\x9d\\x8c\\xc3\\x36\\x1d\\x87\\x6d\\x3a\\x0e\\xdb\\x74\\x3c\\x5b\\xe2\\x7d\\x89\\x4d\\x00\\x2b\\x1a\\x0c\\x34\\x14\\xa9\\x15\\x29\\xf4\\x59\\xa0\\xf1\\x9c\\xa2\\x3d\\x4c\\xc0\\x7b\\x27\\xe0\\xbd\\x13\\x40\\xaa\\xc3\\x40\\x47\\x62\\x7a\\x0c\\xa6\\x27\\x21\\x9d\\x82\\x74\\x1a\\x47\\x60\\x55\\x48\\x67\\x62\\x99\\x6a\\x4c\\xd7\\x7a\\x1f\\x06\\x3a\\xcb\\xfb\\x02\\xd0\\xd9\\x98\\x53\\x8f\\x57\\xe7\\x7a\\x4f\\x01\\x9d\\x8f\\xe9\\x06\\x2c\\xb3\\x10\\xaf\\x2e\\x46\\xba\\x14\\xf3\\x97\\x61\\x7a\\x39\\x5e\\xbd\\xc2\\x3b\\x01\\x28\\x6f\\xc1\\x09\\x6c\\x05\\x5e\\x5d\\x89\\x57\\x9b\\x21\\x3d\\x11\\xeb\\x32\\x91\\xf7\\x4d\\xa0\\x56\\x4c\\x43\\xdf\\x04\\x1a\\xcf\\x29\\xd6\\x65\\x22\\xd6\\x65\\x22\\xd6\\x65\\x22\\xd6\\x62\\x22\\xda\\xf6\\x44\\xb4\\xed\\x89\\x68\\xdb\\x13\\xd1\\xb6\\x27\\xa2\\xa5\\x4d\\x44\\x0b\\x9f\\x88\\x16\\x3e\\x11\\x2d\\x7c\\x22\\x5a\\xf8\\x44\\xb4\\xf0\\x89\\x68\\xe1\\x13\\xd1\\xc2\\x27\\xa2\\x85\\x4f\\x44\\x0b\\x9f\\x88\\x16\\x3e\\x09\\x78\\x3d\\x01\\x94\\xb7\\xc8\\x24\\x6c\\x91\\x0a\\x68\\xeb\\xc3\\x40\\x5b\\x80\\x4e\\x06\\xbe\\x87\\x80\\x56\\x23\\x9d\\x85\\x74\\x21\\xd2\\xc5\\x48\\x97\\x21\\xbd\\x12\\xe9\\x4a\\xa4\\x2d\\x40\\xa7\\x20\\xda\\x14\\x44\\xab\\xc4\\x1a\\x55\\x62\\x8d\\x2a\\xb1\\x46\\x95\\x58\\xa3\\x4a\\xac\\x51\\x25\\xd6\\xa8\\x12\\xeb\\x52\\x89\\xb5\\xa8\\xc4\\x5a\\x54\\x62\\x2d\\x2a\\xb1\\x16\\x95\\x58\\x8b\\x4a\\xac\\x45\\x25\\xd6\\xa2\\x12\\x6b\\x51\\x89\\xb5\\xa8\\xc4\\x5a\\x54\\xb1\\x26\\xef\\x1b\\x6c\\x16\\x6a\\x63\\x16\\x6b\\xf4\\x1e\\x00\\xba\\x04\\xe9\\x72\\xef\\x6b\\x6c\\x36\\x5e\\xad\\x03\\x8e\\xff\\x00\\x5a\\x05\\xbd\\xa0\\x0e\\xf8\\xae\\x01\\x5a\\x8d\\x39\\xb5\\x50\\xa6\\x0e\\xb8\\x73\\x3a\\x1b\\xaf\\xd6\\xe3\\xd5\\x39\\x98\\x33\\x17\\xd3\\x0d\\x98\\x5e\\xe8\\x2d\\x06\\xda\\xe8\\xbd\\x11\\xe8\\x62\\xbc\\x77\\x09\\xa6\\x97\\xe2\\x5d\\xcb\\x30\\xe7\\x4a\\xa4\\x57\\x09\\x0b\\x81\\xae\\xc4\\x74\\x33\\x5e\\x6d\\x81\\xf4\\xe5\\xd8\\xfb\\x2e\\xc7\\xde\\x77\\x39\\xf6\\xbe\\xcb\\xa1\\xf7\\xbd\\x06\\x74\\x01\\xd2\\x85\\x98\\xd3\\x84\\xe9\\xc5\\x98\\x5e\\x86\\xf4\\x4a\\xa4\\x2b\\x91\\xf2\\xde\\x37\\x0f\\x70\\x8e\\x01\\x9d\\x09\\xbd\\x63\\x1e\\xa0\\xf1\\xf4\\x2c\\xa4\\x75\\x48\\x17\\x20\\x5d\\x88\\xb4\\x09\\xe9\\x62\\xa4\\x4b\\xb1\\xfc\\x32\\xef\\xfb\\x40\\xaf\\xc4\\x9c\\x15\\x98\\xb3\\x12\\xd3\\xcd\\x98\\x6e\\x81\\xf4\\x02\\xc4\\x5f\\x80\\xc8\\x0b\\x10\\x79\\x01\\x22\\x2f\\x40\\xe4\\x05\\x88\\xbc\\x00\\x91\\x17\\x20\\xf2\\x02\\xc0\\xe4\\x94\\xe3\\x2c\\xc4\\x56\\x58\\x08\\x5a\\xe2\\xe9\\x25\\x48\\x79\\x2b\\x34\\x22\\x66\\x23\\x62\\x36\\x22\\x66\\x23\\x62\\x36\\x22\\x5a\\x23\\xa2\\x35\\x22\\x5a\\x23\\xa2\\x35\\xa2\\x84\\x8d\\x28\\xcf\\x22\\x6c\\xd3\\x45\\xd8\\xa6\\x4b\\x10\\x67\\x09\\xe2\\x2c\\x41\\x9c\\x25\\x88\\xb3\\x04\\x71\\x96\\x20\\xce\\x12\\xc4\\x59\\x82\\x38\\x4b\\x10\\x67\\x09\\xe2\\x2c\\x43\\xd9\\x96\\x21\\xda\\x32\\x44\\x5b\\x86\\xb2\\x2d\\x07\\xcc\\x8f\\x80\\x56\\x23\\x9d\\x85\\xb4\\x0e\\xe9\\x42\\xa4\\x4d\\x48\\x17\\x23\\x5d\\x86\\xf4\\x4a\\xa4\\x2b\\x91\\xb6\\x00\\xbd\\x12\\x91\\xaf\\x44\\xe4\\x2b\\x11\\xf9\\x4a\\x44\\x5e\\x89\\xf9\\x2b\\x31\\x7f\\x25\\xe6\\xaf\\xc4\\xfc\\x16\\xcc\\x6f\\xc1\\xfc\\x16\\xcc\\x6f\\xc1\\xfc\\xad\\x30\\x3e\\xe4\\x03\\xb5\\x22\\x9d\\x07\\xb6\\xb7\\x55\\x58\\x01\\xf4\\x39\\x98\\x41\\xe2\\xd8\\xf3\\x40\\xcb\\xd8\\x2b\\xec\\x35\\x21\\x12\\xe8\\x2e\\xef\\x83\\x40\\xf7\\xc2\\xd5\\x57\\xd8\\x3e\\xef\\xdb\\x40\\xf7\\x63\\xfa\\x00\\xdc\\xfb\\x0a\\x3b\\x88\\x25\\x0f\\x79\\x1f\\x00\\xfa\\x1e\\xa6\\x3f\\xc6\\xf4\\x51\\x18\\x81\\x5f\\x61\\x27\\x90\\x9e\\x44\\xfa\\x3d\\xd2\\xb3\\x48\\x7f\\xe0\\x14\\xb8\\x4c\\x67\\xaf\\xb2\\x57\\x60\\x24\\x7c\\x95\\xbd\\x06\\xb2\\xbd\\xca\\x5e\\x47\\xba\\x0b\\xe9\\x6e\\xcc\\xdf\\x8b\\xe9\\xfd\\x48\\x0f\\x78\\x97\\x02\\x3d\\x08\\xdc\\x5f\\x05\\x8e\\x6f\\x03\\x7d\\x07\\xcb\\xbc\\x87\\x39\\x87\\xf1\\xea\\xc7\\x80\\xfc\\x2a\\xfb\\x04\\xf3\\x3f\\x03\\xf9\\x5f\\x05\\x8e\\x70\\xaf\\x28\\x40\\x7a\\x07\\xf2\\xda\\x81\\xbc\\x76\\x00\\x2f\\x9e\\xde\\x85\\xe9\\xdd\\x48\\xf7\\x22\\xdd\\x8f\\x94\\xf3\\xda\\x81\\xbc\\x76\\x00\\x2f\\x9e\\xf3\\x0e\\x96\\x7f\\xcf\\xfb\\x1c\\xd0\\xc3\\x50\\xf7\\x1d\\xc0\\x85\\xe7\\xf3\\x1a\\xed\\x60\\x3f\\xe2\\xd5\\x9f\\x81\\xee\\x44\\xdd\\xee\\x44\\xdd\\xee\\x84\\x51\\xf7\\x00\\xd0\\x78\\x28\\xb3\\x13\\xf5\\xbc\\x13\\xf5\\xbc\\x13\\x24\\x99\\x0e\\xf4\\x35\\xd0\\xed\\x4e\\x90\\x01\\xae\\x62\\x7d\\x77\\x82\\x0c\\x9c\\xee\\x47\\xca\\xf1\\x77\\xb2\\x4f\\x31\\x7d\\x0c\\xb4\\xba\\x93\\x7d\\x86\\xf4\\x04\\xde\\xf5\\x25\\xd2\\x6f\\x90\\x7e\\x8b\\xf4\\x3b\\xa4\\x27\\x11\\xff\\x34\\xa6\\xcf\\x22\\x6d\\x45\\xea\\xc1\\x7b\\xbd\\x9c\\x8a\\x02\\xd0\\xd7\\xa0\\x2e\\x5f\\x02\\xfd\\x18\\x34\\xf3\\x1a\\xfb\\x42\\xc8\\x06\\x7a\\x16\\xd2\\xff\\x46\\x79\\x5e\\xd7\\x29\\xd7\\xc9\\xeb\\xa8\\x93\\xd7\\xa1\\x3c\\xa7\\x87\\xa1\\xcc\\xeb\\x58\\xeb\\x5d\\x20\\xff\\x0b\\x40\\x5f\\x47\\xba\\x1b\\x29\\x2f\\xbf\\x0b\\xcb\\xef\\x02\\x1d\\x3e\\x00\\xf4\\x20\\xd2\\x43\\x98\\xc3\\xb5\\xb7\\x0b\\xeb\\xb5\\x0b\\x24\\xff\\x92\\xbd\\x05\\xe5\\x39\\xdd\\x8f\\x94\\xb7\\xe9\\x5b\\xd8\\x82\\x6f\\x21\\xfe\\x5b\\x4c\\x05\\xba\\x9b\\x1d\\x02\\x8e\\xbb\\xd9\\x51\\xa0\\x7b\\x50\\x86\\x3d\\xec\\x53\\x4c\\x9f\\x45\\xfa\\x33\\xe6\\xa8\\x90\\xde\\x0b\\x5a\\x3d\\x00\\xf4\\x35\\xe0\\xb2\\x17\\xa5\\xda\\x8b\\x52\\xed\\x05\\x19\\x96\\x02\\x7d\\x07\\xd3\\xef\\x21\\xfd\\x04\\x4b\\x72\\x19\\xf6\\x42\\xdb\\x1d\\x60\\x6f\\x83\\x87\\xf0\\x0a\\x50\\x2b\\xd2\\x38\\xc8\\x7f\\x1b\\x5b\\xed\\x6d\\x68\\xaf\\x17\\xd8\\xdb\\xd8\\x5e\\x6f\\x03\\x32\\xa7\\xaf\\x83\\x3e\\xdf\\x46\\xcb\\x79\\x1b\\xf0\\x97\\x02\\xdd\\xc3\\x4b\\x42\\x7d\\xd7\\x00\\xe5\\xf5\\x7d\\x1b\\xea\\xc2\\x73\\xde\\xc1\\xf4\\x27\\x98\\xfe\\x0c\\xe9\\x09\\xa4\\xbc\\x47\\xbc\\x0d\\xad\\xf0\\x25\\xdb\\x8f\\x36\\xb9\\x1f\\x35\\xb9\\x1f\\x75\\xbe\\x1f\\x65\\xde\\x8f\\x98\\xfb\\x51\\x3f\\xfb\\x01\\x99\\xe7\\x70\\x6b\\xdc\\x0f\\x98\\x07\\x80\\xbe\\x07\\x32\\xec\\x47\\x9b\\xdf\\x8f\\xda\\xd8\\x8f\\x1a\\xdb\\x8f\\xda\\x38\\x00\\x16\\x58\\x06\\xd4\\x8a\\x94\\xd7\\xe5\\x00\\xd6\\xe5\\x00\\xf2\\x3a\\x80\\xf6\\x0f\\x2d\\x09\\x77\\x1d\\x40\\x8e\\x07\\x90\\x23\\x68\\x11\\x73\\xf6\\xe2\\xd5\\x43\\x98\\xf3\\x31\\x5e\\xfd\\x04\\xf3\\x3f\\xc5\\xfc\\x63\\x98\\x7f\\x02\\xe9\\x97\\x48\\xbf\\x46\\xfa\\x0d\\xd2\\x6f\\x91\\x9e\\x44\\x7a\\x0a\\xe9\\x69\\xa4\\xdf\\x23\\x3d\\x8b\\xf4\\x47\\xa4\\xe7\\x90\\xb6\\x22\\xf5\\x20\\xf5\\x72\\x0a\\x3a\\x79\\x81\\x1d\\x04\\xf9\\xa7\\x03\\xb5\\x22\\xe5\\x3d\\xe8\\x20\\xc8\\x0f\\x14\\xe5\\x3f\\x88\\xba\\x3a\\xc8\\x76\\x81\\x54\\x07\\xb1\\xe7\\x1e\\x44\\x6d\\x1f\\x44\\x4b\\x3e\\x88\\xd2\\x1e\\x04\\x39\\x79\\xfe\\x71\\xa4\\x9f\\xe1\\xd5\\x13\\x98\\xfe\\x1c\\xd3\\x5f\\x20\\xfd\\x12\\xe9\\xd7\\x48\\xbf\\x01\\x9b\\x39\\x08\\xf2\\xf3\\xf4\\x77\\x48\\x4f\\x62\\xf9\\x53\\x98\\x3e\\x8d\\xf4\\x7b\\xcc\\xf9\\x11\\xd3\\x3f\\x21\\xfd\\x05\\xe9\\x39\\xa4\\x5e\\x4e\\xb1\\x4d\\x0f\\x81\\x9c\\x6b\\x80\\xbe\\x06\\xad\\x73\\x08\\x24\\xe4\\xe9\\x3d\\x98\\x7f\\x00\\x6a\\x74\\x08\\xc7\\xcc\\x43\\x68\\xd5\\x87\\xb0\\x47\\x1c\\x42\\x6b\\x3c\\x04\\x32\\x1c\\x60\\xef\\x60\\x8b\\xbc\\x03\\xad\\xf0\\x1c\\xd0\\xfd\\x48\\x79\\x5b\\xbc\\x83\\xf2\\xbc\\x83\\xa3\\xd9\\xbb\\xd0\\xe2\\x25\\x40\\x4f\\x40\\x9f\\x7d\\x97\\x9d\\x04\\xfa\\x01\\xe4\\x70\\x7a\\x02\\x30\\x3f\\xc0\\x7e\\x71\\x18\\xc7\\xc0\\xc3\\x38\\x9e\\x7f\\x04\\xf2\\x3c\\x08\\x94\\xb7\\xfb\\x47\\x60\\xbd\\x6b\\x80\\xee\\x82\\xab\\x1f\\xa1\\xf6\\x3e\\x02\\xd9\\x38\\xdd\\x0b\\xb6\\xfa\\x11\\x70\\xe4\\xf4\\x00\\xde\\xf5\\x0e\\x96\\x7c\\x0f\\xc6\\xb1\\x8f\\xc0\\x12\\x78\\xf9\\x4f\\xf8\\x55\\xc0\\x94\\xd9\\xc7\\xd8\\xcb\\x3e\\x06\\xb4\\xb7\\x81\\xee\\x86\\xfc\\x8f\\xd9\\x5e\\xe0\\xfb\\x31\\xd4\\x2b\\x1b\\xe8\\x3b\\x78\\x95\\xd7\\xeb\\x63\\x18\\x87\\x79\\xce\\xe7\\x78\\xf5\\x5b\\x4e\\x71\\x34\\x3e\\x82\\x52\\x1d\\x01\\x9c\\x35\\x40\\x79\\x6f\\x3d\\x82\\xba\\x3a\\x82\\x36\\x7f\\x04\\xc7\\x84\\x23\\x38\\x0e\\x1f\\xc1\\x9e\\x7b\\x04\\x24\\x79\\x80\\x7d\\x0a\\x6d\\x07\\xb6\\x88\\x3d\\xf7\\x53\\x6c\\x9d\\x4f\\xd1\\xae\\x3e\\x05\\xcb\\x5f\\x0a\\x94\\x8f\\x18\\x47\\x71\\xe4\\x3f\\x8a\\x6d\\x7d\\x14\\xb5\\x7a\\x14\\xf5\\x76\\x14\\x6d\\xef\\x28\\x8e\\xd2\\x47\\xd9\\x79\\x4e\\xb1\\xbd\\x8e\\xa1\\x6d\\x1f\\xc3\\x39\\xeb\\x18\\x58\\x0b\\x4f\\x9f\\x40\\xfa\\x39\\xd2\\x2f\\x90\\x72\\x0b\\x3f\\x06\\x16\\xc2\\xd3\\x27\\x91\\x7e\\x8f\\xf4\\x0c\\xde\\x75\\x16\\xaf\\xfe\\x80\\x39\\x3f\\x43\\x2d\\x8e\\x01\\xfe\\x03\\xec\\x18\\xe0\\x1f\\x60\\xc7\\x01\\xff\\x4b\\xa0\\x9f\\x21\\x3d\\x81\\xf4\\x0b\\xa4\\xdf\\x20\\xfd\\x16\\xe9\\x49\\xa4\\x7c\\x96\\x3c\\x8e\\x77\\x7d\\x86\\x3d\\xfa\\x04\\xde\\x7b\\x02\\xef\\x3d\\x81\\x35\\x3a\\x81\\xf7\\x9e\\x40\\x79\\x4e\\xe0\\xbd\\x27\\xf0\\xae\\x13\\x28\\xc9\\x09\\x94\\xe4\\x04\\xce\\xb0\\x27\\xa0\\xbe\\x0f\\x02\\xe5\\xf2\\x7c\\xce\\xce\\x80\\x4e\\x3e\\x47\\xdb\\xf8\\x1c\\x47\\x89\\xcf\\xd9\\x79\\x48\\x7f\\x81\\xf8\\x5f\\x60\\xdd\\xbf\\x40\\x2e\\x5f\\xa0\\x84\\x5f\\x20\\xaf\\x2f\\x50\\x7b\\x5f\\x20\\x97\\x2f\\x50\\xc2\\x2f\\xb0\\xd6\\x5f\\x20\\x97\\x2f\\x90\\xcb\\x17\\x88\\xff\\x05\\xea\\xf3\\x6b\\x1c\\xa5\\xbf\\x46\\x79\\xbe\\x46\\x8e\\x5f\\x23\\xaf\\x6f\\xb0\\x2e\\xdf\\xa0\\xe6\\xbf\\x45\\xf9\\xbf\\xc5\\x32\\xdf\\x62\\xfe\\xb7\\x88\\xf3\\x2d\\xb6\\xdd\\x49\\xd4\\xf9\\x49\\x2c\\x73\\x12\\xb9\\x9f\\x44\\x5e\\x27\\x71\\x94\\x3e\\x09\\x08\\x0f\\x00\\xc5\\x92\\xa8\\xa5\\xd3\\x28\\xe7\\x69\\x2c\\x7f\\x1a\\xcb\\x9f\\x46\\x69\\x4f\\xe3\\x5d\\xa7\\xb1\\xc5\\x4f\\xe3\\x5d\\xa7\\xf1\\xae\\xd3\\xd8\\xe2\\xdf\\xe3\\x5d\\xdf\\x23\\xf7\\xef\\x11\\xf9\\x7b\\x94\\xed\\x7b\\xa8\\xc5\\x01\\x90\\xdb\\x02\\xf9\\x67\\x60\\xfc\\x01\\x8a\\xfa\\x39\\x83\\x9a\\x39\\x83\\x77\\x9d\\x41\\x5e\\x67\\x90\\xd7\\x19\\xe4\\x75\\x06\\x35\\x73\\x06\\x47\\x89\\x33\\x58\\xaf\\x33\\x68\\x6f\\x67\\x90\\xe3\\x19\\xe4\\x78\\x16\\x30\\x97\\x02\\xb5\\x72\\x0a\\x5a\\xca\\x06\\xca\\x7b\\xc4\\x59\\xb4\\x81\\xb3\\x38\\x7f\\xfd\\x80\\xda\\xfb\\x01\\x7b\\xf1\\x0f\\x88\\xff\\x03\\xf4\\x6e\\x9e\\x3e\\x8b\\x69\\x5e\\x8b\\x1f\\x51\\x9e\\x1f\\xb1\\x8d\\x7e\\x44\\x49\\x7e\\x44\\xee\\x3f\\x22\\xdf\\x1f\\xd1\\x02\\x7f\\xd4\\x4b\\x72\\xee\\x3f\\xe1\\xec\\xf0\\x13\\xb6\\xfb\\x39\\x4c\\x9f\\x83\\x74\\x36\\xf3\\x40\\x99\\x32\\xa6\\x62\\x8d\\x54\\xe4\\xa5\\x82\\x1e\\xde\\x66\\x2a\\x4a\\xeb\\xc5\\x7c\\x2f\\xe6\\x7b\\x51\\x87\\x5e\\x8e\\x29\\x5a\\xa0\\x16\\x6b\\x80\\x5a\\x81\\x0e\\xc0\\xf4\\x00\\x3d\\x3d\\xcf\\x7b\\x00\\xe8\\x0a\\xef\\x01\\xe5\\x98\\x72\\xcc\\xbb\\x55\\x39\\x0e\\x2b\\xf7\\xb5\\x40\\x27\\x78\\x61\\x0c\\xe2\\xcf\\x25\\x94\\x2f\\xd9\\x16\\xaf\\x0c\\xf4\\x05\\x6f\\x1c\\xd0\\x03\\xea\\x77\\x40\\xdf\\x53\\xdf\\x05\\x7a\\xd8\\x1b\\x27\\x08\\x42\\x3c\\x99\\xcf\\x9f\\x15\\xe2\\xbf\\x09\\xc2\\xe3\\x7a\\x9a\\x08\\x16\\x92\\xaa\\xa7\\xa9\\x20\\x93\\x81\\x7a\\x9a\\x09\\x0e\\xd2\\xa2\\xa7\\x45\\x21\\x82\\xbc\\xa1\\xa7\\x25\\x21\\x84\\xa8\\x7a\\x5a\\x16\\xc2\\x69\\x91\\x9e\\x56\\x84\\x2b\\xd8\\x20\\x3d\\x6d\\x10\\xc2\\xd8\\x57\\x7a\\xda\\x28\\x84\\x88\\x71\\x7a\\xda\\x44\\xea\\xf1\\xb4\\x2e\\xfe\\x2f\\x48\\x88\\x35\\x3c\\xa0\\xa7\\xcd\\x42\\x37\\x63\\x82\\x9e\\x0e\\x16\\x0a\\x8c\\xcf\\xe9\\xe9\\x10\\xc1\\x61\\x4a\\x03\\x49\\x88\\x68\\x84\\xbf\\x1e\\x45\\xa9\\x78\\x9a\\x40\\x5d\\x24\\x3d\\x4d\\x05\\x33\\x29\\xd0\\xd3\\x4c\\xe8\\x41\\xca\\xf4\\xb4\\x28\\x64\\x91\\xf5\\x7a\\x5a\\x12\\x62\\xc9\\x27\\x7a\\x5a\\x16\\xba\\xd2\\x60\\x3d\\xad\\x08\\x67\\x69\\xb9\\x9e\\x36\\x08\\x19\\xec\\x65\\x3d\\x6d\\x14\\x62\\x99\\x57\\x4f\\x9b\\xe8\\x7e\\x31\\x4b\\x4f\\x07\\x09\\xbd\\x0c\\x73\\xf4\\xb4\\x59\\x98\\x6a\\x78\\x45\\x4f\\x07\\x0b\\x73\\x8c\\x23\\xf5\\x74\\x88\\xd0\\xc3\\x78\\x4a\\x28\\x11\\xea\\x85\\xd9\\xf0\\xd3\\x04\\x3f\\x57\\x08\\xb5\\x42\\x8d\\xe0\\x84\\x9f\\x19\\xf0\\xf7\\x0c\\x48\\x55\\x0b\\x0d\\xc2\\x02\\x61\\xb9\\xd0\\x88\\xa5\\xea\\x20\\xd7\\x29\\x64\\x40\\x6e\\x17\\xf8\\x9d\\x27\\xe4\\x0a\\xdd\\xe1\\xc7\\x29\\x0c\\x81\\x52\\x0d\\x70\\xfd\\x72\\xb8\\xdf\\x29\\x0c\\x84\\x74\\x23\\xdc\\xc5\\xe9\\x0c\\xc4\\x6d\\x10\\xe6\\x0b\\xdd\\x04\\x13\\x5e\\xf9\\x75\\xb4\\x3c\\x48\\x8d\\xd1\\xa5\\x28\\xc5\\xbb\\xb3\\x20\\x35\\x14\\xee\\xaf\\x06\\x04\\xa1\\xa4\\x7e\\x76\\x7d\\x53\\xfd\\x15\\xb5\\x35\\xce\\x9a\\x19\\x4d\\x33\\x9c\\xd5\\x0d\\x0b\\x96\\x37\\xd6\\xcf\\xae\\x6b\\x72\\x66\\x54\\x77\\x71\\xe6\\xe5\\x76\\xcf\\x75\\x0e\\x69\\x68\\x98\\x7d\\x79\\xad\\x73\\x60\\x43\\xe3\\x82\\x86\\xc6\\x19\\x4d\\xf5\\x0d\\xf3\\xbb\\x99\\x06\\x76\\x2c\\x96\\xe7\\x1c\\x03\\x10\\xa5\\x33\\x9a\\xb2\\x9c\\x43\\xe7\\x57\\x03\\xee\\x70\\x10\\x68\\x26\\xb0\\x0d\\x14\\xd8\\x29\\x8c\\x85\\xbf\\xe6\\x0b\\x8b\\xe0\\x72\\xfd\\xcc\\x5a\\x0d\\xcc\\x39\\x76\\xc6\\x7c\\xc8\\x18\\x8a\\xea\\xb9\\x1c\\x4a\\x56\\xc3\\x1f\\x4d\\x33\\x2e\\xaf\\x87\\xdf\\x03\\xa0\\x68\\x35\\x80\\xcc\\x07\\xe9\\x39\\x94\\x53\\xc8\\x86\\x9f\\xdf\\x80\\x1e\\xb0\\xa8\\xba\\x76\\x7e\\x4d\\x6d\\xa3\\x33\\xdb\\x79\\x01\\x97\\x5f\\xbf\\xd5\\xd9\\x5e\\x8a\\x0e\\x77\\x3b\\x7d\\x52\\x4d\\x40\\x80\\x45\\xfe\\xdb\\xf3\\x40\\x8f\\xb9\\xf0\\xbf\\x1b\\x7f\\x17\\x31\\xa1\\xb6\\x71\\x11\\xbf\\x23\\xaf\\x5b\\x6e\\x6e\\xb7\\xee\\x9d\\x73\\xf4\\xf1\\xcb\\xbe\\x18\\x3f\\xce\\x2e\\xdb\\xc7\\xae\\x73\\x99\\xeb\\x51\\x5e\\x6e\\x50\\x4d\\x78\\x85\\x2b\\x68\\x1e\\xfc\\x6e\\x14\\xe6\\x42\\x5e\\x83\\x30\\xeb\\x57\\x9b\\xdd\\x09\\xe5\\x6a\\xd1\\x48\\x17\\xc1\\x95\\x5a\\xfc\\xab\\x06\\x51\\x39\\xf6\\x78\\x28\\x31\\x16\\x4b\\x8d\\xc2\\x3b\\x79\\x03\\x34\\x21\\xb7\\xf9\\x58\\x6a\\x5c\\x27\\x1c\\xcb\\x81\\xe3\\x2c\\xac\\x47\\x6d\\x40\\xc9\\x6a\\xc4\\xe6\\x75\\xd4\\x90\\x1b\\x20\\x5d\\xa7\\x37\\xe5\\x1c\\x61\\x31\\x9a\\xed\\x22\\x28\\xc9\\xef\\xf3\\xd5\\x6d\\x11\\x37\\xcb\\x00\\xdd\\xd7\\x2f\\x72\\xce\\x70\\x36\\x35\\xce\\xa8\\xa9\\x9d\\x37\\xa3\\x71\\xae\\xb3\\x61\\x56\\x7b\\x53\\x73\\x36\\xd6\\xce\\xae\\x5f\\xd4\\x54\\xdb\\x08\\x99\\xf5\\xf3\\x9d\\xe3\\xbb\\x8d\\xed\\xe6\\x1c\\x35\\xa3\\xa9\\x76\\x7e\\x93\\x73\\xc6\\xfc\\x1a\\xe7\\x38\\xff\\x8d\\xe5\\xb3\\x66\\xd5\\x57\\xd7\\x62\\x66\\x75\\x6d\\x63\\xd3\\x0c\\x28\\xdc\\xd0\\x54\\x07\\x76\\x32\\x67\\x71\\x63\\xfd\\xa2\\x9a\\xfa\\x6a\\xce\\x6d\\x51\\xb7\\xce\\xac\\xae\\xf3\\xfe\\xd7\\x66\\x69\\x01\\x7d\\x43\\x00\\xcd\\x71\\x8d\\x2d\\x41\\x3d\\x8c\\xc0\\xe2\\xfc\\xef\\x45\\xda\\x2d\\x63\\x9b\\x6a\\x97\\xd4\\x3a\\x47\\xcc\\x68\\x6a\\xaa\\x5d\\xc4\\x0b\\x5f\\x06\\x05\\x16\\xe9\\xca\\xd7\\x1a\\x76\\x00\\x2a\\x65\\x1e\\xfc\\xc5\\x1b\\xec\\xff\\x63\\xef\\x4d\\xe0\\xa4\\x28\\xce\\xff\\xe1\\x3a\\xfa\\x1c\\x96\\x53\\x54\\x44\\x54\\x34\\xc4\\x13\\x91\\xed\\xee\\x99\\xdd\\xf1\\xde\\xa3\\x5b\\x45\\x14\\xa2\\xa0\\x88\\x17\\xc3\\xee\\xc0\\xae\\xec\\xee\\x2c\\x7b\\x70\\x78\\x5f\\x31\\x1e\\xe0\\x15\\x63\\x0c\\x31\\x46\\x0d\\x51\\x44\\x63\\x8c\\xa2\\x31\\x4a\\x8c\\xb7\\xa8\\x78\\x22\\x5e\\x88\\xa2\\xa0\\x82\\xa2\\xa2\\xa2\\xe2\\xc5\\xbe\\x4f\\x57\\x7f\\x77\\xa6\\x77\\x58\\x0c\\x26\\xff\\xfc\\xde\\xfc\\xde\\xf7\\x0f\\x9f\\x3a\\xbb\\xea\\xf9\\x3e\\xf5\\x54\\x75\\x7d\\x9f\\xea\\xe9\\xd9\\x99\\x4e\\xe6\\x0a\\x8d\\x53\\xa7\\xf2\\x19\\x35\\xe9\\xb5\\x4a\\x5c\\x78\\xbf\\x37\\xa1\\xe7\\x44\\xda\\x01\\x06\\xff\\x20\\xf0\\x60\\xf4\\xcd\\x60\\xf1\\x34\\xd1\\xff\\x1c\\xb5\\x8d\\x46\\x13\\xf6\\x19\\x8a\\x45\\x31\\x49\\xc5\\xad\\x0a\\xb7\\x89\\x30\\x06\\x53\\xbe\\xf3\\xf6\\x68\\x55\\xf6\\xa8\\x57\\x8b\\x2b\\xae\\xc5\\x60\\x35\\xad\\x19\\xb5\\x48\\xa2\\x85\\xd9\\x48\\x57\\xdb\\x54\\xdb\\x1a\\xb5\\xc0\\x1b\\x94\\x86\\xe1\\xde\\xd7\\x48\\x76\\x8c\\x50\\x27\\x62\\x77\\x9b\\xae\\xf6\\xca\\xba\\xfc\\xd8\\xa9\\xfd\\xce\\xbb\\xa8\\xe5\\x57\\xb0\\x45\\xb4\\xa4\\x27\\xe1\\xce\\x1b\\xac\\x6a\\x9b\\x29\\x9f\\x53\\xba\\x77\\x5a\\x6f\\x6f\\x35\\x73\\xa1\\xfe\\x59\\xa5\\x55\\x98\\xcb\\xa8\\xbd\\x77\\x22\\xf5\\x68\\x50\\x38\\x91\\x1e\\x75\\x6a\\xe1\\x66\\xd4\\xb2\\xcb\\x62\\x19\\xb6\\x29\\x6d\\x5b\\x63\\xcb\\x37\\x5a\\xac\\x83\\x95\\xc6\\xa1\\x74\\x5f\\x2d\\xd9\\x70\\xc7\\xcd\\xc2\\x92\\xc7\\xd2\\x4e\\x3d\\xb2\\x5b\\x89\\x91\\xb5\\xe2\\xb7\\x4d\\x38\\x13\\x0d\\x4a\\xdf\\xd6\\x98\\xec\\x26\\xa5\\x6d\\xad\\xaa\\xcb\\xe5\\x2d\\x1b\\xb6\\x6a\\x00\\x52\\x34\\xe2\\x06\\xc5\\x08\\x53\\xf2\\xb3\\x32\\x49\\xad\\xc6\\xc8\\x7a\\xb5\\x4a\\xda\\xde\\x9b\\xb1\\xef\\x24\\x65\\x9b\\x36\\xa0\\xe6\\x94\\x46\\xb5\\xf4\\x3f\\x9a\\xe7\\x68\\x45\\xe5\\xa8\\x6f\\xbb\\x9a\\xb5\\xe8\\x56\\x8f\\xd6\\x7a\\xdb\\x26\\x96\\xcb\\x28\\xfb\\xe6\\xd0\\xaf\\x99\\xae\\x84\\x58\\x91\\x2e\\x8d\\xd1\\xad\\x5b\\x99\\x69\\xa5\\x5b\\x91\\x6e\\xdc\\x8a\\x96\\xfa\\xc6\\xdc\\xd0\\xc1\\xd3\\xeb\\xea\\x6b\\xea\\x06\\x4f\\xcf\\xb4\\x0e\\xae\\xcd\\xb6\\xd6\\x4f\\x6e\\xa2\\x8b\\x13\\x67\\x0e\\xee\\x7a\\x23\\x0c\\xa6\\xab\\x19\\xba\\xd5\\x9b\\x9a\\x72\\xd3\\xe8\\x36\\x9a\\x96\\x1d\\x4a\\xb7\\xf5\\xa4\\x96\\x6c\\x6b\\x5d\\x7d\\xd3\\xe4\\xc1\\xad\\xe1\\xee\\xdb\\x9a\\x6d\\xa9\\x9f\\x04\\x11\\x83\\xdb\\xea\\x32\\x6d\\xe1\\xc6\\xd0\\x98\\x6d\\x6b\\xa9\\xaf\\xc9\\x34\\x34\\xcc\\x24\\xe6\\x6a\\x6c\\xa6\\xae\\x13\\x89\\xaa\\xa6\\xd7\\xb7\\xd5\\x85\\xe8\\x99\\x86\\xf9\\xc3\\x22\\x2d\\x68\\xd7\\x98\\x44\\x1b\\xf3\\xe0\\xfa\\xc6\\xe6\\x96\\xdc\\x34\\xa5\\xde\\xde\\xad\\x35\\x2d\\xd9\\x6c\\x13\\xe1\\x64\\x6a\\x33\\x13\\xeb\\x1b\\xea\\xdb\\x48\\x46\\x5d\\xa6\\x25\\x53\\x43\\x7b\\x09\\x6d\\x28\\xf5\\x35\\xad\\x6a\\xaf\\xa0\\x2d\\x62\\x70\\x73\\xa6\\x69\\x6f\\xbf\\xbd\\x25\\xd7\\x9c\\x25\\x25\\x8f\\x3d\\x64\\x64\\xa1\\x21\\xa9\\x15\\xed\\x33\\xad\\xb9\\x86\\x69\\xd9\\x56\\xd5\\xba\\x29\\x9b\\xad\\x6d\\x0d\\xf7\\xa9\\x5a\\x1a\\x62\\x03\\x75\\x22\\xe0\\x86\\x5c\\x6e\\x4a\\x38\\x94\\x49\\xb9\\x16\\x52\\xaf\\xb6\\xad\\x6e\\xef\\x98\\xbe\\x93\\x72\\x4d\\x6d\\xd4\\x35\\x37\\x38\\x53\\x5b\\x4b\\x63\\x26\\x43\\xe5\\x6a\\xda\\x1b\\xc3\\x1d\\x8c\\x76\\x95\\xb6\\x4e\\xe5\\x32\\x35\\x2d\\x39\\xba\\xd6\\xdc\\x90\\x69\\x23\\x29\\x8d\\xe1\\x4e\\x55\\xa7\\xee\\xf1\\x66\\xb6\\x2f\\xdb\\x87\\xfe\\x4f\\x57\\xff\\x87\\xa9\\x3b\\x3d\\xbe\\x7f\\xd5\\x60\\xf7\\x1a\\x86\\xf5\\xb1\\x0f\\x75\\x6c\\x6b\\x6b\\xde\\x77\\x9f\\x7d\\xa6\\x4f\\x9f\\x3e\\x2c\\x83\\x4d\\xac\\x86\\xf6\\xb0\\x61\\xa4\\xd4\\x3e\\xff\\xba\\xd8\\x70\\x89\\x34\\xab\\xc5\\x1c\\xdf\\xa0\\x5a\\xd4\\xb2\\x08\\x65\\x36\\xd2\\x72\\xf9\\x41\\xe8\\xb6\\x99\\xcd\\x59\\x2c\\x92\\x96\\xd6\\x61\\x75\\x6d\\x8d\\x0d\\x11\\xfd\\x45\\xb0\\x9d\\xfb\\x64\\x7b\\x6c\\x67\\xee\\xbc\\x8b\\x8e\\x26\\x6a\\x1b\\xa9\\x68\\xa8\\x19\\xf7\\x7e\\x80\\x55\\x3f\\xb8\\x48\\x42\\xb8\\xcf\\x15\\x33\\x78\\x69\\xc4\\xdd\\x23\\x89\\x1f\\x9a\\xc2\\xc5\\xdb\\xae\\x76\\xf5\\x70\\x2e\\x8f\\x3e\\x6c\\xe4\\xe0\\x51\\xcd\\xb4\\x4c\\x02\\x9a\\xa3\\xc1\\x68\\x30\\x74\\x70\\x27\\xcb\\x97\\x86\\x14\\xdf\\xd5\\x5c\\xd1\\x0e\\x54\\x4f\\xe5\\x36\\x35\\xf0\\x56\\x75\\xff\\x0c\\x53\\xc6\\x9a\\x4c\\xd7\\x47\\x91\\x66\\x23\\xf3\\x66\\xa0\\x45\\x58\\xdf\\xdc\\xd6\\x3a\\xac\\xb5\\xbe\\x61\\x58\\xae\\x65\\xf2\\x3e\\xa3\\x82\\x91\\xca\\x17\\x67\\x1d\\xeb\\x29\\xec\\xc6\\xae\\x66\\xdd\\xfc\\x4b\\xec\\xa0\\x7c\\x77\\x41\\x5e\\xa7\\x46\\xfe\\xad\\x41\\xbe\\xac\\x45\\x7e\\x6b\\x82\\x7c\\xd4\\x12\\xf2\\x47\\x7b\\xb1\\xde\\xac\\x0f\\xeb\\xcb\\xfa\\xb1\\xad\\x58\\x7f\\xb6\\x35\\xdb\\x86\\x6d\\xcb\\x06\\xb0\\xed\\xd8\\x40\\xb6\\x3d\\x1b\\xc4\\x76\\x60\\x3b\\xb2\\x9d\\x68\\xcc\\x3b\\x87\\x6f\\x01\\xb2\\x21\\xec\\xa7\\x6c\\x57\\xb6\\x1b\\xf9\\x8c\\x7b\\xb0\\x3d\\xd9\\x5e\\x64\\x9d\\xbd\\x49\\xd7\\x7d\\xe0\\x39\\xba\\xcc\\x63\\x49\\x96\\x62\\x65\\xac\\x9c\\xa5\\x69\\x7c\\xfb\\xb1\\xfd\\xd9\\x01\\xec\\x40\\x76\\x10\\x3b\\x98\\xf6\\xe6\\x4a\\xe2\\xc5\\x6a\\xda\\x13\\x03\\xda\\x03\\x0f\\x25\\xfb\\x8f\\x60\\x87\\xd3\\xc8\\x8e\\x60\\x47\\xd2\\x18\\x47\\xb3\\x9f\\x91\\xfb\\x71\\x34\\xb9\\x0a\\x63\\xc9\\xda\\xc7\\xb2\\x71\\xec\\x38\\x36\\x9e\\x1d\\xcf\\x4e\\x60\\x27\\xb2\\x93\\xd8\\xc9\\x6c\\x02\\xcb\\x70\\xc1\\xfe\\xc0\\xce\\x67\\x3f\\x67\\x7f\\xa7\\x51\\xae\\x66\\x17\\xb0\\x4b\\xd9\\x25\\xec\\x77\\xec\\x16\\x36\\x97\\x4b\\x76\\x31\\xd7\\xd8\\x79\\xec\\x97\\xec\\x33\\xf6\\x39\\x9b\\x4d\\xfe\\xfe\\x85\\xdc\\x60\\x6f\\xb2\\x4f\\xd9\\x75\\x6c\\x3e\\xfb\\x82\\xad\\x67\\x5f\\xb2\\x1b\\xd9\\x9f\\xd8\\x93\\xec\\x09\\x3a\\xcb\\x4c\\x24\\x8b\\x5f\\x4e\\x2b\\xe2\\x69\\x9a\\xd5\\x45\\xec\\x29\\xf6\\x1c\\x5b\\xcc\\x9e\\x61\\xcf\\xb2\\x35\\xb4\\x2f\\x2d\\x61\\xcf\\xb3\\x17\\xd8\\x9f\\xc9\\xf2\\xeb\\xd8\\x15\\xec\\x65\\xf6\\x12\\x5b\\x4a\\xf3\\xf5\\x21\\xfb\\x88\\x5d\\x44\\x0e\\x48\\x3d\\xed\\xa7\\xe1\\xa2\\x6c\\x62\\xd7\\xd3\\xfc\\x4c\\x55\\x8c\\xd2\\x4a\\xeb\\xab\\x8d\\xf6\\xdf\\xe9\\xec\\x03\\x36\\x83\\xfc\\xf7\\x99\\xec\\x34\\x76\\x06\\x3b\\x9d\\xdd\\xcb\\x6e\\x60\\x67\\xb1\\x33\\xd9\\xd9\\xec\\x1c\\xb6\\x96\\x7d\\xcc\\xee\\xe3\\x26\\xb7\\xb8\\xcd\\x13\\xbc\\x07\\x2f\\x61\\xdf\\xb3\\x8d\\xbc\\x27\\x0f\\xbf\\x47\\xd4\\x87\\x75\\x70\\xc6\\xfb\\xf2\\x7e\\x7c\\x2b\\xce\\x79\\x7f\\xbe\\x35\\xdf\\x86\\x6f\\xcb\\x07\\xf0\\xed\\xf8\\x40\\xbe\\x3d\\x1f\\xc4\\x77\\xe0\\x3b\\xf2\\x9d\\xd8\\x06\\xf6\\x35\\x1f\\xcc\\x77\\xe6\\xbb\\xf0\\x9f\\xf0\\x21\\xfc\\xa7\\x7c\\x57\\xbe\\x1b\\xdf\\x9d\\xef\\xc1\\xf7\\xe4\\x7b\\xf1\\xa1\\x7c\\x6f\\x3e\\x8c\\xef\\xc3\\xbe\\x61\\xaf\\xf0\\xe1\\xbc\\x94\\x3b\\xdc\\xe5\\x1e\\x4f\\xf2\\x14\\x2f\\xe3\\xe5\\x3c\\xcd\\xf7\\xe5\\xfb\\xf1\\xfd\\xf9\\x01\\xfc\\x40\\xf6\\x0e\\x5b\\xc9\\x0f\\xe2\\x07\\xf3\\x0a\\x5e\\xc9\\xab\\x78\\x35\\xf7\\x79\\x10\\xfe\\xf6\\x28\\x3f\\x8c\\x8f\\xe0\\x87\\xf3\\x91\\xfc\\x08\\x76\\x07\\xfb\\x0b\\x3f\\x92\\x8f\\xe2\\xa3\\xf9\\xcf\\xf8\\x51\\xfc\\x68\\x3e\\x86\\x8f\\xe5\\xc7\\xf0\\x63\\xd9\\xb7\\xec\\x3b\\xb6\\x8a\\xbd\\xcb\\xc7\\xf1\\xe3\\xf8\\x78\\x7e\\x3c\\x3f\\x81\\x9f\\xc8\\x4f\\xe2\\x27\\xf3\\x09\\x3c\\xc3\\x27\\xf2\\x1a\\x5e\\xcb\\xb3\\x7c\\x12\\x9f\\xcc\\xeb\\x78\\x3d\\x3f\\x85\\x4f\\xe1\\x0d\\xbc\\x91\\xdd\\xcf\\x9b\\x78\\x8e\\x37\\xf3\\xa9\\xec\\x3d\\xf6\\x3e\\x6f\\xe1\\xad\\xbc\\x8d\\xb7\\xf3\\x69\\x7c\\x3a\\x9f\\xc1\\x67\\xf2\\x53\\xf9\\x69\\xfc\\x74\\x7e\\x06\\x3f\\x93\\x9f\\xc5\\xcf\\xe6\\xe7\\xf0\\x73\\xf9\\x79\\xfc\\x7c\\x76\\x13\\xff\\x39\\xbf\\x80\\xff\\x82\\x5f\\xc8\\x2f\\xe2\\x17\\xf3\\x4b\\xf8\\x2c\\x3e\\x9b\\x5f\\xca\\x2f\\xe3\\x97\\xf3\\x2b\\xf8\\x95\\xfc\\x97\\xfc\\x2a\\xfe\\x2b\\x7e\\x35\\xff\\x35\\xbf\\x86\\xff\\x86\\xcf\\xe1\\xbf\\xe5\\xd7\\xf2\\xdf\\xf1\\xeb\\xf8\\xef\\xf9\\xf5\\xfc\\x06\\x7e\\x23\\xff\\x03\\x9f\\xcb\\xff\\xc8\\x6f\\xe2\\x37\\xf3\\x79\\xfc\\x16\\x3e\\x9f\\xdf\\xca\\x6f\\xe3\\x7f\\xe2\\xb7\\xf3\\x3f\\xf3\\x3b\\xf8\\x5f\\xf8\\x9d\\xfc\\x2e\\xbe\\x80\\xdf\\xcd\\xef\\xe1\\x7f\\xe5\\xf7\\xf2\\xbf\\xf1\\xfb\\xf8\\xfd\\x7c\\x21\\xff\\x3b\\x7f\\x80\\xff\\x83\\x3f\\xc8\\x1f\\xe2\\x0f\\xf3\\x47\\xf8\\xa3\\xfc\\x31\\xfe\\x38\\x7f\\x82\\x2f\\xe2\\x4f\\xf2\\xa7\\xf8\\xd3\\x7c\\x31\\x7f\\x86\\x3f\\xcb\\x9f\\xe3\\xcf\\xf3\\x17\\xf8\\x8b\\x7c\\x09\\x7f\\x89\\x2f\\xe5\\x2f\\xf3\\x57\\xf8\\xab\\xfc\\x35\\xfe\\x3a\\x5f\\xc6\\xdf\\xe0\\xcb\\xf9\\x9b\\xfc\\x2d\\xbe\\x82\\xbf\\xcd\\xdf\\xe1\\x2b\\xf9\\x2a\\xfe\\x2e\\x7f\\x8f\\xbf\\xcf\\x57\\xf3\\x35\\xfc\\x03\\xfe\\x21\\x5f\\xcb\\x3f\\xe2\\x1f\\xf3\\x4f\\xf8\\x3a\\xfe\\x29\\xff\\x8c\\x7f\\xce\\xd7\\xf3\\x2f\\xf8\\x97\\xfc\\x2b\\xbe\\x81\\x7f\\xcd\\xbf\\xe1\\xdf\\xf2\\xef\\xf8\\xf7\\x7c\\x23\\xef\\x10\\x4c\\x70\\x21\\x84\\x14\\x9a\\xd0\\x85\\x21\\x4c\\x61\\x09\\x5b\\x24\\x44\\x0f\\x51\\x22\\x7a\\x8a\\x5e\\xa2\\xb7\\xe8\\x23\\xfa\\x8a\\x7e\\x62\\x2b\\xd1\\x5f\\x6c\\x2d\\xb6\\x11\\xdb\\x8a\\x01\\x62\\x3b\\x31\\x50\\x6c\\x2f\\x06\\x89\\x1d\\xc4\\x8e\\x62\\x27\\x31\\x58\\xec\\x2c\\x76\\x11\\x3f\\x11\\x43\\xc4\\x4f\\xc5\\xae\\x62\\x37\\xb1\\xbb\\xd8\\x43\\xec\\x29\\xf6\\x12\\x43\\xc5\\xde\\x62\\x98\\xd8\\x47\\x0c\\x17\\xa5\\xc2\\x11\\xae\\xf0\\x44\\x52\\xa4\\x44\\x99\\x28\\x17\\x69\\xb1\\xaf\\xd8\\x4f\\xec\\x2f\\x0e\\x10\\x07\\x8a\\x83\\xc4\\xc1\\xa2\\x42\\x54\\x8a\\x2a\\x51\\x2d\\x7c\\x11\\x88\\x43\\xc4\\xa1\\xe2\\x30\\x31\\x42\\x1c\\x2e\\x46\\x8a\\x23\\xc4\\x91\\x62\\x94\\x18\\x2d\\x7e\\x26\\x8e\\x12\\x47\\x8b\\x31\\x62\\xac\\x38\\x46\\x1c\\x2b\\xc6\\x89\\xe3\\xc4\\x78\\x71\\xbc\\x38\\x41\\x9c\\x28\\x4e\\x12\\x27\\x8b\\x09\\x22\\x23\\x26\\x8a\\x1a\\x51\\x2b\\xb2\\x62\\x92\\x98\\x2c\\xea\\x44\\xbd\\x38\\x45\\x4c\\x11\\x0d\\xa2\\x51\\x34\\x89\\x9c\\x68\\x16\\x53\\x45\\x8b\\x68\\x15\\x6d\\xa2\\x5d\\x4c\\x13\\xd3\\xc5\\x0c\\x31\\x53\\x9c\\x2a\\x4e\\x13\\xa7\\x8b\\x33\\xc4\\x99\\xe2\\x2c\\x71\\xb6\\x38\\x47\\x9c\\x2b\\xce\\x13\\xe7\\x8b\\x9f\\x8b\\x0b\\xc4\\x2f\\xc4\\x85\\xe2\\x22\\x71\\xb1\\xb8\\x44\\xcc\\x12\\xb3\\xc5\\xa5\\xe2\\x32\\x71\\xb9\\xb8\\x42\\x5c\\x29\\x7e\\x29\\xae\\x12\\xbf\\x12\\x57\\x8b\\x5f\\x8b\\x6b\\xc4\\x6f\\xc4\\x1c\\xf1\\x5b\\x71\\xad\\xf8\\x9d\\xb8\\x4e\\xfc\\x5e\\x5c\\x2f\\x6e\\x10\\x37\\x8a\\x3f\\x88\\xb9\\xe2\\x8f\\xe2\\x26\\x71\\xb3\\x98\\x27\\x6e\\x11\\xf3\\xc5\\xad\\xe2\\x36\\xf1\\x27\\x71\\xbb\\xf8\\xb3\\xb8\\x43\\xfc\\x45\\xdc\\x29\\xee\\x12\\x0b\\xc4\\xdd\\xe2\\x1e\\xf1\\x57\\xf6\\x2a\\x7b\\x5b\\xdc\\xcb\\x5e\\x17\\x7f\\x13\\xf7\\x89\\xfb\\xc5\\x42\\xf1\\x77\\xf1\\x80\\xf8\\x87\\x78\\x50\\x3c\\x24\\x1e\\x16\\x8f\\x88\\x47\\xc5\\x63\\xe2\\x71\\xb6\\x8c\\xbd\\xc1\\x96\\xb3\\x15\\xec\\x35\\xf6\\x96\\x78\\x42\\x2c\\x12\\x4f\\x8a\\xa7\\xc4\\xd3\\x62\\xb1\\x78\\x46\\x3c\\x2b\\x9e\\x13\\xcf\\x8b\\x17\\xc4\\x8b\\x62\\x89\\x78\\x49\\x2c\\x15\\x2f\\x8b\\x57\\xc4\\xab\\xe2\\x35\\xf1\\xba\\x58\\x26\\xde\\x10\\xcb\\xc5\\x9b\\xe2\\x2d\\xb1\\x42\\xbc\\x2d\\xde\\x11\\x2b\\xc5\\x2a\\xf1\\xae\\x78\\x4f\\xbc\\x2f\\x56\\x8b\\x35\\xe2\\x03\\xf1\\xa1\\x58\\x2b\\x3e\\x12\\x1f\\x8b\\x4f\\xc4\\x3a\\xf1\\xa9\\xf8\\x4c\\x7c\\x2e\\xd6\\x8b\\x2f\\xc4\\x97\\xe2\\x2b\\xb1\\x41\\x7c\\x2d\\xbe\\x11\\xdf\\x8a\\xef\\xc4\\xf7\\x62\\xa3\\xe8\\x90\\x4c\\xf2\\xf0\\xfb\\x0d\\x52\\x93\\xe1\\x1f\\xb5\\x33\\xa5\\x25\\x6d\\x99\\x90\\x3d\\x64\\x89\\xec\\x29\\x7b\\xc9\\xde\\xb2\\x8f\\xec\\x2b\\xfb\\xc9\\xad\\x64\\x7f\\xb9\\xb5\\xdc\\x46\\x6e\\x2b\\x07\\xc8\\xed\\xe4\\x40\\xb9\\xbd\\x1c\\x24\\x77\\x90\\x3b\\xca\\x9d\\xe4\\x60\\xb9\\xb3\\xdc\\x45\\xfe\\x44\\x0e\\x91\\x3f\\x95\\xbb\\xca\\xdd\\xe4\\xee\\x72\\x0f\\xb9\\xa7\\xdc\\x4b\\x0e\\x95\\x7b\\xcb\\x61\\x72\\x1f\\x39\\x5c\\x96\\x4a\\x47\\xba\\xd2\\x93\\x49\\x99\\x92\\x65\\xb2\\x5c\\xa6\\xe5\\xbe\\x72\\x3f\\xb9\\xbf\\x3c\\x40\\x1e\\x28\\x0f\\x92\\x07\\xcb\\x0a\\x59\\x29\\xab\\x64\\xb5\\xf4\\xc3\\xb7\\x55\\xe4\\xa1\\xf2\\x30\\x39\\x42\\x1e\\x2e\\x47\\xca\\x23\\xe4\\x91\\x72\\x94\\x1c\\x2d\\x7f\\x26\\x8f\\x92\\x47\\xcb\\x31\\x72\\xac\\x3c\\x46\\x1e\\x2b\\xc7\\xc9\\xe3\\xe4\\x78\\x79\\xbc\\x3c\\x21\\xfc\\x9c\\x5f\\x9e\\x2c\\x27\\xc8\\x8c\\x9c\\x28\\x6b\\x64\\xad\\xcc\\xca\\x49\\x72\\x72\\xf8\\x09\\xbb\\x3c\\x45\\x4e\\x91\\x0d\\xb2\\x91\\xcd\\x93\\x4d\\x32\\x17\\x7e\\xa6\\x2c\\x5b\\x64\\xab\\x6c\\x93\\xed\\x72\\x9a\\x9c\\x1e\\x7e\\x2e\\x2b\\x4f\\x95\\xa7\\xc9\\xd3\\xe5\\x19\\xf2\\x4c\\x79\\x96\\x3c\\x9b\\xfd\\x5e\\x9e\\x23\\xcf\\x95\\xe7\\xc9\\xf3\\xe5\\xcf\\xe5\\x05\\xf2\\x17\\xf2\\x42\\x79\\x91\\xbc\\x58\\x5e\\x22\\x67\\xc9\\xd9\\xf2\\x52\\x79\\x99\\xbc\\x5c\\x5e\\x21\\xaf\\x64\\xbf\\x96\\xbf\\x94\\x57\\xc9\\x5f\\xb1\\xdf\\xca\\xab\\xe5\\xaf\\xe5\\x35\\xf2\\x37\\x72\\x8e\\xfc\\xad\\xbc\\x56\\xfe\\x4e\\x5e\\x27\\x7f\\x2f\\xaf\\x97\\x37\\xc8\\x1b\\xe5\\x1f\\xe4\\x5c\\xf9\\x47\\x79\\x93\\xbc\\x59\\xce\\x93\\xb7\\xc8\\xf9\\xf2\\x56\\x79\\x9b\\xfc\\x93\\xbc\\x5d\\xfe\\x59\\xde\\x21\\xff\\x22\\xef\\x94\\x77\\xc9\\x05\\xf2\\x6e\\x79\\x8f\\xfc\\xab\\xbc\\x57\\xfe\\x4d\\xde\\x27\\xef\\x97\\x0b\\xe5\\xdf\\xe5\\x03\\xf2\\x1f\\xf2\\x41\\xf9\\x90\\x7c\\x58\\x3e\\x12\\x7e\\x3e\\x28\\x1f\\x0f\\x3f\\x89\\x93\\x4f\\xca\\xa7\\xe4\\xd3\\x72\\xb1\\x7c\\x46\\x3e\\x2b\\x9f\\x93\\xcf\\xcb\\x17\\xc2\\xcf\\x84\\xc2\\xcf\\x3d\\xe4\\xcb\\xf2\\x15\\xf9\\xaa\\x7c\\x4d\\xbe\\x2e\\x97\\xc9\\x37\\xc2\\xe7\\xf4\\xf2\\x2d\\xb9\\x42\\xbe\\x2d\\xdf\\x91\\x2b\\xc3\\x27\\xce\\xe1\\x33\\x63\\xb9\\x5a\\xae\\x91\\x1f\\xc8\\x0f\\xe5\\x5a\\xf9\\x91\\xfc\\x58\\x7e\\x22\\xd7\\xc9\\x4f\\xe5\\x67\\xe1\\x33\\x4a\\xf9\\x85\\xfc\\x52\\x7e\\x25\\x37\\xc8\\xaf\\xe5\\x37\\xf2\\x5b\\xf9\\x9d\\xfc\\x5e\\x6e\\x94\\x1d\\x1a\\xd3\\xb8\\x26\\x34\\xa9\\x69\\x9a\\xae\\x19\\x9a\\xa9\\x59\\x9a\\xad\\x25\\xb4\\x1e\\x5a\\x89\\xd6\\x53\\xeb\\xa5\\xf5\\xd6\\xfa\\x68\\x7d\\xb5\\x7e\\xda\\x56\\x5a\\x7f\\x6d\\x6b\\x6d\\x1b\\x6d\\x5b\\x6d\\x80\\xb6\\x9d\\x36\\x50\\xdb\\x5e\\x1b\\xa4\\xed\\xa0\\xed\\xa8\\xed\\xa4\\x0d\\xd6\\x76\\xd6\\x76\\xd1\\x7e\\xa2\\x0d\\xd1\\x7e\\xaa\\xed\\xaa\\xed\\xa6\\xed\\xae\\xed\\xa1\\xed\\xa9\\xed\\xa5\\x0d\\xd5\\xf6\\xd6\\x86\\x69\\xfb\\x68\\xc3\\xb5\\x52\\xcd\\xd1\\x5c\\xcd\\xd3\\x92\\x5a\\x4a\\x2b\\xd3\\xca\\xb5\\xb4\\xb6\\xaf\\xb6\\x9f\\xb6\\xbf\\x76\\x80\\x76\\xa0\\x76\\x90\\x76\\xb0\\x56\\xa1\\x55\\x6a\\x55\\x5a\\xb5\\xe6\\x6b\\x81\\x76\\x88\\x76\\xa8\\x76\\x98\\x36\\x42\\x3b\\x5c\\x1b\\xa9\\x1d\\xa1\\x1d\\xa9\\x8d\\xd2\\x46\\x6b\\x3f\\xd3\\x8e\\xd2\\x8e\\xd6\\xc6\\x68\\x63\\xb5\\x63\\xb4\\x63\\xb5\\x71\\xda\\x71\\xda\\x78\\xed\\x78\\xed\\x04\\xed\\x44\\xed\\x24\\xed\\x64\\x6d\\x82\\x96\\xd1\\x26\\x6a\\x35\\x5a\\xad\\x96\\xd5\\x26\\x69\\x93\\xb5\\x3a\\xad\\x5e\\x3b\\x45\\x9b\\xa2\\x35\\x68\\x8d\\x5a\\x93\\x96\\xd3\\x9a\\xb5\\xa9\\x5a\\x8b\\xd6\\xaa\\xb5\\x69\\xed\\xda\\x34\\x6d\\xba\\x36\\x43\\x9b\\xa9\\x9d\\xaa\\x9d\\xa6\\x9d\\xae\\x9d\\xa1\\x9d\\xa9\\x9d\\xa5\\x9d\\xad\\x9d\\xa3\\x9d\\xab\\x9d\\xa7\\x9d\\xaf\\xfd\\x5c\\xbb\\x40\\xfb\\x85\\x76\\xa1\\x76\\x91\\x76\\xb1\\x76\\x89\\x36\\x4b\\x9b\\xad\\x5d\\xaa\\x5d\\xa6\\x5d\\xae\\x5d\\xa1\\x5d\\xa9\\xfd\\x52\\xbb\\x4a\\xfb\\x95\\x76\\xb5\\xf6\\x6b\\xed\\x1a\\xed\\x37\\xda\\x1c\\xed\\xb7\\xda\\xb5\\xda\\xef\\xb4\\xeb\\xb4\\xdf\\x6b\\xd7\\x6b\\x37\\x68\\x37\\x6a\\x7f\\xd0\\xe6\\x6a\\x7f\\xd4\\x6e\\xd2\\x6e\\xd6\\xe6\\x69\\xb7\\x68\\xf3\\xb5\\x5b\\xb5\\xdb\\xb4\\x3f\\x69\\xb7\\x6b\\x7f\\xd6\\xee\\xd0\\xfe\\xa2\\xdd\\xa9\\xdd\\xa5\\x2d\\xd0\\xee\\xd6\\xee\\xd1\\xfe\\xaa\\xdd\\xab\\xfd\\x4d\\xbb\\x4f\\xbb\\x5f\\x5b\\xa8\\xfd\\x5d\\x7b\\x40\\xfb\\x87\\xf6\\xa0\\xf6\\x90\\xf6\\xb0\\xf6\\x88\\xf6\\xa8\\xf6\\x98\\xf6\\xb8\\xf6\\x84\\xb6\\x48\\x7b\\x52\\x7b\\x4a\\x7b\\x5a\\x5b\\xac\\x3d\\xa3\\x3d\\xab\\x3d\\xa7\\x3d\\xaf\\xbd\\xa0\\xbd\\xa8\\x2d\\xd1\\x5e\\xd2\\x96\\x6a\\x2f\\x6b\\xaf\\x68\\xaf\\x6a\\xaf\\x69\\xaf\\x6b\\xcb\\xb4\\x37\\xb4\\xe5\\xda\\x9b\\xda\\x5b\\xda\\x0a\\xed\\x6d\\xed\\x1d\\x6d\\xa5\\xb6\\x4a\\x7b\\x57\\x7b\\x4f\\x7b\\x5f\\x5b\\xad\\xad\\xd1\\x3e\\xd0\\x3e\\xd4\\xd6\\x6a\\x1f\\x69\\x1f\\x6b\\x9f\\x68\\xeb\\xb4\\x4f\\xb5\\xcf\\xb4\\xcf\\xb5\\xf5\\xda\\x17\\xda\\x97\\xda\\x57\\xda\\x06\\xed\\x6b\\xed\\x1b\\xed\\x5b\\xed\\x3b\\xed\\x7b\\x6d\\xa3\\xd6\\xa1\\x33\\x9d\\xeb\\x42\\x97\\xba\\xa6\\xeb\\xba\\xa1\\x9b\\xba\\xa5\\xdb\\x7a\\x42\\xef\\x11\\xfe\\xed\\x35\\xbd\\x97\\xde\\x5b\\xef\\xa3\\xf7\\xd5\\xfb\\xe9\\x5b\\xe9\\xfd\\xf5\\xad\\xf5\\x6d\\xf4\\x6d\\xf5\\x01\\xfa\\x76\\xfa\\x40\\x7d\\x7b\\x7d\\x90\\xbe\\x83\\xbe\\xa3\\xbe\\x93\\x3e\\x58\\xdf\\x59\\xdf\\x45\\xff\\x89\\x3e\\x44\\xff\\xa9\\xbe\\xab\\xbe\\x9b\\xbe\\xbb\\xbe\\x87\\xbe\\xa7\\xbe\\x97\\x3e\\x54\\xdf\\x5b\\x1f\\xa6\\xef\\xa3\\x0f\\xd7\\x4b\\x75\\x47\\x77\\x75\\x4f\\x4f\\xea\\x29\\xbd\\x4c\\x2f\\xd7\\xd3\\xfa\\xbe\\xfa\\x7e\\xfa\\xfe\\xfa\\x01\\xfa\\x81\\xfa\\x41\\xfa\\xc1\\x7a\\x85\\x5e\\xa9\\x57\\xe9\\xd5\\xba\\xaf\\x07\\xfa\\x21\\xfa\\xa1\\xfa\\x61\\xfa\\x08\\xfd\\x70\\x7d\\xa4\\x7e\\x84\\x7e\\xa4\\x3e\\x4a\\x1f\\xad\\xff\\x4c\\x3f\\x4a\\x3f\\x5a\\x1f\\xa3\\x8f\\xd5\\x8f\\xd1\\x8f\\xd5\\xc7\\xe9\\xc7\\xe9\\xe3\\xf5\\xe3\\xf5\\x13\\xf4\\x13\\xf5\\x93\\xf4\\x93\\xf5\\x09\\x7a\\x46\\x9f\\xa8\\xd7\\xe8\\xb5\\x7a\\x56\\x9f\\xa4\\x4f\\xd6\\xeb\\xf4\\x7a\\xfd\\x14\\x7d\\x8a\\xde\\xa0\\x37\\xea\\x4d\\x7a\\x4e\\x6f\\xd6\\xa7\\xea\\x2d\\x7a\\xab\\xde\\xa6\\xb7\\xeb\\xd3\\xf4\\xe9\\xfa\\x0c\\x7d\\xa6\\x7e\\xaa\\x7e\\x9a\\x7e\\xba\\x7e\\x86\\x7e\\xa6\\x7e\\x96\\x7e\\xb6\\x7e\\x8e\\x7e\\xae\\x7e\\x9e\\x7e\\xbe\\xfe\\x73\\xfd\\x02\\xfd\\x17\\xfa\\x85\\xfa\\x45\\xfa\\xc5\\xfa\\x25\\xfa\\x2c\\x7d\\xb6\\x7e\\xa9\\x7e\\x99\\x7e\\xb9\\x7e\\x85\\x7e\\xa5\\xfe\\x4b\\xfd\\x2a\\xfd\\x57\\xfa\\xd5\\xfa\\xaf\\xf5\\x6b\\xf4\\xdf\\xe8\\x73\\xf4\\xdf\\xea\\xd7\\xea\\xbf\\xd3\\xaf\\xd3\\x7f\\xaf\\x5f\\xaf\\xdf\\xa0\\xdf\\xa8\\xff\\x41\\x9f\\xab\\xff\\x51\\xbf\\x49\\xbf\\x59\\x9f\\xa7\\xdf\\xa2\\xcf\\xd7\\x6f\\xd5\\x6f\\xd3\\xff\\xa4\\xdf\\xae\\xff\\x59\\xbf\\x43\\xff\\x8b\\x7e\\xa7\\x7e\\x97\\xbe\\x40\\xbf\\x5b\\xbf\\x47\\xff\\xab\\x7e\\xaf\\xfe\\x37\\xfd\\x3e\\xfd\\x7e\\x7d\\xa1\\xfe\\x77\\xfd\\x01\\xfd\\x1f\\xfa\\x83\\xfa\\x43\\xfa\\xc3\\xfa\\x23\\xfa\\xa3\\xfa\\x63\\xfa\\xe3\\xfa\\x13\\xfa\\x22\\xfd\\x49\\xfd\\x29\\xfd\\x69\\x7d\\xb1\\xfe\\x8c\\xfe\\xac\\xfe\\x9c\\xfe\\xbc\\xfe\\x82\\xfe\\xa2\\xbe\\x44\\x7f\\x49\\x5f\\xaa\\xbf\\xac\\xbf\\xa2\\xbf\\xaa\\xbf\\xa6\\xbf\\xae\\x2f\\xd3\\xdf\\xd0\\x97\\xeb\\x6f\\xea\\x6f\\xe9\\x2b\\xf4\\xb7\\xf5\\x77\\xf4\\x95\\xfa\\x2a\\xfd\\x5d\\xfd\\x3d\\xfd\\x7d\\x7d\\xb5\\xbe\\x46\\xff\\x40\\xff\\x50\\x5f\\xab\\x7f\\xa4\\x7f\\xac\\x7f\\xa2\\xaf\\xd3\\x3f\\xd5\\x3f\\xd3\\x3f\\xd7\\xd7\\xeb\\x5f\\xe8\\x5f\\xea\\x5f\\xe9\\x1b\\xf4\\xaf\\xf5\\x6f\\xf4\\x6f\\xf5\\xef\\xf4\\xef\\xf5\\x8d\\x7a\\x87\\xc1\\x0c\\x1e\\x7e\\x7b\\xdf\\xd0\\x0c\\xdd\\x30\\x0c\\xd3\\xb0\\x0c\\xdb\\x48\\x18\\x3d\\x8c\\x12\\xa3\\xa7\\xd1\\xcb\\xe8\\x6d\\xf4\\x31\\xfa\\x1a\\xfd\\x8c\\xad\\x8c\\xfe\\xc6\\xd6\\xc6\\x36\\xc6\\xb6\\xc6\\x00\\x63\\x3b\\x63\\xa0\\xb1\\xbd\\x31\\xc8\\xd8\\xc1\\xd8\\xd1\\xd8\\xc9\\x18\\x6c\\xec\\x6c\\xec\\x62\\xfc\\xc4\\x18\\x62\\xfc\\xd4\\xd8\\xd5\\xd8\\xcd\\xd8\\xdd\\xd8\\xc3\\xd8\\xd3\\xd8\\xcb\\x18\\x6a\\xec\\x6d\\x0c\\x33\\xf6\\x31\\x86\\x1b\\xa5\\x86\\x63\\xb8\\x86\\x67\\x24\\x8d\\x94\\x51\\x66\\x94\\x1b\\x69\\x63\\x5f\\x63\\x3f\\x63\\x7f\\xe3\\x00\\xe3\\x40\\xe3\\x20\\xe3\\x60\\xa3\\xc2\\xa8\\x34\\xaa\\x8c\\x6a\\xc3\\x37\\x02\\xe3\\x10\\xe3\\x50\\xe3\\x30\\x63\\x84\\x71\\xb8\\x31\\xd2\\x38\\xc2\\x38\\xd2\\x18\\x65\\x8c\\x36\\x7e\\x66\\x1c\\x65\\x1c\\x6d\\x8c\\x31\\xc6\\x1a\\xc7\\x18\\xc7\\x1a\\xe3\\x8c\\xe3\\x8c\\xf1\\xc6\\xf1\\xc6\\x09\\xc6\\x89\\xc6\\x49\\xc6\\xc9\\xc6\\x04\\x23\\x63\\x4c\\x34\\x6a\\x8c\\x5a\\x23\\x6b\\x4c\\x32\\x26\\x1b\\x75\\x46\\xbd\\x71\\x8a\\x31\\xc5\\x68\\x30\\x1a\\x8d\\x26\\x23\\x67\\x34\\x1b\\x53\\x8d\\x16\\xa3\\xd5\\x68\\x33\\xda\\x8d\\x69\\xc6\\x74\\x63\\x86\\x31\\xd3\\x38\\xd5\\x38\\xcd\\x38\\xdd\\x38\\xc3\\x38\\xd3\\x38\\xcb\\x38\\xdb\\x38\\xc7\\x38\\xd7\\x38\\xcf\\x38\\xdf\\xf8\\xb9\\x71\\x81\\xf1\\x0b\\xe3\\x42\\xe3\\x22\\xe3\\x62\\xe3\\x12\\x63\\x96\\x31\\xdb\\xb8\\xd4\\xb8\\xcc\\xb8\\xdc\\xb8\\xc2\\xb8\\xd2\\xf8\\xa5\\x71\\x95\\xf1\\x2b\\xe3\\x6a\\xe3\\xd7\\xc6\\x35\\xc6\\x6f\\x8c\\x39\\xc6\\x6f\\x8d\\x6b\\x8d\\xdf\\x19\\xd7\\x19\\xbf\\x37\\xae\\x37\\x6e\\x30\\x6e\\x34\\xfe\\x60\\xcc\\x35\\xfe\\x68\\xdc\\x64\\xdc\\x6c\\xcc\\x33\\x6e\\x31\\xe6\\x1b\\xb7\\x1a\\xb7\\x19\\x7f\\x32\\x6e\\x37\\xfe\\x6c\\xdc\\x61\\xfc\\xc5\\xb8\\xd3\\xb8\\xcb\\x58\\x60\\xdc\\x6d\\xdc\\x63\\xfc\\xd5\\xb8\\xd7\\xf8\\x9b\\x71\\x9f\\x71\\xbf\\xb1\\xd0\\xf8\\xbb\\xf1\\x80\\xf1\\x0f\\xe3\\x41\\xe3\\x21\\xe3\\x61\\xe3\\x11\\xe3\\x51\\xe3\\x31\\xe3\\x71\\xe3\\x09\\x63\\x91\\xf1\\xa4\\xf1\\x94\\xf1\\xb4\\xb1\\xd8\\x78\\xc6\\x78\\xd6\\x78\\xce\\x78\\xde\\x78\\xc1\\x78\\xd1\\x58\\x62\\xbc\\x64\\x2c\\x35\\x5e\\x36\\x5e\\x31\\x5e\\x35\\x5e\\x33\\x5e\\x37\\x96\\x19\\x6f\\x18\\xcb\\x8d\\x37\\x8d\\xb7\\x8c\\x15\\xc6\\xdb\\xc6\\x3b\\xc6\\x4a\\x63\\x95\\xf1\\xae\\xf1\\x9e\\xf1\\xbe\\xb1\\xda\\x58\\x63\\x7c\\x60\\x7c\\x68\\xac\\x35\\x3e\\x32\\x3e\\x36\\x3e\\x31\\xd6\\x19\\x9f\\x1a\\x9f\\x19\\x9f\\x1b\\xeb\\x8d\\x2f\\x8c\\x2f\\x8d\\xaf\\x8c\\x0d\\xc6\\xd7\\xc6\\x37\\xc6\\xb7\\xc6\\x77\\xc6\\xf7\\xc6\\x46\\xa3\\xc3\\x64\\x26\\x37\\x85\\x29\\x4d\\xcd\\xd4\\x4d\\xc3\\x34\\x4d\\xcb\\xb4\\xcd\\x84\\xd9\\xc3\\x2c\\x31\\x7b\\x9a\\xbd\\xcc\\xde\\x66\\x1f\\xb3\\xaf\\xd9\\xcf\\xdc\\xca\\xec\\x6f\\x6e\\x6d\\x6e\\x63\\x6e\\x6b\\x0e\\x30\\xb7\\x33\\x07\\x9a\\xdb\\x9b\\x83\\xcc\\x1d\\xcc\\x1d\\xcd\\x9d\\xcc\\xc1\\xe6\\xce\\xe6\\x2e\\xe6\\x4f\\xcc\\x21\\xe6\\x4f\\xcd\\x5d\\xcd\\xdd\\xcc\\xdd\\xcd\\x3d\\xcc\\x3d\\xcd\\xbd\\xcc\\xa1\\xe6\\xde\\xe6\\x30\\x73\\x1f\\x73\\xb8\\x59\\x6a\\x3a\\xa6\\x6b\\x7a\\x66\\xd2\\x4c\\x99\\x65\\x66\\xb9\\x99\\x36\\xf7\\x35\\xf7\\x33\\xf7\\x37\\x0f\\x30\\x0f\\x34\\x0f\\x32\\x0f\\x36\\x2b\\xcc\\x4a\\xb3\\xca\\xac\\x36\\x7d\\x33\\x30\\x0f\\x31\\x0f\\x35\\x0f\\x33\\x47\\x98\\x87\\x9b\\x23\\xcd\\x23\\xcc\\x23\\xcd\\x51\\xe6\\x68\\xf3\\x67\\xe6\\x51\\xe6\\xd1\\xe6\\x18\\x73\\xac\\x79\\x8c\\x79\\xac\\x39\\xce\\x3c\\xce\\x1c\\x6f\\x1e\\x6f\\x9e\\x60\\x9e\\x68\\x9e\\x64\\x9e\\x6c\\x4e\\x30\\x33\\xe6\\x44\\xb3\\xc6\\xac\\x35\\xb3\\xe6\\x24\\x73\\xb2\\x59\\x67\\xd6\\x9b\\xa7\\x98\\x53\\xcc\\x06\\xb3\\xd1\\x6c\\x32\\x73\\x66\\xb3\\x39\\xd5\\x6c\\x31\\x5b\\xcd\\x36\\xb3\\xdd\\x9c\\x66\\x4e\\x37\\x67\\x98\\x33\\xcd\\x53\\xcd\\xd3\\xcc\\xd3\\xcd\\x33\\xcc\\x33\\xcd\\xb3\\xcc\\xb3\\xcd\\x73\\xcc\\x73\\xcd\\xf3\\xcc\\xf3\\xcd\\x9f\\x9b\\x17\\x98\\xbf\\x30\\x2f\\x34\\x2f\\x32\\x2f\\x36\\x2f\\x31\\x67\\x99\\xb3\\xcd\\x4b\\xcd\\xcb\\xcc\\xcb\\xcd\\x2b\\xcc\\x2b\\xcd\\x5f\\x9a\\x57\\x99\\xbf\\x32\\xaf\\x36\\x7f\\x6d\\x5e\\x63\\xfe\\xc6\\x9c\\x63\\xfe\\xd6\\xbc\\xd6\\xfc\\x9d\\x79\\x9d\\xf9\\x7b\\xf3\\x7a\\xf3\\x06\\xf3\\x46\\xf3\\x0f\\xe6\\x5c\\xf3\\x8f\\xe6\\x4d\\xe6\\xcd\\xe6\\x3c\\xf3\\x16\\x73\\xbe\\x79\\xab\\x79\\x9b\\xf9\\x27\\xf3\\x76\\xf3\\xcf\\xe6\\x1d\\xe6\\x5f\\xcc\\x3b\\xcd\\xbb\\xcc\\x05\\xe6\\xdd\\xe6\\x3d\\xe6\\x5f\\xcd\\x7b\\xcd\\xbf\\x99\\xf7\\x99\\xf7\\x9b\\x0b\\xcd\\xbf\\x9b\\x0f\\x98\\xff\\x30\\x1f\\x34\\x1f\\x32\\x1f\\x36\\x1f\\x31\\x1f\\x35\\x1f\\x33\\x1f\\x37\\x9f\\x30\\x17\\x99\\x4f\\x9a\\x4f\\x99\\x4f\\x9b\\x8b\\xcd\\x67\\xcc\\x67\\xcd\\xe7\\xcc\\xe7\\xcd\\x17\\xcc\\x17\\xcd\\x25\\xe6\\x4b\\xe6\\x52\\xf3\\x65\\xf3\\x15\\xf3\\x55\\xf3\\x35\\xf3\\x75\\x73\\x99\\xf9\\x86\\xb9\\xdc\\x7c\\xd3\\x7c\\xcb\\x5c\\x61\\xbe\\x6d\\xbe\\x63\\xae\\x34\\x57\\x99\\xef\\x9a\\xef\\x99\\xef\\x9b\\xab\\xcd\\x35\\xe6\\x07\\xe6\\x87\\xe6\\x5a\\xf3\\x23\\xf3\\x63\\xf3\\x13\\x73\\x9d\\xf9\\xa9\\xf9\\x99\\xf9\\xb9\\xb9\\xde\\xfc\\xc2\\xfc\\xd2\\xfc\\xca\\xdc\\x60\\x7e\\x6d\\x7e\\x63\\x7e\\x6b\\x7e\\x67\\x7e\\x6f\\x6e\\x34\\x3b\\x2c\\xc6\\xee\\x64\\x77\\x59\\x3c\\xfc\\xab\\xaa\\xec\\x1e\\xf6\\x57\\xf6\\xa8\\xa5\\xb1\\x05\\xec\\x6e\\xf6\\x98\\xa5\\xb3\\x73\\xd9\\xc3\\xec\\x17\\xec\\x56\\xcb\\xb0\\x4c\\xcb\\xb2\\x6c\\x2b\\x61\\xf5\\x60\\x8f\\x5b\\x25\\x56\\x4f\\xab\\x17\\x7b\\x80\\xfd\\xc3\\xea\\x6d\\xf5\\x61\\x0b\\xad\\xbe\\x56\\x3f\\x6b\\x2b\\xab\\xbf\\xb5\\xb5\\xb5\\x8d\\xb5\\xad\\x35\\xc0\\xda\\xce\\x1a\\x68\\x6d\\x6f\\x0d\\xb2\\x76\\xb0\\x76\\xb4\\x76\\xb2\\x06\\x5b\\x3b\\x5b\\xbb\\x58\\x3f\\xb1\\x86\\xb0\\xaf\\xac\\x9f\\x5a\\xbb\\x5a\\xbb\\x59\\xbb\\x5b\\x7b\\x58\\x7b\\x5a\\x7b\\x59\\x43\\xad\\xbd\\xad\\x61\\xd6\\x3e\\xd6\\x70\\xab\\xd4\\x72\\x2c\\xd7\\xf2\\xac\\xa4\\x95\\xb2\\xca\\xac\\x72\\x2b\\x6d\\xed\\x6b\\xed\\xc7\\x66\\x59\\xfb\\x5b\\x07\\x58\\x07\\x5a\\x07\\x59\\x07\\x5b\\x15\\x56\\xa5\\x55\\x65\\x55\\x5b\\xbe\\x15\\x58\\x87\\x58\\x87\\x5a\\x87\\x59\\x23\\xac\\xc3\\xad\\x91\\xd6\\x11\\xec\\x1a\\xeb\\x48\\x36\\x87\\xfd\\x86\\x7d\\x62\\x8d\\x62\\x8f\\xb0\\x3f\\xb2\\x2b\\xad\\xd1\\xd6\\xcf\\xd8\\xb5\\xec\\x66\\x76\\x99\\x75\\x14\\xbb\\x8a\\xfd\\xca\\x3a\\xda\\x1a\\x63\\x8d\\xb5\\x8e\\xb1\\x8e\\xb5\\xc6\\x59\\xc7\\x59\\xe3\\xad\\xe3\\xad\\x13\\xac\\x13\\xad\\x93\\xac\\x93\\xad\\x09\\x56\\xc6\\x9a\\x68\\xd5\\x58\\xb5\\x56\\xd6\\x9a\\x64\\x4d\\xb6\\xea\\xac\\x7a\\xeb\\x14\\x6b\\x8a\\xd5\\x60\\x35\\x5a\\x4d\\x56\\xce\\x6a\\xb6\\xa6\\x5a\\x2d\\x56\\xab\\xd5\\x66\\xb5\\x5b\\xd3\\xac\\xe9\\xd6\\x0c\\x6b\\xa6\\x75\\xaa\\x75\\x9a\\x75\\xba\\x75\\x86\\x75\\xa6\\x75\\x96\\x75\\xb6\\x75\\x8e\\x75\\xae\\x75\\x9e\\x75\\xbe\\xf5\\x73\\xeb\\x02\\xeb\\x17\\xd6\\x85\\xd6\\x45\\xd6\\xc5\\xd6\\x25\\xd6\\x2c\\x6b\\xb6\\x75\\xa9\\x75\\x19\\xfb\\x9b\\x75\\xb9\\x75\\x85\\x75\\xa5\\xf5\\x4b\\xeb\\x2a\\xeb\\x57\\xd6\\xd5\\xd6\\xaf\\xad\\x6b\\xac\\xdf\\x58\\x73\\xac\\xdf\\x5a\\xd7\\x5a\\xbf\\xb3\\xae\\xb3\\x7e\\x6f\\x5d\\x6f\\xdd\\x60\\xdd\\x68\\xfd\\xc1\\x9a\\x6b\\xfd\\xd1\\xba\\xc9\\xba\\xd9\\x9a\\x67\\xdd\\x62\\xcd\\xb7\\x6e\\xb5\\x6e\\xb3\\xfe\\x64\\xdd\\x6e\\xfd\\xd9\\xba\\xc3\\xfa\\x8b\\x75\\xa7\\x75\\x97\\xb5\\xc0\\xba\\xdb\\xba\\xc7\\xfa\\xab\\x75\\xaf\\xf5\\x37\\xeb\\x3e\\xeb\\x7e\\x6b\\xa1\\xf5\\x77\\xeb\\x01\\xeb\\x1f\\xd6\\x83\\xd6\\x43\\xd6\\xc3\\xd6\\x23\\xd6\\xa3\\xd6\\x63\\xd6\\xe3\\xd6\\x13\\xd6\\x22\\xeb\\x49\\xeb\\x29\\xeb\\x69\\x6b\\xb1\\xf5\\x8c\\xf5\\xac\\xf5\\x9c\\xf5\\xbc\\xf5\\x82\\xf5\\xa2\\xb5\\xc4\\x7a\\xc9\\x5a\\x6a\\xbd\\x6c\\xbd\\x62\\xbd\\x6a\\xbd\\x66\\xbd\\x6e\\x2d\\xb3\\xde\\xb0\\x96\\x5b\\x6f\\x5a\\x6f\\x59\\x2b\\xac\\xb7\\xad\\x77\\xac\\x95\\xd6\\x2a\\xeb\\x5d\\xeb\\x3d\\xeb\\x7d\\x6b\\xb5\\xb5\\xc6\\xfa\\xc0\\xfa\\xd0\\x5a\\x6b\\x7d\\x64\\x7d\\x6c\\x7d\\x62\\xad\\xb3\\x3e\\xb5\\x3e\\xb3\\x3e\\xb7\\xd6\\x5b\\x5f\\x58\\x5f\\x5a\\x5f\\x59\\x1b\\xac\\xaf\\xad\\x6f\\xac\\x6f\\xad\\xef\\xac\\xef\\xad\\x8d\\x56\\x87\\xcd\\x6c\\x6e\\x0b\\x5b\\xda\\x9a\\xad\\xdb\\x86\\x6d\\xda\\x96\\x6d\\xdb\\x09\\xbb\\x87\\x5d\\x62\\xf7\\xb4\\x7b\\xd9\\xbd\\xed\\x3e\\x76\\x5f\\xbb\\x9f\\xbd\\x95\\xdd\\xdf\\xde\\xda\\xde\\xc6\\xde\\xd6\\x1e\\x60\\x6f\\x67\\x0f\\xb4\\xb7\\xb7\\x07\\xd9\\x3b\\xd8\\x3b\\xda\\x3b\\xd9\\x83\\xed\\x9d\\xed\\x5d\\xec\\x9f\\xd8\\x43\\xec\\x9f\\xda\\xbb\\xda\\xbb\\xd9\\xbb\\xdb\\x7b\\xd8\\x7b\\xda\\x7b\\xd9\\x43\\xed\\xbd\\xed\\x61\\xf6\\x3e\\xf6\\x70\\xbb\\xd4\\x76\\x6c\\xd7\\xf6\\xec\\xa4\\x9d\\xb2\\xcb\\xec\\x72\\x3b\\x6d\\xef\\x6b\\xef\\x67\\xef\\x6f\\x1f\\x60\\x1f\\x68\\x1f\\x64\\x1f\\x6c\\x57\\xd8\\x95\\x76\\x95\\x5d\\x6d\\xfb\\x76\\x60\\x1f\\x62\\x1f\\x6a\\x1f\\x66\\x8f\\xb0\\x0f\\xb7\\x47\\xda\\x47\\xd8\\x47\\xda\\xa3\\xec\\xd1\\xf6\\xcf\\xec\\xa3\\xec\\xa3\\xed\\x31\\xf6\\x58\\xfb\\x18\\xfb\\x58\\x7b\\x9c\\x7d\\x9c\\x3d\\xde\\x3e\\xde\\x3e\\xc1\\x3e\\xd1\\x3e\\xc9\\x3e\\xd9\\x9e\\x60\\x67\\xec\\x89\\x76\\x8d\\x5d\\x6b\\x67\\xed\\x49\\xf6\\x64\\xbb\\xce\\xae\\xb7\\x4f\\xb1\\xa7\\xd8\\x0d\\x76\\xa3\\xdd\\x64\\xe7\\xec\\x66\\x7b\\xaa\\xdd\\x62\\xb7\\xda\\x6d\\x76\\xbb\\x3d\\xcd\\x9e\\x6e\\xcf\\xb0\\x67\\xda\\xa7\\xda\\xa7\\xd9\\xa7\\xdb\\x67\\xd8\\x67\\xda\\x67\\xd9\\x67\\xdb\\xe7\\xd8\\xe7\\xda\\xe7\\xd9\\xe7\\xdb\\x3f\\xb7\\x2f\\xb0\\x7f\\x61\\x5f\\x68\\x5f\\x64\\x5f\\x6c\\x5f\\x62\\xcf\\xb2\\x67\\xdb\\x97\\xda\\x97\\xd9\\x97\\xdb\\x57\\xd8\\x57\\xda\\xbf\\xb4\\xaf\\xb2\\x7f\\x65\\x5f\\x6d\\xff\\xda\\xbe\\xc6\\xfe\\x8d\\x3d\\xc7\\xfe\\xad\\x7d\\xad\\xfd\\x3b\\xfb\\x3a\\xfb\\xf7\\xf6\\xf5\\xf6\\x0d\\xf6\\x8d\\xf6\\x1f\\xec\\xb9\\xf6\\x1f\\xed\\x9b\\xec\\x9b\\xed\\x79\\xf6\\x2d\\xf6\\x7c\\xfb\\x56\\xfb\\x36\\xfb\\x4f\\xf6\\xed\\xf6\\x9f\\xed\\x3b\\xec\\xbf\\xd8\\x77\\xda\\x77\\xd9\\x0b\\xec\\xbb\\xed\\x7b\\xec\\xbf\\xda\\xf7\\xda\\x7f\\xb3\\xef\\xb3\\xef\\xb7\\x17\\xda\\x7f\\xb7\\x1f\\xb0\\xff\\x61\\x3f\\x68\\x3f\\x64\\x3f\\x6c\\x3f\\x62\\x3f\\x6a\\x3f\\x66\\x3f\\x6e\\x3f\\x61\\x2f\\xb2\\x9f\\xb4\\x9f\\xb2\\x9f\\xb6\\x17\\xdb\\xcf\\xd8\\xcf\\xda\\xcf\\xd9\\xcf\\xdb\\x2f\\xd8\\x2f\\xda\\x4b\\xec\\x97\\xec\\xa5\\xf6\\xcb\\xf6\\x2b\\xf6\\xab\\xf6\\x6b\\xf6\\xeb\\xf6\\x32\\xfb\\x0d\\x7b\\xb9\\xfd\\xa6\\xfd\\x96\\xbd\\xc2\\x7e\\xdb\\x7e\\xc7\\x5e\\x69\\xaf\\xb2\\xdf\\xb5\\xdf\\xb3\\xdf\\xb7\\x57\\xdb\\x6b\\xec\\x0f\\xec\\x0f\\xed\\xb5\\xf6\\x47\\xf6\\xc7\\xf6\\x27\\xf6\\x3a\\xfb\\x53\\xfb\\x33\\xfb\\x73\\x7b\\xbd\\xfd\\x85\\xfd\\xa5\\xfd\\x95\\xbd\\xc1\\xfe\\xda\\xfe\\xc6\\xfe\\xd6\\xfe\\xce\\xfe\\xde\\xde\\x68\\x77\\x24\\x58\\x82\\x27\\x44\\x42\\x26\\xb4\\x84\\x9e\\x30\\x12\\x66\\xc2\\x4a\\xd8\\x89\\x44\\xa2\\x47\\xa2\\x24\\xd1\\x33\\xd1\\x2b\\xd1\\x3b\\xd1\\x27\\xd1\\x37\\xd1\\x2f\\xb1\\x55\\xa2\\x7f\\x62\\xeb\\xc4\\x36\\x89\\x6d\\x13\\x03\\x12\\xdb\\x25\\x06\\x26\\xb6\\x4f\\x0c\\x4a\\xec\\x90\\xd8\\x31\\xb1\\x53\\x62\\xb0\\xd9\\xde\\x54\\x3f\\x7c\\x78\\xc5\\x70\\xa4\\xd5\\x76\\x6e\\x5a\\xb6\\xa5\\xb5\\x26\\xd7\\x92\\x95\\x8d\\xed\\xa5\\x46\\x63\\x7d\\x6d\\x6d\\xae\\xcd\\xac\\x68\\x0c\\x9f\\x36\\x37\\x99\\x99\\x28\\x35\\x2a\\x26\\xb6\\x64\\xa7\\x65\\x8d\\x8c\\x4a\\xcc\\x8a\\xdc\\xe4\\x5c\\x53\\x76\\x8a\\x99\\x89\\xd2\\x1e\\x55\\x35\\xf5\\x2d\\x35\\xed\\x8d\\x93\\x1a\\xb2\\x33\\x7a\\xd4\\x14\\xf2\\x89\\x2a\\x12\\x95\\xa9\\xa9\\xc9\\x36\\xb5\\x25\\x6a\\xf2\\x59\\xa3\\xba\\x26\\x13\\x8a\\xac\\x8d\\x92\\x6a\\x92\\x9f\\x69\\x33\\x7d\\x00\\x66\\x01\\xe8\\x47\\x80\\x59\\x95\\x24\\xfc\\x82\\xa0\\x6c\\x3e\\x6b\\xfa\\x50\\x23\\x1b\\xa5\\x86\\x1f\\x49\\xcc\\xaa\\xa4\\xc7\\x21\\x31\\xa5\\x26\\xc7\\x94\\x3a\\xa4\\x20\\x6b\\x72\\x3e\\x5b\\x72\\x48\\x4d\\xae\\xb1\\x31\\x83\\xc2\\xe4\\x58\\xa1\\xc7\\xa1\\x31\\x39\\x75\\x85\\xbc\\x76\\xe8\\xc4\\x4c\\x8b\\x56\\x47\\x91\\x71\\x58\\x5b\\x7d\\x43\\x6d\\xd6\\xa8\\x57\\x89\\x79\\x18\\x46\\x52\\x8f\\x91\\x1c\\x16\\x8d\\xa4\\x3e\\x32\\xdd\\x61\\xd0\\xb9\\x3e\\x4a\\xc5\\x61\\x23\\x44\\xfd\\x29\\x3d\\x46\\xc4\\x30\\x4e\\x29\\xe4\\x4b\\x0e\\x8f\\x6b\\x35\\xa5\\x4b\\x61\\x72\\xf8\\xe1\\x45\\x43\\xa6\\xa9\\xb6\\xbe\\xc6\\x18\\x99\\xa9\\x69\\x6f\\xcb\\x1a\\x0d\\x2a\\x29\\x19\\x19\\x6f\\xd7\\x10\\x2b\\x18\\x23\\x23\\x03\\x35\\xa8\\x44\\x1b\\x49\\xa3\\xd7\\x1a\\x28\\x32\\x8e\\x8c\\xfa\\x37\\x45\\xfd\\x8f\\x8c\\xf7\\x6f\\x8a\\xf7\\x3f\\x32\\xea\\xdf\\x14\\x19\\xb8\\x29\\xd3\\x9c\\x6b\\x6d\\x6b\\xc9\\x35\\xd7\\x65\\xa5\\xdf\\x34\\x59\\x66\\x9b\\x26\\x9b\\xa3\\x30\\xf8\\x1c\\x06\\x3f\\x2a\\x1a\\x7c\\x4e\\x25\\x3d\\x47\\xd5\\xb5\\x37\\x4d\\xce\\xb4\\xb4\\x37\\x36\\x64\\xda\\xdb\\x7a\\xe6\\xe2\\x25\\xe3\\xa8\\x48\\x87\\x96\\x48\\x87\\xa3\\xe2\\x3a\\xb4\\xc4\\x75\\x38\\x2a\\xd2\\xa1\\x25\\x4a\\x8e\\x8e\\x7a\\xb5\\xaa\\xa4\\xc7\\xd1\\x31\\x33\\xb6\\xc6\\xcc\\x38\\x26\\x2e\\xad\\x2d\\x2e\\x6d\\x4c\\x24\\xa6\\x2d\\xb2\\xc8\\x98\\x70\\x4a\\xdb\\xc2\\x29\\x1d\\x1b\\x4d\\x69\\x7b\\x34\\xa5\\x63\\x31\\xaa\\x76\\x8c\\x6a\\x6c\\x34\\xaa\\x76\\x95\\xe8\\x63\\x5b\\xea\\x9b\\x26\\xeb\\xed\\x61\\xdc\\x73\\x6c\\x97\\x11\\xb6\\xc7\\x4b\\xe6\\x58\\x4c\\x7d\\x3b\\xee\\x9a\\x63\\x63\\xda\\x4e\\x8f\\xe5\\x8f\\x8b\\xe5\\x67\\x16\\xf2\\xc6\\xf8\\x68\\xac\\xa7\\xaa\\x24\\x31\\xbe\\xb0\\x8c\\x4f\\xcd\\x67\\xf5\\x86\\x5c\\xd3\\xe4\\x56\\x75\\x6b\\x97\\x96\\x0f\\x47\\x5a\\x8a\\xd4\\x41\\xea\\x22\\xf5\\x90\\x26\\x91\\xa6\\x90\\x96\\x21\\x2d\\x47\\x9a\\x46\\x5a\\x81\\xb4\\x12\\x69\\x15\\xd2\\x6a\\xa4\\x3e\\xd2\\x20\\x4a\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xdc\\x34\\x70\\xd3\\xc0\\x4d\\x03\\x37\\x0d\\xdc\\x34\\x70\\xd3\\xc0\\x4d\\x03\\x37\\x0d\\xdc\\x34\\x70\\xd3\\xc0\\x4d\\x03\\x37\\x1d\\xe8\\xa3\\xea\\x72\\x2d\\x74\\x04\\x0d\\xe3\\xa8\\xae\\x02\\x63\\xae\\x00\\x76\\x05\\xb0\\x2b\\x80\\x5d\\x01\\xec\\x0a\\x60\\x57\\x00\\xbb\\x02\\xd8\\x15\\xc0\\xae\\x00\\x76\\x05\\xb0\\x2b\\x80\\x5d\\xe1\\xeb\\x63\\x15\\x66\\x7b\\x01\\xb3\\x12\\xe3\\xad\\x04\\x76\\x25\\xb0\\x2b\\x81\\x5d\\x09\\xec\\x4a\\x60\\x57\\x02\\xbb\\x12\\xd8\\x95\\xc0\\xae\\x04\\x76\\x25\\xb0\\x2b\\x81\\x5d\\x09\\xec\\x4a\\x8c\\xbb\\x12\\xf6\\xae\\x82\\xbd\\xab\\x80\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\x55\\xc0\\xaf\\x02\\x7e\\x15\\xf0\\xab\\x80\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\x55\\xc0\\xaf\\x02\\x7e\\x35\\xf0\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x1a\\xf8\\xd5\\xc0\\xaf\\x06\\x7e\\x35\\xf0\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x1a\\xf8\\xd5\\xc0\\xaf\\x06\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\x03\\xdf\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\x03\\xdf\\x07\\x7e\\x00\\xfc\\x00\\xf8\\x01\\xf0\\x03\\xe0\\x07\\xc0\\x0f\\x80\\x1f\\x00\\x3f\\x00\\x7e\\x00\\xfc\\x20\\x9d\\xa8\\x08\\xf7\\x92\\xe8\\x36\\xcf\\xe4\\xb3\\x66\\x85\\x1f\\xa5\\x99\\x6c\\xb4\\xdb\\x8d\\x6a\\x6d\\xc8\\xb4\\xd6\\x45\\xf9\\x5c\\x21\\xaf\\xa4\\x38\\xc3\\x87\\x23\\x2d\\x45\\xea\\x20\\x75\\x91\\x7a\\x48\\x93\\x48\\x53\\x48\\xcb\\x90\\x96\\x23\\x4d\\x23\\xad\\x40\\x5a\\x89\\xb4\\x0a\\x69\\x35\\x52\\x1f\\x69\\x64\\x0d\\xa7\\x14\\xf8\\xa5\\xc0\\x2f\\x05\\x7e\\x29\\xf0\\x4b\\x81\\x5f\\x0a\\xfc\\x52\\xe0\\x97\\x96\\x95\\x1c\\x1d\\xdf\\xad\\x5b\\x63\\x05\\xb4\\x80\\x26\\xa5\\xd0\\xa4\\x14\\x9a\\x94\\x42\\x93\\x52\\x68\\x52\\x0a\\x4d\\x1c\\x68\\xe2\\x40\\x13\\x07\\x9a\\x38\\xd0\\xc4\\x81\\x26\\x0e\\x34\\x71\\xa0\\x89\\x03\\x4b\\x38\\xb0\\x84\\x03\\x4b\\x38\\xc0\\x77\\x80\\xef\\x00\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x9b\\xb2\\x4f\\x19\\x46\\x3b\\x7a\\x43\\xb6\\xb5\\x15\\x35\\xd0\\xc0\\x85\\x06\\x2e\\x34\\x70\\xa1\\x81\\x0b\\x0d\\x5c\\x68\\xe0\\x42\\x03\\x17\\x1a\\x78\\xd0\\xc0\\x83\\x06\\x1e\\x34\\xf0\\xa0\\x81\\x07\\x0d\\x3c\\x68\\xe0\\xc1\\x02\\x1e\\x2c\\xe0\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf7\\x80\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x5f\\x06\\xfc\\x32\\xe0\\x97\\x01\\xbf\\x0c\\xf8\\x65\\xc0\\x2f\\x03\\x7e\\x19\\xf0\\xcb\\x80\\x5f\\x06\\xfc\\x32\\xe0\\x97\\x01\\xbf\\x0c\\xf8\\x65\\xc0\\x2f\\x03\\x7e\\x19\\xf0\\xcb\\x80\\x0f\\x4f\\xc0\\x81\\x27\\xe0\\xc0\\x13\\x70\\xe0\\x09\\x38\\xf0\\x04\\x1c\\x78\\x02\\x0e\\x3c\\x01\\x07\\x9e\\x80\\x03\\x4f\\xc0\\x81\\x27\\xe0\\xc0\\x13\\x70\\xe0\\x09\\x38\\xf0\\x04\\x1c\\x78\\x02\\x0e\\x3c\\x01\\x07\\x9e\\x80\\x03\\x4f\\xc0\\x81\\x27\\xe0\\xa4\\x81\\x0f\\x8f\\xc0\\x81\\x47\\xe0\\xc0\\x23\\x70\\xe0\\x11\\x38\\xf0\\x08\\x1c\\x78\\x04\\x0e\\x3c\\x02\\x07\\x1e\\x81\\x03\\x8f\\xc0\\x81\\x47\\xe0\\xc0\\x23\\x70\\xe0\\x11\\x38\\x69\\xe0\\xe3\\xb0\\xe3\\x54\\x00\\x1f\\x5e\\x81\\x03\\xaf\\xc0\\x81\\x57\\xe0\\xc0\\x2b\\x70\\xe0\\x15\\x38\\xf0\\x0a\\x1c\\x78\\x05\\x0e\\xbc\\x02\\x07\\x5e\\x81\\x03\\xaf\\xc0\\x81\\x57\\xe0\\xc0\\x2b\\x70\\x2a\\x80\\x5f\\x01\\xfc\\x4a\\xe0\\xc3\\x33\\x70\\xe0\\x19\\x38\\xf0\\x0c\\x1c\\x78\\x06\\x0e\\x3c\\x03\\x07\\x9e\\x81\\x03\\xcf\\xc0\\x81\\x67\\xe0\\xc0\\x33\\x70\\xe0\\x19\\x38\\xf0\\x0c\\x1c\\x78\\x06\\x0e\\x3c\\x03\\x07\\x9e\\x81\\x03\\xcf\\xc0\\x81\\x67\\xe0\\xc0\\x33\\x70\\xe0\\x19\\x38\\xf0\\x0c\\x1c\\x78\\x06\\x0e\\x3c\\x03\\x07\\x9e\\x80\\x03\\x0f\\xc0\\x81\\x07\\xe0\\xc0\\x03\\x70\\xe0\\x01\\x38\\xf0\\x00\\x1c\\x78\\x00\\x0e\\x3c\\x00\\x07\\x1e\\x80\\x03\\x0f\\xc0\\x81\\x07\\xe0\\xc0\\x03\\x70\\xe0\\x01\\x38\\xf0\\x00\\x1c\\x78\\x00\\x0e\\x18\\xdd\\x01\\xa3\\x3b\\x60\\x74\\x07\\x8c\\xee\\x80\\xd1\\x1d\\x30\\xba\\x03\\x46\\x77\\xc0\\xe8\\x0e\\x18\\xdd\\x01\\xa3\\x3b\\x60\\x74\\x07\\x8c\\xee\\x80\\xd1\\x1d\\x30\\xba\\x03\\x46\\x77\\xc0\\xe8\\x0e\\x18\\xdd\\x01\\xa3\\x3b\\x60\\x74\\x07\\x8c\\xee\\x80\\xd1\\x1d\\x30\\xba\\x03\\x46\\x77\\xc0\\xe8\\x0e\\x18\\xdd\\x01\\xa3\\x3b\\x60\\x74\\x27\\x00\\x7e\\x00\\xfc\\x00\\xf8\\x01\\xf0\\x03\\xe0\\x07\\xc0\\x0f\\x02\\x7b\\x72\\x4b\\x66\\x5a\\x96\\xa8\\x6f\\xa2\\xad\\x38\\x3d\\xcc\\xa9\\x6b\\xee\\x70\\xc7\\x56\\x67\\x92\\x58\\x8d\\x87\\x34\\x89\\x34\\x85\\xb4\\x0c\\x69\\x79\\xcf\\xba\\x5c\\x6e\\x4a\\x66\\x62\\x6e\\x5a\\xbc\\x57\\x05\\xd2\\x4a\\xa4\\x55\\x48\\xab\\x91\\xfa\\x48\\x23\\x5b\\xb8\\xe0\\x73\\x17\\x7c\\xee\\x82\\xcf\\x5d\\xf0\\xb9\\x0b\\x3e\\x77\\xc1\\xe7\\x2e\\xf8\\xdc\\x2d\\x85\\x16\\xa5\\xe5\\x48\\xd3\\x48\\x81\\x0f\\x16\\x77\\xc1\\xe2\\x2e\\x58\\xdc\\x05\\x8b\\xbb\\x60\\x71\\x17\\x2c\\xee\\x82\\xc5\\x5d\\xc7\\x29\\x21\\x8e\\x9c\\x98\\x6d\\xc8\\x4d\\x2f\\x0c\\x0a\\x54\\xee\\x82\\xca\\x5d\\x50\\xb9\\x0b\\x2a\\x77\\x41\\xe5\\x2e\\xa8\\xdc\\x05\\x95\\xbb\\xa0\\x72\\x17\\x54\\xee\\x82\\xca\\x5d\\x50\\xb9\\x0b\\x2a\\x77\\x41\\xe5\\x2e\\xa8\\xdc\\x05\\x95\\xbb\\xa0\\x72\\x17\\x54\\xee\\x82\\xca\\x5d\\x17\\xf8\\x2e\\xf0\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xe4\\x2e\\x88\\xdc\\x05\\x91\\xbb\\x20\\x72\\x17\\x44\\xee\\x82\\xc8\\x5d\\x10\\xb9\\x0b\\x22\\x77\\x41\\xd4\\x2e\\x88\\xda\\x05\\x11\\xbb\\x20\\x62\\x17\\x44\\xec\\x82\\x88\\xdd\\x32\\x5f\\x6f\\xcb\\x35\\xe5\\x5a\\x7b\\xd6\\xd6\\x67\\x5b\\xb2\\xad\\xf5\\xad\\xaa\\x94\\xa8\\x68\\x68\\xae\\xcb\\xa8\\xac\\x9d\\x69\\xca\\xb5\\x65\\x1b\\xb2\\xf5\\x99\\x12\\xbf\\xb9\\xb5\\x9e\\x4e\\xef\\xaa\\xda\\xf2\\xdb\\x70\\xfd\\xb0\\x1c\\x72\\x25\\xa3\\x1a\\xeb\\xc3\\x67\\x0f\\x51\\x61\\x6c\\xac\\x71\\x62\\x54\\x63\\x76\\x72\\xd4\\xa8\\x6f\\x3d\\x35\\xef\\x82\\xa5\\x2b\\x2c\\xad\\x32\\xdb\\x96\\xd1\\x0f\\xc9\\x90\\x27\\x6d\\x02\\x47\\x1b\\x4f\\x55\\x92\\x70\\xf4\\x31\\x75\\x94\\xd3\\x42\\x20\\xfd\\xf0\\x4c\\x73\\x73\\xc6\\x18\\x99\\x69\\x9c\\x58\\x9b\\x11\\x47\\xb4\\x8b\\x23\\xdb\\xc5\\xb8\\x7a\\x13\\xc8\\x62\\x74\\xbd\\x3c\\xaa\\x2e\\xa7\\x1f\\x5d\\x3f\\xb9\\x31\\x23\\xc7\\x64\\xda\\x4d\\x68\\x21\\x47\\xd7\\xd5\\xcb\\x2a\\x0a\\xa3\\x5b\\xeb\\x4b\\x0e\\x8b\\x69\\xd0\\x1b\\x0d\\x3a\\xcb\\x89\\x4c\\x7e\\xe0\\x25\\xd9\\xf8\\x70\\xb3\\x9d\\xc3\\xad\\xef\\x1c\\x6e\\xff\\xf6\\xae\\x5d\\xa3\\xc1\\xa8\\xfe\\xda\\xc4\\x70\\x30\\x93\\xc3\\xc1\\xe8\\xb5\\xd9\\x86\\xb6\\x8c\\x09\\x59\\xda\\xa9\\xe1\\x90\\xc2\\x8b\\x6d\\x6a\\x48\\xa1\\x30\\x7d\\x8a\\x1a\\x52\\x43\\x34\\xa4\\xa6\\x76\\x31\\xa3\\xde\\xcc\\x45\\xe3\\x91\\x2d\\x75\\x39\\xa3\\x35\\x1c\\x4c\\xa9\\xae\\x12\\xd9\\x46\\x63\\x02\\xae\\x6c\\xa6\\xf1\\xd4\\x50\\xa0\\xa2\\x9e\\x0b\\x0d\\x5c\\x12\\xb7\\x6d\\xef\\x22\\xf5\\x4a\\x72\\xf1\\xd9\\x69\\x8f\\xcf\\x4e\\x2e\\x3f\\x3b\\xd1\\x9a\\x00\\x49\\xba\\x20\\x49\\x17\\x24\\xe9\\x82\\x24\\x5d\\x90\\xa4\\x0b\\x92\\x74\\x41\\x92\\x2e\\x48\\xd2\\xc5\\x31\\xd9\\xc5\\x31\\xd9\\xc5\\x31\\xd9\\xc5\\x31\\xd9\\xc5\\x31\\xd9\\xc5\\x31\\xd9\\x05\\xa9\\xba\\x20\\x55\\x17\\xa4\\xea\\x82\\x54\\x5d\\x90\\xaa\\x0b\\x52\\x75\\x41\\xaa\\x2e\\x48\\xd5\\x05\\xa9\\xba\\x20\\x55\\x17\\xa4\\xea\\x82\\x54\\x5d\\x90\\xaa\\x0b\\x52\\x75\\x41\\xaa\\x2e\\x48\\xd5\\x05\\xa9\\xba\\x20\\x55\\x17\\xa4\\xea\\x82\\x54\\x5d\\x90\\xaa\\x0b\\x52\\x75\\x41\\xaa\\x2e\\x48\\xd5\\x05\\xa9\\xba\\x20\\x55\\x17\\xa4\\xea\\x82\\x54\\x5d\\x90\\xaa\\x0b\\x52\\x75\\x41\\xaa\\x2e\\x48\\xd5\\x05\\xa9\\xba\\x41\\x84\\xef\\xe1\\x60\\xec\\xe1\\x60\\xec\\xe1\\x60\\xec\\xe1\\x60\\xec\\x81\\x4e\\x3d\\xd0\\xa9\\x07\\x3a\\xf5\\x40\\xa7\\x1e\\x0e\\xc6\\x1e\\x0e\\xc6\\x1e\\x88\\xd4\\x03\\x91\\x7a\\x20\\x52\\x0f\\x44\\xea\\x81\\x48\\x3d\\x10\\xa9\\x07\\x22\\xf5\\x40\\xa4\\x1e\\x88\\xd4\\x03\\x91\\x7a\\x20\\x52\\x0f\\x44\\xea\\x81\\x48\\x3d\\x10\\xa9\\x07\\x22\\xf5\\x40\\xa4\\x1e\\x88\\xd4\\x03\\x91\\x7a\\x20\\x52\\x0f\\x44\\xea\\x81\\x48\\x3d\\x10\\xa9\\x07\\x22\\xf5\\x40\\xa4\\x1e\\x8e\\xc3\\x1e\\x8e\\xc3\\x1e\\x38\\xd4\\x03\\x87\\x7a\\xe0\\x50\\x0f\\x1c\\xea\\x81\\x43\\x3d\\x70\\xa8\\x07\\x0e\\xf5\\xc0\\xa1\\x1e\\x38\\xd4\\x03\\x87\\x7a\\xe0\\x50\\x0f\\x1c\\xea\\x81\\x43\\x3d\\x70\\xa8\\x07\\x0e\\xf5\\xc0\\xa1\\x1e\\x38\\xd4\\x03\\x87\\x7a\\xe0\\x50\\x0f\\x1c\\xea\\x81\\x43\\x3d\\x70\\xa8\\x07\\x0e\\xf5\\xc0\\xa1\\x1e\\x38\\xd4\\x03\\x87\\x7a\\xe0\\x50\\x0f\\x1c\\xea\\x81\\x43\\x3d\\x70\\xa8\\x07\\x0e\\xf5\\xc0\\xa1\\x1e\\x38\\xd4\\x03\\x87\\x7a\\xe0\\x50\\x0f\\x1c\\xea\\x81\\x43\\x3d\\x70\\xa8\\x07\\x0e\\xf5\\xc0\\xa1\\x1e\\x38\\xd4\\x03\\x87\\x7a\\xe0\\x50\\x0f\\x1c\\xea\\x81\\x43\\x3d\\x70\\xa8\\x07\\x0e\\xf5\\xc0\\xa1\\x1e\\x38\\xd4\\x03\\x87\\x7a\\xe0\\x50\\x0f\\x1c\\xea\\x81\\x43\\x3d\\x70\\xa8\\x07\\x0e\\xf5\\xc0\\xa1\\x1e\\x38\\xd4\\x03\\x87\\x7a\\xe0\\x50\\x0f\\x1c\\xea\\x81\\x43\\x3d\\x70\\xa8\\x07\\x0e\\xf5\\xc0\\xa1\\x1e\\x38\\xd4\\x03\\x87\\x7a\\xe0\\x50\\x0f\\x1c\\xea\\x81\\x43\\x3d\\x70\\xa8\\x07\\x0e\\xf5\\xc0\\xa1\\x1e\\x38\\xd4\\x03\\x87\\x7a\\xe0\\x50\\x0f\\x1c\\xea\\xe1\\x30\\xec\\xe1\\x30\\xec\\xe1\\x30\\xec\\xe1\\x30\\xec\\x81\\x63\\x3d\\x70\\xac\\x87\\xc3\\xb0\\x87\\xc3\\xb0\\x87\\xc3\\xb0\\x87\\xc3\\xb0\\x07\\x0e\\xf6\\xc0\\xc1\\x1e\\x38\\xd8\\x03\\x07\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x38\\x0c\\x7b\\x78\\x4c\\xee\\xe1\\x31\\xb9\\x87\\xc3\\xb1\\x87\\xc7\\xe4\\x1e\\x0e\\xc9\\x1e\\x0e\\xc9\\x1e\\x0e\\xc9\\x1e\\x0e\\xc9\\x1e\\x0e\\xc9\\x1e\\x0e\\xc9\\x1e\\xf8\\xdf\\x03\\xff\\x7b\\xe0\\x7f\\x0f\\xfc\\xef\\x81\\xff\\x3d\\xf0\\xbf\\x07\\xfe\\xf7\\xc0\\xff\\x5e\\x75\\xb9\\x9d\\x99\\x54\\x5f\\x5f\\x3a\\xbc\\xbc\\x73\\x67\\x82\\x07\\xe0\\xc1\\x03\\xf0\\xe0\\x01\\x78\\xf0\\x00\\x3c\\x78\\x00\\x1e\\x3c\\x00\\x0f\\x1e\\x80\\x07\\x0f\\xc0\\x83\\x07\\xe0\\xc1\\x03\\xf0\\xe0\\x01\\x78\\xf0\\x00\\x3c\\x78\\x00\\x1e\\x3c\\x00\\x0f\\x1e\\x80\\x07\\x0f\\xc0\\x83\\x07\\xe0\\xc1\\x03\\xf0\\xe0\\x01\\x78\\xf0\\x00\\x3c\\x78\\x00\\x1e\\x3c\\x00\\x0f\\x1e\\x80\\x07\\x0f\\xc0\\x83\\x07\\xe0\\xc1\\x03\\xf0\\xe0\\x01\\x78\\xf0\\x00\\x3c\\x78\\x00\\x1e\\x3c\\x00\\x0f\\x1e\\x80\\x07\\x0f\\xc0\\x83\\x07\\xe0\\xc1\\x03\\xf0\\xe0\\x01\\x78\\xf0\\x00\\x3c\\x78\\x00\\x1e\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x3c\\x80\\x24\\x18\\x3d\\x09\\x46\\x4f\\x82\\xd1\\x93\\x60\\xf4\\x24\\x76\\x8e\\x24\\x76\\x8e\\x24\\x76\\x8e\\x24\\x76\\x8e\\x24\\x76\\x8e\\x24\\x76\\x8e\\x24\\x76\\x8e\\x24\\x76\\x8e\\x24\\x76\\x8e\\x24\\x76\\x8e\\x24\\x76\\x8e\\x24\\x76\\x8e\\x64\\xba\\x13\\x07\\x7a\\x63\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x62\\xe7\\x48\\x56\\x04\\x7a\\x6b\\x5d\\x76\\x5a\\x26\\x41\\x67\\x87\\xcc\\xa4\\xd6\\xec\\xe4\\x5c\\x43\\x94\\x6d\\xa6\\xa8\\xae\\x87\\xca\\x4e\\xcd\\x34\\x66\\xda\\x5a\\xf5\\xba\\xfa\\x96\\xfa\\xa9\\x7a\\x5b\\x2b\\x79\\xe5\\xba\\x6a\\xa8\\xab\\x36\\x46\\xe7\\xe5\\x1c\\x1d\\x04\\x22\\xa1\\x95\\x15\\xc6\\xd4\\xf6\\x89\\xed\\x6d\\xad\\x46\\x6d\\x66\\x72\\xb6\\xb5\\x4e\\x6f\\xcc\\xb6\\x65\\x27\\xeb\\x8d\\x99\\xa9\\x99\\x49\\x5a\\x4b\\x66\\x52\\x96\\x7a\\xb6\\x66\\xa7\\x9a\\xe1\\x17\\x10\\xc3\\x8f\\xc8\\x5b\\x55\\x62\\xb5\\xe6\\x08\\xb5\\xb5\\x7d\\xaa\\xdd\\xde\\xdc\\x9c\\x6d\\x39\\x39\\xac\\x6a\\xc8\\x4d\\xcf\\xb6\\x84\\xef\\x4c\\x28\\xb9\\x55\\xa9\\x1e\\x11\\xd8\\x54\\x02\\x6e\\xd2\\x32\\x0d\\xd9\\x49\\x92\\x0e\\x2c\\xfa\\xe4\\xfa\\xc6\\x6c\\x83\\x5e\\x4b\\xe5\\x36\\x51\\x97\\x95\\xd3\\x32\\xd3\\xf4\\x53\\x33\\x33\\xeb\\x9b\\x24\\x1d\\x55\\x64\\x1b\\x85\\x99\\xb9\\x5a\\x6b\\x52\\x7d\\x53\\xa6\\x61\\x4a\\x66\\x92\\xa4\\xa0\\x93\\xaa\\x59\\x54\\x35\\x66\\x1b\\x25\\x85\\xa8\\xd0\\xd4\\xde\\x24\\x29\\x18\\xad\\x74\\x7d\\x4a\\x9d\\x16\\x0a\\x31\\xd5\\x85\\xe6\\xac\\x68\\xce\\x26\\x54\\xb6\\xad\\x95\\x8e\\x2a\\xba\\x8a\\xe5\\xd4\\x1c\\x0d\\x88\\x46\\xa8\\x85\\x43\\xa1\\x33\\xce\\x34\\x83\\xc0\\xa7\\x45\\x09\\x81\\x1a\\x14\\xc2\\x64\\x72\\x78\\x92\\xa9\\xb3\\x29\\x69\\xad\\x23\\x99\\xca\\x4c\\xa5\\xd5\\xd1\\xbd\\x42\\x69\\x29\\x52\\x07\\xa9\\x8b\\xd4\\x43\\x9a\\x44\\x9a\\x42\\x5a\\x86\\xb4\\x1c\\x69\\x1a\\x69\\x05\\xd2\\x4a\\xa4\\x55\\x48\\xab\\x91\\xfa\\x48\\x83\\x28\\x2d\\x05\\x7e\\x29\\xf0\\x4b\\x81\\x5f\\x0a\\xfc\\x52\\xe0\\x97\\x02\\xbf\\x14\\xf8\\xa5\\xc0\\x2f\\x05\\x7e\\x29\\xf0\\x4b\\x81\\x5f\\x0a\\xfc\\x52\\xe0\\x97\\x02\\xbf\\x14\\xf8\\xa5\\xc0\\x77\\x80\\xef\\x00\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x0e\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x80\\xef\\x00\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x0e\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x2f\\x03\\x7e\\x19\\xf0\\xcb\\x80\\x5f\\x06\\xfc\\x32\\xe0\\x97\\x01\\xbf\\x0c\\xf8\\x65\\xc0\\x2f\\x03\\x7e\\x19\\xf0\\xcb\\x80\\x5f\\x06\\xfc\\x32\\xe0\\x97\\x01\\xbf\\x0c\\xf8\\x65\\xc0\\x2f\\x07\\x7e\\x39\\xf0\\xcb\\x81\\x5f\\x0e\\xfc\\x72\\xe0\\x97\\x03\\xbf\\x1c\\xf8\\xe5\\xc0\\x2f\\x07\\x7e\\x39\\xf0\\xcb\\x81\\x5f\\x0e\\xfc\\x72\\xe0\\x97\\x03\\xbf\\x1c\\xf8\\xe5\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\xaf\\x00\\x7e\\x05\\xf0\\x2b\\x80\\x5f\\x01\\xfc\\x0a\\xe0\\x57\\x00\\xbf\\x02\\xf8\\x15\\xc0\\xaf\\x00\\x7e\\x05\\xf0\\x2b\\x80\\x5f\\x01\\xfc\\x0a\\xe0\\x57\\x00\\xbf\\x02\\xf8\\x15\\xc0\\xaf\\x04\\x7e\\x25\\xf0\\x2b\\x81\\x5f\\x09\\xfc\\x4a\\xe0\\x57\\x02\\xbf\\x12\\xf8\\x95\\xc0\\xaf\\x04\\x7e\\x25\\xf0\\x2b\\x81\\x5f\\x09\\xfc\\x4a\\xe0\\x57\\x02\\xbf\\x12\\xf8\\x95\\xc0\\xaf\\x02\\x7e\\x15\\xf0\\xab\\x80\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\x55\\xc0\\xaf\\x02\\x7e\\x15\\xf0\\xab\\x80\\x1f\\x00\\x27\\xf2\\xc9\\x4a\\x7d\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x97\\x05\\xc6\\xb1\\xea\\xb3\\x4e\\x63\\x7a\\x94\\x1c\\x1b\\xbd\\xe4\\x38\\x5d\\x25\\xf6\\xb1\\x9d\\x0f\\xd8\\xed\\xe9\\x9d\\xb9\\xa8\\x1f\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x0f\\x9e\\xf1\\xc1\\x33\\x3e\\x78\\xc6\\x07\\xcf\\xf8\\xe0\\x19\\x1f\\x3c\\xe3\\x83\\x67\\x7c\\xf0\\x8c\\x9f\\xf6\\xed\\x8a\\xce\\xcf\\x2b\\xed\\x4c\\x67\\x2e\\x51\\x91\\xff\\x64\\x36\\x91\\xc9\\x67\\xfb\\x54\\x14\\x5e\\xfa\\x54\\x66\\xe8\\x93\\x29\\xae\\x88\\xb5\\x50\\x66\\x8b\\xb7\\x50\\x15\\xfd\\x63\\x2d\\xf2\\x82\\xfb\\x67\\xba\\xa9\\x8c\\xcb\\x52\\x9f\\x2c\\xc7\\x65\\xa9\\x8a\\xad\\x62\\x2d\\x3a\\x35\\xdf\\x2a\\xb3\\x69\\x5d\\x8f\\xe8\\x25\\xf1\\xe8\\x85\\xb4\\x4c\\x2c\\x1f\\xd5\\x2b\\xbd\\x50\\xaf\\xf2\\xbd\\xa3\\xfa\\xbc\\x26\\xbd\\x33\\x5d\\xcb\\xe8\\xa7\\x74\\x40\\x3f\\x95\\xef\\x15\\xd5\\x77\\xc2\\xf6\\xca\\x74\\x29\\xda\\x7e\\x3e\\x97\\xaf\\x4b\\xf8\\x05\\x3b\\x17\\xe4\\x1b\\x7e\\xf4\\x92\\x6f\\x24\\xb5\\x8f\\x5f\\x6c\\xe4\\x6c\\x71\\x85\\x5f\\x6c\\xf5\\x6c\\xb1\\xd5\\xfd\\xee\\xac\\x9e\\xed\\xce\\xea\\x7e\\xb1\\xd5\\xb3\\xc5\\x56\\xf7\\xbb\\xb1\\x7a\\x76\\xd3\\xba\\xc4\\x61\\x85\\xb1\\xd5\\xe7\\xb3\\xf6\\x61\\x79\\x2b\\xd4\\xe7\\x73\\xa3\\xf2\\xb9\\x5c\\xbe\\xf7\\xa8\\x42\\xef\\x5c\\x41\\xbb\\x51\\xc5\\x43\\xcf\\x15\\x57\\x8c\\x2a\\xb6\\x45\\xae\\xd8\\x16\\xa3\\xba\\xb3\\x45\\xae\\x3b\\x5b\\x8c\\x2a\\xb6\\x45\\xae\\xd8\\x16\\xa3\\xba\\xb1\\x45\\xae\\x1b\\x5b\\xa8\\x17\\x80\\xa3\\x17\\x27\\x73\\x85\\xac\\xaa\\x55\\x4a\\x45\\xb5\\x2a\\xdb\\x4b\\xd5\\xe6\\x95\\xe8\\x95\\xeb\\x52\\x8c\\xfa\\x28\\xf0\\xa8\\x8f\\xca\\xf6\\x54\\xb5\\x9d\\x68\\x3d\\x73\\xf1\\x92\\x3d\\x36\\x9f\\x6b\\xcf\\xeb\\x33\\xb6\\x20\\xb0\\xbd\\x90\\x1d\\x5b\\x50\\xad\\xbd\\x90\\x1d\\x5b\\xd0\\xb2\\xbd\\xa0\\xe5\\xd8\\xae\\x5a\\xb6\\x77\\xd5\\x72\\x6c\\x41\\xcb\\xf6\\x82\\x96\\x63\\xbb\\x68\\xd9\\x1e\\x2f\\x19\\xc7\\x45\\xdb\\xec\\x4c\\x95\\xd8\\xc7\\xe5\\x75\\x9e\\x99\\xd7\\xf9\\xb8\\x82\\xf8\\x99\\x85\\x7b\\xe5\\xb8\\xe8\\x5e\\x99\\x19\\xbd\\x10\\x1f\\xee\\x69\\x01\\x7c\\xb6\\x00\\x3e\\x5b\\x00\\x9f\\x2d\\x80\\xcf\\x16\\xc0\\x67\\x0b\\xe0\\xb3\\x05\\xf0\\xd9\\x02\\xf8\\x6c\\x01\\x7c\\xb6\\x00\\x3e\\x5b\\x00\\x9f\\x2d\\x80\\xcf\\x16\\xc0\\x67\\x0b\\xe0\\xb3\\x05\\xf0\\xd9\\x02\\xf8\\x6c\\x01\\x7c\\xb6\\x00\\x3e\\x5b\\x00\\x9f\\x2d\\x80\\xcf\\x16\\xc0\\x67\\x0b\\xe0\\xb3\\x05\\xf0\\xd1\\x02\\xf8\\x68\\x01\\x7c\\xb4\\x00\\x3e\\x5a\\x00\\x1f\\x2d\\x80\\x8f\\x16\\xc0\\x27\\x0b\\xe0\\x93\\x05\\xf0\\xc9\\x02\\xf8\\x64\\x01\\x7c\\xb2\\x00\\x3e\\x59\\x00\\x9f\\x2c\\x80\\x4f\\x16\\xc0\\x27\\x0b\\xe0\\x93\\x05\\xf0\\xc9\\x02\\xf8\\x64\\x01\\x7c\\xb2\\xc0\\xe9\\xc4\\xc3\\xf8\\xe0\\x93\\x05\\xf0\\xc9\\x02\\xf8\\x64\\x01\\x7c\\xb2\\x00\\x3e\\x59\\x00\\x9f\\x2c\\x80\\x4f\\x16\\xc0\\x27\\x0b\\xe0\\x93\\x05\\xf0\\xc9\\x02\\xf8\\x64\\x01\\x7c\\xb2\\x00\\x3e\\x59\\x00\\x9f\\x2c\\x80\\x4f\\x16\\xc0\\x27\\x0b\\xe0\\x93\\x05\\xf0\\xc9\\x02\\xf8\\x64\\x01\\x7c\\xb2\\x00\\x3e\\x59\\x00\\x9f\\x2c\\x80\\x4f\\x16\\xc0\\x07\\x0b\\xe0\\x83\\x05\\xf0\\xc1\\x02\\xf8\\x60\\x01\\x7c\\xb0\\x00\\x3e\\x58\\x00\\x9f\\x2b\\x80\\xcf\\x15\\xc0\\xe7\\x0a\\xe0\\x73\\x05\\xf0\\xb9\\x02\\xf8\\x5c\\x01\\x7c\\xae\\x00\\x3e\\x57\\x00\\x5f\\x2b\\x80\\x8f\\x15\\x24\\x3b\\xe5\\x42\\x7f\\xf8\\x54\\x01\\x7c\\xaa\\x00\\x3e\\x55\\x00\\x9f\\x2a\\x80\\x4f\\x15\\xc0\\xa7\\x0a\\xe0\\x53\\x05\\xf0\\xa9\\x02\\xf8\\x54\\x01\\x7c\\xaa\\x00\\x3e\\x55\\x00\\x9f\\x2a\\x80\\x4f\\x15\\xc0\\xa7\\x0a\\xe0\\x53\\x05\\xf0\\xa9\\x02\\xf8\\x54\\x01\\x7c\\xaa\\x00\\x3e\\x55\\x00\\x9f\\x2a\\x80\\x4f\\x15\\xc0\\xa7\\x0a\\xe0\\x53\\x05\\xf0\\xa9\\x02\\xf8\\x54\\x01\\x7c\\xaa\\x00\\x3e\\x55\\x00\\x9f\\x2a\\x80\\x4f\\x15\\xc0\\xa7\\x0a\\x70\\x56\\x0f\\x70\\x56\\x0f\\x70\\x56\\x0f\\x70\\x56\\x0f\\x70\\x56\\x0f\\x70\\x56\\x0f\\xe0\\x43\\x05\\xf0\\xa1\\x02\\xf8\\x50\\x01\\x7c\\xa8\\x00\\x3e\\x54\\x00\\x1f\\x2a\\x80\\x0f\\x15\\x94\\x77\\xe2\\x61\\xbc\\xf0\\xa1\\x02\\xf8\\x50\\x01\\x7c\\xa8\\x00\\x3e\\x54\\x00\\x1f\\x2a\\x80\\x0f\\x15\\xc0\\x87\\x0a\\xe0\\x43\\x05\\xf0\\xa1\\x02\\xf8\\x50\\x01\\x7c\\xa8\\x00\\x3e\\x54\\x00\\x1f\\x2a\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x59\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\x19\\x3d\\xc0\\xd9\\x3c\\xc0\\xd9\\x3c\\xc0\\xd9\\x3c\\xc0\\xd9\\x3c\\xc0\\xd9\\x3c\\xa8\\x02\\x6e\\x15\\x70\\xab\\x80\\x5b\\x05\\xdc\\x2a\\xe0\\x56\\x03\\xb7\\x1a\\xb8\\xd5\\xc0\\xad\\x06\\x6e\\x35\\xf0\\xaa\\x81\\x57\\x0d\\xbc\\x6a\\xe0\\x55\\x03\\xaf\\x1a\\x78\\xd5\\xc0\\xa9\\x06\\x4e\\x35\\x70\\x7c\\xe0\\xf8\\xc0\\xf1\\x81\\xe3\\x03\\xc7\\xc7\\xf8\\x7c\\xcc\\xab\\x0f\\x5c\\x1f\\xb8\\x3e\\x70\\x7d\\xe0\\xfa\\xc0\\xf5\\x81\\xeb\\x63\\x9c\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\x0f\\x80\\x17\\x00\\x2f\\x00\\x5e\\x00\\x9c\\x00\\x38\\x01\\x70\\x02\\xe0\\x04\\xc0\\x09\\x80\\x13\\x00\\x27\\x00\\x4e\\xf4\\x0c\\xc4\\x19\\x1e\\xf1\\x28\\xa5\\xa5\\x48\\x1d\\xa4\\x2e\\x52\\x0f\\x69\\x12\\x69\\x0a\\x69\\x19\\xd2\\x72\\xa4\\x69\\xa4\\x15\\x48\\x2b\\x91\\x56\\x21\\xad\\x46\\xda\\x89\\x1b\\x44\\x69\\x29\\xf0\\x4a\\x21\\xbf\\x34\\xd5\\x53\\xfd\\xfd\\x3b\\xf5\\xa5\\xd0\\xda\\x89\\x0d\\x3d\\xa7\\xb6\\xe7\\xc2\\x3f\\xaf\\x1a\\x7e\\x4f\\x34\\x5b\\x8b\\x36\\xe8\\xeb\\x00\\xcb\\x01\\x96\\x03\\x2c\\x07\\x58\\x0e\\xb0\\x9c\\xc0\\x68\\xac\\x6f\\x52\\x5f\\xd5\\xcb\\xd6\\xe4\\x9a\\x20\\xc5\\xf5\\xec\\xec\\x8c\\x9a\\x86\\x4c\\x23\\xa1\\xd8\\x2d\\x99\\xda\\xf0\\x2f\\x39\\x66\\x67\\x44\\xd7\\x92\\xe8\\x99\\x02\\x42\\x0a\\x08\\x29\\x20\\xa4\\x80\\x90\\xea\\x6c\\x17\\x94\\x4c\\xca\\xb5\\xb7\\xb4\\xb6\\x37\\x67\\x5b\\xea\\x73\\x2d\\x25\\x93\\xea\\xa7\\x65\\x3b\\x0b\\x3d\\x5b\\x49\\xf9\\xa6\\x7c\\x29\\x1b\\xfe\\xe1\\xe2\\xce\\x92\\x9d\\xaf\\x8f\\xe4\\xa4\\x31\\x1b\\x69\\xcc\\x46\\x1a\\xd6\\x49\\x63\\x36\\xd2\\x98\\x8d\\x0a\\xb4\\xab\\x40\\xbb\\x0a\\x47\\x6b\\xa8\\x6f\\xc9\\xa0\\x00\\x53\\x56\\xa4\\x8c\\xe6\\x6c\\x6b\\xb6\\xad\\xb3\\x1a\\x33\\x55\\x91\\x36\\x5a\\xeb\\xb2\\x53\\xb3\\x0d\\x5a\\x6d\\xae\\x69\\xb2\\x16\\xfe\\x65\\x49\\x5c\\xc0\\xa0\\x2a\\x30\\xa8\\x0a\\x98\\xb9\\x12\\x60\\x95\\x00\\xab\\x84\\x52\\x95\\x50\\xaa\\x12\\x4a\\x55\\x02\\x37\\xfa\\x88\\xd5\\x29\\xc5\\x92\\x29\\x8d\\x5c\\x22\\x4a\\x53\\x48\\xcb\\xe4\\xa8\\xba\\x46\\x3b\\xdb\\xda\\x56\\xdf\\x98\\x69\\xc3\\xa4\\x96\\x46\\xc4\\x4c\\xa9\\x6f\\xe5\\x9a\\xb2\\x6d\\x75\\xf5\\x2d\\xb5\\x76\\xdb\\xf4\\x9c\\xca\\xb4\\xda\\x54\\xa5\\x0c\\x57\\x57\\xd2\\x56\\xd7\\x92\\x45\\xbe\\xb5\\x47\\x68\\x67\\xe4\\x4b\\x94\\x99\\x51\\x88\\x44\\x95\\x7b\\x76\\xa6\\xa5\\x25\\x37\\xbd\\x21\\x3b\\xa9\\xcd\\x54\\xb9\\xf6\\xe6\\x84\\x4a\\xd5\\x5f\\x8f\\x8e\\x2e\\xd6\\xe6\\xa6\\x37\\x45\\xb9\\x89\\x04\\x66\\xa3\\x59\\x6d\\x53\\x49\\x3e\\x37\\xb1\\x55\\xf9\\x9c\\x0e\\xbe\\xa6\\xe4\\x38\\xa5\\xc9\\x44\\xae\\xa5\\xad\\x2e\\xfc\\x26\\x65\\xa6\\xa1\\xa4\\xbe\\xa9\\x2d\\x5c\\x9b\\xea\\x0f\\xf8\\xf6\\xc8\\x4e\\x6d\\xaf\\x9f\\x46\\xeb\\xa8\\xa9\\x26\\xab\\xd7\\xe5\\xda\\x5b\\xb3\\x3d\\x69\\xe9\\x36\\xe4\\x26\\x87\\x8b\\xab\\x29\\xd7\\x96\\x08\\x1b\\x93\\xf7\\xdb\\xd0\\xd6\\x9c\\xcf\\x4e\\x54\\x1f\\xde\\x39\\xf8\\x64\\xd8\\xc1\\x27\\xc2\\x0e\\x3e\\xc9\\x75\\xf0\\x89\\x2d\\xa5\\x1e\\xd2\\x72\\xa4\\xb8\\xee\\xa0\\x1e\\xab\\x3f\\xe9\\xa2\\xec\\xa2\\x9c\\x44\\xff\\xc8\\xd3\\xa1\\x14\\xf2\\x23\\x4f\\x87\\x52\\xb4\\x8f\\x3c\\x1d\\x4a\\x53\\x48\\xcb\\x90\\x02\\x2f\\xf2\\x78\\x28\\xad\\x40\\x5a\\x89\\xb4\\x13\\xa7\\x1a\\xa9\\x8f\\x34\\x5a\\x3e\\xc9\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\xc7\\x3d\\x99\\xc4\\x3d\\x99\\x0c\\xef\\xc9\\xe6\\x89\\x0d\\xb9\\x9a\\x29\\x26\\xcd\\x55\\x98\\xea\\x51\\xa9\\x61\\x52\\x94\\xb6\\xb4\\xa1\\xdc\\xd6\\x5a\\x97\\xa9\\xcd\\xea\\x2a\\x36\\x6b\\xa7\\xa8\\xd4\\x9e\\x54\\xdf\\xd0\\x40\\x1b\\x4d\\x2e\\xba\\xf3\\xf1\\xf9\\xb2\\x83\\xcf\\x87\\x29\\xad\\x4c\\x44\\x2d\\x5a\\x68\\x86\\xcd\\xb6\\x96\\xfa\\xcc\\xe4\\xf6\\xe6\\x28\\x6d\\x41\\xb9\\xb6\\x29\\x4a\\x1b\\x26\\x19\\xe1\\xa9\\xb0\\x21\\x5a\\x2d\\xc9\\x2a\\xd8\\xa5\\x2a\\xb0\\xeb\\x9b\\xa6\\x4d\\x6c\\x27\\x21\\x6d\\x61\\x2e\\x6a\\x93\\xc8\\x35\\x67\\x9b\\x50\\xd9\\xda\\x58\\x4f\\x4b\\x34\\x53\\x93\\xa5\\xb5\\x34\\x2d\\x5f\\x90\\xad\\xed\\x4d\\xc6\\xa4\\x6c\\x23\\xad\\x26\\x2d\\x8c\\xf4\\xd6\\x66\\xd2\\x57\\xab\\x69\\x68\\x9f\\xa8\\xd7\\x65\\x33\\x84\\x5e\\x5b\\x9f\\x69\\xa4\\xed\\xac\\x47\\x63\\x7b\\x2b\\xd6\\x57\\xb6\\x57\\x2c\\x4f\\xfb\\x9a\\xd2\\x20\\x15\\xf9\\x84\\x4e\\x15\\x66\\xa2\\x0a\\x33\\x51\\x85\\x99\\xa8\\xc2\\x4c\\x54\\x61\\x26\\xaa\\x30\\x13\\x55\\x98\\x89\\x2a\\xcc\\x44\\x15\\x66\\xa2\\x0a\\x33\\x51\\x85\\x99\\xa8\\xc2\\x4c\\x54\\x61\\x77\\xac\\xc2\\xee\\x58\\x55\\x06\\x9c\\x32\\xe0\\x94\\x01\\xa7\\x0c\\x38\\x65\\xc0\\x29\\x03\\x4e\\xe4\\x7b\\x3a\\x78\\xae\\x5d\\x51\\x96\\x4f\\xcb\\x91\\xa6\\x91\\x56\\x20\\xad\\x44\\x5a\\x85\\xb4\\x1a\\xa9\\x8f\\x34\\x88\\xd2\\xe8\\x2c\\x45\\x69\\x69\\x94\\x96\\x43\\x5e\\x39\\xe4\\x95\\x43\\x5e\\x39\\xe4\\x45\\xbe\\x26\\xb9\\x54\\xa5\\x48\\x9d\\x28\\x8d\\xe4\\x53\\xea\\x97\\x44\\x9f\\x5b\\x9f\\xac\\x3e\\xe0\\xef\\x4d\\xb7\\x73\\x96\\x0e\\xd2\\xe1\\x5f\\x0e\\x0e\\x3f\\x10\\xb7\\xc2\\xcf\\xdd\\xa7\\xd7\\xd3\\xda\\x52\\x9f\\xb8\\x87\\x39\\xa3\\x2e\\x1b\\x26\\xe6\\x94\\x4c\\x74\\x41\\x7d\\xbc\\x1e\\xe6\\x4a\\x3a\\x3f\\x62\\x0f\\x0b\\x56\\xf8\\x21\\xb8\\x6a\\xd7\\x96\\x99\\xa6\\xae\\x92\\xe4\\x93\\x9b\\x1b\\xda\\x5b\\xc3\\x3f\\x4a\\xdb\\x23\\xfc\\x08\\x1d\\x6f\\x04\\x24\\x54\\x5e\\x65\\xfb\\xaa\\x2a\\xf5\\x1a\\x01\\x2e\\xf6\\x89\\xd5\\xa8\\x0a\\x3b\\x54\\x48\\xa9\\x9a\\x08\\x73\\xd1\\x2b\\x02\\xaa\\xb2\\x31\\xd3\\x5c\\x3f\\xd5\\x9e\\x98\\x6d\\x8b\\x9a\\xf7\\x50\\x2f\\x0a\\x20\\xaf\\x94\\x8f\\xf2\\x56\\x5d\\x36\\xca\\xd8\\xd3\\x32\\xd3\\x70\\x59\\xbd\\x40\\x80\\xda\\xb6\\xce\\x86\\x36\\x19\\x25\\xca\\xf5\\xea\\x7c\\x9d\\x00\\x17\\xf2\\xb9\\x1e\\x6a\\xec\\xa8\\xa5\\x81\\x23\\xd7\\xd4\\x0e\\x61\\x25\\xd1\\xab\\x05\\x51\\xa1\\x27\\xde\\x2d\\x80\\x1a\\x9d\\x99\\x1e\\xea\\xe5\\x02\\xf4\\x9c\\x9a\\x83\\xe4\\x44\\x68\\x3e\\x64\\x0b\\x26\\xb0\\xdb\\x3a\\x55\\xb6\\x48\\xf9\\xe8\\x25\\x0c\\x1a\\x70\\xf8\\x96\\x45\\x38\\x1d\\x61\\x4a\\x34\\x19\\x26\\xca\\x22\\x4a\\x3b\\x35\\xcd\\xf8\\x58\\x24\\xc0\\xc7\\x22\\x01\\x3e\\x16\\x09\\xf0\\xb1\\x48\\x40\\x2e\\x55\\x8f\\xd8\\xf7\\x43\\x6d\\xf5\\x20\\x70\\x58\\xcd\\xcc\\x96\\x3e\\xea\\xfb\\xfc\\xb1\\x4b\\x7d\\x63\\xf9\\x96\\xf0\\x25\\xf3\\xac\\xa5\\x9e\\x80\\x0c\\x6b\\xaf\\xb1\\xd4\\xe3\\x17\\xca\\xf4\\x2c\\x3c\\x50\\x0a\\xab\\x95\\x08\\xca\\xf4\\xe8\\x7c\\xf2\\x1c\\x56\\xaa\\xc7\\x1f\\x94\\xe9\\x1d\\xff\\x66\\x7f\\x78\\x21\\x82\\x6e\\xaf\\x49\\x44\\x62\\x69\\xd5\\x94\\x16\\xb2\\x4e\\x21\\xeb\\x26\\x22\\x38\\xd5\\x20\\x9f\\x75\\x0a\\x59\\xb7\\x57\\xfe\\xa1\\x8b\\x6a\\xd4\\xb5\\xe8\\x74\\x2d\\xba\\x89\\x48\\x21\\x25\\x2d\\x9f\\x75\\x12\\x91\\x36\\x61\\x6d\\xef\\xd8\\xa0\\xc2\\x72\\xcf\\xce\\xe7\\x3c\\x45\\x1a\\x78\\x85\\x6c\\xb2\\xa0\\xad\\x57\\xc8\\x26\\xbb\\x22\\x7b\\x5d\\x8b\\xc9\\x02\\x7a\\x4c\\x27\\xaf\\x90\\x8d\\x35\\x48\\x15\\xb2\\x65\\x85\\x6c\\x79\\x17\\xcd\\x9c\\x2e\\x25\\xb7\\x4b\\xc9\\xeb\\x52\\x4a\\x76\\x29\\xc5\\x64\\xa7\\xbb\\x5c\\x28\\xeb\\x52\\xea\\x0a\\x96\\xee\\xd5\\xc5\\x28\\xc3\\xbb\\x16\\x4b\\xbb\\x16\\x9d\\xae\\x45\\xb7\\x6b\\xd1\\xeb\\x5a\\x4c\\xf6\\x28\\xcc\\xcf\\xf0\\x58\\xbe\\x34\\x96\\x77\\x62\\x79\\x35\\xd0\\xf0\\x8b\\xbf\\xf5\\xd1\\xe4\\xd1\\x22\\x0f\\xbf\\xc0\\x15\\x7e\\xc9\\x6b\\x58\\x4d\\xa6\\x39\\x56\\x2e\\x2d\\x2a\\x57\\x15\\x95\\x87\\xc7\\xca\\x65\\x45\\xfd\\xdd\\x2e\\x65\\xc7\\x4f\\x22\\xa4\\x8a\\xca\\x65\\x45\\xe5\\xf2\\xa2\\x72\\x3a\\x56\\x4e\\x85\\x69\\x51\\x39\\x55\\x54\\x2e\\x2b\\x2a\\x97\\x17\\x95\\xd3\\x3d\\x62\\xe5\\xd8\\xb5\\xb2\\x22\\xd9\\x65\\xdd\\x5c\\x2f\\x2b\\x2a\\x97\\x17\\x95\\xe3\\xb2\\xe3\\x6d\\xcb\\x8b\\x64\\x97\\x17\\xc9\\x2e\\xef\\xa6\\x7d\\x79\\x51\\x39\\x2e\\x3b\\x7e\\x2d\\x5d\\x24\\x3b\\x5d\\x24\\x3b\\x5d\\x24\\x3b\\xdd\\x4d\\xff\\xb8\\xec\\x4e\\x7b\\xa7\\x3a\\xe7\\xa0\\xa8\\x9c\\x2a\\x2a\\x97\\x15\\x95\\xcb\\x8b\\xca\\x9d\\xb2\\x53\\x45\\xb2\\xba\\x2b\\x97\\x15\\x95\\xcb\\x8b\\xca\\x71\\xdd\\xca\\x8a\\xfa\\x97\\x15\\xe9\\x56\\x56\\x24\\xaf\\xac\\x48\\x5e\\x59\\x91\\x6e\\xf1\\xb6\\xe5\\x45\\xb2\\xcb\\x8b\\x64\\x97\\x77\\xd3\\xbe\\xbc\\xa8\\x1c\\x97\\x1d\\xbf\\x96\\x2e\\x92\\x9d\\x2e\\x92\\x9d\\x2e\\x92\\x9d\\xee\\xa6\\x7f\\x5c\\x76\\xa7\\x4d\\xca\\x8a\\xe6\\xab\\xac\\x68\\xbe\\xca\\x8a\\xe6\\xab\\xac\\x68\\xbe\\xca\\x8a\\xe6\\xab\\xac\\x48\\x56\\xaa\\x9b\\x72\\xaa\\xa8\\x5c\\x56\\x54\\x2e\\x2f\\x2a\\xc7\\x65\\xc7\\xfb\\x16\\x63\\x75\\x77\\xbd\\xbc\\xa8\\x1c\\x1f\\x77\\x79\\x51\\xff\\xf2\\xa2\\xfe\\xe5\\x45\\xba\\x95\\x17\\xc9\\x2b\\x2f\\xd2\\x2d\\x7e\\x2d\\x5d\\x24\\x3b\\x5d\\x24\\x3b\\x5d\\x24\\x3b\\xdd\\x4d\\xff\\xb8\\xec\\x4e\\xbd\\xcb\\x8b\\xe6\\xab\\xbc\\x68\\xbe\\xca\\x8b\\xe6\\xab\\xbc\\x68\\xbe\\xca\\x8b\\xe6\\xab\\xbc\\x48\\x56\\xaa\\x9b\\x72\\xaa\\xa8\\x5c\\x56\\x54\\x2e\\x2f\\x2a\\xc7\\x65\\xc7\\xfb\\x96\\x15\\xc9\\x2e\\xeb\\xe6\\x7a\\x59\\x51\\xb9\\xbc\\xa8\\x1c\\x97\\x1d\\x6f\\x5b\\x3c\\x8e\\x62\\xec\\xee\\xda\\xc7\\x6d\\x9a\\x2e\\xea\\x9f\\x2e\\xea\\x9f\\x2e\\xea\\x9f\\x2e\\xd2\\x2d\\x5d\\xa4\\x5b\\xa7\\xec\\x74\\xd1\\x7c\\xa5\\x8b\\xe6\\x2b\\x5d\\x34\\x5f\\xe9\\xa2\\xf9\\x4a\\x17\\xcd\\x57\\xba\\x48\\x56\\xaa\\x9b\\x72\\xaa\\xa8\\x5c\\x56\\x54\\x2e\\x2f\\x2a\\xc7\\x65\\xc7\\xfb\\x96\\x15\\xc9\\x2e\\xeb\\xe6\\x7a\\x59\\x51\\xb9\\xbc\\xa8\\x1c\\x97\\x1d\\x6f\\x5b\\x5e\\x24\\xbb\\xbc\\x48\\x76\\x79\\x37\\xed\\xcb\\x8b\\xca\\x71\\xd9\\xf1\\x6b\\xc5\\x36\\x2a\\x1e\\x57\\xb1\\x2e\\x51\\x7f\\x72\\xcd\\xe9\\x24\\x5f\\x5f\\x73\\x72\\xae\\x2d\\xfc\\x49\\x26\\xf8\\x23\\x5e\\x91\\xbf\\xe2\\x15\\xf9\\x37\\x6e\\x37\\xe5\\xf2\\x58\\xb9\\x34\\xf4\\x71\\x62\\xe5\\xaa\\xa2\\xb2\\xd7\\xd9\\xbe\\x64\\x62\\xa6\\xa5\\xbe\\xf3\\x6f\\xab\\x6c\\xa5\\x2e\\x56\\x96\\x46\\x0d\\x4a\\x43\\xa1\\xc3\\xbb\\xa9\\x2b\\x2d\\xaa\\xf3\\xba\\x69\\xe7\\x15\\xb5\\x4b\\x75\\x23\\x2f\\xd5\\x8d\\xbc\\x54\\x37\\xf2\\x52\\x45\\xf2\\xd2\\xdd\\xe8\\x97\\xee\\x46\\xbf\\x74\\x37\\xfa\\xa5\\xbb\\xd1\\x2f\\xdd\\x8d\\x7e\\xe9\\x6e\\xf4\\x4b\\x77\\xa3\\x5f\\x7a\\x53\\xfd\\xaa\\x92\\x9b\\xea\\xd7\\xa5\\xae\\xb8\\x9d\\xd7\\x4d\\xbb\\x62\\x79\\xa9\\x6e\\xe4\\xa5\\xba\\x91\\x97\\xea\\x46\\x5e\\x77\\xf6\\x2b\\xef\\x5c\\x64\\xdd\\xd4\\x15\\xb7\\x4b\\x75\\xd3\\x2e\\x55\\x84\\x5b\\x24\\xaf\\x4b\\x5d\\x71\\xbb\\x54\\x37\\xed\\x94\\xbc\\xf0\\xef\\x17\\xb4\\x65\\x6b\\xeb\\xd5\\xb9\\xcb\\xf2\\x9b\\x26\\x2b\\x97\\xbf\\x33\\xe3\\x74\\x66\\x5c\\xeb\\xd4\\x6c\\x4b\\x2e\\xcc\\x99\\xb9\\x26\\x75\\x4a\\x30\\xdb\\xa6\\xab\\xb2\\xad\\x9e\\xc3\\x86\\x39\\x2b\\x7c\\xf2\\x1d\\x65\\xea\\xa3\\xf3\\x98\\xd9\\x5a\\xaf\\xce\\x7b\\xb6\\x7a\\x24\\xab\\x72\\xea\\xb9\\xac\\x6a\\xd4\\x54\\x1f\\x09\\xea\\x5d\\xf4\\x52\\x47\\xef\\xa2\\x57\\x38\\x7a\\x75\\x7d\\x59\\xa3\\x77\\xd1\\x5b\\x19\\x89\\xc2\\x2b\\x3e\\x89\\xc2\\x5b\\x3d\\x76\\xfe\\x25\\x9e\\x44\\xe1\\x95\\x9d\\x7e\\x45\\x48\\xc3\\x1a\\x6a\\xfa\\x15\\x81\\x51\\x55\\xdf\\xae\\x78\\x5d\\x1b\\x45\\x87\\xa4\\x86\\x9a\\x9e\\x05\\xd4\\x7c\\xa9\\x53\\x40\\x49\\x1e\\x3b\\x7f\\x29\\xdf\\xad\\x3d\\xfa\\x48\\x67\\x58\\x6b\\x5d\\xae\\xa5\\xad\\x87\\xfa\\x42\\x76\\x94\\xef\\xa3\\x9e\\x37\\xa8\\xa7\\x12\\x78\\x72\\x51\\xa8\\xc8\\x3f\\x42\\x89\\x1e\\xd8\\xf4\\xec\\x2c\\xaa\\xef\\xa3\\x6c\\x95\\x7f\\x58\\x51\\xf8\\x62\\x4a\\xaf\\x7c\\x5d\\x51\\x51\\x7d\\x27\\xa5\\x4f\\xec\\x31\\x95\\xaa\\x55\\x0f\\x83\\xf0\\x40\\x25\\x5c\\x22\\x49\\xda\\x02\\x92\\x95\\xd5\\xc8\\x3b\\xb1\\xbc\\x1b\\xe6\\xb5\\xa3\\x4f\\xae\\xf4\\x29\\x1a\\x13\\x46\\xa3\\xfd\\xe8\\x97\\x3a\\x2d\\x26\\x58\\x5f\\xc6\\x3b\\xd4\\x6f\\x56\\xaa\\xdf\\xcd\\x64\\x6c\\x06\\x3b\\x5b\\xfd\\x8a\\x50\\x5f\\xc6\\xb4\\x45\\x8c\\x6b\\x4f\\x6a\\x5f\\x30\\xa9\\x7d\\xa9\\x7d\\x49\\xf9\\xaf\\xb4\\xaf\\x28\\xbf\\x41\\xdb\\x40\\xf9\\xaf\\xb5\\xef\\x29\\xbf\\x51\\xdb\\x48\\xf9\\x0e\\x8d\\x24\\xe8\\xcc\\x7a\\x9c\\x71\\xeb\\x09\\xeb\\x09\\x26\\xad\\x45\\xd6\\x67\\x94\\xff\\xdc\\xfa\\x9c\\x09\\x6b\\x7d\\x82\\x30\\x12\\xfd\\x12\\xfd\\x99\\x08\\xff\\xb2\\x28\\xe5\\xb7\\x4d\\x6c\\xc7\\x64\\x62\\x60\\x62\\x10\\xa1\\x6a\\xd1\\x6f\\x16\\x29\\xfc\\xce\\x90\\x60\\x13\\xd9\\xd5\\x4c\\xa3\\x2d\\xbf\\x81\\x0d\\x9c\\xdc\\x92\\x9d\\xc2\\x9c\\xba\\xec\\xc4\\x16\\x76\\x60\\x43\\xa6\\xad\\x89\\xa9\\x5f\\x39\\x3a\\xe2\\xf0\\xea\\xc1\\xac\\xcf\\xd1\\x47\\x55\\x52\\xcc\\x18\\x8d\\x80\\xab\\x5f\\x34\\x62\\xc8\\xb3\\x7c\\x5e\\xa8\\x5f\\x3b\\xea\\x72\\xa5\\xa6\\xa6\\xb1\\x99\\x0d\\x54\\xf1\\xe0\\xda\\x86\\xfa\\xc9\\x6c\\xf7\\x86\\x5c\\x4d\\xf8\\x3b\\x4b\\x2c\\xaf\\x4f\\xf8\\xfb\\x48\\x61\\xa9\\x53\\x23\\x83\\x6c\\xb3\\x0d\\xdb\\x91\\xed\\x4a\\xad\\x52\\xa8\\x1d\\x4e\\x6d\\xc3\\x16\\x01\\xd2\\x63\\xa8\\x15\\xa5\\x62\\x80\\x92\\xc1\\xc5\\x51\\x51\\xbd\\xf9\\x00\\x49\\xeb\\xc3\\xf4\\xc4\\x40\\xf6\\x11\\x1b\\x91\\x18\\x94\\xd8\\x9e\\x6a\\x75\\xf9\\x8e\\xfa\\x15\\x88\\x75\\xf2\\x73\\x2a\\xf5\\xa3\\x60\\x85\\xd8\\xa1\\xbd\\xf4\\x92\\xb0\\x97\\x4e\\x12\\xf8\\xb5\\x6c\\x3b\\x56\\xce\\x2a\\x69\\xc4\\xc7\\xb0\\x09\\xec\\x14\\xd6\\xc6\\xce\\x64\\x17\\xb2\\x39\\x6c\\x2e\\xbb\\x9d\\x3d\\xc8\\x5e\\x67\\xab\\xa8\\x61\\x82\\xf7\\xe7\\x3b\\xf2\\xdd\\xb9\\xc3\\xf7\\xe7\\x01\\x1f\\xcd\\xaf\\x0c\\xe5\\x24\\xb6\\x65\\x82\\xe6\\x2d\\xcc\\x0d\\xc8\\xe7\\xb6\\xcb\\xe7\\xb6\\xa1\\xdc\\x7a\\x85\\xf7\\x7a\\x3e\\xb7\\x2c\\x9f\\x7b\\x23\\x9f\\x5b\\xae\\x72\\x82\\xc6\\x55\\x62\\x7d\\x42\\xf9\\x4f\\xad\\x37\\xf3\\xd7\\xde\\xca\\xe7\\x56\\xc4\\x5a\\xbd\\x1d\\xe6\\x69\\x1d\\x08\\x6d\\xad\\x5a\\x5f\\xbd\\x58\\x7f\\x9a\\x7d\\xa1\\xad\\x4e\\xf4\\xa1\\x78\\x9d\\xf5\\x4e\\xbe\\xd7\\x4a\\x95\\x0b\\xdb\\xf4\\x61\\xdb\\x24\\x7a\\xd1\\x5a\\x5a\\xaf\\x7d\\x9a\\xe8\\xad\\x50\\x56\\xe5\\x5b\\xbd\\x9b\\xcf\\xbd\\x97\\xcf\\xbd\\x9f\\xcf\\xad\\xce\\xe7\\xd6\\xe4\\x73\\x1f\\xe4\\x73\\x1f\\xe6\\x73\\x6b\\x55\\xce\\x24\\xa4\\x01\\xea\\x37\\x4e\\x87\\xd3\\x1c\\xee\\x6f\\xbd\\x4c\\x98\\xdf\\x90\\xb6\\x2f\\x2b\\xec\\x6f\\xac\\xa5\\x94\\x7e\\x4d\\xe5\\xa5\\xaa\\xfc\\xb5\\xf5\\x91\\x1a\\xcb\\x4b\\x14\\x7f\\x63\\x2d\\xa1\\xf8\\x6b\\x25\\xeb\\x63\\x8c\\xd6\\xd4\\xd6\\x68\\x1f\\x86\\x3f\\x6b\\xab\\x1b\\xb4\\xf6\\x2d\\x9a\\xb5\\x84\\xde\\x4b\\xef\\xc5\\xd4\\xaf\\x30\\xb0\\x3e\\xe1\\xaf\\x30\\xb0\\x7e\\xfa\\x36\\xfa\\x40\\xd6\\x5f\\xad\\x25\\x41\\xe9\\x2e\\x24\\x61\\xa8\\x5a\\x3d\\x7a\\xb8\\x06\\xd4\\xef\\x39\\xf4\\xd0\\xfb\\xeb\\xe1\\xef\\xdc\\x4a\\xf5\\xfb\\x0f\\x5f\\x85\\x2b\\x8f\\xea\\x77\\x60\\xcc\\x9a\\x6d\\xcd\\x66\\x3b\\x5a\\x4f\\x59\\x2f\\xb0\\x9d\\x68\\x3d\\x9c\\x42\\x7d\\xfa\\xf0\\x5d\\x84\\x27\\x03\\x6d\\x1c\\x1b\\xc4\\xf6\\xa5\\x75\\x31\\x82\\x1d\\xc5\\xc6\\xd3\\xbd\\x72\\x0a\\x6b\\x61\\xa7\\xb2\\x73\\xd9\\xc5\\xec\\x4a\\x5a\\x1d\\x37\\xb2\\xf9\\xec\\x4e\\x76\\x1f\\x7b\\x98\\x3d\\xc5\\x5e\\xa4\\x55\\xf2\\x0e\\xfb\\x80\\x7d\\xc6\\xbe\\xa1\\xb5\\x62\\xf0\\x12\\xfb\\x68\\x26\\xc5\\xad\\xe2\\x56\\xfb\\x28\\x95\\xce\\xb7\\x7f\\xa6\\xd2\\x5b\\xec\\xd1\\x2a\\x9d\\x67\\x8f\\x52\\xe9\\xcd\\xf6\\x11\\x94\\xce\\xa7\\x76\\x23\\x55\\x3a\\xdf\\x3e\\x5c\\xa5\\xb7\\xd8\\x23\\x54\\x3a\\xcf\\x3e\\x4c\\xa5\\x37\\xdb\\x87\\x50\\x7a\\x0b\\xb5\\x0b\\x54\\x3a\\xdf\\xf6\\x55\\x7a\\x8b\\x5d\\xad\\xd2\\x79\\x76\\x95\\x4a\\x6f\\xb6\\x2b\\x28\\x9d\\x47\\xed\\x0e\\x56\\xe9\\x7c\\xfb\\x20\\x95\\xde\\x62\\x1f\\xa8\\xd2\\x79\\xf6\\x01\\x2a\\xbd\\xd9\\xde\\x9f\\xd2\\x9b\\xa9\\xdd\\x7e\\x2a\\x9d\\x6f\\xef\\xab\\xd2\\x5b\\xec\\xb4\\x4a\\xe7\\xd9\\x47\\x32\\x41\\xb5\\x63\\x28\\xbe\\xd5\\xae\\xa4\\x78\\x9e\\x7d\\x28\\xc5\\xb7\\xfc\\x1b\\x16\\xc9\\xc1\\x22\\x4d\\xb0\\x48\\x23\\x2c\\xd2\\x00\\x8b\\x4c\\x81\\x45\\xea\\x61\\x91\\x3a\\x58\\x64\\x32\\x2c\\x32\\x09\\x16\\xc9\\xc2\\x22\\x35\\xb0\\xc8\\x44\\x58\\x24\\x03\\x8b\\x4c\\x80\\x45\\x4e\\x86\\x45\\x4e\\x82\\x45\\x4e\\x84\\x45\\x4e\\x80\\x45\\x8e\\x87\\x25\\x8e\\x83\\x25\\xc6\\xc1\\x12\\xc7\\xc2\\x12\\xc7\\xc0\\x12\\x63\\x55\\x7a\\xb3\\xdd\\xac\\x6c\\x51\\x1b\\x5a\\xc1\\x1e\\x4f\\xf1\\xcd\\xf6\\x29\\xa1\\x8d\\xfe\\x0d\\x8b\\x5c\\x02\\x8b\\x5c\\x0c\\x8b\\x5c\\x04\\x8b\\x5c\\x08\\x8b\\xfc\\x02\\x16\\xf9\\x39\\x2c\\x72\\x3e\\x2c\\x72\\x1e\\x2c\\x72\\x2e\\x2c\\x72\\x0e\\x2c\\x72\\x36\\x2c\\x72\\x16\\x2c\\x72\\x26\\x2c\\x71\\x06\\x2c\\x71\\x1a\\x2c\\x71\\x2a\\x2c\\x31\\x13\\x96\\x98\\x81\\xb5\\x31\\x1d\\x16\\x69\\x87\\x45\\xda\\x60\\x91\\x56\\x58\\xa4\\x05\\x16\\x99\\x0a\\x8b\\x5c\\xa0\\xd6\\xc8\\x2c\\x65\\x97\\x69\\xca\\x22\\xa7\\x87\\x2b\\xe5\\xdf\\xb0\\xc8\\xcd\\xb0\\xc8\\x4d\\xb0\\xc8\\x1f\\x61\\x91\\xb9\\xb0\\xc8\\x1f\\x60\\x91\\x1b\\x61\\x91\\x1b\\x60\\x89\\xeb\\x61\\x89\\xdf\\xc3\\x12\\xbf\\x83\\x25\\xae\\x85\\x25\\x7e\\x8b\\xb5\\x31\\x07\\x16\\xf9\\x0d\\x2c\\xf2\\x6b\\x58\\xe4\\x6a\\x58\\xe4\\x57\\xb0\\xc8\\x55\\xb0\\xc8\\x2f\\x61\\x91\\x2b\\x60\\x91\\xcb\\x61\\x91\\xcb\\x60\\x91\\x4b\\x61\\x91\\xd9\\xb0\\xc8\\x75\\x6a\\x75\\xcc\\x53\\x16\\xb9\\x52\\x59\\xe4\\x9a\\x7f\\xd3\\x22\\x8f\\xc2\\x12\\x8f\\xc0\\x12\\x0f\\xc3\\x12\\x0f\\xc1\\x12\\xff\\x80\\x25\\x1e\\xc0\\xda\\xf8\\x3b\\x2c\\xb2\\x10\\x16\\xb9\\x1f\\x16\\xf9\\x1b\\x2c\\x72\\x2f\\x2c\\xf2\\x57\\x58\\xe4\\x1e\\x58\\xe4\\x6e\\x58\\xe4\\x2e\\x58\\xe4\\x4e\\x58\\xe4\\x2f\\xb0\\xc8\\x1d\\xb0\\xc8\\x9f\\x61\\x91\\x3f\\xc1\\x22\\xb7\\xc1\\x22\\xb7\\xc2\\x22\\xf3\\x61\\x91\\x5b\\x60\\x91\\xfb\\x94\\x45\\x1e\\x54\\x2b\\xe5\\x76\\x65\\x91\\x05\\xca\\x22\\xe4\\x2f\\x84\\xfd\\x15\\xc3\\x8f\\x08\\xf7\\x5c\\xda\\xb5\\x87\\x12\\x5f\\x1c\\x0c\\x86\\x7b\\x55\\xf1\\xd8\\x2b\\x14\\x7f\\xa2\\xf8\\x60\\x1d\\xe5\\xbe\\x52\\xb9\\x4f\\xf3\\xb9\\xcf\\xf2\\xb9\\x45\\x68\\x17\\xdf\\xeb\\x0b\\x3e\\xce\\x4d\\x3f\\xe0\\xe3\\xf4\\xe9\\xd6\\xc7\\x61\\x5b\\xe8\\xe3\\xc8\\x29\\xe4\\x2c\\xb2\\xfe\\x2a\\x1e\\x18\\x9e\\x97\\x89\\xf7\\x42\\xdc\\xbe\\xac\\xf3\\x77\\xd4\\xfb\\xfc\\xd3\\x5f\\x81\\x1c\\x48\\xa3\\x3e\\x90\\xbc\\x9b\\x23\\xc9\\xfb\\x38\\x89\\x4d\\x62\\x4d\\xec\\x74\\x5a\\x19\\xd7\\x90\\xd6\\xb7\\xb3\\x7b\\xd8\\x03\\xec\\x25\\xb6\\x9e\\x6d\\xa4\\xb5\\xd0\\x8b\\x6f\\x43\\x1e\\xc8\\xae\\x7c\\x18\\x4f\\xf1\\x03\\x49\\xa6\\x4d\\x9e\\x4b\\x9f\\xc8\\xf7\\xb1\\x06\\x28\\xbf\\x86\\x27\\xee\\xa5\\xb2\\x49\\xe9\\xaa\\xa8\\xbe\\x47\\x02\\xe9\\xeb\\x51\\xda\\x77\\x4e\\xe4\\xff\\x6c\\xfb\\xf8\\x80\\x01\\x03\\x4e\\x19\\xb0\\x30\\x2a\\x6d\\xc7\\xb6\\x9b\\xb1\\xdd\\x37\\x03\\x4f\\x8f\\x4a\\x03\\xdf\\xdb\\xbe\\x7c\\xfb\\x8b\\xb7\\x7f\\x23\\x2a\\x0d\\x1a\\x3c\\xe8\\xc6\\x1d\\x06\\xee\\x70\\x6d\\xd4\\x7f\\x47\\x23\\x4a\\x07\\x3f\\x10\\xa5\\x3f\\x39\\x45\\xb5\\xb2\\x76\\xdd\\x66\\xd7\\xf3\\x77\\x7d\\x73\\xb7\\xf2\\xdd\\xae\\xdc\\x6d\\xed\\xee\\xc1\\xee\\xd7\\xab\\xda\\x9e\\xbb\\xbf\\xb1\\x47\\xc9\\x1e\\xfb\\xef\\xd1\\xb0\\xc7\\xb5\\x7b\\x2c\\xde\\xe3\\xbb\\x3d\\x87\\xee\\x79\\xc2\\x9e\\xb3\\xf6\\x5c\\xb8\\xe7\\xda\\xbd\\x06\\xa9\\xeb\\x62\\xaf\\xa1\\x7b\\xd1\\x3e\\x1a\\xe6\\xf7\\x3a\\x53\\x79\\x76\\x7c\\xdf\\x97\\x22\\xb9\\xfb\\xbe\\x11\\xa5\\x07\\x5c\\x18\\xa5\\x15\\x87\\x46\\x69\\xf5\\xf9\\x51\\xbb\\x43\\xab\\x91\\x8e\\x54\\x73\\xc2\\x0f\\xad\\xa3\\x9b\\x65\\x3e\\x59\\x98\\xb1\\x52\\xf5\\x4b\\xc6\\x0d\\xec\\x59\\x7e\\xa6\\x18\\x26\\x52\\xec\\x59\\xd6\\x20\\x56\\xc8\\x0f\\x58\\x83\\x36\\x52\\xac\\x20\\xef\\xfa\\x59\\x31\\x8c\\x35\\x18\\xf4\\x2f\\x6c\\x13\\x5e\\x53\\xf1\\xb0\\xe8\\x3f\\xfa\\x36\\xa8\\x56\\xcf\\x8a\\x15\\xe1\\xd5\\xa8\\x36\\xea\\x1b\\xd6\\x51\\xa9\\x8f\\x5e\\xd2\\xf1\\x4a\\xc7\\x2b\\x7a\\x3f\\x15\\x6f\\xab\\xe2\\xed\\xc2\\xd8\\x7a\\x52\\xc5\\xcf\\xaa\\x78\\x89\\x8a\\x5f\\x52\\xf1\\x52\\x15\\xbf\\xac\\xe2\\x55\\x2a\\xfe\\x50\\xc5\\x1f\\x85\\x71\\xa2\\x97\\x8a\\x7b\\xab\\x78\\xeb\\x30\\x66\\x3b\\xe8\\xbc\\xe3\\x91\\x8e\\x47\\x74\\xd1\\x31\\xa7\\x63\\x8e\\xae\\xa9\\xbc\\xc1\\xf6\\x60\\x7b\\xe8\\xa6\\xca\\x27\\x54\\xdc\\x43\\xc5\\x3d\\x55\\xdc\\x4b\\xc5\\x7d\\x55\\xbc\\x95\\x8a\\xfb\\xab\\x78\\x60\\x18\\x5b\\x8b\\x55\\xfc\\x8c\\x8a\\x9f\\x53\\xf1\\x0b\\x2a\\x5e\\xae\\xe2\\x15\\x2a\\x5e\\xa9\\xe2\\xf7\\x55\\xbc\\x5a\\xc5\\x6b\\x54\\xfc\\xb1\\x8a\\xd7\\xa9\\xf8\\x53\\x15\\x7f\\x16\\xc6\\x89\\x3e\\x2a\\x56\\x88\\x4a\\xdf\\xd0\\x0a\\xa2\\x63\\x6d\\xc7\\x5a\\x5d\\x2a\\x4d\\x35\\x55\\x63\\xaa\\x38\\xa1\\xe2\\x1e\\x2a\\xee\\xa9\\x62\\x35\\x66\\xd2\\x37\\x8c\\xb7\\x52\\x71\\x7f\\x15\\x0f\\x54\\x76\\x59\\xac\\xe2\\x67\\x54\\xfc\\x9c\\x8a\\x5f\\x50\\xf1\\x72\\x15\\xaf\\x50\\xf1\\x4a\\x15\\xbf\\xaf\\xe2\\xd5\\x2a\\x5e\\xa3\\xe2\\x8f\\x55\\xbc\\x4e\\xc5\\x9f\\xaa\\xf8\\x33\\x65\\xd9\\x3e\\x2a\\x56\\x88\\xe4\\xe7\\x09\\x95\\x0e\\xca\\xeb\\x1d\\xc6\\xff\\xcd\\x1a\\x0f\\xdd\\x22\\x4d\\x4b\\x94\\xfd\\x37\\xd5\\xb7\\x9f\\xaa\\x8f\\x6b\\xbd\\xad\\xaa\\xd9\\x4e\\xc5\\x03\\xb1\\x76\\x29\\xdf\\x65\\x1c\\xcf\\xaa\\x9a\\xf8\\x68\\x96\\xa8\\x9a\\x97\\x54\\xbc\\x54\\xc5\\x2f\\xab\\x78\\xd3\\x51\\xae\\x52\\xf5\\x9b\\x8e\\xf5\\x43\\x55\\xff\\x91\\x8a\\x37\\x37\\xee\\x5e\\xe1\\x55\\xba\\x1f\\xc2\\x38\\x66\\x03\\xba\\x37\\xa8\\x46\\xdd\\x7d\\xa1\\xd6\\xd1\\x98\\x62\\xe3\\xc0\\x08\\x22\\xad\\x37\\xa7\\x69\\xa4\\x57\\x4c\\x8b\\x2e\\x68\\x11\\x42\\xb8\\x2a\\x42\\xa9\\x9a\\x8a\\x3b\\xef\\xbb\\x30\\x9f\\x50\\x71\\x0f\\x58\\x39\\x8c\\x55\\x6f\\xb2\\x72\\x64\\xdf\\x30\\xee\\x0f\\x9b\\x46\\xd6\\x0c\\xe3\\x67\\x60\\xc7\\x30\\x7e\\x01\\xf6\\x0a\\xe3\\x15\\x2a\\x5e\\x09\\x4b\\x85\\xf1\\x6a\\x15\\xaf\\x81\\x75\\xc2\\x78\\x9d\\x8a\\x3f\\x55\\xf1\\x67\\xb0\\x48\\x18\\x2b\\x44\\xb6\\xf7\\x66\\x57\\x85\\x05\\x7d\\xff\\xff\\xb5\\x36\\xb6\\x87\\x3d\\xfe\\x9b\\xef\\x64\\xce\\x4a\\xf3\\xbf\\x30\\x68\\xc4\\x7e\\x5b\\xb0\\x97\\xfa\\x5d\\xc1\\xad\\xf4\\xad\\xf1\\x7b\\x82\\x83\\xf4\\x1d\\xd4\\xef\\x16\\x85\\xbf\\x5a\\x14\\xfe\\x66\\x51\\xf1\\x2f\\x16\\xbd\\x61\\xad\\xb0\\xde\\xb1\\x56\\x59\\xab\\xf1\\xcb\\x44\\xeb\\xf2\\xbf\\x2e\\xa3\\x9e\\xfe\\x88\\xab\\x45\\x13\\xc5\\xd7\\x92\\xa7\\x31\\x92\\xbc\\xcc\\xeb\\xc9\\x9f\\xb8\\x8d\\xfc\\xcc\\x7b\\xc9\\xa3\\x78\\x94\\x3c\\xcd\\xe7\\xd9\\xcb\\xec\\x0d\\xf2\\x35\\x57\\xb3\\x8f\\xc9\\xbf\\x80\\xb7\\xc9\\xfb\\xf1\\x01\\xe4\\x63\\x0c\\xe1\\x7b\\xf2\\xe1\\xe4\\x65\\xec\\xcf\\x2b\\xf9\\xa1\\xfc\\x48\\x3e\\x86\\x8f\\xe7\\x13\\xf8\\x24\\xde\\xc0\\x5b\\xf8\\x0c\\x7e\\x26\\x3f\\x9f\\x5f\\xcc\\x2f\\xe7\\x57\\xf3\\x6b\\xf9\\x8d\\x7c\\x1e\\xbf\\x9d\\x2f\\xe0\\xf7\\xf1\\x07\\xf9\\xe3\\x7c\\x31\\x7f\\x91\\xbf\\xca\\xdf\\xe4\\xab\\xf8\\x07\\x7c\\x1d\\xff\\x92\\x7f\\x27\\x84\\xb0\\x44\\x2f\\xd1\\x5f\\x0c\\x14\\x83\\xc5\\xae\\x62\\xa8\\x70\\x44\\xb9\\x38\\x50\\x54\\x8b\\x11\\x62\\xb4\\x38\\x46\\x9c\\x40\\xb6\\xd8\\x5f\\xbf\\xba\\x28\\x66\\x85\\x3c\\xd7\\x8a\\x6b\\xba\\x69\\xa9\\xe2\\x8e\\x33\\xbb\\x97\\xb0\\xd9\\x9a\\x4d\\x24\\x74\\x53\\x13\\xaf\\x1f\\x1d\\x8b\\x6b\\xf5\\x1b\\x7e\\x40\\xfe\\xe6\\xf4\\x89\\x6b\\x7b\\xc7\\x26\\xf9\\x4d\\x75\\xfb\\x61\\xfd\\x37\\x57\\x13\\x47\\xdf\\x74\\x5c\\x3f\\xa8\\xf3\\xe6\\x34\\x8c\\xb7\\xdc\\xf8\\x52\\x21\\x8e\\x5d\\x25\\x9f\\xbd\\xcb\\xd3\\x94\\x45\\xe4\\x91\\xef\\xa4\\x9e\\xa9\\x0c\\xa6\\x75\\xfb\\x19\\xdb\\x9d\\xd6\\x66\\x5f\\x76\\x68\\xe8\\xab\\x69\\x9f\\xb2\\xe8\\x49\\x1f\\x67\\xbb\\x53\\xcf\\xf0\\x89\\xe8\\x00\\x16\\x3e\\x9b\\x8b\\x3c\\xe6\\x7e\\x68\\x43\\x7e\\x36\\x49\\x24\\x5f\\x9b\\xee\\x91\\x81\\xe4\\xd7\\xd3\\xdd\\xc0\\x06\\x2a\\x89\\xe1\\xd3\\xcc\\x41\\x8c\\x56\\x38\\x9d\\x18\\xc2\\x67\\x78\\xe4\\x19\\x8a\\x71\\x4a\\x13\\x4e\\xd8\\x61\\xef\\xaf\\xf3\\x08\\x0b\\x54\\xfd\\xe3\\xec\\x3a\\x8a\\x17\\x53\\xeb\\x7e\\x6c\\x57\\x3a\\x65\\x38\\xac\\x9c\\x3c\\xee\\x6a\\x3a\\x77\\x8c\\x26\\x9f\\xfb\\x04\\x3a\\x21\\xd4\\xa9\\xdf\\xa1\\x3f\\x95\\x9d\\xcd\\x2e\\x60\\xb3\\x48\\xde\\xf3\\x62\\xa1\\x8a\\xcf\\x26\\x4b\\x3c\\xab\\xf2\\x0b\\xe5\\x60\\x92\\x31\\x43\\x0c\\xea\\xac\\xe9\\x78\\x36\\xac\\x89\\x62\\x31\\x4e\\x8c\\xa3\\xd8\\xe2\\xa4\\x0b\\x9f\\xa3\\xda\\x5f\\x1c\\xc6\\xfc\\x5e\\x71\\x15\\xc5\\xb7\\x8b\\xe7\\x55\\x1c\\xd6\\x6f\\x08\\x63\\x79\\x8f\\x68\\xe8\\x8c\\x59\\x3f\\xdd\\xd4\\x7b\\xea\\xbd\\xf5\\x7e\\x74\\xe7\\xab\\xdf\\x10\\x25\\x1b\\x16\\x7e\\xaf\\x0c\\x77\\xbe\\x1a\\xd7\\xfa\\xfc\\xb8\\x76\\x0c\\xa5\\x68\\x5f\\x6a\\xcf\\x32\\xa1\\x0f\\x0a\\xef\\x70\\xee\\xf0\\x72\\x7e\\x20\\xaf\\xe6\\x23\\xf8\\x68\\x7e\\x0c\\x3f\\x81\\x4f\\xe4\\x75\\xbc\\x89\\xb7\\xf1\\x53\\xf9\\xd9\\xfc\\x02\\x3e\\x8b\\x5f\\xc9\\xaf\\xe1\\xd7\\xf1\\xb9\\x7c\\x3e\\xbf\\x83\\xdf\\xc3\\x17\\xf2\\x87\\xf9\\x22\\xfe\\x2c\\x7f\\x89\\xbf\\xce\\x57\\xf0\\xf7\\xf8\\x5a\\xfe\\x19\\xdf\\xc0\\x37\\x0a\\x4d\\x24\\x44\\x1f\\xb1\\x8d\\x18\\x24\\x76\\x11\\xbb\\x93\\x47\\xec\\x89\\x7d\\xc5\\xc1\\x22\\x10\\x23\\xc5\\x51\\x34\\xc6\\x93\\x44\\xad\\x38\\x45\\x34\\x8b\\x69\\xe2\\x74\\x71\\xae\\xb8\\x50\\x5c\\x2a\\xae\\x12\\x73\\xc4\\xf5\\xe2\\x26\\x71\\x9b\\xb8\\x53\\xdc\\x2b\\x1e\\x10\\x8f\\x8a\\xa7\\xc8\\x6a\\x2f\\x8b\\x37\\xc4\\x3b\\x62\\xb5\\xf8\\x58\\xac\\x17\\xdf\\x48\\x26\\x0d\\x59\\x22\\xfb\\xc9\\x01\\x72\\x47\\x39\\x44\\xee\\x29\\x87\\xcb\\x94\\xdc\\x5f\\x56\\xca\\x43\\xe5\\x91\\x72\\x8c\\x1c\\x2f\\x27\\xc8\\x49\\xb2\\x41\\xb6\\xc8\\x19\\xf2\\x4c\\x79\\xbe\\xbc\\x58\\x5e\\x2e\\xaf\\x96\\xd7\\xca\\x1b\\xe5\\x3c\\x79\\xbb\\x5c\\x20\\xef\\x93\\x0f\\xca\\xc7\\xe5\\x62\\xf9\\xa2\\x7c\\x55\\xbe\\x29\\x57\\xc9\\x0f\\xe4\\x3a\\xf9\\xa5\\xfc\\x4e\\x13\\x9a\\xa5\\xf5\\xd2\\xfa\\x6b\\x03\\xb5\\xc1\\xda\\xae\\xda\\x50\\xcd\\xd1\\xca\\xb5\\x03\\xb5\\x6a\\x6d\\x84\\x36\\x5a\\x3b\\x46\\x3b\\x41\\x9b\\xa8\\xd5\\x69\\x4d\\x5a\\x9b\\x76\\xaa\\x76\\xb6\\x76\\x81\\x36\\x4b\\xbb\\x52\\xbb\\x46\\xbb\\x4e\\x9b\\xab\\xcd\\xd7\\xee\\xd0\\xee\\xd1\\xc2\\x39\\x28\\xd1\\x83\\x30\\x36\\xe6\\xaa\\xf5\\x13\\x84\\x71\\x98\\xe7\\xf7\\x86\\x79\\x7e\\xaf\\xaa\\x5f\\xa8\\xea\\x17\\xaa\\xfc\\x2a\\x95\\x5f\\xa5\\xda\\xcc\\x55\\x6d\\xe6\\xaa\\xfc\\x7a\\x95\\x5f\\xaf\\xda\\x6c\\x50\\x6d\\x36\\x14\\xe7\\xe3\\xed\\xc5\\x70\\x55\\x3f\\x7c\\x93\\x7c\\x4c\\x7e\\xbc\\xaf\\x3c\\x5f\\xe9\\x79\\xfe\\x26\\xb8\\x2b\\x54\\x7e\\xc5\\x26\\xb8\\xcf\\xab\\xfc\\xf3\\x9b\\xe8\\x1f\\xcf\\x37\\xa8\\x7c\\x83\\xca\\x5f\\xa5\\xf2\\x57\\x6d\\xd2\\x26\\xa6\\x9b\\x6c\\x56\\x3a\\x34\\xab\\xfc\\x60\\x95\\x1f\\xac\\xda\\x9c\\xad\\xda\\x9c\\xfd\\x83\\xf9\\x98\\x6d\\xe3\\xf5\\x5d\\xec\\xbf\\x19\\x3b\\x6f\\x89\\x7d\\xba\\xe8\\x19\\xd3\\xad\\x8b\\xce\\x5b\\x92\\x8f\\xe9\\xb3\\xb9\\xfc\\x7f\\x62\\x9d\\xfc\\xd8\\xb5\\xd1\\x65\\x3d\\x6c\\x6e\\x0d\\x6c\\x6e\\xde\\xff\\x8d\\xb9\\xe6\\x8b\\x0b\\x71\\xa7\\x64\\x15\\x4f\\x8c\\xc5\\xab\\xe2\\x71\\x6c\\xbe\\x36\\x37\\xa7\\x85\\xfc\\x96\\x33\\x48\\xdf\\xfc\\x6f\\x41\\x87\\xbf\\x04\\xfd\\x92\\xfa\\x05\\xe8\\xd7\\xb4\\x15\\xea\\xf7\\x9e\\xdf\\xd7\\xbe\\xd2\\xbe\\xb3\\x9e\\x50\\xcf\\x5f\\x02\\x0a\\xe1\\x67\\x58\\x47\\x51\\x18\\x47\\xe1\\x24\\x0a\\xb5\\x14\\x4e\\xa1\\xd0\\x4c\\x61\\x1a\\x85\\xd3\\x29\\x9c\\x4b\\xe1\\x42\\x0a\\x97\\x52\\xb8\\x8a\\xc2\\x1c\\xc2\\xb8\\x9e\\xd2\\x9b\\xc2\\xbd\\x3c\\xd4\\x8f\\xcd\\x52\\x56\\x1e\\xa3\\xe2\\xcb\\x55\\xcd\\xf5\\x85\\x98\\x0f\\x55\\xf9\\xfd\\x55\\xbc\\xa8\\xf8\\x2a\\x31\\x50\\x5e\\x02\\xe5\\x9b\\xf2\\x9c\\xb4\\xc8\\xe8\\xd5\\x99\\xc7\\x3e\\x3e\\xec\\xff\\xee\\xe3\\xff\\xca\\x3e\\x2e\\x2c\\xf5\\x29\\xa0\\x8a\\xf9\\x8a\\x58\\x3c\\xa6\\x10\\x8b\\x79\\xb1\\x78\\x78\\x21\\x66\\x33\\x62\\xf1\\xa2\\x42\\x1c\\x6f\\xd3\\xa5\\xfd\\xac\\x42\\xcc\\x87\\xc6\\xe2\\x18\\x16\\x3f\\xbd\\x10\\x6f\\x4e\\xce\\xc6\\xd5\\x4a\\xce\\x78\\x15\\xaf\\x2b\\xc4\\xa2\\x3a\\x16\\xc7\\xda\\xf3\\xc5\\xdd\\xc7\\xf2\\x50\\x95\\xd7\\x8a\\xeb\\xc9\\xaf\\x28\\xc4\\x0b\\x63\\xf1\\xb8\\xee\\x63\\x7e\\xf9\\x3f\\x8f\\xbb\\xe8\\x13\\xaf\\x8f\\xd9\\x7f\\x73\\x76\\xde\\x22\\xfb\\x6c\\x81\\x9e\\x5b\\x12\\xf3\\x01\\x2a\\x5e\\x5f\\xc8\\x77\\xd1\\xf0\\x3f\\xb6\\x4e\\xe2\\x6d\\x7e\\xec\\xda\\xd8\\xdc\\x1a\\xd8\\xdc\\xbc\\xff\\x3b\\x73\\xdd\\x45\\xcf\\xcd\\xd8\\xa1\\x0b\\xca\\xe9\\x9b\\x89\\x87\\x76\\x1b\\x6f\\xf9\\x3e\\x3e\\x50\\x7b\\x52\\x7b\\x56\\x5b\\xd2\\xe5\\x97\\xfb\\xdf\\xe9\\xe6\\xb7\\xfa\\x3f\\xd7\\xbe\\xd0\\xbe\\xd7\\x3a\\xa2\\x5f\\x4a\\x65\\x03\\xd9\\x96\\xec\\xe0\\x0c\\x3b\\x38\\xa3\\x33\\x6f\\xf8\\x6b\\xce\\x8c\\xce\\xbd\\x8c\\x4e\\xbe\\x8c\\xce\\xbe\\x8c\\x4e\\xbf\\x8c\\xce\\xbf\\x8c\\x4e\\xc0\\x8c\\xce\\xc0\\x8c\\x4e\\xc1\\x9c\\x85\\x77\\xe4\\xc7\\x14\\xc2\\x75\\xf3\\x4d\\x68\\x20\\xf2\\xed\\x2f\\x64\\xfd\\x55\\x1c\\xe6\\xdb\\x90\\x0f\\xe3\\x6b\\xbb\\xe4\\x59\\x3e\\xbe\\x30\\x56\\xbf\\xb9\\x78\\x82\\x6a\\x39\\x81\\x15\\xcb\\xef\\x8a\\x12\\xb5\\x71\\x48\\x8d\\xab\\x55\\xfe\\x51\\x55\\x5f\\x88\\xa5\\x3a\\x03\\xf1\\xb0\\xac\\x5a\\x31\\xb6\\x15\\xc5\\x42\\xfb\\x8a\\xb8\\x6f\\x33\\x9f\\x6c\\xb3\\x5e\\x3f\\xc4\\x9b\\x24\\x51\\x90\\xc4\\xfd\\x95\\x4c\\x56\\x24\\xf1\\x9f\\xf5\\xed\\x1e\\xf1\\x9f\\xe8\\xa8\\x56\\x06\\x53\\x6b\\x82\\xab\\x35\\xb1\\xf3\\x7f\\x5a\\xc7\\x6e\\x10\\x43\\x1d\\x47\\x40\\xc7\\x09\\x4a\\x62\\x98\\xdb\\xee\\x47\\xac\\xcc\\xce\\x75\\xb9\\x39\\xab\\x27\\xba\\x93\\xf5\\x3f\\x80\\xdb\\xfb\\x9f\\xf4\\xfb\\x3f\\xaa\\x41\\xb7\\x73\\xf9\\xff\\xbe\\x06\\x9b\\xb3\\xbd\\x60\\x5e\\x97\\x55\\xb4\\xf5\\x3f\\x5d\\x3d\\x3f\\x7c\\x6f\\x85\\x23\\xf1\\x30\\x92\\x11\\x5b\\x28\\x71\\x73\\xf3\\x16\\xe1\\xfc\\x9b\\x3a\\x6e\\x66\\xa5\\xff\\x0b\\x3a\\x76\\x6b\\xd7\\x82\\x8e\\x23\\x58\\x43\\x4c\\xc7\\x6d\\xfe\\xc5\\xf9\\xfb\\xe7\\x6b\\x65\\x73\\x76\\x0f\\x35\\x98\\xf8\\x7f\\x44\\x83\\xee\\xd7\\xca\\x0f\\xe1\\xfe\\x8f\\x8d\\xbc\\xdb\\xd9\\xfc\\x1f\\x18\\x79\\x77\\x73\\x8f\\xa7\\xca\\xd7\\xff\\x97\\x3f\\x55\\x5e\\xa7\\xce\\x5b\\xf1\\x78\\x56\\x2c\\xbf\\x68\\x93\\x9a\\x4d\\xeb\\xa3\\x3c\\xdb\\x44\\xc2\\xa2\\x4d\\xda\\x2f\\xda\\x0c\\xd6\\xac\\xcd\\xd4\\x2c\\x2a\\x8e\\xb9\\x56\\x68\\x19\\xcf\\x77\\xa3\\xf3\\xe6\\xf4\\x99\\x15\\xbb\\x3a\\x6b\\x93\\x96\\x9b\\x8b\\x67\\x6d\\x82\\xbb\\xb9\\x9a\\x45\\x9b\\xc8\\xff\\xe1\\xb1\\x6f\\x6e\\xd4\\xb5\\x9b\\x8c\\x48\\xe5\\x3b\\x46\\x16\\xe2\\x58\\xaf\\x2d\\xf7\\x25\\xa5\\xf6\\x82\\xf6\\xb6\\xf6\\x9e\\x7a\\x03\\xb0\\x97\\x62\\x12\\x46\\x9e\\x62\\xa7\\xc6\\xb1\\x18\\xeb\\xf7\\xba\\xff\\xee\\xf5\\xab\\x95\\x47\\xcf\\x78\\xa2\\x27\\x46\\x85\\xbc\\x5c\\xad\\x6a\\xea\\x54\\xbc\\x38\\x8c\\xb5\\x21\\x85\\x38\\xaa\\xef\\x7c\\x66\\x13\\x3d\\xc5\\xe9\\xbe\\x4d\\x24\\x33\\xaa\\x89\\x64\\x76\\x89\\xcf\\x2f\\x46\\x94\\x27\\x84\\xb1\\xde\\x5f\\xf5\\x52\\xb3\\xd4\\xf9\\x54\\x2c\\x16\\xaf\\x2e\\xe4\\xe3\\xfa\\xa3\\x3e\\xa6\\x15\\x70\\x4f\\x28\\x48\\xd3\\x17\\x14\\xe4\\xc7\\xf3\\x91\\x9c\\x78\\xbc\\xe5\\x36\\xe9\\xc6\\x1a\\x31\\xf4\\xcd\\x5a\\xe0\\x07\\x47\\x1d\\x3d\\xab\\x43\\x9b\\xc1\\xdd\\x8f\\x2e\\x16\\x6f\\xf9\\xfa\\x15\\xda\\x52\\xed\\x55\\xf5\\x7e\\x76\\x82\\x45\\xef\\x0c\\x8d\\x56\\x6b\\x76\\xc6\\xff\\xa2\\x35\\x3b\\x24\\x64\\xa2\\xe8\\x89\\x04\\xce\\xb0\\x1b\\x54\\xcd\\x83\\x8a\\xa1\\x16\\x14\\x4e\\xb8\\xf2\\xbb\\x42\\x1c\\xd5\\x6b\\x7d\\x0a\\xed\\xa3\\xd3\\xab\\x56\\x5e\\x88\\xbb\\x3c\\xf1\\x50\\x4f\\x4e\\xe4\\x09\\xea\\xea\\x1d\\x2a\\x7f\\xbe\\xea\\xb5\\x4a\\xe5\\x07\\xc7\\x4e\\xbb\\x1b\\x8a\\xe5\\x74\\x39\\x1d\\x2f\\x2c\\x48\\x03\\xe2\\x90\\x62\\x9d\\x37\\xd5\\x67\\x53\\x99\\xdd\\xc4\\x43\\x8a\\xe3\\x2d\\xb7\\xc9\\x66\\xad\\x31\\xa4\\xd8\\x02\\xf1\\xb1\\x6f\\x76\\xd4\\x43\\x0a\\x32\\xa1\\xc3\\x86\\x98\\xc5\\x62\\x76\\x88\\x10\\x55\\xfc\\x63\\xd6\\xec\\x8b\\xda\\xbb\\x5d\\xd6\\xec\\xee\\xf4\\x3f\\x3c\\x0b\\x27\\x70\\x52\\x3b\\x30\\xe6\\x9f\\x6c\\x9b\\xef\\xf1\\xcf\\x7d\\x1e\\xce\\xb6\\x51\\x9f\\x8e\\xeb\\xba\\xa1\\xdb\\x7a\\x89\\xde\\x47\\x1f\\x60\\x3d\\xad\\x3e\\x0b\\x5b\\x66\\xbd\\x61\\xbd\\x69\\xbd\\x65\\xbd\\x6d\\xad\\xb2\\xde\\xb3\\xd6\\x5a\\x9f\\x84\\x9f\\x79\\x13\\x9a\\x64\\x3b\\xb2\\x21\\x6c\\xcf\\xb0\\x67\\x37\\x78\\x5c\\x5b\\xab\\xe2\\xd5\\xff\\x01\\xc9\\x5f\\xfc\\x87\\x25\\xaf\\xfd\\x8f\\x49\\xfe\\xe8\\x3f\\x26\\xf9\\x93\\xff\\x98\\xe4\\x75\\xff\\x82\\xe4\\x70\\x25\\xee\\xb2\\x99\\x95\\x18\\xc9\\xfd\\xf1\\x12\\x23\\x4d\\x3b\\x25\\x86\\x9f\\x5f\\x1b\\xca\\x8b\\x8e\\x3c\\xe8\\x2f\\xba\\xcc\\xdf\\x96\\xb6\\x5f\\x86\\x59\\xf9\\x71\\xf2\\xb7\\xbc\\x7d\\x24\\xff\\xe3\\x2d\\x6e\\xff\\xe2\\x8f\\x6c\\xff\\x2c\\xe6\\x7e\\x4b\\xdb\\xaf\\xc6\\x8c\\x6e\\x69\\xfb\\xb5\\x3f\\xb2\\xfd\\xb3\\x3f\\xb2\\xfd\\x8b\\x3f\\xb2\\xfd\\xb2\\x1f\\xd9\\xfe\\x8d\\x1f\\xd9\\xfe\\x8b\\x58\\xfb\\x5d\\x68\\x67\\x15\\x74\\x67\\x0c\\x42\\x8f\\xed\\x62\\x12\\x97\\xb3\\xce\\xb7\\x2a\\xb8\\xde\\x6f\\x0b\\x5b\\xaf\\x47\\x6b\\xde\\xeb\\x7c\\xf5\\x3e\\xf3\\x14\\xb6\\x42\\x79\\x0d\\x0e\\xaf\\xe6\\x13\\x79\\x1b\\xbf\\x80\\x2f\\x26\\xc6\\x1f\\xac\\x3e\\x29\\x9a\\x26\\xce\\xa6\\x70\\xb1\\x58\\x20\\x1e\\x10\\x0b\\xa4\\x25\\x53\\x72\\x9c\\x6c\\x91\\x17\\xca\\xc7\\xe5\\x0a\\xf9\\x8d\\xd6\\x47\\xdb\\x46\\xbb\\x9e\\xee\\x9f\\x3e\\xfa\\x40\\xb1\\x40\\x3f\\x58\\xbf\\x40\\x9f\\x45\\xe1\\x3a\\x7d\\x83\\xb1\\xa7\\xd1\\x60\\x5c\\x6d\\xcc\\x33\\x5e\\x34\\xe6\\xe9\\xb3\\x8c\\x37\\xa8\\x9e\\xfe\\x9b\\x09\\x73\\x90\\xb9\\x8b\\xb9\\xbb\\xd9\\x64\\xde\\x6b\\x6e\\xb4\\x9a\\xad\\x73\\xad\\x0b\\xad\\x1b\\xe9\\x5e\\xfb\\xc0\\x5a\\x6f\\x27\\x6c\\xcf\\xbe\\xc0\\x7e\\x30\\x51\\x99\\x78\\x34\\xf1\\x71\\x0f\\xab\\xc7\\x36\\x3d\\x86\\xf4\\x18\\xd6\\xa3\\xae\\xc7\\xd5\\x3d\\x16\\xf6\\x78\\xb9\\xc7\\x86\\x92\\x7d\\x4b\\x26\\x94\\x4c\\x2a\\xb9\\xa6\\x64\\x7e\\xc9\\x8a\\x92\\xcf\\x4a\\xbe\\xeb\\xd9\\xaf\\xa7\\xd7\\x73\\x7c\\xcf\\xe6\\x9e\\xf3\\x7b\\x3e\\xda\\xf3\\xcd\\x5e\\xac\\x57\\xa2\\x57\\xff\\x5e\\x03\\x7b\\x0d\\xed\\x75\\x60\\xaf\\x43\\x7b\\x8d\\xef\\x35\\xa1\\x57\\x13\\xb3\\xd9\\x90\\x8e\\x05\\x6c\\xff\\x8e\\x65\\x72\\xbf\\x8e\\x05\\xb2\\x82\\xd2\\x6a\\x4a\\x0f\\xa1\\x70\\x24\\xe5\\x8f\\xa5\\x70\\x62\\x47\\x38\\x8f\\xfd\\x3b\\xea\\xa8\\xad\\xa4\\xb6\\x65\\x94\\x4b\\x77\\x5c\\xc6\\xf6\\xa5\\xfa\\xfd\\x29\\x7f\\x1c\\xa5\\xe3\\x29\\x9c\\xd0\\xf1\\xb1\\xb9\\x8a\\xae\\x6b\\xd4\\x6a\\x19\\xeb\\xbd\\x71\\x03\\xeb\\x4b\\x61\\x08\\xb5\\x30\\x55\\x4d\\xa1\\x5f\\x88\\x57\\x4d\\xed\\x97\\x51\\xfb\\xcb\\x54\\xfb\\x05\\x5d\\xda\\x6b\\xd4\\x76\\x19\\xb5\\x5d\\x06\\x8c\\x05\\xac\\x2f\\xeb\\x4d\\x3d\\xfa\\x50\\xe8\\x4b\\x61\\x07\\x6a\\xb3\\x23\\x85\\xb0\\xad\\x43\\x2d\\xaa\\xa9\\x2e\\xa0\\x70\\x28\\x85\\x91\\x1d\\x1f\\xb3\\xa3\\x28\\x1d\\x4b\\xd7\\x8e\\xa1\\x74\\x1c\\xa5\\xe3\\x29\\x9c\\x40\\xa1\\x27\\x49\\xa9\\x23\\x29\\x24\\x8f\\xd2\\x1d\\xa8\\xe7\\x8e\\x14\\x86\\x90\\x0e\\x34\\x66\\xea\\xbd\\x80\\x7a\\x2f\\xa3\\xde\\x0b\\xa8\\xf7\\x32\\xea\\x19\\x8e\\x69\\x19\\x69\\xdf\\x9b\\x6a\\xfa\\x50\\xae\\x2f\\xa5\\x43\\x14\\xde\\x32\\x6a\\xbd\\x4c\\x61\\xf5\\x8e\\x46\\xab\\xb4\\xab\\x83\\x76\\x0b\\x48\\xee\\x02\\xc8\\xad\\xa3\\x96\\x97\\x41\\xee\\x65\\xec\\x68\\x0a\\x63\\x28\\x8c\\xa3\\xeb\\xc7\\x51\\xe0\\xe6\\x2a\\xf2\\x58\\x35\\xea\\x7f\\x59\\x27\\x82\\xaa\\x11\\x4a\\xd3\\x50\\x4b\\xa1\\xae\\xf5\\xa5\\x90\\x08\\xed\\x24\\x0f\\xef\\xb8\\x5a\\x1e\\x45\\xe1\\x98\\x8e\\xb4\\x3c\\x76\\xe3\\x06\\x39\\xae\\xe3\\x22\\x79\\x22\\xa5\\x59\\x9a\\xa9\\x1c\\x85\\x99\\x24\\x45\\xd0\\xbc\\x5d\\x41\\xf3\\x76\\x05\\xeb\\x27\\xab\\xd8\\x52\\x9a\\xd1\\x3a\\x9a\\xd1\\x3a\\x9a\\xd1\\x3a\\x79\\x52\\xc7\\x65\\x72\\x02\\xb5\\xcb\\x50\\xa8\\xa1\\xfc\\x24\\x0a\\xf5\\x94\\x9f\\x42\\xa1\\x81\\x42\\x13\\x85\\xa9\\x54\\xd7\\x4e\\x61\\x06\\x85\\xd3\\xd9\\x29\\xf2\\x4c\\x42\\xef\\xb1\\xa5\\xe8\\x6a\\x0d\\x58\\x34\\x9f\\xdf\\xd0\\x7c\\x7e\\x43\\xf8\\x2f\\x10\\xfe\\x01\\x84\\x7f\\x00\\xe1\\x1f\\x40\\x38\\xd7\\x93\\xcc\\x93\\x98\\xd1\\xad\\x3c\\x92\\xc5\\x74\\x6a\\xbf\\x86\\xda\\xaf\\xa1\\xf6\\x6b\\xf2\\x23\\xe9\\x4d\\x6d\\xaf\\xa3\\xb6\\xd7\\x11\\xe6\\x79\\x34\\x8a\\xf7\\x49\\xfb\\xf7\\x49\\xfb\\xf7\\x65\\x1d\\x85\\x53\\x28\\x34\\x53\\x98\\x4a\\xa1\\x9d\\xc2\\x0c\\x0a\\xa7\\x51\\x38\\x93\\xc2\\xd9\\x1d\\xef\\x2b\\xb4\\x65\\xdd\\xa2\\x19\\xb4\\xee\\xd7\\x74\\x8b\\xa8\\xe7\\xc7\\x10\\xb3\\x1f\\xf9\\x86\\xd3\\x3a\\x1e\\xa0\\xfd\\xa3\\x77\\x47\\x40\\x33\\x16\\xd0\\xcc\\x04\\x9d\\xeb\\xb1\\x8b\\xad\\x0f\\x27\\xbc\\xd0\\xde\\x47\\x51\\x4a\\x2b\\x49\\x1e\\x4f\\xe1\\xa4\\x8e\\x40\\x9e\\x4c\\x61\\x22\\xd5\\xd7\\x50\\x9a\\xed\\x98\\x47\\x23\\x58\\x28\\x27\\x53\\xbe\\x9e\\xea\\xa6\\x74\\xac\\x23\\xfb\\xd7\\x91\\x25\\xe7\\xd1\\x48\\x02\\x1a\\x49\\x20\\xa7\\x53\\x79\\x06\\xa5\\x33\\xa9\\xee\\xd4\\x8e\\x63\\x42\\xdb\\xc9\\x33\\xa8\\xee\\x4c\\xaa\\x3b\\x8b\\x70\\x07\\x40\\x93\\x3a\\x68\\xa2\\xd6\\xde\\x3f\\x9d\\xf5\\x70\\xbe\\xb6\\x74\\xe6\\x25\\x49\\xba\\x23\\x6f\\x15\\x41\\x76\\x5d\\x46\\x36\\x5d\\xc6\\x6c\\x92\\xba\\x94\\xa4\\x2d\\x25\\x49\\x4b\\xa9\\xe7\\x52\\xea\\xb9\\x94\\x7a\\x2e\\xa5\\x16\\x4b\\xa9\\xe7\\x52\\x6a\\xb5\\x94\\xf5\\xdd\\xac\\x2e\\x3f\\x66\\xf5\\x71\\xd9\\xd6\\xf1\\x24\\xd3\\x94\\xde\\x2d\\x1d\\x4b\\x68\\x0e\\x96\\x90\\x45\\x1e\\x63\\xdb\\x90\\xb4\\x39\\x64\\xd3\\xf3\\x48\\xe2\\x6c\\x92\\x38\\x87\\x5a\\x3c\\x46\\x52\\x1f\\x23\\x9b\\x9e\\x47\\x92\\x67\\xd3\\xca\\x78\\x8c\\xa4\\xcf\\x26\\x9b\\x3e\\x46\\x92\\x0f\\xa2\\xde\\x97\\x90\\xf4\\x39\\x24\\xe1\\x12\\xb2\\xed\\x79\\x84\\x32\\x87\\xf4\\x9d\\x43\\x48\\x53\\x09\\x69\\x0e\\xd9\\xf4\\x3c\\xd2\\x7b\\x0e\\x2b\\x29\\x5a\\x63\\x8f\\xd1\\xfa\\x7a\\x4c\\xad\\xaf\\x36\\x4a\\xbb\\x5b\\x63\\x7d\\xa8\\xc7\\x4a\\x9a\\xdb\\x07\\xa8\\xd7\\x4a\\xea\\xb5\\x92\\x7a\\xad\\xa4\\x5e\\x2b\\xa9\\xd7\\x4a\\xea\\xb5\\x92\\x7a\\xad\\x24\\xcc\\x07\\xa8\\xe7\\x6b\\xd4\\x73\\x25\\xcd\\xe3\\x03\\xd4\\x7b\\x25\\x61\\x3e\\x40\\x12\\x56\\xb2\\x84\\x92\\xf0\\x43\\xbd\\x67\\x50\\xa0\\x1e\\x79\\x4b\\xac\\xa4\\x71\\xac\\x54\\x96\\xd8\\xb4\\x6f\\x71\\xbf\\x10\\x31\\x44\\x11\\x9d\\x16\\x64\\x3d\\xa8\\xcf\\x72\\xea\\xb3\\x9c\\xfa\\x2c\\xa7\\x3e\\xcb\\xa9\\xcf\\x72\\xea\\xb3\\x9c\\xfa\\x2c\\xa7\\x3e\\xcb\\xa9\\xcf\\x72\\xc2\\x5b\\x4e\\xfd\\x96\\xab\\x5d\\xca\\xa5\\x55\\xe6\\xb2\\xc6\\x8e\\xd9\\xec\\x0c\\x0a\\xb4\\x7b\\x75\\xec\\xa0\\xe2\\x11\\x34\\xcf\\x8f\\xb1\\x6d\\xe5\\xa2\\x8e\\x9b\\xe4\\x73\\x64\\xed\\xe7\\x3b\\x5e\\x90\\x2f\\x52\\xba\\xa4\\xc3\\x95\\x2f\\x75\\x8c\\x90\\x4b\\x3b\\xe6\\xca\\x57\\x29\\x7d\\x93\\xd2\\x77\\xe8\\x1e\\x7b\\x8f\\xc2\\x27\\x14\\x3e\\xa3\\xb0\\x9e\\xc2\\x17\\x1d\\x6b\\x48\\xca\\x04\\xda\\xaf\\x1e\\xa2\\xfb\\xe1\\x31\\xd2\\xef\\x09\\x0a\\x8b\\x28\\x2c\\xa6\\xf2\\x73\\x94\\xbe\\x48\\x61\\x49\\xc7\\x74\\x92\\x36\\x9b\\xa4\\xbd\\x20\\x5f\\xa6\\xfa\\x57\\x29\\xbf\\x8c\\xea\\xde\\x24\\x09\\x2b\\xa8\\xfc\\x2e\\x69\\xb0\\xbe\\x63\\x89\\x16\\x7a\\xb0\\x7d\\x63\\x92\\x16\\x42\\xd2\\x92\\x6e\\x24\\x2d\\x81\\xa4\\xfb\\x48\\x92\\x4b\\x52\\x96\\x28\\x7d\\xbe\\xa4\\xba\\x0d\\x1d\\x0b\\xc9\\x3f\\xe8\\x1c\\xf3\\x0e\\x64\\xaf\\x1d\\x3b\\xd6\\x74\\x8e\\x9d\\xa4\\x4f\\x20\\xe9\\x37\\x91\\xe4\\x35\\xd0\\x71\\x21\\x49\\x5e\\xa8\\x24\\xbc\\x4d\\xe9\\x4a\\x1a\\xe9\\xbb\\x14\\xde\\xa3\\x36\\x6b\\x28\\xac\\xa5\\xf0\\x11\\x85\\x8f\\x29\\x7c\\x42\\xfd\\x3f\\xa5\\x74\\x3d\\x85\\xef\\x28\\x7c\\x4f\\xed\\x3a\\x3a\\xe6\\x6a\\xac\\x63\\x2e\\xcd\\xec\\xab\\x24\\xf1\\x4d\\x1a\\xc9\\x6a\\xb6\\xb7\\x5c\\x1f\\xfa\\xe2\\x21\\x06\\xed\\x53\\x21\\x52\\xa7\\xfe\\xaf\\x52\\x58\\xa6\\x46\\xbb\\x86\\x66\\xf1\\x31\\xc2\\x0b\\x47\\xd9\\xd5\\x56\\x73\\x69\\x84\\x73\\xd5\\x08\\xc3\\xd1\\x85\\x7a\\xad\\x55\\x72\\x9e\\x23\\x39\\x2f\\x52\\x08\\xad\\xf8\\x26\\xec\\xbf\\x91\\xae\\x08\\xb9\\x94\\x24\\xbe\\x43\\x88\\xba\\x92\\xff\\x76\\x28\\x9f\\xc2\\x06\\xca\\x6f\\xa4\\xda\\x04\\x8d\\x79\\x09\\x61\\xdd\\x97\\xc7\\x7a\\x89\\xac\\x18\\x59\\x6f\\x61\\xa7\\x7c\\xb2\\xdc\\x12\\xf2\\xda\\x7a\\x6f\\x7c\\x88\\x76\\xce\\x87\\xc8\\x6a\\x6b\\x94\\xd5\\xce\\xa0\\x16\\x91\\xc5\\x26\\x50\\xef\\x9b\\x30\\x1f\\xd3\\xe5\\x33\\xd4\\x63\\x09\\x59\\x23\\xd2\\x74\\x0d\\x49\\x9b\\x4b\\x92\\xd6\\x90\\xe5\\xf2\\x6b\\x84\\xac\\xb2\\x86\\xf5\\xc2\\x6c\\x2e\\xcc\\xdb\\xfb\\x19\\x65\\x8d\\xb0\\xf7\\x42\\x35\\x93\\x2f\\xab\\x71\\xde\\xa4\\xd6\\xc3\\xdb\\x91\\x65\\x42\\xcd\\xd9\\x60\\x9a\\x41\\x5a\\x9d\\x14\\xa0\\x4b\\x61\\x5d\\xa8\\xf5\\x0a\\x69\\x94\\x0f\\x2d\\xb7\\x94\\xf2\\x6a\\x35\\x51\\xf9\\x6d\\x2a\\xaf\\xa4\\xf2\\x7b\\x14\\xd6\\x50\\xf8\\x90\\xc2\\x5a\\x0a\\x1f\\x51\\xf8\\x84\\xc2\\x3a\\x0a\\x9f\\x52\\xf8\\x8c\\xc2\\x7a\\x0a\\xe1\\x9a\\xf9\\x86\\xc2\\x77\\x14\\xbe\\xa7\\xd0\\xd1\\xb1\\x90\\x74\\x5f\\xa8\\x34\\x98\\x40\\x1a\\x4c\\xc0\\x1a\\x5a\\x52\\x18\\x0b\\xa1\\x2c\\x56\\xa8\\xd1\\x8c\\x87\\xa8\\x2b\\xa9\\xbc\\x8a\\x42\\x64\\x81\\x25\\xf2\\x7d\\x4a\\x57\\x53\\x58\\x43\\xe1\\x43\\x0a\\x6b\\xc9\\xfe\\x1f\\x51\\xfa\\xb1\\xb2\\xce\\x12\\xd2\\x62\\x0d\\x69\\x11\\xde\\x49\\x4b\\x48\\x83\\x35\\xf2\\x2b\\x0a\\x5f\\x53\\xf8\\x86\\x42\\x07\\xac\\x17\\xce\\xdc\\x6c\\x42\\x9c\\x4e\\x68\\xb3\\x61\\xf3\\x09\\xd1\\x7d\\x49\\x88\\x85\\xd5\\xb1\\x24\\xbf\\xca\\xee\\xa3\\x15\\x72\\x9f\\xb2\\xc6\\x27\\xea\\x8e\\x58\\x42\\x2c\\xf0\\x36\\xab\\x96\\xef\\xd1\\x9a\\xfc\\x84\\xed\\xad\\x4a\\x7b\\x53\\x49\\xad\\x10\\x5a\\x39\\x74\\xf7\\xa9\\xbd\\x20\\x9c\\xa7\\x9b\\x70\\xd7\\xcd\\x26\\x59\\x0b\\xd5\\xf8\\x9e\\x51\\x77\\xde\\x5c\\x92\\x39\\x97\\x90\\x77\\xa0\\xb9\\x9a\\x4d\\xa8\\x2e\\x59\\x3a\\x5c\\x37\\x73\\xa9\\xa7\\xa1\\x56\\x71\\xb8\\xb2\\x5e\\xa0\\x1e\\x73\\xe5\\x73\\x24\\x79\\x29\\x21\\xbc\\x0c\\xdd\\xde\\xa5\\xfc\\xfb\\x54\\xf7\\x11\\xdb\\x56\\xdd\\xdd\\x36\\x70\\x66\\x63\\x2d\\xce\\xce\\xaf\\xea\\x25\\xf9\\x35\\x39\\x97\\x46\\xb3\\x1a\\xab\\x72\\x9d\\x5a\\xe7\\xe1\\x3d\\x3d\\x5d\\xad\\x75\\x4b\\xed\\x15\\xef\\x2b\\x7b\\xaa\\xf1\\x75\\xde\\xf1\\xf2\\x5b\\x35\\x6b\\x6b\\x68\\x37\\x0f\\xe7\\xff\\x1d\\xb5\\x16\\x97\\x60\\x26\\x96\\x40\\x5e\\xb8\\x06\\x96\\x28\\xcb\\x84\\x56\\xff\\x1c\\xb2\\xbf\\xa0\\xfc\\x06\\xd2\\xe4\\x5b\\x75\\x27\\x2f\\x21\\x1d\\xdf\\x8e\\xad\\xe4\\xd5\\x0a\\x6b\\x8d\\x9a\\x3b\\xec\\x7c\\xaa\\x15\\x57\\xf7\\x70\\x49\\xbe\\xed\\xfb\\xf9\\xb6\\x0b\\x55\\xdb\\x70\\x87\\x2c\\x20\\x84\\xf7\\xd7\\x4d\\x21\\x0a\\xed\\x13\\x9f\\xc7\\xee\\xcf\\x6f\\xc9\\x26\\x3d\\x95\\x8c\\x77\\x62\\x98\\x9d\\xe3\\x2b\\x60\\x2e\\xc9\\xcb\\x89\\x34\\x5d\\x48\\x72\\xe8\\x8e\\x8f\\x50\\x22\\x59\\x34\\x9b\\xd1\\xbd\\xb3\\x90\\xf6\\x81\\xd5\\x5d\\xf7\\x68\\xd8\\x2e\\xb2\\x44\\xa7\\xed\\xc2\\x95\\x1f\\x8e\\x7c\\x6e\\x78\\x15\\x23\\x2f\\x8c\\x22\\x42\\xef\\xbc\\x3f\\x0a\\xad\\xd6\\x90\\xf4\\xf7\\x21\\x39\\xea\\x1f\\xda\\x7e\\x49\\xf8\\x8d\\x4f\\xba\\xd6\\x97\\x6a\\x37\\xb5\\x48\\x61\\x24\\x9f\\xe6\\xf5\\x5a\\x92\\x97\\x67\\x50\\xcf\\xe9\\xd4\\x73\\x3a\\x8d\\x28\\x5a\\x2d\\xa1\\xbd\\xc3\\x9d\\xcb\\x50\\x63\\x7c\\x4f\\xd5\\xd0\\xbc\\x45\\x2c\\x11\\xea\\x42\\x63\\x79\\x3b\\x36\\x3f\\x9d\\x8c\\xf4\\x45\\x61\\x3c\\x64\\x8d\\xb7\\xf3\\xab\\x3c\\xca\\xed\\x4d\\x73\\xb6\\x81\\xf6\\x13\\x2d\\x6f\\xdf\\x2f\\x3b\\x5e\\x50\\x1a\\xc4\\x6b\\xd4\\x58\\x95\\xf7\\x3e\\x9b\\x74\\x9a\\xad\\xd8\\x33\\xca\\x35\\xd2\\x28\\xcf\\x08\\x67\\xde\\x5c\\x49\\xde\\x9a\\x24\\xcf\\xf4\\x32\\x3a\\xa9\\x44\\x7e\\xb3\\x2e\\xef\\xea\\x30\\xe4\\x42\\xba\\x47\\x96\\x6c\\xfc\\x58\\xbe\\xba\\xf1\\x15\\xda\\xcf\\xc2\\xbf\\xc9\\x30\\x85\\xda\\xf5\\xa7\\x33\\xf1\\x1e\\x6c\\x1f\\xe6\\xb2\\x24\\x2b\\x63\\x69\\xb6\\x2f\\xdb\\x9f\\x1d\\xc6\\xc6\\xb2\\xe3\\xd8\\x78\\x76\\x82\\xdc\\x4f\\x1e\\x2c\\x2b\\x64\\xa5\\xac\\x96\\x81\\x3c\\x44\\x1e\\x2e\\x8f\\x90\\x47\\xca\\xa3\\xe4\\x18\\x39\\x56\\x1e\\x23\\x8f\\xa5\\xf3\\xe8\\x71\\x72\\xbc\\x3c\\x5e\\x9e\\x28\\x4f\\x96\\x93\\xe4\\x64\\x59\\x27\\x1b\\x64\\xa3\\x6c\\x96\\x53\\xe9\\x9c\\xda\\x2a\\xa7\\xc9\\x19\\x72\\xa6\\x3c\\x4d\\x9e\\x29\\xcf\\x56\\xef\\x21\\xde\\x2f\\x1f\\x92\\x0f\\xcb\\x47\\xe4\\xa3\\xf2\\x31\\x3a\\xc3\\x3e\\x21\\x17\\xc9\\xa7\\xe5\\x62\\xf9\\x8c\\x7c\\x4e\\x12\\xab\\xcb\\x25\\xf2\\x25\\xb9\\x54\\xbe\\x2c\\x5f\\x91\\xaf\\xcb\\x65\\x72\\xb9\\x7c\\x53\\xbe\\x25\\xdf\\x96\\xef\\xc8\\x95\\xea\\xef\\x88\\xbc\\x27\\xdf\\x97\\xab\\xe5\\x87\\x72\\xad\\xfc\\x48\\x7e\\x22\\x3f\\x95\\x9f\\xc9\\xcf\\xe5\\x7a\\xf9\\x85\\xfc\\x52\\x7e\\x25\\xbf\\x91\\xdf\\xcb\\x8d\\xb2\\x43\\xeb\\xad\\x55\\x98\\x2b\\xcd\\x55\\xe6\\x1a\\x1a\\x59\\x82\\xfc\\xec\\xed\\x28\\xc6\\x09\\xfd\\x7f\\xc9\\x93\\xfc\\x09\\xe1\\x5b\\xa9\\xf2\\xb6\\x30\\x16\\x67\\xab\\xfc\\x83\\x2a\\x5e\\xad\\xbe\\x93\\xb3\\x5e\\xd5\\x0f\\x52\\x6f\\xae\\x96\\x17\\xe2\\xa8\\x5e\\x36\\x17\\xc7\\xda\\x1d\\x85\\x18\\x7d\\x2f\\x8e\\xd5\\x47\\x12\\x46\\x16\\x62\\xf9\\x52\\x21\\x8e\\xae\\xca\\x13\\xc2\\x58\\x1f\\x5d\\xe8\\xb5\\x29\\x4a\\xa4\\x1b\\x10\\x27\\x14\\xeb\\xbc\\xa9\\x3e\\x91\\xcc\\x28\\x6f\\xcc\\x2d\\xc8\\x8f\\xe7\\x23\\x39\\xf1\\x78\\x8b\\x6c\\x72\\xed\\x3f\\xb7\\x46\\x17\\x0b\\x6c\\x32\\xf6\\xcd\\x8d\\x5a\\x5c\\xa5\\xea\\xbf\\x8b\\xb5\\x1c\\xb9\\x19\\x6b\\x34\\xff\\xa8\\xef\\xe4\\x74\\xbe\\x37\\x52\\x78\\x92\\x1f\\xfb\\xde\\x0f\\xd6\\xec\\xe2\\xff\\xee\\x35\\x8b\\xf7\\x25\\x57\\xa8\\x78\\x4c\\x21\\xdf\\xe5\\xdd\\xcc\\x4d\\xdf\\xd9\\x9c\\x55\\xf8\\x84\\x24\\xfe\\x86\\xe6\\xa6\\xef\\xba\\x76\\x79\\x37\\x33\\xaa\\x1f\\x5a\\xf8\\x4c\\x46\\x0c\\x8a\\xe5\\xe3\\x6f\\x62\\xc6\\xdf\\x4b\\xdd\\xe4\\x7d\\xc9\\x78\\x7d\\x5c\\xff\\x2e\\xef\\xcc\\xc6\\xf5\\xd9\\x82\\x77\\x63\\xa5\\x57\\x88\\x7f\\xac\\x4d\\x60\\x8d\\x45\\xdd\\xa3\\xc7\\x2d\\x10\\x1f\\xfb\\x0f\\x8f\\xba\\xcb\\x7b\\xa6\\xf1\\x77\\x4b\\x63\\x6f\\x92\\xc6\\xde\\xa8\\xdd\\xf2\\x35\\xfb\\xaf\\xbc\\xeb\\xb2\\x1d\\x21\\x4c\\xa2\\x10\\xea\\xda\\xc2\\x98\\xd2\\xed\\x4c\\x0a\\xe1\\xe7\\x61\\x17\\x53\\x08\\x67\\x3a\\x7c\\xdf\\x32\\x7c\\x9b\\xf3\\x46\\x0a\\xe1\\x7b\\xc0\\xb7\\x53\\x08\\xd7\\xc7\\x7d\\x14\\x1e\\xa4\\xf0\\x38\\x85\\x70\\x04\\x2f\\x52\\x78\\x95\\xc2\\x9b\\x14\\xc2\\xcf\\x1e\\x3f\\xa0\\x10\\x5a\\xe8\\x4b\\xc6\\x37\\xde\\x16\\xbe\\x65\\xb5\\x45\\xf1\\xa1\\x9b\\xd4\\x5c\\xf3\\x6f\\xc5\\x4c\\xbd\\x43\\xca\\xba\\xbb\\x8a\\xfb\\xf8\\x9e\\xff\\xee\\xfb\\x38\\x7a\\x7f\\x20\\xfa\\x9e\\x4d\\xf4\\x0d\\x1b\\x7c\\x4f\\x65\\x55\\xe1\\xf3\\xf7\\xe8\\xb3\\xfb\\xce\\xef\\xbb\\x14\\xea\\x3b\\xbf\\x4d\\x52\\x78\\xf3\\x21\\xba\\x8a\\x77\\x06\\xa2\\xbe\\x2b\\x62\\x7d\\x9f\\x8f\\xc9\\x8f\\xe2\\xe8\\x7b\\x51\\x57\\xc5\\x6a\\x62\\xd2\\xa2\\x4f\\xf6\\x3b\\xbf\\xc3\\x14\\x8b\\xc7\\x15\\xf2\\xd0\\x3f\\xa6\\xf3\\xa6\\xfa\\xa0\\x26\\xf6\\x86\\x46\\x37\\xf1\\x26\\xef\\x57\\x6c\\xb9\\x4d\\x36\\x67\\x0d\\xd8\\x21\\x6e\\x81\\xf8\\xd8\\x7f\\x70\\xd4\\xfc\\xe0\\x18\\x96\\xfa\\xc6\\x4b\\xf4\\x4d\\x98\\xb8\\xce\\x31\\xc4\\x2d\\xbf\\x8f\\x7f\\xf8\\x0d\\xc4\\xf0\\x5d\\x9e\\x7d\\x29\\x1c\\xcc\\x7e\\xec\\xf7\\x79\\x30\\x97\\xd0\\x75\\x45\\x61\\x76\\x31\\x92\\xc8\\x8e\\x56\\xec\\xaa\\x1a\\x39\\x3f\\x3d\\xf6\\x36\\x49\\x4a\\xc5\\x63\\x30\\xf2\\xa6\\xff\\xbd\\x5c\\x18\\xff\\x46\\x03\\xde\\x3a\\xd8\\x94\\x0b\\x17\\xc5\\x98\\x6c\\x33\\x5c\\x48\\x3e\\x79\\xb7\\x5c\\x08\\x26\\x8b\\x76\\xf6\\xd8\\xb7\\x51\\xd8\\xe8\\xcd\\x70\\xe1\\xa6\\xdf\\x2e\\x89\\x49\\x80\\xe4\\x79\\xff\\x2e\\x17\\x76\\x91\\xff\\xc3\\x36\\xd9\\xe4\\x3b\\x1d\\x3f\\x6c\\x8d\\x2e\\x16\\x18\\x57\\xcc\\x85\\x9b\\x1b\\x35\\x98\\xf5\\x07\\xb9\\x30\\x42\\x54\\xf1\\xff\\x27\\xb8\\x90\\xee\\x87\\xfe\\x31\\x3f\\xab\\x7f\\xbe\\x26\\xca\\x5f\\xaf\\xe2\\xc8\\x2e\\x75\\x9b\\xb4\\xd9\\x5d\\xc5\\x2f\\xc6\\xda\\x47\\x71\\x7f\\x15\\xd7\\x6e\\x12\\x37\\xa9\\x78\\x86\\x8a\\xd5\\x4a\\xc5\\xb7\\x80\\xc6\\x84\\x35\\xe4\\xb3\\xe4\\xe3\\xf0\\x6f\\x0e\\xf1\\x83\\x59\\xe1\\x1d\\x96\\xb0\\xce\\xf8\\x7e\\x55\\xe7\\xff\\x8d\\xcd\\xdd\\x7c\\x22\\x1b\\xb6\\x09\\xff\\x97\\xa8\\x4f\\x51\\x17\\x75\\x94\\xe3\\x53\\x55\\xa6\\xf4\\x0e\\x4d\\x71\\xc0\\x8d\\xcf\\x85\\xe9\\xa2\\x23\\xcf\\xb9\\x5b\\x95\\xaf\\x58\\x97\\xfe\\x7f\\x02\\x00\\x00\\xff\\xff\\x3f\\x16\\x14\\x69\\x18\\x6d\\x05\\x00\")\n\nfunc liberationsansItalicTtfBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_liberationsansItalicTtf,\n\t\t\"LiberationSans-Italic.ttf\",\n\t)\n}\n\nfunc liberationsansItalicTtf() (*asset, error) {\n\tbytes, err := liberationsansItalicTtfBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LiberationSans-Italic.ttf\", size: 355608, mode: os.FileMode(420), modTime: time.Unix(1459927769, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _liberationsansRegularTtf = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\xe4\\xbd\\x79\\x80\\x8d\\x75\\x1f\\xff\\xfd\\xf9\\x5e\\xd7\\x75\\xb6\\x31\\x63\\xf6\\x85\\xc1\\x39\\x33\\x63\\x6c\\x83\\xc1\\x18\\x7b\\xe6\\x64\\x19\\x84\\x8c\\x7d\\xc6\\x58\\xc6\\x16\\x22\\xdb\\x50\\x48\\xa1\\x84\\x44\\x28\\xad\\x14\\x95\\x64\\xcd\\x88\\x18\\xa2\\xb4\\x29\\x21\\x2a\\xb4\\x29\\x22\\x46\\x51\\x4a\\xda\\x2c\\xe7\\x3c\\xaf\\xeb\\x3a\\x67\\x34\\x54\\xf7\\x7d\\xff\\x9e\\xdf\\xf3\\xdf\\x33\\x77\\x6f\\xdf\\xeb\\xfa\\x2e\\x9f\\xe5\\xfd\\xf9\\x7c\\xb7\\x73\\x86\\x5b\\x94\\x88\\x44\\xf3\\x87\\x21\\xf5\\xb2\\xb3\\x7b\\x74\\x1e\\x18\\xf1\\x50\\x77\\xb1\\xf5\\x3e\\x4a\\x6d\\xa5\\x76\\x6d\\xda\\x66\\xdf\\xe3\\x9b\\x50\\x5f\\x6c\\x7a\\x43\\xde\\xe7\\xb4\\xcb\\xe9\\xd2\\x3d\\xb2\\x68\\xfc\\x73\\x62\\x0b\\x9d\\x27\\xd2\\xf1\\xd6\\x76\\xdd\\x7b\\xb6\\xea\\xd2\\xb5\\x6e\\x79\\xda\\x77\\x88\\x38\\x0f\\x76\\xe9\\x9e\\xde\\x40\\x56\\xee\\x7d\\x42\\x44\\x15\\xd3\\xbf\\x60\\xf0\\x1d\\x03\\xc7\\x46\\x3d\\x99\\xff\\x8e\\x48\\xad\\x99\\x22\\xf6\\xba\\x83\\xef\\x9c\\xe0\\xb9\\xe5\\x8b\\x8e\\x97\\x44\\x9a\\xaf\\x13\\xd1\\xe6\\xdc\\x36\\x76\\xd8\\x1d\\xf7\\x0e\\xdc\\x12\\x29\\x52\\x6f\\xb3\\x88\\x63\\xf3\\xb0\\x81\\x85\\x63\\x25\\x41\\x5c\\xc8\\xab\\xca\\xf8\\x88\\x61\\xa3\\x26\\xdf\\xd6\\xe2\\x89\\xce\\x4f\\x8a\\xdc\\xb6\\x42\\x8c\\xe8\\xa9\\xc3\\x87\\x0e\\x1c\\x22\\xc3\\x67\\xfe\\x86\\xfc\\x16\\xb4\\x37\\x1a\\x4e\\x45\\xd8\\xe2\\x30\\xda\\xd5\\x04\\xde\\xab\\x0e\\xbf\\x63\\xc2\\xa4\\x2f\\x6b\\x15\\x3f\\x83\\xec\\x04\\x91\\x1a\\xa3\\x46\\x0e\\x1d\\x3f\\x5a\\x1a\\x55\\x6e\\x28\\xc6\\x14\\x8f\\x48\\x6c\\x9f\\x51\\x63\\x06\\x0f\\x8c\\xab\\xf0\\xcc\\x58\\x91\\x96\\xf8\\x53\\x63\\xec\\x1d\\x03\\x27\\x8d\\x0d\\x9b\\xab\\x7f\\xcb\\x78\\x64\\x88\\x67\\xf4\\xc0\\x3b\\x86\\x9e\\xbe\\xf4\\xc0\\x77\\x62\\x2c\\x98\\x2a\\x52\\xee\\xa1\\xb1\\x63\\x0a\\x27\\xcc\\xfe\\x63\\xed\\x65\\x31\\x96\\x38\\x45\\x86\\x57\\x18\\x3b\\x7e\\xe8\\xd8\\xab\\x2f\\xb7\\xeb\\x20\\xd2\\x64\\xb8\\x88\\xde\\xda\\xe2\\x4e\\x13\\x39\\xd2\\xbb\\x4e\\xde\\x80\\xf0\\x16\\xbf\\x6a\\x6e\\xba\\xf1\\xb3\\xef\\xd1\\xca\\xed\\x4a\\xcb\\xcb\\x2b\\xaf\\x3e\\x1a\\x72\\xbb\\xe3\\x53\\x5e\\xcd\\x46\\x65\\x75\\xe0\\x4f\\x47\\x4b\\xdf\\xad\\xd2\\x3a\\x64\\xf3\\xe5\\x95\\x97\\xa6\\x84\\xdc\\x1e\\xac\\xbf\\xf6\\x13\\x92\\x68\\xd6\\x84\\x24\\xaa\\x6e\\xd2\\x43\\xfa\\x8a\\x1d\\x2d\\x11\\x92\\xce\\x93\\x68\\x2b\\x34\\x83\\x58\\x29\\xd1\\x8d\\xe7\\xd5\\x42\\xb1\\x89\\xd8\\x9e\\xb6\\x65\\x20\\x32\\x31\\x50\\xea\\x1f\\xc9\\x6d\\x5a\\x94\\xd3\\xa6\\x95\\xb3\\x1b\\x9a\\xf9\\x63\\x1c\\x97\\x10\\x7f\\x8e\\x4c\\xf2\\x23\\x36\\xc9\\x94\\x5d\\xff\\xe6\\xee\\xad\\xc5\\x2b\\x1e\\xff\\x15\\xdb\\x27\\xbe\\xae\\x2a\\xc3\\xd1\\x52\\xbd\\x52\\x20\\xea\\x8d\\x63\\xbf\\x93\\x04\\xcd\\x6c\\x33\\x4c\\x26\\xa4\\xbc\\x5d\\x64\\xbf\\xd9\\x5b\\x6b\\x7a\\x0d\\xdb\\xb4\\x4f\\xa5\\xb7\\x51\\x28\\x2e\\x10\\xe7\\xa8\\x2c\\x1d\\x6c\\xbd\\xa4\\xbd\\x9a\\x2d\\xc3\\xb5\\x35\\x32\\x0d\\x84\\xea\\x95\\x25\\xc9\\x58\\x27\\x43\\xe8\\x5b\\xcc\\x7b\\x3e\\xe5\\x6b\\xe6\\x58\\xfa\\xe7\\x80\\xa5\\x60\\x18\\xb8\\x15\\xa4\\x83\\x6e\\x60\\x38\\x18\\x01\\xf2\\x40\\x41\\xb0\\x7f\\x31\\x32\\x86\\x9a\\x72\\xac\\xb2\\x50\\x7a\\x38\\xdd\\xf2\\x1c\\xba\\x0c\\xb0\\xca\\xf6\\x9e\\x0c\\x07\\xab\\xcc\\x67\\xe3\\xa4\\xac\\xb2\\x37\\x95\\x61\\xe6\\x3b\\xe3\\x76\\x1a\\x58\\x6e\\xd5\\x17\\x52\\xbf\\xc6\\xea\\x6b\\xb6\\x0f\\x34\\xeb\\xac\\x32\\x30\\xae\\x1f\\xe3\\xea\\xf2\\xfc\\x2c\\xcf\\x2e\\xc7\\x7c\\x71\\x51\\xd6\\x05\\x75\\xa8\\xbf\\x19\\x39\\x8f\\x04\\xfd\\x8d\\xd0\\xdf\\x94\\x10\\xa3\\xd0\\xff\\x0d\\xbe\\xdc\\x8e\\x4c\\xd3\\xf7\\x99\\xe8\\x30\\xcb\\x5e\\xe6\\x3b\\x7d\\x2a\\x07\\x9f\\x1f\\x56\\xef\\xc9\\x83\\xea\\x3d\\xff\\x87\\xb4\\xcf\\xe5\\x79\\x2e\\xfa\\xe7\\x50\\x3f\\x27\\xd8\\x3e\\xd3\\x2c\\x35\\xb3\\x4e\\xa4\\x29\\xe3\\xdc\\xbc\\x3f\\xc0\\xb3\\xc3\\xf6\\x9e\\xff\\x2a\\x65\\x3c\\xb0\\x81\\xee\\xda\\x3a\\x49\\xd6\\x62\\x64\\xab\\x59\\xe2\\x7f\\x5f\\xcb\\x96\\x35\\x72\\x81\\xfe\\xb3\\x41\\x33\\x30\\x0e\\x9b\\x7c\\x66\\x1f\\x9e\\x0b\\x69\\xab\\x63\\x3b\\x25\\x6e\\xed\\x37\\xa9\\xc8\\x7b\\x77\\x8b\\x7f\\xb8\\x37\\xeb\\x8c\\x91\\xfe\\xf3\\x7a\\x86\\x4c\\x31\\x86\\xe0\\xd7\\x1a\\xa9\\x09\\x12\\x41\\x7b\\x63\\xa9\\xcc\\x33\\x3a\\x49\\x0e\\xcf\\xbf\\x80\\xbb\\x40\\x8e\\x76\\x4e\\x12\\xcd\\xf1\\xf6\\x75\\xd2\\x24\\x88\\x0e\\xf0\\x71\\x7f\\x90\\xf7\\xbf\\x81\\x64\\x4e\\xb0\\x62\\xd1\\x2b\\x10\\x8b\\x52\\x60\\xaf\\x0b\\x3c\\xac\\x35\\xf5\\x7f\\x4c\\x89\\x7f\\x52\\xbe\\x34\\x0e\\x37\\x02\\x5b\\x1f\\xa6\\x6c\\x67\\xc5\\xa2\\x2c\\x88\\x45\\x30\\xbe\\x0f\\x07\\x79\\xff\\x1b\\xc8\\xbf\\x56\\xc1\\x58\\x5c\\x07\\x74\\x86\\x80\\xd9\\xe8\\xff\\x84\\xd2\\x19\\xe4\\x7f\\x5e\\xb0\\xbc\\x1e\\xf0\\x82\\x8e\\xda\\x3c\\x3f\\x74\\x1d\\xcc\\x58\\x14\\xca\\x5c\\xb3\\x34\\x7d\\x35\\xe5\\xfe\\xad\\xc4\\x77\\x53\\xff\\x7f\\x28\\x57\\x19\\x67\\xa5\\x97\\xe9\\xbf\\xa9\\x2b\\x98\\x97\\xbd\\xff\\x5b\\x69\\xe6\\xb3\\xd9\\xff\\xdf\\x4a\\x4b\\x2e\\xf9\\x16\\x94\\x8b\\xaf\\xfe\\xe2\\x00\\x24\\x34\\x00\\x93\\x77\\x8b\\xfb\\xbe\\xe4\\xa1\\xdb\\x9c\\x17\\xe0\\x2d\\xdb\\x37\\xb2\\x46\\x9f\\x2f\\x0f\\x9a\\x73\\x84\\x3c\\x7d\\xca\\xd2\\x27\\x96\\x8f\\x73\\xcd\\xf9\\x42\\xdf\\xfc\\x60\\x79\\xaf\\x59\\x6a\\x3d\\x03\\xf5\\xe4\\xa1\\x59\\xc6\\x50\\x1f\\x11\\xd4\\x3d\\xef\\xc6\\xd2\\x38\\xec\\xf7\\xd9\\xf6\\xc8\\x8b\\xe6\\xb3\\x15\\xd7\\x80\\xbd\\xd7\\x95\\xe4\\xcb\\x40\\xe6\\x9a\\x65\\xbf\\x39\\x0f\\x82\\xe5\\x8c\\x60\\xd9\\xc4\\x9a\\x97\\xcc\\x8d\\x7f\\x2b\\xcd\\x39\\x6b\\xcd\\x1b\\x4a\\x5d\\x02\\xa5\\xf9\\x6e\\xe6\\x8b\\x39\\x97\\xfe\\xd7\\xd2\\x9a\\xef\\xcc\\x39\\x6b\\xbe\\x07\\xe2\\x6b\\xcd\\x7b\\x73\\xee\\xdd\\x58\\x9a\\xf3\\x98\\x31\\xe5\\xec\\x91\\x12\\x63\\xf3\\x5a\\xbe\\xce\\xa4\\x0c\\x31\\x79\\x47\\x5e\\x7e\\x99\\x58\\x97\\xb7\\x4f\\xb1\\xfa\\x74\\xb5\\xd6\\xb5\\x09\\x56\\xbc\\xf3\\xec\\x36\\xe9\\x6f\\x1c\\x96\\x5c\\xe3\\xa4\\x7f\\x37\\xf5\\xbb\\xac\\x18\\xfa\\x24\\xc4\\x11\\x6a\\xad\\x17\\x73\\xb1\\xbf\\x4a\\x69\\x1c\\x78\\x8f\\xa1\\x2c\\xef\\xf0\\x98\\x73\\xc0\\x7f\\xd0\\x5c\\x3b\\xac\\x79\\x72\\x94\\x75\\x2b\\x0b\\x1e\\x2f\\x50\\xf6\\xa6\\x74\\xd1\\x8f\\xdc\\x0c\\xce\\xb7\\x41\\x8c\\xe9\\x62\\x5c\\x90\\x51\\x7a\\x39\\x69\\x1d\\xe4\\x27\\xa6\\x94\\x27\\xfb\\x61\\x64\\xe5\\xe3\\xfb\\x65\\xcb\\xc6\\x67\\xed\\x75\\x03\\x3e\\xd3\\xd6\\x92\\x32\\x9d\\xd2\\xf4\\x3d\\xdb\\xe8\\x0b\\xc7\\x7d\\xad\\x75\\xb9\\x8f\\xb9\\x16\\xeb\\x6b\\xe1\\xf8\\x94\\x54\\x35\\xf5\\xb0\\xce\\x14\\xe9\\xb7\\xca\\x26\\xe6\\xea\\x78\\x73\\x0f\\x08\\x61\\x5d\\x75\\x11\\x33\\xe7\\x10\\x62\\x3a\\x2d\\xb0\\xce\\xea\\x4b\\x65\\xae\\x59\\xe7\\x78\\x98\\xf7\\x34\\x62\\x1b\\x9c\\x23\\xe4\\xe1\\x11\\x72\\xed\\xc1\\xd2\\x1c\\xf8\\x5f\\x63\\x14\\x9c\\x2f\\xd7\\xcd\\x37\\x73\\xbd\\x31\\xe7\\xfc\\xdf\\xe6\\x43\\x90\\xbf\\x1b\\xf3\\xcd\\xf2\\xad\\xaf\\xb4\\x41\\xff\\x23\\x65\\x6d\\x2e\\x1d\\xe7\\xcc\\x66\\xdc\\x85\\xc0\\x1e\\x61\\x72\\xfd\\x0f\\x7a\\xda\\x99\\x6b\\xc3\\x3f\\xcc\\xff\\xeb\\xe6\\x2b\\x3e\\x8e\\x00\\xe6\\xba\\xe3\\xa4\\xbc\\x74\\xa3\\x1d\\x81\\xfc\\xf6\\xbf\\x11\\xcc\\xf3\\x51\\x41\\x1f\\x47\\x5c\\xf3\\xf9\\xc6\\xfc\\xee\\x2b\\x5e\\xfd\\x5e\\x49\\xba\\x36\\xcf\\x57\\xca\\x0a\\x1b\\xf9\\x64\\x1c\\xa1\\xdf\\x2c\\x19\\x10\\xcc\\xcd\\xfa\\x37\\xda\\xf3\\x6f\\xf3\\xee\\x9a\\x1d\\xc1\\x7c\\xd7\\xf6\\xfa\\x57\\xdb\\xa6\\xc8\\x1c\\xed\\x27\\xff\\x56\\x73\\xbf\\x72\\x24\\x48\\x77\\x13\\xd6\\xba\\x1e\\xc8\\x67\\x33\\xbf\\x2b\\x9a\\xf6\\xf0\\xdc\\xce\\xd4\\x65\\xbc\\x28\\x19\\xfa\\x72\\xf2\\xbb\\x97\\x65\\x57\\x4d\\x5b\\xae\\xb5\\x67\\x9a\\x7a\\xdb\\x04\\xd7\\x93\\x0f\\x6d\\xa7\\xaf\\xf9\\x6b\\xee\\x57\\x31\\xa5\\xfa\\xa8\\x53\\xc1\\xf5\\xf6\\xde\\xe0\\xfe\\x79\\x13\\xe8\\x5c\\x66\\x1d\\xb6\\xd6\\x6d\\xdb\\x77\\xd2\\x9b\\xbc\\x6b\\x0f\\x32\\x6d\\x61\\x92\\x69\\x84\\x4b\\xc7\\x32\\xeb\\x77\\x2f\\x63\\x12\\x73\\x49\\x13\\x87\\x71\\x5e\\xe2\\x4c\\x5e\\x4a\\xc1\\xbc\\x49\\x00\\xbd\\xb4\\xcf\\xa5\\x8d\\xf6\\x2c\\xba\\x47\\x4b\\x38\\xef\\xb3\\x8c\\x47\\xe5\\x7e\\x72\\xf3\\xc1\\x20\\xd8\\x87\\xfd\\xcf\\x59\\xfb\\xf1\\x28\\x6b\\x5c\\x2f\\x7b\\x77\\x90\\x85\\xee\\xdb\\xac\\x7d\\x39\\xad\\x0c\\xe6\\x04\\xf1\\x30\\xf0\\x18\\x3d\\xe9\\x6f\\x82\\x18\\xe1\\x27\\xf3\\xc1\\xff\\x36\\xe5\\x7d\\xda\\x5e\\xeb\\x8c\\xe0\\x0e\\xee\\xe5\\x15\\x8d\\x79\\xd2\\xc3\\x28\\x28\\xdd\\xd3\\xc5\\x4e\\x19\\x6e\\xd4\\x60\\x4f\\x35\\xf9\\xeb\\x01\\xc8\\x45\\x30\\xca\\x8a\\xb5\\xb0\\xd6\\x06\\xca\\x40\\xdc\\xbc\\xc8\\x0f\\x67\\xbf\\x35\\x7d\\x1c\\x29\\xb3\\xf4\\xba\\x70\\xc6\\x91\\x4e\\x6f\\x8e\\x1f\\xa6\\xef\\xe6\\x5c\\x65\\x9e\\x3b\\xb6\\x4a\\x2f\\x87\\x97\\xdc\\x2d\\x07\\xcf\\x9b\\xa4\\xa6\\x3e\\x86\\x58\\xec\\x12\\xb7\\xbd\\x92\\x54\\xb6\\xdd\\xc2\\x9a\\x10\\x2e\\x73\\xf5\\x13\\x52\\xc1\\x68\\x22\\x83\\x6d\\xd3\\xa4\\xba\\x09\\x3d\\x52\\x06\\x9a\\x50\\xd9\\xfe\\xef\\xd4\\x59\\x19\\x06\\x6a\\x80\\x38\\xed\\x7b\\x19\\xa2\\x7f\\xee\\xbf\\xa0\\x2d\\xf2\\xff\\x6a\\x9d\\xe1\\x38\\xdb\\xc1\\xdb\\x34\\x70\\xa7\\xb5\\x36\\xad\\x91\\xdf\\xc0\\x25\\xed\\x03\\x69\\x08\\x32\\x82\\x67\\xb2\\x6b\\xa0\\x4d\\x02\\x50\\x95\\x28\\x33\\xc0\\x7b\\xe0\\xb1\\xe0\\x7b\\xeb\\xe0\\xb9\\xe2\\x14\\xfc\\x6c\\xb4\\x50\\x2a\\x6f\\x8d\\x3c\\x57\\x06\\x95\\x99\\x1b\\x5f\\x51\\x2e\\x0d\\xca\\xe0\\x4c\\xe2\\xff\\x8e\\x32\\x8e\\xf2\\x34\\xa5\\xae\\x2d\\xf6\\x5f\\x50\\xad\\x38\\xd3\\x14\\x4b\\x6d\\x6d\\xb9\\x18\\xa6\\x2d\\x7a\\x84\\x2c\\xbf\\x11\\xf4\\x1d\\x14\\x84\\x04\\xe4\\x5a\\xe7\\x9b\\x19\\x41\\xbc\\x1f\\xc4\\xfc\\x00\\x4c\\xd9\\xfe\\x12\\x4b\\x97\\x79\\xe6\\x5c\\x63\\xf9\\x7b\\x0d\\xf0\\x5f\\x05\\xc4\\xf3\\xdc\\x4c\\xe4\\xea\\x15\\x11\\xdf\\x63\\xe0\\x55\\x11\\xff\\x77\\x94\\x3f\\x50\\xb7\\x96\\x92\\x3b\\x92\\x7f\\x25\\xa5\\x59\\x17\\xcf\\x73\\x13\\xca\\x69\\xc1\\x7e\\x7b\\x40\\x5e\\xf0\\xfd\\x68\\xb0\\xef\\x92\\x1b\\x90\\x0f\\xba\\x80\\x2c\\xd0\\x9f\\x3e\\xb3\\x39\\x6e\\xb7\\x0c\\xc8\\xf4\\x77\\x02\\x9d\\x41\\x47\\xea\\x4d\\x59\\x91\\x81\\x7b\\xc1\\x15\\x7f\\x40\\x9f\\xa9\\xcb\\xff\\x14\\xb8\\x25\\xd8\\x77\\x67\\x60\\xbc\\x8f\\xbb\\x8f\\x6f\\x5b\\xc0\\x86\\x52\\xbd\\xbe\\xa7\\xcb\\xd8\\xbc\\x27\\xf8\\xfe\\x1c\\xef\\xeb\\x29\\x91\\xe9\\x3b\\xcd\\xf8\\x17\\x02\\xe3\\xfd\\x6d\\x28\\x9f\\xa7\\x4c\\x05\\xdc\\xe3\\xae\\x72\\x4f\\xf3\\x6d\\xa2\\x53\\x14\\xe5\\x0a\\xea\\x96\\x52\\x22\\xc7\\xbf\\x3d\\xa8\\x2f\\x8c\\x67\\xee\\x3a\\xfe\\x4c\\x9e\\xb1\\xc7\\xb7\\x2c\\x88\\xf3\\x01\\xdf\\xae\\xc6\\x51\\x4e\\x08\\xca\\x3f\\x1a\\x94\\x3b\\x21\\x00\\xdf\\x19\\x4a\\x64\\xca\\xaf\\x94\\x37\\xf3\\xfe\\x46\\xd0\\xaf\\xee\\xff\\x0e\\xdf\\x6b\\x00\\xdd\\xfe\\x77\\x82\\x7e\\x7e\\x01\\xb8\\xa7\\xf8\\xde\\x07\\xdc\\xb1\\x7c\\x15\\x68\\x1b\\x0c\\x7a\\xf3\\x4c\\x26\\xf8\\xb6\\x10\\xc3\\x3f\\xc1\\x44\\xf0\\x13\\x73\\xa8\\xa5\\x75\\x66\\xa4\\x0c\\xde\\x51\\xf6\\x9b\\xb9\\xc2\\xbe\\x6a\\x98\\x79\\x60\\xcf\\xf6\\xff\\x6a\\xdf\\xec\\xbf\\xa0\\x47\\xf9\\xcf\\xd8\\x1b\\xf8\\x5f\\xb3\\x7f\\x26\\x37\\xdb\\x6d\\xfe\\xd7\\x98\\xef\\x45\\xa5\\xf7\\x0f\\x63\\x38\\x7b\\x46\\xae\\xdc\\x14\\x3c\\x9f\\xde\\x5c\\x7a\\xb6\\x35\\xcf\\x59\\xd6\\x9e\\x9c\\x2b\\x21\\xa5\\x77\\x0f\\x5b\\x86\\xf4\\x29\\x73\\xef\\x30\\xf7\\x9b\\x51\\xd6\\xdd\\x83\\xb5\\xd1\\x3e\\x48\\x26\\x9a\\xf7\\x0e\\xfb\\x06\\x59\\x64\\xee\\xcf\\xd6\\x59\\xd9\\x5c\\x33\\x97\\x4b\\x2f\\x7d\\x11\\x7b\\x72\\xa1\\xdc\\x6e\\xde\\x29\\xac\\x35\\x85\\x3a\\xe3\\x69\\x6b\\x0d\\x72\\x98\\x67\\x0b\\xb3\\x5d\\x9f\\x6d\\xad\\x8b\\xb7\\x5f\\xeb\\x17\\x38\\xcb\\x95\\xe7\\x6c\\x6f\\x96\\xa2\\x3f\\x16\\x58\\x37\\x6d\\x0f\\x70\\x3e\\x98\\x2f\\x33\\xf5\\x2f\\x79\\xff\\x89\\xb1\\x35\\xb9\\xb3\\x20\\xd3\\x56\\x4f\\x7a\\x1a\\x19\\x12\\x6b\\xdb\\x2c\\xb3\\x59\\x07\\x39\\xeb\\xf8\\xf7\\x5b\\xba\\xcc\\xf5\\x86\\xd2\\xac\\x43\\x67\\x21\\xcf\\x2e\\xce\\x0d\\x4d\\x1d\\x6b\\xa4\\x92\\x59\\x1a\\x77\\x4b\\x0e\\x6d\\xdd\\x8c\\x03\\xd2\\xa6\\xcc\\x1e\\x37\\x1e\\x9d\\x7d\\xcc\\xfb\\x18\\x6b\\xd6\\x1c\\xc3\\xcf\\xfa\\xd5\\x42\\x1a\\xd8\\xc3\\xd8\\x43\\x9e\\x91\\xc1\\x9c\\x69\\x56\\xc2\\xc9\\x4c\\xdb\\x50\\xee\\x74\\xe6\\x9e\\x36\\x44\\x56\\x98\\xfb\\x0c\\xfe\\x8e\\x36\\xc1\\x15\\xd5\\x61\\xbc\\x2b\\x71\\xdc\\x59\\x06\\x1a\\xa3\\xa5\\x83\\xbe\\x45\\x62\\xf4\\x76\\x52\\xc3\\xd4\\x61\\x3c\\x66\\x9d\\x71\\x7a\\x9b\\x7b\\x8c\\xa9\\x4f\\x7f\\x50\\x72\\x4c\\x04\\xf7\\x9f\\xb9\\xe6\\x9e\\x65\\xf1\\x3d\\x1d\\x7e\\xe6\\xff\\x75\\x2e\\xb3\\x4a\\x33\\x1e\\xbd\\x89\\xcf\\x59\\xec\\xe8\\xc9\\xf3\\x2e\\xeb\\xbe\\xd2\\x2f\\x78\\x26\\x76\\x98\\x7b\\x97\\x73\\xa2\\x44\\x39\\x63\\xe9\\x73\\x98\\x3e\\xab\\xad\\x3e\\xab\\x6c\\xb1\\xd2\\xd8\\x2a\\xcd\\x98\\x7b\\x83\\xb1\\x33\\xc7\\x8f\\x94\\x70\\xf3\\xd9\\x31\\x58\\x2a\\x71\\xae\\x6b\\x6d\\xf5\\x01\\xd6\\x38\\xaf\\x44\\x5d\\x77\\xe7\\xdc\\x25\\x2b\\x4b\\xef\\xab\\x56\\xcc\\x91\\x69\\x8f\\x95\\x3b\\xad\\xbb\\xe6\\x59\\xea\\x7b\\xca\\x72\\x07\\x32\\x1d\\xd3\\xe9\\xdf\\x53\\xea\\x3a\\x62\\x2d\\x19\\xa6\\xbc\\x11\\xa6\\x3d\\x8c\\x2b\\xb0\\xf6\\xc6\\xc7\\x64\\x92\\xb9\\x3f\\x68\\x67\\xf1\\x6f\\xad\\x75\\xf6\\xeb\\x6d\\xeb\\x23\\x0e\\xf6\\xc9\\xfa\\xec\\x17\\x0f\\x9b\\xd0\\xa7\\x13\\xf3\\xb5\\x52\\xce\\xe2\\x60\\x64\\x60\\x7f\\xb3\\xf6\\xac\\xe0\\x7d\\x55\\x5f\\x23\\x29\\xe6\\x5e\\x6c\\x7f\\xcc\\xda\\x4b\\xe2\\x91\\xf9\\xb0\\x91\\x26\\x53\\xec\\xf4\\xa5\\xee\\x61\\x9b\\x70\\xdf\\xda\\x65\\xd5\\x3d\\x6c\\x98\\x76\\x8a\\xb5\\xe7\\x45\\x96\\xb9\\x57\\x85\\x58\\xfa\\x63\\xad\\xb9\\xd3\\xd4\\xcc\\x37\\xce\\x3a\\x7f\\x58\\xe7\\x07\\x2f\\xe7\\xe3\\xe9\\x96\\xae\\x10\\xcb\\x8e\\x49\\x56\\x9e\\xda\\x4c\\x3b\\x42\\x36\\x93\\x17\\x3e\\x09\\x87\\x8f\\x58\\xa3\\x44\\x62\\x1d\\x4f\\x31\\x47\\x5e\\xe5\\xac\\x95\\xcb\\xd9\\x45\\xc4\\xee\\xa8\\x2b\\x6f\\xd8\\x16\\xca\\x2c\\xfb\\x73\\x32\\xd9\\x76\\xb7\\x4c\\x71\\xde\\x21\\x3b\\xed\\x3f\\x91\\x3f\\x87\\xa5\\x00\\xff\\x3c\\xf6\\x01\\x70\\x7c\\xdf\\x5f\\x79\\x66\\xbf\\x83\\x73\\x47\\xa8\\x38\\x4a\\x4b\\xe7\\x93\\xdc\\x29\\x6a\\x4b\\x4f\\x78\\x6f\\x64\\x9c\\x96\\x34\\xd7\\x6c\\x19\\x65\\x3f\\x28\\xbd\\x4b\\xf5\\x06\\xcf\\x33\\x39\\x86\\x43\\xca\\x05\\xd6\\x35\\xdf\\x0e\\xd6\\x86\\x65\\x01\\x5c\\xfd\\x84\\xf5\\x94\\xf5\\xe8\\xca\\x48\\x2b\\x86\\xd8\\x0d\\xff\\x06\\x1c\\xc4\\x04\\x73\\x6b\\xa6\\xfe\\x1d\\xf9\\x7c\\x8b\\xc9\\x85\\xdf\\x8f\\xff\\x31\\xb6\\x7e\\xf2\\x12\\x77\\xc6\\xf9\\x66\\xfc\\xcd\\x18\\x98\\x39\\x60\\xc5\\x81\\xf8\\x5b\\xbe\\xff\\x55\\x1a\\x94\\x21\\xb6\\xf3\\x52\\xd3\\xe8\\x20\\x35\\xac\\xb3\\x1c\\x7c\\x38\\x5c\\xc4\\x35\\x5d\\x1e\\x76\\x25\\x10\\xf3\\xdf\\x38\\xdf\\xdb\\x59\\x8f\\xd2\\x24\\xa5\\xf4\\x1e\\x61\\xdd\\x6d\\xcc\\x58\\x15\\x5a\\x77\\x01\\x47\\x69\\x69\\xe6\\x8c\\x19\\x37\\xc7\\x30\\xce\\x7d\\xb3\\xa5\\x9a\\x99\\x3b\\x8c\\x6b\\x1b\\x2c\\xa7\\x50\\xae\\x36\\xe7\\x95\\xfd\\x5b\\x74\\xf6\\x60\\xfd\\x09\\x96\\x66\\x9e\\x97\\xda\\x6a\\xce\\x03\\xd6\\xae\\xf9\\x66\\x9e\\x5a\\xb9\\x12\\xb4\\xe9\\x5a\\x19\\x94\\x55\\x3a\\x97\\xcc\\x33\\xc0\\xbf\\x9d\\xc1\\xaf\\x9d\\x39\\xcd\\xfb\\x4d\\x99\\xf2\\x6f\\xbc\\x1c\\xe6\\x9c\\xc7\\xb9\\xe7\\x1a\\xbf\\xc1\\xf2\\x5f\\xcf\\xa8\\xe4\\xbe\\x99\\x7f\\xe6\\x5c\\xb1\\xee\\x66\\x37\\x96\\x41\\x1b\\xcd\\xb9\\x68\\xe6\\xa3\\x35\\x67\\x76\\x5d\\x8b\\x8f\\x94\\xf2\\x74\\xad\\xf4\\x72\\xf7\\x42\\xae\\xe3\\x0d\\xc9\\x77\\xe8\\x94\\x2b\\xa5\\xc0\\x3e\\x4b\\x7a\\xda\\x3a\\x33\\xb7\\xa2\\xa5\\xa7\\xe3\\x6d\\x89\\x72\\xb4\\x93\\x72\\xe6\\x5d\\xc0\\xe1\\xb0\\xec\\x1a\\x66\\x9e\\xc1\\x6c\\x7f\\x32\\x47\\xbb\\x13\\x87\\xc3\\xd2\\x0d\\x3f\\x3a\\x94\\x72\\x56\\x6a\\x67\\xe9\\x1d\\x32\\xb0\\x5f\\x4a\\x1a\\xe5\\x1d\\x94\\xfd\\xcd\\xcf\\x3c\\x79\\xbe\\x15\\x0c\\x27\\xd7\\x0e\\x83\\xe2\\xc0\\xbe\\xed\\xaf\\xf9\\xd7\\x67\\x7b\\x66\\xdd\\xd5\\xdf\\x82\\xf5\\x7d\\x03\\x32\\xfc\\xed\\x03\\x67\\x00\\xff\\xed\\x81\\x76\\xff\\xa0\\x40\\x9b\\x2f\\x26\\xd8\\xde\\x3f\\xd0\\xc7\\xfc\\xb9\\xba\\x26\\x20\\xcf\\x5f\\x44\\x3b\\x39\\xec\\xbb\\x10\\x80\\xf9\\xee\\xbf\\x29\\x88\\xbe\\x41\\x14\\x05\\x11\\x15\\x2c\\xf7\\x70\\x56\\x7a\\xc0\\x6c\\x33\\x66\\xa8\\x8b\\xa5\\xed\\xe4\\xc9\\xf6\\xd2\\x67\\xdd\\x29\\x9c\\x0f\\x38\\x83\\xdb\\xa5\\x95\\xb1\\x07\\xff\\x07\\x49\\x96\\x61\\x9e\\x33\\xa3\\xe4\\x49\\xee\\x82\\x2f\\x6b\\x8f\\x4b\\x86\\xad\\x8d\\xbc\\x6c\\x6b\\x2a\\x2b\\xcc\\x77\\x23\\x5b\\xaa\\xb3\\x8f\\xe4\\x18\\x37\\x49\\xb6\\xed\\x0e\\xea\\xa7\\x49\\x63\\xb3\\x5e\\xaf\\x2c\\xed\\xb9\\xb7\\x66\\x18\\xab\\x98\\x03\\x57\\xd8\\x57\\xbe\\x91\\x05\\x86\\x93\\xbb\\x45\\x5f\\x50\\x2c\\x77\\x9b\\xe3\\x6c\\x9f\\x22\\x6b\\x36\\xf7\\x81\\x28\\xe4\\x04\\xa1\\xc7\\xc8\\xa7\\xc6\\x27\\xf2\\xa9\\xfe\\x07\\x7b\\xd3\\x65\\xa9\\x60\\x7d\\xce\\xe3\\xe5\\x4c\\x6b\\xce\\x8f\\x11\\x32\\x1b\\x88\\x7e\\x56\\x66\\x9b\\xf9\\x65\\xae\\x43\\xfa\\x40\\xa9\\x67\\xee\\x7d\\x7a\\x23\\x89\\xb0\\xd6\\xbf\\x49\\xc1\\xf5\\xcf\\xbc\\x67\\x7c\\xcd\\xfc\\xfa\\x9a\\xfb\\xd2\\xd7\\x92\\x4e\\xcc\\x7a\\xeb\\xab\\xa4\\xf5\\xb5\\xfb\\x44\\x5a\\x70\\x8d\\x03\\xd6\\x9c\\x33\\xf7\\xbe\\xdd\\xe4\\xea\\xd7\\xd2\\x96\\x32\\xab\\xcc\\x67\\x73\\xdd\\x4d\\x5d\\xfa\\x48\\xe4\\x7c\\x29\\x35\\xad\\x75\\xd0\\x9c\\x9b\\x3d\\x03\\xeb\\x25\\xfb\\xe7\\xbd\\x66\\x6e\\xe8\\xcb\\xfd\\x57\\x6c\\x5d\\x28\\xbb\\x4a\\xa6\\xde\\xd5\\x7f\\x54\\x7f\\x52\\x1a\\xe8\\xed\\x19\\xd7\\x5e\\x3c\\xf8\\x52\\x4f\\x1f\\x2d\\x75\\x55\\x2f\\x19\\xac\\xcd\\x44\\xdf\\x6d\\x52\\x5f\\x3b\\xc8\\x5e\\x1f\\x2b\\x0d\\xf5\\x71\\xcc\\xf9\\x31\\xe4\\x6b\\x82\\xa4\\xe9\\xe1\\xbc\\xe7\\x49\\x1d\\xee\\xd3\\x75\\xf4\\x3b\\xa5\\x16\\xf5\\xd5\\x8d\\xcb\\xa2\\xb4\\x4b\\xd2\\x5c\\xbb\\xe4\\x3f\\xa7\\x1b\\xd2\\xdc\\xd8\\x47\\x9b\\x4d\\xfa\\x80\\xe6\\xda\\x9f\\x41\\xcc\\x93\\x26\\xa0\\x9e\\xd9\\xce\\x59\\xb9\\xbf\\xb6\\x85\\xf9\\xf8\\x98\\xf4\\x43\\x5e\\x3f\\xab\\xdf\\x61\\xee\\x55\\x94\\x16\\xec\\xd2\\x47\\xbd\\x85\\x4d\\xe1\\x92\\xaf\\xb7\\x92\\x34\\xb3\\x9f\\xf6\\x88\\xff\\x17\\xdd\\xc3\\x9a\\x15\\x2b\\x05\\xda\\x23\\xa2\\xd1\\xa7\\xb9\\xfe\\x80\\x34\\xd3\\xde\\x10\\x03\\x79\\x43\\xcd\\x7b\\x03\\xfd\\x0b\\xac\\x7e\\xb1\\x9c\\xb1\\xcd\\xd2\\x25\\x2d\\x4a\\xfb\\x38\\xda\\x98\\xe7\\x06\\xff\\x23\\x26\\xaf\\xec\\x0b\\x3b\\xed\\x6b\\xfc\\xef\\xf1\\xbe\\x09\\x3c\\xce\\x19\\xfb\\x59\\x13\\x86\\xf8\\xff\\xa4\\xed\\x15\\xeb\\x3e\\x54\\x48\\xfc\\xca\\xb1\\xaf\\x4f\\x90\\xce\\xf6\\x0e\\x52\\x8b\\x38\\x56\\x34\\x41\\x7d\\x15\\xe2\\x50\\x85\\xbb\\x54\\x88\\x51\\xfa\\x99\\x69\\x53\\xce\\x67\\x9b\\xad\\x78\\x9a\\x9f\\x91\\x84\\x97\\xf9\\x5c\\x75\\xa6\\x79\\xd6\\x37\\xf7\\x23\\x3d\\xc1\\xff\\x92\\x15\\x93\\xc0\\xe7\\xa8\\xf5\\x83\\x7b\\xd6\\xb5\\xfb\\xa5\\x39\\x87\\xad\\x7b\\x65\\x43\\xc9\\x0d\\x9e\\x95\\x6e\\x62\\xef\\x5a\\x64\\x7d\\xd6\\xc0\\xfa\\x04\\x6f\\xbd\\xe1\\xc8\\xab\\xed\\xe1\\x0e\\x72\\x45\\x1a\\xc0\\x65\\x75\\xc5\\x79\\x00\\xd4\\x36\\x39\\xe5\\xfe\\x54\\x00\\x0f\\x91\\xe6\\x3d\\x24\\x88\\x48\\xad\\x96\\xdf\\x4f\\xd9\\x1b\\xe8\\x5a\\x06\\xeb\\xcc\\xa3\\xdc\\xe9\\x80\\x1e\\xee\\x7f\\x13\\xae\\x06\\xe8\\xe5\\x81\\x4d\\x9a\\xe9\\xc2\\x7c\\x28\\x96\\x74\\xd5\\xca\\xbf\\x01\\xde\\x93\\x69\\x8b\\xd6\\x2b\\x4a\\x13\\x38\\xce\\xd7\\x0e\\xa1\\x17\\x2e\\xb5\\xaf\\xa5\\x05\\xa8\\x0b\\x52\\xb5\\x8b\\x94\\xdf\\x4b\\x0b\\xe6\\xb4\\x39\\xbf\\x67\\x32\\x27\\x99\\xaf\\xbe\\xd5\\x60\\x37\\x38\\x54\\xa6\\x1c\\x14\\x80\\x7f\\x4c\\xe9\\x79\\xfa\\x86\\xcf\\x04\\x66\\xfe\\xad\\x2c\\xfb\\xd9\\xe4\\x5f\\x9f\\x25\\xfe\\x7b\\xf9\\x3f\\x7e\\x66\\x69\\x9e\\xfb\\xcc\\x38\\xfd\\xc3\\x67\\x94\\x37\\x96\\x26\\xe7\\xa3\\x4a\\xdf\\xc9\\x87\\x57\\x89\\xc3\\x54\\xf3\\x2c\\x11\\x3c\\xff\\x5a\\x9f\\xe5\\xdc\\x58\\x1a\\x81\\xcf\\x25\\x1f\\x0c\\x94\\xd6\\x67\\x63\\x66\\xf9\\x49\\xb0\\x7c\\xda\\xdc\\xb3\\xcc\\xbc\\xb8\\xb1\\xbc\\xf6\\xd9\\xce\\xbf\\x94\\xff\\xc3\\x67\\x26\\x37\\xf2\\x57\\xf6\\xb3\\xcb\\xd2\\x72\\x42\\xb0\\xec\\xf1\\xdf\\x3e\\xc3\\xfc\\xa7\\xcf\\x32\\xff\\xa1\\x74\\xfe\\xcf\\x9f\\x69\\xf6\\x12\\x57\\xf0\\x7c\\x60\\x95\\xa5\\xfb\\xd2\\x7f\\x2b\\xff\\xb6\\x4f\\xf6\\xba\\xf6\\xb9\\xe0\\x3f\\x7e\\x0e\\x1a\\x88\\x95\\x79\\x66\\xb0\\xd6\\x43\\xf3\\x33\\x9d\\xde\\xd6\\xf9\\x60\\x59\\xe0\\x8c\\x6c\\xfc\\xd3\\xe7\\xe3\\x81\\xb2\\xfe\\x7f\\x69\\xff\\x5f\\xca\\xff\\x25\\x07\\xeb\\xff\\x5b\\x3b\\x76\\x77\\xc5\\x56\\xf3\\x2c\\xb4\\xc3\\xcc\\xa1\\xff\\x12\\xf3\\xd4\\x7f\\x6d\\x2f\\xfd\\x1c\\xf6\\xbf\\x94\\x37\\xc6\\xa8\\xf4\\x33\\xd8\\xff\\x56\\x5e\\xf7\\x79\\xf4\\x3f\\x94\\xd6\\x1d\\xf0\\x3f\\xa0\\xf4\\x7b\\x19\\xfb\\x7d\\x52\\xeb\\x06\\x64\\x99\\xb0\\xee\\x8c\\xff\\x00\\x7b\\x15\\xd6\\xd4\\x2a\\xe2\\x74\\x8c\\xe2\\x6c\\x57\\x06\\xa5\\x77\\xcb\\x7f\\x83\\x7d\\x01\\xe3\\x16\\x88\\xd3\\xe9\\x96\\x04\\x50\\x2b\\x58\\x02\\xff\\x25\\x13\\x81\\xef\\xc3\\xac\\xef\\xc4\\x36\\x05\\x20\\x7a\\x00\\xfe\\x79\\x26\\x74\\x25\\xe1\\xc0\\x69\\x2c\\x42\\xd7\\x75\\xf0\\x5f\\xb2\\xf0\\x4f\\xdf\\xd7\\x98\\x71\\x78\\x06\\xbd\\xcf\\xa0\\xb7\\x0e\\xba\\x80\\x63\\x4f\\x00\\xd6\\xfe\\xfd\\x1f\\x00\\x07\\x4e\\xc7\\xcb\\x8c\\x89\\xa2\\xff\\xcb\\xfe\\xf3\\xe6\\xfd\\xf6\\x3f\\x62\\x00\\x7a\\x06\\x30\\xe6\\x3c\\xfd\\x4d\\x3c\\x54\\x0a\\xff\\x77\\x26\\x4a\\x79\\x2f\\xe5\\xd1\\xf8\\xeb\\x2e\\x1e\\x11\\x5c\\xab\\x02\\x36\\x97\\xea\\x0f\\xca\\xfd\\xbf\\x8d\\xe3\\xff\\x61\\x5c\\xca\\xc0\\xff\\x95\\x89\\xff\\xaf\\xfc\\xfe\\x4f\\xb6\\x97\\x45\\xe0\\x3b\\x46\\x15\\x13\\x28\\xad\\xcf\\xf6\\x22\\xff\\xd1\\xee\\xfb\\x24\\x19\\xb4\\xb2\\xff\\x42\\xf9\\x0b\\x77\\x8c\\xc0\\x9a\\x5a\\x2b\\x00\\xff\\x79\\x72\\xe6\\x71\\x70\\x00\\xec\\x01\\xef\\x83\\xbb\\xc0\\xf3\\xec\\x1d\\x1f\\x98\\xdf\\x7b\\xe9\\x43\\x39\\xd3\\x0c\\x65\\xbe\\x97\\x19\\xf3\\xb7\\x3c\\x98\\xcf\\x99\\xc2\\x44\\xf0\\x3d\\xf8\\x3d\\x63\\x1d\\xfb\\x69\\xe9\\xe8\\x48\\xe0\\xee\\xc3\\x3c\\x60\\xdc\\xf7\\x01\\xc8\\xde\\x7f\\xe2\\xc7\\x31\\x54\\xfa\\xda\\x9f\\x81\\x8b\\xea\\x94\\x03\\x24\\xdd\\xfa\\xec\\x26\\xf0\\x3d\\xea\\x39\\x23\\xf8\\x25\\x7f\\x69\\xa9\\xad\\xb5\\x7e\\x3d\\x40\\x54\\x4f\\xeb\\x3b\\x70\\xeb\\x7b\\x74\\x65\\x9e\\xae\\xd7\\x96\\xde\\x05\\xfc\\x47\\x80\\x07\\x98\\x9f\\x5d\\x75\\x32\\xfb\\x98\\x70\\x06\\xc7\\x5b\\xdf\\xbb\\x8c\\xf4\\x7f\\x13\\xfc\\x5c\\xb6\\x14\\xf7\\xa2\\xab\\x63\\x19\\xb4\\x37\\x0a\\xad\\x3d\\x72\\x8e\\xb6\\x5f\\xba\\x3a\\x45\\xc5\\x05\\xe5\\x75\\x0e\\x9e\\xfb\\x2d\\x98\\x7a\\x91\\xd9\\x58\\x4d\\x97\\x9e\\x9c\\x75\\x80\\x7f\\x05\\x63\\x73\\x41\\x1e\\xf6\\x6e\\xc3\\xe7\\x5d\\xaa\\x97\\xcf\\xfa\\x0e\\xbe\\xcc\\xb8\\x88\\x20\\x22\\xcd\\x77\\xfa\\x96\\x07\\x99\\xc1\\xcf\\xc9\\xeb\\x70\\x16\\x1e\\xca\\xd9\\xf4\\x26\\xce\\xa0\\x8d\\xac\\x73\\xa6\\xf9\\xf9\\x2c\\xcf\\xd8\\x52\\x3e\\xf8\\x19\\x8c\\xf9\\xfd\\xbe\\xb9\\x8e\\x37\\x0b\\xee\\xc7\\x15\\x9c\\xbb\\xe4\\x59\\x57\\x0e\\xf7\\xad\\xf9\\x12\\x6d\\xdf\\x2b\\x9b\\x8d\\x44\\x31\\x3f\\x97\\x8f\\x20\\x0e\\xd6\\xfe\\x87\\x8d\\x35\\x39\\x57\\x9b\\xeb\\x5e\\x05\\xeb\\xbb\\xfd\\x5e\\x16\\x27\\xd6\\x5d\\x1e\\x9f\\x96\\x70\\xe7\\x6b\\xcb\\x1d\\x24\\xda\\xf9\\x98\\xec\\x30\\xbf\\xe3\\xa6\\xff\\x0e\\x7b\\xaa\\x8c\\x32\\xf6\\x4b\\x2e\\x79\\xea\\xe4\\x6e\\x50\\x60\\x5f\\x27\\x39\\x20\\x39\\x58\\xde\\x04\\xfa\\x81\\x45\\xf8\\xd9\\x1c\\x7e\\x9e\\x37\\x44\\x45\\xdc\\x58\\x9a\\xd0\\x2f\\x4a\\x13\\xe3\\x14\\x73\\xef\\x71\\x39\\xcb\\x99\\xf3\\x69\\xf3\\x73\\xee\\x52\\x4e\\xb8\\xf7\\x67\\x50\\xd7\\xdb\\x71\\x58\\x3d\\x69\\xdb\\xa5\\xe2\\xb4\\xfa\\x9c\\x69\\x87\\xd0\\xdf\\xfc\\x0e\\x79\\xad\\x0c\\xa1\\xcc\\xb2\\x9e\\x0f\\xcb\\x33\\xd6\\xef\\x2e\\x1c\\xd6\\x92\\x8d\\xc3\\xca\\x66\\x5b\\xeb\\xff\\xcd\\x26\\xea\\x33\\xdb\\x5a\\x6d\\xbe\\xf5\\xfc\\xb7\\xf2\\x46\\xa8\\xcf\\x03\\x6d\\x66\\x69\\xa2\\x6c\\xdb\\xff\\x69\\xfd\\xff\\x02\\x36\\x97\\xeb\\xa0\\x1d\\xa6\\x1c\\x66\\x3d\\x73\\x83\\xc5\\x9f\\xbb\\x81\\x5d\\x3b\\x22\\x77\\x98\\x30\\xf3\\xd2\\x71\\x56\\x3d\\x0b\\x16\\x95\\x96\\xf0\\xe6\\xa4\\xcf\\x4b\\xc6\\x9b\\x9c\\xe9\\x0f\\xcb\\x2b\\xa0\\xa6\\x09\\xfa\\x17\\x3a\\xd3\\xd4\\x46\\xe7\\x48\\xf5\\x91\\xa3\\xa7\\xca\\xb6\\x8b\\xfa\\x02\\x74\\xe5\\x3e\\xd7\\x9c\\x3b\\x75\\x0b\\x63\\x97\\xdc\\xc6\\x1d\\xc8\\xfc\\x1e\\xff\\x1d\\xbb\\x15\\x03\\x69\\x40\\xac\\x2b\\x90\\xe3\\x95\\xb8\\x3b\\xfc\\x42\\xec\\x2b\\x06\\xcf\\x6a\\x39\\xcc\\xf3\\x29\\xd7\\xce\\x91\\xa5\\xe7\\xc2\\xd2\\xef\\xc2\\xd8\\x7b\\xb9\\xb3\\x39\\x9c\\x9d\\xc4\\x65\\xdf\\x6e\\x9d\\x51\\xea\\x18\\xcf\\xca\\x2a\\x7d\\x18\\x7d\\xeb\\x91\\xeb\\x6b\\xe4\\xe6\\xe0\\x67\\xe5\\x9b\\xc8\\xa1\\x1f\\x4d\\xd0\\xe7\\x29\\x13\\xc4\\xb6\\xa8\\x14\\xd4\\x2f\\x37\\x41\\xff\\x4a\\x66\\xcc\\xf5\\xe9\\x9c\\xf5\\x67\\x07\\x40\\xdf\\xca\\x26\\xcc\\xbb\\xad\\xf9\\xb9\\xb2\\x75\\x5f\\xe5\\x6e\\x6b\\xdd\\x93\\x83\\xf7\\xe3\\xb2\\xf7\\x60\\xeb\\x7e\\x6b\\xde\\x6d\\xa7\\x49\\x1f\\xeb\\x9e\\x5b\\x16\\x8c\\x29\\xc5\\xdf\\xef\\xd8\\xfe\\xed\\xda\\xe3\\xfe\\xbd\\x81\\xfb\\xb5\\x7f\\xfb\\x75\\xf7\\x6b\\xee\\xd6\\xd7\\xee\\xd5\\xa5\\x77\\xea\\x7f\\xb8\\x4f\\x5b\\xf7\\x72\\xe4\\x5a\\xe3\\xe8\\x83\\x9e\\x1c\\x91\\x2b\\xe6\\xf7\\x06\\x57\\x29\\xaf\\x48\\xe9\\xfa\\x64\\xfd\\xde\\x8e\\xff\\x14\\x7c\\x4f\\x05\\xf7\\x69\\x7d\\xe4\\x76\\xd0\\x5e\\x7b\\x92\\x36\\x13\\xb3\\x99\\xe3\\xcb\\xfd\\xdf\\xe9\\xe9\\xe2\\xd1\\xda\\xfb\\xcf\\x30\\xe4\\xf6\\x32\\x68\\xff\\x17\\xcc\\xef\\x3f\\xae\\xb2\\x46\\x5c\\xc9\\x0d\\x7c\\x47\\x62\\xe1\\xab\\xe0\\x1a\\x17\\x5e\\xa6\\x6f\\x70\\xac\\xd9\\xdf\\xfa\\xce\\xe4\\xbb\\x7f\\x86\\xf9\\x3d\\xc7\\x95\\x87\\x44\\x2e\\x9f\\xa5\\x3c\\x40\\xb9\\x32\\x50\\x7f\\xf5\\x8e\\xc0\\x9d\\xc8\\xf7\\x01\\xf5\\x7f\\xf2\\x3e\\x05\\xdc\\xc6\\xf3\\xb3\\x94\\x29\\x94\\xcd\\x6e\\x94\\x85\\x5f\\x73\\xe8\\x7f\\x24\\x88\\x03\\xc1\\xd2\\xcc\\x81\\xb7\\x8c\\xde\\xb2\\xfc\\x06\\x74\\x06\\xdd\\x82\\xa5\\x89\\x6c\\x3d\\x82\\xbd\\xbd\\xb7\\x64\\x06\\xd1\\x05\\xd4\\x01\\xed\\xa9\\x37\\xcb\\xaa\\x20\\x35\\x88\\xea\\x20\\x9d\\x7a\\xf3\\xb9\\x32\\x88\\x07\\x8d\\x82\\xa8\\x47\\x7d\\xcd\\xe0\\xf8\\x4e\\x65\\xd0\\x9f\\xfa\\x4e\\xff\\x60\\x47\\x4e\\xb0\\x3d\\xbb\\xb4\\x6f\\xb0\\x5f\\x3a\\x68\\x0a\\xb2\\x4a\\x41\\x7d\\x56\\x50\\x47\\x66\\x19\\x7d\\x8d\\xa8\\xcf\\xbc\\x41\\x57\\xa9\\x9c\\xe1\\x37\\xca\\x2e\\x23\\xff\\x46\\x3b\\x7a\\x81\\xde\\x20\\x2f\\x58\\xf6\\xa2\\x5f\\x5f\\xca\\x26\\xa0\\x71\\x10\\xe6\\x73\\x13\\xea\\xcd\\xb2\\x1d\\x68\\x5b\\x16\\xd4\\x9b\\xe5\\x8c\\x20\\x9a\\x06\\xd1\\x8c\\x7a\\xb3\\x5c\\x74\\x23\\xfe\\xc5\\x8e\\x1b\\xfd\\xe8\\x42\\x3f\\x93\\xcb\\x7a\\x65\\x7c\\x36\\xf9\\xae\\x1c\\xe4\\x39\\x3d\\x18\\x8f\\xd2\\xd8\\x54\\x0d\\xc6\\xa5\\x7d\\x30\\x7e\\x5d\\x4a\\x63\\x1a\\x8c\\x63\\x76\\x99\\x98\\x5b\\xf1\\x0f\\xc6\\xfd\\x3a\\x3b\\xc8\\x99\\xc6\\xa5\\xeb\\x87\\x99\\x3f\\x01\\x58\\xdf\\xf3\\x99\\xdf\\xb7\\x1d\\xb1\\x3e\\xc3\\xf8\\x2f\\xe7\\x3b\\xce\\x2c\\x6f\\x81\\xc3\\x60\\x67\\xb0\\x7c\\xab\\x2c\\xfe\\xdb\\x39\\x36\\x78\\x06\\x3a\\xf0\\x6f\\xfd\\x95\\xb9\\xef\\xee\\x09\\x7e\\xff\\x44\\x89\\x5d\\xfb\\xb0\\x91\\x79\\xe9\\x63\\x3e\\xfa\\x0e\\x06\\xed\\x3e\\x10\\xfc\\xbe\\xec\\xab\\x60\\xf9\\x19\\xd8\\xca\\x1c\\x3a\\x17\\x28\\xad\\x3e\\xef\\x95\\xc1\\x5b\\x37\\xb4\\xbf\\x1a\\xf8\\x5e\\xf0\\x2f\\x98\\xe7\\x25\\x13\\xc6\\x4d\\xfe\\x91\\x16\\xcc\\x75\\xcb\\x5c\\x93\\x58\\x7b\\x4a\\x61\\xad\\x61\\xac\\x79\\xf4\\xaf\\x06\\xcc\\xef\\x14\\xfb\\x9a\\xdf\\x67\\x99\\x47\\x9d\\x20\\x2a\\x05\\x7e\\x13\\xd2\\xa8\\xca\\x9b\\xb2\\xde\\x0d\\xf3\\x57\\xcd\\xc4\\x27\\xd3\\xc5\\x2e\\xf7\\xca\\xbd\\xfa\\x18\\x7d\\xa2\\x7e\\xaf\\x3e\\x57\\x9f\\xa7\\x3f\\xa7\\x7f\\x68\\x8b\\xb6\\x55\\xb6\\xbd\\x67\\xfb\\xde\\x76\\xb1\\xf2\\x07\\x55\\x96\\x54\\x79\\xb6\\xca\\x9f\\xee\\x58\\x77\\x65\\x77\\x5b\\x77\\x67\\x77\\x6f\\x77\\x9e\\x3b\\xdf\\xdd\\xcf\\x7d\\x8f\\x7b\\xb3\\xfb\\x1d\\xf7\\x27\\xee\\x2f\\xdd\\xe7\\xdd\\x17\\xdd\\x3e\\x4f\\xb8\\x27\\xd9\\x53\\xcd\\x53\\xcf\\xd3\\xd0\\xd3\\xcc\\xd3\\xc2\\xd3\\xd2\\xd3\\xc6\\xd3\\xdf\\x33\\xc6\\x33\\xd1\\x33\\xc9\\x33\\xcd\\xb3\\xd8\\xf3\\xaa\\xe7\\xa7\\x24\\x5b\\x52\\x74\\x52\\x7c\\x52\\x72\\x52\\xb5\\xa4\\xba\\x49\\xb7\\x26\\xf5\\x48\\xea\\x9f\\x34\\x33\\xe9\\xb1\\xa4\\x55\\xc9\\x5a\\xb2\\x3d\\x39\\x3c\\x39\\x2a\\x39\\x36\\xb9\\x62\\xb2\\x3b\\xb9\\x66\\x72\\x5a\\x72\\xfb\\xe4\\x81\\xc9\\x43\\x53\\xb4\\x94\\x88\\x94\\xa4\\x54\\x49\\xd5\\x52\\x43\\x53\\x23\\x52\\x63\\x52\\x13\\x52\\x2b\\xa5\\x56\\x4d\\xad\\x9d\\xda\\x30\\xb5\\x45\\xea\\xa8\\xd4\\xe9\\xa9\\x33\\x53\\xe7\\xa4\\xce\\x4b\\x7d\\x34\\xf5\\xb9\\xd4\\x75\\xa9\\xaf\\xa4\\x6e\\x4f\\xdd\\x91\\xfa\\x4e\\xea\\xbe\\xd4\\x03\\xa9\\x9f\\xa7\\x9e\\xae\\xd6\\xa2\\x9a\\xb7\\x5a\\xab\\x6a\\x05\\xd5\\x06\\x57\\xbb\\xad\\xda\\xc8\\x6a\\x63\\x6a\\xdf\\x51\\xfb\\xae\\xba\\xf1\\x2f\\x25\\xbd\\x34\\xef\\xb2\\x76\\xb9\\xd1\\xe5\\x16\\x97\\x5b\\x5e\\xbe\\xf9\\x72\\x9b\\xcb\\x5d\\x7c\\x29\\xfe\\x2b\\x7e\\xbf\\xf5\\x9b\\x99\\xcb\\xf5\\x09\\xfa\\x14\\x7d\\x26\\xfe\\x3f\\xac\\xbf\\xa0\\x1f\\xb4\\x55\\xb4\\x2d\\xb2\\x1d\\xb4\\xfd\\x54\\x59\\x2a\\xfb\\xf0\\x7f\\xb9\\x5b\\xdc\\x09\\x6e\\x8f\\xbb\\xbd\\x3b\\x27\\xe8\\xff\\x00\\xf7\\x74\\xf7\\x16\\xf7\\x6e\\xf7\\x11\\xf7\\x57\\xee\\x0b\\xee\\xdf\\x3c\\xe2\\x89\\xc2\\xff\\x5a\\x9e\\x06\\x9e\\xa6\\xd7\\xfc\\xbf\\xdd\\x33\\xc1\\x73\\x17\\xfe\\x2f\\xf4\\x2c\\x0f\\xfa\\x1f\\x17\\xf4\\xbf\\x73\\x52\\xf7\\xa4\\x7c\\xfc\\x5f\\x78\\xcd\\xff\\x48\\xfc\\xaf\\x90\\x5c\\x25\\xe8\\x7f\\x41\\xf2\\x10\\xcb\\x7f\\xcf\\xbf\\xf8\\x9f\\x73\\xcd\\xff\\x85\\xa9\\xcb\\x53\\xd7\\x5c\\xf3\\xff\\x03\\xfc\\xff\\x0c\\xff\\x9b\\x5d\\xf3\\x7f\\x68\\xb5\\xdb\\xf1\\xbf\\xa0\\xf6\\x38\\xfc\\x8f\\x7f\\x69\\xce\\x65\\x75\\xb9\\xf2\\xe5\\x26\\xf8\\xef\\xbd\\xdc\\xfa\\x72\\xb6\\xcf\\x63\\xfa\\xef\\x3f\\xe9\\x7f\\xcb\\xff\\xba\\x7f\\xbb\\xff\\x55\\xff\\x66\\xff\\x26\\xff\\x2b\\xfe\\x8d\\xfe\\xb5\\xfe\\x26\\xfe\\x7a\\xfe\\xb4\\x33\\x9e\\x92\\x1f\\x4a\\xce\\x96\\x7c\\x5f\\xf2\\x6d\\xc9\\x89\\x92\\xe3\\x25\\x5f\\x97\\x1c\\x2d\\xf9\\xb2\\xe4\\x8b\\x92\\xcf\\x4b\\x3e\\x2b\\x39\\x52\\x72\\xb8\\xe4\\x50\\xc9\\xc7\\x25\\x1f\\x95\\x1c\\x28\\xf9\\xb0\\x64\\x7f\\xc9\\xde\\x92\\xf7\\x4b\\xde\\x2d\\x79\\xa7\\x64\\x57\\xc9\\x1b\\x25\\xaf\\x97\\x6c\\x2b\\x59\\x5e\\xf2\\x58\\xc9\\xa2\\x92\\x85\\x25\\x73\\x4b\\xa6\\x94\\x8c\\x29\\xc9\\x2c\\x49\\x2a\\x89\\x29\\x89\\x2a\\x71\\x96\\xd8\\x4e\\xfb\\x4e\\x1f\\x3f\\x7d\\xf4\\xf4\\x91\\xd3\\x1b\\x4f\\xaf\\x3c\\xbd\\xf8\\x74\\xf3\\xd3\\x4d\\x4e\\xd7\\x3b\\x9d\\x7e\\xba\\xce\\xe9\\x5a\\xa7\\xab\\x9f\\xae\\x72\\xba\\xf2\\x69\\x75\\xea\\xfb\\x53\\x67\\x4e\\x75\\x3a\\x95\\x75\\xaa\\xde\\xc9\\x6e\\x27\\xbb\\x9e\\x6c\\x7f\\xb2\\xed\\xc9\\x56\\x27\\xb3\\x4e\\xb6\\x38\\x99\\x79\\xb2\\xee\\xc9\\xea\\x27\\x3d\\x27\\xc3\\x4e\\x5c\\x3a\\xf1\\xfb\\x89\\x8b\\x27\\x7e\\x3e\\xf1\\xe3\\x89\\x13\\x27\\xbe\\x38\\x71\\xf8\\xc4\\x87\\x27\\xf6\\x9f\\xd8\\x7d\\xe2\\xcd\\x13\\x6f\\x9c\\xd8\\x7a\\x62\\xed\\x89\\xdc\\x13\\x3d\\x4f\\xf4\\x38\\xd1\\xf8\\x44\\xe6\\x89\\x86\\x27\\xea\\x9f\\xa8\\x7b\\xb4\\xe5\\xd1\\xe6\\x5f\\x2c\\x1d\\xf8\\xcc\\xc0\\xc6\\x61\\x6f\\x87\\xad\\x0e\\x5b\\x15\\xf6\\x52\\xd8\\xca\\xb0\\x17\\xc3\\x56\\x84\\x1c\\x72\\x5e\\xb9\\xf1\\x37\\x84\\xff\\x7f\\xf7\\x63\\xd7\\x42\\xcc\\x42\\xc9\\xdf\\x98\\x50\\xd6\\x25\\xcb\\xfc\\xd1\\xfe\\x8b\\x8c\\xc0\\x48\\x9d\\x0b\\x9a\\x8d\\xd5\\xc4\\xc1\\x21\\xc8\\x25\\x21\\x52\\x4e\\x42\\x25\\x4c\\xca\\x4b\\xb8\\x44\\x48\\xa4\\x44\\x49\\xb4\\xc4\\x48\\xac\\xc4\\x49\\xbc\\x24\\x48\\x05\\xa9\\x28\\x89\\xac\\x42\\x95\\xa5\\x8a\\xb8\\x99\\x7d\\x49\\x92\\x2c\\x29\\x52\\x55\\x52\\xa5\\x9a\\x54\\x97\\x1a\\x52\\x53\\x6a\\x49\\x9a\\xd4\\x96\\x3a\\x52\\x57\\xd2\\xa5\\x9e\\xd4\\x97\\x06\\x92\\x21\\x0d\\x25\\x53\\x1a\\x49\\x63\\x69\\x22\\x4d\\xa5\\x99\\x34\\x97\\x16\\x72\\x93\\xb4\\x94\\x2c\\xf1\\x72\\x0e\\x6d\\x25\\xad\\xa5\\x8d\\xb4\\x95\\x6c\\x69\\xc7\\x89\\xa8\\x83\\xdc\\x22\\x1d\\xa5\\x93\\x74\\x96\\x5b\\xa5\\x0b\\xa7\\xb4\\xae\\xd2\\x4d\\xba\\x4b\\x0f\\xe9\\xc9\\xaa\\xd8\\x5b\\x72\\x25\\x4f\\xfa\\x48\\xbe\\xf4\\x95\\x7e\\xd2\\x5f\\x06\\x48\\x81\\x0c\\xc4\\xfe\\x59\\x32\\x5b\\x1e\\x94\\x87\\xe4\\x51\\x79\\x52\\x9e\\x95\\x17\\xe4\\x79\\x59\\x21\\x2b\\xe5\\x45\\x79\\x49\\x56\\x73\\xb3\\x5c\\x23\\xeb\\x64\\xbd\\x6c\\xe0\\x94\\x5a\\x24\\x1b\\x65\\x93\\xbc\\x2a\\x9b\\x65\\x8b\\x14\\xcb\\x56\\xd9\\xc1\\xcd\\x6e\\xa7\\xbc\\xee\\x38\\x2b\\xe3\\x65\\x88\\x0c\\x95\\x11\\x8e\\x1f\\x64\\x92\\x3c\\x27\\x63\\x65\\xa4\\xb3\\x96\\xdc\\x29\\xb7\\x3b\\x6f\\xe1\\xac\\xf4\\xb4\\xb3\\x2d\\xa7\\xf6\\x4e\\xce\\xce\\x32\\x4c\\xee\\x72\\xde\\xe4\\xf4\\x3a\\xb3\\xf4\\xf1\\xce\\xf6\\x32\\x4a\\xa6\\xea\\xf9\\xec\\x27\\xdb\\x65\\x86\\x0c\\x96\\xd1\\xce\\x36\\xaa\\x87\\xb3\\x83\\xb3\\xa5\\xdc\\x21\\xf7\\x38\\x7e\\x94\\x41\\x72\\x9f\\x3c\\x20\\x4f\\xa8\\x18\\x15\\xeb\\xf8\\xda\\x71\\xcc\\x51\\xe2\\x38\\xe3\\x38\\xe9\\xf8\\x56\\xb6\\x39\\x1f\\x92\\x37\\x55\\x33\\xc7\\x55\\x67\\xa2\\xe3\\x4f\\xc7\\x25\\xe7\\x3b\\xce\\x77\\x1d\\xe7\\x64\\xb2\\xe3\\x94\\xe3\\x3b\\xc7\\xaf\\x32\\x53\\xe6\\xc9\\xfd\\x32\\x5f\\xe6\\xca\\x02\\x59\\x28\\x8b\\xe4\\x61\\x79\\x4c\\x1e\\xc7\\xc3\\xc5\\xb2\\x54\\x9e\\x91\\x25\\xdc\\xaa\\xe7\\x68\\xcf\\xca\\x38\\xed\\x69\\x6d\\x89\\xb6\\x54\\xa6\\x68\\xcb\\xb4\\x67\\xb4\\x07\\x45\\xbc\\xed\\xf2\\xfb\\xe4\\xe5\\xf6\\xec\\xd1\\xbd\\x5b\\xd7\\x9c\\x2e\\xb7\\x76\\xee\\xd4\\xf1\\x96\\x0e\\xed\\xdb\\x65\\xb7\\x6d\\xd3\\xba\\xd5\\xcd\\xde\\xac\\x96\\x37\\xb5\\x68\\xde\\xac\\x69\\x93\\xc6\\x8d\\x32\\xeb\\xd7\\x4b\\xaf\\x5b\\xa7\\x76\\x8d\\xea\\xd5\\x52\\xab\\xa6\\x24\\x27\\xb9\\x13\\x62\\x22\\x23\\xc2\\xcb\\x87\\x95\\x0b\\x71\\x39\\x1d\\x76\\x9b\\xa1\\x6b\\x4a\\x6a\\x7b\\x8a\\x54\\x41\\xdb\\x22\\x3d\\xd5\\x13\\x99\\x3d\\x30\\xa5\\x6d\\xca\\xc0\\xf6\\x75\\x6a\\x7b\\xda\\x26\\x0c\\x6f\\x53\\xa7\\x76\\xdb\\x94\\xec\\x82\\x22\\xcf\\x40\\x4f\\x11\\x85\\x51\\x2d\\xa5\\x7d\\x7b\\xab\\x2a\\x65\\x60\\x91\\xa7\\xc0\\x53\\x54\\x8d\\x62\\x60\\x99\\xea\\x82\\x22\\x2f\\x3d\\x6f\\xbb\\xa1\\xa7\\x37\\xd0\\xd3\\x7b\\xad\\xa7\\x8a\\xf0\\xb4\\x90\\x16\\xa6\\x8a\\x14\\x4f\\xd1\\xfe\\x36\\x29\\x9e\\x62\\xd5\\xa7\\x6b\\x2e\\xcf\\xf3\\xdb\\xa4\\xe4\\x79\\x8a\\x7e\\xb0\\x9e\\x3b\\x5b\\xcf\\x46\\x35\\xeb\\x25\\x8c\\x97\\xa4\\x24\\x46\\x58\\x56\\x99\\xd6\\x7a\\xda\\x16\\x65\\xdf\\x39\\x7c\\x6e\\xdb\\x02\\x6c\\x54\\x1b\\xcb\\x85\\xb4\\x4e\\x69\\x3d\\x34\\xa4\\x4e\\x6d\\xd9\\x18\\x52\\x8e\\xc7\\x72\\x3c\\x15\\xd5\\x48\\x19\\xbb\\x51\\xd5\\x68\\xa9\\xac\\x07\\xad\\x46\\xdb\\x66\\x1b\\x35\\x71\\x86\\x99\\x6a\\xf1\\xb4\\xed\\xc0\\x21\\x45\\x39\\x5d\\x73\\xdb\\xb6\\x49\\x4c\\x4a\\xca\\xab\\x53\\xbb\\x43\\x51\\xf9\\x94\\x36\\x56\\x93\\xb4\\xb6\\x44\\x16\\xd9\\x5b\\x17\\x39\\x2c\\x91\\x9e\\x11\\xa6\\xe9\\xf2\\x90\\x67\\x63\\xed\\x5d\\x73\\xe7\\x15\\x47\\xc8\\xa0\\x82\\xb4\\xd0\\x21\\x29\\x43\\x06\\xf6\\xcd\\x2d\\xd2\\x07\\x32\\x76\\xae\\xde\\x76\\xee\\xdc\\xd9\\x45\\x91\\x69\\x45\\x35\\x53\\xda\\x14\\xd5\\x9c\\xf2\\x6d\\x02\\x9e\\x0f\\x2d\\xaa\\x9d\\xd2\\xa6\\x6d\\x51\\x9a\\x29\\xb5\\x63\\xb7\\x6b\\x7a\\x3a\\xfe\\xa5\\x52\\x15\\xd9\\x52\\xd9\\x30\\xe6\\xfe\\x2a\\xb8\\x93\\xf2\\xc3\\xb9\\xeb\\x6b\\x06\\x06\\x6b\\xec\\xa9\\x11\\xbf\\x8a\\xf9\\x58\\xa4\\xb5\\x2e\\x52\\xdd\\x72\\x93\\xcc\\x9f\\xc4\\x6c\\xb8\\x9e\\x3b\\x37\\x3b\\xc5\\x93\\x3d\\xb7\\x60\\xee\\xc0\\x62\\xff\\xf4\\x41\\x29\\x9e\\x88\\x94\\xb9\\x1b\\x43\\x43\\xe7\\x8e\\x6d\\x0b\\xdd\\x92\\x93\\x8b\\x88\\x62\\xff\\xf6\\x87\\x12\\x8b\\xb2\\xe7\\xe5\\x15\\x45\\x14\\x0c\\x57\\xcd\\xf2\\x82\\xae\\x67\\x77\\xeb\\x58\\x14\\xdd\\x35\\x3f\\xb7\\x48\\x4b\\xcd\\xf6\\x0c\\x1f\\x48\\x0d\\xff\\x65\\xa5\\x24\\x35\\x49\\x4c\\x8a\\xbc\\xd6\\x27\\xe7\\xdf\\x9a\\x05\\x5a\\x20\\x07\\x86\\x93\\x92\\x4c\\x1a\\x1e\\x2a\\xf6\\xca\\x20\\x5e\\x8a\\xa6\\x77\\xcd\\x0d\\xbc\\x7b\\x64\\x50\\xe2\\x2b\\xe2\\x4d\\x4f\\xcb\\x2b\\xd2\\x0a\\xcc\\x96\\x5d\\xa5\\x2d\\xb1\\x3d\\xcd\\x96\\xe9\\xa5\\x2d\\xd7\\x86\\x17\\xa4\\x10\\xdb\\x8e\\xdd\\x73\\xe7\\x16\\x19\\xa9\\x1d\\x86\\xa4\\xb4\\x85\\xf1\\x87\\x06\\x16\\x4d\\x1f\\x44\\x76\\xdd\\x6e\\x06\\x26\\x25\\xa2\\xa8\\xfc\\x6f\\x89\\x49\\x29\\x73\\xa3\\x22\\x3d\\x4d\\xd3\\xf3\\xac\\xbe\\x1e\\xac\\xea\\x30\\x64\\x84\\xa7\\xc8\\x56\\x0d\\x92\\x18\\x55\\x76\\x00\\x79\\x63\\x0e\\x99\\x1b\\x61\\xbd\\x94\\xff\\x2d\\x50\\xfc\\x90\\x88\\x82\\x6a\\x91\\x51\\x9e\\xa6\\x29\\x88\\x31\\xe5\\xb4\\x4d\\x69\\x5b\\x10\\xfc\\xef\\xce\\xe1\\x09\\x08\\xf0\\x40\\x74\\xfb\\xb4\\x40\\x22\\xf4\\xc8\\x2d\\xf2\\xb6\\xe1\\xc1\\x3b\\x30\\x18\\xb1\\xb6\\x1b\\xeb\\xa5\\x33\\x62\\x60\\x01\\x01\\x1b\\xd1\\xc6\\x0a\\x66\\x51\\x7a\\xca\\xd8\\xa2\\x98\\x94\\x56\\xd7\\xa2\\x6b\\x9a\\xd5\\x76\\x44\\xf7\\x5c\\x6b\\x48\\x70\\x58\\x51\\x4c\\xeb\\x22\\x29\\x18\\x1c\\x1c\\x55\\x94\\xde\\xd6\\x9a\\x57\\x9e\\xb6\\x73\\x0b\\xda\\x04\\x4c\\x30\\x65\\xa5\\x74\\xcd\\xdd\\x26\\x19\\xfe\\xe3\\x1b\\x1b\\x7a\\x12\\x37\\x99\\x4b\\x67\\x5e\\x1b\\xb3\\x73\\x5c\\x6b\\xb2\\xac\\x5a\\xdb\\xb9\\xb9\\x43\\x6e\\x2b\\x72\\x17\\x24\\x0e\\x61\\xde\\xdd\\xe6\\xc9\\x4d\\x4c\\x2a\\xf2\\xe6\\x11\\xe1\\xbc\\x94\\xdc\\xa1\\x79\\x66\\xda\\xc1\\x50\\xcd\\xe3\\x89\\x56\\x72\\xe4\\x59\\xb9\\xd2\\x23\\xb7\\x63\\xf7\\x94\\x8e\\x5d\\xfb\\xe4\\x36\\x09\\x1a\\x12\\x68\\x30\\xc5\\x19\\xa9\\x6d\\x6f\\x10\\x93\\x92\\x9b\\x18\\x10\\x43\\x02\\x16\\x39\\x53\\x9d\\x9e\\x5c\\x2d\\x51\\xcf\\xa3\\x63\\x04\\x15\\x9e\\x6c\\x1e\\x52\\x5a\\xb5\\xe0\\xcf\\x22\\x47\\xaa\\x13\\x44\\x40\\xb8\\x55\\x6b\\x26\\x6e\\xab\\x16\\x9e\\x5c\\x95\\x28\\xa5\\xbd\\x31\\xa3\\xa8\\xa6\\xa7\\xed\\xd0\\x36\\xc1\\x7e\\xe6\\xfb\\x75\\x42\\x6d\\x66\\x3a\\xb5\\x6e\\x5f\\x2a\\xcd\\x6e\\xbe\\x22\\xa7\\x75\\xfb\\xc4\\xa4\\xbc\\xa4\\xc0\\x4f\\x9d\\xda\\x1a\\xcd\\x9e\\xa0\\x62\\x46\\x38\\x4d\\x52\\xdb\\x97\\x36\\xb1\\x4c\\xd1\\xe0\\x24\\x3f\\x5b\\xb7\\xb7\\xaa\\x4c\\x2e\\x13\\xcc\\xa4\\xf7\\xe4\\xa6\\x0c\\x4d\\xc9\\x4b\\x19\\xee\\x29\\xf2\\xe6\\xe4\\x9a\\xbe\\x99\\xf4\\x58\\x2c\\x07\\xc9\\xb0\\x38\\x0f\\xc6\\xaa\\xc7\\x75\\x6f\\x65\\xc8\\x82\\x26\\x49\\xa2\\xb9\\xf4\\xc5\\x24\\xb3\\x28\\x3b\\x2d\\xb1\\x2c\\xb9\\x45\\xed\\xac\\xf7\\x6b\\xaf\\xed\\x6f\\x68\\xee\\x50\\xda\\xec\\x99\\xeb\\x4c\\xe9\\xd8\\x7d\\xae\\x29\\x3c\\x25\\x28\\x50\\xb0\\xbc\\x43\\x91\\x98\\x29\\xec\\x6d\\x12\\x99\\x68\\xad\\x05\\xe6\\x84\\x4e\\x61\\xed\\xf5\\x44\\x30\\xa5\\xad\\x09\\x3d\\x77\\xa3\\xd7\\x6b\\x4e\\xe6\\xe1\\xcd\\x4c\\x21\\x29\\x1d\\x86\\xcc\\x4d\\xe9\\x9e\\xdb\\xc2\\xea\\xcd\\x7a\\x72\\x4f\\xe2\\x14\\x53\\x57\\x94\\x74\\x54\\x1d\\x7b\\xb4\\xaa\\x53\\x9b\\xa5\\xad\\xd5\\xc6\\x14\\x35\\xa7\\xeb\\x46\\xaf\\x9a\\xd3\\xbd\\x4f\\xee\\xb6\\x08\\xce\\xc8\\x73\\x7a\\xe4\\xbe\\xa2\\x29\\xad\\x75\\x41\\xab\\xbc\\x8d\\x55\\x69\\xcb\\xdd\\xe6\\x61\\xd3\\xb0\\x6a\\x35\\xb3\\xd6\\xac\\x34\\x5f\\x3c\\xe6\\x8b\\x29\\xa9\\x1b\\x2f\\x4e\\xab\\x7f\\xe2\\x36\\xaf\\xc8\\x74\\xab\\xd5\\xb0\\x2a\\xac\\xf7\\xc1\\xc5\\x4a\\xac\\x3a\\x67\\x69\\x9d\\x92\\xc1\\xc5\\x5a\\xa0\\x2e\\x22\\xa0\\xa8\\x9a\\xa5\\xc8\\xcb\\x19\\x64\\x70\\xb1\\x11\\x68\\xf1\\x96\\xf6\\x36\\xa8\\x73\\x06\\xea\\xa6\\x5b\\x75\\xd6\\xcf\\x46\\x31\\x29\\xf3\\x86\\xd8\\xbc\\x4e\\xaf\\xcb\\x1b\\xaa\\x85\\x69\\x89\\x1b\\x95\\x59\\xf5\\x0a\\x35\\xdb\\x39\\xab\\xb8\\x94\\x6c\\x0a\\x55\\x61\\x2a\\x71\\x23\\xa3\\xba\\x59\\xd5\\xc5\\x6a\\xfa\\x46\\x97\\x37\\x31\\xd0\\x63\\x3a\\x3d\\xbc\\x01\\x0b\\xe7\\xf4\\xfc\\x4b\\x75\\xcf\\x3e\\xb9\\x9b\\x38\\xd1\\xa8\\x44\\xeb\\x4f\\x14\\xb5\\x32\\x7f\\x48\\x97\\x84\\xe1\\x04\\x9b\\x6d\\xa5\\xad\\x67\\x88\\x99\\x28\\x53\\xf3\\x86\\xcf\\x2d\\xc8\\x33\\x27\\x9b\\xc4\\x11\\x1a\\xfe\\x53\\x45\\x2a\\xa5\\x25\\x61\\x4a\\x69\\x89\\x21\\xf6\\xd0\\xa2\\x90\\x94\\xa1\\xad\\x8a\\xca\\xa5\\xb4\\x32\\xeb\\xb3\\xcc\\xfa\\xac\\x40\\xbd\\xdd\\xac\\x77\\x90\\xa2\\x2a\\x4e\\x31\\x7c\\x3a\\xb1\\xcf\\x29\\x52\\x66\\x06\\xe4\\xe7\\x26\\x31\\x25\\x3d\\x15\\xf7\\x24\\xce\\x8d\\xf8\\xc1\\x8c\\x54\\x1e\\x8b\\xca\\xdc\\x88\\x53\\x75\\x6e\\x4e\\xc2\\xd8\\x2c\\x51\\xaa\\xa9\\xf4\\x54\\x2d\\x83\\x65\\x2b\\xe5\\xe5\\xac\\xe5\\x56\\x37\\x53\\x72\\x71\\x51\\xcd\\x25\\x43\\x35\\xa3\\xbe\\x09\\x25\\xed\\xe2\\x55\\x0e\\x98\\x76\\x5b\\x7f\\x2e\\x53\\x86\\x77\\x8d\\xda\\x75\\x55\\x6d\\xb8\\xaa\\xe4\\xaa\\x0a\\xe9\\x72\\x59\\x79\\x2e\\xab\\x5f\\x73\\x6a\\xb8\\x2f\\x64\\xd7\\x70\\xff\\x9c\\x5d\\xcb\\xfd\\x53\\x76\\x9a\\x7b\\xc0\\xf9\\x69\\xe7\\xb5\\xf0\\xf3\\x5d\\xce\\x0f\\x38\\xbf\\xe0\\xfc\\x86\\xf3\\xb6\\x72\\xa7\\xbe\\xad\\xe2\\x3e\\x79\\x22\\xdb\\x1d\\x7e\\x42\\x79\\x4f\\x64\\xc7\\xb9\\xbf\\x39\\x9e\\xed\\x3e\\x70\\xfc\\xd8\\xf1\\xf3\\xc7\\x75\\xef\\xf1\\x8c\\x46\\xd9\\xc7\\xb3\\x13\\xdc\\x3f\\xfe\\xe0\\x77\\xff\\xa0\\xce\\xf4\\x3c\\xd7\\xfe\\x6c\\xcf\\xef\\x1b\\x48\\xcf\\xef\\xce\\x9c\\xe9\\x59\\xd2\\x5e\\x7a\\x9e\\x16\\xbf\\xfb\\xab\\x9b\\x8e\\xf5\\x3c\\xa6\\xf4\\x9e\\x5f\\xdf\\xa4\\xf7\\x3c\\xaa\\xfb\\xdd\\xe1\\x87\\xdd\\x87\\x35\\xeb\\x0f\\xef\\x07\\x09\\x89\\xd9\\x07\\xde\\x52\\x3b\\x77\\xb5\\x70\\xbf\\x99\\x53\\xcd\\xbd\\xe3\\xf5\\x1a\\x6e\\xff\\x36\\x95\\x53\\x3c\\xb6\\x78\\x7a\\xb1\\x5e\\xec\\xdf\\xe5\\xf5\\x17\\x47\\x35\\xc8\\x76\\x6f\\xcd\\xda\\xda\\x65\\xeb\\x98\\xad\\xd3\\xb6\\x2e\\xdb\\xba\\x61\\xab\\x23\\x61\\x8b\\x1a\\xfb\\xca\\xf2\\x57\\x8a\\x5e\\xd1\\xc3\\x5f\\x51\\x0b\\x5f\\x55\\x45\\xaf\\xaa\\xf0\\x57\\x95\\x33\\x7c\\x53\\xd6\\xa6\\xf3\\x9b\\xf4\\xe9\\x45\\x0b\\x8b\\xb4\\xa2\\xa2\\x5d\\x45\\x07\\x8b\\xf4\\xf4\\x0d\\x59\\x1b\\xb4\\xe5\\xeb\\x8b\\xd6\\x6b\\xbb\\xd6\\x1f\\x5c\\xaf\\xa5\\xaf\\xcb\\x5a\\xa7\\x2d\\x5b\\xab\\x76\\xad\\x39\\xb8\\x46\\xeb\\xb2\\x7a\\xc1\\x6a\\x2d\\x7d\\xf5\\x98\\xd5\\x6f\\xac\\xf6\\xaf\\x36\\x96\\x2e\\xa9\\xea\\xce\\x59\\xa2\\xc6\\x3c\\xae\\xde\\x78\\x5c\\x3d\\x9e\\x5d\\xd9\\xfd\\xd8\\xe2\\x78\\x77\\xf8\\x62\\xf7\\xe2\\x69\\x8b\\x17\\x2c\\xf6\\x2f\\xb6\\xd5\\x5b\\xe4\\x5d\\xa4\\x4d\\x5f\\xa4\\xc6\\x2e\\x98\\xbe\\x40\\x5b\\xb8\\x40\\xed\\x5a\\x70\\x70\\x81\\xd6\\x65\\xde\\x80\\x79\\x63\\xe6\\xe9\\xb3\\xb2\\xfd\\xee\\x65\\x0f\\xa8\\x99\\xf7\\xd7\\x77\\x4f\\x28\\xcc\\x72\\x17\\xe2\\xc8\\x98\\xd1\\x2d\\xdc\\xa3\\xb3\\x33\\xdd\\x15\\x55\\x42\\xcf\\x0a\\x19\\x09\\x3d\\x1d\\x19\\x7a\\x4f\\x3b\\xae\\x17\\xd0\\x36\\x00\\xf4\\xcd\\xae\\xef\\xce\\xef\\xd3\\xde\\xdd\\x87\\x32\\xba\\x41\\x54\\x4f\\x1b\\xf4\\x18\\x0d\\xf4\\x9e\\xa3\\x74\\x15\\xaa\\xb7\\xd0\\x3b\\xe9\\xa3\\xf4\\xa9\\xba\\xed\\x7c\\x57\\xbf\\x77\\x48\\x57\\xcd\\xdb\\x35\\xb3\\x49\\xb6\\xb7\\x6b\\x6a\\x8d\\xec\\x03\\x39\\xaa\\x43\\x36\\x37\\x53\\x24\\xb7\\x03\\x1b\\xb2\\xd5\\xb1\\xec\\xf3\\xd9\\xda\\xf4\\x6c\\x15\\xd7\\x20\\xb6\\x67\\xa4\\x0a\\xef\\x19\\xd1\\x20\\xbc\\x27\\xa7\\xb2\\x9e\\x4a\\x94\\xdb\\x1d\\x9e\\x15\\x3e\\x20\\x7c\\x5a\\xb8\\x11\\x1e\\x9e\\x1e\\xde\\x25\\x7c\\x4c\\xf8\\x82\\xf0\\x63\\xe1\\xfe\\x70\\x47\\x16\\x75\\xe7\\xc3\\xf5\\x31\\xa2\\xba\\x88\\x9a\\x1e\\xa7\\x6c\\xaa\\x58\\x2d\\xdc\\xd8\\xa3\\x7b\\x5a\\x5a\\xc7\\x62\\x87\\x9f\\x1d\\xde\\x91\\x93\\x5f\\xa4\\xe6\\x14\\xa5\\x76\\x37\\xff\\xf4\\x76\\xed\\x53\\x64\\x9f\\x53\\x24\\x3d\\xfb\\xe4\\xe7\\x6e\\x54\\xea\\xe1\\xbc\\x07\\xe6\\xcf\\x97\\x56\\x95\\x3b\\x16\\x35\\xe8\\x9e\\x5b\\x54\\x50\\x39\\xaf\\x63\\xd1\\x10\\x1e\\xbc\\xe6\\xc3\\x74\\x1e\\x22\\x2a\\x6f\\x8c\\x93\\x56\\x79\\x85\\x13\\x0a\\x27\\x4c\\x4c\\x33\\x7f\\x54\\xe0\\x41\\x26\\xa4\\xa5\\x15\\x16\\x9a\\x4f\\xca\\x7c\\x4b\\x0b\\xb4\\x59\\x4f\\x2a\\xad\\x90\\x66\\xba\\x31\\x88\\x97\\x09\\x13\\xa5\\x30\\xad\\x70\\x82\\x2a\\x2c\\x9c\\x20\\x85\\x13\\xa8\\x2f\\x54\\xfd\\x79\\x2e\\x2c\\x94\\x42\\xea\\x0b\\x15\\x43\\x40\\x61\\x5a\\x50\\xfe\\x35\\x49\\x28\\xe8\\x8f\\x20\\xfe\\x98\\x10\\x50\\x51\\x58\\xc8\\xb8\\x42\\xe4\\x14\\x06\\xd5\\x25\\xf4\\x17\\xdb\\x3e\\xdb\\x3e\\xb9\\xc7\\x36\\x83\\xdb\\xc9\\x64\\xeb\\xcf\\xeb\\x7e\\x8c\\x66\\xcc\\xa5\\xbb\\x44\\xfc\\xe7\\xcc\\xb7\\xbf\\xfe\\xf4\\xf5\\xfe\\x7f\\x7b\\xe5\\xfa\\xe7\\x9f\\xc0\\xdf\\x71\\xe5\\x56\\xb1\\x93\\x5b\\xc6\\xf2\\xeb\\x9a\\xe6\\xc8\\xbd\\xfc\\xb9\\xee\\xba\\xba\\x37\\xe4\\xed\\xe0\\xf7\\x5d\\x4b\\x38\\xe9\\xff\\xfb\\xcf\\x36\\x6e\\x2e\\x81\\x9f\\xc5\\xf2\\x94\\xcc\\xfe\\xd7\\x7e\\xb7\\x5b\\x37\\x86\\x15\\xe8\\xff\\xeb\\xa7\\x80\\xda\\xc9\\xdc\\x86\\xd6\\x71\\xcf\\x79\\x89\\x6b\\x5e\\xb2\\xca\\x40\\xeb\\xc8\\x60\\xeb\\x97\\xb2\\xe7\\x9f\\x45\\xa9\\x6f\\xd4\\x1e\\x79\\x84\\x3b\\xcd\\x48\\xfe\\xdc\\xca\\x9f\\x4b\\xb8\\x42\\xde\\xad\\x5d\\x90\\x47\\xb4\\x6e\\x32\\x5a\\xfb\\x54\\x9f\\xc1\\xad\\xe6\\x41\\x7c\\x5c\\xa6\\x46\\x70\\x43\\x11\\x55\\x20\\x2b\\x54\\x3e\\x37\\xb1\\xfb\\x82\\x02\\xfa\\x73\\x8b\\x1a\\x73\\x83\\xd0\\xb9\\xdc\\x64\\x5e\\x94\\x29\\x32\\xfd\\xaf\\x2a\\xdb\\x0c\\xff\\x2f\\x12\\x76\\x65\\x13\\x96\\x3f\\x88\\x9c\\xc7\\x65\\x84\\x8c\\x23\\x92\\xe1\\x57\\xaa\\xf8\\x2f\\x48\\x43\\xe3\\xb4\\x84\\xf9\\x0e\\xc9\\x1b\\xba\\x1b\\xdb\\x5f\\xe6\\xbe\\x66\\xfe\\xcc\\x28\\x1d\\xeb\\x68\\xaf\\xdf\\xae\\x6d\\xd1\\xb4\\xab\\x8f\\xf2\\xb2\\x88\\x3b\\xd9\\x22\\x19\\xa8\\x3e\\xc7\\xce\\xf9\\xfa\\xcd\\xff\\x81\\xcd\\xff\\xeb\\x1f\\xfb\\x0c\\x63\\xb8\\xc4\\x18\\x7b\\xcd\\x1c\\xf2\\x7f\\xe2\\x9b\\x86\\xed\\x5f\\x12\\xa1\\xed\\xb0\\x71\\x20\\xd8\\xa5\\xd3\\xf5\\xd0\\x72\\xc1\\x2a\\xae\\xd7\\x07\\xf1\\x38\\x07\\x09\\xed\\xb1\\x7e\\x14\\x58\\x1e\\xfc\\x46\\x73\\x08\\xb8\\xc2\\xae\\x36\\x16\\xec\\x00\\x17\\x45\\x42\\xaa\\x82\\x1e\\xe0\\x33\\x91\\x72\\xf5\\xc0\\x3e\\x91\\x50\\x64\\x84\\xd5\\x06\\x67\\x44\\xca\\x93\\x4b\\xe1\\xa1\\xe0\\x27\\x91\\x08\\xc6\\x44\\x22\\x28\\x72\\x38\\xa0\\x5f\\x54\\x43\\xf0\\xa4\\x48\\x34\\x7a\\x63\\xde\\x11\\x89\\x45\\x57\\x5c\\x1b\\x91\\x78\\xfa\\xc4\\xcf\\x11\\x49\\x60\\x5c\\x02\\xba\\x2a\\x78\\xc1\\xb7\\x22\\x15\\xa9\\x4b\\xa4\\x2e\\x71\\x12\\x20\\x7b\\x2a\\x23\\xa7\\x32\\x72\\xab\\xcc\\x13\\x71\\x73\\x6c\\x70\\x63\\x83\\x67\\xa6\\x48\\xd2\\x52\\x91\\x64\\x6c\\x4b\\xe1\\x39\\x85\\xf6\\x6a\\xf8\\x52\\x1d\\x3d\\x35\\x19\\x57\\x93\\xf7\\x5a\\x2d\\x00\\x72\\x6b\\x61\\x4f\\x6d\\x0f\\xa0\\xbd\\x36\\x63\\xea\\xf0\\x5e\\x17\\x1d\\xe9\\xf8\\x5d\\x0f\\x3d\\xf5\\x8e\\x8b\\xd4\\x47\\x4f\\x03\\x74\\x67\\x2c\\x16\\x69\\x58\\x43\\x24\\xb3\\xaf\\x48\\x23\\xc6\\x34\\x2a\\x12\\x69\\x82\\x9f\\x4d\\x79\\x6f\\xfa\\x87\\x48\\xb3\\xf7\\x45\\x9a\\x33\\xbe\\x85\\x27\\xf0\\xd7\\xa3\\x6e\\xc2\\xa6\\x96\\xd8\\x9d\\x85\\x9f\\x37\\x83\\xd6\\x05\\x22\\x6d\\xb1\\xa1\\x1d\\x32\\xda\\x61\\x43\\x07\\xf8\\xbe\\x25\\x06\\xc0\\xf5\\x2d\\xe8\\xe9\\x44\\x9f\\xce\\x0b\\x45\\x6e\\x65\\x5c\\x17\\xda\\x72\\xe8\\xd7\\x75\\x95\\xf9\\xab\\x3b\\x80\\xf7\\x1e\\x64\\x63\\x4f\\xda\\x7a\\x31\\xa6\\x17\\xf6\\xf6\\x42\\x5e\\x6f\\x6c\\xee\\xcd\\xb8\\x5c\\x38\\xcb\\xc5\\xf7\\x3c\\x7c\\xea\\x43\\x8c\\xfa\\x30\\x2e\\x1f\\xbb\\xf2\\x77\\x01\\x64\\xf7\\x85\\xd7\\xbe\\xb4\\xf7\\xa3\\xec\\x87\\xee\\xfe\\xc4\\xa9\\xff\\x54\\x40\\xfb\\x00\\x64\\x0e\\x30\\x4b\\xea\\x0b\\xb0\\xbd\\x00\\xd9\\x05\\xf0\\x56\\x80\\xdc\\x81\\xb4\\x0d\\xc4\\xff\\x81\\xc4\\x71\\x50\\x02\\xc0\\x8e\\x41\\xb4\\x0d\\xa2\\x6e\\x10\\x72\\x07\\xc3\\xf9\\x60\\x74\\xa3\\x52\\x86\\x20\\x73\\x08\\x0f\\x43\\xe0\\x69\\x08\\xb1\\x1c\\x02\\x27\\x43\\xa9\\x1b\\x6a\\xfe\\xdd\\x7f\\xea\\x6f\\x33\\x4b\\x38\\xba\\x8d\\xfa\\x61\\xd4\\x0f\\xc3\\xfe\\x61\\xc8\\x1d\\x0e\\x46\\x54\\x02\\xc8\\x1e\\x81\\x8f\\x23\\x90\\x3d\\x82\\x35\\xef\\x76\\xf2\\x6a\\x24\\xb1\\x18\\x09\\xcf\\x23\\xe1\\x7f\\x14\\x7e\\x8f\\x42\\xd7\\x28\\x62\\x38\\x0a\\xff\\x46\\x1d\\x12\\xb9\\x03\\x6e\\xee\\x68\\x22\\x32\\x9a\\x5c\\x1b\\x8d\\xbf\\xa3\\xe1\\x6f\\x34\\xbe\\x8c\\xc6\\x97\\x31\\xf8\\x32\\x86\\xbc\\x1c\\x43\\xbf\\xb1\\xe8\\x1d\\x4b\\xde\\x8e\\xa3\\xdf\\x38\\xf4\\x8e\\xc3\\x96\\x71\\xd4\\x8d\\x87\\xaf\\xf1\\xc8\\x1a\\x0f\\x37\\x85\\xc4\\xbb\\x90\\xbc\\x28\\xa4\\xae\\x10\\x5e\\x0b\\x69\\x2f\\xc4\\xd6\\x09\\xc4\\x61\\x02\\xf9\\x39\\x01\\x5b\\x26\\x14\\x03\\xec\\x9d\\x08\\x17\\x13\\xc9\\x91\\x89\\x70\\x38\\x91\\xfc\\x9e\\x48\\xdc\\xef\\xc4\\xce\\x3b\\xb1\\xf3\\x2e\\xec\\xbc\\x8b\\xb6\\xbb\\xb0\\xf3\\x2e\\x64\\xdf\\x85\\xec\\x49\\xd8\\x39\\x09\\x9f\\x27\\xc1\\xc3\\x24\\x74\\x4f\\x42\\xf6\\x24\\x64\\x4f\\x46\\xf6\\x64\\x64\\x4f\\x46\\xf6\\x64\\x64\\x4f\\x86\\xd3\\x29\\x8c\\x9f\\x82\\x9f\\x53\\x18\\x7f\\x37\\x72\\xa6\\xc2\\xcd\\x54\\xb8\\x99\\x0a\\x37\\x53\\xd1\\x31\\x95\\x3e\\xf7\\xc0\\xfb\\x3d\\xe4\\xd6\\x3d\\xc8\\xbb\\x07\\x9f\\xef\\xc1\\xe7\\x7b\\xd1\\x7d\\x2f\\x3e\\x4e\\x43\\xcf\\x34\\x7c\\x9c\\x8e\\x8e\\xe9\\xcc\\x81\\x19\\xf0\\x30\\x03\\x9d\\x33\\x78\\x9f\\xc1\\xfb\\x7d\\xbc\\xdf\\x87\\xdc\\xfb\\x90\\x7f\\x1f\\x76\\xdf\\xc7\\xb8\\xfb\\x91\\x77\\x3f\\x72\\x66\\x32\\xef\\x66\\xc2\\xe7\\x4c\\xe6\\xd5\\x4c\\xe2\\x38\\x93\\xf6\\x99\\x70\\xf9\\x00\\xb1\\x78\\x00\\x2e\\x67\\xe1\\xc7\\x2c\\xfc\\x9d\\x75\\x54\\x64\\x36\\x7c\\xcd\\x86\\xaf\\xd9\\xe4\\xd4\\x6c\\xd6\\x87\\xd9\\xf0\\x3c\\x07\\x7f\\x1f\\x64\\xcc\\x83\\xc4\\x6f\\x2e\\x76\\xcf\\x45\\xcf\\x5c\\xf8\\x9c\\xbb\\x02\\xd0\\x6e\\xfe\\xb5\\xec\\x87\\x98\\xf3\\x0f\\x61\\xf7\\x43\\xc8\\x7f\\x88\\xbe\\x0f\\xa1\\x7f\\x1e\\x3e\\xcf\\xc3\\xe7\\x79\\xc8\\x9a\\x8f\\x7d\\xf3\\xd1\\x35\\x1f\\x7f\\x1f\\xc6\\x9e\\x87\\x99\\x1f\\x2c\\xdc\\xb2\\x00\\xbf\\x16\\xe0\\xd7\\x02\\xc6\\x2d\\x20\\xbf\\x16\\xc0\\xdf\\x42\\xe4\\x2f\\x24\\x06\\x0b\\xe1\\x65\\x21\\x72\\x16\\x61\\xe7\\x22\\xf2\\x77\\x11\\x39\\xba\\x08\\x3e\\x17\\x61\\xc7\\x23\\xd8\\xf1\\x08\\x75\\x8f\\x20\\xef\\x11\\xfa\\x3d\\x02\\x7f\\x8f\\x22\\xf7\\x51\\xfc\\x7c\\x74\\x94\\xb9\\x55\\x01\\xfa\\x3d\\x86\\x9e\\xc7\\x27\\x88\\x3c\\x81\\x7d\\x4f\\x60\\xd7\\x93\\x3c\\x3f\\x05\\x2f\\x4f\\xd1\\xff\\x69\\xfc\\x7b\\x9a\\xb1\\x4b\\xc8\\xb1\\x25\\xf4\\x5d\\x0a\\x07\\xcf\\x10\\xb7\\x67\\xe0\\xfd\\x59\\x78\\x5c\\x86\\x1d\\xcb\\xb0\\x69\\x39\\x76\\x3f\\xc7\\xf8\\xe7\\x18\\xf3\\x3c\\x7c\\x3e\\x4f\\xfb\\x0b\\xe4\\xca\\x0b\\xf4\\x5f\\x41\\x0c\\x57\\xc0\\xc3\\x8b\\xe8\\x7d\\x91\\x1c\\x5a\\x09\\xc7\\x2b\\xe1\\x96\\xcd\\x4e\\x5e\\x62\\xae\\xad\\xc2\\x8f\\xd5\\xe4\\xc3\\x6a\\xec\\x58\\x83\\xcc\\xb5\\x70\\xbb\\x16\\x39\\xeb\\xd0\\xbd\\x1e\\xfb\\xd7\\xe3\\xfb\\xcb\\xd8\\xfd\\x32\\x32\\x36\\xc0\\xd7\\x06\\x64\\x16\\x51\\x16\\x31\\x5f\\x36\\xd2\\xff\\x15\\xe4\\xbe\\x82\\xbe\\x4d\\xe4\\xc5\\x26\\xe4\\x6f\\xa6\\xee\\x55\\xfa\\xbf\\x0a\\x0f\\x5b\\xe0\\x7b\\x2b\\xf1\\xda\\x8a\\xbc\\x62\\xe4\\x99\\xf7\\x8d\\x6d\\xe4\\xe5\\x76\\x9c\\x7f\\x0d\\x9d\\xaf\\xe1\\xcb\\x6b\\xe4\\xfc\\x0e\\x6c\\xdf\\x41\\x1c\\x76\\x10\\xb3\\x1d\\xe6\\x3b\\x39\\xb3\\x83\\x31\\x3b\\xe0\\x7a\\x27\\x5c\\xec\\xa4\\xef\\x4e\\xc6\\xee\\xa4\\xff\\x4e\\x72\\x76\\x27\\x3c\\xed\\x84\\x8f\\xd7\\xf1\\xed\\x75\\xf8\\x7d\\x1d\\x8e\\x5e\\x27\\x0e\\x6f\\xe0\\xf3\\x1b\\xd8\\xfc\\x06\\xb6\\xbd\\x41\\xfb\\x2e\\x6c\\xdb\\x85\\xcc\\x5d\\xf4\\xdf\\x45\\x0e\\xbe\\x89\\x8c\\x37\\xc9\\xa1\\xb7\\xb0\\xff\\x2d\\x64\\xbd\\xc5\\x3a\\xf3\\x16\\x7e\\xbf\\x4d\\x7e\\xbc\\x8d\\x0d\\xef\\x90\\x03\\xef\\xa2\\xeb\\x5d\\xda\\xde\\xa5\\xed\\x5d\\xfc\\x7a\\x97\\x71\\xbb\\xf1\\x61\\x37\\x31\\xde\\x4d\\x1c\\x76\\x63\\xfb\\x6e\\x38\\xdf\\x4d\\xfd\\x7b\\xd4\\xbd\\x07\\x5f\\xef\\xc1\\xff\\x7b\\xc4\\xf4\\x3d\\x6c\\x7f\\x0f\\x4e\\xdf\\xc7\\xa6\\x3d\\xc4\\x7f\\x0f\\xb6\\xec\\x21\\x27\\x3e\\xa0\\x6e\\x2f\\x79\\xb4\\x17\\x2e\\xf7\\x12\\x9f\\xbd\\xc8\\xdd\\x4b\\x0c\\xf6\\xa1\\x6b\\x1f\\x75\\xfb\\xa8\\xdb\\x47\\xdd\\x3e\\xfc\\xdd\\x4f\\xbf\\xfd\\xd4\\xed\\xa7\\x6e\\x3f\\x3c\\x7c\\x48\\x9c\\x3e\\xa4\\xee\\x43\\xea\\x3e\\x64\\x3e\\x7d\\x88\\xbd\\xe6\\x36\\x7a\\x80\\xba\\x03\\xc4\\xf2\\x00\\xbc\\x1e\\xa0\\x8e\\xff\\xe4\\x20\\xfe\\x1e\\xc4\\xdf\\x83\\xd4\\x1d\\x34\\xeb\\x90\\xf7\\x11\\x3e\\x7d\\x44\\x9e\\x7c\\x8c\\x8f\\x1f\\xa3\\xe3\\x13\\xe2\\xf3\\x09\\x31\\xfc\\x04\\x1e\\x0e\\x61\\xf7\\x61\\x64\\x1c\\xc1\\xaf\\x4f\\xe9\\xf3\\x29\\x76\\x7e\\x06\\xa7\\x9f\\x91\\x13\\x9f\\xc1\\xe9\\x67\\xe8\\xff\\x8c\\x38\\x7c\\x0e\\xaf\\x9f\\xa3\\xff\\x73\\x7c\\xff\\x9c\\xf8\\x7d\\x41\\x7c\\xbf\\x40\\xd7\\x17\\xf8\\xfc\\x05\\xfd\\xbe\\xa0\\xcf\\x97\\xc4\\xe9\\x4b\\x9e\\x8f\\x82\\xaf\\xf0\\xff\\x2b\\xf4\\x7f\\x4d\\xfd\\x31\\xe2\\x70\\x1c\\x39\\xdf\\x30\\x0f\\x4f\\x10\\x87\\x93\\xd8\\x7d\\x12\\x3d\\xdf\\x82\\x53\\xe8\\x3e\\x05\\x8f\\xa7\\xc9\\xf9\\x12\\x6c\\x38\\x03\\xcf\\x67\\x78\\xfe\\x0e\\xb9\\xdf\\xe3\\xff\\x59\\x62\\x72\\x16\\x39\\xe7\\x78\\xfe\\x81\\xf6\\x1f\\xd1\\xfb\\x23\\x1c\\x9f\\x47\\xc6\\x79\\xd6\\x9c\\x9f\\x88\\xf9\\xcf\\xb4\\x5d\\x20\\x06\\xbf\\xd0\\xf6\\x0b\\xfc\\x5c\\x84\\xef\\x5f\\xf1\\xe5\\x37\\xec\\xf9\\x8d\\x1c\\xfc\\x9d\\x58\\xfe\\x41\\xfb\\x9f\\xc4\\xe3\\x12\\x1c\\x5c\\xc6\\x97\\xcb\\xd8\\x75\\x05\\x7f\\xae\\xe2\\xff\\x55\\x72\\xd4\\xc7\\x58\\x1f\\x9c\\xf8\\x57\\x71\\x5b\\xac\\x0a\\x76\\x70\\xcb\\x9c\\x00\\xbe\\x15\\xa5\\x35\\x04\\x4f\\x8a\\xd2\\xeb\\x81\\xf7\\x45\\x19\\x09\\xe0\\x90\\x28\\x1b\\x75\\x9c\\x53\\x94\\xa3\\x06\\xd8\\x27\\xca\\x39\\x16\\xd0\\xdf\\xb5\\x50\\x54\\xc8\\x70\\x51\\x9c\\x49\\x54\\xb9\\x8b\\xa2\\x42\\x87\\x00\\xfa\\x87\\xe5\\x82\\x77\\x44\\x95\\xef\\x01\\x56\\x80\\x3f\\x44\\x85\\xd3\\x37\\x02\\x7d\\x91\\x11\\x60\\x8e\\xa8\\xa8\\xda\\x80\\xb6\\xe8\\x51\\xe0\\x27\\x51\\x31\\xc8\\x89\\x45\\x4e\\x9c\\x01\\x26\\x01\\xe4\\xc4\\x17\\x80\\xe3\\xa2\\x12\\x9a\\x00\\xec\\xac\\x30\\x5d\\x54\\x45\\xc6\\x25\\x56\\x02\\xd8\\x5f\\x09\\x7b\\x2b\\x15\\x8b\\xaa\\xdc\\x49\\x54\\x15\\x0e\\x9e\\x55\\x8e\\x72\\x25\\x42\\xa6\\x07\\x7f\\x3c\\x57\\x44\\x25\\x6d\\xe6\\x90\\x4b\\xff\\x64\\x74\\xa4\\x20\\x3b\\x85\\xba\\xaa\\xd8\\x95\\x5a\\x24\\xaa\\x1a\\xf6\\xd6\\x68\\x21\\xaa\\x26\\xb2\\x6b\\x79\\x44\\xa5\\xe1\\x5f\\x6d\\xde\\xeb\\xc4\\x00\\xec\\xab\\x8b\\xec\\xba\\xc8\\x4e\\xc7\\x97\\x7a\\xd4\\xd5\\xc3\\xf7\\x7a\\x8c\\xad\\x8f\\xbc\\xfa\\xf0\\xd1\\xc0\\x09\\xe6\\x89\\xca\\x80\\xa3\\x8c\\xe5\\xa2\\x1a\\x52\\x72\\x76\\x51\\x0d\\x91\\xd7\\x10\\x3b\\x1b\\xc2\\x5f\\x26\\xbe\\x66\\xe2\\x43\\x26\\x76\\x34\\x42\\x76\\x23\\xc6\\x37\\xc2\\xaf\\x46\\x70\\xd7\\x98\\xbe\\x8d\\xb1\\xab\\x31\\x3a\\x9a\\xe0\\x73\\x13\\xf4\\x35\\x81\\x83\\x26\\x4b\\xc1\\x41\\x51\\xe6\\x2f\\xc1\\x35\\x45\\x57\\x53\\xc6\\x37\\x5d\\x0c\\x3e\\x13\\xd5\\x0c\\x9d\\xcd\\xb0\\xa7\\x19\\xbe\\x37\\x3b\\x27\\xaa\\x39\\x3e\\x35\\xc7\\xd6\\xe6\\xc8\\x6f\\x81\\x8d\\x2d\\xda\\x00\\x38\\xb8\\x89\\x3e\\x59\\xf4\\x61\\x09\\x50\\x5e\\x62\\xe0\\xa5\\xfd\\xe6\\x1c\\x80\\x5d\\xad\\xb0\\xaf\\x15\\x7c\\xb5\\xea\\x0b\\x90\\xdb\\x8a\\xfe\\xad\\x89\\x4b\\x6b\\x6c\\x69\\x0d\\x77\\xad\\x79\\x6f\\xc3\\x7b\\x1b\\xfa\\xb5\\xa1\\x7f\\x1b\\x78\\x6a\\x8b\\x9e\\xb6\\xb4\\xb7\\x5d\\x07\\xd0\\x9b\\x8d\\xfc\\x6c\\xe2\\x99\\x7d\\x46\\x54\\x3b\\xfc\\x6a\\xc7\\xb8\\x76\\xd4\\xb7\\xc7\\xa7\\xf6\\xe4\\x40\\x7b\\xde\\xdb\\xe3\\x63\\x07\\xec\\xef\\x80\\x4f\\x1d\\xc8\\x99\\x0e\\xe4\\xc0\\x2d\\xc8\\xbd\\x05\\x7f\\x6e\\x21\\x7f\\x6e\\x81\\xc3\\x5b\\x76\\x89\\xea\\x88\\xef\\x1d\\x19\\xd7\\x91\\xfa\\x8e\\xbc\\x77\\x22\\xb6\\x9d\\x78\\xee\\x44\\x7b\\x27\\x62\\xde\\x89\\xdc\\xe8\\x8c\\x2d\\x9d\\xe1\\xba\\x33\\xbc\\xdc\\x0a\\x07\\xb7\\x7a\\x01\\x39\\x72\\x2b\\x71\\xbc\\x95\\xfc\\xe8\\x02\\xcf\\x5d\\xf0\\xb3\\x0b\\xfe\\x74\\x41\\x46\\x17\\x74\\xe5\\x60\\x57\\x0e\\x79\\x90\\x83\\xcd\\x39\\xf8\\xd0\\x15\\xb9\\x5d\\xf1\\xb9\\x2b\\xfc\\x76\\x65\\x5c\\x57\\x6c\\xef\\x06\\x5f\\xdd\\xf0\\xb1\\x1b\\x31\\xe9\\x4e\\x7b\\x77\\x72\\xa0\\x3b\\xef\\xdd\\x69\\xeb\\x81\\xed\\x3d\\xb0\\xb3\\x47\\xb1\\xf5\\x8b\\x89\\xaa\\x27\\xfe\\xf7\\x44\\x7e\\x4f\\x6c\\xea\\xc5\\x7b\\x2f\\x64\\xf5\\xa2\\x6f\\x2f\\x7c\\xed\\x85\\x5d\\xbd\\xd0\\xd9\\x1b\\x79\\xbd\\xa7\\x02\\xc6\\xe4\\x92\\x53\\xb9\\x8c\\xc9\\xa5\\x2d\\x0f\\x9b\\xf3\\x88\\x6f\\x1e\\x7e\\xe5\\x91\\x03\\x79\\xe4\\x61\\x1f\\x74\\xf5\\xc1\\xa7\\x3e\\xd8\\x9b\\x0f\\x07\\xf9\\xf8\\x94\\x8f\\xbe\\x7c\\xf8\\xe7\\x2c\\xa9\\xfa\\x61\\x4f\\x3f\\x7c\\xea\\x47\\x9f\\x02\\xc6\\x17\\xc0\\x41\\x01\\x3e\\x17\\x20\\x6f\\x20\\x6d\\x03\\x89\\xe7\\xc0\\x99\\x80\\xbc\\xe0\\xdc\\xa8\\x38\\x37\\xaa\\x41\\xf8\\x35\\x98\\xfa\\xc1\\xd4\\x0f\\x26\\xff\\x86\\x84\\x02\\x62\\x37\\x04\\x39\\x43\\xc8\\x01\\xce\\x8b\\x6a\\x28\\x5c\\x0f\\x85\\x9b\\xa1\\xf4\\x1b\\x4a\\x3f\\xce\\x8e\\x6a\\x28\\x1c\\xdd\\x86\\x8c\\xdb\\xf0\\xf9\\x36\\xe2\\x7a\\x1b\\x3e\\x71\\x86\\x54\\xc3\\x18\\x3f\\x0c\\x3f\\x86\\xc1\\xe3\\x30\\xf2\\x69\\x18\\xb6\\x0d\\x23\\x1e\\xc3\\xe9\\x3f\\x9c\\x72\\x04\\x3e\\x8d\\xc0\\xe7\\x11\\xd8\\xc5\\x79\\x52\\xdd\\xce\\xfb\\x48\\xec\\x18\\x89\\xcc\\x91\\xbc\\x8f\\xc2\\xc7\\x51\\xe4\\xe7\\x68\\x78\\x1a\\x8d\\xdd\\x63\\x88\\xd5\\x18\\xc6\\xb1\\x6c\\xab\\xb1\\xf8\\x3b\\x16\\x2e\\xc6\\xc2\\xfd\\x58\\x72\\x65\\x2c\\x31\\x1a\\x07\\xb7\\xe3\\xc8\\x95\\x71\\xe8\\x19\\xcf\\xd8\\xf1\\xe4\\xd9\\x78\\xf2\\x67\\xbc\\xf9\\x8e\\xbc\\x42\\x6c\\x2e\\x84\\xc3\\x42\\xde\\x0b\\xcd\\x77\\x78\\x9c\\x80\\x9d\\x13\\xe1\\x67\\x22\\xb2\\xef\\xc4\\xae\\x3b\\x29\\x27\\xd1\\x3e\\x19\\xdb\\x27\\xe3\\xe7\\x64\\xb8\\x9c\\xcc\\xfc\\x9c\\x4c\\xdd\\x14\\x38\\xb8\\x1b\\x3e\\xa7\\x92\\x87\\x53\\xe1\\xed\\x1e\\xf8\\xba\\x17\\x0e\\xa6\\xf1\\x3e\\x0d\\x1b\\x38\\xcf\\xa9\\x19\\xd8\\x35\\x83\\xb6\\xfb\\xb0\\xf9\\x7e\\xca\\x99\\xe8\\x99\\x89\\x9e\\x07\\xf0\\x7f\\x16\\xba\\x67\\xe3\\xe3\\x6c\\xfa\\xcd\\xe1\\x79\\x0e\\xbe\\x70\\x16\\x53\\x73\\x91\\xf1\\x10\\xf1\\x99\\x47\\x1b\\xe7\\x2b\\x35\\x0f\\xfe\\xe6\\xe1\\xd7\\x7c\\xe2\\x3a\\x9f\\xba\\x87\\xe1\\x7c\\x01\\x3c\\x2e\\xc0\\x0e\\xce\\x55\\x6a\\x01\\xf2\\x16\\x12\\xf7\\x45\\xc8\\x7c\\x84\\xb1\\x8f\\xc2\\xfb\\xa3\\xc8\\x59\\x8c\\x7f\\x8f\\x91\\xcb\\x8f\\x91\\x43\\x8f\\x91\\x83\\x8f\\x53\\xf7\\x04\\xe3\\x9e\\xc0\\xa7\\x27\\xe1\\xe1\\x29\\x74\\x3c\\x8d\\x5f\\x4f\\x93\\xc3\\x4b\\xf0\\x6d\\x09\\xf6\\x2d\\x85\\xaf\\x67\\xf0\\x9b\\x33\\x92\\x5a\\x46\\x9c\\x97\\xd3\\x7f\\x39\\xbe\\x3c\\x47\\x1c\\x9f\\x47\\xef\\xf3\\xf4\\x7d\\x01\\xb9\\x2b\\x88\\xef\\x0a\\xde\\x57\\x20\\x63\\x05\\xdc\\xae\\x60\\xec\\x8b\\xcc\\xd5\\x17\\x89\\xed\\x8b\\xd8\\xf0\\x22\\xb9\\xbd\\x12\\x1e\\x57\\xc2\\xcf\\x4b\\xc8\\x79\\x89\\xb6\\x97\\xb0\\xe3\\x25\\xea\\x5f\\xc2\\xdf\\x55\\x8c\\x5d\\x85\\x4d\\xab\\x91\\xb3\\x86\\x7e\\x6b\\xcc\\x92\\xba\\x35\\xcc\\x83\\x35\\xf8\\xbc\\x16\\xb9\\x6b\\x69\\x5f\\x47\\xff\\x75\\xf8\\xb8\\x8e\\xb8\\xac\\xa7\\x7d\\x3d\\x5c\\xac\\x87\\xf7\\x97\\x91\\xf7\\x32\\xba\\x5e\\x46\\xd7\\x06\\xea\\x37\\xd0\\xbf\\x08\\x3b\\x36\\x92\\x3f\\x1b\\x69\\xdf\\x88\\xcd\\xaf\\xc0\\xf9\\x26\\x64\\x6f\\x42\\xf6\\x26\\xfa\\x6c\\xa2\\xcf\\x26\\xfc\\xde\\x84\\x6f\\x9b\\xc8\\xa3\\x4d\\xe4\\xd5\\x66\\x62\\xf5\\x2a\\x1c\\xbc\\xca\\x1c\\x78\\x15\\x1f\\xb7\\xe0\\xef\\x16\\x74\\x6c\\xa5\\xef\\x56\\x72\\xac\\x18\\x9b\\xb7\\x21\\x63\\x1b\\x71\\xdb\\x8e\\xdd\\xaf\\xa1\\xf3\\x35\\x74\\xee\\x80\\x83\\x9d\\xc4\\x62\\x27\\xef\\xaf\\x33\\xfe\\x75\\xc6\\xbf\\x81\\x9f\\xbb\\xc8\\xd7\\x5d\\x8c\\x7b\\x93\\x9c\\x7c\\x93\\x7c\\x78\\x0b\\x9b\\xde\\x22\\x57\\xde\\xa6\\xdf\\xdb\\x8c\\x7b\\x9b\\x18\\x73\\x04\\x52\\xef\\x10\\x97\\x77\\x98\\x9f\\xef\\x60\\xe3\\xbb\\xd8\\xca\\x59\\x49\\xed\\x26\\x07\\x76\\xc3\\xe3\\x7b\\x94\\xef\\x11\\xd3\\xf7\\x19\\xbf\\x07\\x99\\x1f\\x10\\xf7\\x0f\\x78\\xdf\\xcb\\xfb\\x3e\\xde\\xf7\\x61\\xfb\\x3e\\x62\\xb9\\x9f\\x38\\xed\\x47\\xf6\\x87\\x8c\\xf9\\x10\\xae\\x3e\\x84\\x23\\xce\\x36\\xea\\x00\\x39\\x77\\x10\\xdb\\x3e\\xc2\\xee\\x8f\\x68\\xfb\\x98\\xf2\\x63\\xe2\\xfb\\x31\\xbc\\x7e\\x4c\\xbf\\x4f\\xb0\\xe1\\x10\\x7a\\x0f\\xc3\\xc9\\x61\\xe2\\x7d\\x04\\x7e\\x3f\\x25\\x7f\\x3e\\x43\\xf6\\x67\\xe4\\xd9\\xe7\\xf0\\xc0\\x19\\x45\\x7d\\x81\\xbc\\x2f\\xd1\\x73\\x94\\x98\\x73\\x2e\\x51\\x5f\\x63\\xc3\\x71\\x78\\x3f\\x4e\\xf9\\x0d\\x7d\\x4e\\xe0\\xcf\\x49\\xe6\\x14\\x67\\x12\\xf5\\x2d\\xfd\\xbf\\xc5\\x9f\\x6f\\xc9\\xc1\\x53\\xb4\\x9d\\x86\\x67\\xce\\x25\\xea\\x0c\\xf5\\xdf\\x11\\x8f\\xef\\x19\\x73\\x16\\xdb\\xce\\xe2\\xdb\\x59\\x7c\\x3d\\x47\\x0c\\x7e\\x80\\x83\\x1f\\x90\\xf7\\x03\\x3a\\x7e\\xa0\\xee\\x47\\xf2\\xf6\\x47\\x64\\x9e\\x87\\xe7\\x9f\\xe0\\xfb\\x67\\xfc\\xbb\\x80\\xcc\\x5f\\x88\\xdf\\x2f\\xf4\\xb9\\xc8\\x98\\x5f\\x19\\xff\\x2b\\xf5\\xbf\\x62\\xdb\\x6f\\xf8\\xf3\\x1b\\xb9\\xfc\\x3b\\xf3\\xe0\\x0f\\xec\\xf8\\x93\\xb6\\x4b\\xe0\\x32\\xf5\\x57\\xe0\\xfb\\x2a\\x31\\xb9\\x8a\\x6f\\x3e\\x62\\xe8\\xc7\\x57\\xff\\x51\\xd1\\xb8\\x3c\\x68\\xaa\\x09\\x38\\x28\\x9a\\x96\\x03\\x0e\\x89\\xa6\\xb7\\x07\\x3b\\x44\\x33\\xa6\\x8b\\x66\\x6b\\x23\\x9a\\xbd\\x93\\x68\\x0e\\x4a\\xa7\\x57\\x34\\x97\\x89\\x15\\xa2\\x85\\x38\\x41\\x01\\xa0\\x5f\\x39\\xc6\\x97\\x2b\\x16\\x2d\\x94\\xf1\\xa1\\x67\\x44\\x0b\\x1b\\x02\\x8e\\x8b\\x56\\x7e\\x38\\xf8\\x49\\xb4\\xf0\\x27\\x45\\x8b\\x60\\x5c\\xc4\\x3a\\x40\\xff\\x48\\xca\\xa8\\x49\\xa2\\x45\\x23\\x3f\\x86\\xbe\\x31\\x13\\x00\\x32\\x63\\xd0\\x1d\\xbb\\x5c\\xb4\\x38\\xc6\\xc5\\x0b\\xc0\\xb6\\x84\\x7a\\x60\\x9f\\x68\\x15\\xb0\\xa9\\xc2\\xfb\\xa2\\x55\\xec\\x01\\x3e\\x13\\x2d\\x71\\xa9\\x68\\x95\\x5a\\x00\\x6c\\xab\\x34\\x15\\x14\\x81\\x6f\\x45\\xab\\x5c\\x09\\xd4\\x06\\xb4\\x55\\x1e\\x0b\\x90\\x57\\x99\\xb6\\xca\\xbb\\xc0\\x1f\\xa2\\x55\\x41\\x5e\\x15\\xe4\\x57\\x61\\x7c\\x15\\x7c\\x76\\x1b\\x60\\x33\\x78\\x07\\x5c\\x14\\xcd\\x53\\x15\\xf4\\x05\\xe8\\xf6\\xa0\\x8f\\x73\\x8e\\x96\\xc4\\xf8\\x64\\x7c\\x4b\\x9e\\x09\\xf0\\x33\\x19\\x9f\\x52\\x6a\\x80\\x5c\\x30\\x07\\xe0\\x53\\x0a\\x75\\x55\\x19\\x5b\\x95\\xba\\xaa\\xf3\\x00\\xfa\\x52\\x13\\x00\\x36\\xa4\\xae\\x02\\xf0\\x51\\x8d\\xbe\\xd5\\x1b\\x02\\x9e\\x6b\\xd0\\xa7\\x26\\xb6\\xd4\\xc4\\xe7\\x5a\\xc8\\xae\\x05\\x97\\x69\\xc8\\x4c\\x43\\x5f\\x6d\\xf4\\xd6\\x59\\x28\\x5a\\x5d\\xea\\xd3\\xe1\\x39\\x1d\\xf9\\xf5\\xb0\\xb9\\x3e\\xb6\\x72\\x36\\xd2\\xea\\x23\\xaf\\x3e\\x76\\x34\\x80\\xf7\\x06\\xb4\\x65\\xd0\\xb7\\x21\\xe3\\x33\\xe1\\x2c\\x93\\xf6\\x4c\\xda\\x33\\x69\\xcf\\x44\\x4e\\x26\\x5c\\x71\\x36\\xd2\\x1a\\xe1\\x6b\\xe3\\x08\\x00\\xe7\\x1c\\xb7\\x35\\xce\\x43\\x5a\\x13\\xfc\\x6c\\x02\\x67\\x4d\\xe1\\xac\\x29\\xf1\\x6d\\x0a\\x27\\x4d\\xe9\\xd7\\x14\\xfb\\x9a\\xd1\\xde\\x0c\\xbe\\x9a\\x13\\x9f\\xe6\\xc8\\x6a\\x81\\x2f\\x9c\\x7f\\xb4\\x16\\xa3\\x00\\x9c\\xb6\\xc0\\xdf\\x9b\\xf0\\xf7\\x26\\x6c\\xb8\\x89\\xd8\\xdd\\x04\\x87\\x37\\x31\\xae\\x25\\x3a\\x5a\\x52\\xdf\\x92\\xfa\\x96\\x70\\xd8\\x12\\x4e\\xb3\\xe0\\xd6\\xcb\\xbb\\x17\\x39\\xde\\x73\\xa2\\xdd\\x4c\\x2c\\x6f\\x46\\xcf\\xcd\\xc8\\x6f\\xe5\\x01\\x70\\xd6\\x0a\\xff\\x5a\\xd1\\xd6\\x9a\\xf7\\xd6\\xe4\\x0a\\xe7\\x25\\xad\\x35\\xe3\\x5b\\xc3\\x63\\x6b\\xfa\\xb6\\x46\\x36\\x67\\x26\\xad\\x0d\\xf5\\x6d\\xd0\\xdf\\x16\\x3d\\x6d\\xe9\\xc7\\x79\\x49\\xcb\\xc6\\xf7\\x6c\\xf4\\xb4\\xc3\\xbe\\x76\\xe8\\x68\\x47\\x0e\\xb6\\x47\\x66\\x7b\\xb8\\xe9\\x40\\xbe\\x74\\x20\\x6e\\x1d\\xe0\\xe1\\x16\\x72\\xe5\\x16\\x38\\xe9\\x88\\x9c\\x8e\\x8c\\xeb\\x84\\xae\\x4e\\xc4\\x81\\xf3\\x8f\\xd6\\x99\\x9c\\xbc\\x15\\xbb\\x6f\\x45\\x5f\\x17\\xe4\\x74\\x21\\x2e\\x39\\xc8\\xcd\\xc1\\xaf\\xae\\xc4\\xb0\\x1b\\xdc\\x77\\x83\\xa7\\x6e\\xf0\\xd2\\x0d\\x39\\xdd\\x90\\xd9\\x8d\\xf9\\xd3\\x9d\\x18\\x75\\x27\\x66\\x3d\\xa9\\xeb\\x85\\xbc\\x5e\\xc4\\xb4\\x17\\x3c\\xf6\\xc6\\x36\\xce\\x29\\x5a\\x2e\\x31\\xe7\\x8c\\xa2\\xe5\\x11\\x83\\x3c\\xfa\\xe4\\x21\\xbf\\x0f\\x63\\xfa\\x20\\xbf\\x0f\\xdc\\xf7\\xc1\\xee\\x7c\\x7c\\xca\\x87\\xcf\\xbe\\xd8\\xd0\\x8f\\x5c\\xeb\\x0f\\x17\\xfd\\xe9\\x37\\x00\\x7d\\x03\\xe0\\xa0\\x80\\x7c\\x2e\\xe0\\x7d\\x20\\xf2\\x07\\x22\\x7f\\x20\\x7d\\x06\\xd1\\x67\\x30\\xef\\x83\\x79\\x1f\\x8c\\x2e\\xce\\x25\\xda\\x60\\xf8\\x1c\\x82\\xae\\xa1\\xe8\\x1f\\x8a\\x6d\\x43\\xf1\\xf1\\x36\\x78\\xb8\\x8d\\xbe\\xb7\\x61\\xe3\\x30\\x72\\x63\\x78\\x0c\\x40\\xf7\\x08\\xec\\xba\\x1d\\x7b\\x6e\\xc7\\xc6\\x91\\xc8\\x18\\x49\\xce\\x8c\\xe2\\x7d\\x14\\xb2\\x47\\xc1\\xf5\\x1d\\xf0\\x76\\x07\\xf3\\x6e\\x74\\x28\\x40\\xde\\x18\\xfc\\x1f\\x83\\x9c\\x31\\xd8\\x3c\\x16\\xfe\\xc7\\x21\\x67\\x1c\\x63\\xc7\\x53\\xcf\\x19\\x42\\x1b\\xcf\\x98\\x42\\x38\\x9e\\xc0\\x98\\x89\\xcc\\xed\\x3b\\x89\\xf9\\x5d\\xf0\\x36\\x09\\x1f\\x26\\xf1\\x3c\\x99\\x5c\\x9b\\x82\\x1f\\x77\\x9b\\x1f\\x6e\\x23\\x63\\x2a\\x3a\\xa7\\xa2\\xf3\\x1e\\xea\\xef\\xc1\\xf7\\x7b\\xc9\\xb3\\x7b\\x89\\xdb\\x34\\x7c\\x99\\x86\\x9d\\xd3\\x89\\xc1\\x74\\x7c\\x9e\\x41\\x6c\\x66\\xa0\\xe7\\x3e\\x64\\xde\\x47\\xec\\xee\\x87\\xf7\\x99\\xd8\\x36\\x13\\xae\\x1e\\xc0\\xb7\\x59\\xd8\\x37\\x0b\\x8e\\x66\\x21\\x6b\\x16\\xf1\\x9e\\x85\\xff\\xb3\\x90\\x3f\\x9b\\xb8\\xcd\\x21\\x67\\xe7\\xf0\\xfe\\x20\\x31\\x7e\\x10\\x9b\\xe7\\x32\\x4f\\x1e\\xa2\\x9c\\xc7\\xd8\\xf9\\x8c\\x79\\x18\\x7e\\x16\\x80\\x85\\xc4\\x60\\x11\\x3a\\x1e\\xc1\\x8f\\x47\\xb1\\x67\\x31\\xb1\\x7a\\x8c\\x79\\xf7\\x18\\x1c\\x3e\\x0e\\x27\\x4f\\x90\\x17\\x4f\\x62\\xcf\\x93\\xe4\\xf9\\x93\\xc8\\x7d\\x8a\\xf1\\x4f\\xd3\\x6f\\x09\\x76\\x2c\\xc5\\xbe\\x67\\xd0\\xf3\\x0c\\xb6\\x3d\\x8b\\x9c\\x65\\xc8\\x5f\\x0e\\x27\\xcb\\xe1\\xfb\\x39\\xec\\x79\\x1e\\xbb\\x38\\x1f\\x68\\x9c\\x0b\\xb4\\x15\\xc4\\xe7\\x45\\x6c\\x59\\x49\\x0e\\xad\\xc4\\xb7\\x97\\x88\\xc3\\x2a\\xfa\\xac\\xc6\\xdf\\x35\\xe8\\x5e\\x0b\\x07\\xeb\\xf0\\x69\\x3d\\xed\\xeb\\xb1\\xe7\\x65\\xf2\\x62\\x03\\x79\\xbe\\x01\\xd9\\x45\\xc4\\x65\\x23\\x3a\\x37\\xc2\\xf1\\x2b\\xd8\\xc1\\x9e\\xad\\x6d\\x26\\x3f\\x37\\xc3\\xd9\\xab\\xf0\\xfc\\x2a\\xf3\\x7a\\x0b\\x7a\\xb7\\xb0\\x16\\x6e\\xc1\\xbe\\x2d\\xd8\\xbe\\x15\\x2e\\xb7\\x62\\x53\\x31\\xf3\\xad\\x98\\xf1\\xc5\\xf0\\xbc\\x8d\\x58\\x6c\\xa7\\xcf\\x6b\\xc4\\xef\\x35\\xfa\\xed\\x20\\x3e\\x3b\\xa8\\xdb\\x09\\xaf\\xaf\\xa3\\xff\\x75\\xe2\\xf8\\x06\\xb2\\x76\\xe1\\xef\\x9b\\xf4\\x79\\x13\\xd9\\x6f\\x52\\xf7\\x16\\xf1\\x7a\\x0b\\xce\\xde\\x66\\x8d\\x7a\\x1b\\x7e\\xdf\\x21\\x7f\\xde\\xa5\\xee\\x5d\\xc6\\xbd\\x8b\\x1f\\xec\\xd5\\xda\\x6e\\xb8\\xd9\\x0d\\x9f\\xef\\xd1\\x87\\x3d\\x5b\\x7b\\x8f\\xbc\\x79\\x0f\\x3b\\xde\\x27\\x4f\\xdf\\xc7\\x97\\xf7\\x79\\x7f\\x9f\\xf6\\x3d\\xf0\\xb5\\x07\\xf9\\x7b\\xf0\\x61\\x0f\\x75\\x7b\\xf0\\x6f\\x0f\\xb6\\x7d\\x80\\x2d\\x1f\\x60\\xeb\\x07\\xd4\\x7f\\x00\\x6f\\x1f\\x30\\xd6\\xfc\\x07\\xae\\xf6\\x92\\x37\\x7b\\xe1\\x65\\x2f\\xba\\xf6\\x62\\xf3\\x5e\\x38\\xd8\\x87\\xaf\\xfb\\xd0\\xbf\\x0f\\x4e\\xf6\\x61\\xd7\\x3e\\xea\\xf6\\x93\\x0b\\xfb\\xe1\\x7a\\x3f\\xfe\\xed\\x87\\xa3\\xfd\\xc4\\x7e\\x3f\\x71\\xf8\\x10\\x3e\\x3f\\x44\\xff\\x87\\xe8\\xfa\\x90\\xfc\\xfc\\x90\\xba\\x03\\xc8\\x3c\\xc0\\xd8\\x03\\xc4\\xe3\\x00\\x5c\\x1f\\xc0\\xa7\\x83\\xe8\\x3f\\xc8\\xf8\\x83\\xc4\\xe2\\x20\\x1c\\x1c\\x44\\xd7\\x41\\x7c\\xfb\\x08\\x1b\\x3e\\xc2\\xa7\\x8f\\xf0\\xe9\\x23\\xe4\\x7e\\x44\\x1d\\x67\\x08\\xed\\x63\\xe4\\x7e\\x4c\\xdd\\xc7\\xc8\\xf8\\x18\\x19\\x1f\\xc3\\xd3\\x27\\xd8\\xf0\\x09\\xb1\\xfe\\x04\\x2e\\x3f\\x21\\xdf\\x3e\\xa1\\xfe\\x13\\x64\\x1f\\x22\\x8e\\x87\\x88\\xc7\\x21\\xf8\\x3c\\x44\\x8e\\x1c\\xc2\\xb6\\x43\\xe4\\xc3\\x61\\xb8\\x39\\x4c\\x1e\\x1d\\xc6\\xb7\\xc3\\xc4\\xe8\\x30\\x3e\\x1f\\x41\\xf6\\x11\\x64\\x1f\\x41\\xf6\\x11\\x64\\x1f\\x21\\x57\\x3e\\x45\\xee\\xa7\\x70\\xf6\\x29\\xb1\\xfa\\x14\\xfb\\x3f\\x23\\x2f\\x3f\\xc3\\xc6\\xcf\\x90\\xf3\\x39\\x5c\\x7c\\x4e\\xff\\xcf\\xb1\\xfb\\x73\\x72\\xe9\\x73\\x7c\\xfc\\x9c\\x3e\\x5f\\x60\\xf3\\x17\\xc8\\xfe\\x02\\x19\\x5f\\x30\\xee\\x0b\\x38\\xfe\\x12\\x1f\\xbf\\x64\\xec\\x97\\x70\\xf4\\x25\\xbe\\x7c\\x49\\xdf\\xa3\\xf8\\x77\\x94\\xf1\\x47\\xe1\\xe8\\x28\\xb6\\x1d\\x85\\xcb\\xaf\\xb0\\xf7\\x2b\\xec\\xfd\\x8a\\xbd\\xf9\\x2b\\x78\\xfb\\x8a\\xf1\\x5f\\x31\\xfe\\x6b\\x62\\xf7\\x35\\x76\\x7c\\x4d\\xdf\\xaf\\xd1\\xf5\\x35\\xf5\\x5f\\x13\\xd3\\x63\\xe4\\xca\\x31\\xfa\\x1f\\xa3\\xfe\\x18\\x32\\x8e\\x51\\x77\\x1c\\xfd\\xc7\\xe1\\xe0\\x38\\xf6\\x1f\\x67\\xec\\x37\\xe8\\xfe\\x86\\xf8\\x7e\\x83\\xee\\x6f\\xf0\\xf5\\x1b\\xf8\\x3a\\x81\\x9e\\x13\\xc8\\x3b\\x41\\xcc\\x4f\\x10\\xf3\\x13\\xe8\\x3e\\x89\\x3d\\x27\\x19\\xcb\\x59\\x4a\\x3b\\x89\\xed\\x27\\x19\\x7f\\x12\\xae\\xbe\\xa5\\xee\\x5b\\xea\\xbe\\x25\\xf7\\xbe\\x65\\xde\\x7c\\x4b\\xee\\x9f\\x42\\xef\\x29\\xe6\\xeb\\x29\\x7c\\x3f\\x45\\x1e\\x9c\\xc2\\x9f\\xd3\\xf0\\x71\\x9a\\x18\\x70\\xe6\\xd2\\x4e\\x63\\x7b\\x09\\x65\\x09\\x6d\\x25\\xc8\\x29\\xc1\\x8e\\x33\\xcc\\xe7\\x33\\xc8\\x39\\x83\\xec\\x33\\xd8\\x7f\\x06\\xae\\xbe\\x23\\x97\\xbe\\x23\\x66\\xdf\\xe1\\xd3\\x77\\x70\\xfa\\x3d\\x31\\xf8\\x1e\\x7f\\xbe\\xc7\\xff\\xef\\xc9\\x83\\xef\\xb1\\xf5\\x2c\\xbe\\x9f\\x85\\xbb\\xb3\\xc4\\xea\\x2c\\x71\\x3d\\x8b\\xac\\x73\\xe8\\x39\\x47\\x1c\\xce\\xd1\\xe7\\x1c\\x79\\xf1\\x03\\xe3\\x7e\\xa0\\xee\\x07\\x74\\xfe\\x80\\xac\\x1f\\xb0\\xe7\\x47\\xfc\\xf9\\x91\\xba\\x1f\\x89\\xfd\\x8f\\x70\\xfe\\x23\\x3e\\x9e\\xc7\\xef\\xf3\\xf8\\x7d\\x1e\\x1b\\xce\\x23\\xeb\\x27\\xf4\\xff\\x04\\x57\\x3f\\xe1\\xd7\\x4f\\xe4\\xcb\\xcf\\xb4\\xff\\x8c\\x5f\\x3f\\xc3\\xe7\\xcf\\xf0\\xf9\\x33\\xb2\\x2f\\x20\\xfb\\x02\\x36\\x5d\\x80\\xab\\x0b\\xe8\\xbb\\x80\\x4d\\xbf\\xe0\\xff\\x2f\\xd8\\xf4\\x0b\\xfe\\xfd\\x42\\xee\\x5c\\x64\\xdc\\x45\\xe4\\x72\\x36\\xd4\\x2e\\xd2\\xe7\\x22\\x7d\\x7e\\xa5\\xcf\\xaf\\xd4\\xfd\\x8a\\x2f\\xbf\\x22\\xeb\\x57\\x6c\\xe2\\xbc\\xa8\\xfd\\x06\\x0f\\xbf\\xc1\\xc3\\x6f\\xd8\\xf0\\x1b\\xdc\\xfc\\xc6\\x5a\\xf1\\x3b\\x1c\\xff\\xce\\xbc\\xf8\\x1d\\x5b\\x7e\\x87\\x9b\\xdf\\xa9\\xfb\\x83\\x7e\\x7f\\x30\\x2f\\xfe\\x20\\x6e\\x7f\\x10\\xb7\\x3f\\x90\\xf9\\x27\\xb6\\xfc\\x49\\xee\\xfe\\x49\\xfd\\x9f\\xf8\\xff\\x27\\xf5\\x7f\\x52\\x7f\\x09\\xfd\\x97\\xd0\\x75\\x09\\xfd\\x97\\xa8\\xbb\\x84\\x2f\\x97\\xe1\\xed\\x32\\xfd\\x2e\\x13\\xb7\\xcb\\xc4\\xf8\\x32\\xf3\\xfd\\x32\\xf9\\x71\\x85\\xbe\\x57\\xc8\\xbb\\x2b\\xd8\\x70\\x05\\xd9\\x57\\xb0\\xed\\x0a\\xdc\\x5f\\x85\\xaf\\xab\\xd4\\x5f\\xc5\\xf7\\xab\\xd4\\x5d\\xc5\\xf7\\xab\\xd8\\xeb\\x23\\x7f\\x7c\\xf8\\xef\\x23\\x4e\\x3e\\x64\\xf9\\xf0\\xcf\\x87\\xcf\\x7e\\xe6\\x86\\x9f\\x7a\\x3f\\x3a\\xfd\\xd4\\xf9\\x8f\\x8b\\x2e\\x31\\xa0\\x3d\\x18\\x05\\x16\\x82\\xcd\\xe0\\x33\\x70\\x45\\x74\\xe5\\x01\\x6d\\xc0\\x70\\xf0\\x24\\x78\\x1f\\x50\\xaf\\x35\\x04\\x43\\x00\\x75\\xda\\x41\\xd1\\x75\\x27\\xa8\\x0d\\x72\\xc0\\x04\\x40\\x3d\\xe7\\x62\\x5d\\x47\\xbe\\x61\\x80\\x1a\\x20\\x17\\xcc\\x03\\xbb\\xc0\\x1f\\xa2\\xdb\\xe8\\x6f\\x2b\\x00\\x33\\xc1\\x2a\\xb0\\x0f\\xfc\\x24\\xba\\x1d\\x7b\\xec\\x4d\\x00\\x3a\\xed\\x4b\\x01\\xf2\\x1d\\xc8\\x77\\xb4\\x00\\x63\\x01\\x7d\\x1d\\xc8\\x75\\x22\\xd7\\x89\\x5c\\x67\\x27\\x40\\xbd\\x73\\x39\\x38\\x24\\xba\\x8b\\xbe\\x9c\\xbd\\x75\\x17\\x76\\xb8\\xe8\\xeb\\xa2\\x6f\\x48\\x02\\x60\\x3c\\xe7\\x70\\x3d\\x04\\x7d\\x21\\xd4\\x87\\xa0\\x2f\\x04\\x7d\\xe5\\xd0\\xc7\\xb9\\x5c\\x2f\\x87\\xff\\xe5\\x90\\x51\\x0e\\x7d\\xa1\\x02\\xf0\\x31\\x14\\x1f\\x43\\xf1\\x25\\x14\\xbf\\x43\\xf1\\x3b\\x0c\\x9b\\xc3\\xfa\\x02\\xfc\\x08\\xc3\\x8f\\x30\\xc6\\x97\\xc7\\x86\\xf2\\xf4\\x2b\\xcf\\xd8\\xf2\\xe8\\x0a\\xaf\\x04\\xf0\\x95\\xb3\\xbc\\x1e\\x0e\\x8f\\x11\\xc8\\x8a\\xa0\\x4f\\x44\\x0f\\x30\\x1d\\xac\\x03\\xd4\\x47\\x62\\x7f\\x64\\x3d\\x80\\x9f\\x91\\x8c\\x8d\\x3c\\x2a\\x7a\\x14\\x63\\xa3\\x18\\x1b\\xb5\\x18\\x60\\x47\\x74\\x28\\xc0\\xb6\\x68\\xe4\\x47\\x13\\x9b\\x68\\x38\\x8d\\x3e\\x23\\x7a\\x0c\\x36\\xc7\\xe0\\x63\\x0c\\x36\\x73\\x1f\\xd0\\x63\\x18\\x1b\\x8b\\x8f\\xb1\\x8c\\x8d\\x65\\x6c\\x2c\\x63\\xe3\\x22\\x00\\xf1\\x88\\x9b\\x0a\\xf0\\x37\\x0e\\x6e\\xb8\\x2b\\xe8\\xf1\\xf8\\x10\\x4f\\xbf\\x78\\x78\\x88\\x2f\\x02\\xdf\\x8a\\x9e\\xc0\\xd8\\x04\\xfa\\x26\\xd0\\x37\\xa1\\x18\\xa0\\xa3\\x02\\xb1\\xaf\\x40\\x5d\\x05\\x6c\\xae\\x80\\x8e\\x0a\\xef\\x80\\x73\\xa2\\x57\\xc4\\x9e\\x8a\\xd4\\x55\\x84\\xbf\\x44\\x38\\x4d\\x44\\x77\\x25\\xc6\\x57\\xc2\\x97\\x4a\\xd8\\x53\\x89\\x98\\x55\\x42\\x57\\x65\\xe2\\xc0\\xfd\\x42\\xaf\\x8c\\x8c\\xca\\xc4\\xa2\\x32\\xf5\\x55\\xf0\\xa7\\x0a\\x3a\\xdc\\xc8\\x70\\xe3\\xb7\\x1b\\x8e\\x3c\\xd8\\xe4\\xe1\\xd9\\x63\\x3e\\x33\\x2e\\x89\\x71\\x49\\xb4\\x27\\xc1\\x73\\x12\\x7a\\x92\\xd0\\x99\\xcc\\x73\\xf2\\x45\\xd1\\xb9\\x4b\\xe8\\x29\\x3c\\xa7\\x60\\x4b\\x55\\x64\\x57\\xe5\\xb9\\x2a\\xbc\\x70\\x87\\xd0\\xab\\x92\\x53\\xa9\\xd4\\xa5\\x52\\x97\\xca\\xb8\\x54\\x6c\\x4e\\x25\\x6e\\xd5\\x18\\xc3\\x7d\\x42\\xaf\\x06\\x77\\xd5\\xb0\\xb5\\x3a\\xbc\\x57\\xc7\\xee\\xea\\xd8\\x5a\\x9d\\x3e\\xd5\\xe9\\x53\\x1d\\x1d\\x35\\xe0\\xab\\x06\\x31\\xaf\\xc1\\xf8\\x1a\\xc8\\xac\\x71\\xfc\\xff\\x1c\\x35\\x91\\x5d\\x93\\x58\\xd5\\x24\\xc6\\x35\\xb1\\xa7\\x16\\xbe\\xd4\\x22\\xee\\xb5\\x88\\x6f\\x2d\\x74\\xd4\\x22\\x87\\xd2\\x98\\x6b\\x69\\xc4\\x28\\x8d\\xfe\\xb5\\xb1\\xb7\\xf6\\x24\\xd1\\xeb\\x30\\xae\\x0e\\x75\\x75\\xe1\\xbc\\x2e\\xbe\\xd7\\x25\\x5e\\xe9\\xc8\\x49\\x67\\x2e\\xd6\\xc3\\xae\\x7a\\xd8\\xcb\\xbd\\x46\\xaf\\x87\\x9c\\x7a\\xc4\\xa6\\x3e\\x5c\\xd7\\x27\\xfe\\x0d\\xe1\\xae\\x21\\xfd\\x1b\\x62\\x73\\x43\\x78\\x6d\\x48\\xdc\\x33\\x91\\x91\\x09\\xe7\\x99\\xbc\\x67\\x62\\x47\\x23\\xfa\\x36\\x22\\xd6\\xdc\\x6b\\xf4\\xc6\\xe8\\x69\\x8c\\xac\\xc6\\xf8\\xd7\\x18\\x2e\\x9a\\xc0\\x41\\x53\\xe4\\x70\\x9f\\xd1\\x9b\\xc1\\x51\\x73\\xfc\\x6f\\x8e\\x7d\\xcd\\x91\\xd7\\x9c\\x39\\xd5\\x9c\\x71\\xcd\\x89\\x0b\\x77\\x19\\xfd\\x26\\xc6\\xb4\\xe4\\x39\\x8b\\x76\\x2f\\xb6\\xdd\\x8c\\x5f\\xad\\xe8\\xd3\\x06\\x3f\\xda\\xe0\\x6b\\x36\\x63\\xb3\\x29\\xb9\\x53\\xe8\\x1d\\xc8\\xe3\\x0e\\xf0\\x7d\\x0b\\xf3\\x8d\\xbb\\x83\\xde\\xd9\\xfc\\xcb\\xd1\\xd8\\xd9\\x85\\x58\\xe4\\xe0\\x4f\\x57\\x6c\\xea\\x06\\x37\\xdc\\x13\\xf4\\xee\\xd4\\x73\\x2f\\xd0\\x7b\\x10\\xfb\\x9e\\xa0\\x17\\x76\\xf4\\x66\\x4e\\xf7\\x46\\x56\\x1e\\xfd\\xf3\\x98\\x6b\\x79\\xe4\\x64\\x1e\\x79\\xda\\x07\\xdb\\xfb\\xc0\\x53\\x1f\\xb8\\xcc\\xe7\\x39\\x9f\\x3e\\x7d\\xb1\\xa3\\x2f\\x79\\xdc\\x8f\\xdc\\xea\\x87\\x5d\\xfd\\xc8\\x93\\xfe\\xf8\\xce\\x9d\\x40\\x1f\\x80\\xdc\\x02\\xfa\\x0c\\x64\\x0d\\x1b\\x48\\x8e\\x0c\\x64\\xbe\\x0e\\xc2\\x96\\x41\\x8c\\x1d\\x4c\\xff\\xc1\\xc8\\x19\\x52\\x15\\xa0\\xf3\\x36\\x7c\\x1c\\x86\\xcd\\xc3\\xf1\\x69\\x38\\xe3\\x46\\x20\\x63\\x04\\xe5\\xed\\xf8\\x70\\x3b\\xfc\\x8c\\x64\\xdc\\x48\\x9e\\x47\\xa2\\x7f\\x24\\x39\\x33\\x0a\\x3f\\x46\\x31\\x8f\\x46\\xd1\\x36\\x0a\\xdb\\xee\\xc0\\x8f\\x3b\\x90\\x73\\x07\\xbc\\x8e\\xc6\\x3f\\xee\\x02\\xfa\\x68\\x6c\\x19\\x83\\xee\\x31\\xc4\\x61\\x2c\\xfd\\xc7\\xd2\\x3e\\x16\\x9d\\xe3\\x88\\xcf\\x38\\x64\\x8c\\x27\\xfe\\xe3\\xf1\\xaf\\x90\\xb8\\x14\\x12\\xdf\\x42\\xe6\\xd4\\x04\\xfa\\x4f\\x20\\xee\\x13\\xf1\\x7d\\x22\\x7e\\xdf\\x49\\x79\\x27\\xbc\\xdf\\x45\\x79\\x17\\x32\\x27\\x61\\xf7\\x24\\xf2\\x60\\x32\\x6b\\xc0\\x64\\xe2\\x33\\x85\\xb9\\x37\\x85\\x7e\\x77\\xc3\\xc3\\x54\\x7c\\x9e\\x0a\\x77\\x53\\xb1\\x7d\\x2a\\x3a\\xa7\\x62\\xcb\\x3d\\xf4\\x9f\\x06\\xd7\\xf7\\xe1\\xff\\x2c\\x62\\x3d\\x0b\\x3f\\x67\\x21\\x7f\\x16\\x71\\x9a\\xcd\\xfb\\x6c\\xde\\x67\\x23\\x77\\x36\\xba\\xe7\\xe0\\xe3\\x1c\\x6c\\x9f\\x83\\xbe\\x07\\x91\\x35\\x97\\xb6\\xb9\\x70\\xf2\\x10\\x31\\x7c\\x88\\x72\\x1e\\x3e\\xce\\xa7\\xee\\x61\\x6c\\x5d\\x40\\x3e\\x2c\\xa4\\x5c\\x44\\x3e\\x2c\\xc2\\xff\\x47\\x90\\xf9\\x28\\x5c\\x3e\\x8a\\x4d\\x8b\\xf1\\x67\\x31\\xf9\\xf6\\x18\\x79\\xfc\\x38\\x31\\x79\\x02\\xb9\\x4f\\xa0\\xe3\\x49\\xf4\\x3d\\x09\\xa7\\x4f\\xe3\\xff\\x12\\xf8\\x58\\x82\\x8c\\xa5\\xe4\\xcd\\x52\\xb8\\x78\\x86\\x9c\\x7b\\x06\\x1b\\x9e\\x45\\xc7\\xb3\\xe4\\xc1\\x32\\xfc\\x59\\x4e\\x9f\\xe5\\xd8\\xfd\\x1c\\x1c\\x3d\\x87\\x2f\\xcf\\xc3\\xd7\\xf3\\xc8\\x7d\\x01\\x7b\\x5e\\x80\\xfb\\x17\\xb0\\xf3\\x05\\xf3\\x1d\\x99\\x2b\\xf0\\x7b\\x05\\x3a\\x56\\xe0\\xd7\\x8b\\xc8\\x7c\\x11\\x0e\\x5e\\xc4\\xa6\\x17\\xe1\\x7b\\x25\\xe3\\x56\\x12\\xd7\\x95\\xf0\\xb4\\x92\\x1c\\x78\\x09\\x2e\\x5f\\x42\\xde\\x2a\\xe6\\xde\\x2a\\x6c\\x58\\x85\\xbe\\x55\\xc4\\x6a\\x35\\x76\\xaf\\x86\\xd7\\xd5\\xf8\\xb1\\x1a\\x19\\xab\\x89\\xc5\\x6a\\xec\\x58\\x8d\\x0f\\xab\\x59\\xc3\\x56\\xe3\\xdb\\x6a\\xd6\\xee\\x35\\xf8\\xb3\\x06\\xde\\xd7\\x50\\xbf\\x06\\x1f\\xd7\\x60\\xe3\\x1a\\xea\\xd7\\x52\\xbf\\x96\\xb1\\x6b\\xb1\\x65\\x2d\\xfa\\xd6\\x92\\x2b\\x6b\\xd1\\xb9\\x16\\x5d\\xeb\\x68\\x5b\\x87\\x6f\\xeb\\xf0\\x73\\x1d\\xeb\\xd3\\x3a\\x72\\x76\\x1d\\xbc\\xad\\x27\\x36\\xeb\\xb1\\x6f\\x3d\\xba\\xd6\\xd3\\xb6\\x1e\\x7b\\xb8\\xd3\\xe8\\xeb\\x19\\xf3\\x32\\x3a\\x5e\\x26\\x57\\x5f\\xc6\\x06\\xee\\x38\\xfa\\xcb\\xe8\\x7f\\x19\\x1f\\x37\\xd0\\x7f\\x03\\xba\\x37\\x98\\xcf\\xcc\\xbf\\x22\\x74\\xbe\\x02\\x47\\xaf\\x20\\x6f\\x13\\x3a\\x36\\xf1\\xbc\\x09\\xbf\\x37\\xe3\\xc3\\x66\\x78\\xd8\\x8c\\x6d\\xaf\\x12\\xd7\\x57\\xf1\\x77\\x0b\\x9c\\x6e\\xc1\\xb6\\x2d\\x70\\xcd\\xdd\\x47\\xdf\\x42\\xbf\\x2d\\xf0\\xb7\\x95\\x3c\\xd9\\x4a\\xcc\\xb7\\x22\\x7b\\x2b\\xfd\\xb6\\xb2\\xc6\\x16\\xd3\\xb7\\x18\\xae\\x8b\\x19\\x5b\\x4c\\xec\\x8a\\x89\\x5b\\x31\\x63\\x8b\\xb1\\xbf\\x18\\x3b\\x8b\\xc9\\x43\\xee\\x4b\\x7a\\x31\\xfe\\x17\\x13\\x87\\x62\\x6c\\xe1\\xee\\xa4\\x6f\\xc3\\xd7\\x6d\\x8c\\xdd\\xc6\\xd8\\x6d\\x8c\\xdd\\x86\\x6f\\xdb\\x88\\xd7\\x36\\x7c\\xd8\\xc6\\xd8\\x6d\\xf0\\xb2\\x8d\\xb5\\x77\\x1b\\x7e\\x6e\\xc3\\x8e\\x6d\\xd8\\xb1\\x8d\\x71\\xdb\\xe1\\x7f\\x3b\\x3e\\x6f\\xc7\\x86\\xed\\xe8\\xdb\\x8e\\xdf\\xdb\\xf1\\x73\\x3b\\xdc\\x6f\\xc7\\xf7\\xed\\x8c\\xdb\\x8e\\x5d\\xaf\\x61\\xe7\\x6b\\xf0\\xbe\\x83\\x3e\\x3b\\xc8\\x9d\\x9d\\xc4\\x6c\\x27\\xef\\x3b\\xf1\\xe3\\x75\\x6c\\x7c\\x1d\\xd9\\xaf\\x13\\xcf\\x37\\xc8\\xcd\\x37\\xb0\\xf1\\x0d\\x64\\xef\\xe2\\x79\\x17\\x7c\\xed\\xc2\\xdf\\x37\\x19\\xf7\\x26\\x7d\\xde\\x64\\x6d\\x78\\x8b\\xfe\\x6f\\x91\\x47\\x6f\\x91\\x37\\x6f\\xc3\\xf5\\xdb\\xf4\\x7f\\x07\\x3b\\xde\\xc1\\xde\\x77\\xe8\\xf3\\x0e\\x72\\xde\\x65\\xec\\xbb\\x3c\\xef\\xc6\\xaf\\xdd\\xc4\\x68\\xb7\\xf9\\x8c\\x9c\\xf7\\xe0\\x9a\\xbb\\x9b\\xfe\\x1e\\x7a\\xdf\\xa7\\xff\\xfb\\x70\\xf1\\x3e\\x32\\xb9\\xb3\\xe9\\x7b\\x90\\xb3\\x87\\x67\\xee\\x69\\xfa\\x07\\x3c\\xef\\x25\\xce\\x7b\\x59\\x3f\\xf6\\xd2\\x67\\x1f\\x72\\xf6\\xa1\\x77\\x1f\\x36\\xef\\x87\\xa7\\xfd\\xf0\\xcd\\x1d\\x4c\\xff\\x10\\xbe\\x3e\\x84\\xdf\\x0f\\xf1\\xe9\\x00\\x39\\x7a\\x80\\xf5\\xe2\\x00\\x76\\x1d\\x24\\x8e\\x07\\x89\\xe3\\x41\\xea\\x3f\\x82\\x9b\\x8f\\xe0\\xfe\\x23\\x7c\\xfa\\x18\\xd9\\x1f\\xf3\\xfc\\x31\\xf1\\xfd\\x84\\x3e\\x9f\\x60\\xcb\\x21\\x6c\\x3f\\x84\\x8d\\x87\\xd0\\x73\\x08\\xbb\\x0e\\x63\\xd7\\x61\\xe6\\xc1\\x11\\xea\\x8f\\x50\\x7f\\x04\\xfe\\x3e\\x45\\xc6\\xa7\\xf0\\xf9\\x29\\xdc\\x7f\\x06\\x97\\x9f\\xc1\\xef\\x67\\xc8\\xf8\\x1c\\xff\\x3f\\x47\\xc6\\xe7\\xe8\\xfc\\x82\\xb8\\x7d\\x81\\xce\\x2f\\x88\\xe9\\x97\\xf8\\xf3\\x25\\xb6\\x72\\xff\\xd1\\x8f\\xa2\\xf3\\x28\\x7c\\x1d\\x45\\xff\\x57\\xc8\\xfe\\x8a\\x75\\xe1\\x6b\\xf8\\xff\\x9a\\xb5\\xe0\\x6b\\xe2\\x79\\x8c\\x3c\\x3a\\xc6\\xf3\\x31\\xfc\\x39\\x8e\\x9e\\xe3\\xc4\\xfb\\x38\\xcf\\xdf\\xf0\\xfc\\x0d\\xfe\\x7c\\xc3\\x5c\\x3b\\xc1\\xf3\\x09\\x72\\xf4\\x04\\x32\\x4e\\x12\\xe3\\x93\\xf0\\x73\\x12\\x9d\\xdf\\x52\\xff\\x2d\\xf5\\xdc\\x57\\xf4\\x53\\xe8\\x3c\\x85\\x2d\\xa7\\xc8\\xe9\\xd3\\xd8\\x72\\x1a\\x7b\\x4f\\x53\\x5f\\xc2\\xdc\\x2a\\xc1\\x96\\x12\\xb8\\x3d\\x83\\xbd\\x67\\xc8\\x89\\x33\\xd4\\x7f\\x47\\xfd\\x77\\xc4\\xe5\\x3b\\xe2\\xc5\\x7d\\x44\\xff\\x1e\\x1b\\xbf\\xa7\\xfe\\x2c\\xcf\\x67\\x79\\x3e\\xcb\\x33\\x77\\x10\\xfd\\x1c\\x7c\\x9d\\xe3\\xf9\\x07\\xea\\x7f\\xc0\\x9e\\x1f\\xc8\\xbd\\x1f\\xd1\\xfb\\x23\\x5c\\x9c\\x47\\xee\\x79\\xe2\\xfa\\x13\\x6d\\x3f\\xf1\\xfc\\x33\\x31\\xfb\\x99\\x98\\xfd\\x8c\\x5f\\x17\\x88\\xd3\\x05\\xfc\\xba\\x80\\xbf\\xbf\\xf0\\xfc\\x0b\\x79\\xf9\\x0b\\xf5\\xdc\\x23\\xf4\\x8b\\xd4\\x5f\\x64\\x0e\\xfc\\x4a\\xee\\xfe\\x4a\\x8e\\xff\\xca\\xf3\\x6f\\x70\\xf2\\x1b\\xf5\\xbf\\xc1\\xf7\\xef\\xc4\\xf5\\x77\\xb8\\xfc\\x1d\\x8e\\xff\\x40\\xd7\\x1f\\x70\\xf2\\x07\\x3c\\xfc\\x49\\x8c\\x2f\\x11\\x97\\x4b\\xd8\\xc0\\x79\\x5f\\xbf\\x42\\xec\\xaf\\xc2\\xaf\\x8f\\xf9\\xec\\xc3\\x6f\\x3f\\xfe\\x70\\x46\\x37\\x64\\x9e\\x18\\xaa\\x12\\x38\\x2a\\x86\\xd6\\x09\\x3c\\x29\\x86\\xde\\xc4\\xfa\\x57\\x39\\x0d\\x63\\xba\\x18\\xb6\\x36\\xe0\\xa2\\x18\\xf6\\x1e\\x62\\x38\\x3c\\xe0\\x90\\x18\\x9c\\x8d\\x0d\\x27\\x6d\\xce\\x3f\\xc4\\x70\\x31\\x3e\\x24\\x06\\x2c\\x17\\xa3\\x1c\\x7d\\x42\\x23\\x40\\x01\\x58\\x27\\x46\\x18\\xfd\\x39\\xcb\\x1a\\xe5\\x13\\xc0\\x58\\x70\\x46\\x8c\\x70\\xc6\\x85\\x6f\\x06\\x3c\\x47\\x38\\x01\\x7d\\x22\\xd0\\x17\\x91\\x03\\x86\\x03\\xda\\x23\\xb0\\x21\\x62\\x15\\x38\\x28\\x46\\x64\\xb1\\x18\\x51\\x5e\\xf0\\xad\\xf9\\xff\\xfb\\x22\\x9a\\xf9\\xff\\x45\\x62\\x6b\\x60\\x9b\\xc1\\x2d\\xc2\\x21\\x6e\\x6f\\x98\\x66\\xb7\\xe9\\x76\\x4e\\xe6\\x36\\x1d\\x67\\x25\\x6b\\x7f\\xfa\\xfe\\xc8\\x28\\xd5\\xb4\\x69\\x64\\x46\\x64\\x46\\xfd\\x7a\\xd1\\x49\\x91\\x49\\xd1\\x91\\x49\\x91\\xfb\\x8d\\xa1\\x97\\x97\\x74\\xd2\\xf7\\xdb\\x66\\x5c\\x9a\\x66\\xcb\\xbc\\x1c\\x6f\\x7c\\x67\\xfe\\xd6\\xa2\\x26\\x2c\\x26\\x6a\\x5a\\x40\\x96\\xfa\\xd6\\xeb\\xd7\\x1d\\x0e\\xcd\\x30\\x5c\\x4e\\x8f\\x52\\xe1\\x4a\\x95\\xd7\\x95\\xcd\\x6b\\xd8\\x96\\xe6\\x1b\\x9a\\xfe\\x88\\x4b\\xcd\\x74\\xa9\\xf1\\x2e\\x35\\xc8\\xa5\\x7a\\xb8\\x54\\x1b\\x97\\x6a\\xe0\\x52\\xc9\\x2e\\x15\\xe3\\x52\\x86\\x4b\\x5d\\x70\\xa9\\x13\\x2e\\x75\\xc8\\xa5\\xde\\x71\\xa9\\x57\\x5c\\x6a\\x85\\x4b\\x2d\\x2e\\xed\\x3f\\xa4\\xb4\\x7f\\x43\\x97\\xaa\\x5a\\xda\\x7f\\xd8\\x45\\x97\\xda\\xe6\\x52\\xab\\x5d\\xea\\x29\\x97\\x7a\\xd0\\xa5\\x26\\xbb\\x54\\x07\\x97\\xba\\xc9\\xa5\\xea\\xb8\\x94\\xdb\\xa5\\xc2\\x5d\\xca\\xef\\x52\\xe7\\x5d\\xea\\x4b\\x97\\xda\\xeb\\x52\\xaf\\xb9\\xd4\\x5a\\x97\\x7a\\xc6\\xa5\\xe6\\xbb\\xd4\\x3d\\x2e\\x35\\xc6\\xa5\\x06\\xb8\\x54\\x47\\x97\\x6a\\xee\\x52\\x69\\x2e\\x95\\xe8\\x52\\xe5\\x5c\\xea\\xaa\\x4b\\xfd\\xe0\\x52\\x5f\\xb9\\xd4\\xfe\\xd2\\xfe\\x4b\\x5c\\xea\\x21\\xab\\xff\\x48\\x97\\xca\\x77\\xa9\\xce\\x96\\xfc\\x9a\\x2e\\x55\\xc1\\xea\\xdf\\xf8\\xb2\\x4b\\x9d\\xbd\\x7e\\xc0\\x53\\x2e\\x6f\\x7e\\xd0\\x98\\x11\\xd6\\x90\\x80\\x0a\\x4c\\xaa\\xec\\x52\\x66\\xe7\\x80\\x35\\x6f\\xb8\\xd4\\x06\\x97\\x5a\\xe6\\x52\\x77\\x5b\\xa2\\xaf\\x19\\x81\\xd1\\xda\\x01\\xab\\x99\\xb6\\x05\\x2e\\x35\\xcd\\xa5\\x0a\\x5c\\xca\\x5b\\xea\\x90\\xa3\\x7f\\xbf\\xd2\\x9f\\x01\\xe3\\xca\\xfc\\x0c\\x18\\x7f\\xfd\\xcf\\x5f\\xdd\\x82\\x3f\\xe3\\x6e\\xf8\\xf9\\xdf\\xfa\\x4a\\x56\\x7a\\x9a\\x54\\x4c\\x88\\xf8\\x70\\x00\\x9d\\xcc\\x84\\x88\\xcc\\xb0\\x12\\x42\\xa5\\xe8\\x19\\x7a\\x66\\x46\\xac\\x1a\\xb6\\x38\\xe1\\x9d\\xdd\\x6f\\xa9\\xf9\\xfa\\xc5\\x4b\\xd3\\xf6\\xec\\x31\\x73\\xa1\\xb7\\xbe\\x5b\\x9b\\x1e\\xcc\\xab\\x14\\x6f\\x84\\xae\\x39\\xec\\x9a\\x9d\\xbc\\xf2\\x88\\x12\\xbb\\x46\\x6a\\x65\\xec\\xef\\xd7\\xa0\\x4c\\x6e\\x99\\xa2\\x4c\\x68\\xb7\\x3f\\x1c\\x53\\xec\\x9b\\x3c\\x3f\\xb6\\x58\\xdf\\xad\\x5e\\xf3\\xb5\\x55\\xaf\\x05\\x72\\xcb\\xc5\\x04\\x1a\\x61\\x9b\\x2c\\x89\\xe2\\x96\\x57\\xbd\\xc3\\x0d\\x25\\x15\\x8c\\x04\\x9b\\xa3\\x8a\\x3b\\xce\\x88\\xb7\\x3b\\x2b\\x57\\x8a\\x35\\x62\\x5c\\xe5\\xca\\x87\\x47\\x19\\xd1\\x21\\xf1\\x09\\x76\\x5b\\x4c\\xb4\\x2b\\x24\\x24\\x3a\\xc1\\x66\\x54\\x0c\\x0d\\xad\\xec\\xae\\x68\\x24\\x79\\xca\\x39\\x1d\\x46\\x68\\x58\\x95\\xca\\xe5\\x55\\x98\\xbb\\x52\\xb8\\x44\\x44\\x56\\x88\\x8b\\x8d\\x8a\\x8c\\x08\\x53\\x07\\xc3\\x54\\x97\\xc8\\x05\\x91\\xcb\\x22\\xf5\\xac\\xc8\\x2e\\x91\\x5a\\x58\\x64\\x58\\xa4\\x2d\\x21\\x3e\\x26\\x5a\\x0f\\x71\\xd9\\x6d\\x92\\x9e\\x91\\x91\\x91\\x05\\xa2\\x9a\\x36\\x4d\\x4f\\xef\\x37\\xae\\xdf\\x38\\x5c\\xcf\\xc8\\x88\\xd8\\xdf\\x80\\x9f\\xb2\\x8f\\x51\\x2a\\xbe\\x69\\x64\\x54\\xbc\\xe5\\x8d\\xf5\\xbf\\xa8\\xe0\\x7b\\x10\\x78\\xa8\\x27\\xc5\\x26\\xe9\\x29\\xd1\\x26\\x52\\x32\\x33\\x40\\x52\\x74\\x86\\x6e\\x22\\x83\\xfa\\xa4\\x68\\x7d\\xfa\\xad\\xca\\xf0\\x9d\\xca\\x1d\\xdd\\xcb\\xf7\\x58\\x8f\\xd1\\x3d\\xf6\\x7c\\x73\\xeb\\x15\\x15\\x95\\x37\\x3a\\x57\\x8d\\xcc\\x1d\\x9d\\xfb\\xc9\\x55\\x6f\\x8e\\xba\\xfd\\x56\\x7d\\xa2\\x6f\\xc1\\x28\\xdf\\x70\\xf5\\xa4\\x89\\x51\\x6a\\xdc\\xa8\\xc0\\x93\\x6f\\xf8\\x28\\xdf\\x02\\x35\\xce\\xfc\\x1b\\xb8\\x71\\xfe\\xf1\\x46\\x37\\xdb\\x39\\xa9\\x2a\\xb5\\x25\\x43\\x8e\\x78\\xe7\\xe9\\x5a\\x9d\\xd0\\xa8\\x8a\\x15\\x6b\\xd6\\x4c\\x49\\xa9\\x1a\\x5e\\xbf\\xbe\\xc3\\x51\\x35\\x2e\\x36\\xd5\\xed\\x8e\\xad\\x1a\\xaa\\xd9\\x1a\\x66\\x56\\x68\\x10\\xde\\xa0\\x30\\xef\\x40\\x4d\\xf5\\x4c\\x4d\\x65\\x9b\\x53\\x53\\x4d\\x72\\x7c\\xe6\\xd0\\xde\\xab\\xf8\\x69\\x45\\x6d\\x4b\\x45\\x35\\xbb\\xe2\\x4b\\x15\\xb5\\x4f\\xeb\\xab\\x95\\xf5\\xd5\\x5d\\xf5\\x55\\x9d\\xd0\\xfa\\x15\\x1d\\x35\\xdd\\xa9\\x4e\\xb9\\x27\\x6e\\x7e\\x9c\\x56\\x31\\x4e\\xc5\\x45\\x45\\x78\\xa3\\xe3\\xdb\\x47\\x78\\xc3\\xc3\\x95\\x4b\\x0f\\xf7\\x96\\x8b\\x68\\x1f\\x5e\\xcb\\x2e\\xf6\\xc2\\xbc\\x94\\xe4\\xc5\\xfa\\x0a\\x5d\\x1b\\xab\\x4f\\xd7\\x35\\x9b\\x1e\\xab\\xf7\\xd4\\x87\\xea\\x86\\x2e\\x92\\xde\\x80\\xbc\\x6a\\xb0\\x3f\\x2d\\x52\\x32\\x12\\xd2\\xd3\\xc8\\xa6\\x8a\\xfb\\xd3\\x32\\x32\\xfa\\xf5\\x83\\xa0\\x6b\\xf9\\xdc\\xaf\\x9f\\xd9\\x1c\\x20\\x34\\xe3\\x9f\\xfe\\x57\\xbf\\x5e\\x6a\\x55\\xbd\\x71\\x15\\x15\\x1f\\x59\\x57\\xcf\\x6c\\xd8\\xa8\\x31\\x09\\xc8\\x8b\\xa3\\xae\\xaa\\x1e\\x59\\x45\\x8f\\x8d\\xb1\\x3b\\x62\\x53\\x54\\x43\\xf3\\xad\\xa5\\x52\\x31\\x66\\x37\\x43\\xb3\\xfb\\x7a\\x65\\xaf\\xa9\\xb0\\xec\\xe1\\x8d\\xb3\\xbb\\xa7\\x7e\\x73\\x60\\xea\\x6b\\xfb\\x6a\\xbd\\x1c\\x33\\x65\\xe2\\xa6\\x27\\x72\\xeb\\x5e\\xf8\\x7a\\xaa\\x5a\\xde\\x70\\xd0\\xc3\\xf3\\x9f\\xb8\\xda\\xb7\\xc1\\xe0\\x31\\xbe\\x2b\\x31\\x51\\xaa\\x67\\xea\\x5d\\x93\\x5c\\xea\\xa7\\xda\\xd9\\xf9\\xc3\\x3b\\x2c\\xd9\\xe0\\xba\\xff\\x7e\\xd7\\x13\\xcb\\x93\\xfa\\x8f\\x28\\xe7\\x6b\\x5d\\x2b\\x3b\\x77\\x52\\xd7\\x17\\xdf\\x2f\\xf7\\xbc\\x96\\x70\\x73\\x8f\\xc6\\xa9\\xbe\\xda\\xae\\x09\\xda\\xc5\\xe6\\xdd\\x9a\\x54\\x52\\x2f\\x96\\x37\\xf3\\xd4\\x26\\x1d\\xfc\\x17\\xed\\x87\\x6c\\xf3\\xa5\\x9c\\x84\\x93\\xab\\xd5\\x89\\x41\\x6f\\x6f\\x66\\x25\\x49\\xb6\\x97\\x0f\\x0f\\x0d\\xab\\x11\\x5d\\xb7\\x42\\x85\\xe8\\xb0\\x70\\x38\\xca\\x6c\\x18\\x57\\x7f\\x4b\\x5e\\x44\\x5c\\x71\\x7e\\x44\\x1a\\xa5\\x51\\x5e\\x0f\\x8b\\x72\\xb9\\xb7\\xe4\\xe9\\xae\\xe2\\x7c\\x3d\\x95\\x32\\x5a\\xb2\\xcc\\xbf\\xaf\\x90\\x90\\x95\\x65\\x96\\x7f\\xa3\\x83\\x7c\\x8a\\xb1\\xa7\\x24\\x57\\x83\\x80\\x8c\\x06\\x71\\x2a\\x45\\x65\\xa4\\x36\\x88\\x8b\\x2d\\xad\\x52\\x0d\\xab\\xa5\\x24\\xdb\\x63\\x63\\xe2\\x32\\x1a\\x5c\\xf7\\x6c\\x3f\\xf4\\xfc\\xb3\\x4b\\x97\\x3d\\xb5\\x72\\xc5\\x93\\x97\\x9b\\x2f\\xd1\\x9f\\x7e\\xe6\\xf2\\xb1\\x65\\x4f\\x2f\\x7b\\xf6\\xd9\\x65\\x4f\\xdb\\xfa\\x75\\xce\\xcf\\xef\\xda\\x25\\x3f\\xb7\\xdb\\xe5\\x9f\\x3a\\xf5\\xe9\\x9f\\x93\\xd3\\xb7\\x77\\x57\\xf5\\xca\\xa7\\x25\\xdf\\x7c\\xf5\\xed\\xb1\\x53\\x57\\xc7\\xda\\x66\\x84\\x1e\\xff\\xfa\\xf3\\xef\\xcf\\x7c\\x79\\xec\\xd8\\x95\\xd4\\x4d\\xcf\\x3d\\xbb\\x65\\xed\\x8b\\x2f\\x69\\xbb\\x8b\\x9e\\x5f\\xb6\\x69\\xfd\\x8b\\xab\\xc4\\xcc\\xbb\\xf6\\xfe\\x73\\xb6\\x46\\xb6\\x07\\x25\\x45\\xd2\\xa5\\xa9\\x4c\\xf4\\x66\\x37\\x74\\xd6\\x0a\\xab\\x1a\\x5d\\x31\\x31\\x29\\x31\\xba\\x72\\x82\\x56\\x2f\\xae\\x76\\x83\\x90\\x30\\x67\\x58\\xb3\\xe6\\x71\\x0d\\xaa\\xdb\\x22\\xaa\\x77\\xcd\\xab\\x1d\\x12\\xd1\\x58\\xab\\x57\\x39\\xc1\\xa8\\x58\\xd1\\xb6\\x30\\x42\\xed\\x8a\\x50\\xe1\\x11\\x59\\x11\\x9a\\x4b\\x8f\\xb0\\x35\\xee\\x9a\\x67\\x8b\\x13\\x77\\x4e\\x9e\\xc4\\x41\\x02\\x14\\x80\\x74\\x73\\xe9\\x19\\x17\\xd5\\x34\\xdd\\x9c\\x4e\\x4d\\x9b\\x42\\x88\\xb0\\x74\\x94\\x65\\xa5\\x7e\\x3d\\x5b\\x72\\xf5\\xf2\\xca\\x24\\x20\\x22\\xb5\\xae\\x0a\\x10\\x63\\xa6\\x43\\x5c\\x7c\\xa3\\xc6\\xf1\\x14\\x19\\x0d\\x1a\\xc7\\xda\\x4b\\xd9\\x88\\x6f\\xa9\\xe9\\xd5\\xaa\\x07\\x69\\x31\\x56\\x6f\\x9c\\xdc\\x71\\xd7\\x88\\x4f\\xcf\\xa9\\xde\\x49\\xf5\\xb6\\xae\\x7a\\x62\\xdb\\xd6\\x13\\x63\\xb6\\x8c\\x6b\\xb6\\x28\\xeb\\xb1\\x82\\xb1\\xed\\xea\\x36\\xf1\\x0d\\x1b\\xd2\\xab\\x60\\xc8\\xcd\\xf7\\xdf\\x9d\\x75\\xcb\\xee\\xc9\\xe7\\x96\\xcc\\x6a\\xf7\\x70\\xe8\\xb4\\x9b\\xb3\\x0f\\x14\\xab\\xb8\\x27\\x5a\\xae\\xc9\\x7e\\xfc\\xc5\\x27\\x67\\xde\\x59\\xdc\\x67\\xff\\x81\\x95\\x17\\xd3\\xfe\\x3c\\x3a\\x28\\x62\\x76\\x9c\\x31\\xb9\\x7d\\xfe\\xb0\\xfc\\xf1\\xf7\\x65\\xde\\xda\\xe7\\xca\\xf3\\xdf\\x1f\\x1b\\xb2\\x67\\xf2\\xfc\\xc6\\xe6\\xdf\\x91\\x1f\\xce\\x92\\xe6\\xb1\\xd6\\xc4\\x0a\\xde\\x72\\xba\\xa6\\x19\\xd6\\x6a\\x68\\x2e\\x86\\xfb\\x83\\xab\\x6a\\x70\\x1d\\x0c\\x09\\x2e\\x7f\\xb4\\x4e\\xf3\\xe5\\x6a\\xcf\\xda\\xf6\\x49\\x79\\x49\\xf6\\x46\\x38\\xa4\\x5c\\x88\\x6e\\x84\\xb0\\x35\\x87\\x47\\x84\\x24\\x32\\x9f\\xb2\\xb2\\xca\\x50\\xc0\\x06\\x1d\\x11\\xd5\\x38\\xc3\\xae\\x45\\x46\\x44\\xc5\\xa7\\x54\\xd3\\x22\\xa7\\xbd\\xba\\xe3\\xe5\\xd7\\x36\\xac\\xdf\\xf9\\xf2\\xce\\xcd\\x5a\\x8c\\x4a\\x52\\xfb\\xf6\\x1e\\xf4\\xd5\\xf6\\x7d\\xef\\x3b\\xeb\\xab\\xfb\\xc9\\x3e\\xb5\\x5f\\xb9\\x91\\x1f\\x8a\\xfc\\xb4\\xbf\\xe4\\xeb\\x46\\xb9\\x10\\x4e\\x1f\\xa6\\x7c\\xd1\\x13\\x6f\\x94\\xaf\\x22\\x34\\x47\\x4a\\x23\\x56\\x4d\\xad\\x7a\\x46\\x5c\\x54\\xa4\\x96\\x86\\x82\\x1d\\x2f\\x6f\\x78\\xcd\\x54\\x10\\xe1\\x3b\\xe6\\x6b\\xb8\\xf7\\x63\\xf5\\x91\\x8a\\xe7\\x7f\\x1f\\x7f\\xb4\\xcf\\x97\\xe1\\xfb\\xc6\\x9c\\x13\\x4a\\x92\\xb4\\x57\\xb4\\xab\\xf8\\x5d\\x5e\\xba\\x7b\\x1b\\x70\\xe8\\xb4\\xbb\\x6c\\x21\\x36\\xa3\\x9c\\xa1\\x2a\\x1a\\xb5\\x0c\\xcd\\xe1\\x8c\\x73\\x2a\\x9b\\x33\\xd5\\xa9\\x19\\xce\\x90\\xf2\\x61\\x61\\x5a\\x48\\x88\\x16\\x1e\\x71\\xcc\\xa6\\xc4\\xf6\\x93\\x4d\\xb3\\x95\\x87\\x9e\\x7d\\x81\\x5d\\xc7\\x8c\\x3c\\x86\\x34\\x65\\xad\\x88\\xcc\\x30\\x11\\x69\\xad\\xab\\xa9\\xf1\\xb6\\x78\\x47\\x39\\x55\\xbd\\x71\\x6a\\x63\\x1b\\xe4\\xbd\\xaf\\x9c\\x75\\x7c\\xa7\\xb7\\xdd\\xf5\\xf8\\xd2\\xbb\\x76\\xfa\\xce\\xd4\\x51\\xe5\\x42\\xe7\\x18\\x7d\\x86\\xcd\\xec\\x70\\xa9\\xbd\\xd2\\xfc\\xd2\\xfe\\x8f\\x0e\\xb3\\x46\\xaa\\x9a\\x96\\x5d\\x43\\x64\\xb3\\xd1\\xce\\x78\\x96\\xb9\\xda\\xda\\x5b\\x8d\\x0d\\xc6\\xae\\xeb\\x61\\xa1\\xab\\x35\\xa5\\x87\\x6b\\x03\\x34\\x2d\\xd4\\xae\\x71\\x56\\x33\\xd6\\xe7\\xb9\\x8e\\x38\\x54\\x63\\xc7\\x6c\\x87\\xe6\\xb0\\x6d\\x62\\xdf\\xea\\xd7\\x2f\\xc3\\x5c\\xa0\\x32\\x48\\xc8\\x01\\xd7\\x6d\\x86\\x91\\x29\\x91\\x49\\x99\\x49\\x58\\x95\\x14\\xab\\x2d\\x7b\\xd4\\x97\\xab\\x56\\x3d\\xaa\\x56\\x69\\x05\\xbe\\x1e\\x6a\\xdd\\x23\\x6a\\x9d\\xaf\\xc7\\x23\\xa6\\xce\\x62\\xdf\\x25\\x35\\x43\\xbe\\x64\\x3f\\x4b\\xf6\\x46\\x1a\\x36\\x71\\xda\\x9c\\x21\\xe5\\xc4\\xb6\\x2a\\xdf\\x29\\x4b\\x40\\xba\\x35\\xd5\\x4b\\x37\\xc5\\x54\\x33\\x7d\\x53\\x1a\\x65\\xa6\\x64\\xaa\\x19\\xd5\\x6a\\xdc\\xdd\\x3f\\xf7\\xcb\\x55\\xb7\\x3f\\x7c\\xf3\\x9c\\x7b\\xbf\\x0c\\xf0\\x9a\\xaf\\x0e\\x6a\\x5d\\x34\\x4e\\xa2\\x9c\\xdc\\x22\\x09\\x1d\\x94\\xbd\\x96\\xb7\\x4c\\x1d\\x50\\x5a\\xba\\x52\\x4a\\xd8\\xae\\x02\\xc2\\x48\\x8c\\xcc\\xa4\\xd8\\x7c\\x75\\x51\\x1d\\x5c\\xbe\\x9c\\x71\\x6c\\xa9\\xea\\x5e\\x6c\\xd0\\x25\\xde\\x1b\\x42\\x16\\x61\\x86\\x5a\\x92\\xcf\\xea\\x9c\\x56\\x9a\\x85\\x19\\xac\\xa9\\xaf\\xbd\\xfd\\x65\\x50\\x8f\\xf8\\xcf\\x69\\x4d\\xcd\\x4f\\x7d\\x25\\x7a\\xab\\x66\\xe3\\x70\\x2b\\x12\\x6d\\xa6\\x86\\xb2\\x8c\\x8c\\x55\\x19\\x4a\\x2d\\x79\\xd6\\x37\\x22\\xc6\\x76\\xfc\\x92\\xc7\\xdc\\xab\\x73\\xfc\\xe7\\x8c\\x14\\xdb\\xe3\\xf0\\x1a\\x2f\\x35\\xbc\\x31\\x51\\xf6\\x50\\xb1\\x4b\\x42\\x05\\x57\\x78\\x61\\x9e\\xcb\\xa1\\xc7\\x16\\xe6\\xe9\\x15\\x82\\xf3\\xba\\xec\\x01\\x20\\x42\\x4b\\x49\\x36\\x53\\x37\\xa9\\x41\\x94\\x5e\\xfa\\x9c\\xd1\\x20\\xca\\x48\\xf9\\xf3\\x97\\x5f\\x2e\\xfe\\xa0\\xe4\\xcf\\x1f\\xb6\\xce\\x7f\\x7e\\xe5\\xa2\\x47\\x97\\x2f\\x5b\\xac\\xbd\\xe9\\x5b\\xe6\\x9b\\xa7\\xc6\\xab\\xc1\\x6a\\xa4\\xba\\xdd\\xf7\\x88\\xef\\x29\\x55\\x5f\\x45\\xf9\\x2e\\xf8\\xf6\\xfa\\x0e\\xf9\\xbe\\x57\\xe6\\xbf\\x75\\xb3\\x14\\xb7\\xc2\\xc9\\xb9\\x10\\x49\\xf3\\xc6\\x18\\x4e\\x4d\\x2b\\x17\\x6a\\x33\\x0c\\xdd\\x6e\\x77\\x2a\\x51\\x13\\xf2\\x24\\x01\\x0b\\xcc\\x5d\\x88\\xbd\\x3d\\x3d\\x23\\x18\\x45\\xd3\\xef\\xa4\\x48\\x5b\\x66\\xaa\\x19\\xc2\\xa5\\x6a\\x98\\xef\\x2d\\xd5\\x79\\xa5\\xea\\xfd\\x94\\xd1\\xe2\\xe4\\x9a\\x53\\x97\\x13\\x9e\\x32\\xb9\\x18\\x86\\xdc\\x50\\x7c\\xab\\x22\\x2d\\xbd\\x9e\\x4a\\x52\\x3e\\xdc\\x19\\x5b\\x39\\x36\\x5c\\x0c\\xb7\\xc7\\x59\\xa9\\x7c\\x54\\x54\\xb9\\xc2\\xbc\\x28\\x87\\x92\\x4a\\x52\\xa9\\x54\\x07\\xeb\\x54\\x82\\xa5\\x2a\\xaa\\xe9\\x75\\x73\\x29\\x23\\xb3\\xa5\\x2d\\xd3\\x5a\\x8c\\x1c\\xd5\\x5b\\x2a\\x6b\\xa9\\x2a\\xaf\\x1c\\xfc\\x97\\x14\\x3b\\x2c\\xe3\\xd1\\xe7\\x97\\x4d\\xef\\x32\\x67\\x72\\xe1\\x63\\x61\\xc5\\x31\\xbf\\xbf\\x75\\xf8\\x54\\xc7\\xc5\\x1f\\x15\\xce\\xa9\\xa2\\x1d\\x9b\\x36\\x71\\xd3\\xa2\\xa9\\x53\\xe7\\xf4\\x9a\\x30\\xfd\\x9e\\x71\\x91\\xab\\xdf\\xdf\\xb3\\xad\\xdb\\xf3\\xcf\\xaf\\xe9\\xff\\x44\\xf6\\x53\\x56\\x9c\\x6e\\x85\\xf7\\x0a\\xd8\\x56\\x43\\x06\\x7b\\x9b\\x3a\\xec\\x89\\x95\\x62\\x93\\x43\\x45\\x92\\x53\\x23\\x2a\\xd9\\xed\\x35\\x6b\\xa5\\x46\\x46\\x44\\x46\\x4c\\xc8\\x8b\\x4c\\x88\\xbe\\xaf\\x33\\x7f\\xa8\\xce\\xe1\\x91\\x2a\\xc2\\x16\\x19\\xa9\\x27\\xba\\xdd\\x09\\x85\\x79\\x6e\\x87\\xee\\x2a\\xcc\\x73\\x98\\xa1\\xc9\\x08\\xc4\\xc6\\x34\\xd9\\x5a\\x77\\xad\\xfd\\x47\\x6e\\x5c\\x6d\\x03\\xfb\\x4f\\xf5\\xc6\\x71\\x49\\x0d\\x1a\\xe1\\x48\\x9a\\xca\\xcc\\xb0\\x1e\\xca\\x7a\\xc4\\x5e\\x5c\\x45\\x19\\x15\\xfe\\x38\\x7d\\xc4\\x9f\\xb0\\xbd\\xaa\\x0a\\x9f\\xb3\\x64\\xe3\\x4b\\xb7\\x0d\\x5a\\xfc\\xc2\\x03\\xf7\\xdf\\xf5\\x68\\xe8\\xab\\xb8\\x76\\xe8\\xec\\x13\\x0b\\x9f\\x2d\\x52\\x0f\\xbc\\x7d\\xe4\\xcd\\x9d\\x91\\x97\\x66\\xcd\\x2c\\x9c\\xb1\\x74\\xc6\\xf8\\x71\\xf7\\x4f\\x19\\x53\\x7e\\xfd\\x5b\\xef\\x16\\xcd\\x5e\\x5d\\xc5\\x88\\x7c\\xc5\\x3a\\xff\\xa5\\xc3\\x7b\\x63\\x2b\\x9e\\x51\\xd2\\xc8\\x5b\\x31\\xd2\\x16\\xa5\\x69\\x2c\\x1b\\x2a\\x9a\\xcb\\x52\\xa4\\x51\\x98\\xe7\\x8c\\x8c\\x54\\xe5\\xec\\x76\\x05\\xe7\\x59\\xd8\\x9d\\x9e\\x11\\x3c\\x44\\x34\\x0d\\x4c\\xcf\\xbf\\x26\\xa8\\x99\\xb4\\xb1\\x0a\\x9e\\xb9\\x94\\x24\\xe9\\xe3\\xd6\\x5c\\x1d\\xae\\x3d\\xb0\\x73\\xb7\\x6f\\xa1\\xd6\\x30\\xcc\\xf7\\x44\\xa3\\x08\\x75\\x41\\x65\\xf9\\xde\\x54\\x59\\xf3\\xf4\\x2d\\x57\\x3a\\x3d\\xac\\xdf\\x65\\xef\\x1f\\x7d\\xf5\\x9c\\xf9\\x37\\x82\\xe0\\xb7\\x1b\\xfc\\x56\\xc6\\x86\\x4a\\xd2\\xdf\\x9b\\x19\\x15\\xcd\\x21\\x31\\x46\\xa2\\x1d\\xf6\\x84\\x68\\x58\\x8e\\x8b\\xb6\\x1b\\x95\\xab\\x54\\x24\\xc5\\x2b\\x56\\xd4\\x63\\x62\\xe2\\x27\\xe4\\xc5\\xd8\\x4d\\x42\\x87\\x39\\x54\\x9c\\x43\\x15\\x3a\\xee\\x67\\xf9\\xb0\\xb8\\xe5\\x88\\x13\\x4c\\x7d\\x12\\x23\\xfd\\xba\\x8d\\xdd\\x5a\\xdd\\xa2\\xcc\\x25\\x2d\\x46\\x02\\xd4\\xfe\\xc5\\x28\\xe7\\x46\\x4e\\x89\\xe6\\x96\\x66\\x54\\xf6\\xfd\\x7e\\xf6\\xdd\\x0b\\x9e\\x2d\\x4d\\xcf\\x2d\\x5a\\xf1\\xe2\\xbc\\x0e\\xf7\\x66\\x15\\xa5\\xeb\\x49\\x57\\xef\\x4f\\x9c\\xf8\\xf2\\xc1\\xdf\\xd5\\xde\\x63\\x7e\\x59\\xf7\\x42\\xec\\x47\\x1b\\x9e\\x7a\\x60\\x45\\xdd\\xc6\\xda\\x6f\\x4f\\xf9\\x6e\\x36\\x7f\\x1f\\x43\\x86\\x07\\x73\\x23\\x4e\\x92\\x25\\xc7\\x9b\\x56\\x39\\xd2\\x1e\\x5a\\x2e\\x5e\\xa4\\x9c\\x5d\\x4f\\xa9\\x1a\\x59\\x31\\xa6\\xe2\\xc4\\xbc\\x98\\x18\\xdd\\xe5\\x2a\\x5f\\x98\\x17\\x1e\\xba\\x20\\x54\\x0b\\xb1\\x85\\x32\\x55\\x3d\\x7f\\x4d\\x55\\x73\\xb9\\xbb\\x66\\xf3\\x75\\xc7\\x33\\x2b\\x15\\x02\\xf3\\x55\\x32\\x3c\\xd1\\x8e\\x6a\\xe6\\xa3\\x15\\x7f\\x47\\x99\\x93\\x87\\x51\\xe1\\xc2\\xe1\\x1f\\xaf\\x28\\x3b\\xf4\\x76\\x5f\\x97\\xb9\\xe9\\xe9\\xd5\\xf5\\x5f\\x29\\x7c\\xfb\\xd4\\xd6\\xc7\\x67\\xdd\\xbb\\xe4\\xb9\\x7b\\xef\\x5b\\xac\\xf6\\x1f\\xf3\\xf9\\xd4\\x20\\xd5\\x4d\\x8d\\x56\\x73\\x7c\\xdf\\xb8\\xd7\\xf9\\xbe\\xf1\\xfd\\x94\\x3f\\xe0\\xe2\\x91\\xa7\\x56\\x3e\\x3a\\xe3\\x85\\x83\\x1b\\x2c\\xfe\\x47\\x58\\x73\\x6f\\x06\\xeb\\x4a\\x2d\\x6f\\x8c\\xd3\\xb0\\xd9\\xc4\\xe5\\x92\\xd0\\x30\\x71\\x85\\xb8\\x26\\xe4\\x85\\xd8\\x0d\\x33\\xf6\\x7f\\x85\\xdd\\x64\\xb3\\x01\\xb6\\x85\\x68\\xb1\\x29\\x11\\x51\\x8a\\xa5\\xd9\\x08\\xfd\\xec\\x95\\xbc\\x1d\\xa7\\x54\\xe8\\xd5\\x72\\xfa\\x0b\\xc6\\x79\\xdf\\x16\\xdf\\x5c\\xdf\\xe2\\xb7\\x55\\x79\\xad\\xa7\\x7a\\xe0\\x29\\x56\\xb7\\x3c\\x38\\xaa\\x08\\x47\\x15\\x38\\x3d\\xa7\\x4b\\x4f\\x6f\\xdd\\x34\\xbb\\x3b\\xac\\x62\\x74\\x2a\\xcb\\x5d\\x9c\\x2b\\xcc\\x6e\\xaf\\x57\\x3f\\xce\\x95\\x5c\\x23\\xb9\\xc6\\xc4\\xbc\\xf0\\x64\\x15\\x6d\\x4f\\x4e\\xd6\\x23\\x22\\x2a\\x4d\\xcc\\x8b\\x70\\xe8\\x75\\x26\\x96\\x5d\\xd3\\x24\\x38\\x6d\\xfe\\xe9\\x8c\\x72\\xed\\xd4\\xd6\\x38\\xb3\\xec\\x19\\x85\\x69\\xa2\\x37\\x4c\\x2a\\x25\\x2b\\x3a\\x40\\x5c\\x04\\x33\\xcb\\xa8\\xf8\\xc7\\x99\\x13\\xfe\\x67\\xef\\x2e\\x7c\\xe0\\xe7\\xbd\\x07\\x7f\\x9e\\x35\\x61\\xf6\\xe3\\x5f\\xfb\\x2e\\x4d\\x7b\\xe0\\xc1\\x7b\\xa6\\x3d\\x90\\xb2\\x74\\xfe\\x83\\x4f\\xab\\x9a\\x8f\\x2e\\x54\\x0f\\xbe\\xfd\\xc5\\x91\\x77\\xe7\\xee\\x88\\x31\\x12\\x37\\x4f\\x7e\\xee\\xfd\\x77\\x5e\\x9a\\xbc\\x39\\xde\\x88\\xdb\\xa6\\x85\\x9d\\x9f\\x74\\xd7\\xe4\\x69\\x13\\xaf\\x5e\\xb9\\xff\\x81\\x05\\xf7\\xf8\\xbe\\x9a\\x6f\\xce\\xa3\\x02\\x7c\\x8c\\xc2\\xc7\\x78\\x7c\\xec\\xe1\\xad\\x5b\\x25\\x8a\\xfc\\x25\\x7d\\xed\\x51\\x7a\\x6a\\xb5\\xd0\\xa4\\xf0\\x24\\xe2\\x1f\\xee\\x0e\\xd7\\xca\\xeb\\xe1\\xe1\\x7a\\x6c\\x6c\\x62\\x61\\x5e\\xac\\xb5\\x2e\\xc4\\x3b\\x54\\x30\\x7d\\x6f\\xf4\\xf1\\x5a\\x2e\\x5c\\x3b\\x23\\x5c\\xcb\\xdd\\xa8\\x68\\xf3\\x38\\xa6\\x59\\x5e\\x46\\x95\\x49\\x86\\x96\\xca\\x88\\xf2\\xfd\\xfe\\xeb\\x8b\\xef\\xa5\\xad\\x6b\\x54\\xbc\\x64\\x8d\\x51\\xe3\\xad\\x09\\xaf\\x7f\\xfb\\xc7\\x57\\x67\\x2f\\xbc\\xb3\\xf4\\xfe\\xfb\\x1e\\x7f\\x7c\\xfa\\xad\\xb3\\x3a\\x6b\\x5f\\xf9\\x1e\\xf3\\x4d\\x79\\x68\\x49\\x62\\x91\\xf2\\xa8\\x72\\x7d\\xee\\x50\\xc6\\xa7\\x5f\\x5d\\xf5\\xad\\xd8\\xb0\\xe6\\xc0\\xc6\\x27\\x9e\\xde\\xd4\\xee\\x3e\\x6b\\x4d\\xb0\\xf6\\x31\\xa3\\x99\\x75\\xc7\\xac\\xee\\x8d\\xd6\\x1d\\x0e\\x43\\x0c\\x97\\xd3\\xfa\\x90\\x81\\x1d\\x20\\x5f\\x85\\x5b\\x21\\x49\\x2f\\xbb\\xcd\\x44\\xb3\\xb3\\xe9\\xd6\\xee\\xf6\\xf6\\xdb\\xfa\\xc8\\x03\\x07\\xae\\x3c\\x76\\xe0\\x80\\x29\\xcb\\xda\\x97\\x91\\xe5\\x92\\x30\\xa9\\xeb\\xad\\x10\\x26\\xe2\\x0c\\x71\\xda\\xf4\\xf2\\xe1\\xe5\\x42\\x96\\xe6\\x97\\x0b\\x0f\\xec\\xd0\\x4b\\x03\\x3b\\x74\\x70\\xe7\\x8a\\xff\\xdb\\x2e\\x1d\\x69\\xde\\x85\\x03\\x3b\\xf5\\xdb\\x07\\x96\\x5a\\x5b\\xf5\\x01\\x6d\\x29\\x0a\\x94\\x0c\\x95\\xa7\\x8d\\xf6\\xc6\\x1a\\x36\\xc2\\x16\\xde\\xea\\xba\\x1d\\x43\\x1d\\x4e\\x5b\\x96\\x7d\\x9a\\x7d\\x81\\x5d\\xb7\\xeb\\xf5\\xb4\\xb1\\xda\\x74\\xcd\\xfc\\x97\\x73\\xc2\\x8d\\x2c\\x63\\x8c\\xb1\\xcc\\x38\\xc0\\xd1\\x43\\x2a\\xa4\\xf7\\xcb\\x30\\xef\\xc9\\x81\\xab\\x72\\xbc\\xb5\\x91\\xab\\x58\\x97\\x8a\\x1d\\xaa\\x9f\\xbc\\xb2\\x52\\xef\\xa3\\x35\\xdf\\xaf\\x9e\\x7f\\x9a\\xfd\\x6f\\xd1\\x53\\xa6\\x0f\\x43\\x54\\xae\\xd1\\x4e\\x3f\\x67\\xf1\\x91\\xe5\\xad\\xe1\\xd0\\xcd\\x7f\\xe3\\xcd\\x65\\x1e\\x61\\xc2\\x6d\\x6e\\x5b\\x17\\xdb\\x00\\xdb\\x01\\x9b\\x2d\\x44\\xb7\\x29\\xaf\\x92\\xf5\\x79\\x39\\xea\\xa0\\xd2\\xc2\\x03\\x07\\x85\\x7e\\xd7\\xae\\xf7\\x69\\xd7\\x14\\x25\\xc5\\x2a\\x30\\x04\\x4d\\x95\\xf5\\x93\\x7a\\xee\\xe2\\xc5\\x3e\\x59\\xbc\\xd8\\x9a\\x87\\xd7\\xf9\\xc2\\x29\\x49\\xc7\\x17\\xbd\\x9e\\x31\\xd6\\x98\\x6e\\xe8\\x86\\xca\\x92\\x69\\xb2\\x00\\x1b\\xec\\xb6\\x70\\x2d\\x4b\\x1b\\xa3\\x2d\\xd3\\x0e\\x68\\x36\\xed\\x1f\\x7c\\x69\\x9c\\xe9\\x52\\x99\\xa6\\x2f\\x7d\\xf0\\xe5\\xe4\\xd3\\x4f\\xa9\\x31\\x6a\\xf4\\xd3\\xbe\\xfe\\xfb\\xad\\xd8\\xf6\\x60\\xae\\x57\\xb7\\xf6\\xd9\\x64\\xe9\\xe6\\xad\\x9d\\xe4\\x49\\xa8\\xe0\\x74\\x45\\x89\\xb8\\x3c\\x15\\x8c\\x94\\xaa\\x51\\x95\\xc2\\x5d\\x59\\x2e\\xb2\\xd4\\xe5\\x71\\x7b\\x96\\xe6\\xbb\\x43\\x13\\x54\\x98\\x9e\\x50\\xa9\\x52\\xec\\x80\\xbc\\x4a\\x46\\x60\\x67\\xc7\\x17\\x22\\x2f\\x09\\x11\\xbb\\x79\\x8a\\xfc\\xfb\\x34\\x2c\\xcf\\xfa\\xcf\\x2e\\x90\\xd2\\xd2\\x51\\xba\\x67\\x35\\xaa\\x9a\\xd1\\xc0\\x60\\x17\\x8b\\x35\\xaa\\xd7\\xee\\xd6\\x2f\\xa7\\x7d\\xb6\\xda\\xa0\\x55\\x6f\\x79\\x6b\\x4e\\xe7\\x16\\xa9\\x4b\\xe6\\xcd\\x5b\\x51\\xbe\\xb8\\xa2\\x32\\x8e\\x1c\\x53\\x72\\x75\\xc1\\xdb\\x86\\xb3\\xe3\\x9d\\x43\\xda\\x34\\x6f\\x58\\xd8\\xa6\\xed\\xf0\\x9c\\xac\\xa6\\x4d\\xb3\\x73\\x9b\\x8f\\x9f\\x39\\x6f\\x4a\\xe8\\xee\\x43\\x9f\\x5c\\xbe\\x69\\xcf\\x1e\\xec\\x7f\\xce\\x77\\xca\\x31\\x9a\\x33\\x53\\x96\\xdc\\x2a\\xf7\\x7a\\xb3\\x13\\x1d\\x35\\x9b\\xb4\\x0b\\x77\\x78\\xbd\\xf1\\xf1\\x09\\x49\\x22\\xf5\\x13\\xc2\\x9b\\xd8\\xba\\xe4\\x18\\x95\\x0f\\xe7\\x19\\x46\\x68\\xe8\\x2d\\x47\\xf2\\xa2\\x5b\\x1f\\xc9\\x8b\\x8f\\x0e\\x0f\\x75\\x87\\x6a\\xe5\\xf4\\xd0\\xe8\\xd0\\xe8\\x86\\x2d\\x5a\\xa4\\x1e\\x31\\x7f\\xc5\\xae\\x9e\\x8a\\x32\\xea\\x35\\x6c\\x58\\xe7\\x48\\x5e\\x43\\x49\\x2f\\xf5\\x2c\\x30\\x05\\x99\\x83\\xe6\\x24\\x8c\\xcc\\x48\\x0b\\xde\\xa8\\xff\\xe1\\xd6\\x6c\\xad\\xce\\xd6\\x9a\\xd3\\x38\\x25\\x70\\x3b\\x6a\\x18\\xc5\\x7c\\x8c\\xcf\\x68\\x9c\\xa1\\x33\\x1d\\xcd\\xd9\\x98\\xd9\\x50\\xab\\x9a\\x92\\x6c\\x68\\xb1\\x31\\x51\\x46\\x46\\x83\\xaa\\x5c\\x96\\x8c\\x94\\xe4\\xaa\\x5a\\x66\\x44\\x94\\x24\\x35\\x60\\xb5\\x30\\xf9\\x29\\xaf\\x02\\x4b\\x53\\xe3\\x46\\x8e\\xd1\\x85\\xfb\\xa7\\x0d\\x1e\\xa5\\xdb\\x5b\\xbd\\x3d\\xee\\x99\\xf5\\x33\\xce\\xcc\\xff\\xb2\\x9b\\xbd\\xfa\\xd2\\x09\\xa9\\x5d\\x73\\x66\\xdf\\xfa\\xb4\\xef\\xeb\\xb7\\x2e\\xf8\\xe6\\x1d\\x7a\\x46\\xd5\\xdc\\xbd\\x48\\xd5\\x5a\\xde\\x78\\x91\\x6f\\xfd\\xcb\\x3f\\xfb\\x9e\\x78\\xe3\\x4f\\xb5\\x5d\\x45\\xfd\\xac\\xfa\\x6f\\xbb\\xfa\\xfc\\xcc\\xd1\\x43\\x9f\\xe9\\x33\\x60\\xf0\\x3d\\x07\\x6b\\xc4\\x6b\\xbf\\x6c\\xf7\\x7d\\xb2\\x22\\x37\\x37\\xfb\\xee\\xbb\\xf7\\xbd\\xba\\x42\\x55\\x5c\\xb9\\x65\\xb9\\xcf\\xbe\\x22\\xaf\\xff\\xdc\\x0b\\x8f\\x6e\\x52\\xb1\\x8f\\x1d\\xf1\\xdd\\x71\\xe9\\x4d\\xdf\\xe7\\xcf\\x76\\xec\\x3d\\xb6\\x77\\xfe\\x1b\\x6a\\xe0\\x69\\x95\\xa0\\x3e\\x10\\xff\\xab\\xbe\\x2d\\x27\\x6e\\xbb\\x67\\xda\\x37\\xf7\\x4f\\x9a\\xf3\\xf1\\x33\\x7d\\xe1\\xda\\xfc\\x67\\xdc\\xbb\\xb1\\x2f\\x38\\x24\\x42\\xf2\\xbd\\x8d\\xc2\\xb8\\xd5\\x68\\xba\\xdd\\xe6\\x34\\x7f\\xa5\\xc1\\xe9\\xd0\\xa3\\x22\\x43\\xb5\\x01\\x79\\xa1\\xa1\\xd6\\x87\\x9a\\x51\\x45\\x51\\x2a\\x27\\x4a\\xfd\\x14\\xa5\\x76\\x45\\xa9\\x85\\x51\\xaa\\x20\\x4a\\xd5\\x8b\\x52\\xe9\\x51\\xaa\\xf4\\x33\\x2f\\xc9\\x6a\\x90\\x95\\xd1\\xf4\\x1a\\x95\\xe6\\x87\\x3c\\xdc\\x37\\xa3\\xcc\\x53\\x74\\x92\\x9e\\xa4\\x73\\xd1\\x76\\x29\\x87\\xdd\\xc1\\x63\\xb5\\xea\\xc6\\x82\\xe7\\xae\\xde\\xfb\\xfc\\x6e\\x2d\\xeb\\x73\\xad\\xd1\\xd5\\x7c\\x57\\x85\\xfa\\x9b\\xb5\\xf0\\x57\\x2b\\x55\\x52\\x4b\\x7d\\x43\\xcc\\xcf\\x46\\x8d\\x9f\\x2b\\x75\\xbf\\xcf\\x57\\x5f\\x7d\\xd4\\xb6\\xb7\\x75\\x47\\xe6\\xa6\\x6c\\x7c\\x8f\\x9d\\x61\\xec\\xc2\\x55\\x64\\xb8\\xb7\\x59\\xb9\\x68\\x67\\x74\\x62\\xa2\\x51\\xde\\xc9\\x4e\\xec\\x34\\x74\\xb7\\xa7\\x5c\\x74\\xc5\\xe8\\x8a\\x03\\xf2\\xa2\\xab\\x46\\x6b\\x9d\\xc3\\xa3\\x95\\xde\\x32\\x5a\\x19\\x94\\x11\\xb6\\xe8\\x68\\xb6\\xbb\\xa8\\x01\\x79\\xb8\\x90\\x38\\x20\\xcf\\x88\\xba\\x71\\xaf\\x19\\xd0\\x6f\\xc0\\xb8\\x7f\\x38\\xa5\\x05\\x4f\\x13\\x46\\x4a\\x52\\x64\\x92\\x27\\x92\\x65\\xaa\\x8a\\x32\\x2f\\xc0\\xbc\\x99\\x9b\\x4c\\x4d\\x65\\x96\\xc6\\xf7\\xbe\\x1f\\x2f\\x5e\\x7d\\x47\\x13\\xf5\\xd3\\xbc\\xe9\\xab\\xb6\\xf8\\x7e\\x5c\\xba\\xd8\\xf7\\x86\\xba\\xf9\\xa9\\x27\\xba\\xfa\\x9e\\xf7\\x2d\\x55\\x85\\x1b\\x96\\xab\\xf9\\x3b\\x3e\\xb2\\xcd\\xf0\\xad\\xb9\\x67\\x4d\\xe5\\x98\\x6d\\xea\\xd2\\xf8\\x41\\xbe\\x56\\x85\\x57\\xfd\\x7f\\xfa\\x8c\\xfb\\x02\\xf7\\x03\\xce\\x16\\xb6\\xc9\\xd6\\xbe\\xd9\\xdf\\xdb\\x54\\x8f\\x88\\x8f\\x73\\xba\\x5c\\x71\\x11\\x7a\\xc5\\xc4\\xf0\\x78\\xa6\\x65\\x7c\\x7c\\x74\\xb4\\xe0\\x93\\x21\\xce\\x08\\xa7\\xd7\\x99\\xe3\\x5c\\xe8\\x5c\\xee\\x3c\\xe8\\x3c\\xee\\x74\\x86\\xea\\xe0\\xff\\x61\\xed\\x3d\\xe0\\xa3\\xaa\\xb2\\x07\\xe0\\x7b\\x5e\\x9f\\xf2\\xa6\\xb7\\xcc\\xa4\\x4c\\x92\\x49\\x62\\x4c\\x60\\x42\\x0a\\xa1\\x49\\x9e\\x2e\\x6a\\x00\\x85\\x80\\x14\\x47\\x4a\\x82\\x8b\\x34\\x0b\\x11\\x10\\x41\\xc4\\x24\\x14\\xa5\\x88\\xa0\\x22\\xac\\x74\\x15\\x15\\x2c\\x88\\x6c\\x44\\x6c\\x10\\x11\\x0b\\x8a\\x92\\x15\\xcb\\xba\\xae\\x82\\xca\\xba\\xbb\\x36\\x58\\x45\\x57\\x25\\xf3\\xf2\\xdd\\x7b\\xdf\\x7b\\x53\\x42\\x74\\xff\\xdf\\xf7\\xfb\\xd0\\x24\\x33\\xef\\x9d\\x7b\\x6e\\x3b\\xf7\\xdc\\xd3\\xee\\xb9\\x56\\x01\\xcf\\x8d\\x3b\\x1c\\x82\\x09\\xba\\x44\\x4e\\xba\\x93\\xfc\\x94\\xae\\x7f\\xe6\\x21\\x4d\\xc8\\x48\\x50\\x28\\x21\\x50\\x62\\xfa\\x61\\x03\\x5f\\xa9\\x1d\\x60\\xff\\x27\\x9c\\x77\\xdf\\xa6\\xb1\\xea\\xab\\xed\\xef\\xab\\x87\\x1f\\x82\\xeb\\xe0\\xa2\\xcf\\xa0\\xe7\\xa5\\xcf\\xf4\\xfa\\x88\\xfb\\x55\\x3d\\xa6\\xfe\\xaa\\xc6\\xd5\\x57\\xa1\\x60\\xd8\\xde\\xfd\\x4f\\xc3\\xe0\\xcf\\x60\\x04\\xdc\\xb6\\xfb\\xc9\\x01\\x0b\\x16\\x69\\xf6\\x45\\x3c\\x37\\xfc\\x35\\x78\\x6e\\x4c\\x58\\xb5\\x29\\x55\\xfc\\x76\\xde\\x8c\\x78\\xe4\\xf1\\x0a\\xb6\\xfa\\x98\\xc0\\xf2\\x76\\x3c\\xf2\\xae\\xb0\\x97\\xb6\\xb1\\xab\\xde\\xe2\\x61\\xb4\\xe1\\x25\\x01\\x24\\xda\\x88\\xba\\xf8\\x6b\\x1e\\x53\\xdf\\x38\\x12\\xff\\x0f\\xbc\\x0b\\x53\\x60\\x69\\x1b\\x91\\x65\\xd4\\xff\\x40\\xbf\\x8d\\x5f\\xdf\\xc6\\x1c\\xfd\\x9b\\xfa\\xdc\\x2e\\x3c\\x98\\xf7\\xab\\xcf\\x80\\x00\\xee\\xb3\\x4f\\x2f\\x03\\x3a\\x86\\x84\\x36\\x54\\x2a\\xdb\\x8c\\x52\\xca\\x79\\x2c\\xd7\\x98\\x59\\x11\\x4b\\x3b\\x32\\x2f\\xd5\\xc7\\x56\\xf3\\xf0\\x3c\\x0f\\xf3\\xf9\\xe5\\x3c\\x63\\xe7\\x41\\x62\\xb1\\xe0\\x03\\xc0\\xd5\\xc7\\x80\\x45\\xa6\\xfa\\x18\\x72\\x85\\xe5\\x94\\x86\\xe9\\x04\\x31\\x41\\x53\\xfe\\x8c\\x3d\\x8a\\x68\\x34\\xb9\\xfa\\xcf\\x0e\\xae\\x47\\xc7\\x3d\\x6c\\x79\\xc7\\x3b\\xec\\x7a\\xbe\\x65\\x93\\x3a\\x60\\x83\\xea\\xdd\\x94\\x68\\xc3\\xdd\\x74\\x0c\\x7a\\x2b\\x59\\xc0\\xf3\\x82\\xc4\\x08\\xac\\xd9\\x42\\xab\\x02\\x5e\\x14\\xf1\\x2c\\x8a\\x2c\\x1e\\x07\\x0b\\xa9\\xee\\x5c\\x09\\x96\\x48\\xd8\\xa4\\x06\\x2c\\x65\\x7b\\x61\\x2a\\xeb\\xea\\xf8\\xee\\x00\\xfb\\x6f\\xee\\x1f\\xf1\\x33\\x5b\\xe2\\xaf\\xe2\\x8a\\x34\\x5a\\x99\\x8a\\x69\\x65\\x1b\\xe5\\xeb\\x57\\x2b\\xfd\\x45\\x41\\x46\\xee\\x40\\x40\\xf0\\x12\\xfd\\xc9\\x87\\x99\\x37\\xf2\\x41\\x80\\xf5\\xf9\\x42\\x6c\\xc8\\x51\\x1f\\x0b\\xb9\\x59\\x73\\x7d\\xac\\x4c\\x54\\x44\\x66\\x8d\\x78\\x02\\xcb\\xcf\\x22\\xcb\\x35\\x87\\xa1\\x21\\x0c\\xe1\\x30\\x59\\xae\\x58\\x1a\\x21\\x2a\\x6e\\x57\\x99\\x2b\\xcd\\x1e\\x62\\xd0\\x47\\xbe\\x46\\x39\\x98\\x7f\\x55\\x11\\x1d\\x5d\\x23\\x9f\\xa9\\xd0\\x08\\x97\\x7f\\x05\\x91\\xe1\\x7b\\x07\\x1c\\xdb\\x7c\\x06\\xcb\\x9f\\xae\\xef\\x57\\x9c\\x1a\\xa2\\x8e\\x63\\x46\\x37\\xaa\\x2f\\xec\\xff\\x44\\x6d\\xdb\\xc9\\xbc\\x0e\\x63\\x61\\xde\\x96\\x5d\\xbd\\xe7\\xdd\\xa0\\x7e\\xa4\\x9e\\x51\\x7f\\x54\\xdf\\x1a\\x55\\xab\\x6e\\x53\\x83\\xb3\\x16\\xee\\x86\\xa1\\xfa\\x98\\xf1\\x61\\x3a\\x6f\\xb3\\x14\\xbf\\xc8\\xb2\\x24\\xa9\\xaa\\x85\\xb3\\x58\\x65\\x11\\xf3\\x9c\\x3a\\x11\\x4e\\x60\\xc1\\x69\\x5f\\xe7\\x67\\x4a\\x4f\\xf7\\xe0\\xf9\\xe2\\x72\\x91\\xb1\\x8b\\x20\\x89\\xa2\\x89\\xb2\\x22\\x3c\\x6f\\x6d\\x32\\xec\\x96\\x61\\x9b\\x0c\\xcd\\x32\\x34\\xca\\xd0\\x20\\x43\\x9d\\x0c\\x64\\x3e\\x0d\\x1b\\xbc\\xce\\x8e\\xf0\\x84\\x96\\x18\\xea\\x7c\\x92\\xb3\\xe3\\xd9\\xc4\\xa3\\x8d\\xe7\\x16\\xff\\x70\\x93\\xe2\\xc2\\x81\\x03\\xcc\\xaf\\x07\\x98\\x55\\xf1\\xd9\\x7c\\x4b\\xfc\\x09\\x66\\xd4\\xaf\\x4d\\xda\\x98\\xbf\\x84\\x7f\\xdd\\x4a\\xed\\x4e\\x77\\x2a\\x93\\xa8\\xbe\\x8f\\x29\\xc7\\xa5\\xf0\\x50\\xc6\\x43\\x98\\xc7\\xdc\\x05\\x10\\x0f\\x7d\\x4f\\xf3\\xb0\\x9b\\x87\\x6d\\x3c\\x34\\xf2\\xd0\\xc0\\x43\\x1d\\x16\\x13\\xe8\\x0b\\xfc\\xbc\\xcd\\x78\\xa5\\x3d\\x74\\x18\\xcf\\x9f\\xe2\\x61\\x4d\\x3a\\x3c\\x46\\xd7\\xd5\\x7d\\x90\\xee\\x5f\\xd0\\x4c\\x4a\\x9a\\x91\\x01\\xb7\\xfa\\xa5\\x03\\x84\\x51\\xe2\\x36\\x86\\x3b\\xbf\\x61\\xa7\\xe1\\x36\\x3a\\xd0\\x25\\xca\\xf9\\x2c\\x63\\xb2\\xd9\\x2c\\x0c\\xeb\\x74\\x59\\x2d\\x98\\x3b\\x60\\x59\\xa2\\x3e\\xa6\\xb0\\xc0\\xb2\\xc8\\x1d\\xa6\\x2c\\x1b\\x73\\x70\\xc5\\x05\\x61\\x8d\\x6b\\x93\\x31\\x8a\\x4e\\xe8\\x2a\\x95\\xf1\\x61\\x62\\x23\\x26\\x0a\\x14\\xb5\\xca\\x78\\x04\\x38\\xac\\x6e\\xf8\\xc3\\x0b\\xae\\xdb\\xea\\xa7\\xcd\\xc3\\x8b\\xf1\\xed\\x4f\\x3d\\x30\\x2b\\x67\\xce\\xa2\\xd5\\x2b\\xd8\\x8b\\x37\\x75\\xe4\\xbf\\xfd\\xb5\\x3e\\x97\\x35\\x74\\x2e\\x2b\\x95\\x10\\xb2\\x48\\x26\\x32\\x9f\\x16\\x93\\x19\\x6f\\xd1\\xb2\\x59\\x04\\x06\\xef\\x26\\x3c\\x96\\xa9\\x30\\xf3\\xad\\xc0\\x3a\\xa6\\xbf\\xab\\x4c\\x91\\x0b\\x22\\x9d\\x0d\\xb2\\x43\\x70\\x23\\xe3\\x6f\\xef\\xc3\\xd3\\xf1\\xe8\\x67\\xf1\\x1d\\x0c\\xfe\\xef\\xce\\xf8\\x49\\x3c\\x27\\x03\\x99\\x83\\xf1\\x4d\\x1d\\x5f\\x18\\x6b\\x2d\\x8a\\xeb\\xe2\\x51\\x8e\\x62\\x23\\x73\\x22\\x88\\x78\\x52\\x58\\xb2\\x9c\\xb5\\xa5\\xac\\x4f\\xb5\\x36\\x4c\\x78\\xd1\\x1e\\x60\\xde\\xe0\\x5b\\xce\\x86\\x36\\x69\\x65\\x05\\x06\\x97\\x0d\\xc2\\x48\\xe5\\x54\\x00\\x05\\x1d\\xb2\\x2d\\x68\\xcb\\x0c\\xb1\\xe6\\x80\\xd9\\x8e\\x65\\x3f\\x0f\\x6b\\x73\\xad\\xc9\\x84\\x25\\x99\\xd0\\x98\\x09\\x93\\x33\\x61\\x50\\x26\\x54\\x66\\x42\\x38\\x13\\x3c\\x99\\x70\\x26\\x13\\xda\\x33\\xe1\\x50\\x26\\x6c\\xa7\\x00\\x73\\x32\\xa1\\x21\\x13\\x46\\x51\\x00\\x47\\x26\\x70\\x99\\x30\\xf5\\x24\\x7d\\xdd\\x9a\\x09\\x6b\\xe9\\xeb\\x3a\\x5a\\x3e\\x42\\xdf\\xe1\\xc2\\xef\\xd1\\x57\\x4b\\x52\\xf0\\x6a\\x48\\x35\\x8c\\x2b\\x69\\x11\\x0d\\x1d\\x86\\xaf\\xc6\\xb8\\xde\\x4a\\xc1\\xa5\\x21\\xb2\\x18\\x88\\x5e\\x30\\x10\\x0d\\x35\\x10\\x9d\\xcd\\x84\\x93\\x06\\xae\\xe6\\x4c\\x60\\x1a\\x69\\xfd\\x4a\\x26\\xd4\\xd0\\xf6\\xa3\\xcc\\x84\\xe3\\xab\\xfe\\x77\\x48\\xac\\x9b\\x17\\x69\\xce\\xad\\xa4\\x57\\xcb\\x4f\\x5c\\x3b\\xce\\x14\\x33\\x01\\x5d\\x53\\x95\\xd5\\x78\\x2e\\xf2\\x21\\x0a\\x39\\xc4\\x62\\x50\\x01\\xd9\\xe0\\x1f\\x08\\xd5\\x50\\xe1\\xe4\\xc7\\x98\\x7a\\x15\\xa9\\x6b\\x6f\\x57\\x57\\xf7\\xc9\\x65\\xb9\\xc7\\xce\\xc2\\xcd\\x9e\\x02\\x41\\xc2\\xb3\\xdd\\xf8\\x23\\xfb\\xc4\\xa6\\x35\\x7f\\xbe\\xa6\\x43\\x61\\xdb\\x1e\\xbb\\x61\\xe6\\x4b\\x1d\\xa3\\xf8\\x96\\x8e\\x68\\xff\\x3b\\xb2\\xcf\\x7b\\xc8\\xcb\\xfe\\x85\\xd2\\xb7\\xc1\\x27\\x64\\xac\\x7d\\x47\\x91\\xd9\\x2c\\x8b\\x1c\\xc7\\xcb\\xbc\\xdd\\x66\\x01\\x81\\x95\\x10\\xe6\\xaa\\x76\\x68\\xb3\\xc3\\x6e\\x3b\\x6c\\xb3\\x43\\xb3\\x1d\\x1a\\xed\\xd0\\x60\\x87\\x3a\\x3b\\xe0\\xe7\\x29\\xcc\\x80\\x3a\\xa3\\xba\\x72\\x01\\xa3\\xa1\\x85\\x55\\x84\\x0f\\xf4\\x8b\\xdb\\x78\\xfe\\xb1\\x4f\\x99\\x5f\\xad\\x4f\\x70\\xbb\\x27\\x3d\\xda\\x71\\x25\\x26\\x9b\\xda\\x43\\x57\\xb2\\x9b\\x70\\x3b\\x18\\x34\\x09\\xf3\\xdf\\x0f\\x31\\xff\\xb5\\xa1\\x20\\x2a\\x53\\x82\\x5e\\xc9\\x8e\\x24\\x14\\xca\\xb4\\x60\\xd9\\xc2\\xc2\\x71\\x01\\x2c\\x5b\\xb8\\x9b\\xe9\\x60\\x4f\\xf8\\xad\\xbd\\x2e\\xb1\\xef\\xba\\x44\\xa2\\xea\\x69\\x7c\\x15\\xf1\\x1f\\xee\\x54\\x0f\\x7d\\xf8\\x91\\xfa\\xea\\x23\\x30\\x0b\\x86\\x7c\\x08\\x03\\x1e\\x7d\\x45\\xfd\\xe5\\xf4\\xf7\\xea\\xcf\\x60\\xf9\\xf6\\x0c\\xf0\\xcc\\xeb\\x9f\\xa8\\xad\\x7b\\x76\\xc3\\xe5\\x9f\\x62\\x15\\x7f\\xe1\\xe3\\xea\\xf3\\x9f\\x82\\x08\\xa5\\xea\\x5f\\x31\\x47\\xfd\\xaf\\x7a\\x18\\x7a\\x18\\x7b\\x30\\x95\\x8f\\xcc\\xc8\\x89\\x35\\x8b\\xb0\\x1d\\xef\\x40\\x16\\xac\\x64\\xb8\\xdc\\x76\\xbc\\x03\\xd9\\xed\\x78\\x07\\xb2\\xe9\\x3b\\x90\\x1b\\xf0\\xff\\x64\\x3c\\x52\\x77\\xa1\\xbe\\x49\\x39\\x81\\x4a\\x3c\\x78\\x1f\\x2a\\xe7\\x44\\x07\\xd9\\x93\\xc3\\x58\\xc8\\x39\\x7b\\x42\\xbd\\xfa\\x00\\x33\\xe2\\x5b\\xe0\\xda\\xd4\\x7d\\xea\\x52\\x58\\x0c\\x0a\\xfb\\xd1\\x1b\\xdf\\xc4\\x3f\\xe6\\x5b\\x3e\\x3d\\x02\\xce\\xf8\\x7b\\xb4\\x0d\\x93\\xd4\\x85\\x74\\x7c\\x02\\x58\\x3f\\xae\\x51\\x22\\x39\\xae\\x0c\\x2c\\x9a\\xe1\\x05\\xc5\\x17\\x14\\x7a\\x33\\xeb\\x63\\x5e\\xce\\x96\\x57\\x1f\\x63\\x6d\\x6e\\x0b\\x66\\x49\\x96\\xe6\\x42\\x08\\x17\\x92\\x91\\x8a\\x52\\x13\\x49\\x57\\x16\\x84\\x55\\x61\\x9e\\xb0\\xa0\\x6a\\x2f\\xb5\\x94\\x15\\xfe\\xc6\\xc0\\xa9\\xef\\xa9\\x3f\\x16\\x2f\\x9d\\x52\\x3d\\x60\\xc2\\xe8\\xf5\\xaf\\x0c\\x7c\\x4d\\xfd\\x6c\\xfd\\x6f\\x0c\\xa1\\xfa\\x81\\xda\\x9c\\x7f\\x5b\\xa3\\x7c\\xbb\\xef\\xf1\\x37\\xcc\\xcf\\xc0\\x1f\\xde\\xff\\xfd\\xb1\\xe4\\xa7\\xe9\\xb2\\xe6\\x58\\x25\\x0a\\x56\\xab\\xdb\\xe4\\xc6\\xec\\xcc\\x86\\x15\\x5c\\xd9\\xc4\\xb1\\xfe\\x80\\x95\\x71\\xe3\\x2d\\x0a\\xcb\\x66\\x86\\x60\\x89\\x5c\\xcd\\x01\\x68\\x0c\\x40\\x38\\xa0\\xed\\xae\\xe5\\x35\\xdd\\x1b\\x7c\\x74\\x4b\\x15\\x21\\x3c\\x7d\\x90\\x89\\x02\\x0c\\xac\\x21\\x58\\x72\\x77\\x62\\x8d\\x74\\xf0\\x01\\x66\\xfd\\x77\\xc0\\x3e\\xfb\\x00\\xac\\xf9\\xf9\\xd1\\xcd\\x6a\\x7f\\x78\\x7b\\xfd\\xc3\\xcc\\xe0\\xf8\\xb3\\x7c\\xcb\\xfb\\xfb\\x37\\x7f\\x90\\x19\\x7f\\x80\\xfd\\x66\\x41\\x4b\\xfc\\xe7\\x55\\x84\\x17\\x4e\\xe8\\xfc\\x86\\xfb\\x19\\x8f\\x79\\x0f\\x74\\x97\\x92\\x63\\x45\\x59\\x99\\xf9\\x3e\\x81\\xe7\\x7d\\x99\\x98\\x43\\xf6\\xb4\\x3a\\xdc\\xbe\\xda\\xc1\\xd6\\x98\\x75\\xba\\x95\\xb5\\x5b\\x21\\x7f\\x5f\\xe7\\x69\\xa5\\x2f\\x7e\\x74\\x49\\xfe\\x98\\xfc\\x29\\xf9\\xac\\x9c\\x0f\\x56\\xce\\x9a\\xcf\\x66\\x64\\x84\\xeb\\x63\\x33\\xb3\\x20\\x96\\x05\\x43\\xb3\\x30\\x23\\xcd\\x02\\x13\\x9f\\x95\\xc1\\xb1\\x58\\x3e\\x6a\\x10\\x60\\xa4\\x00\\x83\\x04\\xbc\\xce\\xdc\\x49\\xfb\\x9b\\x66\\xbe\\x9f\\xa0\\x1b\\x69\\xea\\xe9\\xfe\\x3a\\xa1\\xe4\\x1c\\x2d\\x91\\xcb\\x4d\\x6c\\x23\\x95\\x3d\\x99\\x22\\xe2\\x70\\x8c\\xe4\\x96\\xfb\\x34\\x91\\x02\\xab\\x4f\\x98\\x37\\x64\\xf3\\xdc\\xcf\\xea\\x51\\xf5\\xeb\\x78\\x7c\\xe4\\x73\\xe1\\xf6\\x3f\\x3f\\x77\\xb8\\x66\\xd6\\x96\\x86\\x47\\x9f\\x9c\\x8c\\x55\\x5b\\x60\\x4e\\xab\\x15\\x2f\\xe6\\xec\\xda\\xb0\\x73\\xcf\\xc5\\x8b\\x0e\\x5e\\xd8\\x32\\x77\\xea\\x65\\x25\\xc4\\xd6\\x09\\x53\\x0a\\x9a\\x6e\\x6e\\x5a\\x70\\xf1\\x98\\x3e\\x85\\xbe\\x82\\x21\\xe3\\x6e\\x19\\xfe\\xcc\\xa1\\x7b\\x9f\\xce\\x6d\\xbc\\xa6\\x71\\xe6\\x85\\xa3\\xfb\\x97\\xd8\\x73\\x4a\\xfa\\x8d\\x9a\\x85\\xc7\\xa5\\x27\\x5e\\x0f\\xad\\x44\\xaf\\x81\\x32\\xe5\\x23\\xbc\\xfd\\x30\\x22\\x89\\x99\\xe6\\x78\\x8e\\x4c\\x17\\xb8\\x16\\x18\\x41\\x05\\x11\\x13\\x9c\\x35\\x62\\x1b\\xb4\\x40\\x85\\x26\\x13\\x30\\xf5\\x26\\x18\\x6e\\x82\\x32\\x1a\\x2f\\x30\\xf5\\xb8\\x09\\x8e\\x9a\\x60\\x37\\x8d\\x25\\xd0\\x5e\\xe0\\xa7\\xa7\\x4d\\xa0\\x3d\\xd7\\x42\\x10\\x1a\\xe9\\x2b\\x2d\\xc6\\xe0\\x14\\x7d\\xb5\\xd5\\x88\\x8f\\xa8\\xa1\\x0f\\x91\\x09\\xaa\\xf1\\x8b\\x76\\x13\\xac\\x31\\x41\\x33\\x7d\\x57\\x67\\x82\\x28\\x7d\\xd1\\x4e\\xb1\\xac\\xa1\\x55\\x6b\\xcf\\x31\\xa2\\xb0\\x09\\x1c\\x34\\xfa\\xe2\\x04\\x0d\\x65\\xd8\\x46\\x01\\xb4\\x38\\x86\\x1a\\xfa\\x36\\x3d\\x94\\x61\\xc2\\x39\\x61\\x09\\xe7\\x30\\xf4\\x1b\\x53\\x5f\\xd4\\x27\\xdf\\x25\\x2d\\x7f\\xfe\\xbe\\x29\\xce\\x18\\x2f\\xd3\\xbe\\x5f\\xcd\\xe4\\x6e\\xe7\\xfe\\x71\\x36\\xc4\\xfd\\x63\\x93\\x2e\\x83\\x6e\\xc1\\x3c\\xb0\\x18\\x8f\\xab\\x1b\\x0d\\x56\\x4a\\x65\\x87\\xc8\\x39\\x30\\x05\\xdb\\xf0\\xd6\\x8e\\xc5\\x4d\\x2c\\x61\\x78\\xa1\\xcd\\x0b\\xbb\\xbd\\xb0\\xcd\\x0b\\xcd\\x5e\\x68\\xf4\\x42\\x83\\x17\\xea\\xbc\\x40\\xc4\\xff\\x24\\x23\\xa6\\x34\\x94\\xc2\\x1a\\xf9\\xbc\\x08\\x65\\xbf\\x54\\x49\\xa6\\x1f\\x04\\x8e\\xf9\\xf8\\x49\\x55\\xbd\\xeb\\xc0\\xa1\\xe7\\xf6\\x1f\\xdb\\x7f\\xb7\\xfa\\x5f\\xcf\\x6d\\xa7\\x1f\\x61\\x5b\\x3a\\x56\\xbf\\xfc\\xc6\\xd1\\xd7\\xd9\\xc9\\x1d\\x77\\x3f\\xfe\\xf3\\x62\\xad\\x3d\\x26\\xbc\\x56\\x2f\\xc7\\xed\\x91\\xd0\\x40\\xa5\\x50\\x94\\xb0\\x70\\xc5\\x32\\x0c\\x2f\\xb1\\x66\\x53\\xd8\\x5c\\x67\\x66\\xca\\xcc\\x0d\\xe6\\x35\\xe6\\x36\\xf3\\x69\\x33\\x1f\\x35\\x83\\xc8\\xb0\\x3c\\x68\\x22\\x08\\x6e\\xcf\\x8d\\x46\\xcc\\x81\\xb6\\x13\\x60\\xed\\x14\\xfc\\x78\\xab\\x62\\x6d\\xaf\\xc5\\x5f\\x3e\\x0c\\xb7\\x8f\\x1a\\x05\\x4b\\x0e\\xe3\\xbd\\x28\\xfc\\xcb\\x2f\\xec\\x09\\xa3\\x2e\\xf1\\x76\\x5c\\x57\\x06\\x74\\x28\\x9d\\x81\\x0c\\x89\\xd8\\x7f\\x3c\\xa2\\x13\\x24\\x07\\x38\\x1d\\x58\\x5b\\x16\\xc1\\xc2\\x8a\\xb2\\xd9\\x64\\x92\\x39\\x4f\\x06\\x1f\\x0a\\xae\\x0c\\x41\\xa8\\xed\\xd6\\xa6\\xda\\xbe\\x21\\x38\\x3f\\x04\\x19\\x21\\x30\\x87\\xe0\\x97\\x10\\x7c\\x15\\x82\\x8f\\x42\\xf0\\x66\\x08\\xf6\\x85\\x60\\x79\\xe8\\xfe\\xd0\\xce\\x10\\x3b\\x2f\\x04\\xd3\\x43\\xd0\\x2f\\x34\\x24\\x74\\x55\\x88\\x2d\\x0e\\x41\\x30\\x04\\xd6\\x10\\x4c\\x8b\\x87\\xe0\\x9b\\x10\\x7c\\x12\\x82\\x23\\x21\\x78\\x29\\x04\\x8f\\x87\\x60\\x53\\x08\\x30\\xd6\\x5b\\x43\\x70\\x6d\\x08\\xc6\\x87\\x60\\x68\\x08\\x06\\x84\\xa0\\x24\\x04\\x99\\x21\\xb0\\x84\\xa0\\x23\\x04\\x5f\\x87\\xe0\\xef\\x21\\x78\\x2b\\x04\\x2f\\x1a\\xf0\\x68\\x55\\x08\\x9a\\x42\\x70\\x7d\\x08\\xea\\x43\\x70\\x79\\x08\\xa2\\xa1\\x9a\\x10\\x93\\x15\\x02\\x7b\\x08\\x30\\xfe\\x53\\x14\\xff\\x51\\x8a\\xff\\xa9\\x10\\x6c\\x0e\\xc1\\x6a\\x02\\xbb\\x30\\xc4\\x8c\\xa3\\xd0\\xfd\\x43\\xd0\\x03\\x77\\x23\\x04\\x72\\x08\\xfa\\x9c\\x0d\\xc1\\xb7\\x21\\xf8\\x38\\x04\\x6f\\x87\\x94\\x99\\xf0\\x42\\x08\\x9e\\x0c\\xc1\\xc6\\x10\\xe0\\x0a\\x16\\xd0\\x0a\\x86\\x86\\xc6\\x85\\x98\\xbe\\xb4\\x41\\x19\\xb4\\x41\\xbf\\xd0\\x06\\x7d\\x42\\x1b\\xa4\\x75\\x60\\x33\\xed\\xc0\\x42\\xda\\x81\\x09\\xb4\\x03\\x17\\x84\\x80\\x14\\xc8\\x09\\xe1\\x65\\x17\\x6a\\x0a\\x6d\\x0d\\x1d\\x08\\x1d\\x0f\\x75\\x86\\x04\\x14\\x02\\x29\\xe0\\xe0\\x4c\\xac\\x47\\x96\\x41\\x22\\xb3\\x86\\xe7\\x89\\x84\\x93\\xc0\\x44\\x1a\\xb9\\x53\\xff\\x5b\\xc1\\x38\\xdd\\x05\\xe4\\x24\\x82\\x7c\\xba\\x07\\x4f\\x87\\x27\\x00\\x25\\x09\\xea\\xc0\\xfc\\x8d\\xd0\\x08\\xf1\\x99\\x56\\x4c\\xd0\\x28\\x85\\x2d\\x2c\\xb2\\x01\\x31\\x67\\xb8\\x7d\\xfe\\xde\\x2e\\x37\\xf9\\x53\\x3d\\x10\\xa0\\x82\\xff\\xe7\\xc9\\x33\\x81\\x9e\\xc1\\x48\\xe7\\x49\\x75\\xd2\\xeb\\xf1\\x1e\\x85\\x81\\x9a\\x9f\\x9e\\xfd\\xb1\\x4f\\xd8\\x14\\xca\\x03\\xe9\\x75\\xb6\\x69\\xd4\\x47\\x73\\x36\\x75\\x4c\\xc6\\x24\\xd5\\xb2\\x63\\xcf\\x0d\\xc0\\xb1\\x53\\x3b\\xee\\xfd\\xf0\\xbe\\xfc\\xd9\\x77\\xb3\\x7b\\x34\\x5a\\xc6\\x3c\\x8b\\x2f\\x21\\x32\\x34\\x48\\xca\\xab\\x92\\x49\\xe0\\x19\\x16\\x59\\x58\\x9e\\x33\\x9b\\x2c\\x82\\x6c\\x0d\\xc9\\x43\\x65\\x66\\xa5\\xfc\\x82\\xfc\\xb5\\xcc\\x72\\xb2\\x47\\xae\\x94\\x07\\xc9\\xdc\\x8c\\x51\\xf2\\x64\\x79\\x89\\xbc\\x56\\x6e\\x95\\x0f\\xc9\\x27\\xe5\\x33\\xb2\\xd4\\x5f\\x86\\x88\\x0c\\x16\\x19\\xce\\xc8\\xf0\\xb1\\x0c\\x87\\x64\\x78\\x5c\\x86\\xb5\\x32\\x2c\\x90\\x61\\xb2\\x0c\\x65\\xf4\\x2d\\xa2\\x6f\\xdb\\xe9\\xdb\\x6d\\xf4\\x6d\\x23\\x7d\\xab\\xc8\\x50\\x29\\x83\\x43\\x06\\x4e\\x86\\xbe\\x27\\x64\\x78\\x8f\\x6a\\x58\\xdb\\xa9\\x86\\xe5\\xc1\\xd5\\xcd\\x91\\xd9\\x88\\x3c\\x0a\\xd7\\xd7\\x8a\\xeb\\xe2\\x49\\xd5\\x6b\\x71\\x95\\x1c\\x2e\\xc6\\x20\\xb9\\x4c\\x66\\x6e\\x16\\x61\\x1e\\x5e\\x14\\x9c\\x59\\x24\\xd2\\x3e\\x4b\\xc4\\x71\\xac\\x81\\x91\\xf8\\x14\\x20\\x0c\\xe7\\xc6\\xdf\\x96\\x27\\xb5\\x19\\x99\\x98\\xb2\\x28\\x75\\xf9\\xcc\\x04\\xf9\\x26\\xa2\\x14\\x10\\xbd\\xe0\\x4a\\x35\\xa6\\xd6\\x1d\\x63\\x02\\xaa\\xf3\\x18\\x2c\\x83\\x85\\xc7\\xd4\\x6c\\xc6\\xc2\\x4c\\x8b\\xff\\x89\\xf9\\x3b\\xf3\\x70\\xfc\\x43\\xa6\\x38\\x7e\\x75\\x3c\\x8b\\x8c\\x23\\xde\\xc5\\x29\\x8f\\x92\\x60\\xb7\\xd2\\x29\\x00\\x30\\x0c\\x31\\x18\\x73\\x12\\x1e\\x48\\x01\\xb1\\x12\\x1b\\x60\\x6b\\x59\\xd6\\xca\\x82\\xc4\\xe1\\x9d\\x60\\xae\\x19\\xae\\x36\\xc3\\x28\\x33\\x5c\\x62\\x86\\xde\\x66\\x88\\x98\\xc1\\x67\\xc6\\x3d\\x80\\xef\\xcd\\x00\\x27\\xcc\\xd0\\x6e\\x86\\x43\\x66\\xd8\\x6d\\x86\\x6d\\x66\\x58\\x6b\\x86\\x46\\x33\\x4c\\x36\\x83\\x62\\x86\\x4a\\x0a\\xea\\x31\\x03\\x32\\xc3\\xf4\\x33\\x66\\x38\\x69\\x80\\xb6\\x9a\\x61\\xbb\\x19\\xd6\\x98\\xa1\\xd9\\x0c\\x73\\xcc\\xd0\\x60\\x86\\x3a\\x33\\x0c\\x32\\x43\\x98\\x42\\x63\\xc4\\x18\\x18\\xe3\\x7d\\xcf\\xc0\\xbb\\x9d\\xe2\\x9d\\x43\\xf1\\x8e\\xa2\\xa8\\xcb\\x28\\x6a\\x44\\x21\\x0f\\x51\\x54\\x4b\\x28\\xc0\\x28\\x8a\\x27\\x62\\xe0\\xe9\\xab\\x61\\xd9\\x4e\\x5f\\x37\\x1a\\xe5\\xb5\\x76\\x69\\xd5\\xe0\\x36\\xb5\\x29\\x15\\xb4\\x49\\x1a\\x12\\xed\\xbd\\x56\\xfc\\x24\\x2d\\xfd\\x02\\x45\\x80\\x4b\\x33\\x0d\\xb4\\x62\\xcc\\x24\\xed\\x66\\x38\\x57\\x4b\\x48\\x5d\\x31\\xdd\\x6d\\x3a\\xff\\x7b\\x0d\\xd6\\xa7\\xe8\\x0e\\xc4\\xcb\\x48\\x4c\\xaf\\xc9\\x4d\\x80\\x08\\x45\\xd4\\xde\\x86\\xf7\\x1e\\x3a\\xdd\\xac\\x69\\x7f\\xfc\\xf3\\x77\\xe1\\x49\\x78\\xfc\\x5d\\xa6\\x36\\xbe\\x8f\\xa9\\x65\\xfb\\xc6\\x27\\x31\\x5b\\xe9\\x3a\\xb9\\x10\\xef\\xed\\x0f\\x51\\x5b\\xcb\\x10\\xa5\\x44\\x62\\x58\\xd1\\x24\\x72\\x0c\\x67\\xb6\\x88\\xac\\xbe\\xbf\\x33\\x12\\x48\\xf5\\x31\\x70\\x35\\x5b\\xa0\\xd1\\x02\\x0d\\x16\\xa8\\xb3\\x80\\x62\\x01\\x5d\\x89\\xd6\\x7c\\xd7\\x34\\x0e\\x21\\x45\\xe0\\x2c\\x86\\x2a\\xe2\\xe7\\xf2\\x42\\x2e\\xf7\\xd0\\xd9\\x2d\\xec\\x55\\x1d\\xa7\\xd8\\xaf\\x3a\\x1e\\x61\\x97\\xaf\\xe6\\xc6\\x6c\\x5a\\x49\\xae\\x7a\\x02\\x74\\x8f\\x3a\\x96\\x29\\xe6\\x8f\\x20\\x11\\x15\\x2a\\x1e\\x1e\\x09\\x58\\xe7\\x94\\x30\\x59\\xfe\\x18\\x03\\x4c\\x70\\x3f\\xc6\\x50\\x28\\x29\\xf5\\x6b\\x3b\\xa9\\x1b\\x2b\\x9f\\x58\\xb9\\xf0\\xde\\x03\\xeb\\xff\\xfd\\x6f\\x75\\xac\\x78\\x53\\xcb\\x2f\\xab\\x5a\\xce\\x8d\\x0b\\xc0\\x9b\\x52\\x97\\xb8\\x00\\x9e\\xc4\\x05\\xac\\x57\\xa7\\x6f\\x81\\x8d\\x7a\\x64\\x00\\x29\\xe3\\x50\\xc7\\xc2\\xa3\\x46\\xfd\\x8c\\xc8\\x01\\x91\\x69\\x78\\x5c\\x3f\\x8f\\xdf\\x76\\x5b\\x7f\\x55\\x85\\x33\\x1f\\x2b\\xf0\\x8e\\x7f\\xff\\x1b\\x63\\x1b\\xdb\\x22\\xcc\\x6e\\xf9\\x79\\xa5\\x86\\xcb\\xcc\\x3c\\xc0\\x62\\x81\\x12\\x09\\x50\\xad\\xcc\\xe4\\x39\\x1a\\x58\\xc8\\x12\\x75\\x0a\\x0f\\x22\\xc6\\x9a\\x21\\x15\\x4b\\xd3\\xa5\\xc3\\xd2\\x47\\x92\\xe0\\x13\\x24\\xb8\\xed\\x12\\x69\\x8c\\xf4\\x88\\xc4\\xde\\x2e\\xad\\x93\\x7e\\x92\\x58\\x41\\xf2\\xe1\\xef\\x53\\xa4\\xbd\\xd2\\x6b\\x92\\x30\\xac\\x50\\xea\\x8d\\x3f\\x93\\x57\\x8f\\x48\\x1f\\x48\\x5f\\x4a\\xf8\\xeb\\x5c\\xfa\\xf5\\x4b\\x0c\\x2b\\x10\\x58\\x52\\x5a\\x7b\\xff\\x9a\\x84\\xff\\xed\\xeb\\x6c\\xfb\\x73\\xed\\xd0\\x5a\\xf2\\x57\\xb9\\xec\\xa2\\x8b\\x6b\\x39\\xc9\\x23\\x0d\\x92\\x46\\x49\\xdb\\xa5\\x56\\x49\\xb8\\x69\\x8e\\xb4\\x84\\x7e\\x7a\\x4f\\x3a\\x29\\x09\\xe4\\x15\\xf9\\x72\\x52\\x3a\\x43\\xbe\\x8c\\xc2\\x1f\\xcf\\x48\\xdc\\x85\\xa3\\xa4\\xb5\\xf8\\x31\\x4b\\x9e\\x32\\x04\\x64\\x94\\x34\\x47\\xe2\\x6c\\x18\\x61\\xf3\\x9f\\x47\\x5f\\x49\\x10\\x37\\x2b\\x3d\\xfa\\x0f\\xac\\x65\\x24\\x97\\x34\\x4b\\xda\\x23\\x1d\\x94\\xde\\x95\\x84\\xc6\\x8b\\xa4\\x91\\xd2\\x22\\xe9\\x1e\\xe9\\x41\\x89\\x27\\x2f\\xae\\xc6\\xaf\\xb8\\xbe\\x48\\x6a\\x90\\x98\\xc9\\x80\\x99\\xfc\\xc4\\x09\\xb3\\x88\\xbb\\x7e\\x22\\x66\\x53\\xda\\x4f\\xea\\xe7\\x89\\x98\\x6e\\xde\\x4e\\x77\\xdc\\x9a\\x18\\x22\\x31\\xb0\\x6e\\xf5\\x2d\\xf5\\x9d\\x07\\xa1\\xf1\\x2d\\x98\\xc5\\x3c\\xc0\\xcc\\x8f\\xdf\\xc1\\x9c\\x88\\x6b\\xf3\\xd5\\xf9\\x99\\x3a\\x9d\\x5b\\xa1\\x7e\\x8d\\xe7\\xd8\\xab\\x98\\xb4\\xe0\\x8f\\xe7\\x31\\xad\\x60\\x9d\\x40\\x9b\\x65\\x16\\x93\\x5b\\x0e\\xb7\\x53\\x9d\\xbe\\x68\\x11\\x9d\\x93\\x19\\xdc\\xd3\\x8c\\x8b\\x3f\\x89\\x78\\x54\\xac\\x04\\x88\\x20\\x83\\xa5\\x56\\x01\\x31\\xf7\\x8d\\xb3\\xa3\\x28\\x22\\xae\\xa1\\x53\\xf8\\x15\\x8a\\x4e\\x48\\x55\\x2b\\x4d\\x50\\x55\\xe1\\xf6\\x42\\xab\\xba\\xf7\\xe8\\x47\\xdc\\xd3\\xe0\\xcb\\x52\\x3f\\xf3\\xd0\\x18\\x52\\xac\\x17\\xcc\\xe6\\x86\\xa1\\x7c\\x54\\x86\\x35\\x83\\x31\\xe1\\xe2\\x62\\x51\\xf4\\xda\\xec\\x3d\\x59\\xd6\\xee\\x0d\\x72\\xe5\\xbd\\xb2\\x02\\x23\\x62\\x59\\xbe\\x30\\x72\\x8a\\xc5\\x23\\x62\\xa2\\xe8\\x44\\x35\\x36\\xb0\\xdb\\x66\\xda\\x18\\x0b\\x6b\\xb3\\x39\\x9d\\x96\\xba\\x18\\x56\\xb1\\x22\\x24\\x8c\\xac\\xad\\x1c\\xb6\\x95\\xc3\\x9a\\x72\\x68\\x2e\\x87\\xc6\\x72\\x68\\x28\\x87\\xba\\x72\\x28\\xa3\\x0f\\x53\\x96\\xb4\\x11\\xf6\\x40\\x2d\\x89\\x98\\x89\\x53\\x2f\\x80\\x16\\xbe\\x91\\xee\\x57\\x21\\xe2\\x1e\\xf1\\xe1\\xd6\\x80\\xe1\\x3b\\x72\\x61\\xa5\\xc0\\x4b\\x85\\x3f\\x5d\\xd9\\xcb\\xb7\\x41\\x51\\xf9\\x40\\xb8\\x00\\x44\\x1b\\xe3\\xf5\\xf8\\x60\\xcb\\x43\\xdb\\x3f\\xf9\\xe9\\x87\\xc6\\x79\\xf3\\x6f\\xb0\\xbc\\xd8\\x13\\x96\\x1c\\x79\\xe7\\xfc\\xfe\\xc1\\xdc\\x41\\x97\\x4e\\x1e\\x27\\x08\\x17\\x3f\\x7b\\xd5\\x1f\\x37\\xc4\\x5e\\x6d\\x5a\\x7c\\x49\\xbd\\xe7\\x89\\x75\\x3b\\x5a\\x05\\xae\\xff\\x92\\x59\\x23\\xaf\\x72\\x42\\xe4\\x85\\xa7\\xd5\\x9e\\x75\\x23\\xc4\\x46\\xc7\\xf4\\xc6\\x5b\\xa7\\xde\\x71\\xd5\\xe6\\x2b\\x62\\x1c\\x53\\x36\\x79\\xc4\\x95\\x0d\\x9a\\xcd\\x7a\\x09\\x8d\\x47\\x38\\x82\\xfc\\x78\\x84\\x26\\x28\\xd5\\xd9\\xbc\\xcd\\x26\\x07\\xb0\\xc6\\x17\\x29\\xe0\\x9d\\x8c\\xd7\\x1b\\xaa\\x8b\\x79\\x1d\\x32\\x32\\x7b\\x99\\xdc\\xba\\x18\\xe3\\xdb\\x5d\\x00\\x35\\x05\\xb0\\xa6\\x00\\x1a\\x0b\\x20\\xa7\\x00\\x3a\\x0b\\xe0\\x44\\x01\\xb4\\x15\\x80\\xc6\\x02\\x67\\xcd\\xd2\\xfa\\xaf\\x6b\\xd4\\x7d\\x53\\xf4\\x69\\xaa\\xc9\\xe6\\x92\\x3e\\x69\\x7e\\x4e\\x22\\xdc\\x8a\\x15\\xc4\\xc3\\xef\\x62\\x53\\x3d\\xfc\\x59\\xea\\xac\\x05\\x0f\\x55\\x30\\x12\\xb3\\x4b\\x68\\xe5\\xb8\\xf2\\x87\\x6f\\x79\\xfb\\xe5\\x97\\xe6\\xdd\\xf1\\xa7\\x95\\xcb\\xee\\x5f\\x36\\x9f\\xc9\\x8b\\xbf\\x19\\xfb\\x63\\x4e\\x93\\xb9\\xf7\\x4e\\xee\\x5b\\x35\\x76\\xe1\\x95\\xd3\\xae\\x52\\xbf\\x51\\x3f\\xff\\xe2\\x50\\xfb\\xe7\\xef\\xbf\\x75\\x18\\xd3\\x0d\\x9e\\x6b\\xf6\\x4d\\x3c\\xd7\\x19\\x68\\x8a\\x72\\x31\\x92\\x3d\\x6e\\x41\\x14\\xdd\\x32\\x1b\\x0c\\x39\\xfc\\x75\\xb1\\x1c\\x4f\\x93\\x67\\xb5\\xe7\\xb8\\x87\\xf3\\x78\\x1c\\x8e\\xb0\\xd0\\x28\\x34\\x0b\\xed\\xc2\\x09\\x01\\xb3\\x2f\\x87\\xd0\\x40\\xbf\\xb6\\xe1\\x07\\xa2\\x89\\x15\\x04\\xb3\\x99\\xad\\x8b\\x99\\x7d\\x39\\xe9\\xfe\\x84\\x1b\\x89\\xa9\\x38\\xdd\\x36\\x0c\\x9a\\x3b\\xcb\\x4f\\x5d\\xd4\\x34\\xd4\\xc8\\xd0\\xea\\xc0\\xbd\\x6c\\x79\\x43\\x8b\\x7d\\xaf\\xf7\\xc4\\x13\\x5f\\x9c\\x3a\\x7d\\xe2\\x91\\x8f\\x33\\x9f\\xb3\\xcd\\x9a\\xbe\\xba\\x99\\xc9\\xfb\\x6b\\xfb\\xb4\\xeb\\xac\\x9b\\x9e\\x87\\x1c\\x70\\x83\\x13\\x72\\x9e\\x58\\x6f\\xbb\\x6a\\xc6\\x7e\\x6d\\x2e\\xc6\\xe0\\xf6\\x9f\\xc2\\x73\\x41\\xe2\\x2b\\xc6\\x28\\xbd\\xb2\\x90\\xcd\\x66\\xf7\\x0b\\x76\\x21\\x92\\xef\\xf2\\xda\\x10\\x16\\x81\\x24\\x29\\x5c\\x17\\x93\\x1c\\x6c\\xb0\\x2e\\xc6\\xfa\\xd6\\x44\\xa0\\x31\\x02\\x39\\x11\\xe8\\x8c\\xc0\\x89\\x08\\xb4\\x45\\xf4\\x59\\x48\\xb1\\xe2\\x63\\xb2\\xab\\x49\\x9f\\x84\\x02\\xbd\\xa9\\x44\\xff\\xac\\x28\\x22\\xb3\\xe0\\xcf\\xef\\x89\\x39\\xbe\\x27\\x19\\x26\\xc2\\x56\\xd1\\x61\\x87\\xbb\\x16\\x6c\\x2f\\x67\\x98\\x56\\xe1\\x09\\x56\\x8c\\xff\\x6d\\xde\\x1d\\xf7\\xaf\\x58\\xb1\\x7e\\xd9\\xfc\\x5d\\xd3\\xae\\x02\\x0f\\x04\\x98\\xde\\x57\\x5d\\x3d\\x1f\\x5e\\x3e\\xeb\\xde\\xd9\\xdb\\x31\\xe7\\x7c\\x68\\xfc\\xe2\\xd0\\x7b\\xc7\\x3f\\x7c\\xe3\\xb0\\xbe\\xde\\x02\\x78\\x0e\\x5c\\x78\\x16\\x6e\\x56\\x2e\\x71\\x3b\\x05\\x31\\x03\\x21\\xab\\x55\\x74\\xb2\\xa1\\xa0\\x80\\xc5\\x8e\\x0c\\x54\\x17\\x93\\x33\\xb0\\x56\\x9c\\x91\\x61\\xb2\\xdb\\x7d\\x75\\x31\\xbb\\xc3\\x84\\x87\\xdb\\xe4\\x6b\\x0f\\x41\\x5b\\x08\\xb6\\x85\\x60\\x4d\\x08\\x9a\\x43\\xd0\\x18\\x82\\x86\\x10\\xd4\\x85\\xa0\\x2c\\x04\\x37\\x76\\x5d\\x5f\\x69\\xe1\\x11\\x81\\xe8\\x39\\x2a\\xb7\\x36\\x2d\\x4c\\xae\\x36\\x2b\\x61\\xa7\\xb7\\x88\\xce\\x8a\\x08\\x9e\\x0d\\x6b\\x6f\\x5a\\x95\\xb1\\x65\\x92\\xba\\xe3\\xf4\\xd9\\xb3\\xff\\x86\\x4f\\x9e\\xb7\\xaf\\xb9\\x63\\xf1\\xfd\\x02\\xfc\\xf7\\xf9\\x37\\x27\\xd6\\xf6\\xe8\\x44\\x90\\x0d\\x41\\xb0\\x42\\x76\\xfc\\xe5\\xc0\\x8a\\xc7\\x37\\x3f\\xa5\\xc5\\x44\\x61\\x61\\x8a\\x19\\xc0\\xbf\\x89\\xbc\\x68\\xb5\\x32\\x4d\\x76\\x83\\x80\\x25\\x29\\x2f\\xe7\\xe5\\xfc\\x3e\\xb3\\x1d\\x13\\x0a\\x42\\xac\\x80\\x7b\\xe0\\x16\\xec\\xe0\\xcd\\xf1\\x47\\xfd\\xc3\\xfd\\xf5\\xfe\\x26\\xff\\x6a\\xff\\x56\\xbf\\x68\\xf7\\xd7\\xe0\\x8f\\x4f\\xf9\\x0f\\xf8\\x8f\\xfb\\x4f\\xf9\\xc5\\xfe\\xf5\\xf8\\x13\\xa3\\xbd\\x63\\xed\\x18\\xf4\\x29\\xfa\\x9c\\xf7\\x2b\\x63\\x26\\xd7\\xfa\\x95\\xa2\\xd2\\xda\\xb0\\xbf\\xcc\\xdf\\xe0\\x67\\x15\\x3f\\xe6\\x29\\x25\\x25\\x1a\\xdb\\x25\\x72\\x82\\xb1\\x57\\xe3\\xc9\\x2c\\xa7\\x96\\x93\\x0a\\x2d\\x30\\x05\\x8b\\x09\\xf9\\x55\\x15\\x34\\x3a\\xc2\\xef\\x25\\xb3\\x97\\x05\\x15\\x5e\\x98\\xde\\xfa\\xa7\\x3f\\x2d\\xba\\x7d\\x68\\x65\\x8f\\xfc\\x8b\\x07\\x1e\\x63\\x9f\\xed\\x18\\xcc\\x3e\\xbb\\xf8\\x96\\xb5\\x8b\\xac\\xcb\\xa5\\x4b\\xc6\\x4f\\x5a\\xac\\xd1\\x9a\\x3a\\x96\\x3d\\xc5\\x0d\\x45\\x61\\x2c\\x6d\\x6f\\x55\\x26\\xe7\\xfa\\x4d\\xa6\\x1c\\x8e\\x3d\\xcf\\xe9\\x64\\x73\\xd8\\xb2\\x68\\xa6\\xdd\\x6f\\xf6\\xd8\\x3c\\x05\\x75\\x31\\x8f\\xc3\\x56\\x52\\x17\\xb3\\xf9\\x90\\x88\\x39\\x01\\x07\\x02\\x07\\x16\\x0e\\x85\\x94\\x32\\x08\\x97\\xc1\\xd1\\x32\\xd8\\x5d\\x06\\x6b\\xe8\\x67\\x54\\x06\\x75\\xc7\\xcb\\xa0\\xad\\x0c\\x86\\x97\\xc1\\xb6\\x32\\x68\\x2e\\x83\\x68\\x19\\xd8\\xcb\\xe0\\x74\\x19\\xb4\\xd3\\x0f\\xd2\\x44\\x5d\\x50\\x4a\\x88\\x44\\xd4\\x51\\x3a\\x51\\x8f\\x65\\x4a\\xa1\\xd9\\xb4\\xe9\\xa4\\x2e\\xbb\\xc2\\x22\\x62\\x40\\x09\\x3b\\xab\\xf2\\x53\\x97\\x5a\\x45\\x65\\xef\\xea\\x0a\\xc1\\xeb\\x74\\xb0\\x95\\xba\\x29\\x85\\x06\\x86\\x30\\x91\\xa7\\xdf\\xcd\\x7e\\xc6\\xb5\\x60\\x32\\xc8\\x4c\\xc5\\x9e\\x9b\\x5f\\x7f\\xe1\\xf0\\xdb\\xb3\\x77\\xf6\\x64\\x24\\xee\\x71\\xe1\\xcf\\xb5\\x8b\\xaf\\x58\\x71\\xdb\\xdc\\xd5\\xa3\\x97\\xd4\\xaa\\x63\\x57\\x36\\x07\\x87\\x8e\\x80\\xfe\\xbb\\xa6\\x4d\\x07\\x09\\x42\\xc4\\x00\\x3a\\x7d\\x52\\xf6\\x5a\\xb1\\xf7\\x63\\x1d\\xaf\\xaa\\x7d\\xd8\\xd7\\x96\\x1c\\xb8\\xe6\\x8d\\x13\\x9f\\x1e\\x9c\\xfc\\x02\\xa5\\x81\\xbb\\xf0\\x2c\\x7f\\x87\\xd7\\x66\\x00\\x35\\x28\\xfd\\xbd\\x4e\\xa7\\x4b\\x12\\x5d\\x62\\x46\\xd0\\x8d\\x1f\\xbb\\x44\\x2f\\x2b\\xe3\\x15\\xe9\\x68\\x0f\\x42\\x5b\\x10\\x76\\x07\\xe1\\x34\\xfd\\xdd\\x19\\x84\\x13\\x41\\x48\\x3c\\xdc\\x16\\x84\\xc6\\x20\\x24\\x04\\xc6\\x59\\x06\\xb7\\xc4\\xf2\\x5e\\x4d\\xba\\xe5\\x51\\x0b\\x7c\\xc3\\x53\\xab\\x77\\x8b\\x7a\\x04\\x88\\x79\\xec\\x82\\x7e\\x0f\\x2d\\xdc\\xfd\\xe8\\x33\\xe7\\x37\\x8c\\x6e\\xba\\xbf\\xb5\\x55\\x04\\xb6\\x65\\xc6\\x1f\\x9f\\x7a\\x27\\x1e\\x65\\x76\\xcd\\x9a\\x59\\xb9\\xfb\\xbe\\xf8\\x22\\xfe\\x88\\x7a\\xdb\\x05\\x8b\\xcc\\x78\\x7e\\x97\\xe3\\x46\\x5f\\x40\\xe5\\x2a\\x11\\xdd\\xa0\\xd4\\xb2\\xa2\\xa8\\x05\\x72\\xd8\\x39\\x2f\\xa0\\x2b\\xf0\\xee\\xab\\x59\\x54\\x8e\\x9b\\xa0\\x8d\\xda\\x74\\xb6\\x52\\x6b\\x4c\\xa3\\x61\\xa3\\x39\\x9d\\xf2\\x4a\\x33\\xb9\\x0c\\xa7\\xaf\\x26\\x9c\\x23\\xe2\\xea\\x2c\\x3f\\x25\\x88\\x95\\x86\\xc7\\xe0\\x16\\x2f\\x6f\\x6d\\x6d\\xe5\\xc3\\x4f\\x3c\\xf1\\xeb\\x09\\xae\\xdf\\xd9\\xd7\\x10\\xd3\\xf9\\x0e\\x96\\xdb\\xb4\\x36\\x39\\xd0\\x7f\\x95\\x27\\xcc\\x24\\x5b\\x00\\xde\\x64\\x5d\\x76\\xbb\\x88\\xf7\\x59\\x31\\xa4\\x35\\xec\\xa8\\x0b\\x0e\\xb8\\x60\\xb5\\x0b\\x90\\x0b\\x66\\x9e\\x72\\x41\\x3b\\xfd\\x52\\xe3\\x82\\x4e\\x17\\x3c\\xe5\\x82\\xad\\xf4\\xeb\\x4c\\xc3\\x7f\\x53\\x46\\x5d\\x38\\xc7\\x5d\\xb0\\xdb\\x05\\xdb\\xa8\\x37\\x7e\\x38\\x05\\x8e\\xd2\\xf2\\x17\\xe0\\x32\\xa7\\xe8\\xeb\\xa3\\x14\\x02\\xbf\\x6e\\x76\\x41\\xa3\\x0b\\x72\\x5c\\x60\\xa7\\x18\\xb5\\x57\\x07\\x28\\x6a\\xad\\x30\\x7e\\x78\\x82\\xd6\\xda\\x96\\x02\\x9c\\x2e\\xe7\\x77\\x23\\xdb\\x77\\xd5\\xdf\\x12\\xa6\\x6f\\xdd\\x0d\\x63\\xac\\x58\\x32\\x38\\x4e\\x12\\xbf\\x55\\x54\\xe5\\xa7\\x46\\x9e\\xe5\\xad\\xf3\\xe6\\x5d\\x5e\\x3e\\xf0\\xe2\\x3e\\xda\\x58\\x5d\\x75\\xff\\x0a\\xd3\\x4a\\xa1\\x76\\x1a\\xf7\\xb0\\x26\\x9f\\xae\\xc0\\x32\\x3e\\xc9\\x96\\x60\\x41\\xab\\x94\\xa9\\x58\\xca\\x36\\x9b\\xcc\\x1c\\xb2\\x10\\x11\\x9f\\x93\\xad\\x39\\x72\\x8d\\xcc\\x90\\x5f\\xf5\\x72\\xa7\\xcc\\xd9\\x65\\xed\\x63\\x93\\xcc\\xf7\\x95\\x95\\x2b\\xc6\\xd4\\x36\\xc8\\xcd\\xf2\\x36\\xb9\\x4d\\x6e\\x97\\xf9\\xe3\\x44\\xd9\\xd5\\xbe\\x73\\x48\\x76\\x60\\x25\\x55\\xd1\\x5f\\x9e\\x90\\x4f\\xcb\\x26\\x91\\x01\\xd1\\xcc\\x49\\x76\\x2c\\x9b\\x79\\x31\\x9b\\xc3\\x3b\\x78\\x8d\\xbf\\x2f\\x4c\\x24\\x64\\x4a\\x85\\x3f\\x8d\\xe5\\x94\\x13\\xdd\\xa4\\xef\\xb9\\x8e\\x2a\\xb6\\x4c\\xbd\\x67\\x49\\x6b\\x2b\\x7c\\x7c\\x4c\\x1d\\x0c\\xef\\xc0\\x77\\xd7\\xab\\x4d\\xfc\\x91\\x8e\\x49\\x8c\\xac\\x46\\xe3\\xeb\\xb5\\x3e\\xc0\\x40\\x3a\\xef\\x73\\x95\\x11\\x2c\\xb9\\x2f\\x1f\\x4b\\xf9\\xde\\xd3\\x3c\\x9c\\xe0\\xe1\\xb8\\xe1\\x19\\xdc\\xca\\x43\\x33\\xf5\\x03\\xe6\\xf0\\x60\\xa7\\x9e\\xc1\\xe3\\x29\\x4e\\xc3\\x35\\x3c\\x0c\\xe7\\xa1\\x93\\x16\\x69\\xa7\\xcf\\x13\\xc0\\xbf\\x35\\x35\\x5d\\xbc\\x84\\x2b\\x5a\\xf9\\x23\\xbf\\x56\\xd2\\x31\\x5d\\x86\\x90\\x90\\x8f\\xf7\\xa8\\x62\\xb8\\x4d\\xe9\\x0c\\x14\\x23\\x94\\x6b\\xca\\x0d\\xbb\\x24\\x53\\xd8\\x54\\x72\\x7e\\x26\\xe6\\x79\\x99\\x8e\\x80\\x13\\x79\\xbd\\x1c\\x91\\x7d\\xac\\xf6\\x5c\\x13\\xf2\\x4e\\x2e\\x81\\xa1\\x25\\x50\\x43\\x2e\\x83\\x80\\x9c\\x12\\xb0\\x97\\xc0\\xd7\\x25\\x70\\xbc\\x04\\x5e\\x28\\x81\\xc7\\x4b\\x60\\x65\\x09\\x2c\\x28\\x81\\x99\\x25\\xd0\\x9f\\xbe\\xb5\\x94\\xc0\\x0c\\xfc\\xfa\\x2d\\xfa\\xfa\\x29\\xfa\\xba\\xa9\\x04\\xc6\\x95\\xc0\\xf0\\x12\\x08\\x95\\xc0\\xd9\\x12\\x38\\x45\\x0b\\x27\\x00\\xd6\\x96\\x80\\x56\\x41\\x09\\x05\\xe0\\x4a\\xe0\\x4c\\x09\\x7c\\x6c\\xa0\\xc6\\x65\\xaf\\x2d\\x81\\x4a\\xfa\\x0a\\x57\\xdc\\xf7\\x2c\\x7d\\x87\\x4b\\x6e\\xa3\\x25\\xe7\\x50\\xd4\\x43\\x8d\\xa6\\x59\\x68\\x05\\x5a\\xf5\\xdb\\x69\\xbb\\xb4\\xb7\\x21\\x8a\\xb4\\xbd\\x04\\x98\\x36\\x5a\\x72\\x4d\\x09\\x34\\x90\\x16\\x61\\x75\\xb0\\xac\\x04\\xa2\\x25\\x80\\x4a\\x34\\x0e\\xad\\x2b\\xa9\\xe7\\xba\\xbf\\x52\\x15\\xd9\\x6e\\xb5\\xdd\\x73\\xf4\\x61\\xcc\\xdd\\xcb\\x6b\\x12\\x5c\\xbd\\x24\\x25\\x92\\xd6\\xd5\\xd7\\xf0\\x93\\x15\\xea\\x0c\\xae\\xb2\\xa8\\x22\\x9b\\xf1\\x53\\x89\\xd0\\xa7\\xff\\xa1\\x8f\\xb5\\xf7\\x2c\\x1a\\xd3\\x38\\xfb\\xf6\\x3f\\x0b\\x8f\\x01\\xc3\\x32\\x6c\\xbf\\x75\\xd7\\x2d\\x58\\x9d\\xc9\\xf6\\xd9\\x7a\\xe3\\xf6\\xfb\\xf6\\x8c\\x69\\x9c\\xbb\\x98\\xd9\\xb5\\x79\\xde\\xee\\x6d\\xf1\\x55\\xec\\x15\\x2f\\x9d\\xcf\\x97\\xf6\\x1d\\x3e\\xfb\\xaa\\xab\\xaf\\xbd\\xbe\\x61\\xcf\\x5b\\x84\\x33\\x6e\\x9e\\xf7\\xd4\\x03\\xf1\\x55\\xc6\\xbc\\xb3\\xdf\\xe1\\x79\\x0f\\xa2\\x49\\xca\\x00\\x97\\xc9\\x64\\x46\\x41\\x73\\x30\\x94\\xe9\\xf2\\x21\\x1f\\x5f\\x17\\xf3\\x39\\x64\\xbb\\x19\\x79\\xdb\\x33\\xa1\\x2d\\x13\\x76\\x67\\xc2\\x69\\xfa\\xbb\\x33\\x13\\x4e\\x50\\x7f\\xa7\\xf6\\x70\\x1b\\x75\\x88\\xa6\\x33\\x71\\xa3\\x8f\\x69\\x4c\\x3c\\x37\\x85\\x79\\xa7\\xf6\\x0d\\xf7\\xa5\\xef\\xf9\\xe3\\x63\\x8b\\xd6\\xb5\\xea\\x9d\\x19\\xf8\\xd0\\xfc\\x3d\\x0f\\x33\\xbb\\xae\\x9d\\x5b\\xb9\\x67\\x4b\\xb2\\x07\\x8d\\x13\\x9e\\x3e\\x12\\x8f\\x6a\\x32\\x21\\x97\\x85\\xdb\\x6c\\xc6\\x52\\x61\\xad\\x52\\xea\\xa4\\xde\\x2c\\x7f\\x40\\xb2\\x51\\x41\\xd0\\x43\\x04\\xc1\\x6d\\x01\\x58\\x13\\x00\\xcd\\xef\\xd2\\x10\\x80\\xba\\x00\\x94\\x05\\xe0\\x78\\x20\\xc1\\xab\\x7f\\x3b\\x4e\\x3e\\xb7\\xab\\xf4\\xfd\\xeb\\x77\\xdf\\x7e\\x0f\\xff\\xf8\\xf9\\xab\\x97\\x96\\x6e\\xde\\xb2\\x6a\\xe5\\x7d\\x0f\\xae\\x64\\xb2\\xd5\\x93\\xea\\x57\\x90\\x0b\\x4e\\xa6\\x4c\\x3d\\xa5\\x7e\\x76\\xe2\\xad\\xa3\\x7f\\xff\\xe0\\xc3\\x76\\x5d\\x77\\x50\\xc7\\xe2\\xb6\\x5d\\x4e\\xe3\\x40\\xb1\\xee\\x10\\x40\\x39\\x4e\\x49\\x32\\x21\\x53\\x61\\x81\\x93\\xf3\\x32\\x9a\\xee\\x60\\xb5\\x4b\\x21\\x26\\x8f\\xea\\x0e\\x85\\x50\\x53\\x08\\x6b\\x0a\\xa1\\xb1\\x10\\x72\\x0a\\xa1\\xb3\\x10\\x4e\\x14\\x42\\x5b\\xe1\\xff\\xd2\\x1d\\xf4\\x06\\xe7\\xe6\\x15\\xe5\\xfb\\x12\\x83\\xe9\\x4d\\x51\\x1d\\x8c\\xa8\\x32\\xa2\\x3b\\xfc\\x3a\\x86\\xe7\\x5a\\x85\\x5d\\xc0\\xf1\\x5c\\xd9\\x96\\x96\\x37\\x5e\\x7b\\xe9\\x96\\xa5\\xd7\\xce\\xaf\\x59\\x76\\xff\\xed\\x0b\\x88\\xf2\\xf0\\xa2\\xf4\\xa0\\x1a\\xe3\\x85\\x47\\x7b\\x73\\xbd\\xa6\\xb8\\x27\\x4f\\x50\\xcf\\xa8\\x9f\\x7c\\x7e\\xf0\\xaa\\x03\\xf7\\xbf\\xff\\xe6\\xab\\x09\\x99\\xe8\\x34\\x1e\\x6b\\x22\\x7f\\xdf\\xae\\x8c\\xf2\\x4b\\x4e\\xa7\\x23\\x8b\\x75\\xb0\\x91\\x7c\\x47\\xc8\\xea\\x90\\xdc\\x3c\\xe2\\xb1\\xe4\\xcd\\x3b\\x50\\x98\\xe8\\x83\\x4a\\x04\\xc2\\x11\\x38\\x1a\\x81\\xdd\\x11\\x58\\x43\\x3f\\xa3\\x08\\x96\\x81\\xa8\\x24\\x3e\\x3c\\x02\\xdb\\x22\\xd0\\x1c\\x81\\x68\\x04\\xec\\x11\\x38\\x1d\\x81\\x76\\xfa\\xa1\\x7b\\x19\\xe8\\x77\\xe4\\x75\\x3e\\x21\\xac\\xeb\\xb2\\x4e\\xbe\\x93\\x84\\xe0\\xb9\\x53\\xcf\\x66\\x9d\\x7c\\xa7\\x0d\\x0b\\xeb\\xdb\\x7a\\x63\\x09\\xe7\\x49\\xb1\\x95\\x63\\x7a\\x6f\\x79\\x77\\xc5\\xfa\\xe5\\xf3\\xe6\\xdf\\x7e\\xff\\x0a\\x0f\\xf8\\xc0\\xc7\\xf4\\x1e\\x7b\\x4d\\xf6\\xbd\\x7c\\xff\\x6f\\xce\\xf6\\x86\\x67\\xb7\\x5f\\x3b\\x8e\\x19\\x78\\xec\\xc8\\x91\\xe3\\x5f\\x1c\\xfa\\x9b\\xbe\\x26\\x98\\x65\\xb8\\xcf\\x6e\\x72\\xc2\\x52\\x70\\x63\\x79\\xc6\\xea\\xf1\\xda\\x05\\xb3\\x83\\xb3\\x6b\\x1b\\x41\\x45\\xaa\\x87\\xa2\\x82\\x0c\\xbf\\x4f\\x1b\\x7d\\x4d\\xde\\xf4\\x3a\\xef\\x12\\x1e\\x93\\xb8\\x92\\xc6\\x29\\x91\\x82\\xc8\\x80\\xc6\\xb9\\xec\\xc0\\x59\\x2b\\xf6\\x15\\xac\\x9c\\x62\\x7e\\xd8\\xfc\\x72\\x6b\\xfc\\x08\\x5d\\x77\\x7d\\xb1\\x5e\\xb3\\x17\\xcb\\x9a\\xe7\\xa3\\xc9\\xca\\x00\\x51\\xc8\\xf3\\x66\\x86\\x64\\x84\\x42\\x5e\\x81\\x2b\\x29\\x95\\xf3\\xd8\\x40\\x20\\x07\\xf3\\xdc\\x80\\x83\\x35\\x63\\x21\\x80\\xf5\\x39\\x4a\\x01\\x95\\xc2\\xe9\\x52\\x38\\x51\\x0a\\x6d\\xa5\\xd0\\x50\\x0a\\xcd\\xa5\\x50\\x53\\x0a\\xf8\\x79\\x62\\xf0\\xf4\\xf3\\x05\\x15\\xbf\\x13\\x1e\\x5d\\x64\\xb8\\xdc\\x0a\\xa3\\xd0\\x53\\x8b\\x1f\\x4e\\x77\\xb9\\xb1\\xec\\xde\\x7f\\xb6\\xbf\\xf9\\x71\\xee\\x56\\xff\\x9a\\xe6\\xe5\\x4d\\x57\\x5e\\xdd\\xb2\\x71\\xf1\\x90\\x63\\x6f\\xfe\\xf9\\x58\\xe6\\x83\\xf6\\xc5\\x37\\xdc\\x32\\xa7\\x6c\\xe2\\xfa\\xd5\\xb7\\x0d\\x3e\\x0f\\x4a\\xee\\x7f\\x64\\xe9\\xaa\\x9c\\xb1\\x23\\x46\\x8d\\x52\\xea\\x82\\x79\\xe7\\x5d\\x7e\\x43\\xdd\\xda\\x8d\\xb7\\xad\\xf4\\xd4\\x5e\\x3e\\x64\\x68\\xcf\\x01\\xe7\\x17\\x44\\x2e\\x18\\x32\\x89\\xf4\\x31\\xa7\\xf3\\x34\\x83\\x57\\x2e\\xf2\\xa0\\x8b\\x95\\x88\\xec\\xf1\\x58\\xec\\x76\\x13\\xc7\\xf9\\xbc\\x36\\x5e\\xc2\\xbc\\xc5\\x62\\x37\\x81\\x95\\x35\\x29\\x92\\x9d\\x71\\x91\\xb5\\xd0\\xec\\x33\\xa2\\xad\\x82\\x6f\\x13\\xbb\\xba\\x11\\x71\\xae\\x49\\x09\\x34\\x20\\x18\\xf7\\xa1\\x8a\\xc8\\xf6\\xd5\\x15\\xde\\x0a\\x6f\\xbe\\x66\\x16\\x60\\xce\\x8f\\x4d\\xf8\\xeb\\xc2\\x25\\x55\\xf3\\xde\\x78\\xa3\\xa2\\x26\\x32\\x48\\x0a\\xfc\\xc8\\xbc\\xbb\\xf8\\xfb\\xef\\x17\\xc7\\x47\\x0f\\xab\\xb1\\x69\\xf2\\xc2\\x52\\x3c\\xd6\\x5f\\x73\\xfd\\x30\\x8f\\xab\\x57\\xfa\\xbb\\x24\\xc9\\x02\\x19\\x96\\x8c\\xcc\\x90\\x8b\\xa7\\x2c\\xce\\x27\\x7b\\x4d\\xc8\\xfe\\xff\\x91\\xc5\\xa1\\x8a\\x74\\x31\\xd5\\xe9\\xd1\\x63\\x63\\x34\\x2d\\x92\\x29\\xd2\\x63\\x43\\x9d\\xd0\\xef\\x5c\\x0e\\xc7\\xf5\\x8b\\x8f\\xa4\\x3c\\x8e\\x99\\xdd\\xf1\\x64\\x92\\xc7\\x31\\x7f\\xc1\\x6d\\x16\\x31\\x5f\\xfe\\x05\\xb7\\xd9\\x0c\\xe3\\x95\\x9f\\x01\\x09\\x26\\x33\\xcb\\x30\\x82\\x99\\xb5\\x58\\x4d\\x8c\\x5d\\x00\\xef\\x46\\x2b\\x2c\\xb1\\x42\\x83\\x15\\x46\\x59\\x61\\x90\\x15\\xc2\\x56\\xf0\\x58\\x81\\xb3\\xc2\\x09\\x2b\\xbc\\x67\\x85\\x43\\x56\\xd8\\x66\\x85\\xb5\\xe9\\x30\\x1a\\xc0\\x54\\xed\\xb5\\xf6\\x2e\\xf5\\xc5\\xc7\\xf4\\xb9\\x86\\x77\\x1c\\x7d\\x1e\\x4a\\x7f\\xbe\\x92\\x3e\\x1f\\x4a\\x9f\\x5b\\xac\\x50\\x8d\\x5f\\xbc\\x95\\xfe\\xa2\\xe6\\xff\\xd6\\x90\\x04\\xcc\\xb9\\x00\\x4c\\x9d\\x15\\xa2\\x56\\x70\\x58\\x01\\x59\\x75\\x17\\x66\\xfd\\xef\\x6c\\xaf\\xbf\\x1d\\x99\\xd2\\x7d\\x60\\x4a\\x45\\x4d\\x97\\x13\\x16\\xb9\\x9a\\xa3\\xa6\\x06\\xdc\\x15\\xcc\\x35\\xef\\xab\\x37\\xb7\\x7d\\x27\\xf7\\xc9\\x2f\\xfa\\xe9\\x00\\x9e\\x1a\\xe5\\xbc\\x57\\x6f\\x9a\\xcb\\x1c\\x44\\xd0\\x19\\xc7\\xe2\\xd9\\x11\\x72\\x5b\\x15\\xec\\x52\\x3a\\x01\\x39\\x45\\xc1\\x6a\\xb7\\xb1\\x6e\\x93\\x95\\x75\\xb2\\x1e\\x49\\xf4\\x60\\xdd\\x5a\\x92\\xc0\\x22\\x79\\x59\\x9b\\x9b\\x95\\xec\\x60\\x75\\xb2\\xa2\\x77\\xae\\x0f\\xa6\\xf8\\x60\\x94\\x0f\\x2e\\xf1\\x41\\x6f\\x1f\\x44\\x30\\xd3\\xf1\\x01\\xe7\\x83\\x33\\x3e\\xf8\\xd2\\x07\\x87\\x7c\\xb0\\xc7\\x07\\xdb\\x7d\\xb0\\xce\\x07\\xb7\\x1b\\x90\\x83\\x28\\xa4\\xc7\\x07\\x82\\x0f\\xa6\\xff\\xe4\\x83\\xcf\\x7d\\xf0\\x9e\\x0f\\x5e\\xf3\\xc1\\x5e\\x0a\\xb7\\xc4\\x07\\x73\\x28\\x68\\x2a\\x46\\xc1\\xc0\\xb8\\x97\\xa2\\x5b\\x4b\\xd1\\x4d\\xf7\\xc1\\x18\\x03\\x1d\\x06\\x38\\xe9\\x83\\x0f\\x68\\x95\\x18\\xe6\\x11\\x1f\\x2c\\xf7\\xc1\\x2c\\x1f\\x40\\x03\\xad\\x33\\x42\\x1b\\xd5\\xe7\\x0c\\xad\\xea\\x10\\xc5\\xd1\\x4c\\xeb\\x19\\xea\\x83\\x32\\xfa\\x1a\\xb7\\xe7\\x2c\\x7d\\xb5\\x8d\\xa0\\xc7\\x5a\\xee\\x02\\x1f\\x4c\\xa6\\xd8\\x2b\\x7d\\x10\\xf2\\xc1\\x69\\x5a\\xc1\\x5b\\x3e\\x68\\xa5\\xd5\\x2f\\xa1\\x6f\\x6b\\x7c\\xc0\\x38\\x7c\\x80\\x7c\\x94\\xbd\\xd7\\x77\\xab\\x11\\x9c\\xeb\\x71\\x9e\\xf0\\x9b\\x0e\\x83\\x74\\x7f\\x41\\x72\\x42\\xfd\\x15\\xf8\\x7f\\x2c\\x70\\x13\\x8f\\xc1\\x04\\xe2\\x1e\\xa2\\x81\\xc5\\x89\\x98\\xa3\\x7c\\x36\\xe9\\x8c\\xab\\x76\\x57\\xb8\\xc9\\x2f\\x6e\\xdd\\x5f\\x5e\\x8a\\x98\\x0a\\x9f\\x6b\\x57\\xff\\xb2\\xe7\\x59\\x31\\xe2\\xfc\\xfc\\xe5\\x97\\x7a\\xe6\\xbc\\xbd\\x9b\\x89\\xef\\xec\\xb1\\x33\\x5e\\x86\\x27\\x3e\\x37\\xb0\\x6b\\x08\\x3b\\x2e\\x9e\\xb1\\x7f\\x25\\x1b\\xa4\\xfc\\x83\\x24\\x0d\\xfb\\x0a\\xcf\\xbf\\x05\\x46\\x29\\xdb\\x48\\xfc\\x9a\\x99\\x03\\x91\\x78\\xe0\\x58\\x5e\\x34\\x59\\x78\\xd9\\xba\\x44\\x86\\xb9\\x32\\x0c\\x92\\x89\\xd7\\x8b\\xed\\x4d\\xdd\\x68\\x3e\\xea\\x28\\xfb\\x49\\x86\\x93\\x32\\x7c\\x40\\x9d\\x69\\x7b\\xa9\\xb7\\x6c\\xae\\x7c\\xbb\\xbc\\x4e\\x66\\x27\\xcb\\x20\\xc8\\x3e\\xb9\\x50\\xbe\\x44\\x1e\\x23\\xf3\\x53\\x05\\xfa\\x97\\xbc\\x79\\x4d\\xfe\\x40\\xfe\\x52\\x96\\xee\\x97\\x3f\\x92\\x19\\x0c\\x34\\x86\\xa0\\x85\\x54\\x94\\xe4\\xf5\\x4f\\x32\\x7b\\x88\\x20\\x28\\x94\\x7b\\xe3\\x82\\x5c\\xf5\\x14\\xf9\\x11\\x79\\x2f\\x7d\\xce\\xcb\\xc4\\x70\\xde\\xfb\\x82\\x8b\\x6a\\xfb\\xca\\x90\\x27\\x03\\x10\\xc5\\x86\\x39\\x43\\x02\\x22\\xdb\\xb1\\x5a\\xc3\\xb6\\x12\\x7f\\xdd\\x1a\\xac\\xe4\\xb0\\x73\\x68\\x54\\xe4\\x28\\xc3\\xb1\\x17\\x96\\x81\\x16\\xcd\\x73\\x05\\x6a\\xb7\\x51\\x9f\\x9d\\x43\\xae\\x93\\x1b\\x65\\x02\\x2d\\x60\\x3d\\x08\\x38\\x91\\x65\\x24\\xc1\\x8e\\x18\\x6f\\x22\\x4c\\x8f\\x78\\x5b\\xeb\\x27\\x94\\xa4\\xcc\\x59\\xfd\\xac\\x59\\x25\\xb3\\x26\\xa6\\x2e\\xc7\\x73\\xe4\\xe3\\xa4\\x0f\\xaf\\xa2\\x1b\\x3f\\x1e\\x9b\\xab\\x7e\\xa2\\x7e\\x7c\\x10\\x5a\\xd4\\xbb\\x5f\\x07\\x1b\\x58\\x0f\\xab\\x77\\xc3\\xed\\xf0\\xa2\\x3a\\x88\\x29\\x65\\x6c\\xea\\x38\\x78\\x38\\x7e\\x26\\xfe\\x2e\\x99\\x13\\x1e\\xcb\\x25\\x1d\\x78\\x4e\\x7c\\x24\\x23\\x86\\x5b\\xb2\\x3b\\x5d\\x66\\x93\\x89\\xb5\\xbb\\xb8\\x80\\x5f\\x72\\xdb\\xdd\\x7e\\xa7\\xc9\\x8e\\x30\\x77\\x47\\xa1\\x7b\\x02\\xb0\\x28\\x00\\x73\\x02\\x30\\x39\\x00\\x23\\x03\\x70\\x51\\x00\\x2a\\x03\\x10\\x09\\x80\\x2b\\x00\\x4c\\x00\\xce\\x04\\xe0\\x64\\x00\\xde\\x0d\\xc0\\xc1\\x00\\xb4\\x06\\x60\\x7b\\x00\\x52\\xe1\\xc7\\xa4\\xc0\\xfb\\x28\\xfc\\x54\\xad\\xc0\\x07\\x29\\x05\\xd6\\xfd\\x6e\\x81\\x54\\x78\\xd8\\x1d\\x00\\x2c\\x98\\xae\\x0d\\xc0\\x12\\x43\\x30\\x1d\\x15\\x80\\x41\\x54\\x36\\x0d\\x07\\xc0\\x13\\x00\\x2e\\x00\\xa7\\x03\\x70\\x22\\x00\\xef\\x05\\xe0\\x50\\xe0\\xff\\x04\\x5f\\x7d\\x22\\xa0\\x5c\\xa5\\xc3\\x27\\x80\\x13\\x90\\x09\\xb0\\x04\\xce\\x54\\x18\\xa6\\xce\\xc0\\x85\\x02\\xd0\\x66\\x88\\xcc\\xf8\\x61\\x34\\x00\\x0e\\xfa\\x30\\x11\\x45\\x42\\xa6\\xae\\x3b\\x07\\xf9\\xef\\x66\\xc2\\xa8\\x3f\\x77\\x21\\xff\\x8f\\x7c\\x18\\x5a\\xf8\\x87\\x1e\\x3c\\x98\\xc2\\xa7\\xdd\\x79\\x45\\x55\\x78\\xb7\\xaf\\x01\\xbc\\x94\\xb1\\xde\\x80\\x97\\x31\\xd8\\x98\\x03\\x43\\xca\\x0b\\x7b\\xee\\xb8\\xda\\xa9\\x5e\\xd1\\x76\\x92\\xb7\\x5d\\xc6\\x5e\\xf2\\xed\\x7e\\xb5\\xe1\\x0f\\x73\\x56\\xa9\\x63\\x2d\\x77\\x08\\xff\\x2d\\xe1\\xaa\\xe2\\x8f\\xd9\\x8a\\x3e\\x95\\x5f\\x65\\x9e\\x3e\\xfb\\xda\\x93\\x3b\\xaf\\xa0\\x6b\\x19\\xff\\x66\\x37\\x90\\xf3\\x48\\x70\\xb5\\xd2\\xc1\\x08\\x22\\x00\\x2b\\x48\\x9c\\xc5\\x2c\\xb0\\x1c\\x5b\\x17\\xe3\\xec\\x20\\x12\\xab\\x1e\\xf2\\xbe\\x67\\x81\\x43\\x16\\x68\\xb5\\xc0\\x76\\x0b\\xac\\xb5\\xc0\\x12\\x0b\\xcc\\xb1\\xc0\\x64\\xcc\\x01\\xa8\\xb7\\xb0\\xd2\\x02\\x61\\x0b\\x78\\x2c\\x80\\x79\\xc2\\x19\\x0b\\x9c\\xb0\\x00\\x86\\x6f\\xfb\\x0d\\xf8\\x41\\x14\\x3e\\x62\\x01\\xce\\x02\\x27\\x0d\\xb4\\xdb\\x28\\x58\\x73\\x77\\x60\\x1e\\x0a\\x59\\x7d\\x86\\x42\\x6b\\xed\\xd8\\x4e\\x31\\x4e\\xa6\\x40\\x1c\\xad\\x32\\xf1\\x2a\\xb5\\x4a\\x0d\\x40\\xab\\x09\\xb7\\x89\\x69\\xa7\\x8d\\xda\\x4d\\x6b\\x5b\\x43\\xfd\\x9d\\x75\\xb4\\xe1\\xb8\\xd5\\xa9\\x99\\x4e\\xfe\\xa7\\xea\\xda\\x75\\x5e\\xcf\\x99\\xd5\\x54\\xc7\\x69\\x6a\\x74\\xbc\\xe1\\x36\\xf5\\x5e\\xc1\\x4c\\x88\\xbf\\xca\\x3a\\xe2\\x0f\\x32\\xb3\\x97\\xb3\\x85\\x2b\\x97\\x77\\xfc\\x4d\\xf7\\x35\\xe6\\xa9\\x63\\x99\\x65\\xfc\\x11\\x94\\x8f\\x65\\xb3\\x7e\\xbe\\xec\\x6c\\x0b\\xeb\\xcc\\x63\\x45\\x2e\\x52\\x90\\x21\\x89\\x92\\xf8\\x63\\xcc\\x2e\\x0d\\x97\\x98\\xa8\\x74\\x40\\x3a\\x2a\\xb1\\x76\\x29\\x8a\\xbf\\x9d\\xc2\\xd3\\xc5\\x4a\\x92\\x1d\\xd9\\x5d\\xf8\\x35\\x42\\xb9\\x69\\xde\\x4d\\xdd\\x08\\x7e\\xe3\\xac\\xd4\\x43\\x1b\\xfa\\x21\\x07\\x2c\\x86\\x55\\x16\\x16\\x55\\x0d\\x04\\xfc\\xb7\\x77\\x7f\\xf0\\x52\\x51\\x5d\\x3b\\x24\\x48\\x7c\\x4c\\xf8\\x09\\x03\\x4d\\xcb\\xa7\\xdf\\x70\\xfd\\x8c\\xa5\\x8b\\xef\\xa8\\x19\\x77\\xf9\\x8c\\x2b\\x63\\xd3\\x2f\\x1f\\x57\\xa3\\x8e\\xdd\\xb0\\x12\\xa6\\xdf\\x34\\x9b\\x6f\\xe2\\x66\\xdf\\x04\\x33\\x56\\xfd\\xa9\\xe5\\xda\\xeb\\xd4\\x4d\\x13\\x97\\x63\\x75\\x6e\\xd9\\x24\\x75\\xe3\\x8c\\xeb\\x5b\\x70\\x3f\\x9e\\x55\\x87\\xc1\\x04\\x62\\xcf\\x81\\x0b\\x95\\x7f\\x91\\x48\\x70\\x84\\x96\\xf0\\x30\\x87\\x86\\x70\\x8f\\xe2\\x61\\x10\\x0f\\x95\\x3c\\x44\\xa8\\xad\\xe6\\x3d\\x1e\\x0e\\xf1\\xd0\\xca\\xc3\\x76\\x1e\\x34\\x98\\xc9\\x34\\xc0\\xdb\\xc3\\x63\\x1d\\x0d\\xa6\\x9d\\xe1\\xe1\\x24\\x7d\\xdd\\x48\\x5f\\x24\\x0a\\x6b\\x76\\x1f\\x5c\\x66\\xad\\x51\\xac\\x3f\\x0f\\x25\\x46\\xd4\\x38\\x73\\x3a\\xc5\\x0e\\xd4\\xc4\\xc3\\x4c\\x23\\x72\\x3c\\x35\\x16\\xbd\\xcf\\xd1\\xf4\\x58\\xf4\\x1c\\x23\\xe0\\xfc\\x44\\x4a\\x14\\xba\\x56\\xe0\\x14\\xb5\\x35\\x61\\xf8\\x03\\x46\\x38\\xba\\x66\\x5c\\xc2\\x00\\x51\\xc3\\x1e\\x25\\x9e\\x13\\x19\\x73\\x63\\x7a\\x20\\x59\\x82\\xc2\\xce\\xa5\\x9b\\x6e\\xe4\\x33\\x14\\xa5\\x8a\\x1e\\x71\\x8d\\x57\\x38\\x9f\\x7d\\x44\\x1d\\x26\\xde\\xf6\\xf3\\x22\\x83\\x46\\xee\\x30\\x68\\xc4\\xe2\\xf3\\x71\\x59\\xc1\\xac\\x7c\\x07\\xa6\\x11\\x31\\x23\\x98\\x11\\xc4\\x44\\x90\\x31\\x3c\\x83\\x89\\x66\\x1c\\xc8\\x38\\x9a\\xc1\\xda\\x33\\xa2\\xf8\\xdb\\xa9\\x0c\\x4c\\x23\\x19\\x19\\xce\\xbc\\xbc\\xfc\\x1f\\x63\\x79\\x21\\xa7\\xe3\\xc7\\x98\\x13\\xfd\\x1f\\x68\\xc4\\x4d\\x44\\x77\\xfd\\x0c\\xa9\\x53\\x3f\\x7b\\x4d\\xfd\\x8f\\x7e\\xaf\\x8d\\xd0\\x88\\x80\\x9f\\x4c\\x1c\\x37\\x7c\\x5a\\x6c\\xcc\\xb5\\xc3\\xc7\\x0d\\x58\\xb2\\x78\\xe9\\x8c\\x99\\x8d\\xd3\\x97\\x37\\x2d\\x51\\xff\\x7a\\xfd\\x0c\\xb8\\xe6\\xea\\x65\\x1e\\xc6\\x73\\xc7\\x24\\x98\\x7c\\xdd\\xb5\\x2d\\x7f\\x5a\\xa5\\xae\\x9b\\x33\\x87\\x6b\\xe2\\xe6\\xdc\\xa4\\xae\\x5f\\xb1\\xb1\\x85\\xf4\\x63\\x3c\\x53\\xcc\\xd5\\xb1\\x45\\x58\\x97\\x9e\\xa9\\x98\\x24\\xb7\\x3f\\x80\\x9c\\x4f\\xc6\\x88\\xa7\\xbb\\xb5\\x70\\x40\\xad\\x84\\x88\\xeb\\xdb\\x9f\\x59\\x4b\\xff\\xda\\x3c\\xf4\\xaf\\x52\\x6a\\xb2\\xd6\\x22\\xc5\\xad\\x14\\x0f\\xa8\\x75\\x5b\\x2c\\xfc\\x93\\xb1\\x1c\\xcb\\x70\\xcb\\x56\\x0b\\x3b\\xd3\\xd2\\x84\\xff\\x3c\\x65\\x39\\x6a\\x39\\x65\\xe9\\xb4\\x88\\x16\\xc5\\x24\\xd7\\x5a\\x50\\xb4\\x84\\x9e\\xdb\\x70\\x1c\\x2a\\x09\\x7e\\x52\\x52\\x52\\x72\\xa8\\xc4\\xc8\\x53\\x40\\xbc\\x05\\xd4\\xa1\\x5a\\x45\\x55\\x3e\\x2d\\x78\\x16\\x4b\\x46\\x97\\x5d\\x7c\\xf7\\xe0\\x96\\x2b\\xff\\x30\\xe7\\xc2\\x99\\x7f\\xaa\\x6c\\x5a\\x94\\x33\\xaf\\xc7\\xa2\\x59\\xfd\\x6e\\x62\\x8a\\x4b\\x83\\x3d\\x8a\\xa3\\xab\\x47\\x05\\x7b\\x5a\\x73\\xc7\\xdf\\x77\\x7e\\x21\\xea\\xec\\x44\\xfa\\x3f\\x87\\x80\\x58\\x6a\\x17\\xf8\\x5e\\x7d\\x0e\\xf6\\x69\\x67\\x44\\xe1\\xa0\\xd2\\x49\\x64\\x21\\x41\\x90\\x4c\\x48\\x50\\x44\\x61\\xd3\\x38\\xd1\\x2e\\xb0\\x60\\x62\\xd7\\x98\\x60\\x11\\xcd\\x2f\\xd5\\x60\\x82\\x91\\x26\\xb8\\xc8\\xc8\\x47\\xe5\\x32\\x01\\x63\\xe4\\xa3\\x6a\\x37\\xc1\\x41\\x9a\\x8f\\xea\\x41\\x13\\xdc\\x63\\xc0\\x6b\\xf9\\xa8\\xba\\xc0\\x4f\\x4d\\x4d\\x60\\xd5\\x6a\\x82\\x47\\x4c\\xb0\\x8e\\x26\\xb0\\x9a\\x4b\\x13\\x5e\\x8d\\x4c\\x49\\x60\\xe5\\x33\\x81\\x60\\x82\\x9f\\x4c\\xf0\\x2e\\xc5\\x9e\\xb4\\xd8\\x63\\xe8\\x39\\x14\\xbd\\x42\\x43\\x38\\xb5\\x40\\x4a\\xbc\\x19\\x9c\\x31\\xc1\\x49\\x8a\\x5a\\x83\\x5c\\x9b\\x02\\xa9\\x25\\xc6\\xd2\\x20\\x39\\x13\\xe6\\xcb\\x14\\xb4\\xd5\\x08\\xd6\\xa4\\x40\\xca\\x45\\x04\\x2c\\x64\\xb8\\x09\\x4e\\x1a\\xad\\xec\\x82\\xa4\\x32\\xa5\\xa2\\xed\\xc6\\x73\\xdc\\x12\\x46\\x8b\\xd7\\x3c\\x57\\x0a\\xfe\\xcd\\x5d\\xb3\\xcb\\x26\\xfb\\xff\\x66\\x8f\\x8d\\x92\\x63\\x60\\xf4\\x58\\x6a\\x6a\\x92\\x8d\\x0a\\x77\\xbe\\xdb\\x9b\\x5f\\x05\\x66\\x9a\\x71\\x8a\\x79\\xb2\\xc3\\xca\\xb7\\x1c\\x3e\\xac\\xf1\\xe8\\x3b\\x3a\\x3f\\x63\\x7f\\xe5\\x5b\\x50\\x0e\\x1a\\xa7\\x94\\xf9\\xf1\\xfa\\x73\\x4b\\x92\\xc3\\x64\\x92\\x59\\x96\\xcb\\x92\\x39\\x39\\x37\\xec\\x0e\\xd6\\xc5\\xfc\\x0e\\xe4\\x6e\\x73\\xb7\\xbb\\x59\\xfc\\x9f\\xe2\\x64\\xcd\\xc4\\xbb\\x52\\x17\\x13\\x25\\x14\\xa5\\x69\\x89\\x2a\\x74\\xb5\\xbe\\xbc\\x3c\\x25\\xa4\\xdc\\x65\\x1c\\x6f\\xa6\\x4d\\xd0\\xbc\\xc6\\x22\\x6e\\x45\\x21\\xe3\\xac\\x74\\x25\\xf3\\x0f\\x69\\x66\\x1d\\x66\\x14\\x71\\x1e\\xbb\\xf7\\xdf\\x7b\\xeb\\xeb\\x47\\x8e\\xbc\\x7e\\xeb\\xea\\xd6\\x90\\xe6\\x3e\\x5e\\x06\\xde\\x69\\xd7\\x59\\xd7\\xec\\xb5\\xed\\xd8\\xe1\\x82\\x2c\\x80\\x38\\xe4\\x38\\x37\\x6e\\xb4\\x3f\\xb2\\x92\\x38\\x91\\x3f\\xfb\\x6b\\xbb\\xd6\\x87\\x7e\\x08\\x71\\x75\\xfc\\x3a\\x54\\x80\\x56\\x28\\xa3\\xf2\\x2c\\x9c\\xc7\\x9d\\xe9\\x46\\xa1\\x9c\\x1c\\xab\\x24\\x71\\x05\\x88\\x43\\x85\\x45\\xd9\\x26\\xab\\x69\\x44\\x2c\\x44\\x8e\\x8a\\x3e\\x45\\x62\\xa2\\x6b\\xac\\x33\\xad\\x4d\\xd6\\xad\\xf8\\xcb\\x51\\xeb\\x71\\x0c\\xc6\\x5a\\x95\\x82\\xf3\\x6b\\xad\\x4a\\x28\\x5c\\x6b\\xb5\\xe6\\x39\\x1c\\xfe\\xd9\\x31\\x8f\\x43\\xe4\\xf3\\xb8\\xbc\\x39\\xb1\\x02\\x72\\x46\\x5e\\x77\\x48\\x56\\x18\\xd1\\xdd\\x24\\x0f\\xd3\\x8d\\xa9\\xf9\\x12\\xf4\\xee\\xea\\xfe\\x02\\xd2\\x65\\x1b\\xe4\\xe7\\x56\\x91\\x68\\x86\\xfc\\xaa\\x0a\\x67\\x9a\\x39\\x86\\x9c\\xf8\\x22\\xe1\\xdf\\xb9\\xe5\\xd5\\x5c\\x9d\\x73\\xf7\\x9a\\xf8\\x25\\xb1\\x31\\xcf\\x3f\\xff\\xce\\xa1\\x7b\\xdf\\xc8\\xdb\\xe5\\x9d\\x79\\xe9\\xac\\x46\\x92\\x9d\\x6a\\xfc\\xe5\\xf0\\xc5\\xae\\x2c\\xa8\\x5e\\xf7\\xc0\\x86\\x9e\\xdb\\xe6\\xaf\\x69\\x81\\xc0\\x2b\\x87\\xe7\\x5f\\xdf\\x57\\x19\\x3a\\x7b\\xa1\\x7a\\xa2\\xe5\\xb6\\x9b\\x9f\\x2f\\xde\\x4d\\xd6\\xea\\x8d\\xe8\\x33\\x8e\\xe1\\x66\\xd3\\xbc\\x49\\x17\\x29\\xb9\\x99\\x19\\x2c\\xca\\x73\\x5a\\x6c\\xc8\\x76\\x5e\\xb1\\xbd\\x18\\x2c\\xac\\x37\\x67\\x77\\x2c\\xe0\\xf2\\x8a\\x8a\\x58\\xb0\\x3b\\x66\\xe6\\x44\\x92\\x9c\\x8b\\x52\\xc8\\x11\\x3c\\x5b\\x40\\x0f\\x0b\\x52\\x23\\x35\\x95\\xd9\\x31\\x93\\xac\\xac\\x2e\\xaa\\xf6\\x13\\xef\\x6a\\xb5\\x5f\\xf4\\x79\\x3d\\xa2\\x5f\\x2c\\x22\\xce\\x1b\\xb1\\xa8\\xba\\xb0\\x3a\\xc5\\x69\\xbe\\x7c\\xd8\\xe4\\x69\\x7f\\x9c\\x75\\xe7\\xf2\\x59\\x93\\xa6\\x35\\xd4\\x8d\\x9c\\x3c\\xe5\\x9a\\x59\\xcb\\x57\\x5f\\x3f\\x7d\\xca\\x94\\x61\\x1b\\x1e\\x99\\x3d\\xeb\\x91\\x47\\x6f\\xbc\\x71\\x07\\xf3\\xc4\\x8a\\x59\\x93\\xa7\\x5e\\x33\\xb2\\x6e\\xd2\\xf4\\x86\\x9b\\xee\\xc0\\x9f\\xa7\\x5f\\x33\\xac\\x6e\\xfa\\xf4\\x29\\xb3\\xee\\xbc\\xe9\\xa1\\x07\\xe7\\xde\\xb4\\xfd\\x21\\x2d\\x56\\x46\\xc5\\x73\\x37\\x17\\xd3\\x9f\\x0f\\xdd\\xae\\x0c\\x67\\x04\\xc9\\x6e\\xf1\\xfa\\x7c\\x01\\x8f\\x89\\x43\\x92\\xe4\\x94\\x4d\\xa6\\x80\\xdf\\xed\\x72\\xf9\\x59\\xbb\\xc3\\x3e\\x22\\x26\\x5a\\xac\\x96\\x11\\x31\\x2e\\x4a\\x27\\x0e\\x4f\\x59\\x71\\x8f\\x5a\\x64\\x75\\x58\\xc3\\xd6\\x6d\\x56\\xce\\xea\\x41\\x76\\xc7\\x53\\x0e\\x46\\x3a\\xed\\x00\\x87\\x43\\xf2\\xba\\x58\\x12\\x3a\\x4a\\xd3\\x5a\\x4c\\x98\\x38\\xa1\\xa2\\xe2\\x1d\\xac\\xcb\\x94\\x93\\xf9\\xa2\\x73\\x06\\x09\\x0a\\xad\\xa0\\x67\\x55\\xc9\\x9c\\xd1\\xdc\\x64\\x78\\xde\\xc8\\xe4\\xe8\\x47\\xf2\\xaa\\x72\\xab\\xf1\\x0f\\x55\\x5f\\x98\\x76\\xb8\\x50\\x6d\\x81\\x26\\xb5\\x65\\x8f\\xba\\x18\\x16\\x32\\xf8\\xb3\\xa2\\x8e\\x7b\\x1d\\x66\\xc3\\xcd\\xaf\\x33\\xaf\\x2e\\xdc\\xd0\\xa4\\xfe\\x05\\xa2\\x4d\\x1b\\x16\\x32\\x2f\\xc6\\xe7\\x33\\x77\\x68\\xf6\\xe2\\x84\\xdc\\x80\\xf9\\xe8\\x68\\xe5\\xfb\\x84\\x4f\\x12\\xf1\\x88\\x04\\x7e\\x69\\x0c\\xa4\\x21\\x3d\\x3d\\xdf\\x89\\x14\\x26\\xb8\\x3d\\x85\\xc9\\x84\\x8d\\xcc\\x7d\\xd3\\x12\\x3c\\xaa\\x31\\x9d\\xfb\\x68\\xce\\xcb\\xed\\x29\\x0c\\x4e\\xcb\\x8c\\xa7\\x31\\x41\\xe6\\x34\\xc5\\xdd\\x4e\\xe1\\x52\\xe3\\xcd\\x53\\x39\\x65\\x9f\\xa3\\x06\\x93\\x6c\\xa4\\x0d\\x4b\\xf8\\x46\\x4f\\xd0\\x87\\xa9\\x05\\x4e\\x19\\x71\\xf0\\x07\\x8c\\x20\\x76\\xcd\\x9d\\xaa\\xd0\\xe0\\xf6\\x73\\x32\\xee\\xfd\\xff\\x22\\x43\\xd4\\x44\\x69\\x46\\xb9\\x54\\xd7\\x2b\\x9e\\x38\\x96\\x4a\\x14\\x8f\\x3c\\xc2\\x1c\\x64\\xcd\\x1d\\x3f\\x9d\\xbd\\x93\\xb5\\x74\\xfc\\xa8\\x8d\\xff\\xec\\xce\\x51\\x1c\\xc2\\xe3\\x5f\\x81\\x14\\xb4\\x51\\xa9\\x8f\\xf8\\xfd\\x1c\\xcb\\x56\\x9a\\x7a\\xf5\\x2a\\xc9\\xce\\xca\\xea\\xe9\\x71\\xf6\\x2b\\x71\\x96\\x5c\\x74\\xe1\\xfc\\x08\\x5c\\x1b\\x81\\xf1\\x11\\xe8\\x13\\x81\\xfb\\x06\\xc2\\xed\\x58\\x84\\x1c\\x08\\x19\\xd5\\x60\\xae\\x86\\x5b\\xaa\\xa1\\x7f\\x35\\x1e\\xcc\\xb5\\x26\\xe6\\x12\\xac\\xbf\\x3a\\x4c\\x61\\x13\\x61\\xe7\\x76\\xc1\\x54\\x3d\\x30\\xc2\\x05\\x51\\x30\\x77\\x44\\x2c\\x3b\\x88\\x04\\x4c\\x94\\xb8\\xc2\\x9a\\x72\\x92\\x38\\x81\\xb2\\x08\\x3f\\x3d\\x1d\\x51\\xaf\\x35\\x5e\\xef\\x45\\x82\\x51\\xf4\\xd5\\xd9\\x22\\x21\\xb8\\x72\\x8d\\x3b\\x62\\xd6\\x50\\x98\\x30\\xd4\\x32\\x5e\\x7a\\xe8\\xd8\\x9b\\x6e\\xd6\\xed\\x09\\x45\\x34\\xf9\\x45\\x35\\xfd\\x0d\\x95\\x24\\x14\\x99\\xc2\\x0f\\x04\\xe6\\xb2\\x27\\xdf\\x0f\\x3d\\x10\\xfa\\x6c\\x61\\xcb\\x80\\x99\\x8b\\xee\\xdd\\x34\\xe6\\xe6\\xc9\\x8d\\xd7\\xfc\\xf3\\xdd\\xbf\\x7c\\x9c\\xf7\\x80\\x67\\xd9\\xdd\\xcb\\xee\\xbe\\x68\\xc1\\xfa\\x83\\x8f\\x2f\\x98\\xde\\x30\\xf3\\x18\\x7c\\xb6\\x72\\xf7\\xf5\\x2d\\xfd\\x67\\xb6\\xdc\\x8c\\x45\\xae\\xa5\\x4d\\x9e\\x75\\xc3\\x2f\\x2d\\xbb\\xa4\\x32\\x27\\xff\\x8a\\xb9\\x23\\xfe\\xb8\\x2e\\x50\\xd6\\x32\\x6e\\xed\\xce\\xa5\\x2b\\x73\\xae\\x1a\\x79\\xe5\\xc8\\xbe\\x97\\xf7\\x2b\\xe8\\xb1\\xa9\\x31\\xb6\\x36\\x3b\\x7c\\xfb\\x98\\x95\\x1b\\x3b\\xde\\xaa\\x9d\\x56\\x2c\\xcc\\x18\\xd5\\x6b\\x70\\xef\\x5c\\xe6\\x1a\\x32\\xb6\\x3d\\xb8\\x57\\x98\\xab\\xf8\\x05\\xd4\\xdf\\x1e\\x51\\x1c\\x22\\xc9\\x83\\x4f\\xa2\\x22\\x79\\x8e\\xbf\\x3b\\x86\\x79\\x6e\\x5a\\x32\\x19\\xda\\x49\\xcc\\xf2\\x73\\x49\\xae\\x87\\x67\\x1f\\x8a\\x1f\\x7b\\x98\\x7b\\x65\\x1f\\xfe\\x47\\xb2\\x30\\x75\\x9e\\xe6\\x5f\\xc5\\xbc\\xdb\\x8e\\x77\\xa0\\x6a\\xd4\\xa4\\xd4\\x05\\xc2\\xa5\\xbd\\x0a\\x4b\\x0b\\x25\\x07\\x92\\x50\\x9f\\xbe\\x05\\xc5\\xc5\\xf9\\x87\\x63\\xd1\\xaa\\xc3\\xb1\\xf2\\xa8\\xbd\\xb8\\xa9\\x98\\xb1\\x17\\xe7\\xe0\\x3f\\xab\\x8b\\xb7\\x16\\x77\\x16\\x0b\\x28\\x0a\\x28\\xea\\x88\\x36\\x46\\x9b\\xa3\\x6b\\xa2\\xa7\\xa3\\x82\\x89\\x2d\\x8e\\x16\\x47\\x39\\xab\\xd5\\xf3\\x46\\xcc\\xca\\x71\\x99\\x6f\\xc4\\x38\\x77\\x9a\\xbb\\x81\\x1e\\xfd\\xa7\\x09\\x09\\x4b\\xd2\\x78\\xb7\\xc6\\x00\\x52\\x0e\\x6b\\x55\\xba\\x48\\x62\\x03\\x97\\x98\\x7e\\xca\\xdf\\x55\\x40\\xcd\\xd2\\x7e\\x3d\\x27\\x00\\x61\\x93\\x1a\\x4b\\xe7\\x5f\\x7d\\x59\\x7d\\xea\\xe5\\x57\\xd5\\x27\\x5f\\x38\\x08\\x75\\x2f\\x1f\\x84\\x11\\x6d\\xe3\\x77\\xa8\\x1f\\x3f\\xb6\\x43\\xfd\\xfb\\x8e\\x9d\\x90\\xb7\\x73\\x27\\x14\\xee\\xe8\\x58\\x7e\\xd7\\xc2\\x2d\\x43\\x67\\x0f\\xdc\\x79\\xd3\\x8b\\xed\\x6f\\xbc\\x74\\xa6\\x61\\x56\\x78\\xce\\x65\\x4d\\x77\\x30\\xaf\\x90\\x82\\x87\\xe1\\xf2\\x97\\x5e\\x86\\xba\\x83\\xaf\\xa8\\x7b\\x0e\\xee\\x84\\xdc\\xc7\\x76\\xaa\\x7f\\x7f\\x14\\xff\\xec\\xd8\\x01\\x91\\xc7\\x37\\x3e\\xbe\\x29\\x7f\\xfe\\xb4\\xcf\\x8f\\xbc\\xf5\\xc9\\x5f\\x72\\x2f\\x1e\\xf4\\x00\\x19\\xfb\\x20\\xb3\\x92\\x89\\xf3\\x7f\\xc2\\x32\\x73\\x0f\\xcc\\x35\\x47\\xd8\\xec\\xf6\\x52\\x36\\x57\\x2c\\x2a\\xca\\xf4\\xb1\\xbe\\x9e\\x51\\xf1\\xbc\\x93\\x31\\x5b\\xc0\\xee\\xad\\xb5\\x85\\xcd\\xb6\\x5a\\x1b\\x66\\x3a\\xae\\x8c\\x08\\x8a\\x9c\\x8c\\x65\\x67\\x23\\x14\\x46\\x75\\x88\\x35\\x61\\x31\\xcf\\xe5\\xb2\\x9c\\x8c\\xb9\\x3e\\x6d\\x8b\\xc2\\x9a\\x28\\x34\\x47\\xa1\\x31\\x0a\\x0d\\x51\\xa8\\x8b\\x82\\x12\\x35\\x6c\\xe1\\x29\\xb1\\x60\\x15\\xfa\\x79\\xa6\\xbe\\x84\\xbe\\x4b\\x52\\x3c\\x9b\\x15\\x29\\x0a\\x58\\x6a\\x6c\\x9f\\xee\\xfb\\x4b\\x0d\\xee\\x13\\x8a\\xca\\x7b\\x93\\xd0\\x3e\\x4c\\xb5\\xc0\\x5d\\x77\\xdb\\xe6\\x8d\\x7b\\x2e\\x19\\xf1\\x87\\x11\\xa6\\xfb\\x1c\\x5b\\x5b\\xee\\x5e\\x9f\\x99\\xef\\x0e\\xf4\\xca\\x1b\\x3c\\x82\\xe3\\x06\\xaf\\xbd\\xaa\\x69\\xc5\\xdc\\x51\\xcc\\xca\\x39\\x53\\xe7\\xdc\\xca\\x70\\x03\\x46\\x0c\\xe9\\x7f\\x99\\x79\\xc6\\xbc\\x85\\x0b\\xd5\\x23\\xfd\\xca\\xa5\\x69\\xf2\\x65\\x17\\xde\\x3b\\x73\\xee\\xf0\\x0b\\x39\\x01\\xaf\\x5c\\x3c\\x16\\x57\\xa0\\x55\\x5c\\x98\\x7d\\x02\\x13\\x8b\\x13\\xf5\\x55\\xc2\\xbc\\x24\\x80\\xdd\\x6c\\x73\\x9a\\xc1\\x29\\x71\\x6e\\x97\\x09\\x53\\xd8\\xa9\\x71\\x56\\x3b\\x1b\\x65\\x67\\xb2\\x4d\\x24\\x9d\\x62\\x34\\xe1\\x7c\\x48\\x75\\xa1\\x14\\x40\\x15\\x54\\x90\\x24\\x21\\xb9\\xc6\\x07\\x76\\xae\\xba\\x0b\\x46\\xee\\xc0\\xbf\\x46\\xc5\\x17\\xab\\xbb\\xa1\\xee\\x51\\xf5\\x69\\x18\\xb1\\x0a\\xae\\xaf\\x81\\xd9\\x39\\xea\\x9d\\xea\\xdd\\x59\\x29\\x1f\\x8d\\xbc\\x68\\xcc\\xf7\\x98\\xb5\\x67\\x2a\\x32\\xe2\\x19\\x5e\\x10\\x59\\xe6\\xc9\\x18\\x62\\xff\\x8c\\x6a\\x8e\\x94\\x24\\x0e\\xa6\\x16\\xd0\\x83\\xb5\\xec\\xde\\x8e\\x5d\\xec\\x17\\xad\\xf0\\xc4\\x3d\\xf1\\x83\\x58\\xfe\\xd6\\x73\\x92\\x61\\xf9\\xdb\\x81\\xd9\\x08\\x97\\xb6\\x26\\x7a\\xa0\\xde\\x68\\xb1\\x32\\xc4\\x81\\x7a\\x16\\x17\\x87\\x7b\\xe4\\x96\\x96\\x56\\xf4\\xa8\\xc8\\xcf\\x8f\\x04\\x24\\x29\\xd2\\x03\\x71\\x7d\\xaa\\xc3\\xe1\\x48\\x69\\x5e\\x45\\xde\\xe1\\x58\\x41\\xf9\\xe1\\x98\\x3d\\x92\\x13\\x61\\x8e\\x17\\x00\\x2a\\x70\\x14\\x30\\x26\\x36\\x52\\x51\\x50\\x50\\x11\\x61\\x7f\\x6b\\x3d\\xf8\\xc9\\x7a\\xd0\\x16\\x84\\xb6\\x1a\\x2a\\xd2\\x23\\xcb\\x5c\\x86\\x3f\\x32\\xed\\x18\\xe3\\x6f\\xac\\x0c\\x9e\\xcd\\xa7\\xe7\\xda\\x68\\x66\\x1e\\x37\\x4b\\xf4\\x2b\\xbc\\xa2\\x7a\\xff\\x1f\\x16\\x86\\x3a\\xf2\\xf5\\x07\\x9a\\xa0\\xe2\\xae\\xf5\\xd3\\x46\\x7f\\xb2\\xb5\\x7e\\xc4\\x63\\x7b\\xeb\\x46\\xfd\\xcf\\x55\\xf1\\x0b\\xd4\\xa9\\xbb\\xd9\\x9a\\xdb\\x66\\x4e\\x59\\xe0\\x56\\x1f\\x64\\xea\\x2e\\xae\\x55\\x8f\\x8d\\xa6\\xf2\\xc4\\x29\\xfe\\x09\\xee\\x56\\xc1\\xac\\xc5\\xde\\x22\\x12\\x60\\xcd\\xdc\\x99\\x1a\\x7b\\x4b\\x73\\x1a\\xdd\\x7a\\x76\\x36\\xb7\\x8a\\x7f\\x62\\x22\\xa6\\x9f\\x5b\\xd8\\xf1\\xcc\\x3e\\x3d\\xef\\x5a\\x89\\xe2\\xb5\\x22\\x97\\x80\\x84\\x8c\\x00\\xeb\\x7d\\x2a\\xc6\\x9a\\x14\\x93\\xfd\\xa9\\x98\\x89\\x24\\x47\\xa1\\x12\\x53\\xfa\\xb1\\xce\\x64\\x26\\xc9\\xd4\\x9c\\x4d\\xcc\\xbe\\x9d\\x73\\xe7\\xee\\x7c\\x74\\xde\\xbc\\x47\\xaf\\x9f\\x3a\\x74\\xe8\\xd4\\xe9\\x83\\x87\\x4c\\xe3\\xe6\\xdf\\xfc\\xc8\\x8e\\x9b\\x6e\\xda\\xf1\\xc8\\xcd\\x97\\x4d\\x9b\\x31\\x64\\xc8\\x8c\\xe9\\x64\\x0d\\x93\\x58\\xf6\\x08\\xf7\\x0a\\xcd\\x79\\x39\\x46\\x29\\x97\\xf1\\xce\\x0e\\x02\\x63\\xb3\\x58\\x18\\x8e\\x75\\x38\\xad\\xf2\\x93\\x31\\x2b\\x62\\xc0\\x95\\xc8\\xa7\\xf7\\x27\\x11\\xc4\\x53\\x44\\x8d\\x6f\\xe6\\xb7\\xf1\\xed\\x98\\xcb\\x92\\x0c\\x34\\x15\\xc9\\xb4\\x7a\\xa9\\x49\\x05\\x12\\x0e\\xab\\x64\\x72\\x3d\\x92\\x96\\x86\\xb9\\xd5\\x48\\xb0\\x47\\xb2\\xd3\\x30\\x3b\\xd4\\x9b\\x60\\xe5\\xdd\\xb0\\x42\\x9d\\x7b\\x77\\xfc\\xca\\xbb\\xef\\xc6\\x34\\x5c\\xcc\\x54\\x30\\x8b\\xf9\\x55\\x58\\x96\\xbc\\x40\\xc9\\x96\\x6d\\xb6\\x0c\\x14\\x14\\x3d\\xc8\\x93\\x99\\x25\\x66\\xc8\\x4e\\xa7\\xf9\\x64\\xcc\\xf9\\x29\\x64\\xa0\\x8c\\x7f\\xc4\\xd0\\xf1\\x54\\xa3\\x90\\xab\\x6f\\x1a\\x3f\\xc0\\xbb\\x32\\x5e\\xfe\\xd5\\x03\\xbb\\xf0\\x02\\x8f\\x96\\xa7\\xad\\x84\\xc9\\x69\\xb9\\x76\\xd2\\x95\\x97\\x0e\\x19\\x74\\xa5\\xb4\\x54\\x7e\\xa0\\xa5\\xe9\\xbe\\x17\\x6f\\x99\\xec\\x81\\x17\\x98\\x8a\\xa9\\x17\\x2f\\x1e\\x32\\xa8\\xb1\\xdf\\xc0\\xa1\\x83\\x07\\x49\\xd7\\x2e\\x59\\x70\\xc3\\xbd\\x2b\\xae\\x1a\\xdf\\xe3\\x46\\x22\\xdf\\x87\\x98\\x22\\x66\\x11\\x6e\\x57\\x01\\x5a\\xa2\\x0c\\x0f\\x64\\x64\\x08\\x7c\\x9e\\xec\\xca\\xc9\\x41\\xb2\\x99\\x66\\x9c\\x20\\x81\\xc3\\xb2\\x4d\\x3e\\x19\\xdb\\x61\\xdb\\x67\\x7b\\xc3\\xc6\\xd6\\xd8\\x86\\xdb\\x18\\xd6\\x66\\x63\\xa3\\x81\\x9a\\xc0\\xf0\\x00\\x2b\\x07\\xb2\\x02\\x8c\\x85\\x23\\xa9\\x6e\\x4e\\xc6\\x32\\x3f\\x65\\xa5\\x93\\xb1\\x02\\xa1\\x4a\\xb8\\x98\\x24\\x11\\xfa\\x24\\x99\\x9e\\x89\\x26\\x89\\x99\\x40\\xd3\\xb7\\xe9\\x47\\x1c\\x8d\\xe9\\x76\\x25\\x8e\\x2a\\x24\\xa6\\x3e\\x4c\\x93\\x35\\x55\\x55\\xfe\\x76\\x06\\x37\\x66\\xd1\\xc6\\xbb\\xd4\\xcf\\xc3\\xcb\\x5c\\xdb\\xb7\\xbd\\x74\\x41\\xdf\\xba\\xf1\\x43\\x2e\\x1d\\x34\\x4a\\xb8\\x43\\xde\\xdc\\xb4\\x68\\xed\\x98\\xab\\xc6\\xcd\\x60\\x43\\x73\\x9a\\xbf\\x90\\x97\\xad\\x5d\\x7e\\x7d\\xed\\x85\\x03\\x2e\\xbe\\xe4\\x42\\xeb\\xf5\\xf3\\x6e\\xbe\\x7a\\xe8\\x0d\\x1e\\xc6\\x34\\x9d\\xea\\x34\\xb5\\xdc\\xd3\\x70\\x9a\\xc6\\x84\\xe7\\x2a\\x1e\\xbc\\xc9\\xfe\\x76\\x3c\\x38\\x89\\xb1\\x72\\xe3\\x7d\\xb5\\xf6\\xa3\\xa3\\xea\\x5e\\xee\\x69\\x0f\\xe4\\x64\\xa9\\x5f\\x51\\x1c\\x77\\xaa\\x63\\xb9\\xeb\\xb1\\x1e\\x9f\\x8d\\xc6\\x2a\\xe5\\x7e\\xb3\\xd9\\x69\\xc9\\x66\\x18\\xb0\\x40\\x38\\xc7\\x2f\\x04\\x85\\xba\\x58\\xd0\\xe7\\xb1\\xd7\\xc5\\x3c\\x3e\\x33\\xd8\\x51\\xe8\\x44\\x18\\xda\\xc3\\xd0\\x16\\x86\\xdd\\x61\\xd0\\x32\\x46\\x18\\xbb\\x40\\x4d\\x45\\x22\\xca\\x3b\\xd5\\x59\\x6f\\xc8\\x5f\\xc9\\xd3\\x7b\\xa9\\xcc\\x9e\\xfc\\x76\\xde\\xf9\\xcc\\xb5\\x37\\x37\\xdf\\xd3\\x1a\\x39\\x3f\\x23\\xeb\\xc2\\xb2\\x71\\xf5\\x3c\\x3b\\xe3\\xe5\\x3f\\x5c\\x9f\\xa3\\x8e\\xe5\\xbf\\x88\\x8f\\x5c\\xb1\\x72\\xd7\\x83\\xcc\\xec\\x8e\\xf6\\xcb\\x2e\\x96\\x5a\\x3c\\x13\\x27\\x1f\\x2c\\x2e\\x54\\x49\\x0e\\xc2\\x3a\\xf5\\x67\\xf6\\x47\\xac\\x0f\\xd8\\x49\\x0e\\x42\\x5e\\xb0\\x33\\x78\\x59\\x98\\xf1\\x8a\\x10\\x45\\x40\\x9c\\xcc\\x0a\\x78\\x29\\x57\\xd4\\xbc\\x5d\\x8e\\xc5\\xfa\\x34\\xfb\\x1f\\x89\\x0b\\xc5\\xff\\x69\\x2b\\x32\\xd7\\xcb\\xce\\x69\\xfc\\xe8\\xc6\\x1d\\x07\\x5f\\x7d\\x92\\xa9\\xe0\\x43\\xbf\\x7c\\x22\\xe4\\xff\\xf2\\x09\\xbb\\xff\\xb9\\xc7\\x76\\x1e\\x98\\x42\\xec\\x1d\\x3f\\xc0\\x7e\\xd8\\xcb\\x6c\\x70\\x0a\\xd2\\x1f\\xfa\\x20\\x64\\x79\\x16\\xd5\\xa3\\x99\\x78\\x54\\xd9\\x09\\x55\\x9a\\x3e\\x79\\x33\\x96\\xdb\\xbf\\xc0\\x9f\\x5c\\x68\\xa8\\x52\\x62\\xc2\\x7a\\x85\\xc3\\x26\\xcb\\x24\\x1b\\xb9\\xc7\\x6d\\x51\\x1c\\xc4\\x1c\\xe3\\x70\\x30\\x36\\x46\\xbc\\x33\\x16\\x66\\xea\\x98\\x06\\xa6\\x91\\xd9\\xcd\\xb4\\x31\\x78\\xa9\\xd2\\x8c\\x0a\\x51\\x12\\x03\\x1f\\x7c\\x3b\\x99\\x50\\xcd\\x08\\x7f\\xf7\\xe4\\x6a\\x86\\xee\\xaa\\xca\\xfc\\x3c\\xb1\\xba\\x82\\xe4\\x95\\xf9\\x42\\xfd\\xae\\x6f\\x6e\\xaf\\x82\\x7b\\x97\\x96\\xd8\\x2e\\xbc\\xb6\\x68\\xe2\\xc4\\xf8\\x33\\xdc\\xd5\\xc2\\x88\\xcb\\x99\\xbd\\x93\\xd9\\x11\\x5a\\x5b\\xea\\xf0\\x9a\\x5c\\x48\\xcf\\x77\\xd7\\x28\\x61\\x93\\x24\\x89\\x02\\x87\\x48\\x62\\x46\\xc4\\x3b\\x78\\x86\\x1c\\x12\\xe3\\x58\\xe1\\xef\\x58\\x4c\\x87\\x93\\x29\\xab\\x92\\xe4\\x67\\xd4\\xf2\\xc0\\x50\\x15\\x27\\x11\\xa6\\xe8\\x14\\xab\\xaa\\xf1\\x67\\x6f\\xdd\\xb1\\x37\\xdf\\x5d\\xf0\\x21\\x53\\x71\\x2d\\x73\\xdd\\x8a\\x79\\xcb\\xe3\\x59\\xd7\\x6a\\xf2\\x72\\x08\\xcb\\x15\\xc7\\xb0\\x5c\\x41\\x62\\x6f\\x2e\\x55\\xce\\x37\\x62\\x6f\\x58\\x0f\\xc6\\xcd\\x86\\xd9\\x3a\\x16\\x4b\\x0e\\x2c\\x49\\x78\\x77\\x32\\x66\\xfa\\xf4\\x94\\x11\\x82\\x13\\xa5\\x47\\x9f\\x53\\xa5\\x85\\xee\\xf9\\x64\\x38\\x35\\xf4\\x86\\x39\\xb6\\xfb\\xa9\\x1d\\x4f\\xef\\x79\\x1c\\xc6\\xdd\\x37\\x6e\\xda\\x75\\xe3\\xc7\\x5d\\x33\\x73\\x3c\\xe7\\x7a\\xf1\\xad\\xc3\\xfb\\x5f\\x3a\\xac\\xde\\xb2\\x61\\xf1\\x1d\\xeb\\xee\\x5e\\xb5\\x82\\xb6\\xa9\\xcb\\xfe\\xce\\x4a\\x56\\x27\\x07\\x32\\xa6\\x65\\x20\\xfb\\x3b\\x59\\xfe\\xa7\\xc6\\xd9\\xec\\x7c\\x94\\x9f\\xc9\\x37\\x69\\x5c\\xb1\\xdb\\xfd\\x3d\\x9f\\xe4\\xcd\\xaa\\x00\\x2f\\x18\\x1f\\x98\\x77\\x76\\xc0\\x48\\x75\\xf7\\x23\\x30\\xb2\\xe3\\x93\\xc7\\xc8\\xa7\\x1d\\x30\\x7c\\x55\\x16\\xcc\\x84\\x39\\x39\\xea\\xaa\\x1a\\xf5\\xde\\xc4\\x47\\x4c\\x2f\\x98\\x48\\x84\\x61\\x7c\\x8b\\xa3\\x10\\x2d\\xf8\\x17\\x72\\x14\\x89\\x71\\xe6\\x17\\x84\\x9c\\xa2\\xc4\\xb3\\xfb\\xe2\\x47\\x51\\x48\\x71\\x80\\xf5\\x00\\xf1\\x6b\\x37\\x58\\x1b\\xad\\x2c\\xcb\\x38\\x03\\xa8\\xa6\\xaa\\x0a\\x0f\\x8a\\x93\\xd0\\x93\\x5e\\xfe\\xa6\\x73\\xcb\\xa3\\x39\\xec\\xf7\\xb8\\x7c\\xb1\\x92\\xc1\\xd8\\xa3\\xf6\\x99\\x98\\xd4\\x53\\xd0\\x44\\x4b\\x81\\xb1\\x13\\x44\\x64\\x70\\x9d\\x55\\xf8\\xff\\x5e\\x65\\x04\\xd7\\x60\\xda\\x96\\x55\\x04\\x0b\\x2b\\x23\\x8c\\x4d\\x6b\\x85\\x53\\x40\\x37\\xf5\\x44\\x98\\x57\\xb8\\x11\\xa6\\x66\\x70\\xa0\\x06\\xd4\\x88\\xd8\\xe8\\x00\\x00\\x46\\x30\\x9a\\xa3\\xe1\\xc0\\x63\\xba\\x58\\xdd\\xce\\x8d\\xa1\\x7c\\x21\\x0f\\xd5\\x2b\\x95\\x98\\xaa\\xc2\\xb9\\xb9\\x28\\x10\\xc8\\x20\\x41\\xec\\x91\\x7c\\x57\\xa6\\x94\\xab\\xe4\\xe5\\x6e\\x1a\\x97\\x67\\x67\\x93\\x39\\xc2\\xa2\\x99\\x35\\x99\\xcc\\xcc\\xcc\\xa3\\x99\\x4c\\x66\\x38\\x02\\x13\\xb4\\x4c\\xa9\\x46\\x62\\x2d\\xcd\\xe4\\xd4\\xf7\\x1c\\xeb\\x4f\\xaf\\xb2\\xea\\xca\\x81\\x50\\x03\\x78\\x3f\\xa8\\xb0\\x89\\x7a\\x36\\x2c\\x2d\\x11\\x11\\x78\\xf3\\xab\\x16\\x97\\x8e\\x9c\\x30\\xe2\\xd2\\x73\\x73\\x86\\xa9\\x1d\\x1f\\x1c\\xef\\x44\\xcc\\x8d\\xaf\\x94\\xff\\x66\\xca\\x30\\xee\\x95\\xc3\\x87\\xc9\\x78\\xd0\\x3c\\x56\\xc2\\x69\\x57\\x21\\x8a\\xd0\\x39\\x89\\xc3\\x30\\x3c\\xe8\\x81\\xbd\\x8c\\xd3\\xc9\\x17\\x32\\xae\\x7d\\x9d\\x9f\\xb5\\xba\\xbc\\x9c\\x58\\x50\\x82\\x27\\x83\\xfc\\x74\\x57\\x46\\x05\\x92\\xb4\\xd5\\xa3\\x58\\x19\\x52\\xc6\\x79\\x99\\xd3\\x63\\x14\\x48\\x85\\x57\\x13\\xf0\\x9d\\x40\\x0e\\x93\\xf8\\x14\\x99\\x71\\xb9\\x70\\x01\\x3f\\xf2\\x3b\\x93\\x35\\x18\\xf0\\xa2\\x60\\xc0\\x9b\\x18\\x98\\xa8\\xc3\\xd3\\x46\\x05\\x99\\x60\\xe1\\xb9\\xf0\\xc2\\x9e\\x04\\x3c\\xc0\\x75\\x18\\x3e\\xa8\\xd8\\x59\\x5a\\x80\\x25\\xc1\\xf7\\x6e\\xad\\x04\\x2d\\x92\\x2c\\x73\\xd6\\x28\\xc3\\x6c\\x82\\xe5\\x68\\x19\\xe6\\x99\\x59\\x2c\\x53\\x88\\x69\\xd0\\xdf\\xdb\\x0f\\x17\\xfb\\xe1\\x0a\\xff\\x6c\\x3f\\x93\\xe7\\xbf\\xda\\xcf\\xb0\\x5a\\x1b\\xa9\\x22\\x8a\\xb1\\x60\\x8a\\xd0\\xd6\\x7c\\x00\\x21\\x71\\x07\\xe5\\xb7\\x1e\\x34\\x53\\xe9\\xcf\\xb8\\x59\\x27\\xcb\\x39\\x4d\\xb2\\xec\\xe1\\x2d\\x22\\xb2\\xd9\\x10\\xc7\\x7a\\x7d\\x5a\\xd2\\x03\\x9e\\x33\\x59\\xeb\\x63\\x58\\xff\\x95\\x30\\x0f\\xc0\\xfc\\x47\\x22\\x79\\x96\\x78\\x96\\x73\\x21\\x39\\x99\\x82\\xa5\\x26\\xa1\\x28\\xa4\\x26\\xbf\\xd4\\x32\\xbd\\xf7\\xed\\x5b\\xae\\xeb\\xbc\\x4e\\x2d\\x37\\x98\\x93\\xe4\\x06\\x4b\\x26\\x59\\x82\\x7c\\x11\\x72\\xd9\\xc3\\xf1\\xbf\\xbf\\xf6\\x3a\\xb3\\x8b\\x7b\\x2e\\x6e\\x62\\x5e\\x88\\x5f\\xcc\\x86\\x3b\\x72\\xd7\\x67\\xaa\\xef\\xc3\\xa7\\x5a\\x8a\\x30\\x3d\\xf9\\x12\\xf7\\x5d\\x4d\\x7c\\x11\\x1e\\x87\\x69\\xea\\x30\\x92\\x47\\x0b\\x8f\\x43\\x21\\x5d\\x53\\xb7\\x80\\x8a\\xfb\\x65\\x7d\\x16\\xb2\\xfb\\x65\\x07\\x1d\\xa6\\x02\\x63\\xce\\x69\\xae\\x28\\x3a\\xe7\\xe7\\xe9\\x74\\x52\\x43\\xe9\\x04\\xac\\x56\\xbe\\x90\\xb8\\xc7\\x1f\\x6b\\x95\\x1d\\xc8\\x9c\\x46\\x27\\x5d\\xcb\\xa8\\x70\\x5c\\xa3\\x13\\x20\\x65\\xac\\xe7\\x59\\xed\\x46\\x81\\x54\\x78\\x35\\x01\\xdf\\x09\\x37\\x6b\\x75\\xc8\\x32\\x86\\xc7\\xb4\\x78\\xaa\\xd5\\x65\\xed\\xb6\\x8e\\x3d\\x46\\x19\\x3c\\xf7\\xf3\\x71\\x99\\x2c\\x05\\x13\\x0d\\x69\\x19\\x03\\x8e\\x7d\\x9d\\x5f\\xb5\\x3a\\x6c\\x5a\\x31\\x6d\\xfa\\x49\\x39\\x13\\xde\\x1c\\x9e\\xa6\\x6d\\x2b\\xc5\\xe5\\x04\\x29\\xbe\\x95\\xd6\\xc4\\x71\\xb8\\x26\\x7e\\x5f\\xe7\\xcb\\xad\\xbc\\x84\\x98\\x14\\x1a\\xbb\\x0b\\x4f\\x76\\xef\\x14\\x78\\xf5\\x12\\xad\\x27\\x04\\x9e\\xbb\\x98\\x13\\x0d\\x60\\x0c\\xdb\\xf9\\x2e\\x86\\x9d\\x46\\xfb\\xa1\\xc1\\x92\\x07\\x98\\x7a\\x81\\xe7\\x31\\xb0\\x19\\x99\\xb9\\x24\\x66\\xda\\x07\\x11\\xc3\\x57\\xd2\\x3e\\x50\\x78\\x13\\xfc\\x8d\\x52\\x2f\\x43\\x5b\\xc3\\x80\\x04\\x92\\xa0\\x95\\xd0\\x9b\\x4f\\xe8\\xce\\xa6\\xe7\\x0e\\x93\\xb1\\xb4\\x39\\x4a\\x29\\xf1\\xda\\xfc\\x36\\xc1\\xed\\xf7\\xcb\\x60\\x11\\x2c\\x59\\x99\\x3e\\x99\\xd0\\x94\\xdb\\x8e\\x20\\x8c\\x75\\x55\\x3f\\x63\\xf1\\xd7\\xc7\\x2c\\x2e\\xc6\\x55\\x1f\\x23\\x99\\xbf\\xd3\\x5d\\x3d\\x69\\x59\\x6b\\x0d\\xcd\\x05\\x6f\\x77\\x15\\x24\\xbf\\x98\\x53\\xcb\\x34\\x96\\x5f\\xa0\\xe5\\x19\\xf3\\xd2\\x64\\x1b\\x2e\\xdb\\x06\\x2d\\xcb\\x98\\x96\\x71\\x6c\\x03\\xb7\\x5e\\xcf\\x36\\xb6\\x4e\\x9d\\x41\\x33\\x8e\\xb1\\xb9\\x4c\\x03\\xc9\\x36\\x46\\xf2\\x8e\\x31\\x77\\xd4\\x92\\xa4\\x63\\x6a\\xdf\\x0d\\xaa\\x8b\\xe4\\x1d\\xd3\\xe6\\x8c\\x0f\\xd3\\xf5\\xdd\\x4b\\x5f\\xdf\\x0f\\x68\\xeb\\x1b\\x6c\\x36\\x3c\\x42\\x7e\\xab\\x3f\\x9f\\xb7\\xa6\\x8c\\x3d\\xcd\\x1f\\x43\\xc7\\xbe\\x5c\\xa7\\xbd\\xbd\\x1a\\x8f\\x0a\\x85\\xf0\\xf8\\x64\\xee\\xeb\\xfc\\x6b\\x6b\\x66\\x8e\\x84\\xd2\\xc6\\xb4\\x6b\\x19\\x95\\x29\\xd0\\x79\\x14\\x29\\x13\\x2a\\x08\\x65\\x1b\\x05\\x52\\xe1\\xd5\\x04\\x7c\\x27\\xbc\\xaf\\xf3\\x9c\\xcc\\x4c\\x5c\\x20\\x97\\xcb\\x0d\\x25\\x6b\\x30\\xe0\\x69\\x1f\\xca\\xf5\\x3e\\xbc\\x9c\\xd2\\xa6\\xc8\\xbe\\xce\\x1f\\x5b\\x23\\x65\\xdd\\xb6\\x69\\x4f\\xa2\\x0c\\xc0\\x87\\x1a\\xad\\xb2\\xb4\\x14\\xcb\\xe4\\xec\\xeb\\xec\\x6c\\xcd\\xc9\\xd2\\x8a\\x19\\x93\\x4d\\xce\\x92\\x7c\\xc6\\xe5\\x70\\xb3\\xb1\\xae\\x93\\xaf\\x38\\x38\\xb3\\x20\\x31\\x08\\x99\\x25\\x56\\xb6\\x22\\xac\\xd4\\xa0\\x8c\\xe8\\x8d\\xe9\\x09\\xc8\\x4c\\x50\\x6d\\x02\\xbf\\x09\\x70\\x05\\x77\\xc1\\xd5\\xea\\xb6\\x69\\x30\\x11\\x26\\x4e\\x57\\x1f\\x84\\x86\\x29\\xea\\x56\\x75\\x13\\x0c\\x81\\xab\\xa1\\x61\\xaa\\xba\\x15\\xea\\xa7\\xab\\xdb\\xd5\\x6d\\xd3\\x61\\x92\\xba\\x99\\xe6\\x0a\\xbc\\xb4\\xf3\\x2d\\xfe\\x0c\\xff\\x3c\\xe6\\x64\\x99\\x98\\x2b\\x5e\\xac\\xe4\\x07\\xc2\\x59\\x5e\\xaf\\x0b\\x65\\x49\\x16\\x64\\x29\\x2c\\xc8\\xf1\\x07\\xf3\\x48\\x26\\x1a\\xa7\\x8d\\xe3\\x82\\xf5\\x31\\x91\\x73\\x93\\x44\\x34\\xe7\\x84\\x56\\x26\\x34\\x19\\xca\\xa3\\x34\\xbd\\xb7\\x48\\xcc\\xaf\\x2e\\x74\\x92\\x44\\x34\\x7e\\x2c\\xb8\\xf9\\xd8\\xca\\x22\\xc0\\x5b\\x19\\x02\\x8f\\x1f\\xb0\\x4c\\xa3\\x27\\xf2\\xf9\\x69\\xc7\\xbc\\xfd\\x6f\\xec\\x22\\x79\\x68\\xfe\\xfb\\xe8\\xfc\\xb6\\xc3\\x4f\\xbc\\x72\\x75\\xbc\\xff\\x2d\\xad\\x67\\x80\\xef\\xb0\\x5f\\xc3\\xbc\\x72\\xeb\\x9e\\xef\\xd5\\x9f\\xb5\\x94\\x3e\\x8d\\x77\\xff\\xa7\\x0d\\x86\\x92\\x44\\x34\\x37\\xdc\\xf3\\xfd\\x7e\\xf5\\xa5\\x13\\x6b\\x3a\\x1e\\x1f\\x07\\x3d\\xc0\\xfd\\x8f\\xfb\\xd8\\xd1\\x57\\xaa\\x7f\\x25\\x63\\x4d\\xf3\\x6d\\xd0\\xf9\\xef\\xa3\\xd3\\xcc\\x2a\\x8d\\x97\\x78\\x3c\\x98\\xc4\\xbc\\xfb\\x3a\\xff\\xd5\\xea\\x0d\\x70\\xf6\\xb4\\xf9\\xe9\\x5a\\x46\\x85\\x6f\\x75\\x7e\\x45\\xca\\x78\\x0a\\x3c\\x7e\\xa3\\x40\\x2a\\xbc\\x9a\\x80\\xef\\x84\\x3f\\xe9\\x74\\xec\\xf5\\xe2\\x02\\x41\\x14\\xf4\\x24\\x6b\\x48\\xc0\\xef\\x31\\xe0\\xf1\\xfc\\x6f\\x31\\x78\\x15\\x69\\x15\\x03\\x81\\x7d\\x9d\\x6a\\x6b\\xc0\\xa7\\x15\\x4a\\xf2\\x2a\\x7a\\x2e\\x9f\\xb6\\x6b\\x80\\xde\\xae\\x76\\xbd\\x5d\\x26\\x5c\\x8d\\xe9\\x42\\x93\\x95\\x93\\x12\\xed\\x4a\\xc9\\x69\\x44\\xf2\\xf0\\xf4\\x56\\x32\\xdd\\x66\\x41\\x10\\x6d\\x98\\xcb\\xf8\\x03\\xbc\\xbb\\x3e\\x66\\x26\\x99\\x77\\xb0\\xe6\\x27\\x48\\xac\\x40\\x4c\\xfc\\xd4\\x26\\x5c\\x52\\xd2\\xe5\\xf0\\xa5\\x87\\xb8\\x5f\\xc8\\x89\\x0d\\x2f\\x49\\x68\\x94\\x48\\xb3\\xf3\\xd5\\x9c\\x8f\\xd7\\xa9\\x57\\x1f\\x38\\x00\\xf7\\x9c\\x02\\xa6\\x6d\\xfb\\x76\\x92\\xd3\\xe8\\xfe\\x47\\x99\\xe3\\xcd\\xaf\\xcf\\x54\\x3f\\xe4\\x5b\\x3a\\x3e\\x3d\\x72\\xfb\\x7d\\xf1\\xb6\\x8d\\x9a\\xec\\x7d\\x57\\xe7\\x37\\xdc\\x6a\\xfe\\x08\\x5e\\xe5\\xd7\\x2b\\x17\\xe6\\xb8\\x4a\\x03\\x45\\x42\\xd8\\x6a\\x45\\xa8\\xa8\\x34\\xcc\\x95\\x57\\x44\\x02\\xe0\\x0d\\x80\\x10\\x80\\x12\\x2b\\x04\\xad\\x40\\x32\\xed\\x78\\xf8\\x80\\x35\\xc2\\x46\\x42\\x75\\xb1\\x08\\x0a\\x7b\\x59\\x13\\x89\\x56\\x6f\\xac\\x80\\xe1\\x15\\x40\\x13\\x8f\\x4c\\x48\\x6c\\x91\\x7a\\xfe\\x9c\\x7a\\xc3\\x30\\xec\\x4f\\xaa\\x99\\xe5\\xba\\xcc\\x1c\\x05\\x23\\x9e\\x57\\xb7\\xfb\\x1a\\x0a\\x35\\x0d\\x0a\\xef\\x6d\\xa8\\xd4\\xd4\\x04\\xec\\xe3\\x56\\xbf\\xf8\\xd8\\xe3\\x8d\\x4c\\xe5\\xb6\\x8b\\xc7\\x5f\\x3d\\x7a\\xd2\\xf8\\x71\\x7d\\x7b\\xf7\\xab\\xba\\xfd\\xfa\\xb5\\x2b\\x5b\\xbf\\xfe\\xd7\\xfe\\xcf\\x6e\\x1c\\x9e\\x57\\x3d\\xb2\\x6c\\x1f\\x14\\xad\\x7b\\xb8\\xd7\\xf6\\xac\\xf3\\xc6\\x0c\\x57\\xa6\\xf4\\xeb\\xbd\\x64\\xcc\\x05\\x93\\x7b\\x94\\x8d\\x2a\\xbf\\x7c\\xc2\\xb6\\x07\\x3b\\x58\\x8e\\xfd\\xe2\\xcb\\x07\\x96\\xad\\x9e\\x5a\\xdb\\x2b\\xab\\xb0\\x7f\\xdf\\xf0\\xad\\x9a\\xdc\\x4a\\xcf\\x12\\xf3\\x27\\xf1\\xbc\\x0d\\xa2\\x7b\\xeb\\x1f\\xd0\\x8b\\x1a\\x8f\\xe8\\xd5\\xcb\\x59\\xc8\\x94\\xef\\xeb\\xbc\\xaf\\xb5\\xbc\\x8a\\x0d\\xa6\\xd1\\x60\\xd7\\x32\\x73\\x61\\x94\\xce\\xb7\\x48\\x99\\x5e\\x96\\x5e\\x95\\x46\\x81\\x54\\xf8\\x63\\x06\\x3c\\xb3\\x0c\\xfd\\x4d\\xab\\x03\\x4b\\x0a\\x85\\x4c\\x35\\x71\\xa0\\x57\\xf7\\xea\\xb6\\x8e\\x97\\x12\\x65\\xb6\\xa0\\x1f\\x53\\xda\\xd5\\x6f\\x5f\\xe7\\x89\\xd6\\x7e\\x97\\x74\\x5b\\x66\\x41\\xa2\\x5d\\x33\\xd0\\xd7\\x06\\xef\\x22\\xa5\\x58\\xa6\\x6a\\x5f\\xe7\\x9b\\xad\\x55\\x15\\x5a\\xb1\\x24\\xed\\xd2\\x72\\xc2\\xec\\x44\\x5d\\x9b\\x40\\x32\\xca\\x55\\x56\\x92\\x72\\xb8\\x89\\x6f\\x24\\x9a\\x68\\xf0\\x3c\\x16\\x5d\\xd4\\xf9\\x8d\\x70\\x90\\x1b\\x86\\x8a\\x50\\x25\\xea\\x8f\\x1e\\x53\\x26\\x66\\x65\\x67\\xf7\\x70\\x59\\xf3\\x2a\\xfb\\x03\\xf8\\x2a\\x2b\\xab\\x5c\\x55\\x85\\xa2\\x24\\x15\\xba\\x0a\\x07\\x5c\\x50\\x55\\x54\\x17\\x93\\xab\\xc0\\xc3\\x55\\x55\\x59\\xf3\\xcc\\x91\\x48\\x1f\\x4c\\x3e\\x0e\\xdf\\x79\\x23\\x62\\x3e\\x9f\\x3d\\x5c\\x93\\x05\\xf6\\xac\\x99\\x59\\x58\\xd5\\xcb\\xca\\x0a\\x87\\x83\\x75\\xb1\\xb0\\xc3\\x5e\\x56\\x17\\xb3\\xfb\\xcc\\x5c\\x5d\\xec\\x94\\x08\\xcd\\x98\\x85\\x8a\\x66\\x1f\\xcd\\xeb\\x98\\x72\\xb0\\x30\\xed\\x40\\x76\\xc2\\xfe\\xdd\\xb7\\x8b\\x7a\\x96\\x14\\xd4\\x5d\\x7d\\x13\\xaa\\xb4\\x97\\xd2\\x1d\\x39\\x4d\\x1a\\x66\\x0d\\x43\\x77\\xda\\xa1\\x6d\\x7f\\x6f\\x72\\xc2\\xb4\\x40\\x3b\\xa4\\x4d\\x73\\xe1\\x16\\x68\\xa7\\x4d\\xd9\\x37\\x98\\x75\\x77\\xea\\xc7\\x4d\\xd5\\x03\\x53\\x86\\xbf\\x7b\\xcf\\xa3\\x3b\\xbf\\xfb\\xfe\\xf4\\xcc\\xf9\\xb7\\xdd\\x28\\xbf\\xd8\\x13\\xee\\xfa\\xf5\\x8f\\x73\\x4f\\xc2\\x27\\x1d\\x75\\xaf\\x2c\\x5d\\x75\\xd1\\xe4\\x09\\x53\\xee\\x1f\\xcb\\xfc\\x64\\x5f\\x73\\x47\\xd3\\xbd\\x02\\xfc\\xd7\\xf9\\xcc\\x7e\\xed\\x3c\\x2a\\xdc\\x79\\xd3\\x13\\xeb\\x76\\xed\\xe6\\xb8\\xfe\\x77\\xcc\\xac\\x1b\\xef\\x84\\xc8\\xca\\x95\\xf1\\x97\\x03\\x39\\x1c\\x5b\\x75\\xcd\\x90\\xb1\\x93\\x62\\x1b\\xc7\\x1c\\x7a\\x7c\\xf3\\xe3\\x9b\\x75\\xfa\\x54\\x87\\x91\\xf3\\xcf\\x78\\x6e\\x2e\\xd1\\x65\\x3f\\xab\\x2e\\xfb\\x9d\\x97\\x1d\\x94\\xc5\\x82\\xd4\\xb9\\x0f\\x50\\x9a\\xac\\xd5\\xe9\\xf8\\x13\\x8d\\x5e\\x82\\x41\\x4c\\x2f\\xa1\\x7d\\x9d\\x27\\x5b\\x43\\xd9\\x56\\xe7\\x39\\xf4\\x92\\x5a\\x66\\x2e\\x34\\xea\\x74\\x4c\\xca\\x04\\x47\\x05\\xb3\\x8c\\x02\\xa9\\xf0\\xc7\\x0c\\x78\\x4c\\xc7\\x3f\\xea\\xfb\\x6f\\x28\\x84\\x0b\\x84\\xa5\\x70\\x30\\x59\\x43\\x02\\x7e\\x41\\x02\\xff\\x0c\\xf4\\xb3\\x21\\xf3\\x93\\x56\\xb1\\x4c\\x36\\x97\\x9d\\xa9\\x95\\x48\\xc8\\xfc\\x66\\xcc\\x94\\xf6\\xd0\\x36\\xfd\\x40\\xe4\\x2c\\xf4\\x87\\x6d\\xba\\xcc\\xe7\\xa4\\x32\\xdf\\xc1\\xae\\x32\\xdf\\x1d\\x98\\x99\\x46\\x53\\xe0\\xe7\\xd6\\xe8\\x32\\x1f\\x86\\xe7\\x6a\\xd2\\x65\\xbe\\x63\\x18\\x76\\x3a\\x6d\\x3f\\x85\\x65\\x96\\x1d\\x33\\x64\\x3e\\x0c\\x6c\\x66\\xce\\x91\\xf9\\xf0\\x2a\\x60\\xaa\\x68\\xfb\\x35\\xdc\\x33\\x3e\\x4e\\xc8\\x7c\\x4e\\x22\\xf3\\x31\\xdd\\xc8\\x7c\\xe4\\x6c\\x4f\\x11\\xff\\x15\\xf5\\x55\\xcf\\x56\\x22\\x99\\x76\\x87\\x6c\\x76\\x79\\x3d\\x16\\xc9\\x14\\xc8\\x63\\xd9\\x8c\\xf3\\x8a\\x5d\\xb2\\xd7\\xcc\\x59\\xdc\\x6e\\xbb\\x90\\x53\\x17\\x93\\xea\\x04\\x10\\x48\\x9c\\x4c\\x58\\x34\\xd7\\x46\\x2c\\x95\\x96\\x41\\x16\\x96\\xb1\\xb8\\x2c\\x23\\x2d\\xac\\x89\\x15\\xb0\\x98\\x58\\x60\\x47\\xa8\\x20\\x79\\xe1\\x0d\\xdd\\x07\\xb4\\xa4\\x64\\x9a\\xb7\\x3e\\xaa\\xa5\\x9b\\xa4\\x1e\\x1e\\x7f\\xdf\\x72\\x7a\\xb8\\x44\\x73\\xda\\x14\\x16\\xf1\\x55\\xd5\\x85\\x45\\x15\\x3e\\x7f\\x81\\x1d\\x7c\\xae\\x2c\\x70\\x30\\xa9\\x27\\x4c\\x98\\xde\\xff\\xfa\\xf9\\xe7\\x53\\xcb\\x27\\x5e\\xbf\\x50\\x3d\\xf6\\xb7\\xeb\\x97\\xfe\\xa5\\xee\\x2a\\x28\\x87\\x63\\x8f\\xef\\xfa\\x65\\xc0\\xaa\\x4d\\x9b\\xef\\x5e\\x73\\xf7\\x03\\xf7\\x79\\x80\\xf9\\xe1\\x8c\\xda\\xff\\xa3\\x59\\x4b\\x67\\x4d\\x1c\\x7b\\x69\\xe4\\xa2\\x25\\x8d\\xe3\\x37\\xa9\\x33\\xfe\\x25\\xa8\\x67\\xd5\\x1f\\xe0\\xc7\\xb6\\x27\\x77\\x1d\\xd8\\xbf\\xe7\\x29\\x3a\\x4e\\x77\\x62\\x66\\xf0\\x3d\\xe5\\x55\\x23\\xb8\\x24\\xaf\\x22\\x23\\x4b\\xe8\\x02\\x22\\x7c\\xa4\\x4c\\xce\\x48\\x99\\x33\\x7a\\xfe\\x89\\xce\\xd9\\x48\\x9d\\x56\\x8f\\x6b\\xb4\\xea\\xf7\\xe3\\x71\\x0d\\x10\\x5a\\x0d\\x84\\x84\\x74\\xb9\\xac\\x6b\\x99\\xb9\\x30\\x55\\xa7\\x55\\x52\\xc6\\x3f\\xd8\\x1f\\x14\\xd2\\x64\\x45\\x0d\\xfe\\x98\\x01\\x8f\\x69\\xf5\\xb4\\x4e\\xab\\x81\\x00\\x2e\\x90\\x05\\x59\\x7e\\x01\\x9d\\xd3\\xa6\\x97\\x12\\xf0\\x5b\\xd0\\x7f\\x75\\x78\\xda\\xa8\\xb0\\x1c\\x2e\\xed\\x06\\x7e\\x41\\xa2\\x3d\\x33\\xd0\\xaf\\x06\\x6d\\x93\\x02\\x58\\x5a\\xe4\\x42\\x19\\x42\\xaa\\x90\\xc8\\xa2\\x0b\\xd1\\x71\\x2e\\xc2\\xdd\\x44\\xfd\\x89\\x16\\x34\\x44\\x39\\x9f\\xb5\\x58\\x90\\x24\\x71\\x02\\x27\\x58\\x65\\xc9\\xb4\\x2b\\x86\\xa4\\x3a\\x89\\x91\\x59\\x89\\x53\\x88\\x3d\\x1c\\xd0\\xae\\xd8\\x70\\xd8\\x0a\\x0c\\x90\\xfb\\x65\\xde\\x99\\x50\\x92\\x96\\x8c\\x3d\\x69\\x78\\xd3\\xfc\\x8e\\x40\\x13\\xb3\\xe3\\xbf\\x9f\\xee\\x88\\xbf\\xc0\\x7e\\x11\\x7f\\x7e\\x07\\xbb\\xff\\xd9\\x67\\xd5\\x07\\xef\\xb9\\x47\\x6d\\x7a\\xf6\\x59\\x2a\\x3b\\x96\\x76\\xfe\\x8d\\x6b\\xe5\\xc6\\x63\\x35\\x36\\x88\\xf2\\xd0\\x42\\x65\\x98\\x2f\\x3b\\xe4\\x76\\xa3\\x10\\x56\\x77\\x22\\xf9\\x59\\xde\\x40\\xd8\\x1a\\xc6\\x5c\\xd7\\xea\\x60\\x03\\x75\\x31\\x81\\xf5\\x9d\\xa6\\x07\\x9e\\xd6\\xd0\\x4c\\x04\\xda\\x11\\xa8\\xdd\\xc6\\x93\\x66\\x9a\\xa7\\xa0\\x21\\x02\\x75\\x11\\x50\\x8c\\x73\\x52\\x5d\\x03\\x76\\xba\\x95\\x3a\\x0d\\xbd\\x98\\x1e\\x57\\xa3\\x22\\x67\\x95\\x43\\x97\\x38\\x45\\x4d\\xe2\\xec\\x5d\\xa0\\x49\\x9c\\x02\\x77\\xe5\\xaf\\xdf\\xbd\\x32\\x77\\xf2\\xa3\\xfb\\xae\\x80\\x7f\\x1c\\x9e\\x3d\\xee\\xd1\\x27\\x47\\xbc\\xe4\\x57\\xb3\\x06\\x2d\\x7f\\x70\\x65\\xfc\\xcf\\x01\\xf8\\xfc\\x0f\\x77\\x6e\\x59\\xa5\\x1d\\x65\\xbb\\x7a\\xce\\x07\\x2b\\x4e\\x32\\x65\\xe3\\xa6\\x1f\\x5e\\x7a\\xba\\x65\\x7c\\xfc\\x9d\\x2b\\xdb\\x3f\\x59\\x34\\x9a\\xe9\\x35\\xe2\\x28\\x9e\\xa7\\x95\\x9d\\xdf\\xb0\\xff\\xa1\\x74\\x73\\xa5\\xa0\\xd1\\xda\\x37\\x9a\\x8c\\x49\\x49\\x13\\xeb\\x25\\xdf\\x60\\xbd\\x24\\x43\\x4e\\xa3\\xb5\\xae\\x65\\xe6\\xc2\\x58\\x5d\\x96\\x23\\x65\\x42\\x55\\xa1\\x6c\\xa3\\x40\\x2a\\xfc\\x31\\x03\\x1e\\xd3\\xda\\x29\\xad\\x8e\\xcc\\x4c\\x0c\\x9f\\xbb\\xaf\\xb3\\xa3\\x35\\x37\\xd4\\x6d\\x1d\\x0b\\x12\\x75\\xcc\\x40\\xdf\\x1a\\x72\\x26\\x65\\xa6\\x80\\xf5\\x8c\\x1f\\xb0\\x9e\\xa1\\x15\\x4b\\xee\\xd5\\x34\\x6e\\x9c\\xb6\\x6d\\xbc\\xbe\\x0e\\x42\\x7a\\xdb\\x30\\xd5\\x81\\xbf\\xb7\\x3f\\x68\\x72\\xa5\\xca\\x99\\x2b\\xc8\\x79\\x3e\\x2c\\xdf\\x79\\x50\\x2e\\x1a\\xa8\\xe4\\x64\\x72\\x6e\\xb7\\xc7\\x6b\\xf1\\x58\\xf2\\xf2\\xdd\\x21\\xce\\x2e\\xc9\\x32\\xe6\\x42\\xb2\\x4f\\x0a\\x90\\xa3\\x87\\xc4\\xbf\\xdf\\xf5\\xd0\\x7e\\x8a\\xbc\\xe9\\x4e\\xe6\\xf7\\x70\\x26\\xce\\xee\\x41\\xea\\x71\\xbd\\x15\\xad\\x9c\\x40\\xcf\\xe8\\xe9\\xa7\\xf6\\x98\\x0f\\x12\\x67\\xf5\\xf8\\x23\\x24\\xbb\\x07\\x3d\\xa0\\xf7\\x99\\x7e\\x6a\\x8f\\x7d\\xdd\\x38\\xa9\\x97\\xe8\\xd7\\x82\\x44\\xbf\\x66\\x90\\x5b\\x1c\\xb4\\xf1\\xa0\\x0b\\x10\\x42\\x44\\xee\\x0e\\x65\\x68\\xbd\\x4b\\x8e\\x87\\x66\\x23\\xda\\x94\\xb0\\x11\\xad\\x84\\x69\\x30\\x38\\x69\\x87\\xc2\\xfa\\x74\\xba\\xdd\\x4a\\x93\\x91\\xae\\x48\\xc8\\x3a\\x2b\\xd1\\xbf\\xd3\\xe5\\xbd\\x37\\x5b\\xcb\\xbb\\xca\\x62\\x5a\\x1d\\x3f\\x24\\x6c\\x57\\x1c\\xb5\\x5f\\x24\\xea\\xf0\\xb0\\x9e\\xcc\\x6e\\xea\\xf8\\x32\\x51\\xc7\\x06\\xac\\x01\\x26\\xeb\\xa8\\xdc\\xd7\\x79\\xa4\\xb5\\xb2\\x5f\\xd7\\x3a\\xd4\\x06\\xfe\\x8f\\x7c\\x4b\\xa2\\x1f\\x9b\\xd9\\x67\\x88\\xdf\\xec\\x69\\x26\\xb8\\xaf\\xf3\\x68\\x6b\\x30\\x28\\xea\\x5b\\xbd\\x26\\x13\\x8c\\x26\\xf9\\x6f\\x12\\xf8\\x37\\x33\\xe4\\xac\\x23\\x86\\xed\\x47\\x36\\xc8\\x7e\\xfd\\x82\\xc1\\x24\\x2c\\xcd\\xc1\\x4e\\xf5\\x92\\x42\\x5d\\xc7\\xbe\\x42\\xa7\\x97\\x20\\x51\\x7f\\x6e\\x0b\\x66\\xe9\\x06\\xa4\\xe4\\x1e\\xcf\\xbe\\x49\\xe9\\xeb\\x92\\x74\\x3e\\x0b\\x78\\xc7\\x86\\xe0\\xac\\x60\\x96\\x9c\\x66\\x37\\xd4\\xf0\\xab\\x09\\xfc\\x9d\\x70\\x24\\xc1\\xfb\\x79\\x92\\x06\\x35\\x6c\\x58\\xa8\\x12\\x63\\x83\\xf1\\x1f\\x33\\xf0\\xe3\\xb5\\xd2\\x9e\\xba\\x57\\x84\\xcd\\x61\\x43\\xaa\\xd1\\xe0\\x35\\xfc\\xff\\x31\\xf0\\x33\\x1b\\x99\\x3c\\x28\\x48\\xb6\\xbf\\x28\\x98\\xd9\\x5d\\xfb\\x8f\\x24\\xf0\\x6f\\x84\\xd2\\xd4\\xf6\\x3b\\x83\\x99\\xbf\\xdb\\x7e\\x13\\x4a\\xb4\\x3f\\x48\\x2a\\xc8\\x2c\\xcc\\xcc\\xfb\\xdd\\xf6\\x2f\\x47\\x1f\\x24\\xe0\\x09\\x43\\x71\\x64\\xe6\\xa5\\xb5\\x9f\\xe6\\x8f\\xa7\\xf8\\x8b\\x74\\xfc\\x53\\x34\\x5a\\xa0\\xda\\xa4\\x6f\\x5f\\xe7\\xe3\\xad\\xbe\\x4c\\xfe\\xdc\\xbd\\xae\\x93\\x3f\\xe2\\x28\\x44\\x97\\xd2\\x31\\x3d\\xcb\\x3e\\x8f\\x86\\x22\\xb7\\x62\\x61\\x4a\\x10\\x53\\x72\\x45\\x49\\x89\\x5d\\xd3\\x58\\x6b\\xf4\\x39\\xd6\\xed\\x4c\\x2e\\x01\\xdd\\x93\\x90\\x41\\xae\\xc7\\x6b\\x3e\\x1b\\x9d\\x8f\\x65\\x90\\x1e\\x39\\x0e\\xa1\\xc0\\x89\\x6c\\x36\\xaf\\x5f\\xf0\\x97\\x94\\x06\\xbd\\x7e\\x1a\\x68\\xe6\\xb1\\x3b\\x72\\x1c\\x51\\x07\\xeb\\x67\\x1d\\x0e\\x17\\x26\\x35\\x89\\x95\\xce\\xab\\xa3\\xd1\\xbc\\x8a\\xd3\\x24\\xd7\\x4a\\x0e\\x36\\x8f\\xa8\\x76\\x35\\xa5\\xb0\\xba\\x14\\x26\\xe8\\x27\\x79\\x4b\\x0c\\xce\\xd0\\x37\\x61\\x95\\x4a\\x70\\x09\\x1a\\x5d\\xe7\\x22\\x32\\x48\\x7a\\x42\\x1a\\x92\\x58\\xbd\\x4a\\x3f\\xf0\\xf8\\x3f\\x12\\xd3\\xa8\\xef\\x41\\x69\\xeb\\x92\\x25\\xbf\\x9d\\x9e\\xe6\\xf1\\xc5\\xf7\\xde\\xbb\\xb8\\xa3\\xb8\\x4b\\x86\\x9a\\xa4\\x8d\\x71\\x93\\x61\\x63\\xc4\\x7c\\xe0\\x16\\xcc\\x07\\x52\\x6c\\x9f\\xdf\\xb6\\xca\\x5d\\xed\\x92\\x9a\\x7c\\x7a\\x45\\x42\\x9e\\x5d\\x99\\x90\\x67\\x35\\xa1\\x99\\x0d\\xa5\\xcb\\xb3\\x5a\\x1d\\x3f\\x24\\xec\\x98\\x1c\\x2c\\x4f\\xb1\\xaf\\xda\\xf7\\x75\\x7e\\xdd\\x6a\\xf7\\x77\\x5b\\xc7\\x97\\x89\\x3a\\x36\\x80\\x23\\xb5\\x8e\\x2c\\x26\\x2b\\xbf\\x9b\\x3a\\xfe\\x93\\xe8\\xc7\\x46\\x38\\x8c\\xe9\\xdd\\xf7\\x8c\\x66\\x8e\\x25\\xdb\\x95\\xd5\\x96\\xb0\\xc8\\x26\\xf0\\x1f\\x49\\xe0\\xdf\\x08\\x83\\x52\\x65\\x78\\x26\\x98\\x99\\x2e\\xc3\\xef\\xc0\\xbc\\x43\\xa5\\x7c\\xe6\\x3c\\x9d\\xcf\\xd4\\x51\\xde\\x41\\xcc\\x2d\\x07\\x5b\\xbd\\x5e\\x8b\\x25\\x9d\\xcf\\x04\\x28\\x9f\\xd1\\x70\\x6f\\x86\\x85\\x1a\\x9f\\xc9\\xdf\\xa7\\x7e\\xdf\\x9a\\x9f\\x9f\\xca\\x93\\xba\\xd8\\x85\\x31\\x9d\\xcf\\x4c\\x19\\x1b\\xdb\\xbe\\xce\\x7f\\xb6\\xda\\x3c\\xdd\\x8e\\x4d\\x52\\x9f\\x58\\x8e\\xbe\\x4a\\xd1\\x59\\x32\\x09\\xc3\\xcf\\xcc\\xeb\\xa2\\xb3\\xd0\\x7b\\x02\\x68\\x3d\\xe7\\xeb\\xfc\\xe6\\x63\\x7d\\xfd\\x85\\xc3\\xb8\\xa2\\x82\\xbc\\x82\\x1c\\xe4\\x4f\\x95\\xd3\\x48\\x4e\\x1c\\x5a\\xc7\\x10\\x9d\\xdf\\xfc\\x55\\x1f\\xff\\xb2\\x32\\x5c\\x49\\x15\\xaa\\x8a\\x3a\\x33\\x53\\xe0\\x35\\xfc\\x3f\\x18\\xf8\\xf1\\x1c\\xff\\xa4\\xe3\\xcf\\xc9\\xc1\\xf8\\xf3\\x8a\\xf2\\xce\\xef\\x06\\xff\\x97\\x09\\xfc\\x1b\\xd0\\x2f\\x3a\\xfe\\x68\\x94\\x6c\\x28\\xa8\\xbc\\x4f\\x37\\xf8\\xff\\x63\\xe0\\xc7\\xfc\\xac\\x4a\\xe7\\x67\\x04\\x7d\\x4e\\x51\\x4e\\xae\\x81\\x5e\\xe7\\x05\\x14\\xff\\x91\\x04\\xfe\\x8d\\x34\\x8f\\x33\\x99\\x5f\\x82\\x3e\\x8a\\xa2\\xbd\\x0c\\xf4\\xfa\\xf8\\xa8\\xc3\\xc8\\x3d\\x0a\\x89\\xf1\\xf9\\x85\\x19\\xa6\\xe9\\x8b\\xf9\\x3d\\xf3\\x8d\\x91\\x49\\xe0\\x15\\xc2\\x0e\\x1d\\xaf\\xd4\\x01\\x7d\\xb4\\xb1\\xaf\\xae\\x26\\x78\\x89\\xcc\\x12\\xad\\x48\\xb6\\x3c\\x69\\x13\\xa6\\x63\\x5f\\xa2\\x8f\\xfd\\xfd\\xfa\\xd8\\x68\\xc6\\x7f\\xe4\\xb2\\x72\\xe6\\x74\\x7b\\x3c\\xfb\\x9d\\x38\\x10\\xc3\\x0f\\xd5\\xe0\\xd1\\xf7\\x48\\x21\\x34\\x11\\x0c\\x32\\x85\\xa0\\x19\\x52\\x33\\x5c\\x42\\xb2\\x0e\\xdd\\x66\\xfe\\x1c\\xcd\\xc1\\xeb\\x47\\x8b\\x95\\x7c\\xbf\\x85\\x65\\x25\\x91\\xf3\\x60\\xa5\\xd7\\x61\\x77\\xf3\\x6e\\x20\\x27\\xf9\\xdc\\x81\\x0c\\x94\\x01\\xcd\\x19\\x6b\\x32\\xb6\\x65\\xb0\\x19\\x84\\x63\\x9d\\x67\\x73\\xd6\\xda\\x33\\xc0\\xc2\\xfa\\x99\\xfa\\x98\\xcf\\x25\\x88\\x42\\x7d\\xcc\\x6e\\x11\\x15\\x3f\\x6c\\xf3\\xb7\\xfb\\x19\\xbf\\xe8\\x17\\x65\\x13\\xc9\\x64\\xad\\x5d\\x9b\\x40\\xaf\\xec\\xc5\\xec\\x8a\\x06\\x96\\xd0\\x08\\xe1\\x12\\x6a\\x46\\xa0\\x17\\x48\\x1a\\x21\\x5f\\xfa\\x11\\x4c\\x7a\\x95\\x02\\xc9\\xc7\\xa4\\x85\\xf6\\x11\\x36\\x46\\x72\\xdb\\x71\\x53\\xe2\\x70\\x60\\xc3\\x86\\x03\\x4c\\xe7\\xf3\\xf7\\xdf\\xff\\x7c\\x1c\\xc8\\xed\\x0a\\x1c\\x6c\\xf8\\x12\\xff\\xdb\\x70\\xb6\\x93\\xed\\xf1\\xde\\x7b\\x9a\\x7d\\xcd\\xac\\xe7\\x18\\x0a\\x63\\x4e\\x9c\\x9f\\x95\\xe1\\x74\\xfa\\xbc\\x2e\\x31\\xe8\\x62\\x73\\xa5\\x3c\\x25\\xaf\\x2e\\xaf\\x21\\x8f\\x55\\xf2\\x9a\\xf3\\x98\\xd5\\x79\\x80\\xf2\\x00\\xf3\\x5c\\xd2\\x9b\\x80\\xdb\\x5f\\x9b\\xe9\\xf1\\x7a\\x46\\xc4\\x32\\xbc\\x5e\\x7f\\x4a\\x36\\x22\\x62\\x29\\x32\\x59\\x6b\\x59\\x72\\x7f\\x95\\x91\\x66\\x48\\xbf\\xd2\\x0e\\x4a\\xe8\\x45\\xa8\\xb3\\x9c\\xda\\xc9\\x46\\xbd\\xf5\\xdd\\xa5\\x1d\\xd2\\xfb\\xa2\\x85\\x67\\xa7\\xa7\\x1f\\x5a\\xb2\\xa4\\x15\\x4a\\xd5\\xf7\\x44\\x60\\x63\\x34\\x09\\xd1\\x58\\xe6\\x76\\x2d\\x09\\xd1\\x63\\xdc\\x5e\\xc2\\x79\\xd7\\x5e\\xb0\\xc8\\x8c\\xf5\\xe8\\x7d\\x78\\xa2\\x96\\x52\\xbb\\xba\\xe6\\x0b\\x61\\x8e\\x6a\\x54\\x40\\x1d\\x33\\x32\\x23\\x67\\xa4\\xeb\\xd1\\x1a\\x3c\\xd5\\xad\\x34\\xbd\\x7b\\x0b\\x86\\xcf\\x54\\x5c\\x9a\\x52\\x2f\\xd3\\x13\\x9e\\x7a\\xa1\\x1b\\x13\\xb4\\x83\\x27\\x9c\\xe9\\x45\\xf9\\x79\\xa9\\xc6\\x9b\\x3b\\x3f\\xd2\\xe4\\x3a\\xdd\\xfd\\xc3\\xf0\\x5c\\x9a\\x1d\\x80\\xc2\\x53\\x5e\\xae\\xd5\\xb1\\xf2\\x23\\xa3\\x4d\\xce\\xae\\xd0\\xb4\\x4d\\xc4\\xff\\x73\\x1d\\x5d\\xe7\\x5a\\x1f\\xb8\\xaf\\x52\\xfa\\x20\\x32\\xa2\\xbd\\x3b\\x78\\xba\\xce\\x35\\xfc\\x1b\\x7e\\x4c\\xc1\\x2f\\xb2\\xa2\\xdc\\xc5\\x76\\x30\\x5e\\x1d\\x0d\\xcf\\x53\\x3e\\x4b\\xf1\\x33\\x9b\\xad\\x74\\x15\\xe2\\xde\\xca\\x2c\\x5b\\xa0\\xb5\\x39\\x07\\xc3\\x2c\\xa4\\x6b\\xfb\\x32\\x0d\\x06\\x8f\\x8b\\x53\\xb1\\xf8\\xdd\\xc0\\x38\\x91\\xd3\\xa9\\xb1\\xd7\\x09\\x1a\\x7f\\xa5\\x77\\x75\\x50\\xbe\\xa1\\x8d\\xc7\\x46\\x54\\xa4\\xf3\\x0d\\xea\\xdd\\x42\\x9c\\x90\\xb0\\x74\\x50\\xba\\x3b\\x88\\x7f\\xcd\\x25\\xe7\\x5b\\xc0\\xac\\xec\\xd7\\xee\\xf6\\xb0\\x23\\x6f\\x84\\x9e\\xcd\\x4a\\x1c\\xe0\\xd2\\x8e\\x61\\x69\\x07\\xbb\\xb4\\xd3\\x5b\\x37\\xa4\\xbe\\x56\\x52\\xde\\xad\\x49\\x39\\xeb\\x95\\x0a\\x73\\x6d\\x7a\\xf9\\x3e\\x1f\\xf3\\xf0\\x56\\xca\\x11\\xaf\\xc9\\xf4\\x88\\x57\\x28\\xa5\\xcc\\x02\\x5a\\x06\\xa3\\x66\\x12\\x27\\xbb\\xb4\\x53\\x5a\\x89\\x23\\x5a\\x0d\\xc6\\x8d\\x21\\xe7\\x9e\\xd2\\x4a\\x1e\\xe2\\x3c\\x37\\x86\\xfa\\x37\\x22\\xab\\x6f\\xec\\x92\\x33\\xe8\\x60\\x2b\\xcd\\x5c\\x45\\xc6\\xf4\\x31\\xcc\\x8b\\x07\\xd3\\x98\\x85\\xd2\\x6f\\x91\\x43\\x44\\x3d\\xe0\\x33\\xfa\\x7c\\x39\\xe6\\x8d\\x2c\\x95\\xbf\\x2e\\xa3\\x32\\xf0\\xe5\\xf0\\x1a\\xd5\\xed\\x1d\\x2c\\x23\\xcd\\x94\\xc0\\x21\\x95\\x49\\x0c\\x20\\x07\\x82\\x09\\x55\\x55\\xd4\\xd5\\x8c\\xcb\\x90\\x7b\\x4a\\xde\\xa6\\xbc\\xb1\\x87\\xce\\x1b\\xab\\x75\\xde\\x48\\xfc\\xe7\\xe0\\xdf\\xef\\x77\\x32\\x49\\x0d\\x90\\xe9\\xbc\\x5f\\x1d\\xcb\\x44\\xf9\\x63\\x98\\x6e\\x7d\\x10\\x50\\x0e\\xe1\\x35\\xea\\xb4\\xb9\\x6d\\x66\\x33\\xeb\\x16\\xc5\\x80\\xdf\\xed\\x5d\\x3b\\xce\\xee\\x8e\\xba\\x6b\\xdc\\x4d\\xee\\x53\\x6e\\xde\\xc4\\xba\\x25\\x3b\\xe2\\xc8\\x71\\xe0\\xa3\\x01\\x38\\x10\\x80\\xd5\\x01\\xa8\\xa1\\x51\\x29\\x39\\xf4\\x94\\xeb\\xcc\\x53\\x01\\x68\\xa7\\x8f\\x3a\\x03\\xf0\\x54\\x00\\xb6\\x52\\x88\\x99\\xf4\\x28\\xac\\x62\\x1c\\x91\\x3d\\x6e\\x9c\\xc7\\x5d\\x13\\x80\\xe1\\x46\\x79\\x5c\\xf8\\x02\\x5c\\xe6\\x14\\x7d\\x7d\\x94\\x42\\x24\\xf2\\xce\\x60\\xdc\\x76\\x8a\\x51\\x7b\\x75\\x80\\xa2\\xd6\\x0a\\x77\\xd2\\x03\\xb9\\xed\\xf4\\xd0\\x6d\\x02\\xb8\\xdb\\x18\\xf8\\x59\\xbf\\x91\\x4f\\x6b\\x62\\x32\\x00\\x17\\x33\\xb2\\x84\\xc9\\x56\\x77\\x6f\\xea\\xb9\\x84\\xdc\\x89\\x8c\\x5a\\xe4\\x9e\\x16\\x6f\\x7e\\x51\\xbe\\x98\\x5f\\xe5\\xae\\xb8\\x5c\\xcb\\xad\\x35\\x0f\\x66\\x4c\\xff\\x98\\xf9\\xd7\\xb4\\xaf\\x8e\\xa8\\x63\\xf5\\xfc\\x5a\\x67\\x95\\xfb\\x57\\x08\\x37\\x78\\x76\\xee\\xf4\\x80\\x4d\\x97\\x4b\\xf0\\x7e\\x58\\x43\\xd7\\x61\\x4f\\x6d\\x3f\\x84\\x4f\\x34\\x79\\xc7\\xb1\\xaf\\xf3\\xed\\x56\\x87\\x95\\x4b\\x91\\x77\\x56\\xa8\\xc3\\x48\\x5e\\x2e\\x0c\\x3b\\x4c\\x87\\x1d\\x96\\x80\\xfd\\x3a\\x15\\xd6\\xc8\\xe1\\x45\\xce\\xd4\\xa3\\x0b\\x95\\x02\\x24\\xd3\\x1b\\x7e\\x4c\\x26\\x33\\xc7\\x5a\\x2d\\x72\\x33\\x4d\\xc1\\xc5\\xd6\\xc8\\xa0\\xa5\\xe0\\x92\\x78\\x3b\\x47\\x12\\xaf\\xe0\\xad\\xc7\\xe9\\xef\\x4b\\x82\\x66\\x2a\\x5c\\xbf\\x75\\x41\\x4c\\xd7\\xbc\\x5b\\xd7\\xa9\\xb7\\x71\\xfd\\xe2\\x3f\\x68\\x79\\xb7\\x74\\x39\\x2b\\x4a\\xf5\\xb9\\xa8\\xa6\\xcf\\xa1\\x27\\x09\\x9d\\x3d\\x03\\x02\\xa6\\x32\\x61\\x5f\\xe7\\xc4\\x56\\xc1\\x84\\xb8\\xa4\\x7c\\x38\\x0e\\xf3\\x2d\\x96\\xee\\xc1\\xc3\\x35\\x9f\\xb8\\x7b\\x98\\xc6\\x35\\xf0\\x0e\\xcc\\x0d\\x4d\\xb3\\x8f\\x92\\xb1\\x22\\x77\\xcf\\x24\\x70\\xff\\x02\\x4b\\xb5\\xfe\\x9b\\xf7\\x75\\xc6\\x5b\\xcd\\x82\\x8e\\x97\\x8e\\xd5\\x6d\\xea\\x30\\xb8\\x94\\x8e\\x95\\x86\\xf7\\x97\\x4e\\x0a\\x29\\x91\\x4d\\x5d\\x32\\x98\\xad\\xd1\\xde\\x14\\x9c\\x67\\x19\\x2f\\x46\\x80\\x75\\x19\\xb0\\x61\\xd6\\xb4\\x22\\x81\\xd4\\xd0\\x65\\x56\\x50\\x1b\\x2d\\x59\\x7b\\xc3\\x35\\x78\\x88\\x60\\xe9\\xa1\\x58\\xf1\\x0c\\xb7\\x43\\xd4\\xbe\\xd5\\x7e\\xdc\\xce\\x36\\xda\\x9b\\x49\\x1c\\x11\\xc2\\x95\\x41\\x38\\x59\\x19\\x0d\\x23\\xba\\xb1\\x9b\\x3a\\xb1\\xcc\\xf4\\x7e\\x7c\\x35\\xe1\\xbe\\x42\\xbd\\x20\\x19\\x9d\\xd0\\xeb\\xba\\x27\\x59\\x17\\x86\\xbb\\x08\\xc3\\xe1\\x5e\\x70\\xfb\\x60\\x54\\x6b\\x82\\xa3\\xd2\\xf9\\xf6\\xe8\\xf7\\xf2\\xc8\\xe8\\x12\\xa5\\xc0\\x8a\\x18\\xc6\\x24\\xf2\\x2c\\x6f\\xb7\\x09\\x60\\xb2\\x72\\x0e\\x11\\x44\\x05\\xc9\\x60\\x62\\xb1\\x20\\x64\\x66\\x79\\x86\\x5c\\x0b\\x66\\x58\\x6c\\xa3\\xf4\\x3a\\xfb\\x09\\x09\\x3b\\xad\\xb1\\x35\\xf3\\xd4\\x55\\x2f\\x56\\x55\\xe3\\x99\\x2f\\x60\\xa6\\xa9\\x9d\\xcc\\x1b\\x1d\\xf3\\xd7\\xae\\x3d\\x00\\xc0\\x66\\xdd\\xa7\\x7a\\x36\\x31\\xc1\\xd1\\x5b\\x46\\x33\\x87\\xe3\\x0f\\xaf\\xa5\\xf9\\x91\\xf1\\xaf\\xe7\\x69\\xce\\xb8\\xc1\\x4a\\x89\\x24\\x5a\\x2c\\x1c\\x83\\x37\\x14\\x19\\xcb\\x43\\x22\\xc7\\x0c\\x97\\x00\\x13\\x19\\x42\\xde\\x4e\\x9a\\xf9\\xbc\\xcd\\xb8\\x36\\x2a\\x47\\x4e\\x06\\x38\\xf6\\x8d\\x4e\\x78\\x5b\\x6b\\x43\\xa2\\x09\\x15\\x7a\\xed\\xd5\\x5e\\xd1\\xb9\\xe2\\x96\\x5b\\x5a\\x6f\\xbd\\x95\\xc9\\x1e\\xb4\\x65\\x10\\xeb\\x88\\x5f\\x59\\xbb\\xf5\\xd2\\xf8\\x2d\\x49\\x99\\xef\\xb4\\x11\\x07\\x20\\xa9\\x78\\x6b\\xd2\\xf4\\x69\\x12\\x06\\x60\\x1b\\x6c\\x73\\x1a\\x61\\x00\\x55\\x29\\xb6\\xe0\\x93\\x86\\x2d\\x18\\xcd\\x85\\x25\\xa9\\xb6\\xb3\\x49\\xa1\\x6c\\xc3\\x14\\x5c\\x95\\x58\\x9f\\x61\\x3a\\x57\\xbd\\x74\\x9a\\xeb\\xd0\\x68\\xce\\x45\\x44\\x50\\x97\\x4d\\xc7\\xae\\xe1\\x56\\x87\\xb1\\xdf\\x53\\x7d\\x84\\xe2\\xc6\\xb0\\xe3\\x34\\xd9\\x36\\x07\\xe5\\x84\\x74\\xb4\\xe9\\x72\\x6a\\x2f\\x5d\\x17\\xb9\\x57\\xd3\\x45\\x68\\xe8\\x02\\x5e\\xcc\\xbf\\xb6\\x3a\\x7c\\xc9\\xe8\\x85\\x94\\x76\\x1f\\x4b\\xd8\\xb0\\x97\\x63\\x59\\x35\\x69\\x27\\xcc\\x22\\xba\\x48\\x56\\x7e\\xd2\\x8a\\x4d\\x65\\x02\\x95\\x9e\\xc9\\x23\\xfb\\xc7\\x88\\xab\\x71\\x19\\xf1\\x64\\x27\\xb9\\x58\\xcb\\xdb\\x0a\\x11\\x16\\x22\\xfb\\x3a\\x3f\\x6c\\x8d\\x44\\xcc\\xe6\\x04\\x75\\x03\\x7a\\x18\\xef\\x37\\x95\\xfc\\x7d\\x28\\x82\\x2e\\x50\\xc2\\xe6\\xdc\\x0c\\xb7\\xdb\\xe3\\x21\\xf7\\x05\\x16\\x64\\x64\\xa1\\x2c\\x5b\\x7d\\x2c\\x8b\\xf3\\xb1\\x6e\\x17\\xb9\\xd4\\x8a\\x23\\x09\\xb3\\xcb\\x53\\x72\\x67\\xa5\\x45\\x0f\\xf0\\xfa\\x3d\\xaa\\xf4\\x20\\xb8\\x66\\x7e\\xc3\\xfc\\x83\\x25\\x49\\x9c\\xc8\\x5d\\x95\\xae\\x0c\\xe2\\x19\\x66\\x9f\\xac\\xdf\\xde\\xbf\\xe9\\xaa\\x19\\x83\\x47\\x17\\x6e\\x7e\\xfa\\xe6\\xf6\\xf9\\x07\\xb8\\x7d\\x22\\x57\\x0b\\xf6\\x87\\x7e\\xfa\\xfb\\xe5\\x8f\\x79\\x86\\x0c\\x99\\x7d\\xc3\\xf0\\x07\\x9f\\x80\\x8b\\xde\\x7f\\x79\\xda\\x9e\\x6b\\x3a\\x96\\x72\\x83\\xe0\\x82\\x0d\\x93\\x5a\\xee\\x52\\x55\\xf5\\x4b\\xf5\\xe1\\x4f\\xbf\\xb8\\x51\\x8f\\xad\\x25\\xe3\\x8d\\xf2\\x51\\x7f\\x25\\x47\\xcc\\xcd\\x70\\x38\\x9c\\x4e\\x26\\x97\\x2d\\x88\\x64\\x64\\x39\\xb2\\xac\\x75\\xb1\\x2c\\x87\\xc7\\xee\\xf0\\x6a\\xfb\\x52\\x5a\\xa6\\xaf\\x2e\\x97\\xf3\\xe9\\x4c\\xfc\\xb7\\x92\\xa7\\x79\\x04\\x16\\x28\\x47\\x3f\\x37\\xc3\\xd0\\x3c\\x9d\\xb3\\xb3\\x19\\xdd\\xe4\\x52\\xeb\\xd8\\xb9\\xfe\\xce\\x94\\x98\\x8d\\x4d\\x46\\xcc\\x06\\xd6\\xfd\\x3f\\xd0\\x6d\\x80\\x5a\\xf0\\x09\\xca\\x4c\\x8f\\x0b\\xd1\\x6c\\xf7\\x57\\x24\\x6c\\xfd\\x2b\\xd1\\x99\\x54\\x5b\\x7f\\x00\\x05\\xd2\\x7d\\x03\\x1a\\xfe\\x1f\\x12\\x31\\x21\\x1c\\xfc\\x33\\xe1\\xf7\\xc2\\xf8\\xb3\\x51\\x76\\x61\\x37\\xf8\\xbf\\x4c\\xe0\\x4f\\xea\\xfc\\x14\\x7f\\x10\\x05\\xc3\\xdd\\xe0\\xff\\x4f\\x02\\x3f\\x0b\\x9f\\x13\\xda\\x53\\x6c\\x2c\\x43\\x43\\x4e\\x42\\x13\\x42\\x91\\x44\\xbc\\x49\\x55\\xd2\\x46\\x94\\x97\\xf4\\x87\\x30\\x5b\\xc1\\x64\\x94\\xa1\\xee\\x07\\xff\\x54\\x7f\\x58\\x48\\x2d\\x43\\xef\\x78\\xfa\\x49\\x7c\\x84\\xbf\\x13\\xf3\\xb2\\x30\\x89\\x89\\xcc\\xe6\\x91\\xd9\\xe6\\x72\\x39\\xac\\x7e\\xb7\\xdb\\xcf\\xb3\\xb9\\x79\\x36\\x67\\x7d\\xcc\\x66\\x73\\x5b\\x3c\\xee\\xfa\\x98\\xc7\\x65\\xb1\\xd6\\xc7\\x2c\\xac\\x14\\xaa\\x8f\\x49\\x1c\\xe3\\xad\\x8f\\x31\\xee\\xa6\\x3c\\x48\\xc9\\x80\\x79\\xee\\x6d\\xd5\\x24\\xf8\\xcd\\x59\\xa1\\x1d\\x02\\xc9\\x15\\xf2\\xc3\\x48\\x8b\\x26\\x49\\x06\\xbf\\x15\\x94\\x63\\xe5\\x32\\x4f\\xbb\\x12\\x9a\\xfd\\xe7\\x1f\\x56\\xab\\x2f\\xa9\\xab\\xa1\\x11\\x2e\\xb9\\x76\\x3a\\x7b\\x4f\\xc7\\x27\\xcc\\x3f\\xe3\\x19\\xec\\x65\\x67\\x67\\x8e\\xac\\x2c\\x1d\\x6c\\xff\\xb1\\x13\\x6f\\x9d\\xb0\\x08\\x86\\xc3\\x65\\x30\\xdf\\xa2\\x07\\xc4\\xdd\\xcd\\x71\\x63\\x39\\xf5\\x73\\xf5\\x47\\xf5\\x8c\\x4a\\xcc\\x6e\\x88\\x25\\xe3\\x20\\x96\\xd3\\xfc\\x7f\\x05\\x58\\x32\\x5e\\xa8\\x5c\\x9c\\xeb\\xb0\\x78\\x43\\x58\\x46\\x0e\\x09\\xa2\\x58\\x98\\x91\\x11\\x72\\xb0\\x3d\\x7a\\x96\\x92\\xfc\\xc4\\xa5\\xe0\\xe1\\x4a\\x4b\\x4d\\x7e\\x7f\\x31\\x39\\xec\\xeb\\xb5\\xb8\\x65\\x77\\x76\\x5d\\xcc\\xed\\x90\\xf3\\x89\\x05\\x9c\\xe4\\x2b\\x3e\\x25\\x40\\xb3\\x00\\x82\\x60\\x3a\\xc7\\xd5\\x9c\\xc8\\x76\\xd8\\xe5\\x3a\\x41\\x7d\\x0b\\x77\\x69\\x7d\\x4e\\xe6\\x28\\x0e\\x17\\x09\\x46\\x9e\\x62\\x7f\\xef\\x5c\\xe2\\x49\\x4e\\xde\\xdc\\x0c\\x9a\\x23\\x99\\xeb\\x99\\x48\\x5b\\xac\\x7e\\x3b\\xff\\x56\\xf5\\xeb\\xef\\xce\\xc6\\xbf\\x87\\x8c\\x9b\\x6e\\x03\\x0e\\x3e\\xe9\\xa8\\x59\\xb1\\xf5\\xc1\\x7b\\xe1\\xfc\\xed\\x6b\\x58\\xb1\\x4b\\x36\\xe3\\x67\\x9f\\x25\\x99\\xfb\\xc0\\x0f\\x19\\x4f\\x3f\\x1d\\x7f\\x39\\x50\\xf4\\x71\\xfb\\xfb\\x1f\\xa8\\x57\\xb4\\x83\\xa2\\xa7\\x36\\xd6\\xf9\\xdf\\x34\\xca\\xb3\\xab\\xf4\\x58\\x94\\xcf\\xa8\\x8c\\xc0\\xf8\\x49\\x24\\x27\\x09\\x7b\\xf2\\x07\\x39\\x39\\xb9\\xef\\x93\\x7c\\x71\\x8f\\x50\\x5a\\x1a\\xad\\xd9\\x7c\\xd1\\x5e\\x23\\xa6\\x06\\xf3\\x3e\\xcf\\x10\\x8f\\x9f\\xb5\\x76\\xe5\\xd9\\xd3\\x28\\xcf\\xae\\xd2\\x6d\\x0c\\xbc\\x66\\x17\\x0a\\x91\\x50\\xd4\\x90\\x5f\\xc7\\x4d\\x61\\x5b\\xd4\\x61\\x24\\x17\\x9d\\x8e\\x1b\\xcb\\x09\\x0c\\xe5\\xee\\x01\\x22\\xa9\\x04\\x3c\\x3a\\xde\\x44\\x9b\\x55\\x03\\x67\\xd2\\x4e\\xea\\x27\\x8d\\xc6\\x4a\\xfe\\xce\\xd6\\x8c\\x1c\\x2e\\xdd\\x87\\xd2\\x07\\xb7\\xfb\\x1d\\xca\\xb3\\x29\\x6e\\x66\\x79\\x1f\\x3d\\x7a\\x08\\xb7\\xda\\xb7\\xaf\\xf3\\x6c\\xab\\x2f\\x93\\x4d\\x8d\\x51\\xa3\\xf7\\x49\\x89\\x3d\\x30\\x7c\\x6f\\xdd\\xb6\\xfd\\x15\\xe6\\x13\\xa4\\x9f\\x3d\\xf1\\xbe\\xd0\\x73\\x5c\\xcf\\x5e\\x7c\\x9a\\x0f\\x91\\xe6\\xb8\\xa3\\xe3\\x32\\x46\\x87\\xef\\xab\\x8f\\x4b\\x09\\xae\\xa1\\x64\\x42\\x49\\xcf\\x74\\x9f\\x23\\xc5\\x4f\\xfb\\xd0\\x5b\\xd7\\x01\\x66\\xe9\\x3a\\x40\\x34\\x8a\\x2b\\xa8\\x74\\x55\\xf6\\xe4\\x53\\xd7\\xbd\\x86\\xff\\x98\\x81\\x9f\\x59\\x86\\x9e\\xd0\\xe1\\x4b\\x4b\\x71\\x05\\xbd\\x50\\xaf\\x92\\x34\\x3e\\x31\\x01\\xcb\\x67\\x3f\\x53\\xdb\\x4e\\x6f\\x3d\\x16\\xe0\\x11\\x6d\\xff\\x2b\\x3f\\xaf\\xdc\\xc0\\x4c\\xdb\\x8d\\xf7\\xc9\\xbd\\xdc\\xd0\\x44\\xbb\\x6f\\xa1\\xf1\\x26\\x18\\x2e\\x6a\\x8f\\x1a\\x18\\xbb\\x69\\x2f\\x1e\\xf3\\xd9\\x7a\\xfd\\x3d\\xc9\\x80\\x94\\xb9\\xcb\\x7a\\xff\\x6e\\x7b\\x97\\x6b\\xb2\\x27\\x86\\x2f\\x21\\x03\\xd2\\x03\\xf5\\xa8\\x48\\x6b\\x6f\\x4f\\xdc\\xde\\x56\\x4a\\x27\\xd5\\x7a\\x7b\\x27\\x6a\\xed\\xb0\\x06\\xad\\x12\\x9b\\x6c\\x47\\x0e\\xa6\\x91\\x0a\\xbe\\x14\\xef\\xa3\\x63\\xa9\\x9f\\xfd\\x96\\x3a\\x84\\xee\\x57\\x96\\x93\\x63\\x90\\xd1\\xe2\\xfa\\xe2\\x99\\xc5\\xfc\\xe7\\xf6\\xe2\\x9a\\xe2\\xe1\\xf4\\x73\\x53\\xf1\\x81\\x62\\xd1\\x78\\x45\\xce\\x48\\x1e\\x28\\x3e\\x5a\\x2c\\x69\\x0f\\x6a\\xe8\\xfb\\xa3\\xc5\\xc7\\x8b\\x4f\\x15\\x9b\\xf6\\x90\\x67\\x5a\\x89\\xd5\\x5d\\x81\\x9e\\xa2\\x0f\\x08\\x98\\x99\\x3c\\x24\\xb8\\x93\\x70\\xa7\\x8a\\x3b\\x8b\\x2d\\x8b\\x9a\\x8b\\x01\\x32\\x9c\\x19\\x5e\\xce\\x43\\xb5\\xf0\\xe4\\x75\\x09\\x1a\\x5d\\xd3\\x3b\\xb8\\xe8\\xd8\\x55\\xeb\\x63\\x97\\xab\\xc9\\x0b\\x58\\x10\\x2b\\x24\\x02\\xf3\\xd9\\x56\\xb3\\x83\\x13\\xd2\\xe8\\x35\\xa7\\xf3\\x34\\xeb\\xa4\\xf2\\xe6\\x58\\x5d\\xb6\\x3d\\x82\\x65\\x5b\\xd7\\x1e\\x5c\\xd1\\x3e\\x58\\xd6\\x9a\\xe1\\xd5\\x47\\xaf\\x2a\\xe5\\x8e\\x2f\\x3b\\xf1\\x13\\x03\\xcf\\x9b\\x31\\x5b\\xb2\\xda\\x18\\x1e\\x73\\x4e\\xab\\x8c\\x39\\x33\\xd6\\x36\\xc8\\x35\\x20\\x26\\x13\\x2f\\x93\\x8b\\xef\\x9c\\xe0\\x70\\x02\\x72\\x6a\\x01\\x58\\x44\\xe8\\xac\\x48\\x9c\\x03\\x4f\\x3b\\x42\\x92\\x38\\xf4\\xad\\xdf\\x82\\x05\\x19\\xea\\x3f\\xf7\\xab\\xff\\x06\\xbf\\x76\\x1b\\x16\\x66\\xb3\\xe4\\x68\\xf7\\x06\\x38\\x64\\xdc\\x89\\x65\\xe4\\x40\\xcc\\x44\\x37\\x29\\x8a\\x10\\x72\\xc9\\xb2\\xc5\\x1f\\x0a\\x05\\x7d\\x00\\x6e\\xbb\\xc5\\x92\\x95\\x6d\\xcf\\x06\\x0b\\xca\\x06\\x27\\x9b\\xe1\\x74\\x39\\xb1\\x20\\x20\\xdb\\xe4\\xba\\x58\\xd0\\x6e\\x1b\\x6e\\xab\\xb7\\xb1\\x0e\\xd6\\x66\\x33\\xf9\\x3c\\x8a\\xcb\\x6e\\xe2\\x48\\x3a\\x78\\x3d\\x3d\\xe2\\x3b\\x15\\xae\\xa4\\xff\\x80\\x1a\\xaf\\xe8\\x15\\x15\\xc9\\xc3\\xea\\x15\\x29\\x89\\x1f\\xbd\\x89\\x23\\x37\\x34\\x75\\x62\\x4a\\xfa\\xc4\\x0a\\x2f\\xd4\\x91\\x94\\x89\\x24\\x7f\\xe2\\x42\\x2d\\x83\\xe2\\x1b\\x0c\\xf7\\xf3\\xb0\\x1a\\xdb\\xd2\\xc0\\x8f\\x90\\xb3\\x18\\xca\\x48\\x1e\\x45\\xb5\\x7d\\x71\\x22\\x0e\\x90\\xda\\xac\\xfa\\xe8\\xb1\\xa0\\x6b\\x75\\xda\\xa5\\xc1\\x86\\x58\\x00\\x2b\\x4e\\x8b\\x03\\xa4\\x39\\x17\\xa9\\xcd\\xea\\x4a\\x3d\\x1e\\xe0\\xa7\\xb4\\x98\\x06\\x39\\x52\\x96\\xf4\\xe8\\x26\\xe2\\x06\\x37\\x19\\xf8\\xb1\\x0c\\xb2\\x55\\xb7\\x57\\x69\\xc1\\x8c\\xb8\\x1f\\xdd\\xe0\\xbf\\x22\\x81\\x7f\\x25\\x8d\\x4f\\x48\\xf1\\x4b\\xab\\xad\\x99\\x5d\\x7d\\xc6\\x5a\\x1d\\x3f\\x24\\xfa\\xc0\\xc1\\xae\\xd4\\x3e\\xf8\\x91\\x3f\\xa7\\x9b\\x3a\\xbe\\x4c\\xd4\\xb1\\x01\\x4f\\x55\\xb2\\x8e\\x6c\\xa2\\xd4\\x65\\x47\\xba\\xab\\x83\\xea\\x8b\\x7d\\xf4\\x58\\xb0\\x03\\xe8\\x2d\\x54\\xa5\\x14\\x31\\x80\\xfc\\x0d\\xfe\\x46\\x7f\\xb3\\xff\\xb4\\x9f\\xf7\\xb3\\x0c\\x04\\xa7\\x06\\xa1\\x30\\xd8\\x3b\\x78\\x49\\x90\\xbd\\x22\\x38\\x3b\\xc8\\xe8\\x91\\x94\\x46\\xf0\\xfd\\x04\\xcd\\x3f\\x4b\\xdb\\x40\\x63\\xcb\\xae\\xd4\\xf1\\x79\\x90\\x1e\\x45\\x93\\x9d\\x4d\\xfc\\xba\\xb9\\x60\\xf8\\xc6\\x13\\x31\\x40\\x5a\\x3f\\xff\\x93\\xe8\\x27\\x0b\\x9b\\x35\\xd9\\x86\\x01\\x1a\\x82\\xe9\\x19\\xe1\\xc9\\x4a\\xc4\\x5f\\xea\\xf2\\x10\\xae\\x87\\xcb\\xd6\\x7c\\xf6\\xba\\x3c\\xc4\\x1b\\x65\\xa8\\x3b\\x3d\\x34\\x39\\x14\\x49\\x54\\xa3\\x97\\xd9\\xa2\\x8e\\x26\\x77\\x29\\x39\\x8c\\xbe\\x6e\\x66\\xc2\\xb8\\x4c\\xe1\\xd3\\x78\\x68\\xd4\\xa9\\x4a\\x46\\x76\\xb6\\xc3\\x51\\x10\\x2e\\x86\\x70\\x71\\x5d\\x71\\x43\\x71\\x63\\x71\\x73\\xf1\\xb6\\xe2\\xdd\\xc5\\x6d\\xc5\\x12\\x39\\x15\\x42\\xc7\\x57\\x1d\\xcd\\xf1\\x5c\\xbf\\x44\\x9d\\x9b\\x99\\xb1\\x9a\\xee\\x82\\x85\\xff\\xcf\\xb1\\xf0\\x9f\\xea\\x4b\\xa1\\xf7\\xab\\x51\\x7e\\xd1\\x4f\\xdb\\x1b\\x98\\xf9\\xc6\\x5c\\x10\\x37\\x29\\x99\\x8b\\x70\\xd0\\x94\\xae\\x5f\\xd0\\xbc\\x8d\\x94\\xdf\\x5e\\xa5\\xed\\x0f\\x94\\x66\\x71\\x19\\x9f\\x8f\\xe8\\x52\\x84\\xc7\\x84\\xbc\\x92\\x27\\x6d\\xfe\\xb4\\x38\\x54\\x35\\x11\\x87\\xda\\x49\\x75\\x24\\x5c\\xc6\\x6c\\xd6\\x7c\\x54\\x67\\x5b\\xf1\\x62\\x94\\xd2\\xca\\x68\\xbe\\xf7\\x63\\x86\\xef\\x1d\\xef\\x43\\x7b\\x75\\xba\\x22\\xb1\\x32\\x64\\x6d\\xf8\\x8d\\xa0\\x02\\xda\\x6f\\xad\\x8e\\x3d\\x46\\x1d\\x26\\x80\\x69\\xc6\\x9c\\x62\\x7e\\x84\\x07\\x5b\\x46\\xb2\\x45\\xab\\x23\\x31\\xa7\\xf4\\x5e\\x23\\x2a\\x93\\x5c\\xa0\\xcb\\x24\\xdb\\xf4\\xbd\\x94\\xb4\\xcb\\x3c\\xc4\\x2c\\x43\\xda\\x5e\\x4a\\xf3\\x9c\\xd1\\xf9\\x9c\\xa0\\xef\\xbd\\x55\\x06\\x3c\\x09\\xd6\\x9a\\x60\\x96\\x91\\x94\\x0a\\xaf\\xe1\\xff\\x8f\\x81\\x1f\\xeb\\xf2\\xb7\\xea\\xf6\\x51\\xb3\\x16\\xd0\\x6f\\xed\\x0e\\xff\\x11\\x03\\x3f\\xb3\\x11\\xc5\\xb5\\xbd\\x89\\x80\\xea\\xa8\\x93\\x78\\x55\\x03\\x2f\\xe6\\xf3\\x7d\\xf4\\xb1\\xa1\\x03\\x6a\\x75\\x5a\\x5d\\x90\\xba\\xe7\\x69\\x78\\x8f\\x25\\xf0\\x2e\\x47\\x9b\\x8c\\xf1\\x77\\x52\\x07\\xde\\x99\\x56\\xab\\x0b\\xa5\\x8c\\xbf\\x66\\x4b\\x62\\x9c\\xfc\\x9b\\x48\\x46\\x7f\\x54\\x8a\\x45\\xfc\\x04\\xec\\xb6\\x53\\x76\\x68\\xb7\\xc3\\x51\\x72\\xed\\xeb\\x6e\\x3b\\xb3\\x9a\\xdc\\xfa\\xda\\x68\\x67\\xec\\x76\\x38\\x61\\x3f\\x6d\\x67\\xf0\\x73\\x3b\\xf1\\x14\\xf8\\xf2\\x0a\\x6a\\x6b\\xe8\\x8d\\xb0\\xf8\\x8d\\x99\\xe5\\xcd\\x75\\xe4\\xbe\\x24\\x92\\xe3\\x97\\x7a\\x35\\x30\\xa1\\x26\\x0c\\x71\\x7a\\xe8\\x2d\\x49\\x2a\\xe9\\x4c\\x5e\\x2d\\xe1\\x85\\x81\\xad\\xc6\\xad\\x12\\x5c\\xab\\x7e\\x9d\\x04\\xd1\\x15\\x2c\\xfa\\x1d\\x32\\x39\\xa8\\x04\\x4d\\x53\\x7a\\xf9\\x44\\xae\\x10\\x53\\x82\\x93\\xcf\\x62\\x4b\\x7b\\x84\\xbc\\x66\\x9f\\xcd\\xed\\xc6\\x72\\xb4\\xdb\\x27\\x62\\xdd\\x9b\\xa6\\x86\\xb0\\x31\\x36\\x2c\\x48\\x23\\x1b\\x9c\\xb0\\x9d\\xc6\\x9f\\x71\\xeb\\xf6\\x9a\\xac\\xb5\\x36\\x07\\x43\\x83\\x4a\\xe8\\x1d\\xd5\\x88\\x1e\\xad\\x37\\x6e\\xbd\\x48\\xbd\\x16\\xc2\\xc8\\xcc\\x92\\xf0\\x4c\\xa4\\xc4\\x99\\x24\\xef\\x97\\xd1\\x82\\x4d\\xf4\\x00\\x36\\x4b\\x53\\x2b\\xf4\\x52\\x8f\\xea\\x17\\xca\\x24\\xaf\\x98\\x69\\x62\\x47\\x1b\\x97\\xcb\\xf0\\x7d\\xef\\xbd\\x77\\xf1\\xdd\\xfa\\x9d\\x32\\xff\\x4a\\x5c\\x34\\xc3\\x7e\\x18\\x9f\\x62\\x5c\\x30\\x43\\x75\\x08\\xcc\\x91\\xf8\\x4d\\xe4\\xee\\x43\\x94\\x8b\\xce\\x47\\xe3\\x95\\xa8\\xc9\\xe6\\xf7\\x14\\x15\\x65\\x67\\x73\\x79\\x1e\\x4f\\x10\\x13\\x80\\x8d\\x2d\\x29\\xf5\\x17\\x65\\x15\\x65\\xd5\\xc7\\x8a\\xac\\x45\\x56\\xce\\x59\\x28\\x38\\x85\\x86\\x98\\x93\\xe5\\xb2\\x53\\x2f\\xdd\\xa7\\x87\\x82\\xc8\\x81\\xf3\\x2e\\x79\\xb9\\x12\\x41\\xa8\\x89\\x1b\\x68\\x49\\x27\\xfc\\xa2\\x76\\x90\\x53\\xbf\\x7f\\x5f\\xd4\\xaf\\xdd\\x4f\\x5c\\x97\\xca\\x6f\\xa2\\xf7\\xef\\x67\\x5d\\x7e\\x91\\x6b\\xa3\\xf3\\x89\\x0d\\xc6\\x3d\\xfc\\x2f\\x1b\\xb7\\xef\\x8f\\x30\\xee\\xe3\\x27\\xd7\\xf0\\x73\\xdf\\x0e\\xba\\xb4\\x57\\x1f\\xe7\\x90\\x0b\\x16\\xad\\xd1\\xef\\xe3\\xbf\\x8d\\xdc\\xc3\\xcf\\xfc\\x42\\x2f\\xe5\\xd7\\xe3\\xcd\\x4f\\xe1\\x3e\\x5a\\x31\\x75\\x8c\\x56\\x1c\\x26\\x97\\x8b\\x13\\x65\\x19\\x71\\xc8\\x87\\xb9\\x3a\\xf8\\x09\\x31\\x65\\x66\\xe7\\xd7\\xda\\xfd\\xe0\\x63\\x4d\\x58\\x0f\\x34\\x99\\x38\\xde\\x38\\xfb\\x94\\xda\\x47\\x4d\\xdf\\xd3\\x5c\\x66\\x4e\\x57\\xdf\\xf4\\x4b\\x51\\xf3\\x75\\x45\\x2f\\x35\\x1a\\xfd\\x94\\xaa\\x7e\\x11\\xdf\\xc2\\x3e\\x1b\\x97\\x60\\xfd\\x37\\xc0\\x93\\x78\\xf4\\x66\\x58\\xb6\\x7d\\x13\\x6c\\x7e\\xe1\\x73\\x72\\xd2\\xa9\\xf6\\xdd\\xb6\\xf9\\x2d\\x2a\\xe6\\x39\\xc9\\x7b\\x8b\\x32\\xb0\\x2e\\x57\\xab\\x14\\x38\\xf8\\x70\\xd8\\x6a\\x0f\\x06\\x71\\x9b\\x0b\\x8b\\xdc\\xbc\\x9f\\xf1\\x67\\x11\\xcd\\x4d\\x76\\x5c\\x11\\xa3\\xb7\\x17\\xe5\\x93\\xac\\xcb\\x46\\xb8\\x79\\x42\\x4d\\x4b\\xbb\\x04\\xf9\\x9c\\x2b\\x8a\\x48\\xf3\\xfe\\xd7\\x25\\x45\\xcc\\xbf\\xe2\\x47\\x7e\\xf7\\x9e\\xa2\\xad\\xea\\xcf\\x5d\\x2f\\x2a\\xa2\\xfa\\xb5\\x59\\x1f\\x63\\x1b\\xf2\\xa3\\x4a\\x25\\x68\\x47\\x16\\x8f\\x47\\xe4\\x11\\x9f\\x11\\xb0\\x60\\x8d\\xda\\x62\\xe1\\x4d\\x2c\\xef\\x49\\x33\\x0d\\xa6\\xe6\\xcf\\x4f\\x46\\xf4\\x17\\x55\\x15\\x54\\x74\\x19\\xc4\\x9b\\x3e\\xbe\\x2f\\xbe\\x65\\x0b\\x14\\xf4\\x81\\xf5\\xe4\\xa2\\xe2\\x87\\x1f\\xd2\\x07\\xf1\\xc1\\x05\\xfb\\xa7\\xb3\\x3f\\x3c\\x9c\\xfb\\x46\\x7c\\xef\\x87\\x6d\\xf3\\xee\\x20\\x17\\xe7\\xe2\\x76\\xe8\\xe3\\x18\\x44\\x85\\x48\\x51\\xc2\\x2e\\x2e\\x37\\x17\\x65\\x84\\xe4\\x0c\\xb9\\xe8\\x3c\\xbf\\x57\\x70\\x99\\xed\\xf6\\x08\\x8d\\xae\\xc6\\xea\\xaf\\x59\\x5f\\x9f\\xdd\\x05\\x7d\\xe9\\x51\\x5f\\xa4\\x31\\xdd\\xaf\\xc7\\xd4\\xe5\\x68\\x06\\xa8\\x38\\x67\\x2d\\x32\\x1f\\x18\\xe3\\xc7\\x7d\\x9f\\xfb\\x5c\\xe2\\x7a\\xa7\\x94\\xa5\\x58\\x1f\\xff\\x34\\x79\\xd7\\xd3\\x38\\xbc\\xef\\x4f\\xe1\\xd7\\xe1\\xd1\\xeb\\xa7\\x64\\x7a\\x3d\\x1e\\x13\\x6b\\x37\\xd9\\x03\\x19\\x5e\\xc9\\x2b\\xb9\\x30\\xd3\\xac\\x8f\\xb9\\xdc\\x56\\xa1\\x3e\\x66\\xe5\\xba\\xe4\\x3b\\x49\\x4b\\x61\\x5d\\x50\\x4e\\xcc\\x0e\\xf9\\x61\\xb6\\xa8\\x77\\xa4\\x42\\x33\\x41\\xd0\\xab\\x7a\\x99\\xe7\\xfe\\x0d\\x8c\\xfa\\xc3\\x97\\xea\\x27\\xeb\\x37\\x5d\\x09\\xd5\\xed\\x70\\x11\\xcc\\x50\\xd7\\xa9\\x07\\xd4\\x01\\xab\\x9f\\xe9\\xf1\\xd7\\x65\\x70\\x3e\\x98\\xb0\\xe6\\xdd\\x4f\\xfd\\x78\\xd8\\xde\\xfd\\xea\\x3c\\xf5\\x49\\x75\\x97\\xba\\x18\\x26\\x0c\\x98\\xb7\\x54\\x93\\x83\\xa7\\x75\\x7e\\x23\\x0c\\x16\\xea\\x30\\x65\\x0e\\x57\\xce\\x93\\x4c\\xa6\\xfc\\x90\\x37\\x8f\\x75\\xe4\\x39\\x8a\\x0a\\x33\\x30\\x0f\\xc8\\x70\\x7b\\xf3\\xdd\\x52\\xbe\\x94\\x6f\\x75\\xbb\\x71\\x3b\\xdd\\x1c\\x6d\\x67\\xd7\\xbc\\x2c\\x78\\xbd\\x38\\x0e\\x25\\x23\\xd3\\x2b\\x8c\\xb4\\x22\\xf4\\xc6\\xe7\\xb0\\x5b\\x3b\\x33\\x4a\\xef\\x82\\x0e\\xfb\\xd3\\xae\\xff\\x11\\x7b\\x02\\x1b\\xf8\\x4a\\xed\\x00\\xfb\\x3f\\xe1\\xbc\\xfb\\x36\\x8d\\x55\\x5f\\x6d\\x7f\\x5f\\x3d\\xfc\\x10\\x5c\\x87\\x3b\\xe1\\x7e\\x78\\xf9\\x2d\\xbd\\x2f\\xea\\x13\\xbe\\x74\\xe0\\x33\\xbd\\x3e\\xe2\\x7e\\x55\\x8f\\xa9\\xbf\\xaa\\x71\\xf5\\x55\\x28\\xc0\\xfd\\x78\\x1a\\x06\\x7f\\x06\\x23\\xe0\\xb6\\xa5\\xfe\\x15\\x5b\\xec\\x9b\\x5d\\x97\\x5e\\xfe\\xef\\x01\\x0b\\x16\\x69\\xfd\\x21\\xb1\\x17\\x77\\xf2\\x2c\\x8a\\x90\\xfe\\x08\\xa2\\x98\\x13\\x70\\x65\\x23\\x39\\x5b\\x2e\\x2c\\xf0\\x06\\x49\\x8e\\x7f\\x57\\x8e\\x43\\xc8\\x11\\x72\\xcc\\x0e\\x47\\x5e\\x5d\\xcc\\xe1\\xd0\\x6e\\xcf\\xfa\\xbf\\xf5\\xe7\\x9c\\x0b\\xb4\\xfc\\xc9\\xd4\\xf2\\xb4\\x2f\\xe7\\xde\\xa5\\xb5\\x6e\\x86\\x69\\xf1\\xdc\\x68\\x65\\xa4\\xe4\\xa2\\xea\\xdf\\xb8\\x53\\xab\\x76\\xfe\\x12\\xeb\\x3a\\xc7\\xa5\\x97\\xbf\\x4b\\xb2\\xa2\\x75\\x13\\xf3\\x84\\x79\\xb8\\xe0\\xc7\\x6b\\xcf\\x8b\\x77\\xac\\x01\\x4a\\xb6\\x0f\\x85\\x78\\x4c\\xe7\\x3c\\x62\\x73\\xc3\\xb2\\xcc\\xbb\\x82\\xa2\\x4b\\x6c\\x88\\xb9\\x58\\x3e\\x94\\x5c\\x7f\\x89\\x53\\x9c\\x5d\\xee\\xff\\x62\\xce\\x65\\xd1\\x88\\xd5\\xce\\xd6\\x95\\xf7\\x76\\x09\\x7e\\xed\\x44\\x9d\\xc1\\x97\\xb5\\x53\\x76\\x6d\\xfa\\xe9\\x3a\\x72\\xb2\\x8e\\x39\\x4a\\xce\\xd4\\xa5\\x72\\xe4\\xfb\\xd5\\x67\\xc8\\xf9\\xba\\xb3\\x4f\\x93\\xc3\\x75\\x0c\\x1a\\x81\\xf9\\xc4\\x9f\\x74\\x5e\\x5c\\xa3\\x84\\x05\\xc2\\x87\\x9d\\x4e\\x13\\x32\\xf9\\xfc\\x2c\\x66\\x14\\x2c\\x6b\\x16\\xcd\\x0e\\x72\\x08\\x88\\x84\\x31\\x88\\xe9\\x87\\x01\\x4b\\xba\\x5c\\xf2\\xee\\xae\\x8c\\x54\\xe4\\x6a\\x0a\\x5d\\x5e\\x84\\x64\\x2f\\x23\\x1f\\x84\\x11\\xc0\\x7f\\x03\\xeb\\xe3\\x12\\x66\\xbb\\x5b\\x3e\\x57\\xe3\\x6d\\x9b\\xb6\\xc3\\x32\\xb5\\x79\\xfb\\x76\\xd8\\xbc\\xff\\x5d\\xd8\\xb7\\xe9\\xd7\\xa6\\xcf\\x9f\\xbb\\x75\\x19\\xa8\\x2d\\x1a\\xdf\\x1a\\x49\\xf5\\x04\\x8d\\xef\\x0e\\x55\\x8a\\x3c\\xa6\\x70\\xd8\\x66\\xc1\\x7c\\xd7\\x86\\x8a\\x0a\\x03\\x98\\xe7\\x06\\x7c\\x1e\\xaf\\xe8\\x15\\x59\\xa7\\xd7\\x6a\\xb9\\x22\\x66\\x45\\x6c\\x3e\\xb9\\x19\\x29\\x69\\x09\\xa4\\x51\\xe9\\x15\\x35\\x25\\x5d\\x59\\xaf\\x5b\\xbf\\xd2\\xa9\\xb0\\x8a\\x36\\x50\\x8b\\xfe\\x22\\x09\\xe5\\xc3\\xee\\x94\\x10\\xb0\\x91\\x2f\\xbf\\x7d\\xcb\\xc3\\xe5\\x1c\\xf7\\xff\\x90\\xf6\\x1d\\xe0\\x51\\x54\\x6b\\xff\\x73\\xe6\\xcc\\x6c\\xdf\\x9d\\xd9\\x32\\xdb\\xfb\\x26\\x9b\\x90\\x40\\xda\\x26\\x84\\x84\\x40\\x96\\x22\\x45\\x5a\\x42\\x5f\\x01\\x09\\x02\\x2a\\x45\\xe9\\x08\\x22\\x5d\\x84\\xd0\\x41\\x10\\x90\\x8e\\x20\\x45\\x41\\x84\\x28\\x08\\x02\\x62\\x05\\x1b\\x22\\x16\\xd4\\xfb\\x29\\x5e\\xeb\\x55\\x2f\\x7a\\x2d\\xd7\\x42\\x76\\xf2\\x3f\\xe7\\xcc\\x6c\\x0b\\x70\\xef\\xf7\\x3d\\xff\\xc7\\x47\\xd1\\x75\\x76\\xe7\\x3d\\xed\\x6d\\xe7\\x7d\\x7f\\xbf\\xf8\\x9b\\xf4\\xb7\\x8a\\x43\\x48\\x6f\\x44\\x1e\\x9b\\x25\\x4e\\x3e\\x35\\x73\\xc9\\x86\\xa5\\x4b\\x37\\x2d\\x9e\\x41\\x07\\x81\\x1d\\x58\\x6e\\xbb\\x7b\\x70\\x07\\xa0\\xda\\x8e\\xc9\\xc9\\xd4\\xf3\\x7c\\x23\\x63\\x74\\xd1\\xe7\\xaf\\xbf\\xfe\\xc1\\x95\\x77\\x5f\\x91\\x39\\x1e\\x08\\x9f\\x86\\x09\\xad\\x7d\\xfb\\xa8\\x9f\\x43\\x81\\x30\\xe5\\x50\\x1a\\xcd\\x7a\\xa5\\xde\\x1f\\x30\\x51\\x35\\x31\\x93\\x8b\\x73\\x23\\x8d\\x87\\xdc\\x16\\xac\\xf1\\xa8\\xf4\\xf4\\x65\\xb3\\x56\\x38\\x73\\x00\\x53\\x0b\\x80\\x32\\x2c\\x39\\xd2\\x76\\x2c\\x46\\xcb\\x49\\x69\\xb9\\xf6\\xe0\\x14\\xad\\x1c\\x75\\xef\\x47\\x63\\x6e\\xfb\\xe5\\xe7\\x6b\\xdf\\x88\\x9d\\xc1\\xa8\\xc6\\x3f\\xe8\\xc7\\x16\\xec\\xd8\\xb9\\xb4\\x7e\\xc3\\xa4\\xd9\\xd5\\xe2\\xb7\\xb1\\x41\\x4f\\x0d\\xfe\\x7a\\x1f\\xb0\\x01\\x0d\\x3a\\x85\\x5f\\xc5\\xff\\xe5\\x10\\x3f\\x78\\x10\\x7e\\xf0\\xb7\\x17\\x5e\\xbe\\xfc\\xde\\x3b\\x03\\x9e\\xc3\\xe7\\x2e\\x86\\xd6\\xfe\\x29\\xcc\\x83\\x8b\\x74\\x9c\\x4f\\x41\\xd3\\x5a\\x4a\\xcd\\x6a\\x19\\xbd\\x8e\\x90\\x7b\\xb2\\x94\\x1a\\x47\\xf5\\x6a\\x48\\x81\\x54\\xb7\\x71\\x66\\x8e\\x35\\x22\\xe1\\xd2\\x06\\x12\\x31\\xbc\\x31\\x06\\x37\\x34\\xbe\\x0d\\x4b\\x1a\\xd7\\x32\\xad\\xb6\\x80\\xef\\x71\\xe4\\x4e\\xf8\\xfc\\x6f\\x47\\xba\\x74\\x2f\\xd2\\xa5\\x0a\\x34\\x27\\xb7\\x44\\x43\\x4a\\x08\\x05\\xbd\\xc1\\xc0\\x78\\x04\\x4f\\xc0\\xef\\x43\\xef\\xf2\\xe9\\x7d\\x7a\\x87\\xd1\\x41\\xd5\\x21\\xdd\\x65\\xd4\\x0c\\x8f\\x19\\x9b\\x2b\\xd5\\x0c\\xd3\\x24\\x29\\x56\\x53\\x79\\xc0\\x4a\\x81\\x70\\x16\\x69\\x92\\x69\\x4d\\x20\\x72\\x84\\x24\\x64\\x4e\\x39\\x64\\xbe\\xb8\\xa6\\x6d\\xcc\\x31\\x02\\x86\\x3e\\xe5\\x68\\xa2\\x5e\\xdb\\xfc\\x7e\\xc5\\xb3\\xbd\\x41\\xe4\\xd3\\x77\\x40\\xd1\\xce\\xdd\\xe2\\xdb\\x6f\\x5d\\x14\\xdf\\xda\\xc5\\xce\\x41\\xa7\\xe0\\x77\\xf1\\x1f\\xf4\\x93\\x1f\\xff\\x7b\\xd1\\xcc\\x8a\\x7d\\xcf\\x1d\\x12\\x9f\\xfb\\xf8\\x13\\xf1\\xe8\\xd1\\x23\\xa0\\xd7\\xdf\\xb2\\xdb\\xa3\\xf9\\x19\\x8c\\xf4\\xd2\\x52\\x76\\x3d\\xb2\\x5c\\x83\\xa3\\xad\\x94\\x0e\\xce\\xaa\\x56\\x7b\\x19\\x9e\\xe3\\x42\\x59\\x4c\\x56\\x4e\\xae\\xd2\\xee\\xb2\\xbb\\xea\\x62\\x21\\x3b\\xcf\\xdb\\x43\\x90\\xd2\\xe9\\xcc\\xc4\\x1c\\x04\\x30\\x3f\\x77\\x73\\xd0\\x9f\\x74\\x78\\x93\\x04\\x9a\\x07\\x59\\x63\\x36\\x28\\x35\\x9b\\x65\\x19\\x4b\\xf1\\x18\\x92\\x08\\x8d\\x81\\x88\\x20\\x2f\\x34\\xd1\\xc5\\x74\\xdd\\xa6\\x7f\\x2e\\xd8\\xbd\\x4d\\xfc\\x16\\xc0\\x77\\x5f\\x03\\xea\\x2e\\x47\\x4a\\x0e\\xce\\x59\\xb0\\x19\\xdc\\xd1\\xb5\\xeb\\xeb\\x2f\\x1c\\xdd\\x0c\\x94\\xf7\\xed\\x19\\x20\\xfe\\xdb\\x72\\xd7\\xa9\\xfb\\x56\\x1e\\xb5\\x97\\x03\\xe6\\xc0\\x3b\\xfb\\x0e\\xb6\\x9b\\x3f\\x7d\\xea\\xe8\\xa6\\x75\\xd3\\x17\\xcd\\x5b\\x09\\xf8\\x5e\\x27\\x76\\x51\\xa0\\xe9\\x55\\xb4\\x37\\xd7\\xa0\\xf5\\x36\\xa1\\xf5\\xf6\\xe2\\x3c\\x0e\\xc7\\x61\\xd4\\x7d\\x33\\x40\\x6b\\x00\\x80\\x8a\\xe7\\x91\\xb9\\xe0\\xa1\\x4a\\x3f\\x3c\\xa6\\xa2\\x0a\\x6f\\xb0\\xdc\\x69\\x79\\x1b\\xc2\\x30\\x45\\x20\\x59\\x70\\x1f\\xf9\\x5d\\xd0\\xd4\\x78\\x75\\xd5\\xc2\\x76\\x7d\\x43\\x91\\xac\\xbb\\xe1\\x3f\\x98\\xaf\\xe2\\xbf\\x6e\\x8b\\x77\\x5a\\xb5\\xd1\\xb2\\xc5\\xb8\\x95\\xbd\\xba\\x05\\xef\\xb5\\x17\\xc4\\xde\\xf0\\x25\\xf6\\x10\\xd2\\x32\\x9d\\xd0\\x0e\\x60\\x35\\x1a\\xde\\xa0\\xd5\\x0a\\x56\\x9b\\x9a\\x24\\x69\\x14\\x06\\x83\\xc6\\x6c\\xa6\\x6b\\x63\\x9c\\x79\\xae\\xf9\\x29\\x33\\x34\\x6b\\xa8\\xc2\\xc2\\x61\\xe9\\x6e\\x7a\\xb3\\x0b\\x4b\\x7c\\x0c\\x38\\x10\\x51\\x86\\x60\\xc8\\x1c\\x2a\\x8f\\x94\\x13\\xad\\x0e\\x77\\x47\\xda\\x56\\x45\\xcd\\xce\\x4b\\x8e\\xf7\\xc5\\x06\\x71\\xa3\\x6b\\x83\\xc7\\xb7\\x7e\\x51\\x9f\\x2e\\xac\\x9f\\xbb\\xf5\\xf6\\xfa\\x85\\x7f\\x5d\\x62\\x5b\\x2d\\xdc\\xb8\\x69\\xae\\x85\\xd8\\x9c\\xbb\\x90\\x0d\\xbd\\x5d\\x31\\x02\\xf9\\xd8\\x83\\xa3\\x05\\x21\\x2f\\x95\\x97\\xa7\\x33\\x2a\\xec\\x76\\xce\\x08\\x5b\\xe6\\x07\\xc2\\xc3\\x63\\x01\\x17\\x87\\x6f\\xc1\\x28\\x17\\x87\\x5b\\xf5\\x5d\\x2e\\x38\\x3c\\xe6\\x62\\x2c\\xea\\xe1\\x31\\xcb\\x0d\\x2c\\xa9\\x84\\x13\\x9b\\x8e\\x07\\x44\\x84\\xc4\\x6b\\x49\\xec\\x29\\x32\\x41\\xb8\\xf2\\xd4\\x78\\x53\\xa3\\xca\\xbc\\x51\\x75\\x69\\xeb\\xaf\\xa2\\x08\\x4c\\x3f\\x2f\\xfd\\xf1\\x56\\x71\\x08\\x3d\\x60\\xa2\\x78\\xf2\\xf4\\xff\\x88\\x2f\\xec\\x07\\x13\\x41\\x2f\\x10\\xd8\\x96\\xb0\\xab\\x8c\\x65\\xc6\\xbd\\xe2\\x47\\xe2\\xaf\\xe2\\x6f\\xe2\\x1b\\xfd\\xbb\\x89\\x3b\\x44\\xe7\\xe4\\xd9\\x87\\x41\\x8f\\x2b\\x60\\x10\\x98\\x31\\xcb\\x9b\\xb0\\xac\\xd8\\xef\\x42\\x6b\\xfd\\x2b\\x59\\x6b\\x2f\\xd2\\xeb\\x41\\xb5\\xca\\xa1\\xb7\\x6a\\x94\\x0c\\x34\\xf3\\x5a\\x9d\\x0e\\x2d\\x32\\xe3\\xf3\\x6b\\x94\\x7a\\x2b\\x43\\x69\\x55\\x90\\x72\\xa3\\x3d\\x2b\\xad\\x78\\x44\\xea\\xe1\\x91\\xc6\\x81\\xbb\\x78\\x92\\x60\\x63\\xed\\x41\\x39\\x01\\x66\\x04\\x04\\x29\\x0f\\xca\\x78\\x78\\xa4\\x7d\\x67\\xfe\\x94\\x87\\x5c\\x79\\x7d\\xe2\\x57\\xcf\\x63\\x1a\\xe1\\xf3\\xf1\\xab\\xb1\\xea\\x45\\xde\\xd2\\x60\\xb0\\xb4\\x20\\x37\\xb7\\x40\\x1c\\xb4\\xea\\xfe\\x56\\x63\\xc6\\x6c\\x64\\x96\\x36\\xda\\xe0\\x3f\\xae\\x4d\\xdf\\xd5\\xd0\\x61\\xe6\\x6a\\xa0\\xa8\\xd8\\xd3\\xb5\\xeb\\xee\\xca\\xb2\\xb6\\x95\\x72\\xdf\\xa7\\xe2\\x41\\xa4\\xf3\\x71\\x0f\\x71\\x96\\x89\\xd3\\x6a\\x75\\x0e\\xe8\\x0b\\x06\\xa1\\x0e\\x66\\x87\\xfd\\x9c\\x49\\xa0\\x04\\xa5\\x44\\x13\\xaa\\x13\\x28\\x77\\xaa\\x01\\x49\\xbe\\xe0\\xbb\\x9e\\xcf\\x8f\\x95\\xd0\\xa9\\xd3\\xa9\\xed\\x22\\xad\\x93\\xf8\\x68\\x09\\xe6\\xfb\\x6f\\x5f\\x7b\\x6f\\xca\\x3c\\x99\\xe7\\x6e\\xe4\\xef\\xc7\\x1a\\xee\\x9d\\x79\\xff\\xf8\\x67\\xde\\xb7\\x9c\\x6f\\x00\\xb7\\x6c\\x7a\\x20\\x8d\\xec\\xee\\xad\\x13\\x2f\\x89\\xcf\\x6d\\x99\\x39\\x73\\x0b\\x7d\\x38\\x1e\\x69\\x78\\x2b\\x83\\x6f\\xcc\\x1a\\x55\\x4b\\xf5\\x4c\\x18\\xbc\\xe6\\xa6\\x7c\\x60\\x5e\\x64\\x18\\x02\\xe4\\xbe\\xbc\\x65\\x54\\xc0\\xd7\\xe5\\x14\\xa5\\xd7\\x69\\x68\\x48\\xd7\\x21\\x8b\\x0a\\x59\\xe9\\xbb\\x15\\x85\\x99\\x2c\\x2d\\xf8\\x57\\x70\\x8e\\x11\\xe3\\xc7\\x84\\x8c\\x2f\\x3f\\xfe\\x78\\xc3\\xfe\\xfd\\xf4\\x8e\\x15\\xf4\\xf6\\xf8\\x88\\x15\\xf1\\x3a\\xf2\\xbb\\xf8\\x9e\\xa2\\x9a\\x5d\\x83\\xfc\\x8d\\x6e\\xd1\\x2c\\xa0\\x31\\x43\\x13\\x3a\\xd0\\x90\\x31\\x9a\\x4c\\x94\\x85\\xb1\\x08\\x56\\x1a\\xf0\\xbc\\x99\\x31\\x4a\\x27\\x9a\\xa1\\x18\\xc2\\xc8\\x2f\\x1b\\xc9\\x14\\x29\\x74\\x32\\x28\\xb4\\x55\\x24\\xca\\x3f\\x92\\x5b\\x53\\x20\\x75\\x20\\x4c\\xdf\\xf8\\x5b\\xc7\\xcf\\x6c\\x5c\\xde\\xb1\\x63\\x49\\xc5\\x1c\\x7a\\xef\\xe7\\xf1\\x7d\\x34\\xfa\\x6b\\x79\\xfc\\x4b\\x66\\xcc\\xaa\\x4d\\xdc\\x1e\\xd3\\x3a\\x71\\x14\\xfd\\x62\\x7c\\x4b\\xe3\\x17\\x49\\x3e\\xb9\\x8f\\x91\\x4c\\x03\\xa2\\xf9\\xb4\\x81\\x85\\x16\\x60\\x51\\x2a\\x55\\x2a\\xab\\x40\\x01\\xc0\\x40\\x68\\xe5\\x38\\xa4\\x2a\\x8d\\xc8\\x74\\x03\\x9a\\xad\\x8d\\x59\\x68\\xa4\\xb4\\x55\\x02\\x3a\\x63\\xd5\\x52\\x2d\\x64\\x9a\\xda\\x21\\x08\\x62\\x29\\x60\\x34\\x49\\x40\\x2c\\x4f\\xa8\\xb9\\x90\\xd0\\x41\\x2a\\x54\\x2e\\xe1\\x72\\x15\\x22\\x66\\xc7\\x79\\x4c\\x25\\x2e\\x52\\x21\\x5c\\x71\\xcc\\x11\\x49\\xca\\x78\\xbd\\x54\\x3b\\x01\\xf6\\x64\\xae\\x85\\x4e\\x8f\\xd7\\xa2\\x46\\x5e\\x0b\\xe1\\xbf\\xae\\xc5\\x83\\x13\\x27\\x36\\xdc\\x73\\x4f\\xb3\\xb5\\x30\\xc8\\xb5\\x95\\x66\\xaa\\x43\\x34\\xa0\\xd6\\x18\\x79\\x5e\\xa1\\x85\\xc8\\xa4\\x6a\\xa0\\x45\\x50\\x68\\x4c\\x1c\\xd0\\x31\\x66\\x3d\\xfa\\x0b\\x99\\x7c\\xa8\\x21\\xb4\\x0f\\xc4\\x53\\x41\\x63\\x32\\x55\\x5c\\x07\\x24\\xa6\\x04\\x12\\xf5\\x3d\\x1a\\x29\\x46\\x82\\xcd\\x89\\xd8\\xca\\xe9\\xd7\\xb7\\x83\\x97\\x4e\\x5f\\x68\\x61\\xe7\\xf2\\xc5\\x2f\\x4e\\x82\\xb3\\x9d\\x8f\\x17\\x3c\\xdf\\xfd\\xe9\\xd6\\x5b\\x99\\x6b\\x95\\xd7\\xaa\\xe9\\x0e\\x13\\xef\\x2c\\x18\\x17\\x5f\\x00\\x5f\\x3f\\xd5\\x69\\xfa\\x2d\\x6f\\x3d\\x5c\\x21\\xf9\\xd5\\xdb\\xd0\\xb9\\x9a\\x8f\\x74\\x40\\x80\\xea\\x12\\xcd\\xf2\\xd9\\xed\\x2e\\x33\\xcd\\xab\\x15\\x0a\\xde\\x05\\x43\\x41\\xaf\\x89\\xf6\\x31\\x0e\\xa3\\x12\\x32\\x68\\x73\\x30\\x66\\xca\\x9a\\x66\\xb6\\xb0\\x1e\\xc0\\xe6\\xa9\\xba\\xb9\\x60\\x6c\\x30\\x47\\x11\\xf2\\x3b\\xd0\\xba\\xa4\\x51\\xf3\\xa0\\x23\\x45\\x3e\\xb1\\x85\\x90\\xc4\\xcc\\x13\\xef\\x0c\\x9d\\xf1\\xa6\\x38\\xf2\\xf9\\xa2\\x91\\x83\\xef\\x9b\\x70\\x6a\\xd4\\x7d\\xbf\\x9f\\xd2\\x1c\\x50\\x96\\x3c\\x62\\xd9\\xbb\\x17\\xfc\\x00\\xf7\\x37\\xde\\x35\\xef\\xd1\\xae\\x8f\\x6e\\x80\\xe7\\x1b\\xbb\\x3e\\xb6\\x0d\\x74\\x82\\xc7\\xae\\xdd\\xb9\\x76\\xc0\\xda\\xda\\x01\\x44\\xde\\xa6\\x77\\xc4\\x41\\xb8\\xfe\\x02\\x9d\\xef\\xe2\\xa8\\x5d\\xc5\\x30\\x4a\\xa0\\xd3\\x59\\x95\\x56\\xbb\\x8d\\x43\\x91\\x2a\\x47\\xab\\x55\\x26\\xe4\\x43\\xe3\\xd2\\xa5\\x8a\\x8a\\xeb\\x7d\\xcf\\x08\\x08\\x63\\x71\\x42\\x98\\x67\\x53\\xe2\\x3f\\xc4\\xd6\\x69\\xdf\\xa7\\xf4\\x5f\\xba\\x27\\xbf\\x8e\\x1b\\x58\\x76\\xf1\\x82\\x6e\\xc5\\x2d\\xdb\\x4c\\x61\\xe7\\x5f\\xeb\\xf6\\xf2\\x60\\x88\\x3c\\x13\\xe6\\xf0\\x88\\xbd\\xd7\\x3e\\x58\\xbd\\x41\\xbb\\xcb\\xb0\\x95\\xcc\\xd7\\x12\\x71\\xa0\\xcc\\xdf\\x16\\x89\\x3a\\x28\\xa7\\x49\\xad\\xd6\\x6b\\x9c\\x1a\\xb7\\xcb\\x64\\xd5\\x24\\x09\\xdc\\x04\\xa4\\x28\\xab\\x33\\x09\\xd9\\x12\\xab\\xf6\\x7f\\x62\\x64\\x13\\x07\\x32\\x83\\x6f\\x50\\x47\\x70\\x6d\\x51\\xe2\\x0e\\x9e\\x7d\\xc4\\xa4\\x60\\x36\\xc9\\x77\\xe5\\x3f\\x28\\x0e\\x22\\xff\\x49\\xce\\x45\\xf8\\x55\\x26\\xa3\\x20\\x38\\xed\\x06\\x4a\\x45\\xa1\\x5d\\x62\\xaf\\x8b\\x19\\x4c\\x06\\x13\\x63\\x86\\x5a\\x0f\\x8a\\xec\\x19\\x26\\x34\\x3c\\x05\\x3b\\x98\\xf0\\x88\\x93\\x1e\\x54\\x0a\\x41\\x32\\xe1\\x2d\\xe1\\x7b\\x71\\x06\\x85\\x45\\x65\\x68\\x87\\xe3\\x32\\x5c\\xab\\x12\\x85\\xac\\xb2\\xdd\\x92\\x91\\x16\\x3e\\x12\\x5f\\x79\\x1c\\xe3\\x2c\\xfc\\x0a\\x7a\\x76\\x1b\\x7c\\xcb\\xe0\\x97\\xa6\\xcc\\x76\\xbe\\x24\\xfe\\xf9\\xd3\\xcf\\xe2\\x1f\\x40\\xfb\\xcf\\x5f\\x01\\x2b\\xc1\\x2c\\x1c\\x06\\xbd\\x3e\\xc5\\x20\\x0b\\x1f\\xbe\\xdc\\x72\\x6c\\xf7\\xbd\\x63\\x67\\x1d\\x6b\\x37\\xf6\\x3e\\xb4\\x95\\x5b\\x8a\\x97\\x91\\xb5\\xfa\\x5d\\x3c\\x0f\\x5a\\x49\\xfd\\x20\\x2c\\x44\\x73\\x8c\\xef\\xfd\\xbb\\x46\\x43\\x2e\\x85\\x56\\x10\\x28\\x83\\xde\\x68\\xb4\\x20\\xf7\\x30\\x10\\xd4\\x1a\\xb4\\x06\\xc8\\x71\\x52\\x0f\\x18\\xf4\\xe2\\xae\\x8f\\x66\\x23\\xc9\\xc0\\xbe\\x93\\x67\\x3e\\x49\\x37\\x67\\xb5\\xb5\\x96\\x87\\xc1\\x81\\x1b\\x10\\xcf\\xbd\\xff\\x95\\xe7\\xa1\\xc1\\x2f\\xcd\\x98\\x78\\xf2\\x46\\xf4\\x73\\xe7\\xce\\x75\\x78\\x74\\xef\\xd8\\xf9\\x2f\\x14\\x75\\x4d\\x91\\xd0\\xa1\\xb9\\x17\\x07\\x2b\\x7a\\xa2\\xb9\\x37\\x23\\x2d\\x1e\\x8d\\xfa\\x1d\\x4a\\xca\\x8b\\xce\\xb6\\x57\\x09\\x7d\\x7e\\xa3\\xc9\\x80\\xce\\xb4\\x5e\\x0b\\xb5\\x56\\x3c\\xef\\x10\\x59\\x51\\x98\\xe1\\x37\\x45\\xaa\\x23\\x99\\xf1\\x1c\\x69\\x46\\x49\\x60\\x3a\\xda\\xb2\\xd1\\x6e\\x35\\x16\\x12\\x40\\x0b\\x32\\xd9\\xe5\\xcc\\xb3\\xf7\\x9c\\xb9\\xef\\x7d\\xf1\\xdc\\x9e\\xc7\\x41\\xe5\\x7b\\x8f\\xbd\\x01\\xb6\\xe5\\x37\\xfc\\xbd\\x61\\x54\\xfd\\x0f\\xe2\\x5f\\x40\\xfd\\xcd\\xd2\\xd1\\x03\\x4a\\xcb\\x8e\\x80\\x9e\\xff\\xf3\\x37\\xd0\\xf5\\xc9\\xae\\xd1\\x3f\\xce\\x2b\\xee\\xa1\\xd9\\x02\\xf1\\x3d\\xf1\\x4f\\xf1\\x0f\\xf1\\x5c\\x41\\x22\\xf6\\x78\\x19\\xcd\\xad\\x91\\x72\\x53\\x1d\\xa3\\x41\\x41\\x0d\\x9d\\x94\\xd1\\xe8\\x54\\x43\\x8f\\x17\\x70\\x3c\\x6d\\x30\\x28\\xb4\\x5a\\x53\\x4d\\x4c\\xcb\\x2b\\x70\\x53\\xa5\\x15\\x17\\xca\\x54\\x67\\x8a\\x9b\\x19\\x7d\\x22\\xf1\\xd2\\xba\\x67\\x90\\xb8\\x40\\x9e\\xd0\\x72\\x18\\x66\\x84\\x53\\x15\\x9b\\x6a\\xf1\\xa4\\xf6\\x5d\\x1f\\x01\\x9d\\xf3\\xe3\\xf7\\xe3\\x19\\x8d\\xb6\\x01\\xa5\\xe8\\x10\\x57\\x37\\xee\\xcf\\x69\\x29\\xcd\\x6a\\xbe\\xaf\\xc3\\x5f\\x26\\x76\\x32\\x9e\\x50\\x2b\\x2c\\xb0\\x24\\xe2\\x63\\x76\\x3d\\x39\\xe7\\x1e\\x2c\\xa7\\xc1\\xec\\x52\\xa9\\xd4\\x36\\x08\\xd5\\x66\\xe8\\xf5\\xb9\\x94\\xc8\\xd3\\x32\\xba\\x8c\\x6a\\xab\\x53\\x6b\\xd5\\xd6\\xc5\\xac\\x50\\x8d\\xcd\\x63\\x66\\x46\\x33\\x93\\x8f\\xad\\x84\\x11\\xa4\\x54\\x66\\x46\\xa4\\x0c\\x78\\x1c\\x25\\xfb\\xe1\\xee\\x7f\\x02\\x46\\xbc\\x76\\x45\\xbc\\xe3\\x8c\\x55\\x0e\\x93\\xe1\\x2c\\xf1\\x38\\x06\\xa2\\x00\\x51\\x76\\xfe\\xa7\\xaf\\x9f\\xfb\\x21\\xfe\\x49\\x7a\\x80\\x3c\\x10\\x18\\xe3\\xef\\x51\\xa9\\x7e\\xc5\\x8f\\xd1\\x6c\\xb6\\xc0\\x95\\x76\\x1e\\x2a\\x4b\\x40\\x82\\xaa\\x8d\\x14\\xcc\\xcf\\x63\\xac\\xb4\\xd3\\xe9\\xaf\\x89\\x39\\x79\\xbd\\xb9\\x5f\\x4c\\x0f\\xd4\\x2e\\x3a\\xe7\\x66\\x39\\x40\\xdb\\x8d\\x89\\x06\\x91\\xfd\\xf2\\x01\\xc9\\x80\\xfd\\x27\\xba\\xc1\\xb5\\xab\\x5a\\xe7\\x64\\xb7\\xa9\\x9a\\x7d\\x53\\xc6\\x41\\xc5\\x90\\x35\\x1b\\x54\\xaa\\xc7\\x2d\\xeb\\xc4\\x6f\\x9b\\x93\\x0e\\xd2\\xd4\\x3e\\xf1\\x2c\\xdb\\x89\\xdc\\xdd\\xda\\xa9\\xee\\xd1\\x6c\\x8a\\xe3\\x78\\x03\\x40\\x67\\x0e\\x17\\x89\\x6a\\x19\\xa7\\xc3\\x40\\x0b\\x34\\x0a\\xec\\x91\\x82\\xc5\\x61\\x35\\x43\\xe0\\xa5\\xb0\\x86\\x4b\\xa0\\x7c\\xa4\\x61\\x10\\x46\\x24\\x44\\x29\\x89\\x0d\\x3f\\x89\\xf5\\x81\\x55\\x86\\x1a\\x24\\xb3\\x83\\x77\\x89\\xb3\\xc5\\x85\\x67\\x4e\\x82\\x5d\\x57\\x01\\x3c\\xb6\\x13\\xec\\x11\\x7f\\xd9\\xbb\\x55\\x9c\\x06\\x1e\\xde\\xb0\\x47\\x3c\\x4b\\x5f\\x15\\x6b\\xd9\\xf9\\x8f\\xbe\\x7f\\x7a\\xeb\\x07\\xee\\xc6\\x46\\x66\\xcd\\xac\\xf9\\x38\\x47\\x08\\xa8\\x3b\\x50\\x9c\\xd5\\x88\\xce\\x58\\x1e\\xd5\\x36\\xea\\xc9\\x56\\x0b\\x5e\\x4c\\x0d\\xd8\\x32\\x3f\\x4b\\xed\\x35\\xe5\\xe6\\xfa\\x87\\xc7\\x72\\xcd\\x06\\x93\\x09\\x6d\\x05\\x13\\x93\\x82\\xc1\\xc4\\x53\\x9b\\xe6\\xc1\\x90\\xec\\x43\\x7b\\xba\\xbc\\x3d\\x3a\\x5c\\x01\\x19\\x1a\\xd2\\x8f\\x64\\x33\\xd0\\x04\\x36\\x21\\x80\\xc2\\x65\\x8c\\x83\\x16\\xf0\\x67\\xdd\\xd1\\x7e\\xc6\\xe9\\x2d\\xdb\\x1f\\xad\\x11\\x9f\\xdc\\x7c\\xd4\\xf7\\x7c\\x24\\xfe\\x3b\\xa0\\x81\\xa1\\xe4\\xf6\\xc7\\x4e\\x9c\\xda\\xd9\\x03\\x4c\\x9f\\x77\\xe0\\x4e\\xef\\x73\\xa5\\xe2\\x7b\\x4d\\x94\\xf8\\xbd\\xf8\\x09\\x98\\x73\\xdb\\xb2\\xbb\\x7a\\x78\\xbc\\xed\\x63\\xd1\\xcf\\xee\\x9b\\x1f\\x38\\xb3\\xef\\xe5\\x67\\x7a\\x4d\\x1b\\xd0\\x39\\xb7\\x45\\xf7\\xbb\\x7a\\xfd\\xd2\\x71\\xc1\\x9c\\xec\\xbf\\xbf\\x73\\x01\\xc9\\xdf\\xa7\\xe9\\x07\\xf8\\x12\\xd3\\x03\\x69\\x67\\x24\\xbf\\xdb\\x40\\x05\\x54\\x16\\xca\\x12\\xce\\xf1\\xab\\xdc\\xc6\\x50\\x08\\xe9\\xb0\\x90\\x15\\xc3\\x79\\x12\\xa6\\xff\\xff\\x2c\\x3f\\x20\\xf2\\xa7\\x43\\x5b\\x1a\\x24\\x6e\\x7e\\x0c\\x82\\x4c\\x07\\x82\\xe1\\x3e\\xb5\\x6b\\x37\\x6d\\x1c\\x5a\\xfc\\xc1\\x84\\x05\\x96\\x5d\\xbe\\x77\\x8f\\x1d\\x7b\\xab\\xe7\\xb2\\x35\\xbb\\x46\\x45\\x7e\\xfd\\xa3\\x72\\x7b\\x4f\\x71\\xd6\\x8b\\x9f\\x83\\xfc\\x21\\xb3\\x6a\\x43\\xa1\\xfc\\x76\\x05\\xeb\\x07\\xd6\\x59\\x36\\x3c\\xbc\\xe5\\xe1\\xbe\\x93\\x7a\\x07\\x73\\x0a\\x3b\\x45\\xf6\\xbd\\xe3\\x13\\x5f\\xdd\\x2b\\xdd\\xff\\x8d\\x47\\x3e\\xda\\x4e\\x9c\\xaf\\x82\\x03\\xc8\\x3e\\xef\\x24\\x0e\\xa2\\xff\\x64\\xdf\\x47\\x3b\\x24\\x0b\\x57\\xd7\\xf9\\x94\\x26\\x07\\xf2\\x49\\x75\\x30\\x9c\\xed\\xb6\\xd6\\xc6\\xdc\\x6e\\x0e\\x72\\x9a\\x7e\\x31\\xce\\x05\\x83\\xb5\\x31\\x08\\x6e\\x92\\x09\\x20\\x23\\x68\\xdd\\x0c\\x85\\xb8\\x8c\\x28\\x90\\x0c\\x24\\xfb\\x4e\\x13\\x6e\\x7f\\xe8\\xc1\\xb6\\x95\\xad\\x4b\\x6f\\xe9\\x30\\x6f\\x05\\xd7\\xce\\xd5\\xff\\xee\\x5e\\x55\\x45\\xc5\\x55\\x6d\\x4b\\x8a\\xaa\\x58\\xeb\\x6d\\xa3\\x37\\xd6\\xff\\xf5\\x4e\\xe7\\x1e\\xfa\\x6d\\xfa\\x4d\\xab\\x98\\xb8\\xd6\\x74\\xd7\\x80\\xe2\\xaa\\xaa\\xe2\\xa2\\xaa\\x2a\\x72\\xff\\x8f\\xe4\\xc4\\xf7\\xff\\x5e\\x1c\\x27\\x68\\x28\\xc1\\xe1\\x30\\x31\\x06\\x83\\x8d\\x82\\x7e\\x9f\\x9d\\x37\\xf2\\xb5\\x31\\xc1\\x6c\\xe4\\xb4\\x28\\x42\\xd0\\x5a\\x69\\x65\\xbf\\x18\\xed\\x4a\\x99\\x8e\\x57\\x33\\xea\\x0f\\x12\\xee\\x0c\\x2f\\xbb\\x09\\xad\\xdb\\x81\\x1b\\xb2\\x21\\xc6\\x3b\\x75\\x6e\\x53\\x52\\xd5\\xda\\x90\\xc6\\x89\\xb8\\x4a\\xfc\\xda\\xb8\\xc3\\xd4\\xb1\\xeb\\xa4\\x0c\\x6a\\x44\\xa9\\x26\\x17\\xd7\\x48\\x18\\xb1\\xef\\x00\\x68\\xb5\\x52\\xa7\\xa3\\x79\\x68\\x36\\x69\\x34\\x34\\x47\\x31\\x1c\\x8a\\xb0\\x39\\x48\\xa7\\x29\\x32\\xfb\\xf5\\x78\\x9a\\xe9\\x59\\x3e\\x81\\x7e\\xe7\\xf4\\xfb\\x44\\x5d\\x6d\\xde\\x00\\xef\\x65\\xbe\\xba\\xe6\\x62\\xbe\\xaa\\x92\\x54\\xd4\\x43\\xcb\\xb7\\xc8\\xb5\\x10\\xad\\x90\\x6e\\xc2\\x56\\x29\\x80\\x66\\x42\\xc5\\x78\\x6d\\x06\\xc6\\xe0\\xf3\\x4b\\xbe\\xb5\\x5d\\xa1\\x54\\xa0\\xf9\\x50\\x72\\xb4\\x3b\\xa5\\x95\\xd2\\x59\\xde\\xd3\\xe0\\x63\\x93\\x54\\x90\\xcd\\x68\\xde\\x33\\x49\\x21\\x97\\x3f\\xd4\\xb1\\x75\\x9b\\x82\\xea\\x36\\xe9\\xd4\\x90\\xf7\\x6e\\x7c\\xd4\\xb0\\xcf\\xd2\\xbd\\xc7\\xd8\\x04\\x43\\x24\\xa0\\x50\\xc0\\x27\\xcf\\x43\\x7e\\xd4\\xaa\\x61\\x79\\x1a\\xf9\\xbb\\x26\\xb3\\x5e\\x35\\x3c\\xa6\\x67\\xd0\\xff\\x1e\\x1e\\x03\\x30\\x81\\x5c\\x99\\x4c\\x2b\\xe0\\xc4\\x3e\\x49\\x2a\\xa4\\xed\\x9b\\x02\\xe6\\x21\\xd1\\x5d\\x54\\x5a\\x55\\xd2\\xa5\\xfd\\xfc\\x65\\xcc\\x57\\x5b\\xb6\\xfc\\x75\\xa8\\xb6\\x27\\xbf\\xcd\\xb8\\x6e\\x09\\x3b\\x39\\xe1\\xdb\\xce\\x43\\xef\\x21\\x56\\x59\\xc9\\x58\\xcc\\x36\\x1b\\xaf\\x77\\x31\\x2e\\x9f\\x9f\\x77\\xd6\\xc5\\x78\\x0b\\x6f\\xa1\\x04\\x14\\x7d\\x50\\x9a\\x94\\x5f\\x4b\\x7c\\xda\\x74\\x57\\x48\\x1e\\x3f\\x1b\\xcc\\x0a\\x97\\xa5\\x03\\xab\\xa6\\x7c\\x21\\x1c\\x27\\xd2\\x9f\\x1c\\x14\\xc5\\x95\\x67\\x5e\\x7e\\xee\\xf4\\xa5\\xd3\\x33\\xa7\\x0c\\x7e\\x69\\xff\\xa1\\x35\\xe2\\xef\\x96\\x39\\x3f\\x3d\\x0e\\xe7\\x37\\xae\\x3a\\x7b\\xee\\xc2\\x6b\\x70\\x94\\x78\\x8f\\x63\\xea\\xf0\\xbd\\x63\\x77\\x9d\\x73\\x8a\\x73\\x9f\\xf8\\x63\\xa1\\xcc\\x93\\xc9\\xba\\x99\\x4a\\xa4\\x13\\xfa\\x46\\xf3\\x40\\x16\\x87\\x34\\x98\\xd5\\xa1\\x52\\x69\\xad\\x59\\xd6\\x70\\x8e\\xc7\\xab\\x15\\x6a\\x63\\x5e\\x2d\\xc7\\x69\\xbd\\xd0\\xc1\\xab\\xb3\\xb9\\x00\\xf2\\x2f\\x03\\x56\\x87\\x20\\x5b\\xe4\\x08\\x8e\\xbd\\x49\\xde\\x88\\x6a\\x16\\xa6\\x45\\x9a\\x53\\x63\\xa6\\x0b\\x7b\\x43\\x96\\xcc\\x29\\xb1\\xc1\\x2f\\xad\\xde\\x7b\\x13\\xae\\x4c\\xf1\\x8e\\xd0\\x84\\xd1\\x7b\\xc7\\x6e\\x3f\\x5b\\x28\\x3e\\x9e\\xc1\\x9a\\x29\\xe5\\xe5\\xbf\\x67\\x1f\\x43\\x73\\x1c\\xa2\\x7a\\x44\\xc3\\x2e\\x41\\xa7\\xf0\\xda\\x15\\xf6\\x00\\xa7\\x86\\xb8\\xee\\xd6\\xae\\x73\\x52\\x4e\\xe4\\xf2\\x38\\xa1\\x46\\x3d\\x3c\\xa6\\x81\\x94\\x29\\x33\\x82\\xc8\\xc4\\xf7\\x4a\\x40\\xbe\\x63\\x54\\x10\\x3f\\x85\\x19\\x49\\x30\\xfd\\x4f\\x40\\x50\\x48\\x98\\x36\\x48\\x37\\xd0\\x39\\xe8\\x3f\\xd1\\x79\\xb4\\x9a\\x04\\x9e\\xa2\\xe3\\xe2\\x45\\x71\\xcf\\x87\\x17\\x1f\\x6d\\xfd\\x2b\\xdd\\xeb\\xe8\\xc9\\xab\\x97\\x3f\\xbe\\x7a\\xa2\\x81\\xee\\xf5\\x6b\\xeb\\x47\\xdf\\xb9\\x2c\\xee\\x11\\x40\\x1f\\x10\\x3e\\x0f\\xfa\\x4f\\xd1\\x6e\\xb9\\x32\\x5c\\xfc\\xe2\\xf8\\xb7\\xa2\\xf8\\xed\\x31\\xe0\\xa9\\xbb\\xb2\\x45\\x3b\\x49\\x7c\\xe2\\x75\\xf1\\x63\\xf1\\xe9\\x44\\xfc\\xc3\\x86\\x09\\xbe\\x72\\xab\\xa8\\x4d\\x89\\x7c\\x35\\x3b\\x63\\x77\\x7b\\x04\\x1e\\xd9\\x3a\\x26\\x73\\x6b\\xa4\\x9f\\x09\\x39\\x29\\x27\\x6f\\x08\\x13\\x49\\x24\\x28\\x73\\x88\\x66\\xe3\\x69\\x86\\x3e\\xb3\\xe7\\xb7\\xc5\\x67\\xce\\x3e\\x7d\\xee\\x62\\xef\\x21\\x95\\x25\\xca\\x4e\\xbd\\x77\\xee\\x5b\\x2c\\x5e\\xb5\\x2c\\xbc\\xd6\\x00\\x47\\x36\\x1e\\x3c\\xf7\\x19\\x58\\x07\\x1e\\xdd\\xbf\\x5a\\xb3\\x55\\x77\\xe5\\x23\\xb1\\x5e\\x1c\\xf6\\x36\\x96\\x03\\xd7\\x28\\xc4\\x91\\x1c\\x16\\x14\\x73\\x5a\\x79\\x4e\\xa7\\x87\\x7a\\x0e\\x0a\\x56\\x23\\xfa\\xa7\\xde\\x44\\x21\\x7f\\x87\\x92\\x13\\x9e\\xd5\\x69\\xb1\\xa0\\x4c\\x53\\x20\\x15\\x68\\x62\\xfd\\x80\\x23\\xdf\\xf6\\x80\\x05\\x55\\x8b\\xda\\xf6\\x77\\xde\\x9e\\x9d\\x55\\xec\\x17\\x27\\x9f\\x8e\\xff\\xfd\\x03\\xf0\\x24\\xe8\\x5f\\x3e\\x83\\x5d\\xd1\\x2a\\xb2\\xc4\\xde\\xca\\x53\\x14\\x7f\\x22\\x7e\\x9c\\xee\\x06\\x2b\\xe2\\x23\\x68\\xc3\\xc0\\xae\\x94\\xcc\\xef\\xc7\\x2e\\x65\\xdf\\x23\\xb7\\x11\\x7e\\x4e\\x65\\x53\\xdb\\x02\\x1a\\xb5\\x9a\\xf6\\x07\\x04\\x67\\xbf\\x98\\x00\\x38\\x4a\\xe6\\xf7\\x83\\x72\\xf1\\xb4\\xe4\\x6b\\x57\\xe7\\x37\\x83\\xc9\\x68\\xce\\x1b\\x07\\xda\\xd3\\x18\\x90\\x1f\\x4f\\x0f\\x30\\x80\\xeb\\x08\\xe4\\x40\\x9e\\xbf\\xd7\\xc8\\xda\\x05\\xe3\\xfb\\x76\\xee\\x36\\x22\\x22\\x76\\x1e\\x76\\xb2\\x39\\x95\\x1c\\x1c\\x1c\\x1b\\x5b\\x34\\x6c\\x5e\\xfb\\xfa\\x6b\\xfd\\x7f\\x3c\\x81\\xe5\\x6c\\x8f\\x74\\xe8\\x6e\\xa2\\x3b\\xba\\x46\\xb3\\x8d\\x5a\\x8e\\x56\\xa8\\x75\\x3a\\x05\\xe4\\x18\\x93\\x59\\x63\\xa4\\x8c\\x75\\x31\\x25\\x45\\x21\\x1d\\xa7\\x1d\\x8e\\x02\\x1e\\x06\\xa2\\x28\\x27\\xf3\\x3a\\xa2\\x39\\x10\\x2d\\xd6\\x2b\\x81\\x04\\x69\\x5a\\x00\\xff\\x5d\\x06\\x02\\xed\\x69\\x0d\\xe8\\xd7\\xf8\\x23\\xfc\\x4e\\xdc\\x09\\x56\\x89\\x1a\\x71\\x3c\\xac\\xbf\\xb6\\x0d\\xec\\x10\\x87\\xc1\\x02\\x70\\x6c\\xcb\\x32\\xb1\\xcd\\xa2\\xf8\\x2f\\x5b\\x56\\xd1\\x4e\\x2c\\x4f\\x21\\x8a\\xe9\\x8f\\xa1\\x33\\x6c\\xc4\\xf6\\x46\\x45\\x2b\\x90\\x48\\x1c\\x54\\xe8\\x30\\x0e\\x2e\\x12\\xa7\\x26\\x21\\x4e\\x4d\\xcc\\x20\\x48\\x84\\x77\\x37\\x15\\xe7\\x66\\xd2\\x14\\x82\\x65\\x40\\x17\\x7f\\x18\\xb6\\x11\\x7f\\x46\\x8e\\xf3\\x70\\xf1\\x2b\\xfa\\x64\\xe3\\x2c\\xe0\\x16\\xff\\x4e\\x8f\\x01\\x5d\\x96\\xd5\\x8b\\xc7\\x17\\x89\\x7b\\x97\\xd5\\x93\\xb2\\x19\\xbc\\x8f\\x50\\xd0\\xb8\\x15\\xcd\\x8f\\x93\\xba\\x35\\x1a\\x06\\x2c\\x6b\\x55\\x2b\\x28\\x23\\xcd\\xf3\\x94\\x1a\\xba\\x5d\\x0a\\xa4\\xf6\\x8c\\x0a\\x05\\xda\\x5b\\x66\\xa4\\x6b\\x59\\x74\\xd8\\xf1\\xed\\x4d\\x9a\\xae\\xc5\\x32\\x55\\x64\\x14\\x0b\\x47\\x64\\x57\\x0e\\xcb\\xc4\\x48\\xd0\\x8d\\xc1\\xac\\x9c\\x72\\x53\\x00\\x9f\\xc7\\xac\\x7c\\x00\\x76\\x81\\x5f\\x1b\\x3f\\x81\\x7f\\x89\\x78\\x7d\\x3d\\xab\\xc4\\xbf\\x1e\\x7b\\x47\\xfc\\xbe\\xdf\\xae\\xe9\\xc0\\xf1\\xcc\\xdb\\x62\\xfc\\xb7\\xae\\xf4\\xef\\xe0\\xea\\x96\\x9d\\xa2\\xd5\\x24\\xbe\\x2f\\xfe\\x7c\\x48\\xfc\\xf1\\x91\\xc7\\x9f\\xed\\x26\\xfe\\xeb\\xfb\\xf7\\x3f\\xfc\\x56\\x92\\xb7\\x0b\\x92\\xf7\\x59\\x22\\x2f\\xf2\\x9e\\x1d\\x82\\xc0\\xa0\\x20\\x4f\\xa3\\xd5\\xda\\x29\\x23\\xe3\\x72\\x0b\\x0e\\xab\\x63\\x78\\xcc\\x02\\xea\\x62\\x1a\\x8b\\xc5\\x60\\x85\\x06\\x64\\x22\\x0c\\x52\\xf8\\x64\\xaa\\x40\\x82\\x36\\x5f\\x4c\\x72\\x22\\x42\\x41\\x06\\x03\\xb0\\xc9\\x17\\x94\\x58\\x91\\x50\\xd9\\x58\\x8d\\x04\\x00\\xec\\xd0\\xf5\\x57\\xb1\\x71\\xe4\\x53\\x93\\x80\\x63\\xfa\\xae\\x7e\\xe2\\x77\\x17\\xc4\\x26\\x14\\x71\\x66\\x03\\x85\\xa8\\x84\\x7f\\x35\\x7e\\x02\\x7e\\xa5\\xc7\\x7e\\x73\\x79\\xd9\\xf9\\xf1\\x80\\xeb\\xf6\\xec\\xe3\\xa0\\x03\\xb0\\x5c\\x03\\x11\\x0f\\xf8\\x6e\\xe7\\x16\\xd1\\x44\\x64\\x1d\\x26\\x0e\\x60\\xb2\\x98\\xb6\\xc8\\xd7\\xef\\x12\\xcd\\x02\\x4e\\xa7\\xd2\\xea\\xa0\\x0d\\xc8\\x5b\\xa6\\xad\\x28\\x7a\\x72\\x30\\xb5\\x31\\x03\\xf2\\x36\\x5c\\x2e\\x50\\x13\\x73\\x71\\x26\\xb4\\xe4\\xa6\\x8c\\x48\\xef\\x06\\xf3\\x8a\\xc2\\x1f\\x41\\xa6\\x18\\x49\\x5e\\x41\\x4a\\xb9\\x7e\\x24\\x30\\xfc\\x35\\xde\\x03\\xcc\\xed\\xbb\\xe5\\x74\\x6d\\x7d\\xed\\xb2\\x8d\\xa6\\x23\\xb6\\xa6\\x0f\\x57\\x5c\\x9e\\x76\\xf9\\x94\\xb8\\x0a\\x4e\\x81\\x87\\xc4\\xd9\\xab\\x8f\\x6f\\x1c\\xfa\\xc4\\x1d\\x33\\x16\\xe8\\x4e\\xbe\\x30\\xff\\xcb\\x65\\x67\\xe3\\x0e\\x70\\xcf\\x11\\x69\\x4e\\x7b\\xa3\\x39\\xf5\\xa1\\x3d\\x99\\x8b\\xec\\x4a\\x3e\\x32\\x7a\\xb9\\x94\\xc1\\x65\\x37\\x85\\x2c\\x4a\\xa5\\xc9\\x45\\x31\\x79\\x2d\\x6c\\x16\\xc1\\x52\\x13\\xb3\\xa3\\xdd\\x19\\x32\\xd8\\xed\\x50\\xe0\\x72\\x21\\x0c\\xd7\\x90\\xc0\\x94\\x18\\x7f\\x3c\\xb7\\x19\\x93\\x9b\\x6e\\x57\\x58\\x9c\\xa0\\xc6\\x42\\x26\\xf1\\xe4\\x65\\xd2\\x41\\x9c\\xf3\\x95\\x5d\\x51\\x6b\\xc4\\x5f\\xce\\xf8\\x72\\xc5\\x5f\\xde\\x5d\\xfa\\xe1\\x98\\x01\\xeb\\xf7\\x3f\\x31\\xf9\\xa5\\xb3\\x60\\x54\\x7c\\x25\\xb2\\x82\\x53\\x8f\\x3c\\xdb\\x67\\xe9\\xe1\\xfa\\x11\\xa5\\xcb\\x97\\x00\\x53\\xc7\\xd1\\x9b\\x0f\\xf4\\xac\\x1f\\xda\\xe7\\xde\\xde\\xf9\\x79\\xb5\\x95\\xb7\\xb6\\x5b\\x06\\xf2\\x96\\xdf\\x27\\x9e\\xd6\\x2f\\xbb\\xaf\\xef\\xf8\\x6e\\xf9\\xc1\\x82\\x0e\\x45\\xdd\\xfb\\xca\\x9c\\x58\\xb7\\xa1\\x73\\xaf\\x43\\xfe\\x7f\\x16\\xd5\\x3b\\x9a\\xeb\\xb6\\x30\\x46\\xb4\\x49\\x5c\\x3e\\xca\\x67\\x44\\x1e\\xa8\\x35\\x8b\\xca\\xaa\\x8b\\x99\\x29\\xca\\x6b\\xf0\\xba\\x86\\xc7\\xbc\\x26\\x8d\\xc1\\xa0\\xac\\x8b\\x19\\x32\\x43\\x81\\xeb\\x4e\\x9b\\x5c\\xc3\\x13\\xb8\\x1e\\x15\\x1f\\x05\\x2d\\x06\\xa8\\xc4\\xc7\\x0f\\x85\\x0b\\x81\\xdb\\xe8\\x9a\\x5b\\xbb\\x2f\\x99\\x39\\x65\\xbd\\xfe\\xb8\\xe5\\xf7\\x17\\xdf\\xff\\x6a\\xd6\\x0a\\xf1\\x87\\x0e\\xcb\\x66\\x8f\\x72\\xd2\\x9f\\x35\\x0e\\xc9\\x1e\\xbf\\x68\\x85\\x58\\x43\\x5f\\xbd\\x65\\x79\\x9f\\xa9\\xf3\\x66\\x4f\\x32\\xee\\x3f\\x77\\xfe\\xb9\\xb5\\xeb\\x96\\x54\\x4e\\x9c\\x38\\xb5\\x7a\\xd3\\xdc\\x41\\x8f\\x2c\\x99\\x2c\\xc9\\x1f\\x43\\xf1\\x4b\\x18\\xed\\x73\\x17\\xd5\\x39\\x9a\\x65\\xd5\\x53\\x76\\xa3\\x59\\xa9\\x50\\xa0\\x30\\xd1\\xe3\\xb6\\x99\\x71\\x03\\x83\\xdd\\x88\\x42\\x2c\\xb4\\x1a\\x16\\x08\\x35\\x75\\x31\\x68\\x4e\\xd6\\x5c\\x5c\\xbf\\x12\\x24\\x33\\x43\\x65\\xf0\\x8b\\xe7\\x23\\xed\\x4f\\xfc\\xa3\\x48\\x09\\xc3\\x84\\xc5\\xdf\\xbf\\x3f\\xf3\\x47\\xf0\\x68\\x68\\xfd\\xa4\\x75\\xbb\\x0e\\x3e\\xf6\\xd5\\x93\\xf0\\x56\\xd1\\xd9\\xfb\\x1b\\x00\\xc1\\x67\\x3f\\x88\\x7f\\xbe\\xf8\\x84\\x30\\x67\\x5a\\xc3\\x93\\x3b\\x76\\x80\\xd7\\xb7\\x6c\\x11\\x2f\\x36\\x4a\\xf2\\x15\\xa0\\xf8\\x64\\x38\\xda\\x33\\x0e\\xac\\x57\\x55\\x94\\x41\\x03\\x05\\xd6\\x62\\x81\\x06\\xe8\\x72\\xe2\\xbb\\x74\\x41\\xa3\\x31\\x2a\\x8c\\x76\\x14\\x9f\\x58\\xd5\\xac\\x02\\x19\\x02\\x05\\xd7\\x6c\\x72\\x9b\\x6d\\x6f\\x24\\x62\\x69\\x20\\x24\\x09\\x25\\x48\\x08\\xfc\\x49\\x81\\xe9\\x03\\xe2\\x27\\x7b\\x9f\\x84\\x3a\\xb1\\x63\\xeb\\x37\\x3e\\xbd\\xf8\\xfc\\xd3\\x17\\x83\\x87\\xf4\\xf3\\x87\\x7e\\x09\\x06\\x5c\\x04\\x4b\\x96\\x2f\\x17\\x8f\\xed\\x3a\\x78\\x7a\\xe7\\x01\\xdd\\xb0\\x69\\x58\\xae\\x2c\\x24\\xd7\\x46\\xf6\\x0b\\x14\\x5d\\x77\\x8c\\x06\\xed\\xda\\x1c\\x00\\xb2\\xfc\\x46\\x7f\\x0b\\x2d\\x93\\x9f\\x17\\x06\\x54\\x30\\x84\\xc2\\x0d\\xbb\\x21\\x27\\xc4\\x19\\x04\\x74\\xde\\x0c\\xd6\\x04\\x86\\x93\\xa9\\x22\\x89\\xf5\\x61\\x4b\\x4b\\xbf\\x49\\x64\\x3e\\x4c\\x73\\x1a\\x1f\\x3a\\xa7\\x40\\xe6\\x04\\x2b\\xc7\\x55\\xba\\x43\\x02\\x7d\\x7b\\x2e\\xbc\\xb3\\x5b\\x89\\xeb\\xdc\\x45\\x99\\x9b\\x7d\\xde\\xd8\\xac\\x6e\\xe3\\xba\\xec\\x99\\xb7\\xf0\\xc1\\xa3\\xcf\\xc1\\x63\\xe3\\xfa\\x77\\x6e\\x65\\x0a\\xe6\\x95\\x74\\xea\\x5b\\xbe\\x71\\x2f\\x21\\x66\\xaf\\x19\\x5c\\x5c\\x9d\\xe7\\x33\\xe7\\x6f\\xad\\x9f\\xbd\\x10\\x0c\\xe9\\x2d\\x0e\\x5a\\x28\\xe5\\x06\\x06\\x32\\x2e\\xa6\\x17\\xc5\\x23\\xed\\xd6\\x26\\xea\\xb6\\x69\\x58\\x16\\xad\\xb8\\x82\\x72\\xb9\\xb5\\x06\\x9b\\x8d\\xa9\\x89\\xd9\\x04\\x83\\x19\\x59\\x06\\x5e\\xc9\\xa5\\x67\\x59\\x9a\\xa3\\x66\\xd2\\x0c\\x8b\\x03\\x69\\x99\\xf2\\xde\\xaa\\xe4\\x03\\x38\\x81\\xd8\\x9e\\x66\\x5c\\xeb\\xc5\\xd7\\xc5\\xab\\x0d\\xfb\\x34\\x4c\\xcb\\xbd\\x13\\x5f\\xb9\\x74\\xba\\x89\\x5a\\xb5\\xfa\\xdc\\x37\\x13\\xe9\\x89\\xbb\\xc5\\x9f\\x3e\\x1c\\x25\\xbe\\xcf\\x7e\\x39\\xe6\\x96\\x11\\x75\\xbf\\x7d\\x0b\\xfa\\xbe\\xf5\\x5e\\xfc\\x97\\x1e\\x47\\x3e\\x42\\xf3\\x79\\x18\\x4d\\xea\\xa8\\xff\\x76\\x2f\\x71\\x38\\x71\\x2f\\x41\\x53\\x47\\xd1\\x3f\\x36\\x4b\\x7c\\x59\\x94\\x3f\\x6a\\x80\\x14\\xa3\\xa4\\x94\\x2a\\x35\\xfa\\x56\\x02\\x9d\\x20\\x83\\x9a\\x5f\\xfa\\xeb\\xe8\\x9e\\x6d\\x7b\\xf0\\x2f\\x90\\x5f\\x01\\x14\\x3a\\x02\\x4c\\x25\\xc9\\x7b\\x23\\x3f\\x97\\xa3\\x54\\x8c\\x4e\\x67\\x04\\x7a\\x34\\x1b\\x7a\\x0a\\x5a\\x04\\xa5\\x99\\x32\\xe3\\x0e\\x32\\x2d\\xc7\\x73\\xc3\\x31\\xaa\\x13\\xfa\\x8b\\xd6\\x9b\\x48\\x9d\\x8f\\x94\\xcd\\x93\\xce\\x6d\\xa6\\xe9\\x4e\\x11\\x5b\\x48\\x64\\x1a\\x81\\xf4\\x52\\xf1\\xc9\\x60\\xf9\\x21\\xb0\\x52\\x9c\\x8c\\xff\\x3e\\x24\\x4e\\x05\\xcb\\xc5\\xa9\\x8c\\x02\\xbc\\x2a\\x56\\x6e\\x12\\xdf\\xdc\\x24\\xd6\\x81\\x1d\\x9b\\x40\\x29\\x8a\\x71\\xf1\\x05\\xf7\\x5c\\x52\\x93\\xc1\\x24\\xfa\\x50\\x34\\x63\\x95\\xe5\\x3c\\xc1\\xbe\\xe1\\x73\\xa8\\x76\\xec\\x6b\\x52\\x4d\\xa4\\xe2\\x17\\x30\\x8a\\xd2\\x34\\x40\\x0c\\xa9\\x91\\xc2\\x3d\\x51\\x8f\\x60\\x2f\\x25\\x9f\\x1d\\x96\\x7c\\xb6\\x1b\\x9a\\x37\\xf4\\x2c\\xae\\x16\\x4e\\xf5\\x57\\x29\\x45\\xf2\\x6c\\x57\\xe9\\x59\\x66\\x94\\xf4\\x2c\\xf3\\x95\\xf4\\x6c\\xab\\x56\\xc9\\x67\\xf7\\xa1\\x67\\xbf\\x21\\x35\\xbe\\xc8\\xb3\\xc0\\x3d\\xde\\xcc\\x5c\\xb9\\x87\\x65\\x90\\xc2\\x4f\\x6a\\xf1\\xa5\\xcf\\x7b\\x31\\x5f\\xc8\\x3d\\xc0\\x83\\xa0\\x29\\xd1\\x13\\x8a\\x3f\\xc7\\x18\\xc3\\xd2\\xef\\xa8\\x0b\\xc9\\xef\\x14\\x4b\\xbf\\x83\\xe5\\x93\\x7e\\x47\\xc9\\x90\\xe7\\xa5\\xcf\\x7b\\xc9\\x9f\\x2f\\x41\\xfe\\xdf\\x4e\\xf2\\x79\\xad\\xfc\\xfb\\xa3\\x6e\\x84\\xb3\\xae\\xa6\\xc0\\x48\\x2a\\x0d\\x67\\xdd\\x02\\x2d\\xce\\x1b\\x60\\x49\\xa5\\xb0\\x43\\xeb\\x13\\x38\\xa0\\x04\\x3b\\xb4\\xf4\\x78\\xd3\\x27\\x18\\x4b\\xca\\x95\\x51\\x37\\xfc\\x01\\xc1\\x36\\x48\\x62\\x5b\\xab\\x31\\x44\\x51\\x12\\xdb\\x5a\\xc9\\x28\\xf5\\x00\\x66\\x3c\\x5f\\x8f\\x9e\\xf7\\xe1\\xf9\\x54\\x97\\x48\\x7d\\x34\\xe8\\x83\\xae\\xcf\\x4a\\xb0\\x88\\xca\\xe3\\x4d\\x3f\\x47\\x0b\\xc8\\x57\\x7c\\xa4\\xfd\\xb6\\x89\\x63\\xfa\\xa0\\x3f\\x68\\x1f\\x07\\x28\\x0e\\xb7\\xe2\\x1e\\xe6\\x5e\\xe0\\xae\\x70\\x8a\\xd5\\xdc\\x0e\\xf2\\xaf\\x3f\\x71\\xec\\xa4\\xc9\\x84\\x9b\\x54\\x7a\\x41\\xd3\\x75\\xb8\\xcd\\x68\\xcc\\xe7\\xa5\\x31\\x10\\xd8\\x66\\xef\\xf1\\xa6\\x3f\\x1a\\xbc\\x59\\xaa\\x1b\\xe1\\xfd\\xa5\\xf0\\xfb\\xea\\x93\\x3d\\x7a\\x04\\xbf\\xcf\\xc9\\x36\\xeb\\xa1\\x6b\\x86\\xf3\\x8b\\xde\\xb1\\x56\\xaa\\xbb\\x25\\x30\\xbf\\x36\\xdc\\xf3\\x69\\xf3\\xb0\\x7c\\xc6\\x3b\\xa4\\xfa\\xf8\\x4b\\xc9\\xfa\\xed\\x7a\\x19\\x87\\x50\\xc2\\x6d\\x43\\x72\\xfd\\x8c\\xe4\\x72\\xde\\xa8\\x3e\\x3e\\x3f\\xf9\\x9e\\x08\\x7d\\x15\\x7d\\xc7\\x1b\\x35\\x42\\x1a\\x48\\x00\\xd1\\xc0\\xa1\\x75\\xd8\\xa4\\x37\\xc9\\xe5\\xcf\\xc9\\x5a\\x7c\\xc5\\x38\\xe9\\x5d\\x68\\xcf\\x8e\\xc5\\xeb\\x28\\x61\\x0e\\x01\\x3b\\x55\\x1d\\xcd\\x86\\xdb\\xc3\\x80\\x0f\\xfb\\xc3\\x45\\xe1\\x68\\x98\\xa9\\x09\\xd7\\x85\\x27\\x86\\xe7\\x85\\x77\\x84\\x0f\\x87\\x15\\x61\\x09\\x12\\x0e\\x36\\xc7\\x84\\x93\\x7e\\xbc\\x70\\xd8\\xa4\\x61\\x72\\x8d\\x79\\x73\\xd9\\x4a\\xd3\\x64\\x0b\\x04\\x88\\x6c\\x3e\\xad\\xcf\\x73\\x13\\xd9\\x1a\\x9b\\xcb\\x46\\x4d\\x07\\xfb\\x90\\x6c\\x2d\\xd0\\xf7\\xb7\\x87\\x2f\\x84\\xe9\\xff\\x26\\x47\\xd9\\x8d\\x64\\x28\\x4b\\x93\\x21\\x2b\\x8b\\xc8\\xe0\\xd4\\x3a\\xad\\x37\\x91\\xe1\\xfb\\xeb\\xe6\\xa7\\x9e\\xfa\\xc7\\xff\\xb7\\x0c\\xad\\xaf\\x9f\\x07\\x97\\xd6\\x15\\xf8\\x5f\\xcf\\x43\\x27\\x6a\\xe2\\xff\\x4d\\x06\\x19\\x83\\xcb\\x46\\x6a\\x92\\x1c\\xf8\\x76\\x92\\x72\\x38\\x74\\x66\\xa5\\x51\\x67\\x74\\x39\\x4d\\xc8\\x44\\x99\\x4c\\x9c\\x9a\\xb3\\xe2\\x22\\x4c\\x85\\x1a\\x77\\x1e\\xaa\\xf9\\x66\\xd6\\xbf\\x79\\x61\\x68\\x0a\\x99\\xd6\\x64\\xe4\\xe9\\x90\\xdf\\x58\\x66\\x93\\x7c\\x5c\\x78\\x9b\\xdc\\x46\\x08\\x06\\xff\\x74\\xed\\xda\\x3f\\xc4\\xd0\\x09\\xa9\\x5f\\x90\\xee\\x44\\xfa\\x05\\x01\\x25\\xfe\\x5d\\xfc\\x5a\\xfc\\x15\\x45\\x37\\xd5\\xf6\\xa5\\xb8\\x45\\x30\\xa1\\x83\\xc8\\xfc\\x64\\xc9\\x7b\\xf8\\xb0\\x34\\x3f\\x0c\\x44\\xa7\\x8b\\x0d\\xa3\\x3f\\xac\\xac\\x55\\x26\\x88\\x48\\x9b\\x1f\\x09\\x27\\x78\\x9c\\xa4\\x8b\\xc8\\xfc\\xfc\\x9c\\xe8\\x5d\\x41\\xf3\\x13\\x88\\x5a\\x99\\xea\\xaa\\xed\\x55\\x34\\x5f\\x55\\x54\\x15\\xad\\x5a\\x5d\\xc5\\x54\\x49\\xb8\\xc3\\xd2\\xb4\\x4c\\x1a\\x96\\xc2\\xeb\\x4b\\x7b\\x77\\x39\\xfd\\x34\\x25\\xe3\\x66\\xe2\\x26\\x16\\x48\\xdb\\x14\\x36\\x7b\\x33\\x1e\\x88\\x66\\xef\\xa5\\x37\\x83\\x82\\xa6\\xc3\\xe4\\xbd\\x7f\\x93\\xde\\x0b\\xe7\\x96\\x83\\xea\\xf2\\xed\\xe5\\x34\\x5f\\x5e\\x54\\x1e\\x2d\\x87\\xe5\\x04\\xb7\\x18\\x7f\\x1d\\xbd\\x76\\x12\\x79\\x2f\\xe1\\x80\\x20\\xfd\\x39\\x4b\\x24\\x99\\xe1\\xa7\\x04\\x1f\\x8c\\xb6\\x5a\\x49\\x53\\x24\\xe8\\xd4\\x60\\x6b\\x8e\\x35\\x4e\\xf0\\x8d\\x49\\x8f\\xce\\x3e\\xe9\\x3b\\xf4\\x60\\x49\\x07\\xc1\\x76\\xed\\xd0\\xfa\\xb7\\x77\\xb5\\xaf\\x36\\xe5\\x24\\xbf\\x21\\xd5\\xb7\\xf8\\x91\\x4f\\x1d\\xa6\\xc6\\x46\\x2b\\x40\\x76\\xb6\\x4d\\xa5\\xd0\\xc0\\xb0\\xd7\\x68\\x0c\\x6b\\x60\\x6e\\x8e\\x3a\\x4c\\x85\\xeb\\x62\\xc8\\x36\\xa2\\x28\\xba\\x0f\\x05\\x38\\x06\\x68\\x91\\xf5\\xa7\\x18\\xbd\\xc5\\x82\\x9c\\x6c\\xbb\\xdd\\xc2\\xe8\\x03\\x28\\x8a\\x4c\\x24\\xce\\x0a\\xd3\\xe9\\xfc\\x86\\x35\\xeb\\xe6\\x4a\\x2f\\xb7\\x0c\\x90\\x32\\x97\\x88\\x10\\x12\\x14\\xe9\\x97\\x8b\\xca\\xcc\\x4a\\x18\\xd8\\x13\\xec\\xc6\\x35\\x2e\\xf3\\xe6\\xa5\\x57\\xb9\\x7c\\x07\\xb2\\xfa\\x3c\\x9b\\x51\\x06\\x33\\x14\\x3c\\x3b\\x6e\\x87\\xf8\\xdb\\x82\\x58\\xaa\\xc6\\x65\\xdb\\xa1\\xd6\\xe9\\x05\\x30\\x46\\x2a\\x71\\xef\\x75\\x37\\xd3\\x03\\xf9\\x91\\xad\\xa9\\xbb\\xa3\\x6d\\x8a\\xad\\x8c\\x2e\\x0f\\xe6\\xb9\\x51\\xa4\\x90\\x95\\x05\\xad\\xb0\\xbc\\x0d\\x43\\xe5\\x10\\x2a\\xd3\\x2c\\x9d\\x39\\x6a\\x2e\\xad\\x89\\x99\\xa3\\x6a\\x43\\x37\\xb3\\x99\\xf2\\x73\\x8e\\x82\\x9a\\x98\\x83\\x27\\x34\\xf5\\xae\\xf4\\x8b\\xc6\\x42\\x19\\xe0\\xb4\\x24\\x49\\xb8\\x95\\x74\\x4d\\x4c\\x15\\x72\\xa9\\x6c\\xc2\\xc9\\xc4\\x9c\\xa5\\xe5\\x65\\x52\\xda\\xcd\\xc8\\x13\\xe2\\xd9\\x08\\x0a\\xf3\\x22\\xc8\\x91\\x43\\x33\\x61\\x00\\xe6\\xd2\\x04\\xed\\x2e\\x2e\\x96\\xc9\\x7a\\xfa\\x5d\\xef\\x33\\xa6\\x59\\xa3\\xc6\\xcc\\xb0\\x23\\x27\\x66\\x07\\x4d\\x47\\x8e\\xdc\\xf7\\xea\\xf3\\x6f\\xbc\\x31\\x65\\x7f\\x01\\xad\\x62\\x9e\\x50\\xcc\\x5d\\xee\\xbb\\x5c\\xdb\\x6d\\x41\\xff\\xa5\\x73\\xee\\x5b\\xb9\\x60\\xbb\\x38\\x68\\xd9\\x3c\\x67\\x8f\\xda\\xc1\\x43\\x17\\x94\\x5d\\xbe\\x7b\\xcc\\xbf\\x80\\x02\\xa8\\xfe\\x1a\\x33\\xc2\\xbb\\x4e\\xd9\\xfa\\x40\\xe3\\xf3\\x0b\\xb6\\x6d\\x87\\xbf\\x4c\\x3f\\x30\\xa4\\xe1\\xb5\\xd7\\x9e\\x7c\\xf5\\x7a\\x3c\\x32\\x64\\x77\\x3e\\xa4\\xd2\\xf0\\xc8\\x82\\xde\\x60\\x2e\\x65\\xff\\x0f\\x78\\x64\\xf5\\x09\\xbc\\x71\\x02\\x47\\x56\\x72\\xbc\\xe9\\xab\\x86\\x74\\xc4\\xb0\\x64\\x3f\\x6f\\x35\\x79\\x47\\x81\\xfc\\x8e\\x28\\x95\\xe2\\xdc\\xe0\\x8e\\x37\\x6d\\x6c\\xe0\\x04\\x56\\x9b\\xf1\\x1d\\x52\\x13\\xa2\\x34\\x25\\xb0\\x4c\\xd4\\x14\\x75\\x8e\\xb2\\xa4\\x7f\\xe7\\xad\\xeb\\xbf\\x33\\x42\\x1c\\x40\\xee\\xc0\\x89\\x9d\\xe6\\x71\\x3f\\xd3\\x78\\x19\\x2b\\x6c\\x00\\xae\\xaf\\x94\\x6c\\x31\\xfe\\x1c\\xf7\\xb5\\x26\\x9e\\x4f\\xf4\\xdd\\xa3\\x73\\x49\\x9e\\x27\\xbd\\x6f\\x17\\xa5\\xbe\\x5a\\x58\\x84\\x4e\\x74\\x11\\x55\\x54\\x98\\xc9\\xe3\\x40\\x7e\\x2f\\xd1\\x7f\\x8f\\xbf\\x87\\x7f\\x8f\\x9c\\xe7\\x5f\\xa4\\x1e\\x1f\\xd8\\x12\\x1d\\xaf\\x96\\x54\\xcb\\xfc\\xcc\\xfe\\x5a\\x92\\x8b\\xc1\\xf3\\x80\\xf1\\x37\\x93\\x3d\\x97\\x78\\xae\\xb1\\x23\\x01\\xbc\\x4a\\x6f\\x56\\x06\\x56\\x63\\x67\\xb4\\x47\\xb5\\x78\\xae\\xe9\\xfe\\x69\\xf8\\x72\\xf8\\x79\\x8f\\x07\\x19\\x78\\x9f\\xde\\x97\\xad\\x57\\xa4\\x9e\\x6f\\x5a\\x2b\\x0e\\xa2\\x73\\xf1\\xf3\\xe0\\x4f\\xc9\\x0f\\x5a\\x9b\\x60\\xbc\\x40\\x4f\\xf3\\x83\\x78\\xab\\x42\\xd7\\x7c\\x5d\\x34\\x63\\x89\\x4f\\x98\\x43\\x7c\\xbc\\x76\\x09\\x9f\\x90\\xf8\\xb2\\xa9\\xcf\\x87\\xc9\\x9f\\x4b\\x7e\\xab\\x8c\\xeb\\x88\\x3f\\x97\\x7d\\x42\\x69\\x0f\\xfd\\x94\\xc4\\x6c\\x13\\xe9\\xae\\xb2\\x9c\\xd8\\x62\\x02\\xff\\x70\\x7f\\xe8\\x06\\x7b\\xe8\\xcb\\xc4\\x1e\\x42\\x76\\x7a\\x9c\\xec\\x1b\\x61\\xb5\\x47\\x17\\x8d\\x2a\\x4a\\x47\\x6e\\x03\\xc4\\x07\\x7e\\x81\\xf4\\xb7\\x8c\\x88\\x3a\\x15\\x6a\\x1b\\xc5\\x59\\x4d\\x26\\xb3\\x99\\x53\\xa3\\x60\\xd4\\x8a\\xc2\\xe4\\x1a\\x2b\\xb8\\x62\\xc5\\x1d\\xd3\\x9f\\x47\\xdd\\xe6\\xee\\x33\\xad\\xf5\\x56\\x9a\\xb3\\x02\\x15\\xb4\\x5a\\xcd\\x76\\x0b\\x34\\x9b\\x74\\xb0\\x2e\\x86\\xac\\x57\\x22\\xa8\\xaa\\x96\\xdb\\x37\\x87\\x49\\x5d\\x3d\\xcd\\xd2\\x45\\x69\\xe5\\x5e\\x24\\x25\\x4e\\x2e\\x2d\\xd1\\x3f\\x23\\xac\\x7f\\xfa\\xbc\\x79\\xd3\\x9e\\xf9\\xfb\\xf9\\x37\\xbf\\x8d\\x2b\\xce\\x9c\\xa1\\xff\\x3a\\x03\\x96\\x3e\\xbc\\x60\\xfe\\x3a\\x5c\\xe2\\xf5\\xf4\\x3b\\x6f\\x1e\\x01\\xa1\\xf8\\x14\\x76\\x7e\\xfc\\x49\\xbc\\x58\\xf8\\x0e\\x75\\x10\\xb3\\x09\\xe9\\x52\\x03\\x8a\\xf5\\x2a\\xa3\\x1e\\x9b\\x1a\\xc5\\x7a\\x1c\\x89\\xf5\\xd4\\x36\\x9d\\x8d\\x19\\x1e\\xb3\\x99\\x74\\x26\\x5c\\xfc\\xa9\\x84\\x2c\\xbe\\x3b\\xbd\\x79\\xb4\\x47\\x11\\x70\\x1d\\x41\\x8a\\xf5\\x12\\x70\\x19\\xad\\x29\\x13\\xb3\\xe9\\x73\\x71\\xe1\\x7b\\x67\\x8e\\x57\\x9f\\x9e\\xf0\\xd9\\xd5\\x97\\x56\\xaf\\x19\\xbe\\x69\\xe0\\x2e\\x10\\x3a\\x00\\x1f\\xfb\\x48\\x6c\\x2b\\x3e\\xd6\\x4d\\xfc\\x5d\\x99\\xb7\\x7b\\xf0\\x88\\x3f\\xff\\x7c\\xfc\\xe9\\x3b\\x0e\\xdc\\xd1\\x38\\xad\\x12\\xb4\\x02\\x0f\\x51\\xd4\\x8d\\x30\\x51\\xe2\\x04\\x1f\\x18\\x9d\\x2d\\xb3\\x59\\xc2\\x17\\x79\\xba\\x81\\x37\\x2b\\x32\\xfd\\xc6\\x25\\xa4\\x56\\x89\\xe0\\xa2\\xc8\\x3e\\xc5\\xd3\\xd2\\x77\\xfc\\x7e\\x09\\x5f\\xa4\\xa1\\xc1\\xe3\\xd7\\xa7\\x61\\xc2\\x62\\xd3\\x40\\x6c\\x65\\x7b\\xe4\\x43\\xb8\\xa8\\x5c\\x74\\xf6\\xf7\\x45\\xc7\\x62\\x7c\\x28\\x9b\\xd9\\xae\\x60\\x59\\x95\\xca\\x4d\\x05\\xf5\\xfa\\x16\\x28\\xa2\\x51\\xb3\\x0c\\xa3\\x2e\\x2a\\x2c\\x2a\\x5a\\x5d\\x44\\xf3\\x45\\xd1\\xa2\\x89\\x45\\x3b\\x8a\\xde\\x29\\x62\\xb9\\x22\\x64\\x61\\x5a\\xb4\\xe0\\x79\\xdf\\x8a\\xd8\\x44\\x7e\\x1e\\x4f\\xf3\\x7c\\x78\\x6e\\xfe\\xf6\\xfc\\xa7\\xf2\\xcf\\xe4\\x33\\xf9\\x51\\xb5\\xae\\x5b\\x5d\\x3e\\xc8\\x57\\x28\\xed\\x3e\\x1b\\xb0\\xd9\\x54\\x66\\x0d\\xac\\x0e\\x03\\x0a\\x79\\x9d\\x74\\x18\\xfd\\x3c\\x55\\x18\\x29\\xc4\\xf4\\x8b\\x11\\x42\\x2f\\x1d\\x79\\xab\\xa4\\x10\\xad\\x37\\xfe\\x57\\x29\\xb9\\x29\\xb5\\x97\\x49\\x1d\\x40\\x32\\x98\\x51\\x89\\xd1\\x24\\x5f\\x2d\\x01\\x8c\\x2c\\x17\\x82\\x98\\xf9\\x88\\xa4\\xdf\\xd0\\xcc\\x43\\xa5\\x01\\x60\\xac\\x93\\x9c\\x24\\x08\\xb9\\x0d\\xed\\x13\\x58\\x56\\x1e\\x11\\x58\\xb8\\xad\\x6d\\x01\\xed\\x79\\x69\\x67\\x7c\\xce\\xae\\x57\\xe9\\xac\\xe2\\x76\\x2b\\x47\\x8d\\x5a\\xf9\\x2f\\x35\\x5f\\xf6\\x1c\\xcd\\x3d\\xe3\\xf2\\x8c\\xed\\xdd\\xa6\\xa2\\x77\\xb7\\xd6\\xea\\xca\\x9e\\xbf\\x7f\\x74\\x41\\x7c\\x9d\\x9d\\x58\\x3e\\xc2\\x7d\\xad\\x33\\x98\\x22\\xae\\x60\\x9e\\x73\\x8f\\x6c\\x73\\xdb\\xdc\\x79\\xe2\\x7e\\x7b\\xf1\\x22\\x71\\x00\\xd8\\x55\\x55\\x03\\xba\\x97\\x74\\xed\\x5a\\x52\\x78\\x2b\\xec\\x01\\x2a\\xf9\\x67\\x6c\\x87\\x52\\xbc\\x08\\xa4\\xa7\\x55\\xf2\\x1f\\xb6\\x00\\x4b\\xd3\\x00\\x72\\x6e\\x46\\x82\\xdb\\xa8\\x8e\\xc8\\xdf\\xf6\\xf5\\xae\\xee\\xdd\\xa7\\x37\\x3c\\xd3\\x1b\\x50\\xbd\\x27\\xf6\\x9e\\xd7\\xfb\\xa7\\xde\\x4c\\x6f\\x48\\x77\\xe9\\xc2\\x87\\x99\\xee\\xce\\xee\\x3d\\xa1\\x33\\x9b\\x90\\x20\\xbc\\x97\\x22\\x41\\x90\\xd7\\x09\\xb9\\x7b\\xc8\\xc1\\x48\\xfa\\x17\\x3f\\x25\\xfc\\x0b\\x95\\x08\\xbf\\x94\\x30\\x17\\x50\\xf8\\x41\\x0b\\x18\\xa8\\x48\\xb0\\x33\\x86\\x14\\xe6\\x82\\xe4\\x5b\\x7c\\x99\\xf0\\x2d\\xa8\\xe9\\xf4\\x53\\xb2\\xee\\xab\\x42\\xba\\xaf\\xaa\\x7b\\x55\\xb5\\x29\\x9c\\xae\\xfb\\x08\\xef\\x0b\\xf9\\xfd\\x47\\x65\\x1d\\xd1\\x43\\x7e\\x3e\\x1b\\xe9\\xd8\\xec\\xee\\xd9\\xb9\\x2a\\x53\\xfa\\xf3\\x04\\xeb\\x9b\\xfc\\xfe\\x09\\x59\\x47\\x1c\\x91\\x9f\\x0f\\xa1\\xdf\\x0f\\xdd\\x1e\\x0a\\x2b\\xf9\\xf4\\xe7\\xa5\\xbd\\xd6\\x3b\\xe1\\x97\\xd1\\x17\\xe9\\x3b\\xc0\\x58\\x89\\x03\\x02\\x2b\\x57\\x88\\x21\\x18\\x8e\\x37\\x38\\xac\\xe9\\xae\\xd9\\x0d\\xb8\\x30\\xe8\\x8b\\xe0\\x0a\\x25\\x73\\x47\\x54\\xe1\\x91\\xd0\\x15\\xc7\\x9b\\x1e\\x68\\xa8\\x68\\x2d\\x85\\xa8\\xcd\\x70\\x9b\\x95\\x59\\xc9\\xf7\\x5d\\xa2\\x9f\\x42\\xef\\xc3\\xb8\\x96\\x38\\x26\\x74\\x33\\xee\\x66\\xfc\\x64\\xd2\\x7b\\x4e\\x24\\xdf\\x73\\x89\\x6e\\x2f\\xcd\\x2f\\x7a\\x09\\x5d\\x75\\xbc\\xe9\\xa3\\x86\\xaa\\xd2\\x44\\x18\\x9c\\xc4\\x51\\x25\\xe3\\xc9\\x95\\xc7\\x33\\x55\\x1a\\x0f\\xc6\\x93\\x26\\x4d\\xc4\\xc7\\x9b\\x76\\x35\\x58\\x8c\\x40\\x7b\\xfd\\x78\\xd2\\x38\\x11\\xd0\\x78\\x7e\\x4d\\x8c\\x27\\x3b\\x1b\\x8f\\x27\\x78\\xbc\\xe9\\x54\\x43\\xd0\\xa7\\x6b\\x86\\x43\\x2d\\xbd\\x2f\\x2b\\xf9\\xbe\\x4b\\xf4\\x3b\\xe8\\x7d\\xd6\\x67\\x80\\x4d\\x0a\\x3f\\xe3\\x0d\\x36\\x0e\\x68\\x53\\xf2\\x49\\xef\\x39\\x91\\x7c\\xcf\\x25\\xba\\x52\\x5a\\x1f\\x1a\\xbd\\x85\\xce\\xa6\\xb3\\x3d\\xba\\xf4\\xf5\\x6c\\xc2\\x84\\xaa\\xe3\\xc9\\x78\\x24\\xfc\\xbf\\x8b\\xd4\\x77\\x89\\xf1\\x70\\x1c\\x1e\\x8f\\xee\\x78\\xd3\\xdb\\x0d\\x3a\\xb5\\x14\\xda\\x27\\xe5\\x6a\\x42\\x9a\\x89\\xbe\\x2d\\xc9\\x8f\\x80\\xbf\\x77\\x99\\xa2\\x12\\xdf\\x33\\x4a\\xdf\\x3b\\x75\\xfd\\xf7\\x08\\xf7\\x41\\x0d\\x19\\x8f\\xf4\\xbe\\x4b\\xa0\\xa5\\xb4\\x3e\\x80\\xc3\\xfe\\x03\\xc7\\x29\\x13\\x49\\x04\\x49\\xbe\\xbf\\xd0\\xf3\\x1d\\xc9\\x78\\x7e\\x91\\x9f\\xf7\\xca\\xfd\\xba\\xe8\\x2d\\x80\\xa3\\x9b\\x3d\\x2f\\x73\\x33\\xf5\\x4e\\x62\\xf6\\x5c\\xa4\\x5f\\x4d\\xec\\xb7\\x70\\x18\\xef\\xb7\\x10\\x86\\x46\\x0e\\xf9\\x33\\x78\\x96\\x9a\\xae\\xe3\\x01\\x48\\x5f\\x9f\\x60\\xd0\\x28\\xf1\\x33\\x9d\\x6c\\xf0\\xb9\\x15\\xcd\\xbe\\x27\\xbd\\x2f\\x2b\\xf9\\xbe\\x4b\\xd0\\x2f\\xef\\x37\\xf4\\x36\\x3a\\xcc\\x84\\x9b\\x71\\x4d\\x49\\xef\\x39\\x91\\x7c\\xcf\\x25\\x3a\\x81\\xab\\x8b\\xde\\x42\\x07\\x35\\xc1\\x66\\x7c\\x03\\x04\\xbf\\x84\\x8c\\xa7\\x4c\\x1e\\xcf\\xf8\\xc4\\x78\\x82\\x41\\x99\\x37\\x6a\\x34\\x92\\x8b\\xcd\\xc4\\x73\\x6f\\x3a\\x83\\xe6\\xed\\xc5\\x14\\xf6\\x0a\\x1a\\x4f\\x34\\xb1\\x3e\\x3e\\x1f\\x5e\\x1f\\xf7\\xf1\\xa6\\xe7\\x1a\\xdc\\x0e\\xa8\\xbf\\x6e\\xbf\\xa1\\xf7\\x65\\x25\\xdf\\x77\\x89\\xcc\\x1f\\x3a\\x0f\\xe8\\x65\\x78\\x8f\\x9e\\x6e\\x08\\x3a\\xd9\\x34\\x8c\\x17\\xe4\\x99\\xd1\\x0d\\x64\\x3c\\x03\\xe4\\xf5\\x59\\x2d\\xaf\\x8f\\x0f\\xbb\\x42\\x2a\\x9f\\x0d\\x66\\x60\\xda\\x4b\\x31\\x74\\xef\\x24\\x0e\\xc0\\x45\\xfa\\x48\\x62\\xbf\\xe1\\xac\\x1d\\x91\\xeb\\x02\\x92\\x4b\\x0e\\xa2\\x93\\x72\\x8d\\x21\\x39\\x95\\x54\\x1f\\xfe\\x45\\xf0\\x5d\\x62\\x3c\\xe1\\x30\\x1e\\x0f\\x5a\\xd7\\xa3\\x68\\x5d\\x9d\\xcd\\xc6\\x23\\xbd\\x2f\\x2b\\xf9\\xbe\\x4b\\xf4\\x2f\\xf2\\x7e\\x23\\xb8\\xb8\\x9c\\xcf\\xc6\\x66\\xe8\\x2b\\x29\\x77\\x73\\x22\\xf9\\x9e\\x4b\\x74\\x09\\xd1\\x07\\x00\\xbd\\x04\\x84\\x71\\xba\\x27\\xec\\x75\\xa6\\x8d\\xbf\\x19\\x76\\x8a\\xea\\x4f\\xa2\\xa7\\x30\\x76\\x8a\\xa3\\xa4\\xcd\\xcd\\xb1\\x53\\xd0\\x73\\x76\\x19\\x3b\\x85\\x29\\x2c\\x4b\\xc3\\x4e\\x69\\x86\\x6d\\x82\\x9e\\x5b\\x21\\x63\\x9b\\x50\\x3a\\x13\\xab\\xcc\\xc0\\x36\\xc9\\x4b\\x62\\x9b\\xa0\\xe7\\x28\\xec\\x44\\xec\\x8c\\x2e\\xe5\\x02\\x60\\x30\\xcd\\x05\\x7c\\x81\\xc2\\x00\\x9c\\x2d\\xfd\\x59\\x1d\\xe8\\x13\\x98\\x10\\x98\\x1b\\x38\\x13\\xb8\\x10\\xf8\\x2c\\xf0\\x63\\xa0\\x29\\xa0\\x93\\xfe\\xc7\\x70\\xf2\\xf1\\xaa\\xc0\\x76\\xf9\\x7f\\x69\\x13\\xcf\\xe3\\x8f\\x9f\\x92\\x9f\\xd6\\xf4\\xf2\\xa1\\x7f\\xa3\\x27\\x04\\x00\\x87\\x1e\\xa3\\x55\\x54\\xa0\\x28\\x70\\x38\\x70\\x25\\xc0\\x54\\x45\\x03\\xf3\\x02\\xab\\x03\\xd0\\x8f\\x3e\\x78\\x07\\x7f\\x80\\x42\\x66\\xf4\\x09\\x04\\x8e\\x5b\\x1c\\x3e\\xa5\\x04\\x6f\\x82\\x81\\x4d\\x52\\x10\\x27\\xc3\\x31\\xca\\x09\\xa0\\xa2\\xe2\\x00\\xf8\\x27\\xbb\\x81\\x0a\\x52\\x5d\\xa2\\x01\\xb5\\x5f\\xcb\\x79\\x3c\\x0a\\x4a\\x6b\\xa5\\x29\\x3a\\x2b\\xe4\\xd7\\xaa\\xd5\\xb4\\x43\\xc0\\xf5\\x40\\xc3\\x63\\x0e\\x06\\x42\\x1a\\x3b\\x0c\\xf2\\xcd\\x27\\x66\\xe4\\x49\\xaf\\x75\\x4f\\x74\\xde\\x00\\x1e\\x94\\x65\\x51\\x98\\xee\\x49\\xc1\\x96\\xb5\\xcc\\xb8\\x26\\x22\\x1d\\x0e\\x4a\\x2f\\x80\\x7f\\x36\\xae\\x42\\x41\\xe7\\xed\\x79\\xd9\\x87\\xc5\\xee\\x60\\x1a\\xe8\\xb0\\xa2\\x7e\\xca\\xd6\\xf6\\x9b\\x06\\xfc\\xbc\\x6f\\xf1\\x85\\x49\\x6d\\x06\\x44\\x6b\\xc0\\xdd\\xf1\\xab\\x62\\xd3\\xe3\\x23\\x40\\xc9\\x2b\\xdd\\x1f\\xcc\\x5d\\xbc\\xe6\\xe0\\xe4\\x9f\\xf6\\x3e\\x54\\xdf\\x7f\\x7c\\x9f\\xd5\\x0b\\xef\\x3c\\x31\\x35\\xb6\\x74\\x68\\xd5\\x51\\x2c\\x7b\\x40\\x1c\\x08\\x0b\\x98\\xde\\xc8\\xba\\x74\\x8e\\xfa\\x83\\x3a\\x83\\xc9\\xef\\x57\\x53\\x06\\x07\\xa4\\x60\\x38\\x3b\\x68\\xd0\\xe9\\xa0\\xc7\\x6e\\xf7\\x78\\x04\\x0c\\x62\\x86\\x19\\xd3\\x23\\xff\\x45\\xf2\\x6c\\x0b\\xc5\\x96\\xb5\\x87\\xd7\\x8b\\x4e\\x4b\\x37\\x5c\\x48\\xf0\\x02\\x71\\xa7\\xb8\\xf4\\xe8\\x99\\x89\\xd1\\x16\\x81\\x06\\xf1\\x6f\\x40\\x00\\xfa\\xba\\xd1\\xa3\\xef\\x74\\x1f\\x72\\x8d\\x79\\x64\\xe6\\x99\\x93\\x93\\x4b\\xa2\\x07\\x2e\\x88\\x1f\\x0c\\xd9\\x5c\\x34\\x78\\xf8\\xf4\\xae\\x5d\\xa7\\x79\\xee\\xee\\xb0\\xae\\xea\\xe2\\x9a\\x7b\\x46\\x0f\\x1c\\x12\\xb8\\x63\\x56\\x9b\\x7d\\xcf\\x6c\\x9b\\xdb\\x62\\x7b\\xd3\\x75\\x18\\xcb\\x28\\xc6\\x59\\x9f\\x19\\xeb\\x35\\x5e\\x1f\\xb7\\x49\\x38\\xcb\\x38\\xd6\\xeb\\x21\\x7f\\xc7\\x80\\x62\\xbd\\x14\\x86\\xbd\\xcb\\x1d\\x34\\x2b\\xd3\\xe2\\x81\\xdd\\xe2\\x20\\x16\\xb2\\xeb\\xd1\\x33\\xc5\\x51\\x3b\\x65\\xd1\\xab\\xd5\\x1a\\x8b\\xc6\\x2a\\xe8\\x79\\x0d\\xcf\\x0e\\x8f\\xf1\\x8c\\x16\\x6a\\x4c\\xd7\\x97\\x5c\\x67\\x56\\x5c\\x4b\\x4e\\x35\\x6e\\x02\\xb3\\x0a\\x46\\xe6\\x96\\xea\\x07\\x67\\x4e\\xf8\\xa6\\xef\\xa9\\x93\\xb7\\x02\\xf6\\x91\\x7f\\x7c\\x80\\x7e\\xbf\\xff\\xec\\x75\\x9d\\xef\\xe8\\x7b\\x0d\\x1d\\x91\\x0d\\x7d\\x86\\xfe\\x20\\xfe\\xf5\\x24\\xc6\\xea\\x12\\x07\\xb2\\x53\\xd9\\x37\\xa9\\x00\\xd5\\x8a\\xaa\\xa0\\xee\\x8a\\x96\\x17\\x58\\x4b\\x79\\x3e\\xd7\\xad\\xf7\\x07\\x15\\x0a\\xaf\\xdf\\xca\\xb4\\xad\\x74\\xfb\\x8d\\xd0\\xec\\x74\\x96\\xa3\\x75\\x71\\x72\\x14\\xa5\\x85\\x2a\\x55\\x3e\\x2e\\x4b\\x36\\x17\\xd7\\xc4\\xcc\\x66\\x08\\xb3\\xe5\\xea\\x64\\xe9\\x82\\x3d\\xad\\x6b\\xb9\\x30\\x22\\x75\\x7e\\xa5\\x65\\x0d\\xd2\\x0b\\x80\\x93\\x68\\xf4\\xe8\\x33\\x5b\\x6b\\xb9\\xcc\\x0f\\x13\\x90\\xe4\\xb4\\x2e\\xcf\\x00\\xa4\\x97\\x33\\x6d\\xe4\\x93\\x4c\\x70\\xfa\\x06\\xba\\x43\\xd5\\xbc\\xe5\\xdd\\x66\\xdd\\xfa\\x5c\\x9f\\xad\\xf7\\xce\\x1c\\x9f\\x02\\xa8\\x87\\xaf\\x56\\x54\\x86\\xdb\\xfb\\xbb\\xb6\\x2b\\xad\\x4e\\xc7\\xaa\\x07\\x67\\xaf\\x99\\xb7\\xdb\\x16\\xdf\\xd7\\x6f\\x52\\xfb\\x53\\xa7\\xa7\\xed\\xaf\\xfb\\x38\\x09\\x58\\xdf\\x38\\xa0\\xa8\\x83\\xc7\\x52\\x73\\x7b\\x05\\x8a\\x73\\x30\\x06\\xd3\\x7d\\x28\\xce\\xc9\\x41\\x76\\xe9\\xf6\\x68\\x09\\x0a\\x70\\xcc\\x0c\\xf4\\xda\\x6c\\x05\\x7c\\x16\\x84\\xb9\\x1a\\x5e\\x13\\x29\\x55\\x98\\x03\\xf9\\x81\\xfc\\xba\\x98\\xd3\\x55\\x17\\x0b\\x38\\x03\\x4e\\x3d\\xa5\\x2f\\xae\\xc3\\x89\\xa2\\x9c\\xba\\x64\\x15\\x4b\\xaa\\x6d\\xaf\\x39\\xc7\\x9f\\xb4\\x87\\x49\\x1b\\x87\\x74\\xc6\\x04\\xfc\\x07\\xce\\x14\\xe1\\x7b\\xf1\\x32\\xe9\\x7a\\x5c\\x48\\x54\\xc0\\xe2\\x0d\\x9e\\xaa\\xe2\\xf6\\xd3\\x73\\x3e\\xf9\\x63\\xe5\\x9c\\x35\\x3b\\xc5\\xef\\xfe\\x1d\\x17\\x7f\\x3c\\xf0\\x60\\xfd\\xfc\\xaf\\xfe\\x56\\xbf\\x70\\xcf\\xca\\xb5\\xdb\\xd6\\x2c\\x05\\x1d\\x8e\\xef\\xdc\\xf2\\xec\\x91\\xbd\\xa0\\x2f\\xfb\\x08\\xfb\\xca\\xae\\x07\\x9e\\xb6\\x31\\xd6\\xe3\\x2b\\xce\\x7e\\x7c\\xf9\\xec\\xb2\\xe7\\x2d\\x4c\\xf6\\xec\\x11\\x4b\\x37\\x30\\x0b\\x98\\x7e\\xfd\\x63\\xb7\\xcf\\x9d\\x39\\x7e\\x2e\\xdb\\xb8\\xe4\\x81\\xe5\\x1b\\x17\\xcc\\xc7\\xfd\\xe9\\xc3\\xd1\\x98\\x5b\\xb2\\xef\\x12\\xde\\xb0\\x9a\\x68\\x0b\\x67\\x50\\xa1\\x67\\xbc\\x50\\xa3\\x29\\x36\\x66\\x7b\\xbd\\xf9\\x36\\xb4\\x40\\x65\\x4e\\x03\\xf2\\xa3\\x72\\x6b\\x63\\xc8\\x44\\x05\\x95\\x01\\xca\\x52\\x80\\x39\\xbc\\x53\\x25\\x65\\x85\\xff\\x61\\x94\\xd2\\x20\\xca\\x33\\x07\\x1b\\x4e\\x1b\\xac\\x8d\\x0c\\xd6\\x96\\xc8\\x0e\\x95\\xa1\\x0d\\x4d\\xdf\\x32\\x7b\\x69\\x6d\\xf7\\xee\\xcb\\x66\\xcd\\x9d\\xb8\\x60\\xa3\\xd8\\xf4\\xed\\xd7\\xe2\\xc6\\x05\\x13\\xe6\\xcd\\x5a\\xd6\\xbd\\x7b\\x6d\\xfd\\xec\\x65\\x8f\\x6f\\xde\\xb0\\xe1\\xd1\\xee\\xcb\\xe0\\xd8\\x25\\xb3\\x6b\\xe7\\x84\\x26\\x75\\x3e\\x34\\x71\\xee\\x21\\x3f\\xe3\\x3b\\xbf\\xea\\xfd\\x6f\\xbe\\x7d\\x6f\\xf5\\x6b\\xe8\\x5f\\x0f\\xcd\\x9b\\x78\\xa8\\xf3\\xa4\\xd0\\x9c\\xda\\x39\\x8b\\x17\\xee\\xad\\xdf\\xba\\x73\\xd7\\x96\\x41\\xcb\\x7a\\x93\\x7b\\xe0\\x0e\\x4d\\x80\\xf4\\x7b\\x9a\\xa9\\xaa\\xa8\\x4f\\x41\\x01\\x96\\xd3\\x68\\x58\\x9a\\x62\\x2c\\x02\\xa5\\x30\\xe3\\x26\\xf1\\xa8\\xd9\\xd4\\xac\\x70\\xa4\\xda\\xf9\\x66\\xb3\\x54\\x5f\\x71\\x51\\xb9\\x5c\\xc5\\x42\\x94\\x4d\\x0e\\xd9\\xab\\x81\\x0e\\xf0\\x36\\x5c\\x54\\xd3\\xf8\\x38\\xfd\\xc0\\x83\\xeb\\x8d\\x9b\\x4d\\x5d\\x7b\\x35\\xbe\\xb0\\x8a\\x19\\xb8\\x65\\xd9\\xb5\\xc7\\x17\\xce\\xe9\\xd5\\x2b\\x88\\x7b\\xd7\\x88\\x0c\\xc5\\x4d\\x5a\\x78\\x89\\xa9\\x44\\x32\\x54\\x46\\xbd\\x9c\\x06\\xb0\\x0a\\xe4\\x0c\\xb0\\x1a\\x46\\xb0\\x60\\x19\\x6a\\x50\\x6c\\x2f\\xb0\\xa4\\x1b\\x07\\x26\\x2f\\xa1\\x5f\\xfe\\x5f\\x49\\x50\\x4c\\xaf\\xc7\\x85\\x34\\xf1\\xb1\\xe0\\xcc\\xc3\\x0f\\x99\\x37\\x5b\\xba\\xf6\\x8a\\x2f\\xaf\\x87\\xe1\\x65\\xf5\\x8d\\x1f\\x4f\\x9c\\xd2\\x75\\x60\\xb0\\x38\\xa7\\xba\\x2a\\x79\\xe7\\xf5\\xaf\\xa4\\xaf\\xbf\\x19\\x9c\\xc4\\x9c\\x06\\x51\\xbd\\x44\\x82\\x61\\x52\\x98\\x2c\\x37\\xb8\\xf3\\x7a\\x33\\xe9\\xeb\\x6f\\x06\\xb7\\x4a\\x39\\x32\\x92\\xde\\x28\\xc1\\x77\\x5e\\x25\\xa5\\x99\\x77\\x5e\\x04\\xbb\\x56\\x24\\x39\\x97\\x5c\\x92\\x5b\\xb9\\x1f\\xbc\\x95\\xe0\\x4f\\xc3\\x1c\\x06\\x3c\\xf1\\xb3\\xc9\\xe7\\x25\\x69\\xfe\\x67\\x7e\\xf2\\x4e\\x2a\\x02\\xfd\\xc9\\x1c\\x38\\x76\\xd8\\xd0\\x1f\\x7e\\xc6\\x2f\\x3b\\x85\\x69\\x39\\x70\\xe2\\x17\\x92\\x5c\\x74\\xdf\\x66\\x39\\xf0\\x9f\\x91\\xa7\\x90\\x1d\\x75\\x32\\xd8\\x36\\x57\\x23\\x53\\xcd\\xf0\\xc8\\xde\\x46\\x91\\xe1\\x65\\x02\\x90\\x10\\xa4\\x65\\xe4\\xc1\\x9b\\xbf\\xbf\\x0d\\x74\\x53\\x32\\x7e\\x63\\x0e\\x76\\x17\\x73\\xa8\\x9c\\xc8\\x8d\\x30\\x1f\\x3d\\x8a\\xad\\xc9\\xbc\\xd9\\xb6\\xb4\\x77\\xdf\\x4a\\xf9\\xa2\\x02\\x2c\\x2c\\x01\\x5c\\x49\\x75\\x49\\x9f\\x92\\xe1\\x25\\x13\\x4a\\xd8\\x12\\x82\\x37\\x49\\xd2\\xe0\\x38\\x0b\\x9e\\x86\\x95\\x99\\xc4\\x9a\\xa4\\x37\\xd3\\xad\\xe5\\xb5\\xf0\\x7a\\x71\\xe0\\xc5\\xbb\\xbd\\x37\\xc0\\xb2\\x7c\\x33\\xe9\\x07\\x6f\\x06\\xb7\\x50\\x69\\xfc\\x15\\x76\\x60\\x77\\x5e\\x8f\\x65\\x99\\x36\\xae\\x72\\x32\\x2e\\x92\\xdf\\xc7\\x2f\\x80\\x74\\x80\\x0a\\x04\\xd3\\x9d\\xfa\\xeb\\xe7\\x14\\xbd\\xa3\\x87\\x9c\\xdf\\xff\\x39\\x91\\xdf\\xf7\\x82\\x6a\\xef\\x76\\x2f\\xcd\\x7b\\x8b\\xbc\\x51\\x2f\\xf4\\x92\\x97\\x67\\xe4\\xf7\\x25\\x4c\\xa2\\x2d\\x09\\x4c\\x22\\x7a\\x19\\x18\\x2d\\xe3\\x6f\\x11\\x9c\\x1e\\x2d\\xa5\\xd5\\xa5\\x50\\x8f\\x92\\x98\\x47\\xfd\\x92\\x98\\x47\\xcb\\xa8\\xd7\\xd3\\x31\\x8f\\x1c\\x9c\\xc3\\x99\\xc2\\x3c\\xa2\\xe8\\xa6\\xfd\\xe2\\x40\\xfa\\x3c\\xb2\\x5d\\x46\\xca\\x83\\x79\\x94\\xd0\\x53\\xbc\\x0e\\x79\\x15\\x0a\\x85\\xcf\\xe0\\x85\\xc8\\x8d\\xd0\\xf1\\x10\\x6a\\x8c\\x94\\xc6\\x55\\x13\\xd3\\x6b\\x5c\\x54\\xf5\\xab\\x89\\x6a\\x93\\x8a\\x7c\\x23\\xc0\\xd9\\xec\\x48\\x8a\\xad\\xcb\\xd8\\xcc\\x00\\x19\\xd3\\x8d\\x0e\\x68\\xdf\\xb9\\x6d\\xd2\\xcc\\xcc\\xbd\\x03\\xec\\x4e\\x1a\\x17\\xf6\\xcd\\xbf\\xa6\\xd8\\x13\\xf6\\xe4\\xe8\\x40\\xf6\\x8f\\x3f\\xeb\\x53\\x76\\x64\\x09\\xb6\\xad\\xc8\\xdf\\xc9\\x45\\x3a\\xf5\\xce\\x68\\x85\\x5e\\xa5\\x52\\x17\\x3a\\x1c\\x59\\xb9\\x2d\\xbc\\xde\\xdc\\xb0\\x9a\\x29\\x6b\\x9d\\x95\\xeb\\x80\\xae\\x60\\xb0\\xa4\\x26\\xc6\\x05\\x7d\\xc1\\xed\\x41\\xa8\\x87\\x41\\xa3\\xa0\\x12\\x18\\xdc\\xe6\\xa9\\xe3\\x5c\\x2d\\x6b\\x62\\x2e\\x97\\x0a\\x77\\xc9\\x15\\xa6\\x08\\x3c\\x93\\x0c\\xd7\\xb6\\x66\\x0d\\x73\\xd2\\xa5\\xd4\\x4d\\x7a\\xaf\\x9a\\x0d\\x8f\\x4d\\x37\\xa9\\x37\\x68\\xcb\\xea\\xdc\\x76\\xf6\\xd2\\xa4\\x59\\x05\\x3b\\x92\\xe3\\xa5\\x0f\\xdd\\xa0\\x59\\x2b\\x7e\\xaf\\x7d\\xd1\\xcc\\x84\\x49\\x9d\\x9b\\x1c\\x7f\\xd3\\xb1\\xa6\\xef\\xe9\\x0f\\xd9\\x96\\xa4\\x5f\\x6b\\x58\\xb4\\xd8\\x69\\xf0\\xb3\\x6a\\xb5\\xd5\\x82\\x37\\xa8\\xc2\\xc0\\xe4\\x84\\x2d\\x1e\\x2d\\x46\\x32\\xd0\\x6a\\x15\\x26\\x53\\x08\\x0d\\xd9\\x64\\x55\\x28\\x6b\\x63\\x4c\\x54\\xc1\\x01\\xaa\\x36\\x06\\xb8\\x04\\x34\\x5d\\x8a\\xb1\\xac\\x59\\x7d\\x53\\xaa\\x40\\x22\\x59\\xb1\\xfe\\x9f\\x96\\xd1\\x47\\xaa\\xd7\\x3b\\xb7\\x9d\\x5b\\x9f\\x39\\xb4\\x4a\\x7f\\xe7\\xaa\\xd2\\x6a\\x78\\x8c\\x40\\xd3\\x79\\xec\\x29\\xf7\\x80\\xee\\x1d\\x8f\\xe0\\xe1\\xf4\\xbf\\xad\\x02\\xf7\\xe5\\xbd\\x2d\\x0e\\x02\\xed\\x90\\xce\\xd6\\xa1\\x73\\x6d\\xd0\\x50\\x94\\x81\\xd5\\x6b\\x39\\xa8\\x44\\x3a\\x5a\\xbe\\x33\\x91\\x77\\x55\\x71\\x11\\x2b\\x75\\xde\\x49\\x38\\xe9\\xa0\\xdd\\x8c\\x19\\x12\\x3a\\xfa\\x43\\x9b\\x96\\xca\\xa0\\xe8\\x04\\xe3\\xa8\\x5f\\xd3\\x0f\\x8a\\x57\\x92\\xbe\\xd7\\xc8\\x68\\xeb\\x02\\x47\\xa9\\x89\\xf7\\xf9\\x72\\xf5\\x3a\\xec\\x7d\\xf9\\x1d\\xb0\\x6d\\xa5\\x5f\\x70\\x21\\xc7\\xcb\\x65\\xb5\\x16\\xe3\\xc6\\x3b\\x03\\x0a\\xdb\\x4c\\x5a\\x46\\x05\\x25\\x0f\\x2c\\xe9\\x7a\\xa5\\x9a\\xec\\xab\\x93\\x97\\x37\\x99\\x5e\\x57\\xe4\\xc6\\x7e\\x57\\x26\\x79\\x98\\x10\\xca\\xf0\\xbb\\xd8\\xb4\\xd6\\x31\\x58\\x92\\xe1\\x77\\x25\\x61\\x65\\x7e\\x1f\\x45\\xef\\x4e\\xb9\\x5d\\xcc\\x1f\\x09\\x70\\x99\\x4c\\xaf\\x2b\\x1d\\x66\\xe6\\xa5\\xa7\\x0e\\x25\\xbd\\xae\\x2f\\x33\\x30\\x9f\\xfa\\x89\\x83\\x14\\xaf\\x30\\x3d\\xd1\\x7c\\x14\\x50\\x95\\xd4\\xf0\\x68\\x59\\x99\\xa9\\x85\\x4b\\xa9\\x52\\x15\\xda\\x35\\xea\\x20\\x45\\xa9\\x4d\\xb0\\x6d\\x95\\x0f\\x0d\\xd9\\xc7\\xdb\\x5d\\x8c\\x8e\\xe1\\x1c\\x9c\\x05\\x1d\\x1d\\x0b\\xcf\\xb5\\xc1\\xb7\\xb6\\x6a\\x17\\xdd\\xb2\\x79\\xe7\\x11\\x3e\\xef\\x36\\xa9\\x82\\xf7\\xba\\xb9\\x48\\x6b\\x41\\x2a\\x0f\\xa5\\xcf\\x0b\\x66\\x14\\xb9\\xbe\\x0f\\x29\\x3b\\x6d\\x32\\x14\\xaf\\x24\\xc8\\xd4\\x98\\xd2\\x0d\\x0f\\xbe\\xfd\\x02\\x58\\x39\\x7b\\x6b\\x19\\x73\\x38\\xbd\\x33\\xa9\\x7e\\xe3\\xe2\\xfb\\xe3\\x79\\x4b\\x37\\xd4\\xcf\\x98\\xb1\\x78\\xf3\\x12\\xda\\x1f\\x7f\\x93\\xf4\\x28\\x81\\x1f\\x46\\xdf\\x35\\x00\\x4d\\x8c\\x95\\x6e\\x3d\\x78\\xd4\\x81\\xc3\\xe9\\x7d\\x4a\\xe7\\x5e\\xf9\\xf9\\xd2\\x9b\\x6f\\x7e\\xf6\\xf9\\xcb\\x1f\\x91\\x3c\\x73\\xd3\\x7a\\xb6\\x2f\\xfb\\x1d\\xe1\\x22\\x76\\x50\\x6e\\xa4\\x3f\\xca\\xa1\\x8d\\x57\\x29\\xcd\\x76\\x0e\\x19\\x2e\\xce\\xcc\\xeb\\x58\\x46\\xa3\\xd5\\x6b\\x19\\x05\\xe3\\xf1\\x3a\\x00\\x8a\\xf7\\x1c\\x06\\x83\\x7b\\x78\\xcc\\xa6\\x56\\x1a\\x0c\\x0a\\xa5\\xd2\\x5c\\x17\\xd3\\x28\\x21\\x43\\x61\\xaa\\xe2\\xc8\\xab\\x48\\xf5\\x49\\xc7\\xc7\\x54\\x51\\x91\\xd9\\x74\\x60\\x4a\\xbb\\x29\\x28\\x29\\x2e\\x0a\\xc0\\x00\\x08\\x95\\x87\\x40\\xc4\\x66\\x8e\\xa8\\xe9\\x88\\xb9\\x00\\xe4\\x28\\x15\\x4a\\x9b\\x32\\x02\\xcc\\x21\\x66\\xd5\\x4e\\x71\\x92\\xf8\\xe2\\xae\\x0e\\xcf\\xd3\\xd5\\x1f\\xdd\\xf9\\x3f\\xbb\\xc4\\x17\\xc1\\xaa\\xc6\\xfe\\x93\\xe2\\xad\\x5b\\xb2\\x6a\\x47\\xf1\\x9f\\x9b\\xae\\xc5\\xc3\\x9f\\xd7\\x80\\x2d\\xf1\\x3f\\xc7\\xb1\\xf3\\x9b\\x50\\x48\\xf8\\x47\\xa3\\x97\\x2e\\x06\\x5b\\x97\\x2f\\xe6\\xdd\\xfd\\x16\\xbc\\x77\\x2d\\xfe\\x17\\x98\\x24\\x61\\x9b\\xdc\\x8d\\xc6\\x36\\x13\\x8d\\xcd\\x83\\xf4\\xc2\\xfc\\x68\\x1f\\x83\\x5e\\x2f\\x58\\xd5\\x1a\\xb7\\x27\\x00\\xa1\\x87\\x32\\x66\\x69\\x35\\x56\\x55\\x4e\\xd8\\x45\\x19\\x43\\x8c\\x83\\x12\\x78\\x21\\x2a\\xd4\\x08\\xab\\x85\\x1d\\xc2\\x3b\\xc2\\x15\\x41\\xa5\\x83\\x82\\xe0\\x76\\x44\\x1d\\x66\\x0c\\xf0\\xc3\\x67\\x69\\x55\\x8c\\x82\\x33\\x00\\x3d\\x44\\x83\\x56\\x78\\x87\\xc7\\xd4\\x0a\\xe4\\x7c\\xbf\\x9d\\xe4\\xa1\\x25\\x8b\\x4f\\x2e\\x30\\x23\\xf2\\x7f\\x66\\xf6\\xc8\\x93\\x33\\x11\\x96\\xae\\x67\\x09\\xdf\\xa1\\x4d\\x19\\xc6\\x84\\x87\\x32\\xf0\\x4f\\x8e\\x32\\x44\\x90\\x80\\x6c\\x20\\x0c\\x06\\xde\\x77\\x1f\\xc6\\xf6\\xd9\\x35\\xbf\\xf7\\xae\\xa9\\xf7\\xb7\\x7b\\xc6\\x57\\x1d\\x7f\\x73\\xe2\\xb2\\x04\\xf2\\xcf\\xc9\\xd5\\x43\\x76\\xd1\\xdd\\xbf\\x13\\x1b\\x57\\xd0\\xad\\x86\\xcc\\xba\\x03\\x14\\x3c\\x8f\\x21\\x7e\\x8a\\x17\\xbd\\x3a\\x68\\x5d\\x55\\xef\\x76\\x8d\\xd5\\xed\\x09\\xf4\\x4f\\xe7\\xcd\\xec\\x68\\x82\\x05\\xf4\\xdb\\x66\\x78\\x34\\x2c\\xe3\\x53\\x21\\x9b\\xf7\\x03\\xd2\\x01\\x78\\x2e\\x46\\x47\\x2b\\x54\\x6a\\xbd\\x4e\\x27\\x58\\xbd\\xb4\\xdb\\xe3\\xa1\\x29\\x17\\x1f\\x50\\x6a\\xd0\\xd4\\xe0\\xd9\\xe0\\xfd\\x8c\\x43\\x1a\\xba\\xa9\\x26\\xe6\\xb0\\x72\\x01\\x8d\\x92\\x61\\x51\\x00\\xca\\x22\\xcd\\xa9\\x62\\xf9\\xe4\\xa8\\xd3\\x87\\x9c\\x39\\xde\\x84\\xd3\\x18\\x96\\x00\\x80\\xcc\\x11\\x98\\x18\\x6e\\xa2\\x2e\\x37\\x07\\x86\\x64\\x6a\\x71\\xc5\\x8f\\x1b\\x7f\\xba\\xd2\\xbd\\xea\\xc8\\xca\\xf3\\xf3\\xfd\\xcf\\x69\\x83\\xe2\\xe9\\xf2\\x5a\\x19\\x1a\\x68\\xea\\xe0\\x57\\x56\\x02\\x75\\x2b\\x50\\x14\\x6c\\xb9\\x6a\\x5e\\x6c\\x35\\x28\\xc3\\x48\\x40\\x3c\\x58\\x29\\xb6\\x1b\\xb8\\xcf\\xd0\\xb9\\x20\\x5e\\x10\\x22\\x18\\x41\\xd9\\x62\\x17\\xf8\\xc6\\xe1\\xd1\\xf4\\x01\\xcd\\x69\\xe2\\xef\\x3a\\x93\\x58\\xfd\\xd5\\x51\\x1f\\xa3\\x52\\xe9\\x81\\x42\\xab\\xd6\\xaa\\x0d\\x9c\\x92\\x50\\xee\\x23\\x77\\x54\\x4b\\x6b\\x55\\x84\\x6d\\x1f\\x52\\xd5\\xcd\\xab\\x59\\x09\\xb1\\x66\\x89\\xd4\\x73\\x67\\x8e\\xa4\\x17\\xc3\\x39\\x57\\x9e\\x01\\xab\\xc4\\x49\\x18\\xa7\\x7f\\x25\\xcc\\xa3\\x07\\xc5\\xf7\\x6f\\x11\\x0d\\x5b\\xe8\\x95\\x78\\x6e\\x0b\\x9a\\xd6\\x33\\x0d\\x68\\x9f\\xf1\\xc8\\xcb\\xee\\x19\\x6d\\xa1\\x33\\xd2\\xb4\\x09\\xd3\\x42\\xb0\\x0a\\x8d\\x02\\xea\\x71\\x57\\x1c\\x35\\x3c\\x66\\x30\\xab\\x71\\xe3\\x86\\x11\\x28\\x19\\x06\\xea\\x34\\x50\\x01\\xd1\\x89\\x79\\xb9\\xfa\\x55\\x34\\x77\\x99\\x27\\x85\\x64\\x1d\\xa4\\x53\\xa2\\x26\\x7d\\x08\\x21\\x80\\x2b\\xf1\\xd0\\xae\\x89\\x08\\xf8\\x74\\x18\\xc5\\x33\\xa7\\xc5\\x33\\xbb\\xc0\\x17\\xa2\\x1b\\xee\\xe8\\xb0\\x2b\\xda\\x49\\x74\\x6f\\xdf\\xce\\x7c\\x15\\xff\\x25\\x9e\\x0b\\x76\\xc6\\x7f\\x85\\x02\\xdd\\x76\\xcb\\x98\\x31\\x5b\\xc4\\x46\\x80\\x1b\\x80\\xba\\x8a\\x03\\x71\\x4e\\x8b\\x6a\\x4b\\xf5\\x8d\\xb6\\x68\\xa9\\xd7\\x7b\\x29\\x36\\x12\\xb1\\x85\\xa9\\x70\\xbb\\x2a\\x6f\\x04\\xb6\\x68\\x51\\x54\\x13\\x6b\\xd5\\x82\\xd7\\x41\\x9e\\x57\\xd7\\xc4\\x90\\x1f\\x83\\x7c\\x18\\x3b\\x94\\x4b\\x3f\\x09\\xc6\\x06\\x06\\x7c\\xb8\\x8e\\x3c\\x3e\\x79\\xe1\\x87\\xcd\\x8f\\x2d\\xad\\xe2\\xba\\x10\\x84\\x73\\xd2\\x4a\\x69\\x0b\\x41\\x81\\x44\\x49\\x6b\\x4d\\x22\\xad\\xe0\\xa2\\x51\\x08\\x9f\\xfd\\xe6\\x9d\\x40\\x97\\x97\\x5c\\xb7\\xb8\\x82\\xad\\x3d\\x75\\x6d\\xee\\x6a\\xf3\\xe8\\x9c\\x15\\xdd\\x3b\\xf5\\xe2\\x16\\x55\\x2c\\x9a\\x56\\x3f\\x77\\xf0\\x1d\\xf3\\x37\\x2f\\xbc\\xf5\\xd2\\xeb\\x47\\x2f\\xb9\\x77\\x71\\x0b\\xef\\xbd\\x7f\\x6a\\xd1\\xed\\x1b\\x56\\xcd\\xe9\\x9e\\x0b\\xf2\\x37\\x3d\\xae\\x79\\xd7\\x63\\x77\\x07\\x26\\xb5\\xcd\\x7b\\x74\\x4f\\xdf\\xfe\\x23\\x6c\\x83\\x06\\xb7\\xeb\\xdf\\x3f\\x5a\\xe3\\x0c\\xe6\\xf6\\xba\\xb7\\x66\\xdd\\xe6\\x39\\xcb\\x2c\\xdd\\x7a\\xdd\\xda\\xa3\\xa0\\x2a\\x2f\\x3b\\xab\\xdd\\xad\\x23\\x70\\xfc\\x83\\xc6\\xff\\x27\\xb2\\xa5\\x1e\\xaa\\x6d\\xd4\\xeb\\xa4\\x6c\\x0e\\xad\\xc7\\xe6\\xf1\\xfa\\x5c\\x4e\\x5c\\x58\\xae\\x31\\x18\\x54\\x35\\x31\\x83\\xcd\\x46\\xe1\\xfa\\x51\\xa2\\xd0\\xf9\\x97\\xaf\\x6f\\xda\\x42\\x7b\\xb9\\xc4\\x0b\\x7c\\x84\\xb0\\x3c\\x51\\x58\\x8e\\x91\\x82\\xf2\\x81\\x54\\xae\\x7d\\xad\\x7d\\x6d\\xc7\\xce\\x07\\x3c\\x25\\xfe\\xd2\\x2a\\x3c\\x96\\xe2\\xde\\xb7\\x54\\xee\\xc8\\xee\\xdc\\x7b\\x8b\\x14\\x21\\x2d\\x13\\x0a\\x6b\\xce\\x87\\xdc\\x9d\\x27\\xb5\\x2d\\xf6\\xb6\\xe9\\x7a\\xb6\\xa5\\x7f\\x19\\xcc\\x5a\\x56\\x8f\\xf7\\x6a\\x04\\xed\\x55\\xdc\\xeb\\x6c\\xa5\\xda\\x44\\x3d\\xac\\xc9\\x8a\\xfc\\x54\\x1d\\x65\\x82\\x76\\x1b\\x14\\xea\\x70\\x48\\xa8\\xe5\\x38\\x55\\x5d\\x8c\\x23\\xc5\\xa1\\xd5\\x52\\x61\\x84\\x3d\\xa3\\x1b\\x17\\x53\\x54\\x21\\x25\\x62\\x94\\x13\\x52\\x12\\xe8\\x99\\x85\\x56\\x1a\\xc1\\xa9\\xd2\\x1e\\xa0\\xff\\xc1\\x86\\x07\\xf7\\x3b\\x9f\\xc9\\x02\\xea\\x4b\\x80\\x05\\x96\\xa6\\xbf\\xd1\\x76\\x03\\x98\\xf7\\xea\\x73\\xd3\\xa6\\x7b\\xf6\\x3c\\x2b\\xfe\\x26\\x5e\\xfb\\x4e\\xfc\\x56\\x25\\x3e\\x28\\xd5\\x2c\\x5b\\x90\\x61\\xac\\x21\\x7d\\xe2\\x28\\x56\\x55\\x6b\\x2c\\x14\\xc3\\xf3\\x94\\x06\\x0a\\x56\\x60\\x46\\x2e\\x12\\xa0\\xf4\\x6a\\xb5\\x5e\\x8f\\x5c\\x10\\x3d\\x2f\\x41\\x4c\\x26\\x33\\x66\\xcd\\xe5\\x91\\x8d\\x7a\\xb2\\x00\\x5c\\x81\\xa4\\xb9\\x63\\xd5\\x63\\xf7\\xcc\\x3d\\xe3\\x7e\\xce\\xf9\\xe1\\x63\\x6f\\x7d\\xf2\\xd8\\x06\\x70\\x78\\xf5\\xac\\x45\\xf3\\x5f\\x36\\x3c\\x72\\xf0\\xdd\\x97\\x56\\xbd\\x1e\\x16\\x5f\\x45\\x36\\x39\\x20\\x73\\xe2\\x63\\x1f\\x3b\\x4c\\x8d\\x89\\x96\\xa9\\xec\\x21\\x2f\\xcb\\x9a\\xb4\\x21\\x2b\\xf2\\xf7\\x01\\xa7\\xe5\\x72\\x73\\x54\\x21\\xc1\\x41\\xfa\\x52\\xac\\x14\\x25\\x70\\x21\\x61\\x78\\x2c\\x14\\xe2\\x68\\xce\\x39\\x3c\\xc6\\x99\\xe8\\xe0\\xf0\\x18\\x7d\\x1d\\x5c\\x56\\xda\\xd9\\xae\\xc8\\x6c\\x43\\x4b\\x24\\xf7\\xd0\\x29\\x4f\\xa0\\x30\\xca\\x4d\\xcd\\xd9\\xa5\\x2d\\x00\\x01\\xa2\\x4c\\x07\\x64\\x0c\\x2c\\x4e\\x60\\x30\\x12\\x60\\xc6\\xc5\\x8c\\x8a\\x40\\x31\\x0e\\x15\\x77\\x67\\xc2\\x31\\x7e\\x0c\\xf7\\xca\\x18\\x8c\\x2b\\x9e\\xbf\\x08\\x06\\x74\\xfd\\xf3\\xe4\\xa2\\xe7\\x93\\x48\\x8c\\x58\\x57\\xb4\\x40\\x31\\xd2\\x36\\xd2\\x8b\\xed\\xa3\\x7a\\x45\\xc3\\x8c\\xc7\\x63\\x05\\x16\\xd6\\xe9\\xd4\\xa8\\x74\\x16\\x9d\\x3f\\xe0\\xd6\\x5a\\x31\\x34\\x84\\x0a\\xe9\\x29\\x9e\\xe6\\x6d\\xc3\\x63\\xbc\\x59\\x81\\x87\\x15\\x49\\x6a\\x2a\\x89\\xb8\\x2c\\x6d\\x30\\x09\\x3f\\x43\\xd2\\x57\\x12\\x66\\x06\\x9a\\x76\\x9c\\xe5\\x09\\xb7\\x43\\xca\\x03\\x77\\x5b\\x06\\x90\\x3f\\xd1\\x62\\xda\\x19\\x68\\x38\\x3d\\x6d\\xda\\x1a\\xf1\\xf7\\x06\\xdc\\x61\\x37\\x8d\\x7e\\xfa\\xf4\\xa5\\xc6\\x9f\\x5f\\x86\\x2d\\xe8\\xc1\\xf1\\x7d\\xf8\\xef\\x4d\\x73\\x9e\\xf8\\x63\\xe1\\x9c\\x9f\\x1e\\x5f\\x1d\\xff\\xfd\\xc2\\x6b\\x53\\xe6\\x9d\\x3d\\x87\\xf6\\x85\\x1a\\xc5\\x56\\xbd\\x90\\xbc\\x2a\\xb4\\x47\\x7d\\x90\\x06\\x14\\x8b\\x1c\\x25\\x96\\x86\\x1a\\xf5\\x04\\x0d\\x28\\xd2\\x80\\x42\\x0d\\xa0\\x34\\x80\\x85\\x2a\\x13\\x86\\x8a\\xa8\\x8e\\x54\\x00\\x89\\xf2\\x3f\\xbd\\x07\\x3b\\x42\\x70\\x35\\x40\\x88\\xee\\xf6\\x2a\\x5d\\x7d\\x5e\\xbc\\xbf\\x7f\\x7f\\xf1\\x81\\xf3\\xec\\xfc\\xbf\\xe6\\xc2\\x2b\\x7f\\xfe\\xd9\\xe8\\x27\\x3e\\xd9\\xbe\\x26\\x3f\\x23\\x22\\x27\\x02\\x73\\xbf\\xb9\\xa8\\x75\\xd1\\x01\\x3a\\x15\\x0f\\x1c\\x4e\\xc1\\xca\\x2a\\x28\\x05\\x6b\\xb1\\xdb\\x69\\x33\\x9a\\x3e\\x9a\\xe5\\xa1\\xc7\\x6d\\xe4\\x91\\x1e\\x35\\xa9\\x90\\x36\\x65\\xa3\\x2a\\xa8\\x43\\x6a\\x5d\\xa7\\x23\\x85\\x54\\xab\\x2c\\xe0\\x84\\x05\\xcc\\xb4\\xd4\\x5b\\x68\\xce\\x02\\x54\\xd0\\x62\\x41\\x71\\x86\\x0d\\xa7\\x57\\x68\\xfb\\xf0\\x18\\x85\\xfb\\x41\\xdf\\x4e\\xdb\\x20\\xf8\\x1a\\x1b\\x97\\x31\\x24\\xf2\\x89\\xce\\x37\\x13\\xc0\\x60\\x29\\xd3\\x2d\\xe1\\xa0\\x10\\x25\\x60\\x2b\\x0f\\x19\\x25\\x35\\x1c\\x82\\x68\\x77\\xe0\\xbf\\x95\\x30\\x80\\x6b\\xa6\\xcd\\x81\\xaf\\xc7\\xed\\x87\\x3d\\xbb\\xac\\xec\\xd2\\x6f\\xeb\\x47\\xa0\\x52\\x7c\\xe0\\x7b\\xfa\\xbd\\xc6\\xbf\\x8f\\x33\\x80\\xb1\\x1f\\xc5\\x4f\\x95\\x7d\\x2f\\x5e\\xb9\\x72\\x85\\x9d\\xbf\\x66\\x8d\\xcc\\x64\\x70\\x85\\x01\\xe0\\xe5\\x6b\\xc7\\xc0\\xf7\\xd8\\xff\\xea\\x2c\\x0e\\x66\\xc2\\xc8\\x2e\\xbb\\xa8\\x20\\x85\\x6b\\x40\\xea\\xa3\\xb7\\x0a\\x56\\x6b\\x8e\\x1e\\xf0\\x6e\\x4e\\xd5\\x42\\xab\\xd4\\x50\\xc8\\x27\\x0d\\x85\\x90\\xe7\\x4f\\x41\\xa8\\xd6\\xc3\\x96\\xf9\\x2e\\x57\\x10\\x99\\xe2\\x60\\x30\\x4f\\x10\\x38\\x7b\\x1e\\x57\\x13\\xcb\\xcb\\x53\\x38\\x01\\xf2\\xd1\\xb3\\xed\\x76\\x13\\x06\\x6c\\x6b\\xe1\\xc3\\xf4\\xe2\\x5a\\xb5\\x02\\x1b\\xeb\\x64\\x0f\\x2a\\x15\\x21\\xd8\\x27\\xc9\\x63\\x61\\x94\\x62\\xbd\\x1b\\x0f\\x16\\x2f\\x9b\\x0b\\xa4\\x19\\x70\\x23\\x1a\\x6f\\x82\\xe0\\x00\\x99\\x6f\\x60\\x96\\x00\\xa1\\x2c\\x36\\x73\\x76\\x38\\x47\\xd9\\xf9\\xf2\\x2b\\xd7\\xfe\\x71\\xfb\\xad\\xcf\\xac\\x7c\\xeb\\x8c\\x38\\x78\\x77\\x69\\x47\\x99\\xdb\\xa0\\xae\\xe6\\x0c\\xe8\\xb9\\x2c\\x52\\x8d\\x4b\\x12\\x7b\\xcd\\x07\\x0f\\xe8\\xab\\xee\\x12\\x07\\x83\\x2f\\x16\\x83\\x3b\\x80\\x0e\\x78\\xad\\x60\\x9d\\x58\\xba\\x44\\xdc\\x60\\x17\\x57\\x5b\\x08\\xbb\\x81\\x4d\\x1c\\xc0\\xb4\\x00\\xad\\x4d\\x4f\\x6d\\x5a\\xfa\\xfc\\x28\\xe0\\x5f\\xba\\xa1\\x56\\xee\\x6b\\xc2\\xfc\\x5a\\x18\\x5b\\xd3\\x8e\\x6d\\x18\\x0f\\xed\\x76\\x4e\\x03\\xac\\x56\\x95\\x42\\xc3\\x69\\x50\\xa4\\x6e\\xa7\\xd0\\xda\\x2a\\x28\\x4a\\xcf\\xe0\\x4e\\x2c\\x9e\\xd7\\x9b\\xd3\\x7b\\xd5\\x22\\x85\\x37\\x41\\xb5\\x22\\x28\\x37\\x25\\xb8\\x86\\xce\\x98\\xa8\\xa1\\x43\\xd6\\x8c\\xc0\\x45\\x92\\x06\\xe5\\x00\\xd8\\x0d\\x14\\xe2\\xbf\\xc0\\x5b\\x8b\\x17\\x7f\\x7a\\x56\\x7c\\xb4\\xd3\\x49\\xd3\\x9c\\xe1\\x77\\xcf\\x10\\xff\\x82\\x2d\\xc0\\xf3\\x5b\\xe2\\xfb\\x36\\xfe\\xf3\\xad\\xef\\xc1\\x64\\xdf\\xd4\\x05\\xab\\x96\\xfe\\x0b\\x6d\\x4c\\x12\\xb3\\x3d\\x49\\xb8\\x96\\xed\\xc8\\x07\\xc8\\xe1\\x1d\\x8c\\x60\\x32\\x18\\xec\\x34\\xc5\\x30\\x4e\\xb5\\xc3\\x2a\\xf4\\x43\\x4a\\x0b\\xf2\\x46\\xbe\\x26\\x86\\xd9\\xdd\\xcc\\x9c\\x52\\x5b\\x13\\x53\\xba\\x92\\x8d\\x29\\xc9\\x65\\x92\\x22\\xbb\\x48\\x02\\x96\\x0e\\x9f\\x1e\\xdc\\x18\\x9c\\x0a\\xf3\\x08\\x2e\\x4e\\x0e\\x26\\xfb\\x6e\\x37\\x61\\x82\\x1c\\xf0\\x4d\\x9c\\xd8\\xd0\\xd0\\x40\\x8f\\x59\\x14\\x7f\\x44\\x0e\\xfc\\xe8\\x3e\\x8b\\xc0\\xc5\\xaf\\x9f\\x7c\\x92\\x92\\x31\\x35\\x06\\x29\\x14\\xc8\\xce\\xd8\\xa9\\x10\\xd5\\x39\\x1a\\x74\\x69\\xb5\\x2c\\x15\\x40\\x8a\\x34\\x3b\\x4b\\x67\\x35\\xd8\\xa0\\x05\\xf9\\xb3\\x16\\x14\\xeb\\x21\\xb5\\x63\\x30\\x38\\xb0\\xa7\\x92\\xb0\\x84\\x29\\x1c\\x90\\x74\\x60\\x50\\x1c\\x76\\x26\\x3b\\x87\\xdb\\x81\\x14\\xd9\\x47\\x79\\x04\\x60\\x92\\x0f\\xa9\\xf4\\x90\\x2d\\x6b\\x53\\x1e\\x29\\xac\\xec\\xbd\\x70\\xd1\\xb3\\x07\\xc4\\xe7\\xc4\\xb5\\x18\\xcf\\xe4\\xa5\\x1d\\x8f\\xf8\\xe2\\x9f\\x7f\\x37\\x7d\\xca\\xd7\\xff\\x12\\x7f\\x07\\xda\\x29\\xb5\\x9d\\x0c\\xbb\\x0c\\x1b\\xd6\\x9c\\x1b\\x02\\x1e\\x02\\x03\\x30\\x94\\x49\\xaf\\x36\\xd7\\x98\\xbb\\xe0\\xc1\\x51\\xe2\\x87\\xe2\\x2f\\xe2\\xbf\\xc4\\xb7\\xa8\\x64\\xbd\\xe1\\x21\\x64\\x9b\\xfc\\x54\\x4b\\xaa\\x7b\\x34\\x1c\\x30\\x00\\xbf\\xdf\\x29\\xe4\\xa8\\x04\\x55\\x41\\x2b\\x8f\\xbd\\x26\\xe6\\x71\\x01\\x9a\\x36\\xb0\\x46\\x5e\\x93\\x85\\x31\\xfe\\xd8\\xbc\\x9a\\x18\\x9b\\x09\\x63\\x62\\x4c\\x47\\x28\\x94\\x9b\\x95\\xb2\\x33\\xa3\\x31\\xb9\\x82\\x30\\xbd\\x27\\x3a\\x3d\\x2c\\x2d\\x63\\xe8\\xd6\\xdb\\xe6\\xe2\\x10\\x6c\\xd6\\x8e\\xd6\\xb4\\x8a\\x39\\xa8\\x6c\\x53\\x1e\\x2e\\x2a\\xb9\\xf5\\x81\\xf9\\x38\\xf6\\x9a\\x89\\x22\\xee\\xe2\\xf9\\xe3\\x86\\x00\\x2b\\x8e\\xb8\\x06\\x8d\\xf6\\x3e\\xcc\\xb6\\xfd\\xa1\\x71\\x7c\\x6d\\x27\\xdd\\x2e\\xdd\\xfa\\x87\\xe9\\x27\\x70\\xc0\\xf5\\xc5\\xcb\\x1f\\xa3\\xb1\\x50\\xf8\\xee\\x96\\xd8\\x39\\x27\\xd5\\x27\\x9a\\x83\\x36\\x83\\x89\\x07\\x7a\\x9b\\x0d\\x42\\x95\\x82\\xd1\\x33\\x6e\\x17\\x4f\\x13\\x06\\x4b\\x9b\\x52\\xc9\\xa8\\xd5\\x56\\x02\\x08\\x28\\x03\\x49\\xa5\\xed\\xe3\\x66\\x1b\\x59\\x46\\x89\\x08\\x00\\x99\\xaf\\xd2\\x28\\xe3\\x44\\x80\\xa4\\xfd\\x62\\x96\\x8b\\x6b\\xc5\\xee\\x67\\xf6\\xed\\xa3\\x37\\x48\\x40\\x11\\xab\\xff\\xd8\\xbb\\x55\\x6c\\x0b\\xde\\xda\\xb0\\x87\\xee\\x1e\\x3f\\x46\\x77\\x7f\\x84\\xde\\x45\\x70\\x22\\xe2\\x3b\\xe1\\x0f\\x09\\x9c\\x08\\xe4\\x13\\x60\\xfe\\x0e\\x14\\x17\\xde\\x12\\x0d\\x09\\x1a\\x87\\xc3\\xc6\\xb3\\x0c\\x8d\\xdc\\x5c\\x97\\xd3\\x60\\xee\\x17\\x33\\xf0\\x76\\x92\\x39\\x16\\x50\\x00\\x08\\x95\\x9c\\x8c\\xe4\\x64\\xaa\\x68\\xde\\xf6\\x1e\\x21\\x15\\x9c\\x09\\x50\\xa7\\xb2\\xd2\\x9c\\x44\\xfb\\x0d\\x69\\x7d\\x87\\x78\\x7f\\xaf\\xbc\\xff\\x7e\\xc5\\x01\\x15\\x93\\x3f\\xf1\\xce\\xac\\xec\\xac\\xaa\\xb7\\xad\\xcf\\x1c\\x03\\x5f\\xaf\\x7d\\x75\\xf2\\xd2\\xe3\\xd9\\xcb\\xee\\xd4\\xec\\xd1\\x88\\x17\\xd6\\x8a\\x4e\\x69\\x2f\\x90\\x5c\\x1f\\x99\\x3f\\x0b\\xee\\xfe\\xa2\\x91\\x79\\x30\\x9b\\x2c\\x5a\\xd6\\x88\\x5b\\x57\\x8d\\x10\\x39\\x1c\\x10\\xf9\\xd9\\x75\\x31\\x03\\x65\\xd2\\x68\\x14\\xc8\\xb1\\xc5\\x81\\x29\\xa9\\x5a\\xab\\x48\\x99\\xce\\x64\\x40\\x5a\\x22\\x9d\\x2f\\xc9\\xcd\\x2e\\x8b\\xe4\\x44\\x6c\\x48\\xc1\\x03\\x73\\x80\\x59\\xf3\\xf0\\x2f\\xe2\\xe5\\xd3\\xe2\\x47\\x3f\\xaf\\xdd\\xf0\\xee\\xc3\\x74\\xc9\\xc3\\xef\\xc6\\x17\\x9e\\x14\\x97\\x30\\x9b\\xd7\\x8a\\xd5\\xb8\\xdd\\x17\\x9c\\x5d\\xfb\\xf5\\xd7\\x5f\\xc7\\x47\\x80\\x1c\\x2c\\x13\\xc9\\x27\\x22\\x1f\\x13\\x33\\xeb\\x0f\\x8e\\x16\\x00\\x17\\xd2\\x51\\xbc\\xcd\\xc8\\x3a\\x4d\\x5a\\xc1\\x29\\x64\\x85\\x1c\\x9c\\xcd\\x8b\\x1c\\x4c\\x9b\\x05\\x1a\\x2d\\x98\\x27\\xc1\\xc5\\x5b\\x2c\\x2a\\x2b\\xa7\\xd2\\xa3\\x88\\x2a\\xa5\\x02\\x2a\\x2a\\xe4\\xde\\x1c\\x7b\\x42\\x31\\x4b\\x9d\\xdc\\x69\\x72\\x42\\x03\\x1d\\x4a\\x34\\x05\\x43\\x24\\x2f\\x44\\x96\\xc7\\x1c\\x01\\xd5\\x20\\x60\\xf3\\xd2\\x70\\xe6\\x84\\xbd\\x5f\\x75\\x9a\\xba\\x22\\x26\\x37\\x06\\x7f\\xbf\\xeb\\xee\\x25\\x2f\\x2c\\x00\\x0b\\xa6\\x9d\\x16\\xb9\\x2e\\x5d\\xc4\\x6f\\xf2\\x59\\x43\\x4f\\xfa\\xab\\xb5\\xf1\\x83\\x07\\xf7\\xf7\\x23\\x8d\\xc1\\x74\\xef\\xb5\\x60\\x80\\xf8\\x04\\x18\\xd0\\xb8\\xf4\\x95\\xd7\\x27\\x18\\x72\\x3e\\xc5\\x63\\x01\\x38\\x1f\\x4b\\x78\\x9f\\x8a\\xa8\\x41\\xd1\\x82\\x16\\x7e\\x95\\xca\\x62\\xe0\\xb8\\x02\\x08\\x2d\\x4e\\x58\\x5c\\xe2\\xb1\\xd7\\xc6\\x3c\\x7c\\x0b\\x65\\x6d\\x2c\\xd0\\xa2\\x05\\x65\\x34\\x18\\x8c\\x46\\x2d\\x6e\\x64\\xa3\\xd0\\xc9\\xa3\\xf8\\x14\\xb6\\xaa\\xe4\\x1b\\x56\\xa4\\xdb\\xd3\\x48\\xaa\\x30\\x8f\\xf8\\x85\\x9c\\x9c\\xf0\\x90\\x90\\x36\\xa4\\xd3\\xa6\\x2c\\x93\\xca\\x79\\xdb\\x03\\x5b\\xd0\\x00\\x3c\\x12\\x3e\\x47\\x98\\xfe\\xe0\\xb1\\xdd\\x5f\\x5d\\xfd\\x65\\xe2\\x8c\\x59\\xf7\\x68\\x9e\\x2f\\x10\\x1f\\x78\\xf3\\xed\\xbc\\xb6\\xce\\x40\\xe7\\xae\\xa3\\x86\\x28\\x14\\xd1\\xe7\\x86\\x8d\\x7c\\x34\\xf6\\xca\\xdc\\x85\\x5d\\x86\\x33\\xbd\\x9f\\x7c\\xe4\\xe0\\xd3\\x0c\\xd3\\xf6\\xc1\\xc9\\xfd\\x07\\x1b\\xc5\\xbf\\x9d\\x7c\\x1a\\xbc\\x5b\\x53\\xab\\x9c\\xc8\\x8f\\x99\\x38\\x63\\xdc\\xe2\\xdb\\xb6\\xf6\\x8b\\x31\\x74\\xd1\\xc8\\xbe\\x83\\xeb\\xe4\\x1a\\x7d\\xf8\\x23\\x1a\\xa7\\x15\\xad\\x59\\xfb\\xa8\\x4f\\x4f\\x79\\x3c\\xbc\\x4d\\xc1\\x2b\\xb2\\x42\\x66\\xc1\\xc0\\x11\\x4a\\x6c\\x3f\\x49\\x7d\\x39\\x33\\x53\\x5f\\xf8\\xbe\\xb1\\x19\\x37\\x7e\\x33\\xca\\xeb\\xc8\\x7f\\xa5\\xba\\x6e\\xb8\\x39\\xc9\\x75\\x61\\xe3\\x9e\\xe6\\x04\\xd7\\x34\\x35\\x47\\xee\\x27\\x90\\x65\\xb5\\x29\\xb0\\xb4\\x9c\\x82\\xcb\\x0a\\x99\\x38\\x4e\\x20\\x17\\xa5\\x58\\x56\\x2b\\x91\\x95\\xbf\\x99\\xac\\x92\\x2f\\x96\\x0e\\xe5\\x6c\\x13\\xa4\\xec\\x2d\\x10\\xd2\\xc1\\x9b\\x40\\x9b\\x04\\x92\\x73\\x52\\x56\\x3a\\x8c\\x65\\xad\\xdf\\xb8\\x64\\x26\\x5c\\x9e\\x48\\xaf\\x61\\x61\\xe1\\x10\\x22\\xac\\xb8\\x1a\\x0b\\xfb\\xc1\\xf9\\xf3\\x49\\x1c\\xef\\x8f\\x89\\xae\\xee\\x12\\xcd\\x0e\\x50\\x0e\\x36\\x27\\x47\\xa7\\x33\\x53\\xb0\\xa0\\x95\\x93\\xf5\\xd2\\x5e\\xb4\\x51\\xbc\\x3c\\x2f\\xa0\\x60\\x13\\x68\\x04\\x3a\\xef\\x7f\\x89\\xe1\\x93\\x02\\x9e\\xce\\xc0\\x46\\xfe\\xcf\\x60\\xde\\x8f\\xac\\xe9\\xd8\\xa7\\xf2\\x96\\xea\\x5b\\xd8\\x9b\\x03\\x7a\\xc3\\x4b\\xab\\x36\\x19\\x1f\\x17\\x7a\\x76\\x9b\\xbb\\xa9\\x39\\xa8\\x37\\xa0\\xda\\xa1\\x3d\\x72\\x98\\xe8\\xbf\\xd6\\x51\\x4c\\x29\\x65\\xa6\\xf4\\x66\\xbd\\xd3\\xc5\\xdb\\x6a\\x62\\x16\\x0b\\x6f\\x55\\x28\\x34\\x04\\x1a\\x39\\xd1\\xbf\\x51\\x28\\x39\\x1b\\xe9\\x17\\xe6\\x69\\x45\\x0e\\xa4\\x77\\x23\\x59\\xc3\\x4e\\xff\\x3a\\x7f\\xe5\\x98\\xc9\\x86\\xe7\\x3c\\x1f\\xed\\xbd\\xf2\\xd3\\x8f\\x5f\\x3c\\xf1\\xb9\\xf0\\x2c\\x37\\xbf\\x6e\\xe9\\x62\\x3a\\xf8\\xf7\\x53\\x63\\x6f\\x33\\x6c\\x78\\x52\\xfc\\x5c\\xfc\\x51\\xfc\\xa7\\xf8\\xf9\\x89\\x2d\\xba\\xf1\\x77\\x5f\\x94\\x74\\x5f\\xaf\\xa6\\xdd\\xf0\\x15\\x24\\x0f\\xc6\\xe5\\x1f\\x15\\x6d\\x63\\x65\\xd5\\x3c\\xc7\\x65\\xb9\\xdd\\x79\\x76\\x5a\\xa9\\x56\\xb4\\x6c\\x65\\xcf\\x53\\xd2\\xc8\\xdd\\x70\\xe6\\xa0\\xc9\\xd5\\x71\\x4e\\x9f\\x93\\x56\\x43\\x0c\\xa1\\xae\\x33\\xe3\\x3b\\x0a\\x06\\xc5\\x14\\x7e\\x19\\xcd\\x51\\x12\\x37\\xe5\\x06\\xe3\\x16\\xcf\\xb4\\x44\\x7f\\x62\\x67\\x63\\xfc\\x39\\x9c\\xdd\\x0e\\x97\\x49\\x68\\xbe\\x89\\x18\\xde\\xd6\\x3a\\xe2\\xc7\\xc9\\xef\\x9c\\x92\\x64\\xbf\\xaf\\x95\\x2e\\xde\\x39\\xb1\\x34\\xf4\\x40\\xb7\\xec\\x91\\x3f\\x5d\\x79\\xfc\\x13\\xb7\\x04\\xe5\\x1c\\x3c\\xf3\\x2a\\xd0\\x8e\\x3e\\x3a\\xbb\\xdf\\xa4\\x76\\xd1\\xaa\\x7e\\x8f\\x45\\x3b\\x5b\\xfa\\xf4\\xee\\x3e\\x74\\x6a\\xc9\\xea\\x6f\\x71\\x36\\xe7\\xc9\\x0d\\x18\\xd0\\xf9\\xf3\\x05\\x77\\xbe\\xfc\\xd5\\xe0\\x95\\x5d\\x1f\\xca\\xeb\\xdc\\xa2\\xa2\\xe4\\xae\\x7e\\xdd\\x52\\x36\\x9f\\xf8\\xc5\\x39\\x54\\xd7\\x68\\x56\\xd0\\xcc\\x30\\x56\\xb7\\xce\\xaa\\xcb\\xa5\\x5a\\x58\\x28\\x23\\x6b\\x50\\x1b\\xb2\\x71\\xb7\\xa7\\xda\\x87\\xb9\\x65\\x68\\x47\\x4d\\x06\\xfa\\x4c\\x12\\xce\\x1c\\x44\\x4c\\xe9\\x05\\xc1\\xc8\\xac\\x3b\\x40\\xe8\\xba\\xdc\\x34\\x36\\xf9\\xe9\\xa7\\x95\\x39\\x54\\x72\\xeb\\xef\\x4c\\xc9\\xde\\xb4\\x13\\x8b\\x8d\\x7d\\xe3\\xe8\\xc4\\x89\\x15\\x47\\xea\\x40\\x2e\\x28\\xcc\\x48\\x3d\\xff\\x79\\x16\\x59\\x7b\\xe8\\x48\\x1e\\x5b\\xb9\\x0f\\xe8\\x43\\x82\\x19\\x93\\x87\\x11\\x0d\\x2c\\x8a\\xec\\x6c\\x0a\\x69\\x1a\\x7d\\xbe\\xa3\\xa5\\xcd\\x8d\\x0c\\x02\\x30\\x29\\x38\\x0d\\x97\\x5b\\x13\\xe3\\x78\\x4d\\x10\\x63\\x6c\\x43\\xa1\\x19\\x1e\\x7b\\x7e\\xb3\\x11\\x64\\xa7\\x70\\x94\\xd3\\x34\\x0e\\xfa\\x53\\x02\\x66\\xcc\\x50\\x39\\xff\\xc0\\x27\\x97\\x49\\xd7\\x3b\\xc0\\xd5\\xa1\\x4b\\x65\\xdb\\x99\\xf1\\xbc\\xc4\\x38\\x3e\\x23\\xc7\\x37\\x6d\\x18\\x7b\\x41\\x2e\\xb7\\x4f\\x58\\x17\\xbf\\x3f\\x35\\x0c\\x34\\x0e\\x52\\xaf\\x28\\xf7\\x33\\xf5\\x88\\x66\\x9b\\x4d\\x26\\x85\\x4e\\xab\\x75\\xe0\\x8a\\x6c\\xa7\\x4e\\x47\\x71\\x0e\\xaa\\x26\\xe6\\x70\\xa8\\xa1\\x9a\\xc3\\x8b\\x01\\xad\\xcd\\xb4\\x50\\x2a\\xe4\\x68\\x86\\x2a\\x6c\\xc6\\x92\\x4b\\x3d\\x4d\\xb2\\xdb\\x5d\\x96\\x23\\x15\\x98\\x0c\\x02\\xff\\xf3\\x8f\\x6b\\xd7\\x7e\\x12\\xf7\\x8d\\xd8\\xe6\\x58\\x31\\xed\\xe1\\xcd\\xb4\\xe2\\xd1\\x05\\x8b\\x57\\x73\\xe0\\x77\\x3b\\x5d\\x2d\\xfe\\x5d\\xfc\\x55\\xfc\\x5a\\xfc\\x3b\\xa0\\x5a\\x75\\xbb\\xfd\\xfc\\xc9\\xa5\\x8f\\x1e\\xda\\xfa\\xc4\\xf5\\x72\\x22\\x8f\\x05\\xf7\\x5d\\xe1\\x53\\x9b\\xea\\xbc\\x52\\xa0\\x09\\x97\\x7b\\xaf\\x92\\x9d\\x57\\xff\\x11\\xf7\\xf8\\x3f\\xf4\\x5e\\x0d\\xf9\\x3f\\xf6\\x5e\\x49\\xf2\\xb1\\x5f\\x10\\x3f\\x36\\x97\\x1a\\x1e\\x2d\\x41\\xb2\\x05\\x7c\\x54\\x4e\\x8e\\xd6\\x69\\x76\\xfa\\x60\\x8b\\x3c\\x1e\\x05\\x09\\xf6\\x5c\\x0a\\xed\\x07\\x85\\x02\\xfa\\xb5\\xb8\\x77\\x97\\xf2\\xa8\\x3d\\x48\\x61\\x7a\\x6e\\x2c\\xae\\x51\\x2e\\x87\\xc0\\xed\\x41\\xd7\\xc1\\x21\\x48\\x13\\x89\\x24\\xf7\\x9b\\xcb\\x6d\\x52\\xe6\\x8a\\x34\\x6a\\x63\\x54\\x95\\xd4\\x38\\xca\\x72\\x60\\x4f\\xef\\xda\\x09\\xf2\\x48\\xc0\\xac\\xc1\\xeb\\xdc\\x5c\\xa4\\xa4\\xb4\\xa6\\xed\\x9c\\x01\\x23\\x17\\x59\\x18\\x3c\\xb0\\x63\\xdc\\xca\\xe5\\xcb\\xb6\\x41\\xfa\\xd2\\xdc\\x69\\xd2\\xc0\\x76\\x3b\\xe7\\x77\\xee\\x94\\xfb\\x70\\xe9\\xea\\x39\\xb9\\x65\\xf2\\x08\\x27\\x1c\\x7f\\xe2\\xb5\\xe7\\xfb\\x60\\x9d\\xd9\\xad\\xe9\\x9f\\x70\\x3a\\x1a\\x63\\x36\\x35\\x39\\xda\\x41\\x80\\x5a\\x23\\xcb\\x22\\x0d\\xa4\\xd5\\xfa\\xfc\\x94\\x3f\\x9c\\x03\\x2d\\x36\\x0b\\xd2\\x9e\\x94\\x8f\\xf7\\xd5\\xf9\\xa0\\xfa\\x29\\x0b\\xe0\\x2c\\x17\\x2c\\x9f\\x59\\xa0\\x16\\xfa\\x2c\\x28\\x88\\xf7\\xc1\\x90\\x2a\\xe4\\xc1\\x08\\x5e\\x2a\\x03\\xb6\\xbe\\xcd\\x71\\x9d\\x91\\xaa\\x9a\\x24\\x5d\\x4a\\xde\\x10\\xdd\\xd9\\x5c\\x8a\\x75\\x95\\x9c\\x6f\\x94\\x6d\\x42\\x5b\\x90\\x40\\x76\\x96\\x73\\x77\\xe1\\x6e\\xf3\\x66\\xfe\\xed\\xfc\\xe1\\x5d\\xaf\\x0b\\x47\\x7d\\x07\\x87\\x8d\\x9d\\x34\\xf4\\xb6\\xba\\x69\\x13\\xee\\x1b\\xf3\\xbe\\xe5\\x69\\xfe\\xbd\\x67\\xcf\\x5e\\x02\\x81\\x09\\x4b\\x2d\\x9d\\x8e\\x2c\\xdb\\xb1\\x6f\\x13\\xff\\xe6\\x6d\\x03\\x7a\\x0f\\x5d\\x51\\x37\\x68\\xf0\\xc8\\xcf\\x0c\\x07\\xf7\\xed\\xc1\\xe3\\x2b\\x43\\xe3\\x1b\\x49\\xc6\\x77\\x7f\\xb4\\x4b\\x88\\x77\\x09\\x81\\x80\\x8e\\x72\\xba\\x5c\\x4a\\x05\\xa5\\xc8\\x09\\x53\\x39\\x40\\x03\\x43\\x46\\x29\\xce\\x53\\xf2\\xca\\x3a\\x25\\x1a\\xa4\\x11\\x70\\xc6\\x0b\\xc6\\xcf\\x8c\\x68\\x90\\x4a\\xa3\\xd3\\x69\\x44\\xde\\xb2\\xd7\\x6b\\xc7\\x66\\x10\\xaa\\xaf\\xbb\\x57\\xcb\\x1c\\x24\\xae\\xb4\\x37\\x9a\\xae\\x1b\\x27\\x90\\x7b\\xee\\xad\\x09\\xc0\\x82\\xb2\\x48\\xf3\\xb4\\x1b\\xae\\x4a\\x1b\\xf9\\xde\\x0b\\xc7\\x2e\\xf1\\x4f\\x5b\\xde\\x1f\\x3f\\x75\\xe2\\xd4\\xba\\xdb\\x86\\x4d\\x1c\\x73\\xfb\\x41\\xdf\\x51\\xe1\\xf5\\x5d\\x4f\\x9f\\xfb\\xdb\\xcc\\x79\\x20\\xb0\\x6a\\xcf\\xbe\\x83\\x86\\xcf\\x6e\\x1f\\x36\\xa8\\x6e\\xc5\\xd0\\xde\\x7d\\x87\\xbd\\xc9\\x6f\\xdc\\xbf\\xab\\xfe\\x48\\x27\\xcb\\x52\\x69\\x9c\\xac\\x12\\x8d\\x33\\x42\\xcd\\x89\\x76\\x2d\\xe6\\x5d\\x21\\xa1\\xb0\\x50\\x1e\\xa8\\x82\\xca\\x83\\x65\\xa5\\xc5\\xd2\\x28\\xc3\\x2d\\xfb\\xc5\\x0a\\x03\\x01\\xa7\\x37\\x73\\x98\\x61\\xa7\\x33\\x6c\\x54\\x32\\xff\\x79\\xa0\\x64\\xa4\\x24\\x0e\\xcf\\xbf\\x8e\\x35\\x25\\x22\\x81\\x18\\xfd\\x2f\\xc6\\x6a\\x2b\\x4f\\x24\\xa0\\xc9\\x83\\x8a\\xff\\x38\\xf2\\xa5\\x27\\x82\\xf5\\x6e\\xae\\xb0\\x24\\xbb\\x5d\\x10\\x6d\\xf1\\x21\\xf3\\x9c\\x81\\x86\\x9b\\xcc\\xc4\\xe8\\xa1\\x76\\xb4\\xcd\\x6d\\xc6\\x87\\x4b\\x67\\x4e\\x5c\\x50\\x8e\\xe6\\x84\\xa6\\x7a\\xa0\\xb5\\xbf\\x80\\xe6\\x44\\xa0\\xc2\\x54\\xff\\x68\\x2b\\xca\\xab\\xb3\\xf2\\x6e\\xb7\\x32\\x60\\x0d\\xe4\\xe4\\x7a\\x75\\x5a\\x1d\\xf2\\x84\\x39\\xdd\\x05\\xdd\\x67\\x3a\\x34\\x05\\x3a\\x5d\\x96\\x23\\x8b\\xa9\\x89\\x65\\x59\\x1d\\x66\\xd2\\xf2\\x56\\x9d\\x99\\x78\\x6a\\xb6\\x87\\x71\\x0c\\x87\\xc7\\x9a\\xc2\\xa0\\x48\\x0e\\x53\\xa1\\x24\\xc6\\x97\\x2c\\x29\\x01\\x5b\\xa0\\x81\\xaa\\xd3\\x9c\\xc9\\xa9\\x91\\xed\\x5c\\x79\\xea\\xdf\\x5f\\x3c\\xff\\x2e\\x5a\\xd2\\xf7\\x5e\\xb8\\xf6\\x1b\\xdd\\x72\\xfb\\xd9\\x21\\xc9\\x91\\x5c\\x7c\\x13\\xb0\\xc0\\xb3\\x7d\\x39\\x5e\\xd5\\x09\\xab\\xf6\\x00\\x3f\\xde\\xc3\\x2a\\x71\\x20\\x9d\\x83\\xe2\\x15\\x01\\xe3\\x13\\x41\\x8a\\x52\\x98\\x05\\x3d\\xce\\x9a\\xd8\\xac\\x16\\xa1\\x36\\x66\\x11\\x34\\x48\\x8f\\x6b\\x14\\xb0\\x36\\xa6\\xc0\\x60\\x45\\xc4\\x22\\x15\\x66\\x66\\xc6\\xa4\\x0b\\x9e\\x64\\xae\\x31\\x0d\\xd6\\xad\\xec\\x93\\x86\\x8d\\x1b\\x13\\xac\\x42\\x97\\x16\\xc2\\x63\\x8d\\xdd\\x17\\xae\\x93\\xb9\\x85\\x66\\x2d\\x4c\\xc5\\xf3\\xef\\x23\\xbb\\x98\\x43\\x95\\xa1\\x79\\x6c\\x99\\xeb\\xd2\\x6a\\x29\\x05\\xcb\\x16\\x9a\\x29\\x73\\xeb\\x60\\x39\\xf1\\x10\\x81\\x03\\xcd\\xad\\xb5\\x25\\xbe\\x8b\\xe6\\x4b\\x90\\x3b\\x23\\xd0\\x68\\x07\\x29\\xb0\\x8d\\x8f\\x5c\\xcf\\xcc\\x29\\xdb\\xc8\\x54\\x80\\x91\\x4d\\x3c\\x46\\x6c\\x52\\x90\\xa2\\x0b\\xa5\\xc8\\x28\\x90\\xb5\\x34\\x4a\\xda\\x41\\x22\\x40\\x82\\x69\\x9d\\x82\\xed\\x01\\xfc\\x87\\xd8\\x56\\x6e\\x16\\x04\\x7a\\xdc\\x26\\xf8\\xda\\xc9\\xf3\\x6f\\x4d\\xd9\\x57\\x40\\xaf\\x5d\\xe5\\x0f\\x97\\x97\\x54\\x44\\x3b\\x1c\\xed\\xb6\\xb0\\xdf\\xd2\\x39\\xd3\\x57\\x0d\\x78\\xb0\\x9b\\x4f\\x6c\\x43\\x3a\\x05\\x41\\xdb\\x43\\x77\\x8f\\x01\\x2a\\xe0\\xc2\\x38\\xb8\\x63\\x46\\x80\\xe2\\x35\\x1b\\xa0\\xf6\\x71\\x53\\xef\\x2e\\xf1\\x99\\x0f\\x9e\\x19\\x7d\\xee\\xca\\xa7\\x2f\\x8e\\x3a\\x49\\x25\\xfa\\xb6\\x98\\x1e\\x26\\x05\\xee\\xdb\\x42\\x6b\\x70\\xbb\\x1c\\x7f\\xb8\\x49\\x6c\\xed\\x56\\xd1\\x9c\\xc1\\xe0\\x44\\x5e\\xab\\xc7\\x4b\\x20\\xb7\\x39\\x8a\\x63\\x65\\xf0\\x50\\xd6\\x9e\\x96\\xce\\xb8\\x91\\xa5\\x32\\x55\\x48\\x69\\x2c\\x83\\xd4\\xf4\\x99\\xe1\\xa9\\x61\\xad\\x57\\x16\\xa2\\xa3\\xe0\\xa9\\x1e\\x1f\\xde\\xff\\x5b\\x13\\x75\\xed\\x2b\\xd9\\x37\\xdb\\xb4\\x64\\xe3\\xf6\\x85\\x77\\xfd\\x49\\x7b\\xc4\\xdb\\x3b\\xf7\\x00\\x5e\\xe4\\x01\\x18\\x40\\x90\\x38\\x64\\x6f\\xbd\\xfb\\xe9\\xdb\\x9d\\x3e\\xc1\\xeb\\xa4\\x44\\x32\\xff\\x49\\xf0\\x98\\x5c\\x54\\x07\\x14\\x6b\\x03\\xab\\xc2\\x02\\x29\\xc6\\x60\\x52\\x61\\x7e\\x20\\x03\\x60\\xdc\\x1e\\xa8\\xa0\\x2c\\x8c\\x16\\x68\\x91\\x03\\xa6\\x75\\x31\\x78\\xb7\\x44\\xaa\\x9b\\xd5\\x8c\\x24\\x50\\xcd\\xb3\\x25\\x38\\x73\\x19\\xbd\\x04\\x63\\xde\\xd8\\x4a\\x73\\x12\\x31\\xc7\\x6a\\xf1\\xbe\\x17\\x50\\xc8\\xd4\\xfe\\x8c\\x38\\x7e\\xee\\xec\\x71\\x63\\x67\\xdb\\xb2\\x7f\\xef\\xd9\\x23\\x27\\x2b\\x3b\\xe7\\x11\\xb8\\x3b\\x1e\\xa0\\x3f\\x6b\\x1c\\xf6\\xe9\\xb4\\x7b\\xe6\\xcd\\xbb\\x27\\xf7\\xb6\\xa1\\x97\\xfb\\x2d\\x59\\x5a\\x5b\\x50\\x1a\\x91\\xf6\\x92\\xb5\\xe9\\x5b\\xe6\\x7d\\xa6\\x03\\xa5\\xa3\\xda\\x50\\x35\\xd1\\x56\\xea\\x00\\x8a\\xae\\x5d\\x76\\xa6\\x34\\x2b\\xd0\\x52\\x55\\x51\\x59\\x6a\\xcf\\x62\\x18\\x6f\\x61\\x7e\\x7e\\x61\\x21\\x32\\xab\\x85\\x9c\\x17\\x1d\\x51\\xaf\\x55\\x6f\\x41\\x21\\xab\\x51\\xcf\\x25\\xea\\x5d\\xd2\\x83\\x56\\x5b\\x3a\\x22\\x58\\x36\\xda\\x1f\\x39\\x06\\x88\\xf1\\x20\\x09\\x38\\x58\\x0e\\x39\\x8e\\xe8\\x9c\\x24\\xc6\\x80\\xc2\\x70\\x3c\\xd1\\x1c\\x90\\x54\\x91\\x8f\\xae\\x46\\x01\\x16\\x7d\\x46\\x23\\xb4\\xd0\\x39\\x2d\\xfa\\xae\\xdd\\x00\\xdd\\x73\\x75\\x9b\\xc9\\x81\\xea\\xea\\x50\\x2b\\xdb\\xc2\\x48\\x5f\\x3c\\xb2\\x9a\\xe2\\x85\\xb6\\x56\\xa1\\xea\\xf6\\xc1\\xc9\\x6d\\x56\\xf7\\x1c\\x31\\xad\\x45\\xb9\\x55\\x28\\xcf\\x9d\\xf6\\x81\\x90\\x17\\xe9\\x69\\x2b\\x2a\\x2a\\xb4\\x0f\\x83\\xe7\\xea\\x86\\x4e\\x28\\x19\\x52\\x56\\x26\\x5e\\xbc\\x7d\\x4d\\xed\\xd8\\x19\\x33\\xc6\\x0e\\x5c\\x3e\\x0c\\x14\\x95\\x95\\x0d\\x29\\x99\\x30\\xb4\\x6e\\xd0\\xbd\\x1b\\xba\\x74\\xd9\\x70\\xcf\\x60\\x82\\xe3\\x2e\\x4e\\x80\\x57\\x99\\xb6\\x94\\x8d\\x6a\\x15\\x15\\x2c\\xbc\\x59\\xad\\x30\\x2b\\x1c\\x76\\x0b\\x05\\x8d\\x4a\\x0e\\xea\\x53\\x1a\\x17\\x7b\\x09\\xa9\\x30\\x50\\x0e\\x58\\x25\\x08\\xbe\\x24\\xac\\x5d\\xc8\\x88\\xc6\\x52\\xdd\\x76\\xf7\\xac\\xc3\\x7b\\x9f\\xc9\\xab\\x1b\\x80\\x71\\xda\\x19\\xe6\\xc4\\x3d\\x75\\x4f\\xbd\\x4d\\x5f\\x8c\\xf7\\x9d\\x3c\\xa1\\xf4\\xf0\\x7a\\x7a\\xce\\x5f\\xa5\\x60\\xc1\\x5c\\x69\\xff\\x92\\xba\\x63\\x74\\x86\\x7d\\x54\\x79\\xd4\\xe3\\x31\\x1a\\x4d\\x2a\\xa5\\xd2\\x6e\\x82\\x18\\xe3\\xac\\x26\\x26\\x00\\x0a\\xaa\\x4c\\x02\\x91\\x81\\x4f\\xca\\x50\\x9d\\x79\\x55\\x04\\xe4\\x8a\\xa1\\x50\\x1a\\x8e\\x73\\xc2\\x93\\xf5\\x00\\x8b\\x12\\xb4\\xab\\x7c\\x6c\\x76\\x52\\x1a\\xe0\\xbe\\xa5\\x7b\\x59\\xc7\\x39\\x6a\\x38\\x7f\\xec\\xc8\\xa7\\xde\\x8e\\x17\\xd2\\x87\\x88\\x4c\\xf1\\x05\\xcc\\x11\\x90\\xcb\\xef\\x31\\xaf\\xac\\x5b\\x5a\\x2d\\xcd\\xc9\\x20\\x22\\x57\\x0e\\xd5\\x31\\x9a\\x65\\xd6\\xd0\\x94\\xdb\\xed\\xf1\\x84\\x0c\\x1a\\xa6\\x45\\xae\\x1f\\x45\\x0c\\x7e\\x40\\x2b\\x3c\\x82\\xce\\x88\\x02\\x22\\x17\\x41\\xe5\\xcd\\xa0\\x32\\x69\\xae\\xe1\\x80\\x5c\\xb6\\x82\\xa4\\xc4\\x45\\x1c\\x04\\xe1\\xfa\\x06\\xd2\\x0a\\xa0\\x93\\x1a\\x12\\x61\\xc5\\x6f\\x22\\x03\\x2a\\xdb\\x4d\\xcb\\x10\\x99\\xb9\\x75\\x69\\x35\\x96\\xb9\\xf1\\x90\\x78\\x99\\xdf\\x2b\\xac\\x83\\x81\\x66\\x92\\x93\\x7d\\x6c\\x47\\xc2\\x3f\\x45\\x70\\xd2\\x39\\x34\\xa3\\x6e\\x4e\\xa5\\xd2\\xa9\\xd5\\xbc\\x51\\xaf\\xc3\\x84\\x57\\x4a\\x2d\\x85\\x36\\x2e\\x8a\\xdf\\x68\\xb5\\x40\\x73\\x69\\x24\\x9f\\x72\\x96\\xcd\\x98\\x76\\x03\\x84\\xd3\\x69\\xe8\\x2f\\x73\\x59\\x44\\xb0\\x4f\\x6a\\x98\\x3c\\xb9\\x61\\xd2\\xa4\\x06\\x7a\\x0c\\xb8\\x28\\x16\\x2e\\x12\\xdd\\xe0\\x4b\\x58\\x85\\xb3\\xc2\\x00\\xc5\\x26\\x3f\\x82\\xd7\\x12\\x35\\x46\\x94\\x86\\xd5\\x18\\xf4\\x5a\\x4e\\x05\\xfb\\xc5\\x54\\xf2\\xa6\\x91\\x37\\x8c\\xdc\\xd5\\x89\\x53\\xa2\\x18\\x88\\x1c\\x68\\x2a\\xca\\x03\\x2d\\x4b\\x5a\\x89\\x57\\x1b\\x40\\x76\\x6d\\x17\\xed\\x0e\\x0d\\xc8\\x85\\x21\\xf4\\x7b\\x9d\\x91\\x70\\x8f\\xa0\\xdf\\xd3\\x62\\xe9\\x35\\xf8\\x9a\\x08\\x42\\x16\\x40\\xbd\\x4e\\xab\\x54\\x29\\x91\\x2b\\xc7\\x51\\x0c\\x44\\xe6\\x10\\x47\\x38\\xa9\\x1b\\x89\\x4c\\xb0\\xe6\\x88\\x10\\x20\\x1c\\x9f\\x01\\x21\\x04\\x5e\\xbb\\x10\\x3f\\xf4\\xf6\\xdb\\x74\\xdf\\x0b\\xcb\\x97\\x2f\\x87\\xa1\\x65\\xcb\\xc8\\x9e\\xc3\\x13\\xb5\\x95\\x70\\x5b\\x75\\x8e\\x06\\x0d\\x4e\\xa7\\x96\\xa2\\x94\\x16\\x8b\\x5b\\x49\\x22\\x72\\xb3\\x99\\xe7\\x35\\x4a\\x25\\x24\\x21\\xb9\\x46\\x97\\x00\\x96\\x97\\xcf\\x75\\xa4\\x10\\xc7\\xe6\\x20\\x91\\xf7\\x8f\\x48\\x08\\x3b\\xc4\\x08\\x84\\xd0\\x0a\\xdb\\xd0\\xe7\\x24\\x17\\x15\\x21\\xc6\\xcc\\xf8\\x07\\x0a\\xa2\\x5d\\x0b\\xe8\\x71\\xfd\\xcb\\x1b\\x78\\xbf\\xcf\\xa9\\x58\\x70\\x5b\\x5d\\xc8\\x42\\xbf\\xa1\\x2a\\x2a\\xbc\\xfb\\x01\\x96\\x9e\\x19\\xef\\xa8\\x28\\x2c\\x9a\\x3c\\x99\\x8d\\xcf\\x20\\x6b\\xc7\\x91\\x3e\\xab\\x13\\xc8\\x5d\\xb7\\x63\\xbc\\x70\\xab\\xca\\xa8\\x83\\x90\\xa3\\x29\\x5a\\x05\\x1d\\x28\\xf0\\xd0\\xe1\\x1b\\x54\\xc6\\xc8\\xd4\\xc6\\x38\\x14\\x8a\\xe8\\x8c\\x50\\x4f\\x91\\x40\\x2f\\x0d\\x90\\xa7\\x19\\x74\\x9d\\x84\\xbd\\x46\\x30\\x4a\\xb1\\x3b\\xdb\\x16\\xe0\\x19\\x0a\\x94\\x11\\x8d\\x1e\\xa1\\x6f\\xdb\\xdf\\xc0\\x8e\\x5a\\x34\\xff\\x4e\\x65\\xc3\\x7e\\xf1\\x31\\x65\\xa4\\xed\\xbd\\x74\\x2c\\xbe\\x97\\x8e\\x2d\\x1c\\x37\\x72\\x16\\x58\\x1f\\xf7\\x5f\\xae\\x8a\\x8c\\x91\\xee\\x4d\\x1e\\x12\\x07\\xd1\\x46\\x34\\x5f\\xf2\\x1a\\x6b\\xf4\\xac\\x01\\x27\\xb6\\x52\\x59\\xc7\\x54\\x1d\\x19\\x09\\x10\\x12\\x6b\\x5c\\x09\\x2a\\xca\\xcb\\x0b\\x6f\\x69\\x25\\x7e\\xd3\\x30\\xa5\\xb6\\x13\\xb7\\x8b\\x03\\xb9\\x8a\\x5e\\xe8\\xf7\\x16\\x22\\xbb\\xdd\\x87\\xf0\\x02\\x0e\\x8a\\x16\\x78\\x58\\xd6\\xa6\\x56\\xb8\\x8d\\x3c\\xef\\xa3\\x28\\xb7\\x1a\\x06\\xfc\\x48\\xa5\\x52\\x7a\\xe4\\xec\\xe8\\x5d\\xac\\x17\\x43\\x89\\x2b\\x5c\\xb5\\x38\\x92\\xe1\\x80\\xb4\\x16\\x78\\x31\\x32\\x70\\x2e\\x6e\\x00\\x88\\x26\\x95\\x5c\\xc8\\xf0\\x67\\xa1\\x14\\xd5\\x3d\\x71\\x88\\x90\\x89\\x5b\\xd8\\x40\\xff\\x2a\\xae\\x3a\\x75\\x79\\xee\\x37\\x6b\\x9f\\xff\\x47\\xce\\xd3\\xe5\\x5f\\x8c\\x58\\xd7\\xe7\\xd4\\xd6\\xbe\\x60\\x6e\\xfc\\x75\\xf6\\x4d\\xf1\\xde\\x23\\xe2\\x3a\\xbb\\x78\\xb6\\xfe\\xcb\\xf9\\x1b\\x1f\\x11\\x9e\\x1d\\xbe\\x77\\xc4\\xc6\\xe3\\xab\\xc1\\x82\\xc6\\x7e\\x78\\x2e\\xea\\x9b\\x7e\\x50\\x64\\xa1\\xfd\\xd9\\x02\\xaf\\x50\\xd0\\x67\\x07\\xb9\\x46\\xa5\\x52\\xa7\\xd1\\xe4\\xfa\\x60\\x5e\\xbe\\xdd\\xe8\\x6e\\xa1\\xf2\\x73\\x6e\\xa4\\x20\\xdc\\x56\\x52\\x15\\x69\\xd5\\x27\\x43\\xf1\\x04\\x92\\xe9\\xf5\\x21\\x56\\x1a\\xbd\\x45\\x1a\\x12\\x68\\x12\\x10\\x34\\x89\\x70\\x0a\\x9f\\x1c\\x38\\x71\\xca\\x43\\x47\\xe5\\xba\\xc7\\xca\\x47\\xc6\\xcf\\x5a\\xe5\\x86\\x6d\\xb6\\x4f\\xda\\xbd\\xfe\\xc8\\xc0\\x89\\xd3\\x17\\x62\\x78\\xd0\\xad\\x33\\x0e\\xef\\xa0\\xa7\\x34\\x1e\\x94\\x8a\\x1d\\xa7\\xdc\\x76\\xc7\\xb8\\x7b\\xea\\x8e\\xbc\\x81\\x55\\xef\\xd6\\x19\\x4f\\xed\\xa4\\xa7\\x90\\xf5\\xac\\x17\\x07\\x29\\xbc\\x68\\x0c\\xf8\\x16\\x27\\xa4\\xd4\\x6a\\x35\\x20\\xe8\\x76\\x38\\x82\\x1a\\x98\\x9d\\x65\\xd2\\x59\\x43\\x2a\\x27\\x67\\xf5\\x21\\x8f\\xc9\\xca\\x31\\x38\\xc2\\xd5\\xba\\x6e\\x32\\x82\\x54\\x3b\\x47\\x52\\x7e\\x09\\x78\\xfc\\xe6\\xa2\\x3f\\x5d\\xbe\\xfe\\xde\\x9b\\x09\\xfd\\x97\\x87\\x1e\\x3c\\x6e\\xf0\\xf5\\x02\\x63\\x7c\\xff\\x41\\x8a\\x10\\xf2\\x71\\x8a\\xa9\\xda\\x68\\x4b\\x07\\xcf\\x1b\\xfd\\x4a\\xa5\\xaa\\x38\\x37\\xb7\\x95\\xca\\xc8\\x94\\x44\\xf2\\x0a\\x6b\\x62\\x79\\xae\\x2c\\xb4\\x1d\\xb3\\x78\\xbf\\xc3\\x63\\xf4\\xe8\\x70\\x43\\x8e\\x85\\x53\\x19\\x09\\x5d\\x43\\xca\\xbf\\xbb\\xc1\\x9d\\x6c\\x22\\x32\\x27\\xd6\\x23\\x7c\\x83\\x42\\x54\\xdb\\x75\\x7a\\x9b\\x9d\\x84\\xc5\\x3e\\x72\\xb3\\x95\\xc0\\x9a\\xbb\\xe4\\x96\\x19\\xf4\\x21\\x2c\\x7e\\x7c\\x05\\xfe\\xf3\\xf0\\x8e\\x54\\xf9\\x69\\x62\\x45\\x88\\x12\\xdf\\x6d\\xc2\\x5c\\xac\\xa0\\x69\\x27\\xb6\\x35\\x68\\x7c\\x41\\x5c\\x5b\\xcf\\x73\\x4a\\x87\\xc3\\x4b\\x07\\xb9\\x60\\x56\\xc8\\xe5\\xc7\\x05\\xb5\\x4a\\x2d\\x2f\\x68\\x05\\xec\\xc2\\xd1\\x89\\xf6\\xf9\\x34\\x94\\xcf\\x44\\x99\\x94\\x39\\xb3\\x7e\\x36\\x65\\x0d\\x93\\x92\\xaf\\x4c\\x2f\\x98\\x7d\\x86\\xd4\\xd0\\x62\\x69\\x0b\\xbb\\x4d\\xcf\\x28\\x8e\\x2d\\x4c\\xd4\\xcc\\xea\\x90\\x88\\x8f\\x19\\xd7\\x49\\x3a\\x00\\xad\\x01\\xf3\\x16\\x91\\xb1\\x5d\\xd4\\xa7\\xa6\\x5c\\x26\\x93\\x15\\xb9\\xd9\\x21\\x26\\xcb\\xe5\\x33\\xfb\\x0c\\xb8\\xc6\\xd1\\xca\\x99\\x05\\x25\\x9d\\xba\\x8d\\x4c\\x74\\xfe\\xa4\\x7b\\xd5\\xf8\\xca\\x2f\\xa9\\x20\\x6e\\x52\\xfa\\x0b\\xaf\\x4e\\x6b\\xdf\\x32\\xda\\x56\\xfc\\xe6\\xfa\\x2a\\xdf\\x29\\xeb\\xf8\\xdd\\x06\\x64\\x28\\x0a\\x6f\\x50\\xd4\\x2b\\xfb\\x12\\xff\\x44\\xfb\\x9a\\xa7\\x0a\\xa2\\x02\\xe6\\xa1\\xa0\\x0c\\x06\\x8e\\x53\\x1a\\x4d\\x50\\xcb\\xb1\\x3c\\xa7\\xe2\\xc8\\x86\\x88\\x98\\x9a\\x11\\x3c\\xe2\\xfa\\x28\\xab\\x0d\\x67\\xf0\\x42\\x00\\xe7\\x35\\xf0\\x25\\x4e\\x15\\xb8\\x28\\x64\\x33\\x07\\xf6\\x8a\\x91\\xdc\\x80\\x72\\x3f\\xda\\xa4\\xfd\\xbc\\xb7\\xce\\xa6\\x37\\x5e\\x7b\\x95\\x3e\\x59\\xd9\\xf5\\x8e\\x0e\\xf1\\xbb\\x98\\x4a\\xa9\\x06\\x74\\xa0\\x7c\\xcf\\xa1\\x41\\xde\\xad\\x9d\\xea\\x11\\x6d\\x61\\x35\\x18\\x28\\x81\\xe3\\x50\\x18\\xef\\x74\\x08\\x1c\\x66\\x0c\\xbb\\x20\\x7c\\x26\\xa0\\x48\\x4e\\x10\\xa0\\x4a\\x65\\x22\\x77\\x01\\xda\\x66\\x77\\x01\\x89\\x48\\x2e\\x43\\xa8\\x14\\x3b\\x82\\x09\\x60\\xb0\\x12\\x2f\\x30\\x23\\xa7\\x31\\x50\\x00\\x12\\xac\\x08\\x7f\\x7c\\x27\\x5a\\xd7\\x2f\\xd7\\xc4\\x8f\\x69\\x96\\xad\\x5b\\xbd\\x52\\x4b\\x77\\xd7\\x3c\\x94\\xce\\x8b\\x20\\xfe\\x18\\x2f\\x3d\\x74\\xec\\xf0\\x33\\x70\\xf0\\x93\\x0d\\x0d\\x4f\\xca\\x79\\x44\\x85\\x81\\xc4\\x9d\\x01\\x6a\\x5c\\xb4\\xd2\\x4c\\x31\\x02\\x84\\x56\\x5e\\xe1\\xd6\\xe9\\x14\\x0c\\x44\\xfe\\x07\\x26\\x72\\x12\\x00\\x16\\x55\\x61\\x34\\x62\\xe7\\x96\\xe3\\x95\\x06\\xb5\\xc1\\x91\\xcc\\x90\\x0a\\x0a\\x74\\xcc\\x14\\xc2\\xf5\\x19\\xd2\\xcc\\x61\\xa4\\xe0\\xe0\\xa4\\x7c\\xa9\\x54\\xfc\\x56\\xa6\\x90\\xc7\\x63\\x23\\xa8\\x88\\xca\\xb4\\x6c\\x3b\\x7b\\x5e\\xec\\x0a\\xc4\\xf8\\xa0\\x29\\xa7\\xf0\\xc0\\x1a\\xa6\\xd3\\x6b\\x45\\xc7\\xe1\\x24\\xd9\\xc3\\xa4\\x05\\xe2\\x23\\x8b\\x86\\x4d\\x92\\x86\\x35\\x69\\x58\\xbd\\xf8\\x42\\xbf\\x14\\xd5\\x83\\x9c\\x0f\\xfb\\x96\\xdc\\x6b\\xe4\\x62\\xad\\xac\\x74\\xfa\\x01\\x10\\xb8\\x70\\x58\\x70\\xc2\\xbc\\x16\\x7e\\xab\\x35\\x64\\x0b\\x99\\x70\\x2e\\xc8\\xc3\\xe0\\x14\\x98\\x4d\\x8b\\x19\\x40\\x9b\\x0d\\xc1\\x5e\\x98\\x16\\x68\\x54\\xa4\\x48\\xc3\\x49\\x67\\x4f\\xaa\\xa8\\xb6\\x1d\\x30\\x93\\xca\\x28\\xac\\xe3\\x48\\x38\\x58\\xc6\\x53\\x70\\xda\\xc4\\xc9\\xf7\\x8d\\x59\\x78\\x75\\xef\\xe3\\x57\\x17\\x8e\\xb9\\x6f\\xf2\\xc4\\x01\\xa0\\x17\\x78\\xe0\\xf5\\xe3\\xf3\\x0f\\x78\\x5c\\xfb\\xe7\\x1f\\x7b\\x03\\xdc\\x4f\\xf7\\xaa\\x7b\\xe9\\xc4\\xe1\\x93\\x1b\\xbe\\x9c\\x30\\xe1\\xcb\\x0d\\x27\\x0f\\x9f\\x78\\xa9\\x8e\\x06\\xe2\\x51\\xf1\\xe3\\x1f\\xc4\\xf8\\xdc\\x19\\xf7\\xcf\\x06\\xf4\\x3f\\x41\\x36\\xe8\\x4d\\x7a\\xdb\\x06\\x11\\xce\\x4d\\x8e\\x30\\x2c\\xf4\\x8d\\xb6\\xe2\\x75\\x16\\x35\\xc7\\x39\\x15\\x94\\x8d\\x61\\x28\\x1d\\xf4\\x79\\x0d\\x68\\x51\\x0c\\x56\\xb5\\x19\\x27\\xf1\\x94\\x94\\xc2\\x85\\x1d\\x4f\\x80\\x1c\\x65\\x90\\x46\\x0a\\x91\\x76\\x05\\xd2\\x1c\\x97\\x0f\\x18\\xc3\\x68\\x01\\xb2\\xb1\\x93\\x82\\x89\\xe9\\x8c\\xe6\\xd2\\x70\\x8e\\xb1\\x3d\\xc8\\xb6\\x58\\x6d\\x48\\x71\\x83\\xbf\\x9f\\xba\\x00\\x96\\xef\\x7e\\xef\\x25\\x71\\xcc\\xc7\\x77\\x4f\\x9e\\x34\\x26\\x7e\\x74\\xf4\\xd8\\xf1\\x23\\xc5\\x41\\xe0\\x51\\x1b\\x30\\x03\\x08\\xfe\\x2c\\x01\\x0b\\xc5\\x39\\x16\\xf1\\x7b\\x31\\x2e\\x52\\xad\\xc4\\x3b\\xe1\\x6b\\xaf\\xbd\\x6e\\x69\\x7c\\xc6\\x7a\\xe1\\xec\\xf1\\x77\\xdc\\xb0\\xb3\\xf3\\x4d\\xac\\x27\\xf2\\x9b\\x7e\\xa0\\xf3\\xd1\\xe1\\xb0\\x50\\x79\\x51\\x0b\\x6b\\x36\\xa3\\x70\\x50\\xb0\\x2a\\x19\\x0b\\xa7\\xe5\\xfb\\xc5\\xb4\\x56\\x46\\x48\\x6a\\xb0\\x34\\x8c\\x42\\x80\\x0d\\x5f\\x21\\x08\\x25\\xaf\\x25\\x91\\xc5\\xa0\\xb3\\x15\\x07\\x58\\xc8\\x04\\xab\\x87\\xdc\\x82\\xef\\x72\\x27\\x4e\\x67\\x2a\\x1b\\x5f\\x9c\\xf1\\xe0\\xa4\\xf1\\x77\\xdf\\x9e\\xaf\\xd9\\xa3\\x39\\xdb\\x40\\x97\\x26\\xdf\\xc7\\xbe\\x71\\xdd\\xfb\\xa8\\xff\\xef\\xf7\\xb1\\x6f\\x5c\\x2b\\x4e\\x7f\\x1f\\x7c\\x85\\xbc\\x0f\\xf9\\x42\\xff\\x46\\xe3\\xb3\\x63\\xbc\\x78\\x9b\\x56\\x0b\\x80\\xd1\\xa1\\x70\\xea\\x38\\x3b\\xc7\\x59\\xfa\\xe1\\x7c\\x30\\xd3\\x2f\\xa6\\xce\\x80\\x24\\x4a\\xa5\\xde\\x13\\xa6\\x92\\xd4\\x05\\x38\\x00\\xa9\\x60\\x4d\\xbe\\x1d\\x57\\x39\\xb4\\xed\\x2a\\x86\\xa7\\xdf\\x99\\x18\\xee\\xb5\\xde\\xb5\\x9d\\x0c\\x3b\\xb4\\x20\\x17\\x74\\xb8\\x6f\\x58\\x72\\xc8\\x92\\x2e\\x26\\xf7\\xe9\\x66\\x2a\\x37\\x6a\\x51\\xa0\\x31\\x53\\x94\\x0e\\x67\\x5b\\xfa\\xc5\\x34\\x3c\\xf2\\x93\\xc8\\x56\\xa8\\xc8\\x84\\xc6\\x36\\x1b\\x9b\\x5d\\x97\\x23\\xbd\\xbb\\x32\\xed\\xaa\\x7c\\xe2\\x74\\xb4\\xf7\\xbe\\x49\\x5e\\x94\\x9f\\x6d\\x68\\x0c\\x51\\x19\\xef\\xf2\\x50\\xad\\xa3\\x6e\\xd6\\x64\\xa2\\x3c\\x1e\\xbb\\x16\\xed\\x44\\xd6\\x45\\xbb\\x84\\x7e\\xc8\\x3a\\xa9\\x0d\\x68\\xc0\\x29\\xcb\\xd4\\x2c\\x01\\x27\\xd9\\xa5\\x66\\x2f\\x96\\xe6\\x40\\x89\\x8c\\x40\\x33\\x19\\xda\\x94\\xb7\\xce\\x0f\\xfa\\x0a\\xc4\\xef\\x61\\xfb\\x34\\x51\\xe2\\xb1\\xda\\x4e\\xfa\\xdd\\xac\\x02\\xe4\\x4a\\x3a\\x9e\\xc8\\x63\\xa0\\x3c\\x51\\xa4\\x69\\x95\\x14\\xcf\\xb1\\x9a\\x7e\\x31\\x36\\x51\\x4e\\x98\\x88\\x36\\x22\\xc6\\xd2\\x8c\\xb1\\x0e\\x3d\\x3d\\xaf\\x2d\\x7a\\xc7\\xec\\x7b\\xe8\\x43\\xf3\\x4e\\xe0\\xdf\\x5d\\xb1\\x37\\xbe\\x0c\\xd7\\x04\\xa1\\xf1\\x39\\x13\\xbf\\x87\\xec\\x85\\x82\\xe7\\xc8\\x12\\xf2\\xd2\\x81\\x4a\\x45\\x2f\\xa9\\x7b\\x65\\xe4\\x55\\x1a\\xc1\\x9d\\xf7\\xce\\xa8\\xca\\xca\\x6e\\x3b\\xef\\xf4\\x50\\x34\\x71\\xe0\\xa9\\x5d\\xe8\\x17\\xef\\x3c\\x31\\xef\\xda\\x7e\\xac\\x8f\\x90\\x8c\\x4c\\x11\\xda\\x23\\x7a\\x24\\x53\\xf7\\x68\\xb6\\x56\\xa3\\xd6\\x29\\x38\\xe4\\xdc\\x03\\x93\\x42\\xa3\\x00\\x10\\x93\\xe7\\x71\\x28\\xa4\\xe5\\x38\\x5c\\x6e\\x52\\x13\\xa3\\x39\\x2d\\x10\\xd2\\x2a\\x33\\x9a\\x45\\x34\\x52\\xde\\x96\\x70\\x6e\\x07\\xa4\\x42\\x48\\x10\\x02\\x21\\x07\\x08\\x94\\xe0\\xb4\\x1e\\xe8\\xd8\\x00\\xde\\x3e\\x7e\\x79\\xfd\\x52\\x30\\xf2\\x63\\xb1\\xe1\\x1c\\x30\\x7d\\x32\\x75\\x1c\\x53\\xb9\\x7b\\xcd\\xfc\\x03\\x0e\\xb1\\x1a\\x1c\\x03\\x7f\\x89\\x2b\\x4f\\x0e\\x1d\\x22\\xe9\\xc9\\x74\\xb9\\x3a\\x46\\x03\\x80\\xa1\\x68\\x88\\x62\\x7c\\x4a\\x10\\xb4\\x4a\\xad\\xcd\\x4a\\x59\\x6a\\xa4\\xba\\x66\\x1d\\x47\\xdc\\x0d\\x21\\x15\\xf5\\x47\\xd2\\x8d\\x53\\x32\\x7b\\x1c\\x49\\xb0\\xca\\x85\\x02\\xc6\\x08\\xe9\\x99\\x44\\xff\\x02\\x3a\\x9e\\x03\\x3d\\x3f\\x16\\xb7\\x2e\\x5d\\xff\\xd1\\x31\\xb1\\xa4\\x01\\x18\\xc6\\x4f\\xf9\\x44\\xbc\\x4a\\x2f\\x04\\xc7\\xc4\\x6a\\xc7\\x13\\xf3\\xd6\\xec\\x46\\xe7\\xb8\\xcf\\x90\\xa1\\x27\\xc5\\x95\\x64\\x7f\\x55\\x20\\xdf\\x07\\xd7\\x15\\x97\\x91\\x4c\\x68\\x5e\\x5e\\xa9\\xcb\\x60\\x28\\x15\\x2c\\x16\\x45\\x56\\x56\\x41\\x29\\x6c\\x5d\\x5e\\xd2\\xb2\\x26\\x56\\xe2\\x6a\\xa1\\x70\\x41\\x63\\x4e\\x0e\\x06\\x3a\\xcf\\xb1\\x62\\xc8\\x5b\\x01\\x73\\x72\\x44\\x92\\x8d\\x36\\xb6\\x8a\\xeb\\xea\\x03\\x64\\xaf\\xe8\\xbf\\x55\\x10\\x4b\\x59\\x47\\xc2\\xd4\\x41\\x76\\xa4\\x03\\x5c\\xb6\\xad\\x9e\\x77\\xf3\\xda\\xe1\\x6f\\xde\\x39\\x38\\xe1\\xfe\\x8a\\xbc\\x60\\x56\\x3e\\xb2\\xb3\\x9e\\x41\\xb5\\xff\\xa1\\x6a\\xb8\\xfd\\xa6\\xc7\\xdb\\x6e\\x5f\\xa5\\xdb\\xc5\\x2a\\xd1\\x11\\x9e\\x8b\\xfc\\xbc\\xa5\\x68\\xaf\\xf5\\x46\\xfa\\xdd\\x8e\\xcf\\xad\\x55\\xad\\x76\\x70\\x4e\\xda\\xa1\\x37\\xe1\\xc8\\x9c\\x62\\xfb\\xa5\\x90\\xcc\\x48\\x7c\\x29\\x59\\x21\\x19\\xbb\\x1d\\x85\\x2e\\xe9\\x84\\xeb\\x46\\x8b\\x82\\xef\\x53\\x5e\\x55\\xd1\\xba\\x9d\\x6b\\xc3\\xc3\\xe3\\x5a\\x16\\x77\\xec\\xd5\\x63\\xa3\\x38\\xc8\\xbc\\xc3\\xde\\x72\\xc0\\xdd\\xcc\\xaa\\x83\\xcf\\x98\\xf6\\xba\\xc6\\xcc\\xbb\\x36\\xad\\xe1\\x29\\x72\\x86\\x9b\\x5e\\x42\\xef\\x5d\\x8c\\xde\\xeb\\xc7\\x37\\xe9\\x46\\x83\\xc1\\x07\\x28\\x10\\xe0\\x94\\x41\\x7b\\xc0\\x4f\\xd5\\xc4\\xfc\\x02\\x81\\x93\\x77\\x19\\xd1\\x56\\x34\\x0a\\xe4\\x30\\x51\\x69\\xd6\\x31\\x29\\x50\\xd2\\x8d\\x2b\\x2e\\x2a\\x8f\\x64\\x48\\x93\\x91\\xbc\\x6d\\x8f\\x51\\x7b\\xd9\\xb3\\x1b\\xb7\\xc5\\x4a\\xb0\\x5c\\x07\\x0e\\x6c\\xdc\\x2c\\x8b\\x7a\\x76\\x39\\xfc\\xf4\\xc8\\x61\\x22\\x5b\\x63\\xd7\\xe5\\x5d\\x1a\\x9e\\x92\\x04\\xce\\x26\\x32\\x2e\\x40\\x32\\x56\\xa2\\x73\\x48\\xe6\\x86\\x87\\xd0\\x61\\x75\\xaa\\x1d\\x3a\\x65\\xbf\\x98\\x8e\\xa7\\x2c\\x37\\x9e\\x1b\\x90\\x59\\xed\\x21\\x48\\x59\\x28\\xa4\\x5c\\x41\\xc3\\xa6\\xd5\\x3d\\x7a\\x74\\x2c\\x6e\\x39\\x68\\xd7\\xa3\\xf6\\x36\\xa5\\x15\\x55\\xe5\\xe2\\xa0\\x27\\x8f\\x41\\xfd\\xc2\\x3b\\x5d\\x7b\\x4d\\xfb\\x0f\\x35\\x7e\\x79\\xe7\\xa0\\x96\\xf6\\x1d\\x66\\x72\\x26\\x28\\x71\\x20\\xec\\x41\\xee\\x87\\xc3\\x28\\xba\\xc8\\x73\\xab\\x68\\x14\\x09\\xe9\\x55\\xfa\\x1c\\x97\\x39\\x97\\x0e\\x3a\\xf4\\x8c\\x96\\xd2\\x66\\xa1\\xc3\\xa0\\x65\\x78\\x7c\\xaf\\xc6\\xa3\\x23\\xc4\\x20\\x4f\\x88\\x91\\xe4\\xe1\\x5f\\x4d\\xbf\\x9a\\xb4\\x61\\x5d\\x9f\\xe1\\xed\\x82\\x42\\x7c\\x57\\x2c\\xe3\\x17\\xd9\\x92\\x89\\x1e\\x34\\x67\\x56\\x5b\\xb6\\xe4\\x5f\\xe0\\xff\\xa4\\x8f\\x75\\xe9\\x5f\\x7b\\xa6\\xfb\\xac\\xee\\xcb\\xe6\\x47\\x3b\\x83\\x2c\\x69\\x45\\xc7\\xcf\\x8c\\x4f\\xef\\x50\\xd8\\xbe\\x7b\\xef\\x8a\\xca\\xd6\\xe2\\xc0\\xc1\\xa3\\x9f\\x6f\\x37\\xa9\\xff\\xf4\\x25\\x76\\x26\\x1f\\xdc\\x21\\xad\\xef\\xaa\\xba\\xfd\\x4b\\xdb\\xb4\\x1e\\xde\\xa7\\xb8\\x03\\xe1\\x15\\x69\\xa2\\xf3\\x48\\x3f\\x7e\\x87\\x68\\x90\\x55\\xa9\\x0c\\x5a\\x8b\\x1e\\x39\\x72\\x0a\\x2b\\xab\\xaa\\x8d\\xb1\\xac\\xc1\\xa0\\xad\\x8d\\x19\\x0c\\xb4\\x46\\xa0\\x91\\x2b\\x44\\x53\\x69\\xec\\xe1\\x52\\xcf\\x00\\x88\\xa4\\x2a\\x36\\xcd\\x48\\x58\\xb2\\xaa\\xca\\x10\\xe6\\xa8\\x90\\xe6\\xd8\\x47\\xd8\\x44\\x12\\x74\\x2a\\xec\\x6c\\xfb\\x6f\\x8d\\xef\\xe1\\x06\\x34\\xc8\\x12\\x06\\x91\\x74\\x9e\\x17\\x0b\\xb6\\x15\\xb8\\xe8\\x9c\\x51\\x30\\x7a\\x0b\\x63\\x15\\x0c\\x84\\xd5\\x44\\xab\\x56\\x72\\xe4\\xed\\xf2\\x5a\\xbe\\xda\\x2c\\x5d\\x21\\x5d\\xac\\xdf\\x80\\xce\\x25\\xe3\\xcd\\xe2\\x04\\xfb\\x6f\\xcc\\x38\\xfc\\xe6\\x6b\\x67\\xc9\\x9b\\x69\\xca\\x89\\x7c\\xf0\\x5a\\xa4\\xd7\\xdc\\x68\\x0d\\x71\\x65\\xa7\\xdf\\xaf\\xa6\\x59\\x56\\x0d\\x42\\x21\\x97\\x4d\\x6d\\xcb\\xcd\\x09\\xaa\\x1c\\x4e\\xe4\\xc3\\xb2\\x80\\x77\\x3a\\x2d\\xd0\\xcd\\x59\\x3c\\xb8\\x13\\x5c\\x97\\x24\\xed\\xc8\\x2c\\xea\\xaa\\x68\\xae\\x43\\x40\\xaa\\x1a\\x3a\\x2d\\x3c\\x97\\xb0\\xa9\\x13\\x55\\xd1\\x5e\\x00\\x2a\\xc1\\xef\\x0d\\xe3\\xc7\\xa7\\x87\\x2b\\xe3\\xc6\\x81\\x75\\x28\\xc6\\x52\\xe7\\x0d\\xc5\\xac\\x86\\x24\\x75\\x16\\x4f\\x05\\x2c\\xb3\\x16\\x81\\x8b\\x8d\\xed\\x4e\\x6c\\x13\\x30\\x9f\\x1c\\x99\\xbf\\xfe\\x68\\x1c\\xad\\xd1\\x38\\x0a\\xa9\\x5e\\xd1\\x16\\x59\\x2e\\xa3\\x2a\\xd7\\xa7\\xf2\\xb5\\x12\\x74\\xb0\\x15\\x2c\\x2e\\x0a\\x66\\xd7\\xc4\\x82\\x9c\\x4b\\xc8\\x55\\x31\\x7a\\x4a\\x8f\\x62\\x5c\\x3d\\x47\\xd9\\x53\\xa4\\x9a\\xe9\\x5a\\xf0\\x3a\\xe6\\x8e\\x20\\x55\\x56\\x5a\\x9e\\x48\\x7f\\x48\\x77\\x40\\xc9\\xc6\\xf5\\x1c\\x29\\x33\\x24\\x5f\\x6e\\xe2\\x94\\x34\\x45\\xdf\\xf2\\xb9\\xf8\\x53\\xff\\x48\\x20\\x3f\\xbf\\xef\\x03\\xb1\\x7b\\x3a\\x75\\xde\\xbb\\x6a\\xe5\\xbe\\x4e\\x9d\\xef\\x1d\\xfc\\x40\\xdf\\xfc\\x7c\\x7f\\x69\\x7f\\xf1\\x67\\x0b\\xa0\\xde\\x5b\\x3e\\xbd\\x5b\\xd4\\xed\\xcb\\x5b\\x76\\xd7\\xa0\\xe1\\x53\\xa7\\x0e\\xdb\\x7e\\xfa\\xf4\\xf6\\x61\\x53\\xa7\\x0e\\x1f\\x7c\\xe7\\xb2\\x3c\\x9f\\xa7\\x7d\\xf7\\xe9\\xcb\\x2f\\x8a\\x71\\x99\\x4f\\x05\\x7e\\x45\\xfc\\xc1\\x16\\x51\\xb3\\x5a\\x81\\xb4\\x0f\\xa5\\xa0\\x04\\x2b\\xce\\x2c\\xeb\\xd2\\x32\\xcb\\x99\\xe5\\x2e\\xa4\\xc2\\x45\\xce\\x1e\\xf8\\x8d\\xa5\\x34\\xf2\\x20\\x4c\\xf0\\xab\\xef\\x3e\\xfe\\xf0\\x95\\x67\\x26\\xce\\x05\\xb0\\x43\\xf1\\xf3\\x65\\x95\\x74\\x5b\\xf1\\x3b\\xf1\\xb5\\x77\\xbf\\xa2\\x37\\xc4\\x47\\xae\\x5d\\x07\\x5e\\x58\\x06\\x6c\\x23\\xa6\\x8b\\x3f\\xe0\\x77\\x2a\\x51\\x60\\x86\\xef\\x1b\\xd4\\xd8\\x27\\x24\\xb5\\xe6\\x2a\\xb5\\x9a\\xa5\\xa1\\x56\\xc3\\x42\\xa8\\x96\\x49\\x2b\\x8d\\xcd\\xab\\x83\\x22\\x20\\x04\\x73\\x38\\x00\\x43\\x60\\xf3\\xfb\\xa0\\xfe\\x85\\xa6\\xd2\\x50\\xce\\xbf\\xcf\\x20\\x2f\\xec\\x55\\xfa\\xdf\\xc7\\xa6\\x4d\\x8f\\xb7\\x97\\xf6\\xb8\\x02\\xa9\\xea\\xb3\\xc4\\xff\\xc3\\x3c\\x39\\x6a\\x9b\\xdd\\xce\\xa8\\xa1\\xd3\\xa1\\xb1\\x0b\\x06\\x0b\\x03\\x8d\\x82\\x12\\xff\\x7a\\x49\\xb5\\xad\\x22\\x8d\\x94\\x0d\\xff\\xb8\\xd9\\x6a\\xab\\x06\\x66\\xfc\\x0e\\xdc\\xa2\\x06\\x31\\x4f\\x24\\x79\\x57\\xd1\\xc5\\xa7\\x9c\\x4e\\x73\\xe8\\xf0\\x3b\\x20\\xe7\\xc8\\x53\\x6a\\x1f\\x2c\\x7c\\xf1\\xec\\x99\\x7c\\xa8\\x0c\\x1f\\x3d\\x8c\\x82\\xce\\x5e\\x77\\x2d\\x1f\\xf6\\x28\\xfd\\x14\\x12\\xe1\\xf5\\xd0\\x46\\xdf\\xbb\\xf1\\x02\\xfa\\xfd\\x83\\xc1\\xf0\\xd3\\xf1\\x88\\x24\\x0b\\x72\\x29\\xe0\\xcf\\xec\\x17\\x98\\x74\\x0b\\xcb\\xc2\\x1b\\x8d\\x6a\\x03\\xcd\\xd8\\xac\\x06\\x4a\\x63\\x14\\x08\\x33\\x08\\x48\\x9a\\xf0\\x0c\\x7e\\x12\\xa2\\x84\\x38\\x90\\x14\\x06\\xb4\\xa7\\x61\\x47\\xb9\\xdc\\x0f\\x3c\\xf6\\xc2\\xdf\\x2c\\xdd\\x98\\xce\\x5f\\x9d\\x06\\x8f\\x44\\x27\\xaf\\x62\\xbf\\x20\\x35\\x7e\\xd7\\xde\\xa0\\x07\\xb6\\xbe\\x6c\\x7a\\x25\\xde\\x87\\xa9\\xdc\\x7f\\x60\\xa0\\xf4\\x7e\\x17\\x52\\x86\\x7a\\x34\\x17\\x2a\\x2a\\x1c\\x35\\xb1\\x0a\\x15\\x05\\x69\\x9a\\x52\\x40\\x8d\\x9a\\x61\\x69\\xa9\\x8c\\x33\\x52\\xd1\\xac\\xab\\x43\\xba\\xbb\\x31\\x82\\x06\\xf1\\xae\\xd7\\x41\\x4b\\x50\\xf6\\x9a\\x38\\x04\\x1c\\xa7\\x17\\x88\\x26\\x70\\x35\\x3e\\x4b\\xec\\x21\\xfd\\x6e\\x31\\x72\\xa9\\x26\\x93\\x3d\\xd3\\x36\\xea\\xd7\\x50\\x06\\x93\\x59\\xa7\\xe3\\x4c\\x28\\x5a\\x65\\xad\\x3c\\x8a\\xa8\\x79\\x8e\\x14\\x22\\x09\\xe9\\x19\\xc8\\x84\\x6d\\x30\\xa5\\x5e\\x96\\x2a\\x2e\\x36\\x96\\x05\\x64\\x3e\\x84\\x00\\x7c\\x36\\xbf\\xbc\\x2c\\xbb\\x53\\xe5\\x4f\\xf1\\x96\\x09\\xdc\\x01\\xfa\\xe4\\x94\\xda\\x4e\\xda\\x9d\\x3a\\x90\\x3b\\x5f\\xc6\\x1d\\xc0\\x3a\\xa5\\xb8\\xa9\\x37\\xd3\\x02\\xc9\\x60\\x45\\x56\\x33\\x16\\x2d\\xd4\\x18\\x30\\x95\\xb9\\xd5\\xeb\\x55\\x18\\x05\\x2b\\xc7\\x99\\x04\\x05\\x13\\x0c\\x08\\x26\\x33\\x52\\x67\\xd0\\x86\\xfe\\x86\\x9c\\x99\\x73\\xf2\\x56\\x5c\\x13\\xa2\\xd3\\x90\\x3c\\x03\\xe9\\xff\\x89\\xc8\\x98\\xa4\\x37\\xf2\\xe8\\x48\\xae\\x3a\\xd1\\xdc\\x92\\x0f\\x14\\xca\\x9c\\xf2\\x84\\x98\\xd9\\x28\\xd0\\x97\\xdc\\x16\\xb0\\x6f\\xf4\\xa9\\x11\\xd3\\x97\\x2c\\xdf\\x18\\x2f\\x0a\\x2e\\x2b\\x17\\x2f\\x24\\x85\\x2e\\x28\\x1c\\xd5\\xe5\\xc9\\x5e\\x5d\\x5a\\x2f\\x3b\\xb0\\x6d\\xd6\\x5d\\x33\\x66\\xde\\xde\\xbf\\xdd\\x34\\x59\\xfa\\x63\\xb5\\x77\\xb6\\x2c\\xcf\\x69\\x85\\x73\\xe9\\x18\\xbb\\x12\\x8d\\xc1\\x85\\x11\\x32\\xa0\\xdd\\xee\\x72\\xd2\\xb4\\x45\\xa1\\x77\\x29\\xa0\\xc7\\xed\\x80\\xd0\\x8e\\xe5\\xd6\\xa0\\xbd\\x82\\x62\\x4a\\x83\\x06\\xf9\\xf3\\x94\\x8b\\xdc\\x18\\xca\\x89\\xf5\\x64\\xc5\\x7b\\xa6\\x96\\x96\\xfd\\x92\\xcc\\xec\\x6a\\xda\\x75\\x33\\x08\\x4c\\x85\\x53\\xc4\\xf9\\x2f\\x7f\\x36\\xfd\\xf2\\xf2\\xcb\\xa2\\xed\\x88\\xf9\\xd1\\x25\\xf5\\xbb\\x8e\\x3d\\xd6\\x17\\xd4\\xc7\\x3b\\x30\\x95\\x47\\xc4\\x8d\\x8e\\x6b\\xaf\\x2d\\xfb\\x72\\xee\\xe9\\x93\\xba\\x45\\xf7\\xbd\\xb6\\x7b\\x4b\\xc3\\x6a\\xb0\\x00\\xcf\\xf7\\x78\\x71\\x20\\xd3\\x83\\x69\\x8b\\x66\\x3b\\x8f\\x1a\\x1b\\xad\\xca\\x55\\x5a\\xec\\x0e\\x93\\x29\\xa4\\x03\\x5e\\xd6\\xaf\\xf4\\x1b\\xdc\\x6e\\xbb\\xa0\\x64\\xf2\\x5b\\xda\\x05\\x2b\\x72\\x4d\\x41\\xc8\\xab\\x63\\x90\\xe4\\x48\\x25\\xe2\\xee\\x42\\x8d\\x43\\xe3\\x80\\x56\\x8e\\x82\\x30\\x50\\x2b\\xf5\\x36\\xcb\\x94\\x19\\x15\\x32\\x96\\x89\\xd4\\x1a\\x97\\x1c\\x43\\xda\\x26\\x01\\x39\\x69\\xf6\\x39\\x39\\x02\\xbc\\x06\\x56\\x13\\xd2\\x92\\xc8\\x4a\\x97\\x94\\xcb\\x69\\x0a\\xf8\\xcd\\x03\\xeb\\x3e\\x9a\\xdb\\x30\\xfc\\xc0\\xd6\\x13\\x1f\\x98\\x5f\\xd8\\xd4\\x17\\x2c\\x8e\\x77\\x42\\x23\\x5d\\x74\\xea\\xf3\\x0e\\xed\\x3b\\xc5\\xb7\\x3c\\x33\\xe2\\xd0\\xee\\xee\\xfd\\x66\\x88\\x03\\x97\\x2c\\xbe\\xe5\\xfe\\x5b\\xa7\\x2d\\x58\\xdf\\xf9\\x96\\xcd\\xcf\\xac\\x06\\x0b\\x57\\xa0\\x21\\xdb\\xc5\\xf8\\xd9\\xf9\\x13\\xdb\\x74\\x57\\x8c\\x59\\x51\\x59\\xd6\\xee\\x56\\xe2\\xf7\\xa2\\xb3\\x7b\\x18\\xf9\\x1d\\x36\\xdc\\x27\\xa5\\xd3\\xdb\\x28\\x14\\xc7\\x51\\x7a\\x68\\x77\\x90\\xb2\\x27\\x48\\xf1\\x3a\\x9d\\xd4\\x4a\\x47\\xfd\\x97\\x3e\\xa9\\x54\\xa5\\x56\\xa2\\x3e\\x90\\x34\\x6e\\x8d\\x2f\\x68\\xb7\\x66\\xf9\\xe2\\xb5\\x72\\x6d\\xe0\\x97\\xff\\xbe\\x70\\x96\\xf6\\x9a\\x5e\\xfb\\xf0\\x93\\x13\\x52\\x55\\xe0\\xf7\\xe2\\x8f\\xbf\\x88\\x9f\\xf1\\xe2\\x1c\\x2c\\x0b\\x0a\\x0f\\xe0\\x39\\x22\\x4b\\x65\\xd4\\xab\\xd5\\xd8\\x28\\x23\\xc3\\x50\\x1a\\xe8\\xb0\\x5b\\x00\\xae\\x50\\xa4\\x94\\x4a\\x03\\xf6\\x80\\x94\\x92\\x28\\x69\\xfb\\x22\\x53\\x12\\xdc\\x97\\x7a\\xdd\\xa5\\xb1\\x11\\x7c\\xff\\xe2\\xdb\\x3f\\x7e\\x2e\\xdf\\x16\\xaf\\x9e\\xbb\\x6c\\x6d\\xbb\\x02\\xb0\\xc0\\x08\\xfc\\xbf\\x20\\x2d\\x20\\x90\\x8b\\xe2\\x67\\xae\\xbc\\x7f\\xde\\x14\\xff\\xbb\\x74\\xf6\\x2b\\x70\\xad\\x24\\x91\\x25\\x12\\x75\\x1a\\x19\\x60\\xd5\\x58\\x19\\x24\\x89\\x8d\\x92\\x65\\xb0\\x02\\x14\\xa5\\x24\\x5a\\xed\\x9b\\xb5\\x9e\\x60\\x53\\x8d\\x69\\xa8\\xe8\\x8c\\x3d\\x89\\x7c\\x17\\x23\\xed\\x7f\\xf1\\xed\\xdf\\x12\\x57\\xd6\\x0f\\x3f\\x84\\x85\\x60\\xdf\\x14\\xc7\\x1a\\xc5\\x2b\\xbf\\x88\\x3f\\x89\\xdf\\x11\\x31\\x4e\\x7e\\x7c\\xe9\\x65\\x13\\x5d\\x81\\xf9\\xb3\\x90\\x4f\\xf8\\x3a\\xf2\\x45\\x5d\\x54\\x45\\xd4\\x65\\xc0\\x95\\x2a\\x16\\xc1\\x25\\xb8\\x3d\\x16\\x8b\\x1d\\x13\\xb4\\xd8\\xa1\\xa6\\x26\\xa6\\x54\\xe2\\x1b\\x49\\x22\\x40\\xe2\\x6e\\x28\\x03\\x6d\\xdb\\x9c\\x31\\x15\\x46\\x4b\\xaa\\x69\\x95\\x36\\x0e\\x4a\\x56\\x36\\xae\\x59\\xb2\\x6a\\xb9\\xdc\\xa7\\xfa\\xc5\\x8f\\xb4\\x37\\x59\\xcc\\xf8\\xc2\\x67\\xe2\\xd8\\x4b\\xef\\x93\\xc6\\x54\\xe0\\x03\\x66\\x0a\\x26\\xb8\\x65\\x09\\x96\\xa9\\x17\\xed\\x19\\x0f\\xe7\\x75\\xb9\\x28\\x41\\x45\\xa9\\xfc\\x3e\\xb7\\xcb\\xed\\xd2\\x32\\x5a\\x14\\x48\\x68\\x19\\xc6\\xde\\x2f\\xc6\\x34\\xbf\\xe5\\x97\\x45\\x4b\\x74\\xaa\\x64\\x30\\xc8\\x9a\\xd2\\x69\\x63\\xb3\\xcb\\x22\\x42\\x26\\x75\\xec\\x87\\xa0\\x6a\\x6f\\x06\\x67\\x6c\\x7c\\xdf\\x4b\\x99\\xb4\\xb1\\x4f\\x88\\x27\\x3e\\xcd\\xa4\\x8b\\x3d\\xf0\\xc9\\x27\\x24\\x37\\x8a\\xf3\\xb1\\xdf\\x20\\xfd\\x83\\x39\\x2c\\x03\\xd4\\xc4\\xa8\\x45\\xe1\\x84\\x4e\\x9e\\x37\\x78\\x21\\xb4\\x68\\x0c\\x9a\\x60\\xa8\\x28\\x84\\xa1\\xdc\\x5e\\x88\\xe6\\x7a\\x43\\xdd\\xb8\\x50\\x61\\xe8\\xb3\\x10\\x54\\x43\\x85\\xd3\\xee\\xb4\\xd7\\xc6\\x38\\x27\\xd0\\x42\\xa7\\xd3\\xc0\\x71\\x0e\\x1c\\x2a\\x1b\\x78\\x4c\\xd7\\x74\\xc3\\xea\\x17\\x5c\\xdc\\x94\\x3f\\xc9\\x68\\xca\\x20\\xc5\\xae\\x48\\x94\\x87\\x4b\\xf0\\x3d\\x38\\x44\\x35\\x27\\x74\\x94\\x23\\xb1\\x33\\xe8\\xd2\\x73\\xe7\\x26\\xdf\\x33\\x7f\\xfe\\x27\\x67\\xc5\\x4e\\x0d\\x3f\\x2c\\x9d\\x78\\xdf\\xaa\\x2b\\x97\\xe7\\xdd\\x73\\xe7\\x4c\\xa6\\x72\\xf9\\xc2\\x61\\x0f\\x08\\x4a\\xe3\\x82\\x71\\x0f\\xef\\x41\\xf1\\x6a\\x8f\\x01\\xc3\\x46\\xf7\\x03\\x2f\\x8a\\x2f\\x74\\xbb\\xad\\x6f\\x4f\\x29\\x96\\xee\\xde\\xf4\\x4f\\xf8\\x96\\x5c\\xc3\\xd3\\x37\\x9a\\x47\\x79\\x15\\x8a\\x40\\x40\\x6b\\xe5\\xdc\\x56\\x77\\x6e\\xce\\xff\\x63\\xed\\x3f\\x00\\xa3\\x2a\\xb6\\x07\\x60\\x7c\\xe6\\xce\\x2d\\xdb\\xef\\xdd\\xbe\\x9b\\x4d\\xb2\\x1b\\xd2\\x20\\x09\\x24\\x64\\x53\\x08\\x2d\\x8b\\x22\\x52\\x14\\x42\\x0d\\x0b\\x84\\x20\\x4d\\xaa\\x54\\xe9\\x25\\x74\\x14\\x29\\x2a\\xa0\\x08\\x28\\x2a\\x8a\\x62\\xa1\\x85\\x62\\xa1\\xa8\\x3c\\x15\\x05\\xc1\\xde\\x95\\xf7\\x04\\x0b\\xa0\\x62\\x7d\\x4f\\xc8\\xde\\xfd\\x9f\\x99\\xbb\\x9b\\x6c\\x02\\xbe\\xf7\\xfb\\xfe\\xdf\\x17\\xc8\\x6e\\xf6\\xee\\xcc\\x99\\x76\\xe6\\xb4\\x39\\x73\\x4e\\xaa\\xde\\xa4\\x07\\xe9\\x46\\xd6\\xc3\\x10\\x40\\xcd\\xcb\\xd0\\x0e\\x27\\xb4\\x8b\\xd0\\xff\\xcd\\x81\\x87\\x5d\\x70\\xd0\\xd6\\xa8\\xe8\\x5a\\xb7\\xb3\\x8e\\xb8\\x54\\x13\\x8c\\x8a\\x4a\\x63\\x14\\xcb\\x46\\x94\\x35\\x8f\\xc6\\x5d\\xcf\\xa6\\x4d\\x9c\\xb6\\xb8\\xe3\\xe1\\x3f\\xae\\xbe\\xfc\\xc9\\x5f\\x93\\x26\\xbe\\xff\\xd2\\x37\\x7f\\x72\\x79\\xef\\x9c\\x8e\\x39\\x9e\\x0d\\xa9\\x1e\\xf6\\xfa\\x06\\xf5\\x9f\\xea\\xd9\\xa7\\xef\\xff\\xa2\\x45\\xb3\\x29\\x03\\xd7\\xec\\x50\\xbf\\x41\\x71\\xff\\x11\\xfe\\x71\\x81\\xa0\\x6c\\x7a\\xe3\\xc0\\x47\\xbd\\x08\\x15\\xd1\\x95\\xe6\\xb2\\x28\\xa4\\x05\\xac\\x4a\\x45\\x38\\xd5\\x4b\\xf3\\xfc\\xfb\\x90\\xd7\\x02\\xa8\\x67\\xf7\\x7a\\x09\\x75\\x42\\xb2\\x03\\x61\\xb2\\x5f\\x8b\\x64\\x89\\xf9\\xf4\\x0b\\xe3\\xce\\x57\\x71\\x17\\xc2\\xb8\\x0f\\x49\\x71\\xa2\\x83\\x89\\xbb\\xc1\\x46\\x93\\x82\\x49\\xb3\\x06\\x7f\\x92\\x06\\x3f\\x93\\x8d\\xe3\\xf4\\x4b\\x66\\xe4\\x17\\x65\\xe4\\xde\\x50\\xca\\x45\\xe2\\x5e\\x25\\x77\\x25\\x7a\\x9b\\x74\\x9d\\xbd\\xd4\\xb4\\x51\\xb9\\xf9\\xd6\\xf7\\xd8\\x59\\x25\\xe0\\xdc\\x79\\x76\\x7e\\x5c\\x19\\x4a\\xc5\\x7a\\xbd\\x81\\x13\\x45\\xc1\\x20\\x98\\xcc\\x21\\x73\\x85\\x79\\x98\\x99\\x84\\xcc\\x35\\x66\\x0e\\x99\\xb1\\x42\\xcc\\x14\\xf3\\xec\\x76\\x77\\x57\\x0c\\x1a\\x52\\x3e\\x86\\x1f\\x03\\x31\\xca\\xa2\\x21\\x7e\\x48\\x90\\x5f\\x95\\x8b\\x73\\xa9\\x67\\xd9\\x54\\xab\\xad\\x91\\x5d\\x9e\\xa9\\x03\\xe9\\x2c\\x28\\x31\\x13\\xfa\\x6b\\x55\\x7d\\x2d\\x08\\xf8\\x25\\xf8\\xad\\xab\\xaf\\xe3\\x1f\\x55\\x3b\\xb4\\x4e\\x10\\x56\\x2b\\x49\\x0b\\x16\\xeb\\x25\\x19\\x78\\x5a\\x9f\\x50\\x6e\\x8a\\xe4\\x74\\x06\\x4c\\x20\\x47\\x10\\x0b\\x69\\x96\\x96\\x9a\\xd2\\x37\\x9c\\x8a\\xcc\\x6e\\x11\\x84\\x07\\x83\\x2c\\x42\\xd3\\xa2\\x88\\x74\\x32\\xb2\\x35\\x04\\x34\\xd7\\x02\\x24\\x37\\xb9\\x04\\x13\\xbf\\xd2\\x15\\x4b\\xee\\x1f\\x3b\\xd2\\xa5\\xaa\\x09\\xf5\\xa2\\x66\\xf9\\x30\\xe9\\x4c\\xd3\\x53\\x7b\\x5c\\xf9\\xc8\\xc1\\xfb\\xb6\\x1e\\xae\\x5d\\xb9\\xb2\\xd7\\xfa\\x25\\x03\\x86\\x1c\\xbc\\xb5\\x53\\xef\\xdf\\x6b\\xd5\\xca\\x55\\xf3\\x17\\x2c\\x22\\x5f\\xd4\\x65\\xac\\xca\\x1c\\xbe\\x25\\xbc\\x66\\xfc\\x78\\x4f\\xfb\\xb2\\x36\\x9d\\xc4\\x76\\xda\\x1d\\x2f\\x0c\\xfd\\xbe\\x83\\xcc\\x61\\xf3\\xd7\\x31\\x94\\x6a\\xc0\\x46\\x8e\\xce\\x1f\\x88\\xcf\\xc8\\x28\\x18\\xcd\\x26\\x89\\xe3\\xa0\\xab\\x7a\\x3a\\x4f\\x20\\x47\\x97\\xbf\\x5e\\x1e\\x13\\xb8\\x9a\\x64\\xa4\\x67\\x3e\\x94\\xb8\\x94\\x4d\\x13\\x4e\\xd7\\xe3\\x0f\\xf0\\x1d\\x4b\\x61\\x9a\\x32\\xdf\\xc7\\x07\\xd5\\x42\\x98\\x2a\\xdb\\x44\\xbc\\xe8\\x4a\\x11\\x79\\x24\\xf2\\x1b\\x7e\\x97\\x1b\\x8b\\x62\\xeb\\xc6\\x45\\xa0\\x5d\\x81\\x9e\\x31\\xf3\\xd0\\x0f\\x49\\xe4\\x64\\xcc\\x03\\xad\\x77\\x36\\xf1\\x23\\x68\\x41\\x87\\x9c\\xc6\\x45\\x22\\x77\\xed\\xc1\\xaf\\xc3\\xe6\\x1c\\x5c\\xef\\x0b\\xf6\\x19\\xcb\\xf9\\xdb\\x9c\\xfa\\x79\\xa7\\x18\\xdc\\x6e\\x57\\x3a\\x71\\x91\\x16\\x4a\\x8e\\xdb\\xc7\\x4e\\x93\\xb1\\xce\\x2b\\x20\\x21\\x50\\x41\\x6d\\x85\\x59\\x8d\\x15\\xa7\\xf8\\xf1\\x60\\x13\\x2f\\x69\\xa1\\xde\\x37\\xba\\x51\\xd2\\x5f\\x2d\\xfe\\x86\\x3d\\xf1\\xaa\\xc3\\xb9\\xf8\\x85\\xae\\x78\\xd2\\xdf\\x5a\\x7a\\xcd\\xeb\\xbd\\xf8\\x95\\x2e\\x47\\xfc\\x3e\\x17\\x0e\\xc4\\x52\\xfe\\xfe\\xb5\\x0f\\x1f\\xdc\\x3e\\x7e\\x30\\xd7\\x31\\x7e\\xa3\\x2b\\x9e\\xb7\\x6e\\x37\\x3b\\x17\\xa7\\xd1\\x77\\x90\\xc5\\x93\\x9c\\x8c\\x53\\x92\\x24\\x87\\x23\\xc5\\x42\\x02\\x69\\xc8\\x4f\\x43\\x99\\x81\\x14\\xd7\\x3b\\xcc\\x03\\xd6\\xc8\\xbc\\x9f\\x2f\\xe7\\x61\\x2d\\x3c\\xbc\\x87\\xb7\\xa6\\x38\\xcd\\xb1\\x5c\\xb5\\xa8\\xde\\x2d\\x9f\\xc9\\x3f\\x94\\xc2\\x34\\x49\\xdb\\xd9\\xe0\\x97\\x6f\\xff\\x1b\\xf1\\x81\\x5d\\x5b\\x86\\x9d\\x9a\\x8f\\x3b\\x5c\\x23\\x46\\xe0\\x1e\\xea\\xfe\\x5a\\xf5\\x35\\xd8\\x7a\\x86\\x6b\\xe5\\x89\\x3b\\xe6\\x6e\\xda\\xa4\\xe1\\x51\\x2f\\x18\\xcb\\x19\\x36\\x96\\x11\\xa1\\x12\\x8f\\x60\\x4c\\xe5\\x38\\x89\\xf8\\x6d\\x56\\xea\\xd6\\x19\\x48\\xc3\\x82\\x28\\xf4\\x0e\\xa7\\x8a\\x3e\\x1d\\x0c\\xc4\\xe7\\xf7\\x95\\xfb\\x28\\xe1\\xf7\\x89\\x3e\\x62\\x61\\x49\\xa3\\x6c\\x16\\xcd\\xb5\\xa1\\x71\\x06\\x83\\xeb\\x7a\\x38\\x68\\x9e\\x48\\xac\\xbb\\xf0\\xef\\xfa\\x32\\x48\\x1a\\x39\\xa3\\xbe\\x56\\xab\\xee\\xc7\\x3d\\xae\\x11\\x03\\x70\\x87\\x4d\\x9b\\x36\\xcd\\xbd\\x83\\x09\\x24\\x0a\\x76\\xc5\\x24\\x01\\x10\\x48\\xd4\\x3f\\xe3\\xe7\\x7b\\x52\\x0d\\x8c\\x83\\xc6\\x04\\x6a\\x0e\\x63\\x29\\x4e\\x32\\xb8\\xb3\\xb2\\xec\\xf6\\x00\\xb1\\x65\\xbb\\x3c\\x2e\\x9b\\x81\\x6f\\x91\\xe3\\xca\\x76\\x66\\x57\\x84\\x9d\\xa0\\xa2\\x80\\x52\\x2b\\x99\\xd2\\xe9\\x2d\\x09\\x29\\x05\\x64\\x04\\x17\\x0d\\x90\\x00\\xa8\\xd6\\xe0\\xac\\x92\\x78\\xa3\\xe6\\x9a\\xdc\\x49\\x31\\x41\\xea\\x1a\\xc7\\x7c\\xcd\\x99\\x21\\xad\\x91\\x5b\\xbe\\x1e\\x74\\x99\\x1b\\x9b\\xf8\\xe5\\xd7\\x92\\xa9\\x91\\x01\\xdc\\xe9\\xbf\\xee\\x8f\\xfb\\xe5\\x73\\x1f\\x71\\x3b\\x22\\xe1\\xc6\\xae\\xf9\\xf8\\x15\\xf5\\x0e\\xd0\\x12\\x56\\x71\\xa9\\x31\\xdf\\xfc\\xc8\\x2a\\x92\\x11\\xf7\\xa7\\x1c\\x20\\xe9\\x60\\xac\\xad\\x51\\x07\\x74\\x77\\xa8\\x9b\\xbd\\x79\\xf3\\x36\\xe9\\xe9\\xae\\x16\\xd6\\x36\\x96\\x94\\xe4\\x64\\x4b\\x8e\\x2c\\xb7\\xb2\\x14\\x8a\\xa2\\xc5\\xea\\xe2\\xcb\\x3b\\xa6\\x24\\xb5\\xb2\\x67\\x33\\x6f\\x99\\x56\\x4e\\x5b\\x8e\\x92\\x43\\xd5\\x32\\x0b\\x62\\xf7\\x9d\\xda\\xd1\\x33\\x4e\\x96\\x63\\x9b\\x90\\xe2\\x7a\\x1d\\x3f\\x76\\x0d\\x34\\x71\\xf0\\x31\\x03\\x54\\xc3\\x81\\x41\\x23\\xc3\\x4b\\xcc\\xc5\\xe6\\x3a\\x41\\x80\\x62\\xd2\\x39\\x3c\\xae\\xf7\\xf7\\x8f\\x3b\\x76\\xfc\\xcf\\x2b\\x53\\xdc\\x55\\x75\\xd9\\x91\\x7f\\xce\\xfd\\x62\\x95\\xba\\x6e\\xe0\\xf6\\xf4\\x7b\\x26\\x2d\\x7f\\xee\\xd0\\x63\\x7d\\xf0\\xb2\\xc8\\xe1\\xbf\\xbf\\x4b\\x45\\x67\\x6c\\xaf\\xfa\\x80\\x37\\x8a\\x5e\\x59\\xf6\\xed\\x52\\xac\\x64\\x0f\\xae\\x38\\xb5\\x85\\x29\\x2e\\x91\\xc2\\x26\\x97\\xac\\x78\\xc0\\x97\\x9e\\xd2\\x57\\x30\\x87\\x34\\x76\\x59\\x31\\x2a\\x47\\x4b\\x42\\x37\\x67\\x8b\\xf6\\x60\\x50\\x96\\x5b\\x22\\x4b\\x6a\\x59\\x59\\x33\\x47\\xb1\\xad\\x43\\x52\\x92\\xcd\\x61\\x11\\x85\\x50\\x27\\x7b\\x51\\x7a\\x51\\x45\\x38\\x90\\xee\\x4c\\x6d\\x0b\\xac\\xd6\\xe9\\x2e\\xa9\\x08\\xbb\\xad\\xc5\\xf4\\xe0\\x35\\x36\\x97\\x05\\xec\\xbc\\x38\\xe7\\x3a\\x77\\xc7\\xea\\x9d\\x69\\xe3\\x09\\x82\\x9b\\x46\\x4e\\x69\\xc0\\xa8\\xeb\\x4d\\x60\\xb0\\x89\\xe6\\xd9\\x64\\xd6\\x32\\xad\\xec\\xb4\\x59\\xfb\\xdc\\x64\\x0a\\xc9\\xb4\\x48\\xbf\\xe7\\x1a\\xa9\\xa5\\x79\\x89\\x53\\x07\\x48\\xf7\\xd4\\xad\\x31\\xed\\xb4\\xe9\\x34\\x02\\xe2\\x35\\xe8\\xab\\x89\\x33\\xb7\\xab\\xee\\x4b\\x92\\x1e\\xb9\\x3f\\xa6\\xba\\xd2\\xf8\\x06\\x08\\x09\\x23\\x85\\x3c\\xd4\\x0c\\x66\\xb1\\x3a\\x54\\xe8\\xb0\\xdb\\xb3\\x50\\x52\\x2b\\x73\\x61\\xa1\\x41\\x27\\x8a\\xad\\x10\\x29\\x2d\\x49\\xca\\x52\\x78\\x76\\x85\\x4a\\x51\\xcc\\xad\\x7b\\x87\\xcd\\xb2\\x51\\xaf\\x07\\x4e\\xae\\x57\\x78\\x98\\x40\\xbe\\xe1\\x8c\\x9a\\xda\\x68\\x51\\x62\\xec\\x91\\x86\\x54\\xd2\\x09\\xe1\\x47\\xd2\\xea\\x0d\\x8f\\x69\\xd7\\x1e\\x12\\x08\\x09\\x47\\x08\\xa5\\xcc\\x2c\\x29\\x8c\\xfc\\xea\\xd3\\xc8\\xbb\\xcc\\x2c\\x89\\x77\\x75\\x1f\\xd2\\xf4\\x94\\x40\\xed\\xb6\\x76\\xb6\\x76\\x82\\xd0\\xfc\\x6c\\xb0\\x1c\\xe7\\xde\\xff\\xe0\\x1f\\xdc\\xab\\x4b\\x7e\\xfd\\xd5\\xda\\xe4\\x88\\xe0\\xcb\\x2e\\x3d\\xe2\\xc7\\x07\\xe1\\x1b\\x22\\xa3\\x7a\\xde\\xa0\\xc5\\x76\\x00\\xd9\\xe1\\x32\\xe0\\x50\\x26\\x6a\\x89\\x46\\x86\\x4a\\x9b\\xbb\\x0d\\x86\\x74\\x67\\x6e\\xae\\x4d\\xb1\\xc8\\xe9\\x18\\x59\\xb0\\x41\\xb4\\x90\\x74\\xd2\\x2a\\x25\\x3f\\xc9\\x0f\\x9b\\x0c\\xe5\\x68\\x39\\xb4\\x1d\\x21\\xab\\x6c\\x02\\x6a\\x63\\x72\\x31\\xd3\\x4f\\x82\\x61\\x24\\xe9\\x64\\xe2\\xb5\\x70\\x77\\x19\\x8d\\x57\\x90\\x30\\x05\\x54\\x96\\xa8\\x37\\xdd\\x27\\x5a\\x60\\x8b\\x1b\\x1f\\x39\\x10\\xa0\\xa4\\x74\\xf0\\x78\\x6f\\xcc\\xa0\\x3f\\x30\\xcc\\x26\\xe0\\xc3\\xfa\\x33\\x88\\x45\\x59\\x1d\\x3e\\x0c\\xc6\\x0f\\x22\\x72\\x5d\\x5a\\xaa\\xed\\x82\\x84\\xf3\\x08\\xae\\xc4\\x4c\\x52\\x22\\x23\\x7a\\x96\\xb3\\x71\\xfa\\x41\\xa7\\x59\\x08\\x6b\\x5c\\x80\\xda\\xa3\\x79\\xa1\\x9b\\x68\\xb2\\x78\\xbd\\x94\\xa5\\x78\\x03\\x7e\\x7f\\x71\\xcb\\x96\\xed\\x9a\\x73\\x6e\\xaf\\x24\\x75\\xe8\\x98\\x0c\\x04\\x35\\x10\\x48\\x56\\x9a\\xbb\\xdb\\x71\\x3c\\x9f\\x9b\\xdb\\xa6\\x22\\x9c\\x9b\\x8b\\x0c\\x56\\xbd\\x41\\xdf\\x3b\\x6c\\x31\\x19\\x14\\x1e\\x58\\x06\\xe8\\x3c\\xad\\x13\\x98\\x7a\\x82\\x79\\xb9\\xde\\x38\\x1f\\x33\\x69\\x34\\xbe\\x1b\\xa0\\x99\\x8a\\x9a\\x65\\x6b\\x37\\xb5\\x9b\\x98\\x9e\\xaf\\xb9\\xaf\\x46\\xb3\\xd3\\x37\\xbd\\xb0\\x46\\x2e\\xee\\x99\\xb9\\xe0\\xd1\\x39\\x6b\\x34\\x13\\x75\\xfb\\xee\\x3d\\xba\\x0c\\x48\\xb8\\xb9\\x96\\x35\\xe9\\xe5\\x01\\xd8\\x38\\x64\\xcf\\x4a\\x76\\x75\\xed\\xe6\\xf5\\x03\\x6f\\x70\\x8c\\x1c\\xb9\\x62\\x1e\\xf7\\x26\\x4b\\x42\\x3e\\xbe\\xb2\\x73\\xf1\\xea\\x0f\\x13\\xef\\xb0\\x4d\\x9d\\x74\\xdb\\xf7\\x03\\x96\\xf5\\xd2\\x2e\\xb1\\x55\\x8e\\xea\\x42\\x79\\x69\\x8a\\x5a\\x29\\xdc\\x27\\xbc\\x05\\x14\\x65\\x64\\xa8\\x4d\\x61\\x20\\x90\\x99\\x9e\\x86\\x7c\\xbe\\x64\\x9b\\x5e\\x6f\\x49\\xce\\x4d\\x13\\x82\\x45\\x85\\x20\\x1a\\x14\\xca\\x2d\\x5a\\x55\\x84\\x5b\\xa0\\x8c\\xf4\\xde\\xa0\\x6b\\xc0\\x0e\\x17\\x7c\\x4e\\xa3\\x42\\xdd\\xa9\\x05\\x37\\x93\\x79\\x12\\xfd\\x53\\x13\\x9d\\x1f\\x12\\xe3\\x4b\\x69\\xdb\\xe1\\x5a\\xa7\\xa7\\x04\\x67\\xd5\\xec\\x74\\xed\\x6e\\x78\\xa3\\xa4\\xe3\\xdc\\x59\\x1d\\x69\\xbf\\x65\\xd6\\xde\\x27\\x34\\xf7\\xa7\\x3b\\x73\\x86\\x84\\x6b\\xd6\\xd4\\xe2\\xf7\\x12\\x7c\\xf8\\xf9\\xb6\\xcf\\x4f\\x18\\xb0\\xe7\\x64\\xdc\\xf1\\x89\\xa4\\x8d\\x9f\\x51\\xf4\\xfc\\x63\\xd4\\x87\\x67\\x64\\x5d\\x37\\x72\\x70\\xc9\\x9c\\x98\\x73\\xff\\x6d\\x9a\\xfc\\x70\\x37\\xe8\\x25\\x57\\x60\\x0f\\xb4\\x42\\x3d\\x43\\x2d\\x5a\\x12\\x82\\x52\\xad\\x1e\\xb7\\x3e\\x3b\\xdb\\x6d\\x45\\x7c\\x7e\\x41\\xaa\\xde\\x91\\x93\\x23\\x56\\x84\\x73\\x5c\\x2d\\x91\\xc3\\x41\\x63\\x0d\\x39\\x94\\xb8\\x7b\\x60\\x2c\\xf2\\x5e\\xd3\\x2b\\xa0\\x71\\x62\\x48\\xdf\\x5c\\xfc\\xff\\x3a\\x14\\xa4\\xe1\\x5e\\xb3\\x9d\\x77\\xd7\\xf6\\x44\\xd1\\xb5\\xeb\\xb7\\xfe\\xdd\\x61\\xa0\\x7a\\xe5\\xb3\\xbb\\xa3\\x7d\\x85\\x93\\x57\\xfb\\xf4\\x1e\\x58\\xd9\\xfb\\xef\\x0f\\x02\\xef\\x7b\\xee\\xe6\\xf6\\x93\\x34\\x1e\\x4b\\x73\\xea\\x7c\\x03\\xe3\\xd2\\x01\\x7d\\x6f\\x1f\\xf2\\x1b\\x05\\x91\\x18\\x0c\\x40\\xeb\\x74\\xc4\\x6c\\x12\\xf4\\xec\\x7e\\x8b\\x8c\\x91\\x68\\x40\\x86\\x44\\xb9\\xa1\\x89\\xac\\x90\\xe0\\xe2\\x08\\xff\\xad\\xf8\\xee\\x5a\\x52\\x13\\xb9\\x81\\xfb\\xa6\\x6e\\x30\\xb7\\x9f\\xfa\\x2f\\x52\\xfe\\x4e\\x76\\xd5\\x7d\\x45\\x9a\\xb1\\x36\\xbd\\x08\\x93\\x13\\xcc\\x7f\\xd3\\x8b\\xba\\x84\\xb2\\x4d\\x5e\\x99\\x13\\x6c\\x62\\x92\\x4f\\x76\\x3b\\x88\\xc5\\xe3\\xb1\\x4b\\x06\\x8e\\xe8\\x31\\x26\\x2e\\xbb\\x5d\\x54\\x9c\\x16\\xa7\\x09\\xe9\\xa9\\x9d\\xbb\\x9c\\xfe\\xd0\\xc3\\xdf\\x77\\x62\\x59\\x39\\xea\\xbd\\xda\\xa9\\x57\\xa9\\x11\\xa7\\x93\\xa0\\x0f\\xd3\\xff\\xa4\\xd1\\x07\\x61\\xd9\\xda\\xf5\\xcb\\x8e\\xce\\x5b\\xbe\\x69\\xee\\xe6\\x65\\x73\\x8e\\x27\\x7e\\x20\\x7a\\x2e\\x3d\\xf2\\x25\\xf7\\x5a\\xe4\\x4d\\xae\\x0d\\xfd\\xbd\\x52\\xdc\\xf8\\x33\\xed\\xeb\\x08\\x10\\xba\\x3e\\x84\\xbe\\x52\\x3b\\x7a\\xe7\\x50\\x33\\xde\\x64\\x12\\xcc\\xa0\\xc6\\x21\\x9d\\x59\\xa7\\x58\\x2d\\xc6\\xbe\\x61\\x2c\\x58\\xe0\\x9f\\xa8\\x37\\x3b\\x45\\xd2\\x97\\xc6\\xeb\\x88\\x5b\\xb8\\x63\\x4e\\xb0\\xd7\\xc4\\x96\\xd2\\x34\\xb5\\xfa\\x5f\\xf2\\xe1\\xf3\\x91\\x8b\\xbb\\xc8\\x54\\xed\\x95\\x9c\\xc7\\xe5\\xea\\x2b\\xf8\\xbb\\x2b\\x45\\xda\\x3b\\xc3\\xbd\\x6c\\x75\\x00\\x5f\\xc7\\xdf\\x02\\x7a\\x5b\\xbb\\x50\\x6a\\x72\\x20\\xe0\\x77\\x4a\\xb2\\xe4\\x07\\xad\\x0d\\xf1\\x29\\xb2\\x15\\x14\\x7b\\xab\\x12\\xe0\\x79\\x6f\\x45\\xdc\\xd0\\x12\\xe3\\x30\\xb6\\xc6\\xc6\\xee\\xcc\\xb8\\x13\\x24\\xdb\\x3b\\xb1\\x4c\\xe4\\x89\\x9e\\xf2\\xfc\\xcd\\xa4\\xf8\\xd1\\xb9\\xbb\\x77\\xa4\\xf7\\xea\\x12\\x6e\\x9b\\x53\\xb1\\x64\\xc7\\x6e\\xcd\\xdf\\x7b\\xff\\xba\\x8a\\xfe\\xbb\\xde\\xc1\\xca\\xf2\\x29\\xed\\xb2\\x1e\\x69\\x71\\xe6\\x23\\xf5\\xbc\\xe6\\x36\\xbf\\xf0\\x4a\\x32\\x8a\\xf5\\xaf\\x52\\x1c\\x04\\xfd\\x6b\\x81\\x3a\\x85\\xd2\\x33\\x72\\x9d\\x92\\x3f\\xb9\\x45\\x0b\\x49\\x26\\x39\\xb9\\x59\\x69\\x15\\xe1\\x2c\\x5f\\x43\\x37\\x13\\x3a\\xd9\\xd4\\x35\\xfd\\xff\\xd8\\x4b\\x47\\xfc\\xc2\\x5f\\x71\\x93\\xee\\xce\\xdd\\xfb\\x9c\\xd6\\xdd\\x23\\xed\\xba\\xa6\\xdc\\x56\\xb1\\xf3\\x50\\xa3\\x5e\\x1f\\xff\\x4a\\xfd\\x67\\xac\\xd7\\x57\\xf7\\xfe\\xe6\\x78\\xc4\\xfd\\xce\\xb1\\x58\\xec\\x58\\x7c\\x81\\x7b\\x4e\\x44\\x8a\\x44\\xf2\\xf0\\xdd\\x48\\x1b\\x8f\\xf6\\xcc\\x80\\x52\\x51\\x28\\x94\\xae\\x93\\x92\\x15\\xc5\\x6a\\x75\\x4b\\x24\\xe0\\x77\\x78\\xcf\\x87\\x1d\\x28\\x35\\x95\\xe8\\xac\\xdf\\x13\\xd3\\xb9\\x30\\x22\\x01\\xc2\\x91\\x4b\\xa8\\xbc\\x2a\\x7e\\xaa\\x11\\x6c\\x62\\x85\\xb4\\x37\\xb8\\x3f\\xd6\\xbb\\x73\\x06\\x1b\\xee\\x02\\x7c\\xd2\\x62\\x52\\xbf\\x19\\xd3\\xe6\\x76\\xe9\\x33\\x70\\xf4\\xdc\\x57\\x5a\\x17\\x34\\xcb\\x1f\\x20\\xf2\\xc3\\x6f\\xed\\x3c\\xf7\\x3e\\x95\\xc7\\xe7\\xa6\\xf4\\x99\\x3f\\x46\\xed\\x48\\x7a\\xbd\\x6b\\xbc\\xd3\\x32\\xb2\\xf3\\x64\\x9a\\x7b\\x82\\x8b\\xfe\\x80\\x8e\\xa2\\x7f\\x89\\x54\\x13\\xa0\\x5e\\x85\\x2e\\x64\\xb1\\x10\\x9e\\xb7\\xe9\\xad\\xf2\\x45\\xc9\\x78\\x2e\\x2c\\x61\\x74\\x3e\\x8c\\x2f\\xa0\\x7a\\x69\\x2c\\x1e\\x77\\x25\\x16\\xe4\\xd3\\x99\\x18\\x71\\x25\\x38\\x66\\x4e\\x45\\xdf\\xb2\\x94\\x9c\\x82\\xcc\\x39\\xc2\\x8a\\xd9\\xb3\\xeb\\x84\\xf1\\xc3\\xc5\\xe1\\x7c\\x51\\x57\\xd2\\x85\\xe6\\x7d\\xc3\\x17\\xf0\\x6b\\xfc\\x6f\\xc8\\x86\\x5a\\x86\\x5c\\x82\\xcd\\x06\\xd4\\xcc\\x68\\x77\\x08\\x7a\\xa4\\xb7\\x9c\\x0f\\xeb\\x2f\\x91\\x8b\\xe8\\x7b\\xd4\\x24\\x98\\x7a\\x83\\x63\\x8f\\xbb\\x91\\x7b\\xcd\\x78\\x7e\\xba\\x40\\x52\\xbb\\x77\\x71\\x25\\x27\\x67\\xf6\\xec\\x05\\x73\\xdb\\x7d\\x4a\\x68\\xf3\\xf0\\x9b\\xa5\\xe9\\xd2\\xdd\\xf3\\xd5\\xa9\\xd0\\x56\\x73\\xfc\\x05\\x5e\\xca\\x9f\\x87\\xb6\\x60\\x44\\x82\\xd5\\x8a\\xb1\\xd1\\x61\\x17\\x44\\x91\\xb7\\x5d\\x64\\xad\\xfd\\xc0\\x7f\\xdf\\xe0\\x35\\x15\\x6c\\xea\\x37\\xa5\\x9d\\x7f\\xc6\\x1d\\x97\\x70\\x0d\\x6d\\x2d\\xf9\\x16\\xd6\\x5a\\xaf\\x9e\\xfc\\xf9\\xc8\\x01\\x68\\x6d\\x58\\x37\\xd6\\x1a\\xd6\\x7c\\x3c\\x5c\\xe8\\x08\\x8e\\x40\\x7b\\x1e\\x54\\x12\\x4a\\x32\\xba\\xdd\\x18\\xdb\\xbc\\x12\\xf5\\x99\\xba\\xa8\\xe7\\xa1\\x39\\x39\\x24\\x3b\\xce\\x87\\xe5\\x1f\\x90\\x16\\x07\\xf0\\xe4\\x7f\\x75\\x9b\\xea\\xd0\\xc8\\x6d\\x0a\\xdf\\x91\\x95\\x95\\x9d\\x1c\\xcc\\x7a\\xce\\xdb\\xb3\\xab\\x2b\\x39\\x35\\xe3\\xd6\\x5e\\xfc\\xf9\\xba\\xdd\\x65\\xf9\\x86\\x29\\xba\\x77\\xff\\x55\\x71\\x53\\x7d\\x27\\x38\\x34\\x12\\xe6\\xe1\\x0b\\xe8\\x83\\x99\\xc5\\xfb\\x68\\xc6\\x63\\x82\\x80\\x73\\x18\\x39\\x42\\x14\\xc9\\x28\\x39\\x5d\\xc8\\x7e\\x2e\\xe6\\xfc\\x72\\xd1\\xe8\\x38\\x17\\x36\\x7e\\x7f\\x1d\\xe7\\x97\\xc6\\xf6\\x8d\\xa0\\x3d\\x48\\xea\\xbd\\x5f\\xec\\x85\\xc5\\x45\\xb9\\xd8\\xfa\\xd5\\xca\\x7f\\xad\\xff\\xa5\\x6a\\xf4\\xfd\\xf3\\xd5\\xd7\\xe7\\x1c\\x7a\\x60\\xfd\\x4b\\x64\\x37\\x2e\\x56\\x8f\\xdb\\x66\\x0d\\x19\\x3d\\x8d\\xbb\\x1a\\x19\\xb5\\x68\\x99\\x7a\\x05\\xe1\\xe8\\xaf\\xf8\\x22\\x39\\x0f\\x7d\\x71\\xd1\\xf9\\x77\\xba\\x5c\\xbc\\xdb\\x63\\xd0\\xeb\\xdd\\x36\\x33\\x4f\\x74\\x4e\\x59\\x7f\\x11\\xe9\\xbe\\x67\\x36\\x28\\x66\\x5c\\x89\\xdd\\x35\\x88\\xd1\\x32\\x42\\xfd\\x0e\\x41\\xf8\\xa3\\xe7\\x89\\xa5\\xd0\\x05\\x76\\xa8\\x48\\x6c\\x6b\\xee\\x34\\x7a\\x0d\\xf2\\xb2\\xd5\\xef\\xcc\\x9e\\xe7\\xd2\\x59\\x1e\\x58\\xb2\\xc8\\x6f\\xb6\\x2d\\x9a\\x85\\x2f\\xe2\\x4b\\xd9\\x0b\\x0a\\xba\\x45\\xbe\\xe7\\xae\\x44\\xae\\xf4\\x29\\x6b\\xcf\\xf5\\x8f\\xfc\\xb1\\xbc\\xe3\\xad\\x9c\\xa8\\xf9\\x85\\xfc\\x81\\x8e\\x70\\x4f\\x41\\x3f\\xac\\xa8\\x75\\xc8\\x6d\\x06\\xcc\\x36\\xda\\xec\\x7a\\x9d\\xce\\x66\\xbe\\x68\\x94\\x10\\x74\\x83\\x87\\x1d\\x17\\xcf\\xec\\x5e\\x56\\x1e\\xef\\x89\\xd6\\x95\\x52\\x0d\\xab\\x4b\\x31\\xf4\\x01\\x3a\\x02\\xab\\x32\\xbd\\x75\\x7a\\x59\\x9b\\xaa\\x5c\\xf5\\x8b\\x25\\x9b\\x6f\\xcc\\x7f\\x74\\xb1\\x7a\\xbe\\xd3\\xc2\\x23\\xba\\x6a\\x7e\\xe0\\x74\\xee\\x3f\\xea\\xa0\\xb7\\x57\\xe1\\x6f\\x23\\xc2\\xb3\\x35\\x8c\\x06\\x8c\\x21\\xaf\\xe3\\x00\\xcb\\xf1\\x6b\\xd0\\xe2\\x6b\\x93\\xd7\\xb9\\x1a\\xf6\\x59\\x60\\xf8\\xb2\\x90\\x27\\xb8\\x2b\\xf0\\x00\\x3d\\x0a\\x84\\xcc\\x92\\x00\\x4f\\xf5\\x7a\\x83\\x51\\x82\\xbf\\x50\\xfe\\x49\\xed\\x0a\\x52\\x3c\\xaa\\x91\\xbd\\x58\\x8b\\xb7\\x13\\x74\\x2e\\xcc\\xcc\\x9d\\x4d\\xc3\\x35\\xdd\\x77\\xdb\\xfd\\x37\\xde\\x35\\xff\\x35\\x0a\\x67\\x06\\xc0\\x29\\x8f\\xc3\\xe1\\x05\\xa4\\x13\\x74\\x14\\x0c\\xaa\\x11\\x50\\x7e\\xd2\\xc9\\x84\\xbb\\x4c\\xcc\\xdb\\x93\\x85\\x85\\x48\\x2f\\xc6\\xe5\\x0c\\x90\\x70\\x32\\x0e\\x08\\x64\\x11\\x80\\xd3\\x97\\xc1\\x49\\x0d\\x99\\x38\\x9d\\x8e\\x87\\x0d\\x63\\xe0\\x38\\xe8\\x57\\x42\\x77\\x98\\xc5\\xd9\\x99\\xce\\x14\\xd0\\x0e\\x18\\xdf\\x1a\\xae\\x9e\\x9d\\x97\\x21\\x9c\\x7c\\x6d\\xfe\\x5d\\x5d\\xee\\x1f\\x7a\\x1f\\x1b\\xd7\\x9f\\x3c\\x28\\x0b\\xc2\\x6f\\x80\\x83\\xd0\\x1f\\xd1\\x4c\\x0c\\x66\\x83\\x45\\x16\\x91\\x54\\x63\\x86\\xfe\\xbc\\x53\\x96\\xe8\\xa1\\x68\\xd7\\x14\\xb1\\x62\\x2d\\x49\\xf7\\x9f\\x39\\xa5\\xa5\\x39\\xfd\\x46\\x8d\\xea\\xc7\\x9f\\x6a\\xd3\\xba\\x75\\x69\\xff\\xd1\\x95\\x95\\xb7\\x03\\xbc\\x2b\\x00\\x6f\\x5f\\x1c\\x9e\\x81\\x48\\x40\\xa4\\x68\\x7c\\x4a\\x11\\x66\\xb9\\x29\\x3c\\xcd\\x5a\\x18\\x74\\x6a\\x26\\x11\\xbc\\xaf\\xff\\xc8\\x91\\xfd\\x29\\x50\\x7e\\xd6\\x98\\x01\\x95\\xa3\\xfb\\x97\\xb6\\x6e\\xdd\\x46\\xa3\\xc5\\x45\\xb0\\x4f\\xd6\\xc2\\x58\\x5d\\x34\\x42\\x88\\x98\\x10\\x4b\\xd0\\x68\\x94\\x89\\xf3\\x1c\\x3d\\x9a\\x92\\x65\\xfd\\xb9\\xb0\\xfc\\x2d\\x23\\x48\\x09\\x47\\x84\\xf5\\x17\\x31\\xea\\x8f\\x62\\xae\\xb9\\x4c\\x2c\\x4a\\x20\\x96\\xa6\\xe6\\x8c\\x0d\\x57\\x8e\\xb9\\xcb\\xb9\\xc0\\xb1\\x61\\xf2\\xc3\\xdb\\xef\\x59\\x0a\\x84\\x6f\\xb8\\xf9\\xfe\\x15\\x6b\\x96\\x2d\\x33\\x8c\\x99\\x76\\xec\\xc0\\x13\\xc7\\x8d\\xff\\xa1\\x31\\x0d\\xa1\\x1f\\x6b\\x58\\x3f\\x40\\x4a\\x52\\x80\\x87\\x19\\x41\\x4c\\xe2\\x89\\xdb\\x63\\xc7\\xe7\\xc2\\x76\\x3b\\x92\\x8c\\xb0\\x92\\x66\\xa0\\xc0\\xf1\\x7e\\x5c\\xff\\x7c\\x0c\\x17\\xc7\\x93\\x87\\xd5\\x5f\\xe4\\x66\\x87\\x52\\x37\\x2e\\xbd\\x67\\xfb\\xc3\\x53\\xd6\\x3b\\x16\\x38\\xef\\x1a\\x53\\x19\\x1e\\x9b\\x93\\x8a\\x2f\\xfc\\xc7\\x78\\xfc\\x89\\xfd\\xaf\\x4c\\x1b\\x63\\x58\\xb6\\x6c\\xcd\\x8a\\xfb\\xcd\\xea\\xc3\\x0c\\x37\\x47\\xa1\\x87\\xf8\\xae\\xfc\\x4e\\xc0\\x4d\\x7f\\x93\\xcf\\x69\\x6c\\xbe\\x46\\xa1\\x1f\\xf9\\x2e\\xfc\\x21\\x90\\x97\\x92\\x42\\x46\\xc4\\xf1\\x44\\xd2\\x71\\x58\\xe4\\x31\\xcd\\x64\\x62\\x8b\\x4b\\x4b\\x99\\xe9\\x7a\\x9c\\x8e\\x83\\x7c\\x97\\x1d\\xea\\x7e\\xf5\\xd0\\x0e\\xfc\\xd0\\x53\\x3f\\x12\\x4b\\xdd\\xaf\\xe4\\x6d\\x74\\x2d\\x0c\\x91\\xe7\\x00\\x06\\x8f\\x05\\x02\\x30\\xf2\\x83\\x09\\x30\\xd8\\xd9\\x39\\xb7\\xe3\\x29\\x75\\xf4\\x0e\\xdc\\x15\\xf7\\xd8\\xf1\\x23\\x79\\x1b\\x60\\xc4\\x7c\\x6f\\x10\\xbf\\x87\\xdb\\x28\\xbc\\x0f\\x38\\x9a\\x16\\x92\\xf5\\x3a\\x42\\xb0\\x88\\x45\\xa3\\x01\\xeb\\xd6\\x0f\\x06\\x38\\xb9\\xf1\\x98\\xa4\\x31\\x7f\\x6c\\x20\\xe2\\x52\\x7a\\xb1\\x3d\\xc8\\x6d\\x1c\\xfb\\x39\\xf7\\xfd\\x98\\x0b\\x27\\xf9\\x7f\\x38\\x9e\\x7e\\xda\\x81\\x2d\\xd7\\xc2\\x42\\x58\\x00\\xe1\\x54\\x47\\x00\\x16\\xb9\\x1e\\xac\\x74\\x52\\x0c\\xfc\\x07\\xb4\\x26\\x7c\\xe0\\xe4\\x85\\x31\\xdf\\x73\\x9f\\x8f\\xe5\\xf7\\x60\\x0b\\x85\\x46\\x61\\xe1\\x64\\xbe\\x06\\xaf\\x66\\xb9\\xca\\x9d\\x07\\xe1\\x23\\x2f\\x90\\x1a\\x80\\x91\\x74\\xca\\x1a\\x4b\\x6d\\x0e\\xe2\\x59\\x10\\xaf\\x9e\\x32\\x05\\x8a\\xdd\\xc2\\x62\\x59\\xf2\\x1f\\x70\\x03\\x85\\xbe\\x50\\xde\\x1b\\x32\\x61\\x9a\\x0a\\x9d\\x5b\\x13\\x96\\x31\\x86\\x4a\\x31\\x0f\\x79\\x2d\\x5d\\x29\\x37\\x30\\xf2\\x39\\x97\\xc9\\x7f\\xb0\\x10\\xea\\xbc\\xc1\\xef\\xe7\\x3c\\xd0\\x86\\x80\\xec\\x07\\x10\\x11\\x25\\xc2\\x36\\xc0\\xa9\\x58\\x69\\x3b\\x8c\\xd3\\x29\\xbd\\xb1\\xf8\\xf4\\x6f\\xfc\\x7e\\x07\\x26\\x29\\x57\\xd8\\x18\\x37\\xf0\\xfb\\xf1\\xb7\\xb1\\x3a\\x98\\x6f\\x5a\\x07\\x67\\x17\\x07\\xed\\x4e\\xbc\\xf2\\xb7\\xd3\\x8b\\xf9\\xfd\\x57\\x52\\xd4\\x88\\x83\\x8d\\x45\\x1d\\x87\\x57\\x47\\x0f\\x34\\x8c\\x05\\xd7\\x90\\xeb\\x8d\\x05\\x8a\\xb1\\xb1\\xdc\\xa8\\x5e\\xe2\\xc6\\x44\\xc7\\x43\\x79\\xeb\\x7e\\x3a\\x14\\xf8\\x23\\xff\\x54\\xe2\\x18\\xc6\\xd0\\x31\\xa8\\x97\\xe8\\x18\\x66\\x42\\xa5\\x37\\xa3\\x8b\\xea\\xfb\\x83\\x1a\\x40\\x37\\xf4\\x67\\x1c\\xf4\\x47\\x1d\\x17\\xef\\x0f\\x3a\\xaf\\x8e\\xe3\\x4a\\x62\\x75\\xe8\\xb8\\x1b\\xd7\\xd1\\xc6\\x7d\\x1e\\xc6\\xad\\x8e\\x8b\\x8f\\x9b\\xa3\\x19\\x03\\xf1\\x4a\\x76\\x42\\x21\\x21\\x5f\\xc8\\x8c\\x24\\x9e\\xf0\\x3a\\xbd\\xc8\\x3b\\x31\\x4d\\xdc\\x70\\xaa\\xfc\\x54\\x5c\\xc0\\x97\\xd2\\xb3\\xad\\xa5\\x41\\x37\\x5e\\x39\\xca\\x3c\\x0a\\xfe\\xf3\\x6d\\x3f\\xfe\\xf8\\xea\\xeb\\x1f\\x7f\\x4c\\xdb\\xdd\\x43\\x46\\xc4\\x60\\xd8\\x0e\\x10\\xba\\x44\\xac\\x6a\\xbc\\xab\\x50\\x91\\x55\\xa2\\x35\\x34\\xdc\\xfc\\x13\\x0d\\xc1\\xbb\\xf0\\xc7\\x1a\\x9d\\x22\\x06\\xd1\\x6c\\x30\\xcb\\x96\\xeb\\xd3\\xbd\\xd2\\xeb\\xd3\\xbd\\x3d\\x0d\\x64\\x8f\\xd2\\x3d\\x80\\xb7\\x2f\\x0e\\xef\\xbf\\xd3\\xbd\\xcc\\xbf\\xa1\\x7b\\x43\\x1a\\xc8\\x1e\\x46\\x8f\\xa2\\xe7\\x38\\x1d\\x56\\xb5\\x6c\\xfa\\x22\\x41\\x04\\x13\\x98\\x12\\x8e\\x13\\x18\\xaa\\x9e\\x64\\x6c\\x8f\\xd1\\x14\\x6a\\x68\\x2e\\x66\\xf1\\xb6\\x39\\x9d\\xba\\x69\\xee\\x94\\xb9\\xcf\\x4d\\x38\\x7f\\x5e\\x1b\\x63\\x23\\x18\\xb0\\x83\\x89\\x00\\x30\\x60\\xeb\\x48\\x6c\\x4d\\x4e\\x16\\x26\\xc0\\xc0\\x34\\x6e\\x79\\x3a\\x2c\\xbf\\x0e\\x20\\xe0\\xdb\\xf1\\x7d\\xe7\\xcf\\x4f\\x88\\xc1\\x78\\x9c\\xd3\\x71\\x54\\x33\\xcc\\x0b\\x39\\x0c\\xd4\\x60\\x8e\\x00\\x8c\\xc9\\x6c\\x10\\xa9\\xbd\\x5c\\x7f\\x8c\\xad\\x6e\\xec\\x7c\\x22\\xd1\\x6b\\x4e\\x83\\x17\\xeb\\x17\\xc0\\xa4\\x60\\x03\\xf3\\xe7\\x4f\\x98\\x37\\x4f\\xeb\\x5b\\x0a\\xb6\\x73\\xab\\xf1\\x36\\x86\\x87\\xb0\\x9d\\x79\\x8e\\x52\\xa7\\x44\\x3c\\x5c\\x1d\\x59\\xc7\\x4d\\xc6\\xf6\\xd5\\x20\\x13\\x7c\\x09\\x7b\\x7f\\xa6\\xf0\\x2d\\xf4\\xa1\\x75\\xc8\\xa7\\x37\\x13\\x93\\xae\\x82\\x0c\\x23\\x5c\\x0d\\xb9\\x4c\\x38\\x99\\x60\\x3d\\xa1\\xf7\\xfc\\xd7\\xc6\\xe4\\x02\\xe5\\x38\\xcb\\xe0\\x58\\xc8\\x64\\x35\\x2d\\xb5\\x6e\\x90\\xd2\\xd7\\xa0\\x05\\xe3\\x16\\x4b\\x0f\\xd8\\xee\\x4c\\x3e\\xfc\\x62\\xca\\x9d\\xce\\x7d\\xfc\\x9e\\x9d\\xab\\x36\\x6d\\x5a\\xb3\\x03\\xfa\\xb2\\x45\\x08\\xe0\\x0a\\x46\\x0f\\xdc\\x21\\x03\\xc0\\x12\\x78\\x84\\xd7\\x31\\x70\\xf1\\x5d\\x44\\xc5\\xe6\\x2d\\xb5\\x42\\xe0\\x59\\x76\\x67\\x25\\xc8\\xaf\\xe3\\xdc\\xe2\\x34\\xe8\\x8f\\x1b\\x75\\x0f\\xe5\\x03\\x2f\\x12\\x91\\xe8\\xf5\\xe8\\xe5\\xd5\\xe1\\xcb\\x7a\\x2c\\xeb\\xfd\\x7a\\x0e\\xb4\\x66\\x12\\x22\\xce\\xd5\\x61\\x99\\xe4\\x93\\x72\\xd2\\x8b\\x2c\\x24\\x8f\\x90\\xa3\\xe4\\x67\\x20\\x5a\\x94\\x68\\x30\\x99\\x52\\xcb\\x7f\\x9c\\xc0\\x0f\\x63\\x17\\xaf\\x4b\\xe2\\x09\\x3d\\xe3\\x69\\x7e\\xdd\\x34\\x71\\xe4\\x9a\\x91\\x23\\xd6\\x4e\\xa0\\x29\\x23\\x6f\\x69\\xd7\\xf6\\x16\\x61\\x31\\x7d\\x30\\xea\\x9e\\xd5\\x23\\xdb\\xf4\\xec\\xd9\\xa6\\xb4\\x4f\\x6f\\x36\\xa7\\x15\\x6a\\x7f\\xfc\\x3c\\xfc\\x65\\x47\\x65\\xa1\\x74\\xbd\\xc5\\x02\\x52\\x8a\\xd3\\xa1\\x0b\\x49\\x86\\xae\\x3a\\xce\\xba\\x3a\\xac\\x70\\x38\\xc0\\x55\\x70\\xc3\\xb8\\xc9\\xdc\\x6e\\xee\\x18\\x27\\x72\\xd0\\x93\\x29\\x9a\\xaf\\x40\\x42\\x27\\x62\\x7d\\x80\\xf9\\x22\\x1a\\x63\\xc2\\xcf\\x97\\xdf\\x32\\x76\\x5c\\x65\\xe7\\x65\\xde\\xa2\\x5c\\x5f\\xeb\\x96\\x25\\x1d\\xd4\\xc9\\xbe\\xd1\\xfd\\xbb\\x2c\\xcd\\xb2\\xb4\\x6c\\xd7\\x25\\x3b\\xa7\\xc0\\xc3\\xe4\\xb6\\x1f\\x60\\x8d\\x0e\\x08\\x87\\x91\\x9b\\xe3\\x43\\x51\\xa7\\x57\\xef\\x71\\x38\\xcc\\x66\\x61\\x6d\\x38\\x60\\xc6\\xbb\\xcd\\xc7\\xcc\\x67\\xcc\\x44\\x36\\xfb\\xcd\\xf9\\x66\\x98\\x17\\x33\\x0a\\x21\\xdb\\xda\\xb0\\x0e\\x6d\\xf5\\xe2\\xd5\\x5e\\x3c\\xdb\\x8b\\xc7\\x7a\\xf1\\x60\\x2f\\xee\\xe6\\xc5\\x65\\x5e\\x9c\\xeb\\xc5\\x3e\\x2f\\xd6\\x7b\\xf1\\x9f\\x5e\\xfc\\xad\\x17\\x7f\\xe4\\xc5\\x1b\\xbd\\x78\\xb9\\x17\\x4f\\xf7\\xe2\\xe1\\x5e\\xdc\\xc7\\x8b\\x6f\\xf0\\xe2\\x42\\x2f\\x6e\\xe6\\x05\\x81\\x1d\\x73\\x5e\\x7c\\xfb\\xaf\\x5e\\xfc\\x2f\\x2f\\xfe\\xc0\\x8b\\x8f\\x79\\xf1\\x6e\\x2f\\x7e\\xcc\\x8b\\xef\\xf3\\xe2\\x1a\\x2f\\x9e\\x1a\\xaf\\xd0\\xd9\\x8b\\x8b\\xbc\\x38\\xc3\\x8b\\x5d\\x5e\\xcc\\x7b\\xf1\\x65\\x56\\xfe\\x0c\\x2b\\xbf\\x37\\x5e\\x7e\\x29\\x6b\\x60\\xa4\\x17\\x0f\\xf0\\xe2\\x2e\\x5e\\x5c\\x12\\x6f\\x00\\x79\\xb1\\x06\\xff\\x3d\\x2f\\x3e\\xee\\xc5\\xb5\\x5e\\xbc\\x3d\\xde\\xa1\\x19\\x5e\\x3c\\x9a\\x95\\x87\\x0e\\xe1\\x02\\x2f\\x0e\\x78\\xb1\\xc2\\x2a\\x94\\x86\\xa6\\x43\\x1b\\x67\\x59\\x9f\\x8e\\xb3\\x3e\\x41\\x9d\\xf5\\xac\\x8d\\xc9\\x5e\\x3c\\xcc\\x8b\\x2b\\x12\\xfa\\x84\\x58\\x87\\xce\\xc5\\x0b\\x6f\\xf3\\xe2\\x75\\x09\\xbd\\xe9\\x17\\x2f\\xc9\\xc7\\x9b\\x87\\x02\\xdc\\x3a\\x36\\x3e\\x80\\x55\\xee\\xc5\\xf9\\x5e\\xec\\xf7\\x62\\xd9\\x8b\\x25\\x1a\\xf0\\x95\\xfe\\x54\\xd3\\xc0\\xaf\\x89\\x3f\\x53\\x1b\\xff\\x0c\\x8d\\x17\\xaa\\xff\\x99\\xd2\\xe4\\x67\\xea\\xf5\\x6a\\x5c\\xa7\\x34\\xca\\x2f\\x64\\x98\\x7c\\x8a\\xed\\xb8\\x98\\xb8\\x83\\x63\\xb2\\x5d\\x2b\\x8e\\x5a\\x22\\xd3\\x69\\x22\\xb1\\x54\\x2e\\xb6\\xff\\x2e\\xe5\\xf4\\xeb\\x79\\xb3\\xbf\\xb4\\x44\\x3f\\xd8\\x58\\xd0\\xbb\\x3c\\xaf\\x5f\\xcf\\x9b\\x52\\x47\\x5a\\x87\\x58\\x47\\xf2\\x7b\\x32\\x5b\\x66\\x76\\x2c\\x1b\\x3d\\xb6\\x03\\xbc\\xcf\\x5c\\x3f\\x8b\\xc6\\x3e\\xe0\\xf7\\x10\\xaf\\x70\\x0e\\xf8\\x88\\x11\\x65\\x84\\x14\\xd1\\xc0\\x83\\x60\\x6e\\x36\\xe9\\x38\\xc4\\x6d\\x18\\x0c\\xba\\x42\\x7e\\x61\\x3c\\xe6\\x69\\x61\\x4c\\x3a\\xa5\\xac\\x05\\x07\\xd9\\xab\\xeb\\xd3\\xd3\\xea\\x81\\x08\\x7d\\xe1\\xf7\\x38\\xb0\\x3f\\x45\\xbd\\xa0\\xbd\\x02\\x9e\\x7e\\x8b\\x47\\x71\\x49\\xc4\\x04\\x74\\x3a\\x39\\x64\\xe4\\x90\\xc9\\xa4\\xb3\\xc8\\x26\\x01\\x1b\\xa8\\xd8\\x5c\\xaf\\xc4\\xb6\\x2e\\x20\\x09\\x71\\x85\\x88\\x94\\x74\\x3e\\xc5\\x12\\x8b\\x1c\\xf4\\x5e\\x4e\\x4f\\xee\\x87\\xf4\\x95\\x9d\\xdb\\x37\\xbf\\xbf\\x08\\x9b\\xec\\x6c\\xdf\\x11\\xd2\\x92\\xdb\\x21\\xbc\\xcb\\x68\\xa4\\xcb\\x60\\xd4\\x71\\x40\\x40\\x44\\x9a\\x01\\xdd\\xa4\\x33\\x0a\\x1c\\xaf\\x97\\xa8\\xd8\\x14\\x3c\\x55\\xe8\\xae\\xf7\\xa9\\x70\\xb3\\xb0\\x16\\x52\\xb6\\x94\\x5d\\x9a\\x5d\\xea\\x2e\\x75\\x4b\\xdc\\x8e\\x81\\x57\\xae\\x0c\\xbc\\x7a\\x95\\xbd\\x92\\x65\\xf1\\xbf\\xe0\\x15\\xf4\\xfd\\x5f\\x41\\x27\\xda\\xc6\\x74\\x22\\x1f\\x6a\\x17\\xf2\\xbb\\x65\\x9b\\x5e\\x2f\\x12\\x27\\x92\\x45\\xe0\\xf7\\x42\\x0a\\x07\\x52\\x80\\x13\\x89\\x84\\xe7\\x93\\x4c\\x3c\\xbe\\x48\\x3d\\x80\\x1a\\xb4\\xb4\\x60\\x7d\\x7a\\x02\\x7a\\xfc\\x4d\\x8d\\x61\\xb1\\xeb\\x11\\xcc\\x67\\xc3\\x4d\\xf3\\xbe\\xb1\\x6d\\x1e\\x51\\xff\\x58\\xfc\\xde\\xa7\\x8b\\xd4\\x9f\\x72\\xf2\\xfa\\x77\\xeb\\xde\\xb7\\xfb\\x0a\\x7b\\x5a\\xd0\\xe7\\x29\\xe2\\xfa\\x71\\xf7\\x46\\xae\\x70\\x62\\x64\\x52\\xd7\\x85\\xcd\\x6f\\x19\\x3c\\xf8\\x96\\x7e\\x2b\\x3f\\x76\\x87\\x6e\\x1c\\x51\\x1a\\xc8\\xd4\\xe8\\x38\\xe8\\xb0\\xe8\\x2b\\x66\\x8b\\x70\\x85\\xf4\\x30\\x13\\xc0\\x79\\x2f\\x30\\xe9\\xb7\\x9e\\x74\\x42\\xdb\\x23\\xe7\\xe0\\x0b\\xbc\\xeb\\x2a\\xcc\\x3f\\xca\\xc3\\x5f\\x71\\xab\\xf8\\xdf\\x50\\x36\\x0a\\x85\\xd2\\x24\\x31\\xe0\\xf0\\x25\\x99\\x10\\x4a\\x72\\x88\\x7c\\xf3\\x16\\x01\\x93\\x9b\\xb8\\x53\\xce\\x85\\x7d\\xee\\x4b\\xc4\\x00\\x62\\x34\\xf9\\x21\\xf1\\x3e\\xc5\\xb5\\x77\\x7c\\x63\\xd1\\x73\\xe8\\x42\\xd1\\x2b\\x71\\xd9\\x0d\\x86\\xd3\\x18\\xf1\\xf4\\xe3\\x54\\x8e\\x5b\\xb5\\x79\\x6d\\xcd\\x16\\xef\\x04\\x65\\x78\\xe5\\xbe\\xb4\\x0e\\xb3\\x6e\\x1f\\x1c\\x5c\\x77\\xd7\\x9c\\xb5\\xf6\\x3b\\x9c\\x9b\\xfa\\xf6\\x2a\\xe9\\x54\\x31\\xbb\\xb2\\x88\\x3b\\x3a\\xe1\\xce\\x01\\xe3\\x5d\\x1d\\xca\\x66\\x64\\xb4\\xf4\\x07\\x92\\x4b\\x6e\\x2d\\x1b\\x3b\\x71\\xe0\\x08\\xcb\\xd8\\x60\\x49\\xf3\\x42\\x9b\\x2b\\xad\\xa4\\x1f\\xcb\\xeb\\x0a\\xb2\\xff\\x56\\xfe\\xbc\\x22\\x91\\xd6\\x98\\x66\\xc0\\xa2\\xcf\\x62\\xfa\\x80\\x4d\\xe4\\x96\\xb0\\xb9\\xd8\\x06\\xcc\\x61\\xb2\\x40\\x65\\x1f\\x90\\x99\\x01\\x2d\\x10\\x88\\x70\\xa0\\xa6\\xb1\\x20\\x9d\\xf5\\xae\\x02\\xf4\\xca\\x0c\\xb0\\xb7\\xc9\\x2b\\xd5\\x43\\xf8\\x0c\\xff\\xd7\\xca\\x84\\x7a\\x12\\xc5\\x74\\x01\\xd3\\x9a\\x3a\\x3d\\x2c\\x27\\x16\\xb5\\xca\\x54\\xdf\\x4f\\x20\\xd1\\x1a\\x04\\x6b\\x50\\x83\\xd1\\x75\\x25\\xf9\\x66\\x25\\x76\\xa1\\xff\\xf7\\x70\\xb8\\xcd\\x2b\\xb9\\xa1\\xff\\x1f\\xc0\\xc1\\x03\\x56\\x92\\xc7\\xaf\\x99\\x0f\\x42\\x1d\\x95\\x41\\xb2\\xe3\\x30\\x8b\\xf8\\x9a\\xe0\\x3a\\xa1\\xd5\\x55\\x0b\\xa0\\xea\\x4a\\xfe\\x2f\\x28\\x36\\x1c\\xea\\x75\\x23\\x93\\xa1\\x9e\\x27\\xa4\\x07\\xc5\\x96\\xd5\\x83\\x2d\\x74\\x2a\\xd8\\xd4\\xe1\\xa2\\x9b\\xea\\x5d\\x89\\xab\\xc9\\xe4\\x88\\x1e\\x25\\xd4\\x93\\x98\\x2e\\xcb\\x71\\x84\\xf6\\x1b\\x8b\\xa2\\x40\\x65\\xdc\\xc6\\x7d\\xc6\\xb1\\xf4\\xdd\\x00\\x61\\xf5\\xf4\\xe9\\x78\\x1a\\xbe\\x4b\\x9d\\x49\\x26\\xab\\xf3\\xd9\\xba\\x22\\x75\\x20\\xb7\\x31\\x3a\\x47\\xa1\\x99\\xd5\\xd1\\x5f\\x3b\\x98\\x8c\\x9a\\xc2\\x7f\\xcc\\xad\\x16\\x93\\x99\\x8c\\x0a\\xd0\\x05\\x96\\x80\\x80\\x42\\x27\\x31\\xcd\\xbd\\x91\\x66\\x4b\\xe7\\xa3\\x5e\\x88\\xa1\\xbf\\xc2\\x93\\x33\\xd4\\x97\\x66\\x00\\x9c\\x0a\\x98\\x81\\x9e\\x4c\\x6f\\xb7\\xa3\\x82\\x90\\xd3\\x2a\\xdb\\x24\\x9b\\x51\\xc0\\x3a\\xa3\\xce\\xe9\\xb0\\xe9\\x74\\x76\\x54\\x23\\x03\\xbc\\x20\\x48\\x67\\x0d\\x1d\\xd6\\x8c\\x4e\\x85\\x89\\x16\\x81\\xb4\\x06\\xdb\\x80\\x97\\xd9\\x06\\xf0\\x7f\\x1a\\x9b\\x08\\xea\\x4d\\x0e\\xd0\\xcd\\x45\\xea\\x23\\x5c\\x66\\x94\\xea\\x72\\x30\\x9f\\x22\\xa7\\x93\\x78\\x5c\\x43\\xe7\\x24\\x08\\x92\\x5b\\x5c\\xe4\\x4a\\x27\\x41\\x1a\\xe3\\x78\\x5e\\x9f\\xa7\\xa7\\x0e\\x1b\\x36\\x55\\x7d\\x04\\x7b\\x77\\xee\\xbc\\xa6\\x2e\\x8f\\x40\\x93\\x84\\xca\\x22\\x15\\xfa\\x0a\\x1b\\xea\\x66\\x4b\\xe9\\xa0\\xb7\\x65\\xd2\\x9a\\x4f\\xf7\\x51\\x1f\\xd9\\xb9\\x13\\x7b\\x69\\xdd\\x37\\xd5\\x01\\xf8\\x9f\\xd1\\x2b\\x50\\x37\\x35\\x64\\xe2\\x11\\x07\\xf2\\x88\\x4e\\xe2\\xf8\\x98\\x48\\x9c\\x30\\x5f\\x82\\x53\\x72\\x3b\\x33\\x8b\\xf1\\x3f\\x77\\xee\\x54\\xbf\\x13\\x35\\x30\\x4d\\xeb\\x03\\x21\\xc5\\x1c\\x06\\x2d\\x94\\x63\\xcd\\x37\\xa9\\x2f\\x14\\x97\\x66\\x43\\x7d\\xf5\\xbb\\x9d\\x3b\\x77\\x69\\x43\\x80\\xb9\\x5e\\xad\\x56\\x72\\x29\\xd1\\x0f\\x98\\x9c\\x06\\x6b\\x16\\x97\\xd3\\x9c\\xa4\\x46\\xd6\\x6b\\x73\\x9c\\x08\\xe3\\xef\\xa4\\xaf\\x94\\x59\\x15\\x15\\xb3\\x66\\xf6\\xee\\x33\\x63\\x58\\xbb\\x96\\x2d\\xdb\\xb7\\x6f\\xd9\\xb2\\xdd\\x85\\xde\\x77\\x4c\\xaa\\xa8\\xb8\\xe3\\x8e\\x8a\\x96\\xa5\\xa5\\x2d\\x5b\\x96\\xd1\\xbc\\x46\\x68\\x35\\x96\\x39\\x33\\x77\\x03\\xd3\\x7b\\x78\\x2c\\x89\\x8d\\x75\\x37\\x3d\\x66\\xba\\xd2\\x2e\\xf5\\xab\\xd3\\x7b\\xb0\\x8c\\x5d\\x29\\xea\\x3f\\x1d\\xec\\xec\\x05\\xf8\\x91\\xcc\\xbd\\xc2\\xea\\x19\\x69\\x1f\\x39\\xa3\\x8e\\xe7\\xcd\\x3a\\x13\\xd1\\xd7\\xc0\\xb0\\xe9\\x0a\\x15\\xd6\\xdb\\xb8\\xe2\\x60\\xd2\\xd8\\x2b\\x37\\x82\\x02\\x53\\x6f\\x4e\\x04\\x59\\x0f\\x98\\x8b\\x7e\\x07\\x70\\x5f\\x6d\\x80\\x0b\\xec\\x48\\xaf\\x37\\x23\\x93\\x8e\\xd4\\x30\\xe6\\xd9\\x18\\x2e\\x49\\xe0\\x9d\\xde\\x3d\\xa7\\xd5\\xaf\\x22\\xf4\\x05\\xcb\\x4d\\x78\\xe7\\x0f\\xea\\x04\\xee\\x40\\x74\\x16\\xcc\\x26\\xf0\\x4e\\x2a\\xe3\\xd9\\x04\\x3d\\xaa\\x71\\x98\\xb5\\x7e\\x96\\x95\\xfd\\xff\\xc5\\xfb\\xd5\\x09\\xd7\\xf0\\xfe\\x97\\xf0\\x7d\\x78\\x01\\x93\\xc7\\x29\\x05\\x92\\x11\\xcf\\x13\\x49\\xd2\\xe9\\xa9\\xd1\\x8d\\xe3\\x41\\x6a\\xcd\\xd7\\x0e\\x56\\x12\\x82\\xc3\\x80\\x78\\x0e\\x2a\\xbf\\xf3\\xa5\\xd7\\x5e\\x7b\\x8d\\x8f\\x9c\\x3e\\x5d\\xb7\\xe1\\xf4\\x69\\x66\\x23\\x9b\\xc7\\x05\\x98\\x3e\\x9d\\x14\\x32\\x50\\x6a\\x20\\x4a\\x58\\x88\\xeb\\x3e\\xf5\\x97\\x28\\xd3\\x9c\\x40\\xbf\\xb8\\x80\\x7a\\x69\\x31\\xde\\x28\\xf4\\xfe\\x10\\x57\\x68\\x67\\x7d\\x89\\x75\\x09\\x48\\x1d\\xa2\\x14\\x57\\xad\\x1b\\xea\\xda\\xd3\\x68\\x48\\x97\\xbb\\xf1\\xc6\\xc5\\xea\\x25\\xe1\\xa4\\xba\\xfb\\xc3\\xd8\\x39\\x21\\xe0\\x5d\\x20\\xba\\x03\\xea\\xa6\\x86\\xcc\\x31\\xfa\\xb5\\x10\\xe3\\x58\\xf5\\xaa\\xc4\\xb6\\xad\\x41\\x27\\x6d\\x7b\\xdc\\x62\\xec\\x50\\x2b\\x71\\xc5\\x87\\xd7\\xd6\\x07\\x42\\x43\\x55\\xef\\x85\\x42\\xbc\\xeb\\x55\\x89\\xed\\xd3\\x78\\xd8\\x77\\x63\\x07\\x68\\xe0\\xea\\x7b\\x1f\\xaa\\xbb\\xb5\\xf6\\x53\\xd5\\x4a\\xa2\\x40\\x7d\\x46\\xbf\\x79\\x2c\\x30\\x4a\\xa5\\xf5\\x40\\xd4\\xb6\\x7d\\x55\\x61\\x63\\x5a\\xc8\\xc2\\xd3\\x10\\x25\\x62\\x59\\x89\\xff\\x79\\x17\\xed\\xc8\\x89\\x13\\x50\\xc9\\xad\\x0e\\x24\\x72\\xbc\\x1f\\x9c\\x40\\x04\\x49\\xe4\\x58\\x3f\\x70\\x93\\x71\\xb8\\x83\\xd4\\x3b\\xcb\\xbd\\x96\\x1b\\x1b\\xd1\\x85\\xdf\\x5c\\x41\\xfb\\xd0\\x16\\x68\\xe8\\x14\\xb4\\x05\\xe8\\x5c\\x9b\\x90\\x8d\\x93\\xa8\\x4e\\x6f\\x30\\x72\\x21\\xb3\\xd2\\x95\\xe3\\x90\\x5e\\xa2\\x7e\\x8e\\x46\\xf8\\x20\\x49\\x8a\\x3e\\x00\\xea\\x12\\xa8\\x22\\xc1\\xfc\\x5c\\xe5\\x54\\x61\\xbd\\xad\\x0c\\x76\\x64\\x9a\\x3b\\x9d\\x62\\xa6\\x94\\xc6\\x4d\\x51\\x07\\xbc\\x30\\xf9\\xa3\\x8f\\x26\\xbf\\x80\\x77\\xee\\xff\\x0d\\xfb\\x2c\\xd8\\xf7\\x1b\\xc2\\x91\\x3a\\xd1\\x14\\xbd\\x55\\x4a\\x87\\xfe\\x19\\xf6\\xc6\\xf6\\x5b\\xdc\\x2c\\xa1\\xfe\\xfc\\xdb\\xe9\\xc5\\xa2\\x29\\x66\\x96\\x40\\x58\\xdd\\x00\\x65\\xbf\\xbd\\xa6\\x2c\\x33\\x47\\xa8\\x1b\\x16\\x9f\\xfe\\x4d\\x34\\xd5\\xdb\\x61\\xd4\\xfd\\xfc\\x1e\\xdc\\x83\\xd9\\x9a\\x94\\xfd\\x84\\xd7\\xd7\\x50\\x4d\\x89\\x61\\x78\\xa2\\x99\\x0a\\xf7\\xb8\\xd6\\x4c\\x15\\x8d\\xc6\\xf5\\x20\\x45\\xe4\\x1e\\x66\\xb0\\x7e\\xe4\\x3f\\xc0\\x36\\x66\\x3b\\x32\\xd6\\x52\\xb3\\x11\\x35\\x56\\x69\\x0c\\x02\\xdb\\xe2\\xd6\\x22\\x28\\x17\\x79\\x46\\x4c\\xe7\\xfa\\x89\\x4f\\xb0\\x72\\x08\\xaf\\x61\\xda\\x27\\xed\\x60\\x9a\\x33\\xf2\\x0c\\xff\\xb4\\x98\\xbe\\x78\\x31\\x5b\\x5b\\xf5\\x0b\\xfe\\x00\\xce\\x10\\x5e\\x04\\xf9\\xd5\\x52\\x6b\\xe0\\x6b\\x24\\xb6\\x99\\x4f\\x02\\x6f\\xb0\\x52\\x45\\x57\\x0b\\x16\\x08\\xdb\\x6d\\xd6\\x56\\x79\\xac\\x69\\xc4\\x2d\\xdd\\x41\\x8c\\xb1\\x3d\\xc4\\x1f\\x58\\x3d\\xb3\\x5d\\xb7\\x9b\\x3b\\xcc\\xb9\\x5b\\xb3\\xb1\\x3f\\xc9\\x7f\\x88\\x06\\x01\\x5f\\x66\\x6d\\x71\\xeb\\x62\\x6d\\xd1\\x0d\\x34\\xa8\\x96\\xff\\x90\\xe9\\xb8\\xea\\x0f\\xfc\\x6b\\xd8\\x25\\xcc\\x65\\x7b\\xd0\\x76\\x50\\x80\\x0d\\x70\\x2f\\x3d\\x8b\\xd0\\xc4\\x6e\\x6d\\xc7\\x01\\xca\\x38\\xa7\\x3d\\x1e\\x79\\xff\\x09\\xfe\\xb5\\x43\\xf0\\xa3\\xf5\\xcf\\x2d\\x9c\\x88\\xbe\\x29\\xe5\\x22\\x1b\\x50\\x1d\\x13\\x51\\x26\\xeb\\xce\\xe8\\xce\\xea\\x2e\\xeb\\x78\\x1d\\xac\\x78\\x6d\\x6e\\x7e\\x57\\x9d\\x0c\\x92\\x76\\xee\\x14\\x46\\x75\\x34\\x3b\\x2c\\xbd\\xd8\\x47\\xad\\xb0\\xe9\\xc5\\x1d\\xf1\\xd7\\xc1\\x9c\\xae\\x5d\\xfc\\x83\\xc6\\xfd\\xd8\\x7b\\xf0\\xe4\\x9b\\x0a\\xc4\\x45\\xfe\\x66\\x9e\\x11\\xa9\\x1b\\xda\\xf5\\x37\\x16\\xce\\x22\\xda\\xd9\\x57\\x1b\\x90\\x83\\xdf\\x14\\x87\\x33\\x9a\\x6e\\xa9\\x95\\xf5\\x35\\x4e\\xa2\\x91\\x72\\xe8\\xd3\\xdf\\x50\\xf0\\x37\\xaf\\x21\\xe0\\xc2\\xf6\\x6b\\x28\\x38\\x1d\\xf3\\x42\\x58\\xf7\\xc5\\x31\\x9d\\xc3\\x52\\x9b\\x40\\x2a\\x63\\x98\\x12\\xa3\\x90\\xea\\xc2\\xbf\\x53\\x2f\\x1a\\xe1\\x8e\\xa5\\x56\\x90\\x78\\x6d\\xab\\x50\\xcc\\xb1\\xd7\\x1b\\x25\\xc7\\x5f\\xc7\\x26\\x19\\x3d\\x01\\x6c\\xb1\\x2d\\xa3\\x79\\x14\\x3f\\xb1\\x86\\x9f\\x76\\x90\\x51\\xda\\xc6\\xed\\x90\\x5c\\x34\\x0c\\x65\\x76\\xc4\\xe8\\xa2\\xa5\\x96\\x4a\\x1e\\x58\\x43\\x4c\\x98\\x4b\\x28\\x49\\x4b\\x97\\x4c\\x99\\xf2\\xa5\\x56\\x41\\xad\\x85\\x4a\\x8d\\xc7\\x64\\x3b\\xa8\\xab\\x21\\xb8\\x7e\\x58\\x55\\x85\\x8d\\x39\\x0a\\xce\\x50\\x0f\\x9c\\xfe\\x14\\x38\\x0a\\xbc\\x42\\xad\\x44\\x8e\\xc2\\x01\\xde\\xed\\xc3\\x19\\xe2\\x48\\xc0\\x3b\\x2b\\xb2\\x1d\\xb0\\x28\\x06\\x12\\xc3\\xbd\\x53\\x85\\x85\\xf9\\x4d\\xb1\\x8f\\xc0\\x62\\x36\\xc2\\xc0\\x94\\x5a\\x7e\\x5f\\x1c\\x07\\xf1\\x9e\\x98\\x5f\\x6f\\x23\\x5c\\x96\\x50\\x8d\\x91\\x8f\\xaf\\xa4\\x15\\x64\\xf8\\x74\\x2d\\xc8\\x6b\\x7a\\x47\\x3c\\x73\\xb3\\x6d\\xac\\x3c\\xbc\\xfb\\x2d\\x23\\x4c\\x63\\xe5\\x87\\x85\\x17\\xef\\x9a\\xdb\\xb1\\x4b\\xb7\\x76\\x33\\x57\\x6b\\xb8\\xbc\\x99\\x5c\\x44\\x23\\x99\\x3c\\x05\\x30\\x24\\x81\\xed\\xec\\x93\\x65\\xf9\\x14\\x9d\\xe3\\xa7\\x30\\xa3\\xb2\\x9a\\xcf\\x1d\\x3a\\x90\\x5c\\x7c\\x6a\\xdc\\x9a\\x4e\\x2b\\x17\\x7c\\x7e\\x6d\\x3d\\x9d\\xae\\xfe\\xf8\\x05\\xe6\\xbc\\x5e\\xb2\\x1a\\xc9\\xea\\x09\\x27\\xff\\xb6\\x1e\\x50\\xb2\\xc4\\x7a\\xf1\\x73\\x96\\xa1\\x03\\x87\\xce\\x6d\\x9e\\x25\\x9c\\xfc\\x7c\\xc1\\xca\\xd0\\xbd\\x63\\x9e\\xfa\\x7f\\xd7\\xde\\x60\\x75\\x2c\\x7a\\x36\\x5a\\x03\\xeb\\x67\\x39\\x80\\x90\\x02\\xdc\\x91\\x0a\\xb3\\x55\\x50\\x8f\\xd1\\xb9\\x9e\\xd4\\xfa\\x3a\\x36\\x4e\\xe6\\xa0\\x7c\\x2f\\x75\\x1c\\xda\\xc6\\xec\\xaf\\x4d\\xca\\x33\\x1e\\x2f\\xed\\x69\\x64\\x7a\\x85\\xf2\\xe5\\x6a\\x35\\x7a\\x2c\\xba\\x1f\\x30\\x2a\\x2d\\x64\\x07\\x19\\x5f\\xc6\\x7e\\xcc\\x49\\xf8\\x58\\xb5\\x34\\x49\\x5a\\x28\\x11\\x09\\x08\\x73\\xd2\\xa9\\xa1\\x55\\x20\\x8c\\x52\\x74\\xd4\\x4c\\x7a\\x8f\\x4d\\xfa\\xfd\\xf7\\x49\\x6a\\xf5\\xb4\\x29\\x53\\x35\\x18\\x43\\x01\\xc6\\x2b\\x71\\x18\\x02\\xc7\\xc9\\x92\\x5f\\xe2\\x24\\xe9\\x58\\x35\\x9e\\x84\\x17\\x62\\x2a\\xb9\\x37\\xc0\\x90\\x98\\x2b\\x93\\x33\\x9d\\xc1\\xe8\\x31\\x75\\xca\\x34\\xc0\\x83\\x15\\xfc\\x3f\\xf0\\x6c\\x71\\x25\\xf4\\xd9\\xb4\\x8f\\xc4\\xb8\\x4b\\xa1\\xe6\\x25\\x01\\x64\\x72\\xf6\\xda\\xc8\\x56\\xee\\x57\\x28\\x52\\x46\\x63\\xb7\\x76\\x04\\x4d\\x40\\xba\\xde\\x3c\\x26\\x9c\\x96\\x49\\x4d\\x4e\\xcb\\x18\\xcd\\x53\\x2b\\x51\\x75\\xf4\\x3d\\xc0\\x35\\xdb\\x41\\xb3\\x24\\x03\\x24\\x4d\\x8c\\x64\\x94\\xc8\\xde\\xc8\\x22\\x5b\\x1d\\x37\\xc8\\xaa\\x95\\x89\\x07\\x51\\x38\\x7a\\x0b\\xc0\\xd8\\x17\\x7d\\x0a\\xc6\\xe9\\xa4\\x72\\x34\\xc7\\x38\\xaa\\x10\\xe3\\xc9\\x31\\x76\\x4c\\x0d\\x9e\\xfb\\x98\\x1d\\x56\\xad\\xd4\\x0c\\xb1\\x38\\x7a\\x2b\\xd4\\xab\\x8d\\xd7\\x03\\x22\\xba\\x90\\x6e\\x42\\x89\\xd5\\x63\\x0c\\xd8\\x1d\\x33\\xbe\\xd6\\x32\\xdb\\xeb\\x71\\xcd\\xf4\\x0a\\xf5\\x7a\\x40\\xbd\\xbd\\xd1\\x97\\x61\\xe7\\xa6\\x84\\x2c\\x58\\x10\\x0c\\x22\\xec\\xf9\\x49\\xfa\\x85\\x1a\\xbf\\x4c\\x3a\\xc5\\x52\\xba\\xb3\\x75\\x69\\x30\\xb6\\xee\\xd5\\x6c\\xad\\xea\\x07\\x0d\\xb6\\x56\\xf5\\x84\\xfa\\x11\\x2e\\x8b\\x8e\\x60\\xf4\\x9e\\xa0\\xb5\\x61\\xd2\\xc0\\x83\\xca\\xa8\\x72\\xa2\\x7e\\xb4\\x9a\\xb5\\x67\\xa5\\xed\\xa1\\xcd\\xd0\\x9e\\x72\\x40\\xc7\\x3a\\x89\\xb4\\xc1\\xd1\\x78\\xa8\\x0d\\x7e\\x57\\x7b\\x63\\xf1\\xa4\\x36\\xab\\xe7\\x34\\xbf\\x29\\x1c\\x3f\\xef\\x01\\xc9\\xe1\\xd1\\x58\\x7d\\xb2\\x50\\x87\\x75\\x89\\xf5\\x1b\\x62\\x2c\\xed\\x9d\\x75\\x53\\x61\\xff\\xa0\\xfa\\xdd\\x66\\xf5\\xd7\\xf5\\xb6\\xed\\x0a\\x6e\\x8e\\x93\\x19\\xef\\xac\\x8b\\xaa\\x27\\x22\\xfb\\xa2\\x77\\x2a\\x92\\xde\\x16\\xb9\\x8c\\x34\\x9a\\xfc\\x03\\xc0\\x74\\x45\\xe5\\x18\\x1f\\x02\\x25\\x02\\xdd\\x1b\\x16\\x28\\x3f\\xbe\\x0e\\x1f\\x52\\x2b\\xe3\\x7c\\x08\\xf8\\x04\\x8c\\xe5\\xcd\\x98\\xec\\x6f\\x3b\\xe8\\x94\\xe9\\x68\\x62\\x52\\xff\\x14\\xe8\\x8f\\xfb\\xff\\xcc\\x2b\\xae\\x11\\xf6\\x71\\x74\\x93\\x5a\\x86\\x86\\x47\\x1f\\x06\\x1c\\x74\\x86\\x0c\\x12\\x10\\x79\\xa4\\x57\\x62\\x6b\\xc2\\x50\\xd1\\x1d\\xc7\\xc4\\xe0\\xf0\\xbc\\xe6\\x77\\x0e\\x1d\\xf8\\xda\\xc9\\xca\\x3b\\xf3\\x47\\x0e\\xda\\x41\\xe7\\xb8\\xbb\\xda\\x19\\x1d\\x60\\x36\\x5a\\xdb\\x01\\x93\\xd5\\x2a\\x71\\x35\\x0a\\x93\\x47\\x35\\x79\\xce\\x11\\x9f\\x64\\xea\\x3b\\x2c\\x95\\x06\\xa5\\x54\\x7c\\x40\\xfd\\xa9\\x2c\\xad\\x75\\xe6\\xfd\\x1d\\xba\\x26\\xa7\\x74\\x1a\\x9f\\x3d\\x74\\xa8\\xaa\\xbe\\xc8\\x0f\\x17\\x07\\x34\\xcf\\xe1\\x0e\\x8c\\x24\\x7d\\x35\\xbc\\xec\\x8f\\x40\\x59\\x03\\xca\\x6c\\xda\\x27\\x73\\x35\\x7a\\x06\\x10\\xa0\\x35\\x98\\x72\\xb5\\x50\\x41\\xa5\\x3b\\x63\\x96\\xdc\\x50\\xdf\\x44\\x3b\\x6e\\xc6\\xfc\\x1b\\xa8\\x15\\x17\\x47\\x0f\\xc3\\x9c\\xdd\\x08\\xfb\\x98\\x20\\xe5\\x20\\xdd\\xb9\\x5c\\x5c\\x62\\xd5\\x38\\xd1\\x8d\\xcb\\x97\\xc3\\x62\\x0c\\xd5\\x70\\x6a\\x05\\xfc\\x39\\x9b\\xc9\\x98\\x20\\x1d\\xb0\\x8d\\x00\\x42\\x9e\\x26\\x5a\\xd2\\x9d\\x5b\\xcc\\xa4\\x6a\\x3c\\xfb\\x2e\\xd5\\xbf\\x92\\xfb\\x55\\xad\\x3c\\x71\\x42\\x93\\xab\\xd5\\xad\\xea\\x3a\\x3c\\x22\\x3a\\x1f\\x79\\x01\\xa7\\xcd\\x56\\x83\\xc1\\x43\\x40\\x81\\x90\\x25\\xac\\x83\\xda\\x43\\xab\\x82\\x94\\xfe\\xb3\\xbd\\xa4\\x05\\x6d\\x2b\\x0e\\x6a\\xfe\\xbf\\xf5\\x6f\\x30\\x24\\xcf\\xad\\x9d\\x87\\x0e\\xb9\\xad\\x55\\xab\\xd2\\x4e\\x43\\x3a\\x95\\xb6\\x6a\\x75\\xdb\\x90\\xa1\\x53\\xd5\\x8b\\x59\\xc5\\x8b\\x26\\xdc\\x72\\x63\\xf7\\x9b\\x6e\\xea\\xde\\xb9\\xc7\\x84\\x45\\xd0\\xce\\x0b\\xd0\\xbf\\x9b\\xa2\\x83\\x61\\x8d\\x52\\x42\\xb2\\x20\\x7e\\x4d\\x7b\\x28\\xd1\\xfb\\x09\\x9c\\xc4\\xb3\\x96\\x68\\x4f\\x19\\x5b\\xce\\x8e\\xb1\\xe5\\x51\\x27\\xcf\\x8e\\xf9\\x0a\\xd8\\xb2\\x5a\\xf9\\xb3\\x73\\xd5\\x2a\\x27\\xe5\\xe5\\x00\\xa3\\x13\\x83\\xe1\\x0b\\x59\\x88\\xf8\\x35\\x87\\xb9\\x1a\\x66\\xdd\\x97\\xf4\\x14\\x44\\x0c\\x42\\x5c\\x24\\x04\\xed\\xb9\\x13\\x88\\x84\\x5f\\x8d\\x39\\x7b\\x52\\x9d\\x40\\x21\\xfc\\xcc\\x78\\x9c\\x3a\\x15\\x67\\x44\\x67\\xd0\\xf8\\x26\\x21\\x3d\\x30\\x39\\x83\\xcc\\x63\\x5d\\xac\\x07\\xff\\x43\\x6c\\x53\\xa7\\xd6\\x8b\\x6d\\x4d\\xe0\\x18\\x41\\xf0\\x03\\x12\\xa6\\x43\\x14\\x8e\\x26\\xfe\\x39\\xff\\x9e\\x65\\xde\\xdd\\xc0\\x31\\xb1\\xfa\\x10\\x8c\\xe9\\x76\\xa0\\x05\\x6e\\xe4\\x0f\\x29\\xa0\\xbf\\x7d\\x4d\\x29\\xa1\\x83\\xda\\xe6\\x39\\xc9\\xdc\\x30\\x31\\x8c\\x28\\x5e\\x47\\x8d\\xdb\\xfa\\x77\\x5a\\x5c\\x65\\x13\\x2d\\x8e\\xc9\\xbe\\xea\\xcb\\xd8\\x16\\x6d\\x17\\xa3\\x3b\\x6b\\x12\\xe9\\x0e\\x93\\x7d\\xd5\\x97\\x63\\xb2\\xaf\\x3a\\x96\\xeb\\xa7\\x5e\\x64\\xe5\\x38\\xb2\\x26\\xcc\\x35\\x92\\x7d\\xd5\\xb1\\x9a\\xec\\xcb\\x01\\x1d\\xab\\x04\\x3a\\xb6\\x25\\x76\\x4e\\x28\\x23\\x51\\x11\\x02\\x42\\x81\\x40\\x12\\x74\\x23\\x46\\xce\\x85\\x98\\xf9\\x45\\xa3\\x6e\\xf4\\xf7\\x33\\x66\\x7d\\x61\\xe3\\x47\\xbf\\xe0\\xdb\\x71\\x84\\x52\\x85\\x03\\x36\\xc1\\x61\\x86\\xdd\\xa2\\x49\\x31\\xb4\\x62\\xe9\\xff\\x93\\x21\\xff\\xd2\\x64\\xc4\\x58\\x7d\\x14\\xdb\\x70\\x35\\x50\\x40\\x82\\x74\\x7b\\xd8\\x79\\x56\\x6c\\xb0\\xd5\\x91\\x1b\\xb8\\x23\\xd8\\xb6\\x96\\x8e\\xf5\\x39\\x9c\\xcc\\x0d\\xc0\\x9b\\x9a\\x96\\xe1\\x06\\x5c\\xad\\xe4\\x9f\\xc6\\xc9\\xf3\\x69\\x1f\\x51\\xf4\\x1c\\xb0\\xed\\x6f\\xa0\\x8c\\x69\\x1f\\x22\\xac\\x54\\x3e\\x8b\\x08\\x97\\x8d\\x39\\x54\\x37\\x62\\x04\\xd9\\x4a\\x16\\xd7\\x0d\\xbf\\x8d\\x3c\\x0c\\x65\\xbf\\x8d\\x7e\\x89\\xfd\\xc2\\x77\\x0c\\x1e\\x50\\xe0\\xfc\\x7c\\x5a\\x2e\\x1d\\x63\\xbf\\x3a\\xf0\\x5e\\xfc\\xb4\\xf0\\xdd\\x5f\\x7f\\x8a\\x06\\x4a\\x23\\x1e\\x57\\x7b\\xa2\\x21\\xd1\\x13\\x80\\x3f\\xde\\x90\\x59\\x44\\xb2\\x19\\xef\\x32\\x1f\\x35\\x73\\x66\\xc6\\x87\\xde\\xd1\\xe6\\x8d\\x34\\x3a\\xe8\\xac\\x8a\\x1f\\x74\\xaa\\x8f\\x27\\x9c\\x74\\x36\\xdd\\xfb\\x4d\\xd4\\xca\\x06\\x6d\\x12\\xcf\\x6e\\xa4\\x4d\\x52\\x9a\\xdc\\x19\\xe8\\xcb\\xcb\\xd1\\xd3\\x31\\x5a\\x2e\\xc9\\x8c\\x7d\\x92\\x7a\\x9a\\x0c\\xda\\x74\\x1a\\x29\\x4e\\x77\\xbe\\xac\\xae\\xc4\\xb3\\xaa\\x5f\\x84\\x8a\\xb3\\xd4\\xef\\x5e\\x7c\\x51\\x6b\\xf3\\x31\\x75\\x03\\x1e\\x1a\\x5d\\x0c\\xeb\\x96\\x12\\x32\\x21\\xa3\\x51\\xe6\\xf4\\x7a\\xab\\x08\\x98\\xcb\\xaa\\x6b\\x77\\x14\\x99\\x8c\\xa2\\xc5\\x3d\\x65\\xaa\\x45\\x3a\\xf3\\x40\\xd3\\x62\\x26\\xd6\\x59\\xbb\\x97\\xb6\\x1f\\xd2\\xbe\\xb4\\xbb\\x75\\xb8\\x79\\x50\\xcf\\xc9\\x65\\x81\\x9e\\x25\\x3d\\xab\\xcd\\xea\\x67\\xdd\\x29\\xcd\\xe8\\xde\\x73\\xd0\\xe0\\x60\\xf3\\x41\\x3d\\x61\\x9e\\x32\\xf9\\xa9\\xe8\\x33\\x31\\x13\\xf8\\x86\\x2b\\x64\\x88\\x99\\xef\\x6b\\x48\\x4c\\xce\\xa6\\x87\\xd0\\xf6\\x04\\xab\\xfd\\x67\\x95\\x4b\\x97\\x0c\\x58\\xb2\\xb4\\x72\\xe9\\xd2\\x01\\x4b\\xf9\\x37\\xfa\\x2f\\x5f\\xd6\\x77\\xd9\\xb2\\xfe\\xcb\\x96\\xf6\\xd5\\xf2\\x4e\\x46\\x1f\\xe0\\x27\\xa0\\xb1\\xe2\\x5d\\xc8\\x03\\xb8\\xe6\\xd0\\x59\\x95\\x1a\\x21\\x26\\xe1\\xb2\\xed\\xe5\\xb0\\x60\\xa9\\x98\\xba\\x6c\\x33\\xb3\\x75\\xa9\\x93\\x12\\xe9\\x54\\x6e\\x6c\\x7e\\x45\\xdf\\xbc\\xd6\\x29\\xe9\\x29\\xd5\\xd3\\x5a\\x16\\xc0\\x9b\\x60\\x68\\x5d\\x9e\\x61\\xb8\\x55\\xcc\\xca\\x71\\xb7\\x2e\\x6e\\xdf\\xac\\x73\\x4f\\xf3\\x2d\\xba\\x8c\\x3c\\x4f\\x61\\x71\\x3b\\xb6\\x27\\x22\\xcf\\x8a\\x26\\xae\\xbf\\x54\\x10\\xd3\\x09\\x24\\x2c\\xc6\\x24\\xe0\\x32\\x6d\\x03\\x65\\xd2\\x4d\\xf4\\x2c\\xff\\x34\\xc5\\x2e\\xd1\\x34\\x7a\\xf4\\x91\\xd1\\xa3\\xb5\\xf9\\xdc\\xc7\\xef\\x8c\\xfe\\x2c\\xbc\\xca\\xf4\\xe1\\xd8\\x19\\x3d\\x20\\x00\\x08\\xb1\\xa4\\xf8\\xa1\\xbb\\x66\\x1d\\x17\\x5e\\x55\\x7f\\x37\\x61\\xbd\\xcc\\xf8\\xba\\x8d\\xdf\\x89\\x7b\\x36\\x2d\\x8b\\x9d\\x04\\xd4\\x60\\xdc\\xf3\\xf8\\xac\\xbb\\x84\\x57\\x65\\xf5\\xdf\\x26\\x6c\\xa2\\x70\\xb7\\x83\\xe6\\x50\\x25\\x1c\\x46\\x4e\\xd8\\xa1\\x46\\x45\\x40\\x36\\x9b\\x11\\xd5\\xe8\\x28\\xa5\\x2a\\xcc\\x4f\\xa2\\xfa\\xbd\\xb5\\x11\\x6d\\xb1\\x35\\xec\\xb3\\x7b\\x72\\x6e\\xee\\xd4\\x29\\x33\\x3f\\xa8\\x1f\\x95\\xf2\\x7c\\x5e\\xb7\\xce\\x9d\\x32\\x06\\xcb\\xa3\\xe5\\xb1\\xfc\\x4b\\xfe\\x4c\\x7f\\x51\\x19\\xe6\\xe0\\x6d\\xe2\\xca\\x39\\x6c\\x5e\\xb7\\xf0\\x04\\x8d\\xfa\\xef\\xb2\\xf4\\xa8\\x6b\\x44\\x40\\x44\\xd4\\x67\\xf8\\xd3\\xb8\\xaf\\xf0\\x0d\\xf5\\xdd\\xa2\\x3e\\x77\\x07\\x99\\xdf\\x95\\x81\\xe1\\x6e\\x90\\x49\\x53\\x14\\x02\\x1b\\x55\\x4c\\xaa\\xd8\\x73\\xf8\\xce\\x25\\xea\\xd3\\x1b\\xf1\\xbc\\x8d\\xc2\\x37\\xb2\\x7a\\xd5\\x84\\x75\\xea\\xa5\\x67\\xe1\\x07\\xfa\\x00\\xe8\\x89\\x1e\\x02\\x39\\xdb\\x84\\xdc\\x21\\x23\\xf1\\x53\\x61\\x47\\x86\\xef\\x4d\\x8c\\x31\\xc4\\x44\\x8c\\x06\\xff\\xc0\\x60\\x47\\xa7\\xc7\\x92\\x96\\x97\\xb5\\x66\\x69\\x5d\\x9a\\x5b\\x9c\\x6c\\x7c\\xf0\\x3e\\xb6\\x8f\\xf8\\xf7\\x40\\xee\\x6d\\xc6\\x56\\x8e\\x48\\x09\\xda\\x5c\\x53\\xfe\\xc9\\xbf\\x17\\xe3\\x9f\\x9c\\x6a\\x86\\x6d\\x71\\x39\\xba\\x80\\xad\\x37\\x70\\x36\\x24\\xf8\\x79\\xbc\\x8e\\xc7\\x7c\\x8d\\xcc\\x61\\x1d\\xa7\\xb5\\x1e\\xa3\\x82\\x00\\x83\\xfe\\xaa\\x66\\xf2\\x4d\\x5d\\x0a\\xf9\\xe6\\xd2\\xb8\\x71\\x87\\xc7\\x8d\\xa3\\xfb\\xf0\\x66\\xe8\\xfb\\x11\\xc6\\xe7\\xa9\\x44\\x6a\\x10\\x62\\xbc\\x3e\\x61\\x13\\xc7\\xd5\\xc9\\xe0\\xf2\\xe5\\xbf\\x68\\x5c\\x5f\\x7d\\x8c\\x72\\x7e\\x1c\\x2d\\x86\\xba\\x6f\\x33\\x9b\\x90\\x72\\x40\\x60\\x32\\xa2\\x66\\x0c\\xa2\\xa2\\x3d\\xb3\\x86\\xbd\\xcd\\xac\\x61\\x61\\xcd\\x18\\x86\\xd5\\x4d\\xfc\\x9d\\x78\\xb4\\xf0\\x17\\x4a\\x82\\x79\\xd2\\x2b\\x9c\\xcd\\xa4\\xaf\\xf1\\xf2\\x2e\\x6d\\xc6\\x0b\\xd9\\x46\\x20\\xda\\x56\\x05\\x2c\\xa0\\x5b\\x2a\\x76\\x54\\xcf\\x52\\xcf\\xf7\\x6e\\x9e\\x32\\xc2\\xce\\xa8\\x6e\\xc7\\x5e\\x1d\\x6e\\xeb\\x90\\xe3\\x65\\x74\\xb7\\x7f\\xbb\\xde\\x1d\\x6e\\x13\\x3c\\xf6\\x39\\x40\\x7a\\x0b\\x26\\x94\\x4c\\x70\\xcc\\x59\\x3f\\xab\\xf5\\xc4\\x52\\x58\\xdf\\x47\\xf8\\xe1\\x78\\xb2\\x44\\xe3\\x4d\\xd3\\xfb\\xad\\x2d\\x42\\x36\\xa7\\x4d\\x30\\xeb\\x50\\x4a\\xaa\\x39\\x09\\xd6\\x1b\\x28\\x5f\\xaa\\xb7\\xde\\x78\\xa8\\x39\\x0b\\x69\\xa9\\x09\\xae\\xe1\\x74\\x8c\\x17\\x0b\\x31\\xa3\\xe2\\x13\\xb9\\xbd\\x6f\\xb9\\xc9\\x5f\\x5a\\xa8\\x1f\\x63\\x2c\\xe8\\x53\\x9e\\xd7\\xa7\\x47\\xe7\\xd4\\x92\\x42\\xdd\\x38\\xeb\\x28\\xf5\\xd9\\xda\\xda\\x5a\\xa1\\x34\\x90\\x0d\\xa8\\x12\\xae\\x2a\\x49\\xcb\\x4e\\x2b\\x2d\\x5c\\x34\\xfe\\xc3\\x67\\x9f\\xc5\\xbf\\x6b\\x36\\x94\\x47\\xf8\\x57\\xf0\\x64\\x71\\x3f\\xf4\\xa7\\x35\\x70\\x5b\\x73\\x6e\\x6a\\xab\\xac\\x34\\xaf\\xd7\\x26\\x38\\xcd\\x6c\\x3f\\x50\\x9e\\x53\\x48\\xcf\\x05\\xaf\\xcb\\x6d\\x35\\x45\\xfa\\xba\\x4f\\xff\\xb6\\x47\\xfd\\xff\\xee\\x0b\\xfe\\x95\\x26\\xbd\\xc4\\xba\\x26\\x0f\\xe8\\x5a\\xfd\\x0c\\x0b\\x6d\\x8d\\xbe\\xa0\\xe9\\xd2\\x84\\x17\\x79\\x6d\\xb6\\x00\\x95\\x24\\x20\\xcb\\xd9\\xa5\\xce\\x60\\x31\\xb6\\x6e\\xfc\\x73\\xe3\\xc6\\x3f\\xff\\xdc\\x57\\x53\\xb3\\x6f\\xd7\\x8c\\x19\\x71\\x9d\\xb3\\x12\\xed\\x01\\x59\\x5b\\xa4\\xb2\\x09\\xd5\\xff\\xa8\\x4c\\xc1\\xc8\\xc4\\x14\\xb6\\xa9\\x80\\xa8\\x97\\x82\\x8e\\xd3\\x6e\\xc6\\x9e\\x3d\\xf3\\xd4\\xca\\x9f\\xd6\\xae\\xfd\\x89\\xd6\\xf3\\x44\\x5c\\x30\\x49\\x17\\x98\\x8d\\x55\\xcf\\xe2\\xbf\\xa5\\xb0\\xdb\\x45\\xc5\\xa8\\x03\\xba\\x09\\xf5\\x40\\xbd\\x51\\x18\\xdd\\x86\\xc6\\xa2\\x29\\x68\\x36\\x5a\\x84\\xee\\x42\\xf7\\xa2\\x4d\\x68\\x2b\\x7a\\x14\\xed\\x40\\xcf\\x86\\x06\\x6d\\xeb\\xf9\\xe4\\x93\\x8f\\x4b\\xe4\\xe6\\x9b\\x0b\\x8a\\x3c\\x6d\\xda\\x24\\xb7\\xc7\\xdd\\x94\\x7e\\xfd\\x1c\\x03\\x03\\x13\\x26\\x64\\x4c\\x36\\x6d\\x69\\x3e\\x7d\\x7a\\xde\\xac\\xd0\\xd2\\xa5\\x9d\\x57\\x1a\\x37\\x0f\\x59\\xbf\\x7e\\xd8\\x83\\x23\\xef\\xb9\\x67\\xcc\\xba\\x8a\\xed\\xf3\\x6a\\x8a\\xda\\x77\\x1b\\x38\\x79\\xcb\\xac\\x95\\x9b\\x1f\\x5c\\xb7\\xbd\\xa6\\x66\\xfb\\xba\\x07\\x37\\xaf\\x9c\\xb5\\x65\\xf2\\xc0\\x6e\\xed\\x8b\\xcc\\x3a\\xbe\\xfb\\x23\\xb7\\x3e\\x4e\\x0f\\xa7\\x82\\xaf\\x17\\x02\\xa9\\xcf\\x4f\\xfc\\x49\\xbc\\xc3\\xf6\\x7f\\xf8\\xbb\\xb0\\xe1\\x1a\\x28\\x66\\xaa\\x1d\\x15\\x49\\xa8\\x2b\\x56\\xa6\\x23\\xbd\\x59\\x71\\x51\\xb0\\x30\\x3b\\xf6\\x6e\\x8f\\xbd\\xbb\\x63\\xef\\x38\\xf6\\x2e\\x35\\xf9\\x4c\\xfd\\x69\\x80\\x1e\\x30\\x05\\x13\\xff\\x8f\\xb2\\x4d\\x3f\\x67\\x36\\x69\\x2b\\xde\\x76\\x26\\x75\\x0d\\x4b\\xa3\\x7d\\xb3\\x52\\x2f\\x9d\\x0b\\x13\\xcf\\xe2\\x5b\\x23\\x87\\xd5\\xbd\\xb8\\x27\\x77\\xe3\\xc4\\x89\\xea\\xbd\\x45\\x6d\\xda\\x14\\x6d\\x28\\x2a\\x2b\\x2b\\xfa\\xab\\xb4\\xa4\\x4d\\x71\\x06\\xfd\\xa8\\x02\\xa3\\x2a\\x2d\\x79\\xbe\\x4d\\x71\\x71\\x1b\\x6e\\x40\\x69\\x49\\x49\\x69\\xdd\\xd2\\xb3\\x13\\xf1\\xad\\xfc\\x0a\\x75\\xdf\\xd9\\x89\\x75\\xfa\\x12\\xf8\\xe1\\xee\\xa6\\xaf\\x1b\\x8b\\xdb\\xb4\\x29\\x8e\\x3c\\x5d\\xdc\\xa6\\xa4\\x34\\x9d\\x7e\\xc6\\x6f\\xd1\\x8a\\x6a\\x98\\xd6\\xf9\\x8b\\x56\\xdf\\x48\\x9f\\xaa\\xeb\\x26\\x4e\\x24\\x19\\xb4\\xc5\\xc8\\xcb\\xea\\xbe\\x89\\x67\\xf9\\x25\\x5f\\x4c\\x9c\\x38\\xb1\\x6e\\x1a\\xee\\x79\\x3f\\x94\\xcb\\x83\\x5f\\xf5\\x5d\\x80\\x73\\x1e\\xfe\\xc0\\x1b\\xe1\\x8f\\x41\\xf0\\x47\\x64\\x2a\\x6d\\xfc\\xea\\x17\\xb8\\xdb\\x95\\xa2\\x89\\x5f\\x70\\x1f\\x97\\x04\\xdb\\x46\\x3a\\x16\\x17\\x97\\x3e\\x54\\x54\\x54\\xc6\\x05\\x62\\xa5\\x23\\xd1\\xd2\\xd2\\xe2\\x6f\\xa1\\xa0\\xfa\\x5e\\x9b\\xa2\\xb2\\x1c\\xf8\\x1a\\x60\\xd6\\x4d\\x9b\\x38\\x11\\x77\\xfb\\x42\\xc3\\xd9\\xe9\\xfc\\x7c\\xb4\\x5a\\x4c\\x03\\x9c\\x35\\xed\\xe3\\xc5\\x1a\\x8e\\x1d\\x29\\x51\\xfa\\xcf\\x4e\\x92\\x56\\xd3\\x83\\x24\\x61\\x56\\xec\\x24\\x89\\xc9\\x4f\\xfc\\x2c\\x34\\x84\\xf9\\xb5\\xc2\\xde\\x10\\x6b\\xcc\\x4c\\x6a\\x7c\\xa7\\xb0\\xa9\\xed\\x60\\xc8\\xf5\\x9d\\x58\\xa9\\xfd\\xec\\x43\\x9c\\x21\\x2e\\x67\\xf6\\x33\\xa0\\x84\\xbc\\x51\\x86\\x7f\\x40\\xf8\\x51\\x3e\\x15\\x07\\x28\\x82\\x35\\x35\\x7b\\x51\\xd5\\xb6\\x91\\x1c\\x9f\\x5a\\x2b\\x2e\\x8f\\x8b\\xf2\\x6a\\x2f\\x66\\x44\\x03\\x79\\x45\\xbd\\x01\\x7d\\x16\\xfd\\x23\\x41\\x5e\\x21\\xb8\\x46\\x2f\\xfd\\x6f\\x79\\x45\\x7d\\xe0\\x1a\\x79\\x65\\xba\\x3a\\x00\\xad\\x66\\xe7\\x6d\\xca\\x7e\\x8e\\x50\\xdb\\xa5\\x36\\x48\\x80\\xe2\\xd6\\x4e\\xe8\\x56\\x27\\x1e\\xd0\\x5d\\x53\\x87\\x27\\x5c\\x8d\\xc0\\x4e\\xad\\x62\\x75\\x1a\\xe6\\x72\\x57\\xfd\\x54\\xc2\\x5c\\x7c\\xaf\\x0e\\xc0\\xcf\\xb1\\x3a\\x54\\x1a\\x35\\xe8\\x75\\x46\\x53\\xa3\\xaa\\xf9\\xa7\\x12\\xaa\\xc7\\x4e\\x17\\x31\\x85\\xc2\\xfd\\x43\\x6b\\x3a\\x06\\x4d\\x7d\\x42\\x3b\\x69\\xa4\\xfd\\xd8\\x0e\\xeb\\x53\\x15\\x5b\\x1f\\x51\\xaa\\x41\\x66\\x0d\\x56\\x53\\xa1\\x76\\xc8\\xf5\\xbc\\x96\\xa9\\x8c\\xf3\\x07\\xbf\\x03\\xef\\x13\\x46\\xd1\\x1b\\xae\\x7b\\x08\\xa8\\x77\\xa7\\x58\\xc6\\x25\\xcd\\x43\\x18\\x14\\xd1\\x3f\\xda\\x64\\x67\\xb7\\x29\\xcb\\xca\\x6e\\x23\\x88\\xda\\x7b\\x1b\\x68\\xb3\\x13\\x8c\\xfd\\x48\\xf4\\x35\\x58\\xc4\\x16\\x21\\x3b\\x87\\xb1\\xc1\\x48\\xf4\\x22\\x20\\x94\\xd1\\x24\\x1d\\x05\\x95\\x84\\xae\\x2d\\x55\\xa5\\x1a\\x85\\x29\\xa4\\xcb\\xe0\\x8e\\x2f\\x49\\x76\\x30\\xb0\\xcc\\xbb\\xa6\\xea\\xc6\\x1e\\x3d\\x6f\\x18\\x7a\\x8f\\x77\\xb9\\xbe\\xef\\x5b\\xc1\\x1e\\x99\\x73\\x5a\\x2c\\x5c\\xd0\\x62\\x76\\xe6\\x2d\\xc5\\x34\\x54\\x89\\x7a\\x94\\xe9\\xb1\\x87\\x91\\x9d\\x65\\xc6\\x03\\x2e\\x22\\x0b\\xc0\\x9c\\xad\\x29\\xe6\\x16\\x84\\xb8\\x25\\x7a\\x26\\x9e\\x7f\\x8a\\xbd\\x68\\x84\\x9a\\x5d\\xed\\xa8\\x37\\x6d\\xb8\\xe9\\x00\\x84\\x84\\x2b\\xb4\\x42\\x62\\x80\\x80\\x9b\\xc6\\xf6\\x0c\\x07\\x83\\xe1\\x5e\\x63\\xc6\\xf6\\x1c\\x54\\x58\\x38\\xa8\\xd7\\x98\\xc8\\x9b\\x1d\\xf2\\xf2\\xda\\xb5\\xcb\\xcb\\xeb\\x80\\x2f\\xc4\\xff\\xfa\\xb3\\xe7\\xa8\\x6e\\xdd\\x46\\xf5\\xec\\x39\\xaa\\x6b\\xd7\\x51\\x3d\\x83\\x25\\xf0\\xb8\\x43\\x49\\x30\\xf6\\x4e\\xe7\\xbd\\x0d\\x7f\\x3b\\x7a\\x53\\x2c\\x02\\x49\\xc2\\x5c\\x8b\\x89\\x48\\x13\\x65\\xbf\\xf3\\x25\\x9d\\x3c\\x92\\x5e\\x9a\\x66\\x0f\\x4a\\x6f\\x56\\x4f\\x09\\x45\\x11\\xbc\\x08\\x8b\\xd4\\x6f\\xf7\\xe1\\xa4\\x7d\\x50\\xa7\\xaf\\x5a\\x29\\x2c\\x8f\\xbe\\xc5\\xac\\xec\\x46\\x41\\xa0\\x62\\xcb\\x29\\xed\\x0c\\x96\\x4b\\x0b\\x90\\x20\\xbd\\x09\\x97\\x51\\x2a\\x2c\\xff\\x21\\x72\\x26\\x72\\xfa\\x87\\x65\\x43\\x71\\xf7\\x4b\\x97\\x70\\x8f\\xa1\\x25\\xea\\x6a\\x3c\\x6d\\xf1\\x8c\\x19\\x8b\\xd9\\x7a\\xf7\\xe5\\x8f\\x0a\\xcb\\xc5\\x42\\x06\\x83\\x07\\x09\\x93\\x8b\\xdb\\x8e\\xf1\\x7f\\x83\\x21\\x16\\x36\\x00\\x01\\x18\\x42\\x0a\\xd9\\x2a\\x6c\\x69\\xaa\\x8b\\x91\\xad\\x57\\x0f\\xf0\\xdd\\x85\\x94\\x85\\xac\\x8c\\xfa\\x11\\xd9\\x1a\\xed\\xaf\\xe9\\x57\\xa4\\x49\\x19\\xf5\\x23\\xad\\x0c\\xff\\x9a\\xb0\\x4c\\x88\\x02\\x07\\xb3\\x1d\\x90\\xec\\x4e\\x4b\\x8d\\x81\\xc4\\x8f\\x44\\xa1\\x34\\x15\\x66\\x32\\x33\\x62\\x9b\\x9a\\xaa\\x22\\xd0\\xb5\\x52\\x61\\x59\\xcb\\xda\\xe5\\x9b\\xd4\\x1f\\xd4\\xef\\xd7\\x0c\\x9d\\x9e\\xba\\xac\\xe5\\xab\\x73\\xc3\\xa7\\xee\\xc5\\xf2\\xce\\x87\\xca\\x84\\xe8\\xb6\\x07\\x06\\xf4\\xef\\x37\\x64\\xfd\\xe3\\xcd\\x5b\\x0e\\xd8\\x8d\\xe2\\xf0\\x97\\x8b\\x25\\xda\\x58\\x0d\\x35\\x3a\\x5c\\x3f\\xd6\\xf4\\x2c\\x00\\xcc\\x83\\x18\\x9d\\x16\\x10\\x96\\x2f\\x1b\\xaa\\xee\\xbf\\x74\\x49\\x3d\\x30\\x74\\xd9\\x05\\xae\\x80\\xcb\\xe7\\x5f\\xa3\\xe3\\xc4\\xd3\\xb4\\xfd\\x01\\x73\\x4e\\x4e\\x03\\x6f\\x17\\xe9\\xb9\\x04\\x87\\x45\\x9c\\xc0\\xdb\\x69\\x90\\x02\\x72\\x7a\\x63\\x5d\\x12\\xf9\\x16\\x18\\xfb\\x84\\x19\\x28\\x1a\\x55\\x5f\\xc2\\x5f\\xe0\\x15\\xfc\\x6f\\x8a\\x24\\x8c\\x50\\x6b\\x34\\x7f\\x17\\xf5\\x45\\x78\\xd6\\x95\\x3d\\x1b\\xab\\x2e\\xd4\\xec\\x73\\xd1\\xe3\\xf8\\x02\\xea\\xc0\\xfc\\x7f\\x28\\x06\\x48\\x04\\x8b\\x17\\x51\\x79\\xcc\\x00\\x0f\\xf2\\x13\\x30\\xc1\\xf6\\xb3\\x67\\xcf\\x66\\x77\\x8b\\x46\\x70\\x57\\x23\\x02\\x85\\xf3\\x02\\xc0\\xe9\\xce\\xe0\\x4c\\xa5\\xc1\\x9e\\x18\\xec\\xcf\\xe0\\x59\\x0b\\xea\\x5f\\x23\\xcc\\x8a\\xc1\\xc6\\xea\\x29\\x78\\x96\\xc5\\xff\\xce\\x74\\x3e\\x59\\x76\\x9e\\x0b\\xdb\\xe5\\x4b\\x82\\x5e\\xcf\\x9d\\x0b\\xeb\\x7f\\xa8\\x8f\\x08\\x46\\x4f\\xae\\x94\\xfa\\x40\\x46\\x8d\\x32\\xa4\\xed\\x7b\\xf1\\x86\\x01\\xc6\\x79\\x96\\x07\\x66\\x3e\\xf8\\xc4\\xa3\\x9b\\xa7\\xde\\xef\\x58\\xe0\\xba\\x6b\\xf8\\x00\\x32\\x41\\xfd\\xb0\\xdb\\x2d\\xba\\x89\\xcb\\x4e\\x1c\\x3f\\x72\\x6a\\xd6\\x04\\xc3\\xdd\\x2b\\x59\\xfb\\x6f\\x42\\x5b\\x6d\\xe9\\x1d\\x30\\x61\\x8c\\xba\\x3a\\xd6\\xfe\\xc7\\xf8\\x02\\x4e\\x87\\xb1\\xb9\\x80\\x4a\\x19\\x75\\x8a\\x9d\\x84\\xe8\\x85\\x2f\\x7a\\xd7\\x8b\\xb9\\xbd\\xbd\\xc3\\x64\\x9b\\x6b\\x2f\\x77\\x05\\xad\\x0e\\x69\\x6f\\xc2\\xa5\\xae\\xb9\\xd7\\xdc\\xe7\\xe2\\x5d\\xea\\x65\\x7a\\x97\\x0b\\xda\\xf5\\x42\\x1b\\x3f\\xb0\\xb9\\x98\\x1c\\x79\\x59\\x6b\\x37\\x3a\\x02\\xe6\\xf4\\x28\\xbb\\x77\\xe5\\x08\\xe9\\x6d\\xf5\\x97\\xad\\xb4\\xfb\\xf5\\xd0\\xe4\\xb5\\xd7\\xab\\x36\\xfd\\xf7\\xeb\\x55\\xd1\\x68\\xb4\\x12\\x7f\\x8d\\x5e\\x12\\xd6\\x42\\x3b\\x33\\xa3\\xa5\\xb1\\x39\\xdf\\x09\\x6d\\x87\\xd9\\x9c\\xcf\\x55\\x0f\\xc6\\xc6\\x7c\\x00\\x9e\\xf5\\xe2\\xcf\\x53\\xbb\\x69\\xc8\\x88\\x79\\x83\\xc4\\x73\\x3a\\xe1\\x22\\xa2\\xdb\\x8b\\x05\\x56\\x81\\x9d\\x6d\\xc4\\xe9\\x98\\xdd\\xac\\x24\\xf8\\x8d\\xd7\\xdf\\x58\\x8a\\x85\\xbf\\x56\\x1c\\x3a\\x70\\xd7\\x15\\xac\\x87\\xaa\\x6d\\xd5\\xd7\\xf1\\x5d\\x78\\xaa\\xfa\\x09\\x6e\\xae\\xae\\x55\\x35\\xf9\\x10\\xfd\\xc5\\x3f\\xc3\\x95\\xc4\\xfc\\xda\\x01\\x4f\\xc4\\xeb\\xf8\\xc2\\x93\\xbf\\xee\\x38\\xfd\\x35\\xff\\x8c\\x03\\x9b\\x53\\xd4\\x3a\\x5a\\xe7\\x4e\\xa0\\x7b\\x7b\\xa3\\xb3\\x62\\x75\\x9a\\xfa\\xc2\\x0b\\x9a\\x9a\\xb6\\x17\\x2a\\xad\\x74\\xa8\\xbf\\xa5\\x60\\x9e\\xfa\\xed\\x5c\\x86\\x3a\\x67\\xa2\\x8b\\x14\\x89\\x48\\xb8\\x44\\x1b\\x0f\\xea\\x18\\xbd\\x44\\xf6\\xb0\\x3c\\xa7\\xc3\\x43\\x9d\\x1a\\xe7\\x39\\x0d\\x38\\x26\\x3b\\x6a\\x1c\\x67\\x1c\\x67\\x1d\\x02\\x72\\x28\\x8e\\x61\\xec\\xe3\\x31\\x78\\x20\\xe9\\x69\\x0a\\x54\\x59\\x9c\\x24\\x2e\\x14\\x4f\\x8b\\x3c\\x8d\\x83\\xd3\\x24\\x1b\\x6a\\xf5\\xd0\\xaa\\xf2\\x20\\xe8\\x5a\\x53\\xfe\\xcf\\x39\\x51\\xff\\xf8\\x7f\\x9a\\x13\\x95\\xde\\x41\\x82\\xbe\\xbf\\xc5\\xf7\\xb4\\x65\\xa1\\x2e\\x08\\x59\\x25\\x6e\\x33\\xbe\\xb9\\x2e\\x8a\\x9a\\x87\\x52\\x70\\x91\\xaf\\x9f\\x6f\\xa4\\x6f\\xa9\\x6f\\xbb\\xaf\\xd6\\xf7\\x81\\x4f\\x42\\x3e\\xcc\\xf9\\xb0\\x0f\\xf9\\x92\\x91\\x23\\x33\\xd7\\x5a\\x8c\\xf2\\xab\\xab\\xaa\\x8a\\x19\\x8c\\xd8\\xf8\\x6d\\x59\\xa4\\x58\\x83\\x81\\x4e\\xff\\x2f\\x18\\x0e\\xd4\\x04\\xc6\\x21\\xf5\\x0a\\x5e\\xc4\\xb7\\x55\\x44\\x94\\xca\\xe6\\xf4\\x14\\xff\\x2a\\xfe\\xa7\\x28\\xc1\\xda\\x58\\xf7\\x53\\x1f\\x7f\\x0e\\x35\\xdc\\x21\\xd0\\x56\\xf3\\xd4\\x4d\\xa7\\x4f\\xf0\\xaf\\xa6\\xe1\\x8c\\x4c\\xf5\\x2c\\xd3\\xbd\\x51\\x0a\\xbf\\x9b\\x5b\\x25\\x76\\x8a\\xc9\\xfa\\x6d\\x43\\x7e\\xbd\\xc8\\x63\\x83\\xd9\\x8c\\x45\\x62\\x01\\x41\\x48\\x94\\xd6\\xd1\\x08\\xb0\\x86\\x63\\x22\\x96\\xc5\\x72\\x91\\x03\\x51\\xa0\\xaa\\x2a\\x08\\x6c\\xed\\x9a\\x54\\x3a\\x5a\\x03\\x99\\x31\\x0d\\xfd\\xca\\x4d\\x2f\\xed\\x57\\x3f\\xd9\\x88\\x6f\\xd8\\xc8\\xef\\x4e\\xc3\\x93\\x33\\xd5\\xf5\\x7e\\xa6\\xa0\\xb3\\x7e\\xf3\\x08\\x09\\x7d\\x84\\x25\\x4a\\x16\\xca\\xa0\\x63\\x27\\x65\\xd1\\x09\\xd1\\x79\\xa8\\xe5\\x1e\\xce\\x71\\x28\\x6a\\x08\\xf9\\x1c\\x0e\\x41\\xc8\\xcc\\xf7\\xe0\\x0a\\xcf\\x6e\\x0f\\x57\\xe0\\x19\\xe6\\x59\\xe7\\x39\\xe6\\xb9\\xec\\x11\\x38\\x3b\\x30\\xb1\\x62\\x5c\\x35\\xa5\\x8a\\x4e\\x03\\x8c\\xf7\\x25\\x7c\\x04\\x2f\\xe0\\x1e\\x82\\x51\\x44\\x43\\x32\\x41\\x02\\xcf\\x09\\xf8\\x03\\xe1\\x9c\\xf0\\xbb\\x40\\x04\\xea\\xc8\\xe0\\x9e\\x39\\xaf\\x6b\\x1f\\x61\\x38\\x90\\x55\\x6a\\x8e\\x0c\\x09\\x84\\x17\\x1c\\x02\\x37\\x19\\xbe\\xab\\x09\\xe9\\x6f\\x9f\\xd4\\xb5\\xb3\\xd0\\x4f\\xe0\\x68\\xc9\\x7d\\x23\\x46\\x77\\xa5\\x4f\\xf7\\x0d\\xa9\\xee\\xca\\x3e\\x57\\x0e\\x66\\x9f\\x43\\xce\\xde\\x03\\xba\\x66\\x08\\x45\\x42\\x67\\x81\\x9c\\x13\\xf0\\x6e\\xe1\\x98\\x70\\x26\\x06\\x5b\\xb9\\xb1\\x4b\\xd7\\x02\\x01\\x67\\x08\\x18\\x09\\x8a\\xc0\\xb5\\x67\\x0f\\x4d\\x6d\\xda\\x75\\x7d\\x49\\xc0\\x35\\xc2\\x3a\\x0d\\x6e\\x28\\xb7\\x65\\x41\\x57\\xa3\\x80\\xcf\\x08\\x67\\x05\\x6e\\xbb\\x50\\x2b\\x1c\\x17\\x08\\xed\\x0a\\xbd\\x0f\\x06\\x95\\x2e\\x0b\\xf8\\x11\\x61\\x97\\x00\\x1f\\xb0\\x9e\\x41\\x3d\\x68\\xb6\\x76\\xc5\\x68\\x33\\x73\\x46\\x60\\xf1\\xa4\\xaa\\xaa\\xa6\\x54\\x53\\xc7\\xdf\\xdc\\xa9\\x53\\x73\\xe9\\xa7\\x5c\\xea\\xcf\\x0b\\x3f\\xec\\x53\\x35\\x7c\\x9c\\x12\\xbb\\x60\\xc8\\x9c\\x6c\\xf0\\x91\\x2f\\xbe\\xa0\\x34\\xe5\\x0f\\x98\\xdf\\x9f\\x60\\x7e\\xb3\\x51\\x73\\x74\\x39\\x36\\xc3\\xcd\\xe9\\x0c\\x87\\x0c\\xd8\\x42\\xb0\\xcc\\xcb\\x0e\\x99\\x3b\\x14\\x9d\\x12\\x52\\x64\\x19\\xe3\\x4c\\x94\\x8f\\x30\\x77\\x14\\xe1\\x33\\x08\\x53\\xa0\\xc5\\xb9\\x55\\x30\\xbd\\xe5\\xc5\\x6c\\xad\\xa2\\xbf\\x22\\x24\\x9a\\x19\\xac\\x5c\\xf4\\x63\\x0c\\x56\\x26\\xc0\\x2a\\x09\\x39\\x2b\\xec\\x35\\xf6\\x6d\\xf6\\xdd\\xf6\\x63\\x76\\x81\\x81\\x45\\xb2\\xa2\\x81\\x95\\x65\\x19\\x56\\x10\\xc0\\x4e\\x42\\x47\\xd1\\x69\\xc4\\xd7\\x83\\xc4\\x55\\x0c\\xe6\\xf7\\xc0\\xa0\\xfa\\x33\\x98\\x79\\xe8\\xd3\\x18\\x4c\\x1f\\xc0\\x0c\\x85\\x1c\\x46\\x63\\xae\\x91\\x2b\\x32\\x2e\\x35\\x72\\xd4\\xa9\\x51\\xe2\\x25\\x87\\x04\\x20\\x47\\x87\\x5c\\x92\\x14\\xef\\x69\\x2f\\x54\\x0d\\x80\\x17\\x22\\xbe\\xa6\\x71\\x7f\\xe1\\x03\\xc0\\x7e\\x29\\x7a\\x49\\x78\\x5f\\xd8\\x08\\xb8\\x55\\x58\\xc7\\x20\\xab\\x3f\\x01\\xe4\\xcc\\x90\\x81\\x4b\\x21\\x34\\x6a\\xe5\\x31\\x1f\\xc0\\x1b\\x1a\\x32\\xf8\\x7c\\x3a\\x5d\\x26\\x0d\\xa3\\x84\\xab\\x8a\\xeb\\x47\\x0c\\xb8\\xd9\\x09\\xc6\\xfb\\x0c\\xeb\\x5b\\x7b\\x1a\\x6c\\x92\\xf5\\x6d\\x7a\\x74\\x1e\\xfe\\x22\\x14\\xd5\\x2b\\x78\\x53\\x73\\x05\\x7b\\x94\\xae\\xca\\x40\\xe5\\x90\\xf2\\xa6\\xf2\\xbd\\x22\\xea\\x94\\x31\\xca\\x2c\\x65\\xa5\\xc2\\xbf\\xe1\\x51\\xda\\x28\\xdc\\x53\\xf0\\x94\\xd3\\x29\\x1e\\x28\\xf0\\xa6\\xf2\\x89\\xf2\\x1f\\x45\\x7c\\x40\\xa7\\x60\\xa3\\x5b\\x59\\xa1\\xec\\x50\\xc8\\xcd\\xca\\xed\\xca\\xc7\\x0a\\x91\\x14\\xb7\\xc2\\x1d\\xd8\\xa1\\x60\\x49\\x29\\x55\\xfe\\x4d\\x3f\\x97\\x2a\\x95\\xf0\\xd5\\x4c\\xe5\\x01\\xe5\\x3b\\x45\\x5a\\x5c\\x49\\xbf\\x71\\xc3\\x47\\x5a\\x49\\x68\\x9f\\x0d\\x5f\\xad\\x80\\xaf\\xfe\\xad\\x08\\xf4\\x71\\x36\\x94\\xbe\\x19\\xca\\xcf\\x54\\x0e\\x2a\\x6f\\x00\\xb8\\xef\\x14\\xa3\\xc4\\x1e\\x56\\x42\\x99\\x1d\\xb1\\x47\\xff\\x56\\x0c\\x26\\x51\\x71\\x29\\x9c\\xa8\\x94\\x28\\x33\\x94\\x8d\\xca\\x93\\xca\\xb7\\x8a\\xb8\\x64\\x80\\xf2\\x3a\\xbc\\x13\\x51\\xc9\\x52\\x96\\xc3\\xa3\\xd7\\x15\\x81\\xfe\\x39\\x20\\x56\\xe2\\x80\\xf2\\xa7\\xa2\\x0b\\xd1\\x6a\\x25\\xca\\x68\\x78\\xb6\\x3c\\x56\\xef\\x4f\\xc5\\x90\\xa5\\x74\\x51\\x42\\xab\\x07\\xc0\\xe3\\x03\\x50\\xeb\\x23\\x5a\\x50\\x84\\x12\\x9c\\x22\\x28\\x99\\xca\\x4d\\xca\\x06\\xe5\\x09\\x65\\xbf\\x22\\x4e\\xa1\\x9f\\x8a\\x95\\xfe\\xca\\x28\\xe5\\x4e\\x78\\xf6\\x0f\\xe5\\xbc\\xf2\\x87\\x62\\xa0\\x8f\\x6e\\x62\\x0f\\x97\\x41\\xb1\\x7f\\x28\\x1f\\xb2\\xc7\\x46\\x01\\xca\\xec\\x67\\x1f\\x85\\x4e\\xbc\\x92\\xa1\\x74\\x56\\xfa\\x29\\xd3\\x95\\x5a\\xe5\\xb8\\x72\\x4e\\xf9\\x5d\\xd1\\xf3\\xf0\\x61\\xbd\\x42\\x86\\x13\\x65\\x9a\\xc2\\xcd\\x42\\xd8\\x48\\xb0\\x09\\x99\\x14\\x53\\xc8\\x34\\xcc\\x34\\xd9\\x54\\x63\\x12\\x0f\\x45\\x9f\\x0c\\x19\\x4d\\x26\\x9e\\xa7\\x0e\\xcf\\xbb\\x11\\xd7\\x80\\x07\\xb0\\x6f\\x58\\x36\\xd3\\x29\\x53\\xd9\\x1f\\x53\\x63\\xbf\\x8d\\xdf\\x1a\\x7d\\x47\\xf1\\x06\\xf6\\xcc\\x73\\x14\\x6f\\xc8\\x60\\x43\\x03\\xde\\x94\\x84\\xcc\\xbb\\x72\\x31\\xce\\x22\\x38\\x43\\xc9\\x58\\x97\\x01\\xa8\\xd3\\x31\\xe4\\xca\\xc8\\x48\\x4b\\xcb\\x04\\xb1\\xbf\\x1a\\x3d\\x82\\x88\\x1f\\x5e\\x76\\xa1\\xaf\\x01\\xc9\\xa7\\x34\\x20\\x22\\xc0\\x03\\x09\\x91\\x4b\\x15\\x3b\\x01\\xbc\\xf1\\x80\\x45\\x22\\x69\\x7b\\x3f\\x42\\xff\\x09\\x1d\\x91\\xbd\\x7e\\xef\\xcf\\xde\\xa8\\x97\\xff\\x20\\xdf\\x5b\\xee\\xed\\x45\\xff\\xca\\xa7\\xd7\\x04\\xe8\\xdf\\x5f\\x7b\\xf9\\xed\\xb2\\xf7\\x34\\xbc\\xff\\xec\\xe5\\x27\\x79\\x17\\x7a\\x39\\x5a\\x7a\\x97\\x97\\x4c\\x5c\\xcb\\x9e\\x92\\x7c\\xf6\\x15\\x54\\x91\\xbd\\xb8\\x0d\\xfd\\x2e\\xdf\\x7b\\x94\\x3d\\x10\\x65\\x6f\\xb5\\x56\\x3a\\xea\\x25\\x3a\\xe4\\x05\\x99\\xc2\\xab\\x78\\xcf\\x78\\xcf\\x7a\\xf9\\x80\\xf7\\xb2\\x97\\xa3\\x9f\\xb8\\xe7\\x43\\xde\\x0a\\xed\\x19\\x82\\x17\\x6e\\x9a\\x56\\x84\\x04\\xbc\\x93\\x69\\x01\\xdc\\x61\\x9d\\x77\\x9b\\x77\\xb7\\x97\\xec\\xf6\\x1e\\xa3\\x8f\\x91\\x97\\x7e\\x86\\xc2\\x12\\xe1\\xb0\\xc1\\x60\\xcd\\x82\\x37\\xe5\\x50\\xf4\\x8b\\x5a\\xc5\\x45\\xf4\\x94\\x0f\\x15\\x17\\x23\\xf6\\x8a\\x1b\\xa6\\xf1\\x9a\\x79\\x6d\\x98\\xdf\\x18\\xcd\\xa7\\xf7\\x76\\x33\\x18\\x0f\\x78\\x0a\\x21\\xfe\\x02\\xfb\\xcc\\x62\\xba\\xc3\\x67\\xcc\\xe7\\x0b\\x8b\\x81\\x0f\\xa5\\x84\\x2c\\x84\\x47\\xbc\\x24\\x0a\\x5c\\x75\\x58\\x20\\xc4\\xd6\\x38\\xb7\\x82\\x93\\x7a\\x08\\xf3\\xf9\\x91\\x36\\x47\\x85\\xc5\\x5b\\xae\\xfa\\x84\\x45\\x4c\\xde\\x45\\x1d\\x00\\x7e\\x12\\xf3\\x69\\xb6\\xa0\\x8e\\xa1\\x34\\x11\\xf4\\x06\\x83\\x45\\x10\\x0c\\x1c\\x51\\x64\\x45\\xc1\\x32\\xec\\x42\\x22\\x70\\x16\\xde\\x52\\x1d\\xe6\\x6d\\x06\\xaa\\x0e\\x15\\x32\\x99\\x21\\x88\\x59\\x84\\x1b\\x5b\\xe3\\xe8\\xce\\xce\\xb4\\xd2\\x4c\\x4c\\xe3\\x1d\\x8b\\x12\\xe6\\x6e\\xfc\\x14\\xab\\x57\\xd3\\x31\\xef\\x50\\x9f\\x4f\\x0d\\x72\\x7a\\x7f\\xae\\xfa\\x9c\\xb0\\xe8\\xaa\\x69\\xf5\\x6a\\x99\\x0c\\xed\\xfe\\xa8\\x29\\x30\\x69\\x5c\\xdd\\xf6\\xfa\\x31\\xa9\\x6c\\x4c\\xcd\\x51\\x8c\\x96\\xf0\\x8f\\xb3\\xcf\\x1d\\xe2\\xdf\\x0b\\xda\\x5d\\xe6\\x5c\\xc6\\x7b\\x1b\\xc7\\xe9\\xec\\x15\\xca\\x4d\\x75\\xca\\x72\\x2c\\x4e\\x27\\x0a\\x0c\\x0b\\x70\\x46\\xe2\\x4b\\xad\\x0e\\xcb\\x3e\\xe8\\xbb\\xcf\\xc7\\x1b\\x8d\\xb6\\x6a\\x16\\xb5\\x13\\x86\\x60\\xbf\\x26\\x34\\x64\\x43\\xda\\xde\\x78\\x48\\xcb\\xbf\\x0f\\xdd\\x89\\xd3\\x9c\\x69\\xff\\x23\\x74\\x67\\xdd\\xbf\\xb8\\x1e\\x91\\xfd\\xff\\x2b\\x7a\\x27\\x1e\\xbd\\x0d\\xc6\\x75\\x18\\x16\\x70\\x1e\\x1b\\x57\\x5e\\xfd\\x38\\xcb\\xd9\\xe7\\x56\\x6c\\x6d\\x0d\\x08\\x0b\\x3d\\x61\\x6d\\x75\\xb0\\x32\\x19\\x3a\\x89\\x08\\xa0\\xe5\\xd0\\xab\\x73\\x06\\xfd\\x0c\\xb2\\x9c\\xd0\\x0b\\x70\\x22\\xb2\\x4d\\x32\\xe0\\x02\\x03\\xce\\x37\\x40\\x71\\x4c\\xaf\\xb3\\xd0\\x05\\x0a\\x56\\x25\\x06\\xaa\\x62\\xf7\\x5a\\xb3\\x69\\x46\\x8b\\xa0\\xd0\\xf3\\x84\\x3a\\xaf\\x5f\\x3f\\x75\\xce\\x09\\xae\\xfc\\x75\\x4c\\xce\\xfe\\xf5\\x57\\x1d\\x4c\\x6c\\xac\\x6d\\x91\\x63\\x6d\\x17\\x34\\x99\\xf3\\xd6\\x6c\\xce\\x07\\xc1\\x9a\\x7c\\xca\\x7c\\xec\\x24\\x90\\xa5\\xdb\\x85\\x52\\xa1\\x17\\x50\\x41\\x14\\x4c\\x66\\xa3\\xa1\\x9a\\x45\\xae\\x15\\xa5\\xea\\xb0\\x68\\x43\\xa4\\x3a\\x4c\\xd1\\xa4\\x71\\x4a\\xf1\\x58\\xe8\\x4d\\x66\\x9d\\x86\\x49\\x04\\x44\\x29\\xa6\\xbf\\xf3\\xf9\\xb2\\xab\\x6f\\xf0\\x43\\xae\\x2e\\x22\\xe7\\xea\\x0e\\x0a\\x8b\\xb6\\x5c\\x3d\\xb8\\x65\\x0b\\xb7\\xec\\xa1\\x87\\x34\\x79\\x27\\xb6\\xce\\xd0\\x87\\xc2\\x18\\xae\\xb3\\x3e\\x41\\x0f\\xca\\x43\\x6e\\x24\\x11\\x5e\\xe2\\xf5\\x3a\\xa4\\xc7\\x48\\x5f\\xa3\\x5f\\xa7\\xdf\\xa6\\xe7\\x8d\\x44\\xcf\\xc4\\x09\\x8b\\xb5\\xab\\xb6\\x09\\x78\\xd0\\x39\\x28\\xc2\\x6a\\x41\\x26\\x1b\\x62\\x42\\xa7\\xc5\\x62\\x95\\xf0\\xb7\\x45\\xc4\\xa3\\xfc\\x2c\\xfe\\xec\\x55\\x80\\x7b\\x65\\x61\\xa3\\xfd\\x15\\x64\\x6d\\x4e\\x80\\xcf\\x8f\\x0a\\xf4\\x5c\\xe4\\xa6\\x50\\xba\\x44\\x88\\x41\\xc7\\x71\\x22\\x36\\x62\\xa3\\xd9\\x42\\x80\\xcd\\x56\\x87\\xf5\\x9c\\x8e\\x20\\x9e\\x60\\x03\\x82\\x69\\xa0\\xcd\\xc5\\xa2\\xae\\xd5\\xc7\\x43\\x66\\xf7\\x78\\xa9\\xbf\\x3b\\xf3\\x03\\x08\\x16\\xeb\\xe9\\x39\\x16\\xcc\\x00\\x20\\xd3\\x04\\x2e\\x29\\xf2\\x6f\\xf2\\x5d\\xdd\\x65\\xfc\\x96\\xea\\x22\\x13\\x1f\\xe3\\x6e\\xc4\\x57\\x1f\\xdd\\xa2\\xde\\x38\\x2f\\x72\\x79\\x0b\\xf4\\x05\\xb0\\x80\\xaf\\x65\\x7d\\x29\\x65\\xf3\\xd1\\x12\\xc6\\xdf\\x82\\x7d\\x6e\\xcf\\xd6\\xe4\\xce\\xe8\\x1f\\x20\\xaf\\xac\\xa2\\x67\\xdf\\xb0\\x73\\x16\\x84\\xf2\\x02\\xe6\\x64\\x87\\x28\\x66\\x58\\x25\\x0f\\x42\\x92\\x99\\xb4\\xc8\\xa9\\xcd\\x39\\x97\\xc3\\x6d\\xcb\\xc1\\x19\\x39\\x9d\\x73\\x46\\xe6\\xac\\xcf\\xe1\\x95\\x1c\\xcc\\xa1\\x1c\\x2c\\x93\\x1c\\x3a\\x51\\xc9\\x06\\x73\\xd7\\xe4\\x74\\x7d\\xfa\\xb0\\xb0\\xa0\\xf7\\x65\\x29\\x59\\xc3\\xc2\\x0e\\x45\\x0f\\xff\\x44\\x1b\\x11\\x6d\\x8d\\xb3\\x1e\\x6a\\xaf\\x6c\\x1e\\xd9\\x5d\\xab\\xfa\\x9d\\xdf\\x10\\xe0\\xcb\\x82\\x73\\x31\\x75\\xdc\\x61\\xb1\\x9e\\x51\\x1a\\x73\\xdf\\x09\\x20\\x49\\x49\\x03\\x15\\xb2\\xb0\\x24\\x93\\xc6\\x59\\xb5\\x52\\x9b\\xcd\\x4f\\x0b\\x7f\\xda\\xd6\\xf7\\x85\\xbe\\x8f\\xfe\\xb4\\x00\\xbb\\x31\\xee\\xfa\\xc2\\xcd\\x98\\xc3\\xee\\x63\\xea\\xba\\x82\\x36\\xcf\\xbf\\x58\\x27\\xbd\\xf8\\x7c\\x9b\\xa2\\x03\\x07\\xb8\\xb3\\x9b\\x7e\\x5c\\xfc\\xcd\\x37\\x4b\\x7e\\x7c\\xf0\\x27\\x2c\\x1d\\x38\\xa0\\xfe\\xe7\\x17\\x3c\\x29\\xe2\\x3a\\xf6\\xd2\\x4b\\xc7\\xb8\\x0b\\xb5\\x48\\x9b\\x1b\\x21\\x97\\xcd\\x45\\x3b\\xb6\\x4e\\xf7\\x02\\xfe\\xa6\\xc2\\x3a\\xa5\\xa0\\x79\\xa1\\x32\\x87\\x5b\\x49\\x49\\x31\\x23\\x6a\\xbc\\x72\\x13\\x7f\\x2a\\xef\\xef\\xec\\x5f\\xea\\x5f\\xef\\xe7\\xb7\\xfb\\x6b\\xfd\\xc7\\xfd\\xe7\\xfc\\xbf\\xfb\\x85\\x61\\x7e\\xdc\\xd9\\xdf\\xcf\\xcf\\x05\\xfc\\x05\\x7e\\xce\\xe1\\xc7\\xc8\\x8f\\xcd\\x9c\\x9f\\x4e\\x8a\\x53\\x6f\\xea\\x9a\\xcc\\x99\\xb8\\x61\\x61\\xe5\\x67\\x13\\x36\\x99\\x9c\\x16\\x89\\x20\\x76\\xe7\\x25\\x58\\x96\\x5f\\xd5\\x30\\x0d\\xda\\xe5\\xb1\\x04\\x0a\\xa8\\x21\\x16\\x1b\\x3e\\xd5\\x99\\x5d\\x5a\\xdc\\xd0\\x58\\x88\\x17\\x3a\\x39\\x56\\xee\\x6a\\xdf\\x47\\x7f\\x5f\\x7c\\xf4\\x8d\\x67\\xdb\\xbc\\xd0\\x66\\xf7\\x6b\\x47\\x97\\xfc\\xf6\\x68\\x5f\\xfc\\xcc\\x92\\x1f\\x1f\\xc0\\xa7\\xd5\\x96\\xcf\\xbe\\x45\\xba\\xd5\\x1d\\x7c\\x63\\x17\\x7e\\x5f\\x6d\\xbd\\xe1\\xa7\\xa5\\x6a\\x7f\\x4d\\xdf\\xab\\x84\\x71\\x3e\\x0e\\xb4\\x2e\\x1d\\xf5\\x0d\\xe5\\xa4\\x7a\\x45\\xa3\\xd7\\xe8\\x94\\x9d\\x49\\x69\\xb2\\x81\\xa4\\x91\\x8c\\x4c\\x39\\x13\\x44\\xc8\\x54\\x8f\\x49\\x27\\xfa\\x92\\x7c\\xb0\\x0d\\x93\\x6c\\x08\\x88\\x1d\\x70\\x8d\\x86\\x98\\x75\\xf4\\xa7\\x51\\x6e\\xf2\\x84\\xd8\\xe8\\x98\\x65\\xda\\x92\\xca\\x31\\xd5\\x3e\\x4a\\x6c\\xc5\\x31\\x73\\x9a\\xcd\\x4d\\x95\\x11\\x3f\\xa6\\x91\\x1e\\x11\\x17\\xc1\\xf9\\x78\\xf0\\xc7\\xef\\xf6\\x5e\\xf8\\x7b\\x64\\xdf\\xbe\\x97\\x7e\\xfa\\xe4\\xb3\\x9f\\x5e\\xac\\x8d\\xec\\xfb\\x7d\\x61\\xef\\x33\\x9f\\xe0\\xc1\\xc2\\x46\\x75\\x8f\\xfa\\xd9\\x09\\xf5\\xd9\\x69\\x82\\xb8\\xe5\\x6c\\x35\\x4e\\x39\\xf4\\xbd\\xaa\\x7e\\x7f\\x50\\xfd\\x66\\xd8\\xd9\\x2d\\xa2\\x30\\x05\\xf7\\x7f\\x0b\\x67\\xe1\\x5e\\xda\\x7e\\x96\\x80\\xe1\\x14\\x89\\x7b\\x41\\xff\\xcb\\xa3\\xbc\\x5d\\x8f\\x3f\\x43\\x28\\x29\\x24\\x73\\x98\\xe7\\x85\\x2c\\x0e\\xeb\\xb0\\x4e\\x44\\x1c\\xe3\\x91\\x8c\\x45\\x32\\x1c\\x67\\x38\\x2f\\xee\\x05\\x1a\\x68\\x42\\x0a\\xde\\x0f\\xd2\\xa4\\x49\\x31\\x9b\\x44\\xb3\\x89\\xb7\\xda\\x0c\\x16\\xb3\\xe5\\xde\\xb0\\xde\\x2c\\x22\\xa2\\x23\\x1e\\xd2\\x95\\x10\\x13\\xc1\\x3a\\x7a\\x43\\x69\\x86\\x0d\\x0f\\xb7\\xe1\\x7e\\x36\\xdc\\xc5\\x86\\x4b\\x6c\\x38\\xc3\\x86\\x5d\\x36\\xcc\\xdb\\xf0\\xaf\\x36\\x8c\\xcf\\xda\\xf0\\x19\\x1b\\x3e\\x6e\\xc3\\xbb\\x6d\\x78\\x9b\\x0d\\xaf\\xb7\\xe1\\xc9\\x36\\x3c\\xd2\\x86\\x43\\x36\\x5c\\xc4\\x8a\\x3a\\x6c\\x18\\xd9\\xf0\\xd8\\xdf\\x6d\\xf8\\x5c\\xbc\\x68\\xad\\x0d\\x6f\\xb7\\xe1\\x75\\x36\\x5c\\x63\\xc3\\xd3\\x6d\\x78\\x98\\x0d\\x57\\xd8\\x70\\x67\\x1b\\x0e\\xb0\\xd2\\x00\\x18\\x0a\\x03\\xdc\\x0f\\xe2\\x70\\xb7\\x33\\xb8\\xd3\\x19\\xdc\\x7e\\x0c\\x74\\x01\\x03\\x8d\\x58\\xc9\\xe3\\x0c\\xd4\\x52\\x56\\xa0\\x1f\\x83\\x93\\x11\\x87\\x53\\xa6\\x41\\xd9\\xce\\xbe\\x9e\\x1c\\xaf\\xaf\\xf5\\x8b\\x35\\x13\\x6a\\x43\\x7b\\x75\\x8c\\x75\\x49\\x03\\xa2\\x7d\\xaf\\x55\\x3f\\xc7\\x6a\\xbf\\xc4\\x00\\x40\\x6d\\x6e\\x18\\x6b\\x38\\xdf\\x86\\x65\\x1b\\x6e\\xb8\\x26\\x79\\xbd\\x9b\\x91\\x43\\xff\\xee\\xfa\\xe4\\x7f\\xbd\\x3b\\x59\\x5d\\x5f\\x98\\xee\\x0f\\x5b\\xd9\\x50\\x1a\\xf3\\xee\\x9d\\xc2\\x46\\x4a\\x2e\\x0d\\x53\\x91\\x6e\\x67\\x81\\x15\\xe2\\x5a\\x2e\\xd1\\x1f\\xe1\\x22\\x67\\x4f\\xe1\\xbd\\x78\\xf7\\xa9\\xc8\\x5f\\xd4\\xd5\\x8d\\xeb\\x1a\\x39\\xc4\\x75\\x25\\x65\\x91\\xdb\\xb8\\x47\\x66\\x33\\xaf\\x37\\x9a\\x87\\x3b\\x7a\\x89\\x1f\\x25\\x4a\\xa0\\xeb\\x8f\\xd0\\x34\\x0a\\x4c\\xe3\\x41\\x38\\x42\\x26\\x2e\\xdb\\x9a\\xc5\\x65\\x27\\x65\\xe7\\x88\\x0a\\x53\\xed\\x73\\x35\\xbd\\xbe\\x4b\\xf4\\x12\\x19\\xc7\\xca\\xdf\\xae\\x95\\x47\\x6f\\x69\\xe5\\x31\\x94\\xc7\\xd9\\xdd\\xb2\\x73\\x0c\\x7c\\x62\\xf9\\x71\\xea\\x40\\xf2\\x13\\x2b\\x3f\\x36\\x06\\xbf\\x2c\\x56\\x3e\\x09\\xca\\x27\\x8d\\x4c\\x4a\\x31\\x7b\\x12\\xcb\\xdf\\x05\\x1b\\x72\\x2f\\x2b\\xaf\\xc9\\xa6\\x65\\xef\\x52\\xfc\\xb5\\x62\\x90\\xf2\\x28\\xf9\\x57\\x40\\x57\\x32\\x98\\xa9\\x94\\x57\\xd5\\x50\\x87\\xe6\\xe6\\x50\\xc5\\x4e\\x50\\x67\\x26\\x6b\\xa3\\x2d\\xfa\\x0a\\xda\\x48\\x0b\\x19\\x41\\x2e\\x74\\xb9\\x98\\x78\\x98\\x7c\\x28\\xfa\\x4b\\x6d\\x72\\x33\\x11\\x25\\x8a\\x87\\xb1\\x5c\\x82\\xfc\\x28\\xbe\\x27\\x48\\x39\\x59\\xa8\\x7f\\xa8\\x25\\xc8\\x63\\x76\\xbb\\x09\\xa5\\xa5\\x35\\xf7\\x89\\x6e\\x97\\xe8\\xca\\x6e\\x8e\\x9a\\x63\\x03\\x41\\x69\\x76\\x13\\xaf\\xb8\\x9c\\x8a\\xac\\xcf\\xa0\\x39\\xeb\\x68\\x3a\\x57\\x92\\x10\\x8f\\x8a\\xb2\\xa2\\x46\\x42\\x4e\\xb0\\x21\\xa1\\x65\\x66\\xa3\\x7c\\xeb\\xd4\\xbf\\x98\\x93\\x5c\\x36\\x7a\\x68\\x93\\xad\\x45\\xaa\\x2c\\x65\\xc7\\x37\\xa4\\x47\\xf9\\xae\\xd9\\xa7\\x5e\\xf9\\xf4\\xdd\\x05\\xfb\\x5a\\x72\\xee\\xc2\\x97\\x0b\\xfb\\xe9\\x84\\x76\\xf9\\x07\\x3d\\xe9\\x42\\xe4\\xf8\\xd4\\xa5\\xb3\\x9e\\x48\\x4a\\x79\\x70\\xe6\\xca\\xd9\\x3f\\xae\\x9c\\x4d\\x03\\x51\\xe2\\x64\\x9c\\xb4\\x7c\\xf6\\xcc\\xe9\\xe3\\xd4\\x53\\xc3\\xb7\\xa9\\x27\\x6f\\xef\\xb0\\x36\\x0d\\xb7\\xfe\\xea\\xc4\\x77\\xc7\\xdf\\xff\\xe0\\x84\\x26\\x73\\xae\\x51\\x2b\\xf9\\x6e\\xc2\\x49\\xe4\\x44\\x2d\\x50\\x38\\xd4\\xd2\\xee\\xb7\\xfa\\x0d\\xc9\\xc9\\x28\\xdd\\x6a\\x45\\x2e\\xbd\\x1e\\x66\\x32\\x37\\xc7\\x1e\\xf0\\x07\\xfc\\x34\\x24\\xa1\\x85\\x58\\xb2\\x2a\\xc2\\x16\\xa4\\xf7\\x11\\x6f\\xc3\\xb8\\x12\\x33\\x02\\x35\\x4e\\x34\\xa9\\x45\\x34\\xd5\\xe4\\x38\\x7a\\x76\\x90\\xae\\xd9\\x32\\x4b\\xe2\\x59\\xf9\\x71\\x7d\\xc8\\xfa\\xe2\\x78\\x78\\x41\\x27\\xdf\\xed\\xc7\\x2f\\x0e\\xae\\x10\\xc5\\xda\\x73\\xff\\xfa\\xc7\\xbb\\x5f\\xaf\\xdf\\x59\\xf7\\x57\\xe8\\x89\\xde\\xab\\x1f\\x7c\\xee\\xf1\\x85\\x53\\x66\\xdf\\x71\\xff\\x22\\xbc\\xe1\\xf5\\x6f\\x86\\x4e\\x1d\\xa8\\x7e\\x2c\\x3c\\x0b\\xe5\\x9e\\x8c\\x54\\xa6\\x9c\\x54\\x37\\xe7\\xb6\\x7e\\x68\\xc5\\xbd\\x5b\\xd6\\xf8\\x56\\xcd\\x19\\x3e\\x79\\xf3\\x0e\\x8d\\x56\\x4b\\x80\\x4f\\x34\\x27\\x8a\\x0d\\xdd\\x1a\\x4a\\x31\\x18\\x6d\\x26\\x49\\xa6\\x11\\xf3\\x14\\xc9\\xc8\\x3b\\xec\\x21\\x07\\x46\\x8e\\x02\\xc7\\x30\\xc7\\x3a\\x07\\xef\\xa0\\x7c\\xc6\\xec\\x4c\\xea\\x6a\\x92\\x6c\\x36\\xd9\\x67\\x30\\xb0\\x84\\x26\\xf9\\xe5\\x94\\x3e\\xe3\\xdc\\x06\\xa6\\x52\\x9f\\x2b\\xda\\x9e\\x4a\\xdc\\x25\\x34\\x04\\x10\\xac\\x4f\\x7a\\x49\\xa9\\x74\\xec\\x0f\\xc9\\xe9\\xb0\\xf2\\xae\\xa2\\x9f\\x8f\\xaa\\x73\\x9a\\xb5\\x35\\x1f\\xf5\\x86\\xf8\\xb6\\x91\\x2a\\x57\\xf9\\x8d\\xe5\\xae\\xc1\\xeb\\xb8\\x27\\xae\\x5e\\x1d\\xa4\\xfe\\x32\\xfd\\xd8\\x6f\\xda\\x7c\\xb3\\xfc\\x99\\x2c\\x36\\x5d\\x00\\x24\\xa7\\x80\\x64\\x49\\xa1\\xd9\\xe0\\xbd\\x28\\x60\\xf7\\xda\\xd3\\x9a\\xa5\\x98\\x53\\xcd\\x15\\x61\\x3e\\xd9\\x95\\x8a\\x5c\\x06\\x9a\\x92\\x36\\x1e\\x1a\\x3b\\x41\\x80\\xd1\\xc2\\x24\\x69\\x41\\xd3\\x69\\x9a\\xf5\\x58\\xaa\\x46\\xc0\\x92\\x54\\xce\\xe9\\xa0\\x02\\x72\\x71\\x91\\xad\\x94\\x0a\\x36\\x64\\x58\\x71\\xdf\\x7e\\xfb\\x8e\\x6c\\x5d\\xb5\\x6e\\x83\\x1a\\x7d\\x08\\xb7\\x9f\\x3d\\xb6\\xad\\xaa\\x9e\\xfd\\x97\\x1a\\xb9\\xf0\\x9d\\xfa\\x0a\\xf7\\x25\\xfe\\xb8\\x72\\xd3\\x92\\xca\\xd0\\x4f\\x5b\\x9e\\x3e\\x5c\\xcb\\xa7\\xeb\\xd4\\x97\\xe7\\x3d\\xb2\\xeb\\xf6\\x6f\\xd4\\xdf\\xb1\\xf8\\xdd\\xab\\xd8\\x5d\\x81\\xfb\\xce\\xd4\\xce\\xee\\xb4\\xbd\\x0c\\xb8\\x9f\\x45\\xa3\\x73\\x66\\x24\\x5b\\x03\\x66\\x2b\\x31\\xb8\\x78\\x03\\x9f\\xdd\\x5c\\x6e\\xde\\xab\\x39\\x67\\x00\\xdc\\x4f\\x23\\x66\\xc0\\x92\\x40\\x45\\x58\\xf6\\x83\\xa4\\xef\\xf7\\x4b\\x0e\\x07\\xe0\\x88\\xdb\\xa1\\x48\\x08\\x50\\x45\\x72\\x35\\xba\\x6d\\xdb\\x38\\x96\\x7d\\x7c\\x3b\\xc4\\x87\\x95\\x99\\x68\\x70\\x2f\\x8d\\x07\\xb4\\x69\\x88\\x67\\xe3\\xd4\\xd2\\x53\\xe2\\x37\\x2b\\x77\\xb4\\x1b\\x5b\\xf1\\xd9\\xd2\\xfd\\xaf\\x6c\\x98\\x36\\x6e\\xfe\\xdb\\x4f\\x5c\\x9d\\x5f\\x33\\x64\\xf3\\xe0\\x61\\x5b\\xde\\xda\\xf4\\x60\\xef\\xf1\\x53\\xc3\\x5d\\x47\\xde\\x36\\xfc\\xc9\\x0d\\x77\\xac\\x37\\x72\\xa6\\x95\\x23\\x16\\x3f\\xf2\\xc2\\xc0\\x55\\xfd\\xbb\\x0f\\xee\\xbf\\x22\\x7b\\x40\\x8f\\xca\\x58\\xcc\\xc5\\x01\\xea\\x23\\x64\\x18\\xac\\x45\\x06\\x1a\\x1c\\x72\\x26\\x37\\x6b\\xa6\\xe8\\xfd\\x28\\x49\\x9f\\x94\\x95\\xd9\\x8c\\x21\\x3c\\xef\\x40\\x87\\xa2\\x97\\x43\\x7e\\xbb\\xab\\xeb\\x0a\\xf4\\x00\\xe2\\x3e\\x4b\\xc2\\x4f\\x27\\xbd\\x90\\x74\\x22\\x89\\xac\\x4c\\x7a\\x30\\x89\\x73\\x24\\x21\\x62\\x0a\\xc0\\x42\\xe6\\xd3\\x5d\\x4d\\x29\\x70\\xae\\x35\\x98\\xb8\\x4c\\xf5\\xc2\\x58\\x3c\\xf1\\x1a\\x35\\xde\\x6a\\x97\\x89\\xf9\\x62\\x05\\x17\\x4b\\x34\\xef\\x86\\x0e\\x63\\x67\\x41\\xd5\\xb2\\x92\\x49\\x83\\xda\\x66\\xe4\\x2f\\x70\\x07\\x72\\xfa\\xd6\\x4c\\x1b\\xdc\\xab\\xd4\\xcf\\x75\\x58\\xa8\\xee\\xe0\\x16\\xab\\x5f\\xa9\\x57\\xf0\\xdc\\x1b\\xfb\\x16\\xa7\\xcb\\xcd\\xca\\x06\\x76\\xce\\x9b\\xd8\\xab\\x8d\\xbf\\x4f\\x72\\x46\\x41\\x46\\xaa\\x2f\\xab\\xb8\\xc7\\xa8\\x1b\\xf0\\x72\\xee\\x36\\x9e\\x5f\\xb2\\x50\\x7d\\x41\\x4d\\x67\\x63\\x62\\x74\\x94\\xd9\\xa4\\x6f\\x0d\\xb9\\x90\\xd7\\x0a\\x7b\\xd8\\x6b\\xf0\\x25\\xd5\\xf8\\xf0\\x5a\\x1f\\x46\\x3e\\xac\\x10\\x1f\\x45\\x78\\x9b\\xdd\\xdd\\xd5\\xeb\\xb3\\x3a\\xf5\\x4e\\xa1\\x22\\xec\\x54\\xcc\\xb2\\xde\\x59\\x1f\\x6e\\xcd\\x53\\xae\\xc9\\x54\\x53\\x1a\\xa8\\x14\\xcb\\x07\\xd8\\x28\\x7d\\x2d\\x76\\xc6\\x83\\x66\\x92\\x32\\x2d\\x71\\x6d\\xc6\\x4e\\xab\\x53\\xcb\\x03\\xa5\\x0e\\xe4\\x07\\xd4\\x67\\xac\\x9d\\x3b\\x21\\x7b\\x6c\\x0b\\x9a\\xff\\xe9\\xea\\x0a\\x2a\\x43\\x8c\\x03\\xfc\\xd7\\x0b\\x6f\\xc7\\xf2\\xc7\\xf6\\x0f\\x29\\x34\\x77\\xac\\x05\\x10\\x5d\\x44\\xde\\xa4\\x61\\x49\\x38\\x89\\xc9\\xc2\\x34\\x3f\\x42\\x12\\x76\\x11\\x9a\\x50\\xb6\\x3e\\x8f\\x2c\\xba\\x4e\\x1e\\x59\\xa6\\x32\\xe6\\x56\\x35\\x89\\x58\\x9f\\x98\\x49\\xd6\\x66\\x4f\\x4b\\xc2\\xf6\\x66\\x1c\\x49\\x33\\x60\\x5e\\x7f\\xf9\\xdc\\xd9\\x8b\\xf8\\xdd\\x9f\\xbf\\x56\\x73\\xd6\\x2e\\x15\\x22\\x5f\\x0a\\x8b\\xd6\\xad\\x59\\x2c\\x72\\xe9\\xc2\\x7c\\xee\\x4b\\x75\\x89\\x7a\\x0f\\x9e\\x8f\\xa7\\x73\\x3f\\xa9\\x6b\\xeb\\xdc\\x34\\x46\\xa9\\x7a\\x49\\x3d\\xc7\\x7f\\x0a\\x7a\\xe2\\x79\\x0c\\xea\\xab\\x86\\x33\\x94\\xef\\xac\\x66\\xb9\\x96\\x5e\\x0e\\x2d\\x01\\xa1\\x16\\xb4\\x10\\x23\\x0f\\x0a\\xef\\xd7\\x46\\xbc\\xce\\x88\\x7b\\x19\\x71\\xb9\\x11\\x23\\x23\\x1e\\xf7\\xb3\\x11\\xc3\\xa3\\x47\\x8c\\x78\\xb2\\x11\\x0f\\x33\\x62\\xd9\\x88\\xa3\\x46\\x0c\\x0f\\xcf\\x18\\x71\\x0d\\x2b\\x04\\x0f\\xfd\\xec\\x79\\x29\\x7c\\x71\\xda\\x88\\x77\\x1b\\xf1\\x36\\x06\\x03\\xbe\\xcb\\x67\\xdf\\x41\\xd1\\x63\\xec\\xf9\\xa4\\x78\\xd1\\xb3\\x09\\x65\\xfc\\xac\\x9d\\x78\\x64\\x86\\xc6\\xf2\\xc1\\xd0\\xf8\\x93\\x44\\x39\\xa1\\xfe\\xde\\x3c\\x53\\x7d\\xe2\\x82\\xb1\\xfb\\x8d\\xd4\\x40\\x6d\\x6e\\x66\\x60\\xc5\\x4d\\xa4\\x67\\xdd\\xd3\\x9d\\xe6\\xd0\\x9c\\x93\\x34\\x66\\x27\\x61\\x31\\xf1\\x3b\\x85\\x32\\x91\\x19\\x34\\x2d\\x5e\\x07\\x78\\xc4\\x13\\x93\\xd1\\x5c\\x63\\x3e\\x66\\x3e\\x6b\\x26\\xe5\\x66\\x7a\\x61\\xd6\\xc0\\xeb\\x74\\x82\\xcc\\xd3\\xb8\\x9d\\xa0\\xe8\\x5a\\x81\\xb7\\xd1\\x40\\xbb\\xb6\\xc4\\x8b\\xf4\\x69\\x58\\x62\\xc7\\x56\\x54\\xe6\\x20\\x05\\xea\\x7d\\x4b\\x6b\\x6b\\xf1\\xe7\\xef\\xab\\xdd\\xf0\\x3b\\xf8\\xa7\\x89\\xea\\x42\\xa0\\x94\\xbf\\x71\\x66\\x35\\x3f\\xf2\\x00\\xb4\\x6b\\x01\\x04\\xf9\\x89\\xc5\\xc0\\xea\\x1c\\xca\\x96\\x2d\\x36\\x33\\x72\\x02\\x62\\xe8\\x2c\\xbc\\xc7\\x8d\\x3c\\xd4\\x88\\xbe\\xcd\\xb3\\xdb\\x23\\xe8\\x89\\x0d\\x19\\x5c\\x16\\xa7\\x01\\x30\\xd7\\x90\\x10\\x0e\\x53\\xe3\\xab\\x89\\x36\\x90\\x56\\x24\\x1e\\xe1\\xd1\\x1d\\x8b\\x24\\x07\\x7a\\xf7\\xe9\\xce\\xb9\\xb9\\x25\\xd9\\x29\\x8e\\xf4\\x1b\\x3b\\x8e\\x5f\\xd9\\x03\\x3f\\x73\\xe4\\x74\\x0b\\x8f\\x9c\\xab\\x7e\\xf3\\x12\\xf9\\xc7\\xcb\\x23\\xdb\\x25\\x1b\\x16\\x7b\\xee\\xfb\\xc7\\xd5\\x55\\x5c\\xa7\\xc9\\xa3\\x5b\\x8d\\x8f\\xb0\\xf3\\x60\\x74\\xb7\\x3a\\x93\\x17\\x61\\x3e\\x52\\xd0\\x2d\\x21\\x07\\xf1\\x7a\\x93\\x6c\\x16\\x8b\\x9c\\x24\\xfb\\x53\\x11\\xd0\\x09\\x4e\\x26\\x4c\\x55\\xb1\\x39\\xdc\\x5d\\x89\\x41\\x49\\x71\\x7a\\x15\\xd9\\x22\\x39\\x69\\x34\\x74\\x2d\\x4c\\x62\\x79\\x90\\xd2\\x6f\\xb6\\xa5\\x1a\\xa3\\x69\\x1a\\x50\\x82\\x78\\xea\\x73\\x57\\xec\\x70\\xaf\\x21\\x31\\x3a\\x19\\xca\\x49\\x98\\x6f\\xbf\\x6c\\x54\\x9f\\x59\\x01\\x9e\\x3f\\x70\\x60\\xc1\\xe2\\x79\\x6b\\xf7\\x8b\\xa6\\x55\\xd9\\x33\\x86\\x84\\xda\\xe6\\xf6\\x52\\x57\\x09\\xaf\\x45\\xe6\\x3d\\xba\\xe5\\xc0\\x63\\xdc\\xd8\\xba\\x5d\\x47\\x73\\xd8\\x1d\\x09\\x98\\xbf\\xbd\\x34\\xdf\\x25\\x4e\\x0e\\x7d\\xa2\\x87\\x35\\x94\\x44\\x41\\x90\\x10\\x91\\x2d\\x9b\\x65\\xbc\\x54\\xc6\\xc3\\x64\\xdc\\x59\\xee\\x27\\x73\\x01\\x19\\x33\\xf3\\xf9\\x59\\x19\\x1f\\x97\\x3f\\x90\\xb9\\x6d\\xf4\\xdb\\xf5\\x32\\x37\\x4c\\x7b\\x4e\\xcb\\xf0\\xb7\\xc7\\xff\\xa2\\xdf\\xd0\\x52\\xba\\xcf\\x69\\x69\\xac\\x41\\x1a\\x4c\\x21\\x61\\x1f\\x2d\\x8f\\xb5\\xe7\\x46\\xd9\\x27\\xf7\\x90\\x07\\xcb\\xab\\xe4\\xcd\\xb2\\x58\\x1a\\xff\\xeb\\x6d\\xf9\\x73\\x59\\x2c\\x97\\xf1\\x7f\\x69\\xb1\\x51\\x8f\\x9a\\x7e\\xc9\\x55\\xc8\\x38\\x5f\\xc6\\xcc\\x2a\\x2f\\x19\\x05\\x59\\xe2\\xb5\\x6c\\x15\\x78\\x68\\x5c\\x80\\x4e\\x14\\x8d\\x87\\x26\\x7e\\x6e\\xb4\\x31\\x1a\\xe3\\x05\\x68\\x59\\xe9\\x38\\x88\\x11\\xcb\\x11\\x4b\\xf6\\x9e\\xde\\xb7\\x53\\x9d\\x73\\x18\\x97\\x62\\x43\\xeb\\x3d\\x45\\xa4\\xe7\\xf3\\x6a\\xbb\\xcf\\xf9\\xb6\\x75\\xc3\\xf0\\x60\\x5c\\xb1\\xe2\\x8e\\xdb\\x62\\x7c\\x62\\x1c\\xe0\\x65\\x11\\xe8\\xb3\\xa9\\xbe\\xdc\\x0c\\xbb\\x44\\xf7\\x04\\xf2\\x18\\x15\\x25\\x03\\x65\\x14\\x97\\x10\\xb7\\xc7\\xed\\xa9\\x08\\xdb\\x25\\x8b\\x8f\\x32\\x8c\\x4c\\x60\\x18\\x33\\x81\\xd8\\x2a\\xf0\\x3e\\x0b\\xe1\\x0c\\xe4\\x23\\xd9\\xc8\\x0d\\x5c\\xd1\\xed\\xb6\\x64\\x2b\\x46\\x33\\x4d\\x30\\x62\\x89\\xa5\\x2d\\x08\\x7a\\xf2\\xb5\\xbc\\x17\\x94\\x85\\xe4\\x56\\xe5\\x32\\x4e\\x9f\\x28\\x47\\xc5\\x77\\x53\\x21\\xf3\\x19\\x89\\x71\\xc3\\xd2\\x62\\x89\\x7a\\x71\\x32\\xaf\\x5e\\xec\\x8e\\xbf\\x37\\xe5\\x31\\x03\\x7e\\xf9\\x62\\xe3\\xf3\\xeb\\x16\\xa9\\xdd\\xb9\\x39\\xa7\\x5f\\xbd\\x75\\xed\\xdd\\x3f\\xfe\\x41\\x19\\xcd\\xd4\\xa1\\x1d\\x18\\xa3\\x69\\x39\\x70\\x31\\x63\\x34\\x78\\xf8\\xbe\\xdf\\xd3\\x38\\xe3\\x7d\\x53\\x6e\\x5f\\xed\\xd3\\xe9\\x96\\xcc\\xf7\\xd4\\x8c\\xbf\\x69\\x50\\x91\\x69\\x89\\xff\\xf0\\xfd\\x7f\\xcb\\x76\\x62\\xfa\\x40\\x0a\\xdf\\x13\\x74\\xfe\\x3e\\x6c\\x8f\\xf4\\x8a\\x5e\\x12\\x68\\x1e\\x64\\x3f\\xea\\x1e\\x6a\\xae\\x37\\x18\\xac\\x82\\xc5\\x4b\\x52\\x5c\\x2e\\x42\\x53\\x39\\xc8\\x69\\xf9\\x69\\x9c\\x9e\\x78\\x04\\x8b\\xd3\\x42\\x13\\x07\\x18\\x9c\\x28\\xb9\\x21\\x78\\x75\\x83\\x0d\\x33\\x41\\xd6\\xd2\\x7c\\x36\\x68\\xa0\\xd6\\x34\\x27\\x5d\\xaf\\x12\\x5b\\x07\\xdc\\x4c\\xa4\\x4e\\xcd\\xc1\\x34\\x2d\\x5c\\x75\\xa9\\x53\\xe4\\x47\\x4f\\x1b\\xad\\xde\\x51\\xd4\\xea\\xe5\\xa2\\xb6\\x37\\x6c\\x4b\\xf2\\x8c\\x2f\\xe2\\x33\\x2f\\xe4\\x14\\x0d\\xb8\\xd5\\x31\\x65\\x39\\xf7\\x41\\xd7\\xf3\\x6a\\xee\\xfe\\x77\\xf0\\xe9\\xb7\\x2a\\x5c\\xf2\\x2a\\x93\\x75\\x49\\xa4\\xef\\x2d\\x37\\xe9\\x16\\x39\\x40\\x06\\x5b\\x0a\\x32\\x6f\\x3b\\xbe\\x17\\xc8\\x86\\xa9\\xa8\\x4f\\xc8\\x62\\x47\\x5e\\x83\\xc1\\x88\\x8c\\x01\\xff\\x99\\x00\\x0e\\xd0\\xbd\\x9c\\x0a\\xfc\\x67\\x61\\x00\\xa3\\x40\\x20\\x00\\xdb\\x5b\\x94\\x09\\xcd\\x73\\x26\\x2b\\x06\\x1f\\x49\\x6e\\x2a\\xf7\\x32\\xd3\\x6b\\x22\\x03\\x62\\xf8\\xd5\\xb0\\xa7\\x8b\\xa8\\x38\\x6f\\xa3\\xd7\\x80\\x02\\x5e\\x4d\\xde\\xe5\\xdb\\xfd\\xf6\\xea\\x1d\\xdb\\x42\\x3c\\x5f\\xfb\\xeb\\x87\\x6b\\xce\\x2d\\x78\\xe5\\x99\\x75\\xea\\x5f\\xa5\\x4f\\x0d\\x5c\\x78\\x0f\\xc7\\xff\\xa4\\x7e\\xd4\\xb9\\x47\\xfb\\x72\\x9a\\x1e\\xff\\x0f\\xec\\xbc\\x57\\xfd\\xed\\x89\\x77\\x7f\\x54\\x67\\xaa\\xaf\\xdd\\xd4\\xf3\\x83\\xb8\\xbc\\xb2\\x85\\xe5\\xa4\\xbf\\x3d\\x64\\x0d\\x58\\x0d\\xbc\\xc7\\xe0\\xc9\\x48\\xaf\\xce\\xc0\\xbb\\x33\\x30\\xc9\\x60\\xa7\\x85\\xd0\\x71\\xc9\\xe1\\xa1\\x98\\x27\\x7b\\xfc\\x1e\\x0e\\xf1\\x0a\\xcf\\x59\\x45\\x9e\\xa2\\xa5\\x15\\x1e\\x3a\\x78\\x0f\\x31\\xa7\\xa5\\xa4\\x80\\x4c\\x96\\xa2\\x98\\x41\\x72\\xa1\\x53\\x4f\\xcd\\x63\\x5a\\xbc\\x28\\x6a\\x4c\\xa9\\xaa\\x1f\\x0b\\xbb\\x6e\\xcf\\x44\\x2d\\x3f\\x76\\xd5\\xa3\\x56\\x16\\x0b\\x85\\x42\\x7d\\x46\\xa9\\x27\\x04\\xd7\\xa5\\xcf\\xb2\\x41\\x8b\\x5e\\xbb\\xe3\\x43\\x86\\x53\\x23\\x1f\\xdf\\xfb\\xe4\\xad\\xbd\\x16\\xed\\x99\\x34\\x6a\\x63\\xa7\\xe9\\xd5\\xe4\\x95\\x39\\x7f\\xce\\x5e\\xb4\\xa4\\x3c\\xbd\\xcb\\x13\\x31\\x04\\x2a\\xb8\\x21\\xaf\\x60\\xca\\x9e\\x15\\x93\\xfe\\x7a\\x6e\\x68\\x49\\xe7\\x99\\x23\\xe3\\xf2\\xf0\\xbb\\x2c\\x87\\xbd\\x0f\\xe5\\x87\\xdc\\x6e\\xd1\\x6a\\x04\\x51\\x20\\x39\\xc5\\xec\\xd0\\x3b\\x40\\x83\\x92\\x13\\x35\\x8d\\xc6\\xc2\\x15\\x9d\\xe8\\x98\\x39\\xb8\\x05\\xbd\\x27\\xe3\\x4c\\xc5\\x92\\x92\\x4d\\x45\\x14\\x60\\xfc\\x25\\x7c\\x81\\x7a\\xf5\\xfc\\xe5\\x28\\xc2\\x79\\xd8\\xc5\\x95\\x3d\\xb1\\xbe\\xf7\\xcd\\x87\\xe7\\x85\\x0f\\xbd\\x87\\x73\\x1e\\x78\\x18\\x5f\\xfc\\x45\\xfd\\x15\\x7b\\xb1\\x84\\xf5\\x38\\x73\\x89\\xc8\\xcf\\xfe\\x6a\\x0e\\x8a\\x9e\\x39\\x7b\\x42\\x1d\\xf1\\x8a\\xc6\\xe3\\x53\\x40\\xde\\xf5\\xb0\\x5c\\x78\\xb7\\x84\\x3c\\x8a\\x9e\\x18\\x8d\\x4e\\xa7\\xdb\\x53\\xee\\xc1\\xc7\\x3c\\x78\\xad\\x07\\x23\\x0f\\x68\\x7a\\x1e\\x3a\\xdd\\x56\\x8b\\xb5\\xab\\x0d\\x30\\xda\\xe6\\x32\\xb8\\x24\\x40\\x11\\xa9\\x3e\\x99\\x5c\\xfd\\xd1\\x27\\x73\\x05\\xa6\\xf8\\x4c\\x27\\x33\\x8e\\xbf\\x69\\x31\\xfc\\x65\\x81\\x88\\xb1\\x57\\xc3\\x5d\\xae\\xb3\\x7a\\x86\\x22\\xef\\x0d\\xd3\\x46\\x93\\x83\\x8d\\x50\\x96\\x62\\x33\\x8a\\xe5\\x96\\x54\\xa1\\x5f\\x4e\\x74\\x63\\xc8\\x26\\x23\\xbd\\x88\\x40\\xf7\\x3c\\xeb\\xc6\\x3f\\xbb\\xf1\\x30\\x37\\x76\\xb3\\x1e\\x01\\x17\\x92\\xdd\\xd0\\x3f\\x5b\\x93\\x84\\x93\\x9a\\x9c\\x94\\x68\\x77\\x6d\\x94\\x75\\x92\\xaa\\x61\\x5a\\xda\\x49\\xf5\\xc2\\x77\\x5f\\x9f\\xd8\\x7f\\xe7\\xf2\\xfb\\xe7\\x77\\xc9\\xd3\\xd2\\x4e\\x7e\\xae\\x7e\\xf4\\xc1\\x37\\x5a\\xda\\xc9\\xd3\\xbf\\xd4\\xe0\\x56\\xfd\\x59\\xda\\x49\\x58\\xbb\\xfe\\x34\\x07\\x0d\\xdf\\x07\\x64\\xcd\\x66\\x68\\x40\\xa8\\x95\\x59\\x51\\xf4\\xc0\\xaa\\xec\\x42\\x12\\x42\\xc0\\xa5\\xd3\\x81\\x36\\xe2\\x14\\x62\\x02\\x6a\\x67\\x32\\xb9\\xdd\\x29\\x34\\x0b\\x7d\\xc0\\x2e\\xda\\xa1\\x53\\xa2\\x8b\\xe6\\x93\\x2d\\xaf\\x8f\\xd2\\xcf\\xd2\\xb5\\x34\\xe1\\xdf\\xf5\\x9d\\xa4\\xf2\\x43\\x16\\x07\\x1b\\x89\\x2a\\x05\\x34\\x65\\x27\\xd3\\x20\\xd9\\x96\\x6a\\xe6\\xc5\\x1d\\x31\\xff\\x59\\xe4\\xdf\\x3b\\x7f\\xfd\\xe3\\xeb\\x7f\\x38\\xe7\\xd5\\xdc\\xff\\xc0\\x43\\x0f\\xef\\x38\\x7a\\xb8\\xb2\\x62\\xdd\\x63\\x1b\\xb8\\x62\\xf5\\xb2\\xfa\\xb1\\x45\\x1d\\x8b\\x1f\\x30\\xc2\\xce\\x33\\x7c\\x87\\x73\\x02\\x2b\\x7d\\x9f\\x1d\\xfa\\xf0\\x84\\x8e\\xeb\\xfc\\xca\\x07\\xea\\x17\\x7f\\xbc\\xf2\\xbe\\xfa\\x5b\\xe4\\x05\\xe9\\x33\\x3a\\xb7\\x4e\\x10\\x5a\\x7d\\x7c\\x05\\xcc\\xed\\xe4\\x90\\xd7\\x6a\\xb3\\x39\\xed\\x0a\\x22\\xbc\\xc3\\x80\\x39\\x07\\xe7\\x76\\x65\\x00\\xf9\\x76\\x63\\xbd\\x72\\x28\\x7a\\x26\\xd4\\x1c\\x16\\xdd\\xa5\\x60\\x41\\xc1\\x26\\x1f\\xc2\\x66\\x04\\x5d\\x44\\x01\\x93\\xdc\\x15\\xd9\\x89\\xc2\\x63\\xab\\x6c\\x92\\x68\\x3e\\x14\\x27\\xf6\\xb1\\x14\\xd7\\x48\\x33\\x3f\\x53\\x64\\xa0\\x5b\\x0c\\x0f\\x8d\\xef\\x2f\\x16\\xa8\\x89\\x99\\xa1\\x33\\xa9\\xcf\\x4b\\x43\\x34\\x6a\\x37\\xb3\\xcf\\xa4\\x73\\xa9\\xea\\xbe\\x97\\xf1\\xa1\\x9d\\xdd\\x6e\\xcc\\xf2\\xb9\\x9b\\x15\\x77\\x1a\\x30\\xbe\\x62\\x0d\\xd6\\xbd\\xa4\\xae\\xc3\\x1b\\x8f\\xfc\\x1c\\x19\\x4b\\xca\\x70\\xe5\\xbd\\xdd\\x0d\\x4b\\x1c\\x23\\x9f\\x54\\x3f\\xe5\\x7c\\x91\\x9b\\xeb\\x3e\\x66\\xb8\\xbb\\x42\\xad\\x14\\xf2\\x84\\xf6\\xc8\\x8d\\x86\\x85\\xda\\x02\\x92\\x18\\x0c\\x4e\\x23\\x11\\x45\\xa3\\x4c\\x3c\\xde\\x02\\xef\\x30\\xef\\x3a\\x2f\\xf1\\xb3\\x08\\x65\\xbb\\x68\\x7c\\xb0\\x02\\x6f\\xc8\\x3b\\xd9\\xcb\\x5b\\x88\\xcb\\xc5\\x2b\\x20\\xc5\\x9a\\x40\\x6e\\xd1\\x9b\\x5c\\x86\\x84\\xd5\\x09\\x06\\xf3\\xb1\\x86\\xca\\x4d\\xed\\xab\\x99\\x1d\\x35\\x19\\x52\\x14\\x60\\x85\\x32\\x62\\x98\\xe4\\xb6\\x06\\x49\\xab\\x83\\xf7\\x1e\\xf8\\x45\\xfd\\x6d\\xa7\\xfa\\xc7\\xaf\\xfb\\xd7\\x1d\\xda\\x39\\x93\\x5b\\xfd\\x3c\\xb7\\x3c\\x32\\xef\\x97\\x8f\\x39\\x75\\x3c\\xde\\xc0\\x7d\\xf4\\x2b\\xb7\\x34\\x32\\x67\\xe7\\xbd\\x1c\\xff\\x0f\\x6d\\xbf\\xf5\\x05\\xde\\x71\\x11\\xe8\\x71\\x0e\\x9a\\x13\\x4a\\xf6\\xeb\\x9b\\x89\\xcd\\x7c\\x0e\\x84\\x9a\\x8b\\x16\\x4b\\x73\\x1f\\xc9\\xcd\\x43\\x79\\xb8\\x20\\x0f\\x5f\\xce\\xc3\\x79\\xf1\\xdc\\x69\\xbb\\xf2\\xbe\\xce\\xe3\\x50\\x5e\\x20\\x2f\\x94\\x47\\xf4\\xc4\\xd9\\xa2\\x85\\xc7\\x40\\x32\\x3d\\x99\\x15\\x61\\xab\\xc7\\xe5\\xd7\\x1b\\xf4\\x15\\xe1\\x54\\x03\\xcb\\x97\\x1d\\x73\\xe3\\x8a\\xe7\\x45\\x88\\x53\\x6b\\x9a\\xe2\\x4a\\x1b\\x8a\\x16\\xf0\\x99\\xf9\\xd2\\xc5\\x5d\\x19\\xb3\\x4b\\x41\\x8f\\xd6\\xfc\\x6b\\x62\\x69\\x69\\xea\\x51\\x2f\\x48\\x33\\x4e\\x05\\xc9\\xb4\\xa9\\xa3\\xa7\\x4e\\x59\\x3a\\xc7\\xbd\\xf8\\xf0\\xa8\\xd3\\x47\\x16\\x6c\\x6d\\xc6\\x37\\xdb\\xba\\xe0\\xc8\\xe9\\x7f\\xbd\\xea\\x9e\\xb9\\x62\\xd2\\xd4\\xd1\\x33\\x9e\\xc4\\xaf\\x6c\\x7d\\xee\\xc5\\xd3\\x2f\\xfc\\x9c\\xbc\\xca\\xf9\\x68\\xe4\\x81\\x28\\x52\\xbf\\x5b\\x74\\xf7\\xdd\\x8b\\x80\\xe2\\xa0\\x0b\\x38\\x14\\x58\\x95\\x74\\xf1\\xe8\\x3b\\x2f\\x3d\\xb7\\xb5\\x8e\\xf9\\x11\\x9c\\x82\\x09\\xb8\\x22\\xcc\\x8d\\xdb\\xb1\\xd0\\xb8\\x6d\\x08\\xa5\\x84\\xf4\\xda\\x79\\x25\\x87\\x2d\\x87\\xa2\\x9f\\xd6\\x5a\\x4c\\xb1\\xe3\\xca\\xb8\\x29\\x36\\x6e\\xcb\\x62\\xf5\\x98\\x2d\\x0b\\x8d\\x43\\xbf\\xa2\\x58\\x4d\\x6a\\xca\\xe2\\xa8\\x22\\xf5\\x7b\\x6d\\x92\\x27\\x66\\xc9\\xd2\\x6a\\xc6\\xf9\\x36\\xb5\\x9b\\x51\\xbe\\xcd\\xec\\x6c\\x2d\\x62\\x76\\x3c\\x37\\xd4\\x72\\x77\\x71\\x27\\x69\\x35\\x1a\\xdb\\xcc\\xa4\\x7a\\x9b\\x59\\x19\\xaa\\x8b\\xd9\\xe5\\xa0\\x15\\xf8\\x75\\x79\\x1b\\x97\\x67\\x6b\\xc9\\xca\\xcf\\x8d\\xc1\\x8f\\xc6\\xca\\xe7\\x42\\xf9\\xdc\\xd2\\xdc\\x56\\x3e\\x4b\\x7d\\x79\\xd0\\x07\\xa7\\x41\\x7f\\xd2\\x59\\x3e\\xea\\x6c\\xd4\\x1a\\x0d\\x0d\\x15\\x25\\x73\\x1c\\x6a\\xa5\\x34\\x77\\xbb\\x9b\\xe9\\x15\\x7d\\x61\\x50\\x84\\x55\\x2d\\x48\\x02\\x9a\\x11\\x10\\xb1\\x5c\\xe0\\x2f\\x00\\x31\\x42\\x2c\\x10\\x0b\\x4c\\x76\\x7b\\x2e\\x48\\x5c\\xc8\\xe4\\xef\\x4d\\x13\\x80\\x34\\xce\\xcc\\x46\\x17\\xb9\\x2c\\x37\\x21\\x8a\\x35\\x3d\\xec\\xd2\\x02\\x10\\x3a\\xdd\\xf1\\xd0\\xbc\\xb0\\xbe\\x9a\\xb1\\x2d\\x16\\xb2\\x8c\\x24\\xb8\\xb2\\xc6\\x7c\\xad\\xe0\\x01\\x6e\\x97\\x25\\xe4\\x1c\\x1e\\xf1\\xd1\\x0f\\x17\\x3f\\x7a\\xf2\\xcb\\x09\\x7f\\x5e\\x19\\xfa\\x60\\x78\\xcf\\xda\\xc7\\x67\\xaf\\x5a\\xb4\\x68\\xd5\\xdd\\x35\\x8b\\xef\\xc1\\xfb\\x87\\xf4\\xec\\xb9\\xa8\\xc5\\xb4\\xb5\\xdb\\xf8\\x9c\\x25\\x1b\\xa6\\xf7\\xa8\\xfa\\xfa\\xe4\\xa9\\x7f\\x6d\\xc4\\xed\\x71\\x06\\x9e\\x8b\\x27\\x75\\x98\\xde\\x7b\\xea\\xb2\\xc8\\xeb\\xf7\\x3e\\xb4\\x79\\xdd\\x7d\\x1b\\x37\\x71\\x4f\\x96\\x74\\xe8\\xda\\xb5\\x17\\xd0\\x4d\\x3d\\x8c\\x99\\xc6\\x84\\xcc\\x45\\x41\\x54\\x15\\x2a\\xcc\\xcb\\xc9\\x09\\x60\\xa7\\xb1\\x75\\x86\\x57\\x52\\xa4\\x0c\\x23\\x16\\x8a\\x8b\\x6c\\x40\\x34\\x71\\x20\\x2f\\x50\\x11\\xce\\xc9\\xf3\\xda\\xf2\\x6c\\x79\\x42\\x76\\x76\\x7e\\xef\\x70\\x36\\x12\\x40\\x00\\x11\\x9a\\x8e\\xb7\\x4c\\xb3\\x3b\\x34\\xc9\\x6d\\xa1\\x85\\xca\\x74\\x70\\x62\\x7a\\xc0\\x5a\\x54\\x4a\\x93\\xd5\\xc7\\xc3\\xdd\\xd7\\x67\\x43\\xb6\\x15\\x67\\x65\\x68\\x5e\\x8d\\x36\\x7b\\x90\\x11\\x54\\x78\\xce\\x57\\xdc\\xb6\\xec\\x87\\x8d\\xea\\xbb\\x1e\\x4f\\xdb\\xd6\\xc3\\x3c\\xe3\\x7a\\x55\\x8d\\xf1\\x78\\xfb\\x74\\xb9\\xfd\\xe1\\xa1\\x6f\\xa8\\xff\\xbc\\xfb\\xe4\\xce\\xe3\\x67\\xf8\\xdb\\xa2\\x4b\\x67\\xbc\\xf3\\x23\\xf7\\xd7\\x57\\xea\\xbd\\xc7\\xb0\\xa9\\x75\\x55\\x55\\x7a\\xfb\\xd6\\xab\\x4b\\x46\\x0c\\x2c\\xac\\xaa\\x2a\\xbc\\xa1\\xdb\\x56\\xdc\\x6e\\x0f\\xb9\\xed\\xd9\\x19\\x9b\\x6a\\xd5\\x4f\\xd4\\xb3\\xf8\\x84\\x7a\\x62\\xee\\x12\\x6d\\x9f\\x97\\x21\\x24\\xea\\x85\\xd5\\xc8\\x81\\x5a\\x85\\xdc\\x8a\\x6c\\x32\\x13\\xb3\\x4c\\x9c\\x2e\\x83\\x15\\xde\\xcc\\x36\\x24\\x35\\x1c\\x96\\x50\\x8d\\xa9\\x51\\x06\\xdf\\x78\\xc2\\x0a\\x09\\xd3\\x14\\x6b\\x40\\x1f\\x3b\\x62\\xc1\\xdc\\x7e\\x59\\xbb\\x7e\\x49\\x43\\x33\\x33\\x5a\\x07\\xd4\\xa9\\x47\\x22\\xff\\xfa\\x08\\x3f\\x8b\\xfb\\x95\\xce\\x12\\x56\\xb7\\x0c\\xae\\xf4\\xb4\\x4c\\x29\\x88\\x3c\\x53\\x6f\\xc7\\xb6\\x0c\\xb8\\x19\\x70\\x33\\x19\\x21\\x69\\x99\\x70\\x52\\xc9\\x26\\x4b\\xf0\\x3c\\x86\\x9d\\x85\\x51\\x6a\\x35\\x91\\xf6\\x62\\x0f\\x89\\xf9\\xce\\xb0\\x3e\\xd2\\x73\\x11\\xb2\\x84\\x96\\xd0\\x63\\x3c\\x3b\\xbe\\xaf\\x92\\x93\\x05\\x6d\\x5f\\x6d\\x81\\x7d\\x25\\x93\\xc4\\x1d\\x49\\x50\\x05\\xf0\\xc2\\x5c\\x58\\x53\\x19\\xa4\\x86\\x14\\x90\\x2a\\x5b\\x2a\\x26\\x87\\x5e\\x96\\x61\\x37\\xb9\\x79\\x1e\\x99\\x88\\x3f\\xd5\\xe2\\xa0\\x19\\x1d\\xf5\\x76\\x2a\\xd5\\x48\\x48\\xf4\\x55\\x84\\x45\\x19\\x27\\xb1\\x84\\x6f\\x3e\\xd4\\x90\\xa1\\xa4\\x49\\x9a\\x92\\x06\\x33\\x12\\xcb\\x37\\x9a\\x09\\xcf\\x5c\\x36\\xab\\x22\\x58\\xed\\x40\\xa9\\xac\\x1d\\x71\\x26\\x25\\xb9\\xa0\\xd8\\x7e\\x7b\\xe2\\x14\\xde\\xb8\\xfd\\x83\\x53\\x6a\\xf5\\x85\\xc9\\x73\\xe6\\x4c\\x8e\\xdc\\x3f\\x7e\\xfa\\x9d\\xe3\\xd4\\x4a\\xfc\\xa4\\x17\\xdb\\xff\\xc0\\x17\\x8a\\xf0\\x3a\\x75\\x8a\\x43\\xfd\\x8f\\x1a\\x51\\xcd\\xad\\xd4\\x41\\xe4\\x8d\\xc3\\xaf\\x3b\\xeb\\xde\\xf1\\xbc\\x7d\\x70\\xd7\\x5b\\x7e\\x92\\x9b\\xc2\\xee\\x50\\xa2\\x3e\\xb0\\x77\\x7f\\x04\\xf9\\xc2\\x8d\\x5a\\xa2\\xc1\\xa1\\x7c\\xe2\\xf3\\x71\\x62\\xae\\xa9\\xb9\\xab\\x59\\x33\\xb7\\xdd\\xde\\x5c\\x24\\xf9\\xc0\\xe2\\x91\\x02\\x1b\\x52\\x71\\xb5\\x68\\x41\\x3c\\x7a\\xd0\\x79\\xf4\\x2e\\xe2\\x77\\x23\\x77\\x43\\x1e\\xdd\\x60\\xbd\\x69\\xa6\\x3c\\x31\\xd3\\x55\\x1c\\x25\\x83\\xb1\\x64\\xba\\xe9\\xb0\\xeb\\x1a\\xd3\\xd8\\x92\\xd2\\x74\\xac\\xd1\\xdf\\xb4\\x38\\xad\\xd5\\x38\\x4a\\x1f\\x61\\xf3\\x84\\x82\\xb2\\x04\\x42\\x5b\\x12\\x1c\\x4b\\xae\\x4c\\x9f\\xde\\xb1\\xa0\\x6e\\x57\\xeb\\xf6\\xd3\\xa7\\x03\\xc1\\x9d\\xc1\\xb7\\x5d\\x55\\xf5\\xfd\\xa8\\x44\\x4a\\x3b\\xee\\xab\\xe1\\x75\\x6f\\x1e\\x3b\\x31\\xe3\\x72\\xb7\\x1e\\xbf\\x4c\\x7b\\xeb\\xe8\\x73\\x5b\\xf1\\x30\\x75\\xdb\\xd6\\xe7\\x18\\x1e\\xd2\\x3c\\xc1\\x8f\\xf0\\x1d\\x61\\x94\\x3d\\x43\\xb9\\x9c\\xde\\x82\\xf9\\x1c\\xbb\\x3b\\x2b\\x39\\xd9\\x9d\\xc6\\xeb\\x85\\x56\\xf9\\xd9\\x20\\x72\\x66\\xbb\\x52\\xd3\\xfb\\x86\\x53\\x7d\\x36\\xc4\\xd9\\x65\\xa3\\xd8\\x37\\x6c\\x94\\x39\\x67\\x7d\\x92\\x80\\xb2\\xa6\\x8b\\x14\\x1b\\x98\\x1e\\xa7\\xd9\\xac\\x09\\xfb\\x8c\\x93\\xdc\\x38\\x4d\\xe4\\x9c\\x34\\x3e\\x81\\x55\\x89\\x87\\xf1\\xef\\x80\\xa9\\x12\\x67\\x2b\\x25\\xd3\\x23\\x9f\\xaa\\xff\\xfe\\x69\\x66\\x4a\\x9b\\x66\\x37\\xf4\\x98\\x37\\xa7\\x24\\x43\\xe0\\x02\\xd8\\x3c\\x69\\xf6\\xcc\\x9c\\xc2\\xcb\\xa1\\x1b\\x73\\x8b\\x4b\\xdb\\x8c\\xb8\\xad\\xb8\\x19\\xf1\\xd7\\xfd\\x13\\x57\\xe0\\xb1\\xdf\\x59\\x36\\xd9\\x1f\\xdc\\x7f\\xa7\\xfa\\x53\\x37\\x8e\\xf8\\x36\\xaa\\xf7\\x1c\\xfd\\xce\\xac\\x7e\\xaf\\x7e\\x62\\x7a\\xd4\\xdc\\xb9\\xf7\\x48\\xcb\\x86\\x27\\xef\\xc1\\xae\\x1b\\x60\\x0d\\x6f\\x03\\xfe\\x4f\\xfd\\x31\\x64\\x40\\xaa\\xc2\\x50\\x92\\x62\\x04\\x84\\x04\\x04\\x34\\x92\\x94\\x64\\xc9\\x5e\\x1d\\x96\\x78\\xec\\xad\\x0e\\x5b\\xb0\\x1d\\x81\\xf0\\x1f\\x6c\\x9a\\x11\\x87\\x62\\x59\\x06\\x15\\xa8\\xa9\\xb3\\x85\\x53\\x41\\x82\\x15\\x27\\x78\\x5c\\x70\\x47\\xd5\\x73\\xea\\x91\\xb8\\xa7\\x85\\x7a\\x44\\xfd\\x01\\x6f\\x4c\\x74\\xb7\\x00\\x6c\\x7b\\x28\\x09\\xd7\\x00\\xf5\\x8b\\xf9\\x59\\xa8\\x6f\\xa9\\x0b\\x53\\xd5\\x51\\xfc\\xe4\\xc6\\x0e\\x17\\x28\\x9e\\xbf\\x10\\xf4\\x47\\x7a\\x4b\\x03\\x05\\x43\\x3e\\x07\\x6f\\x46\\x16\\x3d\\xb5\\x59\\x24\\xf9\\x44\\x2b\\x6c\\x0d\\x05\\xbb\\x81\\xb2\\x63\\x17\\xd2\\x44\\x91\\xeb\\x74\\x34\\x4b\\xb3\\xf0\\x59\\xa9\\x84\\xd8\\x28\\x39\\xe1\\x17\\x2f\\x9e\\xc4\\xe7\\xff\\x73\\xe1\\xe4\\x2b\\x67\\x96\\x6d\\x7d\\x78\\xf5\\xaa\\x0d\\x8f\\xad\\x82\\x9e\\x6d\\xf6\\x62\\x1b\\xc6\\x5c\\x81\\xfa\\xb3\\xfa\\x4f\\xc0\\x93\\x4b\\x1e\\x75\\x14\\x79\\xe3\\xec\\xdb\\xa7\\xbf\\xf8\\xe8\\xe3\\x33\\x14\\x27\\xa6\\x82\\xcc\\x5a\\x01\\xf3\\xe6\\xa5\\x39\\x81\\xcd\\x26\\x2f\\x72\\x08\\x02\\x6c\\x5b\\x5f\\x92\\x1b\\x57\\x87\\xdd\\x66\\xb7\\x19\\xe9\\xf5\\x4a\\x75\\x58\\xcf\\xbc\\x18\\x1a\\x48\\xef\\x35\\x39\\x81\\x29\\x3d\\xb5\\x65\\x04\\x0b\\x79\\x8d\\x60\\x51\\x54\\xe6\\x83\\xa5\\x56\\xee\\xa9\\x9d\\x6a\\x74\\xd5\\x13\\x38\\xf3\\xc8\\xe7\\x38\\x7d\\xe0\\xee\\xe0\\xd7\\xf7\\xaf\\x3e\\x33\\x09\\x1b\\x2f\\x77\\xc0\\x29\\xa6\\x0d\\x57\\x1f\\xda\\x8a\\xcd\\x9b\\x9e\\x3e\\x78\\xe3\\x82\\xbb\\x26\\xbd\\x32\\xe3\\xc4\\xc7\\x44\\xed\\xc6\\xf0\\x74\\x10\\x28\\x82\\xef\\xc0\\x1c\\xe5\\xa1\\x76\\xa1\\x14\\x0b\\x0a\\x64\\x39\\x9d\\xba\\x80\\xae\\x55\\xcb\\x6c\\xe4\\x4c\\x37\\xa6\\xe7\\x54\\x84\\xd3\\x7d\\x46\\x1b\\x28\\xa6\\x46\\x05\\xd5\\x4f\\x11\\xa2\\xac\\xae\\xe1\\x10\\x86\\x2a\\xd1\\xb1\\xf0\\x95\\x8d\\x53\\x3b\\xa5\\x12\\xcd\\x5e\\x40\\xb7\\x60\\xb1\\xe6\\x46\\x7c\\xb9\\x79\\xc5\\xed\\x4f\\x1f\\x1a\\xf0\\xe3\\xb7\\x3b\\xbe\\x4c\\x79\\xc1\\x32\\x63\\xec\\xbd\\x4b\\x3d\\x79\\x9d\\x87\\x2c\\x2c\\x9b\\x58\\x59\\xfc\\xfe\\x27\\x55\\x8f\\x17\\xde\\xb1\\xa2\\xf3\\x8c\\x19\\x33\\x5b\\x94\\x64\\x3a\\x52\\x6b\\x3e\\x78\\x00\\x9b\\xb1\\x9b\\x25\\x71\\x3a\\xfc\\x55\\x8f\\xf1\\xb7\\x04\\x33\\x53\\xcc\\xa9\\xed\\x47\\xf4\\x79\\xe8\\xb1\\x14\\xf7\\x53\\xb9\\x29\\xdd\\xe3\\x3e\\x22\\xfc\\xbd\\xc2\\x22\\x64\\x84\\x39\\x4d\\xc1\\x92\\xa4\\x33\\xf2\\x44\\x07\\x0a\\x01\\x16\\xab\\xc3\\x3c\\xe6\\x31\\x4d\\xb3\\x09\\x53\\x4a\\x74\\xd7\\x4c\\x69\\x42\\x62\\x61\\x9a\\x7e\\x94\\x26\\x51\\x4d\\xa7\\xd9\\x7f\\x6e\\xe7\\x5e\\xde\\x1f\\xf9\\xeb\\x28\\xf9\\x81\\x3f\\xaf\\xde\\xa4\\xde\\xfb\\x6e\\x64\\xba\\xb0\\x68\\x0b\\x6b\\x6b\\xa5\\x3a\\x90\\xbb\\xc8\\x6c\\x96\\x65\\xa1\\x64\\x01\\xf1\\x9c\\x4e\\xa7\\xe7\\xf5\\x66\\x13\\x07\\xd2\\xb8\\xc0\\x09\\x9c\\xde\\x60\\xc0\\x34\\xf5\\xa8\\x1e\\xe5\\x5f\\xdb\\x54\\x5c\\xdb\\x65\\xae\\x28\\xc5\\x34\\xe1\\x53\\x1a\\x77\\x51\\xbd\\x05\\x2f\\x7e\\xf8\\xdc\\x2e\\x6e\\x04\\xd9\\xa5\\x7e\\xad\\xee\\x7d\\xa1\\xae\\x5a\\x88\\xe5\\x6c\\xc6\\xd1\\x1f\\xf9\\x3f\\x85\\x53\\x20\\xaf\\x76\\x0f\\x65\\x66\\xb9\\xbc\\x16\\x04\\x52\\xa8\\x37\\xc0\\xe7\\xe6\\x59\\x73\\x5a\\x38\\x73\\xe0\\x9f\\xd1\\xdf\\xac\\x59\\x4a\\x75\\xb8\\x99\\xce\\x68\\x84\\xb1\\x1a\\xed\\x71\\xdf\\x6e\\xa6\\x6e\\x6b\\xd9\\x63\\x83\\x89\\x41\\xad\\x99\\x6c\\xc2\\x69\\x81\\x34\\xb4\\xec\\x33\\x40\\x1f\\x44\\x09\\x54\\x6e\\xea\\x08\\x50\\xaf\\x1b\\x50\\x51\\x85\\x5a\\x05\\x87\\x67\\x96\\x97\\xb7\\xf3\\xb7\\xcb\\x08\\xf5\\x5b\\xbc\\xc2\\xef\\x5c\\x76\\xf9\\xdc\\xba\\x94\\x40\\xc8\\xd1\\x32\\x3b\\xd0\\x16\\x1e\\x0d\\x1a\\x5f\\x98\\x6a\\xe3\\xbe\\xe3\\x7b\\xae\\x57\\x3b\\xac\\x1f\\x39\\x51\\xde\\xe6\\x78\\x6c\\xcf\\x9d\\xd8\\x3e\\x6a\\xe8\\x96\\x0d\\xa3\\x8d\\xf3\\xf1\\x85\\xe7\\xfa\\xf7\\x6a\\x09\\x0f\\xbb\\xdd\\x5d\\x33\\x53\\x7d\\xab\\x12\\x7f\\xaf\\x8d\\xa9\\x10\\xd6\\xca\\x00\\x6b\\xa5\\x07\\xaa\\xe1\\x91\\x44\\x51\\xc7\\x73\\x18\\x13\\xe0\\xc7\\x06\\xa3\\x8e\\xaf\\x08\\xeb\\x74\\x9c\\x48\\x09\\x60\\x7e\\x2c\\xe3\\x40\\xe3\\x9c\\x43\\xa0\\xae\\xd8\\xd3\\x8a\\x41\\x32\\x4e\\xe3\\x0d\\xea\\xa5\\x57\\xbf\\x8f\\xb8\\xb0\\xe3\\xd5\\xef\\xb9\\x0b\\x5c\\x5d\\x84\\xe7\\xee\\x69\\xcd\\x1d\\x8f\\x3c\\x4b\\xdb\\x68\\xa5\\x86\\x85\\x03\\xc0\\x23\\x53\\xd1\\x4d\\xa1\\x66\\x56\\x93\\x24\\x21\\x8f\\xc2\\x1b\\x91\\x10\\xf0\\x1b\\xf4\\x3a\\x93\\x6c\\xb1\\x9a\\xac\\xc4\\xe7\\x76\\xfb\\x7c\\x8e\\x61\\x61\\x1f\\x4f\\xef\\xb9\\xd4\\x27\\x5a\\x88\\x1f\\xa8\\x24\\x24\\x85\\xa2\\xca\\x21\\x12\\xb2\\x81\\x5e\\x15\\x67\\xe3\\x6c\\x9c\\x45\\x5f\\xe8\\x4c\\xf1\\x30\\x55\\x74\\x03\\xda\\x84\\x03\\xea\\x6c\\xb5\\x57\\x2b\\x20\\x9e\\x23\\x70\\xe4\\xc0\\x0d\\xdc\\x7c\\x4f\\x9b\\xc8\\xb2\\x1b\\xb8\\x29\\x83\\x7e\\xbf\\x6f\\x95\\xaa\\x0e\\x1a\\xbe\\x08\\xe7\\xbc\\xf6\\x15\\x1e\\xf3\\x01\\xa7\\x53\\x17\\xaa\\x6d\\xc7\\x3c\\xd0\\x11\\xdf\\x8f\\x6f\\xb0\\x59\\xd5\\x6f\\x96\\xe2\\x92\\xbb\\xef\\x54\\xdf\\x5e\\x8a\\x0b\\xe6\\x2e\\x58\\x3e\\x6b\\xfa\\x03\\xcb\\xea\\x54\\x16\\x87\\x71\\x84\\x3a\\x80\\x1f\\x2b\\x7c\\x00\\xf2\\x4b\\xeb\\x90\\x47\\x36\\x08\\x08\\xe9\\x2d\\x56\\xde\\xe9\\x32\\x9b\\x64\\x9d\\x64\\x90\\x41\\xe9\\x46\\x34\\x1b\\x7b\\x79\\x82\\x73\\x47\\x2c\\xf9\\x1e\\x28\\x4b\\x0e\\x22\\xc1\\x52\\x66\\x0b\\xd9\\x99\\x59\\xf4\\x85\\xcb\\x2c\\xe5\\x11\\x3f\\xb6\\xd5\\xab\\xa5\\x79\\xea\\x96\\x2e\\x78\\x41\\xcb\\x9b\\xd5\\xa5\\x37\\xe3\\xc9\\xef\\xa9\\xdb\\x9f\\xc5\\x5b\\xf0\\x91\\x71\\x5f\\xa8\\x6a\\x09\\xf6\\x5d\\x78\\xe7\\xbe\\xe7\\xd6\\xbe\\x34\\x73\\xca\\x0b\\xeb\\xf6\\x63\\xdd\\x33\\xfd\\x8f\\x47\\x82\\xb4\\x1f\\x4f\\xaa\\x03\\xc5\\xf9\\xb0\\x56\\xb9\\xa8\\x77\\x28\\x27\\x23\\x2d\\x19\\xe7\\x48\\x0e\\x87\\xc1\\x90\\x23\\xa7\\xf1\\x79\\x2d\\x9d\\x29\\xfe\\x5c\\x1d\\x70\\x8d\\xec\\x61\\x61\\xbf\\x5d\\x56\\x86\\x85\\x65\\xd0\\xf1\\xf8\\x61\\x61\\xaf\\x3d\\x31\\xdf\\x0c\\xb3\\x09\\x04\\x6d\\x8d\\xe2\\xde\\x06\\x1b\\x52\\xcf\\xc4\\xfd\\x64\\xd2\\xd3\\x8a\\xd3\\x58\\x96\\xdd\\x98\\x99\\x9a\\xc5\\xd8\\xa9\\x37\\x53\\x93\\xdf\\xab\\xa6\\x4d\\x5f\\x79\\x78\\xd8\\xfb\\xbb\\xea\\xec\\xe4\\xdb\\x47\\x37\\xf1\\x39\\xeb\\xe7\\xcc\\x7d\\x34\\x93\\x0c\\xfd\\x51\\x7d\\xfc\\xf0\\xe0\\xe9\\x33\\xd7\\x08\\x8b\\xea\\xcc\\x9b\\xe6\\xed\\x7d\\x98\\x1c\\xba\\xf2\\xe5\\xf1\\xcf\\x6f\\xbf\\xff\\xf1\\xda\\xf0\\xc0\\xca\\x01\\x23\\x5e\\xc0\\xf3\\x79\\x4f\\x9d\\xf9\\x81\\x05\\xf4\\x1b\\x18\\xcf\\x52\\x18\\x4f\\x0a\\xec\\xdd\\x96\\xa8\\x57\\xa8\\x45\\x56\\x7a\\x32\\xce\\x93\\x9c\\x4e\\x83\\x21\\x2f\\x5d\\xe6\\x5b\\xe5\\xa7\\xb8\\x02\\x2d\\x75\\x19\\xb2\\xac\\x00\\xa1\\x0b\\x04\\x5a\\x54\\x84\\x03\\x2e\\x2f\\x9f\\x90\\x58\\x3a\\x9e\\x69\\xf3\\xff\\x3c\\x9a\\xf2\\xfa\\xd1\\xc4\\x32\\x41\\x35\\x8c\\xe7\\x99\\x01\\x93\\xa7\\x2d\\xdf\\x77\\xdb\\xfb\\xcf\\xd7\\x75\\x23\\xc7\\x1e\\xda\\xc8\\xf3\\x7c\\x9b\\x87\\x27\\xcf\\x5d\\x9b\\x4c\\xda\\x3c\\x32\\x65\\xfb\\x86\\xbd\\x03\\x26\\xcf\\x58\\xc2\\xb7\\x8d\\xf4\\xd9\\x3a\\x6b\\xf7\\x36\\x6e\\x5a\\x5d\\xe1\\xeb\\xff\\x9a\\xb0\\xea\\x91\\x9d\\xab\\x27\\x0e\\x1b\\x3e\\x7e\\xe2\\xb0\\xbd\\x6f\\x73\\xef\\xd2\\xaf\\x76\\x3d\\xca\\x4d\\xa3\\xb1\\x8b\\x61\\x3f\\x1d\\x05\\x7e\\xe2\\x43\\xa5\\xa1\\x64\\xa3\\x2c\\xfb\\x2c\\x82\\xd3\\xe2\\x4c\\x49\\xf6\\x70\\xd5\\x61\\x0f\\xaf\\xb3\\x55\\xc3\\x96\\x32\\xc9\\x36\\x13\\xd1\\x62\\xde\\xc6\\x19\\x9c\\xe6\\x9a\\xa7\\x29\\x2b\\x0d\\x2c\\x4d\\xcb\\x2c\\x2c\\xb2\\xa3\\x5d\\x66\\x22\\xe0\\x9e\\xeb\\xda\\x7f\\xe6\\xcc\\xe7\\x1e\\x1b\\xfa\\x43\\xb7\\x23\\x47\\xbe\\x3c\\xf0\\xa7\\x7a\\xe9\\xd3\\x77\\xfb\\xcd\\x0a\\xf2\\x6f\\x16\\x3d\\xb5\\x6d\\x7b\\x6d\\x49\\x06\\x77\\xf2\\xca\\x02\\xce\\xd9\\x17\\xf3\\xdf\\xff\\x74\\x25\\x3b\\x8b\\xe2\\xcc\\x1a\\x76\\xb6\\xf2\\x09\\xc8\\xc0\\x37\\x85\\xb2\\x6c\\x92\\x17\\xa1\\xe4\\x64\\xb3\\x44\\x52\\x52\\x5d\\x34\\xe7\\x70\\x92\\xec\\xf2\\xbb\\x40\\xb5\\x72\\xb9\\x50\\x12\\x32\\xc8\\x7d\\xc3\\x06\\x8c\\x1a\\xc4\\x1d\\x66\\x9f\\x2e\\x6b\\xca\\xea\\x62\\xb3\\x07\\x3c\\xd8\\xad\\xe5\\x09\\x6e\\x48\\xa2\\x45\\xca\\x82\\x4f\\xcc\\xdb\\xbd\\x03\\x7b\\x83\\xfd\\xdb\\x76\\xb8\\x53\\x4b\\x9b\\xc5\\xb5\\x18\\x5c\\xb1\\xeb\\x1d\\xbc\\x1f\\x37\\x57\\x76\\x38\\xd7\\xab\\xf3\\xb4\\x6c\\x59\\x0b\\xae\\x14\\x69\\xf4\\x67\\xbb\\x3a\\x90\\x8f\\x0a\\x8b\\x91\\x1f\\xb5\\x09\\x25\\xdb\\x2c\\x16\\xbf\\x2c\\x79\\x64\\x4f\\x20\\xcd\\x69\\xa8\\x0e\\xdb\\x9c\\x4e\\x59\\x21\\x7e\\xe0\\x15\\x7e\\x19\\x58\\xc5\\xeb\\xb1\\x5e\\x95\\x25\\x24\\x89\\xd6\\xc4\\xca\\xc2\\x8e\\x24\\x96\\xa5\\x90\\x9d\\xa6\\x94\\x96\\x04\\xa9\\x4f\\x95\\x85\\xa4\\xa7\\x6d\\xc7\\xad\\x0e\\x3d\\xb3\\x68\\x50\\xeb\\x97\\xf7\\xf5\\x3f\\x5e\\x79\\xe4\\x48\\x97\\x7b\\xb7\\x61\\x0e\\x67\\x94\\x8e\\xdb\\xf1\\xeb\\x9b\\xea\\x0e\\xf5\\xc7\\x66\\xb7\\xae\\x38\\x73\\xdf\\xe7\\x17\\x0a\\x72\\x22\\x15\\xc2\\xe2\\xc8\\xdb\\x29\\x6d\\xd5\\x57\\xd4\\x6f\\x37\\xff\\xb2\\xfb\\xff\\xc7\\xd9\\x9b\\x00\\x36\\x55\\x6c\\xff\\xe3\\x33\\x77\\xee\\x92\\xfd\\x2e\\xc9\\x4d\\xd2\\x36\\x69\\x93\\xa6\\xe9\\x42\\xa1\\x5b\\x68\\xcb\\xde\\x00\\xb2\\x28\\x5b\\x2b\\x0a\\x46\\x81\\xd6\\x0d\\x51\\x56\\x91\\x27\\x8a\\x0b\\x20\\xa0\\x88\\x28\\xc8\\xa2\\xa0\\xa8\\xa8\\x28\\x8a\\x28\\xa8\\x75\\x03\\xa5\\xb8\\xe1\\x8a\\xfb\\xbe\\x81\\xdb\\xd3\\xa7\\xb8\\x3f\\xf5\\x3d\\x68\\xa6\\xff\\x99\\xb9\\x37\\x69\\xd2\\x56\\xbf\\xef\\xf7\\x17\\x4b\\xdb\\xd0\\xf4\\x9e\\x73\\x66\\xe6\\xcc\\x59\\x3f\\xe7\\xe2\\x21\\xd4\\x56\\xb1\\x11\\x1f\\xf8\\x6b\\xfe\\x06\\xe2\\xa1\\xd6\\x10\\x7f\\x2d\\xd6\\x5b\\x97\\xb8\\x50\\x35\\x5f\\x94\\x2f\\x58\\x8b\\xac\\xb1\\xbe\\xba\\x1e\\xaa\\x96\\x38\\x1e\\x14\\x56\\x16\\x36\\x26\\xfc\\xe4\\x3e\\xae\\xf4\\x57\\xfa\\x81\\xd3\\x49\\x3c\\x35\\xa7\\x17\\x94\\x36\\x26\\x78\\x40\\xee\\xe7\\x9a\\x2c\\x8f\\xad\\x3c\\x35\\xa1\\x31\\x23\\xa5\\x5f\\x43\\x33\\xfa\\x35\\xbe\\x3a\\x72\\x01\\x48\\x5e\\x36\\xed\\x95\\x35\\xe8\\xeb\\x11\\x96\\xfd\\xf6\\xc6\\x88\\x17\\x57\\x42\\xce\\x5f\\x6d\\xdf\\x21\\xd0\\x57\\x98\\x42\\x5d\\x2a\\x86\\xff\\xbd\\x77\\x5e\\xdf\\xc8\\xa5\\xa3\\xa3\\x67\\xce\\x7f\\x69\\xc5\\xf0\\xe6\\xd1\\xf5\\x79\\x83\\x37\\xcd\\x3e\\x69\\xc2\\xe4\\x49\\x13\\xa0\\xb5\\xb0\\xed\\x00\\xfe\\xfd\\x8c\\x5d\\xcb\\xd9\\x28\\xc6\\xdb\\x37\\x1e\\xc7\\x8f\\x9f\\x30\\xfe\\xf8\\x29\\x0b\\x6a\\xd6\\x7e\\xdb\\x7a\\x6c\\x69\\x7e\\x24\\x7f\\xcc\\xb9\\x17\\xd6\\xd4\\xc0\\x5b\\xae\\x98\\xfe\\xdc\\xd7\\xa7\\x5e\\x3b\\xd2\\x18\\xc1\\xb8\\x67\\xb4\\xb1\\x1e\\x73\\x88\\x2f\\x60\\x25\\xfb\\xb7\\x06\\x1c\\x1f\\x8f\\x12\\x0b\\x50\\xb3\\xfb\\x4b\\xfb\\xf4\\xf1\\x6b\\x80\\x8f\\xf5\\x2d\\xb4\\x57\\xe9\\xe5\\xe5\\x55\\x55\\xd1\\xe6\\x44\\x95\\x5b\\x55\\x75\\xdd\\xd5\\x92\\xd0\\xf9\\xf4\\x1c\\xe6\\x0c\\x9d\\x9d\\x0d\\xaa\\xed\\xee\\x3b\\x04\\xd5\\xa7\\x97\\x88\\x68\\x69\\x62\\x66\\x12\\x46\\x39\\xc9\\x1c\\x07\\x40\\xac\\xff\\x92\\x7a\\xc2\\x3a\\x1f\\x0e\\x15\\xcd\\x29\\x1f\\x3f\\x6b\\xd9\\x03\\x13\\xd6\\xcc\\x6a\\xd8\\xb9\\xf5\\xae\\xd6\\xe0\\x93\\x55\\x64\\xbd\\xe0\\x9f\\xd0\\x55\\x7b\\xe6\\xfd\\xf7\\xb4\\xdc\\x3a\\xbf\\xe1\\x85\\xbd\\xaf\\xbd\\x53\\xbb\\x73\\x38\\xb1\\x42\\x7f\\xc0\\xdf\\xe3\\xd7\\xe1\\x8a\\x71\\x17\\x9c\\x34\\xb8\\x4f\\xa9\\x56\\x54\\xd7\\xd4\\x30\\xe7\\xfc\\xb3\\xe7\\x85\\xef\\xbf\\xf1\\xc0\\xc3\\xe3\\x17\\x9d\\x36\\x26\\xea\\x2d\\xee\\x37\\x69\\xc4\\xa2\\x25\\xab\\xae\\x4e\\xcc\\xa8\\x5b\\xf4\\x8f\\xe7\\xbf\\x7f\\x3f\\xc5\\x1f\\xff\\x02\\xe1\\xaf\\x37\\xad\\x25\\x55\\x02\\xba\\xb7\\x58\\x20\\x7e\\x75\\x80\\xaf\\xe8\\xa3\\x14\\xe7\\x70\\xba\\x9e\\xc3\\xa6\\xd7\\x83\\xde\\xbd\\x39\\x8e\\xe8\\x1c\\xce\\xfb\\xf7\\xdc\\x11\\xfd\\x2e\\x12\\xa2\\x6b\\x53\\x0c\\x86\\x0d\\xfe\\x62\\xa1\\x6c\\xfe\\xea\\xf9\\x67\\x0e\\xe3\\xc3\\xf8\\x6b\\xfc\\x42\\x9a\\x3b\\x7c\\xff\\x6d\\xad\\x81\\x27\\x2b\\xa1\\xf8\\x5f\\x62\\x57\\xd8\\x52\\xdc\\x7d\\xf4\\xd4\\x8a\\x6f\\xae\\x2a\\x6f\\xf8\\x78\\x5f\\x06\\x57\\x87\\xce\\x9d\\x15\\xde\\x71\\xd3\\xb3\\x8f\\x76\\x32\\x75\\xf1\\xd2\\x60\\x29\\xdd\\x9f\\x12\\xd1\\x35\\xef\\x11\\x5e\\x0a\\x41\\x14\\x4c\\x8a\\x57\\xd9\\xa3\\x05\\x0a\\x1f\\x29\\x2a\\x72\\x46\\x5c\\x7e\\x97\\x13\\xf1\\x25\\xc5\\x51\\xbb\\x52\\xc0\\x3b\\xe9\\xc5\\xda\\x4c\\x2e\\x56\\xd9\\x51\\xe4\\x2c\\x6a\\x4e\\x18\\x1e\\x37\\x4f\\x5d\\xee\\x9a\\x54\\x74\\xdd\\x8c\\xc6\\xa6\\xe6\\x1e\\x1a\\x46\\x0a\\x1b\\x8f\\x42\\x4d\\xc7\\x12\\xb6\\x6e\\x88\\x15\\x0c\\xb3\\x80\\xa5\\x0c\\x8d\\x49\\x47\\x05\\xb0\\x7e\\x08\\x84\\x61\\x84\\x76\\x8e\\xbd\\x35\\x3e\\xbd\\x70\\xe4\\xd0\\xb2\\x6a\\xcf\\xa5\\x70\\x60\\xfb\\x43\\xb0\\xee\\x52\\x77\\x4d\\xd9\\xd0\\x11\\x91\\xe9\\xf1\\x5b\\xc7\\x36\\x2f\\x28\\x1d\\x3e\\x2c\\xba\\x00\\x0f\\x81\\xef\\xfd\\x28\\xdc\\x70\\xf6\\xac\\x39\\xb1\\xe9\\xc5\\x15\\xf8\\xbd\\x64\\xc1\\xf5\\xd7\\x73\\x9f\\xc3\\x5e\\x15\\xc5\\xd3\\x63\\x73\\x66\\x9d\\x3d\\xf5\\xfc\\xfd\\xfb\\x67\\x9f\\x7e\\xcc\\xce\\x8d\\x66\\x7e\\x82\\x97\\xf0\\x76\\x3f\\x3f\\x94\\x7c\\x15\\x21\\xb7\\x43\\x1f\\xa8\\x70\\xb2\\x28\\x3b\\x41\\x58\\x53\\x72\\x2d\\x45\\x51\\xa0\\x39\\xc3\\xbc\\x92\\x13\\x0c\\x7a\\x1b\\x13\\x41\\x99\\xa8\\x24\\x85\\x18\\x79\\x8a\\x8e\\x6c\\x8d\\x09\\x89\\x0e\\x69\\x89\\xfd\\x0d\\x63\\x84\\x29\\x14\\x73\\xa7\\xf8\\x92\\x90\\x9b\\xb0\\xe5\\xee\\xca\\x56\\x1d\\x77\\xe6\\xec\\x4f\\x0f\\x8c\\x5d\\xdb\\x6f\\x46\\x78\\xd8\\xa0\\xb1\\xd1\\x8b\\xef\\x4d\\x1e\\xdb\\xbe\\x48\\xef\\x17\\x19\\x34\\xb4\\x70\\x46\\xbf\\xb5\\x63\\xcf\\xb8\\xb8\\xa8\\x5f\\xff\\x13\\xe0\\x06\\x9c\\x44\\xbb\\x5b\\xa6\\xcc\\x8d\\x9d\\x31\\x0d\\xbf\\x89\\x67\\x5f\\x73\\x0d\\x5c\\x07\\x63\\xb5\\xc5\\x67\\xc4\\xe6\\x4e\\x69\\xb9\\x70\\xf6\\x7d\\xf7\\x7d\\x69\\xd4\\xfe\\x9c\\xce\\xe6\\xbf\\x2e\\x25\\x9a\\x35\\x0c\\xc6\\xc4\\x4b\\xd5\\x40\\x40\\x74\\xb0\\xca\\x87\\xc2\\x88\\x3b\\xa7\\x25\\xa1\\x02\\xb7\\xe2\\x26\\x4a\\xd8\\xed\\x46\\x36\\x9b\\xb3\\x39\\x61\\x43\\xa8\\xa0\\x25\\x81\\xba\\x95\\xc9\\xf7\\x2f\\xcf\\xaa\\xb2\\x62\\x76\\x50\\x98\\x28\\x3a\\x45\\x2b\\x2a\\x23\\x6b\\x43\\x74\\x83\\x54\\x47\\xbe\\x47\\x19\\x3e\\x91\\xb0\\x18\\xdf\\x85\\x5f\\xc1\\x7b\\xf0\\xe3\\xd7\\xc1\\x4a\\x98\\x0b\\xaf\\xc1\\x97\\x3e\\xbc\\x7f\\x91\\xff\\x0e\\xa8\\xc3\\x06\\x38\\x61\\xdf\\x97\\x3f\\xfc\\xf2\\xc5\\xbf\\xbe\\xfd\\xe1\\x6b\\xae\\x37\\xfe\\x11\\xbf\\x05\\x47\\x11\\x17\\xce\\x03\\x4f\\xdd\\xb6\\x71\\xe0\\xe2\\x59\\x2b\\xc9\\xe9\\xfa\\xed\\xcd\\x17\\x9f\\x7b\\xf7\\x83\\xcf\\x3f\\xa6\\xe7\\xe6\\x78\\x72\\x6e\\x7a\\xb1\\x1c\\xd4\\xe0\\x78\\x41\\x50\\x55\\x45\\x9f\\x83\\x30\\x10\\x29\\x0a\\xe5\\xd2\\x0a\\x31\\x64\\xb5\\x3a\\x59\\xdd\\x9b\\xa7\\x7b\\xa5\\x46\\x17\\xb3\\x9e\\x8e\\x1c\\x25\\x1e\\x1c\\x88\\xd6\\xc5\\x74\\xc1\\xc5\\xe9\\x9d\\xe1\\x37\\x19\\xd6\\xd2\\x4b\\x8e\\xef\\x85\\xff\\xfd\\xdd\\x8f\\x49\\x58\\x0f\\x87\\xde\\x7c\\x19\\xfe\\xe8\\xe9\\xbb\\x4f\\xb8\\x65\\xeb\\x96\\x5b\\xaf\\xdc\\x3e\\x7a\\x60\\xe5\\x05\\x67\\x7f\\xfe\\x3e\\x5c\\xf4\\xf8\\x7b\\xb0\\x08\\x7a\\xa1\\x0d\\x12\\x53\\xec\\x06\\xc9\\xd2\\xf8\\xc0\\xad\\x2f\\xbd\\xb3\\x7a\\xc9\\x85\\x73\\xed\\x96\\x2b\\x7d\\x4f\\x50\\x5a\\x3d\\xe4\\xce\\xbb\\x83\\xdc\\x29\\x79\\x74\\x02\\x9e\\x00\\x72\\xac\\x56\\xaf\\xcd\\xe5\\x76\\xdb\\x00\\x71\\x86\\x39\\xd5\\xe2\\xd0\\x1d\\xcd\\x89\\x1c\\x5d\\x25\\x7f\\x6c\\x3e\\x64\\xeb\\x56\\x64\\x9d\\x3d\\xa4\\x9b\\x92\\x4c\\xce\\x34\\x1b\\x7b\\x47\\x3c\\x84\\x42\\xdd\\xe3\\x93\\x8a\\x6b\\x15\\xb3\\xb4\\x1a\\xdd\\xe1\\x5e\\xef\\xba\\xa9\\xae\\xad\\x6e\\xb3\\x6b\\xbd\\x1b\\xf6\\xaf\\x68\\xab\\x82\\xfd\\xd0\\x45\\xc3\\x86\\x16\\xf4\\x0b\\x5e\\xd1\\xae\\xa3\\xef\\xaf\\x08\\xf6\\x2b\\x18\\x3a\\x0c\\x2a\\x47\\x8f\\xd2\\x79\\x84\\x1d\\xbf\\xa0\\x02\\x72\\x17\\xab\\xa0\\x2a\\xee\\x57\\xec\\x76\\x4e\\xb0\\x09\\x2a\\x72\\x6b\\x0e\\x08\\x25\\x1b\\xf1\\x57\\x14\\x9b\\x4c\\x15\\x4e\\x2a\\x7e\\x9d\\x35\\xfb\\x26\\xac\\x46\\x6b\\x89\\x31\\x20\\xd1\\x8a\\x79\\x81\\xe2\\x76\\xa0\\x02\\xe2\\x9d\\xfc\\x70\\xf6\\x81\\x13\\xfc\\xb0\\x94\\x58\\xf9\\xe4\\x14\\x3e\\xd0\\x3e\\xfc\\xac\\x00\\x1a\\xbc\\x01\\x86\\xe0\\xad\\x67\\xe5\\xe1\\xcf\\x8d\\x98\\x07\\x59\\xb7\\xbb\\xf8\\x21\\xa0\\x08\\x0c\\x8a\\x87\\x5d\\x90\\x0f\\xbb\\x7d\\x01\\x1f\\x6f\\xe5\\x84\\x68\\x71\\x7e\\xce\\xc4\\x44\\xbe\\xf7\\x2f\\x23\\x1d\\x59\\x5e\\xca\\xdf\\x45\\x38\\xd2\\x8e\\xcb\\x5f\\x06\\x36\\xcc\\x17\\xfe\\x2e\\xa8\\xc1\\x5e\\x30\\x63\\x19\\x67\\xe0\\xc9\\x3c\\xb9\\xb4\\x88\\x4d\\xd0\\x9b\\x4e\\x74\\x08\\xe9\\xce\\x12\\x60\\xb1\\x80\\x8a\\x3e\\xb9\\x6a\\x63\\x22\\x37\\xd7\\x9b\\xe7\\xb4\\x0b\\x76\\xe2\\x06\\xdb\\x75\\xa1\\x28\\x63\\xe4\\xaf\\x51\\xc3\\xd4\\xbf\\x73\\x70\\x57\\x7f\\x36\\xfb\\xbf\\xaf\\xd6\\xd9\\x3a\\x5b\\x42\\xf1\\x6e\\xf2\\xa1\\x2f\\x42\\x6f\\xd8\\x0a\\x04\\xfb\\x76\\x4e\\xcf\\xaf\\x3b\\xa3\\x6e\\xe1\\xd3\\x2b\\x93\\x3f\\x25\\x7f\\xff\\x6a\\x91\\xd8\\xf2\\x48\\xeb\\xcd\\x57\\x0f\\x93\\x6e\\x13\\x8b\\x26\\x6c\\x58\\xb9\\xf7\\x92\\x11\\x05\\x28\\xda\\x70\\xd9\\xbc\\x6d\\xd7\\xaf\\xbd\\xe9\\x9e\\x35\\xf0\\xf4\\x5f\\xa0\\xe5\\xce\\x26\\xfc\\x2b\\xfe\\x16\\x1f\\xc1\\x47\\x6e\\xbc\\xf2\\xb6\\xd1\\x45\\x93\\x12\\x5e\\xaf\\x75\\xf0\\xac\\x5b\\x9e\\x83\\xeb\\x36\\x3c\\x7e\\xf2\\xc1\\x77\\xde\\x7a\\xf3\\xe5\\x8c\\x5e\\x5b\\x91\\xf6\\xda\\x76\\x74\\x74\\xbc\\x86\\x27\\xc3\\xc1\\x74\\xb6\\x03\\x18\\x97\\xdd\\x5b\\xc1\\x6f\\x66\\x6b\\xd5\\x48\\xf6\\x6d\\x7f\\x62\\x0f\\xbb\\xc1\\xa8\\x78\\xd4\\x0a\\x9c\\x8a\\x22\\xf3\\x44\\x0d\\xea\\x1e\\x27\\x35\\x82\\x9d\\xd0\\x8e\\x9c\\x4e\\xe2\\x4e\\x53\\x25\\x27\\x43\\x8d\\x45\\x10\\xbb\\x76\\xd2\\xa4\\x58\\x37\\x07\\x98\\x94\\x41\\x76\\xd6\\x68\\xea\\x91\\xb0\\x49\\xfe\\x56\\xca\\x20\\xea\\x8f\\xff\\xf5\\xf5\\x0f\\xa0\\xe3\\x2b\\x28\\xe2\\x5f\\xaf\\xb9\\x11\\x2e\\xc4\\x57\\xc3\\x08\\xf1\\xea\\x65\\xe2\\x99\\x03\\x58\\xb2\\xfa\\x81\\x9b\\x97\\xe3\\xfb\\xba\\xd0\\x33\\x22\\x1e\\x15\\x11\\x92\\x6d\\x84\\x1a\\x99\\xdc\\x69\\x02\\xb1\\x1d\\x65\\x81\\x76\\x25\\x09\\x6e\\xe2\\xe4\\x36\\x26\\xdc\\xba\\x9d\\x50\\x65\\x97\\x7b\\xa2\\xa7\\xf3\\xae\\xac\\x0f\\x87\\x28\\x84\\x1e\\x39\\xeb\\xd4\\x20\\x07\\x74\\x45\\xc2\\x8d\\xe4\\xc9\\x11\\x42\\xc1\\xc2\\x1b\\x56\\xe3\\x5f\\xa1\\xf8\\x25\\x04\\x47\\xfe\\x89\\xff\\xb5\\x1a\\x9e\\xbc\\x7c\\xcb\\xfd\\xab\\xf1\\x87\\x1d\\x00\\x27\\xf1\\xcf\\x59\\x3d\\x21\\x5b\\x99\\xec\\x56\\xd1\\x38\\x12\\x93\\xe5\\x7e\\x63\\xd6\\x22\\x91\\xe5\\xc5\\xac\\x4f\\xa5\\x38\\x15\\x83\\xa0\\xbd\\x34\\xc0\\x41\\xe3\\x02\\x16\\x41\\xa0\\x88\\x75\\x0e\\x87\\x55\\x44\\x4e\\x97\\x1d\\x59\\x79\\x28\\x21\\x3a\\x40\\x0d\\x88\\x6c\\x70\\x04\\x31\\x2a\\xe9\\x6e\\x69\\xe8\\x62\\xb7\\x84\\x55\\x22\\x18\\x6a\\x51\\x5a\\x89\\xef\\x23\\x4c\\xc2\\x23\\xae\\xc4\\x83\\x77\\x1c\\x83\\x8f\\xc2\\xd6\\xdf\\xf9\\x0f\\x92\\x1b\\xb8\\x59\\xc7\\x4a\\x85\\xa5\\xc9\\xfb\\xb8\\x93\\x8f\\x32\\xcc\\x41\\x56\\x53\\xfb\\x1b\\x91\\x97\\x07\\xd4\\xc6\\xf3\\xe8\\x33\\x5d\\xaa\\xaa\\x88\\x8a\\xee\\xf5\\x70\\x76\\xe4\\x52\\x75\\x97\\x2c\\xc9\\x62\\x1e\\xd4\\xcd\\x89\\xc3\\xbe\\xfe\\x5d\\xf4\\x79\\x38\\x02\\x59\\xed\\x40\\xd8\\xed\\xa5\\x95\\xa6\\x34\\xf6\\xd1\\x00\\x91\\x7b\\x33\\x7e\\x52\\x7c\\x00\\xfa\\x3f\\xe9\\xab\\x78\\x2b\\x3e\\x81\\xce\\xfb\\x91\\x80\\x1e\\xdb\\x32\\xea\\xd8\\x32\\xe1\\xcb\\xe4\\xcc\\x35\\x6b\\x6e\\xbf\\x8c\\xdb\\x78\\xec\\x00\\xf7\\xce\\xfc\\x0b\\xd8\\x5d\\x63\\x33\\x6b\\x1c\\x68\\xbd\\x72\\x53\\xbc\\x2c\\xe4\\xf1\\xc8\\x36\\x97\\x4b\\x93\\xf3\\x08\\xfb\\x32\\x2a\\x29\\x15\\x7d\\xc8\\x97\\x4f\\x53\\xb2\\x8a\\xdb\\xed\\x8c\\xdb\\x6c\\xc8\\x85\\x8a\\xd2\\x3a\\x9b\\x7a\\xf9\\xb9\\x14\\xf8\\x23\\x2b\\x86\\x9b\\x99\\x96\\x4d\\x95\\x38\\x04\\x69\\x1b\\x96\\x81\\x10\\xfb\\x77\\xa5\\x0e\\x74\\xd8\\x70\\xeb\\xa2\\x45\\x7f\\x55\\xf0\\x70\\xd9\\x55\\x77\\xdd\\x75\\x15\\xf7\\x4c\\xb7\\x9a\\x07\\xb2\\x9e\\xa7\\x91\\xf5\\x9c\\x4e\\xd7\\x13\\x8e\\xce\\x5c\\x5f\\xa5\\x98\\xae\\xaf\\x22\\x01\\x95\\x03\\xdc\\xd4\\x8c\\x9f\\x2b\\xa6\\x3f\\x47\\x5f\\x87\\x77\\xb3\\xd7\\x59\\x3f\\x9b\\xf8\\xb3\\x56\\x4c\\xfb\\xd9\\x54\\xc9\\x92\\x84\\x93\\x88\\x7c\\xfc\\x8f\\x42\\x55\\x15\\x8a\\x69\\x7a\\xed\\xe9\\x56\\x97\\x0a\\xed\\x46\\x4a\\x4a\\xad\\xed\\xec\\x81\\x13\\x1f\\x52\\xcc\\xf7\\x98\\x39\\x80\\xe3\\xe2\\xbd\\x14\\x3d\\xae\\x73\\x21\\xbd\\x51\\x5f\\xa2\\xef\\xd6\\x0f\\xeb\\x02\\xd0\\xab\\xf4\\x16\\x7d\\xad\\xbe\\x5f\\xff\\x59\\x17\\x9f\\x0f\\xe9\\xc4\\x46\\x75\\x38\\x68\\x92\\x40\\x79\\xbc\\xe3\\xbb\\x56\\xc5\\x05\\x6c\\x9d\\x49\\x02\\xc8\\x7a\\x0a\\xd9\\xfe\\xa8\\xe8\\x38\\x22\\x4e\\x20\\x7b\\xb2\\x10\\x9c\\x18\\xef\\xed\\xb1\\x14\\xc0\\x40\\xa0\\x30\\x18\\x74\\x5a\\x50\\x51\\x84\\x56\\x94\\x11\\x1b\\xcd\\x4f\\x1b\\xe4\\x20\\xcf\\x07\\x43\\x28\\xa8\\xd9\\xd4\\xe6\\x44\\x83\\x0b\\xba\\x6c\\xc4\\x12\\x88\\x4d\\x35\\xd3\\x23\\x95\\x66\\xca\\x07\\x64\\x46\\x91\\x0c\\x97\\x97\\xd9\\x2e\\x41\\xa8\\x84\\xd3\\x08\\x01\\x83\\x59\\x42\\x8b\\xa7\\x5e\\x11\\xad\\x39\\xe5\\xde\\xf8\\xc7\\xb1\\x93\\xbe\\xf8\\x10\\x6f\\x9d\\xb6\\x6e\\xc4\\xdc\\x41\\x89\\xca\\x93\\x1a\\x97\\xae\\x9d\\x82\\x7f\\x1a\\xbe\\x0f\\x07\\xf8\\x2b\\xf9\\xaf\\xf1\\xd6\\x9c\\xc2\\xbd\\x4f\\xbe\\x87\\x2f\\xee\\x3f\\xec\\x92\\xda\\x92\\xb3\\xe7\\x7e\\xbc\\x70\\x51\\xa1\\x92\\x74\\xf0\\x5f\\x6f\\xd9\\x02\\x4c\\xf9\\x40\\xbe\\x52\\xfc\\x59\\x29\\x46\\x0c\\x3b\\xc0\\x82\\xe1\\xf9\\x66\\x8e\\x4f\\x24\\x32\\x15\\xc3\\xa2\\x95\\xef\\xcc\\x09\\x12\\x7e\\xcd\\x35\\x03\\x41\\xb0\\x2c\\x3e\\x41\\x70\\x22\\x51\\xf4\\xe4\\xe5\\xe6\\x3a\\x9c\\x1e\\x67\\x7e\\x01\\xa0\\xe5\\xc2\\x48\\x6c\\x4e\\x34\\xa3\\x35\\x6c\\xe2\\x1a\\xf9\\x4e\\xf1\\xc9\\x79\\xd0\\x89\\xf2\\xf2\\x7c\\x3e\\xe2\\xf3\\xf9\\x78\\xa3\\x67\\xb6\\xd1\\xb1\\xd6\\xb1\\xd5\\x71\\xd8\\xf1\\xb3\\xc3\\xe2\\x40\\x0e\\x87\\xa2\\x58\\x9b\\x13\\x8a\\x3b\\x13\\x35\\x21\\xfd\\x15\\x9d\\x8b\\x49\\x01\\x14\\xb2\\x5a\\x6d\\x8c\\x74\\x2f\\x2d\\xc3\\xe0\\x25\\xb2\\x69\\xbd\\x80\\x01\\x7b\\x88\\x19\\xfd\\x85\\x34\\x38\\x8a\\xfc\\xef\\xe2\\x0e\\x9d\\xbb\\x2e\\x39\\x5f\\x83\\xf6\\xf7\\xd6\\x7f\\x39\\x6a\\xcb\\xe9\\xf8\\xcd\\xb7\\xde\\xc5\\x2f\\xdd\\x09\\x67\\xc1\\x61\\x9f\\xc3\\x8a\\x51\\x8f\\x54\\x7f\\xc8\\x1f\\x4d\\x7e\\x7d\\xd3\\xd7\\xf8\\xe7\\x0d\\x6b\\xc7\\xed\\x6f\\x7d\\x10\\x1e\\xff\\x39\\x6c\\x82\\x97\\xef\\xbe\\x7f\\xd0\\x25\\x57\\x30\\xf9\\x4c\\x25\\x77\\xed\\x7f\\x98\\x0e\\xaa\\x63\\xdf\\x77\\xed\\x2d\\xfc\\x7f\\xee\\xbd\\x21\\xef\\x09\\x91\\x3b\\x64\\x06\\xfb\\x1d\\x46\\xfc\\x5c\\xeb\\xf8\\xd9\\x62\\x27\\x7b\\x28\\x8f\\xdc\\xe8\\x63\\xe3\\x65\\x01\\xe0\\x0f\\x87\\x79\\xd1\\xeb\\xf2\\x12\\x83\\xbe\\x38\\xea\\x0f\\x35\\x27\\xfc\\x7e\\xde\\xeb\\x25\\x82\\xf5\\x22\\xbb\\x42\\x63\\x90\\x7c\\x98\\xb6\\x8d\\x82\\xcc\\x51\\xf8\\x29\\xbb\\x2c\\x7b\\xf2\\x11\\x1f\\xa1\\x60\\x99\\x36\\x28\\x9a\\x09\\x8b\\x21\\xc4\\x60\\xa4\\xf8\\x99\\x35\\x3c\\x3d\\xdb\\xf4\\x8b\\x3a\\x8b\\x1d\\xe3\\x2f\\x93\\x8f\\xe1\\x96\\xea\\x58\\xf3\\xda\\x2b\\x06\\x04\\xdc\\xd1\\xda\\xe1\\x03\\x06\\x0c\\xe8\\x85\\x38\\x78\\xf9\\x11\\x28\\xec\\xdf\\xb6\\x0d\\x6f\\x86\\x73\\xb7\\x6d\\x81\\xb7\\xec\\xfd\\x82\\xff\\x1c\\xaf\\xc5\\xf3\\xf1\\x1d\\x1b\\x6d\\x9b\\xa4\\xa1\\x37\\xc2\\x32\\xf8\\x30\\x1c\\x96\\xdc\\xf9\\xd6\\xfe\\x8b\\x97\\x62\\x6e\\x25\\xe3\\x85\\x9c\\x37\\xe9\\x3e\\xc2\\x8b\\x46\\xb8\\x69\\x8c\\xf7\\xb2\\x4b\\x92\\x45\\xf6\\xfb\\x1d\\xbc\\x9b\\x9c\\x43\\x0b\\x0a\\x04\\x65\\x5f\\x73\\x42\\x96\\x8d\\x50\\xaa\\xdd\\xe2\\xa4\\x01\\x63\\xd6\\x40\\x6a\\x32\\xc3\\x86\\x16\\xa7\\xe2\\xab\\x3d\\xa8\\x2a\\xc6\\x8f\\x31\\x92\\x87\\x7e\\x64\\xb0\\x21\\xdd\\x47\\xd9\\x38\\x94\\x7c\\xa6\\xad\\x8d\\x1b\\xd2\\x06\\x27\\x99\\xa4\\x3f\\x0d\\x47\\x19\\xa4\\x73\\xd7\\x26\\x2f\\x20\\x9a\\x7d\\x27\\x77\\x52\\x06\\xc1\\x90\\xf6\\xbb\\x89\\x95\\x84\\x5e\\x0f\\x38\\x3b\\x3e\\x08\\x10\\xc5\\x2a\\x49\\x4e\\x8b\\xc7\\xe2\\xd5\\xb7\\x7a\\x77\\x7b\\xf7\\x7b\\xd1\\x56\\xef\\x61\\x2f\\xf7\\x93\\x17\\x02\\x6f\\x8b\\x77\\xad\\x77\\xab\\x97\\xa2\\x7c\\xf0\\x2a\\x4f\\x98\\x50\\x55\\x60\\x77\\xd9\\x58\\x93\\x26\\xb2\\x98\\xfd\\x90\\xa9\\xe2\\x04\\xa3\\x9b\\x8d\\x15\\x5e\\xcf\\xcf\\xe8\\x0f\\x63\\xf7\\x0f\\x83\\x1c\\x35\\x4f\\x6f\\x58\\x25\\x7e\\x65\\x0e\\x14\\xce\\x5f\\xb2\\xe2\\x8e\\xa3\\xf4\\xc8\\x3e\\x9c\\xfc\\x09\\xda\\x6e\\x82\\x7b\\xb9\\x86\\x45\\xb3\\x6b\\x8c\\x73\\x8a\\xb7\\x0e\\xc4\\xeb\\x93\\xf7\\x9b\\xba\\xec\\x16\\xaa\\xff\\xe8\\xf0\\x55\\x76\\x56\\x77\\x9a\\x67\\xd5\\x43\\xce\\xaa\\x27\\xea\\xf1\\x01\\x47\\x66\\xfe\\x9e\\xf6\\x75\\xfa\\xd9\\xcf\\xbf\\x64\\xea\\xcb\\x93\\x0c\\x7d\\xe9\\x76\\x93\\x9f\\x27\\x7a\\xed\\xa1\\x56\\xc5\\x0d\\x2d\\x59\\xfa\\xb2\\x9e\\x9c\\xef\\x02\\x69\\x00\\x79\\xcf\\x3b\\xec\\x3d\\x47\\xe1\\x34\\x78\\x02\\xf0\\xc6\\x9d\\xd0\\x43\\x1f\\xe2\\x95\\xbc\\x01\\xbb\\x9c\\x7e\\x07\\xb9\\x93\\xf1\\x0c\\xc1\\xcf\\xf2\\x02\\xa3\\xe2\\xa5\\x02\\x67\\x07\\xa2\\xd5\\x0a\\x38\\xe4\\x70\\x2a\\x4e\\x18\\x72\\x2e\\xa1\\xf5\\xc5\\xc4\\xca\\xb1\\x22\\x89\\xf6\\x78\\x72\\x9c\\xd0\\x9c\\xe0\\x34\\x60\\x16\\xab\\xf9\\x1b\\xcc\\x7a\\x94\\x8c\\xc6\\x0c\\x23\\x49\\x60\\x2e\\xaf\\xca\\x5d\\x89\\x0b\\xdb\\xb8\\x3f\\xf7\\xe0\\x42\\x3c\\x03\\x6e\\x12\\x96\\x1e\\x2b\\xe0\\x3f\\x3f\\xba\\x18\\xcf\\xc8\\xc4\\xed\\x30\\x7b\\xb8\\x8d\\xbd\\x47\\x7c\\x67\\x6a\\x1f\\xe8\\xa0\\x39\\x2e\\x5b\\x35\\x8d\\x77\\x4a\\xe4\\xa7\\xbc\\xbe\\x54\\x49\\x55\\x94\\x16\\xa3\\xfb\\xa0\\x17\\x59\\x89\\x1e\\x06\\xd6\\x2a\\xeb\\x56\\xe2\\xa2\\x11\\x47\\x87\\x17\\x04\\x0b\\xeb\\x6b\\xd5\\x32\\xce\\x55\\x76\\x2f\\x73\\x79\\xa6\\xf6\\x49\\x6f\\x45\\x3d\\xfb\\x2c\\xf1\\xef\\xb1\\xb3\\x84\\x6e\\x4d\\x86\\xbb\\x1f\\x1e\\x61\\xe9\\x16\\x3c\\x3a\\xbd\\xf5\\xba\\xf6\\x9c\\xa7\\x74\\xb1\\x70\\x85\\x22\\x52\\x5d\\x4c\\xf8\\x91\\x89\\x6c\\x47\\x10\\x7e\\x5c\\x84\\x9f\\xb1\\xf1\\x5e\\xa2\\xa4\\x5b\\x55\\x27\\x90\\x11\\xc7\\xc9\\x4e\\xab\\x24\\x78\\x7d\\xb2\\xaf\\xd2\\x47\\x9c\\x4c\\x27\\x61\\xc6\\x49\\xf6\\xa0\\x2e\\xe8\\x84\\x09\\x4d\\x62\\x20\\x3c\\x29\\x4f\\x39\\xbb\\x16\\xd3\\x0c\\x70\\xc4\\x58\\x97\\x2e\\x9d\\x03\\xa1\\xe5\\x11\\x2f\\x83\\xa9\\x08\\x89\\xbf\\x61\\x57\\x6b\\x7b\\x4d\\xeb\\xda\\xf1\\xb3\\xa3\\xc3\\xb9\\x77\\xf6\\xe0\\xab\\xab\\xa3\\xa7\\x36\\x6c\\x4d\\xbe\\x08\\x37\\xe1\\x19\\x5c\\xbf\\xd3\\x61\\x33\\xb1\\x9c\\x30\\x59\\x81\\xa1\\x44\\x07\\xfc\\x88\\xef\\x3e\\xbb\\x7b\\x8f\\x39\\xd9\\x0f\\x34\\x2f\\x3f\\x8a\\xd0\\x1c\\x01\\x6b\\xe3\\x4d\\xf9\\x79\\xaa\\xcf\\xef\\x0f\\x06\\x44\\x64\\x55\\x94\\x88\\x5a\\x58\\x18\\xb1\\x31\\x59\\x47\\x02\\x28\\x5a\\x54\\x19\\x85\\x9c\\x1c\\x85\\x56\\x10\\xad\\x8a\\xc6\\xa3\\x5b\\xa3\\x3c\\xb9\\x25\\xc4\\x7c\\x24\\x22\\x39\\x0c\\x64\\xd0\\x92\\xd0\\x16\\xcb\\xbb\\x64\\xae\\x52\\x86\\xb2\\xcc\\xfb\\x14\\x2b\\x8a\\x04\\x79\\x06\\xba\\xc8\\xa2\\xc3\\x95\\x53\\xcf\\x8f\\x99\\x09\\x18\\xca\\x92\\xd1\\x7a\\xd2\\x6c\\x32\\x1a\\xcb\\x68\\x59\\x4a\\x17\\x8d\\x18\\x23\\x3e\\x09\\x0b\\xe4\\xaf\\x98\\x9b\\xf8\\x0c\\xe4\\x9f\\x89\\x3a\\x64\\xcd\\x3f\\xb4\\x87\\xdb\\x05\\x89\\x27\\x88\\x4e\\x8c\\xce\\xcd\\xc1\\x27\\x7f\\x06\\x93\\x55\\xcb\\xf0\\xd7\\x2f\\x1e\\x9c\\xdb\\x72\\xca\\x98\\xb6\\x31\\xa7\\x9e\\x31\\xf3\\xe0\\x8b\\xf8\\xeb\\x65\\x55\\x30\\xf9\\x19\\x3e\\x39\\x67\\x76\\x49\\x1b\\xb7\\x22\\xd7\\x91\\x3c\\x19\\x49\\x91\\xa7\\xe0\\x4d\\xf8\\xf5\\xed\\x33\\x4b\\xb9\\x99\\xc9\\x8d\\x65\\x73\\xef\\x80\\xd5\\x78\\xfa\\x53\\x91\\xf6\\xff\\x72\\xf7\\x39\\x72\\x93\\x97\\x50\\x79\\x0c\\x27\\xf7\\xc7\\x3c\\x61\\x23\\x28\\x01\\x4b\\xe3\\xc3\\x0a\\x5d\\x05\\xfe\\x9c\\x1c\\x1e\\x69\\x05\\x05\\xd6\\x28\\x8a\\x96\\x96\\x15\\xba\\x9c\\x2e\\x27\\xd1\\x25\\xae\\x06\\x17\\x17\\x42\\x2e\\x17\\x08\\xf8\\xe9\\xe8\\x1b\\xbf\\x3f\\x10\\x20\\x4b\\x19\\xe0\\x01\\x51\\x93\\x21\\xbe\\x8a\\x9f\\xc7\\x2f\\xe1\\xf9\\x37\\x78\\xc8\\x93\\x4d\\xfc\\xa8\\x53\\x1d\\xcd\\xf3\\xc4\\x80\\x6f\\xa8\\xa9\\x2c\\x67\\x83\\x39\\xd3\\x09\\x29\\x23\\xbc\\xdb\\x65\\xce\\x7e\\xa7\\x00\\x84\\xc2\\xa2\\x92\\x7a\\x2d\\xcc\\x5c\\xf3\\x72\\x58\\x9b\\x2e\\x91\\x31\\x92\\x2c\\xac\\x2c\\x94\\x66\\xa5\\x78\\x6e\\xf6\\xab\\xf8\\x3f\\x93\\xee\\x5a\\x08\\xa5\\xcd\\xbb\\xf7\\xbf\\x3c\\x6a\\xd4\\x23\\xf7\\x5f\\x7f\\xd5\\xe5\\x3b\\x63\\x0f\\x8d\\x84\\x96\\x17\\xdf\\x69\\x5f\\xbb\\x72\\xd3\\x0e\\xfc\\xbd\\xe7\\xf6\\xbd\\xe3\\xf0\\xcf\\xd7\\x2d\\x59\\x71\\xe1\\x86\\x85\\x97\\xcc\\xbc\\xe4\\x1f\\x57\\x0c\\xbe\\xff\\x9e\\x17\\xee\\x5d\\x7c\\x77\\xc8\\xb7\\x6b\\xf9\\xb3\\xdf\\x80\\x74\\x5f\\x39\\xd5\\x0d\\x4e\\x1a\\x07\\x76\\x72\\x1c\\x24\\xba\\x81\\x5c\\x88\\x2e\\x59\\x96\\x2b\\x65\\x8e\\x58\\x18\\x22\\x24\\x67\\x4f\\x60\\xba\\xb3\\xa6\\x92\\x28\\x03\\xb2\\x90\\x5d\\xea\\xea\\xe9\\x27\\x8f\\x04\\xe9\\x7e\\xed\\x5b\\x0f\\xef\\xd9\\x69\\xe1\\x7e\\xfc\\x6c\\x87\\x98\\xcc\\x15\\x96\\xb6\\x9f\\x35\\x7f\\x2b\\xff\\xc0\\xd1\\xc5\\xe8\\x9e\\x45\\xcb\\x8f\\x9d\\xda\\xa9\\xef\\x98\\xee\\x7a\\xc9\\xd4\\x5d\\xeb\\x4c\\xdd\\xe5\\x72\\x51\\x85\\x27\\x2a\\x5e\\x20\\x65\\xea\\x2e\\xaa\\x4f\\x09\\x7d\\xc4\\xdb\\x89\\x97\\xd9\\x5d\\x16\\x8e\\xd3\\x34\\xb7\\x64\\xb1\\x38\\x1d\\x6e\\x87\\x47\\x97\\x75\\x62\\xbf\\xb8\\x38\\xbb\\xca\\xa9\\x2d\\x89\\x4a\\x0e\\x72\\x9c\\xdb\\xa1\\x49\\x06\\x52\\x03\\xed\\x58\\x36\\xb6\\x5f\\x37\\xb3\\x24\\x35\\x61\\xbf\\xfb\\xe6\\xba\\xa7\\xa7\\x9d\\x44\\xae\\xa4\\x1e\\x36\\x0e\\xa4\\x36\\x01\\xbf\\x99\\xdd\\x4b\\xf5\\xf1\\xa0\\xdb\\x03\\x55\\x8b\\xea\\x41\\x5e\\x1d\\x78\\xa1\\x8a\\x3c\\x9a\\x0a\\x9b\\x13\\x2a\\x12\\xed\\xcd\\x09\\xd1\\xdd\\x69\\x05\\x64\\x1e\\x75\\x1a\\x5e\\xe8\\x7e\\xef\\x47\\xd0\\x21\\x3c\\xad\\xcb\\x3d\\xcf\\x75\\xec\\xe9\\xe9\\x5a\\xa7\\xfe\\xcf\\xdf\\xe2\\x17\\x94\\x77\\xc7\\x12\\x20\\xdf\\xdf\\x4d\\xfe\\x3d\\x5f\\x58\\xaa\\x8a\\x68\\x22\\x06\\x20\\x10\\xf7\\xc9\\x56\\x18\\xa2\\xff\\x37\\x5a\\x5b\\xac\\xf3\\xac\\x4b\\x88\\xc6\\xdd\\x6d\\xdd\\x6f\\xb5\\x4c\\x3d\\x7f\\x6a\\x17\\x1d\\x18\\xeb\\xee\\xf3\\x75\\xed\\xd5\\x27\\x72\\x61\\xf7\\x13\\x5b\\xb3\\xc1\\xf1\\x7c\\xa7\\xcd\\x61\\xb7\\x23\\x1b\\xf1\\x5e\\xc9\\x9e\\xd2\\x9d\\x36\\x3b\\x70\\x11\\x4f\\x90\\x17\\xe9\\xb1\\x01\\xee\\x34\\xf4\\x9b\\x11\\xe1\\x85\\x66\\x00\\xd4\\x90\\x8e\\x40\\x0d\\x6a\\x26\\x98\\x7a\\xd6\\x42\\x0b\\x5d\\x1c\\x1c\\x3b\\xe4\\xaa\\x8a\\xa6\\x69\\xa3\\x63\\x23\\x46\\x4e\\x4f\\x3e\\xfb\\x11\\x7c\\x1a\\x2e\\x39\\x98\\x6c\\x3b\\xf9\\xbc\\xcb\\x3c\\xc5\\xa1\\xb5\\x03\\x4b\\x9a\\xf7\\xa0\\x3d\\xed\\x3f\\x23\\xe5\\xd8\\x53\\x5b\\x17\\xf5\\x63\\xf5\\x6e\\x17\\x76\\xfc\\x2e\\xdc\\x96\\xc6\\x09\\x38\\x2f\\x3e\\xc8\\xc0\\x09\\x88\\x74\\xe2\\x04\\x28\\xbd\\x60\\x4b\\xaf\\xfd\\xbd\\xde\\xe8\\x85\\x1a\\x7a\\x41\\xd0\\x0b\\xda\\x50\\xb0\\xc8\\x5a\\xf4\\xbf\\xc3\\x02\\xa4\\xea\\x8e\\xff\\x7f\\x63\\x02\\xdc\\xb6\\xf8\\xc7\\xad\\xa5\\x6d\\xa5\\x26\\x26\\x40\\xb0\\x2d\\x60\\x62\\x02\\x08\\xce\\x07\\xf6\\xb4\\x4f\\xde\\xf3\\x80\\xd3\\xfa\\xff\\x03\\x13\\x80\\xde\\xf9\\xcf\\xb3\\x3b\\x7f\\x68\\x3c\\x2c\\xf1\\x16\\xbb\\x9d\\x9c\\x6d\\x1e\\x3a\\x9c\\xc0\\xb9\\xdf\\x49\\xdc\\x62\\x72\\xa6\\x91\\xdd\\xce\\x50\\x1c\\x78\\x8d\\x4b\\x5d\\xf6\\x95\\xe6\\x6d\\x9f\\x7d\\xc0\\xa3\\xec\\x26\\x32\\xee\\x7b\\xe1\\xf9\\xd6\\x63\\x37\\xb6\\x71\\xbf\\xef\\x61\\x97\\x8e\\x71\\xdb\\x1f\\x2b\\x30\\x74\\xc9\\x56\\xb2\\x0f\\x1e\\x60\\x76\\x65\\x63\\xdc\\xad\\xc9\\xb2\\x62\\x91\\x14\\xc9\\xe3\\x06\\xb4\\xfb\\x93\\x9c\\x53\\xd6\\xf9\\xe9\\x75\\xa9\\xa3\\x01\\x72\\xa0\\xe6\\x84\\xab\\x92\\x22\\x0c\\x48\\x2a\\xf9\\x41\\x09\\xd1\\x41\\xa7\\xd4\\xcb\\xca\\xc0\\x18\\xc8\\x6e\\x87\\xcb\\xca\\x1d\\xb2\\xfc\\x1c\\xfa\\xf9\\xe6\\x47\\x47\\x7d\\xf6\\xd1\\xbe\\x2b\\xae\\xdc\\xf8\\xfb\\xbe\\x7d\\xb0\\xbd\\xd0\\xff\\xc8\\xe3\\xdc\\x89\\xc9\\x67\\x2e\\x99\\x55\\xcd\\xfd\\xfb\\xe8\\x62\\x33\\x16\\x71\\x3f\\x93\\xc1\\xc9\\xf1\\x6a\\x0b\\x61\\x16\\x11\\x02\\xed\\xc8\\xe9\\xf8\\xde\\x09\\x9f\\x73\\xc2\\xbd\\x4e\\xb8\\xdc\\x09\\xe7\\x39\\x21\\x47\\xb4\\x0f\\x33\\x80\\xac\\x02\\xa4\\x46\\x10\\x83\\xf1\\xd0\\xd2\\x19\\x08\\x13\\xef\\xc5\\xe8\\x1f\\xcf\\xb4\\x82\\x62\\x69\\x1b\\x28\\xa6\\xde\\xd3\\x06\\xff\\xb5\\x87\\xfc\\x9f\\x92\\x08\\xb5\\x81\\xcc\\x75\\x90\\xa8\\xed\\x2a\\x83\\xc9\\xf1\\x2a\\x87\\x2c\\x93\\x55\\xb0\\x5b\\x24\\x9e\\xb7\\x40\\xa4\\x2a\\x55\\x6a\\x5c\\x6d\\x51\\x51\\xa5\\x0a\\x89\\xff\\xec\\x44\\x4e\\xb2\\x26\\x44\\x18\\x3d\\x2c\\x8b\\x1a\\x4b\\x93\\xd1\\xdd\\x50\\xc8\\x58\\x1d\\xfa\\x21\\x55\\xb6\\x1e\\xed\\xd3\\x06\\xdf\\xde\\x03\\xdf\\xca\\x5e\\x24\\x73\\xa1\\x38\\xb6\\x57\\xbe\\x37\\x6d\\xb0\\x11\\xf1\\x22\\x1b\\xd0\\x34\\x8b\\x93\\xb7\\xf0\\x5e\\x1f\\x6b\\x9b\\x01\\xd4\\xee\\x02\\x64\\xc7\\x18\\x66\\x33\\x4d\\x9d\\x6a\\xdd\\x9b\\x00\\x3b\\x57\\x87\\xe9\\x31\\x9a\\x59\\x62\\xd6\\x56\\x6d\\x18\\xa6\\x2c\\x2d\\xee\\x71\\x38\\x8c\\x18\\x58\\xd4\\xdc\\xfa\\x0d\\xd7\\x72\\xab\\xb8\\x0b\\x88\\xa9\\xf5\\x2e\\x8c\\x6d\\xdb\\x82\\xfa\\xbc\\xb5\\x8f\\x78\\x2a\\x5f\\x6f\\x69\\xcf\\x4d\\xb9\\x25\\xe4\\xac\\xd2\\xf5\\x9a\\x4d\\xe8\\xb2\\x11\\xbd\\xe0\\x23\\xbe\\xba\\x4a\\x8c\\x65\\xbb\\xa4\\x28\\x3e\\x3b\\xc5\\x1f\\x22\\x4a\\x35\\x87\\xee\\x20\\xbf\\xdd\\x35\\x5a\\x92\\x9b\\x13\\x92\\xc4\\x0b\\xba\\x2e\\x20\\x8f\\x87\\xe7\\x15\\xd3\\x24\\x4c\\xed\\x61\\x7a\\xcb\\x96\\xa7\\x5b\\xc0\\xba\\xf8\\x26\\xd9\\x3e\\x09\\x05\\xaa\\x30\\x4d\\xc2\\xb6\\x2e\\xf6\\xe0\\xa6\\x36\\xc3\\x24\\x4c\\x3b\\x23\\xf8\\x73\\x8a\\x94\\x92\\x65\\xc7\\x12\\xe1\\x81\\x61\\xf1\\xa8\\x9d\\x9c\\x6b\\x85\\xb8\\x82\\x1e\\xf7\\x5c\\xba\\xdb\\xe3\\x9e\\x46\\x0f\\x72\\xa2\\x14\\x99\\x28\\x4d\\xa0\\x91\\x49\\x2d\\x37\\x01\\x84\\x32\\x7b\\x58\\xba\\x52\\x16\\xea\\x89\\x28\\x18\\x4f\\x53\\xf4\\xdc\\xc5\\xcb\\x30\\x6f\\x9c\\xbb\\x73\\x4d\\x7f\\x3f\\x00\\x2e\\x8e\\x9f\\xa0\\x2a\\x88\\xcf\\xf5\\xf9\\x6c\\xbc\\xa2\\xf8\\x6d\\x28\\x3f\\x98\\x4b\\x9c\\xb9\\xe6\\xdc\\x35\\xb9\\x9c\\x9c\\x4b\\xd6\\x36\\x37\\xd7\\x25\\xb9\\x3c\\x64\\x7d\\x55\\x85\\xec\\xbd\\x46\\x75\\xad\\xba\\x55\\x3d\\xac\\xfe\\xac\\x5a\\x1c\\xaa\\xea\\x72\\xcb\\x88\\xec\\x42\\x44\\x8e\\x00\\xa0\\x95\\x6b\\x5d\\x01\\x12\\x3b\\x8d\\xed\\xf3\\xb3\\x9d\\x58\\xd5\\x6c\\xb6\\x60\\x19\\x38\\x0a\\xaa\\xc1\\x47\\x42\\x88\\x45\\x42\\x40\\x3d\\xd9\\x0f\\xc5\\x45\\xdc\\x4b\\x9b\\x3e\\xea\\xf3\\xc8\\x28\\x58\\xf1\\x39\\x1c\\x06\\x67\\xdd\\x81\\x5f\\x79\\x1f\\x4f\\x7a\\x7c\\xcb\\x88\\x7f\\x5e\\xff\\x2e\\xb4\\xbb\\x93\\xf3\\xb9\\xeb\\x74\\xdc\\xc1\\x1f\\xbd\\xea\\xc2\\x41\\xf7\\xef\\xc6\\x57\\xe0\\x5d\\x87\\xf0\\xa3\\x0f\\xc1\\x05\\xe3\\x57\\x6f\\x86\\xf2\\x3f\\x6f\\xfa\\x3a\\x69\\xc8\\xbb\\xe3\\x88\\xf4\\x30\\xe1\\x91\\x62\\xe7\\x9e\\x1e\\xef\\xe7\\xb4\\x5a\\x6d\\x84\\x15\\x0f\\xb0\\x91\\xdb\\x3e\\x1c\\x02\\x61\\xb2\\x3b\\x54\\xc2\\xa9\\xca\\x3b\\x89\\x93\\x40\\x0e\\xb3\\x05\\x38\\xab\\x9c\\x5b\\x9d\\xc4\\x73\\x70\\x92\\x3b\\x07\\xd9\\x34\\x3e\\xd8\\x09\\x81\\x64\\xe6\\xd8\\xa7\\xb1\\xe0\\x4e\\xf7\\x46\\x08\\x13\\x07\\x29\\x44\\x7e\\xb3\\xe1\\xc6\\x6a\\x34\\xdf\\x83\\xcc\\x2e\\x57\\x8d\\x36\\x43\\x3c\\xbc\\x15\\xbf\\xf3\\x22\\xfe\\x10\\xdf\\x25\\xe3\\x0f\\xdb\\xda\\x60\\xaf\\x3c\\x38\\x19\\xe6\\xc3\\x3a\\x38\\xe5\\xd9\\xdf\\x3e\\x39\\xf4\\xdb\\x9f\\x1f\\x1e\\xfa\\x95\\xc2\\x20\\x3d\\xfc\\x20\\x9c\\x0e\\x07\\x1a\\x3e\\x2d\\x2c\\x82\\x23\\xf0\\x52\\xbc\\x3b\\xab\\x36\\xaf\\x9c\\xf1\\xd6\\x62\\x62\\xfb\\x38\\x81\\x17\\x24\\x88\\x96\\x80\\x50\\x73\\xf1\\xbc\\x13\\x68\\x36\\x9b\\x15\\x58\\x7d\\x7e\\x68\\xd7\\x88\\x15\\x21\\x6b\\x0d\\xda\\x04\\x6d\\xae\\x46\\x34\\x98\\xa6\\x01\\x49\\x22\\xab\\x28\\x21\\x9b\\x8d\\x59\\x66\\x95\\x59\\xb1\\x5f\\x10\\xcb\\xac\\xb3\\x32\\x8a\\xee\\x89\\xb6\\x62\\x65\\x90\\x45\\x31\\x56\\xda\\x05\\xdd\\x44\\x8f\\x92\\x5d\\x56\\x28\\xb6\\xc0\\xb5\\xb7\\x3f\\x06\\xb9\\x9f\\xb8\\x1b\\xdb\\xf0\\xf1\\x78\\x5d\\xe0\\xae\\x1b\\xe1\\x41\\x3c\\xf0\\x96\\xed\\x5c\\x73\\xe0\\xbd\\x5b\\xf6\\xbd\\x7b\\x74\\x31\\x77\\x3c\\x71\\x96\\x8e\\x2c\\xbe\\x96\\xb3\\x2c\\x35\\x62\\xeb\\xfc\\x05\\x2c\\xb6\\x7e\\x1c\\xa3\\xfd\\x22\\xf2\\x7d\\x83\\xf0\\x19\\xd1\\xb1\\x85\\x44\\xc3\\xb9\\x03\\x40\\x0e\\x89\\x22\\xb1\\xcb\\x8a\\x22\\xa0\\x68\\x77\\x11\\xa7\\x1a\\x7d\\x52\\xb4\\xc1\\xd8\\x81\\x1a\\x13\\x21\\x87\\x43\\x0b\\x80\\xbc\\xdd\\x79\\x3f\\xe7\\x91\\xe3\\x91\\xa7\\x59\\x69\\x2f\\x8f\\x11\\x02\\x25\\x94\\xc7\\x58\\x91\\x41\\x97\\xce\\xcd\\x34\\x14\\xa7\\x91\\x2d\\x40\\x66\\x46\\x81\\x76\\x09\\x0c\\xe1\\xa2\\x3a\\xef\\x82\\xd2\\x10\\x88\\xae\\x58\\xbe\\xf1\\xb6\\x8d\\xd7\\x6c\\xbc\\x7d\\xf5\\x6f\\x9f\\xbd\\x75\\xf4\\xc7\\x3f\\xfe\\x55\\x71\\xc6\\xcd\\xdf\\xc3\\xcb\\xf1\\xd4\\x3f\\xcf\\xe2\\xcb\\x5f\\x86\\x7f\\xbc\\xdc\\xf6\\xcc\\x0b\\xcf\\x3c\\xbb\\x97\\x7b\\x1f\\x1f\\xc3\\x47\\x89\\xe4\\x93\\x64\\x1f\\x8e\\xdf\\x01\\xe1\\x9e\\x4b\\xc7\\xd6\\xde\\x5e\\x77\\xc6\\x7b\\xef\\x5e\\xb6\\x9a\\xe8\\x1f\\x5a\\xb3\\xf1\\x0d\\x3f\\x80\\xe8\\x6a\\x3f\\x08\\x83\\x8b\\xe2\\x1e\\x31\\x17\\xe5\\x2a\\x8a\\x2b\\x1f\\x21\\x8f\\xcd\\x65\\x2b\\x8c\\x54\\x45\\x60\\x84\\xb2\\x53\\x49\\x5d\\xd4\\x48\\x65\\xe4\\x50\\x04\\x59\\x91\\x98\\xeb\\xcf\\xf5\\x37\\x25\\xe6\\xe6\\x2e\\x26\\xa7\\x0c\\xa5\\x4e\\x99\\x2c\\xe7\\x34\\x26\\x64\\xd9\\xa5\\xd0\\x22\\xe4\\xae\\xce\\xea\\xf9\\xe9\\x56\\xb6\\xf2\\xf3\\xbb\\x1a\\xa6\\x2c\\xf7\\xcb\\x86\\x28\\x1a\\x85\\xf2\\x61\\xd5\\x1d\\x33\\xbd\\x81\\x9c\\x14\\x7c\\x03\\xd7\\xf7\\xc5\\x17\\xe7\\xcf\\x5e\\xba\\xf4\\xe3\\xa7\\xf1\\xf0\\xd6\\x23\\xab\\xe6\\x2d\\x5c\\x73\\xf8\\x83\\x25\\xb3\\xa7\\x5f\\xcc\\x0f\\x58\\xbd\\x6c\\xea\\xa5\\xba\\xa4\\x5e\\x31\\x73\\xfd\\x5d\\xfc\\x80\\xf6\\x31\\x27\\x4f\\x3d\\x7b\\x22\\x7c\\x06\\xef\\x1f\\x7d\\xea\\x89\\x63\\x0d\\x5d\\x41\\x78\\xe4\\x76\\x11\\x1e\\x4d\\xcc\\x34\\xe2\\xbd\\x48\\x02\\xd7\\x98\\x10\\x64\\xa4\\xf7\\x80\\x99\\xc6\\xed\\xc2\\xeb\\x5b\\xf9\\x01\\xcb\\xda\\x8f\\x27\\x6f\\x61\\xeb\\xed\\xc1\\x33\\xf8\\x95\\xec\\xfd\\x6e\\x30\\x32\\x5e\\x24\\x68\\x9a\\x24\\x89\\x50\\xe1\\xe9\\x29\\xb3\\x13\\xaf\\x58\\xf7\\xb0\\x94\\xb0\\xac\\xf1\\x0e\\xab\\xa3\\x31\\x61\\xd5\\xed\\x62\\xa6\\xa7\\x9b\\x59\\x9e\\x9c\\x56\\x1d\\x61\\xe2\\xd8\\x52\\x44\\x7d\\xd3\\xdb\\x25\\x36\\x70\\x0c\\x0d\\xc3\\xaf\\x45\\x4f\\x8d\\xc3\\x5f\\xe0\\xc8\\x3b\\xdb\\xdf\\xba\\x73\\xe1\\x98\\x39\\x15\\xdc\\xf2\\x75\\xe8\\x31\\xfc\\x33\\x9e\\x7d\\x7d\\xf2\\x6b\\xe6\\xee\\xe6\\x5d\\x06\\x5f\\x85\\x73\\xda\\x8f\\x4f\\xe1\\xab\\xf2\\x7e\\xb6\\x2f\\x47\\x1b\\x78\\x14\\xe4\\x4c\\x4d\\x24\\x74\\x46\\xc0\\x93\\xf1\\xe3\\x89\\xbf\\xca\\x9c\\xda\\xbc\\x7c\\xbf\\xa6\\x15\\x16\\xca\\x11\\xe6\\xf1\\x06\\x22\\x02\\x2a\\x8a\\xbe\\x1e\\x3d\\x14\\xe5\\xe6\\x45\\x61\\x43\\x74\\x6e\\x94\\x0b\\x45\\x21\\x71\\x77\\x7f\\x8e\\xc2\\xdb\\xa2\\xb0\\x31\\xda\\x12\\xe5\\x0a\\xa2\\x95\\x51\\x0e\\x44\\x89\\x51\\xc8\\xfc\\x5e\\xda\\xd7\\x57\\x66\\x57\\x47\\x9b\\x0e\\x30\\xd9\\xbd\\xb2\\x5c\\x20\\x4f\\x90\\x9b\\x65\\xde\\xf8\\x82\\xa8\\x7c\\xe6\\x09\\xcb\\xc4\\x13\\xd6\\x3b\\x3d\\xe1\\x69\\x9d\\xae\\x70\\x79\\xca\\x17\\x4e\\x77\\xcb\\x66\\x38\\xc4\\x7f\\xed\\x0f\\xa3\\x98\\x2f\\xe5\\x0f\\x73\\xee\\x18\\xea\\xf4\\x58\\xb8\\x89\\xb9\\x43\\xdd\\xf8\\xbb\\x17\\xe1\\xe9\\x91\\xa9\\x1f\\x3c\\xb9\\x61\\xd8\\xe8\\x81\\x15\\xad\\xf9\\x55\\x7d\\x87\\x3d\\xfb\\xe4\\x07\\x53\\x23\\xf0\\xf4\\x17\\xf1\\x77\\xee\\xa1\\xb9\\xad\\xf0\\x53\\x87\\x05\\xcb\\x5c\\x63\\x70\\x25\\x1c\\xf1\\xd3\\x79\\x53\\x8b\\xe0\\x47\\xb8\\x58\\x89\\x4d\\x81\\x03\\xf1\\xde\\x95\\xc1\\xe4\\x6e\\xf8\\x8b\\xc5\\x41\\x01\\x0d\\x20\\xa8\\xee\\x38\\x82\\xa6\\xf1\\xe3\\x41\\x11\\x58\\x15\\x3f\\xd1\\x91\\x9f\\xa7\\x7b\\xbd\\x3c\\x92\\xf3\\xf2\\xac\\x85\\xa8\\x30\\x5a\\x0c\\x8a\\x89\\x24\\xf2\\x1d\\x76\\x87\\x9d\\x6c\\x6e\\x47\\x81\\x83\\xeb\\xa0\\x36\\x1c\\xb1\\xa4\\xf5\\x46\\xbd\\x45\\x9f\\xa7\\xf3\\x1a\\xd2\\x75\\x3f\\x2d\\xca\\xf1\\x2b\\x40\\x6c\\x4c\\xb4\\x30\\xaf\\x18\\xfd\\xc4\\xc3\\x10\\x71\\x8c\\x79\\xda\\x81\\x5a\\x53\\x39\\x35\\xd3\\x21\\x36\\xa3\\xc7\\x19\\x47\\x22\\xe3\\x40\\x74\\x3a\\xc5\\x86\\x23\\x40\\x36\\x7f\\xb8\\xb6\\xd3\\x23\\x26\\x6e\\x72\\xc6\\x49\\x81\\x2f\\x6f\\x7f\\xbe\\xcf\\x6d\\xb5\\x2f\\xb5\\x9c\\x8f\\x1f\\xb9\\x7d\\xd3\\x99\\x53\\x13\\xe7\\x3b\\xee\\xa8\\x80\\x63\\xee\\x79\\xed\\xfa\\x73\\x2e\\xde\\xfc\\xbe\\xe7\\xb2\\xa5\\xbd\\xb7\\x4d\\x3b\\xed\\xc5\\xab\\x4f\\x3a\\xe5\\x84\\x49\\x27\\x8c\\xf4\\x40\\xee\\xb6\\xcb\\xcf\\x5e\\x69\\xe5\\x9c\\x6b\\x66\\x6f\\xda\\x69\\xd6\\x6b\\x7d\\x47\\x7b\\xb9\\xc9\\xae\\x2e\\xb7\\x43\\xe8\\x40\\xa2\\x28\\x38\\x04\\x97\\xbc\\x5b\\xde\\x2f\\xbf\\x21\\xa3\\xdd\\xf2\\xcf\\x32\\x37\\x4f\\x5e\\x22\\x6f\\x65\\xaf\\x08\\x36\\xe4\\x94\\x45\\xce\\x91\\x5a\\x63\\x98\\x0e\\x22\\x76\\x86\\xc8\\x90\\xe1\\x12\\xd7\\xd5\\x93\\x65\\x82\\x83\\x6c\\xf0\\xb7\\xe7\\x77\\x4a\\x08\\x8b\\xfb\\xf9\\x01\\xc9\\xdd\\xf8\\x7b\\x74\\xf6\\xb1\\x03\\xdc\\x86\\xa2\\x75\\x05\\xed\\x37\\xb2\\xb3\\x45\\xf6\\x30\\xa3\\x41\\xa0\\xb1\\xc0\\x7f\\x19\\xbe\\x31\\xf8\\x8e\\xfc\\x83\\xe1\\x1b\\xab\\xc4\\x37\\xe6\\x14\\xaf\\x83\\xcf\\xf0\\x8d\\x57\\x91\\x9f\\x5f\\xc5\\xf2\\x84\\x67\\xc5\\xfb\\xbb\\xec\\x9c\\x85\\xfa\\xc6\\x6e\\x8f\\xce\\xdc\\x63\\x07\\x51\\xc2\\x95\\x3a\\x67\\x43\\xd4\\x39\\x26\\xab\\xc5\\x35\\x70\\x13\\x38\\x44\\x3f\\x75\\x70\\x88\\xb8\\xd1\\x0e\\xb7\\xdb\\xa1\\x93\\x9b\\xde\\x40\\x5f\\x21\\x26\\x93\\x11\\xc2\\x37\\x3d\\x9a\\xce\\xcd\\xd8\\xc5\\x5f\\xce\\xde\\x7c\\xab\\x7a\\xd8\\x6a\\xfc\\x80\\x1e\\xb7\\x16\\xa1\\xd7\\xce\\x7a\\x98\\x29\\xbd\\xe3\\xe2\\x31\\xe0\\xe6\\x54\\x9b\\xea\\x26\\x0a\\x63\\x9e\\xbe\\x44\\x5f\\xab\\xa3\\x79\\xfa\\x6e\\x9d\\x03\\x7a\\x88\\xe5\\x78\\xe8\\x6b\\xa2\\x13\\xa9\\x44\\x35\\xa9\\xb2\\xe4\\x60\\xdd\\xfd\\xa9\\x2c\\x39\\xbb\\xb0\\x3b\\x5b\\xca\\x18\\xa2\\x9d\\x8d\\x39\\x08\\x46\\xbd\\x3f\\x0d\\x97\\xa9\\x68\\x06\\xbe\\x7a\\x60\\xfc\\x84\\xd9\\x93\\x6a\\x7a\\xe7\\x94\\xd7\\x0f\\xaf\\x8f\\xf4\\xe6\\x5e\\x23\\xea\\x63\\x2c\\x7e\\x7d\\xcb\\x09\\xce\\xa5\\xd6\\x39\\xe4\\xe7\\x2d\\x70\\xc4\\xb1\\x03\\xa6\\x4e\\x34\\xf3\\x87\\x23\\xe3\\xc5\\x34\\x77\\x48\\x48\\xa5\\x69\\x44\\xd1\\xae\\x10\\x77\\x7e\\x89\\x11\\x64\\x6e\\xf0\\x12\\xa3\\x80\\x73\\x49\\xb2\\x6a\\x87\\x22\\x5b\\x76\\xba\\xee\\x34\\x1a\\x32\\x35\\x0b\\xb2\\xe6\\xff\\x39\\xa1\\x98\\xec\\x4d\\x36\\x44\\x97\\x84\\xa2\\xb1\\x1f\\x3f\\x65\\xf5\\xd5\\xe7\\xc4\\xf3\\x21\\xb1\\x76\\x38\\xb2\\x1f\\x6d\\x82\\xc3\\x19\\x77\\x36\\x3a\\x5b\\x9c\\x28\\xee\\x5c\\xe2\\xe4\\x80\\x13\\x2a\\xc8\\x49\\x6f\\xa4\\xb0\\xdb\\x37\\x1a\\x5a\\x1a\\x13\\xbb\\xe1\\x7e\\xb2\\xb3\\xe1\\x2e\\xd8\\x06\\x91\\x0c\\x1b\\x20\\x67\\x81\\xd0\\x26\\xe8\\x88\\x2d\\x33\\x0d\\x89\\x50\\xc9\\x99\\x90\\x80\\xdd\\x36\\x2c\\x35\\x40\\x0d\\x2d\\x4c\\xae\\xc7\\x6f\\x5a\\x5b\\x71\\x0e\\x5d\\xcc\\x3a\\xf8\\xf2\\xb1\\x03\\xf0\\x07\\xec\\xe6\\x07\\xf4\\xd0\\x87\\x4e\\xe9\\x7c\\x81\\xd0\\x29\\x81\\xe1\\xf1\\x72\\x41\\xa4\\x68\\xf4\\x16\\x33\\x7e\\x80\\xb6\\x5a\\x0f\\x5b\\xb9\\x16\\x06\\x4f\\xb8\\xdb\\xca\\xcb\\x56\\xa2\\x3b\\x24\\x9e\\x26\\xd1\\x45\\xc8\\x60\\x05\\xca\\xb3\\xa2\\xef\\x26\\x5a\\x16\\x7b\\x3e\\x7a\\xa1\\x15\\x57\\x92\\x87\\x1f\\x3b\\x80\\x1e\\x33\\xef\\x1e\\xf2\\xec\\xe5\\xac\\x87\\x61\\x1c\\x79\\xf6\\xc4\\x2c\\x4c\\x6d\\x96\\xe7\\x27\\xb4\\x90\\x5d\\x86\\xae\\x62\\xb4\\x0c\\x8c\\x17\\x22\\x91\\x13\\x25\\x64\\xb1\\x2e\\xb1\\xc2\\x06\\x2b\\x64\\x93\\xa9\\x09\\x05\\x76\\xc4\\xeb\\x48\\x04\\x62\\x53\\xba\\x81\\xc6\\x08\\xc9\\xa4\\xfd\\x2a\\x03\\xa3\\x91\\x92\\x11\\x41\\x67\\xe1\\x7b\\x5a\\xf1\\x3d\\xec\\xfa\\x43\\x8f\\x91\\xe7\\x09\\x78\\x32\\x6a\\xe7\\x07\\x90\\xe7\\x4d\\x61\\xfe\\xca\\x24\\x3c\\x59\\x1c\\x22\\xbc\\x0a\\xa2\\xa0\\x06\\xc4\\xc1\\x1d\\xf1\\x73\\x62\\x60\\x40\\xef\\xde\\xf9\\x79\\xb6\\x62\\x8f\\xc7\\x06\\xd0\\xb0\\xa1\\x82\\xb3\\x20\\x87\\x8f\\xa0\\x48\\x5d\\x63\\x22\\xa2\\x04\\x81\\xb7\\xaa\\x31\\xe1\\x55\\xd4\\x32\\xb2\\xa7\\xbd\\xd6\\x3c\\x34\\x84\\xe6\\x7f\\xb7\\x0d\\x83\\x1b\\x86\\xc1\\xe5\\xc3\\xe0\\x82\\x61\\xf0\\xac\\x61\\xf0\\xa4\\x61\\xb0\\xef\\x30\\xf8\\x71\\xea\\x45\\xe3\\x95\\xf8\\x30\\xc8\\x55\\x0d\\x83\\xa1\\x61\\xb0\\x60\\x18\\x04\\xc3\\x32\\xd0\\xcc\\xa6\\xa6\\x11\\xc8\\x3a\\x5b\\x99\\x52\\xad\\xf2\\x19\\xa5\\x57\\x69\\xb3\\x96\\xd5\\x62\\x98\\x8d\\xf2\\xf5\\x66\\x27\\x90\\x12\\xa6\\xf8\\x57\\x25\\xd4\\x73\\x64\\x10\\x33\\x9a\\x89\\x7e\\x95\\x31\\x65\\xc2\\x05\\x83\\x46\\x82\\x59\\x1c\\xf2\\x44\\xeb\\x17\\x13\\x44\\x61\\x87\\x20\\x54\\x6c\\x9c\\xbb\\xe7\\x61\\x38\\x7b\\xde\\xc6\\x3e\\x82\\xb0\\x03\\x09\\x15\\x6b\\xe7\\x3f\\xf6\\xe8\\xd1\\x77\\x67\\x5f\\x78\\xc5\\x22\\xb4\\xf0\\xca\\x8b\\x67\\xf1\\x73\\x66\\x5e\\x34\\xed\\xbc\\x7a\\x6e\\xd1\\xd2\\x85\\x73\\xb8\\x42\\xfc\\x15\\xfe\\xe7\\x93\\x93\\x27\\xe2\\x04\\xdc\\x3e\\x7b\\xf8\\x8c\\x53\\xa1\\x1b\\xe6\\x70\\x75\\xa7\\x9e\\x71\\x23\\xbc\\x13\\x4f\\xd9\\x32\\x23\\x81\\x7f\\xc2\\x5f\\x7c\\x7e\\xe0\\xf9\\xf7\\xfc\\x6f\\xbf\\xfa\\xda\\xa7\\x1f\\xbd\\x3c\\xe5\\xa9\\xcd\\xbe\\x97\\xda\\x0e\\xb2\\x35\\xf6\\x19\\x7a\\x99\\xc8\\xfc\\x34\\x33\\xd7\\x3f\\x83\\x9f\\xce\\xce\\xc5\\x80\\x78\\x90\\x13\\x04\\x8b\\x45\\x82\\x36\\xc9\\xe6\\x74\\x10\\x9b\\xdf\\x85\\x04\\xc8\\xba\\x0e\\x74\\x0b\\x32\\xf5\\x5a\\x5a\\x9f\\xf5\\xb0\\xd5\\x8d\\xcd\\x4e\\xb6\\xfa\\xa7\\xad\\xeb\\xef\\x6c\\x7f\\x85\\xd8\\x4b\\xc7\\xd3\\xdd\\x46\\xad\\x0b\\xba\\xe3\\x20\\x58\\x44\\x9e\\xbd\\x85\\x7c\\xa9\\x82\\x7e\\xf1\\xa0\\x40\\xe3\\xa2\\x8a\\x45\\x71\\x6b\\x36\\xe2\\xa9\\x33\\x8b\\xa9\\x00\\x71\\x08\\x59\\x74\\xd1\\x38\\x5c\\xa9\\xe0\\x45\\x36\\x8a\\x3c\\x9b\\x95\\xca\\x1e\\x25\\x99\\xed\\xe7\\x15\\x77\\xcf\\xb9\\xbb\\xb5\\x75\\xfc\\xba\\xcb\\x97\\xae\\x21\\xa7\\x6b\\xce\\x1d\\x95\\x9c\\x40\\xce\\xd7\\xc1\\xfc\\x7e\\x37\\x5f\\x0b\\x6f\\x4e\\x9d\\x29\\xc1\\x38\\xfb\\x93\\xe3\\x61\\x04\\x58\\xf4\\x86\\x07\\xc8\\xe1\\xbc\\xcf\\x09\\xcf\\x72\\x2e\\x77\\x72\\x55\\x4e\\xc8\\x85\\x58\\xcc\\xc2\\x69\\x1c\\x7f\\xd9\\xea\\x18\\x6d\\x15\\x20\\x0d\\xa4\\x10\\x2b\\x9b\\x6a\\xca\\x54\\x33\\xb1\\xd1\\x17\\xdf\\xfc\\x37\\x91\\x8b\\xeb\\x5a\\xe1\\x4d\\xad\\x70\\x73\\x6b\\x8a\\x7f\\xf4\\x18\\xd5\\x8a\\xa6\\xac\\xc5\\xe9\\xcc\\x1e\\x3e\\x33\\x3e\\x90\\xd0\\xe0\\x72\\x39\\x8d\\x18\\x0a\\x51\\xcc\\xca\\xc7\\x2a\\x6c\\x55\\x61\\x0b\\xf1\\x20\\x39\\x8e\\x7a\\x92\\x5c\\x03\\x8d\\x62\\x28\\x6a\\x48\\x45\\x36\\xe4\\xa2\\xc4\\xd8\\xb3\\xa9\\xc9\\xec\\x6d\\x6e\\xee\\x21\\x8e\\x91\\x49\\x13\\x95\\x17\\xa1\\x6b\\x63\\x2b\\xdc\\x40\\xd6\\xa6\\x93\\x32\\x63\\x75\\xa8\\x1d\\xda\\x87\\x90\\xb1\\x93\\xd0\\x46\\x63\\x18\\xe7\\xc6\\x75\\x87\\xd5\\xe9\\x94\\x54\\xe2\\xba\\xfa\\xbc\\x34\\x77\\x04\\x7c\\x30\\x80\\x58\\x36\\xa9\\x84\\x7a\\x1e\\x7a\\x53\\x62\\x97\\xa3\\xcd\\xf1\\xba\\x03\\x51\\xa3\\x65\\x82\\x03\\x49\\xc8\\xe1\\x90\\x6c\\xb4\\x71\\xd9\\x26\\x4b\\xce\\xa6\\x84\\xd4\\x83\\x89\\xce\\x24\\xd7\\xd5\\x13\\x31\\x5a\\x59\\x59\\x98\\x23\\x65\\x8d\\x97\\x43\\xe4\\x3c\\xf8\\xd6\\x07\\x07\\xf0\\x39\\xf8\\x71\\xd8\\xfe\\xf2\\x15\\x17\\x2d\\x58\\xf1\\x0a\\x37\\x6f\\xfd\\x6d\\x37\\x6d\\x43\\x8f\\x2d\\xc3\\x75\\x58\\x9e\\x72\\xe6\\xb4\\xc9\\x4c\\x5f\\xd0\\x75\\xad\\x21\\x34\\xa7\\xe2\\x1b\\x55\\xc4\\x64\\x96\\x90\\xec\\xf1\\xf9\\xc8\\xc2\\xf9\\x73\\x6c\\x6e\\x42\\xa6\\xad\\xcd\\xf6\\xba\\x8d\\x98\\xab\\x05\\xb6\\x09\\x44\\x5b\\x12\\xff\\x4e\\xd2\\x2d\\xb2\\x47\\x92\\xec\\x26\\x91\\xc6\\xb2\\x1a\\xfe\\xeb\\xf9\\xdd\\x72\\xc9\\x29\\xf2\\x62\\x9d\\xc4\\xd1\\xf8\\x06\\x57\\x6c\\x10\\xd8\\x6a\\x50\\x87\\x06\\xb5\\x1a\\x04\\x52\\xed\\x6e\\xd0\\x87\\x9d\\x54\\xd9\\x52\\x7c\\x3a\\x42\\xe8\\xfb\\x26\\x8d\\xe7\\xc5\\x47\\x53\\x0a\\x89\\x51\\x8b\\x3c\\xfa\\x62\\xbd\\x43\\xe7\\xa8\\x49\\x31\\x41\\x9f\\xab\\xaf\\xd1\\x6f\\xd3\\x77\\xe9\\xaf\\x93\\x97\\xac\\x36\\xa4\\xc7\\x23\\x25\\xa3\\xff\\x82\\x78\\x8b\\x9c\\xa6\\x3c\\x5d\\xda\\x7e\\x7e\\x79\\x0f\\xf1\\xbd\\x1e\\x28\\xe7\\xfa\\x31\\xaa\\x4f\\x6e\\xfd\\x84\\x52\\xfd\\x69\\x57\\x92\\x41\\x2a\\xd6\\x8c\\xf6\\x11\\x7b\\x35\\x0f\\x6c\\x8e\\x0f\\xb3\\x49\\x92\\x97\\x22\\x37\\x03\\x60\\xf1\\xa2\\x60\\xc0\\x4a\\x2e\\x44\\x3a\\xe3\\x95\\x8e\\x59\\x5e\\x63\\x15\\x64\\xeb\\xeb\\xd6\\x43\\x56\\x44\\x63\\x9f\\x39\\x6e\\xda\\xd3\\x00\\xa0\\x02\\x43\\xb0\\x05\\xce\\x83\\x4b\\xc8\\xb5\\xf9\\x06\\xb9\\xb8\\x20\\xdd\\x32\\x85\\x79\\x85\\xa3\\x21\\xcc\\xf1\\x52\\x8b\\x7e\\xae\\xbc\\x58\\x7e\\x9d\\x5a\\x7b\\x72\\x3c\\x18\\x1a\\x2d\\xcb\\x6e\\x37\\x39\\xfa\\xee\\xf4\\xec\\x88\\x72\\x23\\x36\\x52\\xde\\x63\\x70\\x24\\xbd\\x2c\\x6e\\xa3\\x2a\\x84\\xc6\\x42\\x8c\\xd6\\xa2\\x8c\\x99\\x12\\xf5\\x8f\\x2a\\x2b\\xce\\x5a\\x7a\\x9d\\x03\\x9f\\x09\\x6f\\xb1\\x5c\\xb5\\xea\\xad\\xd0\\x13\\x81\\x43\\xf7\\xfd\\xf3\\xf7\\xdf\\xbf\\x7d\\xf0\\x2b\\x38\\xd0\\x31\\x6b\\xc6\\x83\\xfb\\x96\\x3d\\x75\\xf7\\x73\\xae\\x8d\\xdb\\xf1\\x61\\xe2\\xfb\\x1c\\xc1\\x5f\\xb4\\x9a\\x38\\x82\\x1d\\x47\\x84\\x1d\\x84\\x6f\\x15\\x04\\x29\\x0a\\xb4\\x06\\xfc\\x4e\\xd1\\x61\\xb1\\x58\\xad\\x22\\x40\\x05\\xf9\\xb2\\x4e\\xf1\\x53\\x28\\x32\\x82\\xec\\x20\\x77\\x9e\\xc3\\x61\\xb5\\xc9\\x56\\x1d\\xe5\\x65\\xa0\\xa9\\x98\\x79\\xa8\\x2e\\x8d\\x7e\\x9d\\xd7\\x04\\x57\\x12\\x61\\xc1\\x8f\\x18\\xb1\\xb2\\xb5\\xac\\xda\\xd6\\x1d\\xdf\\x1f\\x7a\\xe7\\x4b\\xeb\\x67\\xad\\xad\\x87\\xc2\\x70\\xdb\\x0f\\xef\\x3f\\x75\\xd1\\xea\\xeb\\x16\\x5f\\xbe\\x62\\xdd\\xa5\\x5c\\x3e\\x51\\xf3\\xdf\\x41\\xe9\\x28\\x35\\x15\\x88\\xd9\\xf0\\x19\\xfe\\x16\\x7f\\x4b\\x5b\\xfe\\x3e\\x7a\\xfb\\x4d\\x46\\xb3\\x6a\\xda\\x0a\\xf4\\xcc\\x4e\\x8c\\xf7\\x02\\x08\\xe9\\x82\\x6e\\xb7\\xdb\\x54\\x41\\x80\\x9c\\x8d\\xf3\\x79\\x11\\x31\\xc1\\x9a\\x12\\x32\\x0b\\x16\\x7b\\xa0\\xc5\\xe2\\x6a\\x4a\\x58\\x64\\xbb\\x69\\x2c\\xf4\\x14\\xe0\\xe8\\x74\\x9b\\xcd\\xb6\\x28\\x58\\x4c\\xd1\\x2a\\xc8\\xfd\\x9d\\x63\\x16\\x18\\x0e\\x84\\x9c\\x0f\\x3f\\xff\\x0a\\x3c\\xe5\\xbf\\x1f\\xbc\\x0e\\x77\\xb7\\x7e\\x77\\xc5\\x45\\x33\\x2f\\x4d\\xc2\\x97\\x09\\x79\\xef\\xc7\\xa0\\xb0\\xf1\\x06\\xa2\\x7a\\x5f\\x86\\xbf\\x4c\\x21\\x07\\x1d\\x74\\xfa\\x91\\xc2\\x57\\x5a\\x31\\xf5\\x23\\x55\\x62\\xd5\\x80\\x03\\x2c\\x1f\\xcf\\x15\\x14\\xa8\\xc5\\x5c\\xe0\\xf1\\x8e\\x83\\xad\\x81\\x02\\x87\\x96\\x95\\x8f\\x37\\xde\\x73\\x49\\xfa\\x3d\\xe7\\x81\\xff\\x00\\x56\\x61\\x82\\xb8\\xdc\\x5c\\x0a\\x73\\x99\\xcf\\xe7\\x07\\x1c\\x6a\\x46\\x85\\x09\\xa4\\xf5\\x62\\x0c\\x7b\\xab\\x0c\\x5c\\x12\\x1f\\x6a\\x93\\xca\\xca\\xa8\\x62\\xcd\\xf3\\x5a\\xf9\\x5e\\xa1\\xf2\\x35\\xe5\\x30\\x5e\\xde\\x58\\xde\\x52\\x8e\\xe2\\xe5\\x4b\\xca\\x39\\x50\\x5e\\x55\\x1e\\x2f\\x47\\x0a\\x72\\x69\\x65\\x7a\\x4e\\xb0\\x31\\x91\\x93\\x67\\xe3\\x10\\x47\\x8e\\x15\\x42\\x9a\\xa0\\x45\\x89\\x17\\x4a\\x53\\x8e\\x92\\x63\\xb4\\x26\\x0b\\x80\\x1a\\xc9\\xa6\\xac\\x52\\x78\\x1f\\xec\\xe4\\x19\\x46\\x73\\x0a\\x2e\\xcc\\x2c\\x2f\\x25\\x7a\\x96\\x8d\\x1a\\xa7\\x45\\x65\\xc4\\x91\\x4a\\x41\\xcc\\x31\\xf4\\xc8\\x5a\\x1f\\x6d\\x2e\\x49\\xa1\\xd0\\x5d\\xb7\\x7c\\x79\\x2b\\xec\\x8d\\xdf\\x91\\x20\\x1a\\x70\\xe7\\x65\\xbb\\xb7\\x5f\\x74\\xd1\\xb8\\x9a\\x21\\x23\\xeb\\x58\\xaf\\x09\\xff\\xe8\\xb2\\xf5\\xeb\\x97\\x6d\\x18\\x7c\\x85\\xed\\xbc\\x33\\x77\\xbd\\xd6\\xfe\\xe6\\xe6\\x55\\xd6\\x6b\\xc4\\xd1\\x33\\xb8\\x5f\\x58\\xcf\\x49\\x72\\x87\\xe9\\xdb\\x70\\x2f\\x52\\xb9\\xa2\\xaf\\x98\\x8c\\x2e\\x04\\x1f\\xa4\\x6a\\x98\\x88\\x6b\\x23\\x9e\\xdc\\xb5\\x86\\x89\\xda\\x76\\x9f\\x31\\xfc\\xcf\\xdb\\xe2\\x53\\x88\\xf3\\xee\\xf3\\xcb\\x9a\\x86\\x90\\xea\\x47\\x81\\x3c\\x39\\x40\\x2c\\x49\\x99\\x76\\x62\\x9a\\x27\\x74\\x8d\\x2c\\xc8\\xe4\\x98\\x1e\\x92\\xc9\\xe1\\x96\\x65\\x20\\x8a\\xc4\\x61\\x28\\xb0\\x55\\xda\\x16\\xdb\\xd6\\xd8\\x0e\\xd9\\x04\\x1b\\x3d\\xbb\\x36\\x9b\\xa8\\x00\\x9f\\xe2\\x0b\\xf9\\x5a\\x7c\\xf3\\x7c\\x4b\\x7c\\xfb\\x7d\\x6f\\xf8\\x2c\\x56\\xe3\\x92\\x70\\x90\\x13\\xef\\x23\\x96\\x86\\xc7\\x04\\x49\\xca\\x3a\\xdb\\x59\\x47\\xbb\\x0b\\x6a\\x92\\x91\\xa5\\x4a\\x81\\x88\\x32\\xc4\\x44\\x5a\\xeb\\x44\\xf3\\xb7\\x14\\xc2\\x82\\xeb\\xfb\\xed\\xef\\xff\\xfe\\xe6\\xbe\\xcf\\x82\\x4f\\x84\\xde\\xba\\xe6\\x4a\\x0b\\xdc\\x82\\xcf\\xd4\\xa0\\xed\\xac\\x15\\xca\\xa3\\xfa\\x57\\x1e\\x58\\x40\\xcc\\x20\\x19\\x86\\xb7\\x6f\\x74\\x3d\\xb7\\xfd\\xc9\\x65\\xf8\\xfa\\x73\\x66\\x3b\\x6e\\x7a\\x84\\xf5\\xc4\\x13\\xde\\x1f\\xe5\\xc7\\x10\\x9b\\x67\\x52\\x1a\\x7b\\xd5\\xa8\\x5f\\x1d\\xcb\\xea\\x59\\xc9\\xee\\xe2\\xa2\\x6c\\xbf\\xfd\\x66\\x60\\x58\\xbc\\x62\\x76\\xcc\\xf3\\x3c\\x45\\xa2\\xb0\\x3c\\xde\\xf1\\x5b\\x6b\\x37\\x38\\xe1\\xae\\x75\\xb0\\xe4\\x3c\\x12\\x7f\\x4c\\x3c\\x42\\xce\\x63\\x2e\\xb1\\x9c\\x2f\\x8b\\x7b\\x0a\\x50\\x6e\\x5e\\x9e\\x64\\xf5\\xfb\\x55\\x95\\xec\\xac\\x68\\x51\\x28\\x0a\\xa3\\x54\\x3a\\xb5\\xe4\\x0a\\x7d\\x3d\\x0a\\x59\\x14\\x24\\x37\\x42\\xd4\\x7c\\x6e\\x5b\\xee\\xeb\\x34\\xd2\\x55\\x90\\x3b\\x21\\x97\\xa8\\xf9\\xdc\\x5c\\xc9\\xef\\x27\\x57\\xa9\\x5f\\x76\\xb9\\x1b\\x13\\x2e\\xaf\\x94\\x97\\x71\\xa1\\x76\\xbd\\x54\\x19\\x20\\xc8\\xf9\\x5d\\xef\\xfe\\xce\\x7b\\xb5\\xab\\x23\\xd7\\x79\\x1d\\x08\\xe3\\xd8\\x75\\x30\\x04\\x9f\\xdd\\xc5\\xaf\\xfb\\xf5\\x57\\x7a\\x3f\\xfc\\x96\\xba\\x73\\xbb\\xfa\\x78\\x99\\xf7\\x05\\xbb\\xdf\\xc4\\xde\\x0c\\xa7\\x34\\x0f\\x2c\\x8a\\xeb\\x3e\\x01\\xba\\xdd\\xaa\\x55\\x71\\x38\\x9c\\x34\\xfb\\x12\\x0c\\xb4\\x04\\x61\\x90\\x32\\x5d\\x4d\\x43\\x7c\\x41\\xe8\\x45\\x90\\x70\\x03\\xa1\\xa2\\xd8\\x1b\\x13\\xbb\\x94\\x36\\xe5\\x75\\x05\\xc9\\x4a\\x81\\x32\\x41\\x21\\x8c\\x2b\\x0a\\x70\\xea\\x56\\x72\\xf1\\x59\\x75\\x97\\x61\\x03\\x66\\x5e\\x72\\x9d\\x28\\x3b\\xe5\\xdd\\x3d\\x44\\x72\\x2b\\xa7\\x59\\x36\\x4b\\xa5\\xd2\\x61\\x3e\\x74\\xef\\x57\\x8c\\xd3\\xe9\\x78\\x7c\\x6b\\x2b\\x7c\\xe8\\x11\\xe3\\xd2\\xa6\\x2a\\x95\\x32\\x68\\x78\\x62\\xd4\\x2b\\x6b\\x1f\\xc1\\xd8\\xa2\\x58\\xf9\\x06\\x8e\\x5f\\x08\\xcc\\x8d\\x0f\\x0a\\xe4\\xa8\\xaa\\x57\\xd7\\xa4\\x5c\\x0d\\x85\\x2d\\x85\\xf1\\xc2\\xc6\\xc2\\x96\\x42\\x14\\x2f\\x5c\\x52\\xc8\\xad\\x29\\x84\\xa0\\xb0\\x8a\\xbc\\x44\\x54\\x49\\xc0\\xa3\\x7b\\x9a\\x12\\x39\\xba\\x8e\\x7c\\x40\\x23\\x8b\\xc5\\x4c\\x5a\\x44\\x18\\x6f\\x25\\x6a\\x84\\x76\\x72\\x94\\x9b\\x96\\x46\\xba\\xf4\\x31\\xe5\\xab\\x65\\xe9\\x0f\\xd8\\x39\\x31\\x2b\\x8d\\x56\\x99\\xa5\\x51\\xe0\\x60\\xa6\\x2d\\x1e\\x31\\x7a\\xd2\\x3a\\x75\\x48\\x82\\x6a\\x8a\\xe4\\x64\\xee\\x4a\\x53\\x45\\x74\\xaa\\x10\\x5a\\x63\\x4c\\xe3\\x1a\\x4c\\x57\\x7c\\x6f\\xe8\\x0a\\xd8\\x90\\xaa\\xa1\\x22\\xba\\xc2\\xd3\\xd4\\xb5\\x86\\xca\\x88\\x9b\\x7c\\x95\\x8a\\x9b\\x10\\x9d\\xbd\\x23\\x55\\x43\\xa5\\xb2\\x1a\\xaa\\x9d\\xad\\x8a\\xdb\\x29\\x64\\xe9\\x6c\\xe6\\xcb\\xd1\\x58\\x0b\\xf5\\xe5\\x58\\xac\\xe5\\x31\\x33\\xd6\\xe2\\xf3\\x91\\x37\\xe5\\xd8\\x72\\x0a\\xac\\x5a\\x46\\xac\\x85\\xd8\\xc2\\xa6\\x3f\\x3e\\x36\\x5e\\xc1\\x4b\\xc4\\xec\\x01\\xc0\\x26\\x21\\xa7\\x23\\xdb\\x1f\\xaf\\x62\\xfe\\x39\\xaf\\xd0\\x54\\xa2\\x6c\\x01\\xcc\\xfe\\x05\\x95\\x99\\x85\\x54\\x9d\\x81\\x8b\\x6c\\xa3\\x97\\x19\\xbc\\xdf\\xb4\\xe2\\x1d\\xa6\\xb9\\x7b\\xec\\x00\\x2d\\xa7\\x62\\xba\\x70\\x7e\\xc7\\x11\\xdb\\x48\\xe1\\x06\\xd0\\x17\\x9c\\x1a\\xaf\\xb0\\xca\\x08\\x95\\x00\\xa0\\xf7\\x21\\x12\\xae\\xab\\xcd\\x83\\x30\\x58\\x54\\xd4\\xab\\x39\\x51\\x5a\\xc4\\x07\\xab\\x9b\\x13\\x41\\x77\\x8e\\xd8\\x9c\\xc8\\x71\\xbb\\x34\\xcd\\xd1\\x9c\\xd0\\xf8\\x34\\x3e\\x56\\xaa\\x07\\xd5\\x3c\\x8c\\xfd\\xd3\\xbd\\x8f\\x6c\\x4b\\xd6\\xb0\\x1d\\xa9\\xb2\\x94\\x8d\\x4a\\x21\\x08\\x98\\x8d\\x92\\xca\\xe5\\x94\\x88\\xe1\\x54\\xcd\\xa6\\xa1\\xe4\\xc8\\xeb\\x1a\\xf3\\x11\\x05\\xae\\xed\\x84\\xcf\\x57\\xfc\\x0c\\x23\\x38\\xf9\\xfd\\x9e\\xc5\\x0b\\xc6\\xbd\\xbe\\x9e\\x26\\x78\\xee\\xc7\\x6d\\x1f\\xe0\\x7b\\x5e\\x7d\\x0d\\xef\\x78\\x1f\\xb7\\x3d\\x40\\xeb\\x38\\xd7\\xbf\\x3e\\x6e\\xc1\\xe2\\x3d\\xdf\\xe1\\xf6\\xe5\\xbf\\xde\\x72\\xd5\\x17\\x13\\x60\\x0d\\xbc\\x1a\\x9f\\x3f\\x76\\x12\\x1c\\x48\\x51\\x2d\\x61\\xef\\x19\\x97\\x8e\\x1a\\x4a\\x13\\x3f\\x1f\\xe1\\x87\\x1e\\x7e\\xe8\\xa1\\x87\\xe0\\xf8\\x8f\\x69\\x81\\xe7\\xd0\\x51\\x97\\xce\\xc0\\x6f\\xe3\\xa3\\xf7\\xe0\\xa3\\x6b\\x4e\\x39\\x91\\xc8\\x41\\x26\\x36\\xff\\x4b\\x0c\\x8f\\xab\\x5f\\x3c\\xe0\\xe6\\x64\\x97\\xcb\\x61\\xb7\\xd9\\x1c\\x92\\xc2\\x09\\x3e\\x2f\\x39\\xc2\\x12\\x39\\x87\\x36\\x59\\xb4\\x1a\\x98\\x85\\x66\\xdd\\x51\\x17\\x0b\\x99\\xf5\\x50\\x44\\xe8\\xd8\\xb3\\x18\\x74\\xa3\\x98\\x9b\\xf6\\x7b\\x97\\xf0\\x37\\xd6\\xac\\x5d\\xbd\\x75\\xee\\x55\\x3b\\xf0\\x1d\\x8f\\x41\\xfb\\xba\\xab\\x1f\\x3b\\x3c\\x71\\x4a\\x15\\x3f\\xe0\\xe2\\xeb\\xb6\\xe3\\xa9\\xff\\x82\\x2b\\xf1\\x45\\x64\\x49\\xe6\\xc0\\x07\\xe0\\x57\\xed\\x73\\x6e\\x82\\x63\\x6e\\xdc\\xb2\\xc8\\xd0\\x25\\x3a\\xb1\\xe7\\xbf\\x65\\xf9\\xee\\x5c\\x30\\x2e\\x5e\\xe6\\x76\\x58\\x78\\xbf\\x1f\\x2a\\x40\\x11\\x1d\\x7c\\x20\\xcf\\xe2\\x6b\\x4e\\x48\\x1a\\xd0\\x5a\\x12\\x3c\\xb0\\x90\\x3f\\x0a\\xa7\\xf8\\x9b\\x13\\x8a\\xc6\\xa1\\xcc\\xee\\xfb\\x6c\\x28\\x99\\x58\\xba\\xb5\\xd2\\x3c\\x42\\x9d\\x79\\x55\\x33\\xab\\x1a\\xd2\\xe1\\xea\\x36\\x78\\x0d\\xfe\\x07\\xbc\\xd1\\x4c\\xad\\xde\\x8a\\x17\\x08\\xee\\x6d\\xdb\\xf0\\x12\\xb8\\x12\\xc6\\xf9\\x1d\\xef\\xbf\\xbf\\xfe\\x3b\\x96\\x5c\\xf5\\x25\\x97\\xb0\\x14\\x21\\xa3\\x93\\xbf\\x5b\\x78\\x85\\xd1\\x39\\x26\\x5e\\xea\\x25\\x74\\xba\\xdd\\x9d\\x74\\xe6\\x12\\x2b\\xcb\\x42\\xbe\\x23\\x8a\\x4c\\xd1\\x39\\x40\\x69\\xa6\\x4d\\x94\\x54\\xa1\\x19\\x9b\\xa7\\x6b\\xe9\\x6a\\x27\\x95\\x74\\xe7\\xb2\\xf2\\xba\\x94\\x2e\\x23\\x1b\\x88\\xe9\\x30\\x1d\\xf6\\x69\\x85\\xbd\\xf0\\x7b\\x50\\x3d\\xf8\\xd6\\x87\\xcf\\xe3\\x01\\xf8\\x6d\\xf8\\xf9\\x9f\\x47\\x17\\xac\\xf8\\x0f\\x3f\\x00\\x5e\\x8f\\xe7\\x5e\\x83\\xbf\\xbe\\xe7\\xb6\\x5b\\x76\\xa3\\x5d\\xed\\x6f\\xbc\\x36\\x6d\\x3a\\xdd\\xe3\\x4f\\x75\\x1c\\x91\\xe2\\x64\\x8f\\x87\\xc1\\xd2\\xf8\\x18\\x14\\x0e\\x03\\xa2\\x94\\x15\\xb7\\x9b\\x2f\\x20\\x77\\xbf\\x3f\\x27\\xa7\\x00\\xa0\\xc2\\x08\\xf0\\x2b\\xfe\\xb8\\xbf\\xd1\\xbf\\xd6\\xbf\\xd5\\xff\\x86\\xff\\xb0\\xdf\\xe2\\x40\\xb4\\x0a\\xcb\\xdb\\x9c\\x08\\xb8\\x25\\xda\\xc0\\x65\\x93\\x78\\x77\\x08\\x85\\x88\\x94\\x2b\\x11\\x44\\xe4\\x7f\\x06\\x1e\\x91\\x72\\xcc\\xe9\\x09\\xec\\x12\\x78\\x86\\x5d\\x22\\xef\\x9d\\x87\\x32\\x46\\x73\\x7e\\x6e\\x13\\x04\\xc7\\x28\\x5f\\x0e\\xb9\\x69\\xf5\\x72\\x08\\xa0\\x88\\xfa\\x54\\xdb\\xcb\\x3a\\x3c\\x1d\\x96\\xc3\\xa7\\xd6\\x3c\\x52\\xf3\\xc6\\xfa\\x77\\xfe\\xa3\\x73\\x8b\\x92\\x57\\xba\\x21\\xf7\\x0e\\x2c\\x5a\\xb3\\xe5\\x4c\\xfc\\xd1\\xeb\\xf8\\x4d\\x7c\\x9b\\xfb\\x25\\x61\\x69\\xf2\\x06\\x58\\x0d\\xc7\\xe3\\x3b\\x07\\x5d\\xbe\\xb8\\xfd\\x9f\\x37\\x7d\\x83\\x7f\\x85\\x45\\xe3\\x9e\\x7d\\x10\\x4e\\x85\\xb5\\x14\\xec\\x14\\x82\\x95\\xc4\\x8e\\xbf\\x88\\xd8\\x39\\x61\\x70\\x7d\\xfc\\x54\\x5b\\x0e\\xe1\\x9c\\x71\\x5d\\xa0\\x81\\x9c\\x1c\\x72\\x0e\\x43\\xfe\\x79\\xfe\\x25\\x8c\\x59\\x81\\x72\\xdf\\xc2\\xbe\\xdd\\x4f\\x5e\\x90\\xac\\x8c\\x77\\x62\\xe7\\x07\\xbc\\x92\\x93\\x82\\x52\\xcc\\xb5\\x2f\\xb6\\xbf\\x6e\\xe7\\x6d\\xb4\\xac\\x43\\xa1\\x62\\x68\\x4a\\x89\\x41\\x66\\xa1\\xd3\\x4c\\x31\\xa4\\x2d\\x7f\\x53\\x12\\xe7\\x67\\xcc\\xea\\x88\\xb1\\x91\\xc7\\x69\\x39\\x18\\x73\\x2e\\xbb\\x99\\x36\\x86\\x83\\xb0\\xb2\\xf5\\x31\\xf9\\xdf\\xef\\xf5\\x6c\\xe0\\x3c\\xf8\\xf1\\x6f\\xae\\x47\\xc9\\x4d\\x55\\xfe\\xd3\\xd1\\x6c\\x13\\x07\\x82\\x3f\\x70\\x3e\\x3d\\x3f\\x66\\x6d\\x28\\xd1\\xa9\\x1e\\x10\\x8f\\x87\\x24\\x91\\x43\\xaa\\xcd\\xa6\\xd8\\x91\\x68\\x47\\x5e\\xdd\\x4a\\xbc\\xb3\\xe6\\x84\\x83\\x57\\x14\\xc4\\x23\\xe2\\x27\\x1b\\x85\\x85\\xac\\x65\\x24\\xbb\\x0c\\xdf\\x3c\\xd9\\x11\\x44\\xcf\\x34\\xf9\\x5b\\x8d\\xb8\\x25\\x17\\x44\\x61\\x54\\x5c\\xc2\\x9d\\xf4\\xc4\\x9b\\x07\\xb8\\x86\\x0f\\xb9\\xba\\x67\\xdf\\x78\\x72\\x57\\xc2\\xea\\x88\\xad\\x85\\x0f\\x5e\\x19\\x08\\x70\\x9e\\xe4\\x11\\x9a\\xca\\xa7\\x9f\\xf9\\x5f\\x02\\x25\\xeb\\xf0\\xb5\\x30\\x31\\x62\\x32\\xa1\\x89\\x8e\\xbf\\x6c\\x67\\x7a\\xde\\x45\\x69\\x22\\x2e\\x21\\x70\\xf0\\xbc\\x4b\\xb0\\x0a\\x00\\x29\\xc4\\x13\\x76\\x11\\x9f\\xca\\x69\\x73\\xb9\\x88\\x43\\x25\\x40\\xab\\xfe\\xf7\\x34\\x85\\x19\\x35\\x2a\\xa3\\xcc\\x6d\\x87\\xa8\\x7d\\xc7\\xea\\x05\\xdb\\xe6\\x5d\\xbd\\x0b\\xde\\x73\\xcf\\xb0\\x4d\\x1b\\xe0\\x3c\\xbc\\x96\\x7e\\xf0\\x03\\x92\\xfb\\xe0\\x3a\\x3c\\x87\\xe9\\x94\\x36\\x00\\xa4\\x22\\x56\\x3b\\x15\\x00\\x27\\xc6\\x7b\\x59\\x24\\xe4\\x76\\x03\\x99\\x57\\x72\\xec\\x76\\xbf\\x43\\x72\\x28\\x80\\x0f\\xe6\\xbb\\x6c\\x1a\\x22\\x6a\\xc5\\xef\\x11\\x10\\x12\\xc8\\x0a\\x2b\\x0e\\xa3\\xb6\\xb9\\xa6\\x86\\xae\\xb2\\xd6\\xdf\\x18\\x7d\\xd1\\x75\\x77\\x77\\xde\\x37\\x29\\x31\\x51\\xc2\\xc8\\x19\\x86\\x29\\x69\\xb5\\xb5\\xc1\\x39\\xb0\\xcc\\x14\\x16\\x11\\xdc\\x87\\xf8\\x75\\x04\\xd3\\x32\\x23\\x7b\\xb9\\x94\\xfb\\xc0\\x90\\x19\\xfb\\xd0\\x93\\xdf\\x67\\xcb\\xee\\x4a\\xb2\\x9e\\xab\\x59\\x7c\\xdf\\x4b\\x7b\\x60\\xd2\\xb4\\x7b\\xec\\x76\\xaf\\x41\\xbb\\xcf\\xcf\\x68\\x6f\\x4c\\x78\\x75\\xb2\\x31\\xc9\\x15\\x49\\x49\\xd7\\x0d\\xd2\\x63\\xff\\x0b\\xe9\\xee\\x4c\\xd2\\x23\\x2a\\xb4\\xc3\\x2b\\x5b\\x61\\xf8\\xcb\\x7b\\xe0\\xdd\\xa6\\x68\\xd7\\x1e\\xe1\\x7e\\xdc\\xb4\\x81\\x8a\\x94\\x1b\\x46\\x7c\\x3b\\x53\\xc4\\xf0\\x7c\\xbc\\x06\\xfe\\xc7\\x10\\x32\\x07\\x2e\\x26\\x36\\x60\\x19\\x91\\xb1\\x9f\\xd8\\x80\\x89\\x78\\x1f\\x3f\\x8f\\xf2\\xbc\\x5e\\x7b\\x2e\\xb9\\xd0\\x6d\\x76\\x9f\\xaa\\x6a\\x9a\\x1d\\xd1\\xe8\\x81\\xc3\\xeb\\x68\\x49\\xe4\\x00\\xaf\\x57\\xf3\\xf9\\xf2\\x9a\\x13\\x3e\\x64\\xe7\\x35\\x63\\x13\\xa6\\xfc\\xab\\x58\\x97\\x89\\x86\\x9d\\x7f\\xe8\\x86\\xe4\\x55\\x3d\\xc2\\xa0\\x61\\x09\\xb9\\x2e\\x2e\\x08\\x23\\xe4\\x06\\x8d\\xc2\\xb0\\x15\\x86\\x79\\x9d\\xf3\\xb4\\x9e\\x76\\x60\\xdb\\xbe\\xbb\\x9e\\x3f\\xad\\x15\\xda\\xa0\\x0d\\x8f\\xe2\\xdb\\x93\\xcb\\xe0\\xf0\\xe4\\x45\\x48\\xa8\\x4c\\xfe\\x79\\xb0\\x75\\xdb\\x13\\x53\\x84\\xe4\\x75\\xdc\\x7c\\x61\\xca\\x63\\x77\\xb7\\x1e\\x84\\x56\\xe8\\xf3\\x73\\x97\\x26\\x2f\\x83\\xdf\\x50\\xfa\\xc9\\xf5\\x23\\x40\\x66\\xb7\\x07\\x41\\x73\\xbc\\x4a\\x87\\x10\\x04\\xdc\\x6e\\x0b\\x61\\x42\\x92\\x2c\\x1e\\x97\\x4b\\x26\\x96\\x07\\x2a\\xc8\\x17\\xad\\x41\\x6b\\x53\\xc2\\xeb\\x0e\\x92\\x3f\\xb2\\xc7\\x13\\x68\\x4c\\x78\\x64\\x0b\\x94\\xf5\\x4e\\x16\\x3a\\x2f\\xa0\\x1e\\x99\\x30\\xb6\\x70\\x8a\\x05\\x16\\x05\\x8e\\x50\\x34\\x5c\\x18\\xa6\\xd0\\xf7\\x30\\xec\\x16\\xe0\\x8e\\x81\\x2b\\x97\\xdd\\x7b\\xe9\\xaa\\x21\\x3b\\x1e\\xfd\\x10\\xbf\\x8c\\x3e\\xc0\\x2f\\x6e\\xb8\\x7f\\x1c\\xde\\x84\\x27\\xbc\\x37\\x72\\xed\\xf5\\xc7\\xf1\\xb8\\x09\\xee\\x1a\\xb1\\x71\\xcd\\xc8\\x91\\xf8\\x13\\x0f\\x27\\x26\\x8f\\xba\\x66\\x1e\\xd8\\x85\\xce\\xc5\\x97\\x13\\x1e\\x9e\\x22\\xfb\\xfc\\x0f\\xb2\\x06\\xf9\\x44\\xf3\\xcd\\x8c\\xd7\\xdb\\x45\\x5b\\x48\\x92\\x88\\xec\\xc3\\x3c\\xaf\\x05\\x04\\xbf\\x3f\\x07\\xe5\\x13\\x1d\\x91\\xa3\\xd9\\xf8\\x48\\xa1\\x5b\\x09\\xa2\\x60\\x4b\\xa2\\x80\\x82\\x00\\x0b\\x42\\x98\\x16\\x81\\x43\\x94\\xa3\\xd9\\xd3\\x9b\\x3e\\x6b\\x3d\\x62\\x5d\\x61\\xd9\\xb2\\x56\\xc5\\x38\\x00\\xe1\\x9e\\x16\\xa7\\x3e\\xac\\x92\\xb5\\x79\\xaa\\x8d\\xfb\\x8c\\x2e\\x07\\x1e\\x91\\xb1\\x46\\xdb\\xf1\\x1a\\xb4\\x8d\\x2e\\x0f\\x39\\x04\\xcb\\xc9\\x42\\x2c\\xef\\x69\\x91\\x7a\\x5d\\x9a\\xbc\\x96\\xc3\\x74\\x89\\x08\\x7f\\x2b\\xc9\\x1e\\xbb\\x90\\xac\\x51\\x18\\x14\\x81\\xd9\\xf1\\x7e\\xa2\\xd3\\xe9\\x28\\x94\\x24\\xb7\\xdb\\x13\\xe1\\x79\\x4f\\x81\\x90\\x9b\\x9b\\x47\\x2f\\x39\\x90\\xe7\\x71\\xf0\\xc5\\x51\\x5d\\x23\\xea\\xba\\x31\\x51\\x64\\x30\\x18\\xa1\\xc1\\x65\\x28\\xe7\\x79\\x9c\\xa9\\xa3\\xf1\\x3f\\x33\\xa8\\x66\\x70\\x98\\xcf\\xb8\\xea\\xb6\\x78\\xe4\\xbc\\x87\\xdd\\x2b\\x5b\\xb9\\x61\\xe9\\xf5\\x4a\\xaf\\x61\\xbf\\x41\\xf8\\x43\\xf4\\x16\\x59\\x3c\\x72\\x7c\\x8e\\xa6\\xd6\\x6b\\x64\\xf6\\x4a\\xde\\xb4\\xad\\x1c\\x37\\xa1\\x5d\\x64\\x0d\\x21\\x68\\xc1\\x93\\xf9\\x79\\xe2\\xf7\\xe0\\x24\\xb0\\x2e\\x3e\\x2e\\xe0\\xf1\\x96\\x79\\x05\\x54\\x2c\\x2b\\x4a\\xdd\\x98\\xa1\\x71\\x6b\\x31\\xe8\\xdd\\xbb\\x38\\x3e\\x86\\x3f\\x79\\xd2\\xf0\\xc1\\xcd\\x09\\x30\\x1c\\x3a\\xd0\\xf0\\xe1\\xa3\\xcb\\x04\\x5e\\xe0\\x5b\\x12\\x35\\x13\\x26\\x8c\\x26\\x8c\\x0e\\x1d\\x3d\\xba\\x5f\\x73\\x62\\x74\\x81\\xae\\xe7\\x46\\xe2\\x5e\\x77\\x44\\x96\\x23\\x11\\x72\\xe6\\x22\\x08\\xa4\\xeb\\xde\\x62\\xb9\\xca\\xc1\\x9a\\xca\\x1a\\x13\\xc9\\x87\\x76\\xca\\xa9\\x86\\x0d\\xab\\xc6\\xba\\x75\\x3a\\x1a\\x09\\x63\\xa6\\x39\\x58\\xd1\\x48\\x76\\xfd\\xf4\\x10\\x58\\x4f\\xec\\xbd\\x7a\\x36\\x6a\\x97\\x5d\\x67\\x32\\x64\\x79\\x63\\x56\\x4f\\xed\\x22\\x9a\\x9d\\x75\\xd5\\x32\\xa0\\x5d\\x3d\\xd2\\x37\\x52\\xe8\\x62\\x70\\xad\\x7d\\xc9\\xdb\\x86\\xf0\\x68\\x57\\x66\\x8d\\x75\\xfd\\xd3\\x37\\x3e\\xbe\\xe5\\xce\\xd3\\x82\\xa3\\xeb\\x26\\xf6\\x19\\xa6\\x06\\x5c\\xba\\xf3\\x94\\x5b\\x5a\\x69\\xc9\\x75\\xd5\\x89\\x17\\x5c\\xb3\\xf5\\xc6\\xd9\\x03\\xb7\\x0d\\x98\\x79\\xe6\\xd4\\x3e\\xd3\\x66\\x6f\\x3a\\x21\\x38\\x69\\xd6\\xe5\\xc3\\x57\\xde\\x71\\xd2\\x96\\xdb\\xd7\\xcf\\x9a\\xdc\\x10\\x81\\xeb\\x3b\\x6b\\xb1\\xaf\\xde\\x9e\\x0b\\x27\\xe2\\xbd\\x1f\\x0c\\xef\\x37\\x6e\\x48\\xbe\\x1c\\x7c\\x31\\xf0\\xd4\\x6a\\xa3\\x34\\xfb\\xb4\\x2b\\xa6\\x0c\\x2c\\x72\\xab\\xa1\\x58\\xd9\\xac\\xbc\\x70\\xe0\\x8a\\xb3\\xc6\\x05\\x0a\\x03\\x6b\\x17\\x4d\\x9e\\x33\\x44\\x76\\x79\\xa3\\x43\\x12\\x46\\xdc\\x33\\x44\\xfc\\x97\\xe5\\xc2\\xbd\\xc4\\x93\\x5f\\x1b\\x1f\\x7b\\xdc\\x70\\x4b\\xb5\\x2b\\xe4\\xcf\\xed\\x93\\x6b\\x47\\xbd\\x3c\\xba\\xde\\x1f\\x80\\x5e\\xd5\\xc3\\xf9\\x09\\xe3\\x47\\xc6\\x89\\xff\\x31\\x92\\x88\\x7e\\xe4\\xc8\\x31\\xb5\\x7c\\x1f\\xbb\\x8d\\xb6\\x8b\\xf2\\x63\\xec\\xf6\\x92\\xe1\\x63\\xc6\\x0c\\x6c\\x4c\\x8c\\x89\\xe4\\xe4\\xe4\\x97\\xc4\\x73\\x7d\\x25\\x1e\\x4f\\x49\\x89\\xda\\x94\\x28\\x91\\xff\\x4e\\xf4\\xa6\\xe0\\xbb\\x88\\x3e\\x2d\\x74\\xd3\\x6c\\xf0\\x31\\x99\\x71\\xd9\\xb9\\xfa\\xba\\xbf\\x10\\x3e\\xcb\\xdd\\xbb\\x60\\xcf\\xd2\\x0f\\x8d\\x5e\\xb1\\x6a\\xf9\\xcc\\xfe\\x9d\\xf9\\xfc\\xa2\\x77\\x9e\\xcc\\x16\\xfc\\x69\\xf3\\x56\\xd2\\xf4\\xfe\\x89\\x3b\\x1f\\x9e\\x37\\xa1\\xd7\\xa6\\x01\\x53\\x4e\\x1c\\xdf\\xe7\\xb4\\xf3\\x88\\xd8\\x47\\x4c\\x9e\\x75\\xdc\\x25\\xb7\\xde\\x36\\xfe\\xcc\\x41\\x1e\\x77\\x9f\\xb1\\x83\\xd3\\x69\\xff\\x97\\x7b\\xc3\\x44\\xa7\\xcc\\xdf\\xc8\\x5d\\x33\\xdd\\x2c\\x02\\x68\\x5e\\xd1\\x98\\xeb\\x2e\\xa8\\x28\\x5a\\x50\\x50\\x54\\x70\\xd9\\x8c\\x71\\xc1\\x48\\xf0\\x06\\x26\\xe7\\xe1\\x44\\xd7\\x12\\x53\\x81\\xdc\\xc6\\x83\\xe2\\xf9\\x1e\\x9f\\x12\\x08\\x38\\x81\\x45\\x92\\x80\\x0f\\xe5\\x07\\xf3\\xa0\\x13\\xb6\\x24\\x14\\xa7\\x33\\x6b\\x4c\\x56\\xb6\\x3e\\x4d\\xa9\\x51\\xb5\\xb0\\x82\\x2b\\x41\\xa9\\xa6\\x86\\x14\\x46\\x0e\\xa0\\x83\\xb1\\x5e\\x3a\\x73\\xd3\\xfc\\x29\\xb1\\x55\\x6d\\xab\\xaa\\x1a\\x67\\x37\\x3e\\xd1\\xef\\xc1\\x67\\xda\\xf0\\x97\\x47\\x27\\xc2\\xfb\\xea\\x66\\x3e\\xb6\\x8b\\x4e\\xc7\\xba\\xf3\\xaa\\x51\\xe8\\xb8\\xf6\\x27\\x5f\\xdd\\x05\\x5f\\xc2\\x03\\xff\\x8d\\xbf\\xc4\\x27\\x1b\\x98\\x7a\\x82\\x44\\xf4\\x8b\\x9f\\xd2\\xa5\\xa9\\xe4\\xea\\xf2\\xda\\x79\\x41\\xb0\\xab\\x28\\x27\\xd7\\xc7\\xab\\x32\\xf0\\x3a\\xbc\\x0c\\x5b\\xd6\\x9e\\x85\\x2d\\xdb\\x95\\xae\\x2c\\x4c\\x59\\x93\\x42\\xe8\\x53\\x63\\x5c\\xc7\\xc3\\xb7\\x3d\\x8a\\xf1\\x1f\\x3b\\x16\\xae\\x9b\\x52\\xba\\xfc\\x91\\xeb\\x22\\x27\\x4d\\xde\\xb1\\x90\\xbb\\xe5\\x21\\x6e\\x7e\\x72\\xed\\xef\\xdf\\x18\\xb8\\xb2\\x4d\\x0f\\x3f\\xc7\\x2d\\x4f\\x9e\\xb8\\xe3\\x5c\\x0e\\x3d\\x0b\\xb2\\x67\\x13\\x06\\x41\\x05\\x68\\x8c\\x97\\xf7\\x26\\xf7\\x65\\x38\\x2f\\x8f\\x78\\x3f\\x55\\x95\\xbd\\x3c\\xcd\\x89\\xa2\\x9c\\xe6\\x84\\x5c\\x44\\xb6\\x63\\xaf\\xa2\\x5e\\x45\\xbc\\xdd\\x9e\\xcf\\x66\\x13\\xca\\x5d\\x66\\x13\\x9a\\x90\\xa2\\xe5\\xdd\\x60\\x17\\xb2\\x87\\x13\\xc2\\x9a\\xa2\\x7a\\xd1\\xc0\\x6c\\x91\\xbc\\xc0\\x5d\\xc8\\x4b\\x86\\xa9\\x4a\\x9d\\xd8\\xfa\\x62\\xd0\\x7d\\x56\\x61\\xf2\\xb8\\x8f\\x20\\xe7\\x5f\\x31\\x79\\xcc\\xd2\\x8b\\xfe\\x31\\x64\\xd3\\x65\\x3a\\x94\\x3e\\xfa\\x0c\\x1f\\xf3\\x0c\\xbe\\xaa\\x69\\xc8\\x65\\x63\\x27\\x9c\\x5f\\x7f\\xe1\\x99\\x2a\\x3e\\xda\\x6d\\x7a\\x61\\xfb\\x17\\x7f\\x7c\\xd3\\xb7\\xbc\\xb6\\xfc\\xf8\\x6f\\x70\\x3b\\x7f\\xc1\\xd1\\x1f\\xf3\\x4a\\x0b\\x8b\\xa2\\xe1\\xfe\\xbf\\x40\\xc9\\xc8\\x01\\x1b\\xf9\\x70\\x60\\x03\\x39\\xa0\\x14\\x8c\\x8f\\xf7\\x2a\\x74\\x8a\\xe4\\x32\\x26\\x76\\x64\\x59\\xaf\\x5c\\x62\\x9d\\x17\\xd1\\x4a\\x19\\x56\\x13\\x56\\x94\\x5b\\x84\\x2c\\x96\\x82\\xc6\\x84\\x45\\x41\\x4a\\x17\\xb8\\x86\\x9e\\x58\\xee\\x32\\x58\\xa3\\x50\\x32\\x92\\x08\\x8c\\xe5\\x68\\x8d\\x31\\x9c\\x48\\xa2\\x20\\x65\\x1c\\x1f\\x3c\\xfa\\xe3\\x0f\\xbf\\x52\\x0c\\xbe\\xe4\\x45\\x23\\x06\\x0b\\xd7\\x5e\\x77\\xe3\\x35\\xd6\\xe3\\xeb\\xfa\\x4e\\x1e\\x7f\\x02\\x2c\\x6e\\x18\\x6c\\xbf\\x72\\xcd\\xd5\\xab\\xd5\\x21\\x0d\\x35\\x13\\xc6\\x4c\\x30\\x43\\xf4\\x61\\xb2\\xeb\\x28\\x32\\xdf\\xb7\\x91\\xd7\\x9e\\xdd\\xfd\\x44\\x28\\x5c\\x16\\x2e\\x08\\x3f\\xfa\\xc0\\xe6\\xad\\xf9\\xe1\\xd2\\x30\\xd9\\x5b\\x56\\x72\\x77\\x4d\\x22\\xeb\\xe8\\x01\\xc5\\x71\\x0f\\xe2\\x38\\xd1\\x45\\xcc\\x71\\xbb\\x4a\\x17\\x4b\\x84\\x1c\\x82\\x46\\x1d\\x7c\\x3a\\x6f\\xc0\\xea\\x1d\\x62\\xd0\\xeb\\x6b\\x80\\xb0\\x73\\x60\\xbb\\x84\\x5c\\x07\\x92\\x4f\\xbf\\x04\\xaf\\x2c\\xed\\x9d\\x33\\x10\\xf6\\x19\\xfb\\xdc\\x98\\x5b\\xab\\x4e\\x1a\\x77\\x7a\\xac\\x9e\\x18\\x92\\xed\\xa1\\x73\\xd7\\x8e\\xbf\\x0f\\x95\\xbf\\x5c\\x5f\\xb6\\x72\\x44\\x6c\\x94\\x59\\xaf\\xc5\\xff\\x42\\xe4\\xa8\\x19\\xcf\\x74\\x10\\x5f\\xc0\\xed\\x61\\xc8\\x48\\x0a\\x79\\xa6\\xcc\\x9a\\xb7\\xbb\\x3d\\xd3\\xed\\xf5\\xd5\\xbb\\xd3\\xb3\\x6a\\x24\\xee\\xec\\x77\\xf1\\xc2\\xfd\\x3f\\x3a\\xfb\\x9d\\x70\\xdf\\xb0\\xfd\\xd7\\xcd\\x6f\\x1a\\x7a\\x52\\x45\\xbf\\x3c\\x72\\x97\\xc5\\x4b\\x9f\\xff\\x9e\\xb3\\xbd\\x7a\\xda\\xf2\\x86\\xbe\\x63\\x69\\xec\\x87\\xf1\\x27\\x8d\\xd5\\x8a\\xe9\\x1c\\x58\\x55\\xe2\\xde\\xe4\\x66\\xc3\\x19\\x46\\x04\\x35\\x14\\xa2\\x1d\\xa1\\xc1\\xc7\\x3b\\x86\\xb4\\x06\\x73\\x39\\x57\\x36\\x96\\x2f\\xa3\\x91\\xc6\\x99\\xf8\\x62\\xe3\\x7d\\xf0\\xd5\\x14\\x56\\x69\\x7e\\x3e\\x8d\\xbc\\xe6\\x3d\\xde\\xd1\\xd4\\x9a\\xe7\\xe7\\x1c\\xd9\\x58\\xa5\\xa7\\xe3\\xc9\\x96\\xd5\\x44\\x9e\\x76\\xe0\\x23\\x7b\\x64\\x42\\xbc\\x97\\x26\\x16\\x86\\xc3\\x0e\\x50\\x14\\x8d\\x86\\xf2\\x80\\x28\\x94\\xf5\\x8a\\x84\\x8a\\xfc\\x45\\x61\\xd9\\x1f\\x6c\\x4c\\xf8\\xf3\\xac\\x32\\xc5\\x3d\\x44\\x7a\\x73\\x27\\x16\\x49\\x2a\\x7a\\x93\\x05\\x83\\x93\\x3a\\x16\\x19\\x90\\x91\\x99\\x35\\xaa\\xd0\\x88\\xa2\\x92\\x45\\x31\\x7a\\x27\\x20\\xbf\\x0e\\x1f\\xfe\\x6f\\x3b\\xfe\\x0a\\xe6\\x61\\x0c\\x73\\xf7\\x3d\\x72\\xd7\\xf6\\x47\\x1e\\xbf\\x73\\x7b\\x2b\\x5c\\x73\\x42\\x4d\\x71\\xc5\\x3d\\x67\\xa8\\xf8\\x9c\\xfd\\xb0\\x06\\x16\\xec\\xc3\\x0b\\x26\\xed\\xe7\\x5e\\xc0\\x0f\\xe0\\x85\\x70\\x39\\x9c\\x0c\\x27\\xc2\\x4b\\x59\\xdd\\xaa\\x08\\xfb\\xe0\\x0f\\xf1\\xbf\\xf1\\x7f\\xf0\\x8b\\xb0\\xbc\\xfd\\x2e\\xfb\\x55\\xe2\\x9f\\xe5\\x7c\\x6d\\xfb\\x2a\\x74\\xe1\\xb1\\x03\\xdf\\xb5\\x51\\x3e\\x4f\\xc6\\x93\\xa5\\x5c\\x76\\x16\\xbc\\xa0\\x84\\x46\\x44\\x54\\x21\\x1c\\x0a\\x01\\x60\\x2f\\x2a\\xc8\\xb1\\x0b\\x42\\x69\\x59\\x61\\x7e\\xc4\\x17\\x09\\xc9\\x3e\\x62\\x8a\\xfa\\xf2\\x58\\x76\\x47\\x41\\x9e\\xa6\\xac\\x89\\x5d\\xdd\\xd9\\x54\\xd3\\x39\\xa9\\x90\\xc1\\x58\\x66\\x32\\xaa\\x1b\\x93\\xe8\\xac\\xe7\\x0f\\xe0\\x4b\\xdb\\x5e\\x7e\\x65\\xef\\xae\\x33\\xe7\\x5f\\x70\\xee\\xf4\\x39\\x0b\\xa7\\xc3\\x91\\x29\\x06\\xcf\\xdf\\x0f\\x4b\\xa1\\xbe\\x0f\\x5f\\xde\\xf8\\xac\\x71\\x12\\xb8\\x1a\\xe8\\x83\\x39\\xf8\\x37\\xfc\\xe9\\x17\\x07\\x0f\\x7e\\xf1\\xd1\\xfb\\x6f\\x27\\x7d\\x59\\x7c\\x7d\\xf1\\x02\\xb5\\xe5\\xea\\x3a\\xae\\x11\\x17\\x08\\xbf\\x11\\x5d\\x5b\\x05\\x4e\\x88\\x17\\x47\\x1d\\xa5\\x85\\x15\\x01\\x8a\\xe8\\x55\\xe8\\xe0\\x6b\\xaa\\x03\\x85\\x4a\\x61\\x73\\xa2\\xbc\\xa0\\xd4\\xeb\\x56\\xdc\\x15\\xa5\\xd6\\xd2\\xe6\\x84\\x88\\xac\\x3c\\xb5\\xb2\\x53\\x5a\\xb7\\x73\\x9e\\x54\\x16\\x3c\\x13\\x71\\x07\\x0c\\x95\\xc5\\xb3\\x40\\x9b\\x64\\xc0\\xa4\\x15\\x01\\xb7\\x47\\x33\\x60\\x93\\x7d\\x34\\x3a\\xc5\\x95\\x18\\xaf\\x8b\\x5c\\x1d\\x3c\\x05\\x96\\xf8\\x4e\\xea\\x1b\\x3b\\xd9\\x47\\xf8\\x48\\xdc\\x8a\\x3f\\xdd\\xe7\\x9d\\x54\\x5b\\x77\\xb2\\x0f\\x7f\\x84\\x77\\x3c\\x73\\xe4\\x15\\xfd\\x94\\x7e\\xf5\\x09\\xfd\\xcd\\x6f\\xbe\\x79\\xc3\\x73\\x6a\\xbf\\xfe\\xa7\\x7a\\xde\\xf8\\x9a\\x7b\\x81\\x08\\x65\\xa9\\xbf\\xbc\\xb6\\xb6\\xdc\\x8f\\x2f\\xc7\\xaf\\xbd\\x88\\xdb\\xf6\\x29\\x7d\\xfa\\xd5\\xf7\\xc9\\x81\\xab\\x61\\xec\\x07\\xfc\\x72\\xb0\\x6a\\xd0\\xa0\\xaa\\x3c\\x58\\xfd\\xef\\x6f\\x61\\x65\\xa0\\x7a\\xc8\\x90\\xea\\x00\\x7e\\x9b\\xd9\\xaf\\xe5\\x1d\\x6b\\xf8\\xbd\\xfc\\xfd\\x0c\\x9b\\xf6\\xf8\\x78\\x51\\xa4\\x77\\x6e\\x71\\x28\\x37\\xe4\\xf0\\xd3\\xf9\\x4b\\x15\\xb9\\x21\\x99\\x98\\xab\\x65\\x41\\xab\\x2e\\x7b\\x7b\\x17\\x5b\\x8b\\x1b\\x29\\xc7\\x4a\\x06\\xc7\\xd9\\x03\\xb4\\xcc\\x3c\\x2f\\x1b\\xa9\\xa1\\xd5\\x1b\\x9c\\x79\\x35\\x1a\\x88\\x33\\x38\\x2b\\xe6\\xea\\x15\\x93\\x61\\x63\\xe2\\x81\\xc9\\x70\\xf9\\xe1\\xd7\\x3d\\x27\\xf6\\x8d\\x9d\\xe8\\x79\\xf7\\xc3\\x2f\\x5e\\xf5\\x9c\\x18\\x8b\\x35\\x79\\xde\\xf8\\xfc\\xa9\\x9f\\xb4\\x93\\xeb\\x6a\\x27\\xba\\x2f\\x59\\x70\\xc1\\x25\\xee\\x93\\x6a\\xc9\\x57\\xbf\\x70\\xf9\\xff\\x86\\xf9\\x39\\x7d\\xea\\xeb\\x7b\\xfb\\xf0\\x3f\\x8f\\xfd\\x86\\x0f\\xf9\\x7b\\xd7\\xd7\\x96\\xeb\\xb0\\xe8\\x0f\\xbc\\xa2\\xaa\\x6a\\xd0\\x80\\x8a\\xc0\\xbb\\x8f\\xee\\x79\\x3b\\xb7\\x62\\x40\\xff\\x3e\\xf5\\x74\\x9f\\xce\\xea\\x38\\x62\\xcd\\x97\\xde\\x01\\xd5\\x60\\x04\\x68\\xa4\\xf9\\xb7\\x9a\\xf2\\xb1\\x23\\x27\\x80\\x09\\x7e\\x24\\x0e\\x2a\\xd0\\x34\\x87\\x88\\x4e\\x6c\\x1a\\x51\\x53\\x33\\x68\\xc2\\x84\\xc6\\x31\\x83\\x1a\\x07\\x35\\xea\\x0d\\x0d\\xfd\\x5a\\x12\\x0d\\x7a\\xa0\\x39\\xa1\\xf3\\x2e\\xb2\\xd8\\x2e\\xb7\\x8d\\xac\\xb2\\xcd\\x3d\\x66\\x0c\\x42\\x15\\xe4\\x98\\x66\\x60\\x71\\x75\\x6e\\xe3\\xca\\x4e\\x17\\x4b\\xeb\\x9f\\x85\\x3f\\x69\\x5a\\x4b\\x35\\x46\\xfc\\xbc\\xe7\\x28\\x2b\\x55\\xef\\xc6\\xa1\\xae\\xab\\x37\\xc3\\xb2\\x1c\\xc3\\x63\\x26\\x82\\x31\\x54\\x7f\\x24\\x7d\\xdd\\x45\\x99\\x05\\x15\\xa9\\xab\\x8d\\xd4\\x0a\\xa3\\xc7\\xaf\\x3e\\x11\\xc6\\xe1\\x79\\x77\\xe0\\x57\\xde\\xc1\\x3f\\xdf\\xba\\x15\\xff\\xfa\\x2e\\x7e\\xe5\\x76\\x78\\x1e\\x8c\\x4f\\x5c\\x3d\\x6e\\xcc\\xf0\\x73\\x6a\\xbf\\xeb\\x00\\xd0\\xf5\\xd5\\xe2\\xaf\\x87\\x0e\\xfd\\x7a\\xf1\\x57\\xd0\\xd5\\xf1\\x7d\\xdf\\x19\\xc3\\xe1\\x1f\\xd3\\x9f\\x38\\x7b\\xfe\\xd5\\x23\\x2f\\xbc\\xca\\xbf\\x34\\x74\\x68\\xdb\\xd0\\x65\\x8b\\xe7\\xee\\x98\\x92\\xbc\\xc1\\xee\\x8d\\x9e\\x37\\x71\\xbc\\x30\\x39\\x12\\xc0\\xcb\\xf0\\x03\\x87\\xf1\\x23\\xbb\\x67\\xcf\\x7e\\x10\\x8e\\x65\\x37\\x63\\x20\\xb2\\x21\\xe4\\xa3\\xd1\\x59\\x7c\\x0c\\x3f\\x33\\x69\\xc4\\x88\\x49\\xb0\\x01\\xf2\\x34\\x96\\xeb\\x0b\\xc1\\xbd\\xb5\\xfd\\x1a\\x2a\\x66\\xcf\\xdb\\xf6\\x48\\xaf\\x78\\xff\\x6a\\x74\\x46\\xaf\\x41\\x7d\\x07\\x9c\\x31\\xea\\x5a\\xa3\\xc7\\x63\\x72\\xc7\\x11\\x71\\xa1\\xb8\\x01\\x44\\xc9\\x59\\x3a\\x0e\\x5c\\x1e\\x1f\\x59\\x0d\\x7a\\x57\\x96\\x54\\xa0\\x8a\\x4a\\x1f\\x6f\\x19\\x98\\xab\\x59\\xb4\\x91\\x23\\xaa\\x07\\x56\\x56\\x96\\x83\\x2a\\xa5\\x8a\\x93\\x51\\xd5\\xc0\\xf2\\xf2\\x81\\x55\\x68\\x08\\x3f\\xa4\\xbe\\x29\\x21\\x0f\\xf9\\x69\\x08\\x67\\x45\\x43\\x7c\\x5e\\x45\\x26\\xaa\\x52\\xf6\\xda\\x89\\xaf\\x64\\xf7\\x22\\x5e\\x49\\x61\\xff\\x33\\xf5\\x91\\x6a\\xb0\\xf4\\x51\\xe1\\x1b\\x60\\x7a\\x95\\x6a\\xf6\\x34\\x37\\xd5\\x10\\x3f\\x1d\\x85\\x57\\x63\\x42\\x23\\x97\\x88\\xac\\xaa\\x9c\\x48\\x55\\x4f\\xe3\\x00\\xb2\\x2b\\x17\\x66\\x88\\xb7\\x07\\xe9\\x0b\\x7b\\xaf\\xde\\xbc\\xe1\\xa3\\x79\\x3f\\x7d\\xb9\\x77\\xd9\\x8a\\x27\\xbe\\xfc\\x69\\xde\\x87\\x1b\\x37\\x5f\\xbd\\x76\\xdd\\x29\\xf7\\x56\\xf7\\xb9\\xef\\xd4\\x75\\x6b\\x93\\xd8\\x90\\x22\\xd2\\x7b\\x10\\x31\\x57\\xf8\\xd6\\x73\\x37\\x2c\\xfd\\xef\\xa3\\xf8\\x07\\xfc\\xf9\\xc4\\x89\\x34\\x21\\xd8\\x7a\\x6c\\xe9\\x0d\\xcf\\xbd\\xf5\\xfe\\x9b\\x03\\xfa\\x94\\x0f\\x7a\\x8b\\x9f\\x9f\\x92\\xdd\\x92\\x4c\\x89\\xb2\\xfc\\x05\\xcb\\x09\\x88\\xff\\x22\\x77\\x91\\xca\\x30\\x33\\x9e\\x17\\x1a\\xc9\\x1d\\xe6\\x7f\\x14\\x36\\x34\\x08\\xc5\\x30\\x4e\\xc1\\xe8\\xe3\\xb5\\x61\\x3d\\x2b\\xe7\\xc1\\xe2\\xe7\\xc2\\x52\\xf2\\x1e\\xcd\\x78\\x0f\\x37\\xcb\\xcc\\x79\\x84\\x42\\x6a\\x31\\x0c\\x83\\xb0\\xd7\\xc6\\x65\\xe4\\x3c\\x66\\xe0\\x93\\x85\\x59\\xe4\\xde\\xf2\\x81\\xbe\\xf1\\x3c\\xbb\\xcd\\x07\\x54\\x9e\\x07\\x36\\x94\\xe3\\x97\\x5c\\x6c\\xea\\x31\\x0f\\x69\\x27\\x09\\x24\\x97\\xd4\\x41\\x43\\xee\\x7f\\x85\\x6d\\x9c\\xb9\\x9d\\xeb\\x55\\xee\\x49\\xfc\\x05\\x7e\\x19\\xce\\x81\\x71\\x13\\xde\\x61\\xe3\\xb7\\xf8\\x28\\x94\\x7f\\x2c\\xed\\x8d\\x4f\\x86\\x5b\\x82\\xf0\\x62\\x58\\x0f\\x4f\\x82\\xcb\\x19\\xbe\\x03\\x7e\\x1d\\xff\\x8e\\x31\\x3e\\xe8\\x4c\\xb6\\x19\\x7e\\x4f\\x23\\xf1\\x7b\\xde\\xe5\\xc7\\x12\\x9a\\xaa\\x89\\xdb\\x92\\x41\\x51\\x23\\xa5\\x48\\x81\\x9e\\x2c\\x80\\xef\\x4c\\x92\\x52\\x90\\xde\\x20\\x13\\x96\\x97\\x35\\x93\\xc1\\x9f\\x5f\\x7b\\x0b\\x82\\x6f\\xef\\xfe\\x38\\xf0\\x84\\x6b\\xfe\\xb9\\x9b\\xaf\\xdb\\xbc\\x61\\x70\\x05\\x9e\\x0c\\x6f\\x23\\x57\\x68\\x3b\\x31\\xf1\\x73\\x18\\xec\\xee\\xb3\\x6f\\xbd\\xf9\\xa1\\x96\\x7c\\xde\\xa8\\x63\\x3d\\x8c\\xda\\x85\\x8f\\x68\\xf7\\x62\\x3c\\xdf\\x65\\x93\\x2c\\x9a\\xca\\x13\\x81\\x5a\\x6c\\xbc\\x87\\xec\\x24\\x08\\x65\\x87\\x48\\x2c\\x71\\xd9\\x2e\\xa9\\x12\\xa8\\xac\\xd4\\xd2\\x2a\\xb0\\x87\\x5b\\x4d\\x8a\\x22\\x81\\x7c\\x44\\xdc\\xd1\\x7a\\x81\\x7d\\xc4\\x10\\x6a\\x2f\\xc3\\xb7\\x8d\\x87\\x67\\x95\\xe1\\x9b\\x97\\xdc\\xbe\\x1a\\xdf\\x5d\\x06\\xa7\\x8c\\xc3\\xb7\\x97\\xc1\\xd3\\x2f\\xbf\\xed\\x6a\\x74\\xfd\\xa6\\x69\\xf8\\xfb\\xe6\\x4d\\x2d\\xb8\\x16\\xfe\\x36\\x75\\xd3\\x34\\xa8\\x4f\\xdb\\xdc\\x0c\\x9f\\xc5\\x3a\\x95\\x0d\\xbe\\x83\\xbf\\x04\\xb6\\x08\\x5f\\x03\\x1d\\x38\\x5b\\x2d\\xc8\\xed\\xa2\\x5d\\x75\\x07\\x6b\\x8c\\x69\\x90\\x61\\x03\\x7b\\x98\\xe2\\x59\\x86\\x0d\\x50\\x4b\\xd8\\x72\\x7c\\x2d\\xbe\\x6b\\x78\\x45\\xcd\\xb0\\xe3\\x6b\\xe1\\x69\\xf4\\xb3\\x70\\x7e\\xcd\\x20\\x4f\\xbf\\x41\\xf1\\xbe\\xc6\\x27\\xf6\\x3b\\x9f\\xe4\\x5f\\x81\\x63\\x85\\xa7\\x09\\xaf\\x9e\\xc7\\x78\\x55\\xb5\\x43\\xab\\xd5\\x0e\\x2a\\x19\\xf9\\x95\\x2c\\xea\\x6a\\x1c\\x07\\xd1\\xf0\\xb5\\xeb\\xd9\\x2f\\x1e\\x9b\\xe0\\x6a\\x6b\\xc3\\xc3\\x8a\\x17\\xcc\\x98\\x7e\\x6e\\xdf\\x53\\x7a\\x9d\\x3e\\xf2\\xcc\\x73\\xf8\\x57\\xc8\\xc5\\xe9\\x1b\\xbd\\x26\\xe4\\xa9\\xb8\\x8c\\xfe\\xde\\x8e\\xdb\\xf8\\xe3\\xc1\\x19\\xc2\\xab\\xc4\\x16\\x73\\xb5\\x72\\x1c\\x58\\x22\\x80\\xca\\xdc\\x57\\xfb\\x57\\x92\\x2b\\x42\\x8f\\x78\\xe8\\x10\\xce\\xc1\\xf0\\x8c\\xc4\\xf8\\x85\\x91\\x7c\\xe1\\xd5\\x3d\\xd3\\x66\\xc6\\xe6\\x8f\\x5d\\x07\\xba\\xbd\\xcf\\x62\\xc9\\x7a\\x1f\\xf1\\x26\\xd9\\x21\\x3d\\x23\\x10\\x5d\\x38\\x3e\\x21\\xbc\\xba\\xee\\x84\\xd9\\x03\\x66\\x4e\\xdb\\xc3\\xde\\x97\\x7c\\x5b\\x18\\xc8\\x55\\x10\\xbd\\xe3\\x06\\xca\\x23\\xa2\\x73\\x89\\x9b\\x18\\x29\\x95\\xb1\\x9a\\x5c\\x26\\x9e\\x1e\\x0e\\x35\\x57\\xd1\\xc3\\x71\\x15\\x86\\x64\\x1f\\x43\\x00\\x2c\\xed\\x51\\xbc\\x03\\x7d\\x2c\\x3c\\x46\\xe8\\x71\\x13\\xaf\\x87\\xce\\x54\\x18\\x48\\x6e\\x95\\x09\\x60\\x46\\xbc\\x76\\x64\\x24\\x7f\\xcc\\x90\\xe1\\xa1\\xd1\\xa3\\xa3\\xe3\\x6a\\x64\\x5b\\xbd\\xa3\\x6f\\x5f\\xb5\\x7f\\xa9\\x00\\xfa\\x78\\x72\\xb8\\x5e\\xbd\\xa4\\xca\\x31\\xc3\\xc7\\xd5\\xf7\\xef\\x93\\x53\\x59\\x99\\xd3\\xa7\\x7f\\xfd\\xb8\\xe1\\x63\\x2c\\x79\\x43\\x07\\x79\\xf3\\x28\\x08\\x2f\\x55\\x51\\x95\\xe6\\x7f\\xe9\\x00\\x4f\\x2c\\x65\\xf1\\xc5\\x62\\x19\\xaf\\x51\\x1d\\x46\\x31\\x2b\\x95\\x58\\x8d\\xee\\x4e\\x7f\\x05\\xff\\xf6\\x2b\\xd4\\xc3\\x6b\\xd1\\xf4\\x57\\x5c\\xfb\\xfc\\xf9\\xe7\\x7c\\xf8\\xa1\\xca\\xfe\\x6e\\xbf\\x96\\x7d\\xe2\\xfa\\xb0\\x4f\\x47\\x57\\xb0\\x4f\\x87\\x8c\\xd7\\xae\\x67\\x9f\\x92\\x39\\xec\\x13\\x7a\\x6e\\xe3\\x46\\xa2\\x62\\xb0\\xc8\\x3e\\x71\\x3f\\xb2\\x4f\\x47\\xff\\xc9\\x3e\\xf1\\xc5\\x99\\xff\\xd6\\x7e\\x98\\x7d\\xfa\\x37\\xfb\\xdb\\x90\\xe1\\x4c\\xbc\\x14\\xdd\\x26\\x7c\\xd3\\x4d\\x86\\xd1\\xb8\\x3a\\x61\\xdc\\x88\\xf8\\x70\\xad\\x4a\\x2b\\x89\\xe6\\xeb\\x79\\x36\\xd5\\x6a\\x61\\xf2\\xa1\\x7f\\x62\\xd4\\xdb\\xa6\\x5b\\xd0\\x97\\x5e\\x78\\x95\\xc6\\xb7\\x62\\xa2\\x1e\\xd3\\x99\\xfd\\x40\\x0c\\xc3\\xda\\x58\\x94\\x2e\\xa8\\x5e\\x1c\\xd1\\x23\\x88\\xac\\x2b\\x71\\x14\\x4a\\xa4\\x12\\x48\\x96\\xbb\\xa4\\x9e\\xf8\\x0e\\x3e\\x44\\x2c\\x10\\x1a\\x9b\\x28\\xa9\\xa7\\x88\\x8a\\x14\\x09\\xd4\\x27\\x8d\\xc8\\x0d\\x9c\\x35\\x6c\\x0c\\xfb\\x2b\\x79\\xde\\xa2\\xe3\\xa6\\x96\\x9d\\xd2\\x74\\x33\\xbf\\xd3\\xfc\\x62\\xf0\\xa4\\xaa\\x4a\\xdb\\x28\\xb9\\x7f\\xed\\x9c\\xf6\\x11\\xe4\\x4b\\xeb\\x48\\xf2\\xe5\\x5c\\xc7\\xa4\\xea\\x89\\xd5\\xa3\\x66\\x0d\\xa8\\x9d\\x83\\xde\\x9e\\x54\\x75\\x52\\xf5\\xa8\\x39\\xfd\\x6b\\x67\\x0f\\x64\\xef\\x68\\xdc\\xc2\\x7f\\x66\\x7e\\x91\\x0c\\xb0\\xdf\\xd9\\x97\\xfd\\x8d\\xff\\x9c\\x4c\\x7e\\x70\\xe4\\xec\\x7e\\xe4\\x3d\\x12\\x7b\\xcf\\x6c\\xfa\\x3b\\x87\\x18\\xbf\\x9e\\xfe\\xa6\\x95\\x93\\xaa\\x2b\\xe8\\x93\\xea\\x66\\x1b\\xfd\\x6f\\x78\\xba\\xf0\\x81\\x44\\x6b\\x51\\xf3\\xc0\\x94\\x78\\xb5\\xee\\xf1\\x10\\x1f\\x8e\\x83\\x39\\xb9\\xb9\\x16\\xd1\\xe9\\xb4\\xd1\\x9e\\xfd\\x40\\x90\\xf6\\xbe\\x39\\x35\\x5f\\xce\\x3c\\xcf\\x12\\xcf\\xcf\\x1e\\xe4\\x59\\xa2\\x09\\x0a\\x10\\x21\\x62\\x91\\xd2\\x03\\xcc\\x2c\\xfb\\x2c\\xf7\\xd5\\xa9\\x35\\xfd\\xd3\\x8d\\x3e\\x3d\\x87\\x0f\\x59\\x37\\x7f\\x8c\\x45\\xd8\\xfb\\xd6\\x5b\\x61\\x08\\xc5\\xa8\\x9e\\x8c\\x71\\x46\\x6f\\xff\\xfe\\x27\\x77\\xae\\x5a\\x2d\\x26\\x73\\xe1\\x29\\x78\\x8b\\x7d\\x9b\\xa3\\xad\\xcd\\xb1\\xcd\\x9e\\xea\\xf5\\x3f\\xd6\\x3b\\xf9\\x04\\xbc\\xc9\\xe8\\xf7\\x17\\x8e\\xc2\\xf8\\x0b\\x2f\\xe0\\xfd\\x46\\xdd\\x05\\x7e\\x89\\xdf\\x24\\xfc\\x4c\\x08\\x09\\x80\\xd3\\xe2\\x7d\\x72\\xf3\\xf2\\x44\\xde\\x6e\\xb7\\x48\\xa2\\x57\\xd7\\x35\\x05\\x00\\x4d\\xd4\\xf2\\x83\\xfe\\x5c\\x7d\\x89\\x5b\\x93\\x91\\xcc\\x2b\\xba\\xc5\\x1e\\xb7\\x4b\\x13\\x13\\x76\\x9d\\x97\\x99\\x32\\xa7\\x48\\xca\\x0c\\x20\\x8f\\x70\\x50\\xd3\\x75\\xee\\x6d\\x46\\x1a\\x28\\x8b\\x78\\xd6\\x7b\\x11\\x4d\\xd3\\x6f\\x74\\x61\\x3c\\xf0\\xcc\\xce\\x6b\\x2f\\x66\\x9d\\x18\\x70\\x77\\x27\\x07\\xb4\\x2b\\x63\\xf8\\x5b\\xe8\\xec\\xf6\\x73\\x70\\x29\\xac\\xe7\\x36\\xd4\\x5f\\xa7\\xd0\\xce\\x8c\\x0b\\x33\\x78\\xa0\\xa0\\x70\\x3f\\x99\\xf9\\xde\\xf1\\xf1\\x52\\xb7\\xc3\\x22\\xf2\\x7e\\xbf\\x06\\x15\\x87\\xf2\\xff\\x9e\\xee\\x4d\\x49\\x3f\\x35\\xe6\\x96\\x76\\x87\\xeb\\x91\\xce\\x84\\x6f\\x24\\x95\\xf0\\xe5\\xb7\\xb5\\x3d\\xf6\\x58\\x67\\xb6\\x77\\x1b\\x5f\\xfe\\x37\\xc9\\x5e\\xa3\\x47\\x8b\\x18\\x5a\\x3f\\x10\\x1d\\x49\\x6b\\x5c\\x08\\x9d\\x3e\\xbb\\x24\\x20\\xb7\\x5b\\x05\\xb2\\x5d\\x0e\\x06\\x68\\x75\\x8e\\xa8\\x6a\\x2a\\x71\\xbb\\x34\\x89\\xfc\\x91\\xa1\\xec\\x26\\x96\\x95\\x0e\\xc1\\xff\\x44\\xa7\\x41\\x66\\x67\\xc6\\x37\\x52\\x9b\\x2e\\xd0\\xb9\\xae\\x75\\xe1\\x42\\xe8\\x60\\xa5\\x2b\\x0d\\x8b\\x60\\x85\\x51\\x95\\x23\\xb8\\x9f\\x78\\x62\\x59\\xf2\\x30\\x2b\\xdd\\x5c\\xbb\\xec\\xd8\\x2c\\xa3\\x12\\x87\\xf5\\xcf\\x0a\\x16\\x86\\x9b\\x92\\x4b\\xf6\\x73\\x95\\x37\\x07\\x38\\x78\\xa7\\xcf\\x29\\xfb\\x6c\\x6e\\x37\\xcf\\x0b\\x36\\x21\\x90\\x07\\x1c\\x5e\\x94\\xe3\\x72\\x21\\x37\\x6a\\x4e\\xf8\\x73\\xdc\\xe4\\x8f\\x20\\x8a\\x1a\\xf5\\xae\\x04\\xad\\x3b\\xad\\x6a\\x16\\xae\\x9b\\x46\\x67\\x3d\\x19\\x48\\xaa\\x8c\\x4a\\x95\\xc9\\x95\\x9c\\x6e\\xa4\\x94\\x41\\xf2\\x0d\\x39\\xf1\\xbe\\x3a\\xbe\\x74\\xe1\\x4e\\x7c\\x46\\x1b\\xd7\\xf4\\x03\\xe4\\x27\\x2d\\x98\\x79\\x01\\x7e\\x1c\\xaf\\x80\\xcb\\x2e\\x1f\\x77\\xc1\\xac\\xe9\\x5e\\x6e\\xd6\\xa8\\xe4\\xc7\\xc2\\xd2\\xcf\\x5e\\xbe\\x6d\\xce\\x65\\x2d\\xf0\\x5b\\xa8\\x26\\xdf\\xe9\\x73\\xe9\\xe9\\x73\\xeb\\x80\\x39\\xcf\\x2e\\xcc\\x8f\\x23\\x3b\\x99\\xce\\xed\\xa8\\xee\\xd5\\x5b\\xe0\\x78\\x54\\x84\\x82\\xa0\\x48\\x73\\x3a\\x5d\\xc0\\x55\\x59\\x61\\xf5\\x4a\\xb9\\xb9\\xc4\\x45\\xca\\x55\\x54\\xd9\\x95\\x27\\x70\\x65\\xbd\\xf9\\x72\\xbe\\x9c\\xa8\\x9e\\xc6\\x04\\x6f\\xcc\\xe6\\x35\\x29\\xf6\\xa7\\x86\\xc0\\xf6\\xcf\\xc4\\x56\\x4e\\x81\\xc0\\x2a\\x84\\xe0\\x92\\x8c\\x49\\xce\\x25\\xb1\\x7c\\xce\\x98\\x03\\x6b\\x38\\xc1\\x29\\x54\\x62\\xc6\\x4c\\x70\\xda\\x19\\x67\\x4d\\x9b\\x7c\\xf1\\xd1\\x49\\x02\\xdf\\x2a\\x3e\\x00\\x79\\x81\\xaf\\xba\\x75\\xe9\\x8b\\x07\\x9e\\x5a\\xb4\\x62\\xe6\\xc5\\x0d\\x2b\\x37\\x9f\\xd2\\xef\\xc2\\xb3\\x9b\\x23\\x5c\\x21\\xfe\\x7e\\xf5\\x79\\xa7\\x9e\\x5d\\xf7\\xa4\\xe5\\x0e\\x9c\\x10\\xc4\\xed\\x75\\x7c\\xf5\\x74\\xf7\\x59\\x53\\x89\\x5f\\xff\\xe9\\x17\\xcf\\x9c\\xda\\xb6\\xf9\\xdd\\x97\\x7b\\x2d\\x3e\\x6d\\xc6\\x19\\x26\\x36\\x08\\x44\\x7b\\xa4\\x00\\x90\\x40\\x24\\xae\\x0a\\x22\\x40\\x22\\xb2\\x58\\x25\\x9e\\xf6\\x9d\\x0a\\x1a\\x04\\x95\\x9d\\xfd\\x82\\x66\\x49\\x93\\xd1\\xbb\\x21\\xb6\\x26\\xef\\x6f\\x13\\x96\\xc2\\x9b\\x93\\x2f\\x1d\\x0b\\x08\\x4b\\xd2\\x7d\\x87\\xc8\\x46\\xf6\\xa4\\x44\\xb5\\x3a\\xf9\\xbd\\x22\\x14\\x2d\\x56\\x9e\\x4e\\x0b\\xe0\\xe4\\x54\\x67\\x4f\\x65\\xc6\\x6f\\x0b\\x9b\\x4d\\xed\\x70\\x58\\x2b\\xfc\\xf0\\x4e\\xdc\\x8f\\x1f\\x00\\xd7\\x25\\xbf\\x37\\x6c\\x00\\x72\\x6d\\x50\\x0c\\x1e\\xe0\\xa4\\xf8\\x12\\xa2\\xcd\\x66\\x41\\x14\\xa3\\xd1\\x2e\\xbb\\xac\\x4e\\xe0\\x6c\\x49\\x88\\x64\\x8d\\xec\\x1a\\x83\\x31\\x42\\xe9\\xba\\xe3\\xac\\x49\\xc1\\x5a\\x7f\\xf6\\x0c\\x64\\x56\\x2f\\xb0\\x7e\\x8f\\x08\\xbc\\x17\\x5d\\x95\\xec\\x07\\xb7\\xe1\\x29\\x6d\\xf7\\xa2\\x62\\x6e\\xca\\x16\\x1c\\x5f\\x9f\\x9c\\xcd\\xad\\x37\\xe8\\xf7\\x98\\x7d\\x93\\x4e\\x62\\xf3\\x15\\x20\\x49\\x72\\xd8\\x04\\x7a\\xca\\x5d\\xb2\\xc8\\x62\\xea\\x88\\x02\\x65\\x39\\xb9\\xa6\\x84\\x53\\xb6\\xe8\\xa0\\x33\\x61\\xd3\\xf9\\x54\\xba\\x23\\x6b\\x52\\x9d\\x95\\xf4\\x08\\xb1\\x4a\\x29\\xd6\\x61\\xf9\\xca\\x2b\\xad\\x8b\\x16\\xf1\\x03\\x96\\xe1\\xd7\\x97\\x27\\x31\\xc7\\x2d\\x87\\xad\\xc6\\x33\\xb7\\x93\\x7d\\xd6\\x4e\\xce\\x48\\x88\\xe2\\xb4\\xbb\\x40\\xc0\\xeb\\xf5\\x59\\x24\\xc9\\xe7\\xcb\\x05\\xa8\\x30\\x9c\\xaf\\x36\\x27\\x02\\xf9\\xf9\\x3e\\xbf\\x3f\\x8f\\x1c\\x0f\\x64\\xf1\\xf1\\xbc\\xbd\\x39\\xc1\\xfb\\xc8\\xd1\\x78\\xce\\x84\\xe4\\x4c\\xd5\\xfa\\xf4\\xd0\\xad\\x6d\\x84\\x52\\x0d\\xb8\\x3a\\x4d\\x55\\xd8\\x5e\\x62\\x80\\x57\\x84\\x38\\x8a\\xe2\\xcd\\xb7\\xaf\\xc7\\x7f\\x3c\\xf0\\x24\\xc6\\x83\\x1e\\xea\\x73\\xc3\\xb2\\x67\\x5e\\x7b\\xf0\\x91\\x01\\xe7\\x9f\\xd7\\xbc\\x0f\\x6d\\x4a\\x16\\xef\\x7d\\x1a\\x5a\\xa1\\x06\\xc3\\x9f\\xe0\\xbd\\xf7\\xae\\x59\\x93\\x7f\\xea\\x38\\x18\\x25\\x46\\xb2\\xeb\\xa8\\xbb\\x20\\x9a\\xac\\xa6\\xf8\\x49\\x4b\\x4e\\xc3\\x3b\\x19\\xfd\\xd7\\x12\\xfa\\x73\\x88\\xcc\\x42\\x14\\x65\\xcc\\x05\\xf2\\x74\\xdd\\x4b\\xe8\\xf7\\x92\\xb3\\x4e\\xe8\\x0f\\x6a\\x8d\\x89\\xbc\\x60\\xd0\\x4b\\xd8\\x69\\x4c\\xf8\\x64\\x8b\\x85\\xf7\\xea\\xbc\\x9d\\x9c\\x8f\\xbc\\xf4\\x9a\\xfd\\x0d\\x03\\x51\\x8f\\x11\\x23\\xa8\\x37\\x47\\x9a\\xb3\\xba\\xea\\x34\\xfd\\xc4\\xa5\\xe3\\x73\\x16\\xbc\\x7d\\xcd\\x83\\x6f\\x54\\x3c\\x94\\x7f\\xf1\\xf4\\x75\\x1b\\x4f\\xde\\x72\\xc6\\x82\\xe9\\xad\\xdc\\xe9\\x78\\xe2\\x82\\x0b\\xd6\\x7d\\x79\\xe9\\x94\\xdb\\xbe\\xbf\\x64\\xf5\\x1a\\xe7\\x49\\x63\\x9e\\x7a\\x74\\xde\\xb6\\x49\\x21\\x7c\\x26\\x3f\\xe0\\x1a\\xbc\\x20\\xf2\\x8f\\xcf\\x0c\\xb9\\x07\\xf0\\x0c\\x69\\x3c\\x91\\x7b\\x09\\xb8\\x34\\x1e\\xcf\\x2b\\xd4\\x88\\x8c\\x43\\x41\\xad\\xb8\\xb8\\x44\\x44\\x56\\x59\\x2e\\x31\\xf0\\x91\\x4a\\x82\\xa8\\xac\\xb4\\x10\\xe5\\x89\\x51\\x03\\x09\\x89\\xce\\xad\\x94\\x45\\x84\\xc2\\xd6\\x70\\xa0\\x39\\x11\\xd6\\x0a\\x28\\x1e\\x52\\x89\\xa0\\x19\\xb5\\x48\\x95\\x0d\\x9d\\x0e\\x69\\x1a\\xef\\x36\\xbb\\x5e\\x40\\xcb\\xea\\xd8\\xfe\\x3f\\xb0\\x90\\x62\\x6c\\xc7\\xfe\\x4f\\x78\\x48\\x1b\\xe6\\xb5\\x56\\xff\\x2f\\x88\\x48\\xc9\\xcd\\x14\\x2c\\x22\\x85\\x8a\\x64\\xcc\\x74\\x9f\\xc1\\x7a\\x68\\x99\\x1c\\x40\\xd8\\x1f\\xcc\\xcf\\x8f\\x38\\xac\\xb2\\xae\\x0b\\x7e\\xa2\\xa2\\x15\\x59\\xb6\\xd9\\xed\\x42\\x84\\x88\\x21\\xec\\x00\\x56\\xdd\\x4a\\x6e\\x14\\x51\\x17\\x9b\\x12\\x7e\\xdd\\x41\\xfe\\x94\\xc8\\x25\\x85\\x4d\\x89\\x12\\x3d\\x1a\\xf4\\xca\\xb2\\x60\\xd7\\x33\\xe5\\x90\\x75\\xc5\\x80\\xae\\x82\\xc8\\x10\\x86\\x21\\x07\\xc6\\xa6\\xfa\\xd7\\x9d\\xb0\\x4c\\x18\\xe8\\x1f\\xb4\\xf9\\xf0\\xef\\x7a\\x61\\xdd\\xe3\\xef\\x8c\\x1a\\xdd\\x88\\x7f\\xdb\\x0d\\x8b\\x63\\x46\\x8f\\x09\\x04\\xc3\\x69\\x7e\\x53\\xd8\\x08\\x6a\\xc1\\xdc\\xf8\\x80\\x52\\x4f\\x81\\x3f\\x1a\\x95\\xcb\\xab\\xf8\\xfc\\x02\\x5a\\x94\\x04\\x88\\x46\\x27\\xee\\x0e\\xd7\\x92\\x88\\x55\\xc4\\x4b\\x75\\x4d\\x27\\x37\\xbf\\xae\\x17\\x56\\x54\\x38\\x5a\\x12\\x36\\x9b\\x58\\xe1\\xce\\xcf\\x2f\\x2c\\x24\\x47\\xb3\\x90\\xcf\\x00\\x12\\xa9\\xcc\\x9c\\xdd\\xcf\\x66\\x43\\x64\\x73\\x9e\\x66\\xd9\\x4b\\xeb\\xa8\\x98\\x99\\xfa\\x7f\\x63\\x41\\x31\\xf8\\x7a\\x7a\\x4b\\xc0\\xfa\\xc4\\xa4\\xa5\\xfa\\x73\\x47\\x9b\\xfe\\x0e\\x16\\xea\\xd3\\xa7\\x0b\\x96\\x2c\\xb8\\x60\\x62\\x07\\x88\\x2c\\x6e\\x1c\\x2a\\xdc\\xf9\\xf0\\x5f\\x22\\x44\\xdd\\x7f\\xc8\\x7f\\xe9\\x89\\xcd\\x73\\x0a\\x8d\\xbd\\x50\\x4d\\xfc\\x6e\\xda\\x17\\x1c\\x03\\xf3\\xe3\\x03\\xdd\\xd1\\xc2\\x40\\x30\\x68\\xb7\\x55\\x08\\xde\\xc2\\x42\\xa5\\xac\\x4c\\x00\\x36\\xbe\\x6f\\x6d\\xd4\\xad\\xb9\\xc9\\xa1\\x76\\xbb\\x0b\\xa4\\x40\\xa0\\xa0\\x20\\xa7\\x31\\x51\\xa0\\x54\\x13\\x95\\x58\\x2d\\xc5\\x7b\\x4b\\xb4\\x46\\x89\\x38\\xe8\\xf4\\xee\\x63\\x09\\xc5\\xf4\\x60\\x8c\\x14\\xbc\\x7b\\x65\\xb7\\xf1\\x55\\x9d\\xe2\\x70\\x9b\\x60\\xf5\\xcc\\x6c\\xff\\x3f\\xda\\x80\\x53\\xc2\\xb8\\x7f\\xf2\\xf8\\xf8\\x40\\xdf\\xad\\x7b\\x7b\\xff\\x55\\x4b\\xf0\\xe6\\x35\\xe1\\x85\\x17\\x9d\\x73\\x12\\x6e\\x2f\\x1c\\xdc\\x30\\x61\\x14\\x7f\\xe9\\xe5\\x7f\\xd5\\x1f\\x7c\\xd9\\x3d\\xbe\\x99\\x93\\x66\\x9e\\x1f\\x4e\\xe1\\xea\\xf0\\xb7\\x13\\xdd\\xe0\\x03\\x4d\\xf1\\x52\\x8d\\xf6\\xdc\\x12\\xad\\x2c\\x59\\x2c\\xe4\\x9e\\xf7\\xb9\\xfc\\x39\\x3e\\x8d\\xd3\\x89\\x32\\xe0\\x34\\x4e\\x05\\xaa\\xa3\\x39\\xa1\\x6a\\xb2\\x01\\x47\\x95\\x39\\x05\\x07\\x74\\xce\\x21\\xc8\\xd8\\xef\\x5d\\x00\\xa9\\x32\\x4e\\x78\\x16\\x28\\xd5\\x86\\xd9\\xad\\x15\\x3d\\xc0\\x52\\x65\\x9f\\x5e\\x3a\\x43\\x7b\\x06\\xeb\\x0d\\xf6\\x81\\x93\\xe2\\xe5\\x76\\xcd\\xc2\\x51\\x3a\\x7d\\xfe\\x1c\\x42\\xaa\\x22\\xbb\\x5c\\x39\\x3e\\x9d\\xd3\\x9b\\x12\\x9c\\x46\\x3e\\x18\\xa9\\x4d\\x09\\x55\\x97\\xa5\\x74\\xd7\\x9c\\xb1\\x4b\\x19\\xa5\\x30\\x65\\x5f\\xff\\x55\\x2f\\x70\\x06\\xa5\\xab\\xba\\x1c\\xb7\\x1e\\x3a\\x82\\x8d\\xe3\\x65\\x76\\x05\\x77\\xe2\\x7b\\xf9\\x89\\x15\\x58\\xe1\\xf0\\xf9\\xac\\x7e\\xbf\\x5b\\x52\\xe8\\x08\\x74\\x59\\x51\\x3c\\xbc\\x27\\x27\\xd7\\xcb\\x11\\xc7\\xb0\\x25\\xe1\\x76\\x48\\x56\\xbf\\xd5\\x66\\xb3\\xfa\\xc9\\x3f\\x09\\x48\\xe7\\x0d\\xcd\\x6a\\xb8\\xca\\x94\\xc2\\x54\\x69\\x44\\x86\\x5f\\xa0\\x75\\x8e\\xae\\x15\\x8d\\x6e\\x16\\xd6\\x8b\\x37\\x04\\xa6\\x30\\xbf\\x08\\xdd\\x6f\\x0d\\xa8\\x6e\\x6b\\x8b\\x97\\x5f\\x10\\xbe\\xf0\\xe5\\x34\\xea\\xd7\\x95\\x17\\x70\\x1b\\x95\\xe4\\x25\\x54\\xc0\\x32\\x5c\\x87\\x5f\\x2a\\xd9\\x09\\x2b\\x4c\\xec\\xaf\\x99\\x78\\x35\\xdb\\x07\\xa9\\xde\\x6b\\x2f\\xa3\\x5b\\xd7\\xad\\x5e\\xd5\\x2b\\x39\\x5d\\x2e\\x4d\\xf3\\x53\\xe2\\x79\\x9f\\xdf\\x43\\xe9\\x6e\\x4c\\xa8\\x84\\x6e\\x2f\\xa5\\xdb\\x8b\\x78\\xa7\\x20\\xbb\\xcd\\x89\\xda\\x3d\\xd0\\xdd\\x79\\xbf\\xf5\\x4c\\xb7\\x6e\\xb6\\x5e\\x23\\x3d\\x02\\x17\\x47\\x03\\xad\\xad\\xa5\\x39\\xe7\\x7e\\x6a\\xb6\\x5e\\x7f\\x74\\x2e\\xfc\\xda\\x82\\x23\\x54\\xd2\\x56\\x78\\xfc\\x8f\\xf0\\x42\\xb3\\xf9\\xfa\\xc6\\x3f\\x09\\xad\\xbc\\x29\\xe3\\x3c\\x70\\x72\\xbc\\xdc\\xa3\\xf2\\x94\\x4c\\xe2\\xb8\\xe4\\xc1\\x1c\\x2d\\x27\\x18\\xb0\\xf8\\x5a\\x12\\x1e\\xd5\\x22\\xe5\\x81\\xbc\\x94\\xef\\xc2\\xb9\\x73\\x34\\x27\\x35\\x9e\\x62\\xcc\\x67\\xec\\xbc\\xb2\\x62\\x5d\\xfd\\x46\\x73\\x33\\x98\\x5e\\x41\\x37\\x38\\x35\\x35\\xc2\\xbc\\x97\\x1e\\x30\\xd5\\xb6\\x31\\xe7\\x05\\x77\\x74\\xc3\\x55\\xe3\\x7d\\x4c\\xbe\\x36\\x56\\x03\\x4e\\xe7\\x54\\x9e\\x16\\xaf\\x50\\x3d\\x2e\\x8b\\xc5\\xa0\\x98\\x10\\x4c\\xc8\\x77\\x6b\\x5a\\xd0\\xe2\\x23\\x7b\\xd6\\x62\\x71\\xba\\x73\\x74\\x4a\\x7b\\x13\\xa1\\x1d\\x70\\x4e\\x99\\x03\\xa0\\x13\\xaf\\xd7\\x68\\x95\\x23\\x5f\\xc2\\x58\\x67\\x89\\xa7\\x69\\x61\\xa7\\x29\\xa7\\x36\\x43\\xd7\\xc6\\x76\\x35\\x62\\x5b\\xd2\\x0a\\xab\\xf0\\x1b\\xdd\\xfb\\xdb\\x97\\x08\\xfd\\xd7\\xaf\\x5f\\x96\\xdc\\xd1\\xad\\xc7\\x9d\\x7f\\x94\\xd0\\x5d\\x46\\xfc\\x9a\\x43\\x6c\\xe6\\x00\\xf1\\xbc\\xb2\\xf0\\xea\\x1c\\x6e\\x80\\xbc\\x3e\\x17\\x83\\xaa\\xb3\\x73\\x1c\\x70\\xba\\x35\\x09\\x01\\xbd\\x39\\x01\\x50\\x06\\xae\\x6a\\xac\\x7b\\x1d\\xa1\\x49\\x6a\\xb8\\x07\\xf1\\x86\\xcb\\xb8\\x25\\x3d\\x08\\x17\\x37\\xf4\\x08\\x59\\xc7\\x7f\\x6d\\xe8\\xf2\\x52\\xb2\\x1f\\x26\\xb0\\x3a\\xea\\x51\\xf1\\x22\\x4a\\x23\\xa5\\xce\\x47\\x09\\x05\\x6e\\xaf\\x8f\\x23\\xae\\xa1\\x41\\x9f\\x2e\\x11\\xd3\\xdc\\x1c\\x35\\x98\\x41\\x5f\\xe6\\x11\\xcb\\x24\\xae\\x8b\\x04\\xc3\\xa5\\xf0\\xe3\\xee\\xd2\\xc3\\x1f\\xf6\\x88\\x0f\\x80\\x76\\x99\\x98\\x65\\xdb\\x19\\x56\\xd6\\xf0\\x78\\xc4\\xe9\\xb0\\x49\\xb2\\xc8\\x71\\x08\\xc9\\x0e\\xa4\\x2a\\x22\\x24\\x8e\\x9f\\x28\\xf3\\xb2\\x8d\\x22\\xe1\\x38\\x2d\\x3c\\x42\\xac\\xe0\\xa2\\xb2\\x27\\x5c\\xdd\\x98\\x09\\xdd\\x9f\\xc2\\xa0\\x65\\x1a\\x8a\\x3f\\x3d\\x29\\xb6\\xb5\\x71\\x47\\xdb\\xae\\x6a\\x5d\\xd7\\x09\\x34\\x7b\\xac\\x80\\xea\\xcd\\x74\\xbf\\x2b\\x3f\\x99\\xcd\\xc6\\x1e\\x19\\x2f\\xa2\\x8f\\x96\\x14\\xc5\\x66\\x73\\x39\\x91\\x53\\xd5\\xec\\x36\\xc5\\x46\\x1c\\x67\\x48\\x3e\\x44\\x5e\\xd1\\x5d\\x16\\xde\\x40\\x4c\\x31\\x60\\xcb\\xca\\x7b\\xe8\\x49\\xcb\\x26\\xa1\\xde\\x30\\x52\\xca\\x70\\x4e\\x2b\\x2d\\xf3\\x87\\x17\\xdf\\x79\\x4d\\x46\\x27\\xc7\\x28\\x2e\\x65\\x73\\x50\\x0c\\xac\\xc3\\x0c\\x0b\\x68\\x70\\x3c\\xe4\\xb4\\x00\\xa6\\x4c\\x80\\x0d\\xc9\\x2e\\x89\\x63\\x60\\x52\\x56\\xab\\x83\\xce\\x70\\x13\\x10\\x30\\x34\\x60\\x8f\\xfc\\x33\\x4c\\x04\\xf3\\xd9\\x74\\x7b\\xa7\\x78\\xe7\\x16\\xe3\\x78\\x27\\xef\\x5b\\x8e\\xe5\\xa5\\xfb\\x8d\\x6d\\xcc\\xb7\\x19\\x1c\\x2f\\x80\\x76\\xbb\\x43\\xe2\\x2c\\xbc\\xc5\\x81\\x5c\\xb2\\x53\\x86\\x36\\xda\\xfe\\x82\\x2c\\x0e\\x1d\\x89\\xc4\\xcd\\x31\\xb7\\x42\\xcc\\x1c\\xa1\\x94\\xb9\\x51\\x8d\\xb6\\x6a\\xb3\\x79\\xde\\xc4\\x10\\x80\\x9f\\xe3\\xb7\\x3b\\x61\\x04\\xae\\x69\\x6f\\x32\\x78\\x66\\x6b\\x3d\\xd9\\xb2\\x97\\xf0\\x19\\x06\\x13\\xe3\\xe5\\xb9\\x0e\\x29\\x1c\\xf6\\xb8\\xc9\\x01\\x61\\xb3\\x3b\\x23\\x85\\xd6\\x20\\xe1\\x95\\x99\\xd9\\x1c\\xad\\xf6\\xf3\\xf0\\x8a\\xe2\\x6b\\x4e\\x28\\x06\\xcb\\x7f\\xe7\\xde\\xc4\\x52\\xe5\\x36\\x06\\x15\\x75\\xa9\\xec\\x5a\\xb6\\xaf\\x23\\x4a\\x86\\x44\\xf8\\x8b\\xf6\\x3e\\x4f\\x9d\\x99\\xae\\xbe\\xce\\x09\\x3b\\x96\\xf3\\x5f\\x1d\\xa3\\x15\\xaf\\x5f\\x11\\x5f\\x06\\x3f\\xd2\\xd5\\xd5\\x29\\x8a\\x25\\xab\\xd9\\x0c\\xbc\\xc9\\xe2\\xdd\\x84\\x1b\\x3a\\x8d\\xbb\\x8f\\x2e\\xc1\\x40\\x20\\x48\\xae\\xd6\\x60\\x28\\x1c\\x0e\\x4a\\xa8\\x28\\x42\\x47\\xa9\\x43\\xe2\\x10\\x14\\x16\\x16\\x34\\x26\\x0a\\x65\\x59\\xb6\\x07\\xc3\\x3a\\x1d\\x20\\x68\\xcf\\xeb\\x94\\xe2\\x5f\\xfa\\x38\\x86\\x40\\xcd\\x21\\x74\\x7f\\xe1\\xec\\x50\\x6f\\xfb\\x35\\xe6\\xd1\\x74\\x77\\x76\\x70\\x21\\x91\\x7a\\xf2\\x5f\\xc4\\xa9\\xb9\\xb1\\xab\\xb7\\x83\\x1e\\x6a\\x1f\\x9f\\xc2\\xf3\\x19\\xd2\\x71\\x44\\xf8\\x44\\xb8\\x01\\x94\\x83\\x7a\\x70\\x6a\\x3c\\xa6\\x5b\\xe5\\xca\\xca\\x60\\x6d\\x11\\x28\\x2a\\xa9\\xe1\\x73\\x83\\x56\\x4b\\xbf\\xfe\\x35\\x25\\xb9\\x3c\\xcf\\x85\\x42\\xbd\\x9b\\x13\\xa1\\x90\\xe6\\xd4\\x9a\\x13\\x4e\\x5e\\xf4\\x53\\x54\\x4b\\xae\\x8c\\xb8\\xd8\\x99\\x25\\x0a\\x29\\x88\\xd3\\x4c\\xec\\x01\\xd3\\x5f\\x13\\x59\\x82\\x8d\\xac\\x46\\x5f\\x2d\\x55\\xb0\\xc1\\xe9\\x34\\x9d\\x5f\\x5f\\xcc\\xd5\\xf6\\xd5\\x52\\xb3\\xf6\\x68\\x34\\x03\\xd2\\xc4\\x8c\\xc6\\x72\\xdf\\xc5\\xc2\\x27\\x33\\x57\\xdc\\x74\\xd5\\x8a\\xfb\\xf1\\xa7\\xf8\\xc5\\x25\\xdf\\x6c\\x59\\x3e\\x79\\xc2\\xa0\\xc6\\x8d\\x3b\\xdf\\x7b\\x7b\\xd0\\x84\\xc9\\x33\\x9f\\xbe\\x7b\\xfa\\xcd\\x13\\xcf\\x9d\\x32\\x78\\xf8\\xd4\\x51\\x78\\xdc\\xe4\\xb3\\xa7\\x37\\x4d\\x6c\\x6e\\x2e\\x1d\\x34\\x78\\x30\\xbc\\x0c\\xb6\\x7c\\x00\\xc7\\xec\\xa8\\x5f\\x51\\x88\\x9f\\xfe\\x0d\\x7f\\x86\\x3f\\x76\\xb7\\xc0\\xf8\\xee\\x1f\\x61\\x70\\xe5\\x6f\\x9b\\xef\\xc3\\x2f\\x9e\\xe1\\xae\\x44\\x5b\\x9f\\xbb\\xf3\\x1e\\xfc\\xc1\\xf1\\xa7\\x41\\xfd\\xd6\\x5b\\xdf\\xa1\\x72\\x88\\x74\\x1c\\xe1\\x35\\x7e\\x2c\\x28\\x06\\x35\\xa0\\x25\\xde\\xb7\\x04\\x84\\x23\\xfe\\x2a\\x57\\x9f\\x3e\\x79\\x1e\\xab\\x35\\xaf\\x2a\\xcc\\xf7\\x8d\\xf1\\xfe\\x08\\xb1\\xfd\\xb9\\xfc\\x5e\\x8d\\x89\\xfc\\x7c\\xd1\\xe1\\x50\\xe9\\xd8\\x71\\x91\\x5c\\x42\\xa2\\x97\\x2b\\x32\\x47\\x16\\x75\\x83\\xfa\\xee\\x2a\\x09\\xe3\\x70\\x9a\\xd2\\x30\\x2b\\x35\\x8c\\xea\\x15\\x1a\\xc9\\xa9\\xa7\\x08\\x5d\\x6c\\xd0\\x87\\x22\\xf9\\x6a\\xea\\xd3\\x85\\x0e\\xbe\\x21\\x90\\xd7\\x46\\xce\\x3c\\xf5\\xc4\\xa6\\x19\\xff\\xfc\\xed\\xbd\\xe7\\x8e\\x3f\\x3e\\x1e\\xaa\\x3d\\xef\\x92\\x5b\\xd7\\xd7\\x1c\\x37\\x6a\\xdd\\x85\\x17\\xaf\\x59\\x55\\x75\\x5c\\xd5\\xbe\\xfa\\x8a\\xca\\xbe\\x75\\x95\\x15\\xb5\\x91\\xfa\\x68\\x14\\x06\\xa1\\x08\\x15\\xd8\\x27\\x6f\\xb1\\xe7\\xc8\\x2b\\xaf\\x7e\\x84\\xc6\\x7f\\xfa\\x8f\\x87\\xbe\\xf8\\xec\\x21\\xfc\\xe7\\x06\\x54\\x02\\x2f\\xba\\x70\\xe5\\xaa\\x05\\xe7\\x3e\\xdd\\xb7\\xef\\x1e\\x86\\x15\\x8f\\x27\\x33\\xec\\xb8\\x12\\x70\\x61\\x7c\\x44\\xb4\\xa8\\xc8\\x62\\x75\\xf9\\x51\\x7e\\xbe\\xc7\\x6f\\xe5\\xcb\\x4a\\x65\\xb2\\xdd\\x51\\x34\\x1a\\x0e\\x03\\xe2\\xd1\\xf2\\x9e\\x5c\\x55\\xf5\\xb6\\x24\\xd4\\xdc\\x5c\\x07\\xb0\\x28\\x96\\xb8\\xa5\\xd1\\xb2\\xd6\\xb2\\xd5\\xf2\\x86\\xe5\\xb0\\x85\\x28\\x0b\\xf2\\xe1\\x10\\x9b\\x13\\x8e\\x4c\\x84\\x78\\x35\\x56\\xd9\\x79\\x58\\xb3\\x9b\\x2e\\x3a\\xd5\\xb4\\x91\\x17\\x64\\xcd\\x15\\x29\\xdb\\xbd\\xd6\\x70\\x7f\\x8a\\xb3\\x81\\xe2\\xbf\\xc3\\xed\\x50\\xfe\\x06\\x96\\x6e\\xdc\\x32\\x06\\x27\\x77\\x31\\x2f\\x86\\xfa\\x3b\\x07\\xf1\\x7b\\xb7\\x64\\x61\\xc5\\xb3\\xac\\x74\\x12\\x3f\\x0f\\xa3\\xe3\\x6f\\xd9\\xeb\\x65\\x3e\\xcc\\x55\\xcc\\xd9\\x79\\x18\\x8e\\xfe\\xa8\\x13\\x39\\x1e\\x82\\xc9\\xc4\\xa7\\x79\\x99\\xf8\\x34\\xa5\\x60\\x49\\xfc\\x44\\x55\\x51\\x82\\xf9\\x11\\xc1\\x67\\xb3\\x01\\x21\\x9f\\xef\\x55\\x56\\xa0\\x2e\\x56\\xd7\\xa8\\x87\\x54\\x3e\\x14\\x9c\\x17\\x5c\\x12\\x7c\\x23\\x78\\x38\\x28\\x80\\xa0\\x12\\x6c\\x61\\xdf\\xee\\x27\\x2f\\x48\\x56\\x04\\x40\\xb1\\x54\\x4c\\x5c\\x9c\\xe2\\xbc\\x60\\x30\\x1c\\xce\\x6d\\x4a\\x84\\x75\\xa7\\x87\\xd8\\x7c\\xaa\\x53\\x91\\xd8\\x44\\x99\\x8c\\x86\\x93\\xcc\\x3e\\xc8\\xee\\x52\\x30\\x3d\\x9c\\xe2\\x74\\x2f\\x69\\xc6\\x84\\x14\\xda\\x6f\\x91\\xf6\\xf1\\x74\\xe6\\xd7\\x7c\\xf6\\xaf\\x9f\\x0f\\x9b\\xf9\\xca\\x35\\x4b\\x56\\x5e\\xdd\\xb2\\x54\\x7e\\x54\\xdb\\x7a\\x49\\x61\\xa6\\x43\\x03\\x43\\xe4\\x22\\x56\\x61\\x01\\xcb\\x5e\\xee\\xfb\\xfc\\x83\\x37\\x66\\xcc\\x72\\x2c\\x7d\\x20\\x6f\\xe1\\x78\\xc3\\x95\\x61\\xf3\\x21\\x67\\x50\\xdc\\x56\\x60\\xa7\\xf9\\x5d\\x28\\x22\\xde\\xc6\\x8b\\x16\\xde\\xe1\\x04\\x16\\xab\\x85\\xde\\x31\\xbc\\xc8\\x6e\\x5d\\x03\\xb7\\x50\\x39\\xd0\\x90\\x55\\xc3\\x62\\x04\\xfc\\x22\\xe9\\x11\\x07\\xab\\x1f\\xdc\\x6c\\x8c\\x33\\x38\\xb6\\x97\\xde\\xa8\\xc6\\xf4\\x02\\x08\\x22\\xc4\\x0f\\xb9\\x8a\\xf5\\x53\\xd4\\xc6\\xf3\\x44\\xbb\\xc5\\x8a\\xac\\x76\\x48\\x9e\\x61\\xb5\\xdb\\xc5\\x26\\x3a\\x49\\x06\\x72\\xe4\\x4e\\xe5\\xe4\\x8c\\x46\\x35\\xe5\\x40\\xe6\\x43\\x0c\\x08\\x76\\xc3\\xc7\\xb8\\x04\\xdf\\x43\\x41\\x59\\x16\\xdc\\xb9\\x02\\x3d\\xb6\\x6c\\x59\\xfb\\xab\\xec\\xd2\\x64\\xb1\\x39\\xbe\\x99\\x61\\x31\\x16\\xc6\\x65\\x1b\\x84\\x3c\\xc7\\xd1\\x3b\\xcc\\xca\\x23\\x8e\\xd9\\x08\\x5a\\x7f\\xc3\\xbc\\x8e\\xa5\\x20\\x66\\x60\\x0c\\xfa\\xea\\x61\\x8c\\xbb\\x61\\x1f\\x1e\\xf4\\x16\\x2c\\xee\\xd3\\x07\\x96\\xbc\\xc5\\x8d\\x36\\xa7\\x57\\xef\\x3f\\x67\\x3a\\x37\\xd4\\x8c\\x7f\\x4c\\x46\\xff\\x65\\xfd\\xea\\xa1\\xb8\\xcb\\xe6\\x70\\x10\\xd3\\xd2\\xe5\\x14\\xad\\x9c\\x6c\\x0c\\xc9\\xcd\\xfe\\xad\\xac\\x1a\\xad\\x81\\x7a\\x16\\x2a\\xbc\\x03\\x9f\\x4d\\xcb\\xd0\\x94\\x01\\x7f\\xb4\\xe1\\xa9\\x78\\x32\\xbc\\x8f\\xef\\x97\\x6c\\x2c\\x7d\\xbe\\xf6\\x51\\xee\\xa1\\x63\\x07\\xf0\\x64\\x90\\x41\\xb3\\x02\\xea\\xe2\\xb9\\x36\\x1a\\x3b\\x04\\xc4\\x2a\\x57\\x1d\\x0a\\xa0\\x53\\x6f\\x05\\xa2\\x92\\x5c\\x9a\\x64\\x98\\xe0\\xd4\\xea\\x4a\\x07\\x12\\xd3\\xad\\x97\\xee\\xb0\\xc9\\x05\\x34\\xaf\\xdc\\x21\\x70\\x24\\x5e\\x9b\\xe2\\x06\\x5f\\x43\\xbe\\x9b\\xbe\\x0f\\x4f\\xe7\\x0e\\x73\\xb7\\x1b\\x2c\\x25\\x9b\\x37\\x51\\x0e\\x33\\xf8\\xd2\\xe8\\xb3\\x1d\\x36\\x99\\xd8\\xcc\\x8a\\xe2\\xf6\\x28\\x79\\x22\\x20\\xcc\\xb9\\x58\\xff\\x97\\x9d\\xd5\\x9e\\xa7\\x6d\\xe8\\x86\\xac\\x67\\xc7\\xc2\\x9d\\xdc\\x9a\\x4f\\x3f\\x0b\\x0e\\xc9\\x64\\x9a\\x7c\\xf7\\x4c\\x2b\\x7e\\x86\\xdc\\x40\\x69\\xbe\\x57\\xe1\\xcf\\x61\\x41\\x6a\\xdf\\x09\\xc3\\x98\\x9d\\x37\\x21\\xde\\x0b\\x01\\xd1\\xca\\x5b\\x04\\x9e\\x87\\x9c\\xcd\\xe9\\x74\\x10\\x53\\xd9\\xc1\\x39\\x14\\x55\\x24\\x87\\x8b\\x4f\\x9b\\x7b\\x52\\x6a\\x29\\x2b\\x3b\\xa1\\x6d\\xb2\\xf2\\x3f\\xac\\x04\\x99\\x21\\x00\\x58\\x59\\x25\\x98\\xd5\\xf0\\x4a\\xb9\\x07\\x71\\xe3\\xdb\\x9c\\x1f\\xab\\x6f\\xc3\\x95\\xf0\\xb2\\xb7\\x71\\x3e\\xbc\\x69\\x65\\x6b\\x1d\\x37\\x23\\xb9\\x89\\xfb\\x84\\xbb\\x2b\\xf9\\x3e\\x57\\x96\\x3c\\x23\\xf9\\x94\\x61\\x01\\x42\\xe0\\x23\\x7b\\xf5\\x57\\x86\\x77\\x42\\xe8\\xa2\\x40\\x0a\\x7f\\x47\\x17\\xcd\\x99\\x10\\xba\\x8c\\xe1\\x4d\\xff\\xaf\\x74\\x41\\x8c\\x3f\\x7e\\x06\\x2e\\xc5\\xd7\\xbf\\x40\\xce\\xa8\\xe3\\x25\\x7c\\x3d\\xec\\x75\\xd6\\x9d\\x15\\xf0\\x49\\x7c\\x1c\\xd7\\x9b\\x73\\xe1\\xd3\\xe0\\x5d\\xc9\\x7f\\xe3\\x93\\x53\\x36\\x61\\x35\\x9e\\x21\\xf5\\x67\\xf2\\x1a\\x12\\x0f\\xf3\\x4e\\x8b\\x60\\xb7\\xd9\\x04\\xce\\x09\\x04\\x45\\xb5\\xf0\\x4e\\xbe\\x39\\x61\\x77\\x6a\\x74\\x4c\\x10\\x90\\x4d\\x67\\xc2\\xe8\\xda\\x3b\\xd0\\xa5\\xe6\\xcc\\x84\\x36\\xea\\x84\\xbe\\x09\\x57\\xf3\\x37\\x60\\x0f\\xf7\\xfb\\x9e\\x5d\\xad\\xc7\\x6e\\xc4\\xba\\xb0\\x74\\xcb\\xb1\\xbd\\x14\\x24\\xd6\\x38\\xbf\\x86\\x8e\\x28\\x26\\x6b\\x35\\x8d\\x1f\\x48\\x7d\\x00\\xf6\\x6c\\x8e\\x3d\\xdc\\x09\\x78\\xe3\\xd9\\xe4\\x08\\x3b\\x75\\x51\\xa6\\xcf\\x6e\\xcc\\x80\\x54\\xea\\xf2\\xec\\x1e\\x1f\\x5e\\x8c\\xc6\\xe2\\x17\\x4d\\xec\\x1d\\xbc\\x95\\x1f\\xb8\\xba\\xfd\\x9d\\x14\\xc0\\x0b\\xf1\\x06\\x18\\x9e\\x30\\x79\\xf6\\x00\\xc2\\xb7\\x17\\x0c\\x8a\\x17\\x58\\x45\\xd5\\xe5\\x25\\x36\\xa2\\x57\\x44\\x3e\\x3f\\xc5\\x0f\\x76\\x38\\x24\\x8f\\xd7\\xab\\x36\\x27\\xbc\\x9a\\x01\\x20\\x6c\\xe8\\x0e\\x73\\x60\\x6e\\xc6\\x83\\xbb\\x63\\x07\\x1b\\xb6\\x78\\x26\\x7e\\xf0\\xea\\xd6\\x1b\\xba\\x20\\x08\\xa7\\x1d\\x03\\x08\\x46\\xe0\\xb7\\x79\\x1f\\x5f\\x0c\\xfc\\x74\\x56\\x35\\xd9\\x26\\x1e\\x44\\x21\\xad\\x01\\xca\\xcd\\xd1\\x88\\x4d\\xac\\x69\\x48\\x77\\xc8\\xc8\\x4f\\x8d\\x3d\\xb2\\x17\\x5e\\x4b\\xdb\\xc7\\x5d\\xa8\\x88\\x18\\x23\\x45\\x2b\\x68\\xc1\\xb5\\xee\\xa1\\x03\\xb1\\x18\\x29\\xbc\\x6f\\xc3\\x86\\xbb\\xd7\\xce\\x79\\xf2\\x84\\xd6\\xfc\\x86\\x44\\xbf\\xe9\\x77\\xb4\\x2e\\xc0\\x6f\\xc3\\x3e\\x70\\x67\\xdf\\xb9\\xad\\xff\\x80\\xde\\x97\\x56\\x9c\\x7e\\x5c\\x51\\x1d\\xfc\\xbc\\x7d\\x4e\\x06\\xbe\\xb2\\x8f\\xda\\x9b\\x22\\x72\\x78\\xbd\\x56\\x9f\\x4b\\xd3\\x54\\xd5\\x87\\x90\\x3f\\xc7\\xe5\\x6e\\x49\\xb8\\x5c\\x56\\x1d\\xd0\\x21\\xcf\\x0e\\xab\\x8f\\xc6\\x1c\\x7c\\x88\\xd7\\x34\\x99\\x37\\xd4\\x88\\x19\\x71\\x30\\x3c\\xf9\\x6e\\x0e\\x93\\x71\\x17\\x9b\\x62\\xf2\\x91\\xbf\\x53\\x53\\x50\\x89\\xa5\\xc9\\x4d\\xfe\\xe4\\xe3\\x7d\\x8b\\x16\\x5f\\x72\\xd1\\xdd\\xfb\\xf6\\xb5\\x9e\\x77\\x09\\x7c\\xe6\\xe1\\x3d\\x54\\x4e\\x17\\xcd\\x42\\xf0\\x1d\\x5c\\x6d\\x2b\\xa4\\x78\\xcb\\xb0\\xbd\\xcc\\x86\\x7f\\x05\\x99\\xb8\\x49\\x8c\\x4e\\x89\\xcf\\xa0\\x93\\x67\\x74\\x36\\x31\\x3a\\x89\\xe1\\xdd\\xd8\\x49\\xa7\\xa0\\xe9\\xb2\\x20\\xff\\xaf\\x74\\x4a\\x26\\xa1\\x59\\x74\\xea\\x11\\xb8\\xbf\\x6e\\xe9\\x9a\\xd6\\x75\\xf3\\x86\\x5d\\xd8\\xda\\xba\\x70\\xe8\\x3c\\x78\\x31\\x47\\x31\\x95\\xf0\\x9c\\x4d\\x36\\xe2\\xca\\xbf\\x27\\x15\\x1a\\x48\\x4b\\x95\\xea\\xfb\\xc6\\xde\\xbe\\x97\\xc8\\xf3\\x5d\\xa6\\x83\\xfb\\xc4\\xbd\\x74\\x0a\\x0a\\x50\\x2c\\x8a\\xaa\\xd1\\x13\\xe5\\x74\\x92\\x9b\\x0a\\x58\\x52\\x53\\xaa\\xca\\xb3\\x40\\x9d\\x3a\\xe7\\x83\\xc4\\x8c\\xd9\\x20\\xbc\\x6f\\xc9\\x8a\\x07\\x8f\\xee\\xdb\\x07\\x6d\\xf7\\xa6\\xc7\\x82\\x08\\x4b\\x31\\xcf\\x86\\x82\\x74\\x62\\xfb\\xfd\\xc8\\xb0\\x17\\xc6\\x00\\x73\\xc6\\xa9\\xb8\\x9e\\xcd\\x90\\x2c\\x03\\xd3\\xe2\\xd5\\x5e\\xb5\\x38\\xc7\\x29\\x4a\\x52\\x49\\x28\\xe4\\x54\\x51\\xaf\\x72\\xe0\\xf2\\xbb\\x9a\\x13\\xc5\\xb2\\x1f\\xda\\x91\\xdf\\xed\\x77\\xdb\\x02\\x81\\x48\\x4b\\x22\\x40\\x6e\\x64\\x9b\\x0d\\xd1\\xd2\\x43\\x90\\x65\\x55\\x98\\xf5\\xe3\\xdd\\x82\\x07\\xa6\\x6d\\x91\\x1e\\xbd\\x43\\x9b\\x57\\x69\\x11\\x10\\xad\\x92\\xf0\\x0c\\x84\\x9a\\x31\\x78\\xde\\x23\\x11\\x23\\x4c\\x0a\\x17\\xd3\\xb4\\x19\\x04\\xaf\\xdd\\xfc\\x6e\\xff\\xdd\\x27\\xe2\\x97\\xde\\xc0\\x1f\\xe2\\x2d\\x9e\\xe1\\x17\\x5e\\xad\\x6e\\xf7\\x2e\\x2a\\xc9\\x81\\xd3\\x61\\xf8\\x15\\xd8\\x77\\xbb\\x90\\x6c\\xfe\\x04\\x77\\x38\\xd0\\x87\\x1a\\xfe\\x9d\\x9b\\xff\\x15\\x3e\\xba\\xe2\\xe2\\x91\\xdb\\xef\\x87\\x27\\xc3\\xea\\xab\\x16\\x0f\\x18\\x38\\xb0\\x66\\x1e\\xac\\x80\\xa7\\x3c\\x88\\x9f\\x3a\\x58\\xd4\\xc0\\xad\\xc3\\x7f\\x7c\\xf7\\x2f\\x68\\x37\\xf9\\xe5\\x93\\xc4\\xd6\\x0a\\x82\\x22\\xb2\\x2b\\x7a\\xe7\\x4b\\xc1\\x22\\x00\\x7c\\x0e\\x8f\\x2c\\x3b\\x82\\xa8\\x38\\x0a\\x9c\\x5e\\x67\\x63\\xa2\\xc8\\xab\\x7a\\x55\\x6b\\x6e\\x6e\\x98\\x66\\x4e\\x45\\xd1\\x6a\\x45\\x8d\\x09\\xab\\xb7\\x3b\\xab\\x3d\\xb4\\x58\\xb0\\xa4\\x96\\x61\\x2c\\x71\\xe1\\x42\\x8e\\xb0\\x99\\xe6\\x92\\xd6\\x58\\xaa\\xba\\x59\\xe2\\x03\\xff\\x7b\\xd3\\x86\\x7f\\x5c\\x9b\\x73\\xeb\\xe9\\xf8\\x9e\\x6f\\xff\\x63\\xeb\\xdb\\x41\\x99\\xcb\\xd5\\xff\\x7c\\x07\\x7e\\xba\\x47\\x5e\\x7b\\xd5\\xb2\\xcd\\x22\\xfc\\x73\\xcf\\xcb\\xd3\\x46\\xf7\\xe9\\x00\\xc4\\x84\\x16\\xbf\\x1f\\x3c\\x84\\x70\\xf4\\xf9\\x91\\xe4\\xd3\\xfe\\x55\\xf7\\xdd\\xb2\\x6b\\xb3\\xe1\\x33\\xd9\\xf0\\x2b\\x6c\\xed\\xa2\\xa0\\x37\\x98\\x1d\\xef\\x9f\\xe3\\x01\\x65\\x65\\x01\\xc5\\xee\\xe8\\x25\\x45\\x22\\x0e\\xc5\\xc3\\xf7\\xa9\\x00\\x6a\\x1e\\x51\\x4c\\x65\\x72\\x1e\\x59\\xbe\\x3c\\x6f\\x9e\\xd7\\x59\\x50\\x50\\xdc\\x92\\x28\\x20\\x76\\x4f\\xdc\\xe6\\x14\\x45\\xa7\\x93\\xac\\xa1\\xd3\\xdd\\xd9\\x6a\\x93\\xab\\x1c\\xfc\\x3f\\x17\\x32\\x7b\\x29\\xe9\\xee\\x2b\\xfa\\x5f\\x57\\xf3\\x78\\xfc\\xdb\\xb3\\x57\\xe2\\xdf\\xf1\\x73\\xda\\xff\\xb4\\x9c\\x1b\\x76\\xbb\\xf0\\xa7\\xb0\\xc8\\x03\\x27\\xc2\\xc0\\x5f\\x2f\\x2a\\x95\\xc3\\xcb\\x6c\\x4d\\x0b\\x88\\xd7\\x34\\x33\\x5e\\xef\\xf5\\xa8\\xc5\\x00\\xe4\\xb8\\x6c\\x76\\xb2\\x91\\x43\\x05\\x05\\x76\\x97\\xca\\x97\\x94\\x02\\xd9\\x4f\\xae\\x86\\x62\\xba\\x89\\x1d\\x64\\x13\\x37\\x26\\xa8\\xa4\\xe2\\x56\\x87\\x48\\x5c\\x28\\xd4\\x94\\x70\\x78\\xff\\x42\\x0a\\x3d\\x04\\xc2\\xba\\x2e\\x34\\x6b\\x5a\\x29\\xfa\\x3f\\x97\\xfa\\x14\\xfc\\xf1\\x95\\x78\\xbe\\xf6\\xd7\\x6b\\xfd\\x8d\\x0f\\x7f\\x02\\x8b\\x4b\\xe1\\xe1\\xae\\xcb\\xdd\\xc3\\x2c\\x29\\x36\\x3b\\x45\\x2a\\xd7\\x8a\\xd1\\x0b\\x06\\x6e\\x04\\x37\\x15\\x0e\\x64\\x35\\x94\\x45\\x45\\x42\\x31\\x2c\\x06\\xc5\\xbd\\x85\\x40\\xaa\\x86\\xd2\\xe8\\x19\\x10\\x26\\x32\\x4c\\xcf\\x6f\\xcc\\x79\\x17\\x09\\xb3\\xe6\\xb2\\xa8\\x48\\xed\\xfa\\xf3\\x46\\x5c\\x84\\xef\\x60\\xb3\\xca\\x26\\xc6\\xcb\\x42\\xbe\\x40\\x30\\xe8\\x72\\x01\\x9f\\xdb\\xed\\xb1\\x48\\x92\\x07\\x78\\x8a\\x22\\x21\\x9f\\x4f\\x6b\\x49\\xf8\\x7c\\x01\\x1d\\x59\\x3c\\x46\\xce\\xd7\\x93\\x91\\xf3\\x8d\\x19\\xa3\\x99\\xba\\xd8\\x21\\x46\\xa8\\x96\\xa6\\x4d\\x33\\x63\\x21\\xb5\\x7d\\x8b\\xc2\\x66\\x78\\x39\\x15\\x59\\xe4\\x01\\xdf\\xb1\\x11\\xff\\xb1\\x7d\\x1f\\x8d\\x86\\x54\\x6c\\xb9\\x7c\\xef\\x9b\\x64\\xdb\\xfc\\xf1\\x42\\x5b\\x3a\\x03\\x31\\xaf\\x2f\\xcc\\x83\\xb5\\x6f\\x3e\\x89\\x0f\\xdd\\xb2\\x7e\\x6d\\xfe\\xd4\\x09\\x90\\x3b\\xfc\\xd1\\x61\\xd6\\x17\\x99\\x8a\\x37\\xde\\x5e\\xe3\\x63\\x35\\xe4\\x9d\\xf9\\xdf\\x08\\x39\\xf1\\xe5\\x2c\\x7d\\x48\\x78\\xf1\\x7b\\x3c\\x3a\\xe1\\x45\\x07\\x7a\\xb4\\x28\\xec\\xf7\\x93\\xcb\\xc0\\xef\\xd7\\x83\\x5e\\x9a\\x00\\xd6\\xbb\\x25\\x80\\x53\\x93\\xa6\\xfe\\x92\\x9d\\xae\\x81\\x11\\x36\\x2c\\xb4\\x33\\x37\\xe1\\x05\\x7c\\xce\\xfc\\xb7\\xae\\x33\\x43\\x23\\xd7\\xdf\\x30\\xe7\\xd9\\x4b\\x97\\xb4\\xa6\\x72\\x14\\x27\\x15\\x7f\\x0d\\xb9\\x29\\xb7\\x7f\\xb7\\x88\\x05\\x47\\xf6\\x3c\\xb6\\xf8\\xe1\\xa9\\x38\\x94\\x11\\x9d\\xbc\\xb4\\xc8\\x8b\\x7f\\xa3\\x7c\\x68\\x78\\x3a\\xeb\\x53\\xa7\\xf7\\x7f\\x81\\x5f\\x77\\x43\\xd5\\xaa\\xba\\xc9\\xed\\xef\\x77\\x37\\x27\\xfc\\xe6\\x9c\\x0f\\xaf\\x98\\x31\\xe9\\x83\\xfa\\x4a\\x59\\xc0\\x5a\\x7f\\x31\\xea\\x83\\x55\\x29\\xb1\\x71\\x1f\\xfd\\x5a\\xae\\xbb\\x3c\\x73\\xdc\\xc7\\x13\\x4f\\xee\\x5c\\xb5\\x91\\x8d\\xfc\\x38\\x15\\xef\\xbe\\x26\\x63\\xe4\\x87\\x51\\x60\\x65\\xdc\\x5f\\x76\\xfc\\x12\\xff\\x02\\xbb\\x67\\x09\\x5d\\x3e\\x2f\\xa7\\xf3\\x6e\\x87\\x5b\\x47\\x84\\x2e\\x62\\x97\\xb9\\x65\\xab\\x8b\\x98\\x64\\x56\\xf2\\xf2\\xc4\\x04\\x67\\xc2\\xf1\\x1c\\xe8\\x42\\x16\\xa5\\xcb\\x1d\\xe9\\x01\\x3e\\x35\\x86\\x50\\xe2\\xda\\xcb\\xbb\\x43\\xa8\\xee\\x78\\x06\\xbf\\x04\\xeb\\xbb\\x83\\xec\\xd0\\xaa\\x29\\x33\\x3f\\x36\\x99\\x61\\x99\\xfb\\xc0\\xc8\\x78\\x04\\xf8\\x7c\\x36\\x8a\\xd4\\xee\\x12\\x45\\xd5\\xa6\\xfa\\x73\\x58\\x7d\\x9a\\x53\\x26\\xb6\\x93\\xcd\\xe3\\x21\\x2a\\xd0\\x63\\xeb\\xba\\x73\\xbb\\xae\\x73\\x75\\x95\\xc0\\xb6\\x6a\\x4e\\x46\\x28\\x55\\x01\\x61\\xb2\\x85\\xe1\\xbc\\x8a\\xed\\xab\\xdf\\x79\\xd2\\x8c\\xe9\\xe2\\xd7\\xf1\\x17\\x2f\\xe2\\x23\\xfd\\x67\\x4c\\x19\\x0f\\x01\\xf1\\xc0\\xae\\x4b\\xc7\\x77\\x67\\xe1\\x7d\\x78\\xe7\\x4d\\xeb\\xcd\\x39\\x91\\x0c\\xc3\\xc5\\x07\\xc6\\xc5\\x8b\\x29\\x4d\\x29\\xfa\\x54\\x5b\\x8e\\x1f\\x00\\x8f\\xcd\\x43\\xee\\x1b\\x4f\\x9e\\xd3\\xd2\\x44\\xa8\\xb4\\xc9\\x76\\xd9\\xa6\\x83\\x86\\x74\\xac\\xd3\\x74\\xdf\\xff\\x8a\\xc4\\xba\\xda\\x8c\\xa1\\x67\\xc6\\xb8\\x46\\x78\\xbc\\x7b\\xd6\\xcc\\xcb\\x2f\\x32\\x43\\xbe\\x87\\x9e\\x7f\\xf8\\x60\\xe1\\x92\\x49\\x27\\x3c\\xf4\\x08\\xbc\\x3b\\x1d\\xf8\\x15\\x0e\\xe1\\x3f\\x57\\xdc\\xc8\\xe4\\x36\\x5d\\xf8\\x80\\xd9\\xf8\\x83\\xe3\\x05\\xb2\\x8b\\x73\\x5a\\x05\\x41\\x74\\x8a\\xaa\\x62\\x25\\xd6\\x88\\xd5\\x2a\\xda\\xd9\\xd0\\x4c\\xce\\xc9\\x66\\x73\\x19\\x6b\\x99\\xb6\\x32\\xd3\\x85\\x03\\xa9\\xe5\\xec\\x0c\\x7c\\x23\\x7e\\xde\\xaa\\xcd\\xa6\\x8c\\x1e\\x7f\\x12\\x4f\\x87\\x37\\x65\\x84\\xbe\\xc9\\x56\\x32\\xe3\\xde\\x2f\\xf1\\x9b\\x98\\xdf\\x33\\x3c\\x5e\\xc8\\xd9\\x6c\\x92\\x28\\x40\\xa7\\xd3\\x25\\xb8\\x54\\x05\\x3a\\x68\\xf8\\xd7\\x86\\x64\\xd9\\xa5\\x5b\\x88\\xe1\\x3f\\x31\\x61\\xd3\\x53\\x5b\\xbc\\x87\\xe7\\x67\\x80\\x6b\\xb2\\x02\\xbc\\x34\\x96\\xec\\xde\\x67\\x76\\x5e\\x7b\\x5d\\x3a\\x10\\x6c\\xd4\\xd8\\xa5\\x63\\xc1\\xc4\\xce\\x67\\x76\\xad\\x97\\x4e\\x9d\\xb5\\x5b\\x74\\xaf\\x02\\x21\\x31\\xf4\\x2d\\xc4\\xd0\\x77\\x09\\xcd\\xd4\\x58\\xf4\\x7a\\xe2\\x1e\\x62\\xd5\\x7a\\x34\\xd5\\x6a\\x5a\\xfa\\xb9\\x7e\\xe5\\x60\\x96\\x91\\x6d\\xc6\\x19\\x63\\x6a\\xf7\\x49\\x21\\xc4\\xd6\\x3f\\xfb\\x9a\\x0c\\x63\\x7f\\x63\\xeb\\x56\\x38\\xa5\\xcb\\xb8\\x10\\x36\\xaf\\x8c\\xda\\xae\\xc4\\x07\\xdc\\xc2\\x72\\x23\\xc4\\xe7\\x80\\x1e\\x9b\\x5d\\x20\\xa6\\xa0\\xc5\\xee\\x41\\x5e\\x1f\\x52\\x1b\\x13\\x08\\x59\\x45\\x5d\\xb6\\x12\\xa9\\xd8\\x29\\xf8\\xc3\\xc1\\xee\\xc6\\x7e\\x2a\\x36\\x92\\xc6\\xfd\\xa4\\x6b\\x91\\x85\\xfd\\x79\\xd9\\x9d\\xb3\\xba\\xa0\\x7f\\x52\\x30\\x73\\x78\\x82\\x89\\x00\\xca\\xf6\\x82\\x78\\x80\\xdd\\x01\\xa3\\xe2\\xd1\\x1c\\xaf\\xd7\\x17\\x16\\x04\\x0e\\x02\\x10\\xf4\\xa1\\x48\\x51\\x21\\x0a\\x6a\\x56\\xe4\\xf5\\x23\\xa7\\x57\\xe3\\x84\\xb8\\x00\\xe8\\x38\\x31\\x90\\x2a\\x90\\x64\\xe6\\x73\\x3a\\x2c\\x9f\\x21\\x16\\xa3\\x1e\\xb2\\x01\\x4a\\x2c\\x43\\x53\\x01\\x2b\\x61\\x01\\x53\\x95\\x30\\x1f\\xfa\\xd8\\x7c\\x1d\\x91\\x7b\\x8e\\xe8\\x9c\\x75\\x16\\x68\\x2d\\x2d\\xc1\\x1b\\xae\\xc4\\x6b\\x6c\\xc7\\x09\\x22\\x8f\\x76\\x1c\\x83\\x0b\\x3d\\x51\\xd1\\x42\\x3c\\xd7\\x79\\xbf\\xdf\\xcf\\x8a\\x3b\\x77\\x5e\\xb6\\xa6\\xa0\\x70\\xd5\\xcc\\xf6\\x38\\xda\\xef\\x7f\\xdf\\xab\\xcd\\xdb\\xdb\\x7e\\x92\\xb0\\xb4\\xbd\\x72\\xe0\\x55\\xf9\\xa5\\x77\\xea\\xe8\\xcd\\x54\\x2e\\xe5\\x25\\xe1\\x76\\xd6\\x9f\\x4a\\x78\\x70\\xe9\\xba\\xa6\\x2a\\x29\\x48\\x65\\xe2\\x36\\xe9\\x71\\x5d\\x99\\x98\\xd0\\x75\\x97\\x6c\\xe7\\xfc\\x44\\x4f\\xcb\\x06\\xa4\\x32\\x23\\xde\\x64\\x25\\xd3\\xea\\x8f\\xf5\\x08\\xaa\\x6c\\xf0\\xd4\\x03\\xb0\\x32\\x2d\\xf0\\x5c\\xd4\\x1d\\x5c\\xd9\\xac\\xec\\x7c\\x67\\xfe\\x05\\x06\\xc6\\x14\\x1c\\xc2\\xec\\xf1\\x09\\x9d\\x73\\xea\\xc4\\xdf\\xb4\\x62\\x3a\\xa7\\x4e\\x95\\xac\\x3c\\x5c\\x64\\xdc\\xd3\\x1c\\x1d\\x5c\\xca\\x79\\x78\\x4f\\x80\\x97\\x32\\xee\\x75\\x36\\x07\\x41\\xf8\\x27\\xf9\\xf9\\xe3\\x58\\x2f\\xe0\\x4d\\x50\\x36\\x70\\x02\\xab\\xab\\xd5\\x62\\xae\\xef\\xe3\\x1d\\xef\\xb4\\xf6\\x1d\\x80\\xf2\\xb2\\xfa\\x2f\\x8c\\x67\\x3c\\x94\\x7e\\x06\\x84\\x73\\x52\\x38\\x81\\x7e\\xbf\\x50\\x8c\\x38\\xaf\\xe8\\xf5\\x18\\x4f\\x31\\x9a\\x07\\xd3\\xcf\\xb9\\x24\\xf5\\x1c\\x70\\x1e\\xf8\\xc5\\xe8\\x39\\x44\\x5c\\xbf\\x7e\\x14\\x5b\\xb0\\xee\\xf1\\x8e\\x37\\x5a\\xeb\\xfa\\x1a\\x8f\\xea\\xec\\x55\\xa4\\xd3\\x8d\\xee\\x61\\x76\\x8b\\x31\\xc7\\x6e\\x18\\xf1\\x37\\x9e\\x61\\x58\\xc9\\xf7\\x64\\xcc\\x5c\\xfd\\x2d\\x35\\xa7\\x95\\xf0\\xbb\\xc5\\xc0\\xcc\\xa2\\x03\\x55\\xa1\\xfc\\x78\\x07\\x6e\\x95\\x7d\\x5d\\xe6\\xb4\\x1a\\x38\\x87\\xff\\x4c\\xe1\\x1c\\x12\\x9e\\x3d\\xa6\\x8c\\x28\\xcc\\x21\\x17\\x14\\x83\\x91\\x4e\\x64\\x44\\xf2\\xf3\\xd3\\x3a\\x8e\\x08\\xdb\\x85\\x1b\\x14\\x11\\x36\\x65\\x62\\xf4\\x2b\\x22\\x97\\xc7\\xbe\\x67\\xff\\x4e\\xe5\\x41\\xff\\x9d\\xc9\\xe3\\xc1\\x14\\x6f\\x25\\x25\\x54\\x1e\\xd1\\xc7\\x3b\\x7e\\x6d\\x8d\\x46\\x82\\x7a\\x36\\x6f\\xff\\x1f\\x67\\xdf\\x01\\x1f\\x55\\x95\\x3d\\x7c\\xef\\xbb\\xef\\xbd\\xe9\\x7d\\xde\\x94\\x4c\\xca\\x4c\\x26\\xbd\\x42\\x26\\x85\\xd0\\x32\\x08\\x22\\x4a\\x31\\xf4\\x0c\\x10\\x40\\x04\\xa4\\x48\\x91\\x5e\\xa4\\x8b\\x34\\x01\\x05\\xa5\\x89\\x80\\x88\\x0b\\x22\\x22\\x60\\xc0\\x28\\x2b\\xc8\\xaa\\xa8\\x60\\xc1\\xb5\\xaf\\xba\\x2a\\x02\\x4a\\xb1\\xe1\\xae\\xab\\xc2\\xbc\\x7c\\xe7\\xde\\xf7\\x66\\x32\\x49\\x70\\xff\\xfb\\xfb\\xcc\\xae\\x26\\x93\\xbc\\x77\\xcf\\x39\\xf7\\x9c\\x73\\xcf\\x39\\xf7\\x94\\x78\\xbf\\x45\\xfa\\x1e\\x46\\x93\\x0b\\xb1\\xe7\\x02\\x01\\x4a\\x93\\x34\\xfa\\x5c\\x5a\\x8a\\xdd\\xd8\\xf4\\x39\\x66\\xbb\\xd1\\xf5\\x14\\xdb\\x4d\\x87\\xb9\\x09\\xb1\\xfa\\xcd\\xfc\\x7c\\x5a\\xf7\\x99\\x5b\\xdf\\xd0\\x50\\x97\\x9b\\xad\\x18\\x64\\x4d\\xea\\x3e\\xc1\\x86\\x9b\\x1b\\xb3\\xe1\\xd0\\x38\\x3c\\x1e\\xa9\\x13\\x44\\xf3\\xf3\\x69\\xdd\\x67\\x2e\\x6e\\xfa\\x10\\x3c\\xc3\\x66\\xca\\xb1\\xb5\\xde\\x50\\x71\\xcb\\x8d\\x3d\\x53\\x5c\\x4c\\xd7\\x2a\\x74\\x14\\xe6\\x93\\xcc\\x26\\xcf\\xb0\\xde\\xfb\\x6c\\x9d\\xef\\x54\\xbc\\x1e\\x88\\x3d\\x53\\x50\\x40\\xd7\\xc9\\xd3\\xe6\\xe5\\x90\\xf4\\x26\\x7d\\x24\\x7b\\xc2\\x3a\\xf7\\x83\\xae\\x48\\xa2\\x79\\x1e\\x3c\\x71\\x9a\\xcd\\x36\\x8b\\xc3\\xa1\\x73\\xbb\\x6d\\x84\\xf8\\x92\\xcd\\x4e\\xa7\\x69\\x78\\xc4\\xe9\\x44\\x36\\x87\\xd5\\x66\\xa5\\x76\\x0a\\x1d\\xbb\\x15\\x9f\\x4c\\xa7\\xc6\\xa6\\xd9\\x38\\xcc\\xa6\\xe6\\x76\\xac\\x15\\x52\\xb3\\x71\\x74\\x2c\\x1a\\x8b\\x95\\x1b\\x29\\x6e\\x66\\xe2\\x04\\xba\\x2a\\x5c\\x7f\\xfd\\x23\\x5e\\x2b\\x57\\xbc\\xf3\\xe3\\x82\\x2b\\xca\\xe0\\xb9\\xc7\\x97\\x2d\\x5d\\xbf\\x0e\\xaf\\xd9\\xfa\\xa4\\x7c\\x8f\\xe1\\xf3\\x43\\x4b\\xce\\x4c\\xa7\\xb4\\xec\\x02\\x36\\xa1\\x81\\xf6\\x73\\xe6\\xfa\\x25\\xcc\\xbf\\xdc\\x1a\\x9b\\x07\\xc7\\xad\\xc2\\x8f\\xe2\\x5b\\x99\\x7d\\x6c\\xb1\\xd0\\x79\\x70\\xc8\\x6a\\x6b\\x9c\\x7e\\x19\\xef\\xf5\\xd6\\x37\\xd6\\xeb\\x0d\\xfe\\x9e\\x57\\xed\\x69\\x8b\\x85\\x36\\x7b\\x33\\x59\\x6d\\x8d\\x9d\\xde\\xe2\\xef\\x3f\\x14\\x7b\\x3f\\xec\\xc3\\x86\\xd8\\x9e\\x4b\\x12\\xdd\\x07\\x47\\x7d\\xc3\\x1f\\x75\\x0e\\x75\\x91\\xc6\\x3d\\x57\\xd6\\x99\\x1b\\xef\\x29\\x37\\x0e\\xfd\\xa7\\xf1\\x39\\x9b\\xf2\\x5c\\x03\\x3c\\xa7\\x2c\\xd6\\xf8\\x1c\\xab\\x81\\x67\\x32\\x5e\\xa2\\xae\\xf7\\x55\\x4c\\xc6\\xd3\\xd3\\x29\\x4f\\xfb\\x35\\xfe\\x54\\x2d\\x6a\\xb2\\xef\\xac\\x86\\x9c\\xc9\\x78\\x1f\\x75\\xad\\x68\\xec\\x19\\x5a\\x57\\x4c\\xb8\\x64\\x4d\\x72\\x92\\x98\\xf0\\x4c\\x93\\x5a\\x7b\\x09\\xf8\\xba\\x2a\\xec\\xf7\\x3a\\x1c\\xda\\x24\\xbb\\x1d\\x69\\x51\\x4a\\xaa\\x17\\x0c\\x53\\xaf\\x97\\x37\\x18\\x5c\\x37\\x2c\\xb0\\xf7\\x14\\xff\\x9f\\xa5\\xf5\\xa8\\x22\\xa0\\xd4\\xd4\\x07\\xb2\\x32\\x6e\\x54\\x49\\xff\\x2d\\x26\\xa6\\xeb\\x0e\\x0b\\xd6\\x9c\\xfd\\x54\\x8e\\x7a\\xc9\\x05\\xaf\\x7c\\xfd\\x06\\x95\\xf3\\xd8\\xfc\\x9f\\x1f\\xe5\\x4b\\xfc\\xd4\\x9f\\xbe\\xf8\\xec\\x6a\\x93\\x5a\\x79\\x1b\\xe8\\x27\\x80\\xd9\\x05\\xfe\\x80\\x64\\xb1\\x88\\x48\\x4c\\xf2\\x4a\\x96\\xde\\x70\\x20\\x10\\xad\\xd6\\xce\\x2a\\xe4\\x0d\\xcd\\x2a\\xe4\\x6f\\x00\\x73\\x42\\x71\\x3c\\x6d\\xae\\x9b\\x8a\\x1d\\xb4\\x45\\x55\\x11\\x6e\\x2c\\x87\\x97\\x5d\\x9b\\x56\\x6b\\xa2\\x87\\x35\\xab\\x36\\xad\\x59\\x6d\\xe2\\x6e\\x31\\xdc\\xd7\\xb4\\xfe\\x3d\\x5a\\x7a\\xe4\\xf5\\x63\\xc7\\x49\\xcd\\x93\\xcf\\x1d\\xd8\\xd3\\x64\\xef\\xe8\\x5c\\x78\\xb6\\x77\\xff\\x54\\xf6\\x81\\x27\\xd4\\xb9\\xe3\\x49\\xba\\x90\\xee\\xff\\xb3\\xbd\\xe3\\xb7\\xa8\\x7b\\xf7\\x47\\xec\\x19\\x5a\\x54\\xc7\\x13\\xda\\xfb\\x55\\x6c\\xfa\\x0c\\x9b\\xd7\\xc4\\x78\\xf2\\x9f\\xea\\x3a\\x0f\\xc5\\x78\\x8b\\xae\\xc3\\xe1\\xf4\\xfa\\x86\\x73\\x75\\xe9\\x7e\\xab\\xbe\\x29\\x6f\\xb1\\x5e\\xc7\\x8c\\x27\\x65\\x75\\xad\\x83\\xb1\\xe7\\x82\\x41\\xca\\x93\\x01\\xca\\xcb\\x81\\x34\\xe4\\x6a\\xf1\\x9c\\x90\\xc6\\x64\\xec\\x03\\x55\\x66\\x66\\xa9\\x32\\x46\\x45\\x00\\xbb\\xec\\x2e\\x77\\xe3\\xbc\\xd8\\x78\\x6f\\xc4\\xbe\\xb1\\xde\\x88\\xdc\\x2a\\xf4\\x86\\x2a\\x63\\x1e\\x0f\\xed\\x8d\\x68\\xf2\\x26\\xe9\\x12\\xf5\\xbc\\xf2\\xfe\\x43\\xb1\\xf7\\x03\\x3e\\x0b\\x62\\x7a\\xcb\\xe7\\xa3\\xf8\\x78\\xdd\\x5e\\x75\\x85\\x38\\x0d\\x94\\x35\\xe6\\xc6\\xd6\\x00\\x5c\\xde\\x88\\x3d\\xa3\\xd4\\xd2\\x27\\x1b\\x92\\xd5\\x55\\xe2\\xcf\\x28\\xeb\\xfc\\x1c\\x5f\\x87\\xe0\\x7b\\x63\\xcf\\xa4\\xa5\\xd1\\x75\\xa4\\x31\\x52\\xea\\x0d\\xd7\\x39\\x17\\xc7\\x65\\x3b\\xfa\\x38\\xf6\\x4c\\x7a\\x3a\\x5d\\xc7\\x33\\xd1\\x13\\x68\\xb6\\x0e\\x8b\\xb3\\x32\\x7c\\x3e\\x51\\xf1\\x99\\x1c\\x7b\\x26\\x29\\x89\\xae\\xe3\\x31\\x7a\\x5c\\x1a\\x5b\\x93\\x67\\x58\\xcc\\x93\\xed\\xcd\\x6f\\x2a\\x3e\\x7f\\x8f\\x3d\\xe3\\xf5\\xd2\\x75\\xdc\\x7a\\xb7\\x64\\xd3\\x36\\xd1\\xdd\\x34\\x97\\x90\\xe6\\xb1\\xeb\\x50\\x51\\xd8\\x23\\x88\\xc0\\xfb\\x22\\x22\\x06\\xbd\\x8e\\xa3\\x97\\x6f\\xa2\\x56\\x4b\\xe2\\x93\\xd7\\xd8\\xe5\\x5b\\xc2\\xa5\\x58\\xec\\x46\\xcc\\xc6\\x17\\x47\\xdb\\xac\\x3a\\xb8\\x59\\x58\\xbc\\xf5\\xda\\x8b\\x6c\\xd6\\xdb\\x62\\x25\\x8f\\x85\\xe5\\xaa\\xb3\\xf7\\x12\\xad\\x00\\xf2\\xa5\\x25\\x7a\\x83\\x8e\\xeb\\x1d\\xd1\\x59\\xe8\\x7b\\x7b\\x47\\xb4\\xd2\\x7f\\x7f\\x2f\\x4d\\x4b\\x9f\\xf6\\xc4\\x52\\x3a\\xfb\\xe0\\x2d\\xa5\\x21\\xbe\\x3a\\x67\\x72\\x02\\xa3\\xcb\\xe7\\xea\\xf9\\xd9\\x45\\xe1\\x3f\\x9e\\x50\\xfa\\xf3\\x24\\xa5\\xbe\\x21\\x5a\\x97\\xe2\\x13\\xdc\\x2d\\x74\\xa9\\x50\\xc2\\x68\\x73\\x5d\\x3d\\x3f\\xb7\\x34\\x3e\\x67\\x53\\x9e\\x93\\xe1\\x39\\x6d\\xe2\\x73\\x34\\xcf\\x1f\\xce\\x0a\\x4a\\x1f\\x2f\\x8d\\x23\\x5b\\xbd\\x5e\\xac\\x37\\x9b\\x9d\\x02\\xc1\\xd8\\xa8\\x21\\xbe\\x24\\xbb\\x7b\\x58\\xc4\\x6e\\x22\\x3c\\x19\\x1e\\xd1\\xf3\\x3c\\x16\\x45\\x1d\\x2d\\x0d\\xc1\\xe6\\x61\\x11\\xdc\\x74\\x5c\\x5d\\xa8\\xe9\\xac\\xea\\x50\\x62\\x7f\\x36\\x96\\x83\\x1f\\x2b\\x02\\x00\\xd7\\x32\\xa0\\x5e\\x3e\\x63\\x69\\xc2\\x53\\xf1\\x7a\\x80\\x88\\xfc\\x6d\\xbb\\x5b\\x4b\\x6e\\x9e\\xcb\\xad\\x5f\\xaf\\x94\\x05\\xc8\\x5a\\x50\\x23\\x9f\\x58\\x77\\xd8\\x1f\\x66\\xb6\\x2e\\x92\\x07\\x32\\x7a\\x7b\\xd1\\xd0\\x70\\x2b\\x80\\xd1\\xed\\xf6\\x62\\xbb\\xdd\\xab\\x35\\x1a\\x89\\x57\\xf0\\xfa\\x92\\x0c\\x98\\xc3\\xa0\\xd4\\x38\\xce\\xcb\\x7b\\x8d\\xd5\\x11\\xaf\\x64\\x95\\xaa\\x23\\x56\\x1f\\xaf\\xe9\\x1d\\xe1\\x2d\\x2d\\xb2\\x06\\x42\\x37\\xca\\x25\\x52\\xef\\x6f\\x62\\xd0\\xd2\\x64\\xbb\\x46\\x68\\x3b\\xe0\\xe0\\x9a\\x39\\x73\\xb8\\x00\\xad\\x24\\xe8\\x2b\\x7f\\x1b\\xba\\xb5\\x75\\xc7\\xf9\\xc3\\x58\\x1d\\x01\\x2d\\x29\\x90\\x37\\xab\\xc0\\x3e\\x34\\x87\\xdd\\xbd\\x0d\\x14\\xba\\x33\\x7b\\xe1\\x96\\x70\\x96\\xe8\\x91\\x2c\\x76\\x01\\xec\\x69\\xb7\\x01\\x39\\x1d\\x60\\x22\\x20\\x5b\\xb2\\xcf\\x45\\x2c\\x76\\x8f\\xc4\\x5b\\x9d\\x84\\x80\\xbb\\x4e\\xac\\x40\\x4c\\x96\\xa9\\xab\\x3a\\x16\\x4d\\x86\\xf3\\xd0\\xbb\\x2d\\x21\\x7e\\x65\\xcf\\x22\\x30\\x09\\x57\\x5d\\x2e\\xa1\\xfb\\x8e\\x85\\xed\\x6e\\x6d\\xdb\\xa1\\xac\\x73\\x5a\\x7f\\x79\\x6d\\xf3\\xab\\xb8\\x2f\\x7b\\x3c\\x31\\x6d\\x9d\\x75\\x87\\xd4\\xbe\\x2a\\xe5\\xd6\\x7b\\x39\\x6f\\x93\\x3b\\xb9\\xc1\\xd3\\xd9\\x7d\\xdc\\x40\\x22\\xb3\\x3e\\x67\\x5d\\xc3\\x59\\x76\\x8b\\xe4\\x11\\x9b\\xc3\\x0a\\x22\\x13\\x21\\x3e\\xc9\\x63\\xb7\\xf0\\x36\\x97\\xc3\\x62\\x53\\xfc\\x75\\x77\\xa5\\x92\\x58\\xfd\\x7f\\x81\\x4a\\x12\\x40\\x25\\xf2\\x43\\xb3\\x00\\xd4\\x36\\x95\\x6d\\x33\\x26\\x9e\\x6c\\x7e\\x39\\xd7\\x65\\xc0\\xa6\\x79\\x0f\\x03\\xa4\\x9d\\x4a\\x32\\x07\\x3f\\x85\\x8b\\x9a\\xdc\\xd2\\xb5\\x9e\\x8b\\xd4\\x19\\xe5\\x74\\xfe\\x26\\x9c\\x6c\\x7d\\xc2\\x39\\x58\\x2f\\x9a\\xcd\\x06\\xa3\\x91\\x0e\\x9b\\xd7\\x6a\\x39\\x62\\x23\\x0e\\xbb\\x55\\x10\\xc1\\x97\\x35\\x61\\xa2\\xd7\\x8a\\x22\\x31\\x68\\x09\\x22\\x6a\\x06\\x2b\\xed\\x7b\\xa7\\x76\\xbe\\x6b\\x04\\x3a\\xf6\\x3f\\x96\\x5e\\x17\\xa0\\x9d\\xcd\\xe9\\x64\\x45\\xd6\\xe4\\x02\\x18\\x00\\xf3\\x35\\x72\\x04\\xe8\\x89\\xff\\x29\\xef\\xc1\\x03\\xe5\\x1e\\x2a\\x4d\\xfb\\xe2\\x5e\\xf2\\x8b\\xf8\\x1d\\x76\\xbf\\xf9\\xd0\\x26\\xae\\x86\\x11\\x73\\xcf\\xa6\\xe8\\x24\\xc5\\x27\\x53\\x67\\x69\\x28\\x30\\xea\\xf1\\x8d\\x61\\xac\\x4e\\x80\\xd1\\x82\\x88\\xf4\\xff\\x0f\\x23\\x09\\xc8\\x5f\\x50\\x4a\\x56\\xcb\\x6f\\xe1\\x56\\xf2\\x49\\x95\\x9a\\xaf\\xe1\\x72\\xf9\\x0d\\xdc\\x8f\\xde\\x75\\xe2\\x0b\\xeb\\xf0\\xdf\\x28\\x19\\xe5\\x8e\\xeb\\xe4\\x24\\x25\\xb6\\x5e\\x03\\xba\\x77\\x0b\\xcb\\x49\\xb0\\xa3\\xd2\\x70\\x92\\x11\\x09\\xb4\\x9b\\x9d\\xd6\\xe1\\xe4\\x6d\\xd4\\x70\\xd5\\x89\\x3a\\x10\\x70\\x9d\\x5d\\x24\\xa8\\xea\\x46\\x86\\x01\\x6d\\x31\\xd1\\x11\\x87\\x58\\xe9\\x50\\x7a\\x46\\x05\\x2b\\xf6\\xf2\\xd7\\x4c\\xfd\\x7c\\x03\\xde\\x76\\x3c\\xfa\\xec\\xf7\\xf2\\xf5\\x97\\x71\\x37\\x3c\\x57\\x9e\\x27\\xbf\\x8c\\xf7\\x2c\\x3a\\x39\\x81\\xcb\\xfc\\x63\\xc1\\x3f\\xdf\\x92\\x7f\\xe4\\x0a\\x90\\x72\\x96\\x93\\x1f\\x99\\x4f\\x78\\x0b\\x83\\x65\\x70\\xc3\\x15\\x76\\xef\\x6a\\x40\\x59\\x34\\x9b\\x33\\x35\\x60\\xf4\\x7a\\x5d\\x1a\\x4d\\x00\\xd9\\x03\\xf6\\x9c\\xec\\x0c\\xdf\\xf0\\x48\\x86\\x23\\x2d\\x4d\\x92\\x40\\xf1\\x18\\x25\\xc9\\xe2\\x26\\x16\\xd0\\x45\\x96\\xc6\\x31\\x8f\\x95\\x8d\\xf7\\x16\\x8d\\xcd\\x76\\x95\\x56\\xf5\\x2c\\x84\\xdd\\x11\\x77\\xc0\\x81\\x74\\x91\\xc5\\xde\\x32\\x94\\xd1\\x7c\\x20\\xd4\\xb1\\xde\\x50\\x34\\x64\\x80\\x7d\\xbb\\x37\\xdf\\xfb\\x6c\\x7f\\x79\\xf9\\xae\\x5d\\x84\\xeb\\xf1\\xdd\\x53\\x67\\xe5\\x28\\x16\\xae\\xe0\\xb5\\xc7\\xaf\\xcd\\xbf\\xe7\\xf0\\xf9\\x63\\x0f\\x9c\\xc0\\x1b\\x97\\xae\\xea\\xbd\\x75\\xe2\\xc1\\x25\\xf2\\x53\\x23\\x06\\x9e\\x3d\\x7a\\xec\\xef\\x5c\\xbf\\xeb\\x15\\xf2\\x6b\\x8f\\x6e\\xc7\\x0f\\xc9\\x37\\xbf\\xfc\\xf5\\x24\\x86\\x07\\xe0\\x25\\xce\\x15\\xde\\x42\\x29\\x28\\x17\\xf5\\x0f\\x17\\xa4\\x70\\x1a\\xb7\\xdb\\xe9\\xc8\\x48\\x35\\x99\\x32\\x38\\x92\\x9f\\x27\\x21\\x8d\\xde\\x01\\xde\\xab\\xde\\x62\\xc9\\xa6\\x63\\x03\\xf4\\x81\\xea\\x88\\xde\\x25\\x24\\x55\\x47\\x84\\x96\\x39\\x4d\\x94\\x0d\\xaa\\x12\\x02\\x88\\x2a\\x3a\\x21\\x9a\\x9d\\xe2\\xcf\\x6e\\x3e\\x51\\x86\\x05\\xea\\xcb\\x32\\x95\\xff\\x28\\xf3\\x64\\x4e\\x1e\\x3e\\xfb\\xb2\\xfc\\xc7\\xb0\\xb6\\x6f\\xac\\x79\\xfb\\x04\\x5e\\x33\\x77\\x57\\x09\\xc7\\xd5\\xdd\\x33\\x7f\\xfe\\xe4\\x6b\\x3d\\x67\\x2d\\xdb\\xbc\\x72\\xe5\\xc6\\xe5\\xb3\\xb9\\x39\\x17\\x8f\\x5f\\x38\\x3d\\x76\\x04\\x76\\x62\\x0f\\x9d\\x12\\x33\\x1b\\x9f\\xb8\\x76\\x71\\xfb\\xf6\\x6d\\xdb\\xc7\\x7d\\xf3\\xea\\x07\\x5f\\x7e\\xfc\\xc6\\x9b\\x94\\x97\\x87\\xc3\\xde\\xa4\\x0b\\x8f\\x00\\x46\\xbd\\xc3\\x79\\x5e\\xa3\\x31\\x8d\\x64\\x64\\x67\\x13\\xad\\x83\\xcf\\xcb\\x4f\\xd6\\x6a\\xb4\\x9a\\xe1\\x91\\xcc\\x4c\\xad\\x16\\xb9\\xec\\x76\\x97\\x0b\\xec\\x5f\\x17\\x8f\\xd2\\x87\\x2b\\xf3\\x86\\x9b\\x14\\x1d\\x84\\x9a\\x94\\x1d\\xc4\\x3b\\xba\\x67\\xfd\\xf7\\x8a\\x0b\\x17\\xbd\\xf4\\x63\\x5d\\xb3\\x46\\x9e\\xfe\\xe2\\xd8\\xa7\\x2d\\xcb\\x2c\\x36\\xef\\x9e\\x7b\\x2f\\xd6\\x1e\\xfe\\xdd\\xf9\\xf5\\xbb\\xf3\\xa7\\x35\\x2b\\xad\\x70\\x6d\\x5d\\xb0\\xed\\x61\\x4c\\xdb\\xe0\\xde\\xfc\\xd7\\xf3\\x4c\\x2e\\xfb\\xc3\\xfe\\x60\\xb0\\x8b\\xb3\\x28\\x2e\\xc9\\x1c\\x27\\xe9\\x02\\x19\\x56\\x41\\x97\\xc1\\xe7\\x64\\x83\\xca\\xa3\\x22\\x99\\x9e\\x2e\\x8a\\xc8\\x6e\\xb1\\xd8\\xed\\x70\\x7e\\xd8\\xad\\x28\\x4d\\x6d\\x54\\xff\\x3f\\xe0\\xe2\\x27\\x45\\x38\\x78\\xe3\\x6a\\x09\\xd6\\x2a\\xcb\\x56\\x46\\xf7\\x8e\\xbf\\x5d\\x5e\\x5b\\x64\\x5e\\x7f\\xb4\\x59\\x95\\xc4\\x83\\x73\\x74\\xfa\\xc5\\x23\\xa3\\x87\\x2f\\x3b\\x71\\xf7\\xbb\\xfa\\x37\\xaf\\x8d\\xb0\\xdc\\x79\\xc7\\xdc\\x69\\xb8\\xc3\\xc9\\x8b\\x27\\xce\\x31\\x3c\\x86\\xcb\\x63\\x04\\x0d\\xec\\x49\\x90\\xe6\\x74\\x5a\\x6d\\x7a\\xb7\\x3b\\x98\\x1a\\xf0\\xfb\\x53\\x05\\x1b\\x9f\\x91\\x99\\x44\\x31\\x19\\x1e\\x11\\x45\\x67\\x20\\x18\\x4c\\x1d\\x16\\x09\\xda\\xad\\x56\\xf0\\x4e\\x87\\x45\\x9c\\x4d\\xba\\xa7\\xc4\\x2e\\xf0\\x51\\xcb\\x3e\\x47\\x2c\\xbc\\xff\\x27\\x7b\\x92\\xa2\\x16\\x01\\xfd\\xf5\\xb6\\x47\\x0f\\xb5\\xdc\\x8e\\xbd\\x1b\\x36\\xd7\\x6d\\xc4\\xd3\\xc7\\xcd\\x29\\x6b\\xb6\\x17\\x9e\\xdd\\xeb\\x7e\\x6c\\xcc\\xff\\xed\\x2f\\x8f\\x21\\x1f\\xb1\\xfb\\x2c\\x90\\x12\\x87\\xd3\\xe4\\xf5\\x0a\\x88\\x70\\x1c\\xd2\\x39\\x79\\x7f\\x20\\x59\\xaf\\x63\\xf3\\x62\\x40\\x32\\x1c\\x0e\\x97\\xcb\\x4a\\x47\\x39\\x11\\x41\\x40\\xbd\\x23\\x82\\x94\\x98\\x20\\xd5\\xb2\\x98\\xa5\\xb1\\xd9\\x9a\\x62\\x5b\\xb1\\xa6\\x23\\x2d\\xf7\\x83\\x97\\xc8\\xb0\\x99\\x4f\\x2c\\x79\\xe2\\x85\\x66\\x7b\\x80\\x1d\\x4b\\x58\\xc5\\x44\\xe6\\xb8\\x91\\xcd\\x37\\x20\\xe5\\x73\\x06\\xb7\\x1d\\x64\\xa1\\x13\\x8b\\x17\\x76\\x0e\\x07\\x05\\xc9\\x4d\\x52\\xfc\\x7e\\x22\\x19\\xf9\\x60\\x46\\x6a\\xaa\\x1e\\x4c\\xfc\\x61\\x11\\x89\\xe8\\x2d\\xec\\xd6\\x38\\x29\\x41\\x08\\x9a\\xc4\\xb4\\x1b\\x93\\x44\\x28\\xf7\\xdb\\x6e\\x70\\x59\\xa1\\x08\\x31\\xd3\\x4c\\xc2\\xba\\xd7\\xaf\\xdc\\xe0\\xd2\\x62\\xd6\\xe2\\xc5\\x33\\x0f\\x5f\\x71\\x7e\\x75\\x82\\xf4\\x6b\\x79\\x71\\x71\\xbd\\x7c\\xdb\\xd6\\xad\\xdb\\x28\\xd7\\x1f\\x3f\\xab\\xcc\\x82\\x13\\x4f\\xb0\\xda\\x40\\x0a\\xb3\\xd3\\x45\\x7c\\xa9\\xa9\\xc4\\x69\\xe4\\x03\\xe9\\xc9\\xc9\\x7a\\xa7\\x53\\xe8\\x1d\\x71\\x5a\\xf4\\x16\\xaa\\x88\\x90\\x27\\x81\\xd9\\xff\\x2b\\xcc\\x2d\\x6e\\x31\\xa8\\x2e\\xed\\xc0\\x74\\x93\\xe0\\x7a\\xf9\\x87\\x96\\xb7\\x19\\xbf\\xcd\\x9f\\x0d\\xf0\\x7e\\xf7\\x12\\x97\\xd5\\xfc\\x3e\\x23\\x3a\\x47\\x7e\\x65\\xdb\\xf6\\x93\\x17\\x8f\\x7d\\x4b\\xed\\x74\\xa0\\xef\\x2b\\x40\\x5f\\x2f\\xcd\\x97\\xd7\\x8b\\xa2\\xc6\\x6c\\x20\\x4e\\xb7\\x9b\\x8e\\x3e\\xf0\\x49\\x92\\x5e\\x2f\\xb0\\xd6\\xd3\\x46\\x2d\\xd1\\xd8\\x91\\xad\\x91\\xc0\\xf1\\xdb\\xab\\x04\\x60\\x9b\\xc0\\xdb\\x78\\x5d\\xd0\\x48\\x5a\\xd1\\xf9\\xfa\\x15\\x35\\x5e\\x3f\\x35\\x46\\x4e\\x8c\\x62\\x21\\xfb\\x26\\x44\\x54\\xe2\\xac\\x40\\xc7\\x45\\x2c\\xce\\x0a\\x74\\xc4\\x2e\\x97\\x5b\\xe0\\x1c\\x7a\\x93\\xc9\\xe1\\x26\\xde\\x24\\x2c\\xf5\\x8e\\x60\\x03\\x36\\xb8\\x89\\xc7\\xe2\\x96\\xac\\x1a\\x30\\x3a\\x5d\\x8d\\xa0\\x55\\x16\\x37\\x4d\\x51\\x69\\x8c\\xdd\\x37\\x92\\x0d\\x8e\\xa0\\x0e\\x38\\x1e\\xc4\\xff\\x7d\\xfe\\xac\\xc3\\x97\\x8f\\xbf\\x76\\x31\\x1e\\xc7\\x8f\\x51\\xe9\\xe5\\xf3\\xdf\\xfc\\x6d\\x08\\x0b\\xe6\\xb3\\x98\\xce\\x5d\\xe0\\xa7\\xed\\xa0\\x71\\x3f\\x94\\x17\\x8b\\xf3\\x91\\x1f\\x69\\xec\\x91\\xcb\\x50\\x6c\\x25\\xf8\\xfd\\x34\\x56\\x23\\x51\\x19\\x4e\\xd1\\x13\\xab\\xc3\\xa1\\x25\\x22\\xef\\x72\\xdb\\x6c\\x48\\xd4\\x31\\x33\\x09\\x8e\\x77\\x53\\x53\\x75\\xcd\\x62\\x54\\x09\\xae\\x8a\\x42\\x41\\x96\\x1b\\x98\\x40\\x3d\\xf2\\x1a\\x30\\x66\\x32\\x7f\\xbf\\x9c\\x3c\\x2d\\xce\\x8b\\x35\\x5b\\xb7\\x5e\\xff\\x7b\\x13\\xde\\xa3\\xb9\\xbe\\x6f\\xab\\x31\\xfe\\x54\\xde\\xc1\\xe9\\x29\\xc1\\x68\\x71\\x86\\xc1\\x60\\x45\\x0a\\x99\\xc0\\xee\\x91\\x12\\x67\\xc4\\xdd\\x88\\xe9\\x1c\\xf1\\xc5\\xe3\\xc4\\x2a\\x53\\xc7\\xc6\\x4d\\x9f\\xcf\\x48\\x75\\xec\\x12\\x1b\\x1f\\x17\\x8d\\x6e\\xdf\\xa6\\x90\\xe9\\xc2\\x71\\x2e\\x4b\\xd9\\xb7\\x3e\\x00\\xc3\\x02\\xd0\\x95\\x59\\x68\\x50\\xb8\\x50\\x4c\\xd2\\x5a\\xcc\\xe6\\x60\\x86\\xa4\\xd5\\xa6\\x92\\x0c\\x92\\x93\\x2d\\x7a\\x7c\\x1e\\x30\\x2f\\x3c\\x1e\\x64\\x30\\xd8\\x87\\x45\\x2c\\x16\\x03\\x1f\\x0c\\x22\\x14\\x48\\x18\\x99\\x5f\\x5c\\xd5\\xb4\\x9a\\xb0\\xb9\\xbd\\xab\\xcc\\xcd\\xcc\\xa0\\x2d\\x31\\x98\\x6d\\x11\\xeb\\xc2\\xa3\\x0c\\xc5\\x91\\xd4\\xe4\\x52\\x96\\x76\\xcb\\x0d\\xfe\\x51\\xbe\\xb0\\xfb\\x51\\xf9\\x3b\\xac\\x79\\xff\\x55\\x8c\\x6f\\x39\\x54\\xba\\x6b\\xee\\xf2\\x2d\\xcf\\x1c\\xbe\\xe5\\x96\\x53\\x2f\\x1f\\xde\\x82\\xc9\\xf4\\x27\\x23\\xf2\\x35\\xe7\\x8f\\x7f\\x5b\\xf4\\xb4\\xbb\\xf3\\x6f\\x7b\\xcf\\xec\\x3a\\xd8\\x61\\xe9\\x14\\x50\\xa3\\x33\\x1f\\x9e\\xb1\\x74\\xc1\\x5a\\x6c\\xed\\xf9\\xd7\\x1d\\x0a\\x4e\\xb7\\xc2\\x3e\\xcf\\x00\\xfd\\x99\\x09\\x7e\\x50\\xb1\\x46\\x4c\\x12\\xf5\\x56\\x8b\\x25\\x3d\\xe8\\xd2\\xeb\\x53\\x48\\x90\\x64\\x67\\x89\\xde\\x24\\x2f\\x58\\x15\\x5e\\x2f\\x02\\x7a\\x03\\x95\\xad\\x26\\x6b\\x7a\\x3a\\x42\\xfe\\xc4\\xa9\\x2b\\xff\\x27\\x56\\xf1\\x03\\xba\\xbc\\xa2\\x4c\\x49\\x97\\x8e\\xb5\\x69\\xa7\\xf8\\xc4\\x5a\\x37\\xd1\\x94\\x59\\xfc\\xc5\\xf1\\x0f\\x37\\xdc\\x3b\\x7e\\xf5\\x7b\\x4f\\xe2\\xee\\x45\\x3b\\x8d\\x93\\x07\\xd5\\xde\\xb9\\xe1\\x89\\xdd\\xbb\\x27\\x8d\\x7a\\xb3\\x6c\\x7b\\xe1\\x49\\xe7\\xd3\\x1b\\xee\\x5e\\x6f\\xe2\\x74\\x4b\\xef\\x5c\\xf4\\xb8\\x2c\\x3b\\xbb\\x82\\x62\\x1d\\xd8\\x7f\\xc5\\xe8\\x3b\\xfa\\x8d\\xde\\x55\\xb0\\x68\\x9e\\xa2\\x57\\xc1\\xff\\xdc\\x0c\\x7c\\x9a\\x82\\xda\\x85\\x03\\xc8\\x9a\\x6c\\xb7\\xbb\\xad\\x1a\\x3e\\x35\\xcd\\x8a\\x86\\x45\\xac\\x44\\x4a\\x02\\xbd\\x2a\\x08\\xfa\\x61\\x11\\x01\\xfc\\x24\\x81\\xee\\x0b\\x3d\\x05\\x5e\\x6d\\x7a\\xc5\\x0a\\x32\\x75\\x03\\x55\\x1a\\x4f\\x72\\xb6\\x71\\x1d\\x5a\\xa8\\xd1\\xcd\\x6b\\xdb\\x85\\x0b\\x6e\\x9a\\x7b\\xa3\\xdb\\xdf\\xdf\\xe5\\x87\\x36\\x9a\\x77\\x58\\x1f\\x16\\x6a\\x94\\xfb\\xdf\\x81\\x6c\\x9e\\x66\\x32\\x2a\\x0b\\xa7\\x18\\x7d\\x7a\\x30\\x9d\\x7d\\x0e\\x3e\\x25\\xd5\\x67\\xec\\x1d\\xf1\\x59\\x6c\\x2e\\x3a\\x67\\x90\\x55\\xd8\\xfb\\x9a\\x68\\xcf\\x46\\x19\\x8a\\x39\\x90\\xe5\\x37\\x50\\x9e\\x7c\\x8a\\xfc\\x6d\\x87\\x70\\x41\\x97\\x8a\\xb6\\x2d\\xf5\\xe6\\x22\\xf9\\x13\\xf3\\x56\\x6b\\xe7\\xde\\x7c\\x49\\x73\\xbd\\xc9\\xe4\\xfd\\x0e\\x79\\x1e\\x8d\\x4d\\x82\\x1d\\x5d\\xca\\x7e\\x1e\\x00\\x7e\\xdc\\x4f\\xec\\xee\\x41\\x89\\xf9\\xea\\x10\\xd2\\xdc\\xcf\\xee\\x26\\xda\\xb2\\xb9\\x34\\x51\\xf0\\x9d\\xde\\x62\\x33\\xfe\\x06\\xb1\\xfa\\xfe\\x2e\\xf2\\x02\\x74\\xac\\xe1\\x34\\x72\\xa2\\x40\\xd8\\x61\\x13\\xcc\\x66\\xfd\\x97\\x18\\x23\\x1c\\xc6\\xd5\\x78\\x38\\xe6\\xb1\\x15\\x15\\xbf\\x55\\x5b\\x5b\\x42\\xb3\\x62\\x99\\x4b\\xcc\\x0e\\x52\\xb5\\xbb\\x31\\x18\\x33\\x60\\xa0\\x1d\\x1b\\x9d\\xd5\\x2a\\x94\\x3d\\xb2\\x73\\xd7\\xd1\\xdd\\x3a\\xcb\\x0b\\x8a\\xcb\\x8b\\x8a\\xca\\x8b\\x5b\\xd7\\x0c\\x32\\x0c\\x1d\\x6a\\x18\\xcc\\xe6\\xc0\\x10\\x94\\x2f\\xf4\\xc2\\xfb\\xc5\\xbf\\xb2\\x9e\\x8c\\x41\\x94\\x13\\x76\\x49\\x3a\\x9d\\xc5\\x42\\xf0\\xb3\\xe4\\x47\\xd2\\x40\\x08\\x09\\xeb\\x4c\\xdd\\x88\\x2f\\x50\\x8f\\x3b\\x82\\x03\\xf4\\x56\\x7e\\xed\\x3d\\x4a\\xf1\\xbe\\x43\\x49\\xcf\\x67\\xc2\\x5e\\x91\\xf0\\xbd\\x26\\xe1\\xfb\\xfc\\x22\\x7f\\x7a\\x51\\x51\\xba\\xbf\\xe8\\x7c\\xec\\x9b\\x29\\xf0\\x4d\\x61\\x21\\x7c\\x23\\x4e\\xf2\\x17\\x16\\x2a\\x1f\\x2a\\xff\\x7d\\x96\\x7d\\xdf\\xaa\\x15\\xc3\\x7b\\x82\\xd0\\x0b\\xad\\x17\\xaf\\x03\\x4c\\x86\\x83\\x48\\x64\\x4b\\xbf\\x05\\x4b\\x6a\\xdc\\xf0\\x15\\xac\\xc8\\x86\\xaf\\xf5\\x8f\\xc2\\x3f\\x07\\x66\\xd0\\x7f\\x3f\\x2a\\x5e\\x1f\\x10\\xff\\x47\\xf1\\x9d\\x86\\x02\\x4e\\x48\\xc5\\x29\\x3d\\xec\\xd0\\x35\\x47\\xc7\\x22\\x25\\xa0\\xd3\\x14\\x97\\x44\\xf8\\x87\\x03\\xb4\\xad\\x8a\\x83\\xfe\\x22\\xae\\x95\\xdf\\xdf\\xaa\\x38\\x90\\x5e\\x24\\x4e\\x50\\xc0\\xa7\\xe0\\xd2\\xcf\\x8a\\x14\\x1a\\x0e\\x87\\xf5\\x5e\\x57\\xd7\\xf3\\x51\\x1a\\x7a\\x89\\xe7\\xbf\\x2f\\xfa\\xaa\\xf5\\x55\\x6a\\xc8\\x35\\xae\\x25\\x25\\xc2\\x00\\x5c\\x89\\xb3\\x19\\x39\\x28\\x69\\xfc\\x81\\x62\\x4a\\xbb\\xd7\\x27\\x35\\xae\\xae\\x40\\x53\\x54\\x84\\x27\\xca\\xeb\\x80\\x5e\\xbd\\x80\\x4f\\x36\\x34\\xec\\x47\\x1a\\x64\\x7d\\x9e\\x20\\xde\\xca\\x73\\x3c\\xa2\\xbc\\x01\\xb8\\x69\\x98\\x2e\\xc8\\x2a\\xeb\\x32\\x6d\\xf4\\xd6\\x7d\\x7d\\x86\\x8c\\x1d\\xb7\\x63\\xad\\xd2\\x3b\\x62\\x0c\\x88\\xce\\x26\\x71\\x0f\\x40\\x6f\\x38\\x48\\x30\\x03\\xed\\x6d\\x4a\\xe3\\xec\\x8a\\x4d\\xf0\\x8f\\x88\\xf6\\xec\\xd9\\x43\\xff\\x4e\\xfe\\x50\\xa8\\xc6\\xf9\\xe2\\x12\\x14\\x40\\xfe\\xb0\\xc9\\x96\\x8c\\x0c\\xc9\\xf0\\x65\\x71\\x63\\xb7\\xba\\x2f\\xb5\\x4a\\x59\\x24\\x6b\\x23\\x41\\x75\\x8e\\x5b\\x93\\xa5\\x94\\x6e\\xb8\\xd5\\x5c\\x94\\xec\\x0a\\x15\\xad\\xec\\x22\\xbc\\x35\\x39\\xb3\\x32\\x69\\x42\\x9f\\x4e\\xc5\\xbd\\xcb\\x72\\x2a\\xfc\\xec\\x87\\xde\\x1d\\x4b\\xfa\\x96\\x16\\xb4\\x16\\x2b\\xb3\\x32\\xc3\\xae\\x6e\\x59\\xb3\\x3a\\xf5\\x29\\xbb\\xad\\xb2\\x98\\xfd\\x90\\x3b\\xbd\\x53\\x9f\\xf2\\x5b\\x3b\\xe6\\x31\\x38\\xea\\x81\\x27\\x90\\xb8\\x00\\x70\\x74\\x3c\\x4f\\x2c\\x7c\\x1a\\xc5\\x51\\x85\\x00\\xd0\\x24\\xcc\\x96\\x74\\x49\\x93\\xee\\x19\\xb3\\x65\\xbf\\xd0\\x6b\\xc8\\x98\\x09\\xdb\\x95\\x3e\\x59\\x08\\xc9\\x0b\\xf0\\x4d\\x0d\\xdf\\x22\\x01\\x69\\x0f\\x62\\x1e\\xa8\\x42\\x33\\x50\\xb3\\x2b\\x42\\x1a\\x7c\\xd3\\x83\\x87\\x0e\\x3d\\xf8\\x9c\\xbc\\xa0\\xae\\xae\\x0e\\x71\\x0d\\xb9\\x8c\\x86\\x57\\xe9\\xfb\\x91\\x14\\xd6\\x69\\x34\\x7c\\x98\\x60\\x62\\xa3\\x3d\\xbe\\x68\\xa3\\xa0\\xe2\\xd6\\xad\\xdc\\x80\\x05\\xb5\\x57\\x85\\x84\\xad\\xda\\xb0\\x77\\xdb\\xa8\\x19\\x0d\\x28\\xb6\\x47\\x7d\\x56\\xef\\x1c\\x37\\x76\\x88\\x51\\xdd\\x1e\\x65\\x7d\\xe0\\x8d\\x6e\\x2a\\xdc\\xbc\\x32\\x2a\\x53\\x81\\xfb\\x6d\\x0a\\x37\\x1d\\xd2\\x46\\x55\\xf5\\xfe\\x2d\\xa3\\xa7\\x0a\\xbd\\x1e\\xda\\x31\\x61\\xd4\\x30\\xda\\xd5\\x43\\x79\\xc6\\x2a\\xf2\\x1f\\x50\\x7e\\xa6\\xb8\\xab\\xef\\xb0\\xa0\\xe4\\xb0\\xd1\\x68\\x30\\xa8\\x6f\\xd2\\x2a\\xaf\\x2a\\x81\\x77\\x31\\xa9\\x8c\\xbd\\x2e\\x90\\xf0\\x5a\\xf9\\xd6\\x7d\\x5b\\xe3\\x2f\\x5f\\xbb\\x13\\xfe\\x05\\xef\\xe4\\xa3\\xbf\\x0a\\xed\\x38\\xbd\\x26\\x17\\xd1\\x1c\\x7e\\x5a\\xf3\\x14\\x08\\x5b\\xbd\\x84\\x14\\x17\\xe7\\xe2\\x5c\\x47\\x59\\x99\\xae\\x3a\\x88\\x83\\xa8\\xb8\\x96\\x9e\\x35\\xaf\\xd6\\xb6\\x10\\xf9\\x6c\\x60\\x93\\xac\\x8a\\x44\\x6f\\xd6\\xa9\\x76\\x68\\x51\\x37\\x5f\\x93\\xd0\\x9a\\x74\\xd0\\xfc\\xc8\\xe0\\xf9\\xf7\\xd6\\xb6\\x2b\\xac\\xe9\\x53\\x93\\x32\\xbb\\x22\\x3b\\xa7\\x6d\\xfb\\xac\\x8c\\xb6\\xf2\\xfb\\x29\\xf0\\x73\\x61\\xbb\\x21\\xf3\\xe6\\x0f\\x8e\\xcc\\x9f\\xdd\\x36\\x23\\xab\\x7d\\xdb\\x9c\\xac\\x36\\x62\\x9f\\xc8\\xfc\\x79\\x83\\x22\\xf3\\x3d\\x35\\xfd\\x6a\\x8a\\xdb\\xe7\\xb4\\xa9\\xcc\\xce\\xae\\x6c\\x93\\xd3\\xbe\\x18\\x7e\\xf4\\xd0\\xcf\\xe7\\x47\\x72\\xda\\xb4\\xcd\\x82\\xcf\\xa8\\x9c\\x23\\xa1\\x1d\\xbe\\xa2\\xe2\\x20\\x85\\xf5\\x5e\\x3a\\xe5\\xc3\\x51\\xad\\xc3\\x3a\\x0a\\xf9\\xab\\xb5\\x25\\xff\\x1d\\xe6\\x0e\\xf3\\x23\\x35\\x0b\\xe7\\x0f\\xaa\\x6c\\x3d\\xa0\\x5f\\x8d\\x6f\\x66\\x9b\\x9c\\xdc\\x36\\x6d\\xb3\\xb3\\xda\\x52\\x00\\xee\\x1d\\x3c\\x68\\x1e\\x05\\xa0\\xa8\\x43\\x4e\\x9b\\x36\\x39\\xf0\\x7f\\x90\\x97\\x21\\xc0\\x7f\\x7b\\xc4\\x2d\\xf4\\xc6\\x06\\xc4\\x99\\xe7\\x75\\x16\\xd8\\x5c\\x6d\\x8c\\x03\\x2b\\x69\\x03\\x2e\\x87\\xb2\\x0e\\x0d\\x49\\x4a\\x8a\\x35\\xb4\\x67\\xe0\\xc0\\x74\\xf7\\xa8\\x51\\xfa\\x40\\xab\\x2c\\x71\\x4b\\x49\\xcd\\x68\\xfd\\x68\\xdc\\x63\\xa5\\xb1\\xb0\\xa2\\x04\\xb5\\xd4\\xef\\x16\\x22\\x8a\\x5f\\x0a\\x18\\x09\\x61\\xa1\\x5a\\x18\\x2e\\xf0\\x82\\x43\\xe1\\xbd\\x5a\\x45\\xbf\\xbb\\xa9\\x6b\\x14\\x2c\\xa3\\xfd\\xe0\\x42\\x52\\xcc\\xd8\\x3a\\x76\\x73\\xd7\\xd1\\x9d\\xbb\\x8e\\xcc\\x0e\\xb5\\xca\\x1a\\x3d\\x7a\\xd0\\x20\\xc3\\x90\\x21\\xfa\\x41\\x83\\x5b\\xb7\\x2e\\x6b\\xd5\\xaa\\xac\\x35\\xbc\\xbf\\x9b\\xbc\\x0b\\xad\\x6d\\xf8\\x02\\x78\\xdf\\x7c\\x98\\x20\\x0e\\x73\\x31\\xad\\xe0\\x06\\x8b\\x31\\x54\\xb6\\x56\\x7e\\xe1\\xb3\\xa0\\xfc\\xfa\\xb8\\x77\\x29\\x2c\\x43\\x01\\x96\\x9d\\x4d\\xe5\\xc4\\xc1\\xe4\\x64\\xe7\\x83\\x75\\x75\\x0f\\xd6\\x29\\x62\\x02\\x7f\\x37\\x0e\\xfe\\xee\\x90\\xaa\\x6b\\x78\\x44\\xac\\x94\\x9f\\x51\\x31\\x63\\xe6\\x98\\x80\\x1c\\x7a\\xfa\\xb1\\xd1\\xd3\\xfa\\xac\\xdd\\x31\\x6e\\xdc\\x60\\xa4\\xf0\\x2f\\xc8\\x60\\x37\\xf6\\x8c\\x05\\x79\\x15\\xfe\\x55\\x9e\\xb4\\xc0\\xa3\\x71\\xe6\\x95\\xd4\\xc7\\x03\\xea\\x7f\\x9f\\x7e\\xec\\xae\\x29\\xf8\\xf9\\xbd\\xdb\\xee\\x9a\\x42\\xdf\\x35\\x7e\\x10\\xc8\\xd6\\x78\\xe5\\x5c\\x1c\\x01\\x30\\x6c\\x6d\\xf8\\x0d\\xde\\x67\\xac\\x0b\\x63\\x8c\\x05\\x8a\\x16\\xc0\\x2b\\x94\\x55\\x64\\x67\\x4a\\x9a\\xad\\xf2\\x37\\xab\\xf7\\xe2\\xb4\\xb5\\xf2\\xa1\\x50\\xb5\\xeb\\xab\\x50\\x0f\\x2f\\x3d\\x5b\\xe9\\xfe\\xed\\x02\\x99\\xd2\\xf0\\xef\\xa1\\x5d\\x48\\x81\\xcb\\x29\\xb4\\x83\\x13\\x38\\xce\\x3f\\x8e\\x62\\x13\\x36\\x79\\xab\\x35\\x58\\x13\\xe7\\x1f\\xf2\\x5f\\xf8\\xba\\x83\\xaf\\xa6\\xdf\\x80\\x92\\x36\\x91\\x05\\x0b\\x6b\\x06\\x2e\\x9c\\x09\\x4c\\xd9\\xb6\\x4d\\x6e\\x0e\\x30\\x70\\x87\\x22\\xca\\xac\\x94\\x87\\x28\\xb3\\x56\\x66\\x03\\xff\\xc0\\xfa\\xea\\x5e\\x83\\x4c\\xff\\x83\\xe1\\x00\\x67\\x14\\xda\\x29\\x1e\\x01\\x7a\\x1b\\x0e\\xf2\\x38\\x7e\\xc6\\x25\\x90\\x5c\\xe8\\xc5\\x48\\x4e\\xf7\\x11\\xfe\\x76\\xad\\xb8\\x0c\\xfe\\xd6\\x76\\x98\\xb2\\x1d\\xe1\\xd4\\xa3\\x84\\x22\\x1d\\xdf\\x4a\\x71\\x19\\xdb\\x4b\\xaa\\x3f\\x14\\x7a\\x03\\xae\\xef\\xa0\\x43\\x88\\xf9\\x22\\xd1\\xbd\\x42\\x35\\xe8\\xcf\\x25\\xf0\\xd9\\x19\\xf9\\x43\\x05\\xff\\x86\\x5c\\x61\\x2e\\xfa\\x18\\xf0\\xa7\\xe7\\x96\\xf5\\x88\\x44\\xc5\\xc7\\xa2\\x53\\x14\\x1e\\x55\\xa9\\x09\\x27\\x7c\\x82\\xd8\\x7c\\x3c\\x3f\\x42\\x25\\x64\\xf0\\xbd\\x33\\xa9\\x68\\xb4\\xcd\\x52\\x44\\x86\\x7e\\x48\\xd1\\x55\\xc4\\x05\\xde\\x7d\\x00\\xf0\\xad\\x6e\\xf8\\x81\\xbd\\xdb\\x1d\\x36\\x5a\\x90\\x84\\xc3\\xd2\\x0e\\x89\\x93\\x74\\x84\\xad\\x40\\x0f\\x5e\\xcd\\x9f\\x1c\\x80\\xd5\\x54\\x7d\\xd2\\xf3\\x35\\x76\\xee\\x8e\\x08\\x14\\xc3\\xb7\\x09\\xc7\\xae\\x20\\xbf\\x0f\\x38\\x16\\xaa\\xef\\x07\\x4d\\x85\\xda\\xa1\\xec\\xb0\\x33\\xe4\\xf3\\x55\\xa2\\x00\\x0e\\x07\\x76\\x04\\xb8\\x40\\x21\\x58\\x32\\xd9\\x16\\xba\\x1a\\x8b\\xce\\xbe\\x15\\x33\\x5d\\x84\\xff\\xc1\\x74\\xc9\\xfc\\x93\\xcf\\xe5\\xf7\\x5b\\xda\\x34\\x85\\xfe\\x60\\x61\\x61\\xd0\\x5f\\x88\\x6f\\x8d\\x7d\\x14\\xb7\\x17\\x86\\x03\\xcc\\xea\\x67\\x45\\x89\\x56\\xce\\x8f\\xea\\x67\\x71\\x7c\\x88\\x7c\\x15\\xf0\\xb1\\x02\\x3e\\x84\\x71\\x63\\x4a\\x18\\xf6\\x19\\x3b\\x90\\x17\\x87\\xbd\\x3b\\xbc\\x9c\\xd7\\xa4\\x51\\x89\\xc6\\x14\\x8d\\x00\\xee\\x5e\\xc5\\x9f\\xd0\\x4e\\xbe\\x8a\\x6f\\x69\\x03\\xe0\\x14\\x17\\x53\\xb0\\x54\\xd0\\x76\\x4e\\x98\\x10\\x8e\\x2d\\xa9\\x5a\\x15\\x28\\x61\\x4d\\x7a\\xe6\\xa5\\x81\\x0e\\xb2\\xb1\\x32\\x73\\x37\\x4a\\xc1\\xe1\\x94\\x1d\\x29\\x5c\\x8a\\x7a\\xfa\\xb1\\x55\\xd9\\x01\\x5f\\x16\\x84\\x95\\x83\\x7f\\xba\\xf6\\x8e\\x89\\xf8\\x96\\x71\\x3b\\x9b\\x2f\\x2e\\x5f\\x99\\x32\\x61\\xc2\\x94\\x43\\x2d\\xd6\\xc7\\xc0\\x23\\xbb\\x80\\x47\\x6e\\x82\\x3d\\xd4\\x1e\\x64\\x6c\\xd1\\x94\\xeb\\xe2\\x6c\\x20\\x5f\\x55\\xf7\\x1f\\xf8\\xaa\\x03\\x3c\\xf3\\x4a\\x43\\x17\\xb6\\xef\\xe6\\x3a\\x6a\\xac\\xb2\\x1d\\xb6\\x35\\x7b\\x36\\x11\\xc4\\x57\\x62\\xdb\\xf1\\x5d\\xec\\x9c\\x96\\xff\\xa5\\x12\\x3e\\xbd\\xf1\\xa8\\x46\\x04\\xde\\xbd\\x00\\xde\\x1d\\xe3\\x29\\xd8\\x03\\x5f\\x9c\\x99\\x12\\x16\\x6a\\xc9\\xbb\\x7f\\xc6\\x45\\xaf\\x14\\xa5\\x2b\\xeb\\x7c\\x47\\x77\\x9f\\x62\\x30\\x3d\\xce\\xd1\\xca\\x2f\\xd8\\xe2\\xf4\\x8f\\x9e\\xa5\\x1c\\x12\\xb3\\x7f\\x87\\x34\\x78\\xd1\\xae\\x86\\x25\\xc0\\x0b\\xc6\\x3a\\xa2\\x01\\x05\\x47\\xf5\\x11\\x2c\\x09\\x7e\\xf6\\x2e\\xdc\\x4d\\xae\\x9f\\x37\\x4e\\x39\\x3f\\x86\\x00\\x2d\\xe8\\xdf\\x69\\x90\\x78\\x80\\x43\\xc5\\x8d\\x1b\\x54\\x36\\x09\\x77\\x1b\\x2f\\xef\\x9a\\x3e\\x6e\\xdc\\x74\\x46\\x67\\xe1\\x2f\\xa8\\x5a\\xec\\xca\\xec\\x69\\xa2\\xab\\xc7\\x55\\xa0\\x3b\\x9a\\x91\\x3a\\x06\\x8c\\xf0\\xab\\x22\\x75\\xad\\xa8\\xce\\x54\\x9f\\x03\\x9d\\xf5\\x33\\xa3\\x8f\\x1d\\xe8\\xf3\\x53\\xc3\\x4f\\x2a\\x7d\\x7c\\x61\\x93\\x64\\xb1\\xf8\\x7c\\x0a\\x81\\x54\\xb1\\x2e\\xb1\\x33\\x0e\\x4d\\xa4\\x82\\xfb\\x4f\\xbe\\xff\\x21\\x26\\x1a\\xdb\\x62\\x8b\\xef\\x88\\xcb\\x8d\\xca\\x2c\\xb7\\xaa\\xc0\\x74\\x8b\\xc9\\x09\\xe0\\xc2\\xdd\\x83\\xaa\\x89\\x99\\xf1\\x0c\\xd1\\xb5\\xe4\\x99\\x98\\xda\\xe0\\x8e\\x29\\xdc\\x57\\x08\\xcf\\xbc\\x09\\x74\\xaa\\x60\\xf4\\xd4\\x1e\\x04\\xb3\\x81\\x3d\\x03\\x0e\\x52\\xc5\\x44\\x79\\xd7\\x97\\x5f\\x82\\x3e\\x5d\\xca\\xcf\\xe6\\x4e\\x08\\x3d\\xe0\\xf7\\xb6\\xc3\\x70\\x98\\xc0\\xe1\\x44\\x3b\\xbb\\xe2\\x78\\x70\\x63\\x29\\xd7\\x3e\\xfa\\xaa\\xd0\\xe3\\x7d\\x46\\x73\\xe1\\x04\\x9c\\x23\\xf9\\x6c\\x6f\\x90\\x96\\x8e\\x56\\x63\\x7b\\x43\\x62\\x7b\\x23\\xe6\\xd3\\xcd\\xc1\\xf8\\x5f\\xf2\\x70\\x6e\\xb5\\xe6\\x63\\x2a\\xcf\\x75\\x44\\xe0\\xe9\\xd1\\xcb\\x52\\x66\\x95\\x72\\x51\\xfc\\xaf\\xcd\\xf2\\x70\\xdd\\xcc\\x5f\\x57\\xa0\\x16\\x74\\x6e\\x41\\x77\\x0e\\xd1\\x02\\xe5\\x05\\x7c\\x25\\xbc\\x4b\\x83\\x5a\\x87\\xf5\\x88\\xe7\\x89\\x46\\xa3\\xd3\\x62\\xb0\\xfe\\x3a\\xd7\\x45\\x30\\xcf\\x0b\\x47\\x71\\x67\\x14\\x41\\x3c\\x6e\\xab\\x46\\x60\\xf3\\x13\\x4a\\x32\\x69\\xab\\x42\\x8a\\xee\\x8b\\xaf\\xbd\\xf6\\x1a\\x19\\xf7\\xee\\xbb\\xd7\\x37\\xbc\\xfb\\xae\\xc2\\x3f\\x07\\x44\\x37\\xac\\x73\\xe4\\xff\\xa4\\xa5\\x38\\x9a\\x09\\x2d\\xa3\\xe5\\x01\\x79\\x1c\\xc8\\xac\\xf6\\xff\\x96\\xd9\\xfa\\x98\\xcc\\x62\\xb4\\x05\\x90\\x38\\xcd\\x9f\\x06\\xcd\\x56\\x1e\\x36\\x88\\x66\\x8b\\xd9\\x66\\xb4\\x58\\xac\\xbc\\xa6\\x93\\x1e\\x87\\x19\\xd8\\x95\\xf0\\x2b\\x23\\xfb\\xde\\xa2\\xa2\\x50\\xa5\\xb4\\x2a\\xb1\\xd1\\x78\\x97\\x72\\x97\\xc5\\x62\\x35\\x66\\x2c\\xd1\\x7b\\xdf\\x2d\\x9d\\x1f\\xde\\xbe\\x68\\xd9\\xad\\xbd\\x02\\x78\\x76\\xf4\\x5d\\xee\\xa7\\xfa\\x53\\x91\\xbd\\x6d\\x97\\xec\\x89\\xfe\\xb0\\x57\\xb1\\xf9\\xcb\\x40\\xaf\\x9d\\x6f\\xd8\\x06\\xfe\\xb5\\x78\\x40\\x43\\xe5\\x42\\x08\\xba\\xc1\\x76\\xaa\\x00\\xe1\\xc0\\xe7\\xeb\\x1c\\x13\\xac\\x87\\xf0\\x81\\xb7\\x77\\x38\\x9d\\x3b\\xc6\\x2b\\x7f\\x7f\\x13\\x18\\xc4\\x57\\x00\\x3e\\x2f\\xea\\x1e\\x4e\\x31\\x7b\\x4d\\xc8\\xc0\\x19\\x31\\xcd\\x3a\\x36\\x82\\x0a\\x76\\x1a\\x7d\\xce\\x24\\x03\\x67\\xa6\\x5a\\xd8\\x79\\x14\\xc0\\x13\\xe0\\x91\\x4a\\x3a\\xe4\\x34\\xa4\\x5e\\xb6\\x29\\x80\\xd2\\xa9\\x2f\\x0a\\xbc\\x95\\xb1\\x9e\\x2a\\xb8\\xdc\\x01\\xa7\\xb9\\x99\\x63\\xbd\\x40\\x38\\x0d\\x09\\x3a\\x3a\\x72\\x15\\xf3\\xbe\\xc1\\xaf\\x6c\\x48\\x76\\x1f\\x73\\xeb\\xdb\\xdf\\x79\\x17\\x1e\\x7b\\x29\\xfa\\x53\\x7e\\x59\\xa6\\xb7\\xfa\\x6f\\xfd\\x32\\xda\\x0f\\xee\\xc9\\x9f\\x8e\\xae\\x7f\\x00\\x73\\x5f\\x7e\\x36\\x7e\\xdf\\x86\\xd1\\x72\\x90\\x7b\\x5b\\xaa\\x1a\\xbd\\x50\\x9e\\x80\\xd7\\x3e\\xbd\\xa6\\x46\\xa9\\x19\\xed\\x03\\xb0\\x2e\\x62\\xb4\\xac\\x0c\\x1b\\xb4\\x06\\xa4\\x13\\x45\\x9b\\xce\\x8a\\xd1\\x51\\x46\\x3e\\x8c\\x2b\\x9f\\x13\\xf5\\x3a\\xbd\\xf2\\x93\\x8e\\x11\\x53\\x8d\\xdb\\x61\\x05\\x38\\x16\\x2b\\x28\\x0b\\xf8\\x5d\\x5e\\xb0\\x23\\x03\\x65\\xac\\x84\\x6b\\x11\\x9e\\x8d\\x9d\\x3f\\x2c\\xbd\\xf6\\x1e\\x77\\xf5\\x91\\xe7\\xf9\\xc0\\xde\\x2b\\xf2\\x4f\\xd1\\xcf\\xf6\\xee\\xe5\\xb2\\xeb\\x95\\xba\\xbf\\x2a\\x10\\xfe\\x42\\x58\\x33\\x09\\xb5\\x0f\\xdb\\xb5\\x4e\\x8d\\x53\\xa3\\x11\\xc5\\x64\\xaf\\xc9\\xac\\x75\\x3a\\x93\\x34\\xe6\\x63\\x98\\x5e\\x4d\\x7b\\xd9\\x92\\x49\\x94\\x34\\xb1\\x64\\x60\\x4a\\x1a\\xf5\\xce\\x7e\\xd9\\xcb\\x74\\xb8\\x6d\\x2a\\xe7\\x76\\x04\\x89\\x99\\xb3\\xe0\\x60\\x45\\x47\\x52\\x51\\xc4\\xd1\\x54\\x3a\\xfe\\x8e\\xb1\\x5d\\x2a\\x4b\\xf7\\x1f\\xb9\\xa7\\x5f\\xcf\\x12\\x57\\xe0\\xa5\\xa0\\xa7\\xa8\\xdb\\xdd\\xab\\x4a\\x4a\\x3b\\x56\\x2e\\xe3\\x4f\\xa7\\xdd\\xfc\\xc0\\xd7\\x51\\x11\\xff\\x26\\xb5\\x9f\\x31\\xaf\\xee\\xc8\\x7d\\xf7\\x0f\\xe9\\x90\\xf5\\xc1\\xc3\\x6d\\xf7\\x2a\\xfd\\x65\\xf8\\x0a\\x80\\x49\\x83\\x0a\\x9e\\xc7\\x22\\x88\\x03\\xd1\\x82\\x15\\xd5\\xf6\\x39\\x0d\\xe1\\xc9\\xd1\\x38\\x5b\\xa9\\xd8\\xc7\\xb6\\x48\\x69\\xa7\\x48\\x55\\x24\\xd9\\xf6\\x42\\xb4\\x0b\\x6f\\xde\\x0c\\xd8\\xee\\x65\\x32\\x06\\x98\\xf2\\x93\\xe0\\x7d\\xf4\\xfc\\x2d\\x0b\\x9b\\x05\\x9e\\xb7\\xe9\\x11\\xb6\\x72\\x1c\\x36\\x18\\xf4\\xc7\\xd8\\x0b\\x0d\\xf0\\x42\\x01\\x48\\xdc\\x36\\x61\\x0c\\x37\\xbc\\xb9\\xa4\\x24\\x9e\\x44\\x11\\xc2\\xec\\x56\\x23\\x40\\xe9\\x6b\\xc3\\x23\\xeb\\xeb\\x89\\xe1\\x85\\x47\\x9e\\x97\\x8b\\xf0\\x87\\x40\\x5f\\x92\\x72\\xfd\\x1b\\xee\\xbd\\xfa\\x4d\\x94\\xbc\\x0a\\xdf\\xed\\x87\\x7f\\x8d\\x66\\x6b\\x4a\\xcf\\x71\\xbc\\x40\\x5e\\x84\\x57\\x33\\xde\\xaa\\x52\\x34\\x85\\x23\\x64\\x0b\\xee\\xaf\\xaf\\xe7\\x4f\\x5f\\x53\\x66\\x41\\x87\\x00\\xd0\\xd9\\xfc\\x17\\xc8\\x0c\\x72\\x44\\xeb\\x60\\x2c\\x46\\x6c\\x35\\x59\\x80\\x57\\x69\\xb7\\x4d\\x8c\\xb5\\xe6\\x17\\x71\\x1b\\xa4\\xa5\\xf0\\xb1\\x5a\\x69\\x95\\x19\\x29\\xee\\x25\\xea\\xf5\\xa4\\x94\\x6d\\xe6\\x58\\x07\\xcd\\xf2\\x8a\\xcc\\x32\\x6e\\xf6\\x84\\x76\\x45\\xce\\xfa\\xde\\x77\\xc8\\x7b\\x79\\xef\\xf1\\xcc\\xb4\\xf2\\xee\\x95\\xd1\\x41\\xdc\\xb6\\x71\\xf7\\xf9\\xa7\\x1e\\x8b\\xc1\\xc7\\xef\\x00\\xf8\\x4c\\xa8\\x30\\xac\\x37\\x19\\x8d\\x16\\x41\\x14\\xcd\\x26\\x91\\xee\\xb7\\x06\\xc8\\x4b\\x69\\xa2\\x89\\xef\\x77\\x4c\\x5e\\x95\\x91\\x53\\x4a\\xaf\\x51\\xca\\x65\\x41\\xf2\\xed\\xfa\\x7a\\xf9\\x54\\x3d\\xfe\\x09\\x68\\xf0\\x02\\xf7\\xde\\x91\\x2d\\xd7\\xbe\\xe4\\x4f\\x53\\x16\\x6b\\x4d\\xd7\\xd8\\xd5\\x00\\x92\\xc7\\x7f\\x09\\x0c\\x54\\x15\\x36\\xd9\\x8c\\xa2\\xd1\\xe3\\x49\\x16\\x09\\xf1\\x39\\x2d\\x9d\\x14\\x8d\\xe0\\x04\\x9c\\xe8\\x56\\x22\\x60\\x67\\xfa\\x33\\xc2\\xed\\xd4\\xd8\\x7d\\x5c\\x45\\x28\\x4a\\x42\\x48\\xe7\\xd8\\x65\\x24\\x35\\x55\\x95\\xc2\\xc4\\x32\\xa5\\x6b\\x88\\x15\\x71\\xeb\\x1b\\x7e\\xaa\\x5f\\xbf\\xfb\\xd5\\x03\\x35\\xe3\\x46\\x0f\\xeb\\xb5\\x62\\xc5\\x63\\xdd\\xe5\\x1f\\x9c\\x70\\xae\\x1a\\xb8\\xf7\\xa3\\xa1\\x17\\xf7\\x5d\\xc5\\x9e\\x33\\x27\\x3a\\x1d\\xe8\\x30\\x23\\x7a\\x4a\\xde\\x2c\\x1f\\x54\\x70\\xe7\\xba\\xaa\\x7b\\xe3\\x3a\\x42\\x38\\x4e\\xe0\\xa9\\xdb\\x0e\\xb8\\xbe\\xad\\x68\\xd6\\x84\\xcd\\x51\\xfa\\x8c\\x65\\xcb\\x0b\\xc8\\x4e\\xf8\\x7b\\x03\\x0a\\x3e\\x0f\\x5e\\x3f\\xe8\\x0e\\x8d\\xf8\\x52\\x9c\\x44\\x18\\x77\\x40\\x8d\\x00\\xb3\\x22\\xd8\\x38\\x9f\\x90\\x9d\\x2f\\x00\\x81\\x56\\x30\\x19\\x94\\x17\\xf0\\x7d\\x8e\\x6c\\x51\\x38\\x04\\x23\\xb0\\xd8\\xc9\\x2b\\xf0\\x4e\\x1b\\x2a\\x05\\xfa\\x13\\x62\\xd7\\x22\\xe4\\x30\\x9b\\x54\\xb5\\x69\\xc6\\xf4\\x44\\x50\\xb6\\x81\\xb4\\x50\\x9b\\x2c\\x31\\x30\\x17\\x97\\x05\\xa8\\xa3\\xa8\\xae\\x65\\x23\\xaf\\x44\\xdf\\x92\\x4f\\xe0\\xce\\xc7\\x8f\\x3c\\x7f\\x4c\\x7e\\x09\\x57\\x71\\xa5\\x5c\\xbf\\xe8\\xbe\\xbd\\x1f\\x7c\\x90\\xfd\\xe1\\xfb\\x7b\\xa3\\xfb\\xe8\\x9a\\x5d\\x1b\\xde\\x27\\x9f\\x89\\xb4\\x16\\xb4\\x22\\x6c\\xb4\\x9a\\xf4\\x1a\\x8d\\x8d\\x37\\x99\\xec\\xc8\\xda\\x49\\x87\\xdb\\x03\\x73\\x95\\x23\\x3d\\x60\\x44\\xd7\\xd4\\xc7\\xb6\\x3e\\x61\\xef\\xe9\\x3e\\x54\\x94\\x67\\xd8\\xcb\\x4a\\x83\\x2c\\xf5\\xc0\\x6f\\xb3\\x22\\xe1\\xc4\\x71\\x6c\\x5f\\x7b\\x49\\xb6\\xd4\\xe3\\x1e\\xf8\\x21\\xb9\\x8f\\xfc\\xf0\\xce\\x5b\\x3e\\xc5\\xe8\\xbe\\xcf\\xb8\\xe1\\xf2\\x6d\\xf2\\xa3\\xf2\\xe7\\xb2\\x63\\xb1\\x12\\xb7\\xdb\\xcf\\xe6\\xda\\x9e\\x46\\x22\\x70\\x1c\\x60\\xac\\x43\\xc8\\xa2\\xc5\\x54\\x73\\xaa\\x18\\x73\\x94\\x92\\x00\\x83\\xa2\\xe9\\x6e\\x80\\x31\\xcb\\x72\\x00\\xc9\\xb3\\x31\\xb5\\xc6\\xbf\\x79\\xed\\x3c\\xb0\\x84\\xf3\\x87\\xeb\\x8f\\x71\\x7b\\xd7\\xd7\\x33\\xa6\\xc3\\x7d\\xae\\xaf\\xe0\\xb2\\x8f\\x6c\\x61\\x7b\\x5c\\x01\\xeb\\x7d\\x06\\xbc\\xe7\\x41\\x91\\xb0\\x4b\\x70\\xb8\\x88\\x93\\xb7\\x58\\x25\\xab\\xd3\\xe9\\xd5\\xf0\\x7c\\x92\\xc3\\xe5\\x12\\x9c\\x9d\\x2c\\xb0\\xa6\\x95\\xca\\x25\\x88\\xbf\\xc2\\x7e\\x6d\\x40\\x09\\x88\\xec\\x7b\\x21\\x0e\\x03\\xa5\\x02\\x4b\\x15\\x8e\\xc1\\xc2\\x98\\x92\\xf5\\xae\\x65\\x35\\x3b\\x8a\\x9e\\x4d\\x17\\x0d\\x38\\xe8\\xa0\\x13\\xc0\\xdc\\x1d\\x31\\xd1\\x5f\\xfd\\x32\\xfa\\x17\\xbc\\x63\\xfe\\xc6\\x65\\xfb\\x6f\\x9b\\x77\\x72\\x45\\x71\\xf1\\x1f\\x9f\\xce\\xeb\\x75\\x88\\xff\\x52\\xfe\\x54\\x3e\\x1e\\x5d\\xb1\\x17\\x1f\\xf9\\xf7\\x3f\\xff\\x2d\\xbf\\x15\\xfd\\x95\\xf3\\x1e\\x9d\\x81\\x17\\x9d\\x9e\\x31\\x56\\xe1\\x4b\\x38\\xdb\\x14\\xbe\\xf4\\x1e\\x66\\x7c\\x89\\x5e\\xa4\\x7c\\xc0\\xf8\\xab\\x05\\x6b\\xfe\\xce\\xfc\\x47\\x9a\\xa5\\x0e\\x7a\\x43\\x3d\\x7f\\x75\\x18\\xd4\\x1a\\xf8\\xec\\x36\\xbd\\x4e\\x25\\xab\\x9e\\x91\\x95\\xfb\\x13\\xb2\\xd2\\x2d\\xa5\\x7c\\x64\\x8b\\x5d\\x3b\\x83\\x44\\x71\\x70\\xec\\xe2\\xd9\\x81\\x5e\\xb7\\x2d\\x5b\\xb4\\x63\\x7d\\x97\\xbd\\x9c\\x7d\\xc7\\xca\\x76\\x7b\\x23\\xa7\\x9f\\x87\\x3d\\x0c\\x81\\x3c\\xbf\\x0b\\x6b\\x59\\x51\\x2a\\xea\\x14\\xb6\\x24\\xe9\\xf5\\xc0\\x76\\xc4\\x49\\x3b\\x17\\xa5\\x99\\xdc\\x8a\\x66\\x36\\xe1\\x76\\xcf\\xd9\\x78\\x81\\x3f\\xaa\\x52\\xb1\\xb2\\xe9\\x29\\xa5\\x26\\x5d\\xab\\x31\\x27\\x7a\\x6a\\xc3\\x9e\\x82\\x14\\x07\\xfc\\xc8\\x86\\x45\\x9b\\xe2\\x7d\\xdb\\xa8\\x37\\xba\\xb4\\x5d\\x76\\x1d\\xb7\\x09\\x3b\\x7f\\x92\\xbf\\x96\\xaf\\xc8\\x3f\\xc8\\xd7\\xb0\\xd8\\xf9\\xe0\\xee\\xe3\\x4f\\xaf\\x79\\x8e\\x5b\\x32\\xfb\\x6a\\x68\\xef\\x65\\xf9\\xc7\\x1a\\xf9\\x65\\xf9\\x30\\x9c\\x32\\x55\\xf8\\xc4\\x4c\\xf9\\xeb\\xb2\\xcf\\xcf\\x9d\\xc5\\xb8\\xe6\\x45\\x65\\xa6\\x59\\x6e\\xc3\\x97\\xfc\\x4d\\x4c\\xbf\\x85\\xc2\\x36\\x81\\xe3\\x4c\\x5a\\x6a\\xe5\\x83\\x32\\xe5\\x04\\x82\\x4c\\x47\\x29\\xbf\\x03\\x65\\x2b\\x59\\xe6\\x8f\\x4d\\xd5\\xa4\\x36\\x35\\x29\\x1c\\xf8\\xdc\\x4f\\x9b\\x4e\\x94\\xdb\\x6d\\x21\\x2b\\x28\\xef\\x5c\\xec\\xdc\\x26\\xaf\\x3e\\x8d\\xbb\\x3d\\x30\\xe7\\xc4\\x6b\\x72\\x67\\x79\\xec\\xce\\x10\\xf9\\xf5\\x7a\\xcd\\x48\\xfc\\x04\\x7e\\x5c\\x6e\\x1d\\xfd\\x95\\x8d\\x26\\xa0\\xb6\\x26\\x88\\x78\\x0d\\xdb\\x8b\\x0e\\x61\\xa3\\x89\\x37\\x98\\xcd\\x56\\x7a\\xd6\\x18\\xcc\\xf5\\x38\\x5c\\x17\\x31\\x18\\x2c\\xc2\\x31\\xd8\\x4b\\x0b\\xd2\\xab\\xe6\\x50\\x65\\x3c\\x8b\\x26\\xbf\\x89\\x94\\x61\\xa6\\x5b\\x99\\x16\\xb1\\xc1\\x41\\x6e\\xe3\\x06\\x00\\xa3\\xd7\\xc3\\x61\\x73\\xf9\\x5f\\x72\\x1f\\xfe\\xf4\\x25\\xf9\\x87\\x6b\\x07\\xf8\\x3e\\xf5\\x9b\\xe4\\xbf\\xec\\xe5\\xf6\\xc3\\xba\\x6b\\x81\\xd7\\xef\\x81\\x75\\x5d\\xa8\\x07\\xe8\\x59\\x8d\\x59\\xd0\\x6a\\xdd\\x2e\\xb3\\xd9\\x23\\x68\\x61\\xe1\\x23\\x11\\x41\\xb0\\xe9\\x74\\xbc\\xca\\x10\\x3a\\x58\\xd5\\x86\\xec\\xec\\x7b\\x5b\\x23\\x43\\xa8\\xb7\\x51\\x8d\\x50\\xc4\\x55\\x3d\\x05\\x80\\xee\\x8e\\xa4\\x6a\\x9c\\x32\\x72\\xe4\\x2f\\x87\\xe4\\x2b\\xbf\\xc8\\x7d\\xf0\\x7b\\x18\\x4c\\x29\\xd0\\x3a\\xb5\\x78\\xcf\\xb1\\x23\\xdc\\xde\\x97\\x5e\\x64\\x00\\xc9\\xff\\x96\\x2f\\xf4\\x01\\xcd\\xf3\\xfe\\x87\\xac\\xc7\\x1d\\xe8\\xce\\x0f\\x79\\x1a\\x07\\x83\\x73\\x4d\\x0f\\xda\\x53\\xb4\\x58\\xad\\x2e\\xb0\\x31\\x24\\x27\\xa7\\xd7\\x63\\x8b\\xf8\\x62\\x5c\\x85\\x32\\xb3\\x22\\xd4\\x64\\x27\\x54\\x75\\x5a\\x84\\x49\\xc8\\xee\\x72\\x77\\xe4\\xaa\\x70\\x88\\x98\\xb1\\x86\\x43\\xf5\\x05\\xa3\\xf7\\x7d\\xba\\xef\\x4e\\xfd\\x90\\x31\\x65\\x06\\xe7\\x09\\x9f\\xe3\\x8d\\x2f\\xa9\\x8e\\x8e\\x3c\\x74\\x14\\x0b\\xf2\\xaf\\x67\\x67\\xba\\xab\\x97\\xcd\\xfb\\x4d\\xbe\\xf8\\xc9\\xa7\\x05\\x6a\\x9f\\x3d\\x9e\\x67\\xba\\xf6\\x96\\xb0\\xa4\\x37\\x18\\xac\\xa2\\x40\\x6c\\x36\\x07\\xec\\x0d\\x67\\xb7\\x8a\\x22\\xd6\\x0b\\xa0\\xfe\\x9f\\xb3\\x71\\x98\\x3b\\x9a\\x20\\x28\\xb1\\xb6\\x20\\xb6\\x04\\x53\\x07\\xce\\x5c\\x55\\x19\\xd1\\x24\\x30\\xdc\\x11\\x58\\x4f\\x31\\x02\\x79\\xfe\\x7a\\x35\\x77\\xfa\\xfa\\xe5\\x0b\\x78\\x5e\\xcf\\xae\\x46\\xf7\\x31\\xa7\\xb9\\x62\\x74\\x2d\\xae\\xda\\xcb\\x07\\xa2\\x7f\\x04\\x16\\x2d\\xfd\\xf2\\xb3\\x07\\x1e\\x1a\\x9e\\x29\\x57\\x2b\\xba\\x70\\x2e\\xf0\\x49\\x37\\x26\\xe7\\x74\\xba\\x86\\xd5\\x61\\xd0\\x62\\x8e\\x73\\x5a\\xb4\\x5a\\x89\\x10\\xde\\x68\\x00\\x6d\\xdc\\x0e\\x44\\xb6\\x03\\x38\\x2b\\x8e\\x04\\x6b\\x27\\x76\\xdb\\xde\\x6c\\x93\\x68\\x7f\\x2c\\x9a\\x5e\\x01\\xca\\xb8\\x8c\\xb5\\x93\\x0a\\x06\\xf0\\xe8\\xfa\\x10\\x27\\xfe\\xe7\\x8c\\x7c\\x50\\x3e\\xfb\\xde\\xd7\\xd3\\xd7\\x46\\xaf\\x92\\x94\\x6b\\x23\\xf8\\x6d\\x78\\xff\\xc1\\xb7\\xe4\\x0b\\x72\\xee\\xac\\xf7\\x87\\xe2\\xdb\\xcf\\xdc\\xcf\\x66\\x52\\x67\\xc3\\x39\\xa4\\x9c\\x6d\\x59\\x47\\xc0\\x26\\x86\\xd3\\x0d\\x2b\\x36\\x80\\xd8\\xd4\\x06\\x60\\xab\\x52\\xe6\\x0c\\xfc\\xc9\\xf1\\x46\\x4f\\x7f\\x76\\xb8\\x81\\x2d\\xd3\\xf0\\xab\\xb0\\x00\\xde\\x99\\x82\\xaa\\xc3\\x92\\xc5\\x8a\\xb0\\xc6\\xab\\xf5\\x78\\xdc\\x2e\\xad\\x5b\\x8b\\xad\\x7c\\x5a\\xaa\\x57\\x53\\x8f\\x6f\\x3a\\x12\\xf1\\x7a\\x5d\\x16\\xe4\\x3e\\x06\\x2b\\xb8\\x40\\xf1\\x77\\x82\\xd5\\x5c\\x31\\x86\\x0c\\x35\\xab\\x37\\xb3\\xc7\\x1b\\x70\\x87\\x98\\x89\\xe9\\xa0\\x63\\x14\\x2b\\x1c\\x21\\xc2\\x99\\x31\\x18\\x57\\x6c\\xea\\x62\\x05\\xb7\\xf5\\x58\\x9a\\x25\\x34\\x72\\xda\\x86\\xd6\\x9e\\x37\\xaf\\x3e\\xd0\\xd3\\x5d\\x75\\x22\\x9c\\x36\\xe5\\x8c\\xbc\\x5e\\xde\\x77\\xe9\\xf8\\xdc\\x5b\\xef\\x1e\\x60\\xe0\\x4f\\xcb\\xf5\\xbb\\x1f\\xe9\\x9d\\x16\\x94\\xe5\\xe2\\x91\\xcf\\xff\\x8d\\x33\\x45\\xff\\x90\\xff\\x88\\xae\\xaa\\xe2\\xf8\\x0f\\xa3\\x2b\\xcc\\x9e\\xd9\\xeb\\x00\\xf6\\x0e\\xc0\\x2b\\xdf\\x30\\x7f\\xa1\\x53\\xd8\\x6c\\xf6\\x7a\\x35\\xd8\\xe1\\x48\\x02\\x7b\\xcc\\xe7\\x70\\x82\\x30\\x1d\\x8a\\x68\\x1d\\xd4\\x12\\x35\\x61\\x0e\\x1f\\x8d\\x9f\\x5b\\x31\\x5e\\xc9\\x6f\\xa6\\x45\\x70\\x50\\x31\\xc6\\x55\\x51\\x76\\x9a\\x15\\x25\\xdb\\x11\\x54\\x96\\x78\\x8c\\xdb\\x08\\xba\\xad\\xfe\\x91\\x17\\xe4\\xaf\\xc1\\xe1\\x31\\xd8\\xba\\x56\\xa7\\x83\\xbd\\x0a\\x4a\\x2d\\xda\\x9a\\x1a\\x92\\xd1\\x17\\xa9\\xe3\\x13\\xba\\x7b\\x02\\x8d\\xf9\\xc1\\xd9\\x49\\x46\\xf2\\xa7\\xad\\x59\\x02\\xf8\\x27\\x56\\x8d\\x20\\x60\\x19\\x35\\xfd\\x5c\\xd7\\xf4\\x73\\xae\\x6b\\x93\\xcf\\x75\\xf4\\x73\\xc0\\xed\\x63\\x5e\\xe4\\xba\\xc1\\xf9\\x4f\\x50\\x0a\\x78\\x9a\\x18\\x73\\x04\\xbc\\x57\\xcc\\xd5\\xc3\\xc1\\x1f\\xb3\\x7d\\x54\\x0b\\x06\\xfc\\x9b\\xe1\\x2b\\x56\\x7c\\x07\\x7f\\x3f\\x17\\xf8\\x15\\x9e\\xe3\\x45\\xf6\\x9c\\x06\\xac\\x45\\x3b\\x2f\\x88\\x82\\x06\\x9e\\x85\\x7d\\xc5\\x3a\\xad\\x80\\x45\\xe5\\x0d\\xa1\\xb7\\x4b\\x9a\\xdd\\x64\\x2b\\x6f\\x72\\xc4\\xde\\xf6\\xf1\\x8a\\x15\\xdf\\xd2\\x37\\x46\\x97\\x72\\x73\\x91\\x3a\\x5b\\x9e\\x7c\\xc3\\x53\\x66\\xd3\\xd3\\xce\\x2b\\x1a\\x51\\xa7\\xd5\\xe9\\x09\\xe0\\x28\\x18\\x0d\\x7a\\xda\\x16\\x41\\x2b\\x16\\xeb\\xb1\\x5e\\xab\\xd7\\x0a\\xa2\\x05\\x0b\\x4a\\xf5\\x1c\\xbd\\x93\\xaa\\xb5\\xb1\\x39\\x9d\\xac\\xe5\\xb8\\x3a\\x0a\\x35\\x10\\x24\\x81\\xd8\\x08\\xea\\x6f\\xf6\\xce\\x90\\xa7\\x4f\\x7b\\x16\\x3f\\xbc\\xa7\\xeb\\xd6\\x8d\\xb8\\x4c\\x3e\\xcd\\xb7\\x8d\\x2e\\xc1\\x6f\\xcb\\x21\\x58\\xd3\\x0b\\x6f\\x3f\\xc0\\xea\\x40\\x1d\\x68\\x68\\xb8\\x54\\x6f\\x36\\xdb\\xb0\\xd5\\x28\\x68\\x11\\x0f\\xc4\\xc5\\x44\\x72\\xea\\x1c\\x22\\xbd\\xb7\\x87\\xe5\\xf5\\x74\\xe4\\xb8\\x1e\\x1b\\x88\\x55\\x6f\\xd5\\x63\\xd1\\x22\\x48\\xd8\\xcc\\x26\\xef\\xc4\\x6c\\x82\\x4a\\x75\\xa0\\x61\\x93\\x4e\\x0d\\x8d\\x7d\\x4d\\xa9\\xc5\\x02\\x20\\xc5\\x32\\xaf\\x03\\x34\\xc9\\x44\\x38\\x10\\xed\\x2e\\x2f\\xdc\\xf1\\x37\\x2e\\x99\\x8c\\x90\\x3d\\xf8\\x84\\x5c\\xc5\\xe1\\xeb\\x60\\x7d\\x0c\\xc5\\x3d\\xe4\\x3a\\xda\\xa1\\xfb\\xc4\\x4a\\xf9\\x49\\xdc\\x1d\\x7f\\x4a\\xef\\x1e\\x95\\x7a\\xb6\\x1e\\x20\\xa3\\xa5\\xa8\\x1d\\xda\\x10\\xee\\x93\\x9c\\x92\\x52\\x68\\x4b\\x37\\xb4\\xcb\\x71\\xb9\\x50\\x3b\\x70\\x8c\\xca\\xb2\\xb2\\xda\\xd9\\x48\\x87\\xf6\\x19\\x6d\\x68\\x5f\\x89\\xec\\xb2\\xea\\x48\\x8e\\xd4\\x3b\\x62\\x30\\x67\\xa7\\xe7\\xf8\\xd3\\x72\\x70\\x76\\x4e\\x76\\x8e\\xd9\\x8f\\x92\\xb1\\x9e\\x24\\x27\\xfb\\xfd\\xde\\xea\\x88\\xdf\\x65\\x6e\\x55\\x1d\\x31\\xc7\\xfb\\x4e\\x58\\x9b\\x0e\\xf5\\x6a\\xec\\x5f\\x16\\xa3\\x32\\x25\\x74\\xe2\\x95\\x7a\\x93\\x24\\x05\\x65\\x8b\\xcb\\xb8\\x80\\x92\\xe3\\xe5\\x77\\xb0\\xd1\\x32\\x92\\x13\\x36\\xab\\xb1\\xa9\\x97\\xd2\\x13\\xcf\\x56\\x26\\xb0\\x71\\xa9\\x4a\\x43\\x7f\\xa5\\x98\\xb8\\x82\\xb4\\xd7\\xc9\\xe7\\x59\\xa3\\x0a\\x5c\\x83\\x3b\\x8d\\xbe\\xfd\\xef\\xeb\\x76\\x3f\\xf5\\xfd\\x2f\\x3f\\x4d\\x9a\\x3d\\xff\\x1e\\xd3\\x5f\\x93\\xbe\\x78\\xed\\x8f\\x3b\\x67\\x9c\\x93\\x83\\xe4\\xc0\\x2b\\x0b\\x97\\xf7\\x18\\x59\\x3b\\x7a\\xcb\\x80\\xa8\\xde\\xf2\\xe0\\xb2\\x05\\xeb\\x45\\xae\\xb3\\x0d\\xdf\\x33\\xb4\\x5b\\x21\\x46\\x72\\xc3\\x03\\xd3\\xf7\\x6d\\x78\\xe6\\x59\\x9e\\x6f\\xb7\\x6c\\x52\\xf5\\x10\\xdb\\x23\\x6b\\x57\\xad\\xe2\\xaa\\x3c\\x69\\x3c\\x57\\x3c\\xa2\\xcf\\xc0\\x3b\\x22\\x9b\\x06\\xbe\\xfa\\xf4\\x63\\x4f\\x3f\\xa6\\xdc\\xe5\\xc2\\xde\\xf3\\xb9\\xb0\\xf7\\x4e\\xd0\\x4c\\x59\\x34\\x8f\\x3d\\x68\\xd0\\x8a\\x62\\x92\\xde\\x9c\\xe6\\x72\\x39\\xb1\\xdd\\x6c\\xcf\\xc9\\x96\\x0c\\x4e\\xe4\\xac\\x8e\\xa4\\x69\\x2d\\x08\\x36\\x1e\\x21\\x3b\\x67\\x77\\x55\\x47\\xec\\x12\\x97\\x5a\\xad\\x34\\xf0\\x6a\\x3c\\x2d\\x69\\x0b\\x8b\\x26\\x0d\\x79\\x13\\x46\\xd7\\x28\\x86\\x1a\\xcb\\x7a\\xd3\\x84\\xa4\\x20\\x6b\\xda\\x4c\\xdd\\x26\\xe0\\x02\\x25\\xd6\\x8e\\x6d\\x6a\\xd0\\xdd\\x3b\\x1d\\x3f\\xfb\\xe2\\x47\\xdd\\x77\\xaf\\x0a\\x14\\x9e\\x3c\\x25\\x97\\x4c\\xc7\\xb9\\xd8\\x3c\\x7b\\xf4\\xc4\\x7b\\xe4\\xab\\x3f\\xce\\x1e\\x3d\\x7a\\x36\\x37\\x02\\x7f\\xb2\\xed\\xc1\\x91\\x5d\\x57\\xa6\\xd6\\x86\\xd6\\x6d\\xc2\\x9f\\xc8\\x07\\xfa\\xf4\\x89\\xf4\\xc5\\x9f\\xca\\x07\\xfb\\xf7\\xe9\\x33\\x40\\xa9\\x13\\xa4\\xfd\\xdd\\xec\\x22\\xea\\xca\\x64\\x6a\\x19\\xe0\\x98\\xc2\\x64\\xca\\x8a\\x72\\xc0\\x93\\x44\\x26\\x1e\\xf1\\x76\\x9b\\x60\\xa4\\x03\\x97\\x79\\xe0\\x68\\x5e\\x8a\\x63\\xd1\\x38\\xd6\\xc0\\x8a\\x98\\x79\\x4d\\x68\\x46\\x28\\x85\\x8c\\x4f\\x91\\xcf\\xcb\\xbf\\xc8\\xeb\\xf0\\x44\\x2e\\xe7\\x85\\x67\\x5e\\xad\\x3f\\xfa\\xfc\\xf3\\x5c\\xa1\\xfc\\xbd\\x7c\\x01\\x24\\xe9\\xdf\\xa7\\x0e\\x5f\\xff\\xe2\\x34\\xbb\\xa3\\x53\\xd7\\x32\\x80\\x95\\x5d\\x1d\\xce\\xb5\\x49\\x92\\x01\\x3b\\x74\\x46\\x41\\x27\\x78\\x93\\x9c\\x06\\x64\\xa8\\x8e\\xd8\\x54\\x32\\xea\\x38\\x9d\\x04\\xec\\x26\\x71\\xd6\\x1b\\x92\\xb1\\xc9\\x1c\\x3d\\x75\\x84\\x40\\xcc\\xc5\\x00\\xc0\\x82\\x99\\x0a\\x5c\\xf4\\xf6\\xad\\xa4\\x7c\\x19\\x05\\x4a\\x01\\x6f\\x19\\x19\\x09\\xc0\\xfd\\xfc\\x33\\x05\\x6f\\x32\\x3e\\x15\\xfd\\x85\\x82\\x88\\x2f\\xdc\\x7a\\xea\\xb0\\xfc\\x37\\x90\\xa3\\xd3\\xa0\\xf3\\x80\\x1e\\x64\\x3b\\x83\\xf1\\x96\\x70\\x26\\x8f\\xe8\\x24\\x05\\x38\\xe4\\xb0\\xc9\\x28\\xea\\x40\\xba\\x45\\x80\\x0e\\x0c\\x00\\xb0\\xb5\\x29\\x5c\\x58\\xdf\\x28\\xde\\x8d\\xd0\\xe5\\xc7\\x67\\x1b\\x34\\x3a\\x22\\x31\\x91\\x26\\xdb\\xaf\\x7f\\xc7\\x35\\x44\\x0f\\x73\\x19\\xd1\\xcf\\xb9\\x91\\x31\\xf9\\x65\\xfd\\xac\\x68\\x9d\\x23\\xdf\\x0b\\x65\\xa0\\x11\\xe1\\x12\\x63\\xaa\\xcb\\xe2\\xf3\\xe9\\xd2\\x25\\x97\\x8b\\x27\\xe9\\xb4\\x15\\x4c\\x16\\xc8\\x64\\xaa\\xd1\\x60\\x04\\x1a\\x19\\x8d\\xc8\\x23\\x49\\x1e\\x8f\\xbd\\x3a\\xe2\\xb1\\x22\\xb1\\x9a\\x96\\x2e\\xba\\x12\\x4b\\x17\\x13\\xb2\\x2d\\xb1\\x2a\\x9c\\x2d\\x72\\xa0\\xb2\\xfe\\xef\\xa6\\xe1\\xf8\\xd4\\xee\\xd7\\x0a\\xff\\xac\\x51\\xf8\\xc7\\xce\\x79\\x8b\\xfe\\xac\\x37\\xf8\\xa6\\x7d\\xb0\\xd7\\x2b\\xe4\\x89\\xb8\\x03\\xd0\\x91\\x9e\\x01\\xfe\\xb0\\x59\\x04\\x92\\x61\\xac\\xd5\\x69\\x2c\\x1c\\xa1\\x65\\xcd\\x1f\\xbd\\x5d\\x95\\x70\\x80\\x08\\x52\\xb0\\xcc\\x41\\x33\\xea\\x3a\\xd4\\xd5\\xd5\\x5d\\xd8\\xb7\\x4f\\xf0\\x5f\\x3b\\xc9\\x12\\xe7\\x30\\x6a\\xd5\\x70\\x85\\xfb\\x07\\xeb\\x3f\\x5b\\x14\\x76\\xeb\\x0c\\x66\\x38\\xc1\\x39\\xbb\\x8d\\xd1\\xc1\\x42\\x91\\x87\\x63\\x25\\x01\\xf9\\x38\\x4f\\xb0\\x24\\x5f\\xb5\\x05\\x86\\x0d\\x8e\\x55\\x1b\\xe0\\x33\\x57\\xbe\\x58\\xba\\xd5\\x32\\x2c\\x7c\\xfb\\xd0\\x1f\\xf1\\xce\\x7a\\x27\\x4e\\xc9\\x1e\\x39\\x68\\xcc\\x14\\xee\\xce\\x55\\x51\\x61\\x7b\\x1d\\x52\\xea\\x9f\\x79\\xc2\\xb7\\xb5\\x8a\\xac\\x5e\\x0d\\xc3\\x9a\\x88\\x58\\x59\\x0f\\xd8\\xf6\\xe1\\x34\\xad\\xd1\\x48\\xcb\\x6c\\xf4\\x88\\x58\\xcc\\x5a\\xc1\\xc0\\xf1\\x3a\\x02\\x5f\\xa0\\xe6\\xb1\\xb1\\x91\\x0b\\x98\\x1e\\xb4\\xc7\\xfb\\x5b\\xc6\\xf5\\xba\\xa6\\x8c\\xd6\\xbd\\x57\\x48\\x1a\\x60\\x01\\x6b\\x74\\xe6\\xcc\\x99\\x75\\x47\\x8f\\xe2\\x0f\\xf1\\xf6\\x51\\xdb\\x47\\xe1\\xeb\\xf2\\xe4\\xed\\xdb\\xb7\\xcb\\x0b\\xd5\\xdc\\x45\\x80\\xe1\\x17\\xa6\\x73\\x3a\\x85\\x33\\x69\\x75\\xb8\\xd9\\x66\\xb3\\x5a\\x0d\\x22\\x91\\x5c\\x0b\\x5d\\x07\\x5c\\x2f\\xbb\\x48\\x95\\x0b\\x1b\\x38\\x27\\x11\\xcd\\x1a\\x8b\\x4d\\x94\\xd8\\x10\\x58\\xa5\\x77\\x36\\xae\\xad\\xb5\\xd9\\x13\\x0b\\xee\\x5b\\x54\\x87\\xdf\\xb0\\x32\\xfc\\x99\\x96\\x55\\xe1\\xd7\\x4e\\xd2\\x8a\\xf0\\x18\\x3c\\xac\\x3e\\xc2\\x84\\xba\\x85\\x0b\\x0c\\x18\\x1b\\x81\\xff\\x05\\xa3\\x60\\xb6\\x1c\\xb0\\xbc\\x6c\\x39\\x63\\x21\\x07\\x2c\\x3f\\x59\\xb8\\xc9\\x96\\x85\\x96\\x1d\\xec\\x13\\x81\\xd3\\x1b\\x89\\xc9\\x22\\x1a\\x63\\x35\\x12\\x00\\xd5\\x3d\\x53\\x1a\\xe7\\x38\\x28\\x09\\x95\\x84\\x65\\x26\\x2b\\x93\\x88\\x94\\xf9\\x43\\xfb\\xd8\\xec\\x21\\x3a\\x6f\\x48\\xbe\\x4c\\x46\\xc1\\xfa\\x0f\\x67\\xac\\x4b\\xa3\\xb3\\x86\\x50\\xac\\x9e\\x90\\xe9\\xac\\x3e\\xcc\\x5e\\xe9\\x00\\xb2\\x72\\x80\\xe5\\x4e\\xba\\x98\\x0e\\xeb\\x88\\x5a\\xf3\\x3b\\xc8\\x6f\\x6c\\xc6\\x6a\\x56\\xd8\\xee\\x24\\x66\\x2d\\xd1\\x7a\\xdc\\xa2\\xad\\x6f\\x44\\x44\\x86\\xbe\\xe0\\xa8\\x17\\xab\\xb3\\x27\\x1b\\x35\\x98\\x9f\\x8e\\x14\\x02\\x85\\x51\\x9a\\x21\\xc4\\x2e\\x71\\x41\\x0c\\xb8\\x89\\x38\\x19\\xbb\\xe4\\x2f\\xc1\\xac\\x3a\\x43\\xfb\\x44\\x7e\\x75\\xfa\\xdd\\xcf\\x3f\\xfe\\xe8\\x0c\\xf9\\x2d\\x56\\x3d\\xf9\\xd2\\xd2\\xc7\\xb6\\xad\\x5e\\xf5\\xc8\\xce\\x55\\x94\\x36\\x9d\\xd0\\x78\\xfe\\x09\\xf2\\x4f\\x38\\x27\\xf2\\xc2\\x92\\xdb\\x4a\\xf4\\x7a\\xd1\\x69\\xe5\\x7d\\x49\\x26\\xd4\\x37\\x62\\x72\\x8a\\xa2\\x43\\xa3\\xdc\\x12\\x35\\x1d\\xb8\\xa7\\x74\\x2f\\xd5\\xd0\\x3c\\xbd\\x8c\\x00\\x05\\x83\\xcd\\x61\\xa7\\x8b\\xcf\\x64\\xfd\\x28\\xb7\\xbe\\x48\\x87\\x1e\\x36\\x76\\xa9\\x24\\xe9\\x4a\\x2f\\x4b\\xe9\\xab\\x7d\\xdf\\xfc\\x98\\xd0\\xe1\\x52\\x39\\xa3\\x8a\\x1b\\x3e\\xe2\\x0f\\xf2\\x43\\xd9\\xfc\\xa5\\x74\\xd4\\x25\\x9c\\xed\\xb7\\x18\\x69\\xb7\\x75\\x41\\xeb\\x92\\x52\\x6d\\x66\\xa3\\x2e\\x23\\x68\\x33\\xa7\\xba\\x04\\xad\\xa8\\x47\\x7a\\x5f\\xdf\\x88\\x46\\x8f\\x1c\\x7d\\x23\\x56\\x7a\\xd9\\x4e\\x69\\x12\\x6a\\xd2\\x8f\\x55\\x89\\x8b\\x66\\xfa\\x33\\xca\\x4a\\x2b\\xb2\\xcb\\xdc\\xe5\\x21\\xbf\\xcd\\xa9\\x71\\x4b\\xd9\\x62\\x76\\x49\\x05\\xa6\\x60\\x3b\\xd2\\x35\\x98\\xd1\\x69\\x2a\\xad\\x19\\x1d\\x31\\xed\\xa3\\x95\\xe7\\xb8\\x56\\x83\\xc7\\xbe\\xb9\\xf4\\xa7\\x45\\x43\\xa2\\xef\\xd4\\x9c\\xf9\\x62\\x71\\x7f\\xae\\x75\\xef\\x77\\x4b\\xfe\\xf8\\xe1\\x95\\x19\\x23\\x77\\xd7\\xf7\\x95\\x7d\\x6f\\x4e\\x1d\\xbc\\xfb\\x99\\xde\\x2f\\xb9\\xf1\\x37\\x5d\\x56\\xec\\x5c\\xc5\\xf5\\xf4\\xc8\\xa9\\x9d\\x1f\\xd8\\xb6\\x1a\\xa9\\x73\\x2f\\x35\\x21\\xd0\\x79\\x49\\x6a\\xd7\\xa8\\xb6\\x60\\xa2\\x64\\x79\\x25\\x83\\xcf\\x87\\x0a\\x02\\x56\\x6b\\x81\\x97\\x14\\x16\\x25\\x65\\x55\\x47\\x24\\xb7\\x41\\x97\\x94\\xe4\\xd6\\xb9\\x73\\xab\\x23\\x6e\\x97\\x03\\x8e\\x56\\x87\\xcb\\x14\\xac\\x8e\\x98\\xfe\\xcc\\x2e\\x69\\x5a\\x9a\\x91\\x90\\xd1\\x9b\\x60\\x86\\xc4\\x75\\x9e\\xdf\\x5d\\x1e\\xa0\\x3d\\x90\\x39\\x36\\x6e\\x94\\x5a\\x1e\\x0a\\x37\\x58\\x69\\x19\\x8a\\x6a\\x78\\x0c\\x56\\x1b\\x64\\x81\\xdd\\x61\\x9f\\x73\\x2f\\x96\\x7e\\xb8\\x26\\xff\\x2c\\x7f\\x3b\\x7d\\xbe\\x7c\\x1d\\xec\\x8d\\x13\\x2b\\xb7\\xef\\x5c\\x2f\\x7f\\xb4\\xeb\\xc1\\xeb\\xbf\\x2b\\x2d\\x94\\xb8\\xce\\xac\\x85\\x12\\x46\\xcf\\x3f\\x4f\\x59\\x49\\xbe\\x28\\x7f\\x7b\\xf0\\x20\\x58\\x19\\xd9\\x9f\\x9d\\xf9\\xf0\\x23\\xfc\\xcc\\x19\\xf9\\xe5\\xc6\\xbe\\x59\\x9d\\x81\\x97\\x47\\xb2\\x7a\\xae\\x4c\\x74\\x73\\x38\\x60\\x25\\x48\\x72\\x3a\\xfd\\xa6\\x24\\x84\\x7c\\x1a\\x93\\x26\\x2b\\x9b\\xb7\\xa6\\x84\\x3d\\x1e\\x7d\\x92\\xd3\\xa2\\x0f\\xf6\\xa6\\x99\\xdf\\xf1\\x88\\x7a\\xd2\\xdb\\x95\\x37\\x4c\\x70\\xc5\\x71\\x0d\\x1e\\x6c\\x4c\\x09\\x0d\\x51\\x9c\\x6c\\x0e\\x6b\\x3c\\x63\\x81\\xf4\\x5c\\x3d\\xfb\\xbe\\xcd\\x67\\x5e\\x3e\\x71\\xe6\\xf1\\x59\\xb3\\x57\\xd5\\x8f\\x1e\\xf2\\x72\\xe0\\xec\\xdd\\x53\\xa6\\x4d\\x9c\\x70\\x0f\\xdf\\x76\\x49\\xbd\\x87\\x77\\x9d\\x58\\xfd\\xca\\x99\\xbf\\x1f\\x5f\\xfd\\x8a\\x93\\x4f\\x79\\x7e\\xd1\\x82\\xe5\\x58\\x13\\xed\\x8c\\x8d\\x2b\\x96\\x2c\\x7e\\x60\\x39\\xd3\\x0b\\x03\\xb8\\x54\\x56\\xb7\\x6c\\x04\\x89\\xb3\\x89\\x1a\\x64\\xd4\\x18\\x4d\\x66\\xa4\\x69\\xdc\\x0e\\x9a\\xf6\\x59\\x92\\x28\\x71\\x4a\\xba\\x44\\x90\\xd6\\x26\\xdb\\xc8\\x70\\x2a\\x47\\x2f\\x51\\x89\\xe2\\x52\\xa9\\x90\\xb1\\xd1\\xdb\\x5f\\xd3\\xf7\\x52\\x59\\xe7\\x52\\x41\\xdf\\xc0\\x7b\\x91\\x49\\x04\\x22\\x98\\x2d\\xa2\\x49\\x4f\\xed\\x7b\\x15\\xfb\\x66\\xef\\x55\\x76\\x2b\\xa4\\x54\\x3e\\x63\\x07\\x15\\xce\\x97\\xa8\\xb8\\x72\\xa9\\x1f\\x7d\\x7c\\xe6\\x8b\\x58\\x6d\\x33\\x9b\\xb7\\x06\\x4c\\x77\\x05\\x68\\x0d\\x22\\xa0\\xd4\\x51\\x21\\x6c\\x15\\xb1\\xe8\\x94\\x8c\\x7a\\x7a\\xac\\xc2\\xb1\\x6e\\x60\\xc7\\xba\\xf4\\x67\\x75\\x54\\x81\\xc6\\x21\\x5f\\x5e\\x1c\\xb3\\xcc\\x6e\\xaa\\xc3\\xef\\x1c\\xfa\\xe7\\x27\\xf5\\x60\\x49\\x98\\xc7\\xce\\x98\\x3e\\x8e\\x6f\\xfb\\xdc\\xc3\\x5b\\xeb\\x38\\xb3\\x3c\\x67\\xd4\\xf0\\xa1\\x77\\xd2\\x75\\x61\\x71\\xf2\\x3a\\xeb\\x99\\x2a\\xd1\\xb9\\xc1\\x04\\x09\\x60\\xf9\\x18\\xf4\\xb0\\x9e\\x4d\\xd0\\x0b\\x6e\\x17\\x01\\x6d\\xdf\\x3b\\xe2\\x74\\x72\\x5a\\x36\\xff\\xd9\\x62\\xe0\\xa4\\x84\\x6b\\x85\\x1b\\x94\\x3e\\xb2\\x7d\\xa6\\xb5\\x65\\x59\\x34\\xcb\\x0b\\xf4\\xba\\x37\\x9e\\xc4\\xcc\\xb9\\xe5\\xd7\\x4e\\xe3\\x9a\\xdf\\x3f\\x79\\x17\\x1f\\xa8\\xbb\\xb4\\x78\\xd6\\xf8\\x7b\\xa3\\xf8\\x94\\x5c\\x8e\\x3f\\x0e\\x61\\xe1\\x91\\x0d\\xd7\\x4e\\xe2\\x53\\xf8\\xe7\\x21\\xb5\\x43\\x6b\\x9b\\xc3\\xd5\\x25\\x9c\\xae\\x33\\xea\\x11\\x92\\x24\\x62\\xd0\\xeb\\x6d\\x1a\\xa2\\x71\\xbb\\x8c\\x00\\x8d\\xce\\x68\\xe4\\xb1\\xde\\xc2\\x3b\\x7b\\xc7\\x2d\\xc1\\x26\\x2d\\xef\\x9b\\x80\\xc4\\xc6\\x5d\\x01\\xd3\\x59\\x69\\x34\\xcc\\x1d\\x03\\x89\\x38\\xea\\xe4\\xea\\x77\\x3f\\xf9\\x5d\\xde\\x73\\x1a\\xb7\\xbb\\x1e\\xbd\\x77\\xfc\\xac\\xc5\\x97\\xa8\\xf9\\x75\\xed\\xe4\\x86\\x47\\xb0\\x10\\xc2\\x1f\\xcb\\xe5\\xf3\\x00\\xa2\\x21\\x8c\\xaf\\x82\\x00\\xd3\\x32\\x66\\x8f\\xb6\\x0b\\xa7\\xf3\\x02\\x16\\x10\\xd1\\xea\\x16\\xea\\x70\\x95\\x0e\\x5b\\x75\\x7e\\x1d\\x67\\xd1\\x81\\x09\\x26\\x48\\x44\\x83\\x34\\x89\\xb9\\xe8\\xd4\\xd0\\xa9\\x8d\\x9d\\x7f\\x6a\\x1a\\x7a\\x50\\x4d\\x3c\\xaf\\x63\\x09\\xe7\\xd7\\x6f\\x25\\xcf\\xc3\\xd9\\xb1\\x14\\xe4\\x4d\\xa6\\x79\\xb5\\x64\\x26\\x5b\\xaf\\x0b\\xaa\\xe1\\xd7\\x91\\x63\\x20\\x7f\\x79\\x61\\xbb\\x0e\\xd9\\x1d\\x0e\\x41\\x30\\xbb\\x90\\xcb\\x97\\x8c\\x92\\xec\\x3a\\x3d\\x2a\\x7e\\xbb\\xa4\\xf8\\xed\\xa6\\xb8\\xd2\\xd7\\x97\\x30\\x8d\\x4d\\xc3\\x1a\\x25\\x15\\x92\\x99\\x8b\\x09\\x5c\\xa0\\x0b\\xb7\\x7f\\xfc\\x8c\\xd2\\x43\\xdb\\xa2\\xab\\x49\\xdf\\x97\\xf2\\x84\\x82\\xca\\xdb\\x27\\xd7\\x1e\\x7c\\x2b\\x5a\\x8c\\x4d\\x79\\x43\\x22\\x8b\\x37\\xd4\\x89\\x7b\\xc1\\x8b\\xe6\\x48\\xc7\\x27\\x66\\x1f\\x7a\\x92\\xe9\\xc0\\x9b\\x51\\x8d\\xb0\\x97\\xad\\x9f\\x0a\\xfa\\xbb\\x5b\\x38\\x5d\\x85\\x40\\x97\\x14\\x48\\x49\\x49\\x4f\\x4d\\x4d\\x72\\x91\\x8c\\x60\\x7a\\x9a\\x2f\\x35\\x0d\\xbe\\xf4\\x09\\x30\\x31\\x53\\xc3\\xfa\\xb6\\xf5\\xed\\x1b\\xf4\\x83\\xa3\\x9d\\xb5\\xfe\\x0c\\x42\\xcc\\xcc\\x62\\x29\\x88\\x87\\xfc\\x09\\xa8\\xf2\\xc5\\x7a\\xf8\\xe7\\x46\\x00\\xe3\\x8e\\x4f\\x70\\x85\\x4f\\x2a\\x76\\x4a\\x55\\x43\\x84\\x5f\\xcd\\xff\\x0b\\xe5\\x82\\x6d\\xe4\\xb3\\x79\\x74\\x46\\x1d\\x0a\\xf0\\x92\\x64\\xcc\\x4c\\x0e\\x24\\xe7\\xe5\\xe7\\x7a\\xc0\\x86\\x07\\x5d\\xaa\\xd5\\xc5\\x80\\x2d\\x0e\\xbd\\xdd\\xd4\\xed\\x89\\x0d\\x49\\x50\\xa4\\xa8\\x19\\x98\\x71\\x68\\xcb\\x62\\xbf\\xaf\\xe2\\xf6\\x3f\\x36\\xeb\\xc0\\x8e\\x46\\x60\\xa7\\x0e\\x1a\\x31\\x7e\\xc2\\xf0\\x43\\xa7\\xa3\\xc5\\xf4\\x37\\xcf\\x3e\\x1e\\x5d\\xcd\\xdd\\x3b\\x60\\xf2\\xd4\\xfb\\x9f\\x53\\x21\\x6e\\xbb\\xe1\\xee\\xb9\\x6b\\x93\\x49\\x9b\\xed\\xf7\\xec\\x7a\\xe4\\xd0\\x80\\xc9\\x33\\x96\\x28\\x75\\x18\\x1a\\x20\\xfa\\xef\\x2c\\xaf\\x3a\\xd2\\x32\\xcf\\x1a\\x7e\\xdf\\x17\\x7e\\xbf\\x85\\xfd\\x5c\\x8b\\x1a\\xed\\x72\\x5a\\xc7\\xdc\\x27\\x9c\\x6b\\x76\\x2a\\x8d\\x44\\x6c\\x3c\\x71\\x13\\x5f\\x92\\xd9\\xe9\\x34\\x52\\xb9\\xb5\\x21\\xda\\x49\\x84\\x79\\x2f\\x37\\x30\\xc7\\x13\\x3b\\x89\\x34\\x16\\x89\\x36\\xb7\\xc3\\x9b\\x76\\x12\\x69\\x34\\xbe\\x67\\xaf\\xd8\\xd2\\x0a\\x97\\x47\\xbf\\xe5\\x2e\\xca\\xbb\\xf7\\x1c\\x56\\xcc\\xee\\x91\\x83\\xc6\\x8f\\x58\\x81\\x73\\x57\\x2d\\x93\\xff\\x46\\x9e\\xde\\xb8\\x89\\xdd\\xd5\\x74\\x6a\\xb8\\x4c\\xf2\\x99\\xef\\x3f\\x32\\x5c\\x96\\x92\\x9a\\xca\\x5b\\x91\\x43\\xa7\\xd7\\x7b\\x32\\x32\\x1c\\x56\\x92\\x93\\x9b\\x8d\\x01\\x50\\x07\\xc8\\xb0\\x29\\xdb\\xe3\\x0c\\x64\\x3b\\xb3\\x9d\\xa6\\x94\\x40\\xc0\\x57\\x1d\\x09\\x58\\x75\\x26\\x93\\x06\\xce\\x52\\x57\\x63\\xe0\\x1d\\x51\\xe8\\x94\\x19\\xdd\\xcc\\x9f\\x6f\\xc1\\x61\\x34\\x50\\x93\\x50\\x54\\x10\\x3b\\x67\\x62\\x79\\x61\\xd4\\x9e\\x51\\xab\\xd0\\x38\\x6b\\xbb\\x59\\x77\\x8d\\xe8\\xb7\\xa3\\x6c\\x6f\\xda\\xe9\\x8d\\xbb\\xff\\xb6\\x65\\x51\\xb3\\x1f\\xf1\\xbe\\xea\\xde\\xe1\\x01\\x4f\\x3b\\xd7\\xac\\xdf\\xb0\\x6c\\xda\\x6a\\xf1\\xde\\xd8\\x4f\\x1b\\xef\\x87\\x9f\\x94\\xb8\\xfc\\x15\\xfe\\x30\\xdf\\x13\\xe5\\x83\\x86\\xca\\xf0\\xe6\\x18\\x88\\x45\\x92\\x02\\x16\\x12\\x20\\x85\\x05\\x39\\x5e\\x03\\xb1\\xfb\\x33\\x32\\x52\\x68\\x30\\xc3\\x6e\\x45\\x80\\x85\\x42\\x7a\\xf5\\x46\\x10\\x85\\x9a\\x8e\\x3f\\x74\\xc7\\x28\\xce\\x0e\\xf5\\x2a\\x3a\\xf1\\xb4\\x2c\\x96\\xae\\x60\\x51\\x0a\\xff\\xd4\\x08\\x44\\x56\\x31\\xd6\\x98\\x31\\x2e\\x1c\\x38\\xbd\\x4d\\x4d\\x60\\x50\\x61\\xfa\\x2d\\xde\\xda\\x87\\x6e\\x6b\\xfb\\xca\\x0b\\xf5\\xaf\\xb6\\xbd\\xed\\xa1\\x5a\\xef\\x2d\\xe9\\x85\\x83\\x02\\x35\\x95\\x53\\x6b\\x06\\xce\\x69\\x5b\\x51\\x51\\x39\\xdb\\x59\\x51\\x35\\x35\\xbb\\x34\\x3d\\xb8\\xe4\\xd0\\xe0\\xe5\\x9d\\xd7\\x3d\\xbe\\x7d\\x7d\\xe7\\x95\\x83\\x0e\\x2d\\x09\\xa6\\x97\\x66\\x4f\\xad\\xaa\\xb8\\x65\\x70\\xff\\xfe\\x83\\xba\\xc5\\x6c\\x69\\x56\\x13\\x2f\\xa0\\x94\\xb0\\x99\\x8e\\x75\\x10\\x35\\x02\\xd7\\x9b\\xfa\\xd9\\xea\\x89\\x83\\x2b\\x2b\\x63\\x2d\\x07\\x94\\x76\\x03\\x75\\x4c\\x71\\xc5\\x6a\\x88\\xe2\\xbc\\xcb\\xf5\\x8a\\xdb\\xe6\\xaf\\x33\\x5d\\xd9\\x39\\x9c\\xcf\\x61\\x01\\xce\\x32\\x9d\\x76\\x87\\xee\\x80\\xee\\x65\\x1d\\xd9\\xa1\\xfb\\x4a\\xc7\\x0d\\xd7\\x3d\\xa8\\xa3\\x3f\\xf3\\xa0\\x35\\xf5\\x44\\xc3\\xf7\\x8e\\x80\\xff\\xa5\\x74\\x95\\xca\\x67\\x1a\\xb3\\xd1\\x34\\x57\\x22\\xc3\\x6c\\x7a\\xc2\\xeb\\x75\\x72\\x31\\x2c\\x7c\\xed\\x24\\x6d\\x3d\\x1c\\x5b\\x5b\\x3d\\x3b\\xed\\xa2\\xd0\\x86\\xad\\x3d\\x1f\\xe4\\xa6\\x9c\\xc9\\x45\\x38\\x1c\\xd0\\x0a\\x66\\xaf\\xd7\\x80\\x6c\\x4e\\x27\\x12\\x48\\x92\\xcf\\x83\\x0d\\xb8\\x3a\\x62\\x2e\\x36\\x60\\x83\\xc1\\x6e\\x14\\x95\\x59\\x86\\xa1\\x50\\x65\\x71\\xed\\x0d\\x9a\\x94\\xd2\\xd6\\xb1\\x4a\\x03\\x60\\x7a\\x5d\\x0b\\xff\\x56\\xeb\\x96\\xe8\\xc0\\x14\\x6e\\xd1\\xc6\\xef\\x17\\x3c\\x73\\x68\\xd7\\xc1\\x27\\x0f\\x3d\\x73\\xef\\x95\\xad\\xb8\\xfc\\xee\\x63\\x33\\xf1\\x9d\\xf2\\x5b\\x8f\\x1e\\xe0\\x16\\x44\\x17\\x3d\\xbd\\x03\\x97\\xca\\x8f\\xcd\\x3e\\x36\\x4e\\x3e\\xa5\\xe8\\x24\\x03\\xf3\\x13\\xda\\xc2\\xe9\\xde\\x27\\x5c\\xc1\\x81\\x54\\x3a\\x6c\\x3a\\xe2\\x94\\x26\\x4b\\x0b\\xa5\\x07\\x25\\x32\\x59\\x3a\\x20\\x71\\x48\\xf2\\x4b\\xad\\xa4\\xe1\\xec\\x33\\xd1\\x44\\x6c\\x40\\x7e\\x9b\\x45\\x03\\x1e\\x9c\\x06\\x4c\\x00\\x8d\\x4b\\x99\\xba\\xc8\\x24\\x97\\xd2\\x87\\x92\\x27\\x66\\xb7\\x07\\x6e\\x50\\x4b\\x47\\xc6\\xb4\\xac\\x03\\x69\\xd9\\x07\\xf0\\xda\\x49\\xc4\\x35\\x5c\\xc7\\x97\\xc8\\x4e\\x36\\xeb\\xd1\\x4c\\xbb\\xbe\\x1b\\x8c\\x3c\\xd2\\x68\\xac\\xc0\\x04\\x70\\xda\\x9f\\x8f\\x54\\x51\\x52\\xf1\\x5a\\xe1\\x02\\xe2\\xbf\\x8b\\x15\\x97\\xd7\\x26\\x86\\x87\\xe9\\xe1\\xaa\\x04\\x2c\\x75\\xf0\\x52\\xf8\\x2e\\x8b\\xd8\\x27\\xc8\\x35\\x93\\xd6\\xe1\\xe5\\x5b\\xf1\\x62\\xb9\\xd8\\x90\\xb6\\x10\\x0f\\x98\\x1b\\xc0\\x60\\xeb\\xc8\\x5f\\x92\\xb3\\xd7\\x53\\xc9\\xa8\\xf4\\x21\\xf2\\x53\\xb8\\x53\\x1f\\x38\\xe7\\x0d\\xf8\\x92\\x50\\x0e\\x6b\\xd3\\x8d\\x18\\x1f\\x6e\\x67\\xd0\\x98\\x9d\\x9c\\x04\\x3c\\x07\\x92\\xcf\\xa6\\x8b\\x98\\x89\\xdb\\xe5\\x04\\x28\\x74\\xc6\\xf3\\x11\\x8b\\x13\\x03\\xb3\\x18\\x89\\x53\\xe7\\xd4\\x21\\xc1\\xaa\\x15\\xb4\\xe7\\x23\\xc2\\x05\\x80\\xca\\x74\\x3e\\x82\\xbe\\x8b\\xdf\\xb6\\x33\\xb5\\xa6\\x36\\x66\\xad\\xcd\\x6f\\x36\\xa7\\x43\\xb1\\xb2\\x59\\xe5\\x5c\\x62\\x3c\\x53\\xc2\\x41\\x0b\\x80\\xce\\xad\\x92\\x37\\xdd\\xbf\\x0e\\xbf\\x4f\\x3a\\x44\\xa3\\x74\\xc8\\x1c\\x97\\x1a\\xed\\x3f\\xa8\\xd8\\xf3\\x08\\x2e\\x8f\\x41\\x3f\\x4d\\x3e\\x35\\x45\\xde\\x3f\\x8d\\x4c\\xbf\\xab\\x42\\x7e\\x01\\xce\\xc8\\x32\\xa0\\x5d\\x2a\\xc0\\x6f\\x02\\xf8\\xe9\\x1d\\x41\\xae\\x23\\x29\\x89\\x37\\x6b\\xb5\\x2e\\xc4\\xa3\\xd4\\x34\\x03\\x9d\\x82\\x0a\\x80\\x3b\\x00\\x6a\\x87\\x83\\x17\\x04\\x3b\\x83\\x38\\xe9\\x7c\\x84\\xff\\xee\\x06\\xb1\\x99\\xa6\\xf5\\x53\\x8a\\x05\\x29\\xb2\\xa1\\xb2\\x4a\\xd5\\x6c\\x2c\\xa6\\xe5\\x28\\x55\\x42\\x5b\\x24\\xf5\\xe8\\x53\\xf2\\x5c\\x3c\\x18\\x0f\\xe8\\xdf\\x7f\\xd2\\xd4\\xd7\\xc6\\xdc\\xf1\\xce\\x3b\\x6f\\x56\\x7c\\x77\\xe1\\xe7\\x29\\xe3\\x09\\x7f\\xdf\\x06\\x72\\xf6\\x97\\xdb\\xe7\\x7a\\x6c\\x4b\\xf0\\xe8\\xdb\\x6f\\x92\\xdf\\x91\\x2f\\xec\\x93\\x77\\xd6\\xb0\\xfc\\xb8\\xcf\\x01\\xe6\\x3b\\xd8\\xbc\\x59\\xea\\x97\\xd5\\x84\\x0b\\xf4\\x1a\\xc1\\x4f\\xfb\\x94\\x62\\xab\\x4f\\x10\\x1c\\x46\\xab\\x31\\x98\\xe1\\xd2\\xdb\\x11\\x00\\xeb\\x07\\xb9\\xb6\\x72\\x56\\xf7\\xf9\\x88\\xf5\\x3b\\x2e\\xed\\x7c\\x84\\xbb\\xd0\\xb4\\x55\\x47\\xd3\\xa0\\x61\\x2c\\x66\\xa8\\x9c\\x9f\\x74\\x5c\\xa7\\x5f\\x09\\x1a\\xc6\\x86\\xcf\\x0a\\x31\\xc0\\x55\\x44\\x32\\x86\\x52\\xe0\\xbb\\xfe\\x75\\x65\\x0f\\x8a\\xc8\\x50\\xae\\xfe\\x5b\\x00\\x7e\\x5c\\x39\\x43\\x84\\x2f\\xc4\\xdb\\x7f\\x19\\x77\\xd3\\xac\\x2e\\x13\\xee\\xdb\\x80\\x4f\\xef\\xa6\\xd0\\x73\\x12\\xc5\\x84\\xf9\\x26\\x25\\x80\\xc3\\x44\\x36\\x57\\xdc\\x4e\\x63\\x83\\x16\\x41\\x0f\\xaa\\xcb\\xe1\\x14\\xcd\\xe7\\x23\\xe2\\x05\\xc1\\x02\\x64\\xfe\\xee\\x06\\xb1\\x41\\x2a\\xb9\\x34\\x6e\\xc9\\x6b\\x62\\xd1\\x41\\x32\\x71\\xda\\x27\\x2b\\xe5\\x2d\\xb8\\xfd\\x7f\\xb0\\x6e\\xcd\\xf1\\x23\\xfb\\xde\\xdc\\x51\\x4f\\xce\\x6f\\xf9\\x76\\x0e\\x39\\x1b\\xbd\\x74\\xe4\\x78\\x94\\x7b\\x9f\\x9e\\xb3\\xb0\\x56\\x36\\xac\\x65\\x00\\x2f\\x28\\x43\\xd0\\xe9\\x90\\x86\\x80\\xc3\\x6a\\x34\\x51\\xfe\\xb3\\x08\\xb0\\xb5\\x34\\xdc\\x8e\\xf9\\xf3\\x11\\x7c\\x01\\xe9\\x1a\\x59\\xb1\\x45\\xd8\\x2d\\xa6\\x54\\x1c\\x8d\\x41\\x37\\xa9\\x35\\xf7\\x8f\\xe8\\x73\\x5c\\x66\\xf4\\x33\\x6e\\x2c\\xac\\x12\\x63\\x2f\\x45\\x67\\xf8\\xe1\\x13\\x57\\x6c\\x5d\\x11\\x3c\\x00\\x2d\\x0f\\xdf\\x9b\\x8c\\x02\\xdf\\xb8\\xae\\x4e\\x07\\x40\\xe8\\x2e\\x20\\xfc\\xbf\\xac\\x5b\\x16\\xa0\\x59\\x45\\xec\\xff\\x7e\\x6e\\x2c\\xac\\x99\\x09\\x6b\\xff\\x03\\x5f\\x9a\\x86\\xfb\\x4c\\xc1\\xe5\\xd3\\xae\\xa7\\x2a\\xeb\\xb6\\xc2\\x9f\\x93\\x57\\x85\\xcf\\x80\\x9f\\xe9\\x5c\\x27\\xa4\\x11\\x45\\x87\\xc7\\x23\\x21\\x92\\x9a\\xe6\\x92\\xce\\x47\\x5c\\x1a\\x97\\xc6\\x47\\x7c\\xd6\\xf3\\x11\\xdf\\x45\\xa2\\x3f\\x1f\\x21\\xdf\\x26\\x2c\\xcb\\xe6\\xe5\\x35\\x9d\\x32\\xe4\\x28\\x6d\\x39\\x20\\xa3\\x8c\\x82\\x40\\x15\\x16\\x6a\\x75\\xed\\xfc\\x13\\x6f\\x96\\xde\\x97\\xbb\\x7a\\xdc\\xe3\\xfb\\x8e\\x3c\\x5e\\xb3\\xbd\\x4c\\x3e\\x8b\\x77\\x74\\xfb\\x7a\\xe9\\x79\\xb9\\x81\\x7c\\x75\\x15\\xeb\\xa6\\xce\\xcd\\xed\\x77\\xfb\\x5b\\x47\\x5f\\xf8\\xa4\\x22\\xf4\\xec\\x4c\\x79\\x77\\xaf\\x21\\xd8\\xa1\\xd4\\xa4\\x02\\x6d\\x3a\\x31\\xda\\x84\\xc2\\x5e\\x2d\\x42\\x06\\x3a\\x78\\xc9\\xc0\\x9b\\x8c\\x1a\\x50\\x16\\x74\\xec\\x52\\x13\\x7d\\xd5\\xa2\\x17\\x55\\x42\\x31\\x2f\\x77\\x48\\xd6\\xad\\x5e\\x8d\\xff\\xb3\\x16\\x44\\x1c\\xbc\\x11\\x72\\x56\\x1e\\x8a\\x77\\x02\\x29\\x30\\xba\\x13\\x5f\\x42\\x3f\\xc3\\x1a\\x04\\xb9\\xc2\\x3a\\x8c\\x10\\x2f\\x70\\x17\\xf0\\x77\\x89\\x09\\x0c\\xf0\\x8e\\x9f\\xd7\\xac\\xa1\\x1b\\x47\\x61\\xb2\\xe1\\xcf\\xb9\\x01\\xf0\\xf7\\x56\\xea\\xc1\\xe9\\xcc\\x84\\xe3\\x8c\\x66\\x02\\x0e\\x25\\x41\\x46\\xa3\\xe1\\x7c\\xc4\\x78\\x01\\x89\\xb0\\x4b\\x17\\xd1\\x0d\\xcb\\xa2\\x69\\xf4\\xa5\\x79\\x54\\xb0\\xe2\\xd7\\x56\\x2b\\x4d\\x7d\\x3a\\x76\\xee\\xf5\\x3c\\xee\\xb2\\x09\\x7f\\x8e\\x75\\x9e\\x7e\\x83\\x46\\x0c\\xe7\\x6e\\x99\\x16\\xed\\xf6\\xe0\\x1e\\x65\\xaf\\x28\\x6f\\x0e\\x66\\x74\\xe8\\x18\\x4e\\xc5\\x7a\\x8d\\x8e\\xd2\\x41\\x0b\\x3c\\x6a\\xe0\\x0d\\x46\\x13\\xa7\\xd1\\x6b\\x30\\x69\\xa2\\xbc\\xd9\\x6a\\x37\\x74\\xd9\\x94\\x06\\xe9\\x54\\x8b\\x73\\xfb\\xe5\\xfb\\x67\\x00\\x4d\\x5e\\xd9\\x25\\xdf\\x85\\xdf\\x05\\xba\\xfc\\xa3\\x56\\x5e\\x02\\x84\\x49\\xc2\\x17\\xe4\\xea\\xe8\\x3b\\x74\\xdd\\x42\\x7c\\x89\\xdb\\x0a\\xeb\\x0a\\x28\\x0d\\xec\\x05\\xa0\\x8d\\xa8\\x01\\xee\\x27\\x8d\\x5c\\x18\\xb7\\x18\\x1c\\x94\\xce\\x52\\xe1\\x6a\\x7c\\x96\\xd2\\xe9\\xfa\\xba\\x69\\x0c\\xee\\x52\\xf8\\xe1\\x4b\\x78\\xde\\x4d\\x4f\\x1c\\x8b\\xd1\\x68\\x92\\x10\\x02\\x0d\\x64\\x22\\x1e\\xaf\\x74\\x81\\xe8\\xed\\xc4\\x64\\xbe\\xa0\\x41\\x26\\x0a\\x74\\x93\\x1e\\x99\\x8d\\x3b\\x58\\x5a\\x01\\x87\\x4d\\x90\\x64\\x65\\xbb\\x59\\x5f\\x4c\\x65\\xbc\\x85\\x8d\\x0c\\x23\\x7c\\xa0\\x61\\xe4\\xb5\\x54\\x1b\\x59\\x70\\x18\\x35\\xe8\\x92\\x75\\xa9\\xd7\\x0e\\x00\\xac\\x1b\\xe7\\x64\\x48\\x77\\x45\\x6f\\xe1\\x76\\xf5\\xec\\xb2\\x2d\\x3a\\x16\\xa4\\xbb\\x8f\\x67\\x5c\\xe0\\x0e\\x6e\\x7f\\x8c\\xe7\\x63\\xfc\\x64\\x44\\x45\\x61\\x49\\x04\\x1a\\x82\\x64\\x19\\x79\\xa3\\xc9\\xac\\xc1\\xbc\\x3e\\x91\\x97\\x2a\\x9b\\xb1\\x92\\x0e\\x2b\\xeb\\xb3\\x16\\xa6\\xdc\\xa3\\xb2\\x49\\x58\\xb0\\x03\\xff\\x26\\x2e\\x82\\xf7\\x95\\xef\\x8c\\xde\\x0d\\x18\\xbf\\xd6\\x6f\\x08\\xb7\\xaa\\xf9\\x3a\\x26\\x54\\x10\\x76\\x9a\\x08\\x9d\\xa6\\xa1\\xd3\\x22\\xad\\xd9\\x22\\x18\\x45\\x7c\\x41\\x47\\xa9\\xa7\\x64\\x6c\\x36\\x5d\\x85\\x12\\xd1\\xa9\\x8c\\x6e\\x2c\\xad\\xc0\\x45\\x0b\\x45\\xfc\\xdb\\xe3\\x0b\\x05\\xd9\\x4c\\x49\\x1a\\x9d\\x6e\\xde\\x49\\xda\\x5d\\x4f\\xe5\\x1e\\x1e\\xd4\\xed\\xfa\\x29\\xd0\\x8d\\xf9\\x20\\xbf\\x17\\x41\\x7e\\x69\\xfe\\x33\\xe8\\x46\\xbb\\x68\\x44\\x22\\xf2\\x78\\x75\\xa0\\x15\\x75\\xdf\\x12\\x10\\x61\\x72\\xf1\\x46\\xba\\x91\\x06\\x29\\xd8\\x68\\x27\\x94\\x58\\x3e\\x42\\x2e\\x36\\x7c\\xfd\\x65\\x83\\x7c\\xf6\\x4b\\xd4\\xf0\\xe0\\x73\\x8f\\x6e\\x3f\\x74\\xe8\\xb1\\xc7\\x9f\\x25\\x5f\\xfd\\x20\\x5f\\xc2\\xf6\\xab\\x3f\\x62\\xa3\\xfc\\xcb\\x0f\\x2f\\xbe\\x4d\\xe5\\xf3\\x8c\\x12\\x33\\x2a\\xc5\\x5f\\x70\\x9f\\x09\\x75\\x60\\x7b\\x65\\xa2\\xdb\\xc2\\x19\\x0e\\x0d\\xef\\x76\\xb9\\x52\\xa8\\x31\\x11\\xd4\\x5b\\xf5\\x59\\xd9\\x0e\\x0d\\x1c\\x3a\\x49\\xe7\\xc0\\xc1\\x31\\x11\\x97\\xc9\\x7f\\x2e\\x62\\x52\\x60\\x29\\x0e\\xc5\\xee\\x05\\x6e\\x1c\\x38\\xa2\\x61\\x94\\xd8\\xfc\\x54\\xd5\\xa6\\x57\\x42\\x47\\xee\\x84\\x10\\x29\\x5e\\xde\\x77\\xc4\\xa2\\xbe\\xb7\\x0c\\xb8\\xe3\\x2f\\xcf\\x3e\\xf3\\xe4\\xf0\\x81\\xdd\\xfa\\x2c\\x1c\\x1a\\xb9\\x73\\xea\\xa8\\x7b\\xee\\xb9\\x73\\x0a\\xff\\xea\\xc2\\xc9\\x77\\xef\\xf4\\xf9\\x9e\\x9a\\xfd\\x52\\xdd\\xe1\\xbf\\xce\\xdd\\x93\\xe2\\x7e\\x6c\\xca\\x8c\\x39\\x77\\x3e\\x3c\\x6b\\xfd\\xd2\\xe5\\x0f\\xce\\x7a\\x98\\xc1\\x0e\\x3c\\x4d\\x7c\\xb0\\x37\\x7a\\x96\\xc9\\x96\\x64\\x11\\x04\\xd1\\x00\\x94\\xb3\\x3b\\x2c\\x54\\xe1\\x5a\\x44\\x8d\\x06\\x4e\\x17\\xcd\\x05\\xf1\\xbb\\x3f\\x8b\\xc1\\x28\\xa7\\x35\\x0b\\xc4\\x68\\xe8\\x49\\x17\\x28\\x21\\xbe\\xba\\x2d\\xf2\\xf7\\xab\\xf1\\xa6\\xbf\\x1c\\x58\\xfd\\xe9\\x35\\x8c\\xdf\\xe7\\xb7\\xaf\\xde\\x2d\\x2f\\x20\\x67\\x1f\\x5f\\xfd\\x57\\x79\\x91\\xba\\xe6\\x14\\xd5\\x7e\\xe8\\x1d\\xce\\xc5\\x46\\xbb\\xc9\\x4e\\xb9\\xcf\\x64\\x32\\xeb\\x78\\x9d\\xcb\\x6d\\xe4\\xec\\xa0\\xd0\\x2c\\x76\\xd0\\xf6\\x76\\x3b\\x18\\x10\\x36\\x6a\\x40\\xa8\\xdc\\x98\\xa8\\xe8\\x6f\\x1c\\x87\\x01\\x93\\xc6\\x16\\x8b\\x0b\\x81\\x22\\x28\\x55\\x2e\\xed\\xb8\\xf7\\xfe\\x23\\x7f\\xb5\\x1a\\xbf\\xfe\\x97\\x03\\x73\\xef\\xc6\\x96\\x23\\x1f\\xca\\xef\\xe3\\xd0\\xb0\\xc9\\x20\\xe6\\x5b\\xe4\\xd1\\xe4\\xec\\xa6\\xfb\\x27\\x6c\\x94\\xe4\\xfe\\xdc\\x2b\\xcf\\xc8\\x5b\\x86\\x31\\x9e\\xcd\\x03\\x18\\xbb\\x32\\xfb\\x30\\x23\\x6c\\xc7\\x9c\\xc8\\xf1\\x04\\x9c\\x67\\x9e\\x1e\\x43\\xc2\\x05\\x4e\\xa1\\x46\\xdc\\x74\\x56\\x8d\\x75\\xea\\x2d\\xca\\x0f\\xc8\\xf5\\x24\\x59\\xa8\\xb9\\xbe\\x0e\\x4e\\x59\\xf5\\x4c\\xcb\\x06\\xde\\xa4\\xef\\xb2\\xd1\\xb9\\xe2\\x22\\x31\\x5a\\x88\\xc5\\xee\\x30\\xf1\\xca\\xc1\\x79\\x31\\x96\\xa3\\x99\\xc0\\x96\\x8d\\xbd\\x81\\xd5\\x9e\\x01\\xf8\\xe0\\x91\\x0f\\x56\\x2f\\xba\\x77\\xe1\\xf2\\xd5\\x9f\\xe0\\xcf\\xdf\\x7c\\x96\\x9b\\x15\\x5d\\xbf\\x74\\xd5\\x43\\xcb\\xb9\\x91\\xd1\\x47\\xea\\xde\\x63\\x6b\\x60\\x7c\\x89\\xff\\x0d\\xd6\\x70\\xa2\\xac\\xb0\\xd3\\x69\\x37\\xe8\\x78\\xc9\\x65\\xbe\\x60\\xb0\\x03\\xd8\\x0e\\xdd\\x05\\xac\\x8d\\x6b\\x42\\x45\\xa9\\x50\\x8f\\x11\\xd4\\x88\\xa8\\x61\\x77\\xee\\x54\\x8b\\x38\\x5c\\x6e\\x47\\x88\\xfc\\xbc\\x6b\\xb7\\xcb\\x61\\x4e\\xde\\xbd\\x4b\\xfe\\xfd\\xe1\\x53\\x9e\\x94\\xbf\\xdc\\xbf\\x3b\\xd3\\xf6\\xc6\\x7a\\xd0\\x25\\x33\\xaa\\x17\\x8f\\x98\\x1c\\x5d\\x09\\xa2\\x7d\\xf0\\x9e\\xe9\\x70\\x8e\\x6e\\x5c\\x33\\x80\\xf4\\x84\\xbd\\x6c\\x07\\xb8\\x69\\xf8\\x5f\\x58\\x9d\\xcf\\xf8\\x70\\xdb\\x42\\x62\\xb6\\xf8\\xb5\\x39\\x39\\x3e\\x49\\xb2\\x10\\xd2\\xaa\\xb5\\x5f\\x4c\\x11\\xf3\\xce\\x45\\x44\\x11\\xd9\\x2c\\xe6\\x34\\x73\\xb1\\x99\\x58\\x88\\xd9\\x6c\\xb3\\x19\\xce\\x45\\x6c\\x57\\x52\\x3c\\xe7\\x22\\x29\\x29\\x08\\x65\\x9c\\x53\\x34\\xa8\\xd2\\x02\\xad\\xd9\\x45\\x76\\xf3\\x99\\xbb\\xa1\\x46\\x1a\\x95\\x82\\xd3\\x18\\xef\\xb3\\x42\\x37\\x5c\\x69\\xa7\\x2c\\xb1\\x8a\\xd6\\xa0\\x19\\x67\\xb3\\xee\\x45\\x1a\\x36\\x81\\x1e\\x27\\x4d\\x9e\\xb4\\x65\\xd7\\x93\\x3d\\x7b\\xf7\\xee\\xa1\\x59\\xe8\\xc7\\x9a\\x95\\xab\\x93\\x73\\x1c\\xae\\x50\\x41\\xd7\\x76\\x02\\x5f\\x3c\\x3b\\x7c\\xd3\\xd8\\x0e\\xf7\\xcf\\x1b\\xd1\\x09\\x7f\\x3e\\x7b\\xdc\\xac\\xf9\\x84\\xe4\\x0d\\xeb\\xd5\\xb6\\xca\\xf8\\xce\\x7d\\xf3\\xe4\\xfa\\xca\\x4a\\xe1\\x76\\x43\\x8f\\x9e\\x03\\x6e\\x1b\\x16\\x9e\\xd0\\xbe\\x23\\x47\\x6e\\xef\\x5d\\xd5\\x19\\xfc\\x87\\x2b\\x70\\xee\\xd5\\xab\\x78\\xdf\\x15\\xce\\xcc\\xf5\\x6b\\xb5\\x49\\x4e\\xb3\\xa5\\x90\\x10\\x8b\\x13\\xf0\\xce\\xd5\\x9c\\x8b\\xf8\\x73\\xc3\\x3a\\x63\\xb7\\xdc\\xdc\\x14\\x1b\\x43\\xf4\\x8a\\xb9\\xbe\\xe1\\xe5\\xb0\\xdd\\x6c\\xeb\\x16\\x23\\xc0\\x45\\x86\\xf9\\x95\\xc4\\x1e\\x39\\xf9\\x71\\x21\\x6b\\x3e\\x32\\x90\\xe2\\xdc\\xec\\x72\\x5e\\xa4\\xb1\\xbd\\xc6\\x74\\x5a\\x97\\x3b\\xd4\\x11\\xbb\\xd3\\xcd\\x38\\x05\\x57\\xb0\\x60\\x13\\xfe\\x54\\xc5\\xb9\\x57\\x0f\\xfd\\x42\\xbf\\xfc\\x7b\\x22\\xce\\x79\\xf3\\x3a\\x75\\x19\\xdb\\x8e\\xe2\\xcc\\xff\\x12\\xc7\\xb9\\xac\\x0b\\xc5\\x19\\x77\\x53\\x71\\xee\\xdb\\x73\\x58\\xa7\\x89\\x6d\\xe3\\x38\\xd3\\xbd\\xe6\\x9e\\xe1\\xaf\\x82\\x4f\\x9f\\x4e\\xa7\\xda\\xa7\\x18\\x5d\\x2e\\x9b\\x5b\\xb4\\x89\\x19\\x41\\xf3\\x65\\x03\\xd2\\x12\\x2d\\xa8\\x36\\xed\\x15\\x02\\x9a\\xce\\x49\\xb5\\x6d\\x28\\xc1\\x42\\xaa\\x4a\\x6c\\xc1\\x1d\\x1f\\x77\\xa3\\x34\\x61\\x2a\\xad\\x08\\x69\\x6c\\x4e\\x77\\x30\\xab\\x0c\\x27\\xd4\\xb2\\x71\\xc5\\xc1\\x49\\xfd\\x1e\\x58\\x8c\\xcd\\xfd\\x26\\x07\\xb1\\x66\\x3a\\xcf\\x4f\\x17\\xe5\\x15\\xbd\\x6b\\xc7\\x0c\\x1d\\x7a\\xd7\\x90\\xbe\\xdc\\xa8\\xdb\\xaa\\xfe\\x76\\x12\\xaf\\xe9\\x74\\x73\\xa8\\xeb\\x72\\x39\\x6f\\x54\\x9b\\xbc\\xde\\x98\\x3c\\xbe\\x62\\xc3\\x63\\x1b\\x1f\\x78\\x40\\xb9\\x87\\x29\\xc4\\x9f\\xf3\\x9b\\x61\\x7f\\x72\\x58\\xee\\xc5\\xc6\\x70\\x51\\x99\\x36\\xc7\\x14\\x6c\\x57\\xea\\xf1\\xe0\\x76\\x85\\x69\\x0e\\x47\\xbb\\x1c\\xd2\\xbe\\x43\\x4e\\xd9\\xb9\\x48\\x4e\\x4e\\xa6\\x21\\xd7\\x0d\\x3a\\xd9\\x1a\\x0c\\xa8\\x1b\\x66\\x0d\\xa4\\xd2\\xad\\x4a\\x87\\xad\\x4a\\x4d\\x0d\\x04\\x7c\\xe7\\x22\\x81\\x40\\x66\\x66\\x9b\\x73\\x91\\xcc\\x8b\\xd6\\x56\\xe7\\x22\\xd6\\x2b\\x1a\\x0d\\x78\\x87\\xe7\\x22\\x86\\x2b\\x37\\x48\\xbf\\x88\\x37\\xf2\\x03\\xce\\x55\\x6f\\x3b\\x12\\x47\\x5f\\x26\\xa6\\x5f\\xd0\\xe4\\x0b\\x65\\x0c\\x04\\x0b\\xd0\\xb8\\x5b\\xa6\\x5f\\xc0\\x0e\\xc7\\xb3\\x2f\\x70\\xb3\\xec\\x0b\\xae\\x94\\xbb\\x6b\\x68\\xf5\\x70\\xdb\\xf8\\xcc\\x4d\\x93\\x3e\\xbd\\xa5\\x62\\xcd\\x9d\\x53\\xa6\\x6c\\x7d\\xfa\\x89\\x1e\\x7d\\xfa\\xdc\\xae\\x5f\\xe4\\x97\\xaf\\x3e\\xdd\\xb9\\xf7\\x16\\xf9\\x28\\xb7\\x78\\xe9\\xc2\\xbb\\xba\\x54\\x75\\x1d\\x57\\x19\\xbd\\x6e\\xb8\\xa3\\x76\\xc0\\x9d\\x02\\x59\\x6c\\x5c\\x7c\\xdf\\x4d\\x21\\xff\\xb0\\xfe\\x87\\xef\\xec\\x13\\xdf\\xf9\\xf2\\xce\\xc6\\x77\\x46\\x8c\\xc0\\x8f\\xd8\\x24\\x8e\\xf4\\xe9\\xd5\\xe1\\xe6\\x4e\\x77\\xb7\\x5f\\x39\\x7b\\xe2\\xec\\x89\\xec\\x8c\\x18\\x04\\xfb\\xfe\\x96\\x88\\x90\\x07\\x65\\xd0\\x6e\\x24\\x36\\x21\\x2d\\xcd\\xec\\x05\\xbf\\x39\\x33\\xcb\\x2e\\xb8\\x38\\x57\\xf2\\xb9\\x88\\xeb\\x8a\\xe5\\x12\\x97\\x7e\\x2e\\x62\\xe4\\x62\\xfb\\x5e\\xd5\\xe4\\x5c\\x8b\\x6d\\xbb\\x35\\x40\\x25\\xd3\\x69\\xe6\\xa4\\x20\\xd3\\x6c\\x9a\\x10\\xc3\\x39\\xf1\\xec\\xe5\\xde\\x92\\xaf\\xf6\\x9b\\x14\\xc4\\x1c\\x47\\x66\\xf0\\x73\\x08\\x61\\x5c\\xb0\\x30\\xb6\\xf1\\x64\\xbc\\x7c\\x4f\\xd5\\xcd\\xf6\\xec\\x74\\x0f\\x69\\x33\\x8a\\xcc\\x96\\x3f\\xba\\x1b\\x18\\xe1\\xd4\\x63\\xab\\xd7\\x6f\\xdf\\xb8\\xe6\\x01\\x14\\xe3\\x51\\x80\\x95\\xf2\\x68\\x55\\x38\\xcd\\x2d\\xa6\\x98\\x5d\\x2e\\x87\\x4d\\xb4\\x05\\x33\\x2c\\x97\\x4c\\xff\\x1b\\x93\\x86\\x9a\\x0e\\x65\\x52\\xb8\\xb4\\x8c\\xf5\\x0a\\xfb\\x73\\x2e\\x05\\x90\\xf1\\x9c\\x1b\\x31\\xe9\\xda\\xf0\\xcd\\x60\\xa6\\xb5\\xbf\\xbe\\x2c\\x81\\x4b\\x57\\xc7\\x61\\x7d\\x13\\x78\\xd4\\x01\\xe6\\x41\\xef\\x70\\x1e\\x9c\\xb5\\x4e\\x47\\x12\\x18\\x09\\x0e\\x53\\xb2\\x0f\\x34\\x26\\x49\\x42\\xe7\\x22\\x49\\x94\\x25\\x93\\x92\\xf4\\x56\\xab\\x9b\\x72\\x9e\\x9e\\x9c\\x8b\\xe8\\x9b\\x5a\\xd3\\xf9\\x2d\\x9b\\xfe\\x2b\\xe6\\x53\\x42\\x0a\\x0f\\x2b\\x91\\x6d\\x9c\\x3a\\xf2\\xd7\\xb1\\x23\\x29\\xe3\\xa4\\x6d\\xbd\\x67\\xd7\\xde\\xbd\\x3b\\x70\\x97\\xf9\\xc0\\x1a\\x91\\xbb\\x04\\xd2\\xf3\\xbe\\x35\\xc0\\x19\\x83\\x23\\x6f\\xbc\\xf1\\xd2\\x29\\x79\\xbc\\xed\\x0e\\xc6\\x01\\x8d\\x70\\xda\\x59\\x56\\x5d\\xc0\\xa1\\x81\\x6f\\xbc\\x46\\xbb\\x31\\xc9\\x67\\x77\\x9c\\x8b\\xd8\\x45\\xbb\\x68\\xd1\\x59\\x5c\\xe7\\x22\\x96\\x8b\\x3a\\x00\\x4f\\x77\\xe5\\x06\\xbe\\x51\\x22\\x13\\xc4\\x34\\xb6\\x5a\\x98\\x04\\xdc\\xad\\xc6\\xfa\\xb8\\x6e\\x0a\\x5c\\xe1\\x2b\\x14\\x2c\\xf9\\xaf\\x31\\xb0\\x16\\x33\\xb0\\xea\\x28\\x54\\xc0\\xa1\\x77\\xa8\\x7c\\x89\\x51\\x1b\\x80\\xeb\\x0e\\x80\\x2b\\x1d\\x8d\\x0d\\x57\\x88\\x1e\\x8b\\xa4\\xd7\\x27\\x11\\xab\\xc5\\xe2\\x27\\xfe\\x60\\x46\\x5a\\x1a\\x12\\xdd\\x1e\\x37\\x68\\x5e\\xab\\xd5\\x64\\x71\\xe3\\x54\\xe2\\xa6\\xa4\\x74\\xbb\\xc1\\xcc\\xb0\\x83\\xb8\\x5f\\x41\\x29\\xe7\\x9a\\x3b\\x26\\xf9\\x70\\xe4\\xc4\\x4e\\x1c\\x7b\\x0b\\x92\\x2a\\xd6\\x45\\x93\\xb6\\x2e\\xf1\\xb9\\x98\\x21\\x29\\xbd\\xb1\\xa7\\x4b\\xf7\\x45\\xeb\\x46\\xf7\\xef\\x36\\x7c\\xf5\\xe4\\x6f\\x52\\x27\\xda\\x16\\x55\\x75\\xfe\\xe0\\xab\\x9e\\xe1\\x15\\x19\\x77\\xa7\\x2e\\xc5\\x9f\\xcf\\x19\\xd7\\xfd\\x2e\\x1d\\xa7\\x19\\xde\\x75\\xd0\\xa4\\x23\\xe6\\x51\\xed\\x4b\\xe7\\x0c\\x5f\\x1d\\xee\\x3c\\x2d\\x6d\\x70\\x8d\\xea\\x83\\x72\\x11\\x76\\xa6\\x00\\x3e\\x86\\x94\\x24\\xa7\\x24\\xf1\\xc4\\x9c\\x94\\xa4\\x0b\\x90\\x40\\x46\\x66\\x8a\\x91\\xe7\\x0d\\xc8\\x08\\x07\\x87\\xc5\\x08\\xd8\\xd0\\xf9\\x34\\xdd\\x9c\\x46\\xa7\\xd1\\x8d\\xdc\\xb6\\x73\\x11\\xf7\\x15\\x24\\x36\\xc3\\x87\\xd1\\x3e\\x16\\x64\\x01\\x64\\x6e\\x6c\\x64\\x36\\x86\\xbc\\x83\\x65\\x25\\x65\\x4d\\xf7\\x26\\x96\\x79\\xd2\\x75\\xea\\xd2\\xd4\\xbb\\x33\\x56\\x84\\x7b\\x7e\\xf5\\x41\\xe7\\xaa\\x70\\x77\\xcd\\xc4\\xd4\\x6f\\xee\\x79\\x60\\x44\\xd7\\xfe\\xa3\\xd7\\xe3\\xcf\\x6b\\x06\\xa7\\x4d\\xeb\\x1c\\x5e\\x3d\\x7c\\x4e\\x69\\xfb\\xb2\\x56\\xe6\\x23\\x93\\x06\\xdd\\x32\\x4c\\xc3\\xe9\\xc6\\xdc\\x36\\x6e\\x0e\\xd3\\x1d\\xed\\xd0\\x31\\x38\\x33\\x7e\\x46\\x69\\x28\\x1f\\x8d\\x0c\\x97\\xfa\\x5d\\x5a\\x6d\\x72\\x52\\x0a\\x4f\\x48\\x96\\x25\\xc5\\x52\\x58\\xe0\\xbd\\x2c\\xe9\\xec\\x3c\\x6f\\x44\\xc6\\x5c\\x8a\\x57\\x9a\\x91\\xd3\\x11\\xa3\\x11\\xd9\\xed\\x41\\x60\\x2c\\x05\\xa5\\xef\\x6f\\x18\\x34\\xa2\\xf8\\x34\\xeb\\xf5\\xa9\\xde\\x96\\xab\\x08\\x75\\xc0\\xc1\\xc6\\xda\\x70\\x38\\x64\\xca\\x2b\\x42\\x16\\x0c\\xa6\\x94\\x23\\x41\\xd7\\xe0\\x69\\xf3\\x57\\x3a\\xe6\\x26\\xad\\xac\\xe7\\x6e\\xf9\\xcb\\x03\\x73\\x56\\xae\\xec\\x35\\xd5\\xcf\\x69\\xb8\\x29\\x98\\x6c\\x4c\\x1d\\x5f\\x33\\x74\\x40\\x9f\\xe1\\x91\\xbb\\x8f\\x8d\\xe9\\x6f\\x9f\\xf8\\xcf\\xb9\\x0f\\xbf\\x72\\xfc\\xad\\xe3\\xb7\\xdd\\x9c\\x31\\x84\\x48\\x2b\\xa2\\x2f\\x3c\\xfe\\x38\\xf7\\xd4\\x03\\xdb\\x1f\\xd8\\xbe\\xfd\\xfe\\xc7\\x58\\x4f\\x13\\xf4\\x2e\\xfa\\x98\\x3f\\xcf\\x72\\x6b\\x32\\x59\\xa5\\xae\\x80\\xb1\\x4e\\xab\\xb9\\xcc\\x81\\x6f\\xc8\\x51\\xd3\\xf9\\x64\\xcc\\x3b\\x8c\\xc9\\xa6\\x9a\\x60\\xf3\\xf1\\xec\\xd9\\xb3\\x71\\xb7\\xd9\\xb3\\xc9\\x63\\x51\\x81\\xbb\\x46\\x79\\x60\\x28\\xd8\\x5a\\x47\\x41\\x7f\\x19\\xa8\\xf6\\x02\\xdf\\x96\\xb9\\xb5\\x06\\x13\\x1b\\xb1\\xdc\\xe8\\xdb\\x5e\\x16\\x2e\\xa9\\xf6\\x70\\x55\\xdc\\xb9\\xb5\\x85\\x9a\\x71\\x2a\\x49\\x70\\x6e\\xf3\\x7f\\x1f\\x34\\x67\\x0e\\xee\\xfc\\xa0\\xfc\\x21\\x6e\\x07\\x46\\xef\\x90\\x9e\\xf2\\xcf\\xbc\\x2b\\x3a\\x15\\x4f\\x91\\xeb\\xe5\\x9e\\x74\\xdd\\x5a\\xb0\\x1f\\x0b\\x81\\xf7\\x32\\x69\\x5c\\xdf\\xa4\\xd5\\xea\\x32\\x51\\x4a\\x72\\x32\\xd2\\x81\\x91\\xe8\\x09\\x9c\\x8b\\x78\\xae\\x48\\x74\\xe6\\x22\\x4f\\x77\\xc5\\x70\\x19\\xa5\\xe8\\x14\\x27\\x35\\xae\\x39\\x5b\\xce\\x96\\x50\\xc8\\x0c\\x10\\x64\\x87\\xdc\\x92\\xa2\\xe6\\xdd\\x21\\xc6\\x57\\x4a\\x7b\\x39\\xfa\\x4b\\x4e\\xdf\\xa6\\x57\\xaf\\x21\\x73\\xc8\\x54\\x81\\xcb\\x1a\\xd5\\xa3\\xdf\\x1d\\x4e\\xae\\xf3\\xd6\\xc9\\xa3\\x66\\xb7\\xb9\\xbd\\xd7\\x60\\x00\\xf2\\xdc\\xf8\\x9a\\x39\\x53\\xe5\\xae\\x5c\\xcd\\x13\\xc3\\x83\\xbd\\x3a\\x77\\xed\\xfe\\xd0\\x82\\x35\\x32\\x4f\\x3f\\x9d\\x39\\x43\\xee\\xca\\x60\\x06\\xde\\xda\\x07\\x30\\xa7\\xa2\\x36\\xe1\\x54\\x97\\xcd\\x66\\xd7\\x81\\x4f\\x6e\\x27\\x69\\x7e\\x9f\\xe9\\x5c\\xc4\\x77\\xc5\\x6d\\x77\\x5e\\xb6\\x7f\\xc7\\x69\\x60\\x0f\\xbe\\x8f\\xe7\\x7c\\x36\\x81\\x94\\x7a\\x2f\\xf1\\x2e\\x47\\x37\\x00\\x58\\xe2\\xf6\\x1d\\xcf\\xcd\\xf3\\x15\\x56\\xdf\\x34\\x70\\xe0\\x5d\\x73\\x29\\x98\\x05\\x13\\xfa\\xce\\x9d\\x88\\xd7\\xbe\\xa7\\x9f\\x66\\x18\\xc3\\x95\\xdd\\x3d\\x30\\x0e\\x60\\x75\\xa7\\x05\\x6b\\x62\\x3a\\xfd\\x2d\\x80\\x49\\x07\\xbe\\x0d\\xf8\\xa1\\x56\\x16\\xa3\\x73\\xb9\\x35\\x00\\x91\\xe6\\x0a\\x07\\xea\\x92\\xbb\\x91\\x1f\\x6a\\x0d\\xa8\\xe7\\x4c\\xb3\\x93\\xb0\\x6e\\xcb\\xd3\\xf8\\xb6\\x7d\\x8f\\x2e\\x1c\\x3c\\xee\\xee\\xe1\\x43\\x47\\x4f\\x1c\\x46\\xc6\\xc8\\xd3\\x5e\\x79\\x13\\xaf\\x7a\\xed\\xe4\\xb6\\xb5\\xeb\\x1e\\xdd\\xb0\\x69\\xbd\\x52\\x43\\x02\\x6b\\x3e\\x0e\\x6b\\xba\\x51\\x79\\xd8\\x27\\x88\\xa2\\x1d\\x81\\x72\\xf6\\x78\\xa9\\x4a\\x76\\x38\\x2c\\x17\\x05\\x41\\x17\\xd7\\xcb\\x09\\xfd\\xab\\x12\\x7d\\xb8\\xa6\\xb7\\x44\\xf1\\x71\\x45\\x5c\\x60\\xe0\\x88\\xe5\\xae\\xf9\\xd2\\x86\\x49\\x9b\\x77\\x3e\\xb1\\x65\\xfa\\x66\\xf3\\x5c\\x43\\xcd\\x4d\\x2f\\x90\\xf1\\x8f\\x2d\\x5f\\xa5\\x9f\\x38\\xe3\\xad\\xe3\\x27\\x4e\\x2f\\x99\\xa8\\xed\\x71\\x2b\\x85\\xa1\\x1d\\x19\\xc3\\xf0\\x6e\\x99\\x7f\\x10\\x3f\\x11\\xfe\\x34\\xff\\x00\\xe8\\xdc\\x83\\x62\\xb8\\x90\\xe2\\x4a\\xc6\\x50\\xd4\\x28\\x8a\\x0c\\x37\\x46\\x4f\\x32\\x06\\xde\\x9b\\x0d\\xef\\x15\\x8c\\x40\\x4d\\x93\\xd9\\x28\\x70\\x61\\x4e\\x07\\xb4\\xa4\\x89\\x44\\x74\\x10\\x47\\x49\\x0b\\x62\\x86\\x94\\x43\\x5a\\xa1\\xe1\\xc2\\x46\\xda\\x01\\xcd\\x1e\\x65\\x36\\x0d\\xf0\\xce\\x5b\\x60\\xcb\\x52\\x9b\\xa6\\x43\\x38\\x2d\\xcd\\x0e\\x2c\\xef\\x85\\x5d\\x03\\x9b\\x86\\x8f\\xd9\\x34\\xc6\\xcb\\xba\\xef\\xa9\\x55\\x13\\xdb\\xb2\\x3f\\x37\\x6a\\xb2\\x83\\x8c\\xad\\x8b\\x71\\xc8\\x99\\xca\\x49\\x37\\x36\\x6a\\x9e\\x6a\\xcf\\x93\\x39\\x04\\xcf\\x20\\x60\\xd9\\xa4\\xdf\\x3d\\x60\\xc5\\xd2\\x85\\xfd\\x06\\x8d\\x1f\\x1c\\x33\\x6a\\xee\\x13\\x6f\\x91\\x9f\\x26\\xab\\x96\\x49\\x9c\\x37\\x23\\xcf\\x7e\\x6b\\xd5\\xf1\\xd3\\x3b\\xef\\xdf\\xf8\\xe8\\xc6\\xd5\\x6b\\x59\\x4c\\xf4\\x4b\\x7c\\x9f\\xb0\\x16\\x7c\\xbb\\xca\\x70\\x8a\\xc1\\x62\\xd1\\x8a\\xe0\\x2b\\xf3\\x04\\x1c\\x3c\\x51\\x03\\x1a\\xd2\\xa0\\x0b\\x83\\xaa\\xb1\\x37\\xc2\\x99\\xf4\\x4e\\x93\\xc1\\x64\\x0a\\x55\\x60\\x57\\x69\\x8c\\x2d\\x54\\x11\\x92\\xe8\\x8d\\x33\\x3b\\xac\\xf0\\x7d\\xed\\xc3\\xeb\\xfb\\x0f\\xca\\xe8\\xb3\\x7c\\x79\\x7a\\x7e\\x52\\x21\\xfe\\xc9\\xb6\\x0f\\x47\\x6b\\xf7\\xee\\xad\\x95\\xd3\\x2a\\x0a\\x74\\x8c\\xfe\\x83\\x81\\xfe\\x7b\\x41\\xb7\\x49\\xa8\\x75\\x18\\xb8\\xd8\\xa4\\xc7\\x4e\\xbd\\xd3\\xed\\x32\\xd9\\xb4\\xd2\\x65\\xa3\\xcd\\xc6\\x33\\x37\\x26\\xa1\\xd8\\xa2\\x49\\x9b\\xdb\\x46\\x17\\xd6\\x1d\\xa4\\x0e\\x19\\xeb\\x3e\\xf7\\x21\\x15\\xa6\\x39\\xfc\\x34\\x9e\\xcb\\x9b\\xd8\\x6f\\xee\\x44\\xfe\\xbc\\x9c\\x3c\\xb1\\xff\\x9c\\xa9\\xf8\\xc5\\xe8\\x9e\\x27\\x16\\xf7\\xe8\\xb2\\x60\\x0d\\xbe\\x0e\\xeb\\xe6\\x73\\x6e\\xe2\\xe7\\x47\\xc3\\xba\\xe5\\xe1\\x24\\x2d\\xec\\xb9\\x19\\xf4\\x9f\\x0d\\xd9\\x5c\\x6e\\x09\\x9d\\x8f\\x48\\x26\\x2d\\x8d\\x01\\xeb\\x69\\x61\\x74\\x63\\xe7\\xec\\xe6\\x39\\x01\\xb1\\x9b\\xec\\x0a\\x29\\x7e\\x7f\\x9d\\x8f\\xcf\\xd0\\xc5\\xe4\\x41\\x5c\\x97\\x27\\x16\\xf7\\xec\\x0c\\x1a\\xc5\\xc3\\x3d\\xd4\\x14\\x20\\xc5\\x67\\xaf\\xc5\\x5f\\x80\\x3e\\xbc\\x80\\xb2\\xd0\\x6d\\xe1\\x4c\\x93\\x46\\xa3\\x97\\x70\\x66\\x5a\\x72\\x72\\xa6\\x9e\\xe4\\x64\\x9b\\x25\\x6f\\x96\\x36\\xe5\\xb2\\xd1\\xce\\xf4\\xa1\\xdd\\xeb\\x05\\x1e\\xf1\\x5e\\x44\\x89\\x0e\\x40\\x55\\x48\\x0d\\x9b\\x35\\x6b\\x5d\\x98\\x40\\x90\\x62\\xac\\x50\\x24\\x4e\\x98\\xb8\\xc7\\xcf\\x2d\\x54\\xd5\\x22\\x0f\\x8a\\x7b\\xc4\\x6d\\x54\\x2f\\xfa\\xc7\\x0c\\xbc\\x67\\x24\\x53\\x8c\\xfc\\x05\\x39\\x99\\x2a\\x46\\x46\\xaf\\xe1\\xc1\\xbe\\x1d\\xbb\\x76\\xef\\xdc\\x8b\\x12\\x8d\\x7e\\x3c\\x73\\x06\\x7e\\x51\\xa9\\x1f\\xff\\x05\\xce\\x91\\x9d\\xb0\\x6f\\x3a\\x94\\x1a\\x36\\x09\\x7a\\x9d\\x81\\xd3\\x0b\\x58\\xcb\\x5d\\x66\\xb1\\x5c\\xba\\x51\\xb1\\x7a\\x10\\x4c\\x03\\x00\\xe0\\x7a\\x38\\x42\\x78\\xed\\x43\\xf2\\xbf\\x17\\xef\\x6c\\x65\\x76\\x3e\\xbf\\x18\\x9e\\xbe\\x26\\x5b\\x76\\x97\\x76\\xe6\\xd4\\x39\\xcc\\x3c\\xfe\\x82\\x78\\x41\\xbe\\xb3\\x69\\x7c\\xdc\\xa5\\xb3\\xeb\\x8c\\x84\\xa4\\xa4\\x90\\xdc\\x1c\\xbf\\x17\\x3c\\xdd\\x8b\\xc9\\x19\\x48\\xe7\\xb2\\xf0\\x3c\\xb2\\x34\\xb1\\x43\\x58\\x4f\\x66\\xda\\x94\\xb9\\x2a\\x31\\xdd\\x1f\\x36\\x47\\x3d\\xa4\\xab\\x70\\x76\\x56\\xe2\\x9d\\x6f\\xa3\\xc5\\x5a\\x84\\xb3\\xcd\\xdc\\xe1\\x50\\xdf\\xfc\\xf6\\xa5\\x1d\\x2b\\xfc\\x37\\x8f\\x89\\x2c\\x5c\\xbc\\x68\\x61\\x66\\xe9\\x88\\x70\\x7a\\x69\\x5a\\x07\\x77\\xbb\\xfc\\x3e\\xa1\\xec\\x76\\xa5\\x5d\\x6e\\x05\\x1e\\xfe\\x22\\x58\\xd2\\xa7\\x53\\xee\\xc0\\x85\\x13\\x47\\xde\\x35\\x73\\xe6\\xe8\\xc2\\x3b\\x6e\\x9e\\x3b\\xb0\\x28\\x23\\xa5\\x4f\\x49\\x50\\x2a\\xa8\\x1d\\x9e\\xef\\x00\\x59\\x1f\\x0e\\xb2\\x7e\\x09\\xce\\x54\\x27\\x78\\x83\\x35\\xe1\\xa2\\x54\\xbb\\x64\\x95\\x40\\xdc\\xd3\\xad\\x56\\x1f\\xd0\\x27\\x37\\x2f\\x2d\\x95\\x5a\\xb1\\x96\\x34\\x6c\\x24\\x69\\x69\\xc4\\x64\\xca\\x04\\xf3\\xf0\\x92\\xee\\x7b\\x02\\xb6\\x63\\x2c\\x6a\\x98\\x60\\x7e\\x54\\xfe\\x49\\xae\\x0d\\x6b\\x30\\x44\\x8b\\xd9\\x6d\\x2a\\x42\\x9a\\x54\\xac\\x4e\\xdd\\xa2\\x1d\\xb0\\x54\\xff\\x4d\\x94\\xb8\\x4b\\x4f\\xae\\x9b\\x5b\\xcb\\xf3\\x73\\x1f\\xdd\\xb2\\xfc\\x81\\x8d\\xa3\\xa6\\x46\\x7f\\xce\\xba\\xa7\\xfd\\x9d\\x23\\x67\\x4c\\x1a\\xd8\\xb3\\x4f\\xf7\\x11\\x83\\x88\\x76\\xcd\\xb6\\x9b\\xd6\\xfc\\x9d\\x47\\x7b\\xb6\\x2c\\x9a\\x7e\\xb0\\x4a\\x5a\\x73\\xdd\\x97\\x35\\xb1\\x76\\xf4\\xa4\\x91\\x8e\\x11\\x03\\xba\\x54\\x8f\\x9f\\x45\\xcb\\x01\\x01\\x9f\\x47\\x61\\x6f\\xb5\\x28\\x2f\\xec\\xd0\\x82\\x36\\x03\\x9d\\xaf\\x07\\xb5\\xa2\\xc3\\xbc\\xc0\\x5d\\xa6\\x06\\x13\\x8b\\xa6\\x36\\x2d\\x66\\xc9\\x84\\x9f\\x7d\\x98\\x4e\\x7e\\x36\\xcb\\xff\\x5a\\x7c\\xea\\xf4\\x62\\xf9\\xfb\\x63\\xb8\\x90\\xfb\\x23\\xba\\x92\\x9b\\x11\\x15\\xe4\\x0f\\x62\\x67\\x17\\xd0\\x49\\x0f\\xd6\\x5a\\xd7\\x70\\x06\\xf1\\x99\\x48\\xb2\\x3d\\x59\\xf4\\x80\\x39\\x96\\xe6\\x21\\xfe\\x00\\xf1\\xf9\\xa4\\x94\\x64\\x43\\x0a\\x98\\xa0\\x29\\x97\\x24\\xd0\\xbf\\xd2\\xc5\\x66\\xcd\\x2f\\x13\\xef\\x92\\x95\\x12\\xcb\\xd2\\xac\\x6c\\xb3\\xe2\\xce\\x92\\xf4\\x6c\\x37\\x28\\xc7\\x78\\x28\\x33\\x9b\\x8e\\xe4\\xee\\x71\\xcb\\xed\\xd3\\x96\\xdd\\x3d\\xf4\\xf5\\x67\\x43\\xe5\\x1f\\x0f\\xe9\\x94\\x71\\x70\\xc3\\xa3\\xcf\\x6e\\xdd\\xfe\\x09\\xbe\\x4a\\xca\\x7b\\xed\\xec\\x9b\\xb7\\xe7\\x9e\\x59\\xf7\\x91\\xb1\\xe2\\xf9\\x91\\xe3\\x66\\xdd\\xbc\\xf3\\x68\\xfd\\x13\\xcb\\x4e\\x56\\xfe\\xd8\\xaf\\x96\\xd9\\x95\\x6d\\xd1\\x31\\xd2\\x93\\xff\\x15\\xce\\x3c\\x3f\\x48\\x68\\xb6\\x07\\x99\\x74\\x76\\xbb\\x90\\xca\\xf3\\x82\\x45\\xa7\\x13\\x10\\x49\\x0f\\x48\\xe0\\xb7\\x4b\\x57\\x4c\\xc6\\x2b\\xa9\\xe0\\xa1\\xc0\\x4e\\x8a\\x17\\x05\\x46\\x19\\x55\\x3e\\xab\\x5a\\x5c\\x92\\xaa\\xd1\\x4c\\x6a\\x35\\x31\\xeb\\x1e\\xdc\\x6f\\x36\\x66\\xd6\\x1a\\x53\\xe6\\x92\\xad\\x23\\x26\\x3d\\x9f\\xd9\\x3d\\xed\\xf1\\xbd\\x1b\\x97\\x99\\xf7\\x8d\\x1a\\xfd\\xc1\\xe4\\xfb\\x16\\xb5\\x2b\\x1f\\x31\\x71\\x14\\x99\\x75\\xe2\\x3d\\x1d\\x9d\\x1d\\x2d\\xbe\\x79\\x6c\\xc7\\x47\\xae\\xe1\\x39\\xf2\\xef\\x1b\\x56\\x8b\\x78\\x33\\x4e\\x39\\xfd\\xec\\x8a\\x87\\x8f\\xc9\\xa3\\x84\\xcd\\x54\\x86\\xd0\\x71\\xee\\x04\\xff\\x2f\\xa6\\xd3\\x52\\x1c\\x56\\x44\\x78\\xbb\\xd3\\xe9\\xd6\\x73\\x2e\\x2b\\x71\\x20\\x9e\\xb3\\x5d\\x36\\x6a\\xc0\\x85\\xbe\\x22\\x71\\x3f\\xa8\\x93\\x82\\x99\\x71\\x47\\xfb\\x1f\\x03\\x80\\x8c\\x9a\\x24\\x88\\x99\\x0b\\xa7\\x58\\xe8\\x69\\x20\\xb4\\x04\\xe4\\xf7\\xae\\x6f\\x16\\xe2\\x82\\x69\\xc5\\x45\\xc9\\x76\\x9b\\x3b\\xbd\\xb8\\xb2\\x5b\\xe5\\xf0\\xba\\x05\\x7f\\x60\\xe7\\x22\\x6e\\x9d\\x5c\\xc8\\x75\\xbd\\x3a\\xb2\\x5c\\x33\\xc4\\x7c\\xd3\\xec\\x33\\xf8\\x5e\\xd9\\x19\\x3d\\xd9\\xd0\\x80\\x46\\x35\\xcc\\x42\\xff\\x24\\x6b\\xac\\x1a\\x92\\x8d\\x1e\\x8f\\xae\\x51\\xfb\\xa1\\xce\\xc2\\xaf\\x70\\x8b\\xac\\x1a\\x6e\\x3a\\x42\\xea\\x67\\xc3\\x1b\\xc6\\x71\\xcf\\x72\\x53\\xad\\x1a\\x61\\x16\\x12\\x94\\xcf\\x1a\\x7e\\x69\\x98\\xc5\\xed\\x64\\x9f\\xcd\\x55\\xfe\\x0e\\xf6\\x62\\x84\\x7c\\x07\\x77\\x99\\xac\\x61\\xf2\\x35\\x30\\x5c\\xc8\\xe4\\x4b\\x6c\\x21\\x60\\x96\\xb4\\xb4\\x34\\xce\\xd0\\x28\\x61\\x5a\\x26\\x5f\\x4a\\x2a\\x70\\x71\\x93\\x62\\x82\\x26\\xd2\\xa5\\x8a\\x57\\xe6\\xff\\x2c\\x5e\\x97\\x15\\xf1\\x9a\\xb3\\xe5\\xd1\\x65\\xab\\x37\\x8d\\x9e\\x12\\xfd\\x39\\x63\\x46\\xe5\\x88\\x51\\xd3\\x27\\x0d\\xec\\xd1\\xef\\xd6\\x11\\x83\\x36\\x50\\xe9\\x7a\\x89\\x5c\\xa6\\xd2\\xf5\\x6c\\x58\\x7a\\xf0\\x5a\\x52\\xf6\\xa4\\xda\\x51\\x4c\\xba\\x6e\\xe9\\x09\\xd2\\xc5\\x74\\xa7\\x3c\\x9c\\x7b\\x9c\\x9b\\x82\\xcc\\x28\\x23\\x6c\\x31\\x18\\x8d\\x66\\xa4\\xd5\\x5a\\x91\\x85\\xc7\\x46\\x0d\\x86\\x03\\xa7\\x58\\xd5\\x9e\\x36\\xb5\\xd3\\x27\\xa1\\xb1\\x53\\xa6\\x40\\x45\\x4d\\xb0\\xbc\\xc2\\xb4\\x78\\x77\\xba\\x89\\x14\\xed\\x5a\\x24\\xff\\xa7\\xb5\\x6b\\xb1\\xa9\\x98\\x9b\\x22\\x67\\x8c\\xee\\x64\\xd9\\x8c\\x3f\\x8b\\xe6\\xad\\x3a\\x38\\xf2\\xa8\\x72\\x67\\xd0\\x1e\\xd6\\xf8\\x8a\\x5b\\xc4\\xba\\xb5\\xdc\\x1a\\xce\\xb6\\x59\\xad\\x1e\\x41\\x9f\\x9a\\x0a\\xe6\\x4d\\x66\\x86\\x93\\x1a\\x8b\\x60\\x74\\xeb\\x35\\x1a\\xe6\\xe4\\x69\\x9c\\x1a\\xce\\xc6\\xf9\\x54\\x7b\\x87\\x26\\xd1\\xb2\\xbe\\xb8\\x4a\\x26\\x50\\x13\\x9f\\xbf\\x82\\x59\\x53\\x2c\\xca\\x92\\xca\\x2c\\xee\\x60\\x11\\xd3\\xa5\\x38\\xc1\\x16\\x69\\x4f\\xad\\x2c\\xb9\\xae\\x7a\\x4c\\xa6\\x7d\\xd9\\x93\\x0f\\x8f\\xd0\\x4e\\x12\\x2a\\x16\\x6c\\xd9\\x76\\x13\\x67\\xa3\\x26\\xd8\\xb0\\x51\\x13\\x87\\xfd\\x8a\\x57\\x9d\\x7c\\x4d\\x9e\\x5a\\xd6\\xfa\\xbe\\xa1\\x6d\\xfa\\x4b\\x96\\x51\\x3f\\xe0\\x34\\x6a\\x92\\x6d\\x04\\x6b\\x13\\xe4\\x4e\\xbe\\x83\\xf4\\xe4\\x16\\x22\\x2f\\x78\\xdd\\x3d\\xc2\\x59\\x49\\xc8\\xcf\\xf3\\x0e\\x93\\x60\\x65\\x42\\x97\\x11\\x34\\x19\\x8d\\x6e\\x37\\x38\\xd6\\x70\\x78\\xc3\\xe6\\x12\\x51\\x04\\x8b\\x17\\xac\\x95\\xe2\\xe2\\x78\\x70\\x57\\x49\\xbd\\x4a\\x50\\x14\\x8d\\xf7\\x08\\x09\\x92\\xc7\\x74\\x86\\xdb\\xd6\\xd8\\xd8\\x2b\\x2e\\x7b\\x3b\\x9e\\xde\\x74\\xbf\\xb9\\x6f\\xcd\\xc8\\xd1\\x63\\xc7\\x83\\xf4\\xb5\\xad\\x00\\xe9\\xc3\\x84\\x4a\\xdf\\xef\\x58\\x23\\xbe\\xfe\\xf2\\xe3\\x1f\\xb8\\x86\\xdb\\x37\\xdc\\xbf\\x61\\x0d\\x48\\xdf\\x8a\\x47\\x4e\\x1f\\x50\\xa4\\x6f\\x8b\\x32\\xdb\\x4c\\xee\\xc9\\x9d\\xe0\\x16\\x03\\xef\\x2e\\x8a\\xf3\\xee\\xd2\\x86\\x2b\\xe2\\xcf\\x7c\\x2f\\xd8\\x85\\x3c\\x74\\x77\\xb8\\x8d\\xd3\\x66\\xf0\\xe5\\xa5\\x22\\xe4\\x13\\x35\\x9a\\x8c\\x60\\xd0\\x67\\x23\\xf9\\x05\\x34\\x14\\x93\\x87\\xaa\\x23\\x79\\x79\\x7e\\x9d\\x3f\\xbb\\x3a\\xe2\\xb7\\x1a\\x52\\xcd\\xc9\\x76\\x8b\\xd9\\x53\\x1d\\x31\\xbb\\xe2\\xf3\\x7f\\xd5\\x44\\x67\\x7a\\xee\\x57\\x25\\xb6\\x87\\x8d\\xdf\\x77\\xc6\\x18\\x3a\\xa1\\xbb\\xbe\\x32\\x09\\x38\\xbb\\xd1\\x00\\x50\\xef\\x42\\x43\\x52\\x62\\xb8\\x86\\x7c\\x1f\\x9f\\x07\\xfc\\xd3\\xfc\\xd0\\xf1\\xb5\\x9f\\x9f\\x3e\\x5c\\x38\\x6a\\xf8\\x83\\x53\\x0f\\xdf\\x5b\\xd7\\x72\\x24\\xf0\\xe6\\xea\\x5b\\x9f\\x3b\\xc5\\xbd\\x17\\xed\\x33\\x61\\x5a\\xe9\\xbc\\x4d\\xdc\\xfe\\x01\\xe3\\x12\\x06\\x03\\x73\\x0d\\xeb\\xd8\\x2c\\xa0\\xb7\\x50\\x21\\xaa\\x04\\x7c\\x2b\\x32\\x85\\xd2\\x52\\xa3\\xd7\\xe3\\x31\\xda\\x1d\\x0e\\x63\\x9a\\xbf\\x08\\x21\\xbf\\x91\\xb4\\x6d\\x67\\x71\\x05\\x93\\x5d\\xc9\\x76\\x3f\\x7c\\x79\\xb3\\x85\\x7c\\x2e\\xbf\\x75\\x75\\x24\\xdf\\xea\\x45\\x7a\\x89\\xab\\xa8\\x8e\\x70\\xae\\x66\\xf6\\x30\\x0b\\x35\\xc4\\x6a\\x0a\\x9a\\x68\\xd5\\x50\\x8b\\xd8\\x1f\\x95\\x91\\x32\\x9b\\x62\\xfb\\x83\\x9d\\xec\\x2e\\x53\\x1a\\xf2\\x55\\x84\\x40\\xc0\\xb3\\x69\\xe6\\x04\\x35\\x9e\\xed\\x24\\x81\\x61\\xf9\\x14\\x79\\xca\\xdc\\x27\\x42\\x9c\\x96\\xdb\\x2f\\x26\\x25\\x65\\xfb\\x16\\x73\\xe3\\xfb\\x55\\xd4\\x25\\x3b\\xd3\\x92\\xc4\\xc5\\x83\\x86\\x57\\xf0\\x7c\\xc9\\x93\\x73\\xde\\x3e\\xf1\\xd2\\xac\\x65\\x9b\\x56\\x2d\\xdf\\xbc\\x7c\\x36\\x97\\x1e\\x3d\\x15\\xb9\\x33\\x6d\\x81\\xbe\\xfc\\x29\\x72\\x5d\\xdb\\xaa\\x78\\xcc\\xbd\\xc2\\xd8\\x67\\x34\\xc5\\xad\\xa6\\x4c\\x11\\xa7\\x75\\xaa\\x19\\x33\\x48\\xbe\\x22\\x9f\\xfd\\xe6\\xd5\\x33\\x67\\x3f\\x3c\\xfd\\xa6\\x32\\x77\\x80\\xff\\x07\\xd0\\xa3\\x00\\xb5\\x41\\xa3\\xc3\\xa5\\x1e\\x13\\x0a\\x85\\xb2\\xfc\\x81\\x40\\x52\\x96\\xc3\\x59\\x28\\x8a\\xce\\x2c\\xd2\\xb6\\x32\\x47\\xb2\\xba\\x33\\x52\\xdc\\x29\\xce\\x00\\x7c\\x25\\x21\\x16\\xea\\x2e\\x67\\x13\\xa0\\x5a\\x35\\x9b\\x00\\x05\\x9e\\x30\\xab\\x38\\x51\\x48\\x51\\x65\\x6b\\x36\\x15\\x5c\\xa9\\x2c\\xcb\\x6c\\x32\\x81\\xa0\\xec\\x4f\\x48\\x41\\x63\\x8d\\x20\\x0c\\x89\\xc1\\x46\\x52\\xc6\\x30\\x55\\x27\\x12\\xdc\\x80\\x14\\xe2\\x3e\\xa2\\x89\\xfe\\x23\\x36\\xa3\\x60\\xff\\x98\\x41\\xf1\\xf1\\x04\\x67\\x9a\\x12\\xe2\\x7a\\xd7\\xa7\\xca\\xad\\xd3\\xf2\\xf0\\xe4\\xf8\\xb4\\x02\\xaa\\xf7\\x5e\\x02\\x06\\x19\\x24\\x9c\\x42\\xf9\\x68\\x42\\xb8\\x02\\x04\\x20\\x2f\\x18\\x2c\\x74\\x38\\x9d\\xa6\\x5c\\x6c\\x34\\xa6\\xf8\\xbc\\x26\\x53\\x41\\xa1\\xd5\\xad\\x27\\x6e\\xe2\\xd0\\xc0\\x57\\xae\\x31\\x17\\xf5\\x8e\\xe4\\x5a\\xfc\\x99\\x20\\x12\\x28\\xd9\\xdb\\x3b\\x92\\x6c\\x31\\xb2\\x7c\\xad\\xc4\\x94\\xff\\xa6\\x9c\\x51\\xa9\\x8e\\xb6\\x09\\x25\\x04\\x2b\\xa8\\x59\\x9c\\x80\\x76\\x30\\x81\\x37\\xa8\\xbf\\xa2\\x84\\xd9\\x24\\xa5\\x7f\\x6e\\x48\\xc2\\x63\\xe3\\xd8\\xd6\\xc5\\x29\\xb0\\x69\\xd3\\xe2\\xfb\\xbb\\x97\\x16\\x06\\x6f\\xee\\xf8\\x3e\\x79\\x5e\\x9e\\xa0\\xe0\\x28\\x8f\\xc0\\x5f\\x29\\x58\\xe3\\xdb\\x97\\xcc\\x79\\x78\\xb1\\x71\\x85\\xb6\\xeb\\x90\\x3b\\x96\\x20\\xd2\\xf0\\x3a\\x02\\x1b\\x15\\x64\\xbe\\x18\\x64\\xe0\\x26\\xb4\\x3e\\xdc\\x33\\x94\\x9f\\x9f\\x95\\x9e\\xe7\\x43\\xb0\\x75\\x1d\\x50\\x5b\\x27\\x78\\x1a\\x3a\\x41\\x40\\x79\\xa4\\x4b\\x67\\x9f\\x33\\x2d\\x5f\\x4a\\x83\\xcd\\x4e\\xb3\\x16\\xb5\\x6a\\x85\\xdb\\xb7\\x6f\\x4b\\x47\\x42\\xb7\\xcd\\x2d\\x28\\x08\\x96\\x64\\xb6\\x2d\\xd1\\x6a\\x4b\\xda\\x66\\xf2\\x1e\\xe4\\x09\\xd3\\xe2\\x2f\\x0b\\x4d\\x1c\\xa4\\x14\\x50\\x04\\xc3\\x4d\\x71\\xa7\\x0d\\x58\\x9b\\x30\\x80\\x2d\\x14\\xab\\x4c\\x4a\\xf0\\xcf\\x42\\xf1\\x81\\x76\\xea\\x1c\\x49\\x5b\\x06\\xa5\\x04\\x90\\x81\\xc6\\x1a\\x4b\\xb3\\x43\\xa9\\x9c\\x3b\\x16\\x43\\x61\\xff\\x49\\xc1\\xca\\xdd\\x30\\x25\\x57\\x26\\x1d\\xee\\xae\\x9e\\x7e\\x99\\x2e\\x41\\xe5\\x15\\x24\\x9f\\x59\\xfb\\xdc\\xcd\\x8b\\x27\\x0c\\xba\\x41\\xfe\\x6d\\xd5\\xe2\\x11\\xc3\\x0e\\x3d\\x25\\x5f\\xc2\\x85\\xeb\\x68\\x26\\x6e\\x74\\xed\\x6e\\xec\\x19\\x30\\x79\\xda\\x12\\xbc\\xaf\\xad\\x49\\x36\\xe1\\x9f\\x3c\\x7d\\x6a\\x96\\x3a\\x3f\\x6f\\x9a\\xd7\\xfb\\x6b\\xc6\\xbd\\x33\\xb7\\xbb\\xe5\\x43\\xb8\\x9b\\xa9\\x54\\x9e\\xc9\\xd9\\x2a\\x8d\\x67\\x69\\x9a\\xaf\\x68\\xaa\\x98\\xfd\\xd8\\xac\\x03\\x4c\\xb7\\x3c\\x87\\x10\\x7f\\x0c\\xe8\\x9a\\x8d\\x42\\x68\\x4c\\xb8\\xac\\x10\\xa1\\x60\\x5a\\x76\\x8e\\x53\\xa3\\xb1\\x9a\\xb4\\xd9\\xda\\xb2\\x52\\x4f\\x32\\xca\\xc2\\xd8\\x5f\\x20\\xea\\x74\\x39\\x56\\x53\\x81\\x35\\x18\\xb4\\x16\\x98\\x78\\x4d\\x72\\x72\\x6b\\x3a\\x71\\xdb\\x69\\xd1\\xfc\\x77\\xea\\xc5\\xbd\\xcb\\x18\\xc5\\x54\\x52\\x15\\x11\\x4a\\x2b\\x38\\x31\\x5a\\x10\\x2b\\x4e\\x25\\xec\\x72\\xbb\\xdc\\x74\\x9c\\x0e\\xa5\\x4c\\x65\\xa7\\xc5\\x0b\\xe6\\xb6\\xad\\x2b\\x28\\x5c\\x3c\\xe7\\x8e\\xc4\\x74\\xea\\x5e\\x8b\\x27\\xdd\\x11\\xed\\x37\\x6c\\xef\\xb3\\x55\\x2c\\xd5\\x1a\\xf7\\xd4\\xe7\\x14\\x15\\x9a\\x65\\x0f\\xbe\\x6a\\x68\\x97\\x55\\xbb\\xcc\\xfa\\x69\\x63\\x56\\xf6\\x7f\\x32\\xe6\\xcd\\x7c\\xcc\\x23\\x1f\\xe4\\x26\\x3b\\x3b\\x54\\x99\\x3e\\x1b\\x3f\\xa3\\xf4\\x39\\xc0\\x7f\\x03\\xeb\\x75\\xdd\\x13\\x15\\xa1\\x76\\xa8\\x36\\xdc\\xaa\\x18\\x95\\x67\\x68\\x9c\\x4e\\x7f\\xb2\\x24\\x99\\x11\\xe9\\xd0\\x3e\\x87\\x2f\\xe0\\x0a\\x4a\\xaa\\x23\\x80\\xb8\\xc5\\x93\\xa6\\xb7\\xa5\\xd9\\x92\\xcd\\xf0\\xc5\\x39\\x7d\\x5c\\x65\\xa3\\x52\\xb5\\x27\\x2a\\x90\\xc6\\x80\\x43\\x9c\\x53\\xe2\\x31\\x8e\\xec\\x20\\xe0\\x17\\x17\\x1c\\xda\\xdb\\x34\\x41\\x95\\xd8\\x18\\x19\\xa4\\x04\\x65\\xaa\\x5a\\xe1\\x4c\\x9b\\xfe\\x31\\x40\\xe0\\xfd\\xaa\\x18\\x79\\x82\\x75\\x6e\\xaf\\x22\\x47\\x21\\x71\\x3f\\x78\\x10\\x7c\\xab\\x6d\\x8b\\xde\\x38\\xf9\\xd2\\x9c\\xa5\\xe3\\x67\\x57\\x2d\\xdf\\x7c\\xff\\x5c\\xaa\\x4f\\xff\\xaa\\xdd\\xb9\\x4f\\x4b\\xa5\\x4a\\x3b\\xe3\\x79\\x0d\\x95\\x29\\x9e\\xbc\\xbe\\xbb\\x9c\\x6f\\x3d\\xda\\x31\\xb2\\x56\\xfe\\x97\\xfc\\xc5\\xd9\\xbf\\x0d\\x3a\\xbe\\xf9\\xc3\\x53\\xaf\\x29\\x7a\\x64\\x1b\\x30\\xc3\\x72\\xe0\\x83\\x3c\\x6a\\x21\\xa4\\xda\\xf2\\xf2\\x0c\\x1a\\x84\\x32\\x3c\\xa4\\x20\\xdf\\x66\\xce\\x23\\xfa\\x6c\\xbf\\xde\\x2f\\x66\\xc0\\x97\\x94\\x27\\x49\\x49\\x7d\\x23\\x92\\xd5\\x6c\\x51\\xd5\\x46\\x22\\xf2\\xca\\x7e\\xc7\\xf1\\x6e\\xdd\\x2a\\x64\\x6b\\x8a\\x9f\\x4b\\x41\\x2f\\xa6\\x1b\\x12\\x48\\x61\\x5b\\xe3\\x71\\x2a\\x28\\x15\\x8b\\x7b\\xb5\\x7c\\xfe\\xe4\\xd1\\x19\\x99\\x19\\xed\\x27\\xcf\\xf0\\xa6\\x29\\x38\\x27\\x07\\xf1\\x12\\x91\\xa1\\x81\\x4b\\xa7\\xac\\xac\\xcf\\x5c\\x35\\x5a\\xff\\xa4\\xfe\\x44\\xdd\\x04\\x1d\\x43\\x51\\x3e\\x9e\\x80\\x43\\x26\\xea\\x14\\xf6\\x1b\\xbd\\xde\\x00\\x4a\\x4a\\x72\\x80\\xc1\\x9c\\x95\\x92\\xe1\\xb2\\x64\\x58\\x02\\x0e\\xf8\\xe2\\xbd\\x12\\xaf\\xeb\\x1b\\xe1\\xad\\x2d\\x77\\xae\\x49\\xec\\x85\\x8d\\xfb\\xb9\\x21\\x9c\\x89\\xca\\x6e\\xcd\\x90\\x63\\x0b\\xdb\\x01\\x98\\xf7\\x4e\\x6c\\x04\\xf3\\x40\\x1c\\x0f\\x6e\\xff\\xc2\\x17\\x29\\x94\\xab\\xf6\\x3c\\x1b\\x83\\x32\\x86\\x03\\xa3\\xf9\\xef\\x0d\\x57\\xc8\\xaf\\x7c\\x77\\x54\\x41\\x33\\x2a\\x72\\xbc\\x6e\\xd1\\x57\\x5e\\x1a\\x30\\x21\\x1f\\x6a\\x53\\xe9\\x75\\x39\\x9d\\xe5\\xa5\\xad\\x4c\\xad\\x72\\x48\\x2a\\x49\\x05\\x6d\\x9d\\x9e\\x6a\\x25\\x34\\xbd\\x96\\x1e\\x5d\\xec\\xfe\\x2b\\x56\\x75\\xa6\\x4a\\x56\\x4c\\xca\\x18\\xbb\\xa9\\x29\\x1e\\x09\\x13\\xcc\\xb3\\x8a\\x31\\x15\\x24\\x09\\x6c\\xdd\\x58\\x78\\x3d\\x96\\xe8\\x96\\xca\\xa5\\xc5\\xf0\\xd3\\xb8\\xc8\\x91\\x6f\\xcf\\x9c\\xfa\\x2c\\xb0\\xdd\\xfd\\xe0\\xc2\\x15\\x0b\\xfa\\xdd\\xb5\\xb0\\xff\\xfd\\xf9\\xdd\\x17\\xf3\\xf7\\xa7\\xbd\\x7f\\xea\\xb9\\xf7\\x93\\x77\\x5a\\x96\\x4c\\x9c\\x33\\x2d\\xbf\\xe7\\xdd\\x9d\\xba\\xaf\\x2c\\xf6\\xb9\\xc5\\xc5\\x77\\x04\\x70\\xfe\\xe6\\xbf\\x2c\\x5d\\x9d\\x36\\xb0\\x77\\xbf\\x7e\\x1d\\x7b\\xa4\\x64\\x26\\xe5\\x8c\\x3d\\x94\\x5b\\x76\\xdb\\xc3\\x8f\\xce\\x5f\\xe5\\xec\\xd6\\xf3\\xb6\\xee\\xb9\\x15\\x39\\x69\\x76\\x29\\x27\\x35\\xb4\\xbb\\xa0\\xbd\\xc2\\x67\\x87\\x1a\\x7e\\xe2\\xba\\x0b\\x05\\x70\\x76\\x0f\\x0f\\xb7\\xf2\\xbb\\x0a\\xbc\\x52\\x76\\xb6\\xdd\\xa2\\xe7\\x0b\\xf8\\xa2\\x42\\xd1\\x14\\x4c\\x36\\x25\\xeb\\xd3\\xe0\\x4b\\xe2\\x24\\x4f\\xef\\x88\\x33\\x2c\\x59\\xec\\x96\\xde\\xe0\\x87\\x70\\x79\\x8d\\xd2\\xc6\\xc2\\x65\\x6f\\xdf\\xe8\\xa4\\x4a\\x38\\xaa\\xe8\\x99\\xcd\\xc2\\x67\\xd9\\x89\\x07\\x93\\x1a\\x48\\x53\\xae\\xae\\x42\\x0a\\x89\\x94\\x3b\\x20\\x2e\\x2f\\x52\\xfb\\x49\\x96\\xb2\\x71\\xb9\\xf3\\xee\\x2b\\x9b\\xf5\\xc6\\x1b\\x42\\x88\\x53\\xf6\\x54\\x68\\xcb\\x85\\xaa\\x32\\xba\\x68\\x3d\\xff\\xc6\\x2e\\x81\\x6e\\x1f\\xc1\\x65\\x4b\\xae\\x5e\\x5d\\x22\\x2f\\xe7\\x98\\x80\\x69\\xb8\\x67\\x7a\\x55\\x99\\xd5\\x3c\\x37\\x84\\xc8\\x11\\xbe\\x2d\\x0a\\xa0\\xc1\\xe1\\x56\\x5a\\x07\\xe7\\xe5\\xd3\\xcc\\x66\\xa2\\x49\\x73\\x7a\\x78\\x8f\\xa4\\xe1\\xd3\\x83\\x1e\\xc9\\x25\\x55\\x47\\xf4\\x36\\xe4\\xb3\\xf9\\xcc\\x69\\xf0\\x25\\xb8\\x2c\\x1a\\x90\\xe0\\x6a\\x65\\xde\\x0b\\x73\\x74\\x13\\xb9\\xb2\\xe9\\xfc\\xd4\\x98\\x8b\\x9e\\x9e\\x4d\\x73\\x82\\xcb\\x70\\x9c\\x15\\x4b\\xdc\\x4a\\xe5\\x43\\x8c\\x53\\xb9\\xb3\\xa1\\x5d\\xf2\\x4f\\xdc\\xd1\\xeb\\x73\\x71\\xa8\\x4d\\x72\\x76\\xea\\x62\\x6e\\x52\\xff\\xb2\\xf9\\x98\\x8f\\xae\\x27\\x6d\\xe4\\x8f\\x6e\\xcb\\x63\\x98\\xe1\\x67\\xb3\\xe5\\xc3\\xab\\x56\\xe0\\x99\\x26\\x8a\\x95\\x1f\\x77\\x58\\xb5\\x42\\x7e\\xc4\\xd1\\x0a\\x50\\x52\\xea\\xda\\x41\\x37\\xfa\\x81\\x3f\\x53\\x61\\xb7\\xba\\x87\\xb3\\xb2\\x88\\x35\\x4d\\xef\\x76\\x27\\x25\\x5b\\x93\\x8b\\x0a\\x4d\\xb9\\xd5\\x11\\x17\\x9b\\x6f\\xe1\\x08\\x56\\x47\\x40\\xce\\x7c\\x4a\\xed\\x80\\x55\\xad\\x1d\\x88\\x8f\\x5b\\xa8\\xac\\xcc\\x6f\\x3a\\xd9\\x8b\\xe5\\x44\\x30\\xee\\x03\\x6b\\x99\\xde\\x2e\\xb0\\xba\\x41\\x66\\x67\\x32\\x33\\xd3\\xea\\x70\\xc6\\x5d\\x44\\xd0\\x80\\x5c\\x9f\\x83\\x7f\\x4f\\x3d\\x6c\\x9f\\x3b\\x52\\xfe\\x85\\x8c\\xbd\\xfa\\xfa\\xd1\\x37\\xdf\\x9e\\xfa\\x54\\x11\\xaf\\x7f\\x5a\\x7c\\xae\\xdb\\x92\\xbe\\x2b\\xe7\\xcf\\x58\\xdb\\xff\\xbe\\x6e\\x7c\\xf7\\x55\\x0b\\x93\\xba\\xf7\\x96\\x5f\\xdb\\xff\\x9e\\xfc\\x9b\\x7c\\x5e\\xfe\\x5a\\xfe\\x71\\xec\\x1d\\xa3\\xfb\\x96\\xef\\x25\\xed\\xf0\\x1b\\xd7\\xdb\\xde\\x77\\x7c\\xd4\\x1b\\x5f\\xfd\\xf3\\x6f\\xe0\\xc6\\x61\\x34\\x02\\x7f\\xc6\\x3d\\xc5\\xef\\x61\\x77\\x35\\x01\\x96\\x83\\x88\\x94\\x14\\x44\\x0d\\x07\\x0e\\x1c\\x75\\xdd\\x34\\x1a\\xd1\\x40\\x88\\xe1\\x3b\\x9d\\x4e\\xbc\\x0c\\xb2\\x46\\x23\\xef\\x2c\\x31\\xe0\\xbf\\xe6\\x66\\xb6\\x96\\xf7\\xcc\\x9c\\x89\\x6b\\x66\\xe1\\xcf\\x70\\x67\\xf9\\x25\\xee\\x6d\\xf9\\x13\\x9c\\x13\\xa5\\xbd\\x2f\\x7a\\xd2\\x59\\x83\\x6c\\x1e\\x4d\\x01\\xbd\\x2f\\xb6\\xe4\\xe5\\x79\\x0d\\x76\\x3b\\xaf\\xc9\\x30\\x22\\xa4\\xf1\\x92\\xa2\\x42\\x3e\\x50\\x1d\\xb1\\x9b\\x78\\x3e\\xc5\\x94\\x02\\x7e\\x4a\\x8a\\xcf\\x62\\x34\\x19\\xab\\x23\\xa6\\xe6\\x13\\x42\\x1a\\x4b\\x30\\x43\\x09\\x01\\xd3\\x0a\\xaa\\xa5\\x98\\xfb\\x55\\xc5\\xb6\\x5f\\xa0\\xf2\\xcc\\xd3\\x29\\xba\\xcc\\x83\\x4c\\x48\\x39\\xeb\\x39\\xff\\x9f\\x4b\\xfc\\xb9\\xf9\\x95\\x07\\xa3\\x4f\\x93\\x4c\\xf9\\xdf\\x85\\x1d\\x6a\\xc7\\xd7\\x76\\x58\\xf8\\xed\\x9a\\xb5\\xdf\\xcc\\xc5\\xdf\\x6f\\x79\\xe2\\xc9\\x4d\\x8f\\xee\\x7d\\xaa\\xcd\\xf2\\x7f\\xcc\\xf6\\xb7\\xcf\\xca\\x6d\\x5f\\xb0\\x62\\xd5\\xb2\\x2f\\x32\\x52\\x92\\xcb\\x3b\\xf7\\x9f\\xb6\\x65\\xd4\\x9a\\xcf\\x66\\xcd\\xfc\\x0c\\x9f\\x3f\\xf8\\xe4\\xee\\xba\\x23\\x4f\\xee\\x3a\\xa4\\xf0\\x79\\x5e\\xc3\\xeb\\xc2\\x8b\\xc2\\x65\\xb0\\x1a\\xee\\x0f\\x77\\x4b\\xf6\\x39\\x25\\x87\\xd5\\x9a\\x99\\x99\\x65\\x30\\x9b\\x0b\\xb2\\x74\\x26\\x53\\x48\\xe4\\x39\\x2e\\xcb\\xe1\\xe3\\xcb\\x4a\\x4d\\x48\\x57\\x52\\x5c\\x0c\\xf2\\x5b\\xec\\xca\\x94\\xb2\\xcd\\x76\\xe2\\x4e\\x96\\xdc\\x80\\xb4\\xdb\\xea\\xb0\\x22\\x3a\\xf1\\x5c\\x1b\\xd6\\x59\\x44\\xd2\\x3b\\x22\\xaa\\x4d\\x0a\\x92\\xde\\x56\\xc6\\xd0\\xc7\\x86\\x03\\xc6\\xc6\\x37\\x55\\x36\\x1d\\xb4\\xd8\\x18\\x04\\x62\\xbd\\x0b\\x40\\xaf\\x25\\x48\\x38\\xad\\xa2\\xd3\\xd0\\x76\\x52\\xb1\\xcb\\x2b\\x45\\xd9\\xd1\\xd2\\x8c\\x58\\xba\\x51\\xb6\\x26\\xf8\\x9c\\x91\\x4a\\xfa\\xab\\xaf\\xa2\\x86\\x3a\\x0e\\xd7\\x3e\\x2e\\x7f\\x56\\x79\\xf3\\x81\\xdd\\x87\\xf3\\x86\\xf7\\x5f\\xb0\\xb9\\xee\\xb2\\xaf\\x73\\x46\\x97\\x48\\xed\\xad\\xad\\x8a\\x1e\\x9f\\x57\\xd8\\x8e\\xfb\\x3b\\x15\\xf8\\xe8\\x51\\x3c\\x9d\\x3b\\x2f\\xcf\\x1f\\x8a\\x1b\\xe4\\x7e\\x96\\x67\\xdf\\xa1\\x75\\x53\\x53\\x26\\x95\\x1e\\x78\\x24\\xba\\x18\\x5f\\x97\\x9f\\xca\\x32\\x2f\\xf5\\xf8\\xba\\x28\\xf4\\x49\\x82\\x7f\\x3d\\xc3\\x7a\\x20\\x94\\x84\\x3d\\x06\\x0c\\xcc\\xc4\\x6b\\xb5\\x26\\xa3\\x86\\xb5\\x68\\x00\\xf5\\xcf\\xe9\\x24\\xda\\x94\\xa1\\x4a\\xa9\\x03\\x44\\x71\\x43\\xdb\\xa6\\xf6\\xb1\\x08\\xb1\\xd6\\x0b\\xf0\\x95\\x34\\xa1\\x6e\\xca\\x94\\xba\\x09\\xdc\\x58\\xfc\\x9e\\x5c\\xbc\\x54\\x4e\\xc6\\xe7\\x98\\x5f\\xac\\xbe\\xdf\\x2e\\x0a\\x8f\\xb2\\xdc\\x99\\x54\\xe0\\xb3\\xb1\\x60\\xc7\\xa4\\xb2\\x3a\\x60\\xf0\\x12\\xf3\\xd2\\xd3\\x41\\x94\\x72\\x83\\x82\\xcf\\x97\\x8a\\x93\\x1d\\x20\\xb2\\x3e\\x5f\\xd0\\x91\\x8a\\xc2\\xb9\\xb9\\x56\\xb7\\xa4\\x33\\xa9\\x5d\\x22\\x24\\x93\\x94\\x56\\x1d\\x91\\x5c\\xa6\\x2c\\x5a\\x0b\\x2c\\xc4\\x0e\\xf5\\xc6\\xd8\\x0e\\x9b\\xcf\\x17\\x2a\\x4e\\xb2\\xbe\\x5d\\x52\\x52\\x95\\x68\\xcc\\xc5\\x0d\\x1b\\x47\\xa8\\x2c\\xc1\\x72\\x01\\x6b\\x57\\x0a\\x72\\xf1\\xeb\\x95\\x60\\xd3\\x19\\xba\\xa9\\x77\\xc7\\xed\\x95\\xa3\\xaf\\x19\\x7b\\xf5\\x74\\xcb\\x2b\\xa9\\x61\\x53\\x77\\x37\\xd7\\x69\\xde\\xbd\\x9a\\xe8\\x97\\xda\\x55\\x0f\\xae\\x59\\x66\\xe0\\x52\\x74\\x73\\xb9\\xb1\\xff\\x8a\\x59\\x2b\\x97\\x7f\\x5f\\x2a\\x6b\\xc1\\x9c\\x91\\x23\\x64\\xb5\\xbc\\xfa\\x99\\x93\\x27\\x0e\\x91\\xde\\xfb\\x9f\\x7e\\x7e\\x27\\xd5\\x51\\xa9\\xe0\\x0b\\xde\\xa4\\xf6\\x17\\xe9\\x1f\\xce\\x17\\x3c\\x1e\\xbd\\xd6\\xc8\\xfb\\x7c\\x4e\\x6c\\x37\\xda\\xd3\\x52\\x93\\x94\\xde\\x22\\x5a\\x5e\\x45\\xd7\\xc2\\x59\\x40\\xfb\\x5a\\x5c\\x22\\x25\\x7e\\xe8\\x7f\\x68\\x2b\\xa2\\x6e\\x46\\x40\\xd9\\x90\\xd8\\xe8\\x22\\x8a\\x55\\x07\\xd0\\xc0\\x4e\\x57\\xea\\x5d\\x87\\xf1\\x0f\\x87\\x47\\x8d\\x3a\\xfb\\xd6\\x9b\\x5f\\xdf\\xc5\\xd9\\x17\\xcd\\x94\\xed\\x33\\x95\\xbd\\x62\\xfb\\x35\\xf7\\xf9\\x93\\xaf\\xd5\\xcf\\x95\\xd7\\xaf\\x5c\\x55\\x53\\xb3\\x7a\\x39\\xc0\\xab\\x07\\x78\\x17\\x03\\xbc\\x41\\xd8\\xa5\\xf1\\xe1\\x36\\xc6\\xec\\x6c\\xb7\\xcb\\x6e\\xc8\\xcb\\x73\\x58\\xb4\\x3c\\xef\\x0b\\x0a\\x38\\xe0\\x0b\\x14\\x15\\xe6\\x7a\\x83\\x08\\xd4\\xaa\\xcb\\xa0\\x82\\x9d\\x2a\\xa6\\x66\\x54\\x47\\x52\\x5d\\x0e\\x36\\xb5\\xcd\\x4a\\x25\\x25\\xd4\\x44\\x3d\\xdc\\x00\\x03\\x10\\x1d\\x80\\xb9\\x44\\x6d\\xed\\xe1\\x80\\xcd\\xa9\\xa0\\x2a\\xc2\\x8c\\xe9\\x3e\\xd0\\x40\\x2e\\xec\\x0a\\xdd\\x2b\\xb7\\xe4\\x44\\xc1\\x74\\x94\\x88\\x94\\xbe\\xd6\\x35\\x78\\xac\\xfc\\x1b\\x3e\\xd9\\x6b\\xa6\\x8f\\xeb\\xe9\\x9b\\xd9\\x0b\\xbf\\x2e\\xff\\xe7\\xae\\x21\\xae\\x61\\x3d\\xb0\\x7c\\xf5\\xdc\\xd7\\xf2\\x4f\\xb7\\x71\\xed\\xd6\\xee\\x89\\xae\\xdf\\xcd\\x8d\\xed\\xbd\\x76\\xf4\\xaa\\x55\\x59\\x7f\\x99\\x33\\x7b\\x77\\xd6\\xaa\\x55\\xa3\\xd6\\xf6\\x59\\x6a\\xb7\\xbf\\x27\\x47\\x31\\xfa\\x20\\x43\\xde\\x78\\x6c\\xbb\\xd1\\xb8\\xfd\\x98\\x12\\x3b\\xbb\\x8f\\xda\\xd9\\xe0\\xb3\\x67\\xa0\\x56\\xa8\\x6f\\xb8\\x20\\x33\\xd9\\x9e\\x9f\\xef\\xd5\\xd2\\xbc\\x01\\x2f\\xf2\\x96\\xb4\\xe6\\xec\\xa9\\x24\\xdd\\x92\\x9e\\x03\\x86\\x8e\\xd5\\x87\\xdc\\x92\\xa5\\x88\\xee\\x92\\x00\\x16\\x8f\\x90\\x30\\x64\\x26\\xe6\\x65\\xc4\\xba\\x83\\xc4\\x1c\\x8d\\x12\\x6a\\x5d\\x6b\\x12\\xe6\\x96\\x2a\\xd9\\x84\\x6a\\xdc\\x82\\x66\\x24\\xdf\\x28\\x42\\x31\\x54\\x19\\xbf\\x3a\\xaf\\xaa\\x5b\\x2c\\x52\\x51\\xd7\\x32\\x2e\\x21\\xff\\xb0\\x56\\x96\\x95\\x99\\xac\\x33\\x9d\\x6a\\x88\\x82\\xff\\x5e\\x8e\\x34\\x8f\\x4a\\xb0\\x79\\x88\\x80\\xe3\\x4d\\x80\\x23\\xd5\\xf5\\x03\\xc3\\xc5\\x66\\x94\\x9d\\x6d\\xb5\\x26\\x27\\xdb\\x03\\xa2\\xe8\\xb6\\x83\\xaa\\x4f\\xb1\\x82\\x82\\x97\\x9c\\xde\\xea\\x88\\xd3\\x67\\x56\\x42\\x12\\x79\\x2c\\x24\\x91\\xd1\\x32\\x24\\xd1\\x6c\\xa8\\x4e\\x3c\\x24\\x93\\xd9\\x7c\\x14\\x62\\x93\\x71\\xad\\xff\\x35\\xf8\\x50\\xa7\\xce\\x9b\\x9d\\x37\\xe0\\xcf\\x22\\x0e\\xf8\\xc4\\x1f\\xef\\xc6\\x26\\xd0\\xce\\x6c\\x11\\x6b\\x40\\x29\\xf2\\x40\\xae\\xbd\\x70\\x0a\\x6c\\x9b\\xea\\x70\\x81\\xdf\\xeb\\x35\\x12\\x2b\\x36\\x6b\\xcd\\x84\\x04\\xd3\\xd3\\x50\\xef\\x48\\x9a\\xc5\\xe5\\x03\\x9e\\x45\\x8a\\xc5\\x66\\xe6\\xaa\\x23\\x66\\xa9\\xf9\\x0e\\x36\\x1f\\x17\\x44\\x39\\x54\\x39\\x4c\\x9b\\xe0\\x71\\xc3\\x20\\x42\\x3f\\xf9\\xdb\\xf2\\x9b\\x8b\\xab\\xe6\\x0d\\x6b\\x12\\x3a\\xb8\\x7e\\x8e\\x42\\x6c\\xd9\\x61\\x7b\\x78\\x26\\x79\\x3e\\x31\\x66\\xc0\\xf6\\x43\\x78\\x04\\xec\\x97\\x22\\xd4\\x1e\\xcd\\x0c\\x87\\x85\\xdc\\x1c\\xa4\\xd1\\x14\\xfb\\xed\\xe5\\xc6\\xa4\\x24\\x7b\\x2e\\xe9\\xd8\\x21\\xd3\\x92\\x23\\x56\\x47\\xfc\\x29\\x0e\\x77\\x4e\\x4e\\x8a\\x3b\\x25\\x04\\xdb\\x63\\x75\\x83\\x5f\\xe7\\x96\\x0a\\x00\\xfa\\x82\\x02\\x9d\\x0e\\x76\\xac\\xcc\\x84\\xb3\\x4c\\xd8\\xa4\\x03\\x2c\\x42\\xb5\\xb5\\x09\\x09\\xaf\\xcd\\x3a\\x24\\x28\\xd9\\x22\\xb1\\x13\\x3a\\x16\\x27\\x11\\x18\\x42\\x01\\x25\\xbe\\x4b\\xad\\x71\\xbf\\xad\\x2c\\xa8\\xee\\xa1\\x3d\\x9e\\xe5\\x02\\x27\\x53\\x80\\xe1\\x4f\\x4a\\x1b\\xcb\\x4f\\x3a\\x62\\x3e\\xbf\\x30\\x67\\x86\\xfc\\x8b\\xdc\\x4e\\x35\\x81\\xb0\\x89\\x0b\\x1d\\x9a\\xa9\\xda\\x40\\x9c\\x96\\x7f\\x5a\\xc4\\xfb\\xe4\\xef\\x73\\x8b\\xfe\\xdd\\x68\\x0a\\xad\\xd7\\x6f\\x5c\\x35\\x5a\\x6e\\xc3\\xec\\x21\\xdc\\x6e\\xff\\x98\\xb1\\x58\\x8b\\x7d\\x38\\x0d\\xdb\\xc6\\xde\\x91\\xfa\\xb0\\xa6\\x7c\\x6f\\xf4\\x05\\xf9\\x0b\\xf9\\x13\\x2d\\xe9\\xd9\\x68\\x14\\xb1\\xbd\\x5d\\x09\\xbc\\x8b\\x58\\x9d\\x03\\x48\\xa7\\x60\\x76\\x11\\x93\\xc1\\xa0\\xd1\\x68\\x8d\\x26\\x13\\xb1\\x6a\\xad\\x1e\\xaf\\x03\\x55\\x47\\x1c\\x34\\x51\\xc1\\xfc\\xff\\x58\\x7b\\x0f\\xf8\\x28\\x8b\\xf4\\x71\\x7c\\xe6\\xad\\xdb\\x7b\\xcb\\x6e\\x36\\x9b\\xcd\\xee\\xa6\\x93\\x0d\\xd9\\x84\\x10\\x5a\\x16\\x41\\x8a\\x18\\x08\\x35\\xac\\x18\\x29\\x62\\x01\\x45\\x9a\\x4a\\x13\\x01\\xdb\\xa9\\x28\\x58\\x38\\x2c\\x88\\x8a\\xe8\\x57\\xf1\\x14\\x38\\x5d\\x34\\x7a\\x16\\x2c\\xe7\\x59\\xb0\\xdc\\x9d\\xf7\\xf5\\xeb\\xa9\\xa7\\xe7\\xa1\\x87\\x82\\xc2\\xa9\\xe7\\x79\\x68\\xde\\xfd\\x3f\\x33\\x6f\\xd9\\x77\\x37\\x01\\xef\\x77\\x9f\\x3f\\x1a\\x12\\x36\\x4f\\x9b\\x99\\x67\\x9e\\x36\\x0d\\x3e\\xb7\\xd8\\x4d\\x48\\xf4\\xb2\\xd0\\x39\\xac\\x7a\\x33\\x57\\xbb\\xf2\\x08\\x69\\x7b\\x9f\\x85\\x36\\xf9\\xd6\\x4e\\x62\\x5e\\xf2\\x7b\\x5b\\xd4\\xc1\\x66\\xfe\\xbc\\xb6\\x4a\\xba\\xe5\\xaa\\x6c\\x16\\x7f\\xf0\\x47\\x69\\x3c\\x3e\\x63\\x29\\xd5\\x50\\xe9\\x9f\\x5b\\x56\\xe0\\xaf\\x17\\x49\\xeb\\xf8\\x03\\x3f\\xcd\\x65\\xac\\x52\\x52\\x6a\\x52\\xb4\\x52\\x96\\xd5\\x2e\\x75\\xe1\\x5f\\xd2\\xb3\\x78\\x03\\xd2\\x01\\x70\\xac\\x66\\xb3\\x60\\x67\\x1d\\x4e\\x2b\\x8c\\x99\\x35\\x24\\x22\\x72\\xcb\\x90\\xe0\\xcd\\xaf\\x01\\x6a\\x07\\x57\\xfc\\x8a\\x72\\xa9\\x93\\xc6\\x5e\\xd7\\xb2\\x6e\\x7e\\xb6\\x4b\\xfa\\xfb\\x80\\x74\\xce\\xb2\\x65\\x05\\x7f\\x40\\xd6\\x7e\\x33\\xe1\\x71\\xad\\xd4\\x25\\x5c\\x0d\\xb9\\x64\\x0b\\x3a\\x3b\\x3d\\x68\\x40\\x79\\x79\\x5d\\x45\\xa0\\xa5\\x05\\x39\\x0d\\x06\\x8b\\xd1\\x88\\x2a\\x2b\\xb8\\x56\\xf8\\xb0\\x33\\x33\\xc0\\x1b\\x87\\x38\\x38\\x1e\\x92\\xab\\x21\\xce\\x80\\xd7\\xe8\\x85\\x40\\xde\\xeb\\xb0\\xd8\\x91\\x91\\x1e\\x11\\xcd\\x6f\\xb6\\xe9\\xab\\xf8\\xba\\x6a\\x5a\\x34\\xbf\\x93\\xa5\\x9f\\xc2\\x91\\xb7\\x68\\x72\\x28\\xb0\\x2c\\x3a\\xd1\\x59\\xed\\x79\\xca\\x44\\xbf\\x80\\x54\\x8a\\x4e\\x78\\xe8\\xfb\\x75\\x6d\\xaa\\xab\\xa7\\xbf\\xe5\\x76\\x73\\xe3\\xe8\\x9b\\xa1\\x13\\xd3\\x35\\x71\\x8e\\x2b\\x2b\\x63\\xca\\x7d\\x56\\xab\\xd3\\x56\\x6e\\xab\\xae\\xaa\\x00\\x25\\xa8\\x08\\xf9\\x82\\xb6\\x20\\x74\\x71\\xd0\\xe1\\xb4\\xdb\\xbc\\x5c\\x59\\xfe\\x7a\\x2b\\x75\\xc5\\xb5\\xbd\\xf8\\x91\\x64\\x3a\\xc3\\x65\\xd1\\xb5\\x38\\x4c\\xdf\\xce\\x7c\\x03\\xd9\\x8a\\xb5\\xe7\\xf6\\x3d\\x34\\x7f\\x86\\xa6\\x16\\xfd\\x9f\\xb7\\x57\\x5b\\xa2\\xfa\\x19\\x88\\x83\\x12\\xa8\\x09\\x6c\\x70\\x43\\xe5\\x80\\x88\\xd7\\xe7\\xf3\\xb3\\x56\\xd1\\x8a\\x82\\x7e\\xe4\\x6f\\x4e\\x31\\xae\\x08\\x1b\\x73\\xc4\\x60\\xd8\\x62\\x8e\\xa0\\xdd\\x1f\\x72\\x34\\x92\\x77\\xf9\\x4e\\xee\\x69\\x52\\xda\\xdd\\x3b\\xaa\\xaf\\xf1\\x6a\\x4f\\x9c\\x51\\x67\\xa3\\x04\\x3b\\x27\\x29\\xe0\\x5c\\x26\\x1d\\x26\\x43\\x32\\x3c\\x3d\\xa8\\x95\\x06\\x3c\\x27\\x28\\xdb\\x48\\x2f\\x6d\\xfc\\x80\\x36\\x65\\xd4\\xe4\\x25\\x56\\x1a\\xf2\\xf0\\xc2\\x09\\x8a\\x36\\xf2\\xfb\\xe0\\xd7\\xd2\\x77\\x45\\xc7\\xa7\\x2b\\x21\\x33\\xe3\\x4a\\x18\\xc6\\x11\\xe6\\x39\\x07\\x17\\x2d\\x0f\\xc1\\x50\\x85\\x42\\x26\\x1b\\x67\\x73\\x4f\\xcd\\xd8\\x1c\\xa2\\x9d\\xf3\\xeb\\x06\\xaa\\x78\\x9c\\x74\\x37\\xc4\\xca\\xc3\\x54\\x54\\xa9\\xc9\\x0f\\xd0\\xe2\\xb5\\x67\\x15\\x94\\x67\\xe4\\x77\\xc1\\xc9\\xd0\\xb0\\x23\\x74\\x65\\x19\\xe9\\x3c\\x6d\\xc6\\x62\\xd4\\x26\\x75\\x41\\x4e\\x3c\\x01\\x35\\x93\\x3a\\x47\\x22\\x1e\\xf7\\x81\\x5d\\xb5\\xdb\\x39\\x54\\x57\\x86\\xca\\x06\\xb5\\xf8\\xea\\x2c\\xd1\\x28\\x38\\xfe\\x44\\xd4\\x61\\x21\\xb7\\x00\\x5a\\x0a\\xde\\x96\\xcb\\xd7\\x3a\\xda\\xf2\\x83\\x21\\x7b\\x8d\\xa6\\x82\\xb7\\xe6\\x14\\xa7\\xaf\\x2f\\x78\\x30\\xc5\\x95\\x0e\\xec\\x2f\\x63\\xbd\\xec\\x13\\xca\\xec\\xb8\\xf0\\x3e\\xad\\xd2\\x31\\x73\\xde\\x86\\x6d\\x57\\x9e\\xa6\\x2b\\x72\\x34\\x9e\\x75\\xdb\\xe6\\xcb\\xc7\\x57\\x6f\\x90\\x27\\xc8\\xd6\\x94\\x52\\xe3\\x48\\x77\\x06\\x2b\\xaa\\x3b\\x2e\\xea\\xd4\\x0a\\x1c\\x0d\\xc3\\x6a\\x13\\xf1\\xe1\\xa7\\xcd\\x1d\\x41\\x6a\\x1b\\x0f\\xc2\\x78\\x1c\\x07\\xbb\\x94\\x80\\xb9\\x53\\x17\\xf6\\x04\\x5c\\xe5\\xe5\\x82\\x60\\xf1\\xb0\\x55\\xa8\\x32\\x44\\x6e\\xb4\\x83\\x40\\x3b\\xe4\\xb2\\x58\\x5c\\x21\\x36\\x66\\x8c\\x81\\xb1\\x8a\\x85\\x8c\\xb6\\xce\\x8c\\x11\\xe5\\x3d\\xbf\\x5c\\x40\\xad\\x23\\xa7\\x96\\x5d\\xba\\xc7\\x76\\x59\\xea\\x0d\\x5a\\x88\\xd7\\x57\\xc7\\x23\\xaa\\xb3\\x08\\x51\\xf9\\xa1\\xa4\\x4c\\x4b\\x74\\xd0\\xd0\\x20\\x1e\\xd6\\x55\\x3f\\xf0\\x94\\x8e\\x09\\xf8\\x39\\xe2\\x19\\x88\\xff\\xf8\\xeb\\x96\\x3b\\x9b\\x53\\x39\\x64\\xab\\x9b\\xbc\\x88\\xdb\\x8c\\xe7\\xb9\\x76\\x86\\x16\\xac\\xff\\xe9\\x75\\xea\\x06\\xb6\\x83\\xb7\\x78\\x23\\xbb\\xc7\\x2c\\xdb\\x55\\x51\\x9a\\x41\\xce\\xc6\\x23\\x1f\\x3a\\x25\\x1d\\x33\\x33\\x8c\\xcf\\x8a\\x5c\\x36\\x97\\xe0\\xe3\\x02\\x7e\\x97\\xd5\\x6b\\xb3\\x73\\x30\\xeb\\x39\\x71\\x6a\\x86\\xb3\\x5a\\x41\\xbb\\xac\\xca\\xf3\\xb4\\x2f\\xd7\\x29\\x4b\\x68\\x85\\xc7\\x29\\x13\\x7a\\x9b\\x15\\xc5\\x64\\xbd\\x95\\x1c\\x59\\x61\\xee\\xf8\\x5a\\x95\\xeb\\x21\\x69\\xc5\\xfe\\xaf\\xad\\x83\\x63\\x55\\xdf\\x3f\\xbf\\x11\\x9c\\x1c\\x95\\x66\\x25\\x37\\xa4\\x37\\x5d\\xfd\\xdb\\x4b\\x2e\\x65\\x5e\\x94\\x65\\xf2\\x83\\x4c\\xc7\\x41\\x26\\x3f\\x9a\\x90\\xae\\x25\\x97\\xc6\\x71\\x7e\\x2f\\x78\\x20\\x83\\x01\\x09\\x1c\\x17\\x28\\xf1\\x9b\\x89\\xb7\\xb6\\x81\\xde\\xd8\\x42\\xa2\\x1d\\xb1\\xe0\\x0d\\x30\\x2f\\xdf\\x3e\\xa3\\xa6\\x8e\\xed\\x85\\x89\\x73\\x4a\\x3e\\x0c\\xa7\\xbd\\xd0\\x5e\\x60\\x5a\\xb1\\x54\\xfc\\x44\\x7b\\x62\\xa9\\x22\\xee\\x10\\xf2\\xb2\\xb8\\xee\\x7d\\xf6\\x6e\\x4d\\x64\\xb9\\xee\\x03\\x72\\x3e\\x41\\xcf\\xcd\\xd3\\x33\\xb0\\x6e\\xcc\\xf3\\xe0\\x2c\\xac\\x6e\\xd6\\xe3\\xa5\\xcf\\xcd\\xba\\x91\\xe0\\x86\\x58\\xc3\\xed\\xe5\\xc1\\xaa\\x81\\xdf\\xb4\\xeb\\xaf\\x8a\\x20\\x9d\\x58\\x70\\xd9\\x23\\xa4\\xb3\\x72\\x39\\xa7\\x60\\x98\\x07\\x32\\xbf\\x24\\xe5\\x9b\\xde\\x85\\xcc\\x6f\\x14\\xa1\\x7a\\x83\\xd7\\xb1\\x95\\x1b\\xaf\\xfb\\xe9\\xcf\\x3a\\x61\\x18\\xd4\\x25\\xcd\\xe0\\x07\\x81\\x5d\\xa8\\x41\\x83\\x20\\xee\\x19\\x59\\x29\\x36\\x34\\x78\\xbd\\xb1\\x58\\x59\\xd0\\x66\\xb7\\x37\\xb3\\x41\\x76\\x70\\x6b\\xdc\\x3f\\x39\\x13\\xf7\\x46\\x4b\\x3b\\x33\\xd1\\x90\\xd0\\x38\\x39\\x53\\x49\\x0e\\xfb\\xb4\\xdb\\xb0\\xdd\\xb6\\xd8\\xc6\\x98\\xe5\\xd3\\x3e\\x9d\\x19\\xa7\\x03\\xd5\\x16\\x3f\\x08\\x4d\\x4e\\xf4\\x3b\\xe9\\x1b\\xe4\\x3a\\x87\\x56\\x68\\xeb\\xa9\\xfc\\x7c\\xd1\\x59\\x1f\\x97\\x7c\\xd6\\x87\\xe4\\xde\\x1e\\x39\\x01\\x87\\x40\\xa8\\xe0\\xc4\\x0f\\x43\\x4e\\xfc\\xdc\\xbd\\xf3\\xfe\\x8f\\xbe\\xff\\x76\\xc9\\xca\\x55\\x17\\x99\\x9f\\x69\\xc0\\x57\\x1d\\x78\\xab\\x3b\\x18\\xbd\\xb4\\x7a\\x40\\x43\\x8d\\xf4\\xd5\\xbd\\x46\\xe1\\xd4\\x27\\xcf\\x38\\xfb\\xce\\xcc\\x6f\\xd7\\x5d\\x39\\x66\\xb6\\xe7\\x91\\xad\\x0f\\x65\\x05\\x6e\\xe8\\x55\\xcb\\xa6\\x9c\\xe1\\xc4\\xf1\\xdf\\xfc\\x5a\\x6a\\xd8\\x21\\x7e\\x7d\\x9b\\x69\\xbb\\x01\\x57\\xaf\\x32\\xbf\\x79\\xd9\\x79\\xbf\\x38\\x63\\x3b\\x68\\x2a\\xd3\\x38\\x7f\\xf2\\xcc\\x39\\x34\\x16\\x9c\\xc1\\xfd\\x00\\x7d\\x52\\x01\\xd1\\xe0\\xec\\x74\\x53\\x89\\x25\\x16\\x8b\\x46\\x8d\\x46\\x0e\\xd5\\x40\\x82\\xd8\\x98\\x0c\\x3b\\x4a\\xac\\x3e\\xa7\\xaf\\x92\\xbc\\xbe\\x2c\\x82\\x0b\\x17\\x99\\xa9\\x19\\xd1\\xe9\\xac\\x27\\x4f\\x5d\\x9a\\xa3\\x9d\\x19\\xb3\\x57\\xf3\\x0d\\x8a\\xc2\\xf7\\x39\\x24\\xa3\\x6b\\x7b\\xbe\\x85\\xb1\\x2a\\x2d\\xda\\x8b\\xea\\x82\\xbd\\x54\\x41\\x26\\x32\\x40\\x69\\xe1\\x64\\x86\\x1b\\x74\\xf7\\xba\\xb7\\xf6\\x43\\xbc\\x7e\\xef\\x20\\x08\\xef\\x1e\\x15\\x47\\xff\\x70\\xfd\\x6d\\xd7\\xad\\x5c\\x75\\xcd\\x1d\\xd7\\xaf\\x94\\x9b\\x76\\xc5\\x8a\\xa1\\x17\\xcc\\xc2\\x3e\\xec\\x63\\x06\\x75\\x9d\\x53\\x76\\x2b\\x3f\\xf4\\x48\\xef\\x42\\x7c\\xcf\\x1f\\x0f\\x1c\\xf8\\xf8\\x6f\\x2f\\xff\\x59\\xcd\\x41\\xde\\xe3\\xff\\x4c\\xdb\\x39\\x25\\x5d\\x57\\x63\\xab\\xa8\\x28\\xf1\\x84\\xc3\\x25\\x31\\xb1\\x44\\x6c\\x4c\\x96\\x43\\x80\\x5e\\x1e\\xa2\\x2f\\x78\\x22\\x0b\\x32\\x72\\xc6\\x7a\\x72\\xd3\\x14\\x07\\xcd\\xe6\\x8a\\xf2\\x8f\\xc2\\xed\\xae\\xf9\\xf4\\x23\\x56\\xb8\\x10\\xaa\\x5a\\x24\\x65\\x68\\x49\\x9b\\x0b\\x12\\x90\\x36\\x4e\\x9f\\x81\\xe0\\xd0\\xc8\\x31\\x43\\x86\\xae\\x5a\\x9d\\xae\\x6d\\x1f\\x2e\\x1d\\xea\\x3f\\x07\\x79\\x10\\x57\\xdb\\x1f\\xf2\\x6e\\x39\\xfe\\xd7\\x2d\\xf6\\x3b\\xed\\xb8\\x9a\\xb9\\x47\\x4d\\x41\\x88\\x5e\\x77\\x71\\x1f\\xc3\\x18\\x86\\x21\\x8b\\x9c\\x95\\x6e\\x10\\x9c\\x4e\\x8b\\xc1\\x50\\x56\\x8a\\xe2\\x71\\x7f\\xa9\\xbf\\x32\\x41\\xd6\\xfc\\xe3\\x60\\x98\\xe2\\x71\\x4f\\x30\\x18\\x25\\x01\\x8a\\x87\\x85\\x54\\xcb\\x67\\x07\\xdf\\x6e\\x0f\\xf5\\x79\\xe8\\xb9\\xdf\\x23\\x18\\x29\\xfd\\x32\\x7f\\xbe\\x4d\\x2d\\x82\\x12\\xb0\\xe7\\x17\\xf8\\xb1\\x47\\x5e\\xe0\\x57\\x1a\\x73\\xfe\\x8e\\x63\\x3f\\xfe\\xf8\\x45\\xf1\\xd2\\xbe\\x74\\x87\\xdc\\x8a\\x5f\\x8f\\xc6\\x65\\x38\\x88\\x2d\\xb8\\x2c\\xbf\\xb0\\x8f\\xd1\\x78\\x68\\xcf\\x19\\x74\\x4d\\x73\\x79\\x7a\\x68\\xc5\\x80\\x01\\x71\\x91\\xdc\\x8c\\x0a\\xae\\xb1\\x3a\\x4e\\xdf\\xb6\\x8d\\xb3\\x03\\x1b\\xeb\\x60\\x6c\\xea\\x42\\xfd\\xbc\\x70\\xdb\\x80\\xfa\\xbc\\x71\\x0b\\xd1\\x77\\xe1\\x2b\\xb7\\x7d\\x67\\xa7\\x2b\\xbf\\xd3\\xf3\\x3f\\x79\\xec\\x56\\xdf\\x03\\x27\\x7b\\xf6\\x56\\xe9\\x84\\xb3\\x4f\\xf6\\xf8\\xad\\xb4\\x4d\\xee\\x8b\\x5d\\xc3\\xe4\\x37\\x65\\xba\\xd8\\x79\\xb4\\xed\\x0b\\xd3\\xad\\xee\\xca\\x32\\x7f\\x2c\\xe6\\xa8\\x0d\\x97\\x95\\x21\\xa3\\x91\\xaf\\x85\\x76\\x57\\x7a\\xdc\\x1e\\x68\\xa9\\xc7\\x53\\x9e\\x1c\\x60\\x36\\x0f\\x18\\x60\\x85\\x60\\xdb\\x17\\x0e\\x97\\x97\\x07\\xc9\\x66\\x0e\\x11\\x4c\\xa8\\x18\\xd2\\xdb\\x25\\xad\\x0b\\x9c\\x7d\\x4e\\x1f\\xe6\\xb7\\xd7\\xfb\\xd5\\xe6\\x94\\x60\\xf5\\xca\\xa0\\x13\\x3c\\x61\\x2f\\x7b\\xd4\\xcf\\x94\\x76\\xdd\\xd3\\xf2\\xda\\x39\\x8b\\x1f\\x7c\\x50\\x77\\x83\\xe7\\xfd\\x7f\\xd8\\xb4\\x70\\xcd\\x6d\\xef\\xee\\xbf\\xe6\\xec\\x35\\x72\\xab\\xf0\\x05\\xf5\\xf7\\x9f\\x33\\x7d\\xee\\xb9\\xf9\\xbb\\x3c\\xef\\xbd\\xe2\\xec\\xab\\x8d\\x8c\\xf5\\x96\\x45\\x5b\\x7f\\x35\\x4c\\xae\\x81\\xcc\\x84\\x7c\\x74\\x17\\xb4\\x99\\xd4\\xe8\\xe6\\xa4\\x07\\xa2\\x44\\x22\\x10\\xb0\\xf8\\xfd\\x2e\\x5b\\x44\\x0c\\xdb\\xc2\\x55\\x95\\x81\\x48\\x19\\x84\\x08\\x96\\xb2\\xb2\\x90\\x31\\x54\\x01\\xb1\\x82\\xcf\\x0b\\x19\\x96\\x37\\x74\\xa2\\x8b\\x83\\xe5\\x9b\\x2d\\xfa\\xdc\\x8a\\xa4\\xc6\\xdb\\xf9\\x46\\xb9\\xdc\\x29\\x67\\xbe\\xe5\\x36\\xac\\x3b\\xbe\\xc3\\x9e\\xa9\\xdd\\xca\\x77\\xe8\\x07\\xd3\\xa3\\x4a\\x7b\\x7d\\xdf\\xbf\\x2b\\xc5\\x9e\\x2e\\xba\\x88\\x4f\\xfa\\xb7\\x74\\xbc\\x77\\xb4\\x32\\x2b\\x87\\x7e\\x7a\\x84\\x69\\xd7\\xb6\\xa8\\xd0\\xbb\\x4a\\xbb\\x98\\xcb\\x68\\x4e\\x46\\xee\\x57\\x8f\\x5a\\x8d\\x46\\x86\\x71\\x8b\\xa2\\x83\\xe3\\xbc\\x1e\\xa7\\x63\\x2a\\xd8\\x1b\\xde\\x4e\\x63\\x07\\x2f\\x29\\x80\\x22\\x7d\\xa8\\x9d\\x7f\\x5c\\x49\\x15\\x9d\\x18\\x4e\\xaa\\xa6\\xb2\\xd4\\xb8\\x25\\xe5\\x65\\x90\\x74\\x68\\x76\\x76\\x16\\x11\\x50\\x3a\\x3d\\x0b\\x09\\x60\\xf5\\x06\\x6e\\xc8\\x4f\\x73\\xa5\\x2f\\x89\\x40\\xc2\\x6b\\x8f\\x3c\\x42\\xee\\x11\\x07\\x9d\\xda\\x4b\\xf7\\x05\\x8d\\x49\\x27\\x04\\x77\\x89\\xb5\\xa2\\xa2\\xcc\\xcd\\x26\\xe2\\xb2\\xd5\\x0b\\xf8\\x10\\xf2\\xf9\\xa0\\x23\\x7d\\x3e\\x8b\\xc5\\xe1\\x30\\x92\\x69\\x84\\x8a\\xb5\\x47\\x1f\\x2c\\x40\\x30\\x9c\\x5f\\x88\\x50\\xce\\xfb\\xc9\\x6b\\x15\\x55\\xde\\x7c\\x77\\x7e\\x6b\\xdf\\x30\\xe7\\xfa\\x5f\\x6c\\xd8\\xb4\\x60\\x99\\xed\\xa9\\xf0\\xfb\\x0f\\x7e\\x72\\xec\\xe8\\xdf\\x36\\x9e\\xab\\xf4\\x23\\x9e\\x78\\xe1\\xf9\\xbf\\x7f\\xef\\xd3\\x67\\x17\\x9e\\x61\\xbb\\xed\\x11\\xb2\\x2a\\x21\\x7d\\x25\\xfd\\x75\\xec\\x6e\\x45\\x63\\x5e\\x22\\x31\\xe3\\xcd\\xd0\\x6f\\x63\\xa1\\xdf\\xa2\\xd0\\x6b\\xe5\\xa5\\x08\\x79\\x0d\\xde\\x58\\x05\\x38\\xe0\\x0a\\x27\\x48\\xea\\x74\\x96\\x98\\x4b\\x20\\xc1\\x2a\\x41\\x66\\x88\\x1d\\xcc\\xa1\\xfe\\x5e\\x0e\\xd0\\xee\\x1e\\x4a\\xd0\\x63\\xe7\\xea\\x59\\xda\\xe1\\x58\\x89\\x19\\xf3\\x55\\x14\\x2f\\x1e\\x76\\xd9\\x3a\\x26\\x39\\x94\\xc8\\xb6\\x71\\xdd\\xb0\\x36\\x98\\xdf\\xb7\\xdd\\x7a\\x01\\x0d\\x16\\xdf\\x7a\\x74\\x97\\xf9\\x94\\x21\\x20\\xd6\\xf5\\xb7\\x3e\\x1c\\xa8\\x9a\\x78\\x1e\\x7b\\xed\\xa3\\xfb\\x5c\\x0f\\x42\\x9c\\xa8\\xbc\\xb1\\xd0\\xc5\\x93\\x3b\\x81\\xe2\\x10\\x83\\x55\\x95\\x1a\\x0c\\x66\\xb3\\xcf\\x69\\xc5\\x31\\x6b\\xac\\x32\\x51\\x8a\\xca\\xcb\\x79\\x72\\xc7\\x75\\xc0\\xd2\\x99\\x09\\x78\\x3d\\x76\\x52\\xdb\\x32\\xd9\\xc9\\xa5\\x72\\x45\\x9b\\x4a\\xf2\\x7e\\x52\\x5b\\x3f\\xd1\\x76\\x4e\\x39\\x53\\x3a\\x43\\x13\\x6b\\x60\\xb4\\xed\\xd5\\x78\\x88\\x9c\\x0c\\x66\\x56\\x8f\\x8c\\xb7\\x0f\\x96\\x0e\\x75\\xe4\\x73\\x42\\x08\\x14\\xa7\\xd0\\x5c\\x90\\x59\\xae\\xaa\\x01\\xe8\\x84\\x9a\\x12\\x32\\xbf\\x27\\xf7\\xd2\\x81\\x7d\\x35\\x83\\xdc\\x09\\xb0\\xaf\\x23\\xc8\\xbb\\x19\\x56\\x18\\x77\\xc1\\x6d\\x0d\\xc6\\xdd\\xf1\\xaa\\xca\\x12\\x3f\\x42\\x7e\\x16\\xb2\\x22\\xb3\\xd3\\x69\\x9a\\x9c\\x61\\xc9\\xda\\x8f\\xdd\\x89\\xcd\\x2c\\xeb\\x64\\x9d\\x15\\xb6\\x8a\\x30\\xc9\\x75\\x1d\\x56\\x1b\\x58\\x1e\\x5b\\xe1\\x6a\\x8c\\x72\\x67\\x0f\\xbd\\x83\\x5c\\x33\\x3b\\x05\\x17\\x93\\x91\\x9a\\x87\\x96\\x89\\x68\\xb7\\x92\\x71\\xf4\\x46\\xa6\\x0a\\x65\\xc5\\x51\\x56\\x9f\\xef\\xdd\\xb7\\x6d\\xbc\\xfa\\x7f\\x76\\xf6\\x4c\\xc1\\x97\\xf6\\x4e\\x67\\x97\\x4b\\xeb\\xf1\\xfd\\xab\\xde\\xbb\\xfe\\xed\\x4b\\x47\\x8f\\x90\\x55\\xe8\\xc0\\x95\\x97\\x6c\\x3a\\x6f\\xd3\\x86\\xf5\\x78\\xfa\\x8d\\x5b\\xa5\\x6c\\x58\\xda\\x74\\xde\\x63\\xe7\\x5c\\xd8\\x34\\x7e\\x82\\xac\\x42\\x23\\xe9\\xdc\\xeb\\xc2\\x1f\\x30\\xaf\\x73\\xdf\\x22\\x2f\\x68\\xd1\\xc8\\x74\\xd4\\x27\\x94\\x7a\\x6d\\x36\\x97\\xd5\\x2e\\xd8\\x63\\x15\\xc8\\xcc\\x1a\\x22\\x86\\x83\\x99\\xc8\\xc7\\xae\\xc3\\xf6\\x43\\x6c\\xc9\\xc1\\x0c\\x7b\\xa4\\xdf\\x93\\x11\\x9a\\xf7\\x53\\x6e\\x14\\x97\\xb7\\x7e\\xd1\\xbd\\x9b\\x24\\x19\\xd4\\xef\\x46\\xfc\\xdf\\x8a\\xc5\\xd3\\x6e\\xb8\\x52\\xfa\\xc7\\xb4\\xc5\\x15\\x0c\\xb3\\x86\\xbb\\x44\\xc4\\x97\\x76\\x92\\xf3\\x93\\xe7\\x9e\\x31\\x9d\\x5b\\x48\\xce\\x4f\\x4a\\x4b\\xd2\\xa7\\x4e\\x8f\\x32\\xdd\\x57\\x05\\x07\\x9e\\x26\\xfd\\xb4\\x7d\\xd3\\x6d\\x77\\xdd\\xb6\\x69\\xa3\\x1c\\xcf\\xa7\\xf1\\x87\\xcc\\x1d\\xdc\\x77\\x10\\xcf\\x37\\xa4\\xfd\\xc8\\xe2\\x12\\x2c\\x42\\xa0\\xc4\\xee\\x3d\\x98\\x71\\xdb\\x8f\\xf0\\x60\\x34\\x0e\\x66\\x8c\\x5f\\xe8\\x2e\\xf7\\xcf\\x1f\\x11\\x71\\x3b\\x0a\\x4f\\x46\\x92\\xbc\\x8e\\x88\\xb4\\xff\\xe9\\x53\\x66\\x98\\x2f\\xb3\\xdd\\xb6\\xe2\\xf6\\x07\\x76\\x6c\\x5b\\x76\\xab\\xe7\\x72\\xdf\\x75\\xf3\\x66\\xb0\\x17\\x4a\\x7f\\x1a\\x7f\\xba\\x61\\xd1\\xd5\\xaf\\xbd\\xfc\\xdc\\x9b\\x2b\\x2f\\x34\\x5d\\x7f\\x2d\\xe9\\xa7\\x14\\x7e\\x98\\xd9\\x0c\\xbc\\xc3\\xa8\\x0a\\x4d\\x4d\\x37\\x54\\xd8\\x82\\x95\\x82\\xc7\\xc0\\xf0\\xbc\\x41\\x08\\x72\\x35\\xd5\\x81\\xf8\\xc1\\x8c\\xaf\\x52\\x60\\x38\\xfa\\x3c\\xbe\\xf3\\x60\\xc6\\x6e\\x3e\\x82\\xca\\x0e\\x66\\xb8\\x39\\x20\\x37\\x08\\xd5\\xfd\\x4a\\x3e\\x17\\x0d\\x24\\xfd\\x6d\\x85\\xd5\\x59\\x7a\\xbe\\xbd\\x4a\\x20\\xaf\\xe2\\xea\\xc5\\xf3\\x7a\\xfc\\xf0\\x0f\\xb2\\x22\\x57\\x45\\x6f\\x13\\x8c\\x55\\x88\\x3e\\x7c\\xd9\\x85\\x1d\\xb1\\x92\\x69\\xa7\\x8d\\xda\\x71\\x27\\x11\\xd8\\xbd\\x71\\x6e\\x97\\x7f\\xc3\\x2f\\x9e\\x68\\x5f\\x35\\x6b\\x70\\x47\\xcd\\xb4\\x25\\x67\\x27\\xf1\\x47\\x83\\x5b\\x9b\\x47\\x5e\\x72\\xee\\xce\\x67\\xdf\\x22\\xc2\\x5f\\xb9\\x63\\xf6\\xa9\\x1b\\xef\\x1b\\x7e\\x56\\xdb\\x59\\x65\\x8d\\xe1\\x09\\x57\\xa6\\xe4\\x7b\\x85\\x3e\\x62\\xde\\x10\\x7c\\x60\\x48\\xab\\xd0\\x19\\xe9\\xa4\\xa1\\xb4\\xb4\\xc4\\xeb\\x32\\x59\\x39\\x8b\\xdb\\x5d\\x62\\xa9\\x60\\x4b\\xd8\\x9a\\x6a\\x93\\xd7\\xea\\xe2\\xcc\\x6e\\xb7\\xc3\\x2c\\x08\\x91\\x83\\x19\\x03\\xc4\\x47\\x8e\\x2f\\x51\\xa2\\x60\\xa7\\x7f\\x9b\\xbc\\xb3\\x33\\x90\\xcc\\x5f\\xf3\\xa6\\x14\\xed\\x94\\x49\\xaa\\x74\\xb6\\xbf\\xb2\\x4a\\x6c\\x69\\xad\\x04\\x4d\\xf0\\xb7\\x7a\\x45\\x9f\\x2b\\x8c\\x8b\\x4e\\xe5\\xad\\xda\\xfe\\xf0\\x43\\x3b\\xcf\\x4a\\x9f\\x36\\xe3\\xc0\\x96\\xf6\\x73\\x37\\x37\\xb7\\xbf\\x73\\xd3\\x92\\x35\\xbb\\xaa\\xbb\\x17\\x5d\\x34\\x7b\\xde\\xbc\\xc5\\xf3\\xf1\\x47\\xfb\\x1e\\xf9\\xd5\\xbe\\xda\\xdb\\x3b\\xbb\\x3b\\x4f\\x69\\x19\\x1a\\x68\\xec\\x9e\\x34\\x72\\x81\\xf4\\xf9\\x23\\xdc\\x93\\xcf\\xe3\\xb9\\x57\\xaf\\xdd\\xb0\\xe1\\x9a\\xb5\\x6b\\xe9\\x9d\\x0b\\x1f\\x30\\x93\\xb9\\x6f\\x60\\xbe\\xae\\x4c\\x8f\\x76\\xc4\\x42\\xde\\x68\\xd4\\x82\\x82\\xa1\\x90\\x28\\x20\\xa1\\xaa\\x32\\xe6\\x74\\x38\\x1d\\x07\\x33\\xce\\xb4\\xcd\\x39\\xce\\x49\\x26\\xab\\xd3\\xc9\\x96\\xd9\\x83\\xd8\\xc7\\x06\\xc9\\x47\\xc1\\x60\\x59\\x59\\xe0\\x60\\xa6\\xec\\x08\\x6b\\x3c\\x98\\x49\\x8b\\x58\\x14\\xe9\\x51\\xe1\\x64\\xb7\\xee\\x98\\xb7\\x7a\\x3b\\x41\\x5d\\x9f\\x3b\\xac\\x52\\xf9\\x8b\\x5f\\x63\\x85\\x17\\x0a\\xf6\\xb9\\x90\\x0f\\x8c\\x2c\\x33\\xf9\\xe6\\x2b\\x2e\\xbb\\xc9\\xbc\\xca\\x72\\xcb\\x84\\x8e\\x8e\\x89\\x23\\x87\\xb7\\x77\\x8c\\x3a\\xf5\\x12\\xef\\x6a\\xeb\\xf5\\x8b\\x57\\x5e\\xbb\\x75\\xca\\x4c\\x26\\x3b\\xff\\x92\\x15\\xab\\x4d\\x77\\x9f\\xda\\x3e\\x7c\\xf4\\xfc\\x91\\xad\\x83\\x4e\\xbd\\xc9\\xbc\\x70\\xd5\\xb2\\xb9\\x6b\\x1b\\x6d\\xf3\\xd4\\xbb\\x55\\xf0\\x3d\\xbc\\x84\\x3c\\x90\\x2b\\xc6\\x9c\\x18\\x8b\\x1c\\xe3\\xb6\\x32\\x56\\xaf\\x4f\\x60\\xc9\\xb5\\x0b\\x2e\\x17\\x22\\x47\\x54\\xb0\\xc9\\x64\\x3b\\x98\\x31\\x7d\\x89\\x0b\\xae\\xf1\\xd0\\x9f\\x9b\\xd1\\x76\\x16\\x39\\xf5\\x05\\xf3\\x2a\\xa5\\x5e\\xee\\x58\\x73\\xde\\x79\\x33\\xcf\\x6c\\x0b\\x0f\\x4a\\xd6\\x6e\\xe6\\xae\\xeb\\x9d\\xcb\\xdc\\x73\\xe6\\xf4\\xf3\\xcf\\x34\\xcc\\x15\\x06\\x8e\\x1c\\x2d\\xdf\\x13\\x5a\\x8f\\x7e\\x8f\\xb7\\x73\\x9f\\x81\\x1c\\xa3\\xd3\\x15\\x6e\\x0b\\x72\\x3a\\x79\\x56\\xb4\\x88\\x5e\\x1f\\x72\\x91\\x8b\\x4f\\x58\\x56\\x20\\xfb\\x81\\x19\\x59\\x0e\\xe6\\x30\\x6a\\x4f\\xf6\\x2b\\x46\\xfe\\xba\\x28\\x79\\xd1\\x92\\x86\\x4e\\x2d\\x7e\\x52\\x1a\\x8b\\xb5\\xfc\\x46\\x27\\x05\\x93\\xc3\\x9f\\x4b\\xc1\\x33\\xa5\\x6f\\x14\\x31\\x7a\\xcf\\x94\\xef\\xc5\\x53\\xce\\x9b\\xba\\x04\\x7e\\x11\\x95\\x6b\\x0e\\xfe\\x92\\x79\\x84\\x9e\\x07\\x6f\\x4b\\x47\\x8c\\x82\\xcf\\xee\\x76\\xbb\\x04\\x97\\x3f\\x60\\x81\\xee\\x41\\x93\\x2c\\xb3\\x2d\\x8b\\x2d\\xac\\xc5\\x22\\xba\\x0f\\x39\\xc4\\x2f\\xe5\\xf7\\x29\\x92\\xdd\\x6d\\x75\\xfa\\x44\\x4c\\x3b\\x07\\xee\\xd4\\x5d\\xc9\\x41\\xae\\xa4\\x61\\x5a\\x6a\\x16\\x4f\\x5b\\xb1\\x6c\\xcd\\xd8\\xc9\\x33\\xcf\\x5d\\xb3\\x46\\x60\\xaf\\xed\\x18\\xbd\\xf6\\x26\\x72\\x0e\\xe7\\xe2\\x49\\x6b\\xcf\\xc7\\x2f\\xfe\\xf8\\x25\\x76\\x2c\\x29\\xa3\\xf7\\xba\\xc2\\x18\\x35\\xd0\\x33\\x9d\\x76\\x72\\x3b\\x9f\\xdd\\x28\\x9a\\xcd\\x16\\xf2\\xec\\xa4\\xc3\\x69\\xb1\\x7e\\x69\\x02\\x37\\x74\\x30\\x23\\x52\\x9f\\xc1\\xb2\\xfc\\x61\\x72\\x15\\x46\\x3b\\x28\\x96\\x7a\\x50\\x41\\xbf\\x6d\\x92\\xf6\\x0c\\x0c\\x8f\\xd2\\x3b\\xe4\\xe9\\xc8\\xf9\\x53\\xa7\\xae\\x9a\\x3c\\x79\\xd5\\x2a\\xe0\\xb1\\x70\\x26\\x6e\\x93\\x7e\\x37\\x53\\xda\\xca\\x6e\\x5f\\xb5\\x0a\\xda\\x3e\\x1f\\x7f\\x89\\x3e\\xa2\\xe7\\x52\\x7d\\x69\\x23\\xb9\\xaf\\x88\\xc7\\x32\\x75\\xed\\x2e\\x27\\xa0\\x33\\x7f\\x15\\x39\\xeb\\xd3\\xcb\\xf7\\x03\\xcf\\x73\\x27\\x87\\xa7\\xed\\x02\\x78\\x33\\x1a\\x94\\x2e\\x25\\x8d\\x22\\x6d\\xb2\\x58\\x4f\\xda\\xa0\\xc2\\xb5\\x69\\x5d\\x5b\\xe4\\x76\\xe8\\x5b\\x41\\xef\\x6d\\xcb\\xa1\\xe7\\x99\\x04\\xf4\\x9d\\x03\\xac\\x53\\x04\\x4d\\x4b\\xd7\\x97\\x8a\\x5e\\x6f\\xc4\\x62\\xb2\\xd9\\xca\\xa3\\x25\\x2c\\x5b\\x1e\\x2e\\xfd\\x2c\\x13\\xfe\\xd2\\xea\\x13\\x7c\\xa0\\x57\\x76\\x01\\x5b\\x59\\x30\\x4d\\x86\\xc3\\x08\\x4c\\x2e\\xfa\\x5a\\x33\\x4d\\xea\\x23\\x05\\xba\\xc7\\x16\\xd5\\x2e\\x05\\xe7\\x4a\\xed\\xd2\\x50\\xac\\x2d\\xcb\\x56\\x51\\x75\\xa3\\xe6\\x88\\x3c\\xd0\\x79\\x68\\xd1\\x65\\x67\\x5f\\xb0\\x61\\x75\\x77\\xf7\\xaa\\xd5\\x43\\x47\\xac\\x6d\\xae\\x6f\\xfd\\x9f\\xd5\\xcf\\xcf\\xcd\\x64\\xce\\x60\\x9e\\xea\\x1d\\x3b\\x2f\\xb8\\xf0\\x17\\xf3\\x3b\\x4e\\x73\\xd4\\xd4\\x54\\x35\\x70\\xf3\\xa1\\xd7\\x89\\xce\\x75\\xa1\\xe7\\xf1\\x7c\\x90\\xd9\\x42\\xee\\x8e\\x41\\x26\\x93\\x95\\xb7\\x99\\xbf\\x34\\xf0\\x9f\\x65\\x0c\\x2c\\x7c\\x11\\xa9\\x94\\x17\\x79\\xe4\\x9d\\xe0\\x6e\\xed\\xd6\\x12\\xd0\\xac\\x3f\\x54\\x25\\xe2\\x15\\xf5\\x15\\xcf\\xaf\\xc1\\x77\\xb4\\x25\\x4d\\xcb\\x4c\\xef\\x70\\x4b\\x29\\x4d\\x16\\x68\\x5a\\x81\\xa6\\x1d\\x35\\xa7\\x4b\\xcc\\x1c\\x67\\x34\\xda\\x05\\xc1\\x09\\x4a\\x6b\\x65\\x3e\\xcb\\x58\\x85\\xb4\\x00\\x96\\x4a\\xa0\\xd7\\x50\\x91\\xf3\\x90\\x05\\xc7\\x8d\\x29\\x8f\\xfc\\x72\\x85\\x97\\x1c\\x79\\x65\\xcb\\x2b\\x66\\x8c\\x5e\\x3d\\xec\\xf9\\xea\\x18\\x1e\\x64\\x38\\x7f\\x1a\\xe7\\xfb\\xa9\\xeb\\xd5\\x77\\x44\\xe0\\x33\\x13\\x46\\x97\\x87\\x31\\xa5\\x77\\x5c\\x71\\x18\\x23\\x41\\x64\\x0e\\x63\\xee\\x60\\x06\\x17\\xdf\\x71\\x85\\xe9\\x2b\\x72\\x0c\\x2f\\x4d\\x5d\\x09\\x41\\x09\\xd1\\x89\\x8b\\xc8\\x79\\x41\\xf4\\x1c\\x57\\x0b\\xf1\\xc3\\x00\\x34\\x39\\x5d\\xef\\x73\\x38\\x5c\\xce\\xb0\\x28\\x1a\\x06\\xc4\\xe3\\xd5\\x06\\x27\\xd7\\x90\\xac\\xac\\xfb\\x2c\\x53\\xf9\\x55\\x39\\x4c\\xbe\\xf2\\x23\\x41\\xcb\\xc1\\x4c\\xf0\\x48\\xd8\\xe7\\x74\\x1f\\x36\\x38\\x0f\\x29\\x8f\\xc3\\xf4\\x59\\xdc\\xd0\\xef\\x13\\xce\\x2f\\x6c\\x9c\\xf8\\x70\\xb1\\x76\\xa0\\x97\\xfd\\x35\\x39\\x45\\xb7\\x8a\\xfe\\xc5\\x2d\\x17\\xc8\\x09\\xe3\\xa9\\x73\\xdd\\xec\\xa8\\xbb\\x96\\xcc\\x7f\\xbe\\xb6\\x29\\x51\\x3f\\x99\\x7d\\xf3\\x42\\x7a\\x94\\x18\\xff\\xed\\xc2\\x99\\x6b\\x96\\x15\\x1e\\x34\\xee\\xdd\\xf5\\x7b\\xcb\\x72\\xeb\\x02\\x39\\xce\\x20\\x6d\\xaa\\x84\\x3e\\x89\\xa1\\x8e\\x74\\x15\\xa8\\xb9\\xc9\\x85\\x2b\\x4a\\x4b\\x4a\\x2a\\x4c\\x90\\x0f\\xb8\\xdc\\x16\\xb7\\x2f\\x66\\x08\\x1e\\xb6\\x43\\x1f\\xd9\\xed\\x3e\\x1f\\x78\\x47\\xdf\\x17\\xe6\\xaf\\x94\\x0b\\x82\\xe4\\xe5\\x3d\\xe5\\xa2\\xf3\\x93\\x1c\\x07\\x8c\\x39\\x4f\\x74\\x16\\x70\\x6d\\x5b\\x07\\x34\\x60\\x65\\xe5\\x39\\x13\\x40\\x7a\\xa6\\x7c\\x41\\xd7\\x92\\xf9\\xab\\xc8\\x47\\xe4\\xdc\\xe4\\xa2\\x19\\xe4\\x1c\\xe0\\x8f\\xef\\xe3\\x07\\x4f\\x1f\\x7e\\xea\\x84\\x53\\x26\\x5e\\xbe\\x09\\xf7\\x92\\x4f\\xe9\\x31\\x40\\x9c\\x7b\\x01\\x6c\\xe1\\x6e\\x18\\x8b\\x08\\x1a\\x92\\x2e\\xe3\\x7d\\x3e\\x98\\x41\\x36\\x6b\\xc4\\x5a\\x1e\\x0d\\x84\\x3f\\xcb\\x04\\xbe\\xe2\\x19\\xdb\\x21\\xa3\\x8b\\x1c\\xcf\\x25\\xf6\\x58\\x99\\x2a\\xed\\xc5\\x0e\\xc1\\xdd\\xac\\x3b\\x0f\\x9d\\xef\\x7a\\xad\\x9b\\xe7\\x71\\x17\\xd3\\x63\\xd1\\xab\\x17\\xaf\\x39\\x65\\x46\\xd7\\x79\\xcf\\x57\\xb7\\x54\\x24\\x3b\\xb9\\x53\\x36\\x7b\\xe4\\x33\\xd1\\x12\\x87\\xff\\xb6\\x64\\xda\\x9a\\x65\\xbd\\x87\\x7f\\x6f\\x59\\x66\\x91\\xdf\\xc9\\x9b\\x8d\\x9e\\x63\\xc7\\xd0\\x73\\xdb\\x20\\x97\\x91\\x43\\x7e\\xa7\\xd3\\xed\\x42\\xae\\xf2\\x88\\xfe\\xdc\\x36\\xbd\\xd3\\xae\\xe8\\xdc\\x76\\x9b\\xae\\xa8\\x89\\x3d\\xda\\xa4\\xe9\\xf7\\xe4\\xf6\\xee\\xce\\xba\\x70\\x6d\\xed\\xf3\\xa7\\x4c\\x9f\\x79\\xde\\x6a\\x32\\xfc\\xf5\\x8b\\xa6\\xac\\xb9\\x08\\xdf\\xb1\\xc0\\x72\\xb1\\xe9\\xf7\\xcc\\x08\\x22\\x52\\xc1\\xc9\\x6d\\x2a\\x17\\x68\\xf1\\xc3\\xdc\\x41\\x98\\x63\\x0d\\x69\\xaf\\xd9\\x6a\\xb5\\x71\\x2c\\x2b\\xda\\x44\\x87\\x93\\x35\\xdb\\x78\\xfb\\x61\\x83\\xed\\x44\\xf7\\xa1\\xb9\\xb1\\xcf\\x4f\\xd6\\xcf\\x63\\x58\\xbe\\x99\\xed\\x4f\\x78\\xb8\\xd3\\xc7\\x5e\\xbc\\x4c\\xfa\\x9d\\xab\\x9c\\x5f\\xce\\x1d\\x94\\xc2\\xa1\\x86\\x99\\xf8\\xdd\\x5e\\x01\\x1f\\x09\\xa5\\x97\\x4b\\xf5\\xcc\\x71\\xba\\xcf\\x66\\x08\\xc4\\xaf\\x6f\\x40\\x0c\\x69\\x04\\xeb\\x46\\x6b\\xd2\\x1e\\x9b\\x8d\\xf7\\x5a\\xad\\x30\\xf9\\x02\\x25\\x1e\\x70\\x94\\x1e\\x12\\x8c\\x78\\xe8\\x19\\x20\\x0f\\x23\\x8a\\x4e\\x7a\\x86\\xdc\\x54\\x70\\x86\\x5c\\xbe\\x01\\xa4\\xcf\\x7e\\x32\\xed\\x40\\x79\\xe1\\x96\\x19\\xe6\\x0d\\xf5\\x48\\xb9\\xf4\\xf8\\xb9\\x67\\x89\\xd2\\x72\\x71\\xf6\\xfc\\xb3\\xe7\\x88\\xf8\\x46\\x71\\x16\\xbb\\x40\\x5a\\xfe\\xd2\\xeb\\x78\\xe3\\x2b\\x92\\x65\\xcd\\x86\\xb5\\xeb\\x98\\x33\\xd7\\xac\\xdd\\xb0\\x42\\xbe\\x4b\\xa7\\x15\\x6c\\xf0\\xab\\xd4\\xf6\\xf8\\x50\\x29\\x44\\xbb\\x75\\x7e\\xce\\x63\\xb4\\xdb\\x4b\\x20\\x06\\xb4\\x58\\x10\\xc7\\x86\\xcb\\xc4\\x2f\\x8d\\x6e\\x50\\x24\\xa3\\x20\\x04\\xc1\\x0c\\x1d\\xf1\\x94\\x60\\x48\\x0e\\x6c\\xf8\\x0b\\x62\\x82\\xf3\\xbb\\x4b\\xd4\\xe9\\x50\\x70\\xf6\\x47\\xce\\x37\\xc9\\xb9\\x1f\\x47\\x02\\x3e\\x23\\x6f\\x82\\xf2\\x4e\\x08\\x07\\xab\\x9c\\x23\\x70\\xc2\\xe1\\x87\\x79\\x81\\x47\\x6f\\xb8\\x01\\x5b\\x97\\xdc\\x74\\x95\\x74\\x64\\xcb\\xb8\\xd3\\x27\\x8c\\x97\\x16\\xdf\\x38\\x7e\\xf4\\xf3\\x38\\xea\\x78\\xe1\\x49\\x3c\\x3f\\x8e\\x1d\\xd2\\x31\\xdb\\x4b\\x4f\\x4a\\x5b\\xcb\\xa4\\x8f\\x99\\x5d\\x37\\xdc\\x64\\xed\\xdd\\x6d\\xbf\\xe9\\x7a\\xe9\\xa7\\x38\\x33\\xd1\\xa3\\x8c\\x6b\\x12\\xed\\x67\\x36\\x41\\x2c\\x38\\x10\\x64\\xaf\\x75\\xf3\\xf5\\x25\\x25\\x56\\x6b\\xb4\\xaa\\x31\\xda\\x98\\x6a\\x6a\\xa8\\xf9\\x2c\\xd3\\x10\\xe7\\x4b\\x1c\\x95\\x71\\x84\\xe2\\x71\\xb0\\x4b\\xf1\\x2f\\x1c\\xe0\\x4a\\x3c\\x1e\\xc7\\x11\\x12\\xf1\\xe5\\x03\\x3e\\x52\\x0d\\x6a\\x93\\x6b\\xeb\\xf2\\xc2\\x11\\x69\\x40\\x53\\x93\\x92\\xd8\\x93\\xbd\\xe5\\x55\\xf9\\x45\\x22\\x25\\x98\\x8d\\x60\\xe5\\xc0\\xa3\\x96\\xe4\\x83\\xb6\\x6e\\x73\\xcc\\xeb\\x7a\\x3c\\x3a\\x7c\\xe5\\x79\\x67\\x36\\xdd\\x74\\xdd\\xea\\xcd\\xee\\x8b\\xbc\\x77\\x4c\\x9d\\x34\\x68\\x64\\xe7\\xaa\\xae\\xe6\\x6d\\x9b\\x97\\x4f\\x9a\\x5a\\x1e\\xaf\\xab\\x78\\x96\\xc9\\x0e\\x6f\\xbb\\x34\\x3e\\x20\\x52\\x5e\\x3a\\x68\\xd2\\xe0\\xf3\\x17\\xcd\\x3c\\xdb\\xb6\\x20\\x35\\xa8\\xba\\xc9\\xe5\\x8b\\x0e\\x9a\\x36\\xe2\\xc2\\x4b\\x6a\\x97\\x9c\\x63\\x58\\x66\\x78\\x07\\xdb\\xe8\\x3e\\xd8\\x3d\\xe0\\x1b\\x6e\\x86\\xf1\\xf1\\xa3\\xa6\\x74\\xa9\\xc3\\xe7\\x63\\x8d\\xc6\\x40\\x89\\xd5\\x05\\x7e\\xc1\\x01\\x5f\\x5f\\x22\\x1e\\x7c\\x21\\xb9\\xa5\\x50\\xf5\\x3c\\x75\\x75\\xba\\xab\\x28\\x5a\\xe5\\x79\\x5c\\x94\\xde\\x3b\\x3d\\xa6\\x81\\xb5\\x8d\\xe5\\xf1\\x1a\\xf7\\x39\\xe7\\x8e\\x2f\\x8b\\xd5\\x0d\\x6a\\x7a\\xde\\xba\\xd4\\x59\\x36\\xe4\\x74\\xb6\\x75\\xd5\\x7a\\xcb\\xa5\\xee\\x09\\x99\\x9f\\x0e\\x1c\\x27\\x7d\\x5b\\x01\\xbc\\xaf\\xe6\\x6f\\x82\\xb9\\x3c\\x3e\\x9d\\xf0\\x9b\\x90\\xb7\\xa4\\xc4\\xe5\\xe0\\x6c\\xc8\\x56\\x1e\\x71\\xff\\x25\\x40\\xa3\\x6c\\xaf\\xf3\\xb0\\xb9\\xf4\\x60\\xc6\\xfc\\x05\\xbd\\x8a\\xe1\\x6b\\xdd\\x51\\x29\\xe5\\x05\\x60\\xdd\\x6e\\x5b\\x65\\x6a\\xc7\\xb4\\x05\\xd1\\xfe\\x4e\\xad\\x5f\\xfd\\x48\\x7d\\x63\\x22\\x1e\\xab\\x35\\xde\\x3a\\x3d\\x43\\xcf\\xae\\xd7\\x97\\x55\\xe3\\x6b\\x7e\\x67\\x59\\x6a\\xad\\x6e\\x9b\\xf4\\x28\\xee\\x3d\\xf3\\x57\\xbf\\x3a\\x53\\x8a\\x0c\\xae\\x37\\x41\\xec\\xe5\\x86\\xdc\\xe6\\x18\\xd8\\xee\\x00\\xe4\\xb3\\x67\\xa6\\x1b\\x2d\\x4c\\x69\\x29\\x79\\x50\\x2d\\x12\\xf1\\xfb\\xdc\\x46\\x77\\xac\\xc2\\x62\\x2d\\x33\\x78\\x7d\\x90\\x33\\xf2\\xd8\\xea\\x23\\x33\\xcd\\xe7\\x33\\xb3\\x81\\xc3\\x0e\\xd0\\x5f\\xc7\\x17\\xe6\\x43\\x8a\\x5d\\xa4\\x17\\xf5\\xb5\\xa9\\xbb\\xa2\\xfa\\x79\\x30\\x8a\\x5e\\x70\\xaa\\x04\\x10\\xda\\x59\\x77\\x12\\xb3\\xa6\\x9c\\xda\\x4e\\xa8\\xff\\xc5\\x5d\\xab\\xc7\\x8f\\xa7\\xe6\\xf2\\xa2\\xc9\\x6b\\x16\\x8f\\x1b\\x87\\xdd\\x33\\xcf\\x93\\x76\\x9d\\x02\\x96\\xfc\\x29\\x3c\\x56\\x7a\\xea\\xac\\xc7\\xef\\xbb\\x62\\x72\\xfb\\xe5\\x9b\\xba\\xce\\xc2\\x63\\x7b\\xcf\\x58\\xb7\\xdc\\x3e\\xe2\\xa2\\xe9\\xca\\x3d\\x37\\x1f\\x31\\x1f\\x42\\x1b\\x06\\x92\\xd7\\x0a\\x0c\\x4e\\xa7\\xcf\\x67\\x61\\x6b\\xa3\\xd1\\xd2\\xd2\\xca\\x24\\x9b\\x6c\\x4a\\x55\\x59\\xac\\xe0\\x49\\x0d\\xb5\\x28\\x6e\\x3d\\x8c\\x4a\\xf2\\x29\\x19\\x31\\x54\\x7d\\x2f\\xc9\\x4b\\xe9\\x92\\x31\\xfa\\xa2\\x17\\xcd\\x4b\\x20\\x17\\xa1\\x8b\\x26\\x34\\x43\\xa1\\x7a\\x4c\\xdf\\xf4\\xa6\\x5b\\xba\\xc9\\x0d\\x30\\xd7\\xdf\\xfe\\x74\\xbc\\x36\\x1e\\x0e\\x0f\\x9e\\x36\\x6c\\x42\\xb8\\x22\\xbc\\x6c\\xee\\x9c\\xe5\\xf0\\x6d\\xc2\\xb0\\x69\\x83\\xc3\\x61\\xf8\\xc5\\x53\\xf8\\xa3\\xc7\\xb7\\x8e\\xe8\\x1a\\xd5\\x12\\xf6\\x85\\xe7\\x8d\\x69\\x4f\\x8e\\x19\\x79\\x6a\\xc3\\xd2\\xab\\xaf\\x5a\\xd6\\x70\\xea\\xc8\\x31\\xc9\\xf6\\x31\\xf3\\xe0\\xe3\\x96\\x51\\x5d\\x23\\x7e\\x99\\x55\\xee\\x14\\xf8\\x88\\x79\\x10\\xda\\x63\\x97\\xef\\xc3\\x33\\x59\\x59\\xab\\xc3\\x69\\xe6\\x0e\\x23\\xc3\\xc1\\x93\\xde\\x87\\x47\\x6e\\xe9\\xa0\\xb7\\xe1\\x6d\\xb8\\x65\\xcb\\x9a\\x5f\\xfd\\x6a\\xcd\\x16\\xfc\\xd1\\xa6\\x7b\\xf0\\x07\\x52\\xf8\\xa5\\x97\\xf0\\xdf\\xa4\\xc4\\x3d\\x9b\\x48\\xec\\x05\\xb4\\x77\\xd2\\x3c\\xa4\\x26\\xed\\x36\\x0a\\x4e\\x9b\\x0d\\x09\\xc8\\xeb\\x73\\x8a\\x87\\x59\\x4b\\xfe\\x38\\x77\\xaa\\xcf\\x15\\x86\\x79\\xa7\\x0b\\xee\\xa4\\x2a\\x05\\x79\\xd9\\xce\\x1d\\xb7\\xde\\x7a\\xf5\\x9a\\xd3\\xbb\\xf6\\xd6\\x24\\xd6\\x47\\xeb\\xd8\\xb5\\xbf\\x7b\\xff\\xd6\\xfb\\xf0\\x1f\\xa5\\x9a\\xf3\\xce\\xc7\\x43\\xbb\\x5f\\x3c\\x7d\\xdc\\xab\\xfd\\x9c\\xb3\\x37\\x32\\x8c\\xd9\\x68\\xe2\\x59\\xe3\\x21\\x74\\x98\\x9e\\xc2\\x56\\xa3\\x4d\\xf2\\xf2\\x21\\x8e\\xb1\\x55\\xe4\\xfa\\x4e\\x2c\\xdc\\x8c\\xcd\\xca\\x39\\x7b\\xee\\xb3\\x5e\\x1e\\xff\\xe3\\xc1\\xe6\\x51\\xbd\\x1f\\xcb\\xb6\\x6a\\x18\\xd0\\xdb\\x41\\xe9\\xb5\\xa4\\x83\\x22\\x8b\\x8c\\x0c\\x24\\xac\\x26\\xb3\\xc0\\x72\\x60\\x9b\\xb8\\xc3\\x58\\x44\\xa2\\xee\\xb6\\xbc\\xf6\\xa2\\x8a\\x2d\\xb9\\xef\\x56\\x59\\xec\\xf3\\x0e\\xc3\\x2f\\x4a\\x19\\x66\\xa0\\x34\\x02\\x7f\\x80\\xbf\\x9c\\xc3\\xb4\\xcd\\x9b\\xd3\\xfb\\x3b\\x25\\x67\\x04\\xff\\xeb\\xa6\\x7d\\x74\\x5a\\xba\\xca\\x6d\\xb7\\x98\\x78\\x84\\x6c\\x2e\\x8b\\xcb\\xeb\\x73\\xd9\\x1d\\x76\\x50\\xfc\\xc3\\x56\\x88\\x6a\\x0e\\x66\\x2c\\x87\\xb4\\xa0\\xf5\\x2b\\xd5\\x74\\xf4\\xc7\\x55\\x99\\xb4\\x6a\\x14\\x0b\\xda\\xae\\x0a\\xc1\\xdc\\x1a\\xae\\x8c\\x96\\x0e\\x8c\\xef\\x94\\xdc\\x3a\\x69\\xee\\x68\\x6b\\x34\\x2c\\x35\\xfe\\x7e\\x16\\x11\\x6a\\x6e\\xef\\xab\\xb4\\xee\\x94\\xc0\\x8b\\x18\\x72\\x87\\x8e\\x8f\\x46\\xf9\\x75\\x3e\\x97\\xd3\\xeb\\x15\\x4a\\x6c\\x56\\x9b\\x3d\\x2c\\xd8\\x85\\xf2\\xa8\\xd7\\xe5\\x26\\x87\\xb8\\xfd\\x24\\x8b\\xb4\\xbb\\x0f\\x97\\x38\\x7c\\xe4\\x7a\\x13\\x8b\\xc9\\x4e\\x7c\\xf2\\xcb\\x74\\x5e\\xca\\x2f\\xb1\\x16\\xbc\\x45\\xa6\\x0c\\x31\\x31\\xd3\\x58\\xbd\\xdd\\xa4\\x0e\\x93\\xc2\\x4a\\x4c\\x11\\x31\\x51\\x21\\x2a\\xf7\\x68\\xc6\\xc7\\xac\\x3b\\x65\\xca\\x19\\x67\\x9d\\xff\\x48\\x59\\xf0\\xac\\xc4\\xdb\\xf8\\x05\\xe9\\x0c\\xa6\\x11\\xc4\\x5d\\x73\\xca\\xe4\\x4b\\x9a\\x1b\\x2b\\x99\\xd3\\x57\\x2d\\x9e\\x39\\x6e\\xda\\x8c\\x21\\xa3\\xea\\xa6\\xcc\\x65\\x06\\x93\\xce\\xdc\\xb0\\xa1\\xbc\\xb2\\x34\\x22\\xf7\\x27\\xf3\\x3c\\xc8\\x5e\\x42\\xe2\\x43\\x1f\\x5b\\x12\\x60\\x18\\x97\\x50\\x62\\xb5\\x08\\x96\\x50\\x90\\xf5\\x11\\x89\\x8d\\xc8\\x08\\xfd\\x6a\\xb5\\x1a\\xbf\\x62\\x4a\\xe8\\x14\\x3d\\xac\\xd5\\xa5\\x92\\x45\\xb7\\x6a\\xea\\x0a\\x08\\xee\\x28\\xb9\\xeb\\xcd\\xdb\\xa7\\x8c\\x80\\xa3\\x13\\x99\\x8c\\xf4\\xe3\\x2f\\xb6\\x3e\\x7d\\xd7\\xb5\\xf7\\xdb\\x57\\x95\\x3d\\x74\\xce\\xb2\\x35\\x4b\\x06\\x63\\xb3\\x54\\xc1\\x7d\\x76\\xb9\\xe4\\xde\\x7d\\xe3\\xb6\\x17\\xaf\\xdb\\x60\\x7c\\x6c\\xe3\\x25\\x17\\xad\\x3b\\x07\\x3b\\x64\\x1f\\x3e\\x0c\\x7f\\xca\\x3c\\x2e\\xf0\\xf4\\x9e\\xcf\\x00\\x79\\x4b\\xcd\\x6b\\xb7\\x0b\\x3e\\x3a\\x3b\\x4a\\x82\\x5e\\x10\\xce\\xee\\xc5\\x16\\xd6\\xeb\\x35\\xb0\\x06\\xe8\\x67\\xc3\\x97\\xac\\xf9\\xa0\\xfe\\xca\\xd4\\xa2\\xcb\\x95\\xf3\\x71\\x06\\xa3\\xac\\xe0\\xb9\\x8a\\x02\\x8d\\xc7\\xef\\xdf\\x76\\xeb\\x03\\x78\\xf8\\xfd\\x5b\\xa5\\xfd\\x73\\x33\\x9c\\x74\\x23\\x3b\\x73\\xde\\xdc\\x99\\x1c\\x5e\\xce\\x4d\\x67\\xff\\x29\\x7d\\x2b\\x1d\\xc7\\x1c\\xb6\\x33\\x0e\\xe9\\xdf\\xbd\\x23\\x5f\\x78\\xfd\\x85\\xd7\\xd9\\x0b\\x9e\\x7e\\xed\\xb5\\xa7\\x41\\x4e\\x69\\x2f\\xf7\\x22\\xee\\x14\\x6a\\x20\\x04\\x32\\x22\\x2b\\x0a\\xa5\\xcd\\x66\\x23\\x32\\x18\\x58\\xb4\\x1e\\xc2\\x22\\x94\\x6c\\xa2\\x7b\\x87\\xc9\\xd5\\x4f\\xd0\\x3b\\x90\\xfd\\xba\\xbd\\xad\\x90\\xa0\\xf1\\xf0\\x55\\xff\\x87\\xe7\\x66\\x0f\\xda\\xd9\\x3b\\xe7\\x01\\xc0\\x3f\\x25\\x21\\x3d\\x1d\\xdd\\xd3\\xd3\\xb3\\xbb\\xa7\\x87\\xb4\\x5d\\xba\\x0a\\x3e\\x5b\\xab\\xd1\\x24\\xd7\\x80\\xc1\\x7f\\x06\\x76\\x3d\\xe8\\x7d\\x32\\x15\\x7c\\xb3\\x89\\x9c\\x90\\x18\\xd8\\xc8\\xb6\\xb8\\x53\\x5e\\x36\\xa1\\xd0\\xbb\\x61\\xf6\\x73\\x7f\\xc0\\xa1\\x9d\\xbd\\x22\\x10\\x8c\\xe2\\x31\\x09\\xe9\\x39\\x95\\x20\\xce\\x5d\\x2d\\x4d\\x44\\xe7\\xe6\\x1e\\x46\\xf5\\xc8\\xb6\\xcf\\x19\\xa9\\x61\\x03\\x20\\xd9\\x01\\x52\\xa6\\x75\\x57\\xc8\\x36\\x95\\x18\\x50\\xf2\\x5d\\x39\\xa8\\x2f\\xdb\\x56\\x62\\x48\\xa9\\x8d\\xf5\\x9f\\xf1\\x78\\xb4\\x26\\x0a\\xff\\x83\\xe1\\x1c\\x58\\x97\\x34\\x0e\\x1b\\xb6\\xa0\\x3c\\x51\\x1e\\x06\\xeb\\x1a\\x0f\\x57\\x35\\x49\\x13\\xd3\\x0e\\x8f\\xcd\\x24\\x18\\x0d\\x26\\x87\\xcb\\xee\\x75\\x39\\x8c\\x4e\\x4f\\x63\\x74\\x44\\x20\\xec\\xb6\\x1a\\x04\\x83\\xc5\\xe3\\x74\\xb8\\x2d\\x46\\x51\\x74\\xd0\\xe7\\xfb\\xb0\\xb4\\x8b\\xfb\\x1b\\xee\\xe6\\xff\\x84\\xdc\\xc8\\xf5\\x04\\x76\\xb9\\x4c\\xeb\\x21\\x49\\x84\\x46\\x1d\\x68\\x52\\x5e\\x85\\xb0\\x91\\xe3\\x10\\xf2\\x6d\\x38\\x23\\x98\\xa1\\x18\\x77\\x57\\x0c\\x9e\\x33\\xe7\\xbc\\xf4\\xa2\\x6b\\xd6\\x9d\\xd2\\xd6\\x7c\\x46\\xf7\\x82\\x51\\x31\\xfe\\x8c\\xc4\\x80\\xc4\\xd5\\x8b\\xda\\xc6\\x56\\x37\\x56\\xcb\\x34\\x5f\\xe1\\xde\\xc5\\xf5\\xfc\\xbb\\xe4\\x72\\xf1\\x27\\x79\\x66\\x3d\\xc3\\x6e\\xca\\xdf\\xb4\\x03\\x44\\x79\\x72\\xa5\\x0a\\xae\\x97\\xfe\\x21\\xed\\xc2\\x43\\x8e\\xf0\\xe7\\x6f\\x59\\xbf\\x5e\\xc6\\x7b\\x17\\xf0\\x86\\x50\\x3c\\x5f\\xda\\x8a\\xb9\\x4d\\x19\\x3b\\x1b\\x61\\x93\\x2c\\xcb\\x42\\x08\\xf6\\x66\\x77\\x1d\\x49\\x19\\x13\\xad\\xfe\\x28\\x1e\\x22\\xed\\x92\\xfe\\x91\\x3e\\x82\\x87\\x70\\xef\\x6e\\xb9\\x70\\x7d\\x31\\x4f\\xc0\\xe5\\x18\\xc0\\xe5\\x22\\x5c\\x92\\x63\\x39\\xa4\\xe0\\xba\\xab\\x80\\x2d\\x7f\\xe4\\x88\\xf4\\x0a\\xee\\xc2\\x76\\xee\\xdd\\xf5\\xeb\\xb7\\xf4\\xe1\\xc9\\x63\\xc0\\xe3\\x23\\x7c\\x92\\x67\\x79\\x90\\xf8\\x65\\x99\\xa7\\x58\\x95\\x20\\x3c\\x5f\\x39\\x92\\xc6\\x76\\xdc\\xc5\\x4f\\x5b\\x7f\\xe1\\x16\\x99\\xe7\\x3c\\xc0\\xdd\\x01\\x7d\\x27\\x12\\x9d\\x80\\xf8\\x9a\\x5f\\x2f\\x50\\x59\\x41\\xb5\\xd5\\x0e\\x14\\xab\\x44\\x10\\xb9\\x15\\xef\\x18\\xfe\\xc9\\xf7\\xd2\\xbb\\xc3\\x8f\\x1c\\xe6\\x47\\x2e\\x5a\\xbd\\x7a\\xcb\\x22\\x68\\xb2\\x1e\\x1f\\xf4\\x54\\x14\\x04\\xcc\\xad\\x27\\xcf\\x7e\\x13\\x3d\\x05\\x6c\\x50\\x2c\\x79\\xb7\\x74\\x15\\x08\\xe0\\x6f\\xf5\\x5f\\x7a\\xf8\\xc8\\x70\\x5c\\xff\\xfd\\x27\\xc3\\x89\\xec\\x8b\\xb6\\xac\\x5e\\xbd\\x88\\xe8\\xd2\\x62\\xa9\\x0b\\x5d\\x98\\x7b\\x1d\\x66\\xa5\\x63\\x1f\\x0f\\x5a\\xce\\x92\\x2b\\x6d\\x80\\x3d\\xb9\\x4b\\x9e\\x54\\xcb\\xe9\\xae\\x36\\x75\\xe7\\xea\\x26\\x76\\x1a\\xc7\\xf8\\x5b\\x07\\xc6\\x5d\\xe1\\xe1\\x2d\\x52\\x17\\x0e\\x8c\\xf0\\x9d\\xd6\\x18\\x65\\xcf\\xe0\\xc6\\xb6\\xde\\x05\\xb4\\x2e\\xe6\\xd6\\xa2\\x1b\\x85\\x28\\x4c\\x69\\xcb\\xe3\\x0c\\x5a\\xcf\\xa1\\x64\\xf0\\x2d\\xa2\\x95\\x5e\\xd1\\xef\\x4d\\xb4\\xdc\\xf8\\xf0\\xc3\\xd2\\xdf\\x85\\xe8\\xb2\\x39\\x73\\x96\\xed\\x9a\\x42\\x6c\\xae\\x74\\x48\\x9a\\x81\\x1f\\xcd\\x1d\\xa7\\x6f\\xba\\x43\\x0f\\x98\\xc9\\x7e\\x44\\x8e\\x59\\x2f\\x50\\xbc\\x54\\x32\\xf5\\x26\\x59\\xe6\\x84\\xd9\\xd0\\x5a\\xd5\\x02\\xbe\\x2b\\xe5\\x6f\\x4d\\x61\\xe9\\xef\\x0f\\x3f\\xcc\\x94\\x4e\\xd9\\x45\\xa8\\xec\\x91\\xbf\\x49\\x0f\\xe0\\x92\\x87\\x1f\\x96\\xcf\\xd7\\x77\\xf1\\x53\\xf8\\x0d\\xae\\x4a\\x04\\xc1\\xb4\\x53\\x64\\xfe\\xce\\x3c\\x02\\x7c\\xec\\x69\\x23\\xcb\\xf8\\xb1\\xdf\\xc9\\x89\\x89\\x3a\\x67\\x4b\\x8b\\x5c\\xa7\\x23\\xeb\\xef\\xcb\\xb9\\x89\\x00\\x3b\\x5a\\x81\\x6d\\x83\\x5f\\x38\\x1f\\x63\\x99\\xd6\\x9e\\xdc\\xbb\\xd9\\xd6\\x81\\x6c\\x48\\x86\\x06\\xd8\\x87\\x10\\xe2\\xbe\\x14\\xfe\\x01\\xb0\\x09\\x0a\\xbb\\x0d\\xdf\\x8d\\x13\\x28\\xf0\\x04\\x5b\\x51\\xc1\\x57\\xb2\\xe5\\x3d\\xb9\\x37\\xb2\\xe5\\x15\\x3c\\x22\\xf0\\x88\\x7c\\x11\\x9c\\xab\\xe4\\x73\\xee\\x80\\x73\\xaa\\x82\\x73\\x0b\\xd0\\x37\\x65\\x99\\xaa\\x2a\\x67\\x25\\x81\\x22\\x74\\xa5\\xd7\\xb8\\x2f\\xa9\\xbc\\x94\\xae\\xd1\\xc5\\x7a\\x88\\xbc\\xbf\\x26\\x24\\xb3\\x79\\x92\\x32\\x3d\\x80\\xd5\\xd1\\x33\\xba\\x98\\x6f\\xe0\\x17\\x96\\x27\\x99\\x84\\x29\\x51\\x65\\x52\\x00\\x29\\xcd\\x67\\xf4\\x34\\x99\\x6f\\x99\\xf5\\x32\\xcd\\x68\\x4f\\xee\\xc9\\x6c\\xb4\\x88\\xe6\\x33\\x05\\x32\\x7e\\xcb\\xb4\\x52\\x58\\xa6\\xb2\\x27\\xf7\\x79\\xb6\\x52\\x23\\x4b\\x60\\xcf\\x97\\x26\\xf2\\xab\\x84\\x63\\x8e\\x2a\\x83\\xc4\\xf8\\x11\\x72\\x54\\xa2\\x4a\\x82\\x83\\x56\\xd3\\xb7\\x81\\x6d\\x4f\\x22\\x9e\\xe7\\x2b\\xcb\\x9b\\x71\\xb7\\xd2\\xb6\\x2e\\x69\\x1e\\xfb\\x3a\\x7f\\xd0\\x51\\x05\\x10\\x2e\\xe4\\x01\\xf8\\x31\\x14\\xfe\\x52\\x7c\\x1e\\x85\\x67\\x40\\x39\\x2b\\x23\\x79\\x78\\xe8\\x63\\xfe\\x1c\\xda\\xc7\\x55\\x4a\\x7f\\x1d\\xa0\\x7d\\xcc\\xf8\\xfd\\x7c\\x25\\xe3\\xed\\xc9\\x3d\\x93\\xf5\\xfa\\x85\\xc2\\x3e\\x9e\\x91\\x3b\\xc2\\x1e\\xa5\\xf2\\x8f\\x55\\x70\\x38\\xb9\\x8f\\x63\\x31\\x7d\\x1f\\xf3\\xe7\\xd0\\xfe\\xa8\\x52\\xfa\\x78\\x9c\\xdc\\x46\\x20\\xf9\\xab\\x3c\\x49\\x99\\x9e\\xf4\\x9a\\x9e\\x1e\\xf4\\xf1\\xdd\\x32\\x6c\\xbc\\x27\\xf7\\x59\\x36\\x5e\\x29\\xb8\\xf2\\xb0\\xd0\\xcf\\x7a\\xba\\xd0\\x77\\xd7\\xcb\\xb0\\xbe\\x9e\\xdc\\x95\\x59\\x5f\\x11\\xdd\\x67\\x0a\\xe4\\xfc\\x96\\xa9\\x51\\xc6\\x4e\\x48\\x68\\x44\\x29\\xcd\\xb6\\x02\\x9a\\x87\\x98\\xad\\x32\\xcd\\x40\\x4f\\xee\\xc6\\x6c\\x20\\x5c\\x48\\xb3\\xad\\x80\\xe6\\x21\\x26\\x2c\\xc3\\x56\\xf5\\xe4\\x7e\\xc8\\x56\\xd5\\x17\\xca\\xda\\x55\\x40\\xf7\\x28\\xf3\\x8c\\x0c\\x1b\\xea\\xc9\\xfd\\x3a\\x1b\\xf2\\x16\\xd2\\xed\\x2a\\xa0\\x7b\\x94\\x71\\xc9\\xb0\\xb5\\x3d\\xb9\\xc3\\xd9\\xda\\x78\\x01\\x5d\\x98\\x17\\x92\\x58\\x07\\xb0\\xd5\\xb4\\xbf\\x5e\\xa1\\x74\\xc3\\x60\\xcb\\xb0\\xdb\\x0d\\xa3\\x86\\x3d\\x3d\\xb9\\x2f\\xb3\\x1e\\x2f\\x36\\xcb\\x53\\x49\\x9d\\x4f\\x5d\\x30\\x37\\x02\\xc2\\xbf\\x00\\x0f\\xc6\\xc2\\x51\\xc5\\x6c\\x24\\xef\\x6b\\x82\\x6e\\x8c\\x42\\x2f\\x63\\x37\\x8a\\xa6\\xfd\\x6c\\xa4\\x0c\\x37\\x96\\xdd\\x5b\\xb6\\xb7\\xec\\x9d\\xb2\\x4f\\xca\\x8e\\x95\\x09\\x65\\x4c\\x30\\x28\\x0f\\x69\\xb2\\x7b\\x69\\x4b\\x7f\\xbc\\x7f\\x47\\x79\\x07\\x9f\\x64\\xb0\\x97\\x70\\xf6\\x12\\xce\\x5e\\x8f\\xc6\\xb9\\xa5\\xa5\\x2f\\x5f\\xd0\\xc5\\x8b\\xb0\\x1b\\xda\\x48\\xf9\\x13\\xbe\\x4c\\x24\\x82\\x1b\\x23\\xf7\\x46\\xf6\\x46\\xde\\x89\\x7c\\x12\\x39\\x16\\x11\\x22\\x6c\\x79\\x79\\x11\\x5f\\xb0\\x1b\\x12\\xed\\xcb\\x6a\\xa5\\x7f\\x5e\\xa3\\xfd\\x83\\xdd\\x3d\\xb9\\x7f\\x64\\xdd\\x56\\x99\\x63\\xde\\xc6\\x04\\xa8\\x8d\\x19\\xa7\\xc0\\x8e\\x97\\xc7\\x3d\\x6a\\x89\\x86\\x2c\\xfa\\x71\\x2f\\xa4\\xf9\\x8d\\x32\\x3e\\x4a\\x2b\\xa2\\x27\\xa3\\xf9\\x0d\\x33\\x48\\x1e\\x9f\\x58\\x4f\\x2e\\x97\\x8d\\x25\\x2d\\x05\\xe3\\x3e\\x11\\xfa\\xa8\\xd3\\x41\\xe9\\x42\\x3f\\xdf\\x89\\x37\\xe0\\x85\\x74\\xce\\x92\\x4b\\xba\\x88\\x8f\\xb4\\x58\\xf8\\x4a\\x6c\\x47\\x10\\x7b\\x31\\xea\\xcc\\xa2\\x3c\\x26\\x72\\x01\\xfe\\x73\\x87\\x3a\\x3e\\x77\\x92\\x20\\x8e\\xe2\\xd5\\xca\\x78\\x74\\x34\\x40\\xe1\\xc2\\x31\\x8b\\x53\\x87\\x47\\xc6\\xe4\\x66\\x3a\\x87\\x6b\\x74\\x73\\x98\\xf0\\xb1\\x5a\\x81\\x8f\\x39\\x61\\xb6\\x8a\\x46\\x1d\\x3c\\x68\\x2c\\x33\\x8c\\xc2\\x8f\\x97\\xe1\\xd1\\x15\\x0a\\x7c\\x49\\x09\\x53\\x89\\xfd\\x13\\xfc\\x25\\xbc\\x57\\x07\\x7f\\x5e\\xee\\x08\\x7f\\xaf\\x70\\x17\\xc0\\xd7\\x52\\xf8\\x8d\\x10\\xcb\\x8f\\xa7\\xf0\\xe5\\xe5\\x40\\x3f\\x1a\\x8e\\x56\\xa0\\x80\\x0e\\x5e\\xd6\\xe5\\xa9\\x00\\x7f\\x9a\\x0c\\x8f\\x3e\\x57\\xe4\\x6f\\x6c\\x04\\xf9\\x07\\x1a\\x07\\x36\\x39\\x4b\\x0b\\xe5\\xe7\\xcb\\xa9\\x3c\\x75\\x8a\\xfc\\xdf\\x2a\\xf2\\xd8\\xed\\x40\\xdf\\xca\\x5b\\xed\\xbc\\x59\\x07\\x4f\\xde\\x40\\xfa\\x9a\\xc2\\x4f\\x50\\xe0\\x2f\\x57\\xe0\\x4b\\x4b\\x41\\xfe\\xe0\\xa0\\x60\\xa9\\x5b\\xd4\\xd3\\x07\\x5b\\x54\\x4e\\xc7\\xb9\\x4e\\xb1\\x45\\x17\\xc8\\xe3\\x6c\\xed\\xc9\\x1d\\xcb\\x6a\\xc4\\xe5\\xf7\\x95\\xc0\\x16\\x7d\\x4d\\xe7\\xe1\\x04\\xc5\\x16\\x29\\x7a\\x16\\xec\\xc9\\x7d\\x97\\xd5\\x08\\xab\\xf3\\x10\\xe4\\x7e\\x4c\\xa3\\x8b\\xf1\\x8d\\x85\\xf3\\xd0\\xd9\\x93\\xfb\\x2a\\xeb\\x54\\xe8\\xe7\\xe7\\xa1\\x2c\\xff\\x67\\x2a\\x0f\\xb4\\x10\\x57\\xe0\\x85\\x28\\x98\\xb6\\x33\\xd0\\xa1\\x0c\\xe0\\x95\\x55\\x95\\x29\\x8c\\x64\\x24\\xc0\\xb9\\x19\\xfc\\x80\\xd6\\x06\\x87\\x80\\x56\\x07\\x65\\x19\\x2e\\x94\\x26\\xe6\\xe5\\x25\\x9f\\xff\\x53\\xd5\\xc1\\x65\\xfa\\x36\\x33\\xc7\\x98\\xf7\\xe4\\x76\\xd8\\x7b\\x72\\xdf\\x66\\xed\\xfe\\xc2\\x36\\x2f\\xd3\\xb7\\x19\\x60\\x47\\xd0\\xf9\\x82\\x4b\\x51\\x69\\x5c\\x6d\\x70\\x2e\\x97\\xdb\\x27\\x75\\x31\\x57\\x50\\x9a\\xf5\\xf2\\x1c\\xc0\\x21\\xad\\x1f\\x73\\x59\\x6b\\x09\\x66\\x35\\x9a\\xb9\\xcb\\x00\\x76\\x3c\\xa5\\x79\\xba\\x0c\\x8b\\x3e\\x95\\xe7\\xa0\\x13\\x39\\xc3\\x7c\\x9e\\xe6\\x0f\\xa0\\x8b\\x1d\\xd4\\x9e\\x50\\x9a\\xc6\\x66\\x5c\\x01\\x70\\x65\\x69\\x27\\x0b\\xdd\\xe7\\x04\\x37\\xcf\\x60\\xbb\\x60\\xb7\\xca\\xa4\\x95\\xee\\x68\\x91\\xdf\\xe0\\x62\\xd6\\x08\\x87\\x00\\xef\\x5b\\xea\\x15\\x17\\xfe\\x99\\x7a\\x39\\xb4\\x11\\x7c\\x51\\x2c\\x1d\\x60\\xc9\\x9d\\xf3\\x8b\\x6d\\x9b\\x6d\\xdc\\x3d\\xb6\\x3d\\xb6\\xb7\\x6d\\xac\\x8d\\xc1\\x06\\x83\\x6c\\x52\\xf4\\xb6\\x8c\\x6f\\x17\\x8e\\x01\\x8d\\x06\\xc2\\xdb\\x20\\x91\\xe7\\xdb\\xa9\\x1e\\x11\\xce\\x18\\xa6\\x8f\\xa3\\x40\\xef\\xe8\\xbb\\xc4\\x62\\x00\\xe0\\x27\\xca\\xf0\\x68\\x1b\\xcc\\xf0\\xc0\\x13\\x00\\x0e\\x6a\\x07\\x9d\\xb0\\x34\\xab\\xc7\\x50\\xc6\\xe1\\x35\\xbe\\x9d\\xf6\\x59\\x83\\xa2\\x7b\\x23\\xb5\\x3e\\x7b\\xb2\\x48\\xf7\\xae\\x87\\x58\\x83\\xa5\\x7d\\x36\\x51\\xd1\\xbd\\xfb\\x35\\xd8\\xdf\\x15\\xc1\\x12\\x3f\\xa8\\xa3\\x0b\\xbe\\xed\\x09\\x19\\xd6\\xd6\\x93\\x7b\\x31\\x6b\\x2b\\xa2\\xfb\\x8c\\x9e\\x2e\\xc0\\x56\\x6a\\xb0\\x1f\\x17\\xc1\\x92\\xd8\\x28\\x49\\xe9\\x26\\x15\\x79\\x2d\\xb2\\x2e\\x88\\x46\\x50\\x70\\x5e\\xb3\\x9d\\xd7\\x49\\xaf\\xe1\\x11\\x94\\xe6\\x24\\x19\\x0e\\xaf\\x96\\x69\\xf2\\x44\\x17\\x78\\x51\\xa7\\x0b\\x32\\x4d\\x6a\\x3f\\x92\\xc4\\xae\\x01\\x4d\\xa4\\xd8\\x91\\x2a\\xb0\\x23\\x10\\x37\\x98\\x4c\\xbc\\x12\\x37\\xe4\\xde\\x01\\xba\\xff\\x14\\x76\\xc8\\x74\\x09\\x2c\\x5e\\x23\\xc3\\xe6\\xb6\\xe3\\x89\\x04\\xd6\\x60\\x60\\xf2\\x31\\xc6\\x33\\x7a\\x59\\xa1\\x5d\\x0b\\x64\\x19\\x0c\\x3d\\xb9\\xde\\xac\\x41\\x13\\x97\\xe8\\xd9\\x1f\\xa5\\x67\\xf0\\x0f\\x79\\x79\\x99\\x6f\\xa9\\x4d\\x82\\x76\\x09\\x58\\xd0\\x84\\x55\\x7c\\x82\\x9e\\xe6\\x51\\x66\\xbe\\x36\\x06\\xdf\\x65\\xad\\xa2\\x9e\\xe6\\x9d\\xa0\\xe3\\x95\\x3a\\x9a\\x47\\xd1\\x67\\x32\\xac\\xb9\\x27\\xf7\\x53\\xd6\\xcc\\x17\\xf4\\x01\\x42\\x02\\x43\\x75\\xad\\x51\\xd6\\x1d\\xe6\\x5a\\x45\\xd7\\xa8\\x0d\\x2d\\x9d\\x54\\x1a\\xb1\\x07\\x75\\xba\\x06\\xbf\\x15\\x62\\xfc\\x41\\x80\\xef\\x94\\xe3\\x37\\xe6\\x49\\x05\\x3e\\x99\\x74\\x56\\xe2\\xba\\xb5\\x75\\x0d\\x96\\xf2\\x42\\x1b\\x0a\\xf4\\xff\\xa1\\xd2\\x67\\xb6\\x31\\x67\\x2b\\x36\\xb1\\xac\\x8c\\xd0\\xe7\\x4a\\xcb\\xfa\\xa1\\x7f\\x40\\xa5\\x4f\\xe0\\x15\\xfa\\x03\\x06\\x10\\xfa\\x6c\\xdd\\x80\\x42\\xfa\\xd2\\x6b\\x02\\x43\\xfb\\xa5\\x51\\xd1\\x8b\\x7f\\x28\\x36\\x82\\xd7\\x28\\x93\\x76\\x5e\\x0b\\x70\\x31\\xea\\x27\\x3b\\x15\\xb8\\xaf\\x65\\xb8\\x3a\\xac\\x51\\x44\\x05\\x36\\x7f\\xa0\\x62\\xc3\\xbf\\xa2\\x71\\xa7\\x3c\\xf5\\xec\\x44\\x89\\xec\\x4e\\xc1\\x5a\\x30\\x97\\xae\\x25\\x76\\x93\\xca\\x3c\\x59\\xc1\\x99\\xa6\\xc8\\x5c\\x56\\x06\\x32\\x97\\xda\\x4b\\xcb\\xac\\xc1\\x7e\\xed\\xfe\\x40\\x45\\x96\\xa5\\x9a\\x0d\\xfc\\x3e\\x4f\\x5e\\x95\\x9b\\xfd\\x9a\\xca\\x3d\\x59\\x99\\x7b\\x6f\\xc9\\xb0\\xa5\\x64\\x2c\\x35\\xc2\\xda\\xdc\\xd3\\xd1\\x05\\xbd\\xfb\\x54\\x86\\x75\\xf4\\xe4\\xa4\\xac\\xa3\\x88\\xee\\x33\\x7a\\xba\\x00\\x3b\\x44\\x86\\x0d\\x93\\x26\\x86\\x8b\\xe8\\x76\\x15\\xd0\\x3d\\xca\\xfc\\x9f\\x16\\x8f\\x1c\\xcd\\x7a\\xed\\x85\\x74\\xbb\\x0a\\xe8\\x1e\\x55\\xe9\\x56\\xf4\\xe4\\x8e\\x67\\x2b\\x4a\\xf5\\x74\\xe7\\x82\\xff\\x7e\\x8f\\xda\\xd8\\x26\\xda\\xb6\\x57\\xd9\\x18\\xfc\\x22\\x90\\xb6\\xb1\\x4c\\x8c\\x58\\xd8\\x98\\x18\\x4b\\x1a\\x90\\x16\\xb1\\x21\\xed\\xad\\x6f\\xe1\\x38\\xe0\\x4c\\xa1\\xb1\\xc8\\xdd\\xe8\\xb0\\x62\\x23\\x37\\x22\\x13\\xaa\\x4d\\x97\\xb2\\xeb\\x9a\\xef\\x69\\x3e\\xda\\xcc\\x76\\x36\\xef\\x6f\\x66\\x9a\\x21\\x5d\\x70\\x02\\xa5\\x72\\x54\\x5e\\x2f\\x20\\xcd\\x71\\x25\\xbb\\xbb\\x5b\\xfa\\xe1\\xff\\x1a\\x5b\\x0e\\xfc\\x4b\\xd3\\x0e\\x8e\\x65\\xea\\xf8\\x4a\\xf2\\x37\\x57\\xd7\\xaa\\x48\\x40\\x45\\xd0\\xcb\\xf0\\x4c\\xb1\\x0c\\x46\\x8c\\x72\\x20\\x43\\x77\\x7a\\x3c\\xc7\\x46\\x9a\\x93\\xcd\\xed\\xcd\\xb3\\x9b\\x39\\xf9\\x87\\x49\\xf0\\xe3\\xe2\\xe6\\x3d\\xcd\\x1f\\x37\\x1b\\xec\\xcd\\xea\\xef\\x16\\x37\\xcb\\xa2\\x1a\\xf7\\x37\\x63\\x59\\x50\\x8e\\x4d\\xa1\\x54\\x53\\x79\\x7d\\x42\\x27\\xb0\\x4e\\xe6\\xa5\\xcb\\x64\\x3f\\x5d\\x2c\\xf7\\x2b\\xe4\\xaa\\x6e\\xe2\\xdf\\x59\\x86\\x66\\xa0\\x24\\xf6\\xfb\\x24\\x1b\\x8b\\x1b\\x50\\xa1\\x7f\\x97\\xe5\\xfe\\x97\\x26\\xf7\\x46\\x59\\x6e\\x88\\xb3\\xf7\\x41\\x9c\\xdd\\x90\\x2e\\xef\\x27\\xce\\x96\\xfb\\x2f\\x80\\x02\\xfe\\x82\\xfe\\x5b\\xda\\x5f\\xff\\xfd\\x8e\\x91\\x68\\xcc\\xcd\\x32\\x71\\x22\\x05\\x64\\x49\\x7f\\xcb\\xc6\\x63\\xba\\x11\\x3c\\x89\\x0c\\x97\\xe2\\xd9\\xff\\x95\\x0c\\x72\\x2e\\x4e\\xec\\x57\\x4a\\xd1\\x03\\x92\\xe3\\xab\\x79\\xa2\\x9b\\x28\\xb3\\xdb\\x27\\x16\\xe5\\xe2\\xf4\\xbc\\x36\\xb1\\x61\\x53\\x15\\xde\\x8b\\x94\\x38\\xb0\\xb6\\x16\\xe2\\xc0\\xca\\xc1\\x95\\x35\\x16\\x54\\x14\\xc7\\xca\\xf9\\x7e\\x4a\\x99\\xdf\\xbf\\x93\\x73\\x51\\xaf\\x57\\xe6\\xf1\\x5d\\xd6\\xed\\xed\\x97\\xc7\\x01\\x95\\x07\\xe0\\x2c\\x57\\x78\\x54\\x57\\x13\\x1e\\x81\\xca\\xea\\x62\\x1e\\xfc\\xf9\\x94\\x47\\x8b\\x02\\xff\\xa2\\xcc\\x23\\x18\\x04\\x1e\\x90\\xf0\\xed\\xcd\\x06\\x82\\x7c\\x1f\\xbb\\xc3\\x5c\\x4b\\x79\\x4c\\x57\\xe2\\xe5\\x7b\\x15\\xbb\\x43\\x7a\\x0c\\x7b\\x6d\\x5e\\x3f\\x6b\\x2d\\xb2\\x3b\\xe7\\xd3\\x79\\xdc\\xa2\\xd8\\x9d\\x73\\xb5\\x7c\\xf2\\x77\\x79\\xf2\\xaa\\xdd\\x21\\xe7\\xef\\x54\\xda\\x60\\x77\\xc2\\xda\\x9c\\x97\\xb2\\x1a\\x61\\x2d\\x96\\x38\\x9f\\xfa\\xd1\\x16\\x79\\x4c\\xf1\\xb5\\x78\\xbc\\x46\\xdf\\x93\\xb6\\x30\\x01\\xd2\\x06\\x18\\x3f\\x5e\\x09\\xf7\\x65\\xf9\\x2f\\x06\\x1e\\x77\\xd0\\x78\\x7c\\xba\\xec\\x53\\x09\\x0f\\xa7\\xc0\\x6c\\x1c\\x29\\xf7\\x54\\x20\\x00\\xad\\x28\\x41\\x25\\x01\\x64\\x29\\x8a\\x5d\\x9e\\xd1\\xb7\\x83\\xf9\\x96\\x15\\xe4\\x76\\x94\\x10\\xd9\\x4a\\x0a\\xda\\x31\\x4d\\x7a\\x46\\xdf\\x0e\\xe6\\x5b\\x5a\\x6f\\x80\\x76\\xf8\\x48\\x8c\\xe1\\x2b\\x68\\x47\\x37\\xe8\\xe6\\x0f\\x74\\x0c\\x06\\x15\\xe5\\x2b\\x03\\x07\\x82\\xf1\\x4f\\xfa\\x93\\x03\\x79\\xfd\\x98\\xb5\\xe5\\x8e\\xb0\\x4f\\xd0\\xfe\\x9f\\xa1\\xc0\\xf3\\x4a\\xff\\x37\\x34\\x80\\xe4\\xf5\\x6c\\x7d\\x83\\xa0\\x87\\xef\\x86\\x78\\xe3\\x07\\x7e\\xab\\x4a\\x1f\\xfa\\x67\\xb4\\xec\\x83\\x92\\x8c\\x46\\x99\\xc8\\xd1\\x06\\x36\\xff\\x09\\x6e\\x82\\x4a\\x17\\xfa\\x65\\xb3\\x0c\\x57\\x8f\\x34\\x8a\\x9a\\xbc\\xa2\\x57\\xa3\\xf7\\xba\\x9c\\xf3\\x92\\x78\\xbd\\xb5\\x95\\xc4\\xf9\\x8d\\x0b\\x1b\\x07\\xf1\\xa8\\x20\\x5e\\x97\\x65\\xfe\\x3f\\x8d\\xf6\\xeb\\xf8\\x7f\\xa5\\x97\\x64\\x9c\\xe6\\x66\\x50\\x4c\\x3c\\xa0\\x75\\x40\\x4a\\x28\\xc4\\x91\\xf9\\xd4\\x69\\x7c\\xde\\x60\\x76\\xaa\\xf9\\x44\\x2a\\x45\\xf8\\xb4\\xf4\\xe4\\xfe\\x9d\\x6d\\x19\\xca\\x17\\xd9\\x1b\\x99\\xd7\\xd7\\x1a\\xaf\\x37\\xf0\\x8f\\x2a\\x2f\\x9a\\x70\\xe1\\x26\\xb6\\x69\\x70\\x31\\x2f\\xd2\\x47\\xea\\x18\\x80\\x2e\\x6d\\xc3\\x59\\x9c\\xa0\\x7d\\x35\\x4a\\xeb\\xdb\\x7e\\xc7\\x82\\xf4\\x99\\x3a\\x16\\x14\\x0f\\xeb\\xfa\\xee\\xc4\\x63\\x02\\x51\\x2a\\x97\\xa5\\xfc\\x5a\\x95\\x31\\x5c\\xa3\\x8c\\xb9\\xd9\\x0c\\x7c\\x8c\\xc8\\x68\\xe6\\xf5\\x39\\x5b\\x24\\x77\\x8c\\xa9\\x15\\xde\\x07\\xf8\\x2e\\x65\\xce\\x25\\xb0\\x95\\xc4\\x07\\x01\\xd0\\x71\\xa2\\x54\\xff\\xca\\xfa\\x02\\xa2\\xa7\\x40\\x5f\\x1b\\xa0\\x4d\\x59\\xaa\\xaf\\xad\\xca\\xb8\\x1b\\xe4\\xf1\\xd4\\x51\\x27\\x70\\x11\\x98\\x0f\\xb5\\x7c\\xbd\\x4a\\x1b\\x62\\xcc\\xef\\x64\\x38\\xdf\\x60\\x8d\\xa6\\x4c\\xef\\x19\\x3d\\x3d\\xf0\\xdd\\x4b\\x64\\x9d\\x36\\x11\\x73\\x67\\xd2\\x48\\xca\\x34\\x9f\\x61\\xe6\\xe4\\x69\\x82\\xfe\\x4f\\x94\\x69\\xfa\\x6b\\xfc\\x85\\x34\\xbb\\x0a\\x68\\x1e\\x65\\xf2\\x31\\xc9\\x8f\\x59\\xbb\\x51\\x4f\\xd3\\x00\\xf1\\xe5\\x16\\x1d\\xcd\\xa3\\x78\\xaa\\x12\\x73\\xd5\\x94\\xfa\\x74\\x34\\xef\\x86\\xb8\\xa1\\x86\\xd2\\x1c\\x4c\\xe1\\x3e\\xa7\\xf1\\x88\\xf3\\x31\\x06\\xcb\\x13\\xd5\\xcf\\x3b\\xb4\\x9a\\xea\\xd5\\x10\\x37\\x1c\\xe6\\x86\\x00\\xec\\x4c\\x05\\x96\\xc6\\x0d\\x44\\xc7\\xca\\x71\\x79\\x59\\xd0\\xaa\\xab\\xd5\\x16\\xd3\\xfd\\x86\\xf9\\x9b\\xcc\\x3f\\x8c\\xc2\\x35\\x32\\x4d\\xd4\\x1f\\xcd\\x6f\\x68\\x4d\\x17\\xe0\\xe2\\x38\\xde\\x18\\xb4\\x9e\\x50\\xce\\xa3\\x8c\\x12\\x2f\\x87\\x48\\xbc\\x1e\\xf2\\xaa\\x24\\xfb\\xa3\\x79\\x54\\xcd\\x59\\x20\\xbe\\xf9\\x02\\xe2\\x9b\\xa0\\xce\\x9e\\xdc\\x0d\\xfe\\xb1\\x86\\xce\\x9b\\xc1\\x72\\x7c\\x43\\xe5\\x84\\xf8\\x86\\x81\\xe8\\x14\\xd4\\x1f\\xd2\\xd8\\x6a\\xb5\\x0b\\xd4\\xf8\\x86\\xbc\\x3f\\x7f\\x98\\xc6\\x37\\x33\\x95\\xd8\\xe2\\x43\\xc5\\xaf\\x9d\\x2d\\xc7\\x37\\xcc\\xba\\x96\\x7b\\x5a\\x8e\\xb6\\xb0\\x9d\\x2d\\xfb\\x5b\\x98\\x16\\x1c\\x0a\\x91\\x89\\x14\\x47\\xd0\\x20\\x53\\x71\\x7c\\x53\\xcc\\xff\\x00\\xf3\\x57\\x5a\\xd7\\x32\\x43\\xf2\\x1a\\x0e\\xd3\\x1c\\x36\\x44\\x06\\x42\\x6d\\xa1\\x9a\\xc6\\xe6\\xe5\\xb8\\x44\\x93\\x63\\x23\\xfa\\x4e\\xae\\x09\\xa0\\x23\\xe8\\x38\\x3a\\x35\\xdd\\xc4\\x32\\x91\\x78\\x32\\xde\\x1e\\x9f\\x14\\x5f\\x1c\\xe7\\xed\\xf0\\x03\\xb3\\x3f\\xfe\\x4e\\xfc\\x93\\xf8\\xb1\\x38\\x17\\xa7\\x52\\x41\\x18\\x82\\x62\\x15\\xe1\\xb2\\x04\\x69\\x67\\x48\\x96\\x4e\\x1f\\xcc\\xc8\\x7c\\x8c\\xe0\\xf7\\x3a\\x44\\x01\\xf8\\xb4\\x51\\x19\\x19\\x3c\\x57\\xf6\\x19\\xd8\\x05\\xf3\\xc9\\xc5\\xbb\\xca\\x18\\x83\\xde\\x67\\xd0\\x37\\xae\\xf9\\x67\\x01\\x3e\\x43\\xfb\\xff\\x6e\\xb4\\x9b\\xcc\\xef\\x7d\\xd8\\x03\\xb3\\xdb\\x43\\x5a\\xe3\\x29\\x67\\x4c\\x0a\\x06\\xa1\\x0f\\xbe\\xa9\\x83\\x8e\\x6d\\x9b\\x32\\xf7\\xd2\\xda\\x5c\\x91\\xb2\\x26\\x8b\\x42\\x5d\\xa6\\x0d\\x36\\xe4\\xdf\\x74\\x6c\\x33\\x8a\\xed\\xb8\\x51\\x86\\xb5\\x90\\xb8\\xdc\\x62\\x53\\xe8\\x22\\x45\\x6e\\xf1\\x1a\\x1a\\x77\\x0c\\xa1\\xe3\\xd3\\xcb\\x8c\\xa4\\x71\\x07\\x26\\xfe\\x9a\\x74\\x6b\\x4f\\x36\\x54\\x66\\x2c\\xd1\\xdb\\x01\\xf9\\x2d\\x79\\x1a\\x77\\x9c\\x21\\xc7\\x5d\\x78\\x9c\\x8c\\xe3\\xf5\\x3a\\xa9\\xed\\xb8\\x2f\\xeb\\x2b\\x31\\x14\\xda\\x8e\\x62\\x3e\\x12\\xf3\\x2f\\xa5\\x7f\\x08\\x9f\\xe0\\x84\\x60\\x58\\x65\\xd2\\x3f\\x8f\\x4b\\xa9\\x7e\\x12\\x78\\xc2\\xc3\\xdb\\xed\\x0d\\xa8\\x0c\\xf4\\xf4\\x1f\\x53\\xe9\\x1b\\x31\\x73\\x8d\\xea\\x43\\x68\\xe4\\x81\\xcb\\x98\\xb2\\x52\\x99\\x85\\x6a\\xa3\\x15\\x1e\\x6b\\x34\\x1e\\x0b\\xf1\\x0e\\x15\\x87\\xb4\\x84\\x21\\x3e\\xdb\\x2f\\xb3\\xd1\\xec\\xba\\xcc\\xe7\\x1f\\x2a\\x1f\\xc8\\xeb\\xfe\\xa0\\xd8\\x59\\xa2\\x89\\x38\\x84\\x42\\xe1\\x7c\\x6f\\x69\\x3c\\x0e\\xa8\\x3c\\xc0\\x2e\\x7f\\xad\\xd8\\x71\\x1a\\x15\\xf8\\x90\\x2f\\x90\\xef\\x29\\x79\\x9c\\xc5\\x6b\\xe8\\x38\\xcb\\xed\\x70\\x71\\xb3\\xe5\\xb9\\xae\\xa3\\x4c\\xfb\\x07\\xf4\\xe1\\x00\\x1d\\xe3\\x33\\x14\\x7d\\xb8\\x4c\\xb1\\xb1\\x79\\x8a\\x48\\xf6\\x0b\\x7c\\x1d\\x95\\x77\\xa8\\xc2\\xff\\xf9\\x82\\xda\\x9f\\xc1\\x6a\\x67\\xf5\\x35\\x18\\x3f\\xe8\\xe5\\x97\\x54\\xde\\x59\\x0a\\xbc\\x51\\x1e\\x5b\\xbb\\xdd\\x59\\xa9\\x14\\xa2\\x74\\x18\\x3a\\x1e\\x8f\\xa9\\x3c\\x8c\\x18\\x2f\\x56\\xfb\\x51\\xa9\\xd3\\x09\\x4e\\x05\\x47\\xeb\\x47\\x99\\xcf\\x1a\\x95\\x0f\\xcc\\xc7\\xa7\\xf3\\xb5\\x3d\\xa7\\x5c\\xdb\\xeb\\xcd\\x16\\xa2\\x11\\x5e\\x03\\x80\\x57\\x0d\\x6d\\xcf\\x30\\x45\\xbe\\x1e\\xa5\\x3d\\xb4\\xe6\\x6b\\x62\\x4d\\x16\\xce\\xa0\\x6b\\x0f\\x0f\\x76\\xee\\x27\\xda\\x9e\\x33\\x15\\xf8\\x12\\xa5\\xff\\x49\\xad\\x17\\x07\\x6c\\x81\\xa0\\xd1\\xa5\\x83\\x07\\xed\\xe7\\x76\\x0a\\x12\\xc0\\x0f\\xa7\\x7a\\x9a\\xa3\\xe7\\x77\\x08\\xbc\\xc3\\x01\\xf4\\x9d\\x41\\xa7\\x99\\xd1\\xd7\\x7a\\xc1\\x63\\xb0\\x77\\xf2\\x7f\\x04\\xf8\\x6e\\x4a\\xff\\x5a\\xf4\\x80\\xdc\\x5f\\x0e\\x07\\x90\\x77\\x92\\x64\\xd1\\x69\\xc6\\xc6\\x82\\xfe\\x1a\\x09\\x7e\\x74\\x27\\x1d\\xe3\\xe1\\x3a\\x3f\\x2a\\xd7\\x35\\x72\\x59\\xb3\\x55\\x61\\x40\\x61\\xa7\\xc2\\x5c\\xbe\\x93\\x8e\\x73\\xb7\\x32\\x97\\xaf\\xd5\\x60\\x7f\\x04\\x58\\xac\\x83\\x1d\\x09\\xfe\\x54\\x47\\x17\\xfc\\xe9\\x32\\x59\\x27\\x2c\\xc8\\xa2\\x11\\xa5\\x34\\x9f\\xd1\\xd3\\x04\\x5f\\xfa\\x9d\\x66\\x1f\\x7a\\xb3\\x96\\x02\\x9a\\x9b\\x48\\x7e\\xad\\xab\\x5d\\x7e\\xcb\\x0c\\xd3\\x7c\\x0a\\x58\\xdc\\x82\\x7a\\xad\\x19\\x62\\x8a\\xc1\\xc2\\xb5\\xaa\\x3f\\x45\\x0b\\x73\\x7f\\x81\\x98\\x82\\x8e\\x69\\x29\\x75\\x14\\x41\\x42\\x3f\\xa8\\xb8\\x6b\\x6d\\x4c\\xe5\\x39\\x22\\x2c\\xd7\\xe6\\xc8\\x5d\\x58\\x5b\\x6f\\x21\\x93\\x84\\x51\\xfd\\x97\\xa1\\x10\\x4f\\x1e\\x5b\\x8a\\x27\\x8f\\xed\\x5d\\xe8\\xef\\xf9\\x39\\x4f\\xf0\\xc2\\xe6\\xb0\\x5f\\x1e\\x5d\\x4d\\xef\\xc8\\x5a\\xc9\\x72\\xfe\\x5b\\x97\\xba\\x3e\\xba\\x9e\\xc4\\x57\\x60\\x77\\x99\\x11\\x80\\x30\\x82\\xd4\\x01\\x46\\x0c\\x95\\x97\\x48\\x65\\xbb\\x7b\\x3d\\xe4\\x26\\x4e\\xa2\\x6f\\x44\\x0f\\x68\\x9c\\xd4\\xa9\\xd6\\x51\\x18\\x5a\\x47\\xf9\\x77\\xd6\\xee\\x64\\x0c\\xf9\\xf1\\x45\\x18\\x3d\\x04\\xfe\\x6a\\x14\\xbf\\x15\\x25\\xe8\\xeb\\x73\\x8e\\x18\\x5b\\x11\\x0a\\x95\\xba\\x2a\\x2a\\x2c\\xa8\\x14\\x55\\x56\\x39\\x63\\x31\\xfb\\x9c\\x8c\\x2b\\x16\\x2b\\xe7\\xca\\xbd\\xb3\\x33\\xe5\\x5c\\xa9\\x8b\\x33\\xce\\xce\\x70\\xee\\xc2\\x17\\x31\\xfa\\x6e\\x31\\x93\\x6f\\xe9\\x91\\x8f\\xa7\\xe9\\x77\\xad\\x34\\xd0\\xed\\x08\\x64\\x9f\\xae\\x03\\x45\\xcb\\xdd\\xb8\\x0c\\xf3\\xa3\\x56\\x7c\\xb4\\xe9\\xee\\x2b\\x42\\x17\\x6c\\xba\\x73\\xcb\\x43\\x7f\\x38\\x15\\xb7\\x34\\x3d\\x32\\xe3\\xec\\x6b\\x3a\\x13\\xcf\\x63\\x16\\x97\\xe2\\xf9\\xcf\\x49\\xfb\\x5e\\xfd\\x08\\xdf\\xb4\\xfe\\xb9\\x73\\xcb\\xef\\xae\\xda\\xb4\\xee\\x86\\x35\\x37\\xe0\\xd9\\xad\\x23\\x1b\\xce\\xba\\x7b\\xeb\\x4f\\xaf\\xb0\\xd5\\x78\\x3c\\x4e\\x48\\xdf\\x4a\\xdb\\x6d\\xef\\xca\\x6b\\xcf\\xaf\\xe9\\xd7\\x9e\\x41\\x57\\x9b\\xe5\\x1c\\xc5\\xd5\\x93\\xfb\\x26\\xeb\\xf2\\x70\\xa2\\x7e\\x0d\\xe7\\x35\\xfd\\xda\\x33\\xe8\\xea\\xab\\x32\\x6c\\x53\\x4f\\xee\\x40\\xb6\\xa9\\x59\\xe9\\x57\\xf9\\xce\\x78\\x18\\xf3\\x29\\xd4\\xa7\\xcb\\x6b\\xda\\x6f\\xb0\\xef\\x2a\\x79\\x25\\xa9\\xd7\\x31\\xfe\\x80\\x3f\\xc4\\xe9\\xe3\\x55\\x79\\xdc\\xbe\\xd7\\xc6\\xed\\x0d\\xb6\\x59\\x7a\\x83\\xe4\\x95\\xe9\\x34\\x0c\\x5c\\x6b\\x4f\\xee\\xf9\\x6c\\xab\\x36\\x70\\x8a\\x9e\\x17\\xf1\\x30\\xfe\\xc4\\x3c\\x2a\\xeb\\x07\\xcb\\xc8\\x61\\x43\\xd9\\xb9\\x65\\x6e\\x4e\\xec\\xab\\x1f\\x42\\xa5\\xca\\xc7\\xc4\\x31\\xa7\\xaa\\x38\\xc3\\x87\\x93\\x60\\x60\\xc4\\xe8\\x11\\x29\\x75\\x0d\\x5d\\xc1\\x29\\xe6\\xd3\\x4b\\xf9\\xd0\\x3a\\x86\\xcc\\x07\\x72\\xcd\\x3b\\xb3\\xde\\x80\\x9e\\x15\\x91\\x6f\\x60\\x11\\x2f\\x9e\\xf2\\xa2\\x78\\xed\\xed\\x84\\x17\\xe4\\x23\\xab\\xb2\\x2d\\x43\\xf4\\xec\\xfa\\x6b\\x97\\x94\\x6f\\x57\\x75\\x35\\xe1\\x57\\x33\\xbc\\x26\\xd8\\x6f\\xbb\\x2e\\xd1\\x78\\x09\\xcc\\x40\\x15\\x67\\xfc\\x78\\xc2\\xeb\\x34\\xff\\x69\\x43\\x7e\\xa6\\x5d\\x39\\xba\\xef\\x80\\xe2\\x90\\x44\\x92\\x65\\x4a\\x70\\x49\\xa2\\x5f\\x3e\\x47\\x35\\x3e\\x22\\xe5\\x43\\xdb\\x04\\x9a\\x0c\\x38\\xa3\\x7a\\x72\\xaf\\x67\\x47\\x35\\xf7\\x69\\x13\\xd1\\x33\\x6a\\x77\\xe3\\x24\\x4e\\x03\\xbb\\x3b\\x47\\xd1\\x37\\x25\\x5f\\x62\\xa8\\x2b\\xf1\\x23\\xbf\\x8b\\x17\\xf4\\x7a\\x41\\x74\\x8e\\xda\\xdf\\xd1\\x34\\xbe\\xbb\\x16\\xfd\\x45\\xd1\\xbd\\xf7\\x14\\xbc\\x41\\x83\\x88\\x82\\xa0\\xd6\\x26\\x56\\xef\\x67\\x8b\\xda\\x66\\x42\\xcc\\x6e\\xb5\\x6d\\xa4\\xe2\\xc2\\x32\\x41\\x36\\x58\\xd1\\x6f\\xdb\\x8e\\x69\\x6d\\x33\\xe4\\xdb\\x36\\x70\\x20\\x69\\x5b\\x33\\xd1\\xf3\\xe6\\x9f\\x1b\\x2f\\x13\\xfe\\x2f\\x78\\x19\\xff\\x4b\\x5e\\x4c\\x9e\\x97\\xbc\\xdc\\xe3\\x61\\x3d\\xa5\\xfd\\xf1\\xa2\\x38\\x32\\x2f\\xd3\\x7f\\xc9\\x8b\\xcd\\xeb\\x87\\xcc\\x2b\\x81\\x13\\x4d\\x3f\\xa3\\x1f\\xe6\\xff\\x94\\x17\\xd5\\x8f\\x6f\\x55\\xfd\\x30\\x72\\xf8\\x52\\x9d\\x3d\\x8a\\x83\\xcd\\x27\\x2c\\x19\\x0f\\xf2\\x94\\x82\\x7e\\x90\\x9d\\x26\\xdf\\x64\\xcb\\xa3\\x32\\x73\\xbd\\x4d\\x90\\xf5\\xe5\\x73\\x4d\\x5f\\xee\\x24\\x7b\\x2b\\x34\\x5b\\x45\\xe8\\x10\\x31\\x98\\x66\\x04\\x22\\x78\\x13\\xec\\x08\\x22\\xcd\\x88\\xb4\\x2c\\x4d\\x5d\\xe1\\xba\\x93\\x7e\\x6d\\x1b\\xe4\\x38\\x53\\x5b\\xc7\\xf8\\x06\\x42\\xa4\\xc2\\xb5\\xed\\xd7\\xf4\\x6b\\xdb\\xc0\\xeb\\xcf\\xd4\\x2f\\x33\\x21\\x73\\x28\\xac\\x5f\\x2f\\x2f\\x5c\\xfb\\x07\\x1b\\xf7\\x81\\x1c\\x4b\\x84\\x42\\x24\\x87\\x20\\x1b\\x20\\x5c\\x3e\\x5c\\x18\\x7b\\xd1\\xb5\\x7f\\x6a\\x17\\xc7\\x29\\x38\\x53\\xc0\\x2e\\x12\\xbd\\xaf\\xa9\\x81\\x76\\x94\\x9b\\xca\\xe3\\x16\\x57\\x51\\x0d\\x50\\xa2\\x79\\x4a\\xb5\\x92\\xa7\\x5c\\xa3\\xc6\\xd5\\xc0\\xc3\\xcb\\x68\\xab\\xf2\\x75\\x7a\\xfa\\xcf\\x6a\\xf4\\xef\\x46\\xc7\\x94\\x5a\\x58\\x0c\\xc8\\xc7\\x0c\\xda\\xca\\x7c\\x5d\\xbf\\x6d\\x00\\x9b\\xfb\\x27\\xd5\\x27\\x93\\xca\\x02\\xc4\\xd4\\xe7\\x96\\xd8\\xb0\\xb9\\x8f\\x4e\\xcc\\xa0\\x76\\x70\\x5c\\xb1\\xcd\\xad\\xac\\x24\\x3a\\x51\\xb5\\xb4\\xaa\\xd4\\x52\\xe8\\xc7\\x8b\\xf9\\xf4\\x32\\xbf\\xcf\\xc7\\x0c\\x84\\x8f\\xa3\\x27\\xb7\\x35\\xeb\\x70\\x17\\xef\\xd1\\x18\\x48\\xf7\\x4a\\xe4\\x79\\xe9\\x6c\\x2e\\x29\\x68\\x82\\x4f\\xe8\\xc9\\x3d\\x98\\x2d\\x8b\\xe9\\xd9\\xf5\\xd7\\x2e\\x89\\x79\\x41\\x6d\\x57\\x2c\\x46\\xf8\\xc5\\x6b\\xe2\\xde\\x7e\\xda\\x15\\xa2\\x36\\x77\\x9c\\x62\\x73\\x87\\xaa\\xed\\x22\\xbb\\x84\\x58\\x26\\x35\\x29\\x15\\xfb\\x99\\x76\\xe5\\x98\\x77\\xd4\\x76\\xd5\\xd7\\x2b\\x7b\\x4f\\x48\\x6e\\xd8\\xff\\xde\\x93\\xa3\\x1a\\x2f\\xd9\\xee\\x92\\x1a\\x76\\x05\\xe1\\x54\\x4f\\x0a\\x3a\\xf5\\x61\\x8d\\x59\\x8b\\xba\\x4f\\x4b\\xa2\\x36\\xb7\\x5a\\xb1\\xb9\\x2b\\x74\\xba\\x0c\\x73\\x41\\x5e\\x2c\\x72\\x21\\x97\\x15\\x33\\x09\\xc6\\x4f\\x34\\xdb\\x1f\\x90\\x39\\x17\\xcf\\xa9\\x00\\xb5\\xc1\\xe3\\x14\\x1b\\xfc\\x85\\x4e\\xcf\\x0d\\x8f\\x33\\x74\\xaf\\x89\\x0c\\x3b\\x19\\xe2\\x29\\x46\\xac\\x73\\xa8\\x6b\\xdc\\x6f\\xd0\\xfa\\xc8\\x59\\xe9\\x89\\x34\\x55\\xc0\\x26\\xab\\xc9\\x86\\xd9\\x84\\x3d\\x80\\xdd\\x28\\xe0\\x08\\x94\\x07\\x1a\\x03\\xe9\\x00\\xdf\\x86\\xe0\\xef\\xce\\xc0\\x9c\\xc0\\x92\\xc0\\xbd\\x81\\xbd\\x81\\x63\\x01\\x03\\xf9\\x25\\xf9\\x88\\xfc\\x73\\x3f\\xf9\\xa0\\x5c\\x83\\xb8\\x09\\xfe\\x29\\x76\\x2f\\x5d\\x76\\x56\\x37\\xd9\\x57\\xab\\xea\\xbd\\x09\\x02\\xb3\\xdf\\x08\\x66\\x47\\xa5\\xb1\\x49\\xe6\\x8b\\xbf\\x95\\x3e\\x41\\xa3\\xd3\\x83\\x68\\xba\\x81\\x4d\\x88\\xf2\\x8d\\x04\\xee\\x09\\x7c\\x1c\\xc8\\x05\\xb8\\x49\\xf0\\x8d\\x89\\x04\\x30\\x02\\x82\\xeb\\x29\\x8f\\x4f\\x02\\xc2\\x4d\\x1a\\x3b\\x7e\\xe9\\x32\\xe0\\xa0\\xef\\x83\\x67\\xa4\\xd7\\xf0\\x65\\xf9\\xb5\\x7b\\xa3\\x0b\\x3f\\x8a\\xd4\\xf5\\xda\\xe3\\x45\\xeb\\xb5\\x64\\x6d\\x77\\x78\\x7e\\xed\\x5e\\x59\\xdb\\x05\\x7b\\x50\\x54\\x47\\x9b\\x0b\\x36\\xef\\x3d\\x5a\\x67\\x6d\\x52\\xc6\\xe5\\x11\\x39\\x9e\\x2a\\x25\\x61\\x67\\x69\\x99\\xa1\\x70\\x8f\\x17\\x17\\xa6\\x36\\x66\\x8a\\xd2\\xf7\\xaf\\x68\\x35\\xf1\\xef\\xb3\\x81\\xa0\\x7e\\x2f\\x54\\xd1\\x7a\\x07\\xf3\\x06\\x37\\x58\\x5b\\x37\\x00\\x15\\x8b\\x9a\\xa3\\x09\\x83\\xbe\\xb6\\x28\\xaf\\x75\\x98\\x55\\xda\\x60\\x63\\xc6\\x42\\xdf\\x41\\xec\\x45\\x66\\x27\\x13\\x26\\xc1\\x79\\x38\\x5a\\xb4\\x87\\xad\\x78\\x4d\\xe5\\x27\\xb6\\x54\\xd5\\xfd\\xaa\\x2a\\xe2\\x1b\\xaa\\xe7\\x57\\x87\\x0d\\x85\\x35\\x53\\xc2\\xe7\\x34\\x3a\\x37\\xa7\\x28\\x76\\xa0\\x4d\\xc5\\x21\\x3b\\xdf\\x58\\x26\\x7e\\x76\\xbc\\xa4\\xa8\\xce\\x5a\\xcc\\xa7\\x97\\xf2\\xa1\\xf3\\x59\\xe6\\x13\\xe9\\xc9\\xdd\\x9e\\x8d\\x54\\x14\\xaf\\x21\\x25\\x68\\x9b\\xf2\\xbc\\x78\\xca\\x8b\\xe2\\x25\\x12\\x84\\x17\\xe4\\x1c\\x77\\x64\\x43\\xe5\\x42\\x11\\x5e\\x31\\x3f\\x29\\xdf\\xae\\xa6\\x26\\xc2\\x2f\\x35\\x34\\x15\\xef\\xa7\\x5d\\x61\\x6a\\x07\\xa6\\x14\\xc7\\x5e\\x64\\xb1\\x99\\x65\\x1a\\x47\\x35\\x96\\xff\\x4c\\xbb\\x72\\x79\\x3e\\x43\\x87\\xf2\\x72\\x51\\x2a\\xd9\\x2f\\x9f\\xa3\\x1a\\x1f\\x5d\\xec\\x15\\x89\\x10\\x3e\\x35\\x3d\\xb9\\x7f\\x66\\x6b\\x82\\x7d\\xda\\x44\\xf4\\x4c\\x64\\x65\\x5e\\xd4\\x0e\\xbc\\x8a\\x78\\x4d\\xdf\\x88\\x4f\\xa4\\x31\\x79\\x05\\xaa\\x28\\x05\\x8e\\x6c\\x25\\xd1\\xbe\\xca\\x2a\\x03\\x2a\\xb6\\x03\\x54\\x07\\xa9\\x1d\\x98\\xa2\\xd8\\x81\\x4f\\x74\\xba\\x48\\xe8\\x94\\x96\\xca\\xfb\\xab\\x02\\x20\\x02\\x5b\\x41\\x34\\xb3\\x22\\x26\\xf4\\xa1\\x03\\x6d\\x17\\x1e\\x25\\xb1\\x0f\\x9e\\xa7\\xd4\\x8a\\xda\\xa8\\x1f\\x64\\xea\\xea\\x40\\x8c\\xaa\\x9e\\xdc\\x5b\\xd9\\xaa\\x5a\\x83\\xb7\\x40\\xdf\\xa0\\xed\\x3c\\x4b\\xea\\x45\\xf8\\x6c\\x65\\x2d\\xec\\x1c\\x19\\x87\\xea\\x28\\xb0\\xfa\\x53\\xb6\\x22\\x21\\x38\\x8b\\x75\\xb4\\x80\\x4f\\xaf\\xba\\xe6\\x46\\xf9\\x54\\xf7\\xe4\\xce\\xce\\x56\\xd7\\xfd\\x0c\\x9f\\x51\\x68\\x97\\x8e\\x4f\\xac\\x27\\x37\\x34\\x1b\\xab\\xec\\x8f\\x0f\\x19\\x4b\\x99\\x8f\\x32\\xdf\\x00\\xa7\\xa5\\x05\\xf8\\x80\\x69\\xde\\x91\\xad\\x6f\\xec\\x8f\\x0f\\x99\\x73\\x32\\x9f\\xfc\\x9c\\xa3\\x2b\\x0e\\xd0\\x07\\xd7\\x67\\xab\\xea\\xfa\\xe5\\x23\\xa8\\x7c\\xc0\\x65\\xbc\\x21\\xe7\\xb6\\x49\\x60\\x93\\xec\\xc9\\x6d\\xc9\\x26\\x87\\xaa\\x6c\\x5a\\xb4\\xb6\\x3c\\xab\\xf1\\xb8\\x9b\\xd4\\x46\\x09\\x3c\\x59\\x3d\\xac\\xed\\xc9\\xdd\\x96\\xad\\x1d\\xa4\\xb2\\x68\\x91\\xf5\\x44\\x78\\x94\\xd8\\x23\\x85\\xbe\\x66\\x8f\\x40\\x9c\\x4d\\xd9\\xaa\\x1a\\x85\\xb6\\xaa\\x0b\\x3c\\x4b\\xec\\x91\\x4c\\x5b\\xdb\\xe7\\x45\\x86\\xe2\\x9a\\x6c\\x45\\x5c\\xa1\\xab\\xd4\\xad\\x5f\\xd3\\xd7\\xad\\x81\\xee\\x45\\x48\\x5d\\xa3\\xfb\\x2e\\xeb\\xf5\\x17\\xd6\\xad\\x5f\\xd3\\xd7\\xad\\x81\\xee\\x43\\x48\\xdd\\x47\\xf0\\x3e\\xd8\\xc4\\x93\\xd4\\xad\\xa1\\x0f\\x0f\\xc9\\xf1\\x14\\xf1\\xd8\\xca\\x86\\xb3\\x32\\x85\\xb8\\xda\\x87\\x72\\xbd\\xd8\\xac\\xd5\\xc5\\xd5\\x7e\\xc7\\x64\\x49\\x15\\x47\\x49\\x81\\x26\\x9a\\x08\\x16\\xae\\x5f\\x02\\x1f\\x61\\x3d\\xd5\\xa3\\xa5\\x8a\\xbe\\xfa\\x65\\x3e\\xf1\\x38\\xf0\\x81\\x50\\xf4\\xfe\\x6c\\x79\\x8c\\xf7\\x17\\xf3\\xe1\\x4b\\xa9\\x1e\\x2d\\x53\\xf4\\xf5\\x3a\\x19\\xa7\\xae\\x0e\\xf8\\x54\\x11\\x7d\\xad\\xaa\\x4d\\xb8\\x4e\\xca\\xa7\\x17\\x9f\\xa1\\xe3\\x03\\xb2\\x19\\xb3\\xd1\\xf8\\xcf\\xf0\\x19\\x45\\x56\\x5b\\x35\\x3e\\xd5\\x3d\\xd2\\xf7\\xa0\\xe3\\xfd\\xf1\\xa1\\xfa\\xba\\x54\\xe9\\x83\\x9f\\x64\\x1c\\xba\\x64\\x95\\xe8\\xc9\\x75\\x67\\x13\\x35\\xfd\\xf1\\xa1\\xfa\\xba\\xac\\xb0\\xdf\\x5a\\x5a\\xc8\\x72\\x55\\x4f\\xee\\x5c\\xd0\\xf1\\x7e\\xf9\\x08\\x2a\\x1f\\xd0\\xd7\\x87\\xe4\\x1a\\x38\\x24\\xb1\\x20\\x5a\\x6e\\x41\\xb6\\xba\\x59\\x65\\xd3\\xa2\\xb5\\xe5\\x59\\x8d\\x87\\x1c\\x8b\\x02\\x3c\\xd9\\xb1\\x03\\xfa\\xbd\\x18\\xf4\\x5b\\x65\\xd1\\x22\\xeb\\x95\\xb0\\x9e\\xe8\\x95\\x42\\xdf\\xc5\\x2e\\x94\\x75\\x05\\x86\\x64\\x34\\xd9\\x87\\xee\\x2f\\xd0\\x2b\\xbe\\x94\\xe8\\x95\\x4c\\x1b\\xf4\\x4a\\xf1\\xdf\\x30\\x14\\x63\\x40\\xb7\\x13\\xba\\xfd\\xa7\\x72\\x0d\\xf2\\x98\\x5a\\x83\\x84\\x71\\xa8\\x90\\xfb\\xc7\\x68\\x24\\x21\\x4c\\x4f\\x6e\\x5f\\xd6\\x64\\xe5\\x0c\\x05\\x6d\\x95\\xeb\\x90\\x07\\x95\\x5a\\x95\\x80\\x46\\x2d\\xa0\\x18\\x74\\x81\\x3b\\x40\\x42\\xce\\x40\\xa8\\xa0\\x0e\\x39\\x40\\x9b\\x13\\xc3\\x14\\xd9\\x4f\\x91\\x6b\\x79\\x10\\xa9\\xa8\\x15\\x4e\\x8d\\x2e\\x9d\\x0f\\x40\\xd7\\x41\\xe0\\xf6\\xe7\\x65\\xa4\\xba\\x3f\\x4c\\x19\\x8f\\x17\\xb4\\xba\\x33\\xd9\\x00\\xc4\\xdb\\xdd\\x7d\\xeb\\xa4\\x54\\xef\\xcf\\x54\\xe0\\xbd\\x30\\x7e\\x04\\x9e\\x18\\x36\\x1c\\xe6\\xc2\\xd1\\x42\\xf9\\x28\\x7d\\x41\\x93\\x8f\\xc1\\xe7\\xeb\\xd7\\x3b\\x2c\\xae\\x32\\xae\\x60\\xbd\\x43\\x6e\\xff\\xb3\\x1a\\xfd\\xbb\\xd1\\xcb\\x0a\\x3c\\x04\\x87\\xb8\\xdc\\x5d\\x5e\\x6f\\x2c\\xc8\\x23\\x88\\x2f\\x3b\\x47\\x68\\x74\\x55\\xb2\\xd4\\x7e\\x88\\xb7\\xa0\\x0f\\xd1\\x7c\\x62\\x9b\\xea\\x9d\\xd4\\x64\\xbe\\x97\\xad\\xaf\\x16\\x1c\\x05\\xb6\\xac\\x00\\xfe\\x00\\x7a\\x0b\\xe0\\xc1\\x5e\\x92\\xed\\x56\\xcc\\x40\\xb2\\x69\\x6f\\x60\\xbd\\xe0\\x28\\xb6\\xb1\\x05\\x38\\x3b\\x28\\x0f\\x12\\x33\\xd3\\xe8\\xbc\\x89\\x1c\\x80\\x68\\x52\\xb8\\xe8\\xf7\\x7d\\xe8\\x71\\x76\\xa3\\x57\\x01\\x87\\xfa\\xd8\\x54\\x8a\\x60\\xb5\\x92\\x7d\\x87\\xad\\x79\\x2c\\xdd\\x9e\\x15\\x3d\\xde\\x7d\\x38\\x40\\xe4\\x23\\x7b\\x84\\x64\\x66\\xe6\\xa6\\x1a\\xa1\\x68\\x0d\\xad\\x18\\x67\\x0f\\xc5\\xa1\\x31\\x80\\xc2\\xcb\\xdc\\x5a\\xa3\\x67\\xa4\\xe2\\x88\\xf5\\x1a\\xce\\x4e\\xf4\\x07\\x34\\x46\\x96\\xef\\xd4\\x53\\x69\\xac\\x41\\xea\\x2f\\x8d\\xc3\\xfb\\x95\\x4f\\xac\\xd0\\xf0\\xf6\\x02\\xde\\x30\\x19\\x6f\\xcc\\x98\\x93\\xe0\\xd1\\x1a\\x00\\x8d\\x65\\x49\\x0d\\x40\\x10\\x6f\\x01\\x33\\x26\\x3e\\xc6\\x38\\x11\\x6a\\xef\\xf7\\xf7\\x07\\x6e\\x2d\\xfc\\x7d\\x2d\\x42\\xc2\\xe5\\xfc\\x01\\x47\\x15\\x8a\\xe3\\x7a\\x0a\\x41\\xd6\\x60\\x8c\\x8f\\xb3\\x8c\\x8f\\x80\\x9c\\x00\\x66\\xf7\\x7f\\x00\\x73\\x9f\\x02\\xe3\\x3c\\x09\\xcc\\x9e\\x3e\\x30\\xed\\x04\\x46\\xf8\\x5c\\x07\\xb3\\xb3\\x53\\x86\\x69\\x3e\\x09\\xcc\\xde\\x3e\\x30\\x63\\xc0\\x8f\\x2c\\xa4\\x63\\x77\\x9e\\xa2\\xbf\\xd7\\xc0\\xd8\\x11\\x7d\\xaf\\x27\\xf6\\x50\\xa8\\xaf\\x36\\x71\\x7a\\x7d\\x2f\\x86\\x3f\\x80\\x6e\\x25\\xfa\\xae\\xee\\x17\\x1c\\x68\\x19\\x58\\xaf\\x22\\xd0\\xf9\\x57\\x08\\x0f\\xbd\\x36\\x7f\\x3e\\x3d\\x25\\xd0\\x44\\xf7\\x23\\xf4\\xe4\\xfe\\x0f\\x34\\x57\\x46\\xc8\\xeb\\x53\\x31\\xce\\xee\\xf9\\xf3\\xd5\\xdd\\x0f\\x04\\xab\\x95\\x60\\xb5\\xe6\\xb1\\xb4\\x75\\xea\\x62\\xd9\\xee\\x43\\x37\\xc8\\xba\\xab\\xb2\\xe3\\x9b\\x6a\\x4e\\xce\\x0b\\x74\\x97\\xe2\\xd0\\x7c\\x59\\xe1\\xc6\\xb7\\xd6\\xe8\\x59\\x01\\x8e\\x1d\\x74\\xe5\\x15\\x3a\\x3e\\xd5\\x30\\xab\\x68\\xaf\\xe5\\x48\\xd4\\x2b\\x3e\\x86\\x2d\\xaa\\xbe\\x18\\xfa\\xc0\\x1c\\xe8\\x03\\x13\\x80\\x7f\\xce\\x90\\x61\\x98\\x99\\x72\\xef\\x7c\\x4d\\xc6\\x87\\xc1\\xf9\\x71\\xee\\x0b\\xb3\\xfb\\x3f\\x80\\xb9\\x4f\\x81\\xb1\\x9c\\x04\\x66\\x4f\\x1f\\x98\\x85\\xd2\\x4c\\xf6\\x6b\\xda\\x17\\x0b\\x14\\x5d\\xf8\\x54\\xd1\\x05\\x88\\xca\\x71\\xc4\\x16\\x09\\x59\\xf5\\x6b\\x9f\\x7d\\xe0\\x0f\\xa0\\xaf\\x14\\x5d\\x20\\xa7\\x36\\x70\\xdc\\x15\\x8f\\x58\\x75\\x6b\\x8c\\x7d\\xe0\\x77\\x50\\x9b\\x44\\xb4\\x21\\x41\\x7a\\x1a\\x1c\\xf6\\xa1\\x6c\\x42\\xe1\\xa1\\xda\\xb1\\x62\\x1c\\xcd\\x8e\\x31\\xd4\\xe0\\x33\\xb8\\x96\\x60\\xd5\\xe6\\xb1\\x9c\\xfd\\xb7\\xe5\\x3e\\x3c\\x48\\xd5\\x05\\x99\\xd9\\xac\\x44\\xa9\\x8e\\x53\\xbf\\xed\\xd9\\x03\\x4e\\x4c\\xd1\\x05\\x85\\x57\\xb2\\xb6\\xd4\\x5a\\xb0\\x36\\x2b\\xe3\\x50\\x7b\\xb4\\x40\\xb1\\x63\\x9f\\x82\\x3d\\xa2\\x38\\x83\\x07\\x13\\x9c\\x98\\x39\\xd6\\xf8\\x33\\x38\\x7b\\xa1\\xdf\\x14\\x1c\\x52\\x7b\\x06\\x1c\\x5f\\x1f\\x1c\\xa2\\x73\\x87\\xe8\\xf8\\xd5\\x9d\\x54\\xe7\\x0a\\x61\\xfa\\xd7\\xb9\\x95\\x32\\xcc\\x09\\x75\\xae\\xb6\\x0f\\x8c\\x6c\\xc7\\x8a\\x75\\xae\\x10\\xa6\\x7f\\x9d\\x2b\\x84\\xe9\\xa3\\x73\\xb9\\xe3\\x04\\x86\\xda\\x28\\x15\\x66\\xa7\\x59\\x86\\x49\\x9e\\x04\\x66\\x6f\\x31\\x0c\\x02\\x73\\x8e\\x6f\\xa4\\x63\\x77\\x81\\x6c\\xdf\\xb7\\x13\\x2f\\x8c\\xc9\\x62\\xb0\\x9d\\x9c\\x9c\\xb2\\x9b\\xb9\\x82\\xbd\\x70\\xc5\\xf0\\x07\\xb6\\xcf\\xd7\\x56\\x43\\x3d\\x3d\\xb9\\x83\\x59\\x8f\\x9d\\xd3\\xad\\x9f\\x92\\xb7\\x2d\\xf1\\xbf\\x74\\xf0\\x3b\\xae\\x93\\x35\\x97\\xae\\xbf\\x7b\\x89\\xcf\\xf1\\x2a\\x1c\\x34\\x7d\\xea\\x83\\xb3\\xfb\\x3a\\x45\\x73\\x7d\\x3e\\xa7\\xbc\\xca\\xf8\\x7a\\x36\\x98\\xc7\\xd2\\xec\\x18\\x8b\\x10\\x33\\x59\\x87\\x77\\xdf\\xfb\\x8a\\xe6\\xca\\xcc\\x22\\x5e\\x8b\\x8e\\x53\\x3f\\xf0\\x7b\\xde\\x57\\xb4\\x56\\xe1\\x13\\x09\\x5a\\x0a\\x99\\x80\\x6c\\x37\\x00\\x4e\\x46\\x3c\\x4d\\xc3\\xd9\\xb9\\x5d\\x91\\x8d\\x6e\\x97\\x24\\xa7\\xa9\\x0e\\x65\\xdd\\xe5\\x7d\\x64\\xeb\\x83\\xb7\\x57\\xc5\\xa3\\x65\\xdc\\x13\\xe2\\x11\\xfd\\x65\\x46\\x53\\x5d\\xa8\\x2f\\xd6\\x5f\\x4e\\xa7\\xbf\\x45\\x30\\x07\\xfa\\xc0\\x80\\x4e\\xb1\\xef\\xca\\x30\\x45\\xfa\\x6b\\xd4\\xeb\\x5d\\x11\\xcc\\xee\\xff\\x00\\x46\\xd5\\x5f\\xee\\x24\\x30\\x7b\\x8a\\x61\\x88\\x6e\\xb2\\xef\\x52\\xdd\\xac\\x2f\\xd2\\xdf\\xaa\\x93\\xc0\\xec\\x2d\\x86\\x51\\x6a\\x22\\x8d\\x6a\\x4d\\x04\\x6c\\xef\\x5f\\xe4\\x38\\x92\\x54\\x22\\x4a\\x49\\xe9\\xaa\\x34\\xa0\\x96\\xae\\x5a\\xfa\\x81\\x3f\\x40\\xe1\\x21\\x8e\\x0c\\x87\\x01\\x21\\x4a\\x4a\\x16\\xd1\\xd2\\xbe\\xe7\\x35\\x0b\\x70\\x54\\xfb\\xab\\xd4\\x5e\\x21\\xe3\\xfd\\x20\\x5b\\x11\\x10\\xfa\\xd9\\x3f\\x9c\\xc7\\xd1\\xc5\\x91\\x72\\xad\\xab\\x8a\\x60\\x55\\x05\\x8a\\x6b\\x35\\xc5\\x78\\xba\\x38\\x52\\x66\\x96\\xac\\x28\\x11\\xfa\\xdd\\x6b\\x9e\\xc7\\xd1\\xc5\\x91\\x0a\\xaf\\x64\\x55\\x71\\x5d\\xcd\\x0e\\xb9\\xd9\\x50\\x18\\xa3\\x4a\\xd4\\x34\\x5f\\xaf\\x55\\x4c\\x88\\x6a\\x8c\\xbc\\x7f\\xae\\x08\\x46\\xd5\\x2a\\x26\\x91\\x87\\x09\\xe4\\x8e\\x88\\x6f\\xd0\\xb1\\x6e\\x22\\xbb\\x0c\\x34\\xbd\\x62\\x99\\xba\\xbc\\x3e\\xf4\\x81\\xd9\\xdd\\x2f\\xcc\\x79\\x0a\\xcc\\x4d\\x3a\\xbd\\x3a\\x39\\xcc\\x9e\\x3e\\x30\\x24\\xbf\\x97\\xe8\\x9c\\x5e\\xa1\\xe8\\xc3\\x7b\\x54\\x1f\\x70\\xc8\\x49\\xb7\\x3b\\x7d\\x9d\\x0d\\xf9\\x45\\x54\\x90\\x73\\x16\\xc0\\x1f\\x80\\xb8\\x98\\x5a\\x34\\x52\\xca\\x22\\x89\\xe4\\xa7\\xd9\\xf2\\x50\\xd1\\x9e\\xe9\\x62\\x9c\\xbc\\x3f\\x8e\\x92\\xb9\\x0c\\x4a\\xf4\\xc7\\x6c\\x54\\xe1\\xa2\\xea\\x43\\x31\\x8e\\xce\\x1f\\x57\\x54\\x10\\xac\\x4a\\x82\\x55\\x99\\xc7\\x72\\xf6\\xdf\\x9e\\xfb\\x20\\x22\\x55\\xac\\x9a\\xcc\\x6c\\x68\\x34\\x20\\x16\\xe9\\x43\\x31\\xce\\x1e\\x8a\\x43\\x2d\\x9b\\xc2\\x6b\\x68\\x65\\x40\\x2c\\xd4\\x07\\x8a\\x43\\x7d\\xeb\\x0a\\xc5\\x1f\\xbf\\x27\\xe7\\x07\\xea\\x7e\\xdb\\x08\\xf1\\x06\\x91\\xfa\\x7e\\xe5\\xd3\\xe1\\x69\\x79\\x05\\x43\\x2b\\x03\\x14\\xef\\xf3\\x7e\\xf0\\xc0\\x66\\x09\\xd3\\xe9\\x58\\x0e\\xa3\\x31\\xb6\\xce\\x66\\xb9\\xf5\\x3e\\x77\\x83\\x0c\\x53\\x64\\x8f\\x4a\\x0a\\x7c\\xe5\\x67\\x0a\\xcc\\x33\\x05\\xb6\\x46\\x83\\xc9\\x1d\\x25\\x74\\xa8\\x1d\\x51\\xe9\\xec\\x55\\xfc\\x72\\x85\\x46\\x67\\x6a\\xee\\x08\\x7f\\x98\\xf6\\xd9\\x1a\\x59\\x6f\\xf0\\x8b\\xb2\\xde\\x34\\x82\\x1a\\x34\\x92\\x33\\x2c\\x8d\\xf5\\x21\\x5b\\x5e\\x6f\\x8a\\xe1\\x0f\\xe0\\xdd\\xb2\\xde\\x90\\xe5\\x45\\xb2\\xd1\\xf8\\xaf\\xd9\\x96\\x46\\x15\\x41\\xdd\\x97\\x53\\x84\\xb3\\x83\\xf2\\x20\\x7a\\x43\\x96\\xb0\\xf1\\x20\\xb2\\x3b\\x65\\x90\\xc2\\x45\\xd5\\x9b\\x62\\x9c\\xdd\\x14\\x87\\xf6\\x6f\\x6b\\x2b\\xc1\\x1a\\x4a\\xb0\\x86\\xe6\\xb1\\x9c\\xfd\\xb7\\xe7\\x3e\\x98\\x79\\x8a\\xde\\xc8\\xcc\\x2a\\x07\\x0d\\xd0\\x71\\xea\\x57\\xbe\\x3d\\x14\\x47\\xd9\\xa7\\x4d\\x79\\x55\\x0e\\x1d\\xa0\\x67\\xa4\\xe2\\x50\\xbf\\x26\\xe3\\xec\\xcc\\xcb\\x47\\xf6\\x1d\\x80\\xf6\\x90\\x6a\\x72\\xf3\\xc8\\x7e\\xe5\\xd3\\xe1\\xed\\xa5\\xfd\\x47\\xf1\\x4e\\x3b\\x4d\\xc1\\xfb\\xac\\x1f\\x3c\\xf0\\x87\\x82\\x48\\x6c\\x12\\x3b\\xab\\xc0\\x6e\\xe1\\x06\\x9d\\xdd\\x2a\\x82\\x39\\xd0\\x0f\\x0c\\xd1\\x9b\\xdb\\x88\\xde\\xb0\\xb3\\x0a\\xec\\x16\\x30\\x2e\\xd0\\xad\\x42\\x98\\xdd\\xfd\\xc2\\xa4\\x14\\x98\\x9b\\x0a\\xfc\\xe1\\xc9\\x60\\xf6\\x14\\xc3\\xe4\\xbe\\x20\\x30\\x44\\x47\\x35\\x98\\x9d\\xc7\\x65\\x98\\xb1\\x27\\x81\\xd9\\x5b\\x0c\\xa3\\xd4\\x14\\x44\\x2d\\xcf\\xdf\\xaf\\xd4\\x03\\x99\\x7a\\x52\\x58\\xa9\\xe9\\xc9\\xad\\xcf\\xd6\\xf4\\x5f\\x27\\xd1\\x70\\xd8\\x36\\x7a\\x3e\\x40\\xc5\\xa9\\x26\\x35\\xd1\\xea\\xba\\x22\\x1c\\x39\\xff\\x13\\xb5\\x5c\\x73\\xff\\x40\\x5a\\xef\\x22\\x18\\x18\\xb8\\xec\\x06\\x2e\\xfd\\xe4\\xb3\\x2a\\x3c\\xf0\\x40\\x3b\\x95\\x7a\\x15\\x45\\xa9\\xae\\xa8\\xae\\x2b\\x80\\x97\\x73\\x0a\\x51\\x8b\\xf5\\xf7\\xa3\\x07\\xe5\\x1a\\x1c\\x59\\xe9\\x20\\xc5\\xe0\\x77\\xb2\\xa5\\xba\\x2c\\x49\\x97\\x87\\x68\\x38\\xd0\\x8e\\x98\\xc2\\x83\\x22\\x85\\x26\\x86\\xca\\x0a\\xf2\\x2a\\x07\\x8d\\x65\\x45\\x25\\x26\\x03\\x1e\\xb9\\x53\\x51\\x7e\\x2f\\xa4\\xa5\\x27\\xb7\\x39\\x6b\\xd1\\x45\\xb3\\x5a\\xfc\\xbb\\x43\\xc3\\x11\\xd8\\xb6\\xfd\\x48\\xd9\\x6d\\x09\\x28\\x66\\x8b\\xd9\\x56\\x04\\x2f\\xfb\\x66\\x51\\xf3\\xcd\\xfb\\xd1\\x3d\\x72\\xdf\\xd2\\xa5\\x92\\x92\\x9e\\xdc\\x6f\\xb2\\x25\\xfd\\xc7\\x1b\\x1a\\x0e\\xb4\\xc3\\xac\\xac\\xdf\\x51\\xa4\\x40\\x75\\x20\\x54\\x70\\x36\\x40\\xb6\\xf7\\xa2\\x62\\x83\\x61\\x2c\\xd6\\x29\\xbb\\x0a\\xe4\\xda\\xe3\\xad\\xd9\\x80\\xce\\x83\\xf5\\x81\\x27\\x63\\xd1\\xab\\xf4\\x13\\x45\\xf1\\xbb\\xfc\\xc1\\x02\\x78\\xd9\\x2e\\x88\\xda\\x5c\\xdd\\x4f\\xf7\\x7f\\x02\\x07\\xb2\\x56\\x81\\x07\\xf4\\xe4\\x1e\\xc8\\x0e\\xe8\\xdf\\xd6\\x69\\x38\\x6c\\x1b\\xe3\\x56\\x78\\x50\\xa4\\xfa\\x09\\xf5\\xc9\\x3c\\x06\\x5d\\x4f\\xe8\\xca\\xd7\\xc2\\x1c\\x55\\xe0\\xb7\\xc1\\x3f\\x02\\x9e\\xc8\\x94\\xca\\x6b\\x16\\x27\\xaa\\x0b\\x16\\xe1\\x1d\\x40\\x4f\\xeb\\xf0\\x7e\\xa6\\x3e\\x58\\x84\\xbb\\xa3\\x80\\xe7\\xcf\\xd4\\x09\\x8b\\x70\\x77\\x17\\xe0\\xfe\\x07\\xf5\\xc2\\x22\\xfc\\xfb\\xc0\\xed\\xe9\\xe4\\x3e\\x79\\xdd\\xb0\\x08\\x77\\x4f\\x01\\xee\\xcf\\xd4\\x0f\\x09\\xae\\x5a\\x07\\x04\\xdc\\x9d\\x20\\xf7\\xb0\\x42\\xb9\\x4f\\x5e\\x47\\x2c\\xc2\\xdf\\xdb\\x17\\xff\\xe4\\xf5\\x44\\x7a\\xd7\\x8d\\x52\\x2f\\x74\\x54\\x42\\xbe\\x89\\x28\\xf6\\xa3\\xa8\\xa8\\xae\\x58\\x04\\x77\\xe0\\x04\\x70\\xb5\\x52\\x97\\xbe\\xe6\\x07\\x90\\x3b\\xa8\\xbe\\x89\\xec\\xfb\\x7d\\x6b\\x88\\x7d\\x60\\x77\\xff\\x3f\\xc0\\xde\\x57\\x04\\xeb\\x3c\\x09\\xec\\x9e\\x13\\xc2\\xb6\\x13\\xd8\\x7c\\x6d\\x11\\x60\\x77\\x76\\x16\\xc2\\x36\\x9f\\x04\\x76\\xef\\x09\\x61\\x17\\x92\\xf3\\xac\\x6a\\x0d\\x86\\xce\\x9f\\x4f\\x65\\x9d\\xa0\\xe7\\xb4\\x4f\\x56\\x8b\\x2a\\xc4\\xa3\\xb5\\x28\\x0d\\xef\\x64\\x35\\xa9\\x42\\x3c\\x6d\\xee\\x50\\xbc\\x9f\\xab\\x4d\\x15\\xe2\\xee\\x2e\\xc0\\xfd\\x4f\\x6a\\x54\\x85\\xf8\\xb4\\x46\\xa5\\xe1\\xff\\x5c\\xad\\xaa\\x10\\x77\\x4f\\x01\\xee\\xcf\\xd5\\xac\\x00\\x97\\xc6\\x2c\\x0b\\x94\\xb9\\xf3\\x69\\x31\\xee\\x49\\x6a\\x57\\x85\\xb8\\x7b\\x0b\\xfa\\xf9\\x67\\x6a\\x58\\x30\\x17\\x74\\xf5\\x29\\x32\\xba\\x24\\xa2\\xa1\\x9a\\xf0\\x48\\x71\\x2d\\xab\\x0f\\xec\\x81\\x13\\xc2\\x06\\xa4\\x2e\\x7d\\x9d\\x89\\xcc\\x9d\\xaf\\x29\\x24\\x3f\\xac\\x6f\\xdd\\xaa\\x0f\\xec\\xee\\xff\\x07\\xd8\\xfb\\x8a\\x60\\x2d\\x27\\x81\\xdd\\x73\\x22\\xd8\\xdc\\x47\\x04\\x36\\x5f\\xcf\\x22\\x73\\xa7\\x08\\x36\\x71\\x12\\xd8\\xbd\\x27\\x82\\x45\\x53\\xa1\\xcf\\xb4\\xb8\\x97\\xf4\\x2e\\x89\\x61\\x69\\x8f\\x95\\xcb\\xeb\\x8f\\x27\\xca\\x01\\x8a\\xf0\\x68\\x0e\\xf0\\x5f\\xe0\\xed\\x28\\xe0\\xf7\\x33\\xf9\\x40\\x11\\xee\\xee\\x02\\xdc\\xff\\x20\\x2f\\x28\\xc2\\xa7\\x79\\x81\\x86\\xff\\x33\\xf9\\x41\\x11\\xee\\x9e\\x02\\xdc\\x9f\\xc9\\x13\\x08\\x2e\\xf5\\x1b\\x32\\x2e\\xc9\\x13\\x86\\x15\\xca\\x7d\\xf2\\x7c\\xa1\\x08\\x9f\\xe4\\x0b\\x45\\xf8\\x27\\xcf\\x1b\\xc0\\x96\\x6a\\x39\\x41\\xc1\\x0c\\x9a\\xd3\\x37\\x7f\\x28\\x82\\x3d\\x70\\x12\\x58\\xa2\\xbf\\xba\\x1c\\x21\\x3f\\x87\\xb8\\x63\\xa8\\x4f\\x1e\\xd0\\x07\\x76\\xf7\\x49\\x61\\x75\\x39\\x43\\x7e\\x0e\\x71\\x37\\xfc\\x07\\xb0\\x7b\\x4e\\x04\\x9b\\xfb\\x82\\xc0\\xe6\\x73\\x08\\x32\\x87\\x8e\\x17\\xc2\\x8e\\x3d\\x09\\xec\\xde\\x13\\xc1\\xca\\x39\\x04\\xd9\\x77\\x2b\\xe7\\x10\\xcc\\x9d\\x74\\xed\\x1e\\xe2\\x2f\\x72\\x6f\\x1c\\xd9\\x6c\\xf2\\x6c\\xb6\\xb6\\xb1\\xbf\\xbc\\x83\\x9c\\xab\\x56\\x70\\x36\\x92\\x33\\x84\\x04\\x87\\xd6\\x52\\x21\\x8b\\x78\\x39\\x5b\\x53\\xdb\\x6f\\xcc\\xa6\\xe4\\x2a\\x20\\xd1\\xfe\\xcb\\x91\\x3e\\xda\\xeb\\x3f\\xcb\\x51\\xf1\\xc8\\x7e\\x15\\x25\\xc7\\x91\\x31\\xe4\\xb3\\x0b\\x5f\\x64\\x9b\\x06\\x08\\x0e\\xfd\\xde\\x16\\x3d\\x8f\\x2a\\x88\\xbf\\xed\\xa8\\x2f\\x97\\xfe\\xf3\\x22\\xb9\\x4d\\xcf\\x6a\\x6d\\xba\\x1b\\xfd\\x41\\x8e\\x5f\\xc9\\xb6\\x9e\\x46\\xd2\\xa4\\xc6\\x61\\x7d\\xe2\\x57\\x15\\x9e\\x9e\\xa3\\xfc\\x83\\x8e\\xd7\\x89\\xf1\\xe8\\xba\\xab\\xba\\x5f\\xda\\x29\\xca\\xfb\\xa5\\x69\\x8e\\xa0\\xed\\x93\\x2e\\x38\\x5f\\x21\\xc3\\xdf\\xa5\\x9d\\xc7\\xd8\\x88\\xcf\\x97\\xef\\xa0\\x62\\x5c\\x2e\\x72\\x39\\x00\\xe3\\xf6\\xf4\\x03\\x2f\\xaa\\xf0\\x90\\x1b\\x2d\\x90\\x23\\x2f\\x4f\\x5e\\xf7\\x0b\\x61\\x20\\x17\\xba\\x5e\\x07\\x91\\xeb\\x73\\xaf\\x21\\xb4\\x69\\x0f\\xdd\\xe3\\xc0\\x94\\x36\\x94\\xfa\\xb5\\x83\\x25\\x18\\x7d\\xcb\\x5d\\x8d\\x9f\\xe3\\x0f\\x20\\x13\\x2a\\x4f\\x5b\\xc9\\x62\\x8c\\xd1\\x68\\x31\\x1b\\x8d\\x68\\x3d\\x8f\\x92\\xc1\\x03\\x6d\\x49\\xe5\\xd6\\x6d\\x7a\\x1b\\x30\\x79\\x1b\\x2e\\x36\\x02\\xb7\\xc4\\x5a\\xf0\\x73\\x91\\x01\\xeb\\x06\\x34\\x74\\xf1\\x07\\x3a\\xba\\x2e\\x6a\\x49\\x9d\\x1e\\x7b\\x00\\x68\\x61\\x8f\\xd4\\x85\\xbf\\xcb\\x6d\\x40\\x16\\x72\\xb7\\xa4\\xc5\\x6c\\xe6\\xad\\x36\\xd6\\xbc\\xde\\x10\\x42\\xed\\xc1\\x37\\xdb\\xb4\\x37\\x18\\x78\\xdd\\xa5\\xbb\\x29\\x7c\\xbb\\x37\\x60\\x8b\\xd6\\x57\\x6e\\xba\\xea\\xa7\\xa8\\x5f\\x58\\x62\\xbe\\xfd\\x96\\xfe\\x64\\x32\\x99\\xcc\\x96\\xff\\x4e\\xa6\\xdc\\x17\\xdc\\xaf\\x99\\x27\\xf8\\x67\\x91\\x9f\\xec\\x91\\xf3\\x78\\xbd\\x25\\x06\\xa3\\x31\\xc0\\xbb\\x3c\\xd6\\xf5\\x06\\x72\\xe7\\x25\\xbd\\x49\\x55\\xbe\\xf0\\x58\\xb9\\xb6\\xb9\\x81\\x21\\x8f\\x9d\\xc5\\x46\\x30\\xa9\\xa6\\x32\\xf8\\x6a\\x4d\\xd9\\x30\\x3e\\x52\\x3b\\x6d\\xe2\\xd8\\x48\\xeb\\x20\\xe3\\x2c\\x73\\xe3\\xe4\\xf6\\xfa\\x69\\x13\\x4f\\x2d\\x9b\\xef\\x3c\\xd3\\x39\\x9f\\xfb\\x75\\x62\\x40\\x62\\x44\\xdb\\xb9\\x0b\\x86\\xc3\\xf7\\x15\\x5b\\x56\\x22\\x16\\x39\\xb9\\x97\\x98\\x6d\\xc2\\x7e\\xf8\\x49\\xa4\\x6f\\x18\\x04\\x1d\\x02\\x8f\\x19\\x9e\\x71\\x86\\x4a\\x9d\\xa5\\xe5\\xd1\\x12\\x6b\\xc8\\xb3\\xde\\x61\\x30\\x40\\x96\\xcf\\xa1\\x64\\xea\\xcd\\xa6\\x26\\xe5\\x36\\xd7\\xc2\\xeb\\x7f\\xc9\\xdd\\xbf\\xca\\xa5\\xae\\x6e\\x4d\\x22\\xac\\x49\\xc4\\xe0\\xe7\\x77\\xf6\\x7e\\xfe\\xc0\\xbf\\x2a\\x4f\\x1f\\x33\\xb2\\x34\\xd5\\x68\\x98\\x6a\\xed\\x9e\\x58\\x7d\\xfa\\x98\\x74\\x68\\x96\\x7d\\xaa\\xa5\\x76\\x1c\\xf7\\x72\\x4f\\x0f\\x86\\xff\\x4d\\x15\\xd5\\x15\\x83\\x9b\\x37\\x2c\\x83\\x6f\\x17\\xce\\x3e\\x6b\\x90\\x2e\\x06\\x13\\xb5\\x58\\x88\\xe6\\xf6\\xf9\\xf8\\x4d\\xc9\\xf1\\x43\\x64\\x62\\x86\\xfa\\xe6\\xf8\\xca\\xbd\\x2d\\x14\\x57\\xc1\\xe9\\x4b\\x53\\xce\\xfd\\x4f\\x40\\xb3\\xac\\xbf\\xba\\x01\\x9d\\x83\\x0b\\x94\\x39\\x7b\\x50\\x89\\x99\\x63\\x80\\x43\\x6e\\x77\\xe9\\x27\\x66\\x56\\xe1\\xe9\\x9c\\x3d\\xa8\\xe3\\x75\\x62\\xbc\\x0a\\x84\\x84\\x5a\\x41\\x24\\x6b\\xc9\\x4a\\xcd\\x73\\x7f\\xae\\x0b\\x30\\xbc\\x59\\x30\\x30\\xe4\\x2c\\xe1\\xb2\\xac\\xd3\\x89\\x31\\x45\\x51\\xe7\\xd8\\x29\\xc5\\x38\\x6c\\x5b\\xee\\x12\\xd9\\x0b\\xd9\\xd5\\x79\\x46\\xe8\\x9e\\x4e\\x61\\xea\\x0a\\xe8\\xea\\x61\\x4e\\x29\\x86\\xe9\\x87\\x4e\\xfe\\xfe\\x9c\\x3a\\x65\\xbe\\x1e\\x94\\xf7\\x24\\xf9\\x6b\\xfd\\x2e\\xed\\x92\\x2b\\x06\\xd5\\x72\\x57\\x33\\x17\\xc1\\xdc\\xe0\\x91\\x03\\x35\\xa5\\x7d\\x36\\x41\\x30\\xdb\\x59\\x64\\x47\\x4e\\x97\\xdd\\x6e\\xe2\\x38\\x87\\x69\\x3d\\xc3\\x98\\x40\\xb3\\x92\\x41\\xc7\\x01\\x72\\xe9\\x70\\xfe\\x7d\\x4f\\x65\\xbe\\xc4\\xd8\\x96\\x54\\x34\\x3f\\x6b\\x98\\x8b\\x96\\x3d\\xfb\\xb9\\xf4\\x8e\\x3c\\x75\\xb8\\x47\\x2c\\xb8\\xcc\\x96\\x9f\\x3e\\x0a\\xbf\\x95\\x79\\x7e\\x1c\\x43\\x39\\x32\\x76\\x97\\xd3\\x6e\\x37\\x43\\xbb\\xcc\\xeb\\x39\\xce\\xdc\\x0f\\x3f\\xe5\\x9d\\x18\\x9c\\xf2\\xb2\\xb1\\x16\\x56\\x37\\x4b\\x6f\\xf9\\xfc\\xd9\\x65\\xd3\\xd4\\x99\\x6a\\x93\\x3e\\xb5\\xe0\\xf2\\x3c\\x43\\x26\\x77\\x94\\x5b\\xc3\\x3c\\x23\\x7c\\x8e\\x02\\x28\\x86\\x26\\xa6\\xab\\xa2\\xc1\\x60\\x59\\x2c\\x16\\x4f\\x78\\x7d\\xbe\\x04\\xcc\\xdc\\x78\\x34\\xec\\xf5\\xf2\\x56\\x72\\xe7\\xbd\\xd5\\xea\\x42\\x06\\x98\\xc3\\xf6\\x18\\x8e\\x85\\xc9\\xbd\\xb9\\x30\\x93\\x92\\xc0\\x37\\x59\\x07\\x5f\\xce\\xfc\\x9c\\x76\\xba\\x34\\x5b\\x51\\x3c\\xb7\\x07\\x91\\xc9\\x2d\\xea\\x64\\xfb\\x26\\x3f\\xcf\\x93\\x53\\xda\\xeb\\xa7\\x77\\x8e\\x2d\\x1b\\xd4\\x64\\x38\\xd3\\x71\\xf6\\x16\\x45\\xe0\\xaf\\xc3\\xf1\\x70\\x73\\xdb\\xdc\\xb3\\xdb\\x22\\x89\\x48\\xcb\\xe0\\xeb\\x2f\\xaa\\xcf\\x8b\\x0e\\x3e\\x7b\\x2b\\x34\\xa0\\x91\\xfa\\x61\\x5a\\x9f\\x62\\xee\\x7c\\x8a\\x6a\\xbf\\xc9\\x24\\x9f\\xee\\xfd\\xbf\\xac\\xd5\\x5d\\xb0\\x3e\\xfb\\x36\\x18\\xa8\\xef\\xa8\\x0f\\x96\\xe1\\x37\\xde\\x45\\xe1\\xcd\\x66\\xb9\\x02\\xf6\\x5e\\xd6\\x62\\x2d\\x80\\x7f\\x0d\\xe0\\xbf\\x27\\xf7\\xe2\\x10\\x78\\x72\\x6f\\xdc\\x5d\\xb2\\xbe\\x55\\x82\\xbf\\x1f\\x93\\x4e\\xb1\\x6f\\x7b\\x30\\x13\\xf1\\x24\\x3d\\x93\\x3c\\x8b\\x3d\\x9c\\xdd\\xd3\\xee\\xd9\\xe3\\x79\\xde\\xc3\\xa5\\x3d\\x9d\\x9e\\x39\\x9e\\x25\\x9e\\xf5\\x1e\\xde\\x43\\xee\\xa5\\x23\\x05\\x02\\x6c\\x43\\x36\\x2b\\x47\\xaf\\x03\\x53\\xe2\\x34\\x72\\xda\\x7e\\x76\\xb7\\xbc\\xce\\x0a\\xb9\\x0b\\xfe\\xa7\\x9e\\xcf\\x36\\x59\\x67\\x3f\\xfd\\xff\\x99\\xcf\\x0a\\xba\\x76\\xfa\\xac\\xd6\\xfe\\xbb\\x37\\xd1\\xc8\\x9d\\x9c\\x19\\x70\\x93\\x15\\x19\\x77\\xa4\\x60\\xfd\\x3b\\x77\\x1f\\xc0\\xd7\\x0b\\xfb\\xb5\\x75\\xdc\\xad\\x37\\xab\\x37\\x15\\x28\\xdc\\xc0\\xc4\\x7c\\x98\\x0d\\x55\\x2a\\x2b\\xb9\\x32\\x43\\x65\\x0d\\xf8\\x75\\xc0\\x9d\\x2f\\x76\\xaa\\x67\\x08\\x98\\x3b\\x73\\x5f\\xe1\\x85\\xa4\\xb7\\x39\\x8e\\xaf\\xc4\\x22\\x39\\xf0\\x2b\\x2a\\x37\\xf5\\x69\\xb6\\x09\\xb2\\x1f\\x66\\x20\\xbd\\xcf\\x4d\\xc6\\xd9\\x98\\x7b\\x1f\\x4f\\xa4\\x79\\x39\\xb9\\xb8\\x16\\x0b\\x8c\\x76\\xfb\\x9a\\xec\\xb7\\x21\\x1a\\x66\\x1e\\xa2\\xf3\\xbc\\x5e\\xb3\\x05\\xd3\\xe5\\x79\\x2e\\xaa\\xf3\\xbc\\xab\\x08\\x46\\xf5\\xdc\\x0a\\x44\\x9f\\x39\\xde\\x98\\xf6\\x72\\xd8\\x20\\x08\\x0e\\xec\\x70\\x01\\x41\\x0b\\xcf\\x0b\\x16\\x98\\xe2\\x96\\x7e\\xa6\\x9c\\x32\\xe3\\x94\\x19\\x1e\\xf3\\xf8\\xfc\\xb1\\x06\\x3c\\x1c\\xcb\\x33\\xfc\\x40\\x57\\x03\\xa8\\x70\\x44\\x9e\\xe1\\x0f\\xc4\\x4e\\x4f\\x0d\\xba\\x68\\x46\\x47\\xd1\\xfc\\x26\\xbc\\x18\\xc2\\x8b\\x91\\x79\\xc1\\xf4\\xb6\\xac\\x67\\xd9\\x93\\xf0\\x52\\x66\\xb7\\xc6\\x8b\\xce\\xee\\x99\\x32\\x2b\\x75\\x76\\x6b\\xcc\\x50\\xf1\\xfc\\xae\\x49\\x7b\\xfb\\x9b\\xcd\\x11\\x72\\x7b\\xb6\\x7e\\x36\\x9f\\x78\\xea\\xe6\\x19\\x9f\\x70\\xea\\xde\\xae\\x48\\xd3\\x67\\xea\\xea\\xe4\\x52\\xeb\\xb2\\x74\\xee\\xae\\x50\\x62\\xe8\\xef\\x64\\xdf\\x45\\xf6\\x23\\x90\\xbb\\x48\\x3e\\xca\\x96\\x44\\xfa\\x5b\\x8b\\xa4\\xf3\\x77\\x85\\x12\\x43\\x7f\\x8c\\x0a\\x76\\x9e\\xfe\\x2d\\x1b\\x28\\xe9\\x77\\xfd\\xf2\\x5f\\x32\\x0e\\x68\\xc1\\x42\\x65\\xd7\\xc0\\x7e\\x74\\xa6\\x3a\\xbb\\xa2\\x30\\xbb\\xa2\\xc9\\xe8\\xa4\\xe8\\xe2\\x28\\x67\\x8f\\xb6\\x47\\xf7\\x44\\x9f\\x8f\\x72\\xe9\\x68\\x67\\x74\\x4e\\x74\\x49\\x74\\x7d\\x94\\x8f\\xca\\x9b\\x24\\x40\\xdf\\x83\\x28\\x58\\x22\\xd8\\xfb\\xce\\xae\\x13\\xf3\\x01\\xdf\\xcc\\xfd\\xff\\xca\\x87\\xdc\\x61\\x35\\x94\\xe6\\xa5\\xcb\\x95\\xb5\\x3b\\x4e\\xde\\x03\\x10\\x87\\xd8\\x39\\x4e\\xf6\\x00\\xc4\\xcb\\x2d\\xba\\x35\\xdf\\x62\\xf8\\x03\\xe8\\xb8\\xbc\\x07\\x80\\x9c\\x0c\\x21\\xd9\\xc3\\x91\\x6c\\x4d\\xdc\\xd2\\x5f\\x3f\\x3f\\xab\\xf5\\x33\\xbd\\xef\\x84\\x58\\x0a\\x5a\\x56\\x23\\xf7\\xdd\\x46\\xea\\xfa\\xae\\x2b\\xef\\xd7\\xd6\\x45\\xb7\\xd2\\xfb\\x0f\\xe4\\x7b\\x39\\xc9\\x56\\x03\\x96\\x6c\\x62\\xa8\\x6a\\x12\\xf5\\x2d\\xd2\\xf6\\xdd\\xd2\\xb8\\x7e\\x98\\x12\\xd7\\x2f\\x43\\xf9\\xbd\\xc7\\x16\\x52\\x4c\\xb0\\x78\\x8a\\xf6\\x1e\\xcb\\x38\\x77\\x69\\x7b\\x81\\x37\\xe2\\x0b\\x95\\xfb\\x65\\xc9\\xc5\\x90\\xd8\\x2c\\x98\\x0b\\xef\\x4c\\x98\\x00\\x93\\xea\\x29\\x3a\\xff\\x87\\x29\\xeb\\x48\\xfb\\xd7\\xeb\\x2a\\x43\\x94\\xe6\\x6a\\x80\\x39\\xac\\xc0\\xbc\\x28\\xdb\\x88\\x47\\x8b\\x61\\x48\\x58\\xfc\\x18\\xad\\xdd\\xa4\\x8a\\xf6\\x9d\\x90\\xe4\\x85\\x40\\xb1\\xb9\\x2f\\xb9\\x77\\x98\\x17\\xf8\\xbf\\x41\\x2c\\x4a\\xde\\x10\\xa8\\x4d\\xbb\\x78\\x0c\\x33\\xcc\\x64\\x30\\x9b\\x6d\\x8c\\xc5\\x62\\x5c\\x6f\\x16\\x30\\xbd\\xb8\\xfd\\xad\\xb6\\x64\\x8a\\xfa\\x4b\\xed\\x31\\x9b\\x58\\x4b\\x4a\\xa4\\x76\\x04\\xa6\\x77\\x8a\\x79\\xe1\\xd1\\x47\\xbf\\xbc\\x64\\xff\\x63\\xcf\\x3e\\xfa\\x28\\xf7\\xce\\xd3\\x8f\\x5a\\xb1\\x68\\x91\\xbe\\x7a\\xba\\x3f\\xfa\\x02\\xa5\\x6f\\x94\\xe9\\xf3\\xeb\\xcd\\x86\\x93\\xd0\\x4f\\x50\\xdb\\x21\\x2a\\xf4\\xa5\\x5f\\x3e\\xb6\\xff\\x92\\x61\\x94\\x41\\xc6\\x22\\xfd\\xdb\\x6a\\x7d\\x1a\\xf2\\x80\\x37\\xb8\\x17\\xf1\\xc7\\x82\\x48\\xee\\xf4\\x07\\x3b\\x2d\\x88\\x2c\\xf4\\x54\\x32\\xf8\\x26\\x35\\x41\\x40\\x84\\xbe\\xa5\\x80\\xb7\\xbc\\xf6\\xf6\\xa9\\x00\\x57\\x9e\\x90\\x3e\\x8c\\x6a\\x75\\x12\\x51\\xab\\x55\\xd0\\xf5\\x12\\x87\\x52\\xab\\x50\\x7f\\xcf\\x4d\\xd2\\xd6\\x46\\xe4\\x1a\\x06\\xc4\\x59\\x83\\xea\\x06\\x0d\\x54\\x0a\\x45\\xa8\\x2f\\x1d\\x98\\x37\\x87\\x75\\xf0\\x24\\xce\\x24\\x7b\\xfc\\xeb\\x5a\\xeb\\x1a\\xb4\\xea\\x52\\x7e\\xed\\x85\\xea\\xaa\\x7c\\xf7\\xe7\\xdd\\xf8\\x75\\x59\\x57\\x9b\\x01\\xbc\\x99\\xb8\\x99\\xe6\\x74\\x9f\\x7a\\x94\\x0a\\x4f\\xe2\\x59\\x02\\xaf\\xaf\\x63\\x9d\\x00\\xef\\xcc\\xdc\\x11\\x91\\x05\\x1d\\x81\\x2c\\xfc\\x66\\x80\\x47\\x4d\\xc4\\x9b\\xc0\\xe8\\x93\\x8d\\x55\\x8a\\x8e\\xe4\\xbe\\x20\\x7b\\x48\\x88\\x1e\\x81\\xef\\x26\\x55\\x14\\x81\\xec\\x25\\x29\\x84\\x21\\x3b\\xc6\\x85\\xb7\\xf3\\x74\\xd8\\x59\\x7d\\xe9\\x90\\xdb\\x44\\x05\\x51\\xa1\\x33\\x8f\\xea\\xe3\\xac\\x3e\\x74\\xba\\xa0\\x1d\\x3b\\xc9\\xf9\\x15\\x76\\x96\\x12\\xbf\\x4a\\x72\\xbf\\x26\\xeb\\x92\\xb5\\x21\\x93\\x2e\\xdf\\xfc\\x15\\xf8\\xfc\\x17\\xe9\\x98\\x42\\x8e\\x24\\x14\\x8e\\xa9\\x9b\\xbc\\x67\\x21\\x7e\\x7b\\xc5\\xdb\\x00\\xe6\\xc1\\x6c\\xf8\\x38\\xc5\\x39\\x02\\xf9\\xe0\\x93\\x34\\x1f\\xac\\x48\\xdb\\x18\\x23\\x8f\\x61\\x42\\x9a\\x2d\\x0c\\x83\\xe8\\xb5\\xff\\x5a\\x42\\xe8\\x54\\x23\\x5c\\xcd\\x29\\x3c\\xae\\x7a\\x22\\xbd\\x0f\\xc2\\xb9\\xff\\x95\\x8e\\xa2\\x5a\\x5e\\x04\\xf1\\x4d\\x8f\\x31\\x2c\\x7d\\xa2\\x83\\xbe\\xeb\\xe8\\xac\\x9d\\xc6\\x8b\\xff\\x3e\\x24\\x04\\x00\\xa6\\x1c\\x60\\x3e\\xe1\\xaf\\x41\\x36\\xe0\\xe9\\xb4\\x31\\x66\\xde\\xc0\\x1b\\xad\\x46\\xd1\\xca\\xb2\\x58\\x24\\xef\\x2d\\xb4\\xcb\\x8f\\x69\\xc9\\x17\\x47\\xb8\\x63\\x4e\\xb1\\xaa\\xb5\\xaa\\xd5\\xdf\\xea\\x17\\xfd\\x62\\x55\\xed\\xb4\\x75\\xad\\xbb\\x76\\x29\\xff\\xaf\\x93\\x8e\\xf2\\x99\\xf5\\xad\\x0f\\x3d\\x38\\xf8\\xe1\\x87\\x07\\x3f\\xf8\\x50\\xeb\\x7a\\x59\\x86\\xf7\\xa4\\xa3\\xf8\\x71\\xa0\\x6f\\x22\\xef\\x56\\x42\\x10\\x22\\x8a\\x82\\x89\\x15\\x28\\xdd\\x64\\x4a\\x79\\xc6\\xa1\\x35\\x06\\x32\\x45\\xab\\x5a\\xf1\\xe3\\x1f\\xb7\\x5e\\xf5\\xc3\\x14\\x7c\\xda\\x55\\xad\\xdc\\xae\\x0f\\x5a\\xd7\\x1e\\x5f\\xc4\\x7f\\xba\\x76\\x30\\xa5\\x23\\x9d\\x0e\\x72\\x56\\x53\\x3a\\xe1\\xb4\\xcd\\x6e\\x89\\x58\\x20\\xd7\\x64\\x4c\\x26\\x4d\\x48\\x42\\x0c\\x77\\x53\\x11\\x63\\x20\\x1a\\x08\\x18\\xad\\x9e\\xf2\\xc3\\x55\\xad\\x1f\\x03\\x49\\x7c\\x1a\\xc8\\x76\\xeb\\xda\\xd6\\x0f\\x3e\\x1a\\xbc\\x96\\x8c\\x21\\xc2\\x2f\\x71\\xcb\\x98\\xd3\\x5d\\x82\\xf8\\x17\\xda\\xef\\xca\\xbf\\xa1\\x9f\\x06\\xa6\\x2b\\x10\\xc3\\x81\\xf9\\x78\\x3a\\x63\\xc7\\x11\\xdc\\x8e\\x27\\x61\\x2e\\x09\\xdf\\x16\\xe3\\x3d\\xf8\\x63\\xcc\\xe3\\x74\\x65\\xdd\\x38\\xe0\\x57\\xd7\\xbd\\xb4\\x4e\\x19\\x49\\x67\\x4b\\xd4\\xcb\\x2d\\xc3\\x2f\\x5d\\x77\\x1d\\x52\\x69\\x19\\x90\\x4a\\x8b\\x21\\xcf\\x74\\xfe\\xbf\\xd1\\x32\\xa0\\x13\\xd1\\x82\\x4c\\xfa\\x3f\\xa2\\x85\\x69\\xb7\\x16\\xd0\\x82\\x36\\x3f\\x0e\\x41\\xc9\\x36\\xb0\\xa3\\x02\\xbe\\x92\\xce\\x99\\xbf\\x4a\\x13\\xb9\\xeb\\x73\\xbb\\x20\\xea\\x3d\\x05\\x7d\\x06\\xf3\\x8a\\x9c\\x0c\\x79\\x0e\\xf8\\x24\\x48\\x81\\xc3\\x81\\xcb\\xf1\\x4d\\xf8\\x13\\x7c\\x0c\\x48\\xe3\\x08\\x8f\\xdb\\xf9\\x49\\xfc\\x6c\\x7e\\x31\\xbf\\x8e\\xe7\\x11\\x7f\\x13\\x0f\\xa2\\xd0\\x4b\\xab\\xe8\\x1d\\xcd\\x20\\xe7\\x3a\\xb6\\x07\\x8f\\xe3\\x37\\x80\\x75\\x8c\\x81\\xed\\x35\\x1a\\x21\\xc4\\x33\\x9b\\x90\\x78\\xd7\\x2c\\x1e\\xed\\x9a\\xc5\\xb3\\xa8\\xf0\\x51\\x33\\x77\\x4b\\x33\\x44\\x35\\x82\\x37\\xe5\\x5d\\x97\\xa8\\x5b\\x35\\x3b\\xc3\\xf6\\xdc\\x32\\xf7\\xd6\\x51\\xd7\\xad\\x7d\\x09\\xf5\\xa1\\x25\\x20\\xc4\\x19\\x0c\\x66\\x93\\x01\\x68\\x19\\xd8\\x5d\\xf0\\x55\\x44\\x0b\\x93\\x9c\\x66\\x10\\xa4\\x34\\x29\\x3c\\xae\\xb2\\x7a\\xcd\\x59\\x33\\x5f\\xe2\\x8e\\x2d\\xd8\\x9c\\xbe\\xf6\\xb2\\xdf\\x52\\x5a\\xd2\\x71\\x3c\\x0e\\xbd\\x04\\xb4\\x40\\xb7\\x35\\x5a\\x40\\x47\\x34\\xdc\\x35\\x4b\\x44\\xc9\\x02\\x52\\x89\\x3e\\xa4\\x52\\x0b\\x37\\x8d\\xbc\\xf6\\xf2\\x97\\xe4\\xb1\\xb8\\x1c\\xe4\\x1a\\xab\\xca\\xc5\\x61\\xc6\\x80\\x81\\x96\\x91\\xdb\\x35\\xcb\\xc8\\xdc\\x95\\x31\\x6a\\x72\\xa9\\xaf\\x62\\xc1\\xe4\\x54\\xe6\\xe6\\xc8\\x99\\x67\\xad\\xa9\\xae\\xe4\\x37\\xfc\\xf6\\xb2\\x6b\\xd3\\x37\\x9f\\x77\\x33\\x89\\x7b\\x27\\xb0\\x3d\\xcc\\x6c\\x4a\\xcb\\x8d\\x4e\\x4b\\x57\\xda\\xdd\\x6e\\x13\\x4f\\x3a\\xcd\\xe8\\x34\\x19\\x4d\\x5e\\x8f\\xe8\\x34\\x39\\xef\\x02\\xeb\\x62\\xb2\\x9b\\x76\\xcd\\xe2\\xec\\xec\\x1e\\x2f\\xbe\\xc7\\x8b\\xbb\\xbb\\x91\\xf2\\x28\\x5b\\x52\\x77\\xab\\x4b\\xfe\\x3f\\x52\\x49\\x51\\x3b\\x36\\xaa\\xfd\\x84\\x6f\\x8b\\xd7\\xae\\x3e\\x6b\\x66\\xef\\x37\\x6a\\x57\\xcf\\xfe\\xe5\\x28\\x68\\x93\\xda\\xe3\\x7d\\x64\\x71\\x98\\x4c\\x2e\\xc1\\x08\\x1d\\x65\\xb4\\xb9\\x8c\\x2e\\x22\\x8b\\x0b\\x64\\x61\\x59\\xab\\xcb\\x0a\\xdd\\xef\\xfa\\xcf\\x65\\xd1\\x7a\\x93\\xd7\\x7e\\x62\\x66\\x57\\x0c\\x58\\x75\\xd6\\xcc\\x17\\xa5\\x7d\\xea\\x50\\x75\\xdf\\x32\\x1e\\x84\\xb9\\x99\\x8c\\x98\\xdc\\xcf\\x20\\x8f\\x74\\x9c\\x99\\x4d\\xc7\\x8c\\xc8\\x93\\xa0\\xf2\\xd0\\x91\\xb3\\xb9\\x40\\x1c\\x55\\x10\\x83\\xcb\\xe9\\x82\\x21\\x74\\x6a\\xe2\\x24\\x75\\xe2\\x04\\x92\\xda\\xb0\\x6a\\xf2\\x24\\xfa\\x95\\x27\\x56\\xaf\\x97\\x27\\x35\\xfb\\xd6\\xb1\\x20\\xc7\\x4d\\xf2\\xb0\\xc3\\x9c\\x19\\x07\\x7d\\x33\\x86\\xdf\\x00\\x3e\\xe3\\xf3\\xd7\\xc1\\xb7\\x8a\\x9f\\xa3\\x1c\\xd5\\x85\\xeb\\x73\\x97\\x92\\xfb\\xad\\x90\\x19\\xb5\\xa6\\x23\\x66\\x23\\x84\\x28\\xa2\\xc0\\x81\\x68\\x16\\x93\\xf9\\x85\\x8c\\x68\\x7a\\x31\\xc3\\x73\\xf0\\x9d\\x7f\\x31\\x43\\x1e\\x6d\\x4d\\x82\\x66\\x68\\x8a\\xa6\\x3e\\x14\\x8c\\xd9\\x18\\xcb\\xb7\\xf0\\x6c\\x8a\\x4d\\x78\\x99\\xeb\\x7c\\xcb\\x7d\\xd2\\xbd\\x78\\x4e\\xe9\\x7b\\xa5\\x78\\x2e\\x7b\\xe8\\xc7\\x4d\\xdc\\xb2\\xd0\\xfd\\x61\\xbc\\x52\\xba\\x36\\x7c\\x3f\\xe5\\x77\\x6d\\x6e\\x39\\xfb\\x05\\xf0\\xf3\\xa2\\xb9\\xe9\\x61\\x16\\x83\\x81\\x17\\xcc\\x36\\x3b\\xcc\\x33\\xe4\\xc6\\xd8\\xe3\\x64\\x39\\x07\\xd8\\x76\\xbf\\xcf\\xe5\\x7e\\x21\\x63\\x77\\xbd\\x38\\xcb\\x6a\\x81\\xef\\xd6\\x17\\x67\\xd9\\x45\\xc3\\x0b\\x19\\x4e\\x7c\\x71\\x16\\x83\\xe1\\x3b\\xf3\\xe2\\x2c\\xb2\\x31\\x96\\xc8\\x82\\xe8\\xab\\x94\\xb2\\x48\\x7e\\xf5\\x69\\x3f\\xf2\\x13\\x1d\\x38\\x55\\xac\\x04\\xeb\\x86\\xbf\\xdc\\x31\\x37\\x7c\\xe0\\xc6\\xff\\x90\\x6e\\xc7\\xe7\\x3b\\xf6\\x38\\xf0\\x02\\xe9\\xb6\\x60\\x10\\x9f\\x2f\\xdd\\x0e\\xff\\x90\\x6e\\xc3\\x0b\\x82\\xec\\x21\\x4d\\xd8\\x90\\xf4\\x84\\xf4\\x14\\xfc\\x4b\\xba\\x16\\xaf\\x84\\x7f\\xe1\\xb1\\x20\\xfb\\x64\\x7c\\x33\\x73\\x19\\xfb\\x0c\\xf4\\x55\\x39\\x99\\x83\\x16\\xeb\\x66\\x30\\xd8\\x6c\\x23\\xcb\\xb0\\x76\\x23\\x36\\x82\\x1d\\x79\\xb3\\xbb\\x5b\\x0d\\x74\\xe4\\xa7\\xde\\xe8\\x33\\x8d\\xcc\\x65\\x3b\\x2f\\x5d\\xba\\xe3\\xbe\\x25\\x17\\x3f\\xc0\\x3c\\xbc\\xf4\\xa1\\xff\\x59\\xbe\\xfc\\x1e\\x72\\xa4\\x07\\xb1\\xd8\\x07\\x3e\\xfa\\x4b\\xf4\\x01\\xad\\x3b\\x9a\\x51\\x43\\xda\\x67\\x36\\x88\\x1c\\x79\\x3f\\xd9\\xc0\\x5a\\xac\\x3c\\x36\\x1a\\x8c\\xdb\\xa0\\xa1\\x06\\x12\\x8f\\xc9\\x0f\\x02\\xe6\\x5f\\xaa\\x1d\\xd8\\x18\\x6d\\x21\\x73\\x43\\xfe\\x12\\xaa\\x5f\\xfc\\xe9\\xc9\\xfd\\x3f\\xed\\x7b\\xe9\\x03\\xfa\\x47\\xf3\\x55\\xdc\\xef\\xc1\\x67\\x9b\\xc0\\xe7\\x33\\x28\\x99\\x94\\xdf\\x41\\x76\\x46\\xbd\\xb5\\x53\\xf1\\x87\\xdc\\x15\\xc4\\x21\\x4d\\x92\\xfd\\x51\\x07\\xf8\\xa3\\x1a\\x05\\x96\\x23\\xc3\\x4c\\xd3\\xb7\\x96\\x28\\x40\\x4b\\x1d\\xf8\\xc3\\xa9\\xdc\\x15\\x93\\x8e\\x97\\xf1\\xb7\\x52\\x1f\\xe8\\x02\\xd8\\xaf\\xf9\\x2b\\x41\\x62\\xe7\\x13\\x90\\x52\\xb3\\x02\\xcb\\x2a\\x3e\\x4b\\xf6\\x57\\x84\\xc3\\xd7\\x2f\\x4f\\x7b\\x19\\x7f\\xc8\\xfe\\xfe\\xc7\\x32\\xee\\x53\\xfc\\x18\\x2a\\xc0\\x33\\x13\\xdf\\x69\\x22\\x98\\x46\\x19\\x95\\x3c\\x79\\x98\\xd2\\x21\\x7b\\xa3\\x2a\\x01\\xe9\\x12\\xbc\\x51\\x25\\x32\\x49\\x3a\\xdc\\x0f\\x1d\\xe8\\x36\\x33\\x67\\x64\\xa1\\xcf\\xda\\x53\\x49\\x85\\x0e\\x0b\\xf8\\x54\\x74\\xf8\\xef\\x6b\\xbc\\x11\\x88\\x7c\\x08\\xd4\\xb8\\x08\\xf6\\x4e\\x92\\x26\\x12\\x62\\xb2\\x0f\\x51\\xfe\\x38\\x04\\xf1\\x7f\\x49\\xec\\x84\\x5a\\x73\\xff\\x14\\x5f\\xe5\\x6f\\x44\\xa4\\x2e\\x47\\xde\\xa7\\x4f\\xa1\\x76\\x34\\x01\\x7f\\x9a\\xce\\x35\\x24\\x22\\x89\\x7d\\xb3\\x10\\x66\\x58\\xcc\\x46\\x22\\xd5\\xd5\\xd6\\x31\\xc3\\x5b\\x87\\xef\\x9b\\x95\\x6e\\x75\\x88\\x56\\x71\\xdf\\x2c\\x9f\\xb5\\xd5\\xda\\x71\\x7a\\xf3\\xa8\\x27\\x32\\x43\\x9a\\x9f\\x9c\\x35\\x64\\x3c\\x7c\\x77\\x97\\xd6\\x3d\\x91\\xa9\\x28\\x7d\\x72\\x56\\xc5\\x40\\xf8\\xee\\x36\\x95\\x3c\\x91\\xe1\\x4c\\x4f\\xce\\xe2\\xdc\\xf0\\x9d\\x83\\xd8\\xc5\\xb5\\xaa\\x03\\x2f\\xe8\\xc0\\xdd\\x1d\\x78\\x7c\\x07\\x6e\\xeb\\xc0\\x75\\x1d\\xd8\\xd7\\x81\\xff\\xdd\\x81\\xbf\\xea\\xc0\\xaf\\x75\\xe0\\xdf\\x74\\xe0\\x3b\\x3a\\xf0\\x9a\\x0e\\x7c\\x2e\\x05\\x18\\xd4\\x81\\x4b\\x3a\\xb0\\x11\\x50\\x00\\xe2\\x70\\x07\\xfe\\xa8\\x03\\xef\\xea\\xc0\\x5b\\x3b\\x30\\x50\\xb9\\x80\\x42\\x0c\\xa5\\x10\\xe6\\x0e\\xdc\\xdb\\x81\\xdf\\xef\\xc0\\x6f\\x50\\x80\\x6d\\x1d\\xf8\\x46\\x15\\x66\\x96\\xca\\x26\\x44\\xd9\\x1c\\xa6\\x6c\\xf4\\x44\\xe0\\xb7\\x95\\x94\\xc7\\x60\\xf8\\xf5\\xe7\\xf4\\xd7\\x4f\\x50\\x29\\x36\\x76\\xa4\\xa7\\xe0\\x4c\\x07\\x1e\\xd3\\x81\\x6b\\x0a\\xd1\\x41\\xca\\x47\\x3b\\x30\\xde\\x42\\x25\\x9d\\xdf\\x81\\x27\\x74\\xe0\\x76\\x0a\\x61\\xef\\xc0\\x07\\xa9\\x10\\x7b\\x3b\\x30\\x73\\x6f\\x07\\xde\\xdc\\x81\\x97\\x74\\xe0\\xd9\\x1d\\x38\\xdd\\x81\\x23\\x1d\\x18\\x75\\x60\\xc3\\x59\\xdd\\xf2\\x9f\\xd9\\xf0\\xb5\\x54\\xfe\\x33\\x9b\\xfe\\xbd\\x4c\\xfb\\xa3\\x82\\xe4\\x21\\x8a\\x00\\xf4\\x10\\x2a\\x08\\x6a\\x6f\\x6f\\xaf\\x53\\x5e\\x1e\\x55\\xfe\\x56\\xcc\\xb9\\x1c\\x49\\xd4\\x29\\x4f\\x61\\x3b\\x65\\x0b\\x4f\\xfe\\x09\\xf3\\x28\\x86\\x53\\x09\\xfa\\x60\\x9f\\x3c\\x61\\x95\\xc7\\x9f\\xe9\\x13\\x95\\xfc\\x09\\x3e\\xc7\\x27\\xfa\\xbc\\x71\\x1b\\x7b\\xe7\\xf6\\x9f\\x6e\\xdf\\xba\\xf9\\xf6\\x9b\\xb7\\xfc\\xf2\\x66\\xdc\\x30\\x6a\\xd2\\xb4\\x31\\xe3\\x27\\x4d\\x18\\xcf\\x94\\xf5\\xf9\\x08\\xf7\\xf6\\xf9\\x88\\xdf\\x60\\x79\\xf2\\xb1\\xec\\xd3\\xcf\\x3c\\xb6\\x2f\\x2b\\xdd\\x76\\xf5\\xca\\x15\\xd7\\x5c\\xb5\\xea\\xb2\\xf7\\xfa\\x7c\\x82\\xbf\\xec\\xf3\\x11\\xcc\\xd9\\xe9\\xec\\x6a\\x9c\\x01\\xdf\\xc7\\x92\\x75\\x1c\\x50\\x56\\x44\\xe2\\x35\\x84\\x61\\x66\\xbc\\xa9\\xf3\\xe5\\x21\\x9c\\x62\\xa7\\xa7\\x5f\\xbe\\x9b\\x5d\\xcd\\x88\\xbd\\xff\\x26\\xf3\\x00\\xf0\\x98\\x3d\\xd4\\x2f\\x7c\\x4f\\x33\\xd2\\xef\\xf1\\x0c\\xb2\\x56\\x99\\xc5\\xdc\\x1c\\x0e\\x77\\x3b\\xe9\\xba\\xe6\\xfd\\x00\\xf3\\x47\\x80\\xa9\\x12\\xbf\\xcf\\x4d\\xa2\\xab\\x88\\xdf\\xcf\\x27\\x3e\\xe4\\x7b\\x7a\\x4f\\x07\\x46\\x33\\xd1\\x8d\\xcc\\x64\\xf6\\x11\\xb0\\x54\\x89\\xb4\\x4f\\xc0\\xd8\\xc0\\xb3\\x26\\x08\\x23\\x8e\\xce\\xb2\\xb3\\x49\\x76\\x31\\xbb\\x8e\\x4c\\xd0\\x64\\xb7\\xfa\\xd0\\x36\\x38\\x30\\xdc\\x82\\x53\\x5e\\x23\\xf6\\xe2\\x87\\xa4\\xbd\\xb8\\xf3\\x41\\xe9\\xd7\\x78\\xf2\\x8d\\x78\\x51\\x3b\\x5e\\x1e\\x91\\x6e\\x90\\x6e\\x0e\\x13\\x9a\\x19\\xa0\\x39\\x45\\xa5\\xc9\\x1a\\x30\\xd8\\x44\\x93\\x51\\x20\\x34\\x85\\xa4\\xb0\\x58\\x58\\x27\\x70\\x42\\x21\\xcd\\x58\\x8b\\x11\\x43\\xbc\\xe3\\xc5\\xf8\\x21\\x3c\\x45\\xda\\xfb\\x3f\\x40\\x32\\x0c\\x31\\xe5\\xc5\\x11\\xe9\\xc6\\x76\\x68\\xe7\\x53\\x60\\x70\\xc7\\x92\\x76\\x22\\x7a\\xbf\\x11\\xc4\\x9f\\xaf\\xd2\\x9c\\xd0\\xcc\\x32\\x86\\xa4\\x01\\x93\\xc7\\x7b\\x71\\x77\\x4b\\x4b\\xb7\\x7c\\x90\\x04\\xe7\\xf6\\xf3\\x1f\\x33\\x87\\x85\\x69\\x64\\x75\\x68\\x1f\\xe2\\x31\\xc7\\x90\\xb7\\xe5\\x94\\x78\\x94\\xbc\\xe8\\xc8\\x1c\\xfe\\xe9\\x4f\\x6c\\x1d\\xff\\xf1\\x25\\x60\\x3f\\xe7\\x80\\xb3\\x9f\\x47\\xfb\\xde\\xfd\\x24\\x4b\\x60\\x61\\x8e\\x93\\xd7\\xec\\x65\\x68\\xa2\\x60\\xd2\\x77\\x5b\\xd8\\xa5\\x37\\x03\\x08\\xfc\\xe1\\xd0\\x6f\\x80\\xc1\\xe5\\xe0\\x03\\x65\\xbb\\x6f\\x47\\xe3\\xd2\\x95\\x16\\x03\\x88\\x65\\x37\\x8b\\x2c\\xeb\\x70\\x5a\\x2d\\xdb\\x32\\x46\\xc3\\xb6\\x8c\\x15\\x92\\x17\\xc4\\xf3\\xdc\\xb6\\x0c\\x0f\\x08\\xdb\\x32\\x84\\xa8\\xf6\\x4c\\x62\\x5b\\x20\\x99\\xec\\xe3\\x8a\\x53\\xe0\\x0b\\x58\\xdd\\xd7\\x6f\\x5e\\x92\\xff\\x7c\\xf0\\x01\\xf7\\x8f\\x0f\\x3e\\x90\\x66\\xc1\\x57\\x86\\xb8\\x07\\x9d\\x1d\\xb5\\xa3\\xd2\\xb4\\x15\\x19\\xcc\\xac\\xdd\\xce\\x59\\x81\\x3d\\xb5\\xa5\\x4e\\x6a\\x4d\\xfd\\xc4\\x9a\\xa6\\x9c\\x31\\x88\\xbe\\x63\\xf4\\xe9\\x7c\\x62\\x51\\x5f\\x06\\xc3\\xfc\\xf2\\xcb\\xaa\\x45\\x05\\xb3\\xac\\xda\\x54\\xc4\\x68\\x34\\x59\\xd9\\x3a\\x1b\\x10\\xc7\\xf1\\x26\\x96\\x2f\\xb6\\xce\\xac\\x53\\x36\\xcf\\xdb\\xc9\\x63\\x79\\x93\\x89\\x79\\x26\\xb4\\xa4\\xed\\xf8\\x31\\xcd\\x40\\xe3\\x9c\\x03\\x68\\x1d\\x03\\x5a\\x3c\\xb2\\xef\\x83\\xec\\x88\\x25\\x29\\x5f\\xbb\\xfc\\x8c\\x7d\\xcc\\xc9\\x46\\xd9\\xda\\x69\\xaf\\xe0\\x4f\\x5e\\x81\\x5c\\xa8\\x12\\x5f\\x24\\xdd\\x82\\x74\\x38\\xd7\\x23\\x01\\x7c\\x13\\xf0\\x66\\x78\\xe2\\xf7\\x54\\xdf\\x44\\x58\\x86\\x30\\xa0\\x1d\\x3b\\xa6\\x38\\x95\\xa7\\xa4\\xb1\\xb2\\xdc\\x4e\\xc0\\x3b\\x0a\\xf9\\x98\\x40\\xb3\\x55\\x87\\xc0\\x98\\x78\\x91\\x85\\xd0\\xdf\\xc4\\x62\\x03\\x47\\x73\\xb2\\x94\\x4b\\x75\\xbc\\xb2\\x00\\x24\\x27\\x6b\\xad\\x12\\xfd\\xb5\\xd3\\x7e\\x7b\\xf4\\xe8\\x6f\\xa7\\x5d\\x7e\\xf9\\xe5\\x20\\x09\\xbf\\xef\\xa3\\x8f\\xf6\\xed\\x5b\\xba\\x74\\x89\\xbe\\x7f\\xad\\x28\\x90\\x36\\x23\\xc1\\xc8\\x5a\\xad\\x9c\\x39\\xef\\xa9\\xf2\\x7d\\xab\\xef\\xd9\\x80\\xd6\\xb1\\xd2\\x5d\\xf9\\x7e\\x45\\x36\\x26\\xc5\\x6c\\x05\\xe5\\x31\\x21\\x07\\x9a\\x98\\x6e\\xb0\\x0b\\x0c\\x84\\xec\\x36\\x1e\\xf3\\x2e\\x27\\xe2\\x6c\\xdc\\x67\\x19\\x03\\x3f\\xdb\\xb6\\xd8\\xb6\\xce\\xc6\\xda\\x6d\\x11\\xf8\\xb6\\xd9\\x76\\x8f\\x8d\\xb7\\xd9\\xb0\\x59\\xf8\\x10\\x7f\\x4c\\x9e\\x87\\x05\\x86\\xdd\\x4b\\xe5\\x20\\x22\\xbf\\xb4\\x24\\x57\\x75\\xbc\\x20\\x42\\x0b\\x51\\x54\\x2f\\x2b\\x88\\x30\\x3a\\x4c\\xd5\\x95\\xd2\\x42\\x7c\\xc5\\x6d\\x8b\\x8f\\x79\\x87\\xff\\x0e\\xfb\\x99\\xcf\\x1e\\x7b\\x6c\\x31\\x33\\xa0\\xf7\\x4f\\x4b\\x19\\x7f\\xf5\\x6c\\xe9\\xaf\\xf8\\x7c\\x98\\x9b\\x2d\\x4c\\x35\\x73\\x19\\xc8\\x13\\x46\\x17\\xa7\\x47\\xb9\\x43\\x60\\x64\\x42\\xd8\\xc8\\xf9\\xac\\xc8\\xef\\xf1\\xb8\\x03\\x2e\\x97\\xe0\\x46\\xee\\x48\\x59\\xc8\\x71\\x30\\x33\\x5a\\x9c\\x26\\xce\\x17\\xd9\\x16\\x11\\x60\\x44\\x87\\x58\\x0e\\xdd\\xca\\x8b\\xae\\x50\\x88\\xf5\\x78\\xfc\\x9f\\x65\\x3c\\x1f\\xb2\\xa6\\x83\\x19\\xf6\\xa3\\x82\\xd7\\x3f\\xdb\\xda\\x66\\x9f\\x45\\x3c\\x43\\x5d\\xe1\\x73\\xc2\\xf0\\x03\\xa2\\xbf\\x50\\x63\\xab\\xaa\\x56\\xf2\\x1e\\x36\\xb9\\xf3\\x31\\x56\\x21\\xc6\\xdc\\x10\\x37\\x88\\xf4\\xe5\\x55\\xe6\\xb2\\xdb\\xae\\x5f\\xb1\\xcd\\x73\\xb5\\x79\\x6a\\x7a\\xec\\x8c\\xc9\\x13\\x66\\x0d\\xdb\\x10\\xc5\\xc7\\xa5\\x65\\xee\\xf0\\xac\\x41\\x57\\xdc\\xcc\\x8e\\xba\\xea\\xb6\\x65\\x17\\xd8\\x87\\x8d\\x9d\\xde\\x3d\\x79\\xfa\\x30\\xfc\\xee\\xd2\\x7f\\x06\\xa3\\x37\\x53\\x1b\\x56\\xc7\\x34\\x33\\x2b\\xa1\\x4d\\x66\\x54\\x9b\\xf6\\x18\\x38\\x9e\\xbc\\xe1\\x69\\xb4\\x5a\\x90\\xd1\\x64\\xfc\\x2c\\x63\\xfa\\x90\\xfb\\x58\\x79\\x68\\x5f\\x96\\x8a\\x78\\x11\\xb2\\xde\\x6b\\x63\\xbc\\xb1\\x66\\x57\\x2b\\xb1\\x07\\x2b\\x37\\x5c\\xd8\\x72\\xf5\\x65\\x0f\\x4b\\xcd\\x4c\\x07\\x5f\\xfa\\xf2\\x47\\xef\\x2e\\xdf\\x86\\xc7\\x1e\\x27\\x77\\x6d\\xb3\\x68\\x00\\xf4\\xd7\\x15\\xfc\\x26\\x32\\x2b\\x50\\x23\\x79\\x1d\\x7a\\x40\\x79\\xad\\x10\\x8f\\x3b\\xc3\\xa8\\xb6\\xd6\\xe2\\x0f\\xfb\\x07\\x36\\x0d\\x88\\x1a\\x6d\\x46\\xdb\\xc1\\x8c\\xdd\\x18\\x31\\x32\\x46\\xd0\\xbd\\x60\\x55\\x15\\x7b\\x30\\x53\\xf5\\x97\\xa0\\xe7\\x60\\x26\\xf8\\x51\\x3f\\xcf\\xa3\\x22\\x6d\\xf9\\x59\\x7d\\x6d\\x99\\x3e\\xe5\\xaa\\xf7\\x46\\xee\\x66\\xed\\xc7\\x56\\xd5\\x5b\\xb5\\xb6\\x34\\x60\\x39\\x2a\\x25\\x4b\\x68\\xde\\x32\\x8c\\x3f\\x1e\\x7d\\xea\\xa9\\xa3\\xc6\\x8c\\x1a\\x3d\\xda\\x7b\\xf7\\xe9\\x93\\x26\\x76\\x4e\\x3e\\x6d\\xd3\\x9d\\x37\\x6d\\xda\\x3e\\xfb\\xb4\\xd1\\x93\\xb7\\xae\\xbb\\xe2\\x97\\x53\\x46\\x4f\\xc9\\x70\\xbb\\xc6\\x0c\\x1d\\x31\\x6a\\x4c\\x7a\\xa8\\xf4\\xce\\x4d\\xa7\\x8f\\x99\\x7a\\xfa\\x84\\x71\\x97\\x5e\\x71\\xc5\\x25\\x93\\x97\\x59\\x58\\xfb\\x85\\xe3\\xe7\\xad\\xb8\\x74\\xfe\\xf8\\x0b\\xad\\xac\\x6d\\x91\\x9c\\x5b\\x9e\\xc3\\x88\\xcc\\x95\\xdc\\x76\\x88\\xef\\xe7\\xa5\\xfd\\x56\\xc8\\xbd\\x90\\xd7\\xe8\\xf5\\xf9\\xad\\x9c\\x93\\x3b\\x98\\x31\\x6e\\x44\\x3f\\x82\\x3e\\xf7\\xe4\\xf6\\xa7\\x63\\x46\\xeb\\x38\\xe4\\x34\\x9b\\x27\\x38\\x67\\x39\\x19\\x67\\xda\\x5b\\x32\\xce\\x99\\x76\\xb8\\xc7\\x25\\x9d\\xed\\x4e\\x26\\xe4\\xc4\\x76\\x27\\x66\\x9c\\x28\\x49\\x22\\x84\\xba\\xba\\xee\\x54\\xd2\\x71\\xa0\\xae\\xbb\\xa9\\x28\\x3f\\x83\\xd6\\x16\\x3c\\xc9\\xaf\\xbc\\xc8\\xef\\x64\\x98\\x41\\x63\\xc6\\x4d\\x5f\\xcf\\xad\\x10\\x98\\xd8\\xd9\\xa7\\x5d\\x34\\x97\\x11\\xf1\\xa6\\x33\\xc6\\xcc\\x3f\\x4b\\xda\\x82\\x73\\x1b\\x17\\x8f\\x1c\\x72\\xe1\\x2a\\x69\\x12\\x8d\\x01\\x87\\xe7\\xce\\x63\\x8d\\xcc\\xe5\\x0e\\x91\\x3f\\x1b\\x31\\xbd\\x1b\\xe9\\x67\\x83\\x72\\x0b\\x99\\x97\\x99\\x0d\\xf0\\xd9\\x82\\xdc\\x8f\\xbd\\x9b\\xe8\\x67\\x43\\x73\\x0b\\x98\\x03\\xcc\\x7a\\xf8\\x6c\\x19\\x42\\xbd\\x37\\xca\\x7b\\x39\\x72\\x2b\\x99\\xed\\xcc\\x72\\x87\\xc8\\x0e\\xc4\\x13\\x15\\xb8\\x41\\x00\\xf7\\x32\\x85\\x5b\\x08\\xb8\\x37\\xd2\\xfe\\xb0\\x81\\xc1\\x3f\\x8f\\x7f\\x17\\x95\\xa1\\x0b\\xd3\\x23\\xf8\\x80\\xd5\\xe9\\x34\\x78\\x50\\x99\\xd9\\xe5\\x72\\xdb\\xcb\\x3c\\x01\\x21\\x52\\x6e\\xb4\\xcc\\xc9\\x38\\xbc\\x06\\xef\\x9c\\x8c\\xd5\\x60\\x37\\x4c\\x32\\xbc\\x6d\\xc8\\x19\\xc0\\x52\\x40\\xf0\\x6f\\x08\\x79\\x42\\xcc\\x9c\\x0c\\x0a\\x71\\x1e\\xe7\\x9c\\x8c\\x47\\xb1\\xfe\\x29\\xcd\\xfc\\x83\\x22\\x38\\xe9\\x9c\\xae\\xd3\\x25\\x06\\x6a\\xcf\\x28\\x6a\\xe0\\x97\\x03\\x6a\\xe5\\xab\\x92\\x71\\x36\\xbb\\xc8\\xc3\\xf1\\xcc\\x3b\\x03\\x1e\\xdf\\x7e\\xdd\\x0d\\x77\\x30\\xb3\\xa5\\xe9\\xf8\\x2a\\xe9\\x32\\xfc\\x72\\xef\\xb5\\xdf\\x1c\\x95\\xbe\\xb8\\xeb\\x9d\\x38\\xf7\\xc8\\xb6\\x5f\\x3f\\xf3\\x72\\x0f\\xc6\\xfb\\x36\\x4a\\x7f\\xba\\x5e\\x7a\\x6a\\x23\\x7e\\x1b\\x7c\\x1f\\xe6\\xff\\x8d\\xf9\\x9b\\xaf\\xa4\\x79\\x0b\\x3a\\x3f\\xb7\\x99\\x5f\\x25\\x18\\x50\\x05\\xaa\\x46\\x0d\\x68\\x65\\x7a\\x58\\xcc\\x68\\x30\\x54\\x20\\x9b\\xd5\\x1a\\x2e\\x43\\x65\\x9c\\xcb\\xe9\\xf4\\x07\\xb8\\x40\\xb2\\xb1\\x22\\x1c\\x4a\\x27\\xea\\x1b\\x58\\xec\\xf7\\xe3\\x48\\x28\\xe4\\x9d\\x9d\\x09\\xb9\\x6b\\x3c\\x26\\x97\\xcb\\x6a\\x34\\xa5\\x4d\\x75\\xb3\\x33\\x76\\xd1\\xc4\\x81\\x41\\x4c\\xd1\\x27\\x5f\\xdf\\x6c\\x22\\x96\\xb1\\x8d\\xce\\xb2\\x14\\x79\\x08\\xdf\\xdf\\x16\\x74\\xbc\\xd5\\x94\\xd7\\x72\\x97\\x5e\\xdb\\x61\\xf6\\xf1\\xad\\x95\\x4c\\x8b\\x03\\x25\\x5a\\x53\\xa2\\xcf\\x4f\\xff\\x12\\x2b\\xab\\x70\\xdc\\xed\\x17\\xb8\\x3a\\x2c\\xc6\\x5a\\x2b\\xab\\x44\\xd6\\xe3\\xc7\\x02\\x83\\xe1\\x63\\x9f\\x1f\\x37\\x0e\\xbf\\xf2\\x0a\\x7c\\x3a\\x6e\\x8c\\x6e\\xaa\\x98\\x3e\\xae\\x76\\x53\\xdb\\xed\\x63\\xf7\\x45\\xda\\xa5\\x8f\\xb1\\xfb\\x96\\xbb\\xba\\xa4\\xdf\\xbe\\x63\\x09\\x6e\\x2a\\x9b\\x3a\\xa6\\x76\\xcb\\x5a\\x6c\\x7f\\xf6\\x6d\\xe6\\xc9\\x53\\x67\\x48\\x7f\\x48\\x4f\\x5f\\xfa\\xe7\\xb9\\x78\\xf0\\x6f\\xf1\\x29\\x78\\x8d\\xe3\\xe2\\x4b\\x0d\\xbe\\x2d\\xaf\\x67\\x1e\\x19\\x36\\x71\\xf8\\x4f\\xd8\\x8c\\x83\\x13\\x9f\\x78\\xae\\x7b\\xa1\\xb5\\xec\\x97\\xec\\xe0\\x7f\\xdf\\xc9\\x3e\\x17\\x96\\x3e\\xc4\\xf1\\xb0\\xf0\\xe3\\x7b\\x35\\x2e\\x3a\\xee\\xe7\\xe7\\x8e\\xf0\\xab\\xf8\\xad\\xa8\\x1e\\xad\\x48\\x9f\\x5a\\x5b\\x53\\x63\\x29\\x29\\x11\\x05\\xc1\\x5d\\xca\\xc6\\x4a\\x63\\x0d\\x03\\x1c\\xd0\\x17\\x46\\xa3\\xc3\\x11\\xa9\\xb4\\xd7\\x62\\x2b\\x5b\\x5b\\x5b\\x59\\x89\\x66\\x67\\x2a\\x39\\xa1\\x24\\x52\\x32\\x1b\\x46\\xdc\\x11\\x62\\x1a\\x43\\xe9\\xd0\\x92\\xd0\\xfa\\xd0\\xfe\\xd0\\x3b\\x21\\x21\\x14\\x8a\\xb8\\x89\\xe7\\x20\\x35\\x31\\xf5\\x61\\x6c\\x6a\\x09\\x9c\\xc4\\xbb\\x69\\x6f\\x3a\\xab\\x3d\\x24\\xbf\\x29\\x5b\\x81\\x9c\\x1e\\x97\\x9f\\x3c\\xee\\xea\\xf3\\xd2\\xb9\\xa1\\x3e\\xef\\x4a\\xbb\\x28\\x56\\x11\\x27\\xbd\\x17\\x6d\\xe2\\xfc\\x62\\x03\\x66\\x03\\x5f\\x4a\\x3f\\x3d\\xfd\\x90\\xf0\\xb0\\x81\\xab\\x5b\\x72\\x6e\\x3c\\x11\\x1f\\xb6\\xe4\\x52\\x6c\\xdb\\x4c\\x3b\\xe6\\x4f\\xd2\\x6b\\x3b\\xf1\\x85\\xf8\\x94\\xbf\\xe2\\x86\\xb1\\xfb\\x06\\xbe\\xcf\\x1d\\x97\\xfe\\x28\\x1d\\xff\\xa3\\xf4\\x7e\\x23\\xde\\xbb\\xec\\xfa\\x9e\\xc4\\xc6\\x73\\x4d\\x0f\\x98\\x5e\\xc8\\x3e\\x65\\xc3\\x3e\\xe8\\x92\\x5f\\xe3\\xf1\\x7f\\xc5\\x93\\xf1\\xe5\\x7b\\x1f\\x1d\\xb6\\xe6\\x0a\\xe8\\x07\\x08\\x6b\\xb8\\x06\\xb0\\xab\\x4e\\xb4\\x24\\x9d\\x86\\x9c\\xd6\\x68\\xb3\\x88\\xac\\xc9\\x61\\x72\\xb8\\xdc\\x06\\x8b\\xd5\\x32\\x39\\xc3\\x47\\xac\\x18\\x59\\xb1\\x81\\xb5\\xe2\\x34\\xe6\\x66\\xe7\\x6b\\x82\\x76\\xf8\\xc6\\x18\\x58\\x8c\\x8d\\x76\\x3b\\x74\\x8e\\x9d\\x35\\xba\\x50\\xbb\\xce\\x08\\x2e\\x95\\x1f\\x0a\\x26\\x3f\\x35\\xe9\\x2d\\x73\\x5b\\x13\\x79\\x0f\\x97\\x5a\\x07\\xd0\\x79\\xf2\\x1f\\x71\\xaf\\x2d\\x29\\xf8\\x17\\x3e\\x8f\\xd9\\xd3\\x3b\\x19\\xdf\\x22\\x5d\\x94\\xdd\\xb3\\x87\\x5d\\xc3\\x7d\\x2e\\xc5\\xb7\\xff\\x69\\x83\\xf4\\x05\\xf6\\x6f\\x60\\xbf\\xd8\\x46\\xc7\\x6d\\x08\\xc8\\xdb\\x09\\xe3\\x36\\x00\\xdd\\x9e\\x9e\\x31\\x20\\x5e\\x8e\\x62\\x91\\xca\\x4a\\x87\\xc5\\x10\\xf0\\xfb\\x6b\\x51\\xad\\xdd\\xcc\\x71\\x06\\xc4\\x26\\x1b\\x2a\\x6c\\x76\\xdb\\xe4\\x4c\\xa5\\xc9\\x6c\\x9a\\x9c\\x89\\xed\\x31\\x63\\x64\\x76\\x98\\xcb\\xcd\\xac\\x39\\x1d\\xb1\\xdb\\x23\\xf6\\x24\\x08\\x4b\\x02\\x2a\\x8f\\x27\\xb4\\x3c\\x63\\x0f\\x60\\x33\\x1f\\xf0\\x88\\x7c\\x2d\\x57\\x7b\\x71\\x66\\x00\\x17\\x50\\xeb\\x4d\\xed\\x29\\xd5\\x94\\xd3\\xf6\\xa4\\x82\\x6f\\x75\\xcb\\x36\\x4e\\x69\\x8d\\x5f\\x7e\\xfa\\x5f\\x2e\\x5a\\xa7\\xe4\\xdd\\x20\\x6d\\xd4\\xeb\\xe0\\x58\\xb4\\x65\\x04\\xa6\\xcf\\xfe\\x93\\xe2\\x8f\\x6c\\xd0\\xc9\\x30\\xd2\\xe1\\x55\\x5a\\x4d\\x0c\\x7c\\xb4\\xa9\\x95\\xeb\\x74\\xee\\xbd\\xa9\\x77\\x4c\\x66\\xc6\\xd3\\xf0\\xe7\\xad\\x97\\x6f\\x7d\\xb5\\x62\\xb7\\x77\\xf1\\xd8\\x65\\x4b\\xf0\\xed\\xd2\\xf9\\xe4\\xeb\\xcc\\x0e\\xfc\\xb7\\xdd\\x61\\xdc\\xba\\x75\\xc7\\x9d\\x0d\\xf7\\xae\\x2a\\xd9\\x70\\xc3\\x86\\x2b\\x5e\\x7a\\x6d\\xd5\\xa2\\xb6\\xf4\\x84\\xe5\\x6b\\xaf\\x87\\x7f\\x89\\x2b\\x9e\\xae\\xd9\\x8b\\x94\\xda\\xcd\\x60\\x21\\xc6\\xa7\\x61\\xce\\x9f\\x9d\\x6e\\x69\\x40\\xc8\\x65\\x34\\x5a\\x4d\\x25\\x75\\x75\\xb8\\x3e\\x18\\x0a\\xc5\\x62\\x15\\x15\\xa5\\xf5\\x26\\x2e\\xd9\\x58\\x56\\xd5\\x99\\x09\\xa5\\xcb\\x1c\\x03\\x5c\\x25\\xac\\xcf\\xe4\\xe3\\x3b\\x33\\x3e\\x87\\xcd\\x5e\\x17\\x43\\x26\\x2f\\x6a\\x7f\\x2b\\x95\\x92\\x07\\xd1\\xdf\\x16\\x68\\x0f\\xbe\\xa5\\x37\\x5d\\xf9\\xc9\\x4d\\x4d\\x18\\x8f\\x5b\\x34\\xeb\\x0e\\x3a\\x5c\\xc6\\x28\\x06\\xde\\xef\\x4e\\x89\\xd4\\x81\\x91\\xcf\\x89\\xf3\\x67\\x61\\x74\\x59\\xbc\\x16\\x5f\\x39\\x63\\xc9\\xf2\\x6b\\x1e\\x17\\x1e\\x86\\xec\\x87\\x61\\x87\\x6c\\xbd\\x70\\xcd\\x4d\\xe1\\x8f\\xef\\x5e\\x53\\x1b\\xbe\\xff\\x97\\x8f\\xcd\\x58\\x32\\x20\\xfe\\xd0\\x63\\x7f\\x7d\\x95\\x15\\x17\\x6f\\x5f\\xb9\\xf7\\xde\\xde\\x1b\\xd9\\xa9\\xcf\\xd6\\xf2\\xf5\\x6d\\x93\\x96\\x9f\\x31\\xef\\x02\\xfc\\xfc\\xbf\\xf8\\xc7\\xde\\xe8\\x4d\\x32\\xbb\\xb7\\xaf\\xb4\\x4a\\x8f\\xf6\\x6e\\xef\\x95\\xc8\\xbd\\x94\\x3c\\x2a\\x81\\xbf\\x76\\x83\\xee\\x86\\x50\\x04\\xc5\\x10\\x79\\xed\\xf2\\x96\\xf4\\x84\\x90\\xdf\\x5f\\x53\\x5d\\x55\\xee\\xf1\\x94\\xe0\\x44\\x98\\x8f\\xc7\\x23\\x51\\xd6\\xeb\\x30\\xd9\\x6c\\x10\\xc2\\x3b\\xbc\\x8e\\xda\\xba\\x84\\xdb\\xee\\x0f\\xf8\\x67\\x67\\xca\\x4b\\x2d\\x81\\x58\\xc4\\x1c\\x42\\xa1\\xd9\\x99\\x2a\\x88\\xee\\x2b\\xbd\\x81\\x9a\\xea\\x00\\xaa\\xae\\x46\\x01\\x96\\x71\\x7a\\x5d\\x02\\x43\\x62\\x41\\x1a\\x59\\x26\\x93\\x64\\xf3\\x0b\\xdd\\xf3\\x22\\x17\\x7a\\x52\\xba\\x9f\\x14\\xf3\\x97\\x52\\x16\\x2e\\xc8\\x8f\\xb2\\x82\\xa7\\xe4\\x69\\xee\\x86\\x5f\\xb8\\xa3\\xa4\\xe3\\xbc\\x31\\x2f\\x8d\\x25\\xb1\\xa2\\xf0\\x2d\\x31\\xf2\\x82\\x36\\x1f\\xad\\x8a\\xe1\\x98\\x1b\\xa7\\xaa\\x4a\\x36\\xff\\xe5\\x47\\xfc\\xed\\x23\\x9b\\xe0\\xcf\\xe7\\xd2\\xfb\\x52\\xfb\\xc3\\x9b\\x37\\x6f\\x66\\xcf\\x44\\x39\\x69\\xb1\\xb4\\x18\\xcf\\xb9\\xf9\\x6d\\xb6\\x62\\xfb\\xae\\x9f\\xde\\x59\\xbc\\x82\\xfd\\x06\\x6f\\x96\\x96\\x92\\xaf\\x6d\\x7f\\xdf\\x26\\xd5\\xe1\\x3f\\x91\\xaf\\x6d\\x7f\\x27\\x7f\\xa4\\xcb\\xa5\\xef\\xd8\\x9a\\xe7\\x60\\x56\\xdf\\x9d\\x3b\\x62\\x38\\x8f\\xc6\\xa4\\x4e\\x54\\x85\\x26\\xe2\\x8d\\xe9\\x4a\\x3b\\xcf\\x0b\\xa3\\x4e\\x39\\xa5\\x1a\\x99\\xcb\\x5d\\xc3\\xca\\x2a\\x2a\\x42\\x25\\xfe\\x64\\x43\\xc3\\xb8\\x61\\xc3\\xfc\\x66\\x56\\x68\\x6e\\xae\\xae\\x16\\x84\\xce\\x49\\xe3\\x7a\\x72\\x3f\\xa4\\xdf\\x73\\xfb\\xc6\\x35\\x1b\\xe0\\xaf\\x71\\xcd\\x90\\xa4\\x37\\x75\\x66\\x92\\x75\\x3e\\x4f\\xa2\\x33\\xe3\\xf1\\xd9\\xc1\\x02\\xb4\\x8f\\xe9\\xcc\\xb4\\x8d\\xc2\\xac\\x7d\\x54\\x64\\x54\\x72\\x14\\x6b\\x15\\x46\\xb5\\xb7\\x07\\xa3\\x25\\xc1\\x92\\xce\\x4c\\x59\\xb0\\xb4\\x34\\xd8\\x6e\\xc7\\xf6\\xb4\\xd1\\x39\\xce\\x1e\\x8c\\x04\\x19\\x07\\x6b\\x0f\\xda\\x83\\x82\\x28\\xda\\x66\\x67\\x44\\x56\\x70\\xa5\\x3b\\x71\\x63\\x27\\x2e\\xef\\xc4\\x8e\\x4e\\x8c\\x3a\\xf1\\x3b\\x9d\\x78\\x7f\\x27\\xde\\xdb\\x89\\xef\\xed\\xc4\\x37\\x75\\xe2\\xf5\\x9d\\x78\\x49\\x27\\x9e\\xd3\\x89\\x3b\\x3b\\xf1\\xb1\\x4e\\xfc\\x89\\x0e\\x40\\x8f\\x35\\xf4\\x93\\x93\\x62\\x02\\x8f\\xcd\\x9d\\x78\\x5d\\x27\\x5e\\x5c\\x88\\x26\\x9e\\xa5\\xaf\\x47\\x14\\x97\\x29\\x0a\\x8b\\x18\\xaa\\x29\\x53\\x1c\\x79\\x1d\\xb8\\xf2\\xa4\\xec\\xcd\\x9d\\x60\\xd9\\x53\\x34\\xd4\\x95\\x8b\\x18\\x79\\x9f\\xaf\\xe4\\x7b\\x6d\\x9a\\x26\\xa8\\x86\\xc1\\xa5\\x2f\\x59\\x93\\x00\\x19\\x1c\\x20\\xa9\\xa5\\x35\\x71\\xa2\\x23\\x0a\\xb9\\x5b\\x39\\xa6\\xe1\\x1f\\x51\\x8a\\xd6\\x14\\x55\\x12\\xba\\x9f\\x33\\xa1\\x0b\\xa4\\x5b\\x9a\\x1b\\x70\\x15\\x79\\x4f\\x3e\\x6f\\x4a\\x48\\xf8\\x50\\xc6\\xb0\\x4f\\x4b\\x3f\\x7e\\x72\\xc5\\x3e\\x5c\\xf7\\x15\\xe6\\x9e\\x90\\x7a\\x16\\x2c\\xc5\\x69\\x66\\xcd\\xe9\\x93\\x17\\x74\\x9f\\xbf\\xb8\\xe5\\xa2\\xed\\xdb\\x6b\\x5a\\x4b\\x87\\x33\\x87\\x9e\\x7c\\x78\\xc7\\x9e\\xd2\\x7b\\x9c\\x67\\xcf\\xec\\x89\\x8f\\x5d\\xbf\\xe8\\xfc\\xc1\\x0f\\xed\\xb8\\xf1\\x01\\xdf\\x0e\\xd3\\x8c\\x31\\xdb\\xba\\xae\\x58\\x76\\xe1\\x30\\xf6\\xfd\\x57\\x8f\\xf4\\x7e\\xc0\\x6f\\xf8\\xcb\\x01\\xec\\xec\\x7d\\xb7\\xf7\\xf4\\xc0\\x9a\\xd5\\xf8\\xb7\\x57\\x7e\\xf3\\xcd\\x95\\xd2\\xbc\\x89\\xe3\\x6d\\xf3\\x56\\x6e\\xb8\\x68\\x65\\x70\\xf8\\x90\\x05\\x91\\xda\\x48\\x79\\x68\\x68\\xd7\\x88\\x25\\x2b\\x16\\x5c\\xec\\x6c\\x6c\\x9e\\x5e\\xd9\\x1a\\x0e\\x0e\\xeb\\x96\\xeb\\x75\\x0f\\xe5\\x8e\\x18\\x45\\x9a\\xbf\\xb7\\x90\\xb5\\x61\\x34\\x83\\x9f\\x4c\\xeb\\x76\\x6e\\xf8\\x8b\\xe4\\x22\\x64\\x86\\x92\\x33\\x1c\\x0d\\x68\\x20\\x6a\\x46\\xeb\\xd3\\x23\\x1b\\x9a\\x06\\xb2\\xbe\\xb2\\x48\\x04\\x0b\\x7e\\x9f\\xcf\\xe3\\x10\\x1c\\x83\\x5a\\xea\\xaa\\x62\\xac\\xdb\\xe3\\x9e\\x9d\\x69\\x0e\\x07\\xb0\\xa7\\xb1\\xde\\x24\\xda\\x1d\\xf6\\xd9\\x99\\xea\\x78\\x39\\xef\\x68\\xf2\\x7b\\x06\\x36\\x38\\x3c\\xf0\\x9f\\xb5\\x2c\\xe4\\x67\\x8d\\x56\\x17\\x9d\\x9d\\xa4\\x6b\\xc9\\xec\\x54\\xa7\\xa7\\x32\\x2b\\x53\\x05\\x3f\\x17\\xc5\\xe1\\xf4\\x5a\\x7a\\xe8\\x64\\x31\\xe5\\x8d\\xb2\\x31\\x96\\x7e\\xb5\\xa4\\xaa\\xa0\\xf3\\x59\\x98\\xa9\\x6e\\xfa\\x85\\x53\\xad\\x51\\x9e\\x7c\\x29\\xb3\\x13\\xfe\\x17\\x53\\xa2\\x71\\xd1\\x9d\\xa7\\x7c\\x28\\xfd\\xf0\\x8b\\x83\\xeb\\xa5\\xeb\\x37\\xfc\\x7f\\xbc\\xbd\\x09\\x7c\\x54\\x45\\xd2\\x00\\xde\\xd5\\xef\\x9a\\xfb\\xcc\\x64\\x26\\x77\\x26\\x93\\x8b\\x84\\x30\\x90\\x49\\x08\\x41\\x21\\x03\\x72\\x44\\x04\\x0c\\x37\\x03\\x84\\x04\\x88\\x9c\\x22\\x87\\xdc\\xc8\\x0d\\x0a\\xa2\\x22\\x72\\xc8\\xa1\\x88\\xa2\\x88\\x1c\\xa2\\x1c\\x01\\x2f\\x10\\x75\\x75\\x5d\\x45\\x74\\xfd\\x14\\xf1\\xc2\\xfb\\x53\\xd7\\x55\\x76\\xd7\\x75\\x35\\xc9\\xbc\\xfc\\xab\\xfb\\xbd\\x49\\x26\\x80\\xfb\\xed\\xf7\\xfb\\xfe\\xff\\xff\\x24\\x6f\\xde\\x31\\xfd\\xaa\\xab\\xab\\xab\\xaa\\xab\\xbb\\xab\\xab\\xbf\\xba\\x43\\xfd\\xf5\\xa3\\x9e\\xdb\\xa7\\xdf\\xfa\\xda\\xcd\\x70\\x62\\xe6\\x89\\x19\\x70\\x62\\xda\\x6b\\xd1\\x55\\x5f\\x75\\x57\\x77\\x35\\x5d\\xfa\\x32\\xac\\xee\\x82\\xd7\\xc0\\xdf\\x7d\\x0f\\xbd\\xee\\xde\\xbe\\x4d\\xbf\\xdc\\xd3\\x17\\x9e\\x08\\x56\\x0b\\x7f\\xdf\\xf9\\xcd\\x4e\\xb5\\x00\\xde\\x67\\x07\\x5e\\xc6\\xc4\\x18\\x36\\x34\\x5d\\xfa\\x86\\x7d\\xd4\\x65\\xea\\x9f\\xa1\\x83\\xfa\\x67\\xd1\\xfa\\x32\\xeb\\x57\\x1e\\x23\\x44\\xf6\\x8a\\x6f\\x10\\x3b\\x52\\xaf\\x3a\\xec\\x75\\x3b\\x24\\xd9\\x21\\xa7\\x58\\x6d\\xb6\\x4c\\x5f\\x4a\\x8a\\xdf\\xe9\\xb4\\xcb\\xb2\\xc3\\x9e\\xd4\\xc3\\x0e\\xe5\\xc4\\x06\\x5d\\x31\\x99\\x05\\xc2\\x24\\x42\\xd8\\xbd\\x83\\xb8\\xf9\\xb5\\x03\\x9f\\x57\\xc4\\xd8\\xb4\\x82\\x59\\x23\\xcc\\xdf\\x28\\xe6\\xc7\\xe7\\x6a\\x99\\x43\\x2a\\x4e\\x07\\xd4\\xd7\\x8c\\xc9\\x02\\x4c\\x3b\\x01\\x3e\\xf6\\x17\\x77\\x87\\x52\\x3c\\xb3\\x00\\xfe\\xf4\\xcc\\xa1\\x17\\x23\\x27\\x3b\\xcd\\x9e\\xa9\\x3e\\xfd\\x0c\\xdc\\x73\\x12\\x86\\xce\\x98\\xd5\\xf1\\x99\\xd1\\x67\\x0e\\x88\\x6f\\x4c\\xfd\\xee\\x4f\\xea\\xaf\\x4d\\xdb\\x1f\\xea\\xdb\\x78\\x51\\x7c\\xa3\\xb1\\x94\\x5e\\x88\\xbe\\xd3\\x77\\xcf\\x16\\xfa\\x48\\x74\\xf0\\x1b\\xdf\\x4f\\x46\\x5b\\xf4\\x61\\xf2\\x9d\\xc0\\xc6\\x52\\xd2\\x50\\x3b\\x17\\x91\\x49\\xe1\\xe4\\x74\\x49\\x2a\\x72\\xda\\xb2\\xb3\\x13\\x7c\\xbe\\xf6\\x45\\xed\\x3b\\x04\\xf3\\x0c\\x5e\\xbb\\x3d\\xc1\\x41\\xac\\x06\\xd6\\xed\\x48\\x36\\xbb\\x2a\\x33\\x1d\\x60\\x70\\x18\\x1c\\x2e\\x7f\\xb2\\x10\\x36\\xda\\x2b\\x85\\x82\\xaa\\x22\\x28\\x42\\xab\\xad\\x22\\x58\\x1d\\x7a\\xb3\\x10\\x75\\x2b\\xab\\xf2\\xea\\xc2\\xb8\\x8d\\x06\\xe2\\xba\\xcc\\x7a\\x79\\x10\\xe7\\x4c\\xa7\\x26\\x2b\\xa1\\x3c\\xde\\x06\\xeb\\x72\\xe5\\x0d\\xe4\\x96\\xe6\\x24\\x24\\xc6\\x7a\\xa6\\xb2\\x80\\x2d\\x31\\x7d\\x34\\x70\\xf3\\x70\\xf5\\x8b\\x2d\\x77\\x0d\\x9f\\x12\\x00\\x58\\xb0\\x60\\xe9\\x98\\x31\\xe2\\x02\\x45\\x5d\\x56\\x35\\x7e\\x46\\xf5\\x98\\x19\\xe3\\x07\\xad\\xa4\\x6f\\x45\\x8b\\x69\\xd9\\xf5\\x15\\xb0\\xf8\\xcc\\x4b\\x15\\xbd\\x3b\\xef\\x1f\\x33\\x69\\xd2\\x98\\x68\\x55\\x5d\\x97\\xa4\\x71\\xff\\xda\\xbe\\xe6\\xde\\xfb\\x37\\xde\\xb1\\x2e\\xba\\xbc\\x5a\\x6b\\x83\\x1d\\x2c\\x36\\x34\\xda\\x27\\x85\\x64\\x7f\\x78\\x4a\\x66\\x5e\\x9e\\xd8\\x2e\\x23\\x3b\\xdb\\xe6\\x30\\x9b\\x5d\\x26\\x5b\\x92\\xcf\\x27\\x88\\x36\\xb1\\x7d\\x51\\x96\\xc3\\xe9\\x18\\x14\\x69\\x67\\xb6\\x98\\xd1\\x46\\x61\\x13\\xcc\\xcb\\x2c\\x1b\\x2c\\x0f\\x59\\x24\\x4b\\x38\\x2f\\x58\\x49\\x2c\\x0e\\xcb\\x72\\x8b\\x60\\xb4\\xa0\\xad\\xe2\\xcc\\x70\\xd6\\x38\\x05\\x76\\xda\\xe0\\x3c\\xec\\x14\\xed\\x78\\xa2\\x66\\xc1\\xe9\\x24\\x1e\\x4f\\xea\\xad\\x91\\x24\\x8f\\xa2\\x90\\x5b\\x23\\x82\\x92\\xc4\\x4c\\x96\\x16\\x3d\\xa4\\x59\\x5f\\xb3\\x43\\xc9\\x6f\\xa2\\xde\\x9a\\x15\\x6f\\xb1\\x94\\xc7\\x2b\\x25\\xdd\\x7f\\x95\\x0f\\xce\\x61\\x0f\\xd4\\xcb\\xf6\\x69\\xa0\\x42\\xa0\\x2c\\x94\\x57\\x86\\x5f\\xae\\x38\\x93\\x45\\xf1\\x2b\\x7e\\xec\\xac\\x78\\xf1\\x94\\x0e\\xf4\\x68\\xdd\\x02\\xdb\\x33\\xe9\\x1f\\x3d\\x79\\x21\\x9a\\x7e\\x20\\x7f\\x81\\x20\\xec\\xce\\x5f\\x91\\xf9\\xeb\\x47\\x87\\x3f\\x4a\\x7b\\xc6\\xb6\\x70\\xea\\x3d\\xf7\\x7b\\xe0\\x54\\xbe\\x3a\\x41\\x10\\xe1\\x95\\x7c\\xf5\\xe6\\xc4\\x47\\x96\\xd6\\x8d\\xb6\\xed\\xdc\\x07\\x32\\x88\\x2b\\x06\\x0e\\x5f\\x06\\xd0\\xf8\\xc4\\x0e\\xdb\\xe8\\xba\\x27\\x9f\\x5f\\xe6\\xeb\\x9e\\x9f\\xbb\\xe2\\xe5\\xe3\\x8c\\x66\\x19\\x6c\\xdf\\x5d\\xd4\\x11\\x09\\x64\\x70\\xb8\\x9d\\xcd\\x60\\x16\\x04\\x6c\\x2f\\xac\\x46\\x8b\\x40\\xb1\\x8f\\xe9\\xb2\\xb8\\x12\\x3d\\x76\\x73\\x02\\x49\\xa8\\x89\\x18\\x44\\x07\\xf2\\x01\\xb5\\xba\\x5a\\x5b\\xe7\\x72\\xec\\x93\\xb4\\x4e\\xbf\\x68\\x4d\\x71\\x8b\\xda\\xe5\\x7e\\x04\\xfc\\x16\\x42\\xcc\\xec\\x02\\x94\\x65\\x85\\x35\\xbe\\x19\\xeb\\x4e\\x4f\\xa5\\xdd\\x3e\\x8f\\x9e\\xa0\\xf7\\x46\\xff\\x40\\x7b\\xfd\\x35\\xfa\\x66\\x60\\xf3\\xe9\\x75\\x42\\x11\\x1d\\x1a\\x3d\\xc8\\x8e\\xdd\\xd1\\x5b\\xe9\\xdd\\xb3\\xa2\\x5f\\xb1\\x8d\\x88\\x40\\xdb\\xab\\x0c\\xf1\\xf3\\x92\\x01\\xe1\\x7c\\xc2\\x66\\x50\\x6d\\x36\\x93\\xd3\\x6a\\x35\\x09\\x8a\\x62\\x34\\x9a\\x3c\\xa6\\x44\\x21\\xc9\\x47\\xdc\\x1e\\xd4\\x5c\\x16\\x87\\x4c\\x45\\xa3\\x47\\xb3\\x85\\x31\\xff\\x38\\x53\\xf1\\xf2\\x3f\\x66\\x00\\xe7\\x78\\x24\\x0f\\x1e\\x88\\x92\\x54\\x9a\\x53\\x8a\\x07\\x9b\\x1b\\xf1\\xd0\\xb7\\xa1\\xaf\\xfa\\x0c\\x3b\\x4e\\x69\\x27\\x3c\\x52\\xc5\\xdb\\xc5\\xaf\\xd5\\x07\\x0f\\x3e\\xb4\\xff\\x31\\x3c\\xd4\\x6a\\x08\\x3f\\xb1\\xe3\\xc0\\x5e\\x3c\\xe0\\xb5\\x07\\x1e\\x40\\x5b\\xa8\\x9d\\x3a\\x45\\xf9\\x51\\xbe\\x95\\xb8\\xd0\\x42\\xee\\x43\\x86\\x91\\x1a\\xb2\\x25\\x3c\\x64\\x74\\x5a\\x81\\x77\\xf8\\x80\\x40\\xa7\\x10\\xd6\\xe9\\x10\\xb4\\x99\\x7a\\x0c\\x31\\xe6\\x05\\x86\\xa7\\x19\\x6a\\xc7\\xe5\\xf5\\x0d\\xf5\\x1d\\x17\\xf1\\x0e\\x18\\x1e\\x10\\x33\\xdd\\x99\\x23\\xc7\\x45\\x24\\x87\\xe0\\xe8\\x5e\\x1b\\xc9\\x74\\x64\\x3a\\x92\\x3b\\x86\\xc2\\x45\\xa1\\x82\\x82\\x90\\x98\\x3c\\x76\\x5c\\xc4\\x98\\xec\\x72\\xdf\\x58\\x1b\\x71\\xbb\\x84\\x5e\\xb5\\x11\\xc1\\xd5\\xaa\\x4d\\x5e\\xe5\\x1c\\x87\\x8d\\x62\\xb2\\xe3\\x2c\\xd7\\xc2\\x9c\\xf9\\x34\\xd3\\xf1\\xaa\\xc5\\x8e\\x4d\\xd6\\x06\\xb2\\xf2\\x04\\xee\\x1e\\x5c\\xe6\\xe6\\x06\\x23\\x64\\x61\\xd3\\xc6\\xb8\\x4f\\x9f\\x8f\\xf3\\x96\\x25\\x43\\x99\\x0d\\x94\\xd2\\xce\\x39\\x65\\xc8\\x97\\xb2\\x92\\x0e\\x2e\\x4f\\x02\\x15\\xdb\\x8c\\xe4\\xdb\\xa8\\x42\\x15\\x76\\xe5\\x2a\\x2d\\xa1\\xd0\\xf2\\x83\\xf2\\xe3\\xe1\\x7b\\x6e\\x1e\\xde\\x25\\x37\\xfd\\x68\\x4a\\xb1\\x71\\x56\\xf6\\xce\\xa5\\x2b\\xf7\\x35\\x96\\xf4\\x9a\\x70\\x4b\\xf7\\xdc\\x15\\xfd\\x46\\x56\\xd7\\x0d\\xca\\x1d\\x9e\\x96\\x79\\xcd\\xed\\xa3\\x97\\xfe\\xd0\\xf3\\x59\\x28\\xce\\xbd\\x71\\x59\\xc7\\xfe\\x03\\x77\\x7c\\xbd\\x70\\x0f\\x5a\\x4d\\x9b\\x86\\x55\\xf6\\x1f\\x33\\xb2\\xef\\xf5\\xd5\\x8d\\xcd\\xed\\x2b\\xbb\\x95\\xf4\\x29\\x5e\\xbb\\x7e\\xfe\\x6b\\xf3\\x5e\\x8a\\x4e\\x0a\\x5f\\x5f\\xd8\\xad\\xbc\\x68\\x26\\x74\\xbe\\xe7\\xe0\\x00\\x55\\x7d\\xb8\\x5b\\xf9\\xae\\x5c\\x78\\x65\\xcb\\x9d\\x3b\\xd4\\x41\\x69\\x15\\x65\\xbd\\x07\\x0e\\x19\\xd4\\x67\\xa4\\xcf\\x75\\x18\\x6e\\x81\\x27\\xe7\\x28\\xc5\\xd9\\x3d\\xc6\\xd0\\x76\\x91\\x91\\x29\\xfd\\x6f\\x15\\xf7\\xa9\\x17\\x4f\\x9e\\x57\\xd7\\xbd\\x0a\\xe9\\xe3\\x66\\xcd\\x19\\x3b\\x6e\\xce\\x02\\x71\\x6b\\xbf\\xe7\\xdf\\xfe\\x41\\x3d\\xb6\\x70\\xe1\\x4b\\x50\\xf3\\xc2\\xaf\\x50\\xd0\\xb8\\xb8\\xa0\\x5d\\xa7\\x4e\\x45\\x7c\\x0c\\x51\\x52\\x47\\x88\\x06\\xd4\\x93\\x7e\\xd4\\x92\\x03\\xc2\\x05\\x59\\x0e\\x29\\xd9\\x5d\\x48\\x45\\x92\\x9f\\xea\\xf5\\x25\\xa5\\x4a\\x44\\x0e\\x76\\x70\\x17\\x7a\\x7c\\x85\\xbe\\x8c\\xc4\\x8c\\x9c\\xda\\x48\\x86\\x94\\x90\\xe8\\x32\\x58\\x6b\\x23\\x06\\x12\\xe4\\xf5\\xa0\\x5b\\x2b\\xba\\x3e\\x64\\x84\\xe7\\x26\\x08\\xeb\\x8e\\x24\\x08\\x6e\\x6d\\x3a\\x24\\xaf\\x54\\xd3\\x7b\\x79\\x66\\xaa\\x04\\x20\\x05\\x74\\x6b\\x42\\x89\\xd1\\xd5\\xdb\\x1d\\x44\\xc3\\xb7\\x47\\xbd\\x3b\\xee\\xaa\\xac\\x1a\\xd2\\xbb\\x7b\\xd8\\xb5\\xe8\\xf3\\x27\\x96\\xed\\x83\\xdc\\x3d\\x87\\x1e\\x7d\\x70\\xf9\\xd2\\xad\\x7b\\xbb\\x87\\x3a\\x86\\x4b\\xdb\\x95\\xf5\\x17\\xeb\\x9f\\x57\\xc7\\x44\\xb7\\x0e\\x0c\\x2f\\x5d\\xe7\\xde\\x99\\x75\\x6d\\x59\\xa8\\x27\\x9c\\x51\\x47\\x83\\xbb\\x81\\xa6\\xab\\xef\\x43\\x2f\\xf8\\xe1\\xde\\xe5\\xdb\\xb6\\xce\\x2e\\xed\\x73\\x5d\\x97\\x81\\xea\\xd2\\x15\\xdf\\xf2\\x31\\x75\\x66\\xab\\xf7\\x40\\x19\\x4a\\x26\\x99\\x24\\x87\\x14\\x90\\x23\\xe1\\x89\\xc9\\x00\\x29\\x29\\x24\\x49\\x10\\x48\\x5e\\x20\\x90\\x9a\\x91\\x61\\x22\\x0e\\x8b\\xc5\\x94\\x9b\\x93\\x6e\\x34\\xba\\x6c\\x26\\x62\\x6a\\x5f\\x98\\x63\\xa8\\x8d\\x64\\x8b\\x3f\\x59\\xc0\\x62\\x4d\\x07\\x6b\\x5a\\xf2\\x4f\\x0e\\x70\\x38\\xc3\\xb9\\x5e\\x67\\xc7\\x9c\\x70\\x4e\\x55\\x8e\\xd0\\xd1\\x1a\\xb6\\x56\\x59\\x85\\x20\\xf6\\x50\\x9d\\x0e\\x67\\xa6\\x13\\x7b\\x75\\x39\\x56\\xa7\\xd3\\x9a\\x23\\x98\\xdc\\xee\\x82\\x9a\\x88\\x5b\\x30\\xc5\\xfa\\xa4\\x5e\\x66\\xc8\\x31\\xc5\\x88\\x1f\\x64\\x45\\xe4\\xd9\\x6a\\x6e\\xa5\\xf3\\x73\\x61\\x9c\\xea\\x08\\xc5\\x79\\xb8\\x5f\\x26\\xae\\x68\\x30\\x04\\x6c\\x5a\\x03\\x19\\xeb\\xd9\\xf9\\x59\\x03\\x83\\xa6\\x44\\x1e\\x6a\\x97\\xce\\x50\\x5c\\xe6\\xf7\\x38\\xfd\\xb9\\x01\\xbf\\xf8\\xbd\\x30\\x6a\\x49\\xe8\\x9b\\xbd\\xea\\xf8\\xd3\\x68\\xc4\\x6f\\xa0\\x83\\x9e\\xba\\xd4\\x69\\x7e\\xe4\\x94\\x10\\x0d\\xd3\\xd3\\xa2\\xfa\\xe2\\x73\\x03\\xa3\\x73\\xe8\\xfa\\xc1\\xa7\\xd4\\x35\\xc2\\x85\\x2e\\x6b\\xe6\\xae\\x8c\\x7e\\x24\\xa4\\xae\\x19\\xbf\\xe6\\xb7\\xa5\\x8b\\xd7\\xb4\\x6f\\x3f\\x3e\\x59\\x8d\\xd6\\xd5\\xc1\\xdb\\x13\\x38\\x5f\\x4c\\x6a\\x6e\\x2f\\xed\\x96\\x03\\x24\\x1d\\xa9\\x36\\x25\\xdc\\xc5\\x64\\x34\\x3a\\x13\\x6d\\x72\\x72\\x72\\x96\\x90\\x82\\x6a\\x33\\xc5\\x9d\\x28\\xe6\\xe5\\xda\\xb2\\x52\\xb3\\x6a\\x22\\xcc\\x70\\x4a\\x4c\\x4d\\x48\\x10\\x52\\xc2\\x49\\xa9\\x6e\\xd9\\x5a\\x13\\x31\\x99\\x64\\x51\\x08\\xd4\\x44\\x44\\x41\\x24\\x15\\x67\\x35\\x71\\xe5\\xdf\\xc9\\x67\\xb9\\xde\\x2c\\x6c\\x23\\xa6\\xa1\\xb8\\xbe\\x9d\\xdb\\x41\\x72\\xb0\\xc5\\x4c\\xe4\\x63\\x0f\\x79\\x4e\\x14\\xd5\\x52\\x36\\x14\\x2e\\x8b\\x8a\\x27\\x50\\x9a\\x4d\\xdc\\x6c\\xdc\\x42\\xa6\\x93\\x60\\x10\\x74\\xbe\\xed\\x35\\x90\\x6e\\xa8\\x2f\\x3d\\xb4\\x6c\\xe6\\xd9\\xeb\\xff\\x06\\x0f\\xd7\\xa9\\x9f\\x1c\\xbe\\x4d\\x7d\\x53\\x3d\\xf4\\xd2\\xa5\\xf7\\x3e\\xfe\\x8e\\xbe\\x06\\x95\\x30\\xcf\\xbe\\x61\\x83\\xf9\\xc1\\x47\\x3a\\x4f\\xbd\\xd9\\xda\\x78\\x9f\\x61\\x60\\x2f\\x75\\xb7\\x9a\\x3c\\xf1\\x36\\xf3\\x4b\\x2f\\xb9\\x61\\x35\\xf4\\xfc\\x4d\\x3d\\xe7\\x16\\x6f\\xb1\\xab\\x9f\\x6a\\x63\\x57\\xac\\x63\\x37\\x82\\xeb\\xda\\x14\\x92\\x45\\x66\\x86\\xaf\\x11\\x68\\xa6\\xd9\\x20\\x66\\x82\\xc7\\xc5\\x9c\\x16\\x13\\x12\\x1c\\x4e\\x09\\xbb\\xb5\\x16\\xa7\\x25\\x90\\xed\\x70\\x25\\x29\\x5e\\x82\\x7d\\xb9\\x54\\x91\\xd8\\xcd\\xdc\\x72\\x4c\\x36\\x24\\x64\\x62\\x3b\\x92\\x20\\x58\\x5d\\xc8\\x57\\xa8\\x82\\x99\\x62\\x62\\x55\\xa9\\xb5\\x10\\xfa\\xd9\\x57\\x71\\x99\\x4d\\xa8\\xdb\\xeb\\x9d\\x3a\\x3a\\xb9\\xfd\\xe7\\xf1\\xb3\\x4a\\x75\\x73\\xdb\\xd0\\xcd\\x8c\\xf2\\x76\\x54\\xf1\\x43\\x28\\x37\\x08\\x8a\\x0c\\x2b\\x5e\\xba\\x70\\x0a\\x96\\xa8\\xa7\\x47\\x7f\\xb3\\xff\\xb1\\x97\\x1f\\x8e\\x2e\\x7d\\xe4\\xd5\\x7d\\x07\\xbf\\x1b\\xa3\\x3e\\x27\\x54\\xab\\xbb\\x47\\x50\\xbb\\xba\\xf2\\x87\\xde\\x89\\x29\\x46\\xbf\\xf0\\x38\\x7c\\xa8\\xe6\\x6e\\xf9\\x7c\\x8b\\x5a\\x07\\x0f\\xb0\\x63\\xcb\\xe7\\x9f\\xc3\\xbc\\xa3\\xbd\\x86\\xa4\\xde\\xc2\\xda\\x14\\x3b\\x5f\\x57\\xf7\\x3e\\x5a\\xcb\\x2b\\xc2\\xd7\\x75\\x28\\x2d\\x35\\x9a\\xd2\\x12\\x4a\\x7c\\x41\\xb1\\x20\\x90\\x9d\\xe4\\x76\\x0b\\x76\\x7b\\x76\\x81\\x49\\x2c\\xeb\\x1c\\x08\\xb4\\xcf\\x6b\\x9f\\x1c\\xc4\\xce\\x15\\x1b\\x90\\x02\\x0b\\xb8\\xdc\\x2e\\xb4\\x8f\\xdd\\xc9\\xf8\\x97\\x67\\xc9\\xcb\\xac\\x8d\\xe4\\x59\\xe4\\xda\\x88\\x45\\xdb\\x8c\\x29\\xd8\\xd2\\x65\\xd1\\xbb\\x2a\\xae\\x72\\xdd\\x6b\\x46\\xbb\\x8c\\x0d\\x5a\\x38\\xb5\\xc6\\xb1\\x38\\xa6\\x93\\xfd\\xb1\\x61\\x68\\x2f\\xf5\\x67\\x65\\x97\\x96\\x94\\x61\\x99\\xbb\\x43\\x05\\x9b\\x47\\xd3\\xcd\\x24\\x25\\x4f\\x1b\\xbc\\x4d\\xd0\\x64\\x40\\x41\\x9b\\x40\\x8c\\x34\\x1d\\xb3\\xed\\xb9\\x7d\\xcd\\x23\\xde\\x03\\xbd\\xd4\\xc8\\xa7\\xcd\\x44\\xae\\x98\\x9b\\xb7\\xf5\\xd1\\xde\\xd1\\xaf\\x51\\xea\\xd6\\x2d\\x9a\\x71\\x87\\xbb\\x3e\\xff\\x9d\\x33\\xef\\xfe\\x64\\x5c\\xf7\\x56\\xfe\\xea\\xed\\x33\\xfb\\xd2\\x53\\xf0\\x55\\x7e\\xaf\\x85\\xeb\\xd7\\x2c\\xcd\\x51\\x77\\x5c\\x3c\\x13\\x6c\\xb7\\xa5\\x62\\x4c\\x27\\xcf\\x96\\xc2\\x1e\\x33\\x97\\x2e\\x98\\xee\\x3f\\xba\\xeb\\xec\\x8b\\x45\\x45\\x5b\\x82\\x7d\\x0b\\x32\\xb2\\x18\\xdf\\x4f\\x46\\xbe\\x5f\\x28\\x67\\x12\\x1f\\x5a\\x07\\x63\\xc3\\x1d\\xcd\\x6e\\x87\\xd1\\xeb\\x4d\\x95\\x7d\\xa8\\x2e\\x7c\\x6e\\xc1\\x9f\\x69\\x4f\\x93\\xd3\\xb0\\xb9\\xb5\\x18\\x95\\xb0\\x2c\\x92\\xd4\\x9a\\x88\\x8f\\x84\\x13\\x89\\x0b\\xcd\\x03\\x47\\x4d\\x84\\x30\\x72\\x68\\xde\\x39\\x4c\\xd2\\x19\\xcf\\x27\\x9f\\x65\\x8e\\xef\\x57\\xe1\\xf7\\x4e\\x1d\\xa5\\x6c\\xd4\\x1e\\x9c\\xdf\\x45\\x37\\x67\\x77\\x3e\\xfe\\x86\\x9c\\x0e\\x1a\\x9b\\xd3\\xb7\\xd4\\x4f\\xd4\\x17\\xa0\\x0f\\x64\\xde\\x06\\x3b\\xef\\x38\\x5e\\x78\\x6a\\x35\\x28\\x77\\x3d\\x30\\x58\\xfd\\xe2\\xf4\\x6d\\xea\\x98\\x2f\\xcf\\xbc\\xf6\\x89\\xd3\\x0b\\x2b\\x91\\x5a\\xdd\\x61\\xa1\\xe7\\xee\\xbb\\x12\\xd4\\x67\\xae\\xbd\\x65\\x95\\xa9\\xf1\\xbe\\x44\\xb0\\x0d\\x3c\\xf0\\xbc\\xf9\\x25\\x61\\xe7\\x5f\\xd4\\xb7\\x52\\xc4\\x49\\x5e\\xf5\\xa3\\xe6\\x66\\x75\\xa7\\xf0\\x0e\\xcc\\x97\\x77\\x63\\x0f\\xc9\\xaa\\x2e\\x82\\x0c\\xae\\x1b\\x7b\\x37\\xff\\x2c\\xbf\\x2d\\xdd\\xc5\\xe7\\x1a\\x53\\xb0\\x77\\xb4\\x20\\x5c\\x69\\xb3\\x5b\\xac\\xd8\\x39\\xf7\\x67\\xe5\\x67\\x1d\\x19\\x9d\\x9a\\x9f\\x28\\x13\\xf9\\xc8\\x68\\x07\\x21\\x76\\x6b\\x96\\x9c\\x2f\\x77\\x2e\\x25\\x7e\\x30\\x4b\\xfe\\x9c\\x9c\\xf4\\xfa\\x48\\x61\\xce\\xc9\\xd1\\x85\\xc5\\xf5\\xd8\\x47\\x17\\xed\\x82\\xc5\\x65\\x74\\xd7\\x47\\x04\\xe3\\xc9\\xd1\\x42\\x12\\x9e\\xdd\\x44\\x9f\\x6a\\xaf\\x40\\xdb\\x90\\x8b\\x3b\\x1f\\x93\\xe4\\x14\\x68\\x9d\\x73\\x8f\\xf7\\xa4\\x6a\\x69\\x85\\xd1\\x56\\x0a\\xb9\\xe3\\x5b\\x5c\\x47\\x28\\x66\\x25\\xe6\\xb6\\x19\\xd0\\x92\\xdf\\x7e\\x64\\xd7\\x03\\x0f\\x6d\\xdf\\xfb\\xe8\\xb6\\xc6\\x6b\\xd8\\xf4\\xfa\\x96\\x01\\xa3\\x47\\x0f\\xba\\x71\\xf4\\xc8\\xc1\\x0d\\x3b\\x5f\\xe9\\x3d\\xd6\\x7c\\xb7\\x6d\\xef\\xaa\\x27\\x9e\\x7e\\xea\\x89\\xa5\\x8f\\xb8\\x37\\x98\\x86\\xdc\\x70\\xf3\\x08\\x38\\x72\\xfe\\xbf\\x3f\\xff\\xe4\\xab\\x8b\\x5f\\x47\\x67\\x4a\\x2b\\x9a\\x3a\\x1d\\x7d\\x78\\x57\\xfd\\x81\\xc7\\x1e\\xa7\\xaf\\xaa\\x87\\x06\\x8f\\x30\\x2e\\xda\\xf6\\xed\\x87\\xe7\\xbf\\xbb\\x7b\\x9e\\xb9\\x72\\xd8\\xa3\\x5c\\xff\\xb9\\x9b\\x7f\\xa0\\x4b\\xa5\\x2d\\x6c\\x27\\x32\\x72\\x43\\x38\\x37\\x3b\\x39\\xd9\\x6e\\x31\\xa6\\x25\\x26\\x52\\xd4\\xf5\\x79\\xf9\\x37\\xe6\\x83\\x29\\x29\\xdb\\x8e\\x7f\\x19\\xd9\\x94\\x66\\xd3\\x6c\\x39\\xd3\\xad\\x10\\x99\\x04\\xcf\\x56\\x68\\x36\\x09\\xea\\x7a\\xc7\\xd9\\x62\\x60\\xe3\\xb0\\xf1\\xb6\\x2f\\x33\\x79\\xd9\\x6a\\x07\\x2c\\x4b\\x37\\x90\\xd1\\xd2\\x28\\x73\\xea\\x93\\x2e\\x54\\xc1\\xe2\\xea\\xe5\\x76\\x76\\x76\\xc1\\xd3\\x93\\xfc\\xbd\\x13\\x16\\x4c\\x9f\\xb1\\x2c\\x34\\xe8\\xc6\\xd2\\x55\\x8b\\x6f\\xba\\xe5\\xe1\\x3b\\xc3\\xf7\\x76\\x09\\x85\\x8a\\x6b\\x66\\x0d\\x7c\\x6f\\xc7\\x83\\x0f\\xed\\x3c\\x9c\\x92\\x71\\x7d\\x46\\x2a\\xbd\\xe1\\xbe\\xed\\x0f\\xdc\\x7b\\x4a\\x7d\\xe9\\xc6\\x9f\\x27\\xce\\x13\\x13\\xa6\\x2e\\x99\\x32\\x5f\\x95\\xc2\\x6c\\x29\\x1a\\xd6\\xef\\xf3\\x84\\x18\\xd8\\x18\\xab\\x05\\xb5\\x1a\\xeb\\x05\\x0f\\x0f\\x77\\xc8\\xf5\\x59\\x73\\xd2\\xdd\\x16\\x62\\x94\\x41\\x10\\x44\\xd1\\xe8\\xb6\\x8a\\xed\\xf2\\x83\\xed\\x20\\x25\\xd1\\x6e\\x02\\x49\\xf0\\xdb\\x1d\\x19\\x0e\\xea\\x70\\xe4\\x64\\x67\\x2b\\x44\\x64\\x5d\\x5d\\xe4\\x5e\\xfc\\xaf\\x66\\x5d\\xde\\x8a\\x10\\x2b\\x8f\\x37\\xae\\xcb\\xa3\\xcd\\x15\\xfa\\xc1\\x8b\\x2d\\x53\\x08\\x72\\x59\\xaf\\xad\\xb5\\x2a\\x33\\x85\\xf8\\x5a\\x64\\x2e\\xa4\\xb9\\xd1\\x8e\\xf2\\xee\\x3f\\xd1\\x0f\\x0c\\x8f\\x08\\x9d\\x9f\\x3a\\xbc\\xef\\xe9\\x23\\x07\\x60\\xf4\\x43\\x43\\x6f\\x9a\\x38\\x72\\x44\\xcd\\xa4\\x51\\xaa\\x83\\x2e\\x16\\xf7\\xaa\\x4d\\x23\\xa5\\x15\\x8d\\x83\\x77\\xcf\\x16\\x1e\\x68\\x58\\x46\\x8f\\x3c\\xff\\xc6\\xeb\\xa7\\x5e\\x78\\x5d\\x5d\\xb4\\x69\\xd5\\x9a\\x8d\\x1b\\x6f\\x5f\\x16\\xfd\\xe6\\xbe\\xfb\\xb0\\x5c\\x19\\xcd\\x97\\xa4\\x3f\\x60\\x5f\\xc7\\x84\\xf2\\x16\\x20\\x21\\x32\\x2c\\xdc\\x3e\\xdb\\x82\\xca\\x8d\\x2d\\xac\\x49\\x68\\x9f\\x9a\\x90\\x5a\\x5a\\x92\\x99\\xff\\xc7\\x48\\xa6\\x68\\x31\\xbd\\x1e\\x41\\xdd\\x65\\xf1\\x51\\x5f\\xc7\\x3f\\x46\\x7c\\x6e\\x6a\\x7e\\x3d\\x42\\x1d\\x97\\xcf\\x96\\x6b\\x37\\xf1\\x4b\\x36\\x35\\xfb\\x85\\x0d\\x94\\x30\\x03\\xa6\\x10\\x92\\x62\\x33\\x8a\\x80\\xe6\\x20\\x1f\\x20\\x2f\\x71\\x65\\x87\\x8a\\x45\\x97\\x52\\x42\\xb3\\x03\\x59\\x22\\xf5\\x24\\xb8\\xc4\\x50\\x71\\xb6\\x8b\\xce\\xb8\\x03\\x46\\xad\\x7e\\xe2\\x91\\xf5\\xef\\xfe\\xa9\\x6a\\xe4\\x88\\x41\\xf4\\xae\\x33\\xea\\xe1\\x33\\x7f\\x50\\x0f\\x3d\\xf7\\x12\\x54\\x9d\\x79\\x09\\x06\\xbd\\x38\\x66\\x9f\\xfa\\xd1\\xfe\\x7d\\xea\\xc7\\xfb\\x9e\\x80\\xac\\x27\\x9e\\x80\\xdc\\x7d\\x90\\x27\\x14\\xae\\x9e\\x35\\xf7\\x0e\\xb8\\x53\\xfd\\xb8\\x7f\\x65\\x9f\\x7e\\xea\\x07\\xec\\x95\\xd7\\x61\\xc0\\x0b\\x67\\xa0\\xea\\xa5\\x97\\xd5\\x23\\x2f\\x3d\\x01\\xfe\\xfd\\x4f\\xa8\\x1f\\x3f\\x8e\\xc7\\xbe\\x7d\\x90\\x8d\\xbc\\xf9\\x3c\\x5d\\xa4\\x24\\x61\\xbd\\xba\\x51\\x6a\\x6f\\x0c\\x17\\x7a\\x12\\xad\\x26\\x93\\xd9\\x49\\xb0\\x87\\x60\\x4e\\x14\\x52\\xd3\\x12\\x7c\\x49\\xbe\\x3f\\x45\\xec\\x66\\x89\\x90\\xc4\\xcc\\xc4\\xaa\\xc4\\xe5\\x89\\x62\\x22\\x28\\x8a\\xd3\\x92\\x24\\xf0\\x0a\\x75\\x86\\xde\\x44\\xdb\\xa3\\xb8\\xf8\\x2a\\xc6\\x32\\xeb\\x1b\\xd8\\x99\\xe3\\x5e\\x9e\\x9d\\x0d\\x14\\x85\\xdc\\xde\\x32\\xec\\xc7\\x00\\x37\\x3c\\xfc\\x1e\\x79\\xa7\\xd1\\xfc\\xcd\\xcd\\x7b\\x06\\x00\\x2c\\x3f\\x75\\xd1\\xde\\x6f\\xdf\\xc9\\xc6\\xfc\\xdb\\x9b\\xe9\\x9d\\x74\\x11\\x9d\\x96\\x98\\x19\\x7d\\x03\\x1e\\x7c\\x2b\\xc1\\x19\\x7d\\x56\\x50\\xa2\\x67\\x0b\\x5e\\x84\\x07\\x9b\\x7e\\xa3\\xdb\\xa2\\x93\\xe9\\xb6\\x19\\x33\\x58\\xbb\\x73\\x33\\xb6\\xaf\\x27\\xb1\\xce\\x02\\x28\\x4d\\x39\\xe9\\x49\\xb2\\x39\\xc9\\xec\\xb1\\xdb\\x4d\\x82\\x27\\xd9\\x2f\\xf8\\x73\\xb2\\xd3\\x7d\\x16\\x83\\x9c\\x92\\x9c\\x52\\x13\\x31\\x27\\xbb\\x08\\x36\\x35\\x58\\xcd\\xb1\\x21\\x2e\\x3e\\x98\\x12\\xd7\\x8d\\x0c\\x39\\x5b\\xc7\\x0f\\x32\\x89\\x13\\x45\\xa7\\x02\\x98\\xbf\\x1b\\x33\\xc9\\x35\\x8e\\x73\\x79\\x99\\xfb\\x5b\\x06\\xf0\\x79\\x20\\xc1\\x05\\x41\\x18\\x7d\\xfe\\x9d\\x41\\xcb\\x7e\\x8e\\x1e\\x3d\\xfa\\xdc\\x8f\\x1f\\x7c\\xf8\\xe3\\xb3\\xc7\\xa2\\x47\\x7f\\x5e\\x36\\xe8\\xed\\x0f\\x60\\xb4\\xb4\\x55\\x7d\\x5a\\xfd\\xf0\\x75\\xf5\\xe0\\xad\\x92\\xfc\\xc0\\x67\\x35\\x90\\x76\\xf2\\x5b\\x55\\xfd\\xf6\\x84\\xfa\\x65\\xed\\x67\\x0f\\xc8\\xd2\\x2c\\x18\\xf6\\x27\\xc8\\x85\\x1b\\xb5\\xf9\\xf6\\x91\\xcd\\x9f\\x8a\\xb7\\x89\\x95\\x28\\x4d\\x19\\x24\\x1c\\xce\\xca\\xb0\\xd9\\x44\\x9f\\xc7\\x92\\xe9\\x07\\x8b\\xe8\\xcf\\xb4\\x06\\x33\\x20\\x23\\x83\\xa4\\x1a\\x1c\\x4e\\x39\\x01\\x3c\\x09\\x90\\x40\\x12\\x49\\x45\\x71\\x75\\x35\\x57\\x09\\xc1\\x6a\\xcd\\xdd\\xa6\\xba\\x65\\xa8\\x40\\xca\\xca\\x65\\x6c\\xc4\\xa4\\xdf\\xe5\\xf1\\x3b\\xf9\\xa4\\x35\\x53\\x73\\x6e\\x27\\xd3\\x6e\\x8a\\x93\\x4e\\xdb\\x75\\x69\\xcd\\x5d\\x3f\\x6f\\xba\\xff\\xe7\\xdb\\x9b\\xfe\\x50\\xbc\\x67\\xd8\\xea\\xe3\\x83\\x2b\\x6b\\x3f\\xba\\x2f\\xb4\\x67\\xf8\\xd1\\xb9\\x59\\x1b\\x41\\x79\\xf0\\x00\\x90\\x3b\\xef\\x56\\xd5\\xbd\\xea\\x03\\x9d\\xfb\\x4c\\x5e\\x59\\xb0\\xfd\\x36\\x7a\\x27\\x78\\x4a\\x7b\\xcc\\x55\\xbf\\x67\\xb2\\x6f\\x68\\x7e\\x4d\\x19\\x2f\\x7d\\xc7\\x7d\\x2e\\x6c\\xd8\\xda\\x2f\\x09\\x5f\\x97\\x9f\\x62\\x17\\x48\\xa2\\xc7\\xd3\\x21\\x4b\\x34\\x03\\x55\\x0c\\x06\\xd9\\x42\\x25\\x73\\x16\\xb1\\x1b\\xcb\\x3a\\x77\\x48\\x61\\x81\\xfb\\xeb\\x23\\xed\\x72\\xac\\x72\\x7d\\xc4\\x62\\xb4\\x5a\\x45\\xa3\\x68\\xc8\\xc1\\x3f\\x81\\xba\\x5c\\xbe\\xfa\\x48\\xa2\\xcb\\x2d\\xb0\\xe8\\xa5\\xaf\\xf2\\x1e\\xbf\\xe3\\x15\\x3e\\x18\\xc2\\x9b\\x77\\x66\\xd0\\x69\\x93\\x8d\\xda\\xdc\\xf3\\x65\\xc3\\xf6\\x5c\\x45\\x18\\x21\\x60\\x04\\xc1\\x8f\\xd6\\x7f\\x08\\xcf\\xa1\\xd8\\x4c\\xbd\\x3e\\x1c\\x12\\x37\\xbe\\xa8\\xd5\\x5f\\x3a\\x78\\xd3\\xa9\\x7c\\x6b\\xe3\\xd1\\x7b\\xc4\\x01\\x4d\\x8f\\x47\\xd4\\xd3\\xd5\\x77\\x43\\x9f\\x3b\\xa1\\x87\\xba\\x70\\xf1\\xaf\\xd2\\x90\\xfa\\xbd\\x5b\\x8e\\xa4\\x2d\\xcd\\x3f\\x35\\xbd\\xae\\xcf\\x80\\xb3\\xf3\\xc3\\x8f\\x3f\\xbc\\x61\\x6f\\xe2\\xf2\\xa4\\x23\\xe3\\xc6\\x64\\x5f\\xb7\\x62\\xe9\\xac\\xb0\\xf4\\xdd\\x6f\\x9f\\xca\\x59\\x4d\\x73\\x49\\x73\\xb3\\x70\\x4b\\xd3\\x7d\\xf4\\x1b\\x75\\x6d\\x34\\x6d\\xe1\\xea\\x5b\\x16\\x26\\xdd\\x1b\\xee\\x59\\xd2\\xcd\\x1d\\xea\\x3e\\xa6\\xe7\\xdc\\x25\\x13\\x67\\x38\\xe6\\x95\\x5d\\x9b\\xd5\\x3e\\xc3\\x9f\\xd9\\x63\\x1c\\xf2\\x67\\x2d\\x1a\\x81\\x35\\x62\\x57\\x62\\x24\\x9d\\xc3\\x29\\x8a\\x40\\x8d\\x92\\x44\\x05\\x6a\\x32\\x1b\\x94\\xaa\\x88\\xc1\\x20\\x10\\x41\\xac\\x8a\\x08\\x1e\\x6c\\x28\\x5b\\xa6\\x9a\\x5a\\x7d\\xa1\\x9d\\x7c\\xad\\x42\\x88\\xfb\\x17\\xb2\\x29\\xff\\x03\\xc7\\xa2\\x40\\x6f\\x88\\x7e\\x4c\\xb3\\xc5\\xae\\x8d\\xaf\\xae\\x87\\x8a\\x3b\\xb5\\xb1\\xca\\x2a\\x6c\\x6f\\x17\\xf3\\xb1\\x4a\\x6d\\x3d\\x4b\\x94\\xfe\\xc6\\x7d\\x8e\\xe6\\x0a\\xbf\\x45\\xcf\\xb2\\xd5\\x3e\\xae\\xa4\\x96\\x35\\x18\\x59\\x98\\x76\\x8d\\x74\\x37\\xa6\\x9d\\xf3\\x1b\\x4f\\xcb\\x3c\\x5d\\x58\\x5a\\x51\\xd0\\xd2\\x06\\x5a\\xd3\\x56\\x35\\xff\\x22\\x0f\\xbc\\x12\\x2e\\xa2\\xfd\\x66\\xf4\\x2d\\x12\\x0a\\xfb\\x45\\x81\\xda\\x83\\xf6\\x19\\x76\\x0a\\x96\\xd3\\x16\\x70\\x58\\xc2\\x96\\x5a\\xcb\\x4c\\xcb\\x72\\x8b\\x14\\xec\\x01\\xf8\\x5b\\x3b\\x1f\\x8b\\x3e\\x51\\x0a\\xac\\x8b\\xc2\\x3d\\x9d\\x74\\xb8\\xdd\\x38\\xdc\\xbb\\x63\\x10\\x1d\\x79\\x1a\\x44\\xa7\\x4c\\xe6\\xa2\\xad\\x84\\x70\\x41\\xa0\\xe9\\xc1\\xf4\\x19\\xe9\\x94\\xc0\\x69\\xe6\\x51\\x1f\\x86\\x5a\\x98\\x09\\xcb\\x41\\x0a\\x8e\\x01\\xf6\\xdb\\xef\\xc0\\xad\\xd6\\xf1\\xbd\\x02\\xae\\x41\\xce\\xff\\x1f\\xe0\\x0e\\xfd\\x77\\x70\\x37\\xc6\\xc1\\x7d\\xa1\\x0d\\x5c\\x65\\x22\\x21\\x85\\xe1\\xa4\\xb6\\x70\\x97\\x03\\x04\\x7b\\xfe\\x2e\\x3c\\xe4\\x89\\x6b\\x9a\\x7f\\x10\\x9e\\x14\\x07\\x62\\x1f\\x72\\x7c\\xb8\\x87\\xac\\x28\\x6e\\x62\\x75\\x5b\\x93\\x53\\x1c\\xde\\xaa\\x48\\x26\\x5f\\x1c\\xfb\\x76\\xc2\\x67\\x09\\xd8\\x37\\x70\\xe8\\x6b\\x65\\x5f\\xc4\\x07\\x8a\\x11\\xbb\\x0a\\x89\\x76\\xee\\x8a\\x76\\x4e\\x16\\x4d\\x82\\x2c\\x9b\\x4c\\x42\\x55\\xc4\\xe4\\x20\\xad\\xb3\\xb3\\xd8\\x1f\\x1a\\x1b\\x5b\\x12\\xd1\\xa2\\x78\\xe3\\xec\\x5d\\x97\\xd3\\x41\\x5b\\x5d\\x59\\xe8\\xdf\\x57\\xdc\\x33\\x65\\xb6\\xed\\x99\\xb4\\x0b\\x8f\\x7f\\x76\\xe9\\xa7\\x2f\\x0f\\x7c\\xee\\xa9\\xb7\\xaf\\xa8\\xbd\\xf3\\x0e\\x9a\\xf5\\xc5\\x0b\\x53\\x47\\xd9\\xee\\x3f\\xa8\\x7e\\xae\\xfe\\xa4\\xfe\\x55\\xfd\\xfc\\xd9\\x07\\x2c\\x37\\x4f\\x7e\\x87\\xe3\\x0e\\x8f\\x90\\x3a\\x79\\x2c\\xed\\x45\\xac\\x2c\\x56\\x02\\x31\\x4b\\x46\\x4a\\x25\\xc9\\x62\\xb3\\x53\\xab\\xc1\\xc2\\x83\\x15\\xb4\\x64\\xae\\xf9\\x87\\x24\\x7a\\x03\\xb9\\x79\\xa5\\xcc\\xa3\\x5e\\xf1\\x7b\\xe8\\x8a\\xf2\\xee\\x95\\xcb\\x36\\x6c\\x58\\x56\\xd9\\xbd\\x5c\\xf8\\x04\\xda\\x5d\\xb7\\x72\\xcb\\xf5\\xd9\\xd7\\x6f\\x59\\x79\\xdd\\x70\\x0e\\xdb\\xd1\\xfc\\x32\\xbd\\x24\\x2e\\xd3\\x60\\x1b\\xcc\\x66\\xe4\\x4c\\xb4\\x1b\\xcd\\xc4\\x48\\xb5\\xa8\\x0e\\xc5\\xe5\\xe5\\xc1\\xf8\\x05\\x0c\\xdc\\xd0\\x09\\x25\\x7a\\x3d\\x6c\\x53\\x57\\x78\\xaf\\x15\\x9a\\xb0\\xbb\\x35\\x9f\\xa6\\xc0\\x95\\x78\\x9b\\x09\\xc7\\xdb\\x2a\\xd9\\xec\\x06\\x8b\\x60\\xbd\\x1a\\xde\\xb9\\x79\\x0c\\x30\\x73\\x77\\x2f\\xf3\\x97\\x4a\\xcb\\xe2\\xe1\\xc1\\xb2\\xdf\\xc5\\x3b\\x2b\\x6c\\x13\\xac\\x48\\x09\\x24\\x08\\x31\\x53\\xa3\\xb6\\xf6\\x48\\x8f\\xdc\\x10\\x5b\\x2b\\xd1\\xb9\\x8c\\x81\\x45\\xa2\\x24\\x7a\\x9d\\x21\\x5a\\xd8\\x0a\\xeb\\x91\\x78\\xe2\\xc4\\xe3\\xec\\x25\\xd7\\x86\\x53\\x88\\x59\\xa6\\x46\\xa3\\xec\\xb5\\x38\\x3d\\x36\\x9b\\x53\\x76\\xfa\\x92\\x6c\\x46\\xa3\\xd9\\x23\\x30\\x45\\x1c\\x44\\xf4\\xdb\\x0e\\x1d\\xbb\\x7e\\xaf\\x0e\\xe2\\xca\\x15\\x5f\\x1b\\x54\\x6d\\xbd\\x8e\\xab\\x97\\x96\\x8b\\x36\\xe5\\xf4\\xa2\\x2e\\xf3\\xd9\\x0d\\x58\\x43\\x84\\xe5\\x4f\\x7c\\x49\\x16\\xaf\\xcd\\xe3\\x6a\\x5b\\x51\\xad\\xc5\\x8e\\x33\\x02\\xe2\\x6b\\x2c\\x8e\\x0e\\x71\\x75\\xd7\\x72\\x11\\x5f\\x87\\x51\\xda\\x7a\\x4d\\x28\\xe2\\x51\\xc9\\xf1\\x10\\xd0\\x4e\\xe9\\x1e\\x4e\\x75\\x5b\\x2c\\x60\\xb7\\x8b\\x49\\x0a\\x9a\\x96\\x62\\x5a\\xaa\\x23\\xc5\\x95\\x94\\x88\\x0d\\x92\\x5d\\xb4\\xca\\x46\\xc2\\xf1\\x08\\x7e\\x7a\\xd6\\xd1\\xa6\\x1a\\x5a\\x86\\xef\\x24\\xec\\x1b\\xbb\\x7f\\x0f\\x2b\\x07\\x7c\\xa6\\x66\\xfe\\xe1\\x4a\\xd4\\x26\\x57\\x89\\x23\\x7f\\x07\\x39\\xde\\x9e\\x77\\x69\\xfe\\x5a\\x78\\x56\\xfa\\x03\\xda\\xf8\\x05\\x24\\x12\\x0e\\x79\\x0d\\x69\\x0e\\xa7\\x93\\x64\\x1b\\x88\\xa1\\x7d\\xa1\\x37\\x21\\x39\\xa1\\x2a\\x62\\xc9\\x1c\\x14\\xb1\\x5b\\x50\\x4f\\x26\\xcf\\x48\\xbe\\x98\\x2c\\xd8\\x93\\x4f\\x27\\x53\\xa3\\x90\\x2c\\xe5\\x55\\x45\\xa4\\xc4\\x60\\x7b\\xa8\\xd6\\xba\\xbf\\x6c\\xdc\\x9b\\x39\\x5c\\x14\\x5e\\xe6\\x89\\xa4\\x2d\\x62\\x4b\\x30\\x69\\xd3\\x6c\\x5a\\x63\\xef\\x0d\\x95\\x69\\x92\\x5e\\x86\\x77\\x2e\\x81\\x77\\x65\\xa8\\x66\\x24\\xbb\\x84\\x67\\x2b\\x37\\xbd\\xbf\\xfa\\xe1\\x83\\xcb\\xde\\x5a\\x3a\\x74\\x4d\\xa6\\x28\\xae\\x5c\\x51\\xba\\xb8\\x43\\xf6\\xac\\x99\\x2f\\x9f\\x7b\\xd7\\x39\\xbd\\xf7\\xa0\\xdb\\x47\\x8c\\x1a\\x3c\\xf0\\x8e\\x1a\\x61\\xff\\x2e\\xf5\\x0e\\xf5\\xeb\\x4d\\x6f\\x1c\\xdb\\x0b\\xdd\\x1f\\x9d\\x30\\x74\\xee\\x2b\\xef\\xe4\\x07\\x36\\x75\\x57\\xbf\\x8d\\x36\\x8e\\xbc\\x75\\xb5\\xda\\xb8\\xfa\\xd6\\xdb\\xef\\x07\\x33\\x96\\x8f\\xf9\\x58\\x7c\\x8e\\x76\\xa2\\x84\\x16\\xc0\\xc9\\xf0\\x6d\\x40\\x4c\\x26\\x6a\\x93\\xa8\\xe4\\xb0\\xcb\\x12\\xb5\\x89\\xb6\\x9a\\x88\\xe8\\x32\\x65\\xba\\x13\\x2b\\x8d\\x26\\x70\\x99\\x88\\xb0\\xcc\\x01\\x41\\x07\\xd8\\x1d\\xd0\\xec\\x80\\x8b\\x0e\\x38\\xed\\x80\\xc3\\x0e\\xb8\\xd7\\x01\\x33\\x1d\\x90\\xe9\\x80\\x0d\\x0e\\xa8\\xe0\\xbf\\x76\\xd5\\x7e\\x3e\\x17\\xfb\\xb9\\x16\\x15\\xb4\\x03\\x6a\\xf8\\x6f\\xda\\x6b\\x0f\\xf1\\xd4\\xf8\\x5a\\x15\\x7f\\x93\\x38\\xa0\\x75\\xb2\\x33\\xce\\x4d\\xbb\\x75\\xde\\x13\\x0d\\xa5\\xb1\\xd5\\x85\\x15\\x6d\\xa6\\xb6\\x5d\\xda\\xc8\\x08\\x84\\xc0\\xe3\\x2f\\xcb\\x01\\xec\\x20\\x63\\xef\\x1f\\xa8\\xe9\\x02\\xa8\\x8d\\x01\\x10\\x13\\xd4\\x27\\xd3\\x43\\xd4\\x98\\x51\\xa8\\x1e\\xc2\\x1e\\x83\\xe5\\xee\\xbb\\xed\\xc2\\xd8\\x7e\\x0f\\x5b\\x32\\x67\\x4c\\x6d\\x7a\\x14\\x75\\xf7\\x5f\\xd4\\x81\\xd2\\x41\\x2c\\xbb\\xc2\\x3c\\x37\\x05\\x91\\x28\\xa2\\x62\\x30\\x4a\\xb4\\x26\\x22\\xe1\\x0d\\x09\\x16\\x57\\xb4\\x59\\xca\\xc4\\x3d\\x4f\\xfd\\x4e\\xf1\\xe7\\xa6\\xfa\\xd3\\xe2\\x19\\x75\\xa0\\xbc\\xf1\\xb7\\x19\\x4a\\xe8\\xd7\\xb3\\x5a\\x3b\\xb0\\x03\\x61\\x75\\xe4\\x3e\\x80\\xbd\\xc3\\xd9\\x8a\\x80\\x76\\x90\\x81\\x9a\\x64\\xa4\\xaf\\xc5\\x2a\\x88\\x08\\xb8\\x26\\x42\\xb9\\x3f\\xa8\\x91\\x18\\xd1\\x70\\xcd\\xb4\\x22\\x5b\\x68\\x23\\x22\\xbe\\x8a\\x72\\x3e\\x30\\xdd\\x6a\\x16\\x69\\xa3\\x5c\\xcc\\x25\\x19\\x19\\xda\\x08\\x7e\\xcf\\x0e\\xba\\x38\\xba\\x45\\xec\\xd9\\x74\\x84\\x56\\x46\\xf7\\x09\\x8f\\xa8\\x03\\xa7\\x0b\\x1d\\x85\\xf6\\x53\\xb7\\x45\\xc5\\xa6\\xdf\\xb6\\x71\\xbf\\xb9\\x5a\\xb1\\x92\\xfe\\x1d\\x65\\x28\\x31\\x6c\\xd2\\xd6\\xed\\x1d\\x8a\\xc0\\x51\\x52\\x51\\xd8\\xb2\\xcc\\xd2\\xef\\xb9\\x49\\xf8\\x92\\xd6\\x62\\xd7\\x08\\xfb\\xf9\\xba\\xcf\\xb1\\x43\\x56\\xa2\\x1c\\xf7\\xe7\\xe0\\x14\\x2c\\xa5\\x3b\\xf0\\xfd\\x40\\x38\\x81\\xad\\x21\\x41\\x00\\x3b\\xb9\\x33\\x0d\\x85\\xb0\\x3d\\x57\\x5b\\x51\\xa7\\xfb\\x0b\\x33\\x60\\xcc\\x39\\x18\\x4e\\x7d\\xfc\\x31\\x7b\\x37\\xd4\\xfc\\x77\\x71\\xbc\\x3c\\x94\\x18\\xc8\\xa3\\xe1\\x9b\\x15\\x20\\xb2\\x6c\\xe0\\x2e\\xb7\\x06\\xa3\\x49\\xa2\\x87\\x23\\x76\\x09\\x4c\\x92\\x04\\xca\\x51\\x19\\x0e\\x9b\\xe0\\x5e\\x13\\xcc\\x34\\x41\\x95\\x09\\x3a\\x9a\\x60\\x83\\x09\\x66\\xf0\\x0b\\x87\\x09\\x2e\\x99\\xe0\\x46\\x13\\x04\\x4d\\x80\\x1d\\xcc\\xf2\\x9f\\x4c\\xf0\\xb6\\x09\\x9e\\x32\\x01\\x5e\\x9c\\x33\\xb1\\xd7\\x36\\xf0\\xd7\\x0e\\xc7\\xde\\xd1\\x92\\xb6\\x99\\x2c\\x1f\\x1b\\xbb\\xd1\\xe6\\xc7\\x83\\x21\\xe6\\xb9\\x3b\\xb6\\xba\\x30\\x4e\\x87\\x22\\x5d\\x99\\xdf\\x57\\x00\\xb0\\x97\\xe2\\x86\\x10\\xbd\\x65\\xaa\\xfa\\x75\\x3d\\xd8\\xfe\\x0e\\x4f\\xae\\xb0\\x09\\xbe\\xb9\\xd1\\x81\\xd2\\x1d\\x6c\\x8c\\x6f\\x04\\x79\\x43\\xaa\\x16\\xce\\x13\\x0f\\x1f\\xed\\x1e\\x1c\\xee\\x94\\x91\\xe4\\x90\\xb2\\x44\\x92\\x6f\\x26\\xe6\\x60\\x87\\xc4\\xcf\\x72\\x20\\xc7\\x96\\xfa\\x53\\x21\\x14\\x4a\\x49\\x59\\x0e\\x51\\xa8\\x30\\x80\\x21\\xec\\xf2\\x54\\x12\\x43\\x95\\x81\\x1a\\xdc\\x76\\x1b\\xd8\\x08\\xf6\\x84\\x3f\\x66\\x93\\x5b\\xde\\xf2\\xb3\\xd5\\xc5\\x6c\\x0c\\x37\\xc6\\xac\\x5e\\xee\\x81\\xc3\\xec\\x5a\\xa1\\x75\\xa8\\x42\\x9b\\x67\\xc8\\xc9\\x62\\x53\\x09\\x9a\\xa9\\x2b\\x71\\x79\\xd7\\x57\\x11\\x54\\x1f\\x59\\xf3\\xc6\\xea\\x5e\\x07\\x46\\xae\\x7f\\xf2\\xe9\\xb5\\xaf\\x2f\\xef\\x71\\x68\\xdc\\x5d\\x4f\\xa8\\x47\\xfb\\xcc\\xef\\x12\\x9a\\x3f\\x60\\xc8\\xf4\\xe9\\x6a\\x28\\x34\\x7f\\xe0\\xd0\\x29\\x93\\x47\\xf4\\x59\\x40\\x07\\xee\\xfd\\x04\\x92\\xd7\\x6c\\x78\\xf7\\xa9\\x03\\x1f\\xa8\\x5f\\xaf\\xdc\\xf4\\xfe\\x90\\xa5\\x2b\\x97\\x2f\\xdf\\x38\\x6b\\xda\\xa6\\x86\\xe5\\xcb\\x37\\xcd\\x98\\x79\\xcf\\x52\\xae\\xf7\\xb7\\x11\\x22\\xd7\\x8a\\xaf\\xa1\\xbc\\xfb\\xc2\\x46\\xca\\x16\\xe1\\x28\\x14\\xab\\x3b\\x18\\x3c\\xdb\\x12\\xb0\\x89\\x59\\xa9\\x1e\\x3f\\x6c\\x1b\\x2b\\x4e\\x6d\\xec\\x22\\xbe\\xd6\\x78\\xff\\x58\\x7c\\x2f\\xb1\\x59\\x15\\xf7\\x8b\\x06\\xec\\x4f\\x66\\x84\\xad\\x6e\\xb6\\xae\\xd1\\x94\\xe0\\xb1\\x4b\\x66\\xe6\\x58\\x5e\\x1c\\x8c\\x5f\\x27\\x20\\x39\\x4b\\x78\\xe8\\x22\\x88\\x39\\xd9\\xc8\\x1e\\x27\\x24\\xce\\x79\\x67\\xe5\\xaa\\x77\\xe7\\x4f\\x7a\\x65\\xf7\\x23\\x2f\\x52\\x4a\\xb6\\xfe\\xb4\\x66\\xf5\\xdf\\x37\\xab\\x84\\xd2\\x53\\x5f\\x7d\\xf1\\x92\\x4a\\x34\\x1f\\xec\\x5d\\xea\\x40\\xba\\x59\\xfa\\x92\\x24\\xc2\\x03\\xe1\\x66\\x5b\\x42\\x82\\xa0\\x28\\x3e\\xaf\\xd9\\x51\\x15\\x21\\xe6\\xb0\\x99\\x5a\\x05\\x6c\\xea\\xf1\\x7a\\x8e\\x0f\\x26\\xfa\\x60\\xa8\\x0f\\x7a\\xf9\\xa0\\xb3\\x0f\\x72\\x7d\\x90\\xe8\\x03\\xd9\\x07\\x5b\\x7d\\x70\\xbd\\x0f\\xca\\x7d\\xd0\\xce\\x07\\x49\\x3e\\x30\\xfa\\x60\\xd2\\x6f\\x3e\\xf8\\xce\\x07\\x1f\\xf9\\x60\\xaf\\x0f\\xe6\\xc5\\xfd\\x80\\x0f\\x9f\\xf1\\xc1\\x13\\x3e\\xd8\\xee\\x83\\x75\\x3e\\x58\\xec\\x83\\x69\\x3e\\x18\\xed\\x83\\x1b\\x7c\\x70\\x4d\\x2c\\x99\\xd9\\x07\\x8d\\x3c\\xe5\\x05\\x1f\\xbc\\xe1\\x83\\xe7\\x7c\\x70\\x80\\xa7\\x5f\\x1f\\x97\\xbe\\x25\\xbf\\x14\\x9e\\xbe\\xac\\x25\\x3f\\xed\\x85\\x43\\x3e\\x78\\xd0\\x07\\x77\\xf3\\x17\\xa6\\xfb\\x00\\x6a\\x7c\\x10\\xf6\\x41\\x47\\x1f\\x64\\xfa\\xc0\\xc1\\xf6\\x43\\x85\\x9f\\x7d\\xf0\\x95\\x0f\\xfe\\xcb\\x07\\xaf\\xf8\\xe0\\x98\\x0f\\x76\\xfb\\xe0\\x5e\\x1f\\xd0\\xe5\\x3e\\x98\\x19\\xce\\xf3\\x41\\xad\\x0f\\xaa\\x78\\xca\\x8b\\x3e\\x78\\xd1\\x07\\x4f\\xf1\\x04\\x33\\xf9\\xf3\\xa0\\x0f\\x32\\x7c\\x60\\xf7\\xb5\\xfa\\x8d\\xe8\\xc2\\x50\\xd3\\x66\\xb5\\x4b\\xcd\\xd5\\xd7\\xbc\\x5c\\xb1\\x36\\x66\\xd6\\x65\\xa9\\x62\\x8f\\xf9\\x04\\x8e\\xee\\x35\\xdc\\xba\\x70\\x55\\x9b\\xac\\x29\\x15\\x18\\xfb\\x6a\\x7e\\x81\\x1e\\x67\\x82\\x9c\\x7d\\x63\\xd9\\xb5\\xe5\\x07\\xe9\\x93\\x7b\\x47\\xb4\\xef\\xd4\\x73\\x48\\xe4\\x49\\x75\\xa0\\x7b\\x93\\xef\\x3b\\xf1\\xf9\\x83\\xf5\\xae\\xcd\\x29\\xf3\\x67\\x37\\xf6\\x3c\\x78\\x82\\xb5\\xa7\\x50\\x25\\xb6\\x17\\x7e\\x46\\xf9\\x6a\\x4f\\x5e\\x0d\\x5b\\xd3\\x0d\\x05\\x2e\\x83\\xab\\xa8\\x43\\x62\\xde\\xa1\\x48\\xfa\\xc9\\xe6\\x17\\x8f\\x05\\xae\\xad\\x4c\\x4f\\xc4\\x8b\\xa3\\xde\\xd4\\x4a\\x7e\\x76\\x24\\xf0\\x73\\x38\\xcb\\x68\\xa9\\x4c\\x0c\\xb7\\x0b\\xb7\\xbb\\xb6\\xb2\\x9d\\xdf\\x9f\\x72\\x28\\x32\\xc3\\x0f\\xc4\\xef\\xf0\\x53\\xb3\\xe0\\x37\\x87\\x89\\xe3\\x50\\x84\\x4d\\xd2\\x1f\\xcb\\xbb\\xb6\\xd2\\x40\\xf4\\xf7\\x89\\xfe\\xbe\\xee\\x34\\x6c\\xa9\\x24\\x61\\x17\\x7b\\xdf\\x65\\x36\\x4b\\x87\\x22\\x76\\xf3\\x39\\x33\\x35\\x87\\x31\\x1d\\x72\\x97\\xbb\\x12\\xa5\\x9b\\xeb\\x64\\xd4\\x74\\xac\\xef\\x5a\\x98\\xfc\\x49\\x61\\x61\\xe1\\x2b\\x85\\x2d\\x8e\\x82\\x97\\x3d\\x8e\\x6f\\x19\\xd0\\x0a\\xe7\\xad\\x75\\x29\\xa3\\x07\\x93\\xe2\\x32\\x8f\\x0d\\x84\\xf8\\xa7\\x89\\xad\\x8f\\xf3\\x7b\\x6f\\xbc\\x7e\\xcd\\xd0\\x8a\\xd9\\x7d\\x67\\x6f\\x99\\xb4\\xfa\\x96\\x5b\\x8b\\x56\\xce\\xee\\x3a\\x77\\x18\\x7f\\x76\\xdd\\x9c\\x1e\\x33\\xb6\\x95\\x2c\\x5b\\x99\\xb1\\x00\\x1f\\xf6\\x9c\\x45\\x7f\\x29\\x4c\\x2e\\xca\\x09\\xdd\\x3b\\x34\\x98\\x9f\\x39\\x76\\x4b\\x41\\xae\\x3a\\xaa\\x7d\\x72\\xb0\\x5d\\xf0\\xee\\xa1\\xc9\\x1d\\x2c\\xfe\\x31\\x9b\\x82\\xdc\\x16\\x26\\x3d\\x48\\x99\\x98\\x2d\\x39\\x50\\x2e\\xa7\\x84\\x7b\\x58\\xcc\\x56\\x93\\x43\\xc1\\xbe\\x97\\x00\\xd4\\x62\\x74\\xd9\\x24\\xa3\\xcd\\xe8\\x49\\x70\\x60\\xab\\x66\\x38\\x14\\x11\\x28\\xa0\\x66\\x17\\x0f\\x45\\x9c\\x72\\x86\\x14\\xe4\\xeb\\x98\\x2f\\x4a\\x92\\x64\\xb5\\x98\\x4d\\x76\\x23\\x54\\x19\\xdf\\x36\\x52\\xb6\\x0e\\xb1\\x9a\\x0d\\xa4\\xbc\\x55\\xad\\x0d\\xfd\\x84\\xda\\x4e\\x5f\\xc7\\x1c\\x54\\xf8\\xcc\\x83\\xdf\\x8d\\xfd\\x58\\x77\\x88\\x39\\x29\\xe0\\x01\\x2f\\x6e\\xdb\\x78\\xff\\x5f\\xa1\\xec\\x94\\x6a\\xa6\\xdd\\x76\\x6c\\xd8\\x06\\x1e\\xf5\\x91\\xd3\\x34\\x0d\\x46\\xaa\\x17\\xc1\\xbf\\x19\\x6e\\xde\\x0c\\xd9\\xea\\xc7\\x9b\\xd5\\xcd\\x9b\\x51\\xc7\\xd6\\x91\\x9f\\xc5\\xbe\\x62\\x95\\xbe\\x86\\x65\\x44\\xb8\\xc4\\xac\\x60\\xe3\\x88\\xcc\\x61\\xb5\\x30\\x44\\x8d\\x46\\x11\\x44\\xac\\xa0\\xa7\\x44\\xb0\\x8b\\x15\\xe2\\x0c\\x71\\x99\\x28\\x5a\\x04\\x91\\x35\\x6a\\x55\\x00\\x9a\\x8f\\x27\\x5b\\x59\\xc1\\xab\\x84\\x4f\\x9b\\x5d\\xd6\\xdb\\xd6\\xc6\\x13\\x58\\xa3\\x07\\xfa\\x51\\x27\\x7c\\xd9\\x94\\xa6\\x1d\\xc2\\xf3\\x9b\\x37\\x47\\xbb\\x6c\\xde\\x0c\\x75\\x88\\x0b\\x65\\xfb\\x8f\\x89\\xd9\\xe2\\x39\\xbe\\x7e\\xe3\\xfa\\x70\\x81\\x44\\x45\\x85\\x98\\x28\\xa1\\x66\\x8b\\x82\\xa8\\x28\\xd2\\x8d\\x72\\x8d\\xbc\\x41\\x16\\x64\\x21\\x4c\\xab\\xe8\\x72\\xca\\x88\\x58\\x25\\x2e\\x17\\xa9\\x48\\x92\\x50\\xcf\\x87\\x50\\xbb\\xe3\\x7f\\x7c\\x47\\x5f\\x6f\\xbd\\x81\\xad\\x51\\x92\\x30\\xeb\\x1e\\x98\\xed\\x5e\\x61\\x54\\x53\\x0a\\xb6\\xbf\\xf3\\xcf\\xc2\\xfa\\x1d\\xea\\x3e\\x75\\xdf\\xf6\\x1f\\x36\\x6e\\xd4\\xec\\xcb\\x1e\\x6d\\xf3\\xa7\\xb2\\xa0\\x10\\xa3\\x4c\\x64\\x3d\\x7f\\x21\\x2c\\xb2\\xec\\xb0\\xf4\\x37\\x92\\x1a\\xb2\\x01\\x49\\x26\\x4b\\x0c\\x0f\\xd4\\xa1\\xff\\x2e\\xff\\x32\\x66\\x3d\\x00\\x2f\\x7a\\x0f\\xcc\\x7b\\xaf\\x56\\xf4\\x1f\\xb6\\xc3\\x48\\x18\\xb9\\x43\\x9d\\x7b\\x36\\xba\\x2e\\x96\\xff\\x83\\x98\\x7f\\x99\\xb8\\x02\\xed\\x40\\x23\\x69\\x1f\\x4e\\xa0\\x06\\x89\\xc8\\x22\\x41\\x53\\xc5\\x6c\\x12\\x00\\xd0\\x88\\x91\\xd0\\x12\\x3a\\x1b\\xd4\\xd6\\xbe\\xc5\\xaf\\x21\\x0d\\x39\\x8d\\xe0\\xcc\\xf1\\xe3\\xf7\\x83\\x70\\x16\\xce\\x36\\xd5\\xd3\\x06\\x75\\x95\\xba\\x8a\\x2e\\xa6\\x72\\xb4\\x21\\xba\\x66\\x30\\x95\\x61\\xbf\\xca\\xfb\\x54\\x58\\xdf\\xc7\\xc4\\xbe\\x68\\x9f\\x48\\x24\\x25\\x6c\\x41\\x78\\x2c\\x8e\\x12\\xf2\\x21\\x20\\xe4\\x16\\xc4\\x11\\x67\\xee\\x66\\xce\\x6a\\xea\\xc9\\x63\\xb4\\xfb\\x7d\\xea\\x50\\xf6\\x2e\\xcd\\x8a\\xee\\x10\\xfe\\x2c\\xef\\x47\\x7d\\x91\\x8c\\xb6\\x0d\\x18\\xc0\\x9b\\xe8\\x34\\x6b\\x0d\\x56\\x6b\\x88\\x41\\x08\\xc4\\x86\\xc8\\xd9\\x4c\\x32\\x97\\x3b\\x45\\xf6\\xd0\\xe3\\x9b\\xf6\\x2d\\xad\\xb8\\x21\\x94\\x93\\x6e\\x75\\xe4\\xfa\\x1d\\xd9\\x46\\x39\\xba\\x43\\x19\\xfe\\xca\\x2f\\x15\\x1d\\xf3\\x4b\\x4c\\x86\\x82\\xbc\\xbc\\xc0\\x14\\xad\\x1f\\x2c\\x45\\x77\\xd0\\xe3\\x98\\x47\\x02\\xcb\\x83\\x26\\x18\\x12\\x3c\\x2c\\x0f\\x72\\x59\\x1e\\x21\\x67\\xeb\\x0c\\x84\\x37\\xd1\\xcb\\xc7\\xa5\\x68\\xd6\\xa6\\x3d\\xab\\xaf\\x19\\x58\\x9c\\xed\\x4f\\x36\\x65\\x64\\x38\\xd2\\xbc\\xf2\\xfe\\x5f\\xf7\\xbd\\xfc\\xcf\\x6e\\xc1\\xbc\\x52\\x87\\xd8\\x2e\\x27\\xb4\\x8c\\xb7\\x6b\\xbf\\xd0\\x1c\\xe9\\x38\\xad\\xc7\\xca\\xf3\\x1d\\x17\\x78\\xf8\\x82\\x93\\x40\\x8f\\x44\\xa0\\x89\\x59\\x68\\xda\\x42\\x2f\\x01\\x6b\\xca\\x24\\x9d\\xa6\\x39\\x5a\\xbd\\x00\\x7c\\x10\\xdd\\x44\\xa7\\x28\\x95\\xf8\\x8e\\xf7\\x28\\x15\\x44\\xe1\\x24\\xc8\\xc7\\x46\\x0b\\x2a\\x69\\xe0\\x83\\x4b\\xa0\\x21\\x14\\x80\\x0f\\x36\\x6e\\x54\\x2a\\x7f\\xb9\\x81\\xbf\\x43\\xef\\x8e\\x6e\\xe2\\xf9\\x48\\x24\\xf7\\x28\\x32\\x0a\\xe6\\x22\\xd7\\x8f\\xa6\\x8a\\xa4\\x12\\x81\\x67\\x48\\x9a\\xb4\\xf1\\x52\\x7c\\x5d\\x07\\xc1\\x1d\\x9c\\xe9\\xdd\\x42\\x7e\\x74\\xca\\x46\\x5a\\xbf\\xb1\\xf1\\x16\\x0d\\xdf\\xe8\\x26\\x21\\x5d\\x87\\x43\\x25\\x59\\xe2\\x70\\x90\\x2d\\x54\\x2a\\x71\\x38\\xf4\\x72\\x38\\x02\\x5f\\x34\\x6b\\x12\\xf2\\x37\\x62\\x01\\x1a\\x3e\\x11\\xef\\xd3\\xf1\\x61\\xe5\\xc6\\x32\\x48\\x24\\x3b\\x06\\xe7\\xd8\\x68\\x51\\xe1\\x50\\x8e\\x31\\x28\\xb1\\xc2\\xb4\\x14\\x88\\x39\\x3c\\xdd\\xbd\\x91\\xde\\xdf\\xf4\\x81\\x52\\xd9\\x78\\xcb\\x46\\x8d\\x76\\x42\\x3a\\x87\\x91\\x7b\\x54\\xa2\\x32\\xd5\\x71\\x11\\x1a\\xfe\\x1d\\x2e\\x21\\xa7\\x89\\xde\\xcf\\x70\\x11\\xef\\x6b\\xf8\\x24\\x8e\\x36\\x08\\x47\\x21\\x45\\xc7\\x25\\xc6\\xd8\\x1a\\x75\\x44\\xa3\\xa2\\x5e\\x86\\x4f\\x2b\\xb0\\x56\\x63\\x88\\x11\\x09\\xd1\\x42\\x2a\\x71\\xbc\\xe2\\xe9\\xc4\\x61\\xb6\\x3f\\xa6\\x88\\xd4\\xc0\\x90\\x0b\\x1b\\x47\\x13\\x83\\xac\\x22\\x7e\\x4a\\x1b\\xfc\\x62\\x30\\x5b\\x30\\x0c\\x70\\x1c\\x35\\x24\\x7f\\xb9\\x01\\x49\\xc6\\xe1\\xf1\\xfa\\x53\\x48\\xf0\\xb8\\x60\\xc4\\xce\\x88\\xd2\\x0a\\x90\\xad\\xad\\x8e\\xe3\\x1a\\xe6\\x02\\x1e\\x87\\x25\\x63\\x1f\\x5e\\x05\\xd2\\x69\\x56\\x93\\xc8\\x45\\x8d\\xb7\\xb0\\x5a\\xd0\\x79\\x8f\\xe3\\x18\\x3c\\xae\\x60\\xe7\\xa6\\x15\\x49\\xa1\\x81\\xd1\\xe1\\xdf\\xc2\\x64\\x9e\\x76\\x1e\\x4e\\xca\\xfb\\x39\\x9e\\xac\\x4a\\x62\\x78\\x22\\x4c\\x33\\xb9\\x26\\x6c\\x54\\xac\\x92\\xc1\\x80\\xea\\xd2\\xcc\\xe0\\x9a\\x47\\x13\\x8b\\x09\\x0b\\x6f\\xc0\\x96\\x15\\x21\\x1f\\x8d\\x48\\xac\\xfc\\xba\\xcb\\x7a\\x0b\\x09\\x9c\\x6d\\xe0\\xfb\\x75\\x52\\x70\\xf2\\xc6\\xb2\\xd1\\xd0\\x27\\xb4\\xf9\\x17\\x98\\x25\\x1d\\x17\\xa6\\xf2\\xb6\\xa2\\x43\\x98\\x7b\\x35\\x11\\x51\\x34\\x48\\x22\\xaf\\x33\\x29\\x1a\\x2b\\x41\\x63\\x6c\\xc6\\xa6\\x35\\xb6\\xa7\\xa0\\x2b\\x7f\\x24\\x4a\\x43\\x0f\\x94\\xad\\x0b\\x1b\\x37\\xaa\\xdb\\x74\\xbd\\x07\\x17\\xb0\\xee\\xfe\\xcc\\xe5\\x4b\\x21\\xf9\\x47\\x25\\xd1\\x80\\x00\\x95\\x63\\xa3\\x35\\xc6\\x10\\xeb\\x47\\x2b\\x02\\x92\\x1c\\xf9\\xa1\\xb8\\x22\\xd4\\x86\\x43\\x03\\xfc\\x40\\x50\\x30\\x59\\x13\\x3d\\xe3\\x71\\x14\\x3f\\x9d\\xbf\\x10\\x4f\\x23\\xb9\\xf6\\x38\\x76\\xff\\x50\\x9b\\x6b\\x74\\xa6\\xb2\\x6c\\x36\\xaa\\xa2\\xc2\\xd1\\x15\\xa3\\x31\\x49\\x6c\\x6c\\xf5\\x55\\x6a\\x99\\xea\\x74\\xea\\x12\\xe9\\x89\\x93\\x4a\\x4e\\x14\\x61\\xea\\xc6\\xf3\\x1b\\x9b\\xb2\\xb8\\x5e\\xb8\\xa0\\xf3\\x88\\x91\\x74\\x39\\x2a\\x1b\\x4d\\x46\\x44\\xf6\\xd8\\x68\\x2a\\x99\\x90\\x87\\x95\\xfa\\xd1\\x60\\xa6\\xb2\\x51\\xc6\\x2c\\x8e\\x47\\x8c\\x4d\\xa2\\x41\\x25\\xdc\\xf9\\x86\\x84\\xf4\\x12\\xe8\\xa5\\xf0\\xe8\\x4b\\xdc\\x9d\\xd2\\x71\\x35\\x0d\\x41\\x73\\xc9\\x67\\x64\\x97\\x02\\x31\\xda\\xf0\\xb2\\x48\\x58\\xc3\\xbd\\x8e\\x1a\\x65\\x8b\\xcc\\x69\\x23\\x10\\x8b\\x46\\x1b\\x6a\\x30\\x58\\x65\\xcc\\x99\\x9e\\x88\\xc8\\x51\\x73\\xab\\x7a\\xd1\\x0b\\x15\\xaa\\x68\\x9d\\xbe\\x8d\\xd7\\x33\\xfa\\xf7\\x05\\xe1\\xe3\\xa6\\xe3\\x48\\x3e\\x3a\\x07\\x33\\xc7\\xa2\\x35\\x3c\\x2b\\xce\\x60\\xa5\\xd3\\xe5\\x89\\xd3\\xb0\\xeb\\x31\\xa3\\x2c\\x98\\x04\\x8d\\x84\\xd8\\x17\\x37\\x19\\x54\\x59\\xe0\\x24\\x94\\x1b\\xa9\\x51\\x13\\xac\\xe8\\x55\\x48\\xa8\\xd5\\x7a\\xa9\\xb6\\x88\\xdf\\xc4\\x88\\x87\\x3a\\x09\\x66\\x61\\x19\\x1b\\xda\\x09\\x9f\\xc6\\x64\\xf6\\xcf\\x9c\\x7e\\x5d\\xaf\\xa0\\x5f\\xd8\\x34\\x9a\\x98\\x90\\x6a\\xf2\\x95\\xb2\\xd6\\x96\\x82\\x42\\x2c\\x48\\x00\\xea\\xbc\\x8f\\x19\\x01\\x35\\xad\\xa7\\x31\\x2d\\xd5\\xf2\\x68\\xa1\\x9f\\xd9\\x60\\x31\\xf0\\x5c\\x88\\x60\\x11\\x78\\x2d\\x89\\x46\\xa3\\xc5\\xa4\\xd1\\xcf\\x14\\xa5\\x8a\\xca\\x99\\xf9\\x48\\x44\\xfa\\x7d\\xfa\\xb1\\x91\\x87\\x52\\x36\\xd9\\x58\\xea\\x17\\xfe\\xbc\\xb1\\xe9\\x38\\x9d\\xb3\\x51\\x4d\\xa3\\x73\\x84\\xa9\\x0d\\xed\\xa4\\x3e\\xbc\\x6c\\x1b\\x19\\x0f\\x32\\x59\\x41\\x9e\\x36\\x92\\xf2\\xe3\\xc8\\x77\\xbc\\x74\\x4c\\xc7\\x19\\x0c\\x66\\x5e\\x5d\\x48\\xbd\\x68\\x4c\\xd9\\x35\\xb6\\x28\\xbb\\xc2\\xb6\\x0c\\x18\\x8a\\xad\\x7c\\xd1\\x35\\x9e\\xa6\\x8c\\x9b\\xb2\\xb0\\x98\\x9c\\xff\\x74\\x7d\\x62\\x24\\xa5\\x47\\x29\\xcf\\x01\\x39\\xc3\\xc0\\xe9\\x87\\x45\\x14\\xcd\\x06\\x06\\xbf\\x3e\\x42\\x0d\\x4d\\x44\\x6e\\xe0\\x6e\\x90\\x85\\x6d\\x99\\x4f\\x13\\x79\\xcc\\x4b\\xe8\\xb1\\x11\\xbe\\x6c\\xca\\xde\\x78\\x9e\\xab\\x54\\x29\\xc0\\x94\\x2a\\xf2\\x9e\\x5e\\x06\\x8d\\x76\\x06\\xae\\x57\\x14\\x56\\x43\\x16\\x89\\xf3\\x9e\\x49\\x14\\xad\\x06\\x33\\x2f\\x83\\xa1\\x91\\x17\\xe6\\x38\\xb2\\x82\\xac\\x89\\x6a\\xdb\\xe2\\xc4\\x67\\xa8\\x7f\\x5f\\xd8\\x28\\xdc\\xd0\\x94\\x8d\\xa2\\x0b\\x5f\\x46\\xef\\x52\\x2a\\x1b\\x9e\\xdd\\x28\\x9d\\xc7\\xa2\\x31\\xbe\\x80\\x59\\x5c\\x97\\x6b\\xbc\\x47\\x4d\\xb4\\x95\\xf7\\x94\\x86\\xff\\x2d\\xef\\x85\\x34\\xde\\x43\\xa5\\xc6\\x79\\x4f\\xf8\\xb4\\xa1\\x9d\\xae\\x8b\\xb9\\xce\\x61\\xbc\\x47\\x14\\x93\\xc2\\x4b\\xa6\\xf1\\xb9\\x88\\xbc\\x07\\x26\\x83\\xd8\\x20\\x53\\x0a\\xad\\x0d\\xc7\\x55\\x78\\x0f\\xb4\\x0c\\x18\\x01\\xff\\x8c\\x45\\xf9\\x52\\x63\\x3f\\x9d\\xf9\\xb8\\xbe\\xe4\\x79\\xc4\\xd3\\x2f\\x9e\\xf7\\x8c\\x00\\x2d\\xbc\\xd7\\x28\\xca\\x0d\\xb1\\xdc\\xa2\\xbf\\x2f\\xbb\\x2c\\x3f\\x7f\\x48\\xe3\\xbd\\xa6\\x6c\\xe1\\x86\\x8d\\xaa\\xb2\\x31\\x7a\\x17\\x7c\\x89\\x65\\x93\\xfa\\x34\\x72\\x85\\xda\\xda\\xbe\\x9a\\x49\\x8f\\x7a\\x24\\x9f\\x49\\x6f\\x10\\x8c\\x8c\\xfb\\xac\\x66\\xf5\\xdf\\xf1\\x5f\\x5b\\x1d\\xd8\\x86\\x07\\x5b\\xda\\x5d\\xbd\\xed\\xe5\\x6c\\x88\\xba\\x42\\xd7\\x51\\xbc\\x5d\\x33\\x93\\x8a\\xa3\\x5a\\x76\\x4c\\x35\\xc9\\xb2\\x62\\x61\\x84\\xc5\\xa6\\x48\\xb4\\x2a\\x66\\x95\\x18\\x2e\\xb7\\x14\\x42\\x2d\\x04\\x75\\xb6\\xe5\\x49\\xae\\xda\\x39\\x57\\xa2\\x62\\x62\\x2d\\x85\\xde\\xd6\\x73\\x0d\\xcf\\x62\\xae\\xc4\\xf2\\x64\\xf1\\xef\\xec\\xa4\\xaa\\xde\\x62\\x30\\xd8\\x8d\\x0e\\x4d\\x04\\x08\\x38\\x80\\x63\\x60\\x93\\x65\\xa7\\xc5\\xce\\x0b\\x69\\x69\\xe4\\x7a\\x3f\\x6c\\x44\\xc5\\x6f\\xa2\\x0d\\x46\\xe0\\xfa\\x38\\x74\\x15\\x36\\x0d\\xe9\\x56\\x2c\\xf7\\xef\\x62\\x93\\xea\\xdc\\x12\\x9a\\xba\\x71\\xe3\\x79\\xae\\x25\\x39\\xbb\\x46\\x37\\x19\\x8f\\x23\\xc3\\x36\\x65\\x19\\x8f\\x33\\x96\\x8d\\xb3\\x3f\\x90\\x02\\xc7\\x19\\xcf\\x5a\\x4c\\x5a\\x1b\\x8c\\x4c\\x8b\\xad\\x70\\x3c\\xdb\\x9a\\xaf\\x60\\xdb\\x38\\xbe\\x6d\\xc3\\xb8\\x81\\x16\\xd6\\x8d\\xf1\\xee\\x2f\\x37\\x08\\x9f\\x6a\\x6b\\xdd\\x7f\\xd1\\xdb\\x4c\\x46\\xf3\\x6e\\x3a\\xcd\\x95\\xe3\\xa3\\xd1\\x2c\\x63\\x2d\\x84\\xc8\\x5b\\x7f\\xb3\\xac\\x1a\\xae\\x30\\x7e\\x5a\\x49\\xde\\xc6\\x48\\x0b\\x30\\x1c\\x02\\x26\\xe4\\x61\\xde\\x9a\\xb6\\x98\\x42\\x52\\x80\\x11\\x5c\\x68\\xc9\\x4f\\xa3\\xf7\\x8d\\xf5\\xb2\\xc9\\x64\\x34\\x3b\\x34\\x86\\xa6\\x82\\x43\\x63\\x68\\xc5\\x6a\\x75\\xd8\\x2d\\x9c\\xa1\\xed\\x51\\xc1\\xac\\xc6\\x9a\\xbf\\x46\\x22\\x72\\xfd\\x73\\x35\\xae\\x8e\\x69\\xba\\x80\\x36\\x21\\xeb\\xd6\\x14\\x6b\\x0f\\x6e\\x1f\\x30\\xce\\xde\\xc8\\xb5\\xab\\xd6\\xba\\x23\\x83\\x6b\\xfa\\x95\\x6a\\x76\\x0f\\xea\\x75\\x56\\xfe\\x9e\\x27\\xcc\\x82\\x60\\x15\\x39\\xb3\\xa1\\x8e\\x35\\x20\\xc9\\x8d\\x06\\xad\\xb2\\x8d\\x8d\\xf1\\xe6\\x5a\\x34\\x26\\xc6\\x6d\\x14\\x6d\\xbc\\xd1\\xa6\\xdb\\x28\\xc8\\xe0\\xd1\\x29\\xd2\\x69\\xa4\\x3a\\xd6\\xb1\\xf0\\x29\\xa3\\x48\\x9c\\x4d\\x68\\x26\\xe1\\xe3\\x82\\xb5\\x45\\x9e\\xc5\\x16\\x2e\\x27\\x16\\xd9\\xa4\\x1a\\xae\\x30\\x0f\\x2f\\xd3\\x1b\\xf1\\xf9\\x05\\x34\\x43\\x51\\x6b\\xfa\\x75\\x53\\x51\\xb7\\xb7\\x84\\x96\\x32\\x4a\\xdc\\xe3\\x6b\\x08\\xb6\\xfe\\x0e\\xd6\\xfa\\xa3\\x20\\xdb\\x04\\xc1\\x21\\x51\\x07\\xe5\\x5c\\x6e\\x35\\x18\\x9c\\x76\\x1b\\x57\\xf5\\xf6\\x46\\x23\\xef\\x9f\\xe0\\xa5\\x2c\\x46\\xcd\\x3a\\x93\\xc7\\xd6\\x9a\\xc6\\x17\\x59\\x97\\x36\\x4e\\xed\\x90\\x26\\x71\\x1e\\x7f\\x29\\xb2\\x39\\xa3\\xb6\\xc6\\xe9\\x74\\x4e\\x43\\x0f\\xac\\xf5\\x4f\\x19\\x0d\\xa4\\xf3\\x5c\\xb7\\xe8\\x36\\xa0\\xce\\x77\\x3d\\x4f\\x10\\x83\\xc1\\x22\\x51\\x8b\\xd6\\x13\\x50\\xcc\\x66\\x6b\\x0b\\xdd\\xa3\\xf1\\x26\\x6d\\xe3\\xbf\\xa3\\x3b\\x17\\x30\\x4e\\x77\\x6e\\x78\\xea\\xe6\\xa1\\xf0\\x29\\x0a\\x16\\x37\\x11\\x5b\\xed\\x66\\x46\\x77\\xcc\\x22\\x66\\x03\\x69\\x19\\x6b\\xac\\xae\\x08\\x0d\\xc6\\x2b\\x4c\\xe8\\xab\\xd3\\x5d\\x9f\\x36\\xc3\\xfc\\xb8\\xc2\\x86\\x2f\\x5b\\x54\\x36\\x37\\xa9\\x19\\xdd\\xe3\\xda\\x3d\\x3b\\x19\\x7c\\xc2\\x68\\xb1\\x38\\x0c\\x2d\\xcc\\x2e\\x39\\x34\\xfb\\x4e\\xb4\\xdb\\x9d\\x56\\x0b\\xa7\\xb5\\x35\\x2a\\xf1\\xe6\\x97\\x35\\xb6\\xa6\\xc6\\xd6\\xc6\\xb6\\x2d\\xd9\\x5b\\x4b\\xdd\\xda\\x0e\\x96\\xfa\\x59\\xc9\\xb9\\xa2\\x8b\\xde\\xa5\\x73\\xbc\\x9a\\x26\\x9d\\xe6\\xea\\x55\\x9c\\x81\\x0c\\x8f\\x0a\\x7e\\x63\\x9c\\x9d\\xef\\x26\\xa3\\xc2\\x56\\xb3\\xdd\\xee\\xb1\\x1a\\x1d\\x0e\\x99\\xba\\x13\\xdc\\x4c\\xcf\\x58\\x99\\x9e\\x49\\x70\\xa1\\x9e\\xb1\\x88\\xdc\\x82\\x39\\x11\\x31\\x4a\\x8d\\x0e\\x8d\\x11\\x8f\\x46\\xac\\x8c\\xf3\\x63\\x8b\\x55\\x5b\\x3b\\x00\\x31\\x9d\\xe3\\x8c\\xeb\\x06\\xe8\\xaa\\xa7\\x75\\xc5\\x6d\\x4c\\x05\\xb5\\x68\\x7e\\x5d\\x15\\xe9\\xea\\x5f\\xd3\\x47\\xf1\\xf8\\x0d\\x0f\\x1b\\x45\\x8f\\xcb\\x68\\xb4\\x5b\\x12\\x90\\x3a\\xe2\\x09\\xa4\\x98\\xe4\\x36\\x24\\x18\\x34\\x11\\xb1\\x26\\x10\\x07\\x56\\x95\\xd5\\x66\\xe5\\x58\\xba\\xa8\\xad\\x89\\xb5\\x0c\\x7c\\x8d\\xd6\\x65\\x75\\x16\\xef\\x75\\xd8\\xda\\x30\\x68\\xd1\\xa5\\x4a\\x5b\\xcd\\x16\\x2e\\x3b\\x6a\\x1a\\xab\\x4c\\xbd\\x91\\xd0\\x6a\\x93\\x57\\x2a\\xf3\\xab\\x6b\\xc1\\x8d\\xd5\\xa7\\x93\\x78\\xc9\\xf4\\x7a\\x6a\\xb7\\x4b\\x16\\x9f\\x85\\xa1\\x64\\x19\\xed\\x31\\x1a\\x7d\\x09\\x66\\xb3\\xd7\\xe0\\x63\\xb6\\x21\\x6b\\x26\\x6d\\xb6\\x24\\xc9\\x93\\xe8\\x61\\xac\\x6c\\x8e\\xd0\\xc4\\x46\\xe2\\x6a\\xb0\\xc7\\x2a\\xd8\\x62\\x8a\\x3a\\x95\\x78\\xb9\\xd2\\x2f\\x2e\\xf7\\x92\\x8c\\xd7\\x6d\\x6c\\x58\\x2e\\x5e\\xd2\\x42\\xba\\x8e\\x63\\x95\\x7e\\x3e\\x4e\\xe2\\x74\\x06\\xe0\\x95\\xdf\\xf0\\xac\\x26\\x79\\x5c\\xeb\\x69\\xf3\\x5a\\x84\\x4e\\x97\\x0e\\x70\\x1d\\xec\\xaa\\xe7\\xb1\\x6c\\x1a\\x58\\x4c\\x93\\x96\\xde\\x8a\\xd3\\x2f\\x1d\\x68\\x18\\x26\\x1d\\xa0\\xd3\\xc5\\x8f\\xb4\\xf4\\x58\\x6e\\xbc\\x6b\\x4d\\xcf\\xf4\\x41\\xf0\\x8a\\xf4\\xd1\\x4d\\xe2\\x87\\xad\\xe9\\x39\\x7c\\xf7\\x09\\x1d\\xbe\\xda\\x1a\\xff\\x26\\xfe\\x05\\xe3\\x71\\x3d\\x3d\\x7d\\xff\\xaa\\xe9\\xf9\\x3c\\x2a\\xa6\\xa7\\xef\\x47\\x0b\\xf0\\xd0\\xd2\\xd3\\xf7\\xe2\\xe0\\x83\\x48\\xa4\\x2b\\xd3\\x23\\xec\\x96\\xf4\\x05\\x64\\x52\\xf4\\x9f\\xd2\\x01\\x79\\x4f\\x4b\\x7c\\x1d\\x37\\xf7\\xf6\\x8e\\xad\\x10\\x0c\\x92\\x10\\x29\\x23\\xd7\\x90\\x0a\\x72\\x1d\\xe9\\x4b\\x6e\\x20\\x37\\x92\\x21\\x64\\x04\\x19\\x4d\\x6a\\xc8\\x04\\x32\\x89\\x4c\\x23\\x33\\xc8\\xad\\x64\\x3e\\x59\\x4c\\x96\\x91\\x55\\xe4\\x0e\\xb2\\x9e\\x6c\\x20\\x9b\\xc8\\xfd\\x64\\x27\\x79\\x88\\xec\\x61\\xfb\\x2e\\xb8\\x43\\x9e\\x40\\x8e\\x7e\\x48\\x71\\xd7\\xca\\x7f\\xf0\\xdc\\xfb\\x7f\\x48\\x0f\\xff\\xe6\\xda\\x79\\x95\\x63\\xd2\\xe4\\xc9\\xb0\\x0b\\x8f\\xdd\\x93\\x26\\x45\\x37\\xe2\\xf9\\x21\\xed\\x38\\x37\\x69\\x92\\x5a\\x3b\\x79\\xb2\\x3a\\x7e\\xf2\\x64\\xd1\\x8a\\xe7\\x71\\xda\\x71\\xae\\x35\\xf5\\xb9\\xab\\x3e\\xfd\\x1d\\x18\\xe7\\x5a\\x9f\\x36\\xbd\\xd4\\x7a\\xdd\\xf8\\x8f\\xd6\\x37\\xd9\\xb9\\xf5\\x23\\x65\\x8d\\x67\\x9f\\x71\\xb5\\xad\\x9f\\x09\\x57\\x5e\\x8f\\x63\\x9f\\xf1\\x63\\xd9\\x67\\x3c\\xbf\\xd6\\x1e\\x2b\\x7f\\xe5\\x2f\\x43\\x80\\xdf\\xa9\\x17\\xc7\\xab\\x17\\x6b\\xd5\\x4f\\xf0\\x7f\\x9c\\xfa\\xe9\\x38\\xe5\\xc7\\x5a\\x32\\x14\\x79\\xeb\\xff\\xbb\\xba\\x3f\\x40\\x0e\\x93\\xa3\\xe4\\x04\\x79\\x8e\\x9c\\x26\\x2f\\x93\\xd7\\xc8\\x1b\\xe4\\x1c\\x79\\x97\\x9c\\x27\\x1f\\x91\\x8b\\xe4\\x4b\\xf2\\xdf\\xe4\\x2f\\xe4\\x27\\xf2\\x0f\\xf2\\x2f\\xec\\x43\\x37\\x83\\x00\\x0a\\x98\\xc1\\x0e\\x6e\\xf0\\x42\\x0a\\x64\\x40\\x00\\xf2\\xa0\\x10\\x82\\x10\\x82\\x32\\xb8\\x06\\x2a\\xe0\\x3a\\xe8\\x0b\\x37\\x30\\x87\\x43\\xc6\\x4f\\x65\\x57\\x39\\xa4\\xff\\x1f\\x9e\\xe7\\x5c\\xf6\\x2c\\xc6\\x8b\\x79\\x57\\x39\\x94\\xdf\\x81\\xe3\\xfd\\x5f\\xa6\\x87\\xff\\xe5\\x73\\xb7\\x0e\\xcb\\xfb\\x3f\\x9c\\x9d\\x7a\\xda\\x49\\x9c\\x29\\xf1\\xff\\x6d\\xfe\\x8f\\x17\\x8d\\x77\\x21\\x53\\x6b\\xff\\xda\\xd3\\x49\\x93\\x9a\\x46\\xfd\\x1f\\x52\\xc1\\xae\\xf8\\x34\\x2f\\x4d\\x9a\\x24\\x3c\\xd6\\x36\\x11\\xfe\\x4f\\xba\\x02\\xd8\\xa4\\xff\\x20\\x4d\\xe3\\x3f\\xfe\\x13\\x1c\\xb4\\x57\\x27\\xfd\\xde\\x37\\x3b\\xeb\\x52\\x36\\xfe\\x0a\\x59\\xab\\xfd\\x1d\\xb9\\xfb\\xdd\\xe7\\xe3\\x5a\\x3f\\x9a\\x3c\\x8e\\x8d\\x93\\xca\\x71\\x71\\xb2\\xd9\\x46\\x42\\xc7\\xc7\\xcb\\x69\\x6d\\x4c\\x5a\\xc7\\xe9\\xc0\\xf1\\x40\\x60\\xec\\x16\\x93\\x63\\x22\\x82\\xd2\\xc8\\xda\\x90\\xf7\\x50\\x6e\\xaf\\x27\\x03\\xc8\\x20\\x32\\x8c\\x44\\x48\\x35\\x19\\x47\\x6e\\x22\\x53\\xc8\\x74\\x32\\x8b\\xcc\\x25\\x0b\\xc9\\x12\\xb2\\x82\\xac\\x21\\xeb\\xc8\\xdd\\x64\\x23\\xd9\\x42\\xb6\\x93\\x07\\xc9\\xc3\\xe4\\x31\\xf2\\x04\\x39\\x44\\x9e\\x26\\xc7\\xc9\\x33\\xe4\\x05\\x72\\x86\\xfc\\x81\\xbc\\x4e\\xce\\x92\\x77\\xc8\\x7b\\xe4\\x02\\xf9\\x84\\x7c\\x4e\\xbe\\x26\\xdf\\x91\\xbf\\x92\\xbf\\x91\\x7f\\x92\\xdf\\x48\\x14\\x00\\x24\\x30\\x82\\x15\\x9c\\xe0\\x81\\x24\\x48\\x03\\x3f\\xe4\\x40\\x3b\\x28\\x82\\x4e\\x50\\x0a\\xe5\\xd0\\x0d\\x7a\\x40\\x6f\\xb8\\x1e\\x06\\xc0\\x20\\x6c\\x74\\xd0\\x4e\\x28\\x0d\\x5c\\xe5\\x08\\x79\\x7e\\xef\\x08\\x78\\xb0\\x33\\x72\\xe5\\x01\\x97\\x25\\xf4\\xe2\\xb3\\xbc\\xb8\\x43\\xb9\\xec\\x77\\x09\\x9f\\x95\\xc5\\xdf\\xe3\\xe1\\xc7\\x43\\x29\\x0d\\x78\\x72\\xf0\\xec\\xc6\\x73\\x20\\xee\\xb8\\xfc\\xfd\\xff\\xf1\\xf7\\xcb\\xf2\\x87\\xcb\\xef\\x2f\\xc3\\x33\\xf6\\xbe\\xa2\\xe3\\xc5\\xf0\\xf1\\x22\\x5c\\xef\\x65\\xf0\\xdd\\x97\\xdf\\xeb\\xef\\xc7\\xce\\xd2\\x7b\\x0d\\x85\\x53\\x5b\\x3f\\xd3\\xd8\\x1f\\xfb\\xc4\\xce\\xb1\\x4f\\xc3\\x96\\xd6\\x47\\xef\\xe3\\xff\\xd4\\xa9\\xef\\xe1\\xbf\\xfe\\x2c\\xfa\\xfd\\x54\\xfd\\xc7\\xa6\\xfd\\xd3\\xa0\\x62\\xda\\x7b\\xd3\\xe0\\xc0\\xb4\\x56\\x30\\x71\\xb0\\xda\\xde\\xb7\\x00\\xa2\\x89\\xfc\\xe6\\x3d\\xfe\\x4f\\xff\\xc2\\x52\\xb4\\x64\\x30\\x8d\\xc1\\x56\\x87\\xe3\\x2f\\xef\\xc5\\xde\\x6e\\x39\\xb3\\x34\\xd3\\xf8\\x4b\\xd1\\x4d\\x90\\x35\\x8e\\xfd\\x07\\x6a\\xc1\\x3f\\x9e\\xff\\xb7\\x91\\x9e\\x33\\x2d\\x8d\\x12\\xfe\\x8f\\xc5\\x6f\\x79\\x6a\\xec\\xa7\\x17\\x2f\\x17\\xc8\\x17\\x63\\x17\\x2f\\xc7\\xcb\\xc9\\x15\\xf2\\xd6\\xfa\\xa8\\x25\\x95\\x7c\\x36\\x26\\x63\\x31\\x49\\xc7\\x5c\\xf5\\x2c\\xc6\\xb5\\x80\\xd6\\xc0\\x9e\\x69\\x01\\xa6\\x01\\x6a\\x05\\xc0\\x5f\\xd6\\x6c\\xc4\\xc5\\x64\\xae\\x38\\x4a\\xd4\\xe2\\x1d\\x02\\x91\\x78\\xd8\\xbb\\x60\\xcc\\xf5\\x08\\x2d\\xac\\xc5\\xc2\\xc5\\x26\\xbf\\x38\\xb4\\xc9\\x4f\\x28\\x61\\x41\\x8c\\xcf\\x89\\xaf\\xf3\\x36\\x36\\x3d\\x6c\\x11\\x89\\x02\\x04\\x0c\\x46\\xcd\\xe3\\xea\\x6c\\x1b\\x47\\x12\\xf6\\xaa\\xdb\\xc9\\x56\\xf6\\xbd\\xde\\x58\\xd6\\x5f\\xec\\xc4\\x4e\\xe2\\x92\\xc6\\x73\\x62\\x27\\xcc\\x73\\x3a\\x2c\\xa3\\x53\\x84\\xc5\\xdc\\xe7\\xc9\\x28\\x50\\x49\\xa4\\x55\\xc0\\x22\\x31\\x56\\xc7\\x32\\xe6\\xa6\\xe0\\x14\\x55\\x84\\x26\\x58\\x86\\x9d\\x33\\x36\\xd7\\xd9\\xfa\\x8e\\x42\\x0a\\xc2\\x89\\x92\\x20\\x53\\x81\\x1a\\x0d\\xcd\\x32\\xc8\\x54\\x61\\x03\\x38\\x55\\xda\\xbc\\x32\\xa2\\x31\\x2b\\x7e\\x7e\\x5f\\x8f\\x3b\\xa8\\x41\\xeb\\xaf\\x3e\\xc0\\x00\\xaa\\x55\\x30\\x5e\\xdd\\xa5\\xdb\\xc8\\x84\\x18\\x08\\x9d\\xcc\\x6d\\x5e\\x56\\x7e\\xc2\\x96\\x22\\xc7\\x42\\xdc\\xe3\\x8b\\x7e\\x03\\xf9\\x15\\x7f\\x8f\\x6e\\x23\\x00\\xbb\\xd8\\xde\\x50\\xe2\\x93\\x88\\x8d\\x87\\xed\\xa3\\x48\\x04\\x36\\xb1\\xad\\x27\\x67\\x73\\xeb\\x7e\\x23\\xa6\\xa1\\x23\\xe9\\x70\\xf1\\xc9\\xc6\\xc1\\x98\\x7e\\x63\\xf3\\xd7\\xf2\\x28\\xf1\\x20\\xa6\\x67\\xb0\\x45\\x81\\x50\\x77\\x2b\\x6c\\x04\\xb0\\x91\\x53\\xe5\\x60\\x74\\x57\\x94\\xc7\\x20\\x82\\x5d\\x98\\xbe\\xbf\\xb8\\xa9\\x15\\xbe\\x28\\x50\\x70\\xb7\\xc2\\x37\\x52\\xb9\\x7f\\x74\\x7f\\x74\\x9f\\xb8\\xa9\\x71\\x30\\xa2\\xc1\\xdf\\x89\\xcf\\x83\\x50\\xcc\\x03\\xe2\\xf2\\x40\\x8d\\x27\\x8f\\x62\\x59\\x34\\x96\\xd3\\x9b\\xb4\\x39\\x63\\x03\\x76\\x58\\x7f\\x94\\x76\\x13\\x16\\xe7\\xae\\x53\\xd8\\x8b\\xf5\\x27\\x88\\x06\\x41\\x96\\x25\\x85\\x1a\\x25\\x2a\\x99\\xcc\\x32\\xde\\xb3\\x50\\xc0\\x15\\xf1\\x4e\\xac\\x4e\\xaf\\xbe\\x14\\x28\\x60\\x84\\x90\\x51\\xa4\\x81\\xc1\\x6a\\x19\\xbc\\x3e\\x18\\xde\\x50\\x6d\\xea\\x2e\\x18\\x0f\\xb5\\xf4\\x1c\\x7d\\x27\\xda\\x89\\x96\\x46\\xdf\\x88\\xbe\\x44\\xbb\\x63\\x3e\\x8f\\x93\\x47\\xc4\\x0e\\x62\\x3b\\x1e\\x63\\x02\\x79\\xc5\\x41\\x7c\\x06\\x62\\xc8\\xf4\\x27\\x58\\x52\\x45\\xe4\\x95\\x8f\\xdb\\xf0\\x4a\\xcc\\xe7\\x88\\x45\\x84\\xc8\\xea\\x00\\x65\\x09\\xcc\\xe1\\xa2\\x3b\\xf0\\xa8\\x11\\x59\\x36\\x78\\x7c\\xc1\\x3b\\x0b\\x17\\xfd\\x79\\xe1\\xc2\\x77\\x16\\x2f\\x7a\\x7b\\xc1\\xf0\\xf1\\x8f\\x4f\\x18\\xff\\x44\\xdd\\xf8\\x03\\xe3\\xc7\\x3d\\x31\\x9e\\xd6\\xb1\\xe7\\xef\\xe2\\x4f\\x0b\\x16\\xbc\\xbd\\x68\\xfc\\x13\\xe3\\x6a\\xf7\\x8f\\xc7\\x5f\\xc6\\x3f\\xc1\\x43\\xfc\\x92\\xf1\\x64\\xb8\\x58\\x23\\x0e\\x46\\x8e\\xb1\\xf3\\x35\\x1d\\x79\\x68\\x07\\x96\\xa1\\x0d\\xd8\\x17\\xed\\xbf\\x11\\x68\\xfb\\x4d\\x42\\xbb\\x6f\\x3e\\xda\\x7c\\x04\\x12\\x02\\x59\\xa5\\x25\\xa1\\xe2\\x3c\\xfd\\xec\\xd6\\xcf\\x5e\\xfd\\x1c\\xfb\\x5d\\xb9\\xec\\xfe\\xf2\\xf3\\xe5\\xbf\\x5f\\x7e\\x9f\\x73\\x19\\xfc\\x58\\x7e\\xc2\\x07\\x25\\x5d\\xba\\x94\\x6c\\x66\\x5f\\xff\\x2a\\x2b\\x2d\\x2b\\xcd\\x66\\x57\\x6a\\x59\\x67\\xfc\\x1c\\x2a\\x2b\\x2d\\x2d\\xa3\\x83\\xd9\\x77\\x34\\x99\\x3d\\xa0\\xab\\x5a\\xd2\\x46\\x9f\\x2c\\xe9\\xd2\\xb9\\x33\\x4f\\x0c\\x7f\\x64\\xbf\\xa9\\x63\\xd8\\xf7\\xbf\\x58\\xe2\\xcd\\xec\\x4a\\xd8\\x8a\\x5f\\xed\\xf1\\x4e\\x7d\\xb7\\xac\\xac\\xf4\\x4b\\xbc\\x81\\x4d\\x78\\x31\\x8a\\x01\\x9b\\x8f\\x5f\\xf0\\x4c\\xe7\\x50\\x79\\xb4\\x17\\x5e\\x6d\\x2f\\x29\\xe9\\x42\\x53\\xf5\\x44\\xaa\\x80\\x17\\x5f\\xb1\\xd7\\xde\\xeb\\x52\\xd2\\xa5\\x00\\x2f\\x34\\x59\\x39\\x42\\xd6\\x89\\x01\\xa1\\x81\\x58\\x99\\xdc\\x8a\\x26\\xbb\\x4d\\xb1\\x33\\x09\\x8a\\xad\\x7d\\xd1\\xc3\\x7d\\x24\\x90\\x40\\x16\\x29\\xc5\\x3a\\xa5\\x53\\x6f\\xb9\\x30\\x5b\\x55\\x4f\\xd4\\xab\\xea\\x8c\\xf3\\x42\\xc3\\x9c\\x0f\\xa7\\x9e\\x50\\x55\\x10\\xea\\x6f\\x7e\\x6f\\xbe\\xc6\\x8b\\xed\\x50\\x9f\\x1c\\x14\\x59\\xdc\\x50\\x37\\xe3\\x11\\x0b\\x15\\x81\\xe2\\xfb\\x0e\\x30\\x5c\\xa1\\x4f\\xb0\\x07\\xec\\x84\\xcb\\xf8\\xa2\\x9d\\xb8\\xaa\\x49\\x9c\\xf7\\xc6\\xfc\\x79\\x67\\xe7\\xcd\\x7b\\x13\\xbf\\xe7\\x8a\\xab\\x1a\\x97\\xd0\\x1e\\xf3\\xde\\x9c\\x87\\xd7\\xf8\\x70\\x3e\\x8b\\xb4\\x1a\\x9f\\x47\\x80\\xed\\x7b\\x62\\x49\\x4d\\xa5\\x62\\x42\\x02\\xe6\\x94\\x93\\x6d\\xc8\\x04\\x87\\x0f\\xf3\\xfa\\xe4\\x2d\\xfc\\x6f\\x13\\x01\\x5e\\xcf\\xf1\\x32\\xce\\xcc\\xbb\\x0a\\x06\\x83\\xc6\\xef\\x1f\\x37\\x0e\\xd9\\x8e\\x7f\\x0f\\xb8\\x12\\x9d\\x96\\xdf\\xf0\\x3b\\x1e\\x35\\x2c\\xff\\xad\\xb0\\x86\\x4e\\x10\\xe6\\x22\\x3d\\x93\\x48\\x7e\\x38\\xc1\\x46\\x12\\x14\\xa2\\xa4\\x24\\x3b\\xc3\\xa6\\x7b\\x4d\\x34\\xc3\\x04\\x26\\xaf\\xc0\\xe8\\x50\\x5d\\x1d\\x4f\\x09\\xee\\x83\\xa8\\x07\\x73\\xf4\\xb6\\xae\\xb1\\x67\\xeb\\x08\\x26\\xdc\\x3f\\xae\\xd7\\xcc\\x5e\\x9b\\x6e\\x9a\\xd4\\xb7\\x5f\\xff\\x89\\x7d\\xfa\\x4c\\x1c\\xdf\\x6f\\x40\\x0d\\x5d\\x32\\xed\\xee\\x1e\\xb3\\x7b\\x4f\\xda\\xd8\\xaf\\xef\\xa4\\x3e\\x13\\x27\\xf6\\xe9\\x7b\\x13\\x73\\x9c\\x90\\xe0\\x69\\xd4\\x1b\\x0b\\x51\\x6f\\x98\\x89\\x8f\\x64\\x93\\x8e\\xa4\\x2b\\x99\\x19\\xae\\xb0\\x74\\x4d\\xca\\xe8\\x5c\\x98\\x93\\x91\\x43\\xdc\\x32\\x91\\xaf\\xbd\\x26\\x3f\\x35\\xab\\x43\\x56\\x69\\xa7\\xc9\\x9d\\x20\\xd2\\x09\\xfa\\x76\\x82\\xa4\\x4e\\xd0\\x29\\xd4\\xc5\\x9e\\x55\\x93\\x35\\x23\\x4b\\x30\\x74\\x09\\x1b\\x6d\\x95\\x59\\x5d\\xb2\\xba\\x08\\x76\\x16\\x07\\x3d\\x91\\x21\\xfb\\x71\\xb5\\x1e\\xb3\\x61\\x6c\\xb5\\xe3\\x6c\\x48\\x5b\\x14\\xcf\\x97\\x4a\\x5e\\x16\\xa9\\x4e\\x0b\\x20\\x40\\x94\\x2c\\x92\\x57\\x42\\xfc\\x99\\x44\\x29\\x21\\x79\\xcc\\xef\\x23\\x81\\x78\\x8b\\x49\\xfc\\x72\\x51\\x29\\x7e\\xe9\\x28\\x0b\\x5e\\xe4\\x65\\x6e\\x22\\xf2\\x42\\x75\\x5b\\x53\\x54\\xdd\\x01\\xa8\\x7b\\x28\\xfe\\x8d\\x1f\\xa5\\xbe\\xf5\\xc1\\x87\\xf7\\x6f\\x87\\xe2\\x0f\\x2e\\x40\\xc7\\xe8\\xe8\\x0e\\x99\\x99\\x45\\x45\\x99\\x99\\x1d\\xe0\\xdd\\xf6\\x99\\x99\\xc1\\x60\\x66\\x66\\xfb\\xe8\\xf7\\xfd\\x37\\x6d\\xec\\xdf\\x7d\\xfc\\x33\\xcf\\x8c\\xa7\\x95\\x2a\\xb6\\x03\\x30\\x31\\xda\\x00\\x53\\xd5\\x2d\\xbf\\x5d\\x80\\x62\\xd8\\xb1\\xfd\\xc2\\x07\\xea\\x5b\\x00\\x25\\x30\\x3c\\xb3\\x43\\xec\\x65\\x7e\\x56\\x4f\\xaf\\x5b\\x17\\x78\\x96\\xed\\x49\\x24\\xc2\\x3b\\x48\\xb3\\xed\\x9c\\x66\\x6c\\xbd\\x65\\x11\\xa9\\x0b\\x97\\x67\\x5b\\x5c\\xf9\\xe9\\x3e\\x97\\x0f\\xc9\\x45\\x3a\\x04\\xfd\\x1e\\x7b\\x8a\\xbd\\x5d\\xd1\\xe4\\x22\\x88\\x14\\xc1\\x0d\\x45\\xd0\\xad\\x08\\x8a\\x0a\\x73\\x59\\x64\\xb8\\x1a\\xfb\\x0c\\xbb\\x68\\xb8\\x31\\xb7\\x26\\x97\\xda\\x73\\xed\\xb9\\x46\\xa4\\xd5\\x9b\\x7c\\x1d\\x29\\xd2\\xe9\\xad\\x56\\x3a\\xc5\\xc2\\x1e\\xba\\x5a\\x5d\\xa1\\xe2\\xa9\\x24\\xc5\\xd5\\x76\\x4e\\xfc\\xea\\x4b\\x46\\x98\\x3c\\x4e\\x98\\xed\\x97\\x11\\x26\\x4a\\xae\\x42\\x8b\\x27\\x19\\x19\\xba\\xf7\\xdf\\xb8\\xa9\\x7f\\x5b\\x5a\\x2c\\x8a\\x2b\\x38\\x3b\\xab\\x1f\\x3f\\xfb\\x6c\\x80\\xed\\xbe\\x41\\xa1\\x4f\\xf3\\xad\\xb2\\x4d\\xbc\\x86\\x14\\xa0\\x06\\x5d\\x1a\\xbe\\xae\\xd4\\x61\\x56\\x4c\\xb4\\xa0\\x20\\x31\\xa9\\x43\\x6e\\x56\\x5a\\x20\\x90\\x64\\x12\\xca\\xbb\\x14\\x16\\xd0\\x02\\x8b\\xd9\\xec\\xcf\\xea\\x94\\x94\\x98\\x64\\xc8\\x29\\xb0\\xa7\\x67\\x25\\x15\\x64\\x25\\x25\\x65\\x15\\x08\\x90\\xea\\xbc\\xe8\\xfd\\xc9\\x4b\\xbd\\x79\\xf2\\x0c\\x6c\\x82\\x37\\x68\\x8d\\x35\\x5f\\x79\\x1a\\x8b\\x84\\xc6\\xca\\xcc\\x8a\\xed\\x38\\x8b\\x9c\\x83\\xc2\\x8f\\x17\\x2d\\xc1\\xf0\\x42\\x2d\\x6b\\x6c\\xb5\\x9d\\xcc\\xd2\\x81\\x6d\\xdf\\xc2\\x43\\x24\\xc8\\x6c\\x17\\x17\\x1b\\x65\\x01\\x04\\x72\\xf3\\x94\\xbc\\xb2\\x5c\\x16\\x70\\xa9\\x33\\xdb\\xe0\\xa5\\x73\\x99\\x57\\x27\\x50\\x19\\x73\\xcd\\x15\\xd6\\xf5\\xec\\x39\\xe1\\xda\\x67\\x8b\\x4e\\x0e\\x97\\xcf\\x9f\\x77\\xde\\x70\\xb2\\x53\\x7d\\x76\\xbf\\xee\\xa5\\x3d\\x17\\xd6\\x3d\\x5f\\x58\\x3f\\xd0\\x71\\xfe\\xbc\\xa5\\xea\\x58\\xfe\\x0b\\xb7\\xcc\\xca\\x58\\x7f\\xe6\\xe5\\x75\\xeb\\x6b\\x27\\xbc\\x22\\x5e\\x73\\x41\\xce\\x2b\\xaa\\x2f\\x3a\\x39\\x6b\\x4e\\xf7\\x25\\xb5\\x98\\x28\\xb9\\xc0\\x61\\xb8\\x70\\xc1\\x79\\xfd\\xb1\\xa2\\x93\\x75\\x4b\\xba\\x2f\\xaf\\x41\\x08\\x03\\xac\\xdd\\x5e\\x5d\\xbb\\xf6\\x95\\x71\\xe3\\xee\\x5c\\xfb\\xaa\\xe6\\x9b\\xf0\\x21\\xa9\\x12\\x73\\xc5\\x15\\x28\\x55\\x79\\x64\\x4c\\x38\\x94\\xed\\x30\\xbb\\x6c\\x36\\x0f\\x49\\xf3\\x8a\\x22\\x31\\x0b\\xed\\xf2\\x5d\\x1e\\x9f\\xdd\\x67\\xfb\\x89\\x34\\xa3\\xfc\\x67\\x66\\x64\\x06\\x33\\xa9\\x2f\\xd3\\x97\\xa9\\x84\\xdd\\xe0\\x4e\\x0a\\xe7\\xe4\\x57\\x26\\x29\\x28\\x45\\x85\\xc1\\x6a\\x6d\\x95\\xb1\\xe3\\xec\\xac\\xe2\\x98\\xf8\\x78\\xe3\\xb6\\x83\\x60\\x54\\xd0\\x17\\xd5\\x79\\xb5\\x88\\xae\\xda\\x58\\x27\\x9b\\x10\\x41\\xbd\\xd4\\x52\\xe8\\x0e\\x40\\x3f\\xee\\x3f\\xad\\xd7\\x93\\xb3\\xe7\\x0d\\x19\\x7e\\xef\\x54\\xc0\\x5c\\xfb\\xa1\\x0a\\xa6\\x81\\x2e\\x63\\xca\\x17\\x0f\\x1e\\x71\\x4d\\xb7\\xf2\\x6a\\xda\\xd3\\xdc\\x7f\\xd1\\x0d\\x4b\\x1f\\x1b\\x3e\\x64\\xd1\\xf4\\x47\\xac\\x7b\\xfb\\xa8\\x0d\\x20\\xf7\\xa1\\x1b\\x4b\\x6b\\xca\\x87\\x2f\\xec\\xde\\x6d\\x68\\xd7\\x9a\\x12\\xad\\x5c\\x83\\x48\\x83\\x78\\x18\\xcb\\xd5\\x9e\\x74\\x21\\xdd\\xc3\\xfe\\x8e\\xed\\xc5\\x0c\\x21\\xaf\\x73\\x82\\x3f\\xcf\\x5f\\xde\\xb5\\x7d\\x46\\x41\\x88\\x64\\x2f\\xcf\\xa6\\xd9\\x45\\xf7\\x9a\\xc1\\x6c\\x2f\\x00\\x43\\x01\\x09\\x8e\\xad\\x7e\\xb3\\x5a\\xd7\\x07\\x2d\\xfb\\x4c\\x6a\\x5e\\xd4\\xb9\\x79\\x28\\xd0\\x65\\x9d\\x43\\x5e\\x8e\\x65\\xa8\\xd8\\xc3\\x04\\x3f\\x03\\x12\\xec\\x3c\\x62\\x8b\\xd2\\x1a\\x63\\x1d\\x4b\\xa7\\xc4\\x78\\x9c\\xd5\\x60\\xf3\\xa6\\x42\\x83\\x2c\\x1b\\xfc\\xbd\\xae\\x19\\xd9\\x2e\\xdb\\xea\\x90\\x1d\\x16\\x51\\xb4\\xb9\\x73\\xb2\\xad\\x7f\\x1d\\x7a\\x78\\xce\\x9c\\x43\\x4f\\x2c\\xea\\x3b\\x64\\x47\\xe4\\xb6\\xa5\\x23\\x22\\x8b\\x6e\\x13\\x49\\x61\\xa1\\x64\\x35\\x18\\x45\\xd1\\x69\\xb5\\xd8\\x52\\xae\\x1d\\x3f\\x30\\x94\\x69\\x94\\xe5\\x1e\\xa3\\x8a\\x7f\\x1c\\x34\\x7d\\xc9\\x93\\x7b\\x16\\x2d\\xd8\\x5f\\x98\\xb9\\x28\\x52\\x33\\x6f\\xc9\\xc8\\x11\\x2c\\x8e\\xfa\\x35\\xcc\\x75\\x5e\\x3c\\x47\\xfc\\xa4\\x63\\x38\\xc9\\x95\\x6a\\xf6\\xda\\x65\\xd9\\x9b\\x2a\\x64\\x05\\x8c\\xf6\\xa4\\x8c\\xa4\\x60\\x92\\x60\\x48\\x4a\\x72\\x32\\xb7\\x32\\xe6\\x9b\\xde\\xd6\\x9b\\x0e\\xd8\\x72\\x46\\xf0\\x72\\xff\\xb5\\x74\\x9a\\x01\\xfe\\xb2\\x62\\x16\\xa4\\x31\\x16\\x79\\x17\\x1b\\xc2\\xcc\\xa4\\xda\\xfb\\xef\\xee\\x43\\x57\\x8e\\x78\\x70\\x82\\x70\\xe3\\x9e\\xd5\\x86\\xa6\\x6f\\xe5\\xdb\\x0e\\x8e\\x18\\xb5\\x3f\\xb2\\x32\\x32\\x61\\xfd\\x6a\\xf1\\x5c\\xed\\x13\\xeb\\x97\\xae\\xee\\x5b\\xbb\\xfc\\xf4\\x43\\x7b\\xc7\\x1a\\x73\\x72\\xc6\\x1d\\xdc\\x68\\x3b\\xbd\\x7c\\x4c\\x64\\xed\\xe0\\xf9\\xcf\\xb2\\x76\\xf7\\x5a\\x54\\xd8\\xa2\\xf8\\x1a\\x29\\x21\\x5d\\xc2\\x69\\xd4\\x5e\\x92\\x8f\\x2a\\xc7\\x2e\\x96\\x76\\xce\\x2e\\x34\\x04\\x13\\x32\\x45\\x73\\x86\\x19\\x5c\\x66\\x97\\x19\\x52\\x98\\xed\\xae\\x31\\x0e\\xa3\\x74\\x2b\\x96\\x9d\\x3a\\xb6\\x83\\xb2\\xee\\x42\\x69\\x9e\\xd6\\x8c\\x31\\xac\\x8a\\xbd\\xbc\\x16\\x34\\xcf\\x3b\\xa5\\x73\\x59\\x8c\\x93\\x78\\x33\\x97\\x2e\\x78\\xc5\\x3e\\x4d\\xf5\\x86\\x3b\\xe6\\xd7\\x94\\xd2\\xf2\\x23\\x91\\x01\\x2b\\xfa\\xdc\\x57\\xdd\\xbd\\x2e\\xd7\\x69\\x7e\\x64\\xd6\\x9c\\xdd\\xbd\\x87\\x3a\\x12\\xf3\\xa6\\xf4\\xba\\xfe\\x81\\x39\\x5d\\xe6\\xd5\\x74\\x93\\x3a\\x4d\\x5f\\x36\\x3b\\x90\\xd2\\x79\\xc1\\x96\\xfe\\xc1\\x05\\xf3\\xfa\\x2f\\x1d\\x70\\xeb\\x2e\\x08\\xf5\\xc8\\xcf\\xc9\\x5d\\xb8\\x75\\xf7\\xb4\\xe1\\xe3\\xf3\\x05\\xc3\\xc0\\xfe\\x73\\xe6\\x3c\\xd6\\x69\\xf0\\x94\\xa5\\xdb\\x17\\x94\\x7a\\x58\\x79\\x26\\x36\\x7f\\x87\\x7d\\x8e\\x85\\x28\\x23\\xa9\\x61\\x0b\\x5b\\x73\\xa7\\x08\\x49\\xc9\\x56\\x87\\x89\\x91\\x37\\x54\\xde\\x12\\xda\\x5d\\xea\\x00\\x41\\x88\\x85\\x2d\\xf6\\xea\\x71\\x22\\x64\\xc5\\x06\\x74\\x7c\\xe2\\xe8\\xa7\\x46\\xdd\\xd0\\x79\\xfd\\x4d\\x23\\x36\\xe4\\x66\\xdd\\x33\\x72\\xdc\\x86\\x91\\x33\\xee\\x5a\\xe1\\x1d\\x5e\\xff\\xc3\\xe2\\xba\\x15\\x3d\\xa7\\xad\\x9b\\xbd\\x60\\xfe\\xdc\\xb5\\xe3\\x87\\x9f\\x5a\\x77\\xf4\\x3d\\x6e\\xb7\\xf4\\x6c\\xfe\\x6f\\xe1\\xcf\\x48\\x3f\\x0b\\xc9\\x08\\x5b\\x4c\\xb2\\x40\\x88\\xd5\\x26\\x98\\x4c\\x32\\xaf\\xce\\xa4\\x60\\x28\\x16\\x4d\\x9d\\x2d\\xd1\\x22\\x5e\\x99\\x28\\xb9\\x34\\x37\\xaf\\x33\\xa1\\x4a\\x25\\x18\\x17\\xf5\\x52\\xdf\\x1a\\x92\\xf3\\xcc\\xe6\\x61\\x73\\x40\\x10\\x5f\\x5b\\xa2\\xde\\xbf\\xae\\x8f\\x3a\\x65\\x73\\x5f\\x90\\x4e\\x4f\\x5c\\x07\\x11\\xcd\\x2e\\x7a\\x85\\xa4\\x09\\xd7\\xa0\\x6c\\x24\\x91\\x0e\\x61\\x8f\\x49\\xa2\\x36\\x5b\\x52\\x42\\x92\\x24\\xa4\\x24\\x5b\\x29\\x35\\x18\\x88\\x97\\xf3\\x0d\\x5b\\x24\\x7c\\xb9\\x1f\\x26\\x6a\\x32\\x46\\x74\\xb6\\x97\\x4b\\x49\\x6e\\x5e\\xbc\\x8f\\x22\\x7c\\xd7\\x7f\\xfb\\xf4\\xb1\\xc1\\xf2\\xd9\\xe1\\x4d\\xd3\\xca\\xbb\\x2e\\x19\\xd8\\xbe\\x83\\xb8\\xa2\\xee\\xcc\\xa6\\xfd\\x5b\\x17\\x2e\\x5f\\xb0\\x60\\x97\\x59\\x95\\x17\\xdf\\xdf\\xb9\\xc3\\x80\\x39\\x6e\\x2e\\x9b\\x8e\\xe6\\xf7\\xc4\\x9f\\xc4\\x3b\\x48\\x2a\\xc9\\x44\\x9d\\x93\\x90\\x6e\\xb1\\x90\\x34\\xbb\\x3d\\xd9\\x93\\xac\\x10\\x31\\xcb\\x6f\\x4b\\x4b\\xb3\\xa6\\x9f\\x6c\\xfe\\x8c\\x79\\x53\\x33\\x37\\xed\\x70\\x82\\xc1\\x5c\\x99\\x9e\\x9e\\xea\\xca\\x4c\\x49\\xc9\\x48\\x35\\x65\\x8a\\x20\\x8a\\x3e\\x17\\x6a\\x9d\\x10\\xeb\\x3d\\x69\\x51\\x4b\\xca\\x83\\x85\\x85\\xda\\x55\\xdc\\x72\\x5f\\xd6\\x16\\xb5\\xae\\x7d\\xf0\\x3a\\xa5\\x16\\x84\\xbd\\x78\\x97\\x03\\x39\\xa5\\x92\\xf8\\x53\\xe7\\xc5\\xd7\\x97\\x97\\x2f\\x1a\\xd8\\xb1\\x20\\xfa\\xe1\\xba\\x5b\\xcb\\xbb\\xde\\x76\\x63\\x51\\x11\\x7d\\x36\\x7a\\x2f\\xcd\\x8d\\x7e\\x08\\xbd\\x06\\xce\\x1a\\xda\\x39\\x38\\x68\\x86\\x0b\\x5e\\xdc\\xa2\\xce\\x9b\\xbb\\xb3\\xb4\\xa8\\xff\\x02\\xc1\\x4d\\x2f\\x1d\\x51\\x27\\x6d\\x99\\xbb\\x4d\\xb3\\x09\\x8b\\x9b\\xbb\\x08\\x6f\\x49\\x6f\\xf2\\xb1\\xdb\\xc9\\xe1\\x32\\x5f\\x86\\x4b\\x96\\xed\\x66\\x25\\x39\\x91\\xd2\\x54\\xb7\\xa0\\x08\\xc4\\x6a\\x24\\x46\\x7f\\xa6\\xd7\\x91\\x98\\xe6\\xb2\\x58\\x53\\x92\\xc5\\x0c\\x83\\xd1\\x68\\xc8\\x10\\x93\\x53\\xac\\x16\\x57\\x5a\\xa2\\xc3\\x22\\x24\\x28\\xac\\x0b\\xf7\\x4a\\x50\\x6b\\x56\\x5a\\x3e\\xa1\\x36\\x16\\x88\\xa6\\x48\\x5b\\x2c\\x11\\x16\\xbc\\x8b\\x45\\xcb\\x52\\x4a\\xcb\\xf8\\x11\\x72\\xe6\\xe0\\x51\\xe6\\x51\\x9c\\x65\\x12\\xfe\\x20\\xbc\\xf5\\xc7\\x5a\\xf5\\x58\\xed\\x1f\\xf1\\x53\\x0b\\xfd\\xd9\\x59\\xfd\\x40\\x3d\\x06\\x2f\\x44\\xb0\\xed\\xec\\xb6\\x5b\\xdd\\x09\\xdd\\x23\\x0f\\x45\\xe0\\x9f\\xec\\xab\\xaf\\xfa\\xd9\\x6e\\x18\\xa3\\xbe\\x81\\xd7\\xaa\\x39\\xb2\\x1c\\xfe\\xb9\\x5b\\x35\\x33\\x1e\\x49\\x42\\xfd\\x12\\x94\\x56\\x10\\x0f\\x99\\x1f\\xee\\x6b\\x75\\xda\\xcd\\x6e\\x37\\x61\\xf1\\xdc\\xd9\\xae\\x04\\x09\\x82\\x37\\xd1\\x26\\x2b\\x72\\x6d\\xc4\\x85\\x9d\\xda\\xda\\x88\\x5d\\x08\\xbb\\x13\\x2b\\x89\\xe0\\x10\\xa8\\x10\\x36\\xdb\\x95\\x0c\\x25\\xa8\\xdc\\xa8\\xd4\\x28\\x3f\\x29\\xb2\\x51\\x50\\x14\\x82\\xd6\\x83\\xbb\\xa6\\x65\\x5b\\x00\\xac\\x2c\\x3d\\x8a\\x6c\\xe1\\x55\\xa2\\xc8\\xb6\\x2e\\xb1\\x0b\\xc5\\x82\\x0b\\xc5\\x4d\\xd7\\xf9\\x3d\\xfb\\x58\\x1c\\xa1\\xd3\\x3c\\x16\\x34\\x1e\\xf4\\x8f\\xf0\\xd5\\x9a\\xcd\\x6b\\xa0\\x59\\x05\\x3c\\xa9\\x27\\x1f\\xe0\\xfc\\x9d\\x8a\\x5f\\x07\\xb1\\x4e\\xdc\\xa4\\x36\\x5c\\x66\\x75\\x3a\\xdd\\x3a\\xe2\\xac\\x10\\x68\\x1a\\x23\\xe6\\x55\\x1c\\xf3\\xaa\\x36\\x98\\xeb\\x88\\x73\\xaf\\x3f\\x2c\\x76\\x45\\x45\\x39\\x36\\xf6\\xaf\\xb6\\x45\\xb2\\x6d\\x6c\\xa4\\xcb\\x90\\x0c\\xe9\\x81\\x4d\\xef\\xbc\\x05\\x3f\\xc7\\xd8\\x17\\xb5\\x20\\x56\\x34\\x2b\\xfa\\x29\\x9e\\xa2\\x3f\\xf3\\x79\\xc4\\x7f\\x20\\x5d\\xc3\\x3c\\x56\\x6b\\xdf\\x70\\x8e\\x35\\x29\\x89\\x49\\xb5\\x3b\\x59\\x48\\x4b\\xa5\\x46\\xa3\\xcb\\x9e\\x98\\x28\\x2d\\x77\\xb1\\x3d\\x4b\\x5d\\x2e\\x6c\\x7d\\x49\\x52\\x1b\\xaa\\x15\\x26\\xbf\\xc9\\x97\\x6b\\x06\\xe3\\xc9\\xc5\\x50\\xc8\\xc3\\x36\\x87\\x6d\\xe1\\xed\\xc5\\x5f\\x79\\xf8\\x9a\\x10\\xd7\\xed\\x48\\xad\\x0f\\x03\\x79\\x29\\x2b\\xe9\\xb4\\xa1\\xb9\\xa7\\x53\\x93\\x33\\x92\\xe5\\x95\\xa3\\x6a\\xfd\\xa9\\xf4\\x71\\xfa\\x8c\\xd8\\x31\\x38\\xf9\\x36\\x81\\xf6\\x8c\\xce\\x93\\x82\\x1d\\x67\\xcf\\x96\\xd4\\x82\\x07\\x90\\x97\\x93\\x11\\xb7\\xef\\x11\\x37\\x1b\\xd6\\x7e\\xff\\x70\\xbe\\x5d\\xf6\\xba\\xcd\\x66\\x1b\\x58\\x2c\\x1e\\x19\\x95\\x83\\xd7\\x54\\x13\\x49\\xb4\\x11\\x5b\\x6d\\x84\\xcd\\x55\\x78\\x09\\xb5\\xb8\\xa8\\xab\\x26\\xc2\\x02\\xd0\\x69\\x08\\x96\\xc7\\xc2\\xed\\x14\\xc6\\xe1\\x17\\xd2\\x63\\xbf\\xfa\\x8b\\x45\\x4f\\x82\\xa8\\xc5\\x8c\\xca\\x71\\xb4\\x03\\xad\\x42\\x33\\x93\\xef\\xa1\\x83\\xfe\\x0a\\xa2\\xda\\xf8\\x99\\x3a\\xfe\\xf4\\x3d\\xa2\\x43\\x3d\\xa9\\xae\\x41\\x76\\x7c\\x14\\x56\\x41\\x58\\xb4\\xc3\\xec\\x4f\\xff\\xc4\\x22\\x72\\x0a\\x77\\x0e\\x00\\xe7\\x85\\x35\\x6f\\x21\\x8e\\x6c\\x2f\\xeb\\xc9\\x3c\\x2e\\x52\\x26\\xa9\\x0a\\xb7\\x23\\x5e\\xaf\\x2f\\x11\\xdc\\x69\\x69\\x82\\x60\\xb3\\x19\\xdd\\x42\\x96\\x3f\\x91\\xa6\\xd1\\x9a\\x48\\x5a\\x1a\\xb1\\xdb\\x53\\x59\\x34\\x66\\xb3\\x5c\\x13\\xe1\\x2b\\x87\\x5e\\x89\\x8b\\x4d\\xdf\\x36\\xd4\\x04\\x8f\\xc5\\xcc\\xb7\\xc0\\x00\\xbf\\xb3\\x65\\x07\\xf9\\xdc\\x52\\x0d\\x69\\xb6\\x11\\x2f\\xda\\xae\\xc8\\x7c\\xc5\\x9d\\xc5\\xbb\\xd4\\xfb\\xd4\\xeb\\x83\\x25\\xd7\\x16\\xf7\\xe9\\xbe\\x62\\x3d\\xbd\\xff\\x47\\x10\\x4e\\x3c\\x0c\\xf7\\xfe\\xfa\\xf8\\x83\\xea\\x35\\x70\\xf6\\xfe\\xc7\\xe8\\xf5\\xd1\\x7e\\x83\\xfa\\x3b\\x76\\x39\\x37\\xaf\\x95\\x6d\\xef\\x9d\\x7a\\xf0\\xfd\\xd4\\xe8\\xc3\\xc2\\x0f\\x8b\\x57\\x44\\x7f\\xbd\\x9b\\x88\\xa4\\x4a\\x1d\\x29\\xde\\x8a\\x7c\\xd9\\x0e\\xfb\\x2f\\x9d\\xb1\\x05\\xdf\\x14\\xae\\x2a\\x0b\\x74\\xe8\\xe0\\xf3\\xb8\\x4a\\x42\\x20\\x11\\x77\\x42\\x42\\x9a\\xcf\\x6a\\xb3\\x09\\xd8\\x07\\xec\\x24\\xf8\\x84\\x6e\\xd7\\x86\\x0a\\xf2\\x0a\\xaa\\x22\\x25\\x1d\\xbb\\x76\\x1c\\x14\\x51\\x02\\x79\\x5d\\xbb\\x3a\\xda\\x85\\x21\\x2f\\x31\\x33\\x65\\x50\\x24\\x33\\xb1\\xdc\\xe4\\x30\\x55\\x45\\x3c\\x6e\\x47\\x8d\\x15\\x82\\xd6\\x0d\\x56\\x6a\\xb5\\x3a\\x1c\\x5a\\xf0\\x6d\\x34\\xd1\\xf5\\xc9\\x79\\x1e\\xe5\\xea\\x2d\\x2d\\x3a\\xe0\\xd5\\x02\\x20\\xea\\xd2\\x16\\x8b\\xa2\\xc2\\x76\\x5e\\xe1\\x46\\x40\\xc8\\xad\\xad\\xfe\\x76\\xf9\\x8b\\xbd\\xee\\x90\\x90\\xe8\\x89\\xa3\\x4b\\x5e\\xc0\\x06\\x85\\x20\\xb8\\xbb\\xd3\\x6e\\xa0\\x48\\x09\\x5e\\xb7\\x0d\\x3b\\x22\\x79\\x4a\\x59\\xd5\\xa9\\x13\\x9f\\xfc\\x62\\x58\\xde\\x71\\xc0\\xc2\\x5b\\xcc\\xcf\\x77\\x80\\xd5\\x75\\x83\\xea\\xef\\x79\\x67\\x76\\xc1\\x35\\xc9\\xfe\\x5e\\x7d\\xeb\\x46\\xcb\\x72\\xef\\x13\\xab\\xcc\\xc7\\x2e\\x8d\\xdb\\x36\\x6c\\xb3\\x7a\\x47\\xf8\\xf1\\xc5\\x37\\x53\\xab\\x6d\\xc0\\x68\\x75\\x24\\xec\\xef\\xf9\\xfd\\xbe\\x63\\x32\\x64\\x24\\x0e\\x1e\\xe5\\x84\\xec\\x24\\xb8\\x5f\\x6d\\x3f\\xf6\\xa4\\xda\\xa1\\x6a\\x90\\x32\\xd3\\x31\\x65\\xe6\\x6d\\x93\\xd4\\x9b\\x69\\x0a\\xd4\\x6c\\x1f\\x14\\x11\\xbe\\x9d\\x14\\x84\\xf9\\xf6\\x5b\\x20\\x7c\\x7d\\xfe\\x93\\x54\\xf3\\x13\\x5a\\xa4\\x8e\\x14\\x86\\x22\\x4d\\x7d\\x28\\x51\\xb5\\xe1\\x62\\x2b\\x9a\\x3d\\x80\\x5d\\x64\\xaf\\x24\\x80\\xc9\\x6c\\x76\\x81\\x2b\\x35\\xcd\\x97\\x92\\x64\\x01\\xaf\\xe8\\x91\\x3c\\x0e\\xa4\\x57\\xa2\\x01\\xa9\\x67\\x56\\xc2\\x06\\xbb\\x44\\x07\\x45\\x24\\xbb\\xc6\\xbd\\xc9\\x67\\xdf\\x8c\\xb1\\x07\\x0b\\xf8\\x1c\\xbf\\x66\\x36\\x2e\\x6c\\x84\\x00\\xb1\\xd0\\xb4\\xee\\x90\\x6e\\xb4\\x7a\\x78\\x18\\x3f\\x70\\x07\\x6e\\x87\\xac\\x25\\xab\\x4b\\x17\\xbc\\x72\\xe4\\x9e\\x68\\x53\\xa8\\x22\\xbb\\x57\\xa4\\x7a\\x72\\xe7\\xb3\\xd0\\xf7\\xce\\x3b\\xd5\\x91\\x74\\x03\\x7d\\x7b\\xd5\\xdf\\xff\\x0e\\xf7\\x35\\xce\\xec\\x38\\xb0\\xc2\\xb6\\xc6\\xd7\\x45\\xed\\x28\\x7a\\xa1\\x92\\xe9\\xaa\\x7d\\xea\\x64\\xe9\\x00\\xf2\\xb3\\x1d\\xf5\\x41\\xb6\\x41\\x14\\x25\\xe6\\x34\\x67\\xb1\\xdb\\x6d\\x92\\xcd\\xe1\\x34\\x08\\x35\\x11\\x83\\x01\\xd0\\x04\\x90\\x5c\\x76\\x7c\\x5e\\x13\\x01\\x4d\\x1d\\x38\\x5e\\xd5\\x76\\xcb\\x28\\xbc\\xca\\x36\\x70\\xfe\\x80\\x53\\x77\\xeb\\xe2\\x4f\\x02\\x62\\xc3\\xf6\\xa8\\x7c\\xfa\\x34\\x6d\\x38\\xbd\\xfe\\x69\\x7a\\x77\\xf4\\x56\\x69\\x05\\x8b\\xed\\xd8\\x98\\x11\\x65\\x5b\\x71\\x93\\x7b\\xd4\\xc9\\xe2\\x04\\xa4\\x5f\\x2a\\xa9\\x0c\\x67\\xa7\\x26\\x79\\x3c\\x89\\x16\\x45\\x31\\x19\\x13\\x8d\\x69\\xe9\\x5e\\x92\\xe8\\x21\\xa9\\xa9\\x82\\xc9\\x62\\x51\\x06\\x45\\x2c\\x1e\\xc1\\x59\\x15\\x11\\x1c\\x2d\\x6e\\x5d\\x8e\\x57\\xd9\\x3a\\x8d\\x8a\\x8a\\xb6\\xec\\xc4\\x5a\\x5d\\x7d\\x7f\\x83\\x10\\x77\\x65\\x28\\xd1\\x56\\x18\\x72\\x8c\\x98\\x2c\\x75\\xeb\\xba\\x67\\xc9\\x53\\x8f\\xcf\\xdd\\x73\\x47\\x41\\xed\\xb0\\x65\\xdb\\x8f\\x1d\\x43\\xe9\\x5a\\x31\\x75\\xc2\\xe1\\xb7\\xa2\\x47\\xa2\\x5f\\xc3\\x36\\xfa\\xe4\\xec\\x19\\x25\\x4f\\x6d\\x89\\xae\\x94\\xde\\x54\\x97\\x76\\x5b\\x69\\x22\\x31\\x1a\\xf5\\xe0\\x34\\x1a\\x1c\\xce\\x27\\x8a\\xdd\\x6a\\x35\\x1a\\x4d\\x36\\xbb\\x5d\\x90\\x45\\x11\\x04\\x93\\x80\\x84\\x22\\x56\\xc5\\x2a\\xdb\\xcc\\x82\\xc9\\x25\\xca\\x32\\xd4\\x44\\xe4\\x36\\x74\\xe2\\xe8\\x5d\\xc6\\xf5\\x9a\\xdc\\xb3\\x50\\x20\\x1c\\x4f\\xde\\xa4\\x32\\x27\\x07\\x7a\\x3f\\xcd\\x58\\xff\\x74\\xf7\\xe8\\xd9\\x93\\x48\\xb3\\xc7\\x3f\\x17\\xd2\\xa2\\xab\\xa2\\x7f\\x44\\xc4\\xf6\\xdd\\x15\\xfd\\x0a\\x49\\xd7\\x9d\\xbe\\xc4\\x71\\xba\\x53\\x9d\\x2c\\x44\\x91\\x6e\\x76\\x32\\x08\\x35\\xa5\\xc9\\x64\\x31\\x12\\x59\\x31\\x18\\xac\\x16\\x6c\\x6b\\x04\\x8b\\xe0\\x74\\x18\\x01\\xfb\\xd8\\x8a\\xd5\\x6e\\x37\\x0d\\x8a\\xd8\\x3d\\x8a\\x5d\\x24\\x02\\x6b\\x54\\x2a\\x62\\xa4\\x8b\\xc3\\x29\\x26\\x84\\x2d\\x43\\x26\\x31\\x5c\\x62\\xb8\\xbd\\xb4\\xfa\\xd8\\x31\\xf8\\xe8\\x5d\\xf5\\x7a\\x98\\x34\\x6e\\x4f\\x10\\x7e\\x9c\\xae\\x2e\\x93\\xde\\x6c\\x1a\\x47\\xad\\x6a\\x50\\x4d\\x66\\x64\\xd3\\xec\\xba\\x1e\\x58\\x97\\x7b\\xf8\\xba\\xe0\\xae\\xe1\\x74\\x20\\x92\\xd1\\x24\\x08\\xb2\\x91\\x88\\x56\\x8b\\x11\\xdb\\x3c\\x16\\x77\\x5a\\x34\\x09\\xa8\\xc5\\x81\\x19\\x1c\\xaf\\xb6\\x46\\xe8\\x6f\\x6b\\xe3\\x71\\xf7\\x5f\\x16\\x7e\\x13\\xfc\\xe2\\x9e\\xa7\\x9b\\x6e\\x14\\x46\\x35\\xfd\\x24\\x7c\\xdf\\xb4\\x57\\x58\\xc7\\x02\\xb1\\x6f\\x10\\x87\\x3f\\xb0\\xbe\\x71\\x2f\\xcf\\xaf\\x13\\xd2\\xa0\\x5e\\xec\\xca\\x7d\\xf3\\xd3\\xa8\\x2c\\x9b\\x8c\\x0a\\xdf\\xae\\xd7\\x22\\x0b\\xa2\\x50\\x15\\x41\\xfd\\xad\\x10\\xa5\\x2a\\x62\\x62\\xad\\x69\\xdb\\xec\\x5a\\x22\\xe7\\xf0\\xcd\\x80\\xf4\\xdc\\xb0\\xa8\\x9d\\xe8\\x96\\xe8\\x26\\xa1\\x4b\\x74\\x2a\\x7d\\x6e\\xcf\\x3a\\x21\\x77\\xfd\\xba\\xa6\\x0f\\xa3\\x9f\\x60\\xf1\\x28\\x19\\xd7\\xfc\\x83\\x54\\x2a\\x6d\\xe5\\x6d\\x53\\xd7\\x70\\x9a\\x57\\x46\\x23\\xd5\\x26\\xdb\\x92\\x53\\xc0\\x4c\\x2c\\x82\\x31\\xa1\\x26\\x62\\x14\\x05\\x7b\\x0d\\x0b\\xf5\\xe5\\x8a\\x73\\xf6\\x6c\\xed\\xcc\\xe9\\xc2\\x51\\x2a\\x07\\x32\\x59\\x98\\x33\\xd4\\x6b\\x65\\x68\\x35\\x15\\x97\\x39\\x51\\xd1\\xb1\\x07\\xe2\\xbc\\xfa\\xfd\\xea\\x33\\xea\\x7d\\x30\\x1b\\xfa\\xbd\\xbc\\x7b\\x6b\\x46\\xf4\\xf3\\xef\\xe7\\xdd\\xfa\\xcd\\xdf\\xd4\\x7f\\x81\\xb9\\xef\\x68\\xb8\\x1d\\x86\\xc1\\x60\\x58\\x32\\xa0\\x4b\\xc3\\xb2\\x35\\x93\\x84\\x43\\x75\\xea\\x79\\xf5\\x1f\\xea\\xdf\\xd4\\xb3\\x9c\\x0e\\x0a\\xb6\\x9b\\x5f\\x8a\\x03\\xb1\\x98\\x1d\\xc3\\x3e\\xb6\\x6a\\x4b\\xa6\\x72\\xa2\\xcd\\x6b\\x71\\x0d\\x89\\xd8\\xed\\x16\\x87\\x0c\\xd4\\x0e\\x1e\\x1e\\x84\\x8f\\x05\\x1e\\xe4\\xee\\x20\\xb1\\xf5\\x8d\\x6c\\xd3\\x25\\x77\\xa2\\xb7\\x02\\xf8\\xd2\\xdc\\x58\\x9c\\x59\\x7a\\xd3\\x7b\\xea\\xfc\\x17\\x7f\\xb4\\x76\\x71\\x74\\xbd\\xa7\\x60\\xd1\\xe4\\xc7\\x6a\\xa7\\xb6\\xbb\\x26\\xbb\\xa0\\xd8\\x2b\\x76\\x8d\\x86\\xf3\\xff\\x50\\x5a\\x0f\\x6f\\xaf\\x5b\\xb2\\xb3\\xee\\xda\\xbc\\xae\\xbd\\x78\\xfe\\x68\\xaf\\x18\\x9e\\x46\\xda\\x64\\x93\\xb2\\x70\\x7a\\x82\\x3b\\xdd\\xe6\\x75\\x8b\\x39\\x34\\x37\\x45\\xb0\\xa5\\x7b\\x05\\x97\\x5b\\x70\\xb9\\x8c\\x2e\\x22\\x21\\x6d\\x58\\x10\\xa3\\x62\\x2d\\x0c\\x1a\\x6a\\x7c\\xee\\x98\\xa2\\x75\\x5d\\xa0\\x58\\x0b\\x75\\xa3\\x40\\x40\\xc0\\xfe\\x94\\xac\\x08\\x1a\\x5e\\x9d\\x5d\\x6e\\x76\\x2a\\xeb\\xcc\\x42\\x94\\x2a\\x4f\\xef\\x1a\\x3f\\xab\\xe7\\xf5\\xc5\\xd7\\x26\\xa8\\xc7\\xbe\\xfa\\xd9\\x51\\x64\\x74\\x95\\xfe\\xf2\\x95\\x3a\\xee\\xb5\\x68\\x51\\xae\\xaf\\xe2\\x97\\x13\\xff\\xec\\x92\\x69\\x2c\\x77\\x3f\\x1b\\xb8\\x47\\xda\\xba\\x69\\xda\\x84\\xf2\\xde\\x8d\\xab\\x84\\x65\\xa5\\x7f\\x28\\x9e\\xf1\\x42\\xd3\\x0a\\x69\\x45\\xd3\\x8a\\x7d\\x47\\x6e\\x01\\x51\\x98\\xd4\\xb4\\xe9\\xfc\\x96\\xc0\\xcf\\xd7\\xd1\\xed\\x2b\\xf8\\x9e\\x5c\\xcd\\x51\\x42\\xe4\\x6f\\x90\\x76\\x59\\xd8\\x57\\xcc\\x40\\xb9\\x11\\x02\\x29\\xd9\\x46\\x83\\x21\\xe0\\xcb\\x18\\x12\\x49\\xf5\\x39\\x9c\\x16\\x41\\x50\\x6c\\x0e\\x83\\x5d\\xf1\\x10\\x4d\\x7c\\x18\\xe2\\x2d\\xae\\x66\\x7c\\x89\\xa0\\x9f\\x87\\x87\\xd2\\x31\\x2e\\x43\\x84\\xbd\\x0c\\x5d\\x1a\\x17\\xb7\\x57\\xdc\\xfa\\xce\\xa1\\x12\\x25\\x78\\xe4\\x6d\\xf5\\x9d\\x23\\x27\\x8c\\x59\\x81\\xb7\\xcf\\xbc\\xd0\\x21\\x29\\xe1\\x76\\xef\\x75\\x63\\x86\\xf6\\x5b\\x54\\x3a\\x35\\xbd\\xa2\\xb0\\x7d\\x67\\x27\\x7d\\xf6\\x2f\\x81\\x37\\xa3\\xfd\\x90\\xc6\\x79\\xfe\\xfd\\xf7\\x0a\\x09\\xd1\\x8c\\x57\\xee\\xec\\x09\\xcd\\x23\\x27\\x77\\xe8\\x33\\xac\\xae\\xa8\\x73\\xf7\\x30\\xb7\\xf7\\x8b\\x08\\x11\\x7e\\x13\\x7b\\x23\\x17\\x06\\x50\\x1b\\x15\\x26\\x1b\\x53\\x15\\x7b\\x7a\\xba\\x62\\x14\\x24\\xe2\\x12\\x04\\x49\\x4a\\x24\\x42\\x4e\\xb6\\xe0\\x4a\\x75\\x61\\x8b\\x9d\\x98\\x9a\\x4a\\x93\\xec\\x16\\x7f\\x55\\xc4\\xe2\\xa0\\x1e\\x9d\\x2b\\x59\\xb7\\x2a\\x74\\x99\\xfd\\xd1\\x2a\\x7d\\x46\\xac\\x00\\x25\\xaf\\x73\\x59\\x6e\\xeb\\xe6\\x37\\xde\\x44\\xb6\\x08\\xd1\\x8d\\x0d\\x6d\\x2c\\x54\\xf3\\x6f\\xea\\xcd\\xef\\xbd\\x3a\\x35\\xd4\\xa7\\x5d\\xee\\xca\\x9b\\xc7\\xcc\\x9a\\x70\\xcb\\x30\\x77\\xb6\\xcd\\xd1\\xf5\\x97\\xe8\\xf9\\xac\\x29\\x59\\x69\\x69\\x41\\x16\\xe4\\x87\\x06\\xb2\\x97\\x27\\x38\\x66\\x57\\x4e\\x5c\\xb9\\x60\\x42\\x64\\x79\\xc9\\x97\\x9d\\xee\\x28\\x2d\\xad\\xa7\\x2f\\x7d\\x5a\\x34\\xec\\x9a\\x01\\x59\\x85\\x79\\x9a\\xbe\\xd8\\x87\\x7c\\x3b\\x8e\\xc7\\x24\\xc8\\x0b\\x33\\x1b\\x59\\x20\\x82\\xd1\\xc0\\xb5\\x27\\x13\\x60\\x81\\x87\\xee\\x8d\\x6f\\x63\\xf8\\xf4\\x14\\x6f\\x59\\xc4\\x71\\x5a\\x93\\x12\\x6b\\x4f\\x34\\x78\\xf7\\x20\\x6d\\xda\\xa1\\x3e\\xe0\\xf0\\x40\\x92\\x50\\x0c\\x8c\\x06\\x10\\x07\\x45\\x00\\x64\\xc5\\x2e\\x7b\\xae\\x02\\x4f\\xf7\\x79\\x83\\x9e\\xf0\\xdf\\x6a\\xd2\\x31\\xb1\\xab\\xda\\x79\\x95\\xea\\x46\\x10\\x9c\\xd6\\xc3\\x9a\\x7f\\x10\\x3f\\x14\\x07\\x63\\xc5\\xa7\\x93\\xf2\\x70\\x7a\\x22\\x49\\x35\\xda\\x2d\\x12\\x36\\xd9\\x42\\x66\\x86\\x3b\\xa9\\x2a\\xe2\\x76\\x18\\x0d\\x8e\\x54\\x3b\\xb5\\x57\\x45\\x68\\x62\\x8b\\x07\\x7b\\x45\\x61\\xdb\\xe8\\x06\\xe0\\xf0\\xa3\\xc4\\x97\\xb8\\x58\\x30\\x2b\\xbe\\xd3\\x0c\\xa3\\xac\\x8b\\x0f\\x44\\x27\\x61\\x53\\x25\\x7e\\x18\\x3d\\xa9\\x7e\\xac\\xfe\\xf7\\xc5\\x3f\\x78\\x6e\\x5b\\xbe\\x61\\xe7\\x8e\\x5d\\x8f\\x9f\\x7e\\x61\\x44\\xd5\\xbd\\x0f\\x6f\\xa5\\xa5\\xd1\\x13\\x90\\x0a\\x49\\xff\\x0d\\x05\\x99\\x6b\\x53\\x3e\\x3c\\xf9\\xd6\\x9b\\x46\\xda\\xe3\\xcc\\x7f\\xa9\\x1f\\xff\\xf3\\xcc\\xbb\\xea\\x3f\\xa2\\xcf\\x2b\\x1f\\x68\\x6b\\x2a\\xd7\\xd3\\xa9\\xc2\\x1d\\x7c\\x9e\\x2f\\x3b\\x6c\\x97\\x80\\x79\\xc7\\x1a\\x8c\\xa0\\x80\\xc2\\x76\\x14\\xd3\\xc7\\x37\\xe2\\x8b\\xcc\\xa2\\x1b\\xe3\\x41\\xa7\\x46\\xcf\\xd3\\x76\\xec\\xa0\\x5f\\x5f\\x7a\\xe4\\x52\\xf4\\x67\\xfc\\x42\\x7b\\xa6\\x9f\\x50\\x4f\\x8e\\xe9\\x7b\\xae\\xb9\\xea\\x49\\x18\\x49\\xb7\\x5c\\x64\\xbb\\x58\\x97\\xe3\\xc1\\x3c\\x18\\xb1\\x0b\\x8e\\x80\\xea\\x77\\x0c\\x5b\\x2c\\xde\\xba\\x69\\xd3\\x0b\\x34\\x31\\xfa\\x3d\\xb3\\x83\\x8e\\x0a\\xff\\x82\\x3b\\xf4\\xf7\\x12\\x4e\\x28\\x0a\\x60\\x1d\\x2e\\x07\\xf6\\x62\\x31\\xdb\\xc7\\x8b\\x71\\x56\\x1e\\x66\\x1d\\xf2\\xc0\\x1d\\xea\\xa6\\x11\\x30\\x5d\\x5d\\xb5\\x43\\xaa\\x53\\x37\\x0d\\x87\\xe9\\x2b\\x36\\x6d\\x22\\x54\\xfd\\x51\\xac\\x01\\x97\\xfe\\xbe\\xe3\\xb8\\xa2\\xc8\\xcb\\xd9\\x4e\\x72\\x21\\xb6\\x03\\xb6\\xe6\\x97\\xcf\\xe2\\x42\\x82\\x8b\\x05\\x91\\x52\\x1f\\xde\\x21\\xd6\\x2c\\x1c\\x87\\xaf\\x11\\x68\\x79\\x4f\\x22\\x96\\xa3\\xc2\\x72\\x3c\\xb1\\x77\\xf8\\x1b\\xc8\\x26\\xea\\x8f\\xf0\\xf8\\x92\\xe8\\xc7\\xe2\\x07\\x3f\\xab\\x9b\\x90\\x2c\\xdb\\x45\\x45\\x98\\xac\\xcc\\x43\\x7d\\x95\\x1e\\xb6\\x32\\x6e\\x93\\x04\\x93\\x99\\x6d\\xb1\\x69\\xc0\\xde\\x7c\\x79\\x4b\\xb7\\x46\\x67\\x33\\xb6\\xdd\\x17\\x08\\x93\\xd5\\x2f\\x36\\xa9\\x5f\\xc0\\x68\\x27\\x4c\\x90\\x4d\\xd1\\x28\\x15\\xbc\\x30\\x4c\\xdd\\xaf\\xf1\\x5b\\x1b\\x78\\x06\\x89\\x48\\x02\\xc2\\x43\\x1b\\x0a\\x94\\xcb\\xe0\\xa1\\x54\\x81\\xe6\\xf6\\x89\\xf0\\x1e\\x74\\xaa\\x8f\\x41\\xfa\\x26\\x48\\x97\\xaa\\xd5\\xfd\\x30\\xcc\\x4b\\x85\\x68\\x54\\xe3\\xb7\\xa7\\x84\\xbd\\x70\\x97\\x72\\x96\\xd3\\x20\\x2b\\x6c\\x53\\x04\\x2a\\x0a\\x22\\x72\\x30\\x08\\x12\\xdb\\x19\\x30\\x78\\xd6\\x59\\xde\\xa6\\x26\\x03\\x42\\x88\\xd5\\x07\\x0c\\x99\\xd2\\xe5\\xc3\\x8f\\xcf\\x8b\\x7f\\xa6\\x8d\\x8d\\x17\\xb6\\x6d\\xbb\\x12\\x16\\xf2\\x85\\x0c\\x68\\xe0\\x23\\x5f\\x50\\x8a\\x15\\xa3\\xb0\\x71\\x2f\\x3e\\x6a\\x11\\x1f\\x95\\x28\\x80\\x9a\\xcb\\x13\\x28\\x85\\xbb\\x3e\\xec\\x32\\xa5\\xe4\\xbc\\xb0\\x97\\x36\\x42\\x7b\\x06\\x0d\\x61\\xc1\\x63\\x70\\x97\\x5e\\x37\\x99\\x61\\x6b\\x0b\\x2c\\xd0\\x20\\x9d\\x75\\x96\\xff\\x3e\\x1c\\x78\\x2c\\x06\\x07\\xd4\\xdd\\xe2\\x14\\xe8\\x82\\x70\\x8c\\x58\\xc3\\x12\\x31\\x2e\\xc7\\xd6\\x9a\\xd5\\x56\\x31\\x0f\\x2e\\xa8\\x39\\x62\\x38\\xfd\\xd0\\xe5\\xa7\\x25\\x87\\x97\\xd0\\x6d\\xd2\\x8d\\xdf\\x7c\\xf3\\x0d\\x4c\\xe0\\xef\\xe1\\x57\\x17\\xbc\\x34\\x22\\x47\\x22\\x79\\x5b\\x18\\x4b\\x1f\\xa9\\x73\\xea\\x2e\\x1b\\xd0\\x25\\x3a\\x19\\x5f\\xfd\\x09\\x26\\xe0\\x9b\\xbc\\x1f\\xae\\x8e\\xa0\\x5b\\x9a\\xe7\\x10\\x99\\xed\\xdd\\x87\\x0a\\x52\\x50\\x0c\\xe2\\x72\\x3b\\x05\\x03\\x65\\xa3\\xad\\xc9\\xb1\\x69\\xe2\\x14\\x54\\xdc\\x81\\x3c\\x25\\xf5\\x2f\\x07\\xbf\\xd8\\xbf\\xe5\\x3e\\x75\\x04\\xa4\\xa9\\x5f\\x9e\\x3a\\x85\\xe5\\x7e\\x8e\\xbc\\x0e\\x4b\\x51\\x19\\xe8\\xf3\\xf7\\x44\\x14\\xb1\\x73\\x6e\\x30\\x4a\\x6c\\xf9\\x76\\x30\\xd4\\x32\\x0e\\x16\\x0b\\x14\\x12\\xdb\\x49\\x50\\x98\\x76\\xee\\x5c\\x74\\xec\\xb9\\x73\\xbc\\x1e\\xea\\xc8\\xcf\\x42\\xaa\\xbe\\xa6\\x4f\\xf3\\x01\\xa0\\x84\\x72\\x18\\xd0\\x02\\x23\\x36\\xaf\\x1b\\x5b\\xc0\\x4d\\x4f\\x46\\x2b\\xe9\\x49\\xfa\\xfe\\xe6\\xcd\\x6a\\xfa\\xe6\\xcd\\x1a\\xaf\\xd5\\xd1\\x08\\xa4\\x71\\x3e\\x4f\\x38\\x21\\xb0\\x3d\\xeb\\x59\\x1d\\x68\\x13\\xd7\\x9c\\xea\\x42\\x00\\xb3\\x87\\xb4\\xd2\\x41\\xa1\\x67\\xc4\\xbf\\x44\\x6f\\xa1\\xf7\\x7d\\xae\\xbf\\x27\\x54\\xb5\\x7d\\x8f\\x8a\\xbf\\xff\\x9e\\x7a\\x13\\xec\\xe4\\xef\\x09\\x24\\x0d\\xbf\\xe6\\xf1\\xfd\\x87\\x93\\xf0\\x7a\\x78\\xb8\\xbd\\x2c\\x52\\x8f\\xdb\\x0a\\x40\\x13\\x93\\x93\\x93\\xd2\\x68\\x5a\\x7a\\x46\\xaa\\xdd\\x97\\x34\\x24\\xe2\\x23\\x26\\x3b\\xb3\\xb1\\xd8\\x70\\x30\\xaa\\x44\\xc9\\x9e\\xcc\\x6c\\x8d\\x56\\xf7\\xec\\xd8\\xaa\\x97\\xb6\\x56\\xba\\x6e\\xa9\\xeb\\x11\\x9c\\x5b\\x83\\x2b\\xa4\\x41\\xc8\\xc3\\x69\\xc9\\xec\\xcf\\x29\\xc7\\xb6\\x6d\\x5b\\x79\\xfb\\x0d\\x25\\x45\\x81\\xde\\xdd\\xdf\\xbd\\xfd\\xd8\\xb1\\x63\\xc2\\x89\\xa6\\xeb\\x85\\x13\\xab\\x16\\x6d\\x5e\\x69\\x59\\x67\\xe8\\x33\\x66\\xdc\\x2a\\x98\\x72\\xf0\\x60\\xc3\\x67\\xac\\xc1\\x61\\xb4\\x66\\x38\\xcf\\xd7\\x71\\xc6\\xde\\x84\\xc7\\x0d\\x88\\x34\\x47\\x39\\x89\\x26\\x25\\xa7\\x5c\\x81\\x69\\xe2\\x15\\x98\\xb6\\xe9\\xce\\xfc\\x5b\\x1c\\xaf\\xc0\\xef\\x8e\\x2b\\xb1\\x6b\\xba\\x5e\\x7a\\xb3\\xa1\\x44\\x8b\\xc5\\xf6\\x24\\xe4\\xc2\\x44\\xf1\\x0d\\x57\\xae\\x64\\x64\\xfb\\x72\\x88\\x3f\\x83\\x49\\x3d\\x8e\\xbc\\x5d\\x2f\\xed\\x85\\x7e\\xf2\\x97\\xc4\\x4a\\xdc\\xf5\\x32\\x9b\\x1e\\x66\\x2b\\xa4\\x2a\\x10\\xad\\xb3\\xd5\\xc5\\x2d\\x81\\x60\\x43\\xda\\x88\\x3e\\xf4\\x3b\\xb6\\x75\\xeb\\xb1\\x47\\x46\\x0d\\x1c\\x30\\x5a\\xfe\\x72\\xe3\\xc1\\xc3\\xf7\\x0c\\xa8\\xae\\xed\\xc7\\x61\\x5f\\x2b\\xd4\\x89\\x6f\\x38\\x34\\xd8\\x79\\x12\\x5b\\x7c\\xc3\\xf2\\xf8\\x89\\x9a\\x68\\x00\\x7f\\x6f\\xd7\\x7c\\x51\\xec\\x89\\x79\\xcb\\x92\\x8b\\xe3\\xd2\\x13\\x49\\xf0\\x03\\xbf\\xd7\\x70\\x6b\\xc7\\xd7\\xc5\\xb3\\x7b\\x81\\xdf\\xa3\\xb0\\x8a\\x33\\xf8\\xbd\\xa8\\xc5\\xd3\\x43\\xba\\xbe\\xcc\\xef\\xcd\\xfc\\xbe\\x4f\\xf3\\xbb\\xc2\\x47\\xf2\\x0a\\xbc\\xb7\\x68\\x65\\xc3\\xf4\\xaf\\xf3\\xdf\\xad\\xfc\\x1e\\x9b\\x77\\xe1\\x11\\x7e\\xef\\xd3\\xe2\\xe6\\x71\\xfb\\x94\\xdd\\x27\\x73\\x9e\\x1c\\x45\\xa9\\x98\\x27\\x4e\\x66\\x6b\\x89\\x51\\x9b\\x08\\x02\\xdb\\xf5\\x1e\\x1b\\x7e\\x0a\\xf4\\x24\\xf4\\x38\\x12\\x01\\xf1\\x24\\x94\\xb1\\xf1\\x92\\x36\\xdb\\x08\\xb6\\xac\\x06\\xf3\\x8b\\x79\\x4d\\x21\\xb8\\xe3\\x39\\x58\\x4f\\xe9\\xb3\\x70\\x90\\xad\\x9d\\xc7\\x3c\\x42\\xcd\\xbf\\x48\\xcb\\xe4\\x3e\\x48\\xdf\\x24\\x16\\xeb\\x4f\\xfc\\x9b\\xc4\\xe2\\xb9\\x5b\\x4e\\x40\\xba\\x3d\\x3d\\xdb\\xee\\xc8\\x29\\x74\\x96\\x5e\\x99\\x0e\\x69\\xf4\\x37\\x56\\x5a\\xfd\\xf9\\xee\\x96\\xe7\\x79\\xf8\\x7e\\x15\\x87\\xf3\\xb3\\x70\\xaa\\xf9\\x69\\x52\\x10\\x4e\\xa1\\x35\\x05\\x50\\x40\\x77\\x16\\xc0\\xea\\x02\\x58\\x5c\\x00\\x43\\xf1\\x2e\\x0e\\xb6\\x93\\x4d\\x49\\x96\\x12\\x67\\x75\\xe9\\x15\\x79\\xe4\\x69\\x30\\x18\\x4e\\x84\\x39\\x9a\\x67\\xa0\\x6d\\x52\\x93\\x0e\\xe9\\xb0\\x33\\x1d\\x56\\xa7\\xc3\\xe2\\x74\\x18\\x8a\\x77\\xad\\x00\\xb4\\x3a\\xe9\\xd9\\x9c\\xc4\\xeb\\x28\\x97\\xd5\\x11\\xaf\\xcb\\x55\\xda\\x73\\xf5\\xd1\\x36\\xcf\\x2f\\xc5\\x9e\\xeb\\x75\\xca\\x9f\\x33\\xbc\\x69\\x79\\xf4\\x04\\xb1\\x9d\\x80\\xda\\x00\\x74\\x0c\\x40\\x00\\x21\\x73\\xdc\\x06\\x63\\xba\\x15\\x3c\\x1d\\x68\\xe9\\xe0\\x5d\\x7c\\xc1\\x74\\x8c\\x05\\xa5\\x72\\xe8\\xf8\\x57\\x60\\xfd\\x15\\xf1\\x34\\x54\\x4b\\x43\\x5e\\x27\\xfd\\x19\\xac\\x1b\\xb3\\x21\\x98\\x0d\\xd9\\x31\\x58\\x31\\xbe\\xc9\\x95\\x04\\x1d\\xd6\\xb2\\x2b\\x60\\xc5\\x78\\x29\\x57\\x12\\x75\\xbc\\x56\\xf0\\x34\\xb4\\x35\\x4d\\x33\\x9b\\xb4\\xd1\\x64\\x03\\x91\\x77\\xca\\xe2\\xcf\\x26\\x0d\\x8a\\x88\\xc6\\x0c\\x27\\x08\\xa6\\x79\\x03\\x05\\x7c\\xa1\\xf8\\x09\\xa6\\x91\\xb5\\x34\\x29\\x6d\\x72\\xe2\\x34\\x78\\x14\\xed\\xb5\\x37\\xc4\\x8b\\x98\\xc6\\xa0\\xe7\\x55\\xaf\\xe3\\xa3\\x21\\xcd\\xf3\\xa2\\x7d\\x5a\\xe5\\x90\\x97\\xcd\\x44\\x0e\\x92\\x94\\xb0\\x13\\xde\\x10\\x61\\x83\\x08\\xcb\\x44\\x08\\x8a\\xb1\\xac\\xb5\\x3a\\xd1\\x78\\x5a\\x5d\\xc6\\x79\\x3a\\x57\\x32\\xe9\\x65\\xdd\\xa6\\xc3\\xb6\\x80\\x45\\x2f\\x6b\\x4c\\x4e\\x72\\x99\\x9c\\xf0\\x34\\xef\\x34\\x3f\\xc7\\xd3\\xb8\\xc0\\xa5\\xa7\\x89\\xc9\\x4e\\x2e\\x93\\x1d\\x9e\\xe6\\x20\\xdb\\x24\\x26\\x6c\\x02\\x9a\\x0c\\xc9\\x20\\xe2\\x97\\x33\\x9e\\x0f\\xca\\x90\\x7e\\x1f\\xf1\\x32\\xd9\\xf4\\x32\\xfd\\x8a\\xe9\\xbd\\x61\\x2b\\x74\\xcc\\x02\\x92\\x05\\x59\\x50\\x87\\x5f\\xda\\x2b\\xb1\\x77\\x2a\\x39\\xad\\x18\\x1e\\x8e\\x96\\xfa\\xbb\\xbc\\x5e\\x42\\x48\\xab\\x73\\x3c\\x8d\\x53\\x87\\xbb\\x57\\xaf\\x97\\x2c\\xb6\\x21\\x1e\\x4f\\xb3\\x46\\x5d\\x26\\x8e\\xe4\\x69\\xdc\\x9a\\xce\\xa2\\xa5\\xe4\\x59\\x7c\\xbe\\x01\\x71\\x9a\\xc5\\x9f\\x27\\xe8\\xcf\\x8b\\xc8\\x31\\x7c\\xce\\x54\\xab\\xc8\\x9f\\x27\\xea\\x65\\xab\\x54\\xff\\x8b\\xe3\\x1a\\x44\\x02\\x40\\xb6\\x0b\\x1c\\x78\\x76\\xb6\\xe1\\xf3\\xc5\\x98\\x47\\x25\\x7f\\xc7\\xab\\xe3\\x31\\x14\\xdb\\x4c\\xdb\\x09\\xba\\x3b\\x0d\\x3a\\xa6\\x41\\x5a\\x8c\\xd7\\x62\\x3a\\x25\\x97\\xe9\\x94\\x36\\xf4\\x8f\\x2f\\x13\\xca\\x1d\\x4f\\x93\\xa4\\xcb\\xee\\x49\\x94\\xdd\\xff\\x4c\\xde\\x62\\x3a\\x2a\\x97\\xe9\\x28\\x8e\\xc7\\xe7\\x3a\\x7c\\xac\\x11\\x1d\\xfe\\x93\\x8c\\x4f\\xb9\\x5c\\x4b\\x9a\\xee\\x00\\x13\\x7f\\x97\\xcb\\x94\\x5c\\xa8\\xc9\\x14\\x3e\\xff\\x17\\x8d\\xd3\\x9b\\xfc\\xb9\\x59\\x7b\\x0e\\xef\\xf1\\xe7\\x9c\\x7e\\xfc\\x79\\x82\\x9e\\xbe\\x27\\xd7\\x8b\\x55\\x4c\\x86\\x65\\xb6\\x07\\x60\\xbf\\xb0\\x97\\x0d\\x9f\\x98\\xec\\xa8\\x82\\xc1\\xe9\\x70\\xb8\\x45\\x00\\x97\\x5d\\x96\\x45\\x67\\x0f\\x23\\x74\\x45\\x06\\x30\\x42\\x39\\xdb\\x34\\x10\\x58\\x58\\xc1\\xce\\x6c\\xeb\\xda\\x0a\\xb6\\x81\\xaf\\x33\\xd4\\xba\\xa5\\x50\\x6c\\x26\\xd3\\xcd\\x3a\\x4c\\x21\\xe8\\xec\\x2e\\x0b\\x29\\x36\\x8a\\x1d\\xec\\x1f\\x77\\x3d\\x3b\\x1c\\x5e\\xde\\x9a\\xea\\x3d\\xe5\\x35\\x5d\\x3b\\x61\\x12\\x4c\\xf9\\x5e\\x0c\\xd2\\xc1\\x6a\\xbf\\xe8\\xa6\\xbb\\x80\\x5e\\xfc\\x68\\xda\\xc1\\xad\\x13\\x55\\x1e\\x6f\\xa7\\xe9\\x3b\\xf1\\x34\\x11\\xe5\\x62\\xb4\\xbb\\x4c\\x47\\x8c\\x5a\\x84\\x44\\x06\\x2f\\x4b\\x54\\x02\\x9d\\xb3\\xfd\\x21\\x11\\x0d\\x86\\x13\\x63\\xd7\\x2c\\x80\\xa5\\x60\\xf5\\x49\\x27\\xe6\\xad\\x3c\\x75\\x5c\\x5b\\xab\\x14\\x15\\x4f\\x0b\\x3e\\xfd\\x3d\\x88\\xbd\\x27\\x84\\x32\\x45\\x6f\\x20\\x37\\xbb\\x10\\x04\\x1f\\x58\\x60\\xd9\\x82\\x35\\x63\\xd5\\x13\\x7f\\x41\\xf0\\xc7\\x4f\\xad\\x9c\\xc7\\xdf\\x6b\\x6a\\x12\\x5f\\x21\\x44\\x7a\\x1b\\xdb\\x42\\x07\\x42\\x12\\xcc\\xcb\\x0d\\xdc\\xcc\\x63\\x3d\\x00\\xa7\\xe6\\x40\\xc4\\x76\\x2b\\xc1\\x66\\xb8\\xf6\\xa9\\x3e\\xa3\\x67\\x75\\x77\\xdd\\x97\\xf9\\xf1\\xb3\\xf3\\xcf\\x8b\\x8d\\xde\\x76\\xde\\x0e\\xc5\\x1b\\x96\\x94\\x72\\xff\\x44\\xf1\\x15\\xec\\x05\\xbf\\x4d\\x6c\\xd8\\x1f\\x50\\x96\\x0b\\x66\\x66\\x61\\x62\\xbf\\x45\\x8f\\x27\\x1c\\xb2\\xf1\\x38\\xa2\\xe3\\x9e\\xee\\xbd\\x7a\\x65\\xc2\\xe6\\xa4\\xe9\\x47\\x16\\x0d\\x3c\\x34\\x52\\xda\\xe9\\x2b\\x28\\xb9\\x6e\\xe2\\xac\\xd2\\x2c\\x8f\\xe6\\x07\\xc7\\x7d\\x1c\\xa5\\x33\\xdc\\xe7\\xcf\\xca\\x57\\x34\\xa5\\x11\\x3f\\xc9\\x41\\x7d\\x17\\xc4\\xfe\\x96\\xe6\\x0b\\x37\\x95\\xcc\\x23\\xbf\\x85\\x57\\x2a\\x19\\x19\\x2e\\x39\\x3d\\xdd\\x65\\x06\\x8f\\xc7\\x35\\xeb\\x26\\x5f\\x41\\xed\\xb4\\x61\\xd5\\xd5\\x7d\\x06\\xf4\\xab\\xea\\x39\\xb2\\xa2\\xab\\xe0\\x76\\x77\\xbd\\x36\\x34\\xb2\\xaa\\xcf\\xb4\\x82\\x9b\\x4c\\x85\\x26\\xe2\\x72\\x2d\\xc8\\x4a\\xee\\xd0\\xa1\\xd0\\x9e\\x97\\x57\\x68\\xcb\\xcd\\x0d\\xa4\\x14\\x16\\xce\\xcf\\xcf\\x4c\\xc0\\x27\\xb7\\x4c\\x9e\\xdc\\xf7\\xda\\xa1\\x43\\xbb\\xf5\\x85\\x14\\x4b\\xf6\\x98\\x61\\xe6\\x40\\x9f\\x8e\\xe3\\xc7\\x57\\x97\\xcd\\x49\\x6c\\xdf\\x37\\x25\\x7b\\x58\\xa0\\x64\\x4e\\xfb\\xf6\\x73\\x4a\\x02\\xc3\\xb2\\x53\\xfa\\x1a\\x0a\\xed\\x8a\\x90\\x94\\xe4\\x30\\x88\\xa9\\x79\\x19\\xee\\x42\\x2d\\x26\\xf9\\xab\\xc5\\xfa\\x5e\\x77\\xce\\xd6\\x49\\xbc\\x16\\x3b\\xcb\\x19\\x3f\\xd2\\xce\\xa7\\x6f\\xb4\\x5f\\x20\\x6e\\x26\\xa9\\xe5\\xd7\\xd6\\x1d\\x9c\\x2f\\xdb\\x77\\x23\\xee\\x96\\x99\\xeb\\x6c\\x1f\\x0a\\xb6\\x6d\\x1e\\x5b\\xc8\\xcb\\x1a\\x66\\xd6\\xe1\\x2a\\x65\\x4e\\xd2\\xcc\\x84\\x8f\\x7b\\x2e\\xb1\\x8d\\x9b\\x43\\x39\\xad\\xfb\\x10\\xf3\\x2d\\x26\\x13\\xe4\\x1c\\x16\\x47\\xdc\\x19\\xca\\x64\\x23\\x0c\\xe9\\x6c\\x82\\x83\\xdd\\x15\\x7b\\xf5\\x33\\xf6\\x99\\x63\\x4e\\x4c\\xf1\\x1e\\x5b\\x06\\x52\\x77\\x11\\xae\\x8b\\x9e\\x51\\x5f\\x80\\xeb\\x68\\x45\\x5d\\x5d\\xe3\\x4a\\x76\\x25\\x2e\\x55\\x5f\\xb8\\x58\\xf7\\xdb\\x75\\x17\\xeb\\xb4\\x6b\\xb8\\xae\\x61\\x4f\\x5d\\x9d\\x90\\xce\\xae\\x58\\xda\\xba\\x8b\\x12\\xa9\\xae\\xf1\\x4c\\xb3\\x14\\x74\\x2c\\x6e\\x3f\\xf6\\x4f\\x75\\xea\\x86\\x9d\\x1b\\x9e\\xba\\x07\\xd2\\x07\\x0c\\x9c\\x30\\xf1\\xc1\\xc8\\xf0\\xcc\\xcc\\xc3\\xc1\\x9b\\x6e\\x2a\\xe9\\x76\\x46\\x0d\\xab\\x17\\xb6\\xdc\\x77\\xdf\\xd6\\xcd\\xf7\\xcd\\x8a\\x8c\\xa9\\x1d\\x31\\x6a\\x4c\\x75\\x44\\x5c\\x7a\\xb1\\xae\\xae\\xae\\x69\\x29\\x5c\\x07\\x1f\\xd5\\x35\\x54\\xd4\\x5d\\x14\\x93\\x11\\x01\\xbc\\x80\\x8f\\xe0\\xba\\xa6\\xa5\\x75\\x98\\xe3\\xc5\\x2f\\x6b\\xe6\\xbb\\x6e\\xe8\\x75\\x5d\\x0d\\x7c\\x31\\x2a\\xfa\\xda\\xca\\xdb\\xfe\\x76\\xf3\\x42\\xa1\\xf0\\x95\\x5e\\x13\\x9d\\xe6\\x69\\x10\\xe8\\x59\\xae\\xaa\\x5f\\xf5\\xee\\xa7\\x7e\\x08\\xd7\\xa9\\xa3\\xce\\x5e\\x78\\xef\\xf5\\xd7\\xdf\\x3b\\xb0\\x7d\\xc7\\xfe\\x27\\x1f\\xba\\x9f\\xf1\\xea\\x32\\x75\\x20\\x54\\x36\\xef\\x42\\xbd\\xd9\\x21\\x9c\\xa4\\x10\\xd1\\x48\\x8c\\x16\\x33\\x0b\\xae\\x6c\\x74\\xb0\\xf8\\x54\\x82\\x43\\xc8\\x14\\x04\\xb6\\x25\\x3c\\x73\\x6f\\x89\\xef\\xf9\\x49\\x09\\x7c\\xdf\\x1e\\x36\\xef\\x07\\x95\\xed\\xf3\\xe7\\x16\\x75\\x1a\\xf9\\xf2\\x99\\x11\\xd3\\x82\\x1d\\x87\\x77\\x78\\x00\\xe5\\xef\\x6b\\xf1\\x29\\xfa\\xb2\\x74\\x09\\xb9\\x37\\x27\\xec\\x50\\x0c\\x06\\xb3\\x40\\x4d\\xd8\\xed\\xc0\\xde\\xf1\\x3d\\x11\\xc2\\xc2\\x9c\\xb1\\x30\\x5f\\xc5\\x58\\xff\\xc5\\x7a\\x6d\\x66\\x0a\\x21\\x36\\x97\\x10\\xa2\\x30\\x54\\x7d\\xc0\\xfc\\xa8\\xe5\\xf4\\x69\\xcb\\xa3\\x66\\xf1\\x29\\x08\\xbf\\xf6\\x9a\\xfa\\xa2\\xd6\\x8f\\xb8\\x4d\\x4c\\x85\\xde\\xd2\\x0a\\x1e\\x39\\x29\\x49\\x26\\xa2\\x81\\x18\\xcc\\x26\\x83\\x72\\x5f\\xa4\\x4a\\xa8\\x15\\xe8\\x6e\\xe1\\x29\\x81\\x0a\\x88\\x79\\xc5\\x9b\\xf1\\x71\\x7c\\xb9\\x01\\xcb\\x66\\xeb\\x19\\xa2\\xbd\\x11\\xd1\\xb1\\x23\\x5f\\x96\\xbc\\x23\\xe6\\x06\\xeb\\x46\\x3d\\x8e\\x30\\x57\\x8a\\xcf\\xc1\\x0d\\x72\\x26\\xc2\\x2c\\x0b\\x67\\xc9\\x46\\xd1\\x60\\x34\\x98\\xcc\\x46\\xf9\\xbe\\x48\\x8d\\x30\\x43\\xa0\\x87\\x85\\xd3\\x08\\xb3\\xca\\x08\\x76\\x63\\x85\\x71\\x99\\x51\\x60\\x01\\xbb\\x66\\x9d\\x6d\\x0b\\xde\\xcd\\xa6\\x8a\\x64\\x36\\xeb\\xb9\\x52\\x87\\x9e\\xa3\\x43\\x67\\x38\\x4f\\x95\\x1a\\xa8\\x4b\\xbe\\xc4\\xe2\\xe9\\x84\\xbd\\x20\\xca\\xca\\x43\\xf4\\x30\\x3d\\x4d\\x05\\xba\\x3c\\x03\\x25\\xb9\\x02\\xa5\\x98\\x39\\x62\\x63\\x47\\xb0\\x3a\\xe6\\x8f\\x99\\x53\\x1a\\xf2\\x7a\\x60\\xb7\\xfa\\xa7\\x73\\x17\\xa4\\x86\\x0b\\x69\\x5f\\x24\\x70\\x38\\x95\\x52\\x03\\x5c\\xfa\\xdf\\xc0\\x71\\x97\\x96\\x85\\x3c\\x52\\xe5\\x85\\x73\\xea\\x9f\\xa4\\x86\\x84\\x2f\\xd2\\x2e\\xe8\\xbe\\xd3\\x88\\xcf\\x56\\x59\\xc5\\xf2\\x96\\x84\\xd3\\x8c\\x06\\x34\\x7c\\x59\\xf0\\x2b\\x93\\xf0\\x90\\xe1\\xb0\\x81\\x1a\\x96\\x4b\\x19\\x10\\x84\\x0a\\xa8\\x01\\x91\\xfb\\x7a\\x21\\xb8\\xf2\\x56\\xf3\\x97\\xc7\\x32\\x09\\xe4\\x05\\x94\\x00\\xc2\\xa6\\x5b\\xa7\\x7c\\x44\\xbf\\x9d\\xfc\\xfd\\x9b\\xb2\\x2d\\x61\\xfd\\xfa\\x84\\x4b\\x6d\\x60\\x77\\x0c\\xa7\\x10\\x90\\x24\\x04\\x8f\\xd4\\x7c\\x48\\x38\\x8c\\x44\\x5c\\xde\\x06\\x72\\x0c\\xcf\\x16\\xb8\\x81\\x3c\\x2c\\x36\\x9b\\x56\\x82\\xfa\\x37\\xbf\\x9f\\xfc\\x2d\\xfd\\x68\\x8a\\xd4\\xf0\\x93\\x67\\xfd\\x7a\\x0f\\x1b\\x6f\\x44\\xb8\\xa3\\xe4\\x23\\xfa\\x38\\x02\\x36\\x56\\xcc\\xcb\\xda\\x60\\x04\\x49\\x94\\x36\\xb2\\xa0\\xf4\\xc1\\xb6\\xbb\\xa5\\x23\\xb4\\x52\\x16\\x7b\\x1e\\x61\\x9d\\xd8\\x13\\x7d\\xf7\\x31\\xa9\\xe1\\x24\\x7e\\x90\\x27\\xbf\\x43\\x38\\xf5\\x8a\\x8c\\xba\\xf4\\xfa\\x70\\x41\\x82\\xc7\\x93\\x64\\x60\\xab\\x42\\xad\\x56\\x69\\x43\\x24\\xc3\\x0a\\x4f\\x59\\x5f\\xb4\\xbe\\x6d\\x15\\xec\\xd6\\x0c\\x6b\\xd0\\x2a\\x18\\x05\\x2b\\x09\\x13\\xd7\\x86\\x08\\xf3\\x6b\\x2d\\xd6\\x36\\x3d\\x66\\xa1\\xcf\\x66\\xb5\\xac\\x03\\xd5\\xb3\\xca\\xea\\x40\\xd9\\xf0\\x6a\\x80\\x0d\\xb6\\xa6\\xd3\\x10\\xdf\\x4a\\x02\\x7e\\x28\\x18\\x3a\\xb0\\x6f\\x46\\x59\\x67\\xe3\\x68\\x73\\xc7\\x41\\x15\\xed\\x87\\x0e\\xec\\x9d\\x5e\\xe7\\x1c\\xe3\\xac\\x93\\x1a\\x72\\x8a\\x72\\xba\\x97\\x4f\\x9c\\xd2\\x0d\\xcf\\xf3\\x37\\x2f\\xd0\\xc6\\x49\\x32\\xa5\\x06\\xc1\\x2e\\xff\\x8d\\xaf\\x5d\\x2d\\x0a\\xa7\\x9a\\x44\\x05\\x44\\x8b\\xd5\\xd0\\x52\\xc3\\x72\\x9b\\x2a\\x2e\\x4e\\xd6\\x42\\x5c\\x7a\\x5b\\x2a\\x39\\xc4\\xbf\\x33\\xff\\x80\\x55\\x1d\\xfd\\x83\\x56\\xdf\\x5f\\xa6\\x7d\\xc8\\x0e\\xad\\x2d\\xfc\\x16\\xcb\\xbd\\x52\\xfe\\x07\\xb6\\x23\\xb9\\x61\\xb7\\xc9\\x6c\\xb6\\x8b\\x82\\xcd\\xc4\\x6a\\xe5\\x34\\x8a\\xf6\\x72\\x85\\x39\\xee\\x72\\x98\\xad\\xc2\\x88\\xaa\\x32\\x14\\x6b\\xad\\x00\\x4a\\xd6\\x1c\\x77\\xcd\\x75\\x4e\\x1f\\x3d\\x7a\\x9a\\x73\\xae\\xe7\\x98\\xd4\\x70\\xe7\\x8c\\xd2\\x6b\\xbb\\x95\\xcc\\xbe\\x83\\xd9\\x11\\x53\\xc5\\xa7\\xa9\\x4b\\xfa\\xca\\x21\\xb3\\x75\\x41\\xff\\xc1\\x7d\\xa5\\xf8\\x34\\x5c\\xe2\\xf7\\xf3\\xfe\\xe7\\x7b\\xec\\x9b\\x7a\\xa5\\xd7\\x9b\\xff\\xa8\\x14\\x12\\x17\\x1b\\x5b\\x73\\x18\\xec\\xdc\\x07\\x13\\x5b\\x72\\xbe\\x9b\\x6c\\x1e\\x73\\x44\\x63\\x9e\\x74\\x81\\xd2\\xee\\x70\\x31\\x54\\x50\\xd9\\x27\\x63\\xd4\\xd4\\xbf\\x0e\\x1a\\x3d\\xb3\\x77\\x47\\x79\\x45\\x46\\x96\\x6f\\x42\\xfa\\x96\\x6b\\x86\\x99\\x8b\\x17\\x08\\xe9\\x0c\\x56\\xd4\\x29\\xbd\\xae\\xbe\\x74\\x25\\x2c\\xb8\\x12\\x96\\x9a\\xf2\\xef\\x81\\x41\\xd3\\x48\\x84\\x65\\xfc\\x8f\\x60\\x45\\xc7\\xff\\x5b\\x58\\xd8\\x1f\\xf8\\x0e\\x69\\x54\\x2f\\xbd\\xe0\\x90\\xe9\\x2e\\x72\\xb5\\xfb\\x4f\\xf0\\x7e\\xbe\\xf4\\x0d\\xde\\xef\\xe0\\x34\\x22\\x78\\xbf\\x55\\x7a\\x17\\xef\\xd7\\xf2\\xfa\\xb5\\xab\\xaf\\x37\\xbf\\xdc\\x3c\\x17\\xe5\\xc3\\xf0\\x34\\x1b\\x16\\xd2\\xc7\\x48\\xff\\x76\\x4c\\x7d\\xfd\\xe0\\xc1\\xff\\x80\\xe6\\xff\\x43\\x9d\\xc5\\xea\\xc0\\x25\\xd3\\x37\\xae\\x76\\xff\\x3f\\xe2\\xff\\x7f\\xbc\\x6f\\x6a\\x56\\x5f\\x8f\\x1e\\x6d\\x9e\\xeb\\x50\\x8c\\xae\\xe8\\x25\\xc2\\x6d\\xe5\\xa6\\xf5\\xf8\\xac\\x42\\x7f\\x76\\x9b\\xf6\\xac\\xf1\\x2f\\xea\\xeb\\x4d\\x0f\\x69\\xcf\\x9a\\x3e\\xd6\\xd3\\x9d\\xc3\\x74\\xab\\xf4\\x74\\x2f\\xea\\xe9\\xf6\\x62\\xba\\x51\\x7a\\xba\\xfb\\xb5\\x67\\x97\\xe7\\x19\\x9d\\xae\\xbe\\xae\\xfa\\xb5\\x34\\xea\\x58\\x2d\\x8d\\xba\\x1a\\xe9\\xdc\\x45\\x7b\\x86\\xd4\\xd6\\x9e\\xfd\\x09\\x9f\\x2d\\xc5\\x67\\xb2\\xd1\\xf5\\x1c\\xcb\\xef\\x37\\xcc\\xef\\x90\\x9e\\xdf\\xf7\\x5a\\x9a\\xe8\\x22\\x84\\xd5\\x41\\x87\\x35\\x4d\\x7f\\x36\\x11\\x9f\\x25\\xeb\\xcf\\x46\\xe8\\xb8\\xee\\xc2\\x77\\x07\\xeb\\xef\\x6e\\xd0\\xd3\\x05\\xf0\\xd9\\x79\\x3d\\x5d\\x82\\x9e\\xae\\x2b\\xe2\\xff\\xa3\\x9e\\xae\\xf0\\xea\\xf8\\xff\\xef\\xee\\xd9\\x7e\\xd1\\xf8\\x75\\xad\\x98\\xab\\xaf\\xef\\x61\\xe3\\x53\\xd4\\xce\\x67\\x9b\\x62\\xa3\\x74\\x4c\\xdf\\xad\\x3d\\x26\\xe6\\x36\\x32\\xa5\\x22\\xa8\\xef\\x4b\\x47\\xa0\\x10\\xf9\\x5f\\x5b\\xbb\\x9b\\x13\\xf6\\x18\\x1e\\x32\\x37\\xb3\\xf8\\x9e\\x46\\x6b\\xa5\\xd9\\x2c\\x01\\x88\\x33\\xf8\\x3a\\x83\\xd9\\xcc\\x26\\x2c\\x0e\\x16\\x56\\xeb\\x03\\x94\\x4c\\x2d\\xe7\\xa0\\x4d\\xb6\\x76\\x4f\\xf4\\xc0\\x1e\\xd8\\x11\\xfd\\x88\\xe6\\x48\\x47\\x98\\x7e\\x6e\\x58\\xa6\\xc3\\xdd\\xc7\\xe1\\x6a\\x76\\xef\\xb0\\x70\\xaa\\x45\\x11\\x15\\x51\\x06\\xab\\x75\\x9a\\x0c\\xf2\\x6a\\x80\\x4b\\x00\\xf4\\x29\\x78\\x1b\\x3e\\x03\\x01\\xf8\\x2e\\xa1\\xe9\\xfe\\x4a\\x3b\\xe0\\xed\\x25\\xa0\\x0f\\x01\\x74\\x84\\x30\\x54\\x69\\x1b\\x13\\xf0\\x90\\x95\\xa8\\xb0\\x67\\xd5\\xcc\\x9a\\x1d\\x9c\\x1d\\xe2\\xde\\xca\\xc1\\x20\\x77\\xc5\\xf1\\x48\\x81\\x52\\xaf\\x8e\\x4d\\xf7\\x2f\\xd4\\xc6\\x95\\x3f\\x31\\x74\\x94\\x42\\xcb\\x01\\xd3\\xfb\\xbc\\xb1\\xe0\\xb8\\x9c\\x43\\x5c\\x42\\x88\\x8b\\x81\\x58\\xd0\\x22\\x1f\\x1d\\xce\\x30\\x08\\x8a\\xdd\\x2c\\xe0\\x9f\\x63\\x1a\\xf6\\xb8\\x15\\x65\\x35\\x01\\x6c\\xf7\\xe8\\x53\\xe4\\x6d\\xf2\\x19\\x52\\xa2\\x05\\x1d\\x02\\x9f\\x91\\x4b\\x84\\x3e\\x44\\xa0\\x23\\x36\\x22\\x55\\x64\\x26\\xb3\\x7b\\x48\\x1c\\x3a\\xc5\\x41\\x44\\xa8\\x65\\xb7\\x0e\\x8e\\x91\\xc2\\x5b\\xc0\\x18\\x89\\xb6\\xed\\x7c\\xfb\\xe5\\x77\\x76\\xde\\x7f\\x87\\x86\\x96\\xe9\\xd0\\x01\\xcb\\x38\\xf5\\x53\\x0d\\xb3\\xcb\\x69\\x34\\x24\\x9c\\x62\\xc6\\xa6\\x9b\\x1a\\x24\\xd3\\x34\\x23\\x18\\x57\\x4b\\x28\\xdb\\x88\\x93\\xf4\\xb6\\xf4\\x99\\x24\\x48\\x2d\\x38\\x49\\xf0\\x99\\x74\\x49\\xa2\\x0f\\x49\\xd0\\x51\\x0a\\x4b\\x55\\xd2\\x4c\\x69\\xb9\\x84\\x7d\\xc8\\x36\\x24\\xd2\\xfd\\x97\\x10\\x1f\\x4f\\x00\\xcd\\x10\\x41\\x47\\x66\\xf2\\x4a\\xb5\\xf1\\x8b\\xbf\\xee\\x01\\xfb\\x1e\\x79\\xa9\\xe9\\x80\\x45\\x5d\\xc2\\x11\\xa1\\xea\\x8f\\xd2\\xf3\\xe0\\xd6\\x79\\x20\\x2f\\x9c\\x24\\xda\\x95\\x1a\\x85\\x1e\\x56\\x9a\\x15\\xaa\\x30\\x36\\x50\\x14\\xa8\\x62\\x64\\xc0\\x82\\xcf\\x2a\\x66\\x2c\\x30\\x2b\\xa4\\x29\\xa6\\x32\\xac\\xff\\x11\\x7b\\x5e\\xe3\\x75\\xff\\xfc\\xc9\\x93\\x97\\x96\\x21\\xac\\x97\\xa4\\x97\\xa1\\x82\\xc3\\x4a\\x41\\x4b\\x2c\\xdb\\x6b\\xc8\\x74\\x74\\x74\\x84\\x1d\\x82\\xc3\\x01\\x09\\x66\\xd1\\x00\\x3e\\xa0\\x30\\x83\\x2e\\xa3\\xac\\x51\\x14\\x69\\x38\\x29\\xbd\\x92\\xb2\\x28\\xd9\\xa1\\x59\\x41\\x16\\xd1\\x3d\\x38\\x2b\\xa4\\x0f\\xce\\x09\\x59\\x5a\\x14\\x58\\xde\\x1e\\x7b\\x13\\xf5\\x0e\\x17\\xb8\\x59\\x66\\x9b\\x43\\x43\\x87\\x65\\x17\\x15\\x19\\x46\\x9b\\x0b\\xfb\\x57\\x94\\x0d\\x19\\x92\\xd5\\xb1\\x50\\x1e\\x63\\x29\\xb8\\x41\\x3e\\xb8\\x4c\\xdd\\x96\\x9b\\x13\\xc8\\x1f\\x5c\\x99\\x9f\\x93\\x9b\\x9b\\x33\\xa8\\x5f\\x1e\\x97\\x89\\xdd\\x48\\xec\\x13\\xdc\\xde\\xcc\\x0b\\xbb\\x14\\x60\\x1b\\xe4\\x9b\\xcc\\xc8\\x03\\xd8\\x3c\\x4b\\x02\\xf3\\x42\\xe1\\xfe\\x27\\x15\\x71\\x86\\x87\\x3f\\xe0\\xe4\\x1d\\x0f\\x67\\x48\\x38\\xb1\\x56\\x7d\\x54\\x3d\\x0b\\x37\\x41\\xc1\\x5a\\xe1\\x41\\x18\\xb3\\x56\\x7d\\x1f\\x0a\\xae\\x06\\x93\\x88\\x68\\xc3\\xfe\\xe7\\x30\\xef\\x55\\x3f\\xe7\\x30\\xe9\\x7b\\x34\\x7b\\xad\\xda\\x1b\\x9e\\xfb\\x7f\\x01\\xe6\\xed\\xea\\x5f\\x60\\x06\\x64\\xae\\x85\\x87\\x84\\x51\\x6b\\xa3\\xa3\\xe8\\xde\\x38\\x98\\x06\\x12\\x08\\x63\\x43\\x40\\x04\\xe6\\xd8\\x20\\xcb\\x80\\x96\\xd7\\x15\\x10\\xf9\\x14\\x7e\\x2b\\xb8\\x65\\xea\\xdf\\x39\\x38\\xf1\\xb7\\xb5\\x4d\\xbd\\x84\\xe7\\x35\\xbb\\x73\\x40\\x0b\\xbc\\x9c\\xb0\\x93\\x61\\x68\\x32\\x52\\x45\\x60\\x10\\x75\\x14\\x59\\xac\\xfe\\x96\\xf5\\x6b\\x1c\\x43\\x23\\x94\\x19\\x81\\x43\\x3c\\xa9\\x4e\\x1c\\x03\\xdd\\xa1\\x72\\xad\\xf8\\x9a\\xfa\\x26\\xac\\x19\\xa7\\xfe\\x17\\x94\\x20\\xcc\\xc1\\x57\\xaf\\x9f\\xcb\\x81\\xb6\\x2d\\xb7\\x1f\\xca\\xd8\\x82\\x61\\x06\\x76\\xb3\\xba\\x61\\x3c\\xf4\\x85\\x92\\xb5\\xc2\\xe3\\x30\\x63\\x9c\\x7a\\x12\\x06\\xb7\\xc5\\x95\\x71\\xb5\\x8b\\x45\\x9c\\xc1\\x86\\xd5\\x28\\x0b\\x54\\x92\\x40\\xfc\\x5d\\xb8\\x08\\x96\\x43\\x8d\\xa6\\xd7\\xd0\\x55\\x6b\\x69\\x3f\\xfa\\xe6\\xd8\\xe8\\x4e\\x3a\\x3b\\x1e\\xde\\x65\\xf5\\x43\\xb1\\x82\\x7e\\x17\\xcf\\x52\\x2c\\x3d\\xb8\\x9d\\xb1\\xe2\\x0f\\x81\\xa3\\x1f\\xaf\\xfd\\x81\\x3e\\x06\\x6b\\xa6\\xa9\\x93\\xd5\\xa0\\x30\\x85\\xc1\\xed\\xd3\\x42\\xd3\\xec\\x58\\x1d\\x61\\xd1\\x45\\x45\\x89\\xd5\\x51\\xd0\\xd9\\xda\\x67\\xd3\\x16\\x02\\xb6\\xc0\\x7c\\x5c\\x9d\\x39\\x0a\\x9e\\xfc\\x7c\\xad\\xf0\\x30\\x2c\\x9a\\xa8\\x4e\\x8d\\x3e\\x20\\x34\\x10\\x1d\\x26\\x9d\\x19\\x5f\\x76\\x3e\\x1f\\xfe\\x9f\\x94\\x9d\\xce\\x5c\\xab\\x8e\\x1d\\x85\\x95\\x84\\xec\\xbe\\xbc\\x4e\\xfd\\x00\\xf2\\x19\\xbc\\xd2\\xff\\x4b\\xbd\\x1f\\x53\\x07\\x4f\\xc3\\x0a\\xc2\\x7a\\x5f\\x18\\x7d\\x9f\\x7e\\x35\\x30\\x7a\\x91\\xfa\\xe3\\x60\\xf2\\xd5\\x90\\xad\\xf4\\x14\\x64\\xa4\\xa8\\xd4\\x06\\x32\\x1f\\x8e\\xba\\x1c\\x5b\\x0e\\xdf\\xd9\\x9a\\xc1\\x38\\xe8\\x80\\x64\\x50\\x9f\\xa6\\x5f\\xdd\\x10\\x3d\\x0a\\x45\\x90\\xc9\\xf0\\xbe\\xb1\\x25\\x8f\\xdc\\xb0\\x33\\x96\\x07\\x43\\xdb\\x10\\x27\\x52\\xa1\\xdf\\x65\\xad\\x7d\\xea\\x82\\x39\\x50\\x07\\x86\\xb5\\x74\\x27\\xdd\\x55\\x19\\x7d\\x84\\x8e\\x45\\x98\\x45\\x57\\x83\\xc9\\xb8\\xe0\\xdf\\xc0\\x64\\x55\\xe6\\xd5\\x60\\xee\\x52\\x6b\\xe7\\xc1\\xe6\\x5f\\xd7\\x82\\x0d\\x26\\xd0\\x3f\\xf5\\x89\\xf6\\xf9\\x4d\\x38\\xaa\\xf5\\x0d\\x75\\xb8\\x32\\xc9\\x0c\\xdb\\xb0\\x8f\\x40\\x0d\\x8a\\x28\\x22\\x15\\x5a\\x81\\xc6\\x0b\\x6a\\x8c\\x4f\\x93\\xe6\\x63\\x8d\\x49\\xdd\\x7a\\x35\\x6e\\x17\\x27\\x69\\x7c\\x5f\\xd4\\x52\\xf7\\x88\\x5f\\xac\\xee\\x59\\xcd\\xcb\\xe2\\xef\\xe2\\xd7\\x52\\xf5\\xbd\\x6f\\xc5\\x7a\\xa2\\xc3\\xe9\\x97\\x95\\xbc\\x96\\x18\\xbc\\xec\\xff\\x9b\\xcc\\x77\\xbb\\x4d\\xab\\xfb\\xa4\\xa6\\x4f\\xc4\\x48\\x71\\xd3\\x27\\x42\\x00\\x61\\xe6\\xb4\\xd0\\xb0\\x63\\x38\\x31\\x26\\xf3\\x2d\\x35\\x1f\\x4f\\x48\\x97\\xee\\x58\\x72\\x45\\xd5\\x97\\x72\\xf8\\x2f\\xa9\\x25\\x4b\\x61\\x24\\x13\\xfe\\x87\\xa2\\x6b\\xc4\\xfc\\xd2\\xa6\\x6f\\xe9\\xc4\\x23\\x1a\\x1d\\xae\\xc8\\x43\\xab\\xfb\\xff\\x4d\\x1e\\x5a\\x8d\\x1d\\x55\\xaf\\x5b\\x0c\\xff\\x0f\\x75\\xef\\x01\\x5f\\x45\\xd1\\xfd\\x0f\\x4f\\xdb\\x9d\\xdd\\x4b\\x48\\x23\\x81\\x10\\x42\\xb8\\x14\\xa9\\x92\\x84\\x7b\\x09\\x21\\x14\\x49\\x20\\x09\\xbd\\xf7\\x12\\x20\\x84\\x40\\x02\\x21\\x09\\x29\\x54\\x81\\x60\\x23\\x8a\\x8a\\xbd\\x2b\\xf6\\xae\\x88\\x62\\x2f\\x48\\x51\\x51\\x51\\x3a\\xa2\\x88\\x20\\x5d\\x45\\x41\\x40\\x6c\\xc9\\xe6\\x3d\\x73\\xee\\x24\\xdc\\x40\\x50\\x9f\\xe7\\xf1\\xf7\\xf9\\xbc\\x7f\\x23\\xdf\\x9d\\x3b\\x3b\\x7b\\xda\\x9c\\x99\\x73\\xb6\\xcd\\x16\\xd1\\x28\\xb0\\x8b\\xb3\\x5a\\xf4\\xf1\\x94\\x2f\\xa2\\xa1\\x6c\\x36\\xf2\\x68\\xf5\\xbf\\xf9\\xd7\\x9d\\x4e\\xe6\\x7c\\x7a\\x35\\x0d\\x28\\xa3\\x43\\xb9\\xe3\\x29\\x1f\\xc3\\x9f\\x56\\xf7\\x72\\xab\\xed\\x1d\\x95\\x14\\x60\\xaa\\x65\\xdc\\x5c\\x30\\x15\\x98\\xd4\\xf7\\x79\\xfc\\x0b\\xe6\\x81\\x06\\x55\\x73\\x4b\\x9f\\x25\\xf4\\x85\\x9d\\x65\\xb4\\xb7\\xe0\\x09\\xe5\\x61\\xbb\\xc5\\xfa\\x6a\\x1b\\xd4\\xf4\\x05\\x35\\x07\\xfe\\xb5\\x2f\\xc4\\x57\\xfb\\x42\\xf7\\x85\\xd0\\x6f\\x67\\xc4\\x04\\x5f\\xa7\\x21\\xbd\\xc6\\xd5\\xb2\\x35\\x4b\\x0a\\x52\\xbd\\x66\\xbb\\x4c\\xc6\\x25\\x28\\xcb\\x43\\xf5\\xd7\\xbb\\x13\\x2f\\xe5\\x08\\x9d\\x16\\xd1\\x81\\x6a\\x5e\\xf9\\xa2\\xbc\\x8d\\x31\\x34\\xae\\xbc\\x0d\\xff\\xc2\\x47\\xb3\\x41\\xb5\\x0d\\xdb\\x26\\xd5\\xab\\xf2\\x05\\x93\\x01\\x5d\\xab\\x06\\xdd\\x1a\\xcf\\x9e\\xd4\\xf4\\x82\\x37\\x9c\\xb8\\xc5\\x74\\x2c\\x4d\\x2e\\xe3\\x25\\xe5\\xcb\\x8d\\xc1\\xb1\\xe5\\x0d\\x78\\x6e\\xa9\\xa2\\xdd\\xe9\\x7f\\xa1\\x5d\\x65\\xda\\xc1\\x4b\\xe8\\x20\\x7a\\x79\\x19\\x5b\\x51\\x31\\xdb\\x18\\xde\\xfe\\xcf\\x43\\x6c\\x16\\x5d\\x5d\\x1b\\x6d\\xd5\\xf7\\xff\\x8c\\x36\\xbd\\xac\\x9a\\xf6\\x62\\x5a\\x4c\\x65\\x19\\xed\\xec\\x6c\\x52\\xb4\\x17\\xfe\\xc1\\x6f\\x54\\x72\\xc7\\x55\\xc7\\xae\\xe8\\xa4\\x40\\x83\\xa8\\x37\\xd2\\xd5\\xfc\\xcd\\x85\\xea\\xb4\\xcf\\x7a\\x9c\\x7f\\x1e\\xa4\\x0d\\x05\\x6a\\x5e\\x45\\xcd\\x69\\xe7\\x0c\\x5a\\x4a\\x6f\\xff\\xa1\\xcc\\x18\\x1e\\xf3\\xa7\\x14\\xbf\\xa3\\x6d\\xdb\\xe8\\xfe\\xff\\xe7\\x73\\x8a\\xea\\xf8\\xe4\\xa5\\xf4\\x0a\\x45\\xe6\\x7c\\x1f\\x0d\\xae\\x96\\xa7\\x59\\x52\\x30\\x68\\x6a\\x1a\\x5c\\xbd\\xe0\\x45\\xb9\\x59\\x83\\x52\\x83\\xc4\\x6a\\x1f\\x6f\\x45\\x9b\\x2a\\x0d\\x37\\x3b\\xaf\\x66\\x80\\x86\\x67\\xc5\\xef\\xce\\x1b\\x19\\x14\\xbf\\x57\\x38\\xc0\\x6f\\x5c\\xe2\\xbc\\x6f\\x70\\xc2\\xd5\\x0c\\xaa\\x3e\\xf8\\x42\\xad\\x6a\\x92\\x55\\x79\\xac\\xdf\\xbb\\x54\\x68\\xbd\\x56\\x55\\x3d\\xf3\\xba\\xb3\\x6e\\x3c\\xbd\\x5f\\xb9\\xd4\\x6d\\x34\\xde\\xd9\\x3b\\x8d\\xce\\x87\\xb4\\xa2\\x23\\xa9\\xc9\\x23\\xc6\\x37\\xf6\\xfd\\x78\\x5c\\xc4\\xe2\\xd2\\x1c\\xee\\x71\\xbe\\x1a\\x89\\x1c\\x58\\x1b\\xb6\\xd4\\x39\\x97\\x4d\\xe7\\x57\\xac\\x63\\x3d\\x6a\\xd0\\xbf\\x3c\\x29\\x1c\\xfb\\x1e\\x9f\\x00\\xaa\\x95\\x7c\\x0d\\xea\\xf1\\xd4\\xa8\\xa6\\x7e\\x8d\\x73\\x62\\x38\\x52\\xff\\x8e\\xbf\\xa0\\x68\\x97\\xef\\xe0\\xed\\x81\\xf6\\xc4\\xea\\x31\\xd6\\x3a\\xa9\\x9e\\x49\\x04\\xc3\\x8c\\x40\\x11\\x95\\xcc\\xa8\\x8d\\x32\\xf6\\xdd\\x79\\xb2\\x37\\x39\\x67\\x86\\x02\\xd9\\x4e\\x65\\xe2\\xfa\\x63\\x60\\x93\\xf2\\xee\\x7c\\x43\\x95\\x4d\\xce\\xfb\\x82\\x1a\\x09\\x52\\x5d\\x37\\x64\\x46\\xad\\xbe\\x10\\x02\\x1d\\x88\\xbe\\xb0\\x7e\\x22\\x7d\\xa0\\x4c\\xac\\x77\\xf6\\xe5\\xd0\\xf9\\xa4\\x46\\x3e\\xed\\x37\\x07\\x08\\x98\\x51\\x20\\x26\\x5c\\x34\\xa3\\x20\\x25\\xa9\\x72\\x4a\\x25\\x59\\xa5\\x53\\x40\\x47\\xd0\\xae\\x65\\x62\\xe3\\xb7\\x65\\xb4\\xfe\\x05\\xb9\\x79\\x8c\\xb6\\x23\\xc6\\x52\\x61\\x48\\xf8\\x03\\x4b\\xea\\xf8\\xe2\\xf3\\x83\\x0b\\x63\\xd6\\xf9\\x5c\\xf5\\x7e\\x48\\xcb\\x55\\xfc\\x67\\x39\\x74\\x01\\x88\\xcc\\x46\\xd4\\xa4\\xed\\x37\\xf6\\x6b\\xa7\\x7c\\x29\\xba\\x0f\\x39\\x3b\\xe8\\x12\\x1a\\x5c\\x46\\xe3\\xd9\\x8b\\x65\\x15\\xa7\\x79\\x8b\\x9a\\xfa\\xc3\\x9c\\xea\\x9b\\x9f\\xb9\\x30\\xe1\\x8f\\xca\\xda\\xa8\\x56\\xa5\\xd5\\x3a\\x63\\x7b\\xc1\\xd9\\x48\\x1f\\xfa\\xb9\\x8c\\x1f\\x2a\\xab\\xe8\\xa1\\x46\\x17\\xde\\xab\\x3b\\xdf\\xdf\\x6a\\x6c\\x09\\x0e\\x14\\x4d\\xc3\\xac\\x61\\x53\\x3f\\x3f\\xbd\\x60\\x66\\x7d\\xd3\\xc9\\x9e\\x4c\\xa3\\x69\\x46\\x99\\x98\\x57\\xb1\\x8b\\x3e\\x32\\xc5\\xd9\\xcb\\x46\\xd5\\x1c\\x03\\x9d\\x92\\x22\\x51\\x7f\\x53\\x8d\\x01\\x5f\\x04\\xb4\\x90\\x7e\\x0d\\x33\\x54\\x47\\xc1\\x06\\x97\\x98\\x07\\xb3\\x26\\xd3\\xae\\x6a\\xb4\\xbd\\xe4\\xbc\\x49\\x1f\\x98\\xec\\x7c\\x00\\x71\\x3d\\xd8\\x2f\\x7f\\xb5\\x41\\xfe\\xd0\\xf3\\x31\\xf0\\x42\\xfa\\x97\\x8e\\x82\\xd3\\x9c\\xd5\\x53\\x68\\x5b\\x9a\\x0e\\x59\\x16\\x9d\\x33\\xc1\\x79\\x8d\\x4d\\xac\\x31\\x86\\xa5\\xa2\\x7b\\x3e\\x8f\\x11\\x86\\xa0\\xe6\\xa5\\xe9\\x56\\x27\\x46\\x8d\\x27\\xb2\\x6b\\xcb\\x68\\x2b\\x76\\x38\\xb3\\x62\\x21\\xbf\\xc7\\x8f\\x1e\\xfa\\xad\\xce\\xb3\\x2f\\xea\\xb5\\x5a\\xb3\\x6c\\x50\\x7d\\x3c\\x7d\\x69\\x4f\\x19\\x2b\\xa2\\xf7\\x65\\x3a\\xc3\\x9d\\x4c\\x31\\xde\\x6f\\x3c\\x55\\xcb\\xe7\\x8b\\xad\\xff\\x44\\x3e\\x35\\xb0\\xa6\\xa6\\xd3\\x1e\\x65\\x6c\\x2a\\x7d\\x20\\xcb\\x59\\xc7\\xc6\\xd7\\x88\\xfb\\xe8\\x07\\xaa\\xb7\\x5c\\xf6\\x7f\\xe4\\x07\\xbd\\x4b\\x80\\xfa\\x88\\x32\\xd1\\xb8\\xfc\\x08\\xcf\\x48\\xab\\xb8\\x97\\xf7\\x50\\x76\\x4c\\xbc\\xd0\\x0f\\x94\\x87\\x55\\x65\\x5b\\xff\\x89\\x1f\\x54\\xc5\\xda\\x61\\x73\\x68\\x67\\x3c\\x41\\xa8\\x98\\xcd\\x7b\\xf7\\xae\\x78\\x84\\xad\\xc0\\x35\\x06\\x7b\\x54\\xf3\\xe9\\x98\\xd4\\xf0\\x42\\x3e\\x17\\xb1\\xf9\\x1b\\x6f\\x5b\\xef\\x0c\\x9a\\x4b\\xd3\\x55\\xce\\x55\\xe4\\x3c\\xce\\xc7\\x74\\xaf\\x18\\x49\\x3b\\xb3\\x3e\\xa4\\x26\\x9f\\xb6\\x49\\x61\\xbe\\xb9\\xd7\\xc7\\xa7\\x36\\x8f\\x6b\\x50\\xab\\xc7\\x3d\\xe6\\xcc\\x9a\\x0b\\x27\\xb7\\xae\\x32\\x3a\\x8a\\x37\\xec\\x5e\\xe1\\xe1\\x8f\\xf9\\xd1\\xb5\\xd4\\xfc\\xe8\\xf3\\x0f\\xf5\\x00\\x66\\x55\\xe6\\x75\\xf1\\x39\\x58\\x83\\xaa\\xb3\\x8f\\x09\\x73\\xe9\\x7d\\xfb\\x61\\x92\\xe0\\x5d\\xba\\x97\\x7f\\xf3\\x69\\x55\\xee\\xd5\\xa3\\xb6\\x3c\\xfc\\x22\\xf7\\xb8\\x84\\x77\\x8c\\x9e\\x4b\\x3d\\x65\\xb4\\x3d\\xef\\xd9\\xbd\\xe2\\x59\\xde\\x8e\\xf8\\xe7\\x32\\x6a\\xde\\x09\\xad\\x9a\\x27\\x4c\\xf5\\x31\\x2a\\x59\\x95\\x6e\\xa8\\x27\\xb2\\x13\\x6b\\xf7\\x0e\\x48\\x35\\x16\\xd1\\x8e\\x55\\xf9\\x97\\x1d\\x57\\x3e\\xbb\\x2a\\xb6\\xc7\\x5f\\x18\\x2b\\x7d\\xfd\\xc6\\xa4\\x29\\xd5\\x03\\xad\\x35\\x69\\xff\\x95\\x5f\\x0c\\x5a\\x44\\xbb\\x55\\xe5\\x60\\x76\\x87\\xf2\\xf1\\x17\\xe5\\x60\\x9a\\xbe\\x6f\\x1e\\xfa\\xe7\\xf4\\x6b\\xcb\\xc3\\xea\\xb4\\x2f\\x6f\\x77\\x51\\x1e\\x76\\x01\\x7d\\x1f\\x79\\xd3\\x47\\xdf\\xc7\\xa0\\x16\\xfa\\xb5\\xe7\\x62\\xae\\xf6\\x7f\\x6e\\xd4\\xb9\\x58\\x27\\xff\\xdc\\xa7\\x2a\\x17\\x53\\x77\\xdc\\x7c\\xd9\\x58\\x95\\x67\\x5c\\x94\\x8f\\xc5\\x29\\x82\\xf7\\x1f\\x28\\x53\\xb4\\x86\\xea\\x7c\\x2c\\xbe\\x96\\x7c\\x0c\\x48\\x9d\\x3f\\x91\\x4a\\xac\\x2d\\x1f\\x1b\\xb8\\x04\\x4e\\x70\\x80\\x4c\\xf9\\x02\\xbe\\x95\\x5c\\x30\\x37\\xfe\\x87\\xf9\\xd8\\xb7\\xce\\x73\\xf9\\x74\\xae\\xca\\xc7\\x2a\\x36\\xf4\\x67\\x0b\\x6a\\xcd\\xc7\\x7c\\xb9\\xcc\\x7f\\x9e\\x8f\\x6d\\x77\\xde\\xca\\xaf\\xca\\xc7\\xa2\\x9d\\x00\\x20\\x5f\\x4b\\x3e\\xf6\\x3f\\xf2\\x58\\xed\\xec\\xcd\\xaf\\xca\\xc8\\x86\\x3b\\x49\\xc0\\x03\\x33\\xb2\\x5a\\x73\\x3e\\x3f\\x1e\\x7f\\x93\\xf3\\xc5\\xfb\\x71\\xb8\\xdf\\xf9\\x39\\x5f\\x67\\x65\\x25\\xce\\x44\\x60\\x80\\x69\\x59\\x8d\\xf8\\x81\\x71\\x5f\\x9d\\x07\\x5f\\x2a\\x2b\\x3b\\x3f\\x4b\\x54\\x93\\x7d\\xc8\\xf9\\x29\\x9f\\xbe\\xa0\\xb2\\xb2\\x61\\xce\\x0c\\x45\\xd5\\x97\\x96\\x01\\xdd\\xec\\x9a\\x79\\x19\\x11\\x96\\xfc\\x07\\x79\\xd9\\xc9\\x7c\\x5a\\x5a\\x26\\x16\\x3b\\xdd\\x06\\xaa\\x5e\\xf4\\x97\\xef\\x9f\\xe7\\x77\\x2a\\x4c\\xce\\x1c\\xc4\\x0e\\x95\\x89\\x2d\\x15\\x5b\\xb3\\xab\\xe8\\xa4\\xd5\\x9e\\xdb\\x72\\x15\\x2c\\xcd\\x8b\\x33\\xa7\\x1a\\x33\\x6c\\xab\\xaa\\x19\\xf6\\x3d\\xe7\\xed\\x29\\x74\\x06\\x5d\\x02\\x89\\x8e\\x73\\xcf\\x04\\x7a\\x87\\xce\\xf7\\x06\\xf8\\xc5\\x88\\x48\\xff\\x3e\\x02\\xea\\xd2\\x34\\xd5\\x25\\xaf\\x2a\\x06\\xbe\\xa5\\x49\\x6a\\x89\\x11\\x17\\xe7\\xff\\x6c\\x69\\x75\\xfe\\xcf\\x52\\xff\\x8e\\x8f\\x14\\x26\\xf0\\xfa\\x4f\\xf8\\x54\\x9f\\x05\\xd0\\x86\\xd5\\x67\\x01\\x7c\\x30\\xa9\\xe9\\x13\\x10\\x8b\\xc0\\x27\\x98\\x9a\\x93\\x99\\x61\\x02\\x37\\xa3\\x46\\x62\\x71\\x7e\\xe6\\xc1\\x91\\xcd\\xab\\x89\\xe7\\x1c\\x99\\x4e\\x8b\\x68\\x41\\x19\\x4c\\x18\\x87\\x27\\xd0\\xf5\\xe5\\x8f\\x8b\\x16\\x35\\x72\\x0b\\xc8\\x5d\\x31\\x76\\x08\\xbc\\x86\\x63\\xe2\\xbc\\x53\\xe3\\xba\\x58\\xcd\\xf8\\xd1\\x0a\\x66\\x63\\xe5\\x1e\\xeb\\xd2\\x21\\x6d\\xe7\\x1f\\x3b\\xeb\\xb2\\xe8\\x03\\xe7\\xfe\\xbb\\xbc\\x9d\\x57\\xe5\\xed\\xc7\\x9c\\x31\\x74\\x14\\x4d\\x2c\\x13\\xe3\\x9c\\xe4\\x32\\x95\\x9c\\x5d\\x22\\x6f\\x17\\x06\\xcc\\xb9\\x96\\xe1\\x17\\x84\\x6b\\xbd\\xb2\\x22\\xab\\xf3\\xeb\\xd3\\x4e\\x26\\x9d\\x46\\xdb\\x94\\xf1\\x7b\\x9d\\x32\\xda\\x85\\xb6\\x20\\xff\\xe6\\x39\\xc1\\x83\\xce\\x4e\\x9a\\x09\\xe1\\x82\\xb6\\xa0\\x73\\xcb\\x9c\\x0f\\xf8\\xbd\\xff\\x43\\xee\\x4e\\xab\\x2e\\x07\\x7e\\x4c\\xaf\\xa7\\x26\\xe4\\xa9\\x65\\x8e\\x10\\xe3\\x80\\xde\\xa8\\xff\\x36\\x77\\x37\\x7c\\x51\\xf9\\x7d\\x67\\xfa\\x24\\x6a\\xd3\\xd9\\x65\\xa2\\x45\\x45\\x08\\x5d\\x3e\\xd1\\xe1\\x19\\x68\\x83\\xd1\\xff\\x76\\xce\\x56\\x30\\x91\\x86\\xd2\\xec\\x32\\x5e\\x5a\\xf1\\x2e\\xbd\\x7a\\xa2\\xf3\\x1b\\x5b\\xf0\\xb3\\xe2\\x33\\xf6\\xdf\\x3e\\x47\\x28\\x1c\\x0f\\x49\\x46\\xef\\x32\\x96\\x0b\\x53\\xff\\x55\\xd3\\x9c\\x5d\\xd4\\xc3\\xc6\\xd5\\xd0\\xe7\\xbf\\x3c\\x47\\xb8\\xc7\\xb9\\x65\\x0a\\xed\\x4f\\xdb\\x41\\xc6\\x46\\x73\\x27\\x38\\xef\\x43\\xc6\\x46\\xfc\\xec\\xaf\\xe3\\x29\\xf3\\xcd\\x79\\x46\\xcd\\xc8\\x7c\\xd1\\x35\\xd3\\x56\\x93\\xd8\\x82\\x32\\xf6\\xfe\\xc4\\x8a\\x87\\xc4\\x07\\x3e\\x9f\\x9b\\xf0\\xbf\\xe5\\xf2\\xc5\\xe9\\x34\\xb6\\x0c\\x14\\x5f\\x9e\\xe5\\x6c\\xe7\\xcb\\x81\\x5e\\xe7\\xda\\x72\\x35\\x48\\x47\\xd4\\x04\\x54\\x95\\x8f\\x5c\\x18\\xa3\\xcf\\xe7\\x6a\\x9f\\x38\\x3d\\xf2\\x69\\x3b\\x38\\x21\\xe2\\x1b\\xca\\xbb\\xb3\\x2f\\xfb\\x3b\\x0d\\x45\\x8a\\x4f\\xce\\x84\\x8b\\xe2\\xa8\\xce\\xd5\\xd4\\xb8\\xbb\\x20\\xd9\\x09\\xfd\\xeb\\x6c\\x6d\\x48\\x3e\\x9c\\x73\\x4d\\x2a\\xe3\\xed\\xcb\\x77\\x28\\x16\\x01\\x3c\\xfb\\xbb\\x4b\\xf0\\xa8\\xce\\xa7\\xfe\\x31\\x8f\\x90\\xf3\\x3c\\x7a\\xd0\\x7e\\x65\\xac\\x07\\x04\\xe9\\x2f\\xfb\\x57\\x7c\\xc7\\xfa\\xb3\\x36\\xc8\\xa3\\x73\\x65\\xc5\\xff\\x92\\xb3\\x55\\x71\\x78\\x53\\x71\\x18\\x07\\x27\\xfe\\x74\\xac\\xf3\\x38\\xfb\\xba\\x7f\\xc5\\x5b\\x34\\x99\\x4f\\xf1\\xb3\\xbf\\xce\\xd9\\x08\\x65\\x90\\x1f\\xfd\\xa3\\x9c\\x6d\\x68\\x3e\\xbd\\xe9\\xcf\\x32\\x25\\xed\\x54\\x9d\\xb3\\x75\\xbe\\x38\\x67\\xfb\\x1b\\x1f\\x63\\x05\\xd7\\x2b\\x3a\\xc9\\x48\\xe6\\x90\\xd0\\x71\\xb5\\xf7\\x7f\\x98\\xb3\\x35\\xd7\\x39\\xdb\\x4f\\xce\\x92\\xf9\\x10\\x7e\\x76\\x89\\xdf\\xcb\\xd3\\x3d\\xdc\\x27\\x53\\xea\\xbf\\x95\\x4f\\x1d\\x76\\x5e\\x58\\x48\\x1f\\xa4\\x03\\xcb\\xf8\\x3c\\x1a\\x5a\\xbe\\x19\\xe8\\x3b\\xab\\xe9\\xe0\\xda\\x79\\xfc\\xb7\\xd7\\xe9\\x3e\\x77\\x36\\x2c\\xa4\\x8f\\xaa\\x38\\x9d\\x49\\x7f\\xae\\x60\\x1d\\xf8\\x1f\\x15\\xc7\\x58\\x43\\x3f\\x1e\\xd7\\xfc\\x77\\x7a\\xf8\\x67\\x6d\\xaf\\x3a\\x5f\\xfb\\x78\\x3c\\xc8\\x4b\\x2a\\x52\\x3c\\xbc\\xbc\\xfc\\x61\\x9e\\x4e\\x6a\\xe8\\x51\\xe3\\x7a\\x1a\\x50\\x36\\xff\\xea\\x7a\\x9a\\x1f\\xe9\\xe7\\x9d\\x23\\x3e\\xd2\\xbc\\xa2\\x62\\x2c\\x18\\xc8\\x77\\x55\\x14\\xe9\\xfe\\x17\\xd7\\xd3\\xf6\\x00\\xad\\xeb\\x45\\x54\\x45\\x17\\x5f\\x57\\x02\\x9d\\xa5\\xfe\\xe7\\x9d\\xea\\xf1\\x3b\\x3c\\xef\\xf4\\x0f\\xcb\\x35\\xae\\xa6\\x29\\xc1\\x94\\x5c\\xfb\\x9d\\xa7\\xe7\\xd2\\x29\\x74\\x40\\x99\\x58\\xff\\x69\\xc5\\xa4\\xee\\xec\\x4d\\x1a\\x5f\\x93\\x5e\\xf5\\x75\\x2f\\x83\\x5c\\x3a\\x7b\\xf3\\x9b\\xcd\\x9a\\x57\\x67\\x6f\\xdf\\x39\\xab\\xe7\\xd0\\x42\\xda\\x0d\\x92\\xb7\\x8a\\xa2\\xee\\x6c\\x8f\\x4a\\xde\\xfc\\xaf\\x23\\xfc\\x0b\\xb9\\xdb\\x76\\xe7\\xc5\\x39\\xf4\\x45\\xe5\\x13\\x63\\xe9\\x8d\\x15\\xb3\\x7b\\xf3\\xde\\xce\\x08\\xd6\\x97\\xd4\\xe4\\x13\\x97\\x14\\x51\\x23\\xff\\xbc\\x04\\x97\\x4b\\xf9\\xc4\\x4b\\xce\\x56\\x1f\\x8f\\x57\\xd9\\x4f\\x15\\x6b\\x80\\x45\\x85\\x9b\\x5f\\xe9\\xb3\\x51\\x17\\x3f\\x9f\\x08\\x35\\x31\\x17\\x62\\x30\\x1e\\x2f\\xcc\\xda\\x42\\x13\\x3d\\xb5\\x67\\xf3\\x4f\\x3b\\x7b\\x4a\\x20\\x9b\\x07\\x9f\\xb8\\xbd\\x62\\x63\\x1a\\xef\\x53\\x7e\\xa7\\x90\\x5a\\xf6\\x9a\\x79\\x9b\\xf0\\xdd\\x6f\\xf9\\xc7\\x79\\xdb\\xa6\\xb9\\x74\\x55\\x19\\x7f\\xb3\\x62\\x65\\x77\\x3e\\x70\\xa5\\x4f\\xd6\\x5b\\x6b\\xfa\\x87\\xa1\\xf2\\xb6\\x4b\\xfb\\x07\\xaf\\xf2\\x8f\\x3d\\xce\\x9d\\xe3\\x21\\x58\\xf6\\x29\\x13\\xe3\\x9d\\x4c\\xe7\\x9e\\x4c\\x3a\\x92\\x15\\xd5\\xa0\\x87\\xb1\\x8e\\x4b\\x69\\x32\\xd3\\xb2\\x09\\x08\\x48\\x85\\x0c\\x15\\xbc\\xea\\x3c\\xd4\\x5f\\x42\\x1b\\xe5\\x0b\\x69\\xce\\x63\\x2b\\xde\\x1d\\xcf\\x1e\\x2a\\x2b\\xe3\\x5f\\x57\\x2c\\xc8\\x64\\x87\\x8e\\xe0\\xe3\\x3e\\x7e\\x34\\xab\\xcf\\x19\\x0c\\x9d\\x47\\xfc\\x27\\xe7\\x0c\\x07\\x9c\\x7d\\xe3\\x69\\x1f\\x3a\\x0a\\xf2\\x2b\\xe7\\xed\\x4c\\x3a\\x43\\x5f\\x07\\xbc\\xf5\\x7f\\xf6\\x3b\\xbf\\x74\\xfb\\x9d\\x4a\\x9f\\x51\\x68\\x4f\\xda\\xc1\\x39\\x94\\x49\\xe7\\x39\\x9b\\xf9\\x35\\x17\\xda\\xf9\\xf2\\xa4\\xfa\\x35\\x72\\x79\\x03\\x4f\\xf3\\x6a\\xf5\\x3a\\x9c\\xf3\\xe5\\xf9\\xb3\\xbc\\x6f\\x26\\x22\\x79\\x36\\xe0\\xf7\\x69\\x74\\x5e\\xc5\\x0e\\xb1\\x88\\xd4\\xb8\\xf6\\xfe\\x5f\\xf8\\x45\\xc8\\xf9\\x7c\\x9e\\xdd\\x81\\xf9\\x3c\\x6b\\x77\\x41\\x3e\\xdf\\x02\\xe3\\x09\\x9c\\x8f\\x0a\\x26\\x0d\\x3f\\x0f\\x56\\x4b\\xe5\\xd4\\x9a\\xd1\\xef\\x75\\x06\\xd0\\x61\\xb4\\x7b\\x19\\xff\\xa2\\x02\\xce\\xd0\\x1e\\xfb\\x8b\\xbc\\xfb\\x1f\\xe6\\xf4\\xbc\\x3a\\x49\\x3e\\xe9\\x4c\\xa6\\x83\\xd4\\x55\\xa0\\x16\\x8e\\xa7\\x8c\\xe5\\xe1\\xa4\\x54\\x0b\\x6d\\x03\\xaf\\xc5\\xff\\x23\\xda\\x7e\\x09\\xf8\\x6e\\xe7\\x7e\\xda\\x04\\x4e\\x96\\xd8\\xed\\xce\\x86\\x32\\xba\\x8c\\x45\\x5d\\x74\\x5e\\x03\\x51\\x43\\xda\\x2e\\xca\\x20\\x77\\xb3\\x42\\x0d\\x7e\\xd1\\x79\\x8d\\x26\\x06\\x93\\xdd\\x5a\\xfd\\x08\\x0e\\x64\\x94\\x65\\xce\\x0f\\x42\\x3d\\xb9\\xe6\\x7f\\x3e\\xe7\\x97\\xcf\\x2b\\xa3\\x72\\x79\\x61\\xde\\x53\\x6b\\x3e\\x8f\\x57\\x8a\\x09\\x85\\x01\\xb2\\xbd\\x3c\\x86\\xce\\x9f\\xf6\\x83\\xb8\\xe9\\x12\\xd7\\x3f\\xfe\\xc3\\xbc\\xcd\\xa8\\xce\\xdb\\x80\\x41\\x00\\xbd\\xb2\\x8c\\x8f\\x2c\\x7f\\x0e\\x18\\xfc\\xca\\xf7\\xac\\xfb\\x37\\xe8\\xfb\\x5d\\xe5\\x1f\\x4f\\x1b\\xd3\\x99\\x98\\xb3\\x01\\x7d\\xe7\\x0f\\xb6\\x44\\xe7\\x6c\\xff\\x2e\\x8f\\x1e\\xb4\\x2f\\x64\\xcc\\x70\\x96\\x00\\x3c\\xf6\\xd2\\x78\\x7e\\xdb\\x05\\xf7\\x19\\xdd\\xea\\xbe\\x27\\x61\\xb5\\x5d\\x69\\x4b\\x3c\\x9f\\xb5\\xe1\\xcc\\xe1\\x74\\x70\\xa6\\x4f\\xa4\\x73\\x69\\x9d\\x32\\x3a\\x27\\xc7\\x79\\x46\\xfc\\x5e\\x7d\\xcf\\xd2\\x3f\\x6f\\xfb\\x07\\xe7\\x06\\x6a\\xa0\\x01\\xa5\\xae\\x48\\xe7\\x40\\xd5\\x75\\xdc\\xf3\\xf7\\x62\\xa3\\x92\\x02\\x54\\x7c\\xb6\\x31\\x2f\\x11\\x17\\xdd\\x8f\\xaf\\xce\\xd8\\x7e\\x70\\x66\\x2d\\xa5\\x2f\\xab\\x8c\\xed\\x4f\\x19\\x63\\x0c\\xaf\\x71\\x8d\\xb2\\x6a\\x7e\\xd4\\xb9\\x94\\x14\\xfe\\xc4\\xaa\\x7c\\xd5\\xcf\\x6e\\x97\\x9d\\x0f\\x3a\\xbf\\x3b\\x37\\x2e\\xa6\\xab\\x55\\xd0\\xb9\\xf1\\x8f\\x3f\\x17\\xb6\\x37\\x86\\x3b\\x9b\\x68\\x67\\x42\\x6a\\xbd\\xcf\\x4d\\x8c\\x4b\\x53\\x4f\\xac\\x35\\x22\\x7f\\xed\\x3c\\xbb\\x04\\xa9\\xb3\\x7e\\xf4\\xc7\\x3f\\x3f\\x01\\xf2\\x15\\xbb\\x60\\xa6\\xa9\\xe5\\xfe\\xfc\\x3f\\xa3\\xed\\x1f\\x89\\x37\\x38\\x8f\\x2d\\xa6\\x5b\\x81\\xf6\\xf7\\x3c\\xb8\\xdc\\x8e\\x35\\x06\\x97\\xef\\xe5\\x97\\xd5\\x7c\\x9e\\xe0\\xfc\\x35\\x35\\x76\\xd1\\x13\\x05\\x97\\xba\\xa6\\xf6\\x86\\xf3\\xca\\x22\\xfa\\x89\\xbe\\xa6\\x1d\\x67\\x0c\\x3d\\x7f\\xbf\\xba\\xcd\\xc5\\xd7\\xd4\\x18\\xe3\\x86\\xdf\\xb5\\xe6\\x5a\\xef\\x75\\x2e\\xa5\\x6b\\x91\\x96\\xea\\x34\\xa4\\x53\\xe3\\x59\\x0c\\x5f\\x6e\\xa6\\x02\\x6f\\x2d\\x7d\\x5f\\x9d\\x97\\xed\\x74\\x86\\x2f\\xa1\\x6f\\xa8\\xb8\\xbb\\x7e\\x77\\x79\\x58\\x02\\x44\\xa7\\xde\\xe4\\x12\\xcf\\x8a\\x18\\xf8\\xac\\x08\\xd8\\x51\\x13\\xbc\\xb8\\x7f\\xce\\xe7\\x64\\x67\\x9d\\xac\\xf9\\xf4\\x55\\x3a\\xbc\\x4c\\x7d\\x94\\xdc\\x23\\x12\\x7d\\x39\\xd9\\xf9\\x67\\x5c\\x3c\\xfe\\xb9\\x12\\x5e\\xe7\\x82\\x3f\\x7f\\xd2\\x89\\x7f\\x93\\x91\\x1d\\x76\\x6e\\x5a\\x48\\xdf\\x85\\x33\\x01\\x36\\x1b\\xce\\x04\\x16\\x79\\x44\\x1f\\x67\\x35\\x1b\\x55\\xeb\\x73\\x34\\xd8\\xff\\x7f\\xc5\\xa1\\x76\\x2f\\xf8\\xc2\\x79\\x70\\x31\\xfd\\x82\\x7a\\xcb\\x3e\\x64\\x33\\xca\\xb7\\xc6\\x8b\\xa4\\x8a\\xa5\\x70\\xb2\\x7c\\xc1\\x33\\x46\\x78\\x1d\\xcd\\x97\\xa3\\x33\\xbc\\x6b\\xe4\\x7f\\x77\\x23\\xf1\\x82\\xc8\\x5b\\xc3\\x17\\xde\\xbc\\x92\\x6e\\x50\\xbe\\xd0\\xbc\\x7c\\x9f\\x47\\x8c\\x2d\\xdf\\x27\\x1a\\x5e\\xe2\\x19\\x18\\x1d\\x7b\\x95\\xf7\\x56\\x11\\xbe\\x64\\x3e\\xf6\\xc6\\x42\\xba\\x01\\xce\\x8d\\xca\\xcb\\x3c\\xe2\\xfd\\x15\\xe4\\x82\\xe7\\xb4\\xd0\\x27\\x54\\xde\\xcf\\xce\\xbb\\x6b\\x6d\\xd7\\x58\\x6f\\x99\\xcb\\x8e\\x95\\x89\\xe9\\x7f\\xde\\x9b\\x62\\x74\\xaf\\x7e\\x46\\xeb\\x62\\x5f\\xf0\\x8d\\xa9\\x6a\\x73\\x5e\\x74\\xdd\\xac\\x5a\\xd9\\xdf\\x9c\\xdc\\x39\\xf4\\x61\\x3a\\xa5\\x8c\\xbf\\xf2\\x7b\\x45\\x5a\\x1a\\xfb\\x84\\x66\\xd2\\x40\\x52\\xeb\\xf3\\x6e\\xbe\\xdc\\xff\\x2f\\x7d\\xcc\\x2f\\x03\\xfb\\xcd\\x79\\xa0\\x98\\x96\\xd1\\x31\\x90\\x81\\x55\\x64\\xf5\\x61\\x7b\\xf1\\x79\\xb7\\xf8\\x7f\\xcf\\xc7\\xb6\\x3b\\x2b\\x67\\x42\\x46\\x3e\\xa0\\x8c\\xba\\x69\\xfb\\x8a\\x57\\xfa\\xb3\\xc3\\xce\\x6a\\xfe\\x48\\x8d\\xe7\\x0b\\x5b\\x62\\x3e\\xee\\xeb\\x7f\\xf3\\xc2\\x7b\\x5b\\x97\\xee\\x7b\\x1f\\x59\\xd6\\xb4\\x62\\xff\\x20\\x76\\xb8\\x62\\xb7\\x98\\x7f\\x89\\x67\\xe1\\xfe\\x59\\xdf\\xfb\\x42\\xc1\\x1b\\x45\\xf4\\x6d\\x24\\xd9\\x87\\x1d\\x62\\xa3\\x48\\xcd\\x67\\x35\\xff\\x6e\\x3e\\xa8\\xce\\xc3\\xbf\\x75\\x86\\x8d\\xa3\\xb7\\xd0\\xb1\\x65\\x70\\xda\\xfb\\x80\\x33\\x63\\x1a\\x5d\\x00\\x1a\\xd7\\x7c\\x9e\\xd4\\xaf\\xaf\\xfe\\xc6\\x07\\x90\\x2a\\x66\\x02\\x5f\\x3b\\x03\\x87\\xd3\\xfb\\x94\\xbf\\xe7\\x38\\xb1\\x4e\\xf6\\x4c\\x7a\\x2d\\x7b\\xe2\\x04\\xa9\\xf9\\xdc\\x6b\\xd5\\x7d\\x73\\xdf\\xb5\\x63\\xd0\\x99\\x73\\xb5\\xa4\\x98\\x27\\xf6\\x52\\x5a\\x2b\\x67\\x5d\\x34\\x89\\x1d\\x2c\\x63\\x85\\x15\\xf7\\x4f\\x64\\x9b\\x59\\x3f\\xe2\\xff\\x7c\\x6e\\xd5\\xb5\\xbb\\xea\\x79\\x4b\\x88\\x6a\\x7a\\x7f\\xe1\\x55\\x9b\\x9d\\x37\\xa7\\xd0\\xd9\\x34\\x17\\x32\\x2d\\x67\\x4d\\x06\\x2d\\xd2\\xd7\\xee\\x06\\xd6\\x76\\x5e\\xee\\xbb\\x9d\\xc9\\xb9\\x89\\x84\\xcf\\x53\\xae\\xb5\\xd7\\xd7\\x4f\\x40\\x0b\\x40\\x1a\\xb1\\x33\\x83\\x5e\\xeb\\x6c\\x16\\x1f\\xd5\\x7c\\xf6\\xb5\\x16\\xfd\\x31\\xf6\\x5f\\x52\\x7f\\xec\\xf5\\x71\\xf4\\xd1\\x32\\xda\\xda\\xd9\\x33\\x95\\x96\\xf2\\x07\\x49\\xcd\\x67\\xa8\\x43\\xaa\\xee\\xcb\\x33\\x21\\xb9\\x21\\x42\\x7d\\xa7\\x60\\x3d\\x6a\\xa6\\x83\\xb4\\x2a\\xcd\\x86\\x33\\x9a\\x5b\\x69\\x20\\x5d\\x5a\\xc6\\xdf\\x29\\x4f\\x29\\xab\\xca\\x4b\\xce\\xe7\\xc2\\x6d\\xce\\x3f\\x37\\xe6\\xeb\\xf7\\x1a\\x14\\x6b\\x4b\\x83\\xe3\\xab\\xc9\\x06\\xab\\x7b\\x2b\\x2d\\xcb\\xbf\\x2a\\x13\\x6d\\xb6\\x5e\\x48\\xb7\\x9d\\xce\\xdf\\xab\\xf2\\xb3\\xda\\x28\\x37\\xa8\\x35\\xc1\\x3e\\xe8\\xac\\xa0\\x51\\xb4\\xa8\\x8c\\xa5\\x54\\xbc\\x53\\xc6\\xce\\x30\\xb3\\x36\\x79\\x05\\xb9\\x24\\xd5\\x4b\\xa7\\xed\\x5e\\x3a\\xa1\\x8c\\xb6\\x75\\x76\\x97\\xd1\\x09\\x60\\x55\\xf5\\x4e\\x58\\x82\\x78\\x8f\\x7e\\x6c\\xa8\\x35\\xfe\\xd4\\xbb\\x2a\\xea\\x3c\\xd4\\x2e\\xad\\x03\\x19\\x7b\\xe4\\x67\\x1e\\x4f\\xa2\\x7a\\xc1\\x83\\x4a\\x7c\\x4b\\x11\\xff\\xd1\\x8f\\xc7\\xb5\\x8e\\xdd\\x15\\x8b\\xff\\xc6\\x19\\x4b\\x37\\x64\\xc1\\x7f\\x78\\xff\\x4c\\xbd\\xbf\\xb0\\x07\\xdf\\x5f\\x30\\xf0\\xc9\\xec\\x08\\x66\\x58\\x87\\xad\\xb3\\x16\\xb3\\x64\\x81\\x41\\x87\\x18\\xa5\\xc6\\x29\\x83\\x07\\x19\\x14\\xdf\\x91\\x98\\x1d\\xeb\\x4d\\xf7\\xbd\\xa9\\x81\\x6f\\x46\\x28\\x11\\x4b\\xd5\\x5b\\x11\\xb4\\xb3\\x7a\\xb1\\xc0\\xf7\\x5a\\xc4\\x0b\\x4b\\x2e\\xa0\\x79\\x59\\x52\\x03\\x6e\\x1e\\x36\\xcf\\xaa\\x35\\xc0\\x0a\\x08\\x1d\\x42\\x4a\\xc9\\x29\\xc2\\xf5\\xf7\\x37\\x7c\\x24\\x13\\xab\\xde\\x46\\x91\\x4d\\xc3\\x9b\\xb6\\x54\\x6f\\xa2\\xdc\\xce\\x2e\\xab\\xd8\\x8b\\x6f\\xa2\\xb4\\xf2\\x7f\\x2f\\x42\\xbd\\xff\\xdd\\x2b\\xa9\\x7d\\xbd\\x46\\x11\\xc1\\x22\\x20\\x20\\x38\\xc2\\x1d\\xc1\\xb6\\x46\\x1c\\x88\\x38\\x15\\xc1\\xb7\\x44\\xd0\\xc9\\x11\\x05\\x11\\xec\\x54\\x04\\x5d\\x19\\xb1\\x2a\\x82\\x25\\x45\\x0c\\x89\\x28\\x8d\\xe0\\x11\\xea\\xbd\\x3e\\x0f\\xbe\\xde\\x31\\x7b\\x76\\xa1\\xba\\x45\\x0e\\xe7\\x74\\xc0\\xad\\xd6\\xf7\\x23\\xb8\\x7a\\xff\\x24\\x7e\\xc9\\x25\\xde\\x8f\\xb8\\xe7\\xe0\\xb1\\xab\\x8c\\x0d\\x35\\x5f\\x90\\xa0\\xd9\\x01\\x57\\xbb\\x08\\xf7\\x7b\\x6f\\x43\\x92\\x26\\x64\\xce\\xab\\x01\\x11\\x56\\xa3\\x46\\x61\\xea\\xad\\x93\\x7a\\x0d\\xdd\\x7d\\xc2\\xc2\\x82\\x2c\\xb6\\xdf\\x38\\x69\\x54\\x1a\\xfc\\x7d\\x30\\xa5\\xaa\\xef\\x14\\x5a\\xbf\\x8f\\xc1\\x83\\xa5\\x5b\\x26\\xc9\\x21\\x72\\xb2\\x2c\\x95\\xe6\\x56\\x79\\x40\\x9e\\x92\\x7c\\x8b\\xa4\\x93\\x65\\x81\\x64\\x6a\\x11\\x62\\x76\\x4a\\xd2\\x95\\x72\\x95\\x64\\xaa\\x51\\xa9\\xe4\\x92\\x68\\x55\\x66\\x17\\x7a\\x3f\\x6b\\x37\\x7b\\xb6\\x27\\xd6\\x9b\\x18\\xdb\\x4e\\xaf\\x5f\\x59\\x4f\\x7f\\x41\\x8b\\xd6\\xaa\\xdc\\x57\\x73\\x3f\\x98\\x4b\\xc7\\x5c\\x42\\x37\\xd9\\x6e\\x19\\xfc\\x57\\xcb\\xeb\\x1f\\x84\\x55\\x8e\\x35\\x0e\\xd2\\x31\\x32\\x1c\\xbf\\x87\\xdc\\x20\\xc9\\xa5\\xbe\\xcd\\x50\\x0a\\x67\\x89\\xbe\\xb5\\xc8\\xd2\\x55\\xcc\\xea\\x10\\xc7\\x9b\\xab\\xf7\\x64\\xa0\\x0f\\xa9\\x7b\\xd9\\xb2\\xb8\\x2f\\xb7\\x38\\xaf\\x99\\x57\\x5d\\xef\\x7c\\x11\\x46\\x9b\\x34\\x76\\xbe\\x87\\xfe\\x7b\\xd5\\xf8\\x8a\\xf6\\x47\\xfb\\xd4\\x25\\x4d\\x5e\\x23\\xb6\\x51\\x87\\x25\\x59\\x60\\x86\\x57\\xed\\x90\\x3e\\x16\\xae\\x4b\\xb0\\xaf\\x5d\\xe4\\xe7\\x5e\\x9f\\x1a\\x40\\xab\\x5e\\xf5\\x8b\\xb0\\x29\\xcb\\x96\\xb5\\xd2\\xaf\\xc2\\x9a\\x8f\\x5e\\xef\\xac\\xf2\\xbd\\x0d\\x4b\\x2e\\x7a\\xf7\\xca\\x9b\\xd4\\x9c\\xb9\\x6c\\xc3\\x90\\x36\\x57\\xe6\\x2c\\x90\\x3e\\x6b\\x9a\\xca\\x70\\x05\\x60\\x3a\\xfc\\xa1\\xcc\\x37\\xdb\\x1b\\xeb\\x3b\\xb3\\xc7\\xd7\\x78\\xe3\\x9b\\x2a\\x83\\xa9\\xa1\\xd6\\xee\\x31\\xe7\\xe7\\xc7\\x58\\x77\\xe5\\xc8\\xb2\\x9d\\x7a\\xb5\\xc7\\x59\\xb6\\x04\\xe7\\x85\\x48\\x80\\x17\\x70\\x6d\\x4b\\x88\\xdf\\x75\\xa8\\x6d\\xc3\\xcc\\x6d\\x05\\xd4\\x95\\x75\\x48\\x9d\\x21\\x63\\xd5\\xf5\\x6c\\x3b\\x9c\\x05\\xe9\\xc7\\xb8\\x2f\\x58\\x1c\\x1a\\xd7\\x3b\\xf6\\xe2\\xf7\\x2d\\xe1\\x2f\\x72\\xd6\\x9a\\xc2\\xc2\\x35\\xb3\\x58\\x0e\\xdd\\xe6\\xc4\\x5e\\xeb\\x44\\xd1\\xc3\\xf8\\x9e\\xe1\\xa8\\xca\\x13\\x22\\x4b\\xb6\\x0d\\x6d\\xc9\\x33\\xd5\\x1a\\x35\\x6c\\x39\\xf9\\x5a\\xad\\x7b\\x21\\x1f\\x21\\x47\\xe9\\x44\\xd2\\x29\\xa9\\xa5\\xe0\\x4d\\xe2\\x62\\xe3\\x06\\xc7\\xf1\\xb5\\x71\\x34\\x38\\xae\\x34\\xee\\xe1\\xb8\\xf7\\xe3\\x4e\\xc5\\x19\\x71\\xac\\x75\\x08\\xec\\x63\\xad\\x49\\xeb\\x56\\x66\\x3d\\xb5\\xf4\\x4d\\x7c\\x3c\\x69\\x17\\xaf\\xc6\\x54\\x7c\\xfc\\x5f\\xd0\\x7d\\xd4\\x8f\\x6e\\xd7\\xd8\\xae\\x83\\xbb\\xf2\\xb5\\x5d\\x69\\x70\\xd7\\xd2\\xae\\x0f\\x77\\x7d\\xbf\\xeb\\xa9\\xae\\x46\\xd7\\xff\\x92\\xee\\x8b\\xff\\x47\\x74\\x57\\xfd\\xcb\\x74\\x37\\xb1\\xc8\\xca\\x2f\\xab\\xed\\x1b\\x97\\xe4\\x16\\x3c\\x36\\xb5\\x47\\xea\\xe0\\xd4\\xb5\\xa9\\xa2\\x34\\xf5\\x54\\x2a\\x4b\\x65\\xad\\x5a\\x21\\xc5\\xb6\\xa4\\xad\\xe7\\x3c\\xc5\\x10\\x45\\x32\\x3e\\xbe\\xb6\\x3e\\xf3\\xd9\\x34\\x44\\xfa\\x68\\x2b\\x9a\\x8c\\xc7\\x26\\xf4\\x48\\x18\\x9c\\xb0\\x36\\x41\\x94\\x26\\x9c\\x4a\\x60\\x09\\xa2\\x73\\x67\\xa4\\xd9\\x95\\x74\\xed\\xf5\\xcf\\x68\\xbe\\xf8\\x7f\\x40\\x73\\xd5\\xff\\x4e\\xb3\\x12\\x4e\\xeb\\x99\\x89\\x34\\x67\\x02\\xcd\\x96\\x6c\\xf9\\xa3\\xe8\\xad\\x95\\xf7\\x80\\x35\\x3b\\x27\\xb5\\xe2\\xac\\x49\\x74\\x6c\\xf4\\xe0\\x68\\xbe\\x36\\x9a\\x06\\x47\\x97\\x46\\x3f\\x1c\\xfd\\x7e\\xf4\\xa9\\x68\\x23\\x9a\\xba\\x5c\\x21\\x2d\\x39\\xa3\\x01\\x24\\xa0\\xae\\x30\\x6a\\x10\\xc6\\x7e\\xaa\\xdc\\x05\\x74\\x5b\\x5c\\x44\\xf7\\xd1\\xca\\xe7\\xff\\x47\\xba\\xef\\xaa\\x0f\\x0d\\x5c\\x44\\xf7\\xc5\\xca\\xdb\\xff\\x05\\x79\\xbd\\x17\\xd1\\x5d\\x55\\xf9\\xf6\\xff\\x48\\x57\\xd9\\xb7\\x4e\\x35\\xdd\\x56\\x60\\xd9\\x07\\x7d\\x7d\\x46\\x8e\\xfa\\xfa\\x8c\\xb2\\xd8\\xc8\\x1e\\x91\\x83\\x23\\xd7\\x46\\x8a\\xd2\\xc8\\x53\\x91\\x2c\\x92\\x37\\x6a\\x14\\xd2\\x92\\x72\\x16\\x4d\\xa2\\x5b\\x5e\\x40\\xd2\\xaf\\xcf\\xc2\\xfd\\x68\\x3e\\xfa\\x2f\\xd1\\xf4\\x97\\xf3\\xc5\\xff\\x03\\x39\\x57\\xfd\\xef\\x34\\xc9\\xb5\\x95\\x27\\xb8\\x83\\x34\\xe7\\xea\\x79\\x65\\xbb\\x9e\\x5f\\x37\\x55\\xf7\\x54\\xdb\\xd8\\xb6\\x83\\xdb\\xf2\\xb5\\x6d\\x69\\x70\\xdb\\xd2\\xb6\\x0f\\xb7\\x7d\\xbf\\xed\\xa9\\xb6\\x46\\x5b\\x5a\\xbf\\x3e\\xf6\\x54\\x04\\x89\\x68\\x68\\xd6\\xbd\\xb0\\xa7\\x6a\\xa3\\x0d\\xf3\\xc0\\xd7\\x28\\x2f\\xf2\\x50\\xb4\\x29\\x6b\\xd2\\x32\\xb6\\xe5\\xe0\\x96\\x7c\\x6d\\x4b\\x1a\\xdc\\xb2\\xb4\\xe5\\xc3\\x2d\\xdf\\x6f\\x79\\xaa\\xa5\\xd1\\x92\\xb7\\x6e\\x8d\\xb4\\xdb\\x90\\x36\\x6d\\xff\\x21\\xed\\x17\\x95\\xbc\\xff\\x47\\xb4\\x57\\x91\\x53\\xff\\x67\\xb4\\x1f\\x21\\xdb\\xf5\\x9c\\x13\\x55\\xdd\\x87\\x2d\\x7b\\x00\\xed\\xb5\\x2d\\x45\\x29\\x10\\x65\\x2d\\xb9\\x9a\\x6f\\xa9\\x9e\\x6f\\x83\\xfe\\x41\\x1f\\x56\\xdb\\xf9\\xdf\\xa4\\xf9\\x22\\x79\\xef\\x5f\\xa7\\xb9\\x8a\\x8a\\xff\\x95\\x66\\xe5\\x16\\xb5\\xd0\\x82\\x6c\\x57\\x35\\xcf\\x90\\x19\\x8f\\xbe\\xad\\xbc\\xb8\\xf2\\x61\\xf2\\x64\\x88\\x74\\x05\\x54\\x8e\\x81\\x1e\\x7b\\x39\\xe9\\x0e\\xd1\\x2e\\xa2\\x6b\\xc4\\xcc\\x88\\x85\\x11\\xa2\\x4e\\x44\\xa3\\x08\\xf5\\x63\\x7c\\xc4\\xf2\\x88\\xfb\\x23\\x64\\x57\\xa8\\xbb\\x3f\\x82\\xef\\x8c\\xa0\\x67\\x23\\x68\\x04\\x5f\\x19\\x06\\x7d\\x1b\\x16\\x1b\\x96\\x1f\\xb6\\x24\\x6c\\x65\\xd8\\xda\\xb0\\x2d\\x61\\x27\\xc3\\xac\\x20\\xa8\\xe8\\x11\\x36\\x29\\x6c\\x05\\xfc\\xac\\x0c\\x93\\xaa\\xa8\\xf6\\xaf\\x08\\x5b\\x05\\x2d\\xf6\\x43\\x8b\\xca\\x30\\x57\\x18\\xa3\\xae\\x49\\x2e\\x4a\\x5c\\xc1\\x2e\\xb7\\x2b\\xce\\x95\\xe4\\x32\\x54\\x21\\xc9\\x35\\xc4\\x35\\xd9\\x55\\xe0\\xda\\xea\\x3a\\xe0\\x3a\\xe5\\xb2\\x5d\\x18\\x3c\\x68\\x20\\x09\\xac\\x9e\\xdc\\x40\\x9d\\xd9\\x85\\x85\\x50\\x82\\xdc\\xab\\x70\\x52\\xba\\xda\\x40\\xe1\\xef\\x75\\x33\\x5d\\x75\\x77\\xff\\xff\\x4f\\xb3\\x20\\x12\\x14\\xf0\\x37\\x9a\\xe9\\x79\\xcc\\x75\\x91\\x5e\\x30\\x8b\\xf9\\xf5\\xd9\\x23\\x49\\x57\\x8b\\xfc\\x66\\x4b\\x9a\\xad\\x68\\xb6\\xb6\\x99\\xe8\\x01\\x9b\\x95\\xcd\\x78\\x50\\xb3\\x1e\\xcd\\x06\\x43\\xdd\\x4a\\xa8\\x33\\xb7\\x36\\xa3\\xa7\\x9a\\xd1\\x66\\xbc\\x49\\x78\\x6c\\x78\\x7e\\xf8\\x92\\xf0\\x95\\xe1\\x6b\\xc3\\xb7\\x84\\x9f\\x0c\\xb7\\x7a\\x84\\xaf\\x80\\x1f\\x3c\\x08\\xea\\x7b\\x60\\xbd\\x11\\x0e\\x26\\x9f\\x14\\x48\\x49\\x60\\x70\\xa0\\x3b\\x30\\x2e\\x30\\x29\\xd0\\x50\\x85\\xa4\\xc0\\x21\\x81\\x93\\x03\\x0b\\x02\\xb7\\x06\\x1e\\x08\\x3c\\x15\\x68\\x07\\x2a\\x0d\\xc2\\x49\\x78\\x63\\x90\\xbf\\x46\\x17\\xa9\\x7f\\xfe\\xaa\\x9c\\xef\\x22\\xf2\\x37\\xba\\xf8\\xfa\\xe8\\xff\\x01\\x4d\\xaa\\xc7\\x66\\x3b\\xbf\\x38\\xf0\\x29\\x79\\x32\\xb8\\x15\\x99\\x41\\x3e\\xab\\x7c\\x1b\\x34\\x09\\x98\\x4f\\xc8\\x4b\\x49\\xb7\\x8b\\x76\\x2d\\xba\\xb6\\x98\\xd9\\x62\\x61\\x0b\\x51\\xa7\\x45\\xa3\\x16\\xea\\xc7\\xf8\\x16\\xcb\\x5b\\xdc\\xdf\\x42\\x76\\x85\\xba\\xfb\\x5b\\xf0\\x9d\\x2d\\xe8\\xd9\\x16\\xb4\\x05\\x9c\\x65\\x82\\xb7\\x45\\xc4\\x46\\xe4\\x47\\x2c\\x89\\x58\\x19\\xb1\\x36\\x62\\x4b\\xc4\\xc9\\x08\\x2b\\x08\\x2a\\x7a\\x44\\x4c\\x8a\\x58\\x01\\x3f\\x2b\\x23\\xa4\\x2a\\xaa\\xfd\\x2b\\xe0\\x8c\\x74\\x6d\\xc4\\x7e\\x68\\x51\\x19\\xe1\\x8a\\x60\\x7c\\x52\\x34\\x25\\xd1\\xc1\\xd1\\xee\\xe8\\xb8\\xe8\\xa4\\x68\\x43\\x15\\x92\\xa2\\x87\\x44\\x4f\\x8e\\x2e\\x88\\xde\\x1a\\x7d\\x00\\xb2\\x04\\x3b\\xda\\xe7\\x6c\\x10\\xd4\\x1a\\xcb\\x20\\x7f\\x67\\xbb\\xd8\\xd7\\xfe\\x46\\x2f\\xe9\\xaa\\x4b\\xd4\\xf7\\x66\\xfe\\x9f\\xd3\\x8c\\xd4\\xd2\\x67\\x3e\\x9d\\x30\\x87\\x0f\\xf5\\x8d\\x24\\xf5\\xb4\\x06\\xb9\\x2b\\x69\\xa1\\xc8\\x8f\\x59\\x12\\xb3\\x22\\x66\\x6d\\x8c\\xe8\\x01\\x9b\\x95\\x31\\x3c\\x28\\xa6\\x47\\xcc\\x60\\xa8\\x5b\\x09\\x75\\xe6\\xd6\\x18\\x7a\\x2a\\x86\\xc6\\xf0\\x26\\x4d\\x63\\x9b\\xe6\\x37\\x5d\\xd2\\x74\\x65\\xd3\\xb5\\x4d\\xb7\\x34\\x3d\\xd9\\xd4\\xea\\xd1\\x74\\x05\\xfc\\xe0\\x41\\x50\\xdf\\x03\\xeb\\x8d\\xa6\\x8c\\x4e\\x8a\\x84\\x93\\xbe\\xe0\\x48\\x77\\x64\\x5c\\x64\\x52\\xa4\\xa1\\x0a\\x49\\x91\\x43\\x22\\x27\\x47\\x16\\x44\\x6e\\x8d\\x3c\\x00\\x49\\x87\\x1d\\xe9\\xd3\\x21\\x92\\x44\\x36\\xac\\x4d\\x87\\x4b\\xf7\\x0d\\xc8\\xff\\xa1\\x96\\xbf\\x0e\\xca\\x5f\\x97\\x7c\\xfb\\xff\\x6b\\xf9\\xd5\\xb3\\xd5\\xc1\\x4a\\x7e\\x75\\xf7\\x32\\xc4\\xb4\\x1c\\x77\\x57\\xd2\\x22\\xa9\\x21\\xab\\xbb\\xb2\\xee\\xaa\\xba\\x8c\\xd4\\x7d\\xbf\\xee\\xa9\\xba\\xbc\\xae\\xd1\\x92\\xd9\\x63\\xed\\x00\\x43\\xe2\\xda\\xae\\xed\\xd2\\xd3\\x01\\x29\\x7e\\x9f\\x27\\xdd\\xb8\\x93\\x34\\x53\\x2b\\xb6\\xdb\\xee\\x88\\xd0\\xd0\\xb0\\x7a\\xf5\\xb8\\x9b\\xb7\\x68\\x1e\\x55\\x77\\xd2\\xd8\\x28\\xd1\\xb0\\x5e\\x38\\x27\\xe6\\xa4\\xb1\\xa4\\x5e\\xa8\\xfe\\x24\\x4f\\x68\\x62\\xf5\\x8a\\xed\\xd5\\xeb\\x4a\\xb5\\x6c\\x95\\x80\\x2b\\xee\\x86\\xa8\\x25\\x85\\x02\\xa9\\xfa\\x7a\\x08\\xf7\\xd6\\x0f\\xf7\\x76\\x6a\\xe1\\xf5\\x90\\x86\\x34\\x98\\xf1\\x97\\x26\\x3d\\xde\\x75\\xc9\\xb8\\x19\\xa5\\x33\\x36\\xbe\\x34\\x77\\xeb\\xfc\\xb5\\xe2\\x0d\\x29\\xfa\\xd0\\xa0\\xc7\\xce\\x50\\x63\\xa7\\x33\\xba\\x5f\\xbf\\xa2\\xbc\\xdd\\xbf\\xb3\\xa2\\x2f\\x7e\\xce\\x7e\\x39\\xab\\xfc\\x5a\\x91\\x42\\xbb\\xdf\\x97\\xb1\\xf4\\x66\\x67\\x8b\\x73\\xa8\\xa2\\xd8\\x59\\xe7\\xec\\xf5\\x5d\\xfb\\x53\\xb2\\xba\\x0d\\xf5\\x1d\\xb4\\xae\\x49\\x8d\\x1b\\x84\\x87\\x93\\xc0\\x90\\x90\\x80\\x50\\x12\\x6a\\x10\\xde\\x28\\x32\\x3c\\x30\\x34\\xa2\\x1e\\xe7\\xd6\\xa4\\xb1\\x3c\\xb4\\x4a\\x54\\xfd\\xa2\\x6e\\x03\\xb5\\x74\\x17\\x2e\\x17\\xa5\\xa4\\xc5\\x2f\\x7e\\xb6\\x8a\\xaf\\xef\\xc5\\xaf\\xe8\\xd1\\x26\\x6a\\xc1\\x62\\x2f\\x6d\\x19\\x1f\\xe2\\x35\\xdc\\x8b\\x16\\x0c\\x4b\\xee\\xd8\\xba\\x7d\\x87\\xf0\\xf2\\x43\\x86\\xf1\\xec\\x37\\xec\\x8f\\x80\\xe7\\xaf\\xbb\\xeb\\xa6\\xc0\\x7b\\xea\\x44\\x25\\x0f\\x1f\\x2f\\x5e\\xc9\\x78\\xaa\\x7c\\x8c\\xb1\\xf4\\xcf\\x6b\\x36\\x8e\\xe1\\x93\\x95\\x3c\\x95\\x27\\xd0\\x76\\x97\\x91\\xbe\\x49\\x2d\\x02\\x9a\\x37\\x0a\\x0f\\xaf\\x6f\\x08\\xd1\\xa0\\x7e\\xf3\\xfa\\xad\\x5a\\x36\\x6a\\x52\\xbf\\x7e\\x93\\x26\\xc1\\x93\\xc6\\x36\\x11\\x11\\x9c\\xd8\\x93\\xc6\\x0a\\x41\\xea\\xa9\\xab\\xc8\\xf8\\x39\\x07\\x5c\\x41\\xd9\\x77\\x7f\\xbd\\xc6\\x47\\x4e\\x40\\xba\\x66\\x2d\\xd4\\x7a\\x56\\xcc\\xeb\\x09\\x0d\\x89\\xf7\\x59\\xb3\\x31\\xf5\\xb7\\x66\\x48\\x78\\x30\\x61\\xbf\\xaf\\x71\\xfe\\xb8\\xde\\xb5\\xd6\\x95\\xfe\\xc8\\x0d\\x3b\\x3f\\xf7\\xb7\\xa8\\xf5\\x2c\\x58\\xd4\\xf9\\x34\\x6c\\xfe\\xa1\\x47\\x96\\x3c\\xd8\\x8f\\x72\\x5a\\xef\\x5e\\x34\\xea\\x5a\\x5a\\x06\\x36\\x1d\\x38\\xf7\\x1a\\x65\\xd3\\x97\\x9d\\xe7\\x9d\\xe7\\x08\\x73\\x36\\x93\\x19\\xd4\\xc3\\x67\\xa8\\x6b\\x93\\xa4\\x55\\x52\\x03\\x3b\\xe8\\xc8\\x58\\x62\\xd3\\x36\\xdc\\xe6\\xe1\\x47\\xc6\\xc6\\xf2\\x1e\\x9c\\x05\\x73\\xaa\\xd6\\xd3\\x9b\\x0d\\x42\\xab\\x8f\\x80\\xb5\\xab\\x5e\\x61\\xf9\\xc2\\xa5\\x06\\xa9\\xe7\\xa1\\xbb\\xef\\xba\\xff\\xce\\x87\\x1f\\xb8\\xf3\\xb6\\x01\\xc3\\x47\\x0d\\x1c\\x34\\xec\\x51\\xfa\\xfd\\xbb\\x1b\\xd6\\xad\\x5d\\xff\\xde\\xba\\xb5\\xcb\\x4b\\x97\\xde\\x70\\xcd\\x32\\x42\\x21\\x9e\\x2e\\x22\\x4f\\xc1\\x39\\xae\\x49\\xda\\x25\\x35\\xa2\\x84\\x95\\xc6\\x8a\\x95\\x82\\xad\\x55\\x6b\\xc7\\xaa\\xeb\\x8c\\xc1\\x6a\\xf9\\x15\\x04\\xe5\\xdf\\xf0\\x2f\\xf2\\x33\\x75\\x15\\x13\\xbf\\x98\\xe6\\x0d\\x69\\xf2\\xd1\\xd6\\x25\\x8b\\xd8\\xd8\\x79\\x37\\xce\\xaf\\x88\\x24\\xd4\\xd9\\x47\\x16\\xd1\\x16\\x20\\x7b\\x14\\x49\\x4e\\xba\\x4c\\x36\\x08\\x21\\x75\\xeb\\x86\\x84\\xb8\\x40\\x81\\x10\\x50\\x20\\x44\\x8d\\x1a\\x28\\x5f\\x4c\\xd5\\x67\\x78\\xa5\\x0a\\x16\\x7c\\x97\\xe4\\x2e\\x8b\\xbf\\x82\\x26\\xa8\\xaf\\xee\\xfa\\xbe\\xa1\\xe4\\xf7\\x25\\x40\\xd9\\x34\\xdc\\xd9\\xd7\\x62\\xc1\\xd4\\x09\\xa9\\x69\\xdd\\xbb\\x0c\\xb7\\xae\\xab\\xf3\\xc0\\xfc\\xab\\x6f\\x1d\\x31\\x74\\xc1\\xc8\\x70\\x7a\\xf7\\xa2\\x5e\\x69\\x57\\xa6\\x25\\x0d\\xbf\\xbc\\x53\\xe7\\x4e\\xf1\\x8d\\xc7\\xcc\\x2c\\x98\\x9a\\x3a\\xa7\\xd3\\xd0\\xd4\\x16\\x79\\xe8\\xab\\xce\\x56\\xb0\\x6d\\x1c\\xc8\\xd7\\x9c\\x4c\\x4a\\xea\\xd2\\x34\\x38\\x28\\x38\\xe8\\xf0\\xd8\\x60\\xf5\\xa5\\xb0\\xe0\\xe0\\x28\\x1e\\x14\\xa1\\x66\\x6e\\x1e\\xc4\\x23\\x22\\xa2\\xa2\\xea\\x83\\xa0\\x51\\x20\\x74\\x14\\xb7\\x8f\\x8c\\x55\\x57\\xc5\\x98\\x94\\x35\\x8c\\xef\\x8d\\x4d\\xaf\\xb2\\x7f\\x95\\xf4\\xbe\\x2f\\xe8\\xa9\\x6f\\x63\\x55\\xf5\\x88\\x1e\\x80\\x1d\\xdb\\xd1\\x04\\xdc\\xaa\\x95\\xbd\\xb4\\x22\\x32\\xbc\\x3e\\x8d\\xbb\\xef\\xb6\\xab\\x1f\\x0b\\xbc\\x3d\\xf4\\xe6\\x3e\\xc3\\xde\\xea\\x11\\xe8\\x1d\\x3d\\xf0\\xc6\\x6b\\x03\\x6e\\x04\\x6d\\xae\\xb9\\xfd\\xc5\\x8f\\x68\\xff\\xe9\\x0b\\x66\\x4d\\x8c\\x2c\\x48\\xea\\x3a\\x63\\x66\\x6c\\x87\\xac\\x29\\x41\\xe3\\xf3\\x0a\\x26\\x2e\\x6b\\xca\\xea\\xa9\\xeb\\xce\\xeb\\xc1\\xce\\xc9\\xd0\\x67\\x2e\\xb0\\x61\\x72\\x52\\x1b\\x22\\x82\\xc4\\x91\\xb1\\x96\\x51\\xc7\\x0c\\x52\\xca\\x04\\x05\\xb1\\x58\\x73\\xa5\\xc9\\xd6\\x9a\\xd4\\x54\\xef\\x0c\\xb1\\x60\\xc6\\x10\\x58\\x55\\x1f\\x2a\\x41\\x43\\x13\\xbd\\x78\\xcd\\xcd\\x77\\xf1\\x53\\x7d\\x27\\x20\\xc4\\x0b\\xe9\\x04\\x35\\xa5\\x77\\x6b\\xb1\\x33\\x8d\\xde\\xb4\\x74\\xf6\\x89\\x16\\xaf\\xd4\\x8d\\x28\\xa7\\x51\\x2b\\x57\\x8e\\xa0\\x67\\x9c\\xb6\\xb3\\xe9\\xaa\\xf8\\xfd\\x30\\xc0\\xa9\\xb3\\x05\\xec\\xd8\\x81\\x8f\\x27\\x8d\\xc9\\xd4\\x24\\x57\\x44\\xa3\\x7a\\xf5\\x1a\\x35\\x02\\x4b\\x36\\x52\\x17\\x67\\x3d\\x20\\x40\\xa3\\x46\\x61\\x3c\\xac\\xc1\\x91\\xb1\\x2a\\x63\\x5c\\x15\\xc6\\x83\\x20\\x69\\x54\\x09\\xa5\\xa8\\xcb\\xc3\\xd0\\x9c\\xe6\\x64\\x93\\x99\\xe6\\x25\\xcc\\x39\\xbb\\xea\\xeb\\x62\\x55\\xc3\\xd1\\x67\\x4c\\x77\\xd5\\xd2\\x9b\\x3e\\x7f\\x68\\x5e\\xaf\\x69\\x78\\x53\\x89\\xb6\\xa4\\x1d\\x9e\\x58\\xee\\x54\\x76\\xb8\\x3d\\x6c\\xf0\\x15\\x03\\x46\\xf7\\x1d\\xd2\\x63\\xa8\\xbb\\xa4\\x31\\xad\\x70\\x0a\\x43\\x9a\\x8f\\xe8\\x71\\xd5\\x5d\\x74\\xc1\\xa2\\xdb\\x3f\\x8e\\xe8\\x1a\\x3f\\xbc\\x77\\xaf\\x61\\xad\\xa3\\xe9\\xdd\\x25\\xab\\xa3\\x9a\\x2f\\x53\\x36\\xfc\\x82\\xe4\\x40\\xff\\xce\\x80\\x51\\xd6\\x8c\\xf4\\x7e\\x35\\x2c\\xf2\\xf0\\xd8\\x10\\xbc\\xea\\xdc\\x0c\\x14\\x08\\x03\\x39\\xed\\xc0\\xc3\\x63\\x03\\x02\\xf4\\xd0\\x73\\x1f\\xc6\\xa1\\x37\\x98\\xf3\\x0b\\x06\\x9f\\xfa\\x14\\x8d\\x4f\\xdc\\xc4\\x9a\\xe3\\xd0\\xf7\\x29\\x98\\x70\\x94\\xd0\\x7f\\xf5\\x4f\\xda\\xe6\\x81\\xab\\xef\\x7a\\xf0\\xa9\\x3b\\x36\\x26\\x2c\\x8b\\x9a\\x38\\x68\\x7c\\x83\\xc9\\x7d\\xe6\\xdc\\x7a\\x6b\\xda\\xd0\\x5e\\x7d\\xfa\\xa6\\xa5\\x0e\\xa2\\xf9\\x73\\x57\\xbc\\xf3\\xca\\x47\\x9f\\xde\\xdb\\x70\\xc0\\xc2\\x45\\xcd\\x3a\\x94\\x2e\\xec\\xdf\\xab\\x5f\\x4a\\xea\\xa0\\x41\\x04\\xc7\\xd6\\x95\\xb4\\x39\\x9f\\x00\\x7d\\x1e\\x9b\\xe4\\x26\\x96\\x6d\\xc1\\x6c\\x60\\x2f\\xb1\\x57\\xda\\x27\\x6d\\x31\\xd8\\x5e\\xab\\xd6\\xda\\x14\\xc1\\x82\\x21\\x08\\x25\\x61\\xac\\x6f\\xa9\\x41\\x90\\xca\\x64\\xe1\\xcd\\x3b\\x86\\x26\\xe0\\x82\\xa6\\x2b\\x17\\xdd\\x51\\xfa\\x84\\x93\\xca\\xd2\\x58\\xf9\\x73\\xce\\x9e\\x17\\xee\\xa2\\xcd\\xdf\\xc8\\xc7\\x6b\\xc2\\x5f\\xe8\\xb1\\xd1\\x10\\xec\\xd1\\x9e\\xa4\\x26\\xb5\\xae\\x6f\\x37\\x6d\\xd9\\xb4\\xe5\\xe1\\xb1\\x4d\\x95\\x4f\\x35\\x6d\\x1a\\xcc\\x83\\xa3\\x0e\\x8f\\x25\\xc1\\x60\\x8f\\x60\\xde\\xee\\x70\\xed\\x53\\x51\\x75\\xd7\\xc1\\x36\\xd1\\xcf\\x1e\\x09\\xf1\\x55\\x9f\\xf4\\xc4\\x55\\xed\\xd4\\x5a\\xa9\\xcd\\x9b\\xa1\\x41\\x1a\\x68\\xdb\\x28\\xd3\\xc4\\x3d\\xb8\\x62\\xc5\\x43\\x93\\x87\\xf4\\x1f\\x7c\\xf7\\xe2\\x25\\xf7\\x0d\\x1d\\x30\\x34\\xe3\\xf1\\x1b\\xae\\x4f\\x4d\\xbd\\x3e\\x74\\x68\\xff\\xbe\\x43\\x1e\\x1c\\xd4\\x8f\\xf6\\xcc\\xc9\\x2f\\x98\\xde\\x67\\x5a\\x00\\x0b\\x9a\\x78\\xc5\\xa8\\xdc\\x19\\x63\\xbb\\x4f\\x0c\\x64\\x75\\xa6\\xd0\\xb0\\x9c\\x9c\\x4e\\x89\\x07\\xbb\\x74\\x4d\\x4a\\x58\\x9a\\xe4\\xbb\\x2f\\xb3\\x07\\xfa\\xb6\\x2d\\xe8\\xa2\\xbe\\x72\\x9d\\x96\\xd4\\x36\\xaa\\xfe\\xe1\\xb1\\xf5\\xec\\xa8\\x24\\x3b\\xa8\\x4f\\x14\\x0c\\x68\\x3b\\xf8\\xf0\\xd8\\xba\\x75\\x9b\\xd8\\xb1\\x76\\x0f\\x1b\\xa2\\x00\\x75\\x41\\x07\\x37\\x03\\xd5\\x50\\x97\\xc2\\x2a\\x37\\x3c\\xdf\\xb3\\xa1\\xd8\\xb5\\x55\\xd2\\x37\\x3f\\xbf\\x0a\\x2c\\x7e\\x17\\x33\\xa1\\xea\\x43\\xb5\\xa0\\x86\\xb3\\xe7\\x81\\xab\\xef\\x58\\x79\\xcf\\x63\\x59\\x65\\x51\\xcb\\x82\\x06\\xb5\\xab\\xea\\xde\\x01\\xfd\\x7d\\xdd\\xcb\\xa6\\xce\\x5d\\xf1\\xf6\\x9a\\x4d\\x9f\\x0c\\x1f\\xd8\\xb0\\x4d\\xab\\x79\\xaa\\x83\\x17\\x0d\\x4b\\x1a\\x90\\x96\\xda\\xaf\\x1f\\xc8\\xfc\\xba\\xf1\\x1a\\x0b\\xc1\\xfb\\x3e\\x41\\xa4\\x51\\x52\\x40\\x29\\x4c\\x93\\x49\\x9c\\xdb\\x81\\xa5\\x96\\x6f\\xf9\\x5f\\x8f\\xfa\\x76\\x49\\x3a\\x7e\\x3e\\x54\\x36\\x8f\\x6f\\xa0\\x97\\xd1\\xac\\xe7\\xa5\\x9d\\xbf\\x3c\\x38\\xb9\\x38\\x67\\x2f\\xfb\\x26\\xfb\\xc0\\x66\\xd9\\x2e\\xe0\\x25\\xd7\\xaa\\xb0\\x67\\x9e\\x09\\x83\\xd4\\x9e\\x55\\x9c\\x30\\x5e\\xa3\\xbd\\xfc\\x68\\x1a\\xd4\\x48\\x62\\xec\\x62\\x9a\\x3c\\x5c\\xdd\\x34\\xa0\\xd5\\x34\\xb7\\x4f\\x3e\\xf8\\x25\\x5b\\xac\\x69\\x9a\\xf3\\x5d\\x2f\\x05\\x38\\x2b\\x35\\x51\\xb4\\x2f\\xc8\\x4a\\xd7\\x02\\xdd\\x60\\x12\\xa9\\xee\\x4c\\xb2\\x00\\x75\\x57\\x23\\xe9\\x54\\x20\\x0d\\x0c\\x0c\\x6b\\x58\\x5a\\xaf\\x7e\\x15\\xf1\\xf4\\xc8\\xcd\\xe9\\xbe\\x45\\x0d\\xcf\\xaf\\x69\\xa8\\x6e\\xb3\\x78\\xe4\\x79\\xf1\\x47\\x74\\xf5\\xb6\\x0e\\xeb\\xd2\\xeb\\x9e\\x5e\\x9d\\xba\\xf7\\x0f\\xa9\\x62\\xb9\\xb1\\x79\\x70\\x52\\xd8\\xe4\\xcb\\x3b\\x37\\x18\\xb4\\xd3\\x9f\\xef\\x7a\\xe0\\xeb\\xbb\\x97\\xe5\\x86\\x51\\x10\\x55\\x4f\\x04\\x05\\x34\\x09\\x60\\x01\\xaa\\x63\\x03\\x82\\x25\\x21\\x11\\x2b\\xa2\\x56\\x46\\xad\\x8a\\xe2\\x51\\xee\\x86\\x20\\xc2\\x67\\xe9\\x1e\\x4f\\xac\\x57\\xdd\\xec\\x51\\x1f\\xe7\\xa8\\xfd\\xbe\\x55\\x10\\x55\\x4b\\x91\\x82\\x35\\x2f\\x75\\xeb\\xea\\xdd\\xbb\\xef\\xdf\\xb6\\x61\\xeb\\xfd\\x66\\x4e\\xcd\\xfb\\x3b\\x05\\xbd\\x02\\x6e\\x5a\\xe1\\x52\\x32\\x7d\\x04\\x32\\x25\\xa2\\x8d\\xeb\\x91\\x94\\xa4\\xd6\\x2b\\xc9\\x2a\\x08\\x6b\\x75\\x4d\\x5c\\x51\\x16\\xa6\\x8b\\xaa\\x93\\xe1\\x52\\x38\\x19\\x36\\x7d\\xe7\\xc3\\x3c\\xc9\\x45\\x5d\\x30\\xd5\\xac\\x09\\x8f\\xe8\\xe3\\x32\\x49\\xec\\xe6\\x76\\x30\\x2b\\x83\\xb5\\x0a\\x43\\x13\\x55\\x67\\xd4\\xf3\\x75\\x70\\x8d\\x15\\x34\\x9b\\x1f\\xdc\\x77\\xd5\\xd8\\xa5\\x4f\\x84\\xce\\x0c\\x99\\x31\\x62\\x44\\x76\\xc8\\xcc\\xfa\\x6a\\xa9\\xb9\\xdb\\x5c\\xdf\\x5e\\x5b\\x9c\\x92\\xd0\\xb9\\xd7\\xbc\\xa5\\xb5\\xc8\\x61\\xac\\x32\\x98\\x01\\x72\\xb0\\xc9\\x30\\xf1\\xb3\\x60\\xb7\\x9d\\x64\\x0f\\xb1\\x27\\xdb\\xa5\\xf6\\x56\\xdb\\xdc\\x6a\\x1f\\xb0\\x4f\\xd9\\x3c\\xc9\\xa6\\xb6\\x96\\xc3\\x36\\xd5\\x17\\xa8\\x6b\\xca\\x81\\x4e\\x51\\xaf\\x86\\x1c\\x13\\xae\\xda\\x77\\xd0\\x5d\\x43\\x0e\\xf3\\x6e\\xd7\\x6d\\x01\\xce\\xf2\\x6a\\x41\\x88\\xbf\\x4d\\xea\\x42\\x84\\x18\\x93\\xd4\\x32\\x38\\x2a\\x3c\\x92\\x34\\x6a\\x44\\xc2\\x93\\x02\\x23\\xfa\\x84\\x4b\\x97\\xcb\\x2d\\x92\\xc4\\x10\\x31\\x59\\x94\\x8a\\xad\\xc2\\xdc\\x2a\\x0e\\x88\\x53\\x82\\x0b\\x90\\xe4\\x95\\xc6\\xee\\x3e\\xb8\\x05\\x89\\xd4\\x76\\x4d\\xdd\\x90\\x3e\\x6a\\xc9\\xd2\\xaf\\xdb\\xb5\\x83\\x1c\\xdb\\x13\\x9a\\xb8\\xb9\\x5d\\x88\\xba\\x01\\x85\\x09\\x02\\xaf\\x21\\x19\\xf7\\x73\\xb1\\x76\\x34\\xde\\x43\\x6b\\x48\\x99\\xa9\\x9d\\xac\\x5f\\xdf\\xe6\\xfd\\x8d\\xd7\\xaa\\x84\\xa5\\x81\\xe8\\x66\\x71\\x1d\\x13\\xfc\\x7c\\xab\\x0e\\xcc\\x19\\xfd\\x93\\x9a\\x34\\x0e\\x0b\\x08\\xb0\\x84\\x70\\x87\\x94\\x46\\xd0\\x21\\x11\\xea\\xfe\\xa8\\xef\\x6e\\xa9\\xa9\\x80\\x45\\xa8\\x48\\x11\\xdc\\x36\\xb6\\x4f\\x7e\\x84\\xba\\x65\\xca\\x93\\x22\\x68\\x84\\xa9\\x6f\\x97\\x2a\\x2b\\x7a\\xbd\\x89\\xe0\\x79\\xb1\\x78\\x1b\\x4b\\x89\\x59\\xdf\\xb7\\xac\\x6b\\x02\\xae\\xf5\\x7a\\x7e\\xa9\\x57\\xdf\\xd2\\x72\\xd3\\xae\\x0d\\x1c\\xd9\\xf8\\xfa\\x65\\x8d\\x47\\x86\\x2f\\x6d\\xd8\\x3c\\x25\\xb9\\x7b\\xa3\\xa1\\x21\\xe3\\xc1\\xf3\\x92\\x5a\\xa4\\x25\\x75\\x8d\\x54\\x6e\\x58\\xa7\\xed\\x00\\xe3\\xb5\\x19\\xe9\\xc3\\x87\\x4f\\xcd\\xdc\\x5b\\xaf\\x7e\\xbd\\x6e\\xc9\\x89\\x6e\\xd8\\x34\\x69\\x9c\\xd4\\xb5\\x89\\x1e\\x8f\\x62\\x35\\x0b\\x31\\x5b\\xe2\\x38\\x0f\\x7b\\x9d\\xe0\\xb4\\x51\\xc7\\xaa\\x1a\\x85\\x9f\\xfd\\xcd\\xa4\\x61\\xb6\\xf4\\x9b\\x34\\x14\\xbd\\x8a\\x13\\x62\\x35\\x4d\\xab\\xa6\\x67\\x30\\x56\\x47\\x96\\xd6\\x75\\xf9\\xd1\\xf3\\x4d\\x18\\x0d\\xd4\\x37\\x72\\x90\\xa2\\x9a\\x30\\x76\\x6d\\x3e\\x90\\xfd\\x8d\\x5a\\x76\\xb7\\x18\\xe6\\x8b\\xe1\\xce\\x69\\x45\\xd0\\x27\\x1b\\x3d\\x60\\x96\\x90\\x10\\xd2\\x08\\xe6\\xa0\\x3a\\x41\\x61\\x4c\\x06\\x06\\x86\\x47\\x96\\x36\\x08\\xab\\xa2\\xb7\\xd9\\x13\\x72\\xc1\\x1c\\xe1\\x5b\\xf7\\x94\\x9f\\x17\\x77\\xec\\x80\\xee\\xf1\\x91\\x69\\x63\\xdf\\xef\\xd9\\x77\\x7c\\xdb\\xf8\\xfa\\x5a\\x6e\\xe3\\xec\\xe5\\xf5\\x86\\x44\\x14\\xc4\\xa5\\xda\\x2d\\x27\\xb2\\x50\\x1f\\x43\\xa5\\x01\\x73\\x5e\\x45\\xf9\\x4f\\x12\\x9b\\x34\\x25\\xf1\\x49\\x21\\x8d\\x03\\xeb\\x27\\x35\\x88\\xec\\x53\\x5f\\xcd\\x13\\xf5\\x93\\x22\\x43\\xd4\\xe0\\x4b\\x72\\x05\\x04\\xf5\\x71\\xb9\\x0c\\x52\\x2a\\xa4\\x4f\\x10\\x38\\x0b\\xf0\\xc2\\xb6\\x5d\\x3b\\x35\\x5b\\xf0\\x6a\\xd5\\x6a\\xbf\\x25\\x3c\\x4d\\x2b\\x4b\\xdf\\xb8\\xc4\\xbc\\x61\\xec\\xd0\\x02\\x65\\x5f\\x74\\x63\\x98\\x39\\xaf\\x80\\x7c\\x03\\xcd\\x53\\xe0\\x6b\\x21\\x60\\x5f\\x38\\x61\\xb2\\x78\\x29\\xba\\x8f\\xfa\\x8e\\x10\\xda\\xd7\\xcf\\x69\\x38\\x2e\\xce\\x4b\\xaf\\x79\\x2d\\xb4\\x24\\xea\\xdd\\xb7\\x1a\\x97\\x84\\xbf\\xf2\\xb3\\x5a\\x93\\x59\\xac\\x7e\\x76\\xf9\\xbd\\xf7\\xde\\xfc\\x14\\xed\\x5b\\xb5\\x36\\xf3\\x85\\x74\\x83\\xc0\\x83\\x2f\\xa0\\xeb\\xef\\x8c\\xdc\\xb7\\x4e\\xf4\\xb2\\x97\\xc3\\x4b\\x1a\\xbf\\xf5\\x6e\\x54\\x49\\xe8\\x6b\\xcb\\xd5\\x92\\xd1\\x62\\xf5\\xd3\\x37\\xdd\\x7b\\xef\\x8d\\xcf\\xd0\\xbe\\x7a\\xe9\\xe8\\x2a\\xba\\x38\\x36\\x1a\\xab\\x3e\\x6c\\x14\\x11\\x58\\x2f\\x32\\xd2\\xf6\\xa7\\xbd\\xd9\\x53\\x3d\\x24\\xab\\xc8\\x5f\\xd4\\x9f\\xfe\\x2a\\x0c\\x4b\\xf7\\x5b\\xd1\\xb6\\x5a\\x95\\xaf\\x12\\x22\\x32\\xa3\\x97\\x77\\x1d\\x59\\xa7\\x75\\x1e\\x8f\\xae\\xd6\\xe7\\x24\\xf0\\x6d\\x4e\\xda\\x24\\x85\\x37\\x09\\x8e\\x50\\x5d\\x18\\x01\\x33\\x7f\\x40\\x80\\x5d\\x0a\\xf1\\xba\\x4a\\x02\\xdf\\x4c\\x0f\\x9d\\x87\\x7d\\xe7\\x2f\\x45\\xed\\xab\\x39\\xfa\\x49\\x62\\x5f\\xa2\\x03\\xab\\x85\\xba\\xf2\\xc2\\x0e\\xa4\\xe4\\x53\\xb3\\x13\\xdd\\xef\\x9b\\x6b\\x5f\\x13\\x54\\x9a\\xbc\\x94\\xa8\\x3b\\xfa\\x21\\x7a\\x01\\xee\\x56\\x68\\xd8\\x3b\\x3e\\xde\\x92\\x6a\\x76\\xda\\x7a\\xd9\\x4e\\xdf\\x5a\\x66\\xfe\\xc7\\x10\\x6e\\xca\\x9a\\xc7\\xe0\\x3a\\xcc\\xf2\\xd3\\xd4\\x2d\\x1f\\x9b\\x9d\\x9a\\xee\\xbc\\x6c\\xab\\xef\\xfa\\xe1\\x4c\\xff\\xef\\x6c\\x04\\xb7\\x14\\x3f\\xbf\\xed\\xfb\\xea\\xce\\xb3\\x24\\xac\\x96\\xfd\\xa6\\xda\\x7f\\xf1\\x77\\x3e\\xd4\\xf7\\x55\\xe8\\x52\\xde\\xaf\\x96\\xfa\\xe3\\xf4\\x1e\\xde\\x4e\\x7d\\xe3\\xc1\\x59\\xa2\\xbe\\xd9\\x10\\xda\\xd2\\x3a\\x83\\xf5\\xdf\\x31\\xdf\\xf7\\x64\\x2e\\xac\\xff\\x89\\x5d\\xab\\xeb\\x1f\\xaf\\x51\\xff\\x23\\x5b\\x5e\\xeb\\x37\\x75\\xfe\\xd1\\xf7\\x5c\\x88\\xe9\\xb4\\x74\\x96\\xd0\\x9c\\xca\\x9f\\xa0\\x9f\\x1b\\x40\\x4f\\xc7\\x92\\xae\\xa4\\x07\\xf1\\x26\\x45\\xb4\\xf7\\xb6\\x4a\\x4c\\xec\\xd1\\xc8\\x86\\xd3\\x92\\xa6\\x4d\\x7b\\x5c\\xd1\\xaa\\xd5\\x15\\x41\\x41\\x57\\x70\\x7e\\x85\\xfa\\xe6\\x54\\x08\\xfe\\x1f\\xac\\x3e\\xcc\\xa6\\x2e\\x7a\\xa8\\x2f\\xc4\\xc5\\x75\\x30\\xfc\\x92\\xb4\\x04\\xbf\\xb2\\xf4\\x2b\\x5f\\xe6\\x57\\x0e\\xf7\\x6f\\x03\\xa7\\xfa\\x4e\\xcb\\x18\\x77\\xb3\\x98\\x98\\x66\\xee\\x98\\x23\\x55\\x85\\xc2\\xf6\\xee\\xe6\\xed\\xdb\\x37\\x77\\xb7\\x67\\x9e\\xaa\\xaa\\x18\\xb7\\x3b\\x2e\\xb6\\x69\\xb3\\xcb\\x37\\xe5\\x4d\\x56\\x3f\\xaa\\x2a\\x61\\xbb\\x0a\\xcb\\x71\\x71\\x27\\x75\\x1d\\xfc\\x8e\\x83\\xc6\\x31\\x31\\x34\\xdf\\xb9\\x95\\x08\\x27\\x14\\xf4\\x8c\\x04\\x3d\\xb9\\xca\\xc7\\x48\\x13\\xd2\\x34\\x29\\xb0\\x6e\\x3d\\xd9\\xb0\\x61\\x93\\x68\\x29\\xa3\\x39\\x63\\xd1\\xbe\\xaf\\x69\\x69\\xbd\\x50\\xa3\\xf8\\xa6\\xe1\\x7f\\x29\\x71\\x28\\xed\\x4d\\x9b\\x81\\x7c\\xb1\\xb1\\x4a\\x4e\\x2d\\xeb\\xa6\\xbc\\x47\\x67\\xcd\\x4a\\xaa\\x12\\x02\\x04\\x52\\xc2\\xf9\\x84\\x80\\xff\\x84\\x33\\x01\\xe4\\x98\\x0a\\x72\\x48\\xc8\\x15\\x9a\\x80\\xc5\\x3b\\x26\\x05\\x85\\x34\\xa8\\xd3\\xb8\\x71\\xf3\\x66\\x49\\x75\\xea\\x34\\xa3\\x86\\x21\\x61\\x86\\x7c\\x3d\\xb4\\x7e\\x1f\\x59\\x2a\\x44\\x33\\x25\\x54\\xe4\\xe6\\x76\\xf8\\x7c\\x55\\x6c\\x64\\xb5\\x68\\x6a\\xe5\\xfe\\xa6\\xe1\\xcd\\xff\\x5a\\xbc\\x4f\\xf2\\x68\\xef\\x19\\xf4\\x46\\x3f\\x01\\x63\\x63\\x51\\x40\\xe7\\x44\\xe1\\xac\\x59\\x85\\x2f\\x5f\\x4a\\x46\\x86\\xf7\\xdf\\x1b\\x9b\\x8d\\x40\\xc2\\x38\\x18\\x3e\\x1d\\x63\\x58\\xab\\x40\\x1e\\x1e\\xa6\\xa2\\xe6\\x15\\xcc\\xa6\\xf5\\x1b\\x44\\xb3\\xf0\\x30\\xf5\\x21\\x8c\\x18\\x16\\xdf\\xf1\\x0a\\x96\\x40\\xe3\\x5b\\x18\\xe1\\x2d\\xf9\\xe4\\x0e\\xa9\\x03\\x22\\xfb\\x5e\\x37\\xad\\x5b\\xf3\\xbe\\xf9\\x03\\x87\\x16\\xa4\\x36\\x71\\x0a\\x69\\xec\\xb8\\x20\\xef\\xe0\\x0e\\x49\\x0b\\xd7\\x14\\x15\\xae\\x59\\xd4\\xb3\\xef\\x92\\x67\\x26\\x3b\\x07\\xe9\\x5d\\x34\\xe6\\x38\\xfd\\x62\\xe4\\xad\\x45\\xa3\\x1a\\x45\\x0e\\x2d\\xbc\\x6d\\xfc\\x80\\xab\\x27\\x27\\x74\\x9a\\x74\\x35\\xff\\xd0\\x79\\x77\\x72\\x48\\x97\\xeb\\x56\\x66\\xe4\\xbd\\x76\\x75\\x9f\\x94\\x25\\xaf\\x17\\x15\\xbc\\xb4\\x2c\\xa3\\x29\\xed\\x32\\xf7\\x9d\\x11\\xd7\\xe8\\x27\\xb3\\x49\\xf8\\x28\\x42\\xf9\\x8d\\xe0\\xe2\\xb6\\xdd\\x07\\xfa\\xb2\\x45\\xe5\\x0a\\xc0\\x84\\xca\\xbd\\x80\\xdd\\x14\\xf2\\xae\\xaa\\x86\\xa7\\x20\\xf6\\x46\\x1c\\x84\\x38\\x0a\\xf7\\x8e\\x46\\x4c\\x07\\x0c\\x23\\x61\\x95\\xd9\\x90\\x6f\\x70\\xd8\\xdb\\x02\\x28\\xa8\\x72\\x22\\x62\\x97\\xca\\x35\\x80\\xdd\\xb0\\x3c\\x16\\x5a\\xb6\\x20\\xe3\\x10\\x27\\x28\\x94\\x87\\xa1\\xbe\\x0d\\x09\\xaa\\x6c\\x0c\\x18\\x82\\xa8\\x64\\x88\\x05\\x3a\\x6b\\x00\\x15\\x9d\\x58\\xa4\\x13\\x0b\\x74\\x14\\x76\\x43\\x9c\\xa0\\xf6\\xc2\\xb1\\x2b\\x88\\x17\\x5a\\xee\\x05\\x0c\\x72\\x7e\\x03\\x0c\\x41\\x6c\\x01\\x6d\\xe2\\x51\\x8b\\x78\\x38\\x56\\x61\\x17\\x44\\xa5\\x51\\x02\\xb6\\x4f\\x40\\x8e\\x09\\x24\\x18\\x28\\x24\\x20\\xdf\\x04\\xd2\\x18\\x31\\x1a\\x51\\x51\\x48\\x20\\x1e\\x6c\\x99\\x82\\x35\\x69\\x88\\x7d\\x10\\x07\\x00\\xf7\\x04\\x32\\x0c\\xcb\\x23\\xb1\\x3c\\x0a\\xcb\\x63\\xb0\\x3c\\x0e\\x69\\x4e\\x00\\x4c\\x04\\x2e\\x29\\x80\\xc1\\x58\\x0e\\xc1\\x72\\x63\\x68\\x93\\x08\\x5c\\x14\\x2a\\x2e\\x89\\x40\\x5f\\x61\\x1f\\x6c\\x33\\x00\\x38\\x26\\x02\\x65\\x55\\x1e\\x89\\x6d\\xc6\\x20\\x2a\\x7d\\xbb\\x00\\xb5\\x15\\x80\\xc1\\xd0\\xa6\\x0b\\x50\\x53\\xe5\\xc6\\x58\\x8e\\x46\\x6c\\x81\\x6d\\x52\\x10\\xfb\\x60\\xcd\\x30\\xc4\\x91\\x88\\x63\\x10\\x27\\xc0\\x48\\xe9\\x86\\x16\\xe8\\x86\\x16\\xeb\\x06\\xd4\\x52\\x00\\x43\\xb0\\xdc\\x18\\x68\\x76\\x03\\x6a\\x0b\\x01\\x95\\x6c\\xdd\\x50\\xb6\\x6e\\x40\\x4d\\xb5\\x51\\x5a\\x77\\x03\\x9a\\xaa\\x3c\\x1c\\xeb\\x47\\x60\\x79\\x0c\\x1e\\x35\\x16\\xb0\\x2f\\xe9\\x0b\\x94\\xfb\\xca\\xc3\\xe4\\x32\\x32\\x12\\xa5\\x1d\\x89\\x72\\x8e\\x84\\x9a\\x01\\x64\\x2c\\xd4\\x64\\x03\\x86\\x00\\x8e\\xc3\\xbd\\xe3\\x70\\xef\\x04\\xac\\x9f\\xa0\\xea\\x79\\x57\\xde\\xbf\\x72\\x17\\xe0\\x30\\xc4\\x51\\x58\\x33\\x1a\\x71\\x4c\\xe5\\x07\\x80\\xe9\\x58\\xce\\xaa\\xdc\\x0b\\x98\\x8f\\x38\\x1f\\x30\\x09\\xda\\xbc\\xc7\\x93\\x79\\x2f\\xf2\\x2c\\x20\\xc8\\x0c\\xd8\\x1b\\xb1\\x7f\\xe5\\x4d\\x80\\x83\\xb0\\x3c\\x0c\\xcb\\x63\\x10\\xc7\\x57\\x3e\\x04\\x38\\x19\\xeb\\x33\\x2a\\xd7\\x00\\x66\\x56\\xa6\\x01\\xe6\\x60\\xcd\\x4c\\xac\\xc9\\xc5\\x72\\x1e\\xe2\\x6c\\xdc\\x5b\\x82\\x38\\x0f\\xf1\\x4a\\x32\\x05\\x70\\x31\\x94\\x7b\\x02\\xf7\\x6d\\x80\\xe9\\x80\\x29\\xca\\xff\\x79\\x0a\\x6a\\x91\\x82\\x5a\\xa4\\xa0\\x16\\x29\\xa8\\x45\\x0a\\x6a\\x91\\x82\\x5a\\xa4\\xa0\\x16\\x29\\xa8\\x45\\x0a\\x6a\\x91\\xa2\\xc6\\x02\\x4f\\x03\\x6b\\x34\\x01\\x0c\\x51\\x08\\x1a\\x3d\\x0e\\x98\\x52\\x99\\x02\\xd8\\x1b\\x71\\x10\\xe2\\xcc\\xca\\xa7\\x01\\xaf\\x24\\x63\\x78\\x6f\\xe4\\xd8\\x1b\\x39\\xf6\\x46\\x8e\\xbd\\x81\\xe3\\xf5\\x80\\x8a\\x63\\x6f\\xe4\\xd5\\x1f\\x28\\xec\\x05\\xec\\x8d\\x38\\x08\\x51\\x59\\xac\\x3f\\xec\\x7d\\x8f\\x0f\\x84\\x63\\xd7\\x01\\x0e\\x43\\x84\\xde\\x04\\x9c\\x58\\x79\\x0c\\x30\\x13\\x71\\x1a\\x62\\x36\\xe2\\x0c\\xc4\\x02\\xc4\\xd9\\x88\\x25\\x88\\xf3\\x10\\x17\\x22\\x2e\\x46\\x2c\\x05\\x1c\\x84\\xb2\\x0d\\x42\\xd9\\x06\\xa1\\x6c\\x83\\xd0\\x1a\\x83\\x50\\xb6\\x41\\x28\\xdb\\x30\\x94\\x6d\\x18\\xc8\\xb6\\x0b\\x70\\x10\\x96\\x95\\x6c\\xc3\\x50\\xb6\\x11\\xca\\x57\\x01\\x83\\x9c\\x3f\\x00\\x43\\x14\\x62\\xff\\x8e\\xc0\\xfe\\x1d\\x81\\x3d\\x3b\\x92\\x17\\x42\\x6f\\x8e\\xe4\\x73\\x00\\x47\\x61\\xfb\\x51\\x68\\xc3\\x51\\x68\\xc3\\x51\\xe0\\xd5\\x0a\\xa3\\x15\\x82\\x3d\\xdf\\x01\\x54\\x14\\x46\\x21\\x85\\x51\\x20\\x1b\\xb4\\x47\\x3a\\xa3\\x40\\x42\\x55\\x1e\\x83\\x38\\x1e\\x71\\x22\\x1e\\x35\\x09\\x71\\x4a\\x25\\x48\\x0f\\x36\\x51\\xe5\\x2c\\x2c\\x4f\\xc7\\x72\\x4e\\xe5\\x0c\\x40\\xe5\\x33\\xa3\\xc0\\x5b\\x54\\x39\\x1f\\xb4\\x1e\\x05\\xf6\\x51\\x7b\\x4b\\x10\\xe7\\x56\\x0e\\x01\\x9c\\x87\\xe5\\xf9\\xb8\\x77\\x01\\xb6\\xbc\\x12\\xe5\\x59\\x84\\xd4\\x16\\xe3\\xde\\x25\\x50\\x1e\\x8d\\x5a\\x8c\\x46\\xad\\x47\\xc3\\x08\\x4d\\x03\\x0c\\xc1\\x32\\x8c\\x50\\xc0\\x68\\x85\\xa8\\xcb\\x68\\xd4\\x65\\x34\\xea\\x32\\x1a\\xbd\\x7d\\x34\\xea\\x32\\x1a\\xbd\\x7d\\x34\\x7a\\xfb\\x68\\xf4\\xf6\\xd1\\xe8\\xed\\xa3\\xd1\\xdb\\x47\\xa3\\xb7\\x8f\\x06\\x2d\\x54\\x7d\\x0e\\xd6\\xcf\\xc4\\xfa\\x5c\\x2c\\xe7\\x21\\xce\\xc6\\x36\\x25\\x88\\xf3\\x10\\xaf\\x24\\xf3\\x01\\x95\\xcf\\x8f\\x01\\xbe\\x1f\\x00\\xaa\\x9e\\x1a\\x83\\x3d\\x35\\x0e\\x6c\\xf5\\x32\\x60\\x26\\xe2\\x34\\xc4\\x19\\x95\\x5f\\x02\\xce\\xc6\\x72\\x09\\xe2\\x3c\\xc4\\x85\\x88\\x8b\\x11\\x4b\\x01\\xc7\\xe3\\x08\\x1a\\x8f\\x23\\x28\\x1d\\x75\\x4f\\xc7\\xb1\\x9c\\x8e\\xda\\xa5\\xa3\\x76\\xe9\\xa8\\x5d\\x3a\\x6a\\x97\\x8e\\xda\\xa5\\xa3\\x76\\xe9\\xa8\\x5d\\x3a\\x6a\\x97\\x8e\\xda\\xa5\\xa3\\x76\\xe9\\xa8\\x57\\x3a\\xea\\x95\\x8e\\x7a\\xa5\\xa3\\x5e\\xe9\\xa8\\x57\\x3a\\xea\\x95\\x8e\\x7a\\xa5\\xe3\\x58\\x4e\\x47\\xbd\\xa6\\xf1\\x59\\x20\\xf3\\x34\\xf0\\xa8\\x43\\x80\\x73\\x10\\xe7\\x57\\x7e\\xcc\\xb3\\x41\\xbb\\xb9\\x80\\x93\\x41\\xb6\\x6c\\xa0\\xaf\\xca\\x59\\x95\\xcf\\x02\\x4e\\x03\\xfa\\xd9\\xc0\\x4b\\xd5\\xcf\\x00\\x49\\xb2\\x81\\xa3\\x2a\\xe7\\x22\\xe6\\x63\\x9b\\xd9\\xd8\\xbe\\x10\\xcb\\x25\\x58\\x9e\\x83\\xe5\\x79\\x58\\x5e\\x88\\xb8\\x18\\xb1\\x14\\x70\\x06\\xca\\x90\\x8b\\x63\\x30\\x17\\xc7\\x60\\x2e\\x8e\\xc1\\x5c\\x1c\\x83\\xb9\\x38\\x06\\x73\\x71\\x0c\\xe6\\xe2\\x18\\xcc\\xe5\\xc5\\x88\\x25\\x88\\xf3\\x10\\x17\\x22\\x2e\\x46\\x54\\x23\\x71\\x16\\x50\\xfb\\x16\\x30\\x13\\x71\\x1a\\x62\\x01\\xe2\\x6c\\xc4\\x62\\xb0\\xfc\\x2c\\xa0\\xa0\\xca\\x73\\x2b\\xb7\\x00\\xce\\x03\\xf9\\x67\\x01\\x1d\\x55\\xb3\\x18\\x71\\x09\\xd6\\x97\\x42\\xb9\\x00\\xa8\\x7d\\x0c\\x98\\x89\\x38\\x0d\\x31\\x1b\\xb1\\x00\\x71\\x36\\x62\\x31\\x62\\x09\\xe2\\x3c\\xc4\\xc5\\x80\\xb3\\x51\\xbb\\xd9\\x68\\xe1\\xd9\\x68\\xe1\\xd9\\x68\\xe1\\x42\\xa0\\x79\\x08\\x30\\x13\\x31\\x1b\\x71\\x36\\x62\\x31\\x62\\x09\\xe2\\x3c\\xc4\\x85\\x88\\xa5\\x80\\x45\\x48\\xad\\x08\\xa9\\x15\\x21\\xb5\\x39\\x48\\x67\\x0e\\xd2\\x99\\x03\\xb2\\x29\\xcc\\x46\\x9c\\x8d\\x58\\x8c\\x58\\x82\\x38\\x0f\\x71\\x21\\xa2\\xa2\\x36\\x0f\\xa9\\xcd\\x43\\x6a\\xf3\\x90\\xda\\x3c\\x94\\x6d\\x3e\\xea\\x3b\\x1f\\xf5\\x9d\\x8f\\xfa\\xce\\x47\\x7d\\xe7\\xa3\\xa6\\xf3\\x51\\xd3\\xf9\\xa8\\xe9\\x7c\\xd4\\x74\\x3e\\xd0\\x54\\xb8\\x18\\xb1\\x14\\x70\\x21\\x52\\x5e\\x88\\x94\\x17\\x22\\xe5\\x85\\x48\\x79\\x31\\xd6\\x2f\\xc6\\xfa\\xc5\\x58\\xbf\\x18\\xeb\\x4b\\xb1\\xbe\\x14\\xeb\\x4b\\xb1\\xbe\\x14\\xeb\\xd7\\xc0\\xcc\\x66\\x02\\x86\\x20\\xce\\x02\\x6f\\x59\\x43\\x16\\x29\\x94\\xfb\\xe1\\x7c\\xe5\\x2d\\x88\\x20\\x93\\xf9\\xdb\\x80\\x73\\xf9\\x3a\\xfe\\x01\\x49\\x01\\xdc\\x54\\xf9\\x1d\\xe0\\x66\\xd2\\x1e\\x70\\x0b\\xb4\\x59\\xc7\\xb7\\x62\\xcd\\x76\\x2c\\xef\\x80\\xf6\\xeb\\xf8\\xce\\xca\\x27\\x01\\x77\\x55\\xbe\\x03\\xb8\\x07\\x6b\\xbe\\xc1\\xbd\\xdf\\x92\\x06\\x80\\x67\\xb0\\x7c\\x16\\x8f\\xfa\\x05\\x6b\\x1c\\x45\\x0d\\xb8\\xdc\\xc4\\xd7\\xf3\\x75\\xb0\\x77\\x3d\\x72\\x59\\x0f\\xf4\\x15\\x6e\\x47\\xdc\\x51\\xf9\\x38\\xe0\\x4e\\xf0\\xab\\xf5\\x40\\x59\\xd5\\xec\\xc6\\x96\\x7b\\xb0\\x7e\\x2f\\xf0\\x5a\\x0f\\x5c\\x54\\xfd\\x01\\xc4\\x13\\x88\\x67\\xa1\\xcd\\x06\\xa0\\xf9\\x0e\\xe0\\x07\\x58\\xfe\\x08\\x71\\x13\\xd6\\x6c\\x86\\x36\\x1b\\x80\\x8b\\x2a\\x6f\\x47\\xdc\\x01\\x9a\\x6e\\x00\\x2e\\xaa\\xbc\\x0b\\x71\\x37\\xe8\\xb2\\x01\\xb9\\x6c\\x00\\x2e\\x37\\x01\\x1e\\xc0\\xfa\\x23\\x78\\xec\\x8f\\x88\\x67\\xb0\\xe6\\x2c\\x96\\xcf\\x21\\xfe\\xa6\\x6a\\x04\\x81\\xf2\\x46\\xb4\\xf0\\x46\\xb4\\xf0\\x46\\xb4\\xf0\\x46\\xb4\\xf0\\x46\\x90\\x4a\\xe1\\x07\\x88\\x9b\\x40\\xaa\\x8d\\x20\\xcf\\x4d\\x80\\x9f\\x81\\x8e\\x1b\\x41\\x2a\\x55\\xde\\x0e\\x7c\\x37\\x22\\xc7\\x8d\\xfc\\x5b\\xac\\x39\\x84\\x78\\x04\\x8f\\x3a\\x8a\\xf8\\x1d\\xd6\\x9c\\x40\\xfc\\x11\\xf1\\x27\\xc4\\x93\\xb8\\xf7\\x67\\x2c\\x9f\\xc5\\x72\\x39\\x96\\x2b\\x10\\x2b\\x15\\x82\\x84\\x50\\x8f\\x7d\\xfd\\x01\\xdf\\x09\\x7d\\xf1\\x01\\x68\\xad\\xca\\x7b\\x2a\\xdf\\x02\\x3c\\x0e\\x3d\\xfe\\x01\\x3f\\x89\\xf5\\x67\\xa1\\x8f\\x3e\\x44\\x39\\x3f\\xe4\\xa7\\x41\\xaf\\x8f\\xb0\\x8f\\x3e\\x42\\x1f\\xf8\\x08\\xfb\\xe8\\x23\\xbe\\x03\\x5a\\x7e\\x04\\x74\\xda\\x03\\xee\\x45\\xfc\\x16\\x6b\\x8e\\xc2\\x8c\\xf1\\x11\\xc8\\xa3\\xda\\x28\\x2b\\x6d\\x42\\xcb\\x6f\\xc2\\xfe\\xdd\\x84\\xc7\\x6e\\x02\\xcb\\xef\\x00\\xdc\\x89\\xe5\\x5d\\x88\\x7b\\xb0\\x46\\xf5\\xe6\\xa7\\xc8\\xeb\\x53\\x6c\\xff\\x29\\xb6\\xff\\x14\\xa5\\xfd\\x14\\x5a\\xbe\\xc5\\x37\\x63\\xfb\\xcd\\xfc\\x20\\xd4\\x6c\\x06\\x39\\x1b\\xf0\\xcf\\xb0\\xe6\\x33\\xa0\\xa0\\xf0\\x5b\\xac\\x39\\x8a\\x78\\x12\\xf1\\x34\\xa2\\xaf\\xe5\\x6f\\xd8\\xc6\\x81\\xf2\\x16\\xf4\\xbd\\x2d\\xe8\\x27\\x5b\\xd0\\x4f\\xb6\\xa0\\x9c\\x5b\\x40\\x2a\\x55\\xde\\x0d\\x7d\\xb1\\x05\\xa5\\xda\\x02\\x52\\x29\\x3c\\x82\\x78\\x02\\xdb\\xa8\\x7e\\xdf\\x06\\x11\\x76\\x11\\x60\\x08\\x62\\x63\\xd8\\xbb\\x0d\\x62\\xab\\xc2\\x45\\x60\\xed\\x6d\\xd8\\xe3\\xdb\\xb0\\xc7\\xb7\\x01\\x7d\\x68\\x8f\\xf6\\xdc\\x86\\xfd\\xbe\\x0d\\xfa\\x5d\\xd5\\x6c\\xc1\\x9a\\xed\\x58\\x56\\x3e\\xbf\\x0d\\xb9\\x6f\\x43\\x8d\\xb6\\xa1\\x0c\\xdb\\x90\\xfb\\x36\\xf0\\x87\\x77\\x00\\x8f\\xc0\\xf8\\xda\\x06\\x16\\x7e\\x12\\xf0\\x24\\xa2\\xa3\\xf6\\x42\\xcf\\xbe\\xc3\\xb7\\xa3\\x46\\xdb\\x51\\xa3\\xed\\x68\\xc3\\xed\\xc0\\x4b\\xd5\\x7f\\x86\\xe5\\x2d\\x58\\xbf\\x03\\x6b\\x76\\x22\\xee\\x06\\x49\\xb6\\x83\\x8e\\xaa\\xbc\\x17\\x6c\\xbb\\x1d\\xc7\\xd4\\x76\\xb4\\xe1\\x76\\x7e\\x0c\\xfa\\x74\\x3b\\x5a\\x6c\\x87\\x3a\\xdf\\x01\\x0c\\x41\\x9c\\x05\\x7c\\x77\\x80\\x8e\\x80\\x38\\xd6\\xc0\\x83\\x10\\x3f\\x82\\xa3\\x76\\x20\\xdf\\x1d\\xc0\\x77\\x07\\xe0\\x16\\x90\\x7f\\x07\\x8e\\xac\\x1d\\xa8\\xc5\\x0e\\xd0\\x42\\xd5\\x1c\\xc2\\x63\\x8f\\x02\\xf7\\x1d\\xe0\\xcf\\xaa\\xfc\\x03\\xe2\\x09\\xdc\\xfb\\x23\\x96\\x4f\\x82\\xa6\\x3b\\xf8\\x29\\x2c\\xff\\x8c\\x2d\\x4f\\x23\\x9e\\x45\\x3c\\x87\\xf5\\x7f\\x20\\x96\\x23\\x56\\x20\\x56\\x2a\\x04\\x6b\\x40\\x1b\\xf4\\xf3\\x9d\\xd0\\x47\\xa7\\x00\\x43\\x10\\x1b\\x63\\x4d\\x34\\xa2\\xd2\\x62\\x27\\x68\\xf1\\x38\\xdf\\x89\\x3d\\xb5\\x13\\xb4\\x50\\x65\\xd5\\x47\\x3b\\xd1\\x6e\\x3b\\x71\\xae\\xd8\\x89\\xf2\\xef\\xc4\\x39\\x6d\\x27\\x6a\\xb1\\x93\\x1f\\x44\\x54\\x63\\x73\\x27\\x3f\\x8c\\x47\\xa9\\x7e\\xd9\\x89\\x23\\x74\\x27\\x3f\\x86\\xed\\x8f\\xe3\\xde\\xef\\x70\\xef\\xf7\\x58\\xf3\\x03\\x96\\x4f\\x60\\x9b\\x1f\\xb1\\xfc\\x13\\xe2\\x49\\xac\\x39\\x85\\xe5\\x9f\\x11\\x4f\\x63\\xcd\\x39\\x2c\\xff\\x8a\\xf8\\x3b\\xe2\\x1f\\x88\\x95\\x0a\\x71\\x2c\\xef\\x04\\x1d\\xbf\\xe3\\xbb\\xb0\\xdf\\x77\\x61\\x2f\\xec\\x42\\xc9\\x77\\x41\\x2f\\xdf\\x04\\xb8\\x13\\x5a\\xee\\x42\\x1f\\xde\\x05\\x92\\xbf\\x05\\x78\\x02\\xf6\\xee\\x46\\x1d\\x77\\xa3\\x76\\xbb\\x71\\x26\\xdc\\x8d\\x3a\\xee\\x06\\x1d\\xdf\\x02\\x54\\x23\\x77\\x37\\xce\\xa5\\x5f\\xa0\\xcf\\x7c\\x01\\xfe\\xd0\\x9e\\x7f\\x85\\x5e\\xf1\\x15\\xce\\x0c\\x7b\\x71\\x8e\\xda\\x8b\\x91\\x62\\x1f\\x72\\xdf\\x87\\x5e\\xb7\\x0f\\xfc\\xfc\\x1d\\x40\\xe5\\x03\\xfb\\x40\\x92\\xb7\\x00\\x3f\\xc3\\xfa\\x2d\\x88\\xdb\\x11\\x77\\x54\\x7a\\x01\\x95\\x6f\\xef\\xc3\\x78\\xb1\\x0f\\xbd\\x6e\\x1f\\xd0\\x84\\x1a\\x8c\\x41\\xdf\\xa0\\x2e\\xdf\\x00\\xb5\\x63\\x80\\x8a\\xda\\x37\\xa8\\xd7\\x37\\x70\\xd4\\x5b\\x80\\xaa\\x17\\xbe\\x01\\x9b\\xab\\x9a\\x63\\x20\\xd5\\x37\\xa8\\xd7\\x37\\x38\\x3f\\x7f\\x83\\xf3\\xf0\\x7e\\xf4\\xcc\\xfd\\x40\\xe7\\x49\\x40\\x35\\xba\\xf7\\x03\\x85\\xc7\\x01\\xb7\\xe0\\xde\\xed\\x88\\xca\\x4a\\xfb\\x51\\x92\\xfd\\x38\\x0a\\xf6\\x03\\x4d\\x55\\x3e\\x81\\xa8\\xa8\\x7d\\x0b\\xfd\\xa8\\x50\\x45\\xb1\\x6f\\x71\\x36\\xfb\\x16\\x46\\xc4\\x0e\\x7e\\x10\\x3c\\x79\\x1b\\xa0\\x6a\\x7f\\x10\\xfa\\xfd\\x3b\\xc0\\x63\\x88\\xc7\\x71\\xef\\x09\\xac\\xff\\x11\\xcb\\xa7\\xb1\\xfe\\x2c\\x96\\x7f\\xc1\\xf2\\x39\\xe0\\x75\\x10\\xa3\\xc6\\x41\\xfe\\x27\\xa2\\xa3\\xea\\x41\\x72\\x18\\x1b\\x40\\xf9\\x3b\\xc0\\x83\\x88\\x47\\x10\\x8f\\x22\\x1e\\x43\\x3c\\x8e\\x78\\x02\\xb8\\x1f\\x42\\x09\\x0f\\x61\\x7f\\x1d\\x42\\x2e\\x87\\x50\\xce\\x43\\xc8\\xeb\\x10\\xf2\\x3a\\x04\\x5c\\x1e\\x07\\x54\\x5c\\x0e\\xa1\\x65\\x0e\\x63\\x84\\x3a\\x8c\\x11\\xea\\x30\\xf0\\xda\\x01\\xa8\\xb4\\x38\\x0c\\x5c\\x54\\x59\\xd1\\x3f\\x0c\\xf4\\x55\\xf9\\x24\\xe2\\x69\\x85\\x78\\xec\\x11\\xa0\\xb3\\x03\\x50\\xcd\\x9f\\x47\\x51\\xc2\\xa3\\x38\\x2b\\x1e\\x45\\xd9\\x8e\\xa2\\xee\\x47\\xb1\\x2f\\x8e\\x62\\x94\\x3c\\x8a\\x16\\x3b\\x0a\\xfa\\xaa\\x7a\\xa5\\xef\\x31\\x9c\\xb7\\x8f\\xe1\\x6c\\x7c\\x0c\\xe7\\x96\\x63\\xfc\\x4f\\xf0\\xa8\\xe3\\x48\\xed\\x38\\x52\\x3b\\x8e\\xfa\\x1e\\x47\\x49\\x8e\\xe3\\x7c\\x7b\\x1c\\x75\\x3c\\x8e\\x3a\\x1e\\x47\\x9a\\xc7\\x51\\xbb\\xe3\\x48\\xf3\\x38\\x4a\\xf5\\x03\\x7a\\xe9\\x0f\\x40\\x5f\\xa1\\x9a\\xff\\x7f\\x80\\x88\\xa6\\xf0\\x04\\xe2\\x49\\xc4\\xd3\\x88\\x67\\x10\\xcf\\x22\\x2a\\x5d\\x4e\\xe0\\xde\\x13\\xd8\\xb3\\x3f\\xa2\\x24\\x3f\\x22\\xf7\\x1f\\xb1\\xcd\\x49\\x94\\xea\\x24\\xea\\x78\\x12\\xeb\\x4f\\xa2\\x7d\\x4e\\xa2\\xb5\\x4f\\xa2\\x3c\\x27\\x31\\x22\\x9c\\x44\\x0a\\x3f\\x43\\xfb\\x6d\\x80\\xaa\\xe5\\xcf\\xd0\\xf2\\x2d\\xc0\\x33\\x58\\x7f\\x16\\x6b\\xce\\x21\\x62\\x4b\\xb4\\xea\\x69\\xf4\\xe1\\xd3\\x28\\xc3\\x69\\xb4\\xc9\\x69\\x94\\xea\\x0c\\xce\\xba\\x67\\x70\\xd6\\x3d\\x83\\x5e\\x71\\x06\\x7d\\xfe\\x0c\\xda\\xe7\\x0c\\x1c\\x95\\x02\\xa8\\x24\\x39\\x83\\xf6\\x39\\x83\\xf6\\x39\\x83\\x32\\x9f\\x85\\x63\\xbd\\x80\\x21\\x88\\x8b\\x54\\x0d\\x52\\x38\\x8b\\xf6\\x3f\\x8b\\x74\\xce\\x22\\x9d\\xb3\\xc8\\xfd\\x2c\\xd2\\x39\\x8b\\x1e\\x75\\x16\\xa8\\x41\\x0f\\xc1\\x5c\\xa4\\xca\\xa7\\x11\\x7f\\x41\\x54\\x5e\\x7a\\x16\\x65\\xfe\\x05\\xad\\xf4\\x0b\\x5a\\xe6\\x17\\x3c\\xf6\\x17\\xd4\\xf1\\x17\\xd4\\xf1\\x17\\xd4\\xee\\x17\\x6c\\x79\\x0e\\xf9\\x9e\\xc3\\xf6\\xe7\\x90\\xe3\\x39\\xb4\\xcc\\x39\\x94\\xf9\\x1c\\xd2\\x3f\\x07\\xc7\\x2a\\xfc\\x05\\x51\\x1d\\xfb\\x2b\\xb6\\xfc\\x15\\x5b\\xfe\\x8a\\x2d\\x7f\\xc5\\x96\\x7f\\x60\\xfd\\x1f\\x58\\xf3\\x07\\x6a\\x5a\\x01\\xc7\\x4e\\x06\\xfc\\x0d\\xe6\\x22\\x07\\xe5\\x71\\xb0\\xf7\\x1d\\x3c\\xd6\\x41\\xd9\\x1c\\xb4\\xad\\x83\\x12\\x3a\\x68\\x7f\\x07\\x65\\xab\\xc4\\xf6\\x95\\xd8\\xb3\\x95\\xd8\\xb2\\x12\\x2d\\x50\\x89\\x2d\\x2b\\xb1\\x65\\xa5\\x92\\x47\\x04\\x29\\x7b\\x02\\x82\\x3d\\x45\\xb2\\x1a\\x41\\x80\\x21\\x88\\x10\\x53\\x00\\xa3\\x11\\x67\\x55\\x4e\\x06\\x5c\\xa4\\x50\\x45\\x1f\\x79\\x48\\x1e\\xaa\\x84\\x59\\x52\\x5d\\x8d\\x04\\x1c\\xa5\\xca\\x30\\xbf\\xed\\x95\\xdf\\xf1\\x57\\x2a\\x27\\x03\\xbe\\x83\\xb8\\x03\\x11\\xe6\\x1f\\x40\\xc8\\x6c\\xd5\\xa5\\x55\\x12\\x4d\\xf3\\xd4\\xf5\\x55\\xfc\\x6f\\x34\\x79\\x49\\x97\\x29\\x09\\xa2\\xad\\x75\\x99\\x11\\x49\\xfb\\xe8\\x32\\x27\\x91\\xf4\\x3a\\x5d\\x16\\xd0\\x66\\x9d\\x2e\\x1b\\x24\\x90\\x9e\\xd4\\x65\\x93\\x04\\xb2\\x28\\x5d\\x96\\x64\\x01\\x6f\\xaa\\xcb\\x16\\x09\\xe3\\x1f\\xea\\xb2\\x4d\\x02\\xf9\\xef\\xba\\xec\\xa2\\x39\\xe6\\xd7\\xba\\x5c\\x87\\x44\\x59\\xa5\\xba\\x1c\\x40\\x62\\xac\\x3f\\x75\\xb9\\x2e\\x89\\xb7\\xef\\xd2\\xe5\\x40\\x12\\xe9\\x62\\x20\\x09\\x15\\x36\\xfc\\x7a\\x11\\xa5\\x52\\x65\\x0a\\xba\\x58\\xba\\xcc\\x40\\x9e\\xce\\xba\\xcc\\x49\\x47\\x3a\\x44\\x97\\x05\\xb4\\x79\\x44\\x97\\x0d\\x12\\x45\\xb7\\xe9\\xb2\\x09\\x65\\x47\\x97\\x25\\x39\\xcb\\xda\\xe9\\xb2\\x45\\x5a\\xf3\\x07\\x74\\xd9\\x26\\x51\\x7c\\xaf\\x2e\\xbb\\xd8\\x76\\x51\\xc5\\xab\\x0e\\xe9\\x6c\\xa5\\xe9\\x72\\x00\\x99\\x60\\x3d\\xa8\\xcb\\x75\\xc9\\x0c\\xbb\\xad\\x2e\\x07\\x92\\x8e\\xf6\\x66\\x92\\x42\\x72\\xc8\\x74\\xf8\\x57\\x0c\\xff\\x16\\x90\\x2c\\x32\\x95\\xb8\\xe1\\x5f\\x06\\xfc\\xce\\x80\\x52\\x26\\xc9\\x27\\x05\\x64\\x3e\\x29\\xc4\\x56\\xd9\\x50\\xeb\\x26\\xad\\xa1\\xb6\\x0d\\x6c\\x3d\\x24\\x8e\\x74\\x80\\x7f\\x6e\\xd2\\x1b\\x5a\\xe5\\xc3\\xfe\\x5c\\x38\\xde\\x4d\\x7a\\x41\\xb9\\x10\\x8e\\x52\\x98\\x81\\x74\\xf3\\x49\\x1e\\x89\\x81\\x3d\\x2e\\xdc\\xf7\\xd7\\xf4\\x3c\\x50\\x1a\\xa6\\xe5\\xe8\\x83\\xc7\\x5f\\x0e\\xa5\\xbe\\x40\\x21\\x13\\x68\\x90\\x94\\x9c\\xe9\\x39\\xc5\\x39\\x0b\\xb2\\xa6\\xba\\xa7\\x66\\x14\\x67\\xb8\\x33\\xf3\\x0b\\xe6\\x17\\xe6\\x4c\\xcf\\x2e\\x76\\xb7\\xce\\x6c\\xe3\\xf6\\xc4\\x75\\x88\\x73\\xf7\\xce\\xcf\\x9f\\x9e\\x9b\\xe5\\xee\\x95\\x5f\\x58\\x90\\x5f\\x98\\x51\\x9c\\x93\\x9f\\x17\\xe3\\x76\\xf5\\xba\\xb0\\x9d\\xc7\\x3d\\x0c\\x68\\xf4\\xc9\\x28\\xbe\\xdc\\xdd\\x37\\x2f\\x13\\x08\\x0f\\x00\\x89\\xa6\\x00\\x5f\\x7f\\x99\\xdd\\x64\\x38\\xfc\\xca\\x23\\x45\\xb0\\x3b\\x67\\x4a\\x96\\x8f\\x9a\\x7b\\x78\\x46\\x1e\\x54\\x28\\x19\\xa7\\x93\\x12\\xd0\\x39\\x03\\x8e\\x21\\xc3\\xb2\\xa6\\x97\\xe4\\x66\\x40\\x21\\x19\\x5a\\x67\\xc2\\xbe\\x3c\\xd0\\x40\\x51\\x73\\x93\\xf6\\xf0\\xef\\x6f\\xa8\\x27\\x17\\x65\\x66\\xe5\\x4d\\xcd\\x2a\\x74\\xb7\\x77\\x5f\\xc4\\xe8\\x3f\\x15\\x6c\\x14\\xb6\\x2d\\xaa\\x6e\\xe9\\x01\\xb3\\xc5\\xc1\\x5f\\x0c\\x18\\x97\\x8c\\xca\\x2a\\x2c\\x52\\x4d\\x3d\\x31\\x71\\x71\\x31\\x1d\\x6a\\x27\\x5e\\x0b\\xe9\\xbf\\x92\\x24\\x07\\x9a\\xba\\xd1\\x59\\x8a\\x71\\x8f\\x52\\x7b\\x16\\x1a\\x65\\x26\\xd4\\xe5\\x93\\x69\\x7f\\xd9\\xa1\\x6e\\x68\\x97\\x85\\x0e\\x58\\x04\\x7b\\xb2\\xf0\\xd7\\x54\\xa4\\xaa\\x68\\x8f\\x84\\x16\\xc3\\xb1\\xd5\\x10\\x3c\\x52\\x99\\xb5\\x18\\xb9\\xe5\\x61\\xab\\x11\\xb5\\x70\\x1c\\x0c\\x1c\\xa7\\xc1\\xf1\\x99\\xe8\\x8c\\x55\\x2d\\x33\\x91\\xb6\\x72\\x6a\\x1f\\xe5\\x7c\\x28\\x67\\xeb\\x0e\\x9a\\x01\\xdd\\x58\\x88\\x12\\x4c\\xc5\\xe3\\xaa\\x74\\x2b\\x52\\x0e\\xe7\\x67\\xdf\\x9c\\x22\\x77\\x86\\xbb\\xb8\\x30\\x63\\x6a\\xd6\\xac\\x8c\\xc2\\x99\\xee\\xfc\\x69\\x35\\x7d\\xc8\\x5d\\x98\\x35\\x3d\\xa7\\xa8\\x38\\xab\\x10\\x2a\\x73\\xf2\\xdc\\x23\\x63\\x86\\xc7\\xb8\\x87\\x64\\x14\\x67\\xe5\\x15\\xbb\\x33\\xf2\\xa6\\xba\\x47\\x54\\x1f\\x38\\x78\\xda\\xb4\\x9c\\xcc\\x2c\\xac\\xcc\\xcc\\x2a\\x2c\\xce\\x80\\xc6\\xf9\\xc5\\xd9\\xd0\\xfb\\x33\\x4a\\x0a\\x73\\x8a\\xa6\\xe6\\x64\\x2a\\x6e\\x45\\x31\\xb5\\xf9\\x52\\xed\\x63\\xeb\\xbc\\xff\\xf8\\x79\\x3d\\x01\\xcb\\x29\\x8b\\xcd\\x41\\x3b\\x0c\\xc4\\xe6\\xea\\x77\\x91\\xef\\x90\\xe1\\xc5\\x59\\x73\\xb2\\xdc\\x03\\x33\\x8a\\x8b\\xb3\\x8a\\x54\\xe3\\x9e\\xd0\\xa0\\x48\\x1b\\xdf\\xd7\\xb1\\xc9\\x68\\x94\\x59\\xf0\\x4b\\x75\\xd8\\x5c\\x30\\x97\\x32\\x4e\\x36\\x96\\x33\\xb0\\xd3\\xa7\\x22\\x39\\x35\\x92\\xf3\\xf4\\x91\\x53\\x60\\x6c\\xbb\\xff\\x92\\xb1\\x5b\\x1f\\x9b\\xa1\\x9d\\x27\\x0f\\xfe\\xf2\\xa1\\xad\\x4f\\x1b\\x75\\xcc\\xe5\\xda\\x29\\xa6\\x21\\x16\\x21\\xdf\\x3c\\xe0\\xe1\\x86\\xb2\\xcf\\x33\\xdd\\x28\\xa9\\x92\\x6e\\xda\\x05\\x52\\xb8\\xb1\\x5b\\x33\\xd0\\x49\\x7c\\x8e\\x39\\x0b\\xf6\\x16\\x63\\xdb\\x4c\\xa8\\xcf\\x85\\xbf\\xf9\\x7a\\x5e\\x9b\\x05\\x76\\xf4\\x71\\x9d\\xa2\\x67\\xae\\xb9\\x38\\x0f\\x66\\x57\\xeb\\x0e\\xed\\x9b\\x36\\x43\\xf7\\x3b\\x6f\\x0b\\x9f\\x4b\\x4f\\xd3\\x83\\xcc\\x8d\\xb5\\x05\\x50\\xce\\x47\\xd9\\xab\\xac\\xd7\\x1e\\x7b\\x4e\\xc9\\x9f\\x85\\x52\\xa9\\x52\\x06\\xce\\xab\\x53\\xe0\\x88\\x5c\\xe4\\xe3\\x93\\x23\\x1b\\x1d\\x37\\x03\\xdd\\x2e\\x4b\\xbb\\x61\\x31\\x4a\\x5b\\xe4\\xe7\\xbe\\x3e\\x67\\x75\\xa3\\xc4\\x8a\\x7a\\x2a\\xba\\xac\\x9a\\x4b\\xb3\\xb4\\x25\\x47\\xc3\\x2c\\x3c\\xa0\\x56\\x8a\\x3e\\x6b\\xf9\\x0f\\x1b\\xd5\\x13\\xb9\\x28\\x6f\\x91\\x1f\\xed\\x3c\\x94\\x76\\x2a\\xd6\\xe5\\x57\\x5b\\x56\\xb5\\xca\\xd5\\x9c\\x7c\\x1a\\xe7\\xe2\\x6c\\x3f\\xb3\\xba\\x57\\xa6\\xa1\\x37\\xfa\\xac\\x37\\x15\\xa9\\xb5\\xbf\\x84\\x7d\\xa7\\xa1\\x6d\\x8a\\x35\\xd7\\x7c\\x94\\x68\\x2a\\xfc\\xf9\\xfa\\xd9\\xe7\\x51\\xf9\\x70\\x6c\\x09\\xf6\\x9a\\x6f\\xa8\\xfb\\x7c\\xbd\\xf8\\x22\\xcb\\x65\\xa0\\x7d\\xf3\\xf5\\x71\\x05\\x38\\x0f\\x17\\x6b\\x59\\x66\\xf9\\x86\\x6e\\xcf\\x8c\\x22\\x18\\x8a\\x30\\x70\\x93\\x0b\\x73\\x66\\xe5\\x5f\\xee\\x9e\\x9b\\x9d\\x93\\x99\\xed\\x9e\\x9b\\x51\\xe4\\x9e\\x9a\\x55\\x94\\x33\\x3d\\x0f\\x76\\x4e\\x99\\xef\\xae\\x39\\x10\\xdc\\xb0\\x37\\x03\\x86\\x7a\\x5e\\x5e\\xfe\\x1c\\x18\\x46\\x73\\xb2\\x2e\\x87\\x61\\x3d\\xad\\x30\\xab\\x28\\x3b\\x27\\x6f\\xba\\xbb\\x08\\xe6\\x41\\x77\\x51\\x56\\x61\\xce\\x34\\x4d\\xc2\\x5d\\x9c\\x9d\\x51\\xac\\x26\\x86\\x59\\x59\\xc5\\x85\\x39\\x99\\x19\\xb9\\xb9\\xf3\\x21\\x26\\xcd\\x2a\\x80\\x43\\xa7\\x40\\x10\\x9a\\x9b\\x53\\x9c\\xad\\xb8\\x67\\xe4\\x3e\\x1b\\xe3\\x93\\x02\\x66\\x8d\\x69\\x30\\x07\\xbb\\x73\\x66\\x15\\x14\\xe6\\xcf\\x41\\xf1\\xda\\x17\\x65\\x16\\x66\\x65\\xe5\\x01\\x9f\\x8c\\xa9\\x19\\x53\\x72\\x72\\x73\\x8a\\x81\\x46\\x76\\x46\\x61\\x46\\x26\\xcc\\x25\\x30\\xa1\\xe4\\x64\\x16\\xe1\\x5c\\x01\\x53\\x84\\xbb\\x20\\x23\\xaf\\x7d\\x6a\\x49\\x61\\x7e\\x41\\x16\\x08\\x39\\xba\\xf7\\x80\\xf3\\x0d\\x41\\x2c\\xdf\\x3c\\x53\\x94\\x9f\\x3b\\x27\\xab\\x08\\x5b\\xe7\\x65\\x65\\x4d\\x2d\\x52\\xf3\\xd4\\x54\\x50\\x31\\x17\\x0e\\x02\\xc6\\xb9\\xf9\\xf9\\x33\\x95\\x2a\\xd3\\xf2\\x0b\\x41\\xbc\\xa9\\xc5\\xd9\\xed\\xfd\\xe4\\x9d\\x96\\x9f\\x57\\x0c\\x87\\xe6\\xbb\\x33\\xa6\\x4e\\x05\\x9d\\xc1\\x50\\xf9\\x99\\x25\\xb3\\xd4\\x0c\\x06\\xb3\\x4a\\x71\\x95\\x70\\x19\\x99\\x85\\xf9\\xb0\\xaf\\x20\\x37\\xa3\\x18\\xa8\\xcc\\x52\\x33\\x55\\x36\\x8e\\xf1\\x02\\xd2\\x85\\xc4\\xc2\\xdf\\x5c\\xfc\\x8b\\xc1\\x91\\xee\\x3f\\x7f\\x65\\xea\\xd9\\x2b\\x46\\xfb\\x47\\x2c\\x1c\\x58\\x5c\\x5c\\xd0\\x25\\x36\\x76\\xee\\xdc\\xb9\\x31\\x19\\x7a\\x12\\xcb\\x84\\x39\\x2c\\x06\\x84\\x8a\\xfd\\xef\\xc9\\x2a\\x17\\x29\\x40\\x67\\xf6\\x9f\\xa0\\x0a\\xd1\\x2d\\x14\\xcd\\x59\\xe0\\x2e\\x7f\\xc9\\xba\\x78\\x7e\\x41\\x96\\x76\\x92\\xc2\\xa2\\x98\\xec\\xe2\\x59\\xb9\\xbe\\xf0\\xe7\\x63\\x5b\\x35\\x4f\\x96\\xf8\\xcd\\xcc\\x55\\xa3\\x68\\x38\\x84\\xb6\\x01\\x18\\x86\\x0a\\xf4\\xd8\\x4f\\xd3\\x5e\\xef\\xbe\\x80\\x82\\x9a\\xe7\\x2e\\x0c\\xd6\\x1d\\x7c\\x61\\x7a\\x00\\xc4\\x87\\x3c\\xe5\\xbc\\x25\\x38\\xab\\xab\\xbe\\x1c\\xde\\x77\\x80\\x7b\\x70\\x01\\xb8\\x49\\x1a\\xf4\\x91\\x5b\\x37\\xb8\\xdc\\x5d\\x15\\xd0\\x3b\\xa8\\x68\\x5e\\xd3\\x5c\\xbe\\x19\\x28\\x07\\x7e\\x17\\xa3\\xe2\\x45\\x38\\x7e\\x62\\xd0\\x58\\xd3\\x61\\xff\\x60\\x90\\x6c\\x40\\xb5\\x19\\xc0\\x09\\x73\\x0a\\x8a\\x8b\\x62\\x8a\\x72\\x72\\x63\\xf2\\x0b\\xa7\\xc7\\x0e\\x4e\\x1b\\x80\\x79\\x36\\xfe\\x57\\xd9\\x8a\\xdc\\x45\\x6a\\xf9\\xcf\\xd5\\x08\\xf3\\x72\\x95\\xf9\\x0a\\xc8\\x5d\\x4d\\xc8\\x53\\x2d\\xc8\\x49\\x5d\\x90\\x7f\\x06\\x40\\xae\\x19\\x48\\x82\\x48\\x30\\x09\\x21\\xa1\\xa4\\x1e\\x09\\x23\\xe1\\xa4\\x3e\\x69\\x40\\x22\\x48\\x43\\x12\\x49\\x1a\\x91\\x28\\xd2\\x98\\x44\\x93\\x26\\xa0\\x73\\x53\\xd2\\x8c\\x34\\x27\\x2d\\xc8\\x65\\xa4\\x25\\x69\\x05\\xd9\\x60\\x1b\\xd2\\x96\\xb4\\x03\\xeb\\xb4\\x07\\x59\\x63\\x75\\x4e\\xe8\\x25\\x1d\\x49\\x3c\\xe9\\x44\\x12\\x48\\x67\\x92\\x08\\xfa\\x75\\x25\\xdd\\x48\\x77\\x72\\x05\\xe9\\x41\\x92\\x60\\x6e\\xee\\x09\\x71\\x31\\x05\\xe6\\xc4\\x34\\x98\\x03\\xfb\\x80\\xfd\\xfb\\x91\\xfe\\xa0\\xd9\\x40\\x32\\x08\\x74\\x1c\\x42\\x86\\x42\\xfa\\x31\\x1c\\x52\\x85\\x91\\x60\\xed\\xd1\\x64\\x0c\\x19\\x4b\\xc6\\x91\\xf1\\x64\\x02\\x49\\x27\\x13\\xc9\\x24\\x32\\x99\\x64\\x50\\x46\\x1e\\x23\\xd7\\x90\\x6b\\xc9\\xbb\\xa0\\xe5\\x71\\x72\\x1d\\xb9\\x99\\x2c\\x27\\x0f\\x92\\x67\\xc8\\xe3\\x94\\x93\\x1b\\xa8\\x20\\x57\\x93\\xdb\\xc9\\x69\\x72\\x86\\xdc\\x44\\x0d\\x52\\x46\\x4d\\xf2\\x0d\\xf9\\x99\\x3c\\x44\\x9e\\x25\\xbf\\x90\\xb3\\xe4\\x1c\\x79\\x94\\xbc\\x40\\x3e\\x26\\x1f\\x41\\xd6\\x3f\\x05\\x2c\\x7e\\x0b\\x78\\xc4\\xa7\\xd0\\xab\\x9b\\xc8\\x27\\x64\\x0b\\xd9\\x4c\\x3e\\x23\\x9f\\x93\\xef\\x60\\x5e\\xda\\x41\\xb6\\x92\\x6d\\x64\\x15\\x58\\xfe\\x14\\xb9\\x95\\xec\\x26\\x3b\\xc9\\x2e\\xe8\\xaf\\x1f\\xc8\\x8f\\xe4\\x7a\\x48\\x40\\x72\\x60\\x3e\\x55\\x4e\\x99\\x47\\x1e\\x86\\xfe\\x99\\x8d\\x11\\xa5\\x08\\xfc\\xab\\x18\\xe6\\xdf\\xb9\\xe4\\x7b\\x32\\x0f\\x72\\xf3\\xf9\\x64\\x21\\x9c\\xcb\\x5e\\x49\\xde\\x20\\x8f\\x90\\x25\\x64\\x31\\x29\\x25\\x4b\\xc9\\x09\\xf2\\x13\\x79\\x8b\\x4a\\x6a\\x51\\x9b\\xba\\x68\\x1d\\x1a\\x40\\x2a\\x88\\x43\\xeb\\xd2\\x40\\x1a\\x44\\x83\\x49\\x25\\x25\\x34\\x84\\x86\\xd2\\x7a\\x94\\xd2\\x30\\x1a\\x4e\\xeb\\xd3\\x06\\x34\\x82\\x36\\xa4\\x91\\xb4\\x11\\x8d\\xa2\\x8d\\x69\\x34\\x6d\\x42\\x7e\\x23\\xbf\\x53\\x37\\x6d\\x4a\\x9b\\xd1\\xe6\\xb4\\x05\\xbd\\x8c\\xb6\\xa4\\xad\\x68\\x6b\\xda\\x86\\xb6\\xa5\\xed\\xe8\\xe5\\xb4\\x3d\\x8d\\xa1\\xb1\\xe4\\x0f\\xf2\\x05\\x8d\\xa3\\x1d\\xa8\\x87\\x7a\\x69\\x47\\x1a\\x4f\\x3b\\xd1\\x04\\xda\\x99\\x26\\xd2\\x2e\\xb4\\x2b\\xed\\x46\\xbb\\xd3\\x2b\\xc8\\x41\\x72\\x88\\xf6\\xa0\\x49\\x34\\x99\\xf6\\xa4\\xbd\\x68\\x0a\\x4d\\xa5\\x69\\xea\\x9b\\x9b\\xb4\\x2f\\xed\\x47\\xfb\\xd3\\x01\\x74\\x20\\x9c\\xc5\\xad\\xa6\\x83\\xe8\\x60\\x3a\\x84\\x0e\\xa5\\xc3\\xe8\\x70\\x3a\\x82\\x8e\\xa4\\xa3\\xe8\\x68\\xf2\\x27\\x29\\x27\\x87\\xc9\\x11\\x3a\\x86\\x8e\\xa5\\xe3\\xe8\\x78\\x3a\\x81\\xa6\\xd3\\x89\\x74\\x12\\x9d\\x4c\\x33\\xe8\\x14\\x9a\\x49\\xa7\\xd2\\x2c\\x3a\\x8d\\x4e\\xa7\\xd9\\x34\\x87\\xce\\xa0\\x33\\x69\\x2e\\x9d\\x45\\xde\\xa6\\x79\\x34\\x9f\\x16\\xd0\\xd9\\xe4\\x28\\x39\\x46\\x0b\\x69\\x11\\x2d\\xa6\\x25\\x74\\x0e\\x9d\\x4b\\xe7\\xd1\\xf9\\x74\\x01\\x5d\\x48\\xaf\\xa4\\x8b\\xe8\\x62\\xba\\x84\\x96\\xd2\\xa5\\xf4\\x2a\\x7a\\x35\\xbd\\x86\\x3c\\x49\\xaf\\xa5\\xd7\\xd1\\x65\\xb4\\x8c\\x5e\\x4f\\x6f\\xa0\\xcb\\xe9\\x8d\\xf4\\x26\\x7a\\x33\\x5d\\x41\\x6f\\xa1\\xb7\\xd2\\xdb\\xe8\\xed\\xf4\\x0e\\x7a\\x27\\xbd\\x8b\\xde\\x4d\\xef\\xa1\\xf7\\xd2\\xfb\\xe8\\xfd\\xf4\\x01\\xfa\\x20\\x7d\\x88\\xae\\xa4\\x0f\\xd3\\x47\\xe8\\xa3\\xf4\\x31\\xfa\\x38\\x7d\\x82\\x3e\\x49\\x9f\\xa2\\x4f\\xd3\\x67\\xe8\\xb3\\xf4\\x39\\xfa\\x3c\\x7d\\x81\\xbe\\x48\\x57\\xd1\\x97\\xe8\\x6a\\xfa\\x32\\x7d\\x85\\xae\\xa1\\xaf\\xd2\\xd7\\xe8\\xeb\\xf4\\x0d\\xfa\\x26\\x7d\\x8b\\xbe\\x4d\\xdf\\xa1\\xef\\xd2\\xf7\\xe8\\x5a\\xfa\\x3e\\x5d\\x47\\xd7\\xd3\\x0d\\x74\\x23\\xfd\\x80\\x7e\\x48\\x3f\\xa2\\x9b\\xe8\\xc7\\xf4\\x13\\xfa\\x29\\xdd\\x4c\\x3f\\xa3\\x9f\\xd3\\x2d\\x74\\x2b\\xdd\\x46\\xb7\\xd3\\x1d\\x74\\x27\\xdd\\x45\\x77\\xd3\\x2f\\xe8\\x1e\\xfa\\x25\\xfd\\x8a\\xee\\xa5\\x5f\\xd3\\x7d\\xf4\\x1b\\xba\\x9f\\x1e\\xa0\\xdf\\xd2\\x83\\xf4\\x10\\x3d\\x4c\\x8f\\xd0\\xa3\\xf4\\x18\\x3d\\x4e\\xbf\\xa3\\xdf\\xd3\\x1f\\xe8\\x09\\xfa\\x23\\xfd\\x89\\x9e\\xa4\\xa7\\xe8\\xcf\\xf4\\x34\\x3d\\x43\\xcf\\xd2\\x5f\\xe8\\x39\\xfa\\x2b\\xfd\\x8d\\xfe\\x4e\\xff\\xa0\\x7f\\xd2\\x72\\x5a\\x41\\x1d\\x5a\\xc9\\x08\\xa3\\x8c\\x31\\xce\\x04\\x33\\x98\\xc9\\x24\\xb3\\x98\\xcd\\x5c\\xac\\x0e\\x0b\\x60\\x75\\x59\\x20\\x0b\\x62\\xc1\\x2c\\x84\\x85\\xb2\\x7a\\x2c\\x8c\\x85\\xb3\\xfa\\xac\\x01\\x8b\\x60\\x0d\\x59\\x24\\x6b\\xc4\\xa2\\x58\\x63\\x16\\xcd\\x9a\\x30\\x37\\x6b\\xca\\x9a\\xb1\\xe6\\xac\\x05\\xbb\\x8c\\xb5\\x64\\xad\\x58\\x6b\\xd6\\x86\\xb5\\x65\\xed\\xd8\\xe5\\xac\\x3d\\x8b\\x61\\xb1\\x2c\\x8e\\x75\\x60\\x1e\\xe6\\x65\\x1d\\x59\\x3c\\xeb\\xc4\\x12\\x58\\x67\\x96\\xc8\\xba\\xb0\\xae\\xac\\x1b\\xeb\\xce\\xae\\x60\\x3d\\x58\\x12\\x4b\\x66\\x3d\\x59\\x2f\\x96\\xc2\\xd4\\xcb\\x26\\xbd\\x59\\x1f\\xd6\\x97\\xf5\\x63\\xfd\\xd9\\x00\\x36\\x90\\x0d\\x62\\x83\\xd9\\x10\\x36\\x94\\x0d\\x63\\xc3\\xd9\\x08\\x36\\x92\\x8d\\x62\\xa3\\xd9\\x18\\x36\\x96\\x8d\\x63\\xe3\\xd9\\x04\\x96\\xce\\x26\\xb2\\x49\\x6c\\x32\\xcb\\x60\\x53\\x58\\x26\\x9b\\xca\\xb2\\xd8\\x34\\x36\\x9d\\x65\\xb3\\x1c\\x36\\x83\\xcd\\x64\\xb9\\x6c\\x16\\xcb\\x63\\xf9\\xac\\x80\\xcd\\x66\\x85\\xac\\x88\\x15\\xb3\\x12\\x36\\x87\\xcd\\x65\\xf3\\xd8\\x7c\\xb6\\x80\\x2d\\x64\\x57\\xb2\\x45\\x6c\\x31\\x5b\\xc2\\x4a\\xd9\\x52\\x76\\x15\\xbb\\x9a\\x5d\\xc3\\xae\\x65\\xd7\\xb1\\x65\\xac\\x8c\\x5d\\xcf\\x6e\\x60\\xcb\\xd9\\x8d\\xec\\x26\\x76\\x33\\x5b\\xc1\\x6e\\x61\\xb7\\xb2\\xdb\\xd8\\xed\\xec\\x0e\\x76\\x27\\xbb\\x8b\\xdd\\xcd\\xee\\x61\\xf7\\xb2\\xfb\\xd8\\xfd\\xec\\x01\\xf6\\x20\\x7b\\x88\\xad\\x64\\x0f\\xb3\\x47\\xd8\\xa3\\xec\\x31\\xf6\\x38\\x7b\\x82\\x3d\\xc9\\x9e\\x62\\x4f\\xb3\\x67\\xd8\\xb3\\xec\\x39\\xf6\\x3c\\x7b\\x81\\xbd\\xc8\\x56\\xb1\\x97\\xd8\\x6a\\xf6\\x32\\x7b\\x85\\xad\\x61\\xaf\\xb2\\xd7\\xd8\\xeb\\x64\\x0f\\xf9\\x96\\xbd\\x41\\xbe\\x62\\x6f\\xb2\\xb7\\xd8\\xdb\\xec\\x1d\\xf6\\x2e\\x7b\\x8f\\xad\\x65\\xef\\xb3\\x75\\x6c\\x3d\\xdb\\xc0\\x36\\xb2\\x0f\\xd8\\x87\\x64\\x2f\\xf9\\x9a\\xec\\x23\\x07\\xc8\\x97\\x64\\x3f\\xfb\\x88\\x6d\\x62\\x1f\\xb3\\x4f\\xd8\\xa7\\x6c\\x33\\xfb\\x8c\\x7d\\xce\\xb6\\xb0\\xad\\x6c\\x1b\\xdb\\xce\\x76\\xb0\\x9d\\x6c\\x17\\xdb\\xcd\\xbe\\x60\\x7b\\xd8\\x97\\xec\\x2b\\xb6\\x97\\x7d\\xcd\\xf6\\xb1\\x6f\\xd8\\x7e\\x76\\x80\\x7d\\xcb\\x0e\\xb2\\x43\\xec\\x30\\x3b\\xc2\\x8e\\xb2\\x63\\xec\\x38\\xfb\\x8e\\x7d\\xcf\\x7e\\x60\\x27\\xd8\\x8f\\xec\\x27\\x76\\x92\\x9d\\x62\\x3f\\xb3\\xd3\\xec\\x0c\\x3b\\xcb\\x7e\\x61\\xe7\\xd8\\xaf\\xec\\x37\\xf6\\x3b\\xfb\\x83\\xfd\\xc9\\xca\\x59\\x05\\x73\\x58\\x25\\x57\\x2f\\xb8\\x30\\xce\\xb9\\xe0\\x6a\\x41\\x3a\\xc9\\x2d\\x6e\\x73\\x17\\xaf\\xc3\\x03\\x78\\x5d\\x1e\\xc8\\x83\\x78\\x30\\x0f\\xe1\\xa1\\xbc\\x1e\\x0f\\xe3\\xe1\\xbc\\x3e\\x6f\\xc0\\x23\\x78\\x43\\x1e\\xc9\\x1b\\xf1\\x28\\xde\\x98\\x47\\xf3\\x26\\xdc\\xcd\\x9b\\xf2\\x66\\xbc\\x39\\x6f\\xc1\\x2f\\xe3\\x2d\\x79\\x2b\\xde\\x9a\\xb7\\xe1\\x6d\\x79\\x3b\\x7e\\x39\\x6f\\xcf\\x63\\x78\\x2c\\x8f\\xe3\\x1d\\xb8\\x87\\x7b\\x79\\x47\\x1e\\xcf\\x3b\\xf1\\x04\\xde\\x99\\x27\\xf2\\x2e\\xbc\\x2b\\xef\\xc6\\xbb\\xf3\\x2b\\x78\\x0f\\x9e\\xc4\\x93\\x79\\x4f\\xde\\x8b\\xa7\\xf0\\x54\\xf5\\x64\\x0e\\xef\\xc3\\xfb\\xf2\\x7e\\xbc\\x3f\\x1f\\xc0\\x07\\xf2\\x41\\x7c\\x30\\x1f\\xc2\\x87\\xf2\\x61\\x7c\\x38\\x1f\\xc1\\x47\\xf2\\x51\\xea\\x39\\x0c\\x3e\\x96\\x8f\\xe3\\xe3\\xf9\\x04\\x9e\\xce\\x27\\xf2\\x49\\x7c\\x32\\xcf\\xe0\\x53\\x78\\x26\\x9f\\xca\\xb3\\xf8\\x34\\x3e\\x5d\\x3d\\x41\\xc0\\x67\\xf0\\x99\\x3c\\x97\\xcf\\x22\\x4f\\xf3\\x3c\\x9e\\xaf\\xee\\xa2\\xf3\\x42\\x5e\\xc4\\x8b\\x79\\x09\\x9f\\xc3\\xe7\\xaa\\x3b\\xd1\\x7c\\x01\\x5f\\xc8\\xaf\\xe4\\x8b\\xf8\\x62\\xbe\\x84\\x97\\x92\\x95\\x7c\\x29\\xbf\\x8a\\x5f\\xcd\\xaf\\xe1\\xd7\\xf2\\xeb\\xf8\\x32\\x5e\\xc6\\xaf\\xe7\\x37\\xf0\\xe5\\xfc\\x46\\x7e\\x13\\xbf\\x99\\xaf\\xe0\\xb7\\xf0\\x5b\\xf9\\x6d\\xe4\\x6e\\x7e\\x3b\\xbf\\x83\\xdf\\x49\\xee\\xe7\\x77\\xf1\\xbb\\xf9\\x3d\\xfc\\x5e\\x7e\\x1f\\xbf\\x9f\\x3f\\xc0\\x1f\\xe4\\x0f\\xf1\\x95\\xfc\\x61\\xfe\\x08\\x7f\\x94\\x3f\\xc6\\x1f\\xe7\\x4f\\xf0\\x27\\xf9\\x53\\xfc\\x69\\xfe\\x0c\\x7f\\x96\\x3f\\xc7\\x9f\\xe7\\x2f\\xf0\\x17\\xf9\\x2a\\xfe\\x12\\x5f\\xcd\\x5f\\xe6\\xaf\\xf0\\x35\\xfc\\x55\\xfe\\x1a\\x7f\\x9d\\xbf\\xc1\\xdf\\xe4\\x6f\\xf1\\xb7\\xf9\\x3b\\xfc\\x5d\\xfe\\x1e\\x5f\\xcb\\xdf\\xe7\\xeb\\xf8\\x7a\\xbe\\x41\\xdd\\x17\\xe5\\x1f\\xaa\\x7b\\x8c\\xfc\\x63\\xfe\\x09\\xff\\x94\\x6f\\xe6\\x9f\\xf1\\xcf\\xf9\\x16\\xbe\\x55\\xdd\\x1b\\xe3\\xea\\x5e\\xcb\\x2e\\xbe\\x9b\\x7f\\xc1\\xf7\\xf0\\x2f\\xf9\\x57\\x7c\\x2f\\xff\\x5a\\xdd\\x33\\xe0\\xfb\\xf9\\x01\\xfe\\x2d\\x3f\\xc8\\x0f\\xa9\\x2b\\xd8\\xea\\x1a\\x34\\x3f\\xce\\xbf\\xe3\\xdf\\xab\\x2b\\xbe\\xfc\\x47\\xfe\\x13\\x3f\\xc9\\x4f\\xf1\\x9f\\xf9\\x69\\x75\\x45\\x94\\xff\\xc2\\xcf\\xf1\\x5f\\xf9\\x6f\\xfc\\x77\\xfe\\x07\\xff\\x93\\x97\\xf3\\x0a\\xee\\xf0\\x4a\\x41\\x04\\x15\\x4c\\x70\\x21\\x84\\x21\\x4c\\x21\\x85\\x25\\x6c\\xe1\\x12\\x75\\x44\\x80\\xa8\\x2b\\x02\\x45\\x90\\x08\\x16\\x21\\x22\\x54\\xd4\\x13\\x61\\x22\\x5c\\xd4\\x17\\x0d\\x44\\x84\\x68\\x28\\x22\\x45\\x23\\x11\\x25\\x1a\\x8b\\x68\\xd1\\x44\\xb8\\x45\\x53\\xd1\\x4c\\x34\\x17\\x2d\\xc4\\x65\\xa2\\xa5\\x68\\x25\\x5a\\x8b\\x36\\xa2\\xad\\x68\\x27\\x2e\\x17\\xed\\x45\\x8c\\x88\\x15\\x71\\xa2\\x83\\xf0\\x08\\xaf\\xe8\\x28\\xe2\\x45\\x27\\x91\\x20\\x3a\\x8b\\x44\\xd1\\x45\\x74\\x15\\xdd\\x44\\x77\\x71\\x85\\xe8\\x21\\x92\\x44\\xb2\\xe8\\x29\\x7a\\x89\\x14\\x91\\x2a\\xd2\\x44\\x6f\\xd1\\x47\\xf4\\x15\\xfd\\x44\\x7f\\x31\\x40\\x0c\\x14\\x83\\xc4\\x60\\x31\\x44\\x0c\\x15\\xc3\\xc4\\x70\\x31\\x42\\x8c\\x14\\xa3\\xc4\\x68\\x31\\x46\\x8c\\x15\\xe3\\xc4\\x78\\x31\\x41\\xa4\\x8b\\x89\\x62\\x92\\x98\\x2c\\x32\\xc4\\x14\\x91\\x29\\xa6\\x8a\\x2c\\x31\\x4d\\x4c\\x17\\xd9\\x22\\x47\\xcc\\x10\\x33\\x45\\xae\\x98\\x25\\xf2\\x44\\xbe\\x28\\x10\\xb3\\x45\\xa1\\x28\\x12\\xc5\\xa2\\x44\\xcc\\x11\\x73\\xc5\\x3c\\x31\\x5f\\x2c\\x10\\x0b\\xc5\\x95\\x62\\x91\\x58\\x2c\\x96\\x88\\x52\\xb1\\x54\\x5c\\x25\\xae\\x16\\xd7\\x88\\x6b\\xc5\\x75\\x62\\x99\\x28\\x13\\xd7\\x8b\\x1b\\xc4\\x72\\x71\\xa3\\xb8\\x49\\xdc\\x2c\\x56\\x88\\x5b\\xc4\\xad\\xe2\\x36\\x71\\xbb\\xb8\\x43\\xdc\\x29\\xee\\x12\\x77\\x8b\\x7b\\xc4\\xbd\\xe2\\x3e\\x71\\xbf\\x78\\x40\\x3c\\x28\\x1e\\x12\\x2b\\xc5\\xc3\\xe2\\x11\\xf1\\xa8\\x78\\x4c\\x3c\\x2e\\x9e\\x10\\x4f\\x8a\\xa7\\xc4\\xd3\\xe2\\x19\\xf1\\xac\\x78\\x4e\\x3c\\x2f\\x5e\\x10\\x2f\\x8a\\x55\\xe2\\x25\\xb1\\x5a\\xbc\\x2c\\x5e\\x11\\x6b\\xc4\\xab\\xe2\\x35\\xf1\\xba\\x78\\x43\\xbc\\x29\\xde\\x12\\x6f\\x8b\\x77\\xc4\\xbb\\xe2\\x3d\\xb1\\x56\\xbc\\x2f\\xd6\\x89\\xf5\\x62\\x83\\xd8\\x28\\x3e\\x10\\x1f\\x8a\\x8f\\xc4\\x26\\xf1\\xb1\\xf8\\x44\\x7c\\x2a\\x36\\x8b\\xcf\\xc4\\xe7\\x62\\x8b\\xd8\\x2a\\xb6\\x89\\xed\\x62\\x87\\xd8\\x29\\x76\\x89\\xdd\\xe2\\x0b\\xb1\\x47\\x7c\\x29\\xbe\\x12\\x7b\\xc5\\xd7\\x62\\x9f\\xf8\\x46\\xec\\x17\\x07\\xc4\\xb7\\xe2\\xa0\\x38\\x24\\x0e\\x8b\\x23\\xe2\\xa8\\x38\\x26\\x8e\\x8b\\xef\\xc4\\xf7\\xe2\\x07\\x71\\x42\\xfc\\x28\\x7e\\x12\\x27\\xc5\\x29\\xf1\\xb3\\x38\\x2d\\xce\\x88\\xb3\\xe2\\x17\\x71\\x4e\\xfc\\x2a\\x7e\\x13\\xbf\\x8b\\x3f\\xc4\\x9f\\xa2\\x5c\\x54\\x08\\x47\\x54\\x1a\\xc4\\xa0\\x06\\x33\\xb8\\x21\\x0c\\xc3\\x30\\x0d\\x69\\x58\\x86\\x6d\\xb8\\x8c\\x3a\\x46\\x80\\x51\\xd7\\x08\\x34\\x82\\x8c\\x60\\x23\\xc4\\x08\\x35\\xea\\x19\\x61\\x46\\xb8\\x51\\xdf\\x68\\x60\\x44\\x18\\x0d\\x8d\\x48\\xa3\\x91\\x11\\x65\\x34\\x36\\xa2\\x8d\\x26\\x86\\xdb\\x68\\x6a\\x34\\x33\\x9a\\x1b\\x2d\\x8c\\xcb\\x8c\\x96\\x46\\x2b\\xa3\\xb5\\xd1\\xc6\\x68\\x6b\\xb4\\x33\\x2e\\x37\\xda\\x1b\\x31\\x46\\xac\\x11\\x67\\x74\\x30\\x3c\\x86\\xd7\\xe8\\x68\\xc4\\x1b\\x9d\\x8c\\x04\\xa3\\xb3\\x91\\x68\\x74\\x31\\xba\\x1a\\xdd\\x8c\\xee\\xc6\\x15\\x46\\x0f\\x23\\xc9\\x48\\x36\\x7a\\x1a\\xbd\\x8c\\x14\\x23\\xd5\\x48\\x33\\x7a\\x1b\\x7d\\x8c\\xbe\\x46\\x3f\\xa3\\xbf\\x31\\xc0\\x18\\x68\\x0c\\x32\\x06\\x1b\\x43\\x8c\\xa1\\xc6\\x30\\x63\\xb8\\x31\\xc2\\x18\\x69\\x8c\\x32\\x46\\x1b\\x63\\x8c\\xb1\\xc6\\x38\\x63\\xbc\\x31\\xc1\\x48\\x37\\x26\\x1a\\x93\\x8c\\xc9\\x46\\x86\\x31\\xc5\\xc8\\x34\\xa6\\x1a\\x59\\xc6\\x34\\x63\\xba\\x91\\x6d\\xe4\\x18\\x33\\x8c\\x99\\x46\\xae\\x31\\xcb\\xc8\\x33\\xf2\\x8d\\x02\\x63\\xb6\\x51\\x68\\x14\\x19\\xc5\\x46\\x89\\x31\\xc7\\x98\\x6b\\xcc\\x33\\xe6\\x1b\\x0b\\x8c\\x85\\xc6\\x95\\xc6\\x22\\x63\\xb1\\xb1\\xc4\\x28\\x35\\x96\\x1a\\x57\\x19\\x57\\x1b\\xd7\\x18\\xd7\\x1a\\xd7\\x19\\xcb\\x8c\\x32\\xe3\\x7a\\xe3\\x06\\x63\\xb9\\x71\\xa3\\x71\\x93\\x71\\xb3\\xb1\\xc2\\xb8\\xc5\\xb8\\xd5\\xb8\\xcd\\xb8\\xdd\\xb8\\xc3\\xb8\\xd3\\xb8\\xcb\\xb8\\xdb\\xb8\\xc7\\xb8\\xd7\\xb8\\xcf\\xb8\\xdf\\x78\\xc0\\x78\\xd0\\x78\\xc8\\x58\\x69\\x3c\\x6c\\x3c\\x62\\x3c\\x6a\\x3c\\x66\\x3c\\x6e\\x3c\\x61\\x3c\\x69\\x3c\\x65\\x3c\\x6d\\x3c\\x63\\x3c\\x6b\\x3c\\x67\\x3c\\x6f\\xbc\\x60\\xbc\\x68\\xac\\x32\\x5e\\x32\\x56\\x1b\\x2f\\x1b\\xaf\\x18\\x6b\\x8c\\x57\\x8d\\xd7\\x8c\\xd7\\x8d\\x37\\x8c\\x37\\x8d\\xb7\\x8c\\xb7\\x8d\\x77\\x8c\\x77\\x8d\\xf7\\x8c\\xb5\\xc6\\xfb\\xc6\\x3a\\x63\\xbd\\xb1\\xc1\\xd8\\x68\\x7c\\x60\\x7c\\x68\\x7c\\x64\\x6c\\x32\\x3e\\x36\\x3e\\x31\\x3e\\x35\\x36\\x1b\\x9f\\x19\\x9f\\x1b\\x5b\\x8c\\xad\\xc6\\x36\\x63\\xbb\\xb1\\xc3\\xd8\\x69\\xec\\x32\\x76\\x1b\\x5f\\x18\\x7b\\x8c\\x2f\\x8d\\xaf\\x8c\\xbd\\xc6\\xd7\\xc6\\x3e\\xe3\\x1b\\x63\\xbf\\x71\\xc0\\xf8\\xd6\\x38\\x68\\x1c\\x32\\x0e\\x1b\\x47\\x8c\\xa3\\xc6\\x31\\xe3\\xb8\\xf1\\x9d\\xf1\\xbd\\xf1\\x83\\x71\\xc2\\xf8\\xd1\\xf8\\xc9\\x38\\x69\\x9c\\x32\\x7e\\x36\\x4e\\x1b\\x67\\x8c\\xb3\\xc6\\x2f\\xc6\\x39\\xe3\\x57\\xe3\\x37\\xe3\\x77\\xe3\\x0f\\xe3\\x4f\\xa3\\xdc\\xa8\\x30\\x1c\\xa3\\xd2\\x24\\x26\\x35\\x99\\xa9\\x3e\\x90\\x60\\x98\\xa6\\x29\\x4d\\xcb\\xb4\\x4d\\x97\\x59\\xc7\\x0c\\x30\\xeb\\x9a\\x81\\x66\\x90\\x19\\x6c\\x86\\x98\\xa1\\x66\\x3d\\x33\\xcc\\x0c\\x37\\xeb\\x9b\\x0d\\xcc\\x08\\xb3\\xa1\\x19\\x69\\x36\\x32\\xa3\\xcc\\xc6\\x66\\xb4\\xd9\\xc4\\x74\\x9b\\x4d\\xcd\\x66\\x66\\x73\\xb3\\x85\\x79\\x99\\xd9\\xd2\\x6c\\x65\\xb6\\x36\\xdb\\x98\\x6d\\xcd\\x76\\xe6\\xe5\\x66\\x7b\\x33\\xc6\\x8c\\x35\\xe3\\xcc\\x0e\\xa6\\xc7\\xf4\\x9a\\x1d\\xcd\\x78\\xb3\\x93\\x99\\x60\\x76\\x36\\x13\\xcd\\x2e\\x66\\x57\\xb3\\x9b\\xd9\\xdd\\xbc\\xc2\\xec\\x61\\x26\\x99\\xc9\\x66\\x4f\\xb3\\x97\\x99\\x62\\xa6\\x9a\\x69\\x66\\x6f\\xb3\\x8f\\xd9\\xd7\\xec\\x67\\xf6\\x37\\x07\\x98\\x03\\xcd\\x41\\xe6\\x60\\x73\\x88\\x39\\xd4\\x1c\\x66\\x0e\\x37\\x47\\x98\\x23\\xcd\\x51\\xe6\\x68\\x73\\x8c\\x39\\xd6\\x1c\\x67\\x8e\\x37\\x27\\x98\\xe9\\xe6\\x44\\x73\\x92\\x39\\xd9\\xcc\\x30\\xa7\\x98\\x99\\xe6\\x54\\x33\\xcb\\x9c\\x66\\x4e\\x37\\xb3\\xcd\\x1c\\x73\\x86\\x39\\xd3\\xcc\\x35\\x67\\x99\\x79\\x66\\xbe\\x59\\x60\\xce\\x36\\x0b\\xcd\\x22\\xb3\\xd8\\x2c\\x31\\xe7\\x98\\x73\\xcd\\x79\\xe6\\x7c\\x73\\x81\\xb9\\xd0\\xbc\\xd2\\x5c\\x64\\x2e\\x36\\x97\\x98\\xa5\\xe6\\x52\\xf3\\x2a\\xf3\\x6a\\xf3\\x1a\\xf3\\x5a\\xf3\\x3a\\x73\\x99\\x59\\x66\\x5e\\x6f\\xde\\x60\\x2e\\x37\\x6f\\x34\\x6f\\x32\\x6f\\x36\\x57\\x98\\xb7\\x98\\xb7\\x9a\\xb7\\x99\\xb7\\x9b\\x77\\x98\\x77\\x9a\\x77\\x99\\x77\\x9b\\xf7\\x98\\xf7\\x9a\\xf7\\x99\\xf7\\x9b\\x0f\\x98\\x0f\\x9a\\x0f\\x99\\x2b\\xcd\\x87\\xcd\\x47\\xcc\\x47\\xcd\\xc7\\xcc\\xc7\\xcd\\x27\\xcc\\x27\\xcd\\xa7\\xcc\\xa7\\xcd\\x67\\xcc\\x67\\xcd\\xe7\\xcc\\xe7\\xcd\\x17\\xcc\\x17\\xcd\\x55\\xe6\\x4b\\xe6\\x6a\\xf3\\x65\\xf3\\x15\\x73\\x8d\\xf9\\xaa\\xf9\\x9a\\xf9\\xba\\xf9\\x86\\xf9\\xa6\\xf9\\x96\\xf9\\xb6\\xf9\\x8e\\xf9\\xae\\xf9\\x9e\\xb9\\xd6\\x7c\\xdf\\x5c\\x67\\xae\\x37\\x37\\x98\\x1b\\xcd\\x0f\\xcc\\x0f\\xcd\\x8f\\xcc\\x4d\\xe6\\xc7\\xe6\\x27\\xe6\\xa7\\xe6\\x66\\xf3\\x33\\xf3\\x73\\x73\\x8b\\xb9\\xd5\\xdc\\x66\\x6e\\x37\\x77\\x98\\x3b\\xcd\\x5d\\xe6\\x6e\\xf3\\x0b\\x73\\x8f\\xf9\\xa5\\xf9\\x95\\xb9\\xd7\\xfc\\xda\\xdc\\x67\\x7e\\x63\\xee\\x37\\x0f\\x98\\xdf\\x9a\\x07\\xcd\\x43\\xe6\\x61\\xf3\\x88\\x79\\xd4\\x3c\\x66\\x1e\\x37\\xbf\\x33\\xbf\\x37\\x7f\\x30\\x4f\\x98\\x3f\\x9a\\x3f\\x99\\x27\\xcd\\x53\\xe6\\xcf\\xe6\\x69\\xf3\\x8c\\x79\\xd6\\xfc\\xc5\\x3c\\x67\\xfe\\x6a\\xfe\\x66\\xfe\\x6e\\xfe\\x61\\xfe\\x69\\x96\\x9b\\x15\\xa6\\x63\\x56\\x4a\\x22\\xa9\\x64\\x92\\x4b\\x21\\x0d\\x69\\x4a\\x29\\x2d\\x69\\x4b\\x97\\xac\\x23\\x03\\x64\\x5d\\x19\\x28\\x83\\x64\\xb0\\x0c\\x91\\xa1\\xb2\\x9e\\x0c\\x93\\xe1\\xb2\\xbe\\x6c\\x20\\x23\\x64\\x43\\x19\\x29\\x1b\\xc9\\x28\\xd9\\x58\\x46\\xcb\\x26\\xd2\\x2d\\x9b\\xca\\x66\\xb2\\xb9\\x6c\\x21\\x2f\\x93\\x2d\\x65\\x2b\\xd9\\x5a\\xb6\\x91\\x6d\\x65\\x3b\\x79\\xb9\\x6c\\x2f\\x63\\x64\\xac\\x8c\\x93\\x1d\\xa4\\x47\\x7a\\x65\\x47\\x19\\x2f\\x3b\\xc9\\x04\\xd9\\x59\\x26\\xca\\x2e\\xb2\\xab\\xec\\x26\\xbb\\xcb\\x2b\\x64\\x0f\\x99\\x24\\x93\\x65\\x4f\\xd9\\x4b\\xa6\\xc8\\x54\\x99\\x26\\x7b\\xcb\\x3e\\xb2\\xaf\\xec\\x27\\xfb\\xcb\\x01\\x72\\xa0\\x1c\\x24\\x07\\xcb\\x21\\x72\\xa8\\x1c\\x26\\x87\\xcb\\x11\\x72\\xa4\\x1c\\x25\\x47\\xcb\\x31\\x72\\xac\\x1c\\x27\\xc7\\xcb\\x09\\x32\\x5d\\x4e\\x94\\x93\\xe4\\x64\\x99\\x21\\xa7\\xc8\\x4c\\x39\\x55\\x66\\xc9\\x69\\x72\\xba\\xcc\\x96\\x39\\x72\\x86\\x9c\\x29\\x73\\xe5\\x2c\\x99\\x27\\xf3\\x65\\x81\\x9c\\x2d\\x0b\\x65\\x91\\x2c\\x96\\x25\\x72\\x8e\\x9c\\x2b\\xe7\\xc9\\xf9\\x72\\x81\\x5c\\x28\\xaf\\x94\\x8b\\xe4\\x62\\xb9\\x44\\x96\\xca\\xa5\\xf2\\x2a\\x79\\xb5\\xbc\\x46\\x5e\\x2b\\xaf\\x93\\xcb\\x64\\x99\\xbc\\x5e\\xde\\x20\\x97\\xcb\\x1b\\xe5\\x4d\\xf2\\x66\\xb9\\x42\\xde\\x22\\x6f\\x95\\xb7\\xc9\\xdb\\xe5\\x1d\\xf2\\x4e\\x79\\x97\\xbc\\x5b\\xde\\x23\\xef\\x95\\xf7\\xc9\\xfb\\xe5\\x03\\xf2\\x41\\xf9\\x90\\x5c\\x29\\x1f\\x96\\x8f\\xc8\\x47\\xe5\\x63\\xf2\\x71\\xf9\\x84\\x7c\\x52\\x3e\\x25\\x9f\\x96\\xcf\\xc8\\x67\\xe5\\x73\\xf2\\x79\\xf9\\x82\\x7c\\x51\\xae\\x92\\x2f\\xc9\\xd5\\xf2\\x65\\xf9\\x8a\\x5c\\x23\\x5f\\x95\\xaf\\xc9\\xd7\\xe5\\x1b\\xf2\\x4d\\xf9\\x96\\x7c\\x5b\\xbe\\x23\\xdf\\x95\\xef\\xc9\\xb5\\xf2\\x7d\\xb9\\x4e\\xae\\x97\\x1b\\xe4\\x46\\xf9\\x81\\xfc\\x50\\x7e\\x24\\x37\\xc9\\x8f\\xe5\\x27\\xf2\\x53\\xb9\\x59\\x7e\\x26\\x3f\\x97\\x5b\\xe4\\x56\\xb9\\x4d\\x6e\\x97\\x3b\\xe4\\x4e\\xb9\\x4b\\xee\\x96\\x5f\\xc8\\x3d\\xf2\\x4b\\xf9\\x95\\xdc\\x2b\\xbf\\x96\\xfb\\xe4\\x37\\x72\\xbf\\x3c\\x20\\xbf\\x95\\x07\\xe5\\x21\\x79\\x58\\x1e\\x91\\x47\\xe5\\x31\\x79\\x5c\\x7e\\x27\\xbf\\x97\\x3f\\xc8\\x13\\xf2\\x47\\xf9\\x93\\x3c\\x29\\x4f\\xc9\\x9f\\xe5\\x69\\x79\\x46\\x9e\\x95\\xbf\\xc8\\x73\\xf2\\x57\\xf9\\x9b\\xfc\\x5d\\xfe\\x21\\xff\\x94\\xe5\\xb2\\x42\\x3a\\xb2\\xd2\\x22\\xe4\\x65\\xf2\\x8a\\x45\\x2d\\x66\\x71\\xf2\\x1a\\x79\\x9d\\x6c\\xb4\\x04\\x59\\x43\\x5e\\x25\\x1f\\x58\\x06\\xb9\\x8a\\xac\\x27\\xcb\\xc8\\x73\\x96\\x69\\x49\\xcb\\xb2\\x6c\\xcb\\x65\\xd5\\x21\\x1f\\x5a\\x01\\x56\\x5d\\x2b\\x90\\xbc\\x47\\xd6\\x5a\\x41\\x56\\x30\\x79\\xc7\\x0a\\xb1\\x42\\xad\\x7a\\x56\\x98\\x15\\x6e\\xd5\\xb7\\x1a\\x58\\x11\\x56\\x43\\x2b\\xd2\\x6a\\x64\\x45\\x59\\x8d\\xad\\x68\\xab\\x89\\xe5\\xb6\\x9a\\x5a\\xcd\\xac\\xe6\\x56\\x0b\\xf2\\xab\\x75\\x99\\xd5\\xd2\\x6a\\x65\\xb5\\xb6\\xda\\x58\\x6d\\xad\\x76\\xd6\\xe5\\x56\\x7b\\x2b\\xc6\\x8a\\xb5\\xe2\\xac\\x0e\\x96\\xc7\\xf2\\x5a\\x1d\\xad\\x78\\xab\\x93\\x95\\x60\\x75\\xb6\\x12\\xad\\x2e\\x56\\x57\\x72\\xa3\\xd5\\xcd\\xea\\x6e\\x5d\\x61\\xf5\\xb0\\x92\\xac\\x64\\xab\\xa7\\xd5\\xcb\\x4a\\xb1\\x52\\xad\\x34\\xab\\xb7\\xd5\\xc7\\xea\\x6b\\xf5\\xb3\\xfa\\x5b\\x03\\xac\\x81\\xe4\\x1e\\x6b\\x10\\xb9\\x8f\\xdc\\x4b\\x4e\\x5a\\x83\\xc9\\x06\\xf2\\x04\\xb9\\xcd\\x1a\\x62\\x0d\\x25\\x0f\\x90\\xa7\\xc8\\x0a\\x6b\\x18\\xb9\\x83\\xdc\\x69\\x0d\\xb7\\x46\\x58\\x23\\xad\\x51\\xd6\\x68\\x6b\\x8c\\x35\\xd6\\x1a\\x67\\x8d\\xb7\\x26\\x58\\xe9\\xd6\\x44\\x6b\\x92\\x35\\xd9\\xca\\xb0\\xa6\\x58\\x99\\xd6\\x54\\x2b\\xcb\\x9a\\x66\\x4d\\xb7\\xb2\\xad\\x1c\\x6b\\x86\\x35\\xd3\\xca\\xb5\\x66\\x59\\x79\\x56\\xbe\\x55\\x60\\xcd\\xb6\\x0a\\xad\\x22\\xab\\xd8\\x2a\\xb1\\xe6\\x58\\x73\\xad\\x79\\xd6\\x7c\\x6b\\x81\\xb5\\xd0\\xba\\xd2\\x5a\\x64\\x2d\\xb6\\x96\\x58\\xa5\\xd6\\x52\\xeb\\x2a\\xeb\\x6a\\xeb\\x1a\\xeb\\x5a\\xeb\\x3a\\x6b\\x99\\x55\\x66\\x5d\\x6f\\xdd\\x60\\x2d\\xb7\\x6e\\xb4\\x6e\\xb2\\x6e\\xb6\\x56\\x90\\x37\\xad\\x5b\\xac\\x5b\\xad\\xdb\\xac\\xdb\\xad\\x3b\\xac\\x3b\\xad\\xbb\\xac\\xbb\\xad\\x7b\\xac\\x7b\\xad\\xfb\\xac\\xfb\\xad\\x07\\xac\\x07\\xad\\x87\\xac\\x95\\xd6\\xc3\\xd6\\x23\\xd6\\xa3\\xd6\\x63\\xd6\\xe3\\xd6\\x13\\xd6\\x93\\xd6\\x53\\xd6\\xd3\\xd6\\x33\\xd6\\xb3\\xd6\\x73\\xd6\\xf3\\xd6\\x0b\\xd6\\x8b\\xd6\\x2a\\xeb\\x25\\x6b\\xb5\\xf5\\xb2\\xf5\\x8a\\xb5\\xc6\\x7a\\xd5\\x7a\\xcd\\x7a\\xdd\\x7a\\xc3\\x7a\\xd3\\x7a\\xcb\\x7a\\xdb\\x7a\\xc7\\x7a\\xd7\\x7a\\xcf\\x5a\\x6b\\xbd\\x6f\\xad\\xb3\\xd6\\x5b\\x1b\\xac\\x8d\\xd6\\x07\\xd6\\x87\\xd6\\x47\\xd6\\x26\\xeb\\x63\\xeb\\x13\\xeb\\x53\\x6b\\xb3\\xf5\\x99\\xf5\\xb9\\xb5\\xc5\\xda\\x6a\\x6d\\xb3\\xb6\\x5b\\x3b\\xac\\x9d\\xd6\\x2e\\x6b\\xb7\\xf5\\x85\\xb5\\xc7\\xfa\\xd2\\xfa\\xca\\xda\\x6b\\x7d\\x6d\\xed\\xb3\\xbe\\xb1\\xf6\\x5b\\x07\\xac\\x6f\\xad\\x83\\xd6\\x21\\xeb\\xb0\\x75\\xc4\\x3a\\x6a\\x1d\\xb3\\x8e\\x5b\\xdf\\x59\\xdf\\x5b\\x3f\\x58\\x27\\xac\\x1f\\xad\\x9f\\xac\\x93\\xd6\\x29\\xeb\\x67\\xeb\\xb4\\x75\\xc6\\x3a\\x6b\\xfd\\x62\\x9d\\xb3\\x7e\\xb5\\x7e\\xb3\\x7e\\xb7\\xfe\\xb0\\xfe\\xb4\\xca\\xad\\x0a\\xcb\\xb1\\x2a\\x6d\\x62\\x53\\x9b\\xd9\\xdc\\x16\\xb6\\x61\\x9b\\xb6\\xb4\\x2d\\xdb\\xb6\\x5d\\x76\\x1d\\x3b\\xc0\\xae\\x6b\\x07\\xda\\x41\\x76\\xb0\\x1d\\x62\\x87\\xda\\xf5\\xec\\x30\\x3b\\xdc\\xae\\x6f\\x37\\xb0\\x23\\xec\\x86\\x76\\xa4\\xdd\\xc8\\x8e\\xb2\\x1b\\xdb\\xd1\\x76\\x13\\xdb\\x6d\\x37\\xb5\\x9b\\xd9\\xcd\\xed\\x16\\xf6\\x65\\x76\\x4b\\xbb\\x95\\xdd\\xda\\x6e\\x63\\xb7\\xb5\\xdb\\xd9\\x97\\xdb\\xed\\xed\\x18\\x3b\\xd6\\x8e\\xb3\\x3b\\xd8\\x1e\\xdb\\x6b\\x77\\xb4\\xe3\\xed\\x4e\\x76\\x82\\xdd\\xd9\\x4e\\xb4\\xbb\\xd8\\x5d\\xed\\x6e\\x76\\x77\\xfb\\x0a\\xbb\\x87\\x9d\\x64\\x27\\xdb\\x3d\\xed\\x5e\\x76\\x8a\\x9d\\x6a\\xa7\\xd9\\xbd\\xed\\x3e\\x76\\x5f\\xbb\\x9f\\xdd\\xdf\\x1e\\x60\\x0f\\xb4\\x07\\xd9\\x83\\xed\\x21\\xf6\\x50\\x7b\\x98\\x3d\\xdc\\x1e\\x61\\x8f\\xb4\\x47\\xd9\\xa3\\xed\\x31\\xf6\\x58\\x7b\\x9c\\x3d\\xde\\x9e\\x60\\xa7\\xdb\\x13\\xed\\x49\\xf6\\x64\\x3b\\xc3\\x9e\\x62\\x67\\xda\\x53\\xed\\x2c\\x7b\\x9a\\x3d\\xdd\\xce\\xb6\\x73\\xec\\x19\\xf6\\x4c\\x3b\\xd7\\x9e\\x65\\xe7\\xd9\\xf9\\x76\\x81\\x3d\\xdb\\x2e\\xb4\\x8b\\xec\\x62\\xbb\\xc4\\x9e\\x63\\xcf\\xb5\\xe7\\xd9\\xf3\\xed\\x05\\xf6\\x42\\xfb\\x4a\\x7b\\x91\\xbd\\xd8\\x5e\\x62\\x97\\xda\\x4b\\xed\\xab\\xec\\xab\\xed\\x6b\\xec\\x6b\\xed\\xeb\\xec\\x65\\x76\\x99\\x7d\\xbd\\x7d\\x83\\xbd\\xdc\\xbe\\xd1\\xbe\\xc9\\xbe\\xd9\\x5e\\x61\\xdf\\x62\\xdf\\x6a\\xdf\\x66\\xdf\\x6e\\xdf\\x61\\xdf\\x69\\xdf\\x65\\xdf\\x6d\\xdf\\x63\\xdf\\x6b\\xdf\\x67\\xdf\\x6f\\x3f\\x60\\x3f\\x68\\x3f\\x64\\xaf\\xb4\\x1f\\xb6\\x1f\\xb1\\x1f\\xb5\\x1f\\xb3\\x1f\\xb7\\x9f\\xb0\\x9f\\xb4\\x9f\\xb2\\x9f\\xb6\\x9f\\xb1\\x9f\\xb5\\x9f\\xb3\\x9f\\xb7\\x5f\\xb0\\x5f\\xb4\\x57\\xd9\\x2f\\xd9\\xab\\xed\\x97\\xed\\x57\\xec\\x35\\xf6\\xab\\xf6\\x6b\\xf6\\xeb\\xf6\\x1b\\xf6\\x9b\\xf6\\x5b\\xf6\\xdb\\xf6\\x3b\\xf6\\xbb\\xf6\\x7b\\xf6\\x5a\\xfb\\x7d\\x7b\\x9d\\xbd\\xde\\xde\\x60\\x6f\\xb4\\x3f\\xb0\\x3f\\xb4\\x3f\\xb2\\x37\\xd9\\x1f\\xdb\\x9f\\xd8\\x9f\\xda\\x9b\\xed\\xcf\\xec\\xcf\\xed\\x2d\\xf6\\x56\\x7b\\x9b\\xbd\\xdd\\xde\\x61\\xef\\xb4\\x77\\xd9\\xbb\\xed\\x2f\\xec\\x3d\\xf6\\x97\\xf6\\x57\\xf6\\x5e\\xfb\\x6b\\x7b\\x9f\\xfd\\x8d\\xbd\\xdf\\x3e\\x60\\x7f\\x6b\\x1f\\xb4\\x0f\\xd9\\x87\\xed\\x23\\xf6\\x51\\xfb\\x98\\x7d\\xdc\\xfe\\xce\\xfe\\xde\\xfe\\xc1\\x3e\\x61\\xff\\x68\\xff\\x64\\x9f\\xb4\\x4f\\xd9\\x3f\\xdb\\xa7\\xed\\x33\\xf6\\x59\\xfb\\x17\\xfb\\x9c\\xfd\\xab\\xfd\\x9b\\xfd\\xbb\\xfd\\x87\\xfd\\xa7\\x5d\\x6e\\x57\\xd8\\x8e\\x5d\\xe9\\x22\\x2e\\xea\\x62\\x2e\\xee\\x12\\x2e\\xc3\\x65\\xba\\xa4\\xcb\\x72\\xd9\\x2e\\x97\\xab\\x8e\\x2b\\xc0\\x55\\xd7\\x15\\xe8\\x0a\\x72\\x05\\xbb\\x42\\x5c\\xa1\\xae\\x7a\\xae\\x30\\x57\\xb8\\xab\\xbe\\xab\\x81\\x2b\\xc2\\xd5\\xd0\\x15\\xe9\\x6a\\xe4\\x8a\\x72\\x35\\x76\\x45\\xcb\\x92\\xbc\\x9c\\xb8\\xb8\\xe4\\x38\\xbd\\x4d\\xb1\\xf3\\xe7\\x64\\x15\\x16\\x65\\xe6\\x17\\x66\\xf1\\x59\\x25\\x1d\\xcc\\x59\\x39\\x53\\xa7\\xe6\\x17\\xcb\\xe4\\x59\\xea\\x4a\\x73\\x9e\\xcc\\xf0\\x6d\\xcd\\xe4\\x29\\x85\\x59\\x73\\xb2\\xcc\\x0c\\xdc\\xc8\\xe4\\xfc\\xe9\\xf9\\x79\\x59\\x33\\x65\\x86\\x6f\\x5b\\xa7\\x57\\x66\\x4e\\x61\\x66\\xc9\\xac\\x69\\xb9\\x59\\xf3\\xea\\x64\\x9e\\x2f\\xbb\\x7a\\x01\\xa9\\x8c\\xcc\\xcc\\xac\\xbc\\x62\\x57\\x66\\x75\\xd1\\x4c\\xc9\\xcc\\x50\\x24\\xa7\\xfa\\x36\\x29\\x40\\x3f\\xa3\\x58\\xa6\\x6a\\x86\\x59\\x9a\\x61\\xaa\\x8f\\x61\\x16\\x6e\\x5c\\xa9\\xe7\\x09\\x65\\x55\\x17\\x65\\xaa\\x16\\x23\\xcb\\xb7\\x35\\x53\\x7d\\x14\\xb3\\x70\\x53\\xa7\\xb7\\x9f\\x50\\xd3\\xfd\\x84\\xea\\x7d\\x9e\\xd6\\xf4\\xea\\x62\\x40\\xef\\xcc\\xfc\\x59\\xb3\\x32\\xf4\\x8f\\xe9\\x7e\\x3f\\xea\\xf4\\xf1\\xa3\\x93\\x7d\\xbe\\x2c\\xfa\\x4c\\xc9\\x28\\x14\\xd9\\x00\\x66\\xdf\\xe2\\x9c\\xdc\\xa9\\x59\\x66\\x0e\\x6e\\x64\\x5f\\xad\\x49\\x8e\\xd6\\xa4\\xaf\\x4f\\x93\\x1c\\x9f\\xe9\\xfa\\x6a\\x99\\x73\\x7c\\x5b\\xd6\\xb7\\x1f\\xcb\\x99\\x51\\xa7\\x9f\\x1f\\x8f\\x19\\xe7\\xcb\\x01\\xfd\\xfd\\xa5\\x9a\\x59\\xe3\\xc7\\x74\\x75\\xe3\\x22\\x37\\x23\\x6f\\x6a\\x4e\\xa6\\x39\\x20\\x23\\xb3\\xa4\\x38\\xcb\\xcc\\xc5\\x4d\\xc0\\x00\\xff\\x76\\xb9\\x7e\\x3f\\xcc\\x01\\x3e\\x03\\xe5\\xe2\\x46\\x0c\\x00\\xed\\x45\\x2e\\x80\\x39\\xc8\\x77\\x7c\\x9e\\xef\\xf8\\x41\\xfe\\xc7\\xe7\\xf9\\x1f\\x3f\\xc8\\x77\\x7c\\x9e\\xcf\\xc0\\x79\\x19\\x05\\xf9\\x45\\xc5\\x85\\xf9\\x05\\xd9\\x59\\x3c\\x35\\x6f\\x3a\\xcf\\xca\\x9b\\x2e\\x07\\x6b\\xe5\\xf3\\xb5\\xf2\\x83\\x7d\\xca\\xe7\\xe3\\xa6\\xee\\xe0\\xec\\x92\\xbc\\xe9\\x19\\x85\\x25\\xb3\\x72\\x33\\x4a\\x8a\\xeb\\xe6\\xfb\\xff\\x32\\x87\\xf9\\x64\\x28\\xf4\\xc9\\x30\\xcc\\x5f\\x86\\x42\\x7f\\x19\\x86\\xf9\\x64\\x28\\xf4\\x6d\\x86\\xfb\\x8e\\x2a\\xc2\\x4d\\x9d\\xe1\\x7e\\x66\\x2c\\xf2\\x33\\xe3\\x08\\x7f\\x6a\\xc5\\xfe\\xd4\\x46\\xf8\\xc8\\x14\\xfb\\x2c\\x32\\x42\\x75\\x69\\xb1\\xea\\xd2\\x91\\xbe\\x2e\\x2d\\xf1\\x75\\xe9\\x48\\xad\\x55\\x89\\xd6\\x6a\\xa4\\x4f\\xab\\x12\\xdc\\x18\\x23\\x0b\\x73\\xf2\\xa6\\x1b\\x25\\x0a\\xeb\\x8e\\xac\\xa1\\x61\\x89\\xff\\x2f\\x39\\x52\\x77\\x7d\\x89\\x1e\\x35\\xa3\\xfd\\xa4\\x9d\\xeb\\x57\\x1e\\xeb\\x57\\x9e\\x7f\\xbe\\x6c\\x8e\\xf3\\xe9\\xba\\x00\\x37\\xae\\x71\\xe7\\xdd\\x78\\x41\\x75\\xd1\\xc8\\xcd\\xcf\\x9b\\x5e\\x84\\x43\\xbb\\x43\\xe7\\x38\\xbd\\xed\\xa0\\xb7\\x1e\\xbd\\xf5\\xea\\x6d\\x47\\xbd\\x8d\\xd7\\xdb\\x4e\\x7a\\x9b\\xa0\\xb7\\x9d\\xf5\\x36\\x51\\x6f\\x93\\xf5\\xb6\\xa7\\xde\\xf6\\xd2\\xdb\\x14\\xbd\\x4d\\xd5\\xdb\\x34\\xdf\\x36\\x51\\xf3\\x4f\\xd4\\xfc\\x13\\x35\\xdf\\x44\\xcd\\x37\\x51\\xf3\\x4d\\xd4\\x7c\\x13\\x35\\xdf\\x44\\xcd\\x37\\x51\\xf3\\x4d\\xd4\\x7c\\x13\\x35\\xdf\\x44\\xcd\\x37\\x51\\xf3\\x4d\\xd4\\x7c\\x13\\xd3\\x8c\\xc1\\xd9\\xf9\\x85\\x70\\xfa\\xa9\\xd0\\x57\\x97\\xac\\x75\\x4e\\xd6\\xbc\\x93\\x35\\xef\\x64\\xcd\\x3b\\x59\\xf3\\x4e\\xd6\\xbc\\x93\\x35\\xef\\x64\\xcd\\x3b\\x59\\xf3\\x4e\\xd6\\xbc\\x93\\x35\\xef\\x64\\xcd\\x3b\\x39\\xd5\\x18\\x89\\x3c\\x4b\\xce\\xf3\\xec\\xa9\\xf5\\xed\\xa9\\x79\\xf7\\xd4\\xbc\\x7b\\x6a\\xde\\x3d\\x35\\xef\\x9e\\x9a\\x77\\x4f\\xcd\\xbb\\xa7\\xe6\\xdd\\x53\\xf3\\xee\\xa9\\x79\\xf7\\xd4\\xbc\\x7b\\x6a\\xde\\x3d\\x35\\xef\\x9e\\x5a\\xef\\x9e\\xda\\xde\\xbd\\xb4\\xbd\\x7b\\x69\\xfe\\xbd\\x34\\xff\\x5e\\x9a\\x7f\\x2f\\xcd\\xbf\\x97\\xe6\\xdf\\x4b\\xf3\\xef\\xa5\\xf9\\xf7\\xd2\\xfc\\x7b\\x69\\xfe\\xbd\\x34\\xff\\x5e\\x9a\\x7f\\x2f\\xcd\\xbf\\x97\\xe6\\xdf\\x4b\\xf3\\xef\\xa5\\xf9\\xa7\\x68\\xfe\\x29\\x9a\\x7f\\x8a\\xe6\\x9f\\xa2\\xf9\\xa7\\x68\\xfe\\x29\\x9a\\x7f\\x8a\\xe6\\x9f\\xa2\\xf9\\xa7\\x68\\xfe\\x29\\x9a\\x7f\\x8a\\xe6\\x9f\\xa2\\xf9\\xa7\\x68\\xfe\\x29\\x9a\\x7f\\x8a\\xe6\\x9f\\xa2\\xf9\\xa7\\x6a\\xfe\\xa9\\x9a\\x7f\\xaa\\xe6\\x9f\\xaa\\xf9\\xa7\\x6a\\xfe\\xa9\\x9a\\x7f\\xaa\\xe6\\x9f\\xaa\\xf9\\xa7\\x6a\\xfe\\xa9\\x9a\\x7f\\xaa\\xe6\\x9f\\xaa\\xf9\\xa7\\x6a\\xfe\\xa9\\x9a\\x7f\\xaa\\xe6\\x9f\\xaa\\xf9\\xa7\\x69\\xfe\\x69\\x9a\\x7f\\x9a\\xe6\\x9f\\xa6\\xf9\\xa7\\x69\\xfe\\x69\\x9a\\x7f\\x9a\\xe6\\x9f\\xa6\\xf9\\xa7\\x69\\xfe\\x69\\x89\\xae\\x64\\x35\\x97\\xf8\\x86\\x79\\x46\\x75\\x51\\x26\\xa7\\xfa\\xb6\\x19\\x59\\xbe\\xd9\\x6e\\x70\\x51\\x6e\\x46\\x51\\xb6\\xaf\\x9c\\x7f\\xbe\\x8c\\x54\\x3c\\x71\\x71\\x7a\\xdb\\x41\\x6f\\x3d\\x7a\\xeb\\xd5\\xdb\\x8e\\x7a\\x1b\\xaf\\xb7\\x9d\\xf4\\x36\\x41\\x6f\\x3b\\xeb\\x6d\\xa2\\xde\\x26\\xeb\\x6d\\x4f\\xbd\\xed\\xa5\\xb7\\x29\\x7a\\x9b\\xaa\\xb7\\x3e\\x6b\\x78\\x3a\\x68\\xfe\\x1d\\x34\\xff\\x0e\\x9a\\x7f\\x07\\xcd\\xbf\\x83\\xe6\\xdf\\x41\\xf3\\xef\\xa0\\xf9\\x77\\x48\\x08\\x18\\xee\\x3f\\x5b\\x17\\xf9\\xfd\\xd0\\x2d\\xb4\\x24\\x1d\\xb4\\x24\\x1d\\xb4\\x24\\x1d\\xb4\\x24\\x1d\\xb4\\x24\\x1d\\xb4\\x24\\x1e\\x2d\\x89\\x47\\x4b\\xe2\\xd1\\x92\\x78\\xb4\\x24\\x1e\\x2d\\x89\\x47\\x4b\\xe2\\xd1\\x92\\x78\\xb4\\x25\\x3c\\xda\\x12\\x1e\\x6d\\x09\\x8f\\xe6\\xef\\xd1\\xfc\\x3d\\x9a\\xbf\\x47\\xf3\\xf7\\x68\\xfe\\x1e\\xcd\\xdf\\xab\\xf9\\x7b\\x35\\x7f\\xaf\\xe6\\xef\\xd5\\xfc\\xbd\\x9a\\xbf\\x57\\xf3\\xf7\\x76\\xb2\\x67\\xc4\\xc0\\x8c\\x9e\\x9b\\x55\\x54\\xa4\\x6b\\xb4\\x04\\x5e\\x2d\\x81\\x57\\x4b\\xe0\\xd5\\x12\\x78\\xb5\\x04\\x5e\\x2d\\x81\\x57\\x4b\\xe0\\xd5\\x12\\x74\\xd4\\x12\\x74\\xd4\\x12\\x74\\xd4\\x12\\x74\\xd4\\x12\\x74\\xd4\\x12\\x74\\xd4\\x12\\x74\\xd4\\x16\\xe8\\xa8\\x2d\\xd0\\x51\\xf3\\xef\\xa8\\xf9\\x77\\xd4\\xfc\\x3b\\x6a\\xfe\\x1d\\x35\\xff\\x8e\\x9a\\x7f\\x47\\xcd\\xbf\\xa3\\xe6\\x1f\\xaf\\xf9\\xc7\\x6b\\xfe\\xf1\\x9a\\x7f\\xbc\\xe6\\x1f\\xaf\\xf9\\xc7\\x6b\\xfe\\xf1\\x9a\\x7f\\xbc\\xe6\\x1f\\xaf\\xf9\\xc7\\x6b\\xfe\\xf1\\x9a\\x7f\\xbc\\xe6\\x1f\\xaf\\xf9\\xc7\\x6b\\xfe\\xf1\\x9a\\x7f\\xbc\\xe6\\xdf\\x49\\xf3\\xef\\xa4\\xf9\\x77\\xd2\\xfc\\x3b\\x69\\xfe\\x9d\\x34\\xff\\x4e\\x9a\\x7f\\x27\\xcd\\xbf\\x93\\xe6\\xdf\\x49\\xf3\\xef\\xa4\\xf9\\x77\\xd2\\xfc\\x3b\\x69\\xfe\\x9d\\x34\\xff\\x4e\\x9a\\x7f\\x27\\xcd\\xbf\\x93\\xe6\\x9f\\xa0\\xf9\\x27\\x68\\xfe\\x09\\x9a\\x7f\\x82\\xe6\\x9f\\xa0\\xf9\\x27\\x68\\xfe\\x09\\x9a\\x7f\\x82\\xe6\\x9f\\xa0\\xf9\\x27\\x68\\xfe\\x09\\x9a\\x7f\\x82\\xe6\\x9f\\xa0\\xf9\\x27\\x68\\xfe\\x09\\x9a\\x7f\\x82\\xe6\\xaf\\x33\\x01\\x8f\\xce\\x04\\x3c\\x3a\\x13\\xf0\\xe8\\x4c\\xc0\\xa3\\x33\\x01\\x8f\\xce\\x04\\x3c\\x3a\\x13\\xf0\\xe8\\x4c\\xc0\\xa3\\x33\\x01\\x8f\\xce\\x04\\x3c\\x3a\\x13\\xf0\\xe8\\x4c\\xc0\\xa3\\x33\\x01\\x8f\\xce\\x04\\x3c\\x3a\\x13\\xf0\\xe8\\x4c\\xc0\\xa3\\x33\\x01\\x8f\\xce\\x04\\x3c\\x89\\x9a\\xbf\\xce\\x08\\x3c\\x3a\\x23\\xf0\\xe8\\x8c\\xc0\\xa3\\x33\\x02\\x8f\\xce\\x08\\x3c\\x3a\\x23\\xf0\\xe8\\x8c\\xc0\\xa3\\x33\\x02\\x8f\\xce\\x08\\x3c\\x3a\\x23\\xf0\\xe8\\x8c\\xc0\\xa3\\x33\\x02\\x4f\\xa2\\xe6\\xaf\\x4f\\x76\\x3c\\xc9\\x9a\\xbf\\xce\\x0a\\x3c\\x3a\\x2b\\xf0\\xe8\\xac\\xc0\\xa3\\xb3\\x02\\x8f\\xce\\x0a\\x3c\\x3a\\x2b\\xf0\\xe8\\xac\\xc0\\xa3\\xb3\\x02\\x8f\\xce\\x0a\\x3c\\x3a\\x2b\\xf0\\xe8\\xac\\xc0\\xa3\\xb3\\x02\\x4f\\xb2\\xe6\\x9f\\xac\\xf9\\xf7\\xd4\\xfc\\x75\\x66\\xe0\\xd1\\x99\\x81\\x47\\x67\\x06\\x1e\\x9d\\x19\\x78\\x74\\x66\\xe0\\xd1\\x99\\x81\\x47\\x67\\x06\\x1e\\x9d\\x19\\x78\\x74\\x66\\xe0\\xd1\\x99\\x81\\x47\\x67\\x06\\x1e\\x9d\\x19\\x78\\x74\\x66\\xe0\\xd1\\x99\\x81\\x47\\x67\\x06\\x1e\\x9d\\x19\\x78\\x74\\x66\\xe0\\xd1\\x99\\x81\\x47\\x67\\x06\\x1e\\x9d\\x19\\x78\\x74\\x66\\xe0\\xd1\\x99\\x80\\x47\\x67\\x00\\x1e\\x9d\\x01\\x78\\x74\\x06\\xe0\\xd1\\x19\\x80\\x47\\x67\\x00\\x1e\\x9d\\x01\\x78\\x74\\x06\\xe0\\xd1\\x19\\x80\\x47\\x67\\x00\\x1e\\x9d\\x01\\x78\\x74\\x06\\xe0\\xd1\\x19\\x80\\x47\\x67\\x00\\x1e\\x9d\\x01\\x78\\x74\\x44\\xf7\\xe8\\x88\\xee\\xd1\\x11\\xdd\\xa3\\x23\\xba\\x47\\x47\\x74\\x8f\\x8e\\xe8\\x1e\\x1d\\xd1\\x3d\\x3a\\xa2\\x7b\\x74\\x44\\xf7\\xe8\\x88\\xee\\xd1\\x11\\xdd\\xa3\\x23\\xba\\x47\\x47\\x74\\x8f\\x8e\\xe8\\x1e\\x1d\\xd1\\x3d\\x3a\\xa2\\x7b\\x74\\x44\\xf7\\xe8\\x88\\xee\\xd1\\x11\\xdd\\xa3\\x23\\xba\\x47\\x47\\x74\\x8f\\x8e\\xe8\\x1e\\x1d\\xd1\\x3d\\x3a\\xa2\\x7b\\x74\\x44\\xf7\\xe8\\x88\\xee\\xd1\\x11\\xdd\\x93\\xa6\\xf9\\xa7\\x69\\xfe\\x69\\x9a\\x7f\\x9a\\xe6\\x9f\\xa6\\xf9\\xa7\\x69\\xfe\\x69\\x69\\xf6\\xf4\\xc2\\x8c\\x39\\x59\\x10\\xfa\\xa6\\xd8\\x18\\xd3\\x55\\x09\\xf7\\x79\\xe3\\x3c\\x36\\x9e\\x93\\xf8\\xd5\\x74\\xd4\\xdb\\x78\\xbd\\xed\\xa4\\xb7\\x09\\x7a\\xdb\\xb9\\x6e\\x76\\x7e\\xfe\\xcc\\x8c\\x29\\xf9\\x73\\xfc\\x8f\\x4a\\xd6\\xdb\\x9e\\x7a\\xdb\\x4b\\x6f\\x53\\xf4\\x36\\x55\\x6f\\x7d\\xb6\\xf0\\xea\\x78\\xee\\xd5\\xf1\\xdc\\xab\\xe3\\xb9\\x57\\xc7\\x73\\xaf\\x8e\\xe7\\x5e\\x1d\\xcf\\xbd\\x3a\\x9e\\x7b\\x3b\\x68\\x29\\x3a\\x74\\xd6\\xdb\\x44\\xbd\\xd5\\xfc\\x75\\x14\\xf7\\xea\\x28\\xee\\xd5\\x51\\xdc\\xab\\xa3\\xb8\\x57\\x47\\x71\\xaf\\x8e\\xe2\\x5e\\x1d\\xc5\\xbd\\x1e\\x4f\\x00\\xc4\\xc8\\x29\\x59\\xb9\\xf9\\x73\\xcf\\x2b\\xa5\\x43\\xb9\\x57\\x87\\x72\\xaf\\x0e\\xe5\\x5e\\x1d\\xca\\xbd\\x3a\\x94\\x7b\\x75\\x28\\xf7\\xea\\x50\\xee\\xd5\\xa1\\xdc\\xab\\x43\\xb9\\x57\\x87\\x72\\xaf\\x0e\\xe5\\x5e\\x1d\\xca\\xbd\\x3a\\x94\\x7b\\x75\\x28\\xf7\\xea\\x50\\xee\\xd5\\xa1\\xdc\\xab\\x43\\xb9\\x57\\x87\\x72\\xaf\\x57\\xf3\\xf7\\x6a\\xfe\\x3a\\x90\\x7b\\x75\\x20\\xf7\\xea\\x40\\xee\\xd5\\x81\\xdc\\xab\\x03\\xb9\\x57\\x07\\x72\\xaf\\x0e\\xe4\\x5e\\x1d\\xc8\\xbd\\x3a\\x90\\x7b\\x75\\x20\\xf7\\xea\\x40\\xee\\xd5\\x81\\xdc\\xab\\x03\\xb9\\x57\\x07\\x72\\xaf\\x0e\\xe4\\x5e\\x1d\\xc8\\xbd\\x3a\\x90\\x7b\\x75\\x20\\xf7\\xea\\x40\\xee\\xd5\\x81\\xdc\\xab\\x03\\xb9\\x57\\x07\\x72\\xaf\\x0e\\xe4\\x5e\\x1d\\xc8\\xbd\\x3a\\x90\\x7b\\x75\\x20\\xf7\\xea\\x40\\xee\\xd5\\x81\\xdc\\xab\\x03\\xb9\\x57\\x07\\x72\\xaf\\x0e\\xe4\\x5e\\x1d\\xc8\\xbd\\x3a\\x90\\x7b\\x75\\x20\\xf7\\xea\\x40\\xee\\xd5\\x81\\xdc\\xab\\x03\\xb9\\x57\\x07\\x72\\xaf\\x0e\\xe4\\x5e\\x1d\\xc8\\xbd\\x3a\\x90\\x7b\\x75\\x20\\xf7\\xea\\x40\\xee\\xd5\\x81\\xdc\\xab\\x03\\xb9\\x57\\x07\\x72\\xaf\\x0e\\xe4\\x5e\\x1d\\xc8\\xbd\\x3a\\x90\\x7b\\x75\\x20\\xf7\\xea\\x40\\xee\\xd5\\x81\\xdc\\xab\\x03\\xb9\\x57\\x07\\x72\\xaf\\x0e\\xe4\\x5e\\x1d\\xc8\\xbd\\x3a\\x50\\x7b\\x75\\xa0\\xf6\\xea\\x40\\xec\\xd5\\x81\\xd8\\xab\\x03\\xb1\\x57\\x07\\x62\\x6f\\x42\\xaa\\x51\\x9c\\x9f\\x97\\x5f\\x54\\x77\\x6a\\x4e\\xd6\\xff\\xc7\\xde\\xd7\\xc0\\xc9\\x51\\x5c\\xf9\\x55\\x77\\xf5\\xec\\xce\\xcc\\x7e\\x4a\\xc8\\x20\\x64\\xf1\\x11\\x87\\x70\\x80\\x65\\x45\\x3b\\x53\\xf3\\x85\\x39\\xc2\\x7e\\x74\\x19\\x30\\x06\\x05\\x03\\x16\\x9c\\x0e\\x34\\x92\\x46\\xda\\x81\\xdd\\x9d\\xd5\\x7e\\x68\\x05\\xc6\\x1c\\x71\\x88\\xe3\\x23\\xc8\\x70\\x44\\x21\\x0e\\x21\\x1c\\x47\\x14\\x21\\x64\\x87\\x38\\x3a\\x85\\x38\\xba\\x0d\\xc1\\x5f\\x20\\xdd\\xc9\\x02\\xb1\\x02\\x73\\x08\\x63\\x09\\x64\\x21\\x81\\x00\\x21\\x04\\x08\\x1d\\x68\\xf2\\xea\\xf5\\x7f\\x66\\x7a\\x7a\\x67\\xc5\\xca\\x1c\\x17\\x2e\\x89\\xf4\\xab\\x57\\x1f\\x5d\\xf5\\xfe\\xaf\\x5e\\x55\\xf7\\x7b\\xaf\\xbb\\x67\\x7b\\x20\\x37\\x98\\x1f\\xe4\\x5a\\xb4\\xbd\\xa7\\xbf\\x3b\\xcb\\xc5\\x48\\xb6\\xaf\\x30\\x94\\xeb\\xc9\\xe5\\xb3\\x8d\\x6e\\xff\\x60\\x9e\\xa2\\x77\\x6e\\x0e\\xbb\\x43\\x38\\x7e\\x51\\x01\\xa5\\xc6\\xcb\\x7a\\xf3\\xe6\\xde\\x83\\x57\\xb9\\xd2\\xd7\\x39\\x7a\\x59\\x6f\\x6e\\xa9\\xd7\\x69\\x4a\\x9e\\xba\\x57\\x61\\x85\\x18\\xcb\\xe9\\xc8\\x0d\\x65\\x43\\x5f\\xc9\\x92\\x27\\x5d\\x0f\\x1c\\xe7\\x1a\\x6a\\x92\\x84\\x13\\xba\\xa2\\x9b\\x4a\\x8e\\x01\\x0a\\x7d\\x35\\xdb\\xdf\\x9f\\xad\\xbb\\x24\\xdb\\xbb\\x70\\x71\\xd6\\xfe\\xda\\xb0\\x7d\\xe9\\xb0\\x3d\\x2f\\x5f\\x0f\\x64\\x7b\\x6e\\x5e\\x5e\\xde\\x5d\\x08\\x7d\\x3d\\xbf\\xb4\\x37\\x2b\\xaf\\xc8\\x0e\\xd7\\x43\\x0a\\x39\\xb7\\x3b\\x2f\\x3b\\x29\\xcd\\x1d\\xcc\\x37\\x5e\\xe4\\x93\\xa0\\x05\\x1d\\x4a\\xf5\\x68\\xb6\\x3c\\xf1\\xc6\\x9c\\x7f\\xba\\xb9\\xd2\\x74\\xf3\\xa5\\xe9\\x4e\\x1b\\xae\\x1e\\xea\\x4d\\x86\\xc7\\x3b\\x0b\\xcd\\x64\\x96\\x9a\\xc9\\x84\\x16\\xe7\\x7a\\x86\\xb2\\xf5\\xe0\\xe5\\xdc\\x64\\xa6\\x64\\x0e\\x0e\\xf1\\x94\\x0c\\xb3\\xd0\\x0d\\x3c\\xa5\\x1e\\x6f\\x4a\\x7d\\xc3\\xf6\\x8a\\x7c\\x7d\\xc1\\x9b\\x8f\\x1c\\xe8\\x2e\\xd4\\x0d\\x9a\\xc9\\xb4\\x85\\x38\\x93\\x43\\x34\\x27\\xe0\\xca\\x7e\\x9a\\xcf\\x22\\x4a\\x54\\x0d\\x15\\x8c\\x82\\x1b\\xfd\\xba\\x6d\\x09\\x88\\xd7\\x58\\xf0\\xaf\\xce\\xb0\\x7f\\x75\\x0a\\xe5\\xd5\\xf1\\xf6\\x04\\x8c\\x64\\x1c\\x46\\x32\\x0e\\x23\\x19\\x87\\x91\\x8c\\xc3\\x48\\xc6\\x61\\x24\\xe3\\x30\\x92\\x71\\x18\\xc9\\x38\\xc2\\xe4\\x38\\xc2\\xe4\\x38\\xc2\\xe4\\x38\\xc2\\xe4\\x38\\xc2\\xe4\\x38\\xc2\\xe4\\x38\\x8c\\x6a\\x1c\\x46\\x35\\x0e\\xa3\\x1a\\x87\\x51\\x8d\\xc3\\xa8\\xc6\\x61\\x54\\xe3\\x30\\xaa\\x71\\x18\\xd5\\x38\\x8c\\x6a\\x1c\\x46\\x35\\x0e\\xa3\\x1a\\x87\\x51\\x8d\\xc3\\xa8\\xc6\\x61\\x54\\xe3\\x30\\xaa\\x71\\x18\\xd5\\x38\\x8c\\x6a\\x1c\\x46\\x35\\x0e\\xa3\\x1a\\x87\\x51\\x8d\\xc3\\xa8\\xc6\\x61\\x54\\xe3\\x30\\xaa\\x71\\x18\\xd5\\x38\\x8c\\x6a\\x1c\\x46\\x35\\x0e\\xa3\\x1a\\x87\\x51\\x8d\\xc3\\xa8\\xc6\\x61\\x54\\xe3\\x30\\xaa\\x71\\x18\\xd5\\x38\\x8c\\x6a\\x5c\\x7b\\xf8\\x0a\\x81\\xb1\\x42\\x60\\xac\\x10\\x18\\x2b\\x04\\xc6\\x0a\\xe6\\x54\\xc1\\x9c\\x2a\\x98\\x53\\x05\\x73\\xaa\\x10\\x18\\x2b\\x04\\xc6\\x0a\\x86\\x54\\xc1\\x90\\x2a\\x18\\x52\\x05\\x43\\xaa\\x60\\x48\\x15\\x0c\\xa9\\x82\\x21\\x55\\x30\\xa4\\x0a\\x86\\x54\\xc1\\x90\\x2a\\x18\\x52\\x05\\x43\\xaa\\x60\\x48\\x15\\x0c\\xa9\\x82\\x21\\x55\\x30\\xa4\\x0a\\x86\\x54\\xc1\\x90\\x2a\\x18\\x52\\x05\\x43\\xaa\\x60\\x48\\x15\\x0c\\xa9\\x82\\x21\\x55\\x30\\xa4\\x0a\\xe1\\xb0\\x42\\x38\\xac\\x60\\x43\\x15\\x6c\\xa8\\x82\\x0d\\x55\\xb0\\xa1\\x0a\\x36\\x54\\xc1\\x86\\x2a\\xd8\\x50\\x05\\x1b\\xaa\\x60\\x43\\x15\\x6c\\xa8\\x82\\x0d\\x55\\xb0\\xa1\\x0a\\x36\\x54\\xc1\\x86\\x2a\\xd8\\x50\\x05\\x1b\\xaa\\x60\\x43\\x15\\x6c\\xa8\\x82\\x0d\\x55\\xb0\\xa1\\x0a\\x36\\x54\\xc1\\x86\\x2a\\xd8\\x50\\x05\\x1b\\xaa\\x60\\x43\\x15\\x6c\\xa8\\x82\\x0d\\x55\\xb0\\xa1\\x0a\\x36\\x54\\xc1\\x86\\x2a\\xd8\\x50\\x05\\x1b\\xaa\\x60\\x43\\x15\\x6c\\xa8\\x82\\x0d\\x55\\xb0\\xa1\\x0a\\x36\\x54\\xc1\\x86\\x2a\\xd8\\x50\\x05\\x1b\\xaa\\x60\\x43\\x15\\x6c\\xa8\\x82\\x0d\\x55\\xb0\\xa1\\x0a\\x36\\x54\\xc1\\x86\\x2a\\xd8\\x50\\x05\\x1b\\xaa\\x60\\x43\\x15\\x6c\\xa8\\x82\\x0d\\x55\\xb0\\xa1\\x0a\\x36\\x54\\xc1\\x86\\x2a\\xd8\\x50\\x05\\x1b\\xaa\\x60\\x43\\x15\\x6c\\xa8\\x82\\x0d\\x55\\xb0\\xa1\\x0a\\x36\\x54\\xc1\\x86\\x2a\\xd8\\x50\\x05\\x1b\\xaa\\x60\\x43\\x15\\x6c\\xa8\\x82\\x0d\\x55\\xb0\\xa1\\x0a\\x36\\x54\\xc1\\x86\\x2a\\xd8\\x50\\x05\\x1b\\xaa\\x60\\x43\\x15\\x6c\\xa8\\x82\\x0d\\x55\\xb0\\xa1\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\x36\\x56\\xc1\\xc6\\x2a\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\xd8\\x60\\x05\\x1b\\xac\\x60\\x83\\x15\\x6c\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\x42\\x30\\xac\\x10\\x0c\\x2b\\x04\\xc3\\x0a\\xc1\\xb0\\xc2\\x6d\\x72\\x85\\xdb\\xe4\\x0a\\xc1\\xb1\\xc2\\x6d\\x72\\x85\\x20\\x59\\x21\\x48\\x56\\x08\\x92\\x15\\x82\\x64\\x85\\x20\\x59\\x21\\x48\\x56\\xb0\\xff\\x0a\\xf6\\x5f\\xc1\\xfe\\x2b\\xd8\\x7f\\x05\\xfb\\xaf\\x60\\xff\\x15\\xec\\xbf\\x82\\xfd\\x57\\x5d\\xe9\\x48\\x76\\x49\\x3e\\xdf\\x36\\x27\\x5d\\xba\\x32\\xc1\\x03\\x50\\xf0\\x00\\x14\\x3c\\x00\\x05\\x0f\\x40\\xc1\\x03\\x50\\xf0\\x00\\x14\\x3c\\x00\\x05\\x0f\\x40\\xc1\\x03\\x50\\xf0\\x00\\x14\\x3c\\x00\\x05\\x0f\\x40\\xc1\\x03\\x50\\xf0\\x00\\x14\\x3c\\x00\\x05\\x0f\\x40\\xc1\\x03\\x50\\xf0\\x00\\x14\\x3c\\x00\\x05\\x0f\\x40\\xc1\\x03\\x50\\xf0\\x00\\x14\\x3c\\x00\\x05\\x0f\\x40\\xc1\\x03\\x50\\xf0\\x00\\x14\\x3c\\x00\\x05\\x0f\\x40\\xc1\\x03\\x50\\xf0\\x00\\x14\\x3c\\x00\\x05\\x0f\\x40\\xc1\\x03\\x50\\xf0\\x00\\x14\\x3c\\x00\\x05\\x0f\\x40\\xc1\\x03\\x50\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xf0\\x00\\x12\\xb0\\xe8\\x09\\x58\\xf4\\x04\\x2c\\x7a\\x02\\x16\\x3d\\x81\\x2b\\x47\\x02\\x57\\x8e\\x04\\xae\\x1c\\x09\\x5c\\x39\\x12\\xb8\\x72\\x24\\x70\\xe5\\x48\\xe0\\xca\\x91\\xc0\\x95\\x23\\x81\\x2b\\x47\\x02\\x57\\x8e\\x04\\xae\\x1c\\x09\\x5c\\x39\\x12\\x99\\x12\\x0e\\xe4\\xc6\\x95\\x23\\x81\\x2b\\x47\\x02\\x57\\x8e\\x04\\xae\\x1c\\x09\\x5c\\x39\\x12\\xb8\\x72\\x24\\x70\\xe5\\x48\\xe0\\xca\\x91\\xc0\\x95\\x23\\x81\\x2b\\x47\\x02\\x57\\x8e\\x04\\xae\\x1c\\x09\\x5c\\x39\\x12\\xb8\\x72\\x24\\x70\\xe5\\x48\\xe0\\xca\\x91\\x68\\xd7\\xa1\\xc1\\xee\\xdc\\xf2\\x6c\\x94\\x62\\x87\\xec\\x92\\xc1\\xdc\\xd2\\x42\\x8f\\x57\\xec\\x27\\xd2\\xdd\\xc0\\xc5\\x65\\xd9\\xde\\xec\\xd0\\x60\\xa8\\x3b\\x3f\\x90\\x5f\\x16\\x1a\\x1a\\x24\\xaf\\x3c\\xc4\\x1d\\x43\\xdc\\xa7\\xae\\x74\\xb8\\x40\\x81\\x80\\xc7\\xb4\\xa3\\xbd\\x6e\\xd9\\xf0\\xc2\\xe1\\xa1\\xc1\\xba\\xc5\\xd9\\xa5\\xb9\\xc1\\xee\\x50\\x6f\\x6e\\x28\\xb7\\x34\\xd4\\x9b\\x5d\\x96\\x5d\\xe2\\x0c\\x64\\x97\\xe4\\x68\\xe4\\x60\\x6e\\x59\\xbd\\xf9\\xf1\\xa1\\x79\\x44\\x3e\\xc8\\x59\\x78\\xb0\\x40\\xa8\\x83\\xc3\\xcb\\x22\\xc3\\xfd\\xfd\\xb9\\x81\\xeb\\x4c\\x53\\x4f\\x61\\x24\\x37\\x60\\xde\\x99\\x60\\xbe\\x9d\\xc9\\x06\\x0f\\x6c\\x19\\x01\\xf7\\x39\\xd9\\x9e\\xdc\\x12\\x49\\x01\\x4b\\x68\\x69\\xbe\\x37\\xd7\\x13\\x5a\\x4c\\xf5\\x21\\xbb\\x3b\\x27\\x97\\x67\\x97\\x87\\x6e\\xca\\xde\\x98\\xef\\x93\\x14\\xaa\\xc8\\x21\\x4a\\x37\\x16\\x16\\x87\\x97\\xe4\\xfb\\xb2\\x3d\\x37\\x64\\x97\\x48\\x4a\\x21\\x12\\x35\\x87\\xa6\\xde\\x5c\\xaf\\xa4\\xe4\\x55\\xfa\\x86\\xfb\\x24\\xa5\\xba\\x41\\x3a\\x7e\\x43\\xb7\\x63\\x98\\xd4\\xf3\\x81\\xfe\\x9c\\xdd\\x9f\\x8b\\x72\\x71\\x68\\x90\\x42\\x95\\x10\\x53\\xb9\\xac\\x40\\x13\\xa2\\x19\\x3a\\x66\\x2a\\x14\\xe3\\x2c\\xaf\\x23\\xf0\\xe5\\x5e\\x46\\xa0\\x75\\x94\\x4c\\xb6\\xd4\\x44\\x32\\xdd\\x11\\xca\\x06\\xbb\\x89\\x27\\xab\\xa9\\xad\\xcb\\x3b\\x57\\x28\\x6f\\x43\\x1e\\x43\\x1e\\x47\\xae\\x90\\x27\\x90\\x27\\x91\\xa7\\x90\\xa7\\x91\\x67\\x90\\xb7\\x23\\xef\\x40\\xde\\x89\\xbc\\x0b\\xb9\\x8b\\x5c\\x7b\\x79\\x1b\\xf0\\xdb\\x80\\xdf\\x06\\xfc\\x36\\xe0\\xb7\\x01\\xbf\\x0d\\xf8\\x6d\\xc0\\x6f\\x03\\x7e\\x1b\\xf0\\xdb\\x80\\xdf\\x06\\xfc\\x36\\xe0\\xb7\\x01\\xbf\\x0d\\xf8\\x6d\\xc0\\x6f\\x03\\x7e\\x0c\\xf8\\x31\\xe0\\xc7\\x80\\x1f\\x03\\x7e\\x0c\\xf8\\x31\\xe0\\xc7\\x80\\x1f\\x03\\x7e\\x0c\\xf8\\x31\\xe0\\xc7\\x80\\x1f\\x03\\x7e\\x0c\\xf8\\x31\\xe0\\xc7\\x80\\x1f\\x03\\x7e\\x1c\\xf8\\x71\\xe0\\xc7\\x81\\x1f\\x07\\x7e\\x1c\\xf8\\x71\\xe0\\xc7\\x81\\x1f\\x07\\x7e\\x1c\\xf8\\x71\\xe0\\xc7\\x81\\x1f\\x07\\x7e\\x1c\\xf8\\x71\\xe0\\xc7\\x81\\x1f\\x07\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\xbe\\x02\\x7e\\x02\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\x7e\\x02\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\x7e\\x02\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\x7e\\x02\\xf8\\x09\\xe0\\x27\\x80\\x9f\\x00\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x12\\xf8\\x49\\xe0\\x27\\x81\\x9f\\x04\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x0a\\xf8\\x29\\xe0\\xa7\\x80\\x9f\\x02\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x3b\\xf0\\xdb\\x81\\xdf\\x0e\\xfc\\x76\\xe0\\xb7\\x03\\xbf\\x1d\\xf8\\xed\\xc0\\x6f\\x07\\x7e\\x3b\\xf0\\xdb\\x81\\xdf\\x0e\\xfc\\x76\\xe0\\xb7\\x03\\xbf\\x1d\\xf8\\xed\\xc0\\x6f\\x07\\x7e\\x07\\xf0\\x3b\\x80\\xdf\\x01\\xfc\\x0e\\xe0\\x77\\x00\\xbf\\x03\\xf8\\x1d\\xc0\\xef\\x00\\x7e\\x07\\xf0\\x3b\\x80\\xdf\\x01\\xfc\\x0e\\xe0\\x77\\x00\\xbf\\x03\\xf8\\x1d\\xc0\\xef\\x00\\x7e\\x27\\xf0\\x3b\\x81\\xdf\\x09\\xfc\\x4e\\xe0\\x77\\x02\\xbf\\x13\\xf8\\x9d\\xc0\\xef\\x04\\x7e\\x27\\xf0\\x3b\\x81\\xdf\\x09\\x7c\\x0d\\x1c\\xcf\\x27\\x6b\\x73\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x85\\x9d\\x71\\x61\\x67\\x5c\\xd8\\x19\\x17\\x76\\xc6\\x4d\\xe9\\xba\\x6f\\xf0\\xb3\\xce\\xba\\x11\\x2f\\xfb\\x86\\xf7\\x92\\xe3\\x08\\x67\\x91\\x6f\\x94\\x6e\\xb0\\x47\\x46\\x4a\\x25\\x6f\\x1c\\xec\\x8c\\x0b\\x3b\\xe3\\xc2\\xce\\xb8\\xb0\\x33\\x2e\\xec\\x8c\\x0b\\x3b\\xe3\\xc2\\xce\\xb8\\xb0\\x33\\x2e\\xec\\x8c\\x0b\\x3b\\xe3\\xc2\\xce\\xb8\\xb0\\x33\\x2e\\xec\\x8c\\x0b\\x3b\\xe3\\xc2\\xce\\xb8\\xb0\\x33\\x2e\\xec\\x8c\\x0b\\x3b\\xe3\\xc2\\xce\\xb8\\xb0\\x33\\x2e\\xec\\x8c\\x0b\\x3b\\xe3\\x66\\xdc\\x48\\x7b\\xe9\\x79\\x65\\x24\\x5b\\x2a\\x45\\xdb\\xcb\\x4f\\x66\\xa3\\xd9\\x72\\xb1\\xb5\\xbd\\xf2\\xd2\\x27\\xab\\xa1\\x35\\x1b\\x6c\\xf0\\xf5\\x60\\xb5\\xf9\\x7b\\x70\\xc3\\x34\\x5f\\x8f\\x32\\xe3\\x69\\xd9\\x1a\\x8d\\x7e\\x5e\\xfc\\x64\\xd9\\xcf\\x8b\\x1b\\x4e\\xf0\\xf5\\x28\\x49\\x7e\\x42\\x76\\x7c\\x5b\\x83\\xf7\\x92\\xb8\\xf7\\x42\\x5a\\xd6\\x57\\xf6\\xda\\x59\\x2e\\xb4\\x73\\xb9\\xc5\\x6b\\x2f\\x4b\\xd2\\x92\\xad\\xae\\x63\\x1c\\xcb\\x80\\x71\\x5c\\x6e\\xf6\\xda\\x4b\\xb0\\xcd\\xd9\\xaa\\x6a\\xc4\\x2d\\x97\\xca\\x6d\\x51\\xb7\\xa2\\xe7\\x0a\\xff\\x3a\\xd7\\x7b\\xc9\\xd7\\xe3\\xda\\xea\\x06\\x95\\x9c\\x0b\\x36\\xb8\\x41\\xad\\xe7\\x82\\x5a\\x77\\x6b\\x69\\x3d\\x57\\x4b\\xeb\\x6e\\x50\\xeb\\xb9\\xa0\\xd6\\xdd\\x1a\\x5a\\xcf\\x8d\\x6f\\x8b\\x5e\\x54\\x99\\x5b\\xbe\\x5c\\x8c\\x5c\\x54\\xd6\\x42\\xbe\\x5c\\xba\\xac\\x5c\\x2a\\x94\\x47\\x5f\\x56\\x19\\x5d\\xa8\\x48\\x77\\x59\\x70\\xea\\x85\\x60\\xc3\\x65\\x41\\x5d\\x14\\x82\\xba\\xb8\\xac\\x96\\x2e\\x0a\\xb5\\x74\\x71\\x59\\x50\\x17\\x85\\xa0\\x2e\\x2e\\xab\\xa1\\x8b\\x42\\x0d\\x5d\\xf0\\x0b\\xc0\\xde\\x8b\\x93\\x85\\x4a\\x91\\x5b\\x59\\x28\\xaf\\x95\\x8b\\xcd\\xdc\\x5a\\x16\\xa2\\xb9\\x50\\x55\\xf5\\xc6\\x30\\xb8\\x37\\x86\\x8b\\x4d\\xdc\\x5a\\x42\\x6b\\x2a\\xf8\\x6b\\x91\\x2b\\xcb\\xa5\\xe1\\xb2\\x3c\\x57\\x56\\x18\\x0e\\x57\\x8a\\x57\\x56\\x44\\x1b\\xae\\x14\\xaf\\xac\\x48\\x39\\x5c\\x91\\xf2\\xca\\x6a\\x29\\x87\\xab\\xa5\\xbc\\xb2\\x22\\xe5\\x70\\x45\\xca\\x2b\\xab\\xa4\\x1c\\xf6\\xd7\\xea\\xae\\xf6\\x2e\\xb3\\x37\\x72\\x16\\xb9\\xba\\x2c\\xf3\\x8d\\x65\\x99\\xaf\\xae\\xb0\\xbf\\xb1\\x72\\xae\\x5c\\xed\\x9d\\x2b\\x37\\x7a\\x2f\\xc4\\x9b\\x6b\\x9a\\x86\\xcf\\xa6\\xe1\\xb3\\x69\\xf8\\x6c\\x1a\\x3e\\x9b\\x86\\xcf\\xa6\\xe1\\xb3\\x69\\xf8\\x6c\\x1a\\x3e\\x9b\\x86\\xcf\\xa6\\xe1\\xb3\\x69\\xf8\\x6c\\x1a\\x3e\\x9b\\x86\\xcf\\xa6\\xe1\\xb3\\x69\\xf8\\x6c\\x1a\\x3e\\x9b\\x86\\xcf\\xa6\\xe1\\xb3\\x69\\xf8\\x6c\\x1a\\x3e\\x9b\\x86\\xcf\\xa6\\xe1\\xb3\\x69\\xf8\\x68\\x1a\\x3e\\x9a\\x86\\x8f\\xa6\\xe1\\xa3\\x69\\xf8\\x68\\x1a\\x3e\\x9a\\x86\\x4f\\xa6\\xe1\\x93\\x69\\xf8\\x64\\x1a\\x3e\\x99\\x86\\x4f\\xa6\\xe1\\x93\\x69\\xf8\\x64\\x1a\\x3e\\x99\\x86\\x4f\\xa6\\xe1\\x93\\x69\\xf8\\x64\\x1a\\x3e\\x99\\x86\\x4f\\xa6\\x63\\x25\\x3c\\xcc\\x0f\\x3e\\x99\\x86\\x4f\\xa6\\xe1\\x93\\x69\\xf8\\x64\\x1a\\x3e\\x99\\x86\\x4f\\xa6\\xe1\\x93\\x69\\xf8\\x64\\x1a\\x3e\\x99\\x86\\x4f\\xa6\\xe1\\x93\\x69\\xf8\\x64\\x1a\\x3e\\x99\\x86\\x4f\\xa6\\xe1\\x93\\x69\\xf8\\x64\\x1a\\x3e\\x99\\x86\\x4f\\xa6\\xe1\\x93\\x69\\xf8\\x64\\x1a\\x3e\\x99\\x86\\x4f\\xa6\\xe1\\x93\\x69\\xf8\\x60\\x1a\\x3e\\x98\\x86\\x0f\\xa6\\xe1\\x83\\x69\\xf8\\x60\\x1a\\x3e\\x98\\x86\\xcf\\xa5\\xe1\\x73\\x69\\xf8\\x5c\\x1a\\x3e\\x97\\x86\\xcf\\xa5\\xe1\\x73\\x69\\xf8\\x5c\\x1a\\x3e\\x97\\x86\\xaf\\xa5\\xe1\\x63\\xe9\\x44\\x89\\x2f\\xe4\\x87\\x4f\\xa5\\xe1\\x53\\x69\\xf8\\x54\\x1a\\x3e\\x95\\x86\\x4f\\xa5\\xe1\\x53\\x69\\xf8\\x54\\x1a\\x3e\\x95\\x86\\x4f\\xa5\\xe1\\x53\\x69\\xf8\\x54\\x1a\\x3e\\x95\\x86\\x4f\\xa5\\xe1\\x53\\x69\\xf8\\x54\\x1a\\x3e\\x95\\x86\\x4f\\xa5\\xe1\\x53\\x69\\xf8\\x54\\x1a\\x3e\\x95\\x86\\x4f\\xa5\\xe1\\x53\\x69\\xf8\\x54\\x1a\\x3e\\x95\\x86\\x4f\\xa5\\xe1\\x53\\x69\\xf8\\x54\\x1a\\x3e\\x95\\x86\\x4f\\xa5\\xe1\\x53\\x69\\xc4\\xea\\x1a\\xb1\\xba\\x46\\xac\\xae\\x11\\xab\\x6b\\xc4\\xea\\x1a\\xb1\\xba\\x86\\x0f\\xa5\\xe1\\x43\\x69\\xf8\\x50\\x1a\\x3e\\x94\\x86\\x0f\\xa5\\xe1\\x43\\x69\\xf8\\x50\\x3a\\x5d\\xc2\\xc3\\x7c\\xe1\\x43\\x69\\xf8\\x50\\x1a\\x3e\\x94\\x86\\x0f\\xa5\\xe1\\x43\\x69\\xf8\\x50\\x1a\\x3e\\x94\\x86\\x0f\\xa5\\xe1\\x43\\x69\\xf8\\x50\\x1a\\x3e\\x94\\x86\\x0f\\xa5\\xe1\\x43\\x69\\xc4\\xea\\x1a\\xb1\\xba\\x46\\xac\\xae\\x11\\xab\\x6b\\xc4\\xea\\x1a\\xb1\\xba\\x46\\xac\\xae\\x11\\xab\\x6b\\xc4\\xea\\x1a\\xb1\\xba\\x46\\xac\\xae\\x11\\xab\\x6b\\xc4\\xea\\x1a\\xb1\\xba\\x46\\xac\\xae\\x11\\xab\\x6b\\xc4\\xea\\x1a\\xb1\\xba\\x46\\xac\\xae\\x11\\xab\\x6b\\xc4\\xea\\x1a\\xb1\\xba\\x46\\xac\\xae\\x11\\xab\\x6b\\xc4\\xea\\x1a\\x31\\xba\\x46\\x8c\\xae\\x11\\xa3\\x6b\\xc4\\xe8\\x1a\\x31\\xba\\x46\\x8c\\xae\\x11\\xa3\\x6b\\xc4\\xe8\\x1a\\x31\\xba\\x46\\x8c\\xae\\x11\\xa3\\x6b\\xc4\\xe8\\x1a\\x31\\xba\\x46\\x8c\\xae\\x11\\xa3\\x6b\\xc4\\xe6\\x1a\\xb1\\xb9\\x46\\x6c\\xae\\x11\\x9b\\x6b\\xc4\\xe6\\xba\\x13\\xb8\\x9d\\xc0\\xed\\x04\\x6e\\x27\\x70\\x3b\\x81\\xdb\\x05\\xdc\\x2e\\xe0\\x76\\x01\\xb7\\x0b\\xb8\\x5d\\xc0\\xeb\\x02\\x5e\\x17\\xf0\\xba\\x80\\xd7\\x05\\xbc\\x2e\\xe0\\x75\\x01\\xa7\\x0b\\x38\\x5d\\xc0\\x71\\x81\\xe3\\x02\\xc7\\x05\\x8e\\x0b\\x1c\\x17\\xf3\\x73\\xb1\\xae\\x2e\\x70\\x5d\\xe0\\xba\\xc0\\x75\\x81\\xeb\\x02\\xd7\\x05\\xae\\x8b\\x79\\xba\\xc0\\x77\\x81\\xef\\x02\\x5f\\x03\\x4f\\x03\\x4f\\x03\\x4f\\x03\\x47\\x03\\x47\\x03\\x47\\x03\\x47\\x03\\x47\\x03\\x47\\x03\\x47\\x03\\xc7\\xbb\\x07\\x12\\x9b\\xe3\\xd9\\x51\\xca\\xdb\\x90\\xc7\\x90\\xc7\\x91\\x2b\\xe4\\x09\\xe4\\x49\\xe4\\x29\\xe4\\x69\\xe4\\x19\\xe4\\xed\\xc8\\x3b\\x90\\x77\\x22\\xef\\x42\\x5e\\xc2\\xd5\\x5e\\xde\\x06\\xbc\\x36\\xf0\\x6f\\x4b\\x36\\xf1\\xdf\\xbe\\xe3\\x1f\\x85\\x2e\\x5e\\xd8\\xd3\\xb4\\x6c\\xb8\\x60\\xfe\\xb4\\xaa\\xf9\\x9d\\x68\\x6e\\x31\\xfa\\x60\\x6c\\x0c\\x58\\x31\\x60\\xc5\\x80\\x15\\x03\\x56\\x0c\\x58\\x31\\x5d\\xd7\\x9b\\xef\\xe3\\x9f\\xea\\xe5\\x16\\x15\\xfa\\xc0\\x25\\xae\\x22\\xb9\\x15\\x8b\\x7a\\xb2\\xbd\\x84\\x12\\x19\\xc8\\x2e\\x36\\x7f\\xc5\\x31\\xb7\\xc2\\x3b\\x96\\xc0\\xc8\\x24\\x10\\x92\\x40\\x48\\x02\\x21\\x09\\x84\\x64\\xa9\\x9f\\x6e\\x5c\\x52\\x18\\x1e\\x18\\x1c\\xee\\xcf\\x0d\\xe4\\x0b\\x03\\x8d\\x4b\\xf2\\xcb\\x73\\xa5\\x4a\\xd3\\x20\\x09\\xdf\\x57\\xae\\xe5\\xcc\\x5f\\x23\\x2e\\xd5\\x22\\xe5\\x76\\x8f\\x4f\\x06\\xab\\x91\\xc1\\x6a\\x64\\xa0\\x9d\\x0c\\x56\\x23\\x83\\xd5\\x68\\x47\\xbf\\x76\\xf4\\x6b\\x8f\\x39\\x3d\\xf9\\x81\\x2c\\x2a\\x50\\x65\\x7b\\xb2\\xae\\x3f\\x37\\x98\\x1b\\x2a\\x35\\x63\\xa5\\xda\\x33\\x75\\x83\\xdd\\xb9\\x65\\xb9\\x1e\\x67\\x71\\xa1\\x6f\\xa9\\x63\\xfe\\xaa\\x24\\x0e\\x60\\x52\\xed\\x98\\x54\\x3b\\xd4\\xdc\\x01\\xb0\\x0e\\x80\\x75\\x40\\xa8\\x0e\\x08\\xd5\\x01\\xa1\\x3a\\x80\\xeb\\x3d\\x62\\x8d\\xb5\\x61\\xcb\\xb4\\x79\\x2e\\x11\\xe5\\x49\\xe4\\x29\\x79\\x59\\x77\\x6f\\x24\\x37\\x38\\x94\\xef\\xcd\\x0e\\x61\\x51\\xdb\\x3c\\xc3\\x4c\\xb9\\x1b\\x2e\\xf4\\xe5\\x86\\xba\\xf3\\x03\\x8b\\x23\\x43\\x23\\x05\\x2e\\x0c\\x46\\xa8\\x89\\x15\\xd7\\xdd\\x38\\xd4\\x3d\\x90\\x43\\x79\\xb0\\xc1\\xe8\\x19\\xe5\\x46\\x56\\x33\\x2a\\x1e\\xab\\xb4\\x8a\\x64\\x07\\x06\\x0a\\x23\\x3d\\xb9\\x25\\x43\\xf5\\x5c\\x1a\\xee\\x8f\\x72\\xce\\x7f\\x12\\xda\\x3b\\xb8\\xb8\\x30\\xd2\\xe7\\x95\\x16\\x12\\x58\\x04\\xdd\\x16\\xf7\\x35\\x96\\x4b\\x0b\\x07\\xd9\\xe7\\x8c\\xe1\\x67\\x4a\\xb1\\x58\\x5b\\x22\\x5a\\x18\\x18\\xea\\x36\\xbf\\xa4\\xcc\\xf6\\x34\\xe6\\xfb\\x86\\xcc\\xde\\xe4\\x3f\\xde\\xdb\\x90\\x5b\\x36\\x9c\\x5f\\x4e\\xfb\\xa8\\x6f\\x51\\x2e\\xd4\\x5d\\x18\\x1e\\xcc\\x35\\xd1\\xd6\\xed\\x29\\x2c\\x35\\x9b\\xab\\xaf\\x30\\x14\\x35\\x9d\\xc9\\xfb\\xed\\x19\\xea\\x2f\\x17\\x17\\xf2\\xc3\\xbb\\x18\\x9e\\x0c\\xc7\\xf0\\x44\\x38\\x86\\x27\\xb9\\x31\\x3c\\xb1\\xa5\\x5c\\x21\\x4f\\x23\\xc7\\xf1\\x18\\xda\\xb1\\xfb\\x13\\x71\\xd4\\xe3\\xa8\\x27\\x30\\xde\\xf3\\x74\\x28\\x07\\x7f\\xcf\\xd3\\xa1\\x1c\\xfd\\x3d\\x4f\\x87\\xf2\\x24\\xf2\\x14\\x72\\xe0\\x79\\x1e\\x0f\\xe5\\xed\\xc8\\x3b\\x90\\x97\\x70\\xba\\x90\\xbb\\xc8\\xbd\\xed\\x93\\x48\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\x7c\\x9c\\x93\\x09\\x9c\\x93\\x09\\x73\\x4e\\xf6\\x2f\\xec\\x29\\x2c\\xba\\xa1\\x9e\\xd6\\xca\\xe4\\x21\\xaf\\xd6\\xb3\\xc4\\xcb\\x07\\x86\\x50\\x1f\\x1a\\xec\\xce\\x2e\\xce\\x85\\x98\\xd6\\x2f\\xbe\\x81\\xf3\\xc8\\x92\\x7c\\x4f\\x0f\\x5d\\x68\\x0a\\xde\\x99\\x8f\\xe7\\xcb\\x31\\x3c\\x1f\\xa6\\xbc\\x23\\xea\\xf5\\x18\\xa0\\x15\\xae\\x1f\\x1a\\xc8\\x67\\x97\\x0e\\xf7\\x7b\\xf9\\x00\\xea\\x8b\\xfb\\xbc\\xbc\\x67\\x49\\x9d\\x89\\x0a\\x7b\\xbc\\xdd\\x92\\xe8\\x84\\x5e\\x3a\\x75\\x24\\xdf\\xb7\\x7c\\xe1\\x30\\x31\\x19\\x32\\x25\\xaf\\x4f\\xb4\\xd0\\x9f\\xeb\\x43\\xe3\\x60\\x6f\\x9e\\xb6\\x68\\x76\\x51\\x8e\\xf6\\xd2\\xf2\\x72\\x45\\x0e\\x0e\\xf7\\xd5\\x2d\\xc9\\xf5\\xd2\\x6e\\x72\\x0c\\x09\\x0d\\xf6\\x93\\xbc\\xce\\xa2\\x9e\\xe1\\x85\\xa1\\xee\\x5c\\x96\\xd0\\x17\\xe7\\xb3\\xbd\\x74\\x39\\x6b\\xe8\\x1d\\x1e\\xc4\\xfe\\xca\\x35\\xfb\\xca\\x74\\x5d\\x63\\x09\\x92\\x9e\\x4f\\x18\\xeb\\xc4\\x4a\\x74\\x62\\x25\\x3a\\xb1\\x12\\x9d\\x58\\x89\\x4e\\xac\\x44\\x27\\x56\\xa2\\x13\\x2b\\xd1\\x89\\x95\\xe8\\xc4\\x4a\\x74\\x62\\x25\\x3a\\xb1\\x12\\x9d\\x58\\x89\\x4e\\x5c\\x1d\\x3b\\x71\\x75\\xec\\x4c\\x01\\x27\\x05\\x9c\\x14\\x70\\x52\\xc0\\x49\\x01\\x27\\x05\\x1c\\xcf\\xf7\\x8c\\xe1\\xbe\\x76\\x7b\\xaa\\x9c\\xa7\\x91\\x67\\x90\\xb7\\x23\\xef\\x40\\xde\\x89\\xbc\\x0b\\xb9\\x8b\\x5c\\x7b\\xb9\\x17\\x4b\\x51\\xde\\xe6\\xe5\\x69\\xf0\\x4b\\x83\\x5f\\x1a\\xfc\\xd2\\xe0\\xe7\\xf9\\x9a\\xe4\\x52\\xb5\\x21\\x8f\\x79\\xb9\\xc7\\x9f\\x72\\xb7\\xd1\\x7b\\x6e\\x7d\\x1d\\x3f\\xe0\\x6f\\xa1\\xd3\\x39\\x47\\x81\\xb4\\xf9\\xab\\xc1\\xe6\\x81\\x78\\xd8\\x3c\\x77\\x1f\\xc9\\xd3\\xde\\xe2\\x27\\xee\\xa6\\x54\\xd7\\x9d\\x33\\x59\\xfd\\x0d\\x59\\xef\\x00\\x3f\\x5e\\x37\\xa5\\xc6\\xd2\\x23\\x76\\x53\\x09\\x9b\\x87\\xe0\\xdc\\x6f\\x28\\xbb\\x9c\\x8f\\x12\\xe7\\xeb\\xfa\\x7b\\x86\\x07\\xcd\\x1f\\xa4\\x6d\\x30\\x8f\\xd0\\xf1\\x46\\x40\\x94\\xcb\\x5c\\x9c\\xc2\\x4d\\xfc\\x1a\\x01\\x0e\\xb6\\xfa\\x5a\\xb8\\x21\\x62\\x04\\x62\\x51\\xa3\\xa6\\xe4\\xbd\\x22\\xc0\\x8d\\xbd\\xd9\\xfe\\xfc\\xb2\\xc8\\xc2\\xdc\\x90\\xd7\\xbd\\x81\\x5f\\x14\\x40\\x99\\x85\\xf7\\xca\\xe1\\xee\\x9c\\x57\\x88\\x2c\\xcf\\x2e\\xc7\\x61\\x7e\\x81\\x00\\xad\\x43\\xa5\\x8e\\x11\\x52\\x8a\\x57\\x6a\\x2e\\xbd\\x4e\\x80\\x03\\xe5\\x52\\x03\\xcf\\x1d\\xad\\x34\\x71\\x94\\xfa\\x86\\xc1\\xac\\xd1\\x7b\\xb5\\xc0\\xab\\x34\\xe1\\xdd\\x02\\x88\\x51\\x2a\\x34\\xf0\\xcb\\x05\\x18\\xb9\\xac\\x00\\xce\\x51\\xa3\\x3e\\x14\\x2b\\x2a\\x88\\x0c\\x95\\x44\\x0e\\x93\\xf0\\xde\\x4b\\x18\\x34\\x61\\xf3\\x96\\x85\\x59\\x0e\\x93\\x93\\x99\\x34\\x19\\x6b\\x84\\xa5\\xe3\\x65\\xc6\\x63\\x11\\x8d\\xc7\\x22\\x1a\\x8f\\x45\\x34\\x1e\\x8b\\x68\\x72\\xa9\\x1a\\x7c\\xbf\\x0f\\x8d\\xf0\\x8d\\xc0\\xd9\\x8b\\x6e\\x1c\\x68\\xe5\\xdf\\xf3\\xfb\\x0e\\x4d\\xf1\\x95\\x07\\xcc\\x4b\\xe6\\xb9\\x30\\xdf\\x01\\x99\\x3d\\xbc\\x28\\xcc\\xb7\\x5f\\xa8\\xd0\\x54\\xb9\\xa1\\x64\\x9a\\x99\\x05\\x15\\x1a\\x4a\\x77\\x9e\\x4d\\x23\\xdf\\xfe\\xa0\\x42\\x8b\\xff\\x97\\xfd\\xe6\\x80\\x07\\x3d\\xbc\\x28\\xea\\xb1\\xa5\\x5d\\xd3\\x56\\x29\\xc6\\x2a\\xc5\\x78\\xd4\\x83\\xe3\\x0e\\xe5\\x62\\xac\\x52\\x8c\\x37\\x97\\x6f\\xba\\x70\\xa7\\xea\\x6a\\xac\\xba\\x1a\\x8f\\x7a\\x02\\x31\\xb7\\x72\\x31\\x16\\xf5\\xa4\\x31\\xad\\x2d\\xbe\\x49\\x99\\x7a\\x53\\xe9\\x3e\\x4f\\x40\\x02\\x55\\x29\\x26\\x2a\\xd2\\xaa\\x4a\\x31\\x51\\x8d\\xac\\xaa\\xab\\x89\\x0a\\xba\\x4f\\x26\\x55\\x29\\xfa\\x3a\\x24\\x2b\\xc5\\x54\\xa5\\x98\\xae\\x92\\x2c\\x56\\x55\\x8b\\x57\\xd5\\x54\\x55\\x2d\\x51\\x55\\xf3\\xf1\\xce\\x54\\x1d\\x48\\x55\\xd5\\xaa\\xc1\\x32\\xcd\\x55\\x4a\\x99\\x53\\x5d\\x6d\\xab\\xae\\xc6\\xaa\\xab\\xf1\\xea\\xaa\\xaa\\xae\\x26\\x1a\\x2a\\xeb\\x33\\xc7\\x57\\x6e\\xf3\\x95\\x63\\xbe\\x32\\x4f\\xd4\\xfc\\xf0\\x37\\xef\\x2d\\x1e\\x6d\\x72\\xf3\\x03\\x2e\\xf3\\x23\\xaf\\xd9\\x8b\\xb2\\xfd\\xbe\\x7a\\x5b\\xa0\\xde\\x19\\xa8\\xcf\\xf1\\xd5\\x53\\x81\\xf1\\xf1\\xaa\\x7a\\xcc\\x4d\\x20\\x25\\x03\\xf5\\x54\\xa0\\x9e\\x0e\\xd4\\x33\\xbe\\x7a\\xd2\\xe4\\x81\\x7a\\x32\\x50\\x4f\\x05\\xea\\xe9\\x40\\x3d\\xd3\\xe0\\xab\\xfb\\x8e\\xa5\\x02\\xbc\\x53\\x35\\x8e\\xa7\\x02\\xf5\\x74\\xa0\\xee\\xe7\\xed\\xef\\x9b\\x0e\\xf0\\x4e\\x07\\x78\\xa7\\x6b\\xf4\\x4f\\x07\\xea\\x7e\\xde\\xfe\\x63\\x99\\x00\\xef\\x4c\\x80\\x77\\x26\\xc0\\x3b\\x53\\x63\\xbc\\x9f\\x77\\x49\\xdf\\xc9\\xd2\\x1a\\x04\\xea\\xc9\\x40\\x3d\\x15\\xa8\\xa7\\x03\\xf5\\x12\\xef\\x64\\x80\\x57\\xad\\x7a\\x2a\\x50\\x4f\\x07\\xea\\x7e\\xd9\\x52\\x81\\xf1\\xa9\\x80\\x6c\\xa9\\x00\\xbf\\x54\\x80\\x5f\\x2a\\x20\\x9b\\xbf\\x6f\\x3a\\xc0\\x3b\\x1d\\xe0\\x9d\\xae\\xd1\\x3f\\x1d\\xa8\\xfb\\x79\\xfb\\x8f\\x65\\x02\\xbc\\x33\\x01\\xde\\x99\\x00\\xef\\x4c\\x8d\\xf1\\x7e\\xde\\x25\\x9d\\xa4\\x02\\xeb\\x95\\x0a\\xac\\x57\\x2a\\xb0\\x5e\\xa9\\xc0\\x7a\\xa5\\x02\\xeb\\x95\\x0a\\xf0\\x4a\\xd6\\xa8\\x27\\x03\\xf5\\x54\\xa0\\x9e\\x0e\\xd4\\xfd\\xbc\\xfd\\x63\\x83\\x58\\xb5\\x8e\\xa7\\x03\\x75\\xff\\xbc\\xd3\\x81\\xf1\\xe9\\xc0\\xf8\\x74\\x40\\xb6\\x74\\x80\\x5f\\x3a\\x20\\x9b\\xff\\x58\\x26\\xc0\\x3b\\x13\\xe0\\x9d\\x09\\xf0\\xce\\xd4\\x18\\xef\\xe7\\x5d\\x92\\x3b\\x1d\\x58\\xaf\\x74\\x60\\xbd\\xd2\\x81\\xf5\\x4a\\x07\\xd6\\x2b\\x1d\\x58\\xaf\\x74\\x80\\x57\\xb2\\x46\\x3d\\x19\\xa8\\xa7\\x02\\xf5\\x74\\xa0\\xee\\xe7\\xed\\x1f\\x9b\\x0a\\xf0\\x4e\\xd5\\x38\\x9e\\x0a\\xd4\\xd3\\x81\\xba\\x9f\\xb7\\xbf\\x6f\\x70\\x1e\\x41\\xec\\x5a\\xfd\\xfd\\x3a\\xcd\\x04\\xc6\\x67\\x02\\xe3\\x33\\x81\\xf1\\x99\\x80\\x6c\\x99\\x80\\x6c\\x25\\xde\\x99\\xc0\\x7a\\x65\\x02\\xeb\\x95\\x09\\xac\\x57\\x26\\xb0\\x5e\\x99\\xc0\\x7a\\x65\\x02\\xbc\\x92\\x35\\xea\\xc9\\x40\\x3d\\x15\\xa8\\xa7\\x03\\x75\\x3f\\x6f\\xff\\xd8\\x54\\x80\\x77\\xaa\\xc6\\xf1\\x54\\xa0\\x9e\\x0e\\xd4\\xfd\\xbc\\xfd\\x7d\\xd3\\x01\\xde\\xe9\\x00\\xef\\x74\\x8d\\xfe\\xe9\\x40\\xdd\\xcf\\xdb\\x7f\\x2c\\xa8\\xa3\\xe0\\xbc\\x82\\xb2\\x78\\xe3\\xc9\\x35\\xa7\\x48\\x3e\\xbf\\xe8\\xba\\xc2\\x90\\xf9\\x1c\\x13\\xfc\\x11\\x15\\xf0\\x57\\x54\\xc0\\xbf\\x89\\xd7\\xa8\\xa7\\x7d\\xf5\\x36\\xe3\\xe3\\xf8\\xea\\x9d\\x81\\xba\\x2a\\xf5\\x6f\\x5c\\x98\\x1d\\xc8\\x97\\xfe\\xb6\\xca\\x09\\x7c\\xb0\\xa3\\xcd\\xeb\\xd0\\x66\\x98\\xce\\xa9\\xd1\\xd6\\x16\\x68\\x53\\x35\\xfa\\xa9\\x40\\xbf\\x64\\x0d\\x7e\\xc9\\x1a\\xfc\\x92\\x35\\xf8\\x25\\x03\\xfc\\x32\\x35\\xe4\\xcb\\xd4\\x90\\x2f\\x53\\x43\\xbe\\x4c\\x0d\\xf9\\x32\\x35\\xe4\\xcb\\xd4\\x90\\x2f\\x53\\x43\\xbe\\xcc\\x78\\xf9\\x3a\\x13\\xe3\\xe5\\xab\\x6a\\x0b\\xf6\\x53\\x35\\xfa\\x05\\xf9\\x25\\x6b\\xf0\\x4b\\xd6\\xe0\\x97\\xac\\xc1\\xaf\\x96\\xfe\\xd2\\xa5\\x4d\\x56\\xa3\\x2d\\xd8\\x2f\\x59\\xa3\\x5f\\x32\\x80\\x1b\\xe0\\x57\\xd5\\x16\\xec\\x97\\xac\\xd1\\x8f\\xf9\\x99\\xbf\\x5f\\x30\\x94\\x5b\\x9c\\xe7\\xb8\\x2b\\xec\\xf6\\x2d\\x65\\x97\\xbf\\x54\\x88\\x95\\x0a\\xf1\\xf0\\x4d\\xb9\\x81\\x82\\x29\\xd5\\x17\\xfa\\x38\\x4a\\xa8\\x1f\\x1a\\xe1\\x7a\\x84\\xef\\xc3\\x9a\\x52\\xd8\\xdc\\xf9\\xf6\\x0a\\x79\\x2f\\x1e\\xab\\x1f\\xcc\\x73\\xbc\\x17\\xe1\\x5b\\xb2\\x5c\\xe2\\xfb\\xb2\\xdc\\xa9\\x2f\\xef\\x31\\x6a\\x09\\xbc\\xd4\\xd1\\x12\\x78\\x85\\xa3\\xb9\\xfa\\x65\\x8d\\x96\\xc0\\x5b\\x19\\xd1\\xca\\x2b\\x3e\\xd1\\xca\\x5b\\x3d\\x91\\xf2\\x4b\\x3c\\xd1\\xca\\x2b\\x3b\\x53\\x03\\x48\\xb3\\x7b\\x16\\x4d\\x0d\\x80\\x51\\xd3\\x94\\x6a\\xbc\\xea\\x4e\\x5e\\x90\\xd4\\xb3\\xa8\\xa9\\x82\\x5a\\xae\\x95\\x18\\x34\\x96\\xb1\\xcb\\x87\\xca\\xc3\\x86\\xbd\\x47\\x3a\\xb3\\x07\\xbb\\x0b\\x03\\x43\\x0d\\xfc\\x83\\x6c\\xaf\\xdc\\xca\\xf7\\x1b\\xf8\\xae\\x04\\xee\\x5c\\x54\\x1a\\xca\\xb7\\x50\\xbc\\x1b\\x36\\x4d\\xa5\\x2a\\xff\\x1e\\xe5\\x84\\xf2\\xcd\\x8a\\xca\\x0f\\x53\\x9a\\xcb\\x6d\\x81\\x2a\\xff\\x26\\xa5\\xd5\\x77\\x9b\\x8a\\x5b\\xf9\\x66\\x10\\x6e\\xa8\\x98\\x2d\\x92\\xa0\\x4b\\x40\\xa2\\xa3\\x0b\\xe5\\x98\\xaf\\x1c\\x37\\x65\\xe7\\xeb\\xd7\\x75\\xb8\\x02\\x5f\\xde\\x0c\\x0b\\x5b\\x4c\\x11\\x56\\xb1\\x68\\xbe\\x29\\xc9\\xdf\\xc1\\x14\\x62\\x85\\xb8\\x95\\xbf\\x1c\\x34\\x45\\x08\\x67\\x93\\xb0\\x9c\\xcd\\xce\\xbb\\x42\\x3a\\xef\\x39\\xef\\x51\\xf9\\x7d\\xe7\\x7d\\x2a\\x1f\\x76\\x0e\\x53\\xf9\\x03\\xe7\\x23\\x2a\\x1f\\x75\\x8e\\x52\\xb9\\xe8\\x10\\x87\\x90\\x08\\x3f\\x21\\xac\\xf0\\x93\\xe1\\x27\\x85\\x0c\\x6f\\x0a\\x1f\\xa4\\xf2\\x3b\\xe1\\x77\\x84\\x1d\\x3e\\x14\\x25\\x8c\\xe8\\xd4\\xe8\\x34\\x61\\x9b\\xbf\\x26\\x4a\\xe5\\x93\\xa2\\x27\\x0b\\x19\\x9d\\x11\\x9d\\x41\\xa8\\x0e\\xbe\\x53\\x64\\xf9\\x52\\x54\\x2c\\x14\\xf7\\x08\\x87\\x2e\\xf5\\x3d\\x62\\xc6\\xd2\\x81\\xdc\\x0d\\x22\\xd6\\x9d\\x5b\\x38\\x20\\xce\\xef\\xc9\\x0e\\xf5\\x09\\xfe\\xb2\\xd1\\xd7\\xbe\\xda\\x75\\xba\\x68\\xfd\\xfa\\xe5\\x1d\\x44\\x85\\xa0\\x19\\x58\\xfc\\x15\\x23\\x81\\xb2\\x28\\x97\\x6d\\xfe\\xc2\\x51\\xd5\\x91\\x45\\x8b\\x7a\\xfb\\xc5\\x0c\\xa6\\xa7\\x2f\\xee\\xc9\\x2f\\x15\\x67\\xf5\\x14\\x16\\x99\\x6f\\x2b\\x89\\xb2\\x3c\\xe6\\x9b\\x48\\xa6\\x56\\x92\\xa8\\x8e\\x74\\x73\\xa2\\x38\\x55\\x9c\\x49\\xbd\\x92\\x68\\x9d\\x43\\x7d\\x4d\\x0f\\x85\\xbc\\x8b\\x7a\\x51\\x6e\\xd7\\x31\\x0f\\xcb\\xbe\\xc0\\x6b\\xaf\\xff\\x21\\xd1\\xba\\xba\\xb4\\x29\\xcb\\x97\\x89\\x4e\\xa5\\x14\\x36\\x48\\x46\\x3b\\xa1\\x46\\xd3\\x1e\\xa2\\xfe\\xd6\\x7d\\xe2\\x64\\x91\\x16\\x1d\\x34\\xbf\\xab\\xc4\\x02\\x71\\xbd\\x18\\x12\\xb7\\x88\\xef\\x8a\\x7b\\xc5\\x6a\\xf1\\x88\\x78\\x5c\\xbc\\x20\\x76\\x53\\xc7\\xa8\\x35\\xcd\\x3a\\xd5\\x3a\\xcb\\x8a\\x59\\xe7\\x59\\xda\\x9a\\x6b\\xdd\\x6d\\xf8\\x44\\x4f\\x12\\x36\\xad\\x92\\x29\\x4d\\x2f\\x97\\x4e\\x2e\\x97\\x4e\\xa4\\xd2\\x21\\xc6\\x7b\\xa1\\x5c\\xda\\x51\\x2e\\xbd\\x58\\x2e\\xfd\\x9a\\x4b\\x36\\xcd\\xa2\\x31\\xfc\\x16\\x95\\xdf\\x0e\\xbf\\x54\\x3e\\xf6\\x9b\\x72\\x69\\xa7\\xaf\\xd7\\x2e\\x53\\xa6\\x55\\xb7\\x9d\\xfd\\xbc\\x9b\\x9a\\xc5\\x34\\x5a\\x6b\\xdb\\xd9\\x1b\\x6d\\x25\\x7a\\x20\\xfc\\x72\\x79\\xd4\\x2b\\x5c\\x32\\x7d\\x5a\\xc5\\x89\\xd1\\x66\\xda\\x39\\x87\\x9c\\xb7\\xa3\\x2d\\x8c\\xb2\\xbb\\xdc\\xeb\\xb7\\xe5\\xd2\\x9e\\x72\\xe9\\xd5\\x72\\x69\\x6f\\xb9\\xb4\\xaf\\x5c\\x7a\\xad\\x5c\\x7a\\xbd\\x5c\\xda\\xcf\\xa5\\x7a\\x42\\x9a\\xce\\xdf\\x27\\x9d\\x43\\x2b\\x76\\x5e\\xf8\\x39\\xc2\\x3c\\x42\\xd2\\x3e\\xc7\\xd8\\x47\\xc2\\xcf\\x52\\xfe\\x01\\xd5\\x9f\\xe5\\xfa\\x07\\xe1\\x37\\x78\\x2e\\xdb\\x89\\x1e\\x09\\x8f\\x11\\xfd\\x80\\x79\\xbd\\x89\\xd9\\xd6\\x3b\\xfb\\x9c\\xd7\\xcd\\x47\\x69\\x43\\x75\\xb4\\xd3\\xc3\\xb4\\x6a\\xd1\\x50\\x73\\xa8\\x59\\xf0\\x77\\x16\\x44\\xab\\xf9\\xce\\x82\\x98\\x1a\\x3a\\x31\\x34\\x43\\x4c\\xe3\\x9d\\x63\\x53\\xfe\\x05\\xe2\\x30\\x8b\\xf7\\x4a\\x88\\x68\\x88\\xbf\\xd8\\xd0\\x10\\x9a\\x16\\x3a\\xc5\\xec\\x55\\xfe\\xc2\\xc3\\xfb\\x66\\x9f\\x51\\xfb\\x29\\x42\\x84\\x57\\x86\\x57\\x8a\\x53\\xc3\\x7f\\x19\\xde\\x26\\x4e\\xa3\\xfd\\x70\\x3d\\x8d\\x69\\xb5\\xbe\\x60\\x2b\\xa9\\x9d\\x79\\x62\\xa6\\x38\\x97\\xf6\\xc5\\xc5\\xe2\\x72\\x71\\x0d\\x9d\\x19\\xd7\\x8b\\x01\\x71\\x93\\xf8\\xb6\\xb8\\x5d\\xdc\\x4d\\xbb\\xe3\\x41\\xb1\\x4e\\xac\\x17\\x1b\\xc5\\x4f\\xc5\\x5f\\x8a\\x67\\x68\\x97\\xbc\\x2c\\x5e\\x13\\x07\\xc5\\x11\\xda\\x2b\\x75\\x56\\x63\\xe4\\xeb\\x42\\xda\\x3f\\xb0\\x7f\\x10\\xb9\\x9c\\xf3\\x75\\x91\\x7f\\xca\\xf9\\xc3\\x91\\xb9\\x9c\\xaf\\x8d\\x5c\\xc6\\xf9\\x43\\x91\\xaf\\x51\\xbe\\x8e\\xfa\\x5d\\xc2\\xf9\\xba\\xc8\\x57\\x39\\x7f\\x38\\x72\\x31\\xe7\\x6b\\x23\\x17\\x71\\xfe\\x50\\xe4\\x2b\\x94\\x3f\\x4c\\xfd\\x34\\xe7\\xeb\\x22\\x2e\\xe7\\x0f\\x47\\xba\\x38\\x5f\\x1b\\xe9\\xe4\\xfc\\xa1\\x48\\x3b\\xe5\\x6b\\xa9\\xdf\\x05\\x9c\\xaf\\x8b\\xfc\\x13\\xce\\x1f\\x8e\\x9c\\xcf\\xf9\\xda\\xc8\\xef\\x73\\xfe\\x50\\xe4\\x3c\\xca\\x1f\\xa2\\x7e\\x5f\\xe6\\x7c\\x5d\\xe4\\x5c\\xce\\x1f\\x8e\\x64\\x38\\x5f\\x1b\\xb9\\x54\\xd8\\xd4\\x7a\\x05\\xd1\\x1f\\x44\\x3a\\x88\\xae\\x8d\\x5c\\x48\\xf4\\xe1\\x4f\\xa0\\x91\\x02\\x34\\xd2\\x07\\x8d\\xf4\\x42\\x23\\x3d\\xd0\\xc8\\x0d\\xd0\\x48\\x1e\\x1a\\xe9\\x86\\x46\\x96\\x42\\x23\\x4b\\xa0\\x91\\x1c\\x34\\xb2\\x08\\x1a\\x59\\x08\\x8d\\x64\\xa1\\x91\\x05\\xd0\\xc8\\x75\\xd0\\xc8\\xb5\\xd0\\xc8\\x1f\\x42\\x23\\xf3\\xa1\\x91\\x3f\\x80\\x26\\xae\\x86\\x26\\xe6\\x41\\x13\\xdf\\x80\\x26\\xae\\x82\\x26\\xae\\xe4\\xfc\\xa1\\x48\\x3f\\xeb\\x62\\xb1\\xd1\\x42\\xe4\\x1a\\xa2\\x0f\\x45\\xae\\x37\\x3a\\xfa\\x04\\x1a\\xf9\\x57\\xd0\\xc8\\xed\\xd0\\xc8\\x1f\\x43\\x23\\xdf\\x85\\x46\\xfe\\x25\\x34\\xf2\\x2f\\xa0\\x91\\xdb\\xa0\\x91\\x7f\\x0e\\x8d\\x7c\\x1b\\x1a\\xf9\\x67\\xd0\\xc8\\xad\\xd0\\xc8\\x1f\\x41\\x23\\xb7\\x40\\x13\\xdf\\x82\\x26\\xbe\\x09\\x4d\\xdc\\x04\\x4d\\xdc\\x08\\x4d\\xac\\xc0\\xde\\x18\\x81\\x46\\x86\\xa1\\x91\\x21\\x68\\x64\\x10\\x1a\\x19\\x80\\x46\\x96\\x41\\x23\\xdf\\xe1\\x3d\\x72\\x07\\xeb\\x65\\x39\\x6b\\xe4\\x66\\xb3\\x53\\x3e\\x81\\x46\\x1e\\x82\\x46\\xd6\\x40\\x23\\xff\\x09\\x1a\\x59\\x0d\\x8d\\xfc\\x47\\x68\\xe4\\x41\\x68\\xe4\\xcf\\xa0\\x89\\x07\\xa0\\x89\\x3f\\x85\\x26\\xfe\\x03\\x34\\x71\\x1f\\x34\\xf1\\xef\\xb1\\x37\\xee\\x85\\x46\\xfe\\x1d\\x34\\xf2\\x6f\\xa1\\x91\\x7b\\xa0\\x91\\x7f\\x03\\x8d\\xac\\x82\\x46\\xfe\\x35\\x34\\xf2\\x27\\xd0\\xc8\\x5d\\xd0\\xc8\\x9d\\xd0\\xc8\\xf7\\xa0\\x91\\x95\\xd0\\xc8\\xfd\\xbc\\x3b\\xd6\\xb2\\x46\\xee\\x66\\x8d\\x7c\\xff\\x13\\x6a\\xe4\\xe7\\xd0\\xc4\\xcf\\xa0\\x89\\x9f\\x42\\x13\\x3f\\x81\\x26\\xfe\\x17\\x34\\xf1\\x18\\xf6\\xc6\\xff\\x84\\x46\\x46\\xa1\\x91\\xbf\\x80\\x46\\xfe\\x07\\x34\\xf2\\x63\\x68\\xe4\\xbf\\x43\\x23\\x8f\\x42\\x23\\xff\\x0d\\x1a\\xf9\\x73\\x68\\x64\\x3d\\x34\\xf2\\x5f\\xa1\\x91\\x1f\\x41\\x23\\xff\\x05\\x1a\\xf9\\xcf\\xd0\\xc8\\x0f\\xa1\\x91\\x1f\\x40\\x23\\xeb\\xa0\\x91\\x87\\xa1\\x91\\x8d\\xac\\x91\\xc7\\x79\\xa7\\x3c\\xc2\\x1a\\xd9\\xc0\\x1a\\x21\\xef\\xc0\\x8c\\x67\\x7b\\x7e\\xb1\\xb9\\xe6\\xd2\\x55\\x7b\\x16\\xd9\\x8b\\x0b\\x60\\xe1\\x9e\\x67\\x3b\\xf6\\x2b\\xa2\\x6f\\xb1\\x3d\\x38\\x40\\xa5\\xf7\\xb9\\xf4\\x76\\xb9\\x74\\xb0\\x5c\\xda\\x84\\x7e\\xd5\\xd7\\x7a\\xcf\\x9f\\x59\\x73\\x0c\\x7f\\xa6\\xb5\\xa6\\x3f\\x23\\x26\\xe9\\xcf\\xc8\\x1b\\xc8\\x21\\x14\\xd3\\x98\\xce\\x30\\x31\\x31\\x59\\x3d\\x33\\x9f\\x29\\xf0\\x5d\\x04\\x71\\xfc\\xb8\\xaf\\x3c\\xce\\xa0\\x39\\x9f\\x2f\\xb4\\xb8\\x94\\x7c\\x8f\\x6b\\xc5\\x12\\xd1\\x27\\x6e\\xa6\\x7d\\xf1\\x7d\\x92\\xfa\\x11\\xf1\\xa8\\x78\\x4c\\x6c\\x17\\x87\\xc4\\x51\\xda\\x09\\xcd\\xd6\\x89\\xe4\\x7f\\x9c\\x69\\xcd\\xb6\\x92\\xd6\\xf9\\xc4\\x33\\x42\\x7e\\x4b\\xab\\xe7\\xe7\\x84\\xa7\\xb3\\x57\\x63\\x45\\x7f\\x4c\\xf5\\x7a\\xca\\x77\\x7b\\xed\\x0d\\x51\\xe4\\x2f\\x78\\xf9\\x94\\x7b\\x3d\\xef\\xe7\\xa4\\x27\\xa6\\x4f\\x9f\\x7e\\xfd\\xf4\\x51\\xaf\\x76\\xb2\\x38\\x79\\xc5\\xc9\\x47\\x66\\xdc\\xec\\xd5\\x66\\xec\\xf9\\x7c\\xfa\\xf3\\xb7\\x7f\\xfe\\x45\\xaf\\x36\\xf3\\xf4\\x99\\x0f\\x9e\\x32\\xe3\\x94\\xfb\\xbc\\xf1\\xa7\\xd6\\x79\\xf9\\xe9\\x8f\\x79\\xf9\\x3f\\xbc\\x9e\\x7b\\x85\\xcf\\x3c\\xf1\\xcc\\xdb\\xce\\x7c\\xe9\\xf7\\xd2\\xbf\\x77\\xf7\\xef\\xed\\x3f\\x4b\\x9f\\xf5\\x00\\xb7\\x36\\x9d\\xf5\\xe2\\xd9\\x8d\\x67\\x9f\\x77\\x76\\xcf\\xd9\\xf7\\x9d\\xbd\\xe5\\xec\\x0f\\xcf\\x99\\x75\\xce\\xfc\\x73\\xee\\x38\\x67\\xf4\\x9c\\xfd\\x5f\\x9c\\xc9\\xc7\\xed\\x2f\\xce\\xfa\\x22\\x5d\\x45\\x4d\\xf9\\x8b\\xb7\\xb0\\x17\\x67\\x7d\\x79\\xd4\\xe3\\xfb\\xe5\\x9f\\x7b\\xf9\\xf9\\xfd\\x5e\\xde\\x01\\x7f\\xcf\\xed\\xf1\\xfa\\x5d\\x34\\x0b\\xb9\\xe2\\x35\\xb1\\x2e\\x9a\\x4b\\xa7\\xca\\x3a\\xd2\\xb0\\x10\\x6d\\xfc\\xa5\\xe2\\x1e\\xb1\\xd5\\xba\\xc5\\x9e\\x6d\\x27\\xc5\\x56\\xd1\\x63\\xef\\x94\\xaf\\x89\\x1e\\xe7\\x12\\x7b\\x27\\x79\\xd2\\x5b\\xed\\xd9\\xa2\\xa7\\x8e\\xfe\\x99\\x3e\\xe6\\x18\\xd3\\xd9\\xde\\x7f\\x8c\\xed\\xe1\\x5e\\x5b\\xed\\x9d\\xe6\\xa8\\xd7\\xea\\x8d\\x35\\x6d\\x54\\x6b\\x0d\\x35\\x16\\x7f\\x55\\xfc\\x55\\x68\\x2a\\xd3\\x93\\x98\\x9e\\x6c\\x68\\x78\\x33\\xd3\\xad\\x4c\\xc7\\x98\\x6e\\x67\\xfa\\x2c\\xd3\\xe7\\x98\\xee\\x66\\xfa\\x3a\\xd3\\x37\\x0c\\x8d\\x36\\x33\\x6d\\x61\\xfa\\x39\\x43\\xc5\\x29\\x21\\xab\\xf8\\xb3\\xe2\\xcf\\x42\\x76\\xf1\\xde\\xe2\\xbd\\x21\\x87\\xcb\\x75\\xe2\\x6c\\x71\\x76\\xa8\\x9e\\xcb\\x51\\xa6\\x0d\\x4c\\x9b\\x98\\x36\\x33\\x9d\\xc2\\xf4\\x04\\xa6\\xd3\\x98\\xce\\x30\\x34\\xbc\\x85\\xe9\\x2f\\x99\\x3e\\xc5\\x74\\x1b\\xd3\\x5f\\x33\\xdd\\xc9\\xf4\\x15\\xa6\\xaf\\x32\\xdd\\xcb\\x74\\x1f\\xd3\\x37\\x99\\x1e\\x60\\xfa\\x36\\xd3\\x83\\x86\\x46\\x5b\\x99\\x32\\x22\\xcb\\x6b\\xb4\\x60\\x17\\xf7\\x17\\xf7\\x87\\x24\\x4b\\xea\\x70\\x4b\\x3d\\xd3\\x28\\xd3\\x06\\xa6\\x4d\\x4c\\x79\\xce\\x24\\xaf\\xa1\\x27\\x30\\x9d\\xc6\\x74\\x06\\xeb\\x65\\x0b\\xd3\\x5f\\x32\\x7d\\x8a\\xe9\\x36\\xa6\\xbf\\x66\\xba\\x93\\xe9\\x2b\\x4c\\x5f\\x65\\xba\\x97\\xe9\\x3e\\xa6\\x6f\\x32\\x3d\\xc0\\xf4\\x6d\\xa6\\x07\\x59\\xb3\\xad\\x4c\\x19\\x91\\xbc\\x3c\\x9b\\xf3\\x99\\x65\\xb9\\x0d\\xfd\\x2c\\x4b\\x3c\\x6b\\x52\\x92\\x36\\xb2\\xfe\\xc7\\xcb\\x3b\\x95\\xdb\\xfd\\x52\\x9f\\xc4\\x2d\\x27\\x33\\x9d\\x81\\xbd\\x4b\\xe5\\xaa\\x79\\x6c\\xe5\\x16\\xff\\x6c\\xc6\\xb8\\x65\\x3b\\xd3\\x67\\x99\\x3e\\xc7\\x74\\xfc\\x2c\\x77\\x73\\xfb\\xf8\\xb9\\xbe\\xce\\xed\\x6f\\x30\\x9d\\x68\\xde\\xcd\\xe6\\x28\\x9d\\x0f\\x86\\xfa\\x74\\x40\\xe7\\x06\\xb5\\xf0\\xd9\\x67\\xa4\\xf6\\xe6\\xe4\\x9b\\x07\\x66\\xe0\\x49\\x3d\\x91\\xa4\\x9e\\x5c\\x3e\\x29\\xaa\\xd0\\x3c\\x04\\xb3\\x2b\\x0c\\x57\\x87\\x69\\xe9\\xbc\\x33\\xe5\\x28\\xd3\\x06\\x68\\xd9\\x50\\x1e\\x4d\\x5a\\xf6\\xf4\\x6b\\xe8\\x34\\xe8\\xd4\\xd3\\xa6\\xa1\\xbf\\x84\\x1e\\x0d\\xdd\\x06\\x7d\\x19\\xba\\x93\\xe9\\x2b\\xd0\\x94\\xa1\\x7b\\x99\\xee\\x83\\x76\\x0c\\x3d\\xc0\\xf4\\x6d\\xa6\\x07\\xa1\\x11\\x43\\x19\\x51\\x7c\\x69\\xc2\\x5d\\x11\\x86\\xbc\\xff\\x6f\\xed\\x8d\\xcf\\x43\\x1f\\x9f\\xe5\\x33\\xd9\\x12\\x6d\\xe5\\x2f\\x08\\xd6\\xf9\\xbe\\x1d\\xd8\\xcc\\xdf\\x0d\\x3c\\x21\\xf4\\x39\\x7c\\x2f\\x70\\x66\\xe8\\x14\\xfe\\x2e\\x91\\xf9\\x2a\\x91\\xf9\\x26\\x51\\xf0\\x8b\\x44\\x2f\\x86\\x77\\x86\\x5f\\x0e\\xef\\x0e\\xef\\xc5\\x97\\x87\\x0e\\x94\\xbf\\x1e\\xc3\\x77\\x7a\\xec\\x7b\\xec\\x3e\\xa2\\xf7\\x91\\xa7\\x71\\x09\\xf9\\x98\\x0f\\x90\\x3f\\xf1\\x43\\xf2\\x32\\x7f\\x4c\\x1e\\xc5\\xcf\\xc9\\xcf\\x7c\\x5a\\x3c\\x27\\x5e\\x24\\x4f\\x73\\xaf\\x78\\x93\\xfc\\x0b\\xf8\\x9a\\xd6\\x54\\x6b\\x3a\\xf9\\x18\\x67\\x58\\xe7\\x58\\x73\\xc8\\xcb\\x38\\xcf\\xea\\xb0\\x2e\\xb4\\x2e\\xb5\\xae\\xb0\\xae\\xb1\\x16\\x58\\x4b\\xac\\x1e\\x6b\\xc0\\x5a\\x61\\xdd\\x62\\xdd\\x66\\xdd\\x6e\\xdd\\x65\\xdd\\x63\\xdd\\x67\\x3d\\x68\\xad\\xb5\\x1e\\xb1\\x36\\x58\\x1b\\xad\\xc7\\xad\\x27\\xac\\x2d\\xd6\\x33\\xd6\\xf3\\xd6\\x4b\\xd6\\x6e\\xeb\\x35\\xeb\\x80\\xf5\\x9e\\xf5\\xa1\\x6d\\xdb\\x61\\xbb\\xd9\\x9e\\x66\\xcf\\xb0\\x4f\\xb7\\xcf\\xb4\\x67\\xd9\\x31\\x3b\\x6d\\x9f\\x6f\\x77\\xd9\\x17\\xdb\\x73\\xed\\xab\\xec\\xf9\\xa4\\x8b\\xf3\\x42\\xf7\\x04\\xa8\\xa8\\x94\\x2d\\x27\\xd8\\x52\\xa3\\x27\\xd3\\xe2\\x2d\\xb5\\x39\\x4c\\xd8\\x32\\x8e\\x43\\x8d\\x16\\x7f\\xfb\\x5c\\x1f\\x5d\\x1c\\xfa\\xb3\\x63\\xf0\\x9f\\x48\\x1e\\xbf\\xb4\\x3f\\x1a\\x57\\x1e\\x2f\\xdb\\xb1\\xe5\\x9f\\xa8\\xc5\\x8f\\x3e\\x7e\\x5e\\xc7\\x94\\x79\\x22\\x09\\xfd\\x3d\\x8f\\x6e\\xaf\\x50\\xdf\\x51\\xf2\\xd8\\xab\\xee\\xa5\\x6c\\x22\\x7f\\xfc\\x34\\xbe\\xa3\\x72\\x3a\\xed\\xdb\\x83\\xe2\\x2c\\xda\\x9b\\x53\\xc4\\x85\\xc6\\x57\\x73\\xde\\x16\\xde\\x5d\\x3d\\x6f\\xa4\\xb9\\xfb\\x39\\x5d\\x98\\x3b\\x73\\x9e\\xc7\\x3c\\x15\\x7d\\xc8\\xcf\\x26\\x8e\\xe4\\x6b\\xd3\\x39\\x32\\x83\\xbc\\x7a\\x3a\\x1b\\xc4\\x0c\\xe6\\x38\\x93\\x7a\\xcc\\x14\\xb4\\xc3\\x29\\x5e\\x30\\x77\\xf0\\xc8\\x33\\xb4\\xe7\\xb1\\x24\\x16\\x61\\x9b\\xd1\\x1f\\x54\\x21\\x58\\xe2\\x09\\x71\\x3f\\xd1\\x2d\\xd4\\x7b\\xaa\\x38\\x93\\x62\\x8c\\x98\\x48\\x93\\xc7\\xdd\\x45\\x51\\xc7\\x5c\\xf2\\xb9\\xe7\\x53\\x84\\xd0\\xcd\\xdf\\x99\\xbf\\x49\\xdc\\x2a\\xbe\\x23\\xee\\x20\\x7e\\xb7\\xdb\\xa3\\x44\\xd7\\xda\\xb7\\x92\\x26\\xb6\\x72\\x79\\x95\\x3c\\x9d\\x78\\xac\\xb0\\x67\\x96\\x5a\\x8a\\x5b\\x4d\\x8b\\x47\\xed\\x79\\xf6\\x3c\\xa2\\x67\\x5a\\x24\\x8b\\x75\\x33\\xf7\\x5f\\x6e\\xa8\\xf5\\x63\\x7b\\x15\\xd1\\x47\\xec\\xa7\\x89\\xde\\xcb\\xed\\xbb\\x0d\\x95\\x8f\\xda\\x3d\\x25\\x2a\\xa6\\x86\\xea\\x43\\x4d\\xa1\\x96\\xd0\\x54\\x3a\\xf3\\xf9\\x1b\\xa1\\xa4\\xc3\\xca\\xf7\\xc8\\x70\\xe6\\xf3\\xbc\\x0e\\x55\\xe6\\x65\\xb8\\x38\\xef\\x39\\x5b\\x85\\x1d\\x9a\\x69\\xce\\x70\\x2b\\x66\\xa5\\xad\\xf3\\xad\\x2e\\xeb\\x62\\x6b\\xae\\x75\\x95\\x35\\xdf\\x5a\\x68\\x75\\x5b\\x7d\\xd6\\x90\\x75\\x93\\x75\\xab\\xf5\\x1d\\xeb\\x0e\\xeb\\x6e\\xeb\\xfb\\xd6\\xfd\\xd6\\x6a\\x6b\\x9d\\xf5\\x23\\xeb\\x51\\x6b\\xd4\\xfa\\xa9\\xb5\\xc9\\xda\\x6a\\x6d\\xb7\\x5e\\xb0\\x76\\x5a\\x7b\\xac\\xfd\\xd6\\x41\\xeb\\xb0\\x75\\xd4\\x76\\xec\\xa8\\xdd\\x6a\\x9f\\x68\\xcf\\xb4\\xbf\\x60\\x9f\\x45\\x1e\\xb1\\xb2\\xcf\\xb5\\x2f\\xb0\\xb5\\x7d\\x89\\x7d\\x39\\xcd\\xf1\\x5a\\x7b\\xb1\\x7d\\xbd\\xdd\\x4f\\x73\\xbb\\xd9\\xfe\\xb6\\xfd\\x5d\\xfb\\x7b\\xf6\\x2a\\xfb\\x5e\\xfb\\x01\\x7b\\x8d\\xfd\\x43\\x7b\\xbd\\xfd\\x63\\xfb\\x31\\xfb\\xe7\\xf6\\x5f\\xda\\x4f\\xdb\\xcf\\xd9\\x2f\\xda\\x2f\\xdb\\x7b\\xed\\x37\\xed\\x43\\xf6\\x11\\x29\\x64\\x9d\\x6c\\x94\\x53\\xe5\\x74\\x79\\xaa\\x3c\\x43\\x9e\\x23\\xe7\\xc8\\xa4\\x3c\\x4f\\x76\\xc8\\x0b\\xe5\\xa5\\xf2\\x0a\\x79\\x8d\\x5c\\x20\\x97\\xc8\\x1e\\x39\\x20\\x57\\xc8\\x5b\\xe4\\x6d\\xf2\\x76\\x79\\x97\\xbc\\x47\\xde\\x27\\x1f\\x94\\x6b\\xe5\\x23\\x72\\x83\\xdc\\x28\\x1f\\x97\\x4f\\xc8\\x2d\\xf2\\x19\\xf9\\xbc\\x7c\\x49\\xee\\x96\\xaf\\xc9\\x03\\xf2\\x3d\\xf9\\xa1\\x63\\x3b\\x61\\xa7\\xd9\\x99\\xe6\\xcc\\x70\\x4e\\x77\\xce\\x74\\x66\\x39\\x31\\x27\\xed\\x9c\\xef\\x74\\x39\\x17\\x3b\\x73\\x9d\\xab\\x9c\\xf9\\xce\\x42\\xa7\\xdb\\xe9\\x73\\x86\\x9c\\x9b\\x9c\\x5b\\x9d\\xef\\x38\\x77\\x38\\x77\\x3b\\xdf\\x77\\xee\\x77\\x56\\x3b\\xeb\\x9c\\x1f\\x39\\x8f\\x3a\\x66\\x25\\xfe\\x34\\xa4\\xcd\\xba\\xd6\\xad\\xa6\\xb5\\x39\\x64\\xca\\xd6\\x21\\x2e\\x77\\x73\\xb9\\xdb\\x94\\xed\\x99\\xdc\\x67\\x26\\x97\\xe7\\x71\\x79\\x1e\\xf7\\x69\\xe6\\x3e\\xcd\\x5c\\x5e\\xcd\\xe5\\xd5\\xdc\\x67\\x55\\x85\\xa7\\xbf\\x5c\\xd5\\xff\\x2e\\x2e\\xdf\\x15\\x2c\\xfb\\xf9\\xfb\\xc7\\xca\\x46\\x53\\x96\\x8d\\xe3\\xf8\\x5c\\xc0\\xe5\\x0b\\xb8\\xff\\xad\\xdc\\xff\\xd6\\x71\\x7c\\x26\\x2a\\x87\\xb9\\x1c\\x1e\\x57\\x9e\\xc3\\xe5\\x39\\xe3\\xe6\\x75\\x98\\xdb\\x0f\\x73\\x79\\x94\\xcb\\xa3\\xc7\\xe4\\xe3\\x2f\\x4f\\x84\\xeb\\xd7\\xd5\\x44\\x7a\\x9e\\x84\\x7e\\xaa\\xe4\\xf4\\xcb\\xe6\\x97\\x79\\x32\\xe5\\x09\\xd6\\xae\\x0a\\xeb\\x53\\xd8\\x27\\xc7\\xbb\\x37\\xaa\\xf6\\xc3\\xf1\\xee\\x81\\x4f\\xb0\\xd6\\x90\\xd0\\xa3\\x87\\x7c\\x74\\x4b\\x85\\x7a\\xdc\\x40\\x27\\x90\\x61\\x82\\x39\\x4e\\xde\\x82\\x4c\\x29\\x7f\\xeb\\xd9\\x7c\\xe9\\x79\\x3b\\x7f\\xe1\\xf9\\xaf\\x9d\\x9d\\xfc\\x3d\\xe7\\x57\\x9d\\xf7\\x9d\\x0f\\xc3\\x4f\\xf2\\xfd\\x17\\x4d\\xc9\\x3c\\xaf\\xba\\x9c\\xd2\\x3c\\x4a\\xd7\\x52\\x5a\\x4c\\xe9\\x7a\\x4a\\xfd\\x94\\x96\\x53\\xba\\x99\\xd2\\xb7\\x29\\x7d\\x97\\xd2\\xf7\\x28\\xad\\xa2\\x74\\x2f\\x61\\x3c\\x40\\xf9\\x1a\\xca\\xf7\\x18\\xf9\\xc8\\x8a\\x18\\xba\\x8e\\x65\\x75\\x7c\\x2d\\x1e\\x7d\\xc0\\xd0\\xe2\\x7d\\xe3\\xda\\x3d\\x3a\\xad\\xaa\\xa5\\xaf\\x62\\x35\\xeb\\x9a\\x4b\\x65\\x5c\\xc7\\x67\\xff\\xff\\xeb\\xf8\\xef\\x74\\x1d\\x5f\\xc5\\x4f\\xfc\\x3c\\x3a\\xa7\\x42\\xad\\x9f\\x56\\xa8\\x3c\\xbf\\x42\\xfd\\xfd\\xad\\x66\\x1f\\x9d\\x55\\xa1\\xf6\\x5a\\x5f\\xcf\\xb5\\x15\\x5a\\xd5\\x7f\\xb5\\x8f\\x6e\\xf1\\x51\\x5f\\xbb\\x7f\\xac\\x9f\\x1e\\xfd\\xd0\\xc7\\xa7\\xbb\\x42\\xab\\x7a\\xfa\\xe5\\x3c\\x54\\xa1\\xf6\\xbc\\x0a\\x95\\x8f\\xfb\\xb0\\x7c\\x73\\x97\\xf3\\xb9\\xdc\\xc3\\x65\\xe5\\x1b\\xfb\\xb4\\x8f\\xfa\\xf5\\x16\\x9e\\x04\\xf5\\xe1\\x56\\xb5\\xfb\\xf8\\x40\\xc3\\x73\\xc6\\xc9\\x3f\\x09\\xfd\\x54\\xc9\\xe9\\x97\\xed\\xe9\\xe3\\xa3\\xd0\\xe4\\xaa\\x60\\x79\\xf2\\xfb\\xa4\\x86\\xfc\\xc7\\xde\\x27\\xde\\xde\\x98\\xee\\xa3\\xde\\x1c\\xaf\\x98\\xec\\xdc\\x27\\xda\\x03\\x13\\xad\\x7b\\xd5\\x1e\\x38\\xce\\xb5\\xf6\\xcf\\xa5\\x4a\\x0f\\x3e\\x39\\xfd\\xfc\\xab\\xf6\\xf9\\x78\\x7a\\x45\\xa0\\x3c\\xf9\\xeb\\xf8\\x0c\\x67\\xb3\\xb3\\xd5\\x19\\xab\\xfa\\x32\\xff\\xcb\\x35\\xbe\\xc5\\xff\\x8e\\xf3\\xae\\xf3\\x91\\x53\\xf4\\xbe\\x84\\x2a\\x66\\x88\\xc9\\x5c\\xc1\\x05\\xae\\xe0\\x82\\x62\\x5e\\xf3\\xb5\\x66\\x41\\x71\\xaf\\xa0\\xc8\\x57\\x50\\xec\\x2b\\x28\\xfa\\x15\\xc2\\xe8\\xe5\\x39\\x4a\\x2f\\x52\\x32\\x6f\\x06\\xec\\xa5\\xfc\\x4d\\x4a\\x46\\x77\\x47\\x84\\xb9\\x34\\x1b\\x5f\\x7b\\x1a\\xd1\\x2f\\x89\\x4a\\xb9\\x16\\x35\\x47\\x3f\\xff\\x31\\x7d\\x82\\xfd\\x45\\x55\\xff\\x89\\x5a\\x62\\x44\\x3f\\x32\\xe5\\xe2\\xcb\\xa6\\xbd\\xf8\\xf3\\x32\\x1f\\xc9\\x31\\x90\\xc5\\xf5\\x18\\xb7\\x9d\\x40\\xd4\\x76\\xde\\x27\\xdb\\x37\\xc1\\x73\\x6d\\xd1\\x7c\\x2c\\xbb\\x49\\x1c\\x6d\\xe2\\x78\\x1e\\xf3\\x14\\x01\\x8e\\x1f\\x37\\xb6\\x36\\xe2\\xc7\\xc8\\xc8\\x3b\\x43\\xf0\\x9e\\xb0\\x78\\x4f\\xfc\\x83\\x4f\\x5b\\xc6\\x1a\\x88\\x46\\xc6\\x8b\\x21\\xe3\\x82\\xb2\\xfe\\x4f\\x3e\\x8e\\x9d\\x59\\xda\\x97\\x13\\x69\\x3d\\x5a\\x8b\\xd7\\xdf\\x01\\x6e\\xcb\\xc7\\x8c\\xfb\\x5b\\x95\\xa0\\xe6\\x5a\\xfe\\x9f\\x97\\x60\\x22\\xdd\\xdb\\x42\\x55\\xed\\xa2\\xcf\\x7d\\xec\\xee\\x39\\xf6\\xb9\\x65\\x66\\xa2\\x30\\x93\\x8b\\x27\\xc9\\x71\\xa2\\x75\\xf3\\x70\\x3e\\xa1\\x8c\\x13\\xec\\xf4\\xdf\\x41\\xc6\\x9a\\x7a\\xad\\xc8\\x78\\xb1\\xe8\\xf1\\xc9\\x78\\xe2\\xef\\xb8\\x7e\\x1f\\xbf\\x57\\x26\\xd2\\xbb\\x91\\x60\\xe1\\xdf\\x8a\\x04\\xb5\\xf7\\xca\\xb1\\x70\\xff\\xce\\x66\\x5e\\x73\\x35\\xff\\x0e\\x66\\x5e\\x6b\\xed\\x71\\x57\\xf9\\x81\\xcf\\xf8\\x5d\\xe5\\x03\\x1c\\x6f\\xf9\\xe9\\x1d\\xbe\\xf2\\xa6\\x71\\x2d\\xe3\\xdb\\x37\\xf9\\xe2\\xb6\\x03\\xe3\\xda\\xfd\\xfd\\x37\\x4d\\x80\\x75\\xc7\\x04\\x2d\\x9b\\x26\\xa0\\x07\\xc6\\x95\\xc7\\xcb\\x3c\\x91\\x3c\\x77\\xf8\\x8e\\xde\\x31\\xae\\xe7\\x44\\xf4\\xd8\\x3a\\x99\\x48\\x1b\\xe3\\x67\\x31\\x11\\xcf\\xf1\\xb3\\x5e\\x5c\\x7b\\xa6\\xc5\\x4b\\x2a\\xd4\\x37\\x6a\\xf2\\xbe\\xa4\\x74\\xb6\\x39\\xbb\\x9c\\x3d\\xfc\\xfe\\x5f\\x33\\x5b\\x12\\x21\\x66\\x88\\x1a\\xf1\\x38\\xf6\\xef\\xfd\\x9f\\xed\\xfd\\xeb\\xa4\\xf9\\x1e\\xcf\\x6d\\xde\\xdd\\xa6\\x4a\\x59\\xee\\xf5\\xee\\x39\\x31\\xdd\\x52\\x69\\xf1\\xb7\\xcb\\xd3\\x7d\\xb4\\xbf\\x76\\x1f\\xf0\\xdc\\x3b\\x01\\xbd\\x2d\\x88\\x28\\xe7\\x1b\\x1a\\xe2\\x7b\\x19\\x0e\\xaf\\x52\\xe9\\x2e\\x94\\x8f\\xee\\xad\\x94\\xfd\\xf2\\xa3\\xdd\\x2f\\x95\\x8f\\xa7\\xc7\\x2d\\xb4\\xa1\\xc2\\xdf\\x5f\\xf6\\xf8\\xf8\\xe9\\xe4\\x75\\x52\\x43\\x1b\\x3e\\xf4\\x09\\x35\\x70\\xcc\\x59\\x7b\\xf7\\xc9\\xd0\\xe7\\xf4\\x09\\x66\\x57\\xa1\\x93\\xdf\\xbf\\xb6\\xf3\\xac\\xf3\\x3c\\xbf\\x8b\\x1d\\x15\\xde\\x3b\\x43\\x7f\\xff\\xf6\\xec\\x19\\x1c\\x81\\x5e\\xc8\\x91\\x63\\x17\\xd3\\xc3\\xdc\\xf2\\x38\\x5b\\xa8\\x0d\\x4c\\x0f\\x70\\xcb\\x87\\x15\\xea\\xb5\\x3b\\xad\\x95\\xfe\\xf6\\x28\\xb7\\xa4\\x2b\\xd4\\x1f\\x99\\xca\\xbd\\xa2\\x1c\\xf3\\x3a\\x3f\\xe2\\xf2\\x6d\\x3c\\x6a\\x37\\x97\\x4f\\xf7\\x45\\xaf\\x87\\x83\\x7c\\x3c\\xce\\x7e\\xea\\x71\\x03\\xe2\\x19\\x41\\x99\\xc7\\xcb\\x33\\x9e\\x67\\x0d\\x7a\\x46\\x90\\x4e\\x5e\\x27\\x13\\x6a\\xe3\\x8c\\xa0\\x06\\xfc\\x73\\x9f\\x70\\xd6\\x67\\x54\\x78\\x42\\x86\\xc3\\x3e\\x8d\\xf9\\xf4\\xe0\\x21\\x32\\x3d\\x9e\\x3d\\xfb\\x8c\\xf3\\xdb\\xea\\x3d\\x2b\\xce\\x12\\xde\\x3b\\x77\\x5e\\xa4\\x76\\xbe\\xcf\\x3f\\x39\\xa9\\x3c\\xe2\\xe3\\x7d\\x1e\\x4b\\x9c\\xc8\\x4f\\xc7\\x43\\xa1\\xba\\x50\\x24\\xd4\\x18\\x6a\\x0d\\x4d\\x0f\\xff\\x15\\x3f\\x0b\\xdb\\x11\\x7e\\x31\\xfc\\x52\\xf8\\x37\\xe1\\x5d\\xe1\\xdd\\xe1\\x3d\\xe1\\xfd\\xe1\\xb7\\xcc\\x33\\x6f\\x42\\x93\\xe2\\x54\\x71\\x86\\x38\\xc7\\x8c\\xac\\x81\\x67\\x39\\xfb\\x99\\xee\\xfd\\x14\\x38\\xbf\\xfb\\x29\\x73\\xde\\xff\\xa9\\x71\\x7e\\xe3\\x53\\xe3\\xfc\\xd6\\xa7\\xc6\\xf9\\xc0\\xef\\xc0\\xd9\\xec\\xc4\\x2f\\x4c\\xb0\\x13\\x3d\\xbe\\xc7\\xcf\\xd1\\x93\\xb4\\xc4\\xd1\\x3c\\xbf\\xae\\x63\\x2f\\xda\\xf3\\xa0\\xdf\\xad\\x5a\\xbf\\xc9\\xf6\\xdf\\x81\\x55\\x39\\x3e\\xfe\\x93\\xef\\xef\\xf1\\x7f\\x73\\xd2\\xfd\\x9f\\x39\\xce\\xfe\\x5b\\xb1\\xf6\\x93\\xed\\xbf\\x17\\x2b\\x3a\\xd9\\xfe\\xfb\\x8f\\xb3\\xff\\xd6\\xe3\\xec\\xff\\xcc\\x71\\xf6\\xdf\\x71\\x9c\\xfd\\x5f\\x3c\\xce\\xfe\\xef\\xfa\\xfa\\x7f\\x81\\xae\\xac\\x36\\x9d\\x19\\x33\\x31\\xe2\\x64\\x1f\\xc7\\x5f\\x8b\\xd2\\x5b\\x15\\x56\\x68\\xea\\x24\\x7b\\x1f\\x42\\x6f\\xab\\xa5\\x9f\\xdf\\x67\\xce\\x8b\\x17\\xd9\\x6b\\x88\\x59\\x17\\x58\\xd7\\x5a\\xfd\\xd6\\xb7\\xad\\x2d\\x64\\xf1\\x95\\x3d\\x60\\xdf\\x6c\\xdf\\x6e\\xaf\\xa2\\x74\\xbf\\x79\\x26\\x24\\x67\\xca\\x33\\xe5\\x15\\x72\\xb9\\xbc\\x4b\\xae\\x91\\xbb\\xe5\\x51\\x67\\x9a\\x33\\xdb\\x49\\x3b\\x8f\\x85\\x66\\x85\\xce\\x95\\x33\\x43\\x8b\\x43\\x1b\\x43\\x5b\\xea\\x4e\\xac\\x9b\\x59\\x77\\x79\\xdd\\x77\\x43\\x1b\\xeb\\xd6\\xd7\\x3d\\x5f\\xb7\\x27\\xb4\\xb1\\xbe\\x95\\xda\\xe9\\x7f\\xfd\\xf9\\xf5\\x57\\xd4\\x5f\\x53\\xbf\\xa0\\x7e\\x4d\\xfd\\xce\\x70\\x32\\xbc\\x36\\xfc\\xd3\\xf0\\x96\\xf0\\x7b\\x91\\xe9\\x91\\xd9\\x91\\xf3\\x22\\x0b\\x23\\x77\\x45\\x0e\\x46\\xe7\\x44\\x1f\\x69\\xb8\\xb0\\xe1\\xfa\\x86\\xef\\x36\\xdc\\xdd\\x70\\x5f\\xc3\\x9a\\x86\\x9d\\x8d\\xcd\\x8d\\x17\\x34\\x5e\\xde\\x78\\x57\\xe3\\x33\\x8d\\x1f\\x36\\xd5\\x35\\xcd\\x6a\\x3a\\xbf\\xa9\\xa7\\xe9\\x9e\\xa6\\x07\\x9a\\x1e\\x69\\x7a\\xba\\xe9\\x60\\xb3\\xd3\\x3c\\xbb\\xb9\\xbf\\xf9\\x7b\\xcd\\x1b\\x9a\\x9f\\x68\\xde\\xde\\xfc\\x52\\x8b\\x68\\x39\\xb5\\xe5\\xac\\x16\\xdd\\x72\\x49\\xcb\\x35\\x64\\x85\\xce\\x28\\xde\\x29\\x52\\xc5\\x1d\\xe2\\xbc\\xe2\\x0e\\xf9\\xe5\\xe2\\x9d\\xb2\\x8b\\xd2\\x57\\x28\\x5d\\x4a\\xe9\\x2a\\x6a\\xfb\\x06\\xa5\\x3f\\x2c\\x9a\\x75\\x9c\\x56\\xec\\x16\\x11\\x21\\xb9\\x7f\\xb7\\xc8\\x50\\x3a\\xb7\\xb8\\x81\\xc6\\x75\\x8b\\xab\\xe9\\xf8\\x35\\x94\\xe6\\x17\\x77\\xd4\\xef\\xa6\\xba\\x14\\x2d\\xc5\\x53\\xc4\\x14\\x4a\\x86\\x7b\\x3d\\x8d\\xd9\\xe0\\x1b\\xd3\\xcd\\x63\\xe6\\x17\\x37\\x50\\xdf\\x3b\\x49\\xb3\\x92\\x46\\xb6\\x1c\\x3d\\x2c\\xa6\\x50\\x3a\\x83\\x8e\\x38\\x2c\\x4f\\x86\\xd2\\xb9\\x9e\\x5c\\x62\\xaa\\xd7\\x87\\xf8\\xb5\\xd2\\x08\\xc3\\xf7\\x14\\x4a\\xa7\\x32\\xff\\x6e\\x11\\xa3\\x63\\x5d\\x54\\xd6\\x94\\x2e\\xa4\\x74\\x09\\xa1\\x5d\\x4e\\xf9\\x95\\x94\\x5f\\x45\\xf9\\x3c\\xca\\xaf\\xa1\\x71\\xf3\\x29\\x35\\x11\\x97\\x2e\\x70\\xe9\\x22\\x2e\\x1b\\x88\\xcb\\x06\\xe6\\xd2\\x45\\xe9\\x42\\x6a\\xbf\\x84\\xb8\\x5d\\x4e\\xb9\\x19\\x6d\\x46\\x92\\x9c\\xe4\\x53\\xb6\\x50\\x4b\\x2b\\x1d\\x99\\x42\\xf9\\x29\\x94\\x9f\\x4a\\xe9\\x0c\\x3a\\xd2\\x45\\xe9\\x42\\x1e\\xb1\\x83\\x46\\xec\\xa0\\x11\\x46\\x0b\\x6f\\x8a\\x96\\xf2\\xac\\x5a\\x09\\xc7\\xcc\\xec\\x14\\x1a\\x79\\x6a\\xf1\\x9b\\x3e\\xac\\x2e\\x48\\xda\\x25\\xbe\\x4e\\xf5\\x2b\\x28\\x9f\\x47\\x7d\\xae\\xa6\\x64\\x8b\\x8b\\x8c\\x26\\xc5\\x3f\\x62\\x4d\\x1a\\x59\\xef\\xa4\\xda\\x25\\xd4\\xde\\x42\\x3d\\xa7\\x50\\xb2\\x4b\\xed\\x22\\x22\\xbf\\x5a\\x7c\\x56\\x5e\\x4e\\xe9\\xaa\\x62\\x37\\xad\\x56\\xb7\\x9c\\x57\\xfc\\x05\\xad\\x58\\xb7\\xcc\\xd1\\xca\\x15\\x28\\xdd\\x68\\x56\\x8f\\x8e\\x3c\\x26\\xa6\\xc9\\x4e\\xb1\\x8e\\x56\\xb8\\x9b\\x56\\xb8\\x9b\\xc6\\xad\\xa4\\x55\\xee\\xa6\\xb1\\x2b\\x69\\xcc\\x4a\\xf9\\x07\\xc5\\xfb\\xe5\\x02\\xaa\\x67\\x8b\\x1b\\xe4\\xa2\\xa2\\x96\\x79\\x2a\\xdf\\x40\\xe5\\x1e\\xca\\xfb\\x28\\x2d\\xa3\\xb6\\x61\\x4a\\x2b\\x28\\xdd\\x2c\\x16\\xca\\x5b\\x8a\\xe4\\xbd\\x13\\xdf\\x6d\\x84\\xb6\\x4d\\x34\\x98\\x9d\\x31\\x19\\x59\\x78\\x87\\x84\\x49\\xfe\\xd3\\x48\\xfe\\xd3\\x48\\xa2\\xd5\\x24\\x51\\x17\\x49\\xd4\\x45\\xd2\\x74\\x11\\xe2\\x5a\\xe2\\x3e\\x4f\\xd4\\x05\\xf8\\xfd\\x31\\xf3\\x23\\x5e\\x22\\x44\\xfd\\x77\\x50\\xff\\x1d\\xd4\\xdf\\xec\\xcf\\xc7\\xa8\\xf5\\x31\\xd1\\x42\\x7d\\x7f\\x42\\x7d\\x7f\\x42\\x98\\x77\\xca\\x6b\\x8b\\xaf\\xd2\\x1c\\x5e\\x95\\x4b\\x28\\x75\\x53\\xba\\x9e\\x52\\x3f\\xa5\\x65\\x94\\x86\\x29\\xad\\xa0\\xf4\\x4d\\x4a\\xb7\\x50\\xba\\xb5\\xf8\\xea\\x38\\xb4\\xee\\x71\\x68\\xcf\\x56\\xa1\\xd5\\x61\\x7d\\x8f\\xd0\\xda\\x1e\\x29\\x6b\\xf4\\x52\\xb3\\x32\\x72\\x80\\xf4\\xb8\\xbc\\x78\\xbf\\xb9\\x03\\xc5\\xbb\\x96\\xe7\\x49\\xeb\\x7f\\x1a\\xad\\xbf\\x99\\xef\\xa8\\x6f\\x05\\x76\\x60\\x05\\x76\\x90\\xd4\\x3b\\x68\\x05\\x76\\x90\\xe4\\xa7\\xc9\\xeb\\x28\\x2d\\x2c\\x5e\\x4a\\x33\\x38\\x8d\\x34\\x77\\xa9\\x5c\\x4a\\x79\\xbe\\x78\\x3d\\xaf\\x46\\x1f\\xe5\\x05\\x92\\x75\\x19\\xb5\\x0d\\x53\\x1a\\x29\\xce\\xa5\\xd9\\x9c\\x46\\x9a\\xbd\\x53\\xde\\x44\\xc7\\x6e\\x26\\xfe\\xdf\\xa2\\x31\\xb7\\x50\\xdb\\x1f\\x15\\x2f\\x15\\x9f\\x2f\\x4b\\xda\\x4a\\xeb\\x45\\xd2\\x62\\x27\\xde\\x19\\x90\\xe4\\xd8\\x7b\\x21\\x47\\xf5\\x63\\xef\\x87\\x1b\\x79\\x3f\\x48\\xe2\\xf8\\x8b\\xb2\\x96\\xa2\\x34\\x9b\\xf5\\x34\\x7e\\x3d\\xad\\xc3\\x7a\\x5a\\x83\\xbf\\xa6\\x31\\xeb\\x69\\xcc\\x7a\\x1a\\xb3\\x9e\\xf4\\xbf\\x9e\\xc6\\xac\\x27\\xfd\\xaf\\x17\\x9f\\x33\\x52\\xfe\\xad\\xef\\x4e\\x47\\xf6\\x12\\xe6\\x40\\xf1\\x15\\x5a\\x8f\\x57\\x48\\x43\\x9b\\xc5\\x54\\x92\\x68\\x84\\xf8\\xec\\x20\\x1e\\x23\\x34\\xab\\x75\\x24\\xd9\\x06\\xe2\\xb5\\x83\\xa4\\xbb\\x9f\\xf8\\xed\\x20\\x7e\\x66\\xa7\\xae\\x23\\x7e\\x23\\x34\\x72\\x1d\\xf1\\x1c\\xa1\\xd1\\xeb\\x88\\xef\\x08\\x49\\x3c\\x42\\x7c\\x47\\x48\\xe2\\x11\\x3a\\xa3\\x88\\xb7\\x68\\x3a\\xe6\\x4e\\x1b\\x9a\\x60\\xb7\\x99\\x51\\xbb\\x68\\xd4\\x2e\\x1a\\xb5\\x8b\\x7a\\xef\\xa2\\xde\\xbb\\xa8\\xf7\\x36\\xea\\xbd\\x8b\\x56\\xf4\\x29\\x1a\\xb1\\x83\\x46\\xec\\xa2\\x11\\xbb\\x68\\x15\\x9f\\xa2\\x51\\xbb\\x58\\x9b\\x9b\\x69\\xd4\\x66\\x1a\\xb5\\x99\\xb0\\x36\\xd3\\xc8\\xcd\\x34\\x72\\x33\\x8d\\xdc\\x4c\\x23\\x37\\xd3\\xa8\\xcd\\x34\\x62\\x33\\x5d\\x13\\xae\\xa5\\xf9\\x2e\\xa2\\xd4\\x4d\\x69\\x19\\xa5\\x21\\x4a\\xc3\\x94\\x56\\x50\\xfa\\x26\\xa5\\x5b\\x8b\\xaf\\xd0\\x5a\\xf9\\xb4\\xc3\\xdc\\xbd\\x31\\x4b\\x3e\\x66\\x5c\\xc3\\x38\\x39\\x82\\x32\\x7c\\xd3\\x93\\x83\\x7a\\x6f\\x16\\x21\\x3a\\x03\\xea\\xe8\\x0c\\xa8\\x13\\xbd\\xa4\\xb5\\x6f\\x15\\x47\\xea\\x7f\\x53\\x1c\\x13\\x16\\x5d\\x05\\x16\\x30\\x1d\\x11\\x53\\xe4\\x2f\\x44\\x97\\xdc\\x54\\xdc\\x27\\xb7\\x88\\x2f\\xc9\\xa7\\x8a\\x63\\xf2\\x69\\x2a\\x3f\\x43\\xf9\\x58\\x71\\x81\\xdc\\x5e\\x5c\\x23\\x9f\\x2d\\x8e\\xca\\xe7\\xa9\\xfc\\x12\\xb5\\xed\\x12\\x27\\xc9\\x77\\x28\\x3f\\x44\\x7d\\xde\\xa5\\xf2\\x51\\xf1\\x25\\xe2\\xb2\\x52\\x34\\xcb\\x9f\\x50\\xab\\xe1\\xf2\\x14\\x8f\\xde\\x47\\xa3\\x57\\xd3\\xe8\\x6d\\x34\\x7a\\x9f\\x7c\\x8e\\x8e\\x3d\\x4f\\xf5\\x1d\\xc4\\xe9\\x25\\xaa\\xef\\xa4\\xb4\\x9f\\xd2\\x21\\x92\\xe5\\x73\\x34\\x72\\x54\\xfe\\x82\\x7a\\x3c\\xc9\\x1c\\x46\\xe5\\x16\\xe6\\x32\\x4a\\x5c\\x46\\x89\\xcb\\x08\\x71\\x19\\x65\\x19\\x9e\\x23\\x59\\x3c\\x2e\\x2b\\x89\\xc3\\xa8\\xfc\\x2d\\xf5\\x7b\\x83\\xd2\\x3b\\x54\\x36\\xf2\\xbc\\x47\\xe9\\x70\\x71\\xd4\\x11\\xc5\\x7d\\xe4\\x57\\x04\\xe6\\x4d\\x28\\x23\\x84\\x32\\x42\\x08\\x63\\x84\\xb0\\x52\\xfe\\x92\\x64\\x7b\\x8a\\xf2\\x67\\x88\\xa3\\xe1\\xb6\\x8b\\xca\\xaf\\x50\\xfa\\x2d\\xf5\\xd9\\x43\\x69\\x1f\\x95\\xf7\\x53\\x7a\\x83\\xd2\\x9b\\x94\\xde\\xa2\\xb6\\xb7\\x29\\x3f\\x44\\xf9\\x87\\x94\\x7f\\x44\\xa9\\x58\\x5c\\x49\\x68\\x9e\\x4e\\xeb\\xe4\\x76\\xd2\\xc7\\xb3\\x3c\\xd3\\x8d\\x14\\x01\\x77\\xc9\\xb7\\xa8\\x7e\\x48\\x7c\\x89\\xae\\x49\\x06\\xf3\\x20\\x49\\x15\\x85\\x86\\xc6\\x3c\\x0d\\xd1\\xf1\\xed\\xa4\\xf3\\x1d\\x94\\x8c\\x5e\\xf7\\xd0\\xfe\\x7c\\x8b\\xb5\\xb2\\x4f\\x84\\xa1\\x85\\x92\\x2e\\xc7\\x48\\x0b\\xfb\\x58\\x97\\xcf\\x53\\x99\\xf4\\x47\\x57\\x46\\xbf\\xb6\\x3d\\xec\\x8d\\xb4\\xab\\x4c\\x9f\\x97\\x19\\xf9\\x24\\xda\\x89\\xde\\x88\\x7d\\x1e\\x7f\\x4a\\x46\\xa6\\x83\\xde\\x51\\xd2\\xd5\\x3e\\x5a\\xbf\\x93\\x68\\x47\\x99\\xb5\\x2b\\xad\\x80\\xc1\\xdd\\x4e\\xf9\\x73\\xa4\\x17\\x0f\\x6b\\x8c\\x74\\x32\\xc6\\xeb\\x45\\x1a\\x26\\x4f\\xb0\\xe5\\xe8\\xb7\\xe8\\x4a\\xf6\\x2d\\xba\\x92\\x8d\\xd1\\x95\\x6c\\x8c\\xb4\\xbb\\xb2\\xac\\xdd\\x27\\xa9\\x57\\x45\\xc3\\xbe\\xb9\\xf2\\x6e\\x18\\xc3\\x6e\\x58\\xcd\\x5c\\x77\\xf1\\x1a\\x2e\\xa0\\x79\\xaf\\xa1\\x79\\xaf\\x91\\x47\\x8b\\x63\\xa4\\xcd\\x51\\xb2\\x25\\x25\\x79\\x78\\x57\\x52\\xaf\\x12\\xa7\\x31\\x2a\\x6f\\xe7\\x9d\\xb0\\x92\\x64\\x1b\\xa5\\x9d\\xb0\\x91\\xf7\\x93\\x99\\xdd\\xab\\xa4\\x45\\x9a\\x91\\x38\\xad\\xec\\xfd\\xf4\\x16\\xd7\\x90\\x6c\\x6b\\xb0\\xbf\\x46\\xe5\\x93\\xd4\\xcb\\xe3\\x38\\x46\\xdc\\x56\\xf3\\x9e\\xf2\\xe4\\x58\\x4d\\x2b\\xbf\\x86\\xe4\\x58\\x49\\xab\\xbe\\x46\\xbe\\x4e\\x69\\x3f\\xb5\\xbd\\xc1\\x72\\x2d\\x90\\x07\\x28\\x37\\x2b\\x7f\\x90\\x57\\x7f\\x25\\x69\\x61\\x8d\\x3c\\x42\\xe9\\x43\\x4a\\x1f\\x51\\x2a\\x16\\xd7\\x90\\xdc\\x2b\\x79\\x17\\x9c\\x49\\xda\\x39\\x40\\xda\\x39\\x50\\xd6\\x8e\\x27\\xc5\\x6a\\x68\\x68\\x35\\xb4\\x33\\xca\\x3b\\xfc\\x59\\x3e\\x1f\\x3c\\x1d\\xbf\\x4c\\xc9\\xec\\xbf\\xdd\\xd4\\xc7\\xd3\\xca\\x88\\x7c\\x95\\x8e\\xef\\x65\\xa9\\x56\\xcb\\xd7\\xa8\\xfc\\x3a\\xe5\\xfb\\xa9\\xfd\\x0d\\xca\\xdf\\xa4\\x64\\xf6\\xe4\\x01\\xca\\xdf\\xa6\\x74\\x90\\xca\\xef\\x51\\xfe\\x3e\\xa5\\x0f\\x28\\x1d\\xa1\\x54\\x2c\\xae\\xc6\\xfe\\x34\\x3b\\xca\\xd3\\xea\\x28\\xa3\\x8f\\x11\\xd7\\xed\\xe5\\x15\\xde\\x48\\x5c\\x47\\x45\\x3d\\xcb\\x56\\x3a\\xf3\\x3c\\xd9\\x36\\x62\\x47\\x8e\\xd1\\x2e\\x7e\\x8a\\xcf\\x7f\\xb3\\x9f\\x77\\x95\\x77\\x36\\x9d\\x39\\x7c\\x15\\x69\\xf6\\xed\\xa1\\x51\\x68\\x79\\x23\\xad\\xdb\\x18\\x76\\x80\\x59\\xbb\\x38\\xf6\\xd4\\x02\\x5c\\x03\\x56\\xf3\\x55\\xa8\\xc1\\x5b\\x1b\\xda\\xfb\\xa5\\xd5\\x7e\\x8e\\x46\\x7a\\xbb\\x6e\\x94\\x56\\xf5\\x24\\x23\\x9b\\x39\\xcf\\xf9\\xbc\\x6e\\xc4\\x6a\\xae\\xc1\\x5e\\x5d\\xed\\x3b\\x47\\x56\\x82\\xbf\\xd9\\x55\\xab\\xb1\\x82\\xfb\\xc8\\x0a\\xed\\xe5\\x6b\\x84\\x77\\xcd\\x3a\\x4c\\x33\\x69\\xa1\\x15\\xdf\\xc6\\x7d\\xf6\\x50\\xcb\\xab\\x94\\xf6\\xf2\\xfe\\x36\\xfd\\xf9\\x3c\\x35\\xf3\\x95\\xef\\xf2\\x7e\\x1f\\x35\\x57\\x14\\xf9\\x37\\x94\\x8e\\xb2\\x04\\x63\\xa2\\x95\\x46\\xd3\\x19\\x46\\xc9\\x5c\\x7f\\x2a\\x1c\\xcc\\x15\\x6d\\x1b\\x5f\\x8f\\x8c\\xc6\\x0e\\x96\\x31\\x3d\\x4e\\x87\\x89\\xfb\\xdf\\xe0\\xda\\x14\\x2d\\x5d\\x9b\\x88\\xd3\\x18\\xe4\\x18\\x03\\x87\\x31\\x1a\\x6d\\x64\\x18\\xe3\\x9e\\x36\\x8d\\x19\\xe3\\x73\\x34\\x02\\xc4\\x31\\x9f\\xbc\\xa3\\xbe\\x2b\\xdf\\x98\\x91\\x93\\xe6\\xfa\\xb2\\xef\\xdc\\xfe\\x1b\\x5a\\xa1\\x86\\xf2\\xb8\\x3d\\x65\\x29\\x2b\\x12\\xf2\\x55\\xdc\\xbb\\x6a\\x1a\\x24\\xba\\x3e\\xd1\\xfa\\x12\\x8f\\x2f\\xf1\\xb5\\x62\\xaf\\xd1\\xbd\\xef\\x9a\\xf1\\x0e\\x78\\x1b\\x79\\x6c\\x6e\\x35\\xda\\x94\\x8c\\x60\\x38\\x9b\\x2b\\x4e\\xd8\\x27\\xa3\\x37\\x9f\\x92\\xe6\\xdf\\x83\\xf6\\x4d\\x8f\\x6d\\x38\\xba\\x31\\x78\\x94\\x67\\xed\\xf0\\xaa\\xbf\\xe5\\xbb\\x42\\x45\\x4b\\xe7\\x34\\xeb\\xde\\xec\\x0b\\xd6\\x3b\\x5d\\x63\\x3d\\x8d\\x61\\x36\\xd4\\xb3\\x95\\x7a\\xc6\\xa9\\x67\\x5c\\x7c\\x8b\\xc6\\xef\\xc2\\xb5\\xb0\\x32\\xe2\\x24\\x1e\\xe1\\xad\\xd2\\xab\\x74\\xde\\x78\\x23\\x8d\\x0e\\x8e\\x62\\x87\\xd5\\x97\\x35\\xe6\\x97\\xbe\\x24\\x5b\\xa4\\xbc\\xfa\\x25\\x7d\\x56\\x56\\xbb\\xa4\\xcb\\x31\\x9a\\x41\\xe0\\x28\\x69\\x69\\x0f\\x6a\\x87\\x58\\x7b\\xef\\xd0\\x59\\x70\\x98\\xce\\x1b\\x4f\\x5f\\xac\\xed\\xd2\\xfa\\xc3\\xc2\\xbe\\x57\\x96\\xa7\\xa4\\xd1\\x92\\xe4\\x38\\xca\\x48\\x76\\x79\\xbe\\xf5\\x65\\x8b\\x57\\xb9\\xf2\\x2c\\xa0\\x2b\\xcf\\x02\\x58\\xfc\\x57\\xc8\\x0f\\x95\\x1c\\x0b\\x5e\\xc5\\x51\\xc0\\x0e\\xb2\\x20\\x7f\\x4e\\x52\\x8c\\x52\\x32\\x96\\xde\\xbb\\x9e\\x8e\\x52\\xa4\\x99\\xa7\\x7e\\xd3\\x28\\xfe\\x3f\\x5b\\xfc\\x63\\x11\\x17\\x09\\x91\\x12\\x19\\x71\\xae\\x38\\x4f\\x5c\\x24\\xae\\x14\\x57\\x8b\\x6b\\xc4\\x7c\\xf9\\x65\\x79\\x81\\x6c\\x97\\x1d\\xb2\\x4b\\x6a\\xf9\\x15\\xf9\\x55\\xf9\\x35\\x79\\xa9\\xbc\\x9c\\xa2\\xee\\x2b\\xe5\\x55\\xf2\\x1b\\x72\\x9e\\xbc\\x46\\xfe\\x81\\xfc\\x43\\xb9\\x44\\x76\\xcb\\xeb\\x65\\x8f\\xec\\x95\\xfd\\x72\\x99\\x1c\\x90\\x83\\x14\\x95\\xaf\\x90\\x37\\xca\\x6f\\xca\\x5b\\xe4\\xad\\xfc\\xbe\\xe5\\x5f\\xc8\\x9f\\xc8\\x9f\\xca\\x9f\\xc9\\x9f\\xcb\\x5f\\xc8\\x27\\xe4\\x93\\x72\\x93\\xfc\\x2b\\xb9\\x45\\xfe\\x52\\x3e\\x25\\xb7\\xc9\\x67\\x24\\xd9\\x3c\\xf9\\xac\\x7c\\x4e\\xfe\\x4a\\xbe\\x20\\x77\\xc8\\x5f\\xcb\\x97\\xe4\\x6f\\xe4\\x2e\\xf9\\xb2\\x7c\\x85\\xe2\\xfa\\xdf\\xca\\x3d\\xf2\\x55\\xb9\\x57\\xbe\\x2e\\xf7\\xcb\\x37\\xe4\\x5b\\xf2\\x6d\\x79\\x50\\xbe\\x23\\x0f\\xc9\\x77\\xe5\\x7b\\xf2\\x7d\\x79\\x44\\x7e\\x24\\x8f\\xca\\xa2\\xd3\\xe2\\xb4\\xd7\\xbf\\x52\\xbf\\xbb\\x7e\\x1f\\xcd\\x2a\\x4a\\xbe\\xd0\\xc9\\x44\\x71\\x27\\xe2\\xef\\xc9\\x13\\x8b\\x05\\xe6\\xed\\x5b\\xf9\\x43\\x43\\xed\\x5b\\xb9\\xfc\\x38\\xd3\\xbd\\xfc\\xdb\\xa3\\x43\\xdc\\x3e\\x93\\xdf\\xd0\\x4d\\x57\\xa8\\xd7\\x2e\\xfb\\x83\\xd4\\xf9\\x51\\x85\\x62\\xec\\xed\\xbe\\x76\\x8f\\xc3\\x25\\x15\\x2a\\xb7\\x57\\xa8\\x77\\x54\\xce\\x37\\x34\\x34\\xb7\\x32\\x6a\\x3c\\x8a\\x27\\x1b\\x10\\x17\\x04\\x65\\x1e\\x2f\\x8f\\xc7\\xd3\\x2b\\xd7\\xad\\xae\\xf0\\xf7\\x97\\x3d\\x3e\\x7e\\x3a\\x29\\x9d\\xdc\\xf7\\xf1\\xda\\xa8\\xd2\\xc0\\xb8\\xb9\\x4f\\x34\\x6b\\x7b\\x15\\xb7\\x7f\\xe8\\xeb\\x79\\xc9\\x04\\xda\\xe8\\x3f\\xae\\xdf\\x1e\\x95\\xde\\x8f\\xf1\\x3f\\x65\\x2b\\xff\\x8e\\x09\\x7b\\x76\\xcb\\x67\\x7b\\xcf\\xe2\\x4d\\xce\\x33\\xf9\\x79\\x10\\xbf\\xb3\\xea\\x7f\\x5b\\xd5\\xff\\x86\\xaa\\xff\\xed\\x65\\xb1\\x89\\xdb\\xfd\\xef\\xa3\\x8e\\x7f\\x07\\xf5\\xc7\\x4c\\xfd\\xef\\xa0\\x7a\\x3c\\x1f\\xf1\\x3d\\x5d\\xf2\\xd3\\x1e\\xdf\\x53\\x24\\xdf\\x5b\\xa6\\xfe\\x77\\x59\\xc1\\x6d\\x9e\\xaf\\xbc\\x6a\\x9c\\xcc\\xe3\\xe5\\x19\\xf5\\xf5\\x9c\\xe0\\x2d\\x5f\\xef\\x09\\x1a\\x9e\\xd3\\xf9\\x78\\x7e\\x8c\\x4e\\xfc\\x6f\\x71\\x4f\\xa0\\x0d\\xbf\\x06\\x6a\\xcc\\x7d\\xa2\\x59\\xfb\\xde\\xa7\\xf5\\xbf\\x43\\x5b\\xe3\\x5d\\xd9\\xe3\\x7b\\x4b\\xf6\\x77\\x79\\xa7\\xe7\\x64\\x42\\x58\\x42\\xc9\\xc8\\x3a\\x20\\xcc\\xdf\\x15\\x13\\xe2\\x16\\x4a\\xe6\\xb9\\xdf\\xed\\x94\\xee\\xa2\\x74\\x0f\\xa5\\xfb\\x28\\x3d\\x48\\xc9\\xcc\\xd5\\xcc\\xd4\\x3c\\x29\\xdc\\x48\\xc9\\x68\\xf5\\x09\\x4a\\x66\\x1e\\xcf\\x50\\x7a\\x9e\\xd2\\x4b\\x94\\xcc\\x33\\xd6\\xd7\\x28\\x99\\x27\\x96\\xef\\x09\\xab\\x98\\xe6\\xb7\\x52\\x27\\x41\\x8f\\x3e\\x3a\\xae\\xbd\\xf5\\x13\\x51\\xef\\xbe\\x36\\xd1\\xa3\\x8f\\x33\\xff\\x1f\\x32\\xdd\\x6e\\x28\\xce\\xe3\\x47\\x3f\\xeb\\xe7\\x71\\xe5\\x2d\\x04\\xef\\x4d\\x05\\xfc\\x86\\x88\\x7f\\x29\\x83\\xdf\\x04\\xf1\\xdb\\x06\\xa5\\xdf\\x0a\\xf9\\xda\\xef\\xaa\\x50\\x7b\\x6d\\xe5\\xa8\\xf7\\xee\\x05\\xfa\\xf0\\x2f\\x83\\xf0\\x9b\\xa0\\x79\\xe3\\x68\\xd8\\x47\\xe7\\xf8\\xb0\\x46\\x7d\\x88\\xe1\\x71\\xd4\\x3f\\x76\\x55\\x65\\x2c\\x64\\xdb\\xe2\\x93\\x67\\xed\\x38\\xf9\\x47\\x2b\\xef\\x46\\x54\\x95\\x57\\x8d\\x9b\\xe3\\xa4\\x75\\x32\\x91\\x36\\xa0\\x87\\x89\\x34\\x70\\xcc\\x59\\x8b\\x0d\\xbe\\xb7\\x49\\x66\\x8d\\xd3\\xf3\\xda\\x00\\xe2\\xe4\\xcf\\xe3\\x63\\xbf\\x69\\x69\\xae\\x1e\\xe7\\x52\\xba\\x40\\x1c\\xef\\xef\\x96\\x2c\\x6b\\x27\\xcb\\xbd\\xc9\\x27\\xf1\\xf8\\x16\\xff\\x7c\\x0e\\x55\\x8e\\xd6\\x7c\\x0b\\xad\\xef\\xef\\x99\\x2d\\xf4\\x5f\\xf7\\x5f\\x18\\x67\\x87\\xc6\\xd9\\x42\\xeb\\x66\\x2e\\xcf\\x3c\\x96\\x2d\\x14\\x77\\xd4\\xb6\\x85\\x55\\xbf\\x8b\\x98\\x55\\x29\\xf3\\xaf\\x0d\\x6a\\x59\\xaf\\x89\\x7e\\x45\\xe3\\xff\\xe5\\xcc\\x0b\\xc7\\xb4\\x85\\x7e\\xf4\\x71\\xef\\xaf\\x78\\xb4\\xea\\x97\\x1b\\x93\\xd7\\xc9\\x24\\xb4\\x51\\xa5\\x81\\x71\\x1e\\xc0\\x44\\xb3\\xc6\\xa8\\x63\\xda\\x42\\x0f\\x91\\xe9\\xff\\x15\\xb6\\x90\\xce\\x87\\x69\\xa5\\x7d\\x43\\x63\\xa7\\x95\\x5b\\xbc\\xf2\\x03\\x4c\\x37\\x55\\xb4\\x53\\xd5\\x87\\x8f\\x5a\\x17\\x30\\x9d\\x55\\xa1\\xc4\\xcd\\xd0\\x03\\x3e\\xba\\xa9\\x42\\x2d\\x87\\xcb\\x2b\\x7c\\xeb\\x77\\xb3\\x8f\\x03\\x97\\xcd\\xdf\\x56\\x22\\xbe\\x95\\x77\\x75\\x4c\\x5b\\xdd\\x47\\xbb\\x4b\\xff\\x8f\\xf6\\xd7\\x78\\xf2\\x6c\\xfa\\x98\\xff\\x8d\\xfc\\xb4\\x78\\x53\\x31\\x8d\\xa7\\xc7\\x6c\\x6f\\x0d\\xd9\\xf2\\xfb\\x0f\\x3e\\x65\\xf2\\x4d\\x17\\x7c\\x70\\x2f\\xd7\\xff\\xe4\\xcd\\x7d\\xff\\x3b\\x00\\x00\\xff\\xff\\x62\\xa3\\x61\\xd4\\xf8\\x57\\x05\\x00\")\n\nfunc liberationsansRegularTtfBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_liberationsansRegularTtf,\n\t\t\"LiberationSans-Regular.ttf\",\n\t)\n}\n\nfunc liberationsansRegularTtf() (*asset, error) {\n\tbytes, err := liberationsansRegularTtfBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LiberationSans-Regular.ttf\", size: 350200, mode: os.FileMode(420), modTime: time.Unix(1459927769, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _liberationserifBoldTtf = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\xe4\\xfd\\x77\\x60\\x55\\x55\\xd6\\xff\\x8f\\xaf\\x7d\\xce\\xb9\\xf7\\x26\\x81\\xf4\\x40\\x02\\x29\\xf7\\xa6\\x41\\x20\\x40\\x42\\x42\\x0b\\x2d\\x17\\x48\\x42\\xe8\\x01\\x02\\xa4\\x50\\x02\\x04\\xa4\\x0a\\x1a\\x44\\x04\\x14\\x2c\\x20\\x62\\x01\\x3b\\x2a\\x2a\\x33\\xc3\\x28\\x56\\x82\\xa2\\xa2\\x22\\xa2\\x32\\x76\\x66\\xb0\\x80\\xa8\\xd8\\x40\\x89\\x1d\\x66\\xac\\xb4\\x7b\\x7f\\xaf\\x7d\\xee\\x4d\\x0c\\x8c\\xce\\xcc\\xef\\xf9\\xfc\\xf9\\xcd\\x33\\x8b\\x7d\\xce\\xda\\x6b\\xaf\\xf2\\x5e\\x6b\\xb7\\x13\\xe4\\x11\\x25\\x22\\xb1\\xfc\\x61\\x49\\x6e\\x49\\x49\\xf9\\x88\\x09\\xdf\\x18\\x9f\\x89\\xe3\\xa6\\x24\\xb8\\x49\\x83\\x8b\\x8a\\x4b\\x2e\\x7d\\x63\\x51\\xa8\\x38\\x8a\\x67\\xf1\\xbe\\x66\\x70\\xd9\\xa8\\xb1\\xd6\\xe7\\x63\\x3a\\x8b\\x63\\xe4\\x6e\\x91\\x41\\x55\\x83\\xc7\\x8e\\x1b\\x38\\xe2\\xd5\\x4e\\x31\\xf4\\x1f\\x17\\x09\\xd9\\x37\\x6a\\x6c\\x4e\\x9e\\xcb\\x78\\x75\\xa7\\x88\\xda\\x81\\x7c\\xcd\\xf4\\xf9\\x53\\x17\\xa6\\xae\\x2d\\x7e\\x56\\xa4\\x63\\x85\\x88\\xb3\\xc7\\xf4\\xc5\\x8b\\x3c\\x35\\x97\\x8e\\x5a\\x22\\xd2\\x67\\xbd\\x88\\x71\\x70\\xe6\\xc2\\xf3\\xe6\\x5f\\x36\\xf5\\xc9\\x68\\x91\\x5c\\xde\\x5d\\xdb\\xcf\\x9b\\x5a\\xb7\\x50\\xe2\\x44\\xdb\\x43\\x5e\\xa2\\xce\\x9b\\x77\\xc9\\xcc\\x37\\xa7\\x0f\\x79\\x46\\x64\\xe6\\xc3\\x62\\x4d\\x98\\x35\\x6b\\xc6\\xd4\\x5a\\xd9\\xbd\\xaa\\x2b\\xfa\\xfb\\xd2\\xdf\\x43\\x33\\xc2\\x0f\\x47\\x8c\\xe1\\x7d\\x11\\xef\\x19\\xb3\\xe6\\x2f\\x5a\\xf2\\xe3\\xeb\\xfb\\xef\\x42\\x77\\x82\\x48\\x96\\x77\\xee\\x8c\\x0b\\xcf\\xef\\xe7\\x4f\\x5d\\x27\\xd6\\xae\\x38\\x91\\xb8\\x8a\\x79\\x0b\\xa6\\x4f\\x8d\\x6f\\x78\\x60\\xa5\\x48\\x7f\\xe2\\xc9\\x2a\\x9a\\x3f\\x75\\xc9\\xc2\\xf0\\x22\\xab\\x33\\xe3\\x37\\x30\\xde\\x73\\xfe\\xd4\\xf9\\x33\\x1e\\x5f\\xd8\\xb9\\xa3\\x58\\x6f\\xcf\\x13\\x69\\xb1\\x63\\xe1\\x82\\xba\\x45\\xdf\\xbd\\x97\\x71\\xbf\\x58\\x1f\\x67\\x88\\x9c\\x97\\xb7\\xf0\\xc2\\x19\\x0b\\xe3\\xb7\\xe4\\xf5\\x10\\xe9\\x55\\x24\\x62\\x0e\\xb1\\xb1\\x33\\x44\\x8a\\xea\\x4e\\xfd\\x34\\x25\\xb2\\xef\\x4f\\x86\\x3b\\x44\\xf4\\xcf\\x9b\\x37\\x27\\x97\\x36\\xb6\\xa7\\xee\\x3b\\x73\\x73\\xd8\\x0b\\x21\\x51\\xc8\\xea\\x4e\\x65\\x0b\\xf0\\xa7\\x2b\\xd5\\x57\\x2c\\x13\\x5a\\x24\\x9f\\xba\\xef\\xe4\\x27\\x61\\x2f\\x04\\xf9\\x4d\\x3f\\x61\\x5a\\x9e\\x3f\\xd5\\x18\\x29\\x97\\xf5\\xe2\\xc4\\x4a\\x94\\xe4\\xc8\\x44\\xcc\\xcd\\x31\\xda\\x88\\x49\\xaf\\x69\\xdd\\x63\\xec\\x14\\x87\\x88\\xe3\\x4e\\x47\\x3e\\x2a\\x33\\x03\\xad\\xb9\\x49\\x66\\x1a\\x31\\xca\\x61\\x18\\x21\\xa6\\xcb\\xe1\\x30\\x4c\\xeb\\x53\\x09\\xf3\\x97\\xc9\\x12\\x3f\\x6a\\x53\\xb5\\xee\\xae\\x03\\xc6\\x0e\\x12\\x8f\\x78\\xfc\\xa7\\x1d\\x73\\x7d\\x25\\x2a\\xdf\\x95\\xaa\\x9e\\xad\\x11\\xf5\\xfc\\x27\\xbf\\x30\\xfa\\x61\\x47\\x3f\\x8d\\x84\\x44\\x38\\x0b\\x02\\x9e\\x18\\x8d\\xf4\\xa0\\x3c\\x6a\\x5d\\x20\\x47\\x2c\\x91\\x44\\x68\\x08\\xc1\\xbc\\xed\\x7c\\x50\\x16\\x1b\\x05\\xb2\\x91\\xbe\\x2a\\x68\\x20\\xfc\\x71\\xd6\\x3a\\x99\\x87\\x7c\\x22\\xef\\xc3\\x68\\xab\\x8c\\x02\\xff\\xb7\\xf0\\x47\\x42\\x9b\\xa1\\xf1\\xd0\\x08\\x28\\x09\\x1a\\x03\\x95\\x40\\x17\\x41\\x45\\x50\\x2f\\xc6\\x6c\\x81\\xe6\\xa0\\x63\\x66\\x90\\x66\\xc1\\x5f\\xee\\xba\\x40\\xe6\\x3a\\x5e\\x91\\x38\\xc7\\x78\\x49\\xa3\\xad\\x85\\x32\\x78\\x4e\\xb7\\x8e\\x48\\x3a\\x7e\\xd6\\x42\\xe9\\x66\\xb2\\x14\\x23\\x5b\\xad\\x9f\\x75\\x9f\\xeb\\x7a\\xda\\x57\\xa4\\xbd\\xee\\x6f\\x94\\xe3\\x3d\\xdd\\xaa\\x93\\xf9\\xf4\\x7b\\x78\\xce\\x87\\xe2\\x89\\x23\\x99\\xb6\\x5d\\x50\\xe7\\x34\\xec\\x6f\\xd0\\x3e\\xd3\\x0e\\xb5\\xee\\x93\\xa5\\x96\\xf8\\x8f\\xf3\\x5c\\x81\\xee\\x81\\x8c\\x6d\\x6b\\x5e\\x8f\\xcf\\x75\\x32\\x56\\xb7\\xf0\\x23\\xe1\\xf7\\xe0\\x3d\\x1f\\x1c\\x3a\\x1b\\x0f\\xfa\\x8f\\x05\\x9f\\xb3\\xc0\\xa6\\x27\\xcf\\x3d\\xed\\xd8\\x19\\x07\\x95\\x33\\xa6\\x27\\x7e\\xf6\\x67\\x5c\\x2a\\xef\\x6e\\xfa\\x04\\xbb\\x4e\\xda\\x10\\x28\\x8e\\xfe\\x2c\\xb3\\xbd\\x0c\\x54\\x2f\\xc9\\x9d\\xb4\\x65\\x56\\x07\\x89\\x6a\\xc2\\x5e\\xa4\\x32\\x88\\x59\\x39\\x64\\x68\\x19\\xda\\x2b\\xe8\\xeb\\xee\\x38\\x29\\x15\\xc6\\x4c\\x1b\\x53\\x1b\\x3b\\x8d\\xbd\\xe6\\xe1\\xfb\\x31\\x33\\x5f\\xa6\\x59\\xb5\\x32\\x9e\\xfe\\x5e\\x10\\x3e\\xca\\x8d\\xd6\\x46\\x70\\x18\\x23\\x53\\x8d\\x87\\x64\\x2b\\xef\\xcb\\xe0\\x0f\\x37\\x36\\x4b\\x81\\xf6\\xd5\\x49\\x8e\\xa0\\x51\\x50\\x8d\\xc6\\xde\\xc6\\xfd\\x77\\x08\\xdc\\x22\\xec\\x5c\\x8c\\x0f\\xe0\\xdd\\x48\\x3a\\x0f\\xcd\\x29\\x88\\x73\\xfb\\x60\\x9e\\xce\\x22\\x7c\\xdd\\x10\\xcc\\x4b\\xfe\\x39\\x94\\x41\\xce\\xb2\\xc1\\x28\\xdb\\xc6\\xfd\\x77\\x08\\x99\\x81\\x3a\\x07\\xe7\\x12\\xb9\\xfb\\xd1\\xce\\x45\\x81\\xff\\x10\\xad\\x19\\xc4\\xbf\\x67\\xb0\\x06\\xcf\\xa6\\x5a\\xbb\\x1e\\x4b\\xec\\x5c\\x34\\x27\\x72\\x41\\x1b\\xa1\\x5b\\x1d\\x6b\\xd0\\xde\\xb9\\x6d\\xad\\xb6\\xf7\\x1f\\xda\\x0c\\xc7\\xc7\\x32\\x56\\xc7\\xa3\\xeb\\xc5\\xc6\\x46\\xf3\\xff\\x4b\\x6b\\xe3\\x42\\x4d\\xfd\\x87\\x56\\xd7\\x70\\x7e\\xb0\\x35\\xc0\\xb8\\x2f\\xb1\\xee\\xd5\\x58\\xd3\\x7e\\x1e\\x6c\\x7f\\x0c\\xb4\\xd2\\xb9\\xb1\\x75\\xde\\xca\\xfc\\x98\\x2b\\x9d\\xf5\\x1c\\xd1\\x75\\xda\\xa8\\x47\\x93\\xb6\\xad\\x6b\\xb6\\x79\\x6b\\xee\\x0e\\xb6\\x1d\\x25\\x3b\\xc8\\xd7\\x58\\xb4\\xd7\\x58\\xfe\\x5b\\xbb\\x5f\\xc2\\x9d\\xed\\x25\\x4b\\x3f\\x07\\xfd\\x1c\\x79\\x6e\\x4b\\xbd\\x5c\\x80\\x7c\\xae\\x9e\\x83\\x7a\\x1e\\x9c\\xdb\\xea\\x79\\xa9\\xe7\\xc6\\x1f\\xb5\\x7a\\xce\\xea\\x79\\xa3\\x5b\\x2b\\x3b\\xd0\\xda\\xef\\x01\\x7c\\xdd\\xff\\x6b\\x1b\\x9c\\xef\\x4e\\xbb\\xc6\\x02\\xf9\\xb5\\xe7\\xbd\\x9e\\x7b\\xe7\\xb6\\xc4\\xec\\x62\\x4c\\xb8\\x33\\x8c\\x79\\x3a\\xd4\\xc6\\x6b\\x69\\xb0\\xd5\\xf3\\x76\\x63\\xb3\\x5c\\xe7\\x3b\\xd7\\xd8\\x32\\xe3\\x74\\xae\\xad\\xf6\\xd2\\x17\\x1d\\xb3\\x1d\\x5f\\x49\\x5f\\xab\\x80\\x75\\xe4\\x88\\x5f\\xaf\\x1f\\xb7\\x04\\x6b\\x3d\\xde\\x39\\x80\\x35\\x62\\x91\\x74\\xd1\\xb9\\x09\\xe6\\xa1\\x37\\xb6\\xe2\\xcd\\xef\\x25\\xc6\\xb5\\x5a\\xda\\x38\\x5e\\xf1\\x4f\\x6f\\xc4\\xd2\\xc6\\xef\\x7c\\xf0\\xab\\x93\\xa1\\xce\\x8e\\x32\\xd2\\x71\\x03\\x5b\\x75\\x1d\\x6b\\xf0\\x11\\x7b\\xdc\\x04\\x74\\xe4\\x39\\xfa\\xc8\\x20\\xab\\xad\\x74\\x09\\xe2\\x23\\x8d\\x38\\x39\\x27\\x13\\xf3\\x5e\\x71\\x3b\\x67\\xc9\\x24\\x47\\x4f\\x7c\\x1c\\x1b\\x8c\\x39\\x18\\x9f\\x75\\xbf\\x74\\x82\\x86\\x98\\x0f\\x49\\x11\\xfb\\x46\\x91\\xbd\\x3e\\x87\\x4a\\x07\\x33\\x4e\\x0c\\x74\\xb4\\xb0\\xfe\\x26\\x83\\x59\\x67\\x6e\\x34\\x36\\xc8\\x7c\\xa3\\xaf\\x84\\xeb\\x75\\xa8\\x45\\xb2\\x64\\x84\\x96\\x4b\\x06\\x38\\x8e\\x0d\\xa5\\x2e\\x68\\xf5\\x3a\\x9c\\x15\\x4a\\x2d\\x84\\x5c\\x20\\xed\\x5d\\xc9\\x76\\x4e\\xed\\x39\\x12\\xac\\xc5\\x23\\x8d\\x35\\xf0\\xbf\\xe6\\x28\\x88\\xe9\\x59\\xf3\\x2d\\xb8\\xde\\x0c\\x0c\\xea\\x92\\xdf\\x99\\x0f\\x67\\xd5\\x9b\\x8e\\x8d\\xb8\\x52\\x75\\xad\\x37\\xf7\\xb9\\x71\\x9c\\xeb\\x25\\xd6\\xab\\x8e\\x81\\x3d\\x22\\x58\\xcb\\xbf\\x67\\xa7\\xd1\\x8f\\xa4\\x26\\x7f\\x02\\xf3\\xd4\\x6a\\x9c\\xaf\\x66\\xb2\\x7f\\x2b\\x31\\x76\\x0d\\xc6\\xfa\\x4d\\x70\\x5c\\x68\\xb3\\x98\\x91\\xf3\\xbf\\xd7\\xac\\xde\\xcf\\x8a\\xf5\\xdc\\xfa\\x26\\xd7\\x03\\x0c\\x9f\\x14\\x34\\xc6\\xe5\\xf8\\xc4\\x6e\\xc7\\x3a\\x66\\x33\\x7f\\x4d\\xf4\\x35\\xd6\\xe8\\xd9\\xfe\\x94\\xfc\\xd1\\xbc\\x6b\\xe6\\x87\\x9d\\x7b\\xea\\x2c\\x44\\xc7\\x6b\\x1c\\x91\\xd6\\xf6\\x3a\\x70\\x2b\\x75\\x76\\xab\\xf4\\x0a\\xae\\xeb\\x5a\\xb6\\x32\\xb8\\x96\\x7b\\xb4\\x5f\\x76\\x9d\\x0c\\x94\\x3b\\xcc\\x67\\xa4\\x1f\\x3c\\xdb\\x6f\\xc7\\x4e\\x69\\xd9\\x68\\xb7\\x69\\x3d\\xb9\\x43\\x86\\xa0\\x37\\xa7\\x59\\x9c\\xb6\\x3d\\xc8\\x6d\\xdd\\xc1\\x9c\\xb8\\x43\\xba\\xe8\\xf9\\x43\\x5f\\x3e\\x34\\xc0\\x9e\\x27\\x81\\x7d\\xb4\\xbb\\x26\\x87\\x25\\x83\\xcd\\xb9\\xd8\\x9b\\x2b\\x69\\xd6\\x2e\\x49\\x33\\xb7\\x48\\x11\\x7a\\xdd\\xd6\\x6c\\xe4\\x34\\x3d\\x2b\\x17\\xe8\\xbc\\x5b\\x19\\xd4\\x6c\\x00\\x37\\x7b\\x7f\\x25\\x1e\\x31\\x96\\xb1\\xde\\x8f\\xd0\\xcf\\xfe\\xbd\\xf6\\x7b\\x01\\xb6\\x3e\\x0c\\xec\\xc1\\x8d\\x64\\xd5\\xf9\\xaf\\xb0\\xc7\\xe4\\x82\\xb1\\xc6\\x25\\x16\\x4c\\xde\\xb7\\xd7\\xe7\\x61\\xd8\\xef\\xdc\\x8c\\x7a\\xda\\xd4\\x5d\\x72\\xa1\\xcb\\xf0\\xbb\\x40\\x93\\xbd\\x6f\\xcf\\xf5\\xdf\\x84\\x4f\\xdb\\x8d\\x7f\\xf8\\x7f\\x36\\x6e\\xf0\\xed\\xd2\\xf9\\x6a\\xda\\xcb\\x8f\\xb3\\xdf\\xe6\\xda\\x7b\\x47\\x48\\x70\\x4f\\x6f\\x65\\x15\\x05\\xf6\\x74\\x2b\\x91\\x7d\\x9d\\x5a\\x84\\x34\\x9e\\x43\\x9a\\xe8\\x54\\x30\\x6f\\x63\\xc0\\x80\\x78\\xed\\x18\\x37\\x4a\\x0f\\x6c\\x9c\\x87\\xbf\\x27\\xad\\x08\\xd6\\x8e\\xc0\\xb9\\x21\\x43\\x93\\xf3\\x08\\xf5\\x7b\\x52\\xc6\\x72\\x1e\\x1a\\xeb\\xc8\\xc1\\xee\\x30\\xe6\\xf9\\x03\\x92\\xea\\x7c\\x83\\x73\\xc8\\x09\\xec\\xec\\x81\\xda\\x80\\xdd\\xfb\\xac\\x3f\\xe3\\xa4\\x9b\\x26\\xe3\\x4e\\xce\\x10\\x77\\x4a\\x8c\\xba\\xd0\\xdf\\x60\\x84\\x4a\\x0c\\xd4\\xd2\\x48\\x85\\x5e\\x93\\x58\\xf3\\x22\\xb1\\x8c\\x5a\\x69\\x61\\x78\\xe5\\x6a\\xf3\\x57\\x79\\x93\\x58\\xfe\\x04\\xad\\x80\\x6e\\x86\\xfe\\x69\\x93\\x29\\xc9\\x9a\\x9a\\xce\\x63\\xeb\\x58\\x93\\xd7\\xd9\\x67\\x98\\x98\\x00\\xa9\\x14\\x5a\\x7d\\xde\\xbb\\x51\\x9f\\x93\\x9a\\xbd\\x4f\\xb3\\xa9\\x40\\x1e\\xb1\\xa9\\x51\\xdf\\x83\\xb2\\x36\\x48\\xb7\\x07\\xe5\\xda\\x43\\xcf\\x41\\x57\\x42\\x0b\\x20\\x8b\\xf8\\x8f\\xe8\\x9a\\x32\\x23\\x24\\xc7\\x98\\xc1\\xd9\\x76\\xae\\xa4\\xaa\\xe7\\xa8\\xd7\\xa1\\xe0\\x8e\\x2f\\x66\\x94\\xdc\\x76\\x2e\\x35\\xd9\\x0b\\xf8\\xa5\\xcf\\xa8\\x23\\x68\\x2f\\x0b\\xd2\\x3f\\x82\\xb4\\x32\\x20\\xe3\\x7f\\x08\\xda\\x13\\xb0\\x65\\x9f\\x81\\xfe\\xda\\x9c\\xcc\\x2e\\x92\\xa4\\x89\\x67\\xee\\x0d\\x67\\xde\\x17\\xf1\\x71\\xb2\\xf6\\xed\\xd4\\xe5\\x47\\xfb\\x32\\x3c\\x1f\\xed\\x3b\\x22\\xfe\\x99\\xb4\\x9f\\x42\\xf1\\x3c\\x73\\x8f\\xf0\\xdd\\x10\\x90\\xf3\\xbf\\x06\\xb1\\x12\\xfb\\x66\\x04\\xe4\\x6c\\xd9\\x29\\xbf\\x91\\xfe\\xf1\\xbb\\x83\\x34\\x30\\x40\\xbe\\x65\\xb4\\xc7\\x20\\xee\\x2f\\xfe\\xee\\x41\\x1a\\x18\\xb0\\xe7\\x3b\\x16\\x1c\\x13\\xb4\\xa7\\x6d\\xd9\\xba\\xba\\x40\\xed\\x02\\xf6\\xf4\\x78\\xdf\\x4d\\x01\\xfb\\x36\\x05\\xed\\xfa\\x1e\\xfd\\xcd\\x67\\xdb\\xef\\x66\\xef\\x3e\\x0f\\xf4\\x6c\\xc0\\xa6\\x6d\\xbf\\x27\\xed\\xed\\xb4\\xe9\\xd0\\xca\\xa0\\x4c\\xff\\x80\\x6d\\x3d\\x4e\\xdb\\xf4\\xfd\\x85\\xf6\\xbc\\x80\\xbc\\xee\\xd7\\x71\\xda\\xe3\\x1e\\x6d\\x46\\xdf\\xc3\\xe3\\x9e\\x76\\x46\\xc7\\x77\\x49\\x50\\xff\\x3b\\x41\\xbd\\x4b\\x03\\xa4\\xb1\\xd2\\x7c\\xf9\\x8a\\xb6\\x23\\xef\\xd8\\xf3\\x73\\xcf\\xf2\\xbf\\x71\\x0e\\xed\\x08\\xb6\\x63\\x8d\\xf1\\xd2\\xc6\\x88\\x91\\x44\\x5d\\x0f\\x06\\xb5\\x4f\\x5d\\x47\\x1b\\xb1\\xd4\\xd0\\x46\\xf8\\xd4\\xb9\\x79\\xcc\\xae\\xef\\x18\\xf5\\x18\\x3c\\x90\\xa7\\x5e\\x7e\\x21\\x87\\x9f\\x07\\x6b\\xeb\\xd9\\xe0\\x5a\\xa3\\xcf\\x89\\xdd\\xf5\\x3d\\x03\\xfa\\x95\\x3a\\xf8\\x55\\xaf\\x7d\\xba\\x0e\\x9c\\xb5\\xfe\\x47\\x5c\\x25\\xfe\\x47\\xac\\xce\\xfe\\xa7\\x9c\\x05\\xfe\\x65\\xce\\x6f\\xfc\\x2f\\x39\\x67\\xf9\\x27\\x1a\\xcb\\xfc\\x07\\x9b\\xee\\x1f\\xf1\\x92\\xc9\\x5a\\x95\\x14\\x5c\\x23\\xa7\\xe9\\x75\\x5a\\xcf\\xe1\\xc6\\xbd\\x5c\\xaf\\x8d\\x8d\\x77\\x0f\\xc7\\x5c\\x99\\x1a\\xdc\\xc3\\xb3\\xf4\\x7e\\xad\\xf7\\xe9\\xe0\\xdd\\x23\\xc3\\xf9\\x67\\x19\\xa5\\xef\\x1d\\xce\\x7e\\xe2\\xd2\\xfb\\x73\\xf0\\xac\\x9c\\x61\\x5d\\xcc\\x7a\\x34\\x57\\x7a\\x59\\xd7\\x8a\\x9b\\x75\\xcd\\xcd\\x59\\x22\\x45\\xf3\\xac\\x9e\\xb2\\xc8\\xdc\\xe5\\xff\\x89\\x77\\xbb\\xdf\\x1c\\xc9\\x1e\\x87\\x0c\\xb7\\xd7\\x71\\x7a\\xfd\\xe3\\x6e\\x96\\xc9\\xf9\\x21\\xc1\\xba\\x86\\x3b\\xca\\xcd\\xfe\\x33\\xe6\\x8d\\x8c\\xd1\\xfb\\xe0\\x34\\xee\\x1e\\xa5\\xac\\xbb\\x35\\x32\\xdc\\xaa\\x92\\x91\\x66\\x3d\\xbe\\x68\\x9d\\x3e\\xd6\\x9f\\xc7\\xfc\\x27\\x1c\\x97\\x4b\\x8a\\x5e\\x07\\x89\\xf1\\xb4\\xcd\\xd7\\x63\\xda\\x07\\x78\\xda\\xa6\\xf5\\x86\\x24\\xea\\x33\\x8b\\x6b\\xba\\x28\\xdd\\x32\\xae\\x8c\\x3e\\xb1\\xfe\\x22\\x49\\xcd\\xf6\\x96\\x5a\\xf4\\x0f\\xb3\\xcf\\x24\\x53\\x38\\x9f\\xbf\\x24\\xe7\\x63\\x67\\xa4\\xd3\\x94\\x30\\x6b\\x01\\x7b\\xf5\\xcf\\x9c\\xff\\x59\\x83\\x1d\\x7b\\x65\\xb1\\x85\\x7d\\xc7\\x37\\xd2\\x87\\x1c\\xe8\\xcb\\xeb\\x8d\\xd6\\x36\\xd9\\xe2\\x58\\xc4\\x9d\\xf0\\xa0\\x4c\\x71\\xbc\\xc9\\x7e\\xe2\\x91\\x5c\\xd6\\xc3\\x81\\xe6\\x9d\\x52\\xaa\\x6d\\xa0\\xbf\\x2c\\x70\\xd7\\xb2\\xcf\\xac\\xb5\\xe6\\x64\\xc9\\x81\\x12\\x83\\xf7\\x03\\xbd\\x57\\x2f\\xb2\\xf1\\xae\\xe3\\x1e\\x56\\x6a\\xdf\\x0f\\x37\\x69\\x9e\\xdd\\x06\\xef\\x24\\xce\\x99\\x60\\xae\\xf3\\x36\\x1f\\x7f\\x03\\xfb\\x6d\\x71\\xe3\\x7d\\x31\\xc4\\x29\\x0e\\x2e\\x5f\\xc8\\xf8\\x8f\\xe2\\x5f\\xba\\x9d\\xc3\\x4f\\xa4\\x37\\x6d\\x9a\\x9d\\xf3\\xa1\\xb6\\x8e\\x40\\xde\\x2f\\x0f\\xec\\x7b\\xae\\xaf\\xc4\\xe2\\x5c\\x37\\x39\\x98\\xfb\\x74\\x3d\\xce\\xf1\\xb3\\x38\\xb4\\x1f\\x8d\\xf5\\xd0\\x94\\xf3\\xc0\\x1d\\xc9\\x63\\xeb\\xfc\\x24\\x98\\x73\\x7d\\xc6\\xfe\\x44\\xda\\x84\\xbc\\xc6\\xf9\\x09\\x72\\xba\\x39\\x37\\x7d\\x88\\xac\\xb6\\x35\\x5f\\x6e\\x08\\x35\\xec\\x71\\x66\\xf0\\xae\\x53\\x66\\xef\\x0f\\x7f\\x26\\xbe\\x96\\xd2\\xc6\\x3e\\x1b\\xed\\x15\\xcb\\xec\\x29\\x6d\\xf4\\x5e\\x11\\xa4\\x4e\\xd6\\xa5\\x9c\\x1b\\xeb\\x82\\xef\\x3a\\x87\\x1b\\xed\\x7b\\xa9\\x7d\\x5f\\xa5\\x2e\\xda\\xd8\\xe7\\xbe\\x6b\\x64\\xb0\\x7d\\xd7\\xd4\\x7d\\x57\\x4a\\x8a\\xf3\\x05\\xce\\x4f\\x90\\xc5\\x3d\\xd6\\x59\\x48\\xdb\\x47\\x7a\\xb0\\x27\\xe4\\x3b\\x93\\x79\\x2e\\x97\\x56\\x8d\\x77\\x2a\\x6b\\x38\\xf7\\x8c\\x3f\\xdb\\x7d\\x25\\xf6\\x3e\\x68\\xdf\\xaf\\xc4\\xb4\\x73\\xd2\\x4f\\xda\\x38\\x6b\\x6c\\x5b\\x86\\xed\\x47\\xc0\\x7e\\x9c\\x6e\\xc3\\x14\\x78\\xff\\x20\\x0e\\x67\\x92\\x74\\xe4\\x1c\\xda\\x26\\x24\\x92\\x1a\\x1f\\x65\\x9f\\x0d\\x5a\\x6a\\x3f\\x88\\xbd\\xd8\\x99\\x2b\\x3d\\xc1\\xb3\\x0b\\x31\\x45\\x84\\x7d\\x26\\xc5\\xae\\x33\\xec\\xd1\\xdc\\xbf\\xcd\\x9e\\xfe\\xc3\\xe8\\x16\\x30\\x97\\xa6\\xb3\\xcc\\x6a\\xea\\xef\\x3d\\xde\\x83\\x6d\\x68\\x8a\\x54\\xb9\\x26\\x4a\\x91\\xf3\\x76\\xc9\\xb4\\xb6\\x4a\\x6a\\xe8\\xe7\\xb2\\xdc\\xb9\\x58\\xc6\\x34\\xda\\x6d\\x3c\\x9f\\x1b\\xdb\\x25\\x96\\xf5\\xe5\\x1e\\xe8\\xce\\xdf\\xd6\\xe0\\x33\\x3c\\x9f\\xce\\x86\\x72\\xed\\xb3\\x16\\xfe\\x82\\x7f\\x06\\x18\\xa4\\x07\\xcf\\xd6\\x6d\\xb9\\x7f\\x67\\x12\\x6f\\x27\\x9d\\x7b\\x1d\\xbf\\xe3\\x65\\xec\\xdc\\xcd\\xd9\\x91\\xfc\\xeb\\x1c\\xe8\\x1a\\xd0\\x79\\xd0\\xf9\\xd7\\xb1\\x9f\\xdb\\x3a\\xff\\x44\\xde\\x5b\\x80\\x4f\\x50\\xbf\\x6b\\x8a\\x5d\\x4b\\x3d\\x42\\xbe\\xe1\\x6c\\xb2\\x1b\\x7d\\x07\\xa4\\x9f\\x55\\x6c\\xdf\\x89\\x6a\\x83\\x77\\x40\\x8f\\xce\\x55\\xf0\\xec\\x24\\xcd\\xda\\x76\\x1a\\x2f\\xe7\\x71\\x99\\x60\\x7d\\x62\\xd7\\x67\\x1b\\x9d\\xbf\\x66\\x6d\\x67\\x7d\\x56\\x74\\xb5\\xe0\\x4c\\x70\\xa5\\xa4\\x36\\xb6\\xba\\xc6\\x1b\\x7d\\x75\\x1c\\xc5\\x87\\xe7\\xb1\\x49\\x9d\\xea\\x5a\\x69\\xf4\\xa9\\x29\\xf6\\xa0\\xae\\xc6\\xb9\\x64\\xdf\\x03\\xff\\xe0\\x0c\\xde\\x74\\x67\\xe5\\x7e\\x63\\x9f\\xdd\\x82\\xed\\xb9\\xb8\\xd0\\x8e\\xd1\\xe7\\x9e\\x73\\x6d\\xfd\\xe1\\x19\\x95\\xda\\xd7\\xf5\\xa7\\xe7\\x8a\\x5d\\xaf\\xff\\xde\\x06\\xe2\\x0d\\xe6\\x43\\xcf\\x19\\x5d\\xb7\\x4d\\xf9\\x09\\xe2\\xd4\\xd4\\x0e\\x95\\x31\\xfa\\x8c\\xe9\\x7c\\x8b\\xf3\\xbc\\x57\\xb2\\xa9\\xd3\\x22\\x6c\\xe4\\x5a\\x2f\\xb2\\xde\\x6e\\x95\\x3e\\xae\\xe5\\xd4\\x66\\x5f\\x69\\xa3\\xef\\x02\\xce\\x4a\\x69\\x85\\x1f\\xd3\\x39\\x83\\x2d\\x76\\x3c\\xc3\\x1d\\xf3\\x9f\\xb6\\xff\\x43\\x89\\x23\\xaf\\x19\\x66\\x7a\\xfd\\x28\\x6f\\xbc\\x43\\x06\\xf6\\x38\\xfd\\x5d\\xcf\\x5f\\x4e\\x3b\\x12\\x2a\\xe4\\x99\\xaa\\xf5\\x0f\\xa5\\xd6\\xfe\\x06\\x6d\\xe1\\xf9\\x5b\\x28\\xea\\xb7\\x6f\\x7b\\x9a\\xe7\\x63\\xac\\x3e\\x5b\\xf8\\x8b\\x02\\x3a\\xfc\\xa5\\xd0\\x70\\x68\\x5a\\x70\\x4c\\x79\\x80\\x7c\\x41\\x1b\\x76\\x5f\\x69\\x60\\xfc\\x99\\x6b\\x82\\xfb\\xff\\x3d\\xc1\\x9a\\xfe\\x17\\xc4\\x8a\\xec\\xdf\\x04\\x25\\x07\\x69\\x62\\x50\\xc7\\xa6\\x00\\xd9\\x7b\\xaf\\x7e\\xde\\xc1\\x59\\x69\\x95\\xee\\xb7\\x2e\\x57\\x47\\x1a\\xfb\\xc9\\xf5\\x25\\x4d\\xcf\\x77\\xea\\x67\\x72\\x9a\\x4e\\x0e\\x3f\\x64\\x1f\\xdd\\xcc\\xbe\\xfa\\x3e\\x58\\xdc\\x29\\x33\\x0d\\xd6\\x1f\\xa3\\x8f\\xcc\\xb1\\x76\\xca\\xb5\\xd6\\x7e\\x19\\x6f\\xb4\\xe1\\x2c\\x4f\\xbd\\x9a\\x5f\\x71\\x26\\xdb\\xe5\\xff\\x96\\xbd\\x61\\x13\\x67\\xf7\\x1c\\x23\\x8c\\xfd\\x95\\x33\\xa7\\x75\\xbd\\x4c\\xb3\\xae\\xe6\\x9e\\x93\\xc9\\x5a\\x5e\\x45\\xad\\x67\\x33\\xb6\\xab\\x74\\x65\\x9d\\xbe\\xc0\\xae\\xf3\\x07\\x59\\xa7\\x3e\\xa3\\x96\\xb4\\x8e\\x5f\\x91\\x43\\x9f\\x7a\\x5f\\xfa\\x99\\x61\\xc8\\xb6\\x93\\x28\\xc7\\x26\\xbb\\xf6\\x07\\xea\\xf5\\x8f\\xb3\\x75\\x99\\x75\\x0f\\x2d\\x64\\xee\\x87\\xa8\\x2f\\xfc\\x4e\\x31\\x73\\xd8\\x2b\\xbf\\xe4\\xfd\\x13\\x7c\\x6e\\xbe\\xfe\\xe5\\xca\\x14\\x72\\x35\\x22\\x48\\x51\\xfa\\xdb\\x03\\xf7\\xa7\\xa2\\xa6\\x6f\\x3f\\x7d\\xd8\\x3f\\x58\\xe3\\xec\\x75\\x4e\\xaf\\x8f\\x53\\x98\\xdb\\xa3\\x64\\x98\\xe3\\x09\\xf6\\xc0\\x51\\xf6\\xbd\\xc6\\xfe\\x36\\x67\\x7f\\x93\\x9b\\xc4\\xbd\\xe0\\x09\\x59\\x48\\x0c\\xc3\\xed\\x75\\xf0\\x0b\\xf6\\xca\\x8d\\xf6\\x7a\\x99\\xcd\\xfe\\x28\\xba\\x36\\xcc\\x39\\xf0\\x5e\\xf6\\xff\\x6c\\x66\\x4b\\x6b\\x9b\\x16\\x42\\xee\\x20\\x3d\\x4d\\x1d\\xb1\\x77\\xaa\\x2f\\x24\\xd3\\xb8\\x01\\xd9\\xb7\\xe0\\x75\\x96\\xd6\\xd6\\xad\\xc4\\xbe\\x9a\\x3b\\xc2\\xbb\\xc4\\xb1\\x51\\xaa\\xcc\\x0c\\x69\\x65\\x34\\x48\\x84\\x79\\x03\\xd4\\x4a\\xc4\\xbc\\x02\\xdd\\x2f\\xfa\\xbf\\xb7\\xcf\\x3d\\x9a\\x1e\\xc7\\x97\\x2a\\x49\\xe3\\x3e\\x1e\\x66\\x9f\\x79\\x38\\x0b\\x41\\x6e\\xc3\\xc1\\x59\\xd5\\xc1\\xd8\\xc9\\x12\\xcd\\xd9\\x28\\xc9\\xd8\\xc6\\x3a\\xa2\\xcf\\x42\\x8b\\x90\\xd5\\xe7\\x24\\x7d\\x46\\x1a\\x2a\\x1d\\x6c\\xba\\x2b\\x78\\x3e\\xd2\\x67\\xa7\\x4b\\xc9\\xdb\\x31\\x89\\xb5\\xcf\\x4a\\xb7\\x48\\x47\\x6c\\x64\\x19\\x5e\\xff\\x0f\\x46\\x35\\x3a\\x3e\\x44\\x7f\\x49\\xe0\\xec\\x6d\\xdf\\x1b\\xb4\\xbc\\x96\\x6b\\x94\\x19\\x86\\x7c\\x50\\xc6\\x69\\xe8\\xfb\\x98\\x7f\\x87\\x9e\\x6b\\xec\\x09\\xc7\\xd9\\xeb\\x63\\x78\\x86\\xfc\\xcf\\xeb\\xbb\\x32\\xf7\\x28\\x8b\\xb5\\x28\\x84\\xbe\\x2f\\xec\\xfb\\x90\\xd8\\xe7\\xad\\x24\\xce\\x19\\x23\\x9d\\x2f\\x89\\x8b\\xbb\\x5b\\x1b\\xfb\\x0c\\xa3\\xd7\\x5c\\xd6\\x48\\xee\\x52\\xc9\\xc1\\x6f\\xa6\\x63\\xed\\x6f\\xac\\x9f\\x34\\x7d\\x63\\xfd\\xed\\xbb\\x6a\\x60\\x6f\\xb3\\xbf\\xa7\\x9a\\x0f\\xf8\\x6f\\xb2\\x02\\x87\\xf3\\x90\\xa0\\xfe\\x81\\xf6\\x9d\\x33\\xf8\\x9d\\xb6\\xf1\\x5e\\x69\\x9f\\xfb\\x0a\\xec\\x3b\\x5e\\xbe\\x71\\x94\\x31\\xfa\\x5b\\xc3\\x43\\xec\\x65\\x8f\\x4b\\x8a\\x8d\\x51\\xac\\x24\\x10\\x57\\x9a\\xc6\\x52\\xad\\xf7\\x9f\\xd2\\x64\\x0c\\x94\\x50\\x7d\\xb6\\x04\\x87\\x30\\x75\\x97\\xb8\\x69\\xdb\\x41\\x31\\xea\\x80\\xff\\x18\\x6d\\xa6\\x8d\\xcf\\x2c\\xea\\xef\\x98\\x74\\xb4\\xb1\\xbc\\xd3\\xbf\\x0b\\xf9\\x8e\\xc6\\x6d\\xdc\\x9b\\xc0\\xde\\xac\\x16\\x0f\\x77\\x17\\xf2\\xe2\\x7f\\x05\\xdc\\x63\\x6d\\x1c\\x3f\\x90\\x2e\\xb4\\x71\\xc6\\x25\\xe0\\x3c\\x43\\x1c\\x46\\x3f\\xee\\x40\\x9a\\xae\\x83\\xfa\\x4b\\xba\\x51\\x25\\xfa\\x5c\\x7e\\x5b\\x80\\xfc\\x9b\\x69\\xd7\\x37\\x3b\\xd7\\x9f\\x43\\xfe\\x9c\\xc0\\x19\\xdb\\x77\\x43\\xb3\\x6f\\x02\\x69\\x1a\\x9f\\x7f\\x6b\\x9b\\x7d\\x9b\\xb4\\xbf\\x29\\xfc\\xb7\\xf6\\x7f\\xfc\\x66\\xa9\\xf7\\x4b\\x9d\\xa7\\x3f\\xf8\\x46\\xf9\\x87\\x2d\\xb9\\xeb\\xcd\\x9d\\xfd\\x9d\\xe0\\x37\\x4a\\xf3\\x8f\\xe4\\xce\\xfe\\x3e\\xe9\\x7f\\x2b\\xd8\\x7e\\x1d\\x6c\\xbf\\xb1\\xcf\\x5d\\xd4\\xc5\\xb9\\xed\\x1f\\x7e\\xaf\\x0c\\xb6\\xff\\xed\\x9b\\x49\\xd3\\x39\\x20\\xd8\\xfe\\xd1\\xb7\\xcb\\xff\\xf5\\x1b\\xe6\\xef\\x7d\\xcb\\xfc\\xdd\\xf6\\x7f\\xff\\xa6\\x19\\x1f\\x5c\\xa7\\xec\\xb6\\x71\\x5f\\xfa\\x6f\\xed\\xbf\\xed\\x93\\xaf\\x9c\\xfd\\x5d\\xf0\\xdc\\xd6\\x9e\\x7b\\x01\\xbf\\x9c\\xc1\\x6f\\x3a\\x03\\xf5\\xb7\\x51\\x67\\x94\\x7d\\x4e\\xfd\\xa3\\xef\\xe3\\xb4\\xfe\\x7f\\xfe\\xe7\\xfe\\xff\\xa1\\xfd\\x9f\\x6a\\xd0\\xff\\xee\\x1f\\xf5\\xff\\xdb\\x77\\xf0\\xff\\x98\\x73\\xff\\x8f\\xff\\xb1\\xff\\xfc\\xff\\xde\\x9e\\x9b\\xa3\\xa6\\x6f\\xb0\\xff\\xa5\\x6d\\xfe\\x3d\\xfa\\xf7\\x5a\\xfb\\x0e\\xf8\\x1f\\x28\\xf8\\xfd\\x2e\\xce\\x79\\x9e\\xff\\x3b\\x4d\\x8e\\x13\\xdc\\xd7\\x4e\\xd0\\xbe\\xa2\\xef\\x6d\\xfe\\x8f\\xec\\x3b\\xe3\\xef\\x90\\x73\\xb6\\x28\\x4d\\xae\\xaf\\xcf\\x26\\xfb\\x6e\\xf9\\x1f\\xc8\\x35\\xdc\\xff\\xb5\\x6b\\xb8\\xa8\\x90\\xbd\\xbf\\x4f\\xf6\\x37\\x39\\x9b\\xfc\\xef\\x04\\x88\\xf5\\xce\\x26\\xff\\x3f\\x35\\x59\\xb9\\xfe\\xaf\\xd9\\xa3\\x95\\x63\\xdb\\xef\\xd3\\xef\\xfe\\xbe\\x06\\x72\\x29\\xff\\x31\\x97\\xa2\\x96\\x2f\\xc5\\x0e\\xe4\\x6a\\x08\\x90\\x7d\\x77\\xfd\\x0f\\xe4\\xfc\\x1e\\xf9\\xea\\xdf\\xc8\\xfe\\xf6\\xf7\\x1f\\xc8\\x15\\x8f\\x5e\\x28\\x64\\x43\\x90\\x5a\\x9f\\x4d\\x8d\\xb8\\x37\\xe2\\xd8\\x88\\x4b\\x63\\xdc\\x4d\\x3e\\x07\\xed\\x37\\xea\\xfd\\x7f\\xcd\\xe3\\xff\\x6b\\x5e\\xfe\\xc7\\xb8\\xe5\\xbf\\xc5\\xfd\\x9f\\x7c\\x6f\\x4e\\xac\\x1b\\xaf\\xeb\\x6f\\x2f\\xc1\\x56\\x7f\\x6f\\xb3\\x7e\\xcf\\x6f\\xee\\x43\\xca\\xf9\\x2e\\xb6\\xff\\x02\\xbd\\xc0\\x73\\x81\\xbd\\xa7\\xc4\\x05\\xc9\\x02\\x53\\x5d\\x53\\xba\\x8d\\x0d\\x90\\xff\\x1b\\x4d\\x4d\\x77\\xf9\\xab\\xf1\\xed\\xaf\\xc8\\x34\\x1b\\xf3\\x6f\\x75\\x50\\x2a\\x4b\\x6d\\x6a\\xcc\\x89\\xfe\\xdd\\x0f\\xe4\\x9a\\x8f\\xcd\\x8b\\xc1\\xe6\\x67\\x3d\\xde\\xff\\x6b\\x80\\xe4\\xc9\\xdf\\xc5\\xe7\\x3c\\x7c\\xbb\\xdc\\xff\\x9d\\xeb\\x36\\xda\\x8d\\xd0\\x2c\\x99\\xa8\\x65\\xa1\\xb7\\x82\\x6b\\xb0\\x34\\xb6\\xc6\\x43\\x81\\xdf\\x9d\\xab\\x71\\x01\\x9e\\xfd\\xcc\\xad\\x53\\x1e\\x6a\\xbc\\x0b\\xf8\\x0f\\x40\\xec\\xf5\\x7e\\x6e\\xb3\\xbe\\xe1\\xac\\x3f\\xff\\xd2\\x14\\x12\\x24\\xfd\\x7b\\x97\\xe0\\xef\\x9f\\x1b\\xbf\\xcb\\x5e\\xa4\\xbf\\xcd\\xa2\\x6b\\xba\\x15\\xf8\\x3d\\x7a\\x9f\\x60\\xdb\\x5d\\x93\\xb1\\x57\\x46\\x63\\xf7\\xc1\\xa0\\xbe\\x11\\xb4\\x31\\x8d\\xa4\\xed\\xd2\\xd7\\x51\\x7f\\xeb\\xb5\\xe6\\xca\\x9b\\xd0\\xf4\\xc6\\xef\\xa3\\x9c\\xe5\\x1f\\xd5\\xdf\\x43\\xd5\\x78\\xdf\\xb5\\xfa\\x77\\x3c\\xcd\\xc6\\x45\\x05\\x29\\x5a\\xbf\\x1b\\x33\\xa5\\x35\\x94\\x07\\x75\\x87\\xdc\\xc6\\xab\\x12\\xdf\\xf8\\x4d\\xce\\x3e\\x67\\xea\\xef\\xb3\\x31\\x92\\xe4\\x48\\xb0\\xef\\xb0\\xb5\\xc1\\xdf\\x27\\xa4\\x43\\x63\\x82\\xfb\\x71\\x92\\x6b\\xb7\\xc4\\x85\\x3e\\x61\\xff\\xde\\x28\\xd9\\xfa\\x48\\xae\\xb4\\xda\\xda\\xbf\\xfb\\x6e\\x4b\\xbe\\xc3\\xf4\\xfe\\x17\\x72\\xdc\\xfe\\x46\\xe1\\x64\\xcf\\x0d\\x0b\\xfe\\xbe\\x4c\\xff\\x2e\\xb6\\x93\\xd6\\x45\\x4c\\x13\\xd0\\xd3\\xcb\\x14\\x69\\x11\\x12\\x26\\xed\\xf5\\xef\\xb8\\xed\\xdf\\xe9\\x64\\x82\\xc3\\x5e\\xa9\\x70\\x55\\x70\\xa6\\xd8\\x2f\\x97\\x07\\x7f\\x87\\xdd\\x2f\\xd8\\x96\\x42\\x25\\xd0\\x55\\xfa\\xfc\\x17\\x22\\xea\\xcf\\x96\\xa8\\xa8\\x73\\x5b\\x4d\\xe6\\x8f\\xdc\\x0f\\xbe\\x90\\x28\\xe7\\x6d\\x52\\xe1\\xd8\\x2e\\x13\\xf5\\xdf\\x65\\xb0\\x31\\x11\\xa9\\xb2\\x6a\\x39\\x87\\x6c\\x97\\x02\\xd7\\x7e\\xb5\\xc1\\xb1\\x5b\\xb5\\x36\\xba\\xfa\\x6f\\x85\\xd7\\xc9\\xfe\\x1d\\xb2\\xfe\\x36\\xae\\x5b\\x4d\\x7b\\xe5\\x0e\\xfb\\x7d\\xbf\\x91\\x66\\xed\\x57\\x0e\\xc7\\x43\\xfe\\x9f\\x1d\\x0f\\x19\\xd7\\x07\\xa8\\xf1\\xb9\\x79\\x7b\\x2e\\xa9\\xf7\\x03\\x7d\\xba\\xd5\\xd4\\xbc\\xef\\xff\\x5f\\xfe\\xff\\x42\\x9c\\x1f\\xce\\x22\\x63\\x3f\\xed\\x79\\xf6\\xf3\\x7e\\xea\\x76\\xbf\\x2c\\x83\\x9c\\xc6\\x01\\x99\\xaf\\x49\\xd7\\xb5\\xeb\\x1b\\x75\\x0f\\x74\\x63\\x63\\x0b\\x6e\\x21\\xc8\\xdc\\x6f\\xbd\\xc0\\x7d\\x6f\\xbf\\x3c\\x06\\x75\\xd0\\x84\\x7c\\x5d\\x48\\xb6\\xda\\x16\\x32\\x57\\xbd\\xe5\\x1a\\xa7\\xc8\\x81\\xfa\\x00\\x1a\\x6d\\x79\\xa5\\x8f\\xc3\\x2b\\x7d\\xad\\xdd\\xe0\\xd4\\xca\\xfe\\xc6\\xb5\\xc7\\x69\\xe7\\x80\\x39\\x39\\xde\\xbe\\xd7\\x65\\x05\\xff\\x7e\\x47\\xb8\\x3e\\x5b\\xd9\\xe7\\x8d\\x07\\xc5\\xf3\\x3b\\xe7\\x42\\xfb\\x7c\\x42\\xbe\\x86\\x90\\x37\\x09\\xd9\\x21\\xc9\\xce\\x6d\\xdc\\xd9\\x8e\\x51\\x83\\x9d\\xd9\\xff\\x3f\\xe6\\xde\\xe0\\x93\\x21\\x8c\\xcd\\xa3\\x7e\\x73\\xa1\\x61\\xc1\\x73\\xf3\\xe7\\xe8\\x5c\\xa6\\x89\\xbe\\xeb\\x1a\\xa9\\xf1\\xcc\\x1d\\xfc\\x1d\\xc2\\x56\\xc3\\x2f\\x6d\\xf1\\x65\\xbc\\x4d\\x0f\\xca\\x03\\xd8\\x8c\\xd4\\xa4\\xef\\xbd\\xfa\\x3b\\xb7\\xbe\\xaf\\xea\\xfb\\xad\\x7d\\x57\\x0e\\xde\\x91\\x9b\\xdf\\x85\\xed\\x7b\\x25\\xf7\\x5b\\x6b\\x85\\x54\\xe9\\xbb\\xee\\x59\\xc4\\x98\\x46\\xfa\\xf7\\x7b\\xb6\\xff\\xb0\\xd1\\xc7\\xff\\x46\\xe0\\x8e\\xed\\x7f\\xff\\xac\\x3b\\xb6\\xbe\\x5f\\x37\\xde\\xad\\x1b\\xef\\xd5\\xbf\\x73\\xa7\\xd6\\x77\\x75\\xad\\x57\\x8f\\xd3\\x32\\x8e\\x74\\xfd\\x1d\\xe2\\xb4\\xfe\\xd6\\x7e\\x86\\xf6\\xb4\\x04\\xd7\\x28\\xfd\\xa3\\xbf\\x11\\x33\\xff\\xdf\\x22\\xc6\\xbb\\xa1\\x7a\\x58\\x15\\xcd\\xe8\\xc6\\xdf\\x48\\xff\\x9e\\xe3\\x0c\\x6b\\xc1\\xe9\\x8a\\xe0\\x32\\xa7\\xa9\\x3d\\xa4\\xd7\\x8a\\xc8\\x66\\xb2\\xc1\\xb1\\x5a\\x5e\\x53\\x93\\xec\\x39\\x74\\xda\\x0f\\x5d\\x2b\\x72\\xea\\x1b\\xda\\x7f\\xd0\\xde\\x17\\xe0\\x9f\\x99\\xcf\\xb8\\xab\\xa0\\xd7\\xe1\\x9f\\xe0\\x7d\\x29\\x34\\x93\\xe7\\x7b\\x68\\xd3\\x69\\x7b\\x9f\\xab\\x4b\\x9f\\xed\\x02\\xbf\\xd7\\xf0\\xb3\\x3c\\xf8\\xf6\\xd1\\x3a\\x82\\xbf\\x3b\\xd9\\x69\\x4d\\x90\\x4d\\xe7\\xd0\\x08\\x68\\x4c\\xb0\\xd5\\x54\\x62\\x46\\x71\\x8f\\x99\\xc0\\x3a\\x1a\\xa0\\x51\\x50\\x67\\xa8\\x14\\xbe\\x6e\\x33\\xa0\\xcc\\x20\\xb5\\x87\\x72\\xe0\\xeb\\xe7\\x64\\x28\\x1e\\xea\\x11\\xa4\\x5c\\xf8\\x1d\\x82\\xe3\\x87\\x37\\xa3\\xc9\\xf0\\x87\\xff\\x8e\\x1f\\x65\\xc1\\xfe\\x92\\x46\\xd9\\xa0\\x5c\\x0e\\x54\\x00\\x15\\x36\\x12\\xfc\\xc2\\xa0\\x8d\\xee\\xcd\\xec\\xf5\\x80\\xdf\\xfd\\x1c\\x5b\\x8d\\x7a\\x66\\x9d\\xab\\xbb\\x99\\xfe\\x73\\xfd\\x18\\x0f\\x4d\\x80\\x2a\\x83\\xed\\x78\\xe4\\x26\\xd2\\xf6\\x82\\x7a\\x06\\x49\\x3f\\xf7\\x82\\xaf\\xdb\\xc1\\x50\\x71\\x73\\x82\\xaf\\xdb\\xcb\\x83\\x54\\x10\\xa4\\xde\\xf0\\x75\\x7b\\xe3\\xb9\\xf4\\x07\\x7e\\x9c\\x1b\\xc7\\x28\\xe4\\x34\\x96\\xb9\\xcd\\x62\\xd6\\x78\\x27\\x07\\x71\\xce\\x09\\xe6\\xa3\\x31\\x37\\x19\\xc1\\xbc\\x94\\x06\\xf3\\x37\\xaa\\x31\\xa7\\xc1\\x3c\\x96\\x34\\xcb\\xb9\\x9d\\xff\\x60\\xde\\xcf\\xf2\\x83\\x9a\\xc9\\xd1\\xf3\\x81\\xf6\\x95\\x20\\x35\\xde\\xb7\\x5f\\x08\\xd4\\x96\\xef\\x15\\xfd\\x7b\\xe6\\xff\\x76\\x96\\xe3\\x9c\\xa2\\x7f\\x37\\x6d\\xfc\\xd6\\xfa\\x4f\\xd1\\x46\\xd0\\x7e\\x49\\xdb\\xe2\\xbf\\x9d\\x59\\x83\\xe3\\x34\\xc5\\x6b\\xfa\\xb7\\x7e\\x7d\\x9f\\x69\\x6f\\x9f\\x61\\xda\\xd3\\xea\\xdf\\xc1\\x7d\\x4e\\xdd\\x27\\x41\\x4c\\x6d\\x1f\\xf3\\xdc\\xc7\\xaa\\xe8\\x57\\xc1\\xd6\\x0a\\xfc\\x5e\\xce\\x77\\x30\\xf8\\xbb\\x4f\\xd6\\x42\\x7f\\x99\\xde\\xef\\x02\\xb1\\x9d\\xf9\\xa1\\x59\\x9c\\x1f\\x37\\xa3\\x9d\\xac\\x3b\\x83\\x6c\\xd2\\xeb\\x90\\x5e\\x63\\x58\\x4b\\x1a\\x49\\xaf\\x49\\x7a\\x0d\\x43\\xae\\x2d\\xa4\\x7f\\x3f\\x38\\x41\\xff\\x8e\\x8a\\x39\\x69\\x06\\x29\\x29\\xf0\\xb7\\x1b\\xad\\x4e\\xf6\\xdf\\x5b\\xd4\\xef\\x96\\x15\\xa5\\xff\\x12\\xa4\\xfe\\x6b\\x90\\xbc\\x5f\\x66\\x2e\\x30\\x2f\\x32\\x2f\\x33\\xd7\\x9a\\xd7\\x99\\x7f\\x32\\xff\\xee\\x88\\x75\\x70\\x4b\\x75\\x7c\\xed\\xf8\\x31\\xf9\\xf5\\x94\\xbb\\x52\\xee\\x49\\x39\\xe1\\x6e\\xe5\\x4e\\x76\\x17\\xbb\\x47\\xb8\\x27\\xb8\\x2b\\xdd\\xd5\\xee\\x49\\xee\\x4b\\xdd\\xdb\\xdd\\x7b\\xdc\\xef\\xb8\\x3f\\x74\\x1f\\x73\\xff\\xe8\\xf6\\x79\\x22\\x3d\\x69\\x9e\\x76\\x9e\\x5c\\x4f\\x37\\x4f\\x6f\\x4f\\x5f\\x4f\\x7f\\x4f\\x91\\x67\\xb2\\x67\\x81\\xe7\\x22\\xcf\\x12\\xcf\\x0a\\xcf\\x2d\\x9e\\x27\\x3c\\xc7\\x53\\x1d\\xa9\\xb1\\xa9\\xf1\\xa9\\x69\\xa9\\xed\\x52\\xbb\\xa4\\x8e\\x4c\\x2d\\x4f\\x9d\\x9c\\x7a\\x55\\xea\\xad\\xa9\\x5b\\xd2\\x8c\\x34\\x67\\x5a\\x64\\x5a\\x4c\\x5a\\xab\\xb4\\xb6\\x69\\xee\\xb4\\x0e\\x69\\xd9\\x69\\xa5\\x69\\x53\\xd3\\x66\\xa4\\x1b\\xe9\\x51\\xe9\\xa9\\x99\\x92\\x69\\x64\\xb6\\xcc\\x8c\\xca\\x8c\\xcb\\x4c\\xc8\\x4c\\xca\\xcc\\xc8\\xec\\x94\\xd9\\x2d\\xb3\\x6f\\xe6\\xbc\\xcc\\x95\\x99\\x57\\x65\\xae\\xc9\\xbc\\x2e\\xf3\\xe6\\xcc\\x3f\\x65\\x3e\\x9c\\xf9\\x58\\xe6\\x33\\x99\\x3b\\x33\\xf7\\x64\\xbe\\x99\\xf9\\x8f\\xcc\\xf7\\x33\\x8f\\xb6\\xeb\\xdb\\xce\\xdb\\x6e\\x60\\xbb\\x9a\\x76\\xd3\\xdb\\xcd\\x6c\\x37\\xb7\\xdd\\x82\\x4e\\xf3\\x3b\\x5d\\xdc\\x25\\xfe\\xfe\\xd4\\xfb\\xaf\\x3b\\x6e\\x9d\\x32\\x4e\\xf5\\x38\\xd5\\xf7\\x54\\xff\\x53\\x03\\x4e\\x15\\x9d\\x1a\\xe5\\x4b\\xf7\\x9f\\xf6\\xfb\\xed\\xbf\\x6f\\xb9\\xc9\\x5c\\x64\\x2e\\x35\\xaf\\x02\\x81\\x1b\\xcc\\xbf\\x98\\xfb\\x1c\\x6d\\x1d\\x37\\x3a\\xf6\\x39\\x8e\\x27\\x4b\\xb2\\x0f\\x04\\x36\\xb9\\xc5\\x9d\\xe0\\xf6\\xb8\\x4b\\xdd\\x65\\x41\\x04\\xa6\\xb8\\x57\\xba\\x9f\\x74\\xbf\\xec\\x3e\\xe0\\xfe\\xc8\\xfd\\x2f\\xf7\\xcf\\x1e\\xf1\\xc4\\x80\\x40\\x47\\x4f\\x9e\\xa7\\xa0\\x09\\x81\\x39\\x9e\\x45\\x9e\\x8b\\x41\\x60\\xbd\\x67\\x53\\x10\\x81\\xd6\\x41\\x04\\x46\\xa4\\x8e\\x4d\\xad\\x06\\x81\\xf5\\x4d\\x08\\x44\\x83\\x40\\x9b\\xb4\\x94\\x20\\x02\\x35\\x69\\xb5\\x36\\x02\\x9e\\x3f\\x40\\xa0\\xac\\x09\\x81\\xf5\\x99\\x9b\\x32\\x1f\\x6c\\x42\\xe0\\x75\\x10\\x38\\x08\\x02\\xbd\\x9b\\x10\\x98\\xd1\\x6e\\x0e\\x08\\xd4\\x74\\xba\\x00\\x04\\xe2\\xef\\x5f\\x03\\x02\\xea\\x54\\xf2\\xa9\\x5e\\x20\\xe0\\x3d\\x35\\xe8\\x54\\x89\\xcf\\xa3\\x11\\xf0\\x1f\\xf1\\xbf\\xe8\\xdf\\xe5\\x7f\\xc6\\xff\\x84\\x7f\\xbb\\xff\\x71\\xff\\x63\\xfe\\x6d\\xfe\\x87\\xfc\\xbd\\xfc\\xb9\\xfe\\xec\\x2f\\x3d\\x0d\\xdf\\x35\\x7c\\xd3\\xf0\\x75\\xc3\\xe7\\x0d\\x87\\x1b\\x3e\\x6d\\xf8\\xb8\\xe1\\x50\\xc3\\x87\\x0d\\x1f\\x34\\xbc\\xdf\\x70\\xb0\\xe1\\x40\\xc3\\xfe\\x86\\x77\\x1b\\xde\\x6e\\x78\\xab\\xe1\\x1f\\x0d\\x7f\\x6f\\xd8\\xdb\\xf0\\x46\\xc3\\xab\\x0d\\x7f\\x6b\\xd8\\xd3\\xb0\\xbb\\xe1\\xf9\\x86\\x5d\\x0d\\x4f\\x37\\x6c\\x6a\\xb8\\xb5\\xe1\\xc6\\x86\\xf5\\x0d\\x6b\\x1b\\x96\\x36\\x2c\\x68\\xe8\\xde\\x90\\xda\\x10\\xd7\\x10\\xd3\\x10\\xd2\\xe0\\x38\\xea\\x3b\\xfa\\xe9\\xd1\\x43\\x47\\x0f\\x1c\\xdd\\x76\\xf4\\xbe\\xa3\\xb7\\x1c\\xed\\x73\\xb4\\xd7\\xd1\\xdc\\xa3\\x39\\x47\\x3b\\x1f\\xed\\x78\\xb4\\xfd\\xd1\\x94\\xa3\\xc9\\x47\\xd5\\x17\\x5f\\x7f\\xf1\\xe5\\x17\\xc3\\xbf\\x28\\xfc\\x22\\xf7\\xc8\\x98\\x23\\xa3\\x8f\\x94\\x1e\\x29\\x3e\\x32\\xf0\\x48\\xe1\\x91\\xbe\\x47\\xba\\x1f\\xe9\\x72\\xa4\\xfd\\x11\\xcf\\x91\\xf0\\xc3\\x27\\x0f\\xff\\x72\\xf8\\xc7\\xc3\\xff\\x3c\\xfc\\xfd\\xe1\\xc3\\x87\\x3f\\x38\\xbc\\xff\\xf0\\xdf\\x0f\\xef\\x3d\\xfc\\xf2\\xe1\\x17\\x0e\\x3f\\x7f\\xf8\\xa9\\xc3\\x0f\\x1d\\xae\\x38\\x3c\\xee\\x70\\xf9\\xe1\\x9e\\x87\\xbb\\x1f\\xee\\x76\\xb8\\xeb\\xe1\\x2e\\x87\\xfa\\x1f\\xea\\xf3\\xc1\\xc6\\xa9\\x77\\x4f\\xed\\x99\\xb0\\x3b\\x7c\\x4f\\xf8\\x83\\xe1\\x0f\\x84\\x6f\\x09\\xbf\\x3f\\xfc\\xbe\\xf0\\xbf\\x86\\xed\\x0f\\x39\\x73\\xee\\xdf\\xfd\\xfd\\xff\\xe0\\x8f\\xd3\\x08\\xd3\\x8d\\x92\\x7f\\xc3\\x42\\xd9\\x97\\x26\\xfd\\x63\\xfc\\x17\\x1d\\x81\\x91\\x26\\xa7\\x01\\x87\\x38\\x59\\x57\\x42\\x24\\x54\\xc2\\xa4\\x85\\xb4\\x94\\x70\\x89\\x90\\x48\\x56\\xb9\\x68\\x4e\\x29\\xb1\\x12\\x27\\xad\\xa4\\xb5\\xc4\\x0b\\x77\\x14\\x69\\x2b\\x89\\xac\\x46\\xc9\\x92\\x22\\x6e\\xe6\\x60\\xaa\\xa4\\x49\\xba\\x64\\x48\\xa6\\xb4\\xe3\\x4c\\x93\\x25\\x1d\\xa4\\xa3\\x64\\x4b\\x27\\xce\\x15\\x5d\\x24\\x47\\x72\\xa5\\x2b\\xa7\\xc8\\x7c\\xe9\\x26\\xdd\\xa5\\x07\\x6b\\x6d\\x2f\\x29\\x90\\xde\\xd2\\x47\\xfa\\x4a\\x3f\\xe9\\x2f\\x85\\xe2\\x95\\x01\\x32\\x50\\x06\\x49\\x91\\x14\\x4b\\x89\\x0c\\x96\\x52\\x19\\x22\\x43\\x59\\x07\\x87\\xcb\\x08\\x19\\x29\\xa3\\xa4\\x4c\\x46\\xcb\\x18\\x19\\x2b\\xe5\\x32\\x4e\\xc6\\xcb\\x04\\x4e\\x47\\x95\\x52\\x25\\xd5\\x32\\x51\\x26\\xb1\\x7a\\x4e\\x91\\x1a\\x99\\x8a\\xff\\xab\\xe5\\x6a\\xb9\\x46\\xae\\x95\\x9b\\x65\\x83\\xdc\\x23\\x7f\\x91\\x3f\\xcb\\x66\\xb9\\x4f\\xfe\\x2a\\xf7\\xcb\\x03\\xdc\\x1a\\x1f\\x94\\x87\\xe5\\x11\\xd9\\xca\\x0d\\xad\\x5e\\xb6\\xc9\\xe3\\xf2\\x84\\x6c\\x97\\x27\\x65\\x87\\x3c\\x25\\x3b\\xe5\\x59\\x79\\x4e\\x76\\xb9\\xbe\\x91\\x0b\\xb9\\x27\\xcd\\x90\\xd9\\xae\\xef\\x64\\x89\\xfc\\x49\\x16\\xca\\xdc\\x90\\x8e\\xb2\\x58\\xe6\\x84\\x0c\\x95\\x35\\x72\\x67\\x48\\x31\\x27\\xf2\\xe1\\x21\\x23\\xe4\\x3c\\xb9\\x38\\xa4\\x5f\\x88\\x37\\xa4\\xd0\\xbc\\x30\\xa4\\x54\\xe6\\xc9\\x72\\xb3\\x5a\\xb6\\xc8\\x33\\x72\\xb9\\x4c\\x97\\xf3\\x43\\x8a\\x54\\x79\\xc8\\x90\\x90\\xfe\\x32\\x5f\\x2e\\x75\\x7d\\x2f\\xd3\\xe4\\x0a\\x59\\x25\\xb7\\xab\\x38\\xd5\\xca\\xf5\\xb1\\xeb\\x13\\x57\\x83\\xeb\\x4b\\xd7\\x11\\xd7\\xe7\\xf2\\x74\\xc8\\xb5\\xf2\\x82\\xea\\xed\\x3a\\x13\\x92\\xe8\\x3a\\xe1\\x3a\\x19\\xf2\\xb7\\x90\\x97\\x5d\\xdf\\xca\\x25\\xae\\x2f\\x5c\\x5f\\xb9\\x7e\\x92\\xab\\x38\\x4f\\x5f\\x29\\xd7\\xcb\\x5a\\x59\\x27\\xeb\\x39\\x13\\xde\\x20\\xb7\\x0a\\xa7\\x6b\\xb9\\x45\\x36\\xca\\xdd\\x72\\x97\\xfc\\x60\\xac\\x31\\xee\\x91\\x0b\\x8c\\x3b\\x8d\\xbb\\x8c\\x8d\\xb2\\xd4\\xb8\\xd7\\xb8\\xdb\\xb8\\x46\\xc4\\x3b\\xb8\\xba\\xaa\\xb2\\x62\\x5c\\xf9\\xd8\\x31\\xa3\\xcb\\x46\\x8d\\x1c\\x31\\x7c\\xd8\\xd0\\x21\\xa5\\x83\\x4b\\x8a\\x8b\\x06\\x0d\\x1c\\xe0\\x2d\\xec\\xdf\\xaf\\x6f\\x9f\\xde\\x05\\xbd\\x7a\\xf6\\xe8\\xde\\x35\\x37\\xa7\\x4b\\xe7\\x4e\\x59\\xed\\xdb\\x65\\x66\\xa4\\xa7\\xa5\\xba\\x13\\xe2\\xa2\\xa3\\x22\\x23\\xc2\\x5b\\x84\\x85\\x86\\xb8\\x9c\\x0e\\xcb\\x34\\x94\\x74\\xf2\\xd4\\xab\\x9a\\xe2\\x7a\\x33\\xd3\\x13\\x5d\\x32\\x35\\xbd\\x38\\x7d\\x6a\\x69\\xe7\\x4e\\x9e\\xe2\\x84\\x59\\x45\\x9d\\x3b\\x15\\xa7\\x97\\xd4\\xd4\\x7b\\xa6\\x7a\\xea\\x69\\xac\\x76\\xe9\\xa5\\xa5\\x36\\x2b\\x7d\\x6a\\xbd\\xa7\\xc6\\x53\\xdf\\x8e\\x66\\x6a\\x33\\x76\\x4d\\xbd\\x17\\xc9\\x99\\xe7\\x48\\x7a\\x03\\x92\\xde\\x26\\x49\\x15\\xe5\\xe9\\x2b\\x7d\\xb5\\x89\\x74\\x4f\\xfd\\xde\\xa2\\x74\\xcf\\x0e\\x55\\x35\\xba\\x82\\xe7\\xeb\\x8b\\xd2\\x2b\\x3d\\xf5\\xdf\\xd9\\xcf\\x23\\xec\\x67\\xab\\x9d\\xfd\\x12\\xce\\x4b\\x6a\\x2a\\x23\\x6c\\xaf\\xb4\\xb7\\x9e\\xe2\\xfa\\x92\\xc5\\xb3\\xd6\\x16\\xd7\\xe0\\xa3\\xda\\xd6\\x22\\x6c\\x50\\xfa\\xa0\\x19\\x61\\x9d\\x3b\\xc9\\xb6\\xb0\\x16\\x3c\\xb6\\xe0\\xa9\\x3e\\x2b\\x7d\\xe1\\x36\\x95\\xd5\\x5f\\xd9\\x0f\\x46\\x56\\x71\\xef\\x6d\\x86\\x84\\x84\\x6b\\xb3\\x44\\x5a\\x3c\\xb5\\xb6\\xbe\\x6c\\x74\\x45\\x71\\x51\\x62\\x6a\\x6a\\x65\\xe7\\x4e\\x43\\xea\\x23\\xd2\\x8b\\xec\\x2e\\x19\\x64\\xab\\xac\\x77\\x0e\\xaa\\x77\\xd9\\x2a\\x3d\\xb3\\xb5\\xeb\\x72\\xad\\x67\\x5b\\xa7\\xdd\\x6b\\xaf\\xdb\\x11\\x25\\xd3\\x6a\\xb2\\x5b\\xd6\\xa6\\xd7\\x4e\\x9d\\x58\\x51\\x6f\\x4e\\x65\\xec\\x5a\\xb3\\x78\\xed\\xda\\xab\\xeb\\xa3\\xb3\\xeb\\x3b\\xa4\\x17\\xd5\\x77\\x58\\xfa\\x79\\x02\\x91\\xcf\\xa8\\xef\\x94\\x5e\\x54\\x5c\\x9f\\xad\\xb5\\x0e\\x1b\\xd3\\x64\\x67\\xd8\\x6f\\x26\\x55\\xbd\\x23\\x93\\x6d\\x63\\xed\\x4f\\x42\\x38\\xe9\\xdf\\x7d\\x7b\\x36\\x67\\x6a\\x90\\xe3\\xcc\\x8c\\xfa\\x49\\xf4\\x63\\xbd\\x31\\xa8\\x5e\\x8d\\xa9\\x48\\xd5\\x3f\\x89\\x25\\x60\\xbd\\x76\\x6d\\x49\\xba\\xa7\\x64\\x6d\\xcd\\xda\\xa9\\x3b\\xfc\\x2b\\xa7\\xa5\\x7b\\xa2\\xd2\\xd7\\x6e\\x6b\\xd9\\x72\\xed\\xc2\\x62\\xe0\\x96\\xb2\\x0a\\x54\\xec\\xf0\\x3f\\x73\\x6d\\x62\\x7d\\xc9\\x75\\x95\\xf5\\x51\\x35\\xb3\\x54\\xef\\xca\\x60\\xe8\\x25\\x63\\x86\\xd5\\xc7\\x8e\\xae\\xae\\xa8\\x37\\x32\\x4b\\x3c\\xb3\\xa6\\xc2\\xe1\\x7f\\x85\\xe9\\xa9\\xbd\\x12\\x53\\xa3\\x9b\\x64\\xca\\xfe\\xa8\\x5b\\x80\\x05\\x70\\x40\\x38\\x35\\x55\\xc3\\x70\\xed\\x0e\\xaf\\x4c\\xe3\\xa5\\x7e\\xe5\\xe8\\x8a\\xc0\\xbb\\x47\\xa6\\x25\\x3e\\x26\\xde\\x9c\\xec\\xca\\x7a\\xa3\\x46\\xf7\\xec\\x6e\\xec\\x69\\x35\\x4e\\xf7\\xac\\x6c\\xec\\x69\\x1a\\x5e\\x93\\x4e\\x6e\\x87\\x8d\\xad\\x58\\x5b\\x6f\\x65\\x0e\\xa9\\x4d\\x2f\\x06\\xf1\\x6b\\xa7\\xd6\\xaf\\x9c\\x46\\x75\\xcd\\xd1\\x89\\x49\\x8f\\xaa\\x8f\\xf8\\x39\\x31\\x35\\x7d\\x6d\\x4c\\xb4\\xa7\\x20\\xa7\\xd2\\x96\\xf5\\xe0\\xd5\\x90\\xda\\xd9\\x9e\\x7a\\x47\\x3b\\x40\\x62\\x54\\xf3\\x01\\xd4\\x8d\\x1e\\xb2\\x36\\xca\\x7e\\x89\\xf8\\x39\\xd0\\x7c\\x97\\x88\\x81\\x76\\xd1\\x31\\x9e\\x82\\x74\\xd4\\x68\\x3d\\xc5\\xe9\\xc5\\x35\\xc1\\xff\\x2d\\x9e\\x95\\x80\\x02\\x0f\\x40\\x97\\x66\\x07\\x0a\\xa1\\xbc\\xa2\\xde\\x5b\\xc4\\x83\\x77\\x6a\\x30\\x63\\xc5\\xdb\\x72\\x73\\x18\\x31\\xb5\\x86\\x84\\xcd\\x2e\\xb2\\x93\\x59\\x9f\\x93\\xbe\\xb0\\x3e\\x2e\\x7d\\x60\\x53\\x76\\xb5\\x5b\\xc5\\xb3\\xc7\\x56\\xd8\\x43\\x82\\xc3\\xea\\xe3\\x06\\xd5\\x4b\\xcd\\xf4\\xe0\\xa8\\xfa\\x9c\\x62\\x7b\\x5e\\x79\\x8a\\xd7\\xd6\\x14\\x05\\x5c\\xd0\\xba\\xd2\\x47\\x57\\x3c\\x2d\\xf9\\xfe\\x4f\\xb7\\x75\\xf3\\x24\\x3e\\xae\\x97\\xce\\xca\\x22\\x2d\\xdc\\x7a\\x10\\x55\\xd6\\xae\\x78\\x6d\\x45\\xed\\xcc\\x7a\\x77\\x4d\\x62\\x2d\\xf3\\x6e\\xa6\\xa7\\x22\\x31\\xb5\\xde\\x5b\\x49\\x86\\x2b\\xd3\\x2b\\x66\\x54\\xea\\xb2\\x03\\xa1\\x0e\\x9f\\x26\\xda\\xc5\\x51\\x69\\xd7\\x4a\\x79\\xc5\\xb0\\xb1\\xe9\\xc3\\x46\\x57\\x55\\xf4\\x0a\\x3a\\x12\\xe8\\xd0\\xea\\xac\\xcc\\xe2\\x73\\xd4\\xa4\\x57\\x24\\x06\\xd4\\x50\\x80\\xf5\\x21\\x99\\x21\\x9e\\x0a\\x23\\xd1\\xac\\x44\\x30\\x0a\\x86\\xa7\\x84\\x87\\xf4\\x81\\x7d\\xf9\\xb3\\xde\\x95\\x19\\x02\\x45\\x01\\xb8\\xcd\\xd5\\x85\\x3b\\xb0\\xaf\\xa7\\x42\\x25\\x4a\\xa3\\x34\\x6e\\xd4\\x77\\xf0\\x14\\xcf\\x28\\x0a\\xca\\xe9\\xf7\\xb3\\x94\\x3a\\x74\\x39\\x0d\\x2a\\x6d\\xd4\\xe6\\xd4\\xaf\\xe8\\x19\\x54\\x9a\\x98\\x5a\\x99\\x1a\\xf8\\xe9\\xdc\\xc9\\xa0\\xdb\\x13\\x34\\xcc\\x88\\x10\\x0d\\x6a\\x69\\x63\\x17\\xcb\\x14\\x1d\\x21\\xd4\\xe7\\xa0\\x52\\x9b\\xa5\\xb1\\x4c\\xd0\\x45\\xef\\xa9\\x48\\x9f\\x91\\x5e\\x99\\x3e\\xcb\\x53\\xef\\x2d\\xab\\xd0\\xb1\\x69\\x78\\x6c\\x94\\x83\\x60\\xd8\\x98\\x07\\x73\\x55\\x7e\\xd6\\x5b\\x33\\xb0\\x80\\x49\\x52\\xe9\\x6e\\x7c\\xd1\\x60\\xd6\\x97\\x64\\x27\\x36\\x07\\xb7\\x7e\\xb0\\xfd\\xde\\xf4\\x5a\\x7a\\x4e\\xf7\\x90\\xc6\\x6e\\xcf\\xda\\x90\\xf4\\x61\\x63\\xd7\\x6a\\xe5\\xe9\\x41\\x85\\x82\\xe7\\x43\\xea\\x45\\x97\\xb0\\xb7\\x57\\x74\\xa2\\xbd\\x16\\xe8\\x09\\x9d\\xce\\xda\\xeb\\x89\\x62\\x4a\\xdb\\x13\\x7a\\xed\\x36\\xaf\\x57\\x4f\\xe6\\x59\\xbd\\xb5\\x92\\xf4\\x21\\xb5\\x6b\\xd3\\xc7\\x56\\xf4\\xb5\\xa5\\x59\\x4f\\x2e\\x4d\\x5c\\xaa\\x6d\\xc5\\xc8\\x30\\x35\\xac\\x7c\\x60\\xe7\\x4e\\x2c\\x6d\\x03\\xb7\\xa5\\xab\\x35\\xa3\\xb7\\x79\\xd5\\x9a\\xb1\\x55\\x15\\x4f\\x73\\x69\\xf0\\xac\\x29\\xaf\\x78\\xcc\\x50\\xc6\\xa0\\x9a\\x81\\x95\\xdb\\x32\\xe8\\xab\\x78\\xda\\xc3\\xa6\\x61\\x73\\x0d\\xcd\\xd5\\x4c\\xfd\\xe2\\xd1\\x2f\\x5a\\xd3\\x18\\x5e\\x42\\x6c\\xf9\\xc4\\xa7\\xbd\\x22\\x2b\\xed\\x5e\\xcb\\x66\\xd8\\xef\\xd3\\x77\\x28\\xb1\\x79\\x21\\x8d\\x3c\\x25\\xd3\\x77\\x18\\x01\\x5e\\x54\\xc0\\x50\\x3b\\xdb\\x90\\x97\\x33\\xc8\\xf4\\x1d\\x56\\xa0\\xc7\\xdb\\x28\\x6d\\xc1\\x0b\\x09\\xf0\\x56\\xda\\x3c\\xfb\\x67\\x9b\\x68\\xc8\\xbc\\x61\\x0e\\x6f\\x88\\x37\\xd4\\xdb\\xd2\\x08\\x37\\x12\\xb7\\x29\\xcd\\x7a\\x0c\\xce\\x33\\x9c\\x55\\x42\\x95\\x3c\\xde\\x52\\x85\\xab\\xc4\\x6d\\x8c\\x1a\\x63\\xb3\\x77\\xa8\\x95\\xdb\\x42\\xbd\\x89\\x01\\x89\\x95\\x48\\x78\\x03\\x1e\\xae\\x19\\xf7\\x9b\\xe9\\x71\\x55\\x15\\x8f\\x73\\xa2\\x51\\x89\\xf6\\x9f\\x18\\x1a\\xa8\\x7f\\x28\\x97\\x84\\x59\\x24\\x9b\\x6d\\xa5\\xd8\\x53\\xab\\x0b\\x65\\x79\\xe5\\xac\\xb5\\x35\\x95\\x7a\\xb2\\x49\\x6b\\x52\\xc3\\xff\\x54\\xbd\\x4a\\xef\\x4f\\x9a\\xd2\\xfb\\xe3\\x88\\xb3\\x65\\x7d\\x58\\xfa\\x8c\\x81\\xf5\\x2d\\xd2\\x07\\x6a\\x7e\\xa1\\xe6\\x17\\x06\\xf8\\x4e\\xcd\\x77\\x51\\xa2\\xaa\\xb5\\x62\\xf8\\x4a\\x72\\x5f\\x56\\xaf\\x74\\x05\\x54\\x57\\xa4\\x32\\x25\\x3d\\x6d\\x5f\\x4b\\x5c\\x1b\\xf5\\x9d\\xce\\x54\\x25\\x8b\\xca\\xda\\xa8\\x2f\\x3a\\x0f\\x98\\x25\\x6e\\x35\\x43\\x56\\x40\\x5b\\x21\\x53\\xcd\\x52\\xe7\\x71\\xb6\\x72\\xab\\x1a\\x19\\xa9\\xa6\\xc8\\x38\\x35\\x40\\xfa\\x29\\x2f\\x2d\\xd8\\xaa\\x81\\xb4\\x83\\x78\\xd7\\x6d\\x17\\xd5\\x4f\\x56\\x22\\xd7\\x0f\\x7e\\x7f\\xde\\x39\\x4b\\xa9\\x3e\\x9c\\x8f\\x22\\xf9\\x33\\x07\\x2a\\x84\\x56\\x40\\x16\\x60\\xf4\\x09\\xca\\xe4\\x22\\x93\\x43\\x9b\\x13\\x7c\\xef\\xcc\\x7b\\x27\\xc6\\x6c\\xe5\\x4f\\x65\\x93\\xe6\\x16\\xc2\\xd5\\xed\\x50\\xde\\x4b\\x69\\x07\\x07\\xdb\\x12\\xf8\\xc5\\xb4\\xc5\\xc1\\xf7\\x21\\xbc\\xd3\\x8a\\x57\\xb9\\xc8\\xbb\\xdb\\xfe\\xf3\\x5e\\x65\\x79\\x4b\\xd5\\xee\\x33\\x6a\\xeb\\x19\\x25\\x67\\x54\\x58\\xce\\x29\\x25\\xa7\\x54\\xf8\\xe1\\x4f\\xbb\\xbb\\x3f\\xc9\\xff\\x68\\xdc\\xc7\\xf9\\x87\\xc6\\xc9\\x47\\xf8\\xfa\\x51\\xee\\x47\\x65\\x1f\\xad\\xfc\\xa8\\xfe\\x23\\xc7\\x47\\xca\\x1c\\x77\\xc8\\x6c\\xed\\x5e\\xf0\\x8e\\x9a\\xf2\\xce\\xb1\\x77\\x8c\\x51\\xef\\xa8\\xc2\\x17\\x95\\xfb\\xc5\\x4f\\x5e\\x34\\x76\\xf8\\x77\\x7b\\x37\\xee\\x0e\\x0b\\x2f\\x29\\x7b\\xbe\\xe6\\xf9\\x85\\xcf\\x9b\\xbb\\x06\\x77\\x74\\xcb\\x0e\\x95\\xf3\\xd4\\x94\\xa7\\xd6\\x3d\\xb5\\xf5\\xa9\\x4f\\x9e\\x72\\x2c\\x78\\x42\\x45\\x6e\\x77\\x6f\\x37\\x16\\x6c\\x57\\xee\\xc7\\x47\\x3d\\xee\\x7f\\xdc\\x7c\\xf4\\xe1\\x81\\xee\\xc8\\x2d\\x2b\\xb6\\x18\\x5b\\xb7\\xa8\\x85\\x5b\\x54\\xe1\\x16\\x15\\xb5\\xc1\\xb3\\x21\\x77\\x83\\xb9\\x70\\x83\\xba\\xfd\\xb6\\x24\\x77\\xce\\xad\\x85\\xb7\\x1a\\x89\\x37\\xa9\\x1b\\x57\\xd5\\xba\\xb7\\xde\\xa0\\xae\\x1b\\xe5\\x76\\xcb\\xaa\\x9a\\x55\\xc6\\xfa\\x55\\xca\\xbd\\x4a\\xad\\xbf\\x52\\x5d\\x01\\x67\\xd6\\x62\\x15\\x75\\x91\\xe7\\x22\\x63\\x51\\x8d\\xdf\\x5d\\x37\\xc5\\xef\\x5e\\x88\\xe1\\x05\\xd0\\xf9\\x83\\xfd\\xee\\x36\\xf9\\x09\\xe3\\x5c\\xf9\\xe6\\x38\\xa7\\xe9\\x77\\x6b\\x07\\xef\\x9f\\xde\\x25\\xbf\\x64\\xf7\\x34\\xf5\\xe9\\x54\\x55\\x33\\xa5\\x9b\\x7b\\x8a\\x56\\x38\\x59\\x79\\x27\\x87\\x86\\x97\\xac\\x98\\xb8\\x6e\\xe2\\xbd\\x13\\xcd\\xea\\xaa\\x6c\\x77\\x4e\\x95\\x92\\xaa\\x9a\\x2a\\x63\\x7d\\xd5\\xf1\\x2a\\xc3\\x5d\\xa5\\x62\\xf3\\x63\\xc6\\x39\\x88\\xdc\\x42\\x53\\xa4\\xe9\\x36\\x0b\\xcd\\x51\\xdc\\xe4\\xd7\\x99\\xcf\\x9b\\xae\\x90\\xb1\\x43\\x53\\xdd\\x65\\xa8\\x59\\x30\\x72\\xc5\\xc8\\x75\\x23\\xcd\\x11\\x83\\xd3\\xdd\\x43\\x07\\x7b\\xdc\\x91\\xa5\\xca\\x5b\\xda\\x22\\xb2\\xa4\\x04\\x47\\x22\\x07\\xbb\\x07\\x1b\\x49\\xa5\\x89\\xe3\\x5a\\xe7\\xb7\\x1a\\x17\\xad\\x22\\xc7\\x45\\xe5\\x47\\x8e\\xe3\\xe0\\x36\\x4e\\xe5\\xcb\\xb8\\x9c\\x48\\x7f\\xa4\\x11\\x19\\x39\\x25\\x72\\x45\\xa4\\x19\\xc9\\xe9\\xda\\x58\\xdf\\x5a\\x39\\xd4\\x0e\\xb5\\x7e\\x5b\\xf9\\xd8\\xec\\xec\\x61\\x3b\\x5c\\x7e\\x36\\x7c\\x57\\x59\\x75\\xbd\\x5a\\x53\\x9f\\x39\\x56\\xff\\xe9\\x1d\\x5d\\x55\\xef\\x5c\\x53\\x2f\\xe3\\xaa\\xaa\\x2b\\xb6\\x29\\x75\\x43\\xe5\\xaa\\xeb\\xaf\\x97\\x81\\xc9\\xc3\\xea\\xf3\\xc6\\x56\\xd4\\xd7\\x24\\x57\\x0e\\xab\\xaf\\xe5\\xc1\\xab\\x1f\\x56\\xf2\\x10\\x95\\xbc\\xad\\xb5\\x0c\\xac\\xac\\xab\\x5b\\x94\\x6d\\xff\\xa8\\xba\\xec\\xec\\x45\\xd9\\x02\\x65\\x4f\\xae\\xb3\\xdf\\xeb\\x16\\x5d\\xc4\\xdb\\x22\\xc9\\xce\\xae\\xab\\xb3\\x25\\x20\\x5e\\x16\\xd5\\x29\\x18\\x75\\xf0\\xeb\\x68\\x79\\x5e\\x24\\xfa\\x35\\xbb\\x4e\\xd5\\x2d\\xaa\\x93\\xba\\x45\\x2a\\x5b\\xea\\x34\\x2d\\xe2\\xfd\\x22\\x3d\\x58\\xab\\x83\\x31\\xb9\\x8e\\x27\\x06\\x40\\x12\\x30\\x99\\x6d\\xab\\xb5\\xad\\x05\\x5e\\x13\\x38\\x1e\\x3b\\xae\\xe7\\x7e\\xb2\\xc0\\xd1\\x8f\\x1b\\x4b\\xe0\\xcf\\xb3\\x7e\\xcc\\x87\\xb9\\xb5\\x3c\\x16\\xf8\\x3b\\x65\\xcd\\xff\\xf4\\x0d\\xf7\\x9f\\xfc\\x3f\\xde\\xbd\\x7e\\xf7\\x27\\xf0\\x65\\x58\\xc5\\xa8\\x54\\xf9\\x9b\\x9c\\x50\\xf9\\xca\\x90\\xe5\\x2a\\x96\\xfb\\x4a\\xad\\x2c\\x90\\xe5\\xb2\\x96\\x14\\x35\\xbf\\x7a\\xf5\\x51\\xc3\\xe9\\xbb\\x54\\x0e\\xd1\\x7f\\xbe\\x5c\\xcf\\x2c\\xba\\xe7\\xf7\\xb4\\xaa\\x54\\xd5\\x4e\\x85\\xa3\\xa1\\xca\\x96\\xbb\\x54\\xf6\\xca\\xe1\\xdf\\x35\\x7f\\x81\\xec\\x92\\xe3\\x67\\xdb\\x80\\x77\\x1b\\x77\\xa1\\x87\\x35\\x5f\\xe9\\xbf\\x97\\x74\\x8b\\x7a\\x49\\x0d\\x57\\xb5\\xe8\\xd0\\x9a\\x87\\xf3\\xc7\\xc4\\xdf\\x53\\x65\\xcc\\xe1\\x8f\\x75\\xd0\\x12\\xfe\\x9c\\x6f\\x04\\xef\\x97\\xc6\\x31\\x79\\x53\\x0e\\xca\\x44\\x63\\x97\\xf1\\x39\\xb7\\x93\\x47\\x83\\xfe\\x45\\xc8\\xb7\\xaa\\x88\\x76\\x18\\x1e\\x3e\\x15\\x54\\x30\\x8c\\x3b\\xdb\\xb9\\x3f\\x3b\\xf0\\x22\\x8c\\x3b\\xd4\\x25\\xdc\\xd7\\xd6\\x07\\x58\\x8e\\x7e\\xa7\\x3f\\x90\\x50\\xff\\x0f\\xe8\\x1a\\x2a\\x2f\\xc0\\x18\\x22\\xcb\\xb8\\xfd\\x34\\xfe\\xfc\\xaa\\x6c\\x1b\\x66\\x98\\xf8\\x9b\\x78\\x13\\x1a\\x1f\\x5c\\xa5\\xe6\\x1c\\xe3\\x49\\xc3\\x38\\x73\\xb3\\xe8\\xaf\\xe7\\xe7\\x41\\x53\\xd5\\xfb\\x78\\x79\\xbd\\x39\\xe0\\x77\\xf1\\xf9\\x3f\\xfc\\x98\\xe3\\xd8\\x2f\\x3a\\x98\\x99\\xdc\\x8a\\x7f\\xe7\\xc7\\xe8\\x26\\x91\\xbe\\x93\\x46\\x9e\\xff\\x98\\x99\\xc1\\xad\\x79\\x9c\\xff\\x78\\x23\\xcf\\x3f\\xcc\\xff\\x83\\x39\\xf5\\x7f\\xb3\\xe1\\xbc\\xd1\\x9a\\xcf\\x68\\xf1\\x7f\\xe1\\x5b\\xe6\\xab\\x75\\xe4\\x38\\x5a\\xaa\\x44\\xd5\\x9e\\x8c\\x7f\\x2d\\x1f\\xfe\\xfe\\x08\\xfd\\x6b\\x7e\\x55\\x8e\\xad\\x2c\\x3c\\xa4\\x75\\xec\\x0b\\x7c\\x12\\x74\\x75\\x83\\x36\\x40\\xa7\\xa9\\x45\\x10\\x0e\\x45\\x2e\\x74\\x21\\xb4\\x09\\xfa\\x5c\\x24\\x2c\\x09\\xe2\\xb9\\x05\\xfc\\x16\\x5b\\x44\\x5a\\x2e\\x17\\xae\\xf9\\x50\\xbd\\x48\\xc4\\x22\\xe8\\x5d\\x91\\xc8\\xed\\x22\\x51\\x4b\\xa0\\x1f\\x45\\xa2\\xd1\\x15\\x4d\\x1b\\x83\\x8d\\x18\\x64\\x62\\x91\\x89\\x7b\\x53\\xa4\\xd5\\x66\\x91\\xf8\\xbe\\x22\\x7a\\xe6\\x25\\x60\\xa7\\x0d\\xf2\\x89\\x14\\x7f\\x52\\x06\\x04\\x06\\xc9\\xe8\\x4d\\xa6\\x75\\x53\\x5f\\x6e\\x74\\xa6\\xd2\\xa6\\x7e\\x2a\\x92\\x86\\x2f\\xe9\\x3b\\x45\\x32\\x3d\\x10\\x7a\\xdb\\x7d\\x29\\xd2\\x1e\\x1b\\x59\\xf8\\xdd\\x01\\x3d\\xd9\\xe8\\xeb\\xc4\\xd8\\xce\\x57\\x89\\xe4\\xdc\\x02\\x1d\\x14\\xc9\\xe5\\xf8\\x92\\x8b\\xfd\\x5c\\x6c\\xe6\\xa2\\xab\\x2b\\x31\\xe4\\x31\\x3e\\x8f\\xf1\\xf9\\x6b\\x44\\xba\\xa1\\xb3\\x7b\\xae\\x48\\x0f\\xf4\\xf6\\x44\\x5f\\x2f\\xa8\\x80\\xb1\\xbd\\x4b\\x45\\xfa\\x56\\x40\\xbc\\x17\\x82\\x93\\x17\\xdf\\xbc\\xbf\\x8a\\x0c\\xc0\\x8f\\x81\\x7b\\x44\\x06\\x61\\xa7\\x68\\x16\\x44\\x7f\\x31\\x76\\x4a\\xd0\\x5d\\x8a\\xcf\\x43\\xb1\\x35\\x0c\\xb9\\x11\\xaf\\x8a\\x8c\\xbc\\x4e\\x64\\x14\\xf1\\x96\\xe1\\xdb\\x68\\xec\\x8e\\xee\\x24\\x32\\x06\\xfc\\xc6\\x62\\xb3\\x9c\\x8a\\x1f\\x87\\xbf\\xe3\\xf0\\x63\\x02\\x63\\x2a\\xc0\\xa7\\x8a\\x3c\\x54\\x83\\xfd\\x44\\xb0\\x9e\\x04\\x6f\\x12\\xe3\\x26\\x21\\x3f\\x25\\x0e\\x42\\x7e\\x0a\\x3a\\x6b\\xf0\\xa9\\x06\\x9b\\x53\\xd1\\x3b\\x0d\\xfe\\x34\\xda\\xe9\\x60\\x39\\x7d\\xa5\\xd8\\xbf\\xf6\\xad\\x65\\x3e\\xd6\\xd2\\x3f\\x03\\xb9\\x19\\x60\\x33\\xe3\\x90\\xc8\\x4c\\x80\\x9e\\x49\\x7b\\x5e\\x4b\\x08\\xd9\\xf3\\xe6\\x41\\x1b\\x21\\xec\\xe9\\xff\\xd4\\x7b\\x36\\xf1\\xcf\\x46\\x7e\\x36\\x78\\xcc\\xde\\x01\\x31\\x7e\\x0e\\xfe\\xce\\x01\\xf7\\x39\\xc4\\x39\\xe7\\x61\\x88\\xb8\\xe7\\x82\\xe1\\x5c\\xe2\\x9c\\xc7\\x98\\x79\\x60\\x3e\\xaf\\x16\\x02\\xab\\x79\\xf8\\x35\\x1f\\x1d\\xf3\\xf1\\xfd\\x7c\\x62\\x3c\\x1f\\x1f\\xce\\x27\\xf6\\xf3\\x77\\x43\\x60\\xb2\\x80\\xf1\\x0b\\xa9\\x97\\x85\\xe0\\x74\\x81\\xfe\\x4f\\x52\\x7b\\x41\\x60\\x77\\x01\\x3e\\x5c\\x80\\x0f\\x75\\xc4\\x51\\x87\\x5f\\x75\\xf8\\x55\\x07\\xaf\\x8e\\x98\\xf4\\x3f\\x2d\\xb0\\x08\\x9d\\x8b\\xd0\\xb5\\x08\\x5d\\x8b\\xd0\\x75\\x11\\x7a\\x2e\\x22\\x8e\\xc5\\xc4\\xb1\\x18\\xf9\\xc5\\xc8\\x2f\\x46\\x7e\\x31\\x3a\\x2e\\xa6\\x86\\x96\\x20\\xbb\\x04\\xd9\\x25\\xe4\\x72\\x09\\xeb\\xf3\\x25\\xe4\\xf9\\x92\\x32\\x91\\xa5\\xd4\\xc0\\x52\\xf0\\x5b\\x8a\\xd2\\xa5\\xc4\\xb0\\xf4\\xdd\\xe0\\xaf\\x21\\xe9\\x5b\\xc6\\xb8\\x65\\xf8\\xb6\\x0c\\xdf\\x96\\xe1\\xff\\x72\\x7c\\x59\\x8e\\x7f\\xcb\\xe9\\x5b\\x0e\\xa6\\xcb\\xc9\\xcb\\x72\\x62\\xbf\\x14\\x0c\\x2f\\xa5\\x0e\\x2e\\xa3\\x0e\\x2e\\x23\\x37\\x97\\x51\\x63\\x97\\x51\\xeb\\x97\\x91\\xab\\x15\\x8c\\x59\\x81\\xfe\\x15\\xf8\\xb3\\x82\\x9c\\xad\\xc0\\xd7\\x15\\xc4\\xbd\\x12\\xfb\\x2b\\xd1\\xb3\\x12\\x3d\\x2b\\xd1\\xb3\\x12\\x3d\\x97\\xe3\\xcb\\x15\\x35\\x10\\x72\\x57\\x20\\x77\\x05\\x72\\x57\\x21\\xb7\\x8a\\x58\\x57\\xc1\\x5f\\x05\\x7f\\x15\\xfc\\x55\\xf0\\x57\\xc3\\x5f\\xcd\\xf8\\xd5\\xf8\\xbd\\x9a\\x5c\\xae\\x06\\xe7\\xab\\xf1\\xed\\x6a\\x70\\xbf\\x1a\\x2c\\xae\\x06\\x8b\\x35\\xd4\\xc7\\x1a\\x72\\xb6\\x06\\x0c\\xae\\x01\\x8b\\x6b\\xc0\\xee\\x1a\\xe2\\x58\\x8b\\x4f\\x6b\\x91\\x5d\\x4b\\x7c\\x6b\\xb1\\xbd\\x16\\xdb\\xd7\\xa2\\xef\\x5a\\x74\\x5c\\xc7\\xf8\\xeb\\xc8\\xdb\\x75\\xd4\\xf1\\x75\\xe0\\x74\\x3d\\x3e\\x5d\\xef\\x85\\xa8\\xcb\\xeb\\xb1\\x7d\\x03\\x75\\xb0\\x0e\\x3f\\xd6\\x11\\xdf\\x3a\\xe2\\x5b\\x4f\\xce\\xd6\\xa3\\x6b\\x3d\\xf1\\xad\\xc7\\xde\\x8d\\xc8\\xdc\\xc4\\xd8\\x9b\\xa8\\x93\\x9b\\xc1\\xe5\\x66\\x7c\\xbf\\x99\\xfa\\xb9\\x99\\x5a\\xb9\\x19\\x2c\\x6f\\xc6\\x87\\x9b\\xf1\\xe1\\x16\\xec\\xdd\\x82\\xff\\xb7\\xe0\\xc3\\x2d\\x8c\\xbb\\x05\\x1f\\x6f\\x25\\xaf\\xb7\\xa2\\xff\\x56\\xde\\x6f\\xd5\\xef\\xc8\\xdd\\x86\\x4f\\xb7\\x53\\x0f\\xb7\\x13\\xe3\\xed\\xfa\\x99\\xf9\\xb3\\x01\\xac\\x37\\xa0\\x73\\x03\\xb2\\x1b\\xc8\\xe7\\x06\\xf0\\xb8\\x03\\xec\\xef\\x80\\x77\\x07\\x78\\xde\\x81\\x9d\\x3b\\xc8\\xd9\\x9d\\xf8\\x76\\x27\\xbe\\xdd\\xc9\\xf8\\x3b\\x89\\xff\\x4e\\x6c\\xdf\\x89\\xce\\xbb\\xa8\\xc3\\xbb\\x90\\xbd\\x8b\\xf1\\x77\\x11\\xc7\\x46\\xc6\\x6e\\x64\\xae\\xdd\\xcd\\x98\\xbb\\xf1\\xfb\\x1e\\xea\\xe0\\x5e\\x64\\xee\\x45\\x7e\\x13\\x63\\xff\\x44\\xfe\\xfe\\x4c\\x4d\\xfc\\x19\\xdc\\xfe\\x8c\\x0f\\x7f\\x01\\x8b\\xcd\\xf4\\x6f\\xc6\\xee\\x5f\\x19\\x7f\\x1f\\xef\\xf7\\x63\\xe7\\x7e\\x7c\\xdb\\x82\\xed\\x07\\xf0\\xff\\x41\\xe6\\xc7\\x43\\xe8\\x7d\\x08\\x7f\\x1e\\xc2\\xe6\\xc3\\xe0\\xf2\\x08\\xf5\\xa7\\xff\\xd9\\x80\\x47\\x79\\xde\\x4a\\x8e\\xea\\xc9\\xe9\\x36\\xea\\x75\\x1b\\xf3\\x69\\x1b\\xba\\x1e\\x83\\xf7\\x38\\xf6\\xb6\\x83\\xcd\\x76\\xe2\\x7f\\x02\\x9f\\x9f\\xe4\\xfd\\x29\\xfa\\x9f\\xc2\\x97\\xa7\\xc8\\xe9\\x0e\\x74\\x3c\\x8d\\xad\\xa7\\x89\\xfb\\x19\\x72\\xf5\\x2c\\x31\\x3e\\x4b\\xcd\\xee\\xc4\\xe7\\xe7\\xa8\\xbb\\x5d\\xd8\\xdc\\x05\\xfe\\xcf\\x33\\x76\\x37\\x31\\xbe\\xc0\\xd8\\x17\\xc8\\xef\\x8b\\xbc\\xbf\\x04\\xde\\x7b\\x78\\xdf\\x43\\x8c\\x7f\\x23\\xef\\x2f\\x93\\xb3\\x57\\xb0\\xff\\x0a\\x31\\xbc\\x82\\xcc\\xab\\xd8\\x7d\\x15\\x9c\\x5f\\x25\\x86\\x57\\xd1\\xf9\\x2a\\x98\\xbc\\x46\\xcc\\xaf\\x11\\xeb\\x6b\\x60\\xf0\\x1a\\x73\\xe8\\x35\\xea\\xed\\x35\\x7c\\x78\\x0d\\x7b\\xaf\\x81\\xc5\\x6b\\x8c\\x7b\\x9d\\x98\\x5e\\x47\\xef\\xeb\\xd4\\xc9\\xeb\\xd8\\x7c\\x9d\\x5c\\xbf\\x4e\\x0d\\xbd\\x8e\\x8f\\x6f\\x90\\xd3\\x37\\xc8\\xd7\\x1b\\xd8\\x7a\\x03\\xde\\x1b\\x60\\x4c\\x28\\xf2\\x26\\xfa\\xde\\xa4\\xbe\\xf6\\x32\\x76\\x2f\\xeb\\xe9\\x5e\\xb0\\xd8\\x0b\\x2e\\x7b\\xa9\\xa9\\xbd\\xe0\\xf5\\x77\\xf4\\xee\\x43\\x66\\x1f\\xf6\\xf6\\x61\\x6b\\x1f\\xb6\\xf6\\x21\\xff\\x16\\x3a\\xdf\\xc6\\xdf\\xb7\\x91\\x7b\\x07\\xdf\\xde\\x41\\xe6\\x1d\\x64\\xde\\xe5\\xf9\\x5d\\xfc\\x7c\\x97\\xf7\\x77\\xf1\\xf3\\x5d\\x7c\\x7c\\x17\\xd9\\xfd\\x8c\\x3d\\x80\\xfe\\x03\\xd4\\xd9\\x01\\xe2\\x3a\\x80\\x8e\\xf7\\x90\\x7b\\x0f\\x99\\xf7\\x90\\x79\\x0f\\x99\\xf7\\xe0\\x1d\\x24\\xf6\\x83\\xcc\\xdd\\x83\\x60\\x78\\x10\\xfd\\x07\\xc1\\xe8\\x7d\\x62\\x7a\\x9f\\x3c\\xbe\\x4f\\x3c\\xef\\x83\\xd7\\xfb\\xd8\\xfc\\x00\\x3b\\x1f\\x60\\xe3\\x03\\xf4\\x7d\\x40\\xbe\\x3e\\x20\\x27\\x1f\\x82\\xe1\\x87\\xc4\\xfe\\x21\\x7e\\x7c\\x88\\xbd\\x0f\\xc1\\xee\\x10\\x79\\x39\\xc4\\x3a\\x74\\x88\\xb8\\x0f\\x81\\xfd\\x21\\x72\\x72\\x08\\x3b\\x1f\\x31\\xfe\\x23\\xf2\\xf7\\x11\\xcf\\x1f\\x53\\x27\\x1f\\x93\\xe7\\x4f\\xc0\\xe3\\x13\\x7c\\xfb\\x14\\x5f\\x3e\\xc3\\xf6\\x61\\xfc\\x3a\\x42\\x1e\\x8f\\xf0\\x7e\\x04\\xb9\\xcf\\xf1\\xe3\\x0b\\xfc\\x3b\\x8a\\x9d\\xa3\\xd8\\x3e\\x8a\\xec\\x51\\xec\\x36\\x80\\x75\\x03\\x35\\xdc\\xc0\\x1c\\x6f\\x40\\xee\\x4b\\x70\\xfe\\x12\\xde\\x97\\xf0\\xbe\\x62\\x0d\\xfe\\x1a\\x9f\\xbe\\xc1\\x8f\\x6f\\xa8\\x93\\x6f\\xe1\\x7f\\x87\\x7f\\xdf\\x13\\xcf\\x31\\xf0\\x38\\xc6\\xfb\\x31\\x6a\\xee\\x38\\xb8\\xfe\\x13\\xdc\\xff\\x45\\x0d\\xff\\x40\\x2e\\x7e\\x20\\xff\\x3f\\x32\\xfe\\x27\\xb0\\xf8\\x89\\x71\\x3f\\x33\\xe6\\x17\\xe2\\xff\\x15\\xbf\\x7f\\x25\\x71\\x27\\xf0\\xf9\\x24\\xfc\\x53\\xc4\\x70\\x4a\\xff\\xfd\\x05\\x30\\x38\\x43\\xbf\\x8f\\xda\\xf2\\xa1\\xcf\\x7f\\x1d\\xf7\\x35\\x7d\\x63\\xdf\\xc3\\x7d\\x6e\\x91\\x28\\xa3\\xaf\\x28\\xd3\\x82\\xb6\\x70\\xb4\\xa8\\x11\\xe5\\x28\\x17\\xe5\\xec\\x06\\x9d\\x16\\x15\\x12\\x02\\x7d\\x2e\\x2a\\x74\\xb9\\xa8\\xb0\\x59\\xa2\\x5a\\x70\\x57\\x6c\\xf1\\xa6\\xa8\\x96\\x57\\x89\\x0a\\xcf\\x80\\x78\\x8e\\xb8\\x45\\x54\\xe4\\x12\\x51\\x51\\x49\\x10\\xfd\\x51\\xf4\\x45\\x67\\x41\\xbb\\x39\\x0c\\x23\\x13\\xcb\\x71\\x25\\xf6\\x4b\\x51\\x71\\xfb\\x44\\xb5\\x7a\\x57\\x54\\x6b\\xec\\xc7\\x97\\x41\\x9f\\x42\\xc7\\x45\\x25\\x1c\\x14\\xd5\\x06\\xdb\\x6d\\x37\\x88\\x4a\\x4c\\x80\\xd0\\x97\\x94\\x0b\\x6d\\x17\\x95\\x3c\\x1c\\xda\\x21\\x2a\\x05\\x7d\\x29\\xc8\\xbb\\xe9\\xf3\\xe0\\xb3\\x87\\x71\\xa9\\x3c\\xa7\\x21\\x9f\\x86\\xce\\xf4\\x0a\\xe8\\x90\\xa8\\x8c\\x7a\\x51\\x99\\xe8\\x6a\\x47\\x7c\\xed\\x18\\xd7\\xbe\\x14\\xfa\\x56\\x54\\xd6\\x42\\x51\\x1d\\xf0\\xad\\x23\\xf1\\x74\\x44\\x26\\x7b\\x93\\xa8\\x4e\\xc4\\xd8\\xe9\\x55\\x51\\x9d\\x27\\x42\\xf8\\xd7\\x05\\x7b\\x5d\\xc0\\x24\\x67\\x8d\\xa8\\x5c\\x78\\xb9\\xf3\\x44\\x75\\xc5\\x8f\\xae\\xc4\\x9f\\x07\\x26\\xf9\\xc4\\x92\\x8f\\xad\\x6e\\xf4\\x77\\x27\\xc6\\x1e\\xe8\\xef\\x09\\x46\\xbd\\xe8\\x2f\\x00\\x87\\xde\\x5f\\xda\\xff\\xc4\\x8e\\xea\\x4b\\x3c\\xfd\\xc0\\xab\\x3f\\x63\\xfb\\x23\\x53\\x08\\x36\\x5e\\xe2\\xf5\\x22\\x37\\x00\\x9f\\x07\\xe2\\xf3\\x40\\xda\\x41\\x51\\xd0\\x66\\x51\\x45\\x45\\x10\\x7e\\x14\\x63\\xa3\\xb8\\x16\\x22\\xbe\\x62\\xf4\\x17\\x23\\x53\\x4c\\x7f\\xf1\\x8f\\xa2\\x4a\\x90\\x29\\x01\\xbf\\xc1\\xf8\\x35\\x18\\xbf\\x06\\xa3\\x7f\\x30\\xba\\x07\\xff\\x2a\\xaa\\x14\\xdd\\xa5\\x0f\\x43\\xe0\\x33\\x24\\x0e\\xc2\\xcf\\x21\\xc4\\x36\\x84\\x98\\x87\\x6c\\x84\\xb0\\x3b\\x14\\xfc\\x86\\xa2\\x77\\x28\\xfa\\x86\\xa2\\x6f\\x18\\xfa\\x86\\xe1\\xd7\\x30\\xb0\\x18\\x86\\xdf\\xc3\\x19\\x37\\x9c\\xf7\\xe1\\xc4\\x3f\\x02\\xcc\\x47\\xa0\\x6f\\x54\\x4b\\x08\\xde\\x28\\xfa\\xcb\\xa8\\x91\\x32\\xc6\\x8d\\x06\\xd7\\xd1\\xe0\\x39\\x06\\xbd\\x63\\xd1\\x39\\x96\\x7a\\x19\\x8b\\xce\\xb1\\xc8\\x94\\x83\\x6f\\x39\\xfe\\x97\\xd3\\x57\\x8e\\x2f\\xe3\\x88\\x7f\\x1c\\x7e\\x8e\\x23\\xdf\\xe3\\xc0\\x64\\x3c\\x7e\\x8d\\xa7\\x86\\xc6\\xa3\\x7b\\x02\\x18\\x70\\x6e\\x52\\x13\\xb0\\x5f\\x01\\x0e\\x15\\x60\\x5a\\x81\\xfe\\x4a\\x64\\x2a\\xe1\\x57\\x12\\x7f\\x25\\xf9\\xa8\\x24\\xbe\\x2a\\xf4\\x54\\xa1\\xa7\\x8a\\x71\\x55\\xe8\\xad\\xa6\\xce\\xaa\\xb1\\x55\\x4d\\xdc\\xd5\\xc4\\x54\\x0d\\x0e\\xd5\\xf8\\x34\\x91\\x5c\\x4f\\xa4\\x86\\x26\\x52\\x1b\\x93\\x7a\\x41\\xf4\\x4d\\xe2\\x7d\\x12\\xb9\\x99\\x8c\\xbd\\xc9\\xd4\\xc5\\x64\\xe4\\xa6\\xa0\\x6f\\x0a\\x7d\\x53\\x18\\xc7\\x92\\xa6\\x6a\\x88\\xa9\\x66\\x25\\x44\\x7f\\x0d\\x18\\xd7\\x90\\xd3\\xa9\\xf0\\xa6\\x12\\xfb\\x54\\x78\\x53\\xf1\\x7d\\x1a\\x75\\x33\\x0d\\x9b\\xd3\\xc0\\x74\\x1a\\x7e\\x4d\\xc3\\xc6\\x74\\x70\\x9a\\x4e\\xec\\xd3\\x91\\xaf\\xc5\\xe7\\x5a\\xe2\\xae\\xa5\\xe6\\x6b\\xe9\\x9b\\x41\\x9c\\x33\\xf0\\x77\\x06\\xcf\\x33\\xc1\\x6e\\x26\\x18\\xcc\\x44\\xee\\x3c\\xe2\\x3b\\x8f\\x71\\xe7\\x61\\xef\\x3c\\x30\\x9b\\x05\\xc6\\xb3\\xf0\\x67\\x16\\xf5\\x3b\\x8b\\x18\\x67\\xa1\\x7b\\x16\\xf9\\x9a\\xed\\x81\\xa8\\xd1\\xd9\\xd4\\xf4\\x1c\\x72\\xc9\\x39\\x4e\\x71\\x8e\\x53\\x73\\x78\\x9f\\x4b\\xee\\xe6\\x82\\xd7\\x5c\\xf4\\xcd\\xc3\\xcf\\x79\\xf8\\x34\\x0f\\xbb\\xf3\\xc0\\x6f\\x3e\\x39\\x99\\x4f\\x2d\\x9d\\x8f\\xfc\\x02\\xfa\\x16\\x80\\xe3\\x02\\xe2\\xbc\\x90\\xb8\\xeb\\xc0\\xad\\x0e\\x3b\\x75\\xe8\\x58\\x04\\x1e\\x8b\\xc0\\x6b\\x11\\x31\\x2e\\x22\\xe6\\x8b\\xf0\\xe3\\x22\\xf4\\x5e\\xb4\\x5e\\x14\\x67\\x33\\xb5\\x18\\x9d\\x8b\\xd1\\x79\\x31\\xb9\\xb9\\x18\\xfb\\x17\\x33\\xee\\x62\\xde\\x97\\xf0\\xbe\\x04\\xb9\\x25\\xd8\\xba\\x04\\xdd\\x4b\\xc1\\x6f\\x29\\xb2\\x4b\\x79\\x5f\\x46\\x5d\\x2e\\x47\\xcf\\x72\\xfc\\xbe\\x14\\xbd\\x97\\x12\\xfb\\x65\\x8c\\xbb\\x0c\\xfb\\x9c\\xaf\\xd4\\x0a\\x78\\x2b\\xc8\\xf7\\x4a\\xd6\\x1a\\xce\\x54\\x6a\\xa5\\x7e\\x26\\x9f\\x2b\\x91\\xbb\\x1c\\x0c\\x2e\\x27\\x4f\\x57\\xd0\\x77\\x05\\x7e\\x5d\\x41\\x0c\\x57\\x32\\xf6\\x4a\\xfa\\xaf\\x22\\x96\\x55\\xd4\\xe7\\x2a\\x72\\xb1\\x8a\\xf9\\xb7\\x0a\\x7c\\x56\\x61\\x6f\\x35\\x18\\xaf\\x06\\xc3\\xd5\\xd4\\xc8\\xd5\\xe4\\xe7\\x6a\\x62\\xba\\x1a\\x5d\\x2c\\x8d\\x6a\\x0d\\x7e\\xae\\x61\\xfe\\xac\\x21\\x3f\\x6b\\xc0\\xf4\\x1a\\xf0\\xba\\x86\\x5a\\x58\\x4b\\x0e\\xd7\\x12\\x1f\\xe7\\x29\\xb5\\x16\\xd9\\x6b\\x91\\xbd\\x1e\\x9b\\xd7\\xa3\\xff\\x06\\xf4\\xaf\\xd3\\x04\\x3e\\xeb\\x19\\xbf\\x1e\\xfc\\xd6\\x13\\x1b\\x67\\x26\\xb5\\x1e\\xdf\\x6e\\x44\\xf6\\x46\\xda\\x9b\\xd0\\x79\\x33\\xf5\\xc5\\x19\\x49\\xdd\\x02\\xae\\x9c\\x85\\xd4\\x6d\\x60\\x74\\x1b\\xcf\\xb7\\x53\\x93\\x9c\\x7f\\xd4\\x06\\xf2\\x7d\\x07\\xe3\\xef\\x00\\xb3\\x3b\\x99\\x53\\x77\\xe2\\xf7\\x5d\\xc4\\xbf\\x11\\xbd\\x1b\\xe1\\xdd\\x4d\\x6c\\x77\\x83\\xfb\\x3d\\xc8\\x6f\\x22\\x2f\\x9b\\x88\\xe3\\xcf\\xc4\\xb3\\x99\\xf9\\xbd\\x99\\x1c\\x6c\\x66\\xcc\\x66\\x62\\xfc\\x2b\\xf5\\xf2\\x57\\x6a\\xeb\\x3e\\xc6\\xdd\\x87\\x5f\\xf7\\x83\\xdb\\xfd\\xd8\\xbf\\x9f\\x9a\\xe4\\x1c\\xa3\\x1e\\x20\\xae\\x07\\x91\\x7f\\x08\\x7c\\x1f\\x42\\xfe\\x61\\x62\\x7e\\x84\\x1a\\x78\\x84\\xf1\\x8f\\x32\\xee\\x51\\x6c\\x6c\\xa5\\x96\\xb6\\xe2\\x77\\x3d\\xba\\xb7\\x21\\xfb\\x18\\xf9\\x78\\x1c\\x4c\\xb7\\xe3\\xf3\\x13\\xe8\\x7f\\x12\\xdd\\x4f\\xd2\\xff\\x14\\xf9\\xdb\\x81\\x9e\\xa7\\xc1\\xf1\\x69\\x62\\x78\\x06\\x1d\\xcf\\xa2\\xef\\x59\\xe2\\xdc\\x89\\xcf\\xcf\\x61\\xfb\\x39\\xf8\\xbb\\xc0\\x7a\\x17\\x32\\xbb\\xe0\\x3d\\xcf\\x7c\\x7f\\x9e\\xb9\\xf4\\x3c\\xb5\\xb0\\x1b\\x3d\\xbb\\x77\\x8a\\x7a\\x01\\x3d\\x2f\\xe2\\xc3\\x8b\\xe0\\xfe\\x12\\x7d\\x7b\\xb0\\xb3\\x07\\xb9\\x3d\\xe0\\xff\\x37\\xf4\\xfd\\x0d\\xbd\\x2f\\x83\\xcf\\xcb\\xcc\\x97\\x97\\xa9\\xe9\\x97\\xc9\\xc5\\xcb\\xe4\\xe2\\x15\\xe2\\x7b\\x95\\xbc\\xbf\\x86\\x7f\\xaf\\x81\\xc7\\xeb\\xd8\\x78\\x9d\\x5a\\x78\\x83\\x9a\\x7a\\x03\\x8c\\xde\\x24\\x9e\\x37\\xd1\\xf3\\x26\\x3a\\xf7\\x92\\xc7\\xbd\\xe4\\xf1\\x1f\\xd0\\x3e\\xfc\\xd9\\x87\\xff\\xfb\\xf0\\xf3\\x2d\\xc6\\xbe\\x8d\\xcc\\xdb\\xc8\\xbc\\x8d\\x4f\\x6f\\x63\\xef\\x6d\\xf0\\xe2\\x3c\\xa2\\xde\\xc6\\xee\\xdb\\xe4\\xe1\\x1d\\xf8\\xfb\\xb1\\xbf\\x1f\\xfb\\x07\\x88\\xf7\\x00\\xb8\\x1d\\xc4\\xb7\\x0f\\x98\\x97\\x1f\\x52\\x0b\\x1f\\xe2\\xc7\\x21\\x74\\x7d\\x84\\x2f\\x1f\\x13\\xcf\\x27\\x60\\xfc\\x09\\xfd\\x9f\\x82\\xd9\\x67\\xf8\\xf3\\x19\\x36\\x0e\\xb3\\xee\\x1d\\xa6\\x36\\x3e\\x27\\x07\\x5f\\x90\\xd7\\xa3\\xe4\\xf1\\x28\\xf8\\x34\\x90\\xf3\\x06\\x62\\xf9\\x12\\xfe\\x57\\xf8\\xf1\\x15\\x7e\\x7c\\x05\\x66\\x5f\\xe3\\xe3\\xd7\\xc4\\xf3\\x0d\\xd8\\x7c\\x83\\x9e\\xef\\xf0\\xeb\\x3b\\xfc\\xfa\\x9e\\x3a\\xfa\\x9e\\x7a\\x3e\\x8e\\x4f\\xff\\xe2\\xf9\\x5f\\xd8\\xfd\\x81\\xf7\\x9f\\xf0\\xe3\\x27\\x62\\xfa\\x19\\x7c\\x7e\\xc1\\xce\\x2f\\xd4\\xd8\\x2f\\xf8\\xfe\\x2b\\xbe\\x9d\\x00\\x8f\\x13\\x3c\\x9f\\x40\\xee\\x04\\xbe\\x9f\\x04\\xeb\\x93\\x8c\\x3d\\x45\\x2e\\x4f\\x63\\xe3\\x0c\\xef\\x67\\xa8\\xaf\\x33\\xf8\\xed\\x5f\\x23\\x86\\x74\\x12\\x43\\x15\\x41\\xc7\\xc5\\x30\\x0e\\x8a\\x61\\xbe\\x2a\\x86\\xf5\\xa9\\x18\\x0e\\xc8\\x59\\x2f\\x86\\x0b\\x99\\x10\\x78\\x61\\x02\\x7d\\x2b\\x46\\x8b\\x43\\x62\\x84\\x27\\x88\\x11\\x51\\x26\\x46\\xe4\\x6e\\x31\\xa2\\x79\\x8e\\x66\\x6c\\xcc\\x46\\x31\\x62\\x17\\x89\\x11\\x37\\x1c\\x42\\xa6\\xd5\\x3c\\x68\\x13\\xf4\\xae\\x18\\xad\\x19\\xc7\\x5e\\x6e\\x24\\xbc\\x29\\x46\\x9b\\xf5\\x62\\x24\\xb6\\x14\\x23\\x89\\xfe\\x24\\xc6\\x24\\xc1\\x4b\\xe6\\x39\\x25\\x04\\xd2\\xed\\x4e\\x31\\xdc\\x49\\x50\\x0d\\xb4\\x19\\xfa\\x55\\x8c\\xd4\\x5a\\x31\\xd2\\xb1\\x97\\x31\\x51\\x8c\\xcc\\x72\\x31\\xda\\xe1\\x4b\\xbb\\x87\\xc5\\x68\\x8f\\x4c\\x16\\xfe\\x67\\xa1\\xa7\\x03\\x3a\\x3b\\xc0\\xeb\\x58\\x2a\\x46\\x76\\xae\\x18\\x9d\\x2c\\x31\\xba\\xa0\\x93\\xeb\\x8b\\xd1\\x15\\xca\\xd3\\x84\\xbf\\xf9\\x57\\x89\\xd1\\x0d\\x1f\\xbb\\xc7\\x41\\x5f\\x8a\\xd1\\x03\\x5e\\xcf\\x25\\x62\\xf4\\xf2\\x8a\\x51\\x00\\xaf\\x60\\x9f\\x18\\xbd\\xd1\\xd7\\x67\\x96\\x18\\x7d\\xd1\\xdf\\x0f\\x7d\\xfd\\xa1\\xc2\\x5e\\x62\\x78\\xd1\\xe7\\xc5\\xdf\\x01\\xf0\\x07\\x10\\xcf\\x40\\x74\\x0e\\xdc\\x22\\xc6\\x20\\x74\\x14\\x2d\\x14\\xa3\\x98\\x38\\xd9\\x7f\\x8d\\x52\\x7c\\x2a\\x05\\xb3\\x21\\x2b\\xc5\\x18\\xca\\xb8\\x61\\x60\\x34\\x8c\\x38\\x86\\x23\\x3b\\x7c\\x87\\x18\\x23\\xc0\\x60\\x24\\x71\\x8c\\xc2\\x66\\x19\\xb1\\x96\\x21\\x5f\\x46\\x6c\\x65\\xd7\\x89\\x31\\x9a\\x31\\x63\\x88\\x77\\x2c\\xfc\\xb1\\xd8\\x2a\\xdf\\x2e\\x06\\x7b\\xa4\\x31\\xbe\\x42\\x8c\\x09\\xf0\\x26\\xe0\\x5f\\x05\\x32\\x95\\x8c\\xad\\xc2\\x9f\\x2a\\x74\\x57\\xe1\\x5f\\x15\\x31\\xb0\\x07\\x1a\\xec\\x81\\x46\\x15\\xbe\\x55\\xe3\\x5b\\x35\\x38\\x54\\xe3\\x6b\\x35\\xbe\\x55\\x33\\xa6\\x1a\\x5d\\xd5\\xc4\\x3c\\x11\\x3d\\x13\\xc1\\x73\\x22\\x58\\x4c\\xc4\\x9f\\x49\\xc8\\x4c\\x42\\x66\\x12\\xf9\\x9a\\x84\\xfe\\xc9\\x60\\x37\\x19\\xbf\\x27\\x13\\xcb\\x64\\x78\\x53\\xf0\\xad\\x86\\x1a\\xa9\\xc1\\x46\\x0d\\x36\\x6a\\xb0\\x31\\x15\\xac\\xa6\\xc2\\x9b\\x4a\\xce\\xd9\\x07\\x8d\\xa9\\xe4\\x7c\\x5a\\x14\\x04\\x6f\\x1a\\x72\\xd3\\x90\\x9b\\x9e\\x01\\x6d\\x80\\x88\\x83\\x23\\xa7\\x51\\x4b\\x3b\\xe3\\x16\\x31\\x66\\x82\\xed\\x79\\xdd\\xa0\\xd3\\x62\\xcc\\x22\\xdf\\xb3\\xc1\\x62\\x36\\x31\\xcf\\x21\\x2f\\x73\\x89\\x6b\\x5e\\x16\\x04\\x5e\\xf3\\xf1\\xf7\\x7c\\xf8\\x0b\\xd0\\xb9\\x10\\x9f\\x2f\\x40\\xff\\x85\\xe8\\xb9\\x10\\x9f\\xeb\\xf0\\x79\\x11\\x72\\x8b\\xb0\\xbb\\x08\\xdc\\x2f\\x42\\x76\\x31\\x76\\x2f\\x26\\xe6\\x8b\\xd1\\x71\\x31\\xf1\\x5d\\x8c\\xcc\\xc5\\xc4\\x75\\x31\\x31\\x2d\\x21\\x86\\x25\\xe4\\xf5\\x12\\x30\\xbb\\x84\\x9a\\xbe\\x04\\x1d\\x97\\x7c\\x2e\\xc6\\x52\\xfc\\x5f\\xba\\x07\\x42\\xc7\\x32\\xec\\x2c\\x23\\x37\\xcb\\xd0\\xb9\\x1c\\x4c\\x2f\\x25\\x2f\\x97\\xa2\\xf7\\x32\\x6c\\x5e\\x86\\xae\\xcb\\xc8\\xc3\\x65\\xfa\\x9d\\x71\\x2b\\xb0\\xb3\\x02\\xdf\\x56\\xf0\\xbe\\xb2\\x2f\\x84\\x6e\\xf6\\x2b\\xe3\\x72\\xfc\\xbc\\x9c\\x38\\x2e\\xe7\\xf9\\x0a\\x6c\\x5e\\x41\\x6d\\x5c\\xc9\\xb8\\x2b\\x89\\xe7\\x2a\\x7c\\xb9\\x8a\\x9a\\x5e\\x85\\xbe\\x55\\xe4\\x63\\x95\\x7e\\x06\\x93\\xd5\\xc4\\xb5\\x1a\\x7f\\x57\\x63\\xf7\\x6a\\x70\\xbd\\x1a\\x6c\\xae\\xc6\\xde\\xd5\\xe8\\xbc\\x9a\\x7e\\xf6\\x2b\\x63\\x0d\\xbe\\xb1\\x57\\x19\\x6b\\xc8\\xdf\\x35\\xd8\\xb8\\x86\\x98\\xd6\\x92\\xa7\\x6b\\x91\\xbd\\x96\\x39\\x76\\x1d\\xba\\xae\\x67\\xcc\\x0d\\xf8\\x74\\x03\\x7a\\xd6\\x61\\x93\\x3b\\xbd\\x71\\x23\\x76\\x6e\\x62\\x6e\\xdc\\x04\\xee\\x37\\x83\\x17\\xf7\\x76\\xe3\\x16\\xe6\\xf9\\xad\\xe8\\xbd\\x0d\\xbc\\x6e\\x27\\xc6\\xdb\\xd1\\x79\\x07\\x7c\\xee\\xdb\\x86\\xfe\\xa7\\x1e\\x37\\x52\\x53\\x77\\x13\\xc3\\x3d\\xe0\\x78\\x0f\\xd8\\x6c\\x22\\x8f\\x7f\\xc2\\xd6\\x9f\\x18\\xf7\\x67\\xe2\\xf9\\x0b\\xd8\\x6d\\xc6\\xcf\\xcd\\xf8\\xc3\\xfe\\x63\\xdc\\x47\\x9c\\xec\\x3d\\xc6\\x16\\xda\\x2d\\x60\\xf3\\x00\\x76\\x1f\\xc4\\xc7\\x07\\xf1\\xe3\\x21\\xea\\xe7\\x61\\x9e\\x1f\\xc6\\x9f\\x47\\xc0\\xe9\\x11\\x74\\x3c\\x82\\xbd\\x47\\xc0\\xe3\\x51\\xec\\x3d\\x0a\\xde\\x8f\\x52\\x07\\x5b\\xf1\\xa5\\x9e\\xf7\\x6d\\xd8\\xd9\\x86\\x8e\\xc7\\xb0\\xfd\\x18\\xf1\\x3f\\x4e\\x7c\\x8f\\x13\\xfb\\xe3\\xc8\\x6c\\x27\\x8e\\xed\\xc4\\xf1\\x04\\x3e\\x3e\\x81\\x0f\\xdc\\xad\\x8d\\x27\\x19\\xf7\\x24\\xf9\\x7c\\x92\\x3a\\x7b\\x8a\\x9a\\x7d\\x8a\\xda\\xdf\\x81\\xcd\\x1d\\xac\\x5d\\x3b\\xf0\\xf5\\x69\\xc6\\x3e\\x8d\\x8f\\xcf\\x10\\xd3\\x33\\xcc\\xc9\\x67\\x79\\xdf\\x89\\xce\\x9d\\xf8\\xf6\\x1c\\x75\\xbb\\x0b\\x4c\\x76\\x81\\xe5\\xf3\\xf8\\xcc\\x35\\xca\\xd8\\x4d\\x4c\\x2f\\xe0\\xc7\\x0b\\xd4\\xc5\\x8b\\x60\\xf2\\x22\\xba\\x5f\\x42\\xe6\\x25\\xf8\\x7b\\x98\\x83\\x7b\\xc0\\xed\\x6f\\xd8\\x7a\\x19\\xdc\\x5e\\x26\\x96\\x57\\xc8\\xdb\\x2b\\x8c\\x7f\\x15\\x1b\\xaf\\x82\\xfd\\x6b\\xd8\\x79\\x0d\\xdb\\xaf\\x23\\xff\\x06\\xb6\\xde\\x80\\xff\\x06\\xfc\\x37\\xf0\\xeb\\x4d\\xfc\\xda\\xcb\\xfb\\xdf\\xc9\\xd3\\xdf\\x19\\xf3\\x0f\\x6c\\xfe\\x63\\xb9\\x18\\xfb\\xc0\\x77\\x1f\\x3e\\xed\\x63\\xce\\xbc\\x85\\x0f\\x6f\\x21\\xf3\\xd6\\x8f\\x62\\xbc\\x0d\\x16\\x6f\\x83\\x33\\x7b\\x95\\xf1\\x0e\\xb6\\xdf\\x21\\xde\\x77\\xc1\\xf2\\x5d\\xc6\\xee\\x07\\xeb\\x03\\xd4\\xc5\\x01\\x62\\x7c\\x0f\\xf9\\xf7\\xe8\\x7b\\x0f\\x5d\\xef\\x81\\xe7\\x7b\\xd4\\xc2\\x7b\\xe0\\xf3\\x1e\\xbe\\x1e\\x24\\x8e\\x83\\xc4\\x70\\x10\\x2c\\xdf\\x27\\x07\\x1f\\x50\\x83\\x1f\\xe2\\xcf\\x21\\xb0\\xfa\\x08\\x7b\\x1f\\x33\\xfe\\x13\\xda\\x4f\\xe9\\xfb\\x0c\\xcc\\x0f\\x63\\xf3\\x30\\x38\\x1d\\xc1\\xd7\\xcf\\xd1\\xf1\\x05\\x75\\xfe\\x05\\xb9\\x6a\\x20\\x96\\x06\\x64\\xbf\\x44\\xe6\\x2b\\xc6\\x7e\\x8d\\x9f\\xdf\\x80\\xc1\\xb7\\x60\\xf5\\x2d\\xf9\\xfc\\x0e\\x1d\\xc7\\xf0\\xed\\x18\\x79\\x3a\\x8e\\xcd\\x7f\\xa2\\xef\\x5f\\xd8\\xf9\\x81\\x3a\\xfa\\x11\\x99\\x1f\\x91\\xf9\\x09\\x7d\\x3f\\x63\\xff\\x17\\xf8\\xbf\\x82\\xd3\\x09\\xe4\\x4f\\x30\\xef\\x4e\\x52\\xbf\\xa7\\x18\\x7f\\x1a\\xbf\\xcf\\x80\\xad\\x0f\\x7f\\xfd\\xd8\\xf5\\x7f\\x2e\\xa6\\x6c\\x10\\x53\\x4d\\x14\\xd3\\xe8\\x04\\xed\\x86\\xf6\\x89\\x69\\xce\\x13\\xd3\\xf2\\x40\\xb9\\xd0\\x26\\x31\\x1d\\x49\\xd0\\x41\\x31\\x9d\\x0b\\xc5\\x74\\x59\\x50\\x39\\xb4\\x59\\x4c\\xee\\xa7\\x66\\xc8\\x1e\\x31\\x43\\xe9\\x0f\\xbd\\x0e\\x3a\\x2e\\x66\\xd8\\xa7\\x62\\xb6\\xd8\\x2e\\x66\\xcb\\x1a\\x31\\xc3\\x5b\\x42\\xb7\\x88\\x19\\x91\\x21\\x66\\xa4\\x40\\x6f\\x8a\\x19\\xd5\\x17\\xc2\\x46\\xf4\\x7a\\x31\\x63\\x2a\\xa0\\x77\\xc5\\x8c\\xc5\\x7e\\x2c\\xb6\\xe3\\xb0\\xc7\\x3d\\xd5\\x6c\\xb5\\x46\\xcc\\xd6\\xe8\\x6c\\xbd\\x45\\xcc\\xf8\\x04\\x88\\xf7\\x84\\x28\\x08\\xbf\\x12\\x36\\x42\\x8c\\x69\\x83\\xee\\x36\\x45\\x10\\x7d\\x6d\\xd0\\xdb\\x36\\x0b\\x42\\x5f\\x5b\\x6c\\xb7\\xc5\\x07\\xf6\\x40\\x33\\x11\\x5b\\x89\\xf8\\x9a\\xb8\\x1c\\xc2\\xdf\\x44\\xe4\\x12\\x7f\\x14\\x33\\x89\\xd8\\x92\\x86\\x43\\xf0\\x93\\xf0\\x2f\\x69\\x27\\x04\\x16\\xc9\\x8c\\x49\\xee\\x06\\xe1\\x4f\\xf2\\x55\\xd0\\xc3\\x10\\xb6\\xd8\\x3b\\xcd\\x14\\xf8\\x29\\xb3\\x20\\xe4\\xd9\\x43\\xcd\\x14\\xe4\\xdd\\xc8\\xbb\\xe1\\xbb\\x6b\\x21\\xe2\\x71\\x13\\x83\\x1b\\x0c\\x3c\\xe8\\xf7\\x94\\x41\\x2b\\xa1\\x7a\\x08\\xec\\x52\\x89\\x3f\\x15\\xd9\\x54\\x74\\xa4\\xc2\\x4f\\x05\\xf7\\x54\\xe4\\x53\\xbf\\x14\\x33\\x8d\\xd8\\xd2\\x7a\\x41\\xe0\\x9b\\x86\\xee\\xb4\\x6f\\xc5\\x4c\\x27\\xfe\\x74\\xe2\\x4b\\x27\\xe6\\x74\\x6c\\xa6\\xc3\\x4f\\xc7\\x66\\x06\\x36\\x33\\x90\\xcd\\xc0\\x66\\x06\\x98\\x67\\x10\\x6f\\xc6\\x21\\x31\\x33\\xc9\\x4b\\x26\\xfa\\x33\\xe1\\x67\\x22\\x9f\\x49\\x5e\\x32\\xd1\\xd3\\x2e\\x0e\\x42\\x4f\\xbb\\x45\\x10\\xd8\\xb5\\x83\\xdf\\x0e\\x7e\\x7b\\xf8\\xed\\xc1\\xa7\\x3d\\xf2\\xed\\xf1\\xa5\\x3d\\x3a\\xb2\\xe0\\x65\\x11\\x7b\\x16\\xb1\\x64\\x61\\x2f\\x8b\\x58\\x3a\\xe0\\x47\\x07\\xb0\\xea\\x00\\x56\\xec\\xff\\x66\\x07\\xe4\\x3a\\xe2\\x43\\x47\\xc6\\x76\\x64\\x6c\\x47\\x7c\\xe8\\xb8\\x03\\x22\\xc6\\x6c\\x62\\xcc\\x26\\x0f\\xd9\\xe4\\x21\\x9b\\xbc\\x64\\x13\\x7b\\x36\\xfc\\x4e\\xc8\\x77\\xf2\\x42\\xf8\\xd0\\x89\\x9c\\x76\\x02\\xd3\\x4e\\xe4\\xa1\\x33\\x75\\xd1\\x19\\xd9\\xce\\xe0\\xd1\\x19\\x7e\\x67\\x72\\xdf\\xf9\\x57\\x31\\xbb\\x80\\x5f\\x97\\x52\\x08\\x3c\\xba\\xe0\\x5b\\x17\\x70\\xea\\x02\\x4e\\x39\\xe0\\x94\\x43\\xec\\x39\\x60\\x92\\x83\\xee\\x1c\\x78\\xb9\\xd4\\x6d\\x2e\\x3e\\xe7\\xe2\\x47\\x2e\\x58\\xe4\\xe2\\x5f\\x57\\xec\\x75\\xc5\\xbf\\xae\\xc8\\x75\\x25\\xe6\\xae\\xe8\\xcd\\x03\\x9f\\x3c\\xf0\\xc9\\xc3\\xe7\\x3c\\x64\\xf3\\x90\\xcd\\x03\\xcf\\x7c\\x62\\xce\\xc7\\x56\\x3e\\xf1\\xe5\\x13\\x5f\\x3e\\xe3\\xbb\\x31\\xbe\\x1b\\xe3\\xbb\\x21\\xdb\\x0d\\xd9\\x6e\\xc8\\x76\\x83\\xdf\\x1d\\x1d\\xdd\\xc1\\xb2\\xfb\\x12\\x08\\xd9\\xee\\xf0\\x7a\\x20\\xdb\\x43\\xb7\\xc4\\xd3\\x93\\xe7\\x9e\\xd4\\x70\\x4f\\xf4\\xf5\\xc4\\x76\\x4f\\x6a\\xa8\\x27\\x71\\xf5\\xc4\\xff\\x9e\\xd8\\xea\\x79\\x5a\\xcc\\x5e\\xc4\\xd6\\x8b\\x18\\x7a\\xa1\\xbb\\x17\\xfd\\xbd\\xe8\\xef\\x45\\x7f\\x2f\\xfa\\x7b\\xd1\\x5f\\x40\\x7f\\x01\\xfd\\x05\\xc4\\x54\\x00\\x5e\\x05\\xcc\\xbf\\x02\\xfa\\x0b\\xc0\\xb1\\x80\\x7c\\xf4\\xc6\\xdf\\xde\\xc4\\xdc\\x9b\\xfa\\xea\\x4d\\x2d\\xf5\\xc6\\xbf\\xde\\xd4\\x76\\xef\\x57\\x21\\xea\\xbe\\x0f\\x3e\\xf6\\x21\\x67\\x7d\\xc0\\xbb\\x0f\\xd8\\xf6\\xc1\\x46\\x1f\\xfa\\xfb\\xd0\\xdf\\x47\\xf7\\x83\\x6f\\x5f\\x70\\xec\\x4b\\x9e\\xfa\\x22\\xd3\\x17\\x3f\\xfa\\x12\\x7b\\x5f\\xec\\xf4\\x25\\x8f\\x7d\\x89\\xa5\\x2f\\xb1\\xf4\\x63\\xde\\xf5\\x23\\x96\\x7e\\xcc\\x9f\\x7e\\xc4\\xd2\\x8f\\x3c\\xf4\\xa3\\xbf\\x1f\\xfd\\xfd\\xe8\\xef\\x4f\\x7f\\x7f\\xfa\\xfb\\xd3\\xdf\\x9f\\xfe\\xfe\\xd4\\x4c\\x7f\\x62\\xe9\\x8f\\xaf\\xfd\\xf1\\xb5\\x3f\\xbe\\x16\\x32\\x6f\\x0a\\xf1\\xb5\\x10\\xcc\\x0a\\xf1\\xb5\\x90\\x3c\\x17\\xe2\\x4b\\x21\\xb5\\x55\\x88\\x2f\\x85\\xf8\\xe2\\xc5\\x57\\x2f\\x79\\xf1\\x52\\x63\\x5e\\x7c\\xf1\\x52\\xbb\\x5e\\x6a\\xd4\\x8b\\x1d\\x2f\\x76\\x06\\x60\\x67\\x00\\x76\\x06\\x60\\x67\\x00\\x76\\x06\\x90\\xcf\\x01\\xcc\\x63\\xce\\x86\\xe6\\x40\\xc6\\x0d\\x44\\xef\\x40\\x78\\x03\\xc9\\xf1\\x20\\x62\\x1f\\x44\\x4d\\x0d\\xc2\\xde\\x20\\xf8\\x83\\xc0\\x66\\x10\\x75\\x32\\x88\\x7a\\x1b\\x84\\xad\\x22\\x6c\\x15\\x61\\xa7\\x88\\x78\\x8b\\xe0\\x17\\x81\\x79\\x31\\xfa\\x8b\\xe1\\x15\\x53\\x6b\\xc5\\xd8\\x2e\\x26\\xc6\\x62\\x6c\\x97\\xa0\\xbf\\x04\\x5d\\x25\\xd8\\x2d\\x01\\xc3\\x12\\xf8\\x25\\xcc\\x9b\\xc1\\xe4\\x67\\x30\\xbc\\xc1\\xd4\\xf7\\x60\\xe2\\x18\\x4c\\x1c\\xa5\\xd8\\x2d\\x05\\xcf\\x52\\xf4\\x94\\xa2\\xa7\\x14\\x3d\\xa5\\xc8\\x97\\xa2\\x67\\x08\\x35\\x31\\x84\\x5a\\x1a\\x02\\x7f\\x08\\xb1\\x0f\\x01\\x9b\\xa1\\xe0\\x32\\x14\\xde\\x50\\x78\\x43\\x91\\x1d\\x8a\\xec\\x50\\x64\\x87\\x61\\x73\\x18\\x36\\x87\\x51\\x3f\\xc3\\x88\\x75\\x18\\x98\\x0e\\x03\\xcf\\x61\\x60\\x39\\x1c\\xfe\\x70\\xf2\\x39\\x9c\\x98\\x86\\xc3\\x1b\\x8e\\xef\\x23\\xd0\\x33\\x02\\x7c\\x47\\x50\\x0b\\x23\\xa8\\x95\\x11\\xe4\\x68\\x04\\x79\\x1e\\x41\\xac\\x23\\xe1\\x8f\\x64\\x0d\\x1e\\x89\\xfe\\x91\\xf0\\x46\\x52\\x5b\\xa3\\xc0\\x71\\x14\\xbe\\x8f\\xa2\\x7e\\x47\\x81\\xd9\\x28\\xf4\\x8c\\x42\\x77\\x19\\x31\\x95\\xc1\\x2f\\x23\\xa6\\x32\\x62\\x2a\\x83\\x37\\x1a\\x7b\\xa3\\xb1\\x37\\x1a\\xac\\x46\\x53\\x1b\\xa3\\xc9\\xc9\\x68\\xe6\\xdb\\x18\\xe2\\x19\\x83\\x9e\\x31\\xc8\\x8f\\x41\\xcf\\x18\\x72\\x3e\\x86\\x98\\xc6\\xe2\\xcb\\x58\\xea\\x76\\x2c\\xb8\\x8f\\xc5\\x8f\\xb1\\xd8\\x1c\\x4b\\xfe\\xca\\xd1\\x53\\x8e\\x6c\\x39\\x18\\x72\\xd6\\x36\\xcb\\xf1\\x7b\\x1c\\x35\\x3c\\x8e\\xda\\x1b\\x47\\x8c\\xe3\\x90\\x1d\\x87\\xee\\x71\\xd8\\x1c\\x4f\\x7e\\xc6\\x13\\xfb\\x78\\x62\\x19\\x8f\\x7f\\xe3\\xe1\\x8f\\x87\\xcf\\xb9\\xdc\\x9c\\x00\\x7f\\x02\\xfc\\x09\\xf8\\x32\\x81\\xfc\\x4f\\x20\\xc6\\x0a\\x74\\x57\\x10\\x7b\\x05\\x3e\\x56\\xe0\\x47\\x05\\x79\\xae\\x04\\xc3\\x4a\\x62\\xaf\\xc4\\xf7\\x4a\\x6c\\x56\\x92\\xe7\\x4a\\xb0\\xe5\\x2c\\x6f\\x56\\x51\\x2f\\x55\\x60\\x52\\x05\\x86\\x55\\x60\\x5e\\x85\\x2f\\xd5\\xcc\\x85\\x6a\\x72\\x51\\x8d\\xdf\\xd5\\x60\\x55\\x0d\\x26\\xd5\\xe4\\x79\\x22\\x75\\x31\\x91\\x3a\\x9a\\x48\\x8e\\x26\\xe2\\xcb\\x44\\xe2\\x99\\x48\\x3c\\x93\\xc0\\x6a\\x12\\x79\\x9e\\x84\\xcd\\x49\\xac\\x01\\x93\\x88\\x7d\\x32\\x36\\x27\\x63\\x73\\x32\\x73\\x76\\x32\\xfc\\xc9\\xf0\\x27\\x63\\x73\\x32\\x98\\x4f\\xc1\\xf7\\x29\\xe8\\x99\\x82\\x8e\\x29\\xe0\\x57\\x43\\xdc\\x9c\\xf1\\xcd\\xa9\\xe8\\x9d\\x0a\\x6f\\x2a\\x98\\x4c\\xa5\\x86\\x38\\xdb\\x9b\\xd3\\xc0\\x75\\x1a\\x58\\x71\\xbe\\x37\\xa7\\xd1\\x37\\x0d\\x5f\\xa6\\x31\\x66\\x3a\\x3e\\x4f\\xc7\\x4e\\x2d\\x7e\\xd7\\x92\\x9f\\x5a\\xfc\\x9b\\x81\\xec\\x0c\\xf0\\x98\\x41\\x4d\\xcd\\x20\\x8e\\x99\\x60\\x3a\\x13\\x3b\\x9c\\xfd\\xcd\\x99\\xc8\\x9d\\x87\\x4f\\xe7\\xd1\\x3f\\x0b\\x7f\\x67\\x81\\xd1\\x2c\\xe6\\xde\\x2c\\xe6\\xc8\\x6c\\xde\\x67\\xf3\\x3e\\x9b\\xf7\\xd9\\x60\\x33\\x9b\\xb1\\x73\\x18\\x3b\\x87\\xb1\\x73\\x18\\x3b\\x87\\xb1\\x73\\xe0\\xcf\\x05\\xab\\xb9\\x60\\x34\\x17\\xfc\\xb9\\x2f\\x98\\xf3\\x18\\x33\\x8f\\xfa\\x98\\x07\\x6f\\x1e\\xbe\\xcc\\x23\\xb6\\xf9\\xe8\\x9a\\xcf\\xb8\\xf9\\x8c\\x9b\\x8f\\x3e\\xee\\x13\\xe6\\xf9\\x2d\\xff\\x0f\\x44\\xdd\\x9c\\x4f\\x1c\\x0b\\xc8\\xd1\\x02\\x74\\x2d\\x20\\xfe\\x05\\xe4\\x73\\x01\\x76\\x16\\xc2\\x5b\\x48\\x2e\\x16\\x12\\xef\\x42\\x6a\\xe5\\x02\\xe2\\xba\\x80\\xba\\xb9\\x80\\x58\\x2e\\x24\\xbf\\x75\\xe4\\xae\\x8e\\x5a\\x58\\xc4\\x5c\\x59\\x4c\\xfe\\x96\\xe0\\xff\\x52\\xe4\\x97\\xe2\\x0b\\x77\\x0e\\x73\\x19\\x35\\xb2\\x0c\\x9d\\xcb\\xa8\\xa5\\xe5\\x3c\\x2f\\x27\\xae\\xcb\\xe0\\xaf\\xc0\\xf7\\x15\\xe4\\x60\\x05\\xb5\\xb4\\x12\\xec\\x57\\x82\\xfb\\x4a\\xf4\\xae\\xc4\\xc6\\x4a\\x64\\x2f\\xa7\\xbd\\x02\\xdb\\x57\\xc0\\xbb\\x02\\xdf\\xae\\x20\\x0f\\x57\\x82\\xc1\\x95\\x60\\x73\\x15\\xb9\\xbe\\x0a\\xfb\\xab\\x68\\x57\\x93\\xdf\\xd5\\xe4\\x69\\x35\\xb5\\xb7\\x1a\\x99\\xd5\\xe0\\x72\\x35\\xfa\\xae\\xc6\\xd6\\x1a\\x7c\\xbe\\x06\\xcc\\xd6\\xa2\\xe3\\x5a\\x6c\\x5d\\x87\\x7f\\xd7\\xa3\\xf7\\x06\\x64\\x6f\\x04\\xf7\\x9b\\x18\\x7b\\x33\\x76\\x6f\\x21\\x4f\\xb7\\x52\\x37\\xb7\\xe1\\xfb\\xed\\xf8\\xba\\x01\\x3b\\x77\\x80\\xfb\\x9d\\xe8\\xdb\\x88\\x9e\\xbb\\xf1\\xf5\\x1e\\x64\\xef\\x25\\xae\\x7b\\x89\\x75\\x13\\x98\\xfd\\x09\\x1c\\xfe\\x44\\x2d\\xfc\\x99\\x3a\\xdb\\x4c\\xdf\\x5f\\xc1\\xf0\\x3e\\x6a\\xeb\\x3e\\xec\\x6f\\x01\\x93\\x2d\\x60\\xf7\\x00\\xeb\\xd2\\x03\\xf8\\xc0\\x7d\\xc1\\x7c\\x80\\x9a\\x7b\\x80\\xb8\\x1f\\x44\\xee\\x41\\xe6\\xd2\\x83\\xcc\\xa3\\x07\\xd1\\xf5\\x10\\xb6\\x1e\\x02\\xeb\\x87\\x89\\xe5\\x61\\x62\\x7b\\x84\\xda\\x7e\\x14\\x7d\\x5b\\xb1\\xb9\\x95\\xb8\\xeb\\x79\\xaf\\xc7\\xb7\\x7a\\x7c\\xdb\\x86\\xfc\\x63\\xd8\\xdc\\x8e\\x4f\\xdb\\xa9\\xf5\\x27\\xc0\\x7c\\x07\\x36\\x76\\x20\\xbb\\x83\\x78\\x9e\\x66\\xce\\x3d\\xcd\\x3c\\x79\\x06\\x3f\\x9e\\x21\\xd6\\x67\\xc0\\xe8\\x59\\xf0\\x7e\\x96\\xe7\\x67\\xe1\\x3f\\xcb\\xf8\\x9d\\xf8\\xb6\\x93\\x5a\\xd9\\x09\\x66\\xcf\\x31\\xf6\\x39\\xe2\\x7f\\x0e\\x3b\\xcf\\x31\\xb7\\x76\\x51\\x4b\\xbb\\xf0\\xf3\\x79\\xf8\\xcf\\x63\\xf7\\x79\\xfc\\xd9\\x4d\\x0e\\x76\\x53\\x0f\\xbb\\x89\\xf3\\x05\\x74\\xbd\\x80\\xec\\x8b\\xf0\\x5e\\xc4\\xfe\\x8b\\xe4\\xee\\x25\\xe2\\x7b\\x09\\x8c\\x5f\\x42\\xf7\\x1e\\xb0\\xdb\\x83\\xcd\\xbf\\xe1\\xc7\\xdf\\xc8\\xe1\\xcb\\xd4\\xed\\xcb\\xe8\\x78\\x05\\x7f\\x5f\\x41\\xe6\\x55\\xf2\\xf2\\x2a\\x35\\xf3\\x2a\\xb8\\xbe\\x06\\xe6\\xaf\\xf3\\xfe\\x3a\\x38\\xbc\\x81\\xae\\x37\\x88\\xef\\x0d\\x62\\x7b\\x03\\x8c\\xde\\x24\\xfe\\x37\\xb1\\xff\\x77\\x70\\x7a\\x1b\\x9c\\xf7\\xe3\\xef\\x7e\\xfc\\xda\\x8f\\x8f\\x07\\xd0\\x75\\x80\\x5c\\x1e\\x60\\x7e\\x1e\\x20\\xa6\\x03\\xd8\\x7d\\x0f\\x3b\\xdc\\x11\\xcc\\xf7\\xb0\\x75\\x10\\x1f\\x3f\\x00\\xd3\\x0f\\xd0\\xfb\\x21\\x71\\x7c\\x88\\xbf\\x87\\x98\\x5f\\x1f\\xa1\\xeb\\x63\\xe2\\xfb\\x04\\xd9\\x4f\\xb0\\xf1\\x29\\x35\\xf0\\x19\\x3e\\x1c\\xc6\\xce\\x61\\xe6\\xd4\\x11\\x72\\x7b\\x84\\xda\\xf8\\x9c\\x18\\xbe\\x40\\x86\\x3b\\x81\\x79\\x94\\xb1\\x47\\xf1\\xa9\\x01\\xfc\\xbf\\xc4\\xc7\\xaf\\xc0\\xe1\\x6b\\xb0\\xfe\\x9a\\x98\\xbf\\x06\\x8f\\x6f\\xf0\\xe1\\x5b\\xf8\\xdf\\xf2\\xfc\\x1d\\x31\\x7f\\x0f\\x2e\\xdf\\x83\\xf5\\x31\\x30\\x3e\\x06\\xef\\x38\\xcf\\xff\\x24\\xaf\\xff\\x04\\xa7\\x7f\\xe1\\xf3\\xbf\\x68\\x7f\\xc0\\x97\\x1f\\x58\\x4f\\x7e\\x20\\xe7\\x3f\\xe0\\xc3\\x8f\\xc4\\xfa\\x23\\xfb\\xee\\x8f\\xc4\\xf2\\x13\\x76\\x7f\\x02\\xa7\\x9f\\xc8\\xcd\\x4f\\xd8\\xff\\x19\\x7f\\x7f\\x06\\xc7\\x5f\\xc0\\xe9\\x17\\x9e\\x7f\\xc1\\xdf\\x5f\\x58\\xab\\x7e\\xc5\\xe7\\x5f\\xc1\\xe3\\x57\\x72\\x7e\\x02\\x5f\\x4e\\x10\\xef\\x09\\x74\\x9e\\xc0\\xc6\\x09\\xb0\\x3a\\x41\\x5d\\x9c\\x20\\xfe\\x13\\xe0\\x71\\x02\\x5d\\x27\\xc8\\xc9\\x09\\xc6\\x9d\\x44\\xf6\\x24\\x38\\x9c\\x44\\xf6\\x24\\x72\\x27\\x91\\x39\\x49\\xec\\x27\\xe9\\x3f\\x49\\x4e\\x4e\\x81\\xf5\\x29\\x70\\x38\\x85\\xdc\\x29\\xe4\\x4e\\x21\\x77\\x8a\\x98\\xb9\\xbb\\x98\\xa7\\xf0\\xe3\\x14\\x31\\x9d\\x22\\x07\\xa7\\xa9\\xff\\xd3\\xe4\\xe1\\x34\\x71\\x9e\\xc6\\xf7\\xd3\\xe0\\x73\\x9a\\x58\\x4f\\x23\\x77\\x1a\\xb9\\xd3\\xc8\\x9d\\x46\\xee\\x0c\\x72\\x67\\x90\\x3b\\x83\\xdc\\x19\\xf2\\x73\\x86\\x79\\xe0\\x43\\xc6\\x87\\xdf\\x7e\\xe2\\xf6\\x83\\xb5\\x7f\\xa7\\x58\\x46\\x46\\x90\\x16\\x42\\x87\\xc4\\x32\\xb3\\xa0\\x95\\xd0\\x7a\\x68\\x13\\x54\\x0f\\xed\\x86\\xf6\\x41\\x9f\\x8a\\xc5\\xbd\\xc8\\xb2\\xe8\\xb7\\x78\\xb7\\xf4\\xfb\\x71\\xb1\\x1c\\x02\\x45\\x41\\xf4\\x39\\xbc\\x50\\x19\\x54\\x03\\xa1\\xd3\\x81\\xac\\x03\\x5d\\x0e\\x74\\x39\\xd0\\xe5\\x40\\x97\\x83\\xb1\\x0e\\xc6\\x3a\\x18\\xeb\\xb4\\xa0\\x04\\xa8\\x13\\xc4\\x58\\x67\\x39\\x54\\x0b\\x2d\\x81\\xae\\x83\\x36\\x42\\x8c\\x73\\xee\\x81\\x0e\\x42\\xdf\\x8a\\xe5\\xc2\\x9e\\x2b\\x0e\\xc2\\x6f\\x57\\x37\\xa8\\x08\\x62\\x9c\\x0b\\x1b\\x21\\xf8\\x1f\\xb2\\x41\\x2c\\xee\\x65\\x16\\xf7\\x32\\x2b\\xf4\\x57\\xb1\\xc2\\x66\\x41\\xc4\\xda\\x02\\x1f\\x5b\\xa0\\xbb\\x05\\xfa\\x5a\\x62\\xb7\\x65\\x05\\xb4\\x19\\x42\\x26\\xbc\\x14\\xba\\x05\\xfa\\x52\\xac\\x08\\x9e\\x23\\xb0\\x1b\\x81\\x7f\\x91\\xbd\\xa0\\xab\\x20\\xb0\\x89\\xc2\\x56\\x14\\x32\\x51\\xc8\\x44\\xc3\\x8f\\x26\\xb6\\xe8\\x77\\xc5\\x8a\\xc1\\xf7\\x18\\x64\\x62\\x88\\x29\\x16\\x9f\\x62\\xe7\\x41\\xdb\\xc5\\x8a\\xc3\\x5e\\x1c\\xcf\\x71\\xaf\\x8a\\xd5\\x8a\\x18\\x5b\\x81\\x49\\xab\\x2d\\x62\\xb5\\xc6\\xff\\xd6\\xf8\\xdb\\x1a\\xdb\\xad\\x4f\\x8b\\x15\\x0f\\x3f\\x1e\\xf9\\x04\\x7c\\x4a\\x80\\x9f\\x40\\x1c\\x09\\xf8\\xd4\\x66\\x22\\x04\\x5e\\x6d\\x89\\xb5\\x2d\\x7e\\x73\\xbf\\xb3\\xb8\\xdb\\x59\\x89\\x3c\\x27\\xc2\\x4f\\x22\\xc6\\x24\\x9e\\x93\\x1e\\x86\\x7e\\x14\\x2b\\x99\\xb1\\xc9\\xc8\\xa4\\x20\\x93\\x82\\xce\\x14\\x6c\\xa5\\x80\\x97\\x1b\\x7c\\xdc\\xd8\\xf2\\xa0\\xdf\\x83\\x4e\\x0f\\xf2\\x1e\\xec\\xa6\\x22\\x9f\\xca\\x73\\x2a\\xcf\\x69\\x60\\xc1\\xfd\\xcb\\x4a\\xf7\\x40\\x8b\\x20\\x9e\\xb9\\x6f\\x59\\x19\\xe8\\xc9\\xc0\\x56\\x26\\xb6\\x32\\xc9\\x49\\x26\\xcf\\xed\\x42\\x20\\x72\\xdc\\x0e\\x1c\\xdb\\x13\\x63\\x7b\\xf2\\xdc\\x9e\\x18\\xb3\\x78\\xce\\x42\\x3e\\x6b\\x87\\x58\\x1d\\x88\\xb7\\x03\\xf2\\x1d\\xc0\\xa7\\x23\\x98\\x74\\x44\\xa6\\x23\\x63\\xb3\\xe1\\x67\\xc3\\xcf\\xa6\\x06\\x3a\\x61\\xab\\x13\\xfc\\x4e\\x8c\\xe5\\x3e\\x64\\x75\\xc6\\x6e\\x67\\x9e\\xb9\\x03\\x59\\x5d\\xc0\\xb6\\x0b\\x98\\xe7\\xc0\\xe7\\xce\\x63\\x71\\xe7\\xb1\\x72\\xf1\\x27\\x97\\x5c\\xe6\\x52\\x0b\\x5d\\xd1\\xd3\\x95\\x58\\xba\\x12\\x63\\x57\\xfc\\xcf\\xc3\\x7f\\xee\\x35\\x56\\x3e\\x32\\xf9\\x3c\\xe7\\x93\\xbf\\x7c\\xf2\\xd7\\x8d\\xd8\\xbb\\x81\\x67\\x37\\xf0\\xe4\\xfe\\x62\\x75\\xa7\\x16\\xbb\\x7f\\x2e\\x56\\x0f\\x6a\\xb5\\x07\\x39\\xe3\\xfe\\x62\\xf5\\xa4\\x66\\x7a\\x62\\xbb\\x27\\xb6\\x7b\\x11\\x67\\x2f\\x7c\\xea\\x85\\x8d\\x02\\x6c\\x14\\xa0\\xab\\x80\\x9c\\xf7\\xe6\\xb9\\x37\\xf5\\xd7\\x07\\xd9\\x3e\\xd8\\xec\\x8b\\x8f\\x7d\\xa9\\xb3\\xbe\\xd4\\x42\\x3f\\x6a\\xa1\\xdf\\x1a\\x88\\xfe\\xfe\\xd4\\x08\\xf7\\x01\\xab\\x3f\\xb8\\x17\\x52\\x47\\x85\\xc8\\x14\\x22\\xe3\\x45\\xc6\\x8b\\x8c\\x97\\x1a\\x19\\xc0\\xf3\\x00\\x64\\x06\\xc0\\x1f\\xd8\\x17\\xe2\\x79\\x20\\x3e\\x0d\\x82\\x3f\\x08\\x5b\\x83\\xf0\\x9b\\xb3\\xba\\x55\\x84\\x9d\\x62\\xb0\\x2e\\x26\\xe6\\x62\\xfc\\x29\\xc1\\x66\\x09\\xb2\\x83\\xa9\\x9f\\xc1\\xe4\\x7d\\x30\\xfe\\x0e\\x46\\xb6\\x94\\xb8\\x87\\xe0\\xff\\x50\\xe6\\xcf\\x50\\xe2\\x1e\\x8a\\x0d\\xce\\xd1\\xd6\\x30\\x7c\\xe0\\xdc\\x6c\\x0d\\x27\\xc6\\x11\\xcb\\x21\\x72\\x3a\\x12\\xb9\\x51\\xe4\\x69\\x14\\x76\\x47\\x61\\x63\\x14\\x36\\xca\\x88\\xa9\\x8c\\xfe\\x32\\x72\\x32\\x9a\\x71\\xa3\\x91\\x1f\\x83\\xae\\x31\\xd4\\xcc\\x58\\x70\\x1a\\x8b\\x6f\\xe5\\xd4\\x4e\\x39\\xd8\\x94\\x13\\x5f\\x39\\xe3\\xca\\xb1\\x5f\\xce\\x98\\x72\\xfc\\x2d\\x47\\xae\\x1c\\xdd\\xe3\\x68\\xc7\\x33\\x17\\xc6\\xef\\xd4\\xff\\xff\\x5f\\xc4\\x90\\x47\\xfd\\x47\\xd4\\x49\\x47\\x3f\\x31\\x25\\x52\\x5e\\xf1\\xae\\x31\\xc3\\xc3\\x0d\\x97\\x2b\\x2a\\x5a\\xc2\\xbc\\x56\\xd8\\x5d\\xd5\\x56\\xac\\x69\\x1e\\x8f\\x56\\xeb\\xa3\\x55\\x4d\\xb4\\xd2\\xff\\xe6\\xda\\xa6\\x68\\xe5\\x8d\\x56\\x9f\\x46\\xab\\xad\\x36\\x77\\x65\\xb4\\x1a\\x15\\xad\\x72\\xa3\\x95\\x27\\x5a\\x1d\\x8b\\x56\\xfb\\xa2\\xd5\\xee\\x68\\xb5\\xce\\x96\\xce\\xb1\\x07\\xf4\\x39\\x6e\\x4b\\x07\\x3a\\xea\\xa3\\xd5\\x42\\xbb\\xaf\\xcc\\x1e\\x40\\xf7\\x71\\x9b\\xb9\\xa9\\xd1\\x02\\x63\\xdc\\x36\\x3f\\x64\\xf2\\xa4\\xe0\\xcf\\x05\\x4d\\x3f\\x93\\xcf\\xe6\\x5c\\x78\\xa1\\xcd\\x90\\xc2\\xc2\\x6c\\x69\\x9b\\x10\\xf5\\xf7\\xe8\\x18\\x55\\x10\\x9d\\x9f\\x1f\\x9d\\xdf\\x35\\x57\\xa5\\x9b\\xa9\\x66\\x5a\\xbb\\xee\\xdd\\x7a\\xe4\\xe7\\xb5\\x6e\\x15\\xe7\\x54\\xd7\\xd7\\x4d\\x54\\xd9\\xb7\\x16\\x4f\\xad\\x29\\x81\\xd4\\x66\\xf3\\x8e\\x93\\xf7\\xd9\\x8f\\x90\\xfe\\xef\\x20\\x8f\\x98\\x13\\xcd\\x75\\x36\\x06\\x2e\\x49\\xf7\\x46\\x39\\x2c\\x25\\x96\\x84\\x84\\xba\\xa2\\x0c\\x65\\xb0\\x47\\x4a\\x61\\xde\\xde\\x49\\x79\\x5a\\x3f\\x06\\x6c\\xfd\\xa9\\x66\\xba\\x26\\xe3\\x7a\\x65\\x8c\\x9c\\xe5\\x0b\\xd3\\x7f\\x3a\\xfa\\xf9\\xdc\\xea\\x33\\x9f\\x5b\\xeb\\x4b\\x64\\xa3\\xf8\\x02\\x7d\\x89\\xe2\\x96\\x69\\xde\\x3e\\x21\\x89\\xc9\\x6e\\x2b\\xd5\\xa3\\x55\\x86\\x3c\\x52\\x99\\xdc\\x26\\x34\\x29\\xa1\\x65\\x78\\xcb\\x47\\x2a\\x5b\\x45\\x87\\x6f\\x0d\\x57\\x91\\xe1\\xa3\\xc2\\x8f\\x85\\xfb\\xc3\\xad\\x42\\x1e\\xee\\xd5\\x0f\\xa1\\xe1\\xa1\\xe1\\x2a\\x36\\xd2\\x74\\x38\\x95\\xe4\\xe4\\xe7\\x17\\xe6\\xc7\\x14\\x14\\xe4\\xe4\\x4c\\xba\\xe0\\x42\\xc2\\xcb\\x8e\\x16\\x1d\\x63\\xb0\\x8d\\x51\\xf1\\x05\\xb8\\x63\\xa6\\xc7\\xe2\\x4d\\x6c\\x7a\\xf7\\x7c\\x28\\x35\\x36\\xdf\\xd4\\x94\\xdf\\x2a\\x1d\\x52\\x3c\\x1b\\x5f\\x0c\\x5f\\x37\\xdc\\xf7\\xaf\\xa1\\x37\\x0d\\xbf\\xfb\\xc9\\xee\\xdf\\x28\\x63\\xc8\\xfa\\xa1\\x2a\\x62\\xe8\\xba\\xa1\\x1b\\x1f\\xcb\\xff\\xe2\\x4c\\x7d\\x77\\x15\\xd1\\x43\\xdd\\xe5\\x9b\\x11\\xa0\\x65\\xca\\xbd\\x4c\\x5d\\xef\\xab\\xd3\\xb4\\xcc\\xf7\\xd9\\x32\\x75\\xa7\\xef\\x33\\xe5\\x06\\x83\\x21\\xfe\\x5a\\xf3\\x65\\xc7\\x1b\\x92\\x25\\xb9\\xd2\\x4b\\x96\\x79\\x87\\x75\\xb5\\x22\\xe2\\x92\\xbb\\x98\\xed\\x43\\xa3\\xbb\\xb7\\xb7\\xb2\\x3a\\xc4\\xa7\\xa7\\x67\\x45\\x98\\x05\\xbd\\x7b\\x24\\xc5\\x25\\x4d\\xa9\\xec\\x1a\\xd1\\x3d\\x39\\xac\\x73\\x7a\\x87\\x10\\x49\\x88\\x8c\\x75\\xc7\\xe6\\xc4\\x9a\\xc1\\xa6\\xb5\\x19\\xeb\\x8d\\x8e\\xb3\\xba\\x84\\x4a\\xe8\\x94\\xca\\x7d\\x59\\x2a\\xab\\x9d\\x43\\x62\\x01\\x18\\x84\\x75\\x48\\x09\\x85\\xf9\\x6d\\xf7\\x4e\\x99\\x3c\\xe9\\x82\\xfc\\x98\\xf8\\x02\\xcd\\xb0\\x43\\xd4\\x69\\x8d\\xb7\\xff\\x97\\x0f\\xfa\\x8e\\x2e\\xaa\\x7d\\x74\\x7e\\x7c\\x8a\\x8a\\x8f\\xee\\x62\\x90\\xe3\\x9e\\xdd\\xf3\\x5b\\xb5\\x8e\\x8f\\x4e\\x6f\\xaf\\xf9\\x29\\x16\\xf9\\x76\\xb5\\x4a\\x57\\xdd\\xf4\\x5b\\x7f\\xa5\\xe2\\xb4\\x5c\\x84\\x52\\x6f\\xcf\\x6d\\xe8\\x39\\x29\\x23\\xe5\\x81\\x01\\x5b\\x56\\x0f\\xfb\\xfb\\x43\\x33\\x6f\\xbf\\xab\\xda\\x93\\x5c\\xdb\\xe3\\xd2\\x99\\x65\\xbd\\x53\\xdf\\x7b\\x6a\\xa6\\x4a\\xc9\\x28\\x1e\\x55\\x39\\xc5\\x57\\x98\\xd2\\x77\\xc8\\xa8\\xf2\\x38\\xa3\\x53\\x1b\\xe5\\x7d\\xa6\\x83\\xd7\\x50\\x5f\\x0e\\x9c\\xbb\\xf1\\xe2\\xf5\\x4f\\x46\\x5c\\xbe\\xc2\\x99\\xe9\\xfb\\x6a\\x5d\\x72\\x67\\x87\\x6f\\x6a\\x5e\\xcf\\x41\\x15\\x8b\\x87\\x6f\\x7d\\x2f\\xfc\\x3a\\x75\\xb4\\x6b\\x49\\x5e\\xb2\\xaf\\x5f\\xd4\\x0a\\x73\\x54\\x97\\x01\\x39\\x29\\xea\\xe2\\x96\\xd3\\xc5\\x21\\x6f\\xfb\\xbf\\x70\\x79\\x1d\\x63\\x40\\x2d\\x5c\\xda\\x48\\x86\\xe4\\xaa\\x23\\x5e\\xbf\\x61\\x8a\\x52\\x66\\x68\\xdb\\x08\\x2b\\x2e\\x34\\xdb\\x9d\\xd9\\xd6\\x72\\x87\\xb6\\xb5\\xf2\\xba\\x3a\\xe3\\x9f\\xac\\x6c\\xe1\\xdc\\x51\\xdd\\x22\\x9a\\xb6\\x85\\x61\\xa5\\x65\\x3d\\x59\\x99\\x94\\xb6\\xa3\\x3a\\xa9\\x0b\\x6d\\x92\\xc4\\x5e\\x9a\\xa7\\xc6\\xe7\\xa9\\x92\\x3c\\xd5\\x2d\\x4f\\x85\\xe6\\xa9\\x53\\x79\\xea\\x68\\x9e\\x3a\\x90\\xa7\\x5e\\xcb\\x53\\x0f\\xe5\\xa9\\xbb\\xf2\\xd4\\xb5\\x79\\x6a\\x71\\x9e\\xaa\\x69\\x14\\xeb\\x91\\xa7\\xda\\xd8\\x92\\xb3\\xce\\xd8\\xa2\\xc8\\xdd\\x97\\xa7\\xee\\xc8\\x53\\xd7\\xe4\\xa9\\x4b\\xf2\\x54\\x6d\\xa3\\x5c\\x41\\x9e\\xca\\xce\\x53\\x89\\x79\\xea\\x44\\x9e\\xfa\\x26\\x4f\\xbd\\x6b\\x8b\\x21\\xb3\\x2c\\x4f\\xcd\\x6f\\xb4\\xd7\\xae\\xd1\\xe4\\x77\\x79\\x6a\\x4f\\x9e\\x7a\\xd2\\xd6\\x83\\x92\\xb9\\x79\\xaa\\x3c\\x4f\\x15\\xd9\\x96\\x5a\\xe4\\xa9\\x5e\\x3f\\x36\\x3a\\x85\\xd0\\x76\\x5b\\x51\\x40\\xa8\\xda\\x56\\xd4\\x21\\x4f\\xb5\\xce\\x53\\xde\\x09\\x01\\x55\\xd8\\xfa\\x30\\x4f\\xbd\\xdc\\xa8\\xad\\xc9\\xa2\\x9a\\x82\\x8c\\x6d\\x35\\xce\\x56\\x7a\\xaa\\xd1\\xad\\xdd\\xb6\\xce\\xcd\\x79\\xea\\x16\\x5b\\x27\\x62\\x06\\x72\\xb9\\x79\\xca\\x9d\\xa7\\x22\\xf3\\x82\\x2b\\xc5\\x94\\x49\\x67\\xad\\x17\\x53\\x9a\\x16\\x8d\\x0b\\x9b\\xff\\x34\\x2d\\x2a\\x67\\xad\\x2b\\x7f\\x2c\\xd3\\x28\\x46\\x7d\\xe6\\xe8\\xff\\x56\\x81\\xea\\xd4\\x6d\\xb0\\x26\\x83\\xff\\x17\\xd3\\xb8\\x2a\\x38\\xd2\\x55\\xbe\\x8a\\x4a\\x65\\xdd\\x89\\x4a\\xcd\\x6b\\xed\\xea\\xd6\\x2e\\x3d\\xcd\\xd9\\x2a\\xae\\x75\\x7e\\x5e\\x8f\\x00\\xd7\\x5e\\x8d\\x9a\\xb3\\x8d\\x95\\xb7\\x99\\xdb\\x6f\\x3f\\x93\\xe5\\x7b\\xf2\\x4f\\x9b\\xd4\\xe0\\x7b\\xff\\x7a\\xb0\\x67\\x9f\\x5e\\x79\\xf9\\x3d\\x7b\\xf7\\xb2\\x9e\\xf5\\x3d\\xf5\\xa7\\x3f\\xfd\\xf9\\xbe\\x7b\\x37\\xbf\\xd7\\xc8\\x8a\\x73\\xcc\\xf4\\xdd\\xe8\\xbb\\x6e\\xd7\\x93\\x6a\\xc1\\x8e\\xa7\\x6e\\x5a\\xb1\\xf4\\xf6\\xbb\\x96\\x5f\\xe1\\x6b\\xe9\\xbb\\x76\\xd7\\x53\\x8f\\x3d\\xd7\\xc4\\xd0\\xff\\xb5\\xf6\\x62\\xff\\xb7\\xce\\x12\\x6a\\x2f\\x43\\x3a\\x33\\x4f\\x97\\x78\\x07\\x67\\xb7\\x89\\x74\\x58\\x5d\\xad\\x2e\\x51\\x5d\\xba\\x49\\x5c\\xfb\\xac\\x64\\xcb\\x1d\\x1b\\x1b\\x15\\x1d\\xd5\\xd2\\x25\\xee\\x36\\xae\\x82\\xde\\x2d\\x5d\\xa1\\xae\\x91\\x95\\xa1\\xa1\\xb1\\xd2\\x55\\x45\\x3a\\xe2\\xda\\x47\\x3a\\x10\\xe9\\x1a\\x92\\xd6\\x3a\\xad\\xc7\\xa8\\xca\\x34\\xab\\x75\\x66\\x59\\x65\\xeb\\xd6\\x51\\xb1\\xad\\xa4\\x30\\xbf\\x50\\x23\\x40\\xf4\\x12\\x5f\\xc0\\x14\\x8d\\x2e\\x48\\xc8\\x69\\x36\\x43\\xa3\\x63\\xf4\\x9f\\x79\\x81\\x86\\x35\\x29\\x2e\\x42\\xb9\\x54\\x8f\\x9e\\xed\\xbb\\xa7\\xb6\\x8a\\x54\\x4e\\x97\\x5b\\xb5\\x4a\\x6d\\xef\\x4c\\xf5\\x64\\x74\\xef\\xd6\\x5f\\xf5\\x0c\\x82\\xa1\\xf2\\x7a\\xaa\\x08\\x05\\x18\\xb1\\x71\\xad\\xe3\\xfb\\xab\\xee\\xdd\\x80\\xc6\\x8a\\xed\\x7b\\xc1\\x62\\xb5\\x3c\\x3f\\x64\\x81\\xfa\\xe8\\xfc\\xc4\\x7e\\x95\\x87\\x16\\xf9\\x56\\x5e\\x5c\\xef\\xfb\\xc9\\xf7\\x9d\\xef\\xa7\\x92\\x65\\x17\\x5f\\xb6\\xe7\\x89\\xad\\xcf\\xfa\\x2e\\xdf\\x77\\xa5\\x2f\\xbd\\xa8\\xef\\x0d\\x31\\xd9\\xde\\xe1\\xbd\\x16\\x16\\xf5\\xb1\\xba\\x0e\\x5f\\x38\\x2e\\xc7\\xf7\\xc0\\x95\\xf5\\x6d\\xbd\\xde\\xb6\\xd5\\x7f\\x5f\\xfd\\x72\\x9b\\xc2\\xf3\\xaf\\xd8\\xb9\\xb3\\x66\\xdd\\x79\\x39\\x37\\x6e\\xbb\\x76\\xe3\\x2d\\xa7\\x36\\x2c\\x51\\x3b\\xbb\\xac\\x9d\\xbe\\x6e\\xad\\xf9\\x8d\\x77\\x41\\x49\\x87\\xf3\\x27\\x3f\\x62\\xff\\xc7\\x02\\x4a\\x36\\x9a\\x13\\xd5\\x3d\\xf6\\xda\\xdf\\xc6\\xdb\\x42\\xd9\\xa7\\x64\\x56\\x7d\\xc5\\xa2\\xbf\\x77\\x52\\x60\\x4b\\xe9\\x9a\\xab\\x57\\xd7\\x8d\\x8d\\x8b\\x3c\\x63\\xaa\\x7c\\xc3\\x8d\\x59\\x8e\\xeb\\x25\\x5a\\x92\\xbc\\x2d\\x23\\x2c\\x4b\\x42\\x43\\x63\\x62\\xc3\\xc5\\x91\\xc8\\x66\\xd4\\x7c\\x1b\\x8a\\x8b\\x69\\x1d\\xdf\\xaa\\x8b\\x62\\x91\\x8a\\xe9\\xd1\\xb3\\x55\\x04\\x6a\\xe7\\xe6\\x2f\\xa8\\x7e\\xf9\\x93\\xd9\\xb3\\x3f\\x79\\xb9\\xfa\\xfc\\x6e\\xea\\xfb\\xef\\x7c\\x1f\\x1f\\x2a\\xbe\\x70\\xf6\\x09\\x35\\xfa\\xf8\\xf7\\xaa\\xec\\xd7\\x59\\x17\\x16\\x7f\\xa0\\xff\\x81\\x10\\xed\\xd7\\x40\\x6c\\x94\\xd9\\x36\\x52\\xbc\\xe1\\xa1\\x4a\\x45\\x44\\x38\\x1c\\x31\\xb1\\x61\\x22\\xbf\\x19\\x09\\x94\\x5d\\x6c\\xf7\\xfe\\x2a\\xa6\\x7b\\x37\\xa3\\x5d\\xfb\\xee\\x29\\x2a\\xa6\\x55\\x9c\\xe1\\x1c\\x58\\xbd\\x20\\xbf\\xdb\\xf9\\xd5\\xaf\\x7e\\x3c\\x6b\\xd6\\x27\\xbe\\xe1\\x17\\x96\\x1c\\x52\\x99\\x5f\\x7d\\xa7\\xd2\\x0e\\x96\\x5c\\x38\\xf7\\x17\\xdf\\xb6\\xef\\x8e\\xf9\\xb6\\x9e\\x08\\xd8\\x18\\x67\\x0c\\x32\\x1f\\x72\\x0c\\xc6\\xc6\\x20\\x6f\\x96\\xab\\x85\\x52\\x61\\x46\\xa4\\xb4\\x34\\x43\\x0d\\xa7\\xcb\\x11\\x15\\xe1\\x88\\x88\\x89\\x7d\\x5e\\xfd\\x43\\x19\\x2b\\x95\\x5a\\xa0\\x94\\x28\\x0f\\x01\\xb4\\x00\\x98\\x37\\xf5\\xc4\\x08\\x6e\\x87\\x31\\x81\\xd5\\x39\\x3f\\x8f\\x70\\x63\\xd3\\x63\\x1d\\xed\\x3b\\xab\\x9e\\x0e\\x33\\xdf\\xcc\\x8c\\x0f\\x57\\x2e\\xa3\\xd3\\x90\\xaf\\x4a\\x7c\\x9f\\x4d\\x56\\xf9\\xbe\\xbd\\x93\\x95\\xbb\\xe4\\xab\\x21\\xca\\x33\\xc5\\xf7\\xaa\\xea\\x35\\xc5\\x5c\\xe1\\xdb\\xa3\\xbc\\xdf\\xee\\xaf\\xa8\\xda\\xff\\x95\\xea\\xe7\\x7b\\xe9\\xc8\\x5b\\x15\\xe3\\xdf\\xb1\\x7d\\x9a\\x27\\x6f\\x58\\x19\\xd6\\x2a\\x69\\x21\\x03\\xbc\\x19\\x61\\xa1\\xca\\xe9\\x50\\xa6\\x61\\x84\\xb7\\x6c\\xa1\\x22\\x2a\\x43\\xc2\\x22\\x24\\xc4\\x1b\\x62\\x84\\x9a\\x21\\x61\\x56\\x8b\\xb0\\x16\\x8f\\x54\\x3a\\xc2\\x1e\\xa7\\x30\\xed\\x9d\\x23\\xea\\x65\\x8a\\xd2\\x9e\\x9c\\x05\\x8d\\x3b\\x85\\x8a\\x4e\\x8f\\x4e\\xed\\x9e\\x0a\\x4e\\xa9\\xad\\x8c\\x75\\xeb\\x7c\\xf3\\xd4\\x2d\\xeb\\xd4\\xad\\x46\\x8d\\x6f\\xae\\xba\\x75\\x9d\\xba\\xcd\\x37\\x67\\x5d\\x00\\x87\\x44\\xdf\\x4b\\xea\\x31\\xd5\\x59\\x62\\xa4\\x93\\x37\\x3e\\x44\\x2f\\xdb\\xe1\\x71\\xb1\\xa6\\x75\\x77\\x65\\x94\\xb9\\xa5\\x3a\\x24\\x2a\\x36\\xea\\xae\\xea\\x28\\xb1\\x8b\\x3d\\xa8\\x3f\\x90\\xdf\\x4c\\x76\\x9a\\xee\\xfd\\xc9\\x6e\\xbb\\xf6\\x8d\\x05\\xfd\\xd8\\xbe\\x57\\x0a\\xab\\xba\\xa6\\x74\\x1e\\x5e\\x55\\x3c\\x6e\\xe1\\x9c\\x8d\\xef\\x75\\x9b\\x18\\xdb\\x7f\\x58\\x5a\\x6b\\x4f\\x9b\\xac\\xf2\\x01\\x45\\xf3\\xb5\\xad\\x61\\xea\\x5a\\x63\\x8a\\xfe\\xb7\\x59\\xa5\\x95\\x37\\x54\\x4c\\xcb\\xa1\\xe4\\x99\\x4a\\xa5\\xb5\\x6b\\x40\\x75\\x3a\\x53\\x5b\\x0d\\x33\\xe2\\xd4\\xb5\\x8f\\x3e\\x6a\\xfb\\x56\\xc5\\xf9\\xec\\x3e\\x95\\x03\\x1e\\x09\\xde\\x16\\xa1\\xa6\\xfe\\xa5\\x95\\xf3\\xae\\x6a\\xbd\\x67\\x66\\x37\\x96\\xa7\\xa3\\xf9\\x51\\x47\\x82\\xa7\\x9c\\xe4\\xa6\\x03\\x8e\\xf2\\x7f\\xeb\\xff\\xd6\\x18\\xe9\\x28\\xc6\\x26\\xf5\\xaa\\xf7\\x21\\xd3\\xa1\\x2c\\x4e\\x36\\xb1\\xba\\x94\\x54\\x7e\\x63\\x25\\xc5\\xb3\\x80\\x5d\\x72\\xbd\\x3a\\x70\\x5d\\x9c\\xa3\\x52\\xf4\\x39\\x66\\xa4\\xff\\x5b\\xf3\\x31\\xd6\\x92\\x30\\x69\\x2d\\x59\\xde\\xb8\\x68\\x47\\x0b\\x36\\xb7\\xf8\\x84\\x90\\x88\\xba\\xca\\x10\\x97\\x11\\x57\\x57\\x69\\xb4\\x91\\xc6\\x45\\xe1\\xb7\\xc3\\x11\\x8b\\x9d\\x11\\x1d\\x15\\x93\\x9f\\x17\\xa3\\xa2\\x8c\\xf4\\xc6\\x67\\xf3\\x31\\x5f\\xe9\\xbb\\x07\\x0f\\x1e\\x7a\\xf7\\x90\\xef\\xc3\\x92\\x61\\x43\\x0b\\xbd\\x43\\x86\\x0e\\x36\\x36\\x9f\\x29\\x55\\xb5\\xaa\\x5c\\x8d\\x50\\x53\\x7d\\x7f\\xf1\\x6d\\x55\\xbd\\x54\\xb4\\xef\\x57\\xdf\\xf3\\xbe\\x67\\x7c\\xff\\x52\\xad\\x02\\xb9\\xd9\\xcc\\xa2\\x76\\x9b\\xa3\\x14\\x1f\\x7a\\x7a\\x93\\x5c\\xe2\\x70\\xb4\\x6c\\xe1\\x0c\\x0d\\x11\\x57\\x94\\x8b\\x32\\x70\\xb9\\x42\\x9d\\xe2\\x30\\x1d\\x8b\\x2a\\xcd\\x04\\x0d\\x88\\x7d\\x80\\xc8\\xa1\\x0e\\x38\\x32\\x05\\x13\\x45\\x9a\\xe2\\x5b\\xa5\\x76\\xef\\x19\\xed\\xea\\x9e\\x99\\x6f\\x3c\\xf2\\xd5\\x99\\x88\\x2f\\x1b\\xd4\\xd2\\x1b\\xce\\x4f\\x18\\x3f\\x3e\\xc1\\xfc\\x61\\xf8\\xb8\\x8f\\xb1\\x31\\x1e\\x1b\\x5b\\x1c\\xc3\\x25\\x85\\x9a\\xf3\\x44\\x46\\x49\\x94\\x11\\x12\\x9f\\x6c\\xc4\\x1b\\x1e\\x77\\x48\\x72\\x64\\x5c\\x5c\\x8b\\xba\\xca\\x38\\x97\\xa1\\x92\\x55\\xf2\\xc5\\x95\\xca\\xb6\\x13\\x23\\x05\\x09\\xb6\\xb9\\x80\\x19\\x3b\\x72\\x7b\\x1f\\xe8\\x9a\\xdb\\x41\\x75\\xef\\xd1\\xd3\\x2e\\x0a\\x16\\xb3\\x48\\x95\\xce\\x19\\xc4\\xce\\x0c\\xcb\\xa1\\xd3\\x95\\x6a\\x6e\\x39\\xfd\\xe8\\xf8\\x21\\x9b\\x6e\\x29\\x9e\\x53\\xd1\\x7f\\xa8\\x3b\\x7b\\x42\\xd9\\x1d\\x55\\x1f\\x7d\\x53\\x72\\xfb\\x67\\xe3\\x6b\\x8d\\x9b\\x9e\\x9b\\x38\\xe4\\x9e\\x27\\x5e\\x5c\\x3e\\x7f\\x75\\xdb\\xb6\\x2f\\xaa\\xae\\x31\\x6d\\x9e\\xdc\\x32\\xfb\\xa1\\x3f\\x3f\\x55\\x52\\x19\\xc0\\x61\\x04\\xb9\\x78\\x06\\x1f\\xb3\\x64\\xbc\\xb7\\x53\\xfb\\x98\\xd6\\x19\\xc9\\x29\\x29\\x31\\x19\\xa6\\x33\\x5c\\x5c\\x4e\\xa7\\x74\\xe8\\xd8\\x3e\\x26\\x3a\\x26\\xfa\\xa2\\xca\\x98\\x18\\x33\\x39\\x2d\\xad\\x4d\\x5d\\x65\\x9a\\xcb\\x0c\\xab\\xab\\x74\\x99\\x6d\\xf4\\xfc\\x90\\x46\\x6f\\xf5\\x92\\x8d\\xf3\\xbf\\x39\\x1d\\x1f\\xf4\\x5d\\xaf\\x56\\x56\\x7a\\x5a\\x7b\\x33\\x3f\\x5e\\x6f\\x4d\\xb8\\x9f\\xa3\\xba\\xf7\\xd4\\x6b\\x72\\xb3\\x38\\x3c\\xd1\\x54\\xbc\\x65\\x3e\\xe3\\x3b\\xf9\\xd5\\x33\\x3b\\x5a\\x4e\\xec\\x36\\x61\\xca\\x25\\x6b\\xe6\\x2f\\x5d\\xb4\\xb0\\x72\\xdc\\x8c\\x49\\x3d\\x8a\\x09\\x67\\xe6\\x2d\\xa5\\xea\\xa5\\xf5\\xab\\xd5\\x18\\x35\\xff\\xa9\\xd7\\xb3\\x54\\xf1\\x7b\\x5d\\xef\\xba\\xf6\\x92\\xcb\\x43\\x5c\\x97\\x84\\x38\\x2f\\x5e\\xb2\\x70\\x65\\x6a\\x2c\\x81\\xb5\\x8d\\xf6\\x3d\\xb9\\x66\\x4b\\x5c\\x07\\xea\\x2b\\x09\\xdc\\x3f\\x70\\x14\\x91\\xdb\\x48\\x90\\x4f\\x0b\\x0d\\x51\\xce\\xc8\\x70\\x2a\\xd3\\x60\\xad\\x8b\\x8e\\x72\\x84\\x44\\x98\\x91\\x66\\xe4\\xe2\\x4a\\x31\\x4d\\xc3\\x19\\xee\\x72\\x1a\\x60\\x5f\\x98\\x8f\\xb3\\x39\\x7a\\xc6\\xc7\\xe7\\x07\\x32\\xdc\\x6c\\xb6\\xa7\\x32\\xdb\\x75\\x39\\xb7\\x52\\xdd\\x7a\\x72\\x3e\\x2f\\xf7\\xfd\\x70\\x66\\xbf\\x31\\xf1\\xd0\\x6a\\xdf\\xfc\\x30\\xdf\\x05\\x6a\\x95\\x0a\\xf5\\xfd\\xa2\\x42\\xff\\x62\\x6e\\x38\\x7d\\xd3\\x5e\\xa3\\x6a\\x61\\xed\\x99\\x7b\\xc1\\x75\\x0c\\xb8\\x3e\\xc1\\xfa\\x9f\\x2c\\x63\\xbc\\xd9\\x49\\xf1\\xf1\\x6d\\xcd\\xb0\\xd0\\x28\\x33\\xd4\\x4c\\x71\\xb7\\x8e\\x95\\xd8\\xba\\xca\\x48\\xce\\xf0\\x46\\x4b\\x53\\x24\\xc1\\x99\\x90\\x78\\x71\\x65\\x82\\xd3\\x49\\xf5\\x87\\x39\\x7f\\x83\\x55\\xd7\\x82\\x2e\\xb9\\xe0\\x5e\\x78\\x56\\x31\\x28\\x7b\\x4e\\x06\\x60\\x4d\\xa1\\x0e\\xa2\\x35\\x9a\\x1a\\xcc\\xd4\\x56\\xa9\\xd1\\x3d\\xd4\\xa7\\xdf\\x37\\x9c\\xfa\\xda\\x46\\xb2\\xfd\\x85\\x5d\\x8e\\x5e\\xb4\\x72\\x70\\x1f\\x77\\xad\\xb1\\xf3\\xcc\\xe3\\x4b\\xcd\\x36\\x7b\\x5e\\x7e\\xfd\\x7d\\x0d\\x60\\xeb\\x44\\xd5\\x6d\\xd3\\xba\\xb6\\xe1\\x46\\xfd\\x27\\xbe\\x4d\\x89\\x60\\x56\\x82\\xbf\\x7b\\xa8\\x83\\x04\\x49\\x97\\xd1\\xde\\xec\\x88\\xf0\\x70\\xa7\\xc4\\xa5\\x25\\x49\\x1a\\x55\\x90\\x91\\xd9\\xda\\x7d\\x51\\x65\\x64\\x6b\\x77\\x6b\\x3c\\x6e\\xdd\\xda\\x0c\\x0b\\x8b\\xae\\xab\\x8c\\x08\\xa3\\x08\\xea\\x2a\\xcd\\xe0\\x54\\xcd\\x6f\\xee\\x71\\xa3\\xbb\\xf6\\x31\\x26\\xb0\\x65\\x39\\xf5\\x8c\\x65\\xbf\\xca\\xcf\\xd3\\x47\\x6a\\xdc\\x35\\x5c\\x81\\xad\\xba\\x87\\x5d\\x0a\\xae\\x56\\x51\\xe6\\x9e\\x0f\\x5e\\x3b\\xfa\\xd3\\xe5\\x5f\\xde\\xbe\\xf1\\xc6\\x09\\xd9\\xc5\\x63\\x6a\\x2f\\x6d\\x31\\x7f\\xee\\x53\\xaf\\xf8\\x2a\\x87\\xf4\\x1a\\x39\\x62\\xe8\\x08\\xb5\\xe9\\x9d\\xcf\\xd4\\x64\\x35\\xfc\\xa0\\xea\\xbd\\x39\\xdb\\xf7\\x8f\\x17\\xbb\\xf9\\xe5\\x68\\xce\\xdf\\xcf\\x1c\\xbf\\xe7\\x9e\\xeb\\x37\\xc4\\x3b\\xce\\x3c\\xab\\x6b\\xf9\\x22\\xf2\\xfe\\x77\\x30\\x0f\\x91\\x7c\\x6f\\x82\\xc3\\xe9\\x54\\x2e\\x8b\\xb3\\xb1\\x15\\x1a\\xe6\\x4c\\xb0\\x8c\\x10\\x23\\x84\\x69\\x66\\x38\\xa5\\xd1\\xd5\\xc2\\x66\\xa8\\xda\\x1b\\x9e\\x86\\x4f\\x71\\x01\\x7b\\x73\\x82\\x59\\x79\\xe6\\x97\\x63\\x46\\xf7\\x33\\xc7\\xcc\\x5d\\x6a\\xc5\\xa8\\x53\\x31\\xd6\\x64\\xd1\\x67\\xa0\\x22\\x30\\xda\\xc9\\xba\\xd5\\x5a\\xd2\\xa4\\x8b\\x94\\x7b\\x3b\\x46\\x98\\xd1\\xe9\\xd2\\x21\\x3a\\x5a\\x9c\\xc9\\x2d\\xe2\\x9d\\x2d\\x9c\\x39\\xb9\\x66\\x44\\xa7\\xb6\\x9d\\xda\\x2e\\xaa\\xec\\xd4\\x29\\x34\\x2e\\xae\\x9d\\x9e\\xe0\\xa1\\x9e\\xba\\xca\\xd0\\xdf\\xd6\\x33\\x69\\x9c\\x2b\\xe7\\xcc\\x70\\xbb\\xb1\\x81\\x72\\xa5\\x28\\x9d\\x5c\\x4f\\x34\\x57\\x90\\x2e\\x2a\\xb0\\x02\\x9b\\xcd\\x8e\\x77\\x67\\x3d\\xdf\\x3d\\x6f\\x5a\\xdd\\xd2\\x0f\\x1b\\x7c\\x43\\x97\\x9f\\x3f\\x75\\xce\\xfb\\x2f\\xbf\\xf8\\xfe\\x99\\xb2\\xf1\\x63\\x4a\\x87\\x8c\\x1e\\x5f\\xe6\\x1e\\x38\\xc8\\xdb\\xaf\\xef\\x80\\x62\\xaf\\xf9\\xc3\\xf9\\x77\\xa5\\x67\\x6f\\xbf\\x6c\\xd7\\x6e\\x75\\xd9\\xca\\xed\\x1d\\x32\\xef\\x5c\\xb8\\x79\\xc7\\xb3\\xa7\\xdf\\xb9\\xf3\\xba\\x35\\xf7\\xdc\\x75\\xd9\\x55\\x66\\xca\\x95\\x17\\x2f\\xbe\\x6a\\xcd\\xc2\\x3a\\x6a\\xa0\\x17\\xf1\\x3d\\x49\\x0d\\xb4\\x69\\xaa\\x01\\x71\\xb6\\x4a\\x49\\x71\\xb6\\x15\\x71\\x66\\x64\\xc6\\x27\\x5d\\x54\\x29\\xf1\\x51\\xf1\\xd4\\x40\\x7c\\x7c\\x98\\x19\\x16\\xa3\\x6b\\xa0\\x8d\\x99\\x46\\x0d\\xb8\\xfe\\x97\\x1a\\x88\\xd5\\x91\\xc4\\x44\\x73\\x90\\xa0\\x70\\xa3\\x03\\x85\\xdb\\xa3\\x27\\x2f\\xed\\x32\\xa3\\xf2\\xf3\\x7a\\x76\\xd7\\x8b\\x7a\\xaf\\xaf\\xf7\\x7d\\xf3\\xfe\\x8a\\xef\\xef\\xbf\\x8f\\x12\\x48\\x9f\\xda\\x79\\xde\\x25\\x61\\xb3\\xce\\x7b\\xe2\\x2d\\xd5\\x6e\\xe3\\xf0\\xa1\\xc5\\x13\\x6e\\x33\\x37\\xbf\\x79\\xc8\\xf7\\xa4\\x6f\\xd3\\x61\\xdf\\xeb\\xf7\\x64\\xab\\xae\\x2f\\xb6\\x49\\xfa\\xe9\\xcb\\xcc\\x83\\xcf\\xfb\\x0e\\xc7\\x44\\xa8\\x54\\x95\\x61\\xef\\x2d\\x5b\\xd8\\xd7\\x7e\\x30\\x77\\xb3\\xaf\\xc5\\x4b\\xae\\xb7\\x6d\\xab\\xd0\\xd0\\x48\\xd3\\x6c\\x93\\x10\\xd3\\xf2\\xae\\xea\\x98\\xa8\\xc0\\x16\\xb7\\xa9\\x8d\\x5a\\xdf\\x46\\xe9\\x2b\\x7e\\xd3\\x1e\\x13\\xdc\\x79\\x9b\\xef\\x78\\x67\\x5d\\xf4\\x47\\x94\\x4c\\x99\\x62\\xef\\x7b\\x25\\x53\\x26\\x95\\x0e\\x9e\\xa2\\x77\\xc1\\x92\\x1a\\xbd\\x0b\\x1a\\x37\\xea\\xa7\\xa9\\xc5\\xec\\x87\\x86\\xcc\\xf1\\xbd\\x64\\x18\\xb6\\xed\\x14\\x19\\xe8\\x6d\\x17\\xd7\\xb2\\x65\\x1b\\x76\\xd6\\xc8\\x36\\x6d\\x3c\\xee\\xc8\\xa8\\xbb\\x2b\\x93\\x22\\xb7\\x54\\xc7\\x25\\xb9\\x93\\xee\\xaa\\x76\\x0a\\x14\\xb5\\xc9\\xa3\\xd6\\x7b\\x02\\x7e\\x9c\\x73\\x06\\x08\\xee\\x78\\xcd\\x3c\\x88\\xfd\\xf7\\x33\\xc1\\xa8\\xa0\\x2f\\xf3\\xf7\\xbd\\x5a\\x58\\xdd\\xd5\\xd3\\x79\\xc4\\x84\\x61\\x63\\x2f\\x34\\x16\\x35\\xfa\\x73\\xe6\\xe7\\x8d\\x07\\xba\\x73\\x4c\\x18\\x9e\\xda\\x3a\\x35\\x21\\xab\\xbc\\xef\\x90\\xf9\\xf6\\x7a\\x3f\\x53\\xee\\xb3\\x52\\xac\\x07\\xc4\\xc9\\x1c\\x49\\xb1\\x84\\xf9\\xe0\\x74\\x85\\x58\\xce\\xad\\xd5\\x96\\xb1\\xb5\\x5a\\x49\\xa4\\x55\\x68\\x2d\\xb0\\xee\\xb5\\xfe\\x61\\x39\\x2c\\x69\\x93\\x33\\x29\\x3f\\xe8\\x56\\x41\\xe3\\xa1\\x50\\xb5\\x0a\\x55\\xad\\x66\\x9a\\x3b\\xce\\x28\\xc3\\x6f\\x2c\\xab\\x52\\xef\\xae\\xf3\\xdd\\xe0\\xbb\\x7e\\x9d\\x8d\\xfd\\x4c\\x75\\xb3\\x95\\x62\\xee\\xb4\\xbf\\x77\\xf4\\xf2\\xa6\\x38\\x0d\\x07\\x27\\xbb\\x90\\x50\\xd3\\x78\\x84\\xb5\\x56\\x25\\x9a\\xa6\\xcb\\xeb\\x72\\x3e\\x52\\x19\\xe9\\xba\\xd7\\x65\\xb8\\x24\\x67\\x52\\xe0\\x03\\xcb\\x59\\xd5\\x42\\xd4\\xec\\xaa\\x9a\\xac\\x94\\xd3\\xa5\\xe6\\x8e\\xd3\\xa5\\x46\\xfa\\xfa\\xf5\\xea\\x8e\\x75\\xeb\\xf0\\x7d\\x16\\xbe\\x7b\\x6c\\xdf\\x7b\\x78\\xdd\\x8d\\xbe\\x3b\\x1d\\x86\\x61\\x6d\\xad\\x36\\x64\\x6b\\x75\\xa4\\x51\\x68\\x2c\\x30\\xee\\x35\\xfe\\x61\\x38\\x0c\\xed\\x7c\\x76\\xe3\\xd7\\x8c\\x46\\xdd\\x3d\\xbb\\x87\\x2a\\x94\\xcf\\x32\\xe5\\x8c\\x98\\x3b\\xee\\x5b\\xa7\\xea\\xd4\\x85\\xeb\\x7c\\x9d\\xaa\\xf0\\x7d\\xb9\\xff\\x88\\xb9\\x9a\\xda\\x6f\\xc1\\xdc\\x1e\\xe7\\xcd\\x0e\\x35\\xd3\\x5a\\xb6\\x8c\\x08\\x37\\xc3\\x53\\x12\\xda\\xc4\\xa4\\xa4\\x84\\x9b\\x6d\\xac\\xf4\\x8c\\x34\\x6f\\x44\\x44\\xcb\\x84\\xa4\\xa4\\x56\\xa3\\x2a\\x93\\xac\\x96\\x4e\\x6f\\xd3\\x89\\xc9\\x8e\\xa3\\x69\\x2b\\x6c\\xbb\\xb7\\xe9\\x26\\x67\\x4f\\xed\\x60\\x3a\\xcf\\x2a\\xae\\x74\\xb3\\x71\\x13\\xd4\\xcb\\x76\\x0f\\x7b\\x0b\\x8c\\x54\\xea\\xb9\\x60\\x9d\\x25\\x9c\\x57\\x30\\x65\\xd6\\xd8\\x9a\\x85\\xe5\\x03\\xb2\\x2b\\xef\\xbb\\x47\\xbd\\x7c\\xd7\\x0d\\x13\\x9a\\x4a\\x4e\\xfd\\x45\\x15\\xb4\\x49\\xbc\\xfc\\xfc\\x6b\\x96\\x75\\x7c\\x51\\xb5\\xcf\\xf6\\xdd\\x7d\\xe3\\xab\\x59\\x09\\x36\\xfe\\x73\\x7d\\xcb\\x5c\\x4e\\x47\\xb9\\xf4\\x96\\xc1\\x72\\x91\\x77\\x50\\xec\\xc0\\x01\\x03\\xe3\\x4d\\x67\\x9f\\x96\\x9d\\x9d\\x6c\\x34\\x99\\xdd\\x52\\xa4\\x9b\\x94\\x0e\\xb1\\xda\\xbe\\x57\\x69\\x85\\x86\\xf6\\x3f\\x58\\x19\\x5d\\x74\\xa0\\x32\\x32\\xda\\x1d\\x6d\\x44\\x86\\xba\\x43\\x0d\\x36\\xa7\\xe8\\xd0\\xe8\\xdc\\x5e\\xbd\\x52\\xf7\\x57\\xf6\\xb2\\x3a\\xe5\\xe6\\x76\\xd8\\x5f\\x99\\xcb\\xf9\\x51\\x12\\xa2\\xf6\\x04\\x16\\x2e\\x42\\xd3\\x53\\x3b\\x00\\x6b\\xf6\\x39\\x7b\\x7d\\x7c\\xf0\\x6a\\x62\\xe8\\xdd\\xde\\xa5\\x67\\x35\\x37\\x32\\x83\\xd5\\xde\\xb4\\x6f\\x62\\x4c\\x75\\x2e\\x13\\x92\\x9e\\x66\\x19\\xd1\\x71\\x31\\x56\\x7e\\x5e\\x46\\xcf\\x78\\x27\\xa2\\x19\\x46\\xf7\\x28\\xc9\\x48\\xf5\\x88\\xb2\\x65\\x7a\\xc6\\x82\\x88\\x3e\\xd2\\xbc\\xe8\\x7b\\xec\\xe9\\xe5\\x56\\xb7\\xda\\x8b\\xc7\\xd7\\xce\\x7c\\xe2\\xd3\\x6d\\x13\\x6a\\x2e\\x09\\x8d\\x88\\x4e\\x9d\\xbc\\xb1\\xda\\x77\\xe4\\xe4\\x61\\xdf\\x5d\\x7b\\x6f\\x52\\xd1\\x4f\\xdf\\xac\\x8c\\x35\\x9d\\x6e\\xf0\\x1d\\xa8\\xff\\xdc\\xb7\\xe5\\x69\\x2a\\x6d\\x97\\x8a\\x52\\xe3\\xd4\\xe2\\x53\\x1f\\x67\\x27\\xa5\\x55\\xba\\x97\\x44\\x77\\x9a\\x39\\x6f\\xa8\\x71\\x7c\\xa7\\x6f\\xdb\\x9b\\x97\\x66\\x8f\\xb9\\x6e\\xf1\\xe5\\x3f\\x6d\\xab\\x6a\\x71\\xe6\\x48\\x66\\x6d\\x5c\\x7c\\xea\\x26\\x95\\xb0\\xe1\\x07\\x15\\xfe\\x99\\x6f\\x8a\\xcf\\xf7\\x9c\\xef\\xfd\\xbf\\x94\\x4d\\xf1\\x5e\\x38\\x73\\xa7\\x9a\\x70\\x48\\xa5\\xa8\\xbf\\xfb\\x7c\\xcf\\x9f\\xe9\\x50\\x3a\\x2c\\x2b\\xc9\\xe8\\xea\\x98\\xed\\x03\\xd7\\x38\\x11\\xc7\\x0e\\xce\\x8a\\x91\\x9c\\xe4\\xaf\\xf1\\x8e\\x0d\\x8f\\x69\\xd9\\x12\\x9c\\xa3\\x23\\xa2\\x22\\x23\\x2d\\x2b\\xca\\x65\\xc6\\xc5\\x86\\x47\\x44\\x47\\xd4\\x54\\xc6\\x44\\x47\\xab\\x28\\x87\\xe5\\x6a\\x19\\x69\\x5a\\xca\\x9a\\x52\\x19\\xa6\\x62\\xea\\xe3\\xd4\\xfa\\x38\\xb5\\x32\\x4e\\x95\\xc5\\x29\\x6f\\x9c\\xf2\\xc4\\xa9\\xa8\\x38\\xf5\\x69\\x9c\\xda\\x17\\xa7\\x36\\xd9\\xfc\\x85\\x71\\x2a\\x37\\x4e\\x9d\\xf5\\xed\\x20\\x70\\xf3\\x88\\xd7\\x67\\xce\\xe0\\x99\\xe4\\xb7\\xcb\\x70\\x41\\x41\\x5e\\x1e\\xad\\xde\\x2a\\x32\\xf5\\xf1\\x93\\x75\\xcf\\x3e\\x86\\x9a\\xa9\\xa6\\x32\\x53\\xd5\\xc3\\xbe\\x59\\xb5\\xea\\x23\\x95\\xa6\\x3e\\x9c\\x79\\xe6\\xa1\\xbb\\x56\\x9e\\x39\\xb3\\x4c\\x5d\\xfe\\x91\\xda\\x3e\\x64\\xc8\\x90\\x44\\xeb\\xf3\\x53\\x49\\x89\\xb4\\xaa\\xda\\xf7\\x57\\xab\\xed\\x99\\xad\\xcc\\xd2\\x34\\xff\\x49\\x47\\xb2\\xbd\\x5f\\xc6\\x48\\x3b\\x95\\xe8\\x7d\\x29\\x34\\x4d\\x92\\x1c\\x11\\x11\\xad\\x5a\\xb9\\x93\\xd2\\xac\\xac\\xf6\\x6e\\x47\\x4b\\x47\\xcb\\x9a\\x4a\\x87\\x23\\x21\\x36\\xa1\\xf5\\x94\\xca\\x04\\xb3\\x06\\x8a\\x8d\\x9a\\x52\\x19\\xdb\\x0a\\x8a\\xd9\\x9a\\xa5\\xd6\\x65\\xa9\\x15\\x59\\x6a\\x54\\x96\\xca\\xc9\\x52\\xee\\x2c\\x15\\x99\\xa5\\x8e\\x65\\xa9\\x7f\\x64\\xa9\\xe7\\xb3\\x14\\xbd\\xf7\\xda\\x02\\x0b\\xb2\\xd4\\x94\\x2c\\x55\\x98\\xa5\\xfc\\x59\\xea\\x13\\xbb\\xf7\\x5e\\x7b\\x54\\x13\\x3f\\x30\\xb0\\x57\\xa0\\x3b\\x30\\x72\\x5d\\x33\\xa5\\x4d\\x1a\\x9b\\x74\\x05\\xba\\x02\\xf2\\x01\\x5d\\x4d\\x5a\\x42\\xce\\xf9\\x9a\\x7b\\xc1\\xef\\x7c\\x7f\\x39\\xf7\\x03\\x8d\\x5e\\x7f\\xf5\\x46\\xd0\\x7c\\x77\\x3e\\xeb\\x5b\\x0c\\x75\\xdd\\xad\\x5d\\xb6\\xe2\\x36\\xda\\x23\\xd6\\x7e\\xd0\\xa5\\xea\\xe0\\xec\\xdf\\xbe\\x7b\\xaa\\x47\\x4f\\x67\\x7b\\xcb\\xb6\\x52\\x33\\xcd\\xf3\\x67\\x2c\\xba\\xf6\\xe6\\xb9\\x33\\x67\\xac\\xba\\xfd\\x91\\xf5\\x63\\x2f\\xba\\xe0\\xf4\\xa8\\x47\\x1e\\x31\\xae\\x55\\x2d\\x7c\\xb7\\x5d\\xf6\\xec\\x6e\\xdf\\xa7\\xbe\\x1f\\x7c\\xbd\\xcc\\x7f\\x5d\\x34\\xcb\\xd7\\x79\\xa1\\x2f\\x71\\xd5\\x15\\x67\\x3e\\x75\\xde\\xf0\\x33\\x89\\x59\\xdc\\x76\\xc8\\xba\\x4d\\x4b\\x1e\\x4d\\x8c\\xfd\\xeb\\x0d\\x2f\\xbd\\xee\\x64\\x9d\\xab\\xf5\\x7f\\xeb\\xc8\\x66\\x2d\\x4a\\x94\\x89\\xde\\x9e\\x51\\x1c\\x1c\\x43\\xe3\\x13\\xcc\\x84\\xa4\\x64\\x67\\xf8\\x94\\xca\\xf1\\x61\\x2a\\xcc\\x69\\xdd\\x17\\xaf\\x6e\\x8f\\x57\\xc5\\xf1\\xca\\x94\\xf8\\xdc\\x78\\x23\\xdc\\x11\\x2f\\x12\\x3b\\xa5\\x92\\xc5\\x28\\x59\\x2d\\x4c\\x56\\x39\\xc9\\x54\\xd4\\x05\\x81\\x9b\\x0b\\x33\\x56\\x7f\\xc5\\xa2\\x98\\x9a\\x96\\xd9\\xc6\\x05\\xc9\\x23\\xd1\\x51\\x92\\x9a\\x17\\x1f\\x1b\\x38\\x90\\xd9\\x17\\xaa\\x1e\\x85\\x2a\\xdf\\x74\\x5a\\x66\\x8e\\x6f\\xab\\x6f\\xb5\\x9a\\xad\\xa6\\x7e\\x75\\xd2\\x59\\x95\\x74\\xd5\\xd6\\x2f\\x0f\\x7c\\x7a\\xe0\\x82\\x07\\x72\\x3d\\xd5\\xce\\x2a\\x1f\\xf5\\x3b\\x53\\xf5\\x53\\x15\\x6a\\xc6\\x20\\xdf\\xae\\x17\\xab\\x7c\\x9f\\xf8\\xf6\\xf9\\x1a\\x7c\\x1f\\xf4\\xed\\x70\\xc8\\xf7\\x70\\xba\\xfe\\x7f\\xb4\\xc4\\x9c\\xc9\\xf0\\x9f\\x76\\x4c\\xa7\\xb6\\xc2\\x38\\x51\\xe6\\x79\\x93\\x24\\xc2\\xd1\\x2a\\xa2\\x55\\xdb\\x36\\x76\\x1d\\x59\\x76\\x1d\\xe9\\x1a\\x72\\xd5\\x50\\x47\\xcd\\xf0\\x6f\\x76\\xdb\\x33\\x02\\x38\\xf7\\x57\\x2a\\xe0\\xe6\\xff\\x8f\\xb8\\x37\\x81\\x8f\\xa2\\xca\\x16\\x87\\xef\\xa9\\xa5\\xf7\\xa5\\x7a\\xa9\\xde\\x3b\\xdd\\x9d\\x4e\\xa7\\x49\\x02\\x26\\x10\\x92\\x80\\x01\\x52\\xc4\\x10\\xc2\\x62\\x12\\x20\\x2c\\xcd\\x92\\x44\\x45\\x64\\x91\\x4d\\x11\\x15\\x1c\\x45\\x1f\\xea\\x20\\xb2\\x8d\\x08\\x0a\\x2a\\xa8\\xe8\\xe8\\x18\\x85\\xd1\\x3c\\x47\\xc7\\x19\\xc5\\x11\\x67\\x74\\x90\\x91\\x99\\x27\\xe3\\x43\\x44\\x70\\x86\\xd1\\x37\\xe3\\x02\\x32\\xe8\\x53\\x20\\x95\\xef\\xde\\x5b\\x55\\xdd\\xd5\\x21\\x33\\xff\\xef\\xfb\\xfd\\xfe\\xbf\\xdf\\x27\\x42\\x75\\x55\\x9d\\x7b\\xea\\x2e\\xe7\\x9e\\x7b\\xb6\\x7b\\x6e\\x2a\\x49\\x3b\\x9c\\xf3\\x7f\\x70\\x7a\\x7c\\x67\\xf3\\x5d\\xdb\\x1b\\xe5\\xfb\\x70\\xf5\\x32\\x58\\x1e\\x78\\x51\\xae\\xfb\\xac\\xab\\x8b\\x79\\x0c\\x93\\xbd\\xf3\\xc2\\x93\\xa6\\x65\\xa7\\xd9\\x15\\xf2\\xab\\xf2\\x3e\\xf9\\xa7\\xf2\\x5e\\x4e\\xe9\\x5e\\xdc\\xa7\\x49\\x84\\xb8\\xaf\\xa8\\xed\\xfc\\x7e\\x69\\x4a\\x20\\x68\\x34\\x38\\x5c\\x2e\\xc1\\xe6\\xf5\\x02\\x08\\x86\\x20\\x17\\x8d\\x38\\x3c\\x36\\x4f\\x67\\xc6\\x35\\xc8\\x86\\xbb\\xd4\\x26\\xd8\\x18\\xb3\\xc1\\x66\\xe3\\x82\\xe1\\xb0\\xb7\\x33\\x13\\x86\\x8e\\x4c\\xd8\\xcd\\x59\\x3b\\x33\\x46\\x8e\\x63\\x3a\\x32\\x1c\\xbb\\x35\\x0a\\x2b\\xa2\\xd0\\x16\\x05\\x29\\x0a\\x4c\\x45\\x14\\xe2\\xa4\\xbf\\x3b\\x14\\xb7\\x01\\x65\\x8e\\x4a\\x73\\x94\\xe5\\x80\\x0e\\x40\\xde\\x2c\\xae\\xcc\\x11\\x56\\x1d\\x10\\x22\\x22\\x12\\x31\\x6e\\x6e\\xa2\\xa6\\x12\\xff\\x4a\\xb8\\x2a\\xe3\\x64\\x10\\x12\\xc9\\xae\\x2e\\x6e\\xe5\\xac\\xf8\\xb2\\x0f\\x0e\\x43\\x47\\x2c\\x93\\x89\\xc9\\x8f\\xe3\\x45\\xb7\\x75\\xf8\\x2c\\xcf\\x85\\x71\\x4a\\xb3\\xe4\\xe7\\x8e\\x3a\\x64\\xef\\x56\\x79\\xee\\x43\\x3d\\x17\\x84\\xef\\xe5\\xfb\\x90\\xda\\xce\\x3b\\x71\\x3b\\x03\\x30\\x52\\xfa\\xb3\\x1b\\xc0\\xe0\\xf5\\xfb\\x7d\\x36\\xab\\xd5\\x67\\x60\\x83\\x21\\x2f\\x9e\\xe8\\x9d\\x19\\x7f\\x87\\x7b\\xa9\\x9b\\x19\\xe4\\xc6\\x2d\\x75\\x0b\\x6e\\xc6\\xcc\\xbb\\xdd\\x66\\xce\\xec\\xea\\xcc\\x38\\x6d\\xe0\\x64\\x6d\\x36\\xb3\\xd9\\xd8\\x91\\x31\\xb3\\x60\\xe0\\x0c\\xb8\\xb1\\xee\\xdd\\x21\\x58\\x13\\x82\\x96\\x10\\x94\\x87\\xc0\\x19\\x82\\xde\\x10\\x9c\\x0e\\xc1\\xde\\x10\\xdc\\x11\\x82\\xce\\x10\\x48\\x21\\x40\\x21\\x38\\x13\\x82\\x93\\x21\\xd8\\x1f\\x82\\x4d\\x21\\x58\\x1a\\x82\\x0e\\x0a\\x5f\\x47\\xe1\\x2f\\x57\\x0a\\xbc\\x4f\\xcb\\x6c\\xa6\\x65\\x5a\\x43\\x50\\x11\\x02\\x81\\xe2\\x3a\\x11\\x82\\x37\\xe8\\xab\\x0e\\xad\\xc0\\x69\\xfa\\x10\\xc3\\xef\\xa3\\xf0\\x18\\xe3\\x32\\x5a\\x04\\x7f\\x29\\x4e\\x3f\\x76\\xa9\\xb5\\xb5\\x1f\\x2b\\xab\\xfe\\x8d\\xa6\\xc2\\xd3\\x7f\\x55\\xe9\\x14\\x69\\x23\\xd3\\xef\\xd0\\x10\\xad\\x4f\\x51\\xef\\x95\\xd1\\xb9\\x0c\\xb2\\xc3\\xc3\\x58\\x4e\\xf4\\x8c\\xdd\\xd5\\xc5\\xb5\\xb7\\xc7\\x07\\xff\\x65\\xf4\\x53\\x30\\x96\\x0c\\x0d\\x33\\x42\\x1e\\x10\\xd6\\x46\\x65\\xfb\\x57\\x46\\x63\\xcf\\xb1\\x9f\\xc9\\x23\\xba\\x94\\xb9\\x6c\\x00\\x3c\\x97\\x0b\\xd1\\xd3\\x52\\x81\\xdf\\x28\\x38\\xb1\\x72\\xea\\x34\\xb2\\xc9\\x22\\xa9\\x68\\x59\\xd1\\xfe\\x22\\xd6\\x59\\x04\\x42\\x51\\xbc\\xa8\\xb3\\x88\\x2d\\x22\\x09\\x7e\\x26\\x4d\\x9a\\xde\\xb4\\xb7\\x08\\x36\\x17\\x41\\x47\\x11\\xa0\\xa2\\x0a\\x0c\\xc6\\x0e\\xdb\\x57\\x74\\xb2\\xe8\\x4c\\x11\\xfb\\x7e\\x51\\x6f\\x11\\x9e\\x58\\xad\\x45\\x6b\\x8a\\x36\\x17\\x71\\xbb\\x8a\\xa0\\x15\\x17\\x5b\\x46\\x50\\xc4\\x8a\\x18\\x13\\x5b\\x18\\x8d\\x45\\x3b\\x32\\xb1\\x18\\x16\\xcd\\xbd\\x1d\\x19\\xc1\\xc2\\xb1\\xa1\\x8e\\x0c\\xeb\\xc9\\x17\\xcd\\x49\\x5b\\x81\\x2c\\xe2\\xb8\\x83\\x94\\xde\\x2a\\xc3\\x7d\\xe4\\x72\\xfb\\xb3\\x76\\xbf\\x54\\x76\\x59\\x4e\\x0c\\x21\\x3e\\x0e\\xd2\\x78\\x8d\\x39\\xd0\\xee\\x10\\x8d\\xfc\\xed\\xb7\\xc9\\xaf\\xfc\\xc7\\x31\\xf9\\xd5\\x9f\\xc3\\x9d\\x70\\xed\\xf4\\x4d\\xb7\\x3d\\x3d\\x33\\xd0\\xf2\\xfa\\xb5\\x7f\\x3f\\xf2\\xe9\\x91\\x15\\x0b\\xba\\x98\\x85\\xff\\xd1\\x58\\x32\\x78\\x37\\x0c\\xf9\\x23\\x4c\\x82\\xeb\\x1d\\x81\\x72\\xf9\\xbd\\x17\\xaa\\x47\\xc8\\x9f\\x60\\x26\\xf1\\x37\\xf9\\x78\\x12\\xd6\\x86\\xc6\\x8f\\x0f\\x21\\x95\\x56\\x0d\\x7e\\x3a\\x27\\x6f\\x94\\x46\\x5b\\x7c\\x3e\\x97\\x39\\x18\\x64\\x5c\\x4c\\x34\\x62\\x0e\\x60\\x62\\x34\\x83\\x95\\x35\\x9b\\x11\\x2f\\x58\\x4d\\x2c\\xcf\\x76\\x64\\xec\\x3c\\x1b\\xf4\\xb9\\x18\\x84\\x67\\x20\\xa6\\xe3\\xce\\x28\\x60\\x5e\\xb7\\x2f\\x0a\\xbb\\xa3\\xd0\\x4a\\x27\\xa2\\x32\\xea\\xa8\\x6e\\x08\\x95\\xfa\\x2a\\x03\\x8a\\xfd\\x8e\\xc8\\x7f\\xfd\\xa8\\x24\\xb8\\xa1\\x95\\x55\\x6a\\x73\\xb0\\x7e\\xaf\\x5c\\x95\\x11\\x4f\\xe0\\x2b\\x9e\\x7a\\xcc\\x03\\x5d\\x4c\\x51\\x17\\xf3\\xe0\\xf3\\xcf\\xf7\\x2c\\xea\\xea\\xf9\\xb8\\x6b\\x7c\\x88\\xbb\\x89\\x0c\\xb1\\x2c\\xc0\\x19\\x72\\xbd\\xb0\\x9e\\xb4\\x83\\xf1\\xf7\\xfc\\x3d\\x34\\x1e\\xb7\\x65\\x0c\\x66\\x7a\\xff\\x8d\\xdb\\x62\\x45\\xb3\\xa4\\xe1\\xc4\\x9c\\x64\\xb7\\x1a\\x4c\\x78\\xfe\\x98\\x58\\x62\\x48\\xc2\\x03\\xe1\\x3e\\x69\\x87\\xfd\\x76\\x58\\x66\\x07\\xc9\\x0e\\x15\\x76\\x88\\xd3\\xdb\\x7d\\x76\\x58\\x63\\x87\\x0e\\xed\\xa1\\x8e\\x76\\xf3\\xa8\\x56\\x33\\xc9\\xa5\\xb2\\x44\\x29\\x1a\\x99\\x81\\x5d\\x3d\\x8b\\x69\\x3d\\xe7\\x92\\x9a\\x28\\xb5\\xa3\\xfd\\x3a\\x0b\\xeb\\x71\\xef\\xe0\\xba\\x88\\xa8\\x54\\x12\\x6d\\x06\\x51\\xf4\\xf9\\xcd\\xee\\xce\\x8c\\xc3\\xec\\xe1\\x31\\x67\\xee\\xc8\\x30\\x6c\\xd6\\xa8\\x55\\x96\\x35\\x67\\x81\\xd2\\x07\\x44\\x51\\x2f\\xce\\xaa\\x67\\x55\\xf0\\x6d\\x17\\x73\\xc7\\x43\\x67\\x3e\\x99\\xb0\\xa5\\x2c\\x53\\xe0\\x69\\x2c\\x1d\\x33\\x8b\\xfb\\x28\\x34\\x6e\\x5c\\xe8\\xe2\\x9f\\x8f\\x7e\\xe1\\xc2\\x55\\x7e\\xc9\\x1f\\xea\\x6c\\xd7\\xc6\\xb2\\x04\\x7f\\x33\\x88\\xce\\x4b\\xcf\\x9a\\x58\\x23\\xe7\\x67\\x7c\\x16\\x0b\\x16\\x90\\x58\\x86\\x0b\\x87\\x44\\x3f\\xc3\\x0a\\x6e\\x2c\\x39\\x98\\xcc\\x3e\\xd6\\x1e\\x74\\xb3\\x16\\xce\\x69\\x77\\x76\\x64\\x8c\\x76\\x77\\x77\\x18\\x26\\x84\\x21\\x1c\\x06\\x6b\\x18\\x2e\\x84\\xe1\\xb5\\x30\\xac\\x0f\\x43\\x59\\x18\\xbc\\x61\\xe0\\xc2\\x70\\x2e\\x0c\\x07\\xb0\\xc8\\x42\\x61\\x86\\x52\\x98\\xe1\\x18\\xe8\\x8b\\x30\\x1c\\xa4\\xa0\\x3b\\x29\\xf4\\xea\\x30\\xd4\\xd2\\x32\\x56\\xfa\\x7b\\x91\\x56\\xa0\\x56\\xc3\\x7b\\x8c\\xc2\\xef\\x0b\\x03\\xb3\\x3b\\x0c\\x6b\\xc2\\xd0\\x1a\\x06\\x29\\x0c\\xf1\\xb0\\xd2\\xdf\\x1d\\xfd\\x30\\x12\\x8d\\x93\\xe4\\x1e\\xab\\xf6\\x60\\x2a\\x95\\x51\\x1f\\xa2\\xbf\\x1f\\xa6\\x21\\x1a\\xcd\\x44\\x1e\\x03\\xa3\\x4b\\x37\\x50\\x2e\\xdc\\xb5\\xfc\\xaf\\xf7\\xc8\\x63\\x98\\xe6\\x1f\\xc9\\xe3\\x65\\xeb\\x8a\\x37\\x7b\\x66\\xe0\\x71\\xdb\\xfa\\x3c\\x73\\xcd\\x6a\\x7e\\xe4\\xb8\\x90\\x7c\\x6b\\x8f\\x2b\\x3c\\x8e\\xb9\\x67\\xae\\x5c\\xaf\\xf1\\x90\\x71\\xa1\\x9e\\x4f\\x98\\x42\\xbc\\x70\\x69\\xf3\\x84\\x47\\x34\\xc7\\xd4\\x58\\x69\\x00\\x63\\x35\\x18\\xad\\x46\\xc1\\x05\\x36\\x87\\xad\\x23\\xe3\\x60\\xcd\\xd6\\x8e\\x8c\\xc1\\x6c\\x66\\x3a\\x33\\x66\\xf7\\x6e\\xea\\x08\\x97\\xa8\\xe7\\xbc\\xcf\\x6a\\xa4\\xb7\\x22\\xe1\\x8a\\x62\\xa2\\x1f\\x52\\x43\\x3c\\xba\\x4a\\x25\\x99\\xa3\\xef\\x83\\xeb\\xc8\\xdc\\xc9\\x33\\x8b\\x2f\\x8c\\xeb\\x7a\\x8e\\xf9\\x4f\\xee\\x5c\\xe8\\x02\\x96\\x5b\\xfd\\xf2\\x22\\x75\\x01\\xd5\\xea\\x61\\x9c\\x4c\\xd7\\x96\\x02\\xe9\\x4d\\x40\\x76\\xbb\\x29\\x64\\x63\\x59\\x93\\xc3\\xef\\x77\\x9b\\xdc\\xc1\\x10\\xb2\\x0b\\x76\\x46\\xe0\\x30\\xe1\\xbb\\xcc\\x56\\x33\\x26\\x33\\x9b\\x23\\xc0\\x59\\x59\\xd6\\xed\\x67\\x4d\\x06\\x13\\x96\\x4e\\x40\\x64\\x0d\\xee\\xb2\\x10\\x84\\x43\\x60\\x0d\\xc1\\x85\\x10\\x7c\\x11\\x82\\x63\\x21\\x38\\x18\\x82\\xd7\\xe8\\x12\\xb0\\x8b\\x72\\x7b\\xa6\\x8e\\x2e\\x35\\x02\\x5d\\x03\\xde\\xd0\\x9e\\xde\\xa1\\x5b\\x58\\x62\\x74\\x9d\\x18\\xde\\xab\\x2b\\xe4\\xd4\\xa0\\xf7\\xea\\xa0\\x5b\\xe8\\x62\\x72\\x98\\x2e\\x4c\\xfb\\xb4\\x87\\xad\\xda\\x9a\\xd5\\xef\\x52\\x91\\x2f\\x26\\x76\\xe8\\x24\\x45\\x54\\xe7\\xd7\\xc4\\x72\\xbf\\xba\\x64\\x50\\x77\\x95\\x9e\\xa9\\x50\\x4b\\x07\\xee\\xde\\x44\\x52\\xb7\\x7c\\x98\\x21\\xc7\\x5b\\xd8\\x1b\\x6a\\x64\\x57\\xb7\\x4c\\xd8\\x8b\\x13\\xee\\x80\\x7b\\x99\\x50\\x57\\x57\\xcf\\xb5\\xdd\\xdc\\xe2\\x0b\\xff\\xab\\x0d\\xfd\\xc5\\x8d\\xec\\x0d\\xe3\\x42\\x17\\xee\\xa3\\xf7\\x66\\xda\\xef\\x69\\x3c\\xfe\\x5d\\xb8\\xdf\\x3d\\x78\\xfc\\x8b\\xdc\\x78\\x79\\xc6\\xf7\\x58\\x4c\\xf7\\x8a\\x3c\\x72\\xba\\xf1\\x2c\\x32\\x31\\x6e\\xd6\\xec\\xb0\\x39\\x88\\x40\\x65\\x73\\xb7\\x8a\\x80\\x07\\x5e\\x71\\xe5\\x07\\xea\\x72\\x2e\\xfd\\xe1\\x6e\\x5a\\xcf\\x21\\xae\\xdc\\x64\\xd7\\x57\\x13\\xb8\\xff\\xe8\\x86\\xe3\\x5d\\x37\\x5d\\x7c\\x9b\\xd6\\x0f\\x0e\\x32\\x5b\\x94\\xa9\\x7e\\xa1\\x98\\xab\\xbe\\x78\\x59\\xb6\\x7a\\x3f\\x55\\xe4\\x3b\\x22\\xa3\\x1e\\xa1\\xfa\\xb2\\x8f\\xd8\\x59\\x90\\xcd\\xe0\\xb2\\xb9\\xfc\\x01\\x2f\\x66\\xd4\\x5e\\x8f\\x03\\x8f\\xbe\\x83\\xab\\x0b\\x40\\x79\\x20\\xdf\\xce\\x92\\x95\\xee\\x88\\xe9\\xde\\x45\\xcd\\xf8\\x20\\x24\\x14\\x01\\x0f\\xeb\\x80\\xfb\\xf6\\xbe\\xfe\\xeb\\xbd\\x7b\\x7f\\xfd\\xfa\\x5e\\xb9\\x9b\\x79\\x15\\xcb\\x97\\x9d\\xf2\\x23\\x72\\x97\\xfc\\xbc\\xbc\\x83\\xd9\\x2d\\xbf\\x29\\x9f\\x06\\x37\\x8c\\xc2\\x72\\xa7\\x45\\xfe\\x4e\\x7e\\x8b\\xe9\\x92\\x9f\\xc2\\x22\\xea\\x73\\xf2\\xe3\\xd0\\x4e\\xea\\x43\\xe4\\x9e\\x67\\xa9\\x2e\\x13\\x40\\xdf\\x49\\xcf\\xf2\\x98\\xf7\\x20\\x9f\\xd3\\x17\\x0c\\x99\\x0d\\x78\\x66\\x98\\xdd\\x76\\x37\\x96\\x3a\\x09\\x07\\xc2\\xbc\\x87\\xb2\\x1e\\xfb\\xff\\x7f\\x82\\x4d\\x56\\xa4\\xc9\\x51\\xe1\\xff\\x47\\x41\\x26\\xa7\\xaa\\x64\\xa9\\x4f\\xa7\\xa4\\xf0\\xb9\\x51\\x8d\\x73\\xa2\\x90\\x60\\xaf\\xbb\\x79\\x5b\\xcb\\x94\\xf5\\xb7\\xcb\\x7b\\x4e\\xf4\\x34\\xee\\xea\\x62\\x5a\\x20\\x0a\\x21\\xd9\\xc7\\xee\\xdb\\x7d\\x47\\xcf\\xf3\\xf7\\x9f\\x97\\xa7\\x69\\x83\\xfb\\xc6\\x7b\\xf2\\x6c\\x32\\xb6\\x72\\x37\\x7f\\x02\\x8f\\xad\\x1f\\xf7\\xea\\x5f\\xa4\\xed\\x78\\xc1\\x0f\\xa0\\x02\\x3b\\x66\\x41\\x45\\x29\\x0b\\x12\\xc0\\xcc\\x0a\\xa2\\x24\\x86\\x31\\xf7\\x16\\x3d\\x4c\\x02\\xcf\\x73\\xee\\xb5\\x14\\x3c\\x97\\x82\\x9d\\x29\\x58\\x9f\\x82\\xd5\\x29\\x08\\xa7\\xc0\\x9a\\x82\\x73\\x29\\x38\\x95\\x82\\x6e\\xfa\\xa4\\x96\\x3e\\xb9\\x90\\x82\\x2f\\x52\\x70\\x2c\\x05\\x07\\x53\\xb0\\x28\\x05\\xb3\\x52\\xd0\\x90\\x82\\xa1\\x29\\xe0\\x52\\x30\\xec\\x20\\x2d\\x8c\\x1f\\x4d\\xa0\\xd0\\x65\\x14\\x0b\\xc6\\xbb\\x35\\x05\\x6d\\xf4\\xb7\\xfe\\xb9\\x33\\x05\\x26\\xa6\\xa3\\x3d\\xdb\\x3f\\xff\\xa2\\xd3\\x72\\xfa\\x1d\\x95\\x80\\x88\\x95\\x86\\x04\\x81\\x0c\\xc9\\xa9\\x41\\xd4\\xe6\\xea\\x51\\x28\\x90\\x27\\x1e\\x0a\\xe2\\x4e\\x4d\\x16\\x5e\\xc6\\xa4\\x8b\\x90\\x9e\\x48\\xe7\\xaa\\xe4\\x78\\xdf\\x90\\x07\\x16\\x0c\\x2d\\x10\\x1f\\x1e\\x35\\x6e\\xf9\\x55\\x73\\x16\\xca\\x2f\\xc9\\xbb\\x61\\xa2\\x46\\xb3\\xcc\\x6e\\x95\\x26\\x9d\\x9b\\x46\\xbe\\x62\\x9a\\x66\\x89\\x85\\x87\\xcf\\xb9\\x97\\x81\\xab\\x60\\x52\\x3e\\xed\\x2a\\xf3\\x87\\xf0\\xf4\\xa3\\x98\\x5e\\xbd\\x28\\x8a\\xae\\x93\\x6a\\xbc\\x4e\\x67\\x48\\xb4\\xdb\\x31\\xe9\\x78\\x04\\x30\\x18\\x84\\x82\\x98\\xd7\\x89\\x42\\x58\\x58\\x0f\\x85\\xb0\\x6c\\x1e\\xc4\\x24\\x4c\\x65\\x72\\x41\\x11\\xca\\x3d\\x9c\\xfb\\x70\\x0c\\x2a\\x62\\x74\\x72\\x69\\xcb\\x52\\x99\\x4e\\xc4\\xab\\xd4\\x11\\x06\\x99\\xf6\\xaa\\x15\\x3e\\x9f\\x2e\\x78\\xb2\\x54\\x99\\xb3\\x54\\xc3\\x58\\xbb\\x7a\\x6e\\xc5\\xd4\\x71\\x27\\x0c\\x80\\x22\\xf9\\x2c\\xcc\\xdb\\x22\\x37\\x63\\x1d\\xcb\\x78\\xdb\\x53\\xf7\\x6f\\xd9\\x71\\x17\\x33\\x4c\\x1e\\xa8\\x91\\xc9\\xcb\\x6f\\xca\\x27\\x27\\xcb\\x02\\x5e\\xb3\\x86\\xc1\\xfd\\xdb\\x6e\\xea\\xf9\\x70\\x8d\\xb2\\x3e\\x2c\\xee\\xfd\\x92\\x8b\\x50\\x5f\\xd2\\x6a\\x69\\x02\\x20\\x14\\x71\\xfa\\x44\\xd1\\x98\\x74\\x26\\x4b\\x4a\\xc3\\xc6\\x32\\x23\\x83\\x22\\x15\\x11\\x29\\xb2\\x2f\\xc2\\xd9\\x39\\x63\\x24\\xe5\\x4e\\x61\\xb1\\x68\\x32\\x40\\x03\\x80\\x08\\x40\\xa2\\x58\\x6c\\x06\\x48\\x79\\xdc\\xc1\\x8e\\xcc\\x74\\x1f\\xf8\\xdc\\x5c\\x4b\\x29\\xd4\\x95\\x42\\x79\\x29\\xd0\\x95\\x0c\\xab\\xaf\\x64\\x14\\x55\\x75\\x56\\x31\\x48\\x11\\x12\\xd0\\xeb\\xb4\\x8a\\x8d\\x92\\xca\\x2e\\x71\\x62\\x2a\\xbd\\x8c\\xa5\\x16\\x37\\xd5\\xe3\\x40\\x6c\\xe6\\xfe\\x02\\x46\\x24\\x51\\x13\\xe9\\xc5\\x33\\x06\\x95\\xfe\\x6c\\x16\\xc4\\x16\\xdf\\xd4\\xb5\\x7d\\xfe\\xa8\\x6f\\xfe\\xe7\\x99\\xf7\\x32\\x83\\xe6\\xfd\\x78\\xf5\\xda\\x25\\x37\\xfd\\xed\\xb9\\x99\\xb2\\xf9\\xc6\\xd3\\xd3\\x60\\xe7\\x87\\x83\\xeb\\xbf\\x1c\\x3f\\x6f\\xc0\\xf0\\xb1\\x9d\\xeb\\xe6\\xfe\\xfc\\xd5\\x32\\xf9\\xcd\\x57\\xc6\\xcf\\x6a\\xbf\\xa2\\x23\\x35\\x61\\xe9\\x9e\\xa5\\xf2\\xd4\\x74\\x9c\\xb4\\x19\\xff\\xc3\\xd7\\x50\\xde\\xbc\\x58\\xaa\\xc7\\x7a\\x96\\xcb\\x68\\x32\\xb9\\x18\\xc6\\x2b\\x12\\x67\\x4f\\x67\\xc6\\x66\\x32\\xb3\\x8a\\xcc\\x8a\\xdc\\x92\\x08\\x15\\x22\\x08\\x22\\x20\\x11\\xce\\x88\\xb0\\x5f\\x84\\xcd\\x22\\xac\\x11\\x61\\x99\\x08\\x98\\x67\\xe3\\xb7\\x71\\x11\\xf4\\x04\\x9c\\x15\\xd2\\x2a\\x73\\x22\\x60\\x56\\xd4\\x20\\xe3\\xa8\\xfa\\x7c\\x54\\xed\\xd1\\x2f\\x42\\xf5\\x91\\xca\\xbf\\xcd\\x09\\xcf\\xe2\\xfd\\xb3\\xc3\\x53\\xbe\\x1d\\x7c\\x04\\x8f\\xd6\\x52\\xef\\x0f\\x70\\xb3\\xbc\\xee\\x07\\xf7\\x85\\x07\\xc2\\xe3\\x48\\x7d\\x2b\\x7b\\xbf\\xe2\\xb7\\x52\\x39\\x6d\\xac\\x54\\xe2\\x17\\x58\\x8b\\x60\\x09\\xe1\\x75\\xc6\\xc7\\xba\\x3c\\x2e\\x2c\\x48\\x78\\x58\\x3b\\xba\\x2a\\x63\\xf7\\x60\\x39\\x69\\x99\\x26\\x27\\x55\\xa8\\x72\\x52\\x56\\x93\\x50\\x7d\\x64\\x2a\\x33\\x4f\\x61\\x31\\x51\\x15\\x74\\xbc\\x5c\\x32\\x5e\\x94\\xbd\\xf1\\xb1\\x8d\\xdb\\xf6\\x74\\xc3\\x3b\\x0f\\xc9\\xe7\\x7e\\x90\\xff\\x29\\x7f\\xfa\\x10\\x73\\x47\\xd7\\x93\\xab\\x9e\\x79\\x92\\x15\\xa9\\x04\\xf9\\xcf\\xff\\xf9\\xfe\\xc2\\x57\\x2c\\x4f\\x7f\\x7f\\xf5\\x38\\xd1\\x95\\xfc\\xbd\\x9f\\xf2\\xfb\\x70\\xdd\\x1c\\x10\\x91\\x0e\\xb0\\x9c\\xd5\\xca\\xdb\\x18\\x0b\\xcf\\xf0\\x82\\x93\\xb1\\xd8\\x58\\xde\\x88\\xe9\\xc5\\x61\\x64\\x2b\\xac\\x90\\xb0\\x82\\xd7\\x0a\\xac\\x15\\x1c\\xac\\x95\\xe5\\x3c\\x45\\x02\\x78\\x05\\x38\\x27\\xc0\\x07\\x02\\xec\\x13\\x60\\x8f\\x00\\x6b\\x05\\x58\\x21\\xc0\\x5c\\x01\\x1a\\x04\\x18\\x2a\\x00\\x27\\xc0\\x62\\xfc\\xee\\x80\\x00\\x5b\\x05\\xa8\\x15\\x00\\x17\\x38\\x28\\x40\\xb7\\x00\\x3b\\x05\\x98\\x25\\x40\\x19\\x2d\\x8f\\x81\\x4e\\x51\\x98\\x3d\\x14\\x0c\\x97\\x6f\\xa3\\x90\\xf8\\xf9\\x48\\xfc\\x68\\x3d\\xc5\\x84\\xcb\\x6c\\x16\\x80\\x59\\x23\\x40\\xab\\x00\\x92\\x00\\x71\\x01\\x04\\x01\\x4e\\x0a\\x70\\x58\\x80\\xdd\\x02\\xe0\\xe7\\xcb\\x04\\xe8\\x14\\xa0\\x42\\x00\\xcc\\x29\\xf3\\xd8\\x51\\x07\\x65\\x48\\x7d\\x03\\x10\\x2f\\x95\\x3a\\xc8\\xda\\xad\\xf0\\xb6\\xbe\\x7d\\xad\\x4a\\x17\\x58\\xca\\x84\\xa4\\xb2\\x82\\x9b\\x89\\x68\\xb9\\xef\\x8e\\x9e\\xf3\\x77\\xf7\\x9c\\x58\\xc2\\x8c\\x5d\\x0f\\xb7\\x42\\xe7\\xbd\\x58\\xa6\\x0c\\x5f\\x30\\x71\\xdf\\x93\\xe9\\x7a\\x71\\x0b\\xbb\\x34\\x4c\\xec\\x1f\\xd1\\xde\\x4f\\x8d\\x27\\x09\\xbf\\x21\\x76\\x3e\\xa7\\xd7\\xc2\\x7b\\x79\\x9f\\xb8\\xc6\\x01\\x6b\\xac\\x60\\x63\\x90\\x1d\\x33\\x75\\xbb\\xdd\\xe8\\xb5\\x38\\x95\\x6e\\x76\\xbb\\x8c\\xc4\\x9d\\x6f\\x75\\xf0\\x9c\\x67\\xa8\\x0f\\x8a\\x7c\\x70\\xce\\x07\\x7b\\x7c\\xb0\\xc2\\x07\\x6d\\x3e\\xa8\\xa5\\x4f\\xac\\x3e\\x58\\xf4\\x81\\x0f\\x5e\\xa3\\x2f\\xf0\\xa3\\x2f\\x7c\\xf0\\x9c\\x0f\\x56\\xe3\\xa7\\x3e\\xc0\\x65\\xbc\\x3e\\xe0\\x7c\\x70\\xca\\x07\\xdd\\x3e\\xd8\\xe9\\x83\\xb5\\x3e\\x98\\x4b\\x9f\\x87\\xe9\\xf3\\x5a\\x0c\\xfd\\x01\\x05\\x2d\\xa3\\x10\\xf8\\x75\\xab\\x0f\\x24\\x7a\\x8b\\x4b\\x22\\x1f\\x30\\x67\\x7c\\x70\\xd2\\x07\\xfb\\x7d\\xb0\\xcf\\x07\\x9b\\x7d\\xb0\\xc6\\x07\\xcb\\x7c\\xd0\\xe9\\x83\\x0a\\x1f\\x94\\xfb\\x74\\x46\\x80\\x0e\\x5d\\x4f\\xf6\\xd7\\xbb\\xed\\xba\\x9e\\xf5\\x57\\x2a\\xb3\\x89\\x58\\xab\\xa9\\x52\\x58\\x59\\x39\\x67\\x8e\\x8e\\x96\\xf9\\xa4\\x39\\xd7\\xb5\\x95\\xe0\\x51\\xd4\\xdd\\xe3\\xab\\xe5\\x17\\xe5\\xff\\x5c\\x2d\\x37\\xdc\\xc4\\xcc\\x7c\\x14\\x0a\\xe0\\xf2\\x1f\\x41\\xed\\x57\\xcf\\xc2\\x8b\\x37\\xc5\\xd8\\xda\\x8b\\x6f\\x73\\x3f\\x50\\x12\\xfe\\x94\\x15\\x2e\\x9e\\x65\\xa3\\xe4\\x37\\x99\\x67\\xc5\\x98\\x2f\\xec\\x25\\xba\\x2d\\xb8\\xa5\\xc6\\x90\\xe8\\xf0\\x78\\xed\\x86\\xb0\\x8d\\x04\\x1a\\x18\\x21\\x6c\\xb5\\x07\\x9d\\x1e\\xd1\\x12\\x8d\\x0c\\xa5\\xb6\\x23\\x2e\\xea\\x8d\\x32\\x67\\xc8\\x75\\x68\\xb4\\x21\\xda\\x16\\xe5\\xae\\xdf\\x13\\xfd\\x20\\x7a\\x2e\\xca\\x92\\xdb\\xb9\\xd1\\x15\\xd1\\xad\\xd1\\xee\\xa8\\x21\\xfa\\x4a\\xef\\xfe\\x97\\x6e\\x5c\\xd5\\x44\\xaf\\x73\\xae\\xa1\\x57\\x29\\x34\\x63\\x56\\x53\\x3c\\x57\\x72\\x45\\x74\\x6d\\xd4\\x50\\x7b\\x00\\x97\\x65\\xe8\\xeb\\xa9\\x63\\x26\\x36\\x2d\\xa2\\x96\\xaa\\xda\\x28\\xbc\\x16\\x3d\\x18\\xfd\\x22\\x7a\\x21\\xca\\x91\\xef\\x0d\\xc5\\x88\\x39\\xfc\\x4d\\x06\\x45\\x85\\x68\\x45\\x54\\x8a\\x2e\\x8b\\xae\\x89\\xee\\x8e\\xee\\x8b\\xee\\x8f\\x9e\\x8c\\x5a\\x4c\\xac\\x3d\\x6c\\x66\\x6d\\x0e\\x0f\\x6b\\x24\\x0b\\x8f\\x60\\x66\\x91\\x18\\x62\\xa9\\x22\\x1b\\x60\\xdd\\x3a\\x03\\xb5\\x4a\\xa0\\xc3\\x87\\x03\\x65\\xcc\\xb4\\xc7\\xcb\\x70\\x97\\x2f\\x2f\\x2b\\x2b\\xa3\\x06\\x06\\x3c\\x08\\x39\\xeb\\x42\\xd6\\xc6\\x40\\xd7\\x21\\xb3\\xd2\\xd1\\x1e\\xad\\xbf\\xe9\\x43\\x80\\xf1\\x4f\\xcb\\xd5\\x5b\\x61\\xaf\\xbc\\x66\\x3b\\xb3\\xe1\\x67\\xff\\x80\\xe8\\xd3\\x70\\x70\\xab\\xfc\\x00\\xfc\\xe2\\xa1\\x9e\\x1b\\x7f\\x26\\x7f\\x32\\x97\\x50\\x35\\x53\\xc4\\x4c\\x26\\x1d\\x2d\\x6f\\x83\\x85\\xf4\\x3a\\xb8\\x27\\x43\\x6d\\xdb\\x6f\\xd0\\x75\\xa8\\x08\\xf7\\xfd\\x6e\\xba\\xb6\\xbe\\x2a\\xdd\\x86\\x8c\\x46\\xd1\\x67\\x77\\x7a\\x59\\x93\\x85\\xe8\\x20\\x46\\x70\\xf2\\x46\\xe4\\x60\\x39\\x97\\x25\\x6b\\xe1\\x9a\\x45\\xa9\\x32\\x4b\\xbf\\x13\\x28\\x79\\x7b\\x35\\xe2\\xc5\\x34\\xdf\\xa0\\xd0\\x2c\\x06\\x3a\\x46\\x81\\x16\\x51\\x82\\x3f\\x49\\x49\\xb8\\x9b\\xd2\\xff\\x56\\x4a\\xc2\\x98\\x40\\x99\\x4e\\x4a\\xc6\\x15\\x94\\x86\\x35\\xed\\x32\\x2b\\xa7\\xb4\\xe7\\x49\\x27\\x59\\x06\\xef\\xa6\\x91\\x6f\\xba\\xe0\\x83\\xdc\\x5a\\x9d\\x9b\\xe7\\xf8\\xc2\\x6e\\x3a\\xd2\\x13\\x3a\\x22\\xcf\\xdf\\xce\\xbc\\xd8\\x0d\\x43\\x60\\xc0\\x1e\\x78\\x67\\x23\\x23\\xc8\\x6d\\xb4\\xed\\x4f\\x33\\x87\\xa9\\xe2\\xf8\\x07\\x66\\x08\\x25\\x42\\x40\\x57\\x63\\x99\\xf8\\x6b\\xdc\\x0f\\x6e\\x78\\x57\\xea\\x75\\x0a\\xbc\\x01\\xcb\\x6e\\x06\\x0b\\x32\\x23\\xaf\\x47\\x40\\x16\\xb7\\x05\\xcf\\x73\\xb7\\x19\\x19\\xc0\\x6e\\x30\\x80\\x09\\x3a\\x33\\x26\\xb6\\xcd\\x0b\\x0d\\x5e\\x18\\xea\\x85\\x22\\x2f\\x78\\xbd\\xc0\\x79\\xe1\\x9c\\x17\\x3e\\xf3\\xc2\\x9f\\xbd\\xf0\\x5b\\x2f\\x74\\x7b\\x61\\x9b\\x17\\xd6\\x7a\\x61\\x85\\x17\\xae\\xf6\\x02\\x06\\x6e\\xcc\\x07\\x5e\\xf8\\x9d\\x17\\x4e\\x51\\xe8\\x03\\x5e\\x78\\xda\\x0b\\xf7\\x78\\x61\\xa5\\x17\\xe6\\x51\\xb8\\x6a\\x2f\\x14\\xeb\\x90\\xfe\\xc5\\x0b\\x1f\\x50\\xb0\\x17\\xbd\\x40\\x5c\\x21\\x9b\\x35\\x6f\\xc8\\x5c\\xea\\x2b\\xd1\\xd7\\xe2\\x1c\\x45\\xaa\\x40\\xe3\\x2a\\x6c\\xa5\\x30\\xfa\\x9a\\x62\\x8c\\x97\\x63\\x88\\xfd\\xf4\\xf5\\x1e\\x0a\\xb1\\x96\\x02\\x0d\\xa5\\xc5\\x70\\x6d\\x3b\\xbd\\x52\\xbd\\xea\\x82\\xa9\\xa0\\x45\\x04\\xad\\x1e\\x7a\\xcc\\x4a\\xd1\\x35\\xb4\\x44\\xf6\\x13\\x71\\x2f\\x30\\x18\\x1a\\x33\\x4e\\xe2\\x5b\\xc8\\x05\\x84\\xea\\xb8\\x4c\\xbf\\x5e\\x06\\x7d\\x28\\x68\\xc7\\xff\\x31\\x1e\\x74\\x8e\\xe6\\xfa\\x51\\x4d\\xf6\\xaa\\xdd\\xa7\\x32\\x27\\xdd\\xa8\\x53\\xa7\\x06\\xb4\\x48\\x0f\\x48\\x10\\x7f\\x19\\x56\\xe1\\xaf\\x66\\x3e\\x3b\\xf3\\xd7\\x39\\xb1\\x0c\\x67\\xeb\\x11\\x21\\x70\\xc3\\xf1\\xc1\\xb5\\x33\\xc3\\x17\\x36\\xdd\\xc0\\x5d\\xe5\\xfd\\x2f\\x98\\xb4\\xf0\\xc2\\x83\\x3e\\x2b\\x20\\xf9\\x66\\x4c\\x0f\\x0f\\xc9\\x5f\\x33\\x9d\\xfc\\x06\\x64\\x44\\x31\\x89\\x84\\xe3\\xf3\\x08\\x99\\xcc\\x1c\\x20\\x7c\\x2d\\x3f\\x54\\x77\\x48\\xe7\\x08\\xf7\\xb8\\x14\\x9d\\xf5\\x21\\x78\\xe7\\xe0\\x41\\xf9\\x6b\\xc3\\xae\\x2b\\x4a\\xce\\x0f\\x2f\\xb9\\x22\\x2f\\xe6\\x2b\\x24\\x59\\x59\\x86\\xe1\\x01\\x71\\x8c\\x07\\x71\\x4a\\xc8\\xd7\\x10\\xa5\\x92\\x6c\\x25\\x24\\xbd\\xf7\\xc3\\x9f\\x37\\xf0\\x63\\xce\\xff\\x54\\x91\\x0d\\xc7\\xe3\\x6f\\xbb\\xb5\\x6f\\x73\\x58\\x02\\x36\\x1a\\x4d\\x66\\xc6\\xc8\\x1a\\x10\\xaa\\x3b\\x54\\x9e\\xf7\\x6d\\xd5\\xea\\x3a\\xfe\\xe0\\x41\\x78\\x47\\xfe\\xfa\\x8a\\x12\\xfe\\x77\\x25\\x57\\xfc\\x70\\x15\\xc6\\xb1\\x0a\\xee\\xe6\\x06\\x62\\x7a\\x36\\xa0\\xa4\\xe4\\xe4\\x39\\x00\\x03\\x6b\\x60\\x4d\\x46\\xe0\\x58\\x16\\xb7\\x60\\x48\\x9d\\xda\\x5b\\xea\\x32\\x69\\x66\\x48\\xe0\\x2c\\xfb\\xa8\\xfc\\xb2\\xfc\\xf2\\x26\\xe8\\x9a\\x09\\x5d\\x70\\x37\\xf3\\x43\\x8f\\x91\\x38\\x95\\x69\\x9d\\x7a\\xcf\\xc8\\x7f\\xe5\\x84\\xde\\x1b\\x95\\x98\\x39\\x96\\x47\\xb8\\x2b\\x5e\\x55\\x62\\xe6\\x40\\x69\\x06\\x9e\\x73\\x02\\x17\\x97\\xff\\xba\\x79\\x33\\x6d\\xc3\\x0c\\xae\\x9d\\x09\\xf1\\x9b\\x70\\x7f\\x25\\x25\\x37\\xcb\\x20\\x2c\\x9a\\x18\\x8c\\x88\\xd9\\x32\\x8b\\x06\\xf3\\x20\\xe2\\xd1\\xd6\\xad\\x25\\x66\\xa8\\x4a\\x78\\x44\\x38\\x20\\x6f\\x85\\xe8\\x53\\x5c\\x3b\\xd8\\x52\\xf2\\xe9\\x38\\x95\\xfd\\xeb\\x7b\\xbf\\x64\\x3f\\x65\\xdf\\x44\\x61\\x94\\x42\\xeb\\xa4\\x56\\x7f\\x20\\x60\\x73\\x19\\x53\\x29\\x36\\x6e\\x63\\x6d\\xe9\\x62\\xbf\\x1f\\xb9\\x5c\\x91\\xe6\\x8c\\xcb\\x85\\x2c\\x96\\xe4\\xa4\\x8c\\xd1\\xe2\\x33\\xb0\\xcd\\x19\\x83\\x88\\xbc\\xcd\\x19\\x24\\xa0\\x34\\x4c\\x68\\x4d\\xc3\\xc9\\x34\\xac\\x49\\x43\\x67\\x1a\\xf0\\x6f\\x29\\x0d\\x48\\xbb\\xc5\\xbf\\x73\\x1c\\xa6\\x5d\\xd3\\xbd\\xf3\\x2c\\xc0\\xf4\\xa2\\x53\\x10\\x34\\xed\\x20\\x1e\\x24\\x2c\\x38\\x8d\\x15\\xa0\\xb8\\x6b\\xe8\\x28\\xa8\\xa3\\x81\\xb3\\x98\\xd6\\xaa\\x46\\x81\\xc7\\xa8\\x7a\\x71\\x6b\\x98\\x42\\xb8\\xaa\\x5d\\x7e\\xda\\xd7\\x7c\\xbb\\x24\\x1f\\x9f\\xf6\\xc4\\x0b\\xab\\xd6\\xb7\\xcd\\x2f\\xae\\xdf\\xbe\\xf1\\xbe\\xb6\\xab\\x26\\x8c\\xa8\\x68\\x68\\x65\\xdf\\x94\\x2f\\xf6\\x3c\\x1a\\xa8\\x6f\\xaa\\x4a\\x43\\x60\\xe1\\x1d\\x23\\x39\\x76\\xdd\\xcf\\x86\\xde\\xf4\\x57\\xbf\\x4d\\xf6\\xb3\\x5c\\xfb\\x82\\xa9\\xad\\x49\\x45\\xff\\x09\\x61\\x5d\\x21\\x8e\\xe9\\xc1\\x8a\\xf5\\x9f\\x65\\x52\\xa3\\x60\\x34\\x46\\x51\\x20\\x1a\\x28\\x88\\x85\\xcd\\x2d\\x99\\xb0\\xcf\\x2d\\x8a\\x6c\\x6b\\x46\\x14\\x1c\\xb6\\xe6\\x8c\\x03\\xa1\\x18\\xc4\\x63\\x20\\xc4\\x48\\xe2\\xff\\x5a\\xac\\xf9\\xb4\\xc6\\x60\\x7f\\x0c\\xf6\\xc5\\x60\\x77\\x0c\\x96\\xd1\\x5b\\x49\\x55\\x87\\xe8\\x7f\\xca\\xec\\x5a\\xae\\xd9\\x1d\\x14\\x23\\x6a\\x1f\\x4d\\x19\\xab\\x03\\x46\\xea\\xc7\\x23\\x9c\\xd5\\xe5\\x35\\xaa\\xe1\\x74\\x58\\xd9\\x4b\\x31\\x17\\x66\\xcd\\x2f\\x9e\\x19\\x95\\xe6\\x5c\\xd3\\xd9\\x73\\x47\\x27\\xdc\\x69\\x19\\xb0\\xbd\\xe9\\xbd\\x5f\\x7d\\x73\\xec\\x09\\xf9\\x1d\\xf8\\xe6\\xd5\\x2e\\x97\\xab\\x67\\xb0\\xf0\\x26\\x17\\xf3\\x8f\\x96\\x7f\\x3a\\xa7\\x33\\x31\\xe8\\xe4\\xb7\\x67\\xe5\\xaf\\x49\\x32\\x72\\xd4\\xd8\\xfb\\x15\\x3b\\x93\\x7d\\x1b\\x8f\\xeb\\x28\\xa9\\xd0\\x67\\x70\\xd8\\xed\\x61\\x43\\x38\\x12\\xb5\\xb8\\x5b\\x32\\x76\\x8b\\x10\\x66\\xd9\\xe0\\xa4\\x0c\\xeb\\x3b\\x1d\\x85\\xf7\\xa3\\xb0\\x37\\xaa\\xa8\\x35\\x7a\\x3b\\x6c\\xce\\x06\\x4f\\x94\\x50\\xe2\\x40\\x07\\x45\\x79\\x21\\x16\\x78\\x6d\\x00\\xd8\\x99\\x83\\x76\\xb5\\x5d\\xf8\\x61\\xf9\\x9f\\xd6\\xdf\\xff\\x54\\x53\\x69\\x61\\x7d\\x75\\x6d\\x67\\xd5\\x8f\\x7e\\x7c\\xdf\\xd5\\xc3\\x8b\\x06\\x9c\\xfd\\x61\\xe7\\xf1\\x9b\\x92\\xf2\\x3f\\x9e\\x0a\\x7a\\xdb\\x9f\\xbb\\xf9\\xdd\\xae\\x28\\xee\\xe7\\x29\\xb8\\x9f\\x67\\xe3\\x7e\\xf6\\xa1\\x04\\xba\\x4d\\xba\\xd2\\x6f\\x74\\xa0\\x48\\xc4\\x63\\xf4\\x14\\x26\\x7d\\x9e\\xe6\\x8c\\x4f\\x74\\x39\\x31\\xa5\\x21\\x4b\\xac\\x25\\x63\\xb3\\x08\\x5c\\xa8\\x35\\x43\\xf6\\xa8\\x25\\x21\\x9e\\x04\\x21\\x09\\xf8\\x47\\xed\\xe1\\x24\\xb4\\x26\\x61\\x7f\\x12\\xf6\\x25\\x61\\x77\\x12\\x96\\xd1\\x5b\\x29\\x09\\x15\\xc9\\x4b\\xba\\xbb\\x52\\xd5\\xb3\\x03\\x7d\\x0c\\x3e\\x6a\\x9b\\x98\\xa4\\x1a\\x01\\xe1\\x2f\\x1e\\x49\\x7b\\x9d\\x58\\x4a\\x69\\x9b\\x5c\\x64\\x38\\x98\\xe3\\xc3\\x46\\x4c\\xbc\\xec\\xf0\\x7b\\xc7\\x0e\\x2f\\x5e\\x6a\\xc0\\xdd\\x7e\\x9d\\xbc\\x4d\\xbe\\xa7\\x7d\\x46\\xeb\\xb4\\xe6\\xd6\\x99\\x73\\xab\\x8a\\xfc\\x8e\\xd3\\xdf\\x9f\\x93\\xc3\\x89\\x55\\x5f\\x07\\xea\\xcf\\x1f\\x0a\\xd4\\xc3\\xb1\\xd7\\xde\\x2e\\x63\\x0e\\x88\\x6f\\x2b\\xf4\\x44\\xfa\\x7e\\x06\\xfb\\x16\\x12\\x31\\x3d\\x5d\\x25\\x5d\\x1e\\xe4\\x79\\x4f\\xc8\\xc6\\x79\\xb8\\x82\\x58\\x88\\x6b\\xc1\\x5a\\x34\\x12\\x04\\xcb\\xa4\\x8c\\xe0\\x43\\xbe\\x16\\x3c\\x89\\x4e\\xc7\\xe0\\xfd\\x18\\xbc\\x11\\x83\\xbd\\x31\\xb8\\x23\\x06\\x4b\\x63\\xd0\\x11\\x83\\xba\\x18\\x94\\xc7\\x72\\x82\\x65\\xdf\\x90\\x2d\\xbd\\xeb\\x14\\x86\\xf8\\xa2\\x90\\x10\\xbd\\xc4\\x48\\xae\\x98\\x0c\\x48\\xcb\\xfc\\x58\\xc5\\xac\\x1c\\x7a\\x19\\xc0\\xd7\\x6f\\x3c\\x27\\x7b\\x2a\\xae\\x6f\\x9f\\x71\\x4f\\xcd\\xde\\x29\\x9f\\x1f\\xff\\xaf\\xdf\\x8f\\xa8\\xfd\\xc8\\x5d\\xc6\\xbe\\xf5\\xde\\x87\\x93\\x85\\x07\\x6f\\xaf\\x8f\\x5e\\x99\\x28\\xfb\\xa6\\xe7\\xbb\\xb3\\xd7\\xde\\xf5\\xd4\\x3d\\x8b\\x87\\x2a\\xfc\\xd1\\x89\\x1b\\xf1\\x3a\\xff\\x04\\x0a\\x41\\xad\\x74\\xd4\\x2d\\x5a\\x2d\\x2e\\x0b\\x9e\\x02\\xa1\\x50\\x24\\x2c\\x86\\x02\\xa1\\xe6\\x4c\\x00\\x4f\\x7f\\x97\\xb7\\x25\\xc3\\xba\\x9c\\x46\\x47\\x6b\\xc6\\x6a\\x84\\x45\\x11\\xb0\\x46\\xe0\\x42\\x04\\x8e\\x45\\x60\\x67\\x04\\x26\\x44\\xa0\\x2c\\x02\\x31\\xfa\\x70\\xc1\\xb9\\x08\\xbc\\x16\\x81\\xe7\\xe8\\x8b\\xf5\\x11\\x58\\x1d\\x81\\x59\\x14\\xa2\\x36\\x02\\xe5\\xb4\\xcc\\x17\\xb4\\xd8\\x41\\x0a\\xa6\\xc0\\x2c\\xd2\\x60\\xea\\x22\\xc0\\x38\\x23\\xd0\\x1b\\x81\\xd3\\x11\\x38\\x11\\x81\\xf7\\x23\\xb0\\x37\\x02\\x77\\x44\\x60\\x69\\x04\\x3a\\xe8\\x17\\xf0\\xdb\\xe1\\xf8\\xdd\\xe1\\x08\\xbc\\x11\\x81\\xcd\\x11\\x68\\x8d\\x80\\x14\\x81\\x8a\\x08\\xc4\\x23\\x80\\x68\\x49\\x5c\\x66\\x37\\x2d\\x73\\x26\\x02\\x6b\\x22\\xd0\\xa9\\x15\\xeb\\x6b\\xb1\\xc9\\x57\\x7d\\x72\\xdb\\x2b\\xfa\\xb1\\xc4\\x2b\\x9a\\x91\\xa6\\x81\\xe6\\xf9\\x45\\x2a\\x55\\x5b\\x0e\\x89\\xe1\\xab\\xaa\\x51\\x48\\x4c\\xa4\\x2a\\x7f\\x14\\x2a\\xc5\\xa4\\x22\\x49\\x3d\\xba\\x71\\xe3\\x81\\x5f\\x5c\\x73\\x85\\x14\\x0d\\xa4\\xe7\\xbe\\xf1\\xc6\\xc3\\x3d\\x27\\xe7\\xb1\\x0d\\x63\\xd2\\xd7\\xee\\x3f\\xe4\\x39\\xb9\\x38\\xd0\\xbb\\x6e\\x7e\\x8f\\x2f\\x50\\x5f\\x1f\\xa0\\x71\\x7e\\xd5\\xf2\\x08\\xf6\\x4b\\x2e\\x8c\\x65\\xf8\\xc1\\x68\\x24\\xba\\x59\\xaa\\xb3\\xd8\\x91\\xdb\\x5d\\x5b\\x65\\xaf\\x65\\x18\\x7b\\x31\\x1b\\x4f\\x07\\x93\\xa5\\xa5\\x03\\x07\\xc6\\x83\\xf1\\xba\\x51\\x6e\\x64\\x35\\x71\\xbc\\x20\\x0c\\x69\\xc9\\x24\\x4b\\xb0\\x42\\x8d\\xff\\xf0\\xd1\\x68\\x79\\x6b\\x26\\x1a\\xe1\\x87\\xb5\\x64\\x78\\x21\\x5e\\x07\\xcb\\x75\\xa4\\x44\\x82\\x68\\x08\\x0d\\x29\\xfb\\x1d\\xf2\\xac\\xc7\\xee\\x3e\\xce\\x04\\x35\\x5c\\xc8\\x5f\\xe3\\x37\\xaa\\xe1\\x9e\\xc6\\x02\\xa8\\x85\\xb8\\xcb\\xab\\x11\\x1c\\x89\\x0f\\x84\\xa1\\xc9\\x84\\xb6\\x1f\\x44\\x0d\\xa6\\x24\\xb7\\x00\\x2f\\x7e\\x74\\xb0\\xec\\xde\\xd8\\xa7\\xc9\\x1b\\x46\\x7d\\xf8\\x87\\x96\\xf1\\x01\\xa6\\xb1\\xf2\\x18\\x4c\\xbf\\xf9\\xf3\\xae\\xf7\\x4e\\x8e\\x5b\\x50\\x3b\\x85\\xf9\\xc5\\x1d\\xf2\\x5b\\x33\\x56\\x2f\\xda\\xf2\\xa8\\x7c\\x7c\\x7c\\xfd\\xe8\\x09\\x63\\xea\\x46\\xc1\\xac\\x09\\x1f\\x3d\\xf2\\xac\\xd3\\xb2\\xb4\\xec\\x89\\x89\\x77\\xed\\x7a\\xce\\x36\\x31\\x5a\\x29\\x7f\\xbf\\xf8\\xd1\\x19\\x37\\xcd\\x1b\\xd4\\x36\\xd2\\x7f\\x43\\x9d\\xfc\\xeb\\x0e\\x69\\x92\\x24\\xb5\\x33\\x5b\\x6f\\xbc\\xf1\\xc6\\xc5\\x8b\\xc9\\xf9\\x18\\x40\\xce\\x57\\xe6\\xda\\x30\\x7f\\x89\\xa2\\x5d\\xd2\\x7c\\xe4\\xf5\\x06\\xed\\x26\\x53\\xb0\\x20\\x16\\xc5\\x24\\x1b\\x45\\x26\\xbb\\x97\\x0d\\xfa\\x83\\xcd\\x19\\xbf\\x68\\x15\\x79\\xd7\\xe4\\x0c\\xd6\\xe5\\x8b\\x62\\x30\\x2b\\x06\\xde\\x18\\x70\\x31\\x18\\xfe\\x41\\x0c\\x0e\\xc4\\x60\\x6d\\x0c\\x56\\x50\\x2e\\xce\\x28\\x6c\\xfc\\x4c\\x0c\\x4e\\x52\\xf6\\xde\\x49\\x9f\\xc6\\xf2\\xb9\\xbd\\x36\\x47\\x35\\x3a\\xe9\\xc8\\x52\\x89\\x46\\x20\\x75\\xaa\\x76\\xd2\\x87\\xe9\\x7b\\x8d\\x35\\xd5\\x95\\xca\\x22\\x87\\x45\\x0c\\x1a\\x75\\xaa\\x33\\x7f\\x77\\x1b\\xc6\\x6c\\x5c\\x0e\\x5c\\xbb\\x3c\\xa8\\x6d\\x6c\\xfd\\xc4\\x89\\xd3\\xe4\\x41\\xb3\\x31\\x13\\x62\\xbf\\xab\\x9f\\x99\\x6c\\x92\\xbf\\xe8\\xf9\\x19\\xa1\\x0e\\xa6\\xbc\\xad\\xbd\\xb0\\x67\\x34\\xf9\\xc9\\x1d\\x0d\\x90\\x3c\\x7d\\xe4\\x2c\\x63\\x26\\x8c\\xdb\\x6f\\xc6\\x9c\\xa7\\x43\\x1a\\x21\\x58\\x2c\\x58\\xc5\\xf3\\xf9\\xe3\\x24\\x2c\\x43\\xf2\\xaf\\xf1\\x6f\\xf6\\xb3\\xbd\\x7e\\xd8\\xec\\xdf\\xed\\xdf\\xef\\x67\\x9d\\xfe\\x98\\x7f\\xa9\\x9f\\xb5\\xb2\\x1e\\xfb\\x94\\x8c\\xc7\\x2c\\x99\\x0d\\xcd\\x19\\xb3\\x93\\x38\\x08\\x9b\\x33\\xac\\x98\\xb5\\xee\\xd2\\x70\\xb2\\x32\\xd5\\x4d\\x7b\\x83\\x22\\xcf\\xe4\\x7b\\xff\\x40\\x0b\\x24\\xc3\\x74\\x00\\xdd\\xd7\\xc9\\xee\\x79\\xb8\\xae\\xf2\\x91\\x59\\x75\\x52\\x66\\xc6\\x68\\x69\\xe6\\x4c\\x5a\\xd9\\xef\\x31\\x93\\x6c\\x1a\\x3d\\x23\\x23\\xd5\\xcd\\xa2\\x71\\xf7\\xbd\\xa7\\xe5\\x89\\x4c\\x89\\xba\\xe6\\x4e\\x95\\x2a\\x91\\xc1\\xe6\\x32\\xb0\\x41\\x3c\\x5a\\xac\\x79\\x4a\\x86\\xc5\\x3a\\x60\\xa8\\x25\\x13\\x75\\x3a\\x7d\\xad\\x19\\xb7\\x33\\x8c\\xe8\\x20\\xe0\\x8e\\x5f\\x43\\x7b\\x5d\\x19\\x0a\\x75\\x26\\x6a\\x41\\xca\\x4a\\x45\\xb3\\x5b\\x23\\xd4\\x38\\x5f\\x95\\x6e\\x59\\x4a\\xb2\\x55\\x6a\\xe0\\x37\\xf5\\x32\\x95\\x64\\x24\\x69\\x66\\x66\\x74\\xdd\\x4c\\xd3\\xc1\\xd7\\x32\\x53\\xa4\\xb2\\x40\\xb0\\xba\\xee\\x69\\xf8\\x1d\\x77\\x4e\\x79\\x9a\\x39\\xff\\xd4\\xaf\\xfe\\xe8\\xfe\\xf4\\x06\\xcf\\xdd\\xab\\xd8\\x4d\\x85\\xf5\\x94\\x2f\\x12\\xfa\\x5a\\x86\\xeb\\x1c\\x84\\x17\\xa5\\x5e\\xa3\\xc3\\x61\\x74\\x1a\\x9c\\x88\\x98\\x48\\xed\\x26\\x41\\x34\\x89\\xe1\\x50\\xd0\\xd7\\x9c\\x09\\x22\\xc1\\x6e\\x12\\x3d\\x22\\x96\\x8f\\x9c\\x9c\\x15\\x0b\\x5d\\x58\\xb1\\x6b\\xce\\x70\\xce\\x05\\x61\\x98\\x16\\x86\\x86\\x30\\x54\\x87\\xc1\\x17\\x86\\xcf\\xc2\\xf0\\x67\\xea\\x4f\\x7c\\x31\\x0c\\x7b\\xc2\\xb0\\x2d\\x0c\\x2b\\xc3\\x30\\x97\\xc2\\x34\\x86\\xa1\\x38\\x0c\\xc1\\x30\\x98\\xc3\\xb0\\xe0\\x3b\\x0a\\xb7\\x96\\xbe\\x9e\\x47\\x5f\\x64\\x9d\\x91\\x0a\\x8a\\xa7\\x69\\xe1\\x15\\xf4\\x2d\\x2e\\x59\\x44\\xb1\\x1b\\xc2\\xf0\\xf7\\x30\\x1c\\x0d\\xc3\\xbb\\xda\\x07\\xb6\\x52\\x24\\x2b\\xb4\\x6f\\xd4\\x87\\x81\\xd8\\xd2\\xe2\\x1a\\xba\\xe1\\x18\\xdf\\xa9\\x30\\x7c\\x10\\x86\\xfd\\x61\\xe8\\xa6\\x25\\x56\\x87\\xa1\\x33\\x0c\\x6d\\x9a\\x33\\xf3\\x0c\\x05\\x38\\x4c\\xeb\\x8c\\x91\\x49\\x03\\xd7\\x52\\xb3\\x1c\\x06\\x61\\x14\\xd3\\x5c\\x39\\x85\\xc1\\x00\\x77\\x84\\x61\\x69\\x18\\x3a\\xc2\\x50\\x47\\x3f\\x80\\xc2\\xf9\\x5b\\x5d\\x3b\\x2e\\x65\\xab\\x37\\xf4\\xd9\\xe0\\xd6\\xef\\xd6\\xb5\\xf6\\x4b\\x75\\x94\\x9c\\xd2\\x3a\\x7c\\xb8\\xe6\\x69\\xcf\\x5b\\xea\\x5d\\xd4\\xe5\\x3e\\x9c\\x58\\xd6\\x15\\xb5\\xd5\\x09\\x6a\\x8c\\x9a\\x51\\xd4\\x4d\\x37\\x58\\x3a\\x17\\xe6\\x5d\\x7f\\x12\\xae\\x68\\x93\\x47\\xd4\\xfc\\xea\\xc6\\x39\\x72\\x49\\x06\\xd3\\x30\\xbc\\x85\\xe7\\x4a\\x7d\\xbd\\xef\\xcb\\x9e\\xb3\\x84\\x86\\x61\\x5c\\xeb\\x0f\\xb9\\xd9\\x46\\xe8\\x61\\x00\\x26\\x64\\x1f\\x9d\\x6f\\xf3\\xa4\\x2b\\xf0\\x54\\xb3\\x58\\x4d\\x78\\xa8\\x4d\\x48\\x9b\\x44\\xfb\\xac\\xb0\\xdb\\x0a\\x9b\\xad\\xc4\\xb0\\xd5\\x6a\\x05\\xc9\\x0a\\xca\\x93\\x4e\\x2b\\xc4\\xac\\x70\\xd2\\x0a\\xfb\\xe9\\x93\\x4d\\x56\\xa8\\xb3\\x42\\xb9\\x55\\xe7\\x71\\xbf\\xa1\\x4f\\xac\\xc8\\x25\\x2e\\x77\\xd8\\xab\\x4e\\xb4\\x99\\xd9\\x2a\\x01\\x39\\xcb\\xd9\\x70\\x2f\\x96\\xf9\\x06\\xc1\\xcb\\x52\\x2f\\x1f\\x08\\x44\\xa3\\x25\\x4e\\xa7\\x05\\x15\\x15\\x95\\x58\\x4a\\xca\\x2f\\x1b\\x58\\xda\\x9c\\x19\\xe8\\x2c\\x8a\\x06\\x9c\\x96\\x92\\x74\\x49\\x73\\x26\\x64\\x4f\\x8b\\x46\\xcf\\xe4\\x0c\\x6f\\x14\\xd8\\xc4\\xe4\\x0c\\x62\\x85\\x95\\xe5\\x70\\x75\\x39\\xb4\\x95\\x43\\x63\\x39\\x54\\x97\\x43\\x71\\x39\\x58\\xcb\\xe1\\x5c\\x39\\x9c\\x2a\\x87\\x3f\\x97\\xc3\\x6f\\xcb\\xe1\\xe9\\x72\\x78\\xb8\\x1c\\xee\\x29\\x87\\x15\\xe5\\x30\\x57\\x83\\x0c\\x96\\x03\\x57\\x0e\\xf3\\xcf\\xea\\xe0\\xb6\\x52\\xa0\\x79\\xe5\\x30\\x9c\\x62\\x31\\x68\\xaf\\xba\\x29\\x8a\\xb5\\xe5\\xb0\\x92\\x96\\x9f\\x56\\x0e\\x43\\xcb\\xa1\\xa8\\x1c\\x7c\\xe5\\xf0\\x59\\x39\\xfc\\x46\\x03\\x58\\x57\\x0e\\xb7\\x96\\xc3\\x02\\x0a\\xd0\\x40\\xab\\x82\\xbf\\x61\\x2e\\x87\\x61\\x18\\xcb\\x9f\\xca\\x01\\xf6\\x53\\xc0\\x3d\\xe5\\xb0\\xbe\\x1c\\x3a\\x69\\x35\\x1a\\x28\\x9a\\x6c\\x6d\\x0f\\x97\\x83\\x54\\x7e\\xa0\\x1c\\xf6\\x95\\xc3\\x73\\xe5\\xb0\\x8c\\x7e\\xac\\x81\\x56\\xf3\\x83\\x72\\x52\\x9a\\xc1\\x2f\\xd6\\xd0\\x17\\xad\\xe5\\x50\\x57\\x8e\\xd5\\xac\\x2c\\x89\\x76\\xe8\\x69\\x2f\\x4b\\x9f\\x1d\\xff\\x52\\x9d\\xee\\x47\\x38\\xc8\\x03\\xd1\\x4b\\xa2\\xaa\\xff\\xb3\\x0f\\x99\\xaa\\xae\\x5a\\xca\\xb2\\x6a\\x88\\xb8\\x80\\xff\\xe6\\x2d\\x0c\\x58\\x30\\xee\\x7f\\x99\\x78\\xb1\\xe1\\xfe\\xa5\\xcf\\x0c\\x3b\\xb4\\x41\\x26\\x0b\\xc5\\xe8\\xfa\\xf1\\xd3\\x2c\\xca\\x8f\\xfa\\xa9\\x64\\xc5\\x98\\x0d\\x8b\\x59\\xbc\\x5e\\xac\\x5a\\xa5\\x5f\\x31\\x4a\\x4b\\x6b\\x72\\x37\\xe9\\x9e\\x46\\x8d\\x39\\x53\\x7a\\xae\\x21\\xeb\\x27\\xd5\\x19\\x76\\x49\\xd7\\x59\\x0d\\x58\\xce\\xf0\\x1b\\xfc\\xd1\\x48\\x28\\x80\\x89\\xc5\\xe9\\xb6\\x1a\\xfc\\xa2\\xbf\\x39\\x23\\x8a\\x66\\x91\\x75\\x52\\x7a\\x29\\x8a\\xc2\\xac\\x28\\x78\\x89\\xc9\\x0f\\x2f\\x9f\\x51\\x38\\x10\\x85\\xb5\\x34\\x1a\\xad\\x35\\x8a\\x97\\xcf\\x28\\x54\\x44\\xe1\\x4c\\x14\\x4e\\xd2\\xd0\\x98\\x4e\\xfa\\x34\\x16\\x85\\xfd\\x5a\\xa4\\x8c\\x16\\x1b\\xf8\\x7f\\x5c\\x3e\\x2f\\xe9\\x2f\\xa5\\xa3\\xfe\\xe5\\xea\\x89\\xbb\\x65\\x59\\xfe\\xe2\\xa9\\x76\\x45\\x3f\\x4b\\xa7\\xda\\x76\\x75\\x1f\\x18\\x6e\\x3b\\x89\\xd5\\x5f\\x2b\\xcd\\xb0\\x21\\xb7\\x01\\x19\\x82\\x01\\xb3\\xb3\\x25\\x63\\x16\\x58\\x11\\x0b\\xbb\\xbe\\xa2\\x20\\x9c\\x0a\\xc2\\xdc\\x20\\x34\\x04\\x61\\x68\\x10\\xf0\\xad\\x37\\x08\\x5c\\x10\\x37\\x3d\\x08\\x07\\x74\\xf7\\xe7\\x82\\x70\\x32\\x08\\xcc\\xe1\\x20\\xec\\x0f\\x42\\x67\\x10\\xa4\\x20\\xe0\\x25\\x63\\x17\\xfd\\x91\\x67\\x7f\\xd7\\xc9\\x93\\xfd\\xf8\\xa5\\x75\\xcb\\x17\\xaf\\xdf\\x66\\xf1\\xe2\\xd1\\x13\\xff\\xfd\\xc1\\x87\\xc7\\x4f\\xfc\\x51\\x3e\\x36\\xba\\xf5\\xca\\x11\\x23\\x27\\xb6\\x60\\xfd\\xa3\\xe7\\xec\\xb7\\xe7\\x7f\\xf8\\xe6\\x87\\x6f\\x3e\\x7e\\xf6\\x89\\xbf\\x7e\\xbe\\xe7\\x79\\x55\\xaf\\x95\\x27\\x72\\x71\\xdc\\x26\\x1f\\x8a\\xa1\\x35\\x52\\x4b\\x04\\xd9\\xed\\x6e\\x3f\\xef\\xe6\\xe3\\x09\\x11\\xeb\\x5b\\xa2\\xd3\\x6d\\x77\\xda\\x9b\\x33\\xce\\xb0\\xa9\\xa0\\x35\\x63\\x31\\xf9\\x98\\x20\\xd6\\xb8\\x18\\x01\\x25\\x20\\x9e\\x00\\x21\\x01\\xf8\\x47\\xed\\xe1\\x04\\xb4\\x26\\x60\\x7f\\x02\\xf6\\x25\\x60\\x77\\x02\\x96\\xd1\\x5b\\x29\\x01\\x15\\x89\\x7f\\xa7\\x71\\x5d\\xa2\\xe6\\x92\\xf6\\x54\\x6b\\x4a\\x6d\\x1a\\xeb\\x2b\\xb9\\xd1\\x12\\xc8\\xe0\\xe1\\x86\\xc1\\xc3\\x8b\\x1e\\x3e\\xf0\\xc6\\x27\\x87\\x17\\x5e\\x6f\\xb8\\xaf\\xe7\\xf4\\xbc\\xeb\\xe0\\x47\\x30\\xf7\\x85\\x39\\xcd\\x93\\x66\\xec\\x63\\x6f\\x1b\\xf7\\xd9\\xf7\\xdf\\xc9\\x17\\xc2\\xf5\\x93\\x0f\\x51\\x6e\\xd7\\x15\\xa8\\x97\\x87\\xc2\\xca\\xe2\\x9e\\x5a\\x91\\xb6\\xb3\\x0d\\xb7\\xb3\\x93\\x3d\\x8a\\xc7\\x2e\\x4e\\xbc\\x7d\\x05\\x06\\x97\\xcb\\x86\\x82\\x41\\x5b\\xa2\\x30\\x16\\x89\\x60\\x15\\x3e\\x22\\x78\\x7d\\x3e\\x96\\x6c\\xf2\\xb5\\xb9\\x9c\\x2e\\xd2\\x62\\x54\\x08\\xf1\\x42\\x10\\x0a\\x01\\xff\\xa8\\x3d\\x5c\\x08\\xad\\x85\\xb0\\xbf\\x10\\xf6\\x15\\xc2\\xee\\x42\\x58\\x46\\x6f\\xa5\\x42\\xa8\\x28\\xbc\\x54\\x89\\xcf\\xc5\\xee\\xe5\\x87\\xb1\\x28\\x4d\\x54\\xe2\\xc6\\xa9\\x06\\xa9\\xb4\\xb0\\x6a\\x68\\x4d\\x76\\x14\\xfd\\x35\\x95\\x70\\xeb\\x9c\\x45\\xc5\\x53\\xa3\\x0d\\x6d\\xf3\\xae\\x66\\xee\\x9c\\xd7\\x73\\xfa\\x3e\\xcb\\xd5\\x0f\\xfc\\xf1\\xdd\\x4f\\x3f\\x6e\\x7a\\xff\\xe6\\x59\\xb0\\xbf\\xfb\\xe7\\xa2\\x8b\\x79\\xcf\\xf5\\xfb\\x8b\\x6e\\xd2\\xca\\x0f\\xe7\\x74\\x36\\xff\\xef\\xff\\x7e\\x73\\xde\\x5f\\xa6\\xcd\\x4d\\xf6\\x2a\\xf6\\xf7\\xc8\\x8b\\x96\\x4a\\x02\\xb2\\x5a\\x05\\x03\\xcf\\xf3\\x60\\x67\\x05\\x5e\\xf4\\xf9\\x88\\x79\\xbd\\x72\\xf0\\xd0\\x26\\xe2\\xaa\\x40\\x3e\\xc1\\x57\\xe1\\x6b\\xf5\\x75\\xfa\\x96\\xf9\\xf6\\xf9\\x4e\\xfa\\xce\\xf8\\xcc\\x4e\\xd6\\x8b\\x5b\\xed\\x75\\x5a\\x05\\x87\\xd0\\x9c\\x71\\x88\\x16\\x64\\xec\\x35\\x82\\x91\\x13\\x88\\x27\\x13\\xd7\\x5c\\x6b\\x10\\xb5\\x9b\\x2f\\x2f\\x23\\x2b\\x26\\x89\\x26\\xd1\\xe6\\xda\\x28\\x2c\\xe8\\x63\\xc5\\x9f\\x18\\x29\\x72\\xc3\\x76\\xe8\\xfa\\xe7\\xc6\\x56\\x0f\\xab\\xad\\xdb\\x3d\\x72\\x7b\\xcf\\x1f\\x56\\xad\\x82\\xf5\\xcc\\xdf\\x6f\\x59\\x20\\x3f\\x7b\\x7b\\x4d\\xaa\\xe7\\xed\\xdc\\xc4\\x02\\x34\\xaa\\xf7\\x4b\\xe6\\x0b\\x4c\\x83\\x03\\xd0\\x8d\\x52\\xa3\\xc9\\x68\\x14\\x23\\xe1\\xb0\\x13\\x25\\x45\\xa7\\x18\\x13\\xcb\\x45\\x16\\x21\\x01\\x0f\\x1a\\x6b\\x37\\x20\\xb1\\xb4\\x24\\xe9\\x0c\\xb0\\x81\\x78\\x73\\x26\\x12\\x10\\x58\\x1b\\x5e\\x48\\x59\\x9f\\xb3\\x14\\xf6\\x96\\xc2\\x1d\\xa5\\xb0\\xb4\\x14\\x3a\\x4a\\xa1\\x45\\x73\\xc1\\xe6\\x51\\x5c\\x6e\\x07\\x13\\xf5\\xc1\\x56\\xea\\xb7\\xad\\xf4\\x09\\x21\\x23\\x7e\\x58\\xc8\\x2a\\x65\\xc4\\x94\\xa1\\x38\\x62\\x81\\xf9\\xe2\\xcd\\x57\\x26\\xfe\\xa2\\xbc\\xbe\\x38\\x79\\x43\\xed\\xf4\\xa9\\x93\\xef\\xdb\\x72\\xeb\\xeb\\xdb\\xae\\x7b\\xa1\\x3e\\x1e\\x5d\\x50\\xde\\x34\\x66\\xda\\x3d\\x3f\\x59\\x05\\xa5\\x8f\\x3e\\x9e\\x70\\x03\\x5a\\x9b\\x2c\\x9f\\x70\\x79\\x4d\\x7d\\xd9\\xa0\\x47\\x6e\\x58\\xf3\\x50\\xf4\\x9b\\x25\\xd1\\x54\\x6d\\x65\\x55\\xc3\\x80\\x41\\x0f\\xe0\\xb6\\x26\\x70\\x5b\\x1f\\xe7\\xee\\xc4\\xf3\\x6d\\xb8\\x14\\xb1\\x60\\xf9\\x90\\x65\\x3d\\xfe\\x00\\x67\\xb7\\xd8\\x31\\x13\\x91\\x8c\\x16\\xa7\\x17\\x21\\xd7\\xa4\\x0c\\x7e\\x5f\\x97\\x4d\\x04\\xa1\\xa3\\xa2\\xec\\xce\\x0c\\x57\\xb2\\xaa\\x0e\\x2b\\x8b\\x44\\x5d\\xf4\\xaa\\x71\\x00\\xf0\\xf2\\xbd\\x0f\\xac\\xde\\x72\\xd3\\xb6\\xdf\\xfe\\xb6\\x7a\\x60\\xd5\\x95\\x05\\x5b\\xbc\\xab\\x6e\\x64\\x16\\x8d\\x4e\\x1f\\x39\\x32\\xbf\\xe7\\xa7\\xa3\\xeb\\x85\\xa9\\x62\\x21\\x39\\x89\\xb2\\xf7\\x73\\x6e\\x04\\xdb\\x85\\x39\\xd8\\x63\\xd2\\x75\\x16\\x1e\\x39\\x9d\\x5e\\xde\\x1b\\x08\\xfa\\xbd\\x44\\xe9\\x11\\x0c\\x44\\xc2\\x77\\x63\\x62\\xb0\\x13\\xe6\\x4d\\xb8\\xd9\\xac\\x3e\\x1c\\x6c\\x6d\\x10\\x56\\x04\\xa1\\x15\\xf3\\x2e\\xcc\\xa9\\x2a\\x82\\x20\\x04\\xe1\\x0c\\xe5\\x65\\xfb\\x28\\x1f\\xc3\\x2f\\x62\\x94\\xa7\\xe1\\xdb\\xdd\\x41\\x58\\x16\\x84\\xf2\\x60\\x3e\\xff\\xee\\x87\\x81\\x57\\xf6\\x67\\xf3\\x4a\\x19\\x0d\\x49\\xcc\\xbe\\xa9\\xb5\\xcb\\xa7\\x86\\x72\\x12\\xda\\x62\\xde\\xc4\\xac\\x5b\\xbe\\xd8\\x0e\\x77\\x50\\xce\\x0d\\x37\\xcf\\x96\\x1f\\x98\\x9c\\x6c\\x02\\x91\\x99\\x16\\xa8\\xef\\xb9\\x19\\x73\\x6d\\xe6\\x8d\\x40\\xfd\\xc5\\x17\\xd4\\xf5\\x0a\\xf5\\x7e\\xc9\\x91\\xd3\\x0d\\x1d\\x68\\xbf\\xf4\\x1f\\x46\\xc6\\xec\\x60\\x1c\\x4e\\xc1\\x61\\x34\\xb3\\x0c\\xc7\\x34\\x67\\xac\\x9c\\xd3\\x84\\xc0\\xb7\\x53\\x80\\xd5\\xd4\\xb3\\xda\\xa0\\x79\\x50\\xb3\\x9e\\xd5\\xb5\\x9a\\x5b\\x56\\x79\\x5e\\x7b\\x8a\\x3e\\x9d\\x4b\\x3d\\xb0\\xa7\\xa8\\x07\\xf7\\x00\\xf5\\xb2\\x2a\\x0f\\xdb\\x28\\xe8\\x39\\xfa\\xea\\x98\\x56\\x5e\\x12\\x80\\xa9\\xa0\\xae\\x57\\xc5\\xc5\\xda\\x91\\x2f\\x1f\\xf4\\xe3\\x07\\x24\\x2e\\xd5\\x4b\\x1d\\xd7\\xbc\\xea\\xe9\\x0b\\x2b\\x17\\xa6\\xe1\\x56\\xf9\\xe6\\x7a\\xf8\\x74\\xd9\\x37\\x47\\x97\\x40\\x65\\x83\\x97\\x9d\\x87\\xe7\\x54\\xa8\\xe7\\x7f\\x98\\x10\\xbe\\x7a\\x49\\xdb\\x0d\\xbd\\x5f\\xf2\\xbf\\xc2\\x6d\\xf7\\x12\\x7f\\x0a\\x63\\x74\\xdb\\x8d\\x76\\xd1\\x67\\x41\\xc8\\x2b\\x78\\xe3\\x5e\\xd6\\xcc\\x7a\\xbd\\x4e\\xfc\\x94\\xa5\\x1c\\x9e\\x73\\x3a\\xc1\\x64\\xb6\\x7a\\x78\\x9b\\x2f\\x43\\x5d\\x4a\\xb5\\x3e\\x28\\xf1\\x41\\x90\\xfa\\x4d\\x2f\\x50\\x6f\\xd3\\x51\\x1f\\x1c\\xf4\\xc1\\xab\\x3e\\x78\\x96\\x7a\\x48\\xd7\\xfb\\xe0\\x56\\x1f\\xcc\\xd2\\x80\\xcb\\xa8\\x53\\xca\\xec\\x83\\x85\\x0a\\xf4\\x71\\xac\\xd2\\x1f\\xa4\\xee\\xd6\\xe7\\x28\\xac\\xe2\\x68\\x55\\x60\\xcb\\x29\\x6c\\x16\\xf1\\x31\\x9f\\x0a\\xb9\\x53\\x07\\xa9\\x47\\x1c\\xf3\\x81\\xf3\\x12\\xe0\\xe7\\x74\\xf0\\x4b\\x75\\xf0\\xe5\\xd4\\xf9\\x75\\xf9\\x39\\x9d\\xc3\\x6b\\x85\\x0f\\xa4\\xc6\\xb9\\xd4\\xcb\\x55\\x44\\x1d\\x5d\\xa7\\x7c\\x70\\x40\\xf3\\x83\\xad\\xa1\\x9e\\xde\\x36\\xea\\x35\\x53\\x7c\\xc7\\x02\\x7d\\xbe\\x3e\\xeb\\x1f\\x6b\\xed\\xe3\\x22\\xd3\\x47\\x60\\xfe\\x2b\\xe3\\x50\\x5f\\x11\\xb0\\x8f\\x32\\xd3\\xf1\\x6f\\x5c\\x2a\\xfe\\xec\\xd8\\x6b\\x3e\\x5f\\xfd\\x92\\xaf\\x8e\\x3e\\x24\\xad\\x90\\xa5\\x07\\x76\\xe1\\xd1\\x97\\x97\\xc0\\xe0\\x26\\xf9\\xc0\\xad\\x1f\\xfe\\xf9\\x56\\xf9\\xa5\\x46\\xf8\\xe3\\xb2\\xdf\\x7f\\xc4\\x36\\xf7\\xfc\\x9d\\x09\\x13\\x62\\xb8\\xb8\\x8d\\x71\\xf6\\x7c\\xa3\\x12\\xc8\\xe7\\x8c\\x1f\\xd3\\x06\\xd6\\x40\\xd8\\x6f\\x31\\x6d\\x84\\x51\\xaf\\xd4\\xe8\\xb6\\x1b\\xac\\x36\\x3e\\xe4\\xe1\\xc2\\xde\\xa0\\xc9\\x03\\x46\\x1e\\x2c\\xc1\\xb0\\xe8\\x71\\xb1\\xbc\\xd1\\x6a\\xb7\\x44\\x23\\xf1\\x68\\x6b\\x94\\x71\\x46\\x61\\x25\\x16\\xd5\\x36\\x45\\x77\\x45\\xf7\\x46\\x59\\x89\\x3c\\x3a\\x11\\x3d\\x1d\\xa5\\x0e\\x59\\xe2\\x0d\\xa6\\x0e\\x5c\\x4f\\x66\\x76\\xd3\\x52\\x05\\x82\\x3c\\x8f\\x47\\xd9\\x7a\\xfc\\x7c\\x8d\\x14\\x19\\x39\\xba\\x29\\x1e\\x25\\x85\\xd6\\x44\\x37\\x47\\xf7\\x47\\x0d\\x12\\x75\\xdf\\x12\\xe7\\x2d\\x4f\\x1d\\xc4\\xc3\\x47\\x28\\x8e\\xe2\\xc1\\xd5\\x8a\\xa3\\xb8\\xa4\\xe4\\xb2\\xa6\\x18\\x8d\\x99\\x36\\xb3\\x76\\x77\\x90\\xf5\\xfa\\x30\\x87\\xf2\\x84\\x6c\\x3c\\x87\\x87\\x47\\xe4\\x0c\\x56\\x36\\x0c\\x61\\xcc\\xff\\xc1\\xa9\\xdf\\x7e\\xa4\\x06\\xba\\x82\\xb2\\xed\\xab\\x6c\\xce\\xf2\\x32\\xf2\\x63\\x8e\\x16\\xc9\\x40\\x3c\\xbb\\x2a\\xfb\\xcf\\xd9\\xad\\x48\\xa6\\x01\\xa3\\xbf\\x46\\xef\\xd4\\x4d\\x1b\\x55\\x87\\x6f\\x0c\\xbe\\x5b\\xb0\\xee\\x3f\\xdb\\x41\\x9a\\x22\\x7f\\x0f\\xa5\\x33\\x65\\xcb\\x82\\x3d\\x1f\\xb5\\xcb\\xfb\\xdb\\x60\\xa0\\x7c\\x96\\x5d\\x34\\x7a\\x74\\xf8\\xbf\\x8e\\x04\\x47\\x8f\\x16\\xe5\\xdf\\xcb\\xd5\\xe2\\xe8\\xd1\\xfe\\x9e\\x5e\\xfc\\xaf\\x00\\x9d\\xf0\\x38\\xe5\\x3d\\x5e\\xb9\\x91\\xfd\\x12\\xf7\\x71\\x14\\xea\\xa4\\x8f\\x8d\\x26\\x87\\x11\\x3f\\x34\\xd9\\x7d\\xa2\\x68\\x00\\x3b\\xc4\\x90\\xd1\\xc1\\x16\\xb8\\xb1\\x3c\\xe5\\x73\\x47\\x0c\\x26\\x3b\\x0b\\x2c\\xe0\\x69\\x68\\xb1\\xb2\\xac\\xb3\\x8e\\x1a\\x91\\x7a\\x63\\x70\\x82\\x1a\\x7d\\x77\\x51\\xa3\\x6f\\x47\\x0c\\x5a\\x34\\xa3\\x2f\\x7e\\xeb\\x8c\\xc1\\x22\\x0c\\x71\\x9a\\x02\\x65\\x8d\\xc3\\x59\\xd0\\x7f\\x85\\x42\\x79\\x4e\\xfc\\x12\\x8a\\xd5\\xaa\\x53\\x33\\x5f\\x1d\\xd6\\x59\\xad\\x36\\xe7\\x5b\\x51\\x24\\xea\\xce\\x40\\x3a\\xb0\\xdd\\x14\\xa0\\x93\\xbe\\x42\\x31\\xe8\\x9f\\xde\\x2f\\x8d\\x70\\xbb\\x74\\x96\\x28\\xf4\\x9e\\xe7\\x9d\\xd7\\x19\\xae\\xa9\\x25\\x89\\xd8\\x49\\xf9\\x3c\\xce\\x07\\xc4\\x34\\xaf\\x5a\\x6a\\x46\\x31\\xf0\\x07\\xf9\\xc7\\x84\\x0d\\x1e\\x7f\\x9b\\xb0\\x41\\x79\\x83\\xd4\\x79\\xd3\\x84\\x49\\x6d\\x23\\xca\\xa2\\x83\\x8a\\x2f\\xaf\\xbc\\x2c\\xca\\x2e\\xa5\\x54\\xff\\x3d\\x63\\xa1\\x33\\x61\\xe9\\x93\\x0f\\x8c\\xf3\\x9c\\xbd\\xdd\\x5f\\xd4\\x70\\x8d\\xa6\\x9f\\xb3\\x9d\\x78\\x8c\\x3c\\xb0\\x4e\\xea\\x75\\xb9\\x9d\\x4c\\x8c\\x61\\xdc\\x8c\\xd5\\x68\\x52\\x76\\xd5\\xd8\\x4c\\x80\\xac\\xe0\\x04\\xb0\\xf2\\x56\\x10\\xbd\\x56\\x0b\\x63\\xc1\\xcb\\x06\\x5e\\xa6\\x01\\xd9\\x10\\x96\\x3f\\x8c\\x6e\\xb0\\xb2\\x6e\\x24\\x86\\x45\\xb8\\x20\\xc2\\x17\\x22\\x1c\\x14\\xa1\\x5b\\x84\\x3d\\x22\\xcc\\x15\\xa1\\x4d\\x84\\x06\\x11\\x38\\x11\\x96\\x9c\\xa3\\x4f\\x77\\x8b\\xb0\\x55\\x84\\xb5\\xba\\x77\\x5e\\x11\\xf0\\xab\\x0f\\xb4\\xe7\\xb3\\xe8\\xc3\\x30\\xc5\\xf2\\x9c\\x08\\xeb\\xe9\\x93\\x09\\x22\\x0c\\xa5\\xb1\\x56\\x5e\\x8a\\x6b\\xd8\\x29\\x5a\\xe0\\x80\\xf6\\x9d\\xad\\xf9\\x9f\\x3a\\x23\\xc2\\x49\\x11\\x0e\\xd3\\x70\\xad\\x7d\\x1a\\xc0\\x5a\\x1a\\xb4\\xa5\\x80\\x61\\x5c\\x45\\x34\\xa4\\x0b\\x7f\\xf8\\x14\\xfd\\xd2\\x66\\x11\\x18\\x1a\\xd6\\x25\\xb9\\xa0\\x45\\x84\\x3a\\xfa\\x31\\x25\\xec\\x2b\\x6b\\x94\\xe9\\xe8\\x77\\x78\\xff\\x45\\x1c\\x63\\xbf\\x61\\xa1\\xa8\\x6e\\x48\\x76\\x27\\x8b\\x2a\\x90\\xe9\\xe4\\xb1\\x4a\\x45\\x96\\x24\\xa2\\x26\\xd9\\xe9\\x00\\x6a\\xb2\\x85\\x84\\x08\\xea\\x16\\xaf\\x01\\xb0\\x6f\\xd1\\xb0\\xf9\\xde\\x58\\x13\\xf3\\x91\\xdc\\xba\\x6d\\xf8\\xed\\xa1\\xaa\\xa6\\xf0\\x20\\x36\\xe5\\x11\\x76\\x42\\x60\\xf0\\xc5\\x13\\x61\\xef\\x51\\xf9\\x31\\x25\\x5f\\xcc\\xd7\\xcc\\x87\\xfc\\x06\\x94\\x44\\xb3\\xa4\\xaa\\xa0\\x2f\\x6a\\xb4\\x46\\x59\\xce\\x95\\xe4\\x92\\x45\\xa9\\xa0\\xc9\\x68\\x32\\x7e\\x9b\\x71\\x9a\\x62\\xa6\\x0e\\xd3\\x52\\xd3\\x26\\xd3\\x2e\\xd3\\x5e\\x13\\x96\\x04\\x4c\\x26\\x27\\x72\\xba\\xf0\\x0b\\x84\\x0a\\xbf\\xcd\\x20\\xba\\x87\\x34\\x2f\\xa1\\x81\\x2e\\x53\\x84\\x96\\x63\\x81\\x48\\x60\\x58\\x50\\xac\\x1a\\x05\\xf8\\x5a\\x5d\\x0b\\x22\\x91\\x12\\x49\\x5a\\x08\\xb1\\x00\\xf0\\xd5\\x87\\x9f\\x30\\xad\\xdb\\x1e\\xbf\\x6e\\xd9\\xbc\\xe5\\x8f\\xec\\xbc\\x77\\xd4\\x98\\xda\\x25\\xb3\\xdb\\xaf\\xaf\\x1d\\x33\\x4a\\xfe\\x7a\\xc7\\xfd\\x90\\x5e\\x78\\x3d\\x37\\x95\\xbd\\xe6\\x06\\x28\\xde\\xf0\\xd0\\xf4\\x19\\xd3\\xe5\\x97\\xdb\\xef\\xf3\\xb0\\xe2\\x3d\\x57\\xcb\\x2f\\x4e\\xcb\\x4c\\xc7\\x6d\\xd8\\x21\\x37\\x02\\xb1\\x7b\\xb2\\x50\\x2c\\xfd\\x17\\x4b\\x72\\xf1\\x90\\xe0\\x44\\x89\\x07\\x3c\\x0f\\xe2\\x3c\\x78\\x79\\xc0\\x4f\\xce\\xf1\\x70\\x8a\\x87\\xf5\\x3c\\xac\\xe0\\xa1\\x93\\x87\\x56\\x1e\\x1a\\x78\\x18\\xca\\x43\\x91\\x06\\xb0\\xe8\\x18\\x0f\\x07\\x79\\xe8\\xe6\\x61\\x0f\\x0f\\x9b\\x79\\x3c\\xc6\\x3c\\x2c\\xd3\\x60\\x7b\\x79\\x38\\xc9\\xc3\\x61\\x1e\\xf6\\xf3\\xb0\\x8f\\x87\\xdd\\x14\\x42\\x01\\x88\\xe1\\xaf\\xf1\\x70\\x86\\x02\\x64\\x5f\\xb5\\x68\\x1f\\x17\\xe8\\xdb\\xe1\\x59\\x44\\xb8\\x56\\xa7\\x79\\xd8\\xab\\x2b\\x8f\\x9f\\x3b\\x2f\\xc1\\x5b\\xc7\\x43\\x39\\x45\\x8d\\x5f\\x99\\xfa\\xa5\\x97\\xfe\\x36\\x3c\\x2a\\x6f\\x3a\\xfa\\xe1\\x1a\\x74\\xa1\\xac\\xcb\\x26\\x26\\xc2\\x23\\xb3\\x63\\x93\\xdc\\x68\\x1c\\xfb\\xfd\\xab\\xb8\\xff\\x5a\\x31\\x0d\\xfc\\x4d\\xa3\\x01\\x37\\xb2\\x9b\\xf9\\x40\\x84\\x67\\xe3\\x28\\x5e\\x94\\xb2\\x84\\x23\\xe1\\x08\\x1e\\xea\\x70\\x2c\\xdc\\x11\\x5e\\x1a\\xde\\x14\\xde\\x15\\xde\\x1b\\xc6\\x34\\x10\\x0e\\x7b\\x91\\xd7\\xfd\\x6d\\x06\\xcb\\x4d\\xcc\\xbf\\xa7\\x01\\x7f\\x36\\x6e\\xb3\\x8a\\xda\\x89\\x49\\xe2\\xb5\\xcb\\x08\\x15\\x14\\x97\\x41\\x15\\x51\\x5f\\xf1\\xe8\\xfb\\xb1\\x34\\x4e\\xa8\\x21\\xd9\\x8a\\x47\\xfe\\xfa\\xf6\\xd9\\x4b\\xf0\\xc8\\xdf\\xbb\\xf3\\x91\\xe5\\xf3\\x96\\xcf\\x7b\\xe2\\x41\\xf9\\xeb\\xe9\\x99\\x69\\xd0\\x7c\\xf5\\x3d\\x22\\xeb\\xb9\\xf7\\x2a\\x18\\x8f\\x29\\xe0\\xa1\\x0d\\xf2\\x47\\x37\\x5c\\xc3\\x4e\\xe5\\x16\\x2f\\x90\\x8f\\xde\\xbf\\x83\\xd0\\xb1\\x00\\x9f\\x72\\x11\\xf6\\x6a\\xbc\\x3e\\x57\\x48\\x7e\\xb3\\xc5\\x1f\\xb0\\x04\\x22\\x51\\xe4\\x7d\\x3e\\x83\\x2c\\x0e\\xc9\\xef\\x70\\x18\\x9e\\xcf\\x38\\x94\\x5c\\x3c\\x24\\x4a\\x78\\x48\\x9e\\x55\\xa0\\xb0\\x58\\x51\\x5b\\x8c\\x49\\xb2\\xa3\\xd9\\xa7\\x66\\x2e\\xa8\\x74\\x30\\xcc\\x0f\\xc3\\x57\\x8d\\x9f\\x36\\x25\\x31\\x76\\xb4\\x7d\\x83\\xb3\\xfe\\xa6\\xd9\\xc3\\x6e\\x9e\\xda\\x3c\\x2d\\x56\\x5f\\xef\\xdc\\xec\\x6d\\xb8\\x11\\x3e\\xad\\x1d\\xd5\\x34\\x78\\xe9\\x7f\\x3c\\xf8\\x50\\x5b\\xf5\\x98\\x31\\x43\\x6e\\xbc\\x63\\xfb\\x76\\x72\\x40\\x75\\x6f\\xf6\\x5c\\x69\\xc1\\x80\\x58\\xaa\\x4b\\xbf\\x20\\x5f\\x07\\xe7\\xd9\\x37\\x49\\xae\\x44\\x18\\x86\\x57\\x36\\xbb\\x9d\\x61\\xd9\\x5c\\xae\\x44\\x81\\x63\\xc1\\xc6\\x86\\x5d\\x60\\xa5\\x89\\x0d\\x4f\\xb9\\xe0\\x03\\x17\\x1c\\x70\\xc1\\x56\\x17\\xcc\\x72\\x41\\x83\\x0b\\x86\\xba\\xa0\\xc8\\x05\\x5e\\x17\\x70\\x2e\\x58\\xb4\\xd3\\x05\\x6b\\x5d\\xb0\\xc2\\x05\\x73\\x5d\\xd0\\x46\\x5f\\x1f\\xa3\\xd0\\xdd\\xb4\\x00\\x7e\\x35\\xc1\\x05\\x61\\x0a\\x7a\\x4e\\x43\\xb4\\xde\\x05\\xab\\x35\\xe0\\xa1\\xf4\\x55\\xed\\x17\\xb4\\xd8\\x41\\x5a\\x6c\\x0f\\x2d\\x59\\x46\\x8b\\x59\\x69\\x31\\x25\\xf3\\xe2\\x01\\xed\\xad\\xa4\\xab\\xc2\\x39\\x5a\\x41\\xa5\\xc8\\x1a\\x17\\x30\\xd9\\xc4\\x8c\\x31\\x17\\x38\\x5d\\x39\\x71\\xaf\\x5f\\x93\\xdf\\x25\\x84\\xdc\\xff\\x0a\\x57\\xde\\x3e\\xa7\\x9f\\xe4\\x8c\\x95\\x9e\\x84\\x47\\xf3\\x89\\x60\\x75\\x13\\xc2\\x37\\xce\\x96\\x8f\\x68\\xc9\\x19\\x19\\x74\\xf1\\x3a\\x7e\\x66\\x36\\x77\\x11\\x83\\x48\\xc2\\xf4\\x5d\\xfc\\x48\\x14\\x42\\x09\\xd4\\x2e\\x55\\x04\\x04\\x8e\\xb3\\x17\\xb0\\x3c\\x8f\\x4c\\x5e\\x8f\\x07\\x85\\x4d\\x26\\x54\\x98\\x8c\\xf9\\x05\\x7f\\x4b\\xc6\\x6b\\x17\\x0a\\x42\\x58\\x49\\x9e\\x94\\x31\\xb0\\x02\\xfe\\xc3\\x39\\x59\\x4e\\xc4\\x93\\x85\\x66\\x4f\\x74\\xe5\\x65\\x4e\\xec\\x63\\x5f\\xd4\\x98\\x9b\\x03\\x8c\\x62\\xb2\\xaa\\x88\\x04\\x55\\xd4\\x82\\x96\\x55\\x10\\x6b\\xc8\\x43\\x6a\\x00\\xd3\\xb6\\xcb\\x01\\xec\\xae\\x81\\xf7\\x8f\\x9f\\x2d\\x07\\x56\\x1e\\x7b\\x90\\x99\\x7d\\xd7\\xa2\\xa6\\xea\\xca\\x11\\x0f\\x2c\\xed\\x39\\xde\\x79\\xed\\xec\\x05\\x60\\x88\\x17\\xf3\\xaf\\xbd\\xe6\\x81\\x0f\\x77\\x7c\\x72\\xd3\\x73\\x7b\\x2d\\xa2\\xfc\\x8f\\xa7\\x12\\xe6\\x1e\\x47\\x14\\x66\\x3c\\xb5\\xd7\\xcf\\x7c\\xee\\xf9\\xbd\\x62\\x17\\x9f\\x8c\\xdb\\xb3\\x9f\\x9f\\x88\\x52\\x68\\x9e\\x54\\x19\\x8f\\x16\\x86\\xcd\\x36\\x47\\xa1\\xa1\\xc0\\x80\\x1c\\x58\\x3e\\x42\\xd6\\xb0\\xc3\\x81\\x8a\\xd3\\xe6\\x58\\x41\\xec\\xc6\\x8c\\xad\\xa0\\xc0\\xc5\\xb8\\x82\\x37\\x66\\x7c\\x2e\\x23\\x9b\\x62\\x98\\xd4\\xcd\\x19\\x26\\x97\\x7e\\x48\\x8b\\x13\\xa9\\xcc\\xd7\\x92\\x5d\\x6a\\x46\\x3a\\x37\\x0d\\xb0\\xd1\\xb6\\x9f\\x53\\xed\\x3e\\x59\\x55\\xa9\\xb9\\x2a\\x95\\x40\\x6b\\xd1\\xeb\\xc7\\x7a\\x34\\xdd\\x18\\xcd\\xee\\xbf\\xb8\\x7d\\xec\\xa6\\x84\\xff\\xc9\\x19\\x57\\x7c\\xf5\\xe5\\x88\\xdb\\xee\\x98\\x5e\\x36\\xbd\\xfd\\xa5\\xd0\\x85\\xaf\\x1d\\xd5\\x45\\x27\\x4e\\xac\\x1e\\x75\\xcb\\x8f\\x06\\xcd\\x19\\x7a\\xed\\xf6\\x7b\\x9e\\x79\\xd9\\x11\\x95\\xdf\\xff\\x4d\\xd5\\x0f\\xf7\\x6c\\xbf\\x36\\x23\\xb5\\xad\\x18\\xa4\\xd8\\x98\\xd0\\xf7\\xec\\x0b\\x5c\\x1b\\x9e\\xb3\\x69\\x12\\x51\\x11\\x33\\xa7\\xfc\\x66\\xff\\x80\\x12\\x54\\x02\\x5e\\x96\\x29\\xc4\\x53\\x97\\x39\\xcc\\x9c\\x61\\xb0\\xe2\\xc5\\x08\\x92\\x10\\x79\\x3e\\x43\\x92\\x69\\x11\\xb2\\x78\\x8f\\x70\\x18\\xa0\\x9b\\x73\\xb2\\x73\\x98\\xba\\x4f\\xd3\\x24\\x43\\x5c\\x4d\\xba\\xc6\\x4f\\x4d\\x43\\xd4\\xad\\x6a\\xf4\\x1b\\x41\\x33\\xf3\\xe1\\xc6\\x30\\x27\\xae\\xba\\xfd\\x96\\xeb\\x16\\xcc\\x9d\\x77\\xc5\\x15\\xf3\\xe6\\x5f\\xbb\\x60\\xe5\\xca\\x05\\x0b\\xe6\\xcd\\x1f\\x33\\x66\\xfe\\x5c\\xf9\\xe5\\x85\\x5b\\x1f\\x5c\\xb0\\x60\\xfb\\x36\\xe8\\xc4\\xb7\\xf3\\xae\\xbb\\x76\\xd5\\xea\\xb9\\x0b\\xe6\\x2f\\x6a\\x6c\\x5c\\x30\\x77\\xd1\\x75\\xb7\\xdc\\x3c\\xff\\xba\\x79\\x4c\\xd7\\xf6\\x05\\x0b\\x1e\\xdc\\xba\\x70\\xe1\\x36\\x32\\x1e\\x0c\\x1e\\x0f\\x19\\xd3\\x57\\x21\\x5a\\x27\\xa5\\x0d\\x56\\xae\\xd0\\xe1\\xb6\\x09\\x6e\\xd6\\x1b\\x0b\\x87\\xa3\\x09\\x2f\\x17\\x0c\\x16\\x5a\\xd9\\x64\\x91\\xb3\\x20\\x51\\xd0\\x81\\xc5\\xf0\\x68\\xa8\\x23\\x23\\x50\\x39\\xbd\\xc8\\x6c\\x6b\\x8a\\x4a\\x36\\x3e\\x21\\x99\\xed\\x4d\\x89\\x04\\xf8\\xbd\\x41\\x7f\\xb0\\x23\\xe3\\x77\\x13\\x11\\xbd\\x10\\x0a\\x3b\\xb0\\x88\\xce\\xe6\\x44\\x74\\x75\\x23\\x52\\xa0\\xbc\\xac\\xb2\\x32\\xf4\\x5e\\xd9\\x10\\x25\\x35\\x83\\xb6\\x9f\\x95\\x10\\xa0\\xf2\\x4f\\x4e\\x32\\xd7\\x64\\x3e\\x3c\\x42\\xc4\\xda\\xa1\\xb8\\x64\\xaa\\x12\\xf4\\x4f\\x25\\x30\\xf0\\xcf\\x65\\x7f\\xf8\\x60\\x09\\x8c\\x99\\x26\\xf7\\xfe\\xe5\\xdc\\xb9\\x73\\x9b\\x7a\\x7e\\xb3\\x51\\xee\\x05\\x90\\x7b\\xff\\x2e\\x9f\\xe7\\x2e\\x10\\xc9\\xef\\x14\\x53\\x40\\x24\\xbf\\x9e\\x87\\xe6\\xdd\\x37\\xef\\x7d\\x62\\x76\\x7a\\x1f\\xff\\x60\\xe6\\xe2\\x16\\x93\\x75\\x76\\x00\\x59\\x67\\x91\\x11\\xaa\\xa5\\x63\\xac\\xd1\\x88\\x38\\xce\\x64\\xe6\\x11\\x8f\\x80\\x8b\\x00\\x92\\xcc\\x50\\x61\\x86\\xb8\\x19\\xbc\\x66\\xe0\\xcc\\x70\\xce\\x0c\\xa7\\xcc\\xb0\\xde\\x0c\\x2b\\xcc\\xd0\\x69\\x86\\x56\\x33\\x34\\x98\\x61\\xa8\\x19\\x8a\\x34\\x80\\x45\\xc7\\xcc\\x70\\xd0\\x0c\\xdd\\x66\\xd8\\x63\\x86\\xcd\\x66\\xbc\\xe2\\x9a\\x61\\x99\\x06\\xdb\\x6b\\x86\\x93\\x66\\x38\\x6c\\x86\\xfd\\x66\\xd8\\x67\\x86\\xdd\\x14\\x42\\x01\\x88\\x99\\x01\\x99\\xe1\\x0c\\x05\\xc8\\xbe\\x6a\\xd1\\x3e\\x2e\\xd0\\xb7\\xc3\\xb3\\x88\\x70\\xad\\x4e\\x9b\\x61\\xaf\\xae\\x3c\\x7e\\xee\\xbc\\x04\\x6f\\x9d\\x19\\xca\\x29\\x6a\\xfc\\xea\\xff\\xde\\x8a\\xab\\x30\\x11\\x7d\\xe0\\x5d\\xa5\\x8b\\x25\\xab\\xef\\xc6\\x8d\\x1b\\xd9\\x04\\x73\\x7d\\xcf\\xd6\\x0b\\x29\\x66\\x49\\xcf\\x4f\\xe8\\x7c\\xb8\\xab\\x17\\xd8\\xdb\\xf9\\x25\\x68\\x18\\x6a\\x44\\x1b\\xa5\\xd6\\x86\\x6a\\x09\\x85\\x46\\x0e\\x2f\\x8b\\x3a\\x51\\x14\\x13\\x43\\x51\\x32\\x59\\x69\\x32\\x1a\\xfd\\xc3\\x2b\\x25\\x7f\\xa5\\xbf\\x69\\xac\\xa9\\x0c\\x2c\\x23\\x61\\x5e\\x03\\x4c\\x69\\x00\\xd6\\xee\\x04\\x2b\\xe7\\x6c\\x18\\x59\\xc6\\xc5\\xd9\\xf8\\x80\\xe6\\x4c\\x72\\x4d\\x1c\\x9c\\xf1\\xf2\\x78\\x5d\\x1c\\x4f\\x9f\\xb8\\x62\\xf9\\x43\\xe5\\xc4\\x7a\\x44\\x53\\x7c\\x54\\x66\\xd3\\x31\\x52\\x5e\\x9d\\xbf\\xc9\\x2d\\xcb\\x0b\\xf4\\xdc\\xe0\\x12\\xa3\\x5f\\x39\\x28\\x59\\x54\\xfb\\xb5\\xfd\\xb1\\x4a\\xd2\\x04\\x96\\x64\\x53\\x25\\x81\\x4d\\x05\\xe0\\x1f\\x05\\xec\\xf4\\xb7\\x5e\\xa6\\xf6\\xc0\\xf4\\x0d\\x35\\x93\\x66\\x4c\\x99\\xdc\\xb9\\x68\\x6e\\xcd\\x8a\\x79\\xed\\x53\\x75\\x56\\xc1\\xd6\\xe9\\x8f\\x5d\\xd3\\x50\\x74\\xf3\\xe2\\xab\\x66\\x3f\\x99\\x9e\\x70\\x95\\x34\\x73\\xc0\\xc4\\xab\\xeb\\xa7\\x96\\x6e\\xdc\\x99\\x70\\x03\\xbf\\x36\\x5d\\x31\\xe1\\xf2\\xda\\xab\\xca\\x86\\x0c\\x9b\\x7d\\xd3\\x84\\xb9\\x9b\\x0b\\x2a\\xef\\x99\\x95\\xb5\\x16\\x0e\\x9f\\x96\\x1a\\x33\\xf2\\xca\\xf6\\xba\\x25\\x8f\\xc4\\x47\\x6c\\x85\\x97\\xca\\xa4\\xea\\x52\\xd3\\x94\\xf2\\xd2\\x86\\x11\\x43\\x6d\\x73\\x14\\xbb\\x7d\\x15\\xb7\\x90\\xb9\\x89\\x9f\\x49\\x7c\\x11\\xf0\\x27\\xa9\\xd7\\xcc\\x8a\\x4e\\xd6\\x19\\x08\\x1a\\xdc\\x36\\xf7\\xe6\\x0c\\x32\\xdb\\xc0\\x6c\\xbb\\x35\\x08\\x0b\\x82\\x30\\x2e\\x08\\xc1\\x20\\xd8\\x83\\xf0\\x43\\x10\\xbe\\x08\\xc2\\xb1\\x20\\x1c\\x0c\\xc2\\xaf\\x83\\xf0\\x7c\\x10\\x1e\\x0d\\xc2\\xfa\\x20\\xac\\x0e\\xc2\\xa2\\x20\\xcc\\x09\\xc2\\x95\\x41\\x18\\x49\\xed\\x75\\xb1\\x20\\x98\\x83\\x30\\xff\\x82\\x56\\xe0\\x90\\x56\\x60\\xa7\\x56\\x60\\xb1\\x56\\xa0\\x2e\\x08\\x65\\xf4\\x03\\xd6\\x20\\x5c\\xd0\\x7d\\xe0\\xd9\\x20\\x3c\\x1c\\x84\\x75\\x1a\\xf6\\x59\\x14\\x78\\x78\\x10\\x4a\\x82\\x10\\xd6\\x80\\xbf\\x0a\\xc2\\xf1\\x20\\xbc\\x1b\\x84\\xd7\\x34\\xf8\\x6c\\x6d\\x32\\xb4\\xde\\xc3\\x29\\x72\\x05\\x7e\\x58\\x4f\\x10\\x08\\xfa\\x83\\x14\\xfc\\x39\\xea\\x2b\\xd9\\x44\\xc1\\x6b\\x31\\x94\\xd4\\x42\\xe1\\x9c\\xda\\xe7\\x31\\xc8\\x5e\\x1d\\x88\\x52\\x83\\x09\\x0a\\x2c\\x6d\\x5f\\xb6\\xa2\\x6f\\x50\\x48\\x66\\x73\\x10\\x3a\\x82\\xd0\\x42\\x1b\\x84\\x82\\xda\\x84\\xe9\\xbb\\xf0\\xf7\\xb5\\xe1\\xf4\\xb5\\xe0\\xfc\\x1b\\x83\\x4f\\xbf\\xf6\\x21\\x75\\x5a\\x61\\xf9\\xa0\\xb2\\xef\\x86\\x57\\x5d\\xf2\\x9d\\x84\\x3e\\xb3\\x93\\x5c\\x31\\x6e\\x5c\\xc5\\xe0\\xc6\\x46\\xf9\\x8e\\x8a\\x71\\x4d\\x83\\xf1\\x0f\\x6e\\xe1\\xd8\\x21\\x43\\xc6\\x34\\x54\\x0e\\x19\\x3b\\xbe\\xbc\\x62\\xec\\xd8\\x8a\\x21\\x63\\x69\\x4c\\xd0\\x8c\\xde\\x2f\\xf9\\xd7\\xf9\\xc9\\xc8\\x89\\x4a\\xd1\\xe5\\x68\\xa9\\x34\\x2a\\xe1\\x09\\x0e\\xf0\\x0c\\x40\\x35\\xa6\\x72\\x64\\x42\\x23\\x6a\\x7d\\x05\\xef\\x64\\x70\\x43\\x6d\\x86\\xa0\\x6f\\x80\\x20\\x14\\xe1\\x1b\\x9f\\xe0\\x63\\x9c\\x42\\x4c\\x60\\xcc\\x2c\\xfe\\x29\\x70\\x36\\x5b\\xe5\\xbb\\x19\\x9b\\x87\\x2b\\x7b\\x37\\xc3\\x71\\x7d\\x22\\x82\\xa8\\x7d\\x85\\xd4\\xb8\\x32\\x6f\\xa3\\x7a\\x76\\xf9\\xf2\\x0c\\x75\\x17\\x55\\x0e\\xe1\\x48\\x1a\\x4e\\xba\\x3b\\x5f\\xcb\\x25\\x14\\x83\\xdc\\xac\\xaa\\x1c\\x82\\xf5\\x3a\\xa3\\x81\\x2d\\xe4\\x18\\x51\\x49\\xb1\\x43\\xd2\\x77\\x16\\xcd\\x78\\x0d\\x46\\xfe\\xf2\\x35\\x90\\x5e\\xfd\\x4f\\xf9\\x8d\\xd7\\x7f\\x29\\xef\\x7f\\x85\\x39\\xf2\\xbb\\xbf\\x1e\\x7f\\x7f\\xe5\\x36\\x6e\\x8c\\xa7\\x64\\xf2\\xf0\\xbb\\x96\\x2d\\xba\\x73\\xd5\\x38\\x5f\\x23\\x77\\xc7\\x1b\\x8f\\xcb\\xff\\x78\\xfc\\x71\\x10\\x9f\\xd8\\x0d\\xfe\\x27\\x77\\xcb\\x5f\\x30\\x8f\\xfd\\x1a\\x46\\xbf\\xfc\\x8a\\xfc\\xe6\\xaf\\x5f\\x95\\xdf\\xfa\\xd5\\x2b\\x20\\x7d\\xf6\\xc9\\xaf\\x0e\\x1f\\x2d\\x78\\x7f\\x41\\x30\\xf4\\xd0\\xeb\\x4f\\xfd\\xb4\\xf6\\xe6\\x63\\x69\\x0e\\x3d\\x21\\x7f\\xb6\\xe7\\x49\\xf9\\x6f\\xb8\\x5c\\xe4\\x89\\x27\\x20\\xf8\\x14\\x9d\\x4b\\x11\\xd6\\xc0\\x4c\\xc1\\x7d\\x15\\x45\\xc5\\xb8\\xa7\\x2a\\x0b\\x43\\x76\\x97\\xa9\\xb8\\x98\\xb3\\x73\\xe9\\x01\\xc1\\x20\\x72\\x21\\xf1\\x54\\xc6\\x15\\x3b\\x45\\x02\\x5c\\xad\\xd6\\xa2\\x53\\x19\\x23\\x87\\xff\\x1a\\x4d\\xc8\\x0a\\x71\\xeb\\x66\\x2b\\xb3\\xcf\\x0a\\x56\\xb2\\x12\\x5a\\xac\\xce\\x26\\xfc\\xcc\\x64\\x25\\xc1\\xc5\\xef\\xb5\\x13\\xb3\\xd3\\x0d\\x43\\x48\\xc2\\x5c\\x35\\x22\\xaf\\x6f\\x20\\xab\\x2a\\x6c\\x0d\\xa1\\xae\\xdb\\x24\\x09\\x63\\x2d\\xc4\\x7d\\x54\\x97\\x4b\\x35\\x98\\x8d\\x63\\xad\\xc4\\x82\\xd7\\x15\\x73\\x57\\x0c\\xfb\\xb3\\x31\\x34\\x6d\\xd0\\xaf\\x6f\\x7f\\x70\\x54\\x4d\\x69\\xa2\\x2c\\xe4\\x1f\\xbc\\x70\\xca\\xe4\\x61\\xa3\\x2e\\xab\\x2b\\xaf\\xe6\\x27\\xb7\\x4f\\x96\\xf7\\x39\\x07\\x97\\x85\\xa2\\xcf\\x64\\x66\\xb1\\xcc\\x98\\x21\\x43\\xdc\\xf6\\x2b\\x1f\\x16\\x78\\xf9\\xcf\\x0c\\x53\\x33\\x22\\x13\\x56\\x78\\xc6\\x42\\x34\\x9e\\x7d\\x91\\x6d\\x43\\x06\\x64\\x47\\x03\\x25\\x1f\\xc3\\x72\\x2c\\x32\\x5b\\xac\\xac\\x11\\x19\\x1d\\x4e\\xce\\x6a\\xb6\\x9e\\xce\\x30\\x66\\xa4\\x97\\xa4\\x68\\xb6\\x69\\x3c\\x9c\\x58\\x01\\xf7\\x24\\x21\\xa5\\x5c\\x16\\xc2\\xf8\\x6b\\x7f\\xf1\\x8b\\x6b\\xe5\\x97\\x61\\x07\\x8c\\x9f\\xfb\\xf2\\xcb\\x58\\xd6\\x80\\x33\\x30\\x57\\x5e\\x2d\\xaf\\x86\\xb9\\xf5\\xda\\x0f\\x9a\\xbb\\xeb\\x20\\x17\\x63\\xce\\xe0\\xe5\\x34\\x22\\xd9\\x19\\xe0\\xc0\\x60\\xe4\\xb9\\xe7\\x33\\xc0\\xbf\\x84\\x3b\\x48\\xa3\\x1a\\x2d\\x3d\\x29\\x17\\xdb\\x78\\xf1\\x08\\x73\\xa6\\xe7\\x18\\x3c\\xb8\\x19\\xeb\\x1c\\x6a\\x7e\\x50\\xac\\x73\\x08\\xb8\\xee\\x9c\\x8e\\x9e\\x53\\xe8\\x32\\x34\\x0a\\x3d\\x25\\xb5\\xbb\\x0a\\x0b\\xcb\\x62\\x42\\xb2\\x38\\x96\\x8c\\xd5\\x96\\x79\\x3c\\x81\\x80\\xa9\\x16\\x55\\x9a\\x90\\x49\\xaa\\x0b\\x96\\x86\\x4b\\xdf\\xc9\\x14\\xba\\xca\\x5c\\xef\\x64\\xca\\xca\\xc2\\x49\\x4f\\xc0\\x17\\x78\\x27\\x93\\xf2\\xa1\\xb0\\x10\\xc6\\x2d\\x54\\x3d\\x5f\\x1c\\xf2\\xad\\xa1\\xce\\x2f\\xce\\xcd\\x86\\x7d\\x61\\x9f\\x8d\\xb3\\x95\\x63\\x8a\\xe7\\xb8\\x1a\\x4c\\xf1\\x9e\\x4b\\x29\\x7e\\x39\\xb1\\x51\\x50\\xf1\\xd9\\xad\\x6e\\x5b\\xec\\x93\\xeb\\x50\\x37\\x05\\xb2\\x79\\x04\\x15\\xfa\\xaf\\x52\\xe7\\x03\\xb0\\xc9\\x9c\\x7f\\x8c\\x4e\\x68\\xa3\\xc7\\x2f\\x66\\xb7\\x34\\xf6\\x9d\\x0b\\xfc\\xeb\\xda\\x24\\xd0\\x26\\x85\\x6c\\xfe\\x6c\\x70\\xbb\\xfc\\xf4\\xc4\\x36\\x68\\x7f\\x64\\xf7\\xac\\x19\\xef\\x37\\xca\\x9f\\xb7\\xdd\\xe2\\xf1\\xcf\\xef\\xbc\\xfb\\x92\\xd9\\xa0\\xce\\x82\\x5f\\xaa\\xb3\\xa2\\xe7\\x55\\x98\\x2e\\xff\\x53\\xb8\\xfc\\x72\\x81\\xd9\\x2a\\xd4\\xdc\\xb8\\xf0\\xca\\x15\\x11\\xf9\\x84\\x70\\x39\\xd3\\x38\\xb9\\x5e\\x7e\\xa7\\x89\\xb9\\x74\\x66\\x40\\xef\\x69\\x7e\\x19\\xe7\\x36\\xf0\\x6a\\x8e\\x56\\x1e\\x0f\\x20\\x93\\x17\\x6f\\x0e\\x58\\x06\\xe3\\xdc\\x17\\x8e\\x73\\x49\\x7e\\xd9\\x83\\x98\\xbe\\xae\\x66\\xfe\\xc6\\xbc\\x8f\\xc7\\xc8\\x81\\xb5\\x94\\x32\\x49\\x0c\\x98\\x4c\\x6e\\x84\\xc2\\x11\\x9b\\xf8\\x02\\xee\\x55\\x89\\x73\\xbe\\xa0\\x32\\x12\\x22\\xf2\\xea\\xd3\\xd8\\x79\\x68\\xe0\\x30\\xc9\\x49\\x44\\x03\\x05\\xf5\\xf2\\xed\\xd5\\x93\\xb7\\x4c\\x99\\xb2\\xb9\\x6d\\xea\\xe6\\xc9\\x77\\x75\\x43\\x55\\xeb\\x92\\xa5\\x2d\\x93\\x96\\x2e\\xe1\\xc2\\xf8\\x11\\xfe\\xbf\\x6d\\xcb\\xa4\\x6e\\x18\\x77\\xe3\\xb4\\x29\\x2b\\x56\\x4c\\x99\\x76\\xa3\\x42\\xe3\\xd3\\x30\\xb1\\x38\\x69\\xde\\x5c\\x27\\x6a\\x93\\x06\\x99\\x01\\x0c\\x0c\\xc3\\xdb\\x2c\\x4e\\xde\\xc2\\xbb\\x04\\x87\\x13\\xab\\xcd\\xff\\x6f\\x53\\xe8\\x22\\xfd\\x86\\xe5\\x6c\\x50\\x9b\\x3e\\x99\\xae\\x0b\\x0f\\x25\\x73\\xab\\x9a\\x50\\x77\\xdb\\xc5\\xb1\\x4a\\x4a\\xdd\\xcd\\xf0\\xa0\\xbc\\x68\\xb3\\x3c\\x68\\xc3\\x06\\x3c\\x07\\x86\\x31\\x01\\xa6\\x9a\\x6f\\xc4\\x3d\\x52\\x2b\\x45\\x83\\x0e\\x26\\x64\\xf4\\x32\\xde\\x70\\xc4\\x18\\xb4\\xbb\\x5c\\x16\\xcc\\x53\\x3e\\x61\\x00\\xaf\\x9f\\x9f\\x65\\xe0\\x78\\xff\\x09\\x55\\x55\\x2e\\x91\\xa8\\x1a\\xc5\\x6a\\xe9\\xd7\\xaa\\xaa\\xd5\\x4c\\xaa\\x4e\\x48\\x30\\xd5\\x32\\x73\\xe5\\xca\\xd6\\x92\\xcb\\xab\\xaa\\x52\\xa1\\x51\\xcb\\x5b\\xef\\xde\\x30\\xf0\\x9a\\x85\\x4b\\xe0\\x66\\x26\\xb0\\x7c\\xca\\x8a\\xf9\\xcb\\x5a\\xea\\xc7\\xc4\\x56\\xbc\\x19\\x5a\\x32\\xb7\\xe1\\xfa\\x05\\xd3\\x3b\\x88\\x9c\\x3f\\x88\\xb1\\x32\\xb5\\xfc\\x18\\x3c\\x8b\\x6e\\x90\\xc6\\x84\\x0d\\x62\\xdc\\x86\\x50\\x3c\\xe9\\x32\\xf0\\x58\\x2f\\x72\\x09\\x2e\\xe1\\x54\\xa6\\xc5\\xd5\\xe1\\x5a\\xea\\x62\\x6d\\xae\\x88\\x8b\\x31\\xbb\\x5c\\x6c\\x59\\xa8\\x36\\xc4\\x84\\x42\\xc0\\x3a\\x43\\x60\\xe3\\x43\\x05\\x05\\xfe\\x53\\x99\\x82\\x4f\\x58\\x5c\\xf9\\xcf\\x8d\\x60\\x64\\x4f\\x68\\x5b\\x5d\\x73\\xc9\\x9b\\xc8\\xf4\\x68\\x9f\\x33\\xa7\\x6f\\x62\\x2a\\xd5\\xd5\\x5a\\x0e\\xd4\\x70\\xab\\x4b\\xad\\xaa\\xb5\\x2a\\xae\\x48\\x59\\x4c\\xed\\x8e\\x4d\\x37\\x5f\\x67\\x1c\\x1d\\x1f\\x54\\xfd\\x60\\xdd\\x44\\x69\\x54\\xf5\\x90\\xa5\\xc5\\x03\\x43\\xa3\\xe6\\xcd\\x02\\x47\\xcb\\xf4\\xf9\\x57\\x33\\x67\\x17\\xaf\\x0a\\x1c\\x5a\\x1b\\x7a\\xba\\x71\\x02\\xcf\\x4d\\xe1\\xb8\\xfa\\xa6\\x7b\\x22\\x37\\xbf\\x19\\xfa\\xed\\xc4\\x05\\x0e\\xbb\\x62\\xd3\\xdd\\xc2\\xb5\\x33\\x6d\\xda\\xbe\\x07\\x86\\x65\\x79\\x84\\xfa\\xdb\\xf7\\x90\\xb5\\xe3\\x78\\x12\\x22\\x6c\\x79\\x1a\\xa2\\xf2\\x03\\x5c\\x7b\\x02\\x84\\x94\\x7c\\x4e\\xcd\\x1f\\x21\\x4f\\xe4\\x6e\\x21\\xf6\\x7b\\x34\\x55\\x1a\\xc4\\x0b\\x82\\xd5\\x68\\xc2\\xdc\\x5d\\x14\\x43\\xd6\\x90\\x1a\\x31\\x2a\\xfa\\x6c\\x24\\xe2\\x3f\\xe0\\x70\\x1a\\xc3\\xac\\x67\\x72\\xc6\\x8a\\x27\\x8b\\x6f\\x5f\\x4c\\x49\\x68\\xa0\\x04\\xa7\\xf4\\xe3\\xdc\\xcc\\x0b\\x9b\\x4f\\x7b\\xd9\\x44\\x95\\x9b\\xc6\\x1b\\xe6\\x3b\\x3a\\xb1\\xd6\\xb4\\x60\\xd8\\xcc\\x6a\\xbb\\xfc\\x59\\xa0\\x1d\\xee\\x98\\xd8\\xd2\\xd1\\x41\\x9d\\x9d\\x3b\\x67\\xd7\\x0d\\x1e\\xba\\x44\\xde\\x31\\x08\\xb8\\x7f\\x30\\xff\\x08\\xd6\\xf7\\xac\\x98\\x35\\xa5\\x05\\xcb\\x2f\\xf5\\x17\\x5f\\x08\\x8e\\x56\\xea\\x7d\\x95\\x2c\\xb3\\x17\\x68\\xfe\\x8d\\x6a\\x29\\xc8\\x1b\\x0c\\x8c\\x85\\x01\\x0b\\x08\\x2e\\xa3\\xd1\\x6e\\x40\\x78\\x59\\x6b\\xc9\\xd8\\x59\\xc6\\x80\\xca\\x0f\\xe4\\xd4\\x31\\xad\\x76\\xee\\x2c\\x47\\x26\\x7f\\x14\\x59\\x38\\x21\\xb2\\xcf\\xdc\\x7f\\xef\\xfd\\xbf\\xf9\\xec\\x2f\\x87\\xe1\\x7f\\xb8\\xe3\\xe7\\x13\\xfc\\x89\\xf3\\x09\\x36\\x69\\xfc\\xf0\\xd5\\x5f\\x1e\\xa4\\x7b\\x74\\xf7\\x42\\x2f\\x5c\\x60\\x27\\x10\\x59\\x54\\xb2\\xd0\\xdc\\xcc\\x34\\x61\\xa4\\x9a\\xcc\\xb9\\xaf\\x38\\x03\\x53\\xb5\\x03\\x28\\x7a\\x73\\xb9\\x99\\xd1\\x6a\\x79\\x26\\x13\\x43\\xc3\\xf1\\x6a\\xdb\\x20\\x85\\x6c\\x56\\xab\\xc5\\xe8\\x74\\x5a\\x18\\xd6\\xed\\xb1\\xb4\\xda\\x3b\\xed\\x8c\\x5d\\xb2\\x09\\x4d\\x76\\xbb\\x8d\\x2e\\xb4\\xee\\x50\\x93\\x8d\\x67\\x2a\\x88\\x77\\xb7\\x7c\\xce\\x90\\x43\\xe5\\x65\\xc3\\xcb\\xcb\\x96\\x1f\\xca\\xa7\\xb4\\xc2\\x74\\x95\\x42\\x64\\xe9\\x9a\\x4a\\x1a\\x8e\\x0c\\xe1\\x99\\x8d\\x4d\\x75\\xb3\\x47\\x8d\\xa9\\x5c\\xea\\x7f\\x75\\xb3\\x3c\\x33\\x36\\xd3\\x33\\x6d\\x60\\x39\\xff\\xd6\\x92\\xf0\\x86\\xf6\\x45\\x4a\\xbf\\x4d\\x64\\xfc\\x8c\\xc8\\x5f\\x81\\x2c\\xa8\\x44\\xf2\\x20\\x9e\\xb7\\xda\\x0c\\x26\\xa3\\x64\\xfe\\x84\\xc4\\xea\\x9d\\xca\\xb0\\xc7\\x35\\x97\\x7c\\xe8\\xd0\\x90\\xe1\\xd9\\x96\\x69\\x59\\x95\\x6b\\x2a\\x61\\xdd\\xfd\\x72\\xcd\\xfa\\xf5\\x7f\\x9d\\xc9\\xcc\\x77\\x5c\\x71\\x85\\x83\\x19\\x7d\\x59\\xfd\\x3d\\x94\\x27\\x0d\\x67\\x19\\x66\\x21\\x3f\\x89\\xe6\\x9e\\x18\\x2d\\x09\\x2e\\x83\\x0d\\x2f\\xc1\\xfe\\x00\\xeb\\x3d\\x95\\xd9\\xc7\\x02\\x4b\\xda\\xe4\\x22\\xc2\\x03\\x0b\\x26\\x96\\x35\\x4b\\x66\\xc7\\xa9\\x8c\\x39\\xcb\\x28\\x09\\x2b\\x9a\\xf3\\xaf\\x82\\x7e\\x8c\\x43\\x73\\x59\\xf4\\x17\\x6e\\xd8\\x74\\xef\\xc6\\x8d\\xeb\\xef\\xdd\\xb2\\x6f\\x51\\xd5\\xe0\\xc1\\x55\\xd5\\x55\\x5c\\xd9\\xe6\\x87\\xb7\\xff\\x64\\xf3\\xb6\\xad\\x3f\\x39\\xb1\\xf0\\xa6\\x95\\x8b\\x17\\x2b\\x31\\x4c\\x58\\x06\\xd8\\xa6\\xca\\x00\\xa5\\x92\\x97\\x2e\\xff\\x1c\\x83\\x8c\\xc8\\xe1\\x64\\xcc\\x56\\xf3\\xe9\\x0c\\x67\\x45\\x7d\\x6c\\x29\\x7e\\xba\\x39\\x28\\xe9\\x61\\x2b\\x81\\x57\\x2e\\xec\\x36\\xf9\\x65\\x22\\x02\\xc0\\x78\\x79\\x9e\\xfc\\x32\\x11\\x01\\x60\\x3c\\xbc\\x20\\x3f\\x02\\x77\\xc3\\xdd\\xf2\\x23\\xf5\\xda\\x0f\\x62\\x3b\\x9c\\xd6\\x2b\\xf3\\x2b\\xf9\\x2b\\x84\\xb4\\xb1\\x87\\xb9\\x0d\\x21\\xa1\\x18\\xad\\xb6\\x20\\x97\\xd1\\xc4\\xb3\\x89\\x9e\\x7f\\xa0\\xb0\\xe4\\x42\\x50\\x01\\x12\\x6c\\x86\\xdd\\x58\\x86\\xe0\\x59\\x46\\x10\\x51\\x5d\\x55\\x15\\xcc\\xb9\\xac\\x4a\\xb1\\x3d\\xb6\\x20\\xc4\\xff\\x5c\\x2d\\x7f\\x87\\x52\\x9e\\xc5\\xe5\\xd1\\x0a\\x76\\x35\\x2e\\x1f\\x93\\x7c\\x4a\\xf9\\x65\\xb0\\x86\\xe2\\xd8\\x8f\\xb1\\x98\\x14\\x24\\x39\\x1c\\x9d\\xb8\\x0e\\xeb\\xf9\\x31\\xba\\x3a\\xdc\\x54\\xa9\\xd4\\xa1\\x1a\\xe3\\x08\\x4a\\x4e\\xad\\x0e\\xfb\\x81\\x63\\x99\\x81\\xba\\x1a\\x30\\xe8\\x36\\x79\\x06\\x7b\\x0f\\xfb\\xa6\\x9a\\x67\\xb3\\x14\\x53\\xb7\\xc3\\x51\\x58\\x18\\x74\\x17\\x04\\x82\\x05\\x41\\x35\\xc5\\x66\\x90\\xa6\\xd8\\x44\\x11\\xb0\\xb1\\x11\\x2d\\xcd\\xa6\\xa0\\xa5\\xd9\\xd4\\x72\\x22\\x67\\x33\\x6d\\xea\\xa5\\x05\\x7d\\x72\\x64\\x32\\xa4\\x9e\\xca\\xec\\xce\\x25\\x2c\\x1c\\xbb\\x94\\xac\\xba\\x75\\xc0\\x8c\\xe9\\x37\\xcf\\xa6\\x7c\\xf9\\xce\\x8d\\xd3\\xd9\\x37\\xb5\\x44\\x9b\\xf2\\x1c\\xf9\\x77\\x5a\\xa2\\x4d\\xf9\\x68\\x19\\x5c\\x43\\x13\\x6d\\xe2\\xf6\\xd3\\x7c\\x90\\x86\\xe3\\xee\\x62\\xb2\\xd3\\x14\\xf7\\xdd\\x15\\xb0\\x08\\x9a\\x91\\xd8\\xcd\\x78\\xf8\\x62\\xe6\\x95\\xde\\xd7\\xbb\\xbd\\x7e\\xc6\\x94\\x82\\xb2\\x2a\\x84\\xff\\xef\\x07\\x7e\\x25\\xbc\\x8b\\xe1\\x3d\\x92\\x95\\x16\\x98\\xea\\xf1\\xe5\\xa0\\x51\\x0e\\xfe\\xac\\x06\\xcf\\xfc\\x18\\x36\\xea\\xf1\\xcb\\xdd\\x9e\\xfe\\xf0\\x9f\\xc8\\xc2\\x3f\\x86\\xc9\\x45\\x07\\xff\\x6d\\x77\\x78\\x40\\x3f\\xf0\\xcf\\x64\\xeb\\xb3\\x10\\xd6\\x63\\xf8\\xe0\\xcb\\x2c\\x29\\xc0\\xe2\\x12\\xe7\\xbb\\x0b\\x23\\x4a\\x09\\x52\\x44\\x57\\x66\\x77\\xf6\\x1b\\x8f\\xc0\\x3d\\xe8\\x08\\x0a\\xfc\\x27\\xcb\\xa4\\x58\\x52\\xe4\\xbb\\x6e\\x5f\\x84\\x37\\x28\\x45\\xf0\\x70\\xd3\\xb9\\xe1\\x40\\xc8\\xb8\\x0d\\xf3\\xcd\\x24\\xd6\\x03\\x9e\\x95\\x66\\x15\\x47\\x53\\x05\\x16\\x37\\x4a\\xb9\\x53\\x61\\x9b\\xd3\\xe9\\xb0\\x87\\xfd\\x05\\x49\\x9e\\xe3\\x7c\\xfe\\xa4\\x3f\\x3d\\xa0\\x38\\xda\\x99\\x29\\x2e\\x66\\xe2\\xc9\\x82\\x78\\x41\\x47\\x26\\xee\\xb6\\xb9\\x2c\\x24\\x23\\x9d\\xd3\\x02\\x56\\xd6\\x62\\x61\\x82\\x41\\x77\\x67\\x26\\x18\\xee\\xc8\\xf8\\x83\\xee\\x94\\x99\\x31\\xe3\\x57\\x3c\\x38\\x49\\xee\\x57\\x5d\\x3e\\x2b\\x95\\x32\\x88\\x0d\\x33\\xe7\\x6a\\xc8\\xdb\\x2d\\xd2\\x77\\x27\\x8f\\x3b\\x1b\\x49\\xa6\\x59\\x35\\x94\\xdc\\x38\\x7d\\x13\\xf2\\x0d\\xa1\\x09\\xf9\\x48\\x72\\x30\\x56\\xd9\\xa5\\xec\\x02\\xb6\\x76\\x13\\xb7\\x6d\\x56\\x7c\\xd9\\x43\\xef\\x40\\x98\\x66\\xe7\\xfb\\xdb\\xb7\\xbf\\xa5\\xc9\\xf9\\x36\\x74\\xc9\\x95\\x87\\x1e\\x92\\xdb\\x56\\xb1\\x43\\xe5\\x15\\xdc\\x29\\xf7\\xd8\\xbe\\x69\\xfa\\x94\\x1c\\x9c\\x74\\xcf\\xee\\xbb\\xcc\\x4f\\x7b\\x32\\x74\\xcc\\xe7\\xca\\x33\\x49\\xce\\x47\\xdc\\xbf\\xc5\\x74\\x4c\\x56\\xc1\\xbb\\xb8\\x0f\\xad\\x2f\\x43\\x73\\x41\\x19\\x1b\\xa0\\x83\\x47\\xe1\\x68\\x1e\\x43\\x4a\\x4b\\x03\\x54\\xda\\x9b\\xa6\\xd0\\x12\\x44\\xf8\\x62\\x30\\x46\\xe3\\x28\\x98\\x47\\x4b\\x7d\\xe1\\x57\\xc2\\x3a\\x1d\\xfc\\x8d\\x91\\x58\\xbf\\xf0\\x67\\x35\\x78\\x4c\\x7b\\x6d\\x3a\\xf8\\xc2\\x48\\xff\\xf8\\x9f\\xc9\\xe2\\x5f\\x48\\xeb\\xe3\\x27\\xfa\\x09\\x2e\\xc0\\x40\\xb2\\x2c\\xa5\\x94\\x50\\x28\\x89\\x96\\xa1\\xb9\\xd2\\x68\\x9d\\x06\\x2a\\x6d\\x40\\x95\\x94\\x5e\\xb1\\x38\\x54\\x0c\\xaf\\xf4\\x7e\\xd2\\x6d\\x17\\x58\\xd0\\xd1\\x6b\\x5f\\xf8\\x95\\x68\\x8e\\x5a\\x27\\x52\\x60\\xb4\\xcd\\x99\\x83\\xd6\\xe1\\x3f\\xab\\xc1\\x33\\x3f\\x46\\x55\\x7a\\xfc\\x3d\\xdd\\xb6\\xfe\\xf0\\x3f\\x93\\xc5\\xbf\\x10\\xd5\\xd0\\xf9\\xc0\\x90\\x02\\x0c\\x90\\x19\\x17\\x16\\x95\\x12\\x6a\\x2b\\x18\\x54\\xd9\\x7b\\x91\\xbf\\x15\\xd3\\xb6\\x0b\\xc5\\x51\\xab\\x54\\x16\\x74\\xfb\\xc3\\x61\\x8b\\x9b\\xb5\\xb0\\x89\\x42\\x6b\\xc8\\x1f\\xea\\xcc\\x38\\xfc\\x7e\\x97\\xc9\\xe5\\xeb\\xcc\\xb8\\x9c\\x1d\\x19\\x17\\x6b\\xc2\\xf4\\x6d\\xb2\\x74\\x64\\x4c\\xee\\x3e\\xe9\\x46\\xfb\\x3a\\x0e\\x68\\xce\\x7c\\x5d\\xca\\xcb\\x64\\x55\\x25\\x96\\x60\\x94\\x7c\\x98\\x24\\xbd\\x3b\\xcd\\x89\\xc9\\xfc\\x22\\x97\\xfb\\xf2\\xf0\\xb6\\x97\\x5e\\xea\\x62\\xff\\xf9\\xc1\\xe9\\xf1\\x80\\x30\\x6f\\x26\\xa9\\x31\\xf9\\x91\\xba\\x04\\x98\\xd0\\xb3\\x0a\\x7a\\x43\\xe3\\x7a\\xae\\x22\\xf9\\x31\\x65\\xdb\\x2a\\xd9\\x65\\x5a\\x76\\x9a\\xf6\\x13\\xcd\\x2b\\x45\\xf9\\xc6\\x60\\x95\\x6f\\x3c\\xac\\xf6\\xab\\x17\\x77\\x14\\x1f\\x29\\xb1\\xb1\\x79\\xfd\\x4a\\x73\\x3e\\xd1\\x71\\x18\\xa2\\xd2\\xde\\x03\\x0a\\x9f\\xf1\\x53\\x3e\\xb3\\xaf\\x3b\\x10\\xb6\\xb9\\x74\\xfd\\xda\\x17\\x7e\\x25\\x53\\xac\\xf2\\x3d\\x52\\xe0\\x36\\x7f\\x28\\x07\\xad\\xc3\\x7f\\x56\\x83\\xc7\\xb4\\xf7\\x3b\\x1d\\x3c\\xf2\\x87\\xfb\\x85\\x3f\\x91\\x85\\x7f\\x0c\\xde\\xd6\\xd7\\xa7\\xb7\\x3b\\x36\\xb0\\x9f\\xfa\\x3c\\x93\\xad\\xcf\\x42\\x38\\xa4\\xd0\\x2a\\x4b\\x4a\\xb0\\x0c\\x5f\\x1c\\x57\\xe0\\x35\\x5a\\x25\\x7b\\xa6\\x91\\xcc\\x7e\\xc5\\xb5\\xe1\\xf5\\x2a\\x25\\x09\\x26\\x0e\\x8b\\x79\\x88\\xc4\\x2c\\xd8\\xec\\x87\\xcd\\x60\\x26\\x49\\xa6\\x73\\x7b\\x8e\\xe9\\x69\\x25\\x66\\x48\\x9b\\xa1\\xc6\\x0c\\x7e\\x33\\x18\\x99\\x7a\\xf9\\xb5\\x6b\\xa1\\x41\\xfe\\xd5\\x7c\\xa8\\x87\\xc6\\x6b\\xe5\\x5f\\x41\\xc3\\xb5\\xf8\\xd9\\xaf\\xe6\\x41\\x23\\xd4\\xcf\\x27\\xb7\\xf3\\xe4\\x5f\\xc9\\xbf\\x9c\\x47\\xec\\x4b\\x73\\x7b\\xdf\\xe5\\x8f\\xf0\\x4b\\x91\\x1b\\x6b\\x36\\x85\\x68\\x82\\x34\\x20\\xea\\x2b\\x10\\x39\\x4f\\xd8\\xc3\\x84\\xad\\x8c\\x35\\x59\\x14\\x15\\x03\\x71\\x47\\x9c\\xa4\\x7a\\x43\\x02\\xc7\\xb9\\x25\\x87\\x87\\x0b\\x60\\x6a\\x22\\x0a\\xe0\\x7b\\x84\\x9c\\x42\\xef\\xd1\\x60\\x9d\\xbc\\xc4\\xf2\\x24\\x3c\\x07\\x4b\\xc5\\xc5\\x2e\\x21\\x41\\x22\\x61\\x8d\\x3e\\x42\\x54\\x85\\x69\\x63\\x12\\xbc\\x7e\\x20\\x19\\x5f\\x61\\x68\\x1a\\x7c\\xe4\\x40\\x8d\\xe4\\x1b\\xcc\\xab\\x17\\xf7\\x5c\\xbf\\xe5\\x89\\x5f\\x93\\x8c\\x5b\\xdf\\x3f\\xbd\\xe8\\x41\\x18\\x1c\\x63\\x16\\x4f\\x7b\\xf7\\xf5\\xbd\\xcc\\xd1\\x58\\xcf\\x83\\xd3\\xde\\xf9\\xf5\\xde\\xcd\\x7b\\xe1\\x2a\\xa6\\xab\\xe3\\xae\\xb7\\x9f\\x97\\x9f\\x24\\x79\\xb7\\x3a\\xee\\x62\\x3e\\xfc\\xdd\\x2d\\xcc\\xe9\\xed\\x24\\x1d\\xd7\\x6f\\x6e\\xea\\x11\\xb6\\x83\\x5b\\x19\\x17\\x9a\\x63\\x86\\x8e\\xfb\\x30\\x95\\x4e\\x36\\x28\\xf3\\x2f\\x44\\xe7\\xdf\\x5f\\xbb\\xc3\\x05\\x6e\\xa3\\x6e\\x5c\\xfa\\xc2\\xaf\\x64\\x06\\xab\\x74\\x48\\x0a\\xec\\x0f\\x45\\x73\\xd0\\x3a\\xfc\\x67\\x35\\x78\\x4c\\x27\\xef\\xe9\\xe0\\x47\\x85\\x0a\\xfa\\x85\\x7f\\x26\\x8b\\x7f\\x21\\xa5\\x2b\\xca\\xa3\\x42\\x64\\x82\\x0f\\x2b\\x49\\x2a\\x25\\x74\\x3c\\x8a\\xe6\\x90\\xa0\\x75\\x1a\\xa1\\xf2\\xcd\\xb3\\xea\\x37\\x44\\xfc\\x8d\\xbb\\xc4\\x80\\xd9\\x9d\\xfb\\x06\\xe6\\x07\\x65\\x6a\\xde\\x55\\x0f\\x8a\\xa0\\xd9\\x52\\x65\\x10\\xab\\x81\\xbc\\x57\\xe0\\x85\\x68\\x81\\x2d\\xd0\\x99\\xf1\\x04\\xf1\\x82\\xe5\\x89\\x79\\xb0\\x7e\\x6c\\xf3\\xd8\\x3c\\x26\\xb6\\x6f\\x72\\xc8\\xd6\\x02\\x98\\x93\\x9f\\xf0\\x51\\xb3\\x92\\x94\\xf5\\x89\\xe9\\xd6\\xa7\\x80\\x14\\x2b\\x69\\x7e\\xaf\\x64\\x2e\\x87\\x93\\x5b\\xcb\\x09\\x39\\x4c\\xc9\\xf1\\x75\\x37\\x0c\\xba\\x79\\x5b\\xbc\\x68\\xfd\\xed\\xba\\x1c\\x91\\x8f\\x91\\x34\\x5f\\xf0\\x04\\x4d\\xfe\\x45\\x69\\xbc\\xac\\xf7\\x4b\\x4e\\xe2\\x9f\\xc0\\xb3\\x62\\x9e\\x34\\x34\\x55\\x54\\x84\\x58\\x8f\\x0f\\x37\\xc4\\x3e\\x30\\x6a\\xb1\\x47\\xed\\x43\\x2b\\x7d\\x03\\xe3\\x1e\\x89\\x65\\x5d\\x25\\xf1\\x92\\xe6\\x0c\\x4a\\x81\\x83\\x4b\\xc5\\x7d\\x2e\\x43\\x4b\\xc6\\x05\\x16\\x7b\\x73\\xc6\\x22\\xea\\x76\\x99\\xe7\\xb2\\xab\\x86\\x0e\\xb9\\x2f\\x3d\\xe4\\x40\\xdb\\x7f\\x4d\\xfc\\x02\\x34\\xc4\\x83\\x6e\\x26\\xc0\\xaa\\xaa\\x27\\x9b\\x9e\\x49\\xf1\\x24\\x90\\x68\\xa4\\x5a\\xa0\\x39\\xd2\\xd3\\x97\\x31\\x4c\\x70\\x66\\x8b\\xa1\\xb1\\xf9\\xca\\x91\\xf2\\x86\\xc9\\x7f\\x3e\\x06\\xcf\\xda\\xae\\x5b\\x58\\xd3\\x34\\xe3\\xf2\\xe8\\x2f\\x9f\\x68\\x78\\x20\\x5a\\x5f\\x5c\\xd6\\x60\\x19\\x2c\\x8d\\x1a\\x5f\\xda\\x96\\x64\\x5d\\x33\\xd7\\xc7\\x1f\\xfc\\xc9\\xe3\\xa7\\x2e\\x36\\xd5\\x07\\xd8\\xf6\\x0b\\xa7\\xe5\\x9a\\xf1\\x8d\\xc3\\x16\\x8c\\xcb\\x4c\\x99\\x7b\\xf9\\x7d\\xbb\\x42\\xce\\xef\\x37\\x56\\x33\\x53\\x2e\\xbf\\xfc\\xba\\xb1\\x25\\x2b\\x6f\\xa0\\xe3\\x4c\\xf7\\xe2\\xf3\\x9b\\xf0\\x38\\x37\\xa8\\x6b\\xd1\\xcf\\x70\\x9f\\x60\\x1e\\x52\\xec\\x22\\x3c\\xe4\\x4f\\xdd\\xe9\\x52\\x1b\\xa7\\xa3\\xd5\\xbe\\xf0\\x2b\\xd1\\x47\\x18\\x9e\\xf0\\x28\\x52\\xa0\\xb6\\xb8\\x24\\x07\\xad\\xc3\\xbf\\x47\\x83\\xc7\\x6b\\xd1\\x33\\x7a\\xfc\\x5f\\x75\\x17\\xf7\\x87\\xff\\x81\\x2c\\xfc\\x63\\xe8\\x69\\x4c\\x5d\\x59\\xf8\\x2f\\xba\\x2f\\xab\\xed\\x07\\x7e\\x66\\xb6\\x3e\\x0b\\x51\\x17\\xc6\\x4f\\x64\\x39\\x5c\\x80\\x08\\x66\\x67\\xba\\xab\\xca\\x95\\x12\\x59\\x59\\x4e\\x29\\x73\\x30\\xfb\\x8d\\x47\\xd0\\xbe\\xfc\\x32\\xdf\\x76\\x97\\xe4\\x95\\xc1\\xfc\\x09\\x97\\xe1\\x6f\\x25\\xfb\\x9c\\xf0\\x7c\\xb8\\x02\\xad\\x91\\x1a\\x06\\x0e\\xf6\\xb2\\x31\\x9e\\x97\\xa4\\xaa\\x58\\x2c\\x38\\xda\\xce\\x16\\xa7\\x2f\\x4f\\x07\\xd9\\xe0\\x98\\x86\\xe2\\xe2\\xd2\\x82\\xd2\\x64\\x73\\xa6\\xa0\\x1a\\xff\\x2d\\xf0\\x95\\x0a\\xbe\\xcb\\x26\\x65\\x7c\\xbe\\xd1\\x58\\x4d\\x1e\\x3d\\x1a\\xb9\\x5c\\x96\\x49\\x19\\x97\\x0f\\x8d\\x24\\xdb\\xb0\\xf3\\xb7\\x58\\xab\\x24\\xe4\\x1e\\xde\\xd7\\xb6\\x9b\\xcb\\x52\\x90\\x65\\x6a\\xea\\x06\\xec\\x02\\x86\\x44\\x62\\x28\\x1b\\xb0\\xd3\\x5a\\xd2\\xf9\\x3a\\xd0\\x5b\\x76\\xfc\\x64\\x5b\\x2c\\xa6\\xb6\\x91\\x60\\x74\\x30\\x64\\x63\\x2c\\xdd\\xa4\\x5d\\xcc\\x7e\\x7c\\xe8\\x70\\xcf\\xb7\\xcc\\xb0\\x15\\x57\\x5d\\xf6\\xa3\\x01\\x43\\x77\\x37\\xff\\xf8\\xb9\\xaa\\xc7\\xde\\xde\\xbc\\xa5\\x62\\xce\\x8e\\x8d\\xd7\\x34\\x8c\\x9d\\x3d\\x23\\x3d\\x7a\\xef\\xee\\xc7\\xc6\\xcf\\x91\\xd7\\x0f\\x6b\\x1f\\x14\\x4a\\x8c\\x1f\\x3b\\xa6\\x50\\x62\\xc6\\x4b\\x23\\x4f\\x95\\xb3\\x6f\\x1f\\x39\\x3c\\xb9\\x6a\\xc5\\xaa\\x7a\\xb7\\xf5\\xca\\xc2\\xd2\\xba\\x91\\x3f\\x5a\\xb7\\x69\\xc2\\xf5\\x63\\xd3\\x3c\\x7b\\x6f\\x66\\x4a\\xe5\\xca\\xbf\\x14\\x35\\x8e\\xbf\\xb8\\x3b\\x15\\x8a\\x6f\\x98\\x32\\x94\\xe5\\x06\\x4c\\x1b\\x37\\xb5\\x95\\xf9\\xe1\\x3f\\xf6\\xfc\\x74\\x0d\\xe9\\xf7\\x46\\x79\\x26\\xc9\\x0f\\x80\\xfb\\xbd\\x51\\x91\\xf1\\xd0\\xa3\\x8a\\x8c\\x17\\x2a\\x28\\x33\\xa0\\x9c\\x8c\\x47\\xf7\\xb2\\x53\\x1a\\x6b\\xc2\\x70\\x06\\x74\\xc5\\xcd\\x94\\x62\\x0a\\x28\\x05\\x7c\\xda\\x1d\\x2b\\xf4\\xe4\\xaf\\xcb\\xf9\\xf0\\x84\\x26\\x8f\\xa8\\x34\\x49\\x8a\\xdc\\x52\\x90\\xe8\\x17\\x7e\\x8f\\x06\\x8f\\x69\\xf2\\xc7\\x3a\\x78\\x67\\x41\\xff\\xf8\\x67\\x66\\xf1\\x2f\\x44\\x6b\\xf1\\x0b\\xba\\x6e\\x16\\x10\\x82\\xb1\\x0c\\x4a\\x2b\\x25\\x72\\xfc\\xb3\\xf7\\x1c\\xdd\\x17\\x4b\\xea\\xf4\\x4f\\xa5\\x0d\\x8f\\x90\\x36\\x80\\xc5\\x45\\x56\\x80\\x9f\\x77\\x5b\\x1d\\x7d\\x64\\x36\\xb2\\x8f\\x76\\xb2\\x0e\\x7e\\xa5\\x4c\\x6b\\x44\\x0b\\x4c\\xb4\\xd8\\xf5\\xf2\\x5a\\xef\\xc7\\x18\\x76\\x2e\\xad\\x3f\\x85\\x65\\x7e\\xfc\\x7b\\x1d\\xee\\x8b\\xdd\\x96\\xbe\\xb8\\x59\\x0c\\x7f\\x05\\xad\\xbf\\x82\\x7b\\xe1\\x1f\\x10\\x95\\xee\\x70\\x01\\x22\\xdd\\xf5\\x76\\x07\\x3d\\x79\\xd2\\x5d\\xee\\x8c\\xaa\\x97\\x50\\x90\\x5a\\xf6\\x24\\xb3\\x21\\x00\\x5c\\xd0\\x64\\xb2\\xc6\\xe3\\x2e\\x5f\\x28\\x64\\xb5\\x06\\x59\\x17\\x57\\x9c\\x0e\\x80\\xd9\\xc0\\x05\\x89\\xab\\x3e\\x18\\x34\\x7a\\xbd\\xd1\\x96\\x8c\\xcf\\xeb\\xe5\\x1c\\x8e\\x64\\x4b\\xc6\\xe1\\x33\\x1a\\x39\\x8e\\x6d\\xcd\\x70\\x88\\xe4\\xe4\\x50\\x99\\x7b\\x79\\x5d\\x4e\\xec\\x53\\xa8\\xde\\x9f\\x97\\x6b\\x9e\\xd8\\x29\\x09\\x7d\\x7b\\x6a\\x30\\x0b\\xf4\\xf9\\x53\\xa2\\x11\\x79\\xc4\\xec\\x31\\x7f\\xfe\\xe2\\xb4\\x11\\x74\\xfb\\x92\\xfe\\xf6\\x7c\\xa6\\xa3\\x6b\\x33\\x44\\xdf\\x80\\x1a\\xa3\\x72\\x0c\\x56\\x7d\\x2a\\x31\\xb7\\x17\\x9e\\x69\\x9c\\x30\\x4e\\x1a\\xdd\\x34\\xa1\\x91\\x9b\\x33\\xb7\\xbe\\xe0\\xfa\\xf4\\x8c\\xa7\\x6e\\x5b\\x2a\\xcb\\x72\\x30\\x29\\x57\\x7c\\xfd\\x97\\x13\\x5f\\x9a\\xee\\x5b\\xb8\\xb5\\xe7\\x93\\xd7\\xba\\xf6\\xbc\\xf5\\xce\\x53\\x2f\\xe1\\xfe\\xa1\\x7b\\xd0\\x28\\xcf\\x99\\xa4\\xf2\\x9c\\xb3\\xb8\\x07\\xa8\\xcc\\x8f\\xbb\\x94\\x29\\x1a\\x2c\\xe6\\xaf\\xa7\\x4a\\xdf\\x90\\xb1\\x9a\\xac\\xf2\\xcc\\xf5\\x0a\\x4f\\x0b\\x50\\x0a\\x3d\\xd0\\x1d\\x8c\\xa8\\xe4\\xac\\xf0\\xa8\\xbe\\xf0\\x2b\\xd1\\x67\\x2a\\xbd\\x91\\x02\\x33\\x02\\xe1\\x1c\\xb4\\x0e\\xff\\x1e\\x0d\\x3e\\xc7\\x33\\x15\\xfc\\x72\\x77\\xa0\\x3f\\xfc\\x0f\\x64\\xe1\\x1f\\x43\\x7b\\x14\\x9e\\xa9\\xc0\\x9f\\xef\\x8e\\x0f\\xea\\x07\\x7e\\x66\\xb6\\x3e\\x0b\\x29\\xcf\\x27\\xfc\\x2f\\xa0\\xf0\\xbf\\xde\\xee\\x74\\x42\\x29\\x91\\xe5\\x7f\\xd3\\xd0\\x2f\\x38\\x07\\xf7\\x30\\x3d\\xcf\\x36\\x8c\\xc6\\x4b\\x03\\xec\\xc6\\xa0\\xd1\\xe3\\x01\\x06\\x98\\x68\\x64\\x93\\xb0\\x4b\\x60\\x04\\x1f\\xbb\\xc6\\xb2\\x19\\x0b\\x87\\x88\\x03\\x1b\\xcb\\x31\\x12\\x39\\xf7\\x84\\x7d\\x49\\xb5\\x5b\\x7c\\x8c\\x17\\xc6\\x43\\x73\\x84\\x8f\\x0f\\xe9\\x04\\xc6\\xca\\xec\\x79\\x27\\xff\\xe2\\xdc\\x19\\xce\\x71\\xb1\\x09\\x8e\\x0d\\x6b\\x6e\\x1e\\xa6\\xfb\\xcb\\x9c\\xde\\xb4\\xa9\\xe7\\x1d\\xed\\x96\\xf9\\xb3\\xf6\\x0b\\x51\\x3f\\x65\\x63\\x6f\\x17\\xfb\\x0a\\x2b\\x53\\x39\\xa4\\x08\\x2d\\x94\\x2e\\x47\\x2e\\x8b\\x91\\xb3\\x31\\x05\\xfe\\x98\\x8f\\xf3\\x46\\xbd\\x8c\\xdb\\xe3\\x61\\xa2\\x36\\x93\\xd9\\x6c\\x63\\x6c\\xa9\\xe2\\x02\\x5f\\xa8\\xd0\\x59\\xd8\\x92\\x31\\x5a\\x90\\x8b\\xe3\\x3d\\x92\\xd3\\xc7\\x87\\x5a\\x32\\x66\\x5e\\x90\\x8a\\x09\\xcd\\xfe\\x6b\\xd1\\x32\\x1b\\x08\\xe0\\x57\\x29\\xb6\\xa6\\xd8\\xa5\\xee\\xb8\\xca\\x66\\x2b\\x48\\x82\\xe8\\x07\\xba\\xce\\xf3\\x69\\xa0\\x71\\x01\\xfb\\x6f\\xf8\\xf0\\xf8\\xe6\\x8e\\x09\\xb7\\xad\\x5c\\x76\\xf4\\xc4\\xba\\xf6\\x2b\\xd7\\xc0\\x20\\x06\\x38\\x67\\x6d\\xe5\\x95\\x23\\x20\\xc4\\xc8\\x17\\x1c\\xc3\\x2a\\x5a\\xea\\xdb\\x57\\x01\\xfb\\xc3\\x37\\x55\\x4b\\x9e\\x5f\\x75\\xb1\\xe7\\xec\\x90\\x1b\\x98\\xf2\\x91\\xc3\\xe0\\xb6\\xba\\xba\\x27\\xfe\\xba\\x50\\xbe\\x6b\\x44\\xed\\xf3\\x78\\xfc\\xe8\\x9e\\x1b\\x4a\\x4f\\x33\\x54\\xfa\\x7b\\x89\\xd2\\x07\\x04\\x28\\x07\\x78\\x03\\xd3\\x9f\\x51\\xd4\\x8d\\x77\\x5f\\xf8\\x95\\xe0\\x54\\xe8\\x8f\\x16\\x68\\x0b\\x84\\x73\\xd0\\x28\\x07\\xbf\\x47\\x83\\xc7\\xf4\\x77\\x5c\\x07\\xcf\\x07\\x22\\xfd\\xc2\\xcf\\xcc\\xe2\\x5f\\x88\\x3e\\x55\\xf8\\x23\\x43\\x0a\\x30\\x60\\x4a\\x27\\x94\\x12\\x3a\\xf9\\x92\\xc6\\xb2\\xd3\\x3a\\xcd\\x56\\xeb\\x64\\x55\\xbf\\x81\\x59\\x2a\\xfc\\xa8\\x20\\xc1\\x58\\xf3\\xe4\\x4b\\x87\\x3c\\x91\\xab\\x24\\xfb\\xe0\\xf1\\xa8\\x4e\\x90\\xd2\\x71\\xce\\xeb\\x0d\\x86\\x6c\\x41\\x3c\\x84\\x41\\x1a\\xca\\xef\\x0b\\x3b\\x0b\\x5b\\xb1\\xae\\xe9\\x33\\x47\\x5b\\xb1\\x92\\x20\\xb0\\xa8\\x39\\x83\\xf9\\x5e\\x5d\\x6e\\x23\\xec\\x25\\x69\\xa0\\xa9\\x38\\xe9\\xe9\\x9b\\xfe\\x26\\xbb\\x53\\x10\\x94\\x3d\\x9e\\x84\\xcf\\xdc\\x79\\x23\\x6c\\x35\\x8f\\x58\\x75\\xc5\\xe1\\x3f\\x7e\\xfc\\xc1\\x6a\\x65\\xaf\\x20\\xb3\\xe1\\xea\\xcc\\xac\\x69\\x93\\x66\\xcc\\x5c\\xc0\\x57\\x91\\x4c\\x38\\xd7\\x4c\\x2d\\x89\\x9f\\xfe\\xfe\\x8c\\x2c\\x6b\\x3b\\x06\\xd9\\x8a\\x57\\x7f\\x57\\xd6\\x33\\x82\\xe6\\x67\\xc9\\xb6\\x77\\x66\\xb6\\xbd\\x0b\\xd1\\xdb\\x5a\\x1f\\x91\\x45\\x07\\x42\\x83\\xd2\\x4a\\x8b\\xf5\\x7d\\x44\\x6d\\x4e\\x63\\xb2\\x36\\xa7\\xf5\\xf9\\x76\\xb0\\x9e\\x6e\\x8f\\x98\\x67\\xd7\\xa2\\x72\\x0d\\xf7\\xbf\\x59\\xb9\\x66\\x3d\\x7a\\x4e\\x2f\\x6b\\x9d\\xee\\x2e\\x1e\\x90\\x27\\x3b\\x29\\xf8\\xbf\\xc9\\xe2\\xdf\\x01\\x9b\\xf2\\xf1\\xfb\\x0a\\x2e\\xc5\\xcf\\x3f\\x99\\xc5\\xbf\\x83\\xca\\x5a\\x3a\\xfc\\x25\\x83\\xf3\\xf1\\xcb\\x93\\xc9\\xb9\\x31\\x59\\xfc\\x8f\\xb2\\x41\\x0c\\x3f\\x58\\x72\\x31\\x3e\\x29\\x10\\x68\\xf2\\x49\\xa2\\x88\\xff\\x71\\x08\\x4d\\x64\\x33\\xe1\\x4b\\x36\\x1b\\xbd\\x4a\\x66\\x8b\\x05\\x3f\\x35\\x9b\\x9b\\x7c\\xae\\x32\\xfa\\x9f\\xf2\\x6d\\x79\\x32\\xc9\\x19\\x95\\xfd\\xf6\\xa3\\x40\\x12\\x6b\\xd9\\x5f\\x45\\x4c\\x6f\\x77\\x77\\x49\\x49\\x2a\\x95\\xca\\xe9\\xb8\\x65\\x54\\x6f\\x29\\x56\\x75\\x29\\x8f\\xce\\x7e\\xf3\\x7a\\x24\\xa6\\x1a\\x93\\xf4\\x6b\\xfb\\x4c\\x4a\\x87\\x8d\\x2a\\x6f\\xfe\\x42\\xa5\\x43\\xc2\\xfb\\x37\\x44\\x62\\x7d\\x78\\x33\\xc5\\x6f\\xac\\xd2\\xf0\\x63\\xdd\\xeb\\x23\\xd8\\x82\\x4c\\x2f\\x41\\x11\\x5f\\x4c\\x81\\xb2\\x38\\xf7\\x28\\x38\\x05\\x32\\x7f\\x5e\\xca\\x95\\x35\\x1c\\xcb\\x96\\xdd\\x09\\xe7\\x70\\xdd\\xfa\\x2b\\xbb\\x21\\x5b\\x76\\x27\\xda\\xab\\x2b\\x7b\\x36\\x5b\\x76\\x1d\\x2d\\x4b\\xe7\\x0b\\xd1\\xc7\\xe2\\x91\\x7e\\xdb\\xb5\\x47\\x6b\\x17\\xb3\\x0e\\xbd\\xae\\x9b\\x5f\\x0d\\xf1\\x48\\x9f\\x76\\xd1\\xf3\\x4a\\x28\\xfe\\xb4\\x8a\\xbf\\x5d\\xa1\\x85\\x30\\xa5\\x85\\x6f\\xba\\xa3\\x41\\x8f\\x43\\x37\\xb6\\x53\\x70\\x7d\\x8e\\xf3\\x1b\\x85\\x62\\x34\\x96\\xc0\\x9b\\x7a\\xd8\\x8f\\xb0\\x64\\x1c\\x96\\xcc\\xcc\\x60\\xc4\\xa4\\x24\\x3c\\x86\\xaf\\x30\\x7f\\xea\\x4e\\x15\\x1a\\xbd\\xb8\\x50\\x19\\xb1\\x89\\x6a\\xba\\x28\\xb5\\x1b\\xb9\\x0d\\x48\\x89\\xe9\\xd2\\xf2\\x33\\x15\\xa0\\x12\\x74\\xa7\\x34\\x31\\x66\\x44\\x4e\\x37\\x5b\\x54\\xe4\\x0f\\x1b\\xc3\\xa5\\x65\\x05\\x61\\x2c\\x42\\x8b\\x21\\xc1\\x25\\xb4\\x64\\xfc\\x2e\\x92\\x11\\x88\\xec\\x21\\x46\\x96\\x74\\x4b\\xc6\\x86\\x2c\\x82\\x05\\xab\\x93\\x16\\x81\\x2b\\xa4\\x49\\x9b\\xf6\\x95\\xc1\\xee\\x32\\x58\\x56\\x06\\xad\\x65\\x20\\x95\\x41\\x45\\x99\\xba\\x8b\\x44\\xdd\\x13\\x48\\x2d\\xa1\\x39\\x61\\xbb\\x8f\\x17\\x4d\\x3b\\xbf\\xa9\\x4f\\x92\\xa6\\x64\\x55\\x65\\x15\\x51\\x34\\xd5\\x24\\x3a\\x97\\x24\\x6b\\xfa\\xe3\\xc1\\x8f\\xdf\\x5f\\xbc\\xd4\\xf0\\xd1\\x47\\x24\\x5d\\xd3\\x75\\x34\\x61\\x53\\xc7\\xf4\\x2b\\x33\\x93\\x27\\x2a\\x09\\x9b\\xfe\\x7e\\xee\\xcc\\xf7\\xe1\\xc4\\x7d\\x96\\xeb\\xee\\x0c\\xd4\\x1f\\xbb\\xee\\xa2\\x33\\x50\\x0f\\x7f\\xfc\\xc5\\x1b\\xa5\\xcc\\x8b\\xde\\xfd\\x3a\\xdb\\xe1\\x98\\xac\\xad\\x71\\x3d\\xb4\\xe8\\x68\\x35\\x12\\x29\\xe8\\x63\\x6b\\xa4\\x72\\x28\\x9d\\xdf\\x4d\\xea\\xfc\\xbe\\x5f\\x27\\xb7\\xba\\x0b\\xe2\\x7d\\xe4\\x56\\x05\\xff\\x37\\x59\\xfc\\x3b\\x60\\xba\\x0e\\x7f\\x32\\x96\\xee\\x0f\\x3f\\x9d\\xdf\\x4d\\xea\\xfc\\xde\\xa8\\xc3\\xef\\x49\\x94\\xf4\\x8b\\xff\\x58\\x16\\xff\\x4e\\xb8\\x52\\xc5\\x9f\\xc2\\xf8\\xc3\\x91\\xc2\\x7e\\xf1\\x6f\\xc8\\xe2\\xdf\\x99\\xad\\x7f\\x9a\\xe0\\x2f\\x28\\xea\\x8b\\x5f\\x9e\\x4c\\xce\\xac\\xc9\\xe2\\x7f\\x94\\x79\\x41\\x99\\xf3\\xd0\\x7b\\xaa\\xbb\\xb4\\x34\\x18\\x54\\xe7\\x7c\\x23\\xe6\\x0d\\x33\\xd8\\xb7\\xb2\\x78\\x1f\\x05\\x4c\\xc3\\xc8\\xf2\\x32\\x63\\x1c\\x38\\xd0\\x66\\xc3\\x40\\xfd\\xd8\\x75\\xd7\\xc1\\x68\\xdd\\xfc\\x71\\xc6\\x23\\xfd\\xd6\\x35\\xa7\\x23\\xac\\x43\\xf7\\xa8\\x75\\x8d\\xe3\\xba\\xda\\x0b\\x0b\\x3c\\x97\\xd8\\x06\\x0d\\x40\\xf9\\x42\\xa9\\xca\\x17\\xbe\\xc2\\x7c\\x81\\xe0\\x4f\\x62\\xfc\\x42\\x32\\x6d\\x8c\\xe7\\xc1\\xd3\\x1c\\x4b\\x14\\xff\\x78\\x75\\x8d\\xdd\\x41\\x79\\x29\\x3b\\x0a\\x8b\\x60\\xaf\\xf4\\x9e\\xe8\\x1e\\x55\\x1f\\x0f\\xe6\\xdb\\xee\\x0c\\x40\\xc7\\xb2\\x54\\x1d\\xcb\\x8b\\x6a\\xfd\\x09\\xfe\\x68\\xf1\\x65\\xfd\\xe2\\x7f\\x32\\x8b\\x7f\\x07\\x7a\\x56\\x8f\\xff\\xcb\\xee\\xd1\\xe3\\xfa\\xc1\\x7f\\x2c\\x8b\\x7f\\x67\\x96\\xbf\\x0c\\xc4\\xf8\\x03\\xc9\\x92\\x7e\\xf1\\x6f\\xc8\\xe2\\xdf\\x49\\x4e\\x94\\x25\\xf8\\xc7\\x52\\xfc\\xff\\xe8\\x1e\\xd5\\x90\\x8f\\xbf\\xe7\\x5b\\x72\\x0e\\x8c\\xa0\\xe2\\x37\\x1d\\x00\\x2c\\x23\\x40\\xe5\\xab\\xa8\\x1a\\xb3\\xfe\\xb9\\x73\\x9b\\xaa\\xc9\\x12\\xd0\\xd1\\x41\\xaf\\x92\\x79\\xf6\\xec\\xa6\\x6a\\x69\\xc6\\x0c\\xe5\\xe9\\xf4\\xe9\\xca\\x75\\xda\\x34\\xe5\\x3a\\x75\\xaa\\x72\\x6d\\x6b\\x53\\xae\\x53\\xa6\\x28\\xd7\\xc9\\x93\\x95\\xeb\\xa4\\x49\\xca\\xb5\\xb9\\x59\\xb9\\x8e\\x1f\\xaf\\x62\\x1d\\x37\\x0e\\x63\\xad\\xaf\\x57\\xef\\x46\\x8f\\xc6\\x77\\x23\\x47\\x2a\\x30\\x23\\x46\\x28\\xd7\\xda\\x5a\\xe5\\x3a\\x6c\\x98\\x72\\xad\\xa9\\x51\\xae\\xd5\\xd5\\x4a\\x29\\x47\\x65\\x25\\x2e\\x95\\x4e\\xe3\\x7f\\x8a\\x8a\\x94\\x57\\x89\\x84\\x72\\x8d\\xc7\\x95\\x6b\\x34\\xaa\\x7e\\x00\\x2f\\x71\\xd5\\x92\\xcb\\xa5\\x3c\\x75\\x3a\\x95\\xab\\xc3\\xa1\\xbc\\xf5\\xda\\xed\\xf8\\x2d\\x5e\\xe5\\xaa\\x25\\x93\\xa9\\x09\\xac\\xe9\\xa4\\x31\\x81\\x29\\xb5\\xec\\xff\\xfc\\x9f\\xae\\xff\\x0d\\x49\\xad\\xff\\x4d\\x32\\x7a\\x5e\\xe9\\xff\\x2b\\x69\\xff\\x7f\\xd5\\x3d\\x6a\\x74\\x5e\\xff\\xd3\\xb3\\x66\\x28\\xfd\\x97\\xa9\\xf4\\xf9\\x5b\\xc5\\x26\\x19\\xa1\\x36\\xc9\\xde\\xee\\x48\\x1c\\xe9\\xf9\\x3b\\xcd\\x6b\\x65\\xac\\xc7\\xf0\\x13\\x54\\xfa\\xfc\\x2b\\x3c\\x46\\xe0\\x0b\\x18\\x02\\xff\\x5d\\x77\\x41\\x61\\xd8\\x9c\\xa5\\x08\\x26\\x7b\\x96\\x4d\\x12\\xaf\\x1f\\xaf\\x48\\x4b\\x7c\\x7c\\x31\\xcf\\xd8\\x79\\x48\\xdb\\x13\\x09\\x03\\x53\\xe4\\x28\\x28\\x10\\x83\\x4c\\x90\\xc4\\xae\\x77\\x96\\x30\\x52\\x49\\x6b\\xc9\\xee\\x92\\x7d\\x25\\x5c\\x71\\x80\\x73\\x72\\x60\\x66\\x79\\xae\\x33\\xe3\\x13\\x8b\\x45\\xc6\\x2e\\x82\\xe8\\xb3\\x17\\xdb\\x19\\x3b\\xcd\\xc8\\xcc\\xa7\\xb1\\xa4\\xd7\\x99\\x41\\x69\\x21\\x8d\\x59\\x7d\\x3a\\x8d\\xcc\\x5e\\xa7\\x8d\\x66\\xe4\\x75\\x99\\xd9\\x44\\x41\\x90\\x26\\x16\\x8f\\x20\\xf7\\xbf\\x39\\xf4\\x86\\xfa\\xbc\\xc9\\x4e\\xb1\\x39\\x43\\xe6\\xe0\\x3b\\x9a\\x63\\xa0\\x12\\xe6\\x2c\\x77\\xb9\\x73\\x79\\x45\\xc9\\xff\\x68\\xce\\x1c\\xe5\\x48\\x1c\\x8d\\xe7\\x1b\\xb1\\x0c\\xa8\\x1a\\x19\\xb5\\x14\\x6a\\xf4\\x68\\x1c\\xc0\\xcf\\x92\\x5d\\x5d\\xfa\\x03\\x72\\xb4\\x23\\x72\\xe0\\x96\\x9e\\x8f\\xc7\\x87\\xd8\\xb6\\x25\\x2f\\x11\\x33\\xe3\\x4b\\xca\\xbf\\x4b\\x2e\\x76\\xe5\\x0e\\xca\\x61\\xfe\\xfe\\xfe\\xfb\\x8a\\x5d\\x9d\\x51\\xf3\\x86\\xa5\\xc8\\xbe\\xf9\\x22\\xf0\\xf9\\x62\\x61\\xa7\\x25\\x6c\\x29\\x4e\\x3b\\xd3\\x30\\x4a\\x48\\xc7\\xd3\\x15\\xe9\\xd6\\x74\\x67\\x7a\\x77\\x7a\\x5f\\xfa\\x64\\xfa\\x4c\\xda\\x5c\\x81\\xbb\\x62\\x73\\x7a\\x7f\\xfa\\x70\\x9a\\xef\\x25\\x49\\x2f\\xd7\\xe0\\xbb\\xdd\\x69\\x0e\\x43\\x5b\\x59\\x88\\x16\\x60\\xcd\\xbb\\xa8\\xa0\\xc0\\x58\\x58\\x18\\x6f\\xce\\x14\\xa2\\xb0\\xcf\\x69\\xb1\\x59\\x9a\\x33\\x41\\x1b\\xcd\\xb6\\xc3\\xd1\\x63\\x9d\\x8d\\x02\\xaa\\x9b\\x93\\xdb\\x1f\\xaf\\x26\\x38\\xc9\\x2e\\x86\\x5a\\xba\\xad\\xdc\\xae\\x01\\x35\\x54\\x28\\x29\\xfe\\xeb\\xc4\\x61\\xd9\\x05\\x92\\xd9\\x7b\\xe1\\xd2\\xfc\\x61\\x5b\\xb6\\xe0\\x75\\xf1\\x02\\x37\\x61\\x81\\x9a\\x43\\xec\\x75\\x9a\\xa4\\x21\\x4c\\x12\\xa1\\x4c\\xa5\\x22\\xf2\\x37\\x74\\x65\\xa4\\xf4\\x3c\\x02\\x13\\xd1\\x49\\xea\\xcb\\x18\\xa8\\xea\\xb0\\xc3\\x74\\x3e\\x2e\\xe4\\x4d\\xe4\\xdb\\x34\\x7a\\x0f\\x61\\xf8\\xe5\\xfc\\x96\\xac\\x0d\\xe4\\xb1\\x77\\x75\\x36\\x90\\x0b\\xdd\\xee\\x58\\xbf\\x3e\\xb1\\x31\\x59\\xfc\\xeb\\xd1\\x70\\x3d\\x7e\\x5b\\x1f\\x9b\\x49\\xef\\x29\\x0c\\xaf\\xac\\xb5\\x0a\\xfe\\xf5\\x7a\\xfc\\xe7\\xbb\\x2d\\xb6\\x7e\\xf1\\x7f\\x93\\xc5\\xbf\\x03\\x5d\\xae\\xc7\\xef\\xf4\\xf7\\xc1\\x4f\\xec\\x43\\xcd\\x94\\x3f\\x2b\\xf8\\x77\\x1c\\xd2\\xe1\\xef\\xe9\\xb6\\x8b\\x7d\\xf1\\xcb\\x93\\xc9\\xf9\\x4a\\x2a\\x7e\\x03\\xf3\\xe8\\x4a\\x6a\\x39\\xab\\x70\\x86\\x54\\x40\\x62\\x43\\xc2\\x30\\x11\\xca\\x93\\x27\\x2a\\x30\\x3f\\x10\\x18\\xa6\\x20\\x58\\x94\\x83\\x51\\xea\\x79\\x2c\\x5b\\xcf\\x9d\\xd9\\x7e\\x16\\x69\\x3f\\xb8\\xf5\\xdf\\x25\\xf1\\x5d\\xc4\\x8e\\xc5\\x76\\x21\\x33\\x6a\\x94\\xca\\x48\\x0c\\x8b\\x25\\x3f\\x69\\xdb\\x3e\\x2d\\xb5\\x54\\x7f\\x79\\xa5\\x96\\x2f\\x5f\\xfe\\xef\\xf2\\x49\\x75\\xeb\\xf3\\x49\\x91\\xe4\\x1d\\xa4\\x7e\\x78\\x1d\\xba\\x8e\\x1f\\x29\\x68\\xbe\\xc8\\x41\\xcc\\x2e\\x5c\\x0f\\x01\\xd7\\x2f\\x6e\\x5b\\x63\\xdb\\x67\\x3b\\x69\\xe3\\x6c\\xae\\x39\\x8a\\xac\\x3c\\x48\\x9e\\xc8\\xfe\\x83\\xdf\\x20\\x28\\xed\\x35\\xa2\\x2b\\xe1\\x4d\\x0c\\x3b\\x50\\x8a\\xb3\\x8c\\xb3\\x02\\xf0\\xff\\xb1\\x8a\\xf2\\x8a\\x59\\x15\\x4b\\x2b\\x6e\\xa9\\xd8\\x5b\\xf1\\x5a\\xc5\\xfb\\x15\\xa6\\x0a\\x40\\xa7\\xf1\\x32\\x87\\x11\\x54\\xb9\\x70\\xed\\xaa\\x14\\x3c\\xe4\\xbc\\xa8\\xc3\\x94\\x37\\x0e\\x52\\x79\\x63\\xb5\\xda\\x27\\x98\\x8d\\xc1\\x2a\\x5f\\x48\\xef\\x07\\x54\\xf3\\xc8\\xbd\\xc3\\xef\\x41\\x2e\\x14\\x42\\x0b\\x25\\xc9\\xe7\\xf1\\xd8\\x8d\\x3c\\xef\\x44\\x76\\x7b\\x24\\xec\\x0d\\x6e\\xcc\\xb8\\xbd\\x3f\\x99\\x15\\x70\\xba\\x63\\x6e\\xcc\\xb4\\xdc\\x2e\\x47\\x0b\\x56\\x4b\\x59\\x0b\\xd6\\x4a\\xd9\\x30\\x8a\\xc0\\xc9\\x08\\xec\\xa7\\x49\\x21\\x97\\xd1\\xbc\\x90\\xad\\x91\\x4b\\x92\\xca\\xa9\\x6e\\x7b\\x2d\\xa6\\x2c\\xeb\\x35\\xe0\\x2f\\x49\\x28\\x97\\xaa\\xf2\\x54\\x7a\\x44\\x2c\\x5b\\x30\\x89\\xbc\\x84\\x72\\x72\\xec\\xa3\\x23\\x47\\x27\\x7e\\xff\\x7d\\x5a\\x9f\\x4e\\xee\\xc5\\x04\\xa4\\xe4\\x63\\x89\\x27\\x9e\\x50\\x64\\x2b\\xbc\\x1e\\x97\\x50\\x7a\\xba\\x8c\\xe8\\x19\\x78\\x3d\\x7e\\x47\\x91\\xcf\\x7b\\xbe\\x25\\xf9\\xe6\\xf0\\xf3\\x66\\xe5\\x39\\xfa\\x1b\\xca\\xe6\\xa1\\xc3\\x74\\x10\\x44\\x4b\\xa4\\xe1\\x2b\\x8d\\xf7\\x18\\x19\\xc6\\x08\\x66\\xce\\xe8\\x30\\x38\\x1d\\x46\\x30\\x1a\\x0c\\xbc\\x60\\x37\\x9b\\xc3\\x4e\\x24\\x08\\xa2\\x18\\x12\\x05\\x93\\xdd\\x6a\\x27\\xe9\\xe8\\x58\\x8f\\x55\\x34\\xf8\\xe8\\x5e\\xf4\\x00\\xeb\\xd4\\x1f\\x22\\xa5\\xa5\\x4f\\x53\\x4f\\xca\\xcf\\xc6\\x23\\x0c\\xcf\\x46\\x22\\x10\\x6e\\x3d\\xe7\\xff\\x5a\\x0e\\x35\\x35\\xed\\x92\\xb2\\x16\\xf2\\x88\\xea\\x88\\xe5\\xaa\\xce\\xd7\\xa5\\xac\\x85\\x02\\x5d\\x0b\\x37\\x74\\x0b\\x1e\\xb3\\xde\\x3f\\x47\\x72\\xae\\x35\\x1b\\x07\\x61\\xf8\\x16\\x05\\xbe\\xf7\\x3c\\x5e\\x0b\\xa9\\x75\\x16\\x2f\\x86\\x57\\xea\\xad\\xb3\\x5a\\xdf\\x92\\xf3\\xaa\\x14\\xfc\\xb4\\x6f\\x67\\xd0\\xe7\\x03\\x7a\\xbe\\x25\\xb9\\xdb\\x54\\x3c\\x06\\xd3\\x81\\xdf\\x11\\x29\\x15\\x38\\x9f\\x85\\x47\\x29\\x55\\xff\\x53\\xce\\xba\\x9a\\x2c\\xa8\\x75\\x33\\xf5\\x30\\xc4\\xb6\\x93\\x7a\\x15\\x25\\xb1\\xd0\\x60\\xc3\\x42\\x03\\xc4\\x38\\xf0\\x48\\x16\\x5b\\xd3\\x2b\\xb0\\xbc\\xdb\\x23\\xd0\\x8a\\x52\\xfd\\x0a\\xca\\xd4\\xba\\xb2\\x3b\\xe8\\x9c\\x68\\x51\\xca\\xc3\\x76\\x54\\x4b\\xf4\\x32\\x08\\x22\\xb0\\x53\\xbd\\x0c\\xde\\xe9\\xb6\\x5b\\x68\\x95\\x75\\x7a\\x99\\x7a\\xc6\\x96\\xd6\\x27\\xcc\\x4e\\xa6\\xba\\x47\\x46\\x5e\\xc9\\x02\\x4e\\x01\\x68\\xa6\\x11\\x01\\xe1\\x69\\x03\\xda\\xdc\\xc3\\x52\\x04\\x3b\\x51\\xf9\\x0e\\xab\\xc8\\x8b\\xb3\\x31\\x7c\\xea\\xe7\\x60\\xa1\\xb2\\x4f\\x24\\xd6\\x64\\x91\\x82\\xa1\\x26\\xe5\\x4e\\xf4\\xe3\\x3b\\xab\\xa3\\xc9\\xe2\\x52\\xf4\\x79\\xdd\\x99\\x5e\\x7e\\x34\\x4d\\x2a\\x37\\x5a\\xad\\xc8\\xeb\\x14\\xbc\\x42\\x20\\x88\\xb5\\x3b\\x23\\xe7\\xc3\\x32\\x11\\x6b\\x75\\x5b\\x3b\\xf1\\x54\\xea\\xc8\\x08\\x6e\\xb7\\x01\\x13\\x50\\x47\\x86\\x65\\x95\\x14\\x30\\xfa\\xbc\\xc1\\x59\\x67\\x9b\\x2e\\x99\\xa8\\xba\\x93\\x48\\x39\\x86\\xa3\\x46\\xd4\\x9f\\xf5\\x65\\xac\\x7a\\xff\\x67\\x4c\\xf7\\xfb\\xa7\\x4f\\x83\\xeb\\xd0\\xf5\\x93\\x67\\xa6\\x2f\\x8c\\xef\\xda\\xc3\\xdc\\xc2\\x5c\\x45\\x4f\\xb6\\x6b\\xbb\\xef\\x9e\\xfb\\x7a\\xde\\x12\\xc1\\x2f\\x2f\\x1c\\x1f\\x82\\x0d\\x1d\\x3f\\x26\\x39\\x17\\xf0\\xd8\\x97\\xe3\\x75\\xda\\x85\\x66\\x4a\\x55\\x06\\x0b\\xee\\x0e\\xa7\\xc7\\x4d\\x4e\\x50\\x6a\\xce\\x90\\x6c\\xf2\\x9c\\x4b\\x32\\x1a\\x79\\xbb\\xc8\\x33\\xcd\\x19\\x1e\\xc5\\x3c\\x70\\xd2\\x03\\xfb\\x3d\\xb0\\xcf\\x03\\x9b\\x3c\\x50\\xe7\\x81\\x72\\x4f\\x6e\\x7a\\xab\\xce\\x1d\\x52\\xd5\\xbc\\xdc\\xad\\xc4\\xda\\x4d\\x83\\x34\\x6b\\xb2\\xe7\\x64\\x19\\xbd\\xab\\x30\\x21\\xaf\\x59\\x43\\x18\\xe4\\x2a\\x46\\x6c\\x64\\xfe\\x3b\\x50\\xdf\\x73\\xd3\\xf8\\xdb\\x26\\xf4\\x1c\\xa1\\x24\\xbd\\x76\\x6c\\x2e\\x7e\\xe1\\xb8\\x16\\xbf\\x80\\x56\\xc2\\xdf\\x75\\xf1\\x0b\\x37\\x78\\xfd\\x7d\\xe2\\x17\\x14\\x3b\\xf7\\x26\\xcd\\xce\\x8d\\xe1\\x47\\xe8\\x6c\\x1d\\x0b\\x22\\xb1\\x3e\\x76\\xee\\x34\\xa6\\xe3\\x2e\\x4a\\x13\\x83\\x55\\x99\\xfd\\x79\\x4d\\xff\\x3a\\xdd\\x1d\\xf7\\x9a\\x3d\\xaa\\xfe\\x55\\x83\\x79\\x46\\x1b\\xf5\\xeb\\x4c\\x52\\xe0\\xd0\\x0f\\x54\\xff\\x02\\xd3\\x80\\x88\\xdb\\xaa\\xe8\\x5f\\x4a\\x5d\\xcf\\x66\\x63\\x2d\\xd6\\x69\\x3e\\x71\\x1f\\xaf\\xac\\xa8\\x01\\x6f\\xae\\xb6\\xd9\\xba\\xee\\xc9\\xda\\xe4\\xd7\\x51\\xbb\\x0c\\x91\\x3f\\x55\\x2f\\x47\\x3c\\x22\\xea\\xe7\\xa8\\x9d\\x9e\\x11\\xb6\\x5e\\x48\\xa3\\x49\\x64\\xb6\\xb9\\x0c\\xc6\\x53\\x1b\\x87\\xa3\\xa1\\x3f\\x87\\x18\\x91\\xba\\xb1\\x14\\x4e\\xae\\xff\\x69\\xb1\\x36\\xc5\\x90\\x5f\\xa1\\xd0\\x48\\x93\\x5f\\xf2\\x78\\x9b\\xc8\\xdd\\x4b\\xf8\\xb9\\x9f\\xd0\\x66\\x95\\x8b\\x92\\x27\\xc9\\xe3\\x40\\xfc\\x7d\\xfc\\x58\\x54\\x88\\xc7\\x7d\\x70\\x34\\x5c\\xe8\\x13\\x0c\\x06\\xab\\x2f\\x4c\\x36\\x2d\\x06\\x89\\x48\\x1a\\x01\\x2b\\x1f\\x09\\x7a\\x04\\x9e\\xf5\\xb0\\x57\\x65\\x3c\\x9c\\x72\\x18\\x9d\\xc1\\x4a\\x8e\\xa3\\x33\\xbb\\x73\\xa9\\x4c\\xd5\\x3c\\xf6\\x59\\xcf\\x70\\xdf\\x63\\x75\\xf3\\xd2\\xc8\\xf9\\x47\\x01\\x91\\xb3\\xbc\\xea\\x09\\xf1\\x24\\xe0\\x94\\x1b\\xb9\\x70\\xde\\xd6\\xdf\\x5f\\xdb\\xd3\\xfd\\xdc\\x73\\x70\\xd4\\xb1\\xf2\\xbf\\x16\\xc2\\x2f\\x8e\\x9e\\xb8\\x7b\\x66\\x26\\x51\\x22\\xdd\\xc2\\x1e\\x5d\\x76\\xeb\\xfc\\x8b\\x16\\xe7\\x54\\xc5\\xb3\\xbd\\xea\\x8a\\xd1\\xf2\\x9d\\x3d\\xff\\x73\\xfc\\xf3\\x02\\x70\\x3f\\x5a\\x72\\x40\\x59\\xbf\\x6b\\xf0\\x1a\\xf9\\x25\\xfb\\x36\\x9e\\x6f\\x3b\\xa4\\xf9\\x1e\\x03\\x0a\\x85\\x62\\x06\\x5b\\x8c\\x2d\\x4a\\x7d\\x40\\x8f\\xa4\\x1a\\xd5\\x96\\x9a\\x9b\\xda\\x93\\xea\\x4e\\x9d\\x4a\\x9d\\x4b\\x19\\x2a\\x52\\xc0\\x08\\xa9\\x78\\x8a\\xa9\\x48\\x49\\xa9\\xcd\\xa9\\xfd\\xa9\\xc3\\x29\\xbe\\x37\\x05\\xad\\xa9\\x35\\xf8\\x6e\\x77\\x8a\\x73\\xe2\\x32\\x2c\\x15\\x31\\x9d\\xa1\\x58\\x34\\x46\\x02\\x96\\xcd\\x42\\x6b\\x86\\xa6\\xb6\\xb0\\xf0\\x36\\x73\\x98\\xf5\\xd3\\x24\\x7d\\x5a\\x1e\\x26\\x2a\\x80\\x07\\xf4\\xa9\\xbe\\x88\\x84\\xd9\\x91\\xcd\\x9d\\xa2\\x4f\\xad\\x37\\x44\\x6d\\x77\\x76\\x7d\\xeb\\x2f\\xc5\\xde\\xf9\\xdc\\x32\\x37\\xf2\\x92\\x3c\\x7b\\x25\\xda\\x6a\\xc7\\x1c\\xbe\\xa6\\x25\\x2f\\xd7\\x5e\\x36\\xf6\\x65\\x4c\\x36\\x56\\x66\\x3d\\x8d\\x81\\x30\\xbd\\x44\\x22\\x5f\\x34\\xdb\\x1b\\xf5\\x8b\\x50\\x99\\x6f\\xb2\\xce\\x7e\\xaa\\xf9\\x69\\x50\\x20\\xd4\\x8f\\x2d\\xf0\\x08\\x95\\xf9\\x86\\xa8\\x3a\\xf9\\x3b\\xfd\\xe3\\xa4\\x72\\xde\\x64\\x9d\\xcd\\x34\\x8b\\x33\\x9c\\xec\\x17\\x67\\x2e\\x06\\x68\\x17\\x73\\x45\\x5e\\x8c\\xce\\x6a\\x7f\\x9f\\x18\\x1d\\xf5\\x1b\\x6f\\xeb\\xfc\\x45\\xbb\\x90\\xac\\xf9\\x27\\xa9\\x43\\x67\\x4a\\x20\\xdf\\x9b\\x43\\xf4\\xb5\\xe5\\xbd\\x3f\\x18\\xb7\\xf3\\x63\\x50\\x02\\xcb\\x59\\xeb\\xa5\\x09\\x85\\xc8\\xed\\x14\\x04\\xcc\\xc7\\xa2\\x22\\xd6\\xb3\\xc2\\xc8\\x64\\x34\\x86\\xc2\\x28\\x3c\\xe8\\xb2\\x58\\x8a\\x9c\\xa9\\x1a\\x15\\xbc\\x76\\x2f\\x09\\xe5\\xb2\\x63\\x02\\xb0\\xdb\\xf9\\x68\\x54\\xec\\xcc\\x84\\xa3\\x6e\\xb6\\x94\\x70\\x65\\x9e\\x9c\\x92\\xfd\\xae\\x11\\xe6\\x63\\x41\\x80\\x27\\x9b\\x73\\x95\\xcd\\x5c\\x8a\\x4b\\xbb\\xb2\\x4f\\x28\\x22\\x49\\x42\\xa4\\x8f\\x41\\x54\\xf7\\x89\\x67\\x59\\x21\\x3d\\x91\\xf9\\xd2\\x00\\x44\\x9a\\xb4\\x23\\x61\\x48\\xc6\\x95\\x73\\xc9\\xa8\\x15\\x8e\\x59\\x0e\\x19\\xe8\\x6c\\x5b\\xc6\\x4e\\x9d\\x15\\x5f\\x76\\xf2\\x7a\\x30\\xd2\\x38\\xc4\\x1f\\x1e\\xbe\\xea\\xbf\\x53\\xc3\\x67\\x79\\x2e\\x66\\x6e\\x1e\\x21\\xff\\x4c\\x7e\\x14\\x26\\xbe\\xf0\\xc6\\x92\\xe1\\x23\\x17\\xbe\\xd9\\xc5\\x3c\\x49\\x82\\xf9\\x4c\\xfa\\x78\\x44\\xb3\\xf1\\x7b\\xf9\\x3e\\x23\\x4c\\x87\\x29\\xf2\\x01\\xf9\\x3b\\x0f\\x37\\xc7\\x23\\x9f\\xa7\\x7e\\xa4\\x0a\\x3c\\x0e\\x0f\\xe1\\x79\\x13\\xc5\\x2b\\x5d\\x25\\x96\\xf2\\x6a\\x22\\xee\\x82\\x72\\x9e\\x2f\\x28\\xe0\\x52\\xfe\\x0a\\x07\\xe7\\xe7\\x86\\x56\\x45\\xdc\\x21\\x6f\\x28\\xd1\\x92\\x09\\x09\\xde\\x92\\x96\\x8c\\xd7\\x57\\xc1\\xb5\\x64\\x2a\\x2a\\x88\\x5d\\x72\\x52\\xc6\\x21\\xf8\\xd0\\xc0\\x9c\\x8b\\xbf\\xb2\\x8f\\x8f\\x3f\\xcf\\x9b\\xa4\\xdf\\xeb\\x93\\x9f\\x5a\\xbd\\xba\\x46\\x24\\x53\\x22\\x97\\xce\\xaf\\x9a\\x1d\\x5a\\xac\\xa4\\xc2\\xa7\\xaf\\x41\\x4d\\xb8\\xce\\xf9\\xde\\x7d\\xb5\\xe7\\xdb\\xa1\\x37\\xcc\\x1d\\x79\\x5d\\xf5\\xea\\x9f\\xfc\\xe3\\xa6\\xce\\x3f\\x7c\\x78\\xf8\\x83\\x63\\xbf\\xea\\xec\\xfc\\xae\\xee\\xca\\xa1\\xc3\\x02\\xc1\\x61\\x95\\x57\\xd6\\xc1\\xd3\\xa3\\x47\\x9c\\x72\\x0f\\x64\\xdf\\xfa\\xe3\\x9f\\x26\\x0b\\x5b\\xd6\\x34\\xb8\\xad\\x57\\x4e\\xbc\\xe7\\xde\\x6f\\xcf\\x5f\\xfc\\x7a\\xd5\\x2d\\x72\\xe0\\xf3\\xc7\\xc6\\x6c\\xed\\x7a\\x71\\xeb\\x98\\xdd\\xcc\\x92\\x3b\\x9f\\xde\\x34\\x6f\\x48\\x56\\x26\\x38\\x4a\\xd7\\x97\\x2a\\x75\\xbd\\xd8\\xa9\\xd0\\x77\\x41\\x8e\\xbe\\x69\\x8e\\x40\\xba\\xa6\\x4c\\x55\\x65\\xa9\\xdf\\xaa\\x6b\\x8a\\x88\\x19\\xf5\\xf5\\x62\\xc0\\xc1\\x5d\\x22\\x1b\\x1d\\xa5\\x6b\\x4a\\x95\\x2a\\x1b\\xfd\\x0c\\xa9\\x6b\\x08\\xc9\\x35\\xa8\\xe2\\xc1\\xb2\\xd1\\x69\\x84\\x1c\\x64\\xa5\\xb9\\xbe\\x3b\\x20\\xaa\\x38\\x72\\x75\\x3a\\xab\\xd5\\x09\\xaf\\x23\\x2b\\x94\\x3a\\x25\\xfa\\xd6\\x69\\x8f\\x86\\x8b\\x59\\x77\\x9b\\x52\\x23\\x3f\\xae\\x91\\x21\\x28\\x3a\\xf4\\x3e\\x0a\\x7a\\x66\\x1b\\x6d\\x63\\xb5\\xda\\xc6\\x16\\xc5\\x26\\x5f\\x92\\xc3\\x47\\xf2\\x09\\x7e\\x4d\\xdb\\x38\\x4d\\x6d\\xe3\\x0e\\xb5\\x8d\\x25\\x18\\xe3\\x2d\\x25\\x03\\xc5\\xfc\\x39\\xac\\xe0\\x3c\\xab\\xe1\\xa4\\xb6\\x93\\xfe\\x70\\x7e\\x41\\xeb\\x38\\x4d\\xf1\\xe1\\x0f\\xa3\\xab\\x5b\\x89\\xaa\\x5f\\x96\\x0c\\xea\\x8b\\x53\\x9e\\x49\\xce\\x96\\xcb\\xd6\\x73\\x15\\xfa\\x12\\xa9\\x3d\\xf4\\x6d\\x77\\xd9\\x30\\x94\\x24\\xd0\\x04\\xaf\\x3c\\x93\\xe4\\x3e\\xd4\\xf0\\xa2\\x55\\xa3\\x55\\xa8\\xf3\\x18\\x4a\\xc5\\xd9\\x5f\\x1d\\xd7\\xa1\\x7f\\xaa\\xb2\\x43\\x19\\x5e\\x90\\xb9\\x41\\x25\\x0a\\xc6\\xec\\xf7\\xfb\\xd6\\x77\\xdd\\x48\\x5a\\xdf\\x32\\x97\\x62\\x3d\\x1a\\x54\\xd2\\xa7\\xbe\\x71\\x79\\x26\\x39\\x17\\x0e\\xcb\\x87\\x35\\x6a\\x3c\\xef\\x02\\xfc\\x62\\xf1\\xab\\x28\\xad\\x98\\xc8\\xd2\\x64\\xd9\\xc5\\x6b\\x30\\xbd\\x86\\x42\\xca\\x35\\x18\\x54\\xae\\x81\\x80\\x72\\x15\\x45\\xe5\\xea\\x76\\x2b\\x57\\xbc\\x8c\\xd3\\xab\\x20\\x28\\x57\\x87\\x43\\xb9\\x62\\xb1\\x98\\x5c\\x5f\\xb4\\x5a\\x9b\\xf2\\x2c\\x65\\xb8\\x1e\\x09\\xdc\\x1f\\x8f\\x73\\x77\\xe2\\x7a\\x4f\\xa7\\x19\\x47\\x56\\xb5\\xa8\\xf5\\x23\\xe7\\xd6\\xd1\\xf6\\xd7\\xa8\\x74\\x34\\x55\\xa7\\xf3\\xa1\\x80\\xd7\\x64\\xc9\\x6b\\x4f\\x02\\xf7\\x57\\x80\\xdf\\x2e\\x50\\x3c\\x54\\x2e\\x17\\xb1\\x2e\\xed\\x96\\x6c\\x10\\x92\\xbc\\x62\\x53\\x88\\x98\\xf2\\x42\\x54\\x7a\\xc8\\x9d\\x89\\x47\\xce\\x75\\x6e\\xb4\\x8a\\xc1\\xa0\\x81\\x11\\x18\\x9b\\xd3\\xe6\\x8c\\xd0\\x14\\x66\\x0c\\xc2\\xff\\x54\\x44\\x5b\\xa3\\x9d\\xd1\\x65\\xd1\\xdd\\xd1\\xc3\\xd1\\x93\\xd1\\x33\\x51\\x8b\\x95\\xf5\\x9a\\xec\\xa6\\xce\\x4c\\x80\\x23\\xd6\\x30\\x91\\xe7\\x91\\x60\\xb3\\xb3\\x41\\xf5\\xec\\xbc\\xdc\\x59\\x78\\x58\\x82\\xac\\xd4\\xf6\\x0a\\x92\\x15\\x55\\xb1\\x64\\xb9\\x87\\x2b\\x72\\xef\\x10\\xe5\\x64\\x3c\\xb2\\xa1\\x2c\\xff\\x74\\x3c\\x12\\x3a\\x4b\\x4f\\xc8\\x93\\x3f\\x87\\xa0\\xfe\\x94\\x3c\\x08\\xca\\x9f\\x1f\\x51\\xa2\\x64\\xbf\\xd7\\x0e\\xcb\\x93\\x2d\\xab\\x64\\x56\\x39\\x2f\\x4f\\xcb\\x2f\\x59\\x80\\xc6\\x4a\\xc5\\x02\\x0f\\x91\\x48\\x3c\\xe6\\x0b\\x06\\x3d\\x93\\x32\\x41\\x1f\\x63\\x35\\x59\\x5b\\x32\\xce\\x02\\x54\\xd0\\x92\\xb1\\xb5\\xa2\\xdd\\x78\\x59\\x31\\xf2\\x26\\xa2\\xe4\\x1d\\x7a\\x6f\\x4e\\x36\\x15\\x43\\xde\\x49\\x05\\xf4\\x7c\\xc2\\x5c\\xae\\x49\\xfa\\xd7\\xeb\\xcb\\x1d\\x22\\xe1\\x4a\\x26\\x56\\x2b\\x39\\x27\\xb5\\xac\\x93\\x23\\xee\\x7d\\x60\\x35\\x33\\x06\\xf5\\xd2\\xc4\\x93\\xbd\\xf3\\xcf\\x2a\\x99\\x27\\x57\\xdd\\x08\\x9c\\x2e\\xb6\\xf1\\x44\\x36\\x16\\xf2\\x31\\x78\\x45\\x17\\x0b\\x59\\x5a\\x58\\xde\\x27\\x16\\x52\\xf1\\x55\\x6f\\xc9\\xfa\\xb6\\x1f\\xcb\\xf7\\x6d\\xc7\\x07\\xf5\\xf1\\x6d\\x2b\\xf8\\xc7\\x64\\xf1\\xaf\\x87\\x37\\x75\\xf8\\x87\\x84\\x22\\xfd\\xe1\\xa7\\x32\\xc4\\x0c\\x55\\x86\\xf8\\x48\\x87\\x1f\\x02\\xa1\\x7e\\xf1\\x7f\\x93\\xc5\\xbf\\x03\\x7e\\xaa\\xc3\\xef\\x8f\\xa6\\xfa\\xad\\xff\\x93\\x59\\xfc\\x3b\\xd0\\xc7\\x3a\\xfc\\x4c\\x38\\xd9\\x1f\\x7e\\x63\\x30\\x8b\\xff\\x11\\x78\\x3f\\x2f\\xf6\\x73\\x74\\x34\\xe9\\x32\\xf7\\x91\\x27\\x94\\x6f\\x1c\\xcc\\x7e\\xe3\\x11\\xda\\x86\\x9c\\x3f\\x9f\\x09\\x5f\\xea\\xcf\\xef\\x1b\\x93\\xba\\x0b\\xbe\\xcd\\xfb\\xce\\xbc\\xd0\\xa5\\x31\\xa6\\x7d\\xe3\\x0c\\x76\\x81\\x3f\\xef\\x3b\\xa3\\x02\\xfd\\x7c\\x47\\x9e\\x4c\\xce\\x6f\\xcc\\x7e\\xe7\\x51\\xa6\\x02\\x51\\x4b\\xd8\\x83\\xd1\\x01\\x6a\\x57\\x29\\xb8\\xe5\\xc9\\x24\\x2f\\x69\\x16\\xf7\\xa3\\xf0\\x8d\\xca\\x2f\\xc1\\xd6\\x1d\\x2e\\x56\\xf0\\x62\\x38\\x7a\\x2e\\x20\\xad\\xf7\\xe5\\x0a\\xaf\\x66\\x2e\\xe8\\xec\\x61\\x93\\xc5\\xa0\\xc1\\x9d\\xd7\\x9f\\x34\\x07\\x26\\xad\\xf3\\x4c\\xd5\\x56\\xf4\\xb6\\x6e\\xbd\\xbb\\x5c\\x0c\\x3a\\xf8\\x7c\\xbf\\x2a\\x8d\\xa3\\x3d\\xab\\xc5\\xd1\\x62\\xf8\\x87\\x75\\xf8\\xed\\x62\\xd0\\x9c\\x8f\\x5f\\x89\\x13\\xd8\\xa3\\xc5\\x09\\xe0\\xb5\\xe3\\xe7\\x3a\\xbf\\xad\\xb1\\xa0\\x50\\x1f\\x17\\x91\\xc5\\xff\\x4c\\x36\\x4e\\x77\\x21\\xa5\\x7f\\xda\\x87\\x22\\xe9\\xf7\\xb2\\xa2\\x02\\xe5\\x0b\\xba\\x3e\\xa4\\xe7\\xa2\\xd1\\x35\\x6f\\xa4\\xba\\xe6\\xad\\x55\\xeb\\xe4\\xc1\\x75\\x6a\\xf6\\xf8\\x90\\x90\\xf7\\x0d\\x9a\\xd3\\x8e\\xae\\x7f\\x73\\xd4\\xf5\\xef\\x29\\xb5\\x4e\\x5e\\x5c\\xa7\\x29\\x5e\\x3f\\xca\\x6f\\x83\\x82\\xff\\x98\\x86\\x9f\\xd9\\x99\\xb7\\x87\\x82\\xf1\\x04\\xfb\\xc5\\xbf\\x41\\xc5\\x6f\\x60\\x76\\x2e\\x53\\xb0\\x47\\x09\\x45\\x7b\\x43\\x39\\xec\\x59\\xdc\\x67\\xb3\\xb8\\xd7\\xc1\\x1c\\x5d\\x7f\\x5a\\xfd\\x9e\\x7e\\x71\\xef\\xc9\\xe2\\x5e\\x77\\xa3\\x82\\xdb\\x47\\x23\\x59\\xbc\\xba\\x9a\\x03\\x32\\x62\\xc1\\x78\\x23\\xff\\x04\\xe6\\xb6\\x83\\xa5\\x80\\xdd\\xed\\xf6\\x78\\x8d\\x06\\x83\\x57\\xcd\\x58\\x2d\\x2a\\x26\\x3c\\x40\\xba\\x48\\x12\\xc8\\xed\\xcc\\xf6\\xe8\\x4e\\x5d\\x51\\x73\\xa7\\x2f\\x3e\\xf0\\x8b\\xb9\\xf5\\xf4\\xbc\\x15\\x72\\xda\\x0a\\x27\\xaa\\x47\\xad\\x5c\\x4c\\x29\\x07\\xad\\x30\\xc8\\xae\\x9e\\x01\\x45\\x62\\xec\\x66\\x49\\x97\\xd9\\xad\\xc6\\x44\\x82\\x09\\x84\\x3c\\x01\\x4f\\x71\\xda\\x6e\\xf7\\x09\\xbe\\x64\\x4b\\xc6\\xe7\\xb3\\xe0\\x9a\\xb5\\x64\\x8c\\x00\\x24\\x9a\\xba\\x35\\x23\\x60\\x95\\x93\\xd8\\x1a\\xf2\\x62\\x47\\x73\\xee\\xec\\x4b\\x52\\x02\\x28\\x99\\xc5\\xa8\\x95\\x9e\\xfc\\xc9\\x3b\\xe9\\xc9\\xa5\\x3f\\x08\\xca\\xbe\\x98\\xd8\\xce\\x92\\xf2\\x71\\xdd\\x79\\x4f\\xcc\\x9d\\xd9\\xa3\\xa0\\xb8\\xe6\\xf9\\x77\\xf8\\x47\\x7f\\x38\\x3f\\x94\\x3b\\xf3\\x89\\x2b\\xe8\\x79\\x52\\x3b\\x0f\\x8a\\xc8\\xcc\\xa8\\xf7\\x3c\\xff\\x1b\\x7a\\x06\\xb5\\x1b\\x0d\\x22\\xbb\\x42\\x78\\x87\\x63\\x20\\x8a\\x99\\x53\\xa9\\x58\\xe1\\xc0\\x00\\x7f\\x59\\xb9\\xe0\\x18\\x58\\x3a\\xb0\\x23\\xc3\\xdb\\x3b\\x33\\x7c\\x80\\x0f\\x84\\x4b\\x4a\\xdd\\x24\\xc4\\x1f\\xab\\x12\\xac\\xfe\\x58\\x85\\x72\\x12\\x00\\xab\\x1c\\xfe\\xd6\\x47\\x5b\\x56\\xa2\\xbc\\x3d\\xf4\\x87\\x4f\\x11\\x80\\xf1\\x22\\xe7\\xa9\\xae\\x4c\\xc4\\x7d\\xca\\x66\\x5f\\xd1\\xcb\\x25\\x52\\x64\\x09\\xe4\\x3c\\xd7\\xae\\x58\\xff\\xc0\\xa2\\x79\\xd7\\xde\\xbd\\xfd\\xf9\\xcd\\x53\\x6e\\x5a\\x7e\\xf1\\xa3\\x96\\xab\\x03\\x43\\xa6\\x1b\\x3b\\xf6\\x33\\x03\\xc1\\x2a\\x6f\\xbb\\xfd\\xb5\\xfd\\xf2\\x49\\xf9\\x9f\\xf2\\x30\\xf9\\xfc\\xf3\\xec\\xd9\\x9b\\xe6\\xcb\\x83\\x96\\xc9\\xe1\\xbb\\xef\\xea\\x39\\x69\\xd8\\xc8\\x1e\\x1d\\x54\\x7b\\x2b\\x14\\x0c\\xde\\xb4\\xfb\\x96\\x17\\xc2\\x9e\\xa7\\x36\\xbe\\xf5\\x7b\\xc3\\xb8\\x30\\xb7\\x28\\xeb\\xf3\\xfe\\x94\\xc4\\x2f\\xb0\\xbf\\xa1\\x7a\\xd4\\xaa\\xec\\x39\\x5e\\x49\\xd4\\x24\\xa5\\x90\\xad\\x20\\x6c\\x34\\xba\\x5c\\xc4\\x98\\x51\\x54\\xe0\\x14\\xc5\\x84\\x3b\\xc1\\xb6\\x66\\x12\\x82\\x3b\\xd4\\x92\\x71\\x23\\xa7\\xf9\\xff\\x21\\xed\\x4d\\xe0\\xab\\xa8\\xce\\xfe\\xf1\\x39\\x73\\x66\\xe6\\xee\\x77\\xe6\\xde\\xb9\\x73\\xf7\\x7d\\x4f\\x6e\\xf6\\x4b\\x12\\x90\\x25\\x97\\xb0\\x06\\x30\\x0b\\xfb\\x04\\x30\\x41\\x40\\x16\\x45\\xc1\\x5d\\x5c\\x10\\x45\\x2c\\x82\\x0a\\x5a\\x41\\x44\\xeb\\x86\\x8a\\x12\\x85\\x22\\xd6\\xa5\\xad\\x4a\\x55\\x8a\\x7b\\x2d\\x2e\\x55\\x6a\\xad\\xb5\\x55\\x5b\\x57\\x7c\\xd5\\x56\\x21\\x93\\xff\\x39\\x67\\xe6\\x6e\\x09\\xf6\\xfd\\xbd\\x9f\\xbf\\xb4\\x88\\x21\\xb9\\xe7\\x3c\\x67\\x79\\xb6\\xf3\\x3c\\xdf\\x2f\\xb2\\x97\\xce\\x62\\xb9\\x78\\x7e\\xc3\\x8a\\x35\\x90\\xd9\\xc1\\xfc\\x5c\\x09\\x75\\xa7\\x22\\x22\\x46\\xba\\xc8\\x00\\x2c\\x25\\xd9\\xc1\\x12\\x96\\x2e\\x90\\x50\\x37\\xeb\\x63\\xcb\\xa9\\x4d\\xb5\\x77\\x55\\xce\\xd6\\x41\\xb2\\x83\\x45\\xb2\\xae\\xf7\\xf0\\x6e\\xb1\\x0b\\x94\\x6f\\x6f\\xd2\\x9b\\xee\\x69\\xd9\\xef\\x47\\x1b\\x98\\xe7\\x0c\\xff\\x8c\\xec\\x97\\x8b\\x6a\\xcc\\xf9\\x4c\\x2c\\xeb\\xa0\\x78\\x07\\xef\\xf6\\xb0\\x0e\\x9c\\x77\\x33\\x21\\x3f\\xc4\\x64\\x32\\xd8\\xed\\x06\\x48\\x90\\x7a\\xd4\\x5d\\x39\\x39\\xe5\\x36\\xbe\\x09\\xb8\\x16\\xbf\\x02\\x90\\x68\\x1d\\xde\\x7d\\xe3\\xda\\x8d\\x37\\xaf\\xbd\\x46\\x71\\xce\\x38\\x00\\x1c\\xc0\\xd3\\x7f\\xa4\\xff\\x8c\\x3d\\x7d\\xe0\\xd2\\x0d\\x9b\\xfb\\x8f\\x5e\\xcf\\x4c\\xee\\x7f\\xfa\\xe0\\x33\\xca\\x35\\x6d\\x5e\\xe8\\xbb\\xb9\\x0d\\xbf\\x84\\x15\\xd6\\x30\\x48\\x0d\\xcf\\xf9\\x29\\x8f\\x68\\xd3\\xe9\\x82\\x9e\\x60\\x38\\x24\\xfa\\x9d\\x04\\x4c\\x5d\\x85\\x52\\x17\\x78\\x74\\xea\\x8b\\xeb\\x56\\x9e\\xef\\x1b\\xc4\\x69\\x86\\x26\\xf4\\xd3\\xa4\\x66\\x6b\\x40\\xf7\\xd8\\x93\\xb2\\x9a\\xd1\\x5b\\x76\\x8e\\x45\\x87\\x63\\x10\\xaf\\xd9\\xed\\x48\\xe7\\x2f\\x62\\xa7\\x21\\x7f\\xae\\x31\\xe7\\xd7\\xbb\\x05\\xe8\\x86\\xfe\\x80\\x81\\xe3\\x2c\\x98\\x30\\x98\\x12\\x7b\\xe4\\x36\\xf7\\x46\\x37\\xed\\xc6\\x38\\x1d\\x0d\\x0b\\x86\\x94\\x99\\x15\\xda\\x99\\xa2\\x29\\x48\\x72\\x1b\\x2a\\xa7\\xb6\\x7a\\x70\\xe3\\xf4\\xad\\xa0\\x0b\\xac\\x51\\xb6\\x2b\\x77\\xfe\\xf3\\x47\\xae\\xdb\\xbf\\x7e\\xef\\xa7\\x6f\\xff\\xf5\\xed\\xd5\\x0f\\xd6\\x85\\xe7\\x71\\x67\\x00\\x07\\x3b\\x4d\\xb9\\x4d\\x79\\x4e\\xd9\\xad\\xec\\x1c\\x07\\x5a\\x7f\\xd7\\x0d\\xc2\\x00\\xf9\\x6b\\x20\\x39\\xaa\\xe2\\xcf\\x60\\x66\\xb2\\x06\\xcf\\x0d\\xbf\\xdb\\x5f\\xc9\\xad\\x40\\x7a\\x6e\\x46\\x2e\\x43\\xa5\\xd3\\x95\\xd6\\x40\\x54\\xe7\\xd2\\x05\\x60\\x45\\x25\\x95\\x48\\xa0\\x1d\\x4c\\x84\\x25\\x7d\\x34\\xaa\\x97\\xa0\\x37\\x1c\\x36\\xf5\\xc8\\x61\\xc6\\x6b\\xeb\\x91\\xbd\\x25\\x70\\x14\\x2e\\xdc\\x68\\x51\\x2b\\x3c\\x8f\\xfe\\x5b\\x78\\x7e\\xf0\\x95\\x23\\xe8\\x2a\\x92\\x48\\xd4\\x1a\\x6d\\xc3\\x91\\x37\\x09\\xc4\\x39\\x26\\xa6\\xca\\xd4\\xe0\\x22\\x1c\\x6d\\x12\\xd7\\x18\\xb4\\x8f\\xaf\\xb8\\x76\\x90\\x04\\xdd\\xca\\x5f\\x2f\\x53\\xf6\\x2a\\x1b\\xc0\\x72\\xb0\\x70\\xcf\\xd3\\xf4\\x0d\\xd7\\x5d\\xd9\\xc1\\xce\\x3d\\xcf\\xe5\\x7d\\x5a\\xd9\\xf8\\xbb\\x6e\\xe5\\x03\\xe5\\x0f\\xca\\x27\\xca\\x7b\\x48\\x18\\xa5\\x2f\\x56\\x0f\\xce\\x00\\xa3\\xc1\\x5c\\xb0\\x24\\x79\\x6b\\x5f\\x50\\xeb\\x97\\x9f\\x38\\xf0\\x05\\x73\\x80\\x79\\x0f\\xc9\\xd6\\x86\\x7c\\x4f\\x7f\\x54\\xe7\\xd4\\xf9\\x61\\x45\\xba\\x32\\xc1\\xb4\\xcb\\x09\\x2c\\x97\\xa4\\xf7\\x84\\xc3\\x66\\x14\\x66\\x53\\x61\\x41\\x75\\x49\\xb5\\x70\\xbb\\xb6\\x84\\x6b\\x8a\\xc0\\x4b\\x68\\xc9\\xa6\\x82\\x44\\x83\\x48\\xe5\\xa4\\x52\\xc2\\x39\\x55\\x22\\xe6\\xdc\\xa0\\x38\\xb1\\x72\\x73\\x29\\xc5\\x5c\\x9e\\x78\\x6e\\xc6\\x52\\xd3\\x96\\xcb\\xae\\xec\\x80\\x87\\x37\\x61\\x51\\x0e\\x15\\xe8\\xe6\\x4e\\xd5\\x28\\xe8\\xac\\x37\\xdc\\x12\\xfc\\xf6\\x24\\xb5\\x4e\\xd4\\xc0\\x09\\x2e\\x8b\\xee\\x9b\\x91\\x0a\\x51\\xe3\\x72\\x31\\xd6\\x4e\\x99\\x4c\\x76\\x0f\\x8c\\x84\\x3d\\x1e\\xc1\\xcf\\x38\\xfc\\x8e\\x5e\\xd9\\x0f\\x75\\x76\\xc1\\xde\\x23\\xf3\\x6c\\xaf\\xcc\\x0b\\x84\\x69\\x76\\x50\\xff\\x66\\x61\\x87\\x90\\x2c\\xa4\\x29\\x8e\\x34\\xc4\\x25\\x0a\\xed\\x72\\x45\\x8d\\x48\\x31\\x9f\\xbc\\xf9\\xd5\\x14\\xd2\\x10\\x07\\xa6\\xa9\\xbd\\x72\\x1f\\xf7\\xb5\\x17\\xb4\\xe0\\x54\\xdc\\x42\\x87\\xfc\\xe5\\x28\\xe0\\x8f\\xdf\\xab\\x5f\\xf5\\xd5\\xfb\\x5a\\xbf\\x1c\\x73\\xa6\\xaa\\xfd\\x94\\x27\\xf1\\x9c\\x51\\x04\\xcd\\x8a\\x5a\\x5f\\xcf\\xc4\\x5c\\x42\\xe7\\x70\\xa0\\x19\\x43\\x8b\\x1d\\x06\\x03\\x36\\x83\\xd5\\xd0\\x2b\\x73\\x4e\\xf4\\x7f\\x0b\\x67\\x01\\x56\\x68\\xf7\\x03\\x7f\\x8f\\x0c\\x0a\\xc1\\x4a\\x51\\x95\\x97\\xf5\\xd2\\x57\\x80\\xb0\\x6d\\x58\\x3c\\x92\\x55\\x23\\x14\\x91\\x30\\x6d\\x26\\x6c\\x5a\\x51\\x37\\x6b\\xef\\x5f\\xd5\\x7f\\x04\\x1d\\x72\\xc7\\x43\\x8f\\xbf\\xb5\\xb8\\xb9\\xdb\\xc4\\x2c\\xe8\\xdb\\xa3\\x78\\xd7\\xae\\xbd\\xf1\\x9a\\xb5\\xe0\\xd2\\x67\\x0e\\x82\\x3f\\x39\\x5e\\x01\\x53\\xda\\x7c\\xc7\\xaf\\xf3\\x86\\xe8\\xc4\\xe6\\x0d\\x1b\\xae\\xa7\\x4a\\xea\\xc8\\x30\\x9e\\x61\\x02\\xcd\\x33\\x19\\x16\\xac\\x34\\xed\\xf1\\x19\\x0c\\x4e\\x0f\\x4c\\x25\\x5d\\xf6\\x0e\\xd9\\x05\\xcd\\xc8\\x9c\\x9a\\x05\\x2e\\x88\\xcc\\xb8\\x13\\x78\\xda\\x65\\x50\\xd2\\xb7\\x93\\x67\\xc2\\xc8\\xcf\\x32\\x4b\\xe6\\x99\\x1a\\x54\\x0e\\xa6\\x45\\x54\\xae\\x92\\x42\\x30\\x66\\xbe\\xb2\\x4d\\x2a\\x21\\xee\\x7b\\xb6\\xfd\\x9c\\xcc\\x54\\xe8\\x58\\xda\\xef\\x1f\\x4a\\xdd\\x57\\xf9\\xa1\\x78\\x3f\\x08\\x1f\\x0f\\xb8\\xc1\\x8e\\x32\\xee\\xbe\\x51\\xca\\x78\\xf8\\x2a\\x7c\\x81\\xd4\\xc0\\xb5\\xe6\\xa2\\x51\\x29\\x90\\x00\\x7c\\xda\\xe7\\xe3\\x13\\x9c\\xc4\\x56\\x66\\x74\\x09\\x5d\\x82\\x71\\xbb\\x43\\xed\\xb2\\x5b\\x60\\xcc\\xed\\x32\\xe3\\x1b\\xcc\\xa7\\x56\\x7e\\x69\\x59\\x29\\x9f\\x48\\x2d\\x23\\x20\\x88\\x63\\x5d\\x28\\xb0\\xa4\\x01\\xc4\\x11\\xc2\\xad\\x45\\x02\\x9c\\xfd\\xda\\x13\\x57\\x5d\\xd1\\x1a\\x73\\x76\\x54\\xe6\\x26\\x75\\xdf\\xf1\\xb3\\x2d\\x80\\xfe\\xe0\\xf9\\xcf\\x95\\xc3\\x07\\x95\\x47\\xdb\\xe7\\x1f\\x96\\x1a\\x5b\\xf7\\xdb\\xcf\\x5f\\x1f\\xfa\\xe4\\x52\\x9b\\xef\\x94\\xba\\x61\\x8b\\x96\\xca\\xfd\\xbf\\x78\\xeb\\xd8\\xa7\\x87\\x95\\x3f\\x5d\\xbf\\x1e\\x6e\\xb9\\x6d\\xc7\\xc7\\x3b\\x84\\x9a\\x97\\x2e\\x07\\xa7\\x92\\xbb\\x8a\\xa2\\x7b\\x36\\x4b\\x62\\xde\\xe5\\xb9\\x11\\xbc\\x4e\\x67\\x35\\x18\\x4c\\x26\\xaf\\x28\\xd1\\x92\\x17\\x06\\xfc\\x1e\\x9b\\xe8\\x44\\x66\\xde\\x4c\\x4e\\x8c\\xa9\\xda\\x0a\\x20\\x65\\x45\\x3b\\x64\\xe0\\xac\\xe8\\x06\\x3a\\xa1\\x97\\x03\\x5c\\xaf\\x4c\\x03\\x7b\\x1e\\x31\\x05\\xbb\\x01\\xb5\\x04\\xfc\\xa3\\x10\\xeb\\xe6\\xcf\\x90\\xd6\\x69\\xa8\\x1e\\x24\\xac\\x50\\xd1\\x41\\x8a\\xe8\\x62\\xb6\\xac\\xab\\x10\\xf2\\xe2\\x03\\xc5\\x66\\x8f\\xb7\\x89\\xf3\\x46\\x74\\x02\\xba\\x5f\\xb9\\x1b\\xe7\\x05\\x41\\xcf\\x1f\\xfe\\x74\\x56\\x78\\x1e\\x73\\x61\\x5f\\x1f\\xb8\\xf0\\x3f\\x02\\xcd\\xde\\x0a\\x6e\\xff\\x39\\xf8\\xdc\\xfa\\x2e\\x98\\xd5\\xe6\\x3d\\x7e\\x9d\\x0f\\xef\\x03\\xd2\\xf3\\x0f\\x23\\x3d\\xef\\x40\\x52\\x9c\\x9a\\xab\\xf0\\x08\\x90\\xb1\\xbb\\xdd\\x46\\x23\\x23\\x20\\x7d\\xcf\\x07\\x80\\x09\\xda\\x3c\\xbd\\xb2\\x8d\\xb1\\x31\\x18\\xf9\\xbe\\x47\\xb6\\x88\\x3a\\xaa\\x47\\xd6\\x0d\\x06\\xb3\\xd2\\xa0\\x17\\xcb\\xf4\\x68\\x54\\xbd\\x94\\xaa\\xd2\\x44\\xbf\\x37\\x47\\xe8\\x24\\x6c\\xb0\\x8b\\x11\\x2f\\xa0\\xdf\\x3e\\xb2\\xc5\\xdf\\xcd\\xfd\\xf8\\x4f\\x70\\x3a\\x58\\x82\\xdb\\x0f\\x95\\x87\\x95\\xdb\\x68\\x26\\x6a\\xf8\\xed\\x7d\\x4f\\xee\\x65\\xfa\\x53\\xec\\x3e\\xe6\\x93\\xd3\\x7e\\x07\\x5a\\xc7\\xa1\\xfb\\xf9\\x30\\x6e\\x3c\\x04\\xa7\\x81\\xd9\\x6d\\x40\\xfc\\xec\\xf8\\x72\\xc0\\x82\\xa4\\xf2\\xb6\\x32\\x80\\xf9\\x65\\x07\\x3e\\x87\\x5f\\x10\\xfc\\xcb\\x8e\\x5c\\xa5\\x87\\xb2\\xb1\\x26\\x63\\x28\\x1c\\x36\\x3a\\x69\\x96\\xe2\\x92\\x29\\xda\\x29\\x49\\xe8\\x9e\\x4a\\x92\\x2e\\x14\\x8b\\xf9\\x7a\\xe4\\x98\\xa8\\xe3\\x91\\x81\\xc7\\x53\\x2f\\x78\\xb3\\xf6\\x3c\\x39\\xea\\xa0\\xe3\\x24\\x0a\\x09\\x74\\x7c\\x70\\x0b\\xa5\\xa6\\x34\\xd1\\x35\\x0d\\x01\\x49\\xc7\\x49\\xe8\\x6b\\xaa\\x35\\x88\\x85\\xe3\\x53\\xc0\\xfc\\x4d\\x77\\x82\\xcf\\x9e\\xe8\\x9b\\x93\\x89\\x9c\\xd3\\xf4\\xfa\\x59\\xf2\\xf9\\x17\\x1f\\x03\\xa6\\xaa\\x4b\\x53\\xc3\\xe6\\x9b\\xef\\x7f\\x45\\xe9\\x57\\xfe\\x02\\x56\\x82\\x54\\xa5\\xd4\\x77\\x35\\x98\\x92\\x51\\x5e\\xff\\x9d\\x2b\\xf0\\xf5\\x45\\x17\\x73\\xfa\\x4b\\x74\\xfc\\xff\\x28\\xef\\xf9\\x9c\\xef\\x28\\xbf\\x4e\\xbf\\x82\\x39\\x69\\xe7\\x2a\\x13\\x99\\x5d\\x04\\x37\\x72\\x7a\\xae\\xda\\x8f\\x9c\\x5e\\x97\\x24\\x85\\x05\\x18\\x8b\\x1b\\xf4\\xfa\\x98\\x9f\\xea\\x95\\xf5\\xc8\\x19\\xf0\\xeb\\x21\\x23\\x8a\\xbe\\x5e\\x19\\x73\\xf6\\x8b\\x90\\x41\\xfe\\x64\\xe1\\x52\\x14\\x4d\\x5a\\x46\\xf3\\xcf\\x4b\\xde\\x19\\x6c\\x83\\x60\\xfa\\x6c\\x6a\\xaf\\x3b\\x76\\xac\\xb4\\x5c\\x33\\x5d\\xfd\\xf5\\x5f\\xa6\\x6e\\xcd\\xc8\\x58\\xf9\\x4f\\x98\\xd7\\xc7\\x9c\\x76\\x5a\\xb8\\xfe\\x6f\\x63\\xef\\x03\\x93\\xf0\\x19\\xa2\\x47\\xf5\\xbf\\xf6\\xee\\x67\\x36\\x0b\\xa8\\x7b\\xd4\\xe5\\xed\\x3d\\x8d\\x3d\\xcb\\xdb\\xa6\\x6c\\xff\\x42\\xa7\\xeb\\x3f\\xfa\\x90\\x32\\xaa\\x8f\\xdc\\x83\\x9f\\x2b\\x1f\\xc1\\x6d\\xec\\x74\\xe4\\x51\\xf5\\xe6\\x1a\\x24\\x93\\xe8\\xb4\\xbb\\x5c\\x76\\x06\\xb0\\x68\\x1f\\xcc\\x26\\xca\\xe4\\xf6\\x38\\x91\\xc9\\x91\\x3a\\x64\\x91\\x61\\xed\\x0e\\x07\\xf2\\xbc\\xf4\\x7c\\xa7\\xdc\\x64\\x9a\\x68\\x9a\\x6d\\x82\\x26\\x3d\\xa3\\x81\\xdf\\xd4\\xe2\\xf3\\x3f\\x62\\x44\\x36\\x5b\\x4a\\x82\\x4c\\x7a\\xc0\\x46\\x34\\x90\\xc7\\x71\\xdc\\x25\\xed\\x03\\xb1\\x16\\x5a\\x35\\x56\\xc4\\x3e\\x23\\xc5\\x9f\\xd5\\xc5\\xe0\\x81\\x8d\\x0f\\x5a\\xf6\\x44\\xa4\\xe7\\xae\\xbf\\xa0\\x23\\xe7\\xf7\\x25\\xab\\x1b\\x6d\\xe1\\xaf\\xf8\\xaf\\x36\\xa2\\x79\\xfd\\x71\\x42\\xf4\\xf3\\x1d\\xbf\\x14\\xff\\xba\\xda\\x71\\xf6\\x25\\x7f\\x5d\\x76\\xa2\\xe0\\x3f\\x1c\\x44\\xfe\\x43\\x0d\\xb5\\x38\\x97\\xa5\\x6a\\x6a\\xea\\xf8\\x68\\x5a\\xe7\\xf0\\xf9\\x74\\x51\\x58\\x5b\\x47\\x65\\x32\\xc8\\x83\\xc8\\x24\\xbc\\x92\\x0b\\x1d\\xf7\\xb4\\x3e\\xe1\\xd2\\xbb\\xf4\\xc1\\x44\\xc2\\xdc\\x23\\x27\\x98\\x20\\x32\\x53\\xc1\\xc1\\xb0\\x56\\x68\\x6e\\x2a\\xe4\\xd1\\x49\\xdc\\x89\\xa1\\xe6\\x57\\xf5\\x28\\xb4\\x66\\x4e\\x1b\\xa7\\x42\\x5b\\x61\\xaf\\xc2\\xe9\\x52\\xc3\\x29\\xee\\x42\\xe2\\x56\\x74\\xbb\\x3b\\x9e\\x5e\\xf2\\xcf\\xb7\\x3e\\x7c\\xeb\\xfc\\xe5\\x7d\\xf4\\x8a\\xab\\x2f\\x53\\x9e\\xb8\\xfa\\xa8\\xf2\\xe4\\x2f\\x51\\xb8\\xb2\\xa4\\xfb\\xd1\\x75\\x5b\\x37\\x16\\xdc\\x8a\\x6b\\x1e\\x69\\x1a\\xa5\\xfc\\x05\\xf9\\x15\\xff\\x50\\xde\\x8f\\x81\\xf5\\xb8\\xf0\\x4a\\x99\\x56\\x51\\x7f\\x17\\x68\\x78\\x03\\xb9\\x59\\x67\\x89\\xa1\\x7b\\x1f\\x26\\xce\\x05\\x4d\\xb9\\x94\\x89\\xec\\x3e\\x62\\xd7\\xdc\\xd4\\xa4\\x5c\\xdc\\x21\\x98\\xed\\x56\\x49\\xb2\\x0b\\x90\\xe2\\x8c\\x46\\x2f\\xe5\\x71\\xb1\\x3c\\xe0\\x91\\x13\\xcc\\xfb\\x38\\x06\\x30\\x25\\xa8\\xa3\\xd9\\x42\\xf6\\x5e\\xad\\x5b\\x28\\x39\\x5e\\x62\\x09\\x55\\x39\\xb0\\xbb\\xd8\\x54\\x93\\x68\\x00\\xcd\\xc9\\x14\\xe7\\xa2\\x27\\x6d\\x02\\xf3\\xc1\\xe5\\xd7\\x82\\x4d\\x6b\\x95\\xb1\\xbf\\xf2\\x2b\\xcc\\x9c\\xf8\\x79\\xfd\\xfd\\x34\\xbd\\xca\\x10\\x6f\\x62\\xbe\\x6d\\x6b\\xf3\\x9d\\x78\\x10\\xce\\xc1\\x6f\\xd0\\x27\\xa0\\x32\\xfc\\xa0\\x25\\xb2\\x11\\xd8\\x98\\x3f\\xfd\\xf0\\x36\\x3b\\x76\\xe9\\x1a\\x5c\\x7b\\x81\\xf4\\xd2\\xff\\x20\\xff\\xb8\\x82\\x92\\x73\\xb5\\x7e\\x18\\x4d\\x39\\x8c\\x46\\x9e\\x87\\x29\\x98\\xa9\\x74\\x3a\\x2d\\x89\\x44\\x0c\\xb9\\x43\\xbc\\xce\\x23\\xd8\\x85\\x76\\x14\\x63\\xa8\\x8f\\xd3\\x16\\x89\\x42\\x06\\x83\\x72\\x96\\x91\\x00\\x63\\xd7\\xa8\\x24\\x48\\x2c\\x33\\x1a\\x2a\\x02\\x79\\xd9\\x93\\x9b\\x2d\\x5f\\xf8\\xe5\\x28\\x54\\x9c\\xa0\\x0b\\xc4\\x9c\\xfb\\xd6\\xe1\\x12\\x86\\x48\\xb5\\xec\\xab\\x79\\xdc\\x88\\xb1\\x67\\x83\\x8b\\x9e\\x75\\xdc\\xb6\\x03\\xac\\x28\\x23\\x89\\x54\\xb4\\xea\\x2f\\xe5\\xd2\\x2b\\xce\\x5d\\xbb\\x9a\\x4e\\xb9\\x5b\\xfb\\xcf\\xdb\\x7e\\x3b\\xb9\\x2b\\x35\\x03\\x9f\\xd3\\x0b\\x91\\x5c\\x02\\x15\\xcc\\xf1\\xd0\\x8e\\x0e\\x40\\xbb\\xcc\\x51\\x94\\x09\\xcd\\x5b\\x2c\\x21\\xa7\\xd2\\x26\\x57\\x00\\x34\\xc2\\xd4\\x34\\xd7\\x5d\\x8e\\x99\\x89\\x6b\\x2b\\x2b\\xea\\xc2\\xeb\\x1d\\x17\\xae\\x63\\x3a\\xdd\\xad\\xc7\\x67\\x8d\\x6f\\xb2\\x4c\\x77\\x85\\x55\\xdf\\x91\\xd4\\x39\\x91\\xfd\\x1d\\x91\\x0b\\x20\\x83\\x27\\x98\\x2c\\xc8\\xfb\\xa5\\xf4\\x06\\x3d\\xd2\\xe0\\x06\\x03\\x63\\x29\\xb0\\xdf\\x17\\xbd\\x95\\x62\\x62\\x55\\x1d\\x16\\x14\\xab\\xdc\\xb4\\x23\\x9a\\x95\\xe8\\x2a\\xd2\\x61\\x4c\\xca\\xff\\xfa\\xe8\\x1b\\xfa\\xdf\\x26\\xc5\\x7d\\x95\\x6b\\xc0\\x1b\\xa4\\x84\\xa0\\x76\\x8d\\x5a\\xdb\\xc0\\x55\\xb0\\x5d\\x54\\x18\\xf9\\xe4\\x55\\x2e\\x86\\x31\\x04\\x69\\x10\\x72\\xfb\\xfd\\x21\\xda\\xc0\\x44\\xa2\\x6e\\xf2\\x94\\x46\\xbb\\x6c\\x36\\x17\\x0d\\x75\\x5e\\x0b\\xfa\\x7b\\x9d\\xa1\\x07\\x23\\xff\\xdb\\xa9\\x96\\x12\\x46\\x7c\\xa2\\xc1\\xa8\\xec\\x90\\x2b\\x54\\x01\\x40\\x7e\\x8f\\xc8\\x25\\xd1\\x30\\x87\\x0b\\x4c\\xf9\\x2e\\xae\\x42\\x99\\xa2\\x98\\xce\\x3f\\xd8\\x3f\\xb7\\xef\\xf5\\x43\\xdd\\x0b\\xba\\x70\\x06\\x82\\x5e\\x74\\x29\\x78\\x79\\x97\\x32\\x81\\x6e\\xbf\\x9c\\xde\\xb0\\x58\\x69\\xc5\\x93\\x85\\xbd\\x87\\x5f\\x70\\x2b\\xfd\\xb7\\xb8\\x07\\x94\\x37\\xe9\\x28\\xe6\\xcc\\x57\\x2e\\xe9\\xb7\\xf9\\xd4\\xf5\\x3b\\x85\\xf0\\x4e\\xde\\x83\\xf4\\x70\\x4f\\x6e\\x98\\x9b\\x65\\x8d\\x21\\x48\\x87\\x3d\\x81\\x40\\x18\\x1a\\x99\\x58\\x3c\\x04\\xa7\\xcb\\xee\\x90\\xde\\x17\\xf4\\xf8\\x90\\x23\\xe5\\xe3\\xad\\x52\\xa7\\x6c\\xb7\\x02\\x3a\\xcc\\x42\\xa3\\xde\\x88\\xf6\\x4f\\x2f\\x95\\xd0\\x68\\x14\\x43\\x22\\x5c\\xf3\\x33\\x58\\x9e\\xd2\\xaa\\x9e\\xb2\\x24\\x4a\\xb1\\xf0\\x87\\xee\\xd3\\xaa\\x7b\\x0a\\x19\\x95\\x62\\xe5\\x4f\\xb1\\xc0\\x07\\xfe\\x5a\\xcb\\xb0\\xf4\\xdf\\x50\\x52\\x00\\x84\\x64\\x71\\xa1\\xb3\\x30\\x9c\\xd4\\x70\\xa0\\xe8\\x92\\x13\\xed\\xf8\\x14\\xa0\\x38\\x1c\\x9f\\x02\\x0b\\x3a\\x6c\\x16\\x4a\\xe3\\xcb\\x94\\x4a\\x8a\\xd5\\xca\\xa0\\x29\\x86\\x1c\\x05\\x74\\x10\\x54\\x36\\xc4\\x8b\\x2e\\x42\\xc7\\x70\\x23\\xbd\\xbd\\xff\\x39\\xf2\\xda\\x3c\\x7a\\x19\\x3d\\x0c\\x1d\\xf0\\x73\\x97\\x91\\x35\\xb4\\x53\\x14\\xfc\\x12\\xad\\x61\\x04\\x69\\x98\\x4a\\x10\\x09\\xf8\\x82\\x06\\x96\\xe3\\xec\\x46\\xb3\\xc1\\x47\\x47\\xf4\\xb1\\xa8\\xcf\\x1c\\x34\\x18\\x69\\x8e\\xf3\\x53\\x6e\\xfb\\x0c\\xd9\\x6d\\xed\\x92\\xdd\\x00\\x70\\x78\\xe5\\x54\\x88\\x0c\\xbb\\x6b\\xb0\\x2d\\x8e\\xc4\\x20\\xf2\\x9d\\x22\\x8d\\x20\\x05\\x1a\\x81\\xd6\\xe3\\x3b\\x06\\x12\\x92\\x5c\\xa4\\x72\\x9c\\x2e\\xf8\\xe5\\x8b\\xef\\xd9\\x72\\xcf\\x29\\x47\\xc1\\xab\\x36\\xe5\\x3e\\x30\\x6c\\x62\\x6f\\x2c\\x90\\x19\\xe5\\x4c\\x24\\x2a\\xfc\\xbd\\x97\\x64\\x9f\\xdb\\x01\\xa6\\xbb\\x3a\\xe9\\x9b\\x6a\\xee\\x53\\xc6\\x36\\xc0\\x07\\x1a\\x95\\x7d\\x5b\\x40\\xe6\\x21\\x57\\xef\\x9f\\x59\\x83\\x9e\\x99\\xbb\\xea\\xb7\\x5b\\x6e\\x39\\x51\\x39\\x51\\x52\\xf7\\xdf\\x33\\xf0\\x99\\xce\\x8f\\xee\\x4f\\x1d\\x35\\x3f\\x57\\x9f\\xa4\\xa8\\xea\\x30\\x27\\x9a\\xcd\\x3e\\x17\\x57\\xcd\\x36\\xd4\\xd7\\x55\\xf7\\xc8\\x75\\xf6\\xaa\\x54\\xc8\\x8b\\x93\\x63\\xe8\\x5a\\x71\\x9c\\xa1\\xc2\\xcf\\xc3\\x98\\x64\\x90\\x16\\xca\\xd0\\x50\\xe2\\xc7\\x11\\x7f\\xad\\x9c\\x82\\xb0\\x54\\x20\\x95\\xe9\\x3b\\xa5\\x25\\xff\\xd5\\x4b\\x86\\xf1\\x29\\x8b\\xff\\xa1\\xd2\\x9b\\x91\\xff\\xc0\\xd8\\x33\\xec\\xc2\\xa9\\xf7\\x8d\\x68\\x5d\\xe5\\x9f\\xf6\\xfc\\xd8\\xfb\\xf6\\xf6\\xd1\\x53\\x17\\xaf\\x1e\\x79\\x91\\x6d\\x09\\x0d\\x17\\x8d\\x3e\\x25\\x70\\x5a\\x78\\x09\\x1d\\x5d\\x07\\xd6\\x29\\x33\\x3a\\xab\\x46\\x0c\\x1b\\x51\\x35\\x76\\xcb\\x35\\xf0\\x3d\\x7c\\xae\\x4f\\x4c\\xed\\x8b\\x35\\x8d\\x85\\xbf\\x57\\xff\\x3c\\x43\\xb6\\x99\\x99\\xf1\\xf8\\xcf\\x28\\x88\\x98\\x82\\x7c\\x8e\\x45\\xc8\\x16\\xf4\\x21\\x59\\x03\\x54\\x7b\\x2e\\xe5\\x62\\x44\\x37\\x0d\\x44\\x10\\x0c\\x99\\x4d\\xa6\\xa0\\x87\\x72\\x38\\x91\\x15\\x70\\x43\\xda\\xe7\\x84\\x26\\x13\\xae\\xa2\\xed\\x95\\x75\\x3e\\x5a\\xbd\\xaa\\xe4\\x94\\x14\\x4b\\xd9\\xf2\\xf9\\xc0\\x22\\xcc\\x9e\\x2d\\x76\\x52\\x97\\x03\\x10\\x79\\x58\\xea\\x82\\x13\\x2f\\xec\\xb8\\xbb\\x76\\x71\\x58\\x0e\\x0a\\xa3\\x63\\xe3\\x26\\xf6\\x81\\x97\\xe9\\xad\\x07\\xc0\\xfb\\xcc\\x7b\\xc7\\x93\\x4c\\xd3\\xf1\\x96\\xed\\xb7\\xa2\\x3b\\x55\\x83\\x5c\\x8d\\x45\\xb3\\xd9\\xd5\\xde\\xb6\\x13\\x0f\\xd0\\xdf\\xa3\\x59\\x17\\xea\\x3a\\x34\\xde\\xc4\\x4e\\x14\\xf7\\xdb\\xed\\x2e\\x13\\xe7\\xe2\\x34\\x2f\\x55\\x23\\x4f\\xd4\\xa8\\x13\\x71\\x4d\\x4a\\xbb\\x6c\\xf0\\x61\\x02\\x45\\x28\\x94\\x93\\xc2\\x17\\xea\\x32\\x6c\\xf6\\xff\\xff\\x44\\x87\\xc7\\xbf\\x27\\xb7\\xf0\\xa3\\x72\\xa2\\xc3\\x7c\\x4d\\x03\\x3b\\xcd\\xce\\x31\\x3b\\x88\\xed\\xc5\\x3e\\x47\\x37\\xfb\\x32\\xc1\\x35\\x9f\\x9a\\xab\\xf4\\x53\\x26\\xce\\x66\\x8b\\x3a\\x9d\\x0e\\x86\\x62\\xd2\\x15\\x7c\\x45\\xa8\\x82\\x36\\x41\\x06\\x2d\\x3b\\xe3\\xa1\\x3d\\xa1\\x1e\\xd9\\x23\\xd2\\x89\\x1e\\xd9\\x4a\\x23\\xef\\xe8\\xf9\\x82\\xb7\\x51\\xe2\\x65\\x17\\x4a\\xbe\\x84\\x48\\x58\\x24\\xf1\\x4e\\xb1\\x85\\x54\\x87\\x62\\x1e\\xec\\x71\\x93\\xaa\\x01\\x35\\xf3\\x42\\x2f\\xa6\\x9f\\x04\\x7d\\x0f\\x4c\\x09\\x24\\xc7\\x4f\\x1b\\x35\\x69\\x6e\\x4f\\xef\\x29\\x79\\xaf\\x1b\\x4c\\xdb\\xfb\\xf4\\x6f\\xf7\\xee\\xfd\\xed\\xd3\\x7b\\xe9\\xbb\\xe8\\x3e\\xe5\\xdb\\xea\\x26\\xbb\\x5f\\x8a\\x8f\\x1b\\x3e\\x71\\x51\\xfb\\xbc\\xdb\\x87\\x5f\\x77\\x30\\xef\\x7d\\x2b\\x07\\x95\\xaf\\x80\\x1d\\x85\\x50\\xa3\\x81\\x51\\xf9\\x9e\\xd2\\xfa\\xa5\\x99\\x5e\\x66\\x27\\x8a\\x92\\xd3\\x54\\x2e\\x17\\x8b\\x99\\x02\\xac\\xcb\\x8e\\x59\\x59\\x05\\x13\\x5b\\x51\\x29\\xc0\\x76\\x59\\xd0\\x5b\\xad\\xe1\\x0e\\xd9\\x6b\\x15\\xf4\\xc9\\x0e\\x59\\xaf\\x59\\xe6\\xe7\\x55\\x61\\xb4\\x6b\\x91\\x2d\\x40\\xb2\\xe9\\x8a\\x20\\x5e\\xd9\\xb0\\xab\\x54\\xa8\\xd2\\x06\\x68\\xa6\\x77\\xf1\\x19\\x7e\\x95\\x9b\\x11\\x18\\x96\\xb6\\x6b\\x12\\x29\\xd5\\x79\\x92\\x46\\xf8\\xaf\\xd3\\xee\\x1c\\x3e\\x6f\\xad\\xca\\xd4\\xf8\\x44\\xcd\\xf0\\xbc\\x38\\xfd\\xf7\\x16\\x49\\x1b\\x69\\x6a\\x8a\\x32\\x41\\x5f\\x8b\\x62\\x07\\x3b\\x8a\\x40\\x51\\xec\\xcc\\xf9\\xa1\\xcd\\x69\\xb2\\xf9\\x4d\\x30\\x1c\\x22\\x79\\x08\\x68\\x15\\xd1\\xf2\\x33\\x7a\\x0f\\x72\\x83\\x44\\x1b\\x04\\x10\\x05\\xf9\\xbe\\xb2\\x12\\xa7\\x41\\xd1\\x33\\x01\\x98\\x44\\xca\\xd2\\x96\\x4f\\x13\\xb1\\x38\\x68\\xce\\x27\\x90\\x50\\xe0\\xac\\xaf\\x45\\x46\\xf4\\x98\\xf2\\xa7\\x7e\\xe5\\x17\\xca\\x1a\\xb0\\x10\\xcc\\x02\\x3b\\xe8\\x7f\\xf5\\x1d\\xe7\\xde\\x3e\\xfc\\xc2\\xc1\\x71\\x3b\\x62\\xdb\\x94\\x09\\x53\\xbc\\x5c\\xf2\\xf8\\x45\\xdd\\x60\\x11\\xc8\\x81\\x5e\\xb0\\x80\\xff\\xe1\\x2c\\x2f\\x37\\x57\\x39\\x4a\\x5c\\xbb\\x77\\xd3\\x5e\\x66\\xb4\\x5b\\x8d\\x9d\\xdb\\x95\\x69\\xec\\x3f\\x08\\xdf\\x64\\x0c\\xcf\\x9d\\xf5\\xd2\\x8e\\x88\\xc9\\xe1\\x35\\xc1\\x44\\xdc\\xce\\x74\\xc8\\x76\\xde\\x1a\\xec\\x90\\xd1\\x92\\xbb\\xf0\\x92\\x3b\\x68\\x8a\\x46\\xc6\\xe9\\x7f\\x9b\\x3b\\x99\\x7a\\x11\\x15\\xcf\\xe5\\xcc\\x92\\xb7\\x53\\x7c\\x79\\xf3\\x60\\xc3\\xf0\\xe8\\xba\\x87\\xde\\xfe\\x1b\\xee\\x38\\xaf\\xbd\\xfc\\xf2\\x46\\x3a\\xb0\\xec\\x84\\x34\\x7d\\x6c\\x48\\xf6\\x4d\\x19\\x3d\\x46\\x99\\x86\\x1c\\x9f\\x5f\\x28\\xdb\\x7f\\xf8\\xfe\\x9b\\xfe\\x1f\\x8e\\x99\\x2d\\x3f\\xfe\\xe8\\x6e\\xa5\\xe1\\xbe\\x3f\\x83\\xe5\\x26\\xdb\\xae\\x0f\\x3f\\x7a\\x50\\x9d\\x37\\xfa\\x87\\xed\\x22\\xb9\\xd7\\x10\\xce\\xab\\xb0\\x16\\x8b\\x9d\\x32\\x18\\x48\\x36\\x48\\xcd\\x04\\xe1\\x9a\\x1a\\xd6\\xc3\\x7a\\x04\\x3f\\xb4\\x90\\x94\\x90\\xf0\\xbf\\xe5\\x55\\x0a\\xc9\\xd8\\x84\\x10\\xc9\\x77\\x2c\\x94\\xa4\\x83\\x18\\x86\\xbf\\x68\\x5b\\xc7\\x8c\\x4d\\x57\\x80\\x56\\xc5\\x79\\xe0\\x83\\xfe\\x89\\x77\\x26\\xf2\\xb9\\x20\\xf0\\x2d\\x46\\x4b\\x81\\xfb\\x08\\x24\\xca\\x43\\xca\\x7c\\x65\\x36\\xf6\\x0f\\xf2\\x89\\xa0\\x67\\xf0\\x7c\\x7d\\x98\\xd7\\x13\\xd9\\xb2\\x10\\x3a\\xdf\\x48\\xe3\\x24\\x6c\\x3a\\x87\\xc3\\x03\\xa8\\xb0\\xd9\\x4c\\x79\\x60\\x45\\x65\\x80\\xe9\\x94\\xd1\\x67\\x38\\x54\\xb6\\x73\\x1f\\x9f\\xea\\x94\\x79\\xa7\\x21\\xda\\x29\\x1b\\x84\\xd2\\x6c\\x37\\x9e\\xfd\\xf3\\xe5\\x36\\x40\\xed\\x31\\x50\\xc9\\xea\\x4f\\x42\\xd7\\x49\\x36\\x40\\xcc\\x13\\x76\\xd2\\xf7\\x10\\xeb\\xbf\\xfc\\xa6\\x12\\xd6\\x4e\\xcc\\x6a\\x2f\\xab\\xac\\x9d\\xcc\\x5e\\x64\\xfd\\x1f\\x1d\\x57\\xc6\\xdc\\xc9\\x9e\\x83\\xbc\\x82\\x13\\x5d\\x05\\xea\\x4e\\x9c\\xf7\\x1e\\x08\\xb1\\xbb\\xc8\\xda\\x47\\x90\\x47\\x5d\\x67\\x08\\x85\\x28\\xbf\\x31\\xe8\\x66\\xcd\\x66\\x9b\\x2d\\xe8\\x87\\xb1\\xa8\\xcb\\xee\\x40\\x0b\\xce\\x9a\\xf0\\x6b\\xbc\\xfa\\x54\\xc1\\x3b\\x20\\xe6\\xf1\\xec\\x91\\x0d\\x3c\\xda\\x86\\x43\\x65\\xfb\\x50\\xb6\\x11\\xd9\\x42\\x76\\xa2\\xf8\\x5c\\x01\\x4a\\x40\\x7a\\xf3\\xa0\\x35\\x2c\\x92\\x0f\\x2e\\xbb\\xec\\xbe\\x51\\x63\\x6f\\xbb\\xea\\x3a\\xe5\\x9c\\xd9\\x7d\\xfd\\x97\\xdc\\xd9\\x47\\xff\\xbc\\xaf\\x0d\\xa4\\x41\\x5c\\xf9\\x06\\xac\\xdb\\x0a\\x4d\\xdb\\x2e\\xe8\\x7f\\xe7\\xca\\x13\\xfb\\xe9\\x5e\\xe5\\x1f\\x64\\x3f\\x2e\\x44\\xda\\xdf\\x37\\xeb\\x57\\x07\\x95\\xbf\\x4e\\xef\\xff\\x14\\x3f\\xcf\\x23\\x3b\\x30\\x07\\xe9\\x1d\\x0e\\xdd\\xdd\\x34\\xd5\\x9c\\x0b\\x46\\x58\\xb3\\xc7\\xc3\\x8a\\x69\\xa6\\xa2\\xd2\\x2c\\xa6\\x22\\x0c\\x74\\x3a\\x51\\x98\\xef\\x64\\x60\\xac\\x47\\x86\\x65\\x29\\xdf\\x92\\x2c\\x22\\x36\\xc1\\x61\\xcc\\xcd\\x41\\xb0\\x53\\x55\\xa7\\xc2\\xa6\\x41\\xc2\\xd2\\x04\\x3d\\x50\\x0d\\xf3\\x19\\xae\\xfb\\xab\\x73\\x14\\x83\\xbc\\xfb\\x5f\\x17\\xac\\x5c\\x77\\xc5\\xcf\\xce\\xa8\\x96\\x7f\\xff\\xf0\\xa7\\xc7\\xc6\\x2c\\xdb\\xf1\\xd0\\x05\\x2b\\x41\\x68\\xfe\\xee\\x4c\\xf5\\xdc\\x6c\\x24\\x09\\xf6\\x9c\\x73\\xcf\\x39\\xa7\\x26\\x7b\\x5a\\xe7\\x9d\\x36\\xe5\\x09\\xd0\\x92\\x79\\xf2\\x97\\x8b\\x37\\xf6\\x4e\\x1a\\x91\\x5e\\x32\\xf5\\xf3\\xd6\\xfa\\x77\\x54\\xdb\\xd5\\x80\\xfc\\xfe\\x0f\\x08\\x3f\\x27\\x9a\\xb3\\x97\\xe2\\x1c\\x0e\\xca\\x1a\\x45\\x73\\xb6\\x46\\x38\\x2f\\x93\\xb4\\x25\\x03\\xed\\x72\\xd2\\x69\\x33\\xb4\\xcb\\x36\\xe1\\x27\\xe6\\x2c\\x0e\\x6b\\xca\\xcf\\x96\\x2b\\x22\\xd8\\x72\\x79\\xac\\x43\\x3c\\x5d\\x1b\\xf1\\x29\\x1a\\x2e\\xdd\\x7a\\xdd\\xf4\\x09\\x93\\x6b\\x97\\x05\\xc3\\xad\\x8f\\x2c\\xdd\\xfe\\xdb\\x4b\\xb6\\xfe\\x6c\\xe6\\xac\\x39\\xa3\\xcf\\x8d\\x24\\x5b\\x87\\xef\\x9b\\xf2\\xc4\\x41\\x50\\x79\\xce\\x4d\\xd5\\x95\\xe3\\x86\\x65\\x47\\x26\\x02\\x67\\x1f\\x0b\\xdc\\x7a\\xe5\\x79\\x3b\\xab\\x2b\\x5b\\x87\\x9f\\x32\\xb5\\x2e\\xba\\x7e\\x80\\x72\\x84\\xee\\xc6\\xf6\\x6b\\x1c\\xf2\\x85\\x8f\\x92\\x37\\x9f\\x59\\xe4\\xfc\\xd4\\x28\\xd3\\xe0\\xd5\\xec\\x0e\\xf2\\x6e\\x37\\x3a\\x17\\x0e\\xc0\\x98\\xcb\\x68\\x33\\x42\\x98\\x4c\\x85\\xa9\\x4e\\x39\\x1c\\xe6\\x04\\x87\\xc3\\xd2\\x29\\x3b\\x7c\\x9c\\xb7\\x53\\xe6\\x40\\xe1\\x02\\x08\\xcf\\xe3\\x47\\x94\\xa2\\xaa\\x2f\\xe2\\x98\\xda\\xd5\\x18\\x0b\\x57\\x45\\x10\\xb5\\x63\\xe3\\x60\\x09\\x68\\x31\\x00\\x73\\x2e\\xbb\\x74\\xee\\xa3\\x4f\\xb7\\x34\\x79\\xdc\\x99\\xdc\\x0c\\xf9\\xa9\\x57\\x92\\x95\\xa9\\x91\\x23\\x53\\xa9\\x91\\xa3\\xe0\\xb1\\x4b\\xbb\\xbb\\x2f\\x51\\x5e\\x50\\xfe\\x70\\x62\\xd3\\x9a\\x6b\\xc4\\x73\\x3f\\xb4\\xbf\\xf1\\x1b\\x26\\x2d\\x80\\xe1\\x23\\xd3\\xf8\\x3b\\xd2\\x23\\x49\\x0d\\x87\\x32\\x8d\\xd4\\x70\\xc4\\xa8\\x09\\xb9\\xb8\\x29\\xcc\\x40\\x9f\\x20\\xc0\\x30\\xd6\\x90\\x5e\\x97\\xb7\\x43\\x96\\x72\\x0e\\x17\\x6f\\x09\\x76\\xc9\\x16\\x27\\xa5\\xeb\\x94\\x21\\xd6\\x8f\\xaf\\x16\\x00\\x8d\\x0a\\x74\\xa1\\xe5\\x60\\xa8\\x6a\\x95\\xe6\\x68\\xa0\\x8b\\x9d\\x8c\\x3c\\xd4\\xc1\\x81\\xf5\\x6a\\xa1\\x66\\xe3\\x48\\x97\\xab\\x94\\x46\\x74\\xab\\x32\\x0d\\x17\\x69\\xae\\xbf\\xb4\\x91\\x2e\\xa7\\x13\\xdd\\x7c\\xf8\\x4f\\x84\\x5f\\x53\\xab\\x9d\\x71\\x52\\x4d\\x39\\x3f\\x4d\\x71\\x26\\xbb\\x49\\x4f\\x31\\x6e\\x17\\x4b\\x5b\\x24\\x4b\\xaf\\x2c\\x0d\\x2d\\xb1\\x2d\\x7b\\x29\\x54\\x75\\x49\\x06\\x0c\\x51\\x7f\\x6c\\x33\\xa9\\x76\\x79\\xab\\xdf\\xfb\\xd6\\x93\\x79\\xb5\\xc7\\xd8\\xe0\\xa1\\x1f\\xec\\xc7\\x6f\\x26\\x97\\x6b\\x65\\x2d\\x51\\x76\\xf9\\x9a\\x97\\xd7\\x49\\xec\\x33\\x3e\\x87\\xae\\x03\\x4e\\x08\\x38\\x79\\x67\\x3c\\x16\\x84\\x9d\\x72\\x10\\x18\\xdc\\x5e\\x37\\x8a\\x1e\\x78\\x91\\xf3\\xf2\\xa2\\xa5\\x4b\\x16\\xf3\\x8f\\x0e\\x64\\x73\\xcb\\xbb\\x8a\\xb5\\x9c\\x07\\x51\\x6e\\xa5\\xd4\\xaa\\xda\\xa2\\x35\\x6b\\xb4\\x31\\x12\\xbd\\x3e\\x8e\\xd4\\x5a\\x69\\xc9\\xcb\\xa5\\xcf\\x3f\\xde\\xb8\\xc2\\xc3\\x6c\\xd9\\xec\\x1e\\xd8\\x58\\xe0\\x5b\\x25\\x2b\\x16\\xc1\\x0a\\xcd\\xf4\\x2d\\xae\\x33\\x42\\x7e\\x6b\\x33\\xf1\\x5b\\x27\\xe6\\xe2\\x68\\xad\\x24\\x8f\\xcf\\x27\\x59\\x29\\x26\\x14\\x44\\xcb\\xe5\\xf1\\x7b\\x16\\x22\\x33\\x6d\\x41\\xbf\\xec\\x7e\\x68\\x37\\xf4\\xca\\x76\\x5f\\xbe\\x06\\xbd\\x48\\xdc\\x33\\x68\\x63\\xd5\\xb5\\x2b\\xbf\\x42\\x8d\\xf9\\xb4\\xaa\\xb6\\x84\\xf3\\x26\\x54\\x4e\\x14\\x83\\x72\\xfa\\xc6\\xce\\xf7\\xbf\\xd1\\x0a\\x89\\xf0\\x32\\xfe\\x78\\xc7\\x69\\xbd\\x5e\\xd7\\xa3\\xca\\x1f\\xcc\\xf6\\x7f\\xbd\\xc7\\xbc\\x88\\x4b\\x89\\x48\\xdf\\xc8\\xc0\\x17\\xdc\\x34\\xe4\\xeb\\x55\\x50\\x53\\x72\\x29\\x9b\\xd1\\xef\\x62\\x42\\x14\\x15\\x67\\x8c\\x4c\\x65\\xc6\\x8f\\xfc\\x08\\xbf\\x5f\\x67\\x71\\xab\\xb1\\x79\\xca\\x6b\\x81\\x3a\\xc7\\x42\\x59\\xa7\\x29\\xaa\\xec\\xf3\\xda\\xd6\\x6a\\xa0\\x95\\xa5\\xef\\xa3\\xe8\\xaa\\xdb\\x1c\\xc8\\xb9\\x88\\x97\\x85\\x09\\x6a\\x8e\\x40\\xc5\\xcc\\xd2\\x9c\\x25\\x6e\\xda\\xbe\\xbb\\x94\\x6f\\x7f\\x50\\xfe\\x47\\xf9\\xf0\\x56\\x7a\\x6d\\xdf\\xbd\\x77\\x6c\\xdb\\x75\\x00\\xd4\\x2d\\x98\\xa1\\x79\\x4a\\xac\\x77\\xed\\x33\\xd5\\x4a\\xf0\\xd3\\xff\\x1c\\xff\\x02\\xb2\\x24\\x3a\\xf8\\xe2\\xee\\xbe\\xdd\\xf7\\x42\\xc9\\xdb\\xa6\\xbc\\x15\\x9a\\x96\\xcc\\xfb\\x4b\\xaa\\xde\\xc2\\xf5\\x2a\\x1f\\x22\\x1f\\x2f\\x4d\\x4d\\xcf\\x65\\xec\\x16\\x3f\\xc3\\xb8\\xf4\\x31\\xbd\\x05\\x99\\xbf\\x20\\x45\\x55\\xba\\xad\\x82\\xb5\\x5d\\xd6\\x4b\\x7e\\xbf\\xa4\\x87\\xba\\xa4\\x57\\xe0\\x4d\\x4e\\x1d\\xd3\\x2e\\xeb\\xb4\\x67\\x06\\x24\\x50\\x49\\x54\\x5f\\x4c\\x4d\\x96\\xf8\\x7c\\xf8\\xd4\\xa6\\x4e\\xc2\\x53\\x2b\\x95\\xfa\\x7f\\xcc\\x87\\x57\\xae\\x9b\\xaf\\xdc\\x6c\\x1d\\x44\\x5b\\xbb\\x50\\x13\\x09\\xfe\\x6b\\xc5\\xde\\xa6\\xfe\\x67\\xdc\\xad\\x43\\x49\\x6c\\x1f\\xac\\x6f\\x29\\x11\\x08\\x50\\x0b\\x06\\x8e\\x71\\x16\\x74\\x7e\\x2a\\xa8\\xd9\\xb9\\x9a\\x94\\xdb\\x1f\\xb3\\xea\\xd0\\x41\\xb1\\xeb\\x62\\xee\\x08\\x57\\x99\\xb1\\x06\\x8c\\x11\\x9e\\x8b\\x43\\x5f\\x04\\xfd\\x92\\x50\\x60\\x61\\xe1\\x02\\xba\\x28\\x94\\xa8\\x1e\\x59\\xb2\\x6b\\x5b\\x84\\x2b\\xbc\\xd5\\xe3\\xa4\\xb1\\xec\\x0c\\x8a\\xee\\xd4\\xd7\\x07\\x88\\x1f\\xaf\\xd1\\xc1\\x72\\x39\\x19\\xc9\\x81\\x9d\\xf1\\xc6\\x61\\x54\\x0b\\xd0\\x5e\\x7f\\x20\\xd1\\xd9\\xb0\\xf1\\xe9\\x57\\x6f\\xdd\\xec\\xa2\\x57\\xbb\\x66\\x8f\\xee\\xdc\\xbf\\x92\\xfd\\x0e\\xe8\\x94\\x0d\\xca\\xbd\\xca\\x2e\\xe5\\x1a\\xc0\\x7d\\xcf\\xae\\xdc\\xdf\\x39\\x7a\\x36\\xfe\\xdb\\xcd\\xb7\\xbe\\x32\\xfb\\x4f\\x2f\\x3d\\xfa\\x8a\\x13\\xec\\x53\\xae\\xbc\\x52\\x58\\x9e\\x50\\x5e\\xfc\\x8f\\x72\\x0c\\x58\\x7f\\x38\\x4c\\x0d\\x24\\x96\\x0b\\x57\\x82\\x2b\\x95\\x4e\\xe7\\xab\\xfb\\x5f\\x7c\\x57\\x3b\\x7b\\xcc\\x09\\xb6\\x0b\\xdd\\xe3\\xc6\\x9c\\xcf\\xab\\x73\\x58\\x28\\x8b\\x0e\\xe2\\x6b\\xcc\\x88\\x68\\xaf\\x90\\x47\\x05\\x8d\\xae\\x85\\xb2\\x51\\x2c\\x8d\\x89\\xca\\x54\\x89\\x6a\\x57\\x4e\\x7a\\xd2\\x34\\xd3\\x03\\x13\\x1d\\x57\\x5e\\xb5\\x61\\xd0\\x09\\x1b\\x3b\\x2a\\xd2\\x6a\\x0f\\x32\\x2d\\xdf\\x06\\x7f\\xb1\\xad\\x7f\\xdf\\xe0\\xc3\\x45\\xf7\\xe2\\x8b\\x72\\x1e\\x9a\\x5f\\x9c\\xa2\\xb8\\x06\\xf2\\xae\\x3c\\x32\\x17\\x74\\x1a\\xac\\x36\\x2b\\x05\\x03\\x7e\\x46\\xb2\\x4b\\xc8\\x68\\x03\\x60\\xf6\\xd8\\xa1\\xc1\\x6a\\x46\\x13\\x35\\xdb\\x4b\\xca\\x23\\x6a\\x47\\x94\\x28\\xe4\\x82\\xf3\\xc4\\xe9\\xf2\\x3a\\x4f\\xcb\\x3f\\x8a\\xd8\\x71\\xe2\\x1a\\xa6\\xc6\\x12\\x75\\x4d\\x53\\xe2\\xca\\xf3\\x58\\xf3\\x29\\xcb\\xb6\\xd3\\xfb\\x0f\\x80\\x86\\x7f\\x9f\\xf5\\xeb\\xd5\\x1d\\xcc\\x29\\x1b\\xbc\\xb9\\x71\\xfd\\x4f\\x2a\\x33\\x09\\x14\\xeb\\xfd\\xf4\\x1f\\xf0\\x1c\\xfb\\x5f\\x03\\x6f\\xbd\\x1e\\x54\\xcf\\xbb\\x03\\xe9\\x97\\x55\\xec\\x66\\x74\\xde\\x67\\xe5\\xaa\\x42\\xbc\\x2f\\xa2\\xd7\\x87\\x3d\\x3e\\x64\\xa8\\xc3\\x06\\x8f\\xa7\\x02\\x00\\x7f\\x22\\xc1\\x74\\xc9\\x09\\xca\\x1b\\xf2\\x87\\x50\\x7c\\x23\\x58\\xfc\\xbc\\xc5\\xd1\\x29\\x5b\\x0a\\x7a\\xa6\\xb6\\xbc\\x2c\\x85\\x94\\x79\\x17\\x2e\\x72\\x7e\\xe6\\x56\\x30\\x88\\x80\\xb3\\x59\\x95\\x40\\x04\\x2a\\xdb\\x1c\\xbb\\x6a\\x54\\x65\\xa0\\x3a\\x3d\\x72\\x58\\x93\\xd2\\x3a\\xbe\\x77\\x75\\x09\\x17\\x67\\x95\\x46\\xd4\\x09\\xac\\xb9\\xf9\\xab\\x3a\\xea\\x47\\x0d\\x67\\xae\\x3d\\xdf\\x55\\x39\\x7b\\xc3\\xf1\\x27\\x1f\\xb8\\x31\\x4f\\xca\\x79\\x7a\\x81\\xaf\\xf3\\xd0\\x43\\x5b\\xc6\\xeb\\xcc\\x58\\x2e\\x52\\x43\\x44\\xde\\x0a\\xe7\\xe6\\x6a\\x18\\x1d\\xd4\\xeb\\x1d\\x36\\x49\\x90\\x20\\xb4\\x08\\x14\\xe3\\xf7\\x09\\x16\\xbd\\x55\\xdf\\x2b\\x3b\\x58\\x0e\\x05\\x3f\\x36\\x8e\\xa3\\xad\\xd0\\x0b\\x25\\x1a\\x6d\\x0a\\xad\\xed\\xc3\\xa0\\x6c\\x61\\xe1\\xcc\\xa0\\xab\\x90\\x07\\xd1\\xc5\\x49\\x9a\\x08\\x8a\\x97\\xf3\\x4f\\x52\\x20\\x22\\x45\\x00\\x72\\xa4\\x9a\\x45\\xe6\\x4b\\xdf\\xf1\\x1b\\xc1\\x42\\xe5\\x33\\xb0\\x04\\x34\\x7e\\xfd\\xd1\\x82\\x90\\xcc\\x98\\x95\\x57\\xd0\\x79\\xdf\\x8d\\x02\\x50\\xf7\\xb9\\xef\\xd7\\x8f\\x04\\x1b\\x95\\x8b\\xce\\xa5\\xa5\\x35\\xe0\\x8f\\x8e\\x23\\xa0\\x6b\\x85\\x52\\xb3\\xa6\\xff\\x43\\xa7\\x09\\x50\\xa5\\xfc\\xa2\\xf8\\x9d\\x6d\\x94\\x28\\x38\\x78\\x07\\xcd\\x02\\x8e\\xe3\\xbd\\xbc\\x05\\x30\\xfe\\x80\\x95\\x6b\\x97\\xad\\xbc\\x08\\x19\\xd8\\x21\\x0b\\x0c\\xcf\\x84\\x18\\x9a\\x37\\x87\\xcc\\xb4\\x19\\x7a\\x18\\xb3\\x99\\xf1\\x40\\xca\\xc2\\x53\\x0e\\x14\\x03\\x69\\x4a\\x49\\xd5\\x48\\x2a\\x67\\x66\\xd1\\x78\\xe5\\x85\\x69\\x50\\x85\\xc9\\x36\\x8a\\xb1\\xc6\\xac\\x58\\xe0\\xd0\\x84\\xc8\\x94\\xc1\\x3c\\x8f\\xe6\\xeb\\x77\\xbe\\xf3\\x60\\x9e\\x49\\xf3\\xd9\\xed\\xaf\\x3f\\x91\\xe7\\xd2\\x04\\x57\\x2f\\x03\\xa7\\xa8\\x74\\x9a\\xca\\x1d\\xcb\\x94\\x87\\x34\\x46\\x4d\\x2c\\x43\\x95\\x32\\x81\\xe9\\x41\\xeb\\x1f\\x42\\xe7\\xaa\\x86\\x81\\x92\\xd3\\xcb\\x7b\\x6c\\xa6\\x40\\xc0\\xc6\\x3b\\x21\\x1b\\x8e\\x78\\xec\\x2e\\x7b\\xaf\\x2c\\x78\\xbd\\xc8\\x77\\x85\\x5e\\xa7\\xd3\\x0b\\x21\\xe5\\x82\\x94\\xbe\\x47\\x8d\\xdc\\x0a\\xb3\\x2e\\xe7\\xfa\\x2a\\x7d\\x64\\x20\\x95\\x16\\xf9\\xc7\\xcf\\x0c\\x68\\x2c\\xee\\x02\\x43\\x49\\x02\\x05\\x3e\\xf8\\xe2\\x77\\xcc\\xfc\\xaa\\x86\\x7b\\x46\\x3d\\xd6\\xf7\\xc6\\xb1\\x36\\xb0\\xf9\\xc2\\xbf\\xcf\\x0f\\xc9\\xf0\\x0a\\x65\\x2a\\x70\\xa0\\x80\\x7e\\x9f\\x32\\x21\\x0d\\x16\\x7d\\x27\\xf9\\xbf\\x52\\x3e\\x7a\\x6b\\x05\\xed\\x25\\x9b\\xd0\\xff\\x66\\x52\\xf9\\xee\\x0b\\xe5\\x5f\\xca\\x1f\\x55\\x19\\xda\\x90\\x0c\\x97\\x11\\x19\\xa6\\xe5\\x2a\\x25\\xc8\\xeb\\x38\\x5b\\xc0\\x68\\xd3\\xe1\\xf9\\xeb\\x78\\x3d\\xdf\\x2b\\x73\\x38\\x64\\xe3\\xfc\\x9c\\xc9\\x84\\xe2\\x69\\x4a\\x0f\\x29\\xf7\\xe0\\xf9\\xdb\\xb2\\x27\\x89\\xe1\\x50\\xbc\\x3c\\x8c\\x4a\\x80\\x3c\\x04\\xb3\\x4a\\x04\\x9a\\x37\\xc8\\x90\\xa3\\x5f\\x44\\x11\\xf0\\x3e\\x60\\x04\\x0e\\x65\\x2a\\xbc\\x42\\x0e\\xcd\\xff\\xfb\\x85\\x60\\x73\\xdb\\xd7\\x7f\\xec\\x7b\\x6c\\xe4\\xbd\\x0d\\x55\\xf3\\x99\\xdf\\x29\\x13\\x40\\x0d\\x70\\x7e\\x01\\x4c\\x49\\xba\\x6a\\x85\\xb2\\xf7\\x88\\xa3\\xff\\xe3\\x15\\x6f\\x7d\\xa4\\x7c\\xe5\\x97\\xbe\\x53\\xee\\x48\\xab\\x73\\x1f\\xaf\\x4c\\x84\\xd7\\x11\\x1e\\x82\\x8e\\x5c\\x06\\xcd\\x9d\\x63\\x6d\\x06\\x9f\\x0f\\xf9\\x9c\\x4c\\x30\\xc4\\xf1\\x3a\\xbe\\x5d\\x66\\xed\\xe8\\x3e\\xb3\\x5e\\xd6\\x68\\x64\\xbd\\x90\\xd2\\xf1\\x94\\xbb\\xeb\\x7f\\x9d\\xbc\\xba\\xf2\\xf1\\x46\\x41\\x9b\\x3d\\x7e\\x54\\x2b\\x4e\\x1f\\x7b\\x3d\\xf4\\xb4\\x13\\xca\\xb7\\xe0\\x74\\xe5\\x20\\xe4\\x26\\x87\\xc4\\x25\\xa3\\xee\\x00\\xf1\\xd3\\x6e\\xd8\\x70\\xe3\\x75\\x9b\\xaf\\x18\\xb1\\x47\\x99\\xf8\\xd5\\x9f\\x41\\xf7\\x48\\xf0\\x56\\xbd\\xf2\\xe9\\x4e\\xde\\xa1\\x8c\\x1e\\xb5\\x7b\\xcf\\xee\\x6d\\xe1\\x53\\x93\\x15\\xc5\\x39\\x5f\\x89\\xe6\\x5c\\x89\\xeb\\x90\\x8d\\x7e\\x8f\\x25\\xc6\\x30\\x92\\xc5\\x9f\\x72\\x73\\x55\\x19\\x8f\\x25\\x65\\x91\\x24\\x4b\\x0a\\x52\\x4e\\xa7\\xd0\\x2e\\x3b\\x79\\x2a\\x51\\x9c\\x6e\\xf1\\x3d\\xd0\\x36\\xd8\\x8b\\x25\\x74\\x04\\x24\\x8e\\x88\\xc4\\x4a\\x29\\x62\\x55\\xe6\\x10\\x2d\\xf4\\x21\\x13\\xf7\\xdf\\xfc\\xd6\\xaa\\x43\\x8f\\xcf\\x9a\\xac\\x1c\\xeb\\x02\\x15\\x7b\\xc8\\x69\\x87\\x21\\xa5\\xef\\xa1\\xab\\x4f\\x59\\x75\\xd1\\x86\\xf3\\x81\\x6e\\xcb\\x35\\x58\\x82\\x19\\xdb\\x17\\x6f\\x7c\\xd8\\x69\\x1e\\xde\\x78\\xd9\\x28\\x30\\x56\\x3b\\xfa\\x0f\\x04\\x7b\\xbb\\x46\\xb6\\xd7\\xd9\\xa5\\xb3\\x96\\xfe\\x45\\x95\\x06\\xe0\\x0a\\x7a\\xb8\\x1b\\xe9\\xfd\\x38\\x75\\x5a\\xae\\x5e\\xcf\\x1a\\x29\\xa3\\xc7\\xce\\x05\\x7d\\x51\\x4f\\x14\\x19\\x04\\x4f\\x2c\\xc0\\x26\\x13\\x41\\x4e\\xc7\\xf5\\xca\\x3e\\x9d\\x5d\\x67\\x47\\x42\\x59\\x70\\x10\\x07\\xa2\\x54\\xf4\\xa2\\x92\\x52\\xf0\\xc2\\x9b\\x5b\\xd9\\x25\\x28\\xf2\\xc5\\x90\\x8b\\x8b\\xa4\\x6b\\x46\\x6a\\xa8\\xa9\\x10\\x2a\\xd9\\xb4\\x9a\\x28\\x1d\\xba\\xc3\\x84\\xf1\\x43\\x9a\\xfd\\xb3\\x3b\\x96\\xc4\\x94\\x8d\\xe0\\xc9\\x8a\\x15\\x73\\xc7\\x4c\\x09\\x65\\xe6\\x74\\xee\\xe8\\x7e\\xff\\xb3\\xe1\\xd3\\xfb\\x6a\\xb6\\x6e\\xd9\\x4e\\xdf\\xf4\\xdb\\x1b\\xee\\x38\\x27\\xbb\\x66\\xf9\\x86\\x95\\x1b\\xbc\\xde\\xdf\\x81\\x7a\\xbb\\xe7\\x57\\xbb\\xd7\\x9f\\xb1\\xa6\\x61\\xed\\x05\\x57\\xfd\\x0d\\xcb\\x52\\x31\\xf0\\x39\\xc4\\xef\\x68\\x71\\xa4\\x4b\\x1b\\x02\\x02\\xc3\\x19\\xe3\\xc0\\x19\\xe7\\x04\\x24\\x83\\x25\\x8c\\x4b\\xfd\\x68\\xde\\x12\\xb2\\x20\\xfd\\xe3\\xb4\\x38\\x2d\\x22\\x2d\\xfa\\x7a\\x64\\x51\\xa4\\x0d\\x17\\xc9\\x05\\xe0\\xf2\\xc1\\xb4\\x38\\xe4\\x09\\xb1\\x74\\xa3\\xc4\\x22\\x20\\xb9\\x36\\x79\\x5c\\xde\\xa0\\xdd\\x70\\x9b\\x16\\xb1\\xbe\\xfd\\x30\\xec\\xc6\\xee\\xe9\\xda\\xd0\\x82\\x29\\x6f\\xbe\\x71\\xfc\\x5f\\x4f\\x3d\\x61\\x9e\\x3f\\x2c\\x75\\x6e\\xcd\\xc7\\xbd\\x67\\x8e\\xac\\xf3\\x2e\\x66\\xde\\xf5\\xb5\\x29\\x63\\xde\\xb0\\x2b\\x77\\xe9\\x1c\\xbf\\x3b\\xfc\\xd2\\xbb\\x69\\x30\\xe1\\x1d\\xa7\\x0f\\x0c\\xbb\\xfb\\x06\\xaf\\x85\\x9c\\x2f\\x1a\\xc9\\xe1\\x40\\xe7\\x2b\\x8e\\x5f\\xfe\\x8d\\x80\\x65\\x02\\x82\\xc0\\xc4\\x9d\\x80\\x4d\\x24\\x2d\\xe1\\x0e\\x19\\x85\\x1f\\x79\\x01\\x3a\\x90\\xc7\\x6f\\xa0\\x69\\xaa\\x5d\\xa6\\xf9\\x21\\x7b\\xf1\\x5f\\x26\\x2f\\x0d\\x9d\\xbc\\xba\\x2b\\xba\\xd8\\xd6\\x1b\\xe9\\xfe\\xa9\\x99\\x25\\xa7\\x3f\\xe7\\xef\\x18\\xf5\\xe8\\xaf\\x8f\\xbe\\x7c\\xff\\xed\\xc6\\x8e\\x1a\\xff\\xb2\\x8a\\xc3\\x1d\\x0b\\x7d\\x55\\xd5\\x3d\\x70\\xba\\xbb\\x55\\xd9\\x73\\x83\\xf8\\x96\\xce\\x76\\xeb\\xfa\\x5b\\x7e\\x11\\x03\\xce\\x87\\x05\\xf7\\x6b\\x3d\\xb2\\xd1\\xad\\xde\\x0d\\x13\\x8a\\x57\\x36\\xa2\\xf8\\x2e\\x41\\xd5\\xe7\\xbc\\x06\\x2a\\x28\\x08\\x3a\\xca\\xc5\\x24\\x53\\xa2\\xaf\\x1d\\x47\\x27\\x06\\xce\\xd0\\x21\\x43\\x8e\\x2f\\x7d\\xbf\\x2c\\x46\\xd2\\xc5\\x5a\\x7c\\x0c\\x3f\\x0b\\xa4\\x42\\xba\\xda\\x99\\xaf\\x1d\\x81\\x0b\\x67\\x9f\\x75\\xc1\\xb6\\xe7\\x9e\\x8b\\x4c\\x58\\x34\\xa6\\xef\\xf6\\xd6\\x9d\\xf1\\xd6\\xe4\\xa8\\xb9\\xcd\\xe3\\x26\\x4e\\x9f\\xd5\\x18\\xb7\\xc2\\xf1\\x24\\x84\\x9b\\x5a\\x95\\x6b\\x6c\\x5f\\x3f\\x73\\xe7\\x9e\\xa8\\x0d\\x50\\xeb\\xa7\\xb7\\x36\\xb7\\x2c\\xa8\\xae\\x6e\\x9a\\x34\\x89\\xc4\\xcb\\x93\\x94\\x69\\xcc\\xa5\\x28\\xde\\xb7\\xa1\\x3b\\xd9\\x96\\x4b\\xda\\x31\\x57\\xbc\\xc3\\x0a\\xad\\xfe\\x80\\xde\\xce\\xd9\\x6d\\x1d\\xb2\\x5d\\x32\\xb9\\xba\\x64\\x93\\x40\\x1e\\x00\\x91\\x53\\xd5\\xae\\xe6\\x17\\xcb\\x6b\\x73\\xa8\\x11\\xe5\\xc8\\x6d\\x20\\x9f\\x51\\xd1\\xd6\\x95\\x62\\x31\\xc5\\xa8\\xea\\x50\\xd0\\x9c\\x32\\xf6\\x17\\x3b\\xc0\\x53\\x8d\\x8f\\xac\\xfc\\xd9\\x1d\\xca\\xb3\\xca\\xcb\\xa0\\x63\\xf2\\xf8\\x50\\x73\\xe3\\x70\\x92\\x9c\\xeb\\x73\\xb7\\xee\\xe9\\x59\\xf2\\x5c\\xdf\\x3f\\x95\\xdb\\x97\\x2e\\x79\\x14\\xdc\\x76\\xce\\x95\\xb1\\x16\\x19\\xf3\\xbc\\xa0\\xc5\\xac\\x27\\xfc\\x8d\\xb6\\x5f\\xa1\\x13\\x40\\x53\\xe4\\x45\\x4e\\x7d\\x00\\x8a\\xc4\\x6c\\x59\\x50\\x7f\\xd7\\x5d\\xac\\x56\\x6f\\xb4\\x12\\xfd\\x96\\x51\\xb9\\x1e\\x29\\x77\\x0e\\x1d\\x18\\x83\\x9e\\xe6\\x28\\xc0\\xe2\\xa7\\x8f\\x16\\xf5\\xc5\\x5e\\xfb\\x21\\xf4\\x7f\\x3a\\x73\\xd7\\x5d\\xca\\xdf\\xf0\\x0f\\xff\\x78\\x1e\\xf9\\x00\\x80\\xfb\\x55\\x49\\x5f\\xb1\\x88\\xdf\\xa4\\xa0\\xe4\\xb0\\x19\\x8c\\x86\\x85\\xb2\\x15\\x7d\\x10\\xc7\\x2e\\x94\\xed\\x9c\\x11\\xfd\\x82\\x66\\x0a\\xda\\xcb\\x99\\x56\\x6d\\xa5\\x6f\\x52\\x84\\x54\\xa5\\x31\\xdb\\x88\\x1f\\xa5\\xd0\\x2f\\xdc\\x4e\\x41\\xd7\\x1e\\xbc\\xeb\\x20\\xfa\\x07\\xff\\x06\\x8e\\x28\\xd5\\xe0\\xc8\\xd6\\xf5\\x5b\\x69\\x47\\xff\\xe7\\x5b\\xd7\\xab\\xf5\\xd0\\x8f\\x0c\\x7c\\x04\\x7e\\x24\\x35\\x69\\x4c\\x1e\\xf7\\xcb\\xf8\\x18\\xf7\\x8d\\x40\\x70\\xbf\\x84\\x14\\x35\\x9a\\xfd\\xbd\\x5a\\x57\\xad\\x8b\\x93\\x9e\\x25\\x58\\x5b\\xec\\x59\\x42\\xdf\\x6b\\x48\\xb1\\xbb\\x0a\\xdf\\xbb\\x00\\x7f\\xaf\\x80\\xbe\\x97\\x3b\\x85\\xd2\\x30\\xc1\\x74\\x47\\xc8\\xdf\\x4f\\x52\\xff\\x9e\\x39\\x4f\\xfd\\x7b\\xe6\\x63\\xb5\\x76\\x76\\xe0\\x73\\x43\\x90\\xf4\\x04\\x91\\xbe\\x78\\xaa\\x9a\\x9d\\xad\\xe1\\x3c\\x4d\\xd3\\xad\\x25\\xbd\\xe4\\xea\\xd7\\x4f\\xd5\\xbe\\x9e\\x46\\xe7\\xe6\\xf4\\x7c\\x2f\\x3b\\xfe\\x3a\\x3d\\x42\\xed\\x4b\\x46\\x9f\\x73\\x23\\xf9\\x9c\\x7a\\xed\\x73\\x7e\\xaf\\x7e\\x1d\\x7d\\xce\\xd7\\xe4\\xfb\\xeb\\xb5\\xcf\\x51\\xbf\\xde\\xac\\x4c\\xe3\\x6e\\x27\\x5f\\xef\\x52\\xbf\\x8e\\xe7\\x35\\x30\\x94\\x67\\x62\\x23\\xb8\\x49\\xed\\x25\\x73\\x16\\x65\\x2e\\xc3\\x2f\\xc6\\xb2\\x60\\xac\\xe0\\x81\\xa1\\x18\\xfb\\x1b\\x09\\x8e\\x86\\xfe\\x51\\xc0\\x17\\x7e\\x76\\xe0\\x23\\xf4\\x3d\\x67\\xe6\\x71\\x5a\\x05\\x8e\\xde\\xf8\\xc6\\xc9\\x7b\\x3c\\x37\\x92\\x9e\\x0c\\x34\\xae\\x77\\x70\\xdf\\xa8\\xd6\\xd3\\x49\\xc6\\xdd\\x73\\xd2\\x3e\\x8b\\x8d\\xe0\\x41\\x75\\xdc\\x40\\xf1\\x67\\xcb\\xfa\\x2a\\xc8\\xcf\\xfe\\xa5\\xa4\\x17\\x24\\x92\\xff\\x59\\x43\\x35\\x44\\x2b\\x40\\x99\\x1f\\x83\\x34\\x50\\x3b\\xfa\\x1a\\x4b\\x7f\\xfe\\xb8\\xf6\\xf3\\x29\\x6a\\x05\\xf5\\xde\\xc0\\x03\\x6a\\x2f\\x0b\\x72\\xa0\\x42\\x39\\x11\\xee\\xad\\x03\\x75\\x34\\xe8\\x74\\x83\\xbd\\x6e\\xe0\\xce\\x99\\x6d\\x93\\xdd\\x94\\x2d\\xb3\\x60\\x35\\x46\\xd5\\x28\\xeb\\x3b\\x71\\x16\\xc6\\xaa\\x81\\x0e\\x90\\x54\\xc7\\xf2\\x0e\\x19\\x8b\\xbb\\x79\\xf0\\x58\\xd4\\x85\\x80\\xfe\\x3f\\x8e\\x55\\x94\\xab\\x16\\x8d\\x15\\xfd\\xc9\\xb1\\x76\\xe7\\xc7\\x42\\xeb\\x72\\x14\\x30\\x04\\x8b\\x11\\x8d\\x89\\xc7\\x22\\x43\\xd0\\xb0\\xb3\\x0e\\xe0\\x41\\xf1\\x58\\x75\\x27\\x1f\\x2b\\x5a\\x18\\xab\\x0e\\x8d\\xd5\\xa0\\x8e\\x15\\xfe\\x7f\\x91\\x6b\\x1c\\xf5\\xd0\\xff\\x9b\\x5c\\x48\\xc7\\x10\\x0c\\x32\\xf8\\x1c\\xf2\\xd5\\x03\\xd8\\x2a\\x71\\xac\\xc7\\xe3\\x35\\x8b\\x50\\x84\\xa1\\x20\\x1f\\x0a\\x85\\x68\\x03\\x64\\xbc\\x1d\\x28\\x7a\\x60\\xcc\\x94\\x80\\x9b\\x4e\\x05\\x81\\x72\\x76\\x94\\xd4\\x7c\\x94\\xd7\\xa3\\xa9\\x5d\\x62\\x0d\\x44\\x77\\xb2\\xd1\\xe4\\x68\\xa4\\x3f\\x87\\xe1\\xe7\\x0c\\x5d\\x63\\xde\\x30\\xa5\\x90\\xc2\\x8f\\x39\\x82\\x00\\xec\\x7b\\x66\\x0f\\xf8\\xa2\\x6e\\xe5\\x82\\xb9\\x1b\\x9a\\xf7\\xce\\xf8\\xe4\\xfd\\x23\\x2f\\x8d\\x1a\\xf9\\x9e\\x3d\\x23\\xbe\\xf2\\xce\\x74\\xe1\\x96\\xcb\\xc7\\x05\\x4e\\x8d\\x64\\x8e\\xf5\\x7f\\xff\\xcd\\x92\\xab\\xee\\xdb\\x70\\x56\\x63\\xfe\\x1e\\x91\\xf5\\x8f\\xe3\\xf3\\x66\\xa8\\xa6\\x3f\\x28\\xb9\\x3b\\xc7\\xb5\\xbb\\x83\\xd7\\x60\\xaf\\x76\\x8e\\xf6\\xaa\\x6b\\xc0\\xec\\x1d\\x83\\x82\\x3c\\xd8\\x99\\x04\\x7b\\x93\\x20\\x89\\xd7\\x20\\x39\\x78\\xbd\\xd5\\xcf\\x6e\\x2c\\x7c\\x76\\xfd\\xc9\\x3f\\x9b\\xde\\x49\\x3d\\xac\\x7d\\xf6\\xc3\\xe8\\xb3\\x47\\xe6\\x2a\\x60\\x6d\\x03\\x08\\x35\\x80\\xbd\\x0d\\xa0\\x21\\x67\\x10\\x27\\x37\\xd0\\x5b\\x92\\xe0\\xca\\x24\\xe8\\x4d\\x02\\x2a\\x09\\x5e\\x1f\\x34\\x22\\x21\\xce\\x6c\\xc4\\x43\\xaf\\xd6\\xc6\\x25\\xdc\\x2d\\xa4\\xef\\xeb\\x67\\x6a\\x1f\\x17\\x94\\xd5\\x3b\\x9a\\x2a\\xd3\\x0d\\xec\\x25\\xa4\\xd7\\x6b\\x37\\xb9\\x67\\x9b\\xc0\\xcf\\xa8\\x7c\\x4d\\x15\\x40\\xfe\\x5d\\x25\\xf2\\xef\\xb2\\x1e\\x43\\xd0\\x46\\x1b\\xe8\\x4c\\x15\\x08\\x47\\xc2\\xbd\\x72\\x45\\x24\\x1d\\x4b\\xc4\\x50\\x28\\x10\\x11\\x22\\xc8\\x2b\\x8a\\x24\\xec\\xf6\\x44\\x04\\xb2\\x66\\xb3\\x13\\x85\\xf9\\x0c\\xeb\\x47\\x2e\\xd3\\x90\\xda\\x6c\\x8d\\xd7\\xc5\\x36\\x88\\x92\\x9a\\x60\\x33\\x95\\x14\\x4d\\x05\\x81\\xab\\xbc\\xae\\xaa\\xb1\\x88\\x65\\x95\\xe5\\x40\\x59\\xd9\\xd4\\x9c\\x1b\\x2f\\xbb\\xbf\\xa4\\xaa\\xea\\xc3\\x0f\\x71\\x5d\\xd5\\xd5\\x00\\xfe\\xb6\\x58\\x2c\\x65\\x75\\xd7\\x2a\\xaf\\x94\\xd6\\x53\\x5d\\xbf\\xe6\\x72\\x5c\\xec\\x72\\x39\\x85\\xf9\\x13\\x29\\x65\\x14\\x43\\x31\\x3e\\xa4\\xfd\\x86\\x53\\x63\\xd0\\xa9\\xde\\x99\\x9b\\x57\\x39\\x6a\\x54\\x55\\x9d\\x3f\\x6a\\x35\\xf1\\x7c\\x24\\xd2\\xd4\\x64\\x6b\\x1d\\x69\\x40\\x5e\\xac\\xcd\\x3a\\xd6\\x5f\\xa5\\x9b\\x30\\x3e\\x54\\xdd\\x21\\x9b\\xc6\\x8c\\x49\\x46\\x78\\xaf\\x8b\\x09\\x25\\x43\\x49\\x07\\x74\\x64\\x3b\\x64\\x87\\xd0\\x4a\\xe9\\xf4\\xba\\x76\\x79\\x64\\x25\\xaf\\x0f\\xe9\\x6b\\xf5\\x7b\\xf5\\xcf\\xe8\\x5f\\xd7\\x73\\x06\\xa8\\xcf\\x85\\x63\\x93\\xf5\\xb0\\xa5\\x53\\x86\\x7e\\xb2\\x22\\xb5\\x19\\xdc\\x43\\x9e\\x07\\x90\\x29\\x1c\\x6f\\xd5\\x93\\x29\\xa4\\xd5\\xb3\\xb6\\x41\\xbf\\xd0\\x69\\x57\\x8b\\x0c\\xd0\\x6a\\x10\\x3a\\xde\\xe6\\x3c\\x5b\\xb7\\xca\\x80\\x4d\\xa0\\x7a\\x83\\x60\\x24\\x08\\xdb\\xb0\\x57\\x0c\\x1a\\x34\\x67\\x19\\x67\\xa5\\x38\\x5d\\x24\\x19\\x83\\x0d\\xcd\\x11\\x27\\x7c\\xbe\\xe9\\xdf\\x8f\\x3d\\xf3\\xa1\\xa9\\xb9\\x3d\\x79\\xfe\\xc8\\x19\\x0f\\xec\\x7f\\xef\\xe5\\xcc\\xb5\\xa1\\x0f\\x63\\xe7\\x8e\\x79\\xe7\\xb5\\x8e\\x29\\x6e\\x7a\\x62\\xf6\\x28\\x98\\xa3\\xf3\\xf5\\x7f\\x39\\xa5\\x75\\xec\\xd4\\x09\\x2d\\x63\\x66\\x0c\\x97\\x68\\x03\\x73\\xe9\\xde\\xd7\\xc7\\x29\\xd6\\x58\\x7f\\xef\\xd2\\x15\\x0b\\xe6\\x35\\xb6\\xba\\xce\\x6d\\x79\\x7a\\xea\\x7b\\xb7\\x3f\\xc8\\x1b\\xcf\\xc9\\xdc\\x33\\xed\\xaa\\x3b\\xf7\\x98\\xa7\\x05\\xb2\\xca\\x7f\\xdc\\xe9\\x79\\xf4\\xf6\\xf3\\xce\\x3b\\x6f\\xe5\\x4a\\xf4\\x9b\\x12\\xaa\\xac\\x9f\\xa7\\x7c\\x35\\x6f\\x5e\\x01\\x93\\xef\\x9b\\x02\\x26\\x5f\\x11\\xf3\\x33\\x89\\x7b\\x03\\xd3\\x71\\x5d\\xe4\\xbf\\x62\\x0a\\x6e\\xa4\\xb6\\x51\\x04\\x13\\x6e\\x2c\\xc1\\x84\\x3b\\x7a\\x60\\x5c\\xcb\\x10\\x4c\\xb8\\x0a\\xf2\\xf9\\x35\\xda\\xe7\\x3f\\x31\\xc4\\x96\\x10\\xdc\\x1f\\x9d\\x57\\xc5\\x03\\x22\\x9f\\xf9\\x1d\\xb8\\x90\\x7c\\x0f\\xad\\x7e\\x0f\\x7e\\xcf\\x57\\x16\\xe2\\xf7\\x7d\\xf2\\x1e\\x32\\x25\\x57\\xe1\\x0e\\x87\\x2d\\x76\\x16\\x7a\\xf5\\x7a\\x68\\x81\\xa9\\x24\\x9f\\x0a\\xa5\\x68\\x13\\x34\\xa2\\x43\\x6f\\x64\\xd8\\x00\\x8a\\x8a\\xd1\\x09\\x97\\x7a\\x0b\\x35\\x5e\\x6a\\x79\\x50\\x69\\xcd\\x6c\\x21\\x40\\xc3\\x6c\\xe5\\x71\\xca\\x26\\x44\\xc8\\x2b\\x32\\x9b\\x8f\\x24\\xb9\\xd2\\xc7\\x7c\\x78\\xdb\\xea\\x35\\x53\\x94\\x67\\x94\\x3e\\xfa\\x49\\x30\\x17\\xf4\\x2a\\x7f\\x56\\x3e\\xa9\\x3d\\xa5\\x69\\x54\\xfb\\xbc\\xfe\\xdd\\xf9\\xc7\\x7c\\x65\\xe1\\xea\\x33\\x16\\x77\\xe9\\x41\\x0f\\x98\\x46\\xf7\\x29\\xf7\\x29\\x7b\\x95\\x57\\x94\\x5d\\x81\\x39\\x33\\x4f\\x69\\x09\\xcc\\x6a\\x62\\x5a\\x06\\xbd\\xe6\\xe3\\x37\\xe5\\x45\\x70\\x3f\\xf2\\x57\\xbd\\x54\\x92\\x5a\\x9f\\xf3\\x8b\\x2c\\xf4\\x79\\xac\\x11\\xbd\\x15\\xea\\x61\\x3a\\xc5\\xa4\\xd7\\xa7\\x9f\\x4f\\xc3\\x96\\xf5\\xe9\\x9f\\xa7\\xe9\\x34\\xee\\x3e\\x1e\\x31\\x7a\\x32\\xfe\\x77\\xae\\x36\\x9d\\x99\\x7c\\x57\\x1a\\xd0\\x54\\x3a\\x9c\\xbe\\x32\\xbd\\x25\\xcd\\x3c\\x9b\\x06\\x3d\\x69\\x40\\xa5\\x81\\x05\\x9a\\x82\\xe8\\xf4\\x23\\xf5\\xdc\\x29\\x53\\x6c\\x8e\\x8d\\x77\\xc8\\x36\\xd6\\x49\\x6a\\x6f\\xbd\\x6e\\xe1\\xd5\\xc2\\x02\\x20\\x3d\\xd4\\xb3\\x3a\\x93\\x39\\xb7\\x6c\\x29\\x0a\\x2b\\xa1\\x31\\x49\\x93\\x87\\xae\\xc2\\x52\\xc0\\x92\\x6a\\x00\\xfa\\xdc\\xd5\\x6b\\xda\\x5e\\x7c\\xf2\\x9d\\xf7\\x3f\\x78\\xe3\\xce\\x7b\\xea\\xc8\\x22\\xcc\\xc8\\x57\\x02\\x28\\x8b\\xd0\\x1a\\x74\\x9a\\x8f\\x7f\\xfc\\xc3\\xb1\\x1f\\x8e\\xbd\\xf7\\x65\\x60\\xd6\\x1c\\x22\\x3d\\xbc\\x38\\x5f\\x08\\x80\\xcf\\x1b\\xde\\x47\\xac\\xf3\\x40\\x5f\\x09\\x46\\x06\\xc6\\xaa\\xa8\\xc0\\xfc\\x33\\xa9\\x0a\\xbd\\xa5\\x1c\\xa7\\x1c\\xaf\\x13\\xd6\\x7f\\x18\\x17\\xa6\\x0c\\x2f\\xa3\\x12\\x63\\x5b\\xa4\\x2b\\xf5\\xd6\\xb2\\xef\\x27\\x79\\x1f\\xdd\\x28\\xf4\\xfd\\x97\\x68\\x67\\xe9\\x73\\x70\\x2b\\xee\\x22\\x8f\\x69\\xbc\\x44\\x48\\x13\\x06\\x4a\\xce\\x67\\x04\\xc5\\xfc\\x4b\\xf1\\x79\\xa6\\x67\\xaa\\xbd\\x7b\\x67\\x91\\x9e\\xf3\\x08\\xe9\\x39\\x57\\x0e\\xc4\\x42\\x8c\\x6f\\x08\\x2e\\xd7\\x1b\\x1a\\x2e\\xd7\\xc4\\x5c\\x4c\\xa4\\x28\\x27\\xcf\\x5a\\x2c\\x3e\\xbf\\x97\\x77\\x01\\x03\\x74\\xb9\\x3c\\x92\\x24\\x08\\xd6\\x0e\\x59\\x28\\xe0\\x71\\x15\\x8b\\xd3\\xdc\\xb5\\xd9\\x2c\\x01\\xa9\\xc8\\x77\\x2a\\x67\\x4f\\x8e\\xb9\\x25\\x4a\\x30\\x06\\xd1\\x17\\x9a\\x07\\x61\\x6e\\xed\\x3b\\x09\\xe4\\x16\\xf8\\x4f\\x44\\x39\\x0a\\x12\\x79\\xcc\\x2d\\xe2\\x6b\\x13\\xbf\\x35\\x45\\xfc\\xd0\\xd1\\x9a\\x7f\\xaa\\xfa\\xd5\\xc5\\xaf\\x2f\\xd0\\xbe\\xae\\xfa\\xd3\\xd7\\x6b\\xfe\\xb4\\x4e\\xf5\\xa7\\x0b\\x7a\\xe1\\xfd\\xbc\\x5e\\xa0\\x2e\\xa4\\x4d\\x9a\\x5e\\x48\\xa3\\x85\\x9c\\x1a\\x4f\\x9d\\x54\\x2f\\xdc\\x98\\xd7\\x0b\\xd4\\x85\\xd4\\x80\\xba\\x4f\\x70\\x1c\\x52\\x0c\\xbd\\x2d\\x25\\x48\\xa3\\xc4\\x7e\\x21\\x3f\\x5d\\xb7\\x1d\\xc5\\xf4\\x29\\x6a\\x65\\x6e\\xa4\\x9d\\xe3\\x4c\\x5e\\x11\\x86\\x13\\x09\\x68\\x82\\xe9\\x8a\\x58\\xa4\\x47\\x8e\\xf1\\x76\\x5c\\x16\\x62\\x07\\x26\\x68\\xb7\\x1b\\xac\\x1e\\x87\\xcd\\x8c\\xe1\\x6f\\x9c\\x25\\xf8\\x37\\xe8\\x9a\\x53\\xe5\\x79\\xf5\\xc1\\xb8\\x8c\\xa5\\x61\\x68\\x69\\x0d\\x6a\\xa4\\xf4\\xad\\x1c\\xfd\\xd7\\x90\\xf7\\x1d\\x07\\xc7\\x7e\\xf3\\xe9\\x9f\\xfb\\xff\\x9c\\x67\\x7a\\x51\\x41\\x18\\x47\\xb7\\xb5\\x4c\\xbc\\x18\\xdc\\xf6\\x07\\xc7\\x8e\\xdb\\xc0\\x7c\\x0c\\xb5\\x98\\x67\\x7b\\x51\\x04\\xf0\\x35\\xa9\\xac\\x9d\\x7e\\xd9\\xf9\\x6b\\x57\\xd3\\x41\\xcf\\x94\\xfe\\xf3\\xb6\\xdd\\xa1\\xd6\\x01\\xa0\\xf3\\x88\\x6b\\xe6\\xf1\\x79\\x19\\x9f\\x8b\\x49\\x38\\x2e\\x75\\xa3\\xb8\\xd4\\xe7\\xd7\\xdb\\x38\\x1b\\x52\\x51\\x36\\xbb\\xdd\\xc4\\x70\\x4c\\x0f\\xee\\xfb\\xcc\\x17\\xbd\\x50\\x65\\x75\\xb4\\xff\\x35\\x24\\x45\\x2a\\x4b\\x8c\\xea\\x6c\\x4d\\x76\\x64\\x50\\x68\\x93\\xe2\\x7d\\xa8\\x0f\\x7c\\x3a\\xe1\\xb1\\x33\\x9f\\x7c\\x5e\\x59\\xaf\\xdc\\xf6\\x97\\x0b\\x96\\xbf\\xf4\\xda\\xe9\\xca\\x84\\x36\\x1f\\x57\\xef\\x6d\\xfb\\xfd\\xb2\\xb3\\x95\\x4f\\x91\\x5a\\x6a\\xbd\\x8a\\xd9\\x70\\xed\\x89\\x0b\\x17\\x83\\xf3\\x95\\xed\\xbb\\x0a\\x18\\x4f\\xba\\x54\\x01\\xe3\\x69\\x1c\\xb8\\x48\\xbd\\x33\\x1e\\x72\\x67\\x7e\\x7f\\xc0\\xe9\\xb1\\x31\\x43\\x70\\x93\\x8a\\x18\\x4f\\xe3\\x08\\xb7\\x49\\xe1\\xd6\\xec\\x3a\\x10\\x8c\\x78\\x87\\x70\\xe1\\xe9\\x05\\xcd\\xbf\\x4a\\xa9\\xbc\\x76\\xc4\\xff\\xfe\\x88\\x5e\\x47\\x45\\x31\\x86\\x4c\\x02\\x32\\xe7\\x64\\x6a\\x68\\x7d\\x22\\xcf\\x73\\xa7\\x51\\xe3\\x11\\xf4\\xb0\\xc6\\xbc\\x2f\\xa6\\x9b\\x56\\xf0\\xc5\\x08\\x9f\\x0a\\xf9\\x0c\\x33\\xf8\\x2d\\x15\\xcc\\x99\\x99\\xf0\\x18\\xb0\\x72\\xcc\\x58\\x33\\x93\\x18\\xc4\\xae\\x92\\x59\\xd0\\x58\\xf0\\xb5\\xde\\xcf\\xfb\\x5a\\xd4\\x85\\xf0\\x39\\x15\\x7b\\x3a\\x85\\xb1\\xa7\\xc1\\xa2\\x03\\xa9\\xca\\x88\\xab\\x1c\\x87\\x9c\\xbd\\x84\\xc8\\xb8\\x5b\\x1b\\xe7\\x25\\xed\\x3c\\x8f\\x47\\xe7\\xb9\\x67\\xfc\\x24\\xcf\\x60\\x6c\\xde\\x17\\x35\\x1e\\xae\\xdb\\xb4\\xfb\\xa2\\xf1\\x70\\x41\\xa4\\x78\\xe0\\x65\\xb1\\xe4\\xa0\\x9e\\x6a\\xc2\\x21\\x40\\x3e\\xff\\x29\\xaa\\x8c\\xaf\\x01\\x26\\xd0\\xe7\\xcb\\x89\\xb4\\x68\\x28\\xef\\xd9\\x2e\\xe7\\x37\\xa4\\xdf\\xa0\\xaf\\xd0\\xf8\\x04\\x83\\x2a\\x9f\\xe0\\x7d\\x07\\xa4\\x20\\x34\\x94\\x71\\xd0\\xf8\\xcb\\x79\\x74\\xe8\\x37\\xc0\\xe3\\x94\\xca\\xc1\\x50\\xaf\\x72\\x30\\x3c\\x7a\\x20\\x5d\\x6f\\x66\\xcb\\x7e\\x46\\x1d\\xe7\\xeb\\xc2\\x38\\x47\\xe8\\x4f\\x35\\xfd\\x8c\\xc6\\xa1\\xe9\\xa0\\x13\\x1a\\x4e\\xc2\\xbd\\x73\\x4f\\x61\\x8c\\x23\\x34\\x4f\\xce\\x02\\x1e\\x82\\xf0\\x48\\xd4\\x57\\x98\\xd9\\x72\\x7f\\xa0\\x94\\x2b\\x0f\\xc9\\xd1\\xa2\\xf1\\xc0\\xa5\\x54\\x1e\\xb8\\xe7\\x0f\\x04\\x53\\x3e\\x4f\\xd9\\x9c\\x98\\x72\\xee\\x15\\x24\\xc7\\x9d\\x9a\\x1c\\x15\\xaa\\x1c\\xef\\x1f\\x08\\x57\\x88\\xe5\\xfc\\x3b\\xea\\x38\\x5f\\x17\\xc6\\x39\\x42\\x6f\\xd5\\xf4\\x17\\x1a\\x07\\x18\\x52\\x21\\xdf\\xc9\\xb0\\x98\\xef\\x29\\x8c\\x71\\x04\\xfc\\x43\\xb3\\x33\\x68\\x0c\\xda\\x59\\x11\\x11\\xcb\\x30\\x66\\x06\\xf6\\x62\\x63\\x50\\xe4\\xcb\\x43\\x73\\x9a\\xa2\\xc9\\xe1\\x52\\xe5\\x78\\xf1\\x80\\xd5\\xa5\\xe2\\x7b\\xe4\\xe7\\x34\\x80\\x6e\\x17\\xbd\\xae\\xc0\\xbf\\x82\\x7e\\x86\\x7a\\x85\\x52\\x59\\x52\\x24\\x95\\x25\\xe5\\xb1\\x03\\x66\\x89\\xa1\\xcb\\xe4\\x50\\x73\\x00\\x5f\\x17\\xc6\\x39\\x02\\x36\\xab\\x98\\x66\\x2e\\x56\\xb5\\x50\\x2e\\xbe\\x88\\x22\\x82\\xc6\\xf8\\x0c\\x7d\\xff\\x04\\x22\\xc7\\xff\\x68\\xdf\\xef\\x56\\xef\\xa6\\x44\\xee\\xe6\\xb7\\x07\\x24\\x8b\\x3a\\x42\\x11\\x93\\xb9\\x94\\x3f\\x0e\\xed\\xc7\\x7e\\xed\\x5c\\x45\\xd5\\x73\\x75\\xef\\x01\\x4f\\xb4\\x14\\x0d\\x0a\\xfd\\x8c\\xa1\\x9c\\x6b\\x04\\xc9\\xbe\\x4b\\xdb\\x8f\\x98\\xba\\x1f\\xbf\\x3c\\xe0\\x8d\\x95\\xa2\\x41\\x15\\xc6\\xf9\\xba\\x30\\xce\\x11\\x18\\xd6\\xce\\x15\\x1a\\x87\\x86\\xd1\\xc1\\x3c\\x75\\x6a\\x6e\\xe2\\x9e\\xc2\\x18\\x47\\x48\\x39\\x1b\\xfe\\xfe\\x18\\xb6\\xfb\\xb1\\xc1\\x7c\\x26\\x83\\x70\\x84\\x90\\x1c\\x15\\x9a\\x1c\\x15\\xaa\\x1c\\xc3\\xd1\\x19\\x29\\x45\\x29\\x40\\x6b\\xf5\\x4e\\x39\\xae\\x10\\x92\\xe3\\x5c\\x6d\\x3f\\xc2\\xea\\x7e\\x3c\\x7a\\xc0\\x15\\x16\\xd9\\xc1\\xe7\\x0a\\x8d\\xf3\\x75\\x61\\x9c\\x23\\xf4\\x0e\\x55\\x8f\\x54\\x10\\x0c\\xfb\\x9d\\x07\\x2a\\x22\\x06\\x7b\\xb9\\xae\\x44\\x63\\xdc\\x53\\x18\\xe3\\x08\\x78\\x5b\\xc3\\x35\\x40\\x63\\x00\\x63\\xd8\\x2d\\xb2\\x27\\xc1\\xea\\x28\\xf0\\xb4\\x21\\x39\\x7e\\xae\\x9d\\xab\\x84\\x7a\\xae\\x9e\\x3e\\xe0\\x4f\\x88\\xe5\\xbc\\xa1\\x83\\xb8\\x37\\x90\\x1c\\xbf\\xd7\\xe4\\x88\\xa9\\x72\\x3c\\x80\\xf6\\x43\\xef\\x2c\\xfb\\x19\\x75\\x9c\\xaf\\x0b\\xe3\\x1c\\x81\\xad\\x25\\xb8\\xea\\xa7\\x25\\x02\\xa2\\xfe\\x24\\x98\\x20\\xf7\\x14\\xc6\\x38\\x42\\x67\\xd4\\x73\\x15\\xcb\\x7b\\x4a\\x3e\\x75\\x84\\x3c\\xe6\\x51\\xff\\x77\\xa5\\x58\\x42\\xfa\\xe7\\xa9\\xc3\\x1a\\x36\\xc6\\xc0\\x6b\\x07\\xaa\\x2b\\xd2\\x05\\x2c\\xa1\\xfe\\xef\\x4a\\xb1\\x84\\xf4\\xcf\\xd7\\x69\\xdf\\xf5\\x71\\x11\\xef\\x87\\x60\\xe9\\xf4\\x7f\\x87\\xeb\\x50\\xf2\\x58\\x3a\\xfa\\xe7\\xc1\\x42\\x15\\x93\\x83\\x72\\x3b\\x0c\\xa6\\x22\\x26\\x47\\x04\\x7d\\x5e\\x01\\x8b\\x07\\x7f\\xde\\x24\\x15\\xc3\\xd6\\xe7\\xe2\\x1c\\xea\\x77\\x01\\x6a\\x2c\\xb2\\xc9\\xa3\\x91\\x4d\\x8e\\x52\\xb9\\x5c\\xd4\\xe4\\x65\\x6c\\x41\\xa7\\xd3\\xe6\\xa0\\xbc\\x6c\\x2c\\x4e\\x81\\x5e\\x39\\xe2\\x30\\x51\\xe8\\x97\\xd5\\xeb\\xb3\\xea\\x70\\x4d\\x6a\\x49\\x45\\xcb\\xa0\\xe6\\x02\\xdc\\x8e\\xd3\\x14\\x2f\\x29\\x68\\x0b\\x33\\xd8\\x71\\x66\\x70\\x07\\x0b\\xdb\\x58\\x45\\x8a\\x44\\xb8\\x3f\\xfe\\x00\\xec\\x37\\xff\\xfc\\xda\\x45\\x99\\x39\\x1f\\x3d\\x09\\xaa\\x01\\x7d\\xcb\\xe5\\xe0\\x94\\x23\\xca\\x58\\x65\\x1b\\x58\\x0d\\x66\\x2c\\x3f\\x6b\\x07\\x78\\xf8\\x92\\xc4\\x5f\\xee\\xde\\x7e\\xcd\\xe8\\xdf\\x81\\xfa\\x61\\x4f\\xbd\\x74\\xcd\\xd1\\x61\\x0b\\x94\\x77\\x7e\\xfd\\xdd\\xf6\\xe8\\x19\\xc3\\xbe\\x7a\\x6b\\xdd\\xee\\x40\\x9a\\xf8\\x4b\\x23\\x94\\x09\\xf4\\x31\\x14\\x2f\\x44\\xa9\\xc9\\xb9\\x94\\xc9\\xc7\\xd8\\x43\\x6e\\xb7\\x5d\\x02\\x3e\\x34\\x67\\x3e\\x8e\\x1c\\x4f\\x0a\\x74\\xc8\\x11\\x89\\x4c\\x9c\\xf7\\xf9\\x78\\x5d\\x87\\xcc\\x0b\\x83\\x26\\x5e\\xde\\x32\\x58\\x5f\\xd7\\xdc\\x58\\x52\\x8c\\x97\\xcf\\xcf\\xa8\\xf0\\x06\\x2c\\xf9\\xab\\x14\\x77\\xe0\\xea\\x0b\\x5b\\x27\\x8f\\x1a\\x55\\x3d\\xa1\\xe9\\x81\\xf1\\x2f\\x3c\\x74\\xd6\\x79\\x57\\x5d\\xa3\\x3c\\xa6\\xdc\\xfe\\xa7\\x5f\\x5f\\x3c\\xe5\\xf3\\x25\\xd1\\x3b\\xaf\\x5e\\xd9\\x9b\\xbc\\x1d\\x70\\x66\\xf1\\xc6\\x3b\\x16\\xef\\x1b\\x13\\xbe\\xe1\\xb2\\x77\\xff\\x1a\\x9a\\x91\\x7e\\x6c\\xf7\\xe3\\xa7\\x38\\xf3\\x77\\xb2\\x0c\\x0f\\x7c\\x23\\x78\\x5e\\xd5\\x5d\\x21\\xcd\\x17\\x8f\\x04\\x58\\x71\\x08\\x1e\\x38\\xf2\\xdd\\x35\\x3c\\xf0\\x8d\\xd4\\x37\\xc8\\x0f\\xc1\\x67\\x32\\x82\\xac\\x29\\x13\\x0b\\xf9\\x8d\\xe5\\x3e\\xa4\\x32\\x8d\\x73\\xb1\\x93\\x90\\x67\\xd5\\x99\\xab\\xb4\\x1b\\xf5\\x7a\\x0b\\xed\\xb6\\xb8\\x7d\\x7e\\x89\\x5d\\x28\\x4b\\x8c\\xdd\\x24\\xa8\\x05\\x18\\x18\\x26\\xb6\\x47\\x36\\xd9\\xdd\\x2a\\xce\\x91\\x8f\\x2a\\x2f\\x4d\\xcf\\x13\\xd8\\x97\\x7b\\x59\\xb8\\x2c\\xb4\\xac\\x2a\\x5d\\x52\\x71\\x13\\x5d\\x12\\xbc\\xaa\\xef\\x93\\xad\\x7d\\xc4\\x33\\x04\\x9f\\x5c\\xf9\\xce\\x45\\xe0\\xa6\\x87\\x95\\x69\\x53\\xbc\\xac\\xfd\\xf8\\x92\\x13\\xe6\\xbc\\x4f\\x78\\xfe\\x84\\x11\\xca\\xfa\\x1f\\xff\\xe1\\x9d\\x82\\x31\\x2b\\x66\\x28\\x13\\xd8\\x10\\x7b\\x3d\\x5a\\x8f\\x1a\\x74\\x7a\\x57\\xe5\\x46\\xd5\\x06\\x02\\x15\\x51\\x91\\x65\\xb3\\xee\\xb8\\xd9\\x0c\\xdc\\x70\\xc4\\xf0\\x70\\x63\\xa7\\x1c\\xf6\\x11\\x92\\x19\\x8a\\xb3\\x19\\x78\\xbe\\x0a\\x6f\\x60\\x14\\x64\\x3d\\xd9\\xe9\\x32\\xf4\\x78\\x80\\xc1\\x90\\xea\\x94\\x0d\\x4e\\xec\\x1e\\xe6\\x6b\\x1d\\x46\\x14\\xa7\\x8e\\xb3\\x14\\x2d\\x43\\xfc\\xdd\\xac\\x56\\x24\\x1a\\x6b\\x6a\\x4e\\x8e\\x06\\x5a\\xfb\\xb9\\xd6\\x67\\x4c\\xb0\\x40\\x0b\\x6f\\x45\\x5c\\x49\\xb7\\x31\\xa9\\x29\\x25\\xa1\\xde\\x33\\xcb\\x02\\x4b\\xd8\\x51\\x4b\\xc6\\x6b\\x6d\\xc7\\xbd\\x60\\x9d\\xd3\\x79\\xc1\\xc6\\xeb\\xce\\x7f\\x71\\x46\\x8d\\x72\\x77\\xbe\\xf5\\x18\\x7a\\xc6\\xb4\\x49\\xc6\\xae\\x50\\x54\\x99\\x76\\xcb\\x72\\x7f\\xc5\\x5d\\x69\\x9f\\xda\\x88\\xbc\\xe6\\x4b\\x77\\xeb\\x8f\\xe3\\xe8\\x55\\x3d\\xb3\\x97\\x5d\\xd7\\x04\\x5b\\xb5\\x66\\xe4\\x13\\x33\\x22\\xd5\\x9b\\x12\\xc8\\x2f\\x9e\\x80\\xec\\x41\\x98\\x5d\\x46\\xd6\\x64\\x61\\xae\\x29\\x65\\x08\\x43\\x9f\\x54\\xc5\\xf3\\x92\\xdd\\x1d\\xe3\\xa0\\x41\\x5f\\x57\\xcb\\xd9\\x2b\\x82\\xc1\\x8a\\x1e\\x39\\x18\\x74\\x99\\x29\\x9c\\xcd\\xc2\\x14\\x60\\x14\\xe5\\x72\\xb9\\x7b\\x64\\x97\\x39\\xde\\x23\\x9b\\x45\\x2d\\x65\\xa3\\xe2\\x00\\xe6\\xe1\\xef\\xf2\\xb0\\x77\\x65\\x6f\\xc6\\x4c\\x09\\x74\\x47\\x38\\xde\\x48\\xb8\\x11\\x1b\\x85\\x84\\x4b\\x2d\\xe6\\x0c\\xdb\\x70\\x05\\x11\\x72\\xfe\\x85\\x08\\x89\\x73\\xe9\\x0f\\x01\\xfb\\xe3\\x83\\x37\\x3d\\x76\\x48\\x79\\x41\\x79\\x55\\xf9\\x83\\xf2\\xdc\\x8b\\xbf\\xda\\xfa\\x08\\x50\\xc0\\xea\\x33\\x37\\xae\\x03\\xa6\\x33\\x2e\\xac\\xbd\\xff\\x5e\\xe5\\xf1\\x5d\\xbb\\xee\\x61\\x97\\xf1\\xbb\\xef\\xbc\\x72\\x9f\\x5f\\xfc\\xe5\\xc6\\x43\\xbf\\x3f\\xf4\\xfb\\x8d\\xbf\\x14\\xbd\\xbb\\x2e\\x00\\xba\\xe0\\x12\\x71\\xc9\\xac\\xb5\\x57\\x01\\xdf\\x8a\\x2b\\xa4\\xe3\\xa7\\xde\\xb4\\x0d\\x58\\xd7\\x5f\\xb7\\x7d\\x2b\\x45\\x15\\x39\\xcf\\xb6\\x50\\x61\\x64\\xcf\\x3b\\x73\\x55\\x54\\x0d\\x0a\\xdc\\x23\\x94\\xd3\\x2f\\x18\\x53\\x2c\\x6b\\xd4\\x59\\xdd\\x21\\x3f\\xa5\\xaf\\xa9\\xd6\\x85\\xe2\\xa2\\x88\\x42\\x78\\x51\\xa4\\x3d\\x16\\x8a\\xae\\xec\\x90\\xe9\\xb2\\x12\\xc0\\x21\\x32\\xa2\\xbb\\x8d\\x9b\\xf5\\x31\\x8b\\x99\\xa0\\x46\\xf1\\xcd\\xae\\x42\\x75\\x67\\xaa\\x99\\x3c\\xba\\xe9\\xca\\xea\\xfa\\xe1\\x7e\\x4c\\x67\\xf6\\xfd\\xd2\\xd5\\xfb\\x6e\\xa9\\x98\\x3b\\x7a\\xcc\\xd8\\xdc\\xdc\\x8a\\x5b\\xf6\\xad\\x5a\\xf1\\x1f\\xe5\\xe8\\xf8\\x69\\x6d\\x63\\x5b\\x27\\x4f\\x9d\\x00\\x1e\\x53\\x9a\\x3f\\x7f\\x1f\\x4c\\x98\\x15\\xb9\\x61\\xd9\\x95\\x77\\x9a\\xc6\\x4d\\xdc\\x72\\xc5\\x85\\x57\\x9e\\xbf\\x65\\xe2\\x38\\xd3\\x5d\\x6b\\x97\\xde\\x10\\x9d\\xa5\\x3c\\xfb\\xab\\x47\\xee\\x3d\\x78\\x68\\xd7\\x01\\x5c\\xef\\x82\\xce\\xb8\\x1e\\xc5\\x73\\x6e\\x6a\\x6c\\x2e\\x4a\\x4b\\x7a\\xc1\\xc6\\x49\\x16\\x4e\\x60\\xbc\\x1e\\x37\\x2e\\x76\\xe1\\xf5\\xa4\\xc6\\x1f\\xea\\x50\\xd0\\x83\\x42\\x9d\\xc2\\x03\\x73\\xbe\\xd4\\xa5\\xfc\\xd5\\x9c\\x64\\xc7\\x22\\x25\\x25\\x15\\x11\\x55\\x37\\xc1\\x5b\\x2f\\xbf\\xee\\xca\\xfe\\x39\\xf4\\xc7\\x5a\\x49\\x4b\\xbf\\x04\\x1e\\xfc\\xc3\\x6b\\x37\\x3d\\xa8\\x6c\\x9f\\xba\\x7a\\xa6\\x7c\\x2e\\xb3\\x90\\x94\\x51\\x1c\\xbf\\x65\\xd5\\x65\\xd3\\xb6\\xcd\\x52\\x75\\x44\\x5a\\x99\\x00\\xcf\\x26\\x98\\xd2\\xad\\xb9\\x98\\xde\\x46\\x3b\\xed\\x9c\\xd5\\x89\\x0c\\x03\\xeb\\xf3\\x7a\\x7c\\x36\\xbd\\xa0\\x6f\\x97\\x2d\\x02\\xcf\\xf3\\x3a\\x3b\\x67\\x6f\\x97\\xb9\\x42\\x7b\\x56\\xfe\\x1d\\xf3\\xa7\\x26\\x96\\x7f\\xc7\\xd7\\xb4\\x26\\x1d\\xdf\\x7c\\xd5\\x4a\\x65\\x29\\xd8\\x97\\x2f\\x53\\x51\\x3a\\xb7\\xec\\x79\\x7c\\xf3\\x56\\xe5\\x9a\\x33\\x17\\x75\\x2e\\xa8\\x86\\x09\\xf5\\xa9\\xfe\\xc4\\x07\\xe7\\x9c\\xd3\\xb6\\x6d\\x6e\\xc1\\xcf\\x3e\\x5a\\xf0\\xb3\\x77\\x12\\x5e\\x24\\xec\\xdf\\x60\\x4a\\x67\\x4a\\xf4\\x9c\\xd4\\xcf\\xbe\\xbe\\xe0\\x67\\xef\\xcc\\x73\\xed\\xd0\\xb5\\xc8\\xc6\\xc3\\x64\\x95\\x99\\x1d\\xa4\\x1b\\xbb\\x31\\xaf\\x09\\x55\\x4d\\x5d\\x96\\x1b\\xe7\\xf6\\xe8\\x38\\xbb\\x85\\x0f\\xa6\\xfd\\x55\\x66\\x87\\x03\\x80\\x4c\\x55\\x9a\\xe7\\x3c\\xba\\xda\\x9a\\x64\\xa4\\x3a\\xe3\\xf7\\x57\\x5b\\x45\\xb3\\x88\\x22\\x51\\xb3\\x99\\xf1\\xb9\\xab\\xab\\x1d\\xbd\\x72\\x35\\xe8\\x91\\xab\\xed\\x8c\\xa9\\x57\\xd6\\x31\\x0c\\x52\\x9a\\x8c\\x86\\x9d\\xa3\\x75\\x3f\\x53\\x59\\xd2\\xc9\\xad\\xbd\\x16\\xda\\x70\\x2b\\x6e\\xc3\\xa0\\x0a\\x19\\x6d\\xc5\\x5a\\x80\\xed\\x24\\x54\\xdf\\x61\\x02\\xb4\\x99\\x4f\\x8c\\x36\\x3a\\xc9\\x2b\\x75\\xaa\\x39\\x12\\xeb\\xeb\\x63\\x2e\\x9c\\x17\\x5e\\xf5\\xe6\\x1f\\x40\\x0f\\xc1\\xd9\\xbc\\xbb\\x1f\\xd0\\x98\\xf0\\xbb\\xff\\x6b\\xd3\\x93\\x5b\\xce\\xef\\x9e\\x38\\xb9\\x65\\xfe\\x98\\x09\\xf1\\xfe\\x97\\xd5\\x42\\xf5\\xc1\\xa4\\xdf\\x8d\\xbe\\xeb\\x4f\\x3b\\x33\\xd4\\x2d\\xce\\xae\\xaa\\x65\\xaf\\xc3\\x6f\\x1b\\x4a\\x37\\x79\\xdb\\xc0\\xb9\\xc7\\x45\\xb9\\xe6\\xa8\\x29\\xae\\xcb\\x48\\x95\\x4e\\x97\\xcb\\x2a\\x05\\x74\\x26\\x23\\x6d\\xd5\\xd5\\xd5\\xf2\\x75\\xa1\\x3a\\xda\\x00\\x2b\\x9d\\x1d\\x72\\x65\\x65\\xc4\\x66\\x8c\\x46\\x59\\x2a\\x12\\xf1\\x75\\xc9\\xa6\\x88\\xd3\\x96\\xea\\x28\\x94\\x87\\x67\\x49\\x6d\\x75\\x83\\x5a\\xf6\\x50\\x3b\\x34\\x95\\x98\\xaf\\x59\\xce\\xcb\\x92\\x4f\\xa4\\x15\\x70\\x36\\x71\\x8d\\x07\\x0f\\x54\\xf6\\x39\\x15\\x51\\x13\\x3c\\xa7\\x09\\x14\\xd9\\xdf\\x77\\xe4\\xad\\x67\\xf6\\x28\\x62\\xdd\\x59\\xa7\\xcd\\xdd\\x50\\xf7\\xe0\\x2c\\xdd\\x93\\x5b\\x66\\x92\\xe7\\x10\\xa5\\x5b\\x13\\xe7\\x0a\\xcf\\x67\\x1f\\x7d\\xff\\x0d\\x79\\x1c\\xb9\\xa2\\x35\\x70\\x6a\\x28\\x43\\x47\\xb1\\xb0\\x2c\\x73\\xd5\\x7d\\x1b\\x56\\x0e\\xcb\\xfb\\xd7\\xe4\\x7d\\xa4\\x41\\x7b\\x77\\xc3\\x4d\\xaa\\xbe\\x1c\\xcf\\x40\\x1c\\xe2\\xa2\\xdf\\xa1\\x5b\\xf3\\xb1\\x55\\x27\\xb0\\xcc\\xcf\\x3e\\xae\\xbd\\x01\\xe2\\xf7\\x93\\x3d\\xda\\x1b\\xc7\\x1e\\xc0\\xa0\\xbb\\xec\\x63\\x28\\xfc\\x4c\\xe5\\xf4\\x4d\\xc6\\x6f\\x49\\xf8\\x8f\\x06\\x71\\x72\\x1d\\xa4\\xa9\\x38\\x88\\x3f\\x31\\xf0\\xec\\xaf\\x52\\x99\\xc9\\x9d\\xea\\x1f\\x1f\\x0b\\xc6\\x26\\xc7\\x6d\\xc8\\xd6\\x67\\x56\\x67\\xce\\x6d\\xc4\\x0f\\x1d\\x0b\\x32\\xab\\x8b\\xbe\\x3f\\x79\\xcf\\x52\\xe7\\xd6\\x00\\xc3\\x03\\x5f\\xa8\\xd8\\xb1\\x71\\xec\\x9c\\xd3\\xf1\\xda\\x93\\xe2\\xcd\\xee\\xe7\\xd8\\xfc\\xbc\\xe8\\x5f\\x94\\xcc\\xcb\\x4a\\x75\\xe7\\xc2\\x70\\xa0\\x0e\\x7c\\x55\\x07\\x5e\\xc7\\x08\\xfc\\x60\\x00\\x4f\\x2c\\x18\\x9d\\xac\\xce\\x8e\\xbe\\xcb\\x0d\\xdc\\x38\\x6b\\x5a\\x59\\x3f\\xd9\\x4d\\x18\\x55\\xec\\xe9\\xc9\\x18\\xa5\\x96\\xaa\\x6f\\x40\\x61\\x43\\x19\\x5d\\x21\\xbe\\x32\\x19\\x34\\x5f\\x5b\\x26\\xa3\\x3e\\xd0\\x14\\x62\\x95\\xa3\\x85\\x58\\x65\\x27\\x79\\x3b\\x25\\xbc\\x3c\\xe8\\x6e\\x1a\\x5c\\x81\\x93\\xc6\\x2a\\xd7\\x17\\x62\\x95\\x9d\\x84\\xeb\\x10\\x7f\\x7f\\x84\\x60\\xfa\\x06\\x4f\\x86\\xbf\\x4b\\xde\\x9b\\xd4\\xf5\\xa8\\x27\\x7b\\x55\\x5c\\x8f\\xe2\\x4e\\x0d\\x5e\\x8f\\xb1\\x85\\xf5\\xd8\\x89\\xd6\\xe3\\x79\\x6d\\x3d\\xa6\\x50\\x9e\\x1c\\x0f\\xe3\\x39\\x03\\x3f\\x39\\x4e\\xbf\\x1e\\x01\\x7b\\x23\\x20\\x42\\xd9\\x16\\x2c\\x40\\x42\\x35\\x16\\xf1\\xdb\\x26\\x14\\xf0\\xe1\\x36\\x15\\xf0\\x0b\\xdd\\xc8\\x11\\xcb\\x38\\xdd\\x46\\x71\\x28\\x3e\\x1c\\x79\\x73\\x9a\\xaf\\xe5\\x5c\\xf3\\xf8\\x73\\x38\\xc1\\xe3\\x0d\\x45\\xa0\\xb9\\x34\\x27\\x4a\\xe9\\x91\\x6f\\x3a\\x80\\xfc\\x1b\\x89\\x0a\\x52\\x6d\\xb9\\x84\\x17\\xfd\\x90\\x2d\\x1c\\x72\\xb2\\x6c\\xd8\\x68\\xf1\\xd0\\x9e\\x2e\\x99\\xa7\\x69\\x8b\\xc3\\x81\\xf4\\xab\\x83\\xb2\\xf8\\xf4\\xfe\\x4e\\x59\\xaf\\x65\\xb9\\xca\\x5d\\x99\\x22\\xd6\\x19\\xc9\\xd4\\x35\\x15\\xdd\\x13\\x1d\\x76\\x61\\xd4\\xd4\\x28\\x52\\xc0\\x3a\\x82\\xbf\\xb4\\x37\\x9e\\xb8\\x6c\\xd3\\x8d\\xe7\\xbd\\xbc\\xa8\\xc3\\x7b\\x9a\\xff\\x72\\x11\\x79\\x27\\x2f\\x8e\\x1d\\xd7\\x6a\\x3f\\x3d\\x95\\x99\\xca\\x2c\\x9b\\xdb\\xb5\\x68\\x67\\x6e\\xe6\\x1d\\xa7\\x8f\\x9b\\xcd\\x76\\xb8\\x5b\\x7f\\x58\\x14\\xad\\x66\\x36\\x27\\xf0\\x5c\\x9b\\x91\\x9d\\x9a\\x88\\xfc\\xe8\\x14\\x55\\x47\\x5d\\x9c\\x1b\\x9b\\x66\\x59\\xde\\x68\\xb3\\x55\\x51\\x51\\xb7\\x3b\\x10\\xb0\\x50\\xb0\\xa1\\x9e\\x6f\\xc0\\x00\\xd4\\x89\\x84\\x34\\x5d\\x4e\\x08\\xe1\\x60\\xbb\\x1c\\xe6\\xdd\\x01\\x5f\\xa0\\x5d\\x36\\x5a\\x32\\x74\\x46\\x15\\xc6\\x27\\x21\\x39\\x6a\\x4a\\xe4\\x50\\x4b\\x66\\x49\\x97\\x5d\\x29\\x26\\x77\\xb9\\xcb\\x8d\\xff\\xd7\\xf0\\x13\\xa2\\x0d\\x46\\xe9\\xc6\\xfd\\x91\\xb6\\x82\\xb0\\xf0\\xfb\\x72\\x61\\x4b\\xfa\\x22\\xad\\xa4\\x59\\xf2\\xa4\\xa2\\xd3\\xf7\\x95\\xb5\\x49\\x4e\\xc7\\x0d\\x94\\x27\\x72\\xda\\x52\\xa0\\xb5\\x70\\xa2\\x33\\x65\\x61\\xd6\\x21\\x8f\\x18\\x57\\x56\\x55\\x87\\xdd\\x14\\x85\\x17\\xc3\\x92\\x4c\\xf8\\x59\\x36\\x29\\xfa\\xdc\\xbe\\x0e\\xd9\\x18\\xb2\\xd0\\x21\\x55\\x68\\x67\\x4e\\x72\\xf3\\x16\\xa7\\x3e\\xda\\x59\\xe8\\x2c\\xc4\\xad\\x1b\\x65\\xa2\\x97\\xb6\\xa7\\x6a\\x9e\\xf4\\x50\\x59\\x0b\\xe5\\x40\\xc5\\xcd\\xfc\\x6d\\x89\\x7c\\xbe\\x2b\\x44\\xb5\\x97\\x23\\x2f\\x14\\x98\\x4f\\xa4\\xba\\x6d\\xf4\\xec\\x9d\\x8b\\x5b\\xe7\\x80\\x27\\xd5\\x86\\x8e\\x19\\xd1\\x6a\\x16\\xb9\\x92\\x18\\x28\\x5e\\x99\\x46\\x47\\x90\\x8d\\xb7\\x51\\xe1\\x9c\\x60\\x11\\xed\\x27\\x4f\\xbf\\xab\\x5d\\xfe\\x43\\x72\\xed\\x83\\x52\\xec\\x65\\xb9\\x75\\xe4\\xbb\\x37\\x0f\\x7c\\xce\\x9d\\x46\\xb8\\xe3\\x2a\\x51\\xc4\\xdf\\x95\\xab\\x64\\x92\\xc9\\x60\\x5d\\xc6\\x15\\x32\\x9b\\xeb\\x5c\\xb0\\xb9\\x29\\x9a\\xf5\\x66\\x91\\x95\\xe0\\x1c\\x06\\xaf\\x90\\xae\\x71\\xa0\\x33\\xc1\\x23\\xff\\x11\\x17\\x6e\\x15\\x88\\x21\\x0b\\x98\\x73\\x83\\x8a\\x19\\xb5\\xc6\\x8d\\x41\\xdc\\x90\\x89\\x52\\x3f\\xbd\\xb1\\x1c\\xa5\\xad\\x48\\x0d\\xf7\\x04\\x3a\\xee\\x79\\x74\\xb1\\xdd\\xca\\xeb\\xcd\\x67\\xe6\\x9d\\xf4\\x12\\x34\\xbd\\x13\\xb1\\xbc\\x8f\\xae\\xd2\\x47\\x16\\x00\\xc7\\xc6\\x25\\x03\\x9a\\x8f\\xde\\xdf\\x97\\x47\\x25\\x7b\\xa1\\x80\\x16\\x04\\xa9\\xe1\\x28\\xae\\x9a\\x0f\\xdf\\xa5\\x22\\xc8\\x7b\\x68\\x42\\xb7\\x64\\x4c\\x34\\x1b\\x10\\xc3\\xe1\\x34\\x07\\xa1\\xa9\\xc6\\x6d\\x72\\x37\\x0f\\xe7\\x44\\x4e\\x0c\\x08\\x01\\x24\\x79\\x40\\x12\\x2a\\xf0\\x6a\\xd7\\x65\\xac\\x99\\x0e\\x59\\xb2\\x59\\x85\\xc6\\x84\\x3e\\xd1\\x29\\xfb\\xf4\\xce\\x30\\x2c\\x54\\x59\\x15\\xd3\\xf3\\xee\\x96\\x43\\xd9\\xd2\\x3b\\x52\\x84\\x17\\x1a\\xa1\\x01\\xef\\x68\\x91\\x8b\\x9a\\xe9\\x6e\\x1c\\xd6\\x5c\\xec\\x91\\x6c\\xce\\x4a\\xe5\\xdd\\x7b\\x40\\xeb\\xdc\\xc6\\x4b\\xc2\\xe6\\xfb\\xf7\\x98\\x65\\xfd\\x2f\\x5f\\x67\\x3c\\xfd\\xe6\\x37\\x5e\\xfc\\xf0\\xcf\\x93\\x5f\\xbf\\x68\\x5e\\xb1\\x91\\xef\\xc4\\x77\\x0b\\xce\\x4c\\xce\\x0a\\x8c\\x9f\\x79\\xc6\\xe9\\xf0\\x3d\\xb5\\x9b\\x0f\\xd7\\x6a\\xbd\\xb3\\xa0\\xb7\\xfd\\xdf\\xff\\x3e\\xf6\\xa3\\x2b\\x33\\xa7\\xa4\\xad\\x0f\\x36\\x1c\\xf8\\xa5\\x64\\xa3\\x5f\\xb1\\xbd\\x74\\xa0\\xd8\\xd7\\xc7\\x50\\x8e\\x81\\x5b\\xd9\\x27\\xd8\\xf3\\x28\\x17\\xba\\x35\\x41\\x74\\x6f\\xa6\\xe5\\x2a\\xf4\\x21\\x77\\xa8\\x17\\x2d\\x04\\xe5\\xf5\\x33\\xa2\\xdb\\x6d\\xf6\\x39\\x45\\x26\\x62\\xd0\\xfa\\x29\\xad\\x39\\xb3\\x7d\\x30\\x0a\\x84\\xf7\\xd5\\xbc\\xdb\\x7b\\x08\\x7b\\xf3\\x48\\x3f\\x90\\x25\\xa9\\xaf\\x33\\x68\\x04\\x24\\x11\\xe8\\x92\\x62\\xba\\x58\\x73\\xac\\xb1\\x19\\x20\\x55\\x90\\x05\\x59\\x11\\x8a\\xba\\x2c\\x0b\\x75\\xae\\x66\\x11\\x7e\\x06\\x96\\x9e\\xd1\\xbf\\x67\\xe7\\x95\\xca\\xa7\\x5f\\x0e\\x5b\\x3e\\x6e\\xd3\\xb8\\x5d\\x8b\\xc1\\xfb\\x20\\x3a\\x76\\xd3\\xa6\\x13\\x6f\\x5f\\xf1\\xfb\\x65\\xb7\\x9d\\xbd\\x47\\x89\\x2d\\xd7\\x43\\xe6\\x25\\xc6\\x79\\xa2\\x9d\\x94\\xdd\\xcf\\x53\\x6e\\xd2\\xb7\\x2d\\x5b\\x86\\x9c\\xa6\\xbf\\xef\\x79\\xfb\\xc4\\x53\\xa0\\x1e\\x84\\x95\\x39\\xbb\\xcf\\x56\\xde\\x11\\xa1\\x1e\\x34\\x53\\x5a\\xbf\\xf4\\xd5\\x6c\\x86\\x7d\\x89\\x8a\\xa2\\x73\\xbe\\x3c\\x37\\x26\\x9c\\x4c\\xb8\\x19\\x57\\x24\\x42\\xe9\\xf4\\x12\\xe3\\x8c\\x3a\\x5d\\x31\\x9f\\xcf\\x15\\x85\\x02\\x5b\\x95\\x49\\xea\\x12\\x7a\\xc6\\x98\\x0e\\xa6\\x7b\\x64\\xc9\\x4d\\x85\\x19\\x31\\xc2\\x04\\x19\\xd1\\x88\\x02\\x34\\x97\\xe0\\xa2\\xf5\\x2e\\xab\\x88\\xe2\\xb2\\xec\\xf3\\xea\\xfb\\x4b\\xf6\\x90\\xc6\\x6b\\x5b\\x0a\\x33\\x80\\x05\\xd6\\x28\\xc6\\x9d\\x2e\\xdc\\xb6\\x91\\x02\\xce\\x22\\xe8\\x1b\\x26\\xb5\\x6d\\x4e\\xaa\\xe5\\x06\\x58\\x76\\x87\\x0b\\xa3\\x10\\xd0\\xcc\\x65\\xed\\x93\\xb8\\x6e\\x7f\\xc5\\x30\\x85\\x5b\\xb1\\xbf\\x08\\xfd\\xb6\\x7b\\xe3\\xd4\\xab\\x4f\\xbf\\xe9\\x76\\x8c\\xfe\\xb6\\x64\\xc5\\xf8\\x8d\\x27\\x3e\\x9e\\x02\\xfe\\x58\\x53\\xf7\\xe9\\xdb\\x6c\\x86\\x17\\x95\\xa7\\x7f\\xe7\\x75\\x1d\\xef\\x5f\\xac\\xa1\\xbf\\xd5\\xde\\xfa\\xe2\\x0c\\x90\\x78\\x19\\x03\\xc0\\x59\\x36\\x9d\\x38\\xfc\\xd1\\x0d\\xf0\\x29\\xbd\\xf2\\x01\\xb2\\x77\\x32\\x3a\\xf4\\x77\\x92\\x7a\\xb5\\xc5\\x54\\x39\\x6f\\xc8\\x84\\x5c\\x9c\\xe3\\x79\\x93\\xc7\\x0d\\x48\\x8b\\x3e\\x6b\\xb3\\xdb\\x7a\\x65\\xda\\x6e\\xb7\\x38\\xa1\\x85\\xef\\x41\\x16\\xc1\\xc2\\xf5\\xca\\x16\\x7b\\xd1\\x39\\x1e\\x0c\\xf0\\x41\\x70\\x3b\\x81\\x8e\\x40\\x23\\x17\\x19\\x42\\x34\\x84\\x07\\xfa\\xdd\\xd7\\xc1\\x0a\\x65\\x1b\\xb0\\xbd\\xb5\\x78\\x7a\\x77\\xf2\\x78\\x5b\\xdf\\x15\\x57\\xec\\xa1\\x1f\\x63\\xbe\\xf5\\x2a\\xc9\\x35\\xfd\\x7f\\x77\\x00\\x97\\x72\\x66\\x9b\\x8f\\x8e\\xae\\x01\\xef\\x79\\xdb\\xf0\\xbd\\x0c\\x0f\\x3c\\xcb\\x36\\xb3\\x3b\\x51\\x8c\\xe5\\xa3\\x42\\xd4\\xb2\\xdc\\x08\\xa4\\xe9\\x82\\x01\\xa7\\x13\\x7a\\x74\\x06\\x03\\xed\\xf3\\x04\\x05\\x2e\\x12\\xb6\\x19\\x0c\\x46\\xbf\\x83\\x35\\xb2\\xf8\\x48\\x42\\x2f\\x43\\x59\\x49\\x71\\xbe\\x01\\x9a\\x8d\\xd0\\xe9\\xa1\\x3c\\x3d\\x48\\x33\\xd9\\x71\\xf3\\x9d\\x7a\\x19\\xf1\\x6b\\xa4\\xdd\\xa5\\x61\\x0b\\xe0\\x07\\xca\\xf2\\x07\\x33\\x02\\x08\\xa1\\x8b\\x81\\x7c\\x7f\\x56\\x73\\x56\\x87\\x7d\\x78\\xb4\\x63\\xc8\\x56\\x25\\x1a\\x75\\x40\\x6a\\x4e\\x81\\x61\\x95\\x9b\\xc0\\x66\\xd2\\xa6\\x05\\xbf\\x1e\\xbd\\x69\\xf4\\xed\\xf3\\x7d\\x0d\\xa3\\x95\\xef\\xdf\\xea\\xff\\x6a\\x17\\xf8\\xeb\\x55\\xe9\\x1c\\xbd\\x90\\xde\\x8f\\x5b\\xb5\\x4e\\x3b\\x4d\\xd9\\xf8\\x83\\x01\\x2a\\x4b\\xfb\\x1b\\x7c\\x6d\\x8b\\x3f\\x39\\xc1\\x5c\\xf5\\xd2\\x8b\\x00\\xaf\\xf7\\x18\\xe4\\x3f\\x7c\\x86\\x6c\\xf2\\x48\\x6a\\x6a\\xae\\x22\\x4a\\x35\\xa5\\xd3\\x1e\\x2f\\xac\\xb1\\x50\\xba\\xd1\\xa3\\xa2\\x4d\\x30\\x93\\xc9\\xb6\\xcb\\xb5\\x19\\xc1\\x2c\\x08\\x86\\xe9\\xb2\\xe0\\x83\\xa1\\x76\\xd9\\x2b\\x41\\xfc\\xb4\\x9d\\x2d\\x7b\\xfb\\x2b\\x8b\\x89\\xb5\\x06\\x77\\x97\\xca\\x5e\\xaf\\xb6\\x3c\\xa6\\x6a\\x30\\x34\\x50\\x11\\x26\\x41\\x03\\x2d\\xd3\\xf0\\x40\\xf2\\x6d\\xd7\\xe8\\x2f\\xe9\\xcf\\x7e\\xb3\\xdf\\x93\\x88\\x44\\x52\\xbe\\x58\\x25\\x37\\xd6\\xdb\\xb2\\xe2\\x96\\xb6\\xf0\\xa8\\x98\\x6d\\xb6\\xb9\\x35\\x19\\x3b\\x77\\xe4\\x9c\\x59\\xd3\\xaf\\xdb\\x7a\\xc9\\xd3\\xdb\\x96\\x3e\\xd2\\x1a\\x0e\\x2c\\xaf\\x9d\\x3c\\x61\\xf6\\x86\\x9b\\xd6\\x80\\xca\\x1d\\xf7\\xd2\\x89\\x19\\xd3\\x6a\\xbd\\x15\\xee\\x3f\\x98\\xd6\\x3c\\x38\\xa5\\x8d\\x83\\x4e\\x16\\x50\\xeb\\x63\\xb5\\x53\\x4f\\x69\\x6e\\xcd\\x54\\xdf\\x7e\\xee\\x95\\xb7\\x06\\x8e\\x9d\\x1d\\x48\\x8c\\xcc\\x36\\x8e\\x4f\\x57\\xdf\\xac\\xc5\\xa6\\xcd\\xc8\\x6e\\x45\\xa8\\x71\\xb9\\x38\\x6d\\x32\\x03\\xa0\\x37\\x39\\xd1\\x05\\xf0\\xd8\\xa7\\xcb\\x1e\\x9f\\x09\\x1a\\x0c\\x48\\x7f\\xea\\x0d\\x3c\\x30\\x53\\x94\\x59\\xeb\\xa7\\x50\\x53\\x3e\\xd9\\x92\\xac\\x55\\x5e\\xde\\x6c\\x79\\x79\\xb9\\x2a\\xa3\\x2a\\x79\\x0d\\xa8\\xc5\\x1c\\xd1\\xe9\\x92\\xf0\\x74\\x52\\x53\\x57\\x2c\\x3a\\x2a\\x9d\\x4c\\x71\\x63\\x6d\\x23\\xa7\\xae\\xec\\xaa\\x4e\\xc7\\xe7\\x8e\\x2a\\xc6\\xa9\\xaf\\x49\\x4b\\x67\\xce\\x9c\\x88\\x45\\xa9\\x99\\x39\\xbf\\x6b\\xf2\\x78\\x72\\x2f\\x76\\x20\\x05\\x08\\xd9\\x7b\\x50\\x2c\\xdd\\x92\\x8b\\x18\\xac\\x22\\xcb\\x5a\\x3d\\xd0\\xeb\\xe3\\xf5\\x3d\\x32\\xcf\\xa3\\x23\\xa6\\xf5\\x11\\xe1\\x2e\\x16\\x0f\\x5d\\x06\\x62\\x5b\\xde\\x5f\\x57\\x5f\\x27\\xe6\\x6b\\x0c\\x34\\x8f\\x07\\x17\\xc8\\x0b\\xe4\\x88\\xed\\xd8\\xf7\\xe6\\xbf\\x4e\\x3c\\xbc\\x0f\\xa7\\xd7\\xce\\xbb\\xf6\\xf2\\xf7\\xaf\\x5b\\x11\\x98\\xc7\\x76\\x4f\\xfe\\xf0\\xad\\x7d\\xff\\xac\\x56\\xc6\\x10\\x6d\\xf6\\x6f\\x0b\\xff\\xf4\\xe3\\xa0\\x63\\xea\\xad\\x64\\x4e\\xa3\\xd1\\xc5\\x58\\x44\\x30\\x2a\\x46\\xe5\\x82\\x1e\\x5a\\x27\\x49\\x34\\x0f\\xfd\\x01\\x37\\x84\\x14\\x6f\\xb7\\x1b\\x3b\\x64\\xbb\\xe0\\x51\\x3b\\xf2\\xa5\\xd2\\xbc\\x1f\\x09\\x5f\\xcb\\x16\\x4f\\x9d\\x44\\xa1\\x84\\xbd\\x64\\x82\\x4f\\x9f\\x31\\xe3\\xcc\\xd3\\x96\\xae\\x6c\\x59\\x1a\\x48\\x4c\\x7a\\xe0\\xd7\\xef\\x7c\\x71\\xc3\\x96\\xa5\\xad\\x6e\\x10\\xe6\\xc5\\x8b\\x2e\\x5f\\xbe\\xc4\\xe7\\xd8\\x05\\xf8\\xcc\\x7d\\x5b\\xce\\xdb\\x18\\x53\\xfe\\x49\\xc8\\x9f\\x20\\x15\\x1a\\xf8\\x91\\x0d\\x10\\xfd\\x91\\x40\\x91\\xe7\\x19\\xb9\\x26\\x4b\\x32\\x28\\x66\\x62\\x1e\\x0f\\x2d\\x88\\x49\\x9a\\xa9\\xab\\xad\\x24\\xfc\\x82\\x2a\\x0a\\x7b\\x8c\\x15\\x32\\xd1\\x4c\\xb4\\x57\\x46\\xea\\x37\\x43\\x19\\xa0\\x4f\\x85\\x63\\x77\\x15\\x19\\x07\\xf3\\x4d\\xe0\\xc4\\x45\\xce\\x0e\\xe9\\x48\\xc9\\x16\\x24\\x68\\xd4\\xf4\\x4a\\x19\\x4e\\xad\\x28\\x39\\xf3\\x3d\\x2a\\x52\\x44\\x12\\xf3\\x0d\\xe3\\xd1\\x87\\xf7\\xed\\x7b\\x18\\x45\\x02\\xa5\\x28\\xb5\\x7f\\xc3\\x18\\xb6\\xd7\\x6c\\x7f\\x18\\xd8\\x66\\xa8\\xb8\\xb6\\x6d\\xbe\\xc3\\x6b\\xe0\\x30\\x6f\\x5b\\x09\\x48\\x2d\\xa8\\x7a\\x9a\\xbb\\x61\\xeb\\x35\\x57\\x7d\\xba\\x86\\x3e\\x44\\x00\\x6d\\x91\\xed\\x20\\x6f\\x09\\x48\\x5e\\x3f\\x92\\x77\\x56\\x2e\\x63\\x8f\\xc5\\x4c\\x3a\\xe4\\x2f\\x78\\x01\\xd0\\xa5\\x92\\xf9\\x97\\xfb\\x28\\x65\\x30\\x1a\\x7a\\x65\\xaf\\xdd\\x68\\x64\\x9c\\x56\\xc8\\x04\\x16\\xca\\x8c\\x58\\x4c\\x69\\x69\\x35\\x57\\x85\\x86\\xd1\\x42\\x6f\\xab\\x7a\\x97\\x25\\xd2\\x1f\\x47\\xd8\\x72\\x07\\xbd\\xda\\x93\\x6a\\xaa\\xd1\\x38\\xca\\x76\\x32\\x27\\xf2\\x4d\\x72\\xb7\\xe2\\x36\\x39\\x7a\\xcd\\x01\\x70\\xf8\\xd6\\xed\\xfd\\x8f\\x6e\\xdb\\xd5\\xbf\\xe1\\x5e\\x7a\\xc3\\x93\\xb8\\x4b\\xee\\x97\\x44\\x9b\\xb6\\x21\\x15\\x9b\\xff\\xf7\\x9a\\xfe\\x6f\\x77\\xdf\\x7b\\xf0\\x99\\xbb\\xfb\\x48\\xec\\x83\\xae\\x1a\\xbb\\x8f\\x9d\\x6c\\xe7\\x60\\x3b\\xd9\\xcb\\xd8\\xc0\\xd5\\xcc\\x17\\xc4\\x2e\\xa6\\x90\\x65\\xbc\\x26\\x37\\xd5\\xc6\\xbb\\x3c\\x62\\x45\\x3a\\xe6\\xf7\\x73\\x5c\\x45\\xc2\\xe1\\xe1\\x23\\xba\\xaa\\x8c\\x3d\\x65\\x48\\x21\\xd9\\xa4\\xca\\x58\\x65\\xaf\\xec\\x16\\xd3\\xd5\\x31\\x80\\x7e\\x54\\x88\\xd1\\x06\\x2e\\x16\\x63\\x04\\x8b\\xc9\\x80\\x37\\xdc\\x00\\xc3\\x0c\\xe3\\xef\\x95\\xb1\\x37\\x40\\x53\\xd8\\x1f\\xc8\\x1e\\xca\\x14\\x9c\\x21\\xe1\\x50\\xb6\\x80\\x48\\x38\\xa2\\x64\\x39\\x4e\\xaa\\x90\\xb1\\x6b\\x80\\x17\\x40\\xd5\\xc7\\xb5\\x00\\x66\\x49\\x6e\\x25\\x06\\x25\\x35\\xb9\\x82\\x3c\\x86\\x54\\xcc\\xd6\\x1c\\x03\\xd7\\x8d\\xbc\\xfa\\x94\\x8f\\xfa\\xfa\\xa0\\x3c\\x6e\\xe3\\xb8\\x9f\\xcf\\x0b\\x77\\x7e\\xbc\\x0e\\x27\\x56\\x7e\\xf5\\x60\\x3e\\xb1\\x52\\x37\\xe7\\x93\\x9c\\x12\\x8b\\x5d\\x7e\\xb9\\x9a\\x52\\xb9\\xfe\\x7a\\x65\\xcf\\xbb\\x3a\\xc5\\x87\\x93\\x2a\\xca\\xce\\xbb\\x70\\x56\\x85\\xfe\\x08\\x7c\\x06\\xfa\\xe5\\xa9\\xaa\\xff\\x33\\x51\\xb9\\x1f\\xce\\x65\\xad\\xe8\\xbe\\x45\\xa9\\x24\\x55\\x41\\x5d\\x9a\\x6b\\x4d\\x21\\x67\\x83\\xa5\\x2b\\xc2\\x86\\x84\\xc3\\x25\\x39\\x63\\xa1\\x78\\xdc\\xe3\\x71\\xba\\x12\\xe1\\x08\\xcd\\x58\\xf5\\xc6\\x4c\\xa5\\x21\\x19\\x4a\\x76\\xc8\\x15\\x71\\x7b\\x3a\\x14\\xa2\\x5c\\x4e\\xbb\\xc3\\x6a\\xb7\\x9b\\xbb\\x64\\xbb\\x93\\xf2\\x77\\xc8\\x2c\\xa4\\x31\\x81\\x49\\xc3\\xa1\\x6c\\x91\\xc7\\x48\\x78\\x9e\\xb4\\x20\\xda\\x47\\x9c\\x54\\xfe\\x92\\xac\\x6e\\x83\\x0b\\x19\\x54\\xa7\\x4d\\x8a\\xc0\\x42\\xcf\\x73\\x0a\\xc6\\x44\\xcc\\x92\\xef\\xc2\\x49\\x16\\x31\\x09\\x5d\\xcd\\xb1\\xe6\\x94\\x0e\\x7c\\x19\\xa9\\x3d\\x7f\\xc5\\xe5\\x4f\\x2a\\xbb\\x7a\\x4f\\xb9\\x91\\x54\\x9c\\x2e\\x9a\\x7a\\xf1\\x8a\\x0d\\x4f\\xe1\\xaa\\xd3\\x29\\xbd\\xd2\\x36\\x3a\\x91\\x3a\\x4a\\xc7\\xe1\\x73\\x2c\\xe8\\x54\\xb6\\x9f\\xaa\\x1c\\x9e\\xae\\x7c\\xde\\x85\\x4b\\x50\\x25\\x65\\x17\\xb8\\xfa\\x2c\\x30\\x91\\x14\\xa2\\x02\\xc9\\xae\\x34\\x54\\x9f\\xb9\\x7c\\xe9\\x52\\xa4\\x77\\x30\\x9f\\xdf\\x61\\xd2\\x17\\x3d\\x3a\\x17\\x02\\x92\\x64\\x08\\x05\\x7d\\x4e\\xb7\\xb3\\x47\\x06\\xa2\\x43\\xec\\x95\\xfd\\x0e\\x07\\xeb\\x86\\xac\\xb5\\x57\\x36\\xe0\\x5a\\xcb\\xff\\xe2\\x1b\\xc4\\xa4\\xc1\\xe0\\x3d\\x25\\x50\\x60\\xf0\\xf0\\xad\\x65\\x50\\x81\\x7d\\x7d\\xf4\\x5a\\x74\\xb6\\xaf\\x7b\\xaf\\x04\\x21\\x10\\x5c\\xb8\\x06\\xbc\\x4d\\x8e\\x72\\xa5\\x56\\x9f\\x74\\xbd\\x86\\xf7\\x3d\\x39\\x97\\x08\\x03\\xab\\x35\\xa5\\x4b\\x06\\x62\\x33\\xb0\\x83\\x9a\\x27\\xb9\\x66\\x24\\x49\\x44\\xce\\x3a\\xcf\\x98\\x3a\\x65\\x1d\\x53\\x12\\x22\\x15\\x71\\xbe\\x85\\x43\\x04\\xd2\\x56\\x6b\\xff\\xb4\\x95\\x87\\x4d\\x45\\x84\\x2a\\x58\\x84\\x30\\x71\\x96\\x46\\x52\\x67\\x9f\\x8d\\x62\\xa9\\xb3\\x16\\xcb\\xb9\\x5c\\xb7\\x3c\\xb6\\xa5\\x1b\\xec\\x53\\x0a\\xcc\\x49\\xe0\\xdf\\xcb\\x40\\x5d\\xb4\\x55\\x39\\x6b\\x19\\x1c\\xaf\\xfe\\xad\\x8c\\x74\\x48\\x9b\\x32\\x81\\xfb\\x9e\\x9d\\x46\\x99\\x48\\xf7\\x55\\xdc\\x20\\x8a\\x71\\xe8\\x8b\\xfb\\x32\\xe6\\x2a\\x47\\x04\\x39\\x9e\\x41\\xaa\\x57\\x0e\\x32\\x2e\\xe4\\x6d\\xb9\\xc4\\x4a\\x9e\\x4f\\xf6\\xca\\xfc\\x10\\x84\\x15\\x3b\\xc1\\xcb\\x2b\\x05\\x19\\x2a\\x41\\x83\\x01\\x36\\x62\\x07\\xd5\\x67\\x90\\x02\\x02\\x20\\xba\\x34\\x0e\\xe2\\x79\\xc2\\x99\\xff\\x78\\xf7\\xc8\\x1f\\xa7\\xec\\xac\\x59\\x05\\xdd\\xbd\\x77\\x9c\\xff\\xfa\\xf2\\xe4\\x9d\\x67\\xff\\x49\\x79\\x72\\x3f\\xd8\\x04\\x2e\\x38\\x77\\x6b\\xe2\\xfd\\x53\\x36\\xc5\\x46\\x0a\\x09\\xe6\\x2f\\xca\\xdf\\x94\\x23\\xca\\xe7\\xca\\xd1\\x84\\x8f\\x11\\xeb\\x7f\\xbc\\x41\\xf9\\x77\\xf0\\xc2\\x83\\x97\\xc7\\x6d\\xe1\\x7b\\x40\\xf6\\x35\\x30\\x1b\\x2c\\x75\\x73\\xfc\\x8f\\xd9\\x83\\x5e\\xf7\\x26\\xec\\x53\\xd7\\x2a\\xd3\\x98\\x8f\\x50\\x1c\\x65\\x44\\xba\\x63\\x72\\x2e\\x2e\\xb0\\x6c\\x98\\x72\\x85\\x5d\\x69\\x53\\x85\\x3d\\xe0\\x08\\x7a\\xbd\\x7a\\xc2\\xeb\\x03\\x3b\\x65\\x87\\x33\\x69\\xb1\\xc4\\xb4\\xae\\xd6\\x52\\x99\\x84\\x43\\xb6\\x21\\x42\\x95\\xbc\\xd4\\xa8\\x6b\\xaf\\x45\\x48\\x48\\xd0\\x10\\xc0\\x02\\xa9\\x20\\x0f\\x60\\xe6\\xa2\\xde\\x49\\x33\\xba\\xa6\\xcd\\x5f\\x0c\\x6f\\xec\\x99\\xfa\\xd8\\x11\\xfd\\xf2\\xbb\\x7f\\xfb\\xdc\\x57\\x6f\\xb6\\x6e\\xae\\xbf\\x78\\x79\\x63\\x4b\\xd0\\x91\\xc9\\x81\\x97\\x0e\\xfc\\x1a\\xc7\\x7c\\xaf\\x1f\\x7f\\xcd\\xfe\\xca\\xa3\\xf5\\xc3\\x27\\xff\\xf0\\xe5\\xa7\\xc0\\xe8\\x37\\x8c\\x38\\x7e\\xe8\\xe2\\x95\\x8e\\xd5\\x1a\\x8e\\x09\\x7e\\xef\\x26\\x79\\xfd\\x08\\x75\\x5a\\xae\\xc1\\xe5\\x70\\x8b\\x1e\\x5b\\x10\\x00\\x8e\\xb3\\x89\\x48\\x27\\x47\\x5d\\x76\\x51\\x05\\xbc\\x0b\\x12\\xa8\\xb3\\x00\\x72\\x87\\x4d\\x3d\\xb2\\x05\\x3a\\xca\\x83\\x9e\\xac\\x86\\x9a\\x99\\x3f\\x5f\\xe5\\x99\\x75\\x4d\\xb2\\x72\\xfc\\xb3\\x3c\\x82\\x49\\xc4\\x50\\x40\\x39\\xa1\\x4d\\x18\\xc2\\xe4\\x81\\x07\\xfa\\xe8\\x75\\x1a\\x84\\xc9\\x19\\x5b\\x95\\x76\\xe5\\x3a\\xa0\\xbb\\xec\\xbe\\xcd\\x5b\\x6f\\xbb\\x8a\\x1e\\xae\\x54\\x11\\x1f\\xe1\\xcd\\xb3\\x69\\x64\\xb6\\x08\\x8a\\x89\\x22\\xf8\\xda\\xe8\\xe1\\x60\\x33\\x01\\x3a\\x51\\x73\\xe3\\xe4\\x4d\\x1e\\xbe\\x84\\xec\\xd5\\xdc\\x5c\\xb5\\x97\\x47\\xc2\\xd0\\x22\\xb0\\x30\\x22\\x17\\x0c\\x78\\x78\\xa7\\xd3\\x2e\\xa8\\xe0\\x6d\\xde\\x02\\x78\\x1b\\xff\\xdf\\xc0\\xdb\\x70\\x3f\\xb7\\x66\\xb2\\x08\\xf3\\xaf\\x76\\x63\\xca\\x64\\x71\\x8d\\x01\\x23\\x91\\x0f\\x9d\\x42\\xa1\\xbc\\x84\\x0c\\xd6\\x1f\\xb7\\xf7\\xbf\\xb6\\x06\\xfd\\x03\\x36\\x99\\xce\\xda\\x33\\xa9\\x69\\xf8\\xc8\\x96\\xbb\\x46\\xaf\\x07\\xf7\\x28\\x4f\\x10\\xe2\\xbd\\xc9\\xcb\\xc0\\x64\\x77\\xeb\\x73\\x17\\x2f\\x57\\x1e\\xbc\\xa2\\x39\\xb1\\x69\\x19\\xd9\\x07\\x92\\xc3\\x23\\xfa\\x26\\x4c\\x9d\\x9a\\x4b\\x07\\xf5\\xfa\\x68\\xc4\\xe7\\xb4\\x8a\\x82\\xd8\\x23\\x87\\x81\\xc9\\x6c\\xc2\\x3a\\x27\\x88\\xdd\\x7c\\x33\\xe7\\x16\\x20\\xd4\\x73\\xfa\\xd2\\x77\\x16\\xac\\x50\\x5d\\x23\\x86\\x18\\x59\\x15\\x46\\x09\\x6a\\x93\\x45\\xb1\\x49\\xb6\\x16\\x73\\x0f\\xeb\\x5c\\x91\\x66\\x15\\x18\\x2f\\x0b\\xc4\\x08\\x7b\\x97\\xf2\\xde\\x67\\xb8\\xb5\\xfb\\x07\\xe5\\xa5\\x63\\xdd\\xb8\\xbb\\x7b\\x36\\xd8\\x37\\x73\\x17\\x38\\x7c\\xc3\\xec\\xbf\\xf7\\x1f\\xf8\\xb9\\x72\\x04\\x1e\\x54\\x3a\\xf2\\x1d\\xde\\xe0\\xf1\\x35\\x77\\x62\\x65\\x74\\xa7\\xfa\\xbb\\xb2\\x12\\x78\\xc8\\xfc\\x49\\x4e\\x11\\xf9\\xba\\xd8\\x66\\x74\\xe4\\x2a\\xe2\\xae\\x74\\x05\\x53\\x99\\xa9\\x00\\x0e\\xc9\\xd1\\x21\\x27\\x02\\x92\\xe4\\x49\\xd9\\xe9\\xca\\x78\\xc8\\xe5\\xf7\\xf8\\xdb\\xe5\\x88\\x87\\xe7\\x2c\\x9d\\xb2\\x81\\xcb\\xeb\\xa6\\xfc\\x9c\\xb3\\xda\\xcb\\x43\\x49\\x4f\\x34\\xd6\\xa1\\xb0\\xbc\\xb9\\x1b\\xc6\\x0a\\x82\\x64\\x0b\\x82\\x34\\xc7\\xe0\\xe7\\x2f\\x7c\\x93\\xeb\\xbd\\xa0\\xb4\\xbb\\xfb\\x7f\\x7e\\xbf\\x53\\xc6\\xfd\\xdd\\x73\\x4e\\x74\\x9c\\x0d\\xb2\\xe3\\x67\\xdf\\xa6\\x5c\\xd8\\xf1\\x20\\xed\\xed\\xdf\\x73\\xef\\xcd\\x85\\xee\\x6e\\xba\\x79\\xd9\\x1f\\x70\\x7f\\xf7\\x6b\\xf8\\x77\\xc7\\x9b\\xca\\xa1\\x3f\\x22\\x79\\x42\\x48\\xff\\x3f\\x0d\\x0f\\xa2\\x33\\x94\\xa4\\xe6\\xe5\\xea\\x03\\x3a\\x51\\xa4\\x23\\x16\\x0b\\xed\\x81\\xa9\\x34\\x95\\x06\\x21\\x68\\x8c\\x77\\xc9\\x46\\x21\\x60\\x6f\\x97\\x75\\x01\\xd6\\x1d\\x70\\x07\\x28\\x96\\x90\\x2a\\xf0\\x94\\xd4\\x3e\\xb4\\x7f\\x02\\xf7\\xf4\\x0d\\x2e\\x51\\x56\\xbb\\x28\\x54\\x9c\\x06\\x97\\x96\\x20\\xc2\\x6f\\x08\\x92\\x43\\x45\\x71\\xb1\\x02\\x98\\x77\\x59\\x75\\xe0\\x2f\\xca\\x9d\\xa7\\x81\\x6e\\x67\\xfb\\x15\\xb9\\x1b\\x7f\\x3e\\x7b\\x57\\xdf\\x9a\\x4d\\x33\\x97\\x25\\x5b\\xb7\\xdf\\x70\\xdd\\xcc\\x05\\x1d\\xa3\\xea\\xc6\\x77\\x3a\\x00\\x43\\x2f\\x72\\xb7\\x4e\\x6e\\x4c\\x5d\\xbf\\x69\\xc5\\xda\\xd1\\x0c\\xdc\\xf8\\xd0\\xb0\\x0b\\x3e\\x72\\x99\\xc1\\x3f\\x21\\x3d\\x7f\\xe5\\xac\\xce\\x58\\x1e\\xdf\\xfa\\x4c\\xe4\\x4b\\xf3\\xc8\\xba\\x8f\\xcb\\x45\\x9d\\x3a\\x9f\\x19\\x42\\x5e\\xc7\\xfb\\x03\\xd0\\x4c\\x5b\\x78\\xa3\\xd8\\x89\\x24\\x62\\x3d\\x5d\\x32\\xeb\\xa4\\xf9\\x76\\x99\\x1e\\x84\\x6d\\x6d\\x1f\\x31\\x08\\x2e\\x3f\\x21\\x45\\x52\\x1c\\xc6\\xfd\\x41\\xaa\\xc9\\x85\\xcc\\x45\\xc9\\xeb\\x63\\x33\\x73\\xa6\\x72\\xb9\\x7d\\xf5\\x63\\xca\\xbd\\xaf\\x3f\\xb1\\x7f\\x0a\\x88\\x28\\x1f\\xf4\\xce\\x98\\x33\\xb3\\x6d\\xe6\\x9c\\x15\\xad\\xad\\x0b\\x56\\x83\\x77\\xbf\\x05\\xe6\\x33\\xa7\\x9f\\x78\\x04\\x6c\\x7b\\xf0\\xd9\\xb7\\x9e\\xdb\\xf5\\x68\\x8f\\x8a\\x89\\x33\\xf0\\x09\\x33\\x11\\x3e\\x8b\\xe6\\xe7\\xc5\\xf3\\x13\\xa0\\xc5\\x62\\x75\\xea\\xac\\x3a\\x9f\\xdf\\x0c\\x81\\x55\\x22\\xf3\\x73\\xb2\\x6e\\x34\\x3f\\x01\\xa0\\xf9\\x01\\xfe\\xa7\\xe7\\x67\\x53\\x39\\x2b\\x22\\x2e\\x9c\\x66\\x25\\xf9\\x24\\x14\\xa0\\x6b\\x18\\xa4\\x38\\x91\\x54\\x03\\xae\\x46\\xb3\\x03\\x0b\\xf0\\xec\\x94\\x0f\\x40\\x04\\xcf\\xee\\x8e\\x05\\x8b\\xe1\\x0a\\x34\\x3b\\x25\\xf5\\xad\\xf2\\xed\\x99\\xd3\\xe1\\x74\\x65\\x05\\x9e\\x1d\\x98\\xd3\\x53\\xe0\\x68\\xb8\\x87\\xd8\\xdd\\x5c\\x2e\\xaa\\x8f\\x44\\x44\\xaf\\xd5\\x4a\\x89\\x30\\x99\\x72\\x31\\x9d\\x32\\xe5\\x02\\x7a\\x9b\\xc9\\x16\\xeb\\x90\\x6d\\x4e\\x53\\xa0\\x13\\xd7\\x69\\x97\\x90\\x33\\xb4\\x64\\x33\\x43\\x30\\x52\\x30\\x06\\x72\\x19\\x8f\\x86\\x8a\\x52\\x55\\x92\\x0f\\xa4\\x77\\x12\\xa0\\xaa\\x12\\x92\\x01\\x0c\\x53\\xd5\\x5b\\x64\\xd3\\xd8\\xbb\\xd2\\xfd\\xd9\\xb9\\x05\\x96\\x01\\xf8\\x8f\\xdf\\xbd\\x2c\\x9e\\x38\\xbd\\x40\\xa6\\x41\\xb0\\x2b\\xe0\\x24\\x12\\x3b\\xd5\\xe4\\x5c\\x4e\\xce\\x4c\\x71\\x54\\xc0\\x6f\\xb4\\x77\\xc8\\x16\\xa3\\xd3\\x07\\x21\\xda\\x68\\x82\\xe5\\x57\\x88\\xaf\\x0b\\x64\\x03\\x62\\xe1\\x34\\xaa\\x24\\x92\\xd8\\x71\\xc9\\x9f\\xc4\\x6c\\x1e\\xc1\\x7e\\xf3\\x7d\\x93\\x2b\\x43\\xe3\\x86\\x6b\\xb8\\xf6\\xf0\\x12\\x0d\\xb8\\x3e\\x06\\x9c\\xf7\\xb9\\x9c\\x2a\\x98\\x3d\\x5a\\xb7\\xb1\\x03\\x0f\\xc3\\x76\\x34\\x87\\x08\\x95\\xa1\\x2a\\x73\\x4e\\x3a\\x31\\x1d\\x79\\x03\\xb4\\x5e\\x92\\x02\\x1d\\xb2\\x47\\x12\\xf4\\x15\\xd3\\x0b\\xc9\\xe6\\x6c\\xe1\\xb1\\xe0\\x64\\x59\\x65\\x15\\x57\\xbf\\x88\\xb9\\xaf\\xf2\\x5e\\x92\\xe4\\xf2\\xf2\\xd3\\xcf\\xb8\\x6a\\xe7\\xde\\x5b\\x7f\\x75\\x6e\\xc4\\xb9\\x54\\x1c\\xd9\\xa6\\xcd\\x4d\\xc5\\xdc\\x07\\x67\\xc9\\xd3\\xe7\\x9f\\xda\\xb0\\x65\\xf2\\x14\\x70\\x43\\xf6\\xaa\\xc5\\xab\\xd6\\xf6\\x8e\\x9b\\xbf\\xf1\\xdc\\xf3\\x7f\\x83\\x67\\xaa\\xfc\\x4b\\x85\\xdd\\x57\\x3e\\xaf\\x1a\\x51\\xb5\\x25\\x4b\\xce\\xe0\\x0c\\x65\\x22\\xf3\\x1d\\xf2\\xaf\\x8c\\x2a\\xda\\x0c\\xe5\\x0e\\x05\\x58\\x9b\\x2d\\xee\\x8e\\x57\\x9a\\x32\\x1a\\x31\\x3a\\x32\\x1d\\x3e\\x41\\x42\\x66\\x5d\\x72\\x56\\x58\\xad\\xc9\\x4e\\xd9\\x7a\\x12\\x30\\xb8\\x82\\x4d\\xcf\\x0e\\xb1\\xea\\x24\\x57\\x71\\xb2\\x7a\\x0d\\x72\\xef\\xc1\\xc5\\x85\\xca\\x8b\\xcb\\x5b\\x17\\x3f\\xf1\\xdc\\xe8\\x65\\xb9\\x62\\x7d\\xc6\\xe2\\x94\\x3b\\x00\\x8e\\xe6\\x6b\\x2d\\xee\\xfc\\xab\\xf8\\xca\\xc1\\x05\\x69\\x7f\\x49\\x41\\x46\\x72\\xc0\\xbd\\x92\\xca\\xdf\\xf5\\xef\\xd0\\x79\\xc5\\x78\\xf0\\x93\\x73\\xc9\\xb8\\xc7\\x65\\x32\\xe9\\x42\\x76\\x9d\\xbd\\x92\\xca\\xf8\\x31\\xd0\\x9a\\x1f\\x48\\x29\\xe4\\x23\\x0a\\x7c\\x14\\xc3\\xac\\x19\\x75\\xed\\xb2\\x71\\xd0\\x7d\\xcf\\x66\\x4a\\x3d\\x93\\x22\\xd8\\x06\\xa1\\xa6\\x29\\x83\\xb5\\x57\\xff\\x55\\x8a\\x68\\xff\\x1d\\x39\\xba\\x4b\\xcb\\x71\\xed\\xf1\\xf1\\x3d\\x71\\x75\\x5e\\x3c\\x02\\xb4\\x86\\x89\\x6c\\x0a\\xe0\\xf6\\x55\\x2d\\x18\\x66\\x6d\\x5a\\x19\\xae\\x7d\\x23\\x39\\xc3\\x6a\\xff\\xda\\xa4\\x5c\\xca\\x6b\\xf7\\xd9\\x6c\\x10\\x1a\\xec\\x30\\x18\\xd2\\xfa\\xd7\\xbc\\xe8\\x40\\x7b\\xbd\\x1c\\xc5\\xa1\\x98\\x83\\x73\\x92\\xee\\xb5\\xb2\\xcb\\x37\\x18\\x4b\\x9d\\xd0\\x23\\x6a\\x4e\\x79\\x23\\x21\\x3e\\x20\\x6d\\x6c\\x28\\xa2\\x40\\xa7\\x2a\\x3b\\x2c\\x09\\xee\\x7c\\xeb\\xc8\\x9f\\x3f\\xed\\xfa\\x65\\xf3\\x86\\xb9\\x3d\\x67\\xd6\\x29\\xe2\\x43\\x2f\\xa7\\x32\\xb6\\xf7\\x4e\\x81\\xcf\\x7d\\xf3\\x7d\\xff\\xb1\\x4c\\xe4\\xd4\\xc0\\xb8\\xb5\\x37\\x0b\\xd3\\xdf\\x7e\\x75\\x49\\xd3\\xaa\\x75\\xbb\\xae\\x1e\\x3c\\xc7\\x79\\xb9\\x66\\xdc\\x63\\x27\\x7a\\xcd\\x85\\x1e\\xbb\\x96\\x50\\x47\\xa8\\x27\\x74\\x63\\xe8\\xce\\xd0\\xde\\xd0\\xeb\\x21\\x83\\xe9\\xff\\xda\\x71\\x97\\x2d\\xd8\\x8a\\xff\\xde\\x71\\x77\\xe7\\xff\\xa1\\xe3\\x4e\\xed\\xa9\\x46\\x71\\x3d\\x83\\xe6\\x1d\\xa7\\xaa\\xa9\\xa5\\xb9\\x26\\xa6\\x3a\\x00\\x93\\x66\\x7b\\x14\\xba\\xab\\x2d\\x66\\x5d\\x6d\\x8d\\xc5\\x6d\\xf6\\x25\\x98\\x24\\x84\\x3e\\x9f\\x33\\x69\\x8e\\xa0\\xe0\\x6e\\xba\\x6c\\x0e\\x85\\x0c\\x76\\xa7\\x53\\xe8\\x92\\x9d\\x82\\xa1\\xb2\\x43\\x36\\x94\\x80\\x43\\xdb\\xd5\\x87\\x3e\\xad\\x64\\xa0\\x36\\xab\\xb5\\x0b\\x8e\\x18\\x84\\x98\\x90\\x6c\\xcc\\xe3\\x52\\xa6\\x40\\x41\\x92\\x30\\x32\\x80\\xcd\\x2e\\x6c\\xf9\\x9a\\x5d\\x56\\x90\\xd0\\xa9\\xdc\\x94\\x8d\\xcc\\xf0\\xa5\\xab\\x7d\\xe2\\x91\\xb7\\x1e\\xdf\\xa3\\x03\\x1f\\x9b\\x2f\\x5e\\x45\\x44\\x03\\x55\\x8b\\x6a\\xdc\\xd6\\x05\\xab\\xe7\\x34\\x35\\x98\\xce\\xe9\\x7f\\xf0\\xa8\\xbd\\x32\\x35\\xe6\\x14\\x70\\xfb\\xcf\\x2e\\xb5\\x4e\\x5f\\xf1\\xfd\\x37\\xbf\\x79\\x09\\x50\\xe7\\x2c\\xc1\\xd2\\xbe\\xee\\x71\\xb9\\xad\\x2d\\x2f\\xae\\xac\\x9f\\x73\\xce\\xe2\\xf3\\xb6\\x9e\\xdf\\xb4\\xf1\\x17\\x38\\x17\\x89\\xec\\x7a\\x1b\\xd2\\x47\\x19\\x6a\\x61\\x6e\\xb8\\xd3\\x10\\x85\\x69\\x3e\\xc0\\x19\\x20\\x57\\x5d\\xe5\\xe1\\xc2\\x30\\xe8\\xf3\\x05\\xbb\\x64\\x9f\\x8f\\x32\\x9b\\x51\\x00\\xf5\\xbe\\x00\\xbc\\xc2\\x43\\x02\\x0d\\x79\\x01\\x98\\x59\\xc1\\x2c\\xa4\\x29\\x82\\x0a\\xe1\\x2c\\x28\\x4d\\x12\\xcc\\x2f\\x28\\xa9\\x4c\\x2a\\x43\\x98\\x63\\xc9\\x05\\x69\\x6e\\xd4\\xee\\x87\\x4e\\x05\\xd9\\xc1\\x29\\xc8\\xa6\\x91\\x18\\xd5\\x22\\xa5\\x55\\xea\\x10\\x34\\xea\\xcf\\x5f\\xfe\\x68\\xe5\\xc2\\x27\\xfe\\x7a\\xe4\\x91\\x4b\\xc0\\xe4\\xd8\\xa8\\xa5\\xb3\\xe6\\x8d\\x6a\\xb8\\xb8\\xa5\\xae\\x2e\\x7c\\xf7\\x79\\xe7\\x9d\\xd3\\x7d\\x59\\xfd\\x88\\xc7\\x1c\\xb7\\x6c\\xee\\xbd\\xc4\\xa1\\x1b\\x7d\\xfb\\xb9\\x97\\xc4\\xbf\\x58\\x5b\\xd3\\x3e\\x65\\xc4\\x4c\\xc1\\xbc\\xce\\x9a\\xda\\x30\\x47\\x0e\\x8b\\x9d\\x99\\x61\\xaa\\xef\\x1b\\x45\\xf2\\x55\\x13\\xf9\\xa6\\xe6\\x2a\\x9c\\x31\\x63\\x45\\x45\\x2c\\xc9\\x07\\xb0\\x7c\\xe6\\xa4\\x08\\x05\\x5e\\xe0\\xc9\\x89\\x0b\\x84\\xc3\\x9e\\x0e\\x39\\x2c\\x50\\xba\\x2e\\x99\\xc1\\x02\\x35\\x0c\\x86\\xf0\\x1f\\x2c\\x49\\xaa\\x51\\x4b\\xaa\\xa6\\xb8\\x0c\\x68\\x24\\x14\\x27\\xf9\\xe2\\xc2\\x94\\xaa\\xac\\x75\\x12\\xa9\\x42\\x02\\x6b\\xcf\\x79\\x6c\\x44\\xfd\\x65\\xdd\\xe7\\x9c\\x77\\xde\\xdd\\xe1\\xba\\xba\\x96\\x8b\\x1b\\x46\\x75\\xcf\\x5e\\x3a\\x2a\\x36\\x19\\x5c\\xf2\\xc8\\x9b\\x1f\\x3c\\xd1\\x7b\\xf6\\x87\\x8e\\x61\\x99\\x4e\\x31\\xdc\\x3d\\x7b\\x43\\xca\\xba\\xce\\xcc\\xcf\\x1a\\x31\\xa5\\xbd\\x66\\xed\\x17\\xf1\\x35\\xab\\x6f\\x1f\\xad\\x73\\x5c\\xd2\\xbb\\x69\\x9b\\x26\\x07\\xf3\\x34\\xc9\\x19\\x2f\\xce\\x0d\\x37\\xba\\x62\\x75\\xc3\\xe0\\x08\\x58\\xa7\\x73\\xf9\\x2b\\x05\\xfd\\xe8\\x51\\x4d\\xe8\\x28\\x86\\x39\\x0f\\xf4\\x07\\x02\\x7e\\x64\\xc5\\xea\\xea\\x02\\xd5\\x4d\\x81\\xa6\\x80\\xa5\\xb2\\xba\\x3a\\xd9\\x21\\x57\\x0b\\x16\\x47\\x97\\x6c\\xb3\\x38\\xcb\\x98\\x09\\x34\\x37\\x8c\\xb4\\xf9\\x51\\xae\\x41\\x75\\x9e\\xe4\\x58\\x72\\x9a\\x04\\xb1\\xff\\x5d\\x5a\\x57\\x0b\\x28\\x9c\\x56\\xf8\\xcd\\xd2\\xd5\\xe6\\xd0\\x16\\x24\\xd8\\xab\\x3f\\x2d\\xf9\\x53\\x1f\\x48\\xb6\\xfc\\x99\\xc5\\x67\\x55\\xb7\\x38\\xab\\x0a\\x7b\\xd2\\xb5\\x58\\x38\\xdf\\xe3\\xd3\\x8e\\x2e\\xba\\xa7\\xe3\\xd1\\x9e\\xe2\\x37\\x6d\\x17\\xda\\xd5\\xee\\xdc\\x30\\xc9\\x60\\xf0\\x45\\x83\\xa1\\x10\\x0f\\xd3\\x69\\x3e\\x0a\\xab\\xab\\x82\\x82\\x99\\xe7\\xc5\\x8c\\x30\\x52\\x98\\x2a\\xe0\\xb3\\xda\\x22\\x74\\x08\\x03\\x02\\x14\\x04\\x37\\x97\\x70\\x4e\\x46\\x8b\\xe9\\xc6\\x6c\\xca\\x0b\\x48\\x90\\xb0\\x60\\xf5\\xea\\x6c\\x16\\x53\\x03\\x94\\x03\\x68\\xaa\\x6b\\x50\\x84\\x0b\\x4c\\x61\\x44\\x44\\x4c\\x16\\x8b\\xff\\xac\\x66\\x4a\\x0b\\x6b\\x83\\x4d\\x31\\xf8\\xfa\\xb6\\x47\\xf6\\xdd\\xba\\xfc\\xea\\x55\\xbd\\xd9\\x55\\x95\\x95\\xe1\\x4b\\xde\\x5b\\xbb\\xf2\\xae\\x5f\\x9d\\x33\\x63\\xce\\x99\\x8f\\xdd\\xfd\\xc6\\xd1\\x65\\x07\\xe9\\x23\\xeb\\x2f\\xbc\\xe0\\x9a\\xc6\\xda\\x9a\\x61\\x2c\\x63\\x58\\x67\\x32\\xcd\\xac\\x1e\\xf6\\xcd\\xcf\\xd7\\x75\\xac\\xe2\\x75\\xe6\\x8b\\x66\\xaf\\xbf\\x49\\xf9\\xea\\xb6\\xf7\\x2f\\x20\\xe7\\x75\\x20\\xa4\\x4c\\xa4\\x6f\\x27\\x38\\x32\\x38\\xcf\\x62\\xb7\\x87\\x0c\\x24\\xcf\\xd2\\x41\\xf2\\x2c\\x5d\\x6a\\x9e\\x85\\x67\\xad\\x28\\x56\\x60\\x7d\\x27\\xcb\\xb3\\xa8\\x39\\x0c\\xe4\\x8b\\x0e\\xce\\xb3\\x94\\xe6\\x12\\xb3\\xf4\\xed\\xbb\\x4b\\xf3\\x2c\\x2f\\xbd\\x84\\xf3\\x2c\\xbb\\x9b\\xaa\\x4a\\xd2\\x2c\\x87\\xd7\\xd0\\x3b\\x08\\x78\\xd5\\x52\\xcd\\x0f\\x98\\xc0\\xfc\\x1b\\xd9\\xcf\\x14\\x95\\xa5\\xa6\\xe7\\xaa\\xea\\xbd\\x95\\x61\\x49\\xe2\\x38\\x8b\\x17\\x0e\\x4b\\x35\\xc6\\x91\\xf1\\xa7\\xe2\\xc0\\x19\\x76\\x07\\x02\\x35\\x9d\\x72\\x40\\x70\\xa7\\xbb\\x64\\xb7\\xd3\\x88\\x82\\x01\\x8b\\xb1\\x90\\x6e\\x29\\x6a\\x73\\xcd\\x94\\x96\\xa2\\xcf\\xa9\\x86\\xd4\\x41\\xde\\xc3\\x8a\\x53\\xce\\x7b\\xd3\\x4e\\x97\\xf6\\x6c\\x01\\x1a\\x54\\xf8\\x64\\xbc\\x33\\xcc\\xe3\\xd8\\xa6\\x5e\\xad\\xfc\\x70\\xc7\\x95\\xb7\\xb4\\x66\\xc2\\x67\\x67\\xae\\x59\\xa5\\x3a\\xd8\\xb3\\x2f\\xaf\\xc0\\xa0\\xe6\\xfd\\xc1\\x39\\x2b\\x88\\x97\\x4d\\x2c\\xeb\\xf1\\x43\\xeb\\x0e\\x9d\\x13\\x07\\xd6\\xfb\\x1d\\xbe\\x07\\xf7\\xf7\\xaa\\x2e\\x77\\xfd\\x29\\x04\\xde\\xfc\\xf8\\xaf\\x7b\\x40\\x4a\\x75\\xbc\\xf3\\xb2\\xc2\\x7f\\x13\\x3f\\x31\\x85\\x6c\\x6c\\x22\\xe8\\xe1\\x79\\x2a\\xe1\\x70\\x70\\x14\\xac\\x48\\x0b\\x1e\\xbb\\x97\\x77\\x21\\x1f\\xc1\\x25\\xd8\\xfd\\x38\\xa9\\x87\\xd9\\x63\\x4a\\x72\\x4a\\x65\\xbe\\x77\\x69\\x5c\\xf3\\x53\\xa2\\xb9\\x9a\\x23\\xa5\\x42\\xc1\\x7f\\x9f\\x44\\xa0\\x5f\\x4e\\x11\\x80\\x5d\\xc9\\x8b\\xc3\\x0e\\x15\\x04\\xc5\\x0e\\x4f\\x97\\xca\\x00\\xa8\\xd5\\x48\\x5f\\x34\\x11\\xfe\\x9b\\xd6\\x5c\\x54\\x64\\xdd\\x14\\x65\\x66\\x61\\x28\\xac\\x81\\xcb\\x5b\\x7c\\x16\\x5a\\xaf\\x17\\x3a\\x64\\xbd\\x40\\x3b\\x8b\\xb5\\x96\\x45\\x63\\x5b\\x9a\\x87\\x44\\x87\\x89\\x8b\\x44\\xe9\\x46\\x75\\x23\\xa4\\x82\\xd6\\xc6\\xdd\\xd0\\x2a\\x86\\xf8\\xbf\\xf6\\x0f\\x50\\x47\\xbe\\xfd\\xee\\x6f\\xf3\\x6e\\x5b\\x39\\x39\\x31\\xbd\\xf7\\x8a\\x8b\\x56\\x9c\\x9e\\x1d\\xd6\\x0b\\x5e\\x9d\\x56\\x95\\x03\\xe0\\x6f\\xc7\\x00\\xeb\\x4e\\x9c\\xb8\\x29\\xf7\\xc2\\x8b\\x4f\\x1d\\xf2\\xfc\\x93\\x10\\xf5\\xd1\\x14\\x85\\xce\\x13\\x85\\xce\\xb9\\xa4\\xf2\\xc2\\x78\\x59\\x4a\\x6f\\x71\\x43\\xa7\\xe0\\x70\\xd8\\x9c\\x6e\\x3d\\x6b\\xd4\\x05\\xfc\\x6e\\x9e\\x31\\x49\\x82\\xc1\\x6a\\xb2\\xb6\\xcb\\x76\\x13\\xcf\\xf8\\x3a\\x0a\\x8c\\x24\\xc5\\xce\\xb7\\x11\\x43\\xd2\\x2a\\x09\\xbb\\xd3\\xc5\\xa6\\x90\\xf9\\x54\\x21\\xcf\\x7c\\x1a\\x76\\x5b\\x12\\x39\\xce\\x2e\\x7a\\x79\\xf7\\x64\\x93\\x32\\x76\\x34\\x3f\\xbc\\x59\\x41\\x61\\xd8\\x87\\x4b\\x9e\\x3a\\xbe\\x18\\x64\\x3b\\x94\\xc9\\xfa\\x78\\xd6\\x64\\x7a\\x78\\x80\\xea\\xef\\x35\\x05\\x96\\xec\\xbb\\x14\\xf6\\x12\\x80\\xb3\\xaf\\x68\\x11\\x87\\xc0\\xc7\\xe7\\xce\\x5a\\x7c\\xc1\\x38\\x1d\\x39\\x1b\\x55\\x48\\xf7\\x7c\\x8a\\xe6\\xed\\x40\\x31\\xd9\\x98\\x5c\\xc4\\xe5\\xb0\\x19\\xa1\\x04\\x38\\x00\\x1d\\x56\\xd6\\xef\\xf3\\x18\\x29\\xb3\\x8e\\x77\\x49\\x94\\x84\\x2e\\x44\\xde\\x8b\\x29\\x16\\x44\\x94\\x23\\x2e\\xb2\\x29\\xe4\\xc7\\xe3\\xb0\\x1d\\xd9\\xbf\\xe6\\xac\\x84\\xd4\\xad\\xd3\\xee\\x4a\\xb8\\x30\\xb9\\x05\\x98\\xd5\\xe5\\x5e\\xdf\\x71\\xc7\\xcf\\xc0\\xa5\\x0b\\xc7\\x76\\x5e\\xfc\\xce\\x2f\\x16\\x2e\\x6d\\x99\\xe9\\x57\\xe6\\x58\\xce\\x76\\xf8\\x46\\x3a\\x02\\xf7\\x7d\\xba\\xf7\\xdb\\xfa\\xd6\\x5b\\x2e\\xb9\\x60\\x47\\x6b\\xcd\\xa5\\x37\\x5f\\xa5\\xfc\\xf0\\xc8\\x22\\x1d\\xb7\\xbc\\x6b\\x35\\xc1\\x53\\x54\\xa6\\x31\\x39\\xa2\\x3f\\x26\\xe6\\xe2\\x22\\x1d\\x08\\x78\\xad\\x3a\\xaf\\x2e\\x14\\x0c\\x78\\xdb\\xe5\\x80\\xcf\\xe3\\xb0\\xe8\\x8d\\x7a\\x14\\xca\\xb2\\x4e\\x23\\xcf\\xda\\xa6\\xcb\\x6c\\xb1\\xca\\x56\\x5d\\xd2\\x21\\x95\\xe1\\xec\\xb0\\xe6\\x02\\x7a\\xa2\\xd6\\x34\\x98\\x6f\\x24\\x44\\x6e\\x2f\\xfd\\x0c\\x37\\xfe\\xc6\\xd5\\x18\\x33\\xf1\\x88\\x0a\\x5e\\x0e\\x8e\\xcc\\xef\\x55\\xd6\\x4e\\xc1\\xfc\\x14\\x2a\\x52\\x62\\xab\\xbb\\xff\\x0d\\x0d\\x2b\\xb1\\xd5\\x7d\\x7c\\x26\\x79\\x32\\x52\\x73\\x52\\xcc\\x4c\\xa4\\x4f\\x92\\xd4\\xac\\x5c\\x75\\xd0\\x6f\\x30\\x58\\xe9\\x78\\x5c\\xb2\\xaa\\xd9\\x04\\x01\\x06\\xcd\\x91\\x08\\x37\\x1d\\x73\\xfc\\x79\\x3a\\x65\\xa7\\x1d\\xc4\\x0d\\xb4\\xd5\\x8c\\xce\\x01\\x65\\xd6\\x48\\x10\\xc8\\x54\\x8b\\x69\\xdc\\x21\\x79\\x84\\xc1\\x38\\xeb\\x25\\x2c\\x08\\x01\\x90\\xe7\\xe0\\x70\\x49\\xf4\\xba\\x02\\xe6\\x7a\\x81\\x07\\x41\\x65\\xdf\\x38\\xad\\xd5\\x4d\\xd7\\x16\\xea\\x89\\x0a\\x3c\\x08\\x2d\\x2a\\xf3\\x46\\xff\\x43\\x44\\x10\\x82\\x19\\x0f\\xbf\\x47\\x72\\xd4\\x50\\x3d\\xb9\\xc6\\x8a\\x94\\xc3\\xe1\\xb1\\x50\\x14\\x32\\xc5\\x4c\\x6d\\x1d\\x55\\x87\\x04\\xa9\\x70\\x55\\x55\\xa1\\x75\\xae\\x12\\x02\\xf1\\x4e\\x39\\x52\\x40\\x73\\x26\\xcc\\x97\\x90\\x9b\\x21\\xe3\\x82\\x9d\\x4c\\xe9\\xb3\\xee\\x4f\\x4a\\xc4\\xfe\\x34\\x95\\xff\\x49\\x84\\xb3\\xc1\\xef\\x8b\\xd9\\xe9\\x9f\\x10\\x31\\x55\\x24\\xf7\\xff\\x49\\x41\\x35\\x5c\\x6d\\x7a\\x04\\xe1\\x7a\\x08\\xe0\\x0a\\x01\\x3b\\xc7\\x85\\x82\\x3e\\x69\\x86\\xec\\xb3\\x0d\\x66\\x7d\\xf8\\x5f\\x12\\x87\\x99\\x42\\x0e\\x6e\\x28\\xf5\\xc3\\xb0\\x42\\x84\\x9b\\x04\\x07\\x30\\x0d\\xc4\\xcd\\x37\\xa3\\x00\\xef\\x1a\\xa5\\x73\\x5e\\x4b\\x4e\\x9e\\x3b\\x36\\xd7\\x0d\\xee\\x55\\x1e\\x27\\xf9\\xc2\\xb6\\x65\\x60\\x92\\xbb\\x55\\xe9\\x59\\x06\\xbb\\xc6\\xce\\x95\\x73\\x2d\\xf3\\xe4\\x81\\x01\\xaa\\x7a\\xe0\\x73\\xfa\\x7c\\xd8\\x67\\xe7\\xe0\\x99\\xf9\\xf3\\x45\\x3b\\xd1\\x3d\\x30\\x51\\xa9\\x9c\\x48\\x59\\xcc\\x1a\\x62\\xbf\\xc4\\x52\\x83\\x51\\xa6\\xf2\\xd0\\x3f\\x62\\xe1\\x50\\x37\\x36\\x6f\\xeb\\x01\\x1f\\xf4\\xf4\\x28\\x11\\x02\\x13\\x85\\x4e\\xb0\\x5e\\xa5\\x17\\x45\\xf6\\xf9\\x55\\xf4\\xb9\\xab\\xd1\\x5a\\xf8\\xb1\\x5e\\xe5\\x83\\x01\\x09\\x50\\x06\\xc1\\x80\\xc2\\x2e\\x83\\xc1\\xc6\\xba\\xdd\\x16\\x1f\\xd1\\xaf\\x45\\xc2\\x98\\x41\\xeb\\xa0\\xf5\\x43\\xe7\\xd1\\x86\\x5c\\x28\\xda\\x6a\\xce\\x5a\\x0b\\xe4\\x23\\x38\\x61\\x1a\\x43\\x5f\\x22\\xb4\\x00\\x7b\\x1d\\xa2\\x8b\\x37\\x2f\\x37\\x2d\\x9c\\x8d\\x97\\x43\\x8c\\x7a\\x0d\\xcb\\x4d\\x3d\\x73\\xd0\\xa2\\xd0\\xef\\x41\\x4b\\x70\\xc2\\xcd\\xeb\\x39\\xa5\\x8e\\xd4\\xba\\x75\\xc1\\xea\\x89\\x37\\x5d\\x6d\\x00\\xef\\x91\\x33\\xa9\\xee\\x57\\x1c\\xcd\\x11\\x73\\x6e\\x9d\\x92\\x0b\\x61\\x90\\xed\\x76\\xdc\\x0f\\x82\\xcc\\xb1\\xde\\x0d\\xd1\\xfc\\xdc\\xd0\\x0d\\x39\\x5e\\xd2\\xb8\\x61\\x8a\\x5d\\x33\\x79\\x2f\\x42\\xad\\xce\\x41\\xc7\\xaa\\x59\\xdb\\x9d\\x3c\\xd8\\x76\\x0d\\x68\\x46\\xde\\x7a\\xa3\\x15\\x74\\x8d\\x46\\xf3\\xb8\\xe0\\x02\\x3c\\xb1\\x31\\x9d\\x5d\\x31\\xaf\\x37\\x46\\x3f\\x3c\\x6a\\x81\\x1e\\xfc\\xc3\\xdd\\x7a\\xe2\\x8d\\x2e\\xe5\\x54\\xb2\\x51\\xfb\\xf5\\x0b\\x46\\x05\\x32\\xba\\x3b\\x74\\x95\\xea\\x9d\\xaf\\x51\\xa6\\xd1\\xcf\\x92\\x73\\x94\\xce\\x39\\x74\\x94\\x85\\x94\\xae\\xb5\\xcb\\x02\\xa6\\x07\\x42\\x1e\\x84\\xb1\\xa4\\x53\\x85\\x9c\\x93\\x06\\x7c\\xe8\\xcb\\x20\\x9c\\xc9\\xb2\\x14\\x21\\x9b\\xd1\\x1c\\x26\\xe5\\x11\\x9a\\xd9\\x6e\\xc2\\x4b\\x92\\x56\\x26\\x32\\xb7\\xa1\\x31\\x92\\xe8\\x3e\\x66\\x43\\x92\\xe4\\x8d\\x5a\\xf8\\x88\\x21\\x1e\\x8f\\x58\\x18\\x2f\\x9b\\x4a\\x47\\x84\\x90\\xd0\\x2e\\x47\\x2d\\x16\\x77\\x88\\x0f\\xf8\\x90\\x4a\\xa4\\x24\\xaf\\x1b\\xa9\\x46\\xb7\\x44\\x71\\xd8\\xf3\\xf7\\x95\\x78\\xfe\\x79\\x4b\\x5e\\xfb\\x53\\x88\\x88\\x6a\\xbc\\x5c\\xc4\\x43\\xe4\\x78\\x50\\x42\\xf4\\x83\\x91\\x11\\x6d\\x0e\\x86\\xbe\\x49\\xee\\x1b\\x71\\xc5\\xe6\\xeb\\x6e\\xdc\\x70\\xc3\\x69\\x20\\xfe\\x00\\xae\\x47\\xc0\\xab\\x86\\xb7\\xf1\\xb0\\x72\\x10\\x9c\\xae\\x7c\\xab\\x4c\\xac\\x48\\x9e\\x1a\\xde\\xb6\\xbb\\xef\\x81\\x51\\xe0\\x39\\x51\\xd8\\xd9\\x7f\\xa8\\xc0\\xf3\\x13\\xaa\\x57\\x32\\x23\\x95\\xfb\\xdf\\xff\\x52\\x3d\\xd3\\x03\\x9f\\x70\\xd7\\xa2\\x33\\x5d\\x4d\\x9d\\x9e\\x1b\\x66\\x33\\xba\\x9d\\x21\\x2e\\x0e\\x40\\x26\\xc3\\x39\\x8d\\x4c\\x4d\\x6d\\x25\\x72\\x54\\x30\\xea\\x6f\\xbb\\x0c\\x38\\x2a\\xe5\\xb3\\xf0\\x4c\\x74\\xba\\xcc\\xe8\\xf5\\x0e\\x92\\x51\\xca\\x14\\xf1\\x29\\xf3\\xb5\\x3b\\xd9\\x02\\xc9\\x46\\x36\\x3b\\x54\\x3c\\x02\\x9a\\x8b\\x42\\xb2\\x58\\xb4\\x4c\\xf5\\x97\\x91\\x88\\x14\\x0d\\x01\\xeb\\xb5\\x8e\\xdf\\x7c\\xce\\xee\\xe1\\xaf\\x5e\\xaf\\x60\\x53\\x30\\xb6\\x75\\xca\\x6c\\xa3\\xfa\\x87\\xd6\\x59\\xd8\\x26\\xcc\\x9f\\x1e\\x9b\\xbc\\x66\\x4d\\xa9\\x45\\xa8\\xac\\x6c\\x2e\\xfe\\x47\\x8a\\x7e\\x2a\\x7f\\xcf\\x54\\x9d\\xaa\\xc9\\xd9\\x93\\xab\\x8b\\x53\\x14\\x16\\xd4\\xc9\\x65\\x6c\\xc6\\x8c\\xb1\\xb6\\xa6\\x54\\x4c\\x3d\\x16\\x33\\xea\\xc0\\x22\\x32\\x9a\\x8c\\xbe\\xf2\\x2a\\xc4\\x41\\x22\\xaa\\x35\\x77\\x45\\xb6\\x3b\\x60\\xfb\\x3f\\x09\\x69\\x6c\\xdd\\xb4\\xea\\xbf\\xc8\\x88\\x8e\\x37\\xf7\\xff\\x22\\xa6\\x6a\\x05\\x55\\x39\\x2b\\x90\\x8f\\xd6\\x88\\x6b\\x26\\x8c\\xd9\\x1a\\x51\\x74\\x57\\x84\\x42\\xf1\\xb8\\x1b\\x66\\x99\\xe6\\x26\\xab\\xbf\\xca\\x3f\\x5d\\xae\\xab\\x12\\x6a\\x2a\\xa2\\xa9\\x54\\xa2\\x5d\\x4e\\xf1\\x21\\xb7\\x18\\x8f\\xc6\\xdb\\x65\\x67\\x54\\x2a\\xa0\\x8a\\x37\\x94\\xf8\\x43\\x65\\x0e\\xf6\\xc9\\x41\\x3c\\xcb\\xed\\x87\\x53\\xb2\\x9d\\x94\\x92\\x04\\x97\\xe3\\xa2\\x60\\x27\\xdb\\xe0\\x01\\xc8\\x6f\\xbd\\x37\\x6f\\x47\\x54\\x91\\x95\\x6a\\x55\\xe4\\x42\\x3d\\xae\\xba\\xef\\x2f\\xab\\x28\\xe4\\xaa\\x35\\x41\\x62\\x63\\x13\\xa9\\xda\\xd0\\x54\\xff\\xc4\\x92\\x9a\\xdc\\x35\\x6b\\x90\\xf9\\xac\\xf8\\xcd\\x1b\\x6a\\xbc\\x73\\x95\\xc6\\xb9\\x12\\xc3\\xaf\\x3c\\x98\\x5b\\x92\\x8e\\x38\\x23\\x09\\x3e\\xee\\x0b\\x06\\x91\\xfd\\x0f\\x0a\\x1e\\x57\\xbb\\xec\\xe1\\xcd\\x62\\xa7\\xcc\\x9b\\x7d\\x91\\x41\\x95\\x2d\\xd9\\x52\\x16\\x84\\xf2\\x67\\xc3\\xa2\\x50\\x43\\x2a\\x60\\x5d\\x83\\x8c\\x7f\\xd1\\x4e\\x16\\xca\\x8b\\xf3\\xc6\\xff\\xc4\\xb3\\x85\\xf2\\xd8\\x1d\\x5a\\x41\\x31\\xb1\\xfc\\x64\\xef\\x58\\x1d\\x99\\x37\\xf2\\x5f\\x30\\x77\\x18\\xf4\\xf2\\xde\\x78\\x82\\x4f\\x00\\x13\\x74\\xb8\\x5c\\xba\\xe9\\x38\\x40\\xc0\\xdc\\x61\\x7c\\xde\\x14\\x84\\x29\\x2a\\xd0\\x39\\xb4\\x1d\\xaf\\xac\\x72\\x7a\\x44\\x59\\x00\\x7e\\xd2\\x22\\xe9\\x12\\x54\\x7b\\x66\\xde\\x53\\xaf\\x0c\\xa9\\x8c\\xd6\\xb4\\xa3\\x32\\xed\\x8d\\xdf\\xd0\\xfb\\x86\\xd6\\x43\\xf7\\x1b\\x54\\x85\\x49\\x30\\xd9\\x91\\x0f\\xc6\\xa3\\x7b\\x26\\x62\\x64\\x0f\\x3b\\x72\\xc1\\x74\\xa2\\xc8\\x59\\x39\\x07\\x32\\x92\\xbc\\x0d\\xcd\\x59\\xd4\\x9b\\x69\\x1b\\x6f\\x20\\x8e\\x97\\x59\\xc2\\x98\\xdb\\x2d\\xe5\\xc5\\xbd\\xa5\\xc4\\xc5\\xf9\\xe2\\x5e\\x74\\x53\\x62\\x25\\x6a\\x10\\xc0\\x51\\x4b\\xc1\\x29\\x3d\\x3b\\xfb\\x3f\\x58\\xaa\\x1c\\xea\\xe9\\x01\\x67\\x81\\xbd\\x70\\xba\\x6b\\xdc\\x38\\xd7\\x89\\x47\\xe8\\x17\\xfb\\xb7\\xaa\\x73\\x73\\x8d\\xeb\\x7f\\x23\\x5f\\xf3\\x0f\\x5f\\xb0\\x73\\xcc\\x6d\\x5a\\xef\\xd8\\x71\\xf6\\xd7\\x70\\x3f\\x15\\xa2\\x2a\\xa9\\x45\\xb9\\xe1\\x16\\x49\\x4a\\x84\\x29\\xaf\\xce\\x96\\xa0\\xd8\\xaa\\x8c\\xc5\\x81\\x1c\\x0f\\x15\\x06\\xd3\\x62\\x09\\xc0\\x40\\x0c\\xd7\\xe6\\x7a\\xfc\\x7e\\xe4\\x79\\xfb\\x25\\xd6\\xdc\\x29\\xeb\\x59\\x1e\\xa6\\x3b\\x64\\xc8\\x97\\x42\\xe2\\x94\\x1a\\x63\\x02\\x01\\x55\\xd6\\xdc\\x3a\\x2c\\x1e\\x69\\x70\\xe5\\xbb\\x77\\xb4\\x0a\\x13\\x1b\\x59\\x6c\\x18\\xd1\\x85\\xe3\\x25\\x05\\xc9\\xed\\x40\\x0f\\x6c\\xb9\\xd9\\xf4\\xd5\\xd3\\x9c\\x6d\\xf7\\xb6\\xf4\\x39\\xa7\\x4c\\x71\\xf6\\xf5\\x3c\\x39\\x2a\\x3d\\xcd\\xd2\\xdf\\xba\\x51\\xf9\\x41\\xf9\\x12\\x54\\xaf\\xba\\x74\\x52\\xa2\\xb2\\xf5\\xf2\\xb3\\xc1\\xbb\\x5f\\x7c\\xce\\x29\\xdf\\xde\\x6a\\x54\\xde\\x58\\xa6\\xbc\\x70\\xa6\\xf2\\x8c\\xe9\\x11\\xe5\\x7d\\xf6\\xd8\\x17\\xaf\\x3d\\x6c\\xa1\\xdf\\x31\\xef\\x51\\x73\\xd3\\xec\\xb5\\x04\\xcb\\xb1\\x06\\x79\\x15\\x11\\x89\\x0f\\x18\\xab\\x62\\x10\\x1d\\x29\\x58\\x57\\xcb\\xa4\\x52\\x3a\\xb3\\xd9\\x83\\x59\\x56\\xed\\x61\\x5d\\xb8\\x4b\\xa6\\x74\\xce\\x72\\xd2\\x3c\\x77\\xed\\x88\\x72\\xa6\\x1b\\x9c\\x9c\\x8a\\xa9\\xd9\\x74\\x8c\\xf2\\xa3\\xa5\\x44\\x87\\x95\\x70\\xf3\\x36\\x35\\xa7\\x92\\xa3\\xd1\\x09\\x72\\xf0\\x20\\x08\\xe0\\x37\\xdd\\xd7\\x44\\x8c\\xe1\\x6b\\xe6\\x3d\\xf7\\x47\\xfa\\x36\\x30\\x16\\xc8\\x6f\\x7e\\x75\\x6a\\x57\\xf7\\xfd\\x17\\x9c\\xff\\x40\\x77\\xd7\\xa9\\xc3\\x67\\x59\\x4d\\xb1\\x37\\xa3\\x66\\xeb\\x2c\\x47\\xf7\\xec\\x59\\xf3\\xbe\\x7e\\x87\\xb6\\x2b\\x5f\\x0c\\xfc\\xe9\\xab\\x35\\x7b\\xee\\xb9\\xf6\\x50\\x6f\\xef\\x0b\\x3f\\xbb\\xf7\\xa1\\xa5\\xf3\\x86\\xdf\\x9d\\xcd\\xe5\\xb2\\x77\\x0f\\x9f\\x87\\x53\\x05\\x14\\xa4\\xa6\\xa2\\xbb\\x71\\x29\\xa9\\x07\\x0b\\xa3\\x08\\x7a\\x61\\x2e\\xeb\\x36\\x27\\x9c\\x0c\\xe3\\xe7\\x0d\\xe8\\xc4\\x19\\xcc\\x30\\x5d\\x21\\xa9\\x77\\x03\\xc6\\x03\\x7c\\xa0\\x43\\x76\\xf2\\x42\\xc2\\x6f\\xf4\\xa3\\xbd\\x32\\x3a\\x31\\x71\\x1b\\x0a\\xa8\\x07\\x17\\x51\\x67\\xcb\\xbc\\x35\\x57\\xe1\\x25\\x41\\x7b\\x4c\\x60\\x58\\xed\\xc4\\xc5\\x6d\\xc3\\xe2\\x09\\x4d\\x61\\x33\\xc0\\x81\\xe1\\xbb\\xac\\x34\\x3b\\x2c\\x99\\xb2\\x8d\\x01\\xec\\xa5\\x03\\x94\\xf2\\x1f\\x6c\\x7c\\xfb\\x7f\\x00\\x00\\x70\\x67\\x80\\x2f\\x97\\xd2\\xfa\\xe3\\xdf\\x55\\x2d\\x9a\\x31\\x6b\\x61\\x15\\xfd\\xf1\\x8a\\x4b\\x2e\\x3a\\x0b\\x1c\\xfd\\xdb\\x17\\x1e\\xe5\\x51\\xe2\\xbe\\x4c\\xab\\x01\\xbf\\x7e\\xff\\x0b\\x0f\\x20\\xdc\\xf2\\xca\\x9f\\xeb\\x95\\x53\\xaf\\xdb\\x32\\x5b\\xa0\\x7f\\xb4\\x4d\\xbf\\x61\\xe3\\x81\\x07\\x7c\\xfd\\x56\\xef\\x1e\\xd5\\xaf\\xa9\\x1e\\xf8\\x1b\\x9c\\x43\\x62\\xc2\\x53\\x72\\x01\\x13\\x00\\x76\\xd6\\x2e\\x39\\x71\\x15\\x18\\xb2\\x51\\x80\\xb2\\xf2\\x7a\\x0e\\x85\\x59\\xf6\\xa2\\x01\\xce\\x66\\xf3\\x38\\xde\\x25\\x6f\\x4c\\x91\\x94\\x15\\x33\\x66\\x66\\x5d\\x05\\x6a\\x2e\\xcc\\x8f\\xf3\\x8a\\xf6\\x60\\x3e\\xee\\xc1\\xba\\xed\\x74\\xc3\\x9a\\x35\\xcf\\x5d\\xbc\\x1c\\xcc\\xb9\\x62\\x74\\x88\\x1e\\x59\\x62\\x2f\\xc9\\xf8\\x68\\xbd\\x1d\\x54\\x53\\xce\\x87\\xc7\\xb7\\xb3\\x48\\xb1\\x93\\xf1\\xad\\x30\\x3f\\x38\\xc0\\xa3\\xbf\\xaa\\x0d\\xff\\xff\\x6b\\x6c\\xf8\\x0a\\x31\\x62\\x17\\xa9\\x63\\xa3\\xf8\\xe7\\x4b\\x12\\x6f\\xe6\\x72\\x61\\x97\\xc5\\x82\\x0e\\x71\\x50\\x17\\x0a\\xb8\\x31\\x5f\\x96\\xd5\\x6a\\xf3\\xf2\\x0e\\xbb\\xcd\\x39\\xd8\\xbf\\x2b\\x59\\x80\\x82\\xd2\\x1e\\xe4\\xeb\\x8d\\x06\\x5c\\xf9\\x8c\\xe8\\xf7\\x8b\\x7e\\xdf\\x0b\\x3f\\x2f\\x4e\\xab\\xe0\\x00\\xfe\\xfd\\x68\\xc9\\xca\\x14\\x62\\x33\\x5c\\xf7\\xe0\\xc0\\x7c\\x85\\x94\\xc9\\x24\\x30\\x82\\x53\\x12\\x91\\x2f\\x2c\\xf2\\x26\\xc1\\x8a\\x0e\\xa0\\xd5\\x67\\xa4\\x74\\x3a\\x0e\\xbf\\xfa\\x91\\xc3\\x54\\xea\\x7e\\xe6\\xab\\x6a\\x8b\\x95\\x0c\\x25\\x4a\\xed\\xd5\\x42\\x19\\x03\\xa9\\x6c\\x00\\x9b\\xe8\\x7f\\x6a\\xe5\\x0b\\x27\\x6c\\xc4\\x79\\xeb\\x2b\\xc4\\xb9\\xda\\x1c\\xfc\\x38\\x9f\\xe7\\x62\\x59\\xbb\\xcf\\x62\\x87\\x81\\xa0\\x8b\\x41\\x27\\xc3\\x2b\\x48\\x62\\xbb\\x2c\\xf1\\x26\\x9e\\xd7\\x77\\x0e\\x2a\\xf0\\xc9\\x6a\\x45\\x16\\x45\\x8e\\x6d\\x3c\\x83\\x21\\xde\\xb0\\x5a\\x68\\x01\\x2b\\xf0\\x54\\x8a\\xeb\\x93\\x2f\\xb4\\xa0\\xcf\\x43\\x33\\xea\\x8f\\xe7\\x57\\x08\\x5e\\xa2\\x95\\x59\\xa0\\x79\\xd5\\x21\\x05\\xfb\\x04\\xd2\\x39\\x76\\xaa\\x32\\x27\\xe9\\xcc\\x94\\xd9\\x21\\x0a\\xf8\\x19\\x4c\\x10\\x74\\x66\\xa3\\x59\\x7b\\xfc\\x2a\\x7f\\x09\\x2d\\x7b\\xef\\xca\\x47\\x9d\\xf4\\x13\\x24\\xa0\\x3c\\x43\\xb1\\x2f\\xc5\\xd1\\x25\\xfd\\x47\\x14\\x3a\\x2a\\x34\\xb9\\x3f\\x7f\\x41\\x91\\x24\\x59\\x83\\x2b\\xd0\\x1a\\x70\\x64\\xac\\xea\\x9c\\x93\\x35\\x9b\\xed\\x0e\\x31\\x4f\\xa0\\x66\\xa7\\x69\\x6b\\xa7\\x4c\\x0b\\x83\\xc3\\xb1\\x11\\xc5\\xaa\\x59\\x6d\\x34\\xb5\\x5c\\xf6\\x8a\\x31\\xcb\\x9e\\x78\\x0e\\x5f\\x61\\xfc\\xf2\\x97\\x83\\xfb\\xc5\\x57\\x0e\\x9e\\x38\\x9b\\xc4\\xad\\xfb\\x29\\xf5\\xa9\\x0f\\xe9\\xd3\\x11\\xc8\\xae\\x6d\\x26\\x76\\xcd\\x8f\\xd1\\xd0\\x29\\x9b\\xc3\\xea\\x81\\x50\\xaf\\x17\\xac\\x36\\x26\\x18\\x10\\x3c\\x1e\\xba\\x43\\xf6\\x78\\x38\\x93\\xc9\\xdd\\x21\\x9b\\x90\\xb6\\x31\\xf1\\x36\\x5c\\x3f\\x42\\xda\\x61\\xf3\\x46\\xae\\xa4\\x80\\xe7\\x24\\x98\\xdc\\x11\\x58\\x42\\x3f\\x84\\x31\\xee\\x44\\x97\\x54\\xa8\\xda\\x81\\x61\\xa5\\x77\\xb5\\xc2\\xf7\\x2c\\xa3\\xed\\xe0\\xfe\\x27\\xff\\x79\\xa6\\x32\\x71\\xe6\\x85\\x13\\xdb\\xce\\x9a\\x07\\xd6\\x29\\xef\\x12\\x7b\\xf7\\x83\\x73\\x9c\\xf2\\xc3\\xe1\\x16\\xe5\\x37\\xee\\x56\\xfa\\x8e\\xf9\\xd3\\x94\\x7b\\x3b\\x87\\xce\\xbb\\x33\\x97\\xb1\\x79\\x3c\\x46\\x07\\x0b\\x58\\x68\\x64\\x02\\x41\\x91\\xb7\\xa1\\xd9\\x42\\x9b\\x4d\\x6f\\x11\\x68\\x93\\x1a\\x6c\\xeb\\x91\\x59\\xc0\\xcc\\x90\\x98\\x18\\xb2\\x90\\x43\\x50\\x8b\\x8f\\x89\\xb5\\x2b\\xcf\\xe8\\x4b\\x3a\\xe8\\x94\\x84\\x0a\\x50\\xc0\\x81\\xca\\x8a\\x30\\x3f\\x65\\x66\\xf3\\x99\\xff\\x7c\\x52\\xe9\\xee\\xff\\x72\\x59\\x0f\\x38\\xb6\\xba\\x57\\x69\\xef\\x5e\\xd9\\x36\\xf1\\x82\\x59\\xb0\\x0f\\x29\\xbe\\xdf\\xb4\\x1c\\x56\\x7e\\x18\\xe7\\xa4\\x09\\x1f\\xa4\\xf2\\x2e\\x58\\xd7\\xbf\\x68\\x71\\x97\\x72\\xef\\x54\\xf5\\x7c\\x8f\\x41\\x4e\\x2f\\xae\\x65\\x1f\\x46\\x4d\\xcd\\xa5\\xc3\\xf6\\x0c\\x34\\x27\\x93\\xee\\x06\\x68\\x67\\x1b\\x9b\\xc2\\x66\\xa9\\xa2\\x02\\x2d\\x2f\\x5b\\xe1\\x94\\x02\\xed\\xf8\\x75\\xbb\\x9e\\xa2\\x6a\\x4a\\x5d\\xa0\\x6c\\xf1\\x99\\x7b\\xe8\\xab\\xd8\\xff\\x5e\\xb6\\x8e\\x2c\\x5b\\x46\\x35\\x68\\xe4\\x4e\\x80\\x43\\x4f\\xbd\\xf2\\xd3\\x05\\xeb\\x07\\x9f\\xb0\\x95\\xb8\\x46\\x60\\xe2\\x4f\\x16\\xaa\\x9f\\x7d\\xc7\\xdd\\xd9\\x82\\x8f\\x34\\x70\\x13\\x92\\xef\\x79\\xf6\\x1e\\xca\\x8b\\x63\\x56\\xd1\\xe7\\xf5\\x9b\\x7d\\x2e\\x48\\xea\\x1b\\x0c\\x42\\xa7\\x6c\\x36\\x94\\x14\\xec\\xe0\\x56\\x30\\xcc\\x21\\x5c\\xc8\\x65\\x97\\xa5\\x6b\\xc8\\xf4\\xe9\\xf5\\xf8\\xb2\\x14\\x1d\\x4e\\xfc\\x02\\xac\\x66\\xa7\\x77\\xe5\\x1d\\x4d\\x66\\x3e\\x4e\\xc0\\x10\\xdf\\xf8\\x00\\x1a\\xfb\\x63\\xc2\\x99\\xd3\\x9a\\x8b\\x72\\x06\\x83\\xcf\\xed\\x8e\\x45\\xe3\\x42\\x2c\\x84\\x27\\x10\\x02\\x9c\\xd7\\xe3\\xed\\x90\\x0d\\x1e\\x09\\x13\\x44\\x08\\x96\\xb2\\xd2\\xa1\\x92\\x09\\x95\\x67\\xd8\\x09\\x28\\x75\\xc9\\xcc\\xd4\\x67\\x01\\x6d\\x76\\xf7\\xe3\\xd9\\x5d\\x7b\\x6d\\x71\\x7e\\xd7\\x5e\\x8b\\x2f\\xb5\\xfa\\x32\\x9d\\x5d\\x56\\xc8\\x17\\x4d\\x5a\\x06\\x1f\\x26\\xb3\\x04\\x03\\xdf\\xa3\\xbb\\x9d\\x26\\xb8\\x7e\\xf5\\x39\\xb7\\x0d\\x42\\x9f\\xdb\\x6f\\xf4\\xe1\\x3e\\x91\\x4e\\xd9\\x22\\xb8\\x28\\xca\\x31\\xd8\\xe5\\x2d\\xcc\\x4a\\xdb\\x65\\xf5\\x5e\\xe7\\x59\\x41\\xf2\\x7b\\x49\\x5f\\xf6\\xd4\\x2b\\xe4\\x8a\\xe3\\xfb\\x5e\\xea\\xd2\\xae\\xc5\\xd7\\x1c\\xbf\\xf3\\xf7\\xaf\\xd3\\x36\\x89\\x56\\x9e\\x56\\x26\\x92\\x3d\\x0a\\x51\\x15\\x58\\xcb\\xea\\x39\\x2e\\xea\\x76\\x57\\x86\\x32\\x29\\xbb\\xbd\\xd2\\x8f\\xd7\\xca\\x0f\\xa4\\xf8\\x74\\xa4\\x68\\xc3\\xd3\\x55\\x2d\\x8b\\x41\\x14\\x8a\\x7b\\x36\\x74\\x91\\x1c\\x3a\\xa7\\x2b\\x96\\x4c\\x95\\x74\\x62\\xd9\\x0a\\xcf\\x0f\\x5a\\xf2\\x5b\\xdd\\xc9\\xc9\\xd5\\xd2\\x4a\\x9b\\xe3\\xfc\\x47\\x77\\x3c\\xb2\\xf3\\xaa\\xa5\\xbd\\x80\\x3c\\xe8\\x1f\\xbb\\x7b\\xd8\\xd4\\x05\\xd3\\xe5\\x09\\xea\\xbe\\xfe\\xfd\\xae\\x0b\\xe4\\x9e\\x61\\xa9\\x85\\x6b\\x57\\x2d\\xbe\\x2a\\xcb\\x33\\x41\\xbc\\x6c\\x3f\\x06\\xb7\\x66\\x46\\x54\\xa5\\x6b\\xf3\\xbc\\x48\\x98\\x47\\xca\\x89\\xeb\\xf9\\x59\\x00\\x9c\\xa2\\x08\\x4d\\xd0\\xe5\\x76\\x12\\xba\\x09\\x91\\x61\\x00\\xb2\\x0e\\x86\\x2e\\x99\\x07\\xc8\\xed\\xab\\x2d\\x94\\xf2\\x97\\xe8\\x24\\xd5\\x76\\xc6\\x48\\x31\\x3c\\x09\\x18\\xb4\\x97\\x70\\xb4\\xd5\\x3a\\xb0\\x73\\x5b\\x29\\x01\\xd2\\x56\\xc7\\xff\\x47\\xdc\\x7b\\xc0\\x47\\x55\\x65\\x8f\\xe3\\xf7\\xbe\\xfb\\xde\\xf4\\x99\\x37\\xbd\\x66\\x66\\x32\\x99\\x4c\\x26\\x90\\x84\\xc9\\x64\\x18\\x42\\x68\\x79\\x44\\x08\\x09\\x2d\\x24\\x34\\x87\\x16\\x54\\xa4\\x57\\x45\\x51\\xd0\\x05\\x04\\xc5\\xb6\\x20\\x2a\\x2a\\x16\\x2c\\x2b\\x36\\x50\\x59\\x65\\x11\\xbb\\xab\\xac\\x0d\\xbb\\xb8\\x16\\x54\\x74\\x75\\xf5\\xab\\xae\\x6b\\x59\\xcb\\x2a\\xe4\\xe5\\x7f\\xee\\x7d\\x6f\\x5a\\x02\\x7e\\x77\\x7f\\xbf\\xff\\xff\\xf3\\x47\\x33\\x79\\x6f\\x72\\xcb\\xb9\\xf7\\x9e\\x7b\\xda\\x3d\\xf7\\x9c\\xb7\\xe6\\x73\\x99\\x6c\\xde\\xa3\\xae\\x6d\\xc3\\xe3\\x28\\x9b\\xcb\\xea\\x15\\x80\\xc1\\x03\\x7c\\xb2\\xc4\\x89\\x90\\xd9\\x6d\\xf6\\x6a\\x7d\\xa2\\xc7\\xe9\\x69\\xcb\\xd8\\x25\\xab\\x53\\xec\\xc5\\xbf\\xd5\\x04\\x56\\x27\\x62\\xde\\x05\\x57\\x1e\\xf1\\xe3\\x79\\xb6\\xa4\\xdc\\x72\\xcc\\x31\\x6c\\xa2\\x64\\xaa\\x52\\x68\\x1f\\x8b\\xb7\\xc3\\x72\\x70\\x44\\x41\\xeb\\x4f\\x3a\\x22\\x11\\x8b\\x21\\xe4\\x14\\x04\\x1f\\x36\\xe0\\xf2\\x98\\x8b\\xe9\\x23\\xa5\\xc8\\x64\\x36\\x01\\xe9\\x76\\x08\\x66\\x33\\xef\\xb1\\x89\\xba\\x12\\x6a\\xda\\xe0\\xb1\\x6a\\x70\\xcc\\xba\\x69\\x50\\x5f\\xea\\x62\\x7f\\xf2\\x86\\x5c\\x42\\xcb\\xbc\\xe3\\x25\\xcb\\x09\\x64\\xcb\\x5e\\x21\\x50\\xdc\\xeb\\x99\\x73\\x7d\\xbd\\x8d\\xfa\\xd6\\x93\\x8f\\xf2\\xf9\\x80\\x66\\xcd\\xc2\\x6b\\x71\\x64\\x0a\\x5e\\x35\\xa3\\xeb\\xab\\xb1\\x63\\xe5\\x23\\xa3\\xf0\\x6e\\xf9\\x3e\\x35\\x19\\xd0\\x9e\\xf9\\x78\\x98\\xb7\\x49\\x56\\x3f\\x41\\xc0\\x2f\\xc3\\xbe\\x4b\\x26\\xcd\\x62\\xf3\\x7a\\x72\\xf7\\x3f\\xf8\\xf5\\x30\\xa6\\x3e\\xe8\\x2c\\xa9\\xc2\\x6e\\x22\\x21\\x6f\\x3c\\x1e\\x2d\\xb1\\x68\\x89\\xa6\\x6f\\x55\\x54\\xa7\\xd7\\xf9\\x74\\x2f\\xe8\\x88\\xce\\x1c\\x36\\x95\\x07\\xc4\\xd7\\x34\\x1f\\x69\\x38\\xa2\\xa1\\xb7\\xb8\\x5d\\xfe\\x16\\xf8\\xfd\\x91\\xe4\\xd1\\x8b\\x2d\\x1a\\x0d\\x62\\xd7\\x99\\x1c\\xbc\\xa9\\xc4\\x2c\\x22\\x57\\xde\\x31\\x42\\xcd\\x13\\x94\\xa8\\xaa\\xea\\x9c\\xa9\\x46\\x68\\xa5\\xce\\x98\\x39\\x9c\\x60\\xbe\\x74\\x34\\xf2\\x47\\x8f\\xac\\x40\\xa9\\x1e\\xf9\\x83\\xd8\\xb5\\x09\\x6e\\x09\\x88\\xc6\\x5f\\xbd\\xb6\\x8f\\xf7\\x3c\\xd2\\x5c\\x39\\xc6\\x82\\xff\\xe6\\xca\\xcc\\x58\\x75\\xce\\x39\\xab\\x66\\x4c\\x77\\xe1\\xbf\\x89\\x63\\x2a\\xc7\\xfe\\xd1\\xc3\\x3f\\xf4\\x92\\xfc\\x2f\\xe7\\x5f\\x9e\\xbd\\xf2\\xc9\\x92\\x32\\xc3\\x5c\\xec\\x96\\x3f\\x11\\xaf\\x3e\\xe7\\xba\\xcb\\x2f\\xbf\\x6e\\xd5\\x36\\x11\\x07\\xe5\\x2f\\xe7\\x1a\\xca\\x4a\\xfe\\x7c\\xc5\\xd3\\x2f\\xb0\\x9c\\x4e\\xff\\x20\\x1f\\x00\\x4d\\x08\\xd3\\x7c\\x63\\x6e\\x9d\\x8e\\x88\\x25\\xa4\\x84\\xe6\\x20\\x99\\x90\\xf1\\xa9\\xf1\\xe8\\x91\\xa1\\x3d\\xef\\xe2\\x81\\x8a\\x0f\\x1d\\x0a\\x73\\x53\\x53\\xf7\\xc6\\xec\\x41\\xb3\\x9a\\x91\\x8e\\xd3\\x70\\xfc\\x53\\xcf\\xc1\\x92\\x6c\\xab\\x5e\\x38\\x7d\\xe8\\xc4\\xd1\\x35\\x15\\xb1\\x31\\x6d\\xa7\\x5f\\xb5\\xed\\xac\\xbf\\x3a\\xdf\\xfe\\x0b\\x7e\\xd1\\xdb\\xd4\\xb5\\xf4\\xc1\\x3e\\x0b\\xf6\\x5e\\xbe\\xe9\\x5a\\xd7\\x96\\x1f\\x42\\xaf\\x3f\\xf1\\xb0\\xfc\\xcb\\xa5\\x0a\\xaf\\xa2\\xb1\\x08\\x7f\\x26\\x4f\\x21\\x0b\\xcd\\x0d\\x44\\xcc\\x26\\x23\\x2f\\x18\\x74\\x06\\xde\\x8c\\x04\\xab\\xc8\\xeb\\x8c\\x56\\xb3\\x81\\x08\\x3a\\x01\\x44\\x65\\x5d\\xe1\\x21\\x83\\xbd\\xc7\\xb1\\x0d\\xe5\\xa0\\x46\\xe5\\xe2\\x22\\x4e\\x61\\x0f\\xf9\\x59\\x8e\\x9e\\xf6\\xf6\\xbb\\x9d\\xf2\\xfb\\xa3\\xf0\\x98\\x17\\xf0\\xe8\\xd1\\x8d\\x01\\x6e\\x56\\xd7\\x6d\\x81\\xc6\\xc6\\x00\\x99\\x7b\\xec\\xfa\\x00\\xf4\\xab\\x41\\x48\\x78\\x0c\\xfa\\x75\\x42\\xbf\\x25\\x76\\x33\\xa7\\x35\\x6b\\x41\\x0e\\x05\\xc4\\x16\\x8c\\x3a\\xab\\xdd\\xac\\x45\\x9c\\xc0\\xd1\\xdc\\x20\\xf9\\x5e\\xb3\\xe7\\x45\\x85\\x42\\x7a\\x2c\\xd7\\x69\\x80\\xf6\\x4b\\x1f\\x8d\\x98\\x3b\\xf9\\xdd\\x7d\\x4b\\xe5\\x57\\x5b\\xf0\\x90\\x73\\xdf\\xfe\\xeb\\xb9\\x78\\x5c\\xb3\\x9c\\x58\\xfe\\xe2\\x7b\\xb3\\x38\\x4f\\xd7\\xdf\\xe9\\xc9\\x15\\x59\\xd8\\xf5\\x1d\\x27\\x1e\\xbb\\x9e\\x9e\\x66\\x71\\xbe\\xae\\x2f\\x94\\x79\\x70\\xc1\\x3c\\x7c\\x2d\\xcc\\x05\\x99\\x7d\\x98\\x54\\xaa\\xc1\\x3a\\x33\\x80\\x80\\x5d\\x42\\x38\\xa4\\xb5\\x19\\x6d\\xf4\\xbc\\xc5\\x66\\x86\\x6f\\x8d\\x20\\x10\\xf1\\xc6\\x82\\x99\\x48\\xa4\\xb2\\xe1\\x19\\xb3\\x42\\xa9\\x3e\\x0b\\x86\\x02\\x18\\xa3\\x3b\\xea\\x39\\x84\\x85\\xe3\\x52\\xf8\\x9c\\x26\\x39\\xbc\\xfc\\x83\\xbf\\x2c\\x95\\x5f\\x1e\\x81\\xcf\\x9c\\x78\\xf3\\xd2\\xda\\xa1\\x03\\xb3\\x9e\\xa8\\xe4\\x85\\x63\\x5b\\x19\\x54\\xba\\xae\\x9f\\x18\\xa4\\x5b\\xdf\\xdb\\xa9\\x35\\x29\\x1e\\xa8\\x2c\\x4f\\x12\\xc8\\x42\\xb5\\x4c\\xa7\\x4a\\x49\\x3e\\xbd\\xcb\\x6d\\xd5\\x98\\x6c\\x06\\x2c\\x9a\\xa8\\x59\\xc2\\x24\\xe6\\xc4\\xb5\\x5e\\x91\\x30\\x55\\xc3\\x7a\\x8f\\xcc\\x4d\\xec\\x10\\x90\\xaf\\x5d\\x2c\\xff\\xba\\xad\\x6b\\xef\\x36\\xf9\\xeb\\xb3\\xb8\\xca\\x95\\x8f\\xed\\xcf\\xe0\\x71\\x64\\xa1\\x47\\x0e\\xc9\\xec\\x50\\x12\\x3b\\xf1\\xdf\\x3d\\x4d\\x4d\\x1e\\x79\\x27\\x9e\\xee\\x69\\x52\\x62\\xa9\\x8c\\xe5\\x57\\xb0\\xfb\\x6a\\x6d\\x52\\xdf\\x12\\xab\\x3d\\x60\\xc1\\x38\\xe0\\xb5\\xf2\\x65\\xfa\\x68\\xc0\\xee\\x07\\x9d\\xca\\xe3\\x17\\x7d\\xa2\\xad\\xc4\\x5a\\x02\\xba\\x9d\\xd5\\xa5\\x35\\x1a\\x41\\x82\\x36\\xf6\\x54\\x5d\\x1b\\x73\\x07\\xf3\\x05\\xf2\\x8d\\xad\\x58\\xd7\\xe9\\x11\\x62\\x85\\x3a\\xe8\\xcf\\xce\\xd3\\xcd\\xae\\x2f\\x0a\\xe3\\xac\\xb0\\x64\\x40\\xf8\\x54\\x79\\x6a\\x96\\x8e\\xc6\\x0b\\xc2\\xad\\x04\\x9c\\xef\\x2a\\xf4\\xb4\\xb2\\x7b\\x0d\\x6f\\x05\\xd8\\x4b\\x50\\x39\\xf5\\x65\\x72\\x08\\x51\\x12\\x46\\x65\\x5c\\x99\\x4f\\x67\\xe3\\x88\\x5d\\xab\\xb5\\x10\\x9b\\x4f\\xa8\\x88\\x29\\x11\\x61\\xac\\xa2\\x1b\\x04\\x34\\xb7\\xc5\\x6d\\xd1\\x88\\x62\\x58\\x09\\x0d\\x43\\x10\\xcb\\x9a\\xfd\\x6c\\xd1\\x95\\x2c\\xd4\\x43\\x05\\x57\\xae\\xb7\\x2a\\x6e\\x4d\\x20\\x15\\x33\\xd7\\xc4\\xe2\\xb1\\xe4\\x12\\x74\\x38\\xca\\xb4\\x2c\\x54\\x08\\xfe\\x25\\xe8\\x99\\x68\\xf7\\xc9\\x97\\x15\\x8e\\x69\\x5c\\xeb\\xb3\\x8b\\x66\\x2d\\xdb\\x78\\x6e\\xf9\\xb6\\x55\\x7f\\xbf\\x61\\xf8\\x90\\xd6\\x31\\x83\\x0a\\xc6\\xb4\\xe1\\xb2\\xb9\\xe3\\x26\\x9d\\x82\\x2d\\x7b\\xa7\\xf7\\xa9\\x55\\xf9\\x55\\x33\\x99\\xc7\\x74\\xce\\x11\\x52\\xb9\\xcf\\x2c\\x7a\\xf5\\x81\\x80\\xd7\\xec\\x22\\x42\\x28\\xec\\x15\\x3d\\x80\\x21\\x1e\\xd1\\x07\\x9a\\xa8\\xcb\\x2d\\x16\\x1b\\xf5\\xd9\\xbd\\xab\\x9e\\x03\\x38\\x81\\x21\\x3f\\x9a\\xb5\\xdf\\xe3\\xce\\x42\\xfb\\xfd\\x4d\\x4a\\x9e\\x1a\\xcd\\xf1\\x2d\\xf7\\x34\\x39\\x4d\\xce\\x5e\\xcf\\x81\\x6c\\xac\\xc0\\x59\\x8e\\x12\\x68\\x9a\\x94\\xac\\xd1\\x86\\xec\\x65\\x95\\xe5\\x9c\\x33\\x68\\x29\\x2d\\x0d\\x72\\xa6\\x4a\\xbb\\xd6\\xaf\\xab\\x4d\\x06\\x9d\\x25\\xce\\xf1\\x99\\x12\\x31\\x64\\xb7\\x1b\\xfc\\x01\\xd1\\xd0\\xb7\\x23\\x63\\xe0\\x63\\x1d\\xd9\\xb3\\xee\\xc4\\x09\\x21\\xcf\\xc1\\x5f\\x24\\xa9\\x1c\\x6f\\x10\\x20\\xce\\xc4\\x40\\x91\\xce\\x8a\\x2e\\xdf\\x5b\\x9d\\x67\\x3f\\xa0\\x8a\\x2c\\x1b\\xb6\\xf6\\x18\\x55\\x6b\\x8d\\xb3\\xeb\\xe7\\xb6\\xc5\\x81\\xf1\\xd3\\x41\\x86\\x91\\xc7\\xd6\\x56\\x29\\xa2\\x8b\\xd5\\x76\\xfb\\x1d\\xc5\\x83\\xbc\\xfe\\xac\\xe9\\xd3\\xd7\\x37\\x8d\\xaf\\x6e\\xa8\\x8e\\xd7\\x2a\\x74\\x85\\x5e\\xda\\x9d\\x2f\\xec\\x02\\x59\\x90\\xde\\x4d\\x24\\x3a\\x97\\xc5\\x05\\x02\\x61\\x89\\x17\\x84\\x18\\x8b\\x72\\x37\\x11\\xfb\\x08\\x06\\xb1\\x06\\xff\\xe6\\xdd\\x44\\xa6\\xa2\\xe4\\x6f\\x48\\xe6\\x43\\xb5\\xd9\\x3c\\xdc\\x37\\x5d\\x4b\\x76\\x2f\\x5a\\x7a\\xfa\\x9e\\xd3\\x16\\xc6\\x33\\xd2\\x37\\x93\\x5e\\x7c\\xe3\\xea\\xad\\xbb\\x47\\xfb\\x39\\x62\\x36\\xef\\xdd\\x87\\xa7\\x8d\\xb9\\x15\\x1b\\xfc\\xfd\\xfe\\x76\\xe8\\x81\\xef\\xfa\\xc9\\x92\\xbf\\x37\\x4c\\x76\\xc1\\x83\\x4d\\xa0\\x50\\x05\\x4a\\x38\\xb7\\xdb\\xaf\\xf3\\x60\\x3f\\x6e\\xcb\\xf8\\x5d\\xd4\\x11\\xc2\\xac\\xeb\\x75\\x81\\xb3\\x10\\xa6\\x46\\x6c\\xcb\\x46\\xb8\\xa1\\x3e\\xb7\\x30\\x93\\xb0\\x83\\xc3\\x8c\\xc8\\x3c\\xbd\\x7b\\xeb\\xd5\\x6f\\xbe\\x30\\xf9\\x1f\\x4d\\x99\\xf8\\xc2\\xd3\\xf6\\xcc\\x59\\xb6\\x68\\x77\\xd7\\x92\\xd1\\x7e\\xfc\\x54\\xbf\\xef\\xff\\xf8\\xd6\\xc7\\x35\\x01\\xf9\\xa7\\x5b\\xc7\\xc8\\x77\\xec\\x7b\\xd0\\x62\\xee\\xea\\xa2\\xe1\\xd1\\x28\\x4c\\xc0\\x1f\\xe7\\xb3\\x5c\\x69\\x0d\\x52\\xd0\\x2e\\x60\\x8f\\x49\\xf0\\x00\\x4c\\xd8\\xe3\\xf3\\x50\\x5f\\x0c\\xb7\\x0e\\xe6\\x0e\\x40\\x32\\xe9\\xdc\\x3d\\x3c\\x7c\\x0a\\xed\\x01\\x5a\\x5b\\x8f\\xc4\\x32\\x20\\xfc\\x25\\x58\\xf4\\x21\\xee\\x9b\\x5e\\x10\\x71\\x57\\xf1\\xff\\xf2\\xcb\\xd7\\xab\\x20\\x61\\xc3\\xad\\x63\\xf0\\x34\\x0a\\x12\\xbe\\x9b\\x81\\x04\\x30\\x35\\x03\\xae\\x4e\\x03\\x9e\\x1d\\xa4\\xbe\\xd1\\x46\\xbf\\x8b\\xf8\\x49\\x38\\x44\\xa1\\x00\\x16\\x05\\x33\\x99\\xcd\\x55\\xd5\\xdb\\x37\\x5a\\x31\\x54\\xf7\\x70\\x46\\xce\\x25\\xe5\\xe4\\x06\\xe5\\x7c\\xa3\\x15\\xff\\x63\\xea\\x1b\\x5d\\x73\\xb3\\xdc\\xfc\\xfd\\x2f\\xf8\\xce\\x22\\x9f\\xe3\\xcc\\x0b\\xbb\\x83\\xe3\\xca\\x69\\x2a\\xb6\\x6c\\x6e\\x73\\x64\\x04\\x09\\xa1\\x0c\\x8d\\x95\\x2a\\x51\\xd0\\xe3\\x31\\x69\\x6c\\x26\\x5b\\xb4\\xbc\\xb1\\x1c\\x97\\x06\\xfc\\x98\\x88\\x7e\\xac\\x17\\xfc\\x7e\\x8b\\xd3\\x49\\x3a\\x33\\x4e\\x87\\x45\\x9f\\x8f\\x5c\\x98\\x37\\xef\\x82\\x64\\x84\\x55\\xab\\xba\\x5d\\x39\\x4f\\x2c\\x8c\\x72\\x8e\\xd5\\x18\\xe8\\x34\\x93\\x79\\xe1\\xe9\\xf3\\x9e\\x5c\\x8c\\xf3\\xbd\\x6a\\xfc\\x73\\x35\\x95\\x39\\x17\\xce\\x9e\\x45\\x73\\xb7\\x14\\x07\\x38\\x97\\x9f\\x51\\x83\\xa0\\x2b\\xc9\\xcc\\x27\\xe6\\xcf\\xa5\\xd3\\xc0\\xc7\\xec\\xec\\x5c\\xfa\\x13\\x46\\x13\\xf2\\xbe\\x6b\\x7d\\x69\\x6e\\x6d\\x57\\x20\\xa6\\x2f\\x27\\xa2\\x58\\x19\\x89\\x94\\x07\\x48\\x75\\x55\\xb9\\xe1\\x61\\x2d\\x1e\\xaa\\x1d\\xa7\\xe5\\xb4\\x5a\\xaf\\x3d\\xd4\\xcb\\x5b\\x6d\\x66\\x2a\\x55\\x68\\xec\\xcd\\xfb\\xa9\\x29\\x2e\\x94\\x09\\x5c\\x28\\xe3\\xd5\\xd9\\x73\\xf9\\xce\\xeb\\xd3\\x0c\\x7d\\xf1\\xf5\\x4b\\xd6\\xbe\\x77\\x6e\\x69\\xdf\\xbe\\x8d\\x73\\x66\\x2f\\xdf\\x38\\x7f\\xfb\\xfd\\xf7\\x6f\\x7f\\xf6\\xb3\\xc3\\xaf\\xdf\\xb2\\x6f\\xf1\\x94\\x89\\xcb\\xf6\\x71\\x6f\\xf6\\xaf\\x99\\x64\\x34\\xae\\xe7\\xf5\\x42\\xff\\x7e\\xb5\\xfd\\x2f\\x3c\\xeb\\xec\\x8d\\xdf\\xcb\\x47\\x3f\\xff\\x46\\xde\\x7a\\xe1\\x94\\x55\\x26\\xad\\xb8\\xbc\\x6d\\xfd\\xd5\\xaa\\x6f\\x91\\xe0\\xe3\\xdf\\x83\\x11\\x4c\\x96\\xaa\\x2d\\xe1\\x72\\xad\\xd6\\xe1\\x0f\\xfb\\xab\\xfa\\x54\\xfb\\x9c\\x2c\\xa2\\x9f\\xce\\xad\\x2b\\x29\\x17\\xcb\\x8c\\x6d\\x99\\x32\\x6b\\x89\\xad\\x2d\\x53\\xe2\\x8e\\x83\\xd0\\x17\\xa7\\x6e\\xc8\\x07\\x7a\\x38\\x49\\x25\\x8a\\xac\\x80\\xb9\\x63\\x04\\x8a\\x46\\x2e\\x5b\\x6f\\x4f\\x23\\x5b\\xce\\x11\\x89\\x5d\\x10\\xf1\\xb8\\xf8\\xb7\\xa9\\x07\\xdb\\xe5\\xc5\\x5e\\x47\\xaa\\x37\\xd2\\xba\\x45\\xda\\xad\\x6b\\xd7\\xb5\\x91\\xe7\\x2f\\xf3\\xf8\\x9f\\x90\\x9f\\x2d\\x74\\x40\\x92\\xdf\\x53\\x1d\\x93\\x7c\\x57\\xde\\x18\\xfa\\x81\\xc5\\xf3\\x86\\x75\\x9a\\xcb\\xd6\\x89\\xd2\\x6e\\xd2\\x3d\\x0f\\x74\\xca\\xab\\x55\\x9f\\x07\\x7a\\x9b\\xad\\x22\\xe2\\x15\\x0d\\x86\\xca\\x3e\\x31\\x8d\\xa6\\xd2\\x15\\x98\\x48\\x23\\x7f\\xc0\\xf8\\x2c\\x22\\x2a\\xd3\\x97\\x81\\x76\\xa6\\x77\\x91\\x50\\xbb\\xe2\\xcc\\x91\\x57\\xc1\\xb3\\x9e\\xef\\x36\\x25\\xc8\\x4f\\x2a\\x97\\x36\\x01\\x56\\x62\\x30\\x3e\\xce\\x8d\\x42\\x0c\\x44\\x5a\\xa5\\xd1\\x21\\xeb\\x07\\x7b\\x36\\x5d\\xb5\\xf5\\xdc\\x2d\\x77\\xe0\\xe7\\xce\\x5c\\x94\\xbd\\x57\\x28\\x27\\xc6\\x9f\\xcc\\x6d\\x69\\x1c\\x39\\x6c\\xf5\\xb6\\x5d\\xe7\\xce\\x3f\\xe5\\x1c\\xd2\\x52\\xd6\\x74\\x6c\\xd2\\x6a\\x61\\xa9\\x7a\\xb1\\xf0\\x97\\xab\\x67\\xcd\\x1e\\x50\\x5d\\x95\\x54\\xce\\xd6\\x7e\\x05\\xf9\\xa5\\x9e\\xc5\\x82\\x3b\\x59\\x4a\\x70\\x82\\x45\\x2f\\xea\\xac\\x34\\xa0\\xa0\\x4e\\x2f\\xf0\\xfe\\x80\\xdb\\xa6\\xb8\\x56\\x89\\x58\\x47\\x04\\x87\\x51\\xd4\\x32\\x29\\x14\\x84\\x50\\xcf\\xf8\\x82\\x44\\x6f\\xca\\x71\\x8f\\x1a\\x30\\xe1\\x38\\x27\\x8a\\x36\\x26\\xfb\\x35\\x62\\x35\\xbf\\x64\\x76\\x9d\\x3c\\x2e\\x6e\\x9f\\xbc\\x75\\x8e\\x7c\\xfd\\xe2\\x8f\\xe4\\xc7\\x27\\xe1\\x03\\xf5\\x8f\\x9d\\x39\\x13\\xbf\\x9d\\x99\\x2d\\x8f\\x25\\x37\\xc9\\xcb\\x41\\xcc\\x72\\xff\\x83\\xb3\\xb0\\x95\\x78\\x68\\xc2\\x2f\\x85\\x67\\xa2\\x34\\x80\\xe4\\x07\\x00\\xb3\\x88\\xfa\\x4b\\x01\\xce\\xa8\\x35\\xda\\xac\\x98\\x59\\xb2\\x35\\x1a\\xbd\\x45\\x64\\x46\\x43\\xae\\x2d\\xa3\\xcf\\x5a\\xbc\\x8a\\xed\\xe8\\x8c\\x2c\\xaa\\xe7\\x35\\x8a\\x99\\x8b\\x9b\\xbe\\xf5\\xc1\\xab\\x5a\\x1b\\xc6\\xf8\\x8f\\x6d\\xea\\xec\\xe4\\x6c\\x64\\xa1\\xb7\\xcb\\x65\\xd9\\x25\\x7f\\xa4\\x9c\\x88\\xc1\\x7e\\x9c\\x04\\x73\\xf4\\x2b\\xb3\\x1d\\x54\\x51\\x4a\\x53\\xe1\\x13\\x4d\\x26\\x6d\\xa9\\x53\\xeb\\xac\\x46\\x35\\x6a\\x02\\x76\\x4f\\x9f\\xb6\\x8c\\xc7\\x6a\\x8b\\x4e\\xc8\\xd8\\xdc\\xaa\\x71\\xb4\\xd7\\x05\\x87\\xdf\\xbc\\x1b\\xd0\\x23\\xac\\x4b\\xc1\\xed\\x00\\x35\\x96\\x0b\\xff\\xab\\x62\\x44\\xed\\xfa\\x26\\x1b\\xc8\\xa5\\x61\\x0b\\x35\\xbc\\x1c\\x5b\\x9b\\x0b\\xe0\\xc2\\xac\\x09\\xbf\\xae\\xa0\\x53\\x95\\x8d\\xdf\\x62\\x99\\x45\\xaf\\x07\\x24\\xb3\\x61\\x5b\\x14\\x3a\\x5e\\xae\\xf2\\xbb\\x32\\x34\\x46\\x8a\\x7b\\x4b\\x4a\\xb8\\x88\\xd6\\xe9\\x8c\\x98\\x49\\xb4\\xbc\\x24\\x12\\x8e\\xb4\\x65\\xa8\\x3e\\xd2\\x9e\\xf1\\x62\\x33\\x36\\xdb\\xc2\\x2e\\x9b\\xbe\\x2d\\x63\\xc3\\x05\\x1e\\x20\\xc7\\xbd\\x6e\\x4f\\x43\\xa7\\xb2\\xb4\\x77\\xbd\\x38\\x32\\xcb\\x71\\xa6\\x8c\\xb0\\xfc\\xd3\\x1e\\x7c\\xf9\\xd3\\x4f\\x69\\x50\\x03\\x79\\xf5\\x37\\xbd\\x78\\xf3\\xee\\xd5\\xd7\\xd3\\xb8\\xa1\\xd7\\x17\\xc3\\x3b\\x5e\\xaa\\x0c\\x58\\x0c\\x1a\\x4d\\x29\\x76\\x61\\x0b\\xc0\\x4b\\x7d\\x8b\\xda\\x33\\xa5\\x7a\\xb7\\xde\\xcd\\xdb\\x6c\\x3e\\x0a\\x28\\xf5\\x2e\\x6a\\xeb\\xe9\\x5d\\xd4\\x33\\x5d\\x5f\\xd6\\x0d\\x50\\x85\\x8b\\xe6\\x6b\\x39\\x1e\\xeb\\x06\\xd0\\xb9\\x8d\\x14\\xc2\\x4f\\x3f\\xed\\xc1\\x2d\\x3f\\x95\\x15\\xf0\\x56\\xef\\xee\\xc5\\xc2\\xbf\\x59\\xcd\\xe2\\x9b\\x76\\xff\\x43\\xf3\\x28\\x8b\\x91\\xd4\\x07\\xd5\\xa2\\x53\\xa5\\x01\\x61\\xb7\\xa3\\xb6\\xb6\\x9c\\x86\\x5c\\xef\\xeb\\x2a\\x71\\x69\\x49\\xb2\\x2e\\xe4\\x1e\\x9f\\x09\\xb9\\x1c\\x55\\xf4\\xac\\x81\\x9a\\x2e\\x6c\\x28\\x50\\x8b\\x08\\x6f\\x30\\xc4\\xdb\\x32\\x06\\xd0\\x20\\x26\\xe4\\x4d\\x16\\x4a\\x4a\\x9a\\x22\\x4d\\xd8\\x53\\x18\\x1a\\xa8\\x8e\\xa6\\x93\\xe7\\x7a\\xde\\x8d\\xc9\\xea\\x09\\x80\\xe9\\x05\\xf7\\x4c\\x62\\x8a\\x13\\x0a\\xf7\\x41\\xc1\\x2d\\x13\\xea\\x69\\x72\\xa5\\xaa\\x36\\xb4\\x04\\x8e\\x75\\xc8\\x17\\xe5\\x2e\\xd4\\x3c\\xca\\x24\\xf0\\xdc\\x7d\\x13\\x76\\x65\\x46\\x0e\\x2b\\x6a\\x84\\xbc\\x23\\x77\\xb1\\x66\\x3f\\x48\\x7d\\xb2\\x6a\\x5b\\x9f\\x28\\x37\\x6b\\x3e\\x82\\xb1\\xa7\\xd0\\x30\\x74\\x8e\\xd4\\x54\\xed\\x72\\x35\\xc4\\x63\\xbe\\x84\\xb9\\x9f\\xa8\\x4f\\xf6\\x2f\\x4d\\x8a\\x66\\x5f\\xa9\\x20\\x35\\x56\\xc3\\x90\\xab\\xc5\\xbe\\x95\\xe3\\x33\\x7d\\x51\\x02\\x64\\x71\\x6f\\x34\\x3a\\xa4\\x2d\\x13\\xb5\\x06\\xeb\\x27\\x64\\x82\\x6e\\xaf\\xeb\\x38\\x0e\\x37\\x85\\x1e\\xc2\\xde\\x44\\x43\\xaa\\x47\\x78\\xd7\\xec\\xc6\\xfa\\x6d\\xd7\\x9b\\xf8\\x71\\x27\\x8a\\x89\\xf1\\x05\\x97\\x71\\xde\\x39\\x8e\\x47\\x4e\\xd1\\xc5\\x9c\\x02\\xe7\\x9c\\xa3\\xb7\\x67\\x67\\xeb\\x78\\x6e\\x3a\\xbd\\xa6\\x4e\\xae\\x1a\\x24\\xef\\xfc\\xe0\\x9f\\x64\\x5b\\xfe\\xd2\\x0e\\x0f\\xf8\\xb2\\x46\\xbb\\x88\\xdd\\xa1\\xb2\\xa1\\x06\\x34\\x1c\\xad\\x93\\x46\\xa0\\x98\\xcd\\x56\\x1a\\x12\\xec\\x43\\x06\\xc6\\x8d\\xc6\\x81\\x76\\xe2\\x6b\\x4c\\xf8\\x12\\x4d\\x27\\x0d\\xa9\\x6c\\x80\\x39\\x4b\\x35\\xb8\\x62\\x40\\x65\\x62\\x62\\x34\\x32\\x3e\\x13\\x45\\xd5\\x83\\x00\\x7f\\xaa\\x6d\\xd5\\xee\\x92\\x12\\x1d\\x30\\x53\\xeb\\x00\\xb7\\x9b\\x80\\x92\\xae\\xe0\\x8f\\xf5\\xd9\\x02\\xaf\\xdd\\xe2\\xcb\\x4a\\x39\\xb2\\x98\\xf7\\x22\\xa4\\xd3\\x57\\x57\\x74\\xfb\\x4a\\xc5\\x18\\xe1\\xf8\\x18\\x96\\xd3\\xde\\x54\\xd5\\x0e\\x67\\x95\\xb8\\x73\\x7a\\xe0\\x90\\xfc\\x3f\\xbd\\x31\\x2e\\xab\\xd4\\xc9\\x9f\\x31\\x8d\\xaf\\xeb\\x57\\x72\\x0b\\x53\\xef\\x7a\\xe0\\xd5\\x4b\\xbd\\xd1\\x4f\\xd1\\xf8\\xa8\\x1a\\xa8\\x6a\\x7d\\x1c\\xb5\\x93\\xf2\\xef\\xf1\\xeb\\x41\\x17\\xaf\\xa3\\x99\\xc2\\x51\\x22\\x11\\xb0\\x54\\xc5\\x9c\\x1a\\x67\\x55\\x80\\xef\\x9f\\x8a\\x59\\xbc\\xc4\\x5b\\x07\\x58\\xe5\\x2e\\x25\\x04\\x78\\x84\\x96\\x58\\x83\\xfd\\x50\\xbf\\xb6\\x4c\\x18\\x18\\x89\\x12\\x56\\x24\\x1b\\xd2\\xb2\\xf1\\xf8\\x01\\x73\\x23\\xc7\\x3d\\x5e\\x88\\x46\\x72\\xc6\\x4c\\x9c\\x3f\\x89\\xa8\\x67\\x49\\xe7\\xf1\\xe3\\xb8\\x6f\\x6b\\x7b\\x8f\\x33\\x06\\x79\\xb2\\x92\\x98\\x1f\\xdf\\xa3\\x1c\\x42\\x54\\xdf\\x38\\xa0\\x9a\\xec\\xf6\\xf5\\x38\\x5f\\x50\\xb3\\xf4\\x1f\\x7d\\x3e\\x7b\\x02\\x31\\x65\\x78\\xd7\\xc5\\xc3\\x9b\\xe8\\xfe\\x8a\\x00\\x3f\\xda\\x09\\xfc\\xa8\\x0f\\x4a\\x52\\xae\\x1d\\x49\\x24\\xfc\\xd5\\x65\\x0e\\x87\\xc6\\xa4\\xf1\\x93\\xba\\x3e\\xa9\\x0a\\x6a\\xce\\xae\\xc0\\x25\\xfd\\x22\\x74\\x70\\x52\\x28\\x22\\x7a\\xfa\\xb6\\x67\\x3c\\xee\\xe2\\xc3\\x08\\x86\\x00\\xfe\\x97\\x0b\\x0e\\x02\\x7a\\x64\\x01\\xea\\x7d\\x42\\x91\\xbd\\x7f\\x97\\xb5\\xdc\\x16\\xf8\\xdb\\xd3\\xd1\\xf2\\xa7\\x17\\x1f\\x5c\\xc4\\x57\\xd7\\x28\\x03\\x7d\\x8e\\x79\\xda\\xaf\\x4e\\xd7\\x3e\\x37\\xa0\\xc7\\x41\\xc6\\x74\\xab\\x57\\x1d\\xe7\\x5b\\x0b\\x98\\x97\\xfd\\xc3\\x06\\xee\\x0d\\x9a\\x75\\x9f\\xd1\\x11\\x58\\x4f\\x61\\x15\\xac\\x67\\x0a\\x0d\\xa5\\x11\\xa2\\xab\\x02\\x43\\xb8\\xfa\\xa4\\xe8\\x70\\xe8\\xca\\x92\\x9c\\x2f\\xa0\\xd3\\x34\\x0e\\x0b\\x03\\xa9\\x8c\\x86\\xad\\xdc\\x10\\x61\\x50\\xbf\\x41\\x1d\\x19\\x5f\\x75\\xbf\\x7e\\x82\\x68\\xb0\\x8b\\x76\\x10\\xbb\\x24\\x93\\x28\\xf6\\x77\\x0b\\x6e\\xd0\\x4a\\x84\\xbc\\x3b\\x44\\xd6\\x2c\\xcd\\x2e\\x5e\\x35\\x14\\xb8\\x42\\xf5\\x94\\x5a\\x84\\xb2\\x78\\xf1\\x68\\x5d\\x51\\x25\\x1b\\x4a\\xef\\x7b\\x95\\xc1\\xec\\xcd\\xcb\\xb8\\x9a\\xc3\\x4a\\xeb\\xe6\\x6b\\x5f\\x3a\\xb7\\xe5\\xaa\\x69\\xca\\xf8\\xdf\\x7b\\x6f\\x40\\x75\\xc5\\x88\\xe8\\xd0\\x22\\x25\\x67\\xe6\\xa2\\x0b\\x6e\\xb8\\x7f\\x46\\xcb\\x68\\x76\\xd5\\xd2\\xb9\\x66\\xe8\\xb0\\xec\\x44\\xcc\\xa7\\xe3\\x4f\\xc4\\x96\\xde\\x57\\xa8\\xfa\\x4c\\x60\\xf7\\x30\\x37\\xa5\\xca\\xe9\\xad\\x4b\\xca\\x13\\x45\\x79\\xac\\x46\\x02\\x1c\\x18\\x84\\xce\\x90\\x86\\x19\\x06\\xd6\\xd9\\x6c\\xee\\x5a\\x9f\\xaf\\x2c\\x14\\xea\\xe3\\x26\\x03\\x85\\x21\\x83\\xd3\\x96\\x8e\\x4c\\xda\\x5a\\x51\\x33\\x21\\xd3\\xb7\\x02\\xd7\\x95\\x94\\x79\\x4b\\xcb\\x4a\\x27\\x64\\x6a\\xcb\\x44\\x9f\\xdb\\x16\\x2a\\x09\\x8d\\xcf\\x38\\x4b\\x4e\\xe4\\x1f\\x96\\xca\\x4e\\x50\\x3e\\x4a\\x60\\x8e\\x67\\x9e\\xc0\\x47\\x4c\\x35\\xa4\\x45\\x72\\x2e\\xbb\\xf5\\xe9\\x22\\x7f\\x63\\xc5\\x59\\x8c\\x39\\x8a\\x3d\\x92\\x45\\x8f\\xa1\\xcc\\x2b\\xa9\\xbe\\x43\\x7e\\x7b\\x4b\\xd7\\x97\\x73\\x37\\x6f\\xa6\\x07\\x23\\x4c\\xc4\\xe1\\x06\\x51\\x9b\\xfa\\xaf\\x05\\xbe\\x62\\xa7\\xb5\\x65\\x5d\\x94\\xbe\\xec\\x72\\x2b\\xbf\\x47\\xc6\\x4f\\x57\\x9d\\x90\\x2f\\x51\\x7c\\x96\\x98\\xb7\\x18\\x46\\x95\\x40\\x03\\x1e\\x00\\x3a\\x5a\\x03\\xb2\\x42\\xdf\\x4a\\xbf\\x59\\xe7\\x44\\xa5\\xc8\\xaf\\xe3\\x13\\xfd\\x9c\\x95\\x9a\\x60\\x30\\x36\\x3e\\x13\\x09\\x5a\\xd9\\x81\\x2e\\x52\\xcc\\x83\\xc4\\x36\\x3e\\x43\\xdc\\xbd\\x6e\\x71\\xf6\\x3e\\x6e\\x64\\x3b\\x21\\xeb\\xb8\\xf9\\xbf\\x1d\\x3b\\xf2\\x0f\\xfc\\x79\\xff\\x84\\x05\\x5d\\x77\\x51\\x1f\\xce\\x8a\\xf4\\xb3\\xcb\\x4e\\x10\\x1f\\xeb\\xa6\\x5b\\x9d\\x8a\\x17\\xe7\\xd1\\xeb\\x36\\xc6\\x93\\x27\\x08\\x8a\\xa5\\xd8\\xea\\x80\\x49\\x9c\\xc5\\x74\\x0d\\x2f\\xcd\\xe5\\xea\\xd4\\x1b\\xe8\\xed\\x7a\\x4e\\x6f\\x25\\x7e\\x9f\\xde\\xa5\\x05\\x6e\\xe9\\x40\\x5a\\x91\\xdd\\xa6\\x47\\xa2\\xa1\\xc8\\x07\\x2e\\xe7\\xa4\\xda\\x5b\\x66\\x4b\\xe5\\xfd\\x50\\x55\\x49\\x01\\x84\\x75\\x7a\\x99\\xba\\x72\\x6e\\xb1\\x48\\xd0\\x35\\x19\\x0f\\xa3\\x44\\x3c\\xe7\\x73\\xaa\\xf2\\x7f\\xee\\x6a\\x79\\x09\\xd7\\xee\\xb0\\x32\\x18\\xcb\\xba\\xff\\x45\\x7e\\x12\\xc6\\x20\\x27\\x50\\xa6\\x88\\x64\\x15\\x05\\x7f\\x39\\x5f\\xd5\\x57\\x8c\\x88\\x11\\x53\\x39\\x6f\\x72\\xe7\\x32\\xaa\\xaa\\x11\\x0a\\xa8\\xc1\\x35\\x05\\x92\\x50\\xd4\\x88\\xa3\\x44\\x31\\xc1\\xf2\\xbd\\xbe\\xc1\\xdc\\xfc\\xad\\xab\\x47\\xbf\\x9c\\x7c\\xb3\\x7d\\xeb\\x96\\xf6\\x23\\x09\\x3c\\x70\\xcc\\xa6\\x2b\\xa5\\x5e\\xdf\\x70\\xf5\\xf2\\x76\\xbc\\xc0\\x56\\x5d\\x6d\\xe9\\x7a\\x08\\x9f\\x22\\xdf\\xcc\\x35\\xc3\\xb3\\x5d\\xbe\\x0e\\xcf\\xe3\\xde\\x3a\\xd1\\x5f\\x94\\x79\\x1d\\x02\\xc2\\xda\\x4d\\xc2\\x50\\x64\\x02\\x0d\\xa8\\x4e\\xf2\\x78\\x0c\\x66\\x60\\xc1\\x01\\x3f\\x36\\x38\\xbc\\x06\\xf8\\xcf\\x68\\xf1\\xb8\\x34\\x46\\xc2\\x92\\xcb\\xaa\\xe9\\x60\\x8b\\x0c\\xee\\x58\\xc9\\xb7\\xad\\x04\\x82\\xb3\\x15\\xbe\\x90\\x9b\\x26\\xc7\\xc2\\x0f\\xce\\xf0\\x1e\\x9c\\x19\\x9b\\x44\\x4e\\x51\\x9e\\x5f\\x9a\\x41\\x9f\\xc9\\x8a\\xe7\\xb4\\x66\\xe7\\x73\\xf8\\xa5\\x5f\\x9f\\x51\\x1f\\x00\\x6f\\xfb\\xcb\\x63\\x85\\xfe\\xa0\\xf3\\x97\\x53\\x3b\\xb2\\x5b\\x1b\\x20\\x08\\x95\\x95\\x69\\x45\\x12\\xab\\x88\\x94\\x84\\x4a\\x40\\x50\\x14\\x45\\xbb\\xdd\\x38\\x21\\x63\\xb7\\x0a\\xbe\\x8e\\x0c\\x01\\x8a\\x56\\x56\\xe8\\xc9\\x5a\\xe0\\xb7\\xd6\\x73\\x8d\\xb1\\x8d\\x2a\\x16\\xa5\\x3e\\x5c\\x74\\x44\\xd2\\xc3\\x6d\\x95\\x6c\\xd2\\xbc\\x70\\xa6\\xfc\\xc3\\xb0\\xfa\\xac\\x3d\\xb9\\x79\\x44\\x4b\\xdb\\x5a\\xce\\xb6\\xe2\\x72\\x79\\x2c\\x5e\\x32\\xa5\\x65\\x11\\x08\\xdc\\x53\\xcf\\xbd\\x48\\x31\\x26\\xcb\\x5f\\x8e\\xeb\\x2c\\xe3\\x1e\\xf6\\x35\\x35\\xf9\\x8e\\x4e\\x56\\xef\\x38\\x50\\xf8\\x1f\\x06\\xf8\\x6b\\xd0\\x44\\xa9\\xda\\xa5\\x41\\x7e\\x7f\\x24\\xa2\\xb1\\x90\\x7e\\x95\\x89\\x78\\x55\\x55\\xf9\\x84\\x4c\\x55\\xa0\\x34\\xc0\\x9c\\xa9\\x45\\x8b\\xcd\\x66\\x00\\x35\\xc9\\xca\\x7b\\x3b\\x32\\x1c\\x5f\\x78\\xdf\\xd0\\x5b\\x7c\\x04\\x5c\\x60\\x0b\\x17\\xfe\\xd7\\x21\\x14\\xda\\xca\\x4f\\x38\\x98\\xbc\\xb9\\x3c\\x3e\\xa4\\xe9\\x44\\x43\\x3a\\x36\\x5f\\x35\\x9a\\xb3\\x71\\x59\\xb9\\x3a\\xee\\x52\\x61\\x13\\xcc\\xf4\\x50\\xc9\\x84\\xec\\x76\\x8f\\x51\\xe3\\xd1\\x94\\x04\\xbd\\xfe\\xfd\\xb8\\x7a\\x9f\\x1d\\x5e\\x3c\\x7a\\xd7\\x7e\\x3c\\xec\\x01\\x11\\x93\\xfd\\x78\\x08\\xf5\\x11\\x52\\xdc\\x72\\xb2\\xc9\\x88\\x73\\x7e\\x83\\x5a\\x80\\xf9\\xf8\\x9e\\xb4\\xa9\\x9f\\xf9\\x33\\xdb\\x6e\\x6c\\x90\\xff\\xa7\\xae\\x6f\\x65\\xbf\\x9a\\x94\\xfc\\x3f\\xf5\\x0d\\x9f\\xf3\\x57\\xce\\x94\\xee\\x90\\xb7\\x5b\\x2a\\x2b\\x2d\\xb8\\x2d\\x35\\xd0\\x29\\x4f\\xa3\\x8f\\xdc\\x17\\x96\\x4a\\x80\\xc9\\xce\\x60\\xba\\x0a\\x70\\x65\\xb8\\x24\\x72\\x65\\x01\\xbd\\xde\\x62\\x71\\x96\\x91\\x8a\\x58\\x50\\x13\\x06\\x20\\x1e\\xf0\\xb9\\xed\\xfb\\x71\\xcd\\xbe\\x32\\x3d\\x67\\xb1\\x20\\x13\\x40\\x87\\x72\\x30\\x31\\xe8\\x8a\\xc8\\xda\\x6f\\xdd\\x81\\xc9\\xc2\\x8c\\xcf\\xc8\\x81\\x76\\xce\\x62\\x29\\x5a\\x61\\xb7\\x78\\x86\\x30\\x98\\xb9\\xba\\x62\\xf8\\x86\\x9e\\x73\\xb6\\x71\\x53\\x93\\x65\\x7b\\x85\\x0a\\x3d\\xdb\\x63\\xdd\\x9f\\xe3\\x6a\\x3c\\x14\\xe6\\xd0\\x88\\x82\\xa8\\xe2\\x4f\\x1a\\x5f\\x38\\xe4\\x2f\\xd9\\x8f\\x07\\x3f\\xe0\\xb6\\x8b\\x8f\\xe2\\xa1\\xa0\\x2c\\xe9\\x71\\x35\\xdb\\x61\\xf9\\x0c\\xce\\xb8\\xc0\\xe2\\x41\\x7a\\x79\\xe7\\xe2\\xa1\\x03\\x2a\\x62\\xf5\\xf5\\xb1\\x8a\\x01\\xc2\\x79\\x4b\\xeb\\x6b\\x2b\\xfc\\x16\\x31\\x52\\x31\\x07\\x24\\xd4\\xaa\\x8a\\xfa\\x01\\xf1\\x78\\x7a\\xc0\\xb1\\x17\\xcf\\x38\\xdf\\xb8\\x69\\x84\\xa9\\x63\\x14\\x17\\x75\\x56\\x22\\x65\\xce\\xf0\\xbf\\xf9\\x73\\x90\\x03\\xd5\\x4b\\x46\\x64\\x30\\x88\\xbc\\xe8\\x72\\x3a\\xac\\x30\\x51\\x83\\x1f\\x34\\x88\\xa2\\x19\\x66\\xe9\\x41\\x8d\\x80\\x38\\x75\\x11\\x29\\x24\\xea\\x5c\\xe5\\xb6\\x3a\\xb3\\x9e\\x15\\x39\\x79\\xa5\\xb0\\xe6\\x9c\\x69\\xa5\\x65\\xd1\\xf2\\x39\\x65\\xd3\\xe4\\xfb\\x5b\\x5b\\xbf\\x26\\xdf\\x6d\\x7a\\x65\\x6c\\x99\\x4b\\xbe\\x9b\\x2d\\xdc\\xf3\\x16\\x25\\x4f\\x89\\x89\\x2b\\xc5\\xdf\\xf3\\x73\\xa1\\xef\\xb4\\x64\\xc2\\xcc\\xc7\\xcc\\xe5\\xb4\\x1a\\x8d\\x66\\xda\\xb9\\x56\\xc0\\xfc\\xa3\\xb8\\x11\\x08\\x3b\\xa2\\x0b\\x55\\x97\\xed\\xbc\\xb0\\x67\\xe5\\x42\\x6d\\xb1\\xe7\\x9d\\xa0\\xcd\\x75\\x8d\\xdb\\x5b\\x5b\\xb9\\xba\\xb3\\x58\\xd7\\x78\\x2a\\xed\\x5a\\x1e\\xa8\\xcc\\x3d\\xf4\\x8d\\xab\\xb9\\x71\\x3c\\x3d\\xc7\\x6b\\x90\\xcc\\x5a\\xea\\x7c\\x87\\xec\\xe1\\x50\\xd0\\x4b\\x11\\x78\\xf0\\x83\\x4e\\xbb\\xc5\\xb6\\x1f\\x37\\x3e\\xa0\\x21\\x86\\xfd\\xb0\\x12\\x0a\\x7e\\x14\\x77\\x9f\\x55\\x05\\x8a\\x9c\\xee\\x0a\\x81\\xc1\\x77\\x57\\x94\\xda\\x4c\\xfe\\x78\\x2a\\xbd\\xf4\\xbc\\x95\\xd3\\xf3\\x20\\x71\\xda\\x96\\x76\\xd3\\x88\\x4d\\xc6\\xf3\\xcf\\xb8\\x78\\x43\\x1e\\x32\\x4a\\x73\\x1d\\x80\\xbf\\xbb\\xd8\\x7c\\x94\\xa0\\x93\\x24\\x9f\\xcd\\xeb\\x35\\x38\\x05\\x60\\x66\\x82\\x81\\x04\\x43\\x5e\\xe6\\xbe\\x64\\x34\\x3a\\x08\\x9d\\x9e\\x07\\x7c\\x06\\x9d\\x8a\\xc0\\x8d\\xca\\x09\\x36\\xb5\\x73\\xf7\\x14\\xcc\\x5d\\x2c\\x88\\x7c\\x34\\x97\\xbe\\xce\\x95\\xaa\\x67\\x6e\\x4b\\x2e\\x1a\\x11\\x64\\x97\\x74\\xf9\\xb2\\x2e\\xf9\\xe9\\xc6\\x06\\xdc\\x77\\xc4\\xa0\\xeb\\x12\\xfd\\x4f\\xaa\\xee\\xdb\\x9c\\xe2\\xe7\\x56\\x5a\\x9e\\x2e\\x5f\\xbd\\xa3\\xd2\\x8c\\x5f\\xa0\\x60\\xfd\\xf1\\x73\\x79\\xd9\\xe0\\xe4\\xeb\\x35\\x6c\\xce\\x78\\xae\\x82\\xac\\x00\\xf8\\x9c\\x28\\x29\\x59\\x04\\x11\\x9a\\x76\\x9a\\x44\\xce\\x6e\\x37\\xf0\\x22\\x9d\\x34\\x87\\x1e\\xc3\\xa6\\x6a\\x54\\xd1\\x24\\x0b\\x54\\x16\\x71\\x8f\\xc3\\xd5\\x30\\x67\\xda\\xb0\\xa4\\xe9\\xa1\\xaa\\x27\\x5a\\xd7\\xaf\\x6b\\x7d\\xae\\x2f\\xf6\\x8c\\x58\\x7d\\x01\\xdf\\x4f\\x7e\\x12\\x9f\\x04\\x5d\\x9b\\xba\\x7e\\xc0\\x43\\xe4\\x03\\x9c\\x01\\x9e\\x45\\xf9\\x09\\x3c\\x5c\\x59\\x37\\x23\\xee\\xc3\\x65\\xd8\\xba\\xf5\\x91\\xf4\\x46\\x12\\x0e\\x69\\x89\\xcf\\x05\\xd8\\x3a\\x74\\xaf\\x4e\\xa3\\x31\\x00\\xad\\x19\\xac\\x6c\\x6a\\x76\\x7d\\x21\\xdb\\x37\\xc9\\x1d\\x64\\x52\\x08\\x0a\\xe3\\xff\\xe0\\x7a\\xec\\xfc\\xb8\\x12\\x47\\x46\\x5c\\x78\\x76\\xd3\\xfe\\xca\\x23\\xf1\\x86\\xe6\\x9a\\x54\\x6d\\xb9\\xdf\\x5a\\xe2\\x8b\\x85\\x2b\\xb8\\x08\\x27\\xb2\\xde\\x9f\\xc7\\x0d\\x0c\\xa2\\x0f\\x4e\\x9f\\x54\\x63\\xdc\\x3a\\xc6\\xe2\\xef\\x37\\x99\\xda\\x3d\\x37\\x91\\x19\\xf8\\x11\\x1a\\x0b\\x56\\xfb\\x13\\x8b\\x07\\xf8\\x12\\x99\\x41\\x6e\\x11\\x86\\x5a\\x35\\xda\\x9f\\xd9\\xfb\\xad\\xdc\\xe7\\x5c\\x83\\xd0\\x01\\x7f\\xff\\x84\\xbd\\xaf\\x85\\x77\\x0f\\x7b\\xff\\x94\\xbd\\x5f\\x05\\xef\\x55\\xec\\xfd\\x33\\x36\\xb6\\xef\\xf8\\x34\\x7e\\x4c\\x38\\x88\\xcc\\x34\\x47\\x1d\\xd2\\x6a\\x0d\\x84\\x88\\x16\\xc2\\x1b\\x0d\\x28\\x91\\x7a\\xa5\\x4e\\xcd\\x03\\xc9\\x16\\x16\\x28\\x53\\x5a\\x51\\x2e\\xd3\\x75\\x03\\xf0\\xe2\\x96\\xd4\\xa4\\x55\\xab\\x26\\xd5\\x8e\\x11\\x50\\xaa\\x65\\xc2\\xaa\\x49\\x93\\x56\\x4d\\x68\\xee\\xd5\\x9e\\x91\\x10\\x68\\xd2\\x22\\x1a\\x0d\\x84\\xef\\xd5\\x1e\\x20\\xb2\\x4b\\x21\\x2b\\xae\\x32\\x0d\\x1e\\x3e\\x3a\\x49\\xdb\\x4b\\xb5\\x08\\xa8\\xff\\x28\\xa5\\xbd\\x16\\xda\\x5e\\x10\\x68\\xc5\\x31\\x61\\x3b\\xf2\\xc3\\x7e\\xb5\\xd1\\x33\\x2a\\x17\\xb1\\x64\\xcf\\xa8\\x0c\\x94\\xb4\\x3e\\xe8\\x23\\x04\\x2b\\x68\\xa9\\xae\\x40\\xd1\\x41\\x10\\xce\\x86\\xef\\xec\\xaf\\x70\\xab\\x82\\xc3\\x29\\xbc\\x57\\x5e\\x39\\x6f\\x78\\xd3\\x90\\x05\\x8d\\x43\\xbc\\xe9\\xba\\xf5\\xe9\\xd5\\xe7\\xcf\\x9c\\x38\\x9f\\xab\\xab\\xb6\\xe2\\xb4\\x4e\\xbb\\x74\\xf1\\xab\\x35\\xb3\\x6f\\x76\\xf8\\x2e\\x5e\\xbb\\x6c\\x8b\\x4f\\xfe\\x97\\xb5\\x18\\x96\\x7a\\xc9\\xd1\\xeb\\x6c\\x0a\\xfb\\x29\\xef\\xb1\\x9a\\x61\\x8f\\xd4\\x28\\x7b\\xa4\\xe7\\x0e\\x01\\xce\\x53\\x9f\\x3f\\x96\\x72\\xa9\\x41\\x74\\xd4\\x63\\xa9\\xd3\\xe7\\x4f\\x9a\\x71\\xfe\\xea\\xfe\\x1b\\x6b\\xd3\\xde\\x21\\x8d\\x0b\\x86\\x34\\x0d\\x9f\\x27\\xaf\\xe4\\x66\\x59\\xb1\\xd9\\xbf\\x65\\xe9\\xda\\x8b\\x7d\\x8e\\x9b\\x67\\xd7\\xbc\\xba\\x64\\x89\\x56\\x27\\x1f\\xb4\\x56\\xc3\\x3a\\xce\\x45\\x77\\xf0\\x21\\xfe\\x6e\\xbb\\x06\\x85\\xd9\\xba\\xce\\x87\\xf7\\x52\\xf6\\x1e\\x51\\xfc\\xfc\\xd0\\x41\\x7e\\x04\\xbf\\x11\\x69\\x90\\xeb\\x21\\x1e\\x69\\x75\\x9c\\x86\\xc7\\xb0\\x04\\x2f\\xd7\\xa9\\xf8\\x19\\x8b\\xea\\x71\\x14\\xa7\\xf8\\x11\\x5b\\xe5\\xcd\\xf2\\xe6\\xad\\xf8\\xad\\x19\\x07\\xb9\\xee\\x2e\\x4c\\x1e\\xee\\x51\\x17\\x11\\x9d\\x96\\x20\\x81\\x2b\\xac\\xcb\\x6a\\xea\\x31\\x3f\\x42\\xae\\x9a\\x21\\x57\\x6d\\xc5\\x67\\xe0\\x33\\xf8\\x8d\\xc7\\x46\\x91\\x87\\xbb\\x30\\xd7\\x4d\\xe9\\x3b\\x3f\\x8b\\xbb\\x5e\\xb8\\x1d\\xe9\\x50\\x3f\\xc9\\x47\\x38\\xad\\x16\\x09\\x02\\xd2\\x1b\\x38\\xed\\xe6\\x0c\\xe2\\xae\\x9c\\xae\\x11\\x01\\x66\\x0e\\xa1\\xc4\\xcc\\xba\\x2a\\xf5\\x64\\x4a\\x8d\\xe3\\xe7\\x48\\x3b\\x52\\x0e\\x98\\x17\\xad\\x5d\\x49\\x24\\xca\\xcf\\x8a\\xe0\\x98\\x7c\\x98\\xe5\\x0e\\x2d\\x6a\\x37\\x29\\xf9\\xf3\\xed\\xea\\x04\\x22\\x5c\\x39\\x9d\\x40\\xeb\\x22\\x09\\x13\\x8e\\x40\\xc3\\x55\\x79\\x6b\\x4a\\x36\\x44\\x60\\x2e\\x65\\xe9\\xf5\\x4a\\xdb\\xc2\\xed\\xf9\\xbc\\xa4\\x08\\xe3\\x10\\xdf\\x86\\x2f\\x17\\xb6\\x02\\x03\\xf4\\x4a\\x06\\x78\\xe7\\x05\\x91\\x60\\x02\\x53\\xf6\\xf2\\xcc\\xdc\\x25\\xc8\\xa8\\x2d\\x85\\x2f\\x5f\\xba\\x14\\x4a\\x2a\\x72\\x56\\x80\\x3f\\x85\\xdb\\xc2\\xff\\xcc\\xea\\x18\\x11\\xe1\\x05\\x9c\\x1f\\x99\\x3a\\x55\\x0e\\x20\\x02\\x01\\x6e\\x25\\x7f\\xca\\x35\\xd7\\x28\\xb9\\x0b\\xb6\\xc2\\x18\\x68\\x6e\\x4a\\x0d\\x3a\\x9b\\xbd\\x9f\\x0c\\xef\\x7e\\xf6\\x7e\\x92\\x02\\x87\\x3c\\x12\\x5f\\xde\\xbd\\x89\\x46\\x53\\x96\\x6c\\xf0\\x2e\\xf0\\xf0\\x81\\xe9\\xc0\\x12\\x84\\xd0\\xa1\\xf5\\x86\\x07\\x6a\\xa8\\xf0\\xc8\\x1f\\x72\\x5b\\xba\\x57\\x42\\x5d\\xdb\\x9f\\x30\\xc7\\xd3\\xab\\x93\\x89\\x54\\x31\\x20\\xf2\\x87\\x0c\\x10\\x9a\\x0f\\xa7\\x99\\x2b\\xef\\x5e\\x85\\x04\\x54\\x26\\x39\\x78\\x8c\\xb5\\x1a\\x84\\xac\\x50\\xe1\\xb8\\x3d\\xe9\\x31\\xcd\\xf9\\x8a\\x5f\\x91\\xaf\\xc6\\xc1\\x9d\\x72\\x33\\x36\\xc5\\xe4\\x6f\\x4a\\x51\\xef\\x76\\x40\\x50\\xd6\\x68\\x7f\\xa3\\x1d\\x58\\x5f\\xd0\\x6e\\x4e\\xdd\\x89\\x83\\xf2\\xd5\\x72\\x73\\x29\\xb6\\xc5\\xe4\\x1f\\xa0\\xec\\xbd\\xd0\\xd0\\x65\\x64\\x37\\xb4\\x61\\x44\\x3e\\xc9\\xa0\\x25\\xc4\\x64\\xd6\\x6b\\x39\\x41\\x84\\x6d\\x94\\xc8\\xc7\\x81\\xd3\\x46\\x81\\x82\\x52\\x7d\\x36\\xe5\\xc1\\x97\\x4d\\x1a\\x30\\xe9\\xc3\\x0f\\xe1\\x83\\x6c\\xda\\xbd\\x3b\\x76\\x6c\\x52\\x6c\\xf7\\x6e\\x05\\x9e\\x7b\\xb9\\xc3\\x6a\\x5b\\xd6\\x3f\\x11\\x8d\\xda\\x48\\xd6\\xc9\\x84\\x36\\xa0\\x54\\x65\\xd5\\x18\\xbd\\x42\\x19\\xfc\\x18\\xfe\\xa6\\x90\\xfe\\x59\\xc4\\xff\\x86\\xfe\\xe1\\xf2\\x62\\xfa\\x57\\xd8\\xde\\xff\\x09\\xfd\\xc3\\xe5\\x45\\xf4\\xef\\x52\\xb4\\x9d\\x2b\\xe5\\xdc\\x48\\x0b\\x7b\\x91\\xd3\\xe9\\x05\\xc0\\x4c\\xc0\\xaf\\x97\\x54\\xa9\\x40\\xb1\\xf4\\x53\\x83\\xc8\\xa5\\x1b\\x37\\x6f\\xdc\\x7e\\xdd\\xdf\\xff\\x7e\\x5d\\x8f\\x3a\\xbc\\x4e\\x8f\\x05\\x01\\xb6\\x70\\xe2\\xa5\\xba\\x6c\\x1d\\x1c\\x75\\x51\\xf7\\xc3\\x08\\x57\\x0a\\x95\\xf0\\x35\\xf8\\x77\\xb4\\x1a\\xd4\\xbb\\x16\\x5d\\xcf\\x39\\xa0\\x9e\\x11\\x99\\x1f\\x24\\x66\\x93\\x06\\x25\\x8a\\xca\\xb3\\x8e\\x38\\xc7\\xaa\\xcd\\xab\\xe0\\x7f\\x6c\\xa3\\x9f\\xab\\x14\\xbc\\xc3\\xc3\\xb9\\x2d\\xf8\\x6d\\x86\\x77\\x88\\xe2\\x1d\\xee\\x85\\x77\\x78\\xb8\\x8a\\x77\\x71\\x7e\\x36\\xb7\\x5e\\xf8\\x03\\xcc\\x4f\\x8d\\xe4\\x21\\x46\\x8b\\x68\\x80\\x7d\\xa6\\x87\\x79\\x92\\x90\\x76\\x4b\\x26\\xb7\\x7f\\x94\\xa4\\xd0\\x9d\\xb3\\x72\\x1b\\x89\\x9a\\x90\\x53\\x6a\\xc8\\x68\\x0b\\xc6\\x93\\x7e\\xbf\\x83\\x3b\\xdd\\x36\\xb7\\x7d\\xea\\x0c\\xd7\\xe9\\xc2\\x4d\\xfc\\xec\\x7b\\xb6\\x4f\\x1c\\xd1\\xdc\\xbe\\x63\\x27\\xeb\\xe3\\x71\\x7e\\x1a\\xfe\\x16\\xf4\\x73\\x90\\x71\\x25\\x11\\xf0\\x1a\\xb0\\x89\\x6c\\xcd\\x88\\xfa\\xb0\\x9e\\xd3\\xd3\\xb6\\x73\\xe8\\x58\\x70\\x8a\\xfc\\x78\\xf6\\xa8\\x98\\xff\\x41\\x3d\\x0c\\x56\\x74\\xd2\\x0d\\x7c\\x94\\xeb\\x03\\xfc\\xcc\\x88\\x3c\\x68\\x90\\x14\\x75\\xe9\\x45\\xa2\\x27\\x3e\\xaf\\xc6\\x74\\x79\\x46\\x23\\xe9\\x4d\\x2d\\xd0\\xbc\\xfd\\x72\\x06\\x77\\x23\\xea\\x44\\x6b\\x01\\xef\\x18\\xf4\\x5e\\xeb\\x81\\xaa\\x9e\\xa7\\xee\\xd9\\xde\\x48\\x41\\x9c\\x12\\x3c\\x65\\xea\\x79\\x6b\\x4e\\x3e\\x79\\xcd\\x9a\\x93\\xe3\\x83\\x07\\xc7\\xe3\\x83\\x87\\xf0\\xd1\\x35\\xd3\\xa6\\x9d\\x7b\\xee\\xb4\\xcc\\x79\\x78\\xe0\\xe0\\x4a\\xfa\\x65\\xe5\\x60\\x3a\\xa6\\x65\\x72\\x07\\x17\\x45\\x16\\xd8\\x5b\\x31\\x09\\x98\\xbd\\x16\\xf4\\x0c\\x42\\x6c\\x40\\x36\\x00\\x10\\xe8\\x92\\x3a\\x9e\\xe4\\x90\\x2b\\xdf\\x61\\x7d\\x2a\\x9f\\x2f\\x7c\\xda\\x8a\\xd5\\xad\\x43\\xd6\\x8e\\x66\\x29\\xb1\\xe5\\x8e\\x15\\x73\\x47\\xae\\xae\\x58\\xb8\\x88\\x25\\xc0\\x66\\x72\\x16\\xac\\xcb\\x5d\\x40\\xff\\x3c\\x58\\x94\\x9e\\x72\\x1a\\x45\\x3e\\xcc\\x27\\x78\\x62\\x11\\x8c\\xfc\\x96\\xcc\\x3a\\x23\\x16\\x8d\\x61\\x23\\xa7\\x27\\x46\\x58\\x26\\xab\\xd5\\x5a\\x6a\\x85\\xbf\\x20\\xeb\\x96\\x8c\\xce\\x08\\xca\\x18\\x4c\\xea\\xa3\\x3e\\xbc\\xcb\\x87\\x6f\\xf0\\xe1\\xcb\\x7c\\x78\\x8d\\x0f\\x2f\\xf2\\xe1\\xe9\\x3e\\x3c\\xc6\\x87\\x07\\xfb\\x70\\xc2\\x87\\xb9\\xb0\\x0f\\x77\\xfb\\xf0\\xab\\x3e\\x7c\\xb3\\x0f\\x2f\\xf3\\xe1\\x46\\xf6\\xad\\xc8\\xbe\\x3c\\xc2\\xbe\\xbf\\x9f\\xfd\\x69\\x2d\\xfb\\x6b\\x5b\\xb6\\x40\\x98\\x95\\x69\\x80\\x42\\xdf\\xb0\\x72\\x3d\\x9a\\xe8\\x5d\\x7f\\x9d\\x0f\\x4f\\xf0\\x61\\x50\\x4d\\x67\\xaa\\xff\\x56\\xb0\\x7f\\x67\\x9c\\x71\\xc6\\xac\\x99\\x05\\xff\\x56\\xa8\\x5f\\x77\\x9e\\x91\\xfb\\x87\\x12\\xb3\\x66\\x1e\\xa8\\x42\\x80\\x6f\\x2a\\xda\\xcd\\x64\\x2f\\xb0\\x8a\\xcc\\xc0\\xc6\\x62\\xda\\x45\\x15\\x77\\x39\\x45\\x82\\xa3\\x38\\xf8\\xfa\\xe4\\xe5\\x0d\\x11\\x76\\xcb\\x7b\\xd1\\x29\\xc9\\xb6\\xe6\\xa1\\x25\\xca\\xf5\\xef\\x05\\xfc\\xec\\x93\\x6b\\x6a\\x9a\\xaf\\xbf\\xb0\\xbc\\xae\\xc6\\x1c\\x1a\\x79\\xdd\\x45\\x4c\\xef\\xfa\\x04\\xe8\\xfc\\x73\\xc0\\xbb\\x28\\x8d\\x1b\\x20\\x05\\x74\\x7a\\xbd\\x51\\xa3\\x41\\x1c\\x21\\x80\\x30\\x26\\x1d\\xd7\\x93\\x2f\\x66\\x1d\\xaf\\xb3\\xe7\\x28\\x74\\x49\\x09\\x70\\x47\\x17\\x4e\\xb1\\xcf\\xe0\\xa5\\x47\\xe5\\xf7\\xe5\\x4b\\x8e\\xc9\\x87\\x19\\x8f\\x8c\\xc9\\x47\\x94\\x4f\\x76\\x8e\\xfc\\x0d\\xbe\\x91\\xb3\\x90\\x21\\xc8\\x8e\\xaa\\x25\\x87\\xd5\\xe1\\x04\\x32\\xc4\\xf3\\x0e\\x50\\xac\\xf4\\x66\\xc4\\x13\\x3d\\xf4\\xf0\\x7e\\xdd\\x01\\x55\\x52\\xc6\\x59\\x9f\\x30\\x35\\x86\\x10\\x3d\\x36\\xcc\\x07\\xb2\\xc2\\x4d\\xf3\\x56\\xac\\x69\\x0d\\x07\\xc4\\x82\\xc8\\x3f\\xc3\\xcf\\x8a\\xdb\\x3c\\xfe\\x6c\\x74\\x1f\\x8a\\x3b\\x09\\xee\\x7d\\xee\\x08\\xdb\\x6f\\x96\\x07\\x79\\xb3\\x09\\x23\\x9f\\x4a\\x38\\xf4\\x9c\\x56\\x8f\\xe3\\x7a\\x5c\\xaf\\xc7\\xdc\\x11\\xf9\\x3b\\x2c\\xb6\\xc8\\xdf\\xca\\xdf\\xb6\\x60\\xab\\xfc\\x6d\\x2b\\x16\\xb1\\x55\\x18\\x21\\x7f\\x47\\xdf\\x2d\\xf2\\x77\\x2d\\xd8\\x86\\xc5\\x56\\xf9\\x5b\\x2c\\x2a\\xfb\\x0e\\xe1\\x4a\\x6e\\x2e\\xc8\\xdc\\x34\\x67\\xcf\\x18\\x29\\x1c\\x14\\x90\\x8e\\xb8\\x6d\\xee\\x80\\x4e\\x10\\x0c\\x56\\xa7\\xb3\\xd4\\x62\\x36\\x18\\x00\\x2e\\xde\\x68\\xb5\\x58\\xec\\xc6\\x47\\x41\\x04\\x0f\\x21\\x9e\\xa9\\x4d\\x8d\\xa9\\xac\\x93\\x5b\\x6e\\x02\\x0b\\x3d\\xf9\\x42\\x58\\x89\\x36\\x52\\x2c\\x9f\\xf7\\x23\\x34\\xdc\\x08\\x3e\\x6b\\x54\\x4c\\x27\\xff\\x33\\x26\\x84\\xa2\\x2f\\x55\\xe3\\xc8\\xd0\\x15\\xdb\\x86\\xec\\x4f\\xc8\\x44\\xd0\\x19\\xb4\\x41\\xa2\\xe1\\x6e\\x78\\xea\\xdc\\x94\\xd6\\x5e\\xb7\\xa8\\x9d\\xd3\\x31\\x11\\xfd\\x19\\x3c\\x8c\\x89\\xe8\\x69\\xb3\\xd7\\x17\\x74\\x8c\\xaa\\xe0\\xa9\\xaf\\x1b\\xc8\\x88\\xad\\xa0\\x5f\\xeb\\x51\\xd9\\x3e\\x10\\x4f\\x8c\\x06\\x0d\\xc8\\x83\\xd5\\x0f\\xd2\\xe0\\x9a\\x79\\x21\\x35\\xc7\\xd2\\xf2\\xca\\xab\\x69\\xa8\\xfc\\xce\\xd0\\x86\\xcf\\xb9\\xf9\\x05\\xb6\\x05\\x37\\x57\\x81\\xff\\xc8\\x9f\\x85\\x2a\\x51\\x9d\\x64\\x8b\\xba\\x60\\x66\\x02\\x1a\\x17\\xdf\\xa7\\xaf\\x18\\x25\\xa5\\x25\\x5e\\x6a\\x5d\\x30\\x69\\x89\\xaa\\xfd\\x28\\x57\\xa7\\x8b\\xd3\\x0b\\xb0\\x38\\x50\\xff\\xeb\\xad\\x0c\\xfc\\xc7\\x25\\x67\\xa5\\x96\\x78\\x2b\\x3d\\xf6\\x93\\x2a\\xfb\\xa7\\x6a\\x27\\x4d\\x6d\\x5d\\x31\\x7d\\x54\\x67\\xdc\\x61\\x1d\\x16\\xae\\xea\\x5b\\x33\\xf5\\xe4\\x56\\xee\\xef\\x99\\xb9\\x6e\\xfd\\xf6\\x36\\x7b\\xb8\\x26\\x5a\\x1a\\x0f\\x04\\x66\\x34\\x8f\\x9b\\x6e\\xdb\\xda\\x24\\xfa\\xca\\x43\\xa1\\x78\\x49\\x60\\x2a\\xc3\\xb9\\x9f\\x40\\x8f\\x6c\\x87\\xf5\\x0a\\xa0\\x49\\x52\\x94\\x47\\x26\\xbf\\x41\\xa3\\xd1\\x0a\\x56\\x87\\x1f\\x69\\x3d\\x76\\x51\\x0c\\xba\\x9d\\x1e\\x4f\\x89\\xdd\\xe9\\x14\\x4c\\x7e\\x10\\x37\\xac\\x1e\\x98\\x8c\\xbd\\x1a\\x9e\\xd7\\xe1\\x02\\xed\\x89\\xe5\\xdd\\x48\\x1d\\x77\\xd9\\x1c\\x2c\\x58\\x6a\\x3d\\x5d\\x2c\\x11\\x3b\\xd8\\xb4\\xc5\\xb5\\x30\\x90\\x74\\x23\\x8e\\xf3\\xb8\\xa6\\xb1\\x63\\x49\\xc3\\x53\\x75\\x3b\\x1e\\x1c\\x20\\xbf\\xd9\\x78\\xda\\x06\\x78\\xdc\\x7b\\x1b\\xdf\\x18\\x8f\\x5b\\xd7\\xae\\x13\\xe3\\x71\\xf3\\x23\\xf2\\x3f\\xcd\\xf1\\xb8\\xe5\\xba\\xed\\xf0\\x69\\x78\\xf3\\x57\\x74\\x1c\\x59\\x1e\\x7b\\x4c\\x9e\\xff\\x7f\\x64\\x79\\x80\\x05\\x38\\x23\\xb7\\x5a\\xd8\\x05\\xb4\\xc1\\x2b\\xe9\\x81\\x1e\\x70\\x5a\\x0d\\x48\\xb1\\x28\\x91\\xc8\\xfb\\x49\\x44\\x6c\\x11\\x1a\\xa0\\xf4\\x0b\\xf9\\x5e\\xfc\\xa9\\xe0\\xdf\\xfa\\xeb\\x64\\x54\\x50\\x4f\\x4b\\x65\\x0d\\x2d\\xc8\\x05\\x9c\\x5e\\x07\\x14\\x45\\x43\\xab\\x36\\xe4\\x2a\\xe7\\x6a\\xa7\\x94\\xfa\\x13\\xb7\\x92\\x97\\xb6\\xe2\\xf1\\xb4\\x89\\xff\\x8b\\x36\\xb8\\xab\\xb7\\x72\\x17\\xfd\\x5f\\xb6\\x81\\xc7\\x03\\x28\\x3d\\xda\\x50\\xe6\\x80\\xe3\\x90\\x96\\x2a\\x2c\\x28\\x51\\x97\\xc8\\xcd\\x41\\x8a\\xd5\\xbd\\x06\\x2a\\x6e\\x15\\xfc\\xbf\\xaa\\xf9\\x13\\x4f\\x85\\x7a\\xad\\x64\\xb9\\x52\\x0f\\x26\\x8d\\xd7\\x68\\x09\\xa5\\xa1\\x2f\\xe7\\xe7\\x8e\\xae\\x5d\\xc4\\x75\\xea\\x02\\xfc\\x3b\\xb2\\xfc\\xd8\\x2f\\x0b\\x8a\\xeb\\x69\\x41\\xce\\x36\\x83\\x54\\xc5\\x71\\x1a\\x9d\\x1e\\x76\\x29\\x0f\\x32\\xf3\\xcb\\x79\\xa0\\xd9\\x42\\xdb\\xa2\\xac\\x85\\x83\\x0b\\xa0\\x09\\xbc\\x41\\x3e\\x9f\\x2c\\x97\\xcf\\x5b\\x40\\xf5\\x11\\x90\\x7d\\xaf\\xef\\xbe\\x1c\\xf4\\x91\\x0a\\xc9\\x45\\x35\\x11\\x2d\\x22\\x56\\xc2\\xe9\\x88\\x40\\x29\\x79\\x02\\x11\\x46\\xcb\\x5f\\xce\\x0b\\x31\\x42\\x4f\\x25\\x64\\x65\\x81\\x0e\\xc2\\xa1\\x00\\xf9\\x89\\xdb\\x22\\xcc\\x86\\x7a\\x5a\\x54\\x2e\\xd9\\x40\\x6d\\x03\\xbe\\x00\\x50\\x71\\x92\\xde\\xd2\\xc2\\x09\\x54\\x84\\x3c\\x50\\x55\\x57\\x08\\x19\\xec\\x0a\\x41\\x11\\xb0\\xba\\x2e\\x07\\x2d\\xe3\\xc5\\x6b\\xae\\x39\\x44\\xe5\\x2c\\xd0\\x2b\\xc6\\x71\\x9f\\x93\\xdb\\x99\\x9e\\xff\\x3f\\xea\\x9d\\xbe\\x0d\\x5c\\x4d\\xf7\\x15\\x00\\x6b\\xb9\\xe4\\x24\\x3a\\x83\\x1e\\x23\\x8d\\x55\\x53\\xaa\\x01\\xb2\\x46\\x41\\x55\\xd8\\xce\\xcb\\x39\\x48\\x69\\xa4\\x6e\\x17\\x95\\x97\\x1f\\xdb\\x7e\\xfd\\xb0\\xb5\\x7b\\xd6\\x2d\\xbf\\xe8\\xa2\\xc0\\xf7\\xdf\\x07\\x50\\xef\\xb6\\x04\\x64\\x00\\x8e\\xa2\\xb6\\xa5\\xa5\\x42\\x3f\\xd3\\xc0\\x52\\x2f\\x17\\xe8\\x40\\x20\\xb1\\x53\\xad\\xee\\x77\\xeb\\xf6\\xac\\x1d\\x76\\xfd\\x76\\x79\\x03\\x6d\\xea\\xa2\\x8b\\x58\\x5b\\xaf\\x82\\x3a\\xf1\\x7e\\xf7\\x8f\\xd0\\x96\\x5f\\x32\\x00\\xc6\\x68\\x39\\x4e\\x6f\\xc0\\x02\\x88\\xab\\x85\\xb2\\x32\\x00\\x42\\xe1\\xf1\\xe0\\xf7\\x95\\xaa\\x72\\xb3\\xd2\\x14\\xea\\xd1\\x46\\x89\\x64\\x04\\x69\\x57\\x03\\xa3\\x01\\xb5\\x90\\xcf\\x37\\xa2\\x6e\\x58\\x4a\\x0d\\x61\\x54\\xaf\\x2a\\x83\\x91\\x37\\x2a\\x63\\x63\\x73\\xbf\\x4e\\x1e\\xc9\\xf5\\xed\\xfe\\x86\\xc9\\x79\\x80\\xc5\\x76\\x16\\x6d\\xd6\\xeb\\x73\\x11\\x11\\x44\\xc6\\xd4\\x4b\\x85\\xb3\\x2e\\x14\\xd8\\x43\\xb5\\x05\\x09\\x4b\\xb9\\xbe\\xe7\\x65\\x32\\xe7\\xd1\\x9f\\xb9\\x4d\\x35\\x35\\x4d\\xf4\\xe7\\x33\\xe5\\xfd\\xbc\\x8c\\xf2\\xda\\x94\\xc5\\xbd\\x67\\xb9\\x72\\xfc\\x33\\xe0\\xac\\x5f\\x32\\x81\\xee\\xa5\\xd1\\xaa\\x8a\\x6b\\xa1\\xb6\\x19\\x2b\\xd4\\xb9\\x9e\\x55\\x55\\x2e\\xae\\x7b\\x17\\xd4\\xed\\x62\\x75\\x8d\\x14\\x47\\xb4\\x02\\x36\\x18\\xcc\\xd8\\xa4\\x53\\x5a\\xa0\\x5b\\x8e\\xad\\x62\\x36\\xcd\\x59\\xb6\\x9d\\x88\\xd2\\x9a\\x87\\xb5\\x86\\x07\\x15\\x36\\x9a\\xd5\\xe6\\xb8\\xee\\x03\\xd0\\xf6\\xa7\\x6a\\xdb\\x15\\x92\\x03\\x19\\x34\\xc4\\xac\\x51\\x9a\\x06\\x55\\x4e\\xa7\\xb6\\x3e\\x2b\\xdb\\x3c\\x6b\\x9d\\x69\\x74\\x11\\xf6\\x89\\xcb\\x14\\xc5\\x6e\\xec\\x1d\\xf0\\xeb\\xaa\\x67\\x15\\xf5\\x2e\\x82\\xad\\x54\\xc9\\x53\\x6c\\x79\\xf2\\x3c\\xee\\xae\\xee\\xeb\\x60\\x86\\x2b\\x24\\xa7\\xcb\\xa7\\xf3\\x5a\\x75\\x8a\\xb2\\xe8\\xe4\\xc3\\xc6\\x84\\x91\\x33\\x52\\xbc\\x39\\xf0\\xc1\\xcc\\x03\\x0a\\x0f\\xf8\\x3f\\x10\\xbd\\xe4\\x79\\xbd\\x44\\x2f\\x68\\xfe\\x7e\\xdc\\x8a\\x8f\\x0a\\x17\\x65\\xd7\\xd6\\xa5\\x07\\x21\\x9e\\x78\\x7d\\xb0\\xc8\\x74\\x40\\x2f\\x15\\x69\\x65\\x45\\x72\\x7a\\xfe\\x19\\x4f\\x1e\\x79\\xca\\xec\\xe6\\x82\\x1f\\xdc\\x9a\\x7d\\xe4\\xbe\\xcb\\x3e\\xd1\\x31\\xee\\x24\\x1f\\x70\\x82\\x30\\x14\\xe6\\xd0\\xf6\\x27\\x01\\x68\\x11\\x43\\xe5\\x3a\\x35\\x62\\x51\\xc4\\x05\\x9a\\xd4\\x4e\\x3c\\xfb\\xc3\\x0b\\x84\\xa1\\x17\\x7c\\x88\\x7a\\x96\\x87\\xfd\\x43\\x04\\x6a\\x72\\xa8\\xcb\\xea\\x5d\\x4c\\x4b\\x13\\x2e\\xf8\\x10\\xcf\\x26\\x1f\\x7c\\x78\\x01\\x2b\\x2f\\x8f\\xe2\\x84\\xee\\x3b\\x59\\x79\\x44\\xf5\\xdb\\x82\\xf2\\x1e\\xaa\\x08\\x46\\x76\\x5e\\xf0\\xa1\\x7c\\x4b\\x86\\x96\\xee\\x59\\x1e\\x94\\x7c\\xae\\x10\\x1e\\x58\\x37\\xd0\\xe9\\x38\\x41\\xbe\\xe5\\xc3\\x0b\\xe4\\x51\\x14\\x20\\x8c\\x4a\\xe4\\x66\\x62\\xef\\xde\\xaf\\xd0\\x72\\x02\\xe4\\x14\\x01\\x5d\\x2c\\x36\\x00\\x65\\xa9\\x22\\xf4\\x05\\xfa\\x78\\xc9\\x75\\xf8\\xd9\\xeb\\x60\\x03\\x9e\\xf1\\xf1\\xc7\\xf2\\x66\\xa5\\x4f\\xd6\\x06\\x42\\x45\\x34\\x99\\xda\\x22\\x72\\xf5\\x59\\x6d\\xa0\\xa8\\x25\\xd7\\x71\\xb3\\xa0\\xea\\x23\\xf2\\xdb\\x5b\\xd9\\x1d\\x12\\xb9\\x85\\xbb\\xa6\\xfb\\x73\\x90\\x9d\\x80\\x26\\x13\\x9d\\x0e\\xf1\\x5a\\x2d\\xb4\\x62\\x30\\xf2\\x28\\xd1\\x23\\x72\\x85\\x27\\x5d\\xef\\xd1\\x46\\x5c\\x11\\x8f\\xd6\\x79\\x6f\\x75\\x0c\\x76\\x49\\x5d\\xac\\xfa\\x58\\xfc\\xb1\\xe0\\xa2\\xcd\\x8b\\x83\\x14\\x86\\xae\\x77\\x85\\x6f\\xbb\\x6f\\xd0\\x46\\x00\\x06\\xcb\\xbe\\x82\\xdd\\x05\\x52\\x34\\xdb\\x09\\x8f\\xb2\\x1d\\x20\\x7c\\xab\\x22\\x3f\\x96\\x53\\x50\\xfe\\xa7\\xe3\\x95\\xc7\\x0c\\xb7\\xe5\\x14\\x43\\x6a\\xe1\\xdb\\x02\\x7c\\x96\\x1f\\xe3\\x67\\xe1\\x11\\xcc\\x1e\\x65\\xdd\\xa7\\xa5\\xe6\\x22\\x20\\x19\\x09\\x4a\\xf8\\x58\\x2d\\xc5\\x92\\x25\\x3f\\x76\\x1c\\x53\\x16\\xd0\\x67\\x55\\xdf\\xb2\\x6a\\xb8\\x1d\\xac\\xad\\x67\\xf9\\x53\\xf0\\x20\\x66\\x4b\\xd2\\xfd\\x91\\xf1\\x3d\\xda\\x46\\xc4\\x25\\x3f\\x9b\\x33\\x1e\\xe1\\x2e\\x59\\xb8\\x06\\xd8\\x54\\x4d\\xcf\\x32\\x5d\\x32\\xcf\\x0b\\xd7\\x5c\\x7b\\x2d\\x6b\\xe7\\x4d\\x7e\\x36\\xae\\x61\\xfa\\xb5\\x75\\x9f\\x41\\xe4\\x31\\xaf\\xa5\\x05\\x0f\\x50\\x98\\x6c\\x45\\x2a\\xf4\\x09\\x15\\x68\\xdc\\x3d\\x97\\x9f\\x86\\xb6\\x33\\x79\\x5e\\xf7\\x47\\x50\\x17\\x12\\x2f\\xc3\\xac\\x15\\xa8\\xca\\xd7\\xf7\\x56\\x95\\x39\\xf9\\x23\\x7e\\x21\\x2e\\x15\\xa6\\xb1\\x3d\\x66\\xd9\\xab\\xb1\\xdb\\x4d\\xb4\\x5f\\x16\\xb4\\xc7\\x51\\xb0\\x8f\\x22\\x05\\xcf\\x77\\xd7\\xb6\\xb6\\xd6\\x26\\x9b\\x9b\\xe5\\xb5\\xb5\\xad\\x2d\\x49\\x78\\xe0\\x17\\x8e\\xaa\\xab\\x1b\\x39\\x22\\x55\\x37\\x6a\\x74\\xa2\\x76\\xd4\\xa8\\xda\\xba\\x51\\xca\\x3c\\x7b\\x84\\x17\\xba\\x9f\\xd7\\x56\\x81\\x3e\\x63\\xfd\\x93\\xd5\\x0c\\x98\\x21\\x52\\x1c\\x56\\x74\\x22\\x76\\x5e\\x46\\x43\\x9a\\x32\\xf7\\x46\\x6a\\xdf\\x3d\\x92\\xea\\xdb\\xd2\\x1c\\x9e\\xb6\\xf0\\xeb\\xf6\\xe9\\xcb\\x47\\xd6\\x6a\\xd6\\x87\\xcb\\xbc\\xa7\\x85\\xb6\\x0d\\x9e\\x6c\\xac\\x3b\\x87\\x84\\x98\\x2e\\x56\\xc3\\x47\\xd1\\x9b\\xaa\\x4e\\x6f\\x7a\\xd0\\xa4\\xb1\\x2b\\x64\\x80\\xcd\\xd0\\x71\\xb5\\xf4\\xff\\x48\\x47\\xe7\\xe4\\xcd\\x80\\x0f\\x67\\xa8\\x3a\\x9e\\x75\\x9f\\x8e\\x62\\x44\\x96\\x20\\x2b\\x18\\x91\\xd5\\xde\\xe4\\xcd\\x27\\x56\\xdf\\x7a\\xe0\\x15\\x88\\x12\\x18\\x51\\xf3\\x8d\\x8a\\x57\\x59\\x09\\x02\\x8f\\x38\\x8e\\x19\\x13\\xd6\\xee\\x05\\xbe\\x0d\\xd5\\x33\\x3b\\x26\\xac\\x1d\\x66\\x6b\\xe7\\x00\\xf1\\xa5\\x3e\\x67\\xb6\\x84\\xf1\\x4f\\x81\\x32\\xf7\\xb0\\x32\\x5a\\x18\\xbf\\x86\\xd1\\x1c\\xd8\\xdc\\x30\\x9b\\x50\\x92\\x96\\x1e\\xb2\\x74\\xe9\\x67\\x4a\\x05\\xf9\\x09\\x56\\x89\\x93\\x4f\\x07\\x98\\xfe\\x24\\x6c\\x61\\x63\\x73\\x48\\xfa\\x1e\\xfc\\x26\\xbb\\xad\\x14\\x36\\x93\\x50\\xb8\\xcc\\x40\\xf6\\x0b\\xea\\x15\\xb1\\x19\\x68\\x8b\\xe1\\xa8\\x66\\x03\\xe0\\xa8\\x0f\\x35\\x48\\xb1\\x46\\x4f\\x9b\\xe7\\x88\\x87\\x78\\x24\\x9b\\xb3\\xc5\\x43\\x93\\xa8\\x7b\\x3c\\xda\\x46\\xd0\\x06\\x6d\\xd8\\xa6\\x35\\x2c\\x27\\x98\\xed\\x2c\\xba\\x19\\x67\\xd6\\xa5\\x0e\\xcc\\x5c\\x61\\xa3\\x77\\x28\\x57\\xf4\\x44\\xe7\\xc2\\x1b\\x01\\x45\\xa8\\x2d\\x1f\\xce\\xa1\\x6b\\x0e\\xc9\\xf1\\xa5\\x05\\x36\\x1e\\xba\\x67\\x3a\\x61\\xcf\\xdc\\xc6\\xf6\\x8c\\x96\\xce\\xb7\\x91\\x89\\x5a\\x6c\\xcf\\x00\\xdb\\x89\\x32\\x65\\x89\\x32\\xa1\\x4b\\x77\\x08\\xb4\\xe1\\x09\\xa7\\xba\\x4f\\xe7\\x76\\x08\\xb7\\xed\\xdc\\x31\\xe9\\xa4\\xa6\\xc9\\xdb\\xef\\xa1\\xf3\\xde\\xc9\\x0f\\x40\\xb7\\x0a\\xbf\\x20\\x1b\\x9d\\x77\\x8a\\x9f\\x6c\\xcf\\xd0\\x2b\\x15\\x2e\\x67\\x88\\x53\\xe0\\xba\\x75\\xe7\\x4d\\x63\\x5b\\xa3\\x55\\xd1\\xd6\\xc6\\x91\\xed\\xfc\\xfb\\x2b\\xb6\\x04\\x47\\x3a\\x07\\x54\\xfb\\x4a\\x43\\xf1\\x48\\x62\\xd0\\xc9\\x3d\\xda\\x10\\x09\\x6b\\xc3\\x01\\x58\\x9d\\xa6\\xa7\\x17\\xfd\\x38\\x05\\x33\\x0b\\xdb\\x10\\x26\\xfe\\x76\\x1b\\x79\\x38\\x94\\x68\\xf8\\x1c\\x55\\xf8\\x5c\\xfd\\xf0\\xad\\xed\\x23\\x1b\\x59\\x1b\\x63\\x6f\\xda\\x29\\x4c\\x1c\\x97\\x19\\x94\\x88\\xc4\\x43\\xa5\\xbe\\xaa\\x7a\\xe7\\xc8\\xe0\\x16\\x18\\x3e\\xe2\\x07\\xe0\\xa6\\x62\\x38\\x70\\x4f\\x38\\x70\\xd3\\x6f\\x02\\x82\\xd4\\xd8\\xb8\\xe8\\x63\\x66\\x1b\\x0e\\x82\\x34\\xa1\\x9a\\x85\\x55\\x5b\\x76\\x37\\xe1\\xa9\\x98\\xb8\\x82\\x92\\x58\\x07\\xc3\\x9a\\xcb\\x7a\\x58\\x97\\xff\\xf3\\xfa\\x84\\x91\\xe8\\x8f\\x8b\\xcd\\xca\\x50\\xbf\\x49\\x1e\\x89\\x9e\\xec\\x3e\\x0c\\x58\\xae\\xd9\\x03\\x2b\\x4a\\x77\\x82\\x62\\xc6\\x7c\\x92\\x1a\\x4a\\xe5\\x91\\x1b\\x37\\x6f\\x44\\x3d\\xcb\\x71\\xb4\\x9c\\x96\\xb9\\x98\\xb9\\xa2\\x4f\\xd0\\x72\\x31\\xa5\\x18\\xe0\\xc9\\x1a\\x7e\\x27\\xbe\\x50\\x33\\x1c\\xe0\\x31\\x3c\\xc0\\x51\\x33\\x2c\\xdd\\x33\\x20\\x83\\x83\\x5e\\xf2\\x76\\xd7\\xed\\xc4\\xc0\\xef\\xfc\\xf1\\x4e\\x79\\x8e\\x32\\xf6\\x6f\\xc8\\xe5\\xf8\\x4a\\xe1\\x63\\x24\\xc2\\x1c\\x1a\\xd4\\x75\\x60\\x4a\\x78\\x96\\xc2\\x58\\x05\\xdb\\x6b\\xee\\x9a\\x11\\x53\\x5a\\x27\\xcd\\x93\\x67\\x92\\x6f\\x26\\x4e\\xb2\\x07\\xc2\\xd5\\xcd\\xd2\\xb8\\x85\\x1d\\xf2\\x87\\xab\\x94\\x36\\x6e\\x00\\xb8\\xe6\\x02\\x5c\\x66\\x68\\x83\\x37\\xa0\\xc4\\x2b\\x00\\x59\\x91\\xd5\\xd8\\x95\\x35\\x1a\\x7f\\x5b\\x68\\x33\\xee\\x4e\\xc3\\xbc\\x1d\\xec\\x7e\\x06\\xc6\\x63\\xd9\\x0b\\xaa\\x0d\\xe2\\x15\\xe3\\x2f\\x9d\\x28\\xc5\\x58\\x7c\\x10\\x86\\x24\\x37\\x33\\x6b\\x71\\xcf\\xf2\\x9c\\x46\\x93\\x35\\x30\\x03\\x97\\x75\\x29\\x96\\x5f\\x5a\\x7e\\xa8\\x5a\\x9c\\xcd\\x57\\x33\\x7a\\xa2\\xfb\\x69\\xa0\\x04\\x9a\\x3d\\x1a\\x65\\x5e\\xf3\\x06\\xe2\\x27\\x14\\xfb\\xb0\\xfc\\x78\\xce\\x3e\\x2c\\x3f\\x2b\\x1f\\xc1\\x83\\xba\\xcf\\x62\\x34\\x89\\x9d\\x49\\xe4\\x79\\x9b\\x7c\\x44\\xe1\\x6d\\xf2\\x37\\xf2\\x58\\x1c\\x41\\x57\\xc3\\x7c\\x99\\xf7\\x5a\\x0c\\x4a\\x5e\\xdc\\x54\\xa2\\x47\\x14\\xcd\\xa1\\x38\\x82\\x0b\\x92\\x38\\xe1\\x48\\x2e\\xc2\\xc1\\x61\\x2a\\x3f\\x20\\x79\\x2c\\x57\\xa7\\xb6\\xc1\\x9b\\xf4\\xcc\\x9b\\xae\\x2e\\xc1\\x84\\x3a\\x25\\x01\\x5b\\x36\\xf0\\xc4\\x45\\x8f\\xbc\\x84\\x23\\x05\\x51\\x0a\\x1e\\x3d\\xac\\xc6\\x26\\x00\\xde\\x27\\x2f\\x43\\xdb\\xbb\\x6f\\xa3\\xb6\\xac\\x7d\\x7a\\xa6\\xce\\x31\\x6d\\x06\\x66\\xfe\\x78\\x1c\\xf0\\xe7\\x42\\x5b\\xb1\\xfc\\x91\\xbc\\x15\\x97\\x76\\xaf\\x57\\x79\\x20\\x32\\x51\\x01\\x33\\xa1\\xea\\x1e\\xff\\x29\\x0f\\x94\\xb7\\x1e\\x8f\\x07\\x02\\xcf\\x92\\x07\\xa3\\x37\\xbb\\x3f\\x51\\x79\\x96\\x1d\\x51\\xeb\\x7c\\xea\\xbf\\xe0\\x59\\xf2\\xe0\\xe3\\xda\\x95\\xbb\\x3b\\xbb\\x7e\\x44\\xb7\\x82\\xbc\\x67\\x43\\x01\\xc9\\xbe\\x96\\x6c\\x21\\x37\\x93\\x57\\xc9\\x11\\xf2\\x0d\\xd1\\x90\\x65\\x22\\x06\\xc4\\x9d\\xf9\\x12\\xec\\x30\\xcf\\x6f\\x91\\xa1\\x7f\\xf6\\xde\\xfc\\xb8\\xbb\\x9f\\x3c\\x16\\xbd\\x81\\xaa\\xa0\\x5d\\x9f\\x64\\x32\\x98\\xcd\\x02\\x49\\x20\\x1a\\x0b\\xdc\\x04\\xb8\\x35\\xb3\\x4e\\x65\\xde\\x05\\xf9\\xe8\\x53\\x2c\\xa8\\x7e\\x9d\\x9a\\x71\\x3e\\xb5\\xcc\\xf3\\xf0\\x15\\xf2\\x58\\x35\\xb9\\xfc\\x33\\x4b\\x69\\x2e\\x79\\x05\\xf7\\x2a\\xe4\\x49\\xe8\\x3d\\x20\\x05\\x56\\x98\\x05\\x8b\\x09\\x50\\x16\\x50\\xbb\\x2e\\x3b\\xbf\\x05\\xe6\\x6e\\x5b\\xa1\\xb5\\x7b\\x52\\xb1\\xb5\\x9b\\xf1\\x49\\xd8\\x5b\\xf5\\xec\\x9c\\x0d\\x64\\x29\\x52\\xc8\\x27\\xd5\\xe3\\x34\\xba\\xdf\\x81\\x18\\x5d\\xd8\\xfd\\x37\\xc6\\x25\\x79\\xc4\\x69\\x54\\x2e\\x49\\xb5\\x6e\\xea\\x61\\xf6\\xb6\\xdc\\x71\\x1f\\x31\\xc8\\xcd\\x3f\\xfe\\x88\\x6f\\x84\\x6d\\x8f\\xe5\\x2b\\xe5\\x87\\xf0\\xd2\\xee\\x0b\\x90\\x17\\xd5\\x48\\x7a\\x83\\xcb\\x45\\x65\\x2f\\xbb\\x85\\x26\\x78\\x37\\xeb\\xc5\\x16\\x8b\\x55\\x35\\xaa\\xf3\\x4c\\xcd\\xa9\\xa2\\xc2\\x91\\x22\\xcc\\x6a\\x61\\xc1\\x52\\xca\\xba\\xa5\\x9c\\x6a\\x7c\\xc3\\x0a\\xfa\\xcd\\x1f\\x60\\x5b\\x8f\\xea\\xcf\\xce\\x97\\xe6\\x0e\\x1d\\x3a\\x17\\xf6\\xf7\\xa8\\x5f\\x5a\\xeb\\x92\\xa3\\xe9\\xd9\\x53\\x7b\\xfb\\xaa\\x49\\xc9\\xd1\\x8a\\xbc\\x00\\x70\\x8e\\x60\\x76\\x08\\x9f\\x64\\xd1\\x22\\x60\\x97\\xc5\\x06\\x08\\xca\\xc8\\x84\\x9e\\x82\\xc3\\xca\\x22\\xb9\\xa1\\xb8\\x0d\\x42\\x77\\x13\\x16\\x35\\x61\\x4d\\x02\\x94\\x7a\\x55\\x9b\\xa7\\x11\\x57\\xb5\\x51\\x26\\xd7\\xfe\\xfb\\xdf\\xff\\x1e\\xfb\\xee\\x5b\\xef\\xc9\\xcd\\xb7\\xdd\\xa6\\x48\\xb5\\x2a\\x1f\\x85\\x36\\x6a\\xba\\x2f\\xa1\\x7c\\x9d\\xc2\\x01\\x6d\\x18\\x8a\\x86\\xfc\\xbf\\x08\\xa1\\x72\\x73\\x4e\\x08\\x3d\\x5e\\x5b\\x44\\x34\\x84\\x0d\\x09\\x03\\x31\\xe4\\xda\\x72\\xe4\\x18\\x33\\xd5\\x0e\\x9f\\x77\\x9f\\xd2\\xde\\x3e\\xd7\\x06\\x9c\\xf9\\xf7\\xc0\\xa7\\xe5\\xe6\\xc9\\x4d\\x23\\x26\\x6e\\xbf\\x67\\xe7\\x0e\\x05\\xb6\\xfb\\xa0\\xbd\\x0e\\xe0\\x25\\x1e\\x14\\x96\\xec\\x79\\xbd\\x93\\x9e\\x6b\\x24\\x8c\\x24\\xaf\\x79\\x52\\x54\\x3a\\xbe\\xd2\\xb9\\xe6\\x44\\x3a\\x67\\x73\\x6f\\x9d\\x93\\xd2\\xbc\\x63\\x40\\xf3\\xae\\x84\\x25\\x30\\xed\\x85\\xfd\\x8b\\x39\\x85\\x8a\\xe4\\xe8\\xde\\xb1\\xac\\x4c\\x2f\\x77\\x71\\x5c\\xf7\\xd5\\xc7\\x2b\\x47\\xe5\\x7a\\xb9\\x8b\\xc9\\xf5\\x1c\\x94\\x4b\\xaa\\xe5\\x28\\x36\\x0a\\x3c\\xa3\\xa3\\x2f\\xa9\\x1a\\x80\\xa0\\x96\\x3e\\x7a\\x4c\\xa9\\xf1\\x12\\xad\\x04\\x63\\xe6\\x5c\\xb8\\x83\\x34\\xc3\\x98\\x3d\\x92\\x51\\x19\\x2b\\x67\\xa4\\x63\\x4f\\x1c\\x48\\x7d\\x30\\xb3\\xee\\xc0\\x7f\\x3f\\x56\\xce\\x75\\xdc\\xb1\\x72\\x9d\\x78\\x10\\xf7\\xe3\\xf1\\x74\\x17\\xae\\x33\\x3b\\x4e\\xae\\x93\\xe3\\xb8\\x9f\\x8e\\xa7\\xbb\\x70\\x9d\\xaa\\xee\\x52\\xda\\xfd\\x0f\\xfc\\x11\\xd9\\xcd\\xca\\x30\\x1b\\x1e\\x8d\\xb9\\x8d\\x3d\\xf2\\x92\\x71\\xe4\\xcc\\x71\\x4e\\xfa\\xa1\\xf4\\xf7\\x28\\x94\\x9b\\x0d\\xfa\\x09\\x41\\xfa\\x07\\x08\\x3d\\x7f\\x68\\x84\\x3d\\x14\\xc5\\xa9\\xfd\\xbf\\xe7\\x7c\\x97\\x3b\\x85\\x5b\\x7b\\xf2\\x4e\\x03\\xcf\\x78\\xa7\\xa7\\xe8\\x04\\xd7\\x9d\\x3d\\xc0\\xfd\\xb6\\xf0\\xfc\\xb6\\x68\\xcf\\x0b\\x4c\\x09\\x64\\x9a\\x81\\x60\\x8b\\x30\\x7d\\x17\\x5f\\x78\\xec\\xa7\\xfb\\xf0\\x7d\\x21\\x79\\x0e\\xbe\\xf1\\xc7\\x1f\\x81\\x2e\\xd7\\x03\\x2f\\x7c\\xa1\\xfb\\x00\\x5b\\x17\\x90\\x8b\\xb5\\xb5\\x58\\xc2\\x1c\\xd6\\x50\\x81\\xfd\\x25\\x86\\xa3\\x11\\x5b\\x84\\xa4\\xa3\\xae\\x17\\xe4\\xa5\\xf8\\xca\\x8b\\x2f\\x80\\xd6\\x7f\\xd7\\x8d\\x2e\\xb8\\x80\\x8d\\xe3\\x5a\\xf9\\x26\\xbc\\x00\\xe8\\x85\\x9f\\xd2\\x0b\\x62\\x32\\x39\\x90\\xd5\\xea\\xd2\\x29\\xf4\\xc2\\xdc\\xa2\\xf3\\x88\\x8e\\xb0\\x23\\xe1\\x20\\x0e\\x95\\x5e\\x50\\xab\\xa4\\x62\\xa4\\x60\\x78\\x1f\\xc4\\x51\\x25\\x1d\\xac\\xb2\\x7a\\x1e\\x66\\x88\\xc6\\x1e\\x73\\x63\\x65\\xba\\x79\\x42\\x73\\xba\\xcf\\x30\\x73\\x87\\x65\\xe9\\xe8\\x79\\x43\\x86\\xcc\\x6b\\x59\\x62\\x93\\xff\\x56\\x5e\\xdd\\x92\\xf2\\xfb\\x6b\\xc7\\x54\\x97\\x8f\\x98\\xd1\\xde\\x9e\\x19\\x05\\x73\\x14\\xe5\\x43\\xe8\\x03\\xe1\\x6d\\xa6\\xe7\\x69\\x55\\x5d\\x41\\x1b\\xd7\\xc6\\xeb\\xe3\\xf5\\x1e\\x50\\xaf\\x3f\\x18\\x75\\xcd\\x35\\xd9\\xff\\xf9\\xd3\\xe9\\xaf\\x6d\\xca\\x0b\\x9d\\xdf\\x75\\xbc\\x19\\x9d\\xa7\\x49\\x30\\x4e\\x67\\x32\\x52\\xae\\x94\\xa0\\x79\\x19\\x80\\xa8\\xe7\\xd9\\x44\\x81\\xf0\\xbb\\xae\\x7f\\xff\\xd2\\x8a\\xd2\\x0d\\xab\\xd4\\x5f\\xfc\\x5a\\xe2\\xf1\\x7b\\x6a\\xea\\x06\\x45\\xdb\\x4f\\x3e\\x23\\xff\\x48\\xf1\\x5c\\xb8\\x16\\x74\\xdc\\x5f\\xd9\\x7c\\x46\\x24\\x17\\x5a\\xcb\\xdd\\xcf\\x3d\\xc9\\x11\\x4e\\x72\\xfb\\x5a\\x0a\\xec\\xa0\\x2f\\x55\\x55\\xcd\\x3c\\x0e\\xf2\\x6b\\x4e\\x53\\x90\\x1f\\xcb\\xc3\\xf8\\x4e\\x84\\x84\\x2b\\x4e\\xa4\\xff\\x4f\\x51\\x74\\x93\\xce\\xac\\xfe\\x0f\\x32\\x6f\\x27\\x7e\\xfa\\x78\\xe5\\x6d\\x4c\\xb8\\x64\\xb2\\x25\\xdf\\x99\\x93\\x2d\\xe5\\xfb\\xf8\\x16\\xdc\\x21\\x9c\\xfb\\xff\\xe2\\xde\\xe2\\x5b\\x8e\\xb3\\xb7\\x40\\x9e\\xb7\\x83\\x3c\\xff\\xd6\\x7f\\xae\\x13\\x24\\x7a\\x72\\x63\\x22\\xff\\x01\\x60\\x9d\\x29\\xbc\\xcf\\x64\\x87\\x20\\x72\\x3e\\x04\\x92\\x09\\x28\\xe8\\x01\\x2f\\xb3\\x92\\xff\\xb6\\x7c\\xe2\\xa1\\xfa\\x2a\\xf9\\xbe\\x46\\x1a\\x5e\\x5d\\xdd\\x38\\xac\\xeb\\x3b\\xf5\\xe1\\xd4\\xc6\\xef\\x0f\\xf3\\x53\\xa4\\x9a\\x9a\\x61\\x43\\xfb\\xf5\\x6b\\xa4\\xbf\\xa5\\xaa\\x7e\\x8d\\x96\\x08\\x3e\\x33\\x26\\x6f\\x65\\x70\\xcf\\x83\\xfd\\x77\\x3d\\xd0\\x3f\\x13\\x72\\x49\\x46\\x1d\\xa5\\xdf\\x61\\x21\\x21\\x70\\x02\\xe0\\xb2\\x42\\xbb\\xcb\\x94\\x88\\x96\\xf4\\x9c\\x51\\x63\\xea\\x98\\x78\\x63\\x5d\\x38\\xd8\\x47\\x92\\x47\\x4e\\x9d\\x70\\xc7\\x8d\\x23\\x6d\\xe3\\x13\\x85\\xf2\\x36\\xdd\\x8b\\x1c\\x13\\x4b\\xeb\\x7a\\xf3\\x5f\\x10\\xba\\x15\\xfe\\x5b\\x4c\\x23\\x2b\\x1f\\x46\\x42\\xf7\\x47\\x92\\x1b\\xd0\\x46\\xb8\\x85\\xdf\\xc3\\x83\\xbc\\x5e\\x0a\\xcf\\x28\\xcc\\x25\\x80\\x0e\\xd1\\x1d\\x55\\x05\\xfb\\xb3\\xea\\x37\\xe8\\x27\\xe8\\xc9\\x30\\x86\\x7b\\x98\\x8c\\xc0\\xa8\\x81\\xb2\\xab\\x7b\\xeb\\xc9\\x54\\x60\\x50\\xf5\\x64\\x9c\\xa3\\x07\\x02\\x72\\x3c\\x40\\xb0\\x40\\xe3\\x03\\x99\\xac\\x2d\\x30\\xec\\xaa\\x97\\x53\\x4c\\xc4\\x00\\x6d\\xe1\\x85\\x8b\\xe5\\x9f\\xf0\\x95\\x40\\x0a\\xd0\\xef\\x14\\xde\\x44\\xbe\\x05\\x5c\\xba\\x85\\x79\\x60\\xba\\xac\\x0e\\x8b\\xcb\\x65\\x10\\x38\\x2d\\xd2\\x5a\\x7c\\x3e\\x0b\\x92\\x4c\\x20\\x3a\\x50\\x9a\\x60\\x82\\x07\\x64\\x41\\x96\\xb5\\xa0\\x17\\x53\\x81\\x65\\x26\\xbb\\x8d\\x5d\\x65\\x4b\\x25\\x14\\x53\\x6f\\x4a\\x35\\xf8\\x02\\xde\\xc1\\x16\\x2e\\x20\\x0c\\xb0\\x95\\xf3\\xc8\\xd7\\x50\\x9f\\x3a\\x67\\x50\\xb9\\x5f\\xc5\\xbf\\x01\\x83\\x52\\xe7\\x34\\x54\\x78\\xb2\\x18\\x58\\x1b\\xee\\x6c\\x5a\\xe8\\xa3\\x48\\x18\\x9a\\x39\\x7c\\x81\\x57\\x41\\x43\\x02\\xf0\\xed\\xc2\\x1d\\x9a\\x7f\\x03\\xf6\\x44\\x41\\xa8\\x88\\x4a\\x22\\xe0\\xb9\\xd3\\xc8\\x1b\\x01\\xa1\\x8c\\xf1\\x48\\xa0\\x86\\x59\\x63\\x14\\x87\\x7c\\xeb\\x81\\xc4\\x6f\\xf1\\xd0\\x42\\x2d\\xdd\\x56\\xf0\\x7c\\x42\\xde\\x7a\\xd7\\xa8\\x54\\x6a\\x54\\xe1\\x0f\\xff\\x70\\xf1\\x2e\\xc1\\x7f\\xa1\\xdf\\xf7\\x1f\\x35\\xaa\\xeb\\x7d\\xf5\\x41\\x91\\xc5\\xef\\x23\\x5f\\x02\\xcc\\xe3\\x29\\x5d\\x42\\x49\\xc9\\x57\\x1d\\x2d\\x89\\x02\\xd4\\x51\\xf8\\xcf\\x9b\\xe7\\xfa\\x95\\xa5\\x5e\\xba\\x5f\\xdf\\x87\\xfd\\xca\\x2e\\x14\\x58\\x0f\\xa4\\xe8\\x10\\x4e\\x0c\\x3f\\xf9\\x2f\\xf7\\xf4\\x69\\x27\\xf8\\x5e\\x08\\x16\\x8f\\x42\\x7e\\xf9\\x78\\x7c\\xf5\\x9f\\x72\\x0b\\xb6\\x77\\x7f\\x0e\\xfa\\x8c\\x66\\x8f\\x81\\xe9\\x59\\xf1\\xfa\\xa8\\x47\\x1b\\xa7\\xb6\\xcf\\x14\\xd0\\x68\\xd7\\xe9\\xd5\\xb1\\xc7\\x62\\xd5\\xf7\\xde\\xab\\xfc\\x92\\x5b\\x82\\x8b\\x17\\x07\\x1f\\xa3\\x56\\xd0\\x45\\xf0\\x4b\\xa1\\x1f\\x49\\xc0\\xc7\\xd7\\xba\\x0f\\x22\\x3d\\xb5\\x07\\xe8\\x14\\x1a\\x1f\\x07\\x6d\\x0d\\x50\\x24\\xe5\\x79\\x70\\xf1\\x66\\x5a\\xf2\\x31\\xf9\\xfb\\x8a\\x37\\xde\\xa8\\x80\\x86\\x68\\x1d\\x6f\\x57\\x18\\x26\\xf0\\x23\\xe1\\xcf\\x8c\\x5e\\xd0\\x15\\x1f\\x8c\\x46\\xa1\\x89\\xa8\\x13\\x2d\\x42\\xab\\xd0\\x06\\xb4\\x05\\xdd\\x80\\xee\\x44\\x0f\\xa2\\x27\\xd1\\x5f\\xd0\\x41\\xf4\\x3a\\x7a\\x1b\\x1d\\x46\\x47\\xd0\\x27\\xe8\\x73\\x74\\xbb\\x34\\xf9\\xc5\\x43\\x91\\xc0\\xfa\\xc7\\x1f\\x5f\\xf3\\x50\\xfb\\xcc\\x99\\x63\\xa6\\xfe\\x71\\xc1\\x82\\x5d\\xa7\\x89\\xc4\\xa5\\xd7\\xff\\xed\\xb3\\xb3\\x76\\xee\\x5c\\x76\\x73\\xc3\\xc8\\x91\\xa9\\xc6\\x3f\\xbf\\xba\\xfd\\xf7\\xbf\\xbf\\x6a\\x53\\x4d\\xfc\\x50\\xe0\\xa1\\xa9\\xa7\\x91\\xcf\\x6e\\x6e\\x7c\\x75\\x53\\x3c\\xbe\\xe9\\xd5\\xc6\\x9b\\x3f\\x23\\xa7\\x4d\\x7d\\x28\\x70\\xc8\\xf4\\xda\\x7b\\xcf\\xff\\xf5\\xaf\\xef\\x3e\\xf7\\xe6\\x07\\xcf\\xbc\\xfc\\xf2\\x87\\x07\\x5e\\xa3\\xac\\x85\\x12\\x2a\\xf5\\x97\\xdd\\x03\\x4b\\x95\\xff\\x67\\x2b\\x72\\x93\\x28\\xfc\\x38\\xce\\x17\\xd4\\x8f\\x2b\\x8f\\x76\\xb1\\xc2\\x30\\x12\\x27\\x40\\x4d\\xe1\\x3f\\x28\\x5f\\xf8\\x7d\\xfc\\x04\\x65\\xc8\\x7f\\x50\\x57\\x38\\x41\\x99\\xa2\\xef\\xd9\\xa1\\x80\\x8d\\x99\\xee\\xa9\\x63\\x96\\x2d\\xc2\\x44\\x93\\x94\\x10\\x61\\xdf\\x46\\x98\\x57\\x20\\xfc\\xc8\\x38\\xe4\\x76\\x87\\xe8\\x0f\\xb9\\x26\\xfb\\x24\\xa7\\xb3\\x4f\\xd9\\x1f\\x3c\\x22\\xfb\\xd4\\x75\\x4e\\xf6\\x89\\xbb\\xb8\\xf7\\x77\\x73\\x72\\x8d\\x4d\\xc8\\x3e\\xfd\\x9b\\x7e\\x84\\x5d\\xd0\\xea\\x2d\\xf4\\x93\\xb5\\xd6\\x99\\x7d\\xea\\xba\\x27\\xfb\\x57\\x32\\xfe\\x38\\xdf\\x3d\\x33\\xe7\\x10\\x1e\\x28\\x3f\\x7f\\x68\\xce\\xd1\\x55\\x87\\xe6\\xd0\\xa7\\x39\\x87\\xb8\\x91\\xf2\\xf3\\xf4\\x09\\x0f\\xe4\\x46\\xcc\\x99\\xf3\\xeb\\x1f\\xe6\\xcc\\xe1\\x3e\\x2a\\x86\\x35\\x24\\x8f\\x51\\x1f\\xc8\\x6e\\xf5\\x61\\x45\\x8f\\x12\\x5d\\x9b\\x7b\\x7c\\x71\\x8f\\xf2\\x3b\\x8c\\xcf\\x52\\x7a\\x0e\\x75\\x3d\\x91\\x6d\\x63\\xae\\xfa\\xa0\\x42\\x17\\xfe\\x44\\xfd\\x2d\\x3f\\xa4\\x16\\xfd\\x9b\\xfa\\x9b\\xcc\\x3d\\x34\\xe7\\xd7\\xc6\\x39\\x87\\xf8\\x18\\x00\\xfd\\x6b\\x23\\x1e\\x78\\x68\\xce\\x1c\\xfe\\x97\\x39\\xc7\\x36\\x28\\xe0\\x2a\\xfb\\xec\\x5c\\xd2\\x8d\\x2e\\x12\\xee\\x03\\xfd\\x49\\xf7\\x47\\x0d\\x56\\xec\\x3d\\xd1\\xb4\\x72\\xe2\\xb8\\x38\\x40\\x0f\\x1c\\x49\\xf7\\x30\\x76\\xde\\xa8\\xda\\x76\\x78\\x0d\\x9a\\x2b\\xdc\\x08\\xf2\\xa9\\xe9\\xc1\\x9c\\x7b\\x20\\xd4\\x39\\xbe\\x7d\\x87\\x7f\\x3d\\x6f\\xe0\\x29\\xb6\\x9f\\x26\\xa5\\x10\\x6f\\x34\\x7a\\x76\\xda\\xfe\\x64\\xe3\\x36\\xda\\xae\\xb6\\x71\\x6e\\x5b\\x85\\x8d\\xe3\\xa9\\xed\\x94\\x99\\x32\\x3d\\x4c\\xdf\\xb6\\xa5\\xa8\\xe3\\x93\\xad\\x81\\x0a\\x68\\xc5\\x26\\xcd\\x42\\xb4\\xa4\\xe6\\xcd\\x9c\\x12\\x65\\xce\\x0c\\x57\\x8c\\x1b\\x9a\\x0d\\x3b\\x77\\x28\\xba\\x94\\x7c\\xb6\\x34\\x8d\\x59\\x3e\\xa8\\xec\\x08\\xbc\\xf1\\x83\\x6e\\x19\\x68\\x84\\x76\\x8f\\x80\\x7c\\x89\\x13\\x8b\\x8e\\xf2\\xe5\\x45\\xa2\\x23\\xd4\\x5d\\x0d\\x34\\x69\\x13\\x3b\\xaf\\x05\\x5d\\x40\\x50\\x64\\x9a\\xec\\x09\\xef\\xa6\\x5e\\x07\\xbc\\xc5\\xe5\\xd9\\xa9\\x2e\\xcc\\x53\\xf6\\x2c\\xf7\\xa2\\xde\\x67\\xb9\\xf2\\x66\\x7a\\x1c\\xc5\\xca\\xdb\\x40\\xda\\xb1\\x1a\\x8d\\xbc\\xa8\\xa7\\xf5\\xde\\x3f\\x50\\x67\\x67\\x53\\x80\\xb3\\xb5\\x63\\xd9\\xa3\\x69\\x79\\xb3\\xd2\\x0e\\x4e\\xab\\x67\\xd4\\x6a\\x7b\\x43\\x73\\x47\\xd5\\x3d\\xd6\\x2c\\xe7\\x22\\x4a\\xdd\\x08\\x8f\\xab\\x57\\xf0\\xaf\\xe7\\x15\\x0b\\x8c\\xbe\\xe0\\xb7\\x83\\x7c\\x79\\x06\\x93\\xb5\\xf5\\x44\\xb1\\x81\\x15\\x46\\x12\\x79\\x5a\\xaa\\xa9\\x96\\xa4\\xea\\x1a\\x49\\x10\\x94\\xdf\\x92\\xd2\\x67\\x5f\\x18\\xfb\\x5b\\xdd\\xcf\\x33\\xf9\\x8f\\x1e\\x90\\x52\\xfa\\xed\\x89\\xd6\\x2b\\x33\\x1d\\x4f\\x69\\x61\\xb2\\x81\\xbd\\x97\\xaf\\x8c\\x5e\\x91\\xb8\\xfe\\xfa\\xc4\\x15\\xd1\\x95\\xe5\\x57\\x24\\x6e\\xbc\\x31\\x21\\x7f\\xba\\xe3\\x96\\xb3\\x17\\x55\\xd7\\x2c\\x5c\\xb9\\x63\\xc7\\x8a\\xf9\\xd5\\x55\\x0b\\x11\\xf0\\xf1\\x75\\x20\\xa9\\xac\\xeb\\xfe\\x46\\xa5\\xea\\x61\\xc9\\x5c\\x13\\x08\\x88\\xf1\\x48\\x44\\x63\\xd7\\x13\\x97\\xc8\\x64\\x9b\\x86\\x86\\x9c\\x55\\x42\\x39\\xe6\\x8e\\xe7\\xd3\\x7c\\xba\\x95\\x24\\xbf\\x42\\xc1\\x91\\x77\\x7d\\xd6\\xda\\x44\\xf3\\x82\\xae\\x3b\\x2f\\x93\\xce\\x04\\x83\\xf0\\x71\\x5e\\xfe\\x49\\x1e\\x9b\\x3d\\x0b\\x9f\\x5f\\x70\\x28\\xde\\xaf\\xb2\\xb2\\x1f\\x3d\\x18\\xaf\\xa9\\xac\\xac\\xc9\\x1d\\x8e\\xd7\\xe4\\x0f\\xc9\\x71\\x77\\x39\\xdf\\x86\\x8e\\x68\\x96\\x29\\x36\\x49\\x41\\x60\\x36\\x49\\xb6\\x76\\xa4\\x3e\\xea\\x48\\x69\\x53\\xa4\\xa2\\xf1\\xc7\\xe5\\xd7\\x48\\x3f\\x2e\\xe3\\xdb\\x5e\\xc4\\x53\\x5e\\x94\\xef\\x81\\x3a\\x07\\xe5\\x55\\x82\\xa5\\xfb\\x51\\xe0\\x97\\xd6\\x7d\\x4c\\xe4\\x34\\x0a\\x59\\x35\\x0c\\x97\\x95\\x57\\xc4\\x53\\x6e\\x3e\\x55\\x57\\x4e\\xf9\\x35\\xcf\\x2d\\xfe\\xb3\\x7c\\xf8\\x7e\\xd3\\xbc\\x7e\\xb8\\xf6\\xfd\\xf7\\x71\\xb2\\xdf\\x3c\\xd3\\xfd\\xf2\\x7b\\xf2\\xaa\\xc9\\xd7\\x64\\x46\\x75\\x74\\x8c\\xca\\x5c\\x43\\xfd\\x6b\\xba\\x0f\\xf2\\x9d\\x82\\x45\\xf8\\x03\\x6b\\xcf\\x28\\x0a\\x58\\xd0\\x31\\x75\\xf0\\x3f\\x6e\\x8f\\xef\\xec\\xd9\\xde\\x5d\\xfc\\x3d\\xc2\\xd0\\x42\\x1d\\x98\\x80\\xe4\\x99\\xe6\\x8f\\xf0\\x77\\x6d\\xdb\\xa6\\xac\\xf7\\x41\\xf9\\x23\\xfe\\x9e\\x62\\x5b\\xa9\\x5a\\x46\\xfe\\x28\\x5b\\x66\\x3f\\x0f\\xd4\\x5e\\x98\\x83\\xbc\\x54\\xf7\\x70\\x09\\x2c\\xaa\\xbe\\xd9\\xae\\x2f\\xd0\\x3d\\x70\\x59\\x3f\\x4e\\xd9\\xe0\\x5c\\xaa\\x2e\\xc4\\xa9\\xd6\\x16\\xf2\\xf8\\xbc\\x27\\xee\\xbb\\xb1\\x79\\xd6\\x6a\\x71\\x81\\xa9\\xf3\\x9a\\xd3\\xe0\\x65\\x47\\xf3\\x0c\\x78\\x71\\x3f\\xc5\\xa7\\xfa\\x26\\xfb\\x4a\\xa9\\xb6\\x0b\\xc7\\xf4\\xa9\\xeb\\x33\\x2c\\x75\\xc1\\x8d\\xa8\\xe7\\xf8\\x75\\x94\\x98\\x98\\x84\\xec\\xb9\\x08\\xae\\xe3\\x69\\xc8\\xd5\\xf2\\x68\\x19\\x4f\\xa9\\x48\\x39\\xb7\\xf8\\x69\\x1c\\xa3\\xe3\\x97\\x5f\\xfb\\xe0\\x43\\xf9\\xf5\\x1a\\x18\\x3f\\xae\\x10\\xfe\\x30\\x79\\xdb\\xb4\\x51\\x1d\\x13\\x9b\\xd5\\xf1\\x4f\\x94\\x5b\\xc8\\xeb\\xec\\x7c\\x57\\xb5\\xc7\\xe3\\x78\\x3d\\x70\\x2c\\x2a\\xc9\\x90\\xf2\\xea\\xd8\\xb1\\x01\\xe4\\x45\\x55\\x8c\\xd9\\xac\\x0a\\x30\\x1c\\xf2\\x71\\x15\\xdc\\x48\\xfe\\x4c\\xa0\\x74\\x51\\x7a\\xc3\\x2e\\x64\\xb2\\x6a\\xa3\\x51\\x42\\x3c\\x26\\x52\\x1e\\x8b\\x18\\xf6\\xe3\\xc6\\x87\\xfc\\x5a\\x8d\\xc7\\x6a\\x25\\x9a\\x47\\xf1\\x30\\xe4\\x80\\x6e\\x86\\xb0\\x8b\\x5b\\x0d\\x89\\x06\\x7b\\x83\\xe2\\x6a\\x57\\x78\\xff\\x92\\x5d\\xa1\\x8b\\x32\\xa4\\x66\\xa1\\x36\\xb3\\xd7\\x42\\x06\\x38\\xb4\\x6a\\x24\\xa6\\x7a\\xdc\\xf0\\x66\\xc3\\x6b\\xe6\\xda\\xf1\\xd1\\xfb\\x96\\x6e\\x69\\x9d\\x58\\x3b\\xdc\\x53\\x79\\xd5\\xf2\\xba\\x41\\xfd\\xca\\x83\\xe5\\x69\\xfe\\xcc\\x1b\\xe5\\xad\\x96\\xca\\xaa\\x52\\xcf\\x5d\\xd3\\xa6\\x72\\x5c\\xc7\\xdc\\xf0\\xa8\\x4b\\x5c\\xf2\\x7b\\x1c\\x37\\x68\\x68\\xaa\\xd6\\xa5\\xf8\\xf0\\x70\\x71\\xfc\\x2f\\x7e\\x25\\xcb\\xe5\\x53\\x2f\\x39\\xbc\\x82\\x46\\xe3\\xf0\\x99\\x79\\x07\\x5f\\x12\\x14\\x4c\\x56\\xaf\\xd7\\x60\\xa5\\x17\\xcc\\x5c\\x05\\x70\\x02\\x98\\xf9\\x90\\xa7\\xca\\x5d\\x85\\x3a\\x77\\x90\\xda\\xab\\xa9\\x99\\x8c\\x9e\\x20\\xb1\\xcc\\x00\\x1e\\xd8\\x73\\x34\\xbb\\xab\\xef\\xcc\\x79\\xf2\\x3b\\x25\\xd2\\xa0\\x41\\x63\\x42\\xcb\\xfb\\x5d\\xbe\\xe1\\xdf\\x55\\xc1\\x0d\\x01\\x7e\\xe5\\xea\\x0b\\x92\\xfa\\xa9\\xe3\\xfa\\xd8\\xfa\\x39\\xfc\\x57\\x5c\\x87\\x63\\x43\\x67\\xb7\\x2f\\x1f\\xce\\xe0\\xc9\\xfb\\x23\\xba\\x80\\x57\\x98\\x0c\\x82\\xe0\\xf6\\x38\\xcc\\xf4\\x94\\xcd\\xfc\\x28\\xae\\x46\\x1a\\xa4\\xc3\\x83\\x7b\\x78\\x27\\x36\\x56\\x1d\\xc7\\x41\\xb1\\x48\\xac\\x51\\x9d\\x15\\xf7\\xd6\\x57\\x00\\x65\\x88\\xc7\\x07\\x28\\x5e\\x8b\\xf4\\x8e\\xdd\\x5f\\x2a\\xfb\\xf7\\xaf\\xac\\xa8\\x1f\\xa0\\xf6\\x5d\\xc1\\xf5\\xe5\\xcf\\x42\\x06\\xe4\\x46\\x31\\xc9\\x60\\x13\\x8c\\xa0\\x16\\x79\\xbc\\x16\\xdd\\xa3\\x30\\x78\\x27\\x22\\xcc\\x73\\xb1\\xb1\\xe8\\x76\\x9d\\x93\\xa5\\xd9\\xeb\\xed\\x59\\x73\\xc1\\x45\\x72\\xf7\\x9a\\x4b\\x37\\x9d\\xbf\\xa7\\x2c\\x5d\\x13\\x8b\\xd5\\xa4\\xcb\\x48\\xdb\\x75\\x5b\\x71\\x9f\\x2d\\xd7\\x5e\\x7d\\xe5\\x59\\x2b\\x67\\x5f\\x72\\xd9\\xa9\\xe7\\x00\\x7a\\xda\\xb8\\x28\\x77\\x31\\x3f\\x17\\x7a\\x1b\\x2c\\x59\\xf4\\x3c\\xb2\\x58\\x1c\\xbc\\xc3\\xe3\\x45\\x5a\\x87\\x9b\\xba\\x1b\\x8a\\x82\\x60\\xd3\\x52\\x4f\\x51\\x13\\xe2\\xd4\\xae\\x15\\xb7\\xc3\\x86\\xa2\\xdb\\xa1\\x18\\x86\\x48\\x6f\\x36\\xa6\\x72\\x77\\x5a\\x53\\x14\\x67\\xf0\\xce\\x33\\xc7\\xdd\\x38\\xf0\\xef\\x55\\x95\\x35\\xfd\\xfa\\x7f\\x5c\\x7f\\x98\\x3b\\x4d\\xba\\x03\\xcf\\xb3\\x54\\xca\\x6b\\x52\\x03\\x9d\\xf8\\x0e\\x78\\xe0\\x98\\xcf\\x26\\x5d\\xff\\x1f\\x60\\xcc\\x5e\\xd4\\x47\\x32\\x39\\x98\\x17\\x91\\xcf\\x6f\\x26\\x56\\x3d\\x1d\\xb3\\x3b\\x37\\xe6\\x82\\x3e\\xa1\\xc7\\x82\\x54\\xca\\x45\\xe9\\xfa\\xf0\\x0f\\xc1\\xd9\\xb5\\xd7\\x5c\\xb3\\x6d\\xdd\\xf8\\x05\\x55\\xbe\\xd8\\xc0\\x01\\xcd\\x63\\xda\\xa7\\xd6\\x73\\x93\\x3c\\xee\\x2d\\xd7\\x5e\\x76\\x93\\xeb\\xce\\xd3\\x02\\xe7\\x2f\\x58\\xb5\\xc0\\x96\\xdb\\x27\\x17\\xc2\\x3a\\x3b\\x51\\x18\\x0d\\x91\\xcc\\x26\\xe4\\xf7\\xdb\\x5c\\x1a\\x9b\\x86\\x46\\x3b\\x1f\\x6e\\x80\\xb5\\x35\\x23\\x11\\xd6\\x3b\\x88\\xf4\\x00\\x87\\x37\\x07\\x47\\x63\\xf1\\xdd\\xd8\\x1e\\xc0\\xc4\\xd3\\xea\\xe0\\x49\\x41\\xfa\\xe7\\x9b\\x6b\\x86\\x95\\x9f\\xbf\\xfa\\x82\\xdf\\x35\\x35\\xf1\\x0d\\x9f\\x0f\\x7b\\xef\\x6f\\x03\\xd3\\x89\\xfe\\x35\\xc9\\x01\\x43\\xb8\\x8e\\xa0\\xb8\\x65\\xdb\\x95\\xdb\\xad\\x33\\xb7\\x58\\x2a\\x8f\\x7d\\x6c\\xa9\\xc4\\xc1\\x65\\xab\\x7c\\xf8\\x6e\\xf3\\xd9\\xc5\\x77\\x77\\x07\\x9f\\xf0\\xee\\x2e\\xdd\\xc1\\x22\\x80\\x36\\x24\\xbb\\x36\\xff\\x1f\\xde\\xdc\\x55\\xef\\xa1\\x92\\xf7\\x61\\xad\\xaa\\xd0\\x14\\xc9\\x21\\x78\\x3c\\x25\\x25\\x62\\x1c\\x95\\x95\\xc5\\x45\\x43\\xdc\\x50\\x5d\\x53\\xd9\\x77\\x3f\\x1e\\x2c\\x19\\xca\\x4a\\x3c\\xf0\\x1e\\xf7\\x9b\\x63\\x14\\x87\\xec\\xe1\\xb0\\x36\\x7b\\xb9\\xd8\\xa6\\xde\\x38\\x4c\\xf5\\x84\\x93\\xdd\\x39\\xca\\xe5\\x21\\xf7\\x14\\x82\\x5c\\x94\\xc3\\xa7\\x08\\xfc\\x1f\\x47\\x4d\\x89\\x9e\\x16\\xfd\\x5d\\xc7\\x75\\x0d\\xf2\\xe7\\xa9\\xb6\\xea\\xfe\\x1a\\xf6\\x3b\\x9e\\xa2\\x23\\xa9\\x3f\\xcc\\xa7\\x2b\\xfc\\xad\\xad\\xb9\\xb1\\x2c\\xf2\\xf9\\x4b\\x73\\xcf\\x1e\\x79\\x66\\xc1\\x15\\xd7\\xa2\\xfb\\xb5\\x69\\x98\\x6b\\x83\\x41\\x14\\x79\\xa7\\x0b\\x99\\xf3\\x17\\x6c\\xe9\\x44\\x6b\\x60\\x13\\x28\\x13\\x6d\\xeb\\x85\\x8f\\xff\\x47\\xb7\\x6b\\x29\\xee\\x57\\xe0\\x1b\\xf8\\xcf\\x00\\xcd\\x4b\\x1f\\x22\\x1e\\xaf\\x59\\xa7\\x15\\x0c\\x74\\xbf\\xd1\\xeb\\xb4\\x8d\\xca\\x75\\xda\\x97\\xb3\\x57\\x50\\x7a\\x07\\xf3\\x60\\x59\\x84\\x2d\\x1d\\x53\\x47\\x4f\\x6d\\x9e\\xb6\\x6a\\x55\\xc4\\x5f\\xde\\xd7\\x39\\x99\\xab\\x18\\x3d\\x02\\xaf\\x8c\\x7b\\xd6\\xad\\x1b\\x26\\x5f\\x1b\\xaf\\x34\\xa4\\xcc\\x4e\\x6a\\xab\\x03\\x5c\\xa7\\xbe\\xe1\\x16\\x14\\x05\\x42\\x66\\x25\\xa2\\x5e\\xab\\x35\\xf2\\xb4\\x27\\x1d\\xc2\\xf9\\x9d\\x9d\\x75\\x22\\x8b\\x16\\xb9\\x7a\\xe3\\x19\\xad\\x5f\\xd1\\xcb\\x97\\x5b\\x2f\\x68\\xda\\x5f\\x09\\x0d\\x65\\xef\\x7a\\xb2\\xfb\\x9f\\x0a\\x7f\\xfd\\x19\\x70\\xb5\\x83\\xf9\\x32\\xd7\\x49\\xa2\\x18\\xfc\\x6f\\xfc\\x96\\x7f\\xdb\\x53\\x59\\xf8\\x6f\\x3d\\x95\\x31\\xfa\\x94\\x0f\\x73\\x95\\xc2\\x6a\\x6a\\x4f\\xda\\xc7\\xd3\\xeb\\x55\\xcc\\x2e\\x59\\x70\\xa1\\x2a\\xe5\\x22\\x9f\\x8e\\xfe\\xf5\\x5b\\x3e\\x1c\\xc5\\x03\\x2b\\xe5\\x97\\xe9\\xfa\\x6f\\x90\\x47\\xe3\\xe7\\xba\\x77\\x32\\xff\\x2b\\x03\\x26\\x44\\xa3\\x5d\\x96\\x75\\xa1\\xc8\\x56\\xa4\\xc7\\x41\\x69\\x07\\x7e\\x0e\\x6a\\x4e\\x8f\\xca\\xcf\\x57\\xe2\\x14\\xd4\\x7b\\x14\\xe4\\xc3\\xaf\\x98\\xcd\\xae\\x4c\\xb2\\x19\\x35\\x84\\x98\\x2d\\xc5\\x96\\x3b\\xd5\\xa7\\x53\\xa1\\x13\\x85\\x06\\x3c\\x2c\\x49\\x23\\x6f\\xac\\x08\\xf5\\xad\\x98\\x20\\x8f\\x6c\\x3d\\xe9\\xcf\\x77\\x49\\xde\\x11\\x0d\\x0a\\x2e\\xa6\\xd5\\x7c\\xd5\\xa0\\x87\\x48\\xb0\\xc5\\x2d\\xc4\\x45\\x7c\\x5e\\x8b\\xdd\\x6e\\x6a\\xcf\\xd8\\xad\\x4a\\x48\\xa9\\xc2\\xec\\xcd\\x85\\x6e\\x96\\x05\\x41\\xa3\\x0a\\xf3\\x85\\xe3\\xc9\\x1d\\x3b\\x6a\\x4f\\xbd\\xf4\\x92\\xf3\\xd6\\x5e\\x44\\x43\\x53\\x4e\\x3a\\xfa\\xcb\\xbf\\x9d\\xf1\\x8a\\x71\\xc1\\x7b\\x9f\\x7f\\xfa\\x6e\\x1a\\x91\\xf2\\xfb\\x5f\\x7e\\xf9\\x51\\xf1\\xb1\\x6a\\x86\\xbe\\xa7\\x91\\xbf\\xd8\\x2b\\xc8\\x1f\\x10\\xb2\\x69\\xb9\\x1b\\x70\\xf5\\xb1\\xcf\\x91\\x43\\x32\\xe2\\xdf\\x47\\xf0\\x92\\x08\\x46\\x11\\x1c\\x41\\x36\\x50\\x8c\\xd2\\x4a\\x79\\x15\\x56\\x28\\x9f\\x56\\xca\\x77\\x3f\\xf4\\x9b\\xe5\\x17\\xca\\xcf\\x70\\x1c\\x79\\xca\\xaa\\x41\\x21\\x36\\xd6\\x7f\\xb3\\xbb\\x7d\\xdf\\x33\\x7f\\x05\\x11\\xe6\\x5b\\x0b\\x7b\\xec\\xea\\x82\\x3b\\x4d\\xc5\\xd7\\xe0\\xfe\\xdd\\x88\\x83\\xf2\\xaf\\xd4\\xff\\x47\\x31\\x9a\\x92\\x6e\\x5a\\xff\\x01\\xa8\\xaf\\xd8\\x69\\x07\\x4b\\xc1\\x12\\xaf\\x57\\xd4\\x13\\x12\\x76\\x89\\x62\\x48\\x63\\x97\\x90\\xc9\\xe4\\xf5\\xfa\\xa1\\x45\\x6f\\xd8\\xcb\\x79\\x59\\x8b\\x88\\x86\\x79\\xf6\\xbf\\x5c\\x97\\x8b\\xd2\\x9f\\x8f\\xd4\\x7f\\x62\\x73\\x2e\\x37\\xea\\xb8\\xf6\\xdc\\xc5\\x27\\xb4\\xe7\\xc2\\x58\\x9d\\x08\\x09\\xfb\\x85\\x16\\x7b\\x05\\x8d\\x00\\x67\\xd3\\x92\\x86\\xee\\x45\\xdd\\x63\\x51\\x70\\x2f\\x07\\xcd\\xb9\\xf7\\x77\\x3f\\xf5\\x80\\xde\\xd4\\xb2\\xbf\\x7b\\xe1\\x5e\\xb7\\x5b\\x10\\x62\\xb8\\xaa\\x2a\\x8d\\x1a\\xd3\\x74\\x4e\\xee\\xc7\\xdd\\xf8\\x28\\x19\\x43\\xc7\\x24\\x19\\x60\\x2c\\xf4\\x5a\\xd9\\x0d\\xd3\\x35\\x28\\x91\\xcf\\x2d\\x79\\x3c\\x37\\x4b\\xdc\\x9d\\x75\\xaa\\xec\\xee\\xee\\xbe\\x17\\xfa\\x3e\\x2a\\x0c\\xb3\\xc6\\x51\\x25\\xb6\\x28\\xbd\\xcb\\x7f\\x82\\xde\\xe7\\x48\\x95\\x51\\xc9\\xe9\\x6c\\x89\\x4a\\x0e\\x07\\x7c\\xd8\\xed\\xf0\\x61\\xb1\\xc0\\x87\\xd9\\x0c\\x1f\\x26\\x13\\x7c\\xe8\\xf5\\x2d\\x38\\x44\\x70\\x18\\x20\\x7c\\x48\\x14\\x5b\\xc2\\xf4\\xdb\\xfd\\xdd\\xef\\x48\\xce\\x70\\x98\\xe7\\x63\\x08\\xd1\\x4a\\x68\\x9d\\xd1\\xd2\\x42\\xc5\\x5b\\x6c\\x9b\\x09\\x80\\x57\\x29\\xc0\\xc3\\x18\\xd8\\x3f\\xa5\\x7f\\x6d\\x39\\xeb\\xbf\\x0a\\x9b\\x0b\\xfa\\x3f\\x43\\x1a\\x12\\x95\\xdc\\x6e\\xe8\\xc6\\xe5\\x6a\\xe9\\x05\\x89\\xcd\\x96\\x05\\xc2\\x68\\x84\\x0f\\x83\\xa1\\x00\\x1c\\xc9\\x6a\\x6b\\xa1\\x30\\x3d\\x60\\x16\\x01\\x9c\\x77\\x25\\x5b\\x38\\x0c\\xd3\\x06\\xe0\\x58\\xdd\\x2d\\x88\\x0a\\x67\\x00\\x4b\\x6f\\x50\\xe0\\x1f\\x5d\\x8b\\xee\\x87\\x00\\x59\\xfe\\x87\\xc1\\x53\\x8d\\xad\\x2a\\x3c\\x4f\\x02\\x3c\\x8b\\xa5\\x3a\\x07\\x85\\xc2\\x41\\xa1\\x70\\x50\\x28\\x1c\\x92\\xd5\\x0a\\x1f\\x00\\x85\\x83\\x42\\xe1\\xa0\\x50\\x38\\x18\\x14\\x16\\x82\\x45\\x0a\\xa2\\x98\\x83\\xe2\\x09\\xc9\\x2d\\x8a\\x3a\\x1d\\x9b\\x14\\x17\\x40\\x01\\x20\\xe6\\x41\\xe9\\x0d\\x0b\\xc0\\xb1\\x46\\x89\\xfb\\x6a\\xad\\x40\\x75\\x2a\\x14\\x1b\\x00\\x8a\\x75\\xd2\\xa9\\x21\\x3a\\x2b\\x21\\x3a\\x2b\\x21\\x0a\\x4f\\x88\\xc2\\x13\\xa2\\xf0\\x84\\x68\\x97\\x21\\x0a\\x54\\x88\\xae\\x54\\x88\\xae\\x54\\x68\\x1d\\x80\\x17\\x5a\\x07\\xe0\\x85\\x28\\x78\\x21\\x0a\\x1e\\xe7\\x23\\x9c\\x97\\x4e\\x86\\x97\\x16\\xf3\\xd2\\x8b\\x76\\x5e\\x50\\x3f\\xe8\\x37\\x26\\x7a\\x08\\x64\\x62\\xd3\\x93\\xb6\\xf5\\x9e\\xa0\\xec\\x1c\\x3d\\x03\\xb4\\xf2\\x00\\x9b\\xa3\\x21\\x58\\xc5\\x58\\xf9\\x20\\x40\\xb7\\x46\\xaa\\x29\\xa1\\x30\\x95\\x50\\x98\\x4a\\x68\\xeb\\x25\\x74\\x7a\\x4a\\xe8\\xf4\\x94\\xd0\\xfe\\x4b\\xd8\\xf4\\x78\\x08\\xf6\\x52\\x58\\xbd\\xd4\\x80\\x0f\\xd3\\xe3\\x65\\x28\\xae\\x87\\x69\\x7a\\x5b\\x2a\\xf5\\x7a\\xf5\\xfa\\x18\\xd2\\xd0\\x41\\x6a\\x24\\x87\\xb3\\x45\\xb3\\x0e\\xe6\\x4a\\x23\\x19\\x45\\x78\\xd2\\x1b\\x5a\\x34\\x6c\\xc2\\x94\\x29\\x2b\\x02\\x8f\\xc2\\x35\\x03\\xe0\\x32\\xd3\\x39\\x23\\xd3\\x55\\xa8\\xe6\\x00\\x54\\xe7\\x48\\x33\\x92\\xb4\\xb9\\x24\\x9d\\xb3\\x24\\x85\\x2f\\x49\\xe1\\x4b\\xd2\\x39\\x4b\\x52\\x38\\x92\\x74\\xce\\x92\\x14\\xdc\\x24\\x9d\\xb3\\x24\\x85\\x39\\x49\\x61\\x4e\\x52\\x98\\x93\\x0c\\xe6\\x6a\\x82\\xab\\x24\\xab\\xb3\\xa5\\x4a\\x02\\x7c\\xae\\x42\\x76\\x3a\\x5b\\x76\\x3a\\x5b\\x76\\x36\\x5b\\xb6\\x13\\xce\\xd5\\x3b\\xdd\\xff\\xe0\\xae\\x14\\xbe\\x07\\xba\\xb7\\xe8\\x7b\\x64\\xd3\\x90\\x41\\x1f\\x21\\x64\\x7f\\x80\\x70\\x78\\x7f\\xf7\\xbf\\xf6\\x96\\xfa\\x05\\x33\\x6c\\xe8\\x74\\x3a\\x5d\\x44\\x07\\x34\\x94\\x0e\\xc0\\x7b\\x59\\xf7\\xaf\\x42\\x90\\xc6\\x23\\x40\\x31\\x46\\x03\\xe1\\x93\\xbf\\x0b\\x74\\x5c\\x91\\xe6\\x12\\xb0\\x10\\xbd\\x8e\\xe8\\xac\\x36\\x8d\\x79\\x76\\x46\\xaf\\xd1\\xf0\\x9d\\x19\\x60\\x2a\\x16\\x64\\xe9\\xcc\\x20\\x7b\\x61\\x44\\xe9\\xc2\\x9b\\x92\\xd9\\x84\\x37\\x8e\\x28\\xa1\\xc9\\x6e\\x3c\\xdc\\xe1\\xae\\x31\\xbb\\x76\\xf3\\x2b\\xec\\xd3\\x86\\xcd\\x79\\xeb\\xe0\\xab\\xad\\x7e\\xfe\\xec\\x40\\xab\\xbc\\x08\\x7b\\x9c\\x47\\xaf\\xf0\\x2b\\xfe\\xdd\\x25\\xd0\\xe7\\xc7\\x42\\x0b\\xd0\\x5d\\x1d\\x6a\\x93\\x2a\\x35\\x1c\\x4f\\x40\\xf4\\xd0\\x09\\x1c\\xd1\\x1b\\xe6\\xea\\xce\\xd6\\x71\\xfd\\x75\\x23\\x74\\x93\\x74\\xa0\\x52\\x5b\\x75\\xa5\\x00\\x10\\x4f\\x78\\xad\\xc0\\xd1\\xdc\\x0d\\x7f\\xf2\\x87\\x60\\xb9\\xec\\x34\\xd1\\x56\\x5d\\x1d\\x95\\x4f\\xa8\\x95\\xac\\x67\\xf6\\x00\\x1c\\xc1\\xb1\\x08\\xe6\\x3f\\x3e\\x3a\\x18\\xbf\\x84\\xcb\\xf0\\xdb\\x47\\x9f\\xe1\\xbe\\x93\\xd7\\x9d\\xc2\\x7f\\x7e\\xd4\\xe7\\xe6\\x05\\x98\\x83\\x28\\xf4\\xff\\x35\\x9b\\x83\\x4a\\x36\\x27\\xa7\\xc2\\xfb\\x3f\\xd9\\xfb\\x50\\xf6\\x0e\\x7f\\xd7\\x78\\xd8\\x3b\\xcc\\x77\\xaf\\x78\\xc9\\x1d\\x52\\x75\\xd8\\x0f\\xe2\\x98\\x1a\\x30\\x39\\x38\\xb4\\x0c\\x93\\x8a\\x32\\xec\\x2a\\xc3\\x66\\xf8\\x9f\\x2f\\x2b\\x73\\x5a\\x7e\\x2b\\x66\\xf2\\x4c\\x1a\\x35\\x39\\x2f\\x7c\\xb2\\x23\\xa0\\x13\\x45\\x4d\\x66\\x19\\xf2\\x22\\xda\\xa8\\x2d\\xe5\\x39\\x71\\xd4\\x64\\x32\\xc6\\x3f\\x62\\x84\\x5f\\x3e\\x4c\\x3f\\xff\\x97\\xb8\\xc9\\x2f\\xcd\\x95\\x27\\xcc\\x99\\x83\\xf7\\xcc\\x55\\xf8\\xe1\\x48\\x58\\x8c\\x77\\xd8\\x38\\xab\\x73\\xe3\\xee\\xc3\\xde\\xfb\\x31\\xdc\\x00\\xf1\\x4a\\xd8\\x23\\xd0\\x43\\xac\\xe1\\x52\\xc4\\xc2\\x6b\\x04\\xb3\\x49\\xab\\x35\\xf3\\x44\\xb4\\x8a\\x66\\x6c\\x17\\xcc\\x1a\\x81\\x37\\x69\\x79\\x0b\\x06\\xfc\\x30\\xd0\\x45\\xc9\\x47\\x41\\x4b\\xb1\\x6c\\x8b\\x85\\xeb\\x12\\x63\\x19\\x0c\\x22\\x8a\\x82\\xaa\\xc7\\xf8\\x76\\x79\\xfe\\xa9\\xf8\\x03\\x5c\\x8e\\x0f\\xcf\\xed\\xda\\x75\\x83\\xbc\\x49\\xde\\xd0\\xda\\xda\\x1a\\xe0\\x3f\\x3d\\x5a\\x12\\x68\\x6d\\xb5\\xf1\\xbe\\xa3\\xdf\\xa1\\x2c\\x4c\\xda\\x0e\\x06\\x53\\x2d\\x7b\\x8f\\x03\\x4c\\xbb\\xd9\\x7b\\x92\\xad\\xcd\\x29\\xd4\\xe1\\x1c\\xf0\\x57\\x39\\xfb\\xc8\\x48\\xfd\\x4b\\xc3\\xa2\\xd5\\xe9\\x08\\x94\\x94\\x38\\x38\\xbd\\x35\\xac\\x29\\x8f\\x95\\x84\\xc3\\x41\\x8d\\x68\\xc4\\x6b\\x8d\\x5b\\x8c\\xdd\\x46\\x32\\xc8\\x38\\xda\\xc8\\x19\\x8d\\x36\\x6f\\xd0\\xee\\xb0\\x5a\\xeb\\x4d\\xd8\\x64\\xa3\\x21\\xaa\\x66\\xaa\\x62\\x75\\x62\\xe6\\xcc\\x15\\xaa\\x52\\x50\\x1c\\x27\\xa5\\x60\\x2d\\x1c\\x4a\\xbe\\x0f\\x9a\\xe0\\x23\\xea\\x50\\xa2\\xe1\\x12\\xea\\xf0\\x46\\xae\\x60\\x2b\\xc1\\xd6\\x63\\xf4\\xfd\\x4b\\xca\\x27\\x3a\\xf9\\xb0\\x73\\x62\\xf9\\xf2\\xdd\\xe2\\x57\\x13\\xcb\\x27\\x3a\\x8e\\x9e\\xef\\x80\\x5f\\x1f\\x13\\x77\\x76\\x15\\x70\\x7f\\xcb\\xed\\x78\\xa7\\x3c\\xfd\\x76\\xcb\\xb1\\xc7\\xad\\x0f\\xcb\\xb5\\xf8\\xb5\\x87\\xad\\x74\\x8c\\x2a\\xbe\\xc1\\x18\\xeb\\xd8\\x3a\\x00\\x96\\x6a\\x6c\\x30\\x46\\x07\\x9a\\x20\\x25\\x2c\\x7a\\x1b\\xa7\\xe7\\x5c\\xce\\x52\\x17\\x46\\x2e\\xab\\x6b\\xb6\\x6b\\xb9\\xeb\\x29\\x97\\x60\\x26\\x3a\\x22\\x00\\xd6\\x09\\xd6\\xd9\\x19\\x81\\xd8\\x2c\\x7a\\x0e\\x71\\x9d\\x19\\x13\\xdd\\xb6\\x75\\xb9\\xdc\\xa5\\xd9\\x3c\\x98\\x2b\\x6c\\xb9\\xb4\\x32\\xa9\\x74\\x41\\xb2\\x71\\x35\\x0a\\x5d\\xe5\\xee\\xdd\\xc2\\x17\\xf7\\xde\\xdb\\xb5\\x68\\x77\\xd7\\xe7\\xbb\\x47\\xfb\\xf9\\xb3\\x60\\x45\\x02\\x47\\x2f\\xa3\\x31\\x5b\\xf9\\x45\\x47\\xb7\\xf9\\x47\\xab\\xeb\\xc2\\xdf\\xcd\\xd6\\x21\\xc5\\x60\\x3c\\x09\\xde\\x0f\\x03\\x8c\\x2e\\xd4\\x2e\\x55\\x71\\x46\\x17\\xbd\\x56\\x6a\\xb3\\x6a\\x75\\x3a\\xa3\\x15\\x99\\x05\\xb7\\xc7\\x6c\\x71\\x59\\x5c\\xb3\\x33\\x08\\x9b\\x00\\x3a\\x62\\xd4\\xc3\\x18\\x4e\\xcd\\xe8\\xf4\\x0a\\xd6\\xd0\\xbd\\xd1\\x98\\xf2\\x34\\x14\\xe7\\xbf\\xc8\\xdf\\x8d\\x76\\xe1\\x48\\x5d\\xb9\\x12\\x75\\x98\\x86\\x36\\x50\\x12\\x48\\x12\\xad\\x3c\\x0f\\x07\\x97\\xe3\\xa6\\x38\\x9d\\xdb\\x35\\xf8\\x23\\xb9\\x92\\x1f\\x3a\\xbd\\xef\\x99\\x6f\\x7d\\x43\\x92\\x73\\xe4\\x41\\x7a\\x2d\\xcc\\xe8\\x5c\\xce\\xce\\x4d\\x5b\\x24\\xef\\x7a\\xd7\\x42\\x61\\x2e\\x05\\x5c\\xa9\\x67\\x30\\xd7\\x33\\x5c\\x02\\x8a\\x28\\xdc\\xc2\\xde\\x87\\x30\\x5c\\x6a\\x83\\x79\\x06\\x5c\\x63\\x76\\xe8\\x14\\x5e\\x26\\x7d\\x27\\x54\\xd8\\x92\\xc9\\x30\\x72\\x9a\\x9c\\xfe\\x2a\\x7f\\x55\\xff\\xf4\\x9a\\x34\\x1e\\x91\\xc6\\x89\\x34\\x0e\\xa4\\xf1\\xa1\\xf4\\x0f\\x69\\xee\\x60\\x1a\\xdf\\x9e\\xc6\\x57\\xa4\\xf1\\x9c\\xf4\\xc6\\x34\\x37\\x3d\\x8d\\xf9\\x74\\x79\\x7a\\x44\\x9a\\xcc\\x3f\\x9a\\xc6\\x9f\\xa6\\xf1\\x65\\xe9\\x1b\\xd2\\xbb\\xd2\\x07\\xd3\\xfc\\x24\\x56\\x65\\x25\\x14\\xba\\x3d\\x7d\\x20\\xfd\\x69\\x5a\\xa8\\x4a\\x8f\\x49\\x2f\\x4a\\x13\\x67\\x1a\\x1b\\xd3\\xf8\\x60\\xfa\\xab\\x34\\x07\\xed\\xac\\x81\\xe2\\x9c\\x94\\xc6\\xe5\\xec\\xdb\\x81\\xac\\x07\\x5a\\x9d\\x5b\\x99\\xbe\\x3a\\xcd\\x2d\\x4a\\xe3\\x4e\\xda\\xcc\\x60\\xa8\\x4a\\x94\\xf6\\x1f\\x4d\\xe3\\x49\\xe9\\x39\\xd0\\x26\\x19\\x43\\xbb\\x76\\xa6\\xb9\\xaf\\xd2\\x78\\x2f\\xed\\x17\\x4f\\x52\\x8a\\x72\\x62\\x1a\\xeb\\xb8\\x58\\x69\\x59\\x69\\x67\\xc6\\xa6\\x73\\xeb\\x3a\\x33\\xb5\\x6e\\x2b\\x17\\x02\\xdc\\xa8\\x08\\xb9\\x99\\xb4\\x10\\xb2\\x86\\xae\\x08\\xdd\\x12\\xda\\x13\\x12\\xbc\\x24\\x44\\xcf\\xad\\xed\\xf0\\xad\\x3b\\xe4\\x0e\\xd9\\xcb\\x48\\xd2\\x69\\x77\\x76\\x66\\xec\\x39\\xda\\xaf\\x04\\x14\\x67\\x79\\x3d\\x95\\x40\\x87\\xb9\\x70\\xc6\\xb8\\x73\\x56\\x8f\\x2b\\xdc\\xf9\\x5b\\xdc\\xb9\\x2f\\x66\\x15\\x5c\\xe8\\x56\\xb3\\x5a\\xa4\\xf2\\x41\\x78\\xb1\\x4d\\xb5\\xa3\\x44\\xd4\\xb8\\xb3\\x36\\x4c\\xc3\\x0b\\x97\\xd1\\x4b\\x9b\\x34\\x0b\\x5f\\x5a\\x0d\\x4f\\x54\\x47\\x23\\x87\\xd2\\x7c\\x8a\\x2e\\x8f\\x8b\\x7b\\x6e\\xf8\\x39\\x5b\\xb6\\x2c\\xc3\\x77\\x2e\\xdb\\xb2\\xe5\\x9c\\xe1\\xf2\\xf0\\xdd\\x4b\\x6e\\xfd\\x62\\xfd\\xb9\\xff\\xd8\\x35\\x7f\\x37\\xb7\\x68\\xf7\\xfc\\x7b\\xbe\\x3e\\xf7\\x82\\x2f\\x6e\\x59\\xb2\\x1b\\x8f\\xe0\\x9e\\xdd\\x7f\\xcb\\x6d\\x2f\\xbd\\x74\\xdb\\xad\\x0f\\x75\\x0d\\x92\\x1f\\x1b\\xed\\x3f\\x77\\xf9\\xe1\\xcb\\x2f\\x7e\\x6e\\xe9\\x7c\\x8a\\xd9\\xf3\\x97\\x3e\\xbf\\xe9\\xf7\\x87\\x97\\x9d\\xab\\xe0\\x75\\x05\\xe0\\xc4\\xfd\\x0c\\x27\\x06\\x33\\xbc\\xd6\\x02\\x4e\\x0c\\x00\\x9c\\x88\\xe2\\x32\\xe9\\x75\\xa3\\xc6\\x15\\x89\\x58\\x38\\x6f\\x30\\xc8\\x69\\x48\\x79\\x8c\\x8f\\xf5\\x8f\\x71\\xbb\\x62\\x87\\x63\\xdc\\x96\\x18\\x2e\\x87\\x97\\x11\\xb1\\x39\\xb1\\x95\\x31\\xc1\\x18\\xc3\\x8b\\xbb\\x63\\x98\\x7b\\x35\\x76\\x24\\xc6\\x49\\xb1\\x2b\\x62\\x7b\\x62\\x44\\x8c\\x85\\x63\\x8d\\x31\\xf2\\x4d\\x0c\\x2f\\x8f\\xad\\x8b\\xdd\\x12\\x7b\\x2a\\xc6\\x8b\\xb1\\xb6\\xd8\\xb2\\x18\\x91\\x62\\xcb\\x59\\x91\\xa7\\x62\\xaf\\xc5\\x34\\x6a\\xb1\\x81\\x50\\x8e\\x96\\xa1\\x0d\\x2f\\x8f\\x61\\x5a\\x8e\\xab\\x8d\\x61\\xfa\\x57\\xee\\x0a\\x56\\x92\\x2c\\x8b\\xe1\\x09\\x31\\xdc\\x18\\xc3\\x47\\x62\\xdd\\x31\\xee\\xa9\\x18\\xbe\\x3f\\x86\\xaf\\xe8\\x51\\x54\\x47\\x40\\x81\\x03\\xea\\x5c\\x4a\\x08\\xd2\\x97\\x38\\x45\\xad\\x5e\\xdb\\x99\\xf1\\xd9\\xf4\\x24\\xc2\\xc8\\x43\\x9e\\xa9\\xa7\\xf2\\x09\\x5e\\xd4\\xe4\\x57\\xb9\\x05\\xcd\\x2f\\x1f\\x5b\\x40\\xe5\\xa5\\x53\\x59\\xcb\\x15\\xb6\\xe2\\xb8\\xa7\\x94\\x82\\x94\\x96\\xab\\xa9\\x85\\xdc\\x1e\\x95\\xb2\\x0c\\xc3\\x69\\x1b\\x0b\\x33\\xc7\\x53\\xea\\x82\\xbf\\xd8\\x2d\\xff\\x28\\x7f\\x78\\x0a\\xde\\x74\\xd9\\x79\\xab\\x39\\xed\\xea\\xf3\\x2e\\xc3\\x9b\\x4e\\x91\\x8f\\xc8\\x3f\\x00\\xa9\\xc1\\x97\\x74\\xfd\\x13\\x63\\x10\\x17\\xb6\\xec\\x3a\\xc8\\x71\\x17\\xd2\\xd5\\xe9\\x5a\\xc3\\x1d\\xdc\\x85\\x57\\xb4\\x06\\xe4\\xee\\xaf\\x65\\x79\\x15\\x2c\\x12\\x46\\x33\\x15\\x99\\x0c\\xf5\\x41\\x67\\x4a\\x83\\x4a\\x23\\x11\\xaf\\x37\\x6e\\xd0\\xeb\\xed\\xa2\\x45\\xa3\\x2d\\x2f\\x09\\x44\\xb5\\x51\\x12\\x27\\xf6\\xb8\\xbd\\xaa\\x6f\\xd4\\x1e\\x10\\xcb\\x35\\xa2\\xa6\\x33\\x23\\x8a\\x5a\\x97\\x0b\\x75\\x66\\x5c\\x7c\\xc4\\x50\\x62\\x19\\x05\\x3c\\x4b\\x4b\\x49\\xcf\\x4c\\x5b\\xea\\x40\\x5d\\x63\\x41\\x1e\\x42\\xab\\xf7\\x40\\x63\\x96\\x39\\x2b\\x21\\xf3\\x55\\x0c\\x2d\\x0c\\xe0\\xc9\\x2e\\x62\\x3b\\x18\\xcd\\x1f\\x8c\\xe3\\x15\\x28\\xdd\\x1f\\xb1\\x3c\\xb0\\x48\\xc4\\x6a\\x70\\x74\\x07\\x75\\xf7\\x01\\xb5\\xf4\\x89\\x97\\xaf\\xd9\\xec\\xe9\\xda\\xe2\\x99\\x32\\x74\\xc2\\x03\\x4b\\x84\\x6f\\xe5\\x1f\\xf0\\x6a\\x3c\\x13\\xcf\\xc0\\x6b\\xe4\\x1f\\xbe\\x15\\x96\\x3c\\x30\\x61\\xe8\\x14\\xfa\\xd7\\x2d\\xdb\\x5e\\xe2\\x3f\\x7f\\xe7\\xc5\\x3f\\xbe\\xe2\\x96\\x27\\xe0\\x75\\xeb\\xac\\x0b\\xca\\x30\\x7a\\xf1\\xdf\\x58\\x94\\xbf\\xff\\xe5\\x45\\x90\\xd8\\x16\\x58\\xd7\\xc9\\xeb\\xf0\\x1e\\xf7\\xab\\x7b\\x5e\\x78\\x37\\xcf\\xb7\\x35\\x77\\x81\\x6e\\x57\\x4d\\x65\\x52\\xb4\\x10\\xd5\\xe3\\xf1\\xc8\\xb7\\x8f\\xc3\\x26\\xa1\\x82\\x4a\\x81\\xf2\\xde\\x80\\x8b\\x60\\x26\\x05\\x22\\xfa\\x93\\xa5\\x75\\xac\\xce\\x10\\xa5\\x0e\\x7e\\x03\\xea\\x78\\x24\\x33\\x87\\x5d\\xb4\\xd2\\xc8\\xf2\\x90\\xde\\x9e\\xaf\\xc1\\xfa\\x19\\xd3\\xfd\\x0f\\xfe\\x54\\x26\\x67\\x9e\\xa6\\xc8\\xbe\\xe8\\x7d\\xf8\\x03\\x68\\x26\\x5c\\x85\\xad\\x82\\xab\\xaa\\xe8\\x43\\x8c\\xb4\\x06\\x54\\x50\\xca\\x0f\\x04\\x7d\\x7c\\x38\\x2b\\x3f\\x4f\\x2d\\x7f\\x81\\x52\\x1e\\x27\\x6c\\x15\\x78\\x51\\xa2\\x4e\\x40\\x45\\xe5\\xc3\\xf2\\x58\\x3e\\xc5\\xca\\x2f\\x50\\xcb\\xff\\xaa\\x96\\x0f\\x42\\xf9\\x55\\xc1\\x52\\x07\\x29\\x2e\\x0f\\x72\\xef\\xdc\\x02\\xb9\\xb7\\xe1\\x51\\xa5\\xb4\\x0d\\x4a\\x87\\x6c\\x4e\\x45\\xee\\xa5\\xa5\\xa1\\x6c\\x08\\x60\\x39\\xc2\\xca\\xae\\x62\\x6d\\x0f\\x42\\x8f\\x40\\x23\\x1e\\xc9\\x04\\x62\\x32\\xfc\\x6f\\xad\\x28\\xe5\\x9d\\xaa\\x98\\xcc\\x44\\x65\\x2a\\x97\\xb2\\xf1\\x92\\xbf\\x20\\x1f\\x48\\xc5\\x13\\xa5\\x9a\\x20\\x71\\xeb\\xa2\\x51\\x8b\\xc1\\x68\\x74\\xda\\xed\\x16\\x42\\x2a\\xe2\\xee\\xa8\\x45\\xc7\\x1b\\x9c\\x4e\\xdb\\xf8\\x8c\\xd3\\x65\\x10\\x35\\xfe\\x09\\x19\\x8d\\x15\\x95\\x76\\x14\\xa5\\xda\\x52\\x23\\x8e\\x17\\x47\\x7e\\xcd\\x5a\\x48\\x94\\xdc\\x0a\\xa9\\xfa\\x88\\x4b\\x43\\x42\\x38\\x8c\\x5d\\x11\\x96\\x4b\\xd8\\x91\\x3b\\xa0\\xeb\\x87\\xf1\\xee\\x9d\\x8f\\x7d\\xfa\\xe4\\x2b\\x53\\x35\\xfd\\x70\\xa0\\x65\\x4a\\x20\\x11\\xa9\\x95\\x9f\\x0e\\x7b\\x34\\xa3\\xae\\xe2\\xdb\\xc7\\x0d\\x1f\\x3a\\xe2\\xdc\\x1a\\xfb\\x3c\\xe7\\xd1\\x0f\\xbf\\xc7\\x96\\xf7\\x9f\\xa9\\x5c\\x29\\xbf\\x79\\xdd\\x9d\\xa3\\xc5\\x31\\x1d\\x97\\xac\\x5f\\x4a\\x4e\\x7f\\xfc\\xf9\\x9b\\x1e\\xdc\\x73\\xdf\\x43\\x4f\\xd1\\xb1\\xac\\x94\\xc7\\x92\\x6f\\x85\\xdb\\x60\\x8b\\x57\\xa0\\x19\\x52\\x5d\\x00\\x68\\x99\\x31\\xea\\xd0\\x95\\x5a\\x2c\\xba\\x28\\xe6\\xe3\\x95\\xa5\\x95\\x58\\xac\\xc4\\x76\\x62\\x2c\\x8f\\x96\\x47\\xdb\\x32\\xe5\\xe5\\x82\\xd5\\x1a\\x6c\\xcb\\x58\\xdd\\x82\\xbb\\x2d\\x23\\x60\\xea\\x8b\\x5f\\x28\\xb8\\xb2\\x5f\\x8c\\x26\\x64\\xb7\\xbc\\x3d\\x17\\xb0\\x2b\\xe7\\x7d\\xa1\\x75\\xf1\\x36\\x6b\\xa4\\x2c\\xce\\x42\\x4d\\xd2\\x2c\\x25\\xd9\\x44\\x19\\xe9\\x61\\x18\\x6f\\x93\\x8f\\xbc\\xf1\\xe9\\xc3\\x87\\x2f\\x5f\\x86\\x6b\\xe4\\xbe\\x93\\x92\\x98\\x1b\\x32\\xac\\x7e\\x40\\x20\\x31\\x7c\\xc1\\x8c\\xf3\\xce\\x9a\\x7b\\xb2\\x3c\\x56\\xb8\\xe8\\xeb\\x4f\\x1e\\xb9\\x65\\xc3\\x5e\\xaf\\xa1\\x51\\x7e\\x45\\x5e\\x6e\\xe3\\x87\\x9c\\x7b\\xc9\\x90\\xf5\\xab\\x8e\\x4d\\xb3\\x5f\\x71\\xd3\\xf6\\x3f\\x08\\xb3\\xb9\\x35\\xcc\\xd6\\xf7\\x23\\x8c\\xeb\\x36\\x96\\xc7\\x2e\\x2d\\xf9\\xb9\\x00\\xef\\x74\\xba\\x75\\x16\\x8b\\x3b\\x40\\x82\\x3e\\x1b\\x5f\\xe2\\x0a\\xe0\\xc0\\xf8\\x8c\\x11\\x8b\\x6a\\x64\\x4c\\xba\\x77\\xb3\\xe2\\x84\\x62\\x69\\x21\\xe9\\x88\\xdd\\x91\\x72\\x00\\x58\\xf1\\x74\\x0a\\x80\\xd6\\x12\\xb7\\xdd\\xa5\\x8d\\xf7\\x1f\\x50\\xcf\\xc5\\x8d\\x78\\xcc\\xe5\\x19\\xed\\xc5\\x83\\xc7\\xff\\xd3\\x31\\xa5\\xdb\\xe4\\xfa\\xb1\\x9f\\xc3\\xf1\\xc6\\x7c\\xb2\\xb0\\x49\\xbe\\x54\\xbe\\x17\\x9f\\xb4\\xf9\\xe4\\xf1\\xb6\\xe1\\xb6\\x61\\x73\\xf6\\x76\\x7d\\x25\\xc9\\xcf\\x77\\x9a\\x83\\x93\\x7f\\x3a\\x99\\x3b\\xfb\\x35\\x86\\x37\\x7f\\x23\\xef\\x0b\\xd7\\xb2\\x1c\\x07\\x92\\x14\\x29\\x75\\x6a\\xfb\\x78\\x2a\\xfc\\x15\\x16\\x0b\\xf2\\x3b\\xf9\\xea\\x9a\\x3e\\x5a\\x5b\\x30\\xc8\\x8f\\xcf\\xa0\\x20\\xb2\\x45\\xc7\\x67\\x6c\\x6e\\x74\\xbc\\x40\\xb9\\xd4\\x23\\x2c\\x9f\\x03\\x56\\xc3\\x62\\x13\\x64\\x33\\xd0\\x50\\x57\\xf9\\x6c\\x30\\x08\\x9c\\x4b\\x3f\\x62\\xc1\\x64\\x79\\x53\\xb4\\x61\\x42\\xe3\\x88\\x91\\x6d\\x33\\x2f\\x9c\\xf7\\xcb\\x5b\\xaf\\x7f\\x7f\\xfb\\x2d\\xa3\\x26\\x3d\\x73\\xf7\\x92\\x3f\\x74\\xfd\\x38\\x73\\x5c\\xdb\\xf4\\xd9\\x2b\\x1b\\x46\\xf1\\x5b\\xd7\\x54\\xb7\\x0c\\x6c\\x58\\x36\\xa2\\x63\\xe5\\x5b\\x97\\xbc\\xf1\\xc3\\xe7\\x2f\\x5c\\xf1\\xe1\\xa8\\xa6\\x3b\\xc7\\x5f\\x70\\x6d\\xf8\\x98\\x75\\xd7\\x6d\\x3b\\x37\\xaf\\x7c\\x76\\x72\\x1d\\xcd\\x29\\xc7\\xf6\\x2e\\xe0\\x7e\\x3f\\xb4\\x48\\x6a\\xf4\\x1a\\x2b\\x05\\xc1\\xa8\\x2b\\xb5\\x21\\x4d\\x6d\\x42\\x17\\x88\\x05\\x62\\x6d\\x99\\xc3\\x01\\x2c\\x06\\xc2\\x01\\xce\\x44\\x02\\x01\\xce\\x62\\x71\\xb5\\x65\\x3e\\xb0\\x61\\xbf\\xed\\x1e\\x1b\\x47\\x44\\x1b\\x10\\x1e\\x9b\\xc5\\xda\\xaf\\x8a\\xab\\x6a\\xcf\\x70\\xee\\x1c\\x57\\x61\\x29\\x62\\x66\\x16\\xe8\\x3e\\x3d\\x13\\x9c\\xc5\\x72\\xe9\\x53\\x7a\\x1d\\xa7\\x78\\xea\\x99\\x55\\xbb\\x2c\\x4e\\x07\\xaa\\xde\\x05\\x21\\xc3\\x37\\xbf\\xf6\\xca\\x07\\x73\\x4e\\xde\\xf6\\xf7\\x03\\xdb\\x2f\\x1e\\xde\\xff\\xa4\\x69\\x63\\xa6\\xf6\\x8d\\x2e\\x6a\\x35\\xa5\\x52\\x96\\xd1\\x53\\xcb\\x92\\x75\\x2b\\x66\\x5f\\x78\\xda\\xa0\\xe6\\x69\\xd7\\x5c\\xda\\xbe\\xd6\\xaf\\x95\\x36\\x9f\\xb9\\xa9\\xfc\\x9d\\x33\\xcb\\x3b\\x4e\\x1a\\x34\\xd5\\x61\\x33\\xef\\xb0\\x58\\x39\\xd7\\xd4\\xc1\\x13\\xe6\\x46\\x58\\x6e\\xf6\\xf1\\xf2\\x6a\\x72\\x9a\\xb0\\x03\\x45\\x68\\xee\\xcf\\x12\\xb3\\xdd\\xeb\\x25\\x4e\\x50\\xde\\xa2\\xc0\\xef\\xa3\\x0e\\xaf\\xc7\\x29\\xb9\\xb4\\xc8\\x5c\\xc2\\x13\\x0f\\x26\\x7c\\x5b\\x86\\xb0\\x88\\x3d\\x8d\\x80\\xfa\\x7f\\xf5\\xbf\\x6c\\x53\\x43\\x95\\x64\\x77\\x02\\x3b\\x7a\\x57\\x3c\\x3c\\x95\\x98\\x1d\\xc3\\xb0\\xbd\\x3e\\x2d\\xa4\\xcb\\xeb\\x5d\\x06\\xac\\x06\\xed\\x20\\xa7\\xed\\x7a\\xfc\\xa4\\xf6\\x59\\xa7\\xfc\\x75\\x77\\xd3\\xb9\\x6f\\x3d\\xdf\\xf5\\x33\\xfe\\xe2\\xa1\\x0f\\x6f\\x99\\x32\\x7f\\xf5\\xb6\\x0d\\x95\\xe7\\xdd\\x35\\x68\\x81\\xaf\\x69\\x40\\x2a\\x6d\\xef\\x73\\xdf\\x9e\\xcc\\xd3\\x07\\x31\\x79\\x81\\xef\\xbc\\xd9\\xef\\x3b\\x59\\xfe\\x44\\xfe\\xf9\\xa7\\xd5\\xd3\\x4e\\x2b\\x29\\x3f\\x57\\xb1\\xcd\\x32\\x7a\\x09\\x6b\\x54\\x82\\xea\\xa5\\x12\\xb7\\xd5\\x6a\\xa3\\x82\\x6a\\x30\\xe4\\xf6\\xf9\\x4c\\x1d\\x19\\x9f\\xd5\\x69\\x07\\xb2\\x24\\xda\\x5c\\x02\\xdd\\xbb\\x8d\\xbd\\x2c\\xb4\\x6c\\xbe\\x9d\\x76\\x90\\xf3\\x01\\x46\\x9b\\xe2\\x89\\xac\\xa4\\x65\\x54\\xfc\\x04\\x5c\\xbc\\xe8\\x12\\xe5\\x37\\x4c\\xc6\\x96\\xe6\\xf2\\x39\\x95\\xf2\\x91\\xe5\\xf8\\x77\\x96\\x95\\x3b\\x46\\xad\\xbf\\xb4\\xf9\\x52\\xf9\\xab\\x7e\\x35\\x27\\xbd\\xf9\\x0e\\xd7\\x36\\x65\\x46\\xc8\\x7b\\xec\\x28\\xe9\\xf0\\x36\\x75\\x0c\\xab\\xb9\\xec\\x52\\x90\\x99\\x27\\x03\\xde\\xbc\\x2d\\x5c\\x07\\x32\\xb3\\x08\\x44\\x70\\xa2\\xd4\\xcf\\x61\\x36\\xf3\\x4e\\x93\\x09\\xf1\\xc8\\xe3\\x15\\xbd\\x40\\x61\\x1c\\xe6\\x09\\x19\\xb3\\x63\\xa8\\x63\\x1c\\x4d\\xbc\\xe9\\x70\\x70\\x1a\\x8d\\xb5\\x2d\\xa3\\xc1\\x9c\\xbe\\x4d\\x41\\x95\\x22\\xed\\xb8\\xaa\\x38\\x4f\\x3f\\xdb\\x10\\xa0\\x10\\x03\\x59\\xa9\\xb3\\xe3\\x3a\\xbb\\x23\\xe2\\x07\\x5a\\xc9\\x91\\x88\\x01\\x93\\xb7\\xe5\\x06\\x79\\x24\\x7e\\xe6\\xc8\\x47\\xf2\\xe0\\xf1\\xed\\x82\\xfc\\x24\\x37\\xb6\\x6d\\xfc\\x38\\x0e\\x0f\\xe7\\xdb\\xb9\\x03\\x5d\\x95\\xdc\\x3b\\xdc\\x21\\xf9\\xca\\x63\\x15\\x58\\x87\\xeb\\x60\\x22\\x3f\\xe1\\x3f\\x91\\xbf\\x93\\xdf\\xc5\\x35\\x58\\xaf\\xcc\\x65\\x0d\\xf0\\x92\\x95\\x40\\x47\\xac\\xf4\\xe6\\xbc\\x8e\\x85\\x66\\x62\\x89\\x13\\xcd\\x46\\x64\\x54\\x53\\x27\\xe6\\x73\\x55\\x17\\xe7\\x4c\\xcc\\x9e\\x7d\\xdc\\x74\\xfe\\xda\\x95\\x78\\x5b\\xa2\\x6f\\x9f\\xda\\xd2\\x8d\\xce\\xb3\\xd7\\x73\\xcb\\xbc\\x4d\\x5d\\x03\\x46\\x0c\\x30\\x77\\x78\\x4a\\x51\\xce\\xb6\\x72\\x1a\\xf4\\x61\\x43\\xb3\\xa5\\xfe\\x44\\xc7\\xe9\\xf5\\x06\\xad\\x60\\xe3\\x38\\x2c\\x10\\x87\\xd5\\x00\\x7c\\xc5\\xee\\xe0\\x4c\\xa2\\x69\\x7c\\x86\\xb3\\xda\\xad\\x9c\\x95\\xd7\\xeb\\xac\\x84\\xd7\\xda\\x44\\xd1\\xa8\\xd5\\x02\\x30\\xda\\x7c\\xfa\\x3d\\xc0\\x34\\x26\\x75\\x23\\xf5\\xa4\\xb7\\x20\\xd6\\x8a\\x6a\\x41\\x70\\x89\\x98\\xea\\xd6\\x44\\x5d\\x52\\x1b\\xe6\\xcb\\x97\\x7c\\x8e\\x4b\\xcf\\x94\\xaf\\x7c\\x67\\x89\\x7c\\x64\\x21\\xbe\\x0c\\xdf\\x47\\x76\\x37\\x59\\xbf\\xeb\\xfa\\xc1\\x37\\x02\\xdf\\x3b\\x43\\xbe\\x9f\\x2e\\xa2\\xec\\xc6\\x5f\\xd2\\x04\\x48\\xa0\\xfc\\xfc\\x00\\xbc\\xa2\\x04\\x68\\x6a\\xc0\\xe7\\xe5\\xbc\\x9c\\x1e\\x93\\x20\\xf5\\x2c\\xf3\\x61\\x22\\x7a\\x3d\\x25\\x2e\\x51\\xa0\\x19\\x52\\xb3\\x89\\x31\\x69\\xdf\\x98\\xa1\\xbf\\x12\\x88\\x28\\x95\\x66\\x01\\xef\\x59\\xb8\\x46\\x42\\xe5\\x73\\x0f\\xa6\\x21\\x56\\x08\\x10\\x28\\x2f\\x7e\\x39\\xd0\\xb1\\x22\\x1a\\xac\\x1a\\xe2\\x8e\\xc5\\xfa\\x94\\x4c\\x5a\\x3a\\x65\\x10\\x1e\\xe0\\x99\\xf0\\xc2\\x7b\\x36\\xe9\\x99\\x3a\\x72\\xe7\\xa4\\x9f\\x3c\\xb3\\xdf\\x17\\xf4\\x3a\\x7e\\xf8\\x55\\xbb\\x8e\\x9d\\xdb\\xec\\x1a\\xce\\x5d\\xd9\\x6f\\xa7\\x3c\\x1c\\x60\\xf2\\x03\\xae\\x2f\\x63\\x39\\xe8\\xda\\xa5\\xbe\\xc0\\x9b\\x8c\\x54\\x95\\x44\\x2e\\x97\\xdf\\xe8\\x0f\\x85\\x83\\xfe\\xf1\\x99\\xa0\\xcb\\xcd\\xf2\\xd6\\x78\\x2d\\xa2\\x36\\x40\\x1c\\x1d\\x19\\xa3\\x80\\x68\\x2c\\x72\\xa0\\xf8\\x8c\\x0b\\xa7\\x7a\\xe6\\x1a\\xcf\\x63\\x54\\x8c\\x1e\\x99\\xc6\\x9d\\xa0\\x4d\\xda\\x0b\\x96\\x54\\x89\\x4d\\xee\\x8a\\x70\\x3f\\x37\\x2e\\x18\\x38\\x6d\\x80\\x59\\xfe\\xcc\\x3b\\x0b\\xaf\\x1d\\xdb\\xd6\\xd9\\x49\\x33\\x93\\xca\\x37\\xcc\\x68\\x4c\\xf6\\x5f\\x2a\\x5f\\x5f\\x83\\xf9\\x2f\\xb9\\x2f\\x7d\\x4d\\x5d\\x2b\\xa7\\x4f\\x6c\\xe3\\xae\\xf0\\x35\\x1d\\xbb\\xcf\\xa7\\xc4\\x1d\\xed\\xee\\x82\\xbd\\x70\\x0e\\x5b\\xef\\x41\\x52\\x89\\x0d\\x09\\x3c\\xc6\\x1c\\x30\\x27\\x41\\x70\\x70\\x76\\x23\\x4f\\x08\\x1e\\x9f\\x01\\x5a\\x29\\xb0\\x03\\x94\\x3a\\x35\\x99\\x34\\xcd\\x6a\\x63\\x6b\\xc8\\xb2\\x53\\x8a\\x67\\x34\\x39\\x44\\x00\\xe7\\x19\\x14\\xc6\\xeb\\xe4\\x3f\\x0d\\xc4\\xc3\\x3f\\x9f\\x33\\xb4\\xed\\x9f\\x8e\\x94\\xfc\\xb6\\x93\\xcc\\x05\\x4c\\x3b\\x0d\\x1b\\x6e\\x9d\\x35\\xce\\x5f\\x13\\x19\\x90\\x39\\xab\\xeb\\x74\\x86\\x6f\\x63\\x80\\xa6\\x6d\\x01\\x9a\\x36\\x00\\x9d\\x2a\\x0d\\xf4\\x55\\x1b\\x52\\x48\\x53\\x11\\x0e\\x6b\\x6c\\x65\\x89\\x14\\xae\\xd6\\xd5\\x0f\\xac\\x35\\xbb\\xcd\\xc0\\xdd\\xcd\\xe6\\x32\\xae\\x0c\\x78\\xfe\\x48\\x1f\\x4e\\x19\\x7c\\xd5\\xe1\\x0a\\x8d\\xa6\\x8c\\x5e\\xa5\\xc4\\x00\\xae\\x06\\x16\\xf9\\xaf\\x2f\\xcf\\x04\\x12\\x97\\x80\\xe5\\x9d\\x59\\xc8\\xfd\\x7b\\x1a\\x44\\x84\\x34\\x75\\xa6\\x61\\x77\\x06\\x72\\xc4\\x5a\\xa5\\xd5\\x4a\\x72\\x87\\x42\\x92\\x98\\x4d\\x90\\x55\\xcf\\xb5\\xcb\\x55\\xb3\\xb6\\xe3\\x75\\xed\\xb7\\x3d\\x33\\x22\\x51\\xbb\\xc4\\x5d\\xd9\\x27\\xb4\\xbe\\xff\\xb2\\xb9\\xe7\\x6c\\xbe\\x79\\xf3\\x73\\x3b\\x27\\x8d\\xe8\\xdc\\xf4\\xe6\\x43\\x0f\\xed\\x59\\xb6\\xfc\\xe9\\xc7\\x84\\xba\\x41\\xdb\\x0c\\xda\\x25\\xd1\\xbb\\x57\\x8c\\x3c\\xcb\\xa6\\x77\\xed\\x70\\xe8\\x93\\x5b\\x4e\\x99\\x91\\x09\\x84\\x57\\x2f\\x5e\\xb3\\xaf\\x7c\\x7e\\x68\\x58\\xb2\\x6e\\x80\\x37\\xf6\\xf0\\xad\\x1b\\x9e\\x1d\\xac\\x8d\\xad\\x9f\\xb2\\xe4\\xe6\\xbe\\x4c\\x46\\x1c\\x0f\\x6b\\xf0\\x00\\xf9\\x0b\\xe8\\x6f\\x1d\\x6c\\x4e\\xfc\\x20\\xd3\\x8d\\x63\\x79\\x1a\\x9b\\xa5\\x98\\xc3\\x6c\\x10\\x75\\x81\\x80\\xe8\\x26\\xc1\\x90\\xe8\\xc2\\x46\\xde\\xe5\\xd0\\xfb\\xbd\\xfe\\xb6\\x8c\\x57\\x34\\xbb\\x88\\x46\\x83\\xda\\x33\\x9a\\xdc\\xce\\x57\\x16\\xa8\\xd8\\x92\\x45\\x91\\x47\\x71\\xf1\\x28\\x4d\\xdb\\xa2\\x44\\xa3\\xa5\\x17\\xd8\\xeb\\x1d\\xa0\\x72\\xd0\\x58\\x11\\x36\\x27\\xf9\\x47\\xd5\\x80\\xd2\\x33\\x06\\xcb\\xff\\x7a\\x27\\x64\\x0a\\x7f\\x78\\x52\\xad\\x21\\x32\\xe7\\xa4\\x76\\x17\\x1f\\x7a\\x78\\x81\\xb9\\xd3\\xee\\xfb\\x9a\\x5b\\x24\\x0f\\x7e\\x6e\\x7f\\xcd\\xc8\\x4d\\x97\\xe3\\x27\\xef\\xc2\\xd6\\xf9\\x5d\\x77\\x5e\\x40\\x65\\xb5\\xd5\\x20\\xd3\\xfc\\x40\\xfe\\x0c\\x14\\x94\\x9e\\xb6\\x87\\xfd\\x16\\x8b\\xe8\\xd0\\x8a\\xda\\x92\\x20\\x0a\\x4a\\x41\\xce\\x4a\\x2c\\x01\\xa3\\xb5\\x3d\\x63\\x74\\x13\\x77\\x7b\\x86\\xe6\\xd2\\xcf\\x4a\\x9a\\xc5\\xb4\\x52\\x8d\\x8f\\xa7\\x68\\xc7\\x80\\xdf\\xb6\\x08\\xce\\xba\\x7a\\x81\\x24\\xb6\\xfa\\xfd\\x83\\x17\\xff\\xf5\\xac\\xce\\x5d\\x8b\\x57\\x2e\\x93\\x8f\\xe0\\xbb\\x4e\\x9e\\x92\\x99\\x28\\xb5\\x0e\\xe2\\xfa\\x1e\\x78\\x73\\xfd\\x37\\xb7\\x5e\\x76\\x70\\x69\\x5f\\x79\\x00\\xe7\\xbb\\xf5\\xce\\xc7\\xdf\\x5c\\xbb\\x5a\\xae\\x77\\x2b\\xf4\\x6b\\x2c\\xe0\\xd3\\x59\\xc0\\x6f\\xa2\\x20\\xd5\\x94\\x1a\\x63\\xb0\\xfb\\xca\\x63\\xa1\\x60\\x90\\x1d\\x3a\\xe8\\x44\\x62\\xf4\\xf9\\x22\\x6d\\x99\\xa0\\xcf\\x6a\\x34\\xb5\\x65\\x8c\\x28\\x91\\x13\\x6a\\x3c\\xf9\\x50\\x5e\\xca\\x11\\x17\\x75\\x14\\x01\\xaa\\xc0\\xae\\x96\\x14\\x62\\x85\\xbd\\x20\\x69\\x90\\x06\\xcf\\xad\\x68\\xcb\\x5c\\xb6\\x66\\xf0\\xdd\\x4f\\x4d\\x6a\\x9a\\xb9\\xea\\x85\\x87\\x2f\\xfc\\xf2\\xa2\\x86\\xd9\\x8b\\x5b\\xfa\\x0e\\xea\\x98\\xbf\\x1a\\x7f\\x30\\x66\\xf6\\x60\\x6f\\xf9\\x49\\xb3\\x5b\\xcf\\xb8\\x6b\\xf0\\x82\\x70\\x53\\x55\\xb2\\xc1\\xd7\\xe7\\xc9\\xfb\\x77\\x60\\xed\\xb5\\x46\\xaf\\x2c\\x6f\\xad\\x79\\x95\\xce\\x23\\xac\\x3d\\x3f\\x9e\\xef\\x8b\\x0c\\x40\\x35\\xfa\\x4b\\x01\\xc1\\x8d\\x80\\x94\\xfa\\xdc\\x7c\\x28\\xcc\\x19\\x7d\\xc6\\x09\\x99\\x40\\xc0\\x27\\x3a\\x74\\x6d\\x19\\x47\\x56\\x02\\x4b\\xf4\\x4c\\xfa\\xd7\\x3f\\x2b\\x6b\\x0c\\x70\\xb8\\xb2\\x13\\xc9\\xa5\\xfb\\x97\\xa7\\x22\\xf5\\x29\\x2d\\xf7\\xc2\\xa9\\x67\\xae\\x3f\\xb9\\x6d\\xf2\\xb4\\xd9\\xd3\\x67\\xaf\\x7a\\xe7\\xd2\\x17\\xff\\x85\\x03\\xbf\\xe2\\x69\\x52\\xbb\\x15\\x3f\\xf2\\xe1\\x75\\x8e\\x57\\xee\\xba\\xe9\\x91\\x27\\xb8\\xa4\\x66\\xfc\\xc1\\x85\\x17\\xbf\\x76\\x06\\xd6\\x7c\\x70\\x44\\xfe\\xdd\\x57\\xca\\x3c\\x56\\x02\\x4e\\x5e\\xc7\\x72\\xad\\xd6\\x49\\x7e\\xad\\x43\\x30\\x3b\\x38\\x1e\\xa8\\x97\\xc1\\x6a\\x68\\x07\\x81\\x5b\\x43\\x2d\\x4f\\x19\\x90\\xa2\\x50\\x9e\\x66\\xe5\\xa0\\xa2\\x2e\\x14\\x14\\xb7\\xf2\\x6c\\x87\\xa5\\xd5\\x78\\x0c\\xb0\\x8a\\x4c\\x97\\x5f\\x6f\\xa8\\x66\\xf8\\xb6\\xe9\\x2a\\x32\\x42\\xc1\\xa7\\xe1\\xc3\\x29\\xa2\\xd1\\x74\\x18\\xd0\\x2f\\xd3\\x81\\xc8\\x01\\xa0\\x37\\xfd\\xa5\\x12\\xb3\\x53\\xcb\\x71\\x56\\x27\\xf1\\x7a\\x6c\\x56\\x10\\x42\\xad\\x1a\\xc2\\xf2\\x04\\xeb\\xdb\\x7a\\xe5\\x09\\xce\\x49\\x35\\xa5\\x3e\\x9c\\x4d\\x12\\xcc\\x96\\x2c\\x4d\\xa7\\x04\\xd8\\x97\\x7c\\x5e\\x27\\x5e\\xb7\\x61\\xd0\\x49\\xc1\\x9a\\xe1\\x07\\x5e\\x39\\xe6\\xc4\\xb3\\x38\\x1d\\x10\\xa4\\x39\\x4f\\x35\\x6f\\xb9\\xf3\\xfd\\xeb\\x2a\\x67\\x78\\x7f\\x79\\xfb\\x0b\\xf9\\x17\\x58\\x8f\\x56\\xa0\\xe1\\xfb\\xc8\\xb3\\xd4\\x17\\x0c\\x4f\\x91\\x7e\\x31\\x09\\x11\\x04\\x2a\\xb2\\xdf\\x8d\\x75\\x6e\\x81\\x2f\\x8f\\x2d\\x88\\xe1\\x29\\x31\\xdc\\x10\\xc3\\x65\\x31\\xcc\\xc7\\x9c\\x31\\xee\\xa7\\x18\\x3e\\x14\\xfb\\x34\\xc6\\xdd\\x11\\xdb\\x17\\x7b\\x36\\x46\\x36\\xc6\\xf0\\xd9\\x31\\x3c\\x29\\x86\\x9b\\xa9\\x75\\x05\\x6b\\x62\\xee\\x18\\xb7\\x60\\x7b\\xec\\x85\\xd8\\x2f\\x31\\x72\\x41\\x0c\\xaf\\x8c\\xe1\\xb9\\x31\\xdc\\x11\\xc3\\xb8\\x34\\x26\\xc5\\x38\\xd6\\xc2\\xed\\xb1\\xbd\\x31\\xda\\x04\\xbf\\x8e\\xfd\\x7d\\x11\\xab\\x3e\\x98\\x55\\x3f\\x1a\\xc3\\xca\\xdf\\xc8\\x0d\\x31\\xbc\\x91\\x19\\x4f\\x46\\xc4\\xa0\\xaa\\xd2\\x75\\x03\\x33\\xe3\\x5c\\x1d\\xc3\\x6b\\x62\\x78\\x4e\\x0c\\x07\\x62\\x55\\xb1\\x31\\xd4\\x68\\x83\\xb9\\x6f\\xa8\\x79\\x65\\x76\\x6c\\x1d\\xb3\\xd0\\xf0\\x6d\\x31\\x6c\\x8d\\xd5\\xc6\\x38\\xf8\\xcb\\x47\\x31\\xbc\\x85\\x1a\\x78\\x66\\x53\\x63\\x4b\\x1b\\x35\\xb6\\x88\\x11\\xba\\x21\\x38\\x9f\\x5b\\xa7\\x1f\\x9f\\xd1\\xe9\\x1c\\x0e\\x50\\xa8\\x1c\\x56\\x45\\x95\\x62\\x27\\xbf\\xb9\\x54\\x21\\xaa\\x75\\x85\\xd9\\xca\\x3a\\x8b\\x8c\\x65\\xf9\\x70\\x87\\x6a\\xbc\\xc3\\x59\\xc5\\x71\\x10\\x7b\\x58\\x5c\\x70\\xd4\\x56\\x41\\x93\\x50\\x67\\xe9\\x70\\x56\\x17\\x43\\x5a\\x87\\xba\\xf3\\x87\\x61\\xee\\xb1\\xf3\\x7e\\x92\\xbb\\x0f\\xff\\xbd\\xa3\\xf5\\xf4\\x25\\x9b\\xd6\\xdd\\xf5\\x9c\\x7c\\xec\\xa7\\xb7\\x52\\xc3\\x06\\xf4\\x5b\\xb4\\x50\\x1e\\x8b\\x6f\\xb7\\xfd\\xf0\\xd9\\x07\\xdf\\x04\\x67\\x94\\xee\\x7b\\xe8\\x91\\xa7\\x2d\\xdc\\xc8\\x2b\\x77\\x1c\\x7b\\xf3\\x33\\xf9\\x7b\\x27\\xfe\\xe9\\xc0\\xc3\\x0b\\xe7\\x74\\x3d\\x65\\x7a\\x46\\xe1\\x6d\\xbf\\x00\\x8d\\x3a\\x00\\x38\\x1c\\x46\\x19\\xa9\\x5f\\xc0\\xe9\\xf4\\x38\\x4a\\xac\\x21\\x13\\x3d\\x1c\\xb2\\x5a\\x3d\\x9e\\x48\\x08\\x19\\x79\\x16\\xfd\\xa5\\x34\\xe0\\x2c\\x71\\x10\\x13\\x6f\\xd4\\xe9\\x42\\xc8\\x1b\\xb0\\x5a\\x74\\x62\\x36\\xdc\\x9d\\x4a\\x16\\x8a\\xfe\\x53\\x73\\xdb\\x2a\\x83\\x21\\x03\\xec\\xf5\\xa4\\x22\\x81\\x81\\xef\\x79\\x1c\\x76\\xaa\\x23\\x83\\x50\\x03\\x74\\xc3\\x15\\xad\\x88\\x13\\x0d\\x89\\x68\\xa7\\xec\\x9f\\xff\\x4e\\x50\\x8a\\xbe\\x18\\xac\\xfa\\xfd\\xa5\\x43\\x70\\xd5\\x85\\xab\\xc6\\xa3\\x6e\\x7b\\x45\\xed\\xbd\\xe5\\x15\\x8f\\x4c\\xda\\x26\\xbf\\x2a\\xaf\\xbf\\x1d\\x2f\\x79\\x0d\\x3f\\x3a\\xd8\\xac\\x19\\xee\\x9b\\x2d\\x3f\\x8a\\xe3\\xd7\\x0e\\x3e\\xfa\\xfd\\x8e\\xae\\x1f\\x63\\xa5\\xfa\\xe1\\xc1\\x0c\\xbe\\x69\\x97\\xcc\\xe2\\xa6\\x86\\x40\\xdb\\x5c\\xcc\\xbf\\x86\\x02\\x38\\x2c\\xbd\\xae\\x23\\x16\\xbf\\xdf\\x18\\xb0\\xb9\\x41\\x87\\x24\\x25\\xc1\\x31\\x41\\xdc\\x3f\\x88\\x03\\x41\\xcc\\x07\\xf1\\x57\\x41\\x7c\\x28\\x88\\x1f\\x0d\\xe2\\xdb\\xe9\\x37\\x83\\xe1\\x6f\\x8b\\x82\\x6b\\x82\\x37\\x04\\x35\\xf0\\xb7\\x45\\x87\\x83\\x47\\x83\\xdc\\xab\\x41\\xbc\\x2b\\xf8\\x68\\x90\\xbb\\x39\\x88\\xab\\xe0\\xcf\\xd3\\xe1\\xcf\\x97\\x05\\x85\\x70\\x10\\x1b\\x83\\xf8\\xa3\\x20\\x5e\\x19\\xdc\\x18\\xbc\\x3d\\xb8\\x37\\x78\\x28\\x28\\xcc\\xa6\\x2d\\xf6\\x0f\\x72\\xf4\\x95\\x5b\\x04\\x8d\\x70\\xec\\x75\\x10\\xf4\\x71\\x24\\x88\\x0f\\xd0\\x1a\\x01\\xa8\\x7f\\x19\\xb4\\x26\\x28\\xdf\\x41\\xbf\\xf7\\x07\\x31\\xb7\\x25\\x88\\x51\\xb0\\x16\\x18\\x01\\x81\\xb7\\x2b\\x82\\x38\\x1c\\x6c\\x0b\\xae\\x0d\\x12\\x14\\xc4\\x3a\\xe2\\x0f\\xb8\\x78\\x2a\\xb6\\xda\\x4d\\x1a\\xd1\\x02\\x82\\x6b\\x5b\\xc6\\xa7\\x78\\x67\\x30\\x32\\xf2\\xac\\x4a\\x4e\\x72\\xc8\\xd6\\x99\\x35\\xe5\\xcd\\xea\\x65\\xd6\\xcb\\x9b\\x65\\x8b\\xd0\\x4b\\xa8\\xc6\\x79\\x6b\\x5e\\xaa\\xc0\\x92\\xa7\\xb5\\x45\\xb9\\x8b\\xe4\\x5f\\xe4\\x2e\\x10\\x91\\xce\\x3e\\xf3\\xbc\\x55\\x8b\\xf1\\xa6\\x79\\xf2\\x2f\\xc7\\xce\\x73\\x18\\x9e\\x39\\x88\\x5f\\x06\\x6a\\x70\\xf3\\xb2\\xb5\\x7a\\xfe\\xbc\\xa3\\x17\\x9a\\x36\\xce\\xe5\\x4e\\x69\\xf2\\xca\\xa9\\x87\\x5f\\xb3\\xc8\\xb3\\x14\\x7a\\x38\\xb1\\xfb\\x1f\\xc2\\x26\\xa0\\x4b\\x09\\x7c\\xba\\xd4\\x1d\\xf6\\x59\\x6b\\x0c\\xda\\x9a\\x32\\x52\\x01\\xff\\x25\\x6b\\x2b\\x92\\xcd\\x49\\x8e\\x4b\\xe2\\x1f\\x92\\xf8\\xb3\\x24\\x7e\\x23\\x89\\x0f\\x24\\xf1\\x6d\\xc9\\x07\\x92\\xdc\\x35\\x49\\xbc\\x31\\x89\\xe7\\x26\\xcf\\x4e\\x72\\x93\\x92\\xb8\\x39\\x89\\xcb\\x93\\xfd\\x93\\x9c\\x26\\x89\\x17\\x29\\x45\\xa1\\xdc\\xbe\\x24\\xbe\\x3b\\x89\\xcf\\x48\\xe2\\x39\\x49\\x3c\\x25\\x89\\x9b\\x92\\x18\\x5b\\x93\\xa5\\xc9\\xda\\x24\\xe1\\x93\\xf8\\xdb\\x24\\x3e\\x94\\xfc\\x34\\xc9\\x3d\\x95\\xc4\\x2b\\x93\\x57\\x27\\x6f\\x4f\\xee\\x4d\\xf2\\x13\\x68\\x2b\\x23\\x92\\x9c\\x31\\x89\\x5f\\xa3\\x5f\\x6f\\x84\\xaf\\x0f\\xb0\\xaf\\xf9\\x24\\x6d\\x7e\\x44\\x92\\x1f\\x74\\x28\\xf9\\x43\\x92\\xdb\\x93\\xc4\\x37\\xb0\\xfe\\x17\\x25\\x71\\xff\\x24\\xae\\x4a\\x62\\xc4\\x40\\x7c\\x8d\\xf5\\x7b\\x45\\x12\\x73\\xb5\\xc9\\x09\\xc9\\xd9\\xc9\\x75\\x49\\x3e\\x91\\x84\\x4e\\xf1\\x2d\\xc9\\x8f\\x92\\x5c\\x67\\x72\\x4b\\x92\\xa3\\xfd\\x4b\\x49\\x22\\x26\\xb1\\x81\\x38\\x9d\\x1a\\x54\\xa6\\xd5\\x68\\xc7\\x67\\xa2\\x1a\\x6b\\x89\\x19\\x99\\xdb\\x33\\x0f\\xf4\\x29\\x58\\xb1\\x5c\\xf6\\xa0\\x44\\x9e\\x40\\x74\\x16\\x2c\\xd4\\x19\\xb3\\x8e\\x43\\x20\\xce\\xe8\\x1d\\x2f\\x55\\xd9\\x56\\xcc\\xcb\\x89\\x5a\\xd6\\x99\\xdd\\x09\\xa9\\x24\\x82\\x1a\\x99\\xe2\\x8a\\x2b\\x90\\x88\\x73\\xa1\\x26\\xd3\\x6e\\xa4\\x5e\\x87\\x89\\x82\\x66\\xf3\\x3f\\xcf\\xbc\\x81\\x35\\x5f\\x9e\\x3e\\xb7\\x7d\\xdc\\xc0\\xc9\\x16\\x63\\xf4\\x50\\x99\\xc9\\x32\\x79\\xe0\\xb8\\xf6\\xb9\\xa7\\x7f\\x81\\xb5\\x87\\xfe\\x3c\\xed\\xc2\\x88\\xa1\\xf4\\x42\\xe7\\xb7\\x6f\\xbf\\x8b\\xdd\\x65\\x33\\x12\\x47\\xee\\xfc\\xc3\\x3d\\xf3\\xa6\\x0f\\xbc\\x35\\x25\\x49\\xa9\\x5b\\x07\\x4e\\x9f\\xb7\\xeb\\xb6\\x3b\\x8e\\xd4\\xce\\x28\\x93\\xbf\\x7c\\xf7\\x9d\\x6f\\xa6\\x4d\\x99\\x3c\\x9d\\xd9\\xee\\xba\\x8f\\x31\\xdb\\xdd\\xb4\\xac\\xed\\x0e\\x2d\\x7c\\x0e\\x31\\x8b\\xa5\\xcd\\xc6\\x2c\\x96\\xef\\xe5\\xcf\\xad\\xf3\\xf6\\x47\\xc5\\x86\\x37\\x2d\\x6b\\xc3\\x43\\x0b\\xd1\\x3e\\x66\\xc3\\x33\\x73\\xd8\\x43\\xab\\x99\\x72\\x46\\xbc\\x7c\\x1d\\x26\\xff\\x51\\xbb\\x1f\\x95\\xff\\x98\\x4d\\xf1\\x56\\xd5\\x66\\xe9\\x85\\x2a\\xa3\\xbc\\x01\\x4d\\xb1\\x0d\\xb2\\xa7\\x9d\\xb0\\x81\\x46\\xb7\\x66\\x56\\x45\\xe8\\x02\\x4f\\xf2\\xf8\\x95\\x1e\\x72\\xe5\\x19\\xee\\xb2\\xf2\\x6b\\x94\\xf2\\xf8\\x3a\\xb5\\x7c\\x2d\\x94\\x6f\\xaf\\x4d\\x91\\x8a\\x7c\\x79\\x6a\\x87\\xeb\\xfe\\xa7\\x6a\\x87\\x8b\\x33\\x09\\xd4\\x5e\\xaa\\xf1\\x99\\x4c\\x1a\\x43\\x89\\x5d\\xa8\\xec\\xa3\\x2f\\x09\\x06\\x4b\\x40\\x84\\x0a\\x8a\\x44\\x04\\xc1\\x1c\\xe4\\x52\\x10\\xcb\\x09\\x46\\xbd\\x2c\\x6f\\x45\\x69\\x47\\x1c\\x85\\xf6\\x36\\xc5\\x3e\\x24\\x38\\x0b\\x4c\\x6d\\x69\\xd5\\xfc\\xb6\\x32\\x6b\\x6f\\xfb\\xf2\\xfd\\x0f\\xdf\\xc1\\x91\\x41\\xe3\\x27\\x9f\\x4c\\x4d\\x6d\\xcc\\xee\\x46\\xde\\x28\\xb0\\xb6\\x3d\\xff\\xfc\\xd3\\x07\\xca\\xb7\\x2c\\xff\\xfd\\x2d\\x8a\\x9d\\xed\\x66\\x66\\x78\\xa3\\xbe\\xd1\\x20\\x4f\\xd1\\xbc\\x49\\xa5\\xa8\\x2f\\x6a\\x93\\xfa\\xf4\\xb5\\xdb\\x43\\x15\\x1e\\x0f\\x36\\x69\\xb1\\xb6\\xba\\x0a\\x39\\xfb\\x38\\x27\\x64\\x42\\x7d\\x44\\x7f\\x74\\x42\\xc6\\x8f\\x0c\\xba\\xf1\\x19\\x9a\\x18\\xa4\\x23\\xc3\\xf7\\x4e\\x08\\x95\\xcf\\x94\\x47\\xb3\\x04\\xd7\\xa9\\x19\\xda\\x59\\x46\\xbc\\x9c\\xfe\\x35\\x00\\x04\\xea\\xac\\x67\\x51\\x10\\xb0\\x13\\xf7\\x57\\xec\\x40\\x83\\x31\\x1f\\x3e\\xfa\\xf5\\x7b\\x9f\\x02\\xa1\\x69\\x1f\\xbd\\xa0\\x73\\xf8\\xea\\x2d\\xd7\\x6c\\xba\\xf7\\xb6\\x29\\xf2\\xc5\\x73\\x92\\xf5\\x23\\x1a\\x5b\\xc9\\x20\\xf9\\x8e\\xef\\x65\\x79\\xf7\\xbd\\x9c\\x19\\xa8\\xce\\xd2\\xf6\\x93\\xaf\\x7f\\x1a\\x2f\\xb9\\xed\\xe2\\xcd\\x37\\xbc\\xf8\\x49\\xff\\x33\\xb0\\xfb\\xcd\\x53\\xa6\\xce\\x3c\\x15\\xb1\\x7b\\x35\\x48\\x78\\x4e\\x18\\xcb\\x72\\x79\\x94\\x04\\xcc\\x76\\x8f\\x3d\\x44\\x48\\x38\\xc0\\x5b\\xbd\\xc4\\x6c\\xb7\\xda\\x3b\\x33\\x56\\x3b\\xd2\\xcd\\xce\\x20\\xbe\\x30\\x31\\xab\\x1a\\x94\\xd6\\xae\\x86\\xc3\\xc4\\x75\\x1e\\x87\\x1a\\x8a\\x95\\xcb\\x39\\x85\\x72\\x15\\xd1\\x74\\x29\\x72\\xd8\\x11\\xff\\xdd\\xf2\\x4e\\xed\\xf4\\x5a\\x77\\x7d\\xcd\\xc9\\x37\\x4f\\x7f\\xab\\xcb\\xff\\xd6\\x55\\xbf\\x6c\\xc5\\x1d\\x78\\x7d\\x20\\x8e\\x91\\x30\\xb6\\x51\\xfe\\xea\\xdc\\x86\\x9a\\xe7\\xe4\\x3b\\xfe\\x2a\\x6f\\xa4\\xe7\\x1a\\x78\\xcf\\xe3\\x78\\xd2\\x5f\\x26\\xca\\x77\\xcb\\x8f\\xe3\\x51\\xf8\\x54\\x86\\x5b\\x18\\x21\\xed\\x69\\xc2\\x6a\\x6b\\x9c\\x6c\\xc0\\x37\\x32\\xec\\xaa\\xeb\\xa6\\xd1\\xd1\\xb4\\x0f\\xe0\\x08\\x4f\\xfd\\xb3\\xa0\\x0c\\x1b\\x07\\xb5\\xe3\\x93\\x0d\\xaa\\x1d\\x7f\\xbd\\x6a\\xfb\\xef\\xab\\xd8\\xfe\\x3f\\xdf\\x5b\\x13\\xf7\\x92\\x82\\x5d\\x41\\xd0\\x04\\x90\\xc3\\xee\\x55\\xf3\\x5f\\x85\\xd1\\x34\\xa9\\xd6\\x17\\x44\\x5a\\xad\\x0b\\xe4\\x78\\x62\\x37\\x11\\x53\\xa4\\x54\\x8c\\x84\\x23\\x9c\\x11\\x54\\x8b\\x12\\xb7\\xe8\\x9e\\x90\\x41\\xa2\\x55\\xef\\x9a\\x90\\xd1\\xbb\\x75\\x01\\x4d\\x70\\x82\\xa2\\x12\\x31\\xc3\\x76\\x3e\\xf5\\x6e\\x5e\\xf5\\x28\\xcc\\xa3\\x89\\xdd\\xbc\\x8b\\xf1\\x06\\x1b\\x3d\\x14\\x29\\xaf\\xb7\\xa5\\x30\\x65\\x1c\\x16\\x2c\\x00\\x66\\x52\\x49\\xe4\\xf1\\xaf\\x31\\x91\\xbb\\xbe\\x3e\\xff\\x9f\\xb2\\x8c\\x85\\xaf\\xce\\x97\\xf7\\x2f\\xee\\xec\\x5c\\xcc\\x39\\x96\\x4f\\x3f\\x65\\x21\\x79\\xd2\\x77\\xf4\\xb5\\x43\\x5d\\x5e\\x79\\x1a\\xde\\xe9\\x43\\xdd\\x6f\\xbc\\x7e\\xd4\\x8b\\x5f\\x39\\x36\\x7e\\xc7\\x93\\x61\\xee\\xfb\\xd0\\x23\\x3b\\xb6\\x3f\\x1c\\xe9\\x72\\xc5\\xfe\\xcc\\xf6\\x14\\x62\\xfc\\x63\\x37\\xcc\\x45\\x12\\x8d\\x91\\x2a\\xbc\\xae\\x78\\xc8\\x52\\xa3\\xd3\\x59\\x5c\\xa4\\x2e\\xd5\\x37\\x60\\x0f\\xb4\\x67\\x44\\x3b\\xa8\\xb8\\x1c\\x31\\xda\\xdd\\xb5\\x8a\\x78\\x4d\\xa5\\x6b\\x35\\x9f\\x97\\x92\\x8b\\xea\\x78\\x19\\xbd\\x14\\x51\\x3b\\xea\\xb6\\xe5\\x28\\x21\\xf3\\xe4\\xaf\\x77\\x1c\\x97\\x6a\\x5a\\xe3\\x11\\xcd\\xd5\\x20\\x87\\x0b\\x67\\xec\\xdd\\x9b\\x25\\x8a\\xd3\\x9f\\x79\\x63\\xef\\x8a\\x1e\\x54\\x73\\xab\\x5c\\x7f\\x85\\x22\\x9e\\x6f\\xed\\x46\\x0a\\x49\\xfc\\xf6\\x6d\\xe0\\xeb\\xf2\\xb2\\x9e\\x74\\x13\\x07\\x57\\xae\\x54\\xe2\\xf1\\x8d\\xe5\\x37\\x81\\xde\\x35\\x04\\x9d\\x22\\x0d\\x34\\x0c\\x4a\\xf5\\xb1\\x55\\xda\\xfd\\x11\\x8f\\x9f\\xd8\\x12\\x83\\xb4\\xc3\\x86\\x0e\\xb4\\x55\\x46\\x22\\x95\\xb6\\x81\\xbc\\xab\\x5a\\x2c\\x0f\\x76\\x64\\xca\\xad\\x2e\\x97\\xd9\\x6d\\x4c\\x77\\x80\\x8a\\x48\\xd3\\xd2\\x21\\x32\\x51\\xc9\\x6e\\x95\\x3b\\x91\\x68\\x54\\x8d\\x97\\xec\\xfa\\x65\\xee\\x5c\\x22\\x55\\x9c\\x8e\\x6e\\x28\\xd6\\xb2\\x14\\x35\\x5a\\xa7\\x36\\xaa\\xd8\\x64\\xad\\x74\\x07\\x46\\xd5\\x1d\\x59\\x4f\\xc3\\xb5\\x28\\x54\\xc7\\xca\\x22\\x9f\\xc0\\x2c\\x91\\x85\\x4a\\x68\\x9f\\xf4\\x60\\x9d\\x6e\\xfd\\xe2\\x9f\\x43\\x9f\\xba\\xc6\\x4c\\xbb\\x78\\x60\\x53\\xf3\\xe2\\x53\\xe0\\xcd\\x6a\\xf9\\xd4\\x35\\x7e\\x2a\\x7d\\xdd\\xaa\\x64\\xa3\\xdb\\xb8\\xa6\\x3f\\x7e\\xf6\\x90\\xed\\xae\\x6d\\xd3\\x46\\x49\\x99\\x4b\\x86\\xcf\\xc7\\xe1\\x09\\xc3\\x36\\xdd\\xf0\\xec\\xa1\\xd4\\x9d\\xed\\x57\\xf6\\x1d\\x35\\x7c\\xfa\\xf5\\x23\\xc7\\xc8\\x1f\\x4f\\x18\\x26\\x7f\\xf8\\xfc\\x3b\\x0a\\xed\\x9c\\x03\\x72\\x1a\\xf5\\xbb\\xa1\\x39\\xa2\\x87\\x49\\x11\\xbd\\xc5\\x2b\\xd8\\x91\\x60\\x41\\x24\\x0c\\xda\\x7b\\x67\\x46\\x27\\xda\\xf5\\x16\\x93\\xa5\\x33\\xf3\\xff\\x10\\xf7\\x26\\xf0\\x51\\x55\\xe7\\xff\\xf0\\x3d\\xf7\\xdc\\x7b\\x67\\xdf\\xe7\\xce\\x3e\\x73\\x67\\x9f\\x4c\\xf6\\x64\\x48\\x42\\x48\\x48\\x86\\x24\\x04\\xc2\\x92\\x85\\x4d\\x2e\\xdb\\x04\\x8c\\xec\\x90\\x20\\x88\\xca\\x8e\\x82\\x4b\\x05\\xc1\\x8a\\xfe\\x45\\xad\\x20\\x22\\xad\\x12\\x15\\x2d\\xc5\\xaa\\xad\\x82\\x45\\x6c\\x4b\\xad\\x60\\x71\\xa5\\x2d\\x5a\\x97\\xda\\x82\\x2d\\x5a\\x77\\x98\\xcb\\x7b\\xce\\xbd\\xb3\\x86\\x60\\x7f\\xff\\xdf\\xfb\\x7e\\x3e\\x6f\\xa9\\x77\\x96\\xdc\\x99\\x39\\xcb\\x73\\x9e\\xfd\\xf9\\x3e\\x6a\\x27\\xe9\\x4c\\xf0\\x64\\xde\\xd1\\xcd\\xeb\\x4a\\x88\\xb6\\x36\\x95\\x55\\x43\\xa7\\x8e\\x6d\\x90\\xc8\\xcd\\xb9\\xe9\\x49\\x65\\xd4\\x7c\\x26\\x7c\\x27\\xf6\\xd4\\xfd\\x46\\xf8\\x0c\\x8c\\x4b\\xe7\\xdb\\x90\\xbb\\x53\\x39\\x34\\x6f\\x0a\\x3f\\x0d\\x09\\xcf\\xe1\\x34\\x08\\x30\\x2a\\x0c\\xa6\\x80\\x92\\xfc\\x5c\\x1b\\x69\\xcc\\xed\\x48\\x4f\\x7e\\x06\\xed\\x9d\\x91\\xf0\\x10\\xed\\xf1\\x22\\x13\\xa5\\x50\\x10\\x76\\x24\\xe9\\xbd\\xdc\\x61\\x2f\\x48\\x78\\x01\\xe1\\x05\\x1a\\xa8\\x47\\xcc\\x5e\\xaf\\x57\\xba\\xda\\x79\\xa8\\x64\\x29\\x85\\x0c\\x99\\x0b\\xb2\\x9c\\xee\\xef\\x78\\x12\\x92\\x02\\x90\\xdf\\x5b\\xdd\\x9c\\x49\\xf0\\x4e\\x03\\x19\\xe7\\xd6\\x76\\xc1\\x67\\x6e\\xbf\\x7f\\x81\\xa0\\x9f\\x7b\\xef\\x8f\\xde\\xfe\\xcb\\x99\\x93\\xc2\\xe9\\x11\\x9d\\xe3\\xeb\\x87\\x8f\\xeb\\x68\\x02\\xa7\\x5f\\xf9\\x2a\\x24\\x3c\\x8e\\x5b\\xff\\x21\\x7b\\xeb\\x8b\\xdf\\x7e\\xf7\\xf9\\x77\\x9f\\xff\\xf9\\xb1\\x3d\\x1f\\xfe\\x7d\\xef\\x13\\x88\\xd6\\x7a\\x84\\x1e\\xda\\x8a\\xd6\\xd8\\x4f\\x14\\xc7\\x59\\xc8\\x59\\x14\\x0a\\x1d\\x07\\x83\\x01\\x8b\\x9a\\xf0\\xab\\x4d\\x88\\x2b\\xaa\\x29\\x29\\x94\\x52\\x26\\xa5\\x9c\\x67\\x2c\\x65\\x51\\xcc\\x94\\x81\\x20\\xce\\x54\\x12\\xd9\\x22\\x1a\\x08\\xc9\\x8a\\x56\\x3e\\xc4\\x44\\x02\\xb7\\x4c\\x1c\\xb9\\xf2\\xa6\\xc7\\x92\\x1f\\x80\\xd5\\xa0\\xe3\\x1f\\xdf\\x33\\xd3\\x5c\\x9b\\x9e\\x7a\\xe7\\x93\\xa9\\x3f\\x7d\\x7c\\xce\\x9e\\xeb\\x46\\xbc\\xf0\\x07\\xe1\\xb7\\xbe\\x91\\x15\\xb1\\xae\\xe2\\xda\\x17\\xc0\\x6f\\x40\\x39\\x98\\xd2\\x2c\\xbc\\xf8\\xf2\\x34\\xe1\\xfb\\xef\\x6e\\x7a\\x6e\\x53\\x43\\xb0\\x71\\xec\\xec\\x91\\xf3\\xee\\xae\\x4a\\xf9\\xb4\\x6e\\x86\\x05\\x54\\x05\\xa2\\x80\\xf2\\xb8\\x55\\xaf\\x20\\x2d\\x2e\\x8b\\x02\\xed\\xbf\\x9e\\x54\\x3b\\xed\\x76\\xa2\\x93\\xb7\\xeb\\x34\\x6a\\xa2\\x2c\\x26\\xb5\\x6a\\x1d\\x80\\xa8\\xed\\x35\\x88\\xe3\\x19\\xe0\\x8b\\xd2\\x13\\x75\\x00\\x5b\\xf3\\xeb\\x84\\xcf\\xa2\\x9d\\x4b\\x97\\xcc\\x7b\\xf2\\xa5\\xce\\xd1\\x6d\\x57\\x1f\\xd9\\x09\\xd4\\x67\\xe7\\x0f\\x6d\\x35\\x22\\x81\\x32\\xae\\x69\\x52\\x15\\xc7\\xf5\\x4e\\x5a\\xb9\\xa3\\x24\\xc1\\x8d\\xaa\\x28\\xab\\xb5\\x96\\xee\\xdb\\x09\\xf4\\xa0\\x66\\xf3\\x37\\xe2\\x98\\x70\\xee\\xcb\\x46\\x7a\\x38\\x52\\xdc\\xc6\\xc5\\xa3\\x32\\x8d\\xc6\\xa8\\x50\\x21\\xa6\\xa4\\x32\\x22\\xdb\\x5a\\xa6\\xee\\xe6\\x65\\x32\\x74\\x20\\xd1\\xda\\xb1\\x4c\\x37\\x0f\\xd8\\xac\\x78\\xc9\\xec\\x6f\\x56\\xb2\\xe7\\x7b\\xd4\\xa4\\x16\\x78\\x62\\x2f\\x3c\\x5f\\x26\\x93\\xdf\\x47\\x6d\\x9c\\xe5\\xad\\xf8\\xdb\\x88\\x47\\xc1\\x4b\\x3c\\x27\\x3c\\x77\\x26\\x39\\x6a\\x57\\x3f\\x35\\x0b\\x9e\\xfa\\x4c\\x26\\x4b\\x9e\\x16\\x3e\\xe9\\x17\\x0a\\xb0\\x38\\xa1\\x56\\x3a\\xda\\xc4\\xb1\\x35\\x21\\xde\\x11\\x10\\x7d\\x0d\\x48\\xdb\\x30\\xea\\xcc\\x0a\\x19\\xd2\\xe7\\x48\\x99\\x99\\x84\\x16\\x56\\x8b\\x18\\xa1\\x56\\xcb\\xd2\\xb4\\xa6\\x83\\x97\\xd3\\x62\\xbf\\x43\\x1d\\x99\\xb6\\x4e\\x07\\x1d\\x14\\xf6\\x77\\xa5\\x1c\\xca\\xa9\\xc1\\xc5\\xc4\\x3c\\x28\\x70\\x5e\\x38\\xb3\\x15\\x7e\\x30\\x1a\\x0f\\xec\\xfa\\x33\\xdc\\xe8\\xd1\\xdc\\xd3\\xc9\\x07\\x68\\xc6\\xd6\\x24\\xbc\\x77\\x00\\x8d\\xeb\\xcd\\xc7\\x85\\xa6\\x54\\x7f\\x8f\\xa5\\x68\\xad\\x26\\xa3\\xb5\\xb2\\x13\\xc1\\xb8\\x5e\\x61\\xb5\\x28\\xad\\x4a\\xa7\\x43\\x69\\xb1\\x50\\x7a\\x48\\x19\\xc5\\xae\\x86\\x79\\xd8\\xcd\\x21\\x33\\xb6\\xf6\\x10\\x71\\x9b\\x7c\\xd9\\x18\\x1d\\x23\\xf3\\x21\\xf3\\xef\\x64\\xcf\\x7f\\x54\\x6c\\xc3\\xc5\\x8f\\x7a\\xec\\xe8\\x89\\xab\\x1c\\xba\\x16\\xd9\\x9f\\x9a\\xa2\\x1b\\x63\\x8f\\x15\\x6f\\x00\\x1c\\x78\\x73\\x45\\xa9\\xf8\\xa2\\xf2\\x81\\xb7\\x05\\x6a\\x85\\xf4\\xdb\\xed\\x48\\xf8\\xcd\\x41\\x72\\x0f\\xa3\\x33\\xeb\\x29\\x24\\x85\\x01\\xad\\x90\\xd3\\xe8\\x4d\\x24\\x13\\xd8\\xcb\\x7f\\x1b\\xf8\\x20\\xce\\xea\\x8a\\x01\\x86\\x9c\\x71\\x60\\xcd\\xca\\xe4\\x9e\\x17\\xd6\\xc0\\xda\\x8b\\xaf\\x92\\x51\\x28\\x61\\xc4\\x11\\x4a\\x61\\x24\\x7d\\x0f\\xbd\\x90\\xf0\\x11\\x43\\xe3\\x6e\\xaf\\xcf\\x66\\x37\\x28\\x95\\x76\\x1f\\xa4\\x02\\x7e\\xbb\\xd1\\x6d\\xf6\\x42\\x4e\\xe3\\x24\\x38\\x86\\x9b\\xc3\\x8b\\xe9\\xd2\\xa2\\x02\\x61\\xad\\x6d\\xcc\\x6f\\x19\\xc7\\xc8\\x22\\x0d\\x20\\xe6\\xa5\\x8c\\x48\\xff\\x91\\x45\\xaa\\x8d\\x55\\x43\\x48\\xec\\x73\\x42\\x22\\x13\\xf1\\xd7\\x70\\xc8\\x10\\x00\\x05\\xb7\\xf5\\x46\\xd6\\x5d\\xb8\\x13\\xc8\\xc0\\xfd\\x1f\\xae\\x9f\\x75\\x7d\\x4d\\xc3\\x54\\x7e\\x58\\xdd\\xdf\\xb6\\xae\\x7f\\x55\\x78\\x73\\x37\\xb5\\xc3\\xd4\\x75\\xff\\x94\\x31\\x97\\x84\\x12\\xe1\\x93\\xbf\\x08\\x15\\x5b\\xb9\\x95\\xa0\\xf5\\xe9\\x47\\x40\\xc3\\x66\\xf3\\x2d\\xeb\\xd0\\x51\\xfb\\xfb\\xee\\xbf\\x95\\x9f\\xf1\\x08\\x4d\\x22\\xb6\\x5a\\x9c\\x2a\\xa7\\x34\\x84\\x83\\x28\\x8b\\x3b\\x0d\\x2a\\x95\\xc9\\xc2\\x3a\\x28\\xc6\\xe5\\x34\\x9b\\xec\\x16\\x1b\\x06\\x6a\\xd5\\xba\\x64\\xe4\\x04\\x5e\\x96\\x09\\x6c\\x65\\x1c\\x4e\\x40\\xcc\\xde\\x47\\xdc\\x85\\x32\\xb2\\xe2\\x18\\x0d\\x43\\x22\\x74\\x24\\x14\\x46\\x17\\x72\\xeb\\xfd\\x6f\\xdc\\xf8\\xb3\\xfe\\x67\\xdf\\x02\\x23\\x0e\\xad\\x5c\\x94\\x58\\x6a\\x10\\x36\\xb5\\x82\\x5d\\x9e\\x32\\xa1\\xab\\x95\\x3c\\xfe\\xa4\\xbf\\x77\\xd4\\x73\\xc2\\x8f\\xbf\\xec\\x17\\xee\\x7b\\xa8\\xf8\\x2b\\xa0\\x9e\\x3e\\xeb\\xbd\\x95\\xff\\x9a\\xd9\\xfe\\xcd\\x4a\\x71\\xed\\x22\\xc2\\x48\\xe6\\x3d\\x44\\x07\\x23\\x89\\xc5\\xf1\\xba\\x7a\\x96\\x6d\\xae\\x2e\\x8b\\xfa\\xfd\\x8a\\xb2\\x12\\x57\\x33\\x33\\xaa\\xb5\\x69\\x78\\x55\\x79\\x41\\x20\\x14\\x48\\xf0\\x16\\x97\\x8b\\x6b\\xac\\x0c\\xc1\\xda\\x22\\xae\\x68\\x36\\xaf\\xa1\\xd1\\x7f\\x1a\\xc2\\xce\\x99\\x14\\x4e\\xc2\\xd8\\x9d\\x69\\xda\\x28\\x66\\xea\\x15\\xa5\\x73\\x57\\xd0\\xf3\\x54\\xff\\xfc\\xd8\\x65\\x69\\x7b\\xfe\\x48\\xaa\\x74\\x5a\\xac\\x47\\x90\\xb0\\xf5\\x53\\xbd\\x78\\xd3\\x3d\\x6a\\x53\\x4d\\x10\\x63\\x95\\x35\\xd9\\x17\\xa2\\xc0\\x97\\x5e\\x40\\x33\\x43\\xdd\\x75\\xcf\\xbe\\xe9\\xd7\\xd6\\xcc\\xec\\xb3\\xcd\\xa8\\xbe\\xbf\\x65\\xd7\\xde\\x19\\x0b\\x2b\\x97\\xf4\\x74\\x3c\\x5c\\xd3\\xd4\\xe7\\x1a\\x77\\x74\\xc4\\xa3\\x4f\\xf5\\x91\\xba\\x9e\\x65\\x75\\xd7\\x1b\\xae\\x21\\xe1\\xd5\\xc3\\x87\\xb9\\x67\\x79\\xaf\\x21\\xb5\\x4b\\xc0\\xf7\\xc2\\xc8\\x96\\x20\\xd7\\x5e\\x7b\\xdc\\x1d\\xec\\x2a\\x0d\\xac\\xbd\\xf1\\xb1\\x92\\xea\\x21\\xb5\\xc5\\x23\\xb6\\x6f\\x86\\xef\\x39\\xda\\xda\\x1c\\x17\\xc7\\xf6\\x07\\xaa\\x47\\xc0\\x57\\xa5\\xe7\\x13\\x79\\x83\\x9a\\x6a\\xc1\\xcf\\x2f\\xd4\\xfe\\xf9\\x0b\\x89\\xde\\x6a\\xd0\\x9a\\x61\\x3d\\x67\\x04\\xb1\\x24\\x5e\\x57\\x5e\\x5a\\xe3\\x89\\xfa\\xeb\\x6d\\xb8\\xb5\\xbc\\xa7\\xd4\\x4f\\x37\\x37\\x0d\\xaf\\xae\\x28\\x20\\xd0\\xa2\\xb5\\xf3\\x76\\x8f\\xb7\\x31\\x16\\xd2\\x0d\\x2b\\xf6\\x16\\x4f\\xe0\\x0d\\x8a\\x2e\\xde\\x60\\xa0\\x5c\\x5e\\x8b\\xc6\\x49\\x21\\x6d\\x8e\\xba\\xc2\\x9a\\x0d\\xbe\\x64\\x29\\xdd\\x1c\\xa3\\x9a\\x5d\\xb6\\x70\\x48\\x37\\x48\\xa1\\x9d\\x89\\x8e\\xc1\\xd4\\x3a\\xe5\\xaf\\x9a\\xb4\\x68\\x4c\\xd1\\xe7\\x27\\xc4\\x25\\xbb\\x7a\\x8d\\x63\\x34\\x5a\\xb2\\x87\\xf7\\x4c\\x58\\x1e\\x3b\\xd9\\x7c\\xe7\\xe2\\x9f\\x0d\\x7d\\x6d\\xab\\x30\\x0b\\xfc\\x69\\xd2\\x88\\xa6\\x31\\x53\\x94\\xd2\\x93\\xa6\\xc9\\x53\\xc0\\x9f\\xe0\\x84\\x8b\\x47\\xde\\xfd\\x0a\\xad\\x57\\xe3\\xe8\\x23\\xee\\xe0\\xb8\\x48\\xe8\\xeb\\x7e\\xff\\xe8\\x55\\xab\\x00\\x4b\\x4e\\xc1\\x92\\x2b\\x79\\x72\\xd2\\xac\\xc2\\xc2\\x9a\\xec\\x8b\\x08\\xf9\\xbc\\x2d\\x8d\\xcf\\x8d\\x28\\x8c\\xfe\\x15\\xdd\\x45\\x84\\x71\\xdf\\x5a\\xa4\\xd6\\x87\\x1c\\x4a\\xa5\\x31\\x04\\x0b\\x22\\x41\\xce\\xc7\\x25\\x78\\xc6\\x35\\x9b\\x67\\x18\\x74\\xba\\xb5\\xd6\\x6e\\xde\\xa4\\xa5\\x42\\x10\\xc0\\x04\\x0f\\x8c\\x79\\x02\\x37\\xbd\\x36\\x79\\xa7\\x55\\xcc\\x6d\\x66\\xd2\\x29\\x68\\x29\\x5f\\xb5\\xd4\\x8a\\x41\\xef\\xcb\\x76\\x00\\xa5\\x9f\\x4c\\x2e\\x7d\\xf6\\x8f\\xcf\\xde\\xfb\\xee\\x82\\x15\\xc7\\xd7\\x95\\xdd\\x10\\xe6\\x3d\\xda\\x4a\\x77\\x63\\x3d\\xa0\\x7b\\x9f\\x5c\\x4d\\xf6\\x3c\\xb1\\x0b\\x69\\xfb\\xcf\\xcd\\x58\\x76\\xe2\\xae\\x3b\\x7e\\xb7\\xd0\\xa0\\x11\\x4e\\xfc\\xdc\\xea\\xd8\\xff\\x98\\x70\\x78\\x18\\x39\\x4e\\x4a\\xac\\x74\\xa6\\x72\\x3c\\xa9\\xcd\\xc8\\x4e\\xf4\\x13\\xe3\\xe3\\x51\\xab\\xc2\\x05\\xa1\\xcf\\xa7\\x57\\xc0\\x40\\x90\\x71\\x74\\xe1\\xd1\\xbb\\xdd\\xde\\x76\\xde\\x4d\\xa8\\xcd\\x1d\\x88\\x50\\xd0\\x5c\\x00\\xe2\\xde\\x80\\xcd\\xd7\\x19\\x2e\\xe7\\xe0\\xd9\\x29\\x90\\x62\\xe6\\x49\\xc6\\xd9\\x2e\\xd5\\x2b\\x8a\\xce\\x1c\\x2b\\xb5\\x59\\x30\\xce\\xdb\\xf6\\xc8\\x2b\\x67\\x3e\\x3e\\x11\\xed\\x2b\\x1b\\x5d\\xe2\\x2b\\x69\\xed\\x5a\\x7a\\xed\\xfa\\x49\\x60\\x63\\xf7\\x5c\\xa4\\x33\\xbc\\x30\\x16\\x90\\xff\\x38\\x0b\\x48\\x93\\x5e\\xf8\\xe7\\xd3\\xbe\\xe3\\xbf\\x38\\x72\\xd0\\x05\\x8b\\x9a\\x6c\\x17\\x22\\x36\\x3c\\xee\\x3a\\xc4\\x13\\x6f\\x40\\xe7\\xba\\x82\\x48\\xc4\\x87\\xb0\\x65\\x05\\x2e\\x97\\x4f\\xe1\\x2b\\x83\\xb1\\xca\\x42\\xfb\\x6c\\xbe\\xa0\\xb0\\x90\\x0b\\x46\\xfc\\x41\\x7f\\x82\\x0f\\x42\\x17\\x32\\x32\\x12\\xe9\\x13\\xcd\\x19\\x07\\x1c\\xe8\\x2c\\x6d\\x66\\x5b\\x4c\\xe7\\xcf\\x24\\x53\\x23\\x9d\\x73\\x92\\xab\\x06\\x14\\x15\\xe2\\xf9\\x48\\x31\\x10\\x83\\x99\\x82\\x5b\\x66\\x6c\\xbd\\xa1\\x37\\x9e\\x3a\\xb5\\x77\\xff\\x64\\xf2\\xbc\\x8a\\x6b\\x16\\x2f\\x9b\\xd3\\xfb\\xe4\\x23\\xc9\\x15\\x4f\\xec\\x22\\x7f\\xfc\\xec\\xfb\\x5b\\x7e\\xfa\\xe2\\x34\\xe1\\x2b\\x61\\x64\\x61\\xac\\x50\\x3a\\xa6\\xc5\\xa1\\x0d\\x2b\\xc9\\x79\\x0b\\x57\\x0c\\x4b\\x1e\\x14\\xa5\\xaa\\x98\\xfa\\x2a\\x4c\\xea\\x98\\xf5\\x8b\\xdb\\x85\\xd8\\xdb\\xdf\\x88\\xb6\\xc7\\xd7\\xb0\\x0b\\xe9\\x77\\x45\\x44\\x95\\xd8\\x6d\\x76\\x88\\xb9\\xcc\\x5c\\x50\\xe6\\x54\\x38\\x0b\\x60\\x4d\\x75\\xa5\\xad\\x83\\xaf\\xac\\x54\\x70\\x5c\\x71\\x07\\xcf\\xe9\\xd5\\x74\\x27\\xaf\\x8e\\x2b\\x58\\xc2\\xd0\\x25\\xf5\\x13\\x46\\xf3\\x74\\xbc\\x36\\xf8\\x4e\\x89\\x41\\x5c\\x3a\\x53\\x05\\x0e\\x52\\x55\\xe0\\x48\\x02\\x4a\\x19\\x12\\x52\\x61\\x62\\x4d\\x8c\\xc1\\xb0\\x8b\\x18\\xd7\\x26\\xb5\\x83\\x61\\x70\\x7a\\xf4\\x35\\x63\\x86\\x3a\\x9d\\x1e\\x79\\x27\\x39\\xa1\\xa5\\xa0\\x69\\x78\\x43\\x68\\x74\\xb3\\x76\\xe9\\xaa\\x85\\x9b\\x5a\\xd7\\x4f\\x7a\\x7e\\x93\\x43\\x37\\x55\\x57\\xde\\xdb\\xbd\\xff\\xab\\x96\\xc9\\xcd\\x2d\\xf3\\xe6\\xd4\\x2a\\x23\\xe5\\x91\\x8a\\xe6\\xeb\\xfa\\x82\\x45\\xc1\\x9b\\xfe\\xcf\\xc2\\x09\\x2d\\x37\\xcc\\x1a\\xb1\\x74\\xf8\\x92\\xf2\\xea\\x89\\x57\\x6d\\xf9\\xdd\\xa6\\x37\\x96\\xc3\\x79\\x23\\x87\\xc5\\x5a\\x5a\\x9e\\x91\\xce\\xd5\\x5d\\xc8\\xfe\\x1f\\x8b\\x74\\xc3\\x02\\x62\\x44\\x3c\\xe0\\x80\\x32\\xd6\\x1b\\x0a\\xb1\\x7e\\x1d\\xa4\\xa3\\x85\\xd0\\xe1\\x08\\xc8\\x20\\xa1\\x35\\x1a\\x95\\x09\\xde\\x48\\x11\\xee\\x04\\x4f\\x98\\xb2\\xfa\\xb7\\xe4\\x45\\xcc\\xdd\\x3d\\xec\\x83\\x2a\\x06\\xa9\\x78\\x14\\x6e\\xf2\\x9b\\xc6\\xb8\\x4d\\xbb\\x2e\\x22\\x35\\xe2\\xcc\\xc8\\x8d\\x5f\\x5e\\x44\\xaa\\x96\\x75\\xdd\\x9a\\xde\\x9a\\xf9\\xa1\\x92\\xe9\\x2f\\xee\\xf9\\xd3\\x85\\x86\\x55\\xef\\x09\\x97\\x96\\x6d\\xb8\\xe1\\xde\\xda\\xb2\\x5f\\x2d\\x3f\\x61\\x3e\\xfa\\x4e\\xcf\\xbe\\x23\\x9b\\xd7\\xdd\\x59\\xe8\\xfd\\x25\\x68\\x2c\\x7a\\xb5\\x7f\\xe6\\xfd\\x1b\\x6f\\x5e\\xfc\\xc0\\x2d\\xd7\\x5f\\x35\\x6e\\x44\\xd3\\xa8\\xbb\\x27\\xdc\\x3e\\x1e\\x8f\\xfd\\x67\\x97\\xce\\xc1\\xef\\xd0\\x79\\xc2\\xd5\\xb5\\x1c\\x63\\xb2\\x92\\xa4\\xc6\\x6d\\xa2\\x7c\\x5e\\xf4\\x84\\xd0\\xe8\\xf5\\x0a\\xa4\\x80\\x03\\x17\\x41\\x38\\xf2\\x63\\xfd\\x84\\x14\\x87\\xcd\\x8d\\x81\\xc0\\x06\\xb2\\x2a\\xd5\\x3a\\x37\\x3d\\x66\\x20\\x4b\\x57\\x7a\\x93\\x3f\\x16\\xca\\xec\\x6f\\x9e\\x5d\\x32\\x77\\x6a\\x62\\x4c\\xe1\\xe8\\xc7\\xef\\x78\\xe3\\xeb\\xf9\\xaf\\x7d\\xa7\\xda\\xb4\\x69\\xf5\\xc6\\xd8\\x2f\\xcc\\xe0\\xf9\\x69\\x4f\\x9c\\xda\\x7e\\xcf\\x3d\\xc5\\xfb\\x80\\x25\\xf0\\xee\\x0b\\xb7\\xfc\\xfe\\xd1\\xeb\\xfb\\xb7\\x16\\x75\\x15\\x94\\x61\\x3b\\x01\\x0d\\x92\\xb6\\x89\\x7a\\x77\\x88\\x98\\x1c\\x2f\\x0e\\xc9\\x03\\x4e\\x99\\x3a\\xa8\\x34\\xb3\\xac\\x52\\x2d\\xf7\\xd1\\xe8\\x90\\x3a\\x95\\x36\\x82\\x65\\x6d\\xd0\\x60\\x33\\x74\\xf3\\x9c\\x8d\\x52\\xc9\\x83\\xca\\x60\\x37\\xaf\\x34\\x66\\x2d\\x59\\x29\\x07\\x37\\xed\\x46\\xcf\\xa6\\x4d\\xc7\\x32\\x4d\\xe8\\xb1\\x07\\x1d\\xc3\\xe0\\x41\\x4c\\x59\\xe9\\x29\\x58\\x6b\\xa4\\x1e\\xec\\x0a\\xe0\\xa3\\x8e\\xd4\\x14\\x0f\\x19\\xb1\\x60\\x48\\x11\\xf8\\xf0\\xc2\\x53\\x60\\xfd\\x8f\\x9b\\xbc\\x2e\\x93\\xc7\\x5b\\x72\\xd5\\xec\\x75\\x77\\xbd\\x32\\x55\\xd7\\xb4\\x7b\\x4d\\xdf\\xec\\xe4\\x6c\\xe1\\x3d\\xb2\\x0b\\x9e\\x7d\\xd7\\x38\\x65\\x4e\\xd7\\xc5\\xbd\\xcb\\x96\\x91\\xfb\\x80\\xea\\xfa\\xa8\\x41\\xf7\\x2e\\x18\\xe5\\x58\\x77\\x9b\\x7d\\xfd\\x52\\x87\\xf0\\x9c\\xf0\\x58\\xf2\\xcf\\xa2\\xfd\\x93\\x40\\x7c\\xec\\x46\\x74\\x3e\\x7c\\x44\\x90\\xb8\\x2a\\x5e\\x1a\\x94\\xfb\\x1d\\x8c\\x2a\\xa8\\x34\\x9a\\x4c\\x4a\\x15\\x9a\\x57\\x28\\xec\\xf0\\x07\\xa1\\xc2\\x42\\x98\\x4c\\x16\\xa8\\xb3\\xe8\\x3a\\x79\\x8f\\x45\\xaf\\x94\\x05\\x14\\x48\\x8a\\x29\\xd8\\xc1\\x66\\x66\\xbd\\xc2\\xcc\\xa4\\x89\\x99\\x20\\x66\\xc7\\xa9\\x89\\x21\\x65\\x3f\\x35\\x33\\x00\\x7d\\x54\\x45\\xd8\\x3b\\x64\\xf1\\xf0\\x71\\x60\\x58\\x52\\x73\\x61\\x5b\\xa8\\x3c\\xc0\\xba\\x42\\xa3\\xc7\\x5c\\x35\\x7f\\xcd\\xc2\\xea\\xc2\\x8a\\xdb\\xae\\x99\\x3d\\x2e\\xf9\\xbb\\x7b\\x41\\x31\\xb9\\xe3\\x39\\xf3\\xf2\\x3b\\x93\\x7f\\x2c\\x2d\\x05\\x87\\x80\\xb2\\xa9\\x50\\xf3\\x1c\\x70\\x5a\\x4a\\xe7\\xcf\\x19\\x33\\x75\\x0a\\x2b\\x7c\\x24\\xfc\\x45\\xf8\\x07\\x9a\\x53\\xeb\\xa5\\x73\\xf4\\x8d\\xf4\\x4b\\x68\\x4e\\xa5\\xc4\\xa8\\x78\\xc8\\xef\\x66\\x70\\x46\\xbe\\x09\\x96\\x95\\x73\\x45\\x09\\xde\\xcd\\x71\\xc8\\x8a\\x33\\x68\\xb5\\x4a\\xa5\\x23\\xc1\\x2b\\x29\\x18\\x4a\\xf0\\x30\\xe7\\x2c\\xd8\\xca\\x8e\\x89\\xbd\\x68\\x72\\xd8\\x99\\x98\\xd5\\x82\\x73\\x46\\x0d\\x43\\x8c\\x41\\x34\\x5e\\x51\\xdb\\x10\\x5b\\xc4\\x4a\\x0c\\xa0\\x3a\\xe6\\x25\\x68\\x6c\\x9f\\xa6\\x6a\\x29\\x19\\xfa\\x46\\x64\\x7f\\x3e\\x8b\\x96\\xf9\\xc9\\xfd\\xa0\\xe6\\xf1\\xc9\\x9d\\x9d\\x55\\xc3\\x17\\x9a\\x67\\xcc\\xd8\\x39\\x74\\x72\\xfb\\x84\\xaa\\xc4\\xb6\\xc0\\x53\\xcf\\x82\\x62\\x50\\x7f\\xd1\\xfe\\xc8\\xe3\\xfb\\x1f\\xbe\\xe7\\xa1\\x67\\x7f\\x2a\\x07\\x82\\x70\\x51\\xf8\\x02\\x74\\x83\\x49\\x2f\\x83\\xe1\\xcf\\xea\\x74\\xe3\\xea\\x8e\\x8f\\x30\\x59\\x4c\\x7b\\x1e\\x9a\\x2e\\x7c\\x3e\\x5d\\x38\\x2a\\x9c\\xfd\\xdd\\x27\\x1f\\xbc\\x3a\\x7b\\x9c\\x74\\xce\\xcb\\xd1\\x59\\xf9\\x27\\x85\\xb3\\xd7\\xba\\xe2\\xc5\\xee\\xa8\\x15\\x42\\xbf\\x36\\x4a\\x95\\x14\\x13\\x25\\xc8\\x56\\x0d\\x7b\\x3b\\xf8\\x70\\x98\\x90\\x29\\xf4\\x9d\\xbc\\x42\\x21\\x93\\x21\\x01\\xa4\\x96\\xe9\\x08\\x47\\x36\\x6e\\x78\\x2c\\x15\\xdc\\x4a\\x31\\x35\\xc9\\x35\\x64\\xcd\\x56\\x85\\x8a\\xdc\\x8b\\x03\\xe9\\x29\\x66\\xe5\\xcf\\xc0\\x4a\\x51\\xd2\\xf1\\xf9\\x77\\x9b\\xff\\x7d\\xcf\\xb4\\x49\\x6d\\x73\\xcc\\xc3\\x3a\\xe7\\x94\\x76\\x74\\x96\\x2f\\x58\\xbe\\x60\\xe6\\xe4\\xc9\\x33\\x7b\\xaa\\xcb\\x5d\\xf3\\x9b\\x7e\\x71\\xf2\\x73\\xf3\\x67\\x1f\\xef\\x78\\x7f\\x15\\xc3\\xb4\\xd6\\xfe\\xa6\\x44\\xa3\\x7e\\xed\\xd0\\x33\\xbf\\xb9\\x61\\xd9\\xaa\\x3e\\x76\\x94\\xc1\\xff\\xcc\\x3d\\x0f\\x1f\\xc4\\xf6\\x0f\\xa2\\x3f\\x5c\\x2b\\x11\\xc5\\xd4\\x17\\xe6\\x08\\xb3\\x13\\xd2\\x0a\\xbd\\x9e\\xe6\\x60\\x51\\xa1\\x83\\xb5\\xb2\\x09\\xde\\xaf\\x89\\x32\\x26\\x64\\x9a\\x39\\x4d\\x1a\\xf4\\x0f\\x5a\\x21\\x41\\x43\\x1a\\x6d\\x59\\x7e\\x96\\x7b\\x6e\\x82\\x7b\\x7a\\xdf\\xac\\x92\\x89\\x22\\x09\\x1b\\x29\\x49\\x4d\\x26\\x5a\\xe2\\x39\\xc9\\xe9\\xa2\\xb9\\x12\\x91\\x9c\\xb0\\xe4\\xab\\xd8\\x9b\\x30\\x7b\\x42\\x51\\x6d\\x78\\xde\\xd2\\x35\\xbd\\x89\\x7e\\xf2\\xee\\xfe\\xc4\\xd2\\xb5\\x4b\\xe7\\x85\\x6b\\x8b\\x26\\xcc\\xee\\xc1\\x9e\\x04\\xb8\\xa6\\xa0\\xb2\\x60\\x54\\x41\\xf5\\xf0\\x15\\x23\\xdb\\x26\\x6c\\xc3\\xd2\\x66\\xdb\\x84\\xb6\\x91\\x2b\\x86\\x57\\xa3\\x37\\x2b\\x71\\x8d\\xf6\\x68\\x64\\xae\\x4c\\x40\\x36\\x8c\\x8e\\x28\\x8d\\xdb\\x18\\x83\\x5e\\xa9\\x69\\xe7\\x95\\x04\\x90\\xc9\\x65\\xc8\\x96\\x93\\x23\\x5e\\xdc\\xce\\x43\\x96\\xc8\\x75\\xcd\\x15\\xa5\\x9b\\x51\\x18\\xf0\\x30\\x03\\x55\\x31\\x51\\xca\\xc7\\xe0\\x84\\x2f\\x84\\x1b\\xe6\\x7d\\xf3\\x0d\\x92\\xea\\x5f\\xc0\\x96\\x8b\\xbf\\x6a\\xb2\\x91\\xff\\x9c\\x0f\\x3e\\x68\\xb2\\x09\\x37\\x8a\\x3e\\x27\\xc4\\xeb\\x6f\\x15\\xf3\\xff\\x9a\\xe3\\x41\\xa7\\x26\\x4c\\x15\\xfb\\x29\\x8d\\xd2\\xcc\\x94\\x97\\x51\\x4e\\x39\\xa7\\x33\\x5b\\xad\\xfa\\x09\\xbc\\x55\\x2f\\x67\\x8b\\x08\\xa2\\x60\\x42\\x0e\\xd3\\xcc\\x71\\x95\\xe6\\xb0\\xcd\\xff\\x1b\\x47\\x92\\x99\\x81\\xcf\\xff\\x80\\xf7\\x68\\xb1\\xf9\\x7f\\xe0\\x34\\xba\\xed\\x7e\\x74\\x4e\\x3b\\x85\\x56\\x78\\x10\\xcd\\xc1\\x49\\x44\\xf0\\x2c\\x5c\\x94\\x5f\\x49\\x10\\x26\\x0a\\x46\\x0b\\x88\\xe8\\xe1\\x28\\xa9\\x81\\x66\\xa7\\x52\\x29\\x23\\x65\\xa1\\x0e\\x5e\\x66\\x21\\xb9\\x0e\\x9e\\xd4\\xe7\\xb9\\xda\\x1b\\xb3\\xa4\\x9b\\x71\\x1a\\x49\\xaa\\x70\\xc0\\x43\\x5a\\x3d\\x10\\xc3\\x30\\x95\\x81\\x52\\x40\\x82\\x1c\\xb7\\x4b\\x27\\xe8\\x07\\xbf\\xfc\\xc3\\xdb\\xa7\\xbb\\x64\\xca\\xea\\x1b\\xae\\xbb\\x7a\\x47\\xcf\\x10\\xd8\\xaa\\x98\\xbe\\x74\\xc5\\x23\\xbf\\x99\\x4e\\xc6\\x9b\\x3a\\xc6\\x0d\\x1f\\x3e\\xae\\x73\\x04\\xe8\\x25\\xa7\\x08\\x86\\x2f\\xbe\\x7d\\xf4\\xfa\\xee\\x72\\xad\\xda\\xd5\\xd0\\xd7\\x6d\\xb1\\x2b\\x95\\x86\\x5d\\xc8\\xa2\\xbe\\xf6\\x4c\\xff\\xde\\xbf\\x7f\\xbc\\x7b\\x3f\\xda\\x83\\x54\\xfd\\x33\\x61\\x45\\x7b\\x6d\\xc5\\x30\\x6c\\x50\\x61\\xb3\\x33\\xea\\x2e\\x5e\\xc9\\xe8\\xcd\\x04\\x61\\xcc\\x95\\x55\\x79\\x35\\x78\\x74\\x06\\xf1\\x87\\xcd\\x2a\\x77\\x58\\x3c\\x0d\\xbb\\xf8\\xed\\xb7\\x17\\x27\\xee\\x2a\\x9d\\xf3\\xa3\\x5b\\xd7\\xad\\xbd\\xed\\x47\\x73\\xca\\x7e\\x62\\xfe\\xf2\\xfb\\x6f\\xbe\\x2c\\x08\\x8e\\x77\\xff\\xec\\x37\\xbf\\xeb\\x77\\x8f\\x0f\\x15\\x5c\\xba\\x74\\xe9\\xdf\\xc2\\x38\\x32\\x4a\\x6f\\x35\\x32\\x58\\x2a\\xe5\\xd6\\x1f\\x51\\x22\\x9e\\x13\\x51\\x76\\xe9\\x33\\xd8\\x8c\\xc6\\xe5\\xc0\\xfc\\x41\\x67\\x34\\x1a\\xa0\\x0d\\x0d\\xcd\\xe9\\xd2\\xa1\\x11\\xfd\\x59\\x07\\x74\\x3a\\x4e\\x47\\xaa\\xa1\\x4e\\x47\\x30\\xa9\\xc1\\x5a\\x09\\x82\\x1d\\x38\\xd8\\x9c\\x14\\xd0\\x54\\x28\\xa0\\x72\\x90\\xa1\\xe3\\x1e\\x21\\x19\\xe1\\x1a\\xc8\\x8c\\x7e\\xcd\\x7a\\x05\\xa8\\x11\\x7e\\x27\\x5b\\xb3\\x11\\x97\\x90\\x9b\\xbe\\xfc\\x4e\\x9a\\xc3\\xb6\\x07\\x56\\x3d\\xb2\\x13\\xd7\\x90\\x4b\\x7c\\xcc\\x89\\xc6\\x59\\x26\\x8e\\xb3\\x23\\x5e\\x6c\\x80\\x6a\\x85\\xc2\\x66\\x53\\x42\\xe8\\x74\\xa9\\x94\\x68\\xa0\\xa9\\xa6\\x88\\x6a\\xa8\\x52\\x11\\x06\\x96\\xd5\\x75\\xf1\\xec\\x20\\x05\\xed\\xc6\\x9c\\x61\\xe6\\x69\\x2f\\x52\\x6d\\x3b\\xc6\\xbf\\xc1\\x12\\x27\\xa7\\xbc\\xbd\\x6e\\xc2\\x6e\\x34\\xc2\\x8d\\x6b\\x19\\xe1\\x77\\xa0\\x46\\xb1\\x7e\\x4d\\xba\\xc8\\xdd\\x84\\x47\\x78\\xff\\x9e\\x55\\x0f\\x6c\\x93\\xaa\\xdc\\xbf\\xfd\\x0a\\xaf\\x6d\\x91\\xe4\\x3b\\x42\\x6b\\xbd\\x5b\\x5c\\x6b\\xad\\x98\\x03\\x8f\\xd7\\xfe\\xb0\\x38\\x87\\x15\\x68\\xed\\x23\\x48\\x2f\\xb0\\x63\\x1a\\x20\\x34\\x26\\x99\\x46\\xe6\\x70\\xea\\xad\\x09\\xde\\xac\\xa7\\x18\\xa5\\x12\\x19\\x2e\\x4a\\xd3\\xa0\\x34\\x20\\xfa\\x33\\x71\\xf1\\x01\\x13\\x90\\xea\\x07\\x33\\x5e\\x39\\x70\\xf8\\x9d\\x4f\\x9e\\xda\\xe4\\x9a\\xc6\\x7c\\xff\\x0f\\xe1\\x61\\xe1\\x1e\\xb0\\x08\\x24\\x52\\x0e\\xb9\\x4f\\xde\\x21\\x77\\x0a\\x6f\\x09\\x9f\\x4c\\x7b\\x59\\x78\\xb1\\x19\\x09\\x8b\\x4e\\xd0\\x05\\x12\\x92\\x2b\\xee\\x63\\xc9\\xcf\\x85\\x6b\\xef\\x08\\x1b\\xda\\xf7\\x02\\xad\\xd5\\x6a\\x54\\x43\\x28\\x37\\xca\\x1d\\x76\\x83\\x42\\xa5\\x48\\xf0\\x36\\x92\\x54\\x69\\x00\\x60\\xb4\\x2a\\x68\\x35\\x42\\x39\\x23\\xc7\\x2e\\xaf\\xbc\\x32\\x40\\x63\\x0a\\x02\\x77\\x40\\x1e\\xaa\\xe4\\xec\\x02\\x59\\xad\\x1d\\x29\\x22\\x99\\x0a\\x34\\x38\\x3b\\x2c\\x18\\x0e\\x0a\\x81\\xfe\\x7e\\x92\\x06\\x77\\x82\\x2d\\xa4\\xbe\\xbf\\x3f\\x79\\xcd\\x41\\x20\\x90\\xfb\\x2e\\x1c\\x4e\\xbb\\xba\\x92\\xdf\\x91\\x32\\x64\\x29\\xff\\x48\\x7c\\xdd\\x81\\xd7\\xad\\x5a\\x18\\x47\\xc7\\x90\\xad\\x6c\\x23\\xa6\\xc6\\x4b\\xf1\\x58\\xa1\\x5c\\x6e\\x74\\xd8\\x75\\x0e\\xa0\\x80\\x46\\x2b\\x6b\\x6d\\xe7\\x59\\x16\\x0f\\xbb\\x1d\\x0f\\x5b\\xab\\xd2\\xe1\\xf1\\xb6\\xf3\\x8c\\x53\\x83\\x8d\\xa8\\x58\\xa6\\x0c\\xc6\\x90\\x93\\x82\\x33\\x30\\xbd\\xca\\x97\\x3b\\x64\\x53\\xce\\x90\\xc9\\xd5\\xe5\\xc2\\x8b\\x33\\x84\\x93\\x89\\x04\\x58\\xf1\\x1d\\xa0\\xc0\\x96\\xc9\\x93\\x85\\x9a\\x19\\xe4\\xf9\\x0b\\x87\\xb0\\xb5\\x4a\\x3d\\x61\\x6d\\x4a\\x3e\\x4f\\xb6\\x22\\xbb\\x55\\x8e\\x5f\\xe3\\x06\\x32\\x24\\xe1\\x4f\\xe5\\x7c\\xe1\\xaa\\xc5\\x8e\\x78\\x81\\x9f\\x45\\x0b\\x49\\x3a\\xb5\\xa4\\x36\\x18\\x32\\x1b\\x95\\x04\\x45\\x53\\x1d\\x3c\\x4b\\xd3\\xa4\\xd1\\x68\\xeb\\xe2\\x8d\\x16\\xa5\\x67\\x02\\xaf\\xd4\\x93\\x03\\xb2\\xf2\\xd3\\xf1\\xe2\\xcc\\xda\\xa6\\x74\\x0b\\x34\\x2a\\xcc\\xf7\\xf3\\xd2\\xc1\\xd8\\x18\\x0b\\x73\\xf2\\xc1\\xc0\\x03\\xc2\\x99\\xa9\\x53\\xb3\\x49\\x61\\x5f\\x2d\\x4d\\xa5\\x84\\x09\\xdf\\xf6\\xf7\\xcf\\x27\\x7f\\x9f\\xc9\\x0b\\x3b\\x34\\x1f\\x2c\\x19\\x90\\x17\\xb6\\x1b\\xd1\\xe8\\xc4\\x34\\x8d\\x1a\\x65\\x84\\x46\\xa6\\x91\\x68\\xd4\\xa4\\x37\\xc9\\x24\\x1a\\xa5\\xae\\x40\\xa3\\x92\\x16\\x6a\\xc2\\x0a\\x0e\\xa6\\x51\\x7f\\x44\\x2c\\x9c\\xac\\x34\\x52\\xb2\\x0c\\x8d\\x82\\x59\\x60\\xb1\\x70\\x8f\\xf0\\x70\\x0e\\x8d\\x22\\x9e\\xeb\\x9a\\xf6\\x32\\x68\\x6a\\x16\\xf6\\x08\\x4f\\x0a\\x07\\x84\\xdd\\xcd\\xa0\\xe9\\xe5\\x69\\xc0\\x29\\xc6\\x57\\xd3\\xe7\\x25\\x84\\xb3\\xd4\\x4c\\x72\\xaf\\x83\\xd0\\x68\\x1c\\x72\\x18\\x09\\xbb\\x03\\x01\\xa5\\xfe\\x07\\x8e\\x8e\\xb8\\x82\\xf9\\x26\\xe6\\x95\\xcf\\x50\\x2e\\xf6\\xdb\\x0f\\x9d\\xa7\\xb1\\x69\\x18\\xbe\\x2b\\x9f\\x2c\\xe1\\xbd\\x34\\x2c\\x1f\\x1a\\x7f\\x76\\x2d\\xc5\\xf1\\xcb\\x8c\\xd2\\xf8\\x8d\\x30\\x1c\\x09\\xb8\\xdd\\x7a\\xe5\\x0f\\x2c\\xeb\\x60\\xe3\\xbf\\xd2\\xfa\\xe6\\xa2\\x53\\xfe\\xd0\\x5a\\x27\\x7f\\x91\\x6e\\x95\\x70\\xe5\\x55\\x07\\x95\\xe9\\x2e\\x0a\\xe9\\x5a\\x6a\\xe6\\x2f\\xc6\\x30\\xf6\\x60\\x18\\x64\\x44\\x33\\x98\\x02\\xda\\xc5\\x78\\xb8\\x8f\\x0e\\x23\\x43\\xc9\\xe7\\xb4\\xe7\\xc5\\xcf\\xa5\\xfb\\x7f\\x96\\xb9\\x7f\\xa1\\x78\\xbf\\x18\\xd3\\x77\\xe1\\x00\\x66\\xa0\\x28\\x44\\xd8\\x73\\x63\\xfa\\x88\\xde\\xbc\\x42\\x03\\xfd\\x32\\xe2\\x43\\x65\\x44\\x5f\\x7c\\xb8\\xd7\\x57\\x68\\xb1\\x38\\x43\\x41\\x1d\\x41\\x04\\x65\\x4e\\x1f\\x5d\\x5e\\x51\\xc8\\x9a\\x8a\\x4d\\xb3\\xf9\\xe2\\x62\\xbf\\x3d\\xe8\\xf3\\xf9\\xa3\\x6e\\xbf\\xbb\\x9b\\xf7\\x43\\x8b\\xd3\\xee\\x4c\\xf0\\x76\\x23\\x54\\x77\\xf3\\x66\\x59\\x10\\xc9\\x7d\\xe8\\xc2\\x25\\x5f\\xd9\\x18\\x51\\x8e\\xf9\\x24\\x55\\x7f\\x5d\\xee\\x0a\\x0b\\x49\\xa1\\x40\\x43\\x6c\\x30\\x7f\\x83\\x64\\x78\\xa4\\xca\\x51\\x25\\xe3\\x90\\x7e\\xf9\\xfc\\x5f\\x5b\\x1f\\x0c\\xf1\\x1e\\x53\\x6b\\xe1\\xc8\\xe9\\x8b\\x7b\\x46\\x75\\x61\\x67\\x43\\xec\\xf0\\x34\\xe7\\x74\\xea\\xdf\\x33\\x9c\\x13\\xbf\\xaa\\xd8\\xb6\\xfa\\xc4\\xef\\xc8\\x77\\xcf\\xb2\\x2a\\xe0\\xda\\x65\\x75\\x75\\xcf\\x22\\x9f\\x99\\xbf\\x90\\x4d\\x8a\\xaa\\x1f\\xd5\\x6b\\xfe\\x0e\\x5c\\x2f\\xfc\\xe4\\x63\\xa3\\x70\\x73\\xc1\\xef\\x8f\\x8b\\xeb\\x25\\xd6\\xe7\\xe3\\xf5\\x85\\xad\\xe2\\x7a\\xad\\x04\\x2b\\x53\\xeb\\xab\\x47\\xeb\\x7b\\x93\\xde\\xcc\\xc8\\x73\\xf2\\x0d\\x00\\x96\\xdd\\xd4\\xbf\\x11\\x3d\\x79\\x08\\x3e\\x5e\\x41\\xc8\\x81\\x5c\\x61\\x45\\x3a\\x17\\xd0\\xeb\\x2d\\x0a\\xe8\\xe5\\xdc\\xa0\\x9b\\xd7\\xb9\\x81\\x0a\\xba\\xdd\\x1a\\x93\\x09\\x99\\x2b\\x56\\x13\\xa5\\xa1\\x12\\x7c\\xab\\xfc\\x16\\x39\\x29\\xd7\\x98\\xd2\\xeb\\x93\\x23\\xb0\\xf3\\x03\\x02\\x52\\xe3\\x59\\x9f\\x03\\x2f\\x86\\x78\\x50\\xa8\\x01\\x27\\x85\\x81\\x3e\\xb8\\x57\\x50\\x53\\x27\\x8e\\x2c\\x78\\xa0\\xc4\\x33\\x9d\\x99\\x2c\\xfc\\xfb\\x7a\\xe1\\xb0\\x70\\x1f\\xb8\\x0a\\x74\\xbc\\x7f\\x96\\x99\\xe6\\xb8\\x71\\xcf\\xb1\\x57\\x35\\xe0\\x0b\\x72\\x95\\xf0\\xb9\\xf0\\x69\\x7d\\xf4\\xcf\\x42\\x7f\\xa0\\x02\\x5c\\x03\\x1a\\x00\\x0f\\x7a\\xc4\\x03\\xf2\\x8d\\x20\\xa0\\x79\\x2f\\x41\\xf3\\x70\\x89\\x35\\xd0\\xd5\\x83\\xd6\\xaa\\xff\\x6f\\x6a\\xe0\\xa6\\x23\\xfd\\xea\\xb7\\xe2\\x77\\x94\\x88\\xb6\\x2a\\x7d\\xe9\\x9c\\xec\\xa7\\x62\\xbd\\x6f\\x21\\x31\\x33\\x3e\\xc4\\x41\\xd3\\x41\\xc2\\x13\\x36\\xab\\x3d\\x41\\x35\\x2c\\x2a\\x76\\x50\\xdd\\xbc\\xc3\\xe1\\xb3\\xf8\\x90\\x71\\xe0\\x0b\\xa2\\xff\\x8c\\x76\\xb3\\xc5\\x9c\\xe0\\x2d\\xe1\\x6e\\xde\\x02\\x15\\xfa\\xab\\x79\\xb5\\xc2\\x94\\xaa\\x33\\x4a\\xbb\\xae\\x06\\x38\\x76\\xb2\\xd2\\x4e\\xac\\x67\\x45\\x6b\\x06\\x32\\x27\\xd2\\x99\\x72\\xa1\\xc6\\xbc\\x38\\x66\\x2e\\xba\\xe9\\x7c\\x50\\x09\\x18\\x66\\xe6\\xf6\\x75\\x2d\\x2d\\xeb\\xb6\\x7f\\x3f\\x6e\\x56\\x9d\\x6a\\x54\\xb1\\xb1\\x70\\xda\\xcd\\x7e\\xfb\\xaf\\xa8\\x8f\\xfe\\xd1\\x0b\\xf4\\xc0\\x8d\\xb8\\xc7\\xbf\\x92\\x8f\\xf7\\x0b\\x2b\\xed\\xbe\\x59\\x3b\\xc0\\xc6\\xcd\\x3b\\x92\\x7f\\xdc\\x21\\x9c\\x2f\\x03\\xf4\\x92\\x28\\x78\\x18\\x89\\x4b\\xce\\x85\\x1d\\x56\\x65\\xc7\\x8e\\x1c\\x3e\\x82\\xab\\xb5\\x91\\x01\\x7b\\xbb\\xb0\\xf4\\x59\\x34\\x57\\x2c\\xcb\\xf7\\xa1\\xb9\\x7a\\x90\\x6e\\xdc\\x1b\\xaf\\x33\\xd0\\xb4\\xd2\\x1e\\x0c\\x1a\\x49\\xce\\xe5\\x22\\x95\\xb0\\x20\\xea\\x41\\x33\\xf4\\x18\\x03\\x94\\x01\\xcd\\xda\\xae\\x33\\x20\\x12\\x31\\x18\\xe4\\x1a\\x9b\\x49\\xaf\\xd2\\xa8\\x90\\x5c\\xd7\\x40\\x9a\\x54\\xca\\x95\\x09\\x5e\\x3e\\xc0\\xfd\\x90\\xaa\\x19\\x45\\x84\\x92\\x63\\x7e\\xe4\\xe4\\x90\\xa5\\xcb\\x42\\x7d\\x79\\x3e\\x3a\\x9f\\x21\\x3d\\x79\\x83\\xde\\x67\\x4a\\x2f\\x0e\\x1c\\x73\\x9f\\x50\\x70\\x5f\\x72\\x23\\x12\\xfd\\xeb\\xef\\x03\\xef\\xdc\\x47\\xae\\xef\\x9f\\x41\\x96\\x24\\xff\\xf4\\xe1\\xb6\\xf5\\x15\\x75\\xeb\\x37\\x8f\\x71\\x90\\x5c\\xf2\\x03\\xb1\\x0c\\x5d\\xf2\\xcb\\xd9\\xc0\\xa7\\xd2\\xa3\\xb0\\x59\\xf8\\x11\\x58\\x79\\xcb\\xad\\xc9\\x8f\\x6f\\xc3\\xb9\\x8a\\x9f\\x48\\xf8\\x0d\\x44\\x98\\x58\\x13\\x6f\\xf5\\xaa\\xd5\\x06\\xa7\\x83\\x26\\x08\\x87\\x01\\x46\\x0a\\x2c\\x56\\x6b\\xc4\\xab\\x52\\xf8\\x15\\xb3\\x79\\xc2\\x0f\\x08\\xbf\\xde\\xdf\\xe9\\xef\\xf6\\xef\\xf6\\x1f\\xf0\\x33\\x0a\\xe8\\xf7\\xdb\\x48\\xa7\\xd5\\x6a\\xe3\\x4c\\x36\\x53\\x37\\x6f\\x83\\x06\\x35\\x6e\\xc9\\x9f\\xe0\\x75\\x64\\xae\\x56\\x93\\xc7\\x35\\x70\\x35\\x7d\\x3a\\x91\\x3f\\x5b\\x11\\x64\\xc8\\x35\\x14\\x7f\\x90\\x63\\x20\\xf1\\x4c\\xdf\\xb6\\x2d\\xf9\\xf4\\xe6\\xde\\xd9\\x83\\xb0\\x8a\\xc9\\x3f\\x7d\\x71\\x5a\\x8f\\x98\\x2d\\x72\\xb0\\x67\\xe9\\x60\\x4c\\x62\\xd6\\x2f\\x6e\\x97\\x78\\x2a\\xfd\\x82\\xc8\\x23\\x8e\\xa7\\x78\\xc4\\x3f\\x53\\x3c\\xc2\\x81\\x78\\xc4\\x12\\x87\\x5b\\x43\\x0f\\xe4\\xc1\\x8c\\x55\\xbc\\xff\\x77\\x29\\x9e\\xfd\\x3c\\xba\\x9f\\x3d\\x28\\xb2\\xec\\x5f\\x5e\\x7a\\xeb\\xa0\\xc7\\x47\\x9b\\x72\\x6a\\x29\\x87\\x21\\x19\\x75\\x88\\x79\\x1d\\xdd\\x7f\\x0a\\xdf\\x2f\\xbf\\x88\\xbe\\x7f\\xbc\\x54\\xa7\\x89\\x3e\\xd0\\xea\\x2d\\x20\\x14\\x79\\x3c\\xc8\\x2f\\x24\\x18\\x0b\\x5a\\x7f\\x2b\\xe2\\xd7\\x2d\\x8c\\xc2\\x6a\\x36\\x43\\xbd\\xc9\\xa4\\x86\\x0a\\x35\\xb4\\xd9\\xbd\\x76\\x40\\xd8\\xf5\\xf6\\x6e\\x7b\\x9f\\xfd\\xb0\\x9d\\xd6\\x40\\xa8\\x56\\xaa\\xb1\\x64\\xee\\xe6\\x19\\xa5\\x91\\x90\\x75\\xca\\x76\\xcb\\xde\\x97\\x51\\x6a\\x28\\x63\\x8d\\x1a\\xb1\\x4a\\x59\\x47\\xc0\\x2c\\x88\\x01\\x5e\\x70\\x31\\x82\\x9a\\x41\\x32\\x18\\x10\\xba\\x90\\x94\\x32\\x18\\x80\\xf9\\xc4\\xc6\\x58\\x90\\x16\\xf9\\x93\\x99\\xcb\\x67\\x26\\x1f\\x7c\\xe2\\x09\\xf2\\x9e\\x7e\\x32\\xd8\\x4f\\x0f\\x1f\\xe3\\xb8\\x70\\x87\\xb3\\x4d\\x48\\x80\\x87\\xb1\\xab\\x17\\x13\\xd6\\x85\\x7b\\xa8\\x45\\x52\\x1d\\x78\\x1e\\x6e\\x8a\\x74\\x7e\\xa8\\x0f\\x44\\x0c\\x06\\x17\\xf1\\x56\\x7c\\xa7\\xd6\\x6e\\x87\\x0a\\xb9\\xd9\\x68\\x94\\x43\\xe8\\xf6\\x38\\x3d\\x45\\x9e\\x3a\\xcf\\x74\\x0f\\xf5\\x91\\x07\\xa8\\xd0\\xab\\x3a\\xcf\\x03\\x1e\\x6a\\xc1\\x69\\xcf\\x05\\x0f\\xe9\\x89\\xcf\\xee\\x19\\xbd\\xde\\x03\\xc8\\x5e\\x0f\\xd0\\x7b\\xca\\x3d\\x9d\\x1e\\x78\\xc0\\x03\\x74\\x9e\\x0e\\x4f\\xaf\\x07\\x7a\\xe2\\x2d\\xa3\\x46\\x13\\x9e\\x6e\\xcf\\x76\\x0f\\xac\\xed\\xf5\\x3c\\xe5\\x79\\x1d\\xbf\\x17\\x2d\\x1e\\x7d\\xde\\x03\\x9e\\xc2\\xf7\\xc7\\xd1\\xdf\\xfa\\x3c\\xd4\\x25\\x0f\\x78\\x1f\\x7f\\xa8\\xd1\\x43\\xca\\xa1\\xd6\\xd6\\xcd\\x6b\\xb5\\x88\\x51\\x68\\xba\\x79\\x79\\x0a\\xa4\\x05\\xd8\\x13\\x7c\\x26\\xa8\\x91\\x16\\x70\\xb9\\x0e\\x19\\x31\\x6b\\xb0\\xe8\\x5a\\xc4\\xce\\xa5\\xc4\\xc1\\x22\\xb1\\x96\\x3b\\x9f\\x5e\\xb3\\x48\\x2e\\x22\\x75\\x62\\xc6\\xa4\\xcf\\x30\\x2e\\xf2\\x60\\xb2\\x6f\\x7f\\x3f\\x35\\x53\\x35\\xad\\xa6\\xe7\\xcd\\x67\\x1f\\x07\\x66\\x60\\x17\\x0e\\x6d\\x5b\\xbf\\xfe\\xf6\\xf5\\x9b\\x53\\x10\\x2f\\x87\\xfe\\x60\\x16\\x0a\\x8e\\xbc\\x24\\x6c\\x06\\xab\\x6f\\xd9\\x92\\x3c\\xbd\\x95\\xb8\\x1c\\x6f\\x26\\x2d\\xcf\\xf0\\x6b\\x2c\\xcf\\x70\\x7f\\x21\\x61\\x2c\\x3d\\x17\\xad\\xab\\x01\\x51\\xcb\\xd4\\x78\\xb9\\x05\\x89\\x25\\x3d\\x2d\\x97\\x5b\\xad\\x94\\x46\\xaf\\x50\\x53\\x7a\\x4c\\x32\\x94\\x46\\xa1\\x49\\xf0\\x0a\\x6b\\x37\\xaf\\x30\\xaa\\x18\\x27\\xd4\\x13\\x7a\\x5c\\xbc\\xde\\xcd\\x63\\xca\\x48\\x47\\xb4\\x1a\\x73\\xc3\\x37\\xc6\\x4c\\x45\\x4d\\x4a\\x60\\x61\\xb2\\xc0\\x44\\x81\\xfe\\xab\\xa9\\x36\\x9a\\x22\\xb4\\x4f\\x09\\x64\\x3e\\x60\\xa2\\x86\\x3e\\xf1\\xdb\\xc0\\xda\\x8d\\x17\\xcf\\x6d\\x5e\\x1b\\xf8\\xed\\x8a\\x9b\\xa8\\x17\\xc8\\x4e\\xe1\\x63\\xf2\\x86\\x85\\xe0\\x12\\x3d\\x5c\\x8c\\xcd\\x08\\x24\\xf8\\x85\\x30\\x16\\x08\\xf6\\x8f\\xc8\\x31\\x60\\xb4\\x2b\\x24\\x9c\\x48\\x3e\\xf1\\xd7\\x81\\x18\\x32\\xb8\\x57\\x2a\\xe2\\xaf\\x1f\\xa3\\x79\\x44\\x40\\x6f\\xfc\\x92\\xc7\\xce\\xd9\\xb8\\xa0\\xd7\\xeb\\xb2\\x29\\x69\\x85\\x42\\xa5\\x87\\x1a\\xca\\x60\\x08\\xd9\\x6c\\x2e\\x9d\\x5a\\xa3\\x89\\xba\\x1d\\x2e\\x57\\xc1\\x94\\x28\\x68\\x89\\x82\\xea\\x28\\x08\\x46\\x01\\x13\\x05\\x53\\xa2\\x2b\\xa3\\xf7\\x46\\x0f\\x45\\x8f\\x45\\x3f\\x89\\x32\\x6d\\xf8\\xad\\x70\\x94\\x5c\\xf0\\x5c\\xf4\\xdd\\x28\\xf9\\xe3\\x28\\x00\\x9b\\xa2\\xa0\\x2f\\x0a\\x7a\\xa2\\xa0\\x53\\xfc\\x18\\xda\\x2a\\x73\\x14\\x10\\x51\\xf0\\x65\\x14\\xbc\\x1f\\x05\\xa7\\xa2\\xe0\\x70\\x14\\xdd\\xb3\\x37\\x4a\\xf6\\xe1\\xbf\\x0c\\x89\\x4e\\x8a\\xf6\\x44\\xa9\\xbd\\xd1\\xa3\\xd1\\x8f\\xa2\\x70\\x75\\x14\\xe0\\x37\\x48\\x55\\xb4\\x28\\x4a\\xd6\\x5e\\x10\\x6f\\xbf\\x23\\xba\\x3f\\x7a\\x3c\\x0a\\x7b\\xa3\\x80\\xf4\\x46\\xe3\\x51\\xf2\\xa9\\xe8\\xeb\\xd1\\x33\\xd1\\x4b\\x51\\x8a\\x88\\xea\\xa3\\xe5\\xd1\\xce\\x68\\x5f\\x74\\x43\\x94\\xc9\\xbe\\xd8\\x1e\\xdd\\x1d\\x3d\\x1c\\x7d\\x3f\\xaa\\x90\\x43\\xb7\\x55\\x6d\\x34\\x1b\\x13\\xbc\\xca\\x13\\xa2\\xec\\x7a\\x9b\\x41\\x4e\\x38\\x1d\\xac\\xce\\x6c\\x0c\\x72\\x4a\\x1a\\x86\\x89\\x30\\x12\\x94\\xcf\\xc8\\xc4\\x23\\x5b\\x99\\x0e\\x30\\x62\\xc3\\x4a\\xcc\\xff\\x96\\xde\\x10\\x0f\\x6e\\xaa\\x9d\\x7f\\x7e\\x42\\xab\\xf4\\xbf\\x44\\x36\\x41\\x79\\x59\\x46\\x8e\\x48\\x79\\x66\\xa9\\xba\\x37\\xa9\\xae\\x24\\x5d\\xfa\\x86\\x37\\x57\\x12\\xa6\\x0a\\x5c\\x02\\x07\\x32\\xe1\\x20\\x20\\x42\\xcd\\x88\\x7f\\x01\\x86\\x08\\xf9\\x5b\\x92\\xdf\\x09\\xfe\\xba\\x0c\\x3c\\xb8\\x5d\\xd8\\x0f\\x8e\\x2d\\x17\\xfa\\x84\\x5d\\x8b\\x77\\x25\\x1f\\xd8\\xb5\\x44\\xd8\\x2d\\xf4\\x2d\\x07\\xaf\\x08\\xfd\\xdb\\xc1\\x83\\xcb\\xc0\\x5f\\x77\\xa2\\xad\\x77\\x24\\xdf\\x20\\x4b\\x71\\x34\\x56\\xb8\\x36\\x69\\x73\\xb6\\x91\\xeb\\xae\\x12\\x86\\x8b\\x8c\\xf8\\x37\\x57\\x25\\x6f\\x6a\\x73\\x92\\x9f\\x82\\x3b\\xf1\\x5f\\xc5\\xbb\\xc4\\xfd\\x9f\\x85\\xf4\\x15\\x80\\xf4\\xae\\x10\\x31\\x21\\x5e\\x24\\x63\\x9c\\xae\\xa0\\x9e\\xf5\\x69\\x08\\xc2\\xa7\\x77\\x31\\x74\\x38\\x12\\x34\\xe8\\x0d\\xfa\\x6e\\xde\\x60\\x80\\x2e\\x8e\\x43\\x2a\\x3d\\x47\\x41\\x15\\x3e\\xb8\\x19\\x05\\x22\\xe5\\x7a\\xc8\\xcf\\xf6\\xcc\\xd4\\x58\\x9b\\x29\\x49\\x95\\x47\\x4a\\xa8\\xd7\\x30\\xa4\\x0c\\xe0\\xae\\xff\\x18\\x0a\\x37\\x15\\x49\\xc1\\x5e\\x2a\\x19\\x45\\x01\\xe1\\x7d\\xe1\\xc2\\x1f\\xf6\\xa9\\x67\\x0c\\x89\\xac\\x2a\\x01\\xaa\\xcf\\x6f\\x58\\x31\\x6b\\xde\\xeb\\x55\\xbd\\xfe\\xa2\\xab\\xfa\\x7f\\x09\\xce\\xee\\xfe\\x11\\x98\\x01\\x96\\x1c\\x7c\\xad\\x00\\x8c\\x7c\\xdb\\xe2\\x04\\xe1\\xff\\xe8\\x64\\x37\\xca\\x99\\x75\\xcb\\xce\\xbb\\xad\\x2f\\x83\\x8a\\x22\\xe1\\xd0\\xa6\\xfd\\x6c\\x61\\x3a\\xbf\\x45\\x94\\x9f\\x4e\\x62\\x41\\x7c\\x18\\xe3\\x74\\x2a\\xec\\x76\\x52\\x63\\x36\\x2b\\x2d\\x16\\x03\\x69\\x70\\xb9\\xbd\\x38\\x23\\x5d\\xef\\xee\\x76\\xf7\\xb9\\x0f\\xbb\\x11\\x07\\xb7\\xea\\x55\\x12\\xf8\\x8c\\x86\\x86\\x76\\x8b\\x41\\x82\\x9e\\x31\\xe7\\x40\\xcf\\x64\\x75\\x85\\x7c\\xf8\\x99\\x74\\x92\\x49\\x3e\\x10\\x4d\\xca\\x97\\x9a\\xda\\x44\\x8c\\xf2\\x81\\x7d\\x01\\x77\\x63\\x96\\x4d\\xde\\x23\\xc1\\xd2\\xfc\\x39\\x03\\x4b\\x73\\xf1\\x27\\xb0\\xb0\\x36\\x8b\\x4f\\x03\\xd7\\x5e\\x7c\\x6b\\xa2\\x63\\x4c\\x46\\xc6\\x9d\\x48\\xcb\\x38\\x24\\xb3\\x8e\\xa7\\x64\\x22\\x32\\x33\\x00\\xc9\\x45\\x08\\x6d\\x9e\\xcc\\x12\\x65\\xa8\\x98\\xa7\\x32\\x33\\x5e\\x26\\xd5\\x6a\\x5a\\x49\\x40\\x91\\x90\\xb6\\x28\\x95\\x3a\\x5a\\xe7\\x90\\x39\\x2d\\x0a\\x82\\xd1\\x29\\x29\\xcc\\x71\\x35\\x8c\\xd1\\xca\\xea\\xc5\\x89\\x1a\\x73\\xc5\\x53\\x6a\\x9e\\xa9\\xb4\\xad\\x94\\xdd\\x6b\\xcc\\x8d\\xf1\\x81\\xcb\\xa8\\xb4\\x2a\\x45\\xbf\\xf4\\xae\\xbd\\xc2\\xd5\\xe0\\xcb\\x05\\xc2\\x35\\xc2\\xdc\\x35\\x47\\x92\\x53\\xd1\\xa4\\x77\\x3c\\x41\\x8e\\x5c\\x8d\\xa9\\x51\\xb8\\x31\\x69\\x40\\x54\\x78\\x47\\x42\\x18\\x9a\\x76\\x81\\x20\\xe2\\x7b\\x9d\\xac\\x70\\xb4\\xa1\\xb1\\x23\\x3d\\x96\\x3e\\x85\\xc6\\xee\\x22\\x46\\xc5\\x23\\x4a\\x5a\\xed\\x62\\xcd\\x66\\x17\\x0d\\x3d\\x6e\\x83\\xed\\x6a\\xde\\x6c\\x30\\xd1\\x29\\xcd\\x8d\\x72\\x01\\x17\\x92\\x11\\xaa\\x6e\\x24\\x2b\\x32\\x8c\\x73\\xd0\\x74\\x39\\x90\\x0b\\x09\\x84\\xb5\\xd2\\x40\\x8e\\xde\\x0a\\xf4\\xd4\\x51\\x71\\x1f\\x84\\xe9\\x58\\x0b\\x5d\\x96\\xa3\\xa7\\x52\\x5f\\xe6\\x40\\x05\\xa5\\x94\\xcf\\x1c\\xe5\\x74\\x10\\x3c\\xa7\\x3c\\xac\\xad\\x81\\xd8\\x47\\xe8\\x75\\x0a\\xfb\\x08\\xc9\\x8b\\x89\\xc4\\x65\\xb8\\x43\\xa9\\xfb\\x8b\\xc4\\xfb\\xc3\\xc4\\x65\\x18\\x3f\\x68\\x6d\\x44\\xdd\\x45\\x5c\\x9b\\xb1\\xf1\\x08\\x6b\\xa6\\x19\\x27\\xe3\\x34\\xab\\x94\\x2a\\xb3\\x8b\\xa0\\x3d\\x6e\\x27\\xad\\x07\\x7a\\xbc\\x48\\x7a\\x93\\x8a\\x91\\x96\\x47\\x8e\\xd7\\x26\\x96\\xb3\\x9f\\xd9\\x22\\x7d\\x11\\xf9\\xb9\\x36\\x03\\x1a\\x9a\\x66\\x2d\\x5a\\x9c\\xc8\\x9c\\x5a\\x9e\\xea\\x1a\\x30\\x8c\\x7c\\xe6\\x20\\xa8\\x04\\x05\\x7b\\xc1\\x6f\\xef\\x14\\xc6\\xdd\\xb0\\x7a\\xd3\\xa4\\x8a\\x1e\\x97\\x7a\\xc4\\x90\\x60\\xf5\\xe8\\x95\\xad\\x82\\x11\\x2f\\x91\\x23\\xf9\\x47\\xb2\\x52\\xcc\\xfb\\x78\\xe7\\xcc\\x83\\x63\\x1d\\x06\\x60\\xbf\\xae\\xa2\\xef\\x36\\x38\\x35\\x85\\x41\\xb4\\x3d\\x83\\x41\\xb4\\x2c\\xfe\\xd5\\x40\\x0c\\x22\\x09\\x06\\x08\\x83\\x00\\x91\\x9c\\x88\\x13\\xf4\\x42\\xd5\\xe9\\xaa\\x0b\\x55\\x50\\x44\\x20\\x52\\x55\\x61\\x60\\x21\\xb8\\xe0\\x92\\xf4\\x36\\xb9\\x0b\\x83\\x0a\\xdd\\x51\\x45\\xb6\\x54\\xf5\\x54\\x91\\x75\\x22\\x74\\x91\\xaa\\xca\\x59\\x45\\x0e\\x80\\x16\\xc2\\xef\\x61\\x3c\\x22\\xea\\x6c\\x15\\x38\\x83\\xf1\\x88\\x30\\xaa\\xd1\\xf4\\x2a\\x8c\\x47\\x04\\xe3\\x12\\xa8\\x11\\x39\\xf4\\x2c\\xc6\\x3c\\x02\\x77\\x88\\x80\\x46\\xe8\\xd7\\x40\\xea\\xb7\\x8e\\x56\\xe1\\x2f\\x83\\x0f\\x60\\x78\\x23\\x09\\x72\\xe8\\xcb\\xd4\\x8f\\xef\\xc0\\xc3\\xc4\\xdf\\x02\\x83\\x55\\xe0\\xff\\x0f\\x1c\\xa2\\xcb\\x40\\x87\\x72\\xcb\\x25\\x96\\xfd\\x7f\\x88\\x42\\xf4\\x49\\xb7\\x88\\x42\\xf4\\x31\\x46\\x21\\xea\\x16\\x46\\xf4\\x6f\\x91\\x50\\x88\\x6e\\xc5\\x28\\x44\\xb7\\x4a\\x28\\x44\\x5b\\xfe\\xe7\\x28\\x44\\xc4\\x60\\x38\\x44\\x05\\xc2\\x58\\xc6\\x2e\\xe2\\x6b\\x4d\\x8f\\x57\\x69\\x65\\x80\\xa2\\x74\\x3a\\x42\\x46\\x58\\xac\\x5e\\x2b\\x20\\xac\\x7a\\x6b\\xb7\\xb5\\xcf\\x7a\\xd8\\x8a\\xb8\\x31\\xab\\xd7\\xc8\\x95\\x68\\x7d\\x8d\\x4a\\x48\\xc8\\x68\\x59\\x82\\xa7\\x75\\xdd\\x3c\\x6d\\x94\\x5c\\x87\\x39\\x65\\x26\\x79\\xbc\\x38\\x2d\\x68\\x42\\xd6\\xcb\\x34\\x67\\xf4\\x48\\x77\\x61\\x1d\\xe9\\x42\\xb9\\xa4\\x39\\xd3\\x98\\x19\\xf7\\x88\\x8a\\x51\\xbe\\xda\\x3c\\xc6\\x81\\xc6\\x69\\x17\\x73\\x71\\xb0\\x9d\\xd9\\x19\\x2f\\x60\\x3c\\x2a\\xab\\xd5\\xe8\\x31\\x72\\x5e\\x9b\\x4a\\xe1\\x40\\x36\\x97\\xc3\\x61\\x26\\xad\\xa2\\xfa\\x60\\x36\\xa6\\xad\\x2b\\x2d\\x09\\x07\\x5a\\x57\\xb9\\xfe\\x98\\x9c\\xf2\\xd6\\x81\\x59\\x46\\x69\\x0e\\x25\\x65\\xe8\\xfc\\x6c\\x1b\\xd9\\xb1\\x59\\x4c\\xef\\x20\\xb7\\x3c\\xb1\\x2b\\xb9\\x54\\x4a\\xef\\xa0\\xde\\x15\\x4d\\xc4\\xa9\\x0b\\x57\\x64\\xf3\\x6d\\xb0\\x1c\\xef\\xc7\\x39\\x1d\\x12\\xdf\\x97\\x63\\xbb\\xd8\\x09\\x46\\xc5\\xcf\\xeb\\xe4\\x56\\xbd\\x0d\\x42\\xbd\\x1c\\xba\\xdc\\x66\\xf7\\x10\\xf7\\x24\\x37\\x54\\xb9\\xc1\\x79\\x37\\xf8\\xc8\\x0d\\x4e\\xb8\\xc1\\x41\\xf7\\x51\\x37\\x79\\x87\\x7b\\xbf\\x9b\\xec\\x71\\x83\\x4e\\x37\\xc0\\xb7\\xb4\\x88\\xb7\\x2c\\x3c\\xeb\\x06\\x3b\\xc4\\x42\\x2f\\xd8\\xeb\\x06\\xd3\\xdd\\x20\\x2e\\x96\\x91\\x79\\xc5\\x32\\xb2\\x9e\\x54\\x15\\xd8\\x47\\x6e\\xba\\x0e\\xbf\\x11\\x74\\x93\\x2f\\xb8\\x4f\\xbb\\xc9\\x4d\\xee\\x1d\\x6e\\x72\\xb5\\x54\\x17\\x86\\x7e\\x69\\xd8\\x79\\xfc\\x0b\\xa7\\xd0\\x6d\\x50\\xfc\\x8d\\x3e\\xfc\\x49\\xfc\\x33\\x2a\\x77\\x91\\x9b\\xc4\\x7f\\x21\\x1f\\xc0\\xef\\x6f\\x73\\x03\\xf4\\xa1\\x5e\\xe9\\x9b\\xd0\\xcf\\x7f\\x29\\x16\\xaa\\x9d\\x49\\x57\\x9b\\x1d\\x75\\x53\\x09\\x37\\x20\\x09\\x24\\xa6\\xe3\\x6e\\xa8\\x84\\x56\\x1d\\x83\\x08\\x40\\x72\\xcf\\x33\\x46\\x0b\\x86\\x86\\xb3\\x13\\xc8\\x5c\\x30\\xa9\\x06\\x2a\\x69\\xb9\\x67\\x28\\x71\\x19\\x98\\x57\\x46\\x55\\xbb\\xbc\\xe6\\x68\\x59\\x8e\\x21\\x91\\x31\\xc1\\x2e\\xb3\\xf5\\xf1\\xa3\\x7c\\x5f\\x7f\\xff\\x37\\x6b\\x11\\x1d\\x6d\\xbc\\x0f\\xbc\\x70\\x1f\\xb9\\x18\\x5f\\xd3\\x76\\xd8\\x40\\x62\\x4a\\xd9\\x62\\x78\\x8f\\x84\\xb1\\xf2\\x27\\xd1\\x1e\\xb9\\xc1\\xc4\\xf8\\xd7\\x4a\\x68\\x54\\x39\\x09\\xc2\\x64\\x72\\x38\\x54\\x10\\x7a\\x38\\x33\\x37\\x84\\x9b\\xc4\\x41\\x15\\x07\\xce\\x73\\xe0\\x23\\x0e\\x9c\\xe0\\xc0\\x41\\xee\\x28\\x47\\xde\\xc1\\xed\\xe7\\xc8\\x1e\\x0e\\x74\\x72\\x00\\xdf\\xd2\\x22\\xde\\xb2\\xf0\\x2c\\x07\\x76\\x70\\x07\\xb9\\x53\\x1c\\xec\\xe5\\xc0\\x74\\x0e\\xc4\\x39\\x30\\x84\\x03\\x5e\\x0e\\x50\\x1c\\xe8\\xe1\\x36\\x71\\x7b\\xd1\\x1f\\x3f\\xe2\\xe8\\x3a\\xfc\\x46\\x90\\x23\\x5f\\xe0\\x4e\\x73\\xe4\\x26\\x6e\\x07\\x47\\xae\\xc6\\xef\\x88\\xbf\\x34\\xec\\x3c\\xfe\\x85\\x53\\xe8\\x36\\x28\\xfe\\x46\\x1f\\xfe\\x24\\xfe\\x19\\x15\\x57\\xc4\\x91\\xf8\\x2f\\xe4\\x03\\xf8\\xfd\\x6d\\x1c\\x40\\x1f\\xea\\x95\\xbe\\x09\\xfd\\xfc\\x97\\x1c\\x40\\xbf\\x7e\\x86\\x03\\x2b\\xc4\\xdf\\x39\\xca\\x51\\x09\\x0e\\xed\\x13\\xe7\\xe5\\xe2\\x1c\\xda\\x27\\xb7\\xd3\\x6e\\x36\\xa8\\x15\\xa2\\x7a\\x61\\xd1\\x32\\xd0\\xa8\\x04\\xca\\x6e\\xde\\x91\\x97\\xab\\x96\\x0f\\xd6\\x15\\x4b\\xd5\\x61\\xfc\\xaf\\xf6\\xca\\x58\\x3b\\xd0\\xec\\x1b\\xb0\\x55\\x29\\x93\\x49\\xb6\\xf5\\xdb\\x7b\\xa5\\xfd\\x7a\\x5a\\xdc\\x2f\\x74\\xdd\\xd0\\x8f\\xd8\\xc1\\xe0\\xbb\\x25\\xee\\xa4\\x80\\xf4\\x22\\x11\\xa7\\xf1\\x25\\xb4\\x67\\x66\\xc2\\x4d\\x4c\\x8e\\x97\\xeb\\x0d\\xc0\\xe1\\x50\\xb2\\x34\\xad\\x34\\xa0\\x3d\\xd3\\xa1\\xc5\\x42\\x36\\x2b\\xd2\\x43\\x80\\xdc\\x60\\x34\\xaa\\xbb\\x91\\x16\\x85\\x38\\x16\\x94\\x3b\\x90\\xfc\\x4d\\x3b\\x99\\x32\\x7e\\x35\\xe3\\xc0\\xac\\x82\\x74\\x96\\xa2\\x68\\xa1\\x8a\\xc3\\x4f\\x69\\xc2\\x3e\\x36\\xeb\\x4b\\xf2\\xf7\\x61\\x1b\\x35\\xf9\\xa7\\xe4\\xe3\\xfb\\x63\\x4d\\xbb\\xc2\\xc5\\xd3\\xe0\\x87\\x8b\\xb6\\xad\\x1f\\xd9\\xb1\\x7e\\x33\\xf5\\xae\\xe0\\xc7\\x76\\x2a\\xb2\\x5b\\xfb\\xd4\\xf2\\x3f\\x80\\x31\\x6d\\x17\\x6f\\x4d\\x59\\xac\\x50\\xd4\\x4f\\x7e\\x29\\xca\\x5f\\x1b\\xb2\\xfc\\x67\\xc6\\x63\\x4a\\x9a\\x36\\x11\\x5a\\x8f\\xdd\\xae\\x35\\xc1\\x10\\xb2\\x6f\\x80\\x05\\x06\\x39\\x85\\xe8\\x09\\x54\\x52\\xdd\\xbc\\x52\\x69\\xf0\\x59\\xa0\\xc7\\x6e\\x32\\x98\\x90\\x64\\xa3\\x13\\xbc\\xcb\\x20\\x3a\\x8b\\xb2\\xc5\\x26\\x52\\x5e\\x5b\\x2c\\x36\\xc8\\x0c\\x32\\x5e\\xc1\\x9c\\xa9\\xe0\\x95\\x07\\x39\\xe7\\x07\\x6e\\xdd\\xb6\\xfe\\xba\\xf5\\xeb\\x37\\x0b\\x6b\\x77\\xa7\\x26\\xb4\\x6a\\x7f\\x3f\\xf9\\x3a\\xe5\\xc0\\xb9\\x05\\x98\\x15\\xa7\\xcc\\x6d\\xf8\\x51\\x66\\x56\\xc8\\x1a\\x6f\\xbb\\xd0\\x97\\x75\\x94\\xa5\\xfd\\x17\\x67\\x53\\xf3\\x7a\\x35\\xbe\\x5d\\x9a\\x95\\x49\\x6b\\x77\\x38\\x91\\x5a\\x51\\xe7\\x98\\xee\\xa0\\x3e\\x72\\x00\\x15\\x7a\\x55\\xe7\\x78\\xc0\\x41\\x2d\\x38\\xed\\xb8\\xe0\\x20\\x1d\\xa2\\xef\\xc2\\x01\\xc8\\x5e\\x07\\xd0\\x3b\\xca\\x1d\\x9d\\x0e\\x78\\xc0\\x01\\x74\\x8e\\x0e\\x47\\xaf\\x03\\x3a\\x44\\xdf\\x85\\xa3\\xdb\\xb1\\xdd\\x01\\x6b\\x7b\\x1d\\x4f\\x39\\x5e\\xc7\\xef\\x61\\xdf\\x85\\x03\\x3c\\x85\\xef\\x8f\\xa3\\xbf\\xf5\\x39\\xa8\\x4b\\x0e\\xf0\\x3e\\xfe\\x50\\xa3\\x83\\x94\\xc3\\xbc\\x75\\xb3\\x40\\xbc\\x5e\\xe2\\xba\\xa5\\xf7\\x3b\\xbd\\x5a\\x3f\\xe4\\xb2\\xc8\\xe9\\xfc\\x70\\xa5\\xf5\\x83\\x0f\\x6f\\x5b\\x7f\\xfb\\xdd\\x68\\xcd\\x16\\x1c\\x4c\\xad\\xd9\\x5c\\xbc\\x66\\x83\\xaf\\x94\\xa4\\xff\\xdf\\x89\\xf4\\x44\\x9d\\xe8\\x37\\x9f\\x1e\\xaf\\x94\\xc9\\xe5\\x16\\x16\\xb8\\xdd\\x5a\\xad\\x87\\x85\\x9c\\x97\\xf0\\x74\\xf3\\x3a\\x02\\x91\\x2c\\xb2\\x24\\x54\\x06\\x44\\xa3\\x84\\x25\\x6e\\x21\\x35\\xb4\\xc5\\x60\\x92\\xa9\\x54\\xe8\\xbc\\xaa\\xa8\\x5c\\xc8\\xa3\\xc1\\x7d\\xe7\\xa9\\x14\\x73\\x32\\x3c\\x20\\x42\\x13\\x4c\\xd9\\x75\\x18\\xdc\\x06\\xbc\\x0e\\xbe\\x50\\x1d\\xfc\\xf5\\xee\\x1b\\x5d\\xd3\\x98\\x6f\\xde\\x06\\x0d\\x60\\x94\\xb0\\x47\\x38\\x7a\\x9d\\xf0\\x19\\xcf\\x4c\\xf7\\x16\\x3f\\x38\\xff\\xf9\\xdf\\xd3\\x82\\x86\\xfc\\x27\\x50\\xfe\\x5b\\x8a\\xcb\\xec\\x17\\xee\\x13\\x8e\\x08\\x0f\\x56\\x04\\xc0\\xa4\\x3f\\x47\\xeb\\x71\\xda\\x9c\\xe4\\xab\\xba\\x74\\x4e\\xfe\\x10\\x9a\\x8b\\x03\\x69\\x11\\xf3\\xe2\\x43\\x31\\x8c\\xab\\x53\\x63\\xf7\\x99\\x4c\\x76\\x1a\\xbb\\x40\\x3d\\x88\\xc1\\x98\\xf4\\xc1\\x04\\xaf\\xa7\\xd4\\x0e\\x34\\x33\\x35\\x9a\\x99\\x5a\\x0d\\xe5\\x2a\\x46\\xce\\xa0\\xb3\\x77\\x59\\x3e\\x4c\\x46\\x24\\xe3\\x19\\x5d\\x86\\x13\\x90\\xef\\xec\\x4c\\xf1\\x0f\\x23\\x91\\x01\\xb1\\x85\\xbe\\x50\\x4e\\xa5\\x0d\\xa9\\xcc\\x90\\xed\\x75\\x46\\x30\\x0a\\x54\\x83\\x91\\x60\\xac\\xf0\\x8c\\xf0\\xa2\\x70\\x4c\\xf8\\xb9\\x52\\xd8\\x4a\\xbe\\xb4\\xb3\\x7f\\xff\\xce\\x9d\\xfb\\xf7\\xdf\\xdf\\x93\\xe3\\xe8\\x35\\xa0\\xfb\\x8a\\x85\\x7d\\xc2\\x93\\x22\\x8e\\xed\\x18\\xd0\\x12\\x16\\x4b\\x6f\\x0c\\xa0\\x51\\x2c\\xbd\\xc1\\x79\\x99\\x68\\x6f\\xe8\\x47\\x45\\xfd\\xc8\\x43\\x5c\\x1d\\xaf\\xb6\\x68\\x4d\\x26\\xc2\\xe1\\x50\\xab\\x65\\x3a\\x83\\x8c\\x30\\xe0\\x4d\\xf4\\xee\\xf6\\x92\\x6a\\x88\\x48\\x5e\\xdb\\xcd\\xdb\\xed\\xd0\\xa8\\x16\\xd1\\x10\\xf5\\x0a\\x23\\x74\\x21\\xf9\\x88\\x66\\x0e\\x61\\x8a\\x0a\\x25\\xfe\\x9a\\x56\\x42\\x06\\x9c\\xdb\\x54\\x31\\x8e\\x69\\x48\\x30\\x9a\\x95\\x74\\x01\\xec\\x6a\\x00\\xa5\\x20\\x84\\xeb\\x15\\x31\\x37\\x7a\\x1e\\x04\\x40\\x94\\xdc\\xd5\\xbf\\x2b\\x79\\x63\\xff\\x3b\\xc2\\x09\\xa1\\xfd\\x2e\\xe0\\xbe\\x7e\\x03\\x18\\x7a\\xef\\xde\\xbb\\xb6\\x1c\\xd8\\x06\\x8f\\x1d\\x39\\x94\\x0e\\x5f\\x83\\x53\\xc9\\xdf\\xa2\\xeb\\x37\\x05\\x2f\\xaf\\xbf\\xf7\\x36\\x32\\xba\\x0e\\xe9\\x7e\\x4d\\x97\\xce\\xc1\\x0f\\xe0\\x11\\xa4\\xfb\\xb5\\x88\\xfb\\xd9\\x89\\x5e\\x1f\\xa4\\x9f\\x17\\x63\\x84\\xf3\\xe3\\x6a\\x87\\xc2\\x62\\xf0\\x7a\\x09\\x0b\\x11\\x09\\x47\\xb0\\xa2\\x1c\\x2b\\x28\\x1a\\xbd\\x3b\\x82\\x44\\x49\\xc4\\x1b\\xd9\\x10\\xd9\\x1e\\xa1\\x0e\\x47\\x40\\x22\\x02\\x88\\x08\\xd0\\x40\\x5b\\xa0\\x83\\xb7\\x59\\xcc\\xee\\x0e\\xde\\x68\\xd6\\x77\\x2b\\xb6\\x2b\\x76\\x2b\\xa0\\x4e\\x01\\x14\\x44\\xd9\\xcc\\x99\\x79\\x95\\x46\\xcb\\x12\\xcb\\x8a\\x72\\x0a\\xfa\\x70\\xf2\\x8b\\xb1\\xba\\xa6\\x81\\xac\\x89\\x69\\x49\\x19\\xfa\\x7f\\xac\\x5a\\xf4\\xd5\\x7b\\xf3\\x52\\x5f\\xa6\\xbf\\xf2\\xf0\\x83\\x3d\\x0d\\xf2\\x56\\xd8\\x7c\\xc7\\x91\\xb5\\xcb\\x63\\x4a\\x59\\xd7\\x69\\xf0\\x88\\x30\\x5a\\x98\\x44\\xc6\\xd3\\xd5\\x47\\x64\\x13\\xae\\x90\\x3a\\x60\\x36\\x5a\\x7d\\x8e\\x15\\x37\\x8f\\xb2\\x1b\\x6a\\x97\\xde\\xf1\\xa8\\x60\\x41\\x5b\\xfa\\xef\\x74\\x11\\x92\\x88\\xbd\\x8a\\xcc\\x70\\xca\\x28\\x62\\xe7\\x38\\x08\\x1f\\x31\\x27\\x5e\\xa3\\x72\\x2a\\x9c\\x56\\x2b\\xe9\\x51\\x18\\xb5\\x48\\x65\\x81\\xfe\\x80\\xca\\x69\\x71\\x5a\\xda\\x79\\xb5\\xd3\\x25\\x81\\x90\\x11\\x34\\xed\\x6b\\xe7\\xa5\\x2a\\x16\\xc2\\xda\\xce\\x13\\x64\\xbb\\x94\\x66\\x9b\\x12\\x1c\\x39\\x87\\x70\\x00\\x78\\x4d\\x0a\\xb4\\x48\\xa4\\x56\\x1c\\x14\\x95\\xb1\\x14\\xc6\\xdd\\xcf\\xc8\\x0e\\x80\\x7b\\x9c\\x17\\x81\\xaa\\x44\\x02\\x7c\\x70\\xfe\\xc4\\xdf\\x80\\xe7\\x6f\\x42\\xf2\\xe5\\x59\\x8b\\xfb\\x7a\\xe7\\x2c\\x10\\x8e\\xcd\\x7c\\x78\\xff\\xc4\\x26\\x1b\\xf9\\xad\\xad\\x69\\xf9\\x75\\x4f\\x14\\xc8\\x2d\\xbf\\xdb\\x76\\x23\\x30\\x76\\x4e\\x16\\x1e\\x99\\x02\\x66\\xff\\xf4\\x7e\\x91\\x97\\x54\\xa3\\x09\\x2d\\x41\\x73\\xd1\\x11\\xb1\\xb8\\x93\\x51\\x01\\x42\\x45\\xe8\\x0d\\x18\\xab\\x48\\x4b\\x77\\xf0\\x40\\xab\\xc3\\x07\\xad\\x9d\\x97\\xb3\\x79\\x15\\x41\\xd9\\x20\\xb9\\xe4\\x7e\\xcd\\x9c\\x27\\xb8\\x64\\x6c\\x51\\xef\\xd4\\x55\\x3b\\x93\\x7f\\x4f\\x24\\x60\\x0d\\x79\\xc3\\xf3\\xa6\\x24\\x2b\\xe6\\x11\\xa0\\x21\\x48\\x35\\x67\\x76\\xe1\\x41\\xf8\\x95\\x88\\x65\\xc5\\xe2\\x9c\\x64\\x46\\xa1\\x30\\x1a\\x69\\xb3\\x41\\xaf\\xc5\\x7d\\xdc\\x2d\\x56\\x5a\\xab\\xd4\\xb6\\xf3\\x4a\\x63\\x07\\xaf\\x64\\xd5\\x32\\x0a\\x59\\xbc\\xed\\x3c\\x30\\xa1\\xff\\x74\\x69\\x27\\x40\\x59\\xd6\\x7b\\x2a\\x61\\x5e\\xc6\\x62\\x69\\xbc\\x3c\\x53\\x55\\x9e\\xef\\xd4\\x68\\x82\\x3e\\x43\\x80\\x7c\\x1d\\xca\\x13\\x6b\\xf5\\x0b\\x6e\\x17\\xa2\\xb7\\x2f\\x30\\x2c\\xbb\\x23\\x58\\x09\\x3a\\x0f\\x72\\x70\\xd1\\x08\\x31\\xc7\\x41\\x98\\x06\\x7a\\x84\\x07\\xc1\\x93\\x26\\x20\\x07\\x9f\\x25\\x59\\xf2\\xac\\x60\\x4a\\xf7\\x77\\xf8\\x0c\\x4e\\x85\\xbf\\x41\\x74\\x3d\\x3a\\xed\\x33\\xa5\\x7f\\x8b\\xc6\\x1d\\x01\\x4f\\xc5\\x2f\\x79\\xdc\\x6e\\x3f\\x11\\x08\\xf8\\x7d\\xd0\\xe5\\xa0\\x00\\x49\\x5a\\x59\\x39\\x2d\\x53\\x68\\xcd\\x3a\\x8d\\x52\\x1d\\x09\\x86\\x54\\x6a\\xbd\\x4e\\x2b\\x0b\\xc9\\xa2\\x05\\x93\\xa2\\x2b\\xa2\\x64\\x2b\\x76\\x6a\\x82\\x70\\x14\\x18\\xa3\\x80\\x8a\\x82\\x8f\\xa2\\xe0\\xad\\x28\\x38\\x1a\\x05\\x87\\xa2\\x60\\x4f\\x14\\x80\\xed\\xd8\\x59\\x8a\\x6e\\x93\\xdc\\xa5\\xde\\x68\\x79\\x94\\xa4\\xa2\\xe6\\x28\\x39\\x3f\\xe3\\x30\\x3d\\x80\\x33\\xc2\\x36\\x45\\x77\\x44\\xf7\\x46\\xa1\\xe4\\x5a\\x8d\\x63\\xd7\\x69\\x30\\x3a\\x24\\x0a\\x25\\xc7\\xea\\x89\\x28\\x38\\x18\\x3d\\x1a\\x25\\xb7\\x63\\xd7\\x2a\\xe8\\x8e\\x82\\x49\\xf8\\x9b\\xe2\\x51\\xd2\\x8c\\x7f\\xef\\xcb\\x28\\x89\\x6e\\x58\\x11\\xc5\\x5e\\xd7\\x83\\x51\\xaa\\x1b\\x0f\\x03\\x7b\\x5e\\x5b\\xa2\\xd4\\xd0\\xf3\\x51\\x70\\x3a\\x0a\\xf0\\x57\\x1f\\x8d\\xc2\\x0d\\xf8\\x2e\\xb0\\x28\\xe5\\x84\\x45\\x32\\x8a\\x44\\x5f\\x7f\\x09\\x7f\\x55\\x67\\x74\\xbb\\xe8\\x54\\xa5\\xb9\\x28\\xe8\\x8b\\x57\\x44\\x0f\\x44\\xc9\\x04\\xf6\\xea\\xa2\\x9f\\x90\\x43\\xbf\\xdb\\x69\\x31\\xeb\\x0c\\x3a\\x44\\x34\\x01\\xd6\\xa5\\x20\\x80\\x8c\\xe2\\x6c\\x06\\x5d\\x50\\x23\\x23\\x29\\x44\\xe8\\x11\\x15\\x85\\xf3\\x56\\x72\\x10\\xb7\\x33\\xee\\xd5\\x58\\x56\\x7a\\x66\\x11\\x02\\x66\\xe5\\x42\\x8b\\x64\\xf5\\xc2\\x8c\\x66\\x98\\xab\\x43\\x66\\x32\\xe0\\xd2\\xfe\\xb9\\x74\\xd7\\x9c\\x1c\\x1d\\x3f\\xa3\\xe2\\x63\\x6b\\x11\\x94\\x81\\x94\\x8f\\xb5\\x2a\\xe3\\x8b\\x4d\\xc1\\x91\\xbd\\x38\\x63\\xac\\x70\\xed\\xd8\\x59\\xef\\x0a\\x27\\x27\\x00\\xf6\\xbd\\x04\\x28\\x1f\\x01\\xda\\xc6\\x82\\x3b\\xc7\\x82\\xb6\\x11\\xa0\\x3c\\x71\\x1a\\x58\\x26\\x08\\x27\\xc1\\xaf\\x6a\\x84\\x37\\xc5\\xf2\\xc4\\xa2\\x5a\\xa1\\x29\\x6e\\x26\\xf5\\xff\\xb6\\x36\\x35\\x59\\x85\\xcd\\x60\\x15\\x7e\\x57\\xb8\\x05\\xac\\xc6\\xaf\\xff\\x9d\\x3c\\x6f\\x8e\\x8b\\x74\\x63\\x47\\xfc\\x90\\x86\\xaf\\x20\\xe9\\xd6\\x1d\\xaf\\xb1\\x04\\x74\\x10\\x06\\x8c\\x6e\\x05\\x5d\\x10\\x09\\x9b\\x8c\\x26\\x44\\xe6\\x2e\\x53\\xb1\\x89\\x84\\x26\\x13\\x53\\xe2\\x02\\x4e\\x17\\xd0\\xb8\\x80\\x8a\\x72\\x79\\xbd\\xb6\\x0e\\xde\\xab\\x57\\xaa\\x71\\x8e\\x1a\\x93\\x97\\xf3\\x2d\\x2e\\x97\\x28\\xe0\\x2e\\x03\\x28\\xcc\\x40\\x30\\xa6\\x5b\\x9b\\x20\\xb6\\x80\\xb9\\x83\\xa4\\x70\\x56\\xa5\\x0b\\xf1\\xc9\\xb2\\x59\\x37\\xbc\\xff\\xe9\\xd4\\xa7\\xdc\\x7d\\x1b\\x97\\x2e\\xfa\\xc5\\x98\\xab\\x76\\x3e\\x18\\x18\\x6f\\xf7\\x8f\\x7e\\x60\\xf5\\x6b\\xaf\\xce\\x99\\x05\\xce\\x69\\x57\\x4e\\xb9\\xfb\\xee\\x98\\xab\\x33\\x30\\xf1\\xaa\\x87\\xaf\\x79\\xfa\\x3e\\x87\\x65\\xed\\x17\\xdc\\xf2\\x35\\x63\\x57\\x06\\x88\\x34\\xbf\\xa0\\xe6\\x8a\\x98\\x96\\xab\\xe3\\x6d\\x46\\x92\\xb4\\x8b\\xd1\\x59\\xa5\\xdb\\x65\\x33\\xa9\\x8c\\x4e\\x63\\x91\\x11\\x1a\\xf5\\x45\\xc8\\x10\\x10\\xfb\\x5c\\x2b\\x68\\xa8\\xd2\\xa8\\xda\\x79\\x56\\xa3\\xb3\\x7b\\x0d\\x80\\x32\\x98\\x0d\\xa4\\x41\\x49\\x13\\x94\\x9e\\xf2\\x52\\x50\\x41\\x51\\x24\\x66\\x84\\x72\\xcc\\x09\\x2b\\x53\\x93\\x8b\\x61\\x9c\\xfc\\xb4\\xdd\\x2f\\x1a\\x0c\\xe8\\x8d\\xd8\\xc0\\x8c\\xac\\xb4\\xb7\\xd5\\x37\\x88\\x27\\x96\\xbc\\x6b\\xb2\\x70\\x62\\xb2\\x50\\x84\\x38\\xe2\\x9b\\x93\\x41\\xf9\\x64\\xf0\\x66\\x22\\x81\\xf6\\xeb\\x3f\\xc2\\x8a\\x79\\x69\\x56\\x84\\x36\\x4a\\x0e\\xb6\\x2c\\x16\\xeb\\x73\\xe4\\x88\\x33\\xa1\\xf3\\x2e\\xce\\x8b\\xbe\\xc9\\x18\\x86\\xff\\x90\\x7c\\xb0\\x44\\x32\\x85\\x95\\xe0\\x32\\x84\\x01\\xe4\\x22\\x72\\x4b\\x9e\\x0f\\xb6\\x18\\xdd\\xbf\\x53\\x5c\\x87\\x99\\xf1\\x52\\x99\\x96\\xd1\\xe9\\xf4\\x80\\xa1\\x19\\x05\\x6e\\xb3\\xae\\x51\\xb0\\x0a\\x97\\xdb\\xc2\\x00\\xa7\\xcd\\x89\\xf8\\xbc\\x4e\\x05\\x6d\\x3a\\xec\\xea\\x50\\xc9\\xdb\\x91\\x29\\xcb\\xe6\\x67\\x9d\\xd5\\xa6\\x23\\xd3\\x99\\x09\\x1a\\x73\\xe1\\xf6\\x53\\x8e\\x3b\\x5a\\x52\\xb3\\x61\\x9e\\xb9\\x0a\\xfa\\xc1\\xfd\\xdd\\x60\\x7e\\x0f\\x52\\x2f\\x7a\\x66\\x08\\xba\\x29\\x7f\\x5f\\x94\\x99\\xf6\\x09\\xb0\\xde\\xdd\\xd8\\x68\\xff\\x3a\\x79\\xc1\\xde\\xd8\\xe8\\x04\\xd3\\x46\\x0b\\xff\\xca\\x4e\\x3e\\x45\\x97\\xd4\\x28\\x11\\x6b\\xac\\x33\\x5e\\xac\\x87\\x76\\xad\\x42\\x61\\xf7\\xb8\\x75\\x9e\\x32\\x0f\\xa9\\x80\\x76\\x96\\x25\\xba\\x78\\xd6\\x82\\x4b\\x96\\x91\\x14\\x63\\xb1\\xcb\\x1c\\x89\\x2e\\x7d\\x07\\x16\\x5f\\xf9\\xce\\xd8\\x81\\xc9\\x67\\x68\\x73\\x6a\\x2a\\xd3\\xf9\\x02\\x29\\x85\\x03\\x92\\x62\\xf5\\x5a\\x19\\x88\\x59\\x2d\\x7b\\xe6\\x8d\\x8b\\x5e\\x07\\x1b\\x12\\x09\\xc1\\x97\\x78\\xbb\\xa0\\x60\\x7c\\xef\\x44\\x5f\\x83\\x41\\x1e\\xf7\\xe9\\x16\\x82\\x0f\\x01\\x65\\x6f\\xca\\x64\\x9e\\x9d\\x15\\x92\\x42\\xf2\\x93\\x25\\x7a\\xd5\\xe9\\xa9\\x5e\\x89\\xee\\x52\\x39\\x73\\x89\\x78\\x05\\xce\\xed\\x03\\x84\\x06\\xa7\\xce\\x19\\x35\\x72\\x68\\x77\\x88\\xa9\\x73\\x1a\\x15\\x6d\\x33\\x90\\x62\\xde\\x9c\\x56\\xa5\\xb3\\x1a\\xa5\\x51\\xb3\\x0c\\x41\\xb3\\x12\\xd4\\x5e\\x9e\\xdf\\x1b\\xaf\\x6f\\xbe\\xba\\xf4\\xbf\\x4d\\x9d\\x4b\\x2e\\x14\\x07\\xfc\\xdd\\xe5\\xa9\\x73\\x79\\xe7\\x65\\x66\\xbc\\x42\\x4b\\x92\\x32\\x9d\\xd3\\x69\\x91\\x59\\x5c\\x6e\\x2d\\xe8\\xe0\\xd5\\x5a\\x97\\x16\\xe9\\x07\\x5a\\x2d\\xa5\\x94\\x5c\\x61\\xed\\xbc\\x51\\xa9\\x73\\x5a\\x48\\x19\\x25\\x6b\\xe7\\xed\\x14\\x9b\\xef\\xdd\\xcd\\xcd\\x60\\x28\\x1a\\x98\\xa3\\x38\\x78\\xd2\\x82\\xf8\\x1e\\xf9\\x89\\x70\\x02\\xaf\\x77\\x02\\x9c\\x41\\x5c\\x0d\\x5f\\xf1\\x2b\\xf0\\x84\\xf0\\x44\\xce\\x81\\x78\\x19\\x34\\xd8\\x32\\xab\\x4f\\x0c\\x8a\\x4f\\x97\\x9e\\x8b\\x09\\xd7\\xa9\\x98\\xb0\\xae\\x25\\x63\\xcd\\xd2\\xb0\\x95\\x68\\x36\\x4a\\x9d\\x49\\x2b\\x71\\x7c\\x43\\xde\\xc8\\x8b\\xf2\\x52\\x2a\\x2f\\x1b\\x6a\\xfe\\x10\\xa9\\x72\\x71\\x70\\x70\\x64\\x56\\x71\\xc8\\x0e\\x0a\\x8d\\x09\\x63\\x2d\\x7a\\xc5\\x31\\x4d\\xcc\\xc8\\xe9\\x69\\xe2\\xeb\\x56\\x89\\xdf\\x22\\x7d\\xe6\\x4d\\x3c\\x46\\xa0\\x89\\x3f\\x24\\x53\\x03\\xb5\\x11\\x9a\\x59\\x33\\x0b\\x4e\\xb1\\x1f\\xb1\\xe4\\x1d\\x2c\\x58\\xc1\\x82\\x38\\x0b\\x9c\\x2c\\xa0\\x58\\xb0\\xe4\\x23\\xf6\\x4b\\x96\\x3c\\xcd\\x82\\xa3\\x2c\\x78\\x80\\x05\\x9b\\x58\\x50\\xc4\\xd6\\xb1\\x8b\\x58\\x78\\x09\\xbf\\x3e\\xce\\x9e\\x66\\xe1\\x36\\x16\\xf4\\xb0\\x2b\\x58\\x12\\x7d\\x26\\xc8\\x0e\\x61\\x49\\xbd\\xf8\\xc1\\xa3\\xec\\x29\\x96\\xdc\\xcd\\x02\\x72\\x3d\\x0b\\xca\\xd9\\x6e\\x96\\xe4\\x70\\x83\\x03\\x50\\x77\\x9e\\x05\\x67\\x58\\x70\\x98\\x05\\xbb\\x58\\xd0\\xcd\\x6e\\x60\\xc9\\x46\\x16\\x78\\xf1\\xab\\xd7\\xd9\\x33\\x2c\\xdc\\xc0\\x82\\x5e\\x76\\x3d\\x4b\\x1e\\x66\\x4f\\xb0\\xef\\xb3\\x90\\xc5\\xfa\\xb0\\xdf\\xe6\\x1c\\xcd\\xb1\\x8d\\xe8\\x6d\\x88\\xbe\\x40\\x0e\\x19\\x64\\xe7\\x76\\xf0\\x06\\x92\\x34\\xe9\\xb0\\xce\\x9f\\x2d\\x34\\xb1\\x35\\xa6\\x3c\\xc7\\xa2\\xc0\\x2c\\x9a\\x39\\xc0\\x7f\\x92\\xc8\\x0a\\xcc\\x7c\\x9c\\x24\\x89\\xbc\\x45\\x5f\\x71\\x8e\\xaa\\x26\\xe5\\x76\\xc0\\x37\\x91\\xb6\\xd6\\xee\\xdc\\x99\\xdc\\xb3\\xd7\\xd1\\xde\\x5b\\x34\\x16\\xf6\\x0b\\xef\\xef\\x43\\x1a\\x9b\\x7d\\xc4\\x08\\x3b\\x79\\xd6\\xb4\\x0f\\x78\\x25\\x3a\\x30\\x0b\\xad\\xf0\\x1c\\xec\\x47\\x6b\\x3c\\x43\\xd4\\x7f\\x47\\x09\\xe3\\xe8\\x26\\x7a\\x2b\\xd2\\xf0\\xcb\\x89\\x61\\x60\\x41\\x5c\\x08\\xd3\\xd5\\x7a\\xaf\\xb7\\x48\\x15\\xaa\\xb0\\x5a\\x43\\x34\\xac\\xab\\x6f\\xab\\x07\\xd5\\xf5\\x20\\x58\\x0f\\x2c\\xf5\\x80\\xac\\x07\\xa7\\xea\\xbf\\xac\\x27\\x8f\\xd5\\x83\\xbd\\xf5\\x07\\xeb\\xc9\\x7b\\xeb\\xc1\\xa6\\x7a\\x30\\xa5\\x7e\\x65\\x3d\\x39\\xa4\\x1e\\x84\\xeb\\x01\\x55\\x0f\\x16\\xfc\\xa3\\x1e\\xec\\xab\\x3f\\x54\\xff\\x56\\x3d\\x44\\x7f\\x9b\\x8b\\xff\\x36\\xa9\\x1e\\xb4\\xd6\\x83\\xca\\x7a\\x00\\x88\\x7a\\x6f\\x3d\\xf9\\x65\\x3d\\x38\\x51\\x0f\\x8e\\xd6\\x83\\x03\\xf5\\x60\\x52\\xfd\\xa6\\x7a\\xb2\\xbc\\x1e\\x38\\xc5\\xcf\\xf6\\xa0\\x57\\x07\\xeb\\x8f\\xd6\\x9f\\xaa\\xa7\\xcb\\xeb\\x3b\\xeb\\x49\\xaa\\x3e\\x58\\x4f\\xd6\\xe2\\xf7\\xbe\\xac\\x87\\xce\\xfa\\xb1\\xf5\\xe4\\xe9\\x7a\\xb0\\xa2\\x7e\\x47\\xfd\\x5e\\x74\\x13\\xb5\\x08\\x7f\\x1c\\xd4\\x89\\x83\\x3b\\x5b\\x0f\\x0e\\xa2\\x8f\\x91\\xab\\xeb\\x1f\\x10\\x7f\\xcf\\x59\\x5f\\x57\\x4f\\xea\\xea\\x81\\x82\\xf4\\x86\\xfc\\xa1\\x76\\xde\\xef\\xac\\x2e\\x8a\\x0e\\x75\\x0c\\xed\\xe4\\xdd\\x24\\x49\\x00\\x37\\x45\\x38\\x2c\\xa2\\x6a\\x4c\\x54\\xc5\\x8a\\x4b\\xe5\\xa5\\x9d\\xbc\\xd9\\xa0\\x94\\xeb\\xf3\\x98\\x8b\\x68\\x93\\x89\\x72\\x2c\\xd7\\x4b\\x7c\\x59\\xcb\\x81\\x59\\x39\\x1a\\x4e\\x46\\xf3\\xb9\\x12\\x7c\\x5a\\xda\\x22\\x4f\\x21\\x10\\x1b\\x53\\xdd\\x13\\x7d\\x06\\x59\\x2a\\xb1\\x5b\\x0c\\xea\\x58\\xdc\\x29\\x19\\x91\\xed\\xa7\\x48\\xeb\\x71\\x3a\\x8f\\xd8\\xe5\\x32\\x3e\\x6b\\xee\\xae\\x7b\\x9f\\x7c\\xac\\xb9\\x87\\x9e\\x0d\\x96\\xc2\\xc0\\x92\\xc6\\xbb\\xee\\x7b\\x66\\x6f\\x70\\x56\\x80\\x99\\x2b\\x04\\x17\\x7c\\x16\\x1f\\x55\\x58\\x5f\\x5d\\xd8\\xd2\\x46\\x7e\\xb8\\xa9\\x0c\\xe9\\x09\\xa3\\x86\\x57\\x8c\\xfc\\xd7\\x7f\\xbe\\x06\\x64\\xf8\\x17\\x67\\xec\\x23\\x84\\xc7\\x9e\\xb6\\x47\\xbe\\xfe\\xd7\\x17\\x42\\xd2\\x62\\x18\\xdd\\xf4\\x21\\x3e\\x8a\\x30\\xf2\\xc2\\x33\\x21\\xf2\\xb0\\xf9\\xb5\\xfd\\xa0\\x97\\x4b\\xc6\\x5d\\x47\\x44\\x3a\\x91\\x23\\xe2\\xf8\\x4a\\xa4\\x93\\xe9\\x12\\xbf\\x10\\x1e\\xa4\\x56\\xa1\\xb3\\xc8\\x12\\xa3\\xe2\\x41\\x25\\x44\\x9a\\xb5\\x4a\\x85\\xf4\\x03\\x8b\\xd5\\x6c\\x50\\x53\\x0a\\x06\\xf3\\x69\\x46\\x67\\x94\\xca\\x43\\x95\\x1d\\x52\\x89\\x68\\x9e\\xd7\\xdf\\x56\\x96\\x83\\xc5\\x73\\x05\\xff\\x1f\\x56\\xf7\\x6f\\xb8\\xf8\\x62\\x0e\\x73\\x5b\\xae\\x5f\\x9e\\x61\\x1c\\x48\\xa3\\x4f\\x31\\x10\\x61\\x9a\\x38\\x26\\x0f\\xe2\\x61\\x18\\x63\\xd3\\x43\\xb4\\xc5\\x43\\x84\\x8d\\x31\\x99\\x34\\x36\\x0d\\xe7\\x65\\xe1\\x04\\x9e\\x65\\x15\\x3a\\xa3\\x46\\xa7\\x69\\xe7\\x75\\xac\\xc7\\x2e\\x1d\\x3f\\xa7\\x42\\x37\\xb8\\xc3\\x3f\\xaf\\xab\\x67\\x6e\\x09\\x76\\xd6\\xcf\\x9f\\xae\\x35\\x06\\x0f\\xd5\\xd4\\xd4\\xf0\\x15\\x69\\xbe\\xfb\\xcc\\x9d\\x9b\\xef\\xc0\\xcf\\xc9\\xa1\\x1d\\x23\\xac\\x7a\\x70\\x73\\x96\\xc1\\x01\\xdf\\xb4\\x5b\\x36\\x81\\x48\\x8a\\x01\\x8b\\xfc\\x96\\xb9\\x03\\xcb\\x0e\\x30\\x32\\x7e\\x4e\\xa1\\x47\\x22\\x8f\\x65\\x81\\x1e\\xba\\x5d\\xd7\\xba\\xc1\\x14\\xf7\\x5c\\x37\\xd9\\xe2\\x06\\xd5\\x6e\\x10\\x74\\x03\\xb4\\xf7\\x6f\\x89\\xd0\\x6f\\xf7\\xba\\xc1\\x26\\x37\\x58\\x29\\xba\\xe3\\xab\\xdd\\x53\\xdc\\x24\\xfa\\xa3\\x5e\\xf4\\xec\\xcf\\xff\\x5a\\x0c\\x0d\\xbc\\x95\\x0a\\x0d\\xb4\\xba\\x57\\xba\\xef\\x75\\xef\\x73\\x53\\x76\\x37\\xf8\\xc4\\xfd\\xb5\\x9b\\x3c\\xe5\\x06\\xc7\\xdc\\x60\\xa7\\xfb\\x39\\x37\\x79\\x93\\x1b\\x80\\x8c\\x47\\x9f\\x92\\x02\\x07\\xe8\\xa3\\xd8\\xd3\\x7f\\xdc\\x0d\\x25\\x57\\x7e\\x8f\\x9b\\x1a\\x2a\\x45\\x1a\\x56\\x88\\x8e\\x7c\\xb8\\x08\\xc7\\x18\\x82\\xa9\\x5b\\x8f\\xe3\\x90\\x42\\x8f\\x1b\\x87\\x19\\x28\\x55\\x26\\x54\\xb0\\x41\\xf4\\xf5\\x77\\xba\\xfb\\xdc\\x50\\x0e\\xf5\\xac\\x89\\xc5\\xba\\x9f\\x89\\xe8\\xe0\\x4d\\xac\\xd3\\xa2\\x53\\x4a\\xb2\\xc3\\xa6\\xa6\\x74\\x44\\x9e\\xdf\\x78\\x80\\xaf\\x3f\\x2f\\x5a\\xb6\\x2c\\x8d\\x3a\\xb6\\xec\\x32\\x70\\xb1\\x65\\x79\\x87\\x48\\x3c\\x3f\\x97\\xf9\\x8c\\x73\\x74\\xa9\\x43\\xc0\\x21\\x92\\x90\\x78\\x4d\\x7c\\xb7\\x5f\\x24\\xa8\\x79\\x29\\xf2\\xc9\\x92\\x51\\x56\\x89\\x12\\xe9\\x9b\\x39\\x88\\x71\\x7f\\x41\\x47\\xfc\\x73\\x02\\x42\\x8b\\xc5\\xcd\\x6a\\x35\\x0c\\xa3\\x75\\x43\\xce\\x73\\x2d\\x07\\xa6\\x70\\x73\\x39\\xb2\\x85\\x03\\xd5\\x1c\\x08\\x72\\xc0\\xc2\\x81\\xb7\\x38\\xb0\\x97\\x03\\xf7\\x72\\x60\\x13\\x07\\x56\\x8a\\xae\\xf8\\x6a\\x6e\\x0a\\x47\\xa2\\x3f\\xea\\x45\\xaf\\xfe\\xfc\\xaf\\xc5\\xb0\\xc0\\x5b\\xa9\\xb0\\x40\\x2b\\xb7\\x92\\xbb\\x97\\xdb\\xc7\\x51\\x76\\x0e\\x7c\\xc2\\x7d\\xcd\\x91\\xa7\\x38\\x70\\x8c\\x03\\x3b\\xb9\\xe7\\x38\\xf2\\x26\\x0e\\xed\\x51\\xda\\x9b\\x4f\\x49\\x41\\x03\\xf4\\x51\\xec\\xe5\\x3f\\xce\\x41\\xc9\\x8d\\xdf\\xc3\\xa1\\x3d\\x12\\xa3\\x0c\\x2b\\x44\\x27\\x3e\\x5c\\x84\\xe3\\x0b\\xc1\\xd4\\xad\\xc7\\x71\\x38\\xa1\\x87\\xc3\\x21\\x06\\x4a\\x95\\x09\\x13\\x6c\\x10\\xfd\\xfc\\x9d\\x5c\\x1f\\x87\\xf6\\xc8\\x65\\x35\\xa7\\xc4\\x90\\xdd\\xa0\\xd0\\xb1\\x1a\\x4a\\xd3\\xc1\\xbb\\x19\\x8a\\x69\\xe7\\x91\\x10\\x24\\xca\\x06\\xf5\\xf3\\xff\\xbf\\xdc\\x25\\xc9\\x92\\x0f\\x0d\\x16\\xda\\xcb\\x3c\\x32\\x07\\xf5\\xcb\\xd7\\x7f\\xbf\\x29\\x91\\xdd\\x2f\\xe9\\xda\\x84\\xad\\xf9\\xcb\\x8e\\x7e\\x66\\xef\\x44\\xff\\x83\\x0e\\x9d\\x7f\\x8c\\x7b\\x6c\\x41\\x1c\\x60\\x76\\x7c\\x18\\xf0\\x78\\x34\\x0e\\x86\\xd1\\x98\\x20\\xe7\\xd5\\x79\\x81\\x16\\x7a\\x71\\x3f\\x38\\xe0\\x46\\x5a\\x2f\\x70\\x01\\xa4\\x9b\\x01\\xa0\\x32\\x99\\xcd\\xba\\x0e\\xde\\x4c\\x60\\xc4\\x72\\x95\\xa7\\x9d\\x57\\x21\\x0e\\xa1\\x62\\x07\\x7a\\xfd\\x45\\x40\\xf0\\xa2\\x3c\\x85\\x52\\xf4\\xfb\\xa7\\xab\\x1a\\x72\\x52\\x2a\\xa5\\xe2\\x06\\x24\\x8c\\xc9\\xeb\\x86\\x3e\\xf6\\xca\\xcc\\xee\\xe3\\xfb\\x84\\xf6\\x84\\x11\\x4b\\x60\\xf2\\xdd\\x31\\x33\\xa6\\x1f\\x2a\\x84\\x13\\x84\\x3f\\x56\\x5d\\xbb\\x60\\xfe\\xf2\\x2a\\xac\\x08\\x63\\x41\\xdc\\x74\\xf1\\xfc\\xa4\\xab\\x7f\\x21\\xec\\x10\\xe5\\x2f\\xe6\\x0b\\x0a\\x34\\x07\\x99\\xe8\\x35\\x5d\\x14\\x1f\\x8e\\x2c\\x29\\x96\\xd0\\x86\\x7d\\x3e\\x2d\\x0b\\x23\\x05\\x27\\x0a\\x00\\x51\\x00\\x4a\\xa1\\xd7\\x29\\xb7\\xd8\\x2c\\x48\\x85\\x40\\xfc\\x55\\xad\\x70\\x29\\xd0\\x6c\\x14\\x0a\\x93\\xdb\\xa6\\x0b\\xfb\\xc4\\xb3\\x67\\xa2\\xda\\xf9\\xa0\\x89\\x1d\\x10\\x01\\xc0\\xf3\\xc8\\x8b\\xb9\\xe6\\x47\\x01\\x32\\x4e\\xec\\xdc\\x79\\xe1\\x6d\\xa1\\x73\\xb5\\xb9\\x53\\x2f\\x5c\\x3d\\xfd\\xea\\x6e\\xe1\\x6f\\x2b\\x1e\\x7b\\x15\\x4d\\xef\\x31\\xc1\\x84\\xf6\\xea\\x3f\\x64\\x77\\x46\\xf5\\x34\\xa0\\xa9\\x4c\\x22\\xf7\\x8a\\xb3\\x9c\\xb7\\xbc\\x3a\\xbd\\x67\\x79\\x0a\\x28\\x29\\xea\\x9b\\xe9\\x79\\xbe\\x1a\\xdf\\x2e\\xcd\\x92\\xd5\\x3a\\x5d\\xbb\\x5c\\xa0\\xdb\\x05\\x74\\xae\\x32\\x17\\xb9\\xe2\\x25\\x17\\xd8\\xe0\\x02\\x65\\xae\\x0e\\x17\\xb9\\xcd\\xf5\\x94\\x8b\\xec\\x73\\x01\\xce\\xd5\\xe8\\x22\\xd7\\xa3\\xbb\\xc8\\xf4\\x5d\\x23\\xb6\\xbb\\x0e\\xb8\\x4e\\xb8\\xde\\x77\\x9d\\x77\\xd1\\xeb\\x5d\\x80\\x70\\xc5\\x5d\\xdd\\x2e\\x58\\xee\\xda\\xe0\\xda\\xed\\x3a\\x2c\\xbe\\xcd\\xf4\\xb9\\xa4\\x7b\\x28\\x9d\\x0b\\x7f\\x1e\\xaa\\xe0\\x60\\xab\\x67\\xd3\\xe1\\x55\\x13\\x57\\x8f\\xcd\\xc6\\x01\\xd2\\x6b\\x26\\x8a\\xf9\\x65\\x59\\xa2\\x4f\\x3d\\xcb\\x8f\\x03\\x5c\\x71\\x05\\xc9\\x4f\\x5e\\xb8\\x6e\\x09\\x5a\\xb5\\x13\\xb7\\xa4\\x56\\x0d\\xe0\\x55\\xbb\\xc2\\x5a\\x61\\xf9\\x10\\x4b\\xd5\\x90\\x39\\x89\\xde\\x78\\x13\\x01\\xe4\\xc0\\xe1\\xd0\\x6a\\xe5\\x2c\\x74\\xb9\\x09\\x27\\x32\\x2e\\x90\\x6d\\x87\\x06\\x8d\\xe3\\x00\\xac\\xd5\\x60\\xed\\xe2\\x0d\\x16\\xb5\\x0c\\xdc\\x2e\\x03\\xe3\\x64\\x60\\x98\\x0c\\x59\\xe8\\x32\\x4e\\x56\\x26\\x83\\x0a\\x1a\\xc7\\x05\\x3a\\x78\\x95\\x9e\\x68\\xcc\\xd8\\xdc\\x68\\xf4\\x03\\x7c\\xe9\\xb9\\xe5\\xff\\x15\\xe5\\x26\\x5f\\x4e\\x29\\xb3\\x25\\xd7\\xeb\\x50\\xe3\\xfb\\x33\\x28\\xa5\\x12\\x13\\xae\\x6a\\x2c\\x1c\\xfd\\xe8\\x6d\\xa7\\x3e\\xf8\\xfe\\x7c\\xc7\\x3d\\xa5\\x0b\\x57\\xac\\xbb\\x9e\\x16\\x4e\\x92\\xb6\\xfb\\xfb\\x4b\\x1e\\x05\\x96\\xc0\\xc5\\x4f\\xbf\\x16\\x70\\xc5\\xd9\\xa3\\x8f\\x48\\xfb\\x7c\\xe9\\x1c\\xfd\\xba\\x58\\x0b\\x17\\xc6\\x59\\x5c\\x68\\x12\\x26\\x1f\\xa1\\x76\\x32\\x8c\\xda\\x84\\xc8\\xd9\\x81\\x98\\x8e\\xda\\xe1\\x72\\xa0\\xb9\\x38\\x1c\\x06\\x0b\\x4e\\x6c\\x6f\\xe7\\x2d\\x3a\\xad\\xc9\\x60\\x42\\x96\\x06\\xab\\x08\\x76\\xf0\\x0a\\x0b\\xf4\\x74\\xe4\\xc1\\x4d\\x0f\\x12\\x0d\\x18\\x18\\x05\\x00\\xe9\\xaa\\x38\\x11\\x3f\\x2d\\xcf\\x24\\xc9\\x85\\xaa\\x22\\x17\\x6b\\xde\\x3c\\x79\\xe6\\xe4\\xbb\\x67\\x4e\\xfd\\x51\\x71\\x28\\x6d\\x45\\x91\\x5f\\x66\\x7c\\xc6\\xe6\\x3f\\xbf\\xf9\\xdd\\xe7\\xc9\\x2f\\x3e\\x39\\x9d\\x6f\\x4d\\xd5\\x66\\x3c\\xc6\\x24\\xee\\xc8\\x4e\\x79\\x44\\x3d\\x08\\xf3\\x9c\\x21\\xa4\\x4c\\xa6\\xf4\\x20\\x3d\\xc4\\xe0\\x50\\x42\\x86\\x66\\x94\\x06\\xca\\xcb\\xc9\\xdc\\xa4\\x1b\\x09\\x3f\\xb7\\xdb\\xa4\\x61\\x08\\x83\\xc9\\x80\\xe9\\x4b\\x63\\x6d\\xe7\\x35\\x7a\\xf4\\x9f\\x4e\\x44\\x00\\xca\\xe4\\xca\\x66\\x54\\x90\\xcb\\x5d\\xc5\\x22\\xef\\x34\\x88\\xbc\\xd3\\x24\\xe1\\x6e\\xa5\\xcf\\xa4\\x29\\x8d\\x50\\x48\\x3e\\x74\\xc7\\xa3\\xc2\\x4f\\x27\\x1c\\xbc\\x6a\\xfa\\xab\\x7f\\x24\\xbd\\xe2\\x71\\x9c\\x37\\xe9\\xaa\\x29\\x1d\\x4b\\xa6\\x81\\x72\\x61\\x65\\xdc\\x0c\\x96\\xb8\\xd7\\xb4\\xdf\\xbe\\x3a\\x75\\x10\\xa1\\x3e\\x31\\x69\\x46\\x22\\xed\\x0f\\xa5\\xb7\\x19\\xc3\\xd8\\x1f\\x6a\\x60\\x88\\xe6\\xeb\\x09\\x82\\x3d\\x48\\x06\\x0c\\x61\\xf2\\x97\\x97\\x3e\\x38\\xe8\\x0d\\x98\\xa8\\xbc\\xbc\\x6d\\xe9\\xfe\\x69\\xa9\\xfb\\x71\\xcd\\xc3\\x26\\x09\\x0f\\x13\\x92\\x1e\\x43\\x18\\x92\\xca\\x92\\x88\\x09\\x0e\\xa8\\x9d\\x21\\x85\\xd1\\xf0\\x38\\xb2\\x2b\\x4a\\x89\\x4d\\xf1\\x71\\x0a\\x26\\x12\\x01\\xc5\\x0e\\xbb\\xd7\\x64\\xb2\\x17\\xc3\\xb2\\xf2\\xee\\xf2\\xdd\\xe5\\xa4\\xae\\x9c\\x2b\\x2f\\x2b\\x87\\x4a\\x18\\x29\\x2e\\x2c\\x6e\\xe7\\x0b\\x59\\x8b\\xbb\\x93\\xb7\\x5b\\x9c\\x8a\\x52\\xa2\\xb4\\x83\\x67\\x08\\x42\\x47\\xe9\\x82\\x13\\x10\\xe9\\xeb\\xf4\\x3a\\x52\\x01\\x75\\x7a\\xac\\x51\\x50\\x84\\x44\\x17\\x52\\xde\\x7f\\xb6\\x18\\xcd\\x96\\x4d\\x67\\xcc\\xeb\\x16\\x93\\x2e\\x4d\\x33\\xc5\\x44\\x9f\\x52\\x8c\\x0d\\xb0\\xe6\\x94\\xa6\\x2d\\x55\\xd8\\xa6\\x40\\xe8\\x06\\x14\\xd8\\x90\\x77\\x75\\x83\\x8d\\x17\\x2e\\x30\\x63\\xf6\\x8d\\x58\\x71\\xc3\\xf1\\x17\\x24\\xb4\\xb9\\xea\\xc6\\x9a\\xba\\xba\\xb6\\x29\\x42\\xc9\\x8c\\xbb\\xa8\\x67\\x36\\xda\\x9a\\x4e\\xcf\\x5b\\x30\\x7c\\x5a\\xf1\\xb0\\x6d\\xb7\\x24\\x6b\\x7f\\x75\\x12\\x03\\xcd\\x6d\\x5e\\x45\\x1e\\x4e\\x4c\\xf4\\x27\\x27\\x8b\\x6a\\xf5\\xe7\\x44\\xca\\x17\\x05\\x97\\xe0\\xb5\\x86\\x1f\\x49\\x39\\xf2\\xc4\\x93\\x29\\x5f\\x94\\xde\\x10\\x06\\x1d\\x7a\\x93\\x82\\xc8\\xf3\\x45\\xa5\\x6c\\x60\\xc2\\x8d\\x64\\x41\\x83\\x85\\xd5\\xb0\\x36\\x1b\\xa3\\x21\\x18\\xc2\\xc3\\xb1\\x36\\x74\\x76\\x58\\x17\\x8b\\xce\\x0e\\xcb\\x42\\x25\\xf6\\xab\\xab\\xb5\\x60\\xac\\x16\\x14\\x6a\\x87\\x69\\x49\\xa8\\xd3\\x72\\x5a\\x52\\x41\\x6b\\x95\\x7a\\xb7\\x13\\x3a\\xbb\\x78\\x38\\xb0\\x1d\\xca\\xb2\\xfc\\xf8\\x60\\x4e\\x13\\xf2\\x54\\x67\\x82\\x34\\xdc\\x47\\x1a\\x6b\\x26\\x53\\x13\\x0b\\xa7\\x89\\x95\\xa5\\xcb\\xde\\xb8\\x63\\xcb\\xa3\\xa3\\x0b\\xfd\\x4d\\xd5\\x13\\xfb\\x54\\xa0\\x56\\x78\\x85\\x5e\\x77\\xd3\\x8f\\xe6\\xd4\\xe2\\x1a\\xd3\\x07\\xfe\\x72\\x5d\\x40\\xf8\\xe7\\xa3\\x76\\x73\\xff\\x8e\\x9e\\x67\\x76\\xb9\\xd1\\xbc\\x1b\\x2e\\x9d\\x23\\xcf\\x8a\\xb6\\xfc\\x14\\x71\\x1d\\x4a\\xd0\\xe1\\x71\\x8a\\xf5\\xa6\\xe3\\xc4\\xd7\\x88\\x97\\x91\\xcd\\x22\\x4d\\xfd\\x47\\xa4\\xc1\\x85\\x7f\\x94\\x70\\x59\\x95\\x12\\x2e\\xeb\\xa5\\x83\\x76\\x53\\x6e\\x15\\x8d\\x88\\xe5\\x9a\\x57\\x2f\\x8c\\xe3\\x0f\\x97\\xce\\x31\\x2a\\x74\\x16\\x03\\x44\\x11\\x31\\x2f\\x5e\\xe7\\x28\\x2a\\x22\\x23\\x9c\\x99\\xd2\\x70\\xa4\\x06\\x16\\x97\\x38\\x0a\\xdb\\xb3\\xbc\\x26\\x60\\x09\\x14\\xb5\\xf3\\x01\\x44\\x41\\x01\\x36\\xc5\\x75\\x60\\x07\\xe2\\x3c\\x0a\\x43\\x17\\xaf\\x51\\x58\\x06\\x2f\\xa7\\xc9\\xe1\\x34\\x79\\xde\\xca\\x3c\\x27\\x58\\x2c\\xe3\\x21\\xcb\\x08\\x81\\x48\\x5a\\x25\\x18\\x9a\\xf8\\x69\\xae\\x5b\\xcc\\x2e\\xfa\\xcb\\xfc\\xcb\\x53\\x32\\xc1\\x78\\x75\\xf7\\x0b\\xd7\\x0d\\xf0\\x8e\\xa5\\x1d\\x67\\x69\\x09\\x31\\x4d\\xd2\\x14\\x44\\xf9\\xc9\\xd4\\xa0\\xb9\\xfa\\x89\\x42\\x62\\x59\\x7c\\xb8\\x9e\\xa2\\x14\\xb6\\xc2\\x42\\x03\\x08\\xbb\\xdd\\x40\\x01\\x8b\\x8a\\x7d\\x68\\xb6\\x3e\\x36\\x0a\\xf5\\x68\\x5a\\x36\\xb5\\xde\\xa5\\x47\\xd3\\xd6\\xeb\\x65\\x6a\\xab\\x51\\xa7\\x54\\x2b\\x91\\xba\\xa3\\xd6\\x29\\x00\\x95\\xdb\\xde\\xe3\\xff\\xa6\\x92\\x26\\x74\\xc5\\x42\\x9a\\x8c\\xe0\\x0b\\xa5\\x27\\x7d\\x43\\x42\\x38\\x93\\xf1\\x50\\x21\\xfd\\xe0\\x3f\\xcb\\xaf\\x4d\\xc9\\x40\\x16\\xbc\\x8b\\xa6\\x3c\\x1b\\x19\\x47\\x73\\x84\\x87\\x72\\x18\\xec\\x1f\\x41\\xa5\\xed\\xf2\\x39\\x03\\x8c\\x7a\\x43\\x4d\\x12\\x7d\\x13\\x0f\\xc5\\xe7\\x05\\x81\\xc5\\xc2\\x39\\x75\\x4a\\xa7\\x32\\x1c\\xd1\\x45\\x40\\x83\\x3e\\xe2\\x8d\\x94\\x47\\x3a\\x23\\xdd\\x91\\xdd\\x91\\x03\\x91\\xf7\\x23\\xe7\\x23\\x8a\\xf2\\x48\\x3c\\xb2\\x3d\\x72\\x38\\x72\\x22\\x42\\x5f\\x8a\\x80\\x4e\\x31\\x28\\xb9\\x3b\\x42\\xa1\\xbb\\x55\\x10\\xb8\\x3d\\xee\\x0e\\x3e\\xe8\\xf1\\xc8\\xfc\\x7e\\x6f\\x3b\\xef\\x27\\xb0\\x95\\x82\\x17\\xc6\\xae\\x66\\x65\\xa6\\x09\\x88\\xb1\\xc8\\xf4\\x32\\x52\\x86\\xc4\\xce\\xcc\\x58\\x36\\x16\\x1b\\xcb\\x2f\\x79\\x4d\\x05\\x38\\xae\\xcd\\x71\\x91\\x4a\\x85\\xaf\\x98\\xab\\xd4\\x54\\xc7\\xbc\\x76\\x30\\x48\\xed\\x4d\\x55\\x8a\\xf7\\x90\\x4f\\x5d\\x60\\x46\\xde\\xb9\\x0c\\x50\\xb3\\x84\\x92\\x49\\xa3\\x9a\\xc6\\x8d\\x13\\x59\\x89\\xc8\\x69\\xa8\\xb1\\x0b\\x9a\\xa6\\x05\\x46\\x0b\\x67\\x93\\x2f\\x8a\\xeb\\xe2\\x9c\\x34\\x2b\\xc3\\x46\\xe6\\x61\\x56\\x23\\x9e\\x19\\xd1\\x4f\\x2d\\xf2\\x92\\xb3\\xa9\\x7a\\x9b\\xe6\\x1c\\xbf\\xf6\\x44\\x17\\x67\\x52\\xe4\\xf1\\x6d\\xc9\\x0f\\xbe\\x2d\\xed\\x07\\x27\\x9a\\x89\\xe7\\x08\\x42\\xac\\xb7\\x31\\xe0\\x7a\\x9b\\xbd\\x07\\x3d\\x3e\\x8d\\x33\\xa7\\xde\\x46\\xf4\\x0d\\xd1\\x37\\xe9\\xc3\\xd8\\x37\\x24\\xfa\\xcd\\x11\\xaf\\x02\\x9f\\xc4\\xdf\\x29\\x89\\xaf\\x5b\\x37\\xba\\x24\\xbe\\x66\\x0d\\xba\\xac\\x5a\\x85\\x2e\\x37\\xdc\\x80\\x2e\\x2b\\x57\\xa2\\xcb\\x8a\\x15\\xe8\\x72\\xed\\xb5\\xe8\\xb2\\x6c\\x19\\xba\\xf4\\xf5\\xa1\\x4b\\x6f\\x2f\\xba\\x2c\\x5d\\x8a\\x2e\\x4b\\x96\\xa0\\xcb\\xe2\\xc5\\xe8\\xb2\\x68\\x11\\xba\\x2c\\x5c\\x88\\x2e\\x0b\\x16\\xa0\\xcb\\xfc\\xf9\\xe8\\x32\\x6f\\x1e\\xba\\xcc\\x9d\\x8b\\x2e\\xd7\\x5c\\x83\\x2e\\x3d\\x3d\\xe8\\x72\\xf5\\xd5\\xe8\\x32\\x67\\x0e\\xba\\xcc\\x9e\\x8d\\x2e\\xdd\\xdd\\xe8\\x92\\x48\\xa0\\xcb\\xac\\x59\\xe8\\x32\\x73\\x26\\xba\\x4c\\x9a\\x84\\x2e\\x13\\x26\\xa0\\x4b\\x67\\x27\\xba\\xb4\\xb7\\xa3\\xcb\\xb8\\x71\\xe8\\x32\\x66\\x0c\\xba\\x8c\\x1e\\x8d\\x2e\\xad\\xad\\xe8\\xd2\\xd2\\x82\\x2e\\x4d\\x4d\\xe8\\x12\\x8f\\xa3\\x4b\\x43\\x03\\xba\\xd4\\xd7\\xa3\\xcb\\xb0\\x61\\xe8\\x52\\x5b\\x3b\\xba\\x04\\x37\\x6d\\xae\\xa9\\x91\\x1e\\xcb\\xca\\xa4\\xc7\\x82\\x02\\xe9\\x31\\x12\\x91\\x1e\\xc3\\x61\\xe9\\x31\\x14\\x92\\x1e\\x83\\x41\\xe9\\x31\\x10\\x90\\x1e\\xfd\\x7e\\xe9\\xd1\\xe7\\x93\\x1e\\xbd\\x5e\\xe9\\x91\\xe3\\xa4\\x47\\x8f\\x47\\x7a\\x74\\xbb\\xa5\\x47\\xa7\\x53\\x7a\\xb4\\xdb\\xa5\\x47\\xab\\x55\\x7a\\x64\\x59\\xe9\\xd1\\x64\\x92\\x1e\\x0d\\x06\\xe9\\x51\\xa7\\x93\\x1e\\x35\\x1a\\xf1\\x31\\xae\\x15\\x7b\\x83\\xa3\\x0d\\x24\\x7d\\x51\\x32\\xdd\\x07\\x2f\\xbf\\x59\\xf3\\xff\\xea\\x7f\\xa2\\x0d\\x7c\\x8f\\xe8\\x13\\xb6\\xe2\\x5e\\xaa\\x48\\xd5\\xd4\\x02\\xb9\\x5c\\x6b\\x80\\x36\\xbb\\xdc\\xa0\\x43\\x5a\\x8c\\x4a\\xa7\\x43\\xf6\\xbd\\x8e\\xd5\\xa9\\x81\\x19\\x22\\xc6\\x22\\x79\\xb6\\xcd\\x54\\x8e\\x57\\x45\\x2c\\x93\\x4a\\x5b\\x92\\x79\\x99\\xdd\\xa1\\x1c\\x3b\\x3d\\xd7\\x20\\x44\\xb6\\x7a\\xca\\x8b\\x3d\\xaf\\x75\\x79\\xab\\x30\\x3f\\xcf\\x54\\x47\\x5a\\x0b\\xae\\x73\\xce\\x8d\\x75\\xf4\\x5c\\x3a\\xa7\\xc0\\x39\\x26\\xf5\\x22\\xca\\x8f\\x3b\\x5a\\x6b\\x93\\xeb\\x2b\\x6a\\xdd\\x72\\xba\\x61\\x78\\x31\\xab\\x62\\x13\\x7c\\x85\\xc1\\xa0\\x0a\\x78\\xbc\\x9e\\x04\\x4f\\x7a\\xbd\\x54\\xb5\\x8a\\x0a\\x3b\\x29\\x67\\x82\\x27\\x28\\x53\\xa6\\xcf\\x45\\x06\\xb8\\xcf\\x10\\x33\\x5c\\x3e\\x52\\x5a\\x44\\x9a\\x0b\\x92\\x55\\xb8\\xba\\xd4\\x03\\xd2\\xe2\\x90\\x34\\xe0\\x74\\x92\\x34\\xff\\xb3\\xa4\\x33\\x4b\\xc4\\xfc\\xaf\\x06\\x12\\x67\\xd5\\x98\\x49\\x8a\\x79\\xf2\\xf4\\x9f\\xfe\\xf4\\xde\\x87\\x42\\xff\\x2f\\xc1\\x28\\x50\\x92\\xf8\\xd9\\x53\\xe4\\x34\\xdb\\xd0\\x1d\\xed\\xcf\\xec\\x39\\xfb\\xfe\\xea\\x25\\x38\\xfb\\x64\\xc9\\xea\\x0f\\xce\\x3e\\xfc\\xf3\\xf6\\x7b\\x6a\\x6c\\xd3\\xd6\\xf7\\xae\\xee\\x00\\x25\\x60\\xd4\\x2f\\x85\\xfd\\xe6\\xe1\\xc3\\x77\\x83\\xca\\x93\\x60\\x02\\x58\\xe4\\x18\\x06\\x84\\x3f\\x3c\\x39\\xa4\\x41\\x38\\x23\\xbc\\x2e\\xfc\\x5d\\x38\\x1d\\x00\\xe7\\x70\\x42\\x8a\\x60\\x0e\\x80\\x20\\x70\\x80\\x72\\xe0\\x6f\\x8c\\x3d\\x89\\x0c\\x0f\\xa7\\x4e\\xb8\\x47\\x78\\xf2\\x84\\xf0\\xda\\x6e\\x49\\x6f\\xa0\\x2f\\x9d\\xa3\\x3e\\x12\\xfb\\x24\\xd4\\xc7\\x39\\xa5\\x5e\\x46\\x13\\xac\\xcb\\xe9\\xe4\\x58\\xb5\\x9e\\xf6\\x21\\x95\\x94\\x65\\x65\\x1c\\xb4\\x6a\\xa0\\x53\\x67\\xb6\\x62\\x69\\x27\\x05\\x6e\\xb3\\xb0\\xbc\\x19\\x88\\x23\\xa4\\x69\\xfa\\x2c\\x56\\x53\\x4d\\x4e\\x1f\\xa0\\x80\\x0a\\x04\\xd2\\xef\\x93\\x63\\x63\\x76\\x60\\x50\\x85\\xd6\\xd5\\xa4\\x9a\\x02\\xd5\\x9e\\xfc\\x7c\\xa8\\xf0\\x77\\xce\\x86\\xdf\\xbc\\x85\\xdc\\x78\\x73\\xdf\\xd0\\x4d\\xdd\\xc2\\xaf\\x77\\xe4\\xb4\\x08\\x22\\x8d\\xc9\\x7f\\x91\\xc7\\x3b\\x97\\xe0\\x3f\\x3c\\x2a\\xca\\xed\\x42\\x82\\xa0\\x71\\xcf\\x5e\\x1f\\x7a\\x76\\x75\\xbc\\xca\\xc3\\x46\\x22\\x5a\\xda\\x8f\\xc8\\x8e\\x56\\x53\\xc5\\x45\\x38\\xfa\\x9c\\xe0\\x3d\\xe1\\x6e\\x24\\xc7\\xd4\\x1a\\x37\\x23\\xd3\\xc8\\xba\\x79\\x56\\xe3\\x41\\xff\\xa0\\x01\\x46\\xae\\x0c\\x9a\\x23\\x6d\\x67\\xde\\x7e\\xa6\\xd8\\x73\\x7e\\xb2\\x5e\\x2a\\x95\\x3a\\x0b\\x2d\\xea\\xa5\\xe8\\x74\\x0a\\x06\\x7d\\x5a\\x4c\\xda\\xd2\\x5d\\x75\\x3f\\xe7\\x9c\\x0e\\xee\\xe9\\x27\\x5f\\xff\\x14\\xdc\\x33\\xc3\\xc9\\xed\\xbc\\x4a\\x77\\x30\\x5d\\x7b\\x86\\x33\\xbc\\xc0\\x6a\\x9c\\xc7\\x05\\x5f\\xd3\\xc8\\x7e\\x0e\\x2a\\x1a\\x71\\x3e\\x4d\\xa3\\xf0\\xfa\\xcf\\x65\\x1a\\xe1\\xf8\\x91\\x97\\x52\\x39\\x7d\\x24\\x8e\\x5f\\x50\\x07\\x90\\xfc\\x0a\\x22\\xce\\x7d\\x4d\\xbc\\x2a\\x4a\\x78\\xad\\xa1\\x90\\x5e\\xa6\\x95\\xd9\\x08\\xaa\\xb4\\xc4\\x22\\x99\\x06\\x84\\x17\\x29\\xbf\\x5e\\x2f\\xad\\xc3\\xed\\x77\\x38\\xb9\\x42\\xa7\\xe8\\xe0\\xad\\x3a\\x5d\\x48\\x46\\xa3\\xc3\\x45\\xe7\\xe4\\x6a\\xa4\\x67\\x28\\x59\\x0c\\x44\\x5e\\xbb\\x96\\x4c\\x9e\\x57\\xd6\\x3b\\x21\\xcd\\x35\\x23\\xae\\xd3\\x73\\x45\\x14\\x0d\\x52\\x01\\x65\\xea\\x80\\x64\\x98\\x2a\\xcc\\x0b\\xc3\\x45\\x63\\x41\\x00\\x8b\\x6a\\x10\\x1d\\x5b\\x54\\x38\\xdf\\xa8\\xc3\\x2a\\x4a\\xf2\\x89\\x25\\x58\\x43\\x01\\x7a\\xc9\\x52\\x3d\\xab\\x92\\xef\\x03\\x5e\\x70\\xab\\x28\\xaa\\x6f\\x14\\xde\\xdf\\x27\\x57\\x09\\xa7\\xab\\xae\\x15\\x3e\\x40\\xe2\\x5a\\xa2\\xc1\\x91\\x97\\xce\\xc9\\xee\\x42\\x67\\xb3\\x84\\x58\\x1f\\x1f\\xc5\\xf9\\xfd\\x46\\x5b\\x21\\x8e\\x28\\x17\\xfa\\x8c\\x50\\x49\\x97\\x95\\xb2\\xae\\x04\\x6f\\x67\\x29\\xbf\\x58\\xeb\\xcb\\x95\\x18\\x00\\x24\\x0c\\x7a\\x03\\xa9\\x60\\x70\\xc5\\xaf\\x54\\xef\\xab\\xa1\\xd2\\x35\\x23\\x51\\x82\\x08\\xa5\\xb0\\xdd\\x06\\x44\\x28\\xd3\\xda\\x4a\\x62\\x66\\x6c\\x90\\x1a\\x92\\xd4\\x19\\xf6\\x12\\x30\\xdf\\x0c\\x8c\\x19\\xf3\\x6a\\xc5\\xd9\\xdc\\x52\\x72\\xfa\\x49\\xe1\\x15\\x61\\x27\\xf3\\x5e\\x3a\\x45\\xec\\x2f\\x56\\x30\\x19\\xd4\\x7c\\xf0\\xcf\\x6c\\xd5\\x78\\x7e\\x61\\xb9\\x19\\xf0\\xa0\\x2a\\xf9\\xcf\\xbc\\x44\\x31\\xa4\\x0b\\xa6\\xab\\xc8\\xfb\\x72\\x2a\\xcc\\x25\\x3c\\xcd\\x4b\\x9f\\xd1\\x43\\x91\\x4e\\x5f\\x48\\xac\\x8d\\x8f\\x44\\xeb\\x62\\xb0\\x46\\xb0\\xfe\\xa6\\x65\\x22\\x3e\\x34\\x7d\\x1a\\x91\\xbc\\x0b\\x29\\x6d\\x66\\xbd\\x5f\\xd4\\xde\\xb8\\x1c\\xed\\x4d\\x52\\x51\\xd4\\xba\\x14\\x56\\x33\\x1b\\x41\\xab\\x32\\x10\\x39\\x2e\\x7f\\x55\\xae\\xb4\\x26\\x29\\x50\\xb9\\x01\\x8b\\x32\\xb8\\xbe\\xcf\\x6a\\x01\\x65\\x13\\xec\\x9a\\x25\\x69\\x35\\xae\\xcf\\xf8\\x9f\\x63\\x83\\xa8\\xfe\\x25\\xbb\\x4c\\xe0\\x35\\x61\\x77\\x8e\\x26\\xf7\\x87\\x57\\xfe\\x96\\x6b\\x07\\x88\\x08\\x39\\x64\\xa6\\x9f\\xbb\\x1d\\x71\\xa7\\x59\\xf1\\x32\\x64\\x3f\\x43\\x9b\\xd5\\x22\\x53\\x3b\\x74\\x9c\\x5e\\xcf\\xb2\\x6a\\xce\\x46\\xf9\\xbc\\x94\\x4e\\xe7\\x41\\xda\\xba\\x89\\xb3\\x50\\x36\\x56\\x2d\\x83\\x7a\\x93\\x1e\\xb7\\x77\\x37\\x19\\xf3\\x1d\\xc8\\x52\\x44\\x3d\\x96\\x05\\xa0\\x10\\x5f\\x63\\x6c\\x7f\\x03\\x0e\\xb1\\xe3\\x83\\x0e\\x99\\x0c\\x48\\x7e\\x04\\x5a\\xd3\\xfd\\xdf\\x81\\xc5\\x5a\\x5d\\x03\\xe9\\x03\\xc9\\x8f\\x67\\x3f\\xd9\\xd9\\x29\\xcc\\xef\\x9c\\xf8\\xc4\\x74\\xe1\\xe9\\x74\\x2f\\xf8\\x8b\\xe1\\x0d\\xe1\\xe0\\x86\\x47\\xda\\x0c\\xe0\\xa3\\xe6\\x3b\\x85\\xcf\\x44\\x0f\\xbe\\xe9\\xae\\x46\\x21\\xe2\\x4c\\x77\\x87\\x27\\xaf\\x1e\\xd1\\x3d\\x7b\\x04\\x38\\x86\\xe6\\x83\\x63\\x23\\xdf\\xc0\\xc3\\x84\\x13\\x69\\xe3\\xd7\\xc4\\x87\\x50\\x3e\\x08\\x1d\\x76\\x9b\\x47\\xae\\x71\\x19\\xfc\\x46\\xa3\\xd5\\xaa\\xf1\\x3b\\xa8\\x60\\x80\\x32\\xb8\\xd0\\xf9\\xf6\\xb9\\x3c\\xe8\\x1f\\xeb\\xb7\\xe9\\x1d\\x56\\x68\\x64\\x8d\\x18\\x3d\\x93\\xc5\\x1e\\xc7\\xfc\\xc4\\x81\\x0c\\xf0\\x57\\xee\\xac\\xf2\\xa7\\x15\\xd1\\x02\\x1c\\x15\\x0a\\x54\\xd5\\x60\\x40\\x69\\x99\\xf8\\x0c\\xc4\\xc4\\x89\\x35\\x80\\x9a\\x08\\xfc\\x46\\x58\\xee\\x9f\\xa3\\x75\\x44\\xbf\\x88\\x9a\\xbd\\x0b\\x0a\\x3e\\x1e\\x05\\x56\\xac\\x06\\xbd\\x63\\x92\\x53\\xda\\x58\\x75\\xbd\\x2b\\xd1\\xe8\\xbc\\xa0\\xae\\x2b\\xb9\\xd5\\xd9\\xd8\\xe8\\xbc\\x95\\xab\\xf2\\x5e\\xc0\\x4f\\xe0\\xdc\\x8b\\xf7\\x3b\\xc1\\xec\\xfa\\xa1\\x81\\xa1\\xd6\\xaf\\xd1\\xbc\\x46\\x12\\x84\\xfc\\x57\\x68\\x9f\\xa2\\x44\\x19\\xb1\\x27\\x7e\\x15\\x55\\x0a\\xcb\\x60\\x81\\x25\\xc4\\x86\\xc3\\x91\\xb2\\x62\\x44\\x8c\\x85\\xfa\\x32\\x3d\\x1b\\xb4\\xd9\\xdc\\x6e\\x56\\x5d\\x56\\x40\\x57\\x94\\x97\\x85\\x29\\x4a\\x57\\xa8\\xeb\\xe6\\x4b\\x0b\\x83\\xd6\\x6e\\xbe\\xb8\\x50\\x1d\\xac\\x0f\\x8e\\x0b\\x42\\x15\\x0c\\x06\\x9d\\x5e\\x49\\x0a\\x7b\\xa1\\x4d\\x8f\\xb6\\xd3\\xed\\x74\\x27\\x78\\x93\\x12\\x38\\x8d\\x39\\x21\\xb6\\xd8\\x00\\xe2\\x95\\x12\\x28\\xd2\\x21\\xd2\\x1c\\x02\\x96\\x96\\xc3\\x90\\xae\\x70\\x93\\xd2\\x29\\x06\\xdf\\x6b\\xd3\\x00\\x43\\xc5\\x94\\xd9\\x7b\\xf9\\xaf\\x06\\xec\\xfd\\x8b\\xc9\\x2f\\xd3\\x47\\x9e\\xac\\xfe\\xea\\xbf\\xd3\\x01\\xf8\\x8f\\xa0\\xc9\\x1e\\x7a\\x24\\xd5\\x36\\xe6\\xd3\\x45\\x0d\\xb2\\xd1\\x42\\x88\\x2e\\x8a\\x88\\x4a\\xe2\\xde\\x78\\x07\\x55\\x01\\x2b\\x61\\xa1\\x2d\\x62\\x2d\\x28\\x88\\x56\\xca\\x4b\\x0d\\xc5\\xc6\\x4a\\xa3\\x35\\xec\\x70\\x70\\x9c\\x55\\x53\\x5a\\x59\\xc8\\x0c\\x89\\x55\\x16\\xe8\\x29\\x43\\x31\\xa2\\x92\\x8a\\xe2\\xb0\\xbd\\x9d\\x2f\\x2d\\x0e\\x87\\xdd\\x7e\\x5c\\xac\\x84\\x0c\\x14\\x5d\\xa1\\xc3\\x6a\\x84\\x9c\\x9b\\x6b\\xe7\\x59\\xe0\\x4e\\x91\\xcc\\x60\\xeb\\xf6\\xc3\\x8b\\x36\\xc8\\x9a\\x0d\\x46\\x48\\x97\\xad\\x5a\\x96\\xb0\\x98\\xd0\\x00\\xc2\\x5a\\x2b\\xfc\\x3a\\x63\\xdf\\x2d\\x38\\xf9\\xdf\\x88\\x0c\\x04\\x85\\x3f\\xe7\\x70\\x88\\x5b\\xc0\\xa7\\xb9\\x44\\x27\\xea\\x03\\xa5\\x04\\x21\\xfb\\x35\\xd2\\x07\\x30\\x26\\xe5\\xdc\\x78\\x35\\xf0\\x05\\x9d\\x01\\x97\\x95\\x51\\x85\\x6c\\x7a\\x93\\xc9\\xa6\\x72\\x62\\x58\\x4a\\xa7\\x2d\\x64\\x0f\\x75\\xf3\\xb4\\xda\\xaa\\x4e\\xf0\\xe8\\xaf\\x56\\x85\\x1d\\x02\\x83\\xd1\\x67\\x62\\x54\\x0a\\x24\\x38\\x14\\x69\\x78\\x08\\xb1\\x24\\x1b\\xe3\\x3f\\x65\\x4a\\xb3\\x62\\x79\\x38\\x8e\\x99\\xe2\\x03\\x58\\x0a\\x22\\xa9\\x39\\x6b\\x81\\x0c\\x29\\xa4\\x8d\\x00\\xcd\\x16\\x27\\x94\\x01\\x0f\\xc9\\x91\\x0a\\xe0\\x93\\xfd\\x5a\\x58\\x71\\x63\\xfd\\xb6\\x6b\\x76\\x27\\x77\\xee\\x9e\\xf7\\xe3\\xa1\\xd7\\x0b\\xd7\\xad\\x58\\xb9\\xf8\\xa3\\x57\\x85\\x89\\xd4\\x1b\\xc2\\xec\\x3b\\x9e\\xdf\\xda\\xb1\\x7c\\xc5\\xc5\\x3b\\x41\\x5b\\x72\\x21\\x18\\xb9\\xe7\\xff\\xc8\\x93\\x7f\\xc5\\x44\\x41\\xfa\\x55\\xf7\\x3f\\x28\\xbc\\xd0\\xe6\\x3c\\x7f\\xa6\\x5f\\x41\\xd2\\x9d\\x9d\\xc9\\x0b\\xf4\\xb8\\x5d\\x7b\\xcf\\x3b\\xc9\\xbf\\x81\\x47\\xf1\\x5c\\xb5\\xb8\\x3e\\x01\\xe9\\x69\\x21\\xa2\\x80\\x98\\x1f\\xaf\\x01\\xc1\\x88\\x87\\x0b\\x87\\x1d\\x32\\x75\\x81\\xd3\\xc8\\xb2\\x4e\\xb5\\x27\\x48\\x17\\x46\\x3d\\xce\\x02\\x57\\x41\\x3b\\xcf\\x68\\x1c\\x9a\\x76\\x3e\\xcc\\x39\\x1c\\x4a\\x97\\x0e\\x98\\xd8\\x20\\x2b\\x53\\x2b\\xd5\\xed\\xbc\\x92\\xfd\\x1f\\x4e\\x36\\x5b\\x6a\\x11\\x29\\x25\\x33\\xb3\\x25\\x75\\x40\\x9c\\x2d\\x99\\x9d\\x2d\\x30\\xf9\\xe8\\x97\\x84\\xe7\\xa7\\x04\\xca\\x1a\\xcb\\xe6\\x0b\\xd5\\x0b\\x2a\\x1a\\xca\\xfc\\x93\\x85\\xe7\\xa6\\x76\\xd6\\x4f\\xdb\\xd0\\x2b\\x9c\\x86\\xbb\\x84\\xbf\\x2d\\x59\\x7b\\x55\\xbc\\xf3\\xaa\\xe4\\x9a\\x0f\\x85\\xa1\\x1f\\xcf\\x18\\x1d\\x91\\x09\\x7b\\x6d\\xcd\\xcd\\x36\\x30\\x53\\x16\\x6e\\x9b\\xf9\\x71\\x93\\x7d\\xef\\x9a\\x59\\x85\\x24\\xb8\\xa6\\xa9\\x49\\x78\\x80\\x8c\\xf2\\x37\\xed\\xb5\\x83\\x2f\\x40\\x48\\xe2\\x29\\xca\\x23\\x68\\x6f\\xcb\\x89\\x18\\x71\\x67\\x7c\\x3c\\xe6\\x1e\\x7a\\x53\\x2c\\x5c\\x51\\x18\\x62\\x54\\x95\\x88\\xd1\\x44\\x55\\x96\\xb0\\xc9\\x2d\\xaf\\x1a\\x12\\x0d\\xc7\\x22\\xb1\\x6e\\x3e\\xe2\\x55\\xd3\\x56\\xcc\\x4c\\x2a\\x10\\x33\\x01\\xf9\\x8c\\xa4\\xcc\\x66\\x52\\x31\\x22\\x23\\x51\\x38\\x8d\\x40\\xac\\x77\\x68\\xbc\\x02\\x27\\x89\\xa5\\xf5\\xa5\\xfc\\x45\\xc9\\x69\\xa9\\x7e\\x05\\x1a\\xa8\\xae\\x19\\x70\\x12\\x72\\x29\\x42\\x79\\xe4\\x72\\x8a\\xb8\\xa6\\x27\\x39\\x2a\\xcd\\x45\\x28\\xd9\\xff\\x90\\x38\\xfe\\x38\\x25\\x79\\x2e\\x47\\x7d\\xd0\\x5d\\x4e\\x29\\x84\\xc4\\x4f\\x64\\x9f\\x23\\x5a\\xa9\\x24\\xaa\\x88\\x1f\\xc5\\xc7\\x82\\x8a\\x21\\x45\\xc5\\xb1\\xaa\\x02\\x23\\x2b\\x32\\x11\\xb6\\x20\\xa2\\x8e\\x15\\x55\\xc8\\x6b\\xaa\\x8b\\x0a\\xaa\\xa2\\x55\\xed\\x7c\\xd4\\xcf\\x68\\xc2\\x88\\x60\\x62\\x88\\x8d\\xd8\\x31\\x78\\x66\\x96\\x97\\x54\\x38\\x90\\x48\\x15\\x79\\x89\\xd2\\xcd\\x02\\x31\\x4e\\x34\\xe8\\xca\\x89\\x6f\\x65\\x2b\\x1b\\x07\\xe2\\x12\\x5d\\x91\\x9a\\x6a\\xd0\\xd1\\xb9\\xd2\\xba\\x21\\xda\\x92\\x7d\\x3e\\x08\\x6d\\x2d\\x28\\xb3\\x0b\\x4b\\x33\\x4e\\xf8\\x43\\x79\\x54\\x76\\xed\\x15\\xa8\\xec\\x9d\\x89\\x4e\\xe1\\xb9\\x1c\\x6e\\xf2\\xf3\\xcb\\x28\\x0e\\xad\\xdb\\xa5\\x73\\xc2\\x48\\x0a\\x30\\x5f\\x10\\xad\\x44\\x07\\xb1\\x35\\x3e\\x7e\\x44\\x49\\x65\\x43\\x61\\x73\\xb3\\x09\\xd9\\xff\\x63\\x6b\\x65\\x9d\\x5d\\x32\\x8e\\xeb\\xec\\xd0\\x8d\\x03\\x0a\\x38\\xae\\x7d\\x4c\\x7d\\x7c\\x44\\x69\\x49\\x69\\x09\\x12\\x61\\xa5\\x54\\x6d\\x7d\\xfd\\x90\\x04\\x5f\\x4f\\xe9\\xac\\xb3\\x79\\x9d\\xce\\x45\\xb8\\x94\\xdd\\xbc\\xcb\\x69\\x76\\x52\\x81\\x6e\\x9e\\x32\\x12\\x91\\x1c\\xac\\xe1\\x74\\xbf\\xf5\\x1c\\x55\\x3c\\xe3\\xc8\\x77\\xd8\\xf4\\x7f\\xad\\x7c\\x0d\\x11\\x61\\xe5\\x00\\x70\\x16\\xd1\\xb6\\xcc\\x46\\x23\\x6a\\x24\\xf8\\xc1\\x80\\xa4\\x7c\\xe5\\xe0\\x2d\\x4b\\x19\\x9f\\x57\\xa8\\xb6\\x37\\x20\\x15\\xdf\\xc4\\x22\\x13\\xba\\x2a\\x66\\xad\\x21\\x67\\xce\\x69\\x6e\\x76\\x37\\x4d\\x1a\\xdf\\x50\\xc2\\x8f\\x5c\\xbd\\xa9\\x6a\\x55\\x64\\x06\\x3b\\xbf\\x21\\x3a\\xb1\\x65\\xd5\\xba\\x2d\\xfb\\xc6\\xde\\xd6\\xd1\\xd8\\xd2\\xec\\xeb\\xbe\\x76\\x90\\x82\\xfc\\xbe\\xdf\\x74\\xbd\\xf7\\xe6\\xbb\\xe3\\xbe\\xfd\\xd6\\xac\\x54\\x26\\xda\\xc7\\x4c\\x0b\\x96\\x74\\x85\\x5c\\xc7\\xeb\\xc7\\xba\\xc3\\x2d\\x5b\\x6f\\x9c\\x74\\x73\\x9b\\x4a\\xfd\\xe0\\xad\\x83\\x16\\xea\\x0b\\xef\\xf6\\x1e\\x98\\x23\\x63\\x7c\\xc2\\x69\\x10\\xf2\\xed\\xd9\\x23\\xae\\xf7\\xdf\\x84\\x56\\xa8\\xa1\\xf7\\x12\\x23\\x88\\x31\\xc4\\xb6\\x78\\x97\\x93\\x51\\x5a\\xa1\\xa7\\xc2\\x63\\x6d\\x66\\x0c\\xad\\xb2\\xb1\\xe3\\x22\\x0d\\x0d\\x63\\xcb\\xaa\\xbb\\xf8\\xb2\\xb2\\x3a\\x5f\\x5d\\x61\\x27\\x5f\\xe7\\x8c\\x39\\x89\\x11\\xbe\\xe0\\x88\\x2e\\xde\\x21\\x43\\x13\\xef\\xe0\\x1b\\x65\\x1d\\x32\\x52\\x26\\x33\\x07\\x59\\x9f\\x65\\x8c\\x6e\\x14\\xda\\x99\\x51\\xa3\\xda\\x46\\x8e\\x34\\x98\\xcd\\xea\\x0e\\xde\\xac\\x4f\\xfb\\x2b\\x11\\x9f\\x13\\xcf\\xb6\\x88\\xda\\x2d\\xa5\\xcc\\x4a\\x7b\\x90\\xdd\\x8b\\xcb\\x56\\x3c\\x74\\xe5\\xe4\\x59\\x36\\x95\\x63\\x5b\\x06\\x52\\x3b\\x82\\xcc\\xf8\\xca\\xd4\\x7e\\x88\\xb5\\xd5\\x38\\xe6\\x02\\xd2\\x4b\\x0d\\x66\\xd6\\x8f\\x19\\x98\\x61\\x3b\\xeb\\x86\\xa7\\x37\\x73\\xe3\\x83\\xf1\\xc9\\x6d\\xd5\\x91\\xa6\\x51\\x53\\x86\\x77\\x4c\\x18\\x6d\\xee\\xac\\x0c\\x37\\x8f\\x9d\\x35\\x62\\xc5\\x2d\\x3f\\x59\\x0e\\x9e\\x95\\xd6\\x78\\xf1\\xcc\\xb6\\xfc\\xf4\\x5b\\x46\\xbb\\x72\\xca\\x2d\\xbb\\x95\\xe4\\xf4\\xf1\\x1d\\x5d\\x05\\xe5\\x05\\x85\\x87\\x6b\\xea\\x82\\x85\\xc1\\xad\\x1b\\xd6\\x3e\\x42\\x57\\x64\\x56\\x16\\x60\\x26\\xc0\\x0c\\x17\\xf1\\x84\\xa6\\xc6\\x4b\\x83\\xa4\\x97\\x61\\xec\\x2a\\xb3\\xc1\\xa0\\x22\\x61\\x41\\x84\\x33\\x00\\xa4\\x2d\\x23\\xae\\x68\\x57\\xdb\\x13\\x48\\x2c\\xaa\\x15\\x21\\x17\\x34\\xc1\\x7c\\x69\\x98\\x02\\xdf\\xcf\\x4a\\x87\\xd8\\x65\\x81\\x33\\xdc\\x54\\x2f\\x7d\\x72\\xfd\\x88\\x1d\\x42\\x9c\\x28\\xe9\\x21\\xad\\xa9\\x63\\x5c\\x29\\xb6\\xde\\x63\\x86\\x2f\\x10\\xbe\\x17\\x3e\\x3a\\x94\\x5c\\x72\\x68\\xf9\\x6d\\x57\\x0f\\xbf\\x75\\x01\\x58\\x77\\x5d\\xa0\\x20\\x1a\\xbc\\x93\\x6c\\xbe\\xb3\\x67\\x41\\x29\\xd8\\x4e\\x7d\\xe9\\x14\\x7e\\xff\\xe1\\x31\\x61\\x91\\xab\\xad\\xcd\\x05\\xee\\xa9\\xdb\\xfa\\x28\\xb8\\xd6\\xd9\\x26\\xc4\\x37\\x2f\\x2e\\x21\\xc9\\x35\\xa2\\xb6\\xb4\\x29\\xb6\\xe2\\x7e\\xb0\\x4b\\xb4\\x87\\x08\\x61\\x1c\\xbd\\x51\\xec\\xb1\\x3c\\x2a\\x1e\\xb2\\x33\\x8c\\x45\\xe6\\x24\\x0d\\x38\\x05\\x11\\x72\\x1e\\x2d\\x70\\x81\\x76\\xde\\xa5\\xb3\\xea\\x75\\x76\\x8b\\xdc\\x82\\x4c\\x60\\xb9\\x05\\xf7\\xa8\\xc9\\xf8\\x6e\\x1a\\x07\\x38\\x6c\\xd2\\xd3\\xd0\\x33\\x01\\x43\\x00\\x4d\\x81\\x4c\\x4f\\x01\\xff\\xb5\\xda\\x0e\\x7c\\xf4\\xc6\\x55\\x6f\\x7f\\x7f\\x74\\xfe\\xad\\x53\\xeb\\x22\\x13\\x57\\x82\\xa5\\x73\\x3c\\x85\\x95\\x05\\x47\\x4f\\x82\\x55\\x70\\xa1\\x4d\\xf8\\x91\\xf0\\xd5\\x47\\x18\\x87\\x27\\xd8\\x71\\xe7\\x4b\\xe0\\x51\\x5b\\x53\\xf2\\xab\\x3d\\x77\\x0c\\x85\\x7d\\x17\\xb7\\x93\\xe0\\x0e\\xf0\\x21\\x8e\\xcf\\xa7\\x70\\x01\\x08\\x25\\xb2\\x5e\\x0a\\x88\\xd6\\xb8\\xdf\\x6d\\x34\\x12\\x61\\x9b\\x8d\\x26\\xe8\\x68\\x61\\x50\\xa5\\xe7\\x54\\xe8\\x9f\\x9c\\x94\\xe3\\xbe\\x40\\x26\\xd2\\x91\\xdb\\x0e\\x08\\x17\\xf0\\xdb\\xb0\\x62\\x6f\\x18\\x98\\xf2\\x9c\\xee\\x0a\\x84\\xae\\x21\\xa9\\xdf\\x81\\x4c\\x34\\x47\\x4d\\x0c\\x10\\x51\\x98\\x25\\x94\\xf9\\x1a\\x32\\x9c\\x6e\\x10\\xf4\\xa0\\xd0\\x2f\\x3c\\x21\\xdc\\x0f\\x57\\xaf\\x5c\\xdf\\x3c\\x2d\\xdc\\x50\\x4b\\x1e\\x78\\xe1\\xc0\\x53\\x2a\\x5e\\xf8\\xf7\\x13\\x4f\\xea\\xf8\\x31\\xcb\\x6f\\x6a\\x9b\\x14\\xaa\\x6f\\x94\\xf5\\x67\\x5a\\x06\\xe1\\x72\\xa5\\x59\\xc7\\xc6\\x86\\x83\\x06\\xe1\\x98\\xf0\\xf5\\x39\\xa0\\xa9\\x25\\xdf\\x3e\\x7d\\xbe\\x7a\\x0c\\x32\\xc5\\x81\\xf7\\x5b\\x3c\\xaf\\x54\\x3e\\x28\\xa1\\x22\\x1c\\x48\\xdf\\x9f\\x12\\x2f\\x89\\xd8\\xed\\x84\\xc7\\x64\\x62\\x08\\xa6\\xa8\\xf0\\x70\\x11\\x48\\x14\\x01\\xa2\\x08\\x68\\x60\\x48\\x6d\\xf0\\xaa\\xd1\\x3f\\xa8\\x50\\x38\\x3b\\x78\\x85\\x1e\\x5a\\x3a\\xa4\\xd0\\xd2\\xc0\\x29\\xe6\\x36\\x0e\\xca\\x26\\x53\\xe5\\xa0\\x17\\x8a\\x18\\xd3\\x32\\x89\\xf3\\x31\\x50\\x9a\\x27\\x06\\x9b\\xaf\\x29\\x05\\xf0\\x99\\x77\\xcf\\xbc\\x73\\x4a\\x6c\\x1f\\xf4\\xa0\\xa7\\x24\\x1c\\x60\\x6d\\x8e\\x86\\xb1\\xa3\\x9b\\xe9\\xf0\\xc2\\x96\\x46\\x3a\\xe4\\xf4\\x14\\xa3\\xb7\\xac\\x0e\\xb2\\x19\\x9c\\x4e\\x7e\\xf1\\xd5\\xf7\\xdf\\x7d\\xfe\\x9d\\xb0\\xcf\\x1b\\xf2\\xea\\xde\\xda\\xb3\\x15\\x8d\\xf4\\x5f\\x1b\\xfb\\x8b\\xb9\\x10\\xa7\\xf9\\xd5\\x03\\x62\\xbf\\xb5\\x4b\\x1f\\x30\\x7d\\x68\\xbf\\x2c\\xb8\\xa3\\xb1\\x42\\xae\\x07\\x84\\x4e\\x49\\x28\\xf5\\xd0\\x6a\\x33\\x53\\xdd\\x3c\\x30\\x53\\x4a\\x9d\\x5a\\x97\\xe0\\x91\\x79\\x2d\\x82\\xa8\\x0d\\x06\\x43\\x91\\xaa\\x85\\xc1\\x4c\\x19\\x04\\xd2\\x00\\x2f\\x22\\x63\\x66\\xfa\\x3a\\xfd\\x9e\\xca\\x96\\xee\\x02\\xa1\\x6d\\x73\\xf2\\xcc\\x52\\x72\\xd4\\x1d\\xe0\\x46\\xe0\\x6b\\x7c\\xe0\\xc6\\xd9\\x1d\\x94\\xef\\x01\\xcb\\xac\\xee\\x0b\\xaf\\x51\\xdf\\x8a\\xf0\\x20\\x77\\x91\\x47\\xee\\xbb\\x9d\\xc3\\xb4\\x7e\\xe9\\x1c\\xf5\\x1b\\xb4\\xce\\xe2\\x78\\x64\\x72\\x1d\\x61\\xd1\\x2a\\x2c\\x0a\\x1d\\x1a\\x8f\\x09\\x76\\x22\\x79\\xa2\\x57\\x68\\x55\\x5a\\xd1\\xb7\\x2a\\xb7\\xfc\\xc0\\x78\\xf2\\x87\\xe3\\x94\\x86\\xc3\\x52\\x37\\x96\\x59\\x0a\\xc2\\x8d\\x2e\\xe1\\xb9\\x1b\\x85\\xeb\\x9b\\xc0\\x07\\x7d\\x9f\\xf7\\x97\\xad\\xbf\\x66\\x62\\x07\\xf9\\xea\\x5a\\x7d\\x59\\x3c\\x29\\xc3\\x0d\\xbb\\x9b\\x1c\\xc9\\x4f\\xc1\\x63\\xd7\\xf5\\x72\\x67\\xc4\\x98\\x80\\xb8\\x3e\\x18\\x83\\x8b\\x0a\\x61\\x1f\\x3f\\x79\\x92\\x4c\\xa6\\xf0\\xeb\\xfc\\x12\\x7e\\xdd\\xab\\x07\\xed\\x7e\\xb5\\x25\\x0f\\xbf\\x4e\\x9c\\x03\\x8e\\x23\\x50\\x61\\xe9\\x33\\xe0\\x53\\x42\\x8a\\xd6\\xf9\\xa5\\x68\\xdd\\x0e\\xf4\\x19\\x95\\x25\\xaf\\xf7\\xdb\\x34\\xa1\\x55\\xe1\\x41\\xfb\\xa0\\xc2\\x5d\\x80\\x91\\xd5\\x3f\\x84\\x0b\\xba\\x6d\\x8c\\x81\\x50\\xab\\x0d\\x45\\x36\\x6b\\xc8\\x13\\x94\\x57\\x85\\x3c\\xd6\\xea\\x68\\x39\\x32\\x1b\\xa3\\xce\\x20\\x67\\x73\\x3b\\x90\\x5e\\xe7\\x73\\xe8\\xcc\\x30\\xc1\\x9b\\x4d\\x5a\\x45\\x82\\xd7\\x52\\x44\\x7e\\x33\\xbf\\x9c\\x90\\xd5\\x80\\x6e\\x2b\\x39\\x95\\x7e\\x20\\x7b\\xb6\\x14\\xe9\\xd5\\xca\\xe2\\x65\\xa4\\xe2\\xbd\\x0d\\x24\\xd8\\x77\\xcb\\x8e\\xbb\\x6f\\xb9\\xe5\\xee\\x1d\\xb7\\x08\\x07\\xc9\\xb9\\xa0\\x1c\\x54\\x09\\xaf\\x0a\\xa7\\xd0\\xbf\\x63\\xcc\\x3e\\xe1\\x36\\xbc\\x96\\x7f\\x79\\x65\\x29\\x88\\xb5\\x08\\x5b\\xe3\\xdd\\xd7\\x8d\\xed\\x9a\\x54\\x5f\\xe4\\x2e\\x09\\x0f\\x8b\\x95\\x92\\xbb\\x85\\xa3\\xc2\\x39\\x60\\x06\\xf5\\xa0\\x16\\x68\\x85\\x2f\\x85\\x57\\xd0\\x91\\x7b\\x44\\x78\\x1a\\x1d\\xcf\\x5d\\xe8\\xa0\\xfe\\x1f\\xd8\\x2b\\x2e\\xf9\\xb7\\xa4\\x12\\x3d\\x9a\\x2f\\xf6\\x3e\\x72\\x77\\x9b\\xe9\\x8b\\x75\\xd6\\x60\\xcb\\xd5\\x52\\xbd\\x59\\x8b\\xd0\\x2a\\x9b\\x25\\xc6\\x77\\xa3\\x48\\xab\\x4b\\xc4\\xab\\xe4\\x1a\\x06\\x14\\x7a\\xca\\x83\\x41\\xb3\\x07\\xc8\\x08\\xad\\x42\\xa3\\xa8\\xd6\\xca\\x88\\x9a\\x48\\x49\\x07\\x1f\\xd1\\xfb\\x62\\x1d\\xbc\\xcf\\x62\\xb4\\x77\\xf2\\xac\\xd1\\xa9\\x91\\x03\\x06\\x32\\x48\\x85\\x83\\xba\\xbc\\x5c\\xf2\\x9c\\x34\\x89\\x81\\x0b\\x43\\xff\\xd0\\x0a\\xe4\\x1c\\xce\\xdc\\x24\\x09\\x3a\\xfe\\x43\\xf3\\x17\\x76\\x64\\x8e\\x6a\\xa6\\xd3\\x97\\xfb\\xca\\x93\\x26\\xa7\\xa5\\x4e\\xec\\xe7\\x39\\x39\\x14\\xa1\\x4b\\xbb\\x99\\x6b\\xe9\\x7b\\x09\\x2b\\xb2\\x09\\x0a\\xe2\\x66\\x0f\\x53\\x6a\\x64\\x8c\\x43\\xaa\\x14\\xce\\x6e\\x5e\\x41\\xc1\\x40\\x2e\\x8c\\x7d\\x1e\\xd6\\x74\\x24\\x88\\x37\\x36\\x24\\x75\\x44\\xa1\\xc4\\xb6\\x6a\\xb8\\x25\\x45\\x38\\xc2\\x90\\x06\\x33\\x92\\x59\\xd2\\x1f\\x1a\\x60\\x95\\x1e\\xf7\\x36\\x82\\xe3\\x22\\x71\\x2d\\xe2\\x9b\\x7b\\xc0\\x14\\x30\\x43\\x1b\\x8f\\x44\\x1a\\xb4\\x88\\x97\\x4e\\x17\\xf6\\x08\\xfb\\x35\\xc3\\xa3\\x81\\x3a\\xc3\\xb3\\xbf\\x08\\x4c\\xda\\x32\\x4f\\x5f\\x1f\\x0a\\xd5\\xe9\\x36\\xfe\\x78\\x94\\xe1\\xe7\\xcf\\xeb\\x6a\\xbb\\x4b\\x02\\x76\\x30\\x13\\x0c\\x03\\x75\\x60\\x92\\x3d\\x50\\x54\\x14\\xb0\\x0b\\x8f\\x09\\xbf\\x45\\x4c\\xf4\\x11\\x7b\\xa0\\x84\\xba\\x18\\x72\\x3b\\x85\\xcf\\x84\\xf3\\xbf\\x7f\\x71\\x65\\xb3\\x12\\x99\\x6d\\x9c\\x66\\xc6\\x3d\\xaf\\x6d\\x00\\x7a\\x60\\xf0\\x78\\x42\\x92\\xce\\xee\\xbb\\xb4\\x9b\\xba\\x83\\xd2\\x22\\xaa\\x2f\\xc6\\xbd\\xc0\\xdd\\x4c\\x51\\x28\\xe4\\xf0\\x16\\x18\\x8d\\x5e\\x06\\x96\\x94\\x2a\\x1c\\x9d\\x98\\x87\\x7a\\x3b\\x73\\x79\\x68\\xbe\\x44\\xc6\\xf3\\x94\\x5a\\xd6\\x4b\\xd3\\x41\\x4a\\x8a\\x3e\\x35\\x4d\\xa9\\xd5\\xb2\\x78\\xf4\\xa5\\xae\\x62\\x0c\\xd9\\x5e\\x10\\xd7\\xbe\\xf7\\x97\\xf7\\xfe\\xa2\\x8d\\x17\\xa0\\xf9\\xfd\\xed\\x53\\xa1\\x46\\x33\\xbc\\xd0\\x57\\x6b\\x98\\x30\\xb6\\x85\\x37\\xd4\\xfa\\x9a\\x23\\xdd\\xed\\xed\\xdd\\xc1\\xee\\xb2\\xa0\\xe3\\x9b\\xb7\\x4f\\x7e\\xed\\x0c\\x96\\x14\\x05\\xac\\xff\\x39\\x2d\\xb4\\x96\\x05\\xca\\xe0\\x0a\\x9f\\xd3\\xf9\\xcc\\xcf\\x1e\\x7c\\xc9\\xeb\\xf0\\xd6\\x71\\x2f\\x3d\\xf4\\x93\\x17\\x3c\\xc3\\x25\\x1a\\x5d\\x73\\xe9\\x9c\\x62\\xae\\xec\\x3a\\xa2\\x9a\\x68\\x23\\xa6\\x13\\x0b\\xe2\\x43\\xc7\\x74\\x85\\x86\\xd8\\x14\\x43\\xe2\\x25\\x5d\\x53\\xf4\\xe3\\x6b\\x14\\x8a\\x99\\x33\\xa0\\xc7\\xc3\\x8c\\x87\\x6d\\x0d\\x7c\\xed\\x88\\x11\\x9a\\xd6\\xda\\x5a\\x4d\\x01\\xab\\x41\\x22\\xb0\\xc4\\x60\\x28\\xd7\\x50\\x7e\\x27\\x83\\x23\\x2e\\x4c\\x4e\\xc4\\x25\\x1d\\x68\\x89\\x89\\x0d\\xdd\\xca\\x8c\\xb5\\x31\\xd1\\x70\\xad\\xbd\\x0c\\xed\\x1a\\xb7\\xb8\\x4f\\xb7\\x27\\xc8\\x8b\\xbc\\x54\\xd7\\xc4\\xc4\\x6a\\xe5\\x6c\\xd4\\x45\\x6a\\x15\\xa5\\x27\\x80\\x11\\x0b\\x12\\x6b\\x8c\\x4d\\xb7\\x31\\xa0\\xd3\\x7d\\xd7\\x4a\\x49\\x89\\xbc\\x99\\x87\\x36\\x9d\\x9a\\x3c\\xf9\\xd4\\x26\\xe1\\x49\\xe1\\x47\\x07\\xc0\\x88\\x37\\xf6\\xec\\x9c\\xe6\\x2c\\xdd\\x30\\xea\\xf1\\x87\\x4e\\xbf\\x3b\\xe5\\x95\\xe1\\xc3\\xea\\x5f\\xb9\\xea\\x9d\\x3f\\xff\\x64\\xff\\xa8\\x0d\\xa5\\xce\\x69\\x3b\\xf7\\x9c\\x04\\x4d\\x07\\x84\\xdb\\x2f\\xbc\\x41\\xbd\\x5b\\xbb\\xf4\\xda\\x35\\xad\\x66\\xdf\\xd8\\xb5\\x4b\\xe6\\x94\\x0f\\x8b\\xab\\x41\\xd5\\x0d\\xcb\\x6b\\x87\\x38\\x38\\x47\\x4d\\x49\\x49\\xdc\\xdc\\x34\\x7e\\x7c\\x13\\x98\\x0d\\x9a\\xde\\x02\\xc3\\x1f\\x6f\\x16\\x5e\\x3c\\x30\\x64\\xa8\\x70\\x46\\x38\\x21\\x7c\\x2a\\xbc\\xbb\\xaa\\x3b\\xb1\\x1a\\x84\\x81\\x1d\\x20\\xc5\\x72\\xe8\\x90\\x03\\xa0\\xa9\\xf9\\x31\\xe1\\x37\\x6f\\x0b\\x2f\\x0a\\xbb\\x98\\xc5\\xc0\\x5d\\x5c\\x5d\\x0a\\xb6\\x44\\x4a\\x23\\xc3\\x1b\\xc7\\x74\\x2d\\xb0\\xc4\\xb4\\x51\\x8f\\xd1\\x6a\\x75\\xd9\\xfc\\x45\\x75\\xe2\\xda\\x4f\\xb8\\x74\\x8e\\xf1\\xd2\\x02\\x51\\x8a\\xb4\\xe9\\x89\\xc4\\xb2\\x78\\x83\\xb7\\xb8\\xa9\\xcd\\x24\\x93\\x95\\x8d\\xd4\\xb4\\xb7\\x85\\x87\\x16\\x2b\\x26\\x4f\\x1a\\xa9\\x1f\\x51\\xdd\\x55\\x51\\x5b\\xab\\x6c\\xa8\\xc0\\x09\\x8e\\x15\\x15\\x4a\\xbf\\x41\\x69\\x40\\x06\\x9f\\x56\\xab\\x24\\xed\\x76\\x2a\\xaa\\xd4\\xbb\\x2d\\x94\\xa5\\x8b\\x27\\x28\\x4b\\x7e\\xcc\\xcb\\x90\\xb3\\x0d\\x45\\x99\\x7d\\x18\\x24\\xfa\\x25\\x75\\xed\\x49\\x35\\xed\\x49\\x75\\xa5\\x8a\\xa5\\xda\\x4f\\x66\\x72\\xc5\\x70\\x9b\\xae\\xff\\xbe\\xf6\\xd4\\xea\\x37\\xfa\\xfa\\xde\\x38\\xfe\\xde\\x9f\\x9e\\x5b\\xb4\\xb1\\xad\\x2c\\x3c\\xe4\\xe6\\xe5\\x0b\\x9b\\x97\\x19\\x9b\\x4c\\xbd\\x2d\\x0b\\x97\\xdf\\x3c\\x24\\x5c\\xd6\\xb6\\x71\\xd1\\x2f\\x4f\\xbd\\x77\\xf1\\xe5\\xff\\xb2\\xdc\\xdb\\xb7\\x03\\xfa\\xdc\\xc7\\x00\\x06\\x85\\xb3\\xbb\\x62\\xc2\\xfa\\x43\\x2f\\x26\\x1a\\x47\\xcc\\x7c\\xf1\\x10\\xd8\\x18\\xdb\\x05\\xd8\\xa0\\x90\\xfc\\xf8\\x9c\\x70\\x81\\xfa\\xea\\xbf\\x2c\\xaf\\x84\\xdb\\xa4\\x78\\x88\\x79\\x1c\\xc9\\x32\\x03\\x96\\x65\\x8a\\x97\\x68\\x00\\x96\\x88\\x31\\xf4\\x51\\x74\\x18\\x10\\x6d\\x63\\xe4\\xb5\\x79\\x31\\x74\\x31\\xae\\x46\\x0f\\x47\\xf7\\x1b\\xa5\\xfb\\xc9\\x15\\xa9\\x98\\x7b\\xa1\\x01\\xdd\\x5f\\x5c\\xe2\\xd4\\xe7\\xe3\\xe0\\x22\\xdd\\xd6\\x2a\\xd6\\xc0\\xd7\\xc7\\x3d\\x8c\\x59\\xaf\\x72\\xa8\\xcc\\xd0\\xe9\\x32\\x28\\x95\\x5a\\xab\\x15\\x89\\x36\\xc2\\x4a\\xa9\\xf4\\x5a\\x3d\\x92\\x6e\\xce\\x2b\\x63\\x2a\\xa7\\x04\\x3e\\x26\\x7c\\x0e\\x64\\x3a\\x47\\xa6\\xe0\\x6e\\xa9\\x5f\\xbb\\x36\\x3d\\xf5\\xe9\\x5b\\x6f\\xfd\\x75\\x8d\\xd8\\x33\\xf2\\x9c\\xf0\\x27\\xb0\\x00\\xcc\\xfe\\xc7\\xf7\\x0c\\x7c\\xf5\\xe5\\x69\\x22\\x0d\\xfe\\x53\\xf8\\x50\\x27\\x17\\xe6\\x8b\\x1d\\x23\\x47\\x06\\xc1\\x74\\xe0\\x44\\x8c\\xef\\x1a\\x44\\xa4\\x38\\xbf\\x48\\x18\\x07\\x47\\x22\\xf9\\xe3\\xc2\\xe3\\x33\\x6a\\xe4\\x2c\\xab\\x71\\x41\\x8f\\xdb\\xa4\\x56\\xeb\\x11\\xe9\\x74\\xf0\\x84\\x5d\\x8f\\x1b\\x07\\xb6\\xf3\\xfa\\xff\\x32\\x3e\\xd1\\x4a\\xc2\\x0c\\x29\\x3b\\x42\\x43\\x2a\\x7f\\x88\\x4c\\xe2\\x48\\x41\\x5d\\x77\\xd5\\xe2\\x1b\\x47\\xcc\\x13\\x8c\\x73\\x85\\x77\\xc4\\xd4\\x21\\x72\\xcb\\xa3\\x76\\xf3\\xac\\xfd\\xd7\\xff\\xfa\\x61\\x8d\\x4c\\x18\\x26\\xba\\x56\\xbb\\x27\\x80\\x0d\\x52\\xee\\x10\\x5e\\x3b\\xd3\\xa5\\x73\\xe4\\xc3\\xf4\\x56\\x64\\x64\\x9b\\x9e\\x25\\xd5\\xac\\x59\\x6d\\x42\\xfa\\x53\\x63\\xa3\\x28\\x04\\xd0\\x4f\\x9a\\x62\\xd0\\x2a\\x8b\\xc8\\xd0\\x7f\\x30\\x60\\x8a\\xd4\\x58\\x6b\\x22\\x35\\x60\\xde\\x53\\x1b\\x5e\\x38\\x16\\x79\\x35\\x7e\\x2c\\x72\\x6c\\xef\\x4d\\xcf\\xbc\\x12\\x39\\x16\\x7f\\x25\\x02\\x7f\\x0c\\x2e\\x24\\xff\\xda\\xb2\\xbc\\xe5\\x85\\xe6\\xe5\\x2d\\x82\\x8f\\x64\\xd0\\xd3\\xe7\\x5b\\x96\\x8b\\xfb\\x23\\x3c\\x44\\xb9\\x41\\x37\\xbd\\x93\\x60\\x09\\xf9\\xd3\\x48\\xa9\\x2f\\xc3\\xed\\xdf\\xad\\x19\\x49\\xe8\\x8b\\x64\\xf0\\xaa\\x6f\\x20\\x47\\x96\\x57\\x8e\\x1c\\x53\\x03\\xae\\x22\\x47\\x95\\x97\\x8f\\x1c\\x35\\x94\\x7a\\xcc\\x14\\x6b\\x6d\\x2b\\xaf\\x6a\\x62\\x2b\\x5a\\x47\\x56\\x0e\\x19\\x29\\x7d\\xdf\\xfd\\x54\\x02\\xcc\\xa5\\xd7\\xa0\\x31\\xdb\\xe3\\x6a\\xa8\\xd3\\x73\\x7a\\x52\\x4f\\x28\\x15\\x0a\\x82\\x28\\xab\\x2c\\x8b\\xe9\\x8f\\xce\\xac\\x14\\x83\\xaa\\xa2\\x85\\x8f\\xcc\\xd0\\x9a\\xca\\x14\\x5b\\x07\\x72\\x6d\\x7c\\xa8\\xb3\\x7c\\xfc\\x92\\x5b\\x66\\xce\\x9f\\xd5\\x57\\x3f\\xb1\\x70\\xc9\\x62\\x8a\\x4a\\x34\\xd7\\x9a\\x8a\\x1a\\xb6\\x80\\xb6\\x88\\x77\\xcb\\x5d\\xe2\\xf7\\x5f\\x4a\\x50\\xd5\\xc4\\xc3\\xf4\\x77\\x84\\x01\\x8d\\x17\\xc9\\xfd\\xb2\\x3f\\xa0\\xf1\\x0e\\x49\\xf7\\x30\\xc2\\xe2\\x80\\x2d\\x05\\x0f\\x77\\x8d\\x6c\\x6c\\x0b\\x14\\x05\\xda\\xc6\\xfd\\xe4\\x51\\x7a\\xe2\\x78\\x7e\\x58\\x99\\x2f\\xe2\\xf1\\xda\\x8b\\x6a\\xcc\\x23\\xdd\\xdb\\x06\\x7c\\x87\\x0e\\x8a\\xdf\\x61\\x1a\\x78\\x4c\\x1f\\x7e\\xf4\\x27\\xe3\\xc4\\xef\\x68\\x1c\\xd9\\x45\\x4f\\x5c\\xb6\\xcd\\x3d\\xd2\\x5c\\x5d\\x6c\\xf7\\x7a\\x22\\xbe\\xb2\\x61\\x53\\x09\\x90\\xbc\\x9f\\x9a\\x43\\x0e\\xa1\\x37\\x61\\xbc\\xcc\\xb8\\x4a\\xad\\xd1\\x10\\x38\\xe5\\x94\\x94\\xa1\\x6f\\x43\\x53\\x14\\x49\\x02\\xfa\\x65\\x01\\x6c\\x41\\x23\\x9d\\x9e\\xf5\\x87\\x4a\\xc1\\x67\\xfd\\xea\\x23\\x4c\\xd7\\xc3\\x1b\\x13\\x47\\x7f\\xf7\\xda\\xfc\\x3f\\x0a\\x17\\xef\\xdd\\x42\\x07\\x5f\\x5e\\x7c\\x7d\\x63\\x65\\x7d\\xe5\\xea\\x59\\xd5\\x11\\x42\\x7e\\xb1\\x48\\x38\\x00\\xdf\\xa4\\x9f\\x26\\x34\\x84\\x13\\x69\\x43\\x35\\xc4\\x48\\xc4\\xf1\\x66\\x13\\xbd\\x44\\x63\\xdc\\xe3\\x6a\\x6d\\x0d\\x8c\\x1f\\x3a\\x67\\x4e\\xe3\\x82\\xc2\\x49\\x93\\x2a\\xa6\\x8f\\x5f\\x30\\x7d\\xfa\\x82\\xf1\\x50\\xa6\\x65\\x09\\x99\\x4c\\x45\\xa1\\x6d\\x43\\x3f\\x59\\x96\\x0e\\x61\\xc7\\x62\\x19\\xf9\\x29\\x8e\\x84\\xcd\\x74\\xfd\\x40\\x0f\\x61\\x98\\xf7\\x0a\\xfc\\xc0\\xdf\\x4c\\xff\\xe3\\x3b\\xf3\\x5f\\xc5\\x46\\x77\\x5e\\x3f\\x69\\xd2\\xf5\\x9d\\xad\\x55\\x99\\x67\\xe4\\xa4\\x41\\xde\\x1c\\x97\\x79\\xf6\\xfd\\xd0\\xaa\\x56\\xe9\\xe9\\xe8\\x58\\xe6\\xd9\\xc1\\xcc\\xb3\\x37\\x47\\xc7\\x26\\x5d\\x7f\\xfd\\xa4\\xf2\\xb1\\x4c\\x75\\xfa\\xd9\\xf7\\x27\\xd2\\xcf\\xa8\\x48\\xfa\\x99\\x20\\x4f\\x3f\\x4b\\x9e\\x1c\\x57\\x86\\x9f\\xc5\\x46\\x53\\x91\\xf4\\x33\\x41\\x9e\\x7e\\x46\\xa0\\xb5\\x2e\\x17\\x7a\\xe0\\x09\\x86\\x22\\x10\\x0f\\x21\\x2a\\x89\\x66\\xe2\\x2a\\x62\\x11\\xb1\\x9e\\xb8\\x1b\\x63\\x9f\\xde\\x7c\\x5b\\x47\\x4b\\x49\\x38\\x16\\x6b\\xa8\\x2e\\xf0\\x4f\\x9d\\xbb\\xa2\\xb7\\x4d\\x7b\\x5b\\xcb\\x5d\\xb5\\xd5\\xfe\\xb5\\x57\\xcf\\xe5\\x7a\\x67\\xce\\xec\\xe5\\xe6\\x5e\\xbd\\xd6\\x5f\\x5d\\x7b\\x57\\xcb\\x6d\\xda\\x36\\x2d\\x34\\xa3\\x2d\\x2f\\x4b\\xf5\\xf4\\xcd\\xfe\\x2f\\xad\\x72\\x66\\xf5\\x18\\x2b\\xa6\\xb0\\xea\\x2c\\x81\\x21\\xaa\\xad\\x61\\x91\\x8a\\xe9\\x21\\xa5\\x34\\x5d\\x80\\x0e\\x41\\x20\\x9c\\xf5\\xb4\\x60\\xe1\\x1f\\x4b\\x39\\x61\\xc4\\xfe\\x16\\x22\\x42\\x42\\x24\\xd5\\x39\\x40\\xba\\x07\\xe0\\x6b\\x8d\\x35\\xa5\\xa8\\x4a\\xf7\\x85\\xf0\\xb7\\x5b\\x65\\x29\\xfd\\x35\\xf5\\xdd\\x62\\x6a\\x67\\x4d\\xaa\\xd5\\x8f\\xf4\\xfb\\x7d\\x3d\\x6b\\x6e\\xf0\\x17\\xfa\\x6b\\x8a\\x62\\x23\\xde\\xcf\\x3e\\x85\\x53\\xa7\\x2e\\x0a\\x35\\x06\\xab\\xac\\x16\\xd6\\xe7\\x0f\\x17\\x8f\\xff\\x7e\\x61\\xfe\\x6b\\xea\\xa7\\x0d\\xf3\\xea\\x4a\\x82\\x16\\x8b\\xb9\\xc4\\xe6\\x29\\x6d\\xbe\\x58\\x97\\xf7\\x12\\xce\\xbc\\xae\\xa5\\x6d\\x69\\x71\\x6b\\xc4\\xcc\\x99\\x4a\\xbc\\x05\\x4d\\x17\\xff\\x9a\\x7d\\x5d\\xe6\\x29\\x68\\x3a\\x98\\xff\\x65\\xf4\\xbd\\xf9\\xaf\\x93\\x2f\\x0f\\x3a\\x26\\xe1\\x4c\\xfe\\xb7\\x42\\x7f\\xfe\\xeb\\xf9\\x57\\x1c\\x12\\x57\\xd2\\x2c\\xe2\\xb0\\x08\\xe3\\x98\\x4a\\xe6\\x04\\xb2\\x31\\x8a\\x88\\x75\\xf1\\xd1\\xac\\x42\\xeb\\xf7\\x15\\x44\\x2d\\x8c\\xdb\\x1d\\xf5\\x69\\xa9\\xe2\\x12\\xa2\\xa4\\xbb\\x84\\x8c\\x97\\x74\\x96\\xec\\x2e\\x39\\x50\\x42\\x15\\x88\\x5d\\xb8\\x15\\xd0\\xe7\\x0b\\x79\\x3c\\x06\\x5c\\x26\\x82\\xf3\\x2f\\x58\\x99\\xda\\x6e\\x80\\x6e\\x05\\x23\\x76\\x3a\\xa6\\xd4\\x12\\x90\\xdb\\x60\\xc5\\xce\\x59\\xbf\\x1c\\x98\\x99\\xad\\xe1\\x4f\\x19\\xae\\x21\\xdc\\xda\\xf4\\x8a\\x05\\xde\\x00\\xef\\xb9\\xa8\\x56\\xd4\\xc4\\xb4\\x80\\xa9\\x7c\\x63\\x6d\\xa9\\xb0\\x0c\\xc3\\x6c\\xa6\\xa3\\x72\\x22\\xf4\\x66\\xf2\\xe7\\xcf\\xbe\\x4a\\x9f\\x64\\x66\\x8f\\x1d\\x3b\\x9b\\x39\\x49\\xbf\\xda\\x26\\x40\\x70\\x30\\x03\\xb9\\x39\\x08\\x20\\x27\\x3d\\x66\\xfb\\x8f\\xe7\\xce\\x9e\\x3d\\xf7\\xc7\\xdb\\x71\\xde\\xa4\\xb0\\x82\\xda\\x46\\xdf\\x24\\xae\\xc5\\xa2\\xf8\\x50\\xdc\\xda\\xc2\\x65\\x96\\xcb\\x35\\x1a\\x5f\\xd4\\x45\\x95\\x14\\xe7\\x4d\\x5e\\xef\\xb4\\x98\\xb4\\x7a\\x64\\x8d\\x9b\\x19\\x95\\x4d\\xaf\\x73\\xc9\\x69\\x0d\\xae\\x0f\\x81\\x00\\x07\\xdf\\x8e\\xfd\\xf0\\xdc\\x2f\\xf3\\x48\\x05\\x4c\\x81\\x2b\\x17\\xb6\\xe7\\x4f\\x1c\\xbe\\xb6\\x3c\\x76\\xf1\\xb2\\x42\\xf7\\xdb\\x92\\x2f\\xe6\\xcd\\x5b\\x58\\x01\\xb6\\xfc\\x60\\xed\\x3b\\xe5\\xc9\\x99\\x77\\x30\\x85\\xbb\\x84\\x71\\xa3\\xdb\\xe3\\x51\\x33\\xa1\\x57\\xdb\\xed\\x0a\\x1a\\x77\\xb1\\xf6\\xb8\\xf5\\xb6\\x6e\\x5e\\x27\\x93\\xcb\\xba\\x79\\xb5\\x5c\\x8f\\xfe\\x41\\x25\\xb4\\x5f\\x39\\xaf\\xa6\\x68\\x60\\x92\\x49\\x2a\\x9d\\xa6\\x2a\\x26\\x65\\x54\\xe7\\x25\\xd0\\x50\\x67\\xc5\\x04\\x9a\\xfd\\xfb\\x41\\xdd\\x99\\x33\\x83\\xa5\\xcc\\xbc\\xb7\\xea\\x96\\x5b\\x56\\x09\\x2f\\x66\\xd2\\x64\\x52\\x18\\x51\\x0a\\x24\\xf7\\x71\\x1d\\xcf\\xd8\\x78\\x44\\x41\\x3b\\x9d\\x24\\x6b\\xd5\\xb2\\x5a\\xce\\xeb\\x14\\xab\\x5b\\x14\\x0e\\x5c\\x5d\\x06\\x88\\x0e\\x9e\\x06\\x0a\\xf4\\x0f\\x9a\\x58\\x48\\x88\\x8d\\x74\\xb3\\x83\\xcc\\x2b\\x4c\\x96\\x88\\xcf\\x94\\x1d\\x61\\x6e\\x7d\\x46\\xba\\x6c\\x23\\x70\\x2d\\xf0\\x6d\\xdd\\x9a\\x2d\\xd0\\x20\\xbb\\xc4\\x9a\\x0d\\xaa\\x7d\\xfe\\xdb\\x6f\\xcf\\x4f\\xbe\\x91\\x2e\\xd1\\x80\\x5f\\x5e\\xfc\\x0d\\x2e\\xdb\\x20\\x32\\x63\\x7d\\x4c\\xc4\\x17\\xf3\\x11\\x2d\\xf1\\xa0\\x1b\\x00\\xc6\\xa6\\x61\\x34\\xfe\\x80\\x9b\\xe8\\xe6\\xdd\\x6e\\x4a\\xa1\\x70\\x21\\x2b\\x56\\x96\\xe0\\x15\\x10\\x30\\x14\\x93\\xc0\\x81\\x83\\xc6\\xfc\\xb4\\xe2\\x01\\x05\\x87\\xd9\\xb0\\x09\\xc6\\x92\\xc2\\xea\\x0d\\x13\\x30\\x59\\x53\\x20\\x90\\xb1\\xca\\x9a\\x08\\xa9\\x3a\\x93\\x6c\\xdd\\xd5\\x4f\\x76\\x00\\x37\\x70\\x1c\\x5b\\xd4\\xbc\\x75\\xc2\\x12\\xd9\\x9a\\xd0\\xf5\\xf7\\x76\\x4c\\x9c\\x57\\xb7\\x96\\xd4\\x0a\\x53\\xd2\\xd0\\xac\\x2f\\xfd\\x41\\xf8\\x6a\\xf6\\xc2\\xd6\\x2d\\x66\\x30\\x79\\x4d\\xeb\\xcd\\xbb\\xd7\\x27\\x9f\\x08\\xae\\xc3\\x63\\x4e\\xd5\\x59\\x8b\\x52\\x76\\x74\\x3c\\x1c\\xb4\\x6a\\x34\\x4a\\x23\\x47\\x18\\x89\\xc2\\x22\\xbb\\xaf\\x93\\xb7\\xeb\\x59\\x53\\x3b\\xcf\\xea\\xd2\\x7a\\x9f\\x3c\\xdc\\xc9\\xcb\\x2d\\xb9\\x4d\\xcd\\xf3\\x6d\\xf1\\x94\\x4b\\x0a\\xf1\\x77\\x71\\xac\\xfe\\x4c\\xb5\\x2a\\x9e\\x83\\x55\\xf4\\xf5\\x59\\x45\\x3b\\x41\\x4c\\x93\\xab\\x89\\x50\\xde\\x29\\xfc\\xdc\\xa6\\x35\\x63\\x67\\x2c\\x5c\\xcc\\xfc\\x28\\xf9\\xef\\xb9\\xf3\\xc0\\x5a\\x72\\xd1\\xce\\xa3\\x2f\\x09\\xcd\\x2b\\x82\\x4f\\xce\\x6c\\xef\\x9a\\x5a\\x1d\\xdc\\x04\\xfe\\x7e\\xf7\\x07\\x8d\\xd7\\xb4\\xac\\x76\\x38\\x9b\\x26\\xbc\\x26\\x76\\xaf\\xe9\\xb7\\x35\\x95\\xb7\\x7d\\x22\\x5c\\x7d\\xdd\\xd5\\x07\\xc0\\xca\\x70\\xb2\\x8e\\x0d\\x6e\\xc6\\x3a\\x22\\x32\\xb3\\xe1\\xf7\\xcc\\x56\\xa4\\x33\\xd4\\xc4\\x5d\\xa4\\x4c\\x45\\xc8\\x08\\xad\\x4e\\xad\\xc4\\xc8\\x93\\x4a\\xd0\\xcd\\x2b\\x21\\xae\\x3c\\xcc\\x5f\\x75\\xdc\\xa1\\xfb\\x0a\\x25\\xeb\\x48\\xa5\\xfc\\x5e\\x30\\xbe\\x9e\\x1c\\xbb\\xbf\\x9f\\xfc\\xd3\\xfa\\xe5\\xd4\\x9f\\x2e\\x6c\\xc7\\xf0\\xa8\\x18\\x9f\\x0b\\x74\\xa6\\xb1\\x21\\xc8\\xaf\\xa8\\xd7\\xa5\\xdf\\x23\\x68\\x85\\x9a\\x56\\x6b\\x75\\x72\\x4d\\x07\\xaf\\x94\\x8b\\x60\\x3a\\x3a\\x0c\\x26\\xd9\\xce\\x93\\x99\\x44\\x2d\\xf1\\xe7\\x72\\x1d\\x17\\xa1\\x9c\\x5f\\x33\\xf9\\xc0\\xa1\\x6d\\xc9\\xbf\\x2f\\x58\\x00\\xbe\\x6b\\x5c\\x6b\\x16\\x8e\\x4c\\x4b\\x9f\\x64\\x10\\x10\\xa4\\x7e\\xc5\\x29\\x9c\\x72\\xc2\\x8a\\xbb\\xf3\\x30\\x4a\\xa5\\x49\\xae\\x03\\x84\\x8e\\xb0\\xd9\\x69\\x11\\xc2\\x4c\\x61\\x30\\x1a\\xba\\x79\\xc6\\x08\\x8c\\x40\\x63\\x81\\x4a\\x9d\\x06\\xb1\\x6a\\x4d\\xfe\\xa1\\x8d\\xe5\\xe4\\x5f\\xa6\\x1a\\x5e\\x55\\x4a\\x1c\\x09\\x62\\x8a\\xf2\\xb1\\xbe\\x6c\\x62\\xb2\\xd8\\xe7\\xfb\\x67\\xd3\\x1a\\x7a\\xde\\x3c\\x0e\\x66\\x08\\x7b\\xc5\\x85\\xe8\\xef\\xa7\\x96\\xc1\\x9f\\x01\\xab\\x59\\xa8\\x5a\\x95\\x7c\\x13\\x2f\\x07\\x59\\xb4\\x0a\\x9c\\x74\\xb6\\xe5\\x61\\x0c\\xe1\\xf1\\x45\\x69\\x85\\x42\\x4b\\x58\\xb4\\x16\\x9b\\x5d\\xae\\x37\\x60\\x44\\x09\\x03\\xd2\\x0f\\xd5\\xac\\x48\\x4e\\xb8\\x8f\\x90\\x2e\\x0d\\x3a\\x91\\x7f\\x04\\xb0\\xcb\\x78\\x60\\x6f\\x26\\xd1\\xe4\\xc1\\x04\\xcf\\x06\\xf2\\x87\\x67\\x80\\x7e\\x0c\\x43\\xf4\\xd2\\x4b\\x22\\x10\\x51\\x1a\\x8a\\x48\\x38\\x3d\\x5f\\xf8\\x7f\\x68\\x7b\\x13\\xf8\\xa8\\xaa\\xb3\\x71\\xf8\\x9e\\xbb\\xcd\\x3e\\x77\\xe6\\xde\\xb9\\x73\\x67\\xbf\\x33\\x99\\xcc\\x4c\\x26\\x93\\x7d\\xb2\\x87\\x90\\x4b\\xd8\\x02\\x81\\x24\\x04\\x10\\x26\\x84\\x24\\x80\\x22\\xb2\\x2a\\xa0\\x28\\x54\\xc1\\x5a\\x17\\x5c\\xea\\xfa\\x6a\\x5d\\x6a\\xd1\\x52\\x45\\x8b\\x85\\x2a\\x22\\xad\\x56\\x6d\\x6b\\x5b\\xad\\x5a\\xa9\\xcb\\x6b\\xad\\x1b\\xad\\xd5\\xb6\\xaf\\xd6\\xaa\\xb5\\xda\\x2a\\xb9\\xf9\\xce\\x39\\xf7\\xce\\x96\\x05\\xfb\\xbe\\xbf\\xef\\x8f\\x42\\x66\\x92\\xcc\\x3d\\xe7\\x39\\xcf\\xfe\\x9c\\x67\\xb9\\x1b\\xbb\\x10\\x43\\xeb\\x50\\xf6\\xb8\\xfa\\x1c\\x3a\\x3b\\x75\\x36\\xb3\\x07\\xcf\\xe0\\x1b\\x51\\xea\\x23\\x4e\\xa7\\xdb\\x92\\x48\\xf8\\x69\\x37\\x5d\\x9e\\x8a\\xda\\x47\\x32\\x91\\x68\\xd4\\xe5\\x0d\\x4b\\x5e\\x69\\x38\\x13\\xf0\\x52\\x4e\\xb7\\xcb\\x8d\\xb2\\x42\\x81\\x05\\x1a\\x45\\x2e\\x9e\\x30\\xe6\\x67\\xc2\\xf2\\x2d\\x38\\xf1\\x3f\\x97\\x75\\x37\\xf9\\x50\\xd8\\x6c\\xe7\\x5d\\x2d\\x20\\x51\\x50\\x7f\\x2a\\xe4\\xc7\\xb2\\xa0\\xe8\\x04\\xf9\\xee\\x86\\xef\\xcf\\xa7\\x87\\xc4\\xa1\\xcb\\x7f\\x70\\xf0\\xe6\\x7d\\x67\\x5e\\x89\\xcf\\x98\\x3e\\x87\\xc7\\x87\\xfe\\xe4\\xa5\\x4f\\xff\\x73\\xab\\x7a\\x8f\\x3a\\xbb\\xdc\\x07\\x1c\\xd7\\x0e\\x00\\x3b\\xf0\\x82\\x14\\x60\\xa3\\xa3\\x17\\x65\\xc9\\x50\\xbd\\xf7\\x75\\x97\\xba\\xb9\\xed\\x4a\\xf5\\xbd\\x31\\xf5\\x09\\xf5\\x01\\xbd\\x16\\x7b\\x0e\\xdd\\x87\\x73\\x08\\x86\\x94\\x74\\xc8\\x6e\\x17\\x1c\\xa4\\x29\\x1a\\xf5\\x90\\x02\\x1d\\x4f\\x84\\x2d\\xbd\\x99\\x70\\xd8\\xe9\\x76\\x07\\x7b\\x33\\x5e\\x77\\x61\\x79\\x15\\x45\\x38\\xa1\\xf5\\xdc\\x5b\\x00\\x66\\x3e\\x7b\\x6c\\xaa\\xc9\\xf0\\x25\\x68\\x02\\x0d\\x04\\xd2\\xe9\\x88\\x14\\x82\\x58\\x38\\x79\\xc6\\x45\\x93\\x9d\\x17\\xdc\\x38\\xb7\\xb2\\xf3\\xb4\\xf7\\xd5\\x37\\xc2\\x69\\xbd\\x5d\\x14\\x6e\\x1d\\x95\\x59\\xf4\\xf9\\xbf\\xd5\\x8f\\xd5\\x39\\x32\\xf0\\xdd\\x97\\x04\\x1b\\xc1\\xb9\\x06\\xf5\\xa5\\x2c\\xc1\\xab\\xcf\\x41\\x24\\xde\\xea\\xf9\\xe8\\xcd\\xbf\\x7c\\xa9\\xf5\\x64\\x52\\xbb\\x71\\x1f\\xfb\\x24\\xd8\\xa4\\x8c\\x25\\x69\\x8a\\x60\\xca\\xd8\\x44\\xa2\\x24\\x1e\\x61\\x59\\x9f\\x5d\\xb0\\xb9\\x5c\\x5e\\x91\\xe7\\x9c\\x4e\\xd1\\x16\\x27\\x98\\x54\\xf9\\x92\\x14\\x50\\x52\\x48\\x8e\\x87\\x53\\x80\\x4e\\x81\\x25\\xa9\\xed\\xa9\\x9b\\x52\\x47\\x52\\x4f\\xa5\\xfe\\x94\\x62\\xbb\\xd1\\xb7\\x4a\\x53\\xe4\\x59\\x8f\\xa6\\x5e\\x4f\\x91\\xd7\\xa5\\xc0\\xe9\\xf0\\xa7\\x64\\x5f\\x0a\\xcc\\x4a\\x81\\x9a\\x14\\x70\\xe1\\x8b\\x8d\\x4f\\x53\\xe0\\x44\\x0a\\xbc\\x9c\\x02\\x4f\\xa6\\xc0\\x37\\x52\\xfb\\x53\\xe4\\xd9\\xe8\\x27\\xf5\\xa9\\x25\\xa9\\xd3\\x53\\xf4\\x7e\\xfc\\x20\\x6a\\x17\\x5a\\x61\\x49\\x8a\\xb4\\xa4\\x52\\x29\\xb2\\xe5\\x4b\\xfc\\xeb\\x57\\xa5\\xbe\\x9f\\x7a\\x36\\x45\\x6d\\x49\\x01\\x32\\x9c\\x52\\x52\\xe4\\xa1\\xd4\\x0b\\xa9\\xb7\\x53\\x63\\x29\\x9a\\x48\\x39\\x52\\x35\\xa9\\xbe\\xd4\\xd9\\x29\\x26\\xff\\xf2\\xba\\xd4\\xbe\\xd4\\x93\\xa9\\x13\\x29\\x93\\x91\\x4a\\x94\\x84\\xfd\\x2e\\xaf\\xdb\\x8b\\x62\\xdc\\x8c\\x5d\\xb0\\xaf\\xc9\\x94\\x09\\x3e\\xf8\\x9f\\xb9\\x34\\xe8\\xa6\\x68\\x07\\x9f\\xe4\\x0d\\xda\\x40\\x0a\\x3e\\x37\\x19\\x5f\\x4b\\xef\\x48\\xa7\\x27\\xcc\\x85\\x4c\\xff\\x07\\xcd\\xec\\x87\\x8a\\x3b\\x0f\\x64\\xf3\\x80\\x70\\x46\\x59\\x36\\x25\\x48\\x37\\xd0\\xa8\\xe8\\x54\\xad\\xeb\\x1b\\x0a\\x5b\\xdc\\x1b\\xde\\x8d\\x5e\\x78\\xf1\\x96\\xa9\\x7a\\xd7\\x17\\xf5\\xb8\\x9f\\x87\\x9a\\xf4\\x9e\\xb2\\x77\\xfd\\xbc\\xe2\\x4e\\xf7\\x84\\x4e\\x03\\x77\\xe0\\xbe\\x5c\\x49\\x70\\xa6\\x72\\x92\\x4c\\x46\\xe2\\x74\\x02\\xdf\\x79\\xda\\x78\\x8f\\xe0\\x12\\x78\\x4b\\x22\\x1e\\x4b\\x1a\\x31\\xf2\\xbb\\x35\\x6c\\x91\\x1f\\xa5\\xc0\\x9f\\x52\\xe0\\xf5\\x14\\x40\\x28\\x23\\xf7\\xa4\\xc0\\xf6\\x14\\xd8\\x80\\xf0\\x8f\\x7e\\x4a\\xad\\xdf\\xae\\xd3\\x04\\xbd\\x02\\x7d\\x6f\\x56\\x8a\\x7c\\x3f\\x05\\x8e\\xa4\\x5e\\xc6\\x54\\xf1\\x8d\\x14\\x18\\x41\\x94\\x03\\x30\\x1e\\x5d\\xe8\\x41\\x9f\\xa6\\xc8\\xe3\\xe8\\x11\\x88\\x20\\x8e\\xa4\\xe8\\x91\\xec\\x83\\x66\\xa5\\xe8\\xe6\\x8f\\xf0\\x32\\x37\\xa5\\xd0\\x42\\x54\\x6e\\x21\\x4c\\x1f\\x0e\\x48\\x0c\\x90\\xa4\\xc6\\xd0\\xa3\\xfa\\x20\\xce\\x11\\xc6\\x19\\x39\\x05\\xce\\x4e\\x1d\\x4e\\x91\\xf8\\x1e\\x0d\\x2e\\x60\\xa4\\xe2\\x11\\xd9\\x27\\x78\\x44\\x4f\\x4f\\x26\\xec\\xa5\\x6d\\xbc\\xad\\x3f\\x93\\xe0\\xbd\\xf0\\x3f\\x53\\x34\\x20\\x72\\x14\\x27\\x96\\x39\\xd1\\xe5\\x6d\\x4f\\x06\\xa0\\x36\\x21\\xbf\\xfc\\x8f\\x08\\xe0\\x94\\xcd\\xb6\\x0a\\x6b\\xb3\\x8b\\xca\\xb2\\x0b\\x52\\x39\\xa0\\x4e\\x88\\x52\\xff\\x51\\x4f\\x2d\\xe6\\xd8\\xb6\\xdd\\x95\\xaf\\x7f\\x45\\x57\\x2d\\x4f\\x9f\\x7a\\x07\\x38\\xfd\\x3f\\xee\\xab\\xf5\\x81\\x5d\\xc3\\xfb\\x90\\xda\\x8f\\x67\\x18\\x34\\x12\\x83\\x4a\\x5d\\x2d\\x69\\xac\\x0f\\x26\\xc5\\xaa\\xaa\\x64\\x45\\xbd\\x87\\x2c\\xb5\\x1b\\x9b\\x9a\\x2b\\xbc\\x1e\\x2f\\x1a\\x3e\\x52\\x5b\\x9a\\xf0\\x7a\\x6b\\x13\\xb5\\xc2\\x70\\xc6\\x52\\x2b\\x24\\xe4\\xe1\\x4c\\x82\\x66\\x90\\x38\\xab\\xeb\\x28\\x1c\\x1e\\xc5\\xb7\\xf0\\x2d\\x13\\x2b\\x2a\\xb1\\x34\\xd3\\x9b\\x69\\xc5\\x13\\xf1\\xaf\\x9c\\x6a\\xe0\\x74\\xd1\\x06\\x9c\\x20\\x00\\x0e\\x6d\\x5e\\xd1\\x33\\xad\\xb1\\x75\\xe9\\x8c\\xdb\\x67\\x9f\\x62\\xc4\\xc1\\x18\\xf1\\xa7\\xe6\\xd9\\x3b\\xd5\\xfe\\xc6\\xa5\\xc1\\x8e\\xd6\\x39\\x67\\x19\\x79\\xfe\\x54\\xf3\\x0e\\xd4\\xd7\\xee\\xfb\\xb5\\xd5\\x7f\\xc6\\xec\\xb5\\xe7\\xa0\\x3e\\x37\\x6a\\x3f\\xee\\x2b\\xd6\\x48\\x9c\\xa5\\x4c\\xaf\\x25\\xeb\\x8d\\xbe\\x84\\x50\\x55\\x95\\x48\\x19\\xdd\\x64\\xc4\\xd0\\xd4\\x5c\\xeb\\x58\\x94\\xb1\\x5b\\x6a\\xdd\\x92\\xbb\\x37\\xc3\\x49\\xb2\\x34\\x2c\\x6d\\x91\\x0e\\x49\\x8c\\x95\\xa2\\x24\\x4a\\x22\\x22\\xa5\\xa5\\x81\\xde\\x4c\\xa9\\x83\\x60\\xfa\\x72\\xa2\\x5d\\x4b\\x47\\x41\\x6a\\x56\\x6f\\x9d\\x99\\x4e\\x4f\\x22\\xda\\x0b\\x0e\\xe3\\x94\\x4d\\xc6\\xb4\\x3c\\x09\\xfd\\x30\\xe6\\x68\\x87\\xd1\\xdf\\x71\\x57\\xc5\\x64\\x3d\\xc7\\x86\\xce\\x3f\\x70\\xa8\\x75\\x5e\\xf6\\x18\\x66\\xad\\xb7\\x04\\x2b\\x26\\x76\\x1f\\x43\\xe9\\x0f\\x17\\x5f\\xeb\\xf4\\xaf\\x9d\\x0b\\xc1\\xd7\\xfa\\x2c\\xe3\\x19\\x08\\x7e\\x22\\xa3\\xd4\\xd0\\x14\\x94\\x93\\x8c\\x4f\\x30\\x18\\xac\\x56\\x9f\\xd7\\x4f\\x30\\xc1\\x80\\xd7\\x85\\x5a\\x79\\x0c\\x67\\x7c\\x02\\x43\\x99\\xdd\\x1c\\xe5\\xcf\\x8a\\x4a\\x5a\\x13\\x96\\xb9\\x72\\xb6\\x5c\\x2f\\xba\\x71\\x79\\x4b\\x13\\xe5\\x5c\\x91\\x64\\x63\\x1e\\x85\\x92\\x6d\\x67\\xf1\\xf4\\x03\\xf0\\x2c\\x9e\\x8a\\xa0\\x49\\xb2\\xc9\\xe6\\x1f\\x68\\xc3\\x11\\x34\\x1b\\x51\\xbd\\x03\\xf7\\x0f\\x0b\\x12\\x2b\\x94\\x1a\\x32\\xc8\\x04\\x44\\x9f\\x9f\\xc5\\x4e\\x26\\xeb\\x0b\\x04\\x19\\x39\\xe4\\x13\\x35\\xbf\\xd2\\xef\\x62\\x29\\x8b\\x74\\x2a\\xcf\\x72\\x0a\\x00\\xb2\\xbc\\x3a\\xbe\\x6b\\x98\\x33\\xd7\\x51\\x8c\\xde\\xbb\\x6d\\xf7\\xdf\\x0b\\xbb\\x86\\xdd\\x8e\\xbb\\x89\\x7d\\x88\\xba\\x89\\x41\\x9e\\x9c\\xd0\\x37\\x4c\\xbd\\x08\\xec\\x41\\x5d\\xc5\\x3e\\x1f\\xfd\\xd2\\x5b\\x38\\x87\\x22\\x4c\\x2c\\x53\\xaa\\x03\\x84\\x44\\x51\\x2e\\x1a\\xe3\\x80\\xf6\\x7a\\x08\\xa6\\x24\\x12\\xf4\\x68\\x38\\x90\\x04\\x86\\xa4\\xcd\\x3e\\x8e\\x92\\xb3\\x48\\x40\\x4d\\xa2\\x4f\\x89\\x81\\x5c\\xda\\x18\\x70\\x46\\x9d\\xc5\\xdb\\x6f\\x82\\xf6\\x5e\\x6e\\x84\\x0a\\xf3\\xa8\\x7a\\x86\\xfa\\xd4\\xe6\\x8d\\x59\\x2c\\x6c\\xdc\\x0c\\x36\\x64\\xf1\\x70\\x16\\xf8\\xa7\\xfa\\x11\\xb8\\xb5\\xbf\\x18\\x0f\\xeb\\xc0\\xac\\xdf\\x83\\xe1\\x2c\\x2e\\xfc\\x85\\xbd\\xdc\\x4a\\x50\\x4e\\x83\\x2c\\x08\\x1e\\x82\\xe3\\xc2\\x0e\\xc0\\x30\\x0e\\x0f\\x55\\x1a\\x0d\\xb1\\xc0\\xeb\\xf7\\xf6\\x64\\x08\\xd9\\x69\\xa7\\xdd\\x94\\x9f\\x13\\x6c\\x46\\x8f\\x1b\\x8a\\x64\\x8b\\xbb\\xb8\\x95\\xdb\\x04\\x30\\xf2\\x68\\x68\\x2a\\x6c\\xe2\\x96\\x10\\x27\\x01\\x89\\x3c\\xed\\xe3\\xfc\\xe1\\x73\\xa7\\x1d\\x18\\xe8\\xcb\\x62\\xa5\\x6f\\x80\\xdc\\xfc\\xc7\\xec\\xb1\\x77\\x74\\xf8\\xbf\\xfc\\x15\\x70\\x35\\x16\\xa3\\x65\\x3e\\x28\\x9a\\x0b\\x12\\x21\\xd6\\x28\\xf5\\x20\\xec\\x0d\\x91\\xb2\\x87\\x86\\xde\\xa5\\x1c\\x0a\\xd3\\xd1\\x92\\x90\\x17\\x11\\x14\\xc4\\x86\\xc5\\x6a\\x19\\xc9\\xb8\\xac\\x56\\x40\\x7a\\x0c\\x7e\\x07\\x15\\x46\\x85\\x02\\xc3\\x19\\xc3\\x38\\xa4\\xb4\\xb4\\x4c\\x91\\x05\\x94\\x4f\\xe9\\x03\\xe3\\xcb\\x15\\x0d\\xd8\\x71\\x2e\\x46\\x8e\\xce\\x21\\x18\\x3b\\xdf\\xfe\\x76\\x9e\\x4b\\xce\\xca\\x71\\x08\\x95\\xd9\\xf9\\x5d\\x84\\x8f\\xef\\xee\\x54\\x3f\\xc8\\x73\\x89\\xbf\\xa0\\xcf\\x1e\\xf4\\xf3\\x23\\xc4\\x7a\\xa5\\x05\\xc2\\x13\\xa4\\x42\\x12\\xc3\\x98\\xcd\\xa1\\xa0\\x0c\\x61\\x0a\\x7a\\x7c\\x10\\x11\\x6e\\xab\\xcd\\xda\\x9b\\x11\\x6c\\x36\\x67\\x08\\xd2\\xa0\\xd1\\x87\\x5b\\x51\\x3a\\x09\\x19\\x8f\\x81\\x83\\x88\\x33\\x16\\x75\\x23\\x43\\x66\\xac\\x54\\x04\\xdc\\x04\\xd0\\x0a\\x3b\\xed\\xe9\\xb0\\x39\\xf3\\x90\\x21\\x34\\x92\\x07\\xb2\\x7c\\x03\\x71\\xb4\\xe7\\xbd\\xf7\\x0a\\x58\\xa7\\x80\\x6d\\xa8\\xa7\\xd7\\xdd\\x07\\xcd\\xd6\\xd1\\x75\\xa3\\x3f\\xc8\\x73\\x4e\\x87\\x36\\x27\\x92\\x20\\xd8\\x4b\\x50\\x9f\\x78\\xa2\\x4f\\x29\\x07\\x90\\xfb\\x49\\xbf\\x0b\\xe2\\x8a\\x33\\xf9\\x7d\\x01\\xc8\\xfd\\xa2\\x60\\x71\\x40\\x2c\\x91\\x2e\\x83\\xc4\\x39\\xa8\\x09\\x18\\xf2\\x68\\x1a\\x7e\\xb2\\x7c\\xcb\\x62\\xc4\\xe8\\x0d\\x47\\x0a\\x86\\x0e\\xb1\\x97\\xe4\\x90\\x12\\xfd\\xf6\\x0c\\xff\\x0a\\x6a\\xf8\\x81\\xc9\\x90\\xa2\\x8d\\x6e\\x2b\\x16\\x5c\\x7e\\x7d\\x66\\x82\\x13\\xf2\\x4a\\x18\\xcb\\xad\\x10\\x15\\x94\\x02\\x6e\\x86\\x21\\x9c\\xe6\\x40\\x30\\x04\\x59\\x5e\\x12\\x79\\xb1\\x27\\x13\\xb0\\xf2\\x56\\x94\\xf2\\x63\\xf4\\x3a\\x79\\x2e\\x34\\x29\\x1a\\x72\\xfb\\xff\\x6a\\x04\\x64\\xfb\\xa5\\x17\\x48\\x2e\\x91\\x0a\\xeb\\xe7\\x6f\\xe2\\x67\\xba\\x53\\xdd\\xe4\\xc8\\xd2\\x82\\x56\\x88\\x85\\x82\\x4b\\xab\\x40\\xc2\\xb2\\x2b\\xdf\\x11\\x51\\xd3\\x1f\\x78\\x6e\\x50\\x90\\xd8\\xac\\x74\\x88\\xd0\\x27\\x0d\\xba\\x59\\x0a\\xe2\\xc4\\x4e\\x85\\xe4\\xb0\\x0c\\x08\\xd9\\x21\\x8f\\xc8\\x67\\xcb\\x4f\\xca\\x68\\x4c\\x05\\x74\\xf4\\x44\\xd1\\x9a\\x8b\\x73\\x9e\\x32\\xc8\\x59\\x50\\x1e\\x9d\\x2a\\xea\\xa0\\xa2\\x83\\x96\\x6d\\x6d\\x33\\x79\\x6d\\x34\\x2b\\x41\\xb5\\xa2\\x5e\\x3d\\x21\\x9e\\x89\\x75\\xca\\x7c\\x1f\\x29\\x8d\\xfe\\xb5\\x20\\x07\\xd8\\x01\\x3e\\xd2\\xc2\\x97\\x44\\xae\\xdf\\xd6\\x5a\\xac\\x53\\x32\\x4a\\x15\\x45\\x40\\x88\\x10\\x60\\x76\\x96\\xa0\\x20\\x41\\x19\\x7b\\x0b\\x60\\x40\\x0d\\x7d\\x38\\x0d\\x86\\x9e\\x0c\\x4d\\x5a\\x8b\\x35\\x4a\\x21\\x08\\xe3\\x63\\x94\\x58\\x27\\x4e\\xb9\\x7d\\x7a\\xad\\x63\\xdb\\xee\\x37\\x87\\xc7\\xb7\\x1b\\xd4\\x1b\\xf3\\x80\\xc5\\x93\\x77\\x1c\\xd4\\x65\\x97\\x21\\x0c\\xf1\\x21\\x13\\xa7\\x2b\\x0d\\xa8\\x03\\x88\\x9f\\xb5\\x90\\x04\\x61\\xb4\\x08\\x74\\x24\\xec\\xb3\\x8d\\x64\\x38\\x1f\\xb0\\xe0\\x06\\x20\\x01\\x2f\\x43\\xe2\\xb8\\x46\\x08\\xb8\\x29\\xbb\\x85\\xc5\\xdd\\xec\\x4d\\xce\\xa2\\x61\\xce\\x59\\x8b\\x77\\xea\\xe6\\x1f\\x85\\xdd\\xf0\\x26\\x81\\xc5\\x10\\x1e\\xf4\\xf7\\x3f\\x5b\\xa2\\x4f\\x70\\xca\\xa3\\x82\\xba\\x93\\xfa\\xe5\\xbf\\xf9\\x2f\\x6f\\x44\\x48\\x98\\x0c\\x19\\xd9\\x78\\x07\\x53\\x8b\\x79\\x64\\x58\\x49\\xb3\\x7e\\x0b\\x02\\x47\\xb6\\x08\\x54\\x49\\x04\\xf5\\x32\\xe1\\x7c\\x72\\xb6\\x97\\x49\\x00\\x47\\x68\\x7a\\x32\\x21\\x02\\x3a\\xdc\\x18\\x92\\x1e\\x08\\x89\\x38\\x09\\x24\\x93\\xf4\\x61\\x49\\xeb\\x57\\xaa\\xa7\\x02\\xc3\\x49\\xbf\\x97\\x4a\\xac\\xf1\\xf0\\x08\\x1d\\x45\\x48\\x21\\xef\\x27\\xaf\\xbe\\xc7\\x68\\xd1\\x9a\\x2c\\x4e\\x86\\x17\\xf5\\x04\\xa1\\xcf\\x72\\x99\\x6d\\xbc\\x1b\\xe2\\xa5\\x92\\x58\\xa7\\x34\\x9b\\xa2\\xd1\\xb2\\x20\\x97\\x22\\x39\\x77\\x19\\x49\\x57\\x57\\xb9\\x79\\x82\\xf7\\x8d\\x64\\x78\\xbf\\x25\\x3c\\x92\\x31\\x59\\x2c\\x04\\xa3\\xcd\\xd6\\x62\\xca\\x47\\x32\\x0c\\x95\\x2a\\x8b\\xe2\\xa1\\x53\\xf1\\x82\\xe9\\x5a\\xb9\\x66\\x90\\x38\\x3a\\x92\\x4d\\x07\\x1c\\x67\\x66\\xe6\\xc7\\x6b\\x65\\xe3\\x21\\x91\\x29\\x22\\x27\\x08\\xe2\\xb2\\x83\\x07\\x99\\xbf\\x3e\\xb0\\x6f\\x8b\\x16\\x14\\x79\\xa2\\x30\\x70\\xb2\\x78\\x1d\\xc6\\xdf\\x9f\\x73\\x13\\xb8\\xd4\\x1d\\x15\\xd9\\xa0\\x48\\x71\\xf0\\x44\\x1a\\xdd\\xa6\\xcd\\x81\\xfa\\xf2\\xbf\\xf0\\x50\\x1b\\x1c\\x2f\\x61\\x51\\x9f\\xa8\\x32\\x62\\x83\\xd2\\x6a\\x87\\x70\\xc7\\x3c\\xb2\\x40\\x1a\\xbc\\x82\\xa7\\xcc\\xc0\\x94\\x27\\xbd\\x6e\\x06\\x45\\x4b\\xdc\\x7e\\x47\\xa4\\x37\\xe3\\x70\\x30\\xe6\\xc2\\x36\\x98\\x10\\x70\\x5c\\x89\\x19\\x67\\x26\\x69\\x83\\x99\\xcb\\xfe\\x9e\\xd0\\xbe\\x65\\x62\\x6b\\x4c\\x3d\\x58\\x12\\x2d\\x08\\xa9\\x4c\\xd2\\x2f\\x73\\x86\\x82\\x42\\x26\\x63\\xb9\\x80\\x4a\\xf9\\xc4\\x06\\x9a\\xea\\xcd\\x76\\x14\\x35\\xc9\\x05\\x55\\x48\\xf5\\x37\\xb8\\x38\\x9a\\x24\\xda\\xc7\\x3e\\x60\\x7e\\x86\\xeb\\x2f\\x9b\\x88\\xa5\\x0a\\xf4\\xa0\\xd2\\x51\\xbf\\xcd\\x16\\x0d\\xbb\\x2a\\x92\\xa4\\xa1\\xa5\\x39\\x5e\\x3b\\x9c\\x31\\x36\\x9a\\x45\\x67\\x3c\\x6e\\x76\\x3a\\x3d\\xc3\\x19\\x27\\x5d\\x59\\x11\\x0e\\x99\\x43\\x10\\xcb\\x66\\x81\\x98\\xd0\\xf2\\x00\\xf9\\x51\\xe3\\xc2\\x5e\\xb1\\xba\\x26\\x11\\xf7\\xd8\\x61\\x8b\\xb2\\x74\\xe2\\xb9\\xf2\\x68\\xad\\x51\\x8d\\xe6\\x37\\x48\\x54\\xbd\\x96\\x3d\\x22\\x35\\xd2\\x6f\\xed\\x3a\\x6b\\xdd\\x5d\\xd3\\xb6\\x84\\x97\\x7d\\x5f\\x7d\\x40\\xdd\\xff\\x24\\x18\\xf9\\x9f\\xfb\\xaf\\x5a\\x1a\\x5a\\xba\\xe9\\xbd\\xdf\\x1d\\x3c\\x5a\\x55\\xba\\x75\\xe7\\xdf\\x7f\\xfe\\xab\\xcf\\xbe\\x79\\xa1\\xb8\\xa0\\x75\\xda\\xb9\\xb3\\xea\\xce\\x5d\\x5c\\xd1\\xb9\\x88\\xb7\\x87\\xc1\\x20\\x58\\xfe\\xdf\\xa0\\xe1\\xae\\xca\\x31\\x62\\x6f\\x9b\\xfa\\xb1\\xfa\\xac\\xfa\\x94\\xfa\\x11\\x3d\\xe3\\xc3\\x6f\\xff\\xec\\xc4\\xbb\\x8f\\xdf\\xf5\\xfe\\x0c\\x12\\xfc\\xec\\xe0\\xed\\xea\\x8f\\xbe\\xf1\\x48\\xfd\\x39\\x38\\x36\\x5f\\x33\\xf6\\x01\\x9d\\xc6\\x75\\x96\\x75\\xc4\\x80\\x52\\xe3\\xab\\xae\\x2e\\x49\\xb9\\x82\\x95\\x1c\\x65\\x2a\\xa9\\xe4\\x5d\\x14\\x5b\\x9f\\x96\\x6a\\x7b\\x33\\x65\\x95\\x84\\x99\\x95\\x24\\x82\\x65\\x21\\x03\\xb3\\x8e\\x50\\x10\\x52\\x7e\\x6f\\x26\\xa6\\x4d\\xe3\\xd7\\x2c\\xa6\\xa9\\x0e\\x20\\x9b\\x22\\x43\\x34\\xd4\\x97\\xe2\\x54\\x71\\x08\\x79\\x18\\x01\\x18\\x2f\\x80\\x5a\\x2b\\xa0\\x8c\\xe2\\x5c\\x26\\xc1\\x85\\x02\\xf9\\xf0\\x74\\xd2\\x27\\xd5\\x7f\\x03\\x6e\\xf4\\xbb\\x47\\x3a\\xd3\\x8b\\xcf\\x56\\xff\\x7d\\xf1\\x39\\x97\\xde\\x77\\xd1\\x45\\xf7\\xf5\\xcd\\x10\\xa5\\xee\\xe9\\xc1\\xb5\\xd3\\xd2\\x4b\\x05\\xd7\\x60\\xe7\\xb4\\xe9\\xed\\xed\\x2e\\x00\\x3e\\xfa\\x1f\\xb5\\xec\\xb3\\x2b\\xaa\\xd5\\xdd\\x0f\\x1f\\x67\\xce\\xb8\\x77\\xd7\\x2d\\xb7\\xec\\xea\\xbb\\x31\\x41\\x3a\\xbb\\x44\\xbf\\xc3\\x62\\x71\\x80\\x3d\\x5f\\xef\\xe9\\xdb\\xf6\\x7d\\x2d\\xd7\\xa4\\x1f\\xcd\\x20\\x83\\x76\\xd5\\x74\\x25\\x92\\x20\\xcb\\x8d\\x7e\\xbb\\x2b\\x6a\\x24\\xed\\x4c\\x55\\x65\\x49\\x22\\x01\\xd1\\x6a\\x49\\x08\\x08\\xcf\\xa2\\x33\\xeb\\x26\\xe7\\x5b\\x5b\\x8c\\x8b\\x66\\xe6\\x9d\\xc1\\xd2\\xe2\\x01\\xe4\\x5a\\xee\\x95\\x56\\x27\\xab\\xb9\\x80\\xe4\\x09\\xcd\\x05\\xec\\x9d\\xa1\\xaa\\xea\\xbb\\x7a\\xee\\xc9\\x00\\xce\\x49\\x39\\xf1\\xdf\\xe7\\xdc\\x57\\x13\\x5e\\xc1\\x0e\\xaa\\x5f\\x6c\\x4a\\x77\\x66\\xbd\\xc0\\xee\\xf5\\xd6\\x0a\\x30\\x00\\x38\\x3d\\x09\\x45\\x4f\\x52\\xf9\\xb3\\xfa\\x7b\\xad\\x46\\xb6\\x1a\\x04\\xd6\\x29\\xd8\\x0f\\x9e\\x03\\xfd\\x60\\xd4\\xfb\\xa6\\x82\\x98\\xa1\\x94\\x88\\xa5\\x09\\xd2\\x58\\x1e\\xb2\\x97\\x93\\xf6\\x52\\xba\\xaa\\x32\\x9a\\x48\\x44\\x16\\x65\\xcc\\x09\\x37\\xef\\x83\\xac\\xca\\x3b\\x4e\\x05\\xd0\\x78\\x90\\xb4\\x19\\x5a\\xf9\\x84\\x32\\x9c\\xb6\\xa2\\xa1\\x49\\xf7\\x6a\\x8f\\x6b\\x20\\x75\\x4d\\xbf\\xf3\\x96\\x7c\\x97\\x9b\\xb6\\x91\\x86\\x0b\\xaf\\xb8\\x72\\x75\\xea\\xba\\x81\\xf4\\xcc\\x1c\\x2c\\x9b\\x9c\\x15\\x7f\\xf9\\x59\\xae\\xdd\\xcd\\xd0\\xf7\\x77\\x3c\\x73\\x30\\xb8\\x30\\x52\\x46\\xf9\\xce\\x9c\\x89\\x61\\x08\\x43\\x5f\\xb6\\x09\\xcf\\x83\\x98\\xa3\\x44\\x79\\x41\\xb0\\x41\\x73\\x1e\\x52\\x9a\\x4d\\x72\\x03\\x41\\x70\\x31\\x76\\x97\\x1d\\xda\\xeb\\x14\\x0b\\xdd\\x3f\\x88\\x1e\\xde\\xe4\\xcf\\x19\\x81\\xd9\\x7e\\x04\\x28\\x26\\x5e\\xec\\xf6\\x69\\xda\\x4d\\x37\\x35\\x74\\x2b\\x90\\x69\\xc2\\x93\\x7a\\x5f\\x41\\x16\\x46\\xdb\\x2b\\xe9\\x77\\x57\\xfa\\x57\\x30\\x92\\xa6\\xce\\xb2\\x13\\xb2\\xb0\\xd1\\xa7\\xf5\\xd1\\x55\\xef\\xc0\\x7d\\x74\\x45\\x78\\xae\\x11\\x16\\xee\\x88\\x17\\x08\\x9b\\x40\\xb9\\x25\\xbc\\x25\\x0e\\x77\\xc4\\xe3\\x58\\xec\\x91\\x9a\\x2c\\xd9\\xe0\\x53\\xd1\\x8e\\x0a\\x48\\x65\\xd2\\xed\\x64\\xbb\\xcf\\x42\\x8b\\x41\\xdd\\xaf\\x37\\xa0\\x7d\\x0c\\x6a\\x25\\xd4\\x80\\x56\\x5d\\x01\\x4e\\x2f\\xee\\x41\\x5b\\x0a\\x75\\xea\\x3e\\x3c\\x63\\x6c\\x5a\\xb6\\x1e\\x80\\x26\\xe0\\xfe\\x5c\\xd0\\xd6\\xa9\\x46\\x13\\x66\\x1d\\x26\\x4e\\x10\\xdc\\x61\\x37\\x20\\x09\\xb7\\xc3\\x4d\\x5a\\x28\\x9b\\xc9\\x24\\xda\\x69\\xb3\\x8b\\x33\\xda\\xcc\\x70\\x97\\x4e\\x33\\x07\\xb4\\xd6\\x85\\xfe\\xe2\\xfa\\x78\\xdc\\x37\\x0b\\x95\\x80\\xe0\\xfa\\x70\\xb4\\x63\\x2d\\xd0\\x89\\x3a\\x69\\xe9\\x73\\x1d\\x0b\\x13\\x62\\xc9\\x6f\\xe1\\xf4\\xa4\\x67\\x71\\xea\\xf4\\x6b\\x28\\xdd\\xf5\\xd0\\xe8\\xe7\\x58\\xd2\\x12\\xe4\\x41\\x2d\\x75\\x9a\\xf4\\xa1\\x94\\x56\\x4d\\x7f\\xea\\xfb\\x26\\x7c\\xc4\\x51\\x65\\xb6\\x44\\x90\\x2c\\x6b\\x71\\x73\\xa2\\xc3\\xe9\\xb0\\x71\\x16\\x82\\x0d\\xf8\\xfd\\x81\\x15\\x01\\xb2\\x3b\\xb0\\x2b\\xf0\\xfd\\xc0\\xfb\\x01\\xda\\x15\\x28\\x0d\\x90\\x74\\x60\\x56\\x60\\x7b\\xe0\\x48\\xe0\\x4f\\x01\\xa6\\xcd\\x1f\\x00\\x6d\\x81\\x0d\\xf0\\x87\\xaf\\x07\\xe8\\x13\\x01\\xf0\\x72\\x00\\x04\\x50\\x43\\x8f\\x5a\\xa7\\xab\\xeb\\xec\\x00\\x04\\x35\\x50\\x83\\x5b\\xd9\\xd1\\x26\\x4a\\x72\\x00\\x68\\x7b\\x43\\xb1\\x6c\\xb3\\x43\\x6b\\x89\\x74\\xa3\\x51\\x14\\x5e\\x7e\\x42\\x71\\x87\\x9e\\xc1\\x97\\xf7\\xeb\\xb4\\x7e\\x8d\\x29\\xad\\x45\\xcd\\x39\\xe7\\x6c\\x9d\\x30\\xa5\\xd8\\x00\\xf2\\xd7\\x3f\\x91\\x86\\x48\\xd6\\x91\\x80\\x5f\\x98\\x7d\\xdf\\x54\\x2f\\x04\\x35\\xea\\xf1\\x57\\x46\\x7d\\xaf\\xa8\\xc7\\x41\\x85\\xba\\xf1\\x96\\xfc\\x40\\x41\\xfa\\x53\\xdf\\x68\\xe3\\x4e\\xf5\\x37\\x38\\x9c\\x5b\\xb7\\x93\\xfc\\xb5\\x2f\\x37\\x4c\\xb0\\x00\\x7f\\x01\\x62\\xa1\\x52\\x1e\\x0e\\x41\\x50\\x42\\x8e\\x10\\xc4\\x1a\\x6f\\xb4\\x7b\\x04\\xab\\xd3\\xee\\xec\\xc9\\x88\\x76\\xce\\x67\\x32\\x9a\\x7a\\x91\\xe7\\x30\\x29\\xea\\xc6\\xb7\\xf2\\x1e\\x5e\\x09\\x3d\\x87\\xfc\\x4e\\x1b\\x8a\\x13\\x99\\xc5\\x88\\xa8\\xe3\\x6e\\x2f\\xd8\\x51\\x88\\x3f\\xf5\\x0d\\xb0\\x4e\\xbd\\x07\\x1b\\x42\\x03\\xeb\\xa6\\x17\\x23\\x71\\x34\\x33\\x77\\x1d\\xc6\\x63\\x1c\\xf2\\xe8\\x21\\x3c\\xd7\\xcb\\xac\\x4c\\x67\\x83\\x6e\\x3f\\xa2\\x2b\\x1b\\x67\\x0f\\xf8\\x83\\xac\\x1c\\xca\\xce\\xe5\\x72\\xc9\\xe4\\x47\\xd9\\x76\\x9c\\x4b\\x64\\x7a\\xe3\\x7e\\xf9\\x65\\xf9\\x53\\x99\\xaa\\xc7\\xcd\\x38\\xb7\\xe3\\x5e\\x9b\\xac\\x8c\\x3a\\xb3\\x6c\\xdb\\xd9\\x85\\xbf\\xae\\x5c\\x83\\xbf\\x2a\\xbe\\xe5\\x2b\\xba\\xc2\\xf9\\x4f\\xa2\\xb1\\x5b\\x6c\\xdb\\x53\\xf0\\xb3\\x24\\xfe\\xf1\\xb2\\xd9\\x0b\\xba\\x36\\xc8\\x60\\x89\\x0c\\xda\\x64\\xf0\\xa8\\xfc\\xac\\xfc\\xbe\\xfc\\xa5\\x4c\\xd3\\x78\\xa0\\xd8\\xe9\\x32\\xfd\\x11\\x6e\\xda\\xe9\\x90\\x6b\\x64\\x05\\xfa\\x2c\\x7b\\xe4\\x7d\\xf2\\x61\\xe8\\xb9\\x9c\\x90\\xcd\\x46\\xca\\xef\\xe6\\x5c\\x4e\\x68\\x2c\\x8b\\x01\\xbb\\x81\\xb6\\x78\\xa0\\xe7\\x62\\x63\\x8d\\x16\\x23\\xf4\\x5c\\x2c\\x13\\xd2\\x33\\x0a\\x87\\xde\\x0e\\xaf\\xc4\\xd1\\x60\\x34\\xc8\\xe8\\x9c\\x54\\x2a\\x75\\x0e\\x1e\\x68\\x74\\xce\\xb8\\x76\\x90\\xba\\x2f\\x63\\xd2\\xe2\\x1a\\xfa\\x1d\\x80\\x90\\x0b\\x91\\x1d\\x42\\x92\\xe6\\xa6\\xfb\\xd5\\xb7\\xd4\\x7d\\xf7\\xa8\\x8d\\x37\\x81\\x43\\xea\\x9e\\x5b\\xc8\\x6b\\xee\\xff\\x1f\\x10\\xbc\\x07\\x3c\\x7b\\x93\\x7a\\x23\\x78\\x64\\x9e\\x26\\x77\\xc0\\x13\\xea\\x0c\\x5c\\xec\\x58\\x4a\\xf6\\x63\\x67\\xf3\\x66\\xb0\\x1e\\x7f\\xad\\x1d\\xcd\\xc0\\xb3\\x37\\xea\\x33\\x43\\x82\\x40\\x50\\xaa\\x51\\xa4\\x4c\\xb0\\x1b\\xac\\x56\\xbb\\x0d\\xba\\xca\\xf0\\xec\\x6f\\x90\\x01\\xea\\xa7\\xda\\x87\\xfd\\x35\\x7c\\xd4\\xa4\\x03\\xba\\x70\\x24\\x3c\\x11\\x70\\x1e\\x3c\\xbd\\x3d\\x47\\xb7\\x9c\\xdb\\x75\\xb6\\x0c\\xf0\\x79\\x6f\\xd8\\x8c\\xce\\x7b\\x8f\\xe2\\x3c\\x63\\x5d\\xd7\\xdb\\xf2\\xdf\\x65\\x7c\\x6c\\x08\\x67\\xf8\\x98\\x85\\xcc\\x60\\xd7\\x16\\xf9\\x3b\\xf2\\x21\\x99\\x42\\xdf\\x0f\\xcb\\x54\\x27\\xfe\\xed\\x40\\xfb\\x8c\\x2e\\x34\\xfa\\xac\\x0f\\x9e\\xed\\x75\\xf0\\x64\\x59\\x05\\x1f\\x32\\x3a\\x62\\x06\\x3f\\xb6\\x65\\x9a\\x86\\xce\\xda\\x46\\x0d\\x9d\\x65\\xc9\\xaa\\x2e\\x19\\x79\\x91\\xc0\\x44\\xf9\\x44\\xbb\\xe0\\x80\\x86\\xbd\\xcb\\x6f\\x63\\x69\\x33\\x8a\\xe4\\x59\\x19\\x83\\xd9\\x80\\x22\\x79\\xe6\\x29\\x22\\x79\\x5a\\x8f\\xef\\x54\\x0a\\x1e\\xbd\\xde\\xec\\x3b\\x95\\xda\\x9a\\xd2\\xa7\\xa7\\x0d\\x8f\\x9f\\xcc\\x85\\x1d\\x32\\x54\\x93\\x9d\\xc7\\x81\\xd4\\x94\\x75\\xf7\\xa9\\x77\\xb7\\xed\\xfe\\xf4\\xac\\xfd\\xbf\\x1f\\x52\\x9f\\x5c\\x02\\x19\\xf4\\x93\\x15\\xe0\\xb3\\xb3\\xf6\\x3e\\x3c\\x04\\x94\\xc5\\xea\\xbf\\x40\\xf9\\x00\\x8a\\xf3\\xcd\\x90\\x46\\xc7\\xc4\\x19\\x33\\x1c\\x60\\x04\\xdc\\xe5\\x9d\\x31\\xc3\\xff\\xd2\\x2b\\xf0\\x5f\\x51\\xfd\\xb5\\xda\\x28\\x69\\x32\\x6c\\x19\\xf4\\x95\\x5f\\xc5\\xb1\\xd6\\x61\\xa5\\x5e\\x60\\xed\\x0e\\x97\\xdf\\x84\\x06\\x4c\\xf9\\x1d\\xac\\x85\\x09\\x06\\x7c\\xa2\\x04\\xe5\\x8e\\x64\\xe5\\x2c\\x16\\x2b\\x6f\\xb0\\xa2\\x0c\\x11\\xca\\xaf\\xe5\\x31\\x08\\xa8\\x08\\xb2\\x70\\x9c\\x63\\x4e\\x3f\\x4c\\xee\\xf7\\x67\\x9d\\x63\\x36\\x37\\x7a\\x3e\\x91\\x77\\x8d\\x5f\\xd5\\x06\\x3b\\x7e\\x7d\\x96\\x7f\\x05\\xf5\\xd8\\xa0\\xbf\\xf3\\x2a\\x92\\xd9\\x40\\xf6\\x1f\\xd4\\x69\\x88\\xde\\x40\\xd9\\xd0\\xb0\\xf9\\xbd\\xff\\xb6\\xd2\\x5f\\x7e\\x27\\x3b\\xe0\\x4d\\x8b\\x8b\\x41\\xbf\\xf8\\x45\\x7c\\xff\\x3c\\x57\\x89\\xf3\\x92\\x93\\x35\\xb3\\x36\\x89\\xf6\\x7a\\xec\\x66\\xb3\\xc5\\xed\\x30\\x58\\x0c\\x7d\\x19\\xc1\\xc2\\x49\\x9a\\x88\\x71\\xf6\\x66\\x48\\x1a\\x2b\\xb4\\x42\\x11\\x53\\xa4\\xd3\\xf2\\xfb\\xd4\\xb7\\x59\\x0d\\xe0\\xbf\\xd8\\xff\\x7d\\x11\\x6a\\xb3\\x93\\x8f\\x0f\\x2f\\x49\\x75\\x93\\x0f\\x77\\xa7\\x96\\x80\\x1a\\xb0\\x27\\xd7\\x96\\xf6\\x4f\\x56\\xa8\\xcd\\xd4\\x13\\xf7\\x58\\x47\\x93\\xd4\\xec\\xac\\xdf\\xeb\\x85\\x72\\xe5\\x31\\x1c\\x43\\xed\\x55\\xca\\xbd\\x2c\\x1b\\x76\\xd9\\xe0\\xc9\\x86\\x6d\\xd0\\x59\\x94\\x7d\\x5a\\xc0\\xce\\x24\\xad\\xca\\x98\\x4c\\x74\\xc0\\x41\\x85\\xf5\\xec\\x10\\x32\\x6f\\x02\\x14\\x0c\\x6d\\x1b\\x67\\xcd\\xe4\\xce\\x12\\x4f\\x9c\\x74\\x4e\\x1c\\x48\\xc9\\xfc\\x00\\xf1\\xe7\\xb5\\xda\\xec\\xc9\\xc2\\x81\\x94\\x59\\xae\\xc4\\x73\\x27\\xc1\\xd7\\x26\\x0c\\xa5\\xc4\\x7d\\xb4\\xe1\\x99\\x2e\\xc4\\x3e\\x6e\\x8f\\x92\\x24\\xc3\\x1e\\x86\\x91\\x79\\x8b\\x45\\x0e\\xc3\\x7d\\x87\\xbc\\x4e\\x2b\\x6a\\x93\\x6e\\x14\\xfb\\x33\\x46\\x28\\x81\\xec\\x9c\\xcc\\x50\\x4c\\x4f\\x06\\x50\\x79\\x3b\\x61\\xea\\x6d\\x6b\\xe4\\x5c\\xd8\\x3f\\xdb\\x59\\xdc\\x5e\\x9b\\x6e\\x47\\x21\\x86\\x6c\\x17\\xed\\x82\\xd6\\xda\\x77\\xe0\\x18\\x43\\xbe\\x87\\xb6\\xfa\\x5e\\x61\\x83\\x6d\\x2f\\x91\\x9d\\x0f\\x80\\xcf\\x3b\\x46\\x6c\\x54\\x5a\\xfd\\x06\\x83\\xc7\\x18\\xa4\\xa8\\x52\\xd1\\x5e\\x6a\\xb4\\x53\\xd0\\x78\\x0d\\x69\\x11\\x1e\\x13\\x6b\\xa6\\x3d\\xe6\\x55\\x99\\x20\\x3d\\x92\\x31\\x02\\x6f\\xd0\\x4f\\x39\\x3d\\x1e\\x10\\x76\\x52\\xa5\\x45\\x33\\x0e\\x75\\x75\\x8a\\xa2\\x89\\x7a\\x96\\xc2\\x24\\x20\\xa5\\x73\\x8d\\xcb\\x59\\x83\\x18\\x6d\\x30\\x14\\x61\\x43\\x82\\xbf\\x91\\x07\\x8d\\xf9\\xc1\\xe8\\xe6\\x47\\x96\\x6e\\xdc\\xdc\\xae\\x23\\xe4\\xf4\\x95\\x9b\\xd7\\xae\\xc0\\x23\\x42\\x11\\x36\\x64\\xdf\\x5b\\xcf\\xd1\\x05\\x18\\x59\\xbd\\xdd\\x48\\xba\\x47\\xff\\xc1\\xcb\\xb9\\x61\\xa1\\x05\\xfd\\xcd\\x31\\x7c\\x3e\\x96\\x95\\x0c\\x01\\x92\\x8c\\xba\\x6c\\x51\\x83\\x0d\\xc2\\x57\\x12\\xd4\\x2e\\x15\\x8c\\x8c\\x99\\x92\\xcc\\xfd\\x99\\x00\\xd5\\x93\\x31\\x10\\x9e\\x80\\x8f\\x72\\x40\\xef\\x46\\x76\\x70\\x51\\x32\\x37\\x9a\\xea\\x7f\\x05\\x5f\\x24\\x0b\\xde\\x38\\xbc\\x15\\x81\\x27\\x92\\x9b\\x87\\xeb\\x1b\\x07\\x94\\x69\\x1a\\xea\\x1a\\x1b\\x06\\xc2\\xf3\\x31\\xea\\x10\\xda\\x7c\\xe2\\xbe\\x4b\\x1d\\x85\\xa8\\x03\\xf3\\xd5\\x27\\x58\\x4f\\xbe\\x3f\\xba\\x86\\xbf\\x4a\\x88\\xbf\\xe3\\xfa\\xcc\\xd6\\x72\\x34\\xee\\x9a\\x0a\\x72\\x41\\x39\\xec\\x36\\x8d\\x64\\x3c\\x86\\x55\\x19\\xb7\\xc7\\x63\\xe3\\x45\\x07\\xef\\x40\\x23\\x1a\\x83\\x66\\x0a\\x27\\xbb\\x00\\x1b\\x3f\\x59\\x13\\xf7\\x96\\x54\\x71\\x56\\x15\\xc6\\x51\\x61\\x17\\xbe\\x9c\\x13\\x0e\\x0d\\x7e\\x88\\x9c\\xe3\\xa3\\x3f\\xd4\\x58\\x64\\x74\\xfb\\x03\\xdf\\x21\\x6f\\xd0\\xf9\\x06\\x62\\xe6\\x00\\xe4\\x8d\\xd1\\x23\\xda\\x54\\x50\\x8c\\x9a\\x25\\x88\\x71\\xd4\\x6f\\xf8\\xa1\\xdd\\x9a\\xd6\\xfa\\x11\\x42\\xbb\\xb5\\x5b\\xaf\\xf5\\xf9\\x80\\x7d\\x19\\xfa\\x5f\\x32\\x11\\x47\\x79\\x6b\\x51\\xa7\\xd3\\x24\\x97\\x72\\x94\\xec\\xe5\\xe8\\xb2\\x84\\x93\\x30\\x12\\x23\\x99\\x28\\xe5\\x31\\x1a\\x03\\xd6\\x00\\x14\\xaa\\x01\\xc1\\x1a\\x1e\\xce\\x58\\x0b\\xcb\\x43\\xe1\\xbe\\xd3\\xc5\\xc2\\x13\\x6f\\x5e\\xc0\\x31\\x82\\x10\\x48\\x37\\x69\\xf3\\xec\\x0c\\x11\\x54\\x27\\x89\\x7d\\x30\\xe8\\x76\\x53\\xa0\\x84\\xa4\\x22\\x66\\xf0\\xfc\\xca\\x5e\\xa5\\xce\\x39\\x3f\\x35\\xdf\\x04\\x56\\x81\\x1e\\xb0\\x18\\xac\\x25\\xbf\\x7c\\x8b\\x1d\\x38\\x7a\\xc3\\x1f\\xaf\\x0b\\x0c\\xb0\\x5f\\xfc\\x4b\\xbd\\x5b\\xbd\\xd6\\x45\\x1e\\xfd\\xd1\\x21\\x9a\\x7c\\x8d\\x39\\x4c\\xf6\\x42\\xd3\\xf7\\x56\\x57\\x08\\x80\\x0e\\xd0\\x07\\x7f\\x74\\xff\\xbc\\x27\\x5e\\x5d\\x37\\xf4\\x33\\xf5\\xf1\\x99\\xa0\\x02\\x34\\x91\\xb7\\xaa\\x5f\\xaa\\xbf\\x07\\xe5\\x00\\x68\\x70\\xfd\\x8d\\x5e\\x46\\xfd\\x1c\\xc2\\x95\\x20\\xe6\\x23\\xb8\\x78\\x5e\\x2e\\x75\\x50\\x1e\\x87\\x49\\x66\\x92\\x65\\x08\\xb0\\xde\\x4c\\xd4\\x68\\xb4\\x7a\\x02\\x01\\xf7\\xa2\\x4c\\xc0\\x6d\\x0d\\xf7\\x66\\xac\\x8e\\xc2\\xab\\x47\\x4f\\xf5\\x78\\x9d\\x50\\x00\\x56\\x9b\\xd6\\xad\\x37\\x08\\x6d\\x51\\x57\\xb6\\xdf\\x10\\x72\\x97\\x51\\xc2\\x75\\xba\\xbe\\x4a\\x03\\xcc\\xd1\\x9d\\xa8\\x17\\x8e\\xff\\xf4\\x89\\xef\\xab\\x42\\xcd\\xc6\\xa1\\xe5\\x97\\x35\\x1d\\x5a\\xfc\\xce\\xdb\\x24\\xf8\\xf6\\xb4\\xb6\\xdf\\xf3\\x29\\xf0\\x1b\\x27\\x10\\xae\\x15\\xbc\\xcf\\xfc\\xfc\\xb9\\x57\\xfb\\x1d\\xff\\x75\\x51\\x27\\x74\\xc1\\x52\\x7f\\xfd\\x17\\xb8\\xee\\xeb\\xdf\\xbb\\x6c\\x53\\xbd\\x86\\x1b\\xf5\\x39\\x8c\\x9b\\x12\\xad\\xba\\x35\\x18\\x8a\\x43\\xec\\x94\\x24\\x38\\x8a\\xf3\\x86\\x4a\\x98\\x54\\xb9\\x86\\x9e\\xb8\\x27\\x00\\xe1\\x08\\x41\\xbb\\x1b\\x22\\x48\\x86\\x18\\x8a\\xe6\\x31\\x04\\x5d\\x4b\\x9f\\xc7\\xf1\\x7c\\xde\\xc6\\x1e\\x1f\\x77\\x3c\\x05\\x9a\\x0c\\xce\\xa8\\xb3\\xf4\\x3f\\xc4\\xd4\\xdf\\x3e\\xb8\\x58\\x7d\\x41\\xfd\\x95\\xf3\\xab\\x51\\xa5\\x50\\xea\\x09\\x50\\x2a\\x82\\x5a\\xe0\\x2d\\x40\\x18\\x86\\x15\\xe3\\x0b\\xf5\\x06\\x5d\\xa6\\x54\\xc5\\x21\\xbe\\x4a\\x82\\xa1\\x84\\x83\\x72\\x84\\x4c\\x25\\x1e\\xb6\\x22\\xa5\\xa1\\x2c\\x0e\\x41\\x95\\x21\\xac\\x39\\xb4\\x45\\x8b\\xd1\\x86\\xa0\\xcd\\x95\\x8b\\x17\\x8b\\x85\\x53\\x23\\x0f\\x41\\x5b\\x05\\x4e\\x8d\\xbf\\xd2\\xcb\\x16\\x5f\\xfc\\xd3\\xc7\\x4e\\x81\\x40\\x29\\x69\\x82\\xc6\\x7b\\xa9\\xf3\\xaf\\x7f\\xca\\xa3\\x11\\xf2\\xdc\\x6c\\x88\\xcc\\xdf\\x61\\x5f\\xb1\\x02\\xbf\\xa7\\x09\\xc2\\xf0\\x2e\\x9e\\xaf\\xff\\x2b\\x5c\\x8f\\xf3\\x24\\xb9\\x4f\\x9f\\xaf\\x5f\\x86\\xea\\x77\\x52\\xe9\\x80\\xbd\\xa8\\x7e\\x07\\xcf\\x7a\\x63\\x4e\\x87\\xbf\\xff\\x67\\xed\\xf7\\xc1\\x0d\\x63\\x7f\\xd4\\x7e\\xdf\\x89\\x7f\\xdf\\x1a\\x2f\\x9e\\xc7\\xaf\\xb6\\x32\\xb7\\x43\\x99\\x54\\x41\\xac\\x56\\x1a\\x9d\\x74\\xac\\xbc\\x54\\x92\\x82\\x41\\x73\\xaa\\x9c\\x66\\xaa\\x2a\\xcb\\x63\\x5a\\x2b\\x12\\xc2\\x35\\x92\\x49\\x95\\x4a\\xc8\\x6c\\x4a\\x84\\x29\\x0f\\x6e\\x49\\x62\\x66\\xfd\\x3c\\x0b\\x9d\\x7b\\x36\\x50\\x9c\\x5e\\x85\\x4e\\x54\\x6a\\x99\\x42\\x3f\\xe2\\x90\\x68\\x3e\\x22\\xda\\xe8\\x74\\xe0\\x31\\x9d\\x93\\x5c\\xf1\\x82\\x46\\x6a\\xe3\\x0b\\x9f\\x6c\\x1e\\x3d\\x23\\x1b\\x14\\xfd\\xd1\\x5d\\xdf\\x3c\\xd0\\xb8\\xf0\\xaa\\xdc\\x95\\x75\\x10\\xdf\\xfb\\x34\\xd6\\x51\\xd2\\xf9\\xaa\\xfa\\xf9\\xe8\\x4d\\x5a\\x50\\xf4\\x1f\\xc0\\x0a\\x7c\\xef\\x5a\\x37\\x4c\\x7a\\x7f\\x5d\\x63\\x23\\x72\\xf9\\x64\\x3b\\x50\\xde\\x0d\\xca\\x9b\\x8b\\x96\\x39\\xe8\\x12\\xb7\\xdb\\xef\\x37\\x13\\x65\\x34\\x64\\x94\\xb2\\x28\\x6a\\x61\\x05\\xf5\\x08\\xdf\\x9b\\x11\\x4b\\x08\\xc2\\x1b\\x0b\\x71\\x6e\\xbf\\xd7\\xdf\\x93\\x31\\x1b\\xbc\\xa2\\xc1\\xde\\x9b\\x31\\xf8\\x27\\x42\\xdc\\x32\\x15\\xc4\\x4d\\x13\\xa2\\xa0\\x93\\xc3\\xcb\\x90\\x1b\\xfd\\xc5\\xa1\\x50\\x39\\x5d\\x96\\xbb\\xdc\\xce\\xde\\x0f\\xfd\\x13\\x14\\x85\\x42\\x0d\\xfe\\x71\\x57\\xdc\\xda\\x35\\x11\\xee\\x8f\\xa8\\x2e\\x60\\x5e\\xc6\\xba\\x66\\x9e\\x52\\xc6\\x52\\x21\\xa3\\xc7\\xe1\\x09\\x51\\x61\\x19\\xdd\\x3a\\x0e\\x67\\x7c\\x46\\x34\\xf2\\xd8\\xe6\\x5a\\x93\\x71\\xd8\\x84\\xd0\\x24\\x96\\x59\\xae\\x3b\\x70\\x5e\\x08\\xe4\\x93\\xdb\\x23\\x94\\x19\\xa0\\x3c\\x58\\x3d\\xac\\x9d\\xed\\x07\\xcc\\xbc\\x8c\\xf2\\xd9\\xaf\\x3e\\xa8\\xae\\xf0\\x46\\x86\\x6e\\x3a\\x67\\xa8\\xcd\\x32\\xb7\\x82\\x2f\\x1f\\xb8\\xa4\\xc4\\xfb\\x18\\xfd\\xd4\\x03\\x7a\\x1a\\x3b\\xbd\\x41\\x7d\\x53\\xdd\\xab\\x6e\\x7e\\xa4\\x1a\\x30\\x9b\\x92\\xe0\\x2e\\xf0\\x4d\\x20\\x07\\x0a\\xee\\x81\\xbc\\xea\\x76\\x3c\\xdb\\x2b\\x44\\xcc\\x51\\xe2\\x06\\x89\\x09\\x06\\x25\\x07\\x25\\x87\\x03\\x92\\x57\\xea\\xc9\\x78\\x0d\\xbd\\x19\\x2f\\x67\\x75\\x2d\\xca\\x38\\x80\\xd5\\x1d\\xc4\\x96\\x19\\x95\\xd3\\xf7\\xbf\\x9c\\x64\\xd7\\xb9\\xc4\\xf4\\x29\\x7a\\x18\\x4b\\xd4\\xa5\\xdb\\xd2\\x6f\\x16\\x4f\\xf3\\xf2\\xe6\\xc6\\x7c\\xe1\\x0c\\xf4\\x49\\xfb\\x15\\x43\\xa5\\x9e\\xe5\\x9f\\xd9\\xf8\\x2e\\xae\\x94\\xd8\\xa4\\xb4\\x85\\x1d\\x0e\\x12\\xdd\\xc1\\x7b\\x4c\\x24\\x15\\x8f\\x11\\x71\\x60\\xa7\\x64\\x7e\\x24\\x83\\xc7\\x30\\xcb\\xb2\\xdb\\x1f\\x09\\xa1\\xeb\\xf8\\xe1\\x4c\\xd4\\x4f\\x09\\x1e\\x37\\xc4\\x83\\x89\\x71\\xf3\\x8c\\x6d\\x24\\xc3\\x8c\\x27\\xa9\\x71\\x37\\x27\\x93\\xcc\\x34\\x36\\x38\\x8b\\xee\\x16\\xbc\\x93\\x0d\\xd1\\x62\\xa5\\x07\\xd4\\x43\\xea\\x51\\x9d\\x85\\xae\\x7e\\xfc\\xc0\\xb8\\xab\\x39\\xfa\\x53\\xff\\x97\\x9f\\xa9\\x3f\\x57\\x1f\\xd2\\x6f\\x14\\x0c\\x20\\x0c\\xf6\\x4f\\x76\\x31\\xa4\\xf1\\xcc\\x5a\\x9c\\x67\\xb0\\x41\\x69\\x0d\\x38\\x1c\\x62\\xd0\\x66\\x03\\x3c\\x0b\\x58\\x91\\x8a\\x96\\x06\\xb8\\xde\\x0c\\x1a\\x3d\\x40\\x5a\\xa9\\x40\\x40\\xf0\\x84\\xfc\\x04\\x1e\\x3f\\x10\\xf6\\x70\\xda\\xa4\\x14\\x03\\x2d\\x88\\xb4\\xa5\\x57\\x8b\\x81\\x9c\\x02\\xcc\\x89\\x77\\x0a\\x5a\\xd3\\x72\\x8d\\x77\\x26\\x05\\x51\\xa4\\x0d\\x9f\\x7f\\xae\\xf1\\xcc\\xf3\\xe3\\xae\\xee\\xa8\\xfe\\x93\\xef\\x7e\\x3a\\x9a\\x65\\x96\\x9b\\x26\\xb9\\xbf\\xc3\\xf8\\x5b\\xa0\\xdf\\xa5\\xae\\x55\\x1a\\xdd\\x2c\\x1b\\xc4\\xf7\\xa9\\x76\\x39\\x04\\xfd\\x5f\\x3b\\xbe\\x3d\\xe5\\x44\\x88\\xbd\\xff\\xcb\\x15\\x6a\\x1e\\x71\\x2d\\xc5\\xae\\x8d\\x70\\xaa\\x3b\\x54\\x8d\\x87\\xc6\\xdf\\xa1\\xce\\x87\\x6e\\xcd\\x91\\xaf\\xbe\\x43\\xdd\\xae\\xdf\\xa1\\x0e\\x2b\\x75\\x22\\xc3\\xe0\\xc2\\x8f\\x80\\x4d\\x0e\\xb9\\x20\\xdf\\x70\\x2e\\xd9\\x05\\xf1\\xe3\\x72\\x59\\x72\\x65\\x1f\\xa7\\xaa\\xf9\\x98\\x88\\x99\\xa2\\x46\\x17\\x1a\\x53\\x4d\\x31\\xb7\\x8d\\xda\\x8f\\x78\\x6a\\xe2\\xdc\\x36\\xad\\xa0\\x63\\x8a\\x8b\\x54\\x4f\\x96\\xff\\xb3\\x3e\\xe5\\x3c\\x25\\x8e\\x3c\\x33\\xc1\\x2a\\x5b\\x91\\x5f\\xa6\\xa5\\xe3\\x18\\xdd\\xab\\xa0\\x5f\\x06\\xfc\\x1c\\x45\\xf9\\x19\\x19\\xc8\\x85\\xfe\\xcc\\x38\\xc7\\xac\\xd0\\x38\\x46\\x23\\x55\\xa7\\x76\\x26\\xa1\\xef\\xa2\\x5e\\x7b\\xf1\\x85\\xd1\\x89\\xde\\xe4\\x77\\xd4\\x6e\\xa0\\x4e\\xed\\x4c\\xea\\x79\\x1e\\x79\\x7f\\xb2\\x4b\\x89\\x49\\x34\\x1d\\x72\\x98\\x43\\x66\\x94\\x42\\xe4\\xc0\\x13\\x24\\x0d\\xae\\xfe\\x8c\\xc1\\x40\\xf8\\x6c\\x1c\\x1d\\x22\\x42\\x3d\\x19\\x34\\x54\\xa1\\xe3\\xf9\\xc9\\x7c\\xc9\\xfc\\x96\\x23\\xd9\\x1d\\x4f\\xe1\\x48\\x8a\\xd4\\xd9\\xbb\\xb7\\x39\\x26\\xf7\\x24\\xef\\x39\\x85\\x23\\x39\\x43\\xcf\\x3f\\x33\\xf4\\xe3\\xb8\\xee\\x0a\\xa5\\x1a\\xd2\\xbc\\xcf\\x64\\x14\\x5d\\x16\\x0b\\x64\\x6a\\x1f\\x15\\xf0\\x8b\\x76\\xc1\\xeb\\x14\\x9c\\xc3\\x19\\x83\\xd9\\xec\\x16\\x28\\x9f\\x85\\xc5\\xf5\\xbb\\xb4\\x9d\\x37\\xe9\\xe9\\x67\\x05\\x37\\xbc\\xd9\\x58\\x48\\xcb\\xc4\\xfc\\x27\\x44\\xe8\\x31\\x14\\x81\\x2e\\x9c\\x49\\x68\\xc2\\x33\\x09\\x0d\\xfd\\x88\\xca\\x2f\\x3b\\xa2\\x1a\\x9a\\x54\\xe7\\x11\\x35\\x0a\\x09\\x9d\\x03\\xbb\\xc1\\xe5\\xa4\\x0f\\x47\\x44\\x8e\\x00\\xa8\\xba\\x4d\\x5f\\xde\\x48\\x6f\\xfa\\xf2\\xf3\\xac\\x1a\\x3f\\xf9\\x4d\\x6a\\x2b\\x1a\\xe5\\xac\\xd3\\x39\\x9e\\xa7\\xe8\\x83\\x3c\\xdb\\x20\\x58\\xa1\\x23\\x65\\x34\\xb8\\x50\\xa5\\x93\\xd7\\xeb\\xe2\\x28\\x7f\\x80\\x0b\\x00\\x13\\xe5\\xb2\\xf1\\x1e\\xe8\\x4b\\xf5\\x64\\x58\\x93\\x49\\xe4\\x39\\xaf\\x99\\x81\\xfe\\x14\\x22\\x74\\x9b\\x88\\x92\\x39\\x0a\\x69\\x3d\\x0f\\x45\\x5e\\xce\\xe6\\x21\\x29\\x28\\x6e\\x9a\\x64\\xba\\x22\\x7d\\xce\\xb6\\xf4\\xaf\\x06\\xd5\\x87\\x27\\x8e\\x57\\xd4\\x94\\xc7\\x9d\\xa3\\xc6\\x49\\xa7\\x2c\\x22\\x5b\\x0d\\x35\\x0b\\x75\\x63\\xff\\xaa\\x57\\x9b\\x55\\x07\\x6d\\xb7\\x63\\x06\\x1f\\x1f\\x47\\x91\\x77\\x6c\\xbb\\x5d\\x07\\xbe\\x85\\x26\\x55\\x08\\x0c\\x9a\\x54\\xa1\\x1e\\x71\\x87\\x28\\x53\\x41\\xff\\x72\\x3c\\xbf\\x1a\\xcd\\xfd\\x44\\xf3\\xab\\xd1\\xef\\x13\\x37\\xe3\\x7e\\xe7\\x64\\x1c\\x4f\\xb6\\x78\\xed\\x48\\xb2\\xd6\\xca\\x14\\xf6\\x3b\\x47\\xcf\\x67\\x0f\\x64\\x9f\\x4f\\xac\\x07\\x57\\xe1\\x5e\\x28\\x14\\x29\\x33\\x71\\x0a\\x7e\\xe2\\x8b\\x23\\x25\\x01\\x6d\\x85\\x5c\\x2f\\x14\\x6d\\x8d\\x81\\xec\\x1a\\xc4\\x7a\\xe2\\x20\\xee\\x85\\x42\\x91\\x75\\x4e\\xfc\\x99\\x8f\\x8e\\x34\\x54\\x6b\\xab\\xe4\\x3e\\x63\\x87\\x36\\xeb\\xcd\\xd8\\x86\\xbd\\x82\\xd0\\x9f\\xc1\\x5c\\x80\\x67\\x23\\x1c\\xc0\\xef\\x51\\x4d\\xd1\\xdf\\x90\\x4d\\x8b\\x4e\\x00\\xc3\\x39\\xa4\\xdb\\xb4\\x01\\x68\\xd3\\x96\\xcb\\x09\\xbf\\x77\\xc2\\x3c\\x8e\\x0c\\x86\\xb3\\x4b\\x87\\xf3\\xeb\\x5a\\x4d\\x3a\\x1a\\xc7\\x41\\x1a\\x22\\xc9\\x71\\xf3\\x3b\\xa6\\xc1\\xf5\\x1e\\x60\\x16\\x38\\x58\\xb0\\x08\\xbf\\x6f\\x80\\x9f\\x9f\\x4b\\xfd\\xdc\\xc1\\x42\\xf2\\xcd\\xfd\\x1c\\x9d\\x03\\xfa\\x39\\x3e\\x87\\x6f\\xea\\xe7\\x50\\xa6\\x9d\\xc3\\xdf\\x8f\\xa4\\x62\\x0e\\x73\\x11\\x4c\\xf8\\x19\\xe8\\x1c\\xd0\\x33\\xd0\\xfc\\x86\\x01\\xed\\x14\\xca\\xb5\\x53\\xf8\\xf8\\x48\\x65\\x82\\x16\\x8a\\xe7\\x37\\xe8\\xb6\\xfb\\x81\\xac\\xed\\x4e\\xac\\x27\\xbf\\x03\\xd7\\x91\\x14\\x1b\\x09\\xea\\x51\\xf3\\x19\\xa2\\xa9\\x56\\xb3\\xde\\x8b\\x3f\\x03\\xed\\xf7\\x81\\xac\\xfd\\x0e\\xf7\\x76\\x9d\\xde\\x7b\\xa6\\x3e\\x3b\\x29\\xa2\\xa9\\x56\\xb3\\xe1\\x73\\x7b\\x1b\\x1a\\xfb\\x80\\x06\\x78\\x9d\\xa7\\x75\\x1c\\xed\\xd3\\x7b\\xdc\\xd4\\x69\\x3d\\x6e\\x7e\\x09\\x71\\xc4\\x12\\x45\\x9f\\xc1\\xb3\\x7d\\xf1\\x3a\\x7f\\xd1\\xe0\\x29\\xd3\\x56\\x49\\x6b\\xab\\x7c\\x78\\xa4\\xb1\\xc6\\x3c\\x7e\\xc6\\x49\\x3f\\xfc\\xcc\\xdf\\x70\\x9e\\xcb\\x0c\\xa5\\xc4\\xe9\\xb5\\x04\\x7d\\x1c\\xe9\\x0e\\x7a\\x39\\x26\\x12\\xf6\\xf2\\x12\\x34\\x74\\x7c\\x1c\\x47\\xb8\\xa1\\x9b\\x60\\x1c\\xce\\x50\\xa8\\x75\\x5c\\x1d\\xf6\\x2b\\x27\\x71\\xb1\\x70\\xdf\\x05\\x7d\\x1e\\xbf\\x56\\xf9\\xd5\\x00\\xb2\\xf9\\x5e\\x78\\x14\\x30\\x0d\\x9e\\x7e\\xee\\x1e\\x7a\\xb0\\x22\\xb1\\xb3\\xf2\\x8a\\x4b\\x6e\\xbc\\x62\\x31\\xa8\\x9e\\xf5\\xa7\\x41\\x39\\x43\\x2d\\x50\\xef\\x7e\\xec\\x59\\xf5\\x84\\xab\\x0c\\xac\\xf9\\xa7\\xdb\\x7f\\xeb\\x5d\\xb7\\xdd\\xb5\\x1e\\x7c\\xd7\\xf5\\x12\\x58\\xb4\\x5e\\xed\\xf6\\xfe\\xee\\xe0\\x4f\\x5f\\x46\\xb0\\x45\\xd4\\x39\\xd4\\x99\\x68\\x96\\x1f\\xb9\\x24\\x4b\\x6f\\xac\\xc4\\xce\\x86\\xb0\\x3e\\x83\\xfb\\xf9\\x5c\\x05\\x9e\\xd6\\xe9\\x4d\\x46\\x3e\\x54\\x50\\x66\\x84\\x89\\x73\\x04\\xe8\\xcf\\xb3\\x73\\x04\\xc8\\xab\\x88\\x7f\\xeb\\x3d\\x10\\x64\\x27\\xfe\\xfd\\xfc\\x14\\x81\\x82\\xe7\\x1f\\xc8\\x3e\\x1f\\xe2\\xec\\xe9\\x2c\\x9e\\xcb\\x30\\x9e\\x53\\x31\\x66\\x3c\\x6d\\x68\\xb3\\x0a\\x06\\x72\\xb3\\x0a\\xd6\\xe3\\x35\\xb4\\xcf\\x38\\xb5\\xcf\\x68\\xab\\x14\\x7c\\x06\\xf7\\xe6\\xc2\\xfc\\x5b\\xa7\\xaf\\xf3\\x6b\\x6d\\x1d\\x8a\\x8c\\x22\\xc2\\x25\\xe3\\x61\\xab\\x73\\xdc\\x67\\x70\\xdf\\x2b\\xcc\\xbf\\xfd\\xfa\\x3a\\xf7\\xeb\\xfc\\x5b\\xaa\\x51\\xee\\xd8\\x91\\x44\\xa4\\x90\\x36\\x8a\\x7a\\x80\\x39\\x09\\x0f\\xb1\\x48\\xa9\\x10\\x11\\x5e\\xed\\x76\\x86\\x60\\xd0\\xb8\\x5a\\xd9\\x47\\x42\\x83\\x88\\x1b\\xc9\\x58\\x35\\xcb\\xc8\\x48\\x1a\\x2d\\xb8\\x1b\\x18\\x3f\\xae\\x1b\\xd8\\x54\\x26\\x50\\x41\\x3b\\x30\\xa6\\x8e\\x17\\x22\\x3e\\x20\\xa0\\x1e\\xd5\\x13\\xda\\x7f\\x91\\x3f\\xfa\\xd1\\x21\\x7a\\x34\\xc1\\x1c\\x3e\\x76\\xe4\\x90\\x89\\x7c\\xd5\\xf4\\x40\\x71\\xbf\\xaf\\x2f\\x00\\x03\\xe2\\xea\\x7f\\xab\\x63\\xf4\\x2d\\x1f\\xab\\xff\\x00\\xb6\\x8f\\x8b\\xfb\\x7c\\xf1\\x84\\x97\\xb8\\x5a\\xf1\\xb9\\x1d\\x0e\\x56\\x82\\xfb\\x67\\x09\\x9f\\x9f\\xf6\\x7f\\xc3\\xff\\x94\\x9f\\xea\\xf8\\x86\\xff\\x26\\x3f\\xe9\\xc7\\x97\\x1f\\xed\\x5d\\xe8\\xab\\xd2\\x88\\x66\\xfb\\xfb\\x01\\x49\\xf8\\xc3\\xfe\\x3d\\xfe\\xeb\\xfc\\xf4\\x93\\x7e\\x30\\xec\\x07\\x84\\x1f\\xd8\\x28\\xb7\\xa3\\x37\\x63\\x75\\x07\\xdc\\xd0\\x7a\\x72\\xbb\\xd1\\x20\\x2d\\xdc\\x17\\xcc\\x3a\\xae\\x2f\\x58\\x1e\\x58\\x6d\\xc8\\x7f\\x6a\\xeb\\x78\\xb0\\x8b\\xba\\x83\\xa1\\x69\\x53\\x2e\\xb7\\x80\\xba\\x50\\x17\\xf5\\x03\\x9b\\xbf\\x60\\x26\\xa9\\xbe\\x37\\xbd\\xbb\\xab\\x83\\x04\\x5e\\x3a\\xdf\\x01\\x6c\\xf4\\x1b\\xdf\\x79\\xfe\\xd7\\x77\\x53\\x8e\\x6b\\x7f\\xf0\\xc3\\xab\\x8b\\x68\\x81\\xbe\\x55\\xa7\\x85\\xe7\\x35\\x5a\\xa0\\xa9\\x18\\x13\\xa7\\x29\\xa6\\xac\\x84\\x60\\xa6\\xa2\\x05\\xfa\\xb6\\x22\\x5a\\xa0\\x29\\xa8\\x30\\x68\\x0a\\xd1\\x42\\x32\\x3a\\x4e\\x4e\\x7c\\x13\\xae\\xc3\\x61\\xda\\x7e\\x4b\\x5f\\xa7\\x59\\x97\\x2d\\x29\\x4d\\xb6\\x3c\\x71\\xa4\\xaa\\x4c\\xb4\\x17\\x7d\\x06\\xcf\\xf6\\xc2\\xb4\\xad\\x6a\\xb2\\x25\\xaa\\xc9\\x96\\x32\\xa7\\xde\\x71\\x2b\\x15\\x13\\xc7\\xcb\\xbd\\x56\\xb8\\xce\\x51\\xcc\\xa3\\x2f\\xeb\\x3c\\xfa\\xa8\\xce\\xa3\\x61\\xc8\\xa3\\x9e\\x50\\x18\\x98\\x8b\\x78\\x0e\\xcf\\xee\\x40\\x3c\\xaa\\xcd\\xee\\x80\\x3c\\xfa\\x73\\x9d\\x47\\xd1\\xb0\\x0f\\x8f\\x1c\\xa1\\xac\\x45\\xbf\\xaf\\x3d\\xff\\x40\\xf6\\xf9\\x10\\x8e\\x47\\xb3\\x3c\\x9a\\x44\\x80\\x78\\x2a\\xe2\\xc0\\x3c\\x6e\\x4f\\xda\\x7c\\x90\\x81\\xec\\x1a\\xf0\\xbc\\x7e\\x9e\\xe5\\xd1\\x72\\x04\\x8a\\xa7\\x32\\xa1\\xad\\x32\\x01\\x8e\\x4f\\x72\\x70\\x7c\\x87\\x14\\x8b\\x64\\xc1\\xd6\\x50\\x62\\x8a\\x75\\xf6\\xe7\\x60\\xf9\\x0e\\xf1\\x59\\x76\\x9d\\x24\\x5a\\xa7\\x5b\\x2e\\x9b\\xb0\\x0e\\xbe\\x0b\\xc0\\xf0\\xfc\\x4e\\x87\\xe7\\xdc\\x62\\xbc\\x9c\\x80\\x78\\x21\\x1d\\x45\\x78\\xc1\\xf1\\x75\\x8c\\x97\\x7f\\xe9\\xf0\\xfc\\x21\\xbb\\x4e\\x0a\\xcb\\x9c\\xaa\\x32\\x3f\\x37\\x4e\\xe6\\xc7\\xd4\\x6e\\x5c\\x9f\\xe9\\x24\\xea\\x14\\x3f\\x6b\\x23\\x6c\\x02\\x8f\\xee\\x75\\x1c\\xcc\\x48\\x06\\x38\\x26\\xcb\\xeb\\x48\\xe7\\x22\\xd3\\xb9\\x12\\x4c\\x29\\x3f\\x00\\x43\\x2f\\xbe\\x7c\\x01\\xdd\\xde\\x6c\\xfc\\x7e\\xb6\\xf2\\xf2\\xcb\\xeb\\xb5\\x24\\x0e\\x5c\\x01\\x98\\xcb\\x07\\xc5\\x75\\x97\\x4e\\xa2\\x56\\xf1\\x65\\xd7\\xed\\x81\\xeb\\xf6\\xc2\\x75\\x27\\x49\\xde\\x28\\x5e\\x36\\x31\\x6e\\x59\\x6a\\x13\\x2e\\xd0\\xbb\\xd5\\x71\\xd6\\x5e\\xf5\\xaf\\xd9\\x9a\\xca\\x51\\xd1\\x93\\x1f\\xba\\xa8\\xcb\\x71\\x03\\xb6\\x8f\\xa8\\x37\\x74\\x7d\\x7d\\x5b\\x96\\xa7\\x6a\\x11\\x4f\\x81\\xfa\\x2a\\x77\\x74\\xa2\\x1c\\x67\\x4d\\xf8\\x4c\\x4f\\x66\\x65\\xb2\\x76\\xa6\\x34\\x95\\x46\\x4c\\x45\\x34\\xd6\\x78\\xa2\\x13\\xce\\x74\\x0e\\x3e\\xd3\\x52\\x54\\xff\\x63\\xf5\\xb0\\x66\\x73\\x80\\x27\\x3c\\x01\\x3a\\x1e\\x33\\x85\\xe4\\xd0\\x48\\x86\\x95\\x65\\x5f\\x34\\x1a\\x19\\xce\\x44\\xd1\\x29\\x47\\x29\\x73\\xc0\\x17\\x18\\xce\\xf8\\x78\\xce\\x3d\\x92\\xe1\\x39\\x3f\\x91\\x9f\\xfd\\xa5\\xc3\\x4d\\x4c\\x12\\x80\\x1e\\x57\\x00\\xab\\x35\\xfe\\xc4\\x7e\\x74\\x3b\\x98\\xa4\\x1a\\xb6\\x4a\\x7d\\xf1\\x85\\xab\\x77\\x0e\\xce\\x31\\xcc\\xad\\x92\\xab\\xb7\\x8e\\xfe\\x62\\x42\\x5d\\xec\\x9f\\xf6\\xde\\x1c\\xfd\\xeb\\xce\\xd2\\x9f\\xef\\x1d\\x57\\x1f\\x0b\\x69\\x17\\xe1\\x09\\xc3\\x62\\x91\\x18\\x93\\xc9\\xef\\x8f\\x4a\\x4e\\x08\\x8b\\x11\\x4f\\x20\\x62\\x42\\x21\\xaf\\x36\\x81\\x08\\x35\\xdb\\x29\\xe1\\x4c\\x38\\x94\\xe6\\x15\\xed\\x62\\x5f\\xc6\\x69\\xff\\xcf\\x61\\x29\\x28\\x96\\x9d\\x0a\\x14\\xbd\\x72\\xf6\\xf1\\xc7\\x6f\\xcd\\x03\\xa2\\xae\\x2a\\xa8\\xa1\\x7d\\x6d\\x9d\\xba\\xdf\\xf3\\x66\\x16\\x0e\\xe8\\x8a\\x0e\\xae\\x03\\xf5\\x7a\\x2d\\x6d\\x5c\\x9d\\xcd\\xac\\x82\\x38\\x29\\x27\\x66\\x2a\\x51\\x83\\x5c\\x91\\x2a\\x8b\\x93\\x11\\x84\\x83\\x04\\xe5\\xa5\\x82\\xe5\\x51\\xca\\x27\\x07\\xa1\\xb7\\x19\\xe4\\x2d\\xc2\\x70\\xc6\\x6e\\x09\\x14\\x6f\\xbc\\xb0\\x7e\\x02\\xf7\\xee\\x41\\xf7\\xd7\\x7a\\x09\\x7e\\x36\\x6a\\x8e\\x0c\\x9d\\xc4\\xc4\\x74\\x03\\x66\\x15\\xca\\x26\\x58\\x3c\\x6d\\xd6\\xba\\x47\\xcf\\xbf\\x74\\xfb\\x69\\x92\\x30\\xa7\\xbc\\x67\\x70\\x95\\xfa\\xe2\\xc4\\xbc\\x03\\xa6\\x1d\\x67\\x15\\x7c\\x32\\xf8\\xed\\xbe\\xb3\\xef\\xc9\\x94\\x02\\xd7\\x3e\\xc9\\x77\\x46\\xdf\\xf2\\x5b\\xc1\\x6f\\x27\\xcb\\x40\\xc0\\xb9\\x07\\xb3\\xa9\\xe7\\x20\\x6e\\xca\\x51\\xe5\\x7e\\x80\\xae\\x48\\x95\\xc7\\x42\\xd1\\x70\\xb4\\x27\\x53\\x4a\\x04\\xdd\\xb4\\x2f\\x11\\xe6\\x02\\x92\\x4f\\xea\\xc9\\xf8\\x44\\x23\\xd7\\x9b\\xb1\\x18\\xfd\\x5f\\x01\\x94\\x54\\x08\\x91\\x9e\\x6c\\x56\\x0d\\x26\\xbb\\xbc\\x27\\xcf\\xb9\\x6a\\xd3\\xbc\\xd5\\x3f\\x58\\x7f\\xd9\\x40\\x57\\x79\\x7c\\xf6\\x82\\x4c\\xe7\\xc6\\x75\\x93\\xdc\\xe2\\x93\\xe1\\x57\\xbe\\xf7\\x93\\x95\\xab\\x6f\\xe9\\x89\\x02\\xf7\\xfe\\xea\\xd3\\x3a\\x9a\\x6e\\xdd\\x7f\\xd7\\x24\\xb7\\xf9\\x5a\\x0e\\x0b\\x94\\x77\\x87\\x70\\xcf\\xf4\\x85\\x4a\\x22\\xc0\\x94\\x46\\x25\\xde\\xe2\\xb0\\x41\\xbf\\xd4\\x6f\\x34\\x19\\x47\\x32\\x1e\\x67\\x09\\xf4\\xf3\\xa0\\xd3\\x47\\x45\\x02\\x0c\\x34\\x03\\x86\\x33\\x32\\x55\\x94\\x55\\x8d\\x63\\xb4\\xe9\\xe2\\x9a\\x10\\x04\\x94\\x56\\xad\\x0e\\x12\\x11\\x28\\x24\\x0a\\x53\\x40\\x50\\xe2\\x90\\x86\\x2b\\x00\\xe6\\x6b\\x98\\x98\\xad\\xde\\x06\\xa4\\x0f\\x0a\\xb3\\x40\\x4e\\x80\\x3e\\x75\\x2b\\x38\\xf0\\xad\\xd1\\x6d\\xf7\\xab\\x6f\\x9d\\xae\\xe1\\x60\\xc3\\x4e\\xb0\\xa9\\x28\\x0f\\xe4\\xc6\\x9d\\xa3\\xe7\\xe0\\x3c\\xa2\\x27\\x10\\x1c\\xfa\\x9c\\x69\\x08\\x47\\xaf\\x52\\xe6\\x08\\x94\\x46\\x03\\xa2\\x03\\x23\\x81\\x93\\xc3\\x32\\xb4\\x33\\x18\\x77\\xd0\\x17\\x0e\\x03\\xc1\\x27\\x96\\x58\\x58\\x1a\\xd0\\x3d\\x19\\x23\\xe0\\xc6\\x01\\xc2\\x4f\\x0a\\x89\\x90\\x3f\\x7f\\x0e\\x40\\x4e\\xd1\\x0b\\x76\\x0c\\x3a\\x80\\x90\\x49\\x12\\x72\\xee\\xe8\\x1f\\x39\\xf4\\x05\\x28\\x1d\\x50\\xcd\\xb9\\xec\\x8a\\xce\\x3f\\xde\\x79\\x05\\xb5\\x01\\x9e\\xf9\\x6f\\x5f\\x42\\x67\\xfe\\xea\\x3a\\xb5\\x03\\x62\\x22\\x97\\x5d\\xb1\\x76\\xdd\\x4b\\x5a\\x3f\\x08\\x68\\x45\\x32\\x3e\\x88\\x07\\x23\\xb4\\x0c\\x67\\x2a\\x25\\x84\\x20\\xd1\\xb4\\x5d\\xb0\\xfb\\xbc\\x6e\\x76\\x24\\xe3\\x76\\x3b\\xcd\\x76\\xca\\x49\\x0d\\x67\\x9c\\xbc\\xcd\\x63\\xf6\\x0c\\x67\\xcc\\x14\\x31\\x7e\\x68\\xc7\\x84\\xf9\\xd3\\x6d\\x00\\xd5\\x49\\x08\\xd9\\x69\\x49\\x61\\x67\\x7d\\x69\\x24\\xed\\x04\\x77\\x5c\\xba\\xfb\\xc6\\xbd\\xbb\\xaf\\x3d\\x44\\xbe\\x70\\xf0\\xfb\\xa3\\x6b\\x47\\x5f\\x02\\x5e\\xe0\\x3a\\x02\\x76\\x5d\\x76\\x0d\\x19\\xbb\\x9a\\xfc\\x07\\x8a\\xbf\\x5c\\xe9\\x9b\\x07\\x76\\x3d\\xf1\\x53\\xf0\\x16\\x94\\xc3\\x8b\\xa1\\x0f\\x34\\x88\\x7d\\xe9\\xb9\\x78\\x9f\\xd0\\xe7\\x64\\x7f\\x8b\\xe9\\xa5\\x8a\\xc8\\x28\\xb5\\x21\\xd2\\xe3\\x2c\\x8f\\xda\\x6c\\xe5\\x65\\x24\\x5d\\x53\\x2d\\xf1\\x2e\\x68\\xab\\x02\\x39\\x02\\x39\\xda\\x51\\x31\\x92\\x89\\x38\\x22\\x0e\\xb3\\x8b\\x32\\xc7\\x51\\x7d\\x17\\xe3\\x1f\\xce\\x30\\x05\\x7d\\xaf\\x71\\x35\\x6a\\x6a\\x42\\xb9\\x47\\x36\\x0a\\xeb\\xca\\xe6\\x07\\x97\\x36\\xe0\\x7d\\x17\\x44\\x6b\\x70\\xe8\\x06\\x0f\\xd8\\x6e\\x8a\\x37\\x20\\x18\\xd9\\xdf\\x6e\\x3e\\xfe\\xca\\xea\\x03\\xed\\xb7\\x5c\\xaa\\x7e\\xac\\x7e\\x86\\x00\\xba\\xfa\\xd7\\xe4\\x0f\\x0f\\xb6\\xcf\\xeb\\x98\\xb3\\x19\\xa8\\x5f\\x3c\\xba\\xf5\\xa2\\x33\\xe7\\xd5\\xae\\xda\\x7d\\x2d\\x79\\xad\\x57\\xbd\\xef\\xe6\\x6f\\x07\\xcb\\xd3\\xc7\\x7e\\x8e\\xe0\\xc3\\x0d\\x5f\\xfa\\xbf\\xb6\\x7d\\xf7\\x39\\xa0\\xdb\\x3b\\x5f\\xbd\\xfb\\xb2\\x6b\\x7c\\x8b\\x76\\x83\\xb6\\xab\\x21\\x9c\\x29\\x08\\xa7\\xc2\\x5c\\x03\\xe1\\xac\\x25\\x56\\x29\\x0d\\x82\\x33\\xe5\\x61\\xa3\\xd6\\x10\\x49\\xb2\\xc9\\x94\\x95\\x81\\x96\\x26\\xaa\\x88\\x27\\x10\\xa8\\x3d\\x19\\x36\\x19\\x89\\xd0\\x1c\\x57\\xdd\\x9b\\xe1\\x1c\\xa6\\x78\\x5f\\xc6\\xe4\\xa6\\xa1\\x2c\\xa6\\xdd\\x85\\xa3\\x47\\xb5\\x5b\\xda\\x5c\\xa9\\xfc\\xb8\\x5b\\x31\\x60\\x40\\xd7\\x37\\x09\\x7d\\x7a\\x22\\x6a\\x44\\x14\\x6f\\x47\\xfc\\xa2\\xc1\\x8b\\x5f\\x32\\x5a\\xa0\\x0a\\x02\\x8c\\xbb\\x80\\xb1\\xca\\x0a\\x75\\xe0\\xfd\\xb3\\xe6\\xed\\xed\\x3f\\xfe\\xdc\\xeb\\xc7\\x07\\x37\\xb2\\x23\\xe0\\xe2\\xf6\\xae\\x79\\xed\\x2b\\xc0\\xab\\x5f\\x3a\\x86\\x96\\x37\\xf5\\x97\\x47\\xa6\\xd5\\x06\\x07\\x4e\\x07\\x3f\\xf6\\x6c\\x51\\x7f\\x74\\x46\\x63\\xf5\\xdf\\xff\\xf5\\xa9\\xea\\x8f\\xec\\xfc\\xd0\\xd3\\xf9\\xe5\\x9e\\xb3\\x57\\xaf\\x3e\\xfb\\xbf\\x3c\\x9d\\x91\\x47\\x7f\\x11\\xf1\\x75\\xae\\x20\\x25\\x8e\\xfd\\x05\\xe2\\xa1\\x59\\x10\\xe6\\x11\\xe8\\x9f\\x54\\xa1\\xac\\xe7\\x72\\xb2\\xd4\\x14\\xe2\\x23\\x36\\xaf\\x8d\\x37\\x91\\x4c\\x4d\\x35\\x48\\x55\\xa6\\x86\\x33\\x11\\x9b\\x1d\\xa5\\x12\\x56\\xda\\x2b\\xed\\x8c\\x37\\x10\\x70\\x0d\\x67\\x02\\x34\\x93\\x28\\x40\\x6c\\xae\\x62\\x54\\x6f\\xab\\x3d\\x31\\xa1\\x56\\x43\\x6d\\x15\\x68\\x07\\x53\\x95\\xcc\\x0a\\x62\\x1e\\xcd\\xec\\x08\\x44\\xed\\xbd\\x8f\\x8d\\x7c\\x34\\xa1\\x52\\x76\\x80\\xd4\\xf1\\xab\\x63\\x75\\xfe\\xb7\\x77\\xc7\\x26\\xaf\\x91\\x7d\\x7d\\x56\\x16\\xc5\\x9a\\x9d\\x50\\x03\\x6d\\xc9\\x4d\\x38\\x3f\\x78\\xb1\\x52\\xe1\\xb7\\xcb\\xe6\\x32\\x52\\x24\\xed\\x66\\xba\\xaa\\x32\\x95\\xec\\xc9\\xa4\\x52\\x16\\x60\\xb6\\x98\\x7b\\x33\\x21\\x8b\\x85\\x16\\x3d\\x1e\\xe8\\xa5\\x78\\x1c\\x74\\xac\\x00\\xa1\\x45\\x57\\xd3\\xe9\\xe2\\x82\\x98\\x2c\\x2e\\xe3\\xa7\\xac\\x82\\xcd\\x63\\x75\\xd3\\x22\\x75\\xe0\\x95\\x97\\x26\\x96\\xbf\\x22\\x5c\\x2e\\x02\\x3f\\xd7\\xd0\\x77\\xf3\\x75\\xe3\\x0b\\x5f\\x77\\x0c\\xe8\\x38\\x44\\xf0\\xac\\x84\\xb6\\xe4\\x85\\x10\\x6f\\x11\\x62\\x81\\x02\\x2d\\x4d\\x36\\x12\\x32\\xbb\\x23\\x9c\\x19\\xd5\\xf7\\x59\\x2c\\xe6\\x91\\x0c\\x84\\xc3\\xed\\xf5\\x3a\\x87\\x33\\x5e\\x3a\\x32\\xf1\\x4e\\x2a\\x0b\\xce\\x04\\xdb\\x20\\x9b\\x2c\\x34\\x15\\x9a\\xbc\\x80\\xbe\\x10\\xd9\\x9b\\xd7\\x3d\\x32\\x11\\x39\\x83\\xd9\\x7c\\x21\\x61\\x8a\\xb2\\x65\\xf5\\x73\\x0d\\x17\\x6d\\xd0\\x1e\\x3d\\x1f\\xe2\\x22\\x4a\\xcc\\x56\\x62\\x54\\x89\\xcf\\x26\\x1a\\x6d\\xc1\\x92\\x28\\x1b\\x2b\\x0d\\x9a\\x4c\\x46\\xe8\\x11\\x9a\\xa8\\x2c\\x0e\\xa8\\x92\\x5c\\xbe\\x10\\x31\\xc5\\xb6\\xb5\\x54\\x21\\x27\\x0e\\x7c\\x68\\x7a\\x34\\x77\\xfa\\x61\\xfd\\xf0\\x83\\x40\\xa2\\xd6\\x6d\\xdb\\xbd\\x7b\\xd3\\xda\\xf9\\xcb\\x96\\xac\\x59\\xd9\\x13\\x5b\\xe9\\x86\\xa7\\x7e\\x25\\xf8\\x2e\\x3a\\x75\\x9c\\x30\\x04\\xf8\\x79\\xcb\\xcf\\x58\\xd5\\xd7\\xbd\\x30\\xe0\\x82\\x07\\xfe\\x77\\xbd\\xd0\\xf8\\x98\\x97\\xd0\\xe7\\xa3\\x19\\x2e\\xc3\\xf6\\xcc\\x72\\xa5\\x26\\x6c\\x34\\xfb\\xe2\\x24\\x69\\xf4\\xf1\\xd0\\x08\\x00\\x89\\x24\\x64\\x84\\x64\\x92\\x09\\xc8\\xb8\\xa3\\x3a\\xee\\xfa\\x4f\\x71\\xee\\x35\\xd0\\xb6\\x14\\x98\\x68\\x9e\\x47\\x0a\\xaf\\xd3\\x26\\x3b\\xf7\\xac\\xf0\\x6b\\x98\\xea\\x42\\x30\\xcf\\x1d\\x86\\xcb\\xce\\x3f\\xfe\\xca\\xa7\\xc7\\xd5\\xbb\\x26\\xde\\x0c\\x5e\\xf4\\x00\\x62\\x8f\\xf3\\x49\\x5e\\x67\\x8f\\x1f\\x1c\\xa3\\x2e\\x9c\\xfc\\x8a\\x30\\x2f\\x01\\xd1\\x3d\\x01\\x94\\x01\\xed\\xb8\\xc6\\x05\\xc2\\x67\\xf4\\x84\\xd8\\x52\\x28\\xf2\\x3c\\x4e\\xba\\x3c\\x09\\x62\\x09\\xc8\\x04\\x89\\x04\\xed\\xd3\\x2a\\x2c\\x7d\\x10\\x3b\\x3e\\xce\\x26\\x2e\\xca\\x38\\x6d\\x6e\\x3a\\x92\\xe7\\x8f\\xaf\\x86\\x0f\\x32\\x48\\xd8\\x0b\\xa6\\xb8\\x3a\\xcc\\x33\\x07\\xdb\\x0e\\x99\\x43\\xcd\\x1c\\x9a\\x78\\x89\\xe8\\x1e\\x2e\\xe2\\x0f\\x30\\x97\\xe4\\x27\\xbb\\x4c\\x7c\\x34\\xcb\\x24\\x80\\x88\\x42\\xbc\\x3d\\x8f\\x7b\\xba\\x9c\\xab\\x4c\\x97\\x2c\\x16\\x87\\xec\\x31\\xc6\\x20\\xea\\x1c\\x54\\xaa\\x1c\\xc4\\xcb\\xa0\\x86\\x2a\\x2b\\x93\\x24\\x88\\x32\\x4e\\x02\\x16\\x4a\\x92\\xec\\x42\\xc8\\xeb\\xc6\\xe1\\x7a\\xbf\\x40\\xe9\\x9d\\x36\\x79\\xa6\\xa4\\x58\\xd2\\x4d\\x72\\x9f\\x43\\xa4\\xc7\\x41\\x3c\\x11\\xa9\\x93\\x5e\\xee\\x14\\xe0\\xf4\\x79\\x88\\xd3\\xbf\\xbc\\xa1\\x86\\xb2\\x37\\x55\\xe0\\x8f\\xe8\\xa6\\xaa\\x18\\x9b\\xb7\\xde\\x06\\x06\\x27\\xbb\\xb2\\x2a\\xc2\\xa5\\x08\\x71\\x99\\x81\\xb8\\x4c\\x10\\x3b\\x14\\x05\\xdf\\x59\\x89\\x4c\\x09\\x00\\x8c\\x8d\\x4a\\x96\\x11\\xd1\\x18\\x34\\x58\\x63\\x31\\xd7\\xd4\\x77\\x58\\x46\\x9b\\x36\\xd5\\x9e\\x82\\x2a\\x8e\\x72\\xff\\xdf\\xa0\\x46\\x98\\x76\\x36\\x9c\\x02\\x64\\x8c\\x68\\x91\\x35\\x22\\x44\\xab\\xbf\\xcf\\xdd\\x6c\\xc5\\xd1\\xbf\\x59\\x1c\\xdf\\x8d\\x51\\xbc\\x73\\xd2\\xfb\\xad\\x2c\\x8a\\x11\\x8e\\xd7\\x40\\x78\\x01\\xce\\xd5\\x81\\xbe\\x86\\x64\\x84\\xca\\x9a\\x0b\\x1b\\xe9\\xd2\\xa8\\x6e\\x90\\x58\\x22\\x11\\xc6\\x62\\x81\\x2a\\xcb\\x42\\x17\\xd9\\x22\\xd9\\x22\\x9d\\xf1\\x92\\xc4\\x20\\xba\\x08\\x3d\\xa0\\x56\\xe7\\xce\\x37\\x11\\xc6\\xe9\\x2a\\x3a\\x81\\x82\\xf3\\xd5\\x13\\xea\\x1f\\xd4\\xef\\xa9\\xdb\\xc1\\x2e\\xb0\\xec\\xbc\\x37\\xee\\x1e\\xf0\\x2c\\x7c\\x64\\xe0\\xad\\xe7\\x56\\xfc\\x64\\xcf\\xed\\x97\\x6a\\xd8\\xba\\x62\\x4c\\x1d\\x05\\x67\\x80\\xe9\\xa0\\x07\\x6c\\x29\\x49\\xab\\xcf\\xfd\\xa0\\xa1\\x5d\\x7d\\x55\\x7d\\xf5\\x21\\xf5\\x9a\\xfb\\x5f\\xbc\\x17\\x69\\x24\\x40\\x9c\\x07\\x6d\\xac\\x8b\\xa1\\x0c\\x8c\\x10\\x9d\\x4a\\x89\\xdb\\x10\\x00\\xc0\\x6e\\xa0\\xa2\\x25\\x44\\x50\\x0e\\x42\\xfb\\xd5\\x2c\\xcb\\xb4\\xd9\\x2c\\xf4\\x66\\xcc\\x0e\\xda\\xdb\\x5b\\xa0\\x85\\xa6\\xd8\\xb6\\xa8\\x87\\xc3\\x78\\x6d\\x2a\\x88\\x36\\x93\\xad\\x40\\xe5\\x88\\x74\\xcd\\x7b\\x7f\\xf9\\xe8\\xe4\\xc9\\x77\\x47\\xee\\x59\\xdb\\x15\\x8b\\x9d\\x9e\\xfe\\xfa\\x85\\x67\\xac\\x1e\\x59\\x78\\x06\\x78\\x15\\xdc\\xbd\\xe8\\xf0\\xc3\\xff\\x7a\\xff\\xef\\xc0\\xe0\\x8b\\x9e\\xbc\\x21\\x18\\x7d\\xfa\\x97\\xc7\\x9e\\x5e\\xbb\\xe1\\x62\\x3c\\x59\\x1e\\xd7\\x27\\x43\\xbd\\xf9\\x63\\x5c\\x4b\\x3e\\xa4\\xd4\\x49\\x46\\xa7\\x60\\xb5\\x07\\x49\\x52\\x90\\x8d\\x76\\x26\\x5a\\x02\\xb4\\xe1\\x3a\\x61\\x86\\xe3\\xed\\x76\\x4e\\xb0\\x72\\xd6\\x55\\x19\\xb7\\x99\\x43\\x1c\\x45\\x31\\xbe\\x62\\xbe\\xc9\\x57\\x84\\x4c\\x94\\x0f\\xc5\\xcc\\xa2\\x07\\xaf\\xf5\\x46\\x41\\x79\\x26\\x61\\x7e\\x8c\\x05\\x5f\\xfa\\xe8\\x80\\x7f\\x05\\xfd\\xd0\\xa0\\x7f\\xd1\\x2f\\x6a\\x27\\x88\\xbb\\x8b\\x5d\\x5a\\xee\\x2f\\x7f\\x72\\xa0\\x58\\xff\\x43\\x19\\xc7\\xd0\\x78\\xc6\\x65\\xaf\\x92\\x74\\x31\\xf6\\x80\\x0f\\x80\\x00\\x63\\xa1\\x21\\xb2\\xfd\\x41\\x3f\\x9a\\xb8\\x4e\\xe1\\xc4\\x65\\xc1\\x60\\x85\\xcc\\x61\\xe5\\x28\\xa9\\x98\\x01\\xa6\\xda\\xba\\x4e\\xef\\x5e\\x30\\xc9\\xae\\xf5\\xa3\\x7f\\x08\\xd1\\xb9\\x5e\\xd7\\x82\\x4b\\x5d\\x8a\\x69\\x9c\\xe4\\x05\\x2d\\x1f\\x58\\x18\\x7d\\x3a\\x47\\xd8\\x38\\x1e\\x32\\x1f\\xdf\\x11\\x2c\\xe0\\x59\\xd0\\x8f\\x61\\xa8\\x83\\xef\\x43\\x90\\x66\\xd0\\x4c\\x8f\\x1a\\x07\\x25\\x45\\x89\\x78\\xdc\\x65\\x0a\\xb8\\xa8\\x28\\x53\\x96\\x20\\x44\\x9e\\x17\\x21\\x5b\\xf3\\x32\\x0f\\xd9\\x9a\\xe7\\xd9\\x40\\x38\\xec\\x5b\\x94\\x09\\xbb\\x59\\x3b\\x24\\x23\\xd6\\x51\\xe0\\x8f\\xe6\\x2f\\xa2\\x27\\xf6\\x39\\xd1\\x8b\\xf0\\xb2\\x44\\x24\\xba\\xda\\x80\\x88\\xbe\\xb8\\x73\\xb9\\x76\\xa8\\xbd\\x38\\x30\\xae\\x5c\\xf3\\xcb\\xdf\\xec\\xba\\xbd\\xab\\xc4\\xbb\\x30\\x7a\\xc7\\xad\\xcb\\xe6\\x3f\\xbc\\x71\\xd3\\xc5\\x67\\x87\\x0e\\x2d\\xfb\\xcb\\x89\\xf3\\x87\\xc0\\x27\\x25\\x3b\\xba\\xbf\\xb6\\x4d\\xfe\\xe4\\x42\\xb7\\xef\\x5b\\x3f\\x3c\\xe3\\xae\\xe5\\xfd\\xd1\\xbe\\x40\\xfa\\xc6\\x1b\\x97\\xee\\xd0\\x7b\\xb6\\x30\\xea\\x1c\\x9c\\x4f\\x13\\x87\\x3c\\x1b\\x73\\x92\\x42\\xd4\\x1f\\x35\\x91\\x74\\x59\\x02\\x40\\xf9\\x34\\x9c\\x89\\x09\\x23\\x99\\x18\\xe5\\x91\\xd7\\x64\\xfc\\x1e\\x81\\xb1\\x8f\\x64\\x4c\\x4c\\xd6\\x99\\x9e\\x3c\\x29\\x25\\xeb\\x37\\xe4\\x42\\x03\\x93\\xea\\x50\\xe6\\xe5\\x07\\xfe\\xf1\\x46\\xf7\\xf5\\xa9\\x4c\\x48\\x98\\x53\\x3e\\x7b\\xc5\\xa4\\x89\\x35\\x28\\x87\\xa3\\xf6\\xf5\\xbf\\x3a\\x6d\\xa0\\xe6\\x21\\xc9\\x37\\x32\\xc4\\xac\\x9a\\x4c\\x7b\\xea\\x77\\xeb\\x0b\\x70\\x6e\\x4d\\x29\\x82\\xc1\\x0e\\x1c\\x61\\x6f\\xd8\\x00\\xe8\\x78\\x8c\\xd0\\xa6\\x26\\x41\\xe3\\xa5\\x84\\x13\\x83\\x8b\\x32\\x5e\\xd1\\x4d\\x5b\\xfa\\x32\\x06\\xfa\\xd4\\x30\\x8c\\x1b\\x28\\x3f\\xa9\\x9a\\xa4\\xfe\\x92\\x9f\\x26\\x3f\\x59\\x92\\x0d\\xd5\\x7f\\xf2\\xf2\\xec\\x30\\x79\\xea\\xea\\x89\\xba\\x51\\xbb\\xf7\\x50\\x8f\\x30\\x6f\\x23\\x9a\\x22\\xea\\xf1\\xfb\\x25\\x10\\x8e\\x11\\xea\\x35\\xf8\\x5e\\xbb\\xdf\\x09\\x8e\\xfd\\xc1\\x70\\x02\\xdf\\x37\\xb6\\xe2\\xf7\\x2c\\xe4\\x9b\\xc7\\xd0\\xfd\\x0f\\x31\\x80\\x7b\\x0a\\xd7\\xaa\\xbb\\x89\\x17\\xc6\\x9e\\x25\\x04\\x22\\xa2\\x08\\x8c\\xc3\\x66\\x33\\xbf\\x0d\\x00\\x01\\x14\\xd0\\x07\\x46\\x00\\x0d\\x50\\x97\\xe1\\x95\\x2b\\xeb\\xd0\\x58\\x31\\xe8\\x45\\x47\\x35\\x63\\x2c\\x08\\x8d\\xb1\\xfa\\xa6\\x86\\x34\\x32\\x83\\x5f\\xb8\\x3c\\x1c\\x2f\\x0f\\x5f\\x7e\\xd5\\x15\\x5d\\x33\\xd5\\xdd\\x89\\xca\\x04\\xfc\\xbf\\xf6\\x80\\x38\\x34\\x64\\x59\\xb9\\x94\\x40\\x77\\x0e\\x46\\xa6\\x1a\\xfc\\x96\\x7d\\x81\\xb0\\x10\\x12\\xb4\\x0f\\xc3\\x0a\\x17\\x11\\x45\\xff\\xb5\\x1c\\xe0\\x50\\xbb\\x72\\x8e\\x32\\x1d\\x03\\x67\\xc0\\x83\\x7c\\x2e\\xb5\\x52\\x6b\\x4c\\x27\\xe4\\x7a\\x2e\\x97\\xc4\\xa9\\x82\\xd7\\xb1\\x82\\xd7\\x57\\x35\\x27\\x13\\x2d\\xcd\\x65\\xc9\\xe6\\x4b\\x5a\\xe3\\x89\\xd6\\xe6\\x64\\x59\\x33\\x30\\xb6\\x26\\xb4\\x6f\\x31\\xd7\\x24\\x9b\\x9b\\x93\\xa5\\xad\\x2d\\xc0\\x90\\x6c\\x6a\\x4a\\xc6\\x5a\\x5b\\x63\\xc9\\xa6\\xe6\\xb2\\x58\\x6b\\x0b\\x84\\x75\\x09\\xd3\\x43\\x1c\\x64\\x4f\\xc2\\xbd\\x58\\x7e\\x48\\xb0\\x78\\x65\\xd4\\xfe\\xd8\\x20\\xc1\\xff\\xa2\\x4d\\x09\\xf8\\xdf\\xc1\\x3b\\xe0\\x9f\\xc3\\x07\\xd0\\xbf\\x77\\xb0\\x27\\x4f\\xcb\\xfd\\xd1\\xfc\\xfb\\x1e\\x08\\x8b\\x83\\x7d\\x13\\xc3\\x12\\x52\\x9c\\x22\\xc7\\xc9\\x5c\\x35\\x77\\x88\\x7b\\x82\\x7b\\x81\\x63\\xf3\\xb0\\xa0\\x36\\xcf\\x85\\x70\\x14\\xbe\\xee\\x69\\x2e\\x43\\x1b\\x2d\\x6b\\x26\\xe1\\xde\\xf1\\x8b\\xec\\x8e\\x5b\\x81\\x0b\\xed\\x14\\xbe\\xc0\\xe7\\xd6\\x01\\xd7\\x7a\\x13\\xae\\x45\\x11\\x1c\\xe1\\x27\\xe2\\x8a\\x08\\x04\\xc2\\xe0\\xe5\\x04\\x59\\xa8\\x16\\x0e\\x09\\x4f\\x08\\x2f\\x08\\xac\\x60\\xb0\\xe5\\x56\\x74\\x3c\\xe5\\x78\\x0a\\xae\\x0a\\xa9\\xaf\\x69\\x8a\\x95\\x3b\\xae\\x5b\\x30\\x71\\xed\\x76\\x70\\x9d\\x7a\\x76\\xdf\\xc4\\x0d\\x80\\xb1\\x76\\x75\\x0b\\x71\\xf3\\xd8\\x0f\\x50\\x4b\\xc5\\x87\\x29\\x82\\x06\\x34\\x81\\x28\\x01\\x42\\x86\\xa6\\xb6\\x88\\x50\\x6a\\xa4\\x37\\x0c\\x7d\\xef\\x48\\xff\\x92\\x91\\xab\\x0e\\xdc\\x82\\x7e\\x7f\\x3e\\x33\\x8b\\x38\\xca\\x3e\\x06\\xf7\\xeb\\x78\\x84\\xea\\x03\\x90\\x80\\x20\\x19\\x55\\xaf\\x3c\\xe7\\x79\\x74\\xc0\\x89\\xa6\\xa3\\xf0\\x0f\\x4b\\x3c\\xf6\\xd8\\x63\\xa8\\x4f\\xf6\\x2f\\x98\\x4e\\xd0\\xc6\\x5e\\x0f\\x75\\x7c\\x42\\x11\\x9d\\x41\\xc2\\xe0\\x31\\x78\\x38\\x2b\\xb0\\x1e\\x0a\\x82\\xbe\\x20\\x50\\x82\\x20\\x88\\x3e\\xb9\\xf2\\xf9\\x95\\x28\\xba\\x50\\xa7\\xf5\\x93\\x46\\xda\\x4f\\x32\\xe8\\x37\\x44\\xb9\\x90\\x61\\x93\\x0e\\x1c\\x94\\x6d\\x77\\x88\\x81\\x50\\x49\\xfd\\xce\\x15\\x5d\\x0d\\x99\\x86\\xf2\\x2a\\xaf\\x2b\\xa8\\xd4\\xef\\x5c\\x3e\\xb7\\xe1\\xb4\\xd6\\xf2\\x2a\\x36\\x19\\x90\\xe4\\xa8\\x7d\\x75\\xe5\\x85\\xf3\\x33\\x2d\\x0b\\xda\\x63\\x01\\x6f\\xbd\\x6f\\x75\\xc5\\x45\\xf3\\x06\\x1a\\xfa\\x5a\\x92\\x70\\x3f\\x07\\x20\\x5d\\x10\\xec\\x35\\x10\\xd6\\x94\\x12\\xa6\\x38\\x0c\\x6c\\x0d\\xd1\\x47\\x8c\\x10\\x7b\\x88\\xeb\\x88\\xc3\\xc4\\x93\\xc4\\x09\\xe2\\x23\\xc2\\xac\\x10\\xc7\\xd1\\x18\\x7a\\xb8\\x35\\x7c\\x10\\xa8\\xa2\\xb9\\x01\\x9e\\xee\\xb5\\x1b\\x86\\xbe\\xfb\\x30\\xd3\\x03\\x4f\\xe2\\x9e\\x5b\\xb5\\x3e\\xdd\\x1f\\xa8\\xbb\\xc1\\x69\\x63\\x7f\\x26\\x18\\xc2\\xf8\\x43\\xf8\\x2c\\xd4\\x63\\x1b\\x44\\x13\\x4d\\x69\\x03\\x38\\xed\\xd8\\x83\\x0f\\x1e\\x7b\\x50\\xdd\\x7d\\xe4\\xc8\\x11\\x82\\x1c\\x73\\xc0\\x33\\xbe\\x67\\xec\\x13\\xb8\\xae\\x40\\x88\\x8a\\xc9\\x60\\xa0\\x15\\x0a\\x50\\x4e\\x0b\\x51\\x8d\\x50\\xda\\x52\\x8d\\x1b\\x27\\xc3\\x35\\x1a\\x1b\\x98\\x02\\x44\\xde\\xf3\\xe0\\x3d\\x43\\x1b\\xd4\\x7f\\x67\\x99\\xa0\\xff\\x96\\x03\\x57\\x8d\\x2c\\x09\\xea\\x64\\xaf\\xd5\\x50\\x32\\x3d\\x60\\x79\\x16\\x1e\\x9a\\x83\\xcf\\xfc\\x0a\\x78\\x9e\\x47\\xf0\\x38\\xe1\\x1a\\xa8\\x5b\\xf6\\x91\\xfd\\x43\\x1b\\x98\\x9e\\x6f\\xdd\\x0b\\x9f\\xfa\\xff\\xeb\\xb3\\x48\\x74\\xce\\xfa\\xb3\\x38\\x22\\xad\\x94\\x5a\\xac\\x34\\x7e\\xa0\\xf1\\x2b\\x9e\\x58\\x07\\x1f\\xe9\\x4c\\x17\\x3c\\x35\\x52\\xf0\\x74\\xd5\\x5b\\xb0\\x86\\xb6\\x10\\xfc\\x43\\xab\\x2c\\xd3\\x01\\xbe\\x30\\xc4\\x30\\xf7\\xa4\\x88\\x26\\x62\\xba\\x52\\xe2\\xad\\xae\\x4e\\x0a\\x36\\x5b\\x43\\xb5\\xdc\\x21\\x93\\x32\\xb5\\x27\\x09\\xc2\\x49\\x25\\xd9\\x97\\xdc\\x93\\x3c\\x9c\\x3c\\x9e\\x3c\\x91\\x34\\x24\\xf1\\x2c\\xf6\\x50\\x57\\x92\\xa8\\x4e\\xad\\x3c\\x27\\xfd\\xd4\\x4a\\xad\\x43\\x5e\\xee\\x7e\\x32\\x01\\x09\\x59\\xa7\\x40\\x43\\xc1\\x90\\x94\\xac\\x6c\\xd2\\x5b\\xa0\\xc6\\x9b\\x5c\\xee\\x9c\\xdf\\x0a\\xbe\\xd8\\xb5\\x3c\\x9d\\xe8\\x3f\\xb3\\x9f\\xdf\\xb5\\x7c\\xf9\\xae\\x5d\\xe9\\x58\\x2c\\x8d\\xfe\\x9e\\xbc\\x1c\\xbd\\xe5\\xe1\\xf7\\x13\\xe9\\x82\\x6f\\xb3\\xfd\\x05\\xdf\\x5c\\xae\\x7d\\x2f\\x1d\\x43\\xaf\\xb3\\xcf\\xd0\\xbf\\xa7\\xc9\\x23\\x57\\x01\\x8c\\x35\\x8a\\x5f\\xa8\\xb6\\x75\\xd8\\x48\\x9b\\x77\\x0f\\x05\\xc2\\x94\\x42\\xf5\\x51\\x7b\\xa8\\xc3\\xd4\\x71\\xea\\x04\\x65\\xa0\\x74\\xc0\\xa8\\x1c\\x60\\xa7\\x86\\x68\\x8a\\x5d\\x4f\\xba\\x3d\\x48\\xef\\xb3\\xa0\\xee\\xff\\x29\\x7b\\x1b\\xe1\\x24\\x84\\x87\\x6d\\x34\\x6d\\x22\\x8c\\x58\\x2e\\x3d\\x8f\\xd4\\x06\\x64\\x7f\\x4c\\xb6\\xa8\\x39\\x52\\x5a\\xd4\\xac\\xa8\\x9f\\x0e\\x0f\\xc5\\xdc\\x97\\x5e\\x6a\\x29\\x89\\xcb\\xec\\x6d\\x8d\\x43\\x1b\\xcd\\x67\\x82\\x95\\xbb\\x2c\\xc9\\xba\\xd4\\x04\\x7d\\x64\\x73\\x38\\xde\\x46\\x3d\\x4f\\x15\\xae\\x8f\\x1b\\xe1\\x68\\xce\\x04\\x30\\x6f\\xac\\xd4\\xf4\\x91\\x21\\x9d\\x35\\x89\\xe1\\x0b\\x54\\xa4\\x02\\x8d\\x9d\\x02\\x7d\\xd4\\x30\\x41\\x1d\\xc1\\xe7\\x77\\xa9\\x37\\x12\\xfb\\xc6\\xde\\x84\\xbc\\x89\\xe4\\x1a\\x09\\xc8\\xac\\x5c\\x93\\x9c\\x91\\x86\\x74\\xc3\\x3e\\xf5\\xc0\\xaf\\xa3\\xea\\xd1\\xab\\x1f\\x47\\xbf\\xbb\\x00\\xee\\xe5\\x68\\x31\\x1f\\x0b\\x98\\x8f\\x8f\\x16\\xb0\\x31\\xfc\\xbd\\xd5\\x90\\x8f\\x7f\\xac\\xcb\\x4a\\x9a\\xc0\\x2c\\x52\\x8d\\xd9\\x20\\xcb\\xbe\\x3f\\x46\\x2c\\xab\\x31\\x2a\\x81\\xf8\\x40\\xdd\\x02\\x96\\xe3\\xdf\\xe7\\x08\\x49\\x31\\x43\\x36\\xb0\\xa0\\x4f\\x71\\x68\\x4e\\xc0\\xf3\\xba\\x22\\x14\\xf5\\x8f\\x46\\xf4\\xaf\\xe8\\x09\\xe0\\xcf\\xf9\\xe7\\x68\\x0f\\x83\\x3a\\x4d\\xbd\\x80\\x38\\x38\\xf6\\x2f\\xf8\\x2c\\xeb\\x11\\x24\\x73\\x19\\x04\\x0e\\xdc\\x27\\xd3\\xd0\\x94\\x88\\x89\\x86\\x83\\xea\\xe3\\xbb\\xff\\x0b\\xb4\\x5f\\xa8\\x3e\\xd8\\x72\\xb6\\xf8\\x64\\xeb\\x59\\x2e\\x22\\xa7\\x07\\xff\\xb7\\xf2\\x4e\\xd0\\xe5\\x5d\\x70\\x9c\\xbc\\x23\\x11\\xaf\\x41\\xcf\\x3c\\x47\\x87\\x9e\\x6a\\xaa\\x83\\x22\\x29\\x61\\x8f\\x0d\\x84\\x6d\\x8a\\xad\\xcf\\xb6\\xc7\\x76\\xd8\\x76\\xdc\\x76\\xc2\\x06\\xf5\\x95\\x46\\x87\\xb6\\x42\\x3a\\x3c\\x05\\xf7\\xa8\\xec\\x94\\x6c\\x32\\x91\\x25\\xfe\\xdf\\xd3\\xce\\x02\\x78\\x6e\\x47\\xd9\\xa3\\x90\\x1e\\x62\\x4a\\x80\\x26\\x40\\x0d\\x36\\x92\\xf6\\x80\\xeb\\xc0\\x61\\xf0\\x24\\x38\\x01\\x3e\\x02\\x66\\x05\\x1c\\x07\\x24\\x56\\x7c\\xe3\\x88\\x85\\xe9\\x41\\xc4\\x02\\xe9\\x0f\\xf2\\xca\\x3e\\xf6\\x72\\xf8\\x8c\\xa0\\xe2\\xe4\\xa0\\x80\\xa5\\x76\\x93\\x87\\x48\\xb2\\x8f\\x04\\x0a\\x22\\x46\\xa4\\xf7\\xd2\\x18\\x81\\x39\\x72\\x64\\x2f\\xd7\\xe9\\x91\\x20\\x72\\x74\\x33\\x4e\\x27\\x4b\\xba\\x4e\\x86\\xaa\\xe8\\x9e\\x07\\x73\\x3a\\x79\\x74\\x2f\\x03\\x6d\\xc4\\xff\\x95\\x9e\\x05\\x5f\\xad\\x67\\xd5\\xa4\\xdb\\x1f\\x2c\\x49\\xef\\x5a\\x31\\xaf\\x61\\xa0\\x3e\\x59\\xe9\\x73\\x05\\x3b\\xd2\\xbb\\x06\\xe6\\x34\\x2c\\x6b\\xae\\x4e\\xe5\\x15\\x6d\\xd7\\x8a\\xd6\\xee\\x69\\x71\\xac\\x68\\x2b\\x2f\\x9c\\x3b\\xd8\\xd4\\xd3\\xae\\xcd\\x44\\x1a\\xab\\x64\\x76\\x13\\x2f\\x41\\x5a\\x41\\x36\\x14\\xa4\\x15\\xaa\\x9a\\xeb\\xe0\\x48\\xce\\xb4\\x47\\x04\\x61\\x51\\x11\\xfb\\xc4\\x3d\\xe2\\x61\\xf1\\xb8\\x78\\x42\\x34\\x88\\x3a\\xad\\x88\\x1a\\xad\\xe4\\x48\\x70\\xbc\\xd4\\x45\\xdb\\x5a\\x9e\\xa5\\x0c\\xf5\\x15\\x2c\\xb0\\xe0\\x5f\\xb6\\xbf\\x50\\x7c\\xc2\\xbf\\x70\\xed\\x3b\\xd5\\x0e\\x62\\x64\\xec\\x43\\xbc\\xb6\\xa4\\xa0\\xb1\\x6f\\xe0\\xb0\\xe9\\x49\\x13\\x69\\x12\\x39\\x4c\\x1a\\xe7\\xd4\\xe5\\x07\\x6a\\x8c\\x37\\x9f\\x56\\x67\\x6d\\x26\\x32\\x6b\\x45\\xa9\\x77\\x6a\\x96\\x25\\xb2\\x9b\\x34\\x03\\x0a\\x2a\\x4b\\x15\\xae\\x01\\xb2\\x6b\\x44\\x89\\x6a\\xa2\\x0d\\xd2\\xa2\\x23\\x41\\x51\\x95\\x7b\\x4c\\xc0\\xd4\\x12\\x11\\xfd\\x69\\x11\\x8d\\xee\\x90\\x50\\x7c\\xe5\\x39\\x9d\\xd7\\xa9\\xff\\xc0\\xe8\\x95\\xa6\\xd8\\xd7\\xdb\\xd9\\x7d\\x5d\\x92\\xdd\\x17\\x30\\x66\\x5f\\xfd\\x6b\\xe2\\x9e\\x0f\\xea\\x26\\x1e\\x60\\xf4\\x3d\\x97\\xea\\x5f\\x9f\\x9d\\x00\\x0c\\xa5\\x7e\\x02\\x61\\xa9\\x85\\xb0\\x68\\x36\\x28\\x7f\\x94\\x00\\xc0\\x60\\xf3\\x0a\\xe8\\xac\\x34\\xd1\\xce\\x40\\x2f\\x66\\xaa\\x8d\\xa9\\x9f\\x80\\xb9\\x8d\\x13\\x36\\xf0\\xf8\\x35\\xd7\\xec\\x9f\\x78\\x6c\\x70\\xad\\xd7\\xe0\\x5a\\x49\\xfd\\xdc\\x64\\x88\\x1d\\x53\\xc8\\xe7\\xf3\\xfb\\x29\\x1d\\x35\\x68\\xb9\\xf1\\xee\\x41\\xe1\\x6b\\xa6\\x21\\x0a\\xb7\\x12\\x15\\xd7\\x66\\xfd\\x00\\x72\\x5a\\x0c\\xbd\\x48\\xb4\\xaa\\xaf\\xae\\x05\\xcb\\x57\\x67\\x71\\xd5\\x02\\xc4\\xf2\\x26\\x6c\\x28\\xdd\\x7a\\xee\\x55\\x57\\x9d\\x0b\\xf9\\x71\\x1f\\xd4\\x07\\x23\\x63\\xfd\\x70\\x5d\\xe3\\x0f\\x4d\\x94\\x36\\x03\\xa6\\xe0\\xc1\\x23\\x59\\x08\\xd4\\x4f\\xf4\\x6d\\x43\\x3a\\x0a\\xaa\\x37\\x13\\xef\\x8e\\x2d\\xc1\\x7b\\xb5\\x1f\\x11\\x4d\\x26\\x34\\x48\\x45\\xbb\\xf4\\x9a\\x0a\\x7d\\xef\\x64\\x9f\\x03\\x5d\\x95\\xec\\x13\\x3f\\xd5\\x71\\x51\\x5a\\x60\\xf7\\xc3\\x67\\xf7\\xc0\\x67\\x67\\xe9\\x87\\x3f\\x4a\\x99\\x90\\xc3\\xc4\\x69\\xcf\\x7f\\xae\\xee\\x3f\\x23\\x96\\x91\\x53\\x10\\xc5\\xd4\\x24\\x80\\x65\\xdc\\xa0\\xfa\\x2f\\x62\\xff\\xd8\\x25\\xc8\\x73\\xfb\\x21\\x05\\xf0\\x79\\x18\\x22\\x62\\x64\\x3f\\xe8\\x52\\x8f\\x5d\\xa8\\xe5\\xd2\\x43\\x9d\\x73\\x09\\xd4\\x39\\x97\\x40\\x39\\xc4\\x1e\\x86\\x22\\x0b\\xee\\x49\\x3f\\xfe\\x39\\xf8\\xac\\x2f\\xc1\\x47\\x8b\\xce\\x96\\xfe\\x15\\x31\\xc2\\x5c\\x0a\\x61\\x11\\x15\\x1b\\xc5\\x99\\x64\\x53\\x87\\x69\\xd8\\x74\\xc8\\xc4\\x98\\xa0\\xdc\\x99\\xea\\xa0\\x99\\x58\\xfe\\x38\\xd0\\x33\\x98\\xcb\\x89\\x11\\x76\\x0e\\x7c\\x86\\xa0\\x58\\xa8\\xb0\\x49\\x31\\xf5\\x99\\xf6\\x98\\xe8\\xc9\\x9e\\x90\\x85\\x90\\x79\\x37\\x07\\x10\\xa5\\xbe\\xa4\\xee\\x02\\x95\\x63\\x9f\\xea\\xe7\\x29\\x2b\\x0e\\x53\\x98\\xaa\\x81\\xda\\x89\\xf2\\xfb\\x95\\x08\\x88\\xe8\\x9c\\x5f\\x87\\x86\\xc8\\x22\\x50\\x0b\\x9e\\x97\\x28\\xa4\\xaf\\xc9\\xd6\\x79\\x3e\\x77\\xb8\\xb7\\x65\\x37\\xff\\xac\\xbe\\xf2\\xd7\\xf5\\xaf\\x37\\x17\\xc3\\x42\\x8e\\x10\\x23\\x94\\x0c\\xf7\\x62\\x3d\\x42\\x1d\\x87\\xf2\\xe0\\x14\\x40\\x90\\x8f\\x67\\x81\\x00\\x63\\xc7\\xd4\\xfd\\x44\\x97\\x8e\\x13\\xa8\\x91\\x31\\x8d\\x42\\xef\\xbb\\xeb\\x3a\\x75\\xff\\xdb\\x6f\\x43\\xbd\\x70\\x29\\x7d\\x33\\xf9\\x53\\x66\\x01\\xfc\\xb9\\xf3\\x61\\x92\\x62\\xa0\\x09\\x42\\x54\\xe7\\x6e\\xbe\\x21\\xf2\\x2e\\x25\\xa7\\x8d\\x3e\\xc5\\x2c\\x38\\x8a\\xf1\\x4b\\x7f\\x41\\xec\\x87\\x38\\xa1\\xe0\\x59\\x88\\xc4\\x13\\x14\\x90\\xa1\\xb2\\xde\\x42\\xed\\xa6\\xfe\\x4e\\x31\\x94\\xc2\\x8b\\x59\\x1b\\x11\\x2e\\x91\\x45\\x3b\\x73\\xa9\\x86\\x77\\xf0\\x8e\\x3a\\x42\\xde\\x69\\x78\\x15\\x7e\\x56\\x38\\x0a\\x6d\\x1c\\x86\\x46\\xd6\\x41\\xb5\\xd6\\xa4\\x06\\xc5\\x3c\\xd2\\x4e\\xf0\\xce\\xa3\\xea\\x88\\x69\\xc7\\x67\\x7b\\x75\\xdc\\x59\\x21\\xfe\\x9f\\x85\\xf0\\x7a\\x20\\xfe\\x65\\xd3\\x16\\xd3\\x6e\\x88\\xfd\\x17\\x20\\xfe\\x8f\\x81\\xb5\\x44\\xc7\\xd4\\x08\\x5c\\x9f\\x87\\x3d\\x8f\\x7f\\x48\\x8f\\xa6\\x89\\xfc\\x39\\x11\\xe9\\x24\\x71\\xc1\\xd8\\x3b\\xe0\\x17\\xd4\\x4f\\x31\\xce\\x23\\x8a\\x15\\x33\\x28\\xe5\\xf5\\x58\\x79\\x96\\x38\\x06\\x56\\x13\\x1d\\x75\\xd5\\x7a\\x67\\x1d\\x3d\\xdb\\x36\\xdf\\xb1\\x89\\x2a\\x78\\x0d\\xe4\\xae\\xa1\\xa1\\xae\\x99\\x6b\\x56\\xcd\\xee\\x1a\\x1a\\x9c\\x3f\\x7b\\xd5\\xaa\\xe0\\xaa\\xd9\\x73\\x46\\x46\\xe6\\xcc\\x5e\\x45\\xde\\x80\\xfe\\x5d\\x33\\x73\\xce\\x48\\x96\\x46\\xff\\x05\\xf7\\x78\\x74\\xca\\x3d\\x66\\xa9\\x83\\x3d\\x2d\\x4b\\x0e\\x48\\xee\\x0c\\x40\\xb9\\xe3\\x9d\\x52\\xee\\xe4\\xd8\\xf5\\x58\\xee\\x2c\\x88\\x0b\\xa0\\x02\\xdd\\x4b\\x1f\\x25\\xca\\x89\\x26\\xc5\\x5a\\x42\\x10\\x62\\x82\\xaa\\x48\\x11\\xa5\\x65\\xb1\\x19\\x66\\x70\\x26\\x91\\x21\\xca\\xc0\\x2a\\xc2\\x4a\\x78\\xf0\\x6b\\x2b\\x18\\x2e\\x08\\x76\\x6a\\x91\\x29\\x24\\x3f\\xf1\\x25\\x60\\x02\\x41\\xd9\\x06\\x90\\x6a\\xc7\\x2b\\xa6\\xb0\\xde\\x97\\x81\\xcb\\x80\\x95\\x6b\\x44\\x88\\x54\\x81\\x0b\\xfc\\x65\\xd1\\x5a\\x63\\xcb\\x69\\x0b\\xe2\\x01\\x8f\\xab\\x6c\\x87\\x1c\\x4c\\xf9\\x18\\xc5\\x6a\\x73\\x01\\x71\\xae\\x1a\\x73\\x96\\x02\\x5e\\xae\\xee\\xda\\x34\\xb8\\xee\\x93\\x44\\xa0\\xa1\\x9c\\xf7\\x86\\x2e\\x9e\\x79\\x67\\x75\\xac\\xf4\\x60\\xcd\\xb4\\xad\\x6e\\x93\\xc5\\xa2\\xbe\\xd3\\x72\\x54\\x8b\\x0d\\x36\\x40\\x9b\\xe5\\x5d\\x68\\xb3\\x98\\x08\\xf3\\x43\\x46\\x03\\x30\\x40\\x92\\x87\\x47\\x1e\\x95\\xa0\\xc5\\xd5\\x04\\x85\\x06\\x78\\xf7\\xbb\\xfc\\x35\\x8e\\xbb\\xc1\\xe1\\x37\\xf7\\xb9\\x5c\\xfb\\xf4\\x5a\\x9d\\xa1\\xb1\\x77\\xe9\\x77\\xe8\\xc7\\x88\\x1e\\xa2\\x5b\\x71\\xfb\\x2a\\x12\\x61\\xc2\\xa6\\x98\\xa6\\x87\\xa5\\x9a\\xfa\\x8a\\x52\\x4b\\x6f\\x1f\\xab\\x2c\\x50\\x8e\\x81\\xf5\\x8a\\x29\\x53\\x23\\x4d\\x37\\xd1\\xd1\\xe6\\x05\\x3f\\x81\\xc0\\x96\\x12\\x51\\x08\\xbe\\x13\\xe1\\x17\\x35\\xca\\xd6\\x13\\x74\\x0a\\x63\\x72\\x2e\\xd6\\xa0\\x0d\\xdf\\x62\\x72\\xb9\\x3a\\xa8\\x52\\x55\\x9b\\xa4\\x88\\xbe\\x65\\x88\\xe0\\xcb\\x5e\\x3c\\xa5\\xa8\\x03\\xe4\\x5b\\x45\\x85\\x80\\x04\\x1a\\x0b\\xda\\x99\\xa5\\x9b\\xea\\xdc\\xf4\\x3b\\x9c\\xc5\\xe5\\xb1\\x57\\xbd\\xd5\\x00\\xec\\x9d\\xb1\\xce\\x05\\x6e\\xd1\\x6a\\xee\\x28\\x1b\\x3d\\xd9\\x52\\xdd\\xa4\\x28\\x8d\\x21\\x75\\xf3\\x86\\x64\\xac\\x32\\x36\\x30\\x18\\xbc\\x38\\x1c\\x6e\\x59\\xec\\xe2\\xb9\\xc0\\xca\\x24\\xb0\\xae\\xba\\xbe\\xbe\\xa5\\x36\\xc8\\x92\\xed\\x2b\\x1b\\xa7\\x51\\x1f\\x45\\x07\\x38\\x97\\xed\\x81\\x8b\\x54\\x45\\x29\\x09\\x6e\\xea\\x16\\xbd\\xcb\\xcb\\xc8\\x64\\xd5\\xfc\\xc6\\xf4\\x3a\\x48\\x67\\x15\\xe9\\xe4\\x92\\x6a\\xef\\xf4\\xbe\\xb5\\x33\\xfa\\x2e\\x53\\xc4\\x8b\\xc3\\x75\\xc1\\xe8\\x70\\x8f\\xab\\xf2\\xbc\\x0a\\xf5\\xcd\\xcb\\x16\\x82\\xe5\\x8b\\xd3\\x0b\\x2c\\xce\\x2a\\x6a\\x16\\x3e\\x2f\\x3f\\x14\\x74\\xb7\\xd1\\x47\\xa0\\x9d\\xd7\\xa2\\x58\\xd9\\x80\\x1d\\x80\\x40\\x09\\x55\\x1a\\x75\\x5b\\x1e\\xc5\\xa4\\xe0\\x06\\xc3\\x0f\\x45\\xa0\\x71\\xa9\\xbd\\x03\\xf0\\x94\\x3a\\xc6\\xa7\\x30\\xa0\\x3a\\x20\\x21\\x82\\x67\\x80\\x81\\x68\\x44\\x67\\x82\\x20\\x70\\xa5\\x23\\x75\\x68\\x46\\x93\\xc1\\x0e\\x0c\\x69\\x6a\\xe0\\xe4\\x4f\\xe7\\x91\\xd5\\x3e\\xce\\x59\\xd1\\xa9\\x66\\x6a\\x5a\\x2a\\x7c\\x7c\\x25\\x78\\x70\\xe9\\xc2\\x12\\x1b\\xcf\\x56\\x0a\\x3f\\x01\\xc1\\x59\\xbb\\x7a\\x97\\xee\\xaf\\xda\\xd8\\x3f\\x73\\x15\\x2f\\x94\\x04\\xe6\\xbc\\x7a\\xd1\\x5f\\x67\\xb9\\x66\\xb9\\xe0\\xfe\\x1c\\x63\\x1f\\x92\\x9b\\x20\\xdd\\xd6\\x12\\x33\\x14\\xae\\xd2\\x24\\x10\\x82\\xdf\\x46\\xd7\\xa5\\x4d\\xb6\\x68\\xd4\\x3b\\xc3\\x8a\\x77\\x15\\x85\\x18\\xb4\\x11\\x76\\xfc\\xda\\x06\\x77\\x48\\x61\\x3c\\x8e\\x6f\\xa8\\x87\\x2e\\xb4\\xb3\\x76\\x68\\x02\\xee\\x29\\x22\\xa4\\xeb\\xa6\\x83\\x04\\xda\\x35\\x24\\x61\\xbc\\x69\\x11\\xe5\\xcc\\x68\\x13\\x5e\\xe0\\xc6\\x21\\xea\\xc8\\x4d\\x51\\xc1\\x6a\\x67\\x9d\\x9d\\x65\\xc1\\x45\\x36\\xf5\\xef\\xad\\x97\\xce\\x6a\\x6a\\x20\\x85\\x8a\\x0a\\xd7\\xda\\x72\\x49\\xf0\\x96\\x05\\xfb\\x66\\xc6\\xac\\x9c\\xb5\\x3f\\xee\\x3b\\xbd\\xb4\\x9f\\x97\\x66\\xdd\\xd6\\x5a\\xfb\\xdb\\x4a\\x10\\x0c\\xef\\x9a\\xf3\\x7a\\x7b\\x99\\xeb\\xb6\\x05\\x17\\xc1\\x67\\xb8\\xab\\xcb\\xfd\\xed\\xfd\\x9b\\xba\\x9f\\xd9\\xd7\\xb3\\x54\\xbb\\x7b\\xf8\\x33\\x75\\x01\\x3c\\xef\\x6a\\xa2\\x5a\\xb1\\x87\\x08\\x9f\\xb1\\xc4\\x48\\x50\\x90\\x7f\\xe5\\x94\\xfc\\x13\\x0c\\x41\\x0a\\x42\\xe3\\xd2\\x20\\x98\\x48\\x83\\x88\\xde\\x24\\x9c\\x46\\x60\\xa7\\xd0\\xa4\\xf7\\x86\\xa6\\xc6\\x86\\x6a\\xe8\\x05\\x35\\x65\\xcf\\x5d\\x44\\x21\\xb6\\x08\\x24\\x34\\xea\\x02\\xb3\\xa5\\x29\\xc1\\xd9\\x9d\\x76\\x53\\x28\\x1c\\x30\\x04\\x8d\\x02\\xe5\\xa3\\xa8\\xba\\xe6\\xd1\\xc3\\xd3\\xa7\\xa5\\x7c\\x02\\xc9\\x4b\\xe4\\x2d\\x91\\x24\\xf5\\xad\\x12\\x2f\\x65\\x5d\\xb4\\xb4\\xfb\\xe0\\x03\\xbb\\xc3\\xa5\\x0e\\x03\\xef\\xe4\\x68\\x9b\\x60\\x69\\xbd\\xed\\xc5\\xef\\x2c\\xdb\\xd1\\xba\\x72\\xcd\\xcc\\x61\\x87\\xe4\\xe4\\xe2\\x61\\x2d\\x66\\xb0\\x76\\xec\\xcf\\x34\\x0b\\x71\\x51\\x49\\xcc\\x26\\xa6\\x2b\\x7c\\xdd\\x74\\xd1\\x18\\x20\\x08\\xe3\\xf4\\x30\\x3d\\x67\\xee\\xcc\\x99\\xe5\\x8e\\x66\\x28\\x21\\x1f\\x22\\x83\\xe5\\x41\\x8d\\x5a\\xca\\xb1\\x18\\xc9\\x95\\x63\\x15\\x5f\\x94\\x60\\x71\\xa1\\x81\\xc2\\x72\\x14\\x06\\x44\\x13\\x2d\\x1a\\x28\\x88\\x77\\x82\\x00\\xc3\\x22\\xe2\\xdf\\x15\\x5c\\x68\\xc0\\x17\\xfa\\xb5\\x44\\x3d\\x1e\\xed\\x45\\xb3\\xae\\x6a\\x5f\\xcc\\xc1\\x39\\x6a\\x78\\x9e\\x97\\x28\\x9b\\xe0\\x2a\\x4f\\x8f\\xa6\\x6b\\x5a\\x5c\\x11\\xce\\x65\\x97\\xc8\\x13\\x33\\x47\\x07\\xec\\x02\\x23\\x4d\\x5f\\xe0\\x72\\x53\\x61\\x52\\xea\\xe8\\x16\\x58\\x2b\\xb5\\xde\\x6f\\x0b\\xcf\\x5d\\x78\\xf3\\x8b\\xb7\\x27\\xca\\x38\\xd1\\x6f\\x31\\xd0\\x12\\x97\\x1e\\x39\\xeb\\x81\\x83\\xc1\\xae\\xe1\\x8a\\x8d\\x4b\\x2a\\xe7\\x57\\xf2\\x10\\xdc\\x25\\xea\\x7a\\x26\\xd4\\x39\\xa2\\xbe\\x52\\x57\\x59\\x11\\x91\\xec\\xca\\xda\\x0f\\xe7\\xb7\\x75\\x54\\x1a\\xb3\\x77\\x47\\x9f\\x82\\x1d\\xf0\\x0c\\x02\\x44\\xf4\\x11\\x03\\xe1\\x20\\x82\\x21\\x8f\\x4d\\x43\\x9c\\x07\\x82\\x4b\\x23\\x06\\xe9\\xc8\\x67\\xcc\\xc6\\x5c\\xda\\x35\\x89\\x53\\xa3\\xb2\\x1c\\x6f\\xb4\\xa1\\xa9\\x64\\x60\\x87\\xbb\\xd3\\x66\\x65\\x2d\\x81\\x44\\x4b\\x65\\xba\\xdc\\xeb\\x4c\\xb6\\xac\\x9f\\x3e\\xe0\\xf6\\x37\\xc0\\xdd\\x3f\\xdd\\x90\\x72\\x66\\x16\\xce\\xdd\\xc1\\x0b\\xa5\\xf5\\xa7\\xe1\\x75\\xd7\\x8f\\x7d\\x44\\x1a\\x31\\xdd\\x24\\x15\\x9b\\xdf\\x16\\xb5\\x21\\xaa\\x71\\x45\\x0c\\x15\\x86\\x47\\xc1\\x7a\\xb8\\x7a\\x45\\xee\\xb0\\xab\\x73\\x12\\x5b\\x0b\\xd3\\xc4\\xb5\\x46\\x75\\xe8\\xac\\x0d\\x68\\x37\\xb9\\xa3\\x9e\\x0e\\x9a\\x4a\\x72\\x27\\x8d\\x76\\x44\\x1a\\xed\\x46\\x93\\x5d\\x0c\\xf8\\xab\\x24\\x0e\\x4a\\x97\\x6d\\x4e\\x8e\\x09\\x18\\x8d\\xee\\x74\\xea\\x05\\x29\\x61\\x97\\x6a\\x2f\\x98\\xd3\\x4d\\xfd\\x34\\xa1\\xd8\\xa5\\xfa\\xed\\x33\\x9a\\x9f\\x7e\\xa6\\xb6\\x26\\x2e\\x75\\x38\\x84\\x81\\xbd\\x8d\\xa7\\x9f\\x3e\\x77\\xf1\\xca\\xc1\\xfa\\xeb\\xab\\xe6\\xd5\\xda\\x85\\x78\\x06\\xef\\xf7\\x2a\\x48\\x2b\\x49\\x78\\x4e\\xd3\\x89\\x06\\xc5\\xde\\x56\\x61\\x70\\x78\\x1d\\xf1\\x8a\\x2a\\x46\\xe9\\xa8\\xb5\\x20\\x2a\\x21\\xdc\\x11\\xb7\\x46\\x25\\x91\\x02\\x2a\\x29\\xa4\\xf6\\xdc\\x9e\\x0b\\xc9\\x3c\\x9a\\xd7\\xb1\\x88\\xca\\x83\\x05\\x64\\xa4\\xfd\\x28\\x4b\\x44\\xe0\\x5b\\x4d\\x71\\xab\\x25\\xd2\\x93\\xb6\\xd3\\x3c\\xc3\\x28\\xdd\\x1d\\x75\\xed\\x95\\x82\\xc9\\x99\\x22\\xdf\\x88\\x79\\x1c\\xf5\\xe1\\xf0\\xb6\\x28\\x6b\\xb6\\xba\\xc4\\x58\\x8a\\xea\\xef\\xdc\\xb2\\xa2\\xed\\x8a\\xbd\\x5d\\x4b\\xcb\\x7a\\x9c\\x5c\\xd3\\xf6\\x63\\xcf\\xf6\\xed\\x59\\x38\\xbc\\x50\\x39\\xdf\\xc9\\x25\\xc3\\xf1\\x07\\x63\\xd6\\xf8\\xd2\\xd9\\xbf\\xfb\\xdd\\xa2\\xe9\\x83\\x56\\x93\\xa5\\xb2\\x7c\\xe3\\x0b\\xbf\\x09\\x37\\x0c\\x20\\x7d\\x0a\\xb1\\x42\\xaf\\x87\\xf8\\x68\\x25\\x36\\x28\\x25\\xe9\\xfa\\x4a\\x22\\x6e\\x76\\x98\\xeb\\x09\\x7a\\x5a\\x1b\\x97\\x96\\xd3\\xbd\\xe9\\xe1\\xf4\\x13\\xe9\\x17\\xd2\\xac\\x99\\x4e\\xa7\\x99\\xa6\\xa6\\x9a\\x47\\xc1\\x3a\\x08\\x6b\\x13\\x18\\x79\\xc8\\x56\\xe2\\x29\\x81\\x3a\\x77\\xbd\\x4e\\x31\\x0c\\x9a\\x52\\x01\\x5f\\x33\\x58\\xb4\\xe6\\x27\\x25\\xe5\\x4a\\x1f\\xc6\\xb1\\x8d\\x1d\\x50\\x11\\xd4\\x6a\\x1f\\x01\\x99\\xe7\\x79\\x88\\x3d\\xb1\\x10\\xd9\\x6e\\x09\\x0b\\x64\\x3c\\xec\\x3b\\xc1\\xe3\\x6e\\x25\\xf4\\x7a\\x67\\xf9\\xf2\\x51\\x3f\\x17\\x4e\\x04\\xe4\\xee\\xc6\\x6a\\xd9\\x4d\\xa7\\x7b\\x2e\\xe5\\x4c\\x2c\\xed\\x97\\x7c\\x72\\x24\\x56\\x49\\x2a\\x55\\x15\\x4b\\xe6\\x74\\xaf\\x9f\\x76\\xda\\xc0\\xb7\\x36\\xb6\\x6f\\x9b\\x49\\xde\\xdf\\x7b\\xd9\\x21\\xf5\\xf7\\x33\\x77\\x5d\\x79\\xf7\\xc6\\x55\\x97\\xcf\\x9d\\xb1\\xb2\\x7d\\x89\\x43\\x2c\\xd9\\x5f\\x3a\\x8f\\x09\\x95\\xed\\x6a\\x5d\\xfa\\xe0\\x45\\xa7\\x7f\\x6f\\xe5\\xe0\\x96\\x8d\\xdf\\x90\\x41\\xe4\\xb5\\xed\\xc7\\x31\\xce\\xd3\\xe0\\x35\\xf0\\x20\\xfd\\x20\\xb4\\x95\\x4b\\x15\\xb3\\x9d\\x20\\xdc\\x31\\xa6\\x34\\x14\\xe2\\x35\\x3c\\x87\\x34\\x3c\\x23\\x81\\x9c\\x4d\\x27\\xc7\\x2c\\x8d\\x54\\x63\\x93\\xa6\\x3d\\xc6\\x71\\x48\\x88\\x04\\x0f\\x96\\x0d\\x9f\\xc5\\xd3\\xa6\\x12\\x73\\xfb\\x99\\x42\\x55\\xab\\x3d\\xad\\x54\\x04\\xdc\\xd1\\x25\\x89\\x8e\\x0a\\x0f\\xb5\\x7a\\xed\\xee\\x55\\x33\\xd9\\x6a\\x8e\\x65\\xa3\\x9b\\x5b\\xe3\\x65\\x8e\\x95\\xab\\x66\\xaf\\x74\\x08\\x25\\xe6\\xf4\\x46\\xfd\\x4e\\xee\\x1c\\xaa\\x07\\xd2\\x5f\\x98\\x88\\x1f\\x35\\x87\\xc3\\x7c\\x49\\x84\\x7d\\x1c\\xac\\x81\\xea\\x8e\\xc3\\xbb\\xf1\\x67\\x4d\\x9c\\x7c\\x72\\xbb\\x8b\\xe5\\x00\\x9b\\x65\\xd6\\x42\\x45\\x86\\x84\\x10\\x54\\x0a\\x54\\x8f\\xd5\\x1b\\xf0\\x59\\xad\\xac\\x35\\x54\\x36\\xfa\\x59\\x65\\xba\\x4c\\x94\\x04\\x1f\\xe9\\x9a\\x37\\xdd\\xab\\xfe\\xd5\\x59\\xe2\\xf2\\x7a\\x1c\\x5e\\x7a\\x76\\xba\\x86\\xcf\\x2c\\xec\\xda\\xce\\x0b\\x16\\xaf\\xbb\\x01\\xf5\\x94\\x0e\\x42\\xfd\\x7a\\x21\\xa4\\x93\\x10\\x51\\xa7\\x98\\x4d\\x04\\xe5\\x20\\xa8\\xb0\\xec\\xb5\\xe9\\x56\\x97\\x17\\x6e\\x03\\x45\\x63\\xd0\\x6b\\x2a\\x4f\\x01\\x39\\x06\\x76\\x40\\x35\\x15\\xa9\\xd3\\x50\\x59\\x28\\x17\\xb1\\x6e\\xa5\\x2e\\xbc\\x63\\x74\\xda\\x3c\\xf0\\xc3\\x81\\x33\\xea\\xd6\\x6f\\x51\\x2f\\x9e\\xde\\xe1\\x92\\x6d\\x6e\\xa8\\x56\\x97\\x2c\\x9b\\x1d\\x23\\x2f\\x51\\xb7\\x7c\\x02\\x82\\x9d\\xdf\\x3c\\xeb\\x92\\x0b\\x96\\x2d\\xaa\\xc8\\x34\\x40\\xb5\\x5a\\x75\\xf1\\x0b\\xfa\\x1d\\xc3\\xd8\\x3b\\xd4\\x69\\xec\\xf5\\xc4\\x2c\\x68\\x0b\\xda\\x9c\\x16\\x2f\\x31\\xad\\xa4\\xc4\\x42\\x50\\x73\\x66\\x57\\xcf\\x30\\x81\\x21\\xa8\\x49\\xa1\\xf6\\x81\\xf8\\x42\\x9b\\xea\\xc8\\x9e\\x53\\xc7\\x04\\x3a\\x34\\xe0\\xb9\\xa1\\x39\\xce\\x83\\x38\\x44\\x82\\x05\\x1f\\x1d\\xc6\\x29\\xe2\\xc5\\xac\\x19\\x94\\xb5\\x92\\xf0\\x47\\xb4\\xcd\\x9f\\xe6\\x59\\xbc\\xfe\\x96\\xd9\\x3e\\xae\\x31\\x59\\xde\\xb8\\x6e\\x5b\\xf7\\x52\\x7e\\x83\\x98\\x5e\\xae\\x8e\\xd4\\x54\\xb9\\x62\\xe6\\xea\\x80\\xd7\\x57\\x61\\x93\\xf8\\xd8\\xb2\\xf2\\x64\\x6d\\x32\\xd1\\x00\\x5e\\x68\\xe8\\xf0\\x3b\\x29\\xff\\xa5\\x3b\\x46\\x66\\x8e\\x74\\x34\\xc9\\xf6\\x32\\x2e\\x55\\x5f\\x9f\\x5a\\x76\\xc3\\xfc\\xea\\x26\\x67\\xfb\\x25\\xa5\\xeb\\x7c\\xad\\x97\\x6c\\x5d\\xdc\\x27\\x7a\\x65\\xde\\xdc\\xd6\\x19\\x69\\x4b\\xb9\\xac\\xa2\\xd1\\x15\\x08\\xb8\\xda\\x17\\xad\\x6e\\x69\\x89\\x55\\xac\\xd6\\xe6\\xc3\\xed\\x83\\x3c\\x3b\\x04\\xe9\\xd3\\x47\\x24\\x88\\x36\\xc5\\xee\\x27\\x62\\x14\\x65\\x25\\xa8\\x64\\x59\\xd8\\x24\\x9a\\x74\\x8c\\x88\\x18\\x23\\xb1\\xf1\\x18\\x19\\xa7\\x89\\xa9\\x08\\x85\\xc4\\x67\\x4e\\x1c\\x65\\x51\\x62\\xc0\\xf0\\x63\\xd1\\x15\\x69\\xa4\\x87\\x1c\\x27\\xd7\\x92\\x82\\x52\\x11\\xad\\x9b\\x56\\x23\\x39\\x2c\\x49\\xb2\\x61\\xcd\\xa2\\xb4\\x74\\x6e\\x64\\xc6\\x12\\x75\\xcb\\xbc\\x2a\\x33\\x79\\xa7\\x9b\\xbc\\xf3\\x2d\\x55\\x01\\xef\\xdc\\xbd\\x68\\x49\\xd9\\xfa\\xfe\\xd9\\xc3\\xac\\x51\\x0a\\xd7\\xac\\x7f\\xf8\\xf3\\xad\\x17\\x37\\xcf\\x59\\xdb\\x73\\xef\\x4d\\xeb\\x34\\x9d\\x53\\x3d\\xf6\\x05\\xbd\\x04\\xd2\\x50\\x23\\xb1\\x44\\x71\\x5a\\x09\\x07\\x94\\x9d\\x34\\x41\\x37\\x37\\x79\\xab\\xe9\\xfa\\x7a\\x3b\\xdc\\x38\\x92\\x2d\\xf5\\x60\\x84\\x28\\x83\\x58\\x5b\\x8f\\x8d\\xf9\\xe1\\x87\\x5c\\x34\\xcd\\x68\\x9c\\x47\\x17\\x58\\x6d\\x59\\xa3\\xa8\\xa5\\x08\\x1c\\x52\\x23\\x33\\xaa\\x01\\x65\\xeb\\xb8\\x58\\x6c\\x0f\\xf1\\x4d\\xb8\\xe7\\x69\\x56\\xc6\\x68\\x2a\\xcb\\xe0\\x92\\x10\\x9a\\xd3\\x75\\x3c\\xbd\\x24\\x1e\\x1e\\x7d\\xa8\\x05\\x9c\\x5d\\x12\\xf2\\x0b\\x36\\xf5\\x27\\x6a\\x3b\\xe7\\xae\\x8d\\xae\\x1c\\xa0\\xeb\\x16\\x35\\xb4\\xc6\\x3d\\xbe\\x54\\x65\\x57\\x3f\\x4d\\x9f\\xb1\\xd0\\x3c\\xaf\\xf4\\x85\\x77\\x48\\xe2\\x52\\xf5\\xe3\\x8d\\x40\\xb6\\xc6\\x5b\\x57\\x94\\x81\\x05\\x27\\x5f\\xf0\\x89\\xa9\\x0f\\xc0\\x25\\x7b\\xd9\\x40\\xa4\\x84\\x1a\\xea\\x6b\\x58\\x10\\x89\\xcf\\x6c\\x9d\\x13\\xb4\\x0e\\x9f\\x9e\\x36\\xeb\\xb3\\xa9\\x1a\\xd4\\xd3\\xc1\\x7e\\x08\\x73\\x25\\xd4\\x77\\x26\\x91\\x89\\x30\\x04\\x55\\x5d\\x65\\x7d\\x1c\\x9c\\x4e\\x24\\x75\\xd2\\x4c\\x16\\xb0\\x70\\x56\\xdf\\x41\\x0e\\x86\\x96\\x82\\xc6\\xc8\\x28\\x67\\xb1\\x1d\\x08\\x1a\\x69\\xa2\\x6c\\xcc\\x22\\x71\\x09\\xd5\\xef\\x7e\\x29\\x16\\x70\\x79\\x2a\\xab\\xbd\\x66\\x23\\x6d\\x24\\x49\\xb3\\x93\\x83\\x76\\x7f\\x53\\x67\\x4a\\x72\\x91\\x89\\xcb\\x67\\x54\\x50\\x8f\\xa5\\xda\\x16\\xb4\\x6e\\x3c\\xb9\\x9b\\x97\\x03\\xb2\\x60\\x29\\x59\\xbc\\x75\\x64\\x04\\x0c\\x7d\\xed\\x92\\x59\\xbe\\x60\\xb5\\x2b\\x72\\xd6\\xe2\\xd6\\x8d\\xbc\\x18\\xae\\x48\\xc3\\xbd\\xf2\\x90\\xb8\\xa2\\x50\\xd6\\x54\\x10\\x69\\xc5\\x62\\x2f\\xa3\\x3d\\x65\\x04\\x5d\\x55\\x19\\x76\\xeb\\x24\\x15\\x46\\x86\\x01\\x14\\xf0\\x79\\x5c\\x14\\x33\\x39\\x34\\x81\\xd0\\xf1\\xeb\\x33\\x4e\\x9b\\xb4\\xba\\xcd\\x42\\x8b\\x14\\x6b\\x41\\xc4\\x42\\x6e\\x32\\xea\\xf7\\xa9\\xa5\\x5d\\x90\\xbe\\xac\\x52\\x10\\x2a\\xe9\\x0a\\xbf\\xbc\\xa3\\xcc\\xe5\\xf1\\x27\\xba\\x97\\xb5\\x18\\xeb\\x82\\xd5\\x7e\\xc0\\xbb\\x6f\\x5f\\x05\\x82\\x16\\x8b\\x29\\xd5\\xa2\\x84\\x3d\\xc3\\xc3\\xe5\\xb1\\xea\\x3b\\x67\\xef\\x0e\\x79\\xf9\\x64\\x63\\x20\\xf1\\xe7\\x6d\\x4b\\xd7\\x64\\xd2\\x98\\x17\\x56\\x8f\\x7d\\x48\\x57\\x42\\x5e\\x08\\x10\\x29\\x64\\xf9\\xc7\\xdd\\x41\\x8e\\x70\\x73\\x54\\x65\\x85\\x90\\xd4\\x74\\x95\\x00\\xb5\\x74\\xd4\\x67\\xf2\\x69\\x34\\x64\\xca\\x6b\\xe9\\x42\\xcb\\x5f\\x28\\x12\\x48\\xa2\\x8b\\xcc\\x0a\\x03\\x34\\x3c\\x15\\x82\\xa3\\xf1\\x02\\x0a\\xb9\\xae\\x16\\x4b\\x39\\x7f\\x92\\x8c\\x77\\x2f\\xe9\\x2b\\x3f\\xf7\\xf5\\x5b\\xde\\xf9\\x9f\\x05\\x33\\xda\\xeb\\x1a\\xa8\\x7e\\x4f\\x7a\\x76\\xb7\\x7a\\x64\\xd6\\xc2\\xfb\\xef\\x3e\\xfc\\x18\\x6d\\xaf\\x98\\x57\\x6d\\x97\\xc2\\x8d\\x77\\xff\\x68\\xd3\\x2f\\xd5\\xff\\xbe\\x7e\\xf4\\x93\\x5d\\x0f\\x76\\x2d\\x57\\x0f\\x74\\xac\\xec\\x0a\\x34\\x5f\\xd7\\x7b\\xe3\\x4d\\xf7\\x6a\\xfc\\x80\\xfa\\x67\\xd9\\xe1\\x79\\x0f\\x10\\xf3\\x14\\xd7\\x2c\\xba\\x8d\\x6f\\x94\\x6c\\x21\\x09\\xea\\x09\\x76\\x70\\x45\\xfd\\x02\\x5f\\xc2\\x07\\x3d\\xbc\\x07\\x33\\xcb\\x12\\xc7\\x20\\x1b\\x4c\\xb7\\xdb\\xec\\x8f\\xe6\\x5c\\x83\\xa2\\xfc\\xb5\\x49\\x0c\\x52\\x3c\\x54\\x16\\xb9\\x06\\xb9\\x91\\xc6\\x4d\\x25\\x59\\x19\\xa6\\x2b\\x25\\x2d\\xbf\\x4a\\x4f\\x88\\x71\\x6b\\x16\\x6c\\xa4\\x0e\\x8f\\x87\\xcd\\xa2\\xae\\xc8\\xcc\\xa3\\xed\\xf1\\x46\\xa7\\xe8\\x2c\\xf5\\x9e\\xbc\\x7c\\xfe\\xfd\\x8c\\xa9\\xa4\\xbc\\xc4\\x1b\\x50\\x1a\\x82\\x52\\xcc\\x2e\\x35\\xcd\\x69\\xab\\xf2\\x38\\x4c\\x26\\x13\\x1d\\x77\\x54\\x4a\\x1d\\xd3\\xa5\\x26\\xb0\\xdf\\xe3\\xe8\\xf1\\x84\\xa3\\xb1\\x96\\xfa\\x84\\xd7\\x95\\x9c\\x3f\\x6b\\x1e\\xcd\\x4e\\xbf\\xfc\\x67\\xd7\\x57\\xf6\\x29\\x75\\x5c\\xfd\\x25\\x2d\\x10\\xb3\\x0d\\xbe\\xc4\\x92\\x15\\x6b\\x5b\\xca\\x66\\x56\\x85\\x66\\xb6\\x27\\x67\\x24\\x1d\\x8e\\xa4\\xbf\\xa3\\x35\\xdd\\xc0\\x32\\x86\\x76\\x47\\xdb\\x45\\xdb\\x16\\xb8\\x1a\\x97\\x39\\xbc\\x2b\\x1a\\x37\\xfc\\xaa\\xdd\\xee\\x0a\\xce\\x9a\\xdb\\x71\\x26\\xf4\\x42\\x1a\\xf1\\xb9\\x75\\x41\\x9d\\x78\\x29\\x3c\\xb7\\x69\\x84\\x02\\x6d\\x48\\x47\\xb4\\xa5\\x85\\x4a\\x3a\\xe8\\xe9\\xed\\xb1\\x5a\\x78\\x60\\x47\\x32\\xb1\\x98\\x55\\x3a\\x06\\xd6\\x3c\\x14\\x26\\xac\\xc4\\xa3\\x05\\x81\\x00\\xa7\\x36\\x12\\xb0\\xba\\x08\\xf1\\xc5\\xea\\xd1\\x2d\\x3a\\xc7\\xa9\\x4f\\x84\\xf7\\xb4\\xa4\\x87\\x24\\x74\\x4b\\x24\\x4b\\x1c\\x87\\x75\\xe5\\x09\\x3e\\x39\\x77\\x21\\xd2\\xa9\\x16\\x1b\\xd2\\xa9\\xea\\x1d\\xb5\\x73\\x6a\\x3b\\x9b\\x67\\x57\\x85\\xbd\\xb1\\xa6\\xba\\x46\\x96\\x71\\x05\\xc3\\x0b\\xe6\\x52\\x4b\\x32\\x0b\\x67\\x9d\\x8f\\xf4\\x69\\xf7\\xd6\\x2f\\x5b\\x0a\\xf5\\xac\\x7f\\x45\\x49\\x98\\x9c\\x3d\\x7d\\xf0\\x32\\x6f\\x55\\x45\\xb8\\x3c\\xb0\\x2a\\x73\\xe6\\xe1\\x19\\x1a\\x7d\\xb4\\x43\\x9d\\xfb\\x21\\x94\\x1d\\x2d\\xc4\\x72\\x85\\x77\\xc4\\xa1\\xd6\\x8d\\x57\\xb8\\x09\\xa6\\xad\\xd5\\x1b\\xa5\\x04\\x21\\xa4\\xf9\\xff\\x82\\x40\\xd5\\xdb\\x92\\xf5\\x49\\x9d\\x49\\xeb\\x27\\xd7\\xc4\\xf9\\xda\\x8a\\x71\\x32\\xb3\\x48\\x33\\x4f\\x0d\\x6c\\x4e\\x45\\xe4\\x94\\xf6\\x87\\x77\\x9c\\x7c\\x7f\\x3e\\x49\\xac\\xc0\\x4a\\xfb\\xb7\\x25\\x65\\x08\\xe4\\x6a\\x19\\x81\\x5c\\x6f\\xa2\\x5d\\xa1\\xf0\\x59\\x41\\xe8\\x0c\\x88\\x52\\x25\\x78\\x5d\\xd7\\xe3\\x5b\\xff\\x09\\x82\\x33\\xaf\\x81\\x7a\\x5c\\x68\\x74\\x46\\x20\\xc0\\x2b\\x2e\\xf3\\x54\\x55\\x04\\x2b\\x82\\xa7\\x9f\\x76\\x70\\xcb\\xca\\xee\\x99\\x3b\\xb2\\x9a\\x1d\\xfa\\x08\\xea\\x2e\\x5a\\x86\\x70\\x2f\\x24\\x66\\x2a\\x7c\\xbb\\xa9\\x95\\xf7\\xa5\\xc3\\x89\\xb0\\x8f\\x30\\x31\\xbd\\x3d\\xad\\xf3\\x10\\x6e\\x8f\\x56\\xcf\\x33\\x45\\xdb\\xe7\\xb5\\x6b\\x3e\\xc3\\xbc\\x2c\\x7a\\x51\\x16\\x7b\\x47\\x41\\xaf\\x89\\x82\\xb2\\x5a\\x4c\\xe8\\x06\\x3b\\x1d\\x44\\x62\\x4a\\xc7\\x6f\\xa3\\xa6\\x1a\\xf4\\x89\\xcc\\x78\\x74\\x3b\\x0e\\x81\\x60\\xbd\\xd7\\x48\\x34\\x15\\xd0\\x06\\xe6\\x18\\x5a\\x76\\x99\\x18\\x23\\x63\\x36\\x5b\\x82\\xa9\\x65\\x2f\\xdd\\xb6\\x25\\xe6\\xf4\\x55\\x71\\x36\\xa3\\x3f\\x19\\xf3\\x95\\x95\\xd7\\xba\\x6b\\xbd\\x82\\x3d\\x5a\\x3b\\xbd\\xdb\\xd3\\x59\\x6b\\x5c\\x00\\x6a\\x77\\xa5\\xa7\\x37\\x89\\x7c\\x44\\xee\\xa9\\xaf\\xf6\\x51\\x7f\\x28\\x5f\\x68\\xa4\\x58\\x36\\xd9\\xf3\\xdf\\x47\\x1f\\xda\\x7f\\xd5\\x2f\\x24\\x97\\x23\\x62\\xf7\\x92\\xea\\x9a\\x5b\\x96\\xf7\\x8a\\x82\\xc0\\xd0\\x72\\xdd\\xf4\\xfa\\x75\\x6e\\xc1\\x0b\\x28\\x72\\x5e\\x73\\xcd\\x9c\\x2b\\x1e\\x5e\\x5c\\xb6\\xe6\\x3c\\xd0\\x7f\\xc6\\xcc\\x69\\x6d\\x3b\\xec\\x0e\\x89\\xf7\\xb7\\xc1\\x73\\xa9\\x85\\xf4\\xf0\\x0e\\xa4\\xfb\\x05\\xc4\\x1a\\xc5\\x63\\x69\\x71\\x8a\\xf6\\x36\\x43\\x83\\xdf\\x59\\xea\\xb7\\x13\\x06\\xb6\\x67\\x21\\xfc\\xce\\xbc\\xca\\x88\\x76\\x24\\x95\\x50\\x64\\x18\\xa6\\xcd\\x9b\\x96\\x3b\\xa0\\x87\\xec\\xbc\\x53\\xb7\\x60\\x9d\\x85\\xd1\\x8f\\x9c\\x91\\x5e\\x98\\x35\\xc7\\xe3\\x72\\xae\\xbc\\x21\\x6e\\x60\\x90\\xe8\\x46\\x84\\x02\\x6d\\xa1\\x18\\x12\\x24\\x1d\\x00\\x51\\x47\\xd1\\xf9\\xe8\\xd2\\x3d\\x04\\xa4\\xc6\\x22\\x83\\x02\\xff\\x8c\\x7a\\x87\\x37\\x9a\\xac\\x86\\x40\\x78\\x68\\xa0\\x19\\x58\\xa7\\x75\\x9d\\xfc\\x43\\x17\\x78\\x4d\\x10\\xd5\\x0f\\xd6\\x56\\x89\\x74\\x49\\x73\\x45\\x5b\\xa5\\xe4\\xb0\\x4a\\xd5\\xb3\\x67\\x39\\x9c\\xa1\\x39\\x17\\x0d\\x5e\\x1b\\x2a\\x2b\\xaf\\x12\\x59\\x8b\\x18\\x6e\\x9b\\xdf\\x42\\xa9\\x81\\x73\\xad\\xd6\\x4d\\x37\\xec\\xfc\\x6d\\x55\\xc4\\xf2\\x07\\xe0\\x35\\x1a\\xb8\\x67\\xba\\xdb\\xcb\\xcb\\x86\\x42\\x41\\x7e\\x64\\x56\\xc5\\x30\\x2f\\xda\\xf9\\x74\\x85\\xb7\\xa6\\x66\\x66\\x49\\xcb\\xcc\\xa1\\x63\\x3b\\xba\\x57\\x56\\x0f\\x98\\x8d\\x82\\x53\\x68\\x81\\xfa\\xe1\\x1c\\x75\\x17\\x3c\\xb3\\x23\\xd0\\xc3\\xed\\x80\\xbe\\xbe\\x33\\x11\\xa9\\x16\\x1d\\xc6\\x26\\x63\\x44\\xa4\\x67\\x28\\x36\\x5b\\x47\\x29\\xb4\\x14\\x57\\x43\\x9d\\xb6\\x06\\xfe\\xb8\\x61\\x9c\\xa5\\x38\\xd1\\xd7\\xc7\\x94\\xa3\\x11\\x0e\\xf2\\xdd\\x40\\x9d\\xee\\xf8\\x8f\\x37\\x21\\x35\\x4d\\x8d\\xd4\\x46\\x49\\x8e\\x69\\x80\\xc4\\x4b\\x11\\xaf\\xcb\\xee\\x6f\\xb0\\x1a\\x19\\xb2\\x72\\xb5\\xbf\\x84\\x0f\\x06\\x97\\x76\\xde\\x5b\\x67\\x6f\\x48\\x56\\xd4\\x6f\\xd9\\xdf\\x5a\\x97\\x6e\\xe2\\xa4\\x86\\x59\\x6a\\xe5\\x85\\x88\\x6d\\xd4\\x57\\x25\\xc9\\x19\\x0c\\x52\\xc7\\x45\\x87\\x33\\xca\\x9a\\xc0\\xa3\\x3d\\x3b\\xaf\\xdc\\xb6\\xbd\\xa2\\x6a\\x5a\\xe5\\xf9\\xb3\\x2b\\xa1\\xdd\\x58\\x59\\xd7\\x98\\x1c\\xb8\\x65\\x7d\\x3c\\x19\\x3c\\xbd\\x23\\x74\\x5a\\xcc\\x76\\x00\\x33\\x50\\xce\\xb7\\xc7\\x3e\\x83\\x0c\\x7d\\x06\\xbf\\xd3\\x49\\x45\\xc2\\xd2\\xe3\\x38\\x2c\\x4a\\x14\\x87\\x45\\x73\\x3e\\x83\\x30\\xc1\\x49\\x70\\xba\\x0a\\xa5\\xe0\\x05\\x85\\x5e\\x42\\x2c\\xeb\\x3c\\x20\\x91\\x96\\x73\\x11\\x4e\\x5e\\x59\\x1e\\x42\\x22\\x8d\\xfc\\x19\\x14\\x69\\x70\\x0f\\x3d\\x04\\xc1\\xa0\\x78\\xdc\\x20\\xb1\\x58\\xf1\\xce\\x27\\xa6\\x97\\x1b\\x67\\xc6\\x4b\\x2d\\xe5\\x0e\\x0b\\x11\\x67\\x86\\x56\\xda\\x22\\xe5\\x0b\\xe9\\xe9\\x0d\\xd3\\xa1\\x08\\x7b\\x28\\x93\\x91\\x1a\\x90\\x86\\x8b\\xcf\\x34\\xce\\xd4\\x08\\xd4\\x58\\xa0\\xe1\\x90\\x8a\\x93\\x26\\xe6\\x63\\x23\\xb3\\x1d\\x18\\x50\\x33\\x41\\x28\\x9b\\xf4\\xa8\\x24\\x94\\x5d\\xba\\xe8\\x4a\\x68\\x57\\xa4\\x02\\xc2\\x44\\x36\\xf9\\x33\\x04\\x64\\x80\\x7f\\x8a\\x7e\\x68\\x40\\xee\\xa7\\x8e\\xa6\\x5c\\x3f\\x7c\\xc8\\xfe\\x58\\x02\\x30\\xb7\\x91\\xcd\\x43\\xd3\\x17\\x37\\xee\\x1d\\xdd\\xd2\\xd3\\x29\\xb7\\x24\\x1b\\x24\\xfb\\xe0\\xc2\\x69\\x3c\\x9a\\x5f\\xe6\\x2a\\xf1\\x8f\\xa4\\xcf\\x3a\\xb7\\xb2\\xa6\\xa2\\xc9\\x6d\\x25\\x59\\x4f\\xa8\\xed\\x5c\\x97\\xc5\\xed\\x12\\x42\\x92\\xa7\\xe5\\x45\\xf0\\x4c\\xba\\x67\\x79\\xba\\xcd\\x19\\x68\\xa9\\x96\\xcb\\x6d\\x56\\x92\\x61\\x43\\x43\\xa9\\x7a\\xea\\x83\\x69\\x67\\x6f\\x5b\\xf0\\x9d\\x2b\\xd4\\x7b\\x40\\x00\\x6c\\xeb\\x3b\\x63\\xb6\\xb3\\xaf\\xa5\\x61\\x90\\x6f\\x6e\\x6e\\x4e\\x0f\\xd8\\x6c\\x4a\\xc7\\x1b\\xea\\x5f\\x36\\x3c\\xf3\\x87\\x21\\x63\\x77\\x7d\\xe3\\xd9\\xe6\\x60\\x00\\x7e\\xea\\xfc\\xca\\x15\\x76\\x5b\\xa2\\x7c\\x93\\x3a\\x78\\xc1\\xa3\\x5b\\x3b\\xfb\\x44\\x87\\xc0\\x7a\\x3a\\xaa\\xcb\\xba\\x52\\xc0\\xc8\\x07\\x58\\xa7\\x51\\xeb\\xd1\\x33\\xf6\\x01\\xdd\\x05\\xed\\x9e\\x66\\x62\\x9a\\x62\\x13\\x4a\\x2d\\x20\\x90\\x2a\\x05\\x74\\x6b\\x4b\\x20\\x78\\x0c\\x9c\\xf9\\x60\\x86\\x0d\\x1c\\x03\\xab\\x1e\\x72\\x94\\xa5\\xcb\\xb4\\x23\\x4d\\x17\\x44\\x27\\x52\\x45\\x59\\xd6\\x8e\\x6c\\x30\\x25\\xaf\\xef\\xb2\\xd6\\x80\\x90\\xae\\x6b\\xc0\\x87\\xd3\\x38\\x41\\xfc\\xd3\\x5d\\x51\\x61\\xba\\xcd\\xc9\\x4a\\xa1\\x19\\xbd\\xea\\xc5\\x2d\\x9d\\x95\\x5e\\x4f\\x53\\x50\\xfd\\xb0\\x7f\\x50\\x36\\x89\\xa1\\x99\\x8b\\xa6\\x4d\\x9b\\x5b\\xe1\\x76\\xc7\\xc8\\xbe\\xd5\\x7d\\x15\\x2e\\xb2\\x7d\\x87\\x7a\\x65\\xca\\x1d\\xb5\\x96\\x6d\\x02\\xcb\\xaf\\xbe\\x63\\x76\\xfd\\xde\\xb9\\xbd\\xe7\\x57\\x56\\xda\\xa3\\x3f\\x9a\\x09\\x64\\x5e\\x2c\\xdd\\xdc\\x3c\\x78\\x4b\\xef\\xf2\\xfe\\x19\\xe7\\x42\\x93\\xa9\\xfa\\x82\\x17\\xb5\\x18\\x1d\\xa2\\xe1\\xe5\\x38\\x3e\\xd5\\x42\\x34\\x2a\\xb6\\x58\\x4b\\xc0\\xe8\\xa8\\x34\\xb6\\xd0\\x6d\\xad\\x11\\x1a\\x81\\x56\\x6e\\xf3\\xd8\\x30\\xa4\\x0d\\x9e\\x63\\x08\\xb6\\xf4\\xc4\\xd0\\xcb\\xa9\\x83\\x56\\xff\\xdb\\x88\\x16\\xf8\\x83\\xbb\\xd3\\x6a\\xfb\\xea\\x28\\xd7\\xc9\\x1d\\x93\\x87\\xbe\\x20\\x4c\\x69\\x08\\xd3\\x08\\x86\\x49\\x81\\x58\\xe3\\x8c\\x81\\x60\\x2a\\x1d\\x4f\\x39\\x02\\x4c\\xe7\\x8c\\x12\\x0f\\xfd\\x63\\x48\\xf5\\x6d\\x90\\x0f\\x6a\\x20\\x64\\x8f\\xe6\\x22\\x71\\xd9\\xde\\x55\\x7c\\xcb\\x7f\\x0a\\x19\\xf3\\x95\\xe1\\x08\\x6a\\x04\\x82\\x62\\x35\\x98\\x7d\\xc9\\x56\\x08\\x8a\\xcf\\x81\\x40\\x51\\xfb\\xa7\\x0c\\x51\\x64\\xa1\\x4c\\x57\\xf0\\x39\\x80\\x2e\\x9e\\x3a\\x6a\\x41\\xa2\\xf8\\x09\\xa5\\xc5\\x4f\\xe6\\x42\\xcf\\x5c\\xac\\x2b\\x25\\xec\\x6e\\x93\\xbd\\xb5\\xb2\\x94\\x9d\\x97\\x64\\x98\\xae\\x50\\xa3\\x10\\x12\\x30\\xee\\x3a\\x43\\x79\\xdc\\xa1\\x1e\\x51\\x69\\x67\\x81\\x33\\xf7\\x55\\x50\\x7c\\x35\\x9c\\xa7\\x08\\xbb\\x90\\xc4\\xff\\x25\\x22\\xf3\\x15\\xb1\\x9a\\x76\\xf2\\x5a\\x70\\x07\\xbd\\x89\\x70\\x11\\xee\\xa3\\x66\\x82\\x80\\x6e\\x26\\x8f\\xe1\\x7b\\x3e\\x77\\x3d\\x08\\x6d\\x0b\\x52\\xdb\\x66\\x53\\x23\\x0f\\xb7\\x0d\\xb7\\x09\\xee\\xe0\\xce\\x5a\\xe5\\x75\\xcd\\x32\\x59\\x59\\xfb\\x55\\x1e\\xa3\\xd3\\x3d\\x18\\xa4\\x07\\x5d\\xd2\\x8b\\x87\\x22\\x36\\xa3\\xd1\\xec\\x07\\x0d\\x8a\\xd3\\x8d\\x66\\xd9\\x90\\xd7\\x92\\xcf\\xe3\\x67\\x27\\xf1\\x7d\\x9e\\x0c\\x17\\x90\\x53\\xe5\\x86\\x00\\x9f\\xd0\\xce\\xf0\\xf9\\xba\\xc2\\x99\\xde\\x93\\x2c\\xc4\\x4c\\xf2\\x3d\\xf2\\x79\\xe7\\xb6\\xa5\\x1e\\xa9\\xd3\\x64\\xb1\\x8b\\x3b\\x7c\\x46\\xc1\\x35\\x14\\x54\\x5f\\x98\\x64\\x3f\\x0e\\xff\\x7b\\xdf\\x96\\x6d\\x46\\x4b\\xa8\\x02\\x18\\x67\\xf3\\x50\\x3b\\x14\\xee\\x8f\\x17\\xe1\\xfe\\x1c\\xd0\\x97\\x89\\x50\\x0f\\x12\\x1c\\xf4\\x22\\xfb\\x95\\x72\\x1b\\x6f\\x75\\x58\\x0d\\x2c\\x63\\x77\\x72\\x0e\\x8e\\xa6\\x1d\\x06\\xca\\x25\\x38\\x71\\x7f\\x06\\xa7\\x93\\x64\\x38\\xab\\x81\\xe6\\x48\\xae\\x27\\x63\\x26\\x0b\\xa7\\x08\\xe1\\xd2\\xe5\\x9c\\x74\\xc2\\x55\\xcc\\xda\\x57\\x48\\xf1\\xb8\\x48\\x39\\xad\\xd7\\x2c\\x47\\x0c\\x02\\x15\\x01\\x5d\\xea\\xd3\\x73\\x41\\xf7\\xdf\\xc0\\xbc\\x79\\x6a\\xdd\\xc6\\xa5\\xea\\x23\\x7d\\xff\\xbe\\x1c\\xb0\\xd3\\xa6\\xb5\\xb8\\xa8\\x33\\x4e\\xde\\x2e\\xb4\\x4e\\xe3\\xdf\\x7b\\x97\\xdc\\xaf\\xde\\xae\\xf1\\x1e\\xfc\\xc3\\x7c\\x1d\\xe7\\xb6\\x27\\x88\\xbd\\x4a\\x9f\\xe4\\xf0\\x30\\xb4\\x99\\xe7\\x63\\x44\\x22\\x14\\x90\\xe5\\xd2\\xd2\\x80\\x8d\\xf6\\x30\\xc9\\xb2\\xd2\\x80\\x5c\\x22\\xf7\\x64\\x24\\x9f\\x8f\\xef\\xc9\\xf8\\x4a\\x12\\x21\\xb8\\x47\\x27\\x2e\\x5e\\x31\\xf7\\x9a\\x87\\xcd\\x5b\\xcc\\x8c\\x95\\x4a\\x98\\x13\\x66\\xb2\\x44\\x8c\\x6b\\x83\\xce\\x4d\\x3d\\x19\\x86\\xc4\\x15\\xd8\\x59\\x07\\xa3\\x45\\x1b\\x33\\x9a\\x2d\\x10\\x29\\xf2\\xd1\\xf0\\xc8\\xe1\\xba\\x7c\\xbd\\x2c\\xca\\x81\\xd7\\xaa\\x2b\\xd2\\x4d\\x69\\x67\\x34\\x81\\x46\\xf3\\xe3\\xe9\\x32\\x10\\xcc\\x86\\x88\\x5e\\x9b\\xed\\xa4\\xc8\\xf6\\x35\\xd4\\xa6\\x6e\\xb1\\xef\\x9a\\xce\\xbb\\xc5\\xee\\x6e\\xf1\\xee\\xa1\\xfe\\xb3\\x2a\\x93\\xdd\\xf6\\x93\\x07\\x2f\\x57\\x8f\\x5f\\x34\\xa4\\xde\\x77\\x2e\\x59\\xf7\\x25\\xb5\\xc8\\xdb\\xf9\\xef\\x6f\\x19\\xd4\\x1f\\x9d\\xa9\\xbe\\xb2\\x5e\\xbd\\x8f\\xa1\\x7e\\xa0\\x7e\\xd4\\xe9\\x79\\xed\\x35\\x3c\\xfc\\x21\\x0d\\x0e\\xaa\\x4b\\x50\\x4e\\xb5\\xde\\x6b\\x0b\\xfa\\xf8\\xad\\xc4\\x0c\\x34\\x4b\\xb1\\x5e\\x96\\x99\\xe9\\xcd\\x9e\\x0e\\xca\\x16\\xf7\\x4c\\xa7\\x98\\x99\\x9d\\x95\\x66\\xa7\\x79\\x51\\x26\\xd4\\x41\\x77\\xf4\\x66\\xea\\x53\\x84\\xcb\\x49\\xd3\\x84\\xdb\\xe6\\x74\\x94\\xb4\\x11\\x6d\\xbd\\x99\\x58\\x32\\x89\\x27\\x03\\x39\\xb3\\x02\\x57\\x2b\\x38\\x2f\\x18\\xbb\\x31\\x7e\\xaa\\x1a\\x53\\x12\\x47\\x6d\\x18\\xa0\\x35\\x04\\xbd\\x89\\x06\\xdc\\x2d\\x57\\xc2\\xa5\\x97\\x76\\xca\\x80\\x7d\\x6a\\x08\\x2e\\x1a\\xa2\\x94\\x60\\x41\\x09\\x9a\\xaa\\x1a\\x04\\x9a\\x5a\\x46\\x57\\xb3\\x51\\x97\\x1b\\xbc\\xfd\\xfc\\x71\\xd2\\x42\\x36\\x6f\\x5f\\x55\\x75\\x61\\x59\\xfd\\xbe\\x9e\\x2b\\xbe\\xdf\\xf0\\xad\\x67\\x41\\xa4\\x74\\xe6\\x99\\x97\\x3d\\x35\\x6b\\xee\\xe0\\xf2\\xc4\\x8c\\x23\\xb7\\xdf\\x39\\x7f\\x10\\x6c\\x6f\\x1e\\xaa\\x0c\\xc8\\xf3\\x57\\x2d\\x54\\x46\\x8f\\x2a\\xed\\x7f\\xaa\\x76\\xbd\\x72\\xbc\\xbf\\x61\\xfb\\xce\\x4e\\xde\\xb2\\xb0\\xa4\\xbc\\xa3\\xfd\\x42\\xf5\\x2f\\x33\\x47\\x66\\xa5\\xdc\\xcc\\xe5\\x99\\xc5\\xe9\\xf3\\xfe\\x58\\x3a\\x67\\x3e\\x35\\x12\\xf3\\xc5\\xaf\\xe8\\xaf\\xa7\\xc8\\xa1\\x0d\\x4b\\xfb\\x46\\x0d\\x97\\xec\\xbf\\x77\\x0f\\x81\\xf3\\xce\\x1b\\x20\\x2d\\xf3\\xb8\\xa7\\x7e\\x18\\x52\\xcb\\x1a\\xa5\\xc1\\x5d\\x1a\\x09\\x06\\x6d\\x26\\xe0\\xf1\\x10\\x14\\x55\\x6a\\xa2\\x92\\x65\\x09\\x5c\\x5c\\x16\\x00\\x16\\xab\\xa5\\x27\\x13\\x71\\x73\\x56\\xd9\\x4a\\x5a\\x29\\x28\\x54\\x1d\\x5c\\xd0\\x64\\x80\\x34\\x61\\x10\\x0b\\x3c\\x4e\\x48\\x0e\\xfa\\xb0\\xb3\\x82\\x03\\x2a\\xec\\x85\\x07\\xa2\\x48\\xe3\\xe2\\x26\\xdd\\x7a\\xb3\\x0a\\x6c\\x4e\\xa7\\x99\\x7a\\x4c\\x1a\\x75\\x8d\\x00\\x5d\\xca\\xa6\\x00\\xcd\\xaf\\x5d\\xfb\\x47\\x75\\x54\\x35\\xe2\\xd9\\x8c\\x7f\\xf8\\xe8\\xf8\\xb6\\x43\\xea\\x9b\\x43\\x1b\\xcf\\xde\\xb2\\xfa\\x2c\\xf5\\x97\\x2b\\xef\\xfa\\xfe\\x62\\xf0\\x48\\xf3\\x8e\\x6b\\x2f\\x80\\x08\\x5f\\x39\\x00\\x66\\x78\\x3a\\xb7\\x9d\\xfb\\xb5\\xa6\\xb1\\xbe\\xa5\\xea\\x77\\x4f\\x03\\xab\\xee\\xbd\\x0d\\xc9\\xa8\\xbe\\xb1\\x0f\\xa8\\xdf\\x42\\xfc\\xfb\\x88\\x2a\\x45\\x72\\x50\\x26\\x0f\\xe5\\xf1\\x07\\x58\\x5b\\x0f\\x2a\\xa7\\x91\\x08\\x42\\xe8\\xc9\\x20\\xf4\\x16\\x58\\x0a\\x59\\x91\\xa2\\x4d\\x79\\x8a\\xd4\\xc9\\x20\\x9a\\xc8\\x67\\xa0\\x41\\xdc\\x19\\x58\\xf2\\xcc\\x2f\\xd5\\x3f\\x01\\x07\\x30\\xdc\\xf0\\x4b\\x7a\\x91\\xb7\\xf7\\xbc\\x1b\\xae\\xbe\\xfe\\xf2\\xfe\\x4d\\x92\\x6f\\x31\\x7d\\xc8\\x05\\xc0\\x3b\\x9f\\xab\\xf5\\x9f\\xdd\\x95\\x7e\\xe6\\xa5\\x9f\\xbf\\x10\\x77\\xed\\xff\\xb8\\x53\\xe3\\xc7\\x86\\xb1\\x51\\x3a\\x01\\xcf\\xd8\\x08\\x4f\\xb9\\x49\\xf1\\x33\\x2e\\xc2\\xea\\xb2\\x7a\\xbc\\xb4\\x28\\x89\\x90\\xfd\\x38\\xe8\\x35\\xf3\\xae\\x9e\\x8c\\xd3\\xc1\\x23\\x01\\xa1\\x9d\\x5d\\x2e\\x7e\\x99\\x93\\x72\\xf8\\x74\\xa4\\xba\\x46\\x2a\\x8c\\x8e\\x2f\\x85\\x9a\\x18\\xa0\\xe2\\x3c\\x8a\\xfc\\xc6\\x8d\\x8d\\xbb\\xb6\\x8e\\xfc\\x11\\x58\\x4e\\xfe\\xe3\\xf3\\xda\\x0f\\xff\\x8a\\x9a\\xe4\\x3e\\xfd\\xf0\\xa8\\x89\\x3e\\x48\\xde\\xf7\\xde\\xfb\\x9f\\x7c\\x40\\xe9\\x3d\\x5d\\x0a\\xf6\\xc1\\x43\\x6b\\x79\\xa1\\x92\\x08\\x89\\xa2\\xc5\\x4b\\x59\\xa0\\xc9\\x1c\\xc4\\xcd\\x01\\x5d\\x36\\x3b\\x3c\\x9b\\x90\\xdd\\x6e\\xe2\\x39\\xb7\\x88\\xe7\\x51\\x1b\\x0d\\xa6\\xc2\\x3d\\x8d\\x1b\\xb6\\x59\\xd0\\xb9\\xa0\\x70\\x53\\x1a\\x56\\x41\\x14\\xed\\xb6\\x41\\x43\\x2a\\x19\\xce\\x6f\\x6f\\x78\\x98\\xac\\x7b\\x10\\xee\\x18\\xee\\xfb\\x41\\xea\\xa0\\xbe\\x45\\xd0\\x33\\x00\\xfa\\x3c\\x9d\\xa3\\x27\\xd5\\x87\\xe8\\x83\\x2f\\x3e\\xfd\\xb0\\x7a\\x18\\xc5\\x13\\x21\\x81\\xde\\x85\\x67\\xcb\\xac\\x51\\xda\\xbc\\x3e\\x03\\x6b\\x75\\xc1\\x33\\xe6\\x58\\x1f\\x1d\\x0a\\x5a\\x21\\xf6\\x10\\x25\\xf6\\x5a\\x87\\xad\\x5b\\xac\\x0c\\xa2\\x47\\x1a\\x15\\xb7\\x23\\x42\\x85\\x7f\\x45\\x1a\\x35\\x9b\\xa4\\x69\\xb2\\x27\\x43\\x73\\x1a\\x8e\\x73\\x75\\x3b\\x93\\x76\\x58\\xad\\xad\\xe9\\xd0\\xe6\\x5e\\x4f\\x21\\xa1\\x86\\x87\\xa9\\x5a\\x24\\x94\\xb6\\xbf\\x8c\\x84\\xd2\\xcb\\xd7\\xe9\\x42\\xe9\\x6e\\xed\\x74\\xc7\\xcb\\xa2\\x5c\\xcd\\x1a\\x9e\\xed\\x1c\\x27\\x96\\x28\\x55\\x51\\x37\\xc1\\x73\\x54\\xd0\\x44\\xb9\\x79\\x54\\xed\\xc5\\x0b\\x02\\xdf\\x9b\\x41\\xf5\\x1d\\x90\\x97\\x04\\x81\\x0d\\x86\\xc3\\x9e\\xde\\x4c\\xd8\\xc1\\x5a\\x17\\x41\\xf2\\x74\\x7f\\x75\\xb5\\x17\\x3c\\x74\\x3d\\xae\\xf5\\x15\\x23\\x9c\\xc9\\xea\\xa1\\xf3\\x4f\\xfc\\x65\\xf9\\xa1\\xe0\\x64\\x33\\x9b\\xc1\\x07\\xf6\\xf3\\x4e\\xbb\\xf1\\xc6\\x74\\x60\\xe2\\xa4\\x66\\x8d\\x76\\x43\\xaa\\x0c\\x37\\x78\\x90\\x30\\x11\\x22\\x51\\xab\\x78\\x1d\\x26\\x93\\xe4\\x16\\x6c\\x8b\\x33\\x82\\xc9\\xc4\\xf6\\x64\\x4c\\x22\\xa3\\x69\\x06\\xae\\x20\\x5a\\xed\\xf8\\x65\\x2a\\x6b\\x04\\x08\\xd9\\x16\\x9d\\x91\\xc2\\x86\\x5f\\x97\\x9e\\x09\\x3e\\x5c\\x3b\\xa2\\xee\\x06\\xa9\\x15\\x1d\\x4a\\x66\\xf9\\x0c\\x65\\x80\\xea\\xcf\\x4e\\x07\\x50\\x8f\\xcd\\x58\\x9e\\x51\\x3a\\x56\\xa0\\x79\\x31\\xcd\\x63\\x9f\\x90\\xef\\xc3\\xb5\\x05\\xa2\\x5c\\x81\\x0b\\x11\\x16\\xd1\\x65\\x84\\x74\\x6a\\x31\\xba\\xc7\\xaf\\x9a\\x2e\\x68\\x78\\xa4\\x2d\\x89\\x5a\\x33\\x34\\x64\\x0b\\xca\\xc0\\xf0\\x05\\x24\\xb3\\x41\\xbd\\xf9\\x86\\x05\\xdd\\xb2\\xa5\\x46\\xaa\\x9c\\x4e\\xf5\\x7b\\x67\\xcc\\xf0\\x8e\\xbe\\xa1\\x3e\\x25\\xbf\\x75\\x91\\xdd\\x35\\xb3\\x53\\x8b\\x5f\\x43\\x59\\xf8\\x30\\x5c\\xcf\\x4b\\x2c\\x52\\xca\\x0d\\xb4\\x91\\x92\\x48\\x34\\x99\\x80\\x23\\x29\\x9a\\xf6\\xfb\\x24\\x91\\xc4\\x6c\\xe2\\x36\\xda\\xbc\\x3c\\x67\\xa6\\x71\\x0b\\x4d\\x9b\\x88\\x84\\x5f\\xe1\\xb4\\xdd\\x49\\x5a\\x5f\\x6b\\xce\\x87\\x36\\x36\\x78\\xe2\\x18\\x6a\\x7a\\xfd\\xf5\\x50\\xa2\\x5c\\xb7\\x4e\\xbd\\x41\\x7d\\x64\\xde\\xf7\\x46\\x5f\\x87\\xfc\\x21\\xdd\\x02\\x2e\\xe9\\xa6\\x0e\\x76\\x7a\\xbe\\x50\\x49\\x4f\\x27\\x38\\xd0\\xae\\xfe\\xbd\\xa0\\x8c\\xf6\\x5e\\x90\\xd1\\x7a\\x08\\x20\\xfe\\xf8\\x01\\x96\\xdd\\xbd\\x4a\\x39\\x4f\\xb9\\x25\\x4a\\xf2\\x78\\xb5\\x01\\x86\\xb4\\x9d\\xe3\\x18\\x99\\xa9\\x66\\x28\\x13\\xc5\\x70\\x0c\\x07\\xcc\\x1c\\x4f\\x01\\x0a\\xee\\x1e\\x88\\x39\\x07\\x22\\xab\\xbe\\xf5\\x5d\\x17\\x48\\x1b\\x24\\x9d\\x1b\\x0c\\xd9\\x5d\\x8a\\x4d\\x70\\xa7\\x5a\\x77\\xfb\\x1b\\x4f\\xde\\x8d\\x39\\xd8\\x79\\xfd\\xc1\\x83\\x37\\xdf\\x36\\xa7\\xb9\\xbb\\xd3\\xf3\\x6e\\xd3\\xf6\\x46\\xb0\\x0f\\xed\\xec\\x8b\\x35\\x5b\\xd7\\xa8\\xdb\\xed\\x4f\\xe8\\xbd\\xa0\\x50\\x5f\\x52\\x9e\\xa5\\xfe\\x96\\xef\\xf1\\x87\\xdf\\xff\\x35\\xdf\\x7f\\x0d\\xf7\\xc1\\xd4\\x6a\\x23\\x87\\xe1\\xfb\\x13\\x58\\x56\\x57\\x2b\\x12\\x4f\\x59\\xb0\\xac\\xe6\\x45\\x11\\x6a\\x1e\\xd1\\x41\\x40\\x88\\x28\\x6d\\x48\\x1f\\x31\\x41\\x32\\x32\\xb8\\x01\\x52\\xb6\\x7b\\x22\\x2e\\xe3\\x6c\\x82\\x3a\\x97\\x16\\x5d\\x04\\x78\\xe6\\x91\\x43\\xf4\\x62\\x9f\\xb4\\xa9\\xff\\x8a\\xeb\\xae\\xba\\xf1\\xbc\\x5e\\xef\\x22\\xfa\\x97\\x37\\x00\\x16\\x38\\xd5\\x77\\x5d\\x9d\\x1f\\xef\\x77\\xc5\\x7f\\xf3\\xd4\\x4b\\xcf\\xa4\\xef\\xfa\\xac\\x5e\\xfd\\xfc\\x8f\\xaa\\x8a\\xe9\\x7d\\x21\\x11\\xa7\\xe3\\xd4\\x95\\x7a\\xcd\\x97\\x95\\x33\\x89\\xf0\\x04\\x3d\\x5e\\x9e\\xb5\\xa2\\x6c\\xfd\\xea\\x22\\x91\\x5c\\x97\\x0f\\x83\\x08\\x59\\x25\\x01\\xb7\\x40\\x36\\xa1\\x3e\\x75\\x5f\\x7c\\xf4\\xaf\\x4f\\xde\\xb8\\xef\\xee\\x77\\xfe\\xbc\\xff\\x01\\xea\\x4a\\xd4\\xd2\\xee\\xb5\\x37\\xde\\xfa\\xad\\xfa\\xfa\\x8c\\xbe\\x85\\xd3\\xda\\x17\\xf4\\x62\\xfc\\x2d\\x24\\x3c\\x70\\xad\\x5b\\x21\\xcc\\x25\\x8a\\xdd\\x23\\x98\\x08\\x1b\\x4b\\xb0\\xfe\\x80\\xc9\\xe3\\x40\\x09\\x62\\xb9\\xb5\\x78\\x68\\x46\\xa1\\xb0\\x3d\\x81\\xc6\\x66\\xba\\x38\\x80\\x93\\x01\\x74\\xb5\\x24\\x03\\x31\\x11\\x5f\\x38\\x51\\xf1\\x80\\xaf\\x7f\\x09\\x02\\xea\\x47\\xea\\xbf\\x27\\xaa\\x29\\x4d\\xef\\x3b\\x88\\x00\\xbd\\x9a\\xfa\\x26\\xe4\\xad\\x00\\xb4\\x13\\x5d\\x8f\\x48\\x72\\xd0\\x15\\xb4\\xba\\x48\\x7d\\x61\\x9c\\x4a\\xd8\\xa8\\x69\\x66\\x49\\x4c\\xe8\\x81\\x51\\x24\\xd5\\x0d\\x00\\x5b\\x2c\\x54\\x93\\x96\\x48\\xf5\\xb3\\x9d\\x80\\xfa\\xf7\\xc7\\x0d\\x9b\\x1f\\xd8\\x79\\x72\\xf4\\x93\\xba\\xad\\x64\\x75\\x7b\\x33\\xf8\\x5a\\x47\\xc7\\xdd\\xef\\xac\\x57\\xbf\\x3e\\xad\\xed\\x01\\xca\\xb5\\xf5\\xd5\\x37\\xaf\\x1b\\xee\\xfe\\xda\\x79\\x67\\xbf\\xf6\\xf6\\xde\\xa1\\x85\\x7b\\xd4\\x97\\x48\\xf5\\x24\\xd7\\x96\\x5e\\x38\\x4d\\x7d\\x8f\\x04\\x8c\\xbd\\xb9\\x06\\x9d\\x05\\x85\\xfb\\x7b\\x7c\\x0b\\xe2\\x3f\\x04\\xad\\xb5\\x7a\\x62\\x44\\x49\\xc7\\x3d\\x72\\x50\\x60\\x99\\x9a\\x5a\\x8a\\xb2\\xd5\\x78\\xe8\\xc6\\x06\\xb1\\xbc\\x17\\x92\\x02\\x5d\\xdb\\x9b\\x09\\x12\\x02\\x32\\xd4\\x6c\\x4e\\x64\\xbc\\x41\\x63\\xad\\x92\\xa8\\xec\\xcd\\xf8\\x73\\x43\\x1c\\xf3\\x62\\x13\\xd9\\x6a\\x85\\x17\\x37\\xce\\x34\\x1e\\x26\\x9b\\x37\\xd4\\xea\\xb5\\x04\\x31\\x6c\\xa9\\x49\\xb9\\x6c\\xbc\\x04\\x2b\\x20\\x5c\\xea\\xe9\\x51\\x25\\xac\\x66\\x9d\\x85\\x00\\x78\\xf0\\x99\\x1f\\x91\\x96\\xa6\\x1d\\x83\\xed\\x67\\x36\\x76\\x5f\\x38\\xfb\\x7f\\xce\\x1d\\xf9\\xcd\\xab\\xc7\\x5f\\x7e\\xfd\\xb1\\x91\\x91\\xcf\\x3a\\x16\\xd6\\x37\\x7b\\xbc\\xcd\\xe9\\x85\\x1d\\xea\\xc0\\x8c\\x69\\x7f\\xe2\\x2b\\xf8\\xdf\\xbe\\xd8\\xef\\xf8\\xe6\\xde\\xe9\\xd0\\x24\\xab\\x08\\x5f\\x76\\xf9\\x3f\\xbf\\x38\\xf9\\xe1\\xce\\xf3\\xc1\\x5f\\xfe\\x7c\\xe7\\xec\\x9b\\x0e\\xfe\\xf0\\xa6\\x39\\xfb\\x46\\x6f\\xb8\\xf8\\x9e\\x6b\\xd7\\xd6\\x61\\x9a\\x9b\\x05\\x69\\xff\\x31\\xdc\\x4f\\xa3\\x82\\x18\\x54\\x42\\x01\\x31\\x4c\\x95\\x73\\x71\\x93\\x89\\x62\\xa3\\x5e\\x5e\\xe4\\x8c\\x55\\x95\\x3c\\x5b\\x16\\x0a\\x95\\xf5\\x65\\xbc\\x1e\\x0f\\xea\\xd0\\xc8\\x9b\\xdc\\x5d\\x21\\x4f\\xc8\\x63\\x25\\xac\\xa5\\xa8\\x1f\\x63\\x14\\x85\\xfc\\xea\\xf4\\xd8\\x26\\xee\\xe3\\x92\\x9e\\x10\\xe7\\xcc\\x6b\\x0c\\x43\\x08\\xe4\\xc3\\x77\\x5a\\xc8\\x43\\xc2\\xd1\\x70\\x74\\x23\\x92\\xa0\\xb0\\x06\\x81\\x98\\x25\\xc5\\x5f\\x1c\\x1d\\x5a\\xbc\\xee\\xdc\\xb7\\xde\\x7e\\xe3\\xed\\x73\\xcf\\x58\\x3a\\xf0\\xa3\\x27\\x41\\x7d\\xc5\\x79\\xe7\\x55\\xd4\\xbb\\xf7\\xed\\xdb\\x37\\x97\\xfa\\x85\\x65\\xfb\\x79\\x0b\\xce\\x0b\\x7b\\x76\\x2d\\xbd\\xf2\\xba\\x6b\\xaf\\x5a\\xb9\\xc3\\x15\\xd8\\x34\\xf7\\xf4\\xb5\\x96\\x0d\\xd6\\xf6\\xda\\x9b\\xef\\x53\\xa0\\x6a\\xfc\\xfc\\x91\\xef\\x7d\\x6f\\xe9\\x6a\\x44\\xe7\\x3d\\xe0\\x77\\xb8\\x0f\\xa5\\x8d\\x28\\x53\\x78\\x48\\xe4\\x06\\x9b\\x81\\xb3\\x13\\x06\\xb3\\x62\\xa6\\x50\\x85\\x3c\\x0a\\xd0\\xa1\\xf9\\x13\\x75\\xc5\\xe6\\x4e\\x54\\xaf\\xfc\\x0a\\x3b\\x45\\xf2\\x9a\\xce\\xde\\xee\\xe9\\xea\\xeb\\xbf\\x7b\\x03\\x1c\\x06\\xbf\\xfb\\xc3\\xbd\\x77\\x7c\\x70\\xf2\\x63\\xd5\\xc3\\xe0\\x67\\x23\\x39\\x02\\x7e\\x47\\x58\\xd1\\xb3\\xad\\x04\\xcb\\x30\\x84\\xcd\\x6e\\x65\\x28\\x85\\x32\\x65\\x9b\\x52\\x4e\\x78\\x36\\x04\\x3e\\xec\\x8c\\x68\\xec\\x8a\\xda\\x4d\\xaa\\x4b\\x40\\x0c\\xf1\\x24\\xf8\\xdd\\xc9\\x8f\\xc0\\x07\\xef\\xdd\\xfd\\xc0\\xeb\\x9a\\xee\\x4b\\x41\\xc2\\xfc\\x0c\\xdb\\x6d\\x5e\\x42\\x51\\x22\\x8c\\x24\\x59\\x08\\xde\\xc2\\xfb\\xfc\\x34\\x9e\\x8b\\xc4\\xb8\\xe1\\x5f\\xc6\\x64\\xe7\\x24\\x6c\\x2b\\x99\\x0a\\xad\\xe0\\xd4\\x44\\x13\\x29\\x67\\xde\\x6a\\x62\\xb5\\x4e\\xb3\\x98\\xd0\\x34\\x9d\\x97\\xba\\x33\\x3b\\x2f\\x5c\\x36\\x7f\\x74\\xf5\\xf0\\x59\\xa4\\xf8\\xea\\xdb\\xbf\\xfa\\xf1\\x93\\xb7\\x91\\x37\\xac\\x5b\\xae\\x6e\\x3d\\x73\\xf4\\x15\\x4d\\xea\\x5f\\x7d\\xcd\\x0d\\x37\\xab\\x1f\\x7b\\x67\\x6a\\x75\\xe5\\x22\\x94\\xa5\\x21\\x24\\x4b\\x69\\x6d\\x9f\\xfa\\x7b\\xf8\\x35\\x44\\x2c\\x55\\x2a\\x5d\\xa1\\x10\\x23\\xd8\\x7d\\x16\\x9e\\xe3\\x2c\\x76\\x86\\x0e\\xcb\\x4e\\x8e\\x09\\x1a\\x83\\x3d\\x19\\x41\\xea\\xc9\\xd8\\x8d\\x82\\x00\\x8c\\x22\\x47\\x8b\\x00\\x1a\\x9f\\x40\\xd7\\xa0\\x39\\x87\\x54\\x03\\x60\\xa2\\xf6\\xca\\xaa\\x71\\x8d\\x68\\x50\\x77\\x30\\x21\\xed\\xd5\\x9b\\x14\\xb4\\x01\\xb2\\x03\\xb5\\xdb\\x1e\\x3d\\xf1\\x9b\\x5f\\xad\\x58\\x76\\xa4\\x1f\\x64\\xbe\\x77\\xd5\\xa6\\xbe\\xa5\\xcb\\x17\\x9f\\x49\\xad\\xd7\\xb5\\xfa\\xae\\xbd\\x3d\\x5f\\x0b\\x82\\x4d\\x2e\\x45\\x3d\\x0f\\xd4\\xa8\\xe7\\x0d\\x0f\\x2e\\x1d\\xd2\\xfa\\x36\\xa2\\xd9\\x94\\x50\\x27\\xfc\\x43\\xeb\\x05\\x38\\xf6\\x01\\x3d\\x0d\\xeb\\xdf\\x34\\xb4\\x34\\x24\\x33\\x25\\x51\\x7e\\x9f\\xdb\\x69\\xa2\\x59\\x1a\\x6e\\x9e\\xe5\\x08\\x5b\\x9f\\x66\\xb1\\x13\\x05\\xed\\x2c\\x0a\\xf4\\x40\\x71\\x7f\\xf0\\xdc\\x1b\\x96\\xec\\x7a\\xe3\\xed\\x75\\x60\\xec\\xbc\\xf5\\x67\\x6c\\xdb\\xfc\\x35\\x30\\xb0\\xfe\\x39\\xd7\\x03\\xf7\\x93\\x1c\\xb6\\x38\\x3e\\xde\\xbe\\x7d\\xc3\\x56\\xd2\\x27\\xcd\\x9c\\xe9\\x1e\\x7d\\xff\\x9e\\x83\\x9a\\xdd\\xd6\\x3d\\xf6\\x30\\xed\\xa0\\x5e\\x84\\x1a\\xc0\\xa7\\x98\\x91\\xf4\\x27\\x1c\\x0e\\xc1\\xc4\\x6a\\xa2\\x31\\xdf\\x01\\xce\\x2d\\x3a\\x92\\xc0\\x10\\x75\\xe2\\x6b\\x60\\xe8\\xa7\\xc3\\x57\\xd0\\x6a\\xa4\\xbe\\x17\\xed\\x52\\xdf\\x1f\\xbd\\xdf\\xd3\\x49\\xee\\x5d\\x32\\x54\\x32\\x0a\\x3d\\x13\\x64\\xdd\\x90\\xcb\\x66\\x5d\\x7d\\xb6\\x7a\\x72\\x08\\xec\\x9e\\xdb\\xb9\\x60\\xc1\\x69\\x60\\xc7\\xa0\\x7a\\x23\\x92\\x7b\\xa1\\xb1\\x87\\x99\\xeb\\xf1\\x5a\\xa8\\x7a\\x04\\xd2\\x70\\xa8\\x9c\\x32\\x95\\x53\\x35\\xb5\\x95\\x7e\\x56\\x18\\xb7\\x6e\\x8e\\x9f\\xa7\\x5e\\x3d\\x56\\x60\\x66\\x39\\x0b\\x5e\\x33\\xf1\\x49\\x77\\xf5\\xe5\\xcd\\x73\\xeb\\xea\\x66\\xcf\\x4a\\xd7\\xcd\\x9d\\x5f\\x5d\\x33\\x77\\x6e\\x4d\\xdd\\xdc\\xc9\\xf6\\x29\\xd6\\xcc\\x9b\\x57\\x53\\x3b\\x67\\x8e\\xba\\xbb\\x66\\x5e\\x57\\x2d\\x7c\\x81\\xe7\\xb5\\xde\\x4b\\x5b\\xe8\\xcf\\x89\\x4a\\xb8\\x67\\x27\\x95\\xa8\\xae\\x22\\x4a\\x4b\\x93\\x8c\\xc7\\x13\\x0c\\x72\\x49\\xce\\x8c\\xb6\\xcc\\xe7\\x29\\x28\\x7f\\x62\\x2e\\x03\\xfc\\x8b\\xf7\\x9d\\x96\\xb4\\x9d\\xb3\\xd1\\x48\\xc1\\x3b\\xfd\\x35\\x3a\\xc7\\x7d\\xd1\\xae\\x9d\\x3b\\xb5\\x3d\\x43\\x26\\xa8\\x5e\\x32\\x54\\x5e\\xde\\x94\\x7f\\x93\\x18\\x9d\\x93\\x35\\x89\\xa8\\xaf\\xcd\\xba\\x7a\\xcb\\x81\\xe6\\xe7\\xaf\\x1e\\x1b\\x02\\x2f\\x2d\\x99\\xd1\\x39\\xff\\x34\\xb3\\xf6\\xa2\\x73\\xe9\\x69\\xe0\\xa5\\x41\\x08\\x00\\xa4\\x35\\x02\\xd2\\x16\\x81\\xeb\\xe0\\x33\\x13\\xeb\\xe2\\xb5\\xfe\\xe3\\xd4\\x08\\x7e\\xbf\\x12\\xd3\\x40\\x25\\x94\\x2b\\x5e\\x3c\\x3f\\x60\\x96\\x12\\xf3\\xd8\\x24\\xce\\xe4\\xf7\\x73\\x36\\x17\\xcd\\x84\\x64\\xc9\\x21\\x42\\x33\\xd0\\xe6\\x81\\x7f\\x6d\\x84\\x4b\\xe4\\x08\\x76\\x51\\x86\\xce\\x59\\x27\\xe9\\x02\\xee\\x2f\\x6c\\xf1\\x9c\\xb3\\xd2\\x51\\x9f\\x23\\x21\\xdb\\xe0\\x99\\xd2\\x66\\xd0\\x2e\\x5a\\x7c\\x67\\x7a\\xf3\\x25\\x9b\\x37\\xae\\x5b\\x3e\\xfb\\xcf\\x0b\\xef\\x4a\\xcb\\x5d\\xe4\\xe1\\xbf\\x5f\\xb8\\xf7\\x6d\\x57\\xb2\\xb4\\x3f\\xba\\x7c\\x38\\x93\\x59\\x06\\xca\\xa3\\xb7\\x03\\xcf\\x52\\xf5\\x15\\xfb\\xf5\\x17\\xfc\\xd7\\x8d\\x70\\x7f\\x67\\xc3\\xfd\\xcd\\x80\\x32\\x35\\x49\\x4c\\x53\\x22\\x7e\\xc6\\xec\\x91\\x29\\x3e\\xe1\\x61\\x28\\x26\\x55\\x6e\\xe6\\xe3\\x32\\x4d\\x88\\xa2\\x0d\\xe9\\x4b\\xa2\\xa4\\x37\\xc7\\x33\\x48\\x27\\x48\\x2d\\xe3\\xf7\\x85\\x4a\\xfb\\x9b\\xb2\\x99\\x67\\x5a\\xaf\\x28\\xac\\xf6\\x45\\x43\\x36\\x0f\\x00\\x1a\\x7e\\x4e\\x96\\x34\\xfe\\xe4\\xf5\\x3f\\xf6\\x2d\\x5a\\xb9\\x74\\x6d\\xcd\\xe9\\x52\\xb4\\xfb\\xf6\\x1b\\x72\\x6f\\xd7\\xfa\\xa2\\xdd\\x97\\xba\\xf6\\x6c\\xfe\\x61\\x6a\\x2b\\xcb\\x2e\\xea\\x9e\\xd3\\x13\\xe4\\xbf\\x0b\\x40\\xdd\\x9e\\xcd\\x0f\\xa6\\xce\\x61\\xff\\x3f\\xd2\\xde\\x03\\x3e\\x8e\\xe2\\x7a\\x1c\\xdf\\xd9\\x72\\xbd\\xec\\x95\\xbd\\xde\\xbb\\xba\\x74\\xa7\\x6a\\xb5\\x93\\xdc\\xe4\\x82\\x24\\xcb\\xf5\\xdc\\xc1\\xc6\\x36\\x06\\xdb\\xb8\\x62\\x8c\\x01\\x53\\x4d\\xb5\\x29\\x81\\xd0\\x42\\x80\\x50\\x03\\xb1\\x29\\x02\\x4c\\x09\\xc6\\xd4\\x24\\xc0\\x17\\x42\\x20\\xf9\\x02\\xe1\\x0b\\x4e\\x62\\x08\\x01\\x42\\x71\\x08\\x21\\x58\\xab\\xff\\x9b\\xd9\\xbd\\xbd\\x3d\\x59\\x24\\xff\\xcf\\xe7\\xf7\\x31\\xd8\\xa7\\xd3\\xcc\\x9b\\x37\\x6f\\xde\\xbc\\x36\\xf3\\xde\\x68\\x86\\xa6\\x4f\\xe9\\x0f\\x38\\x7e\\x26\\x8e\\x66\\x09\\x5d\\x67\\xc2\\x3a\\x58\\x08\\xde\\x8d\\x79\\xbf\\xc1\\x65\\x8f\\x04\\xd2\\x9a\\xaa\\x4a\\x56\\xe7\\xe5\\xe3\\x56\\x1d\\x18\\xd4\\xa9\\x88\\xdd\\x68\\xa4\\x74\\xd8\\x01\\x22\\xea\\xba\\x28\\x51\\x09\\xd6\\x04\\xdf\\x3a\\x44\\xa2\\xf8\\xc5\\x62\\x0b\\x2d\\xf2\\x91\\xa6\\x0b\\x5f\\xf1\\xd6\\x62\\x33\\x90\\xc4\\x58\\x98\\x4d\\x2b\\xb7\\xb6\\x36\\x36\\xb6\\x9c\\x79\\xe2\\xc0\\x09\\x9d\\xf1\\x48\\x75\\xcf\\xa2\\xae\\xa5\\x85\\xec\\xfe\\xeb\\xae\\x7d\\x28\\xbb\\x60\\x79\\xc7\\xe2\\x89\\xd5\\x91\\x44\\xc7\\x09\\xce\\xe6\\x09\\xcd\\xf0\\x9f\\xfb\\xcd\\xb3\\x9c\\xf9\\xf9\\x27\\x5f\\x74\\xc9\\xf4\\xcb\\x6f\\xbf\\xf3\\x92\\x69\\xbb\\x2f\\x5c\\x3d\\x77\\xa2\\xf3\\xac\\x37\\xdd\\xb2\\xdd\\x8a\\x6b\\x7a\\x82\\x8c\\xfa\\x0b\\xe6\\x93\\xd1\\x63\\xf0\\xf3\\xa7\\xcc\\xb3\\xbc\\x86\\xee\\xff\\x87\\xfc\\x46\\x3c\\x79\\x67\\xc2\\x01\\xeb\\x10\\x76\\x58\\x68\\xad\\x45\\x2b\\x38\\xd5\\x8f\\x88\\xe3\\xef\\xf0\\x23\\xe2\\xb6\\xf1\\x1e\\x11\\x2f\\xe9\\xa4\\xf2\\x72\\x3b\\xc7\\xbd\\x0d\\x7e\\xfc\\x53\\xe0\\x58\\xac\\xf6\\x7a\\x08\\xef\\xca\\x7a\\xca\\xae\\xe1\\x5a\\xa5\\x7c\\x70\\xc0\\xe9\\x15\\xc0\\x29\\x8e\\xdf\\xd4\\x35\\x82\\x16\\x8d\\x5a\\x68\\xfc\\x50\\x11\\xad\\xd1\\x71\\xc9\\x44\\xc0\\x69\\xd5\\xea\\xb5\\xf8\\x59\\x56\\x06\\x8c\\xeb\\x08\\xc3\\x50\\x5e\\x9b\\xde\\x1a\\x1d\\xfb\\x60\\x5c\\x4e\\xed\\xec\\xe7\\x8e\\x3b\\x95\\xc2\\x31\\xbb\\x58\\xa9\\xe0\\x9d\\x8c\\x37\\x29\\xde\\x01\\x0e\\x03\\x48\\x1e\\xc1\\x2d\\xa0\\x8e\\x1b\\x0f\\xbd\\x31\\x09\\x35\\x2c\\x9c\\x3e\\x17\\xbd\\x3a\\x6f\\xda\\x22\\xd4\\x30\\xe9\\x8d\\x43\\x7b\\xf3\\xbe\\x6f\\x9f\\xbc\\x07\\xfc\\x05\\x71\\x64\\xcb\\x65\\xe8\\x1e\\xe2\\xd1\\x14\\x2e\\xd9\\x86\\x98\\x5e\\xcf\\x6d\\xf7\\x3c\\xf9\\xad\\x2f\\xaf\\xf8\\xce\\xa4\\x3e\\x47\\x80\\x1a\\xcc\\xd7\\xf0\\x8c\\x05\\xac\\x21\\x2f\\x13\\x0a\\x5a\\x43\\x75\\x21\\x1a\\x3e\\x0a\\x02\\x35\\xab\\x20\\x08\\x7a\\x8b\\x09\\xe6\\x60\\x12\\xf0\\x7b\\xf5\\xa0\\x8c\\xf9\\x81\\x02\\x87\\x35\\x5a\\xf9\\x81\\x2f\\x95\\x53\\x3f\\x19\\xd3\\x50\\xdf\\x52\\x7a\\xf1\\x86\\x90\\xbc\\xac\\x58\\xc7\\x1d\\xca\\x83\\x37\\xd1\\xf2\\x97\\x70\\xd6\\xaa\\x9e\\xbb\\xe9\\x1d\\xf3\\x12\\x0e\\x45\\x8f\\x1e\\xa3\\xb3\\xcc\\x7a\\x6e\\x09\\x89\\x09\\xd7\\xe7\\x2d\\x5a\\x3b\\x58\\xa8\\x0e\\xa7\\x45\\x8a\\x01\\x1f\\x40\\x75\\xc3\\x26\\xab\\xd5\\x40\\x1f\\x40\\x5d\\x12\\x63\\x4b\\xea\\x36\\x27\\x73\\x35\\x3a\\x2e\\xe2\\x9b\\x43\\xb4\\xf8\\xef\\x56\\xe4\\x7f\\x05\\xf9\\x26\\x88\\x67\\x2e\\xee\\x13\\x3f\\x9a\\xfc\\xf6\\xe6\\x0f\\xe9\\x93\\x73\\x0d\\x36\\xfa\\x93\\x11\\x37\\x9f\\xcd\\xf1\\x2f\\xbe\\x40\\x4f\\x14\\xff\\x07\\xe7\\x58\\xfe\\x93\\xce\\xb2\\xfb\\xb8\\x05\\xb0\\xde\\x29\\x6a\\x6b\\xbe\\x29\\x15\\x4c\\x86\\x92\\x7e\\x83\\xdd\\x4e\\xf9\\x43\\xf1\\xb8\\xdf\\xcc\\xba\\xb9\\x4c\\xda\\x2f\\xd8\\x43\\xa1\\xa8\\xcb\\xeb\\x8d\\x06\\x53\\x36\\xc3\\x2f\\x0d\\xaf\\x19\\xe8\\x45\\x86\\x53\\x0d\\x67\\x19\\x98\\x94\\x21\\x65\\xa0\\xa3\\x80\\xd9\\xa3\\xa0\\x6a\\x92\\x1c\\xe0\\x58\\x87\\x71\\xcc\\x65\\xb3\\x92\\x83\\xb8\\x64\\x49\\xc9\\x12\\xb0\\x1d\\xc7\\x09\\x92\\xab\\x30\\x6e\\x6c\\x17\\xc7\\xcb\\xca\\x43\\xbb\\xe8\\xf0\\x5c\\xfa\\xcb\\xbc\\xbd\\x63\\xd9\\xa2\\xcb\\xec\\x3d\\x3d\\xf6\\xcb\\x06\\x4f\\x5b\\x14\\xcf\\x9b\\x46\\x52\\x5b\\xc4\\xef\\x4f\\x9b\\x25\\xbe\\xbb\\x12\\xfd\\xe9\\x0f\\x9c\\x41\\x68\\xfb\\xfd\\xf9\\x1a\\xf1\\xaf\\x0b\\x46\\xa9\\x45\\xe2\\xbb\\xda\\xeb\\x3e\\x69\\x73\\x3e\\xf9\\xa4\\xb3\\xad\\xcd\\x89\\xb4\\x68\\x83\\x78\\x35\\xd6\\x99\\x2e\\xa0\\x75\\x15\\xcc\\xd7\\x06\\x96\\x42\\x84\\xea\\xcd\\x7b\\x7c\\x6e\\x37\\xad\\x0f\\xda\\x2d\\x16\\x53\\x90\\x66\\xa3\\x31\\x97\\xd1\\xe7\\xe3\\x80\\xb1\\x31\\xdd\\x1f\\x71\\xd3\\x34\\x45\\xc8\\x9e\\x05\\xaa\\x63\\x84\\x71\\x3e\\xf0\\x18\\xbb\\xd8\\x51\\x32\\xc9\\xb4\\x02\\xf1\\x01\\x5a\\x64\\x6b\\x8d\\x91\\x62\\x91\\xae\\xa1\\x21\\x74\\xd2\\xab\\xc3\\xcf\\x7d\\x73\\xf0\\xf0\\x3d\\x73\\x0b\\x89\\xc4\\xbe\\x37\\x9d\\x97\\x5d\\x63\\xa2\\xb3\\x6d\\x4e\\xfa\\x72\\xa1\\xed\\xc4\\x55\\x3f\\x8a\\x6b\\x1d\\x0f\\xec\\x58\\xf3\\x69\\xdf\\x64\\xf1\\x6d\\xb4\\x7d\\xef\\x85\\x92\\x8f\\x55\\xc4\\xd3\\x4d\\x5e\\x09\\x2c\\xe4\\x53\\x24\\xa8\\xea\\x8a\\x47\\x82\\x41\\xbd\\x3e\\xce\\x30\\x99\\x74\\xca\\x62\\xe1\\x03\\xc8\\x68\\x8c\\xb8\\x16\\x99\\x4e\\x35\\x9d\\x25\\x45\\x55\\x31\\xd6\\xd0\\x40\\x2b\\x31\\x8b\\xc4\\x2b\\x4b\\x88\\xdf\\x52\\xd4\\xa6\\x63\\x1e\\x6d\\x94\\x22\\xaa\\xf1\\xe8\\xd8\\x88\\xaa\\xb6\\x7c\\x12\\x4c\\xd5\\xfc\\xf9\\x07\\x0f\\x8b\\x97\\x0f\\x0d\\x49\\xb3\\x59\\x71\\xfd\\x77\\xa5\\xb9\\x30\\x3f\\xaf\\x5b\\xbd\\x63\\x0d\\x50\\xb9\\xea\\x04\\xe4\\xc0\\x53\\x3a\\xad\\xf6\\xdd\\xd2\\x6c\\x68\\x98\\x4b\\x1d\\xb3\\x12\\xe6\\xa2\\x03\\x65\\xd2\\x90\\x37\\x71\\x0e\\xca\\xe4\\x30\\x79\\xdc\\xac\\xd3\\xe9\\x02\\x7c\\x1f\\xd5\\x70\\x0e\\x07\\x6f\\x53\\xd8\\x5b\\xa2\\xf4\\x78\\xd1\\x4b\\xc9\\xc5\\x92\\x83\\x97\\xf4\\x29\\x1b\\xcf\\xf1\\xcd\\x3d\\x71\\xf6\\x73\\x1f\\xff\\xfe\\x8d\\xb7\\xfe\\xf4\\xab\\xa1\\x21\\xe6\\x85\\xfb\\x7e\\x32\\xb2\\x8d\\xb9\\x86\\x9e\\xf6\\xeb\\x97\\x5e\\x7f\\x85\\x91\\xc8\\x4b\\xe4\\x01\\xa6\\x25\\x07\\xe3\\xfb\\x41\\x1e\\xc4\\x70\\x1c\\xd0\\x0b\\xba\\x8a\\x0d\\x06\\x1c\\xbf\\x34\\xbd\\x66\\xa2\\x15\\xea\\xf9\\x59\\xb7\\x13\\x21\\x8f\\x1f\\xb3\\xb3\\x51\\x47\\xd3\\x5a\\x56\\x66\\x67\\x82\\x13\\x21\\x18\\xa6\\xe6\\x12\\xf5\\xd9\\xa9\\xa3\\x65\\xdc\\xc0\\x1f\\x61\\x5f\\x58\\x78\\xfa\\x97\\x3d\\xf6\\x8e\\xa5\\x17\\x3f\\x6a\\xcf\\xe7\\xed\\x8f\\x9e\\x25\\x71\\x6c\\x90\\x3e\\x95\\xa0\\x56\\xce\\xa9\\xe5\\x78\\xf6\\xe6\\x5d\\x56\\xad\\xd6\\xe7\\x33\\x0a\\x34\\xe0\\xe9\\xb5\\x39\\x1c\\x2e\\xbd\\x05\\x54\\x2a\\xa1\\x97\\x4f\\xc3\\xb2\\x34\\x52\\xd3\\xcb\\x4e\\x52\\x5e\\x6d\\xb9\\xb2\\x4b\\xab\\xd1\\x34\\x88\\x24\\x5c\\x13\\x96\\x98\\x45\\x39\\xa9\\xb4\\x96\\xfc\\xb0\\x10\\x37\\x12\\x34\\xe5\\xe3\\x8b\\x4e\\x3b\\x4b\\xc2\\xec\\xa2\\x65\\x1d\\xf6\\x1e\\xfa\\x97\\x80\\x6f\\xf6\\x93\\xeb\\xb4\\x28\\xb5\\x08\\x51\\x0b\\x90\\x47\\x73\\xfe\\xef\\xdb\\x84\\x91\\xad\\x4e\\x42\\xc3\\xe9\\x74\\x94\\xb9\\x88\\x5b\\x07\\x5e\\x42\\x73\\xde\\xe9\\xa1\\x1c\\x1c\\x65\\xf2\\x61\\xff\\x20\\xe4\\xf5\\xfa\\xfd\\x34\\x6f\\xd6\\x3d\\x85\\xea\\x61\\x79\\x69\\xd4\\x4d\\xe1\\x94\\xaa\\x22\\x4a\\x2a\\x7c\\x4a\\x06\\x25\\x2e\\x30\\xa5\\x84\\xc6\\x5b\\x9a\\x88\\x3c\\x65\\x26\\xdd\\xf8\\xde\\xa3\\xbf\\x7d\\xe3\\xf9\\xe9\\x97\\x2c\\xed\\x8a\\x4c\\x1b\\x58\\xbf\\x72\\xd1\\x9c\\xda\\xca\\x21\\x74\\x79\\x0f\\xbd\\xa0\\xe5\\x8f\\xcf\\xbd\\x76\\xd8\\x19\\xf9\\xdf\\xb3\\x5b\\xee\\x7b\\xe0\\xa7\\x3f\\x17\\x7e\\x85\\x37\\x34\\xc1\\xc9\\x0d\\xf4\\xda\\x47\\xe8\\x35\\x37\\x1f\\xb1\\xfa\\xfd\\x2e\\x0b\\x2c\\x9a\\x4b\\x1b\\x0c\\xa0\\x75\\x96\\xb3\\x2d\\xf4\\x22\\x0b\\xb2\\x58\\x40\\x26\\x00\\x72\\x3a\\xbb\\x01\\x28\\xf7\\x98\\xdf\\x45\\x6b\\xb5\\x5e\\xae\\x44\\x3a\\x79\\x5d\\x55\\x0b\\x5b\\xf6\\xd0\\xc0\\x0f\\xbc\\xcb\\x44\\x14\\xec\\xc9\\xe2\\xf7\\x43\\xe2\\xc9\\xb0\\x1b\\x6e\\x1e\\x42\\x1c\\xfc\\x3d\\x6b\\x16\\xfc\\xc4\\xdc\\x21\\xbe\\x8f\\xd1\\xc3\\xeb\\xdb\\x26\\x88\\x5f\\x22\\x1e\\xff\\x0b\\x34\\x94\\x50\\xc6\\x7e\\x0a\\x9d\\x45\\xcf\\x02\\xce\\x46\\x2a\\xf6\\x18\\x6d\\x36\\xe9\\x64\\x49\\xa3\\x1f\\x2b\\x69\\x00\\x13\\x45\\xb6\\x90\\x31\\x93\\x64\\xa8\\xa1\\xa2\\xdc\\x90\\xa0\\xca\\xfa\\x8e\\x4e\\xd1\\xa7\\x00\\x4c\\x07\\x95\\xcc\\xeb\\x35\\x0e\\x83\\xc3\\x29\\xf0\\x46\\xdd\\x01\\xd4\\xfd\\x30\\x47\\xc9\\x22\\x39\\xdb\\xad\\xf8\\x3b\\x3f\\x10\\xe6\\x74\\xad\\x41\\x4f\\x2d\\x16\\x7f\\x73\\xe6\\x64\\x30\\xad\\x32\\xce\\x54\\x33\\x67\\x70\\xb5\\xb6\\xba\\xc4\\x2a\\xf1\\x2b\\xff\\x33\\xa7\\x99\\x6c\\x6d\\xf2\\x58\\x98\\x47\\xff\\x0a\\x63\\x79\\xa9\\x13\\xf2\\x01\\x2d\\xeb\\xa6\\x75\\x0c\\x89\\x73\\x32\\xb4\\x14\\xe7\\xe4\\x79\\xc6\\xa5\\x63\\xcc\\x5e\\x3b\\x9e\\x15\\x7c\\x6f\\x7e\\x12\\x66\\xa5\\xc5\\x33\\x23\\xe2\\x08\\xe7\\xda\\x95\\x31\\x6a\\x29\\xc6\\x69\\x45\\x52\\x8c\\x53\\x18\\x13\\xe3\\x64\\x1e\\xda\\x79\\x14\\xcd\\x1f\\x10\\xdf\\x10\\x3f\\xea\\xba\\x52\\xac\\x00\\x32\\xbc\\x72\\x1e\\x9a\\x91\\xe7\\x16\\xb4\\x09\\xbf\\x17\\x67\\x38\\xdb\\xd0\\xa9\\x8d\\x7f\\x53\\xd1\\xfc\\x1d\\x94\\x16\\x54\\xb8\\xf2\\x80\\xab\\x95\\xaa\\xca\\x1b\\x0c\\x0c\\x63\\xb5\\xf1\\x7a\\x96\\xd5\\x60\\x8d\\x0a\\x3f\\x59\\x4a\\x5b\\x48\\x25\\x71\\xf0\\xaa\\x2b\\xa3\\x93\\x8d\\x4c\\x7f\\x37\\x12\\x84\\x41\\x5f\\xda\\xb9\\xeb\\x8a\\xc6\\xfa\\xbc\\x9a\\xfe\\xa6\\x3b\\xa5\\x71\\xe2\\xa0\\x43\\xd7\\xc2\\x38\\x1e\\x6a\\x4a\\xde\\xc1\\xe8\\xdc\\x76\\x9d\\xdd\\x07\\x76\\x91\\xde\\xe8\\xa1\\xcd\\xb4\\xc6\\x62\\xc4\\xac\\xe7\\xb6\\x33\\x3a\\x9d\\xa0\\xc1\\xd4\\x40\\x12\\x35\\x64\\xfe\\x2b\\x3d\\x6d\\xa1\\x12\\x79\\xea\\x07\\x92\\xfc\\xa8\\x64\\x6e\\xd0\\x42\\x85\\xf8\\xd9\\x80\\x78\\x0c\\xf0\\xe9\\x7e\\xfb\\x03\\x34\\x67\\xda\\x34\\x71\\xfb\\x00\\x9d\\xa5\\x2f\\x1c\\xf9\\x35\\x21\\xc1\\x15\\xce\\x36\\xd1\\x8c\\x8e\\x16\\x59\\x8e\\xee\\x22\\xf8\\x39\\x81\\x0e\\x9b\\x08\\x7f\\xe4\\xf3\\x0e\\x87\\x56\\x63\\xd7\\x5b\\x34\\x16\\xc1\\xc9\\x51\\x56\\xab\\x43\\x67\\xa2\\x6d\\x84\\x01\\x41\\x01\\x8e\\x5d\\xaa\\xb6\\xe2\\x52\\xb5\\x49\\xc7\\x70\\x25\\xd6\\x51\\xe3\\x87\\xe8\\x67\\x0a\\xc8\\x3c\\xeb\\x22\\xb1\\x66\\x81\\x78\\x14\\x10\\x6b\\x45\\x9b\\x38\\x83\\x73\\xc2\\x04\\xe7\\x48\\x86\\x5e\\x31\\x22\\x2f\\x8d\\x73\\x82\\x18\\x25\\xb8\\x84\\x00\\x97\\x47\\xc9\\x9e\\x9d\\x98\\x77\\xda\\x69\\xaf\\x8d\\x35\\x78\\x0d\\xc1\\x80\\xc7\\xc1\\x1b\\x8d\\x36\\x46\\x27\\x98\\x31\\xb1\\xbc\\x1c\\x6d\\x30\\xe0\\xca\\x30\\xaa\\x7d\\x2a\\x63\\x33\\x06\\x1d\\xfc\\x9a\\x54\\x39\\xc3\\x34\\x29\\x0f\\x0d\\xc7\\xa7\\x89\\xdf\\x4f\\x13\\xd7\\x03\\x4a\\xd7\\x4c\\x43\\xdc\\x34\\x74\\xcd\\xac\\x59\\x78\\xf5\\xd0\\x03\\xe2\\x03\\x0b\\x54\\x0c\\x33\\x0b\\xcd\\x5e\\xac\\xde\\x4f\\x34\\xb5\\x10\\x64\\x5d\\x2f\\xc8\\x3a\\x23\\xac\\x68\\x32\\x6f\\x30\\x51\\xe0\\xd9\\x69\\x7c\\x5e\\xab\\x5e\\x92\\x71\\x8c\\x2c\\xe3\\xc6\\x84\\x85\\x62\\x63\\x8a\\xe3\\x90\\x7d\\xc5\\xf4\\x3e\\xf5\\xcc\\xc1\\x07\\x1f\\x7d\\xf6\\xe0\\xf0\\xf7\\x6d\\x93\\xf2\\x4d\\xae\\x86\\xda\\xde\\x76\\xe6\\xd7\\xef\\xbc\\xfe\\xee\\xff\\xfc\\xee\\xb7\\x6f\\xbf\\x7e\\xe8\\x8a\\xdd\\x2f\\x5d\\x7d\\x5e\\xfe\\x4a\\x1c\\x87\\x81\\x31\\x2d\\x30\\x66\\x8c\\xaa\\xa6\\xfa\\xf2\\x2e\\xbf\\x33\\xcc\\x54\\x5a\\x48\\x1c\\x2f\\x66\\x73\\x5a\\xb4\\xb5\\x35\\x19\\x9b\\xc6\\x8d\\xe3\\x77\\x7a\\x8b\\xa7\\x2f\\xe8\\x0e\\xba\\xe3\\xb0\\x5c\\xdd\\x40\\xd1\\x7a\\xbc\\x5c\\xa4\\xb4\\xf6\\x38\\xaf\\x66\\xaa\\x63\\x76\\x91\\x1f\\x08\\xd9\\x35\\xcb\\x31\\x3b\\x74\\xe7\\x5d\\xb7\\x0d\\x4d\\x29\\xac\\x3c\\xf8\\x8c\\x78\\xe1\\xca\\xf9\\xbd\\x73\\xee\\xb8\\x1d\\xd5\\x24\\x4f\\x3e\\x39\\x59\\xe3\\x98\\xd9\\x79\\xe9\\xa5\\x93\\xb8\\x75\\xfa\\x93\\x56\\xe7\\xd7\\xf8\\x9c\\x6b\\xfb\\xce\\x38\\xeb\\xeb\\x81\\x55\\x36\\xd7\\xc2\\x89\\xf3\\xe7\\xe9\\x17\\x1b\\x1a\\x2b\\xcf\\xbb\\xba\\xa5\\xc7\\x38\\xb2\\x6a\\x6e\\xdf\\x9e\\x3d\\x43\\x33\\x60\\x2e\\x16\\xe0\\xc8\\x7f\\x10\\x7d\\xef\\xa5\\x3a\\xf3\\x4e\\x29\\xf6\\x65\\x37\\xfa\\x7d\\xac\\xc9\\x64\\x71\\x69\\x70\\xdc\\x8b\\x58\\x57\\x46\\xa3\\x5e\\x6d\\xa7\\x28\\x26\\x4a\\x5b\\xf6\\xbf\\x04\\xbe\\xb0\\x7f\\xf0\\xfd\\xa4\\x69\\x16\\xdb\\xf4\\xbc\\xe8\\x1f\\x5a\\x88\\x36\\x3c\\xfe\\xec\\xcf\\x6f\\x9b\\x7e\\x01\\xbb\\x6a\\xd1\\x34\\xf1\\xfe\\x05\\x62\\x52\\x5a\\xdb\\xed\\x67\\x9e\\x7d\\xde\\xdf\\x8a\\x6b\\x0a\\x38\\x31\\x37\\x93\\x3d\\x10\\xa0\\xa6\\xe5\\xbd\\x5e\\x86\\xd1\\x21\\xde\\x69\\xa1\\x6c\\x36\\x0b\\xaf\\x63\\x83\\x21\\x9e\\xf6\\x7a\\x35\\x1e\\x3d\\xde\\xab\\x8f\\xc0\\x4e\\x25\\x1b\\x95\\x2a\\xed\\x85\\x9c\\xfd\\x38\\xd3\\x8f\\xe0\\xc7\\xc4\\x4b\\xdc\\x17\\x01\\xbb\\xc9\\x01\\x98\\x15\\x71\\xa6\\xd7\\xbd\\xdb\\xb8\\x5c\\x9c\\x3f\\xab\\x80\\xee\\x45\\x6b\\x7f\\xfa\\xab\\x21\\x71\\xef\\x8c\\x93\\x42\\x91\\xa5\\x27\\x80\\x06\\x98\\x3e\\x22\\x6d\\x57\\xc7\\x84\\x3f\\xfd\\xa2\\x51\\x04\\x24\\xe9\\xce\\xa1\\x2e\\xf1\\xed\\x29\\x92\\x3c\\xa1\\x00\\x57\\x81\\xe0\\x9a\\xcb\\xf3\\x5a\\x93\\xdd\\x44\\x31\\x82\\x93\\xb6\\xdb\\x1d\\x1a\\x8b\\xc5\\x81\\x11\\xd4\\x9a\\x4c\\x06\\x85\\x72\\xa5\\x40\\x89\\x1c\\xde\\x91\\xad\\x11\\xd9\\x41\\x21\\x5a\\x9f\\x11\\x7a\\x12\\xb3\\x27\\x3b\\x2e\\x1c\\xf9\\xd7\\x95\\xb6\\x49\\xb3\\x93\\x3d\\xdc\\x82\\x6f\\xf7\\xf0\\x23\\xbb\\x84\\xd6\\x56\\x81\\xde\\xc5\\xef\\xf9\\xb6\\x38\\x6e\\x94\\x39\\x8f\\xd8\\x9c\\x75\\x79\\xab\\xd5\\xa9\\x63\\x9c\\x8c\\xd7\\xe3\\xb4\\x82\\x8e\\xb2\\x71\\x4f\\x81\\x1a\\x31\\x42\\xa3\\x6e\\x1c\\x2c\\xce\\xa9\\x77\\xa2\\x74\\x86\\xeb\\x2d\\x56\\xf3\\x2d\\x8b\\x9e\\xa1\\xb7\\xc5\\x0b\\x0b\\xe8\\xb1\\x93\\x1f\\x3a\\x69\\xd9\\x5a\\x94\\x59\\xf4\\x0b\\x3a\\x8a\\x52\\xe8\\x79\\xb2\\xed\\x3a\\x5f\\x5e\\x74\\x12\\x7a\\x0d\\xe4\\x84\\x43\\x6c\\xdd\\x7b\\x2d\\xc9\\x53\\xfa\\x3b\\x1d\\x65\\x7f\\x07\\xe3\\x3b\\xc1\\x4a\\xe4\\xb5\\x66\\x17\\x99\\xb4\\x15\\x39\\x1c\\x06\\x13\\x6b\\xc5\\x08\\xe8\\x29\\x93\\xbc\\xf7\\x14\\xa9\\xa9\\x04\\x88\\x64\\xbf\\x0c\\xc5\\x8d\\x20\\x3d\\xc9\\x47\\x3f\\xa2\\x7f\\xff\\xe4\\x2d\\x4b\\x11\\xd7\\x25\\x7e\\xbd\\xe6\\xc0\\x81\\xd5\\xe2\\x9f\\x3a\\xd0\\xde\\xe5\\xbf\\x78\\x8a\\xd3\\x8a\\xcd\\xe8\\x35\\x40\\xc2\\x36\\xe2\\x40\\xcf\\x8b\\x9d\\xf4\\x27\\xf0\\xd9\\x25\\x36\\xa2\\xdf\\xe0\\xb8\\x22\\xe8\\xd2\\xc9\\xec\\x66\\xf0\\xd9\\x93\\xd2\\xfd\\x3a\\xe9\\x67\\xca\\x47\\xaa\\x3d\\x5a\\xfd\\x5a\\xbb\\x9d\\x0e\\x9b\\xcd\\x5e\\xfc\\x30\\x69\\x0c\\xb8\\xa5\\xe3\\x71\\x37\\xa5\\xe5\\xfc\\x7e\\xac\\xc6\\xdb\\x1f\\x76\\xda\\x40\\x8b\\x63\\x12\\x01\\x8d\\xa4\\xeb\\x1e\\xdd\\x63\\x1e\\xb3\\x46\\x31\\x4c\\x9d\\x9c\\xbb\\x45\\x4a\\x93\\x02\\x43\\x14\\xef\\x44\\x29\\xec\\x50\\x8c\\xa4\\x68\\x51\\xf2\\x77\\x6d\\x6f\\x98\\xfd\\x9e\\x19\\xf1\\x7d\\xeb\\xf7\\x4e\\x9b\\x5d\\xdf\\xe3\\xce\\x5c\\x7b\\x7a\\xb6\\xb1\\x31\\x11\\x4c\\x34\\xd1\\xa9\\x5b\\xd0\\x06\\x4b\\xa6\\xca\\xc6\\xbb\\xee\\x5d\\x38\\x9f\\xa6\\x87\\x56\\x85\\xa7\\x5e\\x2a\\xa0\\x14\\x8d\\x72\\x93\\x73\\xf5\\x02\\xc6\\x39\\x03\\x38\\xdf\\x0c\\x38\\xf3\\x20\\x65\\xf3\\x79\\xab\\xd9\\xcf\\x30\\xbc\\x4b\\xc7\\xeb\\x82\\x01\\xc6\\x4c\\xe3\\xfc\\xa1\\x76\\x20\\xb1\\x11\\x75\\xc0\\xf6\\xd4\\x00\\xb6\\x3c\\x58\\x6d\\x5d\\x84\\xaa\\xdd\\x78\\x1f\\xb6\\xa9\\xac\\x20\\x99\\x9d\\xb0\\x8b\\x6b\\x23\\xb7\\x43\\xb1\\x8b\\x80\\x51\\x94\\x4c\\x37\\xfa\\xe6\\x8f\\x8d\\xfe\\x65\\xcd\\xbf\\xdd\\xb9\\xfe\\xd4\\xea\\x5f\\xfc\\xa2\\x2d\\xbb\\xba\\x2a\\xd7\\xdc\\x45\\x17\\xd2\\xad\\xa1\\x14\\xf2\\xff\\xe8\\xd6\\x7c\\x83\\xc8\\x1e\\x5d\\xb9\\xf9\\xe8\\x8a\\x53\\xdb\\x88\\x4f\\x13\\xa3\\x53\\x4c\\x0f\\xe0\\x95\\xa2\\x72\\xd4\\x04\\x6a\\x41\\x3e\\xde\\xe0\\xac\\xf1\\x7a\\xd9\\x96\\x56\\x9a\\x36\\xb4\\x24\\xa3\\x4e\\x4d\\x47\\x7b\\x5a\\xa7\\xb3\\xb4\\xd6\\x78\\x92\\x61\\xaa\\x82\\xb7\\x30\\x8c\\x1d\\x04\\x45\\xc7\\x70\\xa0\\xb1\\x31\\x5e\\xa4\\x2b\\x66\\x78\\xf2\\x72\\x03\\xb9\\xf6\\x54\\xee\\xd4\\x14\\x37\\x65\\x8c\\xdc\\xa3\\xc1\\xf7\\xd8\\x95\\xc3\\x19\\x12\\xe0\\x29\\xbf\\x45\\xe3\\x88\\x8d\\x73\\x89\\xc6\\xfb\\x2d\\x6a\\x63\\x86\\xfa\\xbb\\xbb\\x7d\\xcb\\x9a\\x7e\\x9c\\x5f\\xb4\\xe3\\x17\\xed\\xeb\\x6f\\x88\\xd7\\xb7\\xe5\\xdc\\xe9\\x2d\\x73\\x97\\x57\\xb6\\x7d\\xd8\\x30\\xc9\\xe8\\xad\\xee\\xa8\\x4e\\x89\\xb7\\xa7\\x13\\x97\\xfa\\xe9\\xd4\\xb1\\x86\\xc8\\xaa\\x01\\x5b\\xad\\x2d\\x30\\x7d\\xc6\\x3d\\x3d\\x33\\x93\\xf4\\xac\\xda\\xb6\\xf0\\x94\\xdd\\xae\\xca\\x6a\\x9a\\x4b\\x99\\x4f\\xe8\\x0e\\xd3\\x4c\\x5b\\x67\\xae\\x5e\\x6c\\x1b\\x38\\x71\\xd9\\x2c\\xc2\\x4f\\x06\\xba\\x9a\\xde\\xc2\\x5d\\x01\\x7b\\x29\\x88\\x7d\\x21\\x5e\\xab\\x0d\\x52\\x9e\\xa0\\x27\\x14\\xd6\\xfb\\x9f\\x81\\x55\\x60\\x28\\x01\\x56\\xc7\\x44\\x59\\x51\\xb5\\xbc\\x22\\x63\\x0f\\x02\\xf0\\x99\\x93\\x8d\\x14\\x5e\\x03\\x36\\x02\\x89\\x43\\x2e\\x0a\\x49\\x47\\x4f\\xe8\\x85\\xe6\\x6e\\x77\\xb3\\x2d\\xd5\\xda\\xd1\\x26\\xee\\x9a\\xf0\\xb1\\xc6\\xb3\\xa8\\x6a\\xc7\\xc6\\xab\\x2f\\x38\\xf1\\x29\\xe6\\xa4\\x0d\\xab\\x0d\\x46\\x71\\x96\\x7e\\x33\\x7d\\xa6\\x25\\xfd\\x7a\\x6b\\x9b\\xc3\\x7f\\xf1\\xb5\\x57\\xdf\\x99\\x91\\xf9\\xfd\\x22\\x6e\\x37\\xf0\\x7b\\x15\\x89\\x07\\xf9\\xe9\\x34\\x3a\\xca\\x6e\\x81\\x9f\\x53\\x04\\xdf\\x30\\x9d\\x42\\xdf\\xc2\\x9a\\x39\\x81\\x97\\x72\\x79\\xbb\\x97\\xd1\\x70\\x1e\\x8f\\xc3\\x61\\x62\\x98\\x40\\xd0\\xcb\\xb2\\x06\\xfe\\x29\\xe0\\x23\\x41\\x11\\x0c\\x6d\\x75\\xc7\\xbd\\x49\\x5f\\x3a\\x2c\\x93\\x6f\\x35\\x09\\x7c\\x5a\\xa2\\xf6\\x77\\x9b\\x57\\xa3\\x4c\\x20\\x3f\\x61\\xc2\\x8c\\xd0\\xe9\\xb5\\x97\\x5d\\xf4\\xaf\\xaa\\xe0\\x05\\x40\\xd2\\x1d\\xe7\\x37\\xe8\\xe7\\x9f\\x50\\x61\\xab\\x75\\xf8\\xf6\\xde\\x28\\xbe\\xd7\\xb9\\x7c\\xd6\\xe9\\x72\\x9e\\x47\\x00\\x70\\xf9\\x12\\x70\\xa9\\x04\\x1f\\x44\\x88\\x33\\x6e\\x43\\x86\\x0f\\x69\\x0c\\x8c\\xa6\\xaa\\x3a\\xac\\xb1\\x99\\x03\\x01\\xa7\\x19\\x23\\x93\\x54\\x21\\x63\\x6f\\x2b\\xf7\\x89\\xa4\\x23\\x88\\x26\\x55\\xa1\\x5b\\xd9\\x0f\\x71\\x37\\x93\\x5a\\xb7\\x69\\x0d\\xde\\x8d\\xb8\\xd8\\x2d\\x0a\\x9d\\xb5\\x7b\\x6a\\x53\\x7b\\xe3\\xee\\x73\\xd6\\x4d\\xaa\\x12\\x62\\xf9\\xc6\\xe6\\x4a\\xcf\\x1c\\x5f\\x30\\x18\\x99\\x33\\xf9\\x92\\x99\\x43\\xb1\\xf5\\x74\\x6a\\xe1\\x50\\xd7\\x64\\x23\\x2b\\x74\\xd7\\x4e\\x9a\\xe6\\xda\\x33\\x33\\x50\\x5f\\x55\\x51\\xa3\\xd3\\xf6\\xeb\\x3d\\x03\\xa7\\x84\\xeb\\x7d\\x61\\x8c\\xaf\\x00\\xf8\\x7e\\x02\\xf8\\xe2\\x38\\xab\\x2f\\xea\\xd4\\xa5\\xd3\\x09\\x27\\x6c\\x46\\x4d\\x65\\x55\\xc2\\xec\\x0f\\x59\\x32\\x46\\x6b\\x9f\\xc5\\xe2\\x0e\\x61\\xa4\\x35\\x2a\\xa4\\xab\\xc6\\x60\\xed\\x90\\xe3\\xbf\\x38\\xe0\\x4d\\xae\\x69\\xb8\\x65\\x39\\x51\\xf6\\xcc\\x00\\xfe\\xfb\\xe3\\xde\\xf5\\xb1\\xa1\\x99\\x97\\x4c\\x9e\\x13\\x09\\x06\\x7d\\x73\\x3c\\x95\\xcd\\x8d\\xf9\\x98\\x50\\x35\\x69\\xdd\\x39\\xbb\\x73\\x1d\\x3b\\x2f\\xa6\\x53\\x61\\x5f\\x7d\\xf8\\x94\\x01\\x8f\\xbe\\x5f\\xab\\xab\\xa9\\xa8\\xaa\\x0f\\xcc\\xdc\\xe3\\x9a\\x36\\xa9\\xb6\\x5b\\x60\\x83\\x1b\\x87\\x16\\x4a\\x71\\x07\\x1b\\x8a\\xd3\\x33\\xd8\\x7b\\x80\\x8a\\xf5\\x54\\x07\\xb5\\x2c\\x5f\\x3d\\x81\\x76\\x24\\xed\\x54\\xa3\\xb9\\x2a\\x9c\\xf2\\x7a\\xcd\\xe0\\xbf\\x84\\x35\\x5d\\x9d\\xb1\\x8a\\x0a\\x57\\x83\\x0e\\xb4\\x3a\\xcb\\xf3\\x79\\x93\\xb5\\xcf\\xc5\\xbb\\x78\\xae\\x36\\x70\\x00\\xd5\\x3e\\xdc\\x62\\x00\\x49\\xd8\\x41\\x75\\xbf\\x20\\x49\\x69\\x7c\\xa0\\x48\\x4c\\x7e\\xdb\\x58\\xed\\x49\\xa6\\x56\\xf4\\x08\\x5b\\xdc\\x5a\\x99\\x89\\xb5\\xf8\\xad\\xf8\\x6c\\xd9\\x21\\x23\\xd7\\x58\\x85\\xe4\\x23\\x72\\x26\\x5b\\x3a\\xbf\\xbe\\xfc\\xd4\\x8b\\xb6\\xa7\\xa6\\x59\\x76\\x0b\\x93\\x92\\xe7\\xef\\xc8\\x56\\x5a\\xe9\\x8a\\xf0\\x85\\xaf\\xdd\\x79\\xdd\\x8e\\xdd\\x5d\\x35\\xd1\\x46\\x74\\xfb\\xcc\\x67\\x9a\\xa6\\xe7\\x97\\xcd\\xdb\\x8f\\x8b\\xb3\\x55\\x26\\x93\\x0c\\x5d\\x73\\xfe\\x89\\x27\\x1a\\xb8\\x89\\xbe\\x13\\x6b\\xfa\\x4f\\x5a\\xa1\\xad\\xb1\\x87\\x7e\\x7a\\xf2\\x86\\x29\\x9d\\xf1\\x26\\x9f\\x69\\x72\\xfa\\xb9\\xb6\\x54\\x43\\x2a\\xd5\\x81\\x2e\\x99\\x34\\x79\\x72\\x3e\\x3f\\x79\\xf2\\x24\\xcc\\xfb\\x01\\x64\\x43\\x93\\xd8\\x55\\xe4\\xfe\\x0a\\x78\\x56\\xf2\\xfd\\x15\\x0d\\x36\\x5a\\x24\\xcf\\xaa\\x5d\\xf2\\xac\\x5e\\xc8\\x1e\\x77\\x67\\x25\\xee\\x56\\x59\\x84\\x85\\x4e\\x94\\xe9\\x6c\\xfb\\x78\\xb8\\x25\\x95\\x6a\\xca\\x65\\xd2\\xcd\\x6c\\xbd\\x25\\x93\\xb1\\x88\\xad\\x96\\xcc\\x8b\\x99\\xc6\\xc6\\x4c\\xaa\\xa5\\x59\\xe2\\xef\\x08\\xd8\\x4d\\xf7\\x73\\xbb\\x41\\x2c\\x4f\\xcd\\xdb\\xcc\\x3a\\xa4\\xa1\\x78\\x5e\\x10\\xb4\\x1a\\x1d\\x78\\x56\\x2e\\xcf\\x01\\x54\\x0d\\x38\\x98\\x05\\xc1\\x42\\x31\\x46\\xc7\\x53\\xd8\\x91\\x00\\x53\\xb4\\xbd\\xa8\\x0e\\xe5\\xc8\\xc9\\xd8\\x67\\xd3\\xb1\\x90\\x00\\x15\\x2a\\xbf\\x61\\xa3\\x18\\x2b\\x39\\xa4\\xfd\\x63\\xc7\\x1f\\x7a\\x76\\x3f\\x97\\x13\\xbf\\x8c\\x9e\\x3e\\xb9\\x45\\xfc\\xa8\\xa9\\xed\\x63\\xa6\\xe7\\x4b\\x73\\x26\\x63\\xbe\\x52\\x7c\\x01\\xe3\\xf7\\x62\\xfd\\x75\\xf8\\x1f\\xfa\\x13\\x0b\\x96\\x13\\x76\\xb0\\x49\\xfe\\xc8\\x6e\\x05\\xb9\\x50\\x43\\x70\\x8d\\xa1\\x6a\\x7a\\x11\\xf0\\x76\\x8c\\xea\\xc9\\x5b\\xec\\x1c\\xe5\\xf5\\x86\\x42\\x06\\x8e\\x49\\xc4\\xc3\\x51\\xa0\\xcb\\x23\\xf0\\x53\\x00\\x93\\xc9\\x6a\\xd4\\x3d\\x85\\x3a\\x49\\x60\\xa0\\x43\\x0a\\x0c\\xc8\\x36\\x4b\\xd9\\x65\\x24\\x2c\\xa0\\xc7\\x54\\x41\\x26\\x7a\\xd0\\x56\\x42\\x97\\xdb\\x31\\xe5\\xfa\\x9d\\xeb\\x1b\\x73\\x69\\xaf\\x85\\x8f\\xa4\\x12\\x99\\xda\\x9a\\x9c\\xf8\\xd7\\x96\\x96\\xf7\\xd8\\x5c\\xfe\\x6e\\xb1\\x7f\\xd3\\xd9\\xc6\\xdd\\x93\\x4c\\x43\\x53\\xd1\\xbe\\x8e\\x3a\\xa7\\xb8\\x18\\xe3\\x8d\\x7e\\x45\\xf0\\x8e\\x82\\x7c\\xab\\x24\\x78\\x67\\xa4\\xfa\\x27\\x74\\x02\\xfd\\x83\\xdd\\x08\\x96\\x7d\\x45\\xde\\x68\\xa4\\x1c\\x60\\xd9\\x7b\\x7d\\xbc\\x49\\x8f\\xbd\\x65\\x8f\\x8b\\x21\\xac\\x2b\\x85\\x05\\x4a\\xd6\\x8d\\x43\\x25\\x63\\x9b\\x94\\x17\\x9b\\x00\\x3f\\x7f\\x70\\x79\\xfd\\xf5\\xd7\\x5f\\xb7\\xab\\xff\\x94\\x2a\\x6f\\xb2\\xb5\\x79\\xca\\xcc\\xc1\\xf9\\x2d\\xec\\x24\\xb7\\x6b\\xef\\xf5\\x97\\xff\\x44\\xb8\\x67\\x85\\xff\\xec\\x53\\xb6\\xaf\\xb6\\x49\\x6b\\x5b\\xc1\\xcc\\xa4\\x1b\\x80\\x5e\\x66\\x7c\\x2b\\xb9\\x74\\x8e\\xcd\\x18\\xa4\\x11\\xc7\\x3b\\xc0\\x8e\\x4b\\x47\\x13\\xe8\\xbc\\x68\\x73\\x4d\\x72\\xff\\x59\\x97\\x5d\\x7c\\x36\\x33\\xf3\\x8c\\x2d\\xcb\\x2f\\xbf\\xea\\xc7\\xd7\\x5d\\x23\\xc1\\x84\\xb9\\x35\\x30\\x33\\x41\\x5d\\x00\\x4c\\x7c\\x7e\\x4d\\x71\\x16\\xb3\\x89\\xd3\\x33\\x44\\x57\\x8e\\xbd\\xe9\\x8c\\x0f\\xae\\x73\\xd2\\xe9\\x26\\xdd\\x70\\xe1\\x85\\xa3\\xd4\\xfe\\x54\\x75\\x73\\x94\\x99\\x79\\xc3\\x1e\\x94\\xba\\xf4\\xc4\\x6d\\x5b\\x24\\x3b\\xd9\\x8e\\x6a\\xe8\\xb3\\x00\\x4f\\x7c\\x1e\\x0c\\x2b\\xeb\\x37\\x50\\x26\\x93\\xcd\\xc5\\xd9\\xb8\\x70\\xc4\\xee\\xc4\\x2b\\x6b\\xb2\\xd9\\xac\\xcf\\x20\\xfc\\xd0\\xb7\\x0e\\x46\\xf1\\x28\\x0b\\xab\\xac\\xab\\x62\\x3b\\x60\\xca\\x95\\xee\\x45\\xb8\\x4b\\xbc\\xe7\\x68\\xc4\\x6b\\x0b\\x98\\x7c\\xdb\\xbb\\x70\\xdb\\xa6\\x0b\\xce\\xcd\\xe7\\x99\\xd9\\xe2\\xf3\\x9d\\x9d\\x7f\\x79\\x7b\\x4d\\x5b\\x6d\\x73\\xfd\\x29\\xec\\xd4\\xea\\x4b\\xaf\\xbb\\xea\\xa7\\xfc\\xc4\\xab\\x08\\x03\\xbe\\x66\\x4d\\x8b\\x9f\\x7e\\xe8\\x16\\x17\\x98\\x89\\x7e\\x4a\\xa1\\x9b\\xd9\\x8f\\x60\\x3d\\xeb\\x88\\xbe\\xb2\\xd1\\x71\\xfa\\x12\\x76\\x15\\xfc\\x5c\\x41\\x68\\x12\\xa4\\x39\\x7a\\x19\\x7b\\x16\\x70\\x5c\\x2a\\xcf\\xdb\\xc0\\xbb\\xd5\\xd1\\x6e\\x8f\\xcb\\x6a\\xb5\\xeb\\x38\\xce\\x5e\\x3c\\x0d\\x2d\\x33\\x5d\\x01\\x3f\\x7c\\x8c\\xd8\\xa4\\x1c\\x22\\x36\\x45\\x5b\\x72\\x02\\x1d\\x06\\xbe\\xba\\xc9\\x9a\\x46\\x17\\x65\\x5b\\x9d\\xe2\\x22\\xf8\\x30\\x62\\xc9\\x30\\x37\\x6c\\x9e\\x79\\x4b\\xeb\\x91\\x4a\\xcc\\x7d\\x1f\\xb6\\xbc\\x8b\\xc7\\x73\\x80\\x4d\\xf3\\x1e\\xc8\\x88\\x4a\\x6a\\x76\\x1e\\x3c\\xf5\\x68\\x26\\xe8\\x02\\x39\\xe1\\x72\\x72\\x19\\xae\\xba\\x2a\\x1d\\x0b\\xb8\\xad\\x06\\x03\\x97\\xf0\\x9a\\x80\\x74\\x8f\\x86\\xed\\x76\\x06\\x69\\x9f\\x02\\xb2\\x65\\x24\\xdf\\x02\\x5b\\xd2\\x92\\x7b\\x21\\xf9\\xb6\\xc7\\x3b\\x70\\x69\\x62\\xaa\\xc4\\x63\\x8a\\x49\\x2d\\xbd\\x81\\x54\\xfa\\xa1\\xf4\\x90\\x35\\xa5\\xdb\\x3c\\x73\\x45\\xfc\\x9c\\xa1\\x1b\\x5a\\x91\\x27\\x37\\x50\\xdd\\xa8\\x69\\x43\\x9e\\x6c\\x3f\\x88\\x20\\xe4\\x69\\x69\\xa1\\xb3\\x8d\\xf9\\x69\\xd3\\xee\\x46\\x2b\\xad\\xe9\\xb4\\x55\\x7c\\x64\\xad\\xd7\\x9e\\x51\\x3e\\xbb\\xd1\\x6d\\xe4\\x53\\xab\\x35\\x2d\\xdd\\x11\\xa0\\x80\\xaf\\x56\\x11\\x9a\\xd6\\x13\\x9a\\x56\\xc2\\xcf\\x6b\\x81\\x27\\xd2\\xe0\\xcd\\x59\\xfc\\x21\\xbb\\xc0\\x1a\\x52\\x86\\x54\\xa6\\x82\\xd5\\x81\\x50\\xea\\xc8\\x1b\\xa3\\x56\\xab\\x2e\\x11\\x22\\x67\\x6f\\x12\\xe7\\x49\\xee\\x81\\xe4\\xd6\\x49\\xa4\\xb6\\x93\\xa3\\x8a\\x71\\x0e\\xe0\\x94\\x42\\x49\\x9a\\xd2\\xf9\\x1b\\x6d\\x6a\\x9b\\x9c\\x0c\\x47\\x62\\xd3\\x5a\\x1b\\xaa\\x13\\x82\\xc3\\x9f\\x6c\\xac\\x18\\x6c\\x5f\\xb9\\x74\\xde\\x69\\xed\\xb3\\x62\\xad\\x15\\x7e\\xbb\\x2b\\x51\\x47\\xa7\\x82\\xa9\\x48\\x24\\x11\\xb6\\x9c\\x3d\\xcd\\x14\\x6d\\x9b\\x7f\\xe6\\x84\\xc1\\x15\\xcb\\xe6\\x4c\\x38\\x63\\x41\\xb6\\xc2\\x34\\xed\\x6c\\x0b\\xb6\\x81\\x51\\x2d\\xdd\\xcd\\x5d\\x4d\\xd9\\x71\\x76\\x45\\xde\\xe7\\x85\\x79\\x18\\x4d\\xa6\\x88\\xce\\x11\\x02\\x1f\\x2a\\x82\\xd8\\x44\\x32\\x82\\xdf\\x87\\xf0\\xf3\\xbf\\x04\\x8c\\x05\\x8a\\x43\\x35\\x14\\x02\\xae\\x96\\xea\\x41\\x8d\\xe3\\xeb\\x11\\x39\\x10\\xb7\\x35\\xaa\\xf5\\x6d\\x34\\x96\\xc6\\xac\\xac\\x11\\x6c\\x92\\x48\\x48\\x83\\x7d\\xf3\\xfb\\x7d\\xe7\\x5e\\xb2\\xfe\\xc2\\xd9\\x93\\x1e\\x15\\x3f\\x6a\\x08\\xdd\\x34\\xad\\x3e\\xea\\xab\\xe8\\x6a\\xbd\\xba\\xb7\\x1e\\xd5\\x32\\xfd\\x7b\\x76\\xaf\\x3f\\xb1\\xff\\x34\\x8b\\x26\\xf1\\xc4\\x97\\x06\\xfa\\xb2\\x9b\\x16\\x2e\\x1d\\x79\\xc3\\x38\\x77\\xf9\\x13\\xda\\x09\\x68\\x90\\xf8\\x3f\\x47\\x61\\xef\\x65\\xd8\\xd5\\xe0\\xa1\\xd6\\xe6\\x79\\x9d\\xc5\\xe6\\xa5\\x03\\x01\\x2f\\x6b\\x61\\x43\\x41\\x16\\x09\\x58\\x8c\\x1a\\x01\\x47\\x22\\xf0\\xed\\xe5\\x27\\xb1\\x4c\\x53\\xce\\xe5\\xce\\x91\\x0a\\x0c\\xf0\\x09\\x8c\\x42\\x7c\\x34\\xac\\x4d\\x83\\xf6\\x4c\\xd1\\x69\\xf3\\xcb\\xf3\\x72\\xdc\\xac\\x44\\xdd\\x5e\\x63\\xe3\\x8d\\x1a\\xcb\\xb5\\x7e\\x93\\xa1\\x62\\x4b\\x98\\xed\\xce\\x7c\\xf2\\xfc\\x73\\x73\\x9b\\xea\\xf5\\x69\\x63\\xa2\\x6b\\xad\\xf8\\x6c\\xec\\xb1\\x89\\x3a\\x7b\\xf3\\x2d\\x15\\xe7\\xa3\\xd6\\x4e\\xa2\\xfb\\xe8\\x24\\xdd\\x05\\xba\\x28\\x04\\x9c\\x9d\\xcb\\x3b\\xb4\\xde\\xb0\\x33\\x69\\xb1\\x64\\x5c\\x5e\\x27\\xf0\\x75\\xc6\\xc6\\xa2\\xc0\\x53\\x60\\xa2\\xc6\\xc0\\x5e\\x50\\x02\\xbe\\xe5\\x32\\x5d\\x31\\xad\\xc2\\xa8\\x74\\x67\\x48\\xc9\\x32\\x43\\xc5\\x0b\\x6f\\xe0\\x5b\\xa0\\x91\\xb4\\x90\\xa8\\x4d\\x65\\x2a\\x6b\\x5b\\x87\\xda\\x7f\\xb4\\xeb\\x9c\\xab\\x9e\\xab\\xca\\x6e\\x5b\\x39\\x71\\x99\\xf8\\x72\\x6b\\x6d\\x5d\\x4b\\xdb\\x94\\x78\\x25\\xfb\\xb7\\xe9\\xbe\\xaa\\x58\\xac\\xb7\\xa2\\xa1\\x6f\\xfb\\xd0\\xce\\xab\\x76\\x9f\\x71\\xef\\xc2\\xd4\\xc9\\x75\\xfd\\x0b\\x1d\\x23\\xf7\\xad\\x5a\\xb2\\x78\\xc1\\x94\\x8d\\xb9\\xd0\\x16\\xec\\xab\\xa1\\x0a\\xfa\\x10\\xf0\\xa9\\x17\\xf0\\x9a\\x94\\xb7\\x9b\\xf4\\x5c\\x84\\x02\\x4b\\xda\\xe7\\x72\\x21\\x8e\\x89\\x27\\x90\\x17\\xaf\\x75\\x90\\x72\\x80\\xc4\\xd2\\xa1\\x8e\\x47\\x22\\x56\\x2b\\x2d\\xf1\\x2b\\x30\\x6a\\xb7\\x5a\\x29\\x29\\xbe\\x4f\\x5c\\x32\\x15\\xb1\\x41\\x88\\x8d\\xc4\\xd2\\xf2\\x93\\xea\\xa2\\x82\\xad\\x0b\\xa1\\xab\\xa7\\x5f\\x7f\\xc3\\x45\\x97\\x64\\xab\\x3a\\x7a\\x67\\xcd\\x5c\\x79\\xe6\\xed\\x7b\\x77\\x85\\x93\\x1d\\x3d\\xdd\\xa8\\xe2\\x98\\xf1\\xba\\xdd\\x17\\xef\\xe5\\x5b\\x9c\\xa7\\x6e\\x38\\x7d\\x8b\\x0e\\x2d\\x9e\\xbf\\xfc\\xfa\\x5d\\x57\\xde\\x66\\x44\\x35\\xdb\\x36\\xec\\x14\\xef\\xd6\\x6d\\xc1\\xfe\\x36\\xe8\\xd0\\x29\\x20\\x3b\\x82\\xe0\\x6f\\x3b\\x03\\x94\\x9e\\xf5\\x38\\xcc\\x56\\xab\\xc3\\xe6\\x33\\xd2\\x2c\\xa5\\x0b\\x85\\x83\\x4f\\xc2\\x9a\\x6b\\xf1\\x8a\\x77\\x8f\\x91\\x0b\\xb6\\xe6\\x16\\xa6\\x16\\x3b\\x00\\x40\\xdd\\x66\\x90\\x56\\x80\\x50\\x08\\x81\\xd5\\x01\\xfb\\x4b\\xa3\\x8d\\xaf\\xd9\\x7e\\x9e\\xa5\\xca\\x79\\xa6\\xe0\\x9a\\x3b\\x3f\\xf2\\x48\\xff\\xf6\\x1b\\x0d\\xee\\xe0\\x6a\\xa7\\x77\\xc3\\xac\\xf6\\xc7\\xd1\\xcc\\x97\\xfe\\x81\\x0c\\x01\\x9e\\x49\\x3b\\x9a\\x9f\\x7f\\xa6\\x3f\\x7e\\xcd\\x37\\xe2\\x4b\\x0e\\x97\\x06\\xd8\\xf8\\x5f\\x0f\\x5c\\x4b\\xf6\\x7e\\x74\\x74\\x26\\x9a\\x46\\xdf\\xce\\x6b\\x19\\x10\\x06\\x23\\x3e\\xf2\\x9d\\x1d\\xbe\\xfb\\x17\\xba\\x86\\xd7\\xd2\\x5b\\x95\\xef\\x6c\\xa3\\x9d\\xf4\\x25\\x68\\x17\\xb4\\xab\\x50\\xbe\\xa3\\x46\\xf3\\xf4\\x2a\\xf2\\x5d\\xbd\\xf2\\x5d\\x46\\xec\\xa3\\xbb\\xe9\\xfb\\x79\\x2d\\x77\\x76\\xf1\\xbb\\xd1\\xa3\\xe2\\x54\\x3a\\x83\\xce\\x83\\xef\\xce\\x91\\xbe\\x83\\xb5\\xab\\x14\\xa7\\xd1\\x39\\x74\\x1d\\x28\\x94\\x04\\xae\\xaa\\x10\\xd6\\x53\\x5e\\x1b\\xe8\\xb3\\x64\\xca\\x7e\\x00\\x4d\\x7d\\xc4\\xc0\\xc4\\x40\\x6e\\xf6\\xc1\\xce\\x60\\xd0\\x14\\xd9\\xe2\\xe9\\x2e\\x8b\\x04\\xb6\\x90\\xdb\\x5e\\x3c\\x88\\x96\\x38\\x50\\x22\\x44\\xbb\\xe3\\xb5\\xa8\\x0e\\xd5\\x22\\xa4\\x2a\\x03\\x5b\\x79\\xde\\x2e\\xa4\\x3b\\x76\\x5e\\x8e\\xd5\\xf4\\xae\\xdb\\x3e\\x98\\xa6\\x2b\\x35\\xcd\\xbd\\x53\\xf6\\x9e\\x83\\x16\\xc6\\x9a\\x6a\\x52\\xa9\\x9a\\xa6\\x58\\xed\\x81\\xfd\\xe2\\x1f\\xc4\\x77\\x57\\x2c\\xec\\xb2\\x58\\x52\\x53\\xf2\\x66\\xab\\x46\\x63\\xf9\\x15\\x4a\\x6e\\xdd\\x7e\\xe2\\x15\\x97\\x2d\\xdb\\x22\\xbd\\x17\\x2b\\x4e\\xa4\\x0f\\xa1\\x2b\\x01\\xf7\\x5d\\xa5\\x79\\x8b\\x53\\xe8\\x29\\x78\\xde\\xdc\\x79\\xca\\x7c\\xc2\\xa3\\x1f\\x73\\xaf\\x31\\xcf\\x83\\xcc\\xac\\xc3\\xef\\xc9\\x55\\x6b\\xab\\x74\\x7a\\x7d\\x32\\xec\\xf3\\x25\\x79\\x2d\\xdb\\x50\\x9f\\x22\\x0f\\x8f\\x54\\xe9\\x06\\x0a\\xae\\xaa\\x2a\\x0f\\x15\\xe4\\x3d\\xb1\\xa1\\x02\\xe8\\x29\\x87\\xc3\\x3c\\xab\\xe0\\x70\\x31\\x99\\x81\\x02\\xc3\\x97\\x15\\x08\\x92\\xaf\\x87\\xb4\\x8d\\xbd\\x1f\\x22\\x9f\\x54\\x48\\x49\\xc4\\x51\\x29\\xec\\x28\\xbf\\xd6\\x81\\x5f\\xd3\\xf3\\x96\\x9e\\x95\\x03\\xb5\\xc1\\x01\\x29\\x72\\xe0\\x8b\\xd1\\xa7\\xa0\\xd9\\x33\\x16\\x1f\\xbc\\x5f\\x74\\xd4\\x9f\\xb6\\x74\\xc1\\xc5\\x2d\\xfb\\x67\\x6f\\x7b\\xbc\\x67\\xed\\x87\\xe2\\x63\\xe4\\xee\\x4e\\xdf\\xe0\\x3c\\xf4\\x45\\x47\\xfb\\xbb\\xf6\\x2a\\xe6\\x01\\xf7\\xab\\x7f\\x18\\xe2\\xaf\\x3b\\xa7\\x37\\x78\\x42\\xb4\\xaa\\x67\\xee\\x2d\\x28\\x45\\x4f\\xf6\\xf4\\x8e\\x9c\\x31\\x6f\\xf1\\xaa\\xc5\\x74\\xd8\\x63\\x3a\\xff\\xae\\x8b\\xd7\\x35\\xe2\\x73\\xe4\\x03\\xa3\\x9f\\xb1\\x11\\xee\\x4a\\x2a\\x4a\\xd5\\x50\\x43\\xf9\\x0a\\xb3\\x91\\xae\\xa8\\x88\\x7a\\x62\\x0e\\x8f\\xa3\\xb6\\xce\\x0c\\xee\\x41\\x15\\xcc\\xd4\\xc5\\x78\\x43\\xda\\xa8\\x11\\xfe\\xf0\\x14\\x9f\\x1c\\x2c\\xf0\\x3c\\x90\\xaa\\xbb\\x74\\xf5\\x10\\x27\\xfd\\xe4\\x94\\x22\\x6e\\x6d\\xc5\\xad\\x48\\x0c\\x89\\xa8\\xe0\\xce\\x76\\xa1\\x96\\x1c\\xb8\\xf1\\x9a\\xa2\\xcf\\x4b\\xc7\\x63\\x49\\x5b\\x1a\\xfc\\xe1\\x38\\xfc\\x46\\xed\\x1a\\xef\\x40\\x51\\x87\\xc3\\x6d\\x35\\x9d\\x62\\x5c\\x3e\\x9f\\xd1\\x64\\x7e\\xdc\\xf7\\xea\\xd3\\x5f\\xbd\\x77\\x87\\xf8\\x2b\\x67\\xcc\\xa7\\x3f\\xc5\\xb8\\x6c\\x01\\x7d\\xde\\xa2\\x35\\xa9\\x85\\xc1\\xfc\\x92\\x15\\xcb\\xb9\\x2b\\xdf\\x62\\xcc\\xa1\\xc9\\xd7\\x5e\\xa0\\x5d\\xd4\\x12\\xad\\xf9\\xf0\\x9b\\xaf\\xc5\\xbf\\x4f\\x62\\x0b\\x6c\\xcd\\x94\\x6b\\x2e\\xd4\\x1d\\x7b\\xe2\\x89\\x07\\x6c\\xb6\\x91\\x06\\xfe\\x90\\x64\\x1b\\xe1\\xb7\\x11\\x1f\\x87\\x39\\xa6\\xa9\\x2c\\xb5\\x24\\x5f\\x5f\\xe3\\xb6\\x98\\x28\\xca\\x97\\xc8\\x68\\x13\\x5a\\x30\\x4c\\x13\\xfd\\x85\\xb4\\xe0\\xb7\\x3a\\xc3\\xee\\x38\\xfc\\x31\\x78\\x28\\xca\\xc4\\x1a\\x0c\\xf5\\xe4\\x1d\\x9f\\xaa\\xc1\\xf2\\x77\\x7c\\xda\\xe4\\x0b\\xd4\\xca\\x8c\\xd5\\xb3\\xc5\\x89\\x8b\\x38\\x65\\x4f\\xf5\\x32\\xa0\\x3c\\xc7\\x26\\x15\\x15\\xa4\\x8b\\xf1\\x38\\x0a\\x63\\xc3\\x13\\xa7\\xdf\\x6f\\xed\\x98\\x59\\x8b\\xdf\\x06\\x5c\\xb7\\x41\\xe3\\xc0\\xf3\\xd4\\x2d\\x2f\\xa0\\xa8\\x53\\x22\\xc3\\x89\\xf3\\x56\\x8b\\xd7\\x8b\\x17\\x2f\\x5d\\x30\\x38\\xaf\\x7f\\x70\\xe1\\xca\\xa6\\x84\\xdb\\x22\\xbf\\x0f\\x38\\x99\\xa9\\x99\\x72\\xe5\\xa5\\xba\\xb9\\x12\\x15\\x2e\\xd4\\x1c\\x9b\\xe5\\xe9\\x45\\xef\\x3d\\xf5\\x62\\x15\\xfd\\x82\\xf0\\x22\\xe8\\xa4\\x2f\\x61\\xe2\\xcf\\x70\\x77\\x50\\xd5\\x38\\x5b\\x8d\\xaa\\xae\\xd6\\x24\\x93\\xb5\\x35\\x15\\xcc\\x20\\xae\\xc7\\xa2\\x8f\\x27\\xe3\\x83\\x05\\xa3\\x2f\\x64\\x89\\xda\\xe1\\x8f\\x4b\\x93\\xb4\\x3a\\x3c\\x2e\\x4f\\x7f\\xc1\\x25\\xa8\\x0a\\xc1\\x15\\xa7\\xa9\\xbe\\x6d\\x6f\\xcb\\x65\\xe5\\xd7\\x68\\xe3\\xb1\\x20\\x22\\xcf\\xd1\\x82\\x31\\x90\\xc3\\x7a\\x55\\xb6\\x12\\xf1\\x8c\\xb1\\xab\\x1e\\x6f\\x6a\\x91\\x7d\\x75\\xfa\\x9c\\xa0\\x27\\xbd\\xf2\\xe0\\x41\\x67\\x75\\x42\\xdf\\x33\\x7f\\xfe\\x8d\\x23\\x1f\\xae\\x72\\x64\\x32\\xfa\\x9e\\xb9\\x0b\\xf6\\xec\\x79\\xe1\\xf1\\x15\\x13\\xd9\\xfd\\xeb\\x3c\\xa3\\x97\\xae\\x11\\x1f\\x60\\xda\\x9b\\xae\\xb9\\x50\\xfb\\x11\\xc9\\xe7\\x5a\\xcd\\xe4\\xf2\\xb0\\x92\\x6f\\x4f\\x4e\\x9f\\xfc\\xec\\x6b\\x8e\\x0f\\x25\\x1f\\xd7\\x4e\\x51\\x9a\\x9f\\x33\\x2f\\x52\\x8d\\x54\\x9e\\x9a\\x4e\\xdd\\x94\\x1f\\xe4\\xaa\\xfc\\xfe\\x89\\x91\\x48\\x65\\x8b\\x20\\xf0\\xd4\\xf4\\x64\\xb2\\x92\\xaf\\x9c\\x39\\x23\\xd7\\xd0\\x5f\\xc8\\x59\\x93\\x11\\xbf\\xc0\\x57\\x66\\x2a\\xfb\\x0b\\x13\\x0d\\x4d\\x4c\\x6b\\xab\\xa7\\x7e\\x7a\\x6d\\x6d\\xb4\\xca\\xc7\\x24\\x12\\xd3\\xad\\x1e\\x93\\x89\\xa3\\xa6\\x7b\\xe0\\x0f\\x13\\x72\\x64\\x84\\x8e\\xa9\\xcc\\xd4\\xa1\\x82\\x96\\xe1\\x4b\\x69\\xb6\\xd2\\xfc\\x6d\\xd8\\x3d\\x23\\x77\\xda\\xdc\\x6d\\xd9\\xe2\\x07\\xe9\\x6e\\x4c\\x4e\\xae\\xb0\\xd2\\x56\\x52\\x3c\\xf6\\xd2\\xf1\\x06\\xce\\x9f\\xc7\\xe1\\x2b\\x9b\\x00\\xd4\\xd1\\xc8\\xfe\\x50\\x93\\x16\\x97\\xc8\\x97\\xe8\\x54\\x0a\\xf4\\x02\\xbd\\x9a\\xa5\\xf3\\x18\\x57\\xbb\\x1c\\x46\\x74\\x09\\x5c\\xd6\\x2d\\x7d\\x14\\xd0\\xc3\\xd2\\x45\\xb7\\x2b\\x45\\x9f\\x6e\\x99\\x73\\xdd\\x52\\xb1\\x66\\x8e\\xc3\\xb1\\x79\\x17\\xfe\\xf7\\x8e\\x55\\xf6\\x79\\x62\\xcd\\x62\\xaf\\x1e\\xbe\\x5f\\x8c\\xd6\\xd1\\x33\\x7e\\xba\\x96\\x27\\x37\\xe1\\x46\\x3e\\xdd\\xb2\\x0b\\xdf\\x84\\x63\\x16\\x4a\\xd7\\xe9\\xee\\x70\\x87\\xce\\x1c\\x12\\xff\\x84\\x09\\xfb\\x1c\\xf2\\xff\\x91\\x10\\xb8\\xaa\\x4e\\xbc\\x9b\\x7c\\x70\\xb8\\xc3\\x3b\\x86\\xd0\\x80\\xa7\\x57\\x9c\\x5e\\x7b\\x88\\x5c\\xb8\\x1b\\xf4\\x4f\\x9a\\xb3\\x34\\xfd\\xa8\\xec\\x57\\x50\\x14\\x7b\\x06\\xd0\\x3c\\x4d\\x35\\x50\\xdb\\xf2\\x9d\\x19\\xca\\xed\\x8e\\x07\\xaa\\xec\\x76\\x8d\\x39\\x60\\xce\\xe6\\xac\\x39\\x64\\x64\\x52\\xb0\\x83\\x52\\x56\\xb7\\xdd\\x1c\\xf0\\x05\\xfa\\x0b\\x9a\\xaa\\x2a\\x53\\xd0\\xe5\\x8a\\x83\\xc9\\x46\\x65\\x1c\\xf0\\x87\\xe1\\x7d\\x02\\x53\\x37\\xa4\\xc8\\xc5\\x22\\x69\\xe5\\xfc\\xc7\\xac\\x9c\\x6a\\x47\\x08\\x5a\\x7a\\x2b\\xbf\\x28\\x23\\x65\\x6a\\x46\\x08\\x25\\x2d\\xc5\\x4c\\x8a\\x26\\x50\\x98\\x25\\xfa\\xc1\\xce\\xc2\\x04\\xc4\\xaa\\x54\\x8e\\xc3\\x02\\xd1\\x4e\\x47\\x2c\\x50\\xc6\\xd0\\xd5\\x86\\x49\\x35\\x6b\\x6f\\x0f\\x26\\x95\\x5f\\xbb\\x4c\\xdf\\xdd\\x06\\xb4\\xe2\\x87\\xf6\\xe6\\xf1\\x5d\\x47\\x4c\\x21\\xf1\\xd3\\x7b\\xfd\\x91\\xf6\\xb3\\xab\\xc5\\xef\\x31\\x3d\\xde\\xb6\\xb4\\x79\\xc4\\x57\\x09\\x65\\x3c\\xf8\\xeb\\x1a\\xd4\\x0c\\xa4\\xf9\\xa9\\xb5\\xd5\\x75\\xf3\\x9c\\xa5\\xa4\\xfe\\x00\\x3d\\x7a\\x50\\x9c\\xc9\\x46\\x80\\x26\\x49\\xaa\\x96\\x5a\\x94\\xaf\\xab\\x32\\x1b\\x80\\x2a\\x51\\x4f\\x8a\\xe3\\x3c\\xf5\\x75\\x89\\x58\\x7f\\x21\\x61\\x35\\xfb\\x42\\xb0\\xb1\\xe0\\x8f\\x07\\x3c\\x31\\x1d\\xad\\xab\\x19\\x2c\\xe8\\x5c\\x74\\x66\\xb0\\x40\\xf3\\xe5\\xe2\\xe4\\x3f\\x49\\x13\\xd4\\x5c\\x14\\x97\\x69\\xd0\\x11\\x8a\\x04\\x81\\x69\\x17\\x05\\x0b\\xe1\\x1b\\x5e\\xf6\\xca\\xd0\\x8d\\xa7\\xde\\xf8\\xc2\\xc1\\xff\\x7b\\x63\\xed\\x69\\x1a\\x59\\x8a\\x9e\\x34\\x47\\xfc\\x40\\x92\\x9d\\x27\\xcd\\x5d\\x8d\\xce\\x46\\x2b\\xf7\\x2d\\xe9\\x9f\\xb5\\xe0\\x41\\x66\\xe7\\xb4\\x8f\\xfe\\xf5\\x4f\\xf1\\x7b\\x7f\\xef\\xd0\\x44\\x56\\x12\\x1f\\xb9\\x61\\x90\\x27\\x3f\\xba\\x50\\xc3\\xdc\\x09\\xb3\\x6d\\x44\\xdb\\x52\\x23\\xed\\xd2\\xbb\\xc3\\x2c\\x6c\\xbc\\x13\\x99\\xdf\\x50\\x29\\x6a\\x6d\\xbe\\xc3\\x48\\x39\\x9d\\x31\\x2f\\xcd\\x22\\x33\\xeb\\x65\\xd3\\x19\\x93\\x63\\xa8\\x10\\xf3\\xc3\\xff\\xbe\\xa1\\x42\\xd8\\x64\\xb4\\xc6\\x62\\x56\\xa3\\x29\\xcc\\xb9\\x93\\xe4\\xc9\\x3a\\xab\\xd3\\xeb\\xf6\\xf6\\x17\\xdc\\x82\\x81\\xd2\\x4a\\x7b\\x0b\\x47\\x3a\\x4a\\x15\\x39\\xdc\\x58\\x75\\xd4\\xe1\\xa7\\x65\\xa5\\x99\\xe3\\xa5\\x2f\\xae\\x38\\x4e\\xde\\xb5\\xc5\\xf1\\x2c\\x85\\x1f\\x12\\x30\\x78\\xe6\\xaf\\x9d\\x76\\xff\\xd4\\xe6\\xd6\\xf6\\xee\\xdb\\x3a\\x65\\xe1\\xf2\\xe3\\x91\\xff\\xd9\\x21\\x0b\\x97\\x1d\\xe8\\x72\\xfa\\x93\\xed\\xa7\\x88\\xf7\\x9d\\xd3\\x92\\x7c\\x58\\x12\\x2d\\x52\\xaa\\xe8\\x42\\x49\\xb4\\x7c\\x29\\xe5\\xd3\\xc0\\xfc\\xe8\\x37\\xc9\\x3d\\xfc\\xbe\\x7c\\x5c\\x63\\xb5\\x06\\x9d\\xce\\x78\\x22\\xa9\\x75\\xf9\\x0c\\x41\\x0b\\xfc\\xb1\\x47\\x22\\x58\\x66\\x46\\x78\\x2b\\xc9\\xd7\\xb3\\x0b\\xea\\xec\\x23\\x95\\xf6\\x2b\\xd9\\x34\\x8a\\x74\\xfc\\x01\\xc4\\x49\\x64\\x5b\\xa0\\xaf\\xc1\\x42\\x51\\xc6\\x7a\\x95\\x68\\x5f\\x4d\\xb0\\x9e\\x3f\\xdf\\x74\\xe8\\x17\\x2b\\x26\\xd2\\x6f\\x82\\x44\\xdc\\x3a\\x0e\\xce\\xfb\\x1e\\x05\\x51\\x88\\x28\\xdd\\xe8\\x67\\x0c\\x0f\\x38\\xe7\\xa8\\xea\\xbc\\x9b\\xf2\\x35\\x35\\x66\\xa2\\x5a\\x2b\\xcb\\x04\\x83\\xc9\\xfe\\x42\\x90\\x67\\x4c\\xea\\x57\\xd0\\xe4\\xdb\\x9f\\x4a\\xc1\\x13\\xd5\\x93\\x5b\\x8d\\xa9\\x44\\x3a\\x86\\xa5\\x4f\\xaa\\xec\\xf9\\x30\\xa9\\x82\\x15\\xe8\\x27\\x10\\x5c\\x2e\\xfa\\xd3\\x43\\x07\\x66\\x3e\\x5e\\xd7\\x9b\\x8a\\x6f\\x6a\\x9f\\x3f\\x77\\x48\\xfc\\xac\\xae\\x89\\xef\\xe5\\x7a\\xf8\\x67\\xae\\x5f\\xbd\\xaf\\x37\\x12\\x3c\\xa5\\xae\\x6f\\xf2\\x09\\x27\\x5f\\x9b\\xed\\xb5\\xf7\\xb2\\xcd\\x02\\xaa\\xfc\\xc9\\xed\\x51\\x3b\\xa2\\x2e\\x8c\\xd7\\xcd\\x98\\xd0\\xdc\\xbb\\x00\\x75\\xee\\x19\\xa8\\xef\\xda\\x75\\x43\\xf0\\xab\\xf5\\xc1\\x64\\x7b\\x2e\\x3b\\x31\\xdc\\x30\\xe1\\x9c\\xc1\\x46\\xe2\\x33\\x1d\\x19\\xfd\\x8c\\xbe\\x9d\\x3d\\x0f\\xf8\\x6a\\x76\\xbe\\xca\\x65\\x0f\\x85\\x8c\\x0c\\x93\\xce\\x98\\x05\\xfc\\x1e\\x9a\\x9b\\xd3\\xfb\\x8c\\xd6\\x60\\x38\\x48\\x5b\\x98\\xa0\\x31\\x68\\xa4\\xf8\\xbc\\xd5\\x6e\\xa5\\xa2\\xb3\\x4a\\x37\\xc1\\x7d\\xaf\\xa9\\x12\\x99\\xb2\\x4a\\x72\\x62\\x91\\x81\\x48\\xaa\\x07\\xa1\\x38\\x8f\\x55\\x11\\xf6\\x4e\\x15\\x65\\xc5\\x6b\\x95\\x97\\xd1\\xd0\\x63\\xbb\\xaf\\x75\\xa4\\x22\\xfa\\xb9\\x8f\\x9f\\x75\\xf5\\xd6\\xeb\\x5f\\x7a\\xc9\\x99\\x8c\\xea\\xe7\\x1e\\x68\\xae\\x6e\\x3a\\x21\\x74\\xb5\\x73\\xc7\\xe6\\x23\\x4c\\x63\\x37\\x32\\xdb\\xfe\\xb7\\x27\\xfd\\xf6\\xdb\\x6b\\xc4\\xfb\\x98\\x5c\\xa7\\xf8\\xa5\\x79\\xa8\\xa7\\x97\\x9f\\x2b\\xc4\\x30\\xef\\xc8\\xf7\\x87\\xa9\\x2a\\x6a\\x56\\xbe\\x4a\\x6f\\xaa\\xa9\\x8e\\xf9\\x22\\x11\\x1f\\x6c\\x7f\\x4b\\x5a\\x67\\x67\\xa8\\xb0\\x2b\\x62\\xa5\\xc2\\x14\\x4c\\x02\\xd0\\x86\\xcf\\x26\\x23\\x63\\x64\\xf0\\x43\\x8d\\x72\\x7d\\x45\\x69\\xf3\\x4b\\x12\\x0f\\x2b\\x98\\x5c\\xc9\\x82\\xc2\\x3e\\x77\\x5a\\xab\\x24\\x22\\x3a\\xa4\\xfd\\x4e\\xc3\\x22\\xb5\\xc8\\x17\\x76\\xa3\\x02\\x43\\x66\\x63\\xa1\\xe9\\x96\\x50\\xf8\\x9c\\xeb\\xdb\\xce\\xf1\\x35\\xf5\\xf9\\x8f\\xfd\\xf9\\x0f\\x96\\xae\\x26\\xae\\x4f\\x97\\x5b\\x7e\\x42\\x20\\x7a\\xfe\\xa9\\xad\\x6b\\x9c\\xe1\\x3e\\xfa\\xdd\\x77\\x2c\\xed\\xcd\\xf0\\x65\\xe3\\x89\\x68\\x82\\xf1\\x53\\xbf\\xf3\\x1d\\xf1\\xd6\\x1a\\x74\\x35\\x6a\\x6f\\xdd\\xb0\\xb1\\xdb\\xf8\\xb5\\x83\\xbf\\x19\\x79\\x1a\\xc4\\xf5\\x68\\x42\\xf3\\x86\\xcd\\x1d\\x58\\xcf\\x3a\\x47\\x3e\\x62\\x7e\\x43\\x72\\x18\\x1b\\xa8\\x4e\\x62\\x05\\x47\\xda\\xe9\\x94\\x83\\xb2\\x37\\x99\\xd3\\x5e\\xaf\\xd9\\xee\\x88\\xd3\\x11\\x6d\\x77\\x17\\x9f\\x1d\\x28\\xc4\\x2b\\x2a\\xdc\\x94\\x51\\xc7\\xf0\\x6e\\xde\\xcd\\x05\\x83\\x75\\x83\\xc0\\x80\\x5c\\xeb\\x40\\x41\\xcf\\x05\\x94\\xf7\\x5f\\xe5\\x7d\\x22\\x19\\xbe\\x55\\xe3\\xf8\\xe7\\xc9\\x62\\x35\\x76\\xe5\\xa5\\x1a\\x77\\x0b\\x2e\\x77\\x10\\xb1\\x35\\x16\\x23\\x78\\xf8\\x2c\\x1c\\x97\\xe6\\x28\\x3e\\xb9\\xa3\\x4e\\xbd\\x1a\\x7d\\xf8\\xdd\\x57\\xaa\\x76\\x87\\x0f\\xc7\\x37\\x75\\xbd\\xfb\\xca\\xc0\\x74\\x0f\\x3b\\xb5\\xfe\\x3d\\xf1\\xbe\\x33\\x3e\\x7e\\xe0\\xd5\\x0f\\xfb\\xd6\\xb6\\xcf\\x1e\\x99\\x76\\x2e\\xea\\x5c\\x70\\xd6\\xa9\\x57\\xff\\x04\\xc5\\xa7\\xf7\\xf6\\xcc\\x98\\xdc\\xdd\\x75\\xf7\\x8c\\x77\\x6f\\xb9\\xcf\\x6a\\xd8\\x50\\x75\\xc7\\xcc\\xf3\\xef\\xb8\\xd7\\x34\\x33\\x5a\\x87\\x74\\xeb\\x7e\\xb2\\x60\\xeb\\xaa\\xaa\\x39\\xdd\\xee\\x4d\\xdd\\x68\\xe2\\xb2\\xfc\\xac\\x7c\\x7e\\xe9\\xc8\\x69\\x9b\\x37\\x6f\\x5e\\xb7\\x0e\\xfe\\x2a\\x9e\\x63\\x64\\xe9\\x2b\\x59\\x7c\\x07\\x22\\x92\\x37\\xd3\\xb6\\x40\\xd0\\xa3\\xd7\\x73\\x4e\\x8a\\x32\\x73\\xb8\\x74\\x7f\\x5d\\xd6\\xde\\x56\\x2a\\xc9\\xae\\xe4\\xd1\\xe5\\x9a\\x54\\xb7\\x8f\\x9a\\xf0\\xb1\\x73\\x60\\xea\\x54\\x64\\x9d\\x7a\\x18\\xff\\x35\\x55\\xfc\\x0a\\x3e\\xd0\\xd9\\x90\\x11\\xbd\\x65\\x84\\x3d\\xf0\\xca\\x2b\\xf8\\x6f\\xb1\\x1a\\xff\\xfd\\xde\\x7b\\xc6\\x90\\xa4\\x83\\xfb\\xc5\\x29\\xcc\\x4b\\x24\\x47\\x22\\x45\\x4d\\xcf\\x67\\x82\\x6e\\x87\\xde\\xa9\\x4d\\x30\\x0c\\xaf\\xd5\\xe3\\x6b\\x9e\\x0e\\xa3\\xcd\\x08\\x7a\\x37\\xda\\x5f\\x70\\xda\\x34\\x1a\\x8a\\xb7\\x59\\x29\\xdf\\x40\\x01\\xb0\\x54\\x9c\\x0f\\xfb\\x71\\xde\\x87\\xea\\x54\\x25\\xdd\\x84\\xa2\\x0a\\x53\\x91\\xfb\\xfa\\x9a\\xb4\\xfc\\xb4\\x3d\\xf1\\x9e\\xd1\\xc8\\x8b\\x7f\\x7b\\xef\\xb5\\x49\\x28\\x20\\x7e\\xc8\\x67\\x4f\\xe2\\xc3\\x7d\\x8c\\x4e\\xfc\\xea\\x8a\\x7d\\xdf\\x1f\\x1a\\xe8\\xab\\xcd\\xd8\\xd7\\x2e\\x01\\xec\\x5e\\x79\\xe4\\xfe\\xc3\\xe9\\x13\\x06\\x50\\xb7\\x60\\x01\\x5e\\xea\\x11\\xff\\xf8\\xd3\\x17\\x8f\\x3c\\xff\\xcd\\x8a\\x9b\\x6e\\x5f\\x79\\x5b\\x9d\\x90\\x3e\\xb0\\xe7\\x02\\x72\\x4e\\x4c\\x69\\x47\\x3f\\xd3\\x3c\\x0d\\x76\\x78\\x37\\x75\\x6d\\x7e\\x88\\xee\\x6c\\x6a\\xd0\\xeb\\xab\\x2d\\x69\\xbe\\xaa\\x2a\\xe4\\x8f\\x04\\x23\\x19\\xc1\\xd2\\xa9\\xe9\\xc9\\x37\\x34\\x56\\x5b\\xab\\xf8\\x90\\x5f\\x17\\xcc\\x66\\xeb\\x5a\\x26\\x4c\\xd0\\x0c\\x15\\x26\\xf0\\x75\\x35\\xfd\\x85\\x3a\\x2a\\x16\\xab\\x4c\\x57\\x0e\\x14\\x92\\xf9\\x44\\xda\\x1a\\x74\\x79\\x1d\\xb3\\x0a\\x5e\\x57\\xa7\\x9e\\x26\\xf7\\x81\\x29\\x53\\xd9\\x55\\x6b\\x5c\\xdf\\x08\\x84\\x84\\x54\\x68\\xb7\\xec\\x35\\x68\\xbb\\x72\\x1b\\x5e\\xbe\\x5d\\x59\\xf4\\xc5\\xc8\\x13\\xca\\xaa\\xe8\\x35\\x2a\\xbd\\x9f\\x98\\xd6\\xc6\\xc9\\x0b\\xe6\\x8a\\x20\\x91\\xd2\\x86\\x5b\\x72\\x20\\x4a\\xb4\\xd8\\x3a\\xf1\\x82\\x13\\xcf\\x7e\\x32\\x87\\xa4\\x4f\\x80\\x9d\\x21\\xde\\x2b\\xc9\\x90\\x8e\\xa5\\x5d\\xce\\xb3\\xba\\x6b\\x25\\xe1\\x82\\x16\\x2c\\x47\\xe7\\x65\\xb6\\xdf\\xa6\\x99\\xbc\\x67\\x23\\x62\\x97\\x4a\\x29\\x0d\\x24\\x2b\\x03\\x3e\\x6e\\x14\\x23\\x92\\x5c\\x09\\x04\\x16\\x4c\\x58\\x44\\x9f\\x2a\\x89\\x9c\\x59\\xe8\\xff\\xd0\\xb3\\x9e\\xde\\x4b\\x5a\\x3f\\x58\\xd3\\xbb\\xb0\\x98\\xcc\\x21\\xdf\\x1d\\x03\\xc6\\x68\\x24\\x77\\xd0\\xdb\\xf2\\x41\\x40\\xc3\\x46\\xd2\\x93\\x90\\xde\\xa0\\x1f\\x28\\xd8\\x0d\\x06\\xce\\x62\\x95\\xae\\xa0\\x73\\xea\\x0c\\xa5\\xb2\\x44\\x6e\\x1c\\x26\\x29\\x5e\\x36\\x68\\x2a\\x5e\\xe6\\xce\\xd1\\x8d\\x67\\xe3\\x6b\\xd0\\x67\\x9f\\x8d\\x1f\\x76\\x3d\\x1b\\x3d\\x20\\xee\\x23\\x0a\\x68\\x68\\x8d\\xf4\\x8e\\xab\\xf8\\x9c\\x94\\x27\\x41\\x6f\\x81\\xb1\\x3d\\x54\\x63\\xde\\x67\\xf6\\x79\\x29\\x2b\\x6f\\x05\\x37\\x91\\xe7\\x0d\\x4e\\xa7\\x1d\\xb8\\xd0\\x6a\\x60\\x67\\x15\\x0c\\xe5\\xef\\x9f\\xaa\\x87\\x55\\xbf\\x4c\\xd9\\x89\\xe4\\xc1\\x6d\\x39\\x01\\x3d\\x57\\x57\\x59\\x51\\x1f\\xb9\\x30\\x77\\xf6\\xb9\\x5b\\xb6\\x6c\\x41\\xd7\\xed\\x45\\x0f\\xfc\\x66\\x52\\xb3\\x79\\xc8\\x1d\\xd9\\x76\\xde\\xaf\\x09\\x02\\xe2\\x9a\\x35\\x20\\x9f\\x7c\\x60\\x7f\\x6d\\x06\\xf9\\x14\\xa4\\x12\\x20\\x7b\\xd7\\xe7\\xdb\\x32\\x71\\x8a\\xe7\\xcd\\x42\\x45\\x34\\xaa\\x13\\x74\\xd5\\x35\\x31\\x9d\\xdb\\xe3\\x1e\\x28\\x64\\x38\\x8f\\xc7\\x1c\\x08\\x80\\x40\\x0e\\x58\\x79\\xc1\\x21\\xf4\\x17\\x1c\\x7e\\xb3\\xd1\\x18\\x02\\xd7\\xc7\\x45\\x83\\x1b\\x4b\\xd1\\xea\\x07\\x36\\xc7\\x54\\xf4\\xcd\\x29\\x75\\x2d\\x4a\\x37\\x16\\x4a\\x46\\x99\\x1b\\x98\\x80\\x30\\x06\\xb6\\xcb\\xd4\\x24\\x74\\x80\\x4c\\x8e\\xda\\x5c\\x0e\\xe0\\xa2\\x68\\x2d\\xc2\\x16\\xd9\\x53\\x07\\x75\\x73\\xe6\\x9a\\xff\\xef\\x10\\x58\\x65\\x97\\x8d\\x7c\\xb1\\x6a\\xf5\\x6a\\x30\\xc4\\x86\\xe7\\xcc\\xd5\\x88\\xf7\\xce\\x5a\\xb8\\xa4\\x1f\\x2d\\xe0\\xe6\\x81\\x39\\xf6\\xdb\\x0f\\xd7\\xbc\\xf3\\x31\\x98\\x63\\xaf\\x61\\x1a\\x33\\x1a\\x32\\xd7\\x63\\x3f\\xbf\\xff\\x7e\\xf1\\xa0\\xc0\\x50\\x29\\xf1\\x2f\\x37\\xde\\x87\\xe5\\x00\\xae\\x89\\x34\\x81\\xdc\\x8f\\x4f\\x52\\x73\\xf3\\x55\\xf6\\x78\\xdc\\xa8\\x75\\x80\\xc6\\x41\\x5a\\x94\\x4a\\x7b\\x65\\x16\\x88\\x51\\x84\\x07\\x7c\\xc0\\x04\\xac\\xcb\\x62\\x65\\x83\\x25\\x17\\x56\\x0a\\x90\\x2a\\x75\\x1a\\xd4\\x77\\xb2\\x8a\\xa6\\x8b\\x24\\x88\\x95\\x45\\x51\\xdd\\x9e\\x84\\xe5\\xc1\\x2f\\x29\\x45\\x61\\xf1\\x98\\x37\\x5e\\x7d\\xe6\\x8f\\x1f\\xac\\x59\\x83\\xf3\\xab\\xd0\\x83\\x38\\xbb\\x6a\\xad\\xd8\\xb3\\x79\\xbd\\x38\\xb8\\x16\\x3d\\xb0\\xfe\\xee\\x07\\x7e\\xf1\\xf3\\x53\\x14\\x6e\\x41\\x5d\\x38\\xcd\\x4a\\x3c\\xb4\\x46\\xdc\\x7f\\xea\\xa6\\x2d\\xa7\\x6c\\xd9\\x82\\xe7\\x11\\x84\\x79\\xbc\\x09\\xf3\\xa8\\x04\\xfd\\x72\\x65\\xbe\\x55\\xa8\\xab\\x63\\x5c\\xb5\\xb5\\x99\\x40\\x26\\xea\\xb3\\x19\\x18\\xab\\x2e\\x9b\\x0b\\x5a\\xad\\x7c\\xd4\\x68\\x35\\x86\\x8d\\xaf\\x1b\\x19\\x07\\x67\\xe4\\xeb\\x32\\x2c\\xc7\\xc2\\xd6\\x17\\xb8\\x98\\x9e\\xd2\\xf3\\x7a\\x3a\\xc2\\xe8\\xf1\\xe3\\x41\\x82\\xaf\\x0f\\xfe\\xfd\\x30\\x6f\\xd3\\x5b\\xfb\\x38\\xfc\\xe8\\x88\\x8f\\xb7\\x52\\x55\\xa5\\xf4\\x17\\xf9\\x28\\xb3\\x8a\\x18\\x97\\xb6\\xe2\\xa2\\xe6\\xe4\\x1f\\x6d\\x63\\x45\\x22\\x17\\x4b\\xa4\\x61\\xea\\x5d\\xa8\\x5b\\x7a\\x1b\\xd6\\x11\\x65\\x70\\x09\\xfa\\x5a\\x94\\x66\\xa2\\x0e\\x72\\x3d\\x07\\x3f\\x14\\x00\\x8b\\xaf\\x61\\xd3\\x78\\xa5\\x43\\x88\\xde\\xfe\\xb5\\xf8\\x77\\x6b\\xdf\\x0c\\xe1\\xb5\\x9f\\xb2\\xee\\x27\\xa7\\x64\\x66\\x58\\xd0\\x9f\\x84\\x19\\x8b\\x8d\\xe8\\x0f\\xc6\\x85\\xfd\\x02\\xfa\\x93\\x75\\x46\\x66\\xe6\\x43\\x6e\\xf6\\xae\\x17\\x84\\x19\\x7d\\x56\\xf1\\x8b\\xaf\\xb7\\x6c\\xd1\\x88\\x09\\xed\\x56\\xe7\\x83\\x0f\\xae\\xd9\\x71\\xab\\x27\\x66\\x58\\x85\\x5c\\xe2\\x9f\\x8d\\x1b\\x97\\x2d\\xdc\\x6a\\x42\\x41\\xf1\\x6f\\xab\\x0c\\x31\\xdf\\x4f\\xcf\\x58\\xf3\\xe0\\x83\\x2b\\xcf\\x3e\\xf7\\x82\\x33\\x81\\x56\\x98\\xd7\\x71\\x7c\\x26\\x02\\x9e\\xfc\\x9c\\x7c\\x0d\\x9b\\xc9\\x44\\xfc\\xd6\\xa8\\xc9\\x64\\x15\\x22\\x6c\\x6d\\x8d\\x25\\xa0\\x0f\\x85\\x40\\x24\\x86\\x5c\\x76\\xef\\x60\\x41\\xb0\\xfb\\xf5\\x89\\xc1\\x82\\x46\\xcf\\x93\\x4c\\x79\\x4a\\xf5\\xcc\\x77\\x6e\\x9c\\x8a\\xb2\\x72\\x70\\x9c\\xc4\\x99\\xe4\\xd0\\x0c\\xaf\\x55\\x9f\\x96\\x75\\xe2\\xbb\\xbf\\xc9\\xb2\\x00\\x0d\\x88\\x30\\x03\\x89\\xcb\\xdc\\xb2\\xf3\\xd2\\xc9\\xe4\\x5d\\xd3\\xad\\xb3\\x66\\xdf\\x21\\xfe\\x4a\\x1d\\x99\\x69\\x72\\xf7\\x88\\xf7\\x2c\\x59\\x8e\\xa3\\x32\\xe2\\xa7\\x97\\x5d\\x71\\xf0\\x49\\xfc\\xbc\\xe9\\xa7\\xcb\\x3c\\x93\\xd0\\xa1\\x31\\x71\\x19\\x98\\xdb\\x62\\x98\\x5b\\x1c\\xfc\\xa8\\x42\\xbe\\xc1\\x42\\x55\\x54\\x38\\xa2\\x42\\x42\\x2b\\x38\\x7c\\x5a\\xb6\\xbe\\x2e\\xee\\xe8\\x2f\\xc4\\x05\\x4f\\x78\\xb0\\xe0\\xf7\\xf8\\x6d\\xd6\\xfe\\x82\\x8d\\x32\\x54\\x0f\\x14\\x4c\\x06\\x9e\\x4d\\xc3\\xee\\x65\\x5d\\x65\\xaf\\xb3\\xaa\\x26\\xa9\\xbe\\x2b\\x7f\\x7c\\x4c\\x86\\xbc\\x72\\x5d\\x36\\xcb\\xf8\\x0f\\xc5\\x63\\x60\\xb6\\xab\\x95\\x79\\xfe\\xdf\\xb8\\x71\\x98\\xbf\\x7b\\x7a\\xff\\xfd\\x9a\\xe7\\x6c\\x79\\x92\\x8b\\x4a\\x21\\x18\\x90\\x93\\x56\\x71\\x26\\x89\\xc1\\xa4\\x71\\x86\\xa6\\x4d\\x10\\x98\\x74\\xdc\\xed\\x0e\\xa6\\x99\\x8c\\xa1\\x42\\x48\\x27\\xd3\\xe0\\x23\\x09\\xbe\\x28\\x58\\x4c\\x3e\\xbf\\xd6\\x02\\x42\\x49\\x8b\\x9c\\x88\\x41\\x83\\x05\\x1b\\x63\\x2d\\x05\\x22\\x54\\xf3\\x02\\xf9\\x89\\x72\\x76\\xf5\\x1d\\x8d\\x52\\x90\\x25\\xae\\x8a\\xc8\\x94\\x4f\\x0e\\x84\\xd3\\x4f\\xa4\\x40\\x4b\\x5e\\x8a\\xc3\\xdc\\xa8\\xcc\\x48\\x3c\\x6d\\x15\\x33\\x49\\x8e\\xb0\\x90\\x18\\xcc\\x88\\xab\\x34\\x13\\x9c\\x67\\x04\\xb2\\xb6\\x59\\xec\\xe0\\x5c\\xac\\x9f\\x6a\\xa6\\x7a\\xa8\\x13\\xa8\\xab\\xf2\\xb3\\x72\\x13\\x26\\x74\\x74\\xd4\\xcf\\xa0\\xe3\\xcd\\x31\\x2a\\x64\\xb1\\x4c\\xae\\x68\\x11\\x5a\\x26\\x53\\xcd\\x74\\xbd\\xb6\\x3f\\xc8\\xf3\\x03\\xf0\\xeb\\x94\\xcf\\x31\\x58\\x88\\xf4\\x0e\\x14\\x2c\\x21\\xd0\\x0a\\x54\\x8c\\x89\\x18\\x2d\\xba\\x94\\x2f\\x62\\xd1\\xe9\\x2c\\x11\\x5f\\x8a\\xab\\xe1\\x6a\\xba\\x07\\x0b\\x35\\x01\\xae\\x0f\\xdb\\x89\\xbc\\xca\\x4e\\x2c\\xba\\x84\\x92\\x41\\x5c\\x55\\x25\\x3f\\xe2\\x8c\\x70\\x70\\xa5\\xdc\\x68\\x54\\x6c\\x98\\xb2\\x8b\\x08\\xda\\xe8\\x98\\xb9\\x6b\\xa2\\xf2\\xc5\\x04\\x5c\\x8e\\x07\\x95\\x6e\\x26\\xa0\\xc6\\x78\\xb4\\xf8\\x0e\\xa2\\xea\\x66\\x02\\x42\\x25\\x53\\x12\\xa1\\xf3\\x4b\\x84\\xfa\\x76\\x86\\xf8\\x24\\x58\\x96\\xf4\\x94\\xdc\\x7b\\x68\\x3e\\xb1\\x2c\\xa7\\x9d\\xd2\\x3e\\x9b\\x7e\\xfc\\x5c\\xf1\\x79\\x62\\x59\\x8a\\xef\\xcb\\x96\\x25\\x5a\\xa4\\x32\\x2d\\xed\\x03\\x32\\x31\\xb5\\x6f\\x98\\x66\\x06\\x73\\xe2\\xbf\\x88\\x8d\\x59\\x33\\xa7\\x13\\x6c\\x4c\\xf1\\x97\\x92\\x8d\\x49\\xff\\xa8\\xdc\\xc6\\xcc\\xc1\\x9e\\x38\\x1d\\xf6\\x44\\x8a\\x3a\\x39\\xdf\\xea\\x32\\xf8\\xf0\\x6d\\x82\\x60\\x30\\x16\\xe3\\xb5\\x1a\\x9d\\x41\\x93\\x49\\x13\\xd7\\x9a\\x0a\\xfa\\x74\\xb1\\x48\\xac\\xbf\\xa0\\xa5\\xfc\\x0c\\xe3\\x89\\x08\\x66\\xe7\\x60\\x81\\x37\\xfb\\x35\\xc0\\x3f\\xe0\\xfc\\xa9\\x4a\\x64\\x10\\x11\\x58\\x8c\\x59\\x8d\\xdd\\x1c\\x98\\x80\\x7a\\x72\\xe7\\x8e\\xdc\\xe1\\x1e\\xcb\\x36\\x8c\\xea\\x4a\\x37\\x1a\\x46\\x1b\\x56\\xa2\\x55\\xa7\\x7d\\x88\\x26\\xce\\x29\\x91\\xe5\\x57\\x2d\\x4f\\x6f\\x5e\\x22\\x56\\x14\\x60\\x9f\\xa0\\xe7\\xd1\\x55\\xee\\xde\\x5e\\xd7\\x67\\x23\\x5f\\xab\\x79\\x08\\x4d\\x1b\\xfc\\x0e\\x6b\\x02\\xf6\\x1d\\x8f\\x54\\x6f\\x23\\x03\\x7b\\xc2\\x05\\xf3\\x73\\x51\\xb5\\x79\\x8f\\xdd\\xe3\\x16\\x60\\x93\\x0b\\x14\\x65\\xe7\\xc1\\x70\\xe0\\x05\\xce\\x34\\x58\\xd0\\x29\\x4f\\x47\\x97\\xea\\x18\\xe3\\x0a\\x59\\xc7\\x23\\x48\\x10\\xdb\\x5f\\xda\\xa1\\xe2\\xad\\xab\\x00\\x93\\x85\\xea\\xf1\\x95\\x71\\x5b\\xc4\\x99\\x9a\\xdd\\x60\\x33\\x4c\\xa0\\x36\\xe6\\x3b\\xb8\\x64\\xb2\\xb2\\x32\\xd0\\x1c\\x30\\x50\\x0d\\x0d\\xcd\\x86\\xe6\\x8e\\xf6\\xb6\\x96\\xfe\\x42\\x9b\\xb5\\xa1\\x32\\x19\\x30\\x34\\x37\\x36\\xf7\\x17\\x32\\xbe\\x46\\xc1\\xea\\x1a\\x2c\\xd8\\xad\\xfe\\x48\\x2d\\x53\\x3b\\x54\\xe0\\x62\\x38\\xef\\x5b\\x4b\\x91\\x38\\x06\\xd8\\xfa\\x55\\x6a\\x02\\xe7\\xc6\\x0b\\x09\\xda\\xe4\\xc8\\xa1\\x3a\\x1c\\xe8\\x1d\\x87\\xca\\x36\\x39\\xe4\\x27\\x9b\\x62\\xe5\\xf7\\x27\\xa2\\xa5\\xf0\\xdf\\xd2\\xd2\\x34\\x9f\\x90\\x13\\x5e\\xc5\\x1a\\x29\\xe1\\x15\\x2c\\xce\\xc5\\x68\\x5d\\x31\\xda\\x07\\x36\\xa2\\x8a\\x00\\xff\\x29\\x89\\x56\\xa6\\x0b\\x3b\\x07\\xe8\\x92\\xa1\\x96\\xe4\\x73\\x54\\x38\\x9c\\xf0\\x68\\x9c\\x3a\\x9d\\xc6\\x9c\\x60\\x2b\\x2a\\xad\\x95\\xc8\\xc8\\xa4\\x93\\xfd\\x85\\xb4\\x35\\xec\\xd1\\x24\\x62\\x89\\xfe\\x82\\x2b\\x26\\x18\\xed\\x83\\x05\\x8b\\xd1\\xcf\\x04\\x86\\x0a\\x12\\x39\\x54\\x4a\\xa6\\x3c\\x8e\\x57\\x7e\\xa3\\x45\\x36\\x93\\xc7\\x9f\\x7f\\xf9\\x8c\\x4f\\x07\\xfb\\x58\\x3d\\xdd\\xa2\\x5d\\x2d\\xcf\\x72\\xbc\\x39\\x16\\x0d\\x69\\x32\\xad\\xa2\\xde\\x94\\xeb\\x2b\\xac\\xc8\\x37\\x27\\x38\\xa7\\xae\\xc2\\x4b\\x05\\x02\\xe1\\xb0\\x45\\xc7\\x81\\xe6\\x24\\x2f\\x7e\\x5b\\x83\\xe1\\xfe\\x42\\xd0\\x2f\\x68\\xdd\\xb4\\xbb\\x6a\\xb0\\xe0\\x75\\xbb\\xe4\\xc9\\xd1\\x29\\xb5\\x79\\x58\\x9c\\x9c\\x14\\xb1\\x1b\\x5b\\x5c\\xa2\\x74\\x17\\x86\\xa4\\x92\\x8d\\xd5\\x9f\\x69\\x58\\xda\\xe2\\xd4\\xca\\x23\\x75\\xcb\\x94\\x29\\x16\\xd6\\x82\\x75\\x28\\x9e\\xb9\\x6a\\x6c\\x8c\\xee\\xf0\\x05\\xcf\\xc8\\xb3\\x5c\\x97\\x02\\xeb\\x50\\x7c\\x07\\x18\\xfa\\x01\\x75\\x80\\x8e\\xac\\x1f\\x89\\xcf\\x45\\xb1\\x75\\xa0\\x75\\x04\\x38\\xce\\x4d\\x47\\x90\\x99\\x75\\x9b\\x1d\\x11\\x36\\x1e\\x0b\\xb0\\x08\\x85\\x79\\x9f\\xa7\\xbf\\xe0\\xb3\\x72\\x6e\\xc1\\x0d\\x9b\\x4d\\x30\\xd8\\x06\\x0b\\x66\\xc3\\x98\\x4d\\x86\\x67\\x58\\xcc\\xef\\x50\\xac\\x23\\x1c\\xcb\\x8a\\x91\\xf0\\xf5\\x78\\x5b\\xcf\\x4d\\xa2\\x74\\x4c\\x05\\x8e\\xbf\\xfd\\xb8\\xb4\\x5c\\x0b\\x77\\xec\\x40\\x97\\x1b\\x71\\x64\\x8e\\xde\\x7c\\x4e\\x4b\\x72\\xe4\\xc5\\xb2\\xa5\\x82\\xf5\\x79\\x1e\\x47\\xe5\\x30\\xee\\x5d\\x20\\x0b\\x3e\\x85\\x35\\x6a\\xa2\\xa6\\xe6\\x33\\x75\\x51\\xbf\\x89\\xa2\\xd2\\x1a\\x47\\x94\\x6b\\x6e\\xa9\\xcb\\x80\\xa9\\xce\\x59\\x13\\x89\\xea\\xfe\\x42\\x82\\xb7\\x02\\xfa\\x56\\x17\\x63\\x00\\xd3\\x86\\x51\\xd0\\x1e\\x9b\\xdb\\x2c\\xd9\\x6f\\x63\\xa9\\x5f\\x16\\xee\\x4a\\x8f\\x79\\x28\\x5f\\x23\\x3f\\x77\\x40\\x7f\\xaa\\x60\\xbf\\xf8\\x6a\\x55\\xb4\\xeb\\xb2\\xab\\xcf\\x54\\xc5\\xb9\\xe6\\x5d\\x7c\\xcd\\x8e\\x76\\x79\\x26\\x3b\\x72\\x4a\\x9c\\xab\\xa5\\xb7\\xaa\\xe6\\x96\\x4d\\x4a\\x90\\xab\\x69\\x52\\xa6\\xe6\\xda\\xf5\\x44\\x96\\x8f\\x5e\\x03\\x6b\\x73\\x9f\\x7c\\x06\\x53\\x6d\\xa8\\xcc\\x98\\xcd\\x3e\\x1f\\x1b\\xad\\x64\\x6b\\x1d\\x35\\x2c\\xa5\\xa3\\x06\\x0b\\x19\\xd3\\x40\\x41\\x97\\xd1\\x65\\xf8\\x50\\x08\\xfc\\x91\\x58\\x08\\xf1\\xee\\xc1\\x82\\x83\\x2f\\x3d\\x3b\\xaf\\x14\\xf7\\x28\\xd7\\xfe\\xb2\\xf7\\x5e\\x5a\\x10\\x61\\xcc\\x25\\xac\\x92\\x4d\\x00\\xcc\\x07\\xbf\\xa4\\xef\\x0c\\xae\\x74\\x4b\\xcb\\x73\\x4f\\xe9\\x41\\x7a\\xc5\\x28\\x40\\x47\\x76\\x8a\\xef\\x9a\\x39\\x3c\\xb3\\x13\\xee\\x29\\x3e\\x47\\xcf\\x2e\\x96\\xed\\x82\\x63\\x8f\\x5c\\x77\\xf0\\x49\\xe9\\x6d\\xd2\\x99\\x38\\x9f\\x9e\\x0a\\x51\\x03\\xf9\\x2a\\xa7\\x37\\x60\\xb0\\x9b\\xcd\\x26\\xd6\\xe1\\x33\\x78\\xb5\\x91\\xb0\\xc3\\x64\\xf5\\x3a\\xcd\\x76\\x2b\\xc8\\x71\\x97\\xd5\\x6a\\xf2\\xe1\\x1a\\x25\\x94\\x0e\\x9c\\x0f\\x1c\\x88\\xc8\\x96\\x4c\\x34\\xd9\\xf1\\x18\\x73\\xeb\\x40\\x3d\\x99\\xe2\\x2d\\x70\\xe9\\x5e\\xf8\\x18\\xf4\\xf7\\x89\\x67\\xf4\\xa2\\xc3\\xa7\\x7f\\xf5\\xce\\x7a\\x94\\x9b\\x24\\x0e\\xa3\\xb6\\x9d\\xe2\\x4c\\x09\\xf3\\xa9\\xcc\\x2a\\x90\\x00\\xbe\\x91\\xbf\\xd2\\x3e\\xf8\\xd7\\x79\\x4c\\xdc\\x8b\\xb1\\xc6\\x78\\xeb\\x60\\x1d\\xbe\\x01\\xbc\\x33\\xd4\\xa6\\x7c\\x8f\\xdf\\x12\\x36\\x6b\\x8c\\x26\\x2e\\x1d\\x61\\x33\\xd1\\x54\\x2a\\x13\\x8b\\x84\\x18\\x4e\\xd0\\x7a\\x8d\\x66\\x8b\\xb9\\xb2\\x22\\x15\\x36\\x47\\x13\\x51\\x90\\xf5\\x26\\xf8\\x3d\\x0a\\x26\\x04\\xd9\\xae\\xce\\x18\\x35\\x2c\\x62\\xfb\\x0b\\x3a\\x64\\x55\\x85\\x19\\xc6\\xe8\\xd7\\xe3\\x42\\x5b\\x52\\x9e\\x29\\xcc\\xc2\\xdd\\x42\\x26\\xa3\\x1f\\x47\\xfe\\xa5\\xa5\\x4c\\x59\\x3d\\x0a\\xa3\\x7f\\x9e\\x72\\xe9\\xa3\\x4b\\x51\\x7e\\xb6\\xf8\\x2f\\x54\\xb9\\xb0\\xb4\\xa1\\xae\\x3f\\xe5\\xce\\x77\\x97\\x8a\\xcf\\xce\\x41\\xd5\\xe2\\xd7\\xcc\\xa9\\x3d\\x3d\\xfe\\xdf\\xbd\\xed\\xed\\xe9\\x11\\xc4\\xdf\\x88\\xcd\\xc2\\xce\\xe2\\xd6\\xea\\x71\\x8f\\x8c\\x0a\\x3d\\x3d\\x3c\\x5a\\x8e\\x6e\\x97\\xf5\\x2c\\x89\\x4d\\x46\\xa8\\x13\\xf2\\x15\\xfa\\x90\\xd9\\xe5\\x36\\x1a\\x1d\\xb4\\x2b\\xc4\\xc5\\xa2\\x2e\\x8b\\xd3\\x69\\x01\\x67\\xd8\\x69\\x35\\x19\\xdd\\x46\\x10\\x09\\x01\\xa3\\x40\\x69\\x07\\x0b\\x8c\\xb2\\x52\\x39\\x39\\x3e\\x99\\x1b\\xa7\\x00\\x99\\x1a\\x79\\x54\\x8a\\x1b\\xc9\\x25\\x03\\x60\\xad\\x16\\xc9\\x78\\x8f\\xcc\\x41\\x0f\\x16\\x03\\x90\\xe2\\xa0\\x14\\xa0\\x84\\xc5\\x92\\xd0\\xad\\x61\\x92\\x52\\xdc\\xf1\\xd8\\x07\\x38\\x1e\\xb9\\x02\\x96\\x8a\\xa6\\x7a\\x81\\xbf\\xbe\\x66\\x0e\\xc1\\x3a\\x65\\xc1\\xab\\xef\\xac\\xf1\\x86\\x9c\\xd9\\x2c\\x63\\xe3\\x38\\x26\\xe9\\x65\\x73\\xc6\\xc6\\x50\\x05\\xc8\\x81\\x64\\x38\\x49\\x9b\\x98\\x50\\x32\\x94\\x74\\x53\\xee\\xfa\\x59\\x05\\xa7\\xdb\\xe5\\x60\\x60\\x36\\x82\\xc1\\x62\\x81\\x49\\x58\\xfc\\x14\\x2c\\x1f\\x75\\xfc\\x19\\xbc\\xb2\\x97\\x48\\x5d\\x35\\xd5\\x56\\xca\\x15\\x13\\x21\\xdc\\xca\\x8d\\x7e\\xc9\\x05\\xc6\\xd7\\xe7\\x49\\x08\\xb2\\x1b\\xe1\\x54\\x1b\\x7c\\x6b\\xb7\\x0b\\x39\\x8a\\x15\\x12\\x5a\\xe8\\x18\\x3a\\x71\\xe9\\x56\\xaf\\xa7\\x2a\\x3f\\x7b\\xf2\\xa5\\x3b\\xff\\xc7\\xd5\\x7f\\x4e\\x5e\\x7c\\x7f\\xde\\x1d\\xfb\\x76\\x5c\\x3e\\x67\\x4d\\xaa\\xf7\\xc7\\x7b\\x2e\\x9b\\x73\\xe2\\x8c\\x8e\\xfa\\x49\\x83\\xcc\\x21\\xf1\\xd8\\xc8\\x4f\\x3c\\x3f\\xf9\\xd4\\xb1\\xe9\\xb0\\xfd\\x89\\x67\\xdb\\xfb\\x9a\\xd2\\xc8\\xb3\\xf6\\xdc\\x4e\\x96\\xb9\\xf4\\xe7\\x8d\\x5b\\xff\\xec\\x36\\x89\\x6e\\x86\\x5d\\x7a\\xca\\xdc\\xc1\\xb8\\xec\\x13\\x71\\x3b\\x41\\x26\\x06\\x80\\x0a\\xf3\\xf3\\xb5\\x71\\xa7\\x97\\xcf\\x64\\x02\\x66\\x84\\x02\\x4e\\xa6\\x42\\x5b\\xe9\\xb3\\xba\\x23\\x58\\x51\\xf1\\xf6\\xd4\\xac\\x02\\x6f\\x77\\x59\\x03\\x40\\x12\\x41\\x63\\x30\\x30\\x83\\x05\\x2c\\xd2\\xd5\\x13\\x2e\\xfe\\x75\\xdc\\x64\\x93\\x63\\x27\\x8a\\xaf\\x18\\x36\\xda\\x71\\x9a\\x40\\xd4\\xa6\\xba\\x78\\xd1\\xc2\\x9e\\xaa\\xcc\\xef\\x5b\\xfb\\xc6\\x47\\xc5\\x9f\\xbd\\x7e\\xe0\\xe1\\xe9\\x28\\x2a\\x7e\\xb0\\x7c\\xf6\\xfc\\x39\\xd3\\xe6\\xcc\\x5f\\xdb\\xab\\xcc\\x6a\\xc9\\x46\\xf4\\xce\\x3f\\x90\\xe9\\xd4\\xa1\\x63\\xfb\\xd0\\xf5\\xf7\\x3d\\xfb\\xf6\\xf3\\x77\\x3e\\xb2\\x4c\\x9a\\xcf\\x14\\xf6\\x1b\\x90\\x81\\x60\\x6a\\x51\\x0b\\xf2\\xb5\\x46\\xaf\\xb7\\xba\\x92\\x0b\\x85\\xec\\x54\\xd2\\x9e\\xcc\\x65\\xeb\\xac\\x83\\x05\\x53\\x1d\\xaa\\xcc\\x64\\x74\\x03\\x85\\x0c\\x1f\\x8e\\xc5\\x60\\x1e\\x31\\x97\\xdb\\xef\\x07\\x83\\xd6\\xef\\x1f\\x5b\\xc6\\x7d\\x4c\\xd1\\x46\\xac\\x7d\\xa5\\xf3\\xe8\\x92\\xff\\x86\\x64\\xa9\\x57\\x36\\xc3\\xa2\\xe9\\x8f\\x3d\\x40\\xf9\\x1e\\xd3\\xf6\\xa2\\x2f\\xc7\\x9c\\x4d\\x44\\xe0\\xca\\xb4\\x27\\x98\\xef\\x5d\\x79\\xe0\\xf9\\xce\\x35\\x79\\xd9\\xfb\\xc3\\xe2\\x51\\xf1\\xe7\\x68\\x01\\x24\\xe1\\xf7\\xe7\\x8c\\x7a\\xd6\\x7d\\xe8\\x78\\xf5\\xd0\\x92\\x4c\\x80\\xf8\\x7f\\xd5\\xdd\\x20\\x23\\x89\\xbd\\x31\\x85\\xd8\\x51\\xcf\\x83\\x1e\\xae\\xc0\\x96\\x54\\x8a\\x67\\xbc\\x49\\x9b\\xdd\\xae\\xd7\\x7b\\x79\\xa6\\x32\\x52\\x65\\xad\\x0a\\x57\\xd1\\x7a\\x26\\x69\\x1b\\x28\\x24\\x93\\x1a\\x93\\x29\\x06\\xe2\\x91\\xd7\\xb8\\x66\\x15\\x34\\xae\\x10\\x45\\xf9\\x07\\xa5\\x70\\x6d\\xf9\\xdb\\x2f\\x9e\\x3a\\xc9\\x8e\\x52\\xf9\\x7c\\xb2\\xac\\xec\\x54\\x25\\xe5\\xaa\\x2e\\x8f\\x14\\xe7\\x8c\\xe4\\xdb\\x22\\xcc\\xd3\\x97\\xee\\x5c\\x3c\\xeb\\xe3\\xf7\\x7f\\xf7\\xb6\\x72\\x63\\x44\\x5a\\xcf\\x91\\x3f\\x91\\x5b\\x22\\xe2\\xcc\\x27\\x9e\\xed\\x72\\x7d\\x35\\xf2\\xcf\\xaf\\x8b\\x97\\x45\\x0e\\x93\\xe5\\xe4\\xec\\xf2\\xf5\\x10\\x49\\x47\\xb3\\x0b\\x81\\x1f\\x5b\\xa8\\x65\\xf9\\x9c\\x4b\\xdf\\x54\\x51\\xd7\\x16\\x63\\x2a\\xac\\x41\\x8d\\x9e\\xd1\\xb4\\xb6\\xd5\\x66\\xb3\\x60\\x37\\x65\\xfd\\x9a\\x90\\xdf\\x1f\\x9a\\x85\\x57\\xcc\\x64\\x72\\x0c\\x14\\x78\\x13\\x9f\\xa1\\xa8\\xe4\\xac\\x31\\xb5\\x36\\xa9\\xe2\\x0b\\x0d\\x63\\x5e\\xea\\x29\\xc6\\x5e\\xa4\\x4b\\xfe\\xf2\\x0a\\x69\\xc7\\xbb\\xe3\\x4f\\xee\\x1e\\x96\\x73\\xaf\\x06\\x7d\\xf6\\xca\\x9f\\xd7\\x9d\\x78\\xe0\\xc3\\xdf\\xed\\x3b\\x13\\xf5\\xc5\\x3b\\x56\\xcf\\x5d\\xd4\\x91\\xdd\\xde\\x5d\\x5f\\x1f\\xb9\\x7d\\xf3\\xe6\\x0d\\x0b\\x77\\x36\\x28\\x2c\\xbc\\xd8\\x79\\xdd\\x15\\xcb\\xcf\\x74\\x6a\\x3b\\x6f\\xd9\\x74\\x66\\xe2\\xf3\\x73\\x6b\\xfb\\xa7\\xb7\\xcd\\xe1\\x4d\\xe7\\x59\\xd2\\x17\\xcf\\x2f\\x44\\x1c\\xff\\x94\\x39\\x79\\x62\\x40\\xba\\x27\\x0d\\xf2\\xb3\\x86\\xcc\\x7b\\x61\\xbe\\xc1\\xd5\\x14\\xab\\xa3\\xf1\\x03\\x1e\\xfa\\x86\\xba\\x26\\x6d\\x5b\\x6b\\x43\\xc0\\x1f\\xf0\\xcf\\x2a\\x04\\x02\\x54\\x45\\x75\\x75\\x72\\xa0\\x50\\xcd\\xeb\\x4c\\x26\\x0e\\x58\\xd9\\x4f\\x39\\x60\\x5b\\x96\\x55\\xad\\x2b\\x45\\x9e\\x8f\\x17\\xa6\\x5c\\x2c\\x5d\\x3e\\x99\\xe2\\x5b\\xdc\\xc7\\xe5\\x0b\\xa4\\x8b\\xe6\\xa5\\x54\\x3b\\xe6\\xdc\\xad\\x8b\\x95\\x69\\x35\\xec\\x5c\\xb8\\x61\\xf3\\xe6\\xdb\\x23\\xf5\\xf5\\xdd\\xdb\\xb3\\x1d\\x0b\\xe7\\xad\\xee\\x88\\xf7\\xa1\\x33\\xf7\\xbd\\xf5\\xc1\\x81\\xe5\\xeb\\x0f\\x3b\\x03\\x2b\\xe4\\x79\\xfd\\xde\\x11\\x59\\x38\\xef\\xe2\\xb4\\xe5\\x3c\\x93\\x75\\x6e\\xdb\\xf4\\xfe\\xda\\x73\\x3f\\x4f\\xec\\xd8\\x78\\x4b\\xa7\\xd6\\x79\\xe6\\xf2\\xcb\\xaf\\x97\\x6b\\x96\\xc2\\x5a\\x1f\\x01\\x1e\\x4e\\x52\\x35\\xd4\\xa9\\xf9\\x09\\xfe\\xba\\x4a\\x46\\xc3\\x55\\xc4\\x05\\x47\\x34\\x5a\\x61\\x62\\xd8\\xda\\x3a\\x6b\\x5d\\xb8\\x0e\\xb8\\xd8\\x17\\x0a\\x81\\x9d\\x12\\xf2\\xc7\\x63\\x95\\x6c\\xe5\\x40\\xc1\\xc1\\xb2\\x94\\x89\\xe7\\x0d\\xb3\\xf0\\xc5\\xa0\\x94\\xba\\xf4\\x8c\\x34\\x6f\\x75\\x75\\xd3\\x92\\x63\\x90\\x2b\\x71\\x34\\x77\\x7c\\xae\\x89\\x3b\\xa7\\xde\\xc1\\x4d\\xb6\\xb8\\x05\\xa5\\x8b\\x15\\xd9\\x7e\\x7a\\xf0\\x7e\\xf4\\x79\\xfd\\xba\\x25\\xe4\\xfe\\xd3\\xe1\\x0f\\xd8\\x2b\\x15\\x52\\x70\\x8e\\x37\\x1e\\x23\\x9c\\xed\\x20\\x0c\\x7d\\xf6\\x44\\x7c\\xfb\\xe9\\x93\\x7f\\x8d\\x3c\\x2f\\xd3\\x00\\x0d\\xff\\xfa\\xf9\\x93\\x81\\xb7\\x4f\\x6b\\x22\\xf3\\xad\\x81\\x35\\xae\\x26\\xbe\\x68\\x8c\\xea\\xce\\x47\\xdd\\x0e\\x47\\x22\\x1e\\xf1\\xcd\\x2e\\x44\\x04\\xe2\\x95\\x5a\\x8b\\x5e\\xa9\\xd6\\x68\\x64\\x07\\x0b\\xc6\\xb1\\xe2\\xa8\\xac\\xea\\x65\\x72\\x8c\\xf6\\x28\\x9a\\xfc\\xaa\\xf7\\x5e\\xd1\\xf0\\x6a\\x05\\x53\\xc9\\x55\\x15\\xdf\\x2e\\x16\\xc3\\x5c\\x58\\xd2\\x0f\\x92\\x91\\x8c\\xfa\\x4a\\x35\\x31\\x73\\x80\\xe7\\x54\\xe2\\xa3\\xe5\\xf3\\xb1\\xb8\\xc6\\xec\\xcd\\x78\\x9d\\x1a\\xb6\\xb2\\xc2\\xee\\x72\\x81\\xfc\\x74\\xf9\\x0d\\xe1\\x81\\x82\\xcf\\xe0\\xca\\x30\\x0c\\x28\\x05\\x72\\xcd\\xa2\\xe4\\x9c\\x8e\\x79\\x12\\xab\\x78\\x25\\x9e\\x04\\xaf\\x85\\x32\\x12\\x4b\\x76\\x72\\x31\\x95\\x2d\\x57\\xf3\\xd3\\x39\\xdf\\x7f\\xb7\\xf1\\xcd\\xcb\\x07\\xe6\\x29\\x48\\xf7\\x55\\x86\\x27\\xb6\\xb6\\x2f\\x6f\\x3a\\xfb\\x92\\xcb\\x4e\\x62\\xce\\x4c\\x64\\xbe\\xfe\\xee\\xe6\\xf7\\xb7\\x1a\\x67\\x17\\x89\\x7b\\xe2\\x5d\\x6e\\xd7\\xd2\\xfb\\xcf\\xf8\\xf5\\x03\\x41\\xc9\\xf6\\xa5\\x5f\\x20\\xb1\\x2f\\xc0\\x59\\x13\\x89\\xd8\\xd3\\x4c\\x45\\xc6\\xe0\\xf5\\x66\\x12\\xf8\\x3c\\x3d\\x81\\x6c\\x82\\x60\\x01\\xcb\\xca\\xaf\\x0f\\x82\\x3a\\xd3\\xbb\\xca\\x9c\\x91\\x5c\\x15\\x09\\xf9\\x48\\x7c\\x22\\x9f\\xa7\\x0b\\xe4\\xbd\\xab\\xe3\\x50\\x56\\xdb\\xbb\\xf4\\x85\\x58\\x90\\xbf\\xf2\\x14\\xcf\\x2b\\x18\\x97\\xec\\x5c\\x72\\xcb\\x68\\x64\\xd2\\xd3\\xbf\\x45\\x7d\\x45\\x7c\\x7d\\xd8\\xca\\xa5\\x9f\\x2e\\xde\\x2f\\x42\\x54\\x18\\x74\\xef\\x09\\xa4\\x86\\x36\\xf8\\x52\\x06\\xce\\x15\\xb3\\x52\\xf8\\xc2\\x03\\x98\\x1f\\x81\\x54\\xc2\\x09\\x9e\\x88\\xe0\\x0f\\x87\\x3d\\x83\\x85\\xb0\\x9f\\xd7\\xe8\\x34\\xfd\\x05\\xbb\\xce\\xca\\x98\\xb1\\x17\\x5c\\x8a\\x44\\x96\\xa9\\x2b\\x94\\x2b\\x73\\x81\\x93\\xda\\xb2\\x7b\\x7d\\x84\\x3f\\x6c\\x63\\x8d\\x0e\\xfa\\xd0\\xd8\\x5a\\x5c\\xca\\x64\\x0e\\x0f\\xc1\\xc6\\x16\\xe8\\x79\\xf8\\x1e\\x1f\\x38\\xbc\\xf4\\x41\\x4f\\xef\\xb1\\x7d\\x25\\xbe\\x91\\xe6\\x80\\x79\\x1a\\xd7\\xb0\\xaa\\xa0\\xe6\\xe5\\x6b\\x19\\x6b\\xc2\\xeb\\x8f\\x0b\\xe9\\x74\\xdc\\xe0\\x8d\\x58\\x35\\x95\\x55\\xf1\\x68\\x20\\x0a\\x16\\x43\\xc2\\xeb\\xa5\\x22\\x51\\xab\\x22\\xb4\\xec\\xc7\\x0b\\x2d\\xb9\\x14\\x50\\xb9\\xc4\\x1a\\x57\\x66\\xfd\\x87\\x0a\\x57\\x33\\x67\\x2a\\xc8\\x8f\\x57\\xe9\\xca\\xb1\\x50\\xc6\\xfd\\xa5\\x71\\x0b\\x5e\\x49\\xb5\\x68\\xe9\\x24\\x7d\\x15\\xbb\\x99\\xb2\\x52\\x3e\\x9c\\x13\\x29\\x68\\xcd\\x0c\\xcf\\x5b\\xb4\\x96\\x80\\xdf\\xc4\\x20\\x9c\\x13\\xd9\\x45\\x39\\x28\\x03\\xc9\\x68\\xe0\\x50\\x07\\x34\\x93\\x6f\\x5a\\x8f\\xcd\\x89\\x94\\x6d\\xf1\\x1c\\xb9\\x95\\x45\\x6c\\x70\\x1c\\x2a\\x75\\x92\\xf4\\x2c\\xcc\\xef\\xa1\\x8f\\x8d\\x13\\xd7\\xbd\\x71\\xd6\\x86\\xd3\\x2a\\x71\\x42\\xe4\\xaa\\xaa\\x5c\\x53\\x17\\xdb\\x95\\x6e\\x9a\\x28\\xfe\\xe5\\x9a\\xdb\\xf2\\x39\\x34\\xf2\\xd5\\xc9\\x9b\\xff\\x71\\xd2\\x69\\x6d\\x4a\\xae\\xdd\\x3f\\x48\\x6e\\x4a\\x25\\xc1\\xd1\\x43\\x33\\xe8\\x33\\xf6\\x0c\\xd0\\xfd\\x55\\x94\\xff\\xd1\\x24\\x4d\\xeb\\x02\\xc2\\x53\\x80\\x46\\x05\\x49\\xb5\\x28\\xde\\x4c\\x2f\\xcb\\xaa\\xd0\\xc8\\xf7\\x2e\\xa4\\xdb\\x20\\x92\\x3b\\x0a\\x86\\xa5\\x5b\\x0a\\x06\\x01\\x45\\x7f\\x33\\xa1\\xeb\\x84\\x25\\xa7\\x2c\\x5a\\x37\\xc9\\x69\\xee\\x32\\xc5\\xab\\x27\\x9d\\x33\\x7b\\xce\\x8a\\x2a\\xaf\\x90\\x8e\\xc6\\x27\\x84\\xdf\\x6d\\x6e\\x68\\xa9\\x0d\\xcd\\xab\\xaa\\x61\\xe2\\xa1\\x13\\x3a\\x26\\xce\\x6c\\xcb\\xb4\\x0c\\x4d\\x9a\\x72\\xfa\\x92\\x0b\\xa7\\x0a\\xf7\\xac\\xb0\\x9a\\x5a\\x57\\x4f\\xbd\\xcb\\x17\\xf3\\xcd\\x0f\\x63\\xdc\\x62\\x74\\x9a\\xae\\xe4\\x7e\\x42\\xee\\xe7\\x76\\xe7\\xfd\\x61\\x9b\\xe0\\x65\\xbc\\x26\\x13\\x63\\x63\\x92\\xa9\\x80\\x06\\x1c\\x12\\xd6\\x21\\xc0\\x1f\\x36\\x66\\xc1\\x69\\xe9\\x2c\\x4e\\x5f\\x2c\\xde\\xd0\\x72\\xb7\\xa9\\xca\\xba\\x4b\\x45\\x53\\x70\\x42\\x9b\\xbb\\x45\\xd0\\xba\\x1c\\x02\\x8f\\xeb\\x02\\xf2\\x51\\xb0\\xa8\\xd2\\xd2\\xad\\x6a\\x59\\x3d\\xef\\x5c\\xd3\\xd4\\xb6\\x64\\xf9\\xfd\\x9b\\x9f\\x62\\xc5\\x7f\\xed\\xda\\x85\\xb8\\xb4\\xdb\\x35\\xe1\\x46\\x31\\xd5\\xd0\\x10\\xcd\\x54\\x36\\xa4\\xd8\\x37\\x3a\\xd2\\xf6\\x1e\\x47\\xdb\\x8a\\xe9\\x13\\x6f\\x12\\xff\\x28\\x88\\x7f\\xdb\\x73\\x09\\x72\\x70\\x73\\xba\\x16\\x88\\x4f\\xac\\xda\\xb8\\x71\\xd5\\x8e\\x13\\xb7\\xe0\\x5a\\x87\\x40\\xdf\\x4f\\xd8\\x2d\\xbc\\x86\\x3b\\x0d\\x38\\x1a\\x8d\\x7e\\x4f\\x67\\xd1\\x8f\\xb9\\xab\\x81\\x03\\xc2\\x0f\\xf9\\x3c\\x07\\x50\\xd7\\x30\\x43\\x39\\x19\\x1b\\x26\\xb1\\x85\\xd2\\x4a\\x19\\x97\\x6e\\xa0\\xf2\\x0f\\x47\\xc4\\x41\\x1a\\xcf\\x9a\\x37\\x6f\\xeb\\xfa\\xf6\\x4c\\xca\\x6e\\x71\\x77\\x6c\\xda\\xb4\\x48\\x7c\\xb2\\x8b\\x4d\\x55\\xba\\x3b\\x36\\x9f\\x65\\xbc\\xb8\\xc7\\x72\\xc3\\x50\\xb7\\xd8\\x63\\x49\\xa7\\x2d\\xc4\\x6f\\xff\\x1e\\x69\\xd1\\xf5\\xec\\x6a\\x18\\xaf\\xf2\\x31\\x67\\xc0\\xef\\x13\\x04\\xf7\\x01\\xd4\\xfe\\x38\\xe5\\x70\\x58\\x0c\\x5a\\xc6\\x2e\\x65\\x70\\xbf\\x90\\xcd\\xe6\\xd4\\x35\\x3f\\x60\\xa4\\x31\\xc1\\x1f\\xe5\\x0c\\x0d\\xf5\\xcc\\x9d\\xbb\\xfd\\xd4\\xae\\x64\\x71\\x6c\\x34\\xb9\\x93\\xde\\x54\\xe1\\xe9\\xd8\\xbe\\xcd\\xb8\\xbb\\xd7\\x72\\xe3\\x50\\x17\\x3a\\x88\\x13\\x66\\x08\\x2f\\xe9\\x51\\x25\\xdd\\xc2\\x6e\\x05\\xfb\\x3f\\x4d\\x4d\\xcc\\xdb\\x92\\x42\\xd8\\x67\\x05\\x31\\xa4\\x11\\x98\\x4c\\x05\\xef\\x73\\xf8\\x9f\\x81\\x49\\xc7\\x29\\x0f\\xb0\\x3a\\xbe\\x10\\xdf\\xfd\\xb0\\x09\\x57\\xbb\\xe9\\x94\\x72\\x9f\\x14\\x96\\x2f\\x7b\\x1d\\xaa\\x98\\xb7\\x41\\x6c\\x0b\\xc9\\x16\\x96\\x04\\x66\\x4b\\x0e\\x65\\x5b\\x9a\\xe4\\xac\\x60\\xba\\x65\\xfe\\xf5\\x4b\\xa6\\x2f\\xce\\x78\\x5d\\x79\\xef\\xc0\\x24\\x9c\\x1c\\x8c\\xf7\\x82\\xe1\\x4e\\xf1\\x83\\xe6\\x2e\\x9c\\x20\\x4c\\xd7\\xcf\\xd9\\xda\\x29\\xdc\\xb1\\xc2\\xcc\\xaf\\x3c\\x6d\\x02\\x4e\\x13\\xbe\\xf6\\xb6\\x7c\\x56\\x34\\xb6\\x3d\\x04\\xfb\\x62\\xc5\\xa9\\x92\\xec\\xe1\\x51\\x03\\x7d\\x29\\xd0\\x0d\\x14\\x65\\xde\\x6c\\xe2\\x6c\\xc8\\xef\\xf7\\x70\\x9e\\x40\\x10\\x97\\xe6\\xe9\\x7c\\xcc\\x6d\\x37\\x6a\\x34\\x4e\\x1d\\x4e\\xb7\\xb6\\x22\\x39\\xd5\\x29\\xa7\\x94\\x89\\x28\\xdf\\xa8\\xa8\\x45\\x9d\\x3b\\xe3\\x52\\xe7\\xcb\\xc4\\xd1\\x1d\\xec\\xe6\\x81\\x5b\\x5a\\x91\\x3b\\x4b\\xf2\\x79\\x90\\xbb\\x65\\xc2\\xc7\\xb4\\x61\\x49\\x5e\\x49\\x92\\xc9\\xb6\\x3a\\xd1\\xcf\\xf0\\xc7\\x91\\x66\\x9c\\x19\\x83\\x73\\x77\\xb3\\x68\\x19\\x77\\x11\\x65\\x03\\x9a\\xb5\\x3d\\x66\\x37\\x1a\\xc3\\x21\\xbf\\x40\\xd2\\xf2\\x28\\x9d\\xce\\xaa\\xd7\\xb3\\x46\\x33\\xce\\x90\\x42\\x1a\\x0d\\x5b\\xca\\xce\\x97\\x0b\\x1b\\x74\\xe7\\x94\\xc7\\x2d\\x04\\xf9\\x0a\\x47\\x13\\xbe\\xd2\\x81\\xef\\x01\\x94\\x29\\x77\\x6b\\x97\\xf8\\xbf\\x9d\\x0b\\x16\\xb4\\x7d\\x34\\x28\\x8e\\x34\\x66\\xd2\\x4d\\x4d\\xe9\\x4c\\x23\\x53\\xf3\\x22\\xc9\\xc8\\xeb\\x7a\\xc9\\x9a\\x3e\\xd6\\x85\\x46\\x52\\x4d\\x4d\\xa9\\x74\\x73\\x0b\\xd1\\x35\\xc0\\xe3\\x3b\\x81\\x56\\x16\\xca\\x37\\x4c\\xf3\\x56\\x86\\xc3\\xdc\\xac\\x57\\xb2\\x49\\xe5\\x3a\\x32\\x52\\xd2\\xb9\\x4d\\xce\\x6d\\xfd\\xfe\\xc7\\x93\\x8f\\x36\\xb9\\x43\\xae\\x7e\\x3a\\xfd\\x23\\xb4\\xcd\\x9a\\x16\\x67\\x4f\\xd3\\x35\\x58\\xed\\x84\\xf6\\x29\\x98\\xe3\\x64\\x80\\x67\\xa4\\x22\\x8f\\x19\\xf1\\xdb\\x2e\\xc6\\xe3\\xd2\\x1d\\x8b\\x9c\\xea\\x50\\x5d\\x48\\x59\\xd6\\x86\\xc2\\x6d\\x6d\\xe2\\xe1\\x36\\xb6\\x81\\x10\\xaf\\x45\\x62\\x44\\x84\\xf3\\x06\\xd1\\x5c\\xf6\\x64\\x10\\xae\\x89\\xbc\\xde\\xae\\x43\\x46\\x23\\x67\\x33\\x59\\xf0\\xe2\\x69\\xe9\\x62\\x21\\x9e\\x62\\x79\\x05\\x92\\x71\\x51\\x46\\x1d\\x72\\xf1\\x05\\xcd\\x9d\\x81\\x21\\xcf\\x98\\x81\\xc7\\x98\\xc1\\x64\\x5f\\xc1\\x1b\\xec\\x95\\x2e\\xc2\\xeb\\x07\\x29\\x8a\\x19\\xfd\\x02\\x55\\xa1\\xdf\\x73\\xbb\\xc9\\xba\\xa4\\x80\\xdb\\x2d\\xf8\\x01\\x58\\x60\\xf6\\x4c\\x42\\xa3\\x49\\x0b\\x7e\\x9c\\xa8\\x62\\xa4\\xcc\\xa8\\x7d\\x98\\x8a\\x46\\x71\\x11\\x8f\\x2e\\x2a\\x44\\x31\\x84\\xd9\\xe5\\xea\\x2f\\xdd\\xf2\\xd9\\x90\\x6c\\x4e\\x92\\x77\\x93\\x24\\xc7\\xa8\\x1d\\xc9\\x77\\x0a\\x18\\x55\\x3e\\x27\\xb0\\xbb\\x7c\\xce\\x73\\x95\\xf1\\x82\\xb5\\xb3\\x16\\xcc\\x9f\\x36\\x77\\x05\\xe2\\x27\\xe7\\x5b\\x12\\xa9\\x96\\xa6\\x4c\\xaa\\x49\\xfc\\xdb\\x49\\xf4\\xdc\\x54\\x45\\x12\\x7d\\xba\\xe8\\xe4\\xbe\\xee\\xf6\\xa9\\xe8\\x5b\\x21\\x3d\\xf2\\xda\\x34\\xa6\\x27\\xd3\\xd4\\x9c\\x4e\\xb4\\x34\\x1d\\x4b\\x6f\\x8a\\xfa\\x7c\\x41\\xa9\\x1e\\x10\\xaa\\x43\\xfb\\x09\\xee\\x81\\x61\\xb3\\xdd\\x61\\xe1\\x81\\x9f\\x1e\\xd6\\xe0\\xb4\\x40\\x79\\x33\\xca\\x52\\x41\\x95\\xba\\x4e\\xf2\\xbf\\x72\\xc8\\x98\\x8a\\xd8\\xcc\\xde\\x74\\xae\\x71\\xfd\\xce\\xb6\\x8f\\x68\\x7d\\xdf\\xa0\\x71\\xd2\\xc5\\xc6\\x9d\\x9b\\x98\\x46\\x60\\x56\\x44\\x45\\x51\\x0d\\x9a\\x06\\xbc\\xea\\xa2\\x32\\xc3\\x76\\x8f\\xdb\\x81\\xf9\\xf4\\x11\\xca\\x6e\\xe7\\xf1\\x6a\\x9a\\x74\\x5c\\x09\\x7e\\x69\\x8c\\xb1\\xc7\\x99\\x72\\xea\\xa5\\xb1\\x6b\\xfa\\x50\\x45\\x2e\\xed\\x33\\xda\\xa7\\xbc\\xd5\\x09\\x43\\xad\\xb1\\xcc\\xd8\\x74\\xba\\xf1\\xe2\\x49\\xc6\\x2b\\x5a\\x32\\x16\\xfa\\x63\\xbc\\x37\\x10\\xd5\\x44\\x67\\xe9\\x02\\xac\\xb3\\x95\\xaa\\xc8\\x1b\\x68\\xa3\\x51\\xcb\\xdb\\x90\\x89\\x2c\\xf4\\x23\\x46\\x0d\\x2d\\xd7\\xf9\\xc8\\x8d\\xa9\\xb4\\xa3\\x2d\\x55\\x7a\\x23\\x46\\xee\\xa6\\xf9\\xa7\\xcd\\xae\\x8f\\xd5\\x58\\x47\\x3e\\x6d\\x6b\\x43\\x9d\\x6c\\x97\\x55\\xec\\xd1\\xad\\xfe\\x45\\xc6\\x82\\x5e\\x26\\x73\\xaa\\x44\\x35\\xcc\\x93\\xec\\x16\\x72\\xfb\\xde\\x5b\\x65\\x77\\xbb\\x0d\\x31\\x43\\x7d\\x1a\\x9f\\x6a\\xd1\\xf5\\x4c\\x63\\xce\\xec\\xf3\\xd5\\x54\\xa5\\x2b\\x70\\x3a\\x75\\x1c\\xe8\\xda\\xfe\\x58\\xd0\\x6d\\x8f\\xc5\\x84\\x08\\x9e\\xb1\\x96\\xa1\\xc8\\x8c\\xb3\\x59\\x45\\x52\\x74\\x4b\\xf5\\x9c\\xd5\\x66\\x09\\x61\\x00\\x55\\x6c\\x0a\\x9b\\x84\\x65\\x87\\x2a\\x65\\x39\\xa9\\x6e\\xf9\\x34\\x06\\x9b\\x94\\xf4\\x1b\\x2d\\xf5\\x29\\x9f\\x99\\x8f\\xa6\\x70\\xe6\\x5d\\xab\\xf8\\x09\\xc9\\xbc\\x23\\x19\\xaa\\x52\\x5a\\xde\\xac\\x1b\\x77\\xa2\\x1a\\x4c\\xb4\\x59\\x53\\xd1\\x83\\x6b\\xbd\\xbe\\x88\\x78\\x13\\xc9\\x52\\x1d\\x58\\xeb\\x16\\x97\\x92\\x4f\\x30\\xc7\\x06\\x9c\\xa3\\x27\\x9e\\xb0\\x69\\xa7\\x24\\x07\\x1d\\xa8\\x8e\\x79\\x0f\\xf6\\x22\\xce\\x2d\\xf4\\x45\\x81\\x9f\\xc7\\xc9\\x2d\\x94\\x52\\x0b\\x1f\\x0b\\xdb\\xed\\x9c\\x2a\\xb7\\xb0\\x53\\xce\\x2d\\x24\\xab\\x2b\\xdf\\x03\\x3e\\xee\\xda\\x96\\xed\\xff\\x77\\x6e\\x21\\xfd\\xed\\xe6\\x19\\x3f\\x98\\x5a\\x08\\x0c\\xdc\\x4c\\x72\\x0b\\x57\\x91\\x9d\\xff\\xd0\\x5a\\xaf\\x33\\xa5\\x7c\\x76\\xa3\\x3b\\x88\\x04\\x6d\\x24\\xb9\\x85\\xa0\\x13\\x9f\\x41\\x35\\xf4\\xed\\xb0\\x86\\x31\\xbc\\x4f\\xfd\\x30\\x1b\\x3a\\xe2\\x8a\\x24\\xac\\x71\\xbf\\x26\\x88\\x17\\xce\\x4d\\x79\\x41\\x34\\x38\\xac\\x30\\xa9\\xce\\x47\\x22\\x65\\x45\\xb1\\xa4\\x25\\xc3\\xc6\\xb0\\xaa\\x1e\\x82\\x72\\xee\\x53\\x1e\\xb8\\x96\\x57\\x07\\xaf\\x1b\\xba\\x14\\xe4\\x7b\\x4d\\xed\\xce\\x75\\x78\\x81\\x8c\\xf6\\x48\\x0a\\xaf\\xc8\\x09\\x37\\xb7\\xd1\\x59\\x4c\\x7d\\x9c\\xdc\\x69\\xd9\\xb4\\x13\\x2f\\x4c\\xff\\x74\\x3a\\x83\\x97\\xe0\\x6e\\xbc\\x32\\x52\\xde\\x23\\xf0\\x9b\\xa9\\x88\\xab\\xd3\\x60\\xb0\\x32\\x5e\\xab\\x37\\x1e\\x4d\\x38\\xb5\\x2e\\x8c\\x2b\\x4f\\xd9\\x81\\xbb\\x71\\x8d\\x2b\\xcc\\x61\\xe1\\x40\\x89\\xc3\\x6c\\xe3\\xe2\\x4a\\x1e\\xa2\\x4a\\x1d\\xc7\\x42\\x82\\x4d\\xd9\\xdb\\xf4\\x5d\\xeb\\x77\\x62\\x64\\x8b\\x8c\\x73\\xc2\\xcd\\x78\\x8f\\xfb\\x52\\xf5\\xa8\\x66\\xe7\\x26\\x74\\x0b\\xc9\\x44\\x2d\\xf1\\xca\\xdd\\x62\\x9b\\xb4\\xe9\\xa5\\xbc\\xd7\\x2c\\x7d\\x06\\x91\\xb3\\xdd\\x79\\x5b\\x79\\x8d\\x27\\x1d\\xae\\xf0\\xd4\\x4e\\x2a\\x3c\\x3d\\x45\\xcc\\x5c\\xad\\x5c\\xee\\x43\\x61\\x8e\\xb1\\x25\\x9e\\x72\\xc5\\x12\\x4f\\x45\\x11\\x80\\xbe\\xeb\\x7a\\xba\\x6d\\xb1\\xf8\\x04\\xfc\\xdd\\xf6\\x2e\\xa2\\xd9\\x3a\\x92\\xc0\\xce\\xa0\\xfb\\xc5\\xcb\\x25\\x7c\\x2c\\x19\\xf1\\x21\\x72\\xce\\x8f\\xf3\\xad\\x2b\\x80\\x66\\x46\\xca\\x4e\\x79\\xa9\\xa6\\xbc\\xdd\\xc5\\xf3\\x1a\\x37\\x98\\x1e\\x1a\\xca\\xe7\\xe7\\x5d\\x2e\\xc6\\xa1\\xc7\\xb4\\x33\\x29\\x55\\x94\\x94\\xcb\\x8e\\x2a\\xce\\x2c\\x93\\xb5\\xcd\\x2d\\x71\\xa7\\xcb\\x11\\xd3\\x68\\x73\\xb5\\x88\\xae\\xb8\\xe0\\xa2\\x8b\\x77\\xe0\\x54\\x68\\xf1\\xbb\\xc6\\x18\\xba\\x2f\\x55\\x5d\\x17\\xa5\\xef\\xa3\\x93\\xcc\\xc0\\x4d\\x7b\\x7f\\x7c\\xcd\\x9e\\x1f\\xff\\x48\\x3c\\x7f\\xdd\\xba\\x9d\\x4b\\xd1\\xef\\x97\\x2f\\x5d\\xbe\\x94\\xe0\\x13\\x41\\xd5\\x4c\\x3b\\x37\\x07\\x57\\xe4\\xa7\\x92\\xd4\\xe2\\xbc\\xe0\\x31\\xc5\\x5d\\x2c\\xeb\\xb7\\xea\\xc1\\xac\\xd5\\x9b\\x98\\x54\\x5a\\xe0\\x79\\x5c\\xac\\x6c\\x38\\x16\\x08\\xb8\\xac\\x07\\x50\\xc7\\x23\\x71\\xbf\\x1f\\xc4\\x6f\\xf7\\x23\\xac\\x5e\\xaf\\xc5\\x19\\x78\\x04\\xd3\\x62\\xa9\\x1d\\x75\\xbd\\xb0\\xd2\\xc9\\x5d\\x11\\x6d\\xf9\\xa4\\xbb\\x29\\x61\\x93\\xaf\\x96\\x83\\xfe\\x62\\x11\\xce\\x1c\\xb4\\x20\\xae\\x31\\x95\\xb6\\x75\\x21\\xa6\\xfd\\xa6\\x9f\\x60\\x15\\x2f\\xfe\\xfa\\xda\\x3b\\x3b\\x51\\xa6\\x0b\\xb5\\x8c\\xfc\\xa8\\x67\\x6a\\x5f\\x1e\\xfd\\xb2\\x7b\\x5a\\x5f\\x9e\\xe9\\xdf\\xbd\\xd7\\xfa\\x32\\xde\\x32\\x2f\\xfb\\x91\\xe1\\x9c\\x6b\\xf9\\xfd\\xf8\\xf3\\x7e\\xbf\\xf8\\xef\\x2d\\x2b\\x71\\x4a\\xfb\\x8a\\x8d\\xa7\\x9e\\xcc\\x8b\\x1d\\xfc\\xc9\\x78\\xcd\\x6d\\xa8\\x16\\xdd\\x0f\\x36\\x5e\\x8e\\x6a\\xcf\\xdb\\xc2\\xf6\\x4a\\xc6\\x94\\x4c\\x7a\\x1a\\x18\\x3b\\xd7\\xd8\\xa4\\x67\\x2b\\x70\\x46\\x7b\\xd0\\x0b\\x72\\xbf\\xe3\\xe1\\xfa\\x1a\\x95\\xf4\\xeb\\x1e\\xf3\\x12\\x2e\\xa9\\xd0\\xf1\\xc3\\x87\\x5b\\xc5\\xa7\\xbc\\x71\\xd9\\x25\\x85\\x51\\x8f\\xad\\xdf\\x99\\x71\\xdb\\x27\\xa6\\x9b\\xb2\\x75\\x73\\xe7\\x4d\\xdb\\xb8\\x68\\xea\\xb2\\x8c\\xc3\\xda\\x1d\\x9a\\x5b\\x3f\\x67\\xee\\x8c\\x75\\x5b\\x8c\\xa9\\x28\\x4f\\xb8\\xb6\\x76\\xe7\\xa6\\xe7\\x07\\xec\\xe1\\xea\\x78\\x24\\xe3\\xf7\\x2f\\x9e\\x7c\\xc2\\x22\\xdb\\xd5\\xbd\\xbc\\xa7\\x37\\x54\\xe1\\xf3\\xcd\\x9b\\x54\\x58\\x15\\x2e\\xb2\\x2f\\xc8\\x85\\x97\\x41\\x5f\\x3d\\xc4\\x5d\\x03\\xb6\\x72\\xe8\\x51\\x87\\x3f\\xc0\\x50\\x60\\x2a\\xd7\\x3c\\x4c\\x12\\xf3\\x3b\\x55\\x19\\xf9\\x2a\\x2f\\xfe\\xf8\\x83\\x2a\\x74\\xb9\\xdd\\xe4\\xed\\xd8\\xb9\\x9e\\x88\\x62\\x5b\\x24\\xb5\\xfd\\xd4\\xce\\x14\\x47\\xf5\\x58\\x6f\\x1c\\x59\\xa9\\x6c\\xf1\\x9f\\x6c\\xdf\\x66\\xba\\x58\\x92\\xad\\xe8\\x1a\\xf6\\x63\\x5c\\x39\\xfb\\x71\\x3e\\x99\\xf0\\x09\\x4e\\x9b\\xfb\\x97\\x60\\xe1\\x98\\x61\\xb1\\x43\\x94\\x11\\x68\\xa7\\x56\\x19\\xb8\\x5c\\xdb\\x6b\\x8a\\x31\\x55\\x1c\\xb7\\x13\\x69\\xa5\\xa0\\x92\\x72\\x9f\\x53\\xba\\x90\\xe8\\xd4\\x7c\\x8c\\x0b\\x15\\x98\\x6d\\xe1\\x84\\xc5\\x32\\x6b\\xc1\\xb4\\xf9\\x53\\x16\\x6e\\xdb\\x16\\xf1\\x25\\x2a\\xe7\\xa1\\x3a\\x8c\\xc6\\x60\\x5f\\x04\\x4d\\x9f\\x84\\x36\\xa7\\xdd\\xbb\\x76\\x75\\x89\\x37\\xa4\\x33\\x86\\x39\\xdb\\x2e\\x00\\xfb\\x12\\xe7\\xb2\\xef\\x86\\x3d\\xec\\x03\\x89\\xb3\\x34\\x1f\\x0f\\x3a\\x38\\xce\\x83\\xec\\x91\\x88\\x59\\x6f\\x05\\x33\\x4c\\x40\\x6c\\x22\\xee\\xb4\\x58\\xf8\\x30\\x65\\x34\\x7a\\xec\\x26\\x13\\xeb\\xe2\\xb1\\x1d\\xe5\\xe7\\x88\\xd8\\x47\\xe0\\x74\\x75\\x15\\x4b\\x2c\\x48\\xe6\\xd4\\xd8\\xa2\\x9f\\x39\\x55\\x2e\\x8c\\x80\\xd7\\x17\\x68\\x48\\xdc\\x0b\\xc9\\x0e\\x95\\xad\\x51\\x2e\\x8b\\xaf\\x17\\x83\\x25\\x3f\\xd8\\xf2\\xae\\x1e\\xe7\\xbb\\xb7\\xb6\\x1e\\xf9\\x45\\xee\\xc3\\x16\\xf1\\x50\\x6d\\xcd\\x2f\\x2a\\x99\\xec\\x6f\\x2c\\x19\\x90\\x3d\\xa7\\x74\\x3f\\x63\\x4d\\xff\\x03\\xff\\xdf\\xfd\\xb4\\xf3\\xde\\xa1\\x6c\\x2b\\x20\\x50\\x0b\\x3e\\xe2\\x03\\xa0\\xaf\\x32\\xd4\\xcc\\x7c\\x24\\xe4\\x49\\xdb\\x4d\\x0c\\x03\\x1e\\x36\\x8c\\x53\\x59\\x11\\x36\\x99\\xfc\\x56\\x6b\\x42\\x13\\xd7\\xea\\x74\\x66\\x8d\\x26\\x60\\xc6\\x76\\xaa\\x50\\x56\\xaa\\xa5\\x78\\x85\\x36\\x6b\\x53\\x3d\\xfd\\xa4\\xdc\\x2f\\x96\\x6f\\xd2\\xb5\\x44\\x95\\xd2\\xd2\\xe4\\x6a\\x71\\xd4\\x5d\\xbc\\x4e\\x27\\x38\\xd1\\xba\\x9b\\xee\\xda\\xb1\\x81\\xb1\\x2c\\xe9\\xf0\\xd4\\xe8\\x50\\xd4\\xdc\\xd8\\xda\\x37\\xb5\\x6f\\xea\\x84\\x9c\\x19\\x45\\xf5\\x35\\x9e\\xc9\\xb3\\x2d\\xcc\\x69\\x3b\\xe9\\xf4\\xd6\\xed\\xf3\\x37\\xd9\\x05\\x4d\\xe7\\xdd\\xf7\\xeb\\x17\\x4c\\x5b\\x32\\x34\\xb4\\x64\\xfa\\x7c\\xfd\\xfd\\x77\\x77\\x6a\\x04\\xdb\\xa6\\x05\\x9f\\xcb\\xf5\\xf2\\xd2\\xb0\\x0e\\xab\\xa5\\x3a\\x58\\x16\\x41\\x4f\\x0b\\xb4\\xaa\\x0e\\x56\\xfb\\x7f\\xac\\x83\\xa5\\xd2\\x9f\\x92\\x1e\\x92\\xea\\x60\\x2d\\x16\\xff\\xd9\\x85\\xb2\\x53\\x76\\x4e\\xc9\\x4f\\x7f\\xbd\\x7b\\x07\\x9d\\x7e\\x0d\\x75\\x12\\x0d\\xf9\\xfc\\x65\\x3d\\x13\\xd1\\x44\\x90\\xa1\\x66\\xf1\\xe0\\xca\\x55\\xe4\\x6e\\x78\\x1a\\xec\\x28\\xec\\xb7\\x35\\xe4\\x4d\\x3a\\x06\\x6c\\x1a\\x27\\xc3\\x04\\x43\\xbc\\x1b\\xef\\x63\\x27\\xab\\xc1\\xe3\\x1b\\x4a\\xe3\\x77\\x8f\\x2d\\x6f\\x53\\xb4\\xf3\\x9b\\xc7\\x56\\x88\\x41\\x5d\\x5b\\xb6\\xb5\\x1e\\x29\\xcc\\x3e\\x29\\x57\\xe5\\xf1\\xb9\\x6a\\x1a\\x5b\\xe7\\x2d\\xba\\x81\\x4e\\x9f\\xbf\\x15\\x39\\xc0\\x01\\xd8\\x7a\\xea\\x0d\\xe7\\x0e\\x2e\\x32\\xcd\\xbb\\xc6\\xbe\\x63\\xeb\\xdd\\x4f\\x60\\x1a\\x70\\xa0\\x4f\\x96\\xb3\\x1b\\xc1\\xaf\\x48\\x3d\\x6a\\x36\\xf0\\x56\\x16\\xd7\\xba\\x7a\\xcc\\x6c\\x60\\x38\\x0e\\x95\\x17\\xe6\\x2b\\x26\\x1a\\x80\\xdc\\x33\\x22\\xa2\\x32\\x1c\\x39\\x87\\x9b\\x5e\\x2e\\xfe\\xa9\\x63\\xd3\\xd6\\xee\\xdf\\x56\\xbe\\xbc\\xfd\\xa5\\x6a\\x3a\\x9b\\xe2\\x51\\xa7\\xf8\\x3c\\x9f\\x4a\\xf1\\xb4\\x7e\\xe4\\x5b\\x9e\\xd0\\x39\\x0d\\x63\\x08\\xc0\\xef\\x76\\xaa\\x3a\\x6f\\x31\\x52\\xb4\\xc1\\x66\\xd0\\x52\\xac\\xc3\\xa9\\x65\\x88\\x77\\xc7\\x1b\\x65\\xed\\x9f\\xed\\x2e\\xaf\\x87\\xd3\\x84\\x8a\\xb5\\x4c\\xe5\\xe3\\x42\\x6d\\x1a\\x31\\xf9\\xd9\\x5e\\x47\\x15\\x7a\\x54\\x14\\x0b\\xb1\\x69\\x8e\\x70\\xb5\\x8d\\xce\\xfa\\xd1\\x9f\\x84\\x25\\xf7\\x06\\xc5\\x88\\xd5\\x7c\\xfe\\x5b\\x64\\x3c\\xb0\\x3d\\x0e\\xc0\\x78\\x11\\x6a\\x42\\x9e\\xb7\\x20\\x3b\\x28\\x24\\xde\\xed\\x43\\x6c\\x2c\\xea\\x76\\x78\\xf0\\x88\\x11\\x3f\\x31\\x8f\\xb5\\x78\\xb2\\x45\\xa9\\x33\\x56\\x5c\\x22\\x75\\x15\\xa9\\x94\\x7c\\x7a\\xa9\\xc6\\x86\\x16\\x12\\x31\\x22\\xfe\\x5a\\xd6\\xef\\x14\\x9f\\x1d\\x8b\\x18\\xa3\\x19\\x9d\\x32\\x24\\x59\\xea\\x6e\\x35\\x82\\xd8\\xbf\\x4c\\xa3\\x3f\\xd1\\xe7\\xc8\\xfb\\x7f\\x7a\\x5e\\x88\\xb8\\xb5\\xd6\\xa0\\x8d\\x62\\x79\\x8e\\x33\\xb1\\x56\\x37\\x97\\x88\\x9b\\x74\\xd8\\xc1\\xcc\\x1b\\x83\\x3c\\xcf\\xf9\\x9d\\x4e\\xe8\\x23\\xb9\\x50\\x2f\\x01\\x66\\x52\\x61\\x0b\\x35\\xb6\\xca\\x41\\x0f\\x8e\\x11\\xc5\\xd5\\x68\\x2a\\xf5\\x4c\\x5a\\x62\\x5a\\x12\\xb8\\x42\\x9d\\xe1\\x06\\x93\\xf9\\x03\\x15\\xb2\\xb5\\x95\\xdb\\x7a\\xdb\\x7a\\x07\\xfb\\x5c\\x0b\\xa7\\x5e\\xb6\\x38\\x44\\x67\\x07\\xeb\\xa2\\x0a\\xba\\x33\\xe6\\x77\\xd7\\x34\\xb4\\xdf\\x71\\x5a\\xb3\\x3d\\x21\\xd5\\xbf\\x44\\x55\\xb4\\x97\\xd4\\x2d\\x68\\xcf\\xbb\\x3d\\x66\\xab\\x5b\\xef\\xf3\\xb9\\xcd\\x4e\\x86\\x0b\\x86\\x3c\\x66\\x16\\xfe\\x38\\x79\\x12\\xc7\\xd2\\x94\\x2c\\x53\\x12\\x18\\x3a\\x4e\\x0f\\x1d\\x5f\\xe6\\x1e\\xd0\\x65\\x30\\xa6\\x87\\x5b\\x56\\x47\\xa6\\x2e\\x98\\x33\\xa7\\x7f\\x7e\\xeb\\xfe\\xa5\\x04\\xc7\\x37\\x0e\\xbe\\x75\\x1b\\xaa\\xf2\\xba\\x6b\\x1d\\x8b\\x56\\x9c\\xbc\\x2a\\x81\\x2c\\x04\\xb7\\x8f\\x13\\xaf\\x5f\\x70\\x15\\xd1\\xfb\\x60\\x87\\x4c\\xe0\\xae\\xa0\\xb4\\xc0\\xc1\\x02\\xb6\\x43\\xb0\\xc0\\x74\\x18\\x8d\\x14\\x4b\\xb9\\xdc\\x26\\xbb\\x9d\\xb6\\x6a\\xb0\\x5f\\xa8\\x53\\x2a\\xd6\\x8e\\x67\\x87\\xf0\\xd1\\x88\\x0d\\xfe\\x27\\x36\\x48\\x08\\x15\\x6d\\x90\\x09\\xe2\\x17\\xe2\\xb7\\xe0\\x21\\x9a\\xc4\\x2f\\x73\\xb5\\xf4\\x21\\xba\\x32\\x9b\\xad\\x84\\x7f\\x6a\\x99\\x77\\xc5\\x99\\x68\\x18\\x3d\\x7c\\xec\\xf7\\x0f\\xde\\x75\\xe7\\x43\\xf4\\xe7\\xfb\\xef\\xbc\\x6b\\x1f\\xb6\\x41\\xc4\\xeb\\xd9\\xa9\\xe8\\x24\\xee\\x3d\\xf2\\x2e\\x50\\x90\\xe2\\x1f\\xf5\\x51\\x1a\\x90\\xdf\\x54\\x5d\\xee\\x85\\x57\\xc9\\xeb\\x3c\\x45\\x5b\\x07\\xe6\\xc9\\xa9\\x3e\\xe7\\x98\\xa6\\x9c\\x43\\xf8\\xb6\\x26\\xdf\\x53\\x5d\\xdd\\xdd\\x35\\xf2\\x81\\xfc\\xe1\\xc8\\x7b\\x5f\\x77\\x73\\x4c\\xbe\\xa6\\xa6\\xab\\xb3\\xb6\\xb6\\xfb\\x69\\xfc\\x21\\x5f\\x55\\xdb\\x8d\\x36\\x24\\xc5\\x2b\\xa3\\xff\\x7f\\xc6\\x63\\x7e\\x60\\xbc\\x68\\x93\\x03\\xfc\\xdc\\xd1\\x9a\\xae\\xee\\xea\\xea\\x9e\\x3c\\x7a\\x19\\xc3\\x85\\x0f\\xe2\\xa9\\xdd\\x5f\\xbf\\xc7\\x31\\xdd\\xb5\\xb5\\x9d\\xdd\\xd5\\x35\\xf9\\xa7\\xbb\\x6b\\xab\\xbb\\xf1\\x87\\x28\\xda\\x9c\\xc4\\x35\\xb5\\xd1\\xe8\\x9d\\xe2\\x14\\x6a\\xe9\\xe8\\xe3\\x54\\x0d\\x65\\x78\\xd8\\x09\\x56\\x5f\\xdd\\xab\\x78\\x39\\xc9\\x6b\\xc1\\xb4\\xf4\\xac\\x3e\\xfe\\x17\\x9f\\xc9\\xc8\\xb5\\xf6\\x69\\xe9\\xe5\\x7d\\xfc\\xaf\\x7b\\xf1\\xd0\\x22\\x87\\xc7\\x61\\xb1\\x5b\\xec\\x6e\\xbb\\xdd\\x55\\x9b\\x69\\xa8\\x68\\x85\\x9f\\xad\\x76\\xab\\xe0\\x15\\x06\\xc4\\x29\\x74\\x3a\\xe9\\x70\\x59\\x0d\\x1a\\xad\\xde\\xe8\\xb0\\xf1\\x2e\\xbb\\x45\\x6f\\xb6\\x75\\x08\\xc9\\xb8\\xc3\\x6b\\x37\\xc3\\x97\\x66\\x87\\xdd\\xe6\\xe2\\x4d\\x1a\\x07\\x47\\x21\\xf1\\x2a\\x76\\x2e\\x3a\\x9d\\x3b\\x0f\\x2c\\x5c\\x77\\xde\\x68\\x47\\x08\\xdf\\xfb\\xa6\\x8d\\x66\\x2d\\x9e\\xf9\\x12\\x12\\x39\\x25\\x2f\\xf6\\x48\\xb9\\xf1\\x39\\x60\\xb5\\x2e\\xba\\x1d\\xa1\\xd3\\x37\\xd5\\x2f\\x6d\\xeb\\x98\\x5f\\xb3\\x61\\x1b\\xbd\\x38\\xb0\\xad\\xa2\\x7f\\xe1\\x86\\x19\\xab\\x59\\xb1\\xa2\\xaa\\x26\\x73\\xe3\\xb5\\x97\\x57\\x35\\x55\\x11\\xbf\\x45\\x7c\\x9a\\x3d\\x84\\x26\\x71\\x6f\\x03\\x0f\\x1b\\xc0\\x3d\\xc7\\x4f\\x1d\\xbd\\x8a\\x77\\x56\\x14\\x17\\x8b\\x41\\x93\\xee\\x13\\xa3\\x68\\xcf\\xc1\\x76\\xee\\x81\\x4f\\x2f\\xbc\\x6a\\x6c\\x7b\\x47\\xde\\xc0\\x59\\xd9\\x30\\x5b\\xc7\\x32\\x2c\\xa2\\xea\\x5e\\x5b\\x22\\x15\\x67\\x06\\x1b\\x22\\x8a\\x26\\x89\\xd1\\xfb\\xda\\x9f\\x41\\x7b\\xd9\\x43\\x9f\\x56\\x5c\\x75\\x7c\\x3f\\x46\\x7e\\x87\\x8b\\x23\\xfd\\xb2\\xa4\\xaa\\x06\\x8c\\xe8\\x46\\x93\\xda\\x0f\\x8a\\x9b\\xd0\\x07\\xf7\\xb1\\x87\\xae\\xba\\xf0\\xd3\\xe3\\xfb\\x21\\xab\\x26\\xac\\xa9\\xd3\\x30\\x1a\\x86\\xaa\\x7b\\x81\\xf4\\xc3\\x65\\x6d\\x5a\\xf0\\x78\\x1b\\x9f\\x69\\xbf\\x0f\\x7d\\xc0\\xcd\\xba\\xaa\\xa2\\xd8\\xef\\x20\\xf4\\xfb\\x03\\xa5\\xc7\\x34\\xe3\\x68\\xab\\x2e\\xac\\xa3\\x75\\x5a\\x04\\x1d\\x5f\\xca\\xbd\\xbf\\x24\\xfb\\x12\\x19\\x93\\xc3\\xd8\\x26\\xf1\\xb0\\x37\\x8b\\xdf\\xdd\\xdf\\x7e\\x33\\xd2\\xde\\xcf\\x1e\\xda\\x7a\\xc6\\xe7\\x15\\xf0\\xff\\x58\\x18\\x3a\\x1a\\x0f\\x4e\\x6b\\xb4\\x78\\xb2\\x0a\\x0c\\x6d\\x12\\x23\\xc0\\x61\\x5a\\xdd\\x2f\\x7e\\x77\\x73\\xfb\\xfd\\x48\\x7b\\x33\\x90\\xeb\\xf3\\x33\\xb6\\x56\\xc0\\xff\\xc0\\x43\\x75\\xc0\\x43\\x6f\\x8e\\xbe\\x47\\x01\\xff\\xe4\\x0d\\x36\\x87\\x83\\x35\\xe2\\xf0\\x3c\\x8b\\xe9\\x8c\\xed\\x01\\xb2\\x7a\\xe4\\xa2\\x98\\x20\\xa7\\x73\\x16\\x5d\\x28\\x21\\x55\\x48\\xbb\\x2b\\x13\\xee\\x2e\\x17\\x58\\xd5\\x6d\\x6d\\x7f\\x3e\\xbb\\xa2\\xee\\xa9\\x3e\\x87\\xe9\\x2d\\x43\\x32\\x69\\x40\\x49\\x43\\x0a\\x60\\x9f\\xc9\\x8c\\x52\\x17\\x73\\xfb\\x60\\xb3\\xeb\\x1e\\xc2\\xa4\\x7c\\x15\\x07\\x78\\xd3\\x4d\\x2d\\xa0\\x9b\\xdd\\x17\\xfb\\xbf\\xfe\\xda\\x7f\\xf1\\xc5\\xcc\\xe8\\xae\\x07\\xcf\\xed\\xba\\xe9\\x46\\x1c\\x3b\\x15\\xf7\\x88\\x53\\xd0\\xa6\\xd1\\x6f\\xa0\\xbd\\x0d\\x63\\x63\\xb0\\x1a\\x6d\\x56\\xf8\\xa3\\x03\\x6c\\x5e\\x95\\x05\\x57\\xb1\\xb6\\x96\\x5b\\xd0\\xc6\\x91\\x1b\\x43\\x02\\x80\\xe2\\x9e\\x8b\\x09\\x38\\xb4\\xf9\\xc6\\x9b\\xba\\xce\\x7d\\x70\\x97\\x78\\xa1\\xf4\\x2f\\x9a\\x2e\\x7d\\x8f\\x63\\xfe\\x4e\\xb1\\x9d\\x3b\\xc0\\xf5\\xd9\\x53\\x14\\xc8\\x4e\\x9b\\x96\\xfe\\x98\\x5e\\x05\\x63\\xf2\\x0f\\x31\\xf4\\x81\\xd1\\x5d\\xc3\\xae\\x00\\xa3\\x4f\\xa2\\xaa\\xa6\\x26\\x72\\x3e\\xd0\\x2b\\xb6\\x33\\x87\\x99\\x43\\xd0\\x76\\x92\\xd4\\x16\\xbd\\xa7\\xb4\\xfd\\xcd\\x70\\x45\\x9d\\x89\\x2b\\xb5\\x8d\\x8d\\xfe\\x9b\\x0b\\x6a\\xde\\x83\\xb6\\x49\\xd2\\xf6\\x66\\x14\\x40\\xfd\\x94\\x30\\xcc\\xd4\\x73\\x29\\xe6\\xc0\\xe8\\xef\\x86\\xd3\\x35\\x9e\\x18\\x6e\\x4e\\xc1\\x7f\\xd0\\xde\\x27\\xd5\\x6b\\x80\\xf6\\x93\\x01\\x24\\x6e\\x3f\\x5d\\x82\\x23\\x6e\\xe0\\x82\\x5c\\xa7\\x02\\xe7\\x08\\x0d\\xe6\\x00\\x65\\x7c\\x8c\\xf1\\x2a\\x00\\x48\\x3b\\x9f\\xb8\\xa1\\xd4\\x9f\\xb4\\x9b\\x4b\\xda\\xd1\\x2d\\xa1\\x84\\xc5\\x53\\x6a\\x17\\x13\\x8f\\x95\\xc1\\x3b\\x4a\\x6f\\x83\\x5f\\x58\\x9e\\xa0\\x98\\xd1\\x3f\\x0c\\x67\\x2a\\x25\\x90\\x04\\xde\\xb1\\x32\\x78\\x47\\xe9\\x80\\xd4\\x8e\\x1e\\x1d\\x1d\\x0e\\x47\\x25\\x90\\xd0\\x6e\\xa5\\xb8\\x90\\xab\\xd2\\xbc\\x0f\\xed\\x52\\x80\\x77\\x9a\\xda\\x81\\x7e\\x8d\\xdb\\x53\\xdb\\xd0\\x9b\\x30\\x5f\\xdd\\x23\\x74\\x2d\\x97\\xc2\\x53\\xc4\\x63\\x4f\\x11\\x17\\x32\\x0b\\xb9\\xbd\\xd0\\x76\\x8a\\xd4\\x96\\xba\\x54\\x6a\\x4b\\xdd\\x00\\xb0\\x71\\x5b\\x9b\\xd2\\x36\\x31\\x7a\\x8c\\x5b\\x41\\xe8\\x97\\x2e\\xa3\\x1f\\x1d\\xe3\\x52\\x40\\xee\\xfd\\xc3\\xde\\xb0\\xc7\\xa2\\xa2\\x1f\\xae\\x05\\xb1\\x98\\xe0\\x3b\\x15\\x60\\x6b\\x68\\xf2\\x7c\\x2e\\x86\\x03\\xf4\\x5b\\x41\\xe6\\x9b\\x56\\xd1\\x8f\\xcc\\xe3\\x1b\\x05\\x06\\xee\\x0f\\xf4\\x53\\xfa\\xe3\\x76\\xe8\\x58\\xb1\\xdd\\x9d\\xc3\\xb1\\x8c\\x56\\x90\\xdb\\x25\\x80\\x7e\\x6a\\x78\\x47\\xe9\\x05\\xc5\\x76\\xd7\\x0d\\xfb\\x02\\x2a\\x78\\xc7\\xca\\xe0\\x1d\\xa5\\x53\\xc5\\x76\\xaf\\x0f\\xc7\\x93\\x25\\x78\\x23\\xdf\\x94\\xc1\\xfb\\x2b\\xfd\\x17\\x69\\xdd\\x22\\x41\\xaf\\x3c\\x41\\x32\\x8f\\xd9\\x23\\xdf\\x94\\xc1\\xfb\\x2b\\xdd\\x58\\x84\\xf7\\xfe\\x70\\x2a\\xa6\\xc2\\x6f\\x4a\\x19\\xbc\\x2f\\xe8\\xa7\\x8b\\xed\\xbe\\x1b\\x0e\\x46\\x55\\xf8\\x4d\\x29\\x83\\xf7\\x45\\x19\\xbc\\x4a\\x05\\x5e\\x9c\\xa2\\xd8\\xcf\\xb5\\x51\\x68\\x97\\xc1\\xed\\xf4\\x87\\x68\\xfc\\xb0\\x92\\x3b\\x6f\\xa6\\x51\\x12\\x56\\x02\\x25\\xe3\\x49\\xbf\\x57\\x62\\x7b\\xc2\\xfa\\x64\\x9d\\x47\\x3f\\x67\\x16\\x68\\xb6\\x42\\x9f\\x3e\\xbc\\xce\\xf4\\xe5\\xd4\\xde\\xd1\\x3f\\xc3\\x3a\\x4f\\xa4\\x96\\x51\\x1f\\x51\\x86\\x61\\xfa\\xd9\\x10\\x0a\\x51\\xb6\\x25\\xe3\\xc1\\x7f\\xee\\xff\\x01\\xfe\\x36\\xea\\x97\\xc7\\xc3\\x87\\x79\\x7e\\x4e\\xe8\\x91\\x91\\xe7\\xf9\\x30\\xa1\\x2f\\xaa\\x8c\\x24\\x24\\xc0\\x32\\x4c\\x71\\x0a\\xb3\\x80\\x79\\x5e\\x82\\x89\\xdb\\xa1\\xff\\x93\\xd6\\xc1\\x1a\\x4b\\x39\\xd8\\x52\\xbb\\xb1\\xf0\\xbe\\x56\\xe0\\x25\\x1a\\xfe\\x13\\xbc\\xaf\\xd1\\xab\\x45\\xfa\\x8e\\x0c\\xa7\\x72\\x12\\x48\\x02\\x6f\\x21\\xfb\\xb9\\xe6\\x2b\\x7b\\x0a\\xfd\\x8d\\xb4\\xbb\\x09\\xcd\\x03\\x3e\\x77\\xe4\\x8d\\x08\\x36\\x0e\\x8a\\x35\\xb4\\xd5\\x78\\x8b\\x5c\\xae\\xec\\xa1\\x05\\xdc\\xcf\\xa0\\x3d\\xe8\\x0b\\x9b\\x86\\xbe\\x69\\x27\\x85\\x5b\\xd3\\x75\\x36\\x20\\x56\\x76\\x82\\x45\\x50\\xed\\x09\\x4c\\xdb\\xf3\\xc8\\x1e\\xaa\\x50\\xed\\x21\\x0c\\x1b\\x36\\x11\\x8a\\x78\\xc3\\x7a\\x63\\x19\\x6c\\x2b\\xae\\x2d\\xa2\\xad\\x81\\xf6\\xd3\\xa4\\xf6\\xd4\\xaf\\xd0\\x6d\\xa4\\x7d\\x82\\x4e\\xa1\\x03\\xfe\\x28\\x6d\\x28\\x6b\\xbf\\x72\\xf4\\x33\\x0d\\xd2\\x4c\\x86\\xf6\\x95\\xa4\\xfd\\xe5\\xb4\\x4e\\x86\\x9f\\x02\\xf8\\x95\\x89\\x94\\x36\\x5a\\xd6\\xbe\\x59\\xec\\x60\\x3e\\x63\\xbf\\x85\\xf6\\xd3\\xa5\\xf6\\xd4\\x30\\xfc\\x02\\x64\\x62\\x8f\\x0d\\xcb\\xc4\\x7f\\x0d\\x77\\xf7\\x44\\xbc\\xe5\\xf8\\x6b\\xdc\\x04\\xff\\x2a\\x19\\xff\\x5f\\xcb\\xf0\\x81\\x35\\x10\\x1d\\x88\\x71\\x8e\\x32\\xf8\\x39\\x98\\xef\\x1c\\xcd\\x11\\x68\\x3f\\x43\\x6e\\x3f\\x09\\x2d\\x20\\xed\\xd3\\x80\\xff\\xfc\\x50\\x22\\x50\\x8e\\x7f\\x5c\\xdc\\xa0\\x71\\x93\\xb5\\x94\\xe0\\x1f\\x61\\x22\\xd2\\x5a\\x96\\x40\\x4b\\x70\\x41\\x36\\xcc\\x21\\x7b\\x65\\x86\\x2c\\x43\\xf2\\xd2\\x5a\\xa2\\xd1\\x63\\xc3\\x45\\xa8\\x0a\\xbe\\xf7\\x16\\xe1\\x51\\x6b\\x09\\xbe\\x84\\x97\\x33\\x98\\x97\\x51\\x55\\x52\\x02\\xab\\xe2\\x65\\x09\\xe7\\xaf\\x8b\\xb0\\xa9\\xb5\\x40\\xf3\\x1b\\x28\\xef\\x63\\x34\\xc2\\x55\\xde\\xd0\\x81\\xd1\\x77\\x87\\x6b\\xd2\\xd2\\x08\\x52\\x2f\\x89\\x67\\x4a\\x78\\xf3\\x5a\\x90\\xb9\\x31\\x19\\xcf\\x85\\x25\\x3c\\x79\\x0d\\xb5\\x63\\x48\\xe1\\xd9\\xb2\\x79\\x7e\\xc9\\x84\\xe5\\x79\\x86\\xd3\\xe5\\xf3\\x9c\\x52\\x36\\xcf\\x2f\\xe9\\xee\\xd2\\x3c\\xa3\\x15\\xca\\x3c\\x27\\x80\\x19\\xf8\\x7f\\x04\\x5e\\xb5\\xcc\\xdb\\x57\\x14\\xdb\\x89\\xc3\\xce\\xa8\\x4e\\x6e\\x37\\xfa\\x3b\\x68\\x77\\x06\\x81\\x37\\x53\\x6e\\x97\\x94\\xf6\\x14\\x0a\\x55\\xb1\\x74\\x69\\x5c\\xd0\\x30\\xf4\\xff\\x6a\\x23\\x45\\x78\\xfa\\x5a\\xb4\\x07\\xd5\\x53\\xfe\\xbc\\x95\\xa1\\x91\\x07\\xd4\\x25\\x8d\\x28\\xbf\\x20\\x41\\x95\\x88\\x20\\xf7\\x63\\xa0\\xdf\\x90\\xe6\\x5a\\xe8\\x77\\x14\\xe6\\x9b\\xa2\\xd6\\xfe\\xcf\\x41\\x2c\\x05\\x46\\x45\\xc4\\x52\\x15\\x79\\x1f\\xb3\\x3f\\x86\\xf6\\xc6\\x50\\x8c\\x46\\x1f\\x1a\\xd0\\xe9\\x06\\x34\\x68\\x40\\xfb\\x0d\\x68\\xaf\\x01\\x19\\x40\\x36\\x2c\\xd9\\xb8\\x71\\x63\\x53\\x13\\xfc\\x5b\\xe4\\x05\\x58\\xbb\\x0a\\xa2\\xc7\\x6a\\x65\\xfd\\xf5\\x20\\xd1\\x37\\x28\\x0c\\xac\\x76\\x00\\xf6\\xac\\x3f\\x64\\xd7\\xa8\\x78\\x13\\xaf\\xdb\\xe9\\xda\\x34\\xb4\\xef\\x97\\x75\\xd8\\x5b\\xb0\\x6e\\xb8\\x3d\\xde\\x2a\\xa0\\x5b\\xfc\\x21\\x8f\\x41\\xcd\\xcb\\xc0\\x6b\\x15\\x84\\x66\\xb5\\x32\\x0f\\xfd\\xbd\\x48\\xb3\\x5f\\x0d\\xfb\\x22\\x12\\x6c\\x99\\xd7\\x4e\\x27\\x34\\xeb\\x97\\xdb\\x35\\x17\\xdb\\xfd\\x05\\xda\\x79\\x14\\x5e\\x13\\x8f\\x95\\xc1\\x3b\\xca\\xb8\\x8a\\xed\\xbe\\x1c\\xf6\\x07\\x55\\xf0\\x8e\\x95\\xc1\\x93\\xf4\\x15\\xac\\xbd\\xc6\\x1f\\x94\\x11\\x2c\\xee\\x05\\x8e\\x22\\xf0\\xea\\xe4\\x71\\x6f\\x95\\xda\\x99\\x78\\x97\\x41\\x5b\\x6a\\x97\\x11\\x37\\xe0\\x3c\\x1f\\x68\\x37\\x20\\xeb\\x49\\x79\\xcf\\x50\\x06\\x5e\\xbd\\xa6\\x04\\x1e\\x91\\x0d\\x75\\x92\\x8c\\x46\\x53\\x51\\xbf\\x02\\x57\\xf7\\x08\\xe2\\x15\\xbb\\x60\\xf4\\xb7\\x00\\x73\\xb2\\x66\\xaf\\x04\\x13\\xb7\\x1d\\x7d\\x0c\\xdd\\xa0\\xc0\\x86\\xb6\\x06\\x5a\\xb1\\x0b\\x60\\xde\\x65\\x78\\x1e\\xa5\\x9f\\x94\\xc6\\xcf\\xd8\\x1c\\x2a\\x3c\\x47\\xff\\x26\\x1e\\xa3\\x97\\xaa\\xf0\\x3c\\x8a\\x12\\x52\\x3b\\xce\\x68\\x2e\\xc7\\x73\\x4a\\x19\\xbc\\x2f\\x64\\xfd\\x8b\\x86\\x9c\\x1e\\x35\\xbc\\x4f\\x81\\x97\\x37\\xab\\xe0\\x7d\\x81\\xea\\xa4\\x76\\xbc\\xc5\\x5e\\x06\\x8f\\xa2\\xb4\\x43\\x84\\x8f\\xea\\x25\\xbe\\xa0\\x27\\x49\\x7c\\x14\\x22\\x7c\\x74\\x6c\\xd8\\x17\\x34\\x3a\\x55\\x7c\\xd1\\x02\\x7c\\xb7\\x9b\\xd8\\x44\\x83\\x72\\x7b\\x6c\\x27\\x60\\x99\\x95\\xb3\\xa5\\x50\\x5b\\x5d\\xb6\\xda\\x54\\x2e\\xb3\\x08\\xfc\\xf7\\x8a\\xf0\\xe9\\x9b\\x81\\xdd\\x08\\xfc\\x18\\x81\\xff\\x1c\\xd8\\x34\\xe3\\xc0\\xbf\\xb2\\x08\\x1f\\xda\\x1b\\x64\\xf8\\x2d\\x00\\x1f\\xd5\\x36\\x8e\\x85\\x2f\\x6e\\xd0\\x0e\\x11\\x7a\\xd4\\xcb\\x32\\xb1\\xbf\\xc8\\x57\\xd7\\x2a\\xb0\\x31\\x5c\\xe0\\xe7\\xdd\\xcc\\x8b\\x0a\\xdc\\x23\\xcc\\x72\\x99\\x0f\\x14\\x90\\x04\\x1e\\x58\\x21\\xdc\\x03\\x04\\xdf\\x06\\x59\\x26\\xef\\x95\\xf0\\x0d\\xca\\xf4\\x70\\xfa\\x6c\\x6c\\x39\\xbe\\xb2\\x0c\\x9a\\x25\\xeb\\xa0\\x4f\\x88\\x8e\\x40\\x49\\x1b\\x6e\\xff\\xef\\xe1\\x40\\xcc\\xa7\\x53\\xb5\\x4f\\x03\\x9f\\x3d\\x40\\xf0\\x6d\\x90\\xf9\\xf6\\xa3\\x92\\xcc\\x2a\\xc2\\x96\\xf0\\xc5\\xf9\\x50\\x0a\\x5c\\x95\\x0c\\x2f\\xc1\\x24\\xf0\\x8e\\x95\\xc1\\x3b\\x4a\\x1f\\x2e\\xb6\\xfb\\xd7\\xb0\\xe0\\x56\\xc1\\x3b\\x56\\x06\\xef\\x28\\xdd\\x51\\x6c\\xf7\\xed\\x70\\x30\\xac\\x82\\x37\\xa5\\x0c\\xde\\x17\\xf4\\xe7\\x12\\x9d\\x18\\x4f\\xc0\\xa6\\xb2\\x2b\\x5a\\xb0\\xec\\x55\\xc1\\xfb\\x82\\x9e\\x2a\\xb5\\x43\\x91\\x84\\x3c\\xe1\\xa2\\xce\\xe5\\xde\\x26\\xf6\\x52\\x96\\xc8\\xca\\xe7\\x89\\xce\\x02\\x1d\\xc3\\xd0\\x11\\x2c\\x2a\\xe9\\x48\\xb5\\xc9\\x36\\x46\\xc7\\x90\\x77\\x55\\x35\\x7f\\x86\\x3e\\x43\\x64\\x7f\\xdd\\x4a\\x3d\\x34\\xfa\\x22\\x91\\x59\\x0f\\xa3\\x39\\x54\\x34\\x2f\\x30\\xaf\\xd7\\xa3\\xfd\\xf5\\xa8\\x3e\\x6f\\xb4\\xf6\\xd5\\xd3\\xaf\\x47\\xd0\\xfe\\x08\\x6c\\x3d\\x2c\\x1c\\x6d\\x55\\x58\\x42\\x2a\\xe3\\x46\\x94\\x71\\x5f\\x20\\xe3\\x82\\x8c\\x66\\xc9\\xc0\\xac\\x7a\\x64\\xb5\\x8c\\x96\\xc6\\xbe\\xf8\\xb8\\xb1\\xd7\\x52\\xf7\\xa1\\x6a\\x2a\\x9e\\x77\\xb1\\xa5\\xc1\\x6d\\xe3\\x0d\\xfe\\x03\\xf3\\x3e\\xc4\\xb8\\xe1\\x17\\xde\\xc7\\xe4\\x69\\x63\\x4e\\x0a\\x45\\xd4\\x33\\x57\\xc6\\xde\\xa6\\x8c\\x7d\\x39\\x75\\xbf\\x6c\\x87\\x5e\\x4e\\x7d\\x4c\\xec\\x44\\x0f\\xf2\\xc8\\x76\\xe2\\x58\\xf8\\xcf\\xfd\\x3f\\xc0\\xdf\\x46\\xfd\\xfa\\x38\\xf8\\xd8\\x16\\xbb\\x8f\\xc8\\x85\\x9c\\xac\\x5f\\x26\\x4b\\xb6\\x0c\\x0d\\x82\\x81\\x9e\\xe5\\x0b\\xda\\x5d\\x65\\xfb\\x50\\xca\\x0f\\xc7\\x72\\x61\\xb6\\xdc\\x5e\\x2b\\xed\\x5b\\x1a\\x36\\x02\\xbd\\x38\\x9a\\x10\\xb8\\xb1\\x72\\x01\\xe0\\xbf\\x57\\x84\\x5f\\xb2\\xf5\\x88\\xc3\\x64\\xf2\\x86\\xc7\\x85\\x7f\\x65\\x11\\x3e\\xec\\xb3\\x63\\x32\\xfc\\x0a\\x80\\xdf\\x14\\x49\\x1d\\x0f\\x9f\\x7b\\x87\\xc0\\x6f\\x92\\xe1\\x37\\x4b\\xfe\\x58\\x9a\\xf8\\x63\\x7b\\xc1\\x0e\\xd2\\xdb\\xcb\\xf7\\x31\\x73\\x22\\x81\\x3f\\x57\\x86\\x7f\\x85\\x2c\\x77\\x42\\xb0\\x91\\x5d\\x82\\xdf\\xc1\\x8d\\x95\\x3b\\xdc\\x3b\\x64\\x9f\\x34\\xc9\\xf2\\xc4\\x28\\xd9\\x0a\\x26\\x05\\xb0\\xbc\\x4f\\x36\\xe0\\xbc\\x38\\x05\\xee\\x11\\xd4\\x5b\\xdc\\x77\\xdb\\x86\\x8b\\x50\\x8b\\xf0\\x88\\xfe\\x69\\x22\\x6b\\x43\\xe0\\x61\\x9b\\x13\\x2d\\x25\\x7e\\x29\\x53\\x59\\xf2\\x4b\\x09\\x4c\\x62\\x97\\xce\\x95\\xda\\x62\\x98\\xe0\\x43\\x5e\\xbe\\x8e\\x52\\x74\\x8e\\x1a\\xb7\\xa3\\xf4\\x1b\\x45\\x5b\\xfe\\x4d\\xf0\\x85\\x25\\xf4\\x24\\x99\\x50\\x86\\xdb\\x51\\x74\\x67\\x11\\xb7\\xff\\x1d\\x76\\x79\\x14\\xdc\\xd6\\x81\\xaf\\x1a\\x20\\xb4\\x6c\\x96\\x69\\xf3\\xa6\\x24\\x13\\xb3\\x44\\x26\\xfe\\x65\\xb8\\xa2\\x2e\\x13\\x57\\xd1\\xb2\\x6b\\xf4\\x33\\xfa\\x53\\x42\\xcb\\x79\\xc4\\xe6\\xbf\\xb9\\x86\\x48\\xc4\\x2c\\x91\\x88\\x5f\\x40\\x6b\\x81\\x2a\\xa3\\xe5\\x3a\\x90\\x75\\x01\\x6e\\xa6\\x02\\xff\\x08\\x9d\\x2c\\xe2\\xf1\\xa1\\x02\\x1b\\xc3\\x05\\xbd\\xfb\\x29\\x91\\x39\\xf3\\x64\\x5a\\x9e\\x5f\\x6c\\xf7\\xb9\\x02\\xb5\\x88\\x2f\\xd9\\xfb\\x04\\x9e\\xfe\\x45\\xfa\\x8a\\xa2\\x8f\\x36\\x01\\xdb\\xb5\\x53\\xaa\\xdb\\x24\\x98\\x2a\\x99\\xd3\\x85\\x6b\\x59\\x71\\xb7\\x14\\x61\\xeb\\x5f\\x44\\xbf\\x13\\x77\\xca\\x7d\\xb0\\xab\\xd2\\x59\\xdd\\x26\\xc1\\x57\\xf5\\x19\\x3b\\xce\\x4b\\xf4\\xa4\\xe2\\x38\\xd5\\x78\\x1c\\xaa\\xb6\\x72\\xbc\\x71\\x80\\x36\\xff\\x50\\xc6\\x79\\x09\\xdd\\x2e\\xbe\\x25\\xf7\\xc1\\xe3\\x98\\x6a\\x2b\\x8f\\x1f\\x07\\xd3\\xa7\\x48\\x7f\\x58\\x6f\\x42\\x7f\\x85\\x4e\\x60\\x6f\\x64\\x4b\\xbc\\x41\\x68\\x54\\xa4\\x3d\\x9f\\xc2\\xb4\\xe7\\x8b\\x94\\xc2\\xbf\\x07\\x29\\xc8\\xb5\\x10\\x58\\x2d\\xf2\\xbe\\x98\\xa3\\xd6\\x6f\\xa3\\xa0\\x83\\x4a\\x5e\\x16\\xa9\\xe7\\xfa\\x19\\x7d\\x3b\\xe1\\xcb\\xf9\\xf2\\xda\\x6b\\xa8\\x03\\x94\\xf7\\x71\\x74\\xae\\x1b\\x6d\\x70\\x23\\xa2\\x12\\xdd\\x41\\x8d\\xa4\\xc2\\x65\\xd9\\x1b\\x01\\x5e\\x6e\\x21\\xfc\\xd7\\x22\\xaf\\xe7\\x03\\xb2\\xae\\x55\\x80\\x4b\\xb5\\x62\\x01\\xd7\\xdb\\xd9\\xf3\\x14\\xd8\\x47\\xd0\\x1e\\xa9\\x5d\\xb5\\x02\\x51\\xc2\\x19\\xf8\\x59\\x0d\\xef\\x28\\x7d\\x4f\\x49\\x67\\x0a\\x6e\\x09\\x24\\x81\\x77\\x8c\\x7e\\x59\\x05\\xef\\x28\\xba\\x52\\x86\\xe7\\xf1\\x95\\xc3\\x9b\\x52\\x06\\x4f\\xf1\\xb1\\x35\\x9e\\x40\\x39\\x7e\\x53\\xe8\\xbf\\xaa\\xe0\\x7d\\x41\\xf6\\x07\\xb4\\x9b\\xe8\\x0f\\xab\\xe1\\xe5\\xc4\\xab\\xb9\\x1f\\x11\\x78\\xad\\xa4\\xdd\\x47\\xc4\\x26\\x33\\x3f\\x0e\\x1c\\x50\\x11\\x77\\xe8\\xa4\\xd5\\x84\\x76\\x61\\xf1\\x6a\\xfc\\xc6\\x34\\xb4\\x5b\\x20\\xb7\\xeb\\x96\\xdb\\xd9\\xd2\\x51\\x9d\\x4b\\x69\\x07\\x7e\\x4d\\x19\\xbc\\xaf\\x8b\\x36\\x1e\\x15\\xab\\x73\\xa8\\x74\\x6b\\x18\\x74\\xb0\\x1a\\xde\\xd7\\xf4\\x04\\xd9\\x06\\x8e\\xd4\\x48\\xe0\\x14\\x3f\\xa9\\x0c\\x9e\\x62\\x33\\x52\\xa1\\xd8\\x7f\\x82\\xf7\\x05\\x3d\\x5b\\x6a\\x97\\x0c\\x44\\xca\\xe0\\x8d\\x7e\\xce\\xfd\\x88\\xe8\\x9e\\xd6\\x72\\x9d\\x4e\\xa3\\x38\\xe6\\xfb\\xf6\\x78\\x5d\\x71\\xd6\\x0a\\x0f\\x87\\x47\\x3f\\x66\\x3b\\x88\\x4e\\x5f\\x20\\xeb\\xd5\\xbf\\xc8\\x3a\\xfd\\x88\\xa4\\xd3\\x69\\xb5\\x4e\\x47\\xe3\\xea\\x74\\x69\\xdc\\x88\\x32\\xee\\xcb\\xf4\\x3f\\x25\\x9d\\x0e\\x1e\\x57\\x13\\xf1\\xbb\\x1c\\xb9\\x26\\x79\\x64\\xb5\\x4e\\x97\\xc6\\xb6\\x28\\x63\\x5f\\x4e\\x1d\\x19\\x7d\\x9d\\xe8\\xf4\\x23\\xe0\\xd1\\xc7\\xf2\\x2e\\x86\\xae\\xca\\xeb\\xf9\\x3e\\x86\\x36\\x55\\x25\\x35\\xe0\\x60\\x9a\\xbc\\x3e\\x0d\\xf1\\x33\\xe5\\x29\\x00\\x0c\\xf7\\xe8\\x61\\xee\\x41\\xcd\\x07\\x00\\xa3\\x8d\\xd0\\xe6\\x56\\x74\\x85\\xb4\\x6f\\xac\\xf2\\xbe\\x71\\x27\\xb4\\x48\\xb5\\x6f\\xc8\\x9b\\xcf\\xdc\\xd5\\xd0\\xbe\\x20\\xb5\\xa7\\xee\\x95\\xec\\x42\\x2b\\x91\\x82\\x22\\xb4\\x67\\xcd\\xaa\\xf6\\x6e\\xd8\\x33\\x0f\\x92\\x35\\x6a\\x93\\xf7\\xcc\\xa7\\x12\\xed\\xb5\\x56\\x41\\x06\\x2c\\xd7\\x0a\\xde\\x40\\xde\\x92\\x2e\\xc2\\x3d\\x42\\x6b\\x65\\xde\\xb5\\x0a\\x32\\x40\\xd2\\x2e\\x38\\x7a\\x58\\xfb\\x21\\xd1\\xdf\\x13\\x88\\x3e\\x9e\\x48\\xdf\\x2f\\xe1\\x2b\\x10\\x7c\\x3f\\x1a\\x76\\x79\\x35\\x6a\\xfd\\x47\\xde\\xa4\\x26\\xfa\\x7b\\xa1\\xd4\\x1e\\x5d\\x24\\xe1\\x2b\\x10\\x7c\\xdf\\x87\\xf6\\x16\\x4e\\xd5\\x7e\\x2c\\xfc\\x6d\\xcc\\x80\\x1c\\xeb\\xc0\\x03\\x3c\\x2f\\x78\\x4a\\xd0\\xa9\\xf1\\xe0\\x6f\\xa3\\x6d\\xb2\\x7e\\xc5\\x03\\xdc\\x21\\x78\\x2c\\xe5\\xfa\\x55\\x82\\x7f\\xaf\\x02\\x7f\\x2d\\xfd\\x6d\\x31\\x36\\x21\\x60\\x1e\\x3b\\x21\\x11\\x92\\x46\\x50\\xf1\\x98\\x34\\xc6\\x42\\x65\\x8c\\xb5\\xe8\\xa1\\x22\\x5f\\x0a\\x58\\xb6\\x26\\x13\\x21\\x0b\\x37\\xa6\\x8f\\x34\\xce\\x7b\\xc5\\x71\\xc0\\xdf\\x78\\x57\\x9e\\x07\\x76\\x80\\xb2\\x82\\x5f\\xeb\\x18\\x67\\x1e\\x57\\x16\\xc7\\x00\\xf9\\x79\\x40\\x65\\x27\\xd4\\x08\\x7e\\xab\\xa6\\x7c\\x1e\\xe0\\x9f\\x7c\\x48\\xd6\\x55\\x82\\x7f\\x84\\x75\\x4a\\xeb\\x25\\x28\\xa0\\x25\\xb8\\xb0\\xfe\\x4f\\x93\\x75\\x5d\\x28\\xaf\\xeb\\xc7\\xb2\\xff\\xa7\\x80\\x24\\xed\\xc0\\xdb\\xe2\\xf6\\x13\\x7c\\xdb\\xe5\\xf1\\x77\\x4b\\xeb\\x9a\\x24\\xeb\\x7a\\x14\\x7c\\x03\\xd6\\xad\\x5a\\x27\\x1d\\xd8\\x35\\xdf\\x10\\x7c\\x17\\xc9\\xf2\\xfb\\x56\\xb5\\x7f\\xf2\\x4f\\x68\\xef\\xb1\\xaa\\xda\\x4b\\xf0\\xef\\x2d\\xc2\\x07\\x1a\\x62\\xf8\\x38\\xbe\\x43\\x42\\x42\\x07\\x46\\xbf\\x1e\\xae\\x4a\\x4a\\x23\\x28\\x76\\xa5\\x34\\xc6\\xc2\\xe2\\x18\\xb0\\xaf\\x6e\\x25\\xb6\\x28\\xf4\\xb1\\x91\\x3e\\xdf\\x40\\x1f\\x69\\x14\\xa5\\x0f\\x78\\xb7\\xdc\\x6d\\x64\\x1e\\x1d\\xf2\\x3c\\x1e\\x51\\xd1\\x3d\\x2d\\xf8\\x0d\\xe5\\x74\\x77\\x8a\\x53\\x98\\xcf\\xc8\\x3c\\x16\\xcb\\xf3\\xf8\\xa3\\x4c\\xf7\\x34\\x4c\\x24\\x1b\\x4a\\x30\\xe5\\x7e\\xe1\\x49\\x60\\x5f\\xfe\\x9d\\xc4\\xa9\\x3a\\x49\\xfb\\x4b\\xd0\\x16\\x19\\xbe\\x1f\\xc7\\x29\\x9d\\x1e\\x3b\\x5f\\xd6\\x9e\\xd4\\x50\\xe4\\xee\\x84\\xf6\\x4b\\xa4\\xf6\\x8a\\xfd\\x17\\x00\\xf8\\x21\\xc1\\x8b\\xca\\xf9\\xf9\\x24\\xd8\\x87\\x7f\\x27\\xeb\\xda\\x29\\xaf\\xd7\\x39\\x45\\x9d\\xf4\\xfb\\x61\\x87\\x57\\x82\\x2e\\xc5\\x1f\\xc8\\xdb\\xee\\x45\\xb8\\x47\\xd0\\x53\\x25\\xbf\\xcb\\xe9\\x43\\x45\\x5b\\xec\\x24\\xf0\\xcf\\xd4\\xf0\\x8e\\x82\\x94\\x92\\xdb\\xfd\\x79\\xd8\\xe9\\x52\\xc1\\x3b\\x56\\x06\\xef\\x28\\xba\\xaf\\xd8\\xee\\x08\\xe8\\x42\\x05\\x1e\\x8e\\xa3\\xa8\\x63\\x63\\x2a\\x7f\\xef\\x3b\\xb0\\x01\\x95\\xd8\\x18\\xd1\\xef\\xdc\\x47\\x45\\x1d\\x07\\x6b\\x67\\x80\\x99\\xa7\\xf2\\x3c\\x8d\\xf6\\xa7\\xd0\\xde\\x14\\x3a\\x37\\x85\\x36\\xa4\\x10\\x4d\\x64\\x56\\x2a\\x22\\xa9\\x3d\\xac\\xe9\\xb1\\xab\\xa3\\xec\\x87\\x57\\x14\\xbe\\xbd\\x05\\xa7\\x7d\\xab\\xf6\\x9c\\xcb\\x13\\x92\\xd8\\x57\\xb5\\xe7\\xa4\\xb5\\x7c\\x45\\x59\\xcb\\x5b\\xc8\\x5a\\x92\\x3e\\x21\\x12\\x16\\x8e\\xa6\\xa5\\xd5\\x54\\xf5\\xe9\\x05\\xfb\\xec\\x30\\xe9\\x23\\x9d\\x65\\xed\\xa2\\x7e\\x25\\xdb\\xff\\xf5\\xd0\\xc5\\xdc\\x50\\x63\\x2a\\x97\\x1f\\x20\\x15\\xe9\\x3d\\xda\\xa4\\x3d\\x85\\x7a\\x8a\\xf6\\x3c\\xba\\x41\\x5a\\x4f\\x3a\\x85\\x6e\\x70\\x78\\x6d\\xaa\\x7d\\x8a\\xef\\x20\\x8c\\x7e\\xc3\\x3d\\xcc\\xcd\\x02\\xff\\x7f\\x5e\\xbe\\x56\\x97\\x0c\\x5b\\x62\\x06\\xc1\\xe3\\x61\\x0c\\x96\\x24\\x57\\x91\\x89\\x19\\x8c\\x46\\xc3\\xf2\\x82\\xd1\\x48\\x05\\x02\\xb6\\xe5\\x85\\x00\\xeb\\xf2\\x2c\\x2b\\xb8\\xec\\x14\\xb7\\xbc\\xc0\\xe0\\x1b\\x93\\x59\\x75\\x25\\x88\\x71\\x32\\x2c\\xe5\\x7c\\x25\\xe9\\x76\\x02\\x1f\\x4d\\x2b\\xa5\\x7e\\x48\\x45\\x8e\\x46\\x2a\\x1a\\x61\\x8b\\xef\\x2c\\xb2\\xcc\\x19\\x0f\\x6d\\xda\\x75\\xe1\\x05\\x7b\\xc5\\xad\\x68\\xef\\x0d\\xbb\\x37\\x6f\\xbf\\x4c\\xf4\\x3d\\x80\\xaa\\x11\\x8f\\x38\\xd4\\x7e\\xd3\\x25\\x8f\\xfd\\x4e\\x7c\\xd5\\xd8\\xb2\\x24\\x75\\xd9\\x79\\xc8\\xb6\\xfd\\xc2\\xb3\\x4f\\x39\\xff\\x67\\xfb\\x8e\\xad\\x9f\\xee\\xa3\\xff\\xf6\\x0d\\xb2\\x3c\\x73\\xf3\\xc6\\xdb\\x03\\xf6\\xa7\\xae\\xd8\\xf7\\x3f\\x84\\xc6\\x1b\\x4a\\xe7\\x84\\xd8\\x02\\xa4\\xef\\x92\\xcf\\x04\\x37\\x94\\xce\\x04\\x89\\x65\\xf8\\x89\\xb4\\x26\\xb0\\x1f\\x0f\\x68\\xde\\xb4\\xcb\\xe7\\x8a\\xfa\\xef\\x18\\x4a\\x3a\\x0f\\x0b\\x94\\x6c\\x4b\\x69\\x0d\\x56\\x17\\xfb\\xea\\xbf\\xa3\\x93\\xa3\\x7f\\x2e\\xf6\\x25\\x7a\\x59\\xea\\xfb\\x3d\\xfd\\x31\\xf4\\x35\\x0c\\x33\\xb4\\x83\\x74\\x6e\\x92\\xfa\\xb2\\x46\\xee\\x4d\\xa5\\xef\\xf7\\x48\\x2c\\x8d\\xab\\xea\\x7b\\xec\\xf8\\xbe\\xa3\\x5f\\x91\\x71\\x4b\\x7d\\x8f\\xfd\\x40\\xdf\\x91\\xf1\\xc7\\x2d\\xeb\\x3b\\x52\\xd6\\xb7\\x5b\\xe9\\x2b\\x42\\xdf\\xd4\\x78\\x7d\\x35\\x5e\\xa5\\xaf\\x58\\xec\\x8b\\x69\\x4b\\x64\\x4b\\x82\\xd8\\x13\\x97\\xa0\\x3d\\xb2\\x3d\\x7e\\x17\\xb1\\xc7\\x65\\x10\\x25\\x7a\\x13\\xb9\\x32\\x49\\x6a\\x8b\\xed\\x80\\xb1\\x74\\x57\\xcd\\x61\\x54\\x99\\x83\\xf7\\x07\\xe7\\x30\\x3a\\xfe\\xfc\\x0d\\xd4\\x7f\\xef\\x6b\\xa0\\x7e\\xa0\\x2f\\xfa\\xef\\xb4\\x33\\xa0\\xb2\\xbe\\xb3\\x95\\xbe\\x34\\xf4\\xad\\x27\\x7d\\x2b\\xc7\\xd0\\x2e\\xae\\xf4\\xa5\\xcb\\x68\\xf7\\x95\\x42\\x3b\\x42\\x33\\x72\\x8e\\xb4\\x47\\xf2\\x73\\xc3\\x63\\x69\\xf7\\x33\\x85\\x76\\x37\\x51\\x8f\\x94\\xd1\\x0e\\x7c\\xe6\\xd2\\xd9\\x16\\xe1\\xf1\\x9b\\xe5\\x33\\xa7\\x0d\\xa5\\xb3\\x2c\\xd2\\xfe\\x5b\\x25\\xe6\\xf0\\x39\\xe1\\x71\\xe9\\xec\\xee\\x3b\\xfa\\x09\\x32\\x26\\xd6\\x9d\\xca\\x99\\x2f\\x3e\\xab\\x23\\x3c\\xde\\x27\\xf3\\xb8\\x8d\\xf0\\xb8\\xd4\\xf7\\x83\\x62\\x5f\\xb0\\xff\\x2e\\x92\\xfa\\x26\\xc6\\xf6\\xbd\\x5a\\x19\\xf7\\x56\\xea\\xfa\\xd2\\xb8\\x84\\xd6\\x19\\x79\\x7f\\xfc\\x9c\\xd0\\x9a\\x96\\x3b\\x37\\xc9\\x7d\\xff\\x4e\\x68\\xdd\\x27\\xef\\x8f\\xc3\\xe3\\xf6\\x3d\\xa6\\xf4\\x0d\\x2b\\xfb\\xe3\\x2d\\x32\\x6e\\xa9\\xef\\xb1\\x1f\\xe8\\x3b\\xf2\\x03\\xe3\\x0e\\xab\\xfa\\x8e\\x94\\xf5\\xed\\x56\\xfa\\x8a\\x60\\x3f\\xa6\\xca\\xc7\\x95\\xcf\\x35\\xbd\\x4a\\x5f\\xb1\\xd8\\x17\\xaf\\x0b\\xd9\\x1f\\x19\\x79\\x8d\\x6f\\x96\\x75\\xf0\\x1c\\x49\\xa6\\x64\\xd4\\x67\\xec\\xb0\\x56\\x64\\x7f\\xf4\\xc9\\xfb\\xe3\\xa6\\xb2\\x35\\x23\\x67\\x2d\\x64\\xcd\\xa4\\xb3\\x96\\xef\\xd0\\xfd\\x12\\xdd\\x85\\x12\\x8c\\x1a\\x68\\xe3\\x27\\x6b\\x76\\x54\\x5a\\x33\\x34\\x8d\\xac\\xd9\\x64\\xf0\\x2f\\xff\\xb7\\x78\\xee\\xc3\\xcb\\xfe\\x25\\x6e\\x0f\\xdf\\xfb\\x8b\\xe7\\x3c\\xe4\\xfb\\x84\\x14\\xb3\\x03\\xde\\x7c\\x9b\\xc4\\x21\\xb2\\xd2\\xf7\\x4c\\x48\\x8a\\x09\\x02\\x8e\\x0f\\x93\\xb8\\xc3\\x90\\xcc\\x67\\xaa\\x18\\x1f\\xc1\\x2d\\x2b\\xcb\\xcc\\x89\\xd2\\xfc\\x22\\x25\\xdc\\x48\\xcc\\x8d\\xe0\\x36\\x54\\x26\\x33\\xc7\\xc6\\x27\\xbf\\x67\\x82\\xd2\\xda\\x30\\x6e\\x85\\xbe\\xd0\\x97\\xb5\\x90\\xb5\\x91\\xfa\\x7e\\x0f\\x0e\\xe5\\x78\\xb1\\xcd\\x63\\x4a\\x5f\\x9f\\xc2\\x13\\xff\\x20\\xe3\\x96\\xfa\\x1e\\xfb\\x81\\xbe\\x23\\x72\\x5f\\x86\\x2e\\x1b\\x97\\x79\\x4b\\xd5\\x77\\xa4\\xac\\x6f\\xb7\\xd2\\x57\\x84\\xbe\\xa9\\xf2\\x71\\xe5\\x18\\xa3\\x57\\xe9\\x2b\\x16\\xfb\\x62\\xda\\x12\\x9e\\xc8\\xca\\xf1\\xad\\x90\\xcc\\x13\\x2f\\x4b\\xfb\\x3e\\xae\\xa2\\x19\\xa6\\x37\\xe1\\x89\\x21\\x99\\x27\\xee\\x19\\x4b\\x77\\xcd\\x42\\xec\\x7b\\xa0\\x93\\x8a\\x67\\x10\\xc7\\xf1\\x15\\xa6\\xdd\\x72\\xec\\x6f\\xa0\\x15\\xe4\\xcc\\x71\\x1b\\xf5\\xd1\\xb8\\x7d\\x27\\xa2\\x6b\\xff\\x6b\\x5f\\x1c\\x7f\\x2d\\xf5\\x7d\\xb3\\xd8\\xb7\\xb4\\xde\\x0d\\x63\\xfb\\xae\\x2e\\xf6\\x55\\xaf\\x37\\xf4\\xfd\\xa0\\xd8\\x17\\xe4\\xc7\\x8b\\x3f\\x30\\xee\\xb5\\xc5\\xbe\\x20\\x3f\\xee\\xc4\\xd7\\x57\\x30\\xed\\x34\\x0b\\xb1\\xed\\x83\\xfb\\x96\\xf3\\x25\\xbb\\x9c\\xbd\\x59\\x69\\x5f\\xa4\\x4f\\x0e\\x68\\xad\\xf8\\xfb\\xe4\\xfb\\x3f\\xcb\\xfe\\xfd\\x86\\x92\\x7f\\x4f\\xbe\\x6f\\x2f\\xf9\\xf3\\x84\\x8f\\x5b\\xe5\\x79\\xd5\\x49\\x7b\\x4c\\xb5\\x26\\xc4\\x87\\x26\\x7c\\xbc\\x40\\x9e\\xd7\\x7c\\x32\\x2f\\xe8\\xab\\x99\\x49\\xe8\\xb9\\x51\\x5e\\x8b\\x06\\xa9\\x6f\\x65\\x79\\xdf\\xc3\\x84\\x9e\\x9b\\xa4\\xb5\\x40\\xce\\xe2\\xb8\\x65\\x7d\\x27\\xa2\\x2b\\xff\\x6b\\xdf\\x89\\xd4\\x01\\x55\\xdf\\x37\\x8b\\x7d\\x4b\\x38\\xe7\\xc6\\xf6\\x5d\\x5d\\xec\\x5b\\x8e\\xb3\\xd6\\x51\\xec\\x0b\\x6b\\x71\\x29\\x3a\\x7f\\xdc\\x71\\xaf\\x2d\\xf6\\x85\\xb5\\xf8\\x80\\xac\\x05\\xd0\\x56\\x33\\x93\\xac\\xc5\\xc6\\xe3\\x68\\x7b\\x98\\xac\\xc5\\xa6\\x32\\xda\\x4a\\x7e\\xce\\xfb\\x45\\x3f\\x07\\xe6\\xb8\\x5e\\xed\\x87\\xbf\\x08\\x7e\\x75\\x59\\x1c\\x5a\\xb2\\x8d\\xf7\\x16\\x6d\\x63\\x98\\xef\\xb5\\x92\\xbf\\x16\\x22\\xfe\\xda\\xab\\xc3\\xe1\\x18\\xad\\x8e\\xcf\\xe1\\xfb\\x42\\xb7\\x91\\xb5\\xee\\x90\\xc7\\xfd\\xaa\\x64\\x63\\x93\\xb5\\x5e\\x2c\\xf3\\x8c\\x53\\x85\\xcf\\x9b\\x45\\x7c\\x4a\\x74\\x0b\\x95\\xe6\\x2e\\xe1\\xb0\\xba\\xd8\\x17\\xe8\\xd6\\x45\\xe8\\x46\\xfa\\x62\\xba\\xc9\\x3e\\xdb\\xad\\xe8\\x12\\x89\\x6e\\xc2\\xd8\\xbe\\xd7\\x2a\\xe3\\xde\\x4a\\xdd\\x4d\\xe8\\x36\\x03\\x78\\xfb\\x24\\xee\\x26\\x7b\\x8a\\x59\\x81\\xfb\\x6a\\xaf\\xa1\\xbe\\x24\\xf3\\xa2\\x5b\\x6c\\x38\\x1e\\xff\\xf1\\x70\\x4b\\x63\\xc9\\x83\\x1b\\xa7\\xfd\\xab\\xd4\\x3f\\xa5\\xf6\\x29\\xd2\\xfe\\x1f\\xc3\\x15\\x2d\\xe3\\xb4\\xbf\\x5b\\x69\\x7f\\x3b\\x81\\x8f\\xcf\\x43\\x3a\\x6d\\xe4\\x3c\\xe4\\xc8\\x70\\x67\\x95\\xda\\xab\\x18\\xa7\\xcf\\x3e\\xea\\xdf\\x72\\x9f\\x6a\\xa9\\xcf\\x17\\xc3\\x75\\xff\\xad\\xcf\\x1d\\x4a\\x9f\\xce\\x62\\x9f\\xce\\xca\\xff\\xd2\\x67\\x3f\\xf5\\x5d\\xf9\\x38\\x47\\x87\\xeb\\xc6\\xed\\xa3\\xd9\\xa7\\xf4\\xf9\\x99\\x32\\xce\\x80\\xd4\\xe7\\xdf\\xc3\\xb5\\xed\\xff\\xa5\\xcf\\x83\\x4a\\x9f\\xae\\x1f\\xec\\x43\\x6c\\x39\\x6e\\x8e\\x6c\\xcb\\x69\\xb4\\xd7\\x7c\\xfd\\x24\\xa5\\x7d\\x98\\x0e\\xb1\\x54\\xf7\\xb8\\xbf\\x7f\\xf5\\x1d\\xf2\\x7b\\xaf\\xfc\\xfb\\xd1\\xcf\\x29\\x4a\\xb3\\x80\\x5b\\xce\\xa7\\xe1\\xf7\\xb7\\x91\\x16\\xb7\\x43\\x0b\\xfd\\x23\\x0c\\x9d\\xc0\\x4d\\x7e\\xa0\\xcd\\x3e\\xb9\\x4d\\xb8\\xd8\\x06\\x57\\x75\\xe3\\xfe\\x06\\x6d\\x60\\x9c\\x2c\\x6e\\x71\\xc7\\xe7\\x65\\x50\\x28\\x19\\x4e\\x59\\x9b\\xfd\\xe5\\x50\\xa8\\x22\\x9c\\x03\\x9a\\xcb\\x15\\x7c\\x7f\\x36\\xf2\\x3e\\x69\\xd3\\xac\\x82\\xf3\\xfe\\x98\\x36\\x0f\\xbe\\x23\\xb5\\x69\\x50\\xc1\\x69\\x05\\x3d\\xd6\\x43\\xf8\\x6f\\xb5\\xcc\\xaf\\xcf\\xc8\\xf1\\x80\\x3c\\x6c\\xc4\\x81\\x7c\\x27\\x57\\x5b\\xe6\\x6f\\x8e\\x6d\\xff\\x2a\\x75\\x8d\\xdc\\xbe\\x0e\\xda\\x57\\x66\\xf3\\xe3\\xb6\\xbf\\x5b\\x69\\x7f\\x3b\\xb5\\xab\\xe8\\x03\\x4f\\xc1\\x3e\\xb0\\x65\\x4a\\xa3\\xd4\\x43\\xe5\\x03\\x8f\\xed\\xb3\\xaf\\xd4\\xa7\\x89\\xf4\\x69\\xfd\\xef\\x7d\\xee\\xa0\\xee\\x2a\\x1b\\x27\\x37\\x25\\xf7\\x5f\\xfb\\xec\\x2f\\xf5\\x21\\xe3\\xb4\\xb6\\x1e\\xdf\\x07\\xe8\\xae\\xa1\\xfe\\x3f\\xde\\xde\\x03\\xc0\\xa9\\x2a\\x7d\\x1c\\x3d\\xdf\\xb9\\x25\\xb9\\xe9\\x75\\x92\\x99\\x4c\\xcb\\x64\\x7a\\x66\\x26\\x33\\x93\\x29\\x0c\\x6d\\x12\\xea\\xd0\\x04\\x29\\xa3\\x21\\xc0\\x0c\\x48\\x47\\x05\\x14\\x6c\\xa8\\xa0\\x62\\x59\\x11\\x11\\x7b\\xa7\\xc8\\xba\\xa8\\x08\\xac\\x02\\xa2\\xae\\x65\\x15\\x2b\\xb2\\x96\\xb5\\xac\\x2b\\x96\\x5d\\xdb\\xee\\x5a\\x60\\x5d\\x7e\\xae\\x32\\xe4\\xce\\x3b\\xe7\\xdc\\x9b\\xe4\\x26\\x33\\xa0\\xbf\\xf7\\x7f\\xff\\x97\\x99\\x9b\\xdc\\xdc\\x7c\\xe7\\x3b\\xed\\xeb\\xa7\\x09\\x1d\\xa4\\x8f\\x2b\\xc1\\xa9\\xb4\\x58\\x6f\\x6b\\xef\\x4e\\x42\\x2b\\x50\\x91\\xa4\\xa5\\xbe\\x30\\x6f\\xf4\\xd6\\x2b\\x30\\x25\\x1a\\x18\\xdd\\x15\\xc2\\x54\\x0a\\x83\\x6f\\x55\\xe8\\xe9\\xbb\\x9d\\xa4\\x77\\x30\\xd4\\x6a\\x69\\x25\\x0b\\x66\\xa7\\x0a\\x53\\x79\\x0a\\x98\\xad\\xbf\\x02\\xcf\\xae\\x3e\\x78\\x8a\\xe4\\xf1\\x7c\\x98\\xf5\\xeb\\x22\\x95\\x0e\\x7a\\xd5\\x7e\\xad\\x23\\xfd\\x1a\\xa8\\x0b\\xba\\xf8\\x8c\\x7e\\xcd\\x86\\x7f\\x03\\x90\\x0a\\x5f\\x40\\xe0\\x83\\xc5\\x75\\xfd\\xc2\\x3f\\x98\\x82\\xdf\\xc2\\x78\\x96\\xb5\\x75\\x13\\x6d\\xeb\\xfc\\xa6\\x12\\x25\\x85\\x36\\x96\\x9e\\x95\\x66\\x67\\x3a\\x4d\\x80\\xa5\\x29\\xff\\xe5\\x34\\x5b\\xe9\\x1c\\x2c\\x4d\\x3e\\x23\\x9a\\xfc\\xbf\\x98\\x66\\x57\\x3a\\x0d\\xcb\\x67\\x4c\\xf9\\x49\\xd2\\x30\\x19\\xb4\\x48\\x23\\xb7\\xd2\\xf4\\x56\\x51\\xd6\\xf8\\x8b\\x69\\x76\\xa7\\xd3\\x34\\x9f\\x24\\x4d\\xef\\xbf\\x48\\xdf\\x55\\x33\\x5a\\x0a\\xa6\\xe8\\xad\\xb8\\x2f\\xbd\\x65\\xc1\\xf4\\x4b\\x6f\\xfa\\x47\\x18\\x0d\\x04\\x4f\\x45\\x6f\\x59\\x30\\xfd\\xd2\\x5b\\x16\\x4c\\xbf\\xf4\\x96\\x05\\xd3\\x97\\xde\\x18\\x8c\\xb8\\x4e\\x03\\xa3\\x48\\x30\\x0c\\xed\\xa7\\x80\\xd9\\xad\\xc2\\x0c\\x4c\\xc1\\xb0\\xb3\\x11\\x18\\x1d\\x2e\\x51\\xe4\\xfa\\x37\\xcc\\x8a\\x28\\x61\\x56\\xc4\\x3f\\xf6\\x94\\x14\\x89\\x96\\x0c\\x3a\\xcc\\x86\\x7f\\xe3\\xdf\\x0c\\xde\\x6e\\x57\\x66\\x87\\xb9\\x4a\\x32\\xe1\\x7b\\xff\\xcc\\xe0\\x1f\\x4c\\xc1\\x6f\\x79\\x2e\\x23\\xe2\\xfb\\xd4\\x9e\\xca\\x1c\\x25\\x85\\xa6\\xcf\\xb2\\xd3\\xec\\x54\\xd3\\x78\\x92\\x69\\xf2\\xfa\\xa4\\x41\\x2e\\x92\\xe6\\x4a\\x4d\\x9a\\xad\\x99\\x91\\xe5\\x9e\\x3d\\x95\\xee\\x7e\\xd3\\xdc\\xa0\\x49\\xb3\\x2b\\x49\\x4d\\x2c\\x23\\x94\\x97\\x91\\x42\\x89\\x2f\\xe1\\xdb\\x18\\xfd\\x29\\xf0\\x0f\\x7c\\xa7\\xe4\\x31\\x50\\xc9\\xe3\\x3f\\x7b\\x72\\xcb\\xfb\\xd4\\x25\\x3b\\xcd\\x6e\\x35\\x4d\\xd5\\x29\\xd2\\x10\\x9a\\xe5\\xbe\\x61\\xf4\\x58\\x93\\x4d\\xb3\\x1e\\x0d\\x3d\\x66\\xc1\\xa4\\x68\\xd6\\xa1\\x81\\x11\\xce\\x66\\x74\\x54\\x93\\x45\\xb3\\x05\\x19\\xfa\\x34\\x13\\x26\\x49\\xb3\\xde\\x53\\xc0\\x6c\\xfd\\x15\\x78\\x76\\xf5\\x8f\\x87\\xd1\\x63\\x4d\\x16\\xcd\\x86\\x4e\\x01\\x93\\xa4\\xd9\\xea\\x14\\x8c\\xe2\\x2b\\xdf\\xad\\xf8\\x7d\\x4c\\xd6\\xee\\x52\\x6c\\xbe\\x2a\\x66\\xf3\\x25\\xf6\\x54\\x95\\x8b\\x48\\x63\\xf3\\x65\\xc3\\xbf\\x41\\xe3\\x43\\x2c\\x26\\xec\\x25\\x09\\x74\\xbe\\x2a\\x31\\x73\\x9e\\x81\\x02\\xff\\x60\\x0a\\x7e\\x0b\\x7a\\x4c\\xb5\\x8f\\x42\\x8a\\x7d\\x94\\xd8\\x13\\x2a\\x10\\x51\\xdf\\x39\\x33\\x9a\\x34\\x3b\\xd1\\x3d\\x6a\\x9a\\x42\\x25\\xcd\\x57\\x7b\\xfc\\xbf\\x94\\x66\\x2b\\xb3\\x1d\\xd8\\x9c\\x27\\x96\\x91\\x14\\xca\\x17\\xb3\\xc7\\xf8\\xb3\\xd3\\xec\\x4a\\xa7\\x61\\x19\\x59\\xfc\\x7d\\xd2\\xf4\\x1e\\x21\\x3e\\xe5\\x7d\\xc2\\x78\\x1b\\x3d\\x4f\\xf2\\x55\\x95\\x9e\\xca\\x18\\xad\\xe0\\x94\\x7c\\x13\\xfb\\xc0\\xbc\\xd1\\xdb\\xac\\xc0\\x14\\xa4\\xe8\\xa9\\xf7\\x5b\\x7d\\x2e\\xeb\\xe3\\x46\\x3a\\x83\\x21\\x45\\x4f\\x1c\\xd6\\xc8\\xa5\\x3e\\x30\\x3b\\x55\\x98\\x80\\x16\\x46\\x77\\x95\\x02\\x03\\x3b\\x35\\xf4\\x94\\x85\\x27\\x0b\\x66\\x57\\x1f\\x3c\\x85\\xa4\\x2d\\x3e\\x65\\xb2\\xe8\\x42\\x95\\x0e\\x0e\\xa9\\x3a\\x94\\x70\\x3d\\xe4\\x57\\x96\\x09\\xae\\x8c\\x7e\\xcd\\x86\\x7f\\x03\\xbd\\xa2\\xc2\\x13\\x86\\x87\\x82\\xbc\\xca\\x7e\\xe1\\x1f\\x4c\\xc1\\x6f\\x41\\xcf\\x25\\x25\\x44\\x1d\\x65\\x5f\\x63\\x5d\\xbe\\xe0\\xca\\xea\\x9f\\xec\\x34\\x3b\\xd1\\x7a\\x55\\x12\\x15\\xd8\\xd5\\x79\\xcf\\xc5\\x19\\xa9\\xfa\\x49\\xb3\\x35\\xad\\xd7\\x58\\x3e\\xa3\\xea\\x7c\\xbf\\x98\\xcf\\x2e\\xf4\\xb7\\x64\\x1a\\x96\\x51\\x63\\xf1\\x49\\xd2\\x30\\x59\\x74\\xa1\\xaa\\x73\\x3f\\x48\\xa6\\x89\\xd0\\x34\\x75\\x45\\x35\\xbf\\x98\\x66\\x37\\x1b\\x4f\\x61\\x69\\xd8\\xd4\\xfc\\xa2\\x7e\\xd2\\x50\\xfb\\xed\\x15\\x26\\x9b\\x06\\x43\\x45\\xa6\\x6c\\xf2\\x69\\xf5\\x69\\x13\\xeb\\xdf\\xc1\\x59\\x72\\xc7\\x9f\\xa1\\xbf\\x32\\x61\\x76\\xf5\\x0f\\xc3\\xe4\\xc5\\xe0\\x2c\\x79\\x11\\x4e\\xc1\\x4c\\xe9\\xfd\\x56\\xb8\\x96\\xf5\\xfb\\x2a\\x85\\x4e\\xe0\\x6e\\xc5\\x57\\x8e\\x32\\xad\\xd5\\xb3\\x27\\x3a\\x94\\x2b\\xd7\\xc8\\x8b\\x6c\\xf8\\x37\\xe0\\x3e\\x95\\x4e\\xea\\x49\\x02\\x3e\\x1c\\x4d\\x43\\xa3\\x34\\xfc\\x83\\x29\\xf8\\x2d\\x70\\x93\\xda\\xe7\\xa3\\x95\\x3e\\xff\\x7e\\xcf\\xe8\\x66\\x25\\x4d\\xaa\\xcf\\xb3\\xd3\\xec\\x84\\x73\\xd4\\x34\\x2d\\x4a\\x9a\\x83\\x7b\\xda\\x7e\\x29\\xcd\\x56\\x48\\x8d\\x87\\xb1\\x8c\\x06\\x8e\\x6e\\xd2\\xa6\\xe8\\xb7\\x6c\\xbb\\x60\\x4f\\x32\\x0d\\xcb\\xc8\\xd3\\x76\\x92\\x34\\xac\\xcf\\x95\\x34\\x0f\\xb0\\xf9\\x2c\\x2c\\x4d\\x8c\\xa6\\x31\\x0f\\x18\\xf9\\x8b\\x69\\x76\\xa7\\xd3\\x74\\x9c\\x2c\\x0d\\xa5\\x93\\x87\\xa9\\xcc\\xd1\\x07\\x29\\x67\\x69\\x7d\\x81\\x66\\xad\\x2f\\x90\\x09\\x93\\xa2\\xa5\\x7a\\x2d\\x2d\\xb5\\x51\\x3a\\xd1\\x07\\xf1\\x69\\x19\\x7a\\x6e\\x50\\x06\\x9d\\x64\\xc2\\x24\\xe9\\xad\\x25\\xc3\\xce\\x7f\\x42\\x81\\xa1\\xab\\x5a\\x34\\x7a\\x6e\\xd0\\x29\\x60\\x76\\xf5\\x8f\\x87\\xd2\\x64\\x0a\\x26\\xa9\\xe7\\x26\\x9c\\x02\\x26\\x49\\xb7\\x1d\\x29\\x18\\x25\\x1e\\xb0\\x2d\\xe5\\xa7\\x3f\\x4f\\xd7\\x95\\x51\\x3d\\x17\\x64\\x7a\\xee\\xba\\x3d\\x95\\xc1\\x7e\\x62\\x1b\\x69\\xf8\\x83\\x60\\x52\\xf5\\x1c\\x4d\\x60\\xa8\\xa8\\xce\\x1a\\xfb\\x56\\xfc\\xb7\\x6d\\xaa\\xff\\x26\\xea\\x9e\\x9f\\xce\\xb8\\xa2\\xc9\\xae\\xcc\\x10\\x68\\x68\\xea\\xd7\\x17\\xdd\\x96\\xf2\\xf7\\x0e\\xa2\\x37\\x55\\xbe\\xa0\\x49\\x16\\xd4\\x87\\xb3\\xe0\\x15\\xbf\\x60\\x5b\\xca\\x5e\\x7f\\x1e\\xbd\\x88\\x34\\xd6\\xe5\\x91\\x3d\\x45\\x25\\x2e\\xed\\x1c\\xe9\\x6c\\xf8\\x83\\xd0\\xa2\\xe2\\xa7\\x09\\xe6\\x14\\xfa\\xb3\\x7c\\x22\\xc5\\x16\\xdd\\x96\\xb2\\xad\\x9e\\xdf\\xc1\\xb0\\xe7\\x30\\xec\\xbf\\xdf\\xe3\\xcc\\xe9\\xd7\\x76\\x4d\\xc3\\x1f\\x2c\\x52\\xb0\\xd3\\x04\\x01\\x87\\x5b\\xb4\\xf4\\xb1\\x19\\xd4\\xd8\\x32\\xc5\\x3d\\x8d\\xb5\\x7c\\x01\\x6b\\xf9\\x87\\xf7\\xe4\\x15\\xf4\\x6b\\x33\\x6c\\x4b\\xe9\\xe5\\x83\\xe8\\x2f\\x6a\\xdb\\xd3\\x24\\xb5\\xb9\\xf9\\x59\\xf0\\x8a\\xfc\\xde\\xa6\\xca\\x55\\x82\\x7f\\x05\\x2b\\x7b\\x3e\\x2b\\xfb\\xc1\\x3d\\xb9\\xf9\\xfd\\xea\\xa2\\x6d\\x29\\x39\\x7c\\x90\\xc5\\xb9\\x92\\xf3\\x0e\\xc6\\x7b\\x7d\\x59\\xf0\\x0a\\xdf\\x6f\\x4b\\xf1\\xe3\\xf3\\x30\\x5b\\x69\\xfb\\x66\\x96\\xc3\\x6b\\x7b\\x1a\\x9b\\xfb\\x91\\x79\\x69\\xf8\\x83\\xf0\\x99\\x8a\\x9f\\x26\\xe8\\x68\\x68\\xca\\x92\\x79\\xe3\\xe4\\x91\\xe9\\xb8\\x9b\\xad\\x82\\xe8\\x5e\\x66\\x35\\x70\\x3a\\x3c\\x5c\\x19\\xdb\\x6c\\x4d\\xaf\\x79\\xcc\\x86\\x7d\\x83\\xb6\\x8d\\x16\\xb6\\x3c\\x1b\\xf6\\xc1\\x14\\xec\\x16\\xf4\\x0f\\x0d\\x2c\\x1d\\x7f\\x50\\x80\\x9b\\xfb\\x81\\xdd\\x49\\x63\\x79\\xbf\\x12\\x76\\x2b\\x48\\xbf\\x1a\\x76\\x17\\xfa\\xec\\xd4\\xb0\\xc9\\x58\\x1a\\x81\\x7d\\x80\\x8e\\x1f\\x64\\xc0\\x4e\\x3c\\x29\\xec\\xee\\x3e\\xb0\\x43\\x53\\xb0\\x2e\\x79\\x64\\x3a\\x9e\\x66\\x2b\\xa7\\xf1\\x36\\x06\\xf9\\x32\\x81\\xcc\\x88\\xbb\\x65\\xc1\\xbd\\xf1\\x66\\x06\\x5c\\x3a\\xfe\\x26\\x8f\\xd4\\xc6\\xd6\\x08\\xe4\\x96\\x0f\\x19\\x24\\x37\\x83\\x40\\x66\\xc5\\xe1\\xfa\\xc0\\xee\\xcc\\x82\\xd5\\xc4\\xe3\\x48\\xfe\\xa9\\x58\\x1b\\x81\\xdc\\xfa\\x9d\\x92\\xff\\xf7\\x99\\x58\\x91\\x8a\\x37\\x03\\x76\\xd7\\x87\\x99\\xb0\\x19\\xf1\\x39\\x5a\\xaf\\x64\\xec\\x8d\\xc0\\x12\\x09\\x9a\\xaa\\x57\\x9f\\x38\\x5d\\x16\\xec\\xee\\x0f\\x33\\x61\\xb5\\xf1\\xba\\x22\\xd2\\x07\\xa9\\xb8\\x0b\\xa3\\xdb\\xe3\\x4a\\x1f\\xd0\\x78\\x3c\\x8d\\x51\\x6b\\xd6\\xea\\x66\\xc3\\xb2\\x18\\x8d\\x16\\xb6\\x20\\x1b\\xf6\\xc1\\x14\\xec\\x16\\x1a\\xff\\x49\\xc1\\xd2\\xf1\\xd0\\xa6\\x54\\xdf\\x66\\xc3\\xee\\x4c\\xd2\\x62\\x0a\\x36\\x70\\x52\\x58\\x16\\x8f\\xf9\\x95\\x78\\x77\\xf5\\x81\\xcd\\xc2\\x9b\\x8c\\xa5\\x30\\xba\\x3d\\x9e\\x05\\x3b\\xea\\xa4\\xb0\\xbb\\xfb\\xc0\\x36\\x27\\x61\\x7b\\xff\\x25\\x8f\\xd4\\xc6\\x52\\x68\\x0b\\x53\\xdf\\x95\\x42\\xf3\\x73\\x19\\x4d\\x6a\\xe2\\x2e\\x7d\\x60\\x99\\x6e\\xd7\\xc2\\x96\\x68\\x60\\xb5\\x31\\x11\\x4a\\xbf\\xdf\\x31\\x48\\xe1\\x4b\\xd6\\xcb\\x19\\xf1\\x93\\x3e\\xb0\\x3b\\xb3\\x60\\x2b\\x4f\\x01\\xbb\\xf5\\x7f\\x81\\x77\\xd7\\xa9\\xf1\\xa6\\x63\\x2f\\x69\\x0a\\x4e\\xc1\\xb6\\x67\\xc1\\xde\\xa0\\x81\\xdd\\x9d\\xf8\\x24\\x03\\x36\\x1d\\xaf\\x99\\x42\\x68\\x3d\\x65\\x9b\\xd2\\xd6\\x85\\xcd\\x4a\\x5f\\x70\\x43\\x15\\x9a\\x8c\\xa6\\x69\\x32\\x1b\\xf6\\x0d\\xb8\\x23\\x13\\xb6\\x3e\\x1b\\xf6\\xc1\\x14\\xec\\x16\\xf8\\x8d\\x06\\x96\\xf6\\xf1\\xe8\\x14\\x3d\\x64\\xc3\\xee\\x84\\x25\\x59\\xb0\\x2d\\x27\\x85\\xdd\\x0a\\x1f\\xfc\\x6a\\xbc\\xbb\\x60\\xd7\\xa9\\xf1\\x26\\xed\\x4d\\x4a\\xbf\\xd4\\xde\\xcc\\x80\\x8d\\x9d\\x14\\x76\\x77\\x1f\\xd8\\x8e\\x14\\x2c\\xe9\\x0b\\xad\\xbd\\xc9\\xe8\\xb7\\x55\\xa5\\xc9\\x76\\x85\\x26\\x53\\xb6\\x29\\xea\\x03\\xfb\\x46\\x6f\\x28\\x13\\xb6\\x5e\\x4b\\xbf\\x1a\\xfb\\x53\\x43\\xbf\\x6f\\xaa\\x7d\\x3c\\x28\\x83\\x1e\\x32\\x61\\x77\\x66\\xc1\\xb6\\x68\\x61\\xb5\\xf6\\xa8\\x86\\x7e\\x27\\xf4\\x87\\x37\\x0b\\x76\\x57\\x16\\x6c\\x16\\xde\\xb4\\x7d\\xaa\\xa1\\xdf\\x24\\xec\\x84\\x53\\xc0\\xee\\xce\\x82\\xcd\\xb6\\x69\\x1f\\x48\\xda\\xa8\\xf8\\x6e\\xe6\\xeb\\xa6\\xc6\\xeb\\x7e\\xda\\x53\\xd5\\xd0\\xd7\\xa6\\xa5\\x6b\\x58\\x54\\xf8\\x75\\x49\\x78\\x25\\xd6\\xf3\\xf3\\x9e\\x8a\\xaa\\x4c\\x78\\xa6\\xbb\\xb7\\xa5\\x74\\xec\\xf3\\xe8\\xc6\\x53\\xdb\\x1a\\x74\\xbe\\x86\\x82\\x5b\\x85\\x61\\xeb\\x5f\\xbe\\xdb\\x53\\xad\\x96\\xa3\\x1f\\x9c\\x07\\xe9\\x9a\\xa5\\x93\\xe1\\x64\\xf5\\xdb\\x98\\x2a\\xef\\xfd\\x99\\xf5\\x4b\\x8f\\xac\\x65\\x94\\x77\\x63\\x12\\xb7\\x02\\x6f\\x53\\x71\\xf7\\x26\\xe7\\xdb\\xfd\\x3b\\x39\\x87\\x0a\\xdf\\x0d\\xeb\\x94\\xf5\\x49\\x4e\\x41\\xa9\\x7f\\x4e\\xa1\\xb2\\x95\\x47\\x72\\x5c\\x98\\xc1\\x8f\\x4c\\xc1\\xaf\\x63\\xf3\\xa5\\x08\\x7c\\x8e\\xa0\\xc4\\xc6\\x5c\\x39\\x7d\\xe1\\x53\\xfb\\x84\\x10\\x3b\\xf4\\x37\\xf7\\x50\\xbb\\xc1\\xcd\\x65\\x8c\\xeb\\xa5\\x7f\\x3f\\x78\\x5f\\xd6\\xef\\xcc\\xfe\\x48\\xed\\x33\\xa2\\x6a\\x5d\\xd6\\x86\\x7f\\xdb\\xe3\\x49\\x96\\x0d\\xd0\\xeb\\x7c\\x0e\\xbc\\x2d\\xdc\\x4d\\xf7\\x9f\\x8d\\x18\\xf5\\x88\\xb3\\x58\\x10\\x72\\x38\\x8d\\x76\\x14\\x7a\\x43\\xd9\\xb0\\x98\\x6e\\x8b\\xcb\\xf6\\xfb\\x57\\x76\\xf2\\x51\\xf7\\x0a\\xd2\\xbd\\x3e\\x61\\x40\\x49\\x75\\xc9\\xe0\\xe6\\xb6\\x51\\x57\\x5f\\xc9\\xcf\\xf0\\x56\\xe5\\xdb\\x9d\\xde\\xf2\\x40\\x79\\xcb\\xe4\\xf6\\xae\\x95\\x45\\x04\\xef\\xd3\\xf2\\x48\\xf8\\xa6\\xf7\\x66\\x64\\x42\\x79\\x11\\x93\\xc8\\x71\\x66\\x0b\\xd2\\x4f\\x54\\x0e\\x71\\x3a\\x94\\x3a\\xec\\x80\\x1d\\x41\\x12\\xa6\\xdb\\xc0\\xb7\\x7a\\x44\\x88\\x44\\x46\\xde\\x5b\\x5e\\x58\\x5d\\x3e\\x49\\x1e\\x39\\x66\\xf8\\x1f\\xb7\\x47\\xbc\\x23\\xda\\x48\\x91\\xff\\x2f\\x96\\x91\\xe7\\xc7\\xe0\\xed\\xc2\\x25\\xc8\\x43\\xca\\x68\\x70\\xe7\\xea\\xbd\\x2e\\xde\\x68\\xd3\\x23\\x14\\x3a\\x10\\xfe\\xb8\\xf1\\x00\\xdb\\x12\\x98\\x6d\\x06\\xcb\\xce\\x2d\\x0d\\x28\\xe7\\x49\\xd0\\x5d\\x83\\xa0\\x35\\x6c\\x01\\x78\\x7b\\xda\\xb2\\x36\\x7f\\x49\\x9e\\xb4\\xc8\\xb8\\x64\\x76\\xc3\\xc4\\x51\\x43\\xf2\\x9d\\x1e\\xab\\x69\\x91\\x71\\x11\\x3f\\xe6\\xcc\\xda\\xda\\x51\\x77\\x5f\\x5d\\xda\\x58\\x6b\\x2e\\x1c\\x79\\xe7\\x35\\xb4\\x0e\\x1c\\xc9\\xeb\\x74\\xbc\\x5d\\xdc\\xc9\\xf6\\x64\\x0a\\xa1\\x96\\x88\\x57\\xe2\\xac\\x5c\\x6d\\x6d\\x83\\xbb\\xb8\\xbe\\xd8\\xeb\\xad\\xac\\x74\\xd4\\xe4\\x07\\x44\\x87\\x83\\x38\\x86\\xa1\\xc6\\x46\\x7b\\xf8\\x70\\xe3\\x01\\xba\\x21\\x95\\x8d\\x96\\x82\\xed\\x7f\\xd3\\x96\\x3e\\x69\\x5b\\xdd\\xad\\x49\\x73\\xef\\x3c\\x59\\x19\\xe5\\xfa\\x31\\x63\\xea\\x1b\\x46\\x8d\\x92\\x57\\xd7\\x8f\\xe9\\x68\\x20\\x37\\x3f\\x9c\\xac\\xd0\\xa7\\x8f\\x6e\\x6c\\x1c\\x39\\x22\\xdc\\x38\\x7a\\x6c\\xa8\\x7e\\xf4\\xe8\\xfa\\xc6\\xd1\\x50\\x93\\x59\\x8d\\x94\\x1d\\xb3\\x2d\\x69\\x6f\\x28\\x76\\x46\\xca\\x7f\\x24\\xfc\\x56\\x9d\\x65\\x77\\x31\\x1e\\x5e\\xa4\\xf0\\x0d\\x85\\x3d\\x05\\x8e\\x83\\x30\\xb2\\x1f\\x1c\\xd4\\xef\\xdc\\x98\\xf4\\x3b\\xf1\\xfd\\x90\\x87\\xd2\\x63\\x71\\xa3\\x93\\xa3\\x4a\\x1a\\xbf\\x76\\x64\\x1a\\x9e\\xf2\\x2c\\x85\\xd7\\xe4\\x4d\\x63\\x16\\x67\\x08\\x43\\xd9\\xf8\\xe5\\x62\\xa5\\xe4\\xbd\\xe3\\x7a\\xef\\xa6\\xfa\\xa0\\x88\\xd3\\xc4\\x35\\x56\\xaa\\x30\\xd7\\x29\\x25\\xeb\\x0f\\x46\\x77\\x05\\x83\\x09\\x9e\\x0a\\x8f\\x6e\\x93\\x0a\\x73\\x32\\x3c\\x01\\xa2\\xa7\\x34\\xfb\\x24\\x10\\xbd\\x77\\x3a\\x62\\x6b\\x06\\x9a\\x8a\\xd3\\xfb\\x24\\x20\\x8c\\x5c\\xbc\\x85\\x8e\\xa1\\x20\\x81\\xd0\\x4e\\x69\\xc4\\x6a\\x91\\x44\\xe0\\xf9\\x5c\\x97\\x28\\x7a\\xb1\\x9d\\x92\\xd3\\xcb\\x87\\x15\\x62\\x55\\x18\\x81\\xee\\xc5\\xc7\\x35\\xfb\\x9d\\xee\\xb2\\x6c\\x7e\\xc0\\x2d\\x3f\\xa0\\xde\\xf6\\xc4\\xcd\\xa3\\x47\\x96\\x06\\x4b\\x87\\x35\\x0d\\x1e\\x7b\\xfd\\x3a\\xbe\\x94\\xb4\\xa3\\xbc\\xd7\\xdf\\xe4\\xae\\x2d\\x72\\xb8\\x73\\x2b\\xca\\xaa\\x5b\\x3b\\x87\\x9f\\x75\\x71\\xe0\\x24\\xf9\\x22\\x8e\\x3b\\x65\\xbe\\xcd\\x4e\\xbf\\x9b\\xeb\\x93\\x2f\\x8c\\x68\\x47\\xbd\\x3f\\xc8\\x6b\\x33\\xf2\\xf5\\xc3\\xb8\\x32\\xf9\\xc9\\x7e\\xf3\\xe5\\xb9\\x7f\\x30\\x5e\\xf1\\xa0\\x2a\\xd4\\x14\\xf1\\x96\\xfb\\x7c\\xc5\\x55\\x9c\\xdb\\x1d\\xd4\\x57\\x13\\xe6\\xb4\\x05\\xc8\\x5f\\x15\\xe1\\xd4\\x2a\\x14\\x62\\x5c\\xc2\\x36\\x64\\xb2\\xa9\\x25\\x51\\x4f\\xfa\\x38\\x19\\x3f\\xf4\\x29\\xd9\\xc9\\x98\\x58\\xde\\xac\\x91\\x1d\\xc2\\x65\\x99\\xac\\x20\\xff\\x3e\\x4b\\x96\\x28\\x71\\x71\\xbc\\x82\\xe9\\x4f\\x16\\xc3\\xc0\\x77\\xff\\x55\\x33\\xfe\\xf6\\xc9\\x1e\\x57\\x7e\\x56\\xcc\\x83\\x27\\xf0\\x17\\x31\\xfd\\xa9\\xc0\\xaf\\xfb\\x27\\x83\\x77\\x31\\xf8\\xef\\xf7\\x38\\x5c\\x59\\xf0\\x4e\\x8a\\x5f\\xfc\\x8b\\x02\\x4f\\xf7\\x9e\\xf8\\xe4\\x39\\x46\\x77\\xdb\\xa0\\x09\\xf9\\x23\\x2e\\x6e\\x75\\x10\\xba\\x82\\x60\\x0d\\x42\\x10\\xc3\\x2e\\x3b\\x6c\\xb0\\x83\\x9d\\x2d\\xbe\\xa2\\x5b\\x4e\\xcc\\x3c\\x25\\x8e\\x83\\xc8\\xfb\\xeb\\x71\\xf4\\x7e\\x43\\x70\\x6c\\x60\\x3c\\xa6\\x94\\xfb\\xfe\\xaf\\x35\\xf5\\xfc\\x2e\\x35\\x6a\\x96\\x1a\\x67\\x64\\xf0\\xe2\\xb5\\xe9\\x3c\\xff\\xf5\\x1c\\xe5\\xe4\\xde\\xaf\\xd1\\x8f\\xa8\\x28\\xe2\\xe4\\x48\\x86\\xc1\\x88\\x64\\xef\\xe8\\x93\\x65\\x70\\x39\\xe3\\x11\\x65\\xfe\\xe8\\xbf\\x93\\xf3\\x47\\x89\\x5d\\xd2\\xa6\\xcc\\xbf\\x32\\xa9\\xeb\\xb6\\xac\\x1e\\xbd\\x76\\xdf\\x0b\\x05\\x7e\\x64\\x0a\\x7e\\x1d\\x83\\xa7\\x32\\x83\\x2e\\xf4\\x42\\x66\\xab\\x3e\\x73\\x4f\\x16\\xc2\\xa7\\xfc\\x30\\xc6\\xa7\\x35\\xd9\\xbc\\x6c\\xd5\\xf0\\x32\\xdf\\xad\\xc2\\x64\\xf1\\xb2\\x02\\x93\\xc5\\x2b\\xc5\\x11\\x33\\xf0\\x2e\\xab\\xc4\\x4b\\xb9\\x5e\\x6c\\x42\\xa2\\xc2\\x29\\xa9\\x3d\\x96\\x93\\xfc\\x29\\xa8\\x3b\\xed\\xaa\\x3b\\xe2\\xe5\\x78\\x14\\xfe\\x94\\x7f\\x77\\xc3\\x6f\\xc6\\x0d\\x6a\\x8e\\x12\\x5e\\xe9\\x18\\x91\\xe4\\xcf\\x9c\\xc0\\x25\\x73\\x86\\x77\\x0e\\xa8\\x2a\\xab\\xc8\\x75\\x3b\\x8a\\xeb\\x9c\\x29\\xfe\\xbc\\x21\\x9d\\x27\\xe2\\x48\\x9e\\xdc\\x49\\xf3\\x64\\xbc\\xa9\\xcb\\xce\\x13\\x4e\\xa3\\xbc\\xb9\\x3c\\x23\\x4b\\x85\\x35\\xfb\\xc9\\x32\\x8b\\x37\\x6b\\x22\\x39\\x7a\\x9f\\x9b\\x0b\\x56\\x53\\xa5\\x59\\x58\\x48\\xd4\\xa7\\xb2\\xe3\\x9e\\x97\\x70\\xe6\\x4c\\x45\\x81\\x11\\x55\\xca\\xd6\\x51\\x9c\\x9c\\x27\\xb9\\x3e\\x25\\x3a\\x19\\x4f\\xc6\\xae\\xbc\\x7a\\x54\\x5b\\xf3\\x60\\xc2\\x96\\x2d\\x13\\xfb\\xb0\\xe4\\x92\\xa2\\x95\\x5d\\xed\\x93\\x5b\\xcb\\x02\\xe5\\x5e\\xa7\\x3d\\xbf\\x32\\x37\\x1d\\x9b\\x7b\\x20\\x19\\x9b\\x23\\xb4\\xf3\\x04\\x4a\\x8f\\x2b\\x99\\xf2\\x4a\\xfa\\x8b\\xe5\\x31\\x9e\\xbc\\x50\\xa5\\x9d\\x24\\x7c\\x1e\\x81\\x37\\x7b\\xf3\\xfa\\x83\\x67\\xfc\\x74\\x21\\xd5\\x37\\x68\\x31\\x7a\\xa9\\x97\\x71\\x25\\xba\\x9e\\x70\\x54\\x6d\\xa4\\x80\\x3b\\x12\\x82\\x9b\\x42\\xb0\\x26\\x04\\xab\\x43\\xd0\\x15\\x02\\x6b\\x08\\x42\\x84\\xce\\x03\\xb0\\x21\\x00\\x81\\x34\\x6b\\xcd\\x54\\xd7\\x47\\x9e\\x0c\\xdf\\x41\\x80\\xff\\x57\\xf8\\x2e\\x91\\xc7\\x73\\xc7\\x98\\x9f\\x79\\xbe\\x3a\\x0e\\xf7\\x81\\x62\\xf3\\xd6\\x32\\x9b\\xf7\\xfb\\x3d\\xb5\\xd5\\x56\\x9d\\x86\\x77\\xb2\\xe1\\xdf\\x40\\x7f\\x55\\xe0\\xf3\\x55\\x1f\\xa0\\xa8\\x36\\x03\\x5e\\x69\\xdf\\x8d\\xa9\\xf6\\xba\\x3f\\x35\\xce\\x47\\xdb\\xb7\\x34\\x39\\x02\\x95\\xd5\\x5e\\xd7\\x6a\\xea\\xf7\\x4e\\x2f\\x93\\x06\\xe8\\x4d\\x22\\x0d\\xec\\x11\\x29\\xab\\x2e\\x34\\x8d\\x32\\xdf\\xf1\\xdf\\xa9\\x39\\x8b\\x77\\xc3\\x7e\\xcd\\x3a\\xc5\\x6a\\x6f\\x71\\xd6\\x3a\\x33\\x05\\x7e\\x64\\x0a\\x7e\\x5d\\x0a\\xde\\x4b\\xe0\\x83\\x39\\xde\\x2c\\x78\\xaa\\xa7\\x47\\x31\\xde\\x1e\\x0c\\x0f\\x66\\xf2\\xbf\\x57\\xab\\xcb\\x27\\xa9\\x30\\xbb\\x33\\xf9\\x5f\\x0b\\x23\\xfc\\x81\\xc5\\x4c\\xc2\\x59\\xe3\\xfe\\x4a\\xf8\\x8c\\x9e\\x53\\xf1\\x13\\x3f\\x0b\\x3f\\x26\\xbc\\xae\\xee\\xcb\\x49\\x34\\x6a\\xbe\\x55\\x92\\x8a\\xac\\x85\\xc4\\xee\\x43\\x26\\x93\\x8f\\xb0\\xcd\\xa1\\x30\\x3b\\x2c\\x44\\x3d\\xb6\\xaa\\xed\\xe4\\x16\\x9f\\x87\\xed\\x0d\\x8a\\x47\\x27\\x37\\x07\\xfd\\xb7\\x7a\\xf3\\xe6\\xd3\\x1f\\x35\\xf0\\x67\\x27\\x37\\x07\\x4d\\xee\\x0d\\x6a\\x51\\x84\\xc8\\xff\\xd7\\x65\\x60\\xfb\\x85\\xf6\\x2d\\xc3\\xfc\\x86\\x8f\\x9e\\xee\\xa7\\x0c\\x8a\\x54\\xa1\\xf6\\xfc\\x3e\\x7e\\x00\\x1c\\x13\\xb6\\x11\\xb9\\xe5\\xdc\\x27\\x00\\xe8\\x44\\x8e\\x58\\xbd\\x87\\x52\\x4e\\x01\\x13\\x8e\\xb0\\x9d\\xca\\x42\\x02\\xa8\\x96\\x3c\\x1d\\x0b\\xd9\\x96\\x8c\\x17\\x10\\x7b\\xa9\\x58\\x8d\\xa1\\x4f\\x50\\xe9\\x2e\\xdc\\x34\\x88\\x2b\\x2f\\xa3\\x53\\x39\\x49\\x07\\xa7\\xd6\\x5c\\xb2\\x74\\xdc\\x81\\x64\\x0c\\x5d\\x49\\x47\\xed\\x2c\\x05\\x3c\\x13\\xae\\x1f\\xfc\\xe9\\x98\\xfb\\x49\\xf0\\xb3\\x18\\xfd\\xc6\\x24\\x7e\\x62\\x77\\xde\\x8d\\xd2\\xe3\\x92\\x5c\\x72\\x84\\x0d\\x65\\xe6\\xb3\\x31\\x99\\x8f\\x02\\x6f\\x53\\xcb\\xa5\\xd8\\x12\\x3a\\x4e\\x19\\xf3\\x87\\xba\\x0c\\x9a\\xc4\\x79\\x5c\\x32\\x6e\\xdc\\xfb\\xad\\x58\\x40\\x60\\xca\\x51\\x63\\x87\\x42\\x91\\xad\\x5a\\x88\\x14\\x6d\\x57\\x29\\x71\\x10\\x18\\x9a\\x49\\xdb\\xb5\\x5a\\x7b\\x77\\x36\\xc5\\xa3\\x0f\\x5e\\x90\\x41\\xd9\\xb5\\x69\\x3c\\x33\\x88\\x9d\\x6a\\x52\\x60\\xfc\\x4a\\x39\\x1f\\x40\\xd9\\xfd\\xc8\\x13\\x3c\\xba\\x8c\\x7e\\x74\\x32\\x85\\xb3\\x8f\\xaa\\x17\\x7e\\x80\\xda\\xf9\\x80\\xde\\x26\\xbe\\xdc\\x5f\\x98\\x2f\\xe7\\x8d\\x48\\x16\\x89\\x18\\x94\\x0e\\xa7\\x88\\x52\\x9e\\x1c\\xdb\\xef\\xbb\\x8f\\x46\\xf8\\x8b\\x46\\xf2\\xf3\\x39\\xd9\\x92\\x9e\\x96\\xa5\\xf7\\x7d\\xf9\\x08\\xaa\\xa6\\x07\\xab\\x23\\xfb\\x5e\\xc0\\x98\\xc7\\x04\\x67\\x48\\x75\\xe1\\x9c\\xf6\\x80\\xbd\\x7a\\xaa\\xa0\\xfb\\xf9\\x1f\\xa2\\x97\\xc2\\x16\\x13\\xd8\\xcf\\x84\\x6b\\x90\\x05\\xd5\\x47\\x3c\\x26\\x03\\x29\\x39\\x0f\\x60\\x35\\xeb\\x8d\\x82\\x05\\x0b\\x3a\\x8e\\x03\\x49\\x07\\x24\\x35\\xdd\\x12\\xd8\\x41\\x0f\\xaf\\x82\\xe4\\x2e\\xff\\x74\\xdf\\x50\\xbb\\xae\\xa2\\xb5\\xa2\\xd5\\xd3\\xea\\xd1\\x79\\x74\\x15\\xd5\\x53\\x57\\xb7\\x3e\\xf4\\x90\\xfa\\xbf\\x5a\\x3e\\x22\\xc4\\xd6\\xb4\\x6e\\xff\\xdd\\x80\\x87\\x1f\\x1e\\xf0\\xbb\\xed\\xad\\x6b\\x68\\x5e\\x1f\\xc8\\x47\\xe0\\x71\\x92\\x97\\x01\\x35\\x12\\x6d\\xc9\\x71\\x48\\xc2\\xa4\\x68\\x82\\x20\\x1a\\x79\\x1d\\x90\\x3f\\xd1\\x40\\x54\\x75\\x48\\xb5\\x62\\x55\\x67\\x2f\\xbd\\x01\\x31\\xc9\\x2b\\x40\\x0a\\xef\\xaf\\x68\\x85\\xc7\\x3f\\x6d\\x5d\\xfb\\xd3\\x64\\x18\\xbb\\xb6\\x95\\x7f\\xe8\\xa3\\xd6\\xcb\\x8e\\x9f\\x23\\xfc\\xfd\\xb2\\x01\\xac\\xee\\xf2\\x78\\x52\\x9f\\x4a\\x96\\x47\\x7d\\xc4\\xad\\xe7\\x79\\x51\\xe2\\x38\\x51\\x44\\x60\\xe4\\x24\\x81\\xfc\\x01\\xab\\x8d\\x26\\x8b\\x46\\xcd\\xa9\\xc2\\x04\\x3d\\xa9\\x07\\xa9\\x8d\\xbf\\x72\\xf2\\x4f\\x6b\\x5b\\x3f\\x25\\xb9\\xc0\\x58\\x52\\x91\\x5b\\x2e\\x6b\\xfd\\xe8\\xe3\\x01\\x97\\x31\\x1b\\xee\\x07\\xb8\\x9d\\x58\\x1a\\x65\\x0e\\x51\\xf7\\x09\\x6b\\x6b\\xf5\\x3b\\x69\\x6b\\x77\\x44\\x02\\x01\\xf3\\x1c\\x7e\\x32\\xc6\\xa1\\x50\\x30\\xe9\\x32\\xbb\\xfd\\xcd\\xbc\\xa5\\xe7\\x0b\\x5c\\xb6\\x61\\x83\\x0a\\xaf\\xff\\x25\\x78\\xbd\\xe5\\xbf\\xfd\\xc3\\xa3\\x5f\\x80\\x27\\xf4\\x79\\x0e\\x31\\x4c\\x82\\xc2\\x7a\\x9b\\x08\\x57\\xb1\\xf2\\x1e\\x4d\\xfc\\x8b\\xb7\\xf5\\x9e\\xef\\xa8\\x40\\xc3\\xc8\\x77\\x9d\\x4d\\x44\\xca\\xd9\\xfd\\x5b\\xf0\\xd7\\xb8\\x4d\\x98\\x8c\\x1c\\xa8\\x92\\x58\\xbb\\x66\\x33\\xb1\\x5a\\x9c\\x2e\\xbd\\x8d\\xb3\\x6d\\x8f\\x73\\xfc\\x7d\\x31\\x8e\\xc8\\xe9\\xa0\\x7a\\xce\\x61\\xd2\\x6a\\x72\\x36\\xb5\\xb4\\xba\\x15\\x2a\\x54\\x0f\\x68\\xda\\xf2\\xa7\\xd7\\xdb\\x63\\xe1\\xa2\\xba\\x09\\xb1\\x31\\xd3\\x96\\x71\\xdb\\xef\\xf9\\xb0\\x65\\x86\\x73\\xf0\\x84\\x80\\xa7\\xc8\\x5b\\x35\\x65\\xc8\\x98\\x73\\x68\\x3e\\xab\\x49\\x3e\\x1e\\x96\\x4f\\x59\\xc4\\x49\\x17\\x57\\x9b\\xcd\\x2e\\x27\\xcd\\xc1\\xc6\\x6d\\x8f\\xeb\\x6d\\x3c\\x3d\\xe5\\x2f\\xa8\\xc9\\x84\\x1e\\x1c\\xd1\\x4c\\xb7\\x48\\x2e\\xaf\\x50\\xa5\\x2b\\xf6\\xbc\\xf5\\x6a\\x7b\\xbc\\xa1\\xbc\\x7c\\xfc\\x19\\x63\\xa6\\x2e\\xe7\\x37\\xdc\\xf7\\x7e\\xf3\\x4c\\xe7\\xd0\\xf1\\x7e\\x6f\\xa9\\xb3\\xbc\\x73\\x48\\xc7\\xd9\\x4a\\x5c\\x64\\xa5\\xfc\\x22\\x36\\x41\\x2d\\xe1\\xa5\\x9a\\x88\\x87\\x2e\\x98\\x35\\x99\\x9c\\x0e\\xcc\\xdd\\x17\\xb3\\xe2\\xed\\x71\\x9d\\xd5\\x61\\xbd\\x27\\x6e\\xa5\\xad\\x86\\x32\\xb3\\x2b\\xb3\\x09\\x59\\xb9\\x99\\xe4\\x45\\xed\\xd3\\x1b\\x0a\\x6b\\x49\\x6e\\xd3\\x96\\x2e\\x96\\x0f\\x2c\\x99\\xe1\\x1c\\x3a\\xae\\x24\\xa7\\x38\\xb7\\x72\\xea\\x90\\x8e\\x73\\x59\\x5e\\xb7\\x90\\x3a\\x05\\x59\\x9d\\x02\\x11\\x87\\x51\\x44\\x56\\xe4\\x72\\xda\\xac\\xa4\\xd1\\x48\\xe3\\x19\\xb9\\x74\\x95\\x94\\x13\\x74\\x9c\\x2a\\xff\\xb2\\xbd\\xfa\\x0b\\xc1\\xe3\\xae\\x83\\x5b\\x96\\x4f\\x1d\\xdb\\x39\\xbe\\xac\\xa2\\x21\\x16\\x7d\\xf5\\x2d\\x7e\\xc3\\x19\\x67\\x77\\x0c\\xe9\\x2c\\x77\\x96\\x7a\\x4b\\xc6\\x0d\\x71\\xcd\\x6c\\x7e\\x9f\\xda\\x96\\x67\\xe1\\xaf\\xb9\\x67\\x94\\x76\\x43\\xd1\\x48\\x71\\x4e\\x71\\xb1\\xcf\\xc9\\xba\\xc9\\x89\\x2a\\xca\\x7d\\x81\\x80\\xd2\\x55\\x1e\\x9e\\x36\\x65\\x8e\\x92\\x27\\xad\\x1b\\x3d\\x15\\xd4\\xae\\x39\\xc3\\xe4\\xa4\\x5d\\x57\\xd6\\xe7\\xc9\\x59\\xda\\xce\\x84\\x17\\x4e\\xdd\\xb5\\x53\\xfb\\xf6\\x35\\x46\\x13\\x48\\x99\\xb7\\xa9\\x65\\x1e\\x1e\\xf1\\xb3\\xde\\xf6\\x39\\x9d\\x39\\xc5\\xe6\\x62\\x56\\x66\\x5b\\xb2\\xb8\\x9a\\xbe\\x57\\x0b\\x6d\\xef\\xaf\\xd4\\x7d\\x69\\x41\\xe8\\xf3\\x84\\xdb\\xf6\\xc6\\x6b\\xa4\\xbf\\xca\\x2a\\x48\\x41\\xa7\\x9e\\x2b\\x47\\xde\\x7e\\x39\\xf5\\x6d\\x19\\xbf\\xe1\\xde\\xf7\\x5b\\x66\\xd2\\xee\\xf3\\x06\\x5c\\x15\\xd3\\x86\\x8e\\x3e\\xa7\\xf3\\x9e\\x0f\\x9b\\xb4\\x0f\\x96\\x32\\x3b\\x7e\\x90\\xfc\\x22\\x77\\x2b\\xa3\\x9d\\x00\\x1a\\x1b\\x29\\x63\\xd4\\x93\\xeb\\x70\\xb8\\x0a\\x4d\\x85\\x65\\xa5\\xb9\\x7e\\xbf\\x95\\x68\\x76\\x42\\x49\\x2e\\xac\\xd0\\x52\\xa9\\x86\\x96\\x4e\\x55\\xfc\\x3e\\xb4\\x25\\x64\\x3f\\xe0\\x6e\\x4d\\x12\\xdb\\xf4\\x51\\xd3\\x96\\xca\\x43\\xb5\\xdf\\x32\\x49\\x2f\\x3a\\xe2\\xdc\\x69\\xf2\\x4b\\x67\\x67\\x3c\\x40\\xd9\\x6d\\xee\\x8f\\x58\\x29\\x75\\x04\\x18\\x69\\x14\\xe6\\x28\\xa4\\x18\\x0e\\x27\\xd9\\xb8\\xad\\x5f\\x5a\\x2c\\xeb\\xfb\\x68\\x82\\x96\\x3c\\xe1\\xb9\\x53\\x13\\xeb\\x7d\\x7d\\xa9\\x97\\x9d\\x81\\xd5\\x6b\\xe3\\x0e\\x0a\\xeb\\x91\\x19\\x0e\\x44\\x7a\\xcd\\x06\\x1d\\xcf\\x73\\x46\\x09\\x89\\x7a\\xa2\\xe4\\x38\\x8b\\xd5\\x68\\x7a\\x2e\\x26\\x19\\x5f\\x88\\x8b\\x02\\xf9\\x14\\x5f\\x88\\x4b\\x08\\x56\\x58\\x61\\x8e\\x15\\x26\\x5b\\x61\\x84\\x15\\x9a\\xac\\x50\\x6e\\x05\\x87\\x15\\x78\\x2b\\x1c\\xb3\\xc2\\xdf\\xad\\xf0\\x8e\\x15\\x5e\\xb0\\xc2\\x6e\\x2b\\x6c\\xb5\\xc2\\xcd\\x56\\x58\\x6b\\x3d\\x29\\xfc\\x42\\x92\\xe0\\x2b\\x2b\\xbc\\x6f\\x85\\x3d\\x56\\x78\\xd0\\x0a\\xb7\\x9f\\x04\\xda\\x95\\xc4\\x9e\\x05\\x3c\\xd7\\x0a\\x53\\xad\\x30\\xca\\x0a\\x8d\\x56\\x28\\x65\\x60\\xd8\\x0a\\x3f\\x58\\xe1\\x0b\\x2b\\xbc\\x6b\\x85\\x97\\xad\\xf0\\x98\\x15\\xb6\\x59\\xe1\\x56\\x2b\\x5c\\x63\\x85\\x0b\\xac\\x30\\x3f\\x09\\xdf\\x62\\x05\\xd1\\x0a\\x03\\x7e\\xd4\\xc0\\xc1\\x66\\x2b\\xdc\\x64\\x85\\xc8\\x68\\xa5\\x04\\x93\\x92\\xd9\\x2b\\x19\\x1f\\x4c\\x96\\xac\\xef\\xf3\\xa7\\xad\\xb0\\xce\\x0a\\xab\\xd8\\x4f\\x38\\x62\\x85\\x7a\\x2b\\x20\\x2b\\xe8\\x67\\x11\\x6f\\xa6\\x4b\\x71\\x6a\\x96\\xab\\xaf\\xf3\\xd4\\x57\\x17\\x7d\\x9b\\x35\\x33\\xe3\\xb5\\x5c\\xfb\\x3a\\x2f\\xf3\\x95\\x05\\x9a\\x06\\x46\\x21\\x22\\xf8\\x55\\x19\\xe9\\xa1\\xa4\\xec\\x60\\x1e\\x2b\\x17\\xe0\\x5a\\x85\\x66\\x81\\x0b\\x73\\x65\\xee\\x32\\x7c\\xf5\\xdc\\x61\\x73\\x27\\xc9\\x8b\\xe1\\xf6\\x61\\xdf\\x0f\\x83\\xdb\\xe5\\xc5\\xf8\\xa7\\x13\\x5e\\xee\\x1f\\x9b\\x87\\x7d\\x1b\\x81\\x75\\xf2\\xca\\xc8\\xb7\\xc3\\x32\\x68\\x20\\x17\\x6e\\x8f\\xf4\\x72\\x22\\xe2\\x74\\x5e\\xc8\\xc1\\x42\\x0e\\xa7\\x73\\xda\\x0c\\x66\\x5e\\x72\\x58\\x5d\\x46\\x8b\\x8b\\x93\\x24\\x9d\\x2e\\xcf\\x67\\x77\\x3c\\x17\\xb3\\xda\\x5f\\x88\\x9b\\x8c\\xe4\\xd3\\xf4\\x02\\xe1\\xb0\\x5c\\xef\\x73\\x31\\xc8\\x7d\\x21\\xce\\x13\\x22\\x01\\xfe\\x85\\x38\\xac\\xf2\\xc1\\x12\\x1f\\x8c\\xf3\\xc1\\x20\\x1f\\x84\\x7c\\xe0\\xf3\\x81\\xd1\\x07\\x3d\\x3e\\xd8\\xe3\\x83\\x75\\xc9\\xe7\\x41\\xf6\\x70\\x21\\x79\\x7a\\xc4\\x07\\x1f\\xf9\\xe0\\xa0\\x0f\\x9e\\xf6\\xc1\\x2e\\x1f\\x6c\\x62\\x10\\xc1\\x64\\x9a\\x6f\\x32\\x7f\\xbd\\xc7\\x07\\x1b\\x7c\\xe9\\x0c\\x9a\\x7c\\x50\\xea\\x03\\x97\\x0f\\x78\\x1f\\x1c\\xf3\\xc1\\xbb\\x2c\\x0f\\x6d\\x06\\x03\\x94\\x0c\\xc8\\x0f\\x07\\xd8\\x6f\\x2b\\xd8\\xcf\\x29\\xd4\\x5a\\xbc\\x6b\\xd9\\xaf\\x91\\xe2\\x26\\xf6\\x7b\\xea\\x17\\x4c\\xf2\\x5b\\x4d\\x9e\\xfb\\xa0\\xde\\x07\\x56\\x9f\\xd2\\xb9\\x4a\\xf7\\xf6\\xed\\xb4\\x59\\xfd\\xf5\\xa8\\xb6\\x4f\\xb3\\x00\\x88\\x74\\x22\\x2f\\xba\\x89\\x43\\xb2\\x2b\\xc3\\xa9\\xce\\xd4\\xf4\\x6a\\x99\\x33\\xe0\\x24\\x9d\\x4a\\x8d\\xb8\\x54\\xdf\\x52\\x5b\\xae\\xcc\\x8d\\x9b\\x47\\x7c\\x1f\\xa1\\x1d\\x3c\\x79\\xc6\\x8c\\xc9\\xf4\\x33\\xf2\\xfd\\x08\\xda\\xd1\\x9d\\xdd\\xdd\\x9d\\x70\\xfb\\xbd\\xf2\\x0a\\xb8\\x81\\x3c\\xb9\\xfd\\xb1\\x3d\\xb7\\xa7\\xfb\\xfc\\xf6\\x3d\\x8f\\xdd\\x3e\\xe2\\x7b\\xd2\\xef\\xa7\\xc3\\x46\\xbc\\x8a\\x7b\\x1a\\x19\\x61\\x56\\xe4\\x04\\xb1\\xbf\\xcc\\x26\\x24\\x5e\\x60\\x86\\xb9\\x66\\xe8\\x34\\x43\\x8b\\x19\\xca\\xcd\\x90\\x63\\x06\\xd1\\x0c\\x3f\\x98\\x01\\xbe\\x30\\xc3\\xbb\\x66\\x78\\xde\\x0c\\xbb\\xcd\\xb0\\xd9\\x0c\\x37\\x99\\x61\\xad\\x19\\x56\\x98\\x21\\x62\\x86\\x26\\x33\\x94\\x9a\\xc1\\x66\\x06\\x22\\x45\\x16\\x1e\\x33\\xab\\xa0\\x07\\xcc\\xb0\\xc7\\x0c\\xb7\\x32\\x38\\x82\\x72\\x92\\x19\\x46\\x30\\xd0\\x62\\x33\\xb8\\xcc\\xc0\\x27\\xc1\\xb6\\x99\\x61\\x99\\x19\\x70\\x37\\x83\\x20\\xc8\\xea\\x19\\x04\\x41\\x76\\xd4\\x0c\\x9f\\xb1\\x0c\\xd7\\x30\\x88\\xee\\xe4\\xaf\\x4a\\x3e\\x03\\xde\\x4a\\x16\\x63\\x0d\\xfb\\x6d\\x12\\x4b\\xa6\\x2d\\x9e\\x92\\xc6\\x6a\\x86\\x4f\\xcd\\xb0\\xcb\\x0c\\x9b\\xcc\\xb0\\xda\\x0c\\x4b\\xcd\\xd0\\x65\\x86\\x89\\x66\\x68\\x37\\x43\\xc8\\x0c\\x45\\x0c\\x40\\x3f\\xab\\x2f\\x7f\\xf5\\x65\\x3f\\xe5\\x79\\x57\\x5f\\x1e\\xcd\\x64\\xd1\\xae\\x74\\xdf\\x1e\\xd2\\x8c\\x19\\xa5\\x3c\\x50\\x98\\x7f\\xde\\x03\\x0f\\x9c\\x47\\x2e\\xd8\\xb8\\x65\\xc5\\x8a\\x2d\\xf4\\xa2\\x63\\x2d\\x0f\\xf7\\x7e\\xae\\x9b\\x0e\\x21\\xe6\\xe3\\x06\\x50\\x43\\xc4\\xe3\\xb6\\x5a\\x7d\\x12\\xe7\\xf3\\x73\\xfe\\xd2\\xb2\\x42\\x87\\x88\\xc4\\x7b\\xe2\\x5e\\x13\\xdb\\xf8\\xa3\\x51\\xb1\\x1e\\x92\\xe7\\x7e\\x28\\xe7\\xd3\\x0a\\x27\\x71\\x78\\xb5\\xf7\\x30\\x69\\xe4\\xec\\xee\\x51\\xe4\\xc2\\x67\\x67\\xdf\\x14\\xb0\\xf7\\x7e\\xae\\x94\\x3f\\xc0\\xbf\\x4d\\x7c\\x26\\xe2\\xff\\x10\\xe7\\x17\\x63\\x22\\x23\\x30\\xf5\\x36\\xd4\\x50\\xba\\xe2\\xae\\xf8\\xdd\\xd5\\x53\\xe0\\x30\\x7f\\x25\\x35\\xf3\\x27\\x52\\x1b\\x7f\\x02\\xb1\\xf1\\xab\\x58\\x3a\\xf7\\x13\\x74\\x34\\x49\\xe4\\x09\\xd1\\x85\\xc2\\x8a\\x8b\\xc3\\xc2\\x7b\\x7e\\x92\\x4c\\x9e\\x00\\x87\\xa7\\xf0\\x57\\x4e\\x3c\\x5e\\x28\\xdc\\xa2\\xf8\\x45\\x0e\\x92\\xee\\x7b\\xe1\\x2a\\xa4\\x43\\x85\\x11\\x13\\xc2\\x58\\xe0\\xf4\\x20\\x08\\xc4\\x85\\x63\\x2e\\x41\\x28\\xe9\\x0f\\x28\\x9e\\x00\\xcd\\xf8\\xfb\\x03\\x53\\x0f\\xc0\\x61\\xee\\xed\\x9e\\x42\\xfe\\xef\\xf0\\x58\\x06\\x0e\\x23\\xb1\\x33\\x9d\\x06\\x41\\xa0\\xc6\\x02\\xe6\\x4c\\x04\\x8f\\xc1\\xc0\\x49\\xf4\\x90\\x89\\x90\\x72\\x7c\\x4a\\xca\\x81\\xc9\\xc0\\xe8\\xf6\\x27\\xb1\\xca\\x2b\\x61\\x5d\\x12\\xf3\\x44\\xf9\\x9b\\x4c\\xdc\\x75\\x11\\x17\\x88\\xa2\\x9e\\x37\\x1a\\xf5\\x92\\x64\\xd2\\x19\\x8d\\x08\\xf1\\x12\\x47\\x4f\\x80\\x08\\xa5\\x90\\x27\\x4f\\xb4\\x22\\xd8\\x39\\x82\\x95\\xd5\\x99\\xfc\\x7d\\x4f\\xb9\\x11\\x0e\\x93\\x3c\\xf8\\x22\\x70\\x4f\\x94\\x4f\\xa3\\x59\\x28\\xbe\\xab\\xfa\\xb2\\x89\\x3a\\xaa\\xa4\\x75\\xa8\\x9a\\xd0\\xc6\\x7b\\xc2\\x54\\x42\\x25\\x94\\x3a\\x8a\\x50\\x10\\x85\\x51\\x3b\\xfc\\x23\\xd2\\xdb\\x54\\x33\\xb0\\xbe\\xd8\\x8b\\xb9\\xf2\\x7c\\x13\\x69\\x5a\\x87\\x5e\\x0f\\x7c\\x3e\\xe7\\xad\\xaf\\xd1\\x47\\x23\\xb1\\x28\\x44\\xa2\\xd0\\x18\\x85\\xd2\\x28\\xe4\\x44\\xe1\\xe7\\x28\\x7c\\x13\\x85\\x8f\\xa3\\xf0\\x66\\x14\\x76\\x47\\x61\\x6b\\x14\\x6e\\x8d\\xc2\\x05\\xd1\\x6b\\xa2\\x78\\x4c\\x14\\x06\\x45\\xa1\\x24\\x0a\\xae\\x28\\x88\\x51\\x58\\x9c\\x82\\x7c\\x4d\\x03\\x79\\x4d\\x14\\x62\\xd1\\x45\\x51\\x3c\\x2e\\x0a\\x43\\x18\\x4a\\x31\\x9a\\x13\\xc5\\x3f\\x46\\xe1\\xc3\\x28\\xbc\\x1c\\x85\\x87\\xa2\\x70\\x53\\x14\\xae\\x8c\\xc2\\x8a\\x28\\xcc\\x8f\\x42\\x5b\\x14\\x82\\x51\\x70\\x44\\x81\\x8f\\x02\\x81\\x79\\x37\\x09\\x73\\x0f\\x83\\x99\\x1b\\x5d\\x11\\xc5\\x9d\\x51\\xa8\\x8a\\x82\\x2f\\x0a\\x66\\x02\\xfe\\x72\\xf4\\xab\\xe8\\x8f\\x51\\x4e\\x81\\x58\\x9f\\xc4\\x32\\x86\\x62\\x19\\x14\\xc5\\x05\\x51\\xb0\\x32\\x3c\\xef\\x44\\xff\\x1e\\xc5\\x07\\xa2\\xb0\\x2f\\x0a\\x77\\x45\\x61\\x1d\\xa9\\xe0\\xac\\xcb\\x28\\x3a\\x20\\xc8\\xa4\\x68\\x15\\x2b\\xcf\\x5b\\x51\\x78\\x21\\x0a\\xb4\\xe0\\xdb\\xa2\\xb0\\x2a\\x0a\\x4b\\xa3\\x44\\x2f\\x53\\x04\\x45\\x51\\xac\\xe7\\x44\\xf7\\xbe\\x98\\x41\\x7c\\x22\\x6e\\xb0\\x92\\x4f\\x03\\xe6\\x1b\\x5b\\xf7\\xc5\\xea\\x1a\\x9f\\x88\\xd7\\x0d\\x21\\x9f\\x75\\xa8\\x30\\xb0\\x2f\\x96\\x57\\xf8\\x44\\x3c\\xaf\\x8a\\x7c\\xe6\\x31\\x5e\\xa3\\xf2\\x99\\x9e\\x09\\x1e\\x52\\xc4\\x74\\x98\\x7e\\xd2\\x73\\xfc\\x15\\xf5\\xde\\xbf\\x12\\xc8\\x94\\x08\\x27\\xd5\\xed\\xb3\\xfa\\xaa\\x75\\xbb\\xe6\\xcc\\x74\\xcd\\x2e\\x3e\\x01\\x08\\x27\\x8f\\xf5\\xe1\\x34\\xa7\\x4d\\xf7\\xf7\\xac\\xac\\x3f\\xb8\\xd2\\xdb\\xb9\\x3d\\x77\\x24\\xf6\\xca\\xaf\\xcb\\xef\\x10\\x4c\\x0d\\x87\\x1a\\x5b\\xc3\\x84\\xfa\\x5b\\xc2\\xdc\\x05\\x7d\\x1f\\x2d\\xe9\\xf3\\xc8\\x25\\xcc\\x97\\x7f\\x2b\\x6f\\x82\\xd9\\x30\\x53\\x7e\\xe0\\x86\\x8b\\x96\\xdd\\x7a\\xdb\\x8a\\x8b\\x13\\x1f\\x67\\x3d\\xb8\\x29\\xeb\\x3b\\xb3\\x2b\\xae\\xe5\\x66\\xc0\\x53\\xc2\\x10\\x42\\xb7\\xb9\\x11\\x23\\x70\\x1c\\x2f\\xd8\\x30\\x60\\xf2\\xb5\\xfd\\xd0\\xcc\\x54\\xc4\\xc5\\xcf\\x05\\xf6\\x03\\x3e\\xb8\\x50\\x18\\x22\\x17\\x11\\x3b\\xf9\\x0d\\x6e\\x06\\xb7\\x99\\xa5\\xd1\\x11\\xaf\\xcd\\x06\\x9c\\xa0\\xe3\\x74\\x7a\\x49\\x47\\x53\\xf2\\x34\\x69\\xe3\\xa1\\x99\\x8d\\x9a\\xd3\\xcb\\x68\\x7a\\x20\\x57\\x82\\xe2\\x80\\x77\\x92\\x98\\xe0\\x6f\\x72\\x11\\x1b\\xc3\\x3e\\x8b\\x9b\\xc1\\x4b\\x2a\\x3e\\x23\\x2a\\x88\\x98\\x79\\xa4\\x27\\x8a\\xce\\x48\\x90\\x22\\x9e\\xa3\\x76\\xf7\\xa1\\xc6\\xc6\\x64\\xb8\\x5f\\xc5\\xc5\\xae\\xbd\\x80\\x4f\\x5b\\x28\\xcf\\xa1\\xef\\xf8\\x4c\\xfa\\x9e\\x44\\xab\\xa2\\x26\\xf5\\xbb\\x1c\\x8d\\xc5\\x35\\xdc\\x14\\x24\\x22\\x5f\\xc4\\x8c\\x39\\x9e\\x13\\x45\\x1d\\x91\\x54\\x47\\x62\\x40\\xbd\\x0e\\xc5\\x30\\x23\\x25\\x84\\x30\\xe7\\x0c\\xc0\\xe5\\x30\\x76\\xee\\xbe\\x7d\\x73\\xe5\\x7d\\x70\\x04\\xe6\\xca\\xab\\xe4\\x4b\\xe9\\x06\\x0a\\x49\\x1c\\x53\\xd3\\x38\\x08\\xc3\\xeb\\x05\\x38\\x12\\x13\\xb4\\x38\\x24\\x08\\x38\\xb9\\x30\\xe0\\x1a\\x79\\x1f\\x45\\x02\\x63\\x61\\xa7\\x7c\\x2f\\x5c\\x0d\\x57\\xcb\\xf7\\x12\\x79\\xb1\\xb3\\xf7\\x73\\xbe\\x42\\x18\\x62\\x2b\\x47\\x3c\\xdb\\xaf\\x80\\xc7\\xb5\\x4c\\x06\\x1e\\x10\\x79\\xfc\\x95\\x38\\x95\\xc5\\x97\\x90\\x00\\x3c\\xa6\\x47\\xf2\\x24\\xe3\\x11\\x44\\x10\\xe1\\xaf\\x4e\\x7c\\xc2\\x95\\x88\\xfc\\x24\\x22\\xab\\xd7\\x11\\xf9\\xf8\\x2a\\x6b\\x27\\xe7\\x13\\x1c\\x85\\xe5\\x88\\xab\\xd2\\xde\\xae\\x42\\x07\\x01\\xc2\\xc7\\x57\\x71\\x2f\\x5d\\x44\\x20\\x78\\x92\\xdf\\x3e\\x38\\x2e\\xdc\\xa9\\xea\\xaa\\x10\\x1a\\x19\\x29\\xab\\xf5\\xbb\\x25\\xa9\\xc2\\x67\\xe5\\xb8\\x86\\x7a\\x93\\xe3\\x9e\\x98\\xb7\\xf0\\x9e\\x98\\xc9\\x6b\\xf2\\xa2\\xd2\\xea\\xd2\\x7b\\x62\\x44\\x79\\xc5\\x50\\x35\\xa0\\xf6\\x03\\x41\\xb6\\x4d\\x55\\x9b\\x37\\x14\\x4a\\xb9\\xf7\\xca\\x99\\x6c\\x99\\x1a\\x8c\\xfb\\x15\\xf7\\x30\\xb5\\x7f\\x8d\\x95\\xba\\xc6\\x26\\xef\\xe0\\xda\\xd4\\xdd\\x75\\x7d\\x9f\\x65\\xea\\x1c\\x2b\\x1a\\x18\\xc9\\xe3\\xad\\x56\\xb3\\x60\\xd0\\x1b\\x4c\\x60\\x32\\x9b\\x6d\\x46\\xab\\x95\\xb8\\xc8\\xbc\\x59\\xc7\\x31\\xc9\\x6e\\x57\\x64\\xbb\\x46\\xb8\\xa7\\xe5\\x7b\\xd8\\x4e\\x4f\\xff\\x0a\\xd8\\xe9\\xb9\\x8a\\x54\\xc6\\x1f\\x20\\x0a\\xe4\\xc0\\x81\\xa4\\x8c\\x27\\xea\\x43\\x95\\xf2\\x38\\x95\\x1f\\x95\\xe9\\xf5\\x11\\x37\\xe8\\x74\\x92\\x64\\x20\\x3a\\xd2\\x60\\x30\\xe9\\x79\\xd2\\x8d\\x82\\x81\\x13\\xb2\\xd4\\x88\\x3d\\x43\\x8f\\x70\\x76\\x45\\x91\\xdc\\x07\\x03\\xe5\\x97\\x4f\\xa7\\x8a\\x84\\xe6\\x21\\xdf\\x07\\x8f\\xa9\\xaa\\x04\\x7a\\x6d\\x24\\x8f\\xa3\\x24\\x0f\\xaa\\x7f\\x09\\x61\\x01\\x88\\xf4\\x7c\\x23\\x55\\xfd\\x36\\x32\\x65\\xc7\\xf9\\xb9\\xea\\xa9\\x2f\\xc3\\x67\\x2f\\xcb\\x47\\x84\\x72\\x38\\x57\\xbe\\x19\\xa5\\xd2\\x5d\\x4f\\x68\\x92\\xe8\\x5f\\x11\\x78\\xc0\\x84\\xa6\\x78\\x2c\\xe0\\x3e\\xfa\\x97\\x96\\xc0\\x07\\x04\\xc3\\xd1\\xa3\\xaa\\x8e\\x7c\\x52\\xa6\\x7b\\x72\\xe3\\x5e\\x3b\\xc1\\x71\\x44\\xb8\\x86\\x9e\\x3d\\x85\\x9a\\x22\\x1e\\x62\\x5d\\xea\\x04\\x81\\x20\\x37\\x8a\\xd8\\xa0\\x93\\x0c\\xe4\\x0f\\xf4\\xbc\\x1a\\xb1\\x54\\x8f\\x27\\xea\\xa3\\x89\\x69\\x88\\xaf\\xb5\\x42\\xe7\\xa9\\x9e\\xfa\\xd2\\x91\\x23\\x2f\\x4d\\xbd\\xfc\\xf2\\xcb\\x49\\x29\\x85\\xbd\\x1f\\x7f\\xbc\\x77\\xef\\xf2\\xe5\\xcb\\x32\\xfb\\xcd\\x4c\\x75\\x31\\x6f\\x36\\x1b\\xf5\\x06\\x83\\xd1\\x68\\x91\\xcc\\x66\\x91\\xf4\\x99\\x31\\xad\\x8b\\x33\\x5b\\x31\\xd9\\x57\\xda\\x9e\\xf2\\xa6\\x3a\\x4a\\xbe\\x37\\xd9\\x4f\\x28\\x07\\xbb\\xf0\\x34\\x42\\xf5\\x06\\x64\\x41\\xc3\\x22\\x25\\x66\\xd2\\x0e\\x7a\\x00\\x8b\\x88\\xb1\\xd5\\xa6\\x17\\x2c\\x9c\\xe5\\xcb\\x18\\xda\\xc0\\x6d\\xe2\\x30\\xc7\\x61\\xa3\\xee\\x30\\xfe\\x98\\x1e\\xbb\\x4a\\xf2\\x9b\\x19\\x4e\\x59\\x69\\xc9\\x53\\xed\\x94\\x30\\x20\\xc9\\xb4\\x99\\x96\\xc3\\x4d\\x3c\\xb5\\x30\\x16\\xb6\\xcb\\x4f\\xc2\\xa2\\x6b\\x26\\xfd\\xc4\\x7d\\xf0\\x57\\xfc\\xf8\\xa6\\x4d\\x73\\x70\\x65\\xe2\\xdf\\xab\\xe0\\x55\\xf9\\x71\\x22\\x1b\\x1a\\xb1\\x11\\xb7\\x93\\xbc\\x7d\\x68\\x5c\\xa4\\xca\\x95\\x97\\xe7\\xf6\\x5a\\x31\\x76\\xeb\\xb9\\xfc\\x02\\xe4\\xf8\\x22\\x66\\x25\\x96\\x00\\x96\\x88\\xbc\\x10\\x72\\x72\\x72\\xbf\\x8a\\xe5\\x1c\\x16\\x4c\\x5f\\xc4\\xf4\\xc2\\xa7\\x34\\x5a\\x93\\xde\\x16\\x8e\\xe8\\xaa\\x60\\xfa\\x64\\x4a\\xe5\\xbc\\x47\\x16\\x47\\x0a\\x81\\x7a\\x10\\x29\\x3b\\xde\\x97\\x99\\x3c\\xee\\x16\\xf0\\x43\\xe1\\x5d\\x37\\x9e\\xbb\\x5c\\x37\\xac\\xa8\\x61\\xf0\\xf8\\xa1\\xd1\\xc9\\x75\\xb5\\xa3\\xe0\\x51\\x79\\xd3\\x28\\xee\\x3f\\xdf\\x5e\\x78\\xb5\\xf7\\xd0\\x55\\xbe\\x19\\x53\\xa6\\x4f\\xf6\\xc2\\xf6\\x9b\\x5e\\xb7\\xa9\\xf1\\x03\\xec\\xc5\\xe3\\x48\\x19\\xf5\\x28\\x14\\xc9\\x11\\x05\\x01\\x74\\x1c\\x70\\x92\\x41\\xf8\\x98\\xb4\\x13\\xd6\\x7f\\x15\\x03\\x7c\\x98\\x85\\x8f\\x68\\x61\\xda\\x55\\xb9\\xad\\x58\\xac\\x4e\\x76\\xae\\x1f\\x11\\xb6\\x8b\\x9a\\x70\\x8e\\xfc\\xca\\x03\\x30\\x45\\x7e\\x81\\x9f\\x70\\x34\\x94\\x30\\xe0\\xdb\\x94\\xf9\\x47\\x45\\xa4\\xfe\\xa3\\x85\\x31\\x28\\x07\\x95\\xa0\\x3a\\x34\\x37\\xd2\\x5a\\x15\\xb0\\x70\\x76\\x64\\x47\\x46\\x51\\xf4\\x14\\x18\\x8d\\x9e\\x50\\xbd\\x85\\xab\\xc9\\xab\\xc9\\xfb\\x22\\x66\\xaa\\xc9\\xaf\\x19\\x5f\\x33\\xa3\\xe6\\xec\\x1a\\x41\\xe2\\x6a\\x6a\\x24\\x97\\xab\\xfc\\x8b\\x98\\xeb\\x13\\xa9\\xf8\\x8b\\x98\\x44\\x5a\\xa4\\x4f\\x83\\x10\\x19\\x94\\x3e\\x38\\x8f\\x1e\\x78\\x4c\\x2e\\xca\\x12\\xa0\\x6e\\x89\\x27\\x06\\x8a\\x89\\xa0\\x69\\x4d\\x46\\xf5\\xb5\\xea\\x54\\x7b\\x8f\\x9b\\xa3\\x83\\x22\\xa7\\x5d\\xbb\\x51\\x3e\\x3a\\x2e\\x3a\\x30\\x72\\xdd\\xaa\\x4b\\xaf\\xde\\x1a\\x6c\\x6b\\x2d\\x2b\\x6b\\x6d\\x0b\\x3a\\xfd\\x75\\x75\\x05\\x05\\x75\\xa1\\x62\\xfe\\x82\\x61\\x33\\xdd\\xde\\x85\\xa7\\x9f\\x7f\\xfe\\x57\\x93\\x16\\x79\\x73\\x66\\x0e\\x9f\\xb3\\xf4\\x3c\\x39\\x6f\\x5a\\x67\\xe7\\xb4\\x29\\xe3\\xc7\\xc3\\x5f\\xa2\\xe3\\xc6\\x45\\x47\\x8e\\x1b\\x47\\xdb\\xd2\\x83\\x3d\\xf8\\x09\\x7e\\x3a\\xeb\\xef\\x20\\x72\\x38\\x3c\\x46\\xd1\\x23\\xe6\\x17\\x6c\\x2e\\xd8\\x5d\\x80\\x3d\\x0e\\xa3\\xa8\\xf7\\xe6\\xe5\\x59\\x51\\x17\\x86\\x10\\x6e\\xc7\\x5d\\x78\\x29\\xde\\x45\\x78\\xd2\\xad\\x27\\x24\\x17\\x3e\\x3c\\x73\\x79\\xe3\\xa1\\x70\\xe8\\x90\\x8d\\x68\\xb3\\x46\\x98\\x69\\xd7\\x9e\\xe1\\xcc\\xe4\\x65\\xf2\\x34\\xf0\\xcc\\xb3\\x9c\\xc1\\x72\\xfe\\x84\\x29\\x33\\xdb\\xe4\\x3f\\x87\\x83\\x15\\x75\\x75\\x4d\\xf2\\xbb\\xad\\xad\\x47\\xf8\\xbc\\xc8\\x19\\x13\\xe5\\x07\\x2c\\x8d\\x8d\\x16\\x18\\x4c\\x8f\\x6f\\x3e\\x97\\xdd\\xee\\xb1\\x36\\x50\\xdb\\x34\\xb7\\x37\\x82\\x47\\xc2\\x7a\\x9b\\x8e\\x2b\\x43\\x28\\x91\\xc7\\xec\\x55\\x5f\\x6f\\x14\\xfe\\x03\\x37\\x92\\x67\\xe5\\xa9\\x67\\x7e\\x02\\x57\\x0d\\x1b\\xc8\\xb3\\xca\\xe4\\xb3\\xde\\x1f\\x7b\\xc7\\xe3\\xd3\\x61\\x8d\\x4d\\x47\\xf7\\x5f\\x53\\xe1\\xf2\\x7b\\x23\\x70\\x8c\\xe2\\x13\\x16\\xf7\\x26\\xe8\\x33\\xd2\\x0e\\xb9\\x84\\x73\\x4f\\x08\\x57\\x10\\xcd\\x72\\x59\\x64\\x74\\xa9\\xbf\\xbc\\xbc\\xb6\\xb8\\xb2\\xd2\\x0d\\x79\\xf9\\x0e\\xa1\\x36\\xdf\\x48\\x4c\\xf8\\x86\\x7a\\x6f\\x51\\x57\\xcc\\x9b\\xd3\\x15\\x2b\\xae\\x20\\x57\\xb1\\xdb\\x8d\\xbb\\x62\\x26\\xbd\\xcf\\x5b\\xe3\\x76\\x87\\xbc\\x56\\xbd\\xb5\\x2b\\x66\\xd5\\x83\\xc4\\xe9\\x43\\x95\\x5d\\xb1\\x10\\x90\\xcb\\x41\\xc3\\xe4\\x48\\xe9\\x7d\\x42\\x0b\\x84\\x41\\xdb\\x08\\x15\\xb6\\xa5\\x6c\\x3b\\xcd\\xc6\\x89\\x2a\\xaf\\xd2\\xc0\\x60\\xab\\xbd\\x04\\x35\\x37\\xa1\\x70\\x63\\x11\\x04\\x2a\\xd4\\x5e\\xf7\\xb0\\xc3\\x52\\xd9\\x01\\xae\\xf6\\x70\\x2b\\x11\\x22\\x15\\x01\\xe5\\x44\\x78\\xce\\x0f\\x77\\x5c\\x79\\x54\\x3e\\x0a\\x38\\xb1\\x75\\x3f\\x3f\\xd6\\xdd\\xbd\\xfc\\xd6\\x1b\\xaf\\x3a\\xef\\x4a\\xae\\x7a\\xbc\\x6b\\xcc\\xdd\\x8b\\xff\\x94\\xd3\\xd1\\x91\\xf3\\xa7\\xdf\\xfc\\x7e\\x70\\xf9\\x78\\xf3\\x89\\xed\\x43\\x9c\\x70\\x26\\xea\\xfd\\xe2\\xbf\\xa8\\xb7\\xbe\\x67\\x5d\\xf4\\xa5\\xb7\\x1e\\x7d\\xcd\\x0a\\xd3\\x1c\\x43\\x7e\\xbe\\xd1\\x20\\xbf\\xb4\\x50\\x3e\\xb8\\x44\\x7e\\xdc\\xb8\\x4d\\x3e\\x4a\\x79\\x60\\x6e\\xef\\x2a\\x21\\x28\\xbc\\x86\\xaa\\x51\\x3d\\x6a\\x41\\x77\\x45\\xe2\\xe5\\x15\\xf9\\x3e\\x77\\x53\\x58\\xe0\\xf9\\x1c\\x52\\x96\\xba\\x5a\\x03\\x2f\\x39\\x1c\\x4e\\x6f\\x51\\x31\\xe6\\x39\\x0f\\xc7\\xeb\\x1a\\x5a\\x5c\\xbc\\x53\\xaf\\x97\\x82\\x66\\xb3\\xc4\\x3b\\x3d\\xbe\\x0a\\xdd\\x80\\xd6\\xba\\xa6\\xa2\\xda\\x86\\x70\\xb1\\xae\\xa4\\xc5\\xde\\x42\\x37\\x91\\x74\\xb8\\xdc\\x5e\\x83\\x4e\\x20\\x62\\x3d\\xdf\\xce\\xa3\\x92\\xae\\x98\\x9e\\x23\\x5d\\xc7\\x7c\\xcb\\x10\\x13\\x1e\\x34\\xec\\x10\\x0e\\x31\\xb6\\xf5\\x68\\x36\\x95\\x54\\xcc\\xd3\\xbe\\xef\\xca\\x56\\x93\\xba\\x40\\x6b\\x39\\x7b\\xc3\\xcd\\x36\\xe4\\x27\\x6d\\xa3\\xf3\\x90\\x2b\\xc7\\xe3\\x24\\x8d\\x55\\x01\\x39\\xca\\xb1\\xa7\\x1c\\xd1\\x41\\x2e\\x0f\\x88\\xd8\\x99\\xe3\\x81\\xf2\\x0a\\x2e\\x34\\x22\\x52\\x75\\x76\\xa8\\x64\\x70\\xdb\\xd9\\x1d\\x1b\\xee\\x80\\x45\\x30\\xdb\\x18\\x3c\\xbb\\x66\\x5e\\xe8\\xec\\xe6\\x33\\xc7\\x8a\\xd3\\xf3\\x2b\\x1b\\xe4\\xeb\\x87\\x9f\\xbe\\xfc\\xa1\\xfa\\xe2\\xb8\\x38\\x5d\\xfe\\x4c\\x16\\x1a\\xa1\\x71\\xff\\x8e\\x0b\\x8a\\xea\\x61\\x79\\x63\\xa3\\x4b\\x7f\\xf1\\x3a\\xbd\\x7b\\xfb\\x7b\\x53\\xa1\\xe4\\x35\\x38\\x13\\xe6\\x5d\\x76\\x85\\x61\\xdd\\xbd\\x76\\xa7\\xfc\\xec\\x0b\\x79\\xee\\x9e\\xdd\\xee\\xc1\\x55\\x87\\xe5\\x1d\\x81\\x06\\xfc\\xe0\\x1f\\xae\\xe0\\xae\\xcb\\x93\\x3f\\x4b\\x0c\\xaa\\xf4\\xf3\\xc3\\x8c\\xa0\\xc8\\x2d\\xba\\xaf\\x58\\x50\\x18\\x8f\\xaa\\x50\\x2c\\x52\\xe7\\x29\\x29\\x71\\xe4\\x4b\\xe5\\x36\\xae\\xdc\\xc1\\x71\\xc1\\x6a\\xb7\\xb3\\x2b\\x56\\x98\\x57\\x86\\xdc\\x79\\x1e\\xf2\\x87\\x44\\xd1\\xdc\\x45\\xdc\\x06\\xde\\x51\\x42\\x9b\\x8a\\x36\\x13\\x23\\x1b\\x55\\xaa\\x51\\x5b\\xc6\\x41\\x89\\x29\\x1c\\xcc\\x3c\\xb4\\x98\\xb4\\x49\\x31\\xb2\\x93\\x96\\x68\\x64\\x2d\\x10\\x28\\xc1\\x76\\x1b\\x23\\x1e\\x76\\x24\\xa0\\x9d\\x1d\\x09\\x68\\x57\\x9b\\x84\\x0b\\xc9\\xbb\\xe4\\x6b\\x68\\xf5\\xff\\x79\\x9c\\x54\\x7b\\xed\\xae\\x7f\\xbc\\xff\\xd5\\x25\\x70\\xa1\\x71\\xc2\\x9e\\x31\\x2d\\x03\\x6a\\x87\\x3e\\x1a\\xdc\\x3e\\x4f\\x69\\x01\\x17\\xcc\\x87\\x21\\xb4\\xb2\\xc3\\x49\\x35\\xa7\\xcb\\x9f\\xca\\x6f\\xc9\\x8b\\x2e\\xc1\\x0d\\xde\\x61\\x2f\\xce\\x5f\\x25\\xbf\\xd2\\x3d\\xa4\\x48\\xee\\xb6\\x4e\\x7d\\x56\\x7e\\x3d\\xd0\\x40\\xf7\\x17\\x25\\x04\\xf4\\x15\\x91\\xcd\\x45\\x68\\x6b\\xa4\\xd4\\x6e\\xb1\\xd9\\x04\\x97\\xc9\\xeb\\x85\\x02\\x9d\\x50\\x20\\x14\\xfb\\x2d\\x4e\\x93\\xb3\\x3b\\xe6\\x29\\x42\\x84\\x95\\x5c\\xc4\\x6e\\x24\\xca\\x6e\\x7f\\xef\\xf3\\x91\\x36\\x8b\\xbd\\x03\\x45\\x16\\xd9\\xc1\\x6e\\x35\\x15\\x99\\x42\\xa6\\x2e\\xd3\\x52\\x13\\x91\\xa9\\x26\\x13\\x5f\\xe0\\xcd\\xf3\\x76\\xc5\\xf2\\x1c\\xbc\\xb1\\x3b\\xb6\\x48\\x07\\x79\\x3a\\xe0\\xac\\x3a\\x90\\x44\\x1d\\xd1\\x89\\x5d\\x31\\x6a\\x4c\\xd3\\x76\\x21\\x1c\\x46\\xdc\\x22\\x45\\xe0\\x22\\x22\\xea\\x19\\xcf\\x85\\x67\\xe6\\xbd\\x11\\x9c\\xd9\\x98\\x0a\\xc3\\x27\\x45\\x2f\\x8b\\x70\\xa9\\xc3\\x2f\\x61\\xda\\x36\\x76\\x85\\xb1\\xfc\\x8c\\xb1\\xfc\\xf4\\x7c\\x6a\\xf5\\x74\\xf2\\x40\\xfd\\xa6\\x1d\\xdc\\x8b\\xb3\\x8a\\xe7\\x5c\\x75\\x31\\x38\\x8b\\x62\\xb1\\x22\\xf9\\xbb\\xaf\\xbe\\x7a\\x22\\xb1\\x74\\xd3\\x26\\x58\\xc3\\x4d\\xcf\\x1b\\x23\\xdf\\xf1\\x9d\\x25\\xf1\\xd1\\x0d\\xf2\\x45\\x37\\xfe\\x61\\xfe\\x3e\\xdf\\x98\\x31\\xbe\\x7d\\x4a\\x3f\\x4f\\x26\\x6d\\xf0\\x3c\\xe9\\xe7\\x1a\\xf4\\x40\\xa4\\x2e\\x88\\xab\\xab\\x11\\xf0\\xbc\\x58\\x59\\xe9\\x75\\xe5\\xe6\\xb8\\x1d\\xbc\\x4f\\xb4\\x05\\x4a\\x0c\\x25\\x92\\xcd\\x67\\x16\\x6b\\xeb\\x90\\xc7\\xeb\\x39\\x3f\\xc6\\x3b\\x5d\\xce\\xf3\\x63\\xe0\\xa2\\xad\\x11\\x92\\xac\\x1d\\xae\\x48\\x75\\xbb\\x77\\xa2\\x17\\x5b\\xbd\\x45\\x5e\\xa2\\x70\\xbd\\x5e\\x53\\x61\\x61\\xf9\\xf9\\xb1\\xdc\\x12\\x52\\xff\\x12\\x52\\xff\\x92\\x42\\x9d\\xd9\\x24\\x99\\xa4\\x0b\\x89\\xc5\\x8b\\x54\\x35\\xd3\\xae\\xb4\\x43\\x5a\\xe7\\xcc\\x0c\\xe7\\xfd\\x29\\xa8\\x6d\\x00\\x85\\x52\\x08\\xff\\x34\\x52\\xff\\xc3\\xa3\\x34\\x02\\x78\\x48\\x8d\\xd9\\x2c\\xbf\\x32\\x5a\\x6b\\xa2\\x9c\\x2b\\x02\\xcd\\x61\\x7a\\xa9\\x76\\xaf\\xc7\\xce\\x48\\xc9\\xed\\xf2\\x10\\xdd\\xf9\\x5b\\xdb\\x77\\x7f\\x17\\xaa\\x9a\\xf0\\x99\\x27\\xee\\x18\\xbd\\xc1\\xfe\\xfa\\x3d\\x2d\\xf3\\x06\\x96\\x7d\\xf7\\xed\\xe0\\x4b\\x57\\x9f\\x11\\x3c\\x63\\xd6\\xe3\\x46\\x30\\xe0\\x77\\xe6\\xcf\\xcb\\x2d\\x1a\\x7a\\x7e\\x04\\x3e\\x5d\\x35\\xf4\\xa2\\xcb\\x2a\\x1b\\xe6\\xcd\\x9f\\xb7\\x70\\xe2\\xf6\\x7d\\x96\\x02\\xf9\\xcd\\x17\\x9a\\x7f\\x3e\\xb3\\x6b\\x1e\\x6b\\xa3\\x56\\xf9\\x98\\x78\\x2d\\x7f\\x3f\\x91\\x30\\x67\\x47\\xda\\x1c\\x66\\xbd\\x20\\xe4\\xe5\\x15\\x14\\xa3\\x8a\\x8a\\x9a\\x9a\\x62\\x33\\xd7\\xd8\\x10\\xaa\\x25\\x12\\xd4\\x5a\\x91\\xe7\\x30\\xd7\\x54\\xd7\\x74\\xc5\\x8a\\x0a\\x6c\\xd5\\x0e\\x43\\xce\\xe4\\x98\\x81\\xe3\\x4a\\x27\\x13\\xd9\\x21\\x8a\\x02\\xe2\\x6c\\x6c\\x0c\\x23\\x64\\x57\\xc6\\x5a\\xa8\\x0c\\x09\\xbf\\xcc\\x4c\\xa0\\x70\\x98\\xe9\\xde\\x6c\\xf9\\x4a\\x0f\\xa3\\xa4\\x27\\xa0\\x3b\\xc3\\x1c\\xf9\\xc8\\x85\\xb4\\x7e\\xb2\\xd2\\x53\\xfc\\x89\\x0b\\xe6\\xcc\\xd2\\x56\\x7e\\x78\\x6c\\xc4\\x0d\\x4b\\xef\\x1c\\x7c\\xe5\\xb2\\xf3\\xae\\xe9\\x96\\x67\\xc9\\xb5\\x53\\xa3\\xc3\\xea\\xda\\x42\\xb3\\xe4\\xeb\\xce\\x59\\xf6\\x7e\\x74\\xd8\\xb0\\x69\\x9d\\x72\\xed\\x8c\\x19\\x70\\x0e\\x37\\x3d\\xd0\\x31\\x0f\\x86\\xca\\xff\\x1a\\x22\\x7f\\x93\\x78\\xd8\\x3b\\x6c\\x98\\x17\\x87\\xa6\\xce\\x72\\xae\\x4c\\xfc\\xce\\x3b\\x4c\\x3e\\x86\\xcd\\x70\\xdd\\xd4\\x59\\x15\\x89\\x51\\xec\\x87\\x9f\\xbc\\x34\\x04\\x4e\\x7c\\x9a\\x7c\\x62\\x47\\xed\\x23\\xbc\\x52\\x46\\x24\\x42\\x2d\\x69\\x89\\x2d\\x91\\x69\\x9e\\xda\\x1c\\x2f\\xf1\\xf6\\x43\\x95\\x15\\x1c\\x35\\x7e\\x03\\x45\\x90\\x53\\x57\\x2e\\x08\\x0e\\x8b\\x01\\x0c\\x8d\\x0d\\x85\\xb9\\x4e\\x2a\\x27\\x78\\x64\\x32\\x9b\\xba\\x62\\xd5\\xe5\\x01\\x73\\x6d\\x55\\x89\\xcd\\x6e\\xeb\\x8a\\xd5\\x15\\x79\\xea\\xed\\x6e\\xab\\x1d\\x8c\\x9c\\xd9\\x6e\\xb6\\xd3\\xe9\\x66\\xd4\\x99\\x20\\x52\\xd6\\x81\\xa9\\x4f\\xa5\\x4a\\x0f\\x66\\xf7\\x12\\xca\\x20\\xba\\xba\\x51\\x8d\\xe9\\x31\\x4f\\x88\\xdd\\x69\\x43\\x7c\\xe1\\x70\\xea\\x52\\xc5\\xad\\x32\\x71\\xd5\\x4e\\x6c\\x27\\xb5\\x71\\xe8\\x79\\xe8\\xe4\\x62\\x8d\\xe4\\x57\\x4f\\xf3\\xa6\\xbc\\x13\\x76\\x97\\xf9\\x2b\\x02\\x02\\xf9\\xb1\\x2c\\x5c\\x21\\xa0\\x95\\xf2\\x3a\\x79\\xe0\\x1e\\x39\\xb0\\xe3\\x09\\xf2\\xda\\x01\\x07\\x61\\x21\\x54\\xed\\x81\\x8f\\x77\\xec\\xdb\\xb7\\xaf\\xe7\\x6e\\xb8\\x68\\xfd\\x37\\xf8\\x8b\\x89\\x87\\x13\\x0f\\xdd\\x7f\\x3f\\x7c\\x25\\xe7\\x91\\xeb\\x72\\xca\\x48\\x70\\xe5\\xbc\\xfd\\xf3\\xe0\\x3c\\xc2\\x62\\x41\\xfa\\x3e\\x26\\x4f\\xbe\\x91\\x3c\\x98\\xb7\\x7f\\xff\\xfe\\x79\\x7f\\x52\\xe7\\xfa\\xf6\\x7e\\xab\\xdb\\x48\\xda\\x6e\\x12\\x8a\\xe1\\xdc\\x48\\xac\\xd3\\x60\\xb0\\xe6\\x9c\\x9e\\x5f\\x5c\\x9c\\xcb\\x0d\\x2b\\x6f\\x1a\\x58\\x33\\x66\\x4c\\x13\\x77\\xba\\x55\\x98\\x1e\\x3f\\x37\\x0e\\xe3\\xe3\\x33\\xe2\\xb8\\x36\\x3e\\x24\\x8e\\xf3\\xe3\\x60\\x8e\\x43\\x22\\x0e\\xdf\\xc6\\xe1\\x99\\xf8\\xa1\\xf8\\xc7\\x71\\x6e\\x47\\x1c\\xee\\x8b\\xc3\\x0d\\x71\\xb8\\x24\\x0e\\xe3\\xe2\\xf1\\xf8\\x92\\x38\\x57\\x13\\x1f\\x1c\\xc7\\xe6\\x78\\x41\\x1c\\x2f\\x42\\xf1\\xfd\\x80\\x22\\xbd\\xf3\\x16\\x76\\x3c\\x1a\\x7f\\x26\\x8e\\x37\\xc5\\x61\\x55\\x7c\\x5d\\x1c\\xc7\\x9f\\x8f\\x75\\x75\\xf4\\xc4\\x21\\xfe\\xfc\\xd4\\x33\\x3a\\xe2\\x6b\\x26\\x4e\\xe9\\x88\\xc5\\x61\\x50\\x7c\\x5c\\x1c\\x57\\x91\\x87\\x6b\\x46\\x8d\\xed\\x38\\x14\\x87\\xa7\\x29\\xe6\\x47\\xe3\\x78\\x5d\\x1c\\x2e\\x4b\\xe1\\x96\\xe2\\xb9\\xf1\\xb6\\x38\\xd7\\xf6\\x73\\x1c\\x0e\\xc6\\x3f\\x8a\\x7f\\x13\\xe7\\x9e\\x8c\\xc3\\x3d\\xf1\\x47\\xe2\\x78\\x4c\\x7c\\x51\\xfc\\xe2\\xf8\\x6f\\xe2\\xfc\\xa0\\x38\\x10\\x2c\\x3e\\x56\\x54\\x20\\x99\\xec\\x89\\x1f\\x88\\xe3\\x71\\x24\\xf1\\xaa\\x38\\xd7\\xce\\x7e\\xb0\\xc6\\xe1\\x18\\xc5\\x4f\\x31\\x70\\x9b\\xe2\\xbb\\xe2\\x18\\x17\\xc7\\x27\\xc5\\x97\\xc5\\x39\\xf2\\x8b\\xc4\\x0d\\xab\\x69\\x1d\\x3f\\xbe\\xfa\\xb4\\xd8\\x79\\xe5\\x30\\xb5\\x7c\\x6e\\x39\\x1e\\x5e\\x0e\\xa5\\xe5\\x4d\\xe5\\xc4\\xbb\\x2e\\xb7\\x95\\x63\\x83\\x50\\x3e\\x3e\\xa7\\xb5\\xfd\\xb4\\xd8\\xa5\\x03\\x61\\xc9\\x40\\x98\\x31\\x10\\x06\\x0d\\x1c\\x37\\x10\\xe7\\x0d\\xac\\x1e\\x88\\x39\\xeb\\x40\\x30\\x88\\x03\\x5b\\x5b\\xf3\\x8b\\xf8\\x7c\\xfe\\xb4\\x98\\x2f\\x3f\\x92\\x9b\\x2f\\x75\\x46\\x8a\\xbb\\x63\\xf9\\x52\\xbe\\xe4\\x30\\x39\\xa6\\x75\\xc7\\x1c\\x84\\xdc\\x1c\\x9c\\xd5\\x60\\x22\\xd4\\x65\\x72\\xa0\\xc0\\xc4\\x18\\x31\\x96\\xdb\\x93\\xc2\\x97\\x0e\\x2b\\xa4\\xdc\\x6d\\xf2\\x3d\\xcf\\x6b\\x3b\\xa4\\x8c\\x82\\x7a\\x43\\xaa\\x9c\\x9e\\xa9\\x88\\xea\\xd4\\x37\\x05\\x3e\\x15\\xe1\\x52\\x63\\xde\\x7d\\x62\\x56\\x41\\xf2\\x34\\x18\\x5c\\x1e\\x24\\x8f\\x82\\x5d\\xd9\\x31\\x72\\x55\\x9a\\x69\\x5d\\xe3\\x64\\x84\\x9a\\x10\\xaa\\x18\\x84\\x34\\x47\\xd3\\x3d\\xa8\\x75\\xf4\\x5c\\x72\\xea\\x86\\x51\\x8b\\xba\\xb5\\x99\\x79\\x25\\xcd\\x4d\\x75\\x50\\xa1\\x4e\\x7a\\xa6\\x87\\xfe\\xd7\\x01\\x33\\xbe\\x0a\\x95\\x33\\xf3\\xe9\\x28\\x78\\x85\\x08\\x4d\\xcc\\x04\\x6b\\x6c\\xe1\\x1f\\xb9\\xf0\\xc2\\x79\\x2b\\x0e\\x2f\\x5b\\x25\\x5b\\x62\\xf3\\x61\\x13\\x98\\x41\\x3f\\x76\\xda\\xc5\\x8b\\xaf\\xbf\\xbe\\xa8\\xac\\xba\\x65\\x98\\xbf\\x65\\xfe\\xb9\\x79\\x75\\xd3\\xa7\\x4e\\xa8\\xb9\\xe5\\xba\\xf9\\x6b\\x86\\x15\\x3b\\x46\\x05\\xaa\\x9b\\x8b\\x5b\\x66\\x9d\\x3b\\x79\\xcb\\x2d\\x03\\xd6\\x35\\x77\\x24\\xae\\x9d\\x7f\\x65\\x69\\xe5\\x45\\x67\\xbb\\xce\\x59\\x03\\xcb\\x2b\\xce\\x92\\x3b\\x29\\xcd\\xf3\\x17\\xe4\\x8d\\x79\\xfa\\xad\\x3f\\x4e\\x37\\x7e\\xf4\\xde\\x2c\\x79\\xfd\\xf0\\x88\\xf5\\xfa\\x09\\x67\\x4c\\xce\\x2d\\xc9\\xcd\\xf3\\x0c\\x98\\x16\\x99\\xbb\\xb2\\xe0\\xd0\\x24\\x9f\\xbf\\xb4\\x2c\\x37\\x90\\x9f\\x57\\x34\\x3f\\x7e\\xf6\\xca\\xfc\\x9c\\x46\\xee\\xc0\\xe6\\xd5\\x89\\x47\\xd7\\x33\\x9b\\x36\\xd0\\xfb\\xad\\x74\\x15\\x8b\\xc7\\x34\\xd3\\x19\\x4c\\xa8\\x53\\xa4\\x67\\xb7\\xfa\\x22\\x46\\x8c\\x4a\\x81\\xfc\\x4f\\x2a\\x85\\x52\\xa2\\x5c\\x1e\\x37\\x7a\\x3b\\x4a\\xed\\x41\\xd2\\x68\\x6c\\xce\\xbc\\xa8\\x9c\\x0b\\x40\\xf8\\xa8\\x02\\x05\\x89\\xed\\x1b\\x26\\xf6\\x5e\\x1b\\xba\\x28\\x32\\xdc\\x13\\x6c\\xaa\\x0e\\xb5\\xd6\\x95\\xeb\\x07\\x0d\\xac\\x28\\x29\\xcc\\xf1\\x79\\x7d\\x5d\\xb1\\xd6\\xa6\\xb6\\x16\\xa3\\xce\\x6a\\x23\\x96\\x6e\\x7d\\x4d\\x25\\x6f\\x0b\\x05\\x39\\xa2\\xb5\\x88\\x2d\\x9c\\x8f\\x5c\\x21\\x17\\x34\\xd9\\xc2\\x2e\\x57\\xd8\\xd6\\xc4\\x9b\\x4b\\xbd\\x9c\\x64\\x76\\x2a\\xa7\\x85\\x7b\\x88\\xc0\\x09\\x85\\x66\\xa6\\x84\\x0c\\x93\\x29\\xea\\x6d\\xd8\\x9e\\xba\\x51\\x83\\x61\\xa4\\x4b\\x74\\x7e\\x2a\\x87\\xd9\\x9f\\xbf\\xd9\\x4f\\xd5\\x10\\xc7\\x64\\x8b\\xd3\\xef\\x0c\\x93\\x8b\\xdd\\x43\\xb8\\x95\\x08\\x18\\x7a\\x55\\x04\\x80\\x7c\\xb4\\x06\\xc4\\xff\\x3e\\xf3\\x71\\x1b\\xe4\\xc8\\xaf\\x6f\\x59\\xf5\\xf6\\xcf\\x6f\\xae\\xda\\x2b\\xef\\x86\\xda\\xc8\\x77\\xaf\\x5f\\xb1\\x12\\x4f\\xbf\\x6f\\x2d\\x8c\\xdc\\x70\\xd9\\x06\\x08\\x9e\\xfb\\x10\\x3c\\xb6\\xb2\\x27\\x76\\xce\\xd8\\x9f\\xb9\\xba\\xb9\\xad\\x5f\\xca\\xd3\\xb7\\x8f\\x75\\xc9\\xdf\\xdb\\xfd\\x1c\\x36\\x15\\x70\\x0b\\x89\\x7c\\x49\\xf4\\x60\\x81\\x5e\\xaa\\xec\\xa1\\x52\\x07\\xce\\x92\\xef\\x53\\xee\\x13\\xcb\\xf7\\xd3\\x97\\xbc\\x3f\\x58\\x55\\x45\\xe4\\xcf\\x55\\xbd\\x9f\\xf2\\x67\\xf2\\xeb\\x91\\x1f\\x0d\\x27\\xd6\\x5c\\xae\\x17\\x0d\\xaf\\xb6\\xeb\\x1a\\x06\\x0f\\xd6\\x55\\x23\\x7e\\xe4\\x88\\xc2\\xa1\\x66\\xf3\\xd0\\xf2\\x72\\x6e\\xe8\\x80\\xa8\\x19\\xe6\\xa0\\xa1\\xa8\\x0e\\x16\\xa1\\x18\\x1a\\x0a\\x5d\\xc4\\xbc\\x76\\xb1\\x7b\\x0e\\x66\\xab\\x5c\\x83\\xa8\\x93\\xda\\x16\\xb2\\xb7\\x85\\x6c\\x07\\xb2\\x36\\x53\\x07\\x1b\\xe7\\x2f\\x21\\x0e\\xa1\\x9d\\xf8\\x85\\x8a\\x4b\\xe5\\xca\\x19\\x04\\xd4\\x81\\x0e\\x01\\xa3\\xd3\\x1c\\x70\\x59\\xa0\\x82\\x52\\x39\\xa5\\xcc\\x12\\xec\\x76\\x15\\x29\\x4f\\x2a\\xca\\xed\\x36\\xa7\\xbf\\x91\\x90\\x2e\\x7f\\xe6\\x83\\xf2\\xd5\\x53\\x6b\\x6d\\xb6\\xdc\\x3a\\xab\\x91\\x77\\xd6\\xff\\x38\\x69\\x88\\x99\\x1b\\x6b\\x73\\xf2\\x39\\xf2\\x87\\xd6\\x0e\\xa3\\x59\\x74\\xd7\\xfc\\x34\\x61\\xa8\\x95\\xb3\\xb7\\x1b\\xac\\x42\\xee\\x83\\xb0\\x6a\\x5c\\xbd\\x03\\xef\\x96\\xaf\\x92\\x0f\\xd9\\xab\\x87\\x62\\x4c\\x18\\xa7\\xca\\xe4\\x91\\xef\\x0d\\xe7\\xfe\\xf4\\xda\\xd6\\xbb\\xeb\\xdd\\x43\\xf2\\xee\\x95\\x0b\\x5c\\xb9\\xed\\x9c\\x39\\x07\\xe6\\xb7\\xba\\x65\\xf9\\xd9\\x5d\\x37\\xd6\\x5b\\x72\\x1a\\xb1\\xef\\x59\\x10\\xe1\\x52\\x08\\x5b\\x2b\\x23\\xa4\\x92\\x7a\\xf9\\x73\\xde\\x2e\\xac\\x27\\x77\\x25\\x44\\xb7\\xad\\x89\\x8c\\x2c\\xf0\\xfb\\x8b\\x2a\\xbd\\x39\\x4e\\x1b\\xcf\\xfb\\xb8\\xa2\\x00\\x32\\x1a\\x5d\\x45\\x5c\\xa8\\xae\\xa4\\xe8\\xb4\\x58\\x89\\xa3\\xd0\\xe5\\x76\\x4d\\x8c\\xf9\\xdc\\x6e\\x4b\\x6e\\xae\\xe7\\xb4\\x58\\x2e\\xaa\\x0a\\x5a\\x82\\x13\\x63\\x36\\x8b\\xb5\\xb2\\x5c\\x5f\\x3e\\x29\\x46\\x6c\\xaa\\x18\\xf0\\x7a\\x4a\\x53\\x2f\\x07\\x53\\x96\\x30\\x0a\\xa7\\x3c\\xec\\xf4\\xb7\\x64\\xd8\\x41\\xa5\\xb4\\xe4\\x58\\x11\\xf5\\xfb\\x2d\\x38\\xa0\\xc6\\xf2\\x3c\\xe5\\x43\\x80\\xea\\x2f\\x4a\\x4d\\x54\\x0c\\x10\\xe1\\x00\\x4c\\x14\\xd8\\xa9\\xc7\\xa5\\xe7\\x91\\x7c\\xfd\\x80\\xc1\\xe3\\xeb\\xde\\x3e\\x78\\xf8\\xcd\\x73\\x96\\x8a\\x7f\\xfd\\x6b\\x37\\x5c\\xb1\\x60\\xc1\\x02\\xf9\\x76\\xf9\\x9a\\xae\\x33\\x26\\xc4\\x26\\x8f\\x9f\\x3e\\x57\\xfe\\x7c\\xc3\\x06\\x98\\x5c\\xea\\xb1\\xfc\\xf3\\xd8\\xd1\\x9f\\x7c\\xfe\\xeb\\x0d\\x0b\\xae\\xf0\\x0e\\xfb\\x68\\xc1\\x09\\xab\\x77\\x18\\xbc\\xfd\\xc4\\x73\\xd5\\xf8\\x31\\xd7\\xf3\\xd4\\xce\\xc9\\xeb\\xfd\\x96\\xfb\\x27\\xb1\\x05\\xab\\xd1\\x6f\\x22\\x3e\\x8b\\xd9\\x5c\\x92\\xe7\\x72\\x05\\xf2\\x9d\\x1e\\x4f\\x95\\x0e\\x07\\x70\\x4d\\xb0\\xca\\x97\\xe7\\x23\\x86\\x5f\\x9e\\x62\\xf8\\x99\\x3a\\xf2\\x5c\\x11\\x22\\x9f\\xdc\\xe7\\xc7\\x74\\x56\\x57\\x11\\x61\\xab\\x2e\\xd7\\x52\\x17\\x31\\x85\\x5d\\x2e\\xa9\\xbc\\xbc\\xe8\\xfc\\x58\\xa0\\x3c\\x57\\xb2\\x9f\\x1f\\xab\\x32\\x83\\x59\\xd2\\x91\\xd6\\x50\\x24\\x69\\xda\\xe4\\x0b\\xab\\x32\\x57\\xb5\\xfb\\xb4\\xda\\x9c\\xda\\xbc\\x6a\\x08\\x2d\\x5c\\xd1\\xdc\\x4a\\xaa\\xef\\xf0\\x37\\xe6\\xa8\\x7e\\x02\\x47\\xb8\\x4e\\x47\\x0d\\x3c\\x7f\\x21\\x28\\x9e\\x25\\x11\\x78\\xa8\\x22\\x90\\x77\\x2e\\xc6\\xe7\\x5e\\x30\\x18\\xfe\\x38\\xef\\x86\\x69\\x7c\\x2c\\x7f\\xea\\xc2\\x8f\\x0a\\x20\\x5f\\xfe\\x1b\\xc7\\x41\\x91\\xfc\\x85\\xfd\\x37\\xf3\\x2f\\xef\\xc8\\x8f\\xf1\\x5b\\x77\\x1e\\x96\\x7f\\x2c\\xba\\x00\\x4f\\x1e\\x5e\\x5e\\x31\\x0f\\x0b\\x36\\xbb\\xfc\\xf9\\xed\\x51\\x79\\xce\\xbc\\xd1\\xad\\x8e\\x79\\x6f\\xbd\\x3e\\xe9\\xb7\\xf2\\xfb\\x8d\\x20\\xfd\\xa4\\xd8\\xc6\\x74\\x16\\x61\\x15\\x91\\x37\\x01\\x34\\x2f\\xd2\\x6c\\xd4\\xfb\\xb1\\x89\\x2b\\xb2\\x5a\\x5d\\x2e\\x0e\\xeb\\xf9\\xb2\\x52\\x7f\\x21\\xce\\xf5\\xe5\\x76\\xc5\\xcc\\xc4\\x85\\x23\\x9e\\x76\\x11\\xcf\\xf9\\x3c\\x1e\\x47\\xc0\\xc7\\x59\\xf5\\x2e\\x87\\x8b\\xe8\\x1d\\x87\\x31\\x69\\xcd\\x28\\xe6\\x0c\\x71\\x83\\xb4\\xd6\\x4b\\x38\\x83\\x7f\\x94\\xe0\\x97\\x0e\\x68\\xb5\\xa8\\xad\\x07\\x01\\x5d\\xda\\x76\\x49\\x5a\\x2c\\x50\\xd1\\x2c\\x3c\\xb3\\x4d\\x1e\\xb9\\x98\\x1e\\x84\\x05\\xb7\\x5d\\x26\\x8f\\x95\\x03\\x83\\x27\\xfd\\x31\\x71\\xe6\\x8e\\x97\\x5e\\xda\\x81\\x6f\\x7d\\x34\\x07\\x4f\\x58\\x25\\x0c\\x21\\xb2\\xe0\\xe2\\x6b\\xe7\\x25\\x12\\xbe\\x31\\x78\\xc1\\x48\\x79\\x18\\x95\\xd7\\x98\\x9b\\x87\\x2d\\x4c\\x32\\xfc\\x40\\x3f\\x49\\xdd\\x8a\\xe9\\x99\\x53\\xac\\x6e\\x17\\x45\\x86\\x9a\\x8d\\xb9\\x85\\xa2\\x5e\\x5f\\x68\\xe4\\xca\\x4a\\x73\\x0b\\xf3\\x0b\\xbb\\x62\\xee\\x92\\x1c\\xbf\\xbf\\xd8\\x8e\\x1d\\x00\\xc8\\x5b\\xe4\\x29\\xf6\\xe4\\xb8\\x02\\x4e\\xe4\\x74\\x38\\x72\\x50\\x31\\x2f\\xe5\\x3b\\x4c\\xc4\\x83\\xb6\\xf1\\x12\\xdf\\x1d\\x93\\x54\\xbf\\x86\\x56\\xc1\\xdb\\xae\\x7a\\xbd\\x6d\\xfd\\xbc\\x67\\xd8\\xf5\\xca\\xea\\x05\\x52\\x39\\x62\\xcd\\x06\\xec\\x49\\xb7\\xa6\\xd5\\xad\\x73\\x93\\x4b\\xad\\xb8\\x8e\\xb8\\x35\\x10\\xfc\\x2c\\xfc\\xe5\\x4c\\x5f\\x5c\\xf0\\xcc\\xf0\\x4d\\xf9\\x9f\\x86\\xc3\\xe4\\xf5\\x5e\\x22\\xef\\xbd\\xcf\\x3e\\xc3\\x83\\x96\\xcd\\x86\\x57\\x5c\\x3f\\xc3\\x85\\xf2\\x6f\\x7e\\x76\\xc8\\x07\\xba\\x97\\x75\\x9f\\x47\\x2e\\xd9\\xcf\\x4c\\xb2\\xce\\xd9\\xcb\\x66\\xd3\\xf5\\xf2\\x02\\x1a\\x2d\\x2f\\xd2\\x5f\\x2f\\xbc\\x8b\\xe8\\x3e\\xca\\xa3\\x88\\xb7\\x33\\x03\\xad\\x8d\\x74\\x70\\x53\\xa2\\x96\\x22\\x67\\xa0\\x6d\\x42\\x28\\x54\\x3f\\xba\\xe2\\x4c\\xa9\\xa2\\xbe\\xcd\\x69\\x99\\x22\\xe9\\x66\\xcd\\xb4\\x44\\x4d\\xc3\\x87\\x4f\\x8a\\x8b\\xf1\\xae\\x98\\x73\\x70\\xd1\\xe0\\xae\\x58\\x6e\\x51\\xcb\\xd8\\xee\\xd8\\x14\\x6e\\x1a\\x32\\x4d\\x23\\x9d\\xdc\\x62\\xaa\\xa9\\x31\\xb5\\x10\\x8b\\x03\\xd5\\x57\\x8b\\x0e\\xca\\xe2\\xe1\\x03\\x8a\\xda\\x50\\x2c\\x03\\xed\\x64\\x2a\\x35\\x70\\x06\\xfd\\x8d\\x59\\xf9\\x89\\x86\\xb6\\x40\\x8a\\xc5\\x5b\\x87\\xe2\\x56\\x0b\\xe8\\x9a\\x5b\\xca\\x86\\x42\\xab\\x47\\xd4\\x15\\x12\\xe1\\x88\\x79\\xa0\\x9a\\xbc\\x42\\x27\\xea\\xfc\\x2d\\xad\\x4e\\xb6\\xc4\\x82\\xe8\\xf4\\x0a\\x11\\xeb\\xb0\\x8e\\x46\\x0b\\x1c\\xa0\\x89\\xb4\\x09\\xa9\\x5b\\x2e\\xd6\\xb9\\x7e\\xec\\xd0\\xeb\\xbb\\x3a\\x17\\x5e\\x76\\x56\\x63\\x43\\x7d\\x79\\x64\\x4a\\xcb\\xd2\\xf7\\x4e\\x7f\\x0b\\x4a\\x86\\x5e\\x78\\xc6\\xc2\\xe6\\xce\\xdb\\x3f\\x5a\\xb9\\x43\\xfe\\x8c\\xbf\\xe2\\xd5\\x07\\xa7\\x0c\\xad\\x28\\x0e\\xcb\\x9f\\x87\\xeb\\xce\\xa9\\xf8\\xfd\\xad\\x77\\xbd\\x78\\xa2\\x62\\xed\\xca\\x96\\xee\\xb6\\xf6\\x41\\xf3\\x97\\x9f\\xb5\\x6d\\x2e\\xfe\\x73\\xb8\\xba\\x6e\\x60\\x53\\xb0\\xb6\\xed\\xe7\\xef\\xeb\\x5a\\x2a\\xdb\\x1a\\x4a\\x3b\\x9b\\x06\\x0c\\x6a\\x98\\x32\\x7c\\xcc\\x19\\xc6\\x9e\\x3f\\xfc\\x69\\xdf\\x48\\x53\\x7b\\xe5\\x39\\x33\\xc5\\xa1\\x67\\xb4\\x36\\xd5\\x2e\\xb5\\xde\\xfd\\xf3\\x3d\\xcf\\xc8\\x3b\\xf6\\xc1\\xa0\\x0d\\xbb\\x73\\x9f\\xd9\\x38\\x6b\\xce\\x63\\xb0\\xef\\xee\\x6b\\xef\\x85\\xb2\\x97\\xfe\\xeb\\xea\\x94\\xff\\x7b\\x5c\\xfe\\xdb\\x65\\x13\\xef\\x87\\x2a\\xf9\\x58\\x6c\\xee\\xc2\\x69\\x67\\x2e\\x3c\\x5b\\xe7\\x2c\\xcd\\x0f\\xf8\\x99\\x6d\\x2c\\xca\\x1d\\xdc\\x77\\x44\\xe6\\x18\\x88\\x4f\\x31\\x3b\\xd2\\x54\\x5b\\x9c\\x87\\xf2\\xed\\xf5\\xd4\\x13\\xb7\\x58\\x5c\\xe5\\x36\\x3b\\x2a\\xd6\\x35\\x36\\x18\\x8d\\x01\\x4b\\xa0\\xba\\x3b\\x56\\x1e\\xf0\\xd5\\xdb\\x4c\\x9c\\x45\\xef\\xb1\\x5a\\x2d\\x1e\\x0f\\x26\\xee\\x39\\x6f\\x51\\x98\\x8c\\x09\\x15\\x47\\x1b\\xa1\\xbf\\x94\\x88\\xe9\\xd3\\xf4\\x84\\xe4\\x9a\\xd4\\x20\\xd5\\x50\\x00\\x4e\\x17\\x00\\x27\\x0d\\xc6\\xa8\\x03\\x26\\x1c\\x6d\\x74\\xda\\xe0\\xcd\\xa9\\xc0\\x6f\\x05\\xd7\\xb1\\xa4\\x6e\\x48\\x5d\\xc3\\x80\\x76\\x79\\xe5\\x0b\\x17\\x5d\\x06\\xf5\\x4f\\x4f\\xbc\\xb8\\xf3\\xf7\\x5b\\x2e\\xba\\x7a\\xf7\\xe2\\xf1\\x15\\xaf\\x3e\\xd0\\x3d\\x3e\\x12\\xf4\\xe6\\x36\\x47\\x1b\\x06\\xf0\\xa3\\xee\\x3e\\xed\\xcc\\x69\\x8f\\x5f\\xb4\\xec\\xdd\\x9e\\x6d\\x30\\xe8\\x63\\x5c\\x2b\\xbf\\x75\\xdf\\x7f\\xc0\\xd8\\xb5\\x79\\xef\\xd5\\x2b\\xf6\\xca\\x0f\\x7e\\xf5\\xfa\\x23\\x93\\xef\\xda\\xe7\\x39\\x7c\\x9e\\x73\\x5e\\xe7\\xc2\\x43\\xab\\xa9\\x3f\\x45\\x64\\x0b\\xff\\x39\\xe1\\xbf\\x62\\xe2\\x51\\x05\\x51\\x03\\xda\\x1a\\xe9\\x6e\\x28\\x2f\\xe5\\x79\\xbb\\x59\\x0a\\x55\\x94\\xf9\\xfd\\xc4\\x86\\x6d\\x0c\\x37\\x70\\xdd\\xb1\\x7a\\x64\\x34\\x19\\xbb\\x62\\xa5\\x85\\xa6\\x80\\x8f\\xd9\\x33\\xe5\\x5e\\xdb\\x24\\x53\\xb7\\x09\\x87\\x4c\\xed\\xa6\\x89\\x26\\x0e\\xd9\\x6c\\xb6\\x62\\x1b\\x27\\xa1\\x06\\x5b\\x03\\xb6\\x70\\x0d\\x26\\x9b\\xcd\\xd4\\xc0\\xe9\\x5c\\xae\\x60\\x77\\xcc\\xe5\\xe8\\x8a\\xb9\\x38\\x5e\\xd2\\x49\\x5d\\x31\\x9d\\x03\\x69\\x8d\\x5e\\x0f\\x35\\x7a\\xa9\\x14\\xa6\\xd6\\xa9\\x3d\\xe9\\x50\\xa5\\xe4\\x53\\x2a\\x00\\x91\\xba\\x48\\xe3\\x89\\xfe\\x40\\xa6\\x3f\\x45\\x75\\x52\\x23\\x4f\\x7d\\x72\\x8f\\x4b\\x47\\x7c\\xa9\\x0a\\x22\\xbc\\xca\\xfc\\x75\\x10\\x04\\x67\\x63\\x4b\\xab\\xdf\\xcd\\xdf\\x78\\xa6\\xfc\\x9b\\x3d\\x9f\\x26\\x46\\x6d\\x7a\\xe9\\x25\\x2a\\xa1\\x26\\x7e\\x0a\\xf6\\xd0\\xe4\\xc1\\x98\\x1f\\x2a\\xaf\\xc5\\xf2\\x83\\x10\\x93\\x7f\\x07\\x63\\xbc\\x17\\x2e\\x99\\x38\\x65\\xde\\xf2\\x3c\\xf9\\x19\\x8e\\xff\\x51\\x31\\x2f\\xf1\\xe6\\x79\\x97\\xcc\\xbb\\x39\\x6f\\xcc\\x05\\xab\\xe7\\x35\\x94\\x95\\xce\\xdb\\x11\\xbe\\xe4\\xd3\\xb1\\x43\\x12\\x8f\\x0e\\x1f\\x79\\x1d\\xa3\\x99\\xb9\\xbd\\x73\\x45\\x10\\x0e\\x12\\x6d\\x5d\\x85\\x16\\x45\\xda\\x5c\\x92\\xdf\\x5f\\x2e\\x96\\xe4\\x14\\x04\\xb8\\x02\\x8b\\xb7\\x84\\x13\\x82\\xd5\\xf9\\x9e\\x5c\\x0f\\xe1\\xdd\\x5c\\xb1\\xa4\\x38\\x52\\x4c\\x64\\x71\\xb1\\x53\\xac\\xe8\\x8e\\x89\\xc4\\x00\\xb4\\x4a\\xba\\x88\\xc8\\xa3\\xf2\\x6e\\x25\\x50\\x45\\x34\\x52\\xde\\x21\\x52\\x61\\xc5\\xb8\\xa1\\x0e\\x00\\x91\\xd3\\x59\\x92\\x4a\\x9d\\x26\\x2e\\x94\\xd2\\x68\\x55\\x59\\x73\\xd8\\x5d\\x88\\x69\\x98\\x81\\x58\\xe0\\xf6\\x96\\x56\\x55\\x34\\x8b\\xbc\\xce\\x1d\\x00\\x97\\xc3\\x63\\x17\\x31\\xe7\\x94\\x9f\\x91\\x6f\\x85\\xb3\\x60\\xfc\\xfc\\xb9\\x7b\\xf7\\x19\\xa6\\x7b\\x47\\x3c\\x7f\\xd6\\xc2\\x39\\x6b\\xf1\\xb0\\xab\\x16\\xc9\\xff\\x58\\x3b\\x5f\\xbe\\xef\\xf7\\x8f\\x3d\\xf9\\xb0\\xd3\\x08\\x0b\\xa0\\x1e\\x86\\xc1\\x12\\xeb\\x9a\\x35\\x5c\\x5e\\x13\\x27\\xbf\\xb1\\xb3\\x3e\\x82\\x7b\\x96\\xf1\\x45\\xb0\\x36\\x6f\\xec\\xd8\\x3c\\x79\\x7c\\x20\\x24\\x5e\\xcf\\xd5\\xfe\\x2c\\x7f\\x52\\xc0\\xaf\\xf5\\xc9\\x7f\\x53\\x62\\xfe\\xea\\x1a\\x71\\x54\\x44\\x6a\\x5f\\x8e\\x2e\\x8c\\x8c\\x32\\x08\\x66\\x87\\x28\\x94\\x96\\xf9\\x8b\\x03\\x26\\x87\\x54\\x59\\x61\\xe2\\x89\\x7d\\xd2\\x15\\x0b\\x80\\xbb\\x1c\\x79\\x73\\xbd\\xa4\\xee\\x05\\xb9\\xd6\\xdc\\xa2\\xdc\\xf6\\xdc\\x89\\xb9\\xab\\x73\\x37\\xe4\\x8a\\x12\\xe7\\xce\\x75\\xe7\\xda\\x4a\\x7c\\xbc\\x83\\xa4\\xb5\\x99\\x89\\xdf\\x6d\\x73\\xa8\\x53\\x58\\xc3\\x19\\x8e\\x77\\x16\\x55\\xa4\\x9a\\x44\\x8d\\xc3\\x38\\x19\\x2d\\x70\\x7e\\x8e\\x7d\\x3a\\x09\\x3d\\x10\\x45\\xed\\x27\\x76\\xaf\\x9f\\x78\\xd5\\x46\\xf0\\x57\\xf8\\xf9\\x8b\\xea\\x5e\\x7b\\xe0\\x9a\\xf9\\x89\\x47\\xee\\xb9\\x52\\x46\\x97\\xee\\x90\\x17\\xce\\xbd\\x66\\xdb\\xeb\\xa1\\x9f\\xa1\\xe8\\x30\\x94\\xfc\\x15\\x0a\\x4f\\x5c\\x0b\\x8e\\x6b\\x3f\\x81\\x7d\\x35\\xf2\\x03\\xf8\\x81\\x4b\\xe6\\xc9\\x9b\\x99\\xec\\xee\\x4e\\x7e\\x12\\x1a\\xc0\\x91\\xc4\\xf3\\xf3\\xe6\\xc1\\x05\\x89\\x47\\x2e\\x21\\x3a\\xab\\xa6\\xf7\\x5b\\x7e\\x19\\x91\\x15\\x4d\\x68\\x4e\\x64\\x80\\xbb\\xbe\\xb9\\x45\\x60\\x15\\xc4\\xb9\\xa8\\xa0\\xb0\\xa0\\x2b\\xd6\\x58\\x5d\\x58\\x6b\\x2d\\x2c\\x2a\\x0c\\x15\\x76\\x15\\x2e\\x2d\\x24\\x86\\x88\\x25\\xb7\\xb0\\x30\\xd7\\xc2\\x39\\x6b\\x6b\\xcb\\xbb\\x62\\xb5\\xbc\\x93\\x38\\x81\\x4e\\x67\\x7a\\xb0\\x23\\xc5\\x02\\x34\\xc2\\xa0\\xa8\\x30\\xcd\\x14\\x53\\x10\\xa9\\x75\\x4f\\x27\\x93\\xfa\\x59\\x60\\xd6\\x4e\\xc4\\x75\\xb1\\xbd\\x89\\xda\\x22\\x2d\\xb4\\x9e\\x6c\\x02\\xac\\xa2\\xbe\\xd4\\x89\\xa7\\x61\\x37\\xf7\\xc2\\xc8\\x3b\\xe0\\xfa\\xc4\\xfc\\xd3\\xda\\xa1\\x68\\xc6\\xf6\\x60\\xed\\x99\\xd3\\x8f\\x2c\\x95\\x25\\xfd\\x98\\x73\\x6a\\xe7\\x9c\\x80\\x7f\\x5e\\xb7\\xa0\\xe5\\x8a\\xcb\\xaf\\x9b\\x5f\\x1b\\x7b\\xe5\\xd1\\x7f\\xfc\\xdb\\xbb\\x02\\xff\\x63\\xda\\xe0\\x79\\xe5\\x67\\x0c\\xf8\\x76\\x58\\xc3\\x07\\xf2\\x9d\\xfe\\x72\\x78\\xa4\\xa1\\x7a\\x5e\\xe7\\xa0\\x79\\xb5\\x03\\x3a\\x1a\\xe2\\xb3\\xc6\\xee\\x87\\xf6\\xe0\\x93\\xbf\\x9f\\x38\\x6a\\x1e\\x4a\\xd2\\xbc\\x10\\x24\\x34\\x9f\\x4f\\x34\\x76\\x3c\\x12\\x32\\xd9\\x25\\x9f\\xaf\\x58\\xcc\\xcf\\xcf\\x29\\xe0\\x72\\x88\\xd6\\xce\\xcf\\x8b\\xb8\\xf3\\xf2\\xec\\x5d\\xb1\\x3c\\xa7\\xe8\\x27\\x94\\x4e\\xfc\\x5e\\xb3\\x42\\xe9\\xc5\\xfd\\x51\\xba\\xea\\xec\\x6a\\xc6\\x9b\\xc2\\xea\\x98\\x67\\x9a\\xca\\xd5\\xc0\\xb4\\x7d\\x28\\x50\\x13\\x8b\\x68\\x27\\x42\\xe0\\xb6\\x24\\x81\\x3f\\x29\\xdf\\x09\\x71\\x98\\x3a\\xff\\xd9\\xbf\\x8a\\xd3\\xf3\\x57\\x3f\\xb4\\x78\\x53\\x5d\\x71\\x5c\\x8c\\x7d\\x37\\x9f\\x50\\xf7\\x53\\x0f\\x3d\\xb1\\xc3\\xa9\\x87\\x79\\xd0\\x0c\\x93\\x61\\xae\\xb8\\xe6\\x0a\\x7d\\x9b\\xfc\\xec\\x0b\\x9d\\x7c\\xcf\\x32\\x6e\\x50\\xc5\\x61\\x79\\x87\\xbf\\x46\\xb8\\x9e\\xab\\x93\\x4f\\xc8\\x5f\\xe6\\xf1\\x6b\\xf3\\x64\\x65\\x4e\\x8f\\x7c\\x06\\xf7\\x5b\\x78\\x54\\x7c\\xc8\\xa6\\x43\\x66\\x19\\xd3\\x33\\x15\\x88\\x8c\\x1c\\xd0\\xfb\\xa5\\xb8\\x42\\x98\\x4c\\xa8\\xde\\x82\\xf2\\x88\\xbf\\x77\\x46\\x24\\x6c\\x75\\x4b\\xc0\\xf1\\x75\\x7e\\x7f\\x85\\x4f\\xe2\\x85\\xe6\\xa6\\x70\\x43\\x61\\xc3\\x3e\\x22\\x1c\\xf7\\xc7\\x4b\\x83\\xfb\\x62\\x15\\xa5\\xa5\\x1c\\x6f\\x72\\xec\\x8b\\x89\\xa6\\xfd\\x71\\xd1\\x4b\\x3e\\x45\\xa0\\x76\\x78\\x6a\\x76\\x4a\\x38\\x18\\xd4\\x30\\x37\\x33\\x4d\\x1a\\x53\\x13\\x48\\x92\\x63\\xe7\\x3a\\xed\\xdc\\x10\\x8d\\x92\\x76\\xa7\\xc6\\x38\\x88\\xf1\\x0d\\x7b\\xe8\\xa4\\x11\\x30\\xca\\x4f\\x6c\\xd9\\xb2\\xf5\\xc1\\x4d\\xdb\\x3e\\x68\\x1d\\x34\\xa0\\x31\\xdc\\x3a\\x70\\xc0\\x89\\x6f\\x02\\x17\\xb4\\x3f\\xf7\\xe4\\x53\\x5b\\x56\\x2c\\x6f\\x09\\x34\\x0e\\x1d\\xd5\\xd9\\x35\\x6f\\xe1\\x18\\x97\\x30\\xff\\x84\\x5e\\x5e\\xf7\\xec\\x13\\x8f\\x3d\\xb3\\xff\\x89\\x9b\\x57\\x5f\\x72\\xc7\\x3d\\x97\\x5e\\x09\\x5f\\xe4\\x17\\xec\\xdf\\xff\\xe8\\x4b\\x79\\x6f\\x5f\\x5c\\x76\\xff\\x95\\x77\\xae\\xc9\\x61\\xfd\\x6c\\xec\\xfd\\x16\\x7f\\x2f\\x4c\\x21\\xfd\\x5c\\x8e\\x46\\x44\\xfc\\xa5\\x79\\x79\\x56\\xa9\\x20\\x07\\x73\\x5c\\x8e\\xc4\\x55\\x54\\x1a\\x4c\\xb9\\xa5\\xd6\\x52\\x93\\xb9\\xb4\\x14\\x15\\x3b\\x79\\x84\\x45\\x5a\\xbb\\x43\\xed\\x54\\x68\\xbd\\x4b\\xde\\x48\\x8f\\xb6\\x65\\x46\\x12\\x1b\\xea\\xcb\\x1a\\xe9\\x8a\\xcc\\x00\\xdd\\x95\\x41\\x24\\x06\\x46\\xab\\x5d\\x55\\x77\\x58\\x47\\x2a\\xe2\\x54\\x8f\\xbc\\x1a\\x0a\\x18\\x5d\\xe7\\x1f\\xe9\\xb9\\xfa\\xc2\\xcb\\x6f\\x9e\\xb8\\x7c\\xc9\\xb4\\xdf\\xac\\x59\\x7c\\xde\\x5d\\x0f\\x76\\xdc\\x3b\\xb4\\x75\\x40\\xeb\\xca\\xa5\\xa7\\xbd\\x77\\xdf\\xdd\\x9b\\xee\\xd9\\x55\\x50\\x30\\xa6\\xa0\\x10\\x4b\\x37\\xdf\\x75\\xdf\\x86\\x9d\\xbd\\x28\\x7e\\x6c\\xfe\\x05\\xdc\\x3b\\x67\\xaf\\x5a\\x74\\xa1\\x3c\\x7a\\xf4\\xbb\\xac\\xbf\\x2a\\x10\\xd2\\x5d\\x42\\x74\\x9a\\x93\\x48\\x27\\xea\\xa3\\xdf\\x16\\x99\\xe6\\x90\\x24\\x8b\\x4e\\x74\\x56\\x96\\xe6\\x15\\x57\\xb9\\x5c\\x79\\x4e\\x0b\\x5f\\x53\\x5b\\xee\\x29\\x29\\x30\\x7a\\x7c\\x9e\\xa0\\x87\\x33\\x16\\xf8\\x0a\\xb0\\xe4\\x29\\xf0\\x14\\xe0\\xca\\x60\\xc0\\x49\\x4a\\xe1\\xb4\\x39\\xb1\\x55\\x70\\x4a\\x16\\x93\\x85\\xe8\\x2c\\x93\\xc3\\x5a\\xad\\x07\\x62\\x51\\x83\\x55\\xd0\\x0b\\xa4\\x79\\xba\\x62\\x76\\xcc\\x25\\x85\\x15\\x0b\\xca\\x24\\xdd\\x2b\\xe5\\x9b\\x57\\x1d\\x2f\\x9f\\x45\\x95\\x9a\\x3d\\xac\\x71\\xb1\\xd2\\xe3\\xbb\\x8a\\xc4\\x0e\\x68\\xc2\\x2c\\x50\\xc6\\x62\\x26\\xc9\\xee\\xa7\\xf1\\xe3\\x70\\xa3\\x40\\xd8\\x9f\\x67\\xe1\\xbf\\x95\\x89\\x22\\x1a\\x14\\xdc\\x01\\x07\\x71\\x2b\\x77\\xfa\\xcd\\x1b\\xae\\xbd\\xe5\\x96\\x75\\xd7\\xde\\xfe\\xd4\\xfc\\xd9\\xb3\\xe7\\xcb\\x37\\xe3\\xdc\\xc4\\xd7\\xfc\\x5f\\xa9\\x6d\\xdd\\x53\\xce\\x97\\x9c\\x18\\x96\\x0c\\x8f\\x9c\\x78\\x3a\\xff\\xa6\\xbb\\xee\\xb8\\xf9\\xa6\\xdb\\x6f\\xbd\\xf9\\xd3\\x4f\\x3f\\x7f\\xf2\\x22\\xd2\\x3e\\x67\\xf6\\x7e\\x2b\\x3c\\x4b\\xe8\\x99\\x8e\\x4c\\x57\\x12\\x7b\\xf4\\xea\\xc8\\xa4\\xda\\xb2\\x82\\x02\\x47\\x6e\\xb1\\xa3\\x58\\xdf\\x8c\\xf4\\xa8\\x6d\\x60\\x81\\xc3\\xe6\\x78\\x35\\x56\\x96\\xff\\x6a\\xac\\xd4\\xe9\\x76\\xbe\\x1a\\xa3\\xda\\x1d\\x17\\x95\\x41\\x7b\\xd9\\xc4\\xb2\\x23\\x65\\x5c\\x59\\xc4\\xe6\\xea\\x40\\x6e\\x9b\\x1b\\x4b\\x9c\\xad\\xcc\\xed\\x2e\\xb3\\x11\\x7a\\x37\\x55\\xbd\\x16\\x33\\xf1\\x7c\\xc3\\x6b\\x31\\xbe\\x3f\\xe9\\x16\\x9c\\xb9\\x7c\\xa6\\xba\\x5e\\x24\\xe5\\x64\\xa5\\x86\\x3f\\xd9\\x90\\x2e\\xe6\\x03\\x25\\xa5\\x44\\x9c\\x39\\x4a\\xc3\\x8d\\xbc\\x03\\x94\\x36\\x21\\x34\\x62\\xf3\\xd3\\xd1\\x05\\x67\\x32\\x8e\\xc4\\x95\\xf0\\xc4\\x42\\x72\\xf0\\xe1\\xc6\\x52\\x47\\x73\\x13\\x2e\\x15\\x9e\\xdd\\x2b\\x3f\\xf7\\xec\\x53\\xf2\\xf3\\xfb\\x9f\\x86\\x21\\x4f\\x3d\\x0d\\x91\\x27\\x4f\\x94\\x8d\\x9f\\x0a\\xb3\\xee\\xdd\\x2c\\x7f\\x7c\\xfe\\xac\\x2b\\xa6\\x5e\\xe4\\xf4\\x9c\\x3b\\x7d\\xcf\\x16\\xf9\\x5f\\x5b\\xb6\\x80\\x7b\\xeb\\x66\\xf0\\x3c\\xb0\\x59\\xfe\\x06\\xdf\\xff\\xa4\\xfc\\xe2\\x1f\\xf6\\x43\\xe4\\xa9\\x67\\x20\\xba\\x6f\\xbf\\xfc\\xc7\\xc4\\x93\\x03\\x6d\\xf8\\x56\\x5b\\xeb\\x25\\xe7\\xc9\\xf2\\x77\\xb6\\x81\\xb8\\x75\\xfa\\x18\\x79\\xfb\\x54\\xec\\xda\\x2a\\x7f\\xb5\\xed\\x01\\xf9\\x4b\\x92\\x36\\x7f\\xeb\\x56\\xc8\\xfd\\x2d\\xe9\\xfc\\x29\\x38\\x4f\\xf7\\xb8\\xd0\\x4e\\x74\\x60\\x2d\\xba\\x31\\xd2\\xe9\\xf7\\x7a\\x0b\\x0a\\x2a\\xb0\\xc9\\xe1\\x90\\x70\\xa0\\xa6\\xa6\\x02\\x57\\xd4\\x85\\xec\\x85\\xe5\\x1c\\x67\\xe0\\x5e\\x8d\\x95\\xb8\\xdd\\xc8\\xe1\\x2d\\xa8\\xa8\\x11\\x30\\xc2\\xaf\\xc6\\xaa\\x7d\\xcb\\xd0\\x66\\xf4\\x3c\\x3a\\x4a\\xba\\xc1\\xe3\\x0f\\xd4\\xf2\\xa3\\xcd\\xd0\\x4c\\x1c\\xd3\\xd1\\x12\\x34\\x4b\\x20\\x19\\xb8\\x5d\\x21\\x98\\x18\\x82\\xf6\\x10\\x10\\x73\\x88\\xfa\\xaa\\x33\\xc9\\xbf\\x27\\xfc\\xc6\\x4c\\x16\\x79\\xf6\\xb0\\xb6\\x52\\x6e\\x52\\xa3\\xe2\\xca\\x02\\x95\\xe4\\x34\\x2b\\xe6\\xcb\\x88\\x44\\x1b\\xa4\\x06\\x3f\\x09\\x75\\x69\\x69\\xcc\\x07\\xfe\\x94\\x67\\xf3\\xd5\\x9a\\xa2\\xea\\xf6\\x26\\xdb\\x68\\xfc\\xd5\\x68\\xdb\\xe8\\xe9\\x85\\x6b\\xf0\\x2b\\x7e\\xf9\\x5f\\x0b\\xe4\\xbf\\x2c\\x58\\x00\\x13\\xdf\\xff\\x2b\\x0c\\x23\\xee\\xfb\\xb2\\xb3\\x71\\xde\\x60\\x1b\\xbe\\x8d\\x37\\xdc\\xf6\\xf5\\xd7\\xb7\\x99\\x13\\x67\\xdb\\x06\\xe3\\xab\\x13\\xaf\\xd8\\x06\\x93\\x87\\xeb\\x6d\\x83\\x65\\x3b\\x1c\\x19\\x6c\\x4b\\x9c\\xcf\\xbe\\x8f\\x25\\xba\\x71\\x10\\xb1\\x0b\\xbe\\x61\\xe3\\x75\\xab\\x22\\xc3\\x7c\\xf9\\xa5\\x5c\\x40\\xb4\\x58\\x89\\x89\\xab\\xf3\\x3a\\x0c\\x92\\xc4\\x39\\x8a\\x89\\xc8\\xf4\\x3a\\xbc\\xd5\\xc1\\x80\\xa3\\x54\\xf4\\x59\\xad\\x22\\x31\\x85\\xac\\x3a\\xd2\\x48\\xc4\\xd7\\xe3\\xf3\\x2d\\x16\\x9d\\xdf\\x60\\xd0\\x39\\x56\\x07\\x61\\x69\\x10\\x26\\x06\\xd5\\x56\\x50\\xea\\x99\\x3e\\x41\\x8f\\x85\\x46\\xdb\\xb3\\x16\\x88\\x30\\x2f\\xc7\\x13\\x66\\xf3\\xb0\\x40\\xb1\\xae\\x9d\\x7e\\x8e\\xd8\\xd0\\x83\\xa0\\xa2\\x9c\\x0e\\x0f\\xfb\\x8b\\x91\\xdb\\x85\\xac\\xaa\\xaf\\xee\\x67\\x5b\\xba\\x94\\x73\\xce\\x67\\x0f\\xdd\\x7e\\xa3\\x27\\xb1\\xc1\\xd3\\x39\\x64\\xd2\\x63\\xe7\\x08\\x47\\xe5\\x63\\x70\\x09\\xcc\\x84\\x19\\xb0\\x4a\\x3e\\x76\\x54\\x38\\xe7\\xb1\\x49\\x43\\x3a\\xe9\\xaf\\x1b\\x6e\\x7b\\x83\\xff\\xfa\\x2f\\xaf\\xff\\xfe\\x4f\\x39\\xf2\\x24\\x58\\xb3\\xc6\\xb6\\xa8\\x04\\xd0\\xeb\\x3f\\x81\\x55\\xfe\\xe1\\xe7\\xd7\\x7b\\x51\\xc9\\x22\\xdb\\x1a\\x79\\x0d\\xec\\xce\\x79\\x73\\xf7\\x6b\\x1f\\x32\\xf9\\x79\\x66\\xef\\x27\\xfc\\xa5\\x7c\\x07\\x9b\\x07\\x3a\\x29\\x52\\xe3\\x45\\xd6\\x22\\x9b\\x4d\\x67\\xd5\\xf9\\x8b\\x8b\\x6c\\xa7\\xc5\\xac\\x45\\x45\\x45\\xd8\\xc8\\x15\\x15\\x71\\x46\\x63\\xfe\\x69\\x31\\x23\\xe7\\x3a\\x2d\\xe6\\xf2\\x80\\xe0\\x01\\x0f\\x97\\xc3\\xba\\x9d\\x0e\\x82\\x67\\x4e\\x0d\\x49\\x75\\x37\\x91\\xa5\\x4c\\x90\\x52\\x4e\\xa1\\x82\\xc2\\xe1\\xf6\\xdb\\x69\\x04\\xa2\\xa5\\x95\\xb3\\xd3\\x00\\xac\\xce\\xce\\x0f\\xed\\xfe\\xe8\\xce\\xfb\\x8f\\x5e\\x7d\\xc3\\xb1\\x5b\\xee\\x38\\x76\\xcd\\x89\\x97\\x9a\\xb7\\x9d\\xbe\\x76\\xef\\xe4\\xd9\\xe1\\x07\\x3a\\x1f\\x5f\\xf9\\x9f\\xbb\\x2e\\xdd\\x08\\xba\\xfb\\x1e\\x01\\x74\\xfd\\x7a\\x59\\x7e\\x50\\xbe\\x77\\xc0\\x88\\x85\\x57\\xc2\\x38\\x70\\x37\\x47\\x57\\xca\\xff\\x62\\xf2\\x33\\xdc\\xfb\\xba\\x4e\\x12\\x16\\xd2\\x39\\x66\\x28\\x07\\x0d\\x45\\x97\\x46\\x22\\x35\\x85\\x6d\\x98\\x6b\\xf4\\x94\\xdb\\x73\\x6c\\x36\\x23\\x02\\x83\\xe4\\x76\\xb8\\x9c\\x4e\\xbd\\xde\\x05\\xc6\\x72\\xae\\x4d\\x17\\x69\\x77\\xb8\\xeb\\x6b\\xab\\x6c\\x46\\xbd\\xd3\\x69\\x11\\xdd\\x55\\xa2\\x58\\xe5\\xe6\\xa4\\x7c\\x0f\\x0c\\x72\\xb8\\x24\\x8c\\x25\\xba\\x70\\x26\\x44\\x7a\\xf0\\x40\\x58\\x8d\\x6e\\xa6\\xc3\\x4d\\x29\\xe1\\x48\\xfb\\x4f\\x5d\\x3e\\x98\\xee\\x56\\x55\\x29\\xba\\x03\\xcd\\xad\\xe4\\x83\\x51\\x6d\\x85\\x5f\\xe7\\xe4\\xfc\\x10\\xf6\\xd0\\x3a\\x53\\xe7\\xa8\\x8e\\xd3\\xea\\x45\\xda\\xef\\xc4\\x83\\xa2\\x6a\\xb4\\x02\\xdf\\x7b\\x01\\xf7\\xd0\\x8a\\xe3\\x5f\\x1c\\x1b\\x0c\\x85\\x8f\\x42\\xc1\\x10\\xf9\\xee\\x99\\xe3\\xe5\\x83\\x63\\xbf\\x5e\\x0b\\x02\\xde\\xd1\\xec\\xcb\\x9d\\x3b\\x60\\x47\\x74\\xd4\\x39\\x9d\\x43\\x4b\\x37\\x5e\\xbf\\x72\\x71\\xb3\\x6f\\xf0\\x94\\x3b\\x47\\x0e\\xbf\\x7e\\x5e\\x8b\\xfc\\xe7\\xc8\\x6d\\xe1\\x16\\xe1\\xfe\\x13\\xff\\xad\\xa9\\xb1\\xe1\\xef\\x13\\x0e\\x1b\\xf9\\x7c\\xeb\\x2d\\xbc\\x52\\xbe\\x2f\\xb1\\xf2\\x8a\\xfc\\xca\\xf5\\x35\\x43\\xbc\\x65\\x95\\x83\\xa6\\xb4\\x2d\\x5e\\x9a\\xf7\\xdc\\xd2\\x9a\\xa5\\x95\\x03\\xdd\\x75\\xc3\\x66\\x0f\\xef\\x45\\x5e\\x27\\x8b\\xd7\\x5c\\x41\\x0c\\xe4\\xf5\\xdc\\x0e\\xd2\\xf7\\xe3\\x23\\x95\\x0e\\xb3\\xd9\\xaa\\x17\\x9c\\x46\\x23\\x26\\xfa\\x84\\xcb\\xf5\\x82\\x2b\\x87\\x74\\xb6\\xc3\\x4c\\x2e\\x87\\x90\\x63\\xc5\\x46\\xc1\\x78\\x5a\\x4c\\x14\\xdc\\x28\\x19\\x9d\\xa3\\x86\\x7f\\x96\\xe5\\xaf\\x2a\\x0c\\x85\\x6d\\x19\\x45\\xdb\\x03\\xba\\x80\\x3d\\xec\\x61\\x11\\x19\\x6e\\x7d\\x57\\xd7\\x89\\x63\\xe3\\xdc\\x93\\x66\\xaf\\xda\\xe9\\x1e\\x37\\xce\\xbd\\x73\\x3d\\x36\\x73\\x8b\\xbd\\x09\\xbd\\x77\\xd8\\xcf\\x77\\xea\\x60\\xf4\\x02\\x08\\x2e\\x86\\x33\\xe8\\x00\\x5a\\x6f\\x2f\\xea\\xec\\xfd\\x1f\\x61\\x87\\x30\\xdc\\x56\\xa1\\x4b\\xe0\\x0e\\xb6\\x6b\\xc6\\x2a\\x03\\x8d\\x7d\\xaf\\xe4\\x96\\x27\\xfe\\x45\\xd7\\xf8\\x3a\\x72\\x52\\x6b\\x73\\x87\\x30\\xd8\\x51\\x0c\\x76\\x2a\\x83\\x5d\\x21\\x64\\xc0\\x96\\xa4\\x61\\x3b\\x7b\\x8f\\x0b\\x4f\\x13\\xbc\\x0c\\x5f\\x12\\xbb\\x5d\\xa7\\xd7\\x73\\x2b\\x12\\x47\\x50\\x6e\\xc4\\x02\\xa6\\x88\\x69\\x8d\\xe9\\xa8\\x89\\xe3\\x39\\xec\\x75\\xd3\\xad\\xc1\\x9a\\x61\\x66\\x1d\\x5b\\x27\\xdc\\xc1\\xd2\\x8e\\x4c\\x95\\xa9\\x42\\x49\\x65\\x17\\xd1\\x4a\\x1f\\x8d\\xc7\\xdb\\x10\\x44\\x60\\x0d\\x7c\\x06\\x47\\x81\\x07\\x0e\\x9b\\x35\\xa9\\x59\\xde\\xa3\\x58\\xfa\\x21\\x7d\\xd3\\xeb\\x45\\xd7\\xaf\\x49\\xbf\\x96\\xa4\\xff\\x9d\\x9a\\x3e\\x47\\x4d\\xdf\\xcd\\xd2\\xeb\\x26\\x22\\x54\\x1d\\xc9\\xe5\\xdb\\x22\\x6d\\x93\\xda\\xba\\xdb\\x96\\xb5\\xad\\x69\\x13\\x38\\x0c\\xd6\\x89\\x56\\xc8\\x44\\xa4\\xbc\\x13\\x5c\\xcd\\xbd\\xdf\\x72\\x63\\xb8\\x97\\x1c\\x22\\x47\\x91\\x03\\x6c\\x45\\x73\\xc5\\x59\\x78\\x04\\x32\\xa3\\x92\\x88\\xc5\\x48\\x84\\x23\\x61\\x07\\xc1\\x24\\x58\\x2d\\x66\\x93\\xba\\xf0\\x40\\xb3\\x38\\x00\\x72\\x3c\\x81\\xf2\\x0a\\x62\\x1c\\x85\\xa9\\xd1\\x8f\\xaf\\x68\\x1b\\xda\\xb1\\x7a\\xc3\\x86\\xd5\\x1d\\x43\\xdb\\xb8\\x8f\\xa1\\x6a\\xf8\\x95\\xb7\\x8d\\x29\\x1d\\x73\\xdb\\x95\\xc3\\x3b\\x09\\x5e\\x5b\\xef\\x8b\\xf8\\x28\\xbf\\x5a\\xc1\\x2b\\x99\\xb0\\xc9\\x6c\\xb6\\x58\\x8d\\x48\\xc2\\x66\\x81\\xe0\\x3d\\xd0\\xa8\\xcc\\x9b\\x4a\\x2e\\xfc\\x63\\x16\\x57\\x38\\xc7\\xe3\\x26\\x76\\x74\\x00\\xde\\x4b\\x63\\xe2\\x36\\xa7\\xf3\\x38\\x11\\xc8\\x2e\\x2f\\x32\\x1a\\x59\\x79\\xcd\\x82\\xc5\\x6a\\x32\\xf7\\x53\\xde\\xf2\\x0a\\x8a\\x54\\xd4\\x05\\x88\\x97\\xdd\\x2c\\xac\\xd6\\xe2\\x82\\xd5\\x27\\x2f\\x2f\\x36\\x4b\\x66\\x93\\xc9\\x62\\x45\\x46\\x2c\\x89\\xa4\\x1d\\x3e\\xce\\x2a\\x6f\\x59\\x4b\\x2b\\x45\\x4a\\x9a\\x22\\xc7\\x63\\x0f\\xe3\\x60\\x1a\\xd3\\x56\\x6d\\x93\\x68\\xdb\\xd7\\x43\\xd7\\x40\\x93\\xf6\\x15\\xb1\\x44\\x50\\x7a\\x3c\\x76\\xb7\\xc5\\x62\\x17\\xed\\xde\\x5c\\x64\\xcc\\x2e\\xf7\\x49\\xda\\x5b\\x53\\x17\\x6d\\xcb\\x63\\x39\\x7d\\xaf\\xe9\\x83\\xd4\\x8d\\xa6\\x6e\\xac\\x0c\\x16\\x89\\x18\\x45\\x46\\x4c\\x8a\\xe2\\xcd\\x35\\x79\\x2c\\x6e\\x07\\xed\\x14\\xd2\\x27\\xb4\\x8a\\x99\\xf5\\xb4\\xf7\\xed\\x1b\\x4d\\xbd\\x35\\xbd\\x94\\xba\\xd1\\xf6\\x56\\x02\\xa7\\xef\\x11\\x26\\x65\\xe8\\x60\\x65\\xe0\\x90\\x0f\\x0d\\x8e\\xf8\\xc0\\x61\\x46\\xb9\\xa2\\xd9\\x2a\\x5a\\x79\\x3e\\xbf\\xc0\\xe6\\x73\\xe4\\xe6\\x70\\x28\\xc7\\xca\\x9b\\x45\\x09\\x85\\xde\\xa0\\x45\\xf9\\xe4\\x90\\xed\\x8d\\xcc\\xd2\\xa8\\xf2\\x96\\x98\\x9b\\xce\\x93\\x95\\xc9\\x06\\x9f\\xc9\\xc5\\x2f\\xf5\\x2d\\xd8\\xc2\\x49\\xfc\\x99\\x27\\x29\\x1a\\xd1\\x85\\x23\\x7a\\xbf\\xe4\\x36\\x0b\\x2f\\x11\\x5f\\xa2\\x1a\\x8d\\x8e\\x94\\x97\\xea\\x0b\\xac\\x76\\x3b\\x42\\x1e\\x3d\\x17\\xac\\xc9\\x71\\xe5\\xb9\\x26\\xc7\\xac\\x79\\x20\\x71\\x79\\xa6\\xe2\\xd3\\x62\\x36\\x93\\xb5\\x42\\xc8\\x09\\xd5\\x00\\xd1\\xfb\\x87\\xd8\\x0c\\x49\\x45\\xff\\x69\\xe4\\xa1\\xd2\\x6c\\x2e\\x03\\x28\\xb6\\x32\\xd3\\x81\\x9e\\x70\\x2b\\x9b\\x84\\x50\\x41\\x87\\x7c\\x1c\\x1c\\x1b\\x87\\xc4\\x8a\\xeb\\xe4\\xe0\\x36\\x77\\x6c\\x78\\xed\\xd2\\x3b\\xb7\\xdf\\x70\\xf8\\xba\\x99\\x1b\\x4a\\x78\\xfe\\xb6\\x1b\\x97\\x5c\\x5c\\xba\\x68\\xe2\\x69\\x4f\\x1c\\x38\\xdf\\x71\\xf1\\x69\\xf1\\xdb\\x67\\x2f\\x8c\\x9d\\x7e\\xcb\\x32\\xee\\xe1\\x87\\xe5\\x6b\\xe4\\xef\\x6e\\x7c\\x7a\\xc7\\x3d\\x50\\x77\\xc7\\x59\\x53\\x56\\x7c\\xfe\\xc3\\x54\\xff\\xed\\x01\\xf9\\x9b\\xc4\\x9f\\x67\\x5c\\x7c\\xbd\\xfc\\xfd\\xba\\x4b\\xaf\\x5f\\xcf\\xf6\\x08\\xc3\\xc8\\x46\\x94\\xe4\\x7b\\x42\\x07\\x12\\x88\\xa9\\xfc\\x4e\\x64\\x23\\xcf\\xe9\\xf5\\x02\\x16\\xb0\\x41\\xd2\\xd3\\x09\\x08\\x3a\\x8e\\x78\\x7b\\x8e\\x5d\\x06\\xd8\\x64\\x80\\xd5\\x06\\x08\\x19\\xc0\\x6a\\x80\\x5e\\x03\\x7c\\x6a\\x80\\xe7\\x0c\\x40\\x9e\\x6f\\x30\\xc0\\x52\\x03\\x74\\x19\\x60\\xa2\\x01\\xda\\x0d\\x50\\x94\\x04\\x38\\xc2\\x60\\x36\\xb0\\x87\\xe4\\xc9\\x40\\x25\\xcd\\x9b\\xc9\\x34\\xab\\x59\\x9a\\x76\\x86\\xb1\\x88\\xdd\\x5b\\x93\\x48\\x37\\x25\\x91\\x16\\x1b\\x00\\x19\\x20\\x35\\xc8\\xdb\\x67\\x11\\x43\\xf6\\x1a\\x07\\x6a\\x5b\\x79\\xc2\\xed\\xaa\\x35\\xa9\\xce\\xf0\\xa9\\x22\\x1e\\x33\\x71\\x45\\xfc\\xc0\\xbf\\xd7\\x33\\x08\\xde\\x80\\x12\\xf8\\xa0\\xe7\\x45\\xfc\\x6f\\x79\\xcd\\x6c\\xfe\\xeb\\x9e\\xdc\\x1c\\x9e\\x4e\\x0f\\x46\\x67\\xca\\xe3\\xc5\\x28\\xf3\\xb1\\x06\\x47\\x8a\\xed\\xd8\\x22\\x61\\xc9\\xe5\\xd6\\x73\\x02\\xd7\\x15\\x13\\x6c\\xdd\\x31\\x81\\x93\\x2c\\x76\\x8e\\x98\\xbc\\x5d\\x31\\x13\\xdd\\x97\\x4f\\xb1\\x5e\\xbd\\xed\\xc1\\x8c\\x69\\x45\\x8a\\xbd\\xaa\\xf8\\x41\\x8a\\x45\\x4a\\x27\\x4a\\x9c\\xb9\\x63\\x87\\xf0\\xcf\\x47\\x1f\\x4d\\x2c\\xd9\\x91\\xf8\\x7a\\x87\\x3c\\x7e\\x6c\\x9e\\x58\\x45\\x9d\\x99\\x9f\\x3f\\xa0\\xe1\\x28\\xb1\\xe8\\xe7\\xbf\\xe5\\x8d\\x55\\xc6\\x45\\x66\\xc8\\xe3\\x85\\x36\\x52\\x86\\x1c\\x34\\x21\\x52\\x91\\x63\\x36\\x63\\x40\\x26\\x93\\xd1\\xa6\\x37\\xea\\x3d\\x5e\\x73\\x8e\\x25\\xa7\\x3b\\x66\\x02\\xc4\\x19\\x6c\\x16\\xce\\x88\\x0d\\x06\\x3c\\x27\\xa6\\x37\\xf8\\xd2\\x93\\x5c\\xa9\\x25\\x92\\xe1\\x8a\\xd0\\xc0\\x43\\xa3\\x32\\xfe\\x01\\xfe\\xc6\\xd2\\x56\\x27\\x31\\x12\\x89\\x51\\xce\\x26\\x3b\\xd5\\xe1\\x32\\x6e\\xae\\x0c\\x70\\x39\\x51\\xa6\\xfe\\x09\\x9d\\xce\\x9e\\x16\\x3c\\x24\\x71\\x94\\x9f\\xd7\\x39\\x34\\xb0\\xea\\x2c\\x79\\x39\\xbe\\x76\\x41\\xa2\\x5e\\xd2\\x41\\x71\\xe2\\x8d\\x25\\x5c\\x15\\x3e\\x7a\\x8e\\xbc\\xfe\\xbf\\x9c\\x8e\\x57\\xe7\\xb0\\x9d\\x8d\\xbb\\xf9\\x52\\x7c\\x84\\xf0\\x66\\x4e\\xc4\\xc0\\x21\\x9e\\xa8\\x90\\x47\\x63\\xdc\\xe3\\x6c\\x0e\\x92\\x12\\xe3\\xa1\\x9b\\x1a\\x94\\x9e\\xe8\\xc0\\x47\\x36\\x6c\\xe8\\xed\\x4d\\xce\\xf1\\xb7\\x89\\xba\\x04\\x4b\\x3f\\x1d\\x7a\\xe1\\x41\\x6e\\x1c\\x32\\xc2\\x90\\xc8\\x97\\x12\\xc7\\x99\\xcc\\x22\\xba\\x27\\x2e\\x8e\\x60\\x0b\\xf4\\x90\\x19\\xb4\\x4b\\xf9\\xb6\\x25\\x97\\xf2\\x29\\x6b\\xf7\\x16\\x6b\\x1f\\xad\\x60\\x0b\\xfc\\xa6\\xb2\\x05\\x7e\\xa7\\x48\\x99\\x5a\\x29\\xa8\\x5d\\xfe\\x77\\xa0\\x3f\\x0c\\xe4\\xd7\\x81\\xef\\xb2\\xe5\\x83\\x4a\\xe2\\xa9\\xec\\xe9\\x31\\xb6\\x20\\xf0\\xad\\xe4\\xca\\x42\\xe5\\x27\\x65\\x65\\x21\\xee\\xbb\\x70\\xf0\\xad\\xe4\\xe2\\xc0\\x65\\xc9\\xf5\\x81\\xe4\\xa7\\x8c\\x89\\x0a\\x5d\\x59\\xeb\\x72\\xfa\\xac\\xf5\\x3b\\xf9\\xb2\\x1e\\x65\\xe9\\x66\\xbf\\xcb\\xfb\\x90\\xba\\xfa\\x00\\x7a\\x35\\x0b\\x0c\\x80\\xd8\\xbe\\x3f\\xf0\\x73\\xc4\\xa9\\x84\\xb3\\x6f\\x8f\\xcc\\x11\\x00\\x89\\x22\\xd6\\xe9\\xb1\\x9e\\x78\\x66\\x3c\\x2f\\xea\\x44\\x94\\xe2\\xdf\\x89\\x9a\\x1b\\x85\\xc7\\x53\\x37\\x6d\\x47\\x92\\x6c\\x7b\\x44\\xc3\\xbf\\x4b\\x35\\x37\\x13\\x93\\x5c\\xac\\xa9\\x86\\x5a\\xf0\\x54\\x5d\\x50\\xa8\\x91\\x4e\\x88\\xcf\\x08\\x8e\\x29\\x41\\x22\\xe2\\xdb\\x49\\x10\\xc6\\x4b\\x97\\xc8\\x1f\\x6c\\x07\\x2b\\x60\\x38\\x30\\xdd\\xc2\\x0d\\x99\\x94\\x28\\x12\\xf6\\xb1\\xd8\\x6c\\x1b\\x3a\\x28\\x5c\\xc2\\x7d\\xa0\\xce\\xc7\\x7e\\x3f\\x72\\x73\\x95\\x60\\xcf\\x0b\\xf0\\xc6\\x62\\xaa\\x0b\\xeb\\x3d\\xe5\\x96\\x82\\x1a\\x21\\x2f\\x60\\xe7\\x39\\xa4\\x9f\\x44\\xea\\xe6\\xb2\\x5a\\x40\\xb2\\xac\\xae\\x87\\xae\\x7a\\x98\\x58\\x0f\\xed\\xf5\\x10\\xaa\\x87\\x37\\xeb\\x61\\x53\\x3d\\x90\\x87\\x4b\\x33\\x9f\\x17\\xd5\\xc3\\x91\\x7a\\x78\\xae\\x1e\\x36\\xb0\\x5f\\x95\\x9f\\x94\\xe7\\xd6\\x7a\\x18\\xa2\\xfc\\xa0\\x3c\\x45\\x2c\\xb1\\x92\\x52\\x79\\xa8\\xc0\\x91\\xe7\\xea\\x4a\\xce\\x64\\xaf\\xcd\\xea\\xdb\\xa1\\x8a\\x78\\x0a\\xcd\\x9a\\x19\\x3e\\x3c\\xb3\\xd1\\xd3\\x76\\xa8\\xd1\\x76\\x28\\xb9\\x9c\\x88\\xce\\xc5\\x63\\x33\\xc0\\x03\\x25\\x5c\\x3a\\x2c\\x46\\xc7\\x52\\xc8\\x7b\\x59\\x09\\x9d\\x18\\xae\\x0c\\x9b\\x80\\x3a\\x1d\\x85\\x8d\\x4b\\x5d\\xf2\\xd4\\xba\\xf7\\x6f\\x19\\xf6\\x50\\xf7\\xc6\\x27\\x9e\\xd8\\xb8\\x74\\x7f\\xfb\\xb0\\xad\\x67\\x6f\\x7c\\x4c\\x7e\\x7b\\xca\\xba\\x61\\x43\\xd7\\xc5\\xce\\x5a\\xbd\\x26\\xf1\\xfe\\xa0\\x75\\x33\\xbb\\x2f\\xbb\\x78\\xe1\\xd4\\x1b\\xf0\\x69\\x0f\\x7e\\x0c\\xfa\\xd5\\x57\\xfd\\x79\\xf7\\xf6\\x8f\\xd6\\x5e\\x7e\\xd9\\xea\\x77\\x97\\xdc\\x70\\xe3\\xfa\\x1b\\x37\\x5d\\x7e\\xc9\\xfd\\xf2\\xb7\\x37\\x6c\\xd8\\x7c\\xd9\\xe5\\xf7\\xac\\x67\\x7c\\x0d\\x77\\x12\\x73\\xa3\\x9b\\x7f\\x45\\x59\\x6f\\x89\\x05\\x81\\x10\\x08\\xd1\\xf4\\x6c\\xbd\\xa5\\x52\\x52\\x3a\\x3b\\x83\\x4e\\xd8\\x87\\x3b\\x67\\xf1\\x8b\\x7b\\x06\\xf0\\xaf\\xf4\\xdc\\x31\\x8b\\xa4\\xcb\\xe9\\x95\\xf9\\x87\\x79\\xba\\xf5\\xc4\\x0f\\x11\\x97\\xd1\\xe0\\x44\\x06\\xe2\\x98\\xce\\x75\\xc3\\x24\\x37\\x34\\xb9\\x47\\xb8\\xb1\\x9b\\x0e\\x6c\\x1b\\x2e\\xb8\\xa4\\x63\\x33\\x7d\\x00\\xec\\xab\\x67\\xe9\\x79\\x1d\\xc5\\x6e\\xa0\\xe3\\xdc\\x78\\xd1\\x01\\xf7\\xbb\\xee\\x63\\x6e\\x6e\\xb7\\xfa\\x5b\\x71\\xd7\\x59\\x1d\\x93\\x94\\xdf\\x68\\x7a\\xfe\\x98\\x1b\\x3e\\x73\\xc3\\x1e\\x37\\x05\\xe3\\x36\\x27\\x11\\x8c\\x9b\\xdc\\x71\\x34\\x09\\x34\\xd5\\xbd\\xc2\\xbd\\xd6\\x7d\\xab\\x5b\\xd7\\xc6\\x7e\\x1b\\x34\\x62\\x34\\xfd\\x0d\\x23\\x77\\xb1\\xbb\\xde\\xbd\\xcc\\xbd\\xc6\\x7d\\x93\\x7b\\xb7\\xfb\\x2d\\xf7\\x67\\x6e\\xc9\\x46\\x1e\\x4d\\x72\\x77\\xbb\\x9f\\x27\\x5f\\xc5\\x08\\xb9\\xd9\\xed\\x3e\\xea\\xe6\\x8b\\xdc\\x80\\xdc\\xa0\\xb7\\x0a\\x46\\xba\\xa7\\x68\\x28\\x0c\\x8c\\x72\\xcf\\xeb\\x3a\\x2f\\x38\\x4b\\x99\\x74\\x44\\xfa\\x2f\\xc8\\xfa\\x35\\xa8\\x7c\\x4f\\x4e\\x74\\x27\\xf4\\x6b\\x6f\\xa2\\x1d\\x55\\x08\\x6e\\x7b\\xc0\\xae\\x86\\xfd\\x20\\x67\\xc5\\xdb\\x57\\x5e\\xf5\\xe7\\x0b\\x17\\x1c\\xd8\\xbc\\xf5\\x79\\x8c\\xd1\\xed\\x47\\xae\\x5e\\xfb\\xc3\\xad\\x32\\xc2\\xf8\\xd9\\x2f\\xfe\\xfe\\x82\\x4c\\xd7\\x8f\\xdc\\x96\\xf8\\x08\\xdf\\x45\\xe8\\xbb\\x02\\x8e\\x47\\x7a\\x25\\x67\\x01\\xf1\\xb4\\x2a\\xab\\xfc\\xa5\\x79\\xa5\\x13\\x63\\x79\\xd4\\xcc\\x99\\x18\\x13\\x61\\x4e\\x15\\x4c\\xae\\x82\\x11\\x55\\xd0\\x54\\x05\\xa5\\x55\\xe0\\xaa\\x02\\xbe\\x0a\\x8e\\x55\\xc1\\xdf\\xab\\xe0\\xdd\\x2a\\x78\\xa1\\x0a\\xf6\\x54\\xc1\\xd6\\x2a\\xb8\\xb5\\x0a\\xd6\\x56\\xc1\\x8a\\x2a\\x98\\x5f\\x05\\x9d\\x99\\xf0\\xb8\\x0a\\x16\\x91\\x04\\x5f\\xb1\\x04\\x07\\x58\\x82\\x6d\\x9a\\x04\\x73\\xab\\x60\\x6a\\x15\\x8c\\xaa\\x82\\x96\\xcc\\x0c\\xbe\\x60\\xf0\\x2f\\x57\\xc1\\xbe\\x2a\\x78\\xb0\\x0a\\x6e\\xaf\\x82\\x6b\\xaa\\xe0\\x02\\x4d\\x06\\x8d\\x55\\x50\\xa2\\x81\\x27\\xf8\\xdf\\x4f\\xe2\\xcf\\x82\\x9f\\xca\\xe0\\x09\\xfe\\xf2\\x2a\\xc8\\xa9\\x02\\xb1\\x0a\\xda\\x7e\\x4c\\x26\\x78\\x59\\x85\\x8b\\x9c\\xad\\x62\\x56\\x4a\\x42\\x30\\x3b\\x34\\x25\\x51\\x00\\x95\\xaa\\xc2\\x4d\\x55\\xb0\\xa6\\x0a\\x96\\x25\\x8b\\x1e\\xa9\\x82\\xfa\\xfe\\x8a\\xfe\\x3c\\xa9\\xfa\\xee\\x2a\\xd8\\x5c\\x95\\x4e\\xd0\\x5d\\x05\\x93\\x58\\x82\\xf4\\x82\\xe9\\x0c\\x81\\xdb\\xf5\\x8b\\x4b\\x25\\x67\\xf6\\x59\\x5f\\x9f\\xbd\\x69\\xc2\\x49\\x13\\xa8\\x43\\x84\\xa1\\xec\\x1d\\x73\\x6c\\xce\\xa1\\x98\\xb2\\xba\\xdb\\x0a\\x01\\x46\\x3a\\x4e\\x17\\xe6\\xd8\\x14\\x95\\x8a\\x66\\xba\\xe5\\x1f\\x1b\\x2f\\x7d\\xca\\xa2\\x3b\\x6b\\xf3\\xa8\\xdc\\x98\\xd5\\x61\\x73\\x8f\\x6a\\x6b\\x1e\\xc5\\xeb\\x24\\x71\\xde\\x3d\\xa3\\x0a\\x26\\x9b\\x78\\x37\\xef\\x1a\\x39\\xb0\\x79\\x14\\x1c\\x07\\x13\\xd8\\x17\\x3f\\x73\\x91\\xcb\\x24\\x0d\\x8b\\x8e\\xba\\xef\\xd2\\xc4\\x57\\x63\\xe4\\x67\\xe5\\x2f\\xcf\\xfd\\xc3\\x79\\x1e\\x83\\xde\\xdc\\xe5\\x19\\x79\\xdf\\x2a\\xe2\\xcb\\xd5\\x80\\x9f\\x1f\\xc0\\x47\\x6d\\x15\\x68\\x36\\xb1\\x5d\\x3f\\xb5\\xe9\\xe8\\x67\\x6f\\x84\\xe9\\x89\\x4e\\x74\\x03\\x6f\\xe1\\x0f\\x10\\x1e\\xbe\\x20\\x32\\x06\\x39\\x81\\x77\\x58\\x05\\xbd\\xc5\\x28\\x19\\x4c\\xd8\\x6e\\xc2\\x3a\\x93\\xce\\xe5\\xe6\\x6d\\x76\\xdb\\xa3\\xb1\\xe9\\xd2\\x62\\x09\\x23\\xc9\\x26\\x61\\x23\\x27\\x49\\x66\\xbd\\xc9\\x6c\\x7a\\x34\\x26\\x10\\x0d\\x68\\xb6\\x83\\x7d\\x25\\xba\\x1a\\xe1\\x10\\xdd\\x28\\xcb\\x6a\\xdf\\x64\\xc7\\x76\\x14\\x9a\\x19\\x0e\\xd1\\x90\\xb1\\xed\\x4f\\xcb\\x1b\\x93\\x53\\x00\\xe9\\xc4\\xbd\\x0c\\xb3\\x49\\xdd\\x41\\x22\\xec\\xf6\\x73\\x6c\\xe2\\x97\\x93\\x0d\\x77\\x91\\x8b\\xfb\\xf7\\x93\\xef\\xcb\\x2f\\x3f\\x05\\xc7\\x12\\xdb\\xf7\\xdf\\xb5\\xff\\x15\\x08\\x3e\\x25\\xfb\\xf0\\x98\\x27\\xf9\\x03\\xf2\\x4f\\x1b\\xe4\\x1f\\x6f\\x92\\x7f\\x06\\xdd\\x4d\\x60\\xd8\\x00\\x7a\\x65\\x0c\\x6f\\x3e\\xe8\\xf8\\x42\\xbe\\x43\\x5d\\x73\\x39\\x34\\x52\\x62\\x20\\xde\\x93\\x40\\xf4\\x89\\xc9\\x6c\\x30\\x1a\\x39\\xb1\\x5b\\xb7\\x4c\\x87\\xad\\xba\\x22\\x5d\\x88\\xee\\xf1\\x8c\\x38\\xd0\\x73\\x54\\x22\\x1f\\x22\\x25\\x3c\\xa4\\xd1\\x4c\\x8a\\xdf\\x40\\x6d\\x98\\xe4\\xc5\\x17\\x9e\\xe8\\xe0\\xf6\\x2b\\x17\\xdc\\xbe\\x61\\x03\\x7e\\x6c\\xc3\\x06\\xf9\\x77\\x1b\\x36\\x10\\xdb\\xb9\\x93\\xd8\\xce\\x16\\xfe\\x23\\xb6\\xde\\x8c\\xe4\\x28\\xf1\\x48\\x8f\\x45\\x11\\x19\\x4d\\x7a\\xdd\\xa3\\x31\\x3d\\x2f\\xee\\x8a\\xf3\\x78\\x57\\x1c\\x50\\x37\\x7f\\x13\\x8f\\xd7\\xf0\\xc0\\xa3\\xdc\\xd0\\xcc\\xe5\\xca\\x78\\x51\\x28\\x98\\x91\\xa3\\x93\\xe4\\x25\\x41\\x01\\xf6\\x37\\x77\\x72\\xfb\\x13\\x80\\x7b\\x89\\x01\\xf5\\xe8\\x74\\x78\\x77\\x83\\x7c\\xa3\\xbc\\x7e\\x43\\xc7\\x4d\\x37\\x21\\x35\\x3f\\x1b\\xc9\\x8f\\x23\\xf9\\x8d\\x88\\x94\\xe9\\x31\\x2f\\x82\\x81\\x37\\x18\\x4d\\x06\\x49\\x14\\xf5\\xbb\\xe2\\x22\\xbf\\x2b\\x6e\\x23\\xd6\\x80\\xf8\\x99\\x88\\xed\\x9c\\x88\\xb9\\x47\\x63\\x98\\x98\\x0c\\x24\\x57\\xd2\\xec\\xcb\\x83\\x19\\xf3\\x7b\\x95\\xd8\\x1b\\x9b\\xe6\\x4e\\xcc\\x42\\x70\\xf3\\x16\\x92\\x23\\x87\\x12\\x88\\xdb\\x7f\\xd3\\x4d\\x37\\x75\\x6c\\x80\\xf3\\xe1\\xbc\\x0d\\x72\\xcd\\x74\\x9a\\xef\\x5d\\x24\\xdf\\x30\\x7f\\x05\\xe2\\x91\\x44\\x57\\xe7\\x09\\x48\\xe4\\x11\\xc9\\x56\\xcf\\x14\\x44\\x63\\x48\\x6b\\x03\\x87\\xed\\x12\\xd8\\xcb\\xfc\\xe4\\xfd\\x2e\\x38\\x04\\x87\\x4e\\xec\\xc3\\xc7\\xe5\\xab\\xe4\\xab\\xf0\\x2a\\x2c\\x26\\x8e\\x27\\xae\\x9e\\x8c\\x45\\x78\\x58\\x26\\x3e\\x34\\x9a\\x8f\\x0e\\xf2\\x45\\xf8\\x28\\xd1\\x37\\xbe\\x88\\x89\\xd8\\x23\\x48\\xd4\\x09\\xc4\\x92\\x14\\x78\\x14\\x4a\\x35\\x0d\\xeb\\x08\\x22\\x59\\xf9\\xa2\\x13\\xef\\xdd\\x88\\x8f\\xde\\x24\\x2f\\xc1\\x65\\x84\\x5e\\x71\\x49\\xe2\\x6e\\xee\\x1d\\xf1\\x61\\xe4\\xa6\\xfb\\x51\\x13\\x1d\\xa4\\x27\\x9e\\xb5\\x51\\xa0\\x0b\\xfb\\x0e\\x69\\xb4\\x55\\x20\\x39\\x2a\\x43\\xe7\\x1f\\x94\\xd3\\x70\\x9a\\x4e\\x74\\xe3\\xbd\\xb7\\x6c\\xbf\\xbc\\x7d\\x5c\\xb8\\xac\\xd0\\x6c\\x2b\\xf7\\xdb\\x4a\\x25\\x31\\x71\\xb7\\xae\\xf3\\xc0\\x8f\\xed\\xf5\\x95\\x4d\\x06\\x7d\\x75\\x45\\x45\\x60\\x91\\xa2\\x0f\\x85\\xc4\\xdd\\x78\\x2f\\xc9\\xc3\\x45\\xf3\\x70\\x61\\x3d\\x76\\xe7\\x90\\x3c\\x50\\x56\\x1e\\x61\\x7b\\x7a\\x90\\xc3\\x93\\xa3\\x4c\\x71\\xc0\\x25\\xb7\\x3c\\xb0\\x76\\xd0\\x69\\x8d\\xa5\\xfe\\x3c\\x43\\x51\\x91\\xad\\xc0\\x23\\x3e\\xfc\\xd3\\xf6\\x17\\xff\\x67\\x48\\xa8\\xa2\\xd9\\xc6\\x57\\x95\\x85\\x57\\xb3\\x35\\x84\\x3f\\xe2\\x32\\x61\\x2f\\xde\\x47\\xfa\\xd2\\xbb\\x97\\x13\\x10\\x31\\xaf\\xf7\\x03\\x7e\\x2c\\x06\\x27\\xa8\\xb8\\x50\\x16\\xc0\\x72\\xc4\\x97\\x30\\x08\\xcf\\xe1\\xb2\\x8d\\x1b\\x59\\x99\\xf0\\xfa\\xc4\\x2d\\x5c\\xa1\\xae\\x83\\xd9\\xde\\x12\\xa6\\x6b\\x9b\\x39\\x19\\x1d\\xa7\\x2b\\x66\\x93\\x46\\x61\\xd8\\x1e\\xc0\\xeb\\x37\\x6e\\xd4\\x75\\xfc\\x38\\x4e\\x81\\x67\\x79\\x08\\xa8\\x84\\xda\\xea\\x48\\x04\\x9d\\x20\\x93\\x0e\\xa6\\x19\\xa1\\x13\\xca\\xb0\\x06\\xc9\\x4b\\x8d\\x1f\\xd0\\xfd\\x07\\x48\\x6a\\xae\\x32\\xb1\\x68\\x23\\xde\\xb7\\xb1\\xe7\\x5c\\xa5\\x9c\\x34\\xcf\\x24\\x0e\\x01\\x63\\x1d\\x88\\xbc\\x8c\\x05\\x86\\x03\\x67\\xe3\\xe0\\xd8\\x46\\x03\\x06\\xae\\x72\\x23\\x29\\xf4\\xf1\\x8f\\xf9\\x9b\\xd5\\x72\\xd3\\xba\\xea\\xa8\\x8f\\x59\\xf4\\x04\\x31\\x2d\\x44\\x5e\\xc7\\x10\\xec\\xa1\\x08\\x8e\\xb3\\x99\\x26\\xa9\\x42\\x30\\x13\\x83\\x54\\x01\\xdf\\x71\\xe2\\x2f\\xba\\x8e\\x9e\\x73\\x37\\xaa\\x6d\\xc5\\xea\\xcd\\xca\\x80\\xe9\\xbe\\x0a\\x22\\x77\\xfc\\x54\\x65\\x08\\xdb\\x0d\\xf8\\x0e\\x5a\\x06\\xfe\\xe6\\xe3\\x1f\\xa7\\xda\\x8e\\x95\\x41\\x87\\xaa\\x08\\x05\\x03\\x3d\\x4e\\x8b\\x97\\x74\\x72\\x56\\x41\\xd2\\x88\\xd2\\xa5\\x61\\x4d\\x8a\\xef\\x20\\xad\\xc2\\x0a\\xa4\\x6d\\x17\\x15\\x9f\\x85\\xae\\xd2\\xe5\\x25\\xa4\\x17\\x65\\x52\\x2e\\x5d\\x46\\xb9\\xb4\\xf8\\x94\\xa2\\x05\\x58\\xe1\\x94\\xd2\\xfd\\x38\\x4e\\x6d\\x23\\x8a\\x8f\\xf5\\x95\\x0e\\xd5\\x44\\xac\\xbc\\x4e\\x87\\x38\\x8e\\x21\\xa4\\xdb\\x57\\x68\\x28\\x83\\x06\\x55\\x93\\x3b\\x4e\\x26\\x69\\x84\\xb5\\xb9\\xf0\\x1c\\xed\\x36\\x42\\x2a\\x3d\\xe7\\x12\\x94\\x2a\\x7d\\xb1\\xf2\\x11\\x7c\\xa4\\xdf\\x90\\x4e\\x47\\xf0\\x71\\xc7\\x69\\xd5\\x4f\\x8d\\xcf\\x4e\\x6b\\xcd\\xda\\xef\\x0e\\x56\\x46\\xda\\x09\\x6a\\xf9\\x08\\x3e\\x23\\x6a\\x8d\\xb8\\x04\\xbd\\x1e\\x1b\\x8d\\x04\\xa5\\x19\\x99\\x0c\\xa4\\xce\\x7a\\x23\\x36\\x12\\xa4\\x8f\\xc7\\x04\\x5a\\x6d\\x35\\xf6\\xab\\xc1\\x1b\\xd6\\xa2\\xf6\\xab\\x2d\\xc0\\x9a\\x34\\x99\\x03\\x2b\\x35\\x5d\\xc3\\xfb\\x23\\x2c\\x17\\xf6\\x72\\x8b\\x99\\x1c\\xaf\\x23\\x54\\x4b\\x8b\\xcd\\xf3\\x7a\\x81\\x67\\xfd\\x24\\x24\\x92\\xa5\\xef\\x49\\x8e\\xca\\x41\\x2a\\xfa\\x44\\xdb\\x02\\x14\\x9e\\x39\\x1e\\x25\\x7c\\xf3\\xe1\\xc6\\x8d\\xf2\\x9d\\x0a\\xef\\x60\\xf8\\x90\\xf4\\xd7\\x3b\\x3a\\x45\\x3f\\x14\\x47\\x2c\\x80\\x88\\xa4\\xe1\\xf5\\x92\\x8e\\x23\\x2d\\x4c\\xba\\xbe\\xb1\\x5d\\x2b\\xc5\\x28\\x1f\\xb1\\x8b\\xa0\\x80\\x85\\x0a\\x3f\\x49\\x7b\\xd3\\x3c\\x45\\xca\\x27\\xa1\\xb6\\x88\\x95\\x48\\x7b\\x23\\xe9\\x7b\\x84\\x0c\\x46\\x49\\xe6\\x75\\xac\\x88\\x7c\\x22\\xc9\\x61\\x3d\\xda\\xf9\\xbd\\xa0\\x9d\\xd5\\x4b\\xd7\\xbd\\x6a\\xd8\\x8d\\xb5\\x04\\xb7\\x78\\xe3\\x07\\x1b\\x4f\\x94\\x50\\xd9\\xf3\\xa1\\x4a\\x0b\\x12\\xaa\\x8d\\x98\\x45\\x62\\x8d\\x4b\\x82\\x01\\x8c\\x58\\x94\\x44\\x82\\x78\\x6f\\x4c\\x3a\\xc1\\xeb\\x65\\x3a\\xbb\\x9a\\x29\\x52\\x08\\xa7\\xcc\\x51\\x45\\x5a\\xd2\\x3f\\x61\\xaf\\x5c\\x40\\xd0\\x31\\x36\\xa6\\xed\\x2b\\x04\\xd4\\x36\\x60\\x65\\x17\\x48\\x2f\\x0e\\x8a\\x58\\xb0\\x5e\\x6f\\xe6\\x90\\x24\\x22\\x91\\x38\\xe1\\x12\\x41\\xfd\\x44\\x4c\\x4c\\x18\\xd3\\x12\\x42\\x2d\\x7f\\xb8\\x5d\\x3b\\x62\\x93\\x16\\x15\\xea\\xfb\\x87\\xdc\\xe1\\x13\\x7b\\x49\\x2b\\xe1\\x15\\x24\\x4b\\x52\\x89\\xe3\\x4f\\xf1\\x4b\\x95\\x7a\\x28\\x3c\\x92\\x6c\\x2b\\xb6\\xd7\\xa2\\xc1\\xc8\\x93\\xc6\\xd2\\xcb\\x22\\xc7\\xda\\x4a\\xec\\xc1\\x92\\xc2\\x2d\\x09\\x4d\\x5b\\x81\\x76\\x10\\x90\\x74\\x6a\\xb3\\xb2\\x7f\\x89\\x81\\x36\\x13\\x11\\x2d\\xb0\\x9c\\xd4\\xec\\x78\\x15\\xf7\\x49\\x8a\\x0f\\xdf\\x61\\x6d\\x55\\x17\\xb1\\x49\\xa2\\x80\\x45\\x6c\\x44\\x06\\xd2\\x40\\x62\\x5f\\xc6\\xc9\\x68\\x2c\\x2e\\xb9\\x29\\x0a\\x91\\x57\\x87\\x69\\x5b\\x29\\x12\\x4b\\x21\\x44\\xac\\xe0\\x4d\\xb7\\x95\\xde\\x48\\x17\\xcd\\x9b\\xcc\\xbc\\x24\\x11\\x6d\\xcb\\xda\\xca\\x90\\xc0\\x3a\\x99\\xd1\\xe5\\x63\\x31\\x41\\xd3\\x56\\x10\\x4e\\xcd\\xd0\\x0c\\xb3\\x15\\x33\\x76\\x62\\x48\\xd0\\x37\\x3f\\xf7\\xce\\xc6\\x13\\x7b\\xf1\\x8a\\x8d\\x72\\x01\\x5e\\xc1\\x2d\\x3e\\x5e\\x25\\x8c\\x62\\xf5\\xd8\\xc8\\xe4\\x13\\xa5\\x7b\\x42\\x9f\\x12\\xe1\\x2f\\x33\\xa1\\x2b\\x49\\x22\\x6d\\xa5\\xd7\\x1b\\x59\\xc7\\x90\\x96\\x4a\\x24\\x25\\x55\\x4f\\x4a\\x52\\x05\\x33\\x5b\\x4a\\x91\\x56\\xee\\xa4\\xfc\\xa4\\x64\\x45\\x65\\xe8\\x89\\x12\\x52\\x39\\x45\\xa7\\x7d\\xa8\\xca\\x04\\x09\\x55\\x47\\x8c\\x7a\\x81\\xd8\\x47\\x92\\x81\\x27\\x37\\x04\\xf1\\xbe\\x18\\xd6\\x9f\\x40\\xe2\\x71\\x36\\x69\\x3f\\x98\\x41\\x54\\x0a\\xcf\\x92\\x7b\\x2e\\xba\\x11\\x3e\\x3f\\x51\\xba\\xf1\\x03\\x26\\x07\\x85\\x00\\x91\\x84\\x84\\xa6\\xd4\\x72\\x27\\x69\\x4a\\xd0\\x1b\\x05\\x23\\xb1\\xb9\\x78\\xde\\xac\\x37\\xb2\\x12\\xeb\\x7b\\x58\\xd1\\xf7\\x92\\x4e\\x16\\x15\\x56\\xcb\\x28\\x7c\\x46\\x36\\xea\\xfb\\x87\\x1b\\xb9\\x71\\x27\\x4a\\x09\\xe7\\xc1\\xe7\\x89\\x1b\\x74\\x1d\\xc7\\x9f\\xda\\x28\\x7c\\x40\\xea\\xc1\\xfa\\x1b\\x96\\x33\\xb9\\xcb\\x68\\x4a\\xc4\\x98\\xb5\\x13\\xa1\\x29\\xdd\\xf1\\xff\\x3d\\x4d\\x85\\x15\\x9a\\x22\\xb2\\x88\\xd1\\x14\\xf7\\xc9\\xf1\\xaa\\xa4\\x6e\\x66\\xb2\\x82\\xd1\\x14\\x27\\x12\\x75\\x83\\x8c\\x60\\xd0\\xf3\\xc7\\x49\\x7e\\x90\\x96\\xee\\x7d\\x69\\x0a\\x14\\xac\\xb4\\xad\\xde\\x21\\xe5\\xff\\x5c\\x21\\x2b\\x95\\xa8\\x98\\x6c\\x63\\x78\\xd5\\xb6\\x32\\x12\\x13\\x54\\x4f\\x68\\x4a\\x02\\x48\\xd1\\x54\\x0f\\x2f\\x1e\\x4f\\xe6\\x91\\x38\\x29\\x4d\\xb1\\x6c\\xfc\\x61\\x85\\xa6\\x4e\\x94\\x72\\xe3\\x36\\xca\\xba\\x8d\\x89\\x1b\\xe0\\x73\\x52\\x0f\\x61\\x54\\x8f\\xc6\\x5e\\x50\\x65\\xf6\\xd0\\x88\\x4d\\xc4\\x74\\x93\\x02\\x42\\xc1\\x84\\xeb\\x8d\\xf2\\xa9\\xc8\\x2a\\xab\\xbd\\x32\\x48\\x2b\\xa5\\x0c\\x55\\x85\\xc8\\xa8\\x8b\\x72\\x7b\\x4a\\xbe\\x30\\x9d\\x63\\x44\\xe1\\x88\\xd3\\x40\\x44\\x96\\xa8\\x33\\xea\\x4c\\xbc\\x59\\x67\\x94\\x91\\x3e\\x5b\\x65\\x87\\xb5\\x8d\\xa7\\xd5\\xb7\\x54\\xf4\\x32\\x62\\x23\\x12\\x85\\x4a\\x70\\x55\\xef\\x32\\x09\\x4c\\x6c\\xfd\\x54\\x3e\\x44\\x78\\x21\\x2b\\x1a\\x1d\\xb1\\x5b\\x44\\xd1\\x8e\\xc0\\xa4\\xd7\\x5b\\x25\\x90\\x6c\\x76\\x93\\x95\\xd5\\xc9\\xd4\\xc3\\x44\\x72\\x44\\x22\\x32\\xd9\\x80\\x8f\\x4b\\xc0\\x84\\x66\\x38\\x39\\x9b\\x23\\x3d\\xe0\\xae\\xe6\\x1e\\xb0\\x87\\x9d\\x8a\\x7a\\x52\\xac\\x90\\xc5\\x1b\\x37\\x7e\\xc0\\xa4\\x1a\\x23\\xc3\\xc4\\x2d\\xd2\\x5e\\x42\\x88\\x27\\x4a\\xa4\\xbd\\x8c\\x14\\x35\\x36\\x00\\x6d\\x5f\\x07\\x6d\\x5f\\x22\\x1c\\xcc\\x84\\x18\\x89\\x4e\\xd4\\x92\\xa3\\xb1\\x0f\\x39\\x66\\xb7\\x6f\\x9a\\x20\\x03\\x29\\x92\\x4c\\xd2\\xe4\\x8f\\xe3\\x88\\xa4\\x53\\xe5\\x91\\xda\\xb6\\x0d\\x11\\x07\\x91\\x73\\x06\\xa3\\x68\\x24\\xfa\\xd7\\x28\\xca\\xfa\\x3e\\x56\\x47\\x46\\xd3\\x6a\\x2c\\x0f\\xda\\xb2\\x06\\x42\\x97\\x4c\\xab\\xa5\\x2c\\x10\\x21\\x40\\x1b\\x96\\x4b\\xe5\\xa1\\xb4\\xeb\\xa8\\x88\\x5d\\x24\\x55\\x32\\x62\\xce\\xc8\\xd9\\xec\\x3a\\xb3\\xd9\\x66\\x35\\x31\\x22\\xb5\\x26\\x38\\xa3\\x9c\\xd4\\x45\\x3d\\x88\\x67\\x42\\xa3\\x3f\\x4a\\xd5\\xea\\x52\\xea\\xd2\\x29\\x42\\x30\\xca\\xd4\\x32\\xa5\\xd6\\x8d\\x4c\\x12\\x2a\\xca\\x95\\x10\\xad\\x2a\\x0b\\xb1\\x62\\x6b\\x10\\xd9\\x4b\\xeb\\x1a\\x61\\xd6\\x90\\xc9\\x6c\\xe4\\x38\\xba\\x0f\\xad\\x49\\xd2\\x2b\\x5d\\x2a\\xf5\\x68\\x6d\\xa3\\x44\\x92\\x1d\\x35\\x06\\x41\\x96\\x85\\xa4\\x5a\\x06\\x84\\x6a\\x13\\x8b\\x84\\xe7\\x48\\xe3\\x92\\xae\\xe4\\x3e\\xa1\\xed\\x90\\x61\\x7f\\x19\\x51\\x53\\xc4\\xa9\\x37\\xf2\\x94\\x6e\\x39\\xd2\\xbc\\xa2\\x41\\xd6\\xf7\\xb1\\xc1\\x54\\xbe\\xb7\\x67\\x68\\x93\\x94\\xf2\\x25\\xb9\\x28\\xda\\x57\\xb5\\xc6\\x54\\xdb\\x86\\x4b\\xd5\\x8b\\xf2\\xbf\\x15\\x8d\\x89\\x38\\xcc\\x7a\\xbd\\x9d\\x88\\x61\\x11\\x8b\\x36\\xbb\\x85\\xe3\\x6c\\x56\\x0b\\x13\\xc5\\xd6\\x1e\\x89\\xe3\\x39\\x76\\x2b\\xf2\\x09\\xa3\\x4a\\xb7\\xc9\\x15\\x2e\\xda\\x16\\x4e\\x51\\x2e\\x69\\xd8\\xb0\\xc2\\x3b\\xc4\\xa5\\x23\\x94\\x4b\\x1b\\x56\\x21\\x5e\\xbc\\xe2\\x78\\x94\\xf4\\xeb\\x27\\xb4\\xbe\\xc2\\x07\\xa4\\xb6\\xaa\\x8d\\xa5\\xd2\\x12\\x69\\x5f\\x9d\\xd1\\x68\\x26\\x16\\xa2\\xc9\\x8c\\xf4\\xfa\\x74\\xfb\\x26\\xb4\\xb6\\x62\\x4f\\x76\\xfb\\x3a\\xda\\x34\\x56\\x17\\xe3\\x17\\xd6\\xbe\\xcc\\xac\\x53\\x8d\\x2f\\xee\\x13\\xc2\\x27\\xaa\\x01\\x96\\xb6\\x47\\x59\\xfb\\x2a\\x75\\x36\\x51\\xf2\\xd5\\x71\\xc7\\xa5\\x3e\\x36\\x69\\xbf\\xed\\xab\\xd6\\x97\\xe4\\xc2\\x04\\x2b\\x7c\\x9e\\x12\\xad\\xcc\\x4d\\xa0\\xed\\xab\\xd1\\x45\\xac\\x7d\\x79\\xab\\xd5\\x4e\\x6c\\x53\\xc1\\x28\\xd8\\xec\\x92\\xc9\\x64\\x33\\x9b\\x58\\xa3\\x9a\\x13\\x44\\xf1\\x49\\x8a\\xd6\\x33\\xf4\\xa4\\xb5\\xde\\x49\\xdb\\x37\\xa5\\x9b\\x9a\\xfd\\xb4\\x9a\\x4c\\x36\\x25\\x6e\\x50\\xa9\\x58\\x2e\\x10\\x9e\\x63\\x82\\x90\\x5f\\x4a\\x88\\x98\\x08\\xe2\\x8d\\x48\\x63\\x2f\\x3b\\x51\\x67\\x24\\xcf\\x2c\\xd9\\x88\\xfc\\x75\\x3a\\x5d\\x6e\\xa3\\xd5\\xea\\x26\\x12\\xc2\\xe5\\x20\\x12\\xc2\\xc4\\x33\\xeb\\xe1\\x89\\x98\\x24\\xf4\\xd8\\x14\\x12\\x7b\\x3c\\x66\\xa6\\xb4\\x1c\\xce\\x58\\xe2\\xd4\\x9e\\x49\\xd2\\xe1\\x6c\\x99\\x91\\x12\\xcd\\x29\\xd9\\x91\\x12\\xd0\\xaa\\x0c\\x51\\xa5\\x34\\x33\\x99\\x32\\xca\\x36\\x26\\x92\\xeb\\x90\\x24\\xab\\x89\\x38\\x55\\x4e\\xbd\\x49\\xef\\xe2\\xdd\\x66\\x17\\xb2\\x91\\x1e\\x31\\x5b\\xcc\\xac\\x68\\x0e\\x6c\\x39\\x41\\x85\\x37\\x6d\\xa0\\x70\\xdf\\xae\\x09\\x6b\\xd9\\x3c\\xcd\\x01\\xaa\\x1a\\x4c\\xca\\xf0\\x0f\\x08\\x39\\xd2\\x3e\\x53\\xe5\\xb8\\xd2\\x69\\xac\\xef\\xd8\\x3a\\xe8\\x54\\x79\\x68\\xbf\\xd1\\x03\\x73\\xe6\\x44\\xf2\\x78\\x8b\\x25\\xd7\\x65\\x34\\x7a\\xf4\\xd8\\x6a\\x15\\x4c\\x7a\\x93\\x37\\xd7\\x2d\\x49\\x5e\\xc1\\x9d\\xe3\\xa6\\xe4\\x69\\x8c\\xe1\\x9c\\x1e\\xe4\\x38\\x6e\\x4d\\x76\\xa3\\xc9\\x90\\xb0\\xeb\\xb4\\x6c\\xa2\\xde\\x68\\x3a\\x33\\x35\\xb5\\x4a\\x53\\x5c\\x4e\\xcb\\x38\\x61\\x55\\x3a\\xd1\\xae\\xfd\\x40\\xc3\\x40\\x6a\\x37\\xb3\\x2e\\x3e\\xfe\\x94\\xc2\\x48\\x4c\\x5e\\xb1\\xd8\\x19\\xc2\\xe7\\x08\\x8f\\x30\\x99\\xe9\\xd8\\xc7\\xf6\\xbb\\x3a\\x0e\\x28\\xd4\\x9e\\xda\\xf0\\xca\\xee\\x17\\x1e\\x39\\x3e\\x4d\\x78\\x04\\x9f\\xc3\\x7f\\xa4\\xc0\\x93\\xba\\x92\\x6f\\x69\\x78\\xca\\xdd\\xa1\\x3e\\xf0\\x89\\x5b\\xf8\\xbf\\xa6\\xe1\\x19\\x7e\\xe7\\x13\\x2a\\x7e\\x39\\xbd\\x47\\x96\\x36\\x81\\xb4\\x57\\x85\\xc7\\xef\\xf7\\x0b\\xcf\\x8e\\x28\\x20\\xf0\\xf8\\xfd\\x44\\x35\\xb9\\x14\\x78\\xfc\\x9e\\x06\\x3f\\xf0\\x48\\xe8\\x0b\\x4f\\x70\\xa7\\xe0\\xab\\xd1\\x82\\xc4\\xff\\x08\\x8f\\x88\\x0f\\xa8\\x71\\x36\\x2b\\xa1\\x21\\x0f\\xf2\\xa1\\x22\\x14\\x48\\xad\\x20\\x6d\\x45\\x83\\x50\\x3b\\x1a\\x8e\\x46\\xa3\\x71\\x68\\x22\\x9a\\x82\\xce\\x40\\x71\\xd4\\x85\\xce\\x42\\x0b\\xd0\\x12\\xb4\\x14\\x9d\\x8f\\x2e\\x44\\xab\\xd0\\x6a\\x74\\x15\\xba\\x16\\xad\\x43\\x1b\\xd0\\x2d\\xe8\\x0e\\x74\\x0f\\xda\\x84\\x1e\\x40\\xbf\\x43\\xc8\\x19\\x76\\x07\\xca\\xd4\\x4b\\xd0\\xdc\\xeb\\x7e\\xc5\\x73\\xcf\\xff\\x01\\x3c\\x9c\\xe2\\xde\\xde\\xcf\\xb5\\x60\\xe1\\x42\\xb8\\x9f\\x5c\\x9b\\x17\\x2c\\x48\\x6c\\x24\\x9f\\x9b\\x94\\xeb\\xcd\\x05\\x0b\\xe4\\xee\\x85\\x0b\\xe5\\x39\\x0b\\x17\\xf2\\x66\\xf2\\x39\\x5b\\xb9\\xde\\x4c\\x43\\xbf\\xd9\\xef\\xd3\\x93\\xe0\\x78\\x33\\xfd\\xf4\\xc4\\x0b\\xe9\\xfb\\x9e\\xff\\xa4\\x53\\xd2\\xcf\\xf4\\x4b\\x28\\x99\\x43\\x5f\\xb3\\xbb\\xd3\\xaf\\xb3\\xfa\\xde\\xcf\\xa6\\xaf\\x39\\xb3\\xe8\\x6b\\x0e\\xbb\\x57\\x1e\\xeb\\xbe\\x63\\x89\\x21\\xc0\\xbe\\xc9\\x9f\\xce\\x91\\x3f\\xed\\x96\\x3f\\x26\\xff\\xb3\\xe5\\x4f\\x66\\xeb\\xbe\\xef\\x46\\x53\\x09\\x6d\\xfd\\xdf\\xeb\\xfb\\x47\\xd0\\x2e\\xf4\\x38\\x7a\\x02\\x3d\\x8d\\x9e\\x43\\x2f\\xa2\\x57\\x10\\x3d\\x9b\\xfb\\xcf\\xe8\\x03\\xf4\\x11\\xfa\\x14\\x7d\\x8e\\xbe\\x46\\xdf\\xa0\\x23\\xe8\\x3f\\xe8\\xbf\\xc4\\x29\\xed\\x05\\x0e\\x74\\x60\\x04\\x2b\\x38\\xc1\\x03\\x3e\\x28\\x82\\x00\\x54\\x40\\x10\\x42\\x10\\x86\\x56\\x18\\x04\\xed\\x30\\x1c\\x46\\xc3\\x38\\x98\\xa8\\xd0\\x53\\x6b\\x3f\\x97\\xf0\\xff\\xc3\\xf3\\xb2\\xac\\x67\\x49\\x5a\\xac\\xe8\\xe7\\xd2\\x9d\\x04\\x8f\\xe7\\x7f\\x09\\x0f\\xff\\xcb\\xe7\\x4e\\x15\\x97\\xe7\\x17\\x3e\\xed\\x2a\\xec\\x02\\x46\\x94\\xe4\\xff\\x2d\\xf6\\x4f\\x6e\\x7a\\x6e\\x20\\x44\\xad\\xfc\\x2b\\x4f\\x17\\x2c\\x38\\x31\\xfd\\xff\\x00\\x0a\\xee\\xd7\\xc2\\xbc\\xb0\\x60\\x01\\xf7\\xdb\\x4c\\x20\\xf2\\xbf\\xa0\\x0f\\xb2\\x05\\xbf\\x02\\xa6\\xe7\\x3f\\xbf\\xa6\\x0c\\x4a\\xd2\\x05\\x27\\x7b\\xa7\\x9f\\x2a\\x97\\xcd\\xe9\\xc3\\x6b\\xdd\\x27\\xe1\\xbb\\x93\\x3e\\x9f\\x9d\\x7e\\x29\\xfc\\x38\\x4b\\xc3\\x95\\xb3\\x35\\xbc\\x99\\xc1\\xa1\\x73\\xb4\\x7c\\xda\\x9d\\xe4\\xd6\\xd9\\x2a\\x72\\x72\\x11\\x64\\xf4\\x2b\\x01\\x27\\x40\\x88\\x70\\x23\\xd5\\x21\\xef\\x11\\xbe\\x1d\\x83\\x26\\xa0\\xd3\\xd1\\x34\\x14\\x43\\x33\\xd1\\x6c\\x34\\x0f\\x2d\\x42\\xe7\\xa0\\xe5\\x68\\x25\\xba\\x18\\x5d\\x86\\xae\\x40\\x57\\xa3\\xdf\\xa0\\xf5\\x68\\x23\\xba\\x0d\\xdd\\x85\\xee\\x43\\x5b\\xd0\\x6f\\xd1\\x43\\xe8\\x51\\xf4\\x7b\\xb4\\x17\\x3d\\x89\\x9e\\x41\\x7f\\x44\\x2f\\xa1\\xd7\\xd0\\x21\\xf4\\x36\\x7a\\x0f\\x7d\\x88\\x3e\\x46\\x7f\\x43\\x5f\\xa2\\x7f\\xa2\\xef\\xd0\\xbf\\xd1\\xff\\xa0\\x9f\\x51\\x02\\x00\\x04\\x90\\xc0\\x0c\\x76\\x70\\x43\\x2e\\x14\\xd0\\x49\\x37\\x50\\x05\\xb5\\xd0\\x00\\xcd\\xd0\\x06\\x43\\x20\\x0a\\x23\\x61\\x0c\\x4c\\x80\\xd3\\x89\\xd2\\x21\\xc6\\x41\\x73\\xa0\\x9f\\x2b\\xec\\x3e\\xd9\\x15\\x70\\x13\\x2f\\xa2\\xef\\x05\\x59\\x80\\x1e\\xf2\\xac\\x42\\x73\\xe9\\xb2\\x7e\\x17\\xc8\\xb3\\x56\\xed\\x77\\x72\\xf9\\xc9\\xa5\\x6b\\x0e\\xb8\\xcb\\xc8\\xa7\\x93\\x7c\\x06\\x34\\x57\\x76\\xfa\\x5f\\xfc\\x3d\\x2b\\x7f\\xc8\\xfe\\x9e\\x55\\xce\\x64\\x7a\\x9d\\x5a\\x2e\\x5a\\x1e\\x0f\\xc1\\xeb\\xc9\\xc2\\xef\\xcc\\xfe\\xae\\xa6\\x4f\\x7e\\x0a\\xef\\x1d\\x0f\\x2e\\x4e\\xbf\\x96\\xd0\\x3f\\xfa\\x4a\\x7e\\x26\\x5f\\xc7\\x6f\\x4b\\x3f\\x7a\\x9f\\xfc\\x2f\\x5e\\xfc\\x1e\\xf9\\x57\\x9f\\x25\\xfe\\xb5\\x58\\xfd\\xf1\\xc4\\xc3\\x4b\\xa0\\x7d\\xc9\\x7b\\x4b\\xe0\\x91\\x25\\x69\\x34\\x1a\\x5c\\x99\\xdf\\x53\\x88\\x70\\x0e\\xfb\\xf2\\x1e\\xfb\\xc7\\xdf\\x50\\x88\\x54\\x06\\x4b\\x28\\x6e\\xb9\\x93\\xfc\\xf2\\x5e\\x32\\x75\\xea\\x93\\xc2\\x2c\\x61\\x89\\x12\\xb7\\x40\\xc9\\x6c\\xfa\\x1f\\xe8\\x06\\xff\\x1c\\xf6\\x9f\\xc1\\x3d\\x7f\\x4c\\x29\\x25\\xf2\\x3f\\x8b\\xbc\\x8b\\x8b\\x93\\x3f\\x3d\\x9f\\xcd\\x90\\xcf\\x27\\x6f\\x5e\\xd4\\xf2\\x49\\x1f\\x7e\\x4b\\x3f\\x4a\\x41\\x89\\x87\\x92\\x3c\\x96\\xe4\\x74\\x92\\xab\\x9a\\xc5\\xec\\x14\\x6a\\x05\\xed\\x1f\\x53\\xc8\\x14\\x44\\x69\\x04\\x2c\\xb1\\x32\\x67\\x6a\\x15\\x5a\\xc9\\x4f\\xe7\\x95\\x3d\\x51\\x39\\xcc\\x0b\\x1c\\x3b\\x73\\x47\\x3d\\x75\\x81\\x58\\x58\\xab\\xb8\\x4f\\x4f\\xf8\\xf9\\xa9\\x27\\xfc\\x74\\xed\\x2e\\x31\\x88\\xdf\\xe4\\x5f\\x63\\x3a\\xb6\\x30\\x62\\xd2\\x01\\x75\\x3e\\x25\\xe2\\x82\\x92\\x54\\xa1\\x43\\x1f\\x1f\\xca\\xd8\\x86\\xd6\\xee\\x77\\xda\\xfd\\x76\\x91\\x7f\\xad\\xa7\\x75\\x3c\\xdf\\x40\\x3f\\xf8\\xcb\\x7a\\xde\\xe4\\xe9\\x3e\\x5c\\xe7\\xc0\\x6a\\xbc\\x88\\x5b\\xa5\\xe6\\x29\\xf0\\x80\\x93\\x53\\x47\\x55\\x2b\\x70\\x91\\xcc\\xc3\\x09\\x58\\x4d\\x5c\\x2e\\x36\\x0f\\x30\\x0d\\xcf\\xf2\\x15\\xe8\\xf0\\x21\\x96\\xf4\\x3a\\x10\\x71\\x76\\xbe\\xa0\\xee\\x04\\xaa\\xa0\\x18\\x2f\\xdf\\x4b\\xb1\\xc8\\x93\\x60\\x8e\\x7c\\xbf\\x52\\x5f\\xf2\\xd2\\x23\\xbc\\x50\\x39\\x63\\x08\\x09\\x3c\\x07\\xe9\\xfa\\x92\\x74\\x7e\\x3d\\xfa\\x89\\xfc\\x9c\\xb8\\x93\\xc6\\x24\\x49\\x12\\x71\\x3c\\xbf\\x93\\x94\\xc0\\xbe\\x17\\x61\\x8e\\x4e\\x33\\x4b\\xc1\\xfa\\x25\\xf2\\x3b\\x3e\\x13\\x77\\xf2\\x3b\\x7b\\x26\\x13\\xd8\\x8d\\xbd\\x5f\\x8a\\xd3\\xf9\\x1d\\x0a\\x2c\\x70\\xea\\xd9\\x45\\x0a\\xac\\x84\\x61\\x23\\x6b\\x80\\x1d\\x89\\xfb\\x13\\xf7\\x28\\xf1\\xce\\xfb\\x09\\xfc\\x78\\xfe\\x16\\x06\\x8f\\x51\\x26\\x6e\\x09\\x8b\\xe3\\x13\\x0f\\x27\\xb6\\xf3\\xb7\\xf4\\x4c\\x26\\xd9\\x33\\x78\\x2d\\xfe\\x6c\\x78\\x22\\xd8\\xc4\\xe9\\x14\\x7d\\x4f\\x1b\\x9e\\x47\\x20\\xe8\\x01\\x26\\xdf\\x0b\\x9b\\x89\\xcf\\x22\\xa1\\xb2\\x88\\x4d\\x2f\\x0a\\x3a\\x2c\\x09\\x58\\x30\\x18\\x45\\x9e\\x8e\\x49\\x87\\xb4\\x23\\x0a\\x6c\\xef\\x24\\x7f\\x40\\x82\\xb0\\xc4\\xe3\\xc0\\x64\\xb9\\x15\\x5e\\x9b\\x0c\\x07\\x65\\x8b\\x7c\\x3f\\xcc\\x81\\x6e\\xfc\\x26\\x7e\\x3b\\xd1\\x80\\x9b\\x13\\x07\\x13\\x2f\\xe0\\xa1\\x04\\xf7\\xef\\xd0\\x56\\xbe\\x8e\\xaf\\x62\\x6b\\x9a\\x48\\x5f\\xd8\\x90\\x57\\x8f\\xf4\\xc5\\x7e\\x97\\x29\\x9f\\x27\\x7d\\x71\\x38\\x83\\x06\\x92\\x13\\x50\\x5c\\x74\\xf6\\x50\\x1d\\xb4\\xba\\xe8\\x84\\x21\\x76\\x7c\\x27\\xf9\\x6e\\x81\\xdf\\x5d\\xf4\\xf6\\xc5\\x97\\xbc\\x73\\xf1\\xc5\\x6f\\xaf\\xba\\xe4\\xad\\x8b\\x3a\\xe7\\xfc\\xee\\xac\\x39\\x0f\\xcd\\x9d\\xf3\\xc8\\x9c\\xd9\\x0f\\xcd\\xc1\\x73\\xe9\\xf3\\x3f\\x93\\x9f\\x2e\\xba\\xe8\\xad\\x4b\\xe6\\x3c\\x34\\xbb\\xfb\\xe1\\x39\\xe4\\x97\\x39\\x0f\\xb1\\x6d\\xc0\\xd1\\x1c\\xd4\\xc9\\x77\\xf1\\x93\\x09\\x35\\x58\\xd9\\xba\\x8f\\x0a\\x62\\xdf\\xb5\\x12\\xdb\\x6e\\x34\\xb1\\xeb\\xce\\x20\\x36\\xdd\\x02\\x62\\xcf\\x5d\\x48\\x6c\\xb9\\x3f\\x45\\x96\\x4c\\x5a\\xb8\\x70\\xea\\xd9\\x03\\x2e\\xba\\x68\\xf0\\xa5\\x95\\xcb\\x96\\xd5\\xac\\x28\\xee\\xee\\x2e\\x9d\\xab\\xef\\xe8\\x30\\x8d\\x47\\x91\\x08\\x3f\\xc2\\x56\\x5f\\xef\\x6a\\x3a\\x73\\x46\\xbe\\xd7\\xdb\\x34\\x62\\xfc\\xdc\\x15\\x97\\x9e\\x3d\\x43\\xba\\x62\\xcd\\xff\\x43\\xdb\\x97\\x00\\x46\\x51\\x64\\x7f\\x77\\x75\\xf5\\x5c\\x49\\x26\\x73\\xe4\\x98\\xdc\\x99\\xdc\\x77\\x26\\xc9\\x10\\x42\\xc2\\x91\\x49\\x08\\x21\\x40\\x08\\xc8\\x3d\\x40\\xee\\x83\\x84\\x23\\x01\\x12\\x08\\x01\\xb9\\x54\\xd6\\xf1\\x43\\x05\\xbc\\x56\\xf1\\xda\\xc5\\x5d\\xd7\\x75\\xf1\\x42\\x54\\x3c\\x76\\x95\\x4b\\x74\\x81\\x55\\x40\\x04\\x44\\x44\\x39\\x44\\x57\\x14\\x45\\x74\\x11\\x32\\x3d\\xdf\\xab\\xd7\\x3d\\x93\\x49\\x08\\xde\\xff\\x75\\x79\\xa9\\xa9\\xae\\xfe\\xd5\\xab\\xf7\\x5e\\x55\\xbd\\xae\\xae\\x7e\\x35\\x7a\\xe1\\xc2\\x8a\\xc5\\xc5\\x4b\\x97\\x96\\xae\\xc8\\x99\\x3d\\x7b\\x60\\x6b\\xd8\\xf4\\xe9\\x51\\x55\\xc6\\x09\\x13\\x82\\xa7\\xf0\\x05\\x05\\xca\\x61\\x3e\\xa9\\xa9\\xfe\\x99\\x8b\\x57\\xb4\\x56\\x4d\\x19\\x96\\x99\\x39\\x6c\\x4a\\x55\\xeb\\x8a\\xc5\\xaa\\xa6\\xc4\\xa6\\xba\\xd8\\x44\\x16\\x58\\x15\\x23\\x52\\x59\\xa4\\xff\\x79\\x3f\\xd6\\x5d\\x8f\\xf4\\x89\\x02\\xf6\\x63\\x84\\xed\\xc4\\x8a\\x8b\\xcd\\x1d\\x60\\xcd\\x49\\x92\\xff\\x06\\xc8\\x7f\\x4d\\xf2\\x5f\\xf7\\x75\\x55\\x9f\\xdf\\x7d\\xff\\xf6\\xbd\\xde\\xf7\\x77\\x42\\x1f\\x7c\\x77\\x7d\\xf4\\xe8\\x80\\x41\\x83\\x06\\xdc\\xc3\\xc8\\xff\\xf2\\x72\\xf3\\x72\\xe3\\x59\\x4a\\xcc\\x1b\\x08\\xff\\x7b\\x2a\\x2f\\x37\\x37\\x8f\\x9f\\xc0\\xa8\\x33\\x8c\\x65\\xf0\\x37\\x7b\\xca\\x3a\\x9f\\x1e\\x30\\x68\\xe0\\x40\\x2c\\x4c\\xde\\x62\\xd7\\xc4\\x99\\x8c\\xfe\\x8f\\x15\\xbe\\x87\\xa5\\xe8\\x7d\\x40\\xd2\\xe1\\x97\\x78\\x28\\x2f\\x2f\\xf7\\x34\\xfc\\x20\\x77\\x43\\x62\\x3a\\x03\\xeb\\x04\\x42\\x5e\\x1e\\x68\\xcd\\x77\\x96\\x40\\xea\\x81\\x01\\x03\\x06\\xf1\\x11\\x72\\x21\\x91\\x42\\xe2\\x0c\\xbb\\xed\\xf0\\xa0\\x01\\x83\\x52\\x21\\xc1\\xfa\\xf7\\x16\\xee\\x36\\x21\\x8e\\x5e\\xe1\\xb4\\xec\\x3d\\xb4\\x8f\\xe0\\xaf\\x53\\xe9\\x58\\xaf\\xb7\\x54\\x7a\\x06\\x18\\xb4\\x48\\x2e\\x8e\\x45\\xb2\\x1c\\x46\\xf8\\xd9\\xad\\xc7\\x16\\x8a\\xe2\\x4b\\x2f\\x8a\\x62\\xdb\\x11\\x7a\\xa5\\xe3\\x83\\xd9\\x2f\\x89\\x22\\xa1\\x2f\\xce\\x3d\\xdc\\x29\\x8d\\x3d\\x29\\x30\\xe6\\x6d\\x16\\x6e\\xc6\\x6f\\x74\\xc0\\xde\\x05\\xe2\\xc7\\xf3\\x24\\x30\\x48\\x8f\\xfd\\xa8\\xf7\\xd8\\x03\\x0f\\xe9\\x06\\xd2\\xc7\\xc6\\x53\\x84\\x9b\\xbb\\x85\\xc5\\x7b\\x3b\\x17\\xef\\x5f\\xbc\\x78\\x1f\\xd0\\x45\\xc2\\xcd\\x57\\x97\\xf3\\x45\\x8b\\xf7\\x2d\\x86\\x34\\x64\\x76\\xee\\x03\\x64\\xef\\x3a\\xe2\\x58\\x7c\\x7e\\x21\\x30\\x90\\xf8\\x45\\x44\\x40\\x4d\\xf1\\x09\\xfa\\x10\\xe8\\x5f\\xac\\x05\\x27\\x4e\\xfc\\x47\\x7f\\xe2\\x3f\\x7d\\x5e\\x77\\x61\\x9d\\x7d\\xfa\\x59\\x52\\x3f\\x3c\\xdc\\x50\\xf7\\x64\\x6d\\x2d\\x74\\x22\\xa4\\x63\\xaf\\x65\\xc8\\x73\\x0d\\xa8\\x37\\x73\\x28\\x83\\x76\\xb2\\x86\\xaf\\xa7\\x8b\\x40\\xa6\\xa1\\x4c\\x06\\x81\\x2a\\x7f\\xe8\\x7a\\x61\\xe1\\x26\\x6a\\xf0\\xe9\\xdb\\xe7\\x71\\xb7\\xa0\\x1c\\x25\\xd6\\xd4\\xeb\\xcb\\x5a\\xbe\\xfe\\x8f\\xb5\\x25\\xf3\\x4b\\xee\\x6e\\x9c\\x35\\x72\\x74\\x79\\x53\\x69\\x69\\x53\\xdd\\xe8\\xb1\\xd5\\xfc\\xf2\\x39\\x77\\x14\\x2d\\x1c\\x31\\x6b\\xc3\\xe8\\x91\\xb3\\x4a\\x9b\\x9a\\x4a\\x47\\x36\\xb6\\x70\\x0a\\xf2\\x1c\\x8c\\x75\\x5d\\x30\\xd6\\xf9\\x72\\x21\\x5c\\x3c\\x97\\xc5\\x15\\x70\\x6d\\x36\\x5b\\x80\\xb2\\x20\\x34\\x7a\\x60\\x5a\\x82\\x1f\\xc7\\x25\\x44\\x2b\\x85\\xc1\\x43\\x92\\x23\\x62\\x33\\x63\\x73\\xb3\\x9b\\xb3\\x89\\x3d\\x9b\\x8c\\xcc\\x26\\xa1\\xd9\\x24\\xdb\\x3a\\x48\\x17\\x5b\\x1d\\xdb\\x16\\x4b\\xd5\\x83\\x6c\\x1a\\xff\\xb2\\xd8\\x41\\xb1\\x83\\xa8\\x8e\\x2d\\xbc\\x07\\xb3\\x19\\xea\\x43\\xb6\\x9d\\x06\\xba\\x67\\x5a\\x55\\xa5\\x7e\\xbf\\xb5\\xb2\\x52\\xfa\\x66\\x54\\xda\\xf0\\xe8\\xd9\\xf2\\x2e\\x37\\x83\\x53\\xc5\\x72\\x49\\xf8\\x2d\\x9b\\x6a\\x00\\x97\\xc4\\xb6\\x67\\x04\\x72\\xa6\\x1c\\x8e\\x78\\x7d\\x38\\xaa\\xf0\\x4a\\xb3\\x70\\x9e\\x79\\x26\\xb6\\x9b\\x43\\xd9\\x25\\xde\\xdf\\xed\\x14\\x37\\x12\\x18\\x3e\\x79\\xf8\\xaf\\x6e\\xba\\xf8\\x9f\\xa3\\x1f\\xfc\\xf1\\x01\\x92\\x73\\xf4\\x18\\xc9\\x72\\xce\\xc8\\x34\\x9b\\x33\\x32\\xcc\\xe6\\x4c\\x72\\x28\\xdd\\x6c\\xb6\\x58\\xcc\\xe6\\x74\\xe7\\x7f\\xcb\\xef\\xde\\x50\\x3e\\xac\\xee\\xe5\\x97\\xeb\\xf8\\x32\\x11\\xa6\\x2c\\xd2\\xe4\\xbc\\x42\\x66\\x8b\\xf7\\xfe\\x70\\x8c\\xe4\\x90\\x8d\\x0f\\x1c\\x3b\\x2a\\xfe\\x87\\x90\\x01\\x64\\x8a\\x39\\xd3\\x7d\\x33\\xfe\\x15\\x5f\\xbf\\xed\\xb6\\xb8\\x57\\x5e\\xc1\\x75\\x2a\\x72\\x00\\x64\\xf6\\x00\\xca\\x8c\\xc5\\x20\\xcf\\xe0\\x1a\\x6c\\xf9\\xf1\\x7e\\xc6\\xe4\\xa8\\x10\\x63\\x88\\x12\\x26\\xee\\x4c\\x4b\\x4c\\x90\\x2e\\x5c\\x97\\x92\\xd1\\x9c\\x41\\xec\\x19\\x64\\x4c\\x06\\x19\\x9a\\x41\\x32\\xd2\\x12\\x75\\xba\\x68\\x5d\\xb5\\xae\\x4d\\x27\\xa8\\xc7\\x25\\x56\\x27\\xf2\\xba\\x44\\x5d\\xa2\\x06\\x44\\xb5\\x8f\\x89\\xa9\\x12\\xc4\\xf4\\x9f\\x1e\\x31\\xfd\\x27\\xc7\\xbd\\x7b\\xbd\\x67\\x2f\\x92\\x97\\x98\\x14\\xde\\x51\\xf7\\xbd\\xbf\\xa8\\x66\\x92\\x49\\x42\\xc9\\x3c\\xd0\\x47\\x32\\x4e\\xae\\x1f\\x61\\x3c\\xcd\\xe4\\x30\\xac\\x7c\\xc3\\xdd\\xe5\\xbd\\x85\\xb1\\xd4\\xab\\xe5\\xec\\xaf\\xf8\\xe1\\x2b\\xaf\\xc4\\xdd\\x76\\x1b\\x7b\\xb7\\x53\\xea\\x6a\\x57\\xfa\\x0b\\x83\\xb9\\x54\\x98\\x05\\x86\\xd8\\xe2\\x33\\xe3\\x72\\x7d\\xe2\\x7c\\x06\\xe5\\x67\\xaf\\x0a\\x7d\\x37\\xf4\\xe3\\x50\\xba\\x32\\x94\\x64\\x85\\x12\\x4b\\x28\\x09\\x4d\\xd3\\xa5\\x16\\xa6\\x8e\\x4b\\xa5\\xea\\x54\\xdc\\x5f\\xf5\\x21\\x6b\\x5b\\x2f\\xeb\\xb5\\x06\\x45\\x11\\x76\\x2c\\x60\\x30\\x7b\\xba\\x54\\xb2\\xd3\\x01\\xfd\\x79\\x15\\xb8\\xb7\\x89\\x49\\xaa\\xa4\\xbc\\xc4\\x24\\x8c\\x05\\x90\\x94\\x67\\x1a\\x98\\x67\\x72\\x7f\\x17\\xce\\xf6\\xbf\\xd2\\xdb\\x8a\\x8b\\xeb\\x87\\xbc\\x92\\xb1\\x6d\\x8a\\xf2\\xc8\\x11\\xc3\\x98\\x6d\\xd9\\x2f\\xc6\\x8f\\x1e\\x96\\x5b\\xdc\\xd5\\xf0\\x5a\\xda\\x8b\\x15\\xfa\\x23\\x47\\xfc\\xc6\\x6f\\x4d\\xfe\\x67\\xeb\\x82\\xe8\\xb5\\xdb\\x77\\xde\\xb6\\xb6\\xa6\\x7e\\x97\\x30\\xf8\\x98\\x32\\x29\\xe3\\xc5\\x8c\\x6d\\x0b\\x3a\\x86\\x2d\\xaf\\x81\\x42\\x61\\xa9\\x7a\\xf5\\xb1\\x63\\x86\\x51\\x5b\\x33\\xb6\\x35\\x2c\\x1f\\xb6\\xaa\\x1a\\x10\\xc6\\x6a\\x87\\xbe\\xe9\\x70\\xec\\xaa\\xad\\xfd\\x7f\\x8e\\x37\\x59\\x1b\\x3f\\xe0\\xc6\\x0b\\x89\\xc2\\x6a\\xe8\\x11\\x49\\xdc\\x68\\x5b\\x52\\x64\\xb0\\xd1\\xdf\\x3f\\x08\\x14\\x1f\\x1f\\x6f\\xf0\\x15\\x7c\\x93\\x53\\x8c\\x41\\x3a\\x2e\\x44\\x1f\\x32\\x3e\\x84\\x86\\x98\\xfd\\x39\\x6e\\x15\\xc7\\xab\\xb9\\x50\\x15\\x33\\xfa\\xaa\\xca\\x9c\\xfd\\x96\\x4a\\xab\\x67\\x5b\\xaf\\x67\\xdb\\x43\\x0e\\xdb\\xdd\\xeb\\x0e\\x2a\\x87\\x41\\x36\\xe5\\xa5\\x5a\\xf6\\x3e\\x24\\x96\\x45\\x42\\x90\\x1b\\x98\\x49\\xf8\\x0f\\xcb\\xe7\\x94\\x3c\\xbd\\x70\\xf1\\xc4\\x29\\xeb\\x67\\x13\\xce\\xc5\\x8d\\x86\\x41\\x92\\x8f\\x1b\\x34\\x33\\x7f\\xd9\\x84\\xa9\\x83\\x87\\xe6\\x57\\xf2\\xc5\\xbe\\xe5\\x4b\\xc7\\xac\\xf8\\xeb\\x94\\x89\\x4b\\xe7\\x6d\\xd2\\x3e\\x5e\\x2a\\x5e\\x21\\xca\\x52\\x7e\\x43\\x6e\\x75\\xfe\\x94\\xae\\x61\\x43\\x27\\x15\\x54\\x0f\\x60\\x6d\\xb8\\x81\\xbb\\x22\\x3c\\x03\\x6d\\x48\\xe7\\x06\\x71\\x25\\xb6\\xb8\\xac\\xe8\\xf4\\x98\\x24\\x93\\xc1\\x30\\x50\\x88\\x49\\x8a\\xc9\\x2f\\x48\\x8f\\x4e\\xb5\\x72\\xf1\\xab\\xe2\\xf9\\xf8\\x8c\\xf5\\xbe\\xc4\\x57\\x97\\x4a\\x24\\x35\\xed\\xab\\x94\\x3b\\xae\\x57\\xc0\\x28\\x0c\\x4f\\x8d\\xdf\\x45\\x41\\xff\\xcb\\x1b\\x88\\x01\\x5c\\xd8\\x17\\x29\\x41\\xac\\x9f\\x46\\xb3\\xc3\\xaf\\xd8\\x38\\xa8\\x92\\x4f\\x88\\x93\\x5a\\xa8\\x72\\x5b\\x24\\xd3\\x98\\xeb\\xee\\x34\\xb5\\x52\\xa9\\x8e\\x29\\x19\\x3c\\x2d\\x25\\x5e\\xab\\x57\\xea\\xfd\\x04\\xc1\\x3f\\x20\\x21\\x5e\\xfb\\xe5\\xa4\\x67\\x3a\\x3a\\x9e\\xfa\\xfb\\xd2\\x91\\x13\\x37\\xda\\x6f\\x5c\\x31\\xd5\\xbe\\xf4\\x46\\x81\\x4b\\x4b\\x53\\x68\\xd5\\x1a\\x16\\xab\\xc5\\xcf\\x3f\\x7c\\x48\\x5d\\x85\\xd5\\xac\\x51\\x2a\\x8b\\xa6\\xe7\\x7c\\x75\\xc3\\xbc\\xe5\\x4f\\x3f\\xb6\\x74\\xc9\\x93\\x69\\xe6\\xa5\\xf6\\xea\\xc5\\xcb\\xa7\\x4d\\xbd\\x11\\x7d\\xcc\\xc1\\xa0\\x17\\x85\\xf0\\x0e\\x17\\xc3\\x0d\\xb0\\x45\\x70\\xbe\\xbe\\x26\\x83\\xde\\x44\\x95\\x11\\xca\\x88\\xd8\\x38\\x4d\\xa8\\x4d\\xed\\x5b\\x16\\x6a\\x18\\x07\\x6e\\x0a\\x73\\x11\\x2b\\x61\\x34\\x72\\x7f\\x15\\x22\\x85\\x28\\x80\\x56\\x61\\x58\\x3f\\x13\\xee\\x0d\\x8b\\xe2\\xa3\\x49\\x4c\\x1e\\x0c\\xe6\\x43\\xe5\\xaf\\x70\\x06\\xe6\\xc1\\xa4\\x65\\x0e\\xad\\xf9\\xe3\\x1d\\xa5\\xfc\\x4d\\x53\\x1f\\xae\\xa7\\xe3\\x1e\\xbb\\x45\\xdd\\xfd\\x99\\xf2\\xc6\\xcd\\x53\\xa7\\x3f\\x69\\xbf\\xc9\\x5e\\xbf\\xf6\\x16\\xe1\\x9d\\x9a\\xbf\\xaf\\x5d\\x71\\xcb\\xc8\\x9a\\x55\\xaf\\x3f\\xfa\\x78\\x95\\x26\\x21\\xa1\\x76\\xf3\\x06\\xff\\xd7\\x57\\xcd\\xb4\\x3b\\x26\\x74\\xbe\\xc2\\xf8\\x1b\\xc2\\x81\\xe3\\x2b\\xec\\xe1\\x06\\x70\\x85\\xb6\\x18\\x8b\\x9a\\x70\\xea\\x90\\x28\\x45\\xb2\\x2e\\x59\\x97\\x9b\\x3c\\x30\\x3e\\x4d\\x6d\\x09\\x34\\x0b\\xbe\\xd1\\xbe\\xc4\\xe8\\x6b\\xf4\\x25\\xe1\\x9e\\x73\\x27\\x2b\\xd9\\x7e\\x70\\xf7\\xab\\x3b\\xa3\\x74\\x48\\x7b\\x0a\\xc9\\x1b\\x46\\x73\\x93\\xa4\\x79\\x87\\x31\\x97\\x63\\xf2\\x1c\\x12\\x17\\x14\\xa8\\xc2\\xc0\\x70\\xf2\\x39\\x7d\\xa0\\x8f\\x28\\x6a\\x12\\x4a\\xbb\\x5f\\x54\\xdf\\xda\\x59\\x9d\\xcb\\xe7\\x6f\\xb1\\x8f\\x5d\\x5d\\x7a\\x57\\xe5\\xb0\\x86\\x44\\x83\\xef\\xa6\\x05\\x1d\\x7f\\x1a\\x31\\x49\\x1f\\x9c\\xd4\\x52\\x32\\xea\\xa1\\x8e\\x41\\x8b\\xab\\x87\\x2a\\xb2\\xe7\\xad\\x5c\\x18\\x17\\x3e\\x70\\xc9\\xbd\\xe5\\x96\\x25\\x8b\\xcb\\x57\\x8c\\x6d\\x7f\\x84\\x58\\x8b\\x92\\x13\\x12\\xbb\\xee\\xfb\\xd3\\x9c\\x29\\x75\\xc9\\x54\\x5d\\x51\\xde\\xd1\\xf1\\xd7\\xec\\x09\\x2d\\x2b\\x1e\\x58\\x92\\x1b\\x84\\x72\\x6f\\x72\\x7d\\x0e\\xcf\\x32\\x5d\\xd0\\x47\\xd8\\xde\\x3b\\x6d\\x80\\x4a\\x15\\x10\\x1a\\xe6\\xe3\\x71\\x94\\x0d\\xe8\\xea\\x2a\\x32\\x89\\xc5\\x73\\x3a\\xa9\\xb4\\x97\\x9d\\x99\\xbe\\x3f\\xe1\\xeb\\x82\\x67\\x3c\\x3b\\x7d\\xcc\\xc0\\xb5\\x8d\\x53\\xd7\\x25\\xc6\\xde\\x39\\xad\\x76\\xdd\\xb4\\xb6\\xdb\\x57\\x9b\\xa6\\xbc\\x78\\x7e\\x59\\xc3\\xea\\xe2\\x39\\xb7\\x2d\\x5c\\xd2\\xb9\\xc8\\x51\\x37\\xe5\\x5f\\xb7\\x3d\\x7f\\x18\\xea\\x2a\\x76\\x9d\\xa3\\x07\\x41\\x86\\x7e\\x5c\\xb4\\x8d\\x85\\xd6\\xf7\\xa1\\x3e\\x54\\xeb\\x3f\\xc6\\x87\\xf8\\xb0\\x8d\\x94\\x3d\\xdf\\xf9\\xb0\\x8f\\xdf\\x38\\x93\\x92\\x53\\x25\\xf2\\x89\\x49\\x03\\x39\\x5e\\x55\\x46\\x34\\x4b\\x4b\\xc4\\xff\\x4c\\x4c\\x78\\xf9\\x9e\\xc9\\x1d\\xf0\\xa0\\xb0\\x67\\xb9\\xf8\\xc7\\xdb\\x4a\\xc5\\x96\\x7b\\x46\\x12\\xc5\\xeb\\x4d\\xb7\\x11\\xbb\\xf4\\x9c\\xb2\\x8b\\x8b\\xa4\\x83\\xa1\\xaf\\x84\\x72\\x99\\xb6\\x20\\xde\\xdf\\x3f\\xd4\\x47\\xa1\\x08\\x0c\\x0d\\x0d\\x0b\\xd7\\xaa\\xd5\\x6c\\x23\\xab\\xc9\\x00\\x7d\\x7b\\x5f\\x65\\xbe\\xe5\\x9a\\xef\\xdc\\xac\\x41\\x4c\\xe2\\xaa\\x38\\x0c\\x68\\xe4\\xbd\\x07\\x90\\x7c\\x5e\\xfe\\xc0\\xbc\\x2a\\x4b\\xfe\\x42\\xdb\\xdd\\x73\\xf2\\x0b\\x96\\x57\\xa4\\x67\\x0a\\xab\\x1b\\xb6\\xdf\\xfd\\xe4\\x7d\\x5d\\xab\\x96\\x2c\\x79\\xc4\\x57\\x54\\x2e\\xfb\\xe3\\xc0\\xcc\\xb1\\x1d\\x78\\x2e\\x39\\xd1\\xbb\\x0e\\x0b\\x17\\x84\\x5b\\xb9\\x08\\xce\\xcc\\xd5\\xd8\\x06\\x44\\xea\\x74\\x41\\x61\\x51\\x2a\\x3f\\x3f\\x2e\\x8c\\x8b\\x89\\xf5\\x8f\\x9c\\x12\\x49\\x86\\x47\\x92\\x48\\x6d\\xd4\\xc0\\x28\\x92\\x10\\xc5\\xbc\\x1e\\x1a\\x45\\xd4\\x51\\x11\\xe6\\xf0\\x69\\xe1\\x24\\x3c\\x3a\\x22\\xc4\\xe8\\xc3\\x9e\\x07\\xe0\\x3f\\xab\\x15\\xa7\\x8f\\x2a\\x69\\x1e\\xb1\\xe2\\x64\\xe2\\x1d\\xee\\x58\\x9a\\x6e\\xbd\\xc2\\x6e\\x18\\x14\\x1e\\xa6\\x4d\\xf0\\x2b\\x81\\x24\\xe4\\x2a\\x84\\x0b\\x03\\x97\\x8d\\xca\\xcf\\x5f\\x5a\\x91\\x95\\xea\\xfc\\xe0\\xb6\\xf6\\xfc\\x82\\x1b\\xc7\\x65\\x64\\xf0\\xaf\\x38\\xd7\\xf3\\x89\\xce\\x0f\\x48\\x49\\xc5\\x82\\x49\\x03\\x2d\\x37\\xb4\\x19\\xc9\\x1b\\xf7\\x8a\\x8b\\x17\\x3d\\x98\\x9b\\x51\\xbe\\x84\\x06\\xf0\\x5f\\x6f\\x11\\x67\\xdd\\xbb\\xe8\\x7e\\xc9\\x87\\x89\\x72\\x0d\\xa2\\xa7\\x14\\xfb\\x70\\x4d\\x78\\x9c\\x2d\\x5d\\xeb\\x63\\x54\\x44\\x47\\xeb\\xd4\\xbe\\x01\\x42\\x44\\x44\\x30\\x09\\x0b\\x09\\x0f\\x0f\\xf3\\xf5\\x11\\xcc\\x31\\x54\\x63\\xd2\\x07\\x1b\\x23\\xfd\\xb4\\xe1\\x61\\xd1\\x82\\x5a\\xa3\\x55\\x05\\xa9\\x58\\x07\\x90\\x3e\\x9c\\x76\\x7b\\x09\\x56\\xef\\xcf\\xaa\\xf1\\x83\\xe1\\x38\\xe0\\x3a\\x8e\\x45\\x30\\xc3\\x7f\\xd6\\xa0\\x04\\x28\\xc7\\x22\\x9b\\xe5\\x29\\xe0\\x02\\x3d\\xb5\\x7f\\x85\\x78\\x70\\xc5\\x7e\\xf8\\xdf\\x0a\\x92\\xc9\\xfe\\x8a\\x2f\\x88\\x07\\xc9\\x93\\x55\\xe2\\x56\\x12\\x7a\\x97\\xf8\\x1c\\x09\\x9f\\x71\\x7c\\x06\\x79\\x89\\x91\\xac\\xee\\xbb\\x48\\xa9\\xf8\\x65\\xd5\\xf1\\x2a\\x71\\xf4\\xcc\\x0d\\x64\\xdb\\x5d\\xa2\\xfc\\x0d\\x56\\x28\\x0b\\x6e\\x86\\xb1\\xab\\xe7\\xd9\\x06\\x87\\x47\\x47\\x86\\x12\\xe2\\xa3\\x8c\\xf6\\xa1\\x31\\xe6\\x10\\x8c\\xbb\\x2b\\x85\\xdd\\x8d\\xd4\\x46\\x60\\xc8\\xdd\\x50\\x43\\x4f\\xb8\\xdd\\x20\\xca\\x62\\xed\\x2a\\xd4\\x6a\\x52\\x63\\x57\\xcb\\x41\\xa1\\xa4\\x98\\xef\\xee\\xb0\\x3f\\x3d\\xb1\\x70\\xfa\\xf9\\xfe\\xcf\\x10\\x93\\x23\\x7d\\xa1\\xd5\\x2b\\xaa\\x2e\\x34\\x4d\\x7a\\xb5\\xc7\\xfb\\x10\\xc3\\xe1\\x86\\x09\\xd3\\x13\\xaf\\x8e\\x62\\x61\\x73\\x5f\\xfc\\x07\\xff\\xc2\\x3b\\xe4\\xff\\x89\\x8b\\xc9\\xff\\x23\\x67\\xc4\\x3f\\x04\\x12\\x93\\x38\\x67\\x54\\x38\\x59\\xd5\\xfc\\x52\\x33\\x69\\xc3\\xb0\\x95\\x1b\\x20\\x09\\xed\\x49\\x06\\xa5\\x04\\xb3\\x33\\xf6\\xb8\\x99\\x36\\x03\\x08\\x9b\\x85\\xeb\\x1c\\x67\\x67\\x11\\x3c\\xc7\\xd9\\x05\\x3d\\xfb\\x58\\x22\\x5a\\x63\\x28\\xd3\\xeb\\x39\\x16\\x6a\\x90\\x67\\x41\\x06\\x7d\\x43\\x42\\x82\\x2b\\xec\\xe0\\x0d\\x6b\\x7d\\xb5\\x15\\x76\\xdf\\x20\\x4f\\x78\\xab\\x9e\\x00\\x83\\x56\\x18\\x4c\\xbd\\x63\\x6a\\x4b\\x51\\x3b\\xdd\\x51\\x14\\xfb\\xc4\\x05\\x7e\\xa6\\x11\\xfe\\x37\\x4b\\x34\\x36\\x35\\xc0\\xff\\x6a\\xc8\\x6a\\x3a\\xad\\x79\\x74\\xb3\\x18\\xc1\\xc2\\x20\\x93\\x33\\x90\\x24\\xc7\\x31\\x16\\x32\\x8b\\x5f\\x2a\\xc9\\x5e\\x0f\\x8f\\x78\\xec\\x3c\\x19\\xfe\\x11\\x2e\\xce\\xf9\\x38\\xd8\\x94\\x16\\xc6\\xf9\\xbf\\xe3\\xb7\\x79\\x66\\x6e\\xba\\x2d\\x3b\\xd0\\xc0\\xb4\\xa2\\x54\\x86\\x19\\x68\\x6c\\x0c\\x17\\x59\\x63\\x8f\\x50\\x6b\\xd4\\x35\\xf6\\x50\\x0d\\x3c\\x86\\x6b\\x04\\xad\\x36\\xa4\\xc6\\xae\\xf5\\xad\\xb6\\x6b\\x29\\x51\\x0a\\xca\\x6a\\xbb\\xd0\\x3b\\x40\\x17\\x46\\xa5\\x75\\x6b\\xa1\\x8f\\x0a\\x7a\\x98\\x97\\x62\\xc4\\xea\\x63\\x30\\x48\\x07\\x86\\x03\\x67\\xae\\xb5\\x2f\\x0b\\xb9\\xb5\\x63\\xc7\\x66\\x7e\\x1c\\x89\\x24\\x61\\x62\\xf0\\x13\\x9d\\xf7\\x8d\\x7b\\xe3\\x8d\\x89\\x6b\\x57\\xf0\\xfe\\x52\\x80\\x2d\\x2a\\x2c\\xfb\\x5f\\xd8\\xa8\\xd7\\xf7\\x89\\x33\\xc9\\xa6\\x3f\\xad\\x3c\\xbf\\xec\\xfc\\xed\\xac\\x4f\\xc4\\x89\\xa5\\x8a\\x63\\xc0\\x7f\\x14\\xf8\\x14\\xd5\\xb6\\x01\\x7e\\x9a\\x68\\xa5\\x56\\x1d\\xaf\\xd3\\x45\\x45\\x99\\xd4\\x4a\\x8d\\x22\\x25\\x39\\x38\\x3c\\xdc\\x58\\x63\\x0f\\x0f\\x57\\xfb\\xc7\\xfb\\xd7\\xd8\\xe3\\xe3\\xfd\\x78\\x3f\\x0d\\x0b\\xac\\xcb\\xc7\\xd5\\xd8\\x59\\x6c\\x16\\x16\\x9a\\x25\\xcd\\xeb\\x2c\\x09\\xb7\\x42\\xfa\\xf9\\xa8\\x3e\\x40\\xe6\\x5c\\x21\\x05\\x3b\\xc4\\xe0\\xb6\\xee\\x30\\x4b\\xd0\\xd7\\x3d\\xc1\\x6b\\xdf\\xd9\\xcc\\xaf\\x26\\xc9\\x24\\x5e\\xbc\\x48\\x9a\\x36\\x88\\x15\\xe2\\xff\\x7b\\x7c\\xc6\\x88\\xd4\\xd2\\x80\\x28\\x7b\\xf2\\xba\\xf1\\x27\\x2e\\xf2\\x9f\\xdf\\xf8\\xd7\\xdb\\x37\\x6c\\xbc\\x89\\x05\\x60\\x79\\x71\\xbb\\xf8\\xf1\\x04\\x51\\x1f\\x3e\\x8a\\x1f\\xe4\\x1c\\x58\\x55\\x13\\x66\\x7a\\x5e\\x7c\\xd7\\xcf\\xf8\\xdf\\x0f\\xe8\\x2b\\xf7\\x2d\\x72\\x1e\\x59\\xc5\\x09\\x5c\\xb1\\xb8\\x86\\x7e\\xa2\\xc8\\xc4\\xb8\\x61\\x2c\\x86\\x75\\x97\\xad\\x38\\x83\\x57\\x69\\x33\\x33\\x23\\x92\\x92\\x42\\x42\\xe2\\xb4\\xbc\\x90\\x9d\\x93\\x96\\x9a\\x9c\\x60\\x4e\\xb8\\xc1\\x9e\\x99\\x5c\\x61\\xe7\\x94\\x66\\x4b\\x66\\x90\\x56\\xa7\\x8d\\xd6\\xf2\\x7e\\x34\\x53\\x9b\\xa9\\x35\\xc4\\xd8\\xcc\\xc1\\xe1\\x21\\x15\\xf6\\xf0\\xa0\\x00\\x83\\x41\\x53\\x61\\x37\\xe8\\x71\\x13\\x8b\\xfe\\x4d\\x39\\xc0\\x92\\xa7\\x13\\xe1\\xf1\\x09\\xf9\\x69\\x9e\\xa3\\x34\\xdc\\xfa\\x93\\x4f\\xa3\\x4b\\x64\\x0f\\x9b\\x79\\x01\\x52\\x00\\xa9\\x5c\\x98\\x75\\x58\\x9c\\x6f\\xe9\\x14\\x0a\\xe6\\x62\\xd2\\x38\\x74\\x93\\x0d\\x3a\\x92\\xa7\\x0c\\x22\\xb9\\x2a\\xa2\\xd9\\x73\\xc3\\x43\\x8f\\xd4\\xc5\\xe4\\x4d\\x6a\\x4e\\x2c\\xfe\\xe3\\x9d\\xa3\\x07\\xae\\x98\\xbf\\x66\\x47\\x95\\xf8\\x78\\x70\\x7e\\xc9\\x84\\xcc\\x1b\\x5b\\x49\\x48\\x40\\x68\\xc9\\xf8\\x11\\xaf\\x96\\x94\\x10\\x2e\\xc1\\x37\\xf9\\xdc\\xac\\x15\\xc3\\x94\\x24\\x22\\x7c\\xc0\\xa2\\xd3\\x26\\x3f\\x9e\\xb4\\x89\\xab\\xb3\\x76\\x38\\x1f\\x0e\\x29\\x2e\\x4b\\x8c\\x0e\\x22\\xe2\\xfd\\xe4\\xbf\\x3e\\x71\\x64\\x3c\\xfd\\x68\\x77\\xd2\\x5a\\x92\\x34\\x7b\\x8e\\x34\\x1e\\x9a\\x41\\x36\\x36\\x90\\x4d\\x38\\x68\\xbf\\xd8\\x16\\x13\\xe1\\x4f\\xa9\\x39\\x3a\\xc2\\x9f\\xd0\\xb0\\x30\\x9f\\xc0\\x90\\x10\\xe3\\x0d\\x76\\x2e\\x24\\x58\\x11\\xe5\\x13\\x35\\xce\\xee\\xa7\\x56\\xf9\\xe8\\x58\\xdc\\xa1\\x37\\x25\\xfd\\xee\\x72\\x07\\xb2\\x37\\xb9\\xe7\\x9e\\xec\\xac\\x70\\x82\\xc1\\x8c\\x31\\x74\\x71\\x80\\x55\\x76\\x1d\\x83\\x98\\x6e\\x93\\x28\\xc9\\x8b\\x33\\x3f\\x97\\xbb\\x6c\\xc3\\xa2\\xfb\\x3a\\x1f\\x9a\\x2f\\x2e\\x87\\x47\\xfd\\xb1\\x51\\x1b\\x86\\x4c\\x2a\\xd8\\x48\\x2c\\x63\\xc7\\x8a\\x6b\\xc8\\x4b\\x83\\xeb\\xf8\\x39\\x45\\x49\\x87\\x0f\\x93\\x9b\\xba\\x87\\xff\\xa1\\xa8\\x58\\x3f\\x39\\x28\\x36\\x58\\xbc\\x99\\xba\\xde\\x60\\x7d\\x4f\\x1c\\xa3\\x34\\x29\\x86\\x1a\\x95\\xc2\\x44\\xe9\\xbb\\x41\\xf1\\x21\\x61\\x12\\x8c\\x1b\\x66\\xae\\xc8\\x16\\x63\\xd0\\x50\\x12\\x12\\x12\\xa9\\x89\\x8c\\x8d\\x31\\x47\\x55\\xd8\\xcd\\x5c\\x88\\x41\\x13\\x19\\x1e\\x59\\x61\\xd7\\x69\\xc3\\x83\\x82\\xa8\\x12\\x63\\xb0\\x17\\xbe\\xe9\\x09\\x75\\x96\\xe6\\x3d\\xf3\\xb0\\x8e\\x15\\xa8\\x02\\x0f\\xc5\\xcc\\x82\\xad\\xb3\\xa0\\xbe\\xd7\\x9c\\x07\\x42\\xb6\\x2a\\x47\\xdc\\xb9\\x80\\x08\\x55\\xda\\x96\\xdb\\xde\\x9b\\x34\\xb2\\xb8\\xbc\\x9c\\x85\\x54\\xaf\\x51\\xdc\\x21\\xb6\\x14\\x4f\\x8f\\x2b\\x93\\xc2\\xa9\\xc3\\x33\\x4a\\x83\\x14\\x52\\x3d\\xd6\\x59\\xc4\\x46\\x0f\\xe1\\x58\\x88\\x74\\x8e\\x28\\xe3\\x3d\\x05\\xcf\\xab\\x99\\x66\\xb3\\x68\\xd4\\x42\\x28\\xef\\x43\\x43\\xfc\\xfc\\x0c\\x06\\xca\\x0b\\x42\\x64\\x44\\xa8\\x89\\x37\\xb2\\x88\\x7d\\x34\\xc4\\x87\\xea\\xc2\\x03\\xa9\\x9f\\x00\\xa3\\x76\\xb5\\x5d\\x67\\xd4\\x18\\x55\\xe1\\x5c\\xa1\\x57\\x28\\x51\\xe9\\x03\\xda\\x6b\\x22\\x88\\x4a\\x21\\x44\\x35\\xc4\\xc4\\x98\\x27\\x5e\\x81\\xe1\\x61\\x74\\x76\\x87\\x0e\\xe5\\x2b\\x96\\xc7\\x2d\\x5f\\x7d\\xaf\\xe8\\xdb\\xc1\\xc2\\x86\\xb2\\xa0\\xa1\\x7c\\xbd\\x1c\\x33\\xd4\\x69\\x08\\x17\\x79\\xf2\\x02\\xff\\x87\\x06\\xd1\\x13\\xc5\\x68\\x54\\x98\\xf3\\x23\\x3e\\x36\\x6c\\x94\\x47\\xd6\\xf3\\x41\\xd6\\x11\\x9c\\xdd\\x96\\x65\\xd0\\xf0\\x2a\\xa3\\x9a\\x04\\x82\\x13\\xa2\\x56\\x69\\x84\\xa8\\xc8\\x88\\xb0\\x0a\\x7b\\x04\\x17\\x68\\xd0\\x84\\x9a\\x42\\x2b\\xec\\x6a\\x62\\xa4\\x82\\x4e\\x6b\\x0a\\x52\\xf1\\x02\\x5f\\x61\\x17\\x74\\xee\\xc1\\xed\\xcd\\x1e\\xf6\\x7b\\xc7\\xbd\\x77\\xef\\x41\\xc5\\xf8\\x4c\\x3a\\xe2\\xd1\\x01\\x55\\x05\\xf5\\xc8\\x9f\\xb4\\x35\\x90\\xa6\\xb9\\x1f\\x93\\xe1\\x93\\x40\\x05\\xbb\\xf3\\x5e\\x6b\\xaf\\x14\\x53\\xec\\xa0\\x80\\xee\\x81\\x64\\xbd\\xa9\\xb8\\x38\\xf8\\xbc\\xf3\\xa2\\x5b\\x03\\x64\\xd4\\xf8\\x1f\\xbc\\xc4\\x0f\\xfc\\xd7\\x89\\x63\\x84\\x0f\\x40\\xfe\\x7a\\x6e\\x98\\xcd\\xac\\xd7\\xf2\\x3e\\xbe\\x1c\\xa7\\xf2\\xd1\\x0a\\x46\\x83\\x2e\\xdc\\x87\\xaa\\x69\\x8d\\x5d\\xa5\\xa6\\xc4\\x97\\x83\\x41\\x99\\x33\\x7a\\x9d\\x62\\xc1\\x49\\x41\\x6f\\x7a\\x22\\x97\\x5a\\x73\\x89\\x1c\\xb8\\x34\\x88\\xc4\\x30\\x36\\xeb\\xf8\\x4f\\xbf\\x3e\\x5d\\x19\\x6d\\x17\\xfc\\x9c\\x41\\x34\\x34\\x76\\xf9\\xea\\x85\\x42\\x6d\\xe0\\x21\\x72\\xc3\\xec\\xab\\xf7\\xa6\\x8b\\x3a\\xf2\\x82\\x54\\x7f\\xb2\\xf8\\x10\\xad\\xa1\\x9b\\x39\\x03\\x37\\xc8\\x16\\xa9\\x17\\x94\\x3a\\x4e\\x07\\x8f\\x19\\xc6\\x00\\x9d\\x4a\\xab\\xaa\\xb0\\xfb\\x69\\x75\\x0a\\xbd\\xa0\\xaf\\xb0\\xf3\\x02\\xcc\\x65\\x6f\\x7a\\xd5\\xee\\x15\\x78\\x2f\\x06\\x43\\x4d\\x13\\x29\\xd4\\x10\\x56\\x4f\\x6b\\x40\\x12\\xce\\x3d\\xe4\\xd9\\x39\\x83\\x9a\\x03\\xa3\\xcb\\xf8\\x0f\\xc4\\xf1\\x30\\xd3\\x82\\x04\\x32\\x68\\x42\\x80\\xfe\\x41\\x12\\x92\\xdd\\x7d\\x12\\xfa\\xf7\\x28\\xd7\\x79\\x65\\xa5\\xa2\\x9c\\xf3\\x05\\x8f\\x01\\xbc\\x7c\\x8d\\x9f\\x5f\\x04\\x0d\\x88\\x08\\x88\\x81\\x4e\\x5e\\x6d\\x8f\\x36\\xfa\\x85\\xea\\xc2\\x68\\x30\\x57\\x63\\x0f\\x16\\x74\\xca\\x1a\\xb0\\xb9\\x9e\\x0d\\x80\\x30\\xa4\\xf5\\xda\\x55\\xcd\\xbe\\xe7\\xe5\\x0d\\x7a\\x23\\x0b\\x7c\\x63\\x48\\x0c\\x60\\x7d\\x3a\\x1e\\x4f\\x34\\x01\\xf7\\x39\\xcf\\x8a\\x47\\x13\\x4c\\x3a\\x7b\\xec\\xd0\\xc1\\xd1\\x0f\\x66\\xce\\x5f\\x31\\x6a\\x7d\\xe5\\x09\\xf1\\xf9\\xe7\\xc9\\x5a\\xb2\\x68\\xe1\\x86\\x84\\x13\\x05\\x87\\x45\\x3f\\xe1\\x23\\xf1\\x94\\x78\\x48\\x3c\\x2f\\x1e\\x4f\\x08\\x17\\x02\\xb2\\xaf\\xe6\\x85\\x18\\xfe\\x4c\\x72\\xde\\x25\\x53\\xc8\\xac\\x10\\xa5\\xee\\x6a\\x52\\xf8\\x28\\x5c\\x97\\x77\\x9d\\x17\\x76\\xd2\\xdd\\x5c\\x30\\x97\\x67\\x8b\\x54\\xab\\x74\\xfe\\x1a\\x8d\\x2e\\x88\\x86\\x98\\x02\\xe8\\x78\\x3b\\x17\\xa0\\xd7\\xf8\\xfb\\xfa\\xc3\\xa4\\xaf\\xd7\\xa9\\x83\\xdd\\xbb\\xcb\\xa5\\xd8\\xc2\\xee\\x81\\x96\\xc5\\xf9\\x62\\x8b\\x0e\\x2a\\xf6\\xc6\\x9d\\xf5\\x80\\x70\\xc2\\x7c\\x7b\\x53\\x90\\xd0\\x65\\x09\\x4e\\x4e\\x2c\\x8c\\x10\\x5f\\xee\\x12\\x3b\\x8b\\xc9\\x27\\xf3\\xbf\\xd9\\x6c\\x59\\xd9\\x38\\x71\\x1c\\xbf\\x67\\xb9\\xde\\x62\\x73\\xaa\\x68\\x13\\x18\\x4d\\x98\\xf3\\x33\\xf2\\xf7\\x45\\x6d\\xd1\\x27\\x51\\x6f\\x91\\xae\\x4f\\xd4\\xdb\\x40\\x76\\x91\\x5c\\xbe\\x2d\\x92\\xf3\\x8f\\x8e\\x0a\\x17\\x6a\\xec\\x24\\x1c\\x1e\\x10\\xf5\\xe0\\x69\\x99\\xc0\\x15\\x09\\x0a\\xd2\\xea\\x05\\x1f\\x29\\x8e\\x38\\x3b\\x3b\\x27\\xdf\\x60\\xf5\\x62\\x09\\x97\\x19\\x31\\x48\\x8e\\x3f\\x01\\x7e\\x34\\x6e\\x96\\x34\\xc4\\x4a\\x30\\xae\\xab\\x49\\xbd\\x6d\\x7c\\x6c\\x54\\x4e\\xee\\xf0\\x82\\x60\\xf1\\xa9\\x2e\\x71\\x8b\\xf8\\xc2\\x32\\xb1\\x84\\x85\\x03\\x87\\x47\\xbf\\x82\\xe5\\x64\\xf0\\xb3\\x99\\x5b\\xee\\xac\\x1d\\x27\\xc4\\x3c\\x18\\x9c\\x34\\x61\\xc4\\xd5\\xfd\\x74\\x70\\xf7\\x6e\\xe1\\x07\\xd6\\x39\\xbb\\x3f\\xa1\\xfa\\xee\\x8b\\xfc\\xf8\\x87\\x37\\x45\\x03\\x9f\\x4a\\xd0\\xb1\\x83\\xb2\\x78\\x0f\\xc0\\xa7\\x5f\\x78\\x54\\x64\\x28\\x13\\x56\\xa8\\xde\\xcf\\xe0\\x6f\\xa8\\xb0\\x07\\x19\\x8d\\x9a\\x80\\x00\\x5f\\x7f\\xbd\\xda\\x37\\xf8\\x47\\xf8\\x74\\x4b\\xcd\\xb7\\x47\\x70\\x56\\xb7\\xec\\x94\\xc3\\x40\\x76\\x29\\x25\\x21\\xe2\\xf9\\xae\\x23\\xef\\x77\\x89\\xcf\\x97\\x92\\x03\\xf3\\xff\\xfd\\x41\\xf5\\xb1\\xf5\\x89\\x6b\\x9a\\x25\\x09\\x66\\x14\\x39\\x95\\xbc\\xce\\xf9\\x8d\\x2c\\xc5\\x73\\xbc\\xc9\\xf9\\x39\\x79\\x72\\x41\\x7b\\x34\\xb3\\xc1\\x08\\xd0\\x29\\x47\\x5f\\x05\\x9d\\x9a\\xb9\\x31\\xb6\\x54\\x1d\\x3c\\xeb\\x07\\x6b\\xc3\\x4d\\x2a\\x41\\xa5\\xe0\\xc3\\x83\\x95\\xb1\\x31\\xc1\\x86\\x00\\x60\\x34\\x54\\xa7\\xe0\\xa9\\x82\\x04\\xe8\\x7c\\x60\\x0c\\xf7\\xd1\\xeb\\x49\\xb0\\x7b\\xd3\\x66\\x4f\\xe4\\x00\\xcf\\xa0\\xc1\\x1e\\x90\\x15\\x71\\x94\\x2d\\xc7\\x78\\x1e\\x33\\xc3\\x25\\xc6\\x15\\x81\\x26\\xe9\\xf4\\x2e\\x25\\x5f\\xd2\\x75\\xf8\\x99\\xb4\\x2d\\x59\\xb7\\x76\\x54\\x37\\xad\\xb8\\xe9\\x58\\x2b\\xb1\\x96\\x38\\x8f\\x99\\x87\\x04\\x87\\x9a\\x82\\x03\\xc9\\xd1\\xe9\\xd3\\x67\\x74\\x4c\\xac\\x6b\\x9f\\x3c\\xa2\\x7a\\xb6\\xf8\\x31\\x1f\\x06\\x8c\\x07\\xe6\\x24\\x8c\\xca\\x1f\\x60\\x8a\\x8f\\x93\\xfa\\x2d\\xfc\\x11\\xbe\\x40\\xbf\\x6e\\x9c\\x2d\\xc5\\x9f\\xe7\\x55\\x3a\\x8e\\x33\\xaa\\x8c\\x81\\x30\\x9f\\x41\\x57\\xf1\\x07\\xc7\\xda\\xdf\\x5f\\xe1\\xa3\\x55\\xfb\\xa8\\xab\\xed\\x3e\\x94\\x57\\x29\\x54\\xe0\\x5f\\xf7\\x78\\x73\\xc8\\xf1\\xb5\\xf1\\xa4\\xe4\\xd7\\x53\\xde\\x83\\x34\\x1e\\xeb\\x22\\xb4\\x3b\\xff\\x78\\xd2\\x39\\xf2\\xd1\\xcd\\xfc\\x9b\\x27\\xf9\\x96\\x68\\xbb\\x9d\\x5f\\xe6\\xfc\\xdc\\x33\\x1e\\x87\\x8b\\xfa\\x27\\xc5\\x21\\x12\\x5f\\x03\\x39\\x8e\\xfe\\x95\\x3e\\x05\\x7c\\x4d\\xb5\\x65\\x6b\\xc1\\xd5\\xf4\\x0f\\x08\\x30\\x28\\x0d\\x81\\x41\\x5a\\x8e\\x4d\\x79\\xd1\\xda\\x71\\xda\\x6a\\x6d\\x9b\\x56\\xe1\\x47\\xb5\\x5a\\x41\\xe3\\xa7\\xd2\\xc0\\x28\\xa3\\xd1\\x31\\x6f\\x13\\x06\\xe4\\xa0\\x9f\\xc5\\x9f\\x87\\xbd\\x04\\x37\\x7b\\x49\\xe4\\xc5\\x3b\\x9c\\xdf\\x56\\x57\\xf3\\xda\\x3b\\xc8\\x8a\\xc4\\x31\\x63\\x12\\xc9\\x56\\xf1\\x71\\xf7\\x59\\x21\\xa4\\x38\\x44\\x7c\\xf5\\x31\\xb1\\xf2\\x71\\xf4\\x29\\x60\\xcc\\x11\\x5e\\xa4\\x6f\\xa2\\xbe\\x07\\xda\\x22\\x4d\\x81\\x51\\x5a\\x1f\\x4a\\x55\\xda\\x40\\x21\\x36\\xc6\\x10\\x36\\x0e\\x9c\\x27\\xa5\\x3e\\x4a\\xcb\\x69\\xe5\\x53\\x19\\xdc\\x9b\\x36\\xbd\\x47\\x5a\\x85\\x99\\xcb\\xc5\\x13\\xfe\\x09\\x1e\\x2d\\x25\\x6b\\x98\\xf3\\x8a\\x5b\\xb8\\x5c\\xfc\\x42\\xfc\\xe4\\xf8\\xd9\\x09\\xa3\\x1a\\xe7\\xdd\\xba\\xea\\x89\\x3d\\xe2\\x21\\xb5\\x75\\xd8\\xc0\\xcc\\x39\\xb3\\x03\\x09\\xf9\\xea\\xc4\\x85\\xc8\\x99\\xe6\\x17\\x5f\\x7a\\x65\\x87\\x3f\\x3f\\xe2\\xae\\x47\\xba\\x0f\\x7d\\x2f\\x7e\\x41\\x7e\\xd8\\xf5\\xf2\\xec\\x06\\xe7\\x1b\\x7e\\x3b\\x25\\xbf\\x27\\x87\\x5b\\xca\\x77\\xd1\\x9b\\xf0\\x5d\\x62\\xba\\xcd\\xa4\\xc0\\x77\\x98\\x6a\\x8d\\x86\\x84\\x12\\x5e\\xa9\\x0a\\x56\\xf1\\x44\\x45\\x15\\xd2\\xc1\\xba\\xf9\\x95\\x95\\x5e\\x6b\\x83\\xec\\x4b\\x44\\x03\\xfc\\xe3\\xbb\\x9c\\x2f\\xf3\\x23\\xd9\\x3f\\xfe\\x80\\xf8\\xe1\\x73\\xe0\\xa9\\x46\\xe0\\x1f\\x8e\\x77\\x65\\x09\\x9b\\xb8\\x77\\x55\\xa9\\x80\\xad\\xe3\\xfc\\xb7\\xfa\\x08\\x02\\x61\\xab\\xce\\xf9\\x16\\x0c\\x6b\\x0e\\x03\\x79\\x4e\\xcf\\x7a\\xd4\\xb8\\xd5\\x64\\xf5\\x13\\x96\\xb2\\xd2\\xec\\xac\\xd2\\x91\\xaa\\x54\\xe7\\x12\\xf2\\x6a\\x89\\x35\\xab\\xb4\\x34\\x2b\\xbb\\x14\\x70\\xc6\\x08\\x97\\xc9\\x12\\x55\\x82\\x8c\\x03\\xc6\\xe8\\xc3\\x63\\x30\\x19\\x0b\\x0b\\xc4\\x4a\\x92\\xf2\\xbc\\xc3\\x2b\\x44\\xce\\x10\\x07\\xce\\x68\\x85\\x5b\\xb3\\xb3\\x4b\\x4a\\x55\\xf8\\xeb\\x6c\\x69\\x56\\xce\\x88\\x11\\x39\\x59\\xa5\\xd0\\x5e\\xf1\\x35\\xc5\\xed\\xa4\\x44\\x95\\x86\\x58\\x7e\\xcf\\xab\\xb4\\xec\\x9c\\x62\\xeb\\xbe\\x1c\\xe9\\x3b\\x52\\xef\\x30\\x88\\xa4\\x84\\x71\\x31\\x32\\x4b\\xe2\\x42\\xa9\\x5d\\xbd\\xfa\\x89\\xec\\x52\\xe4\\x8f\\xd9\\x9e\\x78\\x46\\x98\\x4c\\x22\\x14\\xef\\xc3\\x83\\x90\\xcf\\x16\\xca\\xb1\\xa3\\x18\\xf7\\xe1\\x66\\x7f\\xab\\x21\\x46\\x3c\\x43\\xfe\\xb6\\xc1\\xf9\\x96\\x70\\xea\\x92\\xb8\\x52\\x7a\\xa7\\x4c\\x3f\\xa7\\x7f\\x50\\x2d\\x86\\xc7\\x9e\\x10\\x9b\\x86\\xfa\\xfa\\xb0\\xc3\\x8a\\xd5\\x9e\\xc3\\x8a\\xa5\\xe7\\x32\\x69\\x9d\\x11\\x06\\x44\\xfa\\x07\\xf1\\xd4\\x3b\\xe2\\x29\\x32\\x63\\x2c\\xa9\\x57\\x9c\\x77\\x3a\\x79\\x3a\\x91\\xe4\\x89\\x6f\\x5d\\x83\\xa3\\xf0\\xf5\\x51\\x0b\\x02\\xaf\\xe2\\x7b\\xe1\\xb0\\xb1\\x55\\xda\\x68\\x0a\\x38\\x0f\\x8f\\x15\\xff\\x4a\\xa2\\xde\\x21\\x51\\x8a\\x18\\xf1\\x2d\\x92\\x37\\x91\\xa7\\x4e\\x27\\xd3\\xf9\\xed\\xd4\\x8f\\x8f\\x52\\x99\\x71\\x5f\\x58\\xc2\\x0b\\x7e\\x4a\\xa5\\x41\\xaf\\xd9\\xe6\\xfa\\xda\\xa6\\xd1\\xf8\\x95\\x69\\x74\\x3a\\xaa\\x95\\x79\\xcb\\xef\\x89\\x60\\xe1\\x2d\\x18\\x76\\xfa\\xe9\\x95\\x9a\\xd2\\xd2\\xea\\xca\\xb2\\x91\\xd5\\xe2\\x5d\\xe4\\xae\\xb6\\xad\\x74\\x0b\\x0b\\x65\\x51\\x5a\\x53\\x4b\\x53\\x9c\\xb7\\x72\\x7d\\xeb\\x88\\xb5\\xe9\\xb1\\x12\\xaa\\x87\\x0a\\xa8\\x9f\\x9f\\x46\\xa7\\xf9\\xb1\\x0a\\xa8\\x35\\x20\\x86\\x55\\x50\\x56\\x59\\x5d\\x3a\\xa2\\xd6\\xb5\\xb5\\x4d\\x6c\\x55\\x2e\\x1d\\x51\\x5b\\x3b\\xa2\\xb4\\xa6\\x46\\xdc\\xed\\xc6\\x27\\xf9\\x7c\\x94\\x62\\xec\\xef\\x84\\x2f\\xfc\\xad\\x37\\x3e\\x11\\xef\\x13\\xa6\\x90\\x62\\xc5\\x7e\\x90\\xb5\\xfe\\x05\\xd0\\x97\\x86\\x1d\\x2e\\x0d\\x76\\x22\\x6d\\xe1\\x96\\x36\\x95\\x18\\x62\\x48\\xf1\\x85\\x0d\\x0f\\x6e\\xe0\\x37\\x2b\\x86\\x7c\\xfa\\xe9\\xa7\\xa4\\x13\\xef\\x03\\x52\\x0c\\x49\\x76\\x1f\\xe8\\x47\\xc9\\xde\\xa7\\xef\\xcf\\xb1\\x4a\\x8b\\x83\\x06\\x79\\xf3\\x09\\x29\\x76\\x4e\\x82\\x1b\\x2f\\x90\\x4e\\xb8\\x4f\\x1a\\xcb\\x8c\\xe2\\x28\\x7e\\xa3\\x6b\\x1d\\xa7\\x86\\xd6\\x18\\x89\\xa0\\x61\\xb1\\xf7\\x89\\x52\\xa5\\xa3\\xd1\\xd4\\x42\\x29\\x65\\x1f\\x68\\xbb\\x0f\\xb6\\x65\\x5f\\x20\\x07\\x58\\x03\\x82\\xe2\\x92\\x54\\xc6\\x0f\\x0e\\x1f\\x2b\\xbf\\x7c\\x59\\x1c\\x15\\x43\\x12\\xc4\\xe3\\x31\\x9b\\x36\\xa1\\x6c\\x9e\\xe1\\x6e\\x21\\x57\\xe8\\x57\\xf8\\xee\\x63\\x80\\x2d\\x3c\\x08\\x5c\\x07\\x4a\\x43\\x42\\x8d\\x7e\\x0f\\x82\\x63\\x13\\x6d\\xe4\\x35\\xd4\\xc8\\xd9\\xf0\\xcc\\x55\\xf6\\xc5\\x71\\x58\\x88\\x7e\\x9f\\x7b\\xe8\\x73\\xc7\\xc1\\xba\\xee\\x91\\xaa\\xa5\\xd5\\xd5\\x18\\xb5\\x44\\x52\\x7e\\xcd\\x2d\\x4c\\xe9\\x2c\\x86\\x09\\x1f\\x85\\xea\\x1f\\x31\\xa2\\x16\\xea\\x0f\\x23\\xf7\\xf0\\xc7\\xe8\\x6b\\x38\\xa6\\xc4\\xb2\\x2f\\x7f\\x58\\xe4\\x52\\xb5\\x46\\xa9\\x13\\x88\\x80\\xfd\\x6d\\x57\\xaf\\x23\\x7a\\xdd\\x5f\\x6f\\xf3\\xc7\\x9c\\x45\\xfc\\xeb\\xf0\\x2f\\xf6\\xce\\x3b\\xc9\\xc6\\x3b\\xef\\x94\\xbe\\x77\\x27\\x55\\xe4\\xb4\\x7c\\x46\\xb0\\x0f\\x61\\x0b\\xc9\\xec\\x94\\x55\\x78\\xce\\x36\\xe4\\x5b\\xbc\\xcf\\x08\\x9e\\x42\\xee\\x98\\xff\\xb4\\x62\\x68\\x77\\x0c\\xbb\\x87\\x5f\\x21\\xdf\\x13\\xf8\\x12\\xdb\\xd2\\xd0\\xeb\\x06\\x4f\\xf1\\xb6\\x67\\x14\\x43\\x9d\\x45\\xac\\x8e\\xbf\\x3b\\xbf\\x23\\x5f\\xb8\\xb6\\x81\\x5f\\x9a\\x61\\x0b\\x14\\xa8\\x4d\\x12\\x7a\\x1b\\x15\\xe0\\x39\\x84\\xde\\x6b\\x57\\xe9\\xd8\\x61\\x2c\\x3e\\xfe\\x65\\x3a\\x8e\\xad\\xa7\\x70\\x20\\x2c\\x16\\x3c\\x18\\x06\\xe7\\x40\\xa5\\x2a\\x17\\xdf\\x2b\\xca\\x41\\xd4\\xc9\\x17\\x7f\\x7d\\xb8\\x7c\\x54\\x5c\\x5a\\xdc\\xa8\\xc2\\x11\\x37\\x7c\\xb5\\x60\\x5d\\xe4\\x88\\xc0\\x81\\xe9\\xa1\\xe6\\xa8\\xa4\\x18\\x4b\\xc1\\x34\\x49\\xcf\\x30\\x75\\x0a\\x2d\\x8a\\x4d\\xf0\\x0c\\xce\\x25\\xf4\\x84\\x1e\\x92\\x96\\x33\\xf2\\x72\\x07\\xc4\\x63\\x94\\x01\\xe9\\x40\\x1b\\x43\\x50\\x8c\\xc0\\xb3\\x05\\x19\\xf1\\x04\\xa3\\x20\\x10\\xd7\\xc7\\xc3\\x1e\\x34\\xdb\\x92\\x0c\\xa5\\xe9\\xfb\\xf9\\x92\\xe9\\x38\\xe9\\xfc\\xd7\\x19\\x2c\\xfd\\x1d\\x91\\x74\\xc3\\xae\\x13\\x21\\x7e\\xff\\x5d\\xa8\\x8f\\x12\\xbf\\x5c\\xe4\\xa9\\xab\\x06\\xea\\x32\\x73\\x5c\\x00\\xa2\\xb3\\xe5\\x44\\xab\\x5c\\x1d\\x9b\\x40\\x22\\x89\\x67\\x29\\xe8\\xe1\\x3b\\xef\\xdc\\xfb\\xca\\xf0\\x7f\\x1e\\x61\\x35\\x4d\\x29\\x1b\\x5a\\xf8\\xfa\\xeb\\x0b\\x44\\x75\\x13\\x2d\\x19\\x91\\xd4\\xf8\\xaf\\x77\\x82\\xae\\xec\\xc7\\x27\\x89\\xa7\\x32\\x56\\x77\\xdc\\xdd\\x2c\\xd5\\x08\\xcf\\xa2\\x56\\xee\\x3c\\xd9\\x22\\x6c\\x31\\x26\\x2a\\x34\\x2c\\xe6\\x9e\\x70\\x89\\xf8\\x88\\xb7\\x73\\xe1\\x36\\x03\\x19\\x9f\\x44\\x6c\\x49\\xe4\\x4f\\x48\\xb3\\x92\\x48\\x12\\x67\\xc0\\x18\\x0b\\x78\\x8e\\x0d\\x11\\x9f\\x56\\x6c\\x21\\x13\\x94\\xa7\\x39\\x2d\\x8c\\x63\\xbe\\x9c\\x52\\xe9\\x0b\\x4f\\x84\\x3c\\xe7\\xc3\\x7a\\xd8\\xee\\xca\\x1c\\x62\\xd9\\xe7\\xe9\\xaf\\x56\\xe9\\x05\\x05\\x99\\xb0\\xf5\\x91\\x87\\x5f\\xd8\\x39\\xb2\\xac\\x64\\x8c\\xf2\\xf4\\xfa\\x3f\\xff\\xe5\\x8e\\x31\\x33\\xec\\x63\\xa5\\xb5\\x28\\x2b\\x77\\x85\\x02\\x0f\\xfa\\x24\\xe1\\x02\\xb9\\xcc\\xf3\\x7a\\xe4\\x45\\xaf\\x52\\x68\\x78\\xf7\\x75\\xf6\\xdd\\xff\\x8b\\x46\\x25\\x38\\x24\\xec\\x77\\x95\\xeb\\xac\\x70\\x5a\\x78\\x0d\\x7e\\x4b\\xd7\\x43\\x5d\\xe7\\x68\\x97\\xb0\\x15\\x7e\\x53\\xfc\\xdd\\xe4\\x3a\\x27\\x28\\xb1\\xbc\\x80\\xbf\\x23\\xc1\\xc7\\x58\\x8e\\xd7\\x7d\\xf1\\x8c\\xca\\xf3\\xae\\xd3\\x74\\x8a\\x72\\x03\\xfc\\xf6\\xc3\\xeb\\x7f\\x02\\xfc\\x2a\\x90\\x81\\x52\\xa1\\x95\\xf1\\x2e\\xd1\\x0a\\xbc\\x3f\\xc4\\x7d\\xd6\\x8f\\x50\\x86\\xd7\\xc3\\xe4\\x98\\x4a\\x17\\x85\\x24\\xa1\\x19\\x7a\\x46\\xb2\\xcd\\x0f\\x46\\x07\\xca\\x51\\x8d\\x5a\\xc9\\x13\\x7e\\x1b\\x99\\xb3\\xc5\\x4e\\x84\\x6d\\xa4\\x9a\\x93\\x56\\x14\\x64\\x3f\\xc0\\xf3\\xa5\\x5a\\x8c\\x90\\xd4\\x6d\\x25\\x9d\\xc7\\xc9\\x32\\x72\\xf1\\x38\\x79\\x50\\x6c\\x44\\xfc\\x0a\\x8e\\x53\\x3c\\xac\\xd8\\x0b\\x3a\\x08\\x65\\xed\\x16\\x7e\\x00\\xbb\\x77\\xe7\\x6f\\xf4\\xce\\xe7\\x4e\\xf7\\x53\\x3e\\x49\\xb8\\x44\\x27\\xb8\\x1e\\xbc\\xee\\x7d\\x49\\xd2\\x7d\\x70\\x1d\\xcb\\x31\\xf9\\x89\\x97\\x51\\x7e\\x89\\x4c\\x7e\\x90\\x7f\\x81\\xdf\\x26\\xc9\\x55\\xbc\\xb9\\x57\\xfe\\xd7\\xee\\x7c\\x59\\xde\\xee\\xfc\\x4b\\xfc\\x13\\xce\\xa3\\xec\\x4c\\x50\\x90\\xeb\\x46\\x90\\x6b\\xa2\\x82\\x48\\xf9\\xe4\\x3e\\xc4\\xd7\\xbb\\xbe\\xe2\\xe7\\x81\\xfc\\x12\\x15\\xbc\\x94\\xcf\\xfd\\x0b\\xf3\\xdd\\x7a\\x4a\\x64\\x7a\\xc2\\xf2\\x2b\\x5d\\x76\\x2f\\x7d\\x25\\x2a\\x04\\x19\\x7f\\x34\\xcb\\x77\\x9d\\x72\\x5d\\x22\\x9d\\x98\\xaf\\x90\\x71\\x8a\\x31\\x7f\\xaf\\xeb\\x6b\\x5e\\x8d\\x38\\x4a\\x39\\x3f\\x0d\\x71\\x58\\xbc\\x86\\xd9\\x98\\xaf\\x96\\x6c\\x99\\xbf\\xd9\\xa5\\x81\\x31\\x47\\x4f\\x6c\\xc3\\xc8\\xc9\\x61\\xe4\\x9d\\x61\\x64\\x98\\x4d\\xab\\x2b\\x1b\\xc6\\x19\\xd2\\xc0\\x94\\x59\\xfc\\x48\\xd7\\x31\\x72\\xac\\xc7\\xfe\\xf5\\x4a\\xe1\\x52\\xbe\\x4b\\xb2\\x01\\x71\\x01\\xda\\x40\\xa2\\xc2\\x47\\xe6\\xf5\\x7e\\xac\\xc3\\x6d\\x4b\\x89\\xcc\\x96\\x30\\xff\\x00\\x6b\\x9b\\xc7\\xa6\\x12\\x99\\x4d\\x61\\xfe\\x66\\xd7\\x2e\\x28\\x6f\\x71\\x5d\\x11\\x26\\x61\\x79\\x7f\\xb9\\x6d\\x8f\\xa3\\x2c\\xc0\\x92\\xf9\\x38\\xc4\\xd7\\xcb\\x6d\\xd8\\x84\\xf9\\x75\\xae\\xaf\\x84\\x0c\\xe4\\xc7\\x20\\xb7\\xa1\\xca\\x75\\x23\\xe7\\xff\\x12\\x6f\\xb1\\x90\\x68\\x0b\\xb1\\xb0\\x5e\\xc8\\x62\\x45\\x96\\x01\\x7f\\x6b\\xf0\\xfe\\x00\\x19\\x77\\xb6\\x6b\\x14\\x8b\\xbb\\xc9\\xf6\\x49\\x61\\x7d\\x81\\x72\\xfe\\x76\\xd7\\x8d\\x90\\x9f\\x0d\\xf9\\xa7\\xb1\\x7c\\xb0\\x5c\\xdf\\x5e\\xf1\\x02\\xe4\\x2f\\x10\\x97\\x41\\x3e\\x2b\\x6f\\x92\\xcb\\x5b\\x5d\\x2f\\x7b\\xf5\\x81\\x44\\xd6\\x07\\xbc\\xda\\x8f\\xb6\\x85\\xe5\\x43\\x7b\\xd9\\x94\\xbb\\x8f\\x24\\xb2\\x3e\\x82\\x38\\x5d\\x58\\x3e\\x94\\xe9\\x50\\xb1\\xc6\\xa3\\xc3\\x6f\\xb8\\x73\\xd2\\x79\\xb2\\xcc\\x76\\x30\\x5f\\xb2\\x9d\\xff\\x91\\xd7\\x7a\\xfa\\x2a\\xe6\\xfb\\xca\\xf9\\xaf\\x48\\xf1\\x44\\x71\\xff\\xd7\\x1a\\x4f\\xbb\\xfe\\xc7\\xfb\\xe1\\xb7\\x35\\xe7\\x99\\x6d\\x2a\\x37\\x70\\x13\\xb9\\x89\\x36\\x63\\xe2\\xe0\\x20\\x01\\xaa\\x17\\x06\\x0f\\xcf\\x55\\x4c\\x9e\\x54\\x18\\x1f\\x39\\x72\\x1b\\xa9\\x7b\\x3e\\x71\\x70\\xf6\\xe0\\x22\\x3f\\x32\\x9b\\xb3\\x73\\xd9\\xd0\\x33\\x23\\xb9\\xf1\\x78\\x20\\x54\\x24\\xa4\\xb5\\xa4\\xca\\xf3\\x71\\xaf\\x14\\x3f\\x35\\xbf\\x97\\xeb\\x1e\\x30\\x00\\xcf\\x67\\x64\\xaf\\xd6\\xd8\\xd3\\x23\\xc6\\x87\\x65\\x7b\\x52\\x58\\x78\\xc0\\xc1\\x04\\x86\\xf9\\xe0\\x68\\xd2\\x73\\x82\\x70\\x50\\xa0\\x35\\x4f\\x7a\\xf3\\x26\\x6d\\x52\\x51\\x29\\xdc\\x1b\\x58\\xd8\\x41\\x0b\\x18\\x51\\x2a\\x93\\xc4\\x24\\xf8\\x58\\x22\\x42\\xc3\\xd2\\xb5\\x26\\x63\\xc2\\xd4\\xd4\\x94\\xec\\x94\\xa4\\xdc\\xe5\\x71\\xd1\\x3e\\xe9\\xb5\\x2f\\x34\\xdf\\x33\\x20\\x3f\\x3b\\x52\\xc9\\x0f\\xad\\x1c\\x38\\x44\\xe7\\x1b\\x18\\xe2\\x1f\\xfb\\xd0\\xec\\x38\\xe2\\x3f\\x38\\x2d\\x67\\x5c\\x48\\x90\\x9f\\x4f\\x61\\xb2\\x73\\x59\\x4c\\x5a\\x4a\\x6e\\x6a\\x80\\xb0\\x7a\\xe2\\xf8\\xa0\\xd0\\x68\\xa3\\xcf\\xe0\\xe2\\x98\\xc1\\x69\\x81\\x7e\\x41\\xea\\xc0\\x88\\x88\\xc0\\xa1\\x37\\xd4\\xe5\\xe7\\xc7\\x05\\x47\\xcd\\x9a\\xb5\\x7d\\x5d\\x05\\x99\\x36\\xd1\\x5a\\xee\\x6b\\xc8\\xa4\\x25\\xf9\\x71\\xd3\\x75\\x81\\xda\\xb9\\x9d\\x13\\xc4\\xfc\\xe1\\x89\\x21\\xd5\\x93\\x82\\x42\\xa7\\x25\\xf3\\x4f\\xc6\\x18\\x2c\\x6d\\x4c\\x7e\\xdd\\x9f\\x0b\\xaf\\x73\\x82\\x32\\x07\\x7c\\x1d\\x9f\\x2d\\x9c\\x46\\xc1\\x7c\\x72\\x76\\x6c\\xb3\\x59\\x50\\xc5\\x0d\\x8c\\x8f\\xb1\\x0a\\x82\\x8b\\x13\\xf7\\x4f\\x5e\\xb7\\x84\\xac\\x20\\xda\\x10\\xc5\\x63\\xf3\\x3a\\xff\\xf5\\x02\\xca\\xdd\\x29\\xbc\\x4e\\x43\\xe4\\xfb\\xd4\\x44\\xbe\\x8f\\x5a\\xcd\\x82\\x29\\x2e\\x31\\x3e\\x8d\\xd0\\x10\\xe2\\x47\\x56\\x2e\\x59\\x67\\x17\\xf7\\x77\\x03\\xfc\\x0b\\xff\\xea\\xc2\\x35\\x5a\\xd2\\xdd\\x2d\\xec\\x02\\x0b\\xfa\\x00\\xe6\\x0d\\x93\\xcd\\x17\\x86\\x5b\\xaa\\xf3\\x8d\\xf6\\xe5\\x7d\\xd5\\xe0\\x61\\x55\\xe6\\xe0\\x50\\x69\\x90\\x85\\x17\\x87\\xcf\\xeb\\x35\\xcf\\x96\\xce\\x9c\\x3b\\xc8\\xf8\\x50\\xcc\\x89\\x6d\\x9d\\x47\\x84\\x6f\\x4c\\x29\\x01\\x49\\xd6\\x7b\\x6e\\xca\\x95\\xf6\\x3d\\x0a\\xaf\\x50\\x85\\xe2\\x5d\\x98\\x23\\x43\\x6d\\x7e\\x3a\\x86\\xa5\\x8e\\x56\\xf3\\x6a\\xea\\x07\\x93\\xd0\\xfe\\x4a\\x83\\x84\\x26\\xed\\x1b\\xca\\xb3\\x4a\\x91\\x7e\\x6a\\x9f\\x1b\\x31\\x73\\x6e\\x81\\xff\\x23\\xe1\\x0d\\x4f\\xfd\\xa1\\xe2\\xa9\\x69\\x8a\\xbf\\x86\\xa4\\x06\\xa4\\x66\\xcd\\x9e\\x57\\x18\\x1b\\x24\\xed\\xc3\\xc3\\xbd\\x94\\x8a\\xed\\xb8\\xcf\\x50\\x8b\\x5f\\x47\\x45\\x72\\x31\\x78\\x62\\xa4\\x85\\x2b\\x92\\xf7\\xe2\\xcd\\xe6\\x16\\x73\\x97\\x6d\\xab\\x54\\xd1\\xd1\\x46\\x65\\x54\\x94\\xd1\\x97\\x04\\x05\\x19\\x17\\x34\\x86\\xa4\\xce\\xa9\\x19\\x3b\\x7a\\x72\\x65\\x65\\xe9\\xf8\\xd1\\xd3\\x8a\\x07\\x58\\x69\\x40\\x41\\x61\\x61\\xc0\\x10\\x6b\\xf1\\xe8\\xd2\\x9a\\xd4\\x46\\x9f\\x34\\x1f\\xce\\x68\\x5c\\x12\\x1b\\x96\\x99\\x99\\xa6\\x4b\\x4a\\x4a\\xf3\\x4f\\x4c\\x8c\\x0b\\x4f\\x4b\\xeb\\xf4\\x8d\\xcb\\x0c\\x4e\\xaf\\xcc\\xeb\\xe8\\x28\\xcd\\xaa\\x9b\\x39\\x99\\x84\\xb7\\x36\\x37\\x8f\\x1c\\x32\\x69\\xd2\\xd0\\x91\\xe9\\x75\\x03\\x26\\x87\\x8f\\x1c\\x19\\x3e\\x79\\x40\\x5d\\xba\\x32\\x22\\xd9\\x1c\\x98\\x99\\x99\\x14\\x1d\\x90\\xe6\\x17\\xaf\\x53\\xd1\\xd0\\x50\\xbd\\x5a\\x88\\x80\\x56\\xca\\xe7\\x9a\\xbc\\x99\\xe3\\x49\\x7a\\xf6\\xea\\xc9\\xaf\\x4f\\x2d\\xee\\x75\\x55\\x69\\x81\\x58\\xbf\\x2b\\x47\\x3a\\x1a\\xde\\xea\\xb5\\xe4\\x8a\\xc4\\xd8\\xf7\\x88\\x1f\\x63\\x7e\\x9f\\x22\\xee\\x8f\\x1f\\x73\\xe3\\x72\\x63\\x14\\xec\\xd3\\xbc\\x38\\x83\\x95\\xcd\\x6b\\xec\\x89\\x29\\x97\\xed\\xbd\\x66\\xde\\xb4\\x57\\xbe\\x82\\x9d\\xbc\\x6e\\x05\\x3f\\x34\\x29\\x4f\\x8a\\xaa\\x86\\xc7\\x40\\x05\\x2a\\xe1\\x09\\x8d\\xbd\\x17\\x61\\x47\\x94\\xab\\xa2\\x08\\x95\\xdf\\x92\\x98\\xe4\\xbf\\xd7\\x39\\xc4\\x40\\xcd\\x35\\x9c\\x24\\xc3\\x9d\\xdb\\xc5\\x7f\\x92\\xe1\\x7c\\x61\\x43\\xc3\\xd5\\x9b\\x58\\x4a\\x58\\x21\\xfe\\xf3\\x64\\xc3\\x0f\\xc3\\x4f\\x36\\x48\\x69\\x32\\xfc\\xca\\x63\\x0d\\x0d\\x34\\x8a\\xa5\\x58\\xd9\\x86\\x93\\x0a\\xae\\xb2\\x3a\\x68\\x8e\\x5f\\x6a\\x56\\x4e\\x7a\\xd5\\xbf\\x1b\\xc4\\x75\\x0f\\xae\\x7b\\xf6\\x4e\\x12\\x35\\xb6\\xa2\\xbe\\xe9\\x61\\xfb\\x14\\xb3\\xf9\\x19\\x4b\\x63\\xe3\\x80\\xa1\\xdb\\x45\\x9b\\x78\\xec\\xde\\xbb\\xee\\xba\\xef\\x9e\\xbb\\x16\\xd8\\x67\\xd6\\x4c\\x9d\\x3e\\xb3\\xd2\\x2e\\xac\\x38\\xd9\\xd0\\xd0\\xd0\\xbd\\x82\\x0c\\x27\\xc7\\x1b\\xae\\x14\\x36\\x9c\\x14\\xc2\\x80\\x01\\x48\\x90\\xe3\\x64\\x78\\xf7\\x8a\\x06\\xa8\\xf1\\xe4\\xe9\\xea\\x4e\\xe3\\x98\\x92\\xe1\\xd5\\xe4\\xd4\\x74\\xe7\\x9e\\x9b\\x6e\\xfc\\x66\\x6e\\x17\\x4d\\xdb\\x55\\xd2\\x64\\xf0\\x9d\\x43\\xe2\\x8a\\xf3\\x45\\xf1\\xcc\\x88\\xd1\\xe2\\x07\\x64\\xb8\\x38\\x7d\\xff\\xb1\\xc3\\x6f\\xbf\\x7d\\xf8\\x1f\\x0f\\x6c\\x7c\\xf2\\xe9\\x47\\xff\\x88\\xe3\\x59\\x18\\x8c\\x97\\x63\\xe9\\x66\\x83\\x92\\xb2\\x33\\x9e\\x06\\xd9\\x32\\xa2\\x6c\\xcb\\x97\\x97\\x45\\xd9\\x96\\x2d\\x03\\xb2\\x70\\x21\\x90\\x59\\xb3\\x80\\xcc\\x9c\\x09\\x64\\xe2\\x44\\x20\\x65\\x65\\x40\\x06\\x0c\\x00\\x92\\x92\\x52\\x96\\xe6\\xfe\\x1f\\xf6\\xc5\\x03\\x42\\x0d\\x7f\\x44\\x71\\x13\\xd8\\x6b\\xae\\x2d\\xc2\\xc7\\xd7\\x57\\x27\\x50\\x7f\\x1f\\xe6\\x00\\xc3\\x53\\x02\\x85\\xa7\\x04\\x55\\x85\\x74\\x90\\x3c\\xdb\\x9b\\x21\\x1d\\x10\\x03\\xee\\x6f\\x8e\\xfb\\x24\\x7e\\x8c\\x6d\\x98\\x64\\x95\\xa2\\x80\\x5b\\xfd\\x09\\x99\\xf4\\xd2\\x1e\\xc5\\x01\\x65\\xed\\x98\\x31\\xb5\\xca\\x03\\x8a\\x3d\\x42\\xcd\\xfa\\xbb\\xd8\\x29\\x01\\x77\\xad\\xc7\\x3e\\xf7\\x30\\x1d\\xc6\\x53\\xc5\\x04\\xe8\\x19\\xda\\xad\\x02\\x55\\xe9\\x58\\x74\\xee\\x0f\\xf7\\x4b\\x87\\xaa\\xa3\\x1f\\xed\\xd9\\x2b\\xc1\\xd3\\x17\\x9e\\x1b\\x5f\\x17\\x15\\x3f\\x7c\\xdc\\xd0\\xb2\\x46\\xe1\\xc9\\x5b\\x5e\\xb6\\x8c\\x0f\\x99\\x91\\x15\\x18\\x65\\x8c\\x1d\\x35\\xa8\\x60\\x26\\xc3\\x7a\\x56\\xa8\\x21\\x17\\x95\\x71\\x80\\x15\\x61\\xf3\\x47\\x9f\\x9d\\x39\\xea\\xba\\x68\\x1d\\xaf\\x63\\xcf\\x4a\\x12\\xab\\x6c\\x10\\x96\\x17\\x4f\\xe4\\xc3\\x8d\\x12\\x9f\\xf5\\xf2\\xd0\\x15\\xca\\x3e\\x2e\\x3a\\xc8\\x76\\x9a\\x50\\xc5\\x87\\x29\\xd6\\xe9\\x95\\xec\\x5b\\x8c\\x9f\\xf1\\x7b\\x03\\xfc\\x9e\\x84\\xbf\\x17\\xff\\xf4\\x6f\\xf0\\x7d\\x4d\\x8a\\xb7\\x5d\\x6f\\xa9\\xd2\\x60\\x0e\\xd7\\xbf\\xa0\\xd7\\x6a\\xa9\\x5a\\xc7\\x86\\x3f\\x14\\x25\\x95\\x22\\xc9\\xb2\\x6d\\x3b\\x6c\\xef\\x11\\x7b\\x2d\\x76\\xd2\\x9a\\x5a\\x56\\x1a\\x3d\\x7d\\xf6\\x97\\x37\\xcc\\x98\\x3f\\x22\\x4b\\xb9\\x3a\\x3a\\x36\\xa4\\x3e\\xea\\xde\\xc1\\x93\\x7d\\x73\\x96\\xd0\\x28\\x86\\xe7\\x34\\x28\\xde\\x16\\x77\\xf4\\x8f\\x47\\xae\\xc5\\x13\\xc3\\x7f\\x1c\\x90\\x74\\x4f\\x03\\x3c\\xcd\\xcf\\xc6\\x73\\xd6\\xfd\\x28\\x1e\\xb4\\x5f\\x00\\xfb\\x7a\\x42\\xb1\\x41\\xaf\\xe4\\x1f\\xe1\\xfa\\xfb\\x9d\\x04\\xbf\\x57\\x2b\\x1e\\x83\\xdf\\x1b\\xf1\\xb7\\x11\\xe4\\xb5\\x51\\xf1\\x17\\xf8\\xed\\x40\\xfb\\xd4\\x89\\x6f\\xbb\\x76\\xba\\x16\\xb1\\x53\\x0a\\x9f\\xe3\\xd8\\xb3\\x23\\xfb\\x9a\\xd6\\x1a\\xf4\\xcd\\x56\\xf1\\xed\\xcd\\x9b\\x7f\\x86\\xfc\\x7f\\x42\\x7f\\x6e\\x7d\\x18\\x95\\xfc\\xde\\xfe\\x7e\\xff\\x24\\xff\\xbf\\xf1\\x77\\xb7\\x4b\\x7c\\xdb\\xf9\\xbc\\x6b\\x91\\x5e\\xa5\\xf1\\x73\\x7e\\xcd\\xe1\\x33\\x49\\xf7\\x5a\\xc8\\x2b\\x94\\xf3\\x6e\\x94\\xf2\\xae\\x7e\\x21\\xbe\\xdd\\xfd\\xa8\\x94\\xd7\\xfd\\xa1\\x5c\\xee\\x1d\\x28\\x77\\xb3\\x5c\\xee\\x0d\\xb9\\xdc\\xe3\\x50\\x6e\\xba\\x5c\\xee\\x8f\\x52\\x5e\\xdf\\x3a\\x9d\\xf3\\xc4\\xb7\\xc5\\x18\\xa9\\x8c\\x58\\x25\\x95\\x11\\x6f\\x01\\x39\\x0f\\x92\\xf2\\x5c\\x8b\\xe4\\xbc\\x7f\\x43\\xde\\x0a\\xc8\\x53\\x6a\\xfc\\x5e\\x65\\xf5\\xfd\\x00\\xf5\\x3d\\x25\\xd7\\xf7\\x5f\\xa9\\x8c\\x73\\x29\\x60\\x65\\xca\\x58\\x73\\xe4\\xbc\\x26\\xc8\\x0b\\x93\\xf3\\xa6\\xca\\xbc\\x3e\\x02\\xf7\\x4e\\x90\\xef\\x5d\\x27\\x97\\x8b\\x83\\xbc\\x23\\x72\\xb9\\x40\\xb9\\x5c\\x01\\xf0\\xff\\x95\\x5c\\x2e\\xad\\x7f\\xfe\\x7f\\xd9\\x6f\\x18\\x2b\\x32\\xc0\\x5f\\x0e\\xa7\\x9b\\x61\\x56\\x8e\\xb5\\x19\\xd8\\xba\\x99\\xb2\\xc2\\x0e\\x76\\xad\\xa0\\x8a\\x0a\\x3b\\xf5\\xde\\x37\\xc1\\x56\\x07\\x12\\x7a\\x4e\\x45\\xd9\\xca\\x1e\\x86\\x6b\\xc8\\xea\\xe9\\x9e\\xa3\\xa0\\xa9\\xf8\\xa6\\x62\\x3d\\x29\\x50\\xc5\\xe0\\xfa\\x61\\x38\\x97\\x61\\x0b\\xf7\\x09\\x0e\\xe6\\x06\\xc3\\xf3\\x9b\\x5e\\xb0\\x69\\xf5\\x65\\x85\\x02\\x09\\x17\\xd2\\x04\\x5e\\x27\\x10\\x5e\\xe0\\x2c\\x2c\\x76\\x61\\x1a\\x3b\\x45\\x43\\xea\\x40\\xec\\x7b\\x74\\xaf\\xe5\\x94\\x18\\xaf\\xb4\\xf8\\x26\\xdf\\xb1\\x31\\x61\\x48\\x7e\\x72\\xca\\xc0\\x3c\\x71\\x63\\x52\\x41\\x7e\\x72\\x72\\x5e\\x81\\xf2\\xbe\\xb5\\x6b\\xc5\\x2b\\x79\\xa9\\xc9\\x79\\x79\\xc9\\x49\\x05\\x05\\x49\\x49\\x83\\xf2\\x92\\x53\\xf3\\xf0\\xfb\\x79\\x2a\\x0c\\xe3\\x9c\\x8a\\xaf\\x71\\x8d\\x27\\x92\\x33\\xbe\\x18\\x12\\xae\\x34\\x1a\\xfd\\xd8\\xb7\\x0c\\x30\\x30\\xa3\\x1f\\x76\\x9d\\x8a\\xf2\\x72\\xf3\\xac\\x41\\xaa\\x47\\xdc\\x55\\x3d\\x22\\x57\\x35\\xac\\x61\\xe7\\x01\\x61\\x58\\xdf\\xaa\\xce\\xc4\\x3c\\x95\\xc0\\x3e\\x32\\xa0\\xe2\\xbb\\x82\\x8d\\x64\\x29\\x5c\\x58\\x9f\\x99\\x9d\\x55\\x1b\\x1d\\x1e\\x6e\\x8c\\x0c\\xe9\\x55\\xa9\\xe4\\x35\\x5d\\xaf\\x62\\x12\\xa4\\x8a\\x63\\x67\\xcb\\xe5\\xfd\\xa9\\x6f\\xdd\\xe4\\xaf\\xc7\\xff\\xf1\\x41\\xf9\\x99\\x33\\x82\\xad\\x6f\\xfd\\xe4\\xf5\\x98\\x03\\x07\\x62\\x96\\x2f\\xe7\\xb0\\xcd\\x0a\\xc1\\xc6\\xb9\\x14\\x2c\\x0e\\x9d\\x01\\xdb\\xec\\x17\\x12\\xc2\\x51\\xa3\\x12\\x17\\xe6\\xa4\\x11\\x94\\xe1\\x07\\x99\\xae\\xc3\\x80\\xf9\\xc0\\xce\\x86\\xd9\\x7d\\xeb\\x56\\xc4\\xfe\\x3d\\xe1\\xa9\\x98\\x53\\xfd\\xc8\\x98\\x07\\x5d\\x77\\x82\\xae\\x73\\x51\\xd7\\xd9\\x36\\xb3\\x4a\\xc5\\xf1\\x69\\x5a\\xf2\\xa0\\x76\\xaf\\xf6\\xaa\\x96\\x6a\\x51\\xdd\\x5a\\x12\\xae\\x4d\\xd3\\xf2\\x3a\\x2d\\xe1\\xb5\\xb2\\xba\\x2b\\x17\\xc8\\x4b\\xd3\\xa0\\x6d\\x45\\x4f\\x58\\xbb\\x44\\xa6\\x61\\xb1\\x70\\x42\\x5e\\xc1\\xd8\\xf2\\xc1\\xf9\\xe3\\x95\\x4f\\xae\\x5d\\xfb\\x6c\\xfe\\xe8\\xf2\\xbc\\xdc\\x8a\\x72\\x69\\x5d\\xfa\\x4e\\x52\\x8c\\x75\\x85\\xb2\\x95\\xae\\x10\\x0d\\x3b\\x68\\x93\\xe3\\xfd\\x04\\xb9\\x75\\xf9\\x16\\xab\\xc7\\x82\\x32\\x79\\xf6\\x8a\\x2a\\x0e\\xa0\\xa3\\x78\\x9c\\x78\\xd1\\x7a\\x5e\\xcf\\x18\\x53\\x38\\x30\\x2c\\x29\\x45\\x53\\x1d\\xb8\\x25\\x73\\x34\\x24\\x13\\xd3\\x20\\xc9\\xea\\x11\\xcf\\x44\\xc4\\x44\\x24\\x5a\\x3f\\x09\\x8f\\x0e\\x4f\\xc8\\xfa\\x44\\x5a\\x87\\xfa\\x13\\x08\\xf4\\x25\\xc5\\x6a\\xe8\\x13\\x89\\x36\\xbd\\x8a\\x10\\x16\\x97\\xc7\\x97\\x57\\xa9\\x88\\x5a\\xc0\\xe8\\x7c\\xd6\\x5d\\x46\\x69\\x8b\\x97\\x7b\\x4d\\x30\\x26\\xce\\x80\\x0e\\x9a\\xc1\\x4a\\x5f\\x72\\x88\\x7f\\x11\\xf7\\x93\\x46\\x92\\xea\\xa0\\x0f\\x93\\x99\\x0e\\xf1\\x7d\\x92\\xfa\\x3b\\x60\\xae\\x17\\x3f\\x41\\x4c\\xfe\\x30\\x1f\\xef\\x10\\x47\\x90\\x57\\x7f\\x07\\xcc\\x3f\\x88\\x5f\\x90\\x36\\x62\\x76\\x90\\x47\\xe9\\x74\\x87\\x73\\x3a\\xff\\xb8\\x37\\x26\\x5b\\x6b\\xf5\\x27\\x4a\\x25\\xe5\\x38\\x8d\\x8f\\x92\\xa8\\xd8\\x57\\x44\\x32\\xa2\\x37\\x9e\\x17\\xdc\\x4a\\xf1\\x22\\xc2\\x09\\x3f\\x38\\xba\\x4b\\xe8\\x6b\\x80\\x35\\xd6\\x1b\\x8b\\x7d\\x85\\x04\\x48\\x94\\x12\\x05\\xaf\\x46\\x2c\\xab\\x7b\\x69\\x1e\\x5f\\xc9\\x02\\x6f\\x1a\\x92\\xa7\\x21\\x88\\xb5\\x4d\\x6c\\x9a\\x49\\x86\\x91\\x32\\x87\\xb0\\x47\\xdc\\x47\\xd6\\xd4\\x8a\\xef\\x91\\x01\\x92\\x6e\\x26\\x78\\xda\\x1c\\x6f\\xd3\\xb9\\xdb\\xcc\\xa2\\xbb\\x2b\\x34\\x08\\xea\\x85\\x29\\xb7\\x38\\x86\\xe4\\xb1\\x2f\\x35\\x19\\xec\\x3d\\xe2\\xba\\x3a\\x32\\x92\\x0c\\x70\\xd0\\xbf\\x91\\xb6\\x5a\\x71\\x1b\\x99\\x80\\x98\\x6e\\x3e\\x55\\x0c\\x53\\x41\\x08\\xb4\\x59\\xcd\\x62\\x07\\x13\\x41\\x25\\x63\\x5e\\x23\\xc5\\x3c\\xa9\\xd1\\xce\\xa8\\x6a\\xfe\\x66\\x07\\x3f\\x9a\\xdf\\x57\\xe5\\x7c\\x90\\x5f\\xe8\\x85\\xd5\\x8b\\x3f\\xd4\\x89\\xa2\\x7f\\xac\\x5c\\x68\\x35\\x09\\x30\\xb8\\x9b\\x3d\\x91\\x3c\\xff\\xa1\\xe3\\x3c\\xff\\x57\\xb2\\x66\\x8e\\xd8\\x2c\\x5a\\x68\\x0b\\x60\\x96\\x7a\\xe4\\x68\\xb6\\x69\\xbd\\x74\\x22\\xb8\\x11\\xbd\\xf1\\xbc\\xe0\\xfe\\x26\\xce\\x9f\\x4e\\x9e\\xfe\\xc4\\x41\\xff\\x4c\\x96\\x36\\x89\\xb3\\x9d\\x0f\\xd1\\x2b\\xd8\\x5e\\xf6\\xb2\\x67\\x7e\\x7f\\xed\\x55\\x0a\\x3f\\xd6\\x5e\\x7e\\xbe\\x43\\xac\\x9a\\x0e\\x4a\\x01\\xc3\\x5e\\xd5\\x20\\x1e\\x25\\xc9\\x80\\x95\\xdb\\xbf\\x8e\\x55\\xbc\\xe2\\xa7\\x74\\xbc\\x55\\x9c\\x30\\x07\\x94\\x01\\x3a\\xee\\x72\\xbe\\xcf\\x9f\\xa9\\x70\\x9e\\xe4\\x63\\x24\\x1d\\xe7\\x7a\\x64\\x98\\x69\\x0b\\x74\\xcb\\x50\\x49\\x41\\x8a\\x0a\\x80\\xf6\\x08\\xd2\\x22\\x3f\\x49\\xf5\\xe2\\x14\\xf1\\x0d\\x3d\\x15\\xd4\\x92\\x4c\\x68\\xbf\\xf8\\x1c\\x7f\\x66\\x8c\\xf3\\x79\\x92\\x41\\xcc\\x80\\x3f\\xee\\x7a\\x36\\xd4\\x03\\x7d\\x7d\\x1b\\x7a\\x42\\x5c\\xd2\\x41\\x1a\\x88\\xda\\xc1\\x3f\\xc8\\x3f\\x52\\xe6\\xdc\\xc4\\x57\\xb9\\xe7\\xd1\\x5f\\xa6\\x77\\xc6\\x29\\x31\\x49\\x98\\x8f\\x88\\x35\\x8b\\xc9\\x3d\\x97\\x1d\\xc4\\x9f\\xd4\\xf3\\xff\\x2e\\x75\\x96\\xfe\\x40\\x9f\\x07\\xcc\\x32\\x19\\x53\\x89\\x7a\\x17\\xd8\\x77\\x82\\x6a\\x50\\xba\\x82\\xf6\\xa7\\x77\\x8f\\x49\\x86\\x76\\x82\\xa2\\x14\\x43\\x4b\\xae\\x3e\\x20\\xcc\\xe2\\x3c\\x73\\xfc\\xaf\\xd4\\xf7\\x88\\x76\\x50\\x10\\x3f\\x85\\x3f\\x5d\\x86\\xea\\x21\\x5c\\xbc\\x47\\xdf\\x9e\\x31\\xe7\\xfa\\x1a\\x37\\x5c\\xdb\\xaf\\x87\\xde\\x28\\xe9\\x3c\\xb4\\xfb\\x84\\x60\\xcf\\xe9\\x3e\\x41\\xe5\\xf7\\xe8\\x09\\xfd\\x8d\\x65\\x0c\\x57\\xfd\\x13\\xb8\\xb9\\x08\\xbc\\x43\\x1c\\xb0\\x82\\x4c\\x63\\x3d\\xfb\\x51\\xe7\\x1a\\x21\\x39\\xb7\\xfb\\x33\\xbe\\x69\\x4b\\x6f\\xdc\\xdf\\x64\\x4b\\xcf\\x8b\\xc3\\x97\\x91\\x76\\x12\\x01\\xb2\\x10\\x9f\\x13\\xca\\x72\\xba\\x97\\x13\\x23\\xbf\\x00\\xf0\\x93\\x7e\\x8b\\x2d\\xdd\\x2b\\xd6\\x77\\x91\\x9b\\x89\\x9f\\x83\\xdc\\x40\\xc5\\x9c\\xee\\x69\\xf4\\x09\\x94\\x85\\xa5\\xdf\\x31\\xd8\\xab\\xc3\\x5b\\xae\\xe9\\xf1\\x26\\xf7\\x00\\x52\\xb6\\x92\\x3c\\xf5\\x9e\\x83\\x8c\\x14\\x68\\x5e\\x77\\xe0\\xfb\\xc2\\x0e\\x59\\x06\\xb2\\xfe\\xc1\\x8e\\xdc\\xfa\\xf7\\xd6\\x7e\\xaf\\xf1\\xc8\\xa3\\xfb\\xa1\\xcb\\x40\\x51\\xdf\\x0a\\x33\\x65\\x2d\\x11\\x5c\\x43\\x94\\xf8\\xf2\\xb4\\x15\\xf8\\xe2\\x89\\x0a\\x2d\\xd2\\x6a\\xb1\\x1a\\xf3\\xf3\\xaf\\xaf\\xf9\\x81\\xcb\\xc9\\x58\\x36\\x78\\x1c\\xe9\\x4e\\x51\\xdc\\x90\\xd5\\x9d\\x42\\x8f\\x30\\x4c\\x53\\x7f\\xf2\\x03\\x4c\\x85\\xe6\\x47\\x31\\x73\\x65\\xd0\\xac\\x15\\xc4\\x4e\\x8a\\x1c\\x74\\x51\\xf7\\x5a\\xc5\\x38\\x4b\\xb7\\x89\\xce\\x5d\\xd5\\xb3\\xff\\xe1\\x57\\xe0\\xba\\xc5\\x38\\x6e\\x25\\xa9\\x20\\xe9\\x0e\\x7e\\x9d\\x73\\x81\\x62\\x62\\xc6\\xd5\\xd3\\xfc\\x3c\\xf2\\x5c\\x1f\\xdc\\x54\\x9b\\xd1\\xbb\\x9f\\x2b\\x34\\xcc\\x5a\\x39\\x0b\\xae\\x0d\\xf5\\xdf\\xdb\\x13\\x3c\\xe8\\x2b\\x48\\x07\\x51\\x39\\xc8\\x20\\xf1\\x2d\\x86\\xbe\\xec\\x0a\\xbd\\x9d\\x61\\x67\\x79\\xe6\\xa1\\x30\\x16\\xa3\\x96\\x69\\x49\\x89\\xf3\\xae\\xd5\\x6b\\x0c\\x4d\\x21\\x80\\x64\\x65\\x48\\x62\\x9a\\x58\\xb1\\x9a\\xdc\\xfd\\x85\\x43\\x31\\x31\\xf3\\x2a\\x7b\\x8b\\xc1\\x30\\x52\\x64\\x5d\\x7b\\x8d\\x19\\x2a\\xf5\\x8f\\x8e\\x19\\x4c\\xd5\\x45\\xab\\xc9\\x30\\x06\\x23\\x69\\x85\\xf3\\x1a\\x23\\x55\\x5c\\x84\\x8d\\xc5\\x0b\\x66\\xdf\\xb4\\x10\\xaa\\xec\\x6d\\x80\\xb2\\x3d\\x27\\x91\\x18\\xd6\\xae\\x7d\\xe2\\x0b\\xb5\\xd0\\xae\\x4b\\xc2\\x0f\\xe2\\xb6\\x5a\\xd2\\x26\\xe1\\x94\\xf7\\x91\\x97\\x82\\xc9\\x4b\\xc5\\xf3\\x80\\xa6\\x96\\xe1\\x18\\x5e\\x3f\\xf2\\x4a\\x72\\x6b\\xe3\\x25\\x71\\xfb\\x0c\\xf2\\x20\\x33\\x9d\\xbb\\x48\\xae\\x78\\xbc\\x89\\x74\\x81\\x4f\\x30\\xe0\\xf7\\xc1\\xbe\\x5f\\xfc\\x60\\x32\\x62\\xf3\\x29\\xfc\\x6a\\xf1\\xfb\\x66\\xd2\\xe5\\xdc\\xce\\x17\\xf6\\x8f\\xed\\xeb\\xf3\\xd3\\xd8\\xb9\\x44\\xe1\\xc1\\xbe\\x45\\x3c\\x3f\\x11\\xb1\\x3f\\xa7\\x4f\\x31\\xe4\\xee\\x43\\x34\\x03\\x65\\x52\\xe5\\xdd\\xbf\\x95\\xfd\\x8e\\xa0\\xf9\\x5e\\x73\\xa6\\x17\\xe4\\x1d\\xe2\\xb7\\x37\\x00\\xe4\\x40\\x87\\x70\\xdb\\x39\\x90\\x43\\xf7\\x50\\xba\\x53\\xe2\\x55\\xd6\\x39\\xe0\\x29\\xd0\\x26\\x55\\x6a\\x00\\xe4\\x95\\xfd\\x8e\\x17\\x06\\x50\\x18\\x6a\\x7d\\x47\\x15\\x79\\xc8\\x21\\xec\\x10\\x4f\\xb4\\x90\\xae\\xde\\xbe\\x1f\\xd8\\x8e\\x34\\x97\\x0b\\x30\\x4b\\xc8\\xee\\x5a\\xdf\\x99\\x5c\\xc5\\x5c\\x3f\\xc6\\x95\\x4b\\x9c\\x4f\\x26\\x91\\xc1\\x0e\\x61\\xd7\\x27\\x0e\\x12\\xdc\\xcb\\x2f\\x4d\\xb6\\x19\\xdc\\x7d\\x84\\xed\\xf5\\x54\\xb0\\xd8\\x1a\\xf2\\xf6\\x83\\x6b\\x46\\x5b\\x2f\\x57\\xf2\\x41\\xf0\\x9a\\xd9\\xc4\\xcd\\xb7\\x90\\xa5\\xc0\\x26\\x3b\\xe8\\xac\\xb7\\xbf\\xeb\\xd5\\xa7\\x05\\x55\\x6f\\xd4\\xeb\\x61\\x3e\\x22\\x1e\\x22\\x2b\\x89\\xde\\x41\\x72\\xf9\\xa7\\x1d\\xce\\x8b\\x34\\xbe\\x37\\x26\\x8e\\x69\\xd2\\x58\\xeb\\xa3\\xa1\\x4a\\xa6\\xe6\\xfe\\x31\\x19\\xa4\\xec\\x5f\\x3d\\x25\\xee\\x22\\x8f\\x7c\\xe3\\xa0\\xa7\\x1d\\xce\\x42\\x77\\xbf\\x19\\xef\\xc1\\xf3\\xb4\\x9d\\x69\\x17\\x9e\\xa7\\x7b\\xe4\\x98\\x6f\\xb9\\xfe\\x0c\\xf9\\xb2\\xd8\\x5c\\x43\\xa2\\x48\\xad\\x43\\x58\\xe2\\x3c\\x4c\\xfe\\x5c\\x27\\x1e\\xe7\\xa7\\xf4\\xee\\x47\\x59\\xb6\\xa0\\x9e\\x79\\x0c\\x2c\\x52\\x81\\xe0\\x1a\\xcf\\xb7\\x57\\x3f\\x31\\x93\\x6d\\x13\\x1b\\x6b\\xc8\\x60\\xd6\\x9b\\x9e\\x15\\x5f\\x26\\x0f\\xd5\\x88\\xbb\\x61\\x42\\xd6\\xbb\\xfd\\xc2\\x6b\\xe7\\x60\\xaa\\x54\\x28\\xbd\\xe1\\xaf\\x3f\\x9b\\x35\\x89\\xcf\\xd5\\x91\\x54\\x52\\x09\\x9e\\x11\\x59\\x3c\\x53\\x7c\\x11\\x3c\\xa3\\x1e\\xbe\\x55\\x0c\\x53\\x9a\\x7b\\x34\\x6a\\x76\\x2e\\x87\\x40\\x54\\x6e\\x01\\x5f\\xd7\\xbb\\x8e\\xac\\xe2\\xd7\\x38\\x48\\x12\\x7f\\xa6\\xde\\xb9\\x8c\\xde\\xdf\\x6b\\x3c\\xe9\\x3d\\x37\\x7a\\xab\\xeb\\x7a\\xde\\x30\\x34\\x7c\\x06\\x79\\xf6\\xa8\\x83\\x6f\\x27\\x1b\\xeb\\xc5\\x89\\x62\\xbd\\x30\\xc3\\xab\\xef\\xa8\\xe4\\xbe\\x23\\xcd\\x8d\\xbd\\xb8\\xeb\\xdf\\x33\\x6a\\xa8\\x24\\x85\\x0e\\xbe\\x81\\x3c\\xd4\\x28\\x6e\\xe7\\x67\\xf4\\x99\\xb7\\x7f\\xad\\xee\\x47\\x2e\\x02\\xfc\\x49\\x0e\\x21\\xb2\\xfb\\x2c\\xad\\x2d\\x75\\x3e\\x40\\x0b\\x19\\x6e\\xfe\\x6f\\xd7\\xbd\\x7b\\xbe\\x9c\\xb0\\x98\\x0c\\x42\\x0f\\xde\\xb9\\x80\\x8e\\x1c\\xe9\\xfc\\x33\\xbf\\x4e\\xde\\x7f\\x5c\\xe8\\x55\\x47\\xb0\\x77\\x1d\\x14\\x94\\xc5\\xc3\\x60\\x22\\x55\\x22\\x1f\\x14\\xf9\\x23\\xf6\\xb5\\x43\\xac\\xe8\\x24\\x95\\xcc\\x53\\x6a\\x17\\xff\\x42\\xa7\\x0d\\x75\\x4e\\x26\\x83\\xd8\\x09\\x80\\xbd\\xea\\xf8\\x55\\xf6\\xf5\\x98\\x38\\xaf\\x13\\x9e\\x30\\x7d\\x1c\\x64\\x0a\\x0d\\x1d\\xea\\xcc\\xa1\\x8f\\x79\\x61\\xfe\\x02\\x7b\\x30\\xb9\\x1f\\x0f\\x66\\x76\\x92\\x8d\\x27\\x61\\x40\\xa0\\x05\\x43\\xbb\\x3f\\xda\\x2b\\xf9\\x4a\\x85\\x1e\\x7b\\xf0\\xd8\\x2b\\xfa\\xca\\x3f\\x69\\xaf\\xcc\\x26\\xa6\\x76\\x92\\x1c\\x07\\xc9\\xa0\\xc5\\x43\\x9d\\x4f\\xd2\\xb4\\x5e\\xfe\\x42\\x2f\\x7f\\x99\\x0d\\x84\\x6a\\xdc\\xfe\\x64\\xb5\\xf6\\x63\\x63\\xde\\x5e\\xd3\\xb8\\xe5\\x64\\x80\\xdb\\x6b\\xd2\\x64\\x75\\x2f\\x70\\x8f\\x33\\xb9\\xfd\\x3e\\xfb\\xb3\\xa1\\xf0\\x27\\x70\\xdd\\x96\\x50\\xb1\\x9c\\x0c\\x71\\x7b\\x4e\\x9a\\xec\\xee\\x19\\xe8\\x39\\x5d\\xc7\\xbf\\x61\\x96\\xd6\\x17\\xf9\\xc7\\x46\\x18\\x6f\\xef\\xc9\\x37\\xa3\\x3b\\x0d\\xbd\\xa7\\xdf\\x84\\xdd\\xbf\\xef\\xe4\\x93\\x71\\x75\\x97\\xec\\x3b\\x0d\\xf4\\x8c\\x33\\x2c\\xea\\x0b\\xfa\\x4e\\x94\\x0a\\x2a\\xc9\\x7b\\xea\\x99\\x01\\x7b\\xf9\\x4f\\x59\\x0c\\xec\\xc1\\x8f\\x1d\\x0c\\xe7\\x06\\xd9\\x7f\\xca\\xf5\\x9e\\x4b\\x3d\\xfe\\x13\\xd8\\xbf\\xb2\\x5f\\x7b\\xf2\\xa8\\x7e\\xec\\x4a\\x78\\xf8\\x00\\xa0\\xee\\xa5\\xf4\\x5d\\xae\\xd7\\xb8\\xc7\\xf8\\x21\\xd7\\x71\\xa0\\xfa\\x78\\x50\\x9f\\x88\\xff\\x68\\x23\\x9d\\xcc\\x83\\x72\\xee\\x1c\\xc3\\x2f\\xed\\x3d\\xee\\xa7\\xdb\\x02\\xdc\\x3e\\x0e\\xf8\\x9b\\xca\\x3e\\x8e\\x48\\x7f\\x1e\\xa7\\xc7\\x6d\\x38\\x28\\xbe\\xd2\\xe6\\xf6\\xa0\\xa2\\x44\\x3f\\x80\\x46\\x0f\\xea\\x77\\xc3\\x7f\\x4e\\x3c\\xde\\xe6\\xf6\\xa2\\x26\\x8a\\x36\\xc0\\x47\\x2f\\xaa\\x37\\xbe\\x64\\xa7\\x92\\x8f\\x76\\x8d\\x17\\xd5\\x67\\x45\\xc4\\x83\\xfc\\xa0\\xf8\\x4d\\x9b\\xec\\x43\\x2d\\x12\\xab\\x00\\x58\\x72\\xa2\\xfa\\xcc\\x03\\x3f\\xed\\x43\\x79\\x41\\x3e\\x22\\x7e\\xd5\\x46\\x9e\\x62\\x3e\\xd4\\x04\\x71\\x36\\x43\\x64\\x4e\\x14\\xf2\\xda\\xfc\\x2b\\xfd\\xa8\\x0b\\x6d\\x64\\x95\\x43\\x58\\x21\\x0e\\x19\\xdb\\x5b\\x67\\x4a\\x29\\x0a\\xc8\\xf5\\x50\\x3c\\x18\\x6c\\xaa\\x9b\\x53\\xc1\\x9f\\x76\\x08\\xef\\x38\\xdf\\x6d\\x96\\x30\\x4a\\xfb\\xf8\\x50\\x0a\\x69\\xac\\x14\\xe0\\x3f\\xaf\\xc1\\xb2\\xaf\\x4e\\xd0\\x92\\xa4\\x66\\xfe\\x4b\\x7c\\xb5\\x8e\\xcc\\x26\\x2b\\xc1\\x3d\\x11\\xef\\x9f\\x49\\xee\\x21\\xc1\\x7d\\xf4\\x21\\x3d\\x0f\\xcb\\xfa\\xa6\\xaa\\xbe\\xd0\\xc6\\xfc\\x9c\\x9f\\xe3\\x93\\xf3\\xab\\x3d\\x3e\\x39\\x3f\\xe2\\x47\\xf0\\x95\\xaa\\x3e\\xf8\\xfd\\xce\\x54\\xd7\\xfa\\xe5\\x24\\xd4\\xe3\\x97\\xd3\\x71\\xbd\\xf4\\x0e\\x63\\x08\\x8c\\xf7\\xf2\\x78\\x2a\\xcd\\xb2\\xea\\x5e\\xe8\\xbd\\xfa\\x29\\xf5\\x40\\xb7\\x9c\\x9d\\x05\\x4f\\xf2\\xf3\\x1d\\x30\\x00\\x9c\\x99\\x49\\x76\\x74\\xff\\x45\\x88\\xef\\xe5\\x07\\x80\\xbc\\x25\\xdd\\xe3\\xb8\\xaf\\x62\\x46\\x25\\x77\\xfd\\x7e\\xd6\\x49\\x92\\x60\\x3c\\x65\\x26\\xb0\\xbd\\x12\\x5c\\x69\\xfa\\xb6\\xb8\\xbd\\x91\\x3c\\xf4\\x7d\\x6f\\xbf\\xd2\\x6b\\xdc\\x17\\x78\\xb5\\xc2\\xc3\\x25\\xfc\\xbf\\x0f\\x1a\\x75\\x7b\\xd4\\xe7\\xc4\\x69\\x64\\x0a\\xc9\\x77\\x08\\xd3\\xc5\\x22\\x07\\x5b\\x60\\xf2\\xf6\\x7d\\xa5\\x7e\\x2a\\xf9\\xbe\\x0a\\xe8\\xa9\\x1a\\x2f\\xff\\xb7\\xbf\\xf9\\x5f\\xe5\\xf1\\x81\\x2f\\x8a\\xf5\\xa4\\x89\\xa4\\x38\\xe8\\x03\\xa2\\x83\\x14\\x90\\x78\\xee\\x7a\\xbe\\x3a\\xaf\\xea\\xeb\\x55\\x5f\\xdf\\xaf\\x7e\\x58\\x7c\\x8f\\xd4\\xc3\\x60\\x4f\\xe2\\x49\\xa7\\x43\\xdc\\x4d\\x1f\\xb8\\xae\\x5f\\xad\\xf1\\xf9\\x29\\xbf\\x9a\\xb8\\x97\\xd8\\xde\\x26\\xb7\\x11\\x25\\xf8\\x91\\x0e\\x51\\x10\\xa6\\x4b\\x7b\\x5d\\x3d\\x78\\x9e\\x75\\x1c\\xd6\\xe3\\x79\\x85\\xba\\x8f\\xe6\\x0d\\xfd\\x3e\\x7b\\x2b\\xa4\\xf9\\xf4\\x0d\\x71\\x56\\x35\\x34\\x6b\\x81\\x43\\x88\\x77\\x1a\\xc8\\xda\\x2a\\x91\\xd6\\x02\\xf6\\x54\\x8f\\x0c\\x72\\x7a\\xfb\\x3e\\xbc\\x42\\xd3\\xc7\\xc1\\x32\\xfc\\xa4\\x87\\x35\\xbf\\x8a\\x18\\x49\\xb3\\x83\\xae\\x72\\xfe\\x93\\xdc\\x5c\\x25\\x5e\\xe6\\x97\\x7e\\xc3\\xf8\\xb7\\xff\\x7e\\xfe\\xfb\\xc2\\x19\\xe0\\x12\\x8c\\x74\\xf0\\x73\\x61\\x10\\xbf\\xa9\\x49\\x3c\\x4c\\x72\\x78\\x49\\x46\\x53\\x7f\\x9b\\x7f\\x75\\xbf\\xb8\\xbe\\x8e\\x8c\\x21\\x69\\xe0\\x5f\\x91\\xb9\\x33\\xc5\\x37\\xd0\\xbf\\x9a\\xe2\\x19\\xcb\\xbc\\xe6\\x43\\x36\\x1d\\xf6\\x9d\\x59\\xfb\\xac\\x42\\x26\\x55\\xf3\\x4b\\x1d\\xfc\\x1b\\x55\\xce\\x47\\x84\\xdd\\x8c\\xb7\\x99\\xbf\\xc5\\xaf\\xea\\xa8\\x24\\x16\\x07\\x34\\x7a\\x6d\\xa3\\x78\\x90\\xae\\xc5\\xb6\\x0e\\xf2\\xb6\\x2f\\xe9\\x59\\x55\\xea\\x5c\\x5e\\x8e\\x84\\x31\\xbf\\xff\\x95\\xe7\\x7f\\x8b\\x85\\x6d\\x24\\x0d\\x1e\\x54\\xe8\\xce\\xee\\xa1\\xfc\\xb1\\x31\\x62\\xa8\\x50\\xc2\\x30\\xf3\\xfa\\xeb\\x63\\xa0\\x21\\x4d\\x1f\\x07\\xa5\\x5f\\x0b\\xeb\\xb1\\x80\\xf1\\x6d\\xf0\\x14\\x54\\xed\\xa0\\x19\\xdd\\x87\\x18\\xb8\\x1f\\x6d\\xfe\\x5c\\xea\\x13\\x79\\xbf\\x87\\x6f\\x05\\xe8\\x85\\x64\\xb4\\x83\\x2f\\x84\\x29\\xf6\\xd8\\x18\\xe7\\xe7\\xfc\\x18\\x3e\\x85\\xc9\\xc3\\xe5\\xec\\xa7\\x1f\\x2b\\xc0\\xba\\x34\\x4a\\xf6\\x69\\x09\\x42\\xe7\\x5b\\x2c\\xd7\\x45\\x7e\\x99\\x21\\x4f\\x87\\x87\\x6e\\x62\\x17\\xff\\xc2\\x7f\\x38\\xc6\\xf9\\x0a\\x29\\xa2\\x75\\xbd\\x64\\xfd\\xcb\\x7c\\xab\\x1b\\xda\\xc8\\x1d\\x57\\x1d\\x8c\\xc7\\x06\\xd9\\xb7\\x1a\\xd4\\x9f\\x6f\\xf5\\x13\\xb6\\xc4\\xcf\\xbf\\x8d\\x21\\x15\\x21\\xd0\\x69\\x01\\xe7\\xc6\\x91\\xbf\\xc0\\xb7\\x8a\\x93\\x7d\\xab\\xaf\\xc4\\x95\\x5d\\x30\\xa1\\x1c\\x16\\x7e\\xe8\\xae\\xcc\\xa1\\x12\\x3f\\x23\\x7e\\x0f\\xdf\\xe7\\x8c\\xf8\\xd4\\x32\\xf2\\x30\\x19\\xeb\\xa0\\x4b\\x88\\xb1\\x7b\\x1f\\x60\\x8b\\xcf\\xb1\\x98\\xbd\\xbf\\x17\\xfe\\x7f\\xc4\\x9d\\xcb\\xc8\\x26\\x36\\xd3\\xd6\\x93\\x6f\\x9c\\x7c\\x36\\xbd\\xe2\\x3c\\xc7\\x87\\x7a\\xe1\\xdf\\xf2\\xcb\\xf1\\xbd\\x3d\\xac\\x17\\xc4\\x0f\\x25\\xfc\\x87\\xe9\\x22\\x67\\x49\\x0e\\xed\\xee\\xfe\\x13\\xad\\xe4\\x7a\\xf1\\x8f\\xcf\\xb3\\xee\\xb9\\x56\\xa9\\xe8\\xe3\\x66\\x5d\\xf3\\xfe\\xc9\\x03\\xbd\\x59\\x3c\\x2b\\x41\\x53\\xa7\\xd3\\x0e\\x82\\x71\\xaf\\xf9\\x8e\\xf8\\x95\\x7e\\xd6\\x51\\x40\\xbb\\x4d\\x88\\x70\\x16\\xa0\\x02\\xa5\\x33\\xfd\\x3d\\x3e\\xa0\\xd4\\x7e\\x0d\\xfb\\x92\\xaa\\x67\\xc1\\xaa\\xcf\\x4c\\xc8\\x58\\x63\\x9c\\x9d\\x14\\x9f\\xe8\\x24\\x75\\xa4\\xdc\\x21\\xec\\xd8\\xeb\\xac\\x1e\\xca\\xbf\\x4c\\x72\\xbd\\xf1\\x7e\\x99\\xcf\\x15\\xe7\\xf1\\xb9\\x3e\\x17\\x9f\\x5b\\x4c\\x16\\x92\\x21\\xe0\\x72\\x39\\xdb\\x87\\xf2\\x47\\xd1\\xe5\\xea\\xf5\\xfc\\xfe\\x9b\\x7c\\xae\\x83\\xe2\\xd3\\x8b\\xc9\\xd3\\xcc\\x12\\xec\\xe4\\x76\\xe7\\x82\\x91\\x74\\xa4\\x38\\x89\\x1f\\xf5\\xdb\\xf0\\xbd\\x2d\\xe1\\x59\\xf1\\x5d\\x09\\xff\\x05\\xfe\\x2b\\xe7\\x56\\x80\\x77\\x9a\\xe9\\x8d\\x8c\\xff\\x82\\x7e\\x7d\\x2e\\xa5\\xa2\\xcf\\xcc\\xcb\\xd0\\xaf\\x63\\x09\\x4f\\x88\\x47\\x17\\x81\\xcf\\x0d\\x96\\x70\\xb7\\x73\\x57\\x29\\x2d\\xeb\\xbe\\x57\\x50\\x79\\x64\\x73\\xad\\xdf\\xc5\\xce\\x67\\xfb\\x79\\x7e\\xd7\\x5b\\x9d\\xe4\\x19\\x07\\x7d\\xd9\\xf9\\xe8\\x50\\x3a\\xf6\\x51\\x86\\xb7\\xc1\\xc3\\xab\\x3c\\x36\\xf4\\x6f\\x11\\x92\\xbf\\xe5\\xb6\\x87\\xa3\\xe2\\xbd\\x33\\x60\\xd2\\x2b\\x73\\x08\\x33\\xc4\\x7a\\xf1\\xfe\\x7a\\x32\\x99\\x6f\\xf7\\xc2\\xc2\\x39\\x8b\\xaa\\x54\\xbc\\x52\\x09\\x23\\x1f\\x8b\\xb0\\xa9\\x50\\x29\\xfa\\x9b\\xb3\\x34\\xc8\\x97\\x21\\x8e\\x5a\\x9c\\xff\\x9c\\xc1\\x3f\\xe2\\x70\\xd0\\x0f\\x9d\\x4b\\xeb\\xf9\\xd3\\x67\\xaf\\xac\\xf4\\xe6\\xed\\x57\\xfb\\xf4\\x1f\\x8b\\x27\\x66\\x90\\x32\\x32\\x05\\x3c\\x23\\xf1\\xd5\\x7a\\x32\\x5b\\x7e\\xf7\\xb8\\xe1\\x37\\xd8\\x97\\x97\\x63\\xfc\\x9a\\x4b\\x12\\x02\\x29\\x26\\xd9\\xe2\\xe9\\x7a\\xb2\\x44\\xdc\\x47\\x6f\\xe9\\x2d\\xd3\\x5e\\x3e\\xb7\\xa4\\x7e\\xa5\\x3c\\x76\\x5f\\xcb\\x39\\x51\\xf5\\x3c\\x73\\x7d\\x54\\x85\\xd0\\x7c\\xf9\\x0f\\x4d\\x64\\x89\\xf3\\x90\\xb0\\x9c\\xbb\\x9e\\xcf\\xfd\\x73\\x74\\x6f\\xe8\\xf1\\xb9\\xf9\\x7b\\xd0\\xe7\\xe6\\xd3\\xfa\\xfa\\x9c\\x1e\\x9f\\xbb\\xdf\\x15\\xec\\xbe\\x1e\\xf7\\x71\\xb1\\x9c\\x4c\\x20\\x43\\x1d\\xf4\\x88\\x13\\x9e\\x98\\x1e\\xeb\\xbb\\xde\\xdc\\xcb\\xe7\\x76\\x7b\\x04\\x3f\\xe2\\x73\\x53\\x8f\\x33\\x7b\\x41\\xac\\x21\\x15\\x6c\\x9d\\x25\\x5e\\xcc\\x71\\xf0\\xad\\x30\\xd0\\xfc\\x16\\x5c\\x2f\\x27\\xf9\\x7d\\xf1\\x41\\x12\\x0d\\x8f\\x31\\xfc\\xdd\\xe2\\x4e\\x07\\xb9\\x95\\x8f\\xe8\\xc7\\xef\\x56\\x33\\xef\\x4a\\xa5\\xf1\\x21\\x3c\\xaf\\x14\\xd4\\xca\\x7e\\x64\\x20\\x03\\xc2\\x20\\xf6\\xba\\xbc\\xc3\\x04\\xbc\\x3f\\x87\\xf8\\x85\\xb0\\xed\\xca\\xca\\x3e\\xeb\\xad\\x5e\\xcf\\x31\\x28\\x52\\xb7\\xc7\\x72\\xed\\x38\\xdb\\xe3\\x6f\\xe3\\x9a\\x2b\\x47\\xa0\\x23\\x1c\\xec\\xce\\x24\\x5d\\x4d\\x5f\\x08\\x77\\xf4\\x7a\\x46\\xf4\\xf6\\x55\\xfa\\xf1\\xb2\\xae\\x45\\xcd\\xed\\x81\\xf5\\x23\\x37\\x3a\\xe8\\xe4\\xee\\x7f\\x00\\xec\\xff\\xe8\\xd1\\xed\\xfd\\xac\\x65\\xfc\\x42\\xff\\xcd\\x6b\\x99\\x38\\x92\\xcc\\x41\\x0f\\x0b\\xb0\\xc5\\x2b\\xfc\\x4a\\x3e\\xa5\\xdf\\x77\\x59\\xbf\\xca\\x7f\\x03\\xf4\\x42\\x32\\x0a\\xbc\\x59\\xf0\\xde\\x01\\xfd\\x38\\xc9\\xa5\\x77\\xf5\\x7a\\xdf\\xf6\\x73\\x7c\\x2c\\x1c\\x0f\\xc4\\x6c\\x71\\x56\\x15\\xe9\\x24\\xbe\\x0e\\xb2\\xb8\\x45\\xfc\\xbb\\xf0\\x83\\xfc\\xde\\xee\\x57\\xf8\\x58\\x0e\\x86\\x34\\x18\\x71\\x3e\\x96\\xd6\\x41\\x7b\\xbf\\x8b\\x44\\x1f\\x8b\\x2a\\xfb\\xbe\\x8b\\xf4\\xf2\\xaf\\xbe\\x10\\xe7\\xad\\x26\\x5b\\x98\\x7f\\x75\\x55\\x95\\xa9\\x98\\xd8\\xe7\\x5d\\xa9\\xd7\\x78\\x87\\x7b\\x22\\x3c\\x50\\xfd\\xbc\\x29\\x4d\\xe8\\x99\\x36\\x7e\\x10\\x6f\\x5f\\x41\\x9e\\x63\\xd3\\xc6\\xed\\x57\\xae\\x2e\\xcb\\x50\\x4c\\x14\\xdf\\x22\\x83\\xfa\\xbe\\xdf\\xfd\\x25\\xd8\\x5e\\x53\\xd2\\x87\\xe2\\x93\\x2b\\x11\\x9b\\x1f\\x4d\\xbe\\xbc\\xfa\\x6f\\x00\\x77\\x1e\\xe6\\xa5\\x35\\x5b\\xd3\\xaf\\xc1\\xf6\\x9e\\x49\\x77\\x8a\\x8f\\xad\\x20\\xef\\x02\\xf6\\x7f\\xa9\\xbe\\x5b\\x63\\x51\\x8c\\xeb\\x3e\\x4e\\x13\\x24\\xbe\\x23\\xfb\\xac\\x57\\x63\\x7f\\x52\\xb1\\x05\\x0c\\xb9\\x37\\x59\\xaf\\x37\\x87\\x6e\\x13\\x9f\\x5f\\x4e\\xfe\\x2d\\xaf\\x05\\x67\\x29\\x6e\\xe8\\x79\\x57\\xdb\\xf3\\xce\\x17\\xe7\\x3c\\xc9\\x9f\\xe2\\x95\\xb4\\x97\\xb6\\xfa\\xbe\\xfb\\x5b\\x4d\\x5e\\x47\\x24\\x54\\x96\\xf7\\xbb\\x0b\\x8c\\xd6\\x2d\\xf9\\x52\\xbc\\x5a\\xe8\\x0f\\xc3\\xe3\\x47\\xbd\\x27\\x4e\\x5c\\x49\\xb6\\xb1\\x79\\x73\\xc7\\xfb\\xdd\\x81\\x79\\x02\\x25\\x23\\xb9\\x7e\\xf6\\x44\\x28\\xdc\\x7b\\x22\\x34\\x1e\\x23\\xbc\\xae\\x0f\\x75\\x49\\x6c\\xec\\x22\\x2f\\x90\\x89\\xe0\\x43\\x75\\x47\\xe6\\x08\\xf9\\x6e\\x1f\\x2a\\xa1\\xbf\\x77\\xbd\\x38\\xc7\\x79\\xc3\\x5e\\xbb\\x52\\xd1\\xcb\\x53\\xbf\\x63\\x19\\xf9\\x27\\x78\\xea\\xfc\\x02\\xf0\\xd4\\x97\\xe7\\x08\\x65\\xe2\\x73\\xfc\\x94\\x5f\\x8f\\xed\\xad\\xf1\\x23\\xe2\\xc3\\x2b\\xc8\\x11\\x62\\x75\\xbc\\xc9\\xcf\\xee\\x7e\\x37\\x57\\xb0\\x39\\x57\\xb3\\x07\\xd5\\x3e\\xfb\\x65\\xbc\\x7c\\x27\\x98\\x39\\xa9\\x17\\xf2\\x75\\x75\\xfe\\xf2\\x8d\\x64\\x27\\xd3\\x79\\x5c\\xf7\\x89\\x1c\\xc1\\xde\\x7d\\x42\\x08\\xf5\\xc8\\xa3\\xd7\\x9e\\x1e\\xf7\\xdc\\x49\\x54\\x6e\\xd8\\xeb\\xfa\\x4c\\xdb\\x96\\x91\\x9d\\xf0\\xb4\\xd2\\xed\\xc8\\x11\\xde\\x58\\xc7\\xf5\\xda\\x67\\xf4\\xf3\\xec\\x87\\x3d\\xdf\\xaf\\xef\\xe4\\xcf\\x39\\x84\\x59\\x57\\x1f\\x28\\x61\\x1f\\x47\\x5e\\xbb\\xff\\xc9\\xfd\\x2e\\xbe\\x47\\x80\\xd7\\xac\\x4b\\x79\\x9a\\x79\\x59\\x9c\\xbb\\x98\\xfc\\x89\\xd4\\x39\\xe8\\xf3\\x3f\\x38\\x4b\\x4b\\xf9\\x7f\\x93\\x7a\\xe2\\xdf\\xcf\\x3e\\xad\\x9f\\xb6\\x23\\x2f\\x5f\\xe9\\xb2\\xf8\\x50\\x07\\x71\\x90\\x69\\xe0\\x2b\\x39\\x1b\\xcb\\xf8\\xe3\\xb2\\xaf\\x94\\xfb\\xdb\\xed\\xe8\\xa0\\xf8\\xe8\\x1c\\xf0\\x93\\xcb\\x1d\\xc4\\x4c\\x32\\x9c\\xcf\\x8f\\xe1\\xcf\\x88\\xcf\\xd1\\x3f\\xf7\\xda\\x0b\\xe7\\xad\\xeb\\x3e\\x8b\\x12\\x3f\\xa6\\x6b\\x09\\x96\\x8f\\x71\\x9e\\xac\\xe0\\xcf\\x38\\xdf\\x17\\xba\\xfa\\xdf\\xbf\\xf5\\xb3\\x74\\x2d\\x0d\\xeb\\xdb\\xda\\xc9\\xab\\x08\\x58\\xc6\\x9f\\x46\\x5b\\x2f\\xfd\\x05\\xfd\\xdc\\xe3\\x1f\\x7f\\x22\\x4e\\x98\\x4e\\xd6\\x13\\xbb\\x03\\x1e\\x3e\\x1f\\x12\\x67\\x37\\x91\\xa5\\xd8\\xde\\xbe\\x7b\\x1d\\x7f\\x5a\\xe7\\x88\\x88\\x73\\xf8\\x87\\xe2\\xd8\\x89\\x64\\x23\\xb3\\xec\\x16\\xd1\\x22\\x36\\xcf\\x21\\x6b\\xf8\\xbf\\x9e\\xef\\x67\\x2f\\xe6\\xcf\\x6c\\x2b\\x33\\xc9\\xe5\\xd5\\xfc\\x29\\x07\\xbf\\xd0\\xf9\\x60\\x15\\xbf\\x8f\\x1f\\xcd\\x5d\\xbb\\x57\\xf4\\x17\\xd9\\xcf\\x3e\\xf1\\xe5\\x3a\\xb2\\x80\\xcc\\x05\\x7f\\x48\\xdc\\x5a\\x4b\\xda\\xd1\\x29\\xf4\\xde\\xd3\\xfa\\xeb\\x74\\xbc\\x63\\x26\\xb6\\x1a\\xa6\\xff\\xf7\\x6a\\xc9\\x1a\\x71\\x9f\\xb0\\x87\\xeb\\x77\\x4f\\xe6\\x2f\\xd1\\xf1\\x74\\xb2\\xc9\\x41\\x92\\xc5\\xa3\\x0d\\x64\\x15\\x7d\\x98\\xeb\\xb3\\x87\\xb7\\xe7\\x9d\\xa3\\x9a\\x05\\x30\\xb1\\xec\\xb2\\x5e\\xe3\\x59\\x11\\xb7\\x17\\x0c\\x0f\\x18\\x1b\\x88\\x3f\\x59\\xed\\xa0\\xaf\\x75\\x97\\x38\\xc0\\xa1\\xb8\\xce\\x1e\\x63\\x5c\\x19\\xf5\\x42\\xeb\\xcf\\x4b\\xcd\\xf5\\x00\\xea\\xd9\\x4b\\x88\\xc4\\xee\\x0f\\x1c\\x42\\xca\\xbb\\xd7\\xdf\\x5f\\xfd\\x73\\x30\\x25\\x21\\x9e\\x12\\xd7\\x91\\x08\\xd2\\xee\\xe0\\x4b\\x9c\\xaf\\x39\\xf8\\x6f\\x79\\xe5\\xef\\x80\\xc9\\xbc\\x69\\x2b\\x99\\xe9\\x20\\xa9\\xe2\\xfb\\x0e\\x32\\x13\\xc4\\xc8\\x11\\xd1\\x22\\x14\\x92\\x03\\x30\\xbc\\x69\\xb9\\x48\\x9b\\x4e\\x50\\xab\\x5f\\xd7\\x12\\xad\\x4d\\xe3\\x57\\xa6\\xf5\\x61\\x87\\x49\\x58\\xad\\xfb\\xd3\\x2a\\xa5\\xa0\\x17\\xaa\\xb8\\xa4\\x38\\xf9\\x1f\\x20\\x1e\\x98\\x64\\xcb\\x7e\\x35\\x1b\\xff\\x4d\\xa2\\x9b\\x14\\x21\\xc7\\x58\\xd0\\xc8\\x63\\xd2\\xfc\\xef\\xf5\\x4d\\x59\\x84\\x4d\\xeb\\xab\\x63\\x1f\\x94\\x09\\xd1\\x02\\xcf\\x1e\\x87\\x2d\\x39\\xfb\\x2a\\x73\\xdc\\x07\\xa2\\xfd\\xec\\x4f\\xc7\\x38\\x5e\\xdc\\xa3\\x58\\x47\\x06\\xab\\x62\\xf0\\xdb\\x4a\\xe3\\x4b\\x9c\\x4a\\x55\\x48\\x09\\x05\\x6f\\x7f\\x5f\\xa5\\xd5\\x90\\x8f\\xe1\\x14\\xad\\xa6\\x20\\x05\\xdb\\x1e\\x7f\\x60\\x67\\x83\\xd8\\xca\\x77\\x28\\x27\\xb2\\x8d\\xfd\\xbb\\xee\\xbb\\xef\\xda\\xfb\\xf5\\x2f\\x72\\xec\\x6e\\x15\\x7e\\x39\\x50\\x99\\xcf\\xbe\\x28\\x62\\xdf\\x44\\xb0\\xbb\\xed\\x0d\\x3b\\x0f\\x88\\xff\\x66\\x77\\xb3\\x2f\\x1f\\xf0\\x6e\\xb6\\x37\\xbf\\x8d\\x14\\xc3\\xbd\\xc1\\x5c\\x04\\x97\\x64\\x0b\\x0e\\x52\\x98\\xfc\\x58\\x34\\x75\\x3f\\x3f\\x83\\x2e\\x2c\\x3a\\xcc\\x12\\x46\\xc3\\x0c\\x1a\\xfc\\x08\\x62\\x5f\\xa5\\x21\\xdf\\x92\\x96\\xcf\\xdc\\xc6\\x00\\xf7\\x2e\\x7d\\x8c\\x45\\x2f\\x6f\\xd3\\x4f\\xc0\\x7a\\x96\\x79\\x36\\xea\\xfb\\xd4\\xdb\\x7b\\x76\\xea\\x8b\\x5d\\x50\\xb7\\xa2\\x0d\\xb7\\xea\\xb7\\x35\\xe3\\x5e\\xfd\\x23\\x3d\\xdf\\x5f\\x48\\x3c\\x98\\x81\\x87\\x58\\x2e\\x93\\xcb\\xb3\\x99\\x4d\\x71\\x71\\x81\\x0a\\x60\\x21\\x65\\x46\\xe4\\x3f\\x22\\xf9\\x48\\x9b\\x9f\\xbe\\xcc\\x12\\x49\\x78\\x5d\\x64\\x34\\xfc\\xf2\\xf0\\x53\\x5d\\x99\\xb6\\x20\\x07\\x3f\\x1e\\x40\\x2d\\xf6\\xcb\\x55\\xd2\\x75\\xbe\\x97\\xb8\\x0e\\x9f\\xeb\\xaf\\xf9\\x84\\xa2\\x37\\xcf\\xdf\\xf4\\xfb\\x2d\\xc5\\x76\\xc5\\xf3\\x64\\x28\\xc6\\x83\\x31\\x70\\xfe\\x5b\\xfd\\xfd\\x39\\xa5\\x9f\\x3b\\x86\\x8f\\xf7\\x27\\x31\\xa6\\xdc\\x80\\x98\\x20\\xb2\\xcf\\x52\\x32\\x22\\xd3\\x32\\xbc\\xa8\\x70\\x3d\\xd1\\x88\\xff\\x54\\x0e\\x1e\\x9e\\x95\\x55\\x5c\\x94\\x9d\\x35\\xdc\\x11\\x43\\xfc\\x13\\xc4\\xef\\x19\\xde\\xbb\\x8a\\xe5\\x24\\x0b\\xf0\\xd4\\x5c\\x20\\x48\\x23\\x5e\\xad\\x50\\xa8\\xf2\\x35\\xa3\\x34\\x7c\\xb2\\x86\\x68\\xd8\\x67\\x80\\x6d\\x3a\\xfa\\x8e\\x8e\\xe8\\x6c\\xfe\\x86\\x32\\x1d\\xb3\\x67\\x9d\\x14\\xc0\\x25\\x2d\\xad\\x72\\x41\\x4e\\x25\\x53\\x93\\x15\\x83\\x05\\x4a\\x5f\\xa4\\xa8\\xbc\\x3f\\x53\\xc9\\x92\\x3e\\x46\\x39\\x23\\xf3\\xa0\\x6c\\x93\\x3e\\x41\\x19\\xe0\\x66\\x02\\xbf\\x45\\x91\\xed\\xc9\\x8c\\xdf\\xc3\\x84\\x73\\x31\\xb6\\x00\\xce\\xcf\\xcf\\xb8\\x52\\xb9\\x4e\\x79\\x52\\x49\\x95\\xac\\x42\\x65\\x68\\x08\\x56\\x58\\x99\\x23\\x4b\\xbe\\x7f\\x21\\xab\\xc0\\xe8\\xae\\xf9\\x18\\x67\\x07\\x18\\x60\\x4d\\x5f\\x31\\x1e\\x00\\x63\\xc4\\xf3\\x5a\\xf8\\x7c\\x39\\x86\\x5e\\x84\\x32\\xc0\\x08\\x23\\xa8\\x7a\\x9c\\x5d\\xa7\\x61\\x01\\x55\\x7d\\x2b\\xec\\xda\\x7e\\xc2\\x5b\\x61\\x28\\x52\\xef\\x18\\xb0\\x3d\\xf1\\x53\\xd9\\x67\\x4e\\x06\\x6b\\x90\\xf4\\xa5\\xd3\\xdd\\x77\\xd7\\x90\\xd5\\x6b\\xc8\\x63\\xe2\\x4b\\x18\\xf3\\x75\\x54\\x33\\x19\\x19\\x52\\x2c\\x56\\x37\\xe3\\x37\\x55\\x63\\x5c\\xe7\\x85\\x3a\\xe5\\x07\\xc6\\x44\\x5a\\xcf\\xe2\\x42\\xf0\\x6b\\x89\\xbf\\xeb\\xb4\\x41\\xa5\\xfa\\x33\\x31\\x91\\x01\\xf0\\x2c\\x1a\\x28\\xd0\\x95\\xa9\\xa4\\x3a\\x95\\x14\\xa6\\x12\\x5d\\x2a\\x49\\xe5\\x53\\x0c\\x89\\xfc\\x36\\xd7\\x0f\\x5b\\x93\\x52\\xa8\\x5f\\x02\\x49\\xcb\\xe5\\xd2\\x72\\x59\\x10\\x90\\xca\\xdc\\xdc\\x1f\\xc5\\xdb\\x44\\x26\\xfe\\xae\\x78\\x4f\\x73\\x17\\x7e\\x57\\xbc\\x67\\x48\\xcc\\xaf\\xc7\\x53\\x8d\\xf6\\xe0\\x6d\\xe4\\x3e\\x75\\xed\\x66\\xf2\\x03\\xfe\\xfe\\xc2\\xe5\\x23\\xde\\x00\\x52\\x3d\\x80\\x14\\x0e\\x20\\xd1\\x03\\x88\\x6e\\x00\\x19\\xc0\\x27\\x6e\\x73\\xbd\\xf1\\xa2\\x31\\xa4\\x2c\\x11\\xa1\\x2f\\x6f\\x4d\\xc9\\x76\\x43\\xcb\\xd8\\x0c\\xfc\\x47\\xb0\\x37\\x91\\xe4\\xff\\x33\\xec\\xa7\\xb9\\x23\\xff\\x67\\xd8\\xcf\\x70\\x57\\x7e\\x33\\x36\\xe7\\x3a\\xcf\\x2f\\x46\\xfd\\xcd\\x01\\xec\\x44\\x7e\\xed\\x39\\xb4\\x56\\xd7\\x79\\xd0\\x5e\\x86\\x2d\\x92\\xf2\\x2b\\x83\\x48\\x75\\x10\\x29\\x0c\\x22\\xd1\\x41\\x44\\x17\\x44\\x82\\x88\\xc1\\x90\\x48\\x7c\\x8c\\x01\\x82\\xca\\x5b\\x7b\\xa8\\x3e\\x86\\xc7\\x03\\xde\\x5f\\xae\\xc1\\xdb\\xc4\\xc5\\xfe\\x4a\\xbc\\xfe\\xf9\\x7b\\xfa\\x37\\xf1\\x77\\xfb\\x35\\x78\\xcf\\xc0\\x74\\xfc\\xab\\xf0\\x5c\\x57\\x01\\xaf\\x43\\x35\\xd0\\x83\\xb7\\xf1\\x1c\\x5a\\xab\\xeb\\x1c\\x59\\x0f\\xe3\\x6d\\x20\\xe0\\x45\\x93\\xea\\x68\\x52\\x18\\x4d\\xa2\\xa3\\x89\\x0e\\x28\\x31\\xb0\\x20\\xd5\\x5a\\x50\\x0d\\x03\\x0e\\x8c\\xf0\\x00\\xf7\\xd6\\x8b\\x3f\\xe0\\x6e\\xbd\\x06\\x77\\x13\\x97\\xf3\\xdb\\x70\\x5d\\x9f\\xf5\\xcb\\xef\\xd3\\xae\\xf7\\x7e\\x23\\xbf\\xbe\\x80\\x7b\\xf3\\x35\\xb8\\xcf\\xb8\\xfe\\xf7\\x1b\\x71\\xa3\\x5c\\xe7\\xe9\\x49\\xd4\\x57\\xa7\\x34\\xbe\\x70\\x6f\\x49\\xe3\\x29\\x77\\x00\\x34\\x96\\x65\\x33\\x01\\x72\\x38\\xa9\\x0e\\x27\\x85\\xe1\\x24\\x3a\\x9c\\xe8\\xc2\\x49\\x38\\x31\\x01\\xe0\\x36\\xd7\\x85\\xad\\x21\\xa1\\x34\\xf0\\x1a\\xa5\\xfd\\x08\\xe6\\x26\\x42\\x7f\\x77\\xcc\\xa7\\xb9\\xd7\\x7e\\x77\\xcc\\x67\\x7e\\x6b\\xdb\\x71\\x2c\\xe9\\x94\\xc7\\x92\\xb7\\xe4\\xf1\\xf5\\x2d\\x69\\x2c\\x01\\xcc\\x04\\x52\\x9d\\x40\\x0a\\x13\\x48\\x74\\x02\\xd1\\x25\\x90\\x04\\x62\\x92\\xc7\\x12\\x37\\x76\\x58\\xac\\x1b\\xbb\\x1f\\x5d\\xf5\\x83\\xbd\\x89\\x04\\xfe\\x9f\\x61\\x3f\\xfd\\x7f\\xc8\\xf7\\x33\\xdc\\x87\\xbf\\x19\\x9b\\x8d\\x5f\\x1d\\xca\\x83\\xee\\x7e\\xc1\\xcd\\x3e\\xf7\\x9c\\x41\\xa5\\xd9\\x4e\\xf2\\x5d\\xcf\\x71\\x43\\x6d\\x29\\x02\\x5d\\x9f\\x42\\xcc\\x29\\x24\\xc5\\xe6\\xaf\\x2f\\x4b\\xb1\\x69\\x02\\xca\\x52\\x78\\xc2\\x19\\xc8\\x33\\x06\\x62\\x60\\x3e\\x99\\x81\\x27\\x3e\\xe6\\x30\\xa9\\x6b\\xe4\\xb2\\x90\\x4a\\x0b\\x72\\x73\\x0d\\xe0\\x9c\\xf5\\x1a\\x1f\\xaf\\xc5\\xdf\\xf1\\xbb\\xe1\\x9b\\x10\\x7f\\x4f\\x6f\\x7c\\x1f\\x8e\\xe4\\x73\\xdf\\x71\\x83\\x6d\\x49\\x02\\xb5\\xa4\\x90\\x0b\\x29\\x64\\x3d\\xab\\xe2\\x67\\xa2\\xb3\\xb0\\x50\\xb9\\xd7\\xc5\\xd6\\xb8\\x7e\\x17\\x6c\\xa9\\xef\\x1c\\x74\\xeb\\x94\\x9b\\x0d\\x3a\\x45\\xc9\\xf3\\xe1\\x20\\x99\\x72\\x5b\\x3a\\xa0\\x5b\\xc8\\x05\\x0b\\x39\\x69\\x21\\xcf\\x58\\x88\\xd9\\x42\\x2c\\x4c\\x44\\x16\\x9b\\xc6\\x50\\x66\\x81\\x8a\\x4c\\xe4\\x19\\x13\\x31\\xb1\\x8a\\x4c\\x3c\\x2a\\x38\\xd1\\x2c\\x29\\xb8\\x97\\x94\\xa4\\xea\\x7e\\xac\\xbe\\x1d\\xff\\xa7\\xf5\\xed\\xe9\\x5b\\x9f\\x0f\\xc7\\x87\\x83\\xf4\\x8a\\x6d\\xf1\\x02\\x1d\\x07\\x75\\x60\\x95\\xcf\\xb0\\xca\\x7c\\x7e\\x76\\x3d\\x18\\x81\\x2e\\xf7\\xfa\\x75\\x68\\x5c\\xbf\\x63\\x1d\\x6c\\x3d\\xcb\\xac\\xca\\x32\\x26\\xb2\\x37\\x2a\\x06\\x15\\xb7\\xd8\\xb5\\x8f\\xfc\\x99\\xf3\\x7d\\x91\\x0f\\x33\\x85\\x09\\x3c\\xf6\\x28\\x5c\\x27\\x88\\x17\\x4b\\x14\\xf5\\x8a\\x91\\x5c\\x22\\x57\\x61\\x4b\\x8d\\x31\\x99\\x22\\x74\\x1c\\xa7\\x8a\\xa0\\x49\\xc9\\x71\\x01\\xb5\\xf6\\x38\\x21\\x26\\x2c\\x3a\\x3a\\xb2\\xda\\x1e\\x4d\\x4d\\x11\\x61\\x11\\xd5\\xf6\\x30\\x23\\xf5\\xab\\xb1\\xab\\x68\\x38\\x3b\\x77\\xde\\x13\\x79\\x4a\\x72\\xf1\\xfb\\x44\\x8e\\x95\\x62\\x99\\x26\\x19\\xac\\x26\\x39\\x80\\x0e\\x06\\xc4\\xf1\\x0a\\x8a\\x6e\\x62\\xb1\\x06\\x83\\x14\\xf5\\x5f\\x7f\\x34\\x66\\x43\\x9a\\x3d\\x2a\\xa0\\x34\\x75\\xc4\\x8c\\xda\\x79\\x43\\x1e\\xee\\xdc\\xec\\x6c\\xdd\\xbc\\x99\\x9c\\xe1\\x89\\xfa\\xc8\\x9e\\xe7\\xd5\\xc7\\xbe\\x30\\x68\\x49\\xd6\\xf3\\xa6\\xb0\\x9a\\x2a\\xc1\\xf6\\x87\\x5b\\x32\\x87\\x76\\x87\\xba\\x83\\xf1\\x2e\\xbf\\x75\\x1b\\xee\\x03\\x4e\\x12\\x4b\\x15\\x9b\\x15\\x43\\xe1\\xc9\\x74\\x9c\\x2d\\x35\\xd4\\xcf\\x1c\\xa2\\x0b\\x0c\\xa4\\x66\\x1a\\x1f\\x17\\x1d\\x16\\x64\\x0a\\xaa\\xb6\\xfb\\x87\\x6a\\xa9\\x31\\xc2\\x44\\x75\\x81\\xc6\\xc0\\x6a\\xbb\\xd1\\xc8\\x69\\xaa\\xed\\x02\\x3c\\x35\\x15\\xe6\\xf4\\xb4\\xc1\\x13\\x15\\x5d\\x6e\\x84\\x15\\x5f\\xbe\\x10\\xaf\\x16\\x0c\\x25\\x3d\\xd1\\x78\\x63\\x88\\x1c\\x31\\x38\\x50\\x49\\x6f\\xcb\\x70\\x44\\x8e\\x89\\x33\\x95\\x46\\xb4\\x2d\\xee\\xde\\xbf\\x55\\x8c\\x03\\xde\\xf7\\xf2\\x1b\\xb6\\x92\\x13\\x9b\\x5f\\x11\\x4b\\x03\\x7c\\x88\\xf0\\x80\\x4e\\xbf\\xb4\\x65\\x89\\x90\\xde\\x9d\\xe9\\x66\\xbc\\xfb\\x6f\\xfc\\xf7\\x2c\\x7c\\xf4\\x95\\xfd\\x9b\\x5f\\x60\\x7b\\x96\\x5c\\xe7\\x15\\x23\\x40\\x07\\x09\\xdc\\x78\\x5b\\x8a\\x5e\\xa9\\xf4\\x4d\\x30\\xf9\\x9a\\x12\\x93\\x94\\xbe\\x1a\\xdf\\x6a\\xbb\\x46\\x13\\xe6\\x1f\\x16\\x5b\\x6d\\x8f\\x0c\\x0b\\xd0\\x07\\x04\\xf0\\xb5\\xf6\\x00\\xc1\\xdf\\x0f\\xda\\x44\\x39\\xaf\\xd8\\x5f\\x56\\xaf\\x03\\x1f\\xd8\\x43\\x96\\x47\\x0b\\x44\\xdf\\x47\\xe8\\x03\\x51\\xea\\x06\\x3d\\x17\\x13\\x9b\\x44\\xdd\\xba\\x11\\xe2\\x3f\\x1f\\xb5\\xb7\\x7d\\xb3\\xf3\\x48\\x65\\x25\\x69\\xf3\\x5f\\x4a\\x7c\\x5a\\x8e\\xee\\x13\\xb7\\x8a\\x8f\\xbf\\x7b\\x9f\\x30\\x32\\x39\\xa3\\xfe\\x86\\xf7\\xdf\\xa6\\xcf\\x10\\xdd\\xe0\\x02\\xb1\\x35\\xb4\\xa8\\x28\\x94\\x4f\\x0f\\x2d\\xba\\x75\\x78\\xc5\\x6b\\xfb\\xc4\\x59\\xe2\\xc7\\xe2\\xa7\\xc9\\xc4\\xf0\\x80\\x39\\xf4\\xd4\\x05\\x69\\x9d\\xe3\\x0c\\x37\\x8a\\xbb\\x4c\\x6f\\xe6\\x54\\x5c\\x00\\x17\\xf0\\x9c\\xaf\\xf2\\x55\\x52\\x04\\xcf\\x8a\\x3c\\x19\\x8e\\x07\\xee\\xc3\\x73\\xa8\\x3e\\xc6\\x6c\\x80\\x7f\\xd4\\x2b\\x3e\\xd2\\x65\\xf1\\xa2\\x78\\x85\\xf8\\x12\\xcd\\x0b\\xa9\\x99\\xe9\\x89\\x89\\xe9\\x30\\x3c\\x7d\\x2e\\xd6\\x90\\x3f\\x91\\x8d\\x62\\xd3\\x8e\\x7b\\xd7\\xef\\xd9\\x73\\xd7\\x03\\xb8\\xae\\x13\\xc1\\x4d\\xe1\\xce\\xd2\\x9b\\x38\\x1f\\xce\\xf4\\x9c\\x52\\xb3\\x8d\\x14\\x3d\\xcf\\x29\\x14\\x74\\x1b\\x29\\x06\\x6c\\x03\\xa2\\xe7\\x49\\x0d\\x55\\xe5\\xe6\\x59\\xed\\xb7\\x8b\\x79\\x6b\\xd7\\x9e\\x9e\\xfe\\x37\\xff\\xe1\\xc3\\xfd\\xf9\\xa2\\xcc\\xe2\\x3f\\x20\\x86\\x9a\\x9b\\x42\\x94\\xf4\\x16\\x2e\\x8c\\x0b\\xda\\xe2\\xef\\x63\\x60\\xec\\x85\\x72\\x04\\x21\\x0a\\x99\\xc6\\x13\\x62\\x72\\x87\\x51\\x8c\\x5a\\xcd\\x0e\\x86\\x90\\x1e\\x92\\xfd\\x89\\x0e\\x9e\\xba\\x94\\x22\\x3f\\x76\\xf1\\xf8\\x94\\x82\\xdc\\xdc\\x84\\xb0\\x61\\x0b\\xc6\\xaf\\xb9\\x23\\xbd\\x7e\\x76\\x2b\\xe9\\x9c\\xb2\\x60\\x62\\x47\\xf3\\xfc\\x71\\xc5\\x23\\xa2\\x3b\\xb6\\x87\\xb5\\x36\\x94\\xcc\\x6d\\x99\\x5a\\xcd\\x11\\xd1\\xc9\\x8d\\x26\\xbe\\x50\\x4f\\x02\\xdb\\xef\\x18\\xa7\\x9f\\x69\\x98\\x6b\\xb8\\xd1\\x40\\x7d\\x0d\\xe1\\x86\\x34\\x03\\x35\\x18\\x68\\xb8\\x29\\x0a\\x1a\\xb0\\xc5\\x47\\x09\\xfc\\x0f\\xc7\\x63\\x11\\x70\\xa3\\x4f\\x65\\xa5\\x74\\x8e\\x1b\\xf4\\x1d\\x0b\\xc1\\x63\\xb4\\x80\\x17\\x0b\\xc9\\xcd\\x63\\xe1\\x89\\xdc\\x3c\\xc9\\xd1\\xa7\\x88\\xef\\xc6\\x75\\x9d\\xb3\\x54\\x45\\xe6\\x8c\\x81\\xf7\\x16\\x96\\xdb\\x86\\x0d\\xcc\\x69\\x4b\\x4c\\x0f\\x1b\\xd6\\x34\\x83\\xf8\\x8f\\x9b\\xda\\x5c\\x47\\xb2\\xe7\\x2d\\x0d\\xd9\\x7f\\x4b\\xd8\\xe3\\xa5\\x63\\x14\\xc2\\x44\\x41\\x28\\x2e\\xfb\\x43\\x44\\xe7\\xf6\\xb0\\x37\\xcb\\x5b\\xfc\\xb5\\xf5\\xa8\\xab\\xb3\\xdc\\x64\\x12\\x4f\\x57\\x80\\x3c\\xfd\\x39\\xab\\xcd\\xc4\\x09\\x82\\xfa\\xef\\x5a\\x92\\xae\\x25\\xbe\\xda\\x70\\x2d\\xaf\\xd5\\xf2\\x4a\\x5f\\x3f\\x3f\\xe5\\x2b\\xc4\\x06\\xfa\\x03\\x01\\x15\\xe2\\x82\\x3d\\xe3\\xb1\\x52\\x5a\\xde\\xcb\\x0b\\x8a\\xcb\\x65\\x31\\x83\\xe1\\x09\\x9e\\xc6\\x51\\xeb\\x7b\\x4f\\x88\\x2f\\x93\\x96\\x3f\\x8c\\xbf\\x4c\\x8f\\x7c\\x70\\xe9\\xd1\\x47\\xeb\\xf8\\x64\\xe7\\x37\\xcb\\xc8\\x5b\\xe2\\xf3\\x4c\\xee\\x84\\x1b\\x45\\xfc\\xe9\\x32\\xe8\\x75\\xe9\\x2f\\x19\\x83\\xc2\\x38\\x4e\\x11\\x1a\\xbc\\x8d\\xd8\\x6c\\xbe\\x7e\\x03\\xd5\\xa5\\x6a\\x3e\\x5e\\x4d\\xd4\\x0a\\x49\\x12\\x80\\x5e\\x88\\x5b\\xcb\\xd9\\x89\\x62\\xd4\\x1c\\xe4\\x25\\x0b\\x29\\x9c\\xb8\\x2a\\x0e\\xcf\\xba\\x19\\xa8\\x27\\x51\\x0f\\xdc\\xd9\\xba\\x40\\x55\\x1c\\x9d\\x3d\\xa4\\x7c\\x58\\xd1\\x84\\xcc\\x8c\\x52\\xf2\\x94\\xf8\\x68\\x29\\x9f\\x7d\\xbe\\x73\\x4d\\xc8\\xfe\\x9b\\xc3\\x67\\x4e\\x9c\\x3e\\x21\\x84\\x3c\\xb1\\xfe\\xdf\\x7a\\x4e\\x6e\\xef\\x28\\xd0\\xfd\\xcd\\x78\\x8a\\x61\\xa6\\xcd\\x18\\x13\\x18\\x1d\\x18\\x1c\\x4c\\x0d\\x4b\\xfd\\x89\\xdd\\xbf\\xc5\\x9f\\xf7\\xf7\\x91\\xac\\x81\\xca\\xc6\\x0a\\x8c\\xc8\\xaf\\x29\\x7a\\xe2\\xf7\\x4a\\x71\\xd8\\xe3\\xa4\\x20\\xed\\x18\\x72\\xd5\\xcd\\x14\\x98\\x32\\x51\\xde\\xb2\\xec\\xd6\\x07\\xc7\\xdd\\x39\\xa3\\x66\\xfa\\xb0\\xb0\\xb4\\xb4\\x41\\x15\\xea\\xa2\\xa2\\xf9\\x5d\\xa2\\x98\\x1e\\x9b\\x69\\xb1\\xa4\\x67\\x93\\x71\\x2b\\x1c\\xfb\\xf7\\xad\\xfe\\x67\\x7d\\xd8\\xf6\\xce\\x88\\xff\\xb7\\x2e\\x62\\xb9\\xf8\\xce\\xf4\\x69\\x15\\xd3\\xfc\\x85\\x47\\xff\\x26\\xad\\x5b\\x0a\\x60\\x9b\\x61\\x20\\x23\\x35\\x17\\xf0\\x32\\xa7\\x24\\xc5\\x5b\\xd4\\x2c\\x2c\\xa7\\x0d\\xad\\x03\\x44\\x01\\xc2\\x0e\\x22\\x71\\x24\\xe6\\xad\\x01\\x7c\\xb0\\xb8\\xe7\\x31\\x32\\x51\\xdc\\xc1\\xaf\\xfd\\xda\\xe2\\xf4\\xe1\\xef\\x95\\xd6\\x84\\xbe\\x82\\xf6\\x05\\xd3\\x5b\\xe5\\x35\\xba\\x54\\x9b\\x9e\\xfa\\xfb\\x87\\xcd\\x48\\x9f\\x93\\xbe\\x2c\\x9d\\xa6\\xa7\\x6b\\x12\\x03\\x59\\xfb\\xcc\\x9c\\x46\\x6e\\x1f\\x53\\xa5\\xd5\\xdd\\x3a\\x15\\x0b\\xf7\\xa7\\x8c\\x33\\xb3\\x68\\xdf\\xee\\x98\\x80\\xde\\x7d\\xd4\\x3b\\x4d\\x84\\xa2\\xc1\\xb6\\x8a\\x5b\\x37\\x88\\x5f\\x8f\\x29\\x2a\\xb0\\x39\\x96\\xdd\\xb8\\x66\\x53\\x5a\\x7e\\x5e\\x42\\x42\\x5e\\x7e\\x5a\\x40\\x4c\\x66\\x66\\x64\\x64\\xa6\\xc5\\xcc\\x6f\\x2d\\xae\\x0c\\x0a\\x69\\xbe\\xa1\\xbd\\xfd\\xd3\\xf1\\x2d\\x21\\xc1\\x95\\xc3\\xeb\\xda\\x16\\x8a\\x61\\x93\\xa7\\x4c\\x99\\x3c\\xb1\\xbc\\x9c\\x1c\\x2d\\x1a\\x33\\xa6\\x68\\xc4\\x98\\x31\\x92\\x5e\\x8e\\xc2\\x98\\xf1\\x83\\x5b\\x2f\\x2f\\x46\\xfb\\x18\\xfd\\xfc\\x42\\x8d\\xd0\\x3b\\x5e\\x54\\xbd\\x48\\xdf\\xa4\\x3c\\xdd\\xe6\\xfa\\x6c\\xab\\x56\\x5f\\x46\\x39\\x34\\x90\\x9c\\xb4\\xca\\x9c\\x42\\x2b\\x6e\\xed\\xce\\xce\\x4a\\x8a\\x65\\x0b\\x68\\x8c\\xa9\\xbc\\x9e\\x00\\xcb\\xac\\xc7\\x52\\xf7\\x81\\x80\\xa0\\x9d\\xc2\\x36\\xa6\\x8f\\x02\\x59\\x1f\\x77\\xac\\x5c\\xbf\\x66\\xdc\\x9d\\xc5\\xb2\\x52\\x46\\xc9\\xca\\xb8\\xa9\\x63\\xe5\\xaa\\x9d\\xef\\x83\\x72\\xf8\\x6f\\xbd\\x94\\x42\\x5c\\xbb\\x94\\x02\\x7f\\x4e\\x29\\x9d\\xc7\\xcc\\x29\\x88\\xc0\\xe3\\xe7\\xc7\\xc4\\xb3\\xb1\\x83\\x3f\\xc7\\xbe\\xdc\\x56\\x0a\\xe3\\xd9\\x7a\\x02\\x59\\xcb\\x57\\xf3\\xf9\\x46\\x25\\xc6\\xe2\\x23\\xae\\xf1\\x42\\x35\\xb7\\x5d\\x71\\x0b\\x67\\xe4\\x22\\x6d\\x7a\\x1f\\x95\\x4a\\xaf\\xe3\\xa3\\x79\\x9e\\xd7\\x69\\xa2\\x35\\xbc\\x86\\xb3\\x54\\xba\\xe3\\xf2\\x50\\x89\\x69\\xe8\\xdc\\x49\\x72\\x3f\\x57\\x3d\\x3b\\x66\\x5a\\x75\\xdb\\x33\\x3e\\x33\\x7d\\xe3\\xd3\\x63\\x0b\\x8b\\xb3\\x15\\xb3\\xc3\\x86\\x0f\\x6e\\xd5\\xa5\\x36\\x29\\x55\\x61\\x21\\x19\\x3a\\x8e\\x67\\x35\\x08\\x87\\x15\\x65\\x9c\\x02\\xac\\x65\\x9c\\x2d\\x59\\xc9\\x0b\\x54\\xad\\x52\\x28\\xd4\\x3c\\xd5\\xf8\\x34\\xa9\\x17\\xab\\xf9\\x01\\xea\\x12\\xf5\\x24\\x35\\xe5\\xd4\\x7a\\xb5\\x59\\x4d\\xd5\\x02\\x65\\x51\\xfe\\x95\\xe0\\x5d\\xbf\\x10\\x16\\x55\\xa6\\x24\\x46\\xae\\x70\\x7f\\x5a\\x4e\\x0e\\x48\\x92\\x9d\\x28\\x69\\xe8\\x75\\xc0\\x51\\x0a\\xc9\\x65\\x67\\xb2\\xc7\\x10\\xe1\\xf0\\xd5\\xc1\\x64\\x1f\\x89\\x25\\x47\\xae\\xee\\xe4\\xbf\\x11\\x57\\xd5\\x0a\\xe7\\xae\\x86\\x06\\x0b\\x0a\\xb6\\x26\\x2d\\x54\\xf1\\x5a\\xc5\\x41\\xa8\\xdd\\x9f\\x45\\x30\\x64\\x3b\\x40\\xfc\\x38\\x9d\\x32\\x5a\\xc9\\x2b\\x59\\xfc\\x33\\xb6\\xb2\\xca\\x24\\x04\\x03\\x31\\xeb\\x2e\\x2a\\x69\\xe5\\x59\\x7c\\x4d\\x8a\\x17\\x4d\\x3e\\x62\\xd1\\x7e\\xaa\\x62\\x44\\x31\\x66\\xcd\\x9a\\xc7\\xe5\\x35\\x66\\xde\\xf9\\xad\\x50\\x45\\x4a\\x7a\\x30\\x59\\xd8\\x6b\\x3f\\xea\\x89\\xfe\\x96\\x23\\x63\\x06\\x24\\xa9\\xe2\\x10\\x36\\x01\\xd7\\xdc\\x2f\\x5f\\xbe\\x5c\\x7e\\xec\\xf0\\x07\\xce\\x55\\x07\\x76\\x36\\x08\\x55\\x6b\\xd6\\x30\\xd0\\xc7\\xd9\\xd2\\xbb\\x64\\x5b\\xc0\\x27\\x39\\x84\\x98\\xe1\\xa0\\x05\\x7f\\x95\\x51\\xc9\\xf3\\xa1\\xbe\\x7d\\x38\\x45\\x53\\xf2\\xf0\\x4a\\xae\\x55\\x87\\x87\\xf1\\x67\\xad\\xa3\\xcb\\xa6\\xdc\\xaa\\x2a\\xd5\\x44\\xc4\\x86\\x66\\x59\\x13\\xdc\\x6d\\x20\\x35\\x81\\xd6\\xcc\\xc9\\x3e\\xe6\\x0a\\x85\\x22\\xd0\\x18\\xeb\\x8b\\xf5\\x16\\x91\\x62\\x65\\x28\\xd4\\x1b\\xcd\\x59\\x6c\\xe1\\x91\\xfe\\x41\\x41\\x61\\x46\\x8d\\x86\\x28\\x6c\\x1a\\x6d\\x19\\xcc\\x5a\\xac\\x59\\x85\\x5c\\x35\\x27\\x60\\xd3\\x72\\x2c\\x69\\xb8\\x2f\\xc1\\x8a\\x51\\x76\\x3c\\x2d\\xa4\\xfd\\x2d\\x97\\x9f\\x39\\x73\\xa6\\xfc\\xcd\\x43\\x7b\\x5e\\xe8\\x7f\\x75\\x5c\\x28\\x9a\\x37\\x2f\\x66\\xfb\\xf6\\x18\\x42\\x7a\\x2d\\x8a\\xa3\\x2c\\x3e\\x12\\x46\\x90\\x58\\x90\\x85\\x02\\xe6\\xe6\\x68\\x9b\\x41\\xef\\xe3\\xe3\\xef\\xcf\\x51\\x26\\x8a\\x42\\x65\\xb5\\x52\\x60\\xe2\\x90\\x43\\xfd\\xb8\\x5f\\x49\\x98\\xd8\\x31\\x81\\xf8\\x8e\\x84\\xbd\\x22\\x99\\x06\\x5a\\xe3\\xa7\\xac\\x1e\\xc5\\xd7\\x1b\\x6a\\x2a\\xee\\x49\\xaf\\x53\\xfc\\x59\\x21\\x30\\xe5\\xbd\\x3e\\xb4\\xa5\\x30\\x75\\x40\\x55\\xd3\\xca\\x5f\\x58\\x87\\xf4\\xd2\\x44\\xd5\\xab\\x0e\\xf6\\xfa\\xc4\\xde\\xa7\\x0e\\xa6\\xcd\\xfe\\xea\\xd0\\xc2\\x60\\x96\\x60\\x0b\\xf4\\x09\\x0e\\x52\\xc3\\xd4\\x15\\xa5\\x57\\xf7\\x16\\x2a\\x0b\\x08\\x65\\x91\\x0e\\xa6\\x34\\xf4\\xaa\\xa3\\x1f\\x05\\xf7\\xaa\\x51\\xfc\\x5f\\x1f\\x2d\\x8f\\x70\\x57\\x4e\\xba\\xae\\xd5\\xf3\\x08\\xd0\\x73\\x1c\\x8c\\xb9\\xf1\\x5c\\x91\\x2d\\xd5\\xa0\\x29\\xe4\\xc6\\x31\\x7b\\x8d\\x79\\x27\\xfc\\x64\\xf8\\x85\\x70\\x1a\\x1e\\x1e\\x1d\\x1d\\xa8\\x78\\xd6\\x8f\\x48\\xaf\\x6c\\x74\\xa6\\x68\\x53\\xa1\\xa9\\xda\\x24\\x98\\x98\\x20\\xd8\\xe2\\x3c\\x93\\x05\\x3b\\x29\\x6d\\xc1\\x75\\xdf\\xda\\x90\\x5e\\xcc\\x5f\\xef\\xed\\xcd\\xc1\\xde\\x42\\x2b\\xef\\xa5\\x7e\\xf1\\x07\\x8f\\xf8\\x5c\\x2e\\xd7\\xf0\\x5e\\xf1\\x7e\\x13\\x85\\x6f\\x1e\\xf3\\x44\\xfd\\xe5\\xae\\xbd\\xae\\x64\\xd7\\xfb\\x8d\\x2b\\xfc\\x35\\x59\\x4d\\xfd\\xfa\\xc9\\xff\\x8c\\x3c\\xce\\x7f\\xc5\\xe2\\x0a\\x8b\\x85\\x2c\\xbe\\xad\\x31\\x51\\x7d\\x09\\xf3\\x3f\\x67\\xdf\\x50\\x60\\x7e\\x45\\xaf\\xfc\\xaf\\xf8\\x9b\\xe5\\xfc\\x4d\\xbd\\xf2\\xbf\\x84\\x7c\\xbf\\x7e\\x62\\x5e\\xf7\\x1b\\xd3\\x99\\x53\\x8a\\x61\\xa2\\x8d\\xfc\\xc7\\xf5\\x95\\x7c\\xe6\\x6e\\x12\\x67\\x05\\x63\\xc8\\xb0\\x99\\xa8\\x46\\x13\\xaf\\xcf\\x26\\xcf\\x66\\xbf\\x91\\xcd\\x67\\xc7\\x84\\x87\\xe7\\x05\\xe9\\x74\\x43\\x13\\xf2\\x30\\x04\\xa9\\xe4\\x27\\xef\\xab\\x5c\\x00\\x5d\\x90\\x8d\\x01\\x5e\\xf1\\xb2\\xa8\\x57\\x3a\\xc1\\x2b\\xcd\\xb6\\xf2\\xe5\\x79\\xfd\\x0e\\xf0\\x8e\\xb1\\xf5\\x70\\x41\\x62\\x52\\xfe\\xa0\\xe4\\xe4\\x41\\x37\\x0f\\x4a\\x96\\x12\\x44\\xed\\x49\\xf9\\xaf\\x2f\\x77\\xa7\\x79\\x77\\x39\\x71\\x73\\x4a\\xde\\xa0\\xe4\\xf8\\x82\\x02\\xa2\\x48\\x19\\x34\\x28\\x05\\x12\\xf1\\xf2\\x5f\\xf1\\x2c\\x59\\x2f\\xce\\x1f\\x2f\\xff\\x22\\x81\\x72\\x39\\x4e\\x10\\xab\\xa1\\x9d\\xeb\\xa1\\x9d\\x14\\xbd\\xec\\x68\\x2e\\xc6\\x66\\xa0\\x1c\\xe7\\x2b\\xe8\\x0d\\xe4\\x59\\xc3\\x1b\\x06\\xde\\x10\\xa9\\x30\\xb1\\xd6\\x61\\xb3\\xb0\\xa7\\x29\\xc0\\x61\\x52\\xfc\\x18\\xdf\\xd5\\xa4\\x4c\\xdc\\x46\\xee\\xee\\x87\\xc1\\xdc\\xb5\\x17\\xaf\\xc7\\xc7\\x54\\x99\\x0f\\x95\\x2c\\xf1\\x68\\x9b\\x1e\\x9c\\x52\\x9d\\x3e\\x88\\x3c\\x1b\\xf4\\x46\\x10\\x1f\\x14\\xa3\\x09\\xf7\\x62\\x83\\x8d\\xb0\\xcc\\x85\\x89\\x0b\\x32\\xfd\\x18\\x27\\xff\\x6c\\x22\\xd3\\xea\\xfe\\xda\\x9f\\xa4\\xf6\\x2e\\x5a\\xbb\\x76\\xd1\\xf2\\xfe\\x99\\x61\\xe3\\x1b\\x37\\xc6\\x75\\x8a\\x7e\\xa8\\xf8\\x23\\x97\\xce\\x4e\\x54\\xc5\\x90\\xc5\\x4a\\x16\\x78\\xd3\\x14\\x45\\x59\\xd8\\xe3\\xb8\\x58\\x16\\x26\\x7f\\x18\\x9f\\x97\\x49\\xd9\\x1f\\x16\\xe8\\x9e\\x30\\x0f\\x61\\x18\\xcf\\x02\\x7f\\xfa\\x53\\xea\\x1b\\x5c\\x9a\\x51\\x58\\x92\\x58\\x3c\\x2d\\x3b\\x7f\\xda\\x90\\xe8\\x11\\xcb\\x9e\\x6c\\xa8\\x7f\\xbc\\x73\\xf8\\x00\\xfb\\xe2\\xa2\\xf0\\x41\\xe9\\x11\\x99\\x33\\x1c\\x33\\xc6\\xdc\\xeb\\x2f\\x9a\\x2a\\xc7\\x26\\x15\\xa6\\x87\\xd4\\x74\\x98\\x32\\x12\\x4c\\x0a\\x3f\\x43\\x78\\xd9\\xa0\\x8c\\x8a\\x31\\x63\\xd3\\x72\\xea\\x5b\\x57\\x8d\\x6b\\xfb\\x7b\\xfb\\xe0\\x41\\xf3\\x36\\xb5\\x4c\\x72\\xcc\\xb9\\x21\\x32\\x74\\xc4\\xf8\\xe9\\x96\\x21\\xb3\\xc6\\xa4\\x15\\xf9\\x75\\x0f\\xfb\\xc7\\xa6\\xd4\\x71\\x0b\\xcb\\x3a\\xde\\x9c\\x1c\\x38\\xbc\\xba\\x13\\x9f\\xbc\\xb9\\xc0\\x49\\x1c\\xa1\\xb5\\x7e\\xec\\x63\\xfd\\x52\\xd0\\x65\\xbc\\x6b\\x1d\\xd0\\x3c\\xd7\\x71\\xa0\\xf9\\x48\\x0b\\x90\\x0e\\x71\\x6d\\xe5\\x28\\x1d\\xcc\\xae\\xd2\\x12\\xa4\\x23\\x91\\x56\\x20\\x9d\\xc2\\xca\\xd0\\xa9\\x58\\xa6\\x12\\x68\\x20\\x17\\x08\\xf9\\xf1\\x1c\\x45\\x9a\\xe7\\x6a\\x06\\x9a\\x2f\\x5e\\x06\\x5a\\xe0\\x8a\\x04\\x3a\\xc4\\x55\\x02\\xd4\\x8e\\xf9\\xd3\\x91\\xce\\x64\\x54\\x75\\x06\\x68\\x0a\\xdc\\xb5\\x15\\xa8\\x0e\\xca\\xa4\\x70\\x06\\xa4\\xf1\\x90\\x6f\\x41\\x34\\x0b\\xa0\\x95\\x00\\xcd\\x47\\x5a\\x80\\x74\\x08\\xd2\\x99\\xec\\x2a\\x20\\x94\\x40\\x8f\\x63\\x25\\xad\\x88\\x60\\x45\\x04\\x2b\\x22\\xe4\\xc2\\xbd\\xdb\\x80\\xe6\\x23\\x2d\\x40\\x3a\\x04\\xe9\\x4c\\xa0\\x79\\x70\\xd7\\x71\\xa0\\x3a\\x28\\x99\\xc7\\xe9\\xe1\\xae\\x3c\\xb8\\x97\\xa5\\x23\\x91\\x46\\x21\\x8d\\x47\\x9a\\x83\\x25\\x4b\\xb0\\x4c\\x29\\xd2\\x32\\xa4\\xe5\\x98\\x3f\\x01\\xd3\\x93\\xb1\\xe4\\x14\\x4c\\x4f\\x43\\x3a\\x1d\\x73\\x58\\x4b\\xf3\\xb1\\xae\\x7c\\x4e\\x07\\x32\\xc9\\x87\\xba\\x58\\x8e\\x01\\xd3\\x91\\x50\\x32\\x1f\\xea\\x62\\x34\\x1e\\x73\\x72\\x5c\\x47\\x80\\x96\\x60\\x4e\\x19\\xd2\\x72\\x90\\x4f\\x3e\\xd6\\x92\\x8f\\xb5\\xe4\\x23\\x7e\\x3e\\x20\\x97\\x70\\x05\\x88\\x5c\\x80\\x6d\\x2f\\x00\\xe4\\xad\\x40\\x0d\\x98\\x8e\\x04\\x99\\x14\\x00\\x32\\xa3\\xf1\\xa0\\x85\\x02\\xae\\x04\\xd3\\x65\\x48\\xcb\\xf1\\xae\\x09\\x98\\x9e\\x8c\\xe9\\x69\\x48\\x67\\x02\\xc2\\x10\\xd4\\xc8\\x10\\xc4\\x1c\\x82\\x92\\x19\\x82\\x98\\x43\\x90\\xdb\\x21\\xc8\\xed\\x10\\xc0\\x64\\xb4\\x04\\x90\\x87\\x00\\x26\\xa3\\xe5\\x78\\xd7\\x04\\x4c\\x4f\\xc4\\xab\\x93\\x30\\x3d\\x0d\\xd3\\x76\\x48\\x8f\\x52\\x9d\\xe1\\x16\\x70\\x93\\x91\\xe7\\xc9\\x88\\x3f\\x19\\x79\\x9e\\x8c\\xf8\\x93\\x41\\xb6\\x2c\\xbf\\x0c\\xe9\\x04\\xa4\\x93\\x18\\x85\\xbb\\x12\\x38\\x3b\\x94\\x5f\\x07\\xd4\\x00\\x74\\x3a\\xa6\\xa7\\x63\\x7a\\x26\\xa6\\x67\\xb2\\x34\\x1d\\xcc\\x2c\\x81\\x0e\\xa6\\x63\\x5c\\xb7\\x01\\x9d\\x80\\x74\\x8a\\x2b\\x1f\\xe8\\x54\\xf1\\x0a\\xd0\\x69\\xae\\xd9\\x40\\x2b\\x31\\xdd\\xe8\\x5a\\x09\\xb4\\xcd\\xd5\\x0c\\xb4\\xcb\\xf5\\x2c\\xb5\\x81\\x3d\\xef\\x05\\x5a\\x09\\xb4\\x88\\x0e\\xe7\\xe6\\x01\\x2d\\x11\\xbf\\x02\\x3a\\xd2\\x65\\x04\\x5a\\x81\\xe9\\x2a\\x57\\x34\\xd0\\x1a\\xd7\\x13\\x40\\x6b\\x5d\\x5b\\x81\\xd6\\x63\\x4e\\x13\\xd2\\x16\\xcc\\x9f\\x83\\x74\\x2e\\xd2\\x56\\xa8\\xbd\\x88\\x2e\\xc0\\xab\\x8b\\x90\\x2e\\x41\\xba\\x02\\x68\\x09\\x72\\x5b\\x82\\xdc\\x96\\x20\\xb7\\x25\\xc8\\x6d\\x09\\x72\\x5b\\x82\\xdc\\x96\\x20\\xb7\\x25\\xc8\\x6d\\x09\\x72\\x5b\\x82\\xdc\\x96\\xb0\\xbe\\x43\\x4b\\x99\\xa6\\x80\\xea\\x5c\\x6a\\xa0\\x06\\x46\\x81\\xf3\\xb5\\x40\\x4b\\xc4\\x8b\\x40\\x47\\xba\\xfc\\x80\\x56\\x60\\x7a\\x8e\\xeb\\x15\\x3a\\x12\\x6b\\x1c\\x09\\x35\\xee\\x05\\x3a\\xc1\\xf5\\x0e\\xd0\\x29\\xae\\x05\\x40\\xa7\\xba\\xf2\\x80\\x56\\x02\\x1d\\x03\\xfd\\x7d\\x36\\xd0\\x91\\x50\\x7e\\x0c\\xf4\\x77\\x96\\x66\\x92\\x19\\x83\\x92\\x19\\x0b\\xf7\\x3e\\x01\\x74\\x02\\xd2\\x69\\xae\\x99\\x40\\xab\\x5c\\xc7\\x80\\xd6\\x23\\x6d\\x42\\xda\\x8c\\x74\\x36\\xd2\\xf9\\x48\\x17\\x20\\x5d\\x84\\x74\\x09\\xd2\\x65\\x48\\x57\\x20\\x5d\\x05\\xb4\\x02\\xe5\\x50\\x81\\x72\\xa8\\x40\\x39\\x54\\xa0\\x1c\\x2a\\x50\\x02\\x13\\x90\\xab\\x09\\xc8\\xd5\\x04\\xe4\\x6a\\x02\\x72\\x35\\x01\\xb9\\x9a\\x84\\xed\\x9a\\x04\\x72\\x28\\x05\\x6a\\x60\\x14\\x24\\x70\\x08\\xe8\\x48\\x97\\x05\\x68\\x05\\xa4\\x27\\xd3\\xc5\\xae\\x47\\xe8\\x14\\x66\\x7b\\x40\\xa1\\xd7\\x03\\xd5\\x43\\xc9\\x29\\xac\\xd7\\x03\\x8d\\x44\\x1a\\xc5\\x28\\xc8\\xb0\\x13\\x68\\x09\\xf0\\x30\\x05\\x10\\xe6\\x01\\x1d\\xc3\\xee\\x82\\x7a\\x59\\xce\\x04\\x4c\\x4f\\x43\\x3a\\x03\\x69\\x15\\xc3\\xa1\\xd5\\x48\\xeb\\x91\\x36\\x22\\x4e\\x13\\xc8\\x67\\x0a\\x9d\\x85\\x39\\x2d\\xae\\xfb\\x80\\xce\\xc1\\xf2\\xad\\x98\\x6e\\xc3\\x32\\x0b\\xf0\\xea\\x22\\xa4\\x9d\\xae\\xbb\\x81\\x2e\\xc1\\x74\\x17\\x5e\\x5d\\x8a\\x25\\x97\\x23\\x5d\\x81\\xf9\\x2b\\x21\\x3d\\x15\\x5b\\x3a\\x15\\xf9\\x9f\\x8a\\xed\\x9d\\x0a\\xfc\\x33\\x1a\\xc5\\x28\\x5a\\xef\\x54\\xb4\\xde\\xa9\\x68\\xbd\\x53\\x81\\xff\\x17\\x81\\x56\\x60\\xce\\x04\\x4c\\x4f\\x03\\x0d\\x4e\\x05\\xfe\\xf7\\x02\\x65\\x56\\x3d\\x15\\xad\\x7a\\x2a\\x5a\\xf5\\x54\\xb4\\xea\\xa9\\xd0\\x8a\\xd9\\x40\\x9b\\x30\\xdd\\x82\\x57\\xe7\\xe0\\xd5\\xb9\\x98\\x66\\xb6\\x3d\\x15\\x6d\\x7b\\x2a\\xda\\xf6\\x54\\xb4\\xed\\xa9\\x68\\xdb\\xd3\\x40\\x7a\\x15\\x40\\xa7\\xba\\xce\\x02\\xad\\x04\\x6a\\x47\\x8d\\xdb\\x51\\xd7\\xd3\\xa1\\xc6\\xdb\\x80\\xd6\\x23\\x6d\\x42\\x3a\\x1b\\xf3\\x17\\x60\\x7a\\x11\\xd2\\x25\\x48\\x97\\x21\\x5d\\x81\\x74\\x15\\xd0\\x19\\x88\\x39\\x03\\x31\\x2b\\xb1\\xa5\\x95\\xd8\\xd2\\x4a\\x6c\\x69\\x25\\xb6\\xb4\\x12\\x5b\\x5a\\x89\\x2d\\xad\\xc4\\x96\\x56\\x62\\x4b\\x2b\\xb1\\xa5\\x95\\xd8\\xd2\\x4a\\x6c\\x69\\x25\\xb6\\xb4\\x12\\xdb\\x58\\x89\\x6d\\xac\\xc4\\xfe\\x5b\\x89\\x6d\\xac\\xc4\\x36\\x56\\x62\\x1b\\x2b\\xb1\\x8d\\x95\\xd8\\xc6\\x4a\\x6c\\x63\\x13\\xe8\\xe8\\x1c\\x6d\\x06\\xcc\\x57\\x80\\xd6\\xb8\\x76\\x03\\xad\\xc7\\x74\\x23\\xf0\\xd9\\x0c\\x98\\x2c\\xdd\\x82\\xf9\\xb3\\x31\\x3d\\x07\\x7a\\x5c\\x33\\x20\\x33\\xda\\x86\\x65\\x16\\x60\\xfe\\x22\\xa4\\x8b\\x5d\\x8b\\x80\\x2e\\xc1\\xf4\\x32\\xa4\\x2b\\x90\\xae\\x02\\x3a\\x17\\x6a\\xd9\\x0d\\xb4\\x1e\\x69\\x13\\xd2\\xd9\\xe0\\xa1\\xce\\x05\\x04\\x96\\xee\\x40\\xba\\x08\\xe9\\x12\\xa4\\xcb\\x90\\xae\\x40\\xba\\x0a\\xe8\\x3c\\x5a\\x07\\xe5\\xe7\\x81\\x8d\\x31\\xba\\x1c\\xe9\\x4a\\xa0\\xf3\\x01\\xf9\\x09\\xa0\\x35\\xae\\x43\\x40\\xeb\\x31\\xdd\\x84\\x94\\xf5\\xe2\\xf9\\xc0\\x3f\\xcb\\x5f\\x80\\x39\\x8b\\x90\\x2e\\x41\\xba\\x02\\xe8\\x02\\x94\\xc0\\x12\\xa4\\x5d\\xc8\\x61\\x17\\x72\\xd8\\x85\\x1c\\x76\\x41\\xdf\\xdf\\x09\\x74\\x01\\xa6\\x3b\\x90\\x2e\\x42\\xba\\x04\\xe9\\x32\\xa4\\x2b\\x90\\x32\\x0e\\x97\\x21\\xce\\x0a\\xa4\\xab\\x90\\x6e\\x85\\x19\\xf3\\x2c\\x50\\x03\\xd2\\x79\\x30\\x06\\x6e\\xe5\\x96\\xbb\\xf6\\xd3\\xad\\xaa\\x93\\x40\\x5f\\x81\\x31\\x70\\x23\\x7d\\x15\\xe9\\x76\\xfa\\x16\\xe4\\x6c\\xa7\\xef\\x60\\xfa\\x5d\\x4c\\x1f\\xc4\\xf4\\x21\\x57\\x39\\xd0\\xf7\\x90\\x1e\\x06\\x84\\xed\\xf4\\xa8\\xf8\\x36\\xd0\\x8f\\xb0\\xcc\\x27\\x60\\x45\\xdb\\xe9\\x29\\xd7\\xfd\\x40\\x3f\\xc5\\x9c\\x0b\\x98\\xbe\\x88\\xe9\\x6f\\x11\\xe1\\x12\\xd2\\xef\\x5c\\x5b\\xe8\\x76\\xa8\\xab\\x9c\\xee\\xa0\\xdb\\xe1\\xae\\x1d\\x74\\x37\\xe4\\xec\\xa0\\x7b\\xa0\\xe4\\x0e\\xba\\x0f\\xe9\\x3b\\xae\\x8b\\x40\\x0f\\x22\\x3d\\x84\\x65\\xde\\x73\\x6d\\x03\\x7a\\xd8\\xf5\\x09\\xd0\\xf7\\xb1\\xcc\\x51\\x40\\xdb\\x41\\x8f\\xe3\\xbd\\x1f\\xbb\\x5e\\x03\\x7a\\x16\\xf3\\xcf\\x63\\xf9\\x4b\\x90\\xde\\x09\\xf8\\x2b\\x81\\x32\\xfc\\x9d\\x88\\xbf\\x13\\xf0\\x59\\x9a\\x61\\xee\\x04\\xcc\\xe9\\x40\\xdf\\xc7\\x7c\\x86\\xb6\\x13\\xd0\\xee\\x06\\xfa\\x31\\xa6\\xcf\\x62\\xfe\\x25\\x2c\\xf9\\x3d\\xd2\\xcb\\x90\\xb3\\x0b\\x46\\x8c\\x50\\xa0\\x06\\xa4\\x4c\\x92\\xbb\\x50\\x92\\xbb\\xa0\\xae\\x18\\xa0\\xbb\\xa1\\x5d\\xbb\\xe8\\x5b\\x9c\\x15\\xe8\\x3e\\x71\\x2f\\xd0\\xfd\\x70\\xef\\x2e\\x68\\x11\\x2b\\x73\\x10\\xd3\\x1f\\xbb\\x9a\\x80\\x7e\\x82\\x25\\x4f\\x03\\x3f\\xbb\\xa0\\x2e\\x96\\xf3\\xa9\\xab\\x01\\xe8\\xe7\\x98\\x73\\x9e\\xe1\\xd3\\x2f\\x31\\xfd\\x15\\xd2\\x0b\\x58\\xfe\\x1b\\x56\\x23\\x70\\xc5\\x72\\xba\\x31\\xed\\x44\\xea\\x02\\x9e\\x77\\x09\\x1c\\xc3\\x41\\x9d\\xee\\x46\\x1e\\x76\\xd3\\xf7\\xb8\\x50\\xa0\\x87\\xa1\\xde\\xdd\\xf4\\x23\\xcc\\xf9\\x14\\x73\\x3e\\x83\\xf4\\x9b\\x50\\x26\\x14\\xe8\\x3e\\xb8\\xba\\x07\\xf5\\xbe\\x07\\xf9\\xdc\\x03\\x7c\\x32\\x7a\\xc8\\x75\\x02\\xe8\\x7b\\x60\\xdb\\x7b\\x40\\x32\\xe7\\x81\\x7e\\x82\\xf9\\xa7\\xa0\\xae\\x3d\\xc0\\xed\\xfd\\x40\\x2f\\x40\\x8d\\x7b\\x80\\x9f\\x06\\xfa\\x16\\xb4\\xfd\\x66\\xa0\\x7b\\x00\\xed\\x2d\\xc0\\x7c\\x1c\\xe8\\x7b\\x50\\xfe\\x2d\\x90\\xed\\x16\\xa0\\x1f\\x23\\x3d\\x8b\\x39\\x4c\\x47\\x7b\\xb1\\xae\\xbd\\x58\\xd7\\x5e\\x28\\x79\\x04\\xe8\\x61\\x18\\xab\\xf7\\x42\\x79\\x76\\xf5\\x23\\xe0\\x6d\\x2f\\xda\\xd5\\x5e\\xa8\\x6b\\x0b\\xd0\\xcf\\x30\\x7d\\x01\\x6a\\xdf\\x8b\\x76\\xb5\\x17\\xec\\x8a\\xd1\\x4b\\x48\\x45\\xb8\\xba\\x0f\\x5b\\xba\\x0f\\x38\\x64\\xf4\\x53\\xb0\\x9f\\x7d\\x50\\x7e\\x3f\\x50\\x56\\x66\\x3f\\x5e\\xdd\\x0f\\xf9\\x8c\\x5e\\x40\\x7a\\x09\\xe9\\x65\\xc0\\xdf\\x4f\\x45\\xa8\\xf1\\x1d\\xd0\\xe3\\x46\\xa0\\xbb\\x91\\x32\\x9b\\x79\\x07\\xda\\xc2\\xd2\\x07\\xf1\\xea\\x7b\\xae\\x3b\\x80\\x1e\\xc6\\xf4\\xfb\\xae\\x1a\\xa0\\x47\\xb1\\xcc\\xc7\\x58\\xe6\\x2c\\xa0\\xbd\\x43\\xcf\\xc1\\xd5\\x03\\x60\\x27\\x1c\\x50\\x03\\xd2\\x48\\xae\\x1c\\x68\\x14\\xd2\\xe5\\x20\\xf9\\x03\\x74\\x3b\\xcc\\xc5\\x07\\xa0\\x96\\x04\\xa0\\x7b\\xc0\\xb6\\x0f\\xa0\\x2e\\x0e\\x80\\xcd\\xec\\x07\\xba\\x1f\\x46\\x8c\\x03\\x20\\x9f\\x4b\\x40\\x0f\\x62\\xfe\\x21\\xa4\\x4c\\x9e\\x07\\xa0\\x15\\x27\\x80\\xbe\\x0f\\xb6\\x7a\\x00\\xeb\\x3d\\x00\\xf5\\x6e\\x01\\xca\\xda\\x75\\x00\\xdb\\x7b\\x00\\xda\\x02\\xb5\\x80\\x3d\\x80\\x7c\\xb1\\x45\\x07\\xb1\\x45\\x07\\xb1\\x7f\\x1d\\x04\\x9c\\xb3\\x40\\xdf\\xc7\\xab\\x47\\x31\\xe7\\x38\\xe6\\x9c\\x82\\x5a\\x0e\\xa2\\x85\\x1c\\xa4\\x17\\x91\\x7e\\x8b\\xf9\\x97\\xb0\\xcc\\x65\\x4c\\x33\\x29\\x1d\\x82\\xd6\\x59\\x81\\x1a\\x90\\xce\\x03\\xe4\\x43\\xd0\\x0b\\xf6\\xd2\\x43\\x58\\xd7\\x21\\xa8\\x6b\\x25\\xd0\\x7d\\x98\\x66\\xf6\\x7f\\x08\\xda\\xc2\\xe8\\x61\\x18\\x03\\x0f\\xa1\\x25\\x1c\\x42\\x5b\\x3a\\x04\\xf6\\xcf\\xca\\x7c\\x8a\\x39\\x9f\\x63\\xce\\x17\\x48\\xcf\\x63\\xfe\\x97\\x98\\xbe\\xe0\\xfa\\x0b\\xd0\\xaf\\xb1\\xcc\\x37\\x48\\x2f\\x22\\xbd\\x84\\x65\\xbe\\x47\\x7a\\x05\\x73\\xba\\x31\\xed\\xc4\\xda\\x59\\x8f\\x38\\x04\\x12\\xd8\\x02\\x7d\\x40\\x27\\x32\\x6a\\x40\\x1a\\x89\\x39\\x51\\x48\\xe7\\x41\\x9f\\x7a\\x0f\\x38\\x5f\\x49\\xdf\\x03\\x8d\\x74\\x01\\xdd\\xed\\xca\\x06\\xfa\\x16\\x70\\xfb\\x1e\\xe8\\xe2\\x22\\x50\\x36\\x12\\xbe\\x87\\x96\\xf9\\x1e\\x8c\\x75\\x2c\\xff\\x63\\x76\\x17\\xd8\\x18\\x20\\x00\\xff\\xd3\\x80\\x9e\\x41\\x7a\\xd6\\x35\\x18\\xe8\\xa7\\xae\\x38\\xa0\\xe7\\x10\\xf3\\x33\\xcc\\xff\\x1c\\xe9\\x7f\\xb1\\xfc\\x17\\x98\\x66\\xbd\\xfb\\x3d\\x68\\x1d\\x4b\\x7f\\x85\\xf4\\x02\\xde\\xf5\\x35\\xa6\\xbf\\x41\\x7a\\x11\\x73\\xbe\\xc7\\xf4\\xff\\x90\\xfe\\x80\\xf4\\x0a\\x52\\x17\\xa3\\xd0\\x3a\\xa8\\x11\\xfb\\xfb\\x61\\x1c\\xeb\\x0e\\xe3\\xf8\\x73\\x18\\x24\\xdf\\x04\\xf4\\x1d\\xd0\\xd4\\x61\\xe8\\xc5\\xec\\xea\\x7b\\xd0\\x43\\x0f\\x83\\xae\\x59\\x19\\x66\\x33\\x87\\x51\\xc2\\xef\\x63\\xaf\\x7f\\x1f\\xda\\x78\\x3f\\xd0\\x83\\xc0\\xe1\\xfb\\xd0\\xd2\\x05\\x40\\x59\\x4b\\xdf\\x07\\xae\\xb6\\x03\\x65\\xa3\\xcd\\x11\\xd4\\xe0\\x07\\xf4\\x12\\x60\\x1e\\x07\\x84\\x35\\xf4\\x38\\x8c\\xe1\\x2b\\xe9\\x09\\xa8\\xf7\\x09\\xa0\\xbb\\xc1\\xc3\\x81\\xd1\\x02\\x73\\xde\\x82\\xf2\\x27\\x80\\x87\\xa7\\x81\\xee\\x47\\xca\\x7a\\xfa\\x09\\xec\\xe9\\x27\\x80\\x9f\\x26\\xa0\\xef\\x83\\x37\\x78\\x02\\xf8\\x09\\x07\\xca\\xea\\x3a\\x01\\x98\\x77\\xd3\\x13\\x88\\xf9\\x11\\xa0\\x4d\\x02\\xca\\x7a\\xdf\\x47\\xd8\\x2f\\x3e\\x02\\x34\\x96\\xff\\x0e\\xa6\\x0f\\x73\\x3e\\x40\\xdf\\x07\\x9e\\x3f\\x82\\xbb\\x66\\x03\\x3d\\x8b\\x25\\xd9\\xa8\\x72\\x12\\xf8\\xd9\\x02\\x74\\x37\\xd4\\x72\\x12\\x10\\x16\\x00\\x65\\x76\\x78\\x12\\xef\\x3d\\x89\\xd2\\x38\\x09\\xf7\\x96\\x02\\x3d\\x8a\\x25\\xcf\\x62\\xce\\x39\\xbc\\xca\\x10\\x3e\\xa1\\xe7\\x39\\x23\\xd0\\xaf\\x31\\xfd\\x2d\\x58\\xf5\\x27\\x20\\x81\\xfb\\x81\\x5e\\x86\\xb6\\x9c\\xc2\\xf2\\xa7\\xb0\\xaf\\x9d\\x02\\x2d\\xb3\\xf4\\x79\\xa4\\x5f\\xc2\\x08\\x76\\x0a\\x47\\x95\\x53\\x28\\xb1\\x53\\xa0\\x3b\\x46\\x2f\\x23\\xbd\\xca\\xca\\x80\\xbe\\xf6\\xd3\\xd3\\x38\\x3a\\x9d\\x46\\x9c\\xd3\\x80\\xb0\\x1b\\xe8\\x79\\xcc\\xf9\\x12\\xfa\\xf5\\x69\\x40\\xb8\\x08\\x94\\xf5\\xbe\\xd3\\x38\\xbe\\x9d\\x06\\xb4\\x57\\x80\\x7e\\x07\\xa3\\xc1\\x69\\x44\\x3b\\x8d\\x68\\xa7\\x01\\xed\\x2c\\x3d\\x83\\xf3\\xd1\\x19\\x9c\\x8f\\xce\\x00\\xe6\\x46\\xa0\\x8c\\xb7\\x33\\x80\\x79\\x3f\\xd0\\x2f\\x31\\xcd\\xc6\\x84\\x33\\x58\\xfb\\x59\\x18\\xf9\\x43\\x81\\xb2\\xf1\\xe1\\x53\\x1c\\xaf\\x3e\\xc5\\xba\\x3e\\xc5\\x3e\\xfe\\x29\\xfd\\x0e\\xd3\\xdf\\x43\\x5b\\x3e\\xc5\\xf9\\xee\\x1c\\x72\\x7b\\x0e\\x31\\xcf\\xe1\\xbd\\xe7\\x10\\xed\\x1c\\xd8\\xe7\\x71\\xa0\\x52\\x99\\xab\\x70\\xf5\\x33\\x40\\x3b\\x0e\\xf4\\x1c\\x52\\x56\\xf2\\x33\\xa8\\xfd\\x34\\xd0\\x0b\\xc0\\xf9\\x67\\x80\\x7f\\x18\\xe8\\x77\\xd0\\xba\\xcf\\xe0\\xae\\x23\\x40\\xaf\\x42\\x7b\\xbf\\x80\\x3e\\xb8\\x97\\x7e\\x01\\xa3\\xc1\\x27\\x40\\x4f\\x01\\xda\\x17\\xe8\\x3f\\x7c\\x81\\xa3\\xfd\\x17\\x28\\xcf\\x2f\\x70\\xb4\\xff\\x02\\x10\\x4e\\x03\\xfd\\x0e\\xd3\\x97\\xe1\\xd9\\xed\\x0b\\x1c\\xf3\\xbf\\x84\\x7b\\x2f\\x02\\xbd\\x80\\x69\\x36\\x3a\\x5d\\x80\\x5e\\x09\\xe3\\x3b\\xf0\\xb3\\x1b\\xe8\\x39\\x4c\\x33\\x09\\x5f\\x00\\x7e\\x8e\\x01\\xfd\\x16\\xd3\\x4c\\x47\\x17\\xa0\\xa5\\xec\\xea\\x65\\xe0\\xe1\\x82\\x74\\x2f\\x48\\xe9\\x18\\xfd\\x06\\x25\\xf3\\x0d\\xb6\\xe2\\x1b\\xd4\\xef\\x37\\x70\\xef\\x27\\x40\\xbf\\xc5\\xfc\\x4b\\x48\\x59\\xdb\\x2f\\xd2\\x4f\\xa0\\xcc\\x45\\x1c\\x39\\x2f\\xe2\\xc8\\x79\\x11\\xe7\\xd6\\x8b\\x58\\xe6\\x22\\x70\\xcb\\xe8\\xf7\\x48\\x59\\xab\\x2f\\x62\\x2d\\xdf\\x82\\xd6\\x9a\\x80\\x1a\\x18\\x45\\x84\\x6f\\xb1\\xc6\\x6f\\xd1\\x0e\\xbf\\xc5\\x7a\\xbf\\xc5\\x7a\\xbf\\xc5\\x76\\x7d\\x4b\\xbf\\xc1\\x9c\\x8b\\x48\\x2f\\x61\\x0e\\xd3\\xe0\\xb7\\x68\\x03\\x97\\x70\\x34\\xbe\\x84\\xa3\\xf1\\x25\\x18\\xdf\\x58\\x4e\\x14\\x52\\x36\\xd7\\x5c\\xc2\\x39\\xf4\\x12\\xea\\xf1\\x12\\xd4\\xb2\\x12\\xe8\\xa7\\xd0\\xaf\\x2f\\x81\\x64\\x58\\x0e\\xab\\xe5\\x12\\xda\\xc9\\x25\\xd4\\xec\\x25\\x90\\x36\\xbb\\xca\\xe4\\x7c\\x09\\x6d\\xe6\\x3b\\xb4\\xd5\\xef\\xb0\\xe4\\x77\\x68\\x27\\xdf\\x41\\x5b\\xde\\xa6\\xdf\\x61\\xed\\xdf\\x23\\xfe\\xf7\\x38\\x1e\\x7e\\x8f\\xba\\xfb\\x1e\\x75\\xf7\\x3d\\xa0\\xb1\\x9c\\x8b\\xa0\\x85\\xef\\xd1\\x92\\xbf\\x47\\x99\\x7f\\x8f\\x1e\\xe0\\xf7\\x80\\xb0\\x11\\xe8\\x55\\x4c\\x33\\x3d\\xfe\\x0f\\x5b\\xed\\x84\\x92\\x5b\\x80\\x5e\\x86\\xf1\\x4a\\x84\\x7a\\xef\\x03\\x7a\\x0e\\xe6\\x5c\\x11\\x6a\\x3f\\x0e\\xf4\\x4b\\xd7\\x57\\x40\\x59\\x5f\\x10\\x41\\xaa\\xcf\\x52\\x11\\x79\\x70\\x41\\xc9\\xb5\\x40\\x99\\xae\\x5d\\xc8\\xa7\\x0b\\x5b\\xe4\\xa2\\x17\\x00\\xd3\\x85\\x5a\\x73\\xe1\\x5d\\x2e\\xbc\\xcb\\xc5\\xfa\\x91\\xa0\\x63\\x72\\x03\\x6a\\x40\\xba\\x9c\\x0b\\x15\\x8a\\x20\\x27\\x17\\xa8\\x01\\x69\\xa4\\x6b\\x3f\\xd0\\x28\\xa4\\x30\\x53\\x00\\x5d\\x0e\\x77\\x15\\xb1\\xf1\\x56\\x75\\x5a\\x75\\xda\\xd5\\xac\\x3a\\x03\\x4f\\xc1\\x8c\\x4e\\x71\\x6d\\x55\\x9d\\x61\\x2b\\x09\\xaa\\xb3\\xf4\\x79\\x97\\x15\\xe8\\x6b\\x48\\x0f\\x21\\x3d\\x2a\\xae\\x04\\x7a\\x1c\\xd2\\x9f\\xe3\\xd5\\xcf\\xf1\\xea\\xe7\\x78\\xf5\\x73\\xbc\\xfa\\x39\\xbb\\xca\\x71\\x5c\\x14\\x69\\x95\\x76\\xe9\\xc3\\xff\\xa6\\x70\\x4f\\xcb\\x69\\xc2\\xe9\\x49\\x92\\x9c\\xe6\\x39\\x81\\x14\\xcb\\x69\\xca\\x85\\x93\\x95\\x72\\x5a\\xe0\\x82\\xc8\\x1e\\x39\\xad\\xe0\\xfc\\xc9\\x55\\x39\\xad\\xe4\\x02\\xf9\\x01\\x72\\x5a\\xc5\\x2d\\xa5\\x85\\x72\\x5a\\xcd\\x05\\xc2\\xa8\\x21\\xa5\\x35\\x9c\\xbf\\x60\\x92\\xd3\\x3e\\xa4\\x55\\x25\\xc8\\x69\\x5f\\x2e\\x42\\xfd\\x94\\x9c\\xf6\\xe3\\x32\\x35\\xc9\\x72\\x5a\\xcb\\xe5\\x6a\\x76\\xca\\x69\\x7f\\x2e\\xcc\\xc7\\x02\\x9c\\x10\\x41\\x03\\xbf\\x36\\x23\\x57\\x2c\\x4d\\x38\\x33\\x51\\xc8\\x69\\x9e\\x53\\x93\\x41\\x72\\x9a\\x72\\x03\\xc9\\x48\\x39\\x2d\\x70\\xa9\\xe4\\x41\\x39\\xad\\xe0\\x22\\xc8\\x09\\x39\\xad\\xe4\\x92\\x79\\x1f\\x39\\xad\\xe2\\x2e\\xf1\\xa3\\xe4\\xb4\\x9a\\x4b\\xa6\\xaf\\xc8\\x69\\x0d\\x17\\x41\\x7f\\x90\\xd3\\x3e\\xfc\\x87\\x42\\xa2\\x9c\\xf6\\xe5\\x06\\xa9\\xdb\\xe5\\xb4\\x1f\\x37\\x53\\xfd\\x6f\\x39\\xad\\xe5\\x66\\x6b\\xa6\\xca\\x69\\x7f\\x6e\\x80\\xe6\\x07\\xae\\x84\\x6b\\xe1\\x66\\xc1\\xbf\\x0e\\xf8\\xb7\\x94\\x6b\\xe4\\x1a\\x38\\x33\\xfc\\xab\\x85\\xdf\\xb5\\x90\\xaa\\xe7\\xda\\xb8\\xf9\\x5c\\x17\\xb7\\x10\\x4b\\x35\\x43\\xae\\x99\\x4b\\x86\\xdc\\x14\\xf8\\x9b\\xc3\\x65\\x71\\xd9\\xf0\\xcf\\xcc\\x8d\\x84\\x52\\x6d\\x70\\x7d\\x2e\\xdc\\x6f\\xe6\\x86\\x43\\x7a\\x21\\xdc\\xc5\\x68\\x2d\\xe2\\xb6\\x71\\xad\\x5c\\x26\\xe7\\x83\\x57\\x7e\\x1c\\x2d\\x07\\x52\\x13\\x64\\x2e\\xca\\xf0\\xee\\x74\\x48\\x8d\\x82\\xfb\\xeb\\x01\\x81\\x2b\\x69\\x99\\xd5\\xd2\\xd1\\xb2\\xb4\\xb1\\xc1\\xdc\\x50\\xdb\\x51\\x6b\\xae\\x6f\\x9b\\xdf\\xb5\\xb0\\x65\\x56\\x73\\x87\\x39\\xb9\\x3e\\xc5\\x9c\\x93\\x95\\x9d\\x65\\x1e\\xd9\\xd6\\x36\\x6b\\x6e\\xa3\\x79\\x78\\xdb\\xc2\\xf9\\x6d\\x0b\\x6b\\x3b\\x5a\\xda\\x5a\\x33\\x7d\\x86\\xf7\\x2d\\x96\\x63\\x9e\\x00\\x10\\x65\\xb5\\x1d\\xe9\\xe6\\x51\\xad\\xf5\\x80\\x5b\\x0e\\x0c\\xd5\\x41\\xb5\\xde\\x0c\\x9b\\xb9\\x89\\x98\\xd3\\xc2\\x35\\x41\\x81\\x96\\xba\\x46\\x09\\xce\\x3c\\xb1\\x71\\x61\\x0b\\xe4\\x14\\x43\\xa1\\xb9\\xc0\\x27\\x57\\xdc\\x36\\x17\\x68\\x11\\xd7\\x0e\\x2c\\x36\\xc2\\x7d\\x0d\\x78\\x97\\x99\\xcb\\x80\\x7f\\x3f\\x89\\x5b\\xd4\\x5e\\xdf\\xd8\\xda\\xd0\\xb8\\xd0\\x9c\\x61\\xbe\\xb6\\x8a\\x9f\\xba\\xdb\\xdc\\xc3\\x44\\xdf\\x9b\\xcd\\x12\\x57\\x53\\xb0\\x6c\\xbb\\xe7\\xde\\x1c\\x10\\x62\\x16\\xfc\\x97\\xc9\\x8e\\xa3\\x9c\\xd2\\xb8\\xb0\\x9d\\xdd\\x90\\x93\\x99\\x95\\x95\\x99\\xdd\\x7f\\x75\\x3d\\x95\\x65\\xf4\\x57\\x19\\xd6\\x95\\x21\\xd5\\xd5\\x3f\\xb7\\x2d\\x50\\xbb\\x19\\x4d\\xa9\\x03\\xaf\\x30\\xe9\\xcc\\x83\\xbf\\x0b\\xb9\\x39\\x90\\xd7\\x86\\xad\\xb8\\xbe\\xc2\\xcd\\x50\\xae\\x11\\xcd\\xb3\\x1d\\xae\\x34\\xe2\\xaf\\x06\\x44\\x65\\xd8\\x93\\xa1\\xc4\\x44\\x2c\\x35\\x1e\\xef\\x64\\xd2\\xef\\xc0\\xda\\x5a\\xb1\\xd4\\xa4\\x7e\\x6a\\x1c\\x07\\x35\\x36\\xc1\\xfd\\xf5\\x68\\xaa\\xee\\x92\\xf5\\x88\\xcd\\x4c\\x5e\\x42\\x6e\\x83\\x74\\xb3\\xac\\xc7\\xd9\\xdc\\x22\\x14\\x41\\x3b\\x94\\x64\\xf7\\xb9\\xdb\\xd6\\xce\\x0c\\xd2\\x4b\\xee\\x2d\\xed\\xe6\\x5a\\x73\\xc7\\xc2\\xda\\x86\\xc6\\x79\\xb5\\x0b\\xe7\\x98\\xdb\\x9a\\x7a\\x1b\\x99\\x79\\x61\\xe3\\xac\\x96\\xf6\\x8e\\xc6\\x85\\x90\\xd9\\xd2\\x6a\\x9e\\x9c\\x39\\x31\\xd3\\x3c\\xbe\\xb6\\xa3\\xb1\\xb5\\xc3\\x5c\\xdb\\xda\\x60\\x9e\\xe4\\xb9\\x71\\x5c\\x53\\x53\\x4b\\x7d\\x23\\x66\\xd6\\x37\\x2e\\xec\\xa8\\x85\\xc2\\x6d\\x1d\\xcd\\x60\\x22\\xb3\\x17\\x2d\\x6c\\x69\\x6f\\x68\\xa9\\x67\\xb5\\xb5\\x67\\xf6\\x67\\x72\\xfd\\xf7\\xbc\\x1e\\x23\\xf3\\xea\\x15\\x1c\\x48\\x8e\\x49\\x6c\\x31\\xca\\x61\\x2c\\x16\\x67\\xbf\\xdb\\xa5\\x5b\\x26\\x76\\x34\\x2e\\x6e\\x34\\x8f\\xad\\xed\\xe8\\x68\\x6c\\x67\\x85\\x8b\\xa1\\x40\\xbb\\x2c\\x7c\\x49\\xb1\\x93\\x50\\x54\\x6d\\x90\\xcb\\x14\\xd6\\x09\\xe2\\x62\\xc2\\x69\\xc6\\x74\\x2d\\x2a\\xbd\\x01\\xe1\\x58\\x4f\\x6f\\x95\\xef\\xac\\x83\\xbe\\x6f\\xfe\\xd1\\x8a\\xcd\\xf2\\xbd\\xb5\\xb2\\xf1\\xb4\\x62\\x1d\\x8b\\xe5\\xd6\\xb0\\x7b\\xd2\\x65\\xa3\\x68\\x42\\xda\\x8e\\xf5\\xb6\\x42\\x1d\\x66\\xe4\\xcf\\xdd\\x31\\xbc\\xeb\\x36\\xa3\\x32\\x6b\\xd1\\x34\\x24\\x73\\x9c\\x07\\x57\\x3b\\xb0\\x6c\\x3d\\xe4\\xcf\\x85\\xff\\xba\\xe4\\xb1\\x6e\\x1e\\x48\\x4f\\xaa\\xab\\x4e\\x1e\\xcd\\x3a\\x71\\x6c\\x6c\\x96\\x5b\\x3c\\x0f\\x71\\xcd\\x5c\\x05\\xfc\\xed\\x44\\xd3\\x6d\\x43\\xe3\\x6a\\x8d\\x89\\x45\\x43\\xec\\x91\\x8a\\x64\\xdc\\x4d\\x72\\x07\\x34\\xe3\\xbd\\xf3\\x21\\xdd\\x86\\xad\\x70\\xcb\\x31\\x03\\x75\\xc8\\x5a\\xd2\\x88\\x9c\\xb2\\x54\\x2d\\x8e\\xbf\\x75\\x70\\xc7\\x5c\\xac\\x5b\\xe2\\xad\\x19\\x4d\\xb8\\x16\\x0d\\xb0\\x51\\x36\\xc8\\x0e\\x6c\\x41\\xbb\\x97\\x21\\x4b\\x66\\x6b\\xc6\\x56\\x30\\xf4\\x11\\x68\\xbc\\x6c\\xd4\\x6d\\x94\\x65\\x3a\\x15\\x46\\xeb\\xf2\\x7e\\x11\\x25\\x09\\x7a\\x77\\xa0\\x76\\xec\\xf1\\x8b\\xe5\\x36\\xbb\\xb1\\x5b\\x91\\xdb\\x06\\x4f\\x1b\\x25\\x69\\xb3\\x52\\x73\\xe5\\x9a\\xa4\\x16\\xcf\\xc5\\x59\\x61\\x8e\\x47\\x3f\\x4d\\x68\\x97\\x92\\x44\\x1b\\x10\\x2d\\xe3\\x3a\\x32\\x6f\\x42\\xd9\\x74\\xc8\\xb5\\xb6\\x21\\x47\\x0d\\xf0\\x9f\\xa4\\x71\\xc9\\xb6\\xda\\xe0\\xde\\x45\\xa8\\x0f\\xa9\\xd3\\x4b\\x56\\xdf\\x71\\x8d\\xe4\\x6a\\x51\\xbe\\x6d\\xf2\\x7d\\xf3\\xe1\\x0a\\xab\\x4b\\xe2\\x65\\x9e\\xd4\\x89\\x8b\\x6b\\xdb\\xa1\\x53\\x42\\x17\\x9e\\xd4\\xd2\\xda\\xd6\\x9e\\x6e\\xee\\x6c\\x6e\\xa9\\x6f\\x36\\x77\\xd6\\xb6\\x9b\\x1b\\x1a\\xdb\\x5b\\x66\\xb5\\xc2\\xc5\\xba\\x2e\\x73\\xef\\x2e\\x61\\x86\\xab\\xb5\\xd0\\xe9\\x5b\\x5b\\xdb\\x16\\x43\\x87\\x5a\\xdc\\x98\\x0e\\x1d\\xbc\\x69\\x61\\x63\\x7b\\x73\\x4b\\xeb\\x2c\\x73\\x3b\\x8e\\xc1\\xd2\\xdd\\xe6\\x8e\\xe6\\xda\\x0e\\x36\\x3a\\xcc\\x6b\\xec\\x58\\xd8\\x52\\x5f\\x3b\\x77\\x6e\\x17\\x4c\\x5c\\xf3\\xe6\\xc3\\x5d\\x75\\x30\\x53\\x75\\xb6\\x74\\x34\\x43\\xc5\\xf3\\x1a\\xdb\\xcd\\x15\\x8d\\x9d\\xe6\\x09\\x6d\\xf3\\x6a\\x5b\\x9f\\xcc\\x94\\x58\\x81\\x41\\xa4\\x09\\x06\\x69\\x73\\xcb\\xbc\\xf9\\x0b\\xdb\\x16\\x23\\x8f\\x19\\xed\\xf5\\x0b\\x1b\\x1b\\x5b\\xa1\\xb2\\xda\\x86\\xda\\xba\\x96\\xb9\\x2d\\x1d\\x80\\xd6\\x5c\\xbb\\xb0\\xb6\\x1e\\x86\\x16\\x18\\x5f\\x5a\\xea\\xdb\\x71\\xe8\\x80\\x11\\xc3\\x3c\\xbf\\xb6\\x35\\x63\\xc4\\xa2\\x85\\x6d\\xf3\\x1b\\x81\\xd3\\xa9\\x23\\xcb\\x7b\\x0a\\x02\\x83\\xd2\\xb0\\xd3\\xde\\x36\\x77\\x31\\xd4\\xcc\\x4a\\xb7\\x36\\x36\\x36\\xb0\\x1a\\x81\\xed\\xc5\\x8d\\x73\\xe1\\x26\\xa8\\x78\\x6e\\x5b\\xdb\\x1c\\xd6\\x9e\\xa6\\xb6\\x85\\xc0\\x68\\x43\\x47\\x73\\x86\\x17\\xe7\\x4d\\x6d\\xad\\x1d\\x70\\x6b\\x9b\\xb9\\xb6\\xa1\\x01\\x1a\\x0e\\xd2\\x6a\\xab\\x5f\\x34\\x8f\\x0d\\x68\\x30\\xc8\\x74\\xb8\\x99\\xab\\xad\\x5f\\xd8\\x06\\xd7\\xe6\\xcf\\xad\\xed\\x00\\x94\\x79\\x6c\\xe0\\x6a\\xc6\\x2e\\x3f\\x9f\\x2b\\xe0\\x2c\\xf0\\x5f\\x27\\xfe\\x97\\x89\\x1d\\xdf\\x7b\\x38\\xab\\x97\\x07\\xb3\\x4c\\xd9\\x48\\x2c\\x70\\x63\\x47\\xc7\\xfc\\x02\\x8b\\xa5\\xb3\\xb3\\x33\\xb3\\x56\\x1e\\xd3\\xea\\x61\\x48\\xcb\\x04\\xa6\\x2c\\xbf\\x1e\\x96\\xd9\\xc9\\x7c\\xb4\\x68\\xef\\xf1\\x6a\\x21\\xda\\x06\\xc3\\x9c\\x07\\x36\\xf3\\xa3\\x55\\x77\\x74\\xcd\\x6f\\x94\\x2d\\x65\\x61\\x7b\\x66\\x73\\xc7\\xbc\\xb9\\xd2\\x6c\\x28\\x55\\xeb\\x1e\\x36\\x17\\x79\\x0d\\xd4\\xee\\xae\\x34\\x11\\x66\\xba\\x72\\x9c\\x95\\xe6\\xcb\\x03\\x40\\xa9\\x6c\\xfa\\xe6\\x3e\\x08\\x6c\\xd8\\xeb\\x3b\\x9b\\x67\\x4b\\xf3\\x78\\x39\\x4c\\x17\\xad\\xcc\\x82\\x17\\xe1\\x20\\xcf\\x74\\x39\\x71\\x54\\xf9\\xff\\x67\\xef\\x4d\\xe0\\xa4\\xa8\\xae\\xf6\\xe1\\xbb\\xd5\\xd6\\x0c\\x9b\\xe2\\x82\\x22\\xe2\\x12\\x63\\x8c\\x0b\\x53\\x55\\xbd\\x29\\x1a\\x67\\xa9\\x52\\x11\\xc1\\x28\\x28\\x22\\x2e\\x03\\xd3\\x30\\x83\\xc3\\x0c\\xcc\\x02\\xb8\\x13\\xb7\\xb8\\xef\\x1a\\x43\\x8c\\x31\\x86\\x28\\x2e\\x71\\x41\\x62\\x10\\x89\\x71\\x17\\x15\\xd4\\x28\\xae\\xe0\\x2e\\x8a\\x8a\\x8a\\x88\\xa8\\x44\\x99\\xef\\xd4\\xad\\x67\\xa6\\x6b\\x9a\\xc1\\xe0\\xfb\\xfe\\xf3\\xff\\xde\\xf7\\xfb\\x7d\\xf0\\xbb\\x5b\\xd5\\xad\\xf3\\x9c\\x7b\\xee\\xad\\xfb\\x9c\\xd3\\x55\\x3d\\x3d\\x68\\xc4\\x14\\x5a\\x26\\x21\\xcd\\xd1\\x20\\x74\\xd8\\x73\\x50\\x07\\xe3\\x97\\x47\\x74\\xdf\\xd5\\x5c\\xf1\\x36\\x54\\x4f\\xed\\x56\\x3d\\xf0\\x16\\x7d\\x13\\xed\\xad\\x8d\\x35\\x91\\xce\\x8f\\x20\\xcd\\x86\\x75\\x9a\\x81\\x16\\x61\\xfd\\x94\\xd6\\x96\\xbd\\x5b\\xea\\x1b\\xf6\\x6e\\x6a\\x9e\\xb8\\xcf\\x88\\x30\\xfa\\x13\\x5d\\xb1\\xc3\\xde\\xbe\\x13\\x7b\\x94\\x75\\xf3\\x2f\\x15\\xff\\x76\\x80\\x20\\xef\\x53\\x91\\x9f\\x6b\\x92\\x4f\\x6b\\x47\\xbf\\x5e\\x4c\\xbe\\x6a\\x19\\xf9\\xa5\\xbd\\x58\\x6f\\xd6\\x87\\xf5\\x65\\x5b\\xb0\\x2d\\x59\\x3f\\xb6\\x15\\xdb\\x9a\\x6d\\xc3\\xb6\\x65\\xfd\\xd9\\x76\\x6c\\x7b\\x36\\x80\\xed\\xc0\\x06\\xb2\\x1d\\x69\\xc8\\x3b\\xb1\\x9d\\xd9\\x2e\\x6c\\x57\\xf6\\x13\\xb6\\x1b\\xfb\\x29\\xf9\\x8e\\x3f\\x63\\x7b\\xb0\\x9f\\x93\\x71\\xf6\\x22\\x55\\xf7\\x81\\x07\\xe9\\x31\\x9f\\xa5\\x59\\x86\\x65\\x59\\x8e\\xe5\\x69\\x78\\xfb\\xb1\\x21\\x6c\\x7f\\x76\\x00\\xfb\\x05\\x3b\\x90\\x38\\xb3\\x92\\x58\\xb2\\x9a\\xf6\\xc5\\x90\\xf6\\xc1\\x83\\xc9\\xfc\\x43\\xd9\\xa1\\x34\\xb0\\xc3\\x68\\x47\\x1f\\x41\\x6e\\xc4\\x2f\\x69\\x47\\x3f\\x92\\x76\\xf1\\x51\\x64\\xec\\xa3\\xd9\\x68\\x76\\x0c\\x1b\\xc3\\x8e\\x65\\x63\\xd9\\x71\\xec\\x78\\x76\\x02\\x3b\\x91\\xd5\\x70\\xc1\\xfe\\xc4\\xce\\x61\\xe7\\xb2\\xbf\\xb3\\x6b\\xd9\\x4a\\x76\\x1e\\xbb\\x94\\x5d\\xc4\\x7e\\xcf\\x6e\\x65\\xb3\\xb9\\x64\\x17\\x72\\xc5\\xce\\x66\\x57\\xb1\\x35\\xec\\x4b\\x76\\x09\\xf9\\xfd\\xe7\\x73\\x93\\xbd\\xc9\\xbe\\x60\\x37\\xb0\\xdb\\xd8\\x57\\x6c\\x2d\\x5b\\xc7\\x6e\\x62\\x7f\\x61\\x4f\\xb1\\x27\\x29\\xa6\\x19\\x47\\x06\\xbf\\x9c\\x16\\xc4\\x33\\x34\\xa9\\x8b\\xd8\\xd3\\xec\\x39\\xb6\\x98\\x2d\\x61\\xcf\\xb2\\x8f\\x68\\x6f\\x7a\\x91\\x3d\\xcf\\xfe\\xc9\\xee\\x22\\xc3\\xaf\\x66\\x57\\xb0\\x97\\xd9\\x52\\xf6\\x12\\x4d\\xd7\\x27\\xec\\x53\\x76\\x01\\xb9\\x23\\xf5\\xb4\\xa7\\x46\\x6b\\xb2\\x91\\xdd\\x48\\xd3\\x33\\x55\\xb3\\x4a\\x0b\\x2d\\xaf\\x56\\xda\\x83\\xa7\\xb3\\x8f\\xd9\\x0c\\xf2\\xe3\\x4f\\x66\\xa7\\x52\\x24\\x77\\x1a\\x9b\\xcf\\xfe\\xc8\\xce\\x64\\x67\\xb0\\x99\\xec\\x57\\x6c\\x15\\xfb\\x8c\\x2d\\xe0\\x16\\xb7\\xb9\\xc3\\x53\\xbc\\x07\\x2f\\x63\\xdf\\xb3\\x0d\\xbc\\x27\\x8f\\xde\\x0c\\xef\\xc3\\xda\\x39\\xe3\\x7d\\xf9\\x16\\x7c\\x4b\\xce\\x79\\x3f\\xbe\\x15\\xdf\\x9a\\x6f\\xc3\\xb7\\xe5\\xfd\\xf9\\x76\\x7c\\x7b\\x3e\\x80\\xef\\xc0\\x07\\xf2\\x1d\\xd9\\x37\\xec\\x5b\\x3e\\x88\\xef\\xc4\\x77\\xe6\\xbb\\xf0\\x5d\\xf9\\x4f\\xf8\\x6e\\xfc\\xa7\\x7c\\x77\\xfe\\x33\\xbe\\x07\\xff\\x39\\xdf\\x93\\xef\\xc5\\xf7\\xe6\\xfb\\xb0\\xf5\\xec\\x15\\x3e\\x98\\x97\\x73\\x97\\x7b\\xdc\\xe7\\x69\\x9e\\xe1\\x59\\x9e\\xe3\\x79\\xbe\\x2f\\xdf\\x8f\\x0f\\xe1\\xfb\\xf3\\x03\\xd8\\xbb\\xec\\x3d\\xfe\\x0b\\x7e\\x20\\xaf\\xe0\\x95\\xbc\\x8a\\x57\\xf3\\x80\\x87\\xd1\\x4f\\x3d\\xf1\\x43\\xf8\\x50\\x7e\\x28\\x1f\\xc6\\x0f\\x63\\x77\\xb3\\x7b\\xf8\\x70\\x3e\\x82\\x1f\\xce\\x7f\\xc9\\x8f\\xe0\\x47\\xf2\\x91\\x7c\\x14\\x3f\\x8a\\x1f\\xcd\\xfe\\xc5\\xbe\\x63\\xef\\xb3\\x15\\x7c\\x34\\x3f\\x86\\x8f\\xe1\\xc7\\xf2\\xb1\\xfc\\x38\\x7e\\x3c\\x3f\\x81\\x9f\\xc8\\x6b\\xf8\\x38\\x3e\\x9e\\xd7\\xf2\\x02\\x9f\\xc0\\x27\\xf2\\x3a\\x5e\\xcf\\x27\\xf1\\x93\\x78\\x03\\x9f\\xcc\\x1e\\xe0\\x8d\\xbc\\x89\\x4f\\xe1\\x53\\xd9\\x07\\xec\\x43\\xde\\xcc\\x5b\\x78\\x2b\\x6f\\xe3\\xd3\\xf8\\x74\\x3e\\x83\\x9f\\xcc\\x4f\\xe1\\xa7\\xf2\\xd3\\xf8\\xe9\\xfc\\x0c\\x7e\\x26\\x9f\\xc9\\x7f\\xc5\\xcf\\xe2\\x67\\xf3\\x73\\xd8\\xcd\\xfc\\x5c\\x7e\\x1e\\xff\\x35\\x3f\\x9f\\x5f\\xc0\\x2f\\xe4\\x17\\xf1\\x8b\\xf9\\x25\\xfc\\x52\\x7e\\x19\\xbf\\x9c\\x5f\\xc1\\xaf\\xe4\\x57\\xf1\\xab\\xf9\\x35\\xfc\\x5a\\xfe\\x1b\\x7e\\x1d\\xff\\x2d\\x9f\\xc5\\x7f\\xc7\\xaf\\xe7\\xbf\\xe7\\x37\\xf0\\x3f\\xf0\\x1b\\xf9\\x1f\\xf9\\x4d\\xfc\\x4f\\x7c\\x36\\xff\\x33\\xbf\\x99\\xdf\\xc2\\xe7\\xf0\\x5b\\xf9\\x6d\\xfc\\x76\\x7e\\x07\\xff\\x0b\\xbf\\x93\\xdf\\xc5\\xef\\xe6\\xf7\\xf0\\xb9\\xfc\\x5e\\x3e\\x8f\\xff\\x95\\xdf\\xc7\\xff\\xc6\\xe7\\xf3\\xfb\\xf9\\x02\\xfe\\x00\\x5f\\xc8\\xff\\xce\\x1f\\xe4\\xff\\xe0\\x0f\\xf1\\x87\\xf9\\x23\\xfc\\x51\\xfe\\x18\\x7f\\x9c\\x3f\\xc1\\x9f\\xe4\\x8b\\xf8\\x53\\xfc\\x69\\xfe\\x0c\\x5f\\xcc\\x97\\xf0\\x67\\xf9\\x73\\xfc\\x79\\xfe\\x4f\\xfe\\x02\\x7f\\x91\\x2f\\xe5\\x2f\\xf1\\x97\\xf9\\x2b\\xfc\\x55\\xfe\\x1a\\x7f\\x9d\\x2f\\xe3\\xcb\\xf9\\x1b\\xfc\\x4d\\xfe\\x16\\x7f\\x9b\\xbf\\xc3\\xdf\\xe5\\xef\\xf1\\xf7\\xf9\\x0a\\xfe\\x01\\xff\\x90\\xaf\\xe4\\x1f\\xf1\\x8f\\xf9\\x27\\x7c\\x15\\xff\\x94\\x7f\\xc6\\x3f\\xe7\\xab\\xf9\\x17\\x7c\\x0d\\xff\\x92\\xaf\\xe5\\x5f\\xf1\\x75\\xfc\\x6b\\xfe\\x0d\\xff\\x96\\xaf\\xe7\\xff\\xe2\\xdf\\xf1\\xef\\xf9\\x06\\xde\\x2e\\x98\\xe0\\x42\\x08\\x19\\xfd\\x00\\x8b\\x30\\x85\\x25\\x6c\\xe1\\x88\\x94\\xe8\\x21\\xca\\x44\\x4f\\xd1\\x4b\\xf4\\x16\\x7d\\x44\\x5f\\xb1\\x85\\xd8\\x52\\xf4\\x13\\x5b\\x89\\xad\\xc5\\x36\\x62\\x5b\\xd1\\x5f\\x6c\\x27\\xb6\\x17\\x03\\xc4\\x0e\\x62\\xa0\\xd8\\x51\\x0c\\x12\\x3b\\x89\\x9d\\xc5\\x2e\\x62\\x57\\xf1\\x13\\xb1\\x9b\\xf8\\xa9\\xd8\\x5d\\xfc\\x4c\\xec\\x21\\x7e\\x2e\\xf6\\x14\\x7b\\x89\\xbd\\xc5\\x3e\\x62\\xb0\\x28\\x17\\xae\\xf0\\x84\\x2f\\xd2\\x22\\x23\\xb2\\x22\\x27\\xf2\\x62\\x5f\\xb1\\x9f\\x18\\x22\\xf6\\x17\\x07\\x88\\x5f\\x88\\x03\\x45\\x85\\xa8\\x14\\x55\\xa2\\x5a\\x04\\x22\\x14\\x07\\x89\\x83\\xc5\\x21\\x62\\xa8\\x38\\x54\\x0c\\x13\\x87\\x89\\xe1\\x62\\x84\\x38\\x5c\\xfc\\x52\\x1c\\x21\\x8e\\x14\\x23\\xc5\\x28\\x71\\x94\\x38\\x5a\\x8c\\x16\\xc7\\x88\\x31\\xe2\\x58\\x31\\x56\\x1c\\x27\\x8e\\x17\\x27\\x88\\x13\\x45\\x8d\\x18\\x27\\xc6\\x8b\\x5a\\x51\\x10\\x13\\xc4\\x44\\x51\\x27\\xea\\xc5\\x24\\x71\\x92\\x68\\x10\\x93\\x45\\xa3\\x68\\x12\\x53\\xc4\\x54\\xd1\\x2c\\x5a\\x44\\xab\\x68\\x13\\xd3\\xc4\\x74\\x31\\x43\\x9c\\x2c\\x4e\\x11\\xa7\\x8a\\xd3\\xc4\\xe9\\xe2\\x0c\\x71\\xa6\\x98\\x29\\x7e\\x25\\xce\\x12\\x67\\x8b\\x73\\xc4\\xb9\\xe2\\x3c\\xf1\\x6b\\x71\\xbe\\xb8\\x40\\x5c\\x28\\x2e\\x12\\x17\\x8b\\x4b\\xc4\\xa5\\xe2\\x32\\x71\\xb9\\xb8\\x42\\x5c\\x29\\xae\\x12\\x57\\x8b\\x6b\\xc4\\xb5\\xe2\\x37\\xe2\\x3a\\xf1\\x5b\\x31\\x4b\\xfc\\x4e\\x5c\\x2f\\x7e\\x2f\\x6e\\x10\\x7f\\x10\\x37\\x8a\\x3f\\x8a\\x9b\\xc4\\x9f\\xc4\\x6c\\xf1\\x67\\x71\\xb3\\xb8\\x45\\xcc\\x11\\xb7\\x8a\\xdb\\xc4\\xed\\xe2\\x0e\\xf1\\x17\\x71\\xa7\\xb8\\x4b\\xdc\\x2d\\xee\\x11\\x73\\xc5\\xbd\\x62\\x9e\\xf8\\xab\\xb8\\x4f\\xfc\\x8d\\xbd\\xca\\xde\\x11\\xf3\\xd9\\xeb\\xe2\\x7e\\xb1\\x40\\x3c\\x20\\x16\\x8a\\xbf\\x8b\\x07\\xc5\\x3f\\xc4\\x43\\xe2\\x61\\xf1\\x88\\x78\\x54\\x3c\\x26\\x1e\\x17\\x4f\\xb0\\x65\\x6c\\x39\\x7b\\x83\\xbd\\xcd\\x5e\\x63\\x6f\\x89\\x27\\xc5\\x22\\xf1\\x94\\x78\\x5a\\x3c\\x23\\x16\\x8b\\x25\\xe2\\x59\\xf1\\x9c\\x78\\x5e\\xfc\\x53\\xbc\\x20\\x5e\\x14\\x4b\\xc5\\x4b\\xe2\\x65\\xf1\\x8a\\x78\\x55\\xbc\\x26\\x5e\\x17\\xcb\\xc4\\x72\\xf1\\x86\\x78\\x53\\xbc\\x25\\xde\\x16\\xef\\x88\\x77\\xc5\\x7b\\xe2\\x7d\\xb1\\x42\\x7c\\x20\\x3e\\x14\\x2b\\xc5\\x47\\xe2\\x63\\xf1\\x89\\x58\\x25\\x3e\\x15\\x9f\\x89\\xcf\\xc5\\x6a\\xf1\\x85\\x58\\x23\\xbe\\x14\\x6b\\xc5\\x57\\x62\\x9d\\xf8\\x5a\\x7c\\x23\\xbe\\x15\\xeb\\xc5\\xbf\\xc4\\x77\\xe2\\x7b\\xb1\\x41\\xb4\\x4b\\x26\\xb9\\x14\\x52\\x4a\\x25\\x0d\\x69\\x4a\\x4b\\xda\\xd2\\x91\\x29\\xd9\\x43\\x96\\xc9\\x9e\\xb2\\x97\\xec\\x2d\\xfb\\xc8\\xbe\\x72\\x0b\\xb9\\xa5\\xec\\x27\\xb7\\x92\\x5b\\xcb\\x6d\\xe4\\xb6\\xb2\\xbf\\xdc\\x4e\\x6e\\x2f\\x07\\xc8\\x1d\\xe4\\x40\\xb9\\xa3\\x1c\\x24\\x77\\x92\\x3b\\xcb\\x5d\\xe4\\xae\\xf2\\x27\\x72\\x37\\xf9\\x53\\xb9\\xbb\\xfc\\x99\\xdc\\x43\\xfe\\x5c\\xee\\x29\\xf7\\x92\\x7b\\xcb\\x7d\\xe4\\x60\\x59\\x2e\\x5d\\xe9\\x49\\x5f\\xa6\\x65\\x46\\x66\\x65\\x4e\\xe6\\xe5\\xbe\\x72\\x3f\\x39\\x44\\xee\\x2f\\x0f\\x90\\xbf\\x90\\x07\\xca\\x0a\\x59\\x29\\xab\\x64\\xb5\\x0c\\xa2\\xf7\\x4f\\xe4\\xc1\\xf2\\x10\\x39\\x54\\x1e\\x2a\\x87\\xc9\\xc3\\xe4\\x70\\x39\\x42\\x1e\\x2e\\x7f\\x29\\x8f\\x90\\x47\\xca\\x91\\x72\\x94\\x3c\\x2a\\x7a\\x0b\\x41\\x1e\\x23\\xc7\\xc8\\x63\\xe5\\xd8\\xe8\\xd9\\xbc\\x3c\\x41\\x9e\\x28\\x6b\\xe4\\x38\\x39\\x5e\\xd6\\xca\\x82\\x9c\\x20\\x27\\x46\\xcf\\xcf\\xe5\\x24\\x79\\x92\\x6c\\x90\\x93\\xd9\\x1c\\xd9\\x28\\x9b\\xa2\\x67\\xd1\\xb2\\x59\\xb6\\xc8\\x56\\xd9\\x26\\xa7\\xc9\\xe9\\xd1\\xd3\\x67\\x79\\x8a\\x3c\\x55\\x9e\\x26\\x4f\\x97\\x67\\xc8\\x33\\xe5\\x4c\\xf6\\x07\\xf9\\x2b\\x79\\x96\\x3c\\x5b\\x9e\\x23\\xcf\\x95\\xe7\\xc9\\x5f\\xcb\\xf3\\xe5\\x05\\xf2\\x42\\x79\\x91\\xbc\\x58\\x5e\\x22\\x2f\\x95\\x97\\xc9\\xcb\\xe5\\x15\\xf2\\x4a\\xf6\\x1b\\x79\\x95\\xbc\\x5a\\x5e\\xc3\\x7e\\x27\\xaf\\x95\\xbf\\x91\\xd7\\xc9\\xdf\\xca\\x59\\xf2\\x77\\xf2\\x7a\\xf9\\x7b\\x79\\x83\\xfc\\x83\\xbc\\x51\\xfe\\x51\\xde\\x24\\xff\\x24\\x67\\xcb\\x3f\\xcb\\x9b\\xe5\\x2d\\x72\\x8e\\xbc\\x55\\xde\\x26\\x6f\\x97\\x77\\xc8\\xbf\\xc8\\x3b\\xe5\\x5d\\xf2\\x6e\\x79\\x8f\\x9c\\x2b\\xef\\x95\\xf3\\xe4\\x5f\\xe5\\x7d\\xf2\\x6f\\x72\\xbe\\xbc\\x5f\\x2e\\x90\\x0f\\xc8\\x85\\xf2\\xef\\xf2\\x41\\xf9\\x0f\\xf9\\x90\\x7c\\x58\\x3e\\x22\\x1f\\x8d\\x9e\\xac\\xca\\x27\\xa2\\xa7\\x94\\xf2\\x29\\xf9\\xb4\\x7c\\x46\\x2e\\x96\\x4b\\xe4\\xb3\\xf2\\x39\\xf9\\x7c\\xf4\\x84\\x4c\\xbe\\x18\\x3d\\xa1\\x91\\x2f\\xcb\\x57\\xe4\\xab\\xf2\\x35\\xf9\\xba\\x5c\\x26\\x97\\x47\\xcf\\x15\\xe4\\x5b\\xf2\\x6d\\xf9\\x8e\\x7c\\x57\\xbe\\x17\\x7d\\x36\\x2e\\x3f\\x88\\x3e\\xc1\\x96\\x1f\\xc9\\x8f\\xe5\\x27\\x72\\x95\\xfc\\x54\\x7e\\x26\\x3f\\x97\\xab\\xe5\\x17\\x72\\x4d\\xf4\\x99\\xaa\\xfc\\x4a\\xae\\x93\\x5f\\xcb\\x6f\\xe4\\xb7\\x72\\xbd\\xfc\\x97\\xfc\\x4e\\x7e\\x2f\\x37\\xc8\\x76\\xc5\\x14\\x57\\x42\\x49\\xa5\\x94\\xa1\\x4c\\x65\\x29\\x5b\\x39\\x2a\\xa5\\x7a\\xa8\\x32\\xd5\\x53\\xf5\\x52\\xbd\\x55\\x1f\\xd5\\x57\\x6d\\xa1\\xb6\\x54\\xfd\\xd4\\x56\\x6a\\x6b\\xb5\\x8d\\xda\\x56\\xf5\\x57\\xdb\\xa9\\xed\\xd5\\x00\\xb5\\x83\\x1a\\xa8\\x76\\x54\\x83\\xd4\\x4e\\x6a\\x67\\xb5\\x8b\\xda\\x55\\xfd\\x44\\xed\\xa6\\x7e\\xaa\\x76\\x57\\x3f\\x53\\x7b\\xa8\\x9f\\xab\\x3d\\xd5\\x5e\\x6a\\x6f\\xb5\\x8f\\x1a\\xac\\xca\\x95\\xab\\x3c\\xe5\\xab\\xb4\\xca\\xa8\\xac\\xca\\xa9\\xbc\\xda\\x57\\xed\\xa7\\x86\\xa8\\xfd\\xd5\\x01\\xea\\x17\\xea\\x40\\x55\\xa1\\x2a\\x55\\x95\\xaa\\x56\\x81\\x0a\\xd5\\x41\\xea\\x60\\x75\\x88\\x1a\\xaa\\x0e\\x55\\xc3\\xd4\\x61\\x6a\\xb8\\x1a\\xa1\\x0e\\x57\\xbf\\x54\\x47\\xa8\\x23\\xd5\\x48\\x35\\x4a\\x1d\\xa5\\x8e\\x56\\xa3\\xd5\\x31\\x6a\\x8c\\x3a\\x56\\x8d\\x55\\xc7\\xa9\\xe3\\xd5\\x09\\xea\\x44\\x55\\xa3\\xc6\\xa9\\xf1\\xaa\\x56\\x15\\xd4\\x04\\x35\\x51\\xd5\\xa9\\x7a\\x35\\x49\\x9d\\xa4\\x1a\\xd4\\x64\\xd5\\xa8\\x9a\\xd4\\x14\\x35\\x55\\x35\\xab\\x16\\xd5\\xaa\\xda\\xd4\\x34\\x35\\x5d\\xcd\\x50\\x27\\xab\\x53\\xd4\\xa9\\xea\\x34\\x75\\xba\\x3a\\x43\\x9d\\xa9\\x66\\xaa\\x5f\\xa9\\xb3\\xd4\\xd9\\xea\\x1c\\x75\\xae\\x3a\\x4f\\xfd\\x5a\\x9d\\xaf\\x2e\\x50\\x17\\xaa\\x8b\\xd4\\xc5\\xea\\x12\\x75\\xa9\\xba\\x4c\\x5d\\xae\\xae\\x50\\x57\\xaa\\xab\\xd4\\xd5\\xea\\x1a\\x75\\xad\\xfa\\x8d\\xba\\x4e\\xfd\\x56\\xcd\\x52\\xbf\\x53\\xd7\\xab\\xdf\\xab\\x1b\\xd4\\x1f\\xd4\\x8d\\xea\\x8f\\xea\\x26\\xf5\\x27\\x35\\x5b\\xfd\\x59\\xdd\\xac\\x6e\\x51\\x73\\xd4\\xad\\xea\\x36\\x75\\xbb\\xba\\x43\\xfd\\x45\\xdd\\xa9\\xee\\x52\\x77\\xab\\x7b\\xd4\\x5c\\x75\\xaf\\x9a\\xa7\\xfe\\xaa\\xee\\x53\\x7f\\x53\\xf3\\xd5\\xfd\\x6a\\x81\\x7a\\x40\\x2d\\x54\\x7f\\x57\\x0f\\xaa\\x7f\\xa8\\x87\\xd4\\xc3\\xea\\x11\\xf5\\xa8\\x7a\\x4c\\x3d\\xae\\x9e\\x50\\x4f\\xaa\\x45\\xea\\x29\\xf5\\xb4\\x7a\\x46\\x2d\\x56\\x4b\\xd4\\xb3\\xea\\x39\\xf5\\xbc\\xfa\\xa7\\x7a\\x41\\xbd\\xa8\\x96\\xaa\\x97\\xd4\\xcb\\xea\\x15\\xf5\\xaa\\x7a\\x4d\\xbd\\xae\\x96\\xa9\\xe5\\xea\\x0d\\xf5\\xa6\\x7a\\x4b\\xbd\\xad\\xde\\x51\\xef\\xaa\\xf7\\xd4\\xfb\\x6a\\x85\\xfa\\x40\\x7d\\xa8\\x56\\xaa\\x8f\\xd4\\xc7\\xea\\x13\\xb5\\x4a\\x7d\\xaa\\x3e\\x53\\x9f\\xab\\xd5\\xea\\x0b\\xb5\\x46\\x7d\\xa9\\xd6\\xaa\\xaf\\xd4\\x3a\\xf5\\xb5\\xfa\\x46\\x7d\\xab\\xd6\\xab\\x7f\\xa9\\xef\\xd4\\xf7\\x6a\\x83\\x6a\\x37\\x98\\xc1\\xa3\\x3f\\x11\\x6e\\x28\\xc3\\x30\\x4c\\xc3\\x32\\x6c\\xc3\\x31\\x52\\x46\\x0f\\xa3\\xcc\\xe8\\x69\\xf4\\x32\\x7a\\x1b\\x7d\\x8c\\xbe\\xc6\\x16\\xc6\\x96\\x46\\x3f\\x63\\x2b\\x63\\x6b\\x63\\x1b\\x63\\x5b\\xa3\\xbf\\xb1\\x9d\\xb1\\xbd\\x31\\xc0\\xd8\\xc1\\x18\\x68\\xec\\x68\\x0c\\x32\\x76\\x32\\x76\\x36\\x76\\x31\\x76\\x35\\x7e\\x62\\xec\\x66\\xfc\\xd4\\xd8\\xdd\\xf8\\x99\\xb1\\x87\\xf1\\x73\\x63\\x4f\\x63\\x2f\\x63\\x6f\\x63\\x1f\\x63\\xb0\\x51\\x6e\\xb8\\x86\\x67\\xf8\\x46\\xda\\xc8\\x18\\x59\\x23\\x67\\xe4\\x8d\\x7d\\x8d\\xfd\\x8c\\x21\\xc6\\xfe\\xc6\\x01\\xc6\\x2f\\x8c\\x03\\x8d\\x0a\\xa3\\xd2\\xa8\\x32\\xaa\\x8d\\xc0\\x08\\x8d\\x83\\x8c\\x83\\x8d\\x43\\x8c\\xa1\\xc6\\xa1\\xc6\\x30\\xe3\\x30\\x63\\xb8\\x31\\xc2\\x38\\xdc\\xf8\\xa5\\x71\\x84\\x71\\xa4\\x31\\xd2\\x18\\x65\\x1c\\x65\\x1c\\x6d\\x8c\\x36\\x8e\\x31\\xc6\\x18\\xc7\\x1a\\x63\\x8d\\xe3\\x8c\\xe3\\x8d\\x13\\x8c\\x13\\x8d\\x1a\\x63\\x9c\\x31\\xde\\xa8\\x35\\x0a\\xc6\\x04\\x63\\xa2\\x51\\x67\\xd4\\x1b\\x93\\x8c\\x93\\x8c\\x06\\x63\\xb2\\xd1\\x68\\x34\\x19\\x53\\x8c\\xa9\\x46\\xb3\\xd1\\x62\\xb4\\x1a\\x6d\\xc6\\x34\\x63\\xba\\x31\\xc3\\x38\\xd9\\x38\\xc5\\x38\\xd5\\x38\\xcd\\x38\\xdd\\x38\\xc3\\x38\\xd3\\x98\\x69\\xfc\\xca\\x38\\xcb\\x38\\xdb\\x38\\xc7\\x38\\xd7\\x38\\xcf\\xf8\\xb5\\x71\\xbe\\x71\\x81\\x71\\xa1\\x71\\x91\\x71\\xb1\\x71\\x89\\x71\\xa9\\x71\\x99\\x71\\xb9\\x71\\x85\\x71\\xa5\\x71\\x95\\x71\\xb5\\x71\\x8d\\x71\\xad\\xf1\\x1b\\xe3\\x3a\\xe3\\xb7\\xc6\\x2c\\xe3\\x77\\xc6\\xf5\\xc6\\xef\\x8d\\x1b\\x8c\\x3f\\x18\\x37\\x1a\\x7f\\x34\\x6e\\x32\\xfe\\x64\\xcc\\x36\\xfe\\x6c\\xdc\\x6c\\xdc\\x62\\xcc\\x31\\x6e\\x35\\x6e\\x33\\x6e\\x37\\xee\\x30\\xfe\\x62\\xdc\\x69\\xdc\\x65\\xdc\\x6d\\xdc\\x63\\xcc\\x35\\xee\\x35\\xe6\\x19\\x7f\\x35\\xee\\x33\\xfe\\x66\\xcc\\x37\\xee\\x37\\x16\\x18\\x0f\\x18\\x0b\\x8d\\xbf\\x1b\\x0f\\x1a\\xff\\x30\\x1e\\x32\\x1e\\x36\\x1e\\x31\\x1e\\x35\\x1e\\x33\\x1e\\x37\\x9e\\x30\\x9e\\x34\\x16\\x19\\x4f\\x19\\x4f\\x1b\\xcf\\x18\\x8b\\x8d\\x25\\xc6\\xb3\\xc6\\x73\\xc6\\xf3\\xc6\\x3f\\x8d\\x17\\x8c\\x17\\x8d\\xa5\\xc6\\x4b\\xc6\\xcb\\xc6\\x2b\\xc6\\xab\\xc6\\x6b\\xc6\\xeb\\xc6\\x32\\x63\\xb9\\xf1\\x86\\xf1\\xa6\\xf1\\x96\\xf1\\xb6\\xf1\\x8e\\xf1\\xae\\xf1\\x9e\\xf1\\xbe\\xb1\\xc2\\xf8\\xc0\\xf8\\xd0\\x58\\x69\\x7c\\x64\\x7c\\x6c\\x7c\\x62\\xac\\x32\\x3e\\x35\\x3e\\x33\\x3e\\x37\\x56\\x1b\\x5f\\x18\\x6b\\x8c\\x2f\\x8d\\xb5\\xc6\\x57\\xc6\\x3a\\xe3\\x6b\\xe3\\x1b\\xe3\\x5b\\x63\\xbd\\xf1\\x2f\\xe3\\x3b\\xe3\\x7b\\x63\\x83\\xd1\\x6e\\x32\\x93\\x9b\\xc2\\x8c\\xfe\\x04\\xb1\\x61\\x9a\\xa6\\x65\\xda\\xa6\\x63\\xa6\\xcc\\x1e\\x66\\x99\\xd9\\xd3\\xec\\x65\\xf6\\x36\\xfb\\x98\\x7d\\xcd\\x2d\\xcc\\x2d\\xcd\\x7e\\xe6\\x56\\xe6\\xd6\\xe6\\x36\\xe6\\xb6\\x66\\x7f\\x73\\x3b\\x73\\x7b\\x73\\x80\\xb9\\x83\\x39\\xd0\\xdc\\xd1\\x1c\\x64\\xee\\x64\\xee\\x6c\\xee\\x62\\xee\\x6a\\xfe\\xc4\\xdc\\xcd\\xfc\\xa9\\xb9\\xbb\\xf9\\x33\\x73\\x0f\\xf3\\xe7\\xe6\\x9e\\xe6\\x5e\\xe6\\xde\\xe6\\x3e\\xe6\\x60\\xb3\\xdc\\x74\\x4d\\xcf\\xf4\\xcd\\xb4\\x99\\x31\\xb3\\x66\\xce\\xcc\\x9b\\xfb\\x9a\\xfb\\x99\\x43\\xcc\\xfd\\xcd\\x03\\xcc\\x5f\\x98\\x07\\x9a\\x15\\x66\\xa5\\x59\\x65\\x56\\x9b\\x81\\x19\\x9a\\x07\\x99\\x07\\x9b\\x87\\x98\\x43\\xcd\\x43\\xcd\\x61\\xe6\\x61\\xe6\\x70\\x73\\x84\\x79\\xb8\\xf9\\x4b\\xf3\\x08\\xf3\\x48\\x73\\xa4\\x39\\xca\\x3c\\xca\\x3c\\xda\\x1c\\x6d\\x1e\\x63\\x8e\\x31\\x8f\\x35\\xc7\\x9a\\xc7\\x99\\xc7\\x9b\\x27\\x98\\x27\\x9a\\x35\\xe6\\x38\\x73\\xbc\\x59\\x6b\\x16\\xcc\\x09\\xe6\\x44\\xb3\\xce\\xac\\x37\\x27\\x99\\x27\\x99\\x0d\\xe6\\x64\\xb3\\xd1\\x6c\\x32\\xa7\\x98\\x53\\xcd\\x66\\xb3\\xc5\\x6c\\x35\\xdb\\xcc\\x69\\xe6\\x74\\x73\\x86\\x79\\xb2\\x79\\x8a\\x79\\xaa\\x79\\x9a\\x79\\xba\\x79\\x86\\x79\\xa6\\x39\\xd3\\xfc\\x95\\x79\\x96\\x79\\xb6\\x79\\x8e\\x79\\xae\\x79\\x9e\\xf9\\x6b\\xf3\\x7c\\xf3\\x02\\xf3\\x42\\xf3\\x22\\xf3\\x62\\xf3\\x12\\xf3\\x52\\xf3\\x32\\xf3\\x72\\xf3\\x0a\\xf3\\x4a\\xf3\\x2a\\xf3\\x6a\\xf3\\x1a\\xf3\\x5a\\xf3\\x37\\xe6\\x75\\xe6\\x6f\\xcd\\x59\\xe6\\xef\\xcc\\xeb\\xcd\\xdf\\x9b\\x37\\x98\\x7f\\x30\\x6f\\x34\\xff\\x68\\xde\\x64\\xfe\\xc9\\x9c\\x6d\\xfe\\xd9\\xbc\\xd9\\xbc\\xc5\\x9c\\x63\\xde\\x6a\\xde\\x66\\xde\\x6e\\xde\\x61\\xfe\\xc5\\xbc\\xd3\\xbc\\xcb\\xbc\\xdb\\xbc\\xc7\\x9c\\x6b\\xde\\x6b\\xce\\x33\\xff\\x6a\\xde\\x67\\xfe\\xcd\\x9c\\x6f\\xde\\x6f\\x2e\\x30\\x1f\\x30\\x17\\x9a\\x7f\\x37\\x1f\\x34\\xff\\x61\\x3e\\x64\\x3e\\x6c\\x3e\\x62\\x3e\\x6a\\x3e\\x66\\x3e\\x6e\\x3e\\x61\\x3e\\x69\\x2e\\x32\\x9f\\x32\\x9f\\x36\\x9f\\x31\\x17\\x9b\\x4b\\xcc\\x67\\xcd\\xe7\\xcc\\xe7\\xcd\\x7f\\x9a\\x2f\\x98\\x2f\\x9a\\x4b\\xcd\\x97\\xcc\\x97\\xcd\\x57\\xcc\\x57\\xcd\\xd7\\xcc\\xd7\\xcd\\x65\\xe6\\x72\\xf3\\x0d\\xf3\\x4d\\xf3\\x2d\\xf3\\x6d\\xf3\\x1d\\xf3\\x5d\\xf3\\x3d\\xf3\\x7d\\x73\\x85\\xf9\\x81\\xf9\\xa1\\xb9\\xd2\\xfc\\xc8\\xfc\\xd8\\xfc\\xc4\\x5c\\x65\\x7e\\x6a\\x7e\\x66\\x7e\\x6e\\xae\\x36\\xbf\\x30\\xd7\\x98\\x5f\\x9a\\x6b\\xcd\\xaf\\xcc\\x75\\xe6\\xd7\\xe6\\x37\\xe6\\xb7\\xe6\\x7a\\xf3\\x5f\\xe6\\x77\\xe6\\xf7\\xe6\\x06\\xb3\\xdd\\x62\\x16\\xb7\\xa2\\x3f\\x7e\\xa8\\x2c\\xc3\\x32\\x2d\\xcb\\xb2\\x2d\\xc7\\x4a\\x59\\x3d\\xac\\x32\\xab\\xa7\\xd5\\xcb\\xea\\x6d\\xf5\\xb1\\xfa\\x5a\\x5b\\x58\\x5b\\x5a\\xfd\\xac\\xad\\xac\\xad\\xad\\x6d\\xac\\x6d\\xad\\xfe\\xd6\\x76\\xd6\\xf6\\xd6\\x00\\x6b\\x07\\x6b\\xa0\\xb5\\xa3\\x35\\xc8\\xda\\xc9\\xda\\xd9\\xda\\xc5\\xda\\xd5\\xfa\\x89\\xb5\\x9b\\xf5\\x53\\x6b\\x77\\xeb\\x67\\xd6\\x1e\\xd6\\xcf\\xad\\x3d\\xad\\xbd\\xac\\xbd\\xad\\x7d\\xac\\xc1\\x56\\xb9\\xe5\\x5a\\x9e\\xe5\\x5b\\x69\\x2b\\x63\\x65\\xad\\x9c\\x95\\xb7\\xf6\\xb5\\xf6\\xb3\\x86\\x58\\xfb\\x5b\\x07\\x58\\xbf\\xb0\\x0e\\xb4\\x2a\\xac\\x4a\\xab\\xca\\xaa\\xb6\\x02\\x2b\\xb4\\x0e\\xb2\\x0e\\xb6\\x0e\\xb1\\x86\\x5a\\x87\\x5a\\xc3\\xac\\xc3\\xac\\xe1\\xd6\\x08\\xeb\\x70\\xeb\\x97\\xd6\\x11\\xd6\\x91\\xd6\\x48\\x6b\\x94\\x75\\x94\\x75\\xb4\\x35\\xda\\x3a\\xc6\\x1a\\x63\\x1d\\x6b\\x8d\\xb5\\x8e\\xb3\\x8e\\xb7\\x4e\\xb0\\x4e\\xb4\\x6a\\xac\\x71\\xd6\\x78\\xab\\xd6\\x2a\\x58\\x13\\xac\\x89\\x56\\x9d\\x55\\x6f\\x4d\\xb2\\x4e\\xb2\\x1a\\xac\\xc9\\x56\\xa3\\xd5\\x64\\x4d\\xb1\\xa6\\x5a\\xcd\\x56\\x8b\\xd5\\x6a\\xb5\\x59\\xd3\\xac\\xe9\\xd6\\x0c\\xeb\\x64\\xeb\\x14\\xeb\\x54\\xeb\\x34\\xeb\\x74\\xeb\\x0c\\xeb\\x4c\\x6b\\xa6\\xf5\\x2b\\xeb\\x2c\\xeb\\x6c\\xeb\\x1c\\xeb\\x5c\\xeb\\x3c\\xeb\\xd7\\xd6\\xf9\\xd6\\x05\\xd6\\x85\\xd6\\x45\\xd6\\xc5\\xd6\\x25\\xd6\\xa5\\xd6\\x65\\xd6\\xe5\\xd6\\x15\\xd6\\x95\\xd6\\x55\\xd6\\xd5\\xd6\\x35\\xd6\\xb5\\xd6\\x6f\\xac\\xeb\\xac\\xdf\\x5a\\xb3\\xac\\xdf\\x59\\xd7\\x5b\\xbf\\xb7\\x6e\\xb0\\xfe\\x60\\xdd\\x68\\xfd\\xd1\\xba\\xc9\\xfa\\x93\\x35\\xdb\\xfa\\xb3\\x75\\xb3\\x75\\x8b\\x35\\xc7\\xba\\xd5\\xba\\xcd\\xba\\xdd\\xba\\xc3\\xfa\\x8b\\x75\\xa7\\x75\\x97\\x75\\xb7\\x75\\x8f\\x35\\xd7\\xba\\xd7\\x9a\\x67\\xfd\\xd5\\xba\\xcf\\xfa\\x9b\\x35\\xdf\\xba\\xdf\\x5a\\x60\\x3d\\x60\\x2d\\xb4\\xfe\\x6e\\x3d\\x68\\xfd\\xc3\\x7a\\xc8\\x7a\\xd8\\x7a\\xc4\\x7a\\xd4\\x7a\\xcc\\x7a\\xdc\\x7a\\xc2\\x7a\\xd2\\x5a\\x64\\x3d\\x65\\x3d\\x6d\\x3d\\x63\\x2d\\xb6\\x96\\x58\\xcf\\x5a\\xcf\\x59\\xcf\\x5b\\xff\\xb4\\x5e\\xb0\\x5e\\xb4\\x96\\x5a\\x2f\\x59\\x2f\\x5b\\xaf\\x58\\xaf\\x5a\\xaf\\x59\\xaf\\x5b\\xcb\\xac\\xe5\\xd6\\x1b\\xd6\\x9b\\xd6\\x5b\\xd6\\xdb\\xd6\\x3b\\xd6\\xbb\\xd6\\x7b\\xd6\\xfb\\xd6\\x0a\\xeb\\x03\\xeb\\x43\\x6b\\xa5\\xf5\\x91\\xf5\\xb1\\xf5\\x89\\xb5\\xca\\xfa\\xd4\\xfa\\xcc\\xfa\\xdc\\x5a\\x6d\\x7d\\x61\\xad\\xb1\\xbe\\xb4\\xd6\\x5a\\x5f\\x59\\xeb\\xac\\xaf\\xad\\x6f\\xac\\x6f\\xad\\xf5\\xd6\\xbf\\xac\\xef\\xac\\xef\\xad\\x0d\\x56\\xbb\\xcd\\xd8\\x5c\\x76\\xaf\\xcd\\x6d\\x61\\x4b\\x76\\x1f\\xfb\\x1b\\x7b\\xcc\\x56\\x6c\\x1e\\xfb\\x2b\\x7b\\xdc\\x36\\xd8\\x59\\xec\\x11\\xf6\\x6b\\x76\\xbb\\x6d\\xda\\x96\\x6d\\xdb\\x8e\\x9d\\xb2\\x7b\\xb0\\x27\\xec\\x32\\xbb\\xa7\\xdd\\x8b\\x3d\\xc8\\xfe\\x61\\xf7\\xb6\\xfb\\xb0\\x85\\x76\\x5f\\x7b\\x0b\\x7b\\x4b\\xbb\\x9f\\xbd\\x95\\xbd\\xb5\\xbd\\x8d\\xbd\\xad\\xdd\\xdf\\xde\\xce\\xde\\xde\\x1e\\x60\\xef\\x60\\x0f\\xb4\\x77\\xb4\\x07\\xd9\\x3b\\xd9\\x3b\\xdb\\xbb\\xd8\\xbb\\xb2\\xaf\\xed\\x9f\\xd8\\xbb\\xd9\\x3f\\xb5\\x77\\xb7\\x7f\\x66\\xef\\x61\\xff\\xdc\\xde\\xd3\\xde\\xcb\\xde\\xdb\\xde\\xc7\\x1e\\x6c\\x97\\xdb\\xae\\xed\\xd9\\xbe\\x9d\\xb6\\x33\\x76\\xd6\\xce\\xd9\\x79\\x7b\\x5f\\x7b\\x3f\\x76\\xb1\\x3d\\xc4\\xde\\xdf\\x3e\\xc0\\xfe\\x85\\x7d\\xa0\\x5d\\x61\\x57\\xda\\x55\\x76\\xb5\\x1d\\xd8\\xa1\\x7d\\x90\\x7d\\xb0\\x7d\\x88\\x3d\\xd4\\x3e\\xd4\\x1e\\x66\\x1f\\xc6\\xae\\xb3\\x87\\xb3\\x59\\xec\\xb7\\xec\\x73\\x7b\\x04\\x7b\\x94\\xfd\\x99\\x5d\\x69\\x1f\\x6e\\xff\\x92\\x5d\\xcf\\x6e\\x61\\x97\\xd9\\x47\\xb0\\xab\\xd9\\x35\\xf6\\x91\\xf6\\x48\\x7b\\x94\\x7d\\x94\\x7d\\xb4\\x3d\\xda\\x3e\\xc6\\x1e\\x63\\x1f\\x6b\\x8f\\xb5\\x8f\\xb3\\x8f\\xb7\\x4f\\xb0\\x4f\\xb4\\x6b\\xec\\x71\\xf6\\x78\\xbb\\xd6\\x2e\\xd8\\x13\\xec\\x89\\x76\\x9d\\x5d\\x6f\\x4f\\xb2\\x4f\\xb2\\x1b\\xec\\xc9\\x76\\xa3\\xdd\\x64\\x4f\\xb1\\xa7\\xda\\xcd\\x76\\x8b\\xdd\\x6a\\xb7\\xd9\\xd3\\xec\\xe9\\xf6\\x0c\\xfb\\x64\\xfb\\x14\\xfb\\x54\\xfb\\x34\\xfb\\x74\\xfb\\x0c\\xfb\\x4c\\x7b\\xa6\\xfd\\x2b\\xfb\\x2c\\xfb\\x6c\\xfb\\x1c\\xfb\\x5c\\xfb\\x3c\\xfb\\xd7\\xf6\\xf9\\xf6\\x05\\xf6\\x85\\xf6\\x45\\xf6\\xc5\\xf6\\x25\\xf6\\xa5\\xf6\\x65\\xec\\x7e\\xfb\\x72\\xfb\\x0a\\xfb\\x4a\\xfb\\x2a\\xfb\\x6a\\xfb\\x1a\\xfb\\x5a\\xfb\\x37\\xf6\\x75\\xf6\\x6f\\xed\\x59\\xf6\\xef\\xec\\xeb\\xed\\xdf\\xdb\\x37\\xd8\\x7f\\xb0\\x6f\\xb4\\xff\\x68\\xdf\\x64\\xff\\xc9\\x9e\\x6d\\xff\\xd9\\xbe\\xd9\\xbe\\xc5\\x9e\\x63\\xdf\\x6a\\xdf\\x66\\xdf\\x6e\\xdf\\x61\\xff\\xc5\\xbe\\xd3\\xbe\\xcb\\xbe\\xdb\\xbe\\xc7\\x9e\\x6b\\xdf\\x6b\\xcf\\xb3\\xff\\x6a\\xdf\\x67\\xff\\xcd\\x9e\\x6f\\xdf\\x6f\\x2f\\xb0\\x1f\\xb0\\x17\\xda\\x7f\\xb7\\x1f\\xb4\\xff\\x61\\x3f\\x64\\x3f\\x6c\\x3f\\x62\\x3f\\x6a\\x3f\\x66\\x3f\\x6e\\x3f\\x61\\x3f\\x69\\x2f\\x62\\x0f\\xb1\\x87\\xed\\xa7\\xec\\xa7\\xed\\x67\\xec\\xc5\\xf6\\x12\\xfb\\x59\\xfb\\x39\\xfb\\x79\\xfb\\x9f\\xf6\\x0b\\xf6\\x8b\\xf6\\x52\\xfb\\x25\\xfb\\x65\\xfb\\x15\\xfb\\x55\\xfb\\x35\\xfb\\x75\\x7b\\x99\\xbd\\xdc\\x7e\\xc3\\x7e\\xd3\\x7e\\xcb\\x7e\\xdb\\x7e\\xc7\\x7e\\xd7\\x7e\\xcf\\x7e\\xdf\\x5e\\x61\\x7f\\x60\\x7f\\x68\\xaf\\xb4\\x3f\\xb2\\x3f\\xb6\\x3f\\xb1\\x57\\xd9\\x9f\\xda\\x9f\\xd9\\x9f\\xdb\\xab\\xed\\x2f\\xec\\x35\\xf6\\x97\\xf6\\x5a\\xfb\\x2b\\x7b\\x9d\\xfd\\xb5\\xfd\\x8d\\xfd\\xad\\xbd\\xde\\xfe\\x97\\xfd\\x9d\\xfd\\xbd\\xbd\\xc1\\x6e\\x77\\x98\\xc3\\x1d\\xe1\\x48\\x47\\x39\\x86\\x63\\x3a\\x96\\x63\\x3b\\x8e\\x93\\x72\\x7a\\x38\\x65\\x4e\\x4f\\xa7\\x97\\xd3\\xdb\\xe9\\xe3\\xf4\\x75\\xb6\\x70\\xb6\\x74\\xfa\\x39\\x5b\\x39\\x5b\\x3b\\xdb\\x38\\xdb\\x3a\\xfd\\x9d\\xed\\x9c\\xed\\x9d\\x01\\xce\\x0e\\xce\\x40\\x67\\x47\\x67\\x90\\xb3\\x93\\xb3\\xb3\\xb3\\x8b\\xb3\\xab\\xf3\\x13\\x67\\x37\\xe7\\xa7\\xce\\xee\\xce\\xcf\\x9c\\x3d\\x9c\\x9f\\x3b\\x7b\\x3a\\x7b\\x39\\x7b\\x3b\\xfb\\x38\\x83\\x9d\\x72\\xc7\\x75\\x3c\\xc7\\x77\\xd2\\x4e\\xc6\\xc9\\x3a\\x39\\x27\\xef\\xec\\xeb\\xec\\xe7\\x0c\\x71\\xf6\\x77\\x0e\\x70\\x7e\\xe1\\x1c\\xe8\\x54\\x38\\x95\\x4e\\x95\\x53\\xed\\x04\\x4e\\xe8\\x1c\\xe4\\x1c\\xec\\x1c\\xe2\\x0c\\x75\\x0e\\x75\\x86\\x39\\x87\\x39\\xc3\\x9d\\x11\\xce\\xe1\\xce\\x2f\\x9d\\x23\\x9c\\x23\\x9d\\x91\\xce\\x28\\xe7\\x28\\xe7\\x68\\x67\\xb4\\x73\\x8c\\x33\\xc6\\x39\\xd6\\x19\\xeb\\x1c\\xe7\\x1c\\xef\\x9c\\xe0\\x9c\\xe8\\xd4\\x38\\xe3\\x9c\\xf1\\x4e\\xad\\x53\\x70\\x26\\x38\\x13\\x9d\\x3a\\xa7\\xde\\x99\\xe4\\x9c\\xe4\\x34\\x38\\x93\\x9d\\x46\\xa7\\xc9\\x99\\xe2\\x4c\\x75\\x9a\\x9d\\x16\\xa7\\xd5\\x69\\x73\\xa6\\x39\\xd3\\x9d\\x19\\xce\\xc9\\xce\\x29\\xce\\xa9\\xce\\x69\\xce\\xe9\\xce\\x19\\xce\\x99\\xce\\x4c\\xe7\\x57\\xce\\x59\\xce\\xd9\\xce\\x39\\xce\\xb9\\xce\\x79\\xce\\xaf\\x9d\\xf3\\x9d\\x0b\\x9c\\x0b\\x9d\\x8b\\x9c\\x8b\\x9d\\x4b\\x9c\\x4b\\x9d\\xcb\\x9c\\xcb\\x9d\\x2b\\x9c\\x2b\\x9d\\xab\\x9c\\xab\\x9d\\x6b\\x9c\\x6b\\x9d\\xdf\\x38\\xd7\\x39\\xbf\\x75\\x66\\x39\\xbf\\x73\\xae\\x77\\x7e\\xef\\xdc\\xe0\\xfc\\xc1\\xb9\\xd1\\xf9\\xa3\\x73\\x93\\xf3\\x27\\x67\\xb6\\xf3\\x67\\xe7\\x66\\xe7\\x16\\x67\\x8e\\x73\\xab\\x73\\x9b\\x73\\xbb\\x73\\x87\\xf3\\x17\\xe7\\x4e\\xe7\\x2e\\xe7\\x6e\\xe7\\x1e\\x67\\xae\\x73\\xaf\\x33\\xcf\\xf9\\xab\\x73\\x9f\\xf3\\x37\\x67\\xbe\\x73\\xbf\\xb3\\xc0\\x79\\xc0\\x59\\xe8\\xfc\\xdd\\x79\\xd0\\xf9\\x87\\xf3\\x90\\xf3\\xb0\\xf3\\x88\\xf3\\xa8\\xf3\\x98\\xf3\\xb8\\xf3\\x84\\xf3\\xa4\\xb3\\xc8\\x79\\xca\\x79\\xda\\x79\\xc6\\x59\\xec\\x2c\\x71\\x9e\\x75\\x9e\\x73\\x9e\\x77\\xfe\\xe9\\xbc\\xe0\\xbc\\xe8\\x2c\\x75\\x5e\\x72\\x5e\\x76\\x5e\\x71\\x5e\\x75\\x5e\\x73\\x5e\\x77\\x96\\x39\\xcb\\x9d\\x37\\x9c\\x37\\x9d\\xb7\\x9c\\xb7\\x9d\\x77\\x9c\\x77\\x9d\\xf7\\x9c\\xf7\\x9d\\x15\\xce\\x07\\xce\\x87\\xce\\x4a\\xe7\\x23\\xe7\\x63\\xe7\\x13\\x67\\x95\\xf3\\xa9\\xf3\\x99\\xf3\\xb9\\xb3\\xda\\xf9\\xc2\\x59\\xe3\\x7c\\xe9\\xac\\x75\\xbe\\x72\\xd6\\x39\\x5f\\x3b\\xdf\\x38\\xdf\\x3a\\xeb\\x9d\\x7f\\x39\\xdf\\x39\\xdf\\x3b\\x1b\\x9c\\xf6\\x14\\x4b\\xf1\\x94\\x48\\xc9\\x94\\x4a\\x19\\x29\\x33\\x65\\xa5\\xec\\x94\\x93\\x4a\\xa5\\x7a\\xa4\\xca\\x52\\x3d\\x53\\xbd\\x52\\xbd\\x53\\x7d\\x52\\x7d\\xad\\xb6\\xc6\\xfa\\xc1\\x83\\x2b\\x06\\xa3\\xac\\x76\\x9a\\xa6\\x15\\x9a\\x5b\\xc6\\x37\\x35\\x17\\xe4\\xe4\\xb6\\x72\\x73\\x72\\x7d\\x6d\\x6d\\x53\\xab\\x55\\x31\\x39\\xfa\\x48\\xb9\\xd1\\xaa\\x89\\x4b\\xb3\\x62\\x5c\\x73\\x61\\x5a\\xc1\\xac\\xd1\\x85\\x55\\xd1\\x34\\xb1\\xa9\\xb1\\x70\\x92\\x55\\x13\\x97\\x3d\\xaa\\xc6\\xd7\\x37\\x8f\\x6f\\x9b\\x3c\\xa1\\xa1\\x30\\xa3\\xc7\\xf8\\x62\\x3d\\x55\\x45\\xa2\\x6a\\xc6\\x8f\\x2f\\x34\\xb6\\xa6\\xc6\\x77\\x56\\xcd\\xea\\xf1\\x35\\x91\\xc8\\xda\\xb8\\xa8\\x26\\xf9\\x35\\xad\\x56\\x00\\xc0\\x02\\x00\\x83\\x18\\xb0\\xa0\\x8b\\x54\\x50\\x14\\x54\\xe8\\xac\\x5a\\x01\\xd4\\x28\\xc4\\xa5\\x19\\xc4\\x12\\x0b\\xba\\xe8\\x71\\x50\\x42\\xa9\\x89\\x09\\xa5\\x0e\\x2a\\xca\\x9a\\xd8\\x59\\x2d\\x3b\\x68\\x7c\\xd3\\xe4\\xc9\\x35\\x68\\x4c\\x4c\\x34\\x7a\\x1c\\x9c\\x90\\x53\\x57\\xac\\xab\\x83\\xc7\\xd5\\x34\\xab\\x3a\\xca\\xcc\\x43\\x5a\\xeb\\x1b\\x6a\\x0b\\x66\\xbd\\x2e\\xac\\x43\\x30\\x92\\x7a\\x8c\\xe4\\x90\\x78\\x24\\xf5\\xb1\\xe9\\x0e\\x81\\xce\\xf5\\x71\\x29\\x0e\\x19\\x2a\\xea\\x27\\xf5\\x18\\x9a\\xc0\\x98\\x54\\xac\\x97\\x1d\\x9a\\xd4\\xea\\xa4\\x2e\\x8d\\x89\\xd1\\x13\\x8a\\x86\\x9a\\xc6\\xda\\xfa\\xf1\\xe6\\xb0\\x9a\\xf1\\x6d\\xad\\x05\\xb3\\x41\\x17\\x65\\xc3\\x92\\xfd\\x1a\\x12\\x0d\\x73\\x58\\x6c\\xa0\\x06\\x5d\\xa8\\x61\\x34\\x7a\\xd5\\x40\\x99\\x39\\x3c\\xbe\\xbe\\x31\\xbe\\x7e\\x78\\xf2\\xfa\\xc6\\xe4\\xf5\\xc3\\xe3\\xeb\\x1b\\x63\\x03\\x37\\xd6\\x4c\\x69\\x6a\\x69\\x6d\\x6e\\x9a\\x52\\x57\\x90\\x41\\xe3\\x44\\x59\\x68\\x9c\\x68\\x8d\\xc0\\xe0\\x9b\\x30\\xf8\\x11\\xf1\\xe0\\x9b\\x74\\xd1\\x73\\x44\\x5d\\x5b\\xe3\\xc4\\x9a\\xe6\\xb6\\xc9\\x0d\\x35\\x6d\\xad\\x3d\\x9b\\x92\\x2d\\xf3\\x88\\x58\\x87\\xe6\\x58\\x87\\x23\\x92\\x3a\\x34\\x27\\x75\\x38\\x22\\xd6\\xa1\\x39\\x2e\\x8e\\x8c\\xaf\\x6a\\xd1\\x45\\x8f\\x23\\x13\\x66\\x6c\\x29\\xd6\\xf5\\x52\\x2f\\xcf\\xb8\\x65\\xad\\x49\\x41\\x23\\x63\\x09\\xad\\xb1\\x31\\x46\\x46\\xb3\\xd9\\x1a\\xcd\\xe6\\xa8\\x78\\x36\\xdb\\xe2\\xd9\\x1c\\x85\\x01\\xb5\\x61\\x40\\xa3\\xe2\\x01\\xb5\\xe9\\xc2\\x18\\xd5\\x5c\\xdf\\x38\\xd1\\x68\\x8b\\xf2\\x9e\\xa3\\xba\\x0c\\xae\\x2d\\xd9\\xb2\\x46\\x61\\xd6\\xdb\\x70\\xc3\\x1c\\x9d\\x50\\x74\\x7a\\xa2\\x7e\\x4c\\xa2\\x7e\\x72\\xb1\\x6e\\x8e\\x89\\x87\\x79\\x8a\\x2e\\x52\\x63\\x8a\\x2b\\xf8\\x94\\xce\\xaa\\xd1\\xd0\\xd4\\x38\\xb1\\x25\\x1e\\x6a\\x6e\\x30\\xca\\x72\\x94\\x2e\\x4a\\x0f\\xa5\\x8f\\x32\\x8d\\x32\\x83\\x32\\x8b\\x32\\x87\\x32\\x8f\\xb2\\x02\\x65\\x25\\xca\\x2a\\x94\\xd5\\x28\\x03\\x94\\x61\\x5c\\xe6\\x81\\x9f\\x07\\x7e\\x1e\\xb8\\x79\\xe0\\xe6\\x81\\x9b\\x07\\x6e\\x1e\\xb8\\x79\\xe0\\xe6\\x81\\x9b\\x07\\x6e\\x1e\\xb8\\x79\\xe0\\xe6\\x81\\x9b\\x07\\x6e\\x3e\\x34\\x46\\xd4\\x35\\x35\\x53\\x8c\\x19\\xe5\\xf1\\xb1\\x0a\\x8c\\xb9\\x02\\xd8\\x15\\xc0\\xae\\x00\\x76\\x05\\xb0\\x2b\\x80\\x5d\\x01\\xec\\x0a\\x60\\x57\\x00\\xbb\\x02\\xd8\\x15\\xc0\\xae\\x00\\x76\\x45\\x60\\x8c\\xd2\\x98\\x6d\\x45\\xcc\\x4a\\x8c\\xb7\\x12\\xd8\\x95\\xc0\\xae\\x04\\x76\\x25\\xb0\\x2b\\x81\\x5d\\x09\\xec\\x4a\\x60\\x57\\x02\\xbb\\x12\\xd8\\x95\\xc0\\xae\\x04\\x76\\x25\\xb0\\x2b\\x31\\xee\\x4a\\xd8\\xbb\\x0a\\xf6\\xae\\x02\\x7e\\x15\\xf0\\xab\\x80\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\x55\\xc0\\xaf\\x02\\x7e\\x15\\xf0\\xab\\x80\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\xd5\\xc0\\xaf\\x06\\x7e\\x35\\xf0\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x1a\\xf8\\xd5\\xc0\\xaf\\x06\\x7e\\x35\\xf0\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x1a\\xf8\\x01\\xf0\\x03\\xe0\\x07\\xc0\\x0f\\x80\\x1f\\x00\\x3f\\x00\\x7e\\x00\\xfc\\x00\\xf8\\x01\\xf0\\x03\\xe0\\x07\\xc0\\x0f\\x80\\x1f\\x00\\x3f\\x00\\x7e\\x00\\xfc\\x00\\xf8\\x21\\xf0\\x43\\xe0\\x87\\xc0\\x0f\\x81\\x1f\\x02\\x3f\\x04\\x7e\\x08\\xfc\\x10\\xf8\\x21\\xf0\\xc3\\x7c\\xaa\\x22\\xda\\x4b\\xe2\\xdb\\xbc\\xa6\\xb3\\x6a\\x55\\x04\\x71\\x59\\x53\\x88\\x37\\xba\\x11\\x2d\\x0d\\x35\\x2d\\x75\\x71\\xbd\\xa9\\x58\\xd7\\x52\\xdc\\xc1\\x83\\x51\\x96\\xa3\\x74\\x51\\x7a\\x28\\x7d\\x94\\x69\\x94\\x19\\x94\\x59\\x94\\x39\\x94\\x79\\x94\\x15\\x28\\x2b\\x51\\x56\\xa1\\xac\\x46\\x19\\xa0\\x8c\\xad\\xe1\\x96\\x03\\xbf\\x1c\\xf8\\xe5\\xc0\\x2f\\x07\\x7e\\x39\\xf0\\xcb\\x81\\x5f\\x0e\\xfc\\xf2\\x6c\\xd9\\x91\\xc9\\x6d\\xbf\\x25\\xd1\\x40\\x0f\\x68\\x52\\x0e\\x4d\\xca\\xa1\\x49\\x39\\x34\\x29\\x87\\x26\\xe5\\xd0\\xc4\\x85\\x26\\x2e\\x34\\x71\\xa1\\x89\\x0b\\x4d\\x5c\\x68\\xe2\\x42\\x13\\x17\\x9a\\xb8\\xb0\\x84\\x0b\\x4b\\xb8\\xb0\\x84\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\x19\\x67\\xd2\\xde\\xb4\\xa3\\x37\\x14\\x5a\\x5a\\x70\\x04\\x1a\\x78\\xd0\\xc0\\x83\\x06\\x1e\\x34\\xf0\\xa0\\x81\\x07\\x0d\\x3c\\x68\\xe0\\x41\\x03\\x1f\\x1a\\xf8\\xd0\\xc0\\x87\\x06\\x3e\\x34\\xf0\\xa1\\x81\\x0f\\x0d\\x7c\\x58\\xc0\\x87\\x05\\x7c\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\x03\\xdf\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\xd3\\xc0\\x4f\\x03\\x3f\\x0d\\xfc\\x34\\xf0\\x33\\xc0\\xcf\\x00\\x3f\\x03\\xfc\\x0c\\xf0\\x33\\xc0\\xcf\\x00\\x3f\\x03\\xfc\\x0c\\xf0\\x33\\xc0\\xcf\\x00\\x3f\\x03\\xfc\\x0c\\xf0\\x33\\xc0\\xcf\\x00\\x3f\\x03\\xfc\\x0c\\xf0\\xb3\\xc0\\xcf\\x02\\x3f\\x0b\\xfc\\x2c\\xf0\\xb3\\xc0\\xcf\\x02\\x3f\\x0b\\xfc\\x2c\\xf0\\xb3\\xc0\\xcf\\x02\\x3f\\x0b\\xfc\\x2c\\xf0\\xb3\\xc0\\xcf\\x02\\x3f\\x0b\\xfc\\x2c\\xf0\\xe1\\x09\\xb8\\xf0\\x04\\x5c\\x78\\x02\\x2e\\x3c\\x01\\x17\\x9e\\x80\\x0b\\x4f\\xc0\\x85\\x27\\xe0\\xc2\\x13\\x70\\xe1\\x09\\xb8\\xf0\\x04\\x5c\\x78\\x02\\x2e\\x3c\\x01\\x17\\x9e\\x80\\x0b\\x4f\\xc0\\x85\\x27\\xe0\\xc2\\x13\\x70\\xe1\\x09\\xb8\\xf0\\x04\\xdc\\x3c\\xf0\\xe1\\x11\\xb8\\xf0\\x08\\x5c\\x78\\x04\\x2e\\x3c\\x02\\x17\\x1e\\x81\\x0b\\x8f\\xc0\\x85\\x47\\xe0\\xc2\\x23\\x70\\xe1\\x11\\xb8\\xf0\\x08\\x5c\\x78\\x04\\x2e\\x3c\\x02\\x37\\x0f\\x7c\\xc4\\x39\\x6e\\x05\\xf0\\xe1\\x15\\xb8\\xf0\\x0a\\x5c\\x78\\x05\\x2e\\xbc\\x02\\x17\\x5e\\x81\\x0b\\xaf\\xc0\\x85\\x57\\xe0\\xc2\\x2b\\x70\\xe1\\x15\\xb8\\xf0\\x0a\\x5c\\x78\\x05\\x2e\\xbc\\x02\\xb7\\x02\\xf8\\x15\\xc0\\xaf\\x04\\x3e\\x3c\\x03\\x17\\x9e\\x81\\x0b\\xcf\\xc0\\x85\\x67\\xe0\\xc2\\x33\\x70\\xe1\\x19\\xb8\\xf0\\x0c\\x5c\\x78\\x06\\x2e\\x3c\\x03\\x17\\x9e\\x81\\x0b\\xcf\\xc0\\x85\\x67\\xe0\\xc2\\x33\\x70\\xe1\\x19\\xb8\\xf0\\x0c\\x5c\\x78\\x06\\x2e\\x3c\\x03\\x17\\x9e\\x81\\x0b\\xcf\\xc0\\x85\\x67\\xe0\\xc2\\x33\\x70\\xe1\\x09\\xb8\\xf0\\x00\\x5c\\x78\\x00\\x2e\\x3c\\x00\\x17\\x1e\\x80\\x0b\\x0f\\xc0\\x85\\x07\\xe0\\xc2\\x03\\x70\\xe1\\x01\\xb8\\xf0\\x00\\x5c\\x78\\x00\\x2e\\x3c\\x00\\x17\\x1e\\x80\\x0b\\x0f\\xc0\\x85\\x07\\xe0\\x82\\xd1\\x5d\\x30\\xba\\x0b\\x46\\x77\\xc1\\xe8\\x2e\\x18\\xdd\\x05\\xa3\\xbb\\x60\\x74\\x17\\x8c\\xee\\x82\\xd1\\x5d\\x30\\xba\\x0b\\x46\\x77\\xc1\\xe8\\x2e\\x18\\xdd\\x05\\xa3\\xbb\\x60\\x74\\x17\\x8c\\xee\\x82\\xd1\\x5d\\x30\\xba\\x0b\\x46\\x77\\xc1\\xe8\\x2e\\x18\\xdd\\x05\\xa3\\xbb\\x60\\x74\\x17\\x8c\\xee\\x82\\xd1\\x5d\\x30\\xba\\x0b\\x46\\x77\\x43\\xe0\\x87\\xc0\\x0f\\x81\\x1f\\x02\\x3f\\x04\\x7e\\x08\\xfc\\x30\\x74\\x26\\x36\\xd7\\x4c\\x2b\\x10\\xf5\\x8d\\x73\\x34\\xa7\\x47\\x35\\x7d\\xce\\x1b\\xec\\x3a\\x3a\\x26\\x49\\x1c\\xf1\\x51\\xa6\\x51\\x66\\x50\\x66\\x51\\xe6\\x7a\\xd6\\x35\\x35\\x9d\\x54\\x33\\xae\\x69\\x5a\\xf2\\xaa\\x0a\\x94\\x95\\x28\\xab\\x50\\x56\\xa3\\x0c\\x50\\xc6\\xb6\\xf0\\xc0\\xe7\\x1e\\xf8\\xdc\\x03\\x9f\\x7b\\xe0\\x73\\x0f\\x7c\\xee\\x81\\xcf\\x3d\\xf0\\xb9\\x57\\x0e\\x2d\\xca\\x73\\x28\\xf3\\x28\\x81\\x0f\\x16\\xf7\\xc0\\xe2\\x1e\\x58\\xdc\\x03\\x8b\\x7b\\x60\\x71\\x0f\\x2c\\xee\\x81\\xc5\\x3d\\xd7\\x2d\\x23\\x8e\\x1c\\x57\\x68\\x68\\x9a\\x5e\\x1c\\x14\\xa8\\xdc\\x03\\x95\\x7b\\xa0\\x72\\x0f\\x54\\xee\\x81\\xca\\x3d\\x50\\xb9\\x07\\x2a\\xf7\\x40\\xe5\\x1e\\xa8\\xdc\\x03\\x95\\x7b\\xa0\\x72\\x0f\\x54\\xee\\x81\\xca\\x3d\\x50\\xb9\\x07\\x2a\\xf7\\x40\\xe5\\x1e\\xa8\\xdc\\x03\\x95\\x7b\\x1e\\xf0\\x3d\\xe0\\x83\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xc8\\x3d\\x10\\xb9\\x07\\x22\\xf7\\x40\\xe4\\x1e\\x88\\xdc\\x03\\x91\\x7b\\x20\\x72\\x0f\\x44\\xee\\x81\\xa8\\x3d\\x10\\xb5\\x07\\x22\\xf6\\x40\\xc4\\x1e\\x88\\xd8\\x03\\x11\\x7b\\xd9\\xc0\\x68\\x6d\\x6a\\x6c\\x6a\\xe9\\x59\\x5b\\x5f\\x68\\x2e\\xb4\\xd4\\xb7\\xe8\\x56\\xaa\\xa2\\x61\\x4a\\x5d\\x8d\\xae\\x3a\\x35\\x8d\\x4d\\xad\\x85\\x86\\x42\\x7d\\x4d\\x59\\x30\\xa5\\xa5\\x9e\\xa2\\x77\\x7d\\xd8\\x0e\\x5a\\x71\\xfe\\x90\\x26\\xd4\\xca\\x46\\x4c\\xae\\x8f\\x3e\\x7b\\x88\\x1b\\xa3\\x12\\x9d\\x53\\x23\\x26\\x17\\x26\\xc6\\x9d\\xfa\\xd6\\x53\\xf7\\x2e\\x58\\x86\\xc6\\x52\\x95\\x85\\xd6\\x1a\\xe3\\xa0\\x1a\\xf2\\xa4\\x2d\\xe0\\xa8\\x31\\x74\\x48\\x12\\x8e\\x31\\xb2\\x8e\\x6a\\x2a\\x02\\x32\\x0e\\xad\\x99\\x32\\xa5\\xc6\\x1c\\x56\\x33\\x79\\x5c\\x6d\\x8d\\x38\\xac\\x4d\\x0c\\x6f\\x13\\xa3\\xeb\\x2d\\x20\\x8b\\xc3\\xeb\\xe5\\x11\\x75\\x4d\\xc6\\x91\\xf5\\x13\\x27\\xd7\\xc8\\x91\\x35\\x6d\\x16\\xb4\\x90\\x87\\xd7\\xd5\\xcb\\x2a\\x4a\\x87\\xb7\\xd4\\x97\\x1d\\x92\\xd0\\xa0\\x37\\x3a\\x74\\xb4\\x53\\x35\\x9d\\x03\\x2f\\x2b\\x24\\x87\\x5b\\xe8\\x18\\x6e\\x7d\\xc7\\x70\\xfb\\xb5\\x75\\xbd\\x34\\x1e\\x8c\\xbe\\x5e\\x8d\\x8b\\x06\\x33\\x31\\x1a\\x8c\\x51\\x5b\\x68\\x68\\xad\\xb1\\x20\\x4b\\x9d\\x12\\x0d\\x29\\x3a\\xd9\\xaa\\x87\\x14\\x09\\x33\\x4e\\xd2\\x43\\x6a\\x88\\x87\\xd4\\xd8\\x26\\x66\\xd4\\x5b\\x4d\\xf1\\x78\\x64\\x73\\x5d\\x93\\xd9\\x12\\x0d\\xa6\\xdc\\xd0\\x85\\x6c\\xa5\\x31\\x01\\x57\\x4e\\xa1\\xf1\\x8c\\xa7\\x44\\x4d\\xa3\\x29\\x32\\x70\\x59\\xd2\\xb6\\xbd\\x4b\\xd4\\x2b\\x6b\\x4a\\xce\\x4e\\x5b\\x72\\x76\\x9a\\x3a\\x67\\x27\\x5e\\x13\\x20\\x49\\x0f\\x24\\xe9\\x81\\x24\\x3d\\x90\\xa4\\x07\\x92\\xf4\\x40\\x92\\x1e\\x48\\xd2\\x03\\x49\\x7a\\x08\\x93\\x3d\\x84\\xc9\\x1e\\xc2\\x64\\x0f\\x61\\xb2\\x87\\x30\\xd9\\x43\\x98\\xec\\x81\\x54\\x3d\\x90\\xaa\\x07\\x52\\xf5\\x40\\xaa\\x1e\\x48\\xd5\\x03\\xa9\\x7a\\x20\\x55\\x0f\\xa4\\xea\\x81\\x54\\x3d\\x90\\xaa\\x07\\x52\\xf5\\x40\\xaa\\x1e\\x48\\xd5\\x03\\xa9\\x7a\\x20\\x55\\x0f\\xa4\\xea\\x81\\x54\\x3d\\x90\\xaa\\x07\\x52\\xf5\\x40\\xaa\\x1e\\x48\\xd5\\x03\\xa9\\x7a\\x20\\x55\\x0f\\xa4\\xea\\x81\\x54\\x3d\\x90\\xaa\\x07\\x52\\xf5\\x40\\xaa\\x1e\\x48\\xd5\\x03\\xa9\\x7a\\x20\\x55\\x0f\\xa4\\xea\\x81\\x54\\xbd\\x30\\xc6\\xf7\\x11\\x18\\xfb\\x08\\x8c\\x7d\\x04\\xc6\\x3e\\x02\\x63\\x1f\\x74\\xea\\x83\\x4e\\x7d\\xd0\\xa9\\x0f\\x3a\\xf5\\x11\\x18\\xfb\\x08\\x8c\\x7d\\x10\\xa9\\x0f\\x22\\xf5\\x41\\xa4\\x3e\\x88\\xd4\\x07\\x91\\xfa\\x20\\x52\\x1f\\x44\\xea\\x83\\x48\\x7d\\x10\\xa9\\x0f\\x22\\xf5\\x41\\xa4\\x3e\\x88\\xd4\\x07\\x91\\xfa\\x20\\x52\\x1f\\x44\\xea\\x83\\x48\\x7d\\x10\\xa9\\x0f\\x22\\xf5\\x41\\xa4\\x3e\\x88\\xd4\\x07\\x91\\xfa\\x20\\x52\\x1f\\x44\\xea\\x83\\x48\\x7d\\x84\\xc3\\x3e\\xc2\\x61\\x1f\\x1c\\xea\\x83\\x43\\x7d\\x70\\xa8\\x0f\\x0e\\xf5\\xc1\\xa1\\x3e\\x38\\xd4\\x07\\x87\\xfa\\xe0\\x50\\x1f\\x1c\\xea\\x83\\x43\\x7d\\x70\\xa8\\x0f\\x0e\\xf5\\xc1\\xa1\\x3e\\x38\\xd4\\x07\\x87\\xfa\\xe0\\x50\\x1f\\x1c\\xea\\x83\\x43\\x7d\\x70\\xa8\\x0f\\x0e\\xf5\\xc1\\xa1\\x3e\\x38\\xd4\\x07\\x87\\xfa\\xe0\\x50\\x1f\\x1c\\xea\\x83\\x43\\x7d\\x70\\xa8\\x0f\\x0e\\xf5\\xc1\\xa1\\x3e\\x38\\xd4\\x07\\x87\\xfa\\xe0\\x50\\x1f\\x1c\\xea\\x83\\x43\\x7d\\x70\\xa8\\x0f\\x0e\\xf5\\xc1\\xa1\\x3e\\x38\\xd4\\x07\\x87\\xfa\\xe0\\x50\\x1f\\x1c\\xea\\x83\\x43\\x7d\\x70\\xa8\\x0f\\x0e\\xf5\\xc1\\xa1\\x3e\\x38\\xd4\\x07\\x87\\xfa\\xe0\\x50\\x1f\\x1c\\xea\\x83\\x43\\x7d\\x70\\xa8\\x0f\\x0e\\xf5\\xc1\\xa1\\x3e\\x38\\xd4\\x07\\x87\\xfa\\xe0\\x50\\x1f\\x1c\\xea\\x83\\x43\\x7d\\x70\\xa8\\x0f\\x0e\\xf5\\xc1\\xa1\\x3e\\x38\\xd4\\x07\\x87\\xfa\\xe0\\x50\\x1f\\x1c\\xea\\x83\\x43\\x7d\\x70\\xa8\\x0f\\x0e\\xf5\\xc1\\xa1\\x3e\\x38\\xd4\\x07\\x87\\xfa\\xe0\\x50\\x1f\\x1c\\xea\\x83\\x43\\x7d\\x70\\xa8\\x0f\\x0e\\xf5\\x11\\x0c\\xfb\\x08\\x86\\x7d\\x04\\xc3\\x3e\\x82\\x61\\x1f\\x1c\\xeb\\x83\\x63\\x7d\\x04\\xc3\\x3e\\x82\\x61\\x1f\\xc1\\xb0\\x8f\\x60\\xd8\\x07\\x07\\xfb\\xe0\\x60\\x1f\\x1c\\xec\\x83\\x83\\x7d\\x04\\xc3\\x3e\\x82\\x61\\x1f\\xc1\\xb0\\x8f\\x60\\xd8\\x47\\x30\\xec\\x23\\x18\\xf6\\x11\\x0c\\xfb\\x08\\x86\\x7d\\x04\\xc3\\x3e\\x82\\x61\\x1f\\xc1\\xb0\\x8f\\x60\\xd8\\x47\\x30\\xec\\x23\\x18\\xf6\\x11\\x0c\\xfb\\x08\\x86\\x7d\\x04\\xc3\\x3e\\x82\\x61\\x1f\\xc1\\xb0\\x8f\\x60\\xd8\\x47\\x30\\xec\\x23\\x18\\xf6\\x11\\x0c\\xfb\\x08\\x86\\x7d\\x04\\xc3\\x3e\\x82\\x61\\x1f\\xc1\\xb0\\x8f\\x60\\xd8\\x47\\x30\\xec\\x23\\x18\\xf6\\x11\\x0c\\xfb\\x08\\x86\\x7d\\x04\\xc3\\x3e\\x82\\x61\\x1f\\xc1\\xb0\\x8f\\x60\\xd8\\x47\\x30\\xec\\x23\\x18\\xf6\\x11\\x0c\\xfb\\x08\\x86\\x7d\\x04\\xc3\\x3e\\x82\\x61\\x1f\\xc1\\xb0\\x8f\\x60\\xd8\\x47\\x30\\xec\\x23\\x18\\xf6\\x11\\x0c\\xfb\\x08\\x86\\x7d\\x04\\xc3\\x3e\\x82\\x61\\x1f\\xc1\\xb0\\x8f\\x60\\xd8\\x47\\x30\\xec\\x23\\x18\\xf6\\x11\\x0c\\xfb\\x08\\x86\\x7d\\x04\\xc3\\x3e\\x82\\x61\\x1f\\xc1\\xb0\\x8f\\x60\\xd8\\x47\\x30\\xec\\x23\\x18\\xf6\\x11\\x0c\\xfb\\x08\\x86\\x7d\\x04\\xc3\\x3e\\x82\\x61\\x1f\\xc1\\xb0\\x8f\\x60\\xd8\\x47\\x30\\xec\\x23\\x18\\xf6\\x11\\x0c\\xfb\\x08\\x86\\x7d\\x7c\\x4c\\xee\\xe3\\x63\\x72\\x1f\\xc1\\xb1\\x8f\\x8f\\xc9\\x7d\\x04\\xc9\\x3e\\x82\\x64\\x1f\\x41\\xb2\\x8f\\x20\\xd9\\x47\\x90\\xec\\x23\\x48\\xf6\\xc1\\xff\\x3e\\xf8\\xdf\\x07\\xff\\xfb\\xe0\\x7f\\x1f\\xfc\\xef\\x83\\xff\\x7d\\xf0\\xbf\\x0f\\xfe\\xf7\\xab\\x73\\x4e\\xcd\\x84\\xfa\\xfa\\xf2\\xc1\\xb9\\x8e\\x9d\\x09\\x1e\\x80\\x0f\\x0f\\xc0\\x87\\x07\\xe0\\xc3\\x03\\xf0\\xe1\\x01\\xf8\\xf0\\x00\\x7c\\x78\\x00\\x3e\\x3c\\x00\\x1f\\x1e\\x80\\x0f\\x0f\\xc0\\x87\\x07\\xe0\\xc3\\x03\\xf0\\xe1\\x01\\xf8\\xf0\\x00\\x7c\\x78\\x00\\x3e\\x3c\\x00\\x1f\\x1e\\x80\\x0f\\x0f\\xc0\\x87\\x07\\xe0\\xc3\\x03\\xf0\\xe1\\x01\\xf8\\xf0\\x00\\x7c\\x78\\x00\\x3e\\x3c\\x00\\x1f\\x1e\\x80\\x0f\\x0f\\xc0\\x87\\x07\\xe0\\xc3\\x03\\xf0\\xe1\\x01\\xf8\\xf0\\x00\\x7c\\x78\\x00\\x3e\\x3c\\x00\\x1f\\x1e\\x80\\x0f\\x0f\\xc0\\x87\\x07\\xe0\\xc3\\x03\\xf0\\xe1\\x01\\xf8\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\xf0\\x00\\xd2\\x60\\xf4\\x34\\x18\\x3d\\x0d\\x46\\x4f\\x83\\xd1\\xd3\\xd8\\x39\\xd2\\xd8\\x39\\xd2\\xd8\\x39\\xd2\\xd8\\x39\\xd2\\xd8\\x39\\xd2\\xd8\\x39\\xd2\\xd8\\x39\\xd2\\xd8\\x39\\xd2\\xd8\\x39\\xd2\\xd8\\x39\\xd2\\xd8\\x39\\xd2\\xd8\\x39\\xd2\\xf9\\x0e\\x1c\\xe8\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x8d\\x9d\\x23\\x5d\\x11\\x1a\\x2d\\x75\\x85\\x69\\x35\\x29\\x8a\\x1d\\x6a\\x26\\xb4\\x14\\x26\\x36\\x35\\xc4\\xd5\\x29\\x94\\xd5\\xf5\\xd0\\xd5\\xa9\\x35\\x93\\x6b\\x5a\\x5b\\x8c\\xba\\xfa\\xe6\\xfa\\xa9\\x46\\x6b\\x0b\\x79\\xe5\\x86\\xee\\x68\\xe8\\x3e\\x66\\xc7\\xe9\\x26\\x0a\\x04\\x62\\xa1\\x95\\x15\\xe6\\xd4\\xb6\\x71\\x6d\\xad\\x2d\\x66\\x6d\\xcd\\xc4\\x42\\x4b\\x9d\\x31\\xb9\\xd0\\x5a\\x98\\x68\\x4c\\xae\\x99\\x5a\\x33\\x41\\x35\\xd7\\x4c\\x28\\xd0\\x95\\x2d\\x85\\xa9\\x56\\xf4\\x2d\\xc3\\xe8\\xe9\\x78\\x8b\\x2e\\xec\\x96\\x26\\x42\\x6d\\x69\\x9b\\xea\\xb4\\x4d\\x99\\x52\\x68\\x3e\\x21\\x3a\\xd4\\xd0\\x34\\xbd\\xd0\\x1c\\xbd\\x2e\\xa1\\xe5\\x56\\x65\\x7a\\xc4\\x60\\x53\\x09\\xb8\\x51\\xd5\\x34\\x14\\x26\\x48\\x0a\\x58\\x8c\\x89\\xf5\\x93\\x0b\\x0d\\x46\\x2d\\xb5\\x5b\\x45\\x5d\\x41\\x4e\\xab\\x99\\x66\\x9c\\x52\\x73\\x72\\x7d\\xa3\\xa4\\x50\\x45\\xb6\\x52\\x3a\\xb9\\xa9\\xd6\\x9e\\x50\\xdf\\x58\\xd3\\x70\\x52\\xcd\\x04\\x49\\xc9\\x20\\x55\\x0b\\x38\\x34\\xb9\\x30\\x59\\x52\\x8a\\x1b\\x8d\\x6d\\x8d\\x92\\x92\\xd9\\x42\\xe7\\x4f\\xaa\\x53\\x91\\x10\\x4b\\x9f\\x98\\x52\\x10\\x53\\x0a\\x29\\x5d\\x6d\\x6d\\xa1\\x50\\xc5\\xd0\\xb9\\x9c\\xda\\x44\\x03\\xa2\\x11\\xaa\\x68\\x28\\x14\\xe3\\x4c\\x33\\x09\\x7c\\x5a\\x5c\\x10\\xa8\\x49\\x29\\x2a\\x26\\x46\\x91\\x4c\\x9d\\x43\\x45\\x4b\\x1d\\xc9\\xd4\\x66\\x2a\\xaf\\x8e\\xef\\x15\\x2a\\xcb\\x51\\xba\\x28\\x3d\\x94\\x3e\\xca\\x34\\xca\\x0c\\xca\\x2c\\xca\\x1c\\xca\\x3c\\xca\\x0a\\x94\\x95\\x28\\xab\\x50\\x56\\xa3\\x0c\\x50\\x86\\x71\\x59\\x0e\\xfc\\x72\\xe0\\x97\\x03\\xbf\\x1c\\xf8\\xe5\\xc0\\x2f\\x07\\x7e\\x39\\xf0\\xcb\\x81\\x5f\\x0e\\xfc\\x72\\xe0\\x97\\x03\\xbf\\x1c\\xf8\\xe5\\xc0\\x2f\\x07\\x7e\\x39\\xf0\\xcb\\x81\\xef\\x02\\xdf\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf7\\x80\\xef\\x03\\xdf\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\x03\\xdf\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x06\\x7e\\x1a\\xf8\\x69\\xe0\\xa7\\x81\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x05\\x7e\\x16\\xf8\\x59\\xe0\\x67\\x81\\x9f\\x03\\x7e\\x0e\\xf8\\x39\\xe0\\xe7\\x80\\x9f\\x03\\x7e\\x0e\\xf8\\x39\\xe0\\xe7\\x80\\x9f\\x03\\x7e\\x0e\\xf8\\x39\\xe0\\xe7\\x80\\x9f\\x03\\x7e\\x0e\\xf8\\x39\\xe0\\xe7\\x80\\x9f\\x07\\x7e\\x1e\\xf8\\x79\\xe0\\xe7\\x81\\x9f\\x07\\x7e\\x1e\\xf8\\x79\\xe0\\xe7\\x81\\x9f\\x07\\x7e\\x1e\\xf8\\x79\\xe0\\xe7\\x81\\x9f\\x07\\x7e\\x1e\\xf8\\x79\\xe0\\xe7\\x81\\x5f\\x01\\xfc\\x0a\\xe0\\x57\\x00\\xbf\\x02\\xf8\\x15\\xc0\\xaf\\x00\\x7e\\x05\\xf0\\x2b\\x80\\x5f\\x01\\xfc\\x0a\\xe0\\x57\\x00\\xbf\\x02\\xf8\\x15\\xc0\\xaf\\x00\\x7e\\x05\\xf0\\x2b\\x80\\x5f\\x09\\xfc\\x4a\\xe0\\x57\\x02\\xbf\\x12\\xf8\\x95\\xc0\\xaf\\x04\\x7e\\x25\\xf0\\x2b\\x81\\x5f\\x09\\xfc\\x4a\\xe0\\x57\\x02\\xbf\\x12\\xf8\\x95\\xc0\\xaf\\x04\\x7e\\x25\\xf0\\x2b\\x81\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\xbf\\x0a\\xf8\\x55\\xc0\\xaf\\x02\\x7e\\x15\\xf0\\xab\\x80\\x5f\\x05\\xfc\\x2a\\xe0\\x57\\x01\\x3f\\x04\\x4e\\xec\\x93\\x95\\x07\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\xc8\\x86\\xe6\\xd1\\xfa\\x59\\xa7\\x39\\x3d\\x2e\\x8e\\x8e\\x5f\\x72\\x9c\\xae\\x0b\\xe7\\xe8\\x8e\\x0f\\xd8\\x9d\\xe9\\x1d\\xb5\\xf8\\x3a\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x00\\x3c\\x13\\x80\\x67\\x02\\xf0\\x4c\\x00\\x9e\\x09\\xc0\\x33\\x01\\x78\\x26\\x00\\xcf\\x04\\xe0\\x99\\x20\\x1f\\x38\\x15\\x1d\\xcf\\x2b\\x9d\\x9a\\x8e\\x5a\\xaa\\xa2\\xf3\\xc9\\x6c\\xaa\\xa6\\xb3\\xda\\xa7\\xa2\\xf8\\xd2\\xa7\\x36\\x43\\x9f\\x9a\\xd2\\x03\\x89\\x1e\\xda\\x6c\\xc9\\x1e\\xfa\\x40\\xbf\\x44\\x8f\\x4e\\xc1\\xfd\\x6a\\xba\\x39\\x98\\x94\\xa5\\x9f\\x2c\\x27\\x65\\xe9\\x03\\x5b\\x26\\x7a\\x74\\x68\\xbe\\x65\\xcd\\xc6\\xc7\\x7a\\xc4\\xef\\x87\\xc7\\x2f\\xa4\\xd5\\x24\\xea\\xf1\\x71\\xad\\x17\\x8e\\xeb\\x7a\\xef\\xf8\\x78\\xa7\\x26\\xbd\\x6b\\xba\\xb6\\x71\\x9d\\xd6\\x01\\xd7\\xe9\\x7a\\xaf\\xf8\\x78\\x07\\x6c\\xaf\\x9a\\x2e\\x4d\\x27\\xe8\\xac\\x75\\x1e\\x4b\\x05\\x45\\x3b\\x17\\xe5\\x9b\\x41\\xfc\\x92\\x6f\\x2c\\xb5\\x4f\\x50\\x6a\\xe4\\x42\\xe9\\x81\\xa0\\xd4\\xea\\x85\\x52\\xab\\x07\\xdd\\x59\\xbd\\xd0\\x9d\\xd5\\x83\\x52\\xab\\x17\\x4a\\xad\\x1e\\x74\\x63\\xf5\\xc2\\xc6\\xc7\\x52\\x87\\x14\\xc7\\x56\\xdf\\x59\\x75\\x0e\\xe9\\xb4\\x42\\x7d\\x67\\x6d\\x44\\x67\\xad\\xa9\\xf3\\xea\\x11\\xc5\\xab\\x9b\\x8a\\xda\\x8d\\x28\\x1d\\x7a\\x53\\xe9\\x81\\x11\\xa5\\xb6\\x68\\x2a\\xb5\\xc5\\x88\\xee\\x6c\\xd1\\xd4\\x9d\\x2d\\x46\\x94\\xda\\xa2\\xa9\\xd4\\x16\\x23\\xba\\xb1\\x45\\x53\\x37\\xb6\\xd0\\x2f\\x00\\xc7\\x2f\\x4e\\x36\\x15\\xab\\xfa\\xa8\\x56\\x2a\\x3e\\xaa\\xab\\xbd\\xf4\\xd1\\x4e\\x25\\x7a\\x35\\x75\\x69\\xc6\\xd7\\x68\\xf0\\xf8\\x1a\\x5d\\xed\\xa9\\x8f\\x76\\xa0\\xf5\\x6c\\x4a\\xb6\\x9c\\x51\\x9d\\xb5\\xb6\\x4e\\x7d\\x46\\x15\\x05\\xb6\\x15\\xab\\xa3\\x8a\\xaa\\xb5\\x15\\xab\\xa3\\x8a\\x5a\\xb6\\x15\\xb5\\x1c\\xd5\\x55\\xcb\\xb6\\xae\\x5a\\x8e\\x2a\\x6a\\xd9\\x56\\xd4\\x72\\x54\\x17\\x2d\\xdb\\x92\\x2d\\xf3\\x98\\x78\\x9b\\x3d\\x59\\x17\\xce\\x31\\x9d\\x3a\\x9f\\xdc\\xa9\\xf3\\x31\\x45\\xf1\\x27\\x17\\xef\\x95\\x63\\xe2\\x7b\\xe5\\xe4\\xf8\\x85\\xf8\\x68\\x4f\\x0b\\xe1\\xb3\\x85\\xf0\\xd9\\x42\\xf8\\x6c\\x21\\x7c\\xb6\\x10\\x3e\\x5b\\x08\\x9f\\x2d\\x84\\xcf\\x16\\xc2\\x67\\x0b\\xe1\\xb3\\x85\\xf0\\xd9\\x42\\xf8\\x6c\\x21\\x7c\\xb6\\x10\\x3e\\x5b\\x08\\x9f\\x2d\\x84\\xcf\\x16\\xc2\\x67\\x0b\\xe1\\xb3\\x85\\xf0\\xd9\\x42\\xf8\\x6c\\x21\\x7c\\xb6\\x10\\x3e\\x5b\\x08\\x9f\\x2d\\x84\\x8f\\x16\\xc2\\x47\\x0b\\xe1\\xa3\\x85\\xf0\\xd1\\x42\\xf8\\x68\\x21\\x7c\\xb4\\x10\\x3e\\x59\\x08\\x9f\\x2c\\x84\\x4f\\x16\\xc2\\x27\\x0b\\xe1\\x93\\x85\\xf0\\xc9\\x42\\xf8\\x64\\x21\\x7c\\xb2\\x10\\x3e\\x59\\x08\\x9f\\x2c\\x84\\x4f\\x16\\xc2\\x27\\x0b\\xe1\\x93\\x85\\x6e\\x07\\x1e\\xc6\\x07\\x9f\\x2c\\x84\\x4f\\x16\\xc2\\x27\\x0b\\xe1\\x93\\x85\\xf0\\xc9\\x42\\xf8\\x64\\x21\\x7c\\xb2\\x10\\x3e\\x59\\x08\\x9f\\x2c\\x84\\x4f\\x16\\xc2\\x27\\x0b\\xe1\\x93\\x85\\xf0\\xc9\\x42\\xf8\\x64\\x21\\x7c\\xb2\\x10\\x3e\\x59\\x08\\x9f\\x2c\\x84\\x4f\\x16\\xc2\\x27\\x0b\\xe1\\x93\\x85\\xf0\\xc9\\x42\\xf8\\x64\\x21\\x7c\\xb2\\x10\\x3e\\x58\\x08\\x1f\\x2c\\x84\\x0f\\x16\\xc2\\x07\\x0b\\xe1\\x83\\x85\\xf0\\xc1\\x42\\xf8\\x5c\\x21\\x7c\\xae\\x10\\x3e\\x57\\x08\\x9f\\x2b\\x84\\xcf\\x15\\xc2\\xe7\\x0a\\xe1\\x73\\x85\\xf0\\xb9\\x42\\xf8\\x5a\\x21\\x7c\\xac\\x30\\xdd\\x21\\x17\\xfa\\xc3\\xa7\\x0a\\xe1\\x53\\x85\\xf0\\xa9\\x42\\xf8\\x54\\x21\\x7c\\xaa\\x10\\x3e\\x55\\x08\\x9f\\x2a\\x84\\x4f\\x15\\xc2\\xa7\\x0a\\xe1\\x53\\x85\\xf0\\xa9\\x42\\xf8\\x54\\x21\\x7c\\xaa\\x10\\x3e\\x55\\x08\\x9f\\x2a\\x84\\x4f\\x15\\xc2\\xa7\\x0a\\xe1\\x53\\x85\\xf0\\xa9\\x42\\xf8\\x54\\x21\\x7c\\xaa\\x10\\x3e\\x55\\x08\\x9f\\x2a\\x84\\x4f\\x15\\xc2\\xa7\\x0a\\xe1\\x53\\x85\\xf0\\xa9\\x42\\xf8\\x54\\x21\\x7c\\xaa\\x10\\x3e\\x55\\x88\\x58\\x3d\\x44\\xac\\x1e\\x22\\x56\\x0f\\x11\\xab\\x87\\x88\\xd5\\x43\\xc4\\xea\\x21\\x7c\\xa8\\x10\\x3e\\x54\\x08\\x1f\\x2a\\x84\\x0f\\x15\\xc2\\x87\\x0a\\xe1\\x43\\x85\\xf0\\xa1\\xc2\\x5c\\x07\\x1e\\xc6\\x0b\\x1f\\x2a\\x84\\x0f\\x15\\xc2\\x87\\x0a\\xe1\\x43\\x85\\xf0\\xa1\\x42\\xf8\\x50\\x21\\x7c\\xa8\\x10\\x3e\\x54\\x08\\x1f\\x2a\\x84\\x0f\\x15\\xc2\\x87\\x0a\\xe1\\x43\\x85\\xf0\\xa1\\x42\\xc4\\xea\\x21\\x62\\xf5\\x10\\xb1\\x7a\\x88\\x58\\x3d\\x44\\xac\\x1e\\x22\\x56\\x0f\\x11\\xab\\x87\\x88\\xd5\\x43\\xc4\\xea\\x21\\x62\\xf5\\x10\\xb1\\x7a\\x88\\x58\\x3d\\x44\\xac\\x1e\\x22\\x56\\x0f\\x11\\xab\\x87\\x88\\xd5\\x43\\xc4\\xea\\x21\\x62\\xf5\\x10\\xb1\\x7a\\x88\\x58\\x3d\\x44\\xac\\x1e\\x22\\x56\\x0f\\x11\\xab\\x87\\x88\\xd5\\x43\\xc4\\xea\\x21\\x62\\xf4\\x10\\x31\\x7a\\x88\\x18\\x3d\\x44\\x8c\\x1e\\x22\\x46\\x0f\\x11\\xa3\\x87\\x88\\xd1\\x43\\xc4\\xe8\\x21\\x62\\xf4\\x10\\x31\\x7a\\x88\\x18\\x3d\\x44\\x8c\\x1e\\x22\\x46\\x0f\\x11\\xa3\\x87\\x88\\xd1\\x43\\xc4\\xe6\\x21\\x62\\xf3\\x10\\xb1\\x79\\x88\\xd8\\x3c\\x44\\x6c\\x1e\\x56\\x01\\xb7\\x0a\\xb8\\x55\\xc0\\xad\\x02\\x6e\\x15\\x70\\xab\\x81\\x5b\\x0d\\xdc\\x6a\\xe0\\x56\\x03\\xb7\\x1a\\x78\\xd5\\xc0\\xab\\x06\\x5e\\x35\\xf0\\xaa\\x81\\x57\\x0d\\xbc\\x6a\\xe0\\x54\\x03\\xa7\\x1a\\x38\\x01\\x70\\x02\\xe0\\x04\\xc0\\x09\\x80\\x13\\x60\\x7c\\x01\\xe6\\x35\\x00\\x6e\\x00\\xdc\\x00\\xb8\\x01\\x70\\x03\\xe0\\x06\\xc0\\x0d\\x30\\xce\\x00\\xf8\\x01\\xf0\\x03\\xe0\\x87\\xc0\\x0b\\x81\\x17\\x02\\x2f\\x04\\x4e\\x08\\x9c\\x10\\x38\\x21\\x70\\x42\\xe0\\x84\\xc0\\x09\\x81\\x13\\x02\\x27\\xfe\\x0c\\xc4\\x1d\\x1c\\xf3\\x28\\x95\\xe5\\x28\\x5d\\x94\\x1e\\x4a\\x1f\\x65\\x1a\\x65\\x06\\x65\\x16\\x65\\x0e\\x65\\x1e\\x65\\x05\\xca\\x4a\\x94\\x55\\x28\\xab\\x51\\x76\\xe0\\x86\\x71\\x59\\x0e\\xbc\\x72\\xc8\\x2f\\xcf\\xf4\\xd4\\x7f\\xdf\\x4e\\x7f\\x1f\\xb4\\x76\\x5c\\x43\\xcf\\xa9\\x6d\\x4d\\xd1\\x5f\\x53\\x8d\\xbe\\x22\\x5a\\xa8\\x45\\x1f\\x5c\\xeb\\x02\\xcb\\x05\\x96\\x0b\\x2c\\x17\\x58\\x2e\\xb0\\xdc\\xd0\\x9c\\x5c\\xdf\\xa8\\xbf\\xa5\\x57\\x18\\xdf\\xd4\\x08\\x29\\x9e\\xef\\x14\\x66\\x8c\\x6f\\xa8\\x99\\x4c\\x28\\x4e\\x73\\x4d\\x6d\\xf4\\x37\\x1b\\xe3\\x6f\\xea\\xb9\\x83\\xd3\\xb8\\x32\\x03\\x84\\x0c\\x10\\x32\\x40\\xc8\\x00\\x21\\xd3\\xd1\\x2f\\x2c\\x9b\\xd0\\xd4\\xd6\\xdc\\xd2\\x36\\xa5\\xd0\\x5c\\xdf\\xd4\\x5c\\x36\\xa1\\x7e\\x5a\\xa1\\xa3\\xd1\\xb3\\x85\\x94\\x6f\\xec\\x6c\\x15\\xa2\\xbf\\x50\\xdc\\xd1\\x72\\x3a\\x8f\\xc7\\x72\\xf2\\x98\\x8d\\x3c\\x66\\x23\\x0f\\xeb\\xe4\\x31\\x1b\\x79\\xcc\\x46\\x05\\xfa\\x55\\xa0\\x5f\\x85\\xab\\x1a\\xea\\x9b\\x6b\\xd0\\x80\\x29\\x2b\\x32\\xe6\\x94\\x42\\x4b\\xa1\\xb5\\xe3\\x30\\x66\\xaa\\x22\\x6f\\xb6\\xd4\\x15\\xa6\\x16\\x1a\\x54\\x6d\\x53\\xe3\\x44\\x15\\xfd\\xe5\\x48\\x9c\\xc0\\xa0\\x2a\\x30\\xa8\\x0a\\x98\\xb9\\x12\\x60\\x95\\x00\\xab\\x84\\x52\\x95\\x50\\xaa\\x12\\x4a\\x55\\x02\\x37\\x7e\\xc4\\xea\\x96\\x63\\xc9\\x94\\xc7\\x2e\\x11\\x95\\x19\\x94\\x59\\x39\\xa2\\x6e\\xb2\\x53\\x68\\x69\\xad\\x9f\\x5c\\xd3\\x8a\\x49\\x2d\\x8f\\x89\\x99\\xca\\xc0\\x6e\\x6a\\x2c\\xb4\\xd6\\xd5\\x37\\xd7\\x3a\\xad\\xd3\\x9b\\x74\\xa5\\xc5\\xa1\\x43\\xda\\x70\\x75\\x65\\xad\\x75\\xcd\\x05\\xd4\\x5b\\x7a\\x44\\x76\\x46\\xbd\\x4c\\x9b\\x19\\x8d\\x58\\x54\\xce\\x77\\x6a\\x9a\\x9b\\x9b\\xa6\\x37\\x14\\x26\\xb4\\x5a\\xba\\xd6\\x36\\x25\\xa5\\x4b\\xfd\\x67\\xa2\\xe3\\x93\\xb5\\x4d\\xd3\\x1b\\xe3\\xda\\x38\\x02\\x73\\xd0\\xad\\xb6\\xb1\\xac\\xb3\\x36\\xae\\x45\\xfb\\x9c\\x2e\\xbe\\xa6\\xe4\\xba\\xe5\\xe9\\x54\\x53\\x73\\x6b\\x5d\\xf4\\x4d\\xca\\x9a\\x86\\xb2\\xfa\\xc6\\xd6\\x68\\x6d\\xea\\xbf\\xd7\\xdb\\xa3\\x30\\xb5\\xad\\x7e\\x1a\\xad\\xa3\\xc6\\xf1\\x05\\xa3\\xae\\xa9\\xad\\xa5\\xd0\\x93\\x96\\x6e\\x43\\xd3\\xc4\\x68\\x71\\x35\\x36\\xb5\\xa6\\xa2\\xce\\xe4\\xfd\\x36\\xb4\\x4e\\xe9\\xac\\x8e\\xd3\\x0f\\xef\\x5c\\x3c\\x19\\x76\\xf1\\x44\\xd8\\xc5\\x93\\x5c\\x17\\x4f\\x6c\\xa9\\xf4\\x51\\xe6\\x50\\xe2\\xbc\\x8b\\xe3\\x58\\xfd\\x69\\x0f\\x6d\\x0f\\xed\\x34\\xae\\x8f\\x3d\\x1d\\x2a\\x21\\x3f\\xf6\\x74\\xa8\\x44\\xff\\xd8\\xd3\\xa1\\x32\\x83\\x32\\x8b\\x12\\x78\\xb1\\xc7\\x43\\x65\\x05\\xca\\x4a\\x94\\x1d\\x38\\xd5\\x28\\x03\\x94\\xf1\\xf2\\x49\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x7e\\x06\\xf8\\x19\\xe0\\x67\\x80\\x9f\\x01\\x3e\\xee\\xc9\\x34\\xee\\xc9\\x74\\x74\\x4f\\x4e\\x19\\xd7\\xd0\\x34\\xfe\\x24\\x8b\\xe6\\x2a\\x2a\\x8d\\xb8\\xd5\\x30\\x21\\x2e\\x9b\\x5b\\xd1\\x6e\\x6d\\xa9\\xab\\xa9\\x2d\\x18\\x3a\\xb7\\x6a\\x4f\\xd2\\xa5\\x33\\xa1\\xbe\\xa1\\x81\\x36\\x9a\\xa6\\xf8\\xce\\xc7\\xf3\\x65\\x17\\xcf\\x87\\xa9\\xac\\x4c\\xc5\\x3d\\x9a\\x69\\x86\\xad\\xd6\\xe6\\xfa\\x9a\\x89\\x6d\\x53\\xe2\\xb2\\x19\\xed\\xda\\xc6\\xb8\\x6c\\x98\\x60\\x46\\x51\\x61\\x43\\xbc\\x5a\\xd2\\x55\\xb0\\x4b\\x55\\xe8\\xd4\\x37\\x4e\\x1b\\xd7\\x46\\x42\\x5a\\xa3\\x5a\\xdc\\x27\\xd5\\x34\\xa5\\xd0\\x88\\x83\\x2d\\x93\\xeb\\x69\\x89\\xd6\\x8c\\x2f\\xd0\\x5a\\x9a\\xd6\\xd9\\x90\\x2d\\x6d\\x8d\\xe6\\x84\\xc2\\x64\\x5a\\x4d\\x2a\\xca\\x8c\\x96\\x29\\xa4\\xaf\\x1a\\xdf\\xd0\\x36\\xce\\xa8\\x2b\\xd4\\x10\\x7a\\x6d\\x7d\\xcd\\x64\\xda\\xce\\x7a\\x4c\\x6e\\x6b\\xc1\\xfa\\x2a\\xf4\\x4a\\xd4\\x69\\x5f\\xd3\\x1a\\x64\\x62\\x9f\\xd0\\xad\\xc2\\x4c\\x54\\x61\\x26\\xaa\\x30\\x13\\x55\\x98\\x89\\x2a\\xcc\\x44\\x15\\x66\\xa2\\x0a\\x33\\x51\\x85\\x99\\xa8\\xc2\\x4c\\x54\\x61\\x26\\xaa\\x30\\x13\\x55\\x98\\x89\\x2a\\xec\\x8e\\x55\\xd8\\x1d\\xab\\xb2\\xc0\\xc9\\x02\\x27\\x0b\\x9c\\x2c\\x70\\xb2\\xc0\\xc9\\x02\\x27\\xf6\\x3d\\x5d\\x7c\\xae\\x5d\\x91\\xed\\x2c\\x73\\x28\\xf3\\x28\\x2b\\x50\\x56\\xa2\\xac\\x42\\x59\\x8d\\x32\\x40\\x19\\xc6\\x65\\x1c\\x4b\\x51\\x59\\x1e\\x97\\x39\\xc8\\xcb\\x41\\x5e\\x0e\\xf2\\x72\\x90\\x17\\xfb\\x9a\\x21\\xb8\\x8f\\x5c\\xaa\\x6a\\x94\\x41\\x59\\xfc\\xbc\\xfa\\x04\\xfd\\x60\\xbf\\x37\\xdd\\xc6\\x05\\x0a\\xa0\\xa3\\x3f\\x0b\\x1c\\x3d\\x08\\xb7\\xa3\\xe7\\xed\\xd3\\xeb\\x69\\x4d\\xe9\\x27\\xed\\x51\\xcd\\xac\\x2b\\x44\\x85\\x75\\x52\\x4d\\x7c\\x42\\x3f\\x56\\x8f\\x6a\\x65\\x1d\\x8f\\xd6\\xa3\\x86\\x1d\\x3d\\xfc\\xd6\\xfd\\x5a\\x6b\\xa6\\xe9\\xb3\\x24\\xf9\\x84\\x29\\x0d\\x6d\\x2d\\xd1\\x1f\\x9b\\xed\\x11\\x3d\\x3a\\xc7\\x9b\\x00\\x29\\x5d\\xd7\\xd5\\xbe\\xfa\\x90\\x7e\\x7d\\x00\\x27\\xfb\\x24\\x8e\\xe8\\x03\\x4e\\xa4\\x90\\x56\\x35\\x15\\xd5\\xe2\\x57\\x03\\xf4\\xc1\\xc9\\x35\\x53\\xea\\xa7\\x3a\\xe3\\x0a\\xad\\x71\\xf7\\x1e\\xfa\\x05\\x01\\xd4\\xb5\\xf2\\x71\\xdd\\xae\\x2b\\xc4\\x15\\x67\\x5a\\xcd\\x34\\x9c\\xd6\\x2f\\x0e\\xe0\\x68\\x6b\\x47\\x47\\x87\\x8c\\x12\\xd7\\x7a\\x75\\xbc\\x46\\x80\\x13\\x9d\\xb5\\x1e\\x7a\\xec\\x38\\x4a\\x03\\x47\\xad\\xb1\\x0d\\xc2\\xca\\xe2\\x57\\x0a\\xe2\\x46\\x4f\\xbc\\x53\\x00\\x35\\x3a\\x2a\\x3d\\xf4\\x4b\\x05\\xb8\\x72\\x6a\\x13\\x24\\xa7\\x22\\xf3\\xa1\\x5a\\x34\\x81\\xd3\\xda\\xa1\\xb2\\x4d\\xca\\xc7\\x2f\\x5f\\xd0\\x80\\xa3\\xb7\\x2b\\xa2\\xe9\\x88\\x4a\\xa2\\xc7\\xa8\\xd0\\x16\\xd1\\xda\\xe9\\x69\\xc6\\xe3\\x90\\x10\\x8f\\x43\\x42\\x3c\\x0e\\x09\\xf1\\x38\\x24\\x24\\x57\\x4a\\x35\\xd2\\x8d\\x2b\\xa7\\xd4\\x97\\xf7\\x1c\\x7f\\x72\\x33\\xed\\x0e\\xf5\\xe3\\xf5\\xa7\\x80\\x7d\\xf4\\x17\\xf9\\x13\\xdf\\x19\\xed\\x9b\\xa8\\x37\\x47\\x6f\\x97\\x17\\x52\\xfa\\xa3\\x8f\\xbd\\x69\\x7e\\xcb\\x8b\\x55\\xb7\\x58\\xf5\\x52\\xfa\\xf3\\x98\\xb8\\x43\\x67\\xd5\\x2d\\x56\\xbd\\x5e\\x9d\\x1f\\x8b\\xe8\\x4e\\x5d\\x9b\\x6e\\xd7\\xa6\\x97\\xd2\\x9f\\x98\\xc4\\xd2\\x3a\\xab\\x6e\\x4a\\x6b\\xab\\x8f\\xf6\\x2e\\x7e\\x8e\\xa5\\xdb\\x3d\\x3b\\x3e\\x89\\x29\\xd1\\xc0\\x2f\\x56\\xd3\\x45\\x6d\\xfd\\x62\\x35\\xdd\\x15\\xd9\\xef\\xda\\x4c\\x17\\xd1\\x13\\x3a\\xf9\\xc5\\x6a\\xa2\\x43\\xa6\\x58\\xcd\\x16\\xab\\xb9\\x2e\\x9a\\xb9\\x5d\\x5a\\x5e\\x97\\x96\\xdf\\xa5\\x95\\xee\\xd2\\x4a\\xc8\\xce\\x77\\x39\\x91\\xed\\xd2\\xea\\x0a\\x96\\xef\\xd5\\xc5\\x28\\x83\\xbb\\x36\\xcb\\xbb\\x36\\xdd\\xae\\x4d\\xaf\\x6b\\xd3\\xef\\xda\\x4c\\xf7\\x28\\xce\\xcf\\xe0\\x44\\xbd\\x3c\\x51\\x77\\x13\\x75\\x3d\\xd0\\xe8\\xab\\xb9\\xf5\\xf1\\xe4\\xd1\\x72\\x8c\\xbe\\x62\\x15\\x7d\\x0d\\x6b\\xef\\xf1\\x35\\x53\\x12\\xed\\xf2\\x92\\x76\\x55\\x49\\x7b\\x70\\xa2\\x9d\\x2d\\xb9\\xde\\xeb\\xd2\\x76\\x83\\x34\\x52\\xa6\\xa4\\x9d\\x2d\\x69\\xe7\\x4a\\xda\\xf9\\x44\\x3b\\x13\\x95\\x25\\xed\\x4c\\x49\\x3b\\x5b\\xd2\\xce\\x95\\xb4\\xf3\\x3d\\x12\\xed\\xc4\\xb9\\x6c\\x89\\xec\\x6c\\x37\\xe7\\xb3\\x25\\xed\\x5c\\x49\\x3b\\x29\\x3b\\xd9\\x37\\x57\\x22\\x3b\\x57\\x22\\x3b\\xd7\\x4d\\xff\\x5c\\x49\\x3b\\x29\\x3b\\x79\\x2e\\x5f\\x22\\x3b\\x5f\\x22\\x3b\\x5f\\x22\\x3b\\xdf\\xcd\\xf5\\x49\\xd9\\x1d\\xf6\\xce\\x74\\xcc\\x41\\x49\\x3b\\x53\\xd2\\xce\\x96\\xb4\\x73\\x25\\xed\\x0e\\xd9\\x99\\x12\\x59\\xdd\\xb5\\xb3\\x25\\xed\\x5c\\x49\\x3b\\xa9\\x5b\\xb6\\xe4\\xfa\\x6c\\x89\\x6e\\xd9\\x12\\x79\\xd9\\x12\\x79\\xd9\\x12\\xdd\\x92\\x7d\\x73\\x25\\xb2\\x73\\x25\\xb2\\x73\\xdd\\xf4\\xcf\\x95\\xb4\\x93\\xb2\\x93\\xe7\\xf2\\x25\\xb2\\xf3\\x25\\xb2\\xf3\\x25\\xb2\\xf3\\xdd\\x5c\\x9f\\x94\\xdd\\x61\\x93\\x6c\\xc9\\x7c\\x65\\x4b\\xe6\\x2b\\x5b\\x32\\x5f\\xd9\\x92\\xf9\\xca\\x96\\xcc\\x57\\xb6\\x44\\x56\\xa6\\x9b\\x76\\xa6\\xa4\\x9d\\x2d\\x69\\xe7\\x4a\\xda\\x49\\xd9\\xc9\\x6b\\x4b\\xb1\\xba\\x3b\\x9f\\x2b\\x69\\x27\\xc7\\x9d\\x2b\\xb9\\x3e\\x57\\x72\\x7d\\xae\\x44\\xb7\\x5c\\x89\\xbc\\x5c\\x89\\x6e\\xc9\\x73\\xf9\\x12\\xd9\\xf9\\x12\\xd9\\xf9\\x12\\xd9\\xf9\\x6e\\xae\\x4f\\xca\\xee\\xd0\\x3b\\x57\\x32\\x5f\\xb9\\x92\\xf9\\xca\\x95\\xcc\\x57\\xae\\x64\\xbe\\x72\\x25\\xf3\\x95\\x2b\\x91\\x95\\xe9\\xa6\\x9d\\x29\\x69\\x67\\x4b\\xda\\xb9\\x92\\x76\\x52\\x76\\xf2\\xda\\x6c\\x89\\xec\\x6c\\x37\\xe7\\xb3\\x25\\xed\\x5c\\x49\\x3b\\x29\\x3b\\xd9\\xb7\\x74\\x1c\\xa5\\xd8\\xdd\\xf5\\x4f\\xda\\x34\\x5f\\x72\\x7d\\xbe\\xe4\\xfa\\x7c\\xc9\\xf5\\xf9\\x12\\xdd\\xf2\\x25\\xba\\x75\\xc8\\xce\\x97\\xcc\\x57\\xbe\\x64\\xbe\\xf2\\x25\\xf3\\x95\\x2f\\x99\\xaf\\x7c\\xc9\\x7c\\xe5\\x4b\\x64\\x65\\xba\\x69\\x67\\x4a\\xda\\xd9\\x92\\x76\\xae\\xa4\\x9d\\x94\\x9d\\xbc\\x36\\x5b\\x22\\x3b\\xdb\\xcd\\xf9\\x6c\\x49\\x3b\\x57\\xd2\\x4e\\xca\\x4e\\xf6\\xcd\\x95\\xc8\\xce\\x95\\xc8\\xce\\x75\\xd3\\x3f\\x57\\xd2\\x4e\\xca\\x4e\\x9e\\x2b\\xb5\\x51\\xe9\\xb8\\x4a\\x75\\x89\\xaf\\xef\\xf0\\xa6\\x4f\\x68\\x6a\\x8d\\x7e\\x23\\xc9\\x89\\xfd\\x54\\x3a\\x0a\\xcf\\xc4\\x2f\\xf1\\x5c\\xfc\\x12\\x4f\\xc7\\xeb\\xa6\\x9d\\x4b\\xb4\\xcb\\x23\\x6f\\x27\\xd1\\xae\\x2a\\x69\\xfb\\x1d\\xfd\\xcb\\xc6\\xd5\\x34\\xd7\\x77\\xfc\\x1d\\x94\\x2d\\xf5\\xc9\\xca\\xf2\\xb8\\x43\\x79\\x24\\x74\\x70\\x37\\xc7\\xca\\x4b\\x8e\\xf9\\xdd\\xf4\\xf3\\x4b\\xfa\\x65\\xba\\x91\\x97\\xe9\\x46\\x5e\\xa6\\x1b\\x79\\x99\\x12\\x79\\xf9\\x6e\\xf4\\xcb\\x77\\xa3\\x5f\\xbe\\x1b\\xfd\\xf2\\xdd\\xe8\\x97\\xef\\x46\\xbf\\x7c\\x37\\xfa\\xe5\\xbb\\xd1\\x2f\\xbf\\xb1\\x7e\\x55\\xe9\\x8d\\xf5\\xeb\\x72\\xac\\xb4\\x9f\\xdf\\x4d\\xbf\\x52\\x79\\x99\\x6e\\xe4\\x65\\xba\\x91\\x97\\xe9\\x46\\x5e\\x77\\xf6\\xcb\\x75\\x2c\\xb2\\x6e\\x8e\\x95\\xf6\\xcb\\x74\\xd3\\x2f\\x53\\x82\\x5b\\x22\\xaf\\xcb\\xb1\\xd2\\x7e\\x99\\x6e\\xfa\\x69\\x79\\xd1\\xdf\\x1a\\x68\\x2d\\xd4\\xd6\\xeb\\x08\\xcc\\x0e\\x1a\\x27\\x6a\\xe7\\xbf\\xa3\\xe2\\x76\\x54\\x3c\\xfb\\x94\\x42\\x73\\x53\\x54\\xb3\\x9a\\x1a\\x75\\xbc\\x60\\xb5\\x4e\\xd7\\x6d\\x47\\x7f\\x66\\x1a\\xd5\\xec\\xe8\\x53\\xea\\xb8\\x52\\x1f\\x47\\x66\\x56\\x4b\\xbd\\x8e\\xfc\\x1c\\xfd\\xf1\\xa9\\xae\\xe9\\xcf\\x50\\x75\\xa7\\xc6\\xfa\\x58\\x50\\x8f\\xce\\x8f\\xc7\\xf7\\x8e\\xff\\x94\\x1d\\x3e\\x2b\\x26\\xed\\xf2\\xd6\\xa8\\xe1\\x87\\x44\\x1f\\x8d\\xf6\\x2e\\x79\\x49\\xa3\\x77\\xc9\\x2b\\x19\\xbd\\xba\\xbe\\x7c\\xd1\\xbb\\xe4\\x2d\\x8b\\x54\\xf1\\x95\\x9d\\x54\\xf1\\x2d\\x1d\\xa7\\xf3\\xa5\\x9c\\x54\\xf1\\x15\\x9c\\x3e\\x3a\\x56\\xd7\\x11\\x3d\\xa2\\xfe\\xe2\\x81\\xce\\x8f\\x1f\\xe2\\x0f\\x3b\\x7a\\x76\\x34\\xf5\\x77\\x38\\xb6\\xec\\x0c\\xf4\\x8b\\x5f\\xe6\\xe8\\xd5\\x79\\xac\\xa4\\xa9\\xbf\\xc7\\xd1\\x27\\xf1\\x11\\x8f\\x3e\\xaa\\x3f\\x48\\xc1\\x87\\x11\\x91\\x01\\xd2\\x74\\x2b\\xa6\\x2b\\xab\\x51\\x77\\x13\\x75\\x2f\\xaa\\xab\\x23\\x4f\\xa8\\x0c\\xf0\\xeb\\x95\\x36\\x13\\xac\\x27\\xe3\\xed\\xed\\xd1\\xef\\x32\\xea\\xdf\\x92\\x64\\x6c\\x06\\x9b\\xa9\\x7f\\xe5\\xb2\\x2f\\x63\\x6a\\x11\\xe3\\xea\\x29\\xf5\\x15\\x93\\x6a\\x9d\\x5a\\x47\\xf5\\xaf\\xd5\\xd7\\x54\\xff\\x46\\x7d\\x43\\xf5\\x6f\\xd5\\xf7\\x54\\xdf\\xa0\\x36\\x50\\xbd\\x5d\\x91\\x04\\x83\\xd9\\x4f\\x32\\x6e\\x2f\\xb2\\x17\\x31\\x69\\x3f\\x65\\x7f\\x49\\xf5\\xb5\\xf6\\x5a\\x26\\xec\\xaf\\x52\\x26\\xe3\\x29\\x2b\\xe5\\x30\\x11\\xfd\\xdd\\x4d\\xaa\\x97\\xa5\\x7a\\x31\\x99\\xea\\x9d\\xea\\x4d\\xa8\\x8a\\xc5\\xbf\\xdf\\xc3\\x13\\x29\\xc5\\xc6\\xb1\\x6b\\x99\\xa2\\x5d\\xb6\\x81\\x6d\\x37\\xb1\\xb9\\x70\\x12\\x73\\xeb\\x0a\\xe3\\x9a\\xd9\\x01\\x0d\\x35\\xad\\x8d\\xd1\\x8f\\x01\\x31\\x71\\xd8\\xa1\\xd5\\x83\\x58\\x9f\\x23\\x8f\\xa8\\xa4\\x9c\\x31\\x1a\\x01\\xd7\\xbf\\xee\\xc3\\x50\\x67\\x9d\\x75\\xa1\\x7f\\xf9\\xa7\\xcb\\x99\\xf1\\xe3\\x27\\x4f\\x61\\xdb\\xe9\\x7c\\x50\\x6d\\x43\\xfd\\x44\\xb6\\x7b\\x43\\xd3\\xf8\\xe8\\x27\\x87\\x58\\xa7\\x3e\\xd1\\x6f\\x05\\x45\\xad\\x0e\\x8d\\x4c\\xb2\\xcd\\xd6\\x6c\\x20\\xdb\\x8d\\x7a\\x65\\x70\\x74\\x30\\x53\\xba\\x87\\x8f\\xb2\\x9a\\x7a\\x51\\x29\\x4c\\x2d\\x83\\x8b\\x03\\xe3\\xe3\\xd6\\x1d\\x94\\x9b\\xe6\\x5e\\x51\\x5d\\xbe\\x4b\\xf9\\x16\\x94\\xec\\x08\\x29\\xb2\\x8e\\x51\\x16\\x1d\\x37\\xa8\\x3f\\xbf\\x9e\\xf5\\x67\\x39\\x56\\x49\\xe3\\x3b\\x8a\\x9d\\xc8\\x26\\xb1\\x56\\x76\\x06\\x3b\\x9f\\xcd\\x62\\xb3\\xd9\\x9d\\xec\\x21\\xf6\\x3a\\x7b\\x9f\\x3a\\xa6\\x78\\x3f\\x3e\\x90\\xef\\xce\\x5d\\x3e\\x84\\x87\\xfc\\x70\\x7e\\x65\\x24\\x27\\x55\\xc6\\x04\\xcd\\x52\\x54\\xeb\\xd9\\x59\\xeb\\xd5\\x59\\xeb\\x41\\xb5\\xb5\\x1a\\x6f\\x59\\x67\\x6d\\x79\\x67\\xed\\x8d\\xce\\xda\\x9b\\xba\\x26\\x68\\x14\\x65\\xf6\\x6a\\xaa\\x7f\\x61\\xbf\\xd5\\x79\\xee\\xed\\xce\\xda\\x3b\\x89\\x5e\\xef\\x46\\x75\\x9a\\x75\\xa1\\x56\\xe9\\xd5\\xd4\\x8b\\xf5\\xa3\\xb9\\x16\\x6a\\x65\\xca\\xa0\\x7c\\xb5\\xfd\\x5e\\xe7\\x55\\xef\\xeb\\x5a\\xd4\\xa7\\x0f\\xdb\\x3a\\x25\\x69\\xe5\\xac\\x55\\x5f\\xa4\\x94\\x46\\x59\\xd1\\xd9\\xeb\\x83\\xce\\xda\\x87\\x9d\\xb5\\x95\\x9d\\xb5\\x8f\\x3a\\x6b\\x1f\\x77\\xd6\\x3e\\xe9\\xac\\xad\\xea\\xac\\x7d\\xaa\\x6b\\x16\\x21\\x6d\\xab\\x7f\\xe5\\x73\\x30\\xcd\\xd8\\x10\\xfb\\x15\\xc2\\x5c\\x4f\\xda\\xbe\\xa2\\xb1\\xd7\\xdb\\x2f\\x53\\xf9\\x2d\\xb5\\x5f\\xd6\\xed\\x6f\\xed\\xcf\\xf4\\x58\\x5e\\xa2\\x7c\\xbd\\xbd\\x94\\xf2\\x6f\\xb5\\xac\\xcf\\x31\\x5a\\x4b\\x7d\\xa4\\x3e\\x89\\x7e\\xd8\\xd5\\x30\\x69\\xa5\\xdb\\x34\\x6b\\x29\\xa3\\x97\\xd1\\x8b\\xe9\\xdf\\x1f\\x60\\x7d\\xa2\\xdf\\x1f\\x60\\x5b\\x18\\x5b\\x1b\\xdb\\xb1\\x7e\\x7a\\xe5\\x08\\x2a\\x77\\x26\\x09\\x7b\\xea\\xb5\\x62\\x50\\x6e\\xe8\\x5f\\x32\\xe8\\x61\\xf4\\x33\\x76\\x88\\xd6\\xaa\\xfe\\xe5\\x83\\xaf\\xa3\\x75\\x46\\xc7\\x77\\x60\\xcc\\xbe\\xc4\\xbe\\x84\\x0d\\xb4\\x9f\\xb1\\x5f\\x60\\x3b\\xd2\\x7a\\x98\\x44\\xd7\\xf4\\xe1\\x3b\\x0b\\x5f\\x86\\x6a\\x34\\x1b\\xc0\\xf6\\xa5\\x75\\x31\\x94\\x1d\\xc1\\xc6\\xd0\\x9d\\x31\\x89\\x35\\xb3\\x53\\xd8\\x59\\xec\\x42\\x76\\x25\\xad\\x8e\\x9b\\xd8\\x6d\\x6c\\x2e\\x5b\\xc0\\x1e\\x61\\x4f\\xb3\\x17\\x68\\x95\\xbc\\xcb\\x3e\\x66\\x6b\\xd8\\x7a\\x5a\\x2b\\x26\\x2f\\x73\\x0e\\x63\\x52\\xdc\\x2e\\x6e\\x77\\x86\\xe9\\xf2\\x36\\xe7\\x50\\x5d\\xde\\xea\\x0c\\xd5\\xe5\\x1c\\xe7\\x10\\x5d\\xde\\xe2\\x1c\\x44\\xe5\\x6d\\xd4\\x2f\\xd4\\xe5\\x6d\\x4e\\xa0\\xcb\\x5b\\x9d\\x6a\\x5d\\xce\\x71\\xaa\\x74\\x79\\x8b\\x53\\x41\\xe5\\xad\\xd4\\xef\\x40\\x5d\\xde\\xe6\\xfc\\x42\\x97\\xb7\\x3a\\x07\\xe8\\x72\\x8e\\xb3\\xbf\\x2e\\x6f\\x71\\xf6\\xa3\\x72\\x0e\\xf5\\xdb\\x57\\x97\\xb7\\x39\\x79\\x5d\\xde\\xea\\xe4\\x74\\x39\\xc7\\xc9\\xea\\xf2\\x16\\x27\\x43\\xe5\\x2d\\xd4\\x2f\\xad\\xcb\\xdb\\x1c\\x5f\\x97\\xb7\\x3a\\x9e\\x2e\\xe7\\x38\\x07\\x33\\x41\\x47\\x87\\x53\\x7e\\xbb\\x33\\x84\\xf2\\x39\\x4e\\x25\\xe5\\xb7\\xfe\\x37\\x2c\\x52\\x0f\\x8b\\xd4\\xc1\\x22\\x13\\x61\\x91\\x09\\xb0\\x48\\x01\\x16\\x19\\x0f\\x8b\\x8c\\x83\\x45\\x6a\\x60\\x91\\x13\\x61\\x91\\x13\\x60\\x91\\xe3\\x60\\x91\\xb1\\xb0\\xc8\\xb1\\xb0\\xc8\\x18\\x58\\xe4\\x18\\x58\\x64\\x34\\x2c\\x72\\x34\\x2c\\x72\\x14\\x2c\\x32\\x0a\\x96\\x38\\x12\\x96\\x38\\x02\\x96\\xf8\\x25\\x2c\\x71\\x38\\x2c\\x31\\x42\\x97\\xb7\\x38\\x93\\xb4\\x2d\\x8e\\x8f\\xac\\xe0\\x8c\\xa4\\xfc\\x16\\xa7\\x36\\xb2\\xd1\\x7f\\xc3\\x22\\xe7\\xc2\\x22\\xe7\\xc0\\x22\\x67\\xc3\\x22\\x67\\xc1\\x22\\xbf\\x82\\x45\\xce\\x84\\x45\\xce\\x80\\x45\\x4e\\x87\\x45\\x4e\\x83\\x45\\x4e\\x85\\x45\\x4e\\x81\\x45\\x4e\\x86\\x45\\x66\\xc0\\x12\\xd3\\x61\\x89\\x36\\x58\\xa2\\x15\\x96\\x68\\x81\\x25\\x9a\\xb1\\x36\\xa6\\xc2\\x22\\x4d\\xb0\\x48\\x23\\x2c\\x32\\x19\\x16\\x69\\x80\\x45\\x4e\\x82\\x45\\x66\\xea\\x35\\x72\\x9e\\xb6\\xcb\\x14\\x6d\\x91\\x69\\xd1\\x4a\\xf9\\x6f\\x58\\xe4\\x8f\\xb0\\xc8\\x8d\\xb0\\xc8\\x1f\\x60\\x91\\x1b\\x60\\x91\\xdf\\xc3\\x22\\xd7\\xc3\\x22\\xbf\\x83\\x25\\x66\\xc1\\x12\\xbf\\x85\\x25\\x7e\\x03\\x4b\\x5c\\x0b\\x4b\\x5c\\x83\\xb5\\x71\\x35\\x2c\\x72\\x15\\x2c\\x72\\x05\\x2c\\x72\\x39\\x2c\\x72\\x19\\x2c\\x72\\x29\\x2c\\x72\\x09\\x2c\\x72\\x11\\x2c\\x72\\x21\\x2c\\x72\\x01\\x2c\\x72\\x3e\\x2c\\xf2\\x6b\\x58\\xe4\\x3a\\xbd\\x3a\\x6e\\xd2\\x16\\xb9\\x58\\x5b\\xe4\\xca\\xff\\xa6\\x45\\x1e\\x84\\x25\\xfe\\x0e\\x4b\\x2c\\x84\\x25\\x1e\\x80\\x25\\xee\\x87\\x25\\xe6\\x63\\x6d\\xfc\\x0d\\x16\\xb9\\x0f\\x16\\xf9\\x2b\\x2c\\x72\\x2f\\x2c\\x32\\x17\\x16\\xb9\\x07\\x16\\xb9\\x1b\\x16\\xb9\\x0b\\x16\\xf9\\x0b\\x2c\\x72\\x07\\x2c\\x72\\x3b\\x2c\\x72\\x1b\\x2c\\x72\\x2b\\x2c\\x72\\x0b\\x2c\\x72\\x33\\x2c\\xf2\\x67\\x58\\x64\\x36\\x2c\\xf2\\x27\\x58\\x64\\x9e\\xb6\\xc8\\x02\\xbd\\x52\\xe6\\x68\\x8b\\xdc\\xa9\\x2d\\x42\\xde\\x41\\x74\\xbd\\xe6\\xf3\\xa1\\xd1\\x9e\\x4b\\xbb\\xf6\\x9e\\xc4\\x17\\x07\\x82\\xe1\\x5e\\xd3\\x3c\\xf6\\x2a\\xe5\\x9f\\x6b\\x3e\\xf8\\x82\\x6a\\x5f\\xeb\\xda\\x9a\\xce\\xda\\x97\\x9d\\xb5\\xa7\\xd0\\xaf\\xeb\\x5e\\x1f\\xf9\\x33\\x23\\xd9\\xc5\\x5d\\xfc\\x99\\xdd\\xb4\\x3f\\xe3\\x6a\\x7f\\xe6\\x80\\x6e\\xfd\\x96\\xae\\x75\\xde\\xe5\\xb8\\x38\\x89\\x3c\\x40\\xd6\\x2b\\x0a\\x48\\x89\\x67\\xf4\\xef\\x93\\x53\\xfe\\xef\\x7f\\xe5\\xb0\\x3f\\xf9\\x2a\\x43\\xc8\\x4f\\x19\\x46\\xfa\\x8c\\xd5\\xbf\\x6a\\x3a\\x93\\x5d\\xca\\xae\\x27\\x0f\\xe3\\x0e\\x36\\x8f\\xe6\\xfd\\x63\\xb6\\x96\\x7d\\xc7\\x15\\x2f\\x23\\x2f\\x63\\x00\\xdf\\x95\\xef\\xc9\\xe1\\xdb\\x70\\x5b\\x7b\\x2c\\x5c\\xce\\xa1\\xb6\\x45\\xe5\\xd2\\xf8\\xb8\\x5c\\x1f\\x97\\xea\\xe9\\xb8\\x4c\\x5d\\x18\\x7b\\x36\\x7d\\xee\\xeb\\x6b\\xf7\\x1d\\xd3\\xf7\\x8e\\xb8\\xd5\\x77\\xf5\\x16\\x75\\x5b\\x7c\\xbc\\x65\\x43\\xdc\\xda\\xf2\\xe5\\x7e\\xbb\\xf7\\x3b\\xa5\\xdf\\xe2\\xb8\\xb5\\x55\\x9f\\xad\\xae\\xdc\\x3a\\xb5\\xf5\\xc5\\xf1\\xf5\\x5b\\xaf\\x8b\\xcb\\xfe\\x77\\xc6\\xe5\\x80\\x31\\xba\\x97\\xbd\\xa3\\xb9\\x63\\xeb\\x8e\\xcf\\x0e\\xda\\x7d\\xd0\\x59\\x83\\x96\\xef\\x94\\xd9\\xe9\\x72\\x7d\\xb4\\xe7\\x4e\\x8b\\x77\\xfa\\x6e\\xe7\\x3d\\x77\\x1e\\xbb\\xf3\\xc5\\x3b\\x2f\\xdc\\x79\\xd5\\x2e\\x03\\x76\\x19\\xb6\\xcb\\x69\\xbb\\xdc\\xb1\\xcb\\xf2\\x5d\\xcb\\xf4\\x79\\xb1\\xeb\\x80\\x5d\\x87\\x46\\xbf\\x7d\\xce\\xf8\\xae\\x8d\\xda\\x86\\xdc\\x5b\\x15\\xcb\\xf5\\xd6\\xc6\\x65\\xe6\\xc6\\xb8\\xdc\\xf7\\xc4\\xb8\\xdc\\xff\\xfa\\xb8\\x5f\\xc5\\x58\\x94\\xb5\\xda\\x7f\\xe4\\x15\\x33\\x69\\x9d\\x5c\\x2b\\x48\\x8a\\xb8\\x9e\\xac\\x39\\x8c\\xee\\x97\\x1b\\xd9\\xcd\\x64\\xb5\\xb9\\x6c\\x3e\\x7b\\x90\\x3d\\x46\\xb6\\x7b\\x9e\\xbd\\xcc\\x96\\xd3\\x5d\\xb3\\x92\\x7d\\x46\\x56\\xc4\\x7d\\xc3\\xb7\\xe0\\xdb\\x92\\xbf\\xb6\\x2b\\xdf\\x83\\x0f\\xe6\\x19\\xf2\\xd9\\x2a\\xf9\\xc1\\x7c\\x38\\x1f\\xc9\\xc7\\xf0\\x13\\xf9\\x04\\xde\\xc0\\x9b\\xf9\\x0c\\x7e\\x06\\x3f\\x87\\x5f\\xc8\\x2f\\xe7\\xd7\\xf2\\xeb\\xf9\\x4d\\x7c\\x0e\\xbf\\x93\\xcf\\xe3\\x0b\\xf8\\x43\\xfc\\x09\\xbe\\x98\\xbf\\xc0\\x5f\\xe5\\x6f\\xf2\\xf7\\xf9\\xc7\\x7c\\x35\\x5f\\xc7\\xbf\\x13\\x42\\xd8\\xa2\\x97\\xe8\\x27\\xb6\\x13\\x83\\xc4\\x6e\\x62\\x4f\\xe1\\x8a\\x9c\\x38\\x40\\x54\\x8b\\xa1\\xe2\\x70\\x71\\x94\\x88\\xb4\\xae\\x35\\x5c\\xca\\x87\\xe8\\xfc\\x46\\x9d\\x0f\\xd4\\x79\\x7c\\x7c\\x51\\xa2\\x7e\\x96\\xce\\x0f\\x4f\\xf4\\x1f\\x58\\xac\\xb7\\xe7\\x12\\x12\\x86\\x24\\xf2\\x19\\x09\\x09\\xb5\\x09\\x09\\xc9\\xe3\\xc9\\x9e\\xfd\\x12\\x47\\xce\\x2a\\x45\\x41\\x5e\\xbb\\x51\\x7d\\x60\\xe9\\xf1\\x2e\\xfa\\xf4\\x4b\\x48\\x8b\\xcf\\xbe\\xbb\\x51\\xbd\\x76\\xa3\\x7c\\x63\\x1d\\x92\\x58\\x33\\x36\\xc3\\x1a\\x49\\x09\\x1b\\x8f\\x7d\\x63\\xfd\\x13\\xfd\\xdb\\x57\\x6d\\x34\\x6a\\x7d\\x7c\\xc3\\x43\\xe4\\x39\\x22\\xc7\\x55\\x51\\x4e\\xbb\\x4f\\x17\\xbf\\xf0\\x29\\xda\\x5b\\x76\\xd4\\xde\\xe1\\x20\\x7b\\x29\\xed\\x38\\xbb\\xa7\\x24\\x79\\xda\\x07\\xeb\\x7b\\xef\\x0b\\x16\\x47\\x28\\x94\\xab\\xbb\\x75\\x24\\xb7\\x2d\\x8b\\xa2\\x8c\\x38\\x72\\xe9\\x8b\\x3e\\x14\\x03\\x91\\x44\\xda\\x45\\x0c\\x93\\xbc\\x54\\x23\\xfa\\x7d\\x2c\\xb6\\x9d\\x96\\x38\\x80\\x7a\\x0c\\xa0\\xe8\\x86\\xd3\\xde\\x57\\xa6\\x77\\x1a\\x2e\\x46\\x6b\\x7d\\x38\\x61\\x47\\x57\\x7f\\x5b\\x44\\x88\\x22\\x15\\xf6\\x04\\xbb\\x81\\xf2\\xc5\\xd4\\x7b\\x0b\\x8a\\x88\\xf6\\x64\\x2e\\xc5\\x2d\\x07\\xd0\\xbe\\x32\\x94\\x1d\\x4e\\xb1\\xcb\\x58\\xe2\\x96\\x3a\\xfd\\x53\\xb2\\xa7\\xd0\\xfe\\x72\\x1e\\xed\\x7c\\x24\\x4f\\x0c\\xa6\\x7c\\x66\\x94\\xd3\\xf6\\x35\\x58\\x1f\\x19\\xdd\\x51\\x8f\\xf3\\xf6\\x67\\xc5\\xfb\\x1d\\x79\\x7c\\x56\\x8c\\xe6\\xa4\\x0b\\x3f\\x4d\\xf7\\x1f\\x1c\\xe5\\x7c\\xb6\\xce\\xef\\x14\\x0d\\x3a\\x8f\\x8e\\x37\\x44\\xb9\\x1c\\xc4\\xd7\\x76\\xe4\\xe4\\x87\\x5b\\x46\\x4f\\xa3\\xb7\\xb1\\x85\\xb1\\x55\\xfc\\x3b\\x60\\x64\\xc3\\xe2\\xaf\\x8d\\x44\\xbf\\x35\\xb2\\x94\\xfc\\xfc\\x68\\x5c\\x6b\\x8b\\xe3\\x12\\x73\\xa9\\xbd\\x4e\\x3d\\x4b\\x11\\xd9\\x80\\xe8\\x0e\\xa7\\x08\\x2b\\xc7\\x0f\\xe0\\xd5\\x7c\\x28\\x45\\x59\\x47\\xf1\\xb1\\x7c\\x1c\\xaf\\xe3\\x8d\\xbc\\x95\\x9f\\xc2\\x67\\xf2\\xf3\\xf8\\xc5\\xfc\\x4a\\x7e\\x1d\\xbf\\x81\\xcf\\xe6\\xb7\\xf1\\xbb\\xf9\\x7d\\x7c\\x21\\x7f\\x84\\x2f\\xe2\\xcf\\xf2\\xa5\\xfc\\x75\\xfe\\x36\\xff\\x80\\xaf\\xe2\\x6b\\xf8\\x37\\x7c\\x83\\x50\\x22\\x25\\xfa\\x88\\xad\\xc5\\x00\\xb1\\xb3\\xd8\\x5d\\xec\\x2d\\x7c\\xb1\\xaf\\x38\\x50\\x84\\x62\\x98\\x38\\x82\\xc6\\x78\\xbc\\xa8\\x15\\x93\\xc4\\x14\\x31\\x4d\\x9c\\x26\\xce\\x12\\xe7\\x8b\\x4b\\xc5\\xd5\\x62\\x96\\xb8\\x51\\xdc\\x2c\\xee\\x10\\x73\\xc5\\x7c\\xf1\\xa0\\x78\\x4c\\x3c\\x2d\\x9e\\x17\\x2f\\x8b\\xe5\\xe2\\x5d\\xb1\\x52\\x7c\\x26\\xd6\\x8a\\xf5\\x14\\x3c\\x99\\xb2\\x4c\\x6e\\x21\\xb7\\x95\\x03\\xe5\\xae\\x72\\x0f\\x39\\x58\\x66\\xe4\\x10\\x59\\x29\\x0f\\x96\\xc3\\xe5\\x48\\x39\\x46\\x9e\\x28\\x27\\xc8\\x06\\xd9\\x2c\\x67\\xc8\\x33\\xe4\\x39\\xf2\\x42\\x79\\xb9\\xbc\\x56\\x5e\\x2f\\x6f\\x92\\x73\\xe4\\x9d\\x72\\x9e\\x5c\\x20\\x1f\\x92\\x4f\\xc8\\xc5\\xf2\\x05\\xf9\\xaa\\x7c\\x53\\xbe\\x2f\\x3f\\x96\\xab\\xe5\\x3a\\xf9\\x9d\\x12\\xca\\x56\\xbd\\x54\\x3f\\xb5\\x9d\\x1a\\xa4\\x76\\x53\\x7b\\x2a\\x57\\xe5\\xd4\\x01\\xaa\\x5a\\x0d\\x55\\x87\\xab\\xa3\\xd4\\x58\\x35\\x4e\\xd5\\xa9\\x46\\xd5\\xaa\\x4e\\x51\\x33\\xd5\\x79\\xea\\x62\\x75\\xa5\\xba\\x4e\\xdd\\xa0\\x66\\xab\\xdb\\xd4\\xdd\\xea\\x3e\\xb5\\x90\\x66\\xe2\\xea\\x68\\xf5\\x8a\\xd1\\x66\\x1d\\xcd\\xcd\\xfc\\xa8\\xce\\xe7\\xeb\\xfa\\x48\\x5d\\x1f\\xa9\\xeb\\x8b\\x75\\x7d\\x71\\x54\\x17\\x83\\x75\\xff\\xc1\\x51\\x9d\\x2d\\xd7\\x2b\\x7f\\xb9\\xee\\x73\\xa0\\xee\\x73\\xa0\\xee\\x33\\xba\\x28\\x33\\x59\\x67\\xab\\x75\\xff\\xd5\\xa5\\x32\\xbb\\xc8\\xb7\\x75\\x7f\\x5b\\xd7\\x67\\x76\\x2f\\x87\\x2b\\xdd\\x5f\\x95\\xea\\x99\\xd4\\xad\\x4b\\x3d\\x29\\x73\\x40\\xa2\\xbe\\xa9\\x3e\\x89\\xe3\\x5d\\x74\\xfb\\x46\\x1f\\xff\\x66\\x23\\x7d\\x36\\x31\\x96\\x2e\\xd7\\x6e\\xa2\\x7f\\x17\\xfb\\x6f\\xc2\\xce\\x9b\\x63\\x9f\\x4d\\x61\\x75\\xd1\\x79\\x73\\xea\\x09\\x7d\\x36\\x55\\xff\\x4f\\xac\\x93\\x1f\\xbd\\x36\\x92\\xf6\\xdc\\xd4\\x1a\\xd8\\xd4\\xbc\\xff\\x37\\xe6\\x9a\\xc6\\xb2\\xba\\x73\\x2c\\xf3\\x8d\\xe5\\x9d\\x76\\xb8\\x53\\xd7\\x67\\x43\\xfe\\xf2\\x6e\\xb1\\x12\\xf5\\x4d\\x8c\\x71\\xf3\\x19\\xa4\\x6f\\xe7\\xef\\x39\\x46\\xbf\\xe6\\xb8\\x54\\xff\\x8a\\xe3\\x6b\\xea\\x6d\\xfd\\x9b\\x8d\\x1f\\xaa\\xaf\\xd5\\x77\\xf6\\xa2\\xe8\\xd3\\x40\\x16\\x32\\xa6\\x3f\\x7b\\x3b\\x82\\xd2\\x68\\x4a\\xc7\\x53\\xaa\\xa5\\x34\\x89\\xd2\\x14\\x4a\\xd3\\x28\\x9d\\x46\\xe9\\x2c\\x4a\\xe7\\x53\\xba\\x94\\xd2\\xd5\\x94\\x66\\x45\\xbc\\x4d\\xe5\\xcd\\x54\\x7e\\x60\\x0c\\xd1\\x2c\\x12\\x52\\x7e\\x5b\\x54\\xa7\\x3b\\xb0\\x78\\x24\\xce\\x6f\\x8c\\xf2\\xf6\\xeb\\x13\\x47\\x58\\xa2\\x4f\\xbf\\x2e\\x47\\x66\\x68\\xd6\\x5b\\xa5\\xeb\\xeb\\x75\\x7e\\x63\\xe7\\x3e\\xbe\\xf7\\xff\\xbf\\x8f\\xff\\xd7\\xf6\\x71\\xfd\\xe9\\x65\\x34\\xc3\\xb4\\x22\\x13\\xf9\\xc8\\x62\\x2e\\x9e\\xd7\\xf5\\xcb\\x75\\x7d\\x70\\x31\\xe7\\x99\\x44\\xbe\\x6d\\x31\\x8f\\xa5\\x6d\\x9c\\x93\\xc7\\xdc\\x99\\xc7\\xd2\\xba\\xc9\\x93\\xb8\\x33\\x13\\xf9\\xe8\\x62\\xbd\\xfd\\xc4\\x62\\xbe\\x49\\xdc\\xa4\\x9e\\x8b\\x13\\xf9\\xda\\x62\\x4e\\xbe\\x47\\xc9\\x11\\x1c\\x5f\\x58\\xac\\xcb\\x41\\x89\\xe3\\xa3\\x4b\\x35\\x41\\x3e\\xa0\\x98\\x6f\\x2c\\x6d\\xe3\\x6b\\xbb\\x1c\\x4f\\xd8\\x7f\\x93\\x76\\xde\\x0c\\xfb\\x74\\xd1\\x73\\x63\\xbb\\x6d\\x76\\xce\\xe3\\x4f\\xb3\\x47\\xb7\\x3f\\xdb\\x59\\x1f\\x17\\xd5\\xff\\xd3\\xeb\\xa4\\xcb\\xda\\x98\\x9d\\xc8\\x37\\x35\\xf6\\xc4\\x2c\\x6c\\x4a\\xe6\\xa6\\xe6\\x7d\\xe3\\xb9\\x8e\\xf3\\xcd\\x99\\xeb\\x2e\\x63\\x49\\xda\\x21\\xa9\\x67\\x12\\x65\\xe4\\x26\\xf2\\x64\\xff\\xe2\\x78\\x37\\x7f\\x1f\\xdf\\x4e\\x3d\\xa5\\x9e\\x55\\x2f\\x76\\xf9\\xf5\\xdd\\x77\\xbb\\xf9\\xbd\\xdd\\x2f\\xd5\\x57\\xea\\x7b\\xd5\\x1e\\xff\\xfe\\x19\\xdb\\x8e\\x6d\\xce\\x0e\\xce\\xb0\\x83\\x33\\x8a\\x79\\xa3\\x5f\\x64\\x64\\x2c\\x1a\\xe3\\x83\\x94\\x1e\\xa3\\xf4\\x34\\xa5\\x68\\xa6\\x5f\\xa6\\x14\\xcd\\x57\\xf4\\x94\\x63\\x25\\x95\\x9f\\x51\\x8a\\xc6\\xbc\\x3e\\x9a\\x48\\xed\\x6b\\x47\\x51\\xc5\\x5e\\x2c\\xae\\x0f\\xec\\x3c\\xd2\\x51\\x8f\\xf3\\xe8\\xec\\xee\\xff\\xa6\\x4f\\x69\\x7f\\xd6\\xa5\\xff\\x0f\\x1c\\x89\\x57\\x70\\x7c\\xbc\\xfd\\xdd\\xce\\x5c\\xea\\x18\\x88\\x6b\\x24\\x57\\x9f\\xdf\\x82\\x72\\xa1\\xbe\\x26\\xee\\xdb\\xc4\\x67\\xf4\\xac\\xd7\\x0f\\xf1\\x26\\x49\\x14\\x24\\x71\\x88\\x96\\xc9\\x4a\\x24\\xfe\\xbb\\x6b\\xbb\\x47\\xfc\\x37\\x3a\\xea\\x95\\xc1\\xf4\\x9a\\xe0\\x7a\\x4d\\xec\\xf4\\x9f\\xd6\\xb1\\x1b\\xc4\\x48\\xc7\\xa1\\xd0\\xf1\\x44\\x2d\\x71\\x4b\\xca\\xfb\\xff\\x88\\x95\\xd9\\xb1\\x2e\\x37\\x65\\xf5\\x54\\x77\\xb2\\xfe\\x2f\\xe0\\xf6\\xfe\\x37\\xd7\\xfd\\x1f\\xd5\\xa0\\xdb\\xb9\\xfc\\x7f\\x5f\\x83\\x4d\\xd9\\x5e\\xe8\\xcf\\x15\\x8b\\xab\\xa8\\xdf\\xbf\\x5d\\x3d\\x3f\\x7c\\x6f\\x45\\x23\\xf1\\x31\\x92\\xa1\\x9b\\x29\\x71\\x53\\xf3\\x16\\xe3\\xfc\\x37\\x75\\xdc\\xc4\\x4a\\xff\\x2f\\xe8\\xd8\\xad\\x5d\\x8b\\x3a\\x0e\\x65\\x0d\\x09\\x1d\\xb7\\xfa\\x2f\\xce\\xdf\\xbf\\x5f\\x2b\\x9b\\xb2\\x7b\\xa4\\xc1\\xb8\\xff\\x23\\x1a\\x74\\xbf\\x56\\x7e\\x08\\xf7\\xff\\xda\\xc8\\xbb\\x9d\\xcd\\xff\\x0b\\x23\\xef\\x6e\\xee\\xf1\\xa9\\xf2\\x8d\\xff\\xc3\\x3f\\x55\\x46\\x4c\\xad\\xa3\\xcb\\x3d\\x37\\xaa\\x2f\\x2a\\xd6\\x93\\x67\\x91\\x2f\\x2a\\xd6\\xdb\\xef\\xee\\xbe\\x4f\\x37\\x32\\xe3\\xfa\\xb6\\xa5\\x72\\x92\\x88\\x1b\\xeb\\x90\\xcc\\x37\\xee\\xb9\\xb1\\xfc\\x8d\\xf5\\xe9\\xa2\\xdb\\x90\\x4d\\xd4\\x37\\xca\\x7f\\xd8\\x26\\x5d\\xec\\xb0\\x91\\x35\\xba\\xc1\\x4d\\x8e\\xfd\\x87\\x47\\x9d\\xfc\\x9c\\xff\\xc6\\x84\\xe4\\x3e\\xc5\\x3c\\x21\\x73\\xf3\\x7d\\x49\\xa9\\xfe\\xa9\\xde\\x51\\x1f\\xe8\\x77\\x19\\x7a\\xe9\\xbd\\x8d\\x91\\xa7\\xd8\\x35\\x4e\\xd7\\x39\\xd6\\xef\\x0d\\xff\\xb3\\xd7\\xaf\\xfc\\x4e\\x7f\\x5e\\xb2\\x50\\x5b\\x6e\\x56\\x94\\xcb\\x41\\x3a\\x3f\\x27\\xb1\\x72\\x2f\\x2f\\x1e\\x89\\xfb\\xc7\\xc7\\x65\\x59\\x31\\x8f\\x25\\xc4\\x67\\x93\\x7d\\x78\\x5d\\xe2\\xda\\x73\\x12\\xf2\\x13\\x28\\x72\\xac\\xce\\x0f\\xd6\\x72\\xde\\x8f\\x72\\x43\\xcf\\x9e\\x5c\\x1a\\x7f\\x3e\\x54\\x9a\\xcb\\x95\\x09\\xf4\\x84\\xfe\\xb1\\xb4\\x58\\x42\\x52\\x9f\\xf8\\x48\\x2c\\xcd\\x58\\x5e\\x94\\x9f\\xac\\x27\\x35\\xef\\xc6\\x26\\x65\\x9b\\xb0\\x49\\x62\\xa4\\x71\\xff\\x64\\x8e\\xb3\\x49\\x0b\\x24\\x2c\\xf6\\xc3\\xa3\\x8e\\xe5\\x63\\x2c\\xef\\x17\\x2d\\xd6\\x45\\x7e\\x51\\xda\\xe6\\xaf\\x5f\\xa1\\x5e\\x52\\xaf\\xea\\xf7\\xca\\x52\\x2c\\x7a\\x32\\xfa\\xbf\\x71\\xcd\\xae\\xd4\\x31\\xe6\\xfd\\x3a\\x8f\\x23\\xd9\\x1b\\x75\\x4c\\xaa\\xe3\\x6e\\xbe\\x8d\\xe6\\xa9\\xd5\\xfa\\xc8\\x1d\\x3a\\xbf\\x4b\\x1f\\x99\\xa7\\xeb\\x4b\\x75\\xff\\x87\\x59\\xe7\\xe7\\x09\\x4a\\xbf\\xb3\\x26\\x1f\\xd2\\xd7\\xea\\xe7\\xdd\\xfc\\x1a\\x7d\\x24\\x8e\\x73\\xc7\\xea\\x5c\\x23\\x4a\\xbf\\x18\\xab\\x8a\\x76\\xc6\\xba\\x7e\\x16\\xa1\\x72\\x09\\xf9\\x6f\\xe8\\x3c\\xd6\\x73\\x61\\x51\\x42\\x5c\\x57\\x32\\xa1\\xf3\\x05\\xba\\xfe\\x4a\\xa9\\x3e\\xb1\\xcc\\x58\\x5a\\x2c\\x79\\xe3\\x5c\\x7e\\x57\\x9a\\x77\\xb1\\x49\\x3c\\x8a\\x73\\xb4\\xce\\x3c\\x61\\x93\\x1f\\xb4\\x86\\xd4\\x9a\\xf0\\x58\\xb7\\x7b\\x4a\\xc7\\x1e\\x47\\xfd\\x9b\\x1a\\x75\\x8c\\x02\\x1d\\x1e\\x2e\\x5e\\x85\\xcf\\x43\\xae\\x2e\\xf6\\xd4\\xf9\\x8f\\x59\\xb3\\x2f\\xa8\\x15\\x5d\\xd7\\x2c\\xc5\\xc1\\xf1\\xfb\\x03\\x71\\xa4\\x76\\x40\\xc2\\x3f\\xd9\\xba\\xf3\\x8a\\x7f\\xef\\xf3\\x70\\xb6\\xb5\\x21\\x0c\\x69\\x18\\x86\\x69\\x38\\x46\\x99\\xd1\\xc7\\xd8\\xd6\\x5e\\xac\\x9f\\x85\\x45\\xbf\\xb1\\x1f\\xfd\\xc2\\xfe\\xbb\\xf6\\x0a\\xfb\\x43\\xfb\\x53\\x7b\\x75\\xf4\\x3b\\xe9\\x84\\x26\\x29\\x26\\xde\\x95\\xed\\x11\\x5d\\xd9\\x0d\\x1e\\xd7\\x9f\\xb8\\x72\\xb5\\xf2\\x3f\\x20\\xf9\\xab\\xff\\xb0\\xe4\\x55\\xff\\x31\\xc9\\x9f\\xfe\\xc7\\x24\\x7f\\xfe\\x1f\\x93\\xbc\\xfa\\xbf\\x20\\x39\\x5a\\x89\\x3b\\x6f\\x62\\x25\\xc6\\x72\\x7f\\xbc\\xc4\\x58\\xd3\\x0e\\x89\\xdb\\x50\\x6e\\x6a\\x2f\\x3a\\xf6\\xa0\\xbf\\xea\\x32\\x7f\\x9b\\xdb\\x7f\\x19\\x66\\xe5\\xc7\\xc9\\xdf\\xfc\\xfe\\xb1\\xfc\\xcf\\x36\\xbb\\xff\\x0b\\x3f\\xb2\\xff\\xb3\\x98\\xfb\\xcd\\xed\\xbf\\x12\\x33\\xba\\xb9\\xfd\\x57\\xfd\\xc8\\xfe\\xcf\\xfe\\xc8\\xfe\\x2f\\xfc\\xc8\\xfe\\xcb\\x7e\\x64\\xff\\xe5\\x3f\\xb2\\xff\\x57\\x89\\xfe\\x3b\\xd3\\xce\\x2a\\x68\\xe5\\x0e\\xc0\\x15\\xdb\\x26\\x24\\xbe\\xc1\\x3a\\xde\\xaa\\xe0\\xc6\\x16\\x9b\\xd9\\x7b\\x2d\\x7a\\xf3\\x5e\\x0b\\xf4\\x9b\\x5a\\xb5\\xec\\x05\\xa2\\xb8\\x14\\xf9\\x0a\\x95\\xe4\\x1f\\x34\\xf3\\xf3\\xf9\\x0b\\xa2\\x0f\\x71\\x7b\\xf4\\x6c\\x68\\x9e\\xfe\\xff\\xa0\\x58\\x29\\xd6\\xc8\\x9c\\x9c\\x20\\xcf\\x97\\x37\\xc9\\xf9\\x72\\x9d\\xbc\\x49\\x95\\xe9\\x27\\x36\\x73\\x8d\\x41\\xc6\\xde\\x46\\xce\\x18\\x67\\x34\\x18\\x8f\\x18\\x8b\\xcc\\x5e\\xe6\\x10\\x73\\x38\\xd5\\x1e\\x31\\x67\\x44\\x39\\x95\\x37\\x9b\\x0b\\xe9\\xff\\x23\\x56\\x99\\x35\\xdc\\x3a\\xdf\\x5a\\x6f\\xf7\\xb3\\x07\\xda\\xc3\\xec\\x46\\x7b\\x8e\\xfd\\xa0\\xfd\\xaa\\x93\\x72\\xea\\x9c\\x9b\\x52\\xdb\\xa6\\xe6\\xa6\\x5e\\x4d\\xad\\x4b\\x7d\\xd7\\x43\\xf4\\x28\\xeb\\x11\\xf6\\x98\\xd2\\xe3\\x86\\x1e\\xf3\\x7a\\xbc\\x5b\\xb6\\x6d\\xd9\\xbe\\x65\\xd5\\x65\\xc7\\x97\\x9d\\x56\\x76\\x53\\xd9\\xf3\\x65\\x6f\\xf6\\x2c\\xeb\\xb9\\x47\\xcf\\xc3\\x7b\\x9e\\xd7\\x73\\x51\\xcf\\x37\\x7b\\xf5\\xe9\\xb5\\x75\\xaf\\x41\\xbd\\x0e\\xe8\\x55\\xdb\\xab\\xb9\\xd7\\xe5\\xbd\\xae\\xed\\x35\\xbb\\xd7\\x6c\\xf2\\x91\\x76\\x6d\\xbf\\x8c\\x65\\xdb\\x97\\xb1\\x3c\\xa5\\x7d\\x29\\x0d\\x69\\x9f\\x27\\xf7\\x6b\\xbf\\x4c\\x56\\x53\\x3a\\x88\\xd2\\x70\\x4a\\x47\\xb5\\x2f\\x93\\x47\\xd3\\xf1\\xe3\\xda\\xe7\\x45\\xf3\\x40\\x57\\x38\\x4c\\xea\\xeb\\xea\\x58\\x7e\\xc3\\x37\\x74\\xdd\\x0e\\x74\\x5d\\x35\\x3b\\x86\\xda\\x63\\x28\\x8d\\x6d\\xaf\\xb3\\xde\\xa7\\x92\\xee\\x7e\\xba\\xa2\\x37\\x9d\\xe9\\x4b\\x69\\x57\\x3a\\x62\\xe1\\xba\\x6a\\xc2\\xab\\xa6\\xeb\\xaa\\xf5\\x75\\x63\\xdb\\x2f\\xa3\\xfe\\xd5\\xba\\xff\\x65\\x5d\\xfa\\x1b\\xd4\\x77\\x3e\\xf5\\x9d\\x4f\\x7d\\xe7\\x53\\xdf\\xf9\\xd4\\x77\\x3e\\xa3\\x79\\x23\\x4d\\x7b\\xd3\\xf9\\x3e\\xba\\x6f\\x1d\\xdb\\x81\\xd2\\x40\\x4a\\xd1\\x35\\x2e\\x9d\\xab\\xa6\\xe3\\x21\\xa5\\x83\\x29\\x0d\\xa3\\xf6\\x11\\x54\\x8e\\xa2\\x73\\x47\\x51\\x39\\x9a\\x12\\xb4\\x64\\xbd\\x63\\x49\\x34\\x86\\x3e\\xd4\\xea\\x4b\\xe5\\x0e\\x74\\x76\\x60\\x84\\x4e\\x75\\xb7\\xfd\\x15\\x2d\\x29\\x96\\x32\\xaf\\x53\\xca\\x68\\xad\\x73\\x35\\xc5\\x4e\\xb1\\x1e\\xd5\\x74\\xf5\\x3c\\xad\\xf3\\x0e\\xa4\\xff\\x40\\x4a\\xbb\\x92\\x45\\xc8\\x82\\x74\\xe5\\x65\\xc0\\xbf\\x8c\\xae\\x5c\\x46\\x57\\x2e\\xa3\\x2b\\xe7\\x69\\xdc\\x79\\xb8\\xb2\\x1a\\x57\\x02\\x97\\x52\\x35\\x5d\\x7d\\x30\\xa5\\x18\\x73\\x07\\x76\\x24\\x1d\\x1b\\x49\\xe5\\x68\\x6d\\xe3\\x1d\\x18\\xb7\\xde\\x67\\x53\\xf5\\x1c\\x74\\x45\\x0f\\xa9\\x7d\\xb0\\x46\\x5b\\x46\\xfd\\x97\\x51\\xaf\\x9f\\xd0\\xca\\xee\\x4d\\xd8\\x7d\\x29\\xa5\\x22\\xeb\\xca\\x43\\xdb\\x2f\\x90\\x47\\x50\\x3a\\xaa\\x3d\\x2f\\x8f\\xde\\xb0\\x5e\\x8e\\x6e\\x9f\\x24\\x8f\\xa3\\xb2\\xd0\\x7e\\xa6\\x6c\\x6a\\xaf\\x93\\x27\\xb7\\xdf\\xcd\\x04\\xcd\\xf6\\x33\\x34\\xdb\\xcf\\xb0\\xbe\\xb2\\x8a\\x4d\\x96\\xd5\\x1b\\x3e\\xa3\\xb5\\xb0\\x85\\x1c\\x4e\\xe5\\xf1\\xed\\x3b\\xca\\x13\\xdb\\xe7\\xc8\\x1a\\x5a\\x0f\\xe3\\xa9\\x3e\\x81\\x52\\x3d\\xb5\\x4f\\xa2\\xd4\\x40\\xa9\\x91\\xe4\\x4e\\xa5\\x63\\x6d\\x94\\x66\\x50\\x3a\\xa3\\x7d\\x47\\xd6\\x63\\x73\\x91\\xf5\\xaa\\xb1\\x61\\x1b\\x9b\\xb4\\xb6\\x09\\xff\\x22\\xc2\\x5f\\x43\\xf8\\x65\\x84\\xbf\\x86\\x70\\x16\\x30\\x13\\xf2\\x9e\\x21\\x79\\xcf\\x91\\xbc\\xa9\\xa4\\x6f\\x96\\xf4\\xcd\\x32\\x83\\xd6\\xed\\x24\\xea\\xbb\\x80\\xd6\\xed\\xa4\\xce\\x51\\xf4\\xa6\\xbe\\x73\\xa8\\xef\\x1c\\xc2\\x1c\\x4b\\x23\\x78\\x8d\\x34\\x7f\\x8d\\x34\\x7f\\x4d\\xd6\\x51\\x9a\\x44\\x69\\x0a\\xa5\\xa9\\x94\\xda\\x28\\xcd\\xa0\\x74\\x2a\\xa5\\x33\\x28\\xcd\\x6c\\x7f\\x8d\\x64\\x96\\x6a\\x4e\\x5a\\xc7\\x3a\\x90\\x96\\x21\\x69\\x19\\x92\\x86\\x2f\\x12\\xea\\x3e\\xa4\\xe1\\x8b\\xe4\\x19\\x4e\\x6b\\xbf\\x21\\xfa\\xd4\\xa9\\x73\\x8d\\x86\\xc9\\x35\\x4a\\x23\\x9a\\x4e\\x5a\\xe6\\xa9\\xff\\x64\\x92\\xbc\\x8c\\x34\\xcd\\x93\\xf4\\x65\\xa4\\xdb\\x32\\x79\\x2c\\xa5\\xe3\\x49\\xde\\x09\\x94\\xc6\\x53\\x2a\\x50\\xff\\x09\\xa4\\xf3\\x44\\xaa\\xd7\\xb7\\x5f\\x4b\\xa3\\x5f\\x46\\x16\\xbe\\x56\\xdb\\x6b\\x2a\\x1d\\x6b\\xa3\\x34\\xbd\\xfd\\x2a\\xd2\\x39\\x24\\xfb\\xd5\\xc9\\x53\\xe8\\xdc\\xe9\\x94\\xce\\xa0\\xf6\\x99\\xed\\xd7\\xb2\\xed\\xb5\\x86\\xb1\\x06\\x21\\x69\\x10\\x92\\x06\\x61\\x97\\x39\\x3d\\xb4\\xfd\\x3e\\x3d\\xaf\\x47\\x50\\x39\\x9a\\x2c\\x74\\x2c\\xd9\\xac\\x74\\x8e\\x0b\\x64\\xcb\\xe2\\x3c\\xcf\\xdb\\xe4\\x3c\\x4b\\x1a\\xd7\\x70\\xb2\\xfa\\x0a\\xb2\\x3a\\xf9\\xba\\xda\\x8a\\x91\\x05\\x53\\x24\\xf1\\x02\\x92\\x74\\x01\\x49\\xb9\\x40\\xdb\\x7b\\x2a\\x95\\x6d\\x94\\x66\\x50\\x3a\\x95\\xd2\\x19\\x94\\x66\\xb6\\x5f\\xa0\\x57\\x5e\\x7c\\xf5\\x56\\x3f\\x5a\\xcb\\xcd\\x59\\x89\\x9c\\xac\\xf4\\x21\\xad\\xea\\xe3\\x69\\x85\\x9c\\xd8\\xfe\\x38\\x5d\\xb7\\x80\\x46\\x17\\xe9\\xb5\\x80\\xae\\x7d\\x9c\\x74\\x5b\\x40\\xd7\\x3f\\x47\\xd7\\x3f\\x47\\x36\\xbe\\x80\\xae\\x5f\\x40\\xd7\\x2f\\xa0\\x19\\x6d\\x23\\x19\\x0b\\x48\\xd7\\x05\\x24\\x67\\x01\\xe9\\xba\\x80\\xf5\\x20\\x29\\x91\\x84\\xc7\\xe9\\xea\\xe8\\xca\\xf7\\xa8\\xf7\\xe3\\xb2\\x95\\x52\\x1b\\xa5\\x19\\x94\\x4e\\xa5\\x74\\x06\\xa5\\x99\\xed\\x8f\\x33\\x25\\xc7\\x51\\x8f\\xe9\\x94\\x4e\\xa7\\x74\\x66\\xfb\\x7b\\xda\\x2a\\x73\\x48\\x8b\\x17\\x49\\xc6\\x1c\\x92\\x31\\x47\\xaf\\xc6\\x7a\\x6a\\x4f\\xa5\\x7a\\x1b\\xa5\\x19\\x94\\xce\\x68\\x9f\\x53\\x82\\x34\\xa5\\xfd\\xd1\\x1f\\x44\\x32\\x68\\x3f\\x5b\\x41\\x7b\\xd9\\x0a\\x36\\xb9\\xfd\\x4c\\x76\\x7a\\xfb\\x12\\xeb\\xad\\xf6\\x25\\xd1\\x9e\\xd1\\x3e\\x8b\\x6d\\x21\\x17\\xb5\\x2f\\x91\\xcf\\xb5\\xcf\\x92\\xcf\\x53\\xf9\\x02\\x95\\x2f\\xb6\\x0f\\x93\\x4b\\x29\\xbd\\x44\\x77\\xe1\\xab\\x1b\\x9e\\x92\\x6f\\xd2\\xf1\\x77\\x68\\x0e\\xde\\x6d\\xbf\\x4e\\x7e\\x40\\xf5\\xcf\\xa9\\x5c\\x43\\xe5\\x97\\xd4\\x77\\x2d\\xa5\\xaf\\xda\\xe7\\x92\\xa4\\x61\\xac\\x8f\\x7c\\x98\\x7a\\x3d\\xde\\x3e\\x57\\x3e\\x49\\x67\\x17\\x6b\\xa9\\x6b\\x48\\xe2\\x1a\\x92\\xb8\\x82\\x24\\xce\\x27\\x89\\xef\\xc8\\x97\\xe9\\xf8\\xab\\x74\\xd5\\x32\\xea\\xf7\\x76\\xfb\\x42\\xb9\\x82\\xda\\xab\\xe8\\xfc\\x5a\\xd2\\xa8\\x17\\x49\\x38\\x33\\x21\\x61\\x2e\\xae\\x1c\\x93\\xb8\\xea\\x2a\\xba\\x6a\\x96\\xbe\\x6a\\x2d\\x9d\\x5b\\x47\\xe9\\x1b\\xba\\x72\\x00\\xad\\xea\\xfe\\xb4\\xa2\\xfb\\x77\\x8c\\x90\\x24\\xed\\x44\\x92\\x86\\xc9\\x45\\xcc\\x93\\x8b\\x37\\x3c\\x23\\x97\\x50\\xcf\\xe7\\xf4\\x08\\x57\\x90\\x84\\x09\\x34\\xa2\\x61\\xf2\\x3d\\x42\\x58\\x41\\xf5\\x0f\\xda\\x6b\\xe5\\x47\\x54\\x5f\\xd5\\xde\\x5f\\x7e\\x4a\\xe5\\x67\\x94\\x3e\\xa7\\xf3\\x5f\\x90\\x36\\x6b\\xa9\\xfe\\x1d\\x95\\xdf\\x53\\x6a\\x6f\\x9f\\xa5\\x58\\xfb\\x04\\x6d\\x3d\\x53\\x4b\\x5e\\xca\\xfa\\xd3\\xa8\\x56\\xc8\\x37\\xa9\\xfe\\x01\\xd5\\x57\\x32\\x8f\\x56\\xec\\x22\\xaa\\x2d\\xa6\\x15\\xdb\\x03\\xb6\\x8d\\x50\\x97\\xd0\\x58\\xde\\xa0\\xb1\\xbc\\x47\\x63\\x58\\x45\\xe8\\x4b\\xc8\\x9e\\xb3\\x08\\xf9\\x3a\\x42\\x9a\\x40\\x28\\xb5\\xcc\\x26\\x7d\\xcf\\xa6\\x91\\xaf\\xa0\\x6b\\x6f\\xa6\\x9e\\xd1\\x88\\x23\\x1b\\xcd\\xed\\xb0\\x11\\xd9\\xa7\\x43\\xd6\\xd2\\xf6\\x57\\x08\\xb7\\x8e\\x7a\\x44\\xd8\\xfd\\xf5\\xfc\\x7c\\x40\\x3d\\x57\\x52\\xf9\\x39\\xc9\\x8d\\xe7\\x27\\xb2\\xd1\\x12\\xb9\\x81\\xae\\x34\\xb4\\x96\\xef\\xea\\x5e\\x6b\\xa8\\x87\\x3e\\x43\\x63\\x78\\x49\\x1f\\x89\\xae\\x59\\xa1\\xed\\xf9\\x0d\\xc9\\xd8\\xc0\\xfa\\xb3\\x32\\xb2\\xdf\\x2c\\xd2\\x67\\x16\\x66\\x62\\x96\\x7c\\x81\\x50\\x96\\xb6\\x5f\\x22\\x5f\\xa2\\xf2\\xe5\\xf6\\x13\\x09\\x79\\x09\\x66\\x62\\x85\\xfc\\x90\\xae\\xd8\\x86\\x66\\x80\\xd1\\x0c\\x30\\x46\\x2c\\x45\\xb1\\xc8\\x30\\x76\\x3a\\xd9\\xe4\\x61\\xda\\x1b\\x1f\\x6f\\xff\\x09\\x49\\x99\\x1f\\x5b\\x65\\xc3\\x12\\x9a\\x89\\xd7\\x68\\x1c\\x6b\\xb5\\xc4\\x17\\xb5\\xd4\\x25\\xa4\\xc7\\x1b\\x24\\xb5\\x63\\x6e\\xe7\\x42\\x27\\xd2\\x9d\\x79\\x64\\xf1\\x67\\xf4\\xca\\x88\\xf5\\x59\\xac\\x47\\xbf\\x82\\x7a\\x3f\\xa3\\x75\\x58\\x16\\x8d\\x8b\\xa4\\x44\\xd6\\x5f\\x43\\xe9\\xcb\\x78\\x2d\\xd1\\x48\\x56\\xe8\\x91\\xec\\x40\\x7a\\x79\\xa4\\x97\\x47\\x2b\\x63\\x16\\xad\\x8c\\x67\\x20\\xe9\\x4c\\x3d\\xaa\\x78\\x55\\xac\\x20\\xfc\\x17\\xb5\\xa5\\xa3\\x79\\x79\\x4f\\xcf\\xcb\\x5c\\x5a\\x11\\x4b\\xe4\\x27\\xda\\xf2\\xb3\\x68\\x55\\x44\\xeb\\x7e\\xb6\\x5c\\x4d\\xc7\\xbf\\xa0\\xb4\\x86\\x52\\xb4\\xf6\\xd7\\x51\\x5a\\xaf\\x57\\xc8\\xac\\xc4\\x0a\\x99\\xcb\\x76\\xa3\\x3b\\x6e\\x2e\\xdd\\x71\\x73\\x69\\x87\\x9d\\x4b\\x3b\\xec\\x5c\\x42\\x27\\x8b\\x50\\x8f\\x87\\x37\\x9c\\x4c\\xe8\\xe5\\xb4\\x32\\x68\\x9e\\x89\\xbd\\xa2\\x3b\\x2f\\x9a\\xc9\\x37\\xf5\\xba\\x1c\\x46\\x73\\x34\\x97\\x34\\x18\\x2d\\xdf\\xa7\\xb4\\xa2\\x7d\\x3f\\xd2\\x64\\x17\\xf9\\x21\\x5d\\xb7\\x92\\xda\\x1f\\x51\\xfa\\x98\\xce\\x7f\\x42\\x65\\xbc\\x56\\x47\\xd3\\x5a\\x1d\\x4d\\x9a\\xed\\x42\\x9a\\x8d\\x26\\xcd\\x46\\x93\\x66\\xbb\\x90\\x56\\xa3\\xe5\\xd7\\x94\\xbe\\xa5\\xb4\\x9e\\x52\\x7b\\xfb\\x68\\xd2\\x6a\\x3f\\xbd\\x6e\\x1d\\xdc\\x63\\xc3\\x68\\xfc\\x13\\xe4\\x73\\xd1\\x1c\\x68\\x8b\\xd6\\x92\\x35\\xcf\\xd4\\xf6\\xa7\\xf1\\x32\\x0b\\x2b\\xf7\\x3a\\x5a\\x6d\\x73\\x49\\xbf\\xa9\\x5a\\xbf\\xcf\\xdb\\x1f\\x8e\\xee\\x07\\xda\\x33\\xc9\\x66\\x94\\xaf\\x25\\xfb\\x0a\\xba\\xe6\\x5c\\xba\\xff\\xcf\\xd4\\x73\\x34\\x87\\x24\\x4f\\xa2\\xd9\\x3e\\x93\\xae\\x9f\\x4b\\x08\\x77\\x92\\x85\\xef\\x4c\\xdc\\x01\\x13\\x68\\xde\\x26\\x13\\xd2\\xf6\\x18\\xef\\x55\\xfa\\xca\\x14\\x5d\\x35\\x52\\xaf\\xb4\\xf8\\xce\\x39\\x53\\xeb\\xf5\\x12\\x1d\\x7f\\x99\\x34\\x78\\x9b\\x24\\x76\\xdc\\x01\\x3d\\x08\\x63\\x2e\\xf5\\x9e\\x40\\xbd\\xa7\\xea\\x19\\xec\\x18\\xc1\\xcb\\xc4\\x62\\xaf\\xe2\\x5e\\xa1\\xf5\\xa8\\x7b\\x1b\\x72\\x15\\xed\\x6f\\xab\\x09\\xe9\\x4b\\x9a\\xf7\\xb5\\x24\\xeb\\x9b\\xf6\\x3b\\x49\\x46\\xd4\\x27\\x5a\\x61\\x1f\\x6a\\xa9\\x4b\\xc8\\x8e\\xaf\\xe0\\x0e\\x98\\x4b\\xb6\\x9b\\xab\\xef\\x82\\x7f\\xb5\\x2f\\x21\\x9b\\x2d\\x61\\x3d\\xf5\\x5d\\xa3\\xa5\\xd2\\x6e\\x1a\\xed\\x54\\x9f\\xd2\\x5a\\xfd\\x9c\\xee\\xa2\\x78\\xb5\\x45\\x77\\xd2\\x02\\xda\\x03\\xd7\\x26\\xae\\x5a\\x41\\x1e\\x0b\\xf6\\x23\\xba\\x72\\x96\\xc6\\x5a\\x45\\xe8\\x9f\\xc6\\xab\\x5a\\xcb\\x15\\xb4\\x57\\xf4\\x8f\\xd6\\x37\\xdd\\x85\\xd1\\x3d\\x14\\x49\\x8b\\xd6\\xed\\x57\\x54\\xae\\x23\\x7d\\xa2\\x5d\\xcd\\xc2\\x1d\\xbb\\x42\\xf7\\x8d\\xee\\x87\\x35\\xc4\\xf6\\x74\\x86\\x70\\x56\\xd0\\x4c\\xae\\xa0\\xd6\\x87\\x94\\xa2\\xb3\\x9f\\xd2\\xce\\xf2\\x39\\x69\\xb1\\xb6\\xfd\\x25\\xd2\\x66\\x0d\\xf5\\x7a\\x85\\x7a\\xbd\\x41\\x9e\\xd6\\x64\\x1a\\xfb\\x3b\\xb4\\xf3\\xbe\\xab\\x47\\xbd\\x04\\x7b\\xc4\\x0a\\xbd\\x47\\xac\\xa5\\xab\\xbe\\xd2\\x77\\xcb\\xdd\\x7a\\x9f\\x90\\xd4\\x73\\x8d\\x3e\\x1b\\xdd\\x3b\\x3d\\x68\\x25\\x2e\\x21\\x94\\xc7\\x61\\xa9\\x68\\xec\\xaf\\xe1\\x0e\\x8b\\x2c\\x15\\x5d\\xf7\\x4c\\xd4\\x93\\x46\\xf4\\x1a\\x69\\xbb\\x02\\x9a\\xc6\\x36\\x7d\\x07\\x3d\\xe3\\x1d\\xda\\x91\\xef\\xd0\\x99\\x8e\\x3b\\x95\\xf6\\x49\\x7d\\xe6\\xab\\xce\\x3d\\xfc\\x15\\x8d\\xd8\\x93\\xec\\x36\\x81\\xec\\x36\\x41\\xf7\\xc6\\xde\\xd2\\x29\\x33\\xd2\\xeb\\x0b\\xdc\\xe7\\x6b\\xb5\\x8e\\x9e\\xb6\\x76\\x9f\\xce\\x7b\\x7c\\x07\\x6a\\x0d\\xa4\\x14\\xed\\x3d\\xef\\x60\\xc7\\x5b\\x41\\xeb\\xe9\\x03\\x5a\\xb9\\x1f\\xea\\x59\\x58\\xd2\\x31\\x0b\\x34\\xfe\\x87\\xa3\\xb1\\xeb\\xd9\\x30\\xb0\\xc2\\x96\\x60\\xef\\x78\\x4a\\xcb\\x2d\\x83\\x8c\\xb9\\x09\\xbb\\x45\\xf7\\xfe\\xe3\\x98\\xf7\\xb9\\x11\\xf7\\x51\\xef\\x59\\x64\\xe9\\xb9\\xda\\x7e\\xd1\\xe7\\x8a\\xd1\\x3d\\xf1\\xa5\\x3e\\x5e\\xab\\x6d\\x72\\x2d\\x21\\x5f\\x42\\xb2\\x97\\x11\\xf2\\x67\\x7a\\xa5\\xac\\x6b\\xbf\\x5b\\xcb\\x8f\\x66\\xf0\\xa2\\xc4\\x2a\\x24\\xf9\\xd8\\xc1\\xd0\\x2b\\x5a\\x53\\x14\\x91\\x76\\x8c\\xee\\x74\\x92\\x6d\\x51\\x2b\\x4d\\xad\\x34\\x8d\\x75\\x09\\x8d\\x75\\x09\\x76\\x96\\xb9\\xe0\\xf4\\xf7\\xc8\\xa7\\x94\\xe4\\x69\\x46\\x91\\xcd\\x3c\\xed\\x3d\\x1b\\xf2\\xde\\x76\\x4f\\x2e\\xa4\\xf4\\x22\\xa5\\x57\\x37\\x9c\\x49\\x7b\\xa6\\x47\\x51\\x5b\\x2d\\xf5\\xeb\\x47\\x91\\xf4\\xcf\\xd8\\x3e\\xb4\\x0a\\xd3\\x2c\\xcb\\xf2\\x6c\\x5f\\x36\\x84\\x1d\\xc2\\x46\\xb1\\x63\\xd8\\x18\\x36\\x56\\xee\\x27\\x0f\\x94\\x15\\xb2\\x5a\\x86\\xf2\\x20\\x79\\xa8\\x3c\\x4c\\x0e\\x97\\x47\\xc8\\x91\\x72\\x94\\x3c\\x4a\\x1e\\x2d\\x47\\xcb\\x63\\xe4\\x18\\x79\\xac\\x3c\\x8e\\x22\\xda\\x3a\\xd9\\x20\\x27\\xcb\\x29\\x72\\xaa\\x9c\\x21\\x4f\\x96\\xa7\\xca\\x33\\xe4\\x4c\\xfd\\xc6\\xe2\\x03\\xf2\\x61\\xf9\\x88\\x7c\\x54\\x3e\\x26\\x1f\\x97\\x4f\\xc8\\x27\\xe5\\x22\\xf9\\x8c\\x5c\\x2c\\x69\\x5f\\x91\\xff\\x94\\x2f\\xc8\\x17\\xe5\\x52\\xf9\\x92\\x7c\\x59\\xbe\\x22\\x5f\\x97\\xcb\\xe4\\x1b\\xf2\\x4d\\xf9\\x96\\xa4\\x55\\x2a\\xdf\\x93\\xef\\x4b\\x5a\\xf5\\xf2\\x43\\xb9\\x52\\x7e\\x22\\x3f\\x95\\x9f\\xcb\\x2f\\xe4\\x1a\\xf9\\xa5\\x5c\\x2b\\xbf\\xa2\\xa8\\xf9\\x6b\\xf9\\xbd\\xdc\\x20\\xdb\\x55\\x6f\\x55\\x61\\xbd\\x67\\xbd\\x6f\\xad\\xb0\\x3e\\xa2\\xb1\\xa4\\xc8\\xc7\\xe9\\x4f\\x39\\x22\\xf9\\xff\\x1d\\x9f\\xf8\\xab\\x13\\x13\\x4f\\x64\\x5e\\x4e\\x3c\\x3f\\x5a\\x5a\\x3c\\x12\\xbf\\x65\\x1c\\x3f\\x73\\x51\\xbb\\x6e\\xd4\\x33\\xce\\x53\\x1b\\x3d\\xa5\\x9a\\x9d\\xe8\\xb9\\x34\\x71\\xf6\\x94\\x44\\xfe\\xdd\\x46\\xcf\\xb0\\xf4\\x53\\x1b\\xe3\\xe2\\xc4\\xd9\\x03\\x12\\xf9\\x39\\xa5\\x57\\xc5\\xfa\\x27\\x75\\x46\\x3d\\xf1\\x0c\\x2b\\x96\\x19\\xd7\\xcd\\xcb\\x8b\\xf2\\x93\\xf5\\x58\\x4e\\x32\\xdf\\x1c\\x9b\\x6c\\xd2\\x1a\\x09\\xf4\\x2e\\x16\\x48\\x8e\\xfd\\x07\\x47\\x0d\\x9b\\x6f\\x3c\\xf6\\xe4\\x73\\xae\\x22\\xe2\\x8f\\xf9\\xc4\\x3f\\x7e\\xbf\\x24\\xf1\\x89\\x3f\\xde\\x65\\xbe\\xb1\\x73\\xcd\\x2e\\xfe\\x9f\\xbd\\x66\\xe3\\xe7\\x1d\\x5d\\xde\\xfc\\x8c\\x9f\\x1c\\xe9\\xf7\\x3c\\xd9\\xa2\\x62\\xde\\xe5\\xdd\\xce\\xf8\\x78\\xf2\\xbd\\xdf\\xf8\\xcd\\xd2\\x99\\xc5\\x1c\\x32\\xf7\\x4c\\x5c\\x3b\\x38\\x71\\x24\\x7e\\xb7\\x76\\x76\\x11\\x31\\x7e\\xab\\xb3\\x9b\\xf7\\x57\\x37\\xf1\\xe6\\x6d\\xf2\\x6d\\xdb\\xa4\\xce\\xdd\\xe8\\xb3\\x19\\x6f\\xc9\\xc6\\x4f\\xa0\\xe2\\x7c\\x93\\x36\\x19\\xdd\\xbd\\x4d\\x7e\\xd8\\x1a\\xc9\\xb7\\x58\\x71\\x7c\\xc0\\x46\\xa3\\x5e\\xd8\\xbd\\x85\\x93\\x6f\\xa2\\xe2\\x2a\\x55\\xcc\\x13\\x6f\\xd8\\x6e\\xfe\\x9a\\xfd\\xaf\\xbc\\x13\\xd3\\x9f\\x10\\x26\\x50\\x6a\\xa0\\xd4\\xcc\\xa2\\xbf\\x31\\xc2\\xd8\\x19\\x94\\x22\\x6b\\x5d\\x48\\x29\\xd2\\xef\\x5a\\x4a\\xd7\\x53\\xba\\x89\\xd2\\x1c\\x4a\\x77\\x52\\x8a\\x9e\\xde\\x2d\\xa0\\xf4\\x10\\xa5\\x27\\x28\\x45\\x63\\x7d\\x81\\xd2\\xab\\x94\\xde\\xa4\\x14\\xbd\\xad\\xfd\\x31\\xa5\\xe8\\x89\\xdf\\xba\\xe8\\x7d\\x07\\xfd\\x3e\\xe7\\x66\\xe4\\x1b\\xee\\xd8\\xc4\\xf1\\xa5\\x3a\\x5f\\x59\\xac\\xb7\\xeb\\x6f\\xd5\\x76\\xe6\\x25\\x47\\x92\\x7d\\x18\\xd3\\x47\\xbe\\xd3\\xd7\\x26\\x72\\xdc\\xc7\\xf7\\xfd\\x4f\\xbf\\x8f\\xf5\\xfe\\x18\\x7f\\x1f\\x27\\xfe\\x16\\xcc\\xe2\\xe2\\xde\\x17\\x7f\\xef\\x26\\xfe\\xc6\\x4d\\xc7\\x77\\x58\\xf4\\xf1\\xd5\\xc5\\x9e\\xe8\\xbf\\xb0\\xb4\\x0f\\xbe\\x63\\x35\\xb2\\x28\\x0d\\x79\\xfc\\x1d\\x96\\x01\\x1b\\x1d\\x19\\x9c\\x90\\xf6\\x4d\\x42\\xce\\xec\\xd2\\x1c\\xc7\\xe3\\x9e\\x57\\x97\\xea\\xbc\\xb1\\x3e\\x38\\x32\\x3a\\x21\\x79\\xe3\\xfc\\xea\\xd2\\x7c\\xf3\\x6d\\xf2\\xc3\\xd6\\xe8\\x62\\x81\\xe4\\xd8\\x7f\\x70\\xd4\\x5d\\xbe\\xb7\\xbb\\xa8\\x68\\xcf\\xe4\\x1b\\x12\\x09\\xc4\\xcd\\xbf\\x8f\\x7f\\xf8\\x4d\\xc5\\xe8\\x9d\\x9f\\x7d\\x29\\x1d\\xc8\\x7e\\xec\\xf7\\x7e\\x22\\x3d\\xa2\\xa7\\xd6\\xf3\\xa2\\x37\\x2d\\xc8\\x3a\\xbb\\xeb\\x11\\xee\\xae\\xb5\\x0f\\xf5\\x5b\\x24\\x43\\xf4\\xdb\\x22\\xf1\\xd9\\x28\\x5f\\xab\\xdf\\xcc\\x58\\x8e\\x11\\x86\\x9d\\xf9\\x72\\xd8\\x74\\xc6\\xff\\x5e\\x2e\\x14\\x73\\x12\\xbc\\x92\\xd8\\x79\\xbb\\xf9\\x7e\\x45\\x75\\x62\\xf7\\xaf\\x2b\\xe5\\x1e\\x76\\x71\\x29\\x13\\xe0\\xdb\\x14\\x89\\xef\\xa5\\xe8\\x37\\xf4\\x3b\\xea\\x17\\x6f\\xc4\\x0a\\x33\\x37\\x62\\x8e\\x4d\\x70\\x61\\x17\\x9d\\x37\\xd6\\x67\\x23\\xa6\\xe9\\x86\\x71\\x13\\xdf\\xd6\\xe8\\xf2\\xfd\\x90\\xcd\\xb0\\x09\\xea\\x73\\x36\\x42\\x1f\\xbd\\x91\\x05\\x16\\x96\\x8e\\x65\\x53\\xa3\\x06\\x4a\\xf2\\x5b\\x19\\x6b\\x8b\\x92\\x21\\xbf\\xf8\\xad\\x8f\\xff\\x4f\\x70\\x21\\xdd\\x0f\\xfd\\x3a\\x3d\\x8b\\x79\\x6c\\x97\\xce\\x23\\x1d\\xc7\\x07\\x76\\xda\\x45\\xdb\\x94\\xae\\xdb\\xa5\\xe4\\xec\\x9e\\xe8\\xd3\\x99\\x43\\xda\\x7a\\xe4\\x03\\x13\\x75\\xd6\\xd9\\x7f\\xcf\\x84\\x7d\\x67\\xe9\\x23\\xa7\\x15\\xf3\\xe8\\x6f\\x31\\x50\\xad\\xf8\\xae\\x4b\\x84\\x66\\x6e\\x28\\xdb\\x30\\x65\\xc3\\xd8\\x0d\\xe7\\xd0\\xff\\xa5\\xdd\\x3c\\xb9\\xd5\\xdf\\x44\\xa7\\xff\\x65\\xd1\\xd3\\x56\\xae\\x88\\x55\\xe3\\xa7\\xaf\\x8c\\x81\\x75\\x17\\xef\\x7f\\xd3\\x73\\x51\\xf9\\x8f\\xed\\x6b\\x56\\xeb\\xf6\\x15\\x1b\\x76\\xfa\\x7f\\x02\\x00\\x00\\xff\\xff\\xe8\\x0f\\xe9\\x8c\\x38\\x92\\x05\\x00\")\n\nfunc liberationserifBoldTtfBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_liberationserifBoldTtf,\n\t\t\"LiberationSerif-Bold.ttf\",\n\t)\n}\n\nfunc liberationserifBoldTtf() (*asset, error) {\n\tbytes, err := liberationserifBoldTtfBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LiberationSerif-Bold.ttf\", size: 365112, mode: os.FileMode(420), modTime: time.Unix(1459927770, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _liberationserifBolditalicTtf = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\xe4\\xfd\\x77\\x60\\x54\\xd5\\xf6\\xf7\\x8f\\xaf\\x7d\\xce\\x94\\x24\\x04\\x52\\x81\\x90\\x10\\x66\\x86\\x10\\x8a\\x94\\x04\\x02\\x84\\xd0\\x32\\x40\\x12\\x02\\xa1\\x84\\x12\\x48\\xa8\\x09\\x04\\x08\\x48\\x6f\\xa2\\x48\\x51\\x51\\x91\\x22\\xa0\\xa8\\xa8\\xa8\\x78\\xed\\x8a\\x1a\\x04\\x15\\xb1\\xa1\\x62\\x41\\x44\\xb1\\xa0\\xa0\\xa8\\x08\\x4a\\xb0\\xa0\\xe8\\xc5\\x0a\\xcc\\xf9\\xbd\\xf6\\x99\\x09\\x46\\xc4\\x7b\\xef\\xf3\\xfc\\x9e\\xff\\xbe\\xf3\\xb9\\x6b\\xf6\\x3e\\x7b\\xaf\\xbd\\xca\\x7b\\xad\\xdd\\xce\\x04\\x3f\\xa2\\x44\\x24\\x8e\\x2f\\x87\\xa4\\xe7\\xe5\\x0d\\xed\\x3f\\xfc\\x5b\\x73\\x90\\x38\\x1f\\x2a\\xa6\\xb5\\x61\\xef\\x9c\\xdc\\xbc\\x45\\x1f\\xce\\x8d\\x11\\xe7\\xa8\\x9d\\x3c\\x2f\\xef\\x5d\\x38\\x70\\x48\\xec\\xa2\\x1e\\xd7\\x8a\\x73\\x62\\x2b\\x91\\x5e\\x17\\xf5\\x1e\\x52\\xd4\\xb3\\xc1\\xde\\x15\\xc9\\xe2\\x1c\\x9d\\x2f\\x12\\x76\\x64\\xe0\\x90\\xb4\\x76\\x2e\\xe3\\x8d\\x38\\x11\\xb5\\x1d\\xfe\\xd2\\xf1\\xd3\\xca\\x66\\xfa\\xd6\\xe5\\x32\\xf6\\xa2\\x72\\x11\\x57\\xc7\\xf1\\xf3\\xe7\\x7a\\xcb\\x3b\\x8e\\x79\\x4f\\xa4\\xdb\\x4c\\x11\\xe3\\xc0\\xc4\\x99\\x93\\xa6\\x2d\\x2e\\x7b\\x2a\\x46\\x24\\x7d\\xa3\\x88\\x7b\\xdb\\xa4\\xb2\\x39\\x33\\x25\\x41\\xc2\\xd1\\x57\\xc9\\xf8\\xe8\\x49\\x53\\x2f\\x9d\\xb8\\x76\\x77\\x2f\\xaa\\x15\\x1b\\xc4\\x31\\xf5\\x54\\xc5\\x84\\xb2\\x72\\xb9\\x64\\xd9\\x19\\xe4\\x77\\xa5\\xb1\\x63\\x05\\x0d\\xb5\\xb7\\xd5\\xc9\\xe5\\x79\\x2e\\xcf\\x4d\\x2a\\xa6\\xcd\\x5d\\xb0\\x64\\x43\\x8b\\x37\\x90\\x9d\\x20\\xd2\\xbc\\xdf\\xc5\\x13\\x66\\x4f\\xcf\\x38\\x1b\\xf6\\x86\\x38\\xf6\\xaf\\xc2\\xc9\\xc3\\x53\\x67\\x8c\\x2f\\x4b\\x18\\x76\\x75\\xa4\\x88\\x1f\\x7b\\x9b\\x17\\x4e\\x2b\\x5b\\x30\\xb3\\xce\\x65\\x8e\\x6b\\x18\\xbf\\x81\\xf1\\xde\\xe9\\x65\\xd3\\x26\\xcc\\x2b\\x7f\\xf1\\x2e\\x71\\x7c\\x3d\\x55\\xa4\\xd6\\xa9\\x99\\x33\\xe6\\xcc\\xbd\\x3c\\xf0\\xc6\\x1c\\x71\\xfc\\x5c\\x2a\\x32\\x69\\xe0\\xcc\\xd9\\x13\\x66\\xee\\xec\\xee\\x3b\\x24\\xd2\\xa9\\x50\\xc4\\xd9\\xc8\\xc6\\xce\\x80\\x73\\x5e\\xe0\\xdf\\x63\\xa3\\xba\\xfe\\x6c\\x78\\xc2\\x44\\x7f\\xde\\xba\\x31\\xb9\\x4f\\x75\\x79\\xfa\\xfe\\xb3\\x37\\x46\\xcc\\x77\\x1f\\x14\\x53\\x74\\xa7\\xb2\\x19\\xf8\\x76\\xfb\\x02\\xb9\\x32\\x3c\\xe2\\xe1\\xd3\\xf7\\xff\\xf1\\x79\\xc4\\x7c\\x29\\x97\\x64\\xa9\\xf1\\x89\\x88\\xd3\\x3c\\x11\\x71\\x6a\\xb0\\x0c\\x95\\x75\\xe2\\x42\\x4b\\xb4\\xa4\\xc9\\x28\\x11\\xf3\\x0e\\x63\\x16\\xb2\\x94\\x98\\x8e\\x79\\xc6\\x73\\xe2\\xc4\\x8e\\xdb\\x9c\\x19\\xd2\\x4a\\xa5\\xda\\x65\\x3f\\x73\\x93\\x4c\\x34\\x62\\x95\\xd3\\x30\\xdc\\xa6\\xcb\\xe9\\x0c\\x37\\x1d\\x87\\x25\\xc2\\x2a\\x94\\x05\\x16\\x62\\x7d\\x5a\\x76\\xdb\\x1e\\x43\\x7a\\x51\\xf3\\x5a\\x67\\x9c\\x17\\x07\\xf2\\x54\\x86\\xdb\\xa7\\x9e\\x2d\\x15\\xf5\\xe2\\xe7\\xbf\\x22\\x7d\\xb3\\xb3\\x9b\\x46\\x42\\xea\\xb8\\xb2\\x82\\x96\\x18\\x21\\x32\\x93\\x65\\xa3\\x63\\x96\\x9a\\xe9\\x10\\xeb\\x34\\x74\\xdc\\xf5\\xb0\\x2c\\x83\\xa7\\x9d\\x91\\xa5\\x12\\x8d\\x87\\x65\\x82\\xf1\\xb0\\x35\\xc9\\x21\\x72\\x8f\\x63\\x8d\\x2c\\x32\\xc4\\xfa\\x80\\xb6\\x96\\x8c\\x8b\\x32\\xb2\\xac\\x65\\xb4\\xf7\\x86\\xd2\\x19\\x57\\x05\\x9d\\x84\\x0e\\xf3\\x5c\\x1f\\xca\\x83\\x86\\x41\\xa9\\x50\\x23\\xc6\\xe4\\x42\\x89\\xc8\\x98\\x00\\xcd\\x87\\x6e\\xa5\\xfd\\x19\\xd7\\x83\\x92\\xee\\x1c\\x66\\xdd\\x0c\\x9d\\x70\\x0e\\x93\\x3c\\xe7\\xeb\\xd6\\x8f\\xd4\\x35\\x05\\x9c\\xaf\\x4b\\x9e\\x2b\\xcb\\xfa\\xd1\\x4c\\xb6\\xbe\\x43\\xee\\x19\\xdd\\xee\\x38\\x6a\\xfd\\xe8\\x4e\\xb6\\xbe\\x82\\xef\\x04\\xfd\\x7d\\x79\\xb6\\x74\\x49\\xdf\\x59\\xc7\\x1c\\x74\\x1d\\x95\\x9b\\x78\\x7e\\x00\\x59\\x0b\\xdc\\xc9\\xb2\\x9a\\xf6\\xb7\\x68\\x9b\\x0c\\xdf\\x69\\xf4\\x67\\x18\\x59\\x72\\x25\\xfe\\xdc\\x8c\\xfe\\xab\\x90\\x39\\x89\\xb6\\x63\\xd8\\x91\\x00\\x25\\x99\\xab\\xa5\\x91\\xae\\x53\\xa6\\xd3\\xce\\xb4\\xb1\\x3e\\x46\\x66\\x73\\xc6\\xb4\\x37\\xb2\\x02\\xa7\\xe8\\x6b\\x48\\xbd\\x35\\xd8\\x34\\xa3\\xfd\\x22\\x9e\\xbd\\xf0\\x4c\\xa7\\x4c\\x04\\xc3\\x8b\\xb0\\xf3\\x67\\xfa\\xbb\\xd3\\x57\\x80\\x8c\\x38\\x6c\\x30\\x34\\x2e\\xe6\\x6a\\x2b\\x83\\xbe\\xd7\\x8c\\xdd\\xd2\\x50\\xbd\\x22\\x2b\\x8d\\xdd\\xd6\\x72\\xf4\\x0f\\x0b\\x61\\xdf\\x8f\\xf1\\x0b\\x83\\xd8\\xcb\\x78\\x28\\x1f\\x9e\\xa7\\x34\\x6e\\xd8\\x70\\x8f\\xf3\\x0f\\x19\\x6e\\xf8\\xa4\\x98\\xe7\\x42\\xc7\\x41\\x99\\xad\\xb1\\xd7\\x6d\\x3c\\x5f\\x67\\x66\\xc8\\x76\\x47\\xb9\\x14\\x19\\x13\\xb1\\x71\\xa2\\xb4\\xa0\\xef\\xac\\x63\\xa3\\xf5\\x3a\\x7d\\x29\\xc8\\xae\\xc0\\xcf\\x37\\x68\\x2f\\x80\\x16\\x21\\x3f\\xe0\\x62\\x72\\x40\\xad\\x5d\\x41\\x3d\\xd5\\xb8\\xff\\x8d\\xdc\\xab\\xad\\xb1\\x76\\x2c\\x86\\x9d\\x8b\\x85\\x4d\\x3a\\x0e\\x35\\xc9\\x8e\\x55\\x28\\x0e\\xe7\\x13\\xfe\\x6d\\xa3\\xef\\xa0\\x1d\\x8b\\x1a\\x14\\x8a\\xc5\\x8f\\xd8\\xf3\\x64\\x08\\xf7\\xbf\\x11\\x7c\\x89\\x3a\\x16\\x3a\\x0e\\x35\\x09\\x6c\\xd3\\x42\\x94\\xa0\\x4b\\xed\\xe7\\x9f\\x71\\x38\\x8f\\xca\\xa5\\x1c\\x1d\\xef\\xea\\x58\\xd4\\x24\\x1d\\x0b\\xda\\x4b\\x74\\xa9\\x7d\\xb5\\xf5\\xfd\\xad\\x94\\x3c\\xad\\xff\\x1f\\x4b\\xed\\xf7\\x59\\x6d\\xa7\\xf6\\xc3\\x1e\\xf7\\xa3\\xb6\\xef\\xbf\\x96\\xaf\\xeb\\x39\\x61\\x7d\\xfc\\x4f\\xa5\\xce\\x75\\x9d\\x6f\\x94\\x3f\\xe9\\x52\\x63\\x8c\\x9f\\x49\\xa1\\xb2\\x59\\xa8\\x4c\\x0b\\x96\\xd6\\x1b\\xd5\\xcf\\xae\\x9b\\x98\\x1f\\x17\\x4b\\x7b\\x3d\\x47\\x74\\x9e\\xda\\xf3\\x84\\x5c\\xb5\\x09\\xac\\x75\\xce\\x06\\x4b\\xeb\\x05\\x1b\\xfb\\x96\\xc1\\x67\\x53\\xce\\xb5\\x9f\\xd2\\x71\\xd4\\x58\\xfe\\xad\\xdc\\x29\\xc9\\xae\\x5c\\xe6\\xf5\\x10\\xdd\\x46\\x5c\\xc1\\xf6\\xfc\\xd2\\xbd\\x5a\\x7a\\x53\\x6f\\xad\\xe7\\xa0\\x9e\\x07\\xc1\\xd2\\x7a\\xb0\\xfa\\x59\\xcf\\x4b\\x3d\\x37\\xfe\\xb1\\x64\\xce\\x62\\x63\\x98\\x2e\\x1d\\x7e\\xe6\\x4f\\xf0\\x39\\xc2\\xce\\x17\\x62\\xf6\\xbf\\x96\\xa1\\xf9\\x7e\\x4a\\xe7\\x98\\x1d\\xe7\\xd0\\xbc\\xd7\\x73\\xef\\xfc\\x32\\x38\\xbf\\x25\\xc9\\xb9\\x5d\\x3a\\x39\\xeb\\x5a\\xdf\\xdb\\xf5\\xd8\\x50\\x39\\xcc\\xfa\\xbd\\x66\\xac\\x5d\\xd9\\x32\\xc8\\x19\\x2b\\x4e\\x3b\\x3f\\x1b\\xd8\\xf1\\x26\\xf7\\xa5\\x8f\\x83\\x36\\xe7\\xb0\\xc0\\x03\\xb4\\x6f\\xd2\\x31\\x74\\xde\\x23\\xd7\\xba\\x06\\xdb\\xeb\\x45\\x6b\\x7b\\x7e\\x84\\xe2\\xc0\\x73\\x2b\\xec\\xd9\\xe1\\x7a\\x45\\x8a\\x9c\\xaf\\x07\\xbe\\x20\\x37\\x2f\\x3a\\x37\\x4f\\x0a\\xc4\\x1b\\x96\\xc2\\xd8\\xb7\\xc0\\x73\\x80\\xf8\\xed\\xf5\\xe4\\x28\\xf1\\x9c\\xa3\\x65\\x90\\xc7\\xa7\\xac\\xcf\\x8c\\x6f\\x64\\x01\\x32\\xea\\xe3\\xcf\\x58\\x7b\\x7d\\x01\\x1f\\x57\\x06\\x3e\\xef\\xc1\\xf7\\xdf\\xa4\\xbf\\xf3\\x09\\xe6\\x56\\x67\\x7c\\x7e\\x5e\\xfb\\x1c\\xf2\\x73\\x88\\x35\\x0c\\xfa\\xc4\\x7c\\xd5\\xfa\\x16\\xda\\x69\\xaf\\x43\\x5f\\x49\\x98\\x19\\x8b\\xbc\\x1f\\xc1\\x3c\\xc2\\x1a\\xcf\\x3a\\xb3\\xce\\xd8\\x25\\x57\\xa9\\x33\\x52\\x5b\\xef\\x01\\x11\\x0f\\x5b\\x3f\\x86\\x7d\\xa9\\xd7\\x57\\x49\\x08\\xd3\\xeb\\x6c\\x43\\xec\\x9f\\x2d\\xad\\xc3\\xc9\\x85\\x30\\xb1\\x4e\\xb8\\x36\\xdb\\xb1\\xb5\\xe7\\x48\\x75\\xee\\xd5\\xc8\\x85\\xff\\x29\\x46\\x60\\x5a\\xff\\xfc\\xf9\\x66\\xaf\\x37\\xcc\\xf9\\xbf\\xcd\\x8b\\x10\\x7e\\xe7\\xe7\\x9b\\xf6\\x0d\\x9f\\xd6\\xe8\\x5c\\xaf\\x69\\x73\\xf5\\x38\\xf7\\xa7\\xcc\\xcf\\xab\\xad\\xfb\\xce\\xe5\\xf0\\xdf\\xf4\\x58\\x07\\xf5\\xda\\x70\\x81\\xf9\\xff\\x97\\xf9\\x1a\\x9a\\x67\\x33\\x2e\\xe0\\x6b\\xb0\\x0c\\xe6\\xf9\\x4f\\xe7\\xf2\\xfe\\x3c\\x5f\\xcf\\xcb\\xef\\x68\\xc7\\x33\\xd6\\xc3\\xe6\\x8d\\xd6\\xbe\\xea\\x79\\xee\\xfc\\x51\\xef\\x97\\xe8\\xed\\x6e\\xfd\\xea\\x18\\x24\\xfd\\xab\\x63\\xf7\\x37\\x7b\\xfe\\x61\\xde\\x9d\\xc3\\x23\\x94\\xef\\xd8\\x3a\\x4e\\xfb\\x4b\\xb9\\xde\\x5e\\x07\\x3e\\x41\\xc6\\x17\\xf8\\x6b\\xaf\\xeb\\xf6\\x7e\\xbc\\xd0\\x9e\\xff\\x47\\xc9\\x0b\\xec\\xb2\\xf3\\x24\\x56\\xbc\\xe6\\x0e\\x19\\x61\\xef\\xbf\\xaf\\x4b\\x17\\xca\\xe5\\x41\\xbd\\xd6\\xbd\\xd5\\xeb\\x89\\xab\\x37\\xbe\\x88\\x2d\\x47\\xfb\\xfb\\x03\\xfa\\x2e\\xb2\\xf7\\xb4\\x67\\x25\\x2b\\xb4\\x66\\xb7\\x0d\\xed\\x9f\\x75\\x68\\x7f\\xae\\x7a\\x1d\\xa7\\xfe\\x8a\\x8e\\xb7\\xe3\\x41\\xa9\\x6f\\xe6\\xf3\\x9c\\x6f\\x1d\\x77\\x94\\x59\\xc7\\xcd\\x87\\xa4\\x23\\x72\\x9f\\xb0\\xf7\\x57\\x9b\\xb0\\xe1\\x88\\x64\\x9b\\x0f\\x88\\x2f\\x84\\x5b\\xf3\\xe0\\xbe\\x6b\\xe3\\x3e\\xc0\\x28\\x65\\x0f\\xcb\\xb2\\x5e\\xd2\\x6b\\x04\\x94\\xec\\xd8\\x6d\\xef\\xc1\\x05\\x21\\x62\\x2f\\x0e\\xbc\\x6b\\xef\\x03\\xcd\\xad\\x77\\x6c\\x5c\\x46\\x42\\x0f\\xb0\\x4f\\x4e\\x42\\x6e\\xb2\\x75\\xa4\\x06\\x1d\\x22\\x4e\\xf5\\xcd\\x72\\xf0\\xf2\\xc9\\x20\\xf3\\xb8\\xb5\\xdb\\xfc\\xd1\\xda\\x49\\xfb\\x27\\xc6\\x03\\x81\\x5f\\x6c\\x1a\\x2e\\xe1\\x94\\xfe\\x90\\xee\\x30\\xe4\\xd6\\x75\\x94\\x49\\x63\\xf3\\x5b\\x19\\x8f\\x3f\\x5f\\x80\\xc1\\x97\\xba\\x34\\x23\\xac\\x9f\\x34\\x7e\\xd0\\x2e\\x9d\\x8b\\xd0\\x57\\x66\\x01\\x73\\xad\\x40\\x32\\x28\\x77\\x99\\x4f\\x59\\x55\\x3a\\x3e\\xe8\\x78\\x17\\x7f\\x83\\x7b\\xd2\\xdd\\xd6\\x7e\\xfc\\x5e\\x8a\\xcf\\xff\\x36\\x4b\\xad\\xfd\\xf6\\xb9\\xa1\\xc0\\x3a\\xca\\x18\\xbd\\xa7\\x27\\xb8\\xee\\x22\\x5e\\xa7\\xc1\\x6e\\x3f\\x73\\xbc\\xb5\\x74\\x77\\x76\\x91\\xee\\xae\\x09\\xac\\x53\\xaf\\xb1\\x4e\\xfb\\x20\\x2f\\xeb\\xc8\\x41\\xeb\\x13\\xc7\\x1c\\xf6\\x78\\xc8\\x18\\x20\\x9d\\x34\\xa9\\xc5\\xd6\\x13\\xea\\x71\\xca\\xc7\\xad\\xaf\\xa1\\x6f\\x8c\\xb9\\xec\\x1d\\x0d\\x38\\x03\\xb4\\xb4\\x8e\\xe8\\x33\\x9c\\x3e\\xdb\\xb1\\xde\\x1d\\x87\\x3e\\x33\\x1e\\x56\\x0e\\xa8\\xc8\\xa6\\x76\\x9c\\xc9\\xda\\xc9\\x95\\xa1\\x33\\xd9\\xad\\x50\\x77\\x4d\\xf0\\xcd\\x82\\x1e\\x80\\xe7\\x06\\xca\\x2b\\xf4\\xb9\\x42\\x9f\\x93\\xa0\\xbb\\x39\\x53\\x0c\\x87\\xf6\\x40\\xbb\\x78\\x5e\\x03\\x8f\\x3e\\xa7\\x1c\\x82\\xde\\x80\\xa6\\x86\\xe8\\x52\\xfa\\xf5\\x98\\x27\\xe9\\xcf\\xa0\\xfc\\x03\\xf2\\x42\\x63\\xa0\\x07\\xa1\\x11\\x66\\x1d\\x59\\x62\\x5c\\x2b\\x37\\xa9\\x91\\x32\\x43\\x1d\\xc5\\x8e\\xed\\x32\\x19\\x5b\\x66\\x9b\\xd1\\x72\\xf3\\xf9\\x04\\xff\\xb8\\x20\\x59\\xa3\\x29\\x4b\\xc1\\xed\\x69\\xca\\x70\\x28\\x0e\\x1a\\x06\\x0d\\x85\\x22\\x20\\xfa\\xad\\x67\\xa1\\xd7\\xa1\\x5e\\x3c\\x3f\\x8e\\xfe\\xc4\\x20\\xd9\\xba\\xc7\\x98\\x6d\\xac\\x27\\x34\\xd1\\xbf\\x55\\xe4\\xec\\x6f\\x22\\x81\\xb6\\x22\\x56\\x5f\\x8e\\x62\\x63\\x28\\xb9\\x0b\\x04\\x16\\x51\\xde\\xa2\\xef\\x28\\x94\\x57\\xf0\\x5c\\x9f\\xf2\\x00\\x34\\x03\\xba\\x9e\\xf6\\xab\\x82\\x7d\\x81\\xcb\\x82\\x7c\\x81\\xa7\\xf5\\x7d\\x25\\x44\\x05\\xd0\\x0b\\xb4\\xdd\\x0d\\x71\\x77\\xb1\\x7a\\x06\\x29\\xf0\\x39\\xed\\x6b\\xa8\\xdf\\x0e\\x75\\x08\\x91\\x6e\\x7f\\x06\\xba\\x8f\\xfa\\x49\\xa8\\x1e\\xf5\\x96\\xd0\\x42\\x08\\x5d\\x01\\x2e\\x47\\x56\\x36\\xb4\\x3b\\xd4\\x76\\x03\\xc4\\x7d\\xea\\xec\\x36\\xca\\x3c\\x4a\\x64\\x9e\\xfd\\x84\\x7a\\x23\\xca\\x06\\xd0\\x52\\xea\\xdc\\x8f\\x02\\xdf\\x41\\x51\\x90\\x17\\x7a\\x36\\xa8\\x53\\x8f\\xb7\\x32\\x29\\xb1\\xd7\\x4a\\x81\\x34\\xef\\xcd\\x94\\xe8\\x96\\x54\\x4a\\x7c\\x91\\xcf\\x28\\xc1\\xc3\\x6a\\x17\\xe4\\x3f\\x1b\\xa0\\x3e\\x2c\\x34\\x0e\\xbf\\x03\\x8f\\x05\\xc7\\x04\\xbe\\xa7\\x0d\\xcc\\xce\\x7a\\x18\\xc3\\x1d\\xc5\\xc2\\x07\\x8b\\x3b\\x5f\\x80\\x1d\\x35\\xf0\\x0d\\x74\\x0c\\xc2\\x17\\xeb\\x67\\xfa\\xbf\\x0e\\xda\\x60\\x3f\\xbf\\x0d\\xed\\x39\\x8f\\xb6\\x87\\xca\\x21\\x90\\xc6\\x3b\\x1d\\xfa\\x17\\xfc\\xdc\\x68\\x2c\\xee\\x79\\xd6\\x40\\x08\\x5f\\x2c\\xee\\x57\\x81\\x4b\\x83\\x76\\x5b\\x4f\\x84\\xf0\\x8b\\x0b\\xe6\\xa5\\xa5\\x73\\xb9\\x21\\x73\\xf2\\x3b\\xd6\\x1a\\x8f\\x2e\\xf5\\x3d\\x03\\xfa\\x92\\xbe\\xdf\\xf4\\xda\\x47\\xfd\\x1d\\x57\\xa6\\x75\\xd2\\xdd\\x82\\x3b\\x42\\xa4\\xf5\\x87\\xf3\\xa0\\x75\\x83\\x4b\\xac\\x57\\x5d\\xf9\\xd6\\x3a\\xe6\\x78\\xf3\\xea\\xfb\\x87\\x63\\x3f\\x7b\\xb6\\xc3\\x7a\\x2e\\x74\\xcf\\x38\\xad\\xd7\\x69\\x57\\x12\\x73\\x38\\xb4\\x97\\xeb\\xb5\\xf1\\xdc\\xdd\\x23\\x4f\\x5c\\x7a\\x7e\\xdb\\x6b\\x39\\x77\\x10\\xbd\\x4f\\xdb\\xe7\\x17\\xd6\\x62\\x57\\xa1\\x7d\\x76\\x7e\\xcb\\x35\\x51\\xae\\x60\\x7f\\x8e\\xb3\\xef\\x2f\\xfa\\x2c\\x32\\x8d\\x35\\x92\\x75\\x50\\xef\\xff\\x7a\\x5d\\x63\\x4d\\xc9\\xd5\\x6d\\x8e\\x06\\xd6\\x4b\\xe6\\x50\\xa9\\xc5\\xd9\\xc2\\x6b\\xaf\\x93\\xd7\\x4a\\x1b\\xcd\\xe3\\x68\\x26\\xfd\\x35\\x9f\\xa3\\x9b\\xb4\\xd1\\xe7\\x07\\xe6\\xfc\\x43\\xfa\\x5e\\x61\\x6e\\x90\\xae\\xf6\\x7a\\x32\\x46\\xa2\\x1c\\x1e\\x6b\\xaf\\xb9\\x4e\\x3a\\x3b\\x0a\\xa5\\x0b\\x7d\\x17\\xd9\\x32\\x1f\\x13\\x9f\\xb9\\xdd\\x8a\\x77\\x16\\xcb\\x50\\xe7\\x6e\\xee\\x6a\\xfa\\xcc\\xa8\\xdb\\xf5\\x3a\\x4b\\xa9\\xdb\\xd0\\x95\\xeb\\xe8\\x24\\xb1\\x9c\\x3b\\xd6\\xb9\\x76\\x58\\x53\\x75\\xe9\\xb8\\x5b\\xbc\\xae\\xda\\xe2\\x76\\x5c\\x2b\\xf5\\xfe\\xdc\\xe3\\x24\\xd7\\xbc\\xdd\\xbe\\x5f\\x05\\xcc\\x27\\xad\\x4f\\x1d\\x8d\\x25\\xd9\\xdc\\x28\\xed\\x9c\\xdb\\x64\\x08\\x6b\\x54\\x3c\\x67\\x9a\\xc9\\x60\\xf0\\xbd\\x73\\xb3\\x14\\xb1\\x56\\x56\\x38\\xcf\\x58\\x97\\x9a\\xdb\\xac\\xb7\\x1d\\xdb\\x65\\x20\\x74\\x8b\\xf3\\x46\\xf8\\x96\\x73\\xef\\x68\\xce\\x9d\\x23\\x5b\\x9a\\x9a\\xf7\\x4a\\x07\\x33\\x9e\\xbd\\x08\\x1d\\x8e\\xb1\\x92\\x89\\xcd\\xad\\xed\\xbd\\x4a\\xaf\\x95\\xb3\\xb0\\x7b\\x16\\xf7\\xc7\\xe0\\xfd\\xa0\\x44\\xef\\x59\\x36\\xde\\x7d\\x2d\\xc1\\xcf\\x1b\\x79\\x8e\\x08\\xde\\x4b\\x74\\x19\\xbc\\x93\\xb8\\x56\\xca\\x15\\x76\\xdc\\x7a\\x22\\x33\\xb8\\xdf\\x7e\\x57\\x7d\\x5f\\x74\\xe7\\x58\\xcf\\xba\\xdf\\xb1\\x0e\\xb9\\x16\\x11\\x87\\x69\\xf0\\x66\\x59\\xff\\x76\\xae\\x93\\xeb\\x28\\x7f\\xb0\\x63\\xce\\xb9\\xef\\x5c\\xdc\\x2f\\xb1\\x26\\x68\\x79\\xee\\x62\\x6b\\xa5\\x23\\xd6\\xfa\\x4e\\xf3\\xda\\xfc\\x8c\\x73\\x2e\\x42\\x0e\\x76\\xe8\\x58\\xd7\\x8c\\xb9\\xbd\\xa7\\xea\\xfb\\xa6\\x96\\xb9\\x57\\x7a\\xd9\\x31\\xd7\\xb2\\xcf\\xc8\\x8b\\xe1\\x86\\xf5\\x83\\x26\\x57\\x5d\\x19\\xe2\\x7e\\x89\\x7c\\xe1\\x6c\\xe9\\x24\\x6b\\xc3\\xe6\\x20\\xe3\\x2a\\x6b\\x97\\xbd\\x3f\\x06\\xa4\\x9d\\x79\\x23\\xeb\\xe2\\x29\\x89\\x31\\x7f\\x93\\x14\\xbd\\xd7\\xbb\\xef\\xb4\\x2c\\xd3\\x63\\xbd\\x77\\xee\\xce\\x52\\x87\\x3c\\x48\\xb2\\x76\\x38\\x17\\x12\\xff\\x59\\xd2\\xd1\\x8e\\xbb\\x7d\\xe7\\xb1\\xa6\\xeb\\xf3\\xa9\\xde\\xff\\xec\\xbb\\xcc\\x0e\\xfb\\x2e\\x5a\\x65\\x8f\\xc9\\x90\\x14\\xee\\xf0\\x05\\x9a\\x1c\\x99\\xd2\\xd4\\xb9\\x5a\\xda\\x9a\\x0f\\x42\\x83\\xad\\xdd\\xce\\x8f\\xb8\\x27\\x78\\xc8\\xb7\\xd0\\x9d\\xca\\x91\\xc6\\x5e\\x91\\x4a\\xde\\x0c\\xe6\\xbe\\x15\\xbc\\xbf\\xb6\\x0f\\xde\\xb1\\x88\\x49\\x1e\\x7a\\xb7\\xa1\\x53\\xef\\xc7\\x75\\xec\\x73\\x7c\\xf0\\xfe\\x44\\x19\\xee\\xc3\\xf7\\xb5\\xf6\\x99\\x99\\x3d\\x51\\x2e\\x0a\\x73\\x58\\x27\\x9d\\xe5\\xd2\\xd1\\x59\\xc2\\xdd\\x76\\x99\\xb5\\x23\\x6c\\xa4\\x75\\xd2\\x75\\x4c\\x46\\x80\\xe7\\xad\\xce\\xd9\\xd6\\x8a\\x88\\x55\\xcc\\xbf\\xcf\\x90\\x15\\x6b\\xbd\\x8e\\x7f\\xcf\\x33\\x37\\x06\\xdb\\xf9\\x19\\xca\\x33\\x57\\x07\\x59\\xe0\\xc8\\x97\\xb8\\xea\\x32\\xec\\x4b\\xe9\\xeb\\xae\\x4b\\xfb\\x03\\xf4\\x3f\\x2f\\xde\\xf0\\xd9\\x92\\xe7\\x9a\\x2b\\x2d\\xce\\xe9\\x0d\\x9e\\xcf\\x3d\\xe6\\x12\\x61\\xfd\\xb3\\x10\\x61\\xb1\\x16\\xc9\\xa0\\xe0\\x3a\\x7c\\x96\\x75\\xfb\\x0c\\x6b\\xe9\\x99\\x74\\x1d\\x43\\xfb\\x4c\\x06\\xfe\\x60\\x50\\x66\\xcf\\x55\\x8d\\xdd\\x2b\\xd6\\x49\\x70\\xef\\xa0\\x63\\xaf\\xf1\\x77\\xfe\\x44\\xce\\x44\\x4a\\x07\\x1d\\x7f\\x1d\\x03\\x9d\\x03\\x3a\\x0e\\x3a\\xfe\\xda\\xf7\\xf3\\xca\\x86\\xae\\x75\\xec\\x43\\xb7\\x4a\\x8c\\x9d\\x0b\\xc4\\xc5\\xfd\\x0b\\x71\\x0d\\x93\\x8e\\xe1\\x61\\xe4\\x59\\x43\\x69\\xe3\\x7c\\x83\\x79\\x73\\x46\\x92\\xab\\xef\\x11\\xf6\\x99\\x5d\\x9f\\x55\\xf4\\x3a\\x20\\x92\\x19\\x2c\\xad\\xa7\\xec\\xf7\\x13\\xc4\\x8d\\xbe\\xf6\\xd8\\xa9\\x74\\xee\\xe8\\xf8\\xfd\\x59\\x72\\xde\\xd2\\x77\\xc2\\x33\\xd2\\x94\\xb2\\x61\\x75\\xa9\\x73\\xbc\\xda\\xd6\\x90\\x4d\\xad\\x74\\x9e\\xea\\x5c\\xa9\\xb6\\xa9\\xba\\xac\\x96\\x65\\xcf\\x25\\xf2\\x48\\xdf\\x4f\\xfe\\xf1\\x0c\\xfe\\xe7\\x99\\xb3\\x8f\\x7d\\x56\\x0f\\x95\\xe7\\xe3\\xc2\\x7d\\xb0\\x0d\\x67\\x9e\\x75\\xd5\\xf8\\x9e\\xc3\\xf9\\x9f\\xce\\xaa\\xe4\\xbe\\x9d\\x7f\\xcc\\x15\\x3b\\x5f\\xcf\\x2f\\x43\\x36\\x56\\xc7\\xc3\\x9e\\x33\\xe4\\x2d\\xcf\\x01\\x3b\\x3e\\x21\\x9c\\xaa\\x4b\\xf0\\xab\\xa7\\xed\\x76\\x8d\\x65\\xad\\x0a\\x48\\x63\\x57\\x67\\x99\\xef\\x5c\\x28\\x23\\x1c\\x45\\x32\\xdf\\xf4\\x48\\x73\\xb7\\xc7\\x7a\\x16\\xec\\x76\\xd8\\x77\\x81\\x2f\\xa4\\x45\\xf0\\x6e\\x20\\x8d\\x9d\\x4f\\xca\\x4d\\xee\\x87\\x88\\x03\\x77\\x37\\x33\\x53\\xc2\\xab\\x31\\x0b\\xd9\\x99\\x18\\xbc\\x43\\xea\\xd7\\x62\\x81\\x25\\xe4\\xd2\\x53\\xe4\\xd5\\xbb\\x94\\x1f\\x41\\x3b\\x68\\xd3\\xfb\\xd5\\x57\\xd0\\x28\\x88\\x3d\\xd8\\x2a\\xa6\\x8d\\x7d\\x5d\\xae\\x0d\\x92\\xbd\\x57\\xbe\\x43\\x5d\\xef\\x69\\xfa\\x1c\\xf0\\x20\\xb4\\x21\\x38\\x2e\\xc0\\xbe\\x75\\xf6\\x0f\\x4a\\x2d\\xf3\\xa7\\x20\\x9f\\xee\\xb7\\xd8\\x23\\xad\\x57\\xa0\\x85\\xa1\\xb3\\xc8\\xa7\\xa1\\x3d\\x9c\\x73\\x47\\x40\\x9f\\x47\\x38\\x9b\\xe8\\x17\\x7c\\xfa\\x5c\\x62\\xcb\\x7a\\x21\\x28\\x43\\x32\\x83\\x14\\xd0\\x67\\x8c\\xcd\\x50\\x24\\x67\\xa5\\xa3\\x94\\x1f\\x39\\xae\\x50\\x2d\\xaa\\xfb\\xf5\\x79\\x99\\x72\\x00\\x7c\\xa7\\x8c\\xdb\\x44\\xcb\\xdf\\xe8\\x4c\\x61\\x2e\\x7c\\x62\\xbd\\x6f\\xdc\\x6b\\x6d\\x72\\xa4\\xca\\x2c\\xc7\\x6d\\x92\\x64\\x44\\x72\\x86\\xea\\x22\\x39\\x8e\\xe7\\x24\\x8d\\xf3\\xe7\\x15\\x46\\x03\\x99\\x61\\x7e\\x2f\\x15\\xe6\\xd7\\xd6\\x66\\xf3\\x05\\x29\\x77\\x04\\xe8\\x7b\\xc1\\xfa\\xc3\\x88\\xe0\\x0c\\x7e\\x9b\\xf5\\x2f\\xc7\\x6a\\xf6\\xa5\\x6b\\xad\\x97\\x18\\xdf\\xcd\\x31\\xc2\\xda\\xeb\\x68\\x29\\x86\\xa3\\xad\\xf5\\x93\\x23\\x1f\\xd9\\x8c\\x73\\x3e\\xcc\\x7e\\xf2\\x05\\x67\\xad\\xef\\x64\\x28\\x6b\\xdb\\x0c\\xf6\\x9b\\x19\\xea\\xa0\\xe4\\x98\\x11\\x50\\x81\\xd5\\xc7\\x51\\x69\\xf9\\xc1\\x5c\\x99\\xc7\\x38\\x1f\\x6f\\xe7\\xce\\x5e\\xc0\\xd9\\x1d\\x32\\x0f\\x70\\x1e\\x26\\xbf\\x38\\x7f\\x57\\x99\\x91\\xec\\x05\\xe1\\x7a\\x6d\\xb2\\xee\\x67\\x0f\\xd8\\xe1\\x6c\\xa3\\xdf\\x63\\xb1\\x87\\xdd\\xc9\\xfd\\xe5\\x57\\xce\\xe1\\xbf\\x92\\x8b\\xbf\\x5a\\x07\\xf4\\xbb\\x07\\xf3\\x6a\\x71\\xd0\\xa7\\xd7\\xc7\\x2e\\xe6\\x8b\\x9c\\xd7\\x7f\\xb4\\x1e\\x35\\x8f\\x4b\\x4b\\xe6\\xc9\\x1e\\xf6\\xd3\\x31\\xe6\\x07\\xe4\\x66\\x3a\\x6b\\xec\\x31\\xea\\x25\\x12\\xee\\xd8\\x61\\xed\\x33\\xf6\\x70\\x7e\\xf7\\x58\\xc7\\xcc\\x8e\\xd6\\x1f\\x8e\\x89\\xac\\xc7\\x7a\\x1d\\x1c\\x66\\xad\\x73\\x1c\\x96\\x51\\x5a\\x86\\xa3\\x1d\\x6b\\x02\\xb9\\x61\\x16\\x71\\xe7\\xb8\\xdd\\x3a\\x61\\x9a\\xac\\x37\\x9a\\xc6\\xb2\\xe6\\x26\\x48\\x77\\x28\\xd5\\x1c\\xcd\\xbd\\x60\\x86\\xc4\\xaa\\x5d\\x52\\xdf\\xa8\\x90\\xf6\\x66\\x3f\\x69\\x61\\x7c\\xcb\\x5a\\xd9\\x87\\xbd\\x6d\\x15\\x76\\xdd\\x0f\\xff\\x7c\\x29\\x37\\x7b\\x4b\\x5f\\xda\\xdb\\x21\\x2b\\xdf\\xf8\\x52\\x56\\x99\\x2b\\xe5\\x31\\xee\\xd6\\x77\\x1b\\x13\\x24\\x0f\\x1a\\xab\\x4b\\xe6\\xd9\\x68\\x63\\x90\\x2c\\x44\\x8e\\xdf\\xe8\\x28\\xa3\\xa0\\x41\\x46\\x53\\xc6\\x35\\xe5\\x2e\\xd4\\x47\\x7c\\x9c\\x95\\xdb\\x1a\\x9d\\x59\\x57\\xee\\x90\\x6c\\xad\\xcb\\x28\\xa6\\xef\\x22\\xce\\xce\\xc5\\x9c\\x6d\\x8b\\x65\\xb8\\x31\\xc5\\xfa\\x41\\x5d\\x81\\xac\\xf1\\xdc\\x97\\x56\\x48\\x91\\x79\\xa5\\xa4\\x1b\\x71\\xf0\\xbc\\x24\\x7d\\x8c\\x91\\xa2\\x94\\xc5\\x98\\x32\\x64\\x56\\x4a\\xb9\\xd1\\xcf\\x3a\\xa5\\x46\\x5a\\x1f\\xa8\\x37\\xad\\x7f\\x1b\\xe3\\xad\\x97\\x8d\\x38\\xeb\\x90\\x31\\xd2\\x5a\\xa1\\x2c\\xce\\xce\\xab\\xac\\x1f\\x8c\\x4a\\xce\\xd1\\xfd\\xac\\xc9\\xce\\xc3\\xf6\\xdd\\xaf\\x96\\x9e\\x6b\\x9c\\xa7\\x3e\\x61\\x9e\\x1f\\xe7\\x1c\\x72\\x98\\x39\\xa8\\xf7\\x8b\\xa7\\xcc\\x72\\xeb\\x57\\xca\\x53\\xc4\\xeb\\x5a\\xfb\\x3e\\xc9\\x7d\\xce\\x74\\x71\\xb6\\x68\\x60\\x1d\\x77\\x65\\x5b\\x3f\\x19\\xa5\\xdc\\x03\\xb2\\xf4\\xbb\\x13\\xd6\\xdc\\x6b\\xb9\\x03\\x97\\x59\\xfa\\xdd\\x66\\x92\\xbd\\xff\\xdd\\xc9\\xdd\\x66\\xb7\\x7d\\xff\\x6b\\xc8\\xf8\\x7d\\x7f\\xbe\\x57\\x85\\x37\\xf4\\x3e\\xd5\\x5c\\x10\\x38\\xa9\\xcf\\x3c\\xf6\\xfb\\x0b\\x5b\\xfe\\x9f\\xef\\x09\\x69\\x6f\\x13\\xba\\x57\\xee\\xa3\\x1e\\xab\\xf7\\x2e\\x4a\\x65\\x3c\\x60\\x6d\\xb1\\xf7\\xaa\\x57\\xad\\xef\\x6d\\x6c\\xdd\\xe0\\xe5\\x16\\x07\\x18\\xf6\\xd2\\x58\\xaa\\xab\\xc4\\xa5\\xae\\xb2\\xb6\\x18\\x6d\\x44\\xb8\\x3f\\xf5\\x52\\xa3\\xa5\\x11\\x74\\x29\\xd4\\x0c\\xea\\xae\\x46\\x5b\\x33\\x29\\x07\\x41\\x1e\\x15\\xe0\\xbe\\x38\\x55\\x62\\xa1\\x3c\\x63\\x80\\x35\\x1f\\xfe\\x1c\\x63\\xb8\\x75\\x58\\x63\\x6f\\xa6\\x49\\x43\\xf5\\x05\\x3c\\x57\\x59\\x13\\x91\\x59\\x0a\\xee\\x2d\\x8d\\x6b\\xd8\\xcf\\xc7\\x13\\xc7\\xf1\\x32\\x0d\\xec\\x13\\xd4\\x49\\xeb\\x17\\xc6\\x44\\x42\\x49\\x8c\\xff\\x95\\x71\\xe3\\x99\\x83\\xad\\x82\\x14\\x38\\x0b\\xb1\\x9e\\x04\\x9e\\xbb\\x30\\x59\\x91\\xd0\\xa5\\xfa\\xfc\\x5d\\x63\\xbd\\x3e\\x11\\x7a\\x47\\x75\\x5e\\xf9\\xe7\\xfb\\xaa\\xe0\\x3b\\xd4\\xff\\x52\\x5e\\xf8\\x1d\\x65\\x58\\xe8\\xee\\xff\\x4b\\x8d\\xf6\\x80\\x7e\\x57\\x76\\x81\\x77\\x94\\x17\\x28\\xad\\xad\\xd5\\xcf\\xc4\\x6a\\x09\\x31\\xcd\\x3a\\xf7\\xee\\xa4\\xfa\\x5d\\xce\\x79\\x65\\xe8\\xfd\\xe3\\x1f\\xe7\\x95\\x53\\x42\\x65\\xb7\\xe0\\xb9\\x4b\\x9a\\x9d\\x5f\\xfe\\xe3\\xfb\\xca\\x73\\xe5\\x7f\\x7b\\x67\\x12\\x3c\\x07\\x54\\x97\\xe7\\xbd\\xbb\\x3c\\x75\\x5e\\xf9\\xd8\\x7f\\x7d\\x87\\xf9\\xd7\\x77\\x3d\\xdd\\xff\\x5a\\x5a\\xb7\\x50\\x2e\\xa3\\x9c\\xfa\\x3f\\xbf\\xd3\\x1c\\x26\\x0b\\x42\\xbf\\x21\\xd8\\x65\\xf5\\xbb\\xcd\\x0b\\x97\\x62\\x54\\x97\\x17\\xd8\\x27\\x43\\xef\\x42\\x2f\\xfc\\x1e\\x34\\xf4\\xfb\\x46\\x77\\x3d\\x36\\xf8\\x6e\\x5c\\xcf\\x73\\xe2\\x7d\\xd2\\x96\\xf1\\x0f\\xef\\xc7\\xff\\x9f\\x95\\xff\\xdb\\x7b\\xf3\\x7f\\x28\\xcf\\x7b\\x1f\\x6e\\xfd\\xb7\\x98\\xff\\xc7\\xb2\\xe0\\x7f\\x2a\\xff\\x12\\xa3\\xea\\x77\\xb0\\xff\\xad\\xac\\xf9\\x3e\\xfa\\x82\\xa5\\xbe\\x03\\xfe\\x07\\x3a\\xf7\\xdb\\xcc\\x0e\\x6b\\x24\\x74\\x15\\x75\\xfd\\xdb\\xc5\\xa0\\xea\\xf6\\xe0\\x1a\\xf8\\x77\\x72\\x35\\x92\\x9e\\xd0\\x64\\xf7\\x63\\xd2\\x03\\xd2\\x65\\x03\\x5d\\xb7\\xef\\x96\\xff\\x81\\xdc\\x4a\\x5a\\x42\\x93\\xc3\\xfa\\x49\\x0a\\x54\\x10\\xd6\\xcf\\x3a\\x1d\\xaa\\xcf\\xd4\\x64\\xbf\\x93\\x0b\\x52\\x1c\\xd4\\x45\\xbf\\xdf\\xae\\xd1\\x36\\xc0\\xfc\\x8a\\x7d\\xf7\\x2b\\x99\\xec\\x9c\\x27\\x3d\\x20\\x5d\\x36\\x08\\xd5\\x67\\x6a\\xba\\xe0\\xef\\x35\\xfa\\x0e\\xb0\\x46\\xd2\\xa1\\xe9\\x61\\x1e\\xe9\\x01\\x4d\\x76\\x0f\\xc7\\xde\\xe1\\xd2\\x43\\xdf\\x59\\xff\\x13\\xb9\\xa2\\xe0\\xed\\xc2\\x99\\xaf\\x8b\\x08\\x54\\xa6\\xef\\xb7\\xff\\x89\\x5c\\x3b\\xc5\\x05\\xb5\\x0e\\x2b\\x94\\x06\\x50\\x0f\\xf7\\x72\\x6b\\x37\\xf4\\xa3\\x7b\\xb9\\x0c\\xd6\\x54\\x8d\\x7b\\x35\\x8e\\xd5\\xb8\\x54\\xfb\\x57\\x6d\\x6f\\xb5\\xfe\\x6a\\xb9\\xff\\x07\\x71\\x9c\\x01\\xdd\\x42\\xbd\\x37\\x34\\xa1\\xba\\xfd\\xff\\xdf\\xb8\\xfc\\xbf\\xf2\\xfb\\x3f\\xda\\x5e\\x83\\x8c\\x87\\x55\\x2d\\xce\\x04\\x6f\\x05\\x4b\\xce\\x15\\x0f\\xcb\\xe8\\x0b\\xd9\\xed\\xba\\x52\\x16\\x43\\x39\\xee\\x09\\xb2\\x18\\xca\\xd1\\x7b\\x44\\xe8\\x9d\\x5d\\x2b\\x68\\x4e\\x08\\xd7\\x7e\\x35\\x72\\x28\\x57\\xd3\\xb9\\xbb\\x7c\\x1f\\x59\\xec\\x78\\x94\\x7d\\xf7\\x61\\xb9\\x3c\\x34\\x6e\\xce\\xf9\\x39\\xa0\\xdf\\x83\\xd8\\xef\\x42\\xaa\\x9f\\xed\\xdf\\x7e\\xc8\\xbd\\x47\\xb8\\x07\\x3c\\x62\\x4d\\x74\\x3e\\x22\\x93\\x19\\x37\\x2a\\x48\\x2a\\xe3\\x42\\xf8\\x90\\x6b\\x8b\\x75\\x0e\\x82\\xc5\\x62\\x70\\x4a\\xd7\\xef\\x6e\\xe0\\xff\\x1d\\x7e\\xfd\\x9e\\xdb\\xfe\\x91\\xbf\\xba\\x34\\x1e\\x09\\xfe\\x76\\xae\\x8a\\x82\\x6d\\x76\\xfd\\x36\\xbe\\x1e\\xa9\\xfe\\x9d\\xdf\\xfa\\x10\\xf2\\xea\\xf3\\x38\\xfb\\x77\\x3f\\xd6\\xe2\\xcf\\x35\\x85\\x89\\xf5\\x85\\x26\\xfd\\xbb\\x0b\\xcf\\x3f\\xfe\\xf9\\x5e\\x56\\x52\\xf4\\xbb\\x59\\x64\\xbd\\xac\\xdf\\x6f\\x42\\xba\\x7e\\x1c\\xd2\\xbf\\x63\\x7e\\x6e\\xec\\x95\\x52\\xf4\\x96\\x85\\xe4\\xf5\\xa7\\x8c\\xad\\x26\\xad\\x97\\xbe\\x36\\x86\\x9f\\xf5\\xe6\\x62\\x79\\x8b\\x3b\\xdf\\x2f\\xc8\\xd3\\xef\\x7c\\x93\\x9d\\x79\\xb2\\x51\\xbf\\xab\\x55\\xc3\\x02\\x37\\xf2\\x7c\\x67\\x8d\\x71\\xd1\\x21\\x8a\\xd1\\xcf\\xc6\\x44\\xa9\\x03\\xa5\\x43\\x53\\xa0\\x36\\xc6\\x1b\\x9c\\x21\\x27\\xb0\\xae\\x76\\x14\\xc3\\x28\\xb6\\x3e\\x31\\xb6\\x73\\x96\\xeb\\x68\\x05\\x1c\\x47\\x98\\xc7\\xc1\\x77\\x30\\xfa\\x3c\\xf0\\x89\\xfe\\xdd\\xba\\x7a\\x3f\\x76\\xef\\xb4\\xf6\\x84\\xfd\\x22\\x69\\xec\\x45\\x2d\\x1d\\x9f\\x4a\\x0b\\x47\\xa2\\xfd\\xbb\\xd3\\xcf\\xc1\\xf7\\x69\\x72\\x53\\xf8\\x48\\x19\\xc9\\xf3\\x82\\xd0\\x6f\\xf6\\x79\\x76\\xce\\xcf\\x91\\x3a\\x5a\\x16\\x36\\x34\\x72\\x3d\\x22\\x2b\\xcc\\x8b\\x25\\xcc\\x3d\\x98\\x7b\\xea\\x1f\\x52\\x8c\\x4f\\x37\\xb8\\x52\\xa5\\x8b\\x63\\xaf\\x14\\xbb\\x23\\xc4\\x67\\x1e\\x90\\x4e\\x2e\\x91\\xa2\\xd0\\x6f\\xd8\\x9a\\x5a\\x40\\x39\\xd0\\x03\\xfa\\xbd\\x5f\\x98\\xa8\\x7f\\x39\\x44\\x45\\x9f\\x5f\\x6a\\x32\\x4f\\x71\\x7f\\xf9\\x4a\\xa2\\x5d\\x37\\x4b\\xb1\\x73\\x9b\\x8c\\x72\\x1c\\x94\\x7f\\xd9\\x98\\x88\\x54\\x90\\xa3\\xbd\\x69\\x2b\\x73\\xef\\x57\\x1b\\x9c\\x3b\\x55\\x3d\\xa3\\xad\\xf5\\x10\\x6d\\x05\\xd0\\x14\\xc7\\x1a\\x99\\x68\\x97\\x9a\\xf6\\xda\\xef\\xc8\\x27\\x3a\\xf6\\x1b\\x8d\\x1d\\xfb\\x95\\x93\\xbc\\xfa\\xc5\\x71\\x42\\xed\\x74\\x3e\\x62\\xac\\xd6\\xf5\\xbf\\x97\\xe7\\x93\\x3a\\x18\\xec\\xd3\\xa5\\xa6\\x9a\\x7d\\xff\\xa7\\xed\\xff\\x0b\\xb1\\x8f\\xff\\x85\\x8c\\xfd\\x94\\x93\\xec\\xfa\\x7e\\x12\\x6c\\xbf\\x2c\\x84\\x5c\\xc6\\x87\\x9c\\x55\\x21\\x9d\\xd7\\xee\\x6f\\xd5\\x9d\\xd0\\xba\\xea\\x12\\xdc\\x1a\\xc2\\xf3\\x80\\xe3\\x25\\x19\\x47\\xf9\\x04\\xd4\\x42\\x13\\xfc\\x73\\xc2\\x5a\\xaa\\x2d\\x61\\x17\\xab\\x77\\xdd\\x45\\x2a\\xcf\\x25\\xea\\x63\\x68\\x90\\xc3\\x2f\\x5d\\x9c\\x7e\\xe9\\xea\\xd8\\x09\\x4e\\x75\\xa5\\x27\\xf9\\xbb\\xcb\\x65\\xc7\\xc0\\xda\\x5c\\xf3\\xb7\\xe8\\xd0\\xfb\\xb3\\x1b\\x68\\xd7\\x77\\x87\\xa1\\xe7\\x7e\\x13\\xfb\\xf3\\x5c\\x68\\x9f\\x4f\\x5c\\xc5\\xc4\\x21\\x9f\\xf3\\xcf\\x15\\xb2\\xda\\xd5\\xde\\x3e\\xa3\\x7c\\xee\\x9c\\x62\\x05\\xcc\\x7f\\x31\\xdf\\x1f\\x13\\x1f\\x39\\xdd\\x2e\\xf4\\xde\\xb8\\x20\\x74\\x6e\\xfe\\x92\\xf1\\x67\\x34\\xd1\\xf7\\x05\\xb4\\x16\\xaa\\x08\\xbd\\xbb\\x66\\xcd\\xb2\\x4a\\xed\\x35\\xc7\\x92\\x44\\x6c\\xb9\\x0b\\x7a\\x8f\\xe7\\x45\\xfa\\x6f\\x25\\x38\\xbf\\xea\\x33\\xec\\x8f\\xfa\\xee\\xab\\xdf\\xf7\\xeb\\x3b\\xab\\xbe\\xe3\\xea\\xfb\\x72\\xf5\\x3d\\xb9\\xe6\\x7d\\x58\\xdf\\x73\\xf5\\x1d\\xd7\\xb1\\x44\\xb2\\xf5\\x7d\\xf7\\x2f\\xc4\\x98\\x6a\\xfa\\xfb\\x5d\\xdb\\xda\\x6b\\x74\\xe1\\x4c\\x69\\xdf\\xb3\\xb9\\xf3\\xd6\\xbc\\x67\\xeb\\x3b\\x76\\xf5\\xfd\\xba\\xfa\\x6e\\x7d\\x81\\x7b\\xb5\\xbe\\xaf\\x6b\\xb9\\x7a\\x9c\\xe6\\x71\\xa6\\x68\\x1f\\xcf\\x46\\x11\\xc2\\x6f\\x28\\x37\\x53\\x3e\\x13\\x16\\x5a\\x89\\xec\\xf7\\xc4\\x22\\xf3\\xf0\\x53\\xaf\\x81\\xfa\\xdd\\xc1\\xb1\\x1a\\x74\\xf6\\x4f\\xd2\\xef\\x1c\\xce\\xb2\\x1e\\x9c\\x29\\x0e\\xfe\\x1e\\x62\\xd3\\x93\\xd0\\xac\\xe0\\x7b\\xf8\\x73\\xbc\\xa1\\xb1\\xf6\\x3b\\x8a\\xfa\\x35\\x78\\xcf\\xa3\\x33\\x16\\xb4\\x52\\xe4\\xf4\\xb7\\x94\\xef\\x50\\xde\\x1f\\x6c\\x3f\\x3b\\x8d\\x71\\xcb\\xa0\\x37\\x69\\xff\\x9d\\xe7\\xcb\\xa0\\x89\\xd4\\x59\\x9f\\xce\\xa6\\x50\\x76\\x3e\\x5f\\x96\\x3e\\xe7\\xc1\\xaf\\x7f\\x43\\x30\\x29\\x7f\\x0f\\xbe\\xef\\x0b\\xec\\xd7\\xbf\\x69\\x38\\x86\\xcb\\xa6\\xf3\\xa8\\x3f\\x34\\x38\\x54\\x6a\\xca\\x33\\xa3\\x59\\xaf\\x86\\x4b\\x87\\x10\\x0d\\x84\\x5a\\x43\\xf9\\xb4\\xeb\\xb2\\x09\\x94\\x1a\\xa2\\x66\\x50\\x1a\\xed\\xba\\x9e\\x0c\\xd5\\x87\\x3a\\x86\\x28\\x9d\\xf6\\x16\\xa1\\xf1\\xfd\\x6a\\xd0\\x18\\xda\\xfb\\x5d\\xc0\\x8e\\xc2\\x50\\x7f\\x5e\\x35\\x6f\\x88\\x2f\\x0d\\xca\\x82\\xb2\\xab\\x89\\xf6\\xec\\x90\\x8e\\x0e\\x35\\xf4\\x75\\xa4\\xbd\\xc3\\x79\\xba\\xaa\\xe5\\x54\\x9c\\x2f\\xbb\\x86\\xfc\\xf3\\xed\\x18\\x06\\x0d\\x87\\x4a\\x42\\xe5\\x30\\xf8\\x46\\x51\\x76\\x82\\x32\\x43\\xa4\\xeb\\x9d\\x68\\xd7\\x65\\x6f\\x28\\xb7\\x26\\xd1\\xae\\xcb\\x2b\\x42\\x94\\x15\\xa2\\xce\\xb4\\xeb\\x72\\xdd\\xf9\\xf4\\x0f\\x76\\x9c\\xef\\xc7\\x40\\xf8\\x34\\x96\\xe9\\x35\\x7c\\xd6\\x78\\x27\\x87\\x70\\x4e\\x0b\\xc5\\xa3\\x3a\\x36\\x4d\\x42\\x71\\xc9\\x0f\\xc5\\x6f\\x60\\x75\\x4c\\x43\\x71\\xcc\\xab\\x11\\x73\\x3b\\xfe\\xa1\\xb8\\xff\\xc5\\x0e\\x72\\x46\\xff\\xed\\xd0\\x3c\\xca\\x7b\\x43\\x74\\x73\\xe8\\xf7\\xab\\x97\\x20\\xf6\\xed\\xc0\\x23\\xfa\\xf7\\xdf\\xff\\x76\\x9e\\x23\\x27\\x3b\\x9e\\x47\\x03\\xfe\\x72\\x0e\\xfe\\x2f\\xe7\\xd6\\xff\\xc6\\xaf\\xdf\\x67\\xe8\\xbf\\xbd\\xd1\\x7b\\xab\\x2b\\x57\\xf4\\xbb\\xc4\\x77\\x83\\xef\\x04\\xec\\xbc\\xff\\x30\\x64\\x77\\xe8\\x7d\\xa1\\xa5\\x7f\\x3b\\xd4\\xbf\\x07\\x7e\\x15\\xfa\\x6d\\x96\\x67\\x6b\\x8e\\xfe\\x3d\\x8b\\xb6\\x4a\\xa8\\x7b\\xa8\\x7c\\x11\\xaa\\xaa\\x41\\x5f\\x9a\\x2f\\x58\\xcf\\xd8\\xa4\\xd7\\x21\\xbd\\xc6\\xa4\\xfc\\x49\\x7a\\x4d\\xd2\\x6b\\x58\\xf0\\xf7\\xc5\\xb3\\x8c\\x3d\\xfb\\xb4\\xa3\\x99\\xd4\\xb5\\x7f\\x5b\\x98\\x63\\xff\\xde\\x69\\x86\\xa8\\x61\\xf0\\x2f\\x20\\x1d\\xad\\xec\\xbf\\x61\\xd4\\xcf\\x0e\\x47\\xb4\\xfe\\x83\\x48\\xfd\\x27\\x91\\x3c\\x2f\\x36\\x67\\x98\\xf3\\xcc\\xc5\\xe6\\x0a\\x73\\x95\\x79\\xb7\\xf9\\xb6\\x33\\xce\\x99\\xec\\x7c\\xdd\\xf9\\x8d\\xf3\\x54\\xf2\\x9b\\x8d\\x6e\\x6f\\x74\\x67\\xa3\\xdf\\x3d\\x75\\x3d\\xc9\\x9e\\x5c\\x4f\\x7f\\xcf\\x70\\x4f\\x89\\x67\\xa4\\x67\\xb4\\x67\\x91\\x67\\x9b\\x67\\x97\\xe7\\x7d\\xcf\\x27\\x9e\\x1f\\x3c\\xa7\\x3c\\x01\\x6f\\x94\\xb7\\xb1\\xb7\\xa9\\x37\\xdd\\xdb\\xde\\xdb\\xd9\\xdb\\xd5\\xdb\\xdd\\x9b\\xe3\\x1d\\xe3\\x9d\\xe1\\x9d\\xe7\\x5d\\xe0\\x5d\\xe2\\x5d\\xef\\x7d\\xd2\\x7b\\xd2\\xe7\\xf4\\xc5\\xf9\\xea\\xfb\\x1a\\xfb\\x9a\\xfa\\xda\\xf8\\x06\\xf8\\x86\\xfa\\xc6\\xf8\\x96\\xf9\\x6e\\xf2\\x3d\\xd8\\xd8\\x68\\xec\\x6a\\x1c\\xd5\\x38\\xb6\\x71\\xdd\\xc6\\x89\\x8d\\x3d\\x8d\\x5b\\x34\\x6e\\xd9\\x38\\xbf\\x71\\x59\\xe3\\x09\\x29\\x46\\x4a\\x74\\x8a\\x2f\\x55\\x52\\x8d\\xd4\\xc8\\xd4\\xe8\\xd4\\xf8\\xd4\\x84\\xd4\\x86\\xa9\\x4d\\x52\\x5b\\xa5\\xb6\\x4f\\xed\\x9a\\x3a\\x35\\x75\\x69\\xea\\xb2\\xd4\\xe5\\xa9\\xab\\x52\\x6f\\x4c\\xbd\\x3b\\x75\\x73\\xea\\x13\\xa9\\x3b\\x52\\x9f\\x4b\\xdd\\x95\\xfa\\x56\\xea\\x3b\\xa9\\x07\\x53\\x8f\\x35\\xed\\xda\\xd4\\xdf\\xb4\\x67\\xd3\\xd2\\xa6\\xe3\\x9b\\x4e\\x6c\\x7a\\x71\\xd3\\x19\\xad\\xa6\\xb5\\xba\\xa4\\x4d\\xfd\\x07\\x7c\\x0f\\xac\\x3a\\xe9\\x3c\\x6d\\x9c\\xee\\x78\\xba\\xeb\\xe9\\xee\\xa7\\x7b\\x9c\\xce\\x39\\x3d\\x30\\x90\\x62\\x9d\\xb1\\x2c\\xfb\\x6f\\x2f\\x37\\x99\\x73\\xcd\\xcb\\xcc\\x65\\x20\\x70\\xbd\\x79\\x8f\\xb9\\xcf\\x99\\xe8\\x5c\\xe7\\xdc\\xe7\\x3c\\x99\\x2c\\xc9\\x01\\x10\\xd8\\xe4\\x11\\x4f\\x82\\xc7\\xeb\\xc9\\xf7\\x14\\x86\\x10\\x18\\xeb\\x59\\xea\\x79\\xca\\xf3\\x9a\\xe7\\x43\\xcf\\xa7\\x9e\\x9f\\x3c\\xbf\\x78\\xc5\\x1b\\x0b\\x02\\x17\\x79\\xdb\\x79\\xb3\\xce\\x21\\x30\\xc5\\x3b\\xd7\\x7b\\x09\\x08\\xac\\xf5\\x6e\\x0a\\x21\\x50\\x2f\\x84\\x40\\x7f\\xdf\\x10\\xdf\\x48\\x10\\x58\\x7b\\x0e\\x81\\x18\\x10\\x68\\xd0\\xb8\\x51\\x08\\x81\\xd2\\xc6\\xe5\\x36\\x02\\xde\\x7f\\x40\\xa0\\xf0\\x1c\\x02\\x6b\\x53\\x37\\xa5\\x3e\\x7c\\x0e\\x81\\x37\\x41\\xe0\\x00\\x08\\x74\\x3e\\x87\\xc0\\x84\\xa6\\x53\\x40\\xa0\\xb4\\xd5\\x2c\\x10\\xa8\\xff\\xc0\\xf2\\x93\\x8e\\xd3\\xea\\x74\\xf2\\xe9\\x4e\\x20\\xe0\\x3f\\xdd\\xeb\\x74\\x5e\\xc0\\xab\\x11\\xb0\\x8e\\x5a\\x2f\\x5b\\x2f\\x58\\x3b\\xac\\x27\\xad\\x6d\\xd6\\x56\\xeb\\x09\\x6b\\x8b\\xf5\\x88\\xd5\\xc9\\x4a\\xb7\\x5a\\x1e\\xf7\\x56\\x9d\\xa8\\xfa\\xb6\\xea\\x9b\\xaa\\x2f\\xab\\x8e\\x54\\x1d\\xae\\xfa\\xac\\xea\\x50\\xd5\\x27\\x55\\x1f\\x57\\x1d\\xac\\x3a\\x50\\xf5\\x61\\xd5\\xfe\\xaa\\x0f\\xaa\\xde\\xab\\x7a\\xb7\\xea\\x9d\\xaa\\xb7\\xab\\xf6\\x56\\xed\\xa9\\x7a\\xa3\\xea\\xd5\\xaa\\x5d\\x55\\x3b\\xab\\x5e\\xac\\x7a\\xa1\\xea\\x99\\xaa\\x4d\\x55\\x37\\x55\\xad\\xab\\x5a\\x5b\\xb5\\xa2\\xea\\xb2\\xaa\\x19\\x55\\x1d\\xaa\\x7c\\x55\\xf1\\x55\\xb1\\x55\\x61\\x55\\xce\\x63\\x81\\x63\\x87\\x8f\\x1d\\x3a\\xf6\\xe1\\xb1\\x2d\\xc7\\xee\\x3f\\xb6\\xfe\\x58\\x97\\x63\\x9d\\x8e\\xa5\\x1f\\x4b\\x3b\\xd6\\xfa\\xd8\\x45\\xc7\\x9a\\x1d\\x6b\\x74\\x2c\\xf9\\x98\\xfa\\xea\\x9b\\xaf\\x8e\\x7f\\xd5\\xef\\xab\\xec\\xaf\\xd2\\x8f\\x0e\\x3e\\x3a\\xe8\\x68\\xfe\\xd1\\xdc\\xa3\\x3d\\x8f\\x66\\x1f\\xed\\x7a\\xb4\\xc3\\xd1\\x36\\x47\\x9b\\x1d\\xf5\\x1e\\xad\\x7d\\xe4\\x8f\\x23\\xbf\\x1e\\x39\\x75\\xe4\\xc7\\x23\\xdf\\x1f\\x39\\x72\\xe4\\xe3\\x23\\xfb\\x8f\\xbc\\x7d\\x64\\xef\\x91\\xd7\\x8e\\xbc\\x74\\xe4\\xc5\\x23\\x4f\\x1f\\x79\\xe4\\x48\\xf1\\x91\\xa2\\x23\\x43\\x8f\\x64\\x1e\\xe9\\x70\\xa4\\xfd\\x91\\xb6\\x47\\xda\\x1c\\xea\\x7e\\xa8\\xcb\\xc7\\x1b\\xcb\\xee\\x28\\xcb\\x4c\\xd8\\x59\\xfb\\xd5\\xda\\x8f\\xd4\\x7e\\xb8\\xf6\\x43\\xb5\\x1f\\xac\\xfd\\x40\\xed\\xfb\\x23\\x3e\\x0c\\x0b\\x84\\xfe\\x3e\\xf8\\xff\\xcb\\x1f\\x97\\x11\\xa1\\x0b\\x25\\x7f\\xc3\\x42\\xd9\\x17\\x28\\xfd\\x31\\xfe\\x8b\\x8c\\xe0\\x48\\x93\\x4b\\x97\\x53\\x5c\\xac\\x2b\\x61\\x12\\x2e\\x11\\x52\\x4b\\x22\\xa5\\xb6\\xd4\\x91\\x28\\x89\\x96\\x18\\x89\\x95\\x38\\x89\\x97\\xba\\x52\\x4f\\xea\\x4b\\x82\\x34\\x90\\x44\\x49\\x62\\x35\\x4a\\x96\\x46\\xe2\\x61\\x0e\\xfa\\xa4\\xb1\\xa4\\x48\\x13\\x49\\x95\\xa6\\xd2\\x4c\\x9a\\x4b\\x0b\\xb9\\x88\\xb5\\xb2\\x95\\xb4\\x96\\x36\\x9c\\x31\\xd2\\xa5\\x2d\\x27\\xca\\x0c\\x69\\x2f\\x1d\\xa4\\xa3\\x64\\x4a\\x27\\xc9\\x92\\xce\\xd2\\x45\\xba\\x4a\\x37\\xe9\\x2e\\xd9\\xe2\\x97\\x1e\\xd2\\x53\\x7a\\x49\\x8e\\xe4\\x72\\x6b\\xe9\\x2d\\xf9\\xd2\\x47\\xfa\\xb2\\x0e\\xf6\\x93\\xfe\\x32\\x40\\x06\\x4a\\xa1\\x0c\\x92\\xc1\\x32\\x44\\x86\\x4a\\x91\\x0c\\x93\\xe1\\x52\\x2c\\x25\\x32\\x42\\x46\\xca\\x28\\x19\\xcd\\x49\\x66\\xac\\x94\\xea\\x3b\\x9c\\x5c\\x23\\xd7\\xca\\x75\\xb2\\x52\\x6e\\x94\\x0d\\xdc\\xc9\\xee\\x91\\x7f\\xc9\\xbd\\x72\\xbf\\xdc\\x27\\x0f\\xc8\\x43\\xdc\\x20\\x1f\\x96\\xcd\\xf2\\xa8\\x3c\\x2e\\x8f\\x49\\xa5\\x6c\\x91\\xad\\x9c\\xc0\\xb6\\x71\\x6a\\xdb\\x2e\\x4f\\xcb\\x73\\xf2\\xac\\x3c\\x2f\\x2f\\xb8\\xbf\\x95\\xd9\\x52\\x2e\\x13\\x64\\xb2\\xfb\\x84\\x2c\\x90\\xbb\\x65\\xa6\\x5c\\x1c\\x76\\x91\\xcc\\x97\\x29\\x61\\x7d\\x65\\xb9\\xdc\\x16\\x96\\xcb\\xe9\\xbc\\x5f\\x58\\x7f\\x99\\x24\\x97\\x84\\x75\\x0b\\xf3\\x87\\x65\\x9b\\xb3\\xc3\\xf2\\x65\\xaa\\x5c\\x6e\\x8e\\x64\\x1f\\xd9\\x21\\x57\\xc8\\x78\\x99\\x1e\\x96\\xa3\\x86\\x86\\xf5\\x09\\xeb\\x2e\\xd3\\x64\\x91\\xfb\\x7b\\x19\\x27\\x57\\xca\\xd5\\x72\\x8b\\x8a\\x57\\x75\\xdd\\x9f\\xb9\\x3f\\x77\\x57\\xb9\\x8f\\xbb\\x8f\\xba\\xbf\\xe4\\x1c\\xb9\\x52\\x5e\\x52\\x9d\\xdd\\x67\\xc3\\x92\\xdc\\xbf\\xbb\\xff\\x08\\x7b\\x2d\\xec\\x75\\xf7\\x77\\x72\\xa9\\xfb\\x2b\\xf7\\xd7\\xee\\x9f\\x65\\x99\\xac\\x92\\xab\\x64\\xb5\\xac\\x90\\x35\\xb2\\x56\\xd6\\xc9\\xf5\\x72\\x93\\xb0\\x2b\\xc9\\x7a\\xd9\\x28\\x77\\xc8\\xed\\xf2\\x6f\\x63\\xb9\\x71\\xa7\\xcc\\x32\\x6e\\x33\\x6e\\x37\\x36\\xca\\x65\\xc6\\x5d\\xc6\\x1d\\xc6\\x75\\x22\\xfe\\xde\\x23\\x47\\x94\\x14\\x17\\x0d\\x1d\\x32\\x78\\x50\\xe1\\xc0\\x01\\xfd\\xfb\\x15\\xf4\\xed\\x93\\xdf\\x3b\\x2f\\x37\\xa7\\x57\\xcf\\x1e\\xfe\\xec\\xee\\xdd\\xba\\x76\\xe9\\x9c\\xd5\\x29\\xb3\\x63\\x87\\xb6\\xe9\\x69\\x6d\\x5a\\xb7\\x6a\\xde\\xac\\x69\\x6a\\x93\\x94\\xc6\\x3e\\x4f\\x42\\x7c\\x4c\\x74\\x54\\x9d\\xda\\xb5\\x22\\xc2\\xc3\\xdc\\x2e\\xa7\\xc3\\x34\\x94\\xb4\\xf2\\x56\\xaa\\xd2\\xdc\\x4a\\x33\\xd5\\x1b\\x93\\x57\\x96\\x92\\x9b\\x52\\x96\\xdf\\xba\\x95\\x37\\x37\\xa1\\x22\\xa7\\x75\\xab\\xdc\\x94\\xbc\\xd2\\x4a\\x6f\\x99\\xb7\\x92\\xc2\\xd1\\x34\\x25\\x3f\\xdf\\x6e\\x4a\\x29\\xab\\xf4\\x96\\x7a\\x2b\\x9b\\x52\\x94\\xd5\\x68\\x2e\\xad\\xf4\\xc3\\x39\\xf1\\x3c\\x4e\\x7f\\x90\\xd3\\x7f\\x8e\\x53\\x45\\x7b\\xbb\\x4a\\x57\\xad\\x22\\xc5\\x5b\\xb9\\x37\\x27\\xc5\\xbb\\x5d\\x8d\\x18\\x54\\x4c\\x7d\\x75\\x4e\\x4a\\x89\\xb7\\xf2\\x84\\x5d\\xef\\x6f\\xd7\\x1d\\x4d\\xed\\x87\\xda\\x3c\\xf8\\x7c\\x8c\\xb0\\xad\\xd2\\xd6\\x7a\\x73\\x2b\\xf3\\xe6\\x57\\xac\\xc8\\x2d\\xc5\\x46\\xb5\\xa5\\x56\\x44\\xaf\\x94\\x5e\\x13\\x22\\x5a\\xb7\\x92\\x2d\\x11\\xb5\\xa8\\xd6\\xa2\\x56\\xd9\\x3c\\x65\\xe6\\x16\\xd5\\xbc\\xbb\\xb2\\x2b\\x46\\xf3\\xdc\\xce\\x5b\\x0c\\x09\\xab\\xad\\xd5\\xe2\\x69\\x6e\\x59\\x79\\x65\\xe1\\xa0\\xe2\\xdc\\x9c\\x24\\x9f\\xaf\\xa4\\x75\\xab\\x3e\\x95\\x75\\x52\\x72\\xec\\x2e\\xe9\\x65\\x8b\\xac\\x74\\xf5\\xaa\\x74\\xdb\\x22\\xbd\\x93\\xb5\\xe9\\xb2\\xd2\\xbb\\xa5\\xd5\\xce\\x15\\xab\\xb6\\x47\\xcb\\xb8\\xd2\\x96\\x91\\xe5\\x29\\xe5\\x65\\xa3\\x8a\\x2b\\xcd\\x32\\xc6\\xae\\x30\\x73\\x57\\xac\\xb8\\xb6\\x32\\xa6\\x65\\x65\\x8b\\x94\\x9c\\xca\\x16\\x97\\x7d\\x99\\x80\\xe7\\x13\\x2a\\x5b\\xa5\\xe4\\xe4\\x56\\xb6\\xd4\\x52\\x0b\\x06\\x9f\\xd3\\x53\\xf0\\xa7\\x4a\\x55\\xe9\\x4c\\x65\\xdb\\x58\\xf1\\xb3\\xe0\\x4e\\xca\\x89\\xef\\xfe\\xda\\x52\\x16\\x6a\\x71\\xa5\\x46\\xff\\x2c\\xba\\x5a\\x69\\xf4\\xaa\\x54\\x83\\x8b\\x7d\\xfa\\x93\\x94\\x07\\xd6\\x2b\\x56\\xe4\\xa5\\x78\\xf3\\x56\\x94\\xae\\x28\\xdb\\x6e\\x2d\\x1d\\x97\\xe2\\x8d\\x4e\\x59\\xb1\\x25\\x32\\x72\\xc5\\xcc\\x5c\\xe0\\x96\\xc2\\x62\\x44\\x6c\\xb7\\x76\\xac\\x4c\\xaa\\xcc\\x5b\\x55\\x52\\x19\\x5d\\x5a\\xa1\\x3a\\x97\\x84\\x5c\\xcf\\x1b\\x5c\\x50\\x19\\x37\\x68\\x64\\x71\\xa5\\x91\\x9a\\xe7\\xad\\x28\\xa3\\x85\\xff\\x65\\xa7\\xf8\\x3a\\x25\\xf9\\x62\\xce\\xf1\\x14\\xfe\\x53\\xb7\\x00\\x0b\\xe0\\x80\\xb0\\xcf\\xa7\\x61\\x58\\xb9\\xdd\\x2f\\xe3\\x78\\xa8\\x5c\\x3a\\xa8\\x38\\xf8\\xec\\x95\\x71\\x49\\x4f\\x88\\x3f\\xad\\x65\\x49\\xa5\\x51\\xaa\\x7b\\x76\\x56\\xf7\\xd4\\x2d\\xd2\\x3d\\x4b\\xab\\x7b\\xce\\x0d\\x2f\\x4d\\x21\\xb6\\x05\\x43\\x8a\\x57\\x54\\x3a\\x52\\xfb\\x94\\xa7\\xe4\\x82\\xf8\\xca\\xb2\\xca\\xa5\\xe3\\xc8\\xae\\x29\\x3a\\x30\\x29\\xd1\\x95\\x75\\x7e\\x49\\xf2\\xa5\\xac\\x88\\x8d\\xf1\\x66\\xa5\\x95\\xd8\\xbc\\x5e\\xac\\xea\\x53\\x3e\\xd9\\x5b\\xe9\\x6c\\x0a\\x48\\x8c\\xaa\\x39\\x80\\xbc\\xd1\\x43\\x56\\x44\\xdb\\x0f\\x75\\x7e\\x09\\x16\\x27\\x92\\x50\\xd0\\x34\\x26\\xd6\\x9b\\x95\\x82\\x18\\x2d\\x27\\x37\\x25\\xb7\\x34\\xf4\\xbf\\xf9\\x15\\x09\\x08\\xf0\\x02\\x74\\x7e\\xcb\\x60\\x22\\x0c\\x2d\\xae\\xf4\\xe7\\x50\\xf1\\x97\\x85\\x22\\x96\\xbb\\x25\\x3d\\x8d\\x11\\x65\\xa5\\x04\\x6c\\x72\\x8e\\x1d\\xcc\\xca\\xb4\\x94\\x99\\x95\\xf1\\x29\\x3d\\xcf\\x45\\x57\\x9b\\x95\\x3b\\x79\\x48\\xb1\\x3d\\x24\\x34\\xac\\x32\\xbe\\x57\\xa5\\x94\\x8e\\x0f\\x8d\\xaa\\x4c\\xcb\\xb5\\xe7\\x95\\x37\\x77\\x45\\x69\\x4e\\xd0\\x04\\x2d\\x2b\\x65\\x50\\xf1\\x33\\x92\\x61\\x1d\\xde\\xd2\\xde\\x9b\\xb4\\x55\\x2f\\x9d\\x25\\x39\\x9a\\xb9\\x5e\\x2f\\xb2\\xac\\x69\\xee\\x8a\\xe2\\xf2\\x89\\x95\\x9e\\xd2\\xa4\\x72\\xe6\\xdd\\x44\\x6f\\x71\\x92\\xaf\\xd2\\x5f\\x42\\x84\\x4b\\x52\\x8a\\x27\\x94\\xe8\\xb4\\x03\\xa1\\x16\\x87\\x93\\xec\\xe4\\x28\\xb1\\x73\\x65\\x68\\x71\\xc1\\x90\\x94\\x82\\x41\\x23\\x8a\\x3b\\x85\\x0c\\x09\\x76\\x68\\x71\\x8e\\xd4\\xdc\\xf3\\xc4\\xa4\\x14\\x27\\x05\\xc5\\x90\\x80\\x95\\x61\\xa9\\x61\\xde\\x62\\x23\\xc9\\x2c\\x81\\x31\\x9a\\x06\\x6f\\x1e\\x95\\x94\\x9e\\x5d\\xf9\\xae\\x74\\xa7\\x86\\x41\\xd1\\x00\\x6e\\xb7\\xea\\xc4\\xed\\xd9\\xd5\\x5b\\xac\\x92\\xa4\\x9a\\x1b\\x33\\x2a\\x5b\\x78\\x73\\x27\\xe4\\x84\\xf8\\xf4\\xf3\\x5f\\x84\\x3a\\x75\\x3a\\xf5\\xca\\xaf\\x96\\xe6\\xd2\\x8f\\xc8\\xe9\\x95\\x9f\\xe4\\x2b\\xf1\\x05\\x3f\\xad\\x5b\\x19\\x74\\x7b\\x43\\x8a\\x19\\x11\\xa6\\x41\\xcd\\xaf\\xee\\x62\\x99\\xa2\\x23\\x8c\\xfc\\xec\\x95\\x6f\\x37\\x69\\x2c\\x13\\x74\\xd2\\x7b\\x8b\\x53\\x26\\xa4\\x94\\xa4\\x54\\x78\\x2b\\xfd\\x85\\xc5\\xda\\x37\\x0d\\x8f\\x8d\\x72\\x08\\x0c\\x1b\\xf3\\x50\\xac\\x86\\xfe\\xe5\\xa9\\x06\\x58\\xc0\\x24\\x3e\\xba\\xab\\x1f\\x34\\x98\\x95\\x79\\x2d\\x93\\x6a\\x82\\x5b\\xd9\\xdb\\x7e\\x3e\\xf7\\x98\\x7f\\x5e\\x77\\x9f\\xea\\x6e\\xef\\x8a\\xb0\\x94\\x82\\x21\\x2b\\xb4\\xf0\\x94\\x90\\x40\\xc1\\xf2\\x3e\\x95\\xa2\\x53\\xd8\\xdf\\x29\\x26\\xc9\\x5e\\x0b\\xf4\\x84\\x4e\\x61\\xed\\xf5\\x46\\x33\\xa5\\xed\\x09\\xbd\\x62\\x8b\\xdf\\xaf\\x27\\x73\\x45\\x67\\x2d\\x24\\xa5\\x4f\\xf9\\x8a\\x94\\x21\\xc5\\x5d\\x6d\\x6e\\xd6\\x93\\x45\\x49\\x97\\x69\\x5d\\xb1\\x52\\xa0\\x0a\\x86\\xf6\\x6c\\xdd\\x8a\\xa5\\xad\\xe7\\x96\\x14\\xb5\\x7c\\xd0\\x16\\xbf\\x5a\\x3e\\x64\\x44\\xf1\\x33\\x5c\\x1a\\xbc\\xcb\\x87\\x16\\x3f\\x61\\x28\\xa3\\x57\\x69\\xcf\\x92\\x2d\\x4d\\xe8\\x2b\\x7e\\xc6\\xcb\\xa6\\x61\\xb7\\x1a\\xba\\x55\\x37\\xea\\x07\\xaf\\x7e\\xd0\\x92\\x06\\xf3\\x10\\x66\\xf3\\x27\\x3d\\xe3\\x17\\x59\\x6a\\xf7\\x3a\\xec\\x06\\xfb\\x79\\xfc\\x76\\x25\\x76\\x5b\\x58\\x75\\x9b\\x92\\xf1\\xdb\\x8d\\x60\\x5b\\x74\\x50\\x51\\x53\\x5b\\x91\\x9f\\x33\\xc8\\xf8\\xed\\x8e\\x60\\x8f\\xbf\\x9a\\xdb\\x41\\x5b\\x58\\xb0\\x6d\\xa9\\xdd\\x66\\x7f\\xb6\\x88\\x86\\xcc\\x1f\\xe1\\xf4\\x87\\xf9\\xc3\\xfd\\x91\\x46\\x6d\\x23\\x69\\x8b\\xd2\\x4d\\x4f\\xd0\\xb2\\x83\\xb3\\x4a\\xb8\\x92\\xad\\x91\\xaa\\xb6\\x4a\\xda\\xc2\\xa8\\xc1\\x76\\xf3\\x76\\xb5\\x74\\x4b\\xb8\\x3f\\x29\\xc8\\xb1\\x14\\x0e\\x7f\\xd0\\xc2\\xe5\\x45\\x7f\\xaa\\x2e\\x1a\\x51\\xbc\\x95\\x13\\x8d\\x4a\\xb2\\xbf\\x51\\xd4\\x53\\x7f\\x48\\x97\\x84\\x0a\\x82\\xcd\\xb6\\x92\\xeb\\x2d\\xd7\\x89\\x72\\x79\\x49\\xc5\\x8a\\xd2\\x12\\x3d\\xd9\\xa4\\x1e\\xa1\\xe1\\x7f\\xaa\\x52\\xa5\\x74\\x27\\x4c\\x29\\xdd\\x31\\xc4\\x15\\x59\\x19\\x91\\x32\\xa1\\x67\\x65\\xad\\x94\\x9e\\xba\\x3d\\x5b\\xb7\\x67\\x07\\xdb\\x5d\\xba\\xdd\\x4d\\x8a\\xaa\\x7a\\x8a\\xe1\\x4b\\x89\\x7d\\x61\\xa5\\xd2\\x19\\x30\\xb2\\xd8\\xc7\\x94\\xf4\\x26\\xee\\x4e\\x5a\\x11\\x7d\\x42\\x47\\xaa\\x84\\x45\\x65\\x45\\xf4\\x57\\xad\\x7b\\x8c\\x12\\x8f\\x9a\\x20\\x4b\\xa0\\xc7\\x21\\x53\\x55\\xa8\\x49\\x9c\\xad\\x3c\\xaa\\x54\\x06\\xa8\\xb1\\x52\\xa4\\x7a\\x48\\x37\\xe5\\xa7\\x04\\x5b\\xd5\\x93\\xb2\\x17\\xcf\\xba\\x6c\\x23\\x4b\\x55\\x37\\xca\\x6e\\xb4\\x77\\xa7\\xe4\\x2c\\xa5\\xba\\x70\\x3e\\x8a\\xe2\\x3b\\x0d\\xca\\x86\\x96\\x40\\x0e\\x28\\xc8\\x91\\x0e\\x47\\x1a\\x65\\x5a\\xe8\\xb9\\x35\\xcf\\xad\\x18\\xe1\\xe1\\x7b\\x20\\xf4\\x22\\x64\\x42\\xc1\\xde\\x6c\\x7a\\x75\\xd9\\x97\\xe7\\x7c\\xb8\\x44\\xf5\\x96\\x68\\xc8\\x0b\\x99\\xd6\\x4e\\xd5\\xfb\\x89\\x98\\x7a\\x79\\x3d\\xe2\\x55\\x1e\\x7c\\xb9\\xf0\\xe5\\x06\\xf9\\x54\\x1f\\x9e\\x35\\x7f\\xa1\\x72\\x93\\x0d\\x69\\xf6\\xf7\\xe3\\xca\\xe1\\xcf\\x53\\xfb\\xce\\xaa\\x17\\xcf\\xaa\\xe8\\xb3\\x6a\\xc6\\x69\\xe5\\x3f\\xad\\x7e\\x4a\\x7c\\xc3\\xf3\\xeb\\xd8\\x0c\\xcf\\x2f\\x63\\x2d\\xcf\\xcf\\x03\\x2c\\xcf\\x8f\\x27\\x33\\x3c\\xd9\\x27\\x07\\x9e\\x34\\xaa\\x8e\\x65\\x78\\xa2\\x8e\\x29\\x39\\x16\\x7d\\xcc\\xf8\\xea\\x4b\\xcb\\xf3\\xe5\\x23\\x19\\x9e\\x2f\\x0e\\xb7\\xf3\\xdc\\x75\\xf8\\xf1\\xc3\\xc6\\x0e\\x15\\x81\\x82\\x70\\x7f\\x44\\xd1\\xe7\\xdd\\x3e\\x2d\\xfa\\xac\\xdb\\xa1\\x22\\x79\\x4e\\x85\\xa3\\x23\\x1c\\x9b\\xc2\\x9f\\xa8\\x15\\x9d\\xb7\\x9d\\xde\\x34\\x65\\x16\\xc9\\xa7\\x60\\xf2\\x69\\xfa\\xa7\\x85\\x9f\\x2e\\xfd\\xb4\\xf2\\x53\\x67\\xd8\\xa7\\xb4\\x1d\\x32\\xbb\\x7a\\x3e\\xfa\\xd0\\xe3\\xd9\\x8f\\xce\\x0f\\x3e\\xb0\\x3c\\xaf\\xee\\xb2\\x3c\\xef\\xee\\xcb\\xf0\\x6c\\xb7\\x76\\xfa\\xe7\\xed\\x0b\\x8f\\xcc\\x8b\\x7a\\x59\\xf9\\x77\\x2a\\xff\\x4b\\x85\\x2f\\x95\\xbe\\x64\\x3e\\xd7\\xdb\\xf2\\xbc\\xd0\\xbb\\xa5\\xe7\\xf1\\xe7\\x5f\\x7c\\xde\\x78\\xf1\\xf9\\x77\\x9e\\x37\\xc6\\x3e\\x3f\\xe3\\xf9\\x25\\xcf\\x3f\\xfe\\xbc\\xc3\\xff\\x3c\\xcc\\x3b\\x90\\xf2\\xcc\\xa3\\x96\\x27\\xea\\xe9\\xec\\xa7\\x8d\\xa7\\x70\\x61\\xc9\\x93\\x8f\\x3f\\x69\\xa4\\x6d\\xcd\\xde\\xfa\\xe2\\x56\\x33\\x8a\\x62\\xec\\xd6\\x1f\\xb6\\x3a\\xd6\\x56\\xaa\\x4d\\x24\\x41\\xe5\\xce\\x4a\\xe3\\xf1\\x47\\x3d\\x9e\\xc7\\x1e\\x6d\\xef\\x59\\xbb\\x59\\x6d\\xda\\xac\\x2a\\x37\\xef\\xdc\\x6c\\x6c\\x57\\x75\\x9e\\x30\\x13\\x3c\\xdb\\x55\\x6d\\xbf\\x27\\xc9\\xf2\\x6c\\x7a\\xa8\\xf2\\x21\\xe3\\xa1\\xdb\\x33\\x3c\\x77\\x20\\x7b\\x23\\x94\\x7e\\xbb\\xff\\x76\\x63\\xdf\\xed\\x2a\\xea\\x76\\xb5\\x5d\\x25\\x3e\\x71\\x73\\x43\\x58\\xe3\\xfc\\xde\\x5b\\x33\\x3c\\x77\\x61\\x5d\\xf6\\xad\\x4a\\x36\\x44\\x6f\\xf0\\x6e\\x30\\x4b\\x37\\xa8\\x5b\\xe8\\x4c\\xbf\\xd9\\x7f\\xb3\\xb1\\xef\\x66\\x78\\x23\\xb7\\x22\\xae\\xb4\\x47\\x2d\\x55\\x17\\x70\\x96\\xaa\\x78\\xbe\\xfd\\x7c\\x17\\x42\\x87\\x55\\xbc\\xbf\\x85\\xb9\\xfe\\x46\\x8f\\x67\\xe6\\x0d\\x4b\\x6f\\x58\\x7b\\x83\\xb9\\x6e\\x4d\\x86\\x67\\xed\\xaa\\x0c\\xcf\\xf5\\x57\\x5b\\x9e\\xd5\\xcb\\x2c\\x4f\\xda\\x2a\\x35\\x76\\x95\\x8a\\x5a\\xe5\\x59\\xb5\\x64\\x95\\xb9\\x5d\\xd5\\xf2\\x47\\xac\\xcc\\xf0\\xa4\\xaf\\xf0\\xaf\\x28\\x5c\\x61\\x6a\\xa8\\x22\\xaf\\x4b\\x6c\\x94\\xb7\\xfc\\xca\\x0c\\xcf\\x35\\x57\\x5a\\x36\\x76\\x7d\\x96\\x01\\xc7\\x25\\x03\\xba\\x7a\\x64\\x7e\\xf4\\xfc\\x4d\\xf3\\xcd\\x91\\xf3\\xd5\\xbc\\xb1\\x5e\\xcf\\xdc\\x52\\xcb\\x33\\x07\\x27\\x66\\xcc\\x5e\\x32\\xdb\\xb8\\x6b\\xf6\\xe3\\xb3\\x8d\\x59\\xbd\\x1b\\x79\\x66\\x4c\\x6f\\xef\\x99\\xde\\xbb\\x9d\\x47\\x12\\xa3\\x13\\x8d\\x44\\x95\\x50\\xd4\\x20\\x23\\xa1\\xc8\\x9d\\x61\\x16\\xb9\\x4c\\xf0\\x24\\x8c\\x49\\x4f\\xc4\\x37\\x24\\x8c\\xf5\\x9f\\x18\\xd7\\x1e\\x6f\\xeb\\x6d\\x1d\\xdb\\xde\\x23\\x3d\\x22\\x54\\x34\\xf9\\x17\\x4d\\xfe\\x45\\xcb\\x26\\xc8\\x01\\x63\\xb4\\xff\\xce\\xa8\\xb8\\xbc\\x32\\xfa\\x4b\\xa1\\xb1\\x03\\x3d\\x9e\\xa8\\x31\\x9e\\x31\\x69\\x63\\xee\\x1a\\xf3\\xf8\\x18\\xe7\\xc8\\x11\\x2d\\x3d\\xa5\\x23\\xf6\\x8d\\x30\\xa2\\x46\\x78\\x46\\x18\\xf1\\x2a\\xb6\\x28\\x2e\\x23\\xb6\\xc8\\x49\\x16\\x38\\xd0\\x15\\x65\\xa6\\x99\\xd9\\xe6\\x58\\x73\\x89\\xf9\\xb8\\xe9\\x92\\x21\\xd1\\x43\\x96\\x0e\\x31\\x97\\x0e\\x52\\x33\\x06\\x2c\\x19\\xb0\\x66\\x80\\xb9\\xb4\\xaf\\xea\\xdb\\x3b\\xc2\\xd3\\xa7\\x77\\x86\\x67\\x60\\xfe\\xd8\\x7c\\x23\\xaa\\xb7\\xa7\\xb7\\xfd\\x95\\xd6\\xfb\\xae\\xde\\x8f\\xf7\\x76\\x26\\xab\\xa4\\xa2\\x86\\xf9\\x49\\x45\\xf5\\x32\\xea\\x16\\xad\\x89\\x51\\x85\\x31\\x2a\\x2a\\x46\\x2d\\x8d\\x51\\x94\\x45\\xd1\\x19\\x51\\x45\\x9c\\xa1\\x8b\\x54\\x86\\x14\\x6d\\x57\\x09\\xfe\\x06\\x49\\x19\\x9e\\xb4\\x28\\x2b\\xca\\x88\\x8a\\x1a\\x1b\\xb5\\x24\\xca\\x8c\\xe2\\xc2\\x63\\x2c\\xad\\xa7\\x9c\\x04\\x69\\xed\\x96\\xa1\\x43\\x5a\\xb6\\x2c\\xd8\\xee\\xb6\\x38\\x83\\xb9\\x0b\\x47\\x56\\xaa\\xe5\\x95\\xa9\\x43\\xf4\\xb7\\x7f\\xd0\\x88\\x4a\\xd7\\xf2\\x4a\\x29\\x1a\\x31\\xb2\\x78\\x8b\\x52\\xd7\\x97\\x5c\\xbd\\x7a\\xb5\\xf4\\x4c\\x2e\\xa8\\x6c\\x37\\xa4\\xb8\\xb2\\x34\\xb9\\xa4\\xa0\\xb2\\x9c\\x8a\\x5f\\x57\\x96\\x52\\x89\\x4e\\xde\\x52\\x4f\\x7a\\x96\\xcc\\x99\\x33\\xb7\\xa5\\xfe\\xcc\\x99\\x3b\\x57\\x57\\xd4\\x9c\\xb9\\x73\\x78\\x90\\xb9\\xf3\\xe6\\xcc\\x69\\x19\\x7c\\xe6\\x49\\xd7\\x82\\x6c\\xf4\\x29\\x9b\\x5b\\xec\\xef\\x96\\x2a\\xd8\\x25\\x73\\xe6\\xce\\xb3\\x3b\\x5b\\xea\\xf1\\xf6\\x20\\x2d\\x87\\x76\\x5b\\xfc\\x3c\\x5b\\xd0\\x3c\\xd1\\x43\\xe6\\xcd\\x99\\xab\\x90\\x38\\xc7\\x1e\\x3f\\x4f\\x69\\x1e\\x9e\\x79\\xd4\\x55\\x2d\\x63\\xcc\\x9c\\x31\\x73\\xf4\\xb7\\xad\\x5d\\x37\\x21\\x3a\\x58\\x61\\x84\\xfe\\x28\\x28\\xf8\\x14\\xa2\\xe0\\x97\\x5d\\x49\\x10\\x71\\xae\\xe6\\xce\\x39\\xc8\\xd9\\x8d\\x5b\\xe8\\x0c\\x67\\x37\\x67\\xbf\\xbf\\x5e\\x5c\\xcd\\xcd\\xdc\\x44\\xb7\\x89\\x58\\xdf\\xe9\\xa7\\xea\\xef\\xc0\\xd1\\x40\\x3f\\xeb\\x8f\\xff\\xdb\\x0b\\xf5\\x85\\x3e\\xd5\\x6f\\xfd\\x59\\x7c\\x3e\\x96\\x3f\\x88\\x6c\\xf0\\x33\\x82\\xfb\\xe2\\xe5\\xdc\\xca\\xae\\x39\\xd7\\x12\\xe4\\x6a\\xa1\\x32\\xe9\\x5b\\xc4\\x56\\x55\\x2e\\xd3\\x65\\xb5\\x72\\x5c\\x58\\xaa\\xaa\\x2d\\x67\\xe0\\xfb\\x89\\xdb\\xaa\\xe6\\x5b\\x24\\x7b\\xf5\\x3a\\x7b\\x81\\xcf\\x30\\x15\\x8e\\x86\\x93\\xdc\\x87\\xf7\\x73\\xc7\\xbc\\x54\\x66\\xc9\\xab\\xaa\\xad\\xdd\\x72\\x2f\\xeb\\xef\\xa3\\xb2\\x93\\x96\\x22\\xf5\\x9c\\xea\\xa7\\x46\\x20\\xe3\\x7b\\x19\\xaa\\xfa\\xc9\\x44\\x99\\x21\\xab\\x54\\x9d\\xf3\\x45\\x19\\x53\\x58\\xf7\\xd7\\xb0\\xb9\\x47\\xf2\\xbd\\x50\\x2a\\x28\\x75\\xeb\\x0f\\xf2\\x92\\x71\\x87\\x8c\\x31\\x8e\\xf2\\xf0\\x18\\x77\\xea\\x29\\x2a\\xc2\\xc8\\x42\\xd2\\x14\\xf5\\x2f\\xf9\\x4e\\x15\\x60\\xe5\\x0b\\x1a\\x67\\x3e\\x43\\xed\\xf7\\x93\\xe7\\x3e\\x56\\xb4\\xa5\\xe4\\x65\\x30\\x71\\x71\\x5f\\x5e\\xcb\\x8d\\x3b\\xf4\\x71\\xfa\\xcf\\x7c\\x2c\\x2e\\xeb\\x27\\xd9\\x14\\x1a\\xd7\\x87\\x1b\\xfc\\x42\\xb9\\x3e\\xd4\\x5d\\x2e\\xdf\\xa8\\x65\\x76\\xed\\x1b\\x39\\xa3\\xff\\xf5\\x83\\xf6\\x52\\x2a\\x40\\x93\\x8f\\x3b\\xdf\\x9c\\x62\\x3c\\x65\\x18\\x67\\x6f\\xe4\\x61\\x1d\\xf7\\xed\\x75\\x52\\xa6\\x0e\\x62\\xe5\\x6a\\xb3\\x87\\x7a\\xfb\\xec\\xbb\\xd6\\x8f\\xb2\\x23\\x30\\x28\\x30\\xc9\\x39\\x9d\\xfe\\xf7\\xb8\\x9b\\x7f\\xa0\\x0c\\xb5\\x5e\\x0e\\x70\\x6b\\x3f\\x1e\\x58\\xc5\\x54\\xef\\x08\\xa2\\x5f\\x5f\\x18\\xf3\\xea\\x0f\\xfb\\x43\\x6d\\xeb\\x17\\x33\\x55\\xc2\\x2f\\xd4\\x6b\\xb4\\x97\\xa8\\xc0\\x1f\\x46\\x3b\\xeb\\x94\\xd9\\x44\\x22\\xa4\\x48\\xff\\x5b\\x92\\x60\\x9b\\x55\\x60\\xfd\\xdb\\x2c\\xe3\\x7e\\xfe\\x3f\\x7c\\x5c\\xeb\\x1c\\xd3\\x18\\x2d\\xd6\\x57\\x81\\x85\\x81\\x72\\x67\\x9a\\x33\\x52\\x25\\xa9\\x66\\x44\\xfd\\x1b\\xf9\\xe4\\xc2\\x23\\x0c\\xa2\\x61\\xcc\\x15\\x71\\x90\\xe7\\x4e\\xb0\\x0c\\xe3\\x39\\x3c\\x07\\x42\\x5f\\xf8\\x6f\\x22\\x11\\xe5\\xd0\\x3e\\x91\\x5a\\xf9\\xd0\\x66\\xe8\\xb0\\x48\\x64\\x13\\x68\\x14\\x44\\xbd\\x36\\xe3\\x6a\\x53\\xd6\\xd9\\x25\\x12\\x05\\x6f\\x74\\x3a\\x74\\x4a\\x24\\x86\\x7a\\x6c\\x57\\xd1\\x7f\\xf2\\x27\\x71\\x60\\x1c\\x8f\\xdc\\xf8\\xb5\\x22\\x75\\xe3\\xa1\\x0d\\x22\\xf5\\x16\\x88\\x24\\x70\\x44\\x4c\\xd8\\x2e\\xd2\\x00\\xbd\\x89\\xc8\\x49\\x3c\\x2e\\x92\\xf4\\x86\\x48\\x43\\x9e\\x93\\xe9\\x6f\\x84\\x8e\\x46\\x87\\x44\\x3c\\xa5\\x1c\\x25\\x9b\\x43\\xcf\\x89\\xf8\\xb0\\xab\\x71\\x7b\\x08\\x7d\\x29\\x33\\x45\\x9a\\x74\\x12\\x49\\x65\\xb2\\xa4\\x62\\x6b\\x53\\xe2\\xdb\\x0c\\xbe\\x16\\xad\\x20\\xe4\\x5c\\xb4\\x5c\\xa4\\x15\\xf6\\xb4\\x22\\x1f\\x5a\\xc3\\xd3\\xda\\x0f\\xad\\x87\\xbe\\x14\\x69\\x83\\x1d\\x6d\\x90\\x9b\\x46\\x99\\x76\\x40\\x24\\x1d\\x59\\x6d\\xb1\\xa1\\x1d\\xf6\\xb6\\x7b\\x4b\\x24\\x03\\x5d\\xed\\x19\\xdf\\x81\\x15\\xa1\\x03\\xfe\\x77\\x44\\x76\\x47\\xfc\\xcc\\x1a\\x2a\\xd2\\x19\\x5f\\x3a\\x63\\x63\\x17\\xfc\\xea\\x0a\\x56\\x5d\\x19\\xdf\\x0d\\x7d\\xdd\\xf1\\x39\\x9b\\xbe\\x6c\\xfc\\xf3\\xd3\\xde\\x83\\xb1\\x3d\\xd0\\xd5\\x13\\x7c\\x7b\\x21\\x3b\\x07\\xdc\\x72\\xb0\\x33\\x0f\\x5d\\x79\\x4b\\x45\\xf2\\xbd\\x24\\x29\\xa4\\xff\\x7c\\xa9\\x00\\x79\\xfd\\xb0\\xb3\\x7f\\xa5\\xc8\\x00\\x78\\x06\\xe2\\xff\\x20\\x74\\x0d\\xa2\\x3e\\x18\\xdc\\x06\\x7f\\x00\\x21\\xab\\x08\\x19\\x45\\x8c\\x2f\\x02\\xe3\\x61\\xd8\\x37\\x1c\\xbd\\x25\\xe4\\xca\\x08\\xb0\\x1e\\x49\\x3c\\x47\\x4e\\x85\\xb0\\x0b\\xe8\\x64\\x14\\xfe\\x8d\\xc2\\xb6\\xd1\\xf0\\x8f\\x05\\xdb\\x52\\x6c\\x1a\\xc7\\xf3\\xf8\\x9d\\x7a\\x3a\\x40\\x3c\\x97\\x83\\x67\\x39\\xb2\\xcb\\xd1\\x33\\x01\\xec\\x26\\x62\\xfb\\x44\\xfc\\x9d\\x44\\xff\\x24\\xb0\\x9b\\x84\\x8c\\x49\\x60\\x36\\x09\\xbc\\x27\\xa1\\xb3\\x02\\xfd\\x15\\xc5\\x22\\x93\\x29\\x27\\x63\\xdf\\x64\\x70\\x99\\x8c\\xdd\\x93\\xb1\\x6d\\x0a\\x58\\x4e\\xc1\\xcf\\x29\\xc4\\xec\\x62\\x74\\x5c\\x8c\\x5d\\x53\\xf1\\x6f\\x6a\\x21\\x04\\xdf\\x54\\xf8\\xa6\\xe1\\xd7\\x74\\xf0\\x98\\x8e\\xbf\\xd3\\xd1\\x3b\\x03\\xdf\\x67\\x10\\xcf\\x19\\xd8\\x3d\\x63\\x93\\xc8\\x4c\\xf4\\xcc\\x44\\xcf\\x2c\\xc6\\xcd\\x62\\xdc\\x2c\\x70\\x9a\\x05\\x26\\xb3\\xc0\\x7e\\x36\\xd8\\xce\\x26\\xde\\xb3\\x2b\\x44\\xe6\\xe0\\xe0\\x1c\\xec\\x9a\\x83\\x9e\\x39\\xe8\\x99\\x0b\\xff\\x5c\\xf8\\xe7\\xa2\\x67\\x1e\\xf1\\x9f\\x8f\\xfd\\xf3\\xb1\\x7f\\x3e\\xf6\\xcf\\x07\\xbf\\xf9\\xc8\\x9d\\x8f\\xdc\\x4b\\x91\\x71\\x29\\x58\\x5d\\x8a\\x1d\\x97\\x62\\xc3\\xa5\\xe0\\x72\\x59\\x43\\x88\\xfc\\xbe\\x8c\\xb1\\x97\\x61\\xe3\\x65\\xf8\\xb2\\x10\\x5f\\x16\\x82\\xcf\\x42\\x6c\\x5d\\x08\\xdf\\x42\\x6c\\xbd\\x1c\\x5b\\x2f\\xc7\\xd6\\xcb\\x91\\x79\\x39\\x98\\x2e\\x02\\xbb\\x45\\xe4\\xc9\\x22\\x76\\x81\\xc5\\xc8\\x58\\x8c\\xef\\x8b\\xc1\\x7e\\x31\\xf3\\x64\\x31\\xfa\\x16\\x9f\\x11\\x59\\x82\\x2d\\x4b\\xc0\\x6b\\x09\\xb1\\x5a\\x42\\xae\\x2f\\x41\\xdf\\x52\\xf2\\x62\\x29\\xfa\\x96\\x62\\xc3\\x52\\x6c\\x5b\\x8a\\x0f\\x4b\\xf1\\xe1\\x0a\\x7c\\xb8\\x12\\x1f\\xae\\x22\\x4f\\xaf\\x42\\xfe\\x55\\x1b\\x21\\x72\\xf1\\x2a\\x62\\xb3\\x8c\\xd8\\x2c\\x03\\xef\\x65\\xc8\\x5f\\x86\\x8d\\xcb\\xb0\\xf1\\x6a\\xb0\\xb8\\x1a\\x2c\\xae\\xc6\\xbe\\xab\\xc1\\xfc\\x1a\\xf4\\x5e\\x43\\xec\\xae\\xc5\\xce\\x6b\\x91\\x79\\x2d\\xe3\\x96\\x33\\x6e\\x39\\x76\\x2d\\x47\\xde\\x72\\xe4\\x2d\\xc7\\x8f\\xe5\\xd8\\x75\\x1d\\xbe\\xad\\xc0\\xe6\\x15\\x0f\\x42\\x60\\xbb\\x92\\xb9\\xb8\\x12\\x5c\\x56\\xe2\\xef\\x4a\\xda\\x56\\x92\\x27\\x2b\\xe1\\x5b\\x45\\xb9\\x1a\\xf9\\xab\\x19\\x77\\x3d\\x72\\xaf\\xc7\\xff\\xeb\\xe1\\xb9\\x1e\\x9e\\xeb\\xd1\\xb9\\x16\\x5f\\xd6\\xd1\\xb6\\x8e\\x84\\x5a\\x47\\x3c\\xd6\\x91\\x8f\\xeb\\xd0\\x7b\\x03\\x7a\\x6f\\xc0\\xde\\x1b\\xc0\\xf4\\x06\\xe2\\x77\\x03\\x3a\\x6e\\x04\\xfb\\x1b\\xc1\\xee\\x46\\xb0\\xb8\\x11\\x2c\\x6e\\xc4\\x87\\x1b\\xd1\\xb1\\x1e\\x3b\\xd6\\xe3\\xf7\\x7a\\x78\\x6f\\xc2\\xd6\\x9b\\x79\\xbe\\x59\\x97\\xf8\\x7a\\x33\\x3e\\xdd\\x8c\\x9e\\x5b\\x18\\x7b\\x0b\\xf6\\xdd\\x82\\x1f\\xb7\\x60\\xcf\\x2d\\xd8\\xb5\\x81\\xb6\\x0d\\xe4\\xe1\\x06\\xf4\\x6c\\x60\\xec\\x06\\x70\\xd9\\x80\\xcc\\x5b\\xf1\\xe5\\x56\\xfc\\xbb\\x15\\x3b\\x6f\\x25\\xa7\\x6e\\x05\\x93\\x5b\\xd1\\x73\\x1b\\xb1\\xb8\\x0d\\xfd\\xb7\\xf1\\x7c\\x3b\\x71\\xdb\\x88\\x5d\\x1b\\xc1\\xe9\\x0e\\x70\\xb9\\x13\\xd9\\x77\\xc2\\x73\\x17\\xb2\\x37\\x11\\x97\\xbb\\xf1\\xe9\\x6e\\x64\\xdc\\x8d\\x2f\\xff\\x82\\xef\\x1e\\xda\\xef\\xc5\\x9e\\xfb\\xc0\\xfc\\x3e\\xf2\\xe8\\x7e\\x64\\x3c\\xc0\\xb8\\x07\\xc9\\xc3\\x87\\x88\\xe5\\x43\\xf0\\x3d\\x4c\\xfb\\x23\\x60\\xf4\\x08\\xbc\\x9b\\x89\\xeb\\xa3\\xc4\\xfd\\x51\\xec\\x79\\x0c\\xbb\\x1e\\xa7\\xac\\xa4\\xbd\\x92\\x7a\\x25\\xb9\\xb1\\x05\\xbb\\x9e\\xc0\\x97\\xad\\xe8\\xd8\\x46\\xae\\x6d\\xc3\\x9f\\x27\\x89\\xf5\\x53\\xe0\\xf2\\x34\\x7c\\xdb\\xd1\\xb5\\x9d\\xfc\\x7a\\x06\\x19\\x3b\\xc0\\x72\\x07\\xed\\xcf\\xd2\\xf6\\x1c\\xf5\\xe7\\xe1\\x7f\\x01\\x3d\\x2f\\xa0\\xf3\\x45\\x64\\xed\\xc4\\xf7\\x97\\x3a\\x05\\xff\\xe4\\xe8\\x65\\xe4\\xbc\\xc2\\x1c\\xde\\x05\\x26\\xaf\\xb2\\xe6\\xbd\\x4a\\x5e\\xbd\\xc6\\xd8\\xd7\\x19\\xfb\\x06\\x3c\\xbb\\xe1\\xd9\\xcd\\xf3\\x6e\\xf2\\xf0\\x4d\\xe6\\xc7\\x9b\\xf8\\xff\\x26\\xbe\\xbc\\x89\\xef\\x7b\\xc0\\x7d\\x0f\\x38\\xec\\x61\\xec\\x1e\\xe6\\xe3\\x1e\\xe4\\xee\\xc1\\xc7\\x3d\\xd8\\xbc\\x07\\xdb\\xf6\\x20\\xeb\\x2d\\x74\\xbf\\x85\\x9c\\xb7\\xb0\\xeb\\x2d\\x64\\xbe\\x85\\x1f\\x6f\\x61\\xc3\\x5b\\xc8\\xdb\\x0b\\xee\\x7b\\x91\\xb9\\x97\\xbe\\xbd\\x60\\xb8\\x97\\xbe\\xbd\\xc4\\xfd\\x6d\\xec\\x78\\x1b\\x8c\\xde\\xa6\\xfd\\x6d\\xe6\\xf3\\xdb\\xb4\\xbf\\xcd\\x98\\xb7\\xb1\\xff\\x1d\\x74\\xbe\\x43\\xbe\\xef\\x23\\xf7\\xdf\\xc5\\xb7\\x77\\x89\\xfb\\xbb\\xe0\\xf2\\x2e\\xb9\\xf4\\x2e\\x76\\xbe\\x8b\\x6d\\xef\\x22\\xfb\\x3d\\xf4\\xbe\\x47\\x8e\\xbd\\x47\\xee\\xbc\\x47\\xee\\xbd\\x4f\\xfd\\x7d\\xf4\\xbf\\x0f\\xdf\\xfb\\xe4\\xc8\\xfb\\xf0\\xbd\\x0f\\xfe\\xfb\\xb1\\x61\\x3f\\xf9\\xf2\\x21\\xf3\\xff\\x43\\x72\\xe3\\x43\\x7c\\xf8\\x90\\xdc\\xfd\\x08\\xbf\\x3f\\x22\\xa6\\x1f\\x31\\xee\\x23\\xc6\\x7c\\x84\\xec\\x8f\\xe0\\x03\\x2e\\x39\\x00\\xdf\\x01\\xec\\x3b\\x80\\xcf\\x07\\x88\\xdb\\x01\\xfc\\x3d\\x40\\xc7\\x01\\x30\\x39\\x88\\x5d\\x07\\x89\\xd1\\x41\\xe6\\xd9\\x41\\xe2\\x71\\x90\\x5c\\x38\\x88\\xbc\\x83\\xd8\\xfe\\x31\\xb6\\x7f\\x8c\\xed\\x1f\\x23\\xf3\\x63\\xec\\xfa\\x18\\x3b\\x3e\\xc6\\x8e\\x8f\\xb1\\xe3\\x13\\x72\\xf3\\x13\\xe4\\x7e\\x02\\x9e\\x9f\\x80\\xe7\\x21\\xea\\x87\\xc0\\xe2\\x53\\xec\\xf8\\x14\\x3f\\x3f\\x45\\xf6\\xe7\\xf4\\x1d\\x66\\xfc\\x17\\xf4\\x7d\\x41\\x1c\\x8e\\x90\\x4b\\x47\\xc0\\xe7\\x08\\xf1\\x3f\\x42\\x7e\\x1e\\x41\\xcf\\x11\\xf8\\x8e\\xa2\\xe7\\x28\\x7c\\x47\\xd1\\x71\\x14\\x1d\\x47\\xd1\\x71\\x14\\x1d\\x5f\\x82\\xf5\\x97\\xc8\\xfe\\x92\\x3c\\xff\\x8a\\xfa\\x31\\x78\\xaa\\xc0\\xa9\\x0a\\x9f\\x8f\\xe3\\xc3\\xd7\\xe8\\xfb\\x06\\x3b\\xbf\\x65\\x7d\\xfa\\x16\\x39\\xdf\\x61\\xfb\\x09\\x30\\xfb\\x1e\\xfa\\x01\\x2c\\x7e\\xc0\\xc7\\x93\\xc4\\xe9\\x47\\x62\\xfc\\x13\\x39\\xf3\\x13\\xb8\\xfe\\x1b\\x3a\\x85\\x8e\\x9f\\xf1\\xf7\\x17\\xe2\\xfc\\x2b\\xba\\x7f\\x65\\xfc\\x6f\\xd8\\xf2\\x3b\\xfe\\xff\\x01\\xef\\x69\\x78\\xce\\x80\\xd3\\x19\\xe2\\x78\\x16\\xfd\\x81\\xe6\\xa1\\x7f\\x53\\x33\\x95\\x2b\\x5f\\x29\\xb7\\x72\\xfd\\xe6\\xe0\\xa4\\x28\\x63\\xa3\\x28\\x73\\x1b\\xb4\\x4b\\x94\\x63\\x93\\x28\\xe7\\x07\\xa2\\x5c\\xb4\\xb9\\x87\\x8a\\x0a\\x2b\\x87\\xe6\\x8a\\x0a\\x4f\\x87\\x7e\\xe3\\x98\\xfb\\x9c\\xa8\\x5a\\x15\\xa2\\x22\\x79\\xae\\xcd\\xd5\\xb1\\xf6\\x3e\\xe8\\x30\\x84\\x9c\\x3a\\x9b\\x45\\x45\\xcd\\x84\\xbe\\x13\\x15\\x4d\\x5b\\xcc\\x1b\\xa2\\x62\\xb7\\x8b\\x8a\\xdb\\x29\\x8a\\x33\\x85\\xaa\\x8b\\xce\\x7a\\x1c\\x6e\\xeb\\x45\\x8b\\xaa\\xef\\x85\\x4e\\x89\\x4a\\x40\\x66\\x03\\xc6\\x34\\x38\\x2e\\x2a\\x11\\x9e\\xa4\\x30\\x08\\x1d\\x0d\\xe9\\x6f\\xf8\\xa0\\x28\\xce\\x17\\xaa\\x51\\xa1\\x28\\x0f\\xb6\\x7a\\x0e\\x88\\xf2\\xc2\\xe3\\xeb\\x24\\xaa\\x31\\xfd\\x8d\\xe1\\x4b\\x29\\x16\\xd5\\x84\\xfe\\xd4\\x7e\\xa2\\x9a\\x22\\xbb\\xe9\\x52\\x51\\xcd\\xe8\\x6f\\x86\\x3d\\xcd\\xf1\\xa5\\x05\\xb6\\x5e\\xc4\\xd8\\x96\\xf4\\xb5\\x8a\\x84\\xf0\\xb3\\x35\\x76\\xb4\\x41\\x4f\\x9b\\xf5\\xa2\\xd2\\x18\\x9f\\xde\\x0a\\xc2\\x8e\\xb6\\xd8\\xdc\\x0e\\x99\\x19\\xb4\\xb7\\xef\\x0a\\x55\\x8a\\xea\\x00\\x0e\\x1d\\xb1\\x21\\x13\\xf9\\x9d\\x90\\x9d\\x85\\xdc\\x2e\\x60\\xd2\\x15\\x0c\\xbb\\x21\\xa7\\x3b\\x3e\\x67\\x1f\\x12\\xe5\\x47\\x6e\\x0f\\x74\\xf5\\xe4\\xb9\\x17\\x63\\x73\\xf0\\x31\\x17\\x1d\\xb9\\xb4\\xe7\\x5d\\x2e\\xaa\\x77\\x02\\x84\\xdc\\x7c\\xda\\xf3\\x69\\xeb\\x83\\xcf\\x9c\\x27\\x54\\x5f\\x74\\xf4\\x05\\x9f\\xbe\\xe0\\xd8\\x17\\xfd\\x7d\\x91\\xcf\\x31\\x5a\\x15\\xa0\\xaf\\x60\\x83\\xa8\\x7e\\xe0\\xdc\\x0f\\x1c\\xfb\\xe1\\x7b\\x3f\\x30\\xea\\xdf\\x1e\\x5a\\x06\\x51\\x1f\\x80\\xdf\\x03\\x90\\x39\\x80\\xbe\\x01\\xfa\\x19\\x1f\\x06\\x36\\x87\\x46\\x41\\xb4\\x0f\\x64\\x5c\\x61\\x43\\x08\\xbe\\x42\\xfc\\x28\\x84\\x67\\x10\\xfd\\x83\\xb0\\x7d\\x10\\x7d\\x83\\xd0\\x35\\x18\\xff\\x87\\xc0\\x3b\\x14\\x3c\\x87\\x2e\\x17\\x55\\x04\\x56\\x45\\xf8\\x30\\x0c\\x4c\\x86\\xad\\x12\\x35\\x1c\\xfd\\xc3\\xb1\\xbf\\xb8\\x09\\xc4\\xf8\\x12\\x30\\x28\\x01\\xa3\\x11\\xf8\\x36\\x82\\xfc\\x18\\x01\\xc6\\x23\\xb0\\x7b\\x24\\xfe\\x8d\\x44\\xef\\x48\\x62\\x36\\x0a\\xbf\\x46\\x91\\x1b\\xa3\\x78\\x1e\\x75\\x2f\\xc4\\xb8\\xd1\\xc8\\x1b\\x8d\\x3f\\xa3\\x91\\x3d\\x1a\\xdd\\xa3\\xc1\\x6c\\x34\\xfa\\xc7\\x80\\xd9\\x18\\x64\\x8c\\xc1\\x87\\xb1\\xc4\\x67\\x6c\\x0e\\x84\\xde\\xb1\\xf0\\x94\\x22\\xb3\\x14\\xdb\\x4b\\xb1\\xab\\x94\\xfe\\x52\\xe4\\x94\\x61\\x67\\x19\\x6d\\x65\\xc8\\x1d\\x87\\x0d\\xe3\\x88\\xcd\\x38\\x64\\x8d\\xcf\\x87\\x68\\x1b\\x4f\\x4e\\x95\\x63\\x73\\x39\\x76\\x96\\x63\\xd7\\x04\\x62\\x35\\x01\\x7c\\x27\\x32\\x6e\\x22\\xb8\\x4d\\x44\\xc6\\x24\\xb0\\x9d\\x44\\x7d\\x12\\x7e\\x4c\\x02\\xb3\\x0a\\x30\\xad\\xc0\\x8e\\x0a\\x6c\\xab\\x20\\x77\\x27\\x83\\xd9\\x64\\x78\\x26\\xa3\\x77\\x32\\x6d\\x93\\xe1\\x99\\x82\\xce\\x29\\xe0\\x34\\x05\\xf9\\x17\\x83\\xd9\\xc5\\xf8\\x79\\xf1\\x19\\x51\\x53\\xb1\\x77\\x2a\\xb1\\x9c\\x8a\\x0f\\xd3\\xf0\\x79\\x1a\\x7d\\xd3\\xc0\\x7a\\x1a\\x7a\\xa6\\xd3\\x37\\x9d\\x58\\x4f\\xc7\\xf6\\xe9\\xf0\\xce\\xc0\\xae\\x19\\xf4\\xcd\\xc0\\x9e\\x19\\x5f\\x8a\\x9a\\x89\\xbf\\x33\\x69\\x9b\\x49\\x3c\\x66\\xd2\\x3e\\x93\\x1c\\x98\\x45\\xee\\xcc\\xc2\\x7f\\xce\\x50\\x6a\\x36\\xe3\\x67\\x63\\xe7\\x6c\\xe6\\xe5\\x1c\\xec\\xe1\\x1c\\xa5\\xe6\\xc2\\x3f\\x17\\x7d\\x73\\xf1\\x75\\x2e\\x72\\xe7\\x91\\x4f\\xf3\\x18\\x33\\x0f\\xf9\\xf3\\xf1\\xe7\\x12\\x64\\x5d\\xa2\\x4b\\x9e\\x17\\xe2\\x17\\xe7\\x22\\xb5\\x90\\xe7\\xcb\\x89\\xd5\\xe5\\xd8\\x72\\x39\\xf6\\x2f\\x62\\x7e\\x2c\\xa2\\xbe\\x08\\x9e\\xc5\\x8c\\x5d\\xcc\\x1c\\x5d\\x02\\x4e\\x4b\\x88\\xcf\\x12\\xfc\\x5f\\x4a\\xdc\\x96\\xa2\\x77\\x29\\xbe\\x5f\\x41\\x3e\\x5c\\x81\\x6f\\x57\\xb0\\x26\\x5c\\x49\\xbe\\x5f\\x09\\xa6\\x9c\\x7b\\xd4\\x55\\xf8\\xcf\\x59\\x47\\x2d\\x63\\x3e\\x5e\\x4d\\x6c\\xaf\\x26\\x8f\\xaf\\x41\\xc6\\x35\\xc4\\xed\\x5a\\xe4\\x5f\\x8b\\xad\\x9c\\x69\\xd4\\x72\\xe2\\xb3\\x1c\\xf9\\xd7\\xe1\\xcf\\x75\\xf0\\x5e\\x47\\xff\\x0a\\xf2\\x7b\\x05\\x76\\xaf\\x00\\xf3\\x95\\xc4\\x65\\x25\\x98\\xad\\xd4\\x75\\x6c\\x62\\xe9\\x52\\xab\\xb0\\x75\\x15\\xb6\\xac\\x82\\x77\\x35\\x39\\xb0\\x1a\\x7d\\xab\\xc1\\x7f\\x35\\xfa\\x57\\x83\\xeb\\xf5\\xf0\\x5f\\x0f\\xff\\xf5\\xc8\\xbe\\x9e\\x18\\xad\\x41\\xef\\x1a\\xfc\\x5c\\x83\\xcd\\x2c\\x77\\x6a\\x2d\\xb2\\xd7\\x22\\x77\\x1d\\xf5\\x75\\xd4\\xd7\\x61\\xeb\\x3a\\x6c\\xb8\\x01\\xdc\\x6e\\x20\\x2f\\x6e\\xc0\\x8e\\x1b\\xd1\\x75\\x23\\xb8\\xae\\x87\\x6e\\xa2\\x7e\\x13\\x72\\x39\\xcf\\xa8\\x9b\\xd1\\x7d\\x33\\x72\\x6e\\x86\\xff\\x66\\xf2\\xf3\\x16\\xf2\\x7e\\x03\\x79\\xb6\\x01\\xdc\\x6e\\x25\\x46\\xb7\\x31\\x17\\x6e\\x07\\xe3\\x8d\\x60\\xbb\\x11\\x2c\\xee\\x00\\x9b\\x3b\\x19\\x77\\x27\\x31\\xbd\\x0b\\xdc\\x36\\x51\\xdf\\x04\\x1e\\x77\\x13\\xa7\\xbb\\xb1\\x9b\\x73\\x89\\xfa\\x17\\x58\\xdc\\x03\\x26\\xf7\\x80\\xe1\\xbd\\x8c\\xbd\\x0f\\x79\\xf7\\x91\\xb3\\xf7\\x33\\xf6\\x01\\x7c\\x78\\x90\\xd8\\x3e\\x88\\xdc\\x07\\xc1\\xf0\\x41\\x64\\x3e\\x84\\xcd\\x0f\\x31\\xf6\\x61\\x7c\\x7f\\x84\\xfa\\x23\\x6f\\x41\\xd8\\xb2\\x99\\xfc\\xda\\x4c\\xf9\\x28\\xb6\\x3e\\x8e\\x9e\\xc7\\x89\\x7f\\x25\\xfe\\x6f\\x41\\xd7\\x16\\x78\\x9e\\x40\\xd6\\x56\\x70\\xde\\x0a\\x76\\x5b\\xb1\\x77\\x1b\\xbe\\x3d\\x49\\xff\\x53\\xc4\\x79\\x3b\\x71\\x7e\\x06\\x79\\xcf\\x60\\xc3\\x0e\\x64\\x3c\\x8b\\x5d\\xcf\\xd1\\xff\\x3c\\xb8\\xbd\\x80\\xcf\\x2f\\x12\\xab\\x9d\\xe8\\xda\\x49\\xff\\x4b\\xe4\\xcb\\xcb\\xe4\\xde\\x2b\\xd8\\xb0\\x8b\\xb9\\xbc\\x0b\\xbc\\x76\\x61\\xeb\\xab\\xe0\\xfe\\x1a\\xf2\\x5f\\x43\\xd7\\x6b\\xd8\\xff\\x1a\\xb9\\xf2\\x1a\\xb2\\x5f\\xc7\\xf7\\x37\\xc8\\x95\\xdd\\xe8\\x7f\\x13\\x19\\x6f\\xe2\\xc3\\x1e\\x64\\xec\\xa1\\xe4\\x1c\\xa2\\xf6\\xe2\\xdf\\x5e\\xfc\\x7b\\x9b\\xf2\\x6d\\x30\\x7a\\x1b\\x0c\\x38\\x5b\\xa8\\xb7\\xf1\\xf7\\x1d\\x70\\xde\\x87\\x1f\\xef\\x22\\xef\\x3d\\x64\\xbf\\x87\\x2f\\xef\\x11\\xe7\\xf7\\x91\\xf3\\x3e\\x31\\x7c\\x9f\\x79\\xc2\\x79\\x41\\x7d\\x80\\x1d\\x1f\\xa0\\xe7\\x03\\xe6\\xc8\\x7e\\xec\\xff\\x10\\xfe\\x8f\\xb0\\xff\\x23\\xfc\\x38\\x40\\x79\\x10\\x1b\\x0f\\x22\\x93\\x7d\\x5f\\x1d\\x84\\xef\\x20\\x7c\\x07\\xd1\\x7f\\x10\\xde\\x8f\\xc9\\x83\\x8f\\x89\\xf1\\x27\\x3c\\x7f\\xc2\\xf3\\x21\\xf0\\xf9\\x14\\x1b\\x3e\\x23\\x26\\x9f\\x63\\xdf\\xe7\\xe8\\x3f\\x4c\\xae\\x7d\\x41\\x7e\\x1c\\x01\\xa7\\xa3\\xac\\x25\\x5f\\xa2\\x9b\\x7d\\x5b\\x7d\\x89\\xfc\\xaf\\x90\\x75\\x8c\\x9c\\xa8\\x02\\x93\\x2a\\xb0\\x3a\\x8e\\xee\\xaf\\xf1\\xef\\x6b\\x70\\xf8\\x1a\\xff\\xbf\\x41\\xf6\\xb7\\xe4\\xe0\\x77\\x8c\\xfd\\x8e\\xd8\\x7c\\xc7\\x98\\x13\\xc4\\xf8\\x04\\x78\\x9f\\x00\\xd7\\x13\\xe8\\x39\\x81\\xcc\\xef\\x99\\xd7\\xdf\\x93\\x43\\x3f\\x20\\x83\\x23\\x9a\\x3a\\x09\\xef\\x8f\\x60\\xf8\\x13\\xf6\\xff\\x1b\\xdb\\x4f\\x81\\xcf\\xcf\\xe8\\xfd\\x19\\x99\\xbf\\x60\\xcf\\x2f\\xf4\\xff\\x8a\\x8c\\xdf\\x90\\xf1\\x1b\\x36\\xfc\\x8e\\x5f\\xbf\\xeb\\x12\\x3f\\xfe\\x00\\x9f\\x3f\\xe0\\x3d\\x4d\\x1e\\x9c\\x21\\xdf\\xce\\x52\\x9e\\x65\\xfc\\x59\\x7c\\x38\\x8b\\x8e\\x00\\xf3\\xc3\\x5a\\x2a\\x86\\xf8\\xc5\\x50\\x39\\x62\\x18\\x5d\\xc5\\x30\\x2b\\xc4\\x70\\x40\\xce\\x72\\x31\\x5c\\xc5\\x62\\xb8\\xf7\\x89\\x11\\xde\\x4a\\x8c\\x08\\xa8\\x16\\x3c\\x91\\xf7\\x8a\\x51\\xfb\\x94\\x18\\x51\\xa3\\xc4\\x88\\xde\\x2c\\x46\\xcc\\x36\\x31\\x62\\x97\\x8b\\x11\\x37\\x57\\x8c\\xf8\\x7c\\xe8\\x4b\\x31\\xea\\x4e\\x85\\xd6\\x42\\xf4\\xd5\\x3b\\x2e\\x46\\x42\\xb4\\x18\\x0d\\x34\\x31\\x2e\\x69\\x83\\x18\\xc9\\xe9\\xd0\\x50\\x68\\x81\\x18\\x8d\\xbc\\xd0\\x5b\\x62\\x78\\xb0\\xc3\\x83\\x2e\\x6f\\x21\\x84\\x0e\\xef\\x19\\x31\\x7c\\xc8\\x4c\\xc1\\xb6\\x54\\x78\\x9b\\xa2\\xa3\\xd9\\x2a\\x31\\x9a\\xd3\\xdf\\x22\\x5e\\x8c\\x8b\\xc2\\xc4\\x68\\xc9\\xd8\\x96\\xc8\\x6b\\xf9\\x9b\\x18\\xad\\xb6\\x8b\\xd1\\x9a\\xfe\\x36\\xf0\\xa5\\x95\\x8a\\x91\\xbe\\x49\\x0c\\xee\\xff\\x46\\x06\\x76\\xb7\\x67\\x7c\\x87\\x26\\xd0\\x01\\x31\\x3a\\x9e\\x14\\x23\\x13\\x1b\\x3b\\x61\\x57\\xd6\\x07\\x62\\x74\\x7e\\x4e\\x8c\\x2e\\xcb\\xc4\\xe8\\x8a\\xbf\\xdd\\x90\\xdb\\x0d\\xbd\\xdd\\xb1\\x27\\x1b\\x1e\\x3f\\x72\\x7b\\x62\\x77\\x2f\\x74\\xf5\\xc2\\xf6\\x9c\\x37\\xc4\\xc8\\x85\\x2f\\x0f\\x7c\\xf2\\xb0\\xbd\\x37\\x32\\xf3\\xe9\\xcb\\x47\\x56\\x1f\\x6c\\xef\\xfb\\xa0\\x18\\x05\\xb4\\xf7\\xc3\\x46\\xf6\\x60\\xa3\\x3f\\xb2\\x06\\x62\\xc3\\x40\\xe4\\x14\\x32\\xb6\\x10\\xfd\\x83\\xd0\\x37\\x78\\xbd\\x18\\xec\\xa7\\xc6\\x50\\xec\\x1d\\xba\\x11\\xda\\x09\\xa1\\xaf\\x08\\xbe\\x61\\xf0\\x0c\\xaf\\x14\\xa3\\x18\\x1d\\x25\\xf8\\x31\\xa2\\x93\\x18\\x23\\xd1\\x33\\x12\\x1d\\xa3\\x76\\x89\\x31\\x1a\\x5c\\xc7\\x80\\xef\\x58\\x74\\x8c\\xa5\\x7f\\x2c\\xb6\\x8f\\x45\\xef\\x58\\x6c\\x1e\\x8b\\x6f\\x5c\\x89\\x8c\\x52\\x6c\\x2e\\x45\\x7f\\x29\\xf1\\x2b\\x45\\x4e\\x29\\x36\\x95\\xa2\\xa7\\x14\\x3d\\xa5\\xe8\\x29\\xc3\\xe6\\x32\\x70\\x61\\x8f\\x34\\xc6\\xc1\\x3b\\x0e\\xdb\\xc7\\xe1\\xdf\\xf8\\x04\\x88\\x1c\\x18\\x8f\\xdc\\xf1\\xc8\\x1d\\x8f\\xdc\\x72\\x74\\x4d\\x00\\xe7\\x09\\xc4\\x7e\\x02\\xb2\\x26\\x60\\xf3\\x04\\xec\\x9b\\x00\\x76\\x13\\x18\\x33\\x91\\x31\\x13\\x19\\x33\\x91\\x31\\xec\\x9d\\xc6\\x44\\xc6\\x4c\\xc4\\x96\\x49\\xe8\\xae\\x68\\x08\\x11\\xbf\\x0a\\x30\\x9b\\xcc\\xf3\\x14\\xc6\\x5f\\x0c\\x4d\\xe5\\x79\\x1a\\x72\\xa7\\x53\\x9f\\x11\\x09\\xc1\\x37\\x13\\xec\\x67\\x51\\xb2\\xa7\\x19\\xb3\\xbf\\x13\\x63\\x0e\\x36\\xcd\\xc5\\xe6\\x79\\xc4\\x77\\x3e\\x72\\x2f\\x01\\xaf\\x05\\xe4\\xc8\\xa5\\xf8\\x75\\xe9\\x61\\x31\\x2e\\x23\\xbe\\x0b\\xd1\\xb3\\xf0\\x90\\x18\\xec\\x59\\xc6\\x22\\xfa\\x17\\x13\\xe7\\xc5\\xc8\\x5e\\x4c\\xde\\x2c\\x66\\xcc\\x62\\xdd\\x46\\x0c\\x96\\x60\\xf3\\x12\\x78\\x97\\x82\\xe5\\x52\\xf0\\x5f\\x8a\\xdd\\xdc\\xcf\\x8d\\x2b\\x18\\x77\\x25\\xfa\\xae\\x44\\xe6\\x95\\xe0\\xca\\xbe\\x65\\x5c\\x45\\x6e\\x5e\\x85\\xec\\x65\\x8c\\xbf\\x9a\\xbe\\xab\\xf1\\xeb\\x6a\\xc6\\x5e\\x8d\\x9c\\x6b\\x88\\xc3\\x35\\xf8\\xc1\\xdd\\xdc\\xb8\\x06\\x1c\\xaf\\xc5\\xef\\x6b\\x89\\xeb\\x72\\xc6\\x2f\\xbf\\x1c\\x42\\xf6\\x72\\x64\\x5f\\x87\\xbe\\x15\\x8c\\x5d\\x31\\x53\\x0c\\xee\\xe1\\x06\\x77\\x70\\x63\\x15\\x63\\x57\\x31\\x67\\x56\\x91\\xa7\\xab\\xb1\\x63\\x35\\xf5\\xd5\\xf0\\xad\\xc6\\xcf\\xeb\\x89\\xc1\\xf5\\xf8\\x7a\\x3d\\x98\\x5e\\x4f\\x0e\\xac\\x01\\x87\\x35\\xe8\\x59\\x83\\xbf\\x6b\\x88\\xf9\\x1a\\xda\\xd6\\xe2\\xdb\\x5a\\x72\\x7b\\x2d\\x31\\x5c\\x07\\x6e\\xeb\\xb0\\xf1\\x06\\xe6\\xc9\\x8d\\xe8\\xbe\\x11\\xbc\\xd6\\xd3\\x77\\x13\\xed\\x37\\x61\\x17\\x7b\\x93\\x71\\x0b\\xb1\\xdd\\x40\\xcc\\x36\\x30\\xfe\\x56\\x62\\x70\\x2b\\xb6\\xdd\\x06\\x96\\xb7\\xa3\\x7b\\x23\\x31\\xbb\\x03\\xfb\\xee\\x20\\x8e\\x77\\xf6\\x13\\xe3\\x2e\\x30\\xdb\\x04\\xef\\xdd\\xd8\\xf8\\x2f\\x6c\\xb9\\x87\\xf2\\x1e\\xfc\\xbd\\x97\\xbc\\xb9\\x0f\\x9e\\xfb\\x91\\x77\\x3f\\xf6\\xdd\\x0f\\x5e\\xf7\\x83\\xc5\\x03\\xd8\\xf7\\x00\\xba\\x1f\\x64\\xbe\\x3f\\x04\\xd6\\x0f\\xd3\\xf7\\x08\\x58\\x6f\\x06\\xd3\\xcd\\xf0\\x3f\\x8a\\x9e\\xc7\\xf0\\xfd\\x31\\xec\\x7f\\x9c\\xfc\\x7f\\x9c\\xb2\\x12\\x5c\\x2b\\xb1\\x6d\\x0b\\xfd\\x4f\\xe0\\xdb\\x13\\xd8\\xfa\\x04\\x58\\x6d\\x65\\xfc\\x56\\x74\\x6d\\x43\\xee\\x93\\x60\\xf1\\x14\\x78\\x3e\\x0d\\xef\\xd3\\xc8\\xd8\\x4e\\xf9\\x0c\\xf9\\xfc\\x0c\\x98\\xed\\xc0\\x87\\x1d\\x8c\\x7f\\x16\\x9b\\x9e\\x43\\xf6\\xf3\\xc4\\xe5\\x79\\xe2\\xf5\\x02\\x7a\\x5f\\xc4\\x9f\\x17\\x19\\xbb\\x13\\xfb\\x5e\\x42\\xde\\x4b\\xcc\\xa1\\x97\\xd1\\xf1\\x0a\\x63\\x5f\\xc1\\x9f\\x5d\\xe4\\xfb\\x2e\\x78\\x76\\xd1\\xff\\x2a\\x78\\xbc\\x46\\xac\\xb9\\x43\\x1b\\xfa\\x3f\\x5d\\xfa\\x06\\xf6\\xec\\x26\\x16\\xbb\\xb1\\xe1\\x4d\\x6c\\xd8\\x83\\xce\\x3d\\xf8\\xf6\\x16\\x7a\\xb8\\x07\\x1b\\x7b\\x89\\x35\\x7b\\x92\\xf1\\x0e\\xe3\\xdf\\xc1\\xcf\\x7d\\x8c\\x7b\\x17\\x9e\\x77\\xb1\\xfd\\x3d\\x78\\xde\\xa7\\xfd\\x7d\\x6c\\xfe\\x00\\x9b\\xf6\\x53\\xdf\\xdf\\x5c\\x8c\\x0f\\x89\\xf9\\x87\\x8c\\xfd\\x88\\xb8\\x1f\\x00\\xd7\\x03\\xd8\\x79\\x90\\xfa\\xc7\\xf8\\xfc\\x09\\xf3\\xee\\x13\\x62\\x77\\x08\\xec\\x3e\\x25\\x76\\x9f\\x32\\x67\\x3f\\x63\\x2e\\x7c\\x46\\x0c\\x3f\\x47\\xcf\\xe7\\xe8\\x3b\\xcc\\xf3\\x61\\xec\\xf9\\x02\\xbe\\x23\\xc4\\x8b\\x3b\\xa3\\x71\\x14\\x3c\\xbe\\xc4\\xce\\xaf\\xd0\\xf1\\x15\\x36\\x1f\\x43\\x56\\x15\\xb2\\xaa\\x90\\x5d\\x85\\x2d\\xc7\\xf1\\xf1\\x38\\x7c\\xc7\\xc1\\xe3\\x38\\xba\\x8e\\x13\\xef\\xaf\\xb1\\xf5\\x6b\\x7c\\xfd\\x1a\\x7f\\xbe\\x01\\xc3\\x6f\\xc9\\x1d\\xf6\\x1e\\xe3\\x04\\xf8\\xfc\\x80\\xbd\\x27\\xe9\\xfb\\x91\\xbe\\x9f\\xc8\\xc3\\x7f\\xa3\\xfb\\x14\\x7e\\xfd\\x4c\\xec\\x7f\\x61\\x2e\\xfe\\x82\\x5d\\xbf\\x82\\xd7\\x6f\\xf4\\xfd\\x41\\xae\\xfc\\x01\\xdf\\x69\\x30\\x3d\\x43\\x2c\\xcf\\x42\\x01\\x6c\\xb3\\x36\\x8a\\x29\\x0f\\x8a\\xc9\\x81\\xca\\x34\\x76\\x8a\\x69\\x52\\xd7\\x7f\\x6b\\xec\\x2c\\x14\\xd3\\xd5\\x5e\\x4c\\x77\\x57\\x31\\xc3\\x1c\\x62\\x86\\x6b\\x3a\\x2e\\x66\\x44\\xa5\\x98\\xb5\\xb6\\x8b\\x19\\xb9\\x40\\xcc\\xda\\x33\\xa1\\xa5\\x62\\xd6\\x59\\x25\\x66\\x14\\x65\\xf4\\xbd\\x62\\xc6\\xd0\\x1f\\xbb\\x4b\\xcc\\xb8\\xe5\\x62\\xc6\\x23\\x23\\xfe\\x8c\\x98\\x75\\x3f\\x10\\xb3\\xde\\x3e\\xe8\\x30\\x74\\x4a\\xcc\\xfa\\xeb\\xc5\\x4c\\x98\\x0a\\x5d\\x0e\\x21\\xb3\\x01\\xe3\\x13\\xcb\\xc5\\x4c\\x42\\x47\\x12\\xe3\\x1b\\x26\\x40\\x73\\x21\\xc6\\x24\\x63\\x5f\\xa3\\x68\\x68\\x83\\x98\\x1e\\xfa\\xb9\\xfe\\x9b\\xde\\x2f\\xc5\\xf4\\x61\\x67\\x63\\x78\\x52\\xbc\\xd0\\x73\\x62\\x36\\x41\\x77\\x2a\\x3a\\x9b\\xc6\\x43\\x6f\\x88\\xd9\\x0c\\x39\\xcd\\xb1\\xa9\\x45\\x43\\x08\\x7b\\xb8\\x1b\\x9a\\x17\\x61\\x77\\x4b\\x6c\\x6e\\xd5\\x09\\x3a\\x24\\x66\\x6b\\xc6\\xb7\\xc1\\xc7\\x36\\xd8\\x94\\xc6\\xf8\\xf4\\xe6\\x10\\x76\\xa5\\x23\\x3b\\x1d\\x1d\\x6d\\x91\\xdd\\x16\\x3f\\xdb\\x62\\x47\\x3b\\x70\\x68\\x07\\x7f\\x3b\\x7c\\x69\\xf7\\x9d\\x98\\x19\\xd8\\x92\\x01\\x7f\\x06\\x72\\x33\\x8a\\x21\\xe4\\x66\\xa0\\x3f\\x63\\x13\\xf4\\x16\\x04\\x4f\\x7b\\xec\\x6e\\x0f\\x4f\\x7b\\x78\\xda\\xc3\\xd3\\x1e\\x9e\\xf6\\xf0\\xb4\\x87\\xa7\\x3d\\xb6\\xb4\\x47\\x6e\\x7b\\xfc\\xef\\x10\\x09\\x81\\x79\\x07\\xf0\\xea\\x00\\x4f\\x07\\x78\\x3a\\xc0\\xd3\\x01\\x9e\\x0e\\xf0\\x74\\x00\\xc3\\x8e\\xf8\\xd1\\x11\\x39\\x1d\\xc1\\xa9\\x23\\xfd\\x1d\\x37\\x43\\xf4\\x75\\xc4\\xf6\\x4c\\xc6\\x67\\x36\\x81\\xf2\\x21\\xec\\xcf\\x5c\\x06\\x81\\x5b\\xe6\\x36\\x08\\x5b\\xd8\\x2b\\xcd\\x4c\\x64\\x74\\x82\\xa7\\xd3\\x50\\x08\\x9f\\x3a\\xd1\\xdf\\x89\\xfe\\x4e\\xf4\\x77\\xa2\\xbf\\x13\\xfd\\x59\\x60\\x97\\x85\\x1d\\x59\\xd8\\x9a\\x85\\x8c\\x2c\\x78\\xb2\\xe0\\xc9\\x82\\x27\\x0b\\x9e\\xce\\x61\\x10\\xfd\\x9d\\xb1\\xb3\\x33\\x58\\x74\\x26\\x6e\\x9d\\xc1\\xad\\x33\\x78\\x77\\xc6\\xdf\\x2e\\x60\\xd2\\x05\\x3b\\xbb\\x80\\x69\\x97\\x7e\\x10\\xb6\\x76\\x21\\xc6\\x5d\\xf0\\xa5\\x0b\\x32\\xba\\x60\\x6b\\xd7\\x1c\\xa8\\x02\\xc2\\x87\\xae\\xf8\\xd0\\x95\\xf6\\xae\\x27\\xc5\\x64\\xdf\\x36\\xbb\\x11\\x97\\x6e\\xa3\\x20\\xe2\\xd6\\x8d\\x31\\xdd\\xf0\\xbf\\x1b\\x3e\\xb2\\x9f\\x9b\\xdd\\x91\\xdb\\x1d\\xb9\\xdd\\x91\\xdb\\x1d\\x8c\\xba\\x93\\xaf\\xdd\\x89\\x53\\x77\\x72\\xb6\\x3b\\xb6\\x65\\x63\\x5b\\x36\\xb6\\x65\\x63\\x5b\\x36\\x3a\\xb3\\xb1\\x3d\\x9b\\xbe\\xec\\x03\\x10\\xf2\\xfd\\xf4\\xfb\\x89\\xa7\\x1f\\x1d\\x7e\\x78\\xfc\\xd8\\xe0\\x47\\x8f\\x9f\\xbc\\xf2\\x93\\x2b\\x7e\\x7c\\xf0\\x93\\x9f\\x9c\\x17\\xcc\\x1e\\xe8\\xea\\x41\\xbc\\x7b\\x60\\x7f\\x0f\\x74\\xf4\\xc0\\xc6\\x1e\\xf8\\xd7\\x13\\xff\\x7a\\xd2\\xd7\\x13\\x1b\\x7a\\xa2\\xa3\\x27\\xf6\\xf7\\x24\\x8f\\x7a\\x11\\xe7\\x5e\\xf8\\xd5\\x0b\\x99\\xbd\\xc0\\xa4\\x17\\x98\\xf4\\x22\\x27\\x7b\\x21\\x2f\\x87\\x31\\x39\\xe4\\x40\\x0e\\x63\\x72\\xb0\\x3b\\x87\\xdc\\xcf\\xc1\\xaf\\x1c\\xec\\xca\\xc1\\xae\\x5c\\xec\\xca\\xc5\\xae\\x5c\\xec\\xca\\xc5\\xae\\x5c\\x64\\xe4\\x22\\x23\\x17\\x9b\\x72\\xc9\\xb5\\x5c\\xec\\xc9\\xc3\\xbf\\x3c\\x30\\xe8\\x0d\\x46\\xbd\\xe1\\xeb\\x0d\\x46\\xbd\\xb1\\xbd\\x37\\x7a\\x7a\\x63\\x77\\x6f\\x6c\\xcb\\xc7\\x86\\x7c\\xf0\\xc9\\x27\\x76\\xf9\\xd8\\x96\\x8f\\xdd\\xf9\\xf4\\xe5\\xd3\\xd7\\x87\\xbe\\x3e\\xf4\\xf5\\xa1\\xaf\\x0f\\x7d\\x7d\\xc0\\xb6\\x0f\\x73\\xa2\\x0f\\xb9\\xd7\\x17\\x99\\x7d\\xe9\\xeb\\x8b\\x7d\\x7d\\xf1\\xb7\\x2f\\x71\\xe9\\x8b\\x5f\\x7d\\xc1\\xbd\\x2f\\xf1\\x2a\\x60\\x2e\\x16\\x80\\x45\\x41\\x29\\x44\\x4e\\x14\\x20\\xb7\\x00\\x3c\\x0a\\xb0\\xbd\\x1f\\x63\\xfb\\x91\\x93\\xfd\\xe8\\xeb\\x47\\x5f\\x3f\\x72\\xa5\\x1f\\x7d\\xfd\\xb0\\xb7\\x1f\\xf6\\xf6\\xa7\\xbf\\x3f\\xf6\\xf6\\xc7\\xde\\xfe\\xd8\\xdb\\x1f\\x7b\\xfb\\x63\\x53\\x7f\\x6c\\x1a\\x80\\x4d\\x03\\xd0\\x3b\\x00\\x9b\\x06\\x60\\xd3\\x00\\xe4\\x0e\\xa0\\x6f\\x00\\x7d\\x9c\\xb7\\xcc\\x81\\x60\\x36\\x10\\xd9\\x03\\xb1\\x69\\x20\\xfd\\x03\\xb1\\x79\\x20\\xb8\\x0d\\xc4\\xae\\x81\\xd8\\x5d\\xc8\\x3a\\x50\\x88\\x6d\\x85\\xd8\\x56\\x88\\xfe\\x42\\xf4\\x17\\x12\\xf3\\x42\\x62\\xce\\x19\\xcd\\x2c\\x44\\xff\\x20\\xf4\\x0f\\x42\\xff\\x20\\x70\\x1d\\x04\\xae\\x83\\xb0\\x61\\x10\\xb8\\x0e\\x22\\x66\\x83\\xf0\\x6d\\x30\\xf3\\x66\\x70\\x3a\\xc4\\x9c\\x18\\xcc\\x9c\\x18\\x4c\\x2e\\x0c\\xa6\\x7f\\x30\\xb8\\x0f\\xc6\\x8e\\x21\\xd8\\x38\\x04\\x1b\\x87\\x60\\xe3\\x10\\x6c\\x18\\x82\\x0d\\x43\\xc0\\x6d\\x08\\xfa\\x87\\x32\\x76\\x28\\x63\\x87\\x32\\x76\\x28\\x63\\x39\\x03\\x9a\\x9c\\x01\\x4d\\xce\\x80\\x66\\x11\\x31\\x2d\\x22\\x17\\x8b\\xd0\\x5b\\xc4\\x3c\\x29\\x42\\x6e\\x11\\xf9\\x50\\x44\\x3e\\x0c\\xc3\\xb7\\x61\\xf8\\x36\\x0c\\xbc\\x87\\x91\\x0f\\xc3\\xc8\\x87\\x61\\xf8\\x35\\x0c\\x9b\\x86\\xe3\\xd3\\x70\\xe6\\xe8\\x70\\xe6\\xf1\\x70\\xe6\\xf1\\x70\\x72\\x7c\\x38\\x98\\x0e\\xc7\\x9f\\xe1\\xf8\\x53\\x4c\\x9e\\x14\\x93\\x67\\x9c\\x2b\\xcd\\x62\\x72\\xa4\\x18\\x5b\\x8b\\xc1\\xa3\\x98\\x58\\x94\\xe0\\x6b\\x09\\xbe\\x96\\x80\\x75\\x09\\x7e\\x96\\x80\\x75\\x09\\x78\\x96\\xe0\\xc7\\x08\\xfc\\x18\\x81\\x1f\\x23\\xf0\\x63\\x04\\x7e\\x8c\\xc0\\x8f\\x11\\xf8\\x31\\x02\\x3f\\x46\\xe2\\xc7\\x48\\xfc\\x18\\x89\\x1f\\x23\\xf1\\x63\\x24\\x7e\\x8c\\xc4\\x8f\\x91\\xf8\\x31\\x0a\\x3f\\x46\\xe1\\xc7\\x28\\xfc\\x18\\x85\\x1f\\xa3\\xf0\\x63\\x14\\x7e\\x8c\\xc2\\x8f\\xd1\\xf8\\x31\\x1a\\x3f\\x46\\xe3\\xc7\\x68\\xfc\\x18\\x8d\\x1f\\xa3\\xf1\\x63\\x34\\x7e\\x8c\\xc1\\x8f\\x31\\xf8\\x31\\x06\\x3f\\x38\\xe7\\x9a\\x63\\xf0\\x63\\x0c\\x7e\\x8c\\xc1\\x8f\\x31\\xf8\\x31\\x16\\x3f\\xc6\\xe2\\xc7\\x58\\xfc\\x18\\x8b\\x1f\\x63\\xf1\\x63\\x2c\\x98\\x8f\\x25\\xd7\\x4b\\x99\\x5f\\xa5\\xc4\\xbd\\x94\\xb8\\x97\\x92\\x8b\\xa5\\xe4\\x62\\x29\\x3e\\x96\\xe2\\x63\\x19\\x3e\\x96\\xe1\\x63\\x19\\x3e\\x96\\xe1\\x47\\x19\\xb6\\x96\\x61\\x4f\\x19\\xf6\\x8c\\x43\\xe7\\x38\\x74\\x8e\\x43\\xe7\\x38\\x74\\x8e\\x43\\xee\\x38\\xc6\\x8e\\x23\\x1f\\xc7\\x81\\xc1\\x78\\xfc\\x1c\\x8f\\x2f\\xe3\\xb1\\x77\\x3c\\xfd\\xe3\\xf1\\x65\\x3c\\x18\\x8c\\x47\\x6e\\x39\\x3a\\xcb\\x19\\x57\\x8e\\x8f\\xe5\\x60\\x53\\xce\\x98\\x72\\xc6\\x4c\\x60\\xcc\\x04\\xc6\\x4c\\x60\\xcc\\x04\\xc6\\x70\\x6e\\x36\\x27\\x20\\x73\\x02\\xfd\\x13\\xb0\\x75\\x22\\xfa\\x26\\x82\\xcd\\x44\\x6c\\xe1\\xcc\\x6c\\x4e\\xc4\\x87\\x49\\xd8\\x31\\x89\\x31\\x93\\x18\\x33\\x89\\x31\\x93\\x18\\x33\\x89\\x31\\x93\\x18\\x33\\x09\\x99\\x15\\xc8\\xac\\xa0\\xbf\\x82\\x58\\x54\\x90\\xb3\\x15\\xf8\\x5e\\x01\\x66\\x93\\xc1\\x7a\\x32\\x31\\x9a\\x4c\\x2e\\x4f\\x66\\xcc\\x64\\xda\\x27\\x23\\x6f\\x32\\x79\\x3a\\x85\\x31\\x53\\x18\\x33\\x05\\x5d\\x53\\xc0\\x7a\\x0a\\x58\\x4f\\x01\\xeb\\x29\\x8c\\xbb\\x18\\x7d\\x17\\x33\\x0f\\x2e\\x26\\xe6\\x17\\xa3\\x63\\x2a\\x32\\xa6\\x32\\x76\\x1a\\x32\\xa6\\xa1\\x77\\x1a\\x3e\\x4e\\x23\\x96\\xd3\\x91\\x3f\\x9d\\x78\\x4d\\xc7\\xae\\xe9\\xc8\\x98\\x8e\\x8c\\xe9\\xc8\\x98\\x0e\\xb6\\x33\\xb0\\x65\\x06\\x18\\xce\\x24\\x46\\x33\\xd1\\x39\\x13\\x9d\\xb3\\xf0\\x6d\\x16\\x39\\x31\\x0b\\x4c\\x66\\x21\\x67\\x16\\x7c\\xb3\\x68\\x9f\\x8d\\xae\\xd9\\xcc\\xb9\\xd9\\xc8\\x9d\\x83\\xac\\xb9\\x60\\x37\\x97\\xe7\\xb9\\xd8\\x3d\\x97\\x38\\xcf\\x25\\x77\\xe6\\xa2\\x6f\\x1e\\xfa\\xe6\\x61\\xf3\\x3c\\x62\\x3c\\x0f\\x5b\\xe6\\x61\\xd3\\x3c\\x64\\xcf\\x03\\xb7\\xf9\\x8c\\x99\\xcf\\xf8\\x4b\\x88\\xe3\\x25\\xe8\\xbc\\x84\\xf6\\x4b\\xc0\\x66\\x01\\x7e\\x2e\\x20\\x17\\x17\\xe0\\xe7\\x02\\xf4\\x2e\\x20\\x46\\x0b\\x88\\xef\\x02\\x6c\\x5b\\xc0\\xb8\\x4b\\xb1\\xe7\\xd2\\x6d\\xff\\x17\\xc4\\xf8\\xcb\\xb0\\xf5\\x32\\x6c\\x58\\xc8\\x5c\\x58\\x48\\xfe\\x2d\\x44\\xc7\\x42\\x30\\x5b\\xa8\\xdb\\xb0\\x99\\x3b\\x88\\x79\\x39\\x7e\\x5c\\x4e\\x4e\\x2d\\x02\\xd3\\x45\\xf8\\xb3\\x18\\x1f\\x16\\x33\\x7e\\x09\\xf5\\x25\\xcc\\x8d\\x25\\xd8\\xb0\\x94\\x1c\\xbe\\x02\\x6c\\xae\\x60\\x6e\\x5d\\x09\\xdf\\x95\\xe4\\xe3\\x95\\xc4\\xff\\x4a\\xda\\xaf\\xa2\\x7e\\x15\\x79\\x74\\x8d\\x26\\x62\\x7b\\x0d\\x7a\\xaf\\x25\\xcf\\x97\\x83\\xc7\\x0a\\x70\\x58\\xc1\\x9c\\x5c\\x81\\xaf\\x2b\\xf1\\x73\\x25\\xb2\\x56\\xd1\\xb6\\x8a\\x98\\xad\\x66\\x2e\\xad\\x66\\xcc\\x6a\\x6c\\xe1\\x1e\\x61\\x5e\\x4f\\xc9\\xdd\\xc1\\x5c\\x43\\x7c\\xd6\\x62\\xcf\\x3a\\xc6\\xac\\x63\\xae\\xae\\x63\\xee\\xdc\\x40\\xff\\x0d\\xe8\\xbf\\x01\\x5d\\x37\\x62\\xd7\\x7a\\xf0\\xb9\\x09\\xfb\\x6f\\x06\\xbf\\x0d\\xcc\\x8f\\x5b\\x91\\x73\\x1b\\xb6\\x6d\\x24\\xbe\\x1b\\x89\\xdb\\x9d\\xf8\\x79\\x17\\xb2\\x36\\x61\\xe3\\xdd\\xc8\\xfb\\x17\\xfc\\xf7\\xa0\\xf3\\x3e\\x7c\\xbf\\x9f\\xb8\\x3c\\x80\\xdc\\x07\\x89\\xeb\\xc3\\xe0\\xfe\\x08\\xf2\\x36\\x83\\xd3\\x66\\xca\\xc7\\x68\\x7f\\x1c\\xbd\\x5b\\xb0\\xf5\\x09\\xda\\xb6\\x22\\x6f\\x1b\\xf3\\xf1\\x49\\xfc\\x79\\x8a\\xb8\\x3c\\x0d\\x56\\x4f\\x13\\xbf\\xa7\\x91\\xfb\\x34\\xba\\xb7\\x23\\x6f\\x3b\\x7e\\x3e\\x83\\xae\\x67\\xf0\\xeb\\x19\\x6c\\xda\\x01\\xce\\x3b\\xe8\\xdf\\x01\\x36\\xcf\\xc2\\xfb\\x2c\\x73\\xed\\x39\\xfc\\x79\\x1e\\xb9\\x2f\\x60\\xff\\x8b\\xe8\\xd9\\x09\\xef\\x4e\\xe4\\xed\\x64\\xfe\\xec\\x44\\xce\\x4b\\xb4\\xbf\\x8c\\x9d\\x2f\\xc3\\xbb\\x0b\\x7f\\x5e\\x43\\xe7\\xeb\\xcc\\xc9\\x37\\xe0\\x7d\\x03\\x39\\xbb\\xc9\\x81\\xdd\\x8c\\x7f\\x13\\x7b\\xdf\\x24\\x47\\xde\\xa4\\x6d\\x0f\\xf6\\xbf\\xc5\\xf8\\xb7\\xa8\\xef\\x25\\xb7\\xf6\\xc2\\xbb\\x97\\x31\\x7b\\xb1\\xe7\\x6d\\xe6\\xc3\\xdb\\xc4\\xe2\\x6d\\xc6\\xbc\\x03\\x6e\\xef\\xe0\\xf3\\x3b\\xb4\\xef\\x23\\x37\\xf7\\x91\\xaf\\xfb\\xf0\\xf3\\x5d\\x6c\\x7e\\x17\\x5c\\xde\\x43\\xdf\\x7b\\xf0\\xbe\\x47\\xdb\\xfb\\xf8\\xf7\\x3e\\xf8\\x7d\\x00\\xde\\x1f\\x60\\xe3\\x07\\xc8\\xde\\x0f\\xb6\\xfb\\x89\\xcd\\x87\\xd8\\xf8\\x21\\xb1\\xfc\\x88\\xfc\\xf8\\x08\\x19\\x07\\x88\\xdf\\x01\\x78\\x0e\\x60\\xf3\\x41\\xd6\\xad\\x83\\xe0\\xff\\x31\\x76\\x7e\\xcc\\xf3\\x27\\xe0\\x72\\x08\\x59\\x87\\x58\\x0b\\x0e\\xe1\\xfb\\x21\\xb0\\x3f\\x44\\x1c\\x3f\\x45\\xff\\xe7\\xcc\\xc7\\x23\\xe4\\xc8\\x31\\xec\\x3d\\x86\\x5d\\xc7\\xb0\\xb1\\x0a\\x59\\x55\\xc4\\xac\\x0a\\xdc\\xaa\\xf0\\xa9\\x0a\\xbd\\xdc\\x0b\\xcc\\xe3\\xf8\\xf1\\x35\\xba\\xbf\\xa1\\xfc\\x0e\\xd9\\xdf\\xa1\\xff\\x04\\xed\\x27\\xe0\\xf9\\x9e\\x39\\xf9\\x03\\x31\\x3a\\x89\\x7d\\x3f\\x22\\xf7\\x47\\xf4\\xfe\\xc4\\xb8\\x7f\\x93\\xb3\\xa7\\x90\\x75\\x0a\\xdf\\x7e\\x06\\x97\\x9f\\xd1\\xff\\x0b\\x76\\xfc\\x8a\\x4d\\xbf\\x81\\xdd\\xef\\xc4\\xf2\\x77\\xe2\\xf2\\x07\\xf6\\x9d\\x06\\xcf\\x33\\x3c\\x9f\\x25\\x66\\x01\\xf2\\x3a\\xc0\\xfc\\xb4\\x1e\\x14\\x87\\x54\\x40\\xdf\\x89\\x43\\xcd\\x15\\x87\\x91\\x0e\\x6d\\x13\\x87\\xb9\\x5c\\x1c\\x8e\\x1c\\x71\\x38\\x9b\\x40\\xbb\\xc4\\xe1\\x9a\\x29\\x0e\\x77\\x73\\x68\\x13\\x74\\x46\\x1c\\x61\\xc5\\x10\\x7c\\xe1\\x91\\x50\\x29\\x44\\x3d\\xa2\\x21\\xb4\\x14\\xfa\\x52\\x1c\\xb5\\xfa\\x41\\x1b\\xa1\\x53\\xe2\\x88\\x44\\x6e\\xe4\\x01\\x71\\xd4\\x0e\\x83\\x3a\\x41\\xc8\\xa8\\x83\\xdc\\x3a\\xe8\\xa8\\x73\\x58\\x1c\\x51\\x09\\x50\\x39\\xb4\\x0c\\x5a\\x0f\\xdd\\x0b\\x21\\x2f\\x0a\\xbd\\x51\\x1f\\x40\\xc8\\x8b\\x42\\x4e\\xb4\\x03\\x8a\\x87\\xd0\\x1d\\x8d\\x3d\\xd1\\x8c\\x8f\\xc6\\xfe\\xe8\\x37\\x20\\xe4\\x44\\xff\\x26\\x8e\\x98\\x68\\x08\\x3b\\x63\\xfc\\x10\\x7c\\x31\\xf0\\xc5\\xc0\\x17\\x83\\xce\\x18\\x64\\xc5\\xe0\\x67\\x2c\\x72\\x62\\xb1\\x35\\xb6\\x3d\\x84\\x9d\\xb1\\xe8\\x8e\\x5d\\x05\\xa1\\x37\\xf6\\x39\\x08\\xbe\\x58\\xf8\\xe2\\xe0\\x8b\\x83\\x2f\\x0e\\xbe\\x38\\xf8\\xe2\\xe0\\x8b\\xbb\\x1c\\xc2\\xc6\\xf8\\x9d\\xe2\\xa8\\x4b\\x7f\\xdd\\x42\\x68\\xb3\\x38\\xea\\xa1\\x37\\x61\\x41\\x90\\x1a\\xe0\\x5b\\x83\\xb5\\x10\\xf6\\x70\\xe7\\x71\\x24\\xe2\\x7f\\x22\\xbe\\x25\\x32\\x2e\\x11\\x1d\\x89\\xf8\\x96\\x88\\x6f\\x49\\xd8\\x99\\x84\\xde\\xa4\\x93\\xe2\\x68\\x28\\x10\\x32\\x1a\\x7a\\x21\\x62\\xd0\\x70\\x14\\x34\\x15\\x42\\x5f\\x43\\x78\\x1a\\x82\\x65\\x43\\xf4\\x34\\xc4\\xbe\\x86\\x6f\\x41\\x87\\x20\\x6c\\x6c\\x48\\x2c\\x92\\x89\\x41\\x32\\x76\\x26\\x33\\x2e\\x99\\x98\\x25\\xe3\\x77\\x32\\x63\\x93\\x89\\x45\\x32\\x76\\x24\\xa3\\x33\\x79\\x3b\\x04\\x4e\\xc9\\x8c\\x4b\\x46\\x5f\\x23\\x6c\\x6f\\x04\\xee\\x8d\\x5a\\x41\\x60\\xd5\\x08\\x3f\\x1a\\x11\\xc7\\x46\\xe0\\xd5\\x88\\x71\\x8d\\xf6\\x89\\xc3\\x33\\x14\\x82\\xdf\\xcb\\xb3\\x8f\\xd8\\xf9\\xe8\\x6b\\x8c\\x9e\\xc6\\xba\\xc4\\xfe\\x14\\xc6\\xa7\\xe0\\x5f\\x0a\\xb2\\x9b\\x60\\x43\\x13\\xf4\\x36\\xc1\\xc6\\x26\\xd8\\x94\\x9a\\x0f\\x61\\x73\\x2a\\xf5\\xa6\\xc8\\x6e\\x8a\\x0d\\x4d\\xb1\\xb7\\x19\\xf1\\x6f\\x86\\x4d\\xcd\\x8e\\x8b\\xa3\\x39\\x3c\\xcd\\xe1\\x69\\x4e\\x7b\\x0b\\x30\\x6e\\x41\\x9c\\x5a\\x10\\xc7\\x8b\\xe0\\xb9\\x08\\xac\\x2e\\x22\\x67\\x5a\\x82\\x47\\x4b\\xf2\\xb3\\x25\\xfa\\x5a\\x51\\x6f\\x05\\x1e\\xad\\xf0\\xbf\\x35\\x79\\xd0\\x1a\\x8c\\x5a\\x83\\x65\\x1b\\x6c\\x6b\\x83\\xee\\x36\\x95\\xe2\\x48\\xa3\\x3d\\x0d\\xfe\\x34\\x6c\\x4a\\xa7\\x3d\\x1d\\x1f\\xd2\\xb1\\xa9\\x2d\\xd8\\xb6\\x25\\x0e\\x6d\\xc1\\xa0\\x1d\\x76\\xb7\\x83\\xa7\\x1d\\x31\\xcc\\xa0\\x9e\\x41\\x7b\\x06\\xfe\\xb6\\xa7\\xde\\x1e\\x0c\\xda\\x93\\x53\\x1d\\x18\\xdb\\x01\\x9e\\x0e\\xf0\\x74\\x44\\x66\\x47\\x74\\x75\\x24\\x87\\x3a\\x12\\xd3\\x4c\\x74\\x65\\x22\\xbf\\x13\\x32\\x3b\\xc1\\xdf\\x09\\xbd\\x59\\xf0\\x67\\x51\\xcf\\xa2\\xde\\x19\\x2c\\x3a\\x83\\x51\\x67\\xf2\\xa8\\x0b\\x31\\xee\\x42\\xbd\\x0b\\x72\\xba\\x22\\xa7\\x2b\\xba\\xba\\xa2\\xab\\x1b\\xb8\\x77\\xa3\\xde\\x8d\\x78\\x76\\x27\\x16\\xdd\\xc1\\xb1\\x3b\\x3e\\x66\\x93\\x3b\\xdc\\x6d\\x1c\\xd9\\xd4\\xfd\\xf0\\xfb\\x89\\xa3\\x1f\\x7f\\x7b\\xc0\\xdf\\x03\\x7c\\x7a\\x80\\x49\\x4f\\x78\\x7a\\x32\\xb6\\x27\\xed\\xbd\\x68\\xef\\x45\\x6e\\xf5\\x42\\x57\\x0e\\xed\\x39\\x8c\\xe5\\xde\\xe1\\xc8\\x45\\x6f\\x2e\\x75\\xee\\x17\\x8e\\x3c\\xb0\\xcd\\x03\\xf3\\x3c\\xda\\x7b\\x83\\x61\\x6f\\x74\\xf5\\xc6\\x9e\\x7c\\x62\\x99\\x4f\\xbe\\xe6\\x23\\x87\\xfb\\x83\\xa3\\x0f\\x3e\\xf6\\xc1\\xfe\\xbe\\xd8\\xdf\\x17\\xdf\\xfb\\xc2\\x53\\x40\\xbd\\x80\\xf8\\x15\\x10\\xbf\\x02\\x7c\\xef\\x07\\x9e\\xfd\\xc0\\xb3\\x1f\\xf5\\xfe\\xe4\\x5a\\xff\\x0d\\x10\\xf3\\x73\\x00\\x31\\x1b\\x80\\x8e\\x01\\xe4\\x0b\\xe7\\x7a\\x07\\xe7\\x79\\x07\\xe7\\x78\\x47\\x21\\x36\\x15\\xa2\\xa3\\x10\\xdb\\x0b\\x89\\x2d\\x67\\x75\\xc7\\x20\\x62\\x30\\x98\\x9c\\x1e\\xcc\\x9c\\x1e\\x02\\x36\\x43\\xc9\\xfd\\xa1\\x3c\\x0f\\x45\\xee\\x50\\x6c\\x19\\x4a\\x3e\\x14\\xa1\\x97\\xf3\\xb5\\xa3\\x88\\x79\\x57\\x04\\x06\\x45\\xf4\\x17\\xd1\\x5f\\x44\\x7f\\x11\\xfd\\xc3\\xe8\\x1f\\x46\\x3f\\x67\\x6c\\xc7\\x30\\xfa\\x87\\xd1\\x3f\\x8c\\xfe\\x61\\xf4\\x0f\\xa3\\x7f\\x38\\xfd\\xc3\\xe9\\x1f\\x4e\\x3f\\xe7\\x6c\\xc7\\x70\\xfa\\x39\\x63\\x3b\\x8a\\xb1\\xa7\\x18\\x1f\\x8a\\xc1\\xac\\x18\\x6c\\x4a\\x78\\x2e\\xe1\\xb9\\x84\\xe7\\x12\\x62\\x3a\\x82\\xbc\\x1b\\x09\\xb6\\xa3\\xc0\\x62\\x14\\xf6\\x8f\\x66\\x4e\\x8d\\x26\\x1f\\xc6\\xc0\\x33\\x86\\xe7\\xb1\\xc4\\xb8\\x94\\x58\\x97\\xd2\\x5f\\x06\\xae\\x65\\xf8\\x3b\\x0e\\x5d\\xe3\\xc0\\x72\\x1c\\x63\\xc7\\xe3\\xcb\\x78\\xe6\\x4b\\x39\\x65\\x39\\x58\\x4e\\x00\\x87\\x89\\xe4\\xd5\\x44\\xf2\\x74\\x12\\x38\\x54\\x60\\x4f\\x05\\xf6\\x70\\x2e\\x74\\x54\\x90\\xfb\\x15\\xb4\\x57\\x60\\x73\\x05\\x18\\x56\\x30\\x57\\x26\\x23\\x6b\\x32\\x36\\x4d\\x21\\xf6\\x53\\xc0\\xfc\\xe2\\xae\\x10\\xf3\\x75\\xea\\x72\\xfd\\xff\\xeb\\x47\\x0c\\xd9\\x68\\x1d\\x35\\x1e\\x70\\x76\\x13\\x53\\xa2\\xd4\\x3b\\x7e\\xcb\\x34\\x8c\\xda\\x6e\\x77\\x74\\x8c\\x52\\x46\\x84\\x23\\xe2\\xf6\\x91\\x8e\\x7a\\x86\\x39\\x37\\x46\\x95\\xc7\\xa8\\xa1\\x31\\xca\\x1f\\xa3\\xda\\xc7\\xa8\\x26\\x31\\x2a\\x3e\\x46\\x39\\x62\\xd4\\xc9\\x18\\xf5\\x65\\x8c\\xda\\x17\\xa3\\x76\\xc6\\xa8\\x6d\\x31\\xea\\xde\\x18\\xb5\\x2c\\x46\\xcd\\xb4\\x99\\x0b\\x63\\x54\\x4e\\x35\\xb3\\xc4\\xa8\\xc9\\xa7\\x6c\\xd6\\x0f\\x6c\\xa6\\xb5\\xf6\\x1f\\x3d\\x9f\\x13\\x9a\\xf3\\x57\\xa1\\x41\\xb6\\x5d\\x31\\xaa\\xd2\\x66\\x5e\\x6f\\x0b\\x0d\\x32\\xd7\\x64\\x0b\\x0a\\xdc\\x55\\x2d\\x30\\xc8\\x53\\x6a\\x2b\\x0e\\x5a\\xe9\\x8d\\x51\\xd1\\x36\\x67\\xd6\\xa9\\x1a\\x12\\x37\\xfd\\x55\\x62\\x4d\\x9f\\x6c\\x6f\\xfc\\xfd\\x43\\xfe\\xfc\\x13\\x6f\\xba\\x2d\\x39\\xde\\xf6\\xea\\x9c\\x53\\x8f\\xd4\\xf0\\x08\\x06\\x23\\xa8\\x1b\\x8e\\xd1\\xa3\\x47\\x8f\\x1d\\x1d\\xfa\\xcc\\x3a\\xef\\x33\\xbb\\xe6\\x67\\xcc\\xe8\\xbf\\x7c\\xfe\\x99\\xf1\\x9f\\x38\\x25\\x3b\\xbb\\x65\\x4c\\xac\\x64\\x25\\xa4\\xc5\\xc4\\xaa\\xac\\x98\\x8c\\x8c\\x98\\x8c\\xb6\\xe9\\x2a\\x25\\xce\\xa7\\x1a\\x37\\xed\\xd0\\xbe\\x63\\x46\\xbb\\x7a\\x75\\xe3\\x5d\\xea\\xae\\xb1\\x5d\\x55\\xcb\\xc0\\xed\\xb9\\x65\\xa5\\x79\\x90\\xba\\xd7\\xbc\\xf5\\x8f\\xfb\\xed\\x2a\\x24\\x86\\x9a\\x69\\x8e\\x32\\xbf\\xb6\\x73\\xc1\\x2d\\xdd\\xfc\\x8d\\x9d\\x0e\\x87\\xcb\\xad\\x44\\x0c\\xd3\\x6d\\x86\\x85\\xbb\\xa3\\x4d\\xe5\\x35\\x2b\\x4d\\x43\\xcc\\x68\\x73\\x93\\x69\\x9a\\x9c\\x3a\\x24\\xbb\\xdd\\xde\\xd1\\xb3\\x66\\xb7\\xd3\\x3a\\x83\\x4a\\xab\\x35\\x67\\x98\\x29\\x9a\\x8c\\xd3\\xdf\\xdf\\x33\\x34\\x70\\x2d\\x5f\\xce\\x6e\\x01\\x8f\\xfa\\x22\\xe0\\x41\\x9c\\x75\\x9a\\x64\\x4e\\x41\\x4f\\x92\\x78\\xd4\\x38\\xff\\x89\\x58\\x4f\\x23\\xd3\\x61\\xc4\\xd5\\x4d\\x68\\xc0\\x99\\x21\\x9e\\xad\\x27\\xc6\\x11\\xed\\x74\\x47\\xd4\\xaa\\xe3\\x88\\x72\\x19\\x71\\x2a\\x2e\\x3e\\xde\\x17\\xed\\x8c\\x72\\xba\\x5c\\x5e\\x87\\x84\\x85\\x87\\x3d\\x56\\x92\\xdc\\x20\\xbc\\x61\\x42\\x64\\xed\\xc8\\xc7\\x4a\\xea\\xc6\\xd4\\xae\\x55\\x7b\\x61\\x6d\\xa3\\x5e\\x78\\xed\\xf0\\xda\\x2a\\x2e\\xca\\x74\\xa9\\xd8\\x7b\\x7d\\x6a\\xbd\\x4f\\x2d\\xf3\\xa9\\xb9\\x3e\\x55\\xee\\x53\\x43\\x7d\\x2a\\xc7\\xa7\\x9a\\xf8\\x94\\xc3\\xa7\\x0e\\xfb\\x94\\xb1\\xcf\\xa7\\x76\\xfa\\x54\\xa5\\x4f\\x6d\\xf2\\xa9\\xb5\\x3e\\xb5\\xd4\\xa7\\x4a\\x7d\\xca\\xef\\x53\\x5e\\x9f\\x8a\\xf6\\x29\\xf1\\xa9\\x93\\x36\\xdf\\x4e\\x9b\\x81\\xae\\x42\\xbb\\x37\\xdd\\x66\\xa0\\x37\\xeb\\xf0\\x85\\x06\\xd7\\x1c\\xb3\\xf4\\xaf\\x03\\x0e\\xff\\x55\\xc7\\x5f\\xe3\\xfb\\xf7\\xa0\\xd6\\x08\\xfc\\xd8\\x3f\\x43\\x2f\\xd9\\x19\\xd9\\x19\\xb1\\x59\\x59\\x69\\x69\\x63\\x46\\x03\\x71\\xcb\\x18\\xd1\\x38\\x87\\x4a\\x95\\x11\\x82\\x3e\\x58\\xc4\\xd6\\xcf\\xaa\\x49\\x04\\xc3\\x24\\x0f\\xa0\\x94\\xcc\\x0c\\x9b\\x32\\x4c\\x1f\\x94\\xe1\\x4e\\x81\\x14\\x75\\x63\\xf7\\xfa\\x5b\\xd6\\x07\\xfe\\xb8\\xe1\\xb6\\xf5\\xb7\\xd6\\x7b\\x62\\x52\\x55\\xbd\\xc0\\x9a\\x0d\\x6b\\x95\\x6b\\xed\\x2d\\x6b\\x37\\xd4\\x7b\\x6c\\xc2\\x17\\xf5\\xce\\x9e\\x99\\xa4\\x5c\\x15\\xea\\xf6\\xc0\\x84\\x20\\x2d\\x54\\x9e\\x85\\x6a\\x75\\x60\\x8e\\xa6\\x85\\x81\\x2f\\x16\\xaa\\xdb\\x02\\x5f\\x28\\xe2\\x6a\\x5a\\xc7\\xad\\x72\\xf3\\x43\\xe7\\x1e\\x69\\x2c\\x2d\\x24\\x5d\\x1e\\xf5\\x67\\xd7\\x69\\xd6\\x34\\xcc\\x2d\\xae\\xc6\\x51\\x31\\x0d\\x12\\x5b\\xb7\\xf1\\xba\\x7c\\xd1\\x8d\\xa3\\x7c\\x51\\xd1\\xd1\\x46\\x9c\\x91\\x12\\x19\\x77\\x51\\xa3\\xc8\\x46\\xed\\xda\\xb6\\x0e\\x4b\\x6c\\xea\\x88\\xf1\\x36\\x6b\\x10\\xd3\\x60\\x4e\\x49\\x54\\x74\\x8c\\xbf\\x4e\\x8c\\xc4\\x47\\xc7\\x1b\\x91\\x66\\xfc\\x76\\x6b\\xe7\\xd6\\x7a\\x9e\\x7c\\x5d\\xfa\\x93\\x63\\xe2\\xf3\\xe3\\xe3\\x63\\x1a\\xb8\\xdb\\x78\\xdb\\xcc\\x29\\xf1\\x38\\xd4\\x8b\\x0e\\x55\\xe8\\xd0\\xff\\x99\\xae\\xc6\\x3e\\xaf\\x5b\\xb2\\xf7\\xb6\\xcb\\xc8\\x48\\x03\\x3e\\x0d\\x49\\x42\\x76\\x46\\x5a\\xcb\\x96\\x63\\x35\\x54\\x89\\xd1\\x7b\\xdb\\xe9\\xa6\\x20\\x1a\\xd5\\x59\\xca\\x63\\xd6\\x5f\\xc0\\x02\\xa4\\x7a\\xf5\\xcd\\x94\\x66\\x4d\\x9b\\x99\\x8d\\x8c\\xba\\x64\\x5f\\x4a\\x66\\xd3\\x66\\x71\\x19\\xf5\\x1b\\xa9\\xfa\\x71\\x6d\\x8c\\x0e\\xd1\\xa9\\x99\\x19\\x66\\x7b\\x3a\\xbb\\x2b\\x15\\x5f\\xaf\\x7e\\x5c\\x1d\\x65\\xec\\x5e\\xbb\\xa8\\x53\\x89\\xbb\\x7b\\xc1\\xe0\\x75\\xd3\\xfc\\x81\\xa6\\x89\\x13\\x1b\\x7c\\x70\\xaf\\xbf\\x58\\x79\\x2f\\x19\\x59\\xb6\\x7c\\x7a\\xb6\\xda\\x95\\x30\\xa9\\x43\\x66\\xaf\\xe1\\x65\\x33\\x03\\x47\\x7a\\xb6\\x2f\\x18\\x5d\\xee\\xec\\x1b\\xe6\\x0b\\xbc\\xb4\\xab\\x4d\\xad\\x40\\xc1\\xe0\\xf2\\xcb\\x07\\x05\\xa6\\xa6\\xac\\x5a\\x6e\\xe6\\xa8\\x8a\\x8f\\xd2\\x7a\\x29\\xc3\\xec\\x3d\\x6e\\xc9\\x70\\x55\\x11\\xbd\\xf4\\xf4\\x9a\\xec\\x71\\x6d\\x02\\xed\\xea\\x2d\\x37\\x1b\\xf5\\x18\\xd1\\x44\\xad\\x08\\x9f\\xa2\\xff\\xbc\\xdb\\x29\\xcb\\xac\\xaf\\x5c\\x3d\\x9c\\x83\\xf5\\x1a\\x2d\\x0d\\xa5\\xb9\\x74\\x50\\xcf\\xf8\\x2d\\xc3\\x14\\xd5\\x22\\x25\\x2d\\xb9\\x9e\\x23\\x3a\\x42\\x99\\x8e\\x88\\xe4\\x14\\x57\\x66\\xc7\\xa6\\xed\\x9e\\x2a\\xf1\\x35\\x7d\\x7a\\xa4\\xaf\\xe5\\x53\\x25\\xe2\\x6b\\x10\\x16\\xfb\\x54\\x49\\xed\\xb0\\xa7\\x47\\xd6\\x6e\\xf0\\x54\\x89\\x51\\xdb\\x71\\x6b\\xa6\\x5a\\x99\\xa9\\x16\\x65\\xaa\\x19\\x99\\x6a\\x58\\xa6\\xea\\x98\\xa9\\x1a\\x64\\xaa\\x5a\\x99\\xea\\x6c\\xa6\\xfa\\x36\\x53\\xed\\xce\\x54\\xcf\\x66\\xaa\\xfb\\x33\\xd5\\x75\\x99\\x6a\\x7e\\xa6\\x9a\\x98\\xa9\\xfa\\x64\\xaa\\x2e\\x99\\xaa\\x75\\xa6\\x4a\\xce\\x54\\xe1\\x99\\x6a\\xd2\\xe9\\x4c\\x75\\x2c\\x53\\x7d\\x98\\xa9\\x6e\\xce\\x54\\x97\\x66\\xaa\\x8b\\x33\\xd5\\xc8\\x4c\\x55\\x90\\xa9\\xba\\x65\\xaa\\x26\\x99\\xaa\\x9e\\x2d\\xe2\\xa1\\x4c\\x15\\x54\\xb3\\xb0\\x5a\\x44\\x47\\x7b\\xf0\\x69\\x5b\\xc7\\x27\\xd5\\x6a\\xee\\xb5\\x85\\x4c\\xce\\x54\\x59\\x99\\xaa\\x65\\xa6\\x4a\\xca\\x54\\xb5\\x33\\x55\\x26\\x86\\x1c\\xc9\\x54\\x1f\\x64\\xaa\\xd7\\x32\\xd5\\x53\\xb6\\xa0\\xeb\\x6c\\xa6\\x92\\x6a\\x35\\xca\\x91\\xa9\\x4e\\x66\\xaa\\x2f\\x33\\x95\\xbf\\xcb\\x1e\\x5b\\xd0\\xe3\\xb6\\xb2\\x25\\x99\\xaa\\x3c\\x53\\x0d\\xb5\\x65\\x9d\\xb6\\xd5\\xbc\\x63\\xf7\\x2e\\xcd\\x54\\x73\\x6d\\x2b\\x07\\x66\\x2a\\x23\\x3b\\x53\\x79\\x32\\x55\\x54\\xa6\\x72\\x8f\\xb9\\xf0\\xc2\\x3c\\x7b\\xec\\x3f\\x2d\\xb4\\x17\\x5a\\x8c\\xc7\\xfc\\xc3\\x42\\x9c\\xa1\\xff\\xd1\\x4b\\x82\\x5d\\x90\\x71\\xe4\\x57\\xc6\\x9f\\xff\\xd7\\x36\\xdd\\xc9\\xba\\xa8\\xe2\\xdd\\x86\\xcf\\x1b\\xd3\\x3e\\x96\\x65\\x59\\xc5\\x67\\xb4\\xeb\\xae\\x3a\\xb4\\x6f\\x9a\\xd2\\xb8\\x8e\\xfa\\xe7\\x8e\\xd2\\x9b\\x1d\\x0f\\xde\\x72\\x36\\xa1\\x56\\xcf\\xc0\\xf3\\x81\\x7f\\xef\\x7f\\xfa\\x9a\\x95\\x81\\xc6\\x83\\xb3\\x46\\xb5\\x6f\\x9e\\x9e\\x55\\xdc\\xce\\x11\\xb8\\x60\\x73\\xbc\\x73\\x62\\xc0\\x6a\\xd5\\x33\\xb0\\x4a\\x99\\x1f\\x2b\\xd7\\x15\\x81\\x65\\xd7\\xcd\\xde\\x3d\\xb4\\x60\\xc0\\xbc\\xfd\\x81\\xe4\\x0b\\xb5\\x92\\x5d\\xed\\xac\\xef\\x5c\\x5e\\xe7\\x20\\x69\\xca\\xec\\xed\\x22\\x0b\\xfd\\x79\\x19\\x0e\\x67\\x94\\x23\\xba\\x6d\\x7c\\x7a\\xb3\\x46\\x0e\\x6f\\x74\\x5c\\x5b\\x6f\\x47\\x89\\x13\\xaf\\x99\\xe8\\x8e\\x6c\\x99\\x18\\x99\\xd8\\xad\\x6b\\xa4\\x3b\\xdc\\x3d\\xa0\\x24\\x3c\\x3c\\x2e\\x3e\\x3d\\xca\\xd9\\xcc\\xd1\\x28\\x23\\x2c\\xa5\\x7e\\x4a\\xd6\\xc0\\x92\\x14\\x47\\xfd\\x36\\x85\\x25\\xf5\\xeb\\xc5\\x45\\x0f\\x28\\x89\\xab\\x2b\\xd9\\x1a\\x0f\\x9b\\xd8\\xa2\\x00\\x84\\x5d\\x2a\\x38\\x27\\xed\\xf9\\x18\\x93\\x11\\x5b\\x0d\\xd2\\x9f\\xb3\\x31\\xbe\\x8e\\x72\\x93\\x39\\xcd\\x32\\x7d\\x51\\x8a\\xaa\\x47\\xb9\\x7d\\xcd\\xea\\xa8\\x14\\xbd\\x99\\x75\\x57\\x99\\xc1\\x2d\\xad\\x91\\x52\\x75\\x8c\\xba\\xf1\\xf5\\x32\\xda\\x65\\xaa\\xf8\\xfa\\x21\\xac\\x5c\\x8e\\x82\\xbc\\x45\\x77\\xa9\\x4e\\x33\\x1a\\xce\\xad\\xa5\\x3e\\xad\\xb5\\xa8\\xcd\\xba\\xc2\\x47\\x2f\\xab\\x15\\x58\\x3f\\x61\\xfe\\xc1\\x2b\\x8f\\x7e\\x5f\\xb2\\x61\\xe3\\xb0\\xb7\\xb7\\x4d\\xbf\\x73\\xe8\\xd9\\x1d\\xc3\\xfa\\xb6\\x58\\x3c\\xf9\\xd5\\xeb\\x03\\x9f\\x16\\xce\\x1b\\x5e\\x90\\xd5\\x77\\x80\\x63\\xc0\\xe0\\x79\\xc5\\xd9\\x81\\xbb\\x1f\\x59\\x97\\xe8\\xf7\\x27\\x4e\\xfb\\xbe\\xf8\\xe5\\x06\\xd9\\x0b\\x06\\x76\\x7b\\x76\\x5b\\xf9\\xba\\x29\\x99\\xcb\\xd7\\xaf\\xaf\\xec\\x31\\xff\\xec\\x6f\\xad\\x06\\x5c\\xdc\\x67\\xf6\\x35\\x0b\\xcc\\x82\\x59\\x73\\x3a\\xce\\xee\\x3f\\x74\\x54\\x05\\xf3\\x53\\xa9\\x44\\x73\\x94\\x11\\x63\\xef\\x9b\\xad\\xfd\\x89\\xf6\\x86\\x69\\x3a\\x9c\\xe7\\x6f\\x97\\x7a\\xb7\\xd4\\x9b\\x65\\xcd\\xfd\\x59\\xef\\x92\\x29\\xa1\\xcd\\x51\\x94\\x4c\\x08\\xf4\\x33\\x53\\x9d\\xab\\x99\\xe5\\xcd\\xfd\\xf1\\x66\\xad\\x5a\\xe2\\x72\\x45\\xc7\\xd4\\x8a\\xfc\\xb5\\xa4\\x96\\x98\\xc6\\x2f\\x25\\x66\\x92\\x54\\xa3\\x78\\x4e\\x44\\x6a\\x74\\x7d\\x77\\x53\\xa3\\x43\\xfb\\x44\\xc0\\x72\\xbb\\x22\\x94\\x1a\\x72\\x77\\xbd\\x5d\\x4f\\x96\\xdc\\xf5\\xfb\\x3b\\xf5\\xae\\x7d\\x71\\xfe\\x82\\xc0\\x9e\\x35\\x15\\xb3\\x54\\xe7\\xa3\\x0f\\xa9\\x7f\\xa9\\x16\\x9f\\x94\\x5f\\x3e\\x22\\xf0\\xe0\\xd9\\x8f\\xb5\\xcd\\xd6\\xa4\\x40\\x3f\\xa3\\x59\\xb5\\x2e\\x37\\xab\\x4c\\xad\\x5a\\xd1\\x31\\x61\\xee\\x5f\\x4a\\xc2\\xe8\\xfd\\xb5\\x44\\x2e\\xa0\\xcb\\xcc\\xec\\x98\\xa8\\x3a\\x44\\x37\\xcb\\xac\\x17\\x5b\\x37\\x3e\\x42\\xb9\\x6e\\xad\\x7b\\xf5\\x8b\\x97\\xdd\\x15\\xbb\\x7b\\x4b\\xc9\\x9d\\xbf\\x05\\xfa\\x5d\\x3e\\x42\\x0d\\x32\\x5a\\xbd\\xae\\xda\\xad\\xae\\x98\\x1f\\xd8\\xf3\\xc5\\x7d\\x81\\xb1\\x81\\x0f\\x0e\\xe9\\xf5\\x4b\\xc9\\x3d\\x46\\x07\\x47\\x84\\x73\\xa8\\xc4\\x48\\x92\\xbf\\x4e\\x44\\x5c\\xac\\x57\\x15\\x2a\\x63\\x8d\\x52\\x2a\\xc2\\xa1\\x31\\x19\\xad\\x75\\x80\\x46\\x5c\\xb3\\x38\\x67\\xb3\\xd6\\x2a\\x33\\xce\\xac\\x6f\\xa6\\xd6\\xaf\\xad\\xdc\\xc6\\x82\\x7a\\xc7\\x2e\\x09\\xec\\xec\\xaa\\xba\\x05\\x3e\\x5f\\xfc\\x6b\\xdc\\xb1\\xcb\\x94\\xbf\\x5b\\xe0\\x05\\xd5\\x6c\\x89\\x79\\x69\\xe0\\xb9\\x54\\xd5\\xf6\\xb9\\x2f\\x9a\\x5d\\xf7\\x4a\\xe0\\x84\\xca\\x69\\x12\\x78\\x6f\\xeb\\xa7\\x4d\\xaf\\x79\\x09\\x5d\\x8b\\x64\\x8f\\xa3\\x83\\xe3\\x6a\\xa9\\x25\\xb9\\xfe\\x26\\x12\\x1e\\x6e\\xba\\x5c\\x11\\xce\\x08\\x67\\xed\\x48\\xd3\\xa8\\x53\\xe2\\x72\\xd7\\x11\\xb7\\xaa\\x6d\\xba\\x5d\\x7e\\x31\\x5d\\xe6\\xa3\\x25\\xe1\\xae\\xad\\x7a\\xc2\\x92\\x8c\\x89\\x09\\xd1\\x7b\\xd9\\x31\\xec\\x39\\x4b\\x56\\xc6\\x9e\\x8b\\x51\\x4c\\x4a\\x8c\\xaf\\x83\\x8f\\xec\\xf4\\xd5\\x35\\x36\\xad\\x09\\x4c\\x55\\xeb\\xd7\\xa8\\x9b\\x8c\\xd2\\xc0\\xc5\\xea\\xa6\\x35\\xea\\xe6\\xc0\\x94\\x35\\xb6\\x8f\\xd6\\x07\\x81\\x57\\xd4\\x70\\xd5\\x5a\\x62\\xa5\\xb1\\x3f\\xc6\\xac\\x5d\\x1b\\x18\\xe3\\xe2\\xa3\\xcd\\x07\\x47\\xc6\\x45\\x3f\\x34\\x32\\x5a\\xd2\\x5a\\xfe\\x25\\x6a\\xf1\\x2e\\x77\\x87\\xee\\x84\\xad\\x69\\xb3\\xd0\\xe9\\x4c\\x0d\\x7f\\xed\\xf9\\x4e\\x83\\x5b\\x25\\xb7\\xe8\\x3d\\x22\\x77\\xe8\\xa4\\x29\\x77\\x1c\\x6c\\x3b\\x2a\\xaa\\x5b\\xbf\\xc6\\xf5\\x7c\\x89\\x2d\\x87\\xf4\\xc8\\x99\\x1a\\xc4\\xb1\\xa5\\x5a\\x69\\x94\\x1a\\x59\\x64\\x52\\x3d\\x7f\\x84\\x18\\x0e\\xa7\\x92\\x67\\x4a\\xd4\\xf3\\x12\\x8c\\x12\\x10\\xc6\\x65\\xfa\\xdc\\x2d\\x7d\\x46\\xbc\\x4f\\xad\\x7c\\xec\\xb1\\xe0\\x98\\x28\\xeb\\xa8\\x1a\\xa9\\xd2\\xc0\\x23\\xc1\\x5f\\xcb\\x0c\\x0f\\x8f\\xac\\x2d\\xae\\xdb\\x47\\x4a\\x3d\\xa9\\x0e\\x6d\\xdb\\xf4\\xfa\\x35\\x8e\\x88\\x4f\\x86\\xce\\x86\\xc9\\xe7\\x8e\\x85\\xf8\\xb6\\xcc\\xfa\\xce\\xf8\\xd0\\x99\\x8b\\xde\\x86\\xfe\\x48\\xbd\\xef\\x98\\x4e\\xe5\\x30\\x1c\\xac\\x05\\xd9\\xd9\\xf6\\xe9\\x23\\xb8\\xb4\\xd5\\x67\\x69\\x8b\\x5e\\x65\\xbc\\xb6\\x2a\\xde\\x59\\xa2\\xff\\x59\\x92\\xf4\\xb6\\xbe\\x33\\x0f\\xb1\\x6f\\xd5\\x92\\x06\\x3a\\xcb\\xe2\\x5c\\x91\\xe2\\x92\\xc4\\xa4\\x88\\xa8\\xb9\\x25\\x11\\x6e\\x47\\xdd\\xb9\\x25\\x8e\\x06\\x35\\xb2\\x2c\\x2b\\x28\\x45\\xc5\\x1b\\xae\\x14\\xbd\\x06\\x76\\xcc\\xf0\\x9a\\xf6\\x8c\\x66\\x43\\xce\\x68\\x47\\xea\\x99\\x87\\xd6\\x9d\\x79\\x32\\xf0\\xe8\\xba\\x3f\\xb6\\xa8\\x92\\x5f\\x33\\x73\\x87\\x5d\\x3a\\xe6\\x92\\xdc\\x8a\\x7e\\x1d\\xcc\\xa7\\x8f\\x06\\x6a\\xfd\\x5b\\xdd\\xf3\\x9d\\x3a\\xfe\\x43\\x60\\xc1\\x8a\\x35\\x47\\x03\\xe6\\xfa\\xc0\\xb7\\xcb\\x55\\x8c\\xaa\\xc0\\xff\\x74\\x0e\\x26\\x6d\\x9d\\xf9\\x12\\x21\\x59\\xfe\\x86\\x11\\x22\\x2e\\xa7\\xb3\\x56\\xa4\\x2b\\x8c\\x34\\x08\\x37\\xdd\\xfe\\x88\\x70\\xb7\\x38\\x4d\\xe7\\xdc\\x12\\x33\\x41\\x03\\x62\\x1f\\x1d\\x12\\x75\\x1e\\xb4\\xcb\\xaa\\x19\\xae\\xfa\\x6e\\x5f\\xb6\\x8a\\x73\\x67\\xa6\\x66\\x18\\x3d\\x7f\\x88\\x3a\\x5b\\x27\\xea\\x97\\x2d\\x67\\xa3\\xd4\\xdd\\xcb\\xa6\\x27\\x0c\\x1b\\x96\\x60\\x7e\\xdf\\xbb\\xe8\\x33\\x3b\\x07\\xaa\\xd0\\xf5\\xae\\xb3\\x1f\\xde\\x76\\xf6\\x37\\x74\\x4a\\x5c\\x5c\\x52\\x62\\x42\\x24\\xcb\\x03\\x53\\x2b\\x3a\\x6c\\x4e\\x49\\xb4\\xdb\\x48\\x50\\x09\\xf3\\x4b\\xd4\\x39\\x5d\\xf6\\x77\\x5a\\xe8\\x00\\x67\\xa7\\x5c\\xdb\\xf4\\x16\\x2a\\x33\\x2c\\xb8\\x94\\x45\\x71\\x7e\\xef\\xae\\xec\\xb8\\xd4\\x51\\x0e\\xa7\\xcf\\xcc\\x3a\\xf3\\x98\\x4f\\x5d\\xa5\\xda\\x95\\x0f\\x2a\\xc9\\xeb\\x3f\\xbc\\xe3\\xd0\\x3b\\x46\\x3c\\xbb\\x6f\\xc0\\x2d\\x01\\x2b\\xb0\\xdf\\xd8\\xf4\\xbc\\x6a\\xa9\\x96\\x3f\\x34\\xb5\\xac\\xfd\\xcb\\xaa\\x6d\\x6c\\x83\\xdb\\xae\\x1d\\xb7\\xe3\\x89\\xbd\\x2f\\x63\\xd3\\x49\\x62\\xb0\\x1b\\x9b\\x5a\\x48\\xb9\\xbf\\x43\\x93\\xa8\\x28\\xc3\\x57\\xab\\x59\\xb3\\x38\\x9f\\xef\\xa2\\x96\\x89\\x86\\x71\\x51\\x93\\xe8\\xa8\\xe8\\xa8\\x79\\x25\\xd1\\xd1\\x8d\\x24\\x31\\xb1\\x51\\xa3\\x7a\\x73\\x4a\\x1a\\xb9\\x45\\x9b\\x6a\\xaa\\x42\\xbd\\x78\\xb1\\x6c\\x11\\xa2\\x76\\x69\\x9c\\xab\\xe4\\x9c\\xb9\\xb1\\x59\\x69\\xf6\\x5d\\x23\\x18\\xfa\\x73\\x27\\xa9\\xac\\x58\\x32\\xd0\\xd9\\x38\\x78\\x6c\\x22\\x60\\xf8\\x90\\xa6\\xb2\\x55\\xc7\\x98\\xf3\\x7c\\x71\\xb9\\x1b\\xa9\\xba\\xf1\\x0e\\x35\\xb2\\x6a\\x59\\xeb\\x51\\x75\\xe2\\x16\\x77\\x5a\\x71\\xdb\\xf8\\xb2\\x39\\xf5\\x66\\xfd\\x50\\x5a\\x34\\xa2\\x27\\x6e\\x4d\\x5c\\x55\\xbc\\xe3\\xdd\\xcd\\xf7\\x5f\\xb5\\x36\\xf0\\x5e\\x7c\\x73\\x95\\xfb\\x51\\xb4\\xef\\xce\\xdb\\xe7\\xcc\\xaa\\xe5\\xbe\\x34\\x2c\\x4a\\xd5\\x9a\\x30\\x51\\x3b\\x98\\x18\\x73\\xfb\\xf2\\xdb\\xb6\\x37\\xa8\\x7b\\xdf\\x25\\xaf\\x1e\\xe2\\x3e\\x71\\x18\\xdc\\x5f\\x76\\xe6\\x10\\xe3\\x28\\x29\\xf6\\xb7\\xae\\x6d\\xd6\\x32\\x6a\\x19\\x61\\x2c\\xcc\\x2e\\x7d\\x95\\x8d\\x74\\x38\\xa2\\xeb\\xd4\\x66\\x09\\xad\\x6d\\xce\\x2f\\x09\\x73\\x8e\\xaa\\x3d\\xb5\\xb6\\x51\\xbb\\xb6\\x51\\xcb\\xed\\x72\\x29\\x23\\xc1\\x3e\\x59\\x73\\xb4\\x4e\\x1b\\x1d\\x3c\\x4e\\x6b\\x7f\\xfe\\xf4\\x8b\\x23\\x77\\x3b\\x5d\\xad\\x3e\\x45\\x67\\x2a\\x7d\\x70\\x36\\x95\\x2f\\xae\\xa3\\xe9\\x48\\xfb\\x3d\\xed\\xec\\xfe\\x86\\xc6\\xe9\\x3d\\x77\\xdc\\xe1\\xfb\\x2d\\x60\\xa8\\x2b\\x72\\xb9\\x82\\xb0\\x1c\\xc5\\xdd\\x6a\\x6e\\x38\\xb3\\xfc\\x19\\xb3\\xf1\\xd9\\x5b\\xd4\\x95\\xb9\\xe4\\x60\\x7d\\x62\\xb0\\x87\\xfd\\xa1\\x91\\x4c\\xf4\\x67\\xc5\\x9a\\x66\\x62\\x78\\xc3\\xe4\\xfa\\x0d\\x92\\xcd\\x84\\x84\\xf0\\xf0\\x44\\x8f\\x37\\x21\\x5e\\xe2\\xe7\\x96\\x44\\x89\\x47\\x38\\xf4\\x8a\\x34\\x70\\x35\\x68\\x38\\xbf\\xa4\\x81\\xcb\\x15\\x45\\x1c\\x6a\\xa9\\xc2\\x5a\\x95\\xb8\\x53\\xcb\\x45\\x1c\\x32\\xce\\xc5\\xc1\\xbe\\xe9\\xe9\\xe5\\xaa\\xc6\\x36\\x5a\\xbf\\xda\\x6a\\x6c\\xd5\\x38\\x3b\\x7c\\x8d\\x9b\\xd6\\x08\\x06\\x13\\xc9\\x8d\\x07\\x6e\\x9f\\xd9\\xd1\\x70\\xbc\\xf4\\x56\\xe0\\xc3\\xc0\\x89\\x82\\xcb\\x16\\x10\\x81\\x86\\xe5\\xed\\x97\\xdf\\xf4\\x6a\\xf3\\xa9\\xad\\x46\\x5f\\x66\\x6c\\x6b\\x72\\xf6\\xcd\\xec\\x11\\x66\\xa3\\x6d\\x0f\\x1e\\xfe\\x25\\xb2\\x21\\xe0\\xd7\\x4f\\x7c\\xfe\\xf1\\x9f\\xea\\xc6\\x1a\\x4f\\xee\\x09\\xdc\\xd8\\x40\\xcf\\xe9\\x3c\\xfd\\xff\\xd1\\xc7\\xce\\xf1\\xa6\\x52\\xe0\\x6f\\x1e\\x93\\x98\\x68\\x7a\\xc3\\xeb\\x99\\xf5\\x9a\\x35\\x8f\\x4b\\x99\\x57\\x12\\x15\\xe7\\x89\\xc3\\x89\\xb8\\x38\\x71\\xbb\\xeb\\xcc\\x29\\xa9\\x55\\xcb\\xed\\x96\\xe4\\x39\\x25\\x12\\x9a\\xe7\\x19\\x69\\x35\\x4d\\xaf\\x71\\x69\\xd4\\x89\\xc3\\x22\\x14\\xdb\\x24\\xa3\\x9d\\x7d\\x0c\\x4f\\x69\\x6c\\xb8\\x3b\\x86\\x32\\x5f\\xe9\\x1d\\xbe\\xa3\\x3d\\x23\\xdc\\x2e\\xb5\\xe7\\xb9\\xdd\\xdb\\x54\\xe6\\x93\\xeb\\xae\\xeb\\x38\\x3c\\xdc\\xdf\\x7f\\xe9\\x6b\\x69\\x2b\\x16\\xdf\\xfa\\xc0\\x25\\x9f\\x06\\x4e\\x0c\\x28\\x28\\xbe\\x78\\x54\\x7e\\xef\\x71\\x51\\xf1\\xa7\\x3e\\xfb\\x51\\xdd\\xf7\\x5b\\xcb\\xc0\\x3b\\x2f\\xb7\\x0f\\x9c\\x38\\xd1\\xe7\\xb1\\x3b\\xd7\\x56\\x2d\\x55\\x5b\\xef\\x7f\\x70\\xdf\\xc3\\x0b\\x66\\xb4\\x98\\x4d\\x3c\\x86\\x71\\xff\\xcc\\x21\\x1e\\x61\\x92\\xed\\x4f\\x71\\x2a\\x97\\x2b\\x3c\\xc2\\x6d\\x9a\\x11\\xce\\x04\\x87\\x11\\x66\\x84\\xcd\\x0f\\x86\\x62\\xac\\x3c\\x2e\\x2f\\xea\\xff\\x9c\\x9e\\xe1\\x0a\\x21\\x6f\\x9b\\x9e\\x5d\\x23\\x3b\\x58\\x70\\x35\\xa2\\xca\\xa7\\x7c\\x81\\xe1\\x39\\x66\\x49\\x9d\\xb3\\x29\\x81\\xb3\\xa6\\xeb\\xec\\x0f\\xe6\\x0b\\x6a\\xc9\\xc0\\xd3\\xb1\\x8e\\xd9\\x7a\\x0d\\x36\\x25\\x95\\xf8\\x7f\\xc1\\x3a\\x58\\x4f\\xbc\\x72\\x91\\x0c\\xf5\\x5f\\x54\\xc7\\xac\\x25\\xf5\\x63\\x62\\x7c\\xb5\\x1a\\x8a\\x34\\x75\\xd5\\x72\\xb5\\x6c\\x55\\xc7\\x6c\\xd0\\xbc\\x41\\xf3\\xb9\\x25\\x0d\\x1a\\x84\\xc5\\xc7\\x37\\x9a\\x53\\x12\\xef\\x0e\\x4b\\x99\\x53\\x12\\xf6\\xe7\\xfa\\x28\\xf6\\xa1\\x89\\x22\\xeb\\xbc\\xcb\\x76\\x28\\x3b\\x83\\xd3\\x2a\\xda\\x67\\xaf\\xe5\\x99\\x6d\\x54\\x68\\x5b\\x89\\xaf\\x8e\\xbd\\xf9\\x67\\xed\\x8b\\x6b\\xe7\\x0d\\x19\\x1b\\x88\\x7c\\xe6\\xd5\\xbb\\x57\\xfa\\x07\\x1c\\xff\\xec\\xa1\\xc7\\xcf\\x7e\\x36\\xa5\\x68\\xe2\\x9c\\xa2\\xd1\\x77\\xde\\x36\\x7d\\xd6\\xad\\xd3\\xe6\\x38\\xba\\xad\\x7e\\x2d\\xa5\\xd1\\xca\\x89\\x81\\xf6\\x4f\\x6e\\xda\\xf8\\xa6\\xb7\\xf1\\x0d\\x25\\xcf\\xbe\\xb2\\x26\\xf0\\xce\\xfa\\xe7\\x6f\\xdb\\xb0\\xed\\xcc\\x47\\xcf\\xbf\\xf1\\xdc\\xd3\\x7b\\xed\\x7f\\x76\\x2a\\x8d\\xec\\xf5\\xbd\\xa0\\x3a\\x17\\xc8\\x03\\x9d\\x0e\\xf5\\xcc\\x60\\x2e\\x48\\x5c\\xf4\\x79\\xb9\\xd0\\xc0\\xce\\x05\\xf7\\x3f\\xe7\\x82\\xed\\x92\\x4e\\x5f\\x0e\\x18\\x86\\x23\\xc5\\x5e\\x4b\\x08\\x7e\\x6c\\xa6\\x2b\\x74\\xf2\\x53\\xf6\\x86\\x10\\x3c\\xf3\\x75\\x34\\xfa\\x3d\\xf9\\xc9\\x63\\x81\\xb7\\xb6\\xdd\\x7d\\x2d\\xb9\\xd0\\x63\\xcc\\xa2\\x97\\xda\\x5c\\x75\\xc5\\xc6\\x47\\x2f\\x39\\xa8\\x12\\x86\\xf4\\x2e\\x9e\\x36\\xb8\\x6f\\xff\\x29\\x91\\xce\\x82\\x80\\xf5\\xf1\\x2f\\x81\\x71\\x27\\x5b\\xaa\\xb6\\x2f\\xb7\\x57\\xae\\x93\\xd9\\x3b\\xee\\x5b\\xfe\\xd9\\xa2\\x40\\xf3\\x47\\x5f\\x7f\\x7f\\xf3\\xec\\x99\\xcd\\xca\\x6c\\x3f\\x72\\xad\\xa3\\x46\\x43\\x73\\x27\\xfb\\x54\\x7d\\xbd\\x4f\\x85\\x9b\\x66\\xdd\\xa8\\xa8\\x84\\x06\\x91\\xb1\\xb7\\x8f\\x8c\\xac\\xe7\\x92\\xdb\\x47\\xba\\xa2\\xff\\x7e\\x1a\\xaa\\xf9\\x62\\xc5\\xac\\xf9\\x92\\x65\\x7e\\xde\\xd8\\xd1\\xf9\\xbd\\xc7\\x96\\xbe\\x1b\\xda\\x4a\\x8d\\xb9\\xa5\\x79\\x79\\xa5\\x65\\xb9\\xb9\\x65\\x67\\x67\\xfc\\xb9\\xab\\x6a\\xbd\\x89\\x81\\x57\\x8c\\x26\\xe8\\x8d\\x65\\x65\\x48\\xf7\\x27\\x36\\xac\\x57\\x4f\\x1f\\x1b\\x38\\x3c\\x78\\xbc\\xfa\\xe4\\xe0\\xe1\\xe4\\xd0\\x20\\xee\\xf6\\x91\\x0d\\xb4\\xf6\\x1a\\xe7\\x87\\x98\\x7f\\x38\\x43\\xfc\\xc5\\x8a\\x3b\\x6a\\x9e\\x27\\x3c\\x21\\x93\\xfe\\x76\\xae\\x50\\x5b\\xff\\x7f\\xac\\xbd\\x09\\x7c\\x14\\x45\\xf6\\x38\\x5e\\xaf\\x8f\\xe9\\x39\\x7a\\x66\\x7a\\xee\\xfb\\x4e\\x26\\xc7\\x24\\x24\\x10\\x42\\x20\\x04\\xd2\\x84\\x2b\\x9c\\x09\\x97\\xd0\\x04\\x48\\x94\\xfb\\x90\\xfb\\x50\\x50\\x89\\x88\\x07\\x22\\x82\\x27\\x9e\\x88\\x27\\xfa\\x15\\x05\\x05\\x5d\\xbc\\x71\\x17\\x5d\\x58\\x75\\x61\\x0f\\xdd\\x75\\x5d\\x15\\xaf\\x75\\xdd\\xf5\\xc0\\x6b\\xbf\\xab\\x90\\xce\\xbf\\xaa\\xba\\x67\\x32\\x09\\xd9\\xef\\xf7\\xf7\\xfb\\xfc\\xfe\\x4a\\xba\\x7b\\xba\\x5f\\xbf\\x7e\\x55\\xf5\\xea\\xd5\\x7b\\xaf\\x5e\\xbd\\xca\\xd2\\x46\\x74\\x85\\xf9\\xe8\\x11\\x2e\\xc2\\x3d\\x86\\x07\\xe9\\x59\\xf2\\x40\\xc6\\xc0\\x81\\x01\\x8c\\x02\\x47\\xf4\\x26\\xce\\x56\\x6f\\x00\\x43\\x1c\\x41\\x1b\\x07\\x88\\xab\\xe4\\x9a\\xb9\\x36\\xae\\x9d\\xdb\\xc5\\x19\\x10\\x17\\xa7\\x3f\\xdb\\xb9\\x83\\xdc\\x29\\xee\\x34\\x67\\xe4\\xb0\\xb1\\x7e\\xb8\\xa8\\xac\\x91\\x3b\\x84\\x02\\xf5\\x19\\xac\\xef\\x56\\xe1\\x01\\x35\\xa7\\x56\\x51\\xca\\x5d\\xd5\\xe0\\x31\\x81\\x67\\x3e\\x7b\\xa4\\x03\\x98\\x4e\\x66\\xd3\\x4c\\xf8\\xe3\\x4e\\xf5\\x46\\x75\\xc7\\x4e\\x52\\x27\\xeb\\xe1\\x16\\xae\\x0f\\xfb\\x22\\xf5\\x41\\xcd\\x92\\x87\\x0a\\x0c\\x07\\x0c\\x18\\x4d\\x82\\xe1\\x09\\xa5\\x4d\\x38\\x2a\\x30\\x48\\x68\\x17\\x76\\x09\\x6c\\xbb\\x00\\x76\\xa1\\x49\\x60\\xf0\\x20\\xce\\x32\\xf8\\x11\\x7b\\x94\\x68\\xda\\xed\\xec\\x2e\\x16\\x1f\\xc0\\xce\\xd6\\xb3\\x4d\\x44\\xe7\\x26\\x1e\\x81\\xd5\\xb8\\xe5\\x08\\x93\\x91\\xab\\x7c\\x3d\\xc3\\x93\\xa8\\x26\\x7f\\x5c\\x9f\\x73\\x8d\\xec\\x91\\x73\\x8d\\x4c\\x6a\\xd7\\x2e\\xb8\\x73\\xe7\\x4e\\x5c\\x0f\\x77\\xe2\\x7a\\x98\\xd4\\xb3\\x1e\\x18\\xce\\xa6\\x20\\xc6\\x56\\x8f\\x9f\\xc7\\x0d\\x7c\\x1b\\x03\\x88\\xa9\\x64\\x9a\\xb1\\x3e\\xd6\\xce\\xec\\xc2\\x22\\x82\\x89\\xd3\\x9f\\xed\\xcc\\x41\\xe6\\x14\\x73\\x1a\\xcb\\x11\\xbd\\x1e\\x98\\xff\\x5c\\x0f\\x35\\xd5\\x26\\xc0\\x24\\xdc\\xc9\\xa2\\x0e\\xc4\\x1e\\x79\\x64\\x27\\xac\\x81\\xd5\\x3b\\xd5\\xb2\\x99\\x94\\x37\\x9e\\xeb\\xfc\\x84\\x7d\\x16\\xcb\\x59\\x2f\\x4a\\xa2\\x55\\x72\\x43\\xdc\\xc1\\x09\\x42\\xd0\\x8c\\x82\\x28\\x55\\x20\\x70\\xf7\\x2a\\xe6\\x0a\\xe1\\x80\\xc0\\x54\\xe0\\x5a\\x30\\xc4\\x0c\\xb8\\x16\\x0c\\x72\\xa8\\xb0\\x51\\x30\\x08\\x06\\x77\\xc4\\x17\\xb9\\xbb\\xc5\\xe7\\x5d\\x21\\x01\\x92\\xb0\\x8e\\x23\\x49\\x6e\\xb7\\x78\\x8f\\xe2\\xe6\\x74\\x9d\\x83\\xd6\\x84\\x26\\x50\\x70\\xdf\\xab\\xc8\\xd0\\x8a\\x19\\x94\\x25\\x8b\\x88\\xb5\\x7e\\xfd\\xa8\\x38\\xb1\\x33\\x29\\xac\\xf0\\x3b\\x88\\xc4\\x20\\x83\\x37\\x95\\x26\\xf9\\x2c\\xff\\xec\\x33\\xaf\\x4c\\xaa\\x5f\\xc8\\x2c\\xfd\\xe1\\xa5\\xf4\\x94\\xe0\\x30\\xa5\\x78\\xcf\\x5d\\xbf\\x7a\\xbb\\xe3\\xd1\\x51\\xad\\xad\\x84\\xc5\\x39\\xd7\\xe3\\xbf\\xed\\xef\\xfd\\x0d\\x0c\\xf2\\x55\\x81\\xf3\\x8d\\x90\\xfb\\x97\\x50\\x54\\x79\\xff\\xd9\\x81\\x84\\xd9\\x34\\x5f\\x23\\xaa\\x54\\x37\\x19\\x56\\x61\\x9b\\xa0\\x16\\x8d\\x42\\x47\\xe4\\xf5\\x83\\x25\\x5f\\xd0\\x3c\\x2c\\xc8\\xca\\x95\\xb2\\xc4\\xb2\\x45\\x35\\x71\\x96\\xad\\x19\\xdd\\xe8\\x69\\x78\\x5b\\x11\\xc2\\xef\\x28\\xd6\\xa1\\x7f\\x52\\x2a\\xaa\\x04\\x6b\\xab\\x67\\x85\\x87\\xb1\\x5b\\x5b\\xad\\x2b\\xf0\\x18\\xcf\\x7a\\xac\\x1e\\x2b\\xc2\\xa3\\xf6\\xdb\\x4a\\x15\\x4a\\xbd\\xad\\x20\\xee\\x4c\\x23\\x9c\\x6e\\x84\\x53\\x8d\\x70\\xb4\\x11\\x0e\\x36\\xc2\\xde\\x46\\xd8\\xd5\\x08\\xed\\x8d\\xb0\\xb2\\x11\\xda\\x1a\\xa1\\xb9\\x11\\xe4\\x46\\xa8\\x6c\\x84\\x78\\x23\\x48\\x8d\\x80\\x1a\\x61\\x55\\x0f\\x67\\xea\\xec\\xd9\\xb4\\x9b\\x57\\xe4\\x6a\\x87\\x54\\x0e\\xa9\\x94\\x4c\\x5e\\xbb\\x11\\x1b\\xd5\\xa7\\xf7\\x41\\x88\\x23\\x07\\x15\\x54\\xe9\\x9c\\x71\\xca\\x90\\x11\\x0c\\x4b\\x28\\x2c\\x6d\\x9d\\xd5\\xfd\\x51\\x2a\\xc9\\x61\\x13\\xd5\\xc9\\x11\\x5b\\xbe\\xc6\\x67\\xc0\\xa0\\x05\\x4c\\xb5\\xe4\\x44\\x2c\\x15\\x61\\xae\\xa2\\xa4\\x60\\x03\\xf6\\x4d\\x18\\x0e\\x17\\x1d\\x54\\x3f\\x7c\\x68\\xf8\\x2c\\xe3\\xc8\\xdd\\xd5\\xd3\\xe6\\xcf\\x3f\\xf6\\xa7\\x43\\xd3\\xdb\\x2e\\x8d\\xf6\\x1f\\xbf\\xa5\\x59\\x3d\\xfb\\xb7\\xdf\\xab\\xcf\\x3d\\x77\\x13\\x38\\x9f\\x5b\\x7c\\xe8\\xce\\xb6\\xfe\\x37\\xaa\\xef\\x1c\\xfc\\x54\\x7d\\xf0\\xe5\\x6f\\xe1\\xd1\\x91\\xc5\\xe1\\xe1\\x13\\x36\\xd7\\x2c\\xae\\x2f\\x6b\\xe4\\xa7\\xaa\\xaf\\xa8\\xef\\x1f\\x57\\x0f\\xbc\\x3c\\x6e\\xe0\\xa0\\xb1\\x57\\xae\\xba\\xf9\\xbb\\x5f\\x5c\\x60\\xe9\\xf8\\xc7\\x15\\xd1\\x01\\xb7\\x81\\xff\\x8e\\x6f\\xc0\\xf8\\xb1\\xba\\xb0\\xe3\\x79\\xf5\\xfd\\x07\\xd2\\x23\\x47\\x8d\\x5f\\xbd\\xe0\\x45\\x68\\xf9\\x33\\x44\\xe0\\x4d\\x80\\xb3\\x5f\\x36\\x0c\\x93\\x99\\x62\\xbe\\x61\\xa0\\x4a\\xf8\\xae\\xf3\\x76\\x6c\\x0a\\x32\\x58\\x5f\\xb6\\x63\\xa9\\x34\\x4d\\xce\\x38\\x6c\\x76\\x3b\\x67\\xe0\\x9d\\x56\\x49\\x14\\xb1\\x32\\xc5\\xb1\\x2e\\xb7\\xd5\\xe6\\xb0\\xb5\\x29\\x4e\\x87\\x83\\x91\\x78\\xce\\x2e\\x62\\x01\\xc1\\xb5\\x2a\\x66\\xc6\\xa9\\x1b\\x52\\x55\\x44\\x87\\xc6\\xfa\\x94\\xae\\x4d\\x69\\x0e\\x10\\xa2\\x47\\xf5\\xc3\\x67\\x32\\x54\\x15\\x12\\x65\\x1a\\xaa\\x5c\\x54\\xa9\\x66\\x13\\xac\\x09\\x8f\\x9f\\x7d\\x6c\\xea\\x7a\\xdb\\x42\\xe6\\x9e\\x33\\xea\\xc5\\xb6\\x8e\\xf7\\x6c\\xd7\\x0f\\x51\\x8b\\x8f\\x30\\x3e\\xf5\\x5d\\xb8\\x61\\xcc\\x98\\x31\\x21\\xee\\xd3\\xb3\\xe1\\x10\\x3e\\x43\\x8b\\xfa\\x30\\xfb\\x73\\xc7\\x49\\xe2\\x6b\\xfc\\xaa\\xf3\\x67\\x6c\\xd6\\x0d\\xc1\\x52\\xc2\\x81\\x0a\\xd0\\x72\\x79\\xb0\\xdf\\xe7\\xf3\\xc6\\x84\\xb0\\x60\\xc7\\x46\\xb3\\xe4\\xb5\\x24\\x93\\x4c\\xd8\\x1b\\x2e\\x4c\\xc7\\x04\\xbb\\x60\\x6f\\xc3\\xa3\\x0e\\xb6\\xd2\\x05\\x21\\xe0\\x0e\\xf8\\x5a\\xb1\\x6e\\xd5\\xa6\\x04\\x58\\xb7\\xd4\\xa6\\xb8\\xbd\\xad\\x8a\\xdb\\x49\\xc4\\x2b\\x91\\xee\\xdd\\x06\\x24\\xd4\\x6d\\xa0\\x25\\x5c\\xa0\\x59\\x85\\x5a\\xbb\\x63\\xa5\\x36\\x03\\xac\\x8b\\xea\\x25\\xf8\\xc2\\xeb\\x2b\\x24\\x16\\x42\\x51\\x4d\\x22\\xee\\xc8\\x2a\\xb8\\xcc\\xc3\\x50\\x77\\xe9\\x3a\\x65\\xca\\xe8\\xc7\\xf6\\xdc\\xb1\\x7b\\x75\\xdb\\xe2\\x71\\xea\\x3e\\xf5\\x65\\xf1\\xe9\\x13\\x8f\\xda\\x98\\xb1\\xf0\\xb7\\xa7\\xf6\\xde\\xf1\\x84\\xfa\\x1a\\x73\\x0e\\xec\\xad\\xf3\\xd5\\xf2\\x8e\\x65\\xb7\\xdc\\xb5\\x71\\x73\\xc7\\x69\\xc3\\x72\\x03\\x2e\\xee\\xfa\\xe0\\x18\\xf5\\xbd\\x1d\\x8f\\x79\\xad\\xfb\\xb6\\xfe\\xee\\x04\\x96\\x37\\x58\\xe7\\xe2\\x17\\x63\\x59\\x10\\x45\\x75\\x72\\x2c\\x64\\x32\\xc5\\x5d\\x2c\\x1b\\x8b\\x0b\\xf6\\x56\\x32\\xa8\\x72\\x28\\x88\\x2d\\xda\\x60\\x10\\x21\\x5c\\x16\\x62\\x92\\xe5\\xba\\xb9\\x36\\xc4\\xc2\\xa0\\x9c\\xeb\\x09\\x73\\x6b\\x56\\xc5\\xaa\\xee\\x03\\x1a\\x6b\\x12\\xdd\\xaa\\x1e\\x6b\\xb5\\x06\\x8e\\xd9\\xa3\\x7e\\xa2\\xbe\\x76\\x0a\\xb6\\xfc\\xfb\\xe3\\xff\\xae\\x9e\\x3a\\xe0\\xce\\xa9\\x0f\\xab\\x3f\\xdd\\x7c\\x64\\xdf\\x45\\xaf\\x0f\\x99\\x30\\xad\\x61\\x95\\xfa\\xb5\\x1b\\x8a\\x00\\xfd\\x0b\\x36\\xbc\\xd9\\x5f\\x3d\\xf0\\xcb\\x4c\\xc5\\x11\\xf5\\xa9\\xdf\\x9f\\xfc\\xfb\\xa0\\xb2\\xbf\\xaa\\xfb\\x0b\\x2b\\xe8\\x78\\xd6\\xf9\\x6d\\xe7\\x39\\x7e\\x37\\xd5\\xab\\x7c\\x98\\xd2\\x24\\x12\\x59\\x8f\\x87\\x73\\x8b\\xee\\x80\\xdf\\xe7\\x69\\x55\\x7c\\x6c\\x1b\\xfe\\x73\\xba\\x5b\\x15\\x27\\xae\\x7f\\xa7\\x73\\x6f\\x00\\x66\\xe7\\xd5\\x7c\\xbe\\x32\\x08\\x52\\x22\\xc5\\x62\\xca\\x50\\xb6\\x83\\x15\\xa6\\x68\\xed\\x72\\x6d\\xea\\x85\\x85\\xaf\\x4d\\x2b\\xfa\\x01\\x02\\xea\\x35\\x30\\x09\\xda\\xde\\x50\\xaf\\xfe\\x59\\x9d\\xfd\\x2b\\xf1\\xa9\\x13\\xfb\\xac\\xac\\x01\\x4e\\x9c\\x7d\\xd0\\x08\\x0b\\xd8\\x8b\\xd5\\x8f\\xd4\\x7f\\x7d\\xa3\\xee\\x3e\\xca\\x69\\x95\\x49\\x6c\\xb3\\x6f\\xb1\\xce\\xf7\\x13\\x9d\\x73\\xb8\\x4c\\x1e\\x67\\x76\\x98\\x4c\\x4e\\x27\\x0a\\x85\\xac\\x3e\\x96\\x8b\\x84\\xed\\x0e\\xb3\\xa3\\x4d\\x11\\xad\\x66\\xb0\\xb0\\x66\\x33\\x13\\x08\\x38\\x31\\x7f\\x84\\x5a\\x15\\xbb\\x37\\xe6\\x6d\\xf2\\xb6\\x7a\\x57\\x78\\x79\\x27\\xeb\\x95\\x43\\xd1\\x46\\x6f\\xc0\\xc9\\x98\\xda\\x14\\x9e\\x61\\x50\\xab\\xc2\\xb0\\x52\\x04\\x56\\x6b\\x15\\xae\\x79\\xfc\\x74\\x07\\x82\\xce\\x44\\xf9\\x3d\\x40\\x63\\x20\\x5c\\x32\\xcc\\x22\\x6c\\xaa\\x86\\xf0\\x4c\\xa2\\xa6\\x0a\\xab\\xba\\x09\\xb6\\xaa\\x1f\\xa9\\x7f\\xd2\\x27\\x36\\xec\\xb3\\x72\\xe1\\xba\\x16\\xc3\\xc5\\x7f\\xbc\\x7e\\x3a\\x04\\x06\\x29\\x63\\x14\\x4e\\xfd\\xbc\\xe5\\x17\\x1d\\xd3\\x16\\xb6\\x4c\\x3d\\xfb\\xa0\\xf8\\x14\\xf7\\x17\\xcc\\x18\\x8f\\xbf\\x6b\\x53\\xdd\\xb7\\xaa\\xf3\\xee\\xe8\\x38\\x2b\\xfd\\x5b\\xbd\\x7e\\x4c\\x48\\xf3\\x3f\\xe0\\xde\\xcb\\xf7\\xc7\\xe5\\xf3\\xa3\\x2b\\xe4\\x46\\x8f\\xd9\\x60\\x0e\\x3a\\x91\\xc3\\x01\\x80\\xad\\x9c\\x40\\xd0\\x87\\x3b\\x33\\x66\\xf6\\x7a\\x67\\x93\\x93\\xb1\\x3a\\x71\\x29\\x9d\\x4e\\xce\\x64\\x22\\x65\\x36\\x99\\x84\\x56\\xc5\\xc4\\x82\\x81\\x33\\xb4\\x2a\\x9c\\x53\\x0a\\x42\\x7b\\x10\\x2a\\x83\\x70\\x3a\\x08\\x47\\x83\\x40\\xdc\\x9a\\xab\\xf3\\x8d\\xd5\\xae\\xc2\\xe5\\x4a\\x97\\x2b\\x1c\\xed\\xe6\\xc4\\x4e\\xd2\\xac\\x65\\xad\\xa0\\x7d\\x20\\x57\\x52\\xa6\\x6c\\xfa\\x5f\\xc4\\x8e\\x16\\xf1\\x21\\xdc\\x56\\xdc\\x74\\x79\\x8e\\xb9\\x6f\\xe7\\x98\\xeb\\x67\\xc3\\xd2\\x21\\x4a\\xb3\\x02\\x4c\\xb3\\xea\\x26\\x5d\\x9c\\xf2\\xfe\\xee\\xaf\\x04\\xa1\\xe3\\x9b\\xff\\x52\\xeb\\xf6\\x6b\\x3e\\x0c\\xc2\\xff\\x07\\x31\\xff\\xc7\\xd1\\x45\\xf2\\x20\\x3b\\x72\\x87\\x42\\x9e\\x20\\x0a\\x26\\x0c\\xc9\\xa0\\x87\\x30\\x96\\xdd\\x17\\xf3\\xd5\\xfb\\x9a\\x7c\\x9c\\x89\\xf5\\xf9\\x38\\x67\\xd4\\xd9\\xaa\\x44\\x5d\\x9c\\xa5\\x55\\x91\\x8d\\xcd\\x46\\x66\\xaf\\xf1\\x0c\\x56\\xea\\x8d\\x1c\\xf7\\x1f\\xed\\x27\\xd0\\xa8\\xd7\\x79\\xcf\\x95\\xed\\x22\\x35\\xe9\\x5c\\x0f\\xa9\\x71\\x51\\x47\\x24\\xee\\x24\\xa9\\x38\\x1a\\xf5\\x36\\x5c\\x73\\xf6\\x5f\\x9f\\xd5\\x4c\\x85\\x4b\\x8e\\xdf\\xa7\\xaa\\x3b\\x1f\\xbf\\x67\\xcb\\xd2\\x11\\xfb\\x44\\xe6\\x02\\xf1\\xba\\x09\\xb7\\xaa\\x3f\\xdc\\xa9\\x7e\\xae\\x9e\\x60\\x2c\\x67\\x61\\xe3\\x9b\\x43\\xd5\\x37\\x9f\\x6c\\x79\\x41\\x7d\\xfc\\xaf\\xaf\\x7f\\x90\\x81\\xcb\\xe2\\x23\\x46\\xc4\\xd5\\xf1\\x7d\\xca\\x30\\x4f\\x6b\\xfc\\x68\\xb8\\x98\\xf2\\xe3\\x46\\x59\\x36\\xf9\\x8d\\xc6\\x40\\x80\\x65\\xcc\\x3e\\xaf\\xd7\\x62\\x71\\x48\\x8c\\x84\\x0d\\x44\\xbf\\xc9\\xdf\\xa6\\x98\\xed\\x26\\x20\\x6e\\x1b\\xc4\\x4b\\x16\\x23\\xcb\\xb3\\xad\\x8a\\x95\\x67\\x03\\x5e\\x07\\x83\\x0d\\x14\\xc5\\x8d\\x9c\\x95\\x11\\x68\\x8f\\xc0\\xec\\x55\\xd8\\x48\\xcf\\x09\\x5f\\xed\\x02\\x37\\x46\\x37\\x2e\\x1c\\x94\\xd7\\x50\\x59\\x6e\\xd4\\x7a\\x15\\x29\\x59\\x42\\x3f\\x6b\\x6d\\x97\\xc0\\x67\\xbb\\xf5\\x20\\x6e\\x28\\x66\\xb3\\xf5\\xa9\\xe9\\xf0\\xf7\\xe9\\xf8\\xea\\x4a\\x2b\\x96\\x5d\\xd6\\x0e\\x7c\\x63\\x8e\\xea\\x9f\\xb3\\xcf\\x3a\\x36\\xc8\\xad\\x23\\x4d\\xa6\\x4a\\x70\\x86\\x9c\\xcf\\x6e\\x0f\\x8e\\x1d\\x1b\\x64\\x7c\\x1d\\x5f\\x04\\xc7\\x6a\\x3c\\xf9\\x25\\x09\\x4e\\xc5\\x65\\xb4\\xa0\\x31\\x72\\xa9\\x85\\xfa\\x5e\\x44\\xab\\xc5\\x60\\xc4\\xac\\x86\\xcb\\x82\\x68\\x1f\\x72\\xae\\xb4\\x42\\xb3\\x15\\xe2\\x56\\x68\\xa7\\x17\\xc8\\x0a\\xb3\\xcf\\x63\\xbb\\xf3\\x7d\\x31\\x94\\x5a\\x38\\xb5\\xcf\\xda\\xb1\\x25\\x47\\xe7\\x3c\\xf2\\x7d\\x8d\\x26\\xed\\xfb\\xe7\\xb0\\xad\\x3a\\x00\\x7f\\xdf\\x85\\x6a\\xe5\\x98\\x8b\\x7e\\xdf\\x63\\x71\\x9b\\xb0\\xdc\\xb7\\x5a\\x4d\\x2e\\x9d\\x00\\xb6\\xdd\\x03\\xb2\\x07\\xe8\\xd8\\x9f\\x9d\\x3b\\xa2\\x2c\\x91\\xd5\\xf3\\x73\\x4d\\x9f\\x35\\x47\\x06\\xd4\\x30\\xf3\\xf1\\x17\\x97\\x5a\\xef\\xbd\\x31\\xad\\xfe\\xf8\\xee\\x1d\\x6d\\x03\\xa6\\x70\\xf1\\x49\\x63\\x17\\xd9\\x49\\xff\\x1c\\x13\\x3c\\xf7\\xce\\x9f\\xbf\\x8c\\x42\\xe5\\xa1\\xbe\\x0b\\x66\\x68\\xed\\xcc\\x1f\\xc7\\x34\\x04\\x50\\xab\\x5c\\xe1\\x77\\xb9\\x9c\\x01\\x31\\x60\\x21\\x75\\xe1\\x73\\xbb\\x79\\xab\\x93\\x77\\x06\\x43\\x62\\xc0\\x88\\x07\\x58\\xad\\x5e\\xec\\x46\\xd6\\x4d\\x3c\\x52\\x44\\x5c\\xe6\\x46\\xd4\\xfc\\x36\\x1d\\xd4\\x4d\\x53\\xeb\\x1a\\x96\\xba\\xd7\\x0c\\xab\\x51\\x6d\\x02\\x7c\\x0f\\x04\\x78\\xfb\\x69\\xb1\\x63\\x3d\\x15\\x92\\xcc\\x3a\\xeb\\xbe\\x16\\x46\\x5e\\x65\\x85\\xc7\\xac\\xdb\\xd5\\x22\\xb8\\xf0\\x1a\\x51\\xbd\\x42\\xfd\\xf3\\xec\\x79\\xd9\\xce\\x37\\x26\\xd8\\xf1\\x03\\x23\\x92\\xb3\\x3a\\xa5\\xa3\\x26\\x34\\x86\\xb9\\xac\\x1c\\x65\\xe5\\xe7\\xb5\\xb8\\x1c\\x12\\x6a\\x96\\xcb\\x25\\x84\\x2c\\x66\\xb3\\xc1\\xe1\\x94\\x2c\\x56\\xdc\\xcf\\xac\\xac\\xd1\\xdc\\xaa\\x34\\xf1\\xdf\\x60\\xcd\\x41\\x76\\x79\\x1b\\x11\\x8f\\x47\\x24\\x9e\\x37\\x1a\\xb1\\xd0\\x31\\x3a\\xf3\\x46\\xa4\\xcc\\xec\\xac\\x1b\\xa9\\x8b\\x21\\x31\\xe1\\xa4\\x4a\\x5d\\x54\\x04\\xea\\xed\\xfa\\xce\\xaa\\xb6\\x6f\\xd3\\xeb\\xa6\\x2a\\x67\\x89\\x64\\x7f\\xc4\\xca\\xec\\xb6\\xfe\\x66\\x89\\x55\\x00\\x9f\\xba\\x34\\x4b\\x24\\xa5\\xe9\\x33\\x84\\x84\\x0b\\xa8\\xcc\\xbb\\x58\\xae\\xc1\\x9c\\x63\\x75\\x18\\x45\\x86\\x61\\x59\\x93\\xd1\\xe6\\xc7\\xea\\x80\\xd3\\xe9\\x30\\x3a\\x02\\x41\\x87\\xc9\\x62\\x6a\\x55\\xfc\\x0c\\x63\\x13\\x2d\\xac\\xcf\\xc9\\x1a\\x0d\\xc6\\x56\\xc5\\x83\\x39\\xcd\\xe0\\x5c\\x19\\x24\\x43\\x10\\xae\\xd8\\x2e\\xcd\\x85\\x90\\xd4\\x6d\\x72\\xa2\\x6b\\x62\\x35\\x67\\xf5\\x27\\x52\\x16\\xc8\\x55\\xb6\\x0b\\xba\\xfa\\x0d\\xf3\\x69\\xf9\\xfb\\x2f\\x1c\\x10\\xd5\\x14\\xad\\x6b\\xf8\\xea\\x61\\xf8\\x2b\\xe3\\xb3\\xe2\\x6b\\xb1\\x63\\x85\\xf8\\xab\\x17\\xb8\\x6b\\xce\\x7e\\x90\\xad\\xe7\\x73\\xb7\\xb3\\x4b\\xc6\\x04\\xcf\\x5e\\x4f\\x7f\\x27\\x35\\x7e\\xfd\\x0a\\xb3\\x05\\x47\\xf9\\x75\\x9a\\x5c\\xe6\\x34\\x1a\\x4d\\x26\\xbb\\x4d\\x70\\x51\\xc6\\xb5\\xf1\\x6e\\x0f\\x8f\\xec\\x4e\\x3c\\xe6\\x1b\\x19\\x27\\x6b\\xb2\\x89\\xb6\\x56\\xc5\\x20\\xb8\\x58\\xd1\\xb9\\xd7\\x43\\x0a\\xe1\\xab\\xd2\\xb9\\x57\\x9f\\x14\\xee\\xa6\\xbb\\x64\\x87\\x55\\x8d\\x37\\x52\\x79\\x22\\x1a\\xb8\\x13\\x07\\xac\\xf0\\xbe\\xf5\\xa9\\xbf\\xac\\xe9\\xf8\\xe4\\x99\\x2e\\xd2\\x9f\\x82\\x43\\x1a\\x37\\x9f\\x4d\\x73\\x33\\xce\\x89\\x39\\xaa\\xb7\\x10\\xdb\\x64\\x2c\\x96\\xc7\\x3b\\xb0\\x3c\\xb6\\xa2\\x08\\xb1\\x97\\x51\\x50\\x70\\x06\\x9d\\xb1\\xa8\\x17\\x4b\\x27\\x2f\\x67\\xc3\\xac\\x60\\x73\\xf5\\xe2\\xd7\\xd5\\x7d\\xb9\\x54\\xe3\\x70\\x42\\xb2\\x40\\xf7\\xf7\\x70\\x5e\\x62\\xeb\\x73\\x6d\\x77\\x5c\\xb7\\xf1\\xad\\x2d\\xb7\\x5e\\x73\\xf9\\x6f\\xb7\\xaa\\xb1\\x47\\xd4\\xce\\x1b\\x8f\\xc1\\xdc\\xcf\\x1f\\x01\\xb8\\xf1\\x84\\xfa\\x20\\x3b\\xee\\xe5\\xbf\\x1c\\x57\\xaf\\x7e\\xe1\\xc5\\x77\\x5e\\x87\\xb5\\x1d\\xad\\xdb\\x7e\\xda\\xf3\\x1d\\x6c\\x3e\\x89\\x4f\\x67\\xd4\\x0d\\xbf\\xc6\\x7a\\x47\\x27\\xe6\\xcd\\x33\\x54\\xef\\x08\\xa0\\x89\\x72\\x09\\xeb\\xf5\\x86\\xb0\\xc5\\x28\\x98\\xcd\\x92\\xdd\\x1e\\x0c\\x99\\x8c\\x6d\\x8a\\xc9\\x64\\x75\\x3a\\x25\\xac\\x79\\x08\\x58\\xf3\\x60\\xcd\\x76\\x2b\\xae\\x47\\xab\\x33\\x27\\x62\\xba\\xfc\\x2b\\xdd\\x86\\x33\\xea\\x8a\\xd0\\x35\\x3c\\xa1\\xab\\xce\\xfa\\x71\\xc4\\xb9\\xc6\\x5c\\x75\\xe7\\x81\\x75\\x6b\\x47\\x2e\\x76\\x8f\\x7f\\xcf\\xd2\\xd1\\x62\\x79\\xe0\\x37\\x8f\\x8a\\x8c\\x4b\\x05\\x5e\\x7d\\x47\\xfd\\x82\\xb9\\xec\\xb9\\xfb\\x2e\\xd9\\xd2\\xf1\\xe4\\x72\\xf5\\x82\\x6c\\xcd\\x1d\\x7e\\xfa\\xdd\\x33\\xb4\\xee\\xd4\\xc3\\xb4\\xee\\xc2\\xa8\\x14\\x0d\\x91\\xe3\\x05\\x9c\\xc3\\x13\\x31\\x23\\x0f\\xca\\x94\\x05\\xe2\\x58\\x33\\xe5\\x1c\\x45\\x78\\x1c\\x76\\xb8\\xac\\x98\\x50\\x2c\\x0a\\xad\\xd8\\x82\\xd5\\x54\\x8b\\xbc\\xda\\xa4\\x5e\\x49\\xcd\\x51\\x2e\\x10\\x79\\x54\\xe3\\x23\\xc6\\x47\\x1f\\x28\\xea\\xc3\\x64\\xab\\x94\\xef\\x56\\xd9\\xfc\\x8e\\x8d\\x9f\\xef\\x89\\xaf\\x5d\\xe6\\x19\\x61\\x2d\\x7b\\xb8\\xff\\x8c\\x2b\\x96\\xcc\\xb9\\xeb\\xab\\xf6\\x6c\\xfd\\xaa\\x7f\\xe8\\xaa\\x79\\xb6\\xec\\x39\\xf5\\x85\\xcf\\xab\\xfa\\x1e\\x31\\x4e\\x74\\xc6\\xfa\\x2e\\xdd\\x63\\xba\\xf1\\xfb\\x5b\\xb5\\xaa\\xde\\x9c\\xd7\\x02\\x54\\xd7\\xeb\\xc0\\x72\\xcd\\x88\\xeb\\xdc\\x83\\xb5\\xd2\\xb9\\x72\\x55\\x14\\x45\\x22\\x44\\xd9\\xf0\\x60\\x7b\\xd3\\xe1\\x08\\x58\\x0d\\xc4\\x87\\x81\\xa2\\x51\\x2c\\x01\\xa2\\x51\\xac\\x6b\\x44\\x70\\x1b\\x50\\x4d\\xc3\\xa1\\xa9\\x1a\\x6e\\x2e\\x4f\\xba\\x65\\xf2\\xfd\\x5b\\xf9\\xb3\\xf4\\x55\\x79\\x8a\\x53\\x57\\xfd\\xc7\\xa9\\x13\\x99\\xd8\\x0f\\x6c\\x51\\xb6\\x79\\x98\\xe2\\x29\\xb8\\x93\\xed\\xa0\\xca\\x05\\xe3\\x03\\xc3\\xb9\\xc7\\xf6\\x9e\\xb8\\x45\\x54\\x57\\x9e\\x2a\\x7d\\xe8\\xf9\\x4b\\xd7\\x8d\\xbc\\x88\\x19\\xa8\\x96\\x65\\x9b\\xe2\\x91\\xfd\\xf7\\x9c\\xca\\xa8\\x12\\x96\\x6d\\x03\\x97\\x3f\\x78\\xf3\\x96\\xd5\\x1d\\x7f\\xc2\\x3a\\x46\\x21\\x1e\\x2b\\x22\\xb8\\x5d\\x32\\x68\\x85\\x2c\\x25\\x18\\x77\\xc0\\x52\\xe2\\x2e\\x29\\x2b\\xb7\\x48\\xbe\\x70\\x63\\xe2\\x48\\xe7\\x19\\xb9\\x0a\\x5f\\x58\\x12\\xc8\\xe7\\x8b\\x62\\x35\\x3b\\x24\\x85\\x18\\x14\\x6a\\x0e\\xed\\x0d\\x1d\\x0c\\x9d\\x09\\xf1\\x36\\x36\\x14\\xf2\\x71\\x08\\xcb\\x95\\x36\\x16\\x2a\\x59\\x99\\x6d\\x67\\x89\\xf7\\xc1\\xd5\\xe5\\x3a\\xaf\\x22\\xe2\\x4f\\x73\\x21\\x0e\\xca\\xd7\\x76\\xab\\x7a\\xb8\\xcc\\xfb\\x18\\xaa\\xfb\\x17\\x24\\xb2\\x4e\\x50\\xe2\\xe9\\xf2\\x45\\x59\\xe2\\x2d\\x3f\\xf8\\xee\\xd3\\xf2\\x0c\\x48\\xee\\x9a\\x74\\xf3\\x9e\\xca\\xa6\\x79\\x8b\\xe7\\x35\\x55\\x82\\x05\\xd0\\xe3\\x0f\\x0f\\x54\\x84\\x49\\x5b\\x56\\x5d\\x39\\x7d\\xd6\\x35\\x1b\\x26\\xf7\\x55\\xff\\xe4\\x1e\\x0d\\x8b\\xfe\\xd4\\xb7\\x61\\xe3\\xb2\\x01\\xcd\\xc3\\x06\\x0d\\x1e\\x39\\x73\\xed\\xc4\\x23\\xaf\\x66\\xd4\\x57\\x8f\\x0d\\xbd\\x68\\x5a\\xdd\\xfc\\xaa\\x71\\x4d\\x33\\x57\\x8f\\xff\\xf3\\x27\\x44\\xa7\\xba\\x0d\\xb7\\x5f\\x9a\\xb6\\x5f\\xbd\\x1c\\x73\\xba\\x5c\\x2c\\xc3\\x98\\x2c\\x5e\\x8b\\xcf\\x6a\\x32\\x99\\x71\\x0f\\xc1\\xba\\xba\\x99\\x75\\x51\\x2d\\x03\\x39\\xbb\\x0d\\xc5\\xe4\\x7f\\xd0\\x46\\x22\\x4d\\x7c\\x57\\xe1\\x56\\xd1\\x9d\\x04\\x39\\x8d\\xcf\\x27\\xec\\x13\\xff\\x72\\x7c\\xc8\\xc0\\xed\\xd1\\x71\\xd3\\x1b\\xb8\\xa6\\x86\\x19\\xd6\\xf0\\x6d\\x95\\x83\\x8f\\x9f\\x12\\x71\\x0b\\xac\\xb0\\x19\\x7e\\x82\\x0d\\xea\\xb6\\x9f\\x0c\\xe2\\xd9\\x5b\\x42\\x63\\x30\\x2d\\xfb\\x3a\\xbf\\x32\\xc4\\x30\\x2d\\x61\\x34\\x54\\x8e\\x71\\x82\\x10\\x0e\\x88\\x56\\x2b\\x1e\\x29\\x9d\\x91\\xa8\\xd7\\x74\\xa1\\xe2\\x75\\x39\\xb1\\x5e\\x0c\\x61\\x3c\\x3a\\x02\\x9b\\x67\\x65\\x66\\xce\\x0b\\x3b\\x72\\x69\\x43\\xb5\\x47\\x4a\\x90\\x11\\xa5\\x6b\\xe0\\x2e\\xa8\\xee\\x5f\\xe3\\xa2\\x43\\xf6\\x53\\xab\\x7c\\x60\\xb9\\xff\\xad\\xe8\\x36\\x2c\\xf5\\x8e\\x5b\\xef\\xbd\\xb6\\x5c\\xfd\\xe4\\xfb\\x1f\\xd4\\xff\\x76\\xaf\\xe6\\x7e\\x20\\x43\\xdf\\xca\\x2d\\xc3\\xd5\\x1f\\x9f\\xdc\\xc7\\x5a\\xe8\\x40\\xde\\xd1\\xf1\\xd5\\xbb\\x27\\xe4\\x4b\\x98\\x5b\\x30\\x8d\\x97\\x74\\x7e\\xc4\\x7f\\x84\\x69\\xb4\\xc1\\x51\\xb9\\x53\\x64\\xcc\\x78\\xa8\\x93\\xec\\xc8\\x02\\x31\\xac\\xb5\\x89\\x2c\\x2f\\xe0\\x11\\xdb\\x26\\xb0\\x16\\xce\\xb5\\x5e\\x82\\x79\\x12\\x5c\\x20\\x41\\x3f\\x09\\x20\\x2e\\x81\\x9b\\x3a\\x62\\x7e\\x90\\xe0\\x53\\x09\\x4e\\x49\\x70\\x54\\x82\\xc3\\x12\\xec\\x95\\xe0\\x56\\x09\\xb6\\x4a\\xb0\\x92\\x42\\x37\\x4b\\x20\\x4b\\xd0\\x5f\\x82\\x02\\x0a\\xcf\\x49\\xb0\\x18\\xbf\\x70\\x5a\\x82\\x3f\\xd2\\x17\\x0e\\xe6\\xbd\\xb0\\x96\\xbe\\x30\\xb5\\xfb\\x0b\\x1a\\xf6\\x3f\\x66\\xb1\\xef\\x92\\xa0\\x9d\\x42\\xb6\\x51\\xc8\\xfe\\xdd\\x89\\xf8\\x63\\x6f\\xd8\\x46\\x74\\xff\\xfc\\x20\\x8d\\xd8\\x63\\x14\\xdd\\x43\\x59\\xb8\\x66\\x1d\\x4e\\x1e\\xa6\\x17\\x0c\\x43\\x9e\\xa1\\x38\\x8f\\xd1\\x8f\\xe6\\x10\\x62\\xa8\\x4a\\x09\\x18\\x0c\\x24\\xd1\\x0f\\x9f\\xa1\\x85\\x39\\x45\\x09\\xaa\\xa4\\x77\\x72\\x41\\x13\\xad\\xff\\xaf\\x01\\x71\\x3d\\x41\\xbb\\xb0\\xd2\\xa9\\x1d\\xcc\\x2c\\xbe\\x2a\\x12\\x0a\\x94\\x37\\x12\\x61\\x0d\\x23\\xa5\\x8d\\x85\\x2e\\x7c\\xe2\\x3f\\x12\\xb7\\x76\\xf4\\x59\\xa5\\xfe\\x61\\xb1\\xc8\\xa4\\xc4\\x5d\\xbf\\x81\\xcf\\xb7\\x88\\xfc\\x10\\xac\\xcf\\x1a\\xb9\\x7f\\x13\\x91\\x71\\xee\\x26\\x76\\x45\\x88\\xd8\\x90\\x68\\x47\\xe7\\x47\\xc2\\x6d\\x98\\x07\\xdc\\x68\\x84\\x5c\\x80\\xcc\\x60\\x32\\x98\\x79\\xbb\\x1b\\x8f\\xcc\\x5e\\xb3\\xdd\\xad\\xf1\\x80\\xd5\\x66\\x61\\x58\\x51\\xe4\\x1c\\x02\\x0b\\x9c\\x4b\\x0f\\xdb\\xaa\\xf0\\x0d\\xd2\\xe8\\xc8\\x11\\x81\\x09\\x22\\xa1\\x20\\x2c\\xa4\\x58\\x9d\\x8e\\x2a\\x97\\x46\\x11\\xf7\\xf2\\x9c\\x3d\\xea\\xf2\\xf9\\x2f\\x6e\\xb1\\x32\\xfd\\xad\\x0f\\x2c\\x81\\x1d\\xf3\\xee\\x80\\x25\\x0f\\x59\\xe1\\xa0\\x75\\x63\\x8c\\x6d\\x3e\\x77\\x90\\xfb\\x89\\xb2\\xe6\\xef\\xd9\\x21\\xe7\\x5e\\x66\\xab\\x74\\x55\\x08\\xeb\\x0e\\x6f\\xe2\\xfe\\xdc\\x4e\\xed\\x89\\xc9\\x72\\xa9\\xcb\\x66\\x43\\xbc\\x20\\x8a\\x41\\x0f\\xef\\x09\\x47\\x5c\\x36\\x12\\xa7\\xd1\\xaa\\x84\\x0c\\x6e\\x2b\\xc7\\x4a\\x26\\x36\\xe8\\xd1\\x54\\x4c\\x3f\\xdb\\xdd\\x69\\xe3\\x1b\\x94\\x55\\x33\\x7b\\xf4\\x2b\\x4d\\xb5\\x04\\x36\\x57\\x67\\x59\\xdd\\xb2\\x1e\\x6b\\x9a\\xb0\\x5b\\x54\\x65\\xf1\\x4e\\x78\\xeb\\xeb\\x9b\\xad\\xcc\\x7c\\xeb\\xc3\\x3b\\xa1\\x6e\\xb7\\x15\\x5e\\xb5\\xde\\xa9\\xb6\\x01\\x7b\\x8b\\xd8\\x71\\xb7\\xf8\\xf0\\xc3\\x54\\xbd\\x64\\x7c\\x4c\\x2b\\x55\\x2c\\x6f\\x82\\x15\\xf4\\x1c\\xed\\x58\\x46\\xdd\\x3a\\x0f\\xe1\\xba\\x5d\\xac\\xd3\\xef\\x86\\x29\\xf2\\x3f\\x6c\\x2e\\x97\\xd5\\x2d\\x0a\\x82\\x81\\x77\\xe3\\xdb\\xbc\\xd7\\x23\\xda\\x5c\\x2c\\x2d\\x03\\x2e\\x02\\xcb\\xe3\\x22\\x68\\x05\\x60\\x9d\\x2b\\xbc\\x30\\xce\\x0b\\x83\\xbd\\x10\\xf2\\x82\\xc5\\x0b\\x9d\\x5e\\x78\\xc3\\x0b\\xaf\\x78\\xe1\\x6e\\x2f\\x6c\\xf7\\xc2\\x26\\x2f\\x2c\\xa5\\x00\\x99\\x2c\\xc0\\x92\\xf7\\x28\\xc4\\xe3\\x5e\\xb8\\x8f\\x42\\xb4\\xe4\\x3d\\x3e\\xeb\\x85\\x17\\xbc\\x70\\x20\\xfb\\x1a\\x46\\x5a\\xe1\\x05\\xe6\\x43\\x2f\\x9c\\xa4\\x28\\x77\\x7a\\xa1\\xd5\\x0b\\x4d\\x5e\\xa8\\xf7\\x42\\xdc\\x0b\\x76\\x2f\\xd4\\xe2\\xcf\\x69\\x8f\\x37\\x7b\\x61\\x05\\x05\\xc7\\x77\\xbe\\xa1\\x37\\x8f\\x66\\x5f\\xc8\\x41\\xbf\\x42\\x71\\xef\\xa4\\x90\\xb2\\x17\\x62\\x5e\\x40\\x5e\\xe8\\x3d\\xbe\\xa8\\x8b\\xa5\\x5b\\x7b\\xf2\\xfc\\x9c\\x9e\\xbd\\x22\\x67\\xb6\\x68\\xcd\\xe7\\xab\\xea\\x72\\xf9\\xf4\\x6c\\x40\\x57\\xb7\\x06\\x04\\xe6\\xe5\\x53\\x62\\x47\\x1f\\xf1\\x2f\\x4d\\xff\\xc0\\x0d\\x77\\x99\\xf5\\xb9\\xa7\\x61\\xd9\\x7d\\x44\\x2a\\xde\\xa2\\xf6\\xa1\\xed\\x05\\xcf\\x33\\x2f\\x52\\x83\\xe0\\x8f\\x4c\\x19\\x3d\\x8f\\xc5\\x7c\\x46\\x62\\x37\\x0f\\x50\\x1d\\x75\\x90\\x1c\\x96\\x90\\xd1\\xe8\\x31\\x98\\x9d\\x4e\\xb7\\xcb\\xec\\xc4\\x7a\\x9f\\xdd\\xe9\\x34\\x21\\x01\\x5b\\x55\\xbc\\x90\\x15\\xd4\\xba\\xed\\xd2\\x15\\xa4\\x48\\xe3\\x52\\xf5\\xe1\\x42\\x80\\xac\\xea\\x5f\\xc3\\x8e\\x39\\x3a\\xf7\\x81\\xf8\\x08\\x65\\x30\\xfb\\x84\\xeb\\xdc\\x89\\x17\\x2e\\xfe\\xaa\\x6c\\xd1\\xcc\\xb6\\xb3\\xdf\\xbb\\xb9\\x3f\\x58\\x85\\x3f\\xc0\\xa4\\x25\\x67\\x6f\\xf3\\x99\\x01\\xa9\\x1b\\xc8\\xfc\\x5d\\x95\\xfa\\x35\\x8b\\x95\\x1a\\xfc\\x25\\xac\\x7d\\x72\\x3c\\x0f\\x08\\x19\\x4d\\xc0\\xfd\\x4b\\xc1\\x17\\xfc\\xbf\\x14\\xf4\\xdd\\xf9\\xb3\\x35\\x54\\x4b\\xc7\\x1c\\x5b\\x85\\x47\\xa7\\xc3\\xe2\\xef\\xd5\\xb3\\xc7\\x44\\xf5\\x6b\\xc3\\x7d\\xc3\\x4b\\x7e\\x1e\\x54\\x32\\x9c\\xf4\\xed\\x2d\\x9d\\x5f\\xc2\\xdb\\xb9\\x18\\x07\\x40\\x2c\\xb0\\x1c\\x0f\\x7a\\x8c\\x43\\x97\\xec\\xe0\\x59\\xdc\\x51\\xa7\\xfc\\x6e\\xf3\\x1f\\xdd\\xbc\\xf2\\xf3\\x3e\\x5c\\x1f\\xb7\\xab\\x5f\\x33\\xeb\\xb2\\xb4\\x30\\x82\\xc0\\x1a\\x0c\\x46\\x13\\xcf\\xfe\\x4b\\xe1\\xb1\\x96\\xd4\\x3b\\x2d\\x2c\\xee\\x4a\\x44\\xf5\\x5e\\x22\\xfe\\x1e\\xf8\\x63\\x22\\x1c\\x56\\xdf\\x56\\xbf\\x1e\\x5e\\xc2\\xff\\xba\\x64\\xf8\\x4f\\x74\\x1e\\xe6\\x2a\\xb8\\x9a\\xab\\xc6\\x75\\x6c\\x40\\x29\\xd9\\xce\\x73\\xb8\\xe3\\x19\\x58\\x83\\x60\\x44\\x0c\\x70\\xa4\\x5a\\xdf\\xea\\x97\\x17\\xa3\\xd2\\xb7\\xd2\\xc4\\x90\\x90\\x32\\xf6\\x11\\xf5\\x59\\xf5\\xd9\\x9d\\xb0\\x7f\\x26\\xec\\x87\\xab\\x99\\x9f\\x3a\\x04\\x32\\xa9\\x81\\xf4\\x58\\x9f\\x4f\\xd8\\x6b\\x3b\\xd7\\xe0\\xb2\\x79\\x64\\x13\\x83\\x4b\\x45\\xe3\\x46\\x10\\xb5\\x73\\x29\\x41\\xd5\\x09\\xcf\\x9d\\x5c\\x5c\\xfd\\x64\\xd7\\x2e\\xea\\x6f\\xf9\\x1b\\x37\\x87\\xd9\\xcc\\xef\\x44\\x3c\\x2a\\x94\\x7d\\xc0\\x19\\x04\\xc4\\xde\\xd0\\xb2\\x19\\xed\\x44\\x0c\\x99\\x19\\x3d\\x80\\x4e\\x92\\x8d\\x56\\xb5\\x19\\x51\\x1a\\x76\\x62\\x02\\x6c\\x06\\x09\\x4c\\x4a\\xfd\\x95\\x00\\xa6\\x6d\\x06\\x6e\\x0e\\x88\\x85\\xea\\x37\\x71\\x3a\\x8f\\xe1\\xef\\xfc\\x27\\x7b\\x92\\x3d\\x86\\x95\\x88\\x18\\x1a\\x23\\x17\\xba\\xcc\\x5c\\x20\\x20\\x05\\x83\\xc8\\x69\\x76\\xc6\\x13\\x92\\x43\\xb2\\x85\\x9b\\x14\\x9b\\xc4\\x79\\x05\\xef\\x24\\x45\\xf0\\xb2\\x68\\xa2\\xc2\\x66\\x03\\xc6\\x34\\x9d\\x83\\x28\\x4f\\x5d\\x8a\\x6f\\x3f\\x47\\x8e\\x9f\\xb3\\x2e\\x77\\xea\\xae\\xa9\\xa9\\xd2\\xa6\\x89\\x6b\\x5c\\x34\\x5e\\x8e\\xad\\xb9\\xd8\\xa8\\x3e\\xcc\\x0d\\xbe\\x6d\\xc2\\xe5\\xdb\\x6f\\x06\\xfe\\xde\\xeb\\x57\\x4d\\x1e\\xd0\\xd1\\x3c\\xb2\\x7f\\xf1\\x45\\x45\\x73\\xcb\\x9b\\xc6\\x5e\\x31\\x66\\x66\\xbc\\xf6\\xfa\\xb1\\xd3\\x0e\\xef\\x3d\\x00\\x99\\xc7\\xcb\\x0b\\x3b\\x1e\\x5c\\x78\\x69\\xf3\\x60\\xa6\\x2a\\xb9\\xe3\\x5b\\x42\\x73\\xa8\\xf3\\x0b\\xf6\\x57\\xb8\\x4d\\xad\\x28\\x81\\x26\\xc9\\x19\\x83\\xdf\\xcb\\x7a\\x3c\\x82\\xe0\\x74\\xa0\\xa8\\x23\\x9a\\x4c\\x19\\xfc\\x7e\\x36\\xc4\\x4e\\x52\\xbc\\x21\\xc9\\xe3\\x9c\\xa8\\x78\\x90\\xcd\\x8c\\xcb\\xe0\\x15\\xda\\x52\\xd8\\x10\\xab\\xc8\\x05\\xbb\\x55\\xe9\\xea\\x52\\x96\\x79\\xb4\\xb9\\x83\\xac\\x21\\x24\\xb0\\x44\\xe3\\x1b\\x0a\\x2c\\x99\\xa4\\x27\\xbe\\x32\\x83\\xa0\\xc7\\x47\\x30\\x06\\xe6\\xc5\\xe1\\x03\\x0a\\x5a\\x33\\x17\\xba\\x27\\xc6\\x46\\x6e\\x6c\\x3c\\x7b\\xf1\\x27\\x17\\x7c\\x32\\xcb\\x02\\x17\\x8f\\x77\\xf9\\x86\\xdc\\x34\\xee\\x92\\x1b\\xb7\\x7d\\xc1\\x8c\\x5b\\x7c\\xe9\\x84\\xa1\\x1d\\x7f\\x71\\x45\\x76\\x7d\\xab\\x86\\x0b\\x52\\x3c\\xef\\x1b\\xa6\\x4e\\x5e\\x37\\x61\\xd2\\xf4\\x43\\x77\\x1f\\x54\\xdf\\x7a\\x1c\\xb7\\x21\\x99\\x9b\\x5d\\xc1\\xbe\\x86\\x75\\xaa\\x81\\x72\\xc4\\xc5\\x06\\xcd\\xac\\x39\\x12\\x15\\xec\\x4d\\x0a\\x12\\xc1\\xc4\\x8a\\xb2\\x20\\x05\\xbc\\xc8\\xdb\\xac\\xd0\\x48\\x20\\xe4\\x97\\x5e\\xaf\\x0f\\xbe\\xd9\\x6d\\x26\\x36\\x6f\\x4a\\xde\\xab\\xab\\xa3\\x36\\xd0\\x0c\\x0a\\x62\\x70\\xc0\\xb5\\xfb\\x5f\\xba\\x05\\x98\\xdb\\x1b\\x1f\\xab\\xee\\xdb\\x68\\x1b\\x30\\xab\\x69\\x47\\xf3\\x8c\\x69\\xe3\\x36\\x0d\\x2a\\x9b\\x7c\\xc2\\xfd\\xfc\\x43\\xcf\\x41\\x72\\x6f\\xc8\\xa9\\x9e\\x7e\\xbc\\x6e\\xc7\\xb7\\x3b\\x56\\x5e\\x36\\xa0\\xb8\\x7e\\xcc\\x64\\xa4\\xf3\\xc3\\x97\\x5c\\x00\\xd7\\xad\\x17\\x15\\xa0\\x36\\xac\\x54\\xb3\\x51\\x93\\x05\\x0f\\x98\\x11\\xb7\\xdb\\x2e\\xb1\\x52\\x61\\x5a\\x0b\\x19\\xb4\\x88\\xd8\\xc2\\x9d\\xa8\\xd8\\x50\\x34\\x21\\x24\\x9a\\x14\\x37\\x96\\x2a\\x52\\x24\\x88\\x82\\x93\\x34\\x7a\\x29\\x67\\x60\\x0d\\x34\\xab\\x96\\xd2\\x89\\xf9\\x7c\\xad\\x9a\\x46\\x14\\x66\\x4b\\x30\\x00\\xf3\\x87\\xee\\x90\\xd4\\xd8\\x86\\xd5\\x59\\x85\\xf8\\xc0\\x49\\x7c\\xc1\\xea\\xeb\\xaf\\xfc\\xe2\\xc6\\x8b\\x87\\xb1\\x96\\x3e\\x7b\\x45\\x38\\xf4\\xd5\\x5c\\x51\\x3d\\x2c\\x0c\\xbe\\x63\\xe8\\xa0\\x3e\\xe9\\xa5\\xa5\\x17\\xba\\xa7\\xc4\\x46\\xac\\x1b\\xe1\\x3e\\x78\\xd7\\x53\\xd0\\xe7\\x40\\x38\\x3a\\x07\\x24\\xff\\xb0\\x9f\\x8f\\x07\\xea\\x76\\x35\\x4d\\x83\\xf5\\xcb\\xd6\\x63\\xb6\\x49\\xbb\\xc3\\x37\\x7e\\x47\\xca\\x56\\x89\\xeb\\xbc\\x0d\\xd7\\xb9\\x1f\\xf3\\xcd\\x18\\xb9\\x28\\x60\\x30\\x38\\xed\\xe1\\x58\\x98\\x31\\x19\\xc2\\x22\\x09\\x0c\\x4b\\x71\\x81\\x26\\x85\\xe3\\xec\\x5e\\x6f\\xac\\x49\\xf1\\x4a\\x76\\x63\\xb3\\x62\\xb1\\x7b\\x51\\xce\\xba\\xcb\\xd9\\xa0\\xa4\\x14\\x34\\x7c\\x59\\x0b\\x88\\xb2\\x11\\xc3\\xca\\xad\\x57\\x7c\\x2a\\x5b\\x26\\x2f\\x64\\x43\\x1e\\xd9\\xb6\\xad\\x3f\\xed\\xe1\\x9f\\x19\\x7b\\x45\\x4d\\xd9\\x8c\\xdf\\xb6\\x3e\\xf5\\xfc\\xcd\\x67\\xae\\xbc\\xfe\\xc1\\x8e\\x1f\\x37\\xde\\x5b\\x12\\x1e\\xb9\\x81\\xf9\\xf7\\xcc\\x3b\\x2e\\x12\\xdd\\x95\\x5f\\x0e\\x2a\\xac\\x1f\\x3b\\xe9\\xe9\\xfd\\xfb\\x21\\xfd\\xd8\\x0a\\xf5\\x11\\xeb\\xee\\xf9\\xa5\\xa5\\x6f\\x6a\\xfe\\x55\\xa4\\x8e\\x67\\xa7\\xf2\\x0f\\x20\\x1f\\xba\\x54\\x1e\\xed\\x32\\x79\\x4d\\x01\\xa7\\xc7\\xe1\\xf0\\xe2\\xde\\xc8\\x71\\x3e\\x9f\\xdf\\xe7\\x0d\\x21\\x8f\\xd3\\xd3\\xa4\\x38\\x6c\\x4e\\x4e\\x60\\x59\\xa7\\x5d\\xb0\\x35\\x29\\x71\\x4b\\xa5\\x45\\xb6\\xb0\\xe4\\xb4\\xd7\\x72\\xd0\\x72\\xd4\\xc2\\x5b\\x2c\\x02\\x1c\\x0d\\xc0\\xa9\\x00\\xc4\\x03\\x78\\x60\\x5b\\xdd\\xe5\\x70\\xa5\\x9e\\x13\\xa7\\xde\\x5c\\x5a\\xbc\\x13\\x6e\\xbd\\x6e\\x6e\\x63\\x57\\xaa\\x9e\\x21\\x1d\\xc0\\x27\\x68\\x96\\x8f\\x1d\\x48\\x80\\x7a\\xe2\\x83\\x07\\xc4\\xc7\\x7c\\x85\\xef\\x3c\\xdd\\x32\\xa2\\x48\\x16\\x3d\\xa9\\xea\\x06\\x7f\\xe4\\xb7\\xce\\xdf\\x7e\\xa0\\x7e\\xcf\\x8e\\x18\\x59\\xb4\\xf1\\xf5\\xa7\\x3d\\x1f\\xac\\xf4\\x2c\\xdd\\xbc\\x67\\xd1\\x59\\x2c\\x1d\\x3b\\xff\\x82\\xcb\\xf1\\x1b\\x5c\\xff\\x22\\xb6\\xe2\\xe6\\xcb\\x03\\x82\\xc8\\x9a\\x36\\x14\\x14\\x08\\x82\\xdb\\x65\\x75\\x95\\x95\\xa7\\x4b\\x1c\\x06\\xb6\\x04\\xf7\\xdb\\x12\\x6f\\x81\\x2f\\x8e\\x3b\\x42\\x08\\xcc\\xc4\\x6e\\x0b\\x0b\\x26\\x87\\x09\\x17\\x4e\\x3a\\x5d\\x0e\\xf1\\xf2\\x6e\\x8e\\x40\\xd2\\x21\\x90\\xbf\\xa2\\x3e\\x1b\\x18\\xd4\\xc3\\x8b\\x4a\\xda\\x26\\x4f\\xe8\\xf0\\x1a\\xab\\xb1\\xb4\\x8d\\x8a\\x6a\\x34\\x9b\\x6e\\x28\\xd4\\x0c\\xa8\\xa1\\x77\\xa0\\x60\\x58\\xbf\\x54\\x6b\\xf9\\xd2\\xc1\\xa3\\xc6\\x6e\\x6c\\x54\\x7f\\xba\\xee\\x9b\\xdd\\x0f\\x9e\\xdb\\x9f\\xfe\\xd7\\x5f\\x67\\x3f\\x37\\xc0\\x3b\\xb0\\xa0\\x60\\xf5\\xc8\\xe1\\x33\\x6b\\x9c\\x7e\\xdf\\x90\\xdd\\x8d\\xeb\\x6e\\x84\\xb9\\x4b\\x2e\\x19\\x55\\xc7\\x8c\\x0a\\x5c\\xff\\xc3\\x13\\x87\\xa0\\xdf\\x63\\xa5\\xe7\\x1a\\x4e\\xfe\\xb2\\x38\\xd6\\x71\\x55\\x61\\x45\\xbf\\xb9\\x0b\\x6f\\x19\\xd3\\xa4\\x1c\\xc6\\xed\\x56\\x8c\\xc7\\x62\\x2b\\xee\\x4b\\x21\\xb4\\x58\\xae\\x73\\xa1\\x20\\x1b\\x08\\xb8\\xdd\\x5e\\x8f\\xc5\\x66\\x33\\xf2\\x1e\\x3e\\x1c\\x09\\x78\\x27\\x2a\\x01\\xe4\\xf1\\xb8\\x2d\\xc6\\x89\\x8a\\xc5\\xe3\\x42\\x48\\x62\\xa4\\x49\\x4a\\x90\\x91\\x9a\\x23\\x70\\x30\\x02\\x95\\x11\\x38\\x1d\\x81\\xbd\\x91\\xac\\x9f\\x5f\\x97\\x58\\x54\\x7c\\x55\\xd4\\x9f\\x67\\x5f\\x69\\xd2\\x4b\\x9b\\xff\\xa5\\xee\\x10\\x97\\x1e\\x56\\xa4\\x79\\x8f\\x59\\x01\\x0e\\xdf\\xf5\\xe9\\x85\\xeb\\x1d\\xad\\x6b\\xad\\xea\\x15\\x0b\\xbc\\x2d\\xf5\\x7b\\xd2\\x4b\\xd4\\x7f\\xfd\\xa3\\x05\\x8b\\xae\\xa9\\x71\\x16\\x8e\\x2d\\x9d\\xd5\\x7f\\x76\\xc7\\x57\\xfe\\x06\\x66\\xd0\\xda\\xe2\\x0b\\x6f\\x98\\xd1\\xf1\\x24\\x5f\\xe5\\x6f\\x50\\xfb\\xee\\xa5\\x72\\xa1\\x3f\\x3e\\x54\\xd2\\x71\\xd4\\x85\\x46\\xc9\\x45\\x36\\xa3\\x91\\x15\\x70\\xf1\\x58\\xd6\\xed\\xb1\\x38\\xa6\\x28\\x16\\x64\\xe0\\x26\\x2a\\x06\\xbb\\x36\\x40\\x1c\\xf0\\xc0\\x66\\x0f\\xd4\\x13\\xaf\\xed\\xec\\x6e\\xd1\\xc5\\xdd\\x23\\x24\\x08\\x89\\x84\\xb0\\xec\\x9c\\x35\\x69\\x84\\x49\\x1b\\x2c\\xea\\x86\\xdb\\x09\\x4d\\xff\\x68\\xa9\\x97\\x95\\x19\\xc3\\xe4\\x99\\x33\\xfd\\x0d\\xec\\x64\\x7f\\x03\\x34\\x0e\\x9b\\xa1\\xc8\\xf5\\x2d\\x34\\x76\\x51\\xfd\\x41\\x1d\\xcf\\xd4\\x63\\x7a\\x1c\\x28\\x82\\xa6\\xca\\xfd\\x9c\\x7e\\xbf\\x8d\\x31\\x9b\\x2d\\x16\\xbb\\xcd\\x16\\x8d\\x79\\x42\\x53\\xb0\\xd8\\xb7\\x5a\\x9a\\x14\\xab\\x1d\\x09\\x4d\\x4a\\x85\\x16\\x6f\\x50\\xcf\\x1e\\x60\\x5f\\xc1\\xa3\\x1d\\xa6\\x1a\\xcb\\xdd\\xae\\xb0\\xb9\\xf3\\x68\\xa3\\x83\\x6e\\x92\\xb0\\x88\\xc6\\x3e\\x84\\x48\\x1b\\xb8\\xf2\\xe8\\x9c\\xa7\\x34\\x15\\xd5\\xfb\\xdd\\x81\\xfe\\x13\\x3c\\xf7\\xef\\xb5\\xc0\\xa1\\xfd\\xa9\\x3f\\xbf\\x92\\xa5\\x57\\x1d\\xef\\xfc\\x68\\xbd\\xfd\\x9a\\x4b\\xd9\\x9d\\xc9\\x86\\x73\\xe5\\xc7\\x4e\\x18\\x1e\\xcd\\x11\\x0e\\xf8\\xbb\\x88\\x3d\\x83\\xe9\\x76\\x11\\xe9\\x4a\\x54\\x68\\x2b\\xb2\\xba\\xb0\\x3d\\x20\\xd9\\x2d\\x46\\x23\\x18\\xec\\x06\\xb7\\xc7\\x89\\x45\\xac\\x13\\xd9\\x3d\\x56\\x11\\x09\\x1c\\x6b\\xd4\\x98\\xc3\\x80\\x35\\x79\\x5c\\xb5\\xf6\\x2e\\x5b\\x9f\\x84\\x6a\\xfb\\x7b\\xe1\\x82\\x9c\\xc3\\xd9\\x44\\xf5\\x48\\x86\\x3a\\x62\\x74\\x1e\\x80\\xad\\xd0\\x7a\\x81\\x05\\x66\\x58\\x66\\x7d\\xff\\x41\\xb3\\x45\\x7d\\xfd\\x91\\x65\\x23\\xd4\\xef\\xff\\x39\\x4b\\x84\\x8b\\xe1\\x2c\\xcc\\xf0\\x35\\x34\\x78\\x4f\\x77\\xfc\\x0d\\x57\\xf5\\x6b\\xa3\\xd4\\x2b\\x49\\xeb\\x6b\\xf2\\xa7\\x1c\\x57\\xf8\\x00\\xda\\xf6\\xfd\\xe5\\x88\\xd6\\xea\\x46\\x13\\x6d\\x6f\\xa4\\xb7\\xb7\\x09\\x36\\x9b\\xa0\\xde\\x94\\xd7\\xde\\x3d\\xa6\\x04\\xe8\\xc7\\xc7\\x92\\xb6\\xfd\\x92\\xb4\\x2d\\x6e\\x52\\x8a\\x1e\\x50\\x11\\x56\\x09\\xff\\x84\\x65\\x42\\x29\\xfc\\x43\\xee\\x8c\\x60\\x55\\x46\\x00\\x01\\xd7\\x44\\xb1\\xb3\\x18\\xd9\\x89\\xdb\\x27\\xe9\\x93\\x1c\\xc8\\x81\\x4d\\x39\\x87\\xcb\\x99\\x74\\x96\\x65\\x8a\\x0b\\x27\\x2a\\xc5\\x9e\\x48\\x2c\\xc6\\x4c\\x52\\x62\\x92\\x2f\\x18\\xb4\\xe2\\x0e\\x23\\x79\\x5c\\x78\\x9c\\xb7\\x3b\\x3d\\x46\\xcf\\xb6\\x32\\xb8\\xb4\\x0c\\xc6\\x94\\x41\\xa0\\x0c\\x2c\\x65\\x70\\xb6\\x0c\\xfe\\x59\\x06\\xef\\x97\\xc1\\xc9\\x32\\x78\\xa9\\x0c\\x9e\\x28\\x83\\xfb\\xca\\x60\\x47\\x19\\x5c\\x5e\\x06\\x4b\\xcb\\x60\\x76\\x19\\x8c\\x2b\\x83\\xc1\\x65\\x90\\x29\\x83\\x50\\x19\\x98\\xca\\x60\\xd1\\x4f\\xf4\\x85\\xf7\\xca\\xe0\\x44\\x19\\xbc\\x40\\x5f\\xb8\\xb7\\x0c\\x60\\x53\\x19\\xac\\x28\\x83\\x16\\x0a\\x5e\\x5f\\x06\\x15\\x59\\xdc\\xdf\\x50\\xd0\\x93\\x14\\xf4\\x40\\x19\\xdc\\x5d\\x06\\xdb\\xcb\\x60\\x73\\x77\\xe0\\x10\\x05\\xee\\xa4\\x78\\xdf\\x28\\x83\\x57\\xca\\xe0\\x71\\x0a\\xb9\\xb3\\x8c\\xa0\\xcd\\x81\\x61\\x12\\xe4\\xa9\\x31\\x0a\\x3b\\x10\\x43\\x7e\\x48\\x71\\x3e\\x4e\\xe9\\x5d\\x4b\\xc1\\x30\\x00\\x7e\\xcc\\x60\\x44\\xa7\\x28\\x16\\xfc\\xbd\\x5d\\xf4\\x63\\xcd\\x59\\x9a\\x24\\xfa\\x99\\x93\\xf4\\x29\\xbe\\x1f\\x2f\\x03\\x7b\\x99\\xb6\\x98\\xa2\\x9b\\x89\\xde\\xfa\\x7f\\x64\\xc5\\xe7\\x6c\\x9a\\xd6\\xff\\xc1\\x8e\\xa7\\x0b\\xdb\\xf2\\xb5\\xc1\\x2c\\x6f\\xe6\\x8d\\x91\\x84\\x2d\\x67\\x67\\x9d\\xf3\\xb3\\x35\\xb1\\xdc\\x9f\\xc8\\x63\\xc2\\x93\\xdd\\x24\\x94\\xa6\\x61\\xf9\\xba\\x49\\x30\\xee\\x58\\x63\\xaa\\x75\\x9c\\x79\\xae\\xfa\\xe3\\x02\\xef\\xd8\\xca\\x8d\\x05\\x58\\x62\\xdd\\xaa\\x58\\xa1\\x91\\x6d\\x7c\\x60\\x9e\\x32\\x1f\\x76\\xbc\\x36\\x63\\x51\\x56\\xa0\\x31\\x6f\\x5f\\xd8\\x7c\\x59\\x4d\\xc7\\x5b\\x54\\x7e\\x5d\\xdd\\xda\\xf1\\x24\\x3b\\x29\\xd0\\xf0\\xe8\\x45\\xad\\x8b\\x67\\xbf\\xbe\\x62\\x5e\\x61\\x6b\\xc7\\x97\\x54\\xb4\\x61\\xa6\\x2a\\xc5\\x2c\\x6c\\xc7\\x3c\\x17\\x40\\x2d\\xb8\\x0f\\xf2\\xd8\\x22\\x10\\x7c\\x08\\xb9\\x1d\\x82\\x23\\x18\\xf2\\xb9\\x27\\x2a\\x3e\\x0f\\x2f\\x8a\\x8c\\x0d\\x73\\x98\\x4d\\xa2\\xbd\\xcf\\x2e\\x78\\x9a\\x43\\xb0\\x32\\x04\\x95\\x21\\x38\\x1d\\x02\\x4d\\x1a\\xe7\\x8a\\xed\\xe8\\xc5\\xd7\\xa5\\x17\\x32\\x57\\xb2\\x6e\\x65\\x62\\xce\\xe9\\xb2\\x97\\x94\\x64\\xa2\\xf1\\xee\\x8f\\xe6\\xae\\x0d\\x4c\\xcf\\x95\\x81\\x48\\x5e\\x42\\xf9\\x81\\xe3\\x4b\\xda\\xfa\\x5f\\xa5\\x7a\\x35\\xaa\\x89\\x0c\\x8e\\x63\\xfd\\xe5\\x79\\x3a\\x7e\\x06\\x51\\x9d\\x9c\\x42\\x3e\\x83\\xe4\\x93\\xc2\\x21\\x37\\x83\\x35\\x30\\xc9\\x8a\\xc7\\x48\\xab\\xf7\\x54\\x18\\x8e\\x86\\x61\\x6f\\x18\\xda\\xc3\\xd0\\x16\\x86\\xae\\xa0\\x99\\x1e\\xbe\\xfe\\x9c\\xf7\\x79\\x28\\x40\\x4e\\x61\\xa1\\xba\\xed\\xe3\\x97\\xd7\\x6f\\x1a\\x37\\xb6\\x56\\xbe\\x64\\x94\\xfa\\xcf\\xff\\x7a\\xf3\\x86\\xb3\\xf7\\x92\\x03\\xb3\\xea\\xdb\\x3b\\x3a\\xd1\\xf6\\x35\\x97\\xdf\\x7a\\x4e\\xb5\\xbe\\x73\\xf8\\x01\\x90\\xee\\xc5\\x47\\xf5\\xcc\\xbd\\xd4\\xd7\\xbc\\x1c\\x8f\\xeb\\xbf\\xc4\\x74\\xf9\\xb0\\xce\\x38\\x4b\\xee\\xeb\\x47\\xc8\\x96\\x96\\xec\\x76\\x9b\\xd1\\x10\\x8d\\x70\\x2e\\x97\\xc9\\x64\\xb3\\x15\\xba\\x42\\x9e\\xd0\\x24\\xc5\\x23\\x39\\xed\\x58\\xb8\\xd9\\xc9\\xfc\\xc8\\x44\\x45\\x0c\\x71\\x58\\x79\\xe4\\xbc\\x3d\\xed\\x89\\x9c\\x41\\xda\\xb5\\xf4\\x44\\x8f\\x9b\\x25\\xb1\\xe7\\xc9\\x22\\x3b\\x93\\xf3\\x35\\xd3\\x8a\\xa5\\xde\\xf4\\x9c\\xc2\\xfe\\xcb\\x2d\\x5f\\xde\\x72\\xc1\\x48\\x46\\x4c\\xef\\x15\\x3b\\xfe\\x2e\\x2e\\x7a\\x67\\xae\\x08\\x8a\\xe1\\xf2\\x1b\\xd7\\xdd\\xa8\\xfe\\x34\\xa4\\xdf\\x88\\x79\\x17\\xf9\\x87\\x07\\x1a\\x2f\\x1d\\xc1\\x6c\\x78\\x5a\\x7d\\xfb\\xc9\\x44\\xa4\\xf5\\x4b\\xff\\xb0\\x61\\x7e\\xee\\xe9\\x40\\xdd\\xf5\\x0f\\x1e\\x7e\\x7d\\xf1\\xa5\\x57\\x77\\xfc\\xc9\\xef\\xdf\\xf1\\x8d\\x1e\\xff\\x37\\x9e\\x7d\\x13\\x97\\xcb\\x82\\xa2\\x84\\x53\\x50\\xc8\\xe0\\x71\\xb1\\x4e\\xa7\\x20\\xd8\\x6d\\x21\\x5b\\x2c\\xee\\x31\\xb0\\x7e\\xac\\xae\\xf8\\xbd\\xb4\\x4c\\x21\\xc1\\x24\\xe2\\x26\\x10\\xa5\\x83\\x71\\x38\\x1d\\x87\\x5d\\x71\\x68\\x8f\\x93\\xfa\\xef\\x9a\\x28\\xd5\\x4b\\x96\\x3f\\xd9\\xeb\\xd3\\x8b\\x95\\xd3\\x52\\x18\\x17\\x56\\x50\\x28\\x93\\xd4\\xe4\\x54\\x49\\x48\\x0c\\xeb\\x9b\\x5c\\x5c\\xb6\\x78\\xf0\\xc4\\x95\\x77\\x9e\\x7d\\xfb\\xbd\\xcf\\x66\\x59\\xd4\\x5b\\xc6\\xb8\\x7c\\x83\\xee\\x6f\\x5c\\x7f\\xc3\\x95\\xff\\x24\\xaa\\x48\\x53\\x1d\\x33\\x24\\xa0\\x9e\\x82\\x5b\\x4a\\xcf\\x9a\\x7c\\xc3\\xe0\\xaa\\x75\\x13\\xc6\\xcf\\x7a\\xe6\\xce\\x67\\xa0\\x7c\\x3f\\x95\\xdf\\x98\\xdf\\xd9\\x32\\x5c\\x0e\\x07\\x9a\\x20\\x67\\x90\\xc5\\xe1\\x10\\x45\\x9b\\xd5\\xea\\xe4\\x5d\\x0e\\xdc\\x08\\x0e\\x3c\\xf0\\x58\\x3d\\x22\\x6b\\x9c\\xa4\\x34\\x93\\xa0\\xbd\\x98\\x80\\xad\\x64\\xc4\\x4a\\xd8\\x24\\xa7\\x73\\x6f\\x15\\xb3\\x35\\x1d\\xcb\\x39\\xa8\\x3e\\x6f\\xde\\x55\\xf3\\xf9\\x53\\x85\\x10\\xdb\\x1e\\x39\\x3e\\x87\\x67\\x6b\\xee\\x6d\\xaa\\x4c\\xd5\\xd6\\x94\\x8d\\x5b\\xd9\\x7f\\xb1\\xfa\\xfd\\xed\\xeb\\x2c\\xb0\\x81\\xf9\\x78\\xe9\\x25\\x66\\xf5\\xc0\\xb6\\xf1\\x53\\x3a\\xf6\\x93\\x81\\x9c\\xda\\xbc\\x3f\\x76\\x7e\\xc9\\x7c\\x80\\x69\\x2a\\x46\\x6b\\xe4\\x91\\x49\\x83\\x27\\x60\\x43\\x1e\\x54\\x52\\x3a\\xdd\\x06\\x7f\\xb1\\xc1\\x8c\\x24\\xbc\\x91\\x7c\\x2f\\xc9\\xb0\\x28\\x09\\x66\\xde\\x96\\x64\\x7d\\xbe\\xd8\\x44\\x25\\x14\\x02\\x7b\\x08\\x44\\x1e\\xeb\\x84\\x12\\x6b\\x99\\xa8\\x48\\x42\\x9c\\xd0\\xca\\x7a\\x8f\\x96\\x42\\x65\\x29\\xe8\\x0a\\x6d\\xce\\x9b\\xaf\\x05\\x09\\x0d\\xc2\\x57\\xad\\xb3\\x57\\xcd\\x5e\\xd5\\xcd\\xa7\\x0f\\x74\\x10\\xcf\\xce\\x17\\xd3\\x48\\xf8\\x3e\\x50\\x2d\\x25\\xa8\\x7a\\x4b\\xcc\\x0e\\xcd\\xb3\\xcf\\x30\\xcf\\xbc\\xf9\\xc6\\x84\\xa7\\x32\\x7d\\x1a\\xec\\xf2\\xaa\\xc9\\x17\\x55\\x0f\\x6c\\x58\\x31\\x0b\\x2e\\x5d\\xbf\\x2b\\xd3\\x60\\xf5\\x4c\\xae\\x1a\\x3f\\x7a\\xf0\\xbc\\xd6\\x29\\xe5\\x50\\x72\\xc7\\xc3\\x29\\x17\\xf0\\x5b\\x67\\x4e\\x1f\\x56\\x34\\x2c\\x9e\\x1e\\x7a\\xed\\x54\\x88\\xc4\\xbf\\x5d\\x1e\\xcc\\x8c\\xa8\\x29\\x1a\\x31\\xb0\\x7a\\xc2\\x1c\\xd2\\x06\\x43\\x71\\x79\\x97\\x71\\x57\\xe2\\x9e\\x3b\\x4a\\x2e\\x64\\x9d\\x2e\\x0f\\xe7\\xf7\\x9b\\xec\\xa2\\x68\\x32\\x85\\xc2\\xa2\\xa6\\xbd\\x3b\\xec\\x4e\\x3b\\x83\\x0c\\xa8\\x59\\x31\\x78\\x37\\x87\\xa1\\x4b\\xcf\\xad\\xaa\\xe8\\x9a\\x64\\xa7\\xff\\xfb\\xc8\\xa8\\xda\\x2f\\x67\\x6d\\xd4\\x10\\xe5\\xbc\\x4a\\x20\\x0a\\x39\\xa1\\x1b\\xf6\\x27\\xc7\\x07\\xfb\\xee\\x1e\\xb1\\x7c\\x83\\x73\\xd6\\x1a\\xcb\\x8d\\xdb\\x6f\\x4e\\xef\\x71\\xee\\x69\\x91\\xaa\\x97\\x04\\x47\\xa5\\x2a\\x16\\xcf\\xeb\\x73\\x11\\x9c\\x1d\\x56\\xf4\\xf6\\xdb\\x8b\\x54\\x76\\x72\\xba\\xba\\x12\\xd3\\x36\\xae\\xf3\\xef\\x5c\\x25\\xdd\\x75\\x69\\x82\\x5c\\x42\\x25\\xa1\\xc8\\x53\\xa9\\xe8\\x10\\x82\\x21\\x2f\\x16\\x88\\x5e\\xbb\\x2e\\x0e\\xbd\\xba\\x32\\x62\\xc7\\x82\\x70\\x15\\xea\\x2e\\xf9\\x7b\\xce\\x68\\x92\\x10\\x58\\xca\\xd6\\xd4\\xac\\xd3\\x43\\x84\\x07\\x68\\xb6\\x34\\xcc\\x69\\x91\\xf7\\xa6\\x96\\x80\\xf9\\xd6\\x8b\\xad\\xea\\x1e\\x2c\\x01\\xe7\\xaf\\xb6\\xce\\x5d\\x6b\\x85\\x2d\\x0b\\xbc\\x7f\\xbe\\x70\\xe7\\x34\\x66\\xd2\\xb9\\x03\\x81\\x86\\x83\\xc7\\x2f\\x5e\\xe0\\x9a\\xc5\\x14\\xfb\\x1b\\x3a\\x8e\\xaf\\x21\\x75\\xe8\\xc2\\xf2\\xef\\x3e\\xf6\\x09\\xe4\\x46\\x43\\xe4\\x04\\x72\\x3a\\x3d\\x5e\\xde\\x6a\\xf5\\x82\\xc3\\x6b\\x72\\x22\\x6c\\xe8\\x9b\\x91\\xfd\\x94\\x17\\x0e\\x52\\x37\\x5e\\xbb\\xe6\\xba\\xd3\\xc3\\x2e\\x88\\x85\\x03\\x79\\x62\\x24\\x44\\x4d\\xb3\\x3e\\x58\\x3f\\xaa\\x22\\x52\\x99\\x7a\\x79\\x61\\xec\\x6d\\x6f\\xc4\\x93\\x8e\\x70\\xb9\\xf8\\x79\\x70\\x8a\\x3a\\x6e\\xd3\\x9b\\x43\\x2c\\xec\\x13\\x1d\\xab\\xa1\\xb6\\xdf\\x45\\xf1\\x60\\xc2\\x6b\\x1d\\xe6\\x2b\\x9e\\xd5\\xde\\xd1\\xc2\\x2e\\x24\\x0c\\x0c\\x58\\xea\\x7d\\xc9\\xcf\\xa6\\x75\\x36\\x5a\\x2e\\x72\\x92\\x79\\x4c\\x24\\x08\\x21\\xaf\\x4b\\x64\\x6d\\x6e\\xb7\\xc3\\xe6\\xb0\\x93\\x9e\\x85\\xeb\\xcb\\xcb\\xd9\\x5f\\x09\\xc1\\x81\\x10\\xdc\\x17\\xd2\\xb4\\xa3\\xfa\\xdc\\x4a\\x70\\xd2\\xfb\\xf3\\xa9\\xea\\x5f\\x01\\x39\\x7a\\x34\\xc7\\xb3\\x0b\\xaa\\x08\\xa9\\xdc\\xfd\\x72\\x81\\xf8\\x63\\x6c\\xb8\\xba\\x7c\\xc3\\x42\\xf5\\xcf\\x57\\x3f\\xde\\x6c\\x81\\xca\\x2b\\xa0\\x7a\\xde\\xca\\x87\\xdd\\x05\\xac\\x30\\xca\\x6d\\x1e\\xe6\\x1f\\xa4\\xac\\xea\\x68\\x61\\x82\\x1d\\x7f\\x63\\x17\\xe0\\xea\\x5a\\xce\\xf4\\xef\\x78\\x13\\x4a\\x0b\\x2f\\x45\\xb9\\x75\\x2f\\xbf\\xc5\\xb4\\x16\\xa2\\x0b\\xe4\\x72\\x77\\xc2\\x95\\x74\\xd9\\x91\\x54\\x58\\x98\\x94\\x92\\x16\\x7f\\x34\\x5a\\x84\\x0d\\xc3\\x34\\xb2\\x27\\xdc\\x9c\\x0b\\xdf\\x9b\\xa8\\x14\\x7a\\x42\\x76\\x6a\\xe5\\xdb\\x4d\\x1e\\xbd\\x89\\xb3\\x0b\\x03\\x21\\x2f\\xd6\\x4e\\x0b\\x1a\\xd4\\xa3\\xdb\\x05\\xb2\\xd0\\x0f\\xf7\\x1d\\x1a\\xdc\\x5e\\x48\\x49\\xaf\\x21\\x55\\xac\\x55\\xb0\\x1d\\x88\\x0e\\x0a\\xbf\\x78\\xb8\\xa0\\xc8\\x51\\x2a\\xbe\\x2f\\x0d\\x6b\\x84\\xf0\\x6f\\xb0\\x1a\\x9a\\x79\\x78\\x41\\xdf\\xbe\\x35\\xe2\\xdb\\x9e\\xeb\\x4f\\x7d\\x7a\\x81\\x45\\xfd\\x3d\\xac\\xbf\\x3e\\x96\\x49\\x04\\xa2\\xa6\\x61\\xd6\\x68\\x6a\\x4a\\xdd\\x37\\x70\\x4d\\x60\\x98\\xfa\\xc2\\xb4\\xe2\\x61\\xb1\\x88\\x79\\x98\\x14\\x1a\\xb7\\xe6\\x49\\x75\\x98\\x67\\x98\\x56\\xa6\\x2a\\x75\\x14\\x7b\\x0b\\x2e\\x53\\x92\\xcc\\xc5\\x23\\x9f\\xd3\\xc9\\x7a\\xcd\\x2e\\x57\\xaa\\x20\\x84\\x50\\x41\\xdc\\xee\\x73\\x7a\\x63\\x2e\\xaf\\x8b\\x70\\x2e\\xeb\\x24\\x5e\\x15\\x51\\x14\\xc2\\x07\\x0b\\xa0\\xbd\\x80\\xda\\x8f\\xb8\\x43\\x61\\x91\\x56\\x95\\xb5\\x1b\\xbb\\x2d\\x1a\\x70\\x66\\x2d\\x47\\x01\\x6c\\x8c\\x6e\\x28\\x52\\xf1\\x4c\\x4a\\x95\\xcf\\x38\\xec\\x2d\\x93\\xd4\\x31\\x6d\\x57\\x5d\\x37\\xbe\\x6a\\x48\\xdf\\xd2\\x3a\\x77\\xa0\\xbc\\xee\\xc6\\x15\\xef\\x0c\\xb1\\x40\\xc5\\x1d\\xcf\\x84\\x0a\\x35\\x3e\\x62\\x2f\\x9e\\xb9\\xa5\\xa3\\xff\\xbd\\xb7\\x4d\\x10\\xc4\\xef\\xae\\xf0\\x5d\\xff\\x02\\x3b\\x1d\\x37\\xce\\x95\\x50\\x56\\xb6\\x38\\xa6\\xb1\\x94\\x56\\x96\\xd7\\x71\\xfb\\x78\\x70\\x59\\x5c\\x98\\x97\\x0a\\x9d\\xd8\\x8c\\xf1\\x88\\x46\\xdc\\x0b\\x2d\\x26\\xc6\\xc4\\x4c\\x54\\x04\\xc1\\x64\\x07\\x3c\\xe6\\x8b\\x58\\xe2\\x39\\xe2\\x0e\\xc6\\xe1\\x20\\x93\\x82\\xd8\\x78\\xd1\\xfd\\x2a\\x55\\x79\\xab\\x7d\\xb2\\x1e\\xdc\\x54\\x4d\\x77\\x1f\\x2e\\x89\\x60\\xab\\x35\\x32\\xdc\\xa8\\x01\\x8b\\x03\\x75\\x8d\\x7d\\x99\\x5b\\x4d\\x1d\\xe7\\xa6\\x0c\\xbc\\x2c\\x3e\\xb9\\x71\\x6c\\x3f\\x36\\xee\\x92\\xee\\x06\\xff\\x80\\x73\\x9f\\x86\\xdc\\x4f\\xab\\xaf\\x11\\x1b\\x45\\xfd\\x9a\\x1d\\x81\\xf5\\xfd\\x52\\x34\\x59\\x2e\\x2b\\x0c\\x04\\x13\\x1c\\x5b\\xe2\\x76\\xb3\\x11\\x8b\\xd1\\x2e\\x59\\xb0\\xf2\\x9f\\x29\\x8b\\x88\\x16\\xd1\\xf2\\x23\\xae\\x55\\x77\\x49\\x69\\xc9\\x8f\\x4a\\xe9\\x77\\x6e\\xcf\\x8f\\x8a\\x1b\\x9d\\xbf\\x1a\\x82\\x0a\\x2d\\x5f\\x55\\x9e\\xdc\\x02\\x4d\\x62\\x11\\xa1\\x5b\\x84\\x79\\xa4\\xc6\\x35\\x14\\x06\\x83\\x40\\x55\\x25\\xac\\x12\\x7a\\xa2\\xe0\\x11\\xa8\\x14\\xc3\\x37\\xe1\\xe6\\x8d\\x5b\\x84\\x4a\\x43\\xeb\\x0c\\xfb\\xc2\\xab\\xdc\\x35\\x81\\xc7\\xee\\xbe\\xd6\\x3e\\x74\\xe4\\x24\\xbb\\xec\\xb8\\xb6\\x75\\xdc\\x74\\xbe\\xda\\x50\\x3d\\x68\\xa8\\xa4\\x7e\\xbd\\x69\\x55\\x71\\x1a\\x5c\\x89\\xf0\\xe4\\x46\\x76\\x1a\\x3b\\x17\\x77\\xd8\\x1d\\x5b\\xa7\\x8f\\xbc\\x40\\xbd\\xa3\\xed\\x3a\\x17\\xeb\\x58\\xd8\\x5c\\xad\\x9e\\x4a\\x84\\x87\\x8c\\x99\\x8e\\xcb\\xb5\\x5d\\x1d\\x05\\x41\\x5c\\x2e\\x16\\xbd\\x2c\\x5f\\xc3\\x62\\x25\\x90\\x78\\xa6\\x43\\x12\\x3e\\xf2\\x70\\x86\\x87\\x53\\x3c\\x1c\\xe5\\xe1\\x20\\x0f\\x2b\\x79\\x68\\xe3\\x21\\x4e\\xef\\x2f\\xc7\\x0f\\x4e\\xd3\\x67\\xbb\\xe8\\x2d\\x0d\\x5a\\x83\\x93\\x79\\xa8\\xa4\\x37\\x35\\x80\\x66\\x7a\\x47\\x03\\x18\\x8a\\xa1\\xdb\\x29\\xa6\\x0f\\x29\\xe8\\x5e\\xfa\\xb8\\x33\\xfb\\x11\\x7c\\xbf\\x82\\x87\\x18\\xdf\\x35\\xcf\\xb6\\xaa\\x4b\\xc3\\xee\\x35\\xf3\\x00\\xd5\\xb4\\xb3\\x2b\\x02\\x5d\\xb8\\x2e\\xb7\\xef\\x54\\x47\\x09\\xa3\\xff\\xfd\\x1c\\xe6\\x9f\\xeb\\xd4\\xaf\\x99\\x83\\xb8\\x5c\\x25\\xa4\\xbd\\x4c\\x89\\x04\\x99\\x3f\\xc2\\x76\\x25\\xe7\\x88\\x15\\xa6\\x1d\\x5c\\x30\\x58\\x9a\\x31\\x25\\x92\\x89\\xe4\\x8f\\x4a\\x22\\xe1\\x05\\x2f\\x6e\\x29\\xb2\\x93\\xc7\\x8f\\xf9\\xbe\\xef\\xf3\\xda\\xcb\\xd7\\x65\\x07\\xd7\\x50\\x21\\x8e\\x5b\\xaa\\x1a\\x0f\\x91\\x5a\\xc3\\x65\\xb0\\xa0\\xd2\\xf4\\x59\\x03\\xe9\\xf6\\x44\\x95\\xc7\\x43\\xd1\\x25\\xd2\\xd0\\x91\\xcd\\xf6\\x61\\x8e\\xad\\x17\\x35\\xce\\xe4\\xfb\\x1b\\xaa\\x07\\x0e\\xb5\\x5f\\xbb\\x65\\x93\\xb1\\xc2\\xf0\\xac\\x7d\\xc5\\x26\\xd7\\x40\\xff\\x7f\\xdd\\xad\\x7e\\x8d\\x5b\\x06\\x96\\x5d\\x74\\x8d\\x87\\x95\\x16\\x35\\x57\\x41\\x59\\x22\\x32\\xa4\\x71\\xfa\\xe5\\x4b\\xd2\\x65\\xea\\xd7\\x89\\xf0\\x6e\\x6e\\x1a\\xb7\\x64\\x99\\xfa\\xda\\x75\\xd7\\x93\\x35\\x40\\xf0\\x11\\x77\\x11\\x7b\\x11\\x0a\\x42\\x4c\\xf6\\x9b\\xcc\\x5e\\x9f\\xd9\\x17\\x0a\\xfb\\x6c\\x06\\xdb\\x13\\x0a\\x32\\x48\\x86\\xb8\\x81\\xb5\\xb0\\x06\\x92\\x78\\xe0\\x29\\x6f\\xb0\\xd1\\x60\\x70\\x99\\x71\\xef\\x79\\x42\\xa9\\x70\\xb5\\xba\\x56\\xb8\\x5e\\x71\\x9d\\x74\\xf1\\x64\\xa9\\x53\\x85\\xab\\x09\\xdf\\xb8\\x0f\\xff\\x14\\x4c\\x2e\\x39\\xd3\\xaf\\xd1\\xf5\\x4a\\x18\\xee\\x0b\\x03\\x1e\\x5d\\x5b\\xc3\\xd0\\x14\\x86\\xfa\\x30\\x54\\x84\\x21\\x16\\x06\\x7b\\x18\\xd6\\x1e\\x08\\xc3\\x4e\\x7a\\x0b\\xff\\xee\\x0c\\xc3\\x87\\x61\\x38\\x19\\x06\\xfc\\x02\\xbe\\xbf\\x32\\x0c\\xdf\\xd0\\x9f\\x07\\xb2\\x2f\\xd7\\x67\\x5f\\x93\\xb5\\xd7\\x56\\x50\\x7c\\xda\\x9b\\xa7\\xa9\\x12\\xde\\x9c\\x7d\\x61\\x27\\x7d\\x41\\x0e\\x43\\x3c\\x8c\\xfb\\x16\\x18\\xe7\\xcc\\xee\\xd6\\xea\\xdd\\x1a\\x39\\x7b\\xaf\\xcb\\xd8\\x42\\x15\\x99\\x39\\x5a\\xda\\x04\\x6c\\x67\\xd0\\xf5\\x00\\xdd\\xc2\\x9f\\x68\\x87\\xd2\\x54\\x16\\x21\\x45\\xa2\\xdb\\xbd\\x9a\\xb4\\xaa\\xb2\\x31\\x6c\\xfd\\xa0\\x8d\\x63\\x2f\\x98\\x92\\x18\\x3d\\xcc\\xba\\xc3\\xde\\xb0\\x6e\\x56\\xed\\x96\\x55\\x6d\\xb5\\x0d\\x0d\\xf6\\x5d\\xee\\x11\\x6b\\xe0\\xa3\\xc1\\x43\\x1b\\xfb\\xae\\xb8\\xea\\xb6\\x3b\\xa6\\xd6\\x5d\\x38\\x6d\\xcd\\xe6\\xdd\\xbb\\xa7\\x60\\x51\\x44\\x22\\x75\\xb4\\xff\\x24\\x62\\xda\\x13\\x1d\\x78\\xbc\\xba\\x90\\x99\\xce\\xbe\\x4a\\xf3\\xcf\\x5c\\x28\\xfb\\x05\\xab\\x95\\x61\\x59\\xc9\\x81\\x6d\\xf3\\x20\\x06\\x30\\xb3\\x34\\x09\\x8d\\xc4\\x1e\\x01\\x51\\xfe\\x60\\xd3\\x79\\x49\\x5b\\x72\\xb9\\x5d\\xee\\xce\\x4b\\x3e\\x83\\x01\\x42\\x34\\xf5\\xcb\\xe2\\x37\\xf2\\x72\\xc8\\x9c\\x75\\xc0\\x3f\\x69\\x9e\\x9a\\x16\\x07\\x8c\\xa3\\xef\\xff\\xa7\\x34\\x32\\xf9\\x79\\x69\\x7a\\x49\\x23\\xa3\\xa5\\xba\\xe9\\x95\\x8a\\x5c\\x16\\x9c\\xf3\\xb3\\xdb\\xe4\\xe7\\x8b\\xb9\\xb5\\x47\\xbe\\x98\\x6c\\xb2\\x98\\xde\\x73\\xc5\\xfc\\x2f\\xd6\\x74\\xaf\\xf9\\x43\\xba\\xd2\\xc1\\xe8\\x53\\xdf\\x5d\\x2b\\xce\\x13\\x90\\xf5\\x31\\xe1\\xb1\\x14\\xa6\\xb6\\xd6\\xa9\\x6f\\xc3\\xfc\\xec\\x52\\x25\\x74\\x6e\\x21\\x3f\\x33\\x6f\\x91\\x12\\x83\\x36\\xe1\\xb1\\xe3\\x34\\x8d\\x5f\\x4c\\xa0\\xeb\\xe5\\xc9\\x41\\xa3\\x18\\x8d\\xf0\\x9c\\xd5\\xca\\x31\\x3e\\xaf\\x9d\\xb3\\xd9\\x58\\x96\\x73\\x70\\x46\\x36\\x99\\xb2\\x19\\xa2\\x5e\\xd1\\xbb\\x46\\x91\\x5c\\x20\\xbb\\x9a\\x5d\\x07\\x5d\\xac\\xd6\\x43\\x58\\x33\\xeb\\x72\\xd9\\xed\\x62\\xc4\\xc7\\xfb\\xd6\\x2a\\x0c\\xbf\\x52\\x6c\\x17\\x19\\x91\\x17\\x31\\x12\\x03\\xe7\\x27\\xeb\\x6e\\xeb\\xeb\\x69\\x66\\x93\\xd9\\x8e\\xec\\x8c\\x89\\xbe\\x4a\\x45\\xcf\\xe5\\x91\\x4b\\xa2\\x40\\xad\\x99\\xac\\x49\\x43\\x06\\x9f\\x1a\\x6d\\x82\\x02\\x0f\\x3e\\x42\\x36\\x7b\\x07\\xd6\\x0e\\x68\\x82\\x0e\\x86\\x5d\\x73\\xc3\\x9d\\xc9\\x59\\xf1\\x27\\x7f\\x7d\\x13\\xea\\xbc\\x25\\x3a\\x2b\\xb6\\x6b\\x7a\\xdf\\x46\\x5b\\xf1\\xd8\\xad\\xf3\\x37\\xab\\xf2\\x98\\x01\\x57\\x8f\\xbe\\x74\\x04\\xcc\\xba\\x34\\xfe\\xab\\xe7\\x5e\\xba\\xff\\x19\\x88\\x3c\\xc4\\xed\\x7f\\xd2\\x1a\\x51\\x4f\\x3f\\x5e\\x2e\\x76\\xd8\\xac\\xd3\\xaf\\x59\\xb0\\x46\\x62\\xbe\\xf5\\xdc\\xfe\\x91\\x3e\\xdf\\xc9\\xf0\\xe3\\xb1\\x6e\\xb3\\x5c\\x1e\\x14\\x4f\\x26\\x85\\xa8\\x3b\\x12\\x0e\\x9b\\x44\\xc1\\x66\\xc3\\x56\\x8c\\xbb\\x90\\x71\\x17\\x31\\x69\\x53\\x3c\\x12\\x5f\\xa3\\x88\\x91\\x88\\xa3\\x90\\x64\\x31\\x41\\x5e\\xb0\\xb1\\x5e\\xaf\\x43\\x60\\x0b\\x19\\xa6\\x70\\xbd\\xc2\\xd0\\x05\\xbf\\xfa\\x60\\x9a\\x5d\\x5d\\xe0\\xaf\\xa8\\xea\\x61\\x87\\x66\\x5d\\xe2\\xba\\xf7\\x92\\x98\\xa0\\x54\\xc7\\x49\\xd5\\x54\\xa5\\x69\\x54\\x90\\x37\\x17\\x16\\xe4\\x4b\\x08\\x29\\x1f\\x89\\x82\\x62\\xb7\\x15\\x9e\\xdb\\xed\\x99\\xa3\\xcc\\x74\\xdd\\xef\\x9c\\x11\\x04\\x09\\x0c\\x43\\x2e\\x5f\\x37\\x60\\xba\\x69\\x82\\x72\\xd5\\x36\\x16\\x0c\\xce\\xef\\x61\\xd2\\xe8\\x37\\xde\\xd8\\xd4\\x38\\xfc\\xa6\\xc9\\x83\\xc6\\xce\\x9f\\x3b\\xf9\\xfd\\x2f\\xec\\x61\\xf5\\xe4\\x2f\\xab\\x3f\\xff\\xcd\\xfc\\xf9\\x89\\x82\\x0b\\x9f\\x6b\\x20\\x6d\\x3c\\x17\\xfd\\x9b\\x7d\\x89\\x9b\\x8a\\x42\\xa8\\x08\\xe2\\xf2\\x1b\\x85\\xd8\\x1a\\x32\\x99\\x4a\\x8a\\x99\\x24\\x96\\x85\\xcc\\x29\\xe6\\x0c\\xc3\\x9a\\x58\\x46\\x92\\xa5\\xf0\\x13\\x8a\\xf4\\xc7\\x12\\x38\\x56\\x02\\x0f\\x95\\xc0\\xd6\\x12\\x98\\x57\\x02\\x23\\x4a\\xa0\\xa0\\x04\\xb8\\x12\\xf8\\x94\\xde\\x3f\\x5c\\x02\\x7b\\x4b\\x80\\xd9\\x55\\x02\\xed\\x25\\xb0\\xb2\\x04\\xda\\x4a\\xa0\\xb9\\x04\\xe4\\x12\\xa8\\x2c\\x81\\x78\\x09\\x48\\x25\\x80\\x4a\\xe0\\x4c\\x09\\x9c\\x2e\\x81\\x53\\x25\\x70\\xb4\\x04\\x0e\\xd2\\x17\\xce\\x87\\x8f\\x53\\xc8\\x9a\\xd3\\x14\\x68\\x2f\\x7d\\xdc\\x96\\x7d\\xd0\\x2b\\xba\\xf3\\xc1\\xf0\\x23\\x61\\x4e\\xf7\\x7e\\xf1\\xbf\\xb9\\xa5\\x5a\\xf3\\xfb\\x1b\\x16\\x8c\\x28\\xe8\\x97\\x72\\xb3\\x62\\xd9\\x2e\\x44\\x3c\\x04\\x42\\x11\\xc9\\x41\\x51\\x53\\x54\\x43\\x9c\\x49\\xbe\\x1a\\x9f\\x40\\x06\\x2b\\x9f\\x00\\xfa\\xda\\x44\\x32\\x86\\x31\\x5f\\x5f\\x78\\xc5\\x25\\x0b\\x17\\xcf\\x5b\\x30\\x7c\\xf8\\x82\\x45\\xf3\\x17\\xaf\\x5f\\xbf\\x78\\xf1\\x82\\x45\\x23\\x47\\x2e\\x9a\\xa7\\x3e\\xbb\\xe4\\xd6\\xdb\\x16\\x2f\\xde\\x7d\\x3b\\xb4\\xe1\\x9f\\x0b\\x16\\xce\\xdf\\xb8\\x69\\xde\\xe2\\x45\\x4b\\x47\\x8d\\x5a\\x3c\\x6f\\xe9\\xc2\\x4b\\x36\\x2c\\x5a\\xb8\\x80\\xd9\\xbf\\x7b\\xf1\\xe2\\xdb\\x6e\\x5d\\xb2\\xe4\\x76\\xcd\\x3f\\xda\\x88\\x79\\xf0\\x4a\\xdc\\x07\\x93\\xe8\\x0e\\x79\\x32\\x9f\\x10\\x13\\xd1\\x68\\x40\\xb4\\x4b\\x2e\\x3b\\xeb\\x0e\\x46\\xdc\\x6c\\x20\\x60\\xe1\\x92\\xc9\\x54\\x81\\xc1\\x62\\x29\\xb0\\x47\\x13\\x51\\xcc\\x89\\x7c\\xc2\\x15\\x8c\\x04\\x71\\x67\\x8c\\x24\\x64\\x93\\xb5\\xd1\\x1e\\x01\\x0b\\x9b\\x88\\x24\\x22\\xe0\\x73\\x07\\x7c\\x98\\x43\\x7d\\x7e\\x8b\\x81\\x4b\\x42\\x72\\x8d\\x62\\x04\\x43\\xb7\\x90\\x2a\\xaa\\xb0\\xea\\x6b\\x9f\\x32\\xd9\\x1e\\x99\\xc7\\xa9\\x4e\\x2d\\xf6\\x38\\x6f\\x08\\xd7\\xa6\\x6f\\xf2\\x03\\x0b\\xb0\\xa1\\x48\\x8c\\x45\\x81\\x78\\x51\\x98\\x44\\x0d\\xf9\\xbf\\x8a\\xbd\\x4a\\x84\\x77\\xc5\\xb5\\x17\\x43\\xfd\\x12\\x11\\xc6\\x89\\x8a\\xba\\xfd\\x0b\\xa7\\xea\\x57\\x9d\\x6a\\xe1\\x76\\x4b\\xc7\\x3b\\x96\\x9b\\x0b\\xd5\\x4e\\x27\\x80\\x1f\\x1f\\xbf\\xb8\\x8b\\x3b\\xdb\\xd0\\x10\\xec\\x78\\x9f\\x29\\xf4\\x37\\x34\\xb8\\x3b\\xee\\x58\\x70\\xfd\\x82\\x93\\xf8\\xca\\x7f\\x12\\x5f\\x30\\xf3\\x30\\xbf\\x3e\\x8b\\xf5\\xac\\x11\\x54\\xcf\\x12\\xd0\\xef\\xe4\\x9b\\x0c\\x0c\\xc3\\x03\\x98\\x8c\\x1c\\x6f\\x53\\xb8\\x10\\x20\\x1b\\xae\\x32\\xc9\\x04\\xc8\\x04\\x67\\x4c\\x70\\xca\\x04\\x47\\x4d\\x70\\xd0\\x04\\x2b\\x4d\\xd0\\x66\\x82\\x38\\xbd\\xbf\\x1c\\x3f\\x38\\x4d\\x9f\\xed\\xa2\\xb7\\x34\\x68\\x0d\\x4e\\x36\\x41\\x25\\xbd\\xa9\\x01\\x34\\xd3\\x3b\\x1a\\xc0\\x50\\x0c\\xdd\\x4e\\x31\\x7d\\x48\\x41\\xf7\\xd2\\xc7\\x9d\\xd9\\x8f\\xe0\\xfb\\x15\\x26\\x88\\x99\\xfe\\xef\\x94\\xae\\xb7\\xce\\x0b\\x55\\xc0\\x55\\xca\\xe2\\xbf\\x67\\x6f\\xbc\\xf1\\x46\\x36\\xc1\\x2c\\xeb\\xb8\\xf5\\x6c\\x21\\xb3\\xbc\\xe3\\x66\\x6d\\xfe\\xb4\\xb0\\x13\\xd8\\x3d\\xfc\\x72\\x34\\x00\\x35\\xa0\\xab\\xe5\\x41\\x35\\xfd\\x65\\x24\\x1b\\x3c\\x25\\x21\\x3b\\x1a\\xe2\\xaf\\x0d\\xd5\\xc6\\xfb\\xf6\\x45\\x21\\x0f\\x37\\x7c\\x44\\xff\\x1a\\xff\\x10\\x27\\x5b\\x53\\x36\\x24\\x5a\\x33\\xa4\\x66\\x08\\x1b\\x8d\\xa6\\xef\\x51\\x50\\x72\\x65\\xb2\\x3d\\x89\\x15\\x9b\\x64\\x32\\x7a\\x04\\x6c\\xb2\\x85\\x15\\xef\\x51\\xda\\x8d\\x60\\x34\\xb2\\xbf\\xeb\\xee\\xdb\\xc8\\xad\\x80\\xd3\\x26\\xee\\xb4\\x66\\xd6\\x17\\xb2\\x38\\x73\\x2b\\x75\\x35\\xe3\\xac\\x30\\xe7\\xeb\\xc8\\x2e\\xfb\\x2f\\xa2\\xcb\\x8f\\xb3\\x8b\\x90\\xf3\\x5d\\x1e\\x31\\x88\\x32\\x5a\\x06\\x00\\x96\\x4e\\x5e\\x16\\xd1\\x29\\x65\\x16\\xfd\\xf9\\x2f\\xe3\\x0f\\x95\\xf6\\x69\\xb0\\xa5\\x16\\x0d\\x98\\xb1\\x74\\xe6\\x65\\xcb\\x96\\xec\\xde\\x36\\xba\\xe9\\xcd\\x17\\x97\\x3e\\x52\\xda\\x60\\xf5\\xcf\\xed\\xd3\\x34\\x75\\xd4\\xa8\\x49\\x33\\xa7\\xf6\\xb9\\xf7\\xe6\\x29\\x63\\xd5\\xb1\\xcb\\xc6\\x2c\\x1e\\xbb\\x74\\xfc\\xa0\\xdb\\x1e\\x4c\\x38\\x81\\xdf\\x5a\\xd2\\x47\\x19\\x53\\x3b\\x6f\\xe2\\xf0\\x9b\\x95\\x35\\x8f\\xa4\\x4a\\x2f\\x1b\\xbf\\xe3\\xce\\xc8\\xb7\\xcb\\x23\\x85\\x63\\xeb\\x2b\\x26\\xa7\\xcb\\xfb\\x35\\xb5\\xd6\\x6d\\xda\\x5f\\x54\\x7f\\x15\\x48\\xd2\\xf2\\x86\\xaa\\xc9\\x7d\\xc5\\x8b\\xea\\xab\\x66\\x91\\x7a\\x7c\\x90\\x5b\\xc2\\xfc\\x37\\x3f\\x93\\xae\\xf9\\xed\\x2f\\x47\\xb2\\x6b\\x7e\\x0d\\x4e\\xd1\\x79\\xa3\\x82\\x90\\xd8\\x2c\\xae\\x14\\xd9\\x5d\\x22\\xd8\\x45\\x10\\xe9\\x32\\xd2\\xaa\\x1e\\x0b\\x11\\xf2\\x17\\x43\\x26\\xf2\\xae\\x99\\xf6\\xca\\x31\\x63\\x2a\\xfb\\x8e\\x1a\\xa5\\x2e\\xad\\x1c\\xd3\\xd8\\x17\\x5f\\x70\\x4b\\x46\\xf7\\xeb\\x37\\x72\\x44\\x55\\xbf\\xd1\\x63\\x2b\\x2a\\x47\\x8f\\xae\\xec\\x37\\x1a\\x73\\xee\\x74\\x6c\\xdf\\xbf\\xc4\\x4f\\x46\\x76\\x6c\\x05\\xd5\\x62\\x1d\\xf4\\xd5\\x84\\x2b\\x50\\xec\\x2a\\x46\\x35\\xc6\\x0a\\x64\\x44\\x75\\x83\\x39\\xd1\\xe6\\x8d\\x9e\\x50\\x50\\x00\\x44\\x43\\xc0\\x5b\\x2c\\x49\\x05\\xf8\\x87\\x57\\xf2\\x32\\x76\\x29\\x26\\x31\\x26\\x16\\x5f\\x4a\\x9c\\x28\\x56\\x1d\\x57\\x44\\x17\\x97\\x39\\xae\\x70\\xdc\\xe3\\x75\\x70\\x77\\x1d\\x6c\\xaf\\x83\\x4d\\x75\\xb0\\xb4\\x0e\\x5a\\xea\\x60\\x5c\\x1d\\x0c\\xae\\x83\\x4c\\x1d\\x84\\xea\\xc0\\x5e\\x07\\xcc\\x87\\x75\\x70\\xa0\\x0e\\xee\\xab\\x83\\x15\\x75\\xd0\\x5a\\x07\\xf5\\x75\\x50\\x51\\x07\\x31\\xfa\\xec\\xc3\\xff\\x70\\x7f\\xd0\\xf9\\x77\\x73\\x77\\xb4\\x9f\\xb9\\x8b\\xee\\x4c\\x3e\\xe7\\x3c\\xe9\\x9a\\x9f\\x5c\\x29\\xcf\\x30\\xc8\\xae\\xb3\\xd4\\x24\\x4d\\x5e\\x0a\\x96\\xfc\\x30\\x6c\\x6d\\x51\\x0e\\xa7\\x2f\\x0b\\x2f\\x60\\x78\\xbd\\xc2\\x63\\xd0\\xc5\\x5b\\x74\\x1d\\x95\\x60\\x60\\x73\\x2b\\x2e\\x0b\\x9c\\xd5\\xfd\\x99\\x82\\xe9\\x2f\\xc0\\x90\\xe7\\x5f\\x00\\xf9\\xb9\\x67\\xd4\\x57\\x5e\\x7e\\x5e\\x3d\\x7a\\x84\\x79\\xfb\\xd7\\x9f\\xbc\\x7f\\x72\\xfd\\xed\\xdc\\x48\\x57\\xc9\\xe4\\x41\\x5b\\x56\\x2e\\xbd\\x72\\xe3\\x18\\xef\\x28\\x6e\\xf3\\x2b\\xf7\\xab\\xff\\xb8\\xff\\x7e\\xf0\\x3c\\xb0\\x17\\x7c\\x0f\\xee\\x55\\xff\\xc9\\xec\\x79\\x09\\x86\\x3d\\x7b\\x44\\x7d\\xf5\\xa5\\xe7\\xd4\\x5f\\xbd\\x78\\x04\\xe4\\xbf\\x7d\\xf0\\xe2\\xa9\\x77\\xa3\\x27\\x17\\x07\\x82\\x77\\xbc\\xfc\\xf0\\xbe\\xc1\\x1b\\xde\\x2b\\xe2\\xd0\\x03\\xea\\xdf\\x1e\\x7a\\x50\\xfd\\x0c\\xbf\\x17\\x7e\\xe0\\x01\\x08\\x3c\\x4c\\xfb\\xe8\\x0c\\xa6\\x93\\x79\\x10\\xb7\\xad\\x13\\x85\\xd1\\x18\\x39\\xcc\\x85\\xc3\\x2e\\x17\\x72\\x3a\\xa3\\x7e\\x93\\x29\\x12\\xb5\\x7a\\x3e\\x55\\x1c\\x56\\x8e\\x0b\\x1a\\x82\\x9f\\x29\\x86\\x23\\x60\\x3e\\xcc\\xa2\\x4f\\x15\\xac\\xe0\\x9a\\xf2\\xdd\\xd4\\x55\\x99\\x1e\\x61\\x5c\\x98\\xe1\\x70\\x47\\xca\\x2d\\x84\\xa7\\x21\\x0d\\x55\\x82\\x16\\x23\\x5c\\xd5\\xaf\\x86\\x69\\x1c\\x60\\x7e\\x83\\x69\\x9e\\x3d\\x66\\xf6\\xac\\x47\\x2f\\xae\\x1f\\x6e\\x88\\xf7\\x3b\\x9c\\x2a\\x9c\\x70\\x51\\x63\\xe5\\x60\\x76\\xa2\\xbd\\x6f\\xd9\\xe0\\xf5\\x17\\x2d\\x3e\\x30\\x37\\xc8\\x3a\\x9b\\xec\\x4f\\xb4\\x6f\\x2f\\xc4\\x34\\x36\\xa3\\xb1\\xec\\xbb\\xec\\x54\\x64\\x40\\x56\\x34\\x55\\x0e\\x99\\x8d\\x46\\x93\\x28\\xf2\\x2c\\x00\\xc3\\xf3\\x36\\xbb\\x55\\x34\\x99\\xcc\\x5f\\x29\\x26\\x23\\xfe\\x3b\\x02\\x46\\x59\\x34\\xf0\\x0c\\xc3\\x7e\\xa5\\x30\\x80\\xff\\xf0\\x0d\\xb2\\xa6\\x99\\x8e\\x19\\xd9\\x73\\xb7\\xe9\\x4d\\x5d\\xd5\\x04\\x57\\x0a\\x6a\\xb2\\xa7\\xf7\\xe6\\xab\\x3f\\x5f\\x3e\\x5f\\x55\\x45\\x36\\x30\\x4f\\x3d\\x7b\\xd9\\x3c\\x72\\x35\\x55\\xdd\\xa4\\x6e\\x82\\x79\\x0d\\x30\\x4f\\xbf\\xc0\\x82\\x7b\\x35\\x7a\\x83\\xcb\\x30\\x67\\x10\\x8f\\x92\\xb2\\x9d\\xc5\\x27\\x83\\xc0\\xb0\\x32\\x62\\xb1\\x2a\\x72\\x88\\x54\\x10\\xc9\\xd3\\xa3\\xf3\\x47\\x36\\x39\\x0f\\x97\\xb9\\xf1\\xdc\\xdb\\xcc\\x99\\x8e\\xf7\\xe0\\xb6\\x5d\\xd4\\xc6\\xd0\\xf3\\xe4\\x60\\x1b\\x43\\xc2\\xed\\xc1\\xe5\\xf5\\xb5\\x42\\xd4\\x07\\x0d\\x85\\x15\\xf2\\x0f\\x8e\\x64\\xd2\\x15\\x93\\x52\\xe9\\x58\\x2a\\x36\\x38\\xe3\\x72\\xf9\\xfd\\xc6\\xc1\\xa8\\xca\\x88\\x8c\\x72\\xbd\\xc8\\xd9\\x02\\xa5\\xa1\\xd2\\x13\\x4a\\xd2\\x91\\x71\\x9c\\x50\\x32\\x99\\x50\\xca\\xe5\\xf7\\xfa\\x4f\\x28\\x85\\x5e\\x1a\\xf6\\x6d\\x42\\xde\\x66\\x6f\\x9b\\x77\\xa5\\x97\\x43\\xde\\x76\\xef\\x69\\xef\\x19\\x2f\\xe7\\x64\\x43\\xde\\x90\\x57\\xe4\\xc4\\x0a\\xdc\\x1b\\x39\\xae\\x06\\xf7\\x46\\xd7\\x31\\x19\\x0e\\xcb\\xf0\\x90\\x0c\\xb7\\xca\\xb0\\x55\\x86\\xb5\\x32\\xcc\\x93\\x61\\x84\\x0c\\xfd\\x65\\xe0\\x64\\xf8\\x63\\xf6\\xe9\\x2e\\x19\\x98\\x76\\x19\\x56\\xca\\xd0\\x26\\x43\\xb3\\x0c\\xb2\\x0c\\x95\\x32\\x48\\x32\\x20\\x19\\x4e\\xd1\\xc7\\xff\\xe9\\xe9\\xc0\\x53\\xbd\\xbd\\xb0\\xa2\\xfb\\x75\\xbd\\x0c\\x15\\xd9\\x3b\\xc6\\x39\\x3d\\xcc\\xc2\\xde\\xd2\\x0e\\xb6\\x76\\x0f\\xb0\\x3d\\xbf\\x9f\\xae\\x9a\\xa3\\xeb\\xe9\\x55\\x4e\\x3d\\x8d\\x97\\xbe\\x2e\\x30\\xd7\\x65\\xf3\\x3a\\x6e\\xd7\\xb4\\x8a\\xb6\\xf0\\x59\\xef\\xc5\\xc0\\xa6\\x1c\\x3e\\x4f\\xa2\\xba\\xc6\\x51\\x54\\x9d\\xe8\\xa7\\x47\\xf3\\x7b\\x80\\xd8\\xfd\\x0e\\x3c\\x82\\xf4\\xec\\xc1\\xfc\\x4b\\xd9\\xae\\x9b\\xed\\xca\\xaa\\xe9\\x6f\\x7d\\xe7\\xa8\\x8f\\x8c\\x9f\\x0a\\x73\\xee\\xd9\\xdb\\x32\\xe3\\xe4\\x28\\xf5\\xf3\\xa9\\x97\\xb8\\x7c\\x8b\\xda\\xae\\x3e\\xaf\\x0f\\xeb\\x7d\\xf7\\x79\\xbd\\x2f\\x77\\x3c\\x07\\xd3\\xd5\\xef\\xa5\\xda\\x5a\\x89\\xb9\\x55\\xaa\\x59\\xb3\\x64\\xc2\\xda\\xb0\\xfa\\xa1\\x54\\xcb\\x8c\\x9a\\xdc\\xa0\\x1e\\x6f\\x64\\x7a\\xeb\\xcf\\x80\\xb6\\xf1\\xfb\\xb9\\xfd\\x06\\x33\\x96\\xda\\x7d\\xe5\\x04\\x02\\xe0\\x78\\x60\\x9e\\x57\\xee\\x03\\x88\\x41\\x05\\xb4\\xc2\\x4e\\xe0\\xec\\xb0\\x19\\x0e\\xc0\\x37\\xd0\\x09\\x3c\\x90\\xc8\\xb8\\xd5\\xb9\\xe4\\x4a\\x90\\xa8\\x4e\\x70\\xfb\\xcf\\xbe\\xcf\\xa5\\xf8\\xfd\\x73\\x70\\xbf\\x3b\\xc2\\x7c\\xc6\\x16\\x62\\x5e\\xb4\\xa1\\x20\\x2a\\x97\\x7d\\x7e\\xa3\\xd1\\x89\\x50\\x38\\x84\\xc5\\xbd\\xe8\\x79\\x92\\x70\\x8f\\xfd\\x49\\x85\\xac\\x55\\x24\\x31\\x59\\xc7\\xba\\x25\\x8d\\x72\\xd1\\x6e\\x4f\\x96\\x16\\x6b\\xe1\\x24\\x79\\xba\\xe6\\x91\\xc9\\x37\\x4d\\x99\\xb2\\x6b\\xea\\xb4\\x5d\\x93\\xb7\\x1c\\x86\\xea\\xe6\\xe5\\x2b\\x9a\\x26\\xad\\x58\\xce\\x85\\xf0\\x2d\\xfc\\x6f\\xea\\x4d\\x93\\x0e\\xc3\\x98\\x35\\x17\\x4c\\x59\\xbb\\x76\\xca\\x05\\x6b\\x88\\x7c\\x9a\\x86\\x3b\\x85\\x8d\\xe6\\xc8\\xb2\\xa3\\x69\\x72\\xb9\\x96\\x25\\x8b\\x17\\xcd\\x76\\xde\\xcc\\x3b\\x24\\x9b\\xfd\\x09\\xc5\\xe6\\xff\\x3f\\x4d\\x97\\xd5\\x6d\\xe6\\xaf\\xd7\\xac\\x59\\x0e\\xdc\\xd2\\xcc\\x25\\x7a\\xe6\\xac\\xdb\\xcf\\x8d\\xd6\\x72\\x67\\xed\\x82\\xdb\\xd4\\xa5\\xbb\\xd4\\xf2\\x1d\\x3b\\x34\\x1d\\xb7\\x98\\xf1\\x31\\xdb\\xf8\\x51\\xc8\\x8f\\xbe\\x94\\xf7\\x1a\\x90\\xcb\\x15\\xf4\\x59\\x01\\x02\\x41\\x51\\x94\\x24\\xd3\\xa7\\x8a\\xf4\\x01\\xe3\\x03\\xdf\\xe7\\x0a\\xbc\\xdf\\x4a\\xd7\\xa7\\xbe\\x12\\x84\\x03\\x41\\xd8\\x15\\x84\\x58\\x10\\xec\\x41\\x58\\xba\\x33\\x08\\x9b\\x83\\x80\\x9f\\x7d\\x13\\x84\\x0f\\xb3\\x8f\\x9b\\xb2\\x8f\\x3b\\xe9\\x82\\xd6\\x03\\x14\\x66\\x05\\x05\\xc3\\x37\\x6b\\x3b\\xbb\\x43\\xef\\xa4\\x0f\\xe2\\x41\\x38\\x45\\xd7\\xbe\\x1e\\xa4\\x4b\\x61\\x9b\\xe8\\xd7\\xf0\\x4d\\x29\\x8b\\x02\\xbf\\x49\\x7b\\x52\\x4f\\xf3\\x7c\\xce\\x79\\x66\\xf9\\x9c\\x9c\\x8e\\xd7\\x2d\\xdb\\x53\\x97\\xa4\\xa4\\xec\\x51\\x43\\x73\\x78\\xd0\\x0c\\x49\\x35\\xd9\\x94\\x37\\x42\\x82\\x49\\xab\\x8c\\xfb\\xd1\\x7b\\x9b\\xcb\\xcb\\xab\\x4b\\xfb\\x0c\\x4d\\xac\\x9f\\xb4\\x7e\\xf3\\xc4\\x9b\\xdf\\x86\\xa5\\x8c\\x6f\\xf5\\x55\\x7b\\x6f\\x1d\\xd3\\x7f\\x58\\x6c\\xed\\xd1\\xd0\\x82\\xe9\\x63\\xaf\\xde\\x7a\\x93\\x56\\x7f\\x25\\x8c\\x99\\x69\\xc7\\xf5\\x57\\x00\\xcf\\xcb\\x9d\\xb1\\x88\\x68\\x4a\\x26\\x45\\x46\\x8a\\x44\\xd2\\x3e\\x6c\\x82\\xa6\\x63\\xa2\\xd5\\x2a\\x7e\\xa6\\x34\\x69\\xa9\\x13\\x44\\x6b\\xd8\\xca\\x98\\xac\\xd6\\x20\\x22\\x2b\\x9c\\x19\\x62\\xab\\x06\\x83\\xae\\x4f\\x95\\xe0\\x07\\x48\\xf8\\x54\\xe1\\xd8\\x5b\\x59\\xc6\\xc7\\xb2\\xe8\\xc3\\x15\\x69\\x68\\x49\\xc3\\xb8\\x34\\xd4\\xa7\\x21\\x93\\x86\\xb3\\x69\\xf8\\x67\\x1a\\xde\\x4b\\xc3\\x1b\\x69\\x78\\x21\\x0d\\x77\\xa7\\x61\\x7b\\x16\\x60\\x30\\x05\\x08\\xa5\\xc1\\x92\\x86\\x25\\x1a\\x1c\\x86\\x78\\x3c\\x0b\\xb4\\x29\\x0d\\x4b\\xd3\\xd0\\x4a\\x41\\x35\\xa0\\x7c\\x5c\\xaf\\xa4\\xe1\\x00\\x85\\xd4\\xc0\\x30\\xc6\\xa6\\x2c\\xc6\\x58\\x16\\xf8\\x53\\x8a\\x2d\\x07\\x80\\x6f\\xd6\\xe6\\x50\\x68\\x5f\\xca\\xa3\\x45\\xae\\xea\\xf6\\x95\\xc7\\xcf\\x43\\xce\\x9c\\xa6\\x9f\\x6c\\x4f\\xc3\\xca\\x34\\xc8\\x69\\xb0\\xa7\\x73\\xd2\\xb1\\xb5\\x97\\x55\\x06\\x73\\x7a\\x73\\xcb\\x74\\x5f\\x87\\xd0\\x4b\\x32\\x48\\xe2\\x43\\x9f\\x33\\xbb\\x2b\\x6f\\x16\\xf5\\xc4\\x0c\\xaa\\xc8\\x4e\\x1c\\x76\\x8d\\xef\\x79\\x6b\\xa7\\xb3\\x31\\x41\\xd5\\xfd\\x69\\xea\\xac\\x1e\\x8c\\x41\\xf3\\x0a\\x18\\x80\\x5d\\xb9\\x24\\x34\\xcc\\x54\\x3a\\xec\\xd0\\x8a\\x11\\xb6\\xfa\\xad\\x95\\x99\\xfe\\x65\\x15\\x43\\x93\\xcb\\x94\\x55\\xd7\\xfc\\x66\\xca\\xb4\\xe7\\x18\\x73\\xe8\\x8d\\xad\\x81\\x97\\xd6\\x98\\x0c\\x53\\x38\\xe1\\x91\\xbe\\xd5\\xa1\\x0d\\xaf\\x86\\xe6\\x34\\x3f\\x97\\xb2\\x4c\\x1f\\xb5\\x81\\xac\\x63\\xe9\\xe0\\xe6\\x30\\x9f\\xd2\\xd8\\xde\\x22\\xd9\\xcf\\x22\\x3c\\xbc\\xf2\\xcc\\x0d\\x2d\\x9b\\xf9\\x9d\\x3c\\x63\\xe7\\x63\\xfc\\x01\\xfe\\x24\\xcf\\xf1\\xb9\\xe0\\x5e\\x6d\\x51\\x0d\\x71\\xf2\\x77\\x18\\x8e\\x41\\x84\\x53\\xd7\\x70\\x73\\x12\\x20\\x15\\xaa\\x3f\\x90\\x79\\x85\\x5f\\xab\\xe3\\xb9\\x89\\xec\\x7e\\x14\\x45\\x33\\xe4\\x0a\\xde\\x8b\\x65\\x46\\x20\\xc2\\xb0\\x51\\xab\\x18\\x15\\x63\\x71\\xc9\\xe1\\x30\\x5b\\x2c\\x71\\x7f\\xc8\\x21\\xb8\\x85\\x49\\x8a\\xdb\\x2b\\x59\\x27\\x2a\\x92\\xc7\\x62\\x87\\xe8\\x44\\x05\\xec\\x48\\x9f\\xf8\\xc9\\x69\\x3c\\xb9\\xf9\\x05\\x67\\x36\\x9b\\x95\\x4f\\x5b\\xd1\\xa3\\x67\\xd3\\xc8\\xce\\xf3\\x11\\xe1\\x57\\x64\\xc0\\x17\\x03\\x9c\\x35\\xae\\xc5\\x74\\x4a\\x2f\\x3b\\xd7\\xa7\\x58\\xd5\\x5f\\xb0\\x03\\x6f\\xae\\x6d\\x8a\\x97\\x35\\xaa\\x5f\\x1b\\x93\\xe3\\xbd\\xd7\\xb3\\x4b\\x1a\\x3a\\x7e\\xbd\\xa6\\x84\\xcc\\xf9\\x4d\\x26\\x73\\x7e\\x07\\x26\\xaf\\xea\\xfb\\xf3\\x9f\\xca\\x47\\x83\\xe9\\x32\\xd6\\x4a\\xfa\\x4d\\x4a\\x55\\xd9\\x97\\xb0\\x6d\\x6d\\x47\\x55\\x72\\x80\\x37\\x30\\x00\\x06\\x33\\x2b\\x39\\x04\\xc1\\x6a\\x40\\x9c\\x95\\xbb\\x47\\xb1\\xb2\\x8c\\x01\\x5b\\x47\\xc7\\x72\\x93\\x39\\x15\\x39\\x87\\x94\\x26\\xe7\\xc8\\xff\\x9a\\xa9\\x93\\xf0\\xb0\\x4b\\x6e\\xb8\\xf6\\x86\\x5f\\xfe\\xed\\xe3\\x53\\xf0\\x77\\xee\\xfd\\x9f\\x13\\xfc\\x87\\x3f\\x27\\xd8\\x94\\xf0\\xa7\\xe7\\x9e\\x7f\\x63\\x0c\\xd6\\x4b\\x16\\xe1\\xf1\\xe1\\x30\\x3b\\xce\\x69\\x30\\x0e\\xa7\\xf3\\x32\\xc7\\xd5\\x66\\xb8\\x1a\\x55\\x60\\x3d\\x71\\x98\\x1c\\xc7\\x3d\\xd4\\x62\\x36\\x33\\x46\\x23\\x23\\x49\\x2e\\xb7\\x95\\x94\\x46\\x16\\xa5\\x46\\xab\\x15\\x8b\\x69\\xfe\\x16\\x05\\x1d\\xc1\\x76\\x08\\x0d\\xcc\\x23\\xe9\\xd7\\x72\\xe3\\x42\\x4e\\xe2\\xba\\x30\\xeb\\x68\\xa3\\x01\\x66\\x21\\x8d\\x51\\x66\\x37\\x8f\\x2c\\xac\\xa9\\xac\\x18\\xb2\\xe4\\x82\\x96\\x4c\\xb3\\xf2\\xa8\\xda\\x1c\\xb9\\xd0\\xd5\\xaf\\x74\\xa2\\xf0\\xab\\xe5\\x96\\x49\\x43\\xe6\\xae\\xd3\\xe4\\xc6\\x38\\x2c\\x77\\xe3\\xfc\\x70\\x64\\x46\\x15\\xb2\\xb7\\x2b\\x3f\\x9e\\x20\\x9b\\xfe\\x4a\\xd6\\x58\\x7c\\xa6\\xb0\\xef\\x67\\xe5\\x57\\xf0\\xad\\x6e\\x59\\xf1\\xf4\\x25\\xb0\\x02\\xd6\\x43\\xe1\\xf6\\xeb\\x45\\xb5\\x46\\xdc\\x31\\xff\\x66\\xcb\\xd9\\x99\\xcc\\x22\\xdb\\xf0\\xe1\\x36\\xa6\\xae\\xa4\\xe1\\x1a\\x3c\\xd6\\x5c\\xce\\x32\\xcc\\xe3\\x78\\xbc\\x33\\x63\\x3b\\xab\\x4c\\x76\\x73\\x1e\\x4f\\xc0\\x64\\xb3\\xf9\\x03\\x4e\\xc3\\xa7\\x8a\\x93\\xb3\\x60\\xd5\\xd7\\x82\\x75\\xe0\\x6e\\x41\\x5d\\xd9\\x95\\x97\\xc4\\x42\\xa4\\xfa\\xad\\x2f\\xab\\xf3\\xd2\\xcc\\x46\\xcb\\x2a\\x46\\x97\\x4e\\x1b\\x31\\x7d\\xf8\\xfc\\xcb\\xa7\\xdd\\xd1\\x3a\\xff\\xf2\\x17\\xd8\\xc6\\x59\\xf7\\x34\\x6d\\xfa\\xf5\\xd6\\x0d\\xa3\\x36\\x2f\\xbf\\xf0\\xe1\\xd9\\x9b\\x97\\xef\\x7e\\x13\\x31\\x9d\\x2a\\xd6\\x6f\\xaf\\xf9\\x1f\\xf5\\x5b\\x0b\\xd6\\x6d\\x85\\x7c\\xfd\\x96\\xc3\\xba\\x2d\\xfa\\x3f\\xd6\\x6f\\x0b\\x53\\xc0\\x56\\x81\\x00\\xfa\\xe9\\xdc\\x7c\\xe0\\x2f\\x9b\\x0f\\x20\\x9e\\xfb\\xfb\\x3c\\xe0\\x36\\xcd\\xc3\\x57\\x63\\xe1\\x6a\\xb8\\x5a\\xbd\\xa7\\x41\\xbd\\x47\\xbf\\x20\\xba\\xa9\\xdc\\xa9\\xf2\\x37\\xf0\\xc3\\xa5\\x22\\xa1\\x83\\xc1\\x43\\x9f\\x94\\x46\\x9b\\x7e\\x44\\x0e\\xc1\\xc8\\xb3\\xee\\x8e\\x7f\\x30\\xd3\\x9e\\x89\\xcb\\x9b\\x37\\x37\\xc6\\x49\\xe6\\xe3\\xcb\\x2f\\xa7\\x67\\x39\\x79\\xd9\\x65\\x8d\\x71\\xf9\\xd2\\x4b\\xf1\\xe1\\x92\\x4b\\xf0\\x61\\xc3\\x06\\x7c\\x58\\xbb\\x16\\x1f\\xd6\\xac\\xc1\\x87\\x55\\xab\\x34\\xf0\\x8b\\x2f\\xd6\\xce\\xcb\\x96\\x69\\xaf\\xd9\\x96\\x2c\\xc1\\x4f\\x17\\x2d\\xc2\\x87\\x85\\x0b\\xb5\\x5b\\xa6\\xf9\\xf3\\xf1\\xaf\\xb9\\x73\\x75\\x80\\x0b\\x2f\\xc4\\xbf\\x5a\\x5b\\xf1\\x61\\xce\\x1c\\xed\\x96\\x7f\\xf6\\x6c\\xfc\\xab\\xa5\\x05\\x1f\\x66\\xce\\xc4\\x07\\x45\\xc1\\x87\\x19\\x33\\x34\\xc4\\xd3\\xa7\\x6b\\xe7\\x0b\\x2e\\xd0\\xce\\xd3\\xa6\\x69\\xe7\\xa9\\x53\\xb5\\x97\\x5d\\x93\\x27\\x63\\xe8\\xe6\\x66\\x7c\\x68\\x6a\\xc2\\x87\\x89\\x13\\xc9\\xfd\\xf6\\x43\\x13\\x26\\x68\\x70\\xe3\\xc7\\xeb\\x1f\\x19\\x3b\\x16\\x3f\\x6d\\x6c\\xc4\\x87\\xd1\\xa3\\xf1\\x61\\xc4\\x88\\xc6\\x78\\xfb\\xf0\\xe1\\x3a\\x89\\xc3\\x86\\xe1\\x5b\\xf5\\xf5\\xda\\x2b\\x43\\x86\\xe8\\x77\\xeb\\xea\\xf0\\xdd\\x41\\x83\\xb4\\xbb\\xfd\\xfb\\xeb\\x88\\xfa\\xf5\\xc3\\x77\\x2b\\x2b\\xf1\\xa1\\xa2\\x02\\x1f\\x8a\\x8b\\xf1\\xa1\\xa8\\x48\\xfb\\x6a\\x32\\xa9\\x97\\x32\\x91\\xc0\\x77\\x63\\x31\\x7c\\x88\\x46\\xb5\\xf7\\x23\\x11\\xed\\x1c\\x0e\\xeb\\x78\\x02\\x01\\xfc\\xd4\\xe3\\xc1\\x07\\x97\\x0b\\x1f\\x24\\x09\\x1f\\xac\\x56\\x0d\\x48\\x14\\xb5\\xb3\\xc5\\xa2\\x9d\\xcd\\x66\\xed\\xa5\\xb1\\x46\\x63\\x23\\xcb\\xb4\\x4a\\xd0\\x44\\x97\\xb4\\xc5\\x25\\xb0\\x4b\\x20\\x11\\xc7\\xd0\\x49\\x13\\xbc\\x62\\x82\\x03\\x26\\x68\\xa2\\x21\\x8b\\x26\\x6c\\x6a\\x91\\xdd\\xf4\\x2b\\x49\\x32\\x13\\x78\\x05\\x41\\x6b\\xf6\\x1a\\xff\\x43\\x2c\\x23\\xf9\\x51\\x7d\\x75\\x35\\x38\\x72\\x03\\x47\\xb5\\x76\\x39\\x5b\\x3f\\x57\\x57\\x67\\xfe\\x5f\\xff\\x23\\x7c\\x57\\x8e\\x10\\xff\\x07\\x9d\\xef\\xe6\\x68\\x7c\\xf7\\x31\\xe6\\x3b\\xb4\\x96\\x1d\\xdb\\xf1\\x0f\\x34\\x50\\x2e\\xc0\\x84\\x30\\xed\\x74\\x69\\x20\\x2d\\x45\\x96\\xf8\\xcd\\x08\\xf6\\x22\\x58\\x41\\xc9\\x46\\x84\\x22\\x8d\\x3e\\x7c\\x58\\x55\\x8d\\x09\\xa7\\xf6\\xd6\\x5c\\xcc\\xd3\\xf7\\xf0\\xa3\\x28\\xee\\xc7\\x29\\xee\\x75\\xb5\\x1a\\x4f\\x17\\x60\\x9e\\x5e\\x25\\x77\\xd6\\xb6\\xb7\\xb7\\x37\\xd6\\xb6\\x63\\xce\\xae\\x6d\\xbf\\xe2\\x0a\\x7c\\xc0\\xbc\\x5d\\x2b\\x63\\xbe\\xae\\x95\\x37\\x6e\\xc4\\x07\\xcc\\xdc\\xb5\\xed\\x98\\xb9\\x6b\\x8f\\x62\\xe6\\xae\\x95\\xd7\\xaf\\xc7\\x3f\\xd7\\xad\\xc3\\x07\\xcc\\xe6\\xb5\\x47\\x31\\x9b\\xd7\\x1e\\x5d\\xbd\\x1a\\xff\\xc4\\xbc\\x5e\\x2b\\xaf\\x5c\\x89\\xaf\\x56\\xac\\xc0\\x87\\xe5\\xcb\\xf1\\x01\\xf3\\x7d\\xad\\x8c\\x99\\xbe\\x56\\x5e\\xba\\x14\\x1f\\x30\\xd7\\xd7\\xb6\\x2f\\x5e\\x8c\\x0f\\x98\\xf5\\x6b\\x09\\xeb\\xd7\\xca\\x0b\\x16\\xe0\\xc3\\xbc\\x79\\xf8\\x80\\x79\\xbf\\x56\\xc6\\x7c\\x5f\\xdb\\xde\\xd6\\x86\\x91\\x62\\xe6\\xaf\\x25\\xcc\\x5f\\x2b\\xcf\\x9a\\x85\\xef\\x61\\xc6\\xaf\\x6d\\xc7\\x8c\\x5f\\x4b\\x78\\xbe\\x56\\xc6\\x0c\\x5f\\x2b\\x63\\x6e\\xaf\\x95\\xa7\\x4c\\xc1\\x87\\x49\\x93\\xf0\\x53\\xcc\\xde\\xb5\\xed\\x98\\xbd\\x6b\\xdb\\x31\\x7b\\xd7\\xca\\x98\\xa7\\x6b\\xdb\\xc7\\x8d\\xc3\\x57\\x98\\xa9\\x6b\\xdb\\xc7\\x8c\\xc1\\x07\\xcc\\xd4\\xb5\\xf2\\xa8\\x51\\xf8\\x30\\x72\\x24\\xfe\\x89\\xd9\\x5b\\xf6\\xd4\\xca\\x98\\xc1\\x6b\\xe5\\x86\\x06\\x7c\\x90\\x65\\x7c\\x17\\x73\\x78\\x2d\\x61\\xa3\\x26\\xcc\\xd9\\xb5\\xf2\\xc0\\x81\\xf8\\x50\\x53\\x83\\x0f\\x03\\x06\\xe0\\x43\\x75\\x35\\x3e\\x54\\x55\\x61\\x30\\xcc\\xdc\\xb5\\xed\\x98\\xb9\\x6b\\xe5\\x3e\\x7d\\xf0\\xa1\\xbc\\x1c\\x1f\\xca\\xca\\xf0\\xbd\\x4c\\x06\\x5f\\x95\\x96\\xe2\\x03\\xe6\\xfa\\xda\\x76\\xcc\\xf5\\xb5\\x72\\x3a\\xad\\xe1\\xf4\\x17\\x14\\xe0\\x5f\\x98\\xef\\x6b\\x09\\xdf\\xd7\\x12\\xbe\\xaf\\x95\\x31\\xd3\\x93\\x87\\x87\\x42\\x21\\x72\\x6e\\x3f\\x14\\x0c\\x6a\\xc0\\x11\\xcc\\xfc\\xb5\\xb2\\xcf\\x87\\x0f\\x98\\xf9\\x6b\\x65\\xa7\\x13\\x1f\\x6c\\x36\\x8c\\x13\\xf7\\x80\\x5a\\xbd\\x07\\xd4\\xea\\x9c\\x4f\\xdf\\xe8\\x27\\x08\\x98\\xf3\\x0f\\x64\\xa0\\x89\\xfe\\xab\\xcc\\x40\\x06\\x76\\x1a\\x60\\xb3\\x01\\x56\\x18\\xa0\\xd5\\x00\\x4d\\x06\\x30\\xa0\\xa6\\x2c\\x93\\x63\\x0e\\xcf\\x74\\x71\\x78\\x96\\xa7\\x1d\\xff\\x3f\\x71\\xf6\\x7f\\xe0\\x77\\x9a\\x5f\\x6c\\x2a\\x5b\\xce\\xbe\\x84\\x47\\x9d\\x14\\xda\\x20\\xc7\\x91\\xd5\\xe9\\x70\\x0b\\xee\\x44\\x22\\x64\\x0d\\x15\\x14\\xba\\x1d\\xf7\\x2a\\x68\\xaf\\x1b\\x48\\x8a\\xc2\\xb8\\x8b\\x35\\xb1\\x2e\\x52\\xb0\\x58\\x28\\xd5\\xe8\\x76\\xb9\\x5d\\xe6\\xa8\\x3f\\x7a\\x77\\x8b\\x5f\\x6a\\x33\\x80\\xdd\\x00\\x34\\x83\\xb0\\x99\\xb9\\x47\\x31\\x6b\\x23\\xf0\\x7f\\x48\\xa2\\x96\\x9f\\x43\\x2d\\x3b\\x42\\xf2\\xee\\x6c\\x72\\x25\\x6d\\xb6\\xad\\x9e\\xa9\\x72\\x09\\x36\\xe8\\x36\\x01\\x37\\x34\\x97\\x3e\\xed\\xb7\\xbf\\xf9\\xaf\\xa3\\x2d\\xf5\\x0b\\x99\\x79\\xd7\\xac\\x83\\xb1\\x7a\\x1e\\xb5\\x4d\\x24\\x77\\x9a\\xfa\\x6e\\xe5\\xbd\\xbb\\x1e\\xff\\x4b\\x3f\\xff\\x6f\\xd4\\x5f\\x07\\x92\\xbb\\xd9\\x27\\x73\\x69\\xd4\\x3a\\x3b\\xb5\\x7c\\x5d\\x86\\xf7\\x9d\\x69\\x54\\x80\\x48\\x7f\\x1e\\x0e\\xb5\\x30\\x11\\xa5\\x64\\x1f\\xe3\\xe2\\xd3\\xcc\\x2e\\x37\\xb4\\xbb\\x21\\xe6\\x06\\xbb\\x1b\\xf6\\xba\\x7d\\x8c\\xb1\\x10\\x32\\xb4\\xea\\x51\\xa6\\x9a\\xce\\xc7\\x9e\\xf7\\xfe\\x7a\\x78\\x06\\xbf\\x5f\\x2a\\xbb\\xe9\\xfb\\xad\\x2e\\x68\\x72\\x41\\xbd\\x0b\\x62\\x2e\\xb0\\xbb\\xe0\\x08\\x28\\x87\\x5d\\xde\\x1c\\x16\\x8a\\x26\\x87\\xe3\\xbb\\x2c\\x0e\\xe6\\x3a\\xb8\\x18\\xe3\\xc8\\xc8\\x91\\xee\\x38\\x2a\\xb2\\x68\\xde\\x75\\x75\\x51\\x72\\x3e\\x2d\\xaf\\xe6\\xf0\\xec\\x81\\x19\\xf9\\x78\\x42\\xd0\\x14\\x82\\xfa\\x10\\x54\\x84\\x20\\x46\\x43\\xf5\\xfe\\x14\\x4a\\xff\\x0f\\x78\\x1e\\xcd\\x95\\x69\\x09\\x5c\\x88\\xf1\\x98\\x0f\\xb3\\x04\\x0f\\x86\\xea\\xa2\\xf9\\xf2\\xdc\\xb7\\xee\\x81\\x29\\xe8\\x69\\xe4\\x95\\x45\\x96\\x29\\x64\\x59\\x06\\x79\\xc3\\xbc\\x01\\xa3\\xae\\x26\\x42\\xae\\x1a\\xeb\\x13\\xad\\x08\\x09\\x95\\x58\\x4f\\x4c\\xa1\\x34\\xfa\\x44\\xbe\\x24\\x1d\\x89\\x16\\x84\\x43\\xa8\\xb0\\x30\\xa4\\xe5\\x92\\x0a\\x85\\x52\\x3e\\x2b\\xcb\\x16\\x15\\x47\\x53\\xa9\\xa2\\x54\\x34\\x44\\xd3\\x47\\x69\\x69\\xa5\\xcc\\xe1\\x48\\x3a\\xd2\\xa6\\x14\\xa4\\xed\\x34\\xbf\\x54\\xda\\x9c\\xd6\\x32\\x4c\\x25\\x02\\xbd\\xe4\\x97\\xf2\\x06\\x9c\\x85\\x26\\x92\\x62\\x4a\\xe6\\x9b\\xf9\\x36\\x9e\\x45\\xf4\\xb4\\x97\\x3f\\xc8\\x1f\\xe5\\x0d\\x26\\x96\\x27\\x7c\\x2a\\xfa\\x43\\x8d\\x7c\\x36\\x05\\x55\\x96\\x23\\x33\\xad\\x73\\xf2\\x36\\x3f\\x68\\xd5\\xbc\\x34\\x5d\\x6e\\x9b\\xec\\x4c\\x4e\\xd6\\x61\\x53\\xd5\\x23\\x22\\x29\\xe7\\xb2\\xc1\\xa7\\xff\\x35\\x51\\x95\\xa6\\x89\\xd7\\x03\\xb8\\x80\\xad\\xdb\\x21\\x72\\xeb\\xea\\x5a\\x0c\\xcb\\xee\\x3c\\x3e\\x1d\\x42\\x5a\\xce\\xaa\\xcf\\x5a\\x7e\\x3c\\x36\\x6d\\x5e\\xcb\\xd4\\xb3\\xf7\\x8b\\x4f\\x0d\\x51\\xe7\\xa9\\xb7\\x89\\x6a\\xb3\\x78\\x39\\x3b\\x7e\\xa5\\xda\\x97\\xfb\\xd4\\x39\\xfa\\xfc\\x14\\x56\\x24\\xb1\\x1b\\x5d\\x71\\x7a\\x82\\xb9\\xb2\\x63\\x33\\x1d\\x53\\x46\\xa9\\xcd\\x24\\xe7\\x19\\x6e\\x9f\\x34\\x6d\\xc3\\x8d\\x70\\x12\\x37\\x6e\\x48\\x36\\xeb\\x3b\\x6b\\x48\\x09\\x38\\xd2\\xb9\\xe7\\x70\\xa2\\x82\\x35\\x69\\x1c\\xa0\\xb7\\x3d\\xcd\\xf3\\x45\\xf9\\xb9\\x58\\xef\\x0f\\xa5\\xb8\\xed\\x5d\\xb2\\x05\\xc2\\x7c\\x1a\\x16\\x46\\xe2\\x01\\x96\\x34\\x6b\\x8e\\x57\\x7a\\xc2\\xaf\\x87\\x5b\\x30\\xbc\\xe7\\x30\\x05\\x3f\\x02\\xb6\\xc3\\xe1\\x58\\xd7\\x1b\\x39\\xf8\\xef\\xb2\\xf0\\x98\\xd7\\xb7\\xe5\\xe1\\x7f\\x33\\xdc\\x3b\\xfe\\x47\\x73\\xf8\\x97\\xc0\\x12\\x0c\\xef\\x93\\xad\\x0c\\x79\\x81\\x81\\x5f\\x66\\x0a\\xb5\\x37\\xc8\\x2b\\xfa\\x3b\\x34\\x6f\\x12\\xa5\\xa9\\x4c\\x2b\\x03\\x9a\\xa8\\x7f\\x43\\xc4\\xdf\\x68\\xb5\\x4a\\xb4\\xcc\\x5d\\xdf\\x20\\xf0\\x97\\xe7\\xc1\\xaf\\x47\\x77\\xe6\\xc1\\xff\\x5d\\xb4\\xf7\\x02\\xbf\\x86\\x96\\xa1\\x4c\\x2b\\x03\\x5a\\x9b\\x07\\x7f\\xbd\\xd8\\x1b\\xfe\\x65\\xb4\\x0c\\x1a\\xfe\\x25\\x68\\x5d\\xb6\\x0c\\x22\\x29\\xc3\\xde\\x90\\x47\\x7b\\x23\\x5b\\x86\\xbc\\x5c\\x70\\x64\\xdd\\xe7\\x34\\xb9\\xd2\\xeb\\x0b\\xb2\\x21\\x93\\x68\\x0d\\x71\\x46\\x17\\x32\\xa2\\x78\\x22\\x68\\x12\\x31\\x97\\xfb\\x44\\xd1\\x6e\\xb0\\x7b\\xdb\\x14\\xbb\\x15\\xf7\\x17\\xd6\\x80\\xfb\\x09\\xc9\\xce\\x63\\x70\\xf7\\x48\\xc9\\x57\\xd5\\x23\\xd1\\xb1\\x2f\\xeb\\x55\\xa4\\x89\\xe1\\xc8\\xa6\\x26\\x24\\x2f\\x08\\xa2\\x79\\xe3\\x48\\x8a\\x63\\x92\\x3b\\x8e\\xdf\\x9d\\xcb\\x0e\\xa7\\xec\\xf7\\xee\\x9f\\xb9\\xcf\\xca\\x98\\x48\\xce\\x38\\xf5\\x84\\x7a\\x61\\xe1\\x0c\\x00\\x8f\\xaa\\x4e\\xa7\\xa9\\xe4\\x58\\xb7\\x9e\\x2b\\x0e\\x3a\\x36\\x42\\x67\\x70\\x8c\\xfa\\x91\\xfa\\x77\\x38\\xa1\\x8a\\x1b\\x55\\x87\\x11\\x16\\xe0\\xf2\\xd3\\xbc\\x3c\\x54\\x2e\\xf5\\xd5\\xe5\\xd2\\xb7\\x7a\\x7d\\xb9\\x71\\x7d\\x1d\\x0b\\x17\\x89\\xdd\\xda\\x5c\\xcb\\x8f\\x43\\xdb\\xa3\\x9f\\xce\\x83\\x97\\x69\\xf0\\x4c\\x14\\x57\\xd7\\xf0\\x58\\xd2\\x19\\xfc\\x1f\\xe1\\xd7\\xc3\\x3f\\xf3\\xe0\\xcf\\x44\\x13\\xbd\\xc2\\x7f\\x97\\x85\\xc7\\x3c\\xf8\\x9b\\x3c\\xf8\\xdb\\xa3\\xbd\\xe3\\x7f\\x35\\x07\\xbf\\x07\\xde\\xca\\x83\\x7f\\x22\\xdd\\xb7\\x57\\xf8\\x47\\x73\\xf4\\x2c\\x81\\xd7\\x31\\x7c\\x48\\x96\\x58\\xf2\\x02\\xcb\\xd8\\xcb\\x61\\x5f\\x79\\x11\\x7d\\x69\\x76\\x57\\x9b\\x03\\x3a\\x8c\\x54\\xce\\xc4\\x4d\\xc5\\x06\\xeb\\x04\\xb9\\x0f\\xc7\\x20\\x83\\xd1\\x6c\\x36\\x30\\xac\\x68\\x6d\\x63\\xb1\\x1e\\x50\\xc9\\x36\\xb3\\x6d\\x34\\x45\\xab\\x01\\xb1\\x71\\xfa\\xb3\\x9d\\x3d\\xc8\\x9e\\x62\\x4f\\xb3\\x46\\x56\\xcf\\x96\\xca\\x66\\xb3\\xa5\\xe6\\xed\\x9c\\x41\\x17\\x1a\\x99\\xa0\\xc6\\x04\\x3e\\x13\\x08\\xcc\\x1c\\xf5\\x85\\xf9\\x30\\x42\\x7d\\x71\\x11\\x34\\xc0\\xa8\\xf9\\xea\\x8b\\x30\\x62\\x3e\\xd3\\xa0\\xbe\\xb8\\x00\\x46\\x41\\xc3\\x22\\xf2\\x73\\x81\\xfa\\xa2\\xfa\\xfc\\x02\\x92\\x23\\xf2\\xdd\\xce\\x13\\x06\\x17\\xbf\\x82\\xe6\\xa8\\x29\\x42\\x8a\\xdc\\x2f\\x11\\x48\\xfa\\x39\\x6f\\x4c\\xb2\\x32\\x3c\\xe7\\xf4\\x72\\x42\\xcc\\xee\\x14\\x9c\\xc5\\x25\\x49\\x7f\\x22\\xc0\\x85\\x0a\\x2c\\x58\\x66\\x33\\xbc\\x64\\xe5\\x90\\xcd\\xc2\\xa1\\x82\\x56\\x45\\xcb\\xe0\\x42\\x27\\x45\\xe9\\xe2\\x7a\\x1a\\xa3\\xda\\x7d\\x91\\x29\\x5d\\x13\\xc7\\x27\\x8b\\xc8\\x86\\x31\\xb9\\xa5\\xc8\\x02\\x4d\\x69\\x04\\x6e\\x1f\\xd0\\x2c\\x3c\\x85\\xfd\\x8b\\x80\\xe6\\xe1\\x61\\x36\\x7f\\x70\\xc7\\xdd\\xb7\\x7d\\xb6\\x96\\xa4\\xde\\xf9\\xc7\\x9d\\xfb\\x6e\\xfa\\x76\\xe9\\x09\\xf5\\x41\\x55\\x32\\x32\\x2f\\x36\\x1e\\xda\\xf8\\xd6\\x16\\xe6\\x0b\\xa1\\x63\\xf4\\xe8\\xff\\xba\\xfc\\xb7\\x5b\\xdd\\x97\\xdc\\xfd\\xd9\\x8d\\xa7\\x48\\xe6\\x9d\\xad\\xfb\\xbe\\xbb\\xe1\\x35\\x92\\xe6\\x08\\x7e\\x1a\\x97\\x61\\x9e\\x7f\\xfe\\xb8\\x7a\\xf5\\xe3\\x15\\xb5\\x1d\\xa3\\x1f\\xa5\\x79\\x78\\x70\\x5b\\xd1\\xdc\\x29\\x94\\x77\\x06\\xea\\xbc\\xb6\\x47\\x93\\x5f\\x11\\x22\\xbf\\x3a\\xbf\\x3e\\x1c\\x4d\\x20\\xa9\\x4b\\x7e\\x9d\\x07\\xbf\\x9e\\x89\\xeb\\xbc\\x4c\\x5e\\x78\\x22\\x12\\xef\\x82\\xce\\xc3\\xff\\x5d\\x16\\x9e\\xb9\\x8e\\x81\\x3c\\xf8\\x0b\\x22\\x89\\x5e\\xe1\\x1f\\xcd\\xe1\\x5f\\x02\\x67\\xb3\\xb2\\x22\\x42\\x64\\xc5\\xfc\\xb2\\xb4\\xf6\\x46\\x97\\xbc\\xd3\\x72\\x3f\\x50\\x9a\\xea\\x74\\xfe\\x7f\\x5d\\xff\\x86\\x07\\x7f\\xe3\\x97\\x1e\\xbf\\xd1\\xd1\\xf5\\x0d\\x22\\x5b\\xb0\\x4c\\x7d\\x9a\\xe6\\xfe\\x0c\\xa3\\x39\\x72\\xb5\\x5d\\x30\\x84\\xb9\\x50\\x48\\x92\\xbc\\x1e\\xc6\\xe2\\xb1\\x44\\xa2\\x21\\xaf\\xdf\\xdb\\xaa\\x84\\x0d\\x58\\xac\\x08\\xf8\\xcf\\x1e\\xb3\\x33\\x26\\x36\\x6c\\x0f\\xdb\\x5d\\x7e\\x56\\xf2\\xb8\\x3c\\xad\\x8a\\xcb\\x99\\xb7\\x8a\\x58\\x8b\\x75\\xc8\\x74\\x0b\\x7b\\xcb\\x2d\\x77\\xcc\\x65\\xfa\\xa4\\x19\\xd5\\xb5\\x98\\x06\\x2d\\x4d\\x19\\xc3\\xf4\\x07\\xe5\\xd2\\x4d\\xa5\\x8b\\xbf\\x78\\xef\\xef\\xea\\xfb\\xea\\x0f\\x37\\x45\\x1e\\xb5\\x76\\x5c\\x99\\xcb\\x46\\x17\\x86\\x8d\\x30\\x69\\xeb\\x15\\x1d\\x4f\\x30\\xaf\\x3e\\xfb\\xc4\\x47\\xff\\x7c\\xb4\\x2b\\x39\\xdd\\x1e\\xe2\\xfb\\x79\\xa6\\xf3\\x4b\\xf6\\x0b\\xfe\\x01\\xd4\\x1f\\x97\\xa0\\x4a\\x0c\\x16\\xa6\\xd3\\xa5\\x28\\x18\\x2c\\x89\\x55\\x56\\xba\\x0d\\x25\\x86\\xea\\x01\\x6e\\xd4\\x2f\\xc2\\x95\\x9b\\xca\\x93\\x4d\\x4a\\x39\\x14\\x95\\x4c\\x54\\x8a\\x3c\\x26\\xc7\\x44\\x45\\xb6\\x35\\xdb\\x18\\x9b\\xcd\\xe4\\xcd\\xcd\\xd7\\xe7\\xed\\xab\\x92\\xb7\\x3c\\x35\\x9b\\x1c\\x8e\\x2e\\xfe\\xf0\\x51\\x77\\x50\\x5e\\xac\\x31\\x0d\\x31\\xa6\\xb1\\xd4\\x9a\\x8b\\x91\\x2c\\xaf\\xc0\\xa5\\xd2\\x17\\xe9\\x08\\x98\\x67\\xbf\\xed\\xd3\\x77\\x54\\xc5\\x9b\\xbf\\x68\\x5e\\x19\\x4c\\x35\\x38\\x4a\\x6b\\x86\\x4d\\x08\\x94\\x37\\x8c\\xbe\\x74\\x9e\\xd8\\x77\\x40\\xe3\\xf4\\xf4\\x3e\\xf5\\x7e\\xcb\\x05\\x77\\x94\\x7f\\x7d\\xf2\\xc0\\x03\\x96\\x75\\x97\\xb0\\xc9\\x8a\\x0b\\x07\\x4f\\x5b\\x35\\xec\\xa1\\xa3\\x21\\xdb\\x87\\xd7\\x14\\xb6\\x4e\\x2d\\x1b\\x37\\x76\\xc2\\xb4\\xd5\\x2b\\xf6\\x47\\x5a\\xfa\\x4f\\x99\\xfc\\x5f\\xef\\x9d\\x6b\\x6c\\xf0\\xb3\\x73\\x00\\xfd\\xe3\\xa1\\xfb\\xab\\x9b\\x5a\\x49\\x7b\\xd3\\x9c\\x00\\xfc\\x4e\\xdc\\xde\\x23\\xf4\\xf1\\x6d\\x1f\\x6e\\x57\\x22\\x8f\\xe2\\x8e\\x34\\xb3\\x20\\x51\\x60\\x76\\x76\\xe3\\x29\\x0c\\xcf\\x19\\xf2\\xe0\\xd7\\x03\\x49\\x98\\xe6\\x39\\x4c\\xc1\\x8f\\x40\\xec\\x70\\x3c\\xd5\\xf5\\x46\\x0e\\xff\\x43\\x59\\x78\\x3c\\xbe\\x1d\\xcd\\xc3\\xbf\\x35\\xde\\x0b\\x7e\\xf6\\x3d\\x7e\\x4d\\x0e\\x7e\\x0f\\x7a\\x20\\x0f\\x7e\\x63\\x71\\x55\\x2f\\xf0\\x27\\xf9\\x99\\x39\\x7a\\x96\\xa0\\xc7\\xa8\\x6e\\x82\\xe5\\x23\\x7e\\x81\\x65\\xee\\xab\\x80\\x2d\\x15\\x25\\xf4\\xa5\\xd9\\xf9\\x7c\\xae\\xbd\\xf7\\x46\\xee\\x3b\\xf7\\xa0\\x83\\xf8\\x01\\xee\\x1b\\xfa\\x7b\\xdb\\x52\\xda\\x4b\\x5d\\x32\\x95\\x45\\xc1\\xce\\x7f\\xf2\\x77\\xb1\\xaf\\x21\\x13\\xea\\x83\\xea\\xd1\\x62\\x79\\x20\\xf2\\x7a\\x93\\x95\\x95\\x55\\x66\\x56\\xaa\\xad\\x2d\\x8e\\x70\\x52\\xb1\\x24\\x0f\\x2b\\x1b\\xd0\\xa4\\x98\\xcb\\xa4\\xe4\\x90\\xc2\\x21\\x93\\xc8\\x3c\\xa5\\xbb\\x49\\x41\\xc8\\x1a\\x8f\\x07\\x9a\\x95\\x70\\xdc\\x6b\\x15\\x9a\\x14\\xab\\x9e\\xc1\\x3c\\x9b\\xc1\\xb3\\xe7\\x4c\\xf3\\xa0\\xae\\xed\\xb0\\x74\\xef\\x9e\\x3e\\x2d\\x61\\x28\\xca\\x6d\\x41\\x21\\x18\\xba\\x96\\xff\\xa7\\x92\\xf9\\xe9\\x17\\xbc\\x6c\\x11\\x8d\\xf7\\xe8\\x4a\\x11\\xc0\\x5e\\x3d\\x65\\xfb\\x84\\xbe\\xe1\\xd1\\x5b\\x52\\x55\\xd7\\x0e\\xbd\\xe1\\xbe\\x6b\\xce\\x3e\\xc0\\xcf\\x9d\\x55\\xb5\\x50\\x29\\x9b\\xfe\\xdb\\xb6\\xce\\xc6\\x89\\x0f\\xcc\\x69\\xbf\\xe7\\x4e\\xb0\\xef\\x1d\\x78\\xf7\\xeb\\xec\\xd4\\x31\\xfd\\x97\\x14\\x8e\\xbb\\x76\\xca\\xa8\\xfa\\xb2\\x4d\\x70\\xce\\xd4\\xb4\\x76\\x48\\x69\\xe9\\xef\\xff\\x9d\\x2c\\x58\\x39\\x5b\\xb9\\xe3\\x22\\xab\\xbb\\x72\\xd5\\xa6\\xd4\\xe0\\xfa\\x31\\x93\\x9f\\x9e\\x35\\xfd\\x17\\xf7\\xee\\x87\\xcc\\x93\\x85\\x1d\\x8b\\x1b\\x2e\\xff\\xae\\x25\\x5d\\xb8\\xf3\\xfb\\x2b\\x96\\xae\\xbb\\x00\\xd7\\x6b\\x54\\x6d\\x26\\xb9\\x0e\\x70\\xbd\\x8e\\xd2\\x74\\x45\\x44\\xf2\\x58\\x78\\x9f\\x05\\x29\\x06\\x28\\x86\\xa5\\xe0\\xca\\xc3\\xb1\\x72\\xd6\\x4c\\xf5\\x44\\xac\\xfb\\x6b\\xeb\\xf4\\x29\\x3f\\x35\\x62\\x78\\x03\\x1a\\x3e\\x4f\\x6b\\xed\\x24\\x6e\\xed\\x89\\xa9\\xb4\\x13\\xe5\\xf1\\x12\\x81\\x7d\\x3d\\x07\\x4b\\x74\\xab\\x8f\\x35\\xde\\x4b\\x52\\xde\\x33\\x1f\\x4e\\x16\\x9e\\x07\\x7f\\x13\\xe5\\xbd\\x46\\x9d\\xf7\\x6e\\x46\\x5d\\xd8\\xb7\\x24\\xf3\\xb0\\xa3\\x2c\\xfc\\xc5\\x94\\x97\\x34\\x5a\\x96\\xac\\xd7\\x39\\x22\\x49\\x38\\x62\\x53\\xdf\\x8c\\x06\\xaf\\x71\\x04\\x86\\xaf\\xc0\\xc2\\x43\\xa5\\xf4\\x7c\\xaf\\xf5\\x9d\\xce\\xcd\\x1a\\x7e\\x30\\x3a\\xd2\\x50\\x62\\x12\\x59\\xa1\\x1b\\x7e\\x0c\\xcf\\x1c\\xcb\\xc1\\x1b\\xd0\\xfa\\xd3\\x5d\\xd0\\xc7\\x8d\\x96\\x2e\\x68\\xc2\\x9f\\x18\\xf6\\x11\\x4a\\x3b\\x85\\x65\\xae\\xdb\\xd7\\x05\\x7b\\x81\\x51\\xec\\x06\\x4b\\xf0\\x3e\\x40\\xe9\\xd6\\xf0\\x2e\\x79\\x1c\\x69\\x52\\x1e\\x03\\x33\\xb0\\xc2\\xe7\\xd0\\xa0\\x75\\x4e\\x66\\x50\\x0a\\x97\\xf3\\x77\\xfc\\x21\\x14\\x42\\x25\\x68\\x99\\x5c\\x17\\x76\\xf8\\x52\\x29\\x23\\x1f\\x40\\x4c\\xd0\\xe0\\x30\\x98\\x1d\\xe6\\xd2\\x4c\\x00\\x19\\x79\\xce\\x10\\xf4\\xa5\\x3d\\xe9\\x26\\xc5\\x1e\\x8c\\x05\\x19\\x91\\x0d\\x7a\\x82\\x1e\\xd6\\x66\\x8b\\x91\\xfc\\x1a\\x06\\x03\\xb6\\xcb\\x9a\\xf0\\xa0\\x9c\\x35\\x79\\xba\\xcd\\x4b\\xf7\\xd8\\xe4\\x0d\\x5f\\x55\\xe9\\x93\\xcf\\x58\\xea\\x79\\x7d\\x85\\x76\\xf0\\x3a\\xe8\\xea\\xbe\\x6c\\xf8\\x44\\xba\\x88\\xaf\\x61\\xb5\\x15\\x8a\\xfa\\x26\\x5b\\x8c\\x38\\x51\\x71\\xdd\\x71\\x2d\\xd4\\x7a\\xff\\xf0\\xc7\\xed\\xff\\xba\\x7f\\xdf\\xa9\\xad\\x3f\\xde\\x57\\x37\\xc8\\x34\\x5d\\xfd\\xdc\\x1b\\x6f\\x1c\\x3c\\x6c\\xc3\\xa8\\x61\\xf5\\x43\\x2f\\x1d\\xcb\\xbd\\xda\\x10\\x5d\\x56\\xd0\\xf2\\xf0\\x65\\x2b\\xde\\x50\\x9f\\x7e\\x53\\x7d\\xee\\xe0\\x6f\\xf7\\x3d\\xfc\\xf3\\xb5\\xd6\\x6d\\x2b\\x6f\\xbd\\xe2\\xdc\\xcb\\x0b\\x16\\xdc\\xfe\\xd3\\xf6\\x96\\xb6\\x5b\\xbf\\xa5\\x75\\x4f\\xd6\\x81\\x7a\\xa8\\x5c\\x99\\xa4\\xcb\\x95\\xbf\\x52\\x39\\xe1\\x80\\x20\\xae\\xd1\\xfa\\x24\\x54\\x24\\x61\\x7b\\xb2\\x5c\\xf0\\x68\\x9c\\x99\\x6b\\x33\\xba\\x0e\\x93\\xb6\\xd9\\x64\\x8d\\x3f\\x97\\x6a\\x1c\\x14\\xc2\\x55\\x5b\\x19\\x8e\\x49\\xbe\\xbc\\x76\\x20\\xb0\\x2f\\xe6\\x60\\x09\\x7f\\xfe\\x19\\x75\\x41\\xbf\\x17\\x8a\\x76\\x41\\xe7\\xe1\\x7e\\x28\\x0b\\x8f\\xf9\\xf3\\xd1\\x3c\\xf8\\x35\\xa1\\x58\\x2f\\xf0\\x9a\\x6c\\x9c\\xdc\\x43\\x36\\x12\\xf8\\xf6\\x54\\x9f\\x5e\\xf1\\xcf\\xcc\\xd1\\xb3\\x04\\xdd\\x9f\\x95\\x71\\x21\\xc2\\xd1\\x57\\x96\\x16\\x68\\x6f\\xe4\\xc9\\xb8\\x79\\xe8\\x17\\x5c\\x98\\xbb\\x93\\xee\\x6f\\x17\\x22\\x6b\\x08\\x03\\x56\\x97\\x55\\x10\\x80\\x01\\x26\\x12\\x36\\x73\\x07\\x15\\x33\\x32\\x4b\\x66\\xc6\\xc4\\x83\\xd9\\xa6\\x20\\xc9\\x26\\x79\\x0f\\x2a\\x12\\xee\\x07\\xd9\\x98\\x10\\xbf\\xf4\\x3a\\xf1\\xfa\\x60\\x2e\\xc8\\xe5\\xcf\\xe8\\x9a\\x89\\x26\\x69\\xfe\\xff\\xc3\\x56\\x0d\\x5c\\xf8\\x5c\\x23\\xbc\\x37\\x70\\xe2\\xc4\\x81\\x79\\x7f\\xcc\\x37\\x3b\\x77\\x76\\x1c\\xcf\\xfe\\x64\\xde\\xc9\\x5e\\x61\\x7d\\xf2\\x77\\x9d\\xfb\\x39\\x9e\\x55\\xb1\\x3e\\x19\\x41\\x05\\x68\\xaa\\xdc\\x27\\xe5\\xf3\\x26\\xbd\\x1c\\x55\\x27\\x85\\x24\\xd1\\x25\\x0b\\xd3\\x29\\x6f\\xd2\\xc7\\x05\\xa2\\x96\\x40\\x53\\x4e\\x97\\x94\\x50\\x94\\xb0\\xad\\xf7\\x3f\\xea\\x92\\xf8\\x46\\x3f\\x7d\\xa5\\x53\\x97\\x2a\\x39\\xa0\\x4b\\x95\\x34\\x98\\x34\\x45\\xd2\\xe3\\x23\\xe9\\x24\\xc0\\x0b\\xb7\\xb7\\xb7\\x2c\\xdd\\xfc\\xd0\\xb4\\x1b\\xce\\xde\\xbb\\xa5\\x65\\xd1\\x65\\xf7\\x4d\\xbd\\xe1\\xac\\xfa\\x2f\\x58\\x17\\x99\\x52\\xbf\\x69\\xdc\\xd6\\xfa\\x4b\\x46\\x81\\xba\\x33\\xe5\\x1e\\x72\\xf9\\xcb\\x4b\\x1e\\x20\\x0b\\x69\\xe5\\x4b\\x9f\\x5b\\x7a\\x1f\\x59\\x4b\\x0b\\x4d\\xf0\\xf4\\x3a\\xb2\\xcc\\xf6\\xcc\\xcd\\xff\\x7d\\x8b\\x3a\\x79\\x39\\x6d\\x2f\\xba\\x36\\x8f\\xf2\\xcf\\x0c\\x7d\\x2c\\x7e\\x45\\x97\\x27\\x84\\x47\\xfb\\x87\\xa2\\x9e\\xee\\xf2\\xa4\\x27\\xfc\\x7a\\xf4\\x73\\x1e\\xfc\\x13\\xc1\\x48\\xaf\\xf0\\x0f\\x65\\xe1\\x31\\xbf\\x7d\\x9c\\x07\\x3f\\x2b\\xd8\\x3b\\xfe\\x99\\x39\\xfc\\x4b\\xd0\\xef\\x90\\x2e\\x59\\x82\\x44\\xb2\\xb4\\x95\\xa4\\x3c\\x42\\x0f\\x7b\\x99\\xae\\xd5\\xa2\\x34\\xcd\\xd2\\x69\\xba\\x8b\\xca\\x68\\x48\\x39\\x88\\x0d\\x5f\\x74\\x38\\x95\\x36\\x77\\x49\\x5d\\xa6\\x53\\x51\\xc7\\xe3\\x3e\\x43\\xf2\\x66\\x94\\xc0\\xf5\\x72\\x67\\x18\\xa1\\xd2\\x8c\\x90\\xc2\\x2d\\xe9\\x72\\xd1\\x9c\\xa1\\xa5\\xf6\\x64\\x2c\\x59\\x91\\x64\\xcd\\x3c\\x16\\x17\\xb1\\x40\\x6c\\x92\\xe2\\x15\\xb8\\x80\\x44\\x17\\xad\\x21\\x92\\x3c\\x74\\xa2\\x82\\x0d\\xd9\\x34\\x59\\x5a\\x7c\\x77\\x06\\x5a\\x32\\x30\\x38\\x03\\x99\\x0c\\xb8\\x33\\xc0\\x65\\xe0\\xd3\\x0c\\x1c\\xcc\\xc0\\xde\\x0c\\xdc\\x9a\\x81\\xf6\\x0c\\x4c\\xcd\\xc0\\x88\\x0c\\xf4\\xcf\\x40\\x3c\\x0b\\xb0\\x10\\x43\\xfc\\x31\\x03\\xc7\\xb2\\x40\\x5b\\x33\\xb0\\x36\\x03\\xf3\\x28\\x5c\\x41\\x1e\\x96\\x87\\xb2\\x28\\xd6\\xe6\\x3d\\x42\\x19\\x60\\xce\\x64\\xe0\\x54\\x06\\x8e\\xd2\\xf7\\xf1\\xe3\\x95\\x19\\x68\\xcb\\x80\\x4c\\x9f\\xd5\\x9c\\xee\\x7e\\xb7\\x92\\x7e\\x17\\x3f\\x38\\x9d\\xf7\\x8e\\x06\\xdd\\x99\\x81\\x0f\\x33\\x70\\x12\\x5f\\x4b\\xaf\\xd0\\x37\\xda\\xb2\\xb0\\x42\\x2f\\xeb\\x45\\x7a\\xcf\\x4a\\xf6\\x9f\\xe7\\xc0\\xb3\\xcb\\x10\\xba\\x2f\\xbc\\xa6\\x29\\x7b\\xf4\\x45\\xb3\\xd9\\xf9\\x5e\\x2d\\xf2\\xbd\\x6b\\xf5\\x35\\x89\\x09\\xd5\\xb4\\x6c\\xe2\\x82\\x32\\x83\\xb6\\x68\\x9f\\xef\\x9e\\x34\\xe9\\xc5\\xab\\xbe\\xba\\xb9\\x70\\x5e\\x9c\\x17\\x8a\\xb5\\x45\\xd8\\x50\\x32\\x57\\x84\\xd5\\x95\\xd5\\xae\\x81\\xf7\\x4d\\x5b\\x75\\x8d\\xfa\\x93\\x5c\\x9d\\x58\\x5c\\x4c\\xf2\\x27\\x35\\x5e\\x3a\\x8a\\xd9\\x70\\x48\\xfd\\xc3\\xe3\\x2e\\x5b\\x6d\\xd5\\x59\\xb2\\x14\\xdb\\x70\\x4b\\xa0\\x4e\\xfd\\x4a\\x7d\\x7b\\xe0\\x94\\x96\\xa7\\x4e\\x2c\\xdc\\x34\\x79\\x50\\xc7\\xfb\\xae\\xc8\\xf6\\x33\\x5d\\x7c\\x34\\x53\\xe7\\x23\\x3c\\xa6\\x8d\\xd3\\x39\\x2f\\x45\\x38\\xef\\x99\\x7e\\x65\\xe6\\x6e\\x63\\xb1\\xee\\x43\\x9c\\x9b\\xf3\\x21\\x6e\\x87\\x59\\xd8\\x6e\\x89\\xe9\\xbe\\xd3\\x9c\\xc7\\xf3\\xcf\\x2e\\x4f\\xd6\\x4d\\xd9\\x53\\x87\\xf4\\xe4\\x74\\xc1\\xed\\xe8\\x39\\xb2\\x2c\\x46\\x36\\x33\\xf6\\x38\\xec\\x88\\x27\\x75\\xed\\x31\\xcf\\x9f\\xf9\\x4d\\xee\\x3b\\x77\\xc1\\xe2\\x3c\\x1f\\xad\\x96\\x91\\xae\\x82\\x66\\x94\\xb3\\x7b\\x31\\xbf\\x33\\x87\\xbd\\xd1\\x9e\\x3e\\x5a\\xfd\\x7b\\xf7\\xe7\\xbe\\x77\\x17\\xba\\x81\\xf6\\x2b\\x1b\\xd5\\x71\\x2b\\x52\\x70\\x79\\x2a\\x93\\xfd\\x66\\xce\\x8f\\xaa\\x4e\\x26\\x7b\\x41\\xe4\\xbe\\x7b\\x2f\\xf3\\x89\\x4e\\xe3\\x8a\\x08\\x58\\x23\\x11\\xb3\\x29\\x47\\x23\\xf2\\xab\\x93\\x49\\x9e\\xaf\\x1c\\xfe\\x7b\\xe1\\x29\\x0c\\x1b\\x97\\xbd\\xcc\\xa9\\x52\\x68\\x2e\\x05\\x99\\xae\\xa1\\x46\\xa5\\x30\\xaf\\xb4\\x94\\x65\\xba\\x88\\xa3\\xbe\\x3e\\xb2\\xbf\\x01\\xb5\\xff\\xd2\\xba\\x7e\\xff\\x83\\x66\\xc3\\xc6\\xa8\\x0f\\xce\\x7a\\x38\\x96\\xec\\xf2\\x48\\x11\\x7d\\x2f\\xa7\\x93\\x8d\\xea\\xa6\\x93\\x41\\x84\\xf6\\x77\\xf1\\x70\\x24\\x4e\\xb5\\xbd\\x2c\\xbc\\x86\\xff\\xbb\\x2c\\x7e\\xe6\\x3a\\x78\\x53\\xb7\\x2f\\xc9\\x07\\xf6\\xc7\\x52\\xdd\\xfd\\x5d\\x14\\xff\\x33\\x54\\x66\\x8d\\xd2\\x65\\xd6\\xb3\\xba\\xcc\\x22\\x1f\\xd8\\x17\\x49\\x74\\x61\\x47\\xbd\\xe1\\xbf\\x1b\\x7e\\xa7\\xe3\\x2f\\xc6\\xf8\\x5f\\x8f\\x15\\xf6\\x82\\x7f\\x45\\x1e\\xfe\\xbb\\xa9\\xbc\\x22\\xf0\\x69\\x8c\\x7f\\x6f\\x24\\xf5\\xbf\\xe0\\xdf\\x96\\xa3\\x3f\\x81\\xf1\\x7f\\x9c\\x8a\\xf5\\x82\\xff\\x0f\\x79\\xf8\\xb7\\xa1\\x3d\\x3a\\xfe\\x18\\xc6\\xff\\x5a\\x22\\xd2\\x1d\\xbf\\xe6\\xab\\xa3\\xf8\\x8b\\x74\\xfc\\xeb\\x75\\xff\\x50\\x10\\xf3\\xd7\\xde\\xb0\\xdf\\x29\\xf6\\xb0\\x7f\\xbe\\x34\\xb0\\xfc\\x0e\\x29\\x8d\\x46\\x13\\x78\\xa3\\xca\\x7e\\x81\\x06\\x23\\x27\\xe6\\x8b\\x42\\xc4\\x1c\\xee\\xdf\\xdf\\x6e\\xa7\\xe0\\xf5\\xd5\\x59\\xdc\\xfc\\x10\\xa7\\x81\\xea\\xc1\\x5a\\xfe\\xaf\\xe9\\x58\\xf6\\x46\\x50\\x06\\xed\\x94\\x27\\xb8\\x2d\\x3c\\x0a\\x41\\x30\\xea\\x70\\x79\\x39\\x1f\\xcf\\x67\\x32\\x3e\\xf0\\x05\\x83\\xe5\\x85\\x16\\x4b\\x59\\x39\\x72\\x79\\x5d\\x4d\\x4a\\x88\\xc6\\x28\\x99\\x48\\x8c\\x92\\x3d\\xe8\\x9b\\xa8\\x04\\x51\\x26\\x5a\\xec\\x48\\xd8\\x13\\x58\\x49\\x94\\xf8\\x62\\x63\\xf1\\x24\\xc5\\xe8\\xe5\\x60\\xa2\\xc2\\x75\\xcf\\x1b\\x87\\x8f\\x64\\x21\\x43\\xfd\\xf9\\xfb\\x31\\x0c\\xea\\x96\\xd2\\x5b\\x5b\\x78\\xd3\\xb5\\x75\\x41\\x51\\x5e\\x8a\\x2d\\xdf\\x80\\x9a\\x54\\x4d\\x15\\xd9\\x85\\x54\\xa8\\x12\\x20\\xdf\\xbe\\xa9\\x61\\x3f\\x3c\\xa4\\xe7\\x09\\x1b\\xa3\\xa7\\x0f\\x33\\xd8\\x7e\\xef\\xfc\\x83\\xf7\\x7e\\x11\\x0e\\x15\\xcd\\x77\\xaa\\xb3\\xb5\\xbc\\x61\\x83\\xfb\\x26\\x96\\x95\\x70\\xe3\\xce\\x99\\x69\\xc2\\x30\\x3d\\x89\\x58\\x63\\xcb\\xc2\\x2d\\xfe\\x61\\xef\\x2d\\x54\\xff\\x46\\x32\\x87\\x6d\\x5e\\xb8\\x69\\x52\\x6d\\x9e\\xaf\\x78\\x6e\\xce\\xb7\\xbc\\x1d\\x26\\xe7\\xf9\\x96\\x1f\\x0e\\x47\\xbb\\xfb\\x96\\xa9\\xed\\xb0\\x9b\\xca\\x90\\x46\\x5d\\x86\\x5c\\x97\\x67\\x6b\\x5c\\x97\\x2c\\xe8\\x6e\\x6b\\xe8\\xf8\\xbf\\xc9\\xe1\\xbf\\x0b\\x96\\xe5\\xe1\\xff\\x6b\\xac\\xa8\\x17\\xfc\\xf7\\x52\\x99\\xd1\\xa8\\xcb\\x8c\\x7c\\xfc\\x0f\\x17\\x96\\xf7\\x8a\\xbf\\xcb\\x37\\x7e\\x37\\x34\\xeb\\xf8\\x0b\\x31\\xfe\\x7d\\xe1\\x64\\x2f\\xf8\\xdb\\xf2\\x6c\\xa5\\xbb\\x73\\xf8\\x33\\x18\\xff\\x0d\\xc9\\xe2\\x9e\\xf8\\xd5\\xc9\\x64\\x0f\\x0f\\x0d\\xbf\\x44\\xe4\\xd1\\x75\\x1a\\x1e\\x2c\\x7b\\xda\\xa8\\xfd\\xd7\\xa8\\xcb\\x9e\\x4a\\x6d\\xae\\x80\\x69\\x2e\\x04\\xb9\\x10\\x2a\\x0b\\xb1\\x0d\\xf8\\xf1\\xe1\\xc2\\x32\\xca\\xc7\\x3d\\xe7\\x0a\\xba\\xe8\\xdd\\x06\\xa3\\x74\\x7a\\xa3\\x98\\xde\\x2b\\xe2\\x61\\xe6\\x7c\\x7a\\x0f\\xe5\\xe8\\x35\\x30\\xdb\\xae\\xd0\\xa8\\x2d\\xc0\\xd4\\x3e\\x94\\x4e\\x76\\xb3\\x03\\xe9\\x9e\\x15\\x14\\x77\\x69\\x0f\\x99\\x43\\xfa\\xec\\xb6\\x44\\x21\\xf2\\x77\\x2b\\x1b\\xcd\\x5d\\x46\\x71\\x8f\\xd5\\x65\\xce\\xf5\\x7a\\x5d\\x94\\x61\\xec\\x2b\\xcb\\x2a\\x83\\xae\\xf3\\x64\\xc2\\x41\\xda\\x96\\xa5\\x7a\\x5b\\xfe\\x2e\\x0f\\xff\\x0b\\x05\\x65\\xbd\\xe2\\xbf\\x3f\\x87\\xff\\xae\\xac\\x4c\\xa0\\xf8\\x9f\\xaa\\xa8\\xe9\\x15\\x7f\\x17\\xfd\\x5d\\x32\\xad\\x14\\xe3\\x7f\\x20\\x51\\xf4\\xbf\\xd0\\x7f\\x37\\xda\\xa9\\xe3\\xaf\\xc6\\xf8\\xb7\\x95\\xf5\\xeb\\x89\\xbf\\xe3\\x47\\xb2\\xa7\\x87\\x86\\x5f\\x12\\x8c\\xc7\\x60\\x4a\\x17\\x1e\\x43\\x4a\\xd2\\xf1\\x18\\x3b\\xc1\\x9f\\x47\\xe7\\x0b\\x15\\x3d\\xf0\\x68\\xfb\\x68\\x50\\x3a\\x33\\xba\\x7f\\x92\\xcd\\xe3\\xe9\\x1b\\xc2\\x71\\x64\\xeb\\xf6\\x5d\\x92\\x33\\x2d\\x26\\x14\\x60\\xf8\\x71\\x7a\\xbb\\xc4\\xa1\\x5d\\x83\\x67\\xd2\\xf0\\x52\\x38\\xee\\x31\\x75\\xf3\\x35\\x7e\\xa7\\xef\\xd3\\x91\\xc2\\xb2\\xf1\\x51\\x79\\x56\\xbc\\x28\\x6d\\xe5\\x44\\x31\\x91\\x30\\xb0\\x82\\xc0\\xc4\\x0a\\x0a\\x6d\\x9c\\xdd\\x1e\\x8d\\x7a\\xfc\\x6e\\x77\\x80\\x09\\x14\\x97\\x14\\xfa\\xd9\\xb4\\x35\\xdd\\xa6\\x78\\x6c\\x24\\x03\\x7a\\x51\\xbc\\x4d\\x29\\x28\\x42\\x45\\x52\\x11\\x83\\xac\\xd8\\x4c\\x30\\xb1\\xd6\\x22\\x6b\\x91\\x09\\xb9\\xed\\x5a\\x46\\x5e\\x87\\x89\\x4d\\x44\\x03\\x34\\xcb\\x76\\x18\\xb9\\x7b\\xdd\\xc3\\xa3\\x6b\\x1b\\x2a\\x7d\\x29\\x56\\x55\\xb7\\x1c\\xbd\\xfa\\x9a\\x41\\x5f\\xfe\\xa5\\xb6\\xaf\\x87\\x2e\\xb8\\xec\\x4c\\x42\\x3b\\x91\\xec\\x1d\\x5d\\xbb\\x7b\\x00\\x16\\x69\\x36\\xeb\\xc1\\xdd\\xfb\\x9d\\xfb\\xe3\\x9a\\xbf\\x32\\x0e\\x9f\\xc7\\xb5\\x5d\\x3e\\xe2\\x4f\\x38\\x9f\\xd8\\x9d\\xdd\\xe9\\x23\\x30\\x67\\x9f\\x15\\x5e\\x29\\x54\\x03\\x85\\x63\\x83\\xec\\xd4\\xe5\\x87\\x88\\x03\\xf3\\x90\\x76\\x5c\\x7e\\x6e\\x7f\\xd7\\x8e\\x1f\\xcc\\x17\\x27\\x4f\\xa2\\xbc\\x9c\\x74\\x49\\xb4\\x49\\x1e\\x1e\\x0d\\xc5\\x62\\x41\\x3f\\xcf\\x22\\x2e\\x99\\x0c\\x04\\x82\\x92\\xcb\\x65\\x35\\x9b\\x21\\xc8\\xa6\\x0a\\x42\\x2c\\x62\\x9b\\x94\\x28\\x42\\x49\\x21\\x19\\x9b\\xa8\\x24\\x51\\x30\\x20\\x69\\x01\\x82\\x7e\\x9e\\xf7\\x08\\x9e\\x49\\x0a\\x12\\x70\\x0f\\x17\\x24\\x54\\x3f\\xbb\\x2b\\x07\\x12\\xaa\\xca\\xa5\\x7b\\xac\\xe8\\xb1\\xbb\\x8e\\x23\\xaf\\x1a\\x48\\x58\\xad\\x90\\xb2\\xff\\x87\\x54\\x75\\x7a\\xc5\\x30\\x02\\xea\\x74\\xab\\x19\\xe9\\xae\\x0f\\xe7\\xaf\\xee\\x91\\xb2\\xee\\xd5\\x5d\\xee\\x1b\\x7d\\x24\\x8d\\x18\\xf7\\xf4\\xc2\\x9f\\x26\\x1d\\xbb\\x78\\x41\\x2e\\xb9\\x93\\x96\\xb7\\x8e\\x1b\\xb7\\xf0\\x4a\\x9a\\x66\\x46\\x9f\\x1b\\x3b\\x40\\xe7\\x56\\xca\\x74\\xfb\\x78\\x7d\\xde\\x5c\\xda\\x5e\\x77\\xcf\\xb1\\x39\\x44\\xd2\\xc2\\x52\\x7b\\x5a\\xf3\\xb1\\xec\\x79\\xa9\\xcb\\xc7\\xd2\\x2e\\x85\\xf2\\x7d\\x2c\\x14\\xf7\\x4d\\x86\\x47\\x72\\xb8\\xb7\\xa3\\x2d\\x70\\x53\\x0e\\xf7\\xa3\\xa2\\xad\\x07\\x6e\\x3c\\x7a\\x33\\xcf\\xd0\\xf1\\x40\\xc3\\xbd\\xfd\\x91\\x2e\\xdc\\xf3\\x8d\\xe6\\xf3\\x70\\xdf\\x2b\\xf4\\xcb\\xe1\\xc6\\xb2\\x3d\\x0f\\xf7\\x1b\\x76\\x5f\\x0f\\xdc\\xc4\\xdf\\xf3\\x2a\\x95\\x1f\\x1a\\xee\\xbb\\xf6\\x77\\xe1\\xbe\\xce\\xe2\\xea\\x8e\\x1b\\xcb\\xe3\\xe9\\x54\\x4e\\x97\\x51\\xd8\\x7b\\x15\\x84\\x6c\\x24\\x91\\xc0\\xd9\\xc3\\x4e\\x17\\x07\\x14\\x92\\xc0\\x1d\\x57\\x27\\x93\\x9c\\x7f\\xb8\\xaf\\x8f\\xd7\\xe0\\x1e\\x45\\x28\\x2a\\x7b\\xd3\\x24\\x12\\x25\\x4d\\xc2\\xb0\\xd2\\xb2\\x28\\x36\\x32\\xee\\x60\\x90\\xa5\\x82\\x98\\x86\\x76\\xe4\\xe6\\x47\\xbb\\xe6\\x2f\\xef\\x46\\x57\\xe4\\xcd\\x17\\x3c\\x26\\x3a\\xf3\\x69\\xc7\\x3c\\x49\\x7c\\x66\\x1f\\xb3\\xfb\\x91\\x80\\xca\\x64\\x5f\\xb7\\xfc\\x72\\x7a\\x3e\\xc1\\xcd\\x26\\xf8\\x9f\\xf2\\xca\\x8d\\xcf\\xe5\\x0c\\xd4\\x53\\x05\\x12\\x1a\\xb0\\x0e\\x74\\x92\\x1f\\x22\\x65\\xe7\\x44\\xcb\\x99\\x3b\\x75\\x1d\\xab\\x4d\\x84\\x26\\x11\\xe2\\x22\\x88\\x5a\\xc8\\x8b\\x56\\x7f\\xfd\\xd5\\xf1\\xdc\\xfc\\x5c\\x59\\x05\\x34\\x81\\xc1\\xba\\x1c\\xb6\\x15\\x9c\\x2c\\xf3\\x8d\\x17\\x76\\xd1\\x8c\\x32\\x9b\\xbd\\xd8\\xb6\\x47\\x2c\\x38\\xaa\\xb3\\x01\\x32\\x1a\\x8f\\x91\\x7d\\x6c\\xe6\\xd0\\xf2\\x96\\xeb\\x32\\xab\\x95\\xce\\xc7\\x39\\xe8\\xfc\\xe3\\x87\\x6e\\x38\\xe9\\x06\\xd5\\xed\\xb7\\xb0\\xf9\\x7e\\x24\\x3d\\x87\\xe1\\x41\\xfe\\x21\\xe4\\x40\\x41\\xb4\\x4c\\x1e\\xe5\\xf4\\x31\\x66\\xb3\\xdd\\x82\\x9b\\xd6\\x66\\x0b\\x87\\xdc\\x81\\x9d\\x4a\\xd0\\xbd\\xab\\xc5\\xbf\\x39\\xb8\\x33\\xc8\\x10\\x7f\\xdb\\x81\\xe0\\xc9\\x20\\x67\\x62\\x83\\xff\\x17\\x79\\x0d\\xe9\\x8a\\x90\\x2a\\x3d\\x1c\\xd5\\xf7\\x3f\\xe4\\x36\\x64\\x6b\\xa0\\xca\\x25\\xa4\\x8a\\x78\\x9a\\xd8\\xd0\\xe7\\x0a\\xe5\\x25\\x36\\xcc\\x18\\xc0\\xfa\\xf6\\x23\\x86\\xf1\\x7f\\x55\\xbf\\x24\\xa9\\x0d\\x57\\xbb\\xf2\\x52\\x1b\\x3a\\x13\\x50\\xa8\\xbe\\x97\\x78\\xe0\\x01\\x2a\\xeb\\xf1\\x98\\x71\\x9c\\xf2\\x55\\x1f\\x3a\\x36\\x1c\\x83\\x66\\x5c\\x4e\\xf3\\x61\\x58\\x59\\x0c\\xc5\\xb8\\xb2\\x89\\x9d\\x13\\xee\\xf8\\x91\\xe4\\x3f\\xc4\\x30\\x13\\x09\\x4f\\x19\\x8f\\x2d\\xd6\\x3c\\x6e\\x2b\\x93\\xd0\\x96\\x84\\xe6\\x24\\x54\\x26\\xc1\\x9e\\x84\\xa4\\x1e\\x70\\x57\\x9d\\xcb\\x99\\x48\\xf3\\xa3\\x2c\\x91\\x07\\x0a\\x22\\x4d\\x99\\x68\\xb3\\x18\\x8d\\x76\\x03\\x4d\\x9c\\xa8\\x65\\x4d\\x34\\x80\\x44\\x12\\x27\\x9a\\x11\\xb0\\x76\\x2b\\xd8\\x0d\\x34\\x7b\\xa2\\x85\\x75\\xda\\x49\\xca\\x22\\xbb\\xc5\\xa3\\xa7\\x71\\x25\\x42\\x88\\xa6\\x84\\xca\\x4f\\xc5\\x95\\x0d\\x6c\\xd6\\xa3\\x9b\\x9d\\x5a\\xd2\\xe4\\xf3\\xb3\\x27\\x5e\\x01\\xf3\\xb5\\xec\\x89\\x3f\\x7d\\xdd\\x6c\\x51\\x5f\\x3c\\xb8\\x68\\xa8\\xfa\\xfd\\x6e\\x9a\\x3d\\xf1\\xaf\\xb0\\x81\\x64\\x4f\\xec\\x54\\x79\\x7f\\x03\\x3c\\xd4\\xa0\\xee\\xa1\\x89\\xae\\x74\\x1d\\xe6\\x5a\\x6a\\x3b\\x55\\xe8\\xb6\\xd0\\x1b\\x98\\x37\\xa2\\x98\\x0f\\x1d\\x98\\x37\\x76\\x3a\\x60\\xb3\\x03\\x2b\\x3f\\xbf\\x3d\\xec\\xf0\\x5a\\x6d\\x39\\xf6\\xd0\\xe2\\x01\\xd9\\xa8\\x60\\xc7\\xef\\x35\\xe9\\xef\\xd5\\xe2\\x71\\x10\\xdb\\x50\\x46\\x86\\xcc\\x1b\\x7e\\x76\\xd8\\x68\\x35\\xe4\\xf7\\x69\\x5c\\xf7\\x64\\xff\\x9f\\xec\\x77\\x8c\\xc7\\xa8\\xbd\\x8a\\xeb\\xbe\\x3d\\x06\\x31\\xad\\xee\\x3b\\x5f\\xee\\xf8\\x91\\xe4\\x71\\xcc\\xe2\\x34\\x1e\\xeb\\x1c\\xa6\\xc1\\x34\\x13\\xc6\\xd6\\x60\\xc8\\x7e\\x48\\xd5\\xfc\\xe4\\x1c\\x1e\\x95\\x25\\x9b\\x35\\x61\\xdb\\x01\\x1c\\x1c\\xa0\\x78\\xdc\\x66\\xc8\\xd9\\x0e\\x84\\x46\\xae\\x2f\\xed\\x33\\x1a\\x3e\\x95\\xf1\\x61\\x3b\\x23\\x82\\x61\\x8d\\x08\\x62\\x3e\\xb0\\xfb\\x30\\xa5\\xf7\\x1c\\xf6\\xf9\\x84\\x10\\x7e\\x69\\x95\\x16\\x90\\x98\\xad\\x93\\x2e\\x5a\\xb1\\xee\\xf2\\x9b\\x8e\\x57\\x90\\xed\\x17\\x24\\xeb\\x82\\xdd\\x01\\x0e\\xd2\\xf6\\xd9\\x3a\\x18\\xd7\\x85\\x1f\\xcb\\x91\\xcf\\x30\\x5c\\x1f\\x39\\x0e\\xc8\\x08\\x67\\xe8\\xbf\\x76\\x23\\x34\\x19\\xa1\\xde\\x08\\x15\\x46\\x88\\x19\\xc1\\x4e\\xff\\x19\\x1d\\x5d\\x7e\\x8e\\xea\\xbc\\xbd\\x91\\xfc\\xe8\\x12\\x79\\x34\\x62\\xfd\\x2c\\x67\\xc7\\x72\\x8e\\x03\\xb3\\xcd\\x66\\x0e\\x04\\xfd\\x2e\\x8f\\xab\\x55\\x41\\x98\\x53\\x70\\x01\\x41\\x02\\xac\\x05\\x90\\x18\\x4b\\xd1\\xc3\\x92\\x3d\\x7c\\x9a\\x4c\\xdf\\x98\\x18\\x13\\xdd\\x35\\xc9\\x04\\x56\\xb2\\x41\\xbb\\xc8\\xb5\\x29\\xe2\\xf9\\xbb\\x26\\x65\\x27\\x2a\\xf5\\x2c\\xfd\\x59\\x37\\x67\\x36\\x18\\xa2\\x50\\xe0\\xd9\\xbc\\x7d\\x94\\x84\\xec\\x5e\\x4a\\xcc\\x64\\x30\\xf8\\xd4\\x9f\\xe7\\xaf\\x9a\\xff\\x55\\xa1\\xbe\\xa3\\xd2\\xe8\\x23\\xfe\\x5f\\x2c\\xd5\\x76\\x55\\x62\\x33\\x37\\x5c\\xb3\\xad\\xe3\\x97\\xd9\\xbd\\x95\\xe0\\xe6\\x79\\xd7\\x5d\\xc4\\xcc\\xd1\\x76\\x15\\x80\\xce\\x1f\\xb0\\x10\\x69\\xc4\\x63\\xb9\\x1d\\x35\\xca\\xc5\\xac\\x11\\x89\\x76\\x23\\x67\\xb1\\x48\\x0e\\x4e\\xb0\\x8b\\x1c\\x6f\\x95\\x6d\\xee\\x46\\x2b\\x6f\\xe5\\x2d\\x8c\\x96\\xb5\\x8b\\xc1\\xb2\\x94\\x41\\x3d\\x96\\x8c\\x65\\x74\\x9f\\x3c\\x95\\x0e\\x7a\\x58\\x51\\x8d\\xb6\\x61\\x12\\x21\\x12\\x1c\\x84\\xbd\\xd7\\xec\\xf0\\xee\\xb8\\x68\\xae\\x45\\xbd\\xfe\\x82\\x6b\\xbd\\xd7\\x92\\xc4\\x9d\\x1d\\xeb\\xc6\\x5e\\x36\\xae\\xe3\\x6d\\xcc\\xeb\\x1f\\x8c\\xbe\\x62\\x14\\xca\\xc5\\x60\\xbc\\x9f\\x8d\\xc1\\xc0\\xa3\\xec\\x37\\x79\\x32\\xb0\\x82\\x06\\xb9\\x7d\\xee\\xf6\\x89\\x6c\\x0f\\x5f\\x3a\\xf1\\xc1\\xa7\\xa8\\xaf\\x60\\x92\\xfe\\x5e\\xbd\\xe6\\x2b\\x08\\x52\\x5f\\x81\\xeb\\x70\\x30\\x42\\xfd\\xef\\x59\\x3e\\xff\\xaa\\xe3\\x47\\xb2\\x07\\x53\\xf6\\x3b\\x58\\xc6\\xf0\\x84\\x3f\\x0f\\x81\\x1c\\xc4\\xcc\\x36\\xe6\\x70\\x50\\xff\\x04\\xe1\\x9f\\x52\\xdc\\x27\\xec\\xd4\\xee\\x98\\xa4\\xc9\\x9a\\x99\\x44\\xa2\\x5b\\x61\\x2f\\xcd\\xcd\\xb7\\x32\\x0e\\x95\\x71\\xfc\\xce\\xc6\\xc3\\xf1\\x88\\xee\\xe2\\x27\\x84\\xe5\\xca\\xf2\\x5d\\x2e\\x9e\\x64\\x1b\\xbc\\x48\\xe7\\xc8\\x6d\\xe0\\x25\\x7d\\xd6\\x0f\\x4f\\xf9\\xdd\\xfa\\x57\\xba\\x95\\x23\\x44\\xf5\\xeb\\x49\\xba\\x4d\\xff\\x37\\x7d\\xbc\\x09\\xe3\\x82\\xfc\\x22\\x1a\\xec\\x2a\\x05\\x85\\x8f\\xe0\\x7e\\x36\\x8b\\x9f\\x24\\x15\\xa1\\x49\\x30\\x81\\xbc\\x21\\x7c\\xda\\x49\\x4a\\x2e\\x3c\\x0d\\x18\\x15\\x09\\xdc\\xa5\\x7b\\xc3\\xf3\\x6f\\xf1\\xa3\\x51\\x1a\\xb5\\xca\\x7d\\x43\\x52\\x30\\xe8\\x70\\xf8\\x18\\x2f\\xe6\\xc0\\x82\\x84\\x37\\x51\\x54\\x1c\\x92\\x6c\\x51\\xdb\\x85\\x4a\\x94\\x0b\\xfa\\x5a\\x95\\x20\\xeb\\xf0\\xea\\xbb\\x65\\x0a\\x6d\\x4a\\x76\\x73\\x9b\\xf3\\xf3\\x2a\\x76\\xdb\\x6a\\x4e\\xdf\\xa0\\x2c\\xbb\\xc7\\x0d\\xdd\\x49\\x8f\\x2a\\x62\\x79\\xbb\\x29\\x65\\xd3\\x9e\\x93\\x14\\x3f\\xec\\x96\\xdb\\x2e\\xa8\\x54\\xf8\\x54\\xfd\\x25\\xa9\\x95\\xce\\x27\\x6e\\xfb\\xeb\\xd3\\x17\\xd9\\x3b\\x4e\\x58\\x0f\\x9c\\x78\\xc4\\x0a\\xaf\\x19\\xb7\\xbe\\xbf\\xf8\\xe9\\x23\\x9e\\xa9\\xc5\\x9f\\xb9\\xa3\\xe0\\x7c\\x38\\x71\\x8c\\xb9\\xbc\\xad\\x60\\xdf\\xa2\\x73\\x66\\xfb\\x34\\x6d\\x62\\x7d\\xe3\\x08\\xf9\\xea\\x9b\\x13\\x57\\xab\\xe9\\x8f\\x3f\\x26\\x39\\x09\\xf1\\x78\\x6b\\x61\\x5f\\xc3\\x7a\\xfb\\x74\\xb9\\xdc\\x8c\\xfb\\x15\\xc7\\x19\\x7c\\x7c\\x2c\\x99\\x74\\xda\\x79\\x7b\\x41\\xa1\\x27\\xdc\\xa4\\xf8\\xfd\\x9e\\x10\\x6b\\x36\\x23\\x11\\x4d\\x52\\x44\\xc9\\x64\\x98\\xa8\\x98\\xec\\x1c\\x4f\\x04\\x79\\xb7\\xd4\\x9b\\x55\\x15\\x99\\x5e\\xcb\\x04\\xe7\\x67\\xdf\\xa4\\xf3\\xa2\\xb9\\x91\\x0f\\x97\\x94\\xb9\\xbf\\x7b\\x22\\x4e\\xac\\x6a\\xae\\x49\\xbc\\xfb\\x74\\xd7\\x18\\xb8\\xda\\xcb\\x0e\\xe8\\x4a\\xc8\\x49\\x35\\xcd\\xa5\\x47\\xdf\\xd2\\x06\\x41\\xa6\\x1d\\xeb\\x9b\\x5d\\xf1\\x38\\x73\\x73\\xf1\\x3b\\xdb\\xe1\\xd5\\xbc\\xf8\\x9d\\x7b\\xa3\\xf1\\x1e\\xf1\\x3b\\xda\\x1c\\x8c\\x27\\x37\\x67\\xb3\\x9d\\xce\\x4f\\x67\\xe7\\x6c\\xb6\\x86\\x22\\x3d\\xe6\\x6c\\x34\\xfc\\xdf\\xe4\\xf0\\xdf\\x95\\x8d\\xbf\\xa0\\xf8\\x5f\\x49\\x94\\xf4\\x82\\xff\\x18\\xd5\\x05\\x27\\xeb\\xba\\xe3\\x01\\xfc\\xa0\\xf0\\x19\\x8a\\x3e\\x4a\\x62\\x85\\xed\\x52\\x63\\x94\\x06\\xee\\x9b\\xcd\\x8d\\xfb\\xa2\\x69\\xfa\\xbd\\x4c\\xce\\x36\\x26\\xdf\\xbb\\x31\\x2f\\x7e\\xe9\\x3e\\x38\\x8e\\xbf\\x17\\x78\\x56\\x0f\\x2f\\x22\\xbd\\x32\\xaa\\x85\\x17\\x75\\xcd\\x7b\\xe2\\x6f\\x72\\x4b\\xf2\\xe6\\xad\\xee\\x43\\x0f\\x75\\x9b\\x57\\xfa\\x3a\\xd4\\x73\\x5e\\x89\\x41\\xa3\\x3b\\x7f\\x12\\x6a\\xf8\\x91\\x28\\x81\\xf5\\x85\\x07\\xe5\\x39\\x65\\xac\\xc3\\x2f\\x49\\x81\\x40\\x61\\x41\\x01\\x1b\\x75\\x9b\\x59\\x73\\x45\\xa5\\xd7\\xef\\xf0\\xb7\\x29\\x2e\\x3c\\x28\\x58\\x58\\x87\\xc3\\x14\\x8f\\x07\\xda\\x94\\x78\\xb2\\x55\\xb1\\x47\\x62\\x91\\xa6\\x48\\x6b\\x64\\x45\\x84\\x77\\xb2\\x11\\x12\\x99\\x19\\x89\\xc4\\x9d\\xa6\\xe2\\x56\\x85\\xec\\x1e\\x28\\x8b\\xcd\\x62\\x9b\\xc8\\x22\\x7a\\xda\\x2b\\x1e\\x14\\x8f\\x8a\\x06\\x11\\x17\\xf7\\x59\\x7f\\xa8\\x51\\x14\\x4d\\x2c\\x4d\\x00\\x87\\x75\\x24\\x7d\\x9b\\xf3\\xde\\x77\\x05\\x1d\\x94\\x4b\\x06\\xa7\\xc7\\x5e\\x92\\x5e\\x82\\xf4\\x18\\xa2\\x6c\\xe8\\x65\\x15\\x0d\\xbd\\x4c\\xb1\\x55\\x71\\x1a\\x7a\\x69\\x28\\xea\\xa7\\x65\\xad\\xa7\\xc9\\x55\\x99\\xcb\\x54\\xf5\\xc4\\x2b\\x30\\xf7\\xcb\\x96\\xe5\\x6c\\x80\\x6c\\x1b\\x7a\\xba\\x76\\xfa\\xdb\\x34\\x02\\xf3\\xed\\x96\\x85\\x20\\x92\\x08\\xcc\\x73\\xb7\\x5d\\x1a\\xbc\\x70\\xc4\\x2f\\xeb\\xc7\\xa7\\xda\\x7f\\x7f\\xe5\\xcd\\x02\\xa4\\xce\\x7c\\x0d\\x1b\\x7f\\x67\\xec\\x19\\x81\\x29\\xcc\\xf3\\x73\\x13\\x5d\\xe6\\xe3\\xea\\xb6\\x17\\x9f\\x3b\\xa9\\xcd\\xc9\\x95\\xe3\\x36\\xba\\x07\\xf7\\x9f\\x18\\x1e\\x25\\x07\\xa0\\x75\\x72\\x41\\x91\\xc7\\x11\\x8a\\x73\\x7d\\xfa\\xc4\\xe3\\x9e\\xbe\\xc8\\x83\\x6a\\x06\\xf6\\xe1\\x9a\\x94\\x3e\\x7d\\x22\\xf6\\x48\\xff\\x26\\x25\\x22\\x05\\x52\\x4d\\x4a\\x88\\xec\\x93\\x15\\x34\\x59\\x1b\\x1d\\x12\\x3e\\x84\\x1c\\xae\\x80\\xe4\\x2a\\x6d\\x52\\x5c\\xde\\x1e\\x99\\xee\\xf5\\x99\\x80\\x4c\\x2f\\x69\\xef\\xf3\\x62\\x51\\x7b\\xc9\\x7c\\x5f\\x64\\x48\\xc5\\x1d\\xba\\x67\\x2e\\x37\\x29\\x90\\xdd\\xe5\\xcc\\x97\\x4d\\x87\\xcf\\xdf\\x93\\x4b\\x87\\x3f\\xed\\xf8\\xec\\x37\\xa7\\x6c\\x7e\\x49\\x7d\\x64\\xd3\\x17\\xfb\\x9f\\x6f\\x6a\\x7f\\xec\\x96\\xbb\\xce\\xfd\\xbb\\xff\\xe0\\x71\\xff\\x1f\\x63\\xdf\\x01\\x1f\\x45\\x99\\xfe\\x3f\\xef\\x94\\xed\\xbb\\x33\\xbb\\xb3\\x3b\\xb3\\xbd\\x97\\x24\\x9b\\xbe\\x29\\x04\\x02\\x59\\x42\\x4b\\x28\\x29\\xf4\\xa1\\x25\\xf4\\x50\\x94\\x26\\x2d\\x72\\x56\\x54\\x8a\\x05\\xb1\\x80\\xa2\\x88\\xa8\\x87\\x0a\\x88\\x60\\xc3\\x7a\\xea\\x61\\x3b\\xcf\\x76\\x9c\\x67\\x3b\\xfb\\xfd\\x14\\x4f\\xfc\\x59\\xd1\\x53\\xc8\\xe4\\xff\\xbe\\x33\\xb3\\xbb\\xb3\\x49\\xbc\\xdf\\x5f\\x3f\\x90\\xb0\\xd9\\xbc\\xfb\\x3e\\xef\\xbc\\xef\\xd3\\xde\\xe7\\xf9\\x7e\\x3b\\x9a\\xca\\xea\\x26\\x2c\\x1c\\xd3\\xd3\\x1f\\x21\\x7f\\xcc\\xe4\\x8b\\x2f\\x06\\x93\\x0f\\x82\\xfa\\xbd\\x9b\\x37\\x2f\\xbf\\x73\\xca\\xa4\\x5d\\xe2\\x8d\\xcb\\xda\\xdb\\xf7\\x82\\x45\\xd3\\x33\\x80\\xf9\\x50\\x7f\\x4b\\xdc\\x67\\x92\\x2d\\xaa\\x56\\x6c\\xca\\x55\\xca\\x79\\x09\\xc0\\xf3\\x72\\x26\\x10\\x26\\xf3\\xeb\\x45\\x10\\x3e\\xea\\x85\\x92\\x0d\\x9a\\xa2\\xf8\\x5a\\xbb\\x14\\xdd\\x6d\\x83\\xba\\xfb\\x9f\\x36\\x87\\x99\\xca\\xcb\\x69\\xf4\\x40\\x3f\\x57\\x27\\xd9\\xa0\\x6a\\xc5\\x06\\xa1\\x67\\xc2\\x1f\\xc5\\x63\\x70\\x93\\x1d\\x33\\xd3\\x4d\\xc7\\x7b\\x9f\\x78\\x38\\x26\\x7f\\x4a\\xe6\\x77\\xee\\x85\\x7e\\x6f\\xb1\\x64\\x8b\\xa6\\x28\\xbe\\x17\\x8c\\x95\\x30\\xfb\\x23\\xc0\\x89\\x62\\xa8\\xe3\\xe2\\x53\\x0f\\x3b\\xe5\\x8f\\x51\\x62\\x2f\\x59\\x86\\x1f\\x32\\x9f\\x01\\x6d\\xd0\\x02\\x45\\x86\\x10\\x94\\xe1\\x8d\\x48\\x60\\x00\\x19\\xd6\\x49\\xe7\\x6f\\x8a\\x9c\\xfb\\x1a\\x2e\\x4b\\x60\\x87\\x12\\x6c\\xe6\\x6c\\x39\\x09\\xe0\\x7b\\x11\\x97\\x5a\\x89\\xb4\\x3e\\x35\\xca\\xfa\\x34\\xcb\\xf9\\xfc\\x62\\x29\\x9f\\xef\\x7c\\xb8\\xb8\\x0c\\x77\\xa9\\x6c\\xee\\x19\\xa8\\x4f\\xda\\xa5\\xf5\\x99\\x2a\\xd7\\x28\\x9c\\x27\\x8f\\x5d\\x08\\xc7\\xfe\\xa9\\xb0\\x58\\xe3\\xea\\x33\\xb6\\x4f\\x9a\\x77\\x8d\\x12\\x0b\\x51\\x4a\\xec\\x87\\x06\\xbf\\xad\\xb8\\x3c\\x37\\x32\\x96\\x19\\x7b\\xb8\\x34\\xef\\xa9\\x72\\x4d\\x43\\x63\\x6e\\xec\\x1d\\x85\\x25\\xf9\\x63\\x8b\\x6d\\x88\\x03\\x2e\\x3b\\xef\\x6e\\x80\\x00\\x14\\x6b\\xd3\\x01\\x80\\x95\\x82\\xef\\x4a\\xc1\\x27\\xa5\\xe0\\x92\\x52\\xd0\\x59\\x0a\\xda\\x4a\\x41\\xba\\x14\\x94\\x97\\x82\\x60\\x29\\x60\\x4a\\xa1\\x8d\\xbf\\xfd\\xe1\\xd2\\x7a\\xe9\\x83\\xd5\\x8e\\xa1\\xfc\\xf9\\x62\\x1b\\xc2\\xa1\\xcd\\xca\\xd6\\xbd\\x5a\\x89\\x85\\x1f\\x7f\\x38\\x59\\xa7\\xc1\\x32\\xb1\\xb0\\x24\\xd7\\x30\\x95\\x5c\\x5b\\x81\\x5e\\x91\\xab\\x14\\xca\\xf5\\x8f\\xf2\\xe2\\x01\\xe4\\x9a\\xa7\\x92\\x6b\\x6b\\x89\\x2c\\x57\\x12\\xca\\x75\\xb4\\xa4\\x30\\x4f\\xae\\x9b\\xc4\\x36\\xc4\\xf5\\x06\\xdf\\x5b\\x8b\\x72\\x6d\\x50\\xae\\x2a\\xe9\\x33\\x75\\x70\\x6e\\xcb\\xc9\\x4b\\xa1\\xff\\x3b\\x4d\\x9e\\x5b\\x1a\\xfa\\x07\\x0f\\x97\\xa1\\xc8\\x5b\\xea\\x19\\x92\\x38\\xe2\\xa4\\x39\\xd5\\x2a\\x73\\x9a\\xa0\\xf8\\x29\\x4e\\x38\\xa7\\x15\\x6e\\x30\\xdb\\xcd\\xe9\\x8d\\xf9\\x7e\\xca\\x30\\x28\\xc7\\x44\\xc9\\xa7\\x9e\\xa6\\xf8\\xec\\x83\\xa0\\xcf\\xee\\x7c\\x14\\x78\\x30\\x40\\x17\\xc1\\xa5\\xda\\xf2\\x70\\x51\\x11\\x5b\\x2a\\xff\\x12\\x72\\x43\\x54\\x5c\\x74\\x3e\\xac\\x33\\x5d\\xce\\xbb\\x39\\xce\\xe3\\x91\\xd2\\x6b\\x38\\x6d\\xa6\\xcd\\xfe\\x80\\xd5\\x6c\\xb6\\x70\\x5a\\x0b\\x74\\x3b\\xdc\\x84\\x06\\x91\\x48\\x6b\\x34\\x98\\x85\\xf0\\xc8\\xe4\\x74\\xf6\\x5c\\x21\\x5f\\x59\\xb6\\xba\\x1d\\x21\\x88\\x49\\x3a\\x36\\x83\\x57\\x54\\x97\\x81\\x14\\x46\\x64\\x75\\xa1\\xda\\x50\\x3f\\xc2\\x3a\\x54\\x34\\x2c\\x91\\xd6\\x09\\xe2\\x57\\x0e\\xe0\\x14\\xfa\\x52\\xd7\\x09\\xc0\\xe5\\x10\\xbf\\x9c\\x81\\x08\\xec\\x50\\x95\\xf0\\x7f\\x72\\x1c\\x76\\xa2\\xa1\\x1b\\xc6\\x30\\x12\\x3f\\x98\\x41\\xc1\\xe0\\x0d\\x63\\x4b\\xd2\\xb5\\x66\\x83\\x1e\\x3a\\x92\\x14\\xa7\\x65\\x98\\x70\\x00\\x1e\\x1e\\xaf\\x37\\x12\\xa5\\xa3\\x80\\x21\\x02\\x66\\x83\\xb9\\x55\\x08\\x1b\\x0c\\x1a\\xa7\\x83\\x75\\xb1\\x6d\\x82\\x8b\\xc3\\xf4\\x1a\\x7d\\xab\\x40\\x51\\x84\\x86\\xc6\\x32\\x70\\xbc\\xce\\x5c\\xc3\\xa9\\x24\\x13\\x90\\xfb\\x87\\x65\\xfa\\x47\\x29\\x11\\x28\\xa5\\xfa\\xb2\\xd0\\xbc\\xd2\\x1f\\xb9\\x42\\x2b\\x0b\\xdc\\x2b\\x5d\\x5f\\x1c\\xcd\\x62\\xf4\\x96\\x1e\\xb0\\x1d\\xf0\\x30\\xd5\\xf1\\x0c\\x7c\\xaf\\x36\\xbe\\xc8\\xb6\\x98\\x18\\x29\\x81\\xf5\\xf6\\x76\\xdd\\x8c\\xd0\\x7a\\x65\\x08\\x5f\\xbe\\xee\\xef\\x5d\\xd9\\x5a\\xce\\xe7\\xb2\\xb5\\x9f\\x7b\\xc1\\x67\\xaa\\xda\\xcf\\xb1\\xb1\\xf2\\x3e\\xb5\\x9f\\xf2\\xdd\\xfd\\x9a\\xec\\x5d\\xff\\x5e\\xec\\x2b\\xd5\\x5d\\xff\\xfa\\x70\\x49\\x9f\\xbb\\x7e\\x79\\xfc\\xf9\\xd9\\xf1\\xb7\\xc3\\x30\\x37\\x37\\xfe\\x70\\x5f\\x60\\xc0\\xf1\\x1d\\xd9\\xf1\\xb7\\x63\\xff\\x56\\x8d\\x7f\\x81\\xdb\\x3b\\xe0\\xf8\\xdf\\x66\\xc7\\xbf\\x15\\xbc\\xaa\\x1a\\x7f\\x42\\xb0\\x60\\xc0\\xf1\\xef\\xcc\\x8e\\x7f\\x2b\\xf6\\x9d\\x6a\\xfc\\x5d\\xbe\\xd8\\x40\\xe3\\x6b\\x5d\\xd9\\xf1\\x6f\\x03\\x1f\\xe7\\xd5\\xba\\x36\\x07\\xfb\\xd7\\xba\\xca\\x9f\\xf1\\x6a\\xf6\\x33\\x6e\\xc3\\x4e\\xe7\\xd5\\x37\\x5c\\xe8\\xeb\\x57\\xdf\\xd0\\xaf\\x06\\xf7\\x0e\\xf0\\x52\\xde\\xe7\\xec\\xf1\\x0d\\xfc\\x39\\x87\\x54\\x75\\x17\\x77\\x48\\xf1\\x42\\xee\\x73\\x3e\\x76\\x0f\\xf0\\x39\\xe2\\x44\\xc4\\xc3\\x28\\x7f\\x8e\\x74\\xbf\\xe2\\x94\\xc7\\x12\\x27\\x22\\xfc\\x66\\x26\\x33\\xd6\\xed\\xb8\\x05\\xc5\\x50\\x8f\\x63\\xc5\\xd0\\xc5\\x33\\x78\\xbd\\x4d\\xc0\\x1e\\x0c\\x1a\\x8d\\x52\\x8a\\x0e\\xbd\\x5f\\xe2\\xc9\\x93\\xe6\\x3b\\x58\\xc9\\xc9\\x6f\\x56\\xe5\\xe7\\x92\\x0e\\x97\\x26\\xcf\\xb6\\xf4\\xfe\\x04\\x7d\\x8d\\x56\\x69\\xae\\x33\\x7e\\x90\\x75\\x7a\\xbb\\x6a\\xdd\\x17\\xbb\\xfd\\x4c\\xfe\\xba\\xcb\\xf5\\xc2\\x3f\\x64\\xea\\x85\\xe1\\xfb\\x17\\xa9\\xc6\\x2f\\x74\\xb8\\xd4\\xf5\\xc2\\xd9\\x7b\\xfd\\xbb\\x33\\xf7\\xfa\\xf8\\x96\\x4d\\xf2\\xe8\\xa8\\x3c\\xe4\\xad\\x48\\xc2\\xa0\\xbe\\xb7\\x91\\xc7\\xfe\\x3a\\x5b\\x8b\\xbc\\x14\\x6c\\x07\\xd7\\xcb\\xeb\\xe6\\x40\\x6b\\x3d\\x3f\\xea\\x97\\x47\\x57\\xd5\\x9f\\x48\\x9c\\x68\\x92\\xbd\\x1b\\xaa\\xd8\\xbb\\xe9\\xaa\\xfe\\x80\\x1f\\xed\\xbc\\x4d\\x97\\x37\\x1f\\x84\\xc7\\x3b\\x5e\\xb2\\x77\\xb3\\x65\\x7b\\xd7\\x95\\xb3\\xa5\\x5f\\xdb\\x79\\x4c\\x75\\x77\\xad\\x8c\\xfd\\x43\\x66\\x6c\\x7c\\x0f\\xf0\\xab\\xf6\\xf0\\x4d\\x76\\xf7\\x00\\x63\\x3b\\x24\\x59\\xa5\\xb1\\xf1\\x3d\\xd1\\xdc\\xcd\\xf5\\xe5\\x76\\xf7\\x7f\\x1d\\x7b\\x2b\\x08\\x2b\\x63\\xa3\\x38\\xf4\\x49\\xa7\\x7d\\x80\\xb1\\x87\\xab\\xc6\\xde\\x6a\\x92\\x73\\x6b\\x1c\\x1c\\x3b\\xe0\\x04\\xb4\\x13\\x5c\\xed\\xb4\\x63\\x06\\x55\\x04\\x9e\\xe3\\x16\\xa2\\xb1\\x92\\x34\\x67\\xc0\\x8d\\x46\\xb3\\xc9\\xc4\\x58\\x8d\\x1e\\x94\\x5e\\x2c\\x27\\x01\\x49\\xc2\\xf7\\x48\\x60\\xc3\\x98\\xb3\\x21\\x9b\\x7b\\x95\\xda\\xbf\\x33\\x4c\\x40\\x5a\\x10\\x02\\xc3\\x00\\xfe\\x88\\x42\\x01\\x54\\x3b\\xd2\\x2e\\xfe\\x28\\xfe\\x08\\x74\\xc1\\x93\\xd4\\x7e\\xc7\\x47\\xe7\\x39\\xd7\\xac\\xff\\x0d\\xa7\\x3e\\x7a\\xfa\\x49\\xd9\\xe7\\xcf\\x70\\x77\\xb9\\xb1\\x02\\xac\\x2b\\x5d\\x1b\\xb2\\xd2\\x26\\xd2\\x68\\x0c\\x87\\xb5\\xa4\\x4e\\x47\\x78\\x78\\x82\\x2f\\x2c\\x0a\\x59\\xad\\x7e\\xbb\\xbf\\x5d\\xa0\\x29\\x0d\\xd5\\x2a\\x98\\x34\\x1a\\x83\\x9d\\x31\\xe8\\x50\\x6a\\x2f\\x1c\\xc3\\x62\\xd9\\x52\\x2d\\x55\\xd5\\x8a\\xda\\xb2\\xa8\\xc1\\xa9\\x32\\xf7\\x2d\\x14\\xc2\\x3f\\xcb\\xdc\\x14\\xc3\\xff\\x55\\x5c\\x5e\\x6c\\x5e\\xe1\\x0a\\x78\\xee\\xbc\\xcf\\xa7\\x3e\\xb1\\xd6\\xb6\\x96\\x47\\x84\\x5e\\x71\\x50\\x66\\x13\\xdf\\x2c\\x70\\x28\\xac\\x5e\\xcb\\xd4\\xac\\x5f\\x7c\\x34\\x42\\xfa\\xbb\\x2e\\xe6\\x87\\xbf\\xd3\\x75\\xaa\\x39\\xc3\\xeb\\x85\\xcf\\xcb\\xf1\\x7e\\x41\\x1f\\x7d\\x50\\xef\\x6f\\xd4\\x72\\x09\\x9b\\x33\\x82\\x25\\x11\\x0b\\x6f\\x32\\x54\\x54\\x64\\xb7\\x86\\xc3\\x46\\x8a\\xf4\\xf1\\x7c\\xdc\\x4a\\x5a\\x8b\\x4b\\xec\\xc9\\x50\\x32\\xd4\\x29\\x24\\x93\\xb8\\xa5\\x48\\x63\\xd1\\x74\\x0a\\x46\\x0b\\x81\\xbb\\x3b\\x04\\x9c\\xec\\x10\\x00\\x2e\\x11\\x40\\xe6\\xd8\\xca\\x6c\\xfd\\x59\\x78\\xad\\xf2\\x3d\\x94\\x12\\xc7\\xc7\\x42\\x39\\xb6\\xd7\\x9a\\x54\\x28\\x68\\x95\\xc0\\xdc\\x1c\\x76\\x32\\x96\\x61\\xe2\\xe5\\x58\\xa5\\x64\\x1e\\xff\\xb7\\x78\\x40\\x7c\\xc6\\x74\\xec\\xa5\\x70\\xeb\\xd2\\xc8\\x98\\x69\\x75\\xcb\\x9f\\x00\\xdf\\x82\\x2f\\x8e\\xee\\xdb\\x7d\\x58\\x7c\\x41\\x7c\\xf5\\xbe\\xbd\\xbb\\x77\\xad\\xee\\x5c\\xd2\\x05\\xea\\x37\\xae\\x15\\x26\\x69\\x34\\xcd\\x1e\\x72\\x59\\xc9\\x90\\x8d\\xc0\\x5f\\x21\\x7e\\x70\\xcd\\x7d\\x9c\\xf9\\xc0\\xe6\\xb7\\x5e\\x39\\xff\\x86\\x5b\\xbb\\x2f\\xee\\xf9\\x44\\x83\\xdf\\x08\\xe8\\x8e\\x85\\x62\\x09\\xda\\x83\\xff\\x0b\\xf7\\xec\\x3f\\x51\\x3d\\x01\\xf1\\x7c\\xf6\\x79\\x7f\\xa4\\x3c\\xef\\xa9\\xe9\\x62\\x6b\\xc8\\x12\\x0e\\x5b\\x48\\xc2\\xa3\\xcd\\x7b\\xd4\\x76\\x46\\x63\\x69\\x15\\x74\\x3a\\x8d\\xcc\\x2a\\x83\\x9e\\x32\\xa6\\xa6\\x85\\x28\\xcb\\x05\\xfc\\xaa\\x06\\x8f\\x54\\xa6\\x26\\x4f\\xa1\\x68\\x43\\x58\\x63\\x49\\x60\\x01\\xff\\xf5\\xe9\\x7e\\x3e\\xcb\\x48\\x54\\x84\\x27\\x78\\xcb\\x76\\x95\\x4f\\x29\\x28\\x64\\x7f\\xe7\\xd9\\x4a\\x8c\\x6d\\x3f\\xed\\xd4\\x19\\x3f\\xff\\xb2\\x61\\xc0\\xa7\\x8b\\xee\\x1e\\x91\\xac\\x7b\\x25\\x6c\\x0a\\x27\\x36\\x22\\x1d\\xa1\\x18\\x92\\xb4\\x5a\\x31\\xda\\xa1\\xa7\\xf5\\x2e\\x37\\x05\\x03\\x51\\x8a\\x32\\x13\\x66\\x6b\\xa7\\xa0\\xd0\\x59\\x13\\x84\\x94\\xbb\\xe8\\x13\\x52\\xa9\\xf8\\x14\\x12\\xb5\\xb1\\x14\\x91\\x92\\xf8\\xab\\x0b\\x01\\x22\\xf4\\x94\\xe1\\x83\\x22\\xa0\\xfa\\x1e\\x13\\x78\\x6a\\xd2\\xa2\\x8e\\xdf\\x00\\x26\\xfe\\x55\\x7c\\xaa\\xe7\\x65\\xf3\\x83\\xe0\\xaa\\x39\\xc3\\xff\\x74\\xc7\\xa6\\x2d\\xc4\\x8a\\xfd\\xcd\\x9f\\xf7\\x3c\\x7a\\xdf\\x23\\xaf\\xbd\\xdc\\xec\\xc6\\xc3\\x3d\\x5f\\x5d\\x77\\xc7\\xea\\xf5\\xf9\\x67\\xcd\\x0c\\x3d\\x9e\\x31\\xe9\\x88\\x45\\x13\\x0c\\x6a\\xb5\\x5e\\x0f\\x66\\xf7\\xd8\\x23\\xd1\\x00\\xa6\\x35\\x38\\x0d\\x30\\x28\\x74\\x72\\x1a\\x8b\\x85\\xb0\\x12\\xed\\x82\\x95\\xc1\\x72\\x59\\x95\\x2c\\xb8\\x6b\\x9f\\x39\\xe6\\xaf\\x68\\x76\\xa5\\x23\\xf2\\x43\\x40\\xcd\\xb4\\xf9\\xf4\\x78\\xe2\\x29\\x65\\x89\\x77\\xc0\\xc5\\xbf\\x6d\\x8e\\x11\\xac\\x1d\\x3e\\x9e\\x55\\x13\\xe4\\x81\\xb6\\xcc\\x02\\x47\\x23\\xc4\\xba\\x3d\\xc3\\x81\\x51\\x9c\\x88\\xc0\\x2f\\x40\\xef\\xaf\\x50\\xd7\\x7b\\xa9\\x4e\\xcc\\x8f\\xf0\\xfe\\x59\\x82\\x08\\x04\\x3d\\x7a\\x7d\\x80\\xf6\\x04\\x3c\\x1d\\x1e\\xc2\\x44\\x79\\x30\\x8c\\x83\\x1e\\x26\\xa9\\x85\\xab\\x6b\\xd0\\xda\\xb2\\x3c\\x6d\\x58\\x2a\\x53\\xbe\\x96\\x29\\x5c\\x0b\\x62\\x56\\x09\\xe2\\x2a\\xc1\\xa6\\x1c\\x68\\xe2\\x08\\xb7\\x2a\\x9e\\x39\\x25\\x51\\xfc\\x04\\xf0\\x81\\x21\\x6f\\x8a\\x17\\xff\\xfa\\xd9\\x2f\\xd5\\x93\\x6b\\x6e\\x99\\x7c\\x0f\\xd0\\xee\\x3c\\x7e\\x60\\xfe\\x4b\\x43\\x26\\x4c\\x69\\x5c\\x05\\x6c\\x54\\xa7\\xf8\\x5e\\x2f\\xf6\\x8b\\xb8\\xed\\xaf\\x55\\xa0\\xfd\\xf9\\x64\\xd9\\x71\\xd0\\xfa\\xb7\\x37\\x4e\\xd5\\x15\\xff\\x13\\x4c\\x8e\\xa1\\xab\\x2b\\x74\\x17\\xaf\\x65\\x34\\x4b\\xb1\\x62\\x6c\\x54\\x3a\\xe2\\x4c\\x04\\xe9\\x04\\x5d\\x42\\x95\\x12\\xc6\\x4e\\x41\\x4b\\xc0\\xe9\\x60\\xc9\\xa4\\xbd\\x43\\x60\\x92\\x64\\x20\\x1a\\xf5\\x74\\x08\\x51\\x16\\x6b\\x50\\x33\\x6f\\xa6\\x9c\\xcc\\x89\\x4a\\x99\\x5a\\x23\\x83\\x5a\\x92\\x21\\x5a\\x93\\x61\\x9d\\x89\\x48\\x35\\xfa\\x86\\x54\\x02\\x69\\xa9\\x61\\x99\\x8c\\x40\\x99\\x64\\xb8\\xae\\x33\\xfe\\x43\\x57\\x5d\\x3c\\x2e\\x39\\xce\\x60\\x69\\x28\\x1c\\x31\\x8d\\x1e\\x2a\\x49\\x20\\xfe\\x0a\\x25\\x98\\xf7\\xe2\\x50\\x24\\x81\\xf8\\xbf\\x97\\x89\\x9f\\x8b\\x2f\\xbc\\x09\\x2e\\xfb\\xcf\\x01\\xaa\\xf8\\xf6\\x3b\\xfd\\x3f\\xad\\xe1\\xdd\\x9d\\x73\\xc4\\xad\\x48\\x16\\xf1\\xa8\\x2c\\x8b\\x78\\x28\\x56\\x06\\x12\\x00\\xfb\\x19\\xac\\xff\\x2b\\x26\\xf3\\x13\\x52\\x16\\xf2\\x7d\\xac\\x10\\xae\\x7d\\x80\\x8f\\xfa\\xe9\\x28\\x5d\\x44\\x25\\x0b\\xd8\\x56\\x81\\x61\\x0a\\x18\\x9f\\x3b\\xe4\\x6e\\x13\\x42\\x1c\\xa2\\xe1\\xd0\\x12\\x58\\x59\\x26\\x6f\\xc0\\xbc\\x28\\xa5\\xe3\\xfe\\x9b\\x2c\\x7d\\x89\\x0a\\xb3\\x4d\\x0a\\xf8\\x6f\\xe1\\x43\\x9b\\xa0\\x20\\x8d\\x1a\\x4b\\x63\\xd1\\xa8\\x19\\x74\\x75\\x1f\\xda\\xc2\\x4e\\x99\\xd0\\x70\\x31\\xf1\\xd8\\xd5\\xbb\\xfc\\x3f\\x6d\\xe7\\xdd\\x1d\\x1d\\xe2\\x31\\x35\\x81\\xa1\\x4c\\x6b\\x38\\x40\\x4d\\x53\\x7b\\xef\\x39\\x0d\\xad\\x70\\xa1\\x8f\\x4c\\x47\\x5d\\x6e\\xb7\\x06\\x73\\x70\\x66\\x87\\x39\\x10\\xb4\\x79\\x3b\\x05\\x1b\\x2b\\xb7\\x1c\\xe9\\x5d\\x9d\\x82\\x46\\xaf\\x07\\x9d\\x82\\x5e\\x69\\xdb\\xcd\\xec\\x27\\xd5\\x51\\x95\\x85\\x52\\x69\\x58\\x79\\x6b\\xa1\\x3e\\x47\\xa9\\xbb\\x11\\x75\\x36\\x82\\x6f\\x72\\x2a\\xf5\\x01\\xd4\\xd2\\x98\\x6d\\x74\\x24\\x8e\\x89\\x73\\x63\\x2f\\x48\\x5d\\x8d\\xe4\\x1b\\x8a\\x3a\\xfd\\x54\\xfc\\x59\\xe9\\x6f\\xc4\\xf7\\x83\\x57\\xce\\xde\\xa5\\x03\\x8b\\xe0\\x9c\\x29\\xb8\\xf7\\xc7\\x4b\\x5c\\xc6\\x88\\xdf\\xac\\xc4\\x6d\\x21\\x75\\x9c\\xc3\\xa1\\xd7\\xb3\\x36\\xd2\\xe6\\x0f\\x68\\x79\\xb8\\xb7\\xb4\\x80\\xa6\\x6d\\x1d\\x82\\x85\\xa6\\x0d\\x9d\\x02\\x4d\\x00\\x1f\\x34\\x18\\x2c\\xfc\\x63\\xcb\\x34\\x67\\xca\\x33\\xcf\\x63\\x2d\\xcc\\x51\\xe3\\x15\\x4a\\x55\\xd7\\xd1\\x50\\x8a\\x95\\x20\\x8c\\x58\\xc4\\xc5\\xcd\\xc7\\x58\\x05\\xab\\x91\\x9c\\xd3\\xb3\\xfb\\x3f\\xbf\\x82\\xd1\\xa0\\xf2\\xb2\\x49\\xd7\\xfd\\x6d\\xd9\\xcc\\x19\\xa3\\xc9\\x6a\\xf3\\xd1\\x57\\xfe\\x28\\x06\\xe6\\x4e\\xdb\\xf5\\xc0\\xf9\\xcb\\xef\\x39\\xfc\\xea\\x47\\xe0\\x5d\\xfb\\x5f\\xc1\\xd8\\x66\\xcf\\xd9\\x6d\\xee\\x00\\x1e\\x7b\\xe8\\xb6\\xc5\\x2b\\x94\\xfa\\xb1\\xf5\\x4a\\xfd\\xd8\\xe2\\x74\\x35\\x13\\x63\\xa3\\x51\\x92\\x64\\x59\\xcc\\xe7\\x2b\\xf1\\xbb\\x0c\\x86\\xe2\\x12\\xb8\\xfc\\xf6\\x56\\xc1\\x8d\\xc5\\x18\\xc6\\x62\\x29\\x40\\xec\\xa2\\xf0\\x0d\\xd0\\x28\\x0f\\xc4\\x2f\\x6a\\x4d\\xf5\\xf9\\xaa\\x02\\xe7\\x52\\x00\\xec\\xea\\xfa\\xb0\\x8d\\xa2\\xe4\\xd3\\xb0\\x1c\\xe3\\x39\\x0d\\x40\\x1e\\x9b\\x24\\x51\\xdc\\xa7\\x2c\\x8c\\xd4\\x94\\x4f\\x29\\xd9\\x5b\\xd1\\x36\\xa1\\x9e\\xa8\\x30\\x2e\\xe8\\xe1\\xd5\\xac\\x92\\x53\\xd4\\x55\\x61\\xa5\\x55\\xc0\\x6b\\xd4\\xed\\x04\\xa6\\xe1\\xfc\\xb9\\x12\\x15\\xb1\\x24\\x94\\x59\\x1c\\x47\\xbc\\x4d\\x9c\\xc0\\x82\\x50\\x03\\xb4\\xa5\\x0b\\x13\\x9a\\x98\\x2e\\x66\\xf6\\xe9\\xb8\\x22\\x82\\xe0\\x7c\\x44\\x49\\xa9\\x4b\\x93\\xd0\\xb4\\x08\\x89\\x84\\x11\\x33\\xc2\\xf3\\x63\\xb1\\x40\\xef\\x2a\\x04\\x0d\\x5c\\xa6\\xe5\\xa7\\x2c\\xfb\\x90\\xb2\\x05\\x13\\x2a\\xf8\\x56\\x09\\x8d\\x00\\xd7\\xca\\x90\\x04\\x19\\xd6\\x42\\xb9\\x43\\x0c\\xa1\\x1a\\x0d\\x03\\xbc\\x74\\x9c\\xe4\\xec\\x1a\\xde\\x71\\xe4\\xa5\\x2f\\xfe\\xb5\\xf3\\xf5\\xa7\\x57\\x6e\\x8b\\x8f\\xe0\\xed\\xcd\\x85\\xf5\\xe3\\x02\\xb5\\xf3\\x67\\x4e\\xbd\\xf6\\xe7\\xad\\xe3\\x56\\x0f\\xff\\xc3\\xa5\\x9b\\x47\\x12\\x27\\x9e\\x3b\\x70\\x4c\\xec\\x4d\\xef\\xda\\xb6\\xe1\\x8a\\xf8\\xc7\\xab\\x79\\xe7\\xa8\\xa6\\xc8\\xe8\\xa6\\xce\\xd9\\x7f\\x5a\\x7e\\xe5\\xd7\\x17\\xcd\\x9f\\x7b\\xe2\\xbc\\x5b\\xd7\\x54\\x9d\\xdd\\xb5\\x74\\x05\\xd2\\xbf\\x30\\xf2\\xa1\\x76\\x48\\x9c\\xd5\\xd3\\xd3\\x65\\xb4\\x4e\\x0b\\x43\\x65\\xb7\\xcb\\xe8\\xf2\\xfa\\x1c\\x00\\x78\\x01\\xf4\\x51\\x2c\\xfa\\x4e\\x28\\x0e\\xe0\\x38\\x57\\x87\\xe0\\xe0\\x38\\x68\\xe9\\x38\\x02\\x40\\x17\\x06\\x07\\x6a\\x6d\\x9c\\x11\\x2f\\x99\\xd1\\xc9\\x2a\\x0a\\xa1\\x42\\x80\\xee\\x1d\\xe0\\x26\\x0c\\x69\\x23\\xf0\\xbb\\x90\\x7a\\x33\\x92\\x77\\x9d\\x6d\\x2e\\x9b\\x69\\x6e\\x03\\x58\\xcf\\x4c\\xf1\\xce\\xc1\\x42\\xb3\\x40\\x81\\x8e\\xa9\\x6f\\xfe\\x63\\xe5\\xe8\\x99\\xf5\\xe4\\x3a\\xb8\\x1b\\x0f\\x80\\x75\\xff\\x61\\x70\\x6a\\x37\\xb8\\xed\\x46\\x70\\xda\\xf2\\x1e\\x98\\xd2\\xec\\x3e\\xbb\\xcd\\x23\\xdb\\xbe\\x66\\x94\\x33\\xa7\\xc6\\x43\\xcb\\x1c\\x44\\x5a\\x39\\xe0\\x23\\xad\\x5e\\x3b\\xc7\\x19\\xac\\x86\\x50\\x98\\xf5\\x75\\x0a\\x2c\\x6b\\xd1\\x5a\\xe0\\xb4\\x2d\\x2c\\xa9\\x45\\x8c\\xc8\\x5a\\x52\\xcd\\xac\\xd7\\xd7\\x3c\\x4b\\x1e\\x6f\\x58\\x3e\\xf2\\xf0\\xc4\\x33\\xb8\\xac\\x7f\\x6b\\x43\\xc8\\x3c\\x83\\x4a\\x1b\\x1b\\xd2\\x38\\x18\\x22\\xfa\\xe2\\x8d\\x83\\x67\\x34\\xfc\\xf6\\x21\\x34\\x27\\xd1\\x67\\xc5\\xdb\\x4f\\x89\\xa7\\xc5\\x0f\\x3c\\xc4\\xcf\\xa6\\x5b\\xc4\\xa7\\xef\\xfe\\xa6\\xa4\\x27\\xed\\x20\\xbf\\x9c\\xf3\\x3c\\x68\\x1c\\x01\\xfd\\xe3\\x33\\xa2\\x28\\x6e\\xfe\\x0b\\xe0\\x80\\x7e\\xd9\\x9a\\xf6\\x51\\x0f\\x3c\\x71\\x76\\x09\\x54\\xbe\\xe4\\x45\\x0b\\xc5\\xe3\\x50\\xf7\\x52\\xf0\\x0c\\xa5\\xe0\\xdc\\x0b\\xb0\\x59\\x69\\x0e\\xa7\\x78\\x1e\\x8b\\x18\\x0c\\x45\\x2c\\x45\\x79\\x31\\xac\\xb0\\x08\\xe7\\x9d\\xbc\\xf3\\x38\\xe0\\xd2\\x9c\\x10\\xe6\\x4d\\x26\\x3e\\x4c\\xc4\\x75\\x71\\x7f\\x87\\x10\\x67\\x75\\x4c\\x87\\xa0\\x23\\x31\\x55\\xcb\\xa1\\xb3\\xac\\x4c\\xc5\\xeb\\x90\\xad\\xc3\\x91\\xcb\\x29\\x59\\x26\\x86\\x76\\x50\\x34\\x24\\x71\\x38\\xe5\\x20\\x80\\x69\\x80\\x36\\x94\\x0a\\x1a\\x83\\x02\\xb7\\xaf\\xb9\\x1c\\x0a\\x65\\x79\\xec\\x9e\\x9a\\x69\\x7a\\xff\\xb2\\xd4\\xc5\\x97\\x4e\\x1d\\xbb\\x86\\xdb\\xb8\\xf3\\xa6\\x4f\\x8a\\x2f\\x2a\\x9e\\x31\\x6b\\xd4\\x03\\xaf\\x9e\\xea\\x05\\xd5\\x60\\x5a\\xa5\\x75\\xc7\\xf9\\xcf\\x3c\\x97\\x14\\xdf\\x78\\xde\\xe9\\xbd\\x79\\xe7\\xcc\\xd9\\x94\\x6e\\xa3\\x56\\x77\\xdf\\x9e\\x7f\\xba\\xf9\\x77\\xc4\\x27\\x0b\\x8e\\xa0\\xd6\\xa8\\x03\\xe2\\x68\\xaa\\x0a\\xee\\xa9\\x10\\x36\\x2d\\x5d\\x6c\\x61\\x09\\xd6\\x60\\x08\\xb9\\x60\\xdc\\x12\\x8e\\xd0\\x36\\xa3\\x0d\\x6e\\x27\\xa3\\x91\\xc3\\x39\\x7f\\xa7\\xe0\\xe6\\xbc\\x38\\xd4\\x6b\\x24\\xd9\\x17\\x48\\x41\\xd5\\x25\\x97\\x97\\xab\\xcf\\x40\\x5d\\x2b\\xc8\\x08\\x72\\xda\\x48\\x81\\x46\\x80\\xf6\\x52\\x82\\x40\\xd6\\x4a\\xaa\\x00\\xac\\x3f\\x60\\x26\\xa7\\xa5\\xe7\\x18\\x2a\\x7a\\x9b\\xb7\\xcd\\x06\\xcb\\x86\\x0a\\x6d\\x02\\x10\\x6f\\x5a\\x9c\\x10\\xbf\\xf8\\xe7\\xf8\\xeb\\xa3\\x35\\x02\\x1e\\x14\\x26\\x6c\\xa2\\xc9\\xf7\\xdd\\xcd\\xe2\\xae\\x6f\\xb4\\xda\\x9e\\x6f\\xef\\x17\\xeb\\x0f\\xf5\\x3c\\xf1\\xcf\\x53\\x36\\x13\\x28\\x7f\\xa8\\x62\\xe9\\x54\\xb9\\x6e\\x65\\x9f\\xf8\\x39\\x71\\x9c\\x9a\\x88\\xf1\\xd8\\x79\\xe9\\x7a\\x3b\\x6f\\x30\\xb8\\x58\\xce\\x66\\xe3\\x79\\x12\\x50\\x50\\x7d\\x3b\\x5d\\x80\\x63\\xb9\\x35\\x82\\x8d\\x66\\x29\\xa4\\x01\\x75\\x98\\x8e\\xbe\\x40\\x08\\x9a\\xca\\x4d\\x69\\x13\\x81\\xbe\\x3c\\x6b\\x22\\x4c\\x26\\x44\\x3d\\xe7\\x86\\xe1\\x8c\\xcc\\xc5\\xaa\\x88\\x65\\xcd\\xb0\\xb1\\xca\\x8f\\xad\\x2f\\x17\\xab\\x07\\x0c\\x48\\xc6\\xba\\xef\\xe0\\x7d\\xf4\\xe1\\x84\\xfb\\xc9\\x1d\\x97\\xb4\\x18\\xd2\\x5e\\x4f\\xb4\\xa0\\xc2\\x5d\\xf0\\x2d\\xfb\\xed\\x41\\x38\\xcb\\xbf\\x8d\\x0a\\x7f\\x76\\xfb\\x63\\xec\\x27\\xab\\xec\\xb3\\xb6\\x7f\\xd2\\x75\\xae\\x54\\x9e\\x3f\\xf2\\x5b\\x7c\\xd0\\x6f\\x29\\x85\\x16\\x26\\xc9\\x17\\x7a\\x7d\\xbe\\x48\\x38\\x4c\\x17\\xd2\\x65\\x54\\x79\\x00\\x1a\\x93\\x00\\x13\\x60\\xe2\\x25\\xc8\\x8d\\x21\\x4a\\x4a\\xa0\\x61\\xd1\\x96\\x90\\x71\\x37\\xda\\x67\\xf2\\x0e\\x3b\\x21\\x43\\x60\\x66\\x2f\\x92\\x73\\x56\\x3f\\xf5\\x7b\\x6e\\x4c\\x3c\\xeb\\xc5\\xd4\\xca\\xb7\\xdf\\x6a\\x47\\x86\\xc2\\xfb\\x3a\\x32\\x1b\\x5e\\xbe\\x43\\x14\\xaf\\x3b\\x78\\xdb\\x65\\xcb\\x46\\x1e\\x30\\xe1\\x53\\x4d\\x5b\\x26\\xdc\\x28\\xfe\\x74\\x8b\\xf8\\xa5\\xf8\\xca\\xdb\\xe0\\xca\\xb3\\x7f\\xcd\\xf3\\x65\\x9e\\x9b\\xf9\\xa4\\x78\\xf0\\x9f\\x2f\\x7e\\x94\\x04\\x9b\\x82\\x23\\x47\\x06\\xc5\\xf1\\xa5\\xc5\\xd0\\xed\\xeb\\x3d\\x0b\\xba\\xff\\x2a\\xe9\\x83\\xab\\xc4\\xd1\\x9a\\x12\\xc5\\x9e\\xa6\\xd3\\x21\\xd2\\xae\\x31\\xda\\x8d\\xfe\\x00\\x65\\x62\\x5d\\x24\\x03\\x18\\xe8\\x00\\x30\\x5e\\xa3\\x46\\x63\\x87\\x21\\x2f\\x3c\\x44\\x20\\x43\\x8f\\xae\\x58\\x1e\\x55\\x37\\x90\\x0c\\xb9\\xa7\\x42\\x53\\xb7\\xf9\\x00\\x95\\xa8\\x61\\x01\\x5b\\x5b\\x5d\\x95\\xb0\\x10\\x57\\x99\\xf1\\x11\\xe6\\x1d\\x2f\\xe0\\xf6\\xcb\\xcc\\xe0\\x3a\\xf3\\xe6\\x9e\\x6b\\x66\\x89\\x54\\x7b\\xc3\\x9d\\xe2\\x3b\\xa7\\x57\\x31\\x4c\\xc0\\xcd\\x92\\x3f\\x35\\x37\\x7b\\xce\\xdd\\x47\\x4c\\x43\\x35\\x7a\\xe7\\x08\\x71\\xf6\\xeb\\x4e\\x73\\xe8\\x1a\\x60\\x26\\xdf\\xfd\\xf5\\x1f\\x94\\x69\\x84\\xe0\\x49\\x95\\xc6\\x50\\x9d\\x5e\\xef\\x69\\x0d\\xe2\\x61\\x2e\\xc5\\x16\\xa5\\x6b\\xa2\\x9e\\x50\\xc8\\xeb\\xf5\\xfb\\x8a\\xa0\\xc7\\x6b\\xd5\\x68\\xb5\\x46\\x83\\xc1\\xea\\x23\\xca\\xca\\x3d\\xd1\\xa8\\x33\\xe1\\x6c\\x17\\x12\\x4c\\xd0\\xdf\\x22\\x04\\x31\\x9f\\xc3\\x42\\xb4\\x08\\x16\\x4e\\xaf\\x45\\x77\\xa5\\x39\\xe6\\xd5\\x86\\xbc\\xf0\\x89\\xcf\\x33\\xa1\\x19\\x4d\\x1c\\xb3\\xab\\xeb\\x81\\x64\\x5e\\xb1\\x61\\x20\\xa1\\x26\\x90\\xa5\\x41\\xf6\\x2e\\x58\\x43\\xdc\\x5c\\x3f\\x74\\xc4\\x78\\xc7\\xdc\\xa5\\x26\\x30\\x7f\\x8d\\xe7\\x8d\\x87\\x5f\\x7c\\xc8\\x18\\x8a\\xe0\\x33\\x07\\x5f\\x5a\\x94\\xe3\\x94\\xd5\\x4e\\xde\\xb7\\x7c\\xee\\x3a\\x6b\\x9d\\xf1\\xd1\\xea\\xd1\\x6b\\x2f\\xc4\\x13\\xce\\xc6\\x9e\\x35\\x37\\xed\\x5d\\xbf\\x31\\x5e\\xf7\\xa7\\x17\\xb8\\xb9\\x97\\x2c\\xc8\\x32\\xcc\\xfa\\x96\\xce\\x40\\xe4\\xb3\\xe2\\x33\\x75\\x52\\xfe\\x48\\xe1\\x1b\\xb5\\x21\\x98\\x22\\xc5\\x0e\\xa1\\x7a\\x35\\x8c\\xc5\\xa6\\xa4\\x5d\\x7a\\x8d\\xc1\\x40\\x31\\x2c\\x4d\\x43\\xe3\\x44\\xd9\\x1d\\xb4\\xc1\\x64\\x80\\xce\\x9b\\x56\\xa7\\x45\\x2a\\x91\\x16\\x18\\x9d\\x8e\\x30\\x11\\x08\\x1a\\xaf\\x43\\x20\\x6c\\x03\\x26\\x9f\\x95\\x0a\\x73\\x5b\\x5d\\xa6\\x1a\\x51\\x61\\xdf\\x57\\x60\\x2a\\xe0\\xae\\x84\\xa7\\x09\\xbc\\x79\\xc0\\xdc\\x73\\x99\\xf9\\xc1\\xb9\\xf7\\x3b\\x0e\\x4e\\x94\\x2b\\x30\\x27\\x1e\\x76\\x3c\\xb0\\x40\\xaa\\xa8\\x2c\\xea\\x06\\x6f\\xa1\\xc7\\x27\\x96\\x75\\x63\\x72\\x7d\\x09\\xf5\\x32\\xd5\\x0e\\x2d\\xcd\\xaa\\x74\\x1d\\x1b\\xb4\\xd9\\xb0\\x80\\xdb\\xe8\\x76\\x21\\xb0\\x3e\\xbf\\xc7\\x63\\x77\\x51\\xae\\x50\\xd8\\x6f\\x73\\xd9\\x39\\x18\\x06\\x04\\x59\\xb8\\x07\\xdc\\x04\\x47\\xa0\\x8b\\x4a\\x93\\x9e\\x84\\xe6\\x2a\\x6f\\xae\\x72\\xec\\x25\\xdf\\xc0\\x59\\x15\\x40\\x98\\x6c\\x18\\x96\\xf3\\x0b\\xac\\xa9\\xfc\\xb9\\x67\\x98\\xf8\\x24\\x22\\x44\\x79\\x63\\xea\\x11\\x00\\x20\\xd0\\x82\\xb7\\x8f\\x99\\x7a\\xd6\\x99\\x8e\\xee\\x8e\\x7c\\xf4\\xa2\\x30\\xa3\\xa4\\x9d\\x70\\xc4\\x17\\x16\\x97\\xe3\\xe9\\x55\\x66\\x70\\x9f\\x79\\xbb\\x98\\x00\\x73\\xaf\\x34\\x89\\x17\\x89\\xef\\xce\\x5e\\x80\\x24\\x22\\x3a\\x5f\\x7e\\xc1\\x29\\xf6\\xdc\\xe4\\xec\\x15\\xff\\x8d\\x9b\\x50\\xa1\\x89\\x38\\xa9\\xa7\\xd6\\xd3\\x8c\\x6f\\x2a\\x91\\x75\\x86\\xcc\\x5f\\xbb\\x1f\\xfa\\x04\\x1d\\xe9\\x72\\xcc\\xec\\xf1\\x98\\xb4\\x5a\\xbb\\x45\\x93\\xe3\\xaf\\xf5\\xfa\\x6c\\xae\\x56\\x81\\xb3\\x01\\x33\\x66\\xd2\\x62\\x5a\\xc2\\xa8\\xa3\\xfb\\x91\\xd7\\xa6\\x32\\x9a\\x22\\xbf\\xbb\\x39\\x23\\x5a\\xa5\\x75\\xa0\\x02\\x2c\\x5b\\x28\\xa3\\xef\\xb4\\x03\\xd2\\xd8\\x3e\\x3e\\x0a\\x2c\\x59\\x30\\x2c\\x91\\x36\\x20\\x01\\xfb\\xd3\\xd9\\x92\\x0e\\x70\\x0d\\xfb\\xc9\\x79\\xce\\x5e\\x59\\x8e\\x62\\xb8\\xc7\\xc6\\x49\\xb5\\x33\\xe3\\xd3\\x71\\xa3\\xce\\x64\\x82\\x61\\x0c\\x4d\\x93\\xd0\\x19\\x60\\xac\\x84\\xde\\xa0\\x87\\xfe\\x99\\xc1\\xa0\\xb5\\xc8\\x2c\\xe7\\x5a\\x12\\x86\\x39\\x8e\\x3c\\xb6\\xa4\\xdf\\xd9\\x4a\\x40\\x29\\xe3\\xcd\\x6c\\x26\\xf0\\xfc\\x56\\xdb\\xb6\\x85\\xa8\\x3e\\x71\\xed\\x3a\\xdb\\xfa\\x05\\xe8\\x5c\\xe0\\xbd\\x5d\\x3d\\x7f\\x76\\x36\\xe2\\xbb\\xba\\xf0\\x2a\\x89\\x4b\\xae\\xf7\\x09\\xb8\\xa6\\xd3\\xe1\\x9a\\xfa\\xb0\\xb9\\xe9\\x4a\\xce\\xed\\x21\\x30\\x87\\x83\\xb1\\x62\\x66\\xad\\xd9\\x6b\\xb1\\x58\\xad\\x01\\x2f\\xef\\xf4\\x5b\\x1d\\x0e\\x1f\\xe7\\x34\\x63\\x8c\\x87\\xf4\\x7a\\x2d\\x4e\\x07\\x0d\\x67\\x65\\x30\\x10\\x6d\\x82\\x01\\x64\\x57\\x15\\x6d\\x73\\xbe\\xce\\x56\\x97\\x42\\x2c\\xfc\\x70\\x43\\x54\\x66\\x2b\\xda\\x24\\x66\\x7e\\x19\\x30\\x01\\x29\\xe3\\x0c\\x64\\x29\\x5f\\x0b\\xd5\\x18\\x07\\x57\\x95\\x00\\xa1\\x5a\\xe8\\x80\\xd4\\x82\\x8f\\x4d\\xf5\\xb5\\x7e\\xae\\x7c\\x94\\xb3\\x75\\xcc\\x9c\\x25\\x9e\\x8f\\xdd\\x0f\\xde\\x6a\\x9e\\x62\\x7a\\x77\\xbc\\xf8\\x98\\xf8\\x81\\x0e\\xaf\\xd4\\x88\\x2b\\xdd\\xe4\\x25\\xd3\\x04\\xd3\\xa4\\xa7\\x1c\\x0b\\x17\\x3f\\xbe\\x63\\xe7\\xb9\\xc1\\xe3\\x3c\\xc3\\xf1\\xf6\\x9e\\x23\\x49\\xe2\\xd9\\x84\\xf8\\xf0\\x0e\\x79\\x6d\\xa7\\xf4\\x7e\\xad\\x2d\\x80\\xe7\\xb5\\x06\\xbb\\x22\\x3d\\xc2\\xe6\\x70\\x98\\xe3\\x91\\x88\\x9f\\xf2\\x78\\xfc\\x7e\\x43\\x09\\x5c\\xf7\\x92\\x92\\x54\\xa5\\xa1\\xb2\\x76\\x50\\x65\\x49\\x89\\x39\\xe2\\xf7\\xdb\\xcc\\x08\\x5c\\xa6\\x2c\\x48\\x13\\xa9\\x9a\\x1a\\xad\\x9b\\xa2\\xb4\\x5a\\x7e\\xae\\xa0\\xb5\\xa1\\x27\\x84\\x17\\xce\\x15\\x70\\x16\\xeb\\x13\\x0b\\x48\\xd7\\x47\\x0d\\xa9\\x8c\\x82\\xb6\\xe6\\x65\\x85\\x32\\x85\\x7c\\xd2\\xff\\xa8\\x18\\x04\\x9e\\x11\\x29\\x3b\\xa1\\x51\\xb8\\x12\\x15\\xc3\\x23\\x5f\\x5b\\x27\\xd4\\x2f\\x64\\x15\\xa0\\x5c\\xff\\x44\\x1e\\x7a\\x7a\\xc9\\xf8\\x65\\xbe\\xd7\\x6f\\xdc\\x78\\x99\\x65\\xff\\x56\\x33\\xee\\x32\\x2f\\xb9\\xcb\\x38\\xc3\\xb9\\xaa\\x8c\\xd0\\xde\\xdf\\x69\\x06\\xdf\\x9a\\xbb\\xee\\x32\\x94\\x97\\xf9\\xe7\\x07\\x9e\\xed\\x34\\xe3\\xa4\\x79\\xd3\\x5f\\x36\\x99\\xc5\\xc5\\x6d\\x0b\\x87\\x15\\x2f\\x5d\\x71\\xfe\\xa0\\x26\\x62\\x27\\x3a\\x3d\\xe7\\xe6\\x37\\x06\\xe6\\x3b\\x2c\\xc5\\xb1\\x38\\xf1\\x92\\xf4\\xef\\xb9\\xe5\\xa5\\x25\\xb5\\x36\\x23\\x39\\x12\\xfd\\x0b\\x46\\x4e\\x63\\xa1\\x4f\\xf4\\x29\\xb4\\x4d\\xa4\\x74\\xbf\\x36\\x31\\x5d\\xe8\\xd5\\xe9\\xf5\\x2e\\x27\\xa2\\x59\\xd6\\x50\\x4e\\x2a\\x40\\xfb\\xa1\\x2b\\xe1\\xf2\\x40\\x4f\\x55\\xe7\\xc1\\x71\\x0f\\x61\\x72\\x74\\x0a\\x8c\\xc9\\xeb\\x93\\xf2\\x1d\\x4a\\x49\\x63\\x59\\x96\\x99\\x07\\x64\\xd1\\xcd\\x52\\xd9\\x44\\xad\\x2c\\x4f\\x04\\x28\\xbc\\xe7\\x2c\\x42\\x1f\\xcd\\x08\\x0a\\xc8\\x57\\x8e\\x98\\xc1\\x87\\xe6\\xa3\\xef\\xaf\\xe9\\xf9\\xfc\\x63\\xcf\\x43\\x77\\x96\\x2d\\x70\\x57\\x0b\\xc0\\x58\\x17\\x19\\x3e\\xcd\\x7a\\xe6\\x80\\x19\\x1c\\x05\\x0f\\x21\\x37\\x08\\x4e\\x35\\x4e\\x4e\\x3f\\xeb\\xdb\\xbd\\xcb\\x6e\\x02\\xa5\\x0f\\xc1\\xd8\\x7b\\x06\\xb5\\xca\\xdd\\x7c\\xee\\x32\\xf9\\xee\\x59\\x1c\\x87\\x6a\\x79\\x6c\\x1a\\x62\\x49\\xae\\x5e\\x85\\x1a\\x6f\\xd3\\x90\\xb7\\x48\\xb6\\x17\\xfe\\x5b\\x73\\x15\\xf5\\x1a\\xf4\\xf9\\xca\\xb0\\xd1\\xe9\\x70\\xa1\\xd9\\x4e\\x10\\x61\\xca\\x4c\\x95\\x57\\x78\\x79\\x0c\\xab\\x20\\xec\\x76\\xbd\\xd5\\x1a\\x83\\x0e\\x87\\x95\\xd4\\x17\\x77\\x08\\xfa\\xac\\x83\\x91\\x71\\x87\\x40\\x4e\\x37\\x64\\x7c\\x0b\\xbb\\x46\\x46\\x71\\x89\\x84\\xa3\\x4a\\xfe\\x80\\x94\\x42\\xa0\\x52\\x5c\\x6e\\x1f\\x06\\x79\\xb5\\x07\\x9a\\xab\\xae\\xde\\xee\\x7b\\x45\\xbc\\xeb\\xd4\\x1f\\xc5\\xde\\x6b\\x11\\xbc\\xcb\\x11\\x60\\x1c\\x31\\x7c\\x42\\x24\\x19\\x69\\x1a\\xd4\\x38\\xa9\\xe7\\xbd\\xdd\\x5b\\xba\\x5f\\xbb\\xec\\xc6\\x2b\\xff\\xf0\\xfa\\x66\\xaa\\x62\\xdd\\x7d\\xc9\\x69\\x0b\\x10\\xa4\\xcb\\xd6\\x5f\\xf7\\x22\\x88\\x97\\x5b\\xb6\\xd9\\xa7\\x24\\x5d\\x2e\\x5f\\x71\\xb2\\xaa\\x66\\x4a\\xcf\\xc9\\x67\\xde\\x7f\\x59\\xbc\\xe2\\xc9\\xa7\\xfe\\x21\\x01\\xbc\\x48\\x9c\\xbc\\xe4\\x83\\xe4\\x16\\xa8\\xfb\\x4b\\x90\\x6c\\x36\\xb3\\xd3\\x59\\x96\\x20\\x0c\\x1e\\x4f\\xc8\\x47\\xf8\\x4a\\xcb\\x3c\\x06\\x03\\xa6\\xd5\\x46\\x5a\\x05\\x87\\x96\\xc1\\x8a\\x72\\x59\\xcd\\x9c\\x6c\\x79\\xb4\\x99\\xd2\\x13\\xa3\\xb2\\x84\\xbc\\x79\\x12\\x39\\x14\\x91\\x35\\x6c\\x1e\\x7b\\xef\\xcd\\x12\\x49\\xef\\xc6\\x63\\x45\\x15\\x8d\\x8a\\x38\\x9b\\x2f\\x32\\x5d\\x7d\\x76\\x43\\x96\\xc6\\xd7\\x2e\\xf3\\xf5\\xae\\x5a\\x6c\\x9f\\x18\\xcb\\x88\\x31\\x66\\xcd\\xdd\\xc5\\xa9\\x21\\xa8\\xe9\\x18\\xbf\\x22\\xcb\\xec\\x2b\\x3d\\xab\\xd1\\xe2\\x28\\xed\\xfb\\x30\\xf6\\x30\\x62\\x61\\x6c\\x52\\x3a\\xa9\\x31\\x21\\x80\\xdb\\x50\\x38\\xec\\x35\\xb2\\x1e\\xd6\\x13\\x89\\x7a\\x43\\x81\\x10\\x7c\\x52\\x5e\\x4f\\xb8\\x53\\xf0\\x10\\x3c\\xde\\x21\\xf0\\x24\\xa3\\x87\\xde\\x13\\xab\\x22\\x7a\\xc7\\x72\\xd1\\x3a\\xf2\\x64\\xb3\\x8e\\x46\\x25\\x6a\\xf7\\xcf\\xf9\\x80\\x79\\xee\\x5f\\x00\\x84\\x64\\xc4\\x5a\\x40\\xae\\x6b\\xdf\\x90\\x71\\xfc\\xc0\\x57\\xaf\\xaa\\x7d\\xbe\\x09\\x6b\\x2b\\x89\\xb1\\xe2\\x3b\\x07\\x10\\x90\\xcb\\x51\\xe0\\x20\\xdf\\x64\\x15\\xaf\\x8f\\x6c\\x3f\\xbb\\x3e\\xe7\\xf1\\x19\\xc9\\x5f\\x97\\x23\\x43\\xad\\x89\\x4b\\x32\\x41\\x6f\\x90\\xba\\x82\\x78\\x01\\x33\\x63\\x51\\x78\\xc2\\x92\\x24\\x0f\\xe3\\x40\\xa3\\xdd\\xe1\\xa0\\x8d\\x3e\\x8b\\xcf\\x12\\x8b\\x87\\xb0\\x56\\x21\\xc4\\xb8\\xb5\\xad\\x30\\xe8\\xb0\\xd3\\x32\\x9b\\xaf\\xc5\\x01\\x15\\x3f\\xdd\\x9f\\x99\\x78\\x20\\x91\\xb2\\xfb\\xac\\x96\\x0d\\xc7\\x63\\x4a\\xe9\\x5c\\x84\\xc0\\xb1\\x6c\\x46\\x22\\x00\\xf0\\x52\\xe9\\x79\\x34\\x2f\\xf5\\xb5\\x7b\\x26\\x12\\xd1\\x4f\\xce\\x37\\x89\\x6e\\x53\\xd7\\xbb\\x37\\x36\\x94\\x8b\\x67\\xdf\\x90\\x1e\\xe1\\xb4\\x2f\\x1b\\x89\\x79\\xf2\\xb3\\x78\\xe8\\x0e\\x70\\x5c\\x3f\\xf6\\xb7\\x5f\\x25\\x6a\\xe2\\xa7\\xc5\\x83\\xe2\\x4f\\xe2\\xd7\\xf2\\x53\\x74\\x90\\x50\\x9e\\x34\\xf4\\x19\\x66\\x42\\x7d\\xc1\\xc3\\x5d\\x37\\x29\\x5d\\xe4\\xb1\\xdb\\xc3\\x41\\x2c\\x10\\x00\\xc0\\xac\\xd5\\x68\\x42\\xf0\\xfb\\x4e\\x21\\x68\\x0e\\x9a\\x49\\x26\\xa0\\x63\\x74\\x50\\x5d\\xc0\\x98\\x9c\\xd4\\x74\\x08\\xa4\\x4d\\x8d\\x74\\xae\\xf4\\xae\\x64\\x0a\\xea\\x53\\x2a\\x36\\x0f\\x90\\x11\\x21\\x9b\\xe5\\x92\\x52\\xd2\\xa1\\x44\\xe6\\x0e\\x01\\xdf\\x3e\\xfe\\x03\\x63\\xcf\\x4c\\xe3\\xfe\\x97\\xe3\\xad\\x4b\\xc3\\x63\\xa6\\xd5\\x2d\\x7d\\x06\\x3c\\x26\\x02\\x4a\\xfc\\x87\\xf8\\x55\\xf1\\x2d\\x47\\xd6\\x5e\\x30\\x6a\\x09\\x6e\\x11\\xa7\\x22\\x87\\x82\\x5c\\x5a\\x32\\x18\\xa5\\xb9\\x1e\\x3e\\xf6\\xde\\x77\\xe7\\x3f\\x7e\\xc7\\x86\\xcb\\x7a\\x1e\\xc0\\xb2\\x9c\\xd1\\xd0\\xe6\\xa1\\x73\\xd3\\x99\\x4e\\x85\\xec\\x18\\x56\\x5a\\xa6\\x49\\xc4\\x11\\x52\\x90\\x5e\\x4f\\x5b\\x2c\\xa5\\x71\\xaf\\x37\\xea\\x8f\\xb6\\x0b\\x7e\\x46\\x72\\x28\\xd2\\x36\\x60\\xd1\\x9b\\xf4\\x12\\x6b\\x74\\x51\\x5f\\xd6\\x68\\xf7\\x5f\\x55\\x1e\\x6e\\x9f\\xc6\\xe5\\x1c\\x6f\\x74\\xa6\\x71\\x99\\x55\\xc5\\x4e\\x5a\\xe2\\xf7\\x18\\xa4\\xb3\\xcd\\xcb\\xbf\\xc4\\xfe\\x7e\\x6c\\xe1\\xb0\\x82\\xb4\\x81\\x4d\\x40\\xcf\\xa9\\x7b\\xfb\\xc0\\x4c\\xd2\\x4a\\xfb\\x32\\xb5\\xf2\\xf5\\x3f\\x49\\x6e\\x86\\x78\\x66\\x4f\\x1f\\x3e\\xe9\\xde\\xd3\\xbd\\x01\\xf2\\x1f\\xd2\\x7d\\x50\\x18\\x5b\\x9b\\x1e\\xe6\\x64\\x59\\xc6\\x15\\x0e\\xa1\\xfb\\x2f\\xa4\\xec\\x79\\xbb\\xdd\\xc7\\x50\\x4c\\x24\\xca\\xba\\xc2\\x2e\\xe8\\x1b\\x86\\x3a\\x85\\xb0\\x29\\x6c\\x22\\x74\\x46\\x8d\\x0e\\x3e\\x3d\\x1d\\xc1\\x43\\xf7\\x91\\xef\\xeb\\xda\\x32\\x2f\\xe6\\x4e\\x9b\\xfc\\x40\\xd5\\x31\\x71\\x0e\\x2a\\x49\\xce\\x84\\xc7\\x54\\xf0\\x48\\xa9\\xa0\\xc2\\xec\\xa0\\x45\\xe1\\x72\\xe6\\xd1\\x66\\xfc\\x5e\\x05\\x25\\x89\\x4e\\x00\\xcd\\xb9\\xfb\\xf6\\xbd\\x77\\x83\\x49\\x5c\\xf9\\xc9\\xf4\\xd2\\xbb\\x9f\\xd8\\xb8\\xb6\\x68\\xee\\x82\\x1c\\x56\\xd2\\x94\\x3f\\x1e\\xba\\xed\\xcd\\x64\\xcf\\x29\\xe8\\x21\\x76\\x9e\\x7f\\xd7\\xce\\xcb\\x56\\xf7\\xbc\\x23\\xfb\\x00\\x25\\x50\\x2f\\x8e\\x87\\x7a\\xa4\\x18\\xeb\\x4a\\x0f\\x0b\\xb3\\x44\\xa1\\xc9\\x45\\xb8\\x4a\\x4a\\xc3\\x26\\xa8\\x01\\x59\\x86\\xc5\\x31\\xb6\\x8d\\xdd\\xc7\\x3e\\xc8\\x7e\\xc7\\x52\\x16\\x82\\x65\\x39\\x8e\\xee\\x10\\x38\\xb2\\x1c\\xd1\\x82\\x31\\x85\\x6d\\x85\\xd0\\x87\\x2f\\x2c\\xc4\\x10\\xc8\\x17\\xc6\\xaa\\x4a\\xad\\x57\\xa9\\xbe\\x95\\x4b\\xf5\\x55\\xa4\\xce\\x92\\xde\\x1c\\x86\\xab\\x00\\xfb\\xd9\\x2c\\x60\\xbf\\x85\\xc8\\x66\\x34\\x2c\\x00\\x7c\\xf6\\xee\\x87\\x35\\x8b\\x0f\\xdd\\x77\\xff\\x05\\x0d\\x4b\\x37\\x6c\\x5b\\xd5\\x22\\x0c\\xfa\\xdb\\xfd\\xaf\\xff\\x4d\\x78\\xfa\\xf5\\x31\\x97\\x2f\\xa8\\xff\\x6d\\xce\\x23\\xe5\\x93\\xa6\\x37\\xcc\\xfa\\xc1\\x7e\\xf8\\xbe\\x79\\xbb\\xd7\\xce\\xa9\\xaa\\x49\\x4f\\x1e\\x3a\\x7a\\xf2\\xd8\\xe3\\xa0\\x21\\xb9\\x67\\xe7\\xda\\xa3\\x9b\\xd2\\x7c\\xd9\\x88\\x39\\xa3\\xff\\x34\\xaa\\xf4\\x1d\\x71\\x77\\x30\\x81\\x64\\x85\\x36\\x00\\x7f\\x0b\\xea\\x97\\x42\\x6c\\x46\\xba\\xc2\\x63\\xc1\\x22\\x5a\\x3b\\x66\\x2f\\x4a\\x7a\\xb4\\x09\\x2b\\x16\\x61\\x22\\x2b\\x23\\x84\\x81\\x88\\x44\\x12\\x09\\x18\\xa3\\x25\\x38\\x8f\\x05\\xd0\\x16\\x60\\xa2\\x90\\x67\\x07\\x77\\x73\\xe6\\xce\\x25\\x8b\\x59\\x9a\\x83\\xa2\\xcf\\x97\\xae\\xb6\\x6a\\x18\\xa8\\x55\\x20\\xb7\\xf3\\xb8\\x08\\x32\\xc9\\x74\\x59\\x36\\xa8\\x72\\x82\\x43\\x57\\x6e\\xda\\x3c\\x79\\x71\\x71\\x97\\xbb\\x74\\x54\\xfc\\xce\\x45\\x17\\xee\\x18\\xba\\x72\\xcd\\xb6\\xe9\\xf5\\xa3\\x6a\\x97\\xc5\\x07\\x8d\\x2a\\x2c\\x7d\\x78\\xc4\\x75\\xbb\\xff\\x77\\xf6\\x65\\x42\\x51\\xb2\\x6d\\xf8\\xcc\\x84\\xe7\\xfc\\xef\\x7d\\x97\\x2e\\x9f\\x7d\\xe9\\xb4\\x58\\x59\\xfb\\xa8\\x8a\\x86\\xb2\\xc8\\xe6\\x5e\\xcc\\x16\\xba\\x5c\\xba\\x4f\\xfe\\x08\\xc3\\xc8\\x0f\\xa5\\xbb\\xbc\\x29\\x92\\x1e\\xdd\\x20\\x8e\\xc7\\xdf\\xa1\\x6e\\xc1\\xfc\\x58\\x11\\xd6\\x9c\\x8e\\x85\\x09\\xa2\\x40\\xa7\\x33\\x9b\\x7d\\x76\\xb7\\x3b\\x59\\x1c\\xc3\\xda\\x84\\x58\\x8c\\xd7\\xd8\\xed\\x3c\\xcf\\xb4\\x0a\\xbc\\x47\\x13\\x68\\x15\\x34\\x40\\x7d\\x89\\x87\\xe0\\xf5\\x55\\xfa\\x26\\x9f\\xa8\\x29\\x68\\x95\\xe9\\x44\\x33\\x3c\\x41\\x8a\\xb7\\xa6\\x61\\x55\\x3c\\x1a\\xa0\\x70\\xdc\\xa2\\x6b\\xcf\\x03\\x11\\xcf\\x3e\\x63\\x45\\xd8\\xed\\x4e\\xa7\\x0b\\xa6\\xcc\\xb8\\xed\\xb0\\xfe\\xc9\\x02\\x73\\xd5\\xf0\\xd2\\x68\\x49\\x53\\x19\\xf1\\xfd\\xd2\\xb6\\x25\\x57\\x88\\xb7\\x77\\x5d\\x7d\\x6e\\x7d\\x7d\\x55\\xcb\\x70\\x76\\xf5\\xa7\\xb6\\x5b\\x76\\x94\\xd6\\x90\\x05\\x0c\\x18\\xd4\\x50\\x15\\x29\\x1b\\x53\\x1c\\x29\\x93\\xf6\\x27\\x0f\\x65\\x41\\xb5\\x40\\x71\\x6c\\x5a\\xba\\x34\\xe4\\xf7\\x47\\x71\\x86\\x81\\xd1\\xb4\\xc7\\xa3\\x73\\x38\\x12\\x05\\xce\\x90\\x3f\\xd4\\x2a\\x78\\xd3\\x1e\\x3f\\x6d\\xe3\\x18\\x28\\x19\\xc3\\x69\\xcc\\x50\\x1c\\xfd\\x24\\x41\\xe3\\xc9\\xa4\\xd7\\x51\\x60\\x9d\\x72\\xbf\\xa6\\xca\\x4b\\xdb\\xea\\xb2\\x19\\x36\\x89\\xa0\\x5b\\xab\\x2a\\x38\\x66\\x6b\\x35\\x03\\x93\\x75\\x97\\x2f\\xf6\\x85\\x8f\\x5f\\x23\\xb4\\x26\\xd2\\x3c\\xeb\\x59\\x9a\\x32\\xa6\\x98\\x7e\\xc4\\xdd\\x45\\xf7\\xbe\\xfc\\x2e\\xaa\\x39\\xc6\\x7a\\xeb\\x34\\xfd\\x09\\xbc\\x25\\x79\\x3a\\x94\\x1a\\x2d\\x1e\\x1b\\x9a\\xf6\\x43\\xdb\\x46\\xe0\\x7a\\xdc\\x69\\x76\\x59\\xf4\\x7a\\x93\\x9d\\x94\\x5a\\x16\\x08\\x87\\x5c\\x91\\x95\\x6f\\x05\\xf2\\xbd\\x46\\xb9\\x00\\x2b\\xa7\\xf7\\x33\\x79\\x34\\xa9\\xf4\\xea\\xa5\\x0b\\xe5\\x5b\\x8d\\xa5\\xcf\\x10\\x8b\\x94\\xb2\\xab\\x97\\x51\\xc1\\x15\\x79\\x5e\\x99\\x7c\\x93\\x81\\xca\\xad\\xce\\xde\\x20\\xd7\\x5a\\x0d\\xeb\\x3d\\x4d\\x44\\xa0\\x7e\\x8f\\x61\\x13\\xd2\\x09\\x5f\\xd0\\xeb\\x8d\\x44\\x68\\x13\\xc3\\x10\\x7a\\x7d\\xdc\\x9e\\x30\\x05\\x7d\\xc1\\x56\\x81\\xf6\\xd1\\x48\\xb3\\x3b\\x1c\\x36\\x20\\x93\\x9e\\x67\\xf3\\xe1\\xd9\\xfb\\x6e\\x85\\x6f\\x5e\\x55\\x20\\xd6\\x97\\xf6\\x3c\\x17\\x15\\x2a\\x59\\xb0\\xfe\\x0c\\xe8\\x1b\\xd8\\xd1\\x60\\xd1\\x42\\x39\\x32\\x2c\\x1f\\x6b\\xf5\\xf7\\x67\\x43\\x0f\\xad\\x90\\x63\\xc3\\xb5\\x5d\\x07\\x73\\x8b\\x0a\\xb0\\x9b\\xc4\\xd1\\xd2\\x9a\\x06\\x11\\xfe\\x7f\\x00\\xc3\\x18\\x9d\\x99\\x33\\x87\\x9c\\x61\\x17\\xc7\\xf1\\x01\\x2b\\x6f\\xed\\x84\\xea\\x58\\xa7\\x33\\x1a\\x89\\x4e\\xc1\\xe8\\x55\\xa1\\x1e\\xf5\\x59\\xd6\\x94\\x8c\\x35\\x9c\\xbd\\xbb\\x43\\x35\\xb2\\xb5\\xfd\\x2a\\xdc\\xf0\\xcd\\x4d\\xf5\\x45\\xe3\\xf8\\xa1\\x42\\xf5\\xb2\\xfd\\xe2\\x56\\xd3\\xbb\\x7d\\x2b\\xdc\\x7e\\x7a\\x61\\xd4\\x68\\x37\\xff\\x90\\xf8\\xa6\\x1f\\x8c\\xac\\x1b\\x43\\xbe\\x92\\xab\\x70\\xfb\\xed\\x76\\x38\\x57\\x54\\x83\\xf4\\x34\\xf4\\xb1\\x8b\\xb1\\x59\\xe9\\x12\\x97\\x3d\\x10\\x28\\x85\\xa1\\x6c\\x71\\xa1\\x35\\x1c\\x89\\x30\\xd0\\x87\\x63\\x0a\\x19\\xa8\\x7c\\xad\\xd6\\x38\\x88\\xeb\\xe7\\x0a\\x71\\xd6\\x4c\\x16\\x03\\xe8\\x6a\\x7b\\x69\\x29\\xd3\\x75\\xa2\\x4f\\xeb\\x66\\x36\\xd5\\x95\\x43\\x4b\\x56\\x7c\\x53\\x56\\x89\\x95\\x98\\x50\\x26\\x57\\xd4\\xd7\\x45\\x95\\x72\\xad\\x51\\xf4\\x74\\xa0\\x05\\x59\\x66\\x3e\\xba\\x8a\\x07\\x9a\\x7d\\xaf\\xf8\\xb7\\xc2\\x38\\xa3\\xbc\\x6a\\xf6\\x1a\\xc5\\x47\\x7d\\xf6\\xf9\\x69\\x25\\xe2\\x57\\x3f\\x7d\\x2f\\xfe\\x6a\\x5f\\x8d\\x32\\x62\\xee\\x9e\\x95\\x97\\x8d\\x10\\xcf\\x1c\\xbe\\x97\\x30\\xba\\x9b\\xc5\\x8f\\xb8\\xe9\\x55\\x59\\x57\\xf5\\x8a\\x07\\xab\\x44\\xba\\xe7\\x9b\\x77\\x5e\\x4d\\x6f\\xc0\\x6f\\x90\\x9e\\xcb\\xb8\\xde\\x53\\xd4\\x18\\xe8\\x73\\x27\\xa1\\x6d\\xa9\\x62\\x8c\\x1c\\x57\\x02\\x4d\\x45\\x3c\\xa2\\x73\\xb9\\xdd\\x5a\\xca\\xef\\xd7\\x68\\xb4\\x11\\x6d\\x71\\x89\\x4b\\xa7\\xf3\\x15\\x14\\xc4\\x5b\\x04\\xb6\\x80\\x86\\xaf\\xe2\\xe9\\x20\\xe7\\x73\\xb7\\x08\\x3e\\x07\\x2a\\xe2\\x93\\x76\\x9a\\xfb\\x35\\x18\\x1e\\xf6\\x73\\xc5\\xe5\\x22\\xe7\\x3e\\x72\\x67\\xa8\\xec\\xb5\\xfd\\xc4\\xfd\\x7d\\x6e\\xfb\\xf0\\x90\\x19\\x8a\\xb4\\x07\\x6f\\x5b\\xf0\\x3b\\x3c\\xf7\\x27\\xd8\\xe9\\x39\\xa7\\x7c\\xe3\\x83\\x85\\x3d\\xcf\\x0d\\xc0\\x7b\\x3f\\xa1\\xf7\\x7b\\xe9\\xfe\\xb2\\x08\\x5b\\x92\\xae\\x29\\x08\\xfb\\xa2\\xd1\\x18\\x0d\\x3d\\xbd\\x98\\x8e\\x88\\xb9\\x6c\\x2e\\x5b\\xb2\\x58\\x13\\xf3\\xc2\\xf0\\x89\\xc6\\xbc\\x8c\\x17\\xb7\\xa0\\x4a\\x46\\xce\\x10\\x0e\\x47\\x2c\\x7e\\x3f\\x3c\\x0f\\x1c\\x06\\x0d\\xab\\x4d\\x39\\x5a\\xd9\\x68\\xb9\\xae\\x4f\\xa9\\xbb\\xca\\xa3\\x45\\x51\\x33\\x3a\\x67\\xe8\\x8e\\x3c\\x81\\xf6\\x67\\x02\\xfa\\x05\\x52\\x11\\x09\\xba\\xf5\\x80\\x4f\\x16\\x8b\\xd5\\x2a\\xb7\\x34\\x84\\x64\\x7b\\xf0\\x3f\\x7f\\xf0\\xcd\\xa6\\x55\\xa5\\xf8\\x88\\x92\\xc6\\x70\\xdb\\x9f\\x46\\x18\\x1f\\xff\\xec\\x69\\x71\\xdf\\x29\\xf1\\x7d\\xf1\\x29\\xb8\\xaf\\xf1\\x40\\xcd\\x5f\\xa6\\xb4\\x4d\\x9d\\x84\\x4f\\x5b\\xf0\\xc0\\xf1\\xbb\\x67\\x00\\xf3\\x77\\x57\\x1e\\x73\\x83\\x1b\\xc5\\x6b\\xaf\\x64\\x96\\xc5\\x3e\\xdf\\xfd\\xa4\\xf8\\xd5\\x0d\\xa7\\x4f\\xfe\\x1b\\x0c\\x8a\\x2e\\x63\\xae\\x04\\xab\\xc5\\xe5\\xee\\xde\\xbf\\x3d\\xf0\\xa8\\xbc\\x9f\\xa9\\xd9\\x54\\x3b\\x56\\x80\\x2c\\x8d\\xd5\\x6e\\x37\\xe9\\x5d\\x50\\x2e\\x02\\xd3\\x63\\x85\\x45\\x91\\x78\\xdc\\xdf\\x29\\xc4\\x49\\xab\\xc9\\x62\\xea\\x10\\x2c\\x84\\x86\\x9b\\x2b\\x68\\xd8\\xbe\\xe8\\x12\\xea\\x7b\\x01\\xc5\\xd2\\xd8\\x55\\xbb\\x33\\x91\\xb7\\x93\\x6b\\xf2\\xec\\x2a\\x35\\x9b\\xee\\x2c\\x11\\x3f\\xff\\xf1\\x27\\xf1\\x17\\xfb\\xea\\x1b\\x32\\xdb\\xd8\\x78\\xe7\\x6b\\xfe\\xf9\\xa6\\xb9\\xa1\\x31\\x5c\\xe5\\xb8\\xe4\\xe4\\x4b\\xba\\xd6\\x90\\xd7\\x8c\\x6c\\xed\\xf9\\xb0\\xe7\\x9b\\xf7\\x5e\\x41\\x5b\\xd3\\x9d\\xdd\\xc5\\x0f\\x1c\\xc0\\x07\\x8d\\x08\\x74\\xbb\\xf9\\x35\\x3f\\xf9\\x17\\x42\\x59\\x60\\x54\\xac\\x61\\xa1\\x2f\\xe4\\x43\\x15\\x30\\x26\\xad\\x96\\xb2\\x98\\xcd\\x5e\\x9f\\x0f\\xc3\\xec\\x1a\\x8a\\xf2\\x07\\x6c\\xd0\\xdb\\x73\\xd8\\x48\\x33\\xa1\\xd7\\x9a\\xf4\\x50\\x20\\x7d\\xbf\\xf4\\x65\\x96\\xa7\\x3e\\xd5\\xd7\\x7c\\xca\\x0e\\xbb\\xe2\\xd6\\x11\\x09\\x39\\x2f\\x8d\\x68\\xa0\\x73\\xd5\\x59\\xf8\\x33\\x6f\\x9a\\x7a\\x4a\\x4d\\xef\\xb7\\xfe\\x7b\\xa7\\x19\\xdf\\x64\\x7e\\xfc\\x18\\x28\\xab\\x9c\\xdb\\xd5\\xb6\\x72\\x5c\\x72\\x9c\\xc9\\x5f\\x59\\x37\\xb5\\x48\\xbc\\x52\\x4a\\xfd\\x81\\x27\\xf0\\xa7\\x24\\x19\\xfe\\x0e\\xde\\x18\\x3f\\xa3\\xd0\\xff\\xd3\\x95\\xee\\xc6\\xe1\\x3d\\xaf\\xc9\\x5c\\xfb\\xd4\\x37\\xd4\\xd5\\xd0\\x56\\xd6\\xa4\\xbd\\x4e\\x1a\\x37\\x99\\x12\\x05\\x0e\\x5f\\x9b\\xe0\\x72\\x39\\x30\\x0b\\xcd\\x18\\x1d\\xa8\\x58\\x2c\\xd3\\x7b\\x2a\\xed\\xb3\\x86\\x4c\\x57\\x8e\\x7c\\x75\\x96\\xeb\\x37\\x6d\\x00\\x68\\x92\\xf2\\x14\\x39\\x65\\x8e\\xd0\\x87\\x01\\x16\\xa2\\x58\\x68\\x2a\\xaa\\xb7\\xf3\\x65\\xb5\\x17\\xd6\\x8f\\x93\\x69\\xf4\\xc1\\xa3\\x8b\\x2e\\xfc\\x43\\x6b\\xe5\\xe0\\x54\\x65\\xbd\\x8d\\x2f\\x89\\xa4\\x47\\x4d\\xe9\\xe9\\x28\\x9d\\xbd\\x64\\xa3\\x38\\x9a\\xfd\\xe1\\x22\\x7e\\xe9\\xbc\\x8d\\x12\\x9d\\xfe\\x65\\xf8\\x27\\x87\\xae\\x1f\\xae\\x35\\xfd\\x70\\x01\\x5f\\x34\\x69\\xeb\\xd9\\xc7\\x9b\\xb6\\x2d\\x6b\\x54\\x78\\x81\\x8f\\x48\\x77\\x97\\x8b\\xd3\\x21\\x8b\\xd5\\x6c\\x33\\x9b\\x08\\x8c\\xf4\\x90\\x4e\\x93\\xc9\\xe7\\xf5\\xd8\\x0c\\x6e\\xb7\\x13\\x7e\\x71\\xdb\\x3a\\x04\\x2b\\xc0\\x01\\xca\\x1d\\x33\\x82\\x05\\xc7\\x8d\\x6e\\x9b\\x99\\x32\\x52\\x9d\\x82\\xc1\\x98\\xb9\\x02\\xe8\\x5b\\x60\\x06\\x32\\xa5\\x47\\xb9\\x54\\xac\\x9c\\xfa\\x8b\\xd4\\x86\\xd4\\xac\\xfb\\xda\\x10\\xc8\\x34\\xfc\\xd5\\x82\\x5d\\xff\\xcb\\x81\\x4a\\x30\\xfd\\xd9\\xf9\\xfb\\x83\\x23\\x85\\x21\\xc4\\x61\\x56\\x3c\\xfc\\x0d\\x27\\xbe\\x29\\xae\\x7d\\xf2\\xbc\\x6f\\x8a\\xbb\\x66\\x74\\x9e\\xfd\\xd1\\x8e\\x5f\\xd5\\x0d\\xfe\\x66\\xd6\\x9e\\x04\\xed\\x4b\\xc5\\xd2\\xee\\x9e\\x4f\\x79\\x03\\xc0\\xc4\\xf5\\xab\\xa1\\x2c\\x52\\xcd\\x20\\x71\\x08\\xca\\x72\\x41\\xba\\x9e\\xc2\\x35\\x40\\xe3\\xb6\\x30\\x2c\\x6d\\xb7\\xd0\\x3e\\xaf\\x1d\\x98\\x30\\xb8\\xf0\\x6e\\xc6\\x8d\\x1b\\x08\\xb7\\xdb\\x4b\\x6b\\xcd\\x5a\\xa8\\xf2\\x70\\x0a\\x6f\\x15\\x18\\x8a\\xc2\\xcc\\x26\\x93\\x99\\x06\\xd0\\x1f\\x6d\\x11\\x30\\x47\\x36\\x53\\x28\\xb9\\x62\\x79\\xe5\\xd8\\x59\\xc4\\xa7\\x6c\\x0b\\x6c\\xf6\\x06\\x3a\\x52\\x2b\\x65\\x33\\xb3\\xa2\\xa1\\xf4\\x38\\xa1\\x18\\xb3\\xc1\\xba\\x9f\\xaf\\xb7\\x3d\\xff\\xea\\xe8\\x9a\\x25\\xae\\xfa\\xa6\\x0a\\xfc\\x46\\xfd\\xe7\\x37\\xd9\\x5e\\xfa\\x70\\xd2\\xa0\\x4d\\xc1\\x89\\x4d\\x63\\x2b\\xc1\\x45\\x5d\\x60\\x30\\xcb\\xec\\x01\\xce\\x1a\\x71\\x7f\\x97\\x78\\xbf\\xc7\\x7e\\x4c\\x7c\\x41\\xf2\\x57\\x7a\\xa7\\x8a\\xa3\\x48\\x94\\x23\\x0c\\xa0\\x9c\\x97\\x9b\\xa6\\x71\\xa7\\xd1\\xeb\\x0d\\x86\\x38\\x0a\\xc7\\x83\\x8c\\xdb\\x0d\\xa3\\x01\\xb7\\x1b\\xe3\\x5d\\x36\\xde\\xd6\\x29\\x70\\x30\\xea\\xd1\\x21\\xb8\\x5f\\x6f\\x06\\xa2\\x4d\\x55\\x0c\\x87\\xe5\\xd2\\x43\\x4a\\xc3\\x8e\\x44\\xb6\\xa3\\x54\\xfa\\xd8\\xa4\\x5a\\xb7\\x5a\\xa0\\x28\\x2c\\x2d\\x20\\x51\\xb9\\xc6\\x77\\x5f\\x3c\\x3c\\x64\\x56\\xd9\\x0d\\x83\\xde\\xfb\\xf8\\xc4\\xd3\\x63\\x6c\\xe0\\xd4\\x86\\xd7\\xa7\\x8f\\x14\\xea\\x89\\xa9\\xac\\x48\\x82\\x23\\x47\\xc5\\x47\\xc4\\x51\\x05\\x60\\xfe\\x19\\xce\\x03\\x0a\\x01\\xff\\xc0\\x63\\x4b\\x71\\xb7\\x1d\\x3d\\x95\\x9e\\xbf\\x37\\x88\\x57\\xbd\\x25\\xbe\\xb2\\x1f\\xcd\\xff\\x03\\x38\\xff\\x0b\\xe1\\xfc\\xfd\\x58\\x6b\\x1a\\xda\\x17\\x8a\\xf0\\x1a\\x75\\xba\\xa0\\x45\\xa3\\xb1\\x13\\x44\\x80\\x62\\xa0\\x36\\x86\\x8b\\xaf\\xd5\\x5a\\x3a\\x05\\xbd\\x96\\xf0\\x62\\x18\\x0f\\x3d\\x2f\\xaf\\xaa\\xf0\\x27\\x93\\x44\\x06\\xb9\\x73\\x9c\\x01\\x44\\x84\\xfa\\x89\\x89\\x81\\x0c\\xbc\\x3b\\xd0\\xa2\\x14\\x49\\xce\\x7b\\x00\\xff\\x3e\\x27\\x7e\\x83\\x6f\\x11\\x5f\\xb3\\x11\\x75\\xf5\\x82\\xa6\\xed\\xcd\\x75\\x20\\x66\\x1b\\x23\\x7e\\x2e\\x8a\\xdb\\xae\\xae\\xb9\\xb5\\x66\\xda\\xac\\x11\\xcf\\x8b\\xa3\\x7e\\xfa\\x1c\\x4f\\x4d\\xc7\\x8b\\x97\\x8a\\x47\\x4e\\xda\\x7b\\xbe\\x58\\x2a\\x7e\\x24\\xfe\\x6d\\xff\\x43\\x1e\\xee\\x8c\\x78\\x7b\\x01\\x9c\\xfb\\xd7\\xe2\\x68\\xe2\\x59\\xe2\\x20\\x9c\\x0f\\x5c\\x7b\\x8d\\xd5\\x4a\\xb8\\x10\\xf1\\x25\\xa3\\xd5\\x3a\\x08\\xc2\\x67\\xd5\\x68\\xd8\\x16\\x41\\xa3\\xc1\\xa0\\x63\\xa3\\xd3\\x31\\x2d\\x82\\x8e\\xc6\\xf8\\x36\\x79\\xf2\\x7d\\x3c\\xf9\\xec\\xd2\\x67\\x69\\x87\\x33\\xee\\xbc\\xad\\x16\\x64\\xeb\\xf1\\x58\\x28\\x80\\x15\\x71\\x60\\x22\\x6a\\x85\\x43\\xef\\x9d\\x3a\\xf3\\x85\\x78\\x5a\\x47\\x68\\x2a\\x9a\\x48\\xdb\\xdc\\xc1\\x2f\\x9c\\x33\\xce\\x11\\x0f\\x7c\\xbd\\xed\\x0a\\xf3\\x88\\x23\\xe2\\xe8\\xe7\\x1e\\x79\\x0e\\x10\\x71\\xf0\\xf7\\x0a\\xf1\\xd4\\x1e\\x86\\x15\\x87\\xd5\\x8b\\xd3\\xbf\\x0a\\x4e\\x48\\xa0\\x39\\x3f\\x0b\\xe7\\xfc\\x04\\x3c\\x03\\x45\\xa8\\x07\\xc1\\xc2\\x71\\x1e\\x78\\x90\\x89\\x84\\xde\\xe3\\x49\\x16\\x87\\xe1\\x92\\x27\\xf5\\x30\\xb2\\x74\\x9a\\x5a\\x04\\xb3\\xd3\\x89\\x39\\x78\\xda\\x41\\xb7\\x08\\x76\\xbb\\x83\\xc6\\x62\\xb9\\xa9\\xa7\\xca\\xd4\\x15\\xfb\\xe8\\xda\\xb2\\xef\\xce\\xb1\\xaa\\x02\\x12\\x29\\xd6\\x92\\xb7\\x4e\\xe6\\x48\\xcb\\xdc\\x7e\\x99\\x80\\x4b\\x92\\x67\\xde\\x8b\\xff\\xfc\\xea\\xef\\xf3\\x26\\x9e\\x6d\\x37\\x80\\x79\\x07\\x07\\x2d\\x75\\x0e\\x6e\\xaa\\x20\\x02\\x7a\\x71\\xc5\\x4d\\xeb\\xd3\\x17\\x6d\\xbb\\xed\\xea\\xf5\\xe7\\x5f\\xbf\\xcd\\x92\\x3e\\x2a\\x8e\\xbe\\xed\\x8a\\x5b\\x4f\\x78\\xcc\\xe9\\xc1\\xe7\\xd7\\x83\\xe1\\xd2\\x81\\xa8\\x10\\x0f\\x78\\x26\\x8f\\x1a\\x31\\xbd\\xc6\\xc1\\xff\\xe1\\x92\\x19\\xd3\\x83\\x13\\xe2\\x85\\xd2\\xb9\\xf8\\x12\\x9e\\xf5\\xb7\\xa0\\xad\\x08\\x62\\xb3\\xd3\\x6e\\x97\\x97\\x0f\\x68\\x49\\x3d\\xae\\x0f\\xf2\\x7c\\x38\\xc4\\xe0\\x01\\x8a\\x04\\x20\\xe4\\x25\\xb5\\x24\\x52\\x58\\xac\\xe0\\xd2\\x6a\\x01\\x03\\x6d\\x63\\x87\\x60\\x27\\x41\\x60\\x9d\\x5c\\xfa\\x83\\x65\\xc0\\x95\\x54\\x0c\\xe6\\xbc\\x5a\\x5f\\x29\\x85\\x17\\xb5\\x18\\x62\\x7e\\xce\\x72\\x98\\xb1\\x99\\xbb\\x3d\\x78\\xba\\x35\\x94\\x36\\x44\\xd4\\x9d\\x7b\\x20\\x04\\x16\\xde\\x26\\x5e\\xed\\x00\\xc7\\x67\\x2e\\x68\\x17\\x46\\x4f\\x98\\x56\\x33\\xf9\\xf6\\x19\\x4f\\xbe\\xd9\\x31\\xd9\\xb1\\xff\\x1a\\xf1\\xd4\\xfd\\xf8\\xbe\\xa7\\x01\\xfb\\x44\\xf7\\x75\\x57\\x2e\\x9f\\x5b\\xf5\\x3c\\xa8\\xb0\\xb9\\x6e\\xbd\\x6a\\xd7\\x8e\\xee\\x1b\\x8f\\xaf\\x44\\x3e\\x8b\\x0e\\xc6\\xff\\xac\\x84\\xcb\\xd2\\x9a\\x2e\\x0c\\x85\\xc3\\x3c\\xc7\\xe9\\xdd\\x36\\x42\\x4f\\x44\\x63\\x98\\xbd\\x53\\x80\\x16\\xd1\\xe5\\x0a\\xad\\x13\\x3c\\x2e\\x17\\x3c\\x19\\x2e\\x42\\x83\\x6a\\xf8\\x90\\x0d\\xef\\x57\\x35\\xd2\\xa7\\x15\\x4f\\x29\\x88\\x21\\x43\\x79\\x94\\xc6\\x91\\xb0\\x96\\x55\\x5d\\xfb\\xd7\\x80\\x33\\xcf\\xfd\\x55\\xfc\\x87\\xf8\\xcd\\xb8\\xee\\x0d\\x25\\xb3\\x2c\\xde\\x05\\x55\\x5b\\x6e\\x7a\\x61\\xce\\xdc\\x25\\xf7\\x9a\\x88\\x19\\xe3\\x66\\x19\\x42\\xc7\\x97\\x5f\\x3c\\xac\\x8a\\xf0\\x3f\\x7c\\xef\\x27\\x3f\\x9b\\xbc\\x60\\xd4\\x3b\\xbc\\xfb\\xe9\\x23\\x3f\\x24\\xf0\\x76\\x4f\\xb3\\x38\\xf1\\x2d\\xad\\x51\\xbc\\x5b\\x27\\x3d\\x8b\\x8f\\x60\\x0c\\x93\\x84\\x7b\\x2e\\x8c\\xb5\\xa7\\x0b\\xf5\\xa1\\x10\\x16\\x0e\\x3b\\x7c\\x04\\x8c\\x13\\x1d\\x11\\x33\\x0c\\x6e\\xcd\\x66\\x16\\x67\\xdd\\xad\\x02\\xc7\\xb1\\x9c\\x1e\\x97\\x0a\\x15\\x5a\\x04\\x3c\\x73\\xc9\\x55\\x86\\x6e\\xb7\\x72\\xa5\\x3d\\xd9\\x48\\x26\\xc3\\x07\\x26\\x17\\xac\\x22\\xd7\\x4a\\x09\\xe5\\x35\\x91\\x4c\\x13\\xae\\x2c\\x50\\xe4\\xed\\xed\\x26\\xfc\\xed\\xfa\\x71\\xb6\\x8e\\x85\\x7b\\x62\\xde\\x54\\xd3\\x75\\x7b\\x3f\\xfb\\xf4\\xb6\\x9b\\xe2\\xad\\xcc\\xa8\\xa9\\xcb\\x97\\x6c\\x6a\\x28\\xe9\\x40\\x10\\x03\\xe2\\xc1\\x6b\\xd9\\xb7\\x75\\xcc\\x45\\xdd\\x07\\x1e\\x8c\\x00\\xee\\x70\\xc1\\xea\\x2b\\xaf\\x0d\\x4b\\x73\\x3f\\xd3\\x7b\\x1a\\x7f\\x04\\xc6\\xb7\\x85\\x70\\xfd\\x13\\x0e\\xad\\xb6\\x28\\x19\\x08\\x87\\xbd\\xb1\\x82\\x68\\x14\\x9a\\x0b\\xaf\\xd9\\x5c\\x14\\x28\\x88\\x15\\xb4\\x0a\\x91\\x74\\x38\\x46\\x1b\\x6c\\x2d\\x82\\xc5\\x62\\x90\\x30\\xab\\xa5\\x83\\xa2\\x04\\xb5\\x20\\xa5\\x8a\\x01\\x6c\\x39\\x18\\x40\\x8e\\x97\\x58\\xa2\\x15\\x56\\x69\\x25\\x36\\x2f\\x03\\xa8\\x98\\xa4\\x01\\x64\\xfb\\x5d\\xc0\\x5e\\xaf\\xb7\\x63\\x52\\xc9\\x5f\\x5f\\x9d\\x70\\x34\\x59\\xda\\x48\\xa7\\x57\\x4d\\x9c\\x57\\x3d\\xa8\\xb1\\x75\\x02\\x19\\xc8\\xc6\\xb6\\x1e\\x7c\\xa7\\xc7\\xcf\\x54\\x4f\\x98\\x93\\xde\\x7d\\x4f\\x84\\x05\\xd4\\xe6\\x19\\xd3\\x86\\x27\\x86\\x07\\xe3\\xc5\\x5d\\x23\\x5d\\xfc\\x61\\x29\\xc6\\xdd\\x85\\xe1\\xbd\\xf3\\xc5\\xf1\\x44\\x0f\\xf1\\x02\\x66\\x85\\x16\\xb0\\x25\\x5d\\xe4\\xb0\\x58\\xbc\\x3e\\xab\\xcd\\xa3\\x43\\x95\\x3b\\x08\\x2c\\xc4\\x6b\\xb3\\xb6\\x0a\\x36\\x87\\x47\\xa7\\x73\\x1a\\x9d\\x13\\x05\\x23\\x23\\x63\\x87\\x00\\x0f\\xd6\\xd0\\xa7\\x92\\xac\\x1f\\xa6\\x21\\x9b\\xdf\\xe5\\xcc\\x60\\x54\\x6d\\x8d\\x52\\x1c\\xaa\\xfd\\x4d\\x5c\\x62\\xea\\x3e\\x79\\x9e\\x09\\xec\\x0c\\x34\\xef\\x5f\\xba\\x74\\xa5\\x78\\x8b\\xb8\\x0f\\xda\\xba\\xe2\\x78\\x6c\\xe9\\x10\\x71\\x7c\\xa3\\x93\\x3c\\xe4\\x6c\\x3c\\x78\\xde\\xb4\\x5b\\x2e\\x13\\x7f\\x15\\x37\\x6c\\x5c\\xb8\\x0c\\x4c\\x7c\\x77\\xc2\\x8c\\xf9\\xd3\\xe5\\x78\\xfc\\x7a\\xf8\\x57\\x85\\xc4\\x81\\xce\\xa5\\xf5\\x12\\x27\\x29\\x8e\\xa1\\xe3\\xd9\\x90\\xa1\\xed\\x0b\\x45\\xa0\\x2b\\x51\\xb1\\x6f\\x1f\\x75\\x8d\\x94\\x5b\\xb9\\x1c\\xfe\\x35\\x5c\\xe1\\x4c\\x0f\\xa6\\x2d\\x24\\x05\\x30\\x0a\\xd3\\xe9\\x71\\x0d\\x06\\x28\\xf9\\xaa\\x47\\x55\\x7f\\x20\\xfd\\x2e\\xfc\\x83\\x0f\\xdf\\xb7\\x4f\\xfc\\x0c\\x8d\\xf1\\xdb\\x1a\\x69\\x1c\\x80\\x99\\xe1\\x38\\x65\\xf0\\x7b\\x16\\xee\\xd9\\xa4\\x9e\\x62\\x30\\x8b\\x0d\\x23\\x70\\xad\\x11\\xa7\\xe0\\x42\\xd9\\x1d\\x56\\xbd\\x01\\xc6\\x7f\\x16\\x03\\xa0\\x34\\xd4\\x5c\\xc1\\xa6\\x31\\xc0\\xff\\x09\\x13\\x86\\x5c\\x4d\\x19\\xc1\\x40\\x4d\\x44\\x92\\xc1\\x05\\xe0\\x33\\x8a\\x51\\x22\\xd3\\xab\\x4e\\x55\\xc3\\x3f\\xe8\\x15\\x47\\xc4\\x91\\xc2\\xcb\\x9e\\xdb\\xf7\\x1c\\xfc\\x0f\\xfd\\x05\\x4e\\x8a\\x25\\xe0\\xe4\\xf5\\x9b\\xaf\\xc7\\xed\\x3d\\xa7\\xaf\\xdf\\x2c\\xdd\\x05\\xdd\\xd6\\xfb\\x39\\x7e\\x40\\xaa\\xc5\\x24\\x33\\x58\\x76\\x86\\x75\\x9a\\x1f\\x18\\x09\\xcb\\x8e\\x49\\x60\\x43\\xa9\\x97\\xe4\\xde\\x06\\xcd\\x57\\xa0\\x05\\xd3\\x3d\\x44\\x94\\x4a\\x14\\x30\\x99\\xf7\\xea\\x4b\\xa8\\xbb\\xb3\\xef\\x9d\\x4d\\xbd\\x2a\\xf5\\xbd\\x6c\\xa5\\xfe\\x93\\xc1\\xb9\\xd3\\x2e\\x92\\x7e\\x3e\\x46\\xfe\\x39\\x49\\xca\\x3f\\x27\\x2b\\x94\\xdf\\x3f\\xad\\x77\\x49\\x18\\x30\\x65\\x52\\x5f\\x5d\\x09\\xf9\\xb9\\x82\\x53\\x36\\x5e\\x1b\\x96\\x7a\\xe0\\xe4\\xd7\\x27\\xc8\\xaf\\x63\\x25\\xe2\\x78\\x72\\x43\\x06\\x6f\\x02\\xbd\\x8e\\x4b\\xf5\\x08\\xbd\\xdf\\xc0\\x71\\xc6\\x49\\xe3\\x54\\xc8\\xe3\\x50\\x0e\\xf9\\x75\\x71\\xbc\\x4e\\x23\\xbd\\x5f\\x7e\\x7d\\x02\\x92\\x45\\xba\\x0f\\x1b\\xaf\\x39\\x26\\xbd\\xde\\xae\\x8c\\xbf\\x46\\x85\\x13\\x99\\xe3\\xe1\\xd9\\x0a\\x2e\\x90\\x64\\xc6\\xb9\\xac\\xcc\\x12\\x0e\\xe4\\x29\\x15\\x36\\xfa\\x56\\xec\\x21\\xf8\\x5c\\xe1\\x7b\\x22\\xd6\\xec\\xba\\xa0\\x7a\\x88\\xfb\\x54\\xf8\\x3a\\x5b\\x31\\x79\\x1c\\x40\\xe7\\xc6\\x41\\x78\\x40\\xdf\\xab\\xb0\\xa2\\xb7\\x3e\\x85\\x46\\x01\\x46\\x69\\x94\\x01\\x38\\x2a\\xb6\\x82\\x17\\xe4\\xb9\\x84\\x72\\x63\\xa0\\x3e\\xf2\\x8f\\x55\\x3d\\xdd\\x5b\\xb1\\xfb\\xe5\\xb9\\xf8\\xb3\\x73\\xe9\\xd7\\xfb\\xb4\\x15\\xbc\\x21\\xcf\\x25\\x98\\x1b\\xa7\\x2f\\xc6\\xec\\x56\\xec\\x4b\\x69\\x1c\\xd4\\xf4\\x92\\x37\\x8e\\x36\\x94\\x19\\x47\\x5f\\x4a\\xec\\x83\\xef\\x31\\x3d\\x42\\xe0\\xa0\\x44\\x26\\x05\\x52\\x8d\\xa5\\x71\\xc9\\x63\\xc1\\x67\\xbe\\x14\\x7b\\x49\\x7a\\xe6\\xdb\\x01\\x09\\xc8\\xec\\x38\\x5c\\x76\\x9c\\x32\\xe2\\x18\\x88\\xcb\\xe3\\x14\\xf6\\x1d\\xa7\\x51\\xb3\\x4a\\x35\\xce\\x2b\\xbd\\x9f\\x31\\xa8\\x37\\x68\\x0e\\xf6\\x59\\x76\\x9c\\x78\\x76\\x9c\\x72\\xe2\\x20\\x48\\xfc\\xce\\x38\\xe5\\x9a\\x2b\\xd5\\xf3\\xe9\\xfd\\x4c\\x92\\xf1\\x53\\xec\\x33\\xcc\\x9b\\x36\\x10\\xb5\\x69\\xa3\\xb9\\xa9\\x16\\x07\\x6e\\xd4\\x78\\x6f\\x0f\\x34\\xb9\\x31\\x2b\\xfc\\x6d\\x6b\\x9e\\xdc\\x7c\\xf6\\x73\\x2a\\x88\\xfb\\x33\\x9f\\x53\\xd6\\xff\\x73\\xd4\\xf3\\x7d\\x06\\x7d\\x0e\\x36\\x02\\x5b\\xfd\\xff\\xf5\\x39\\x3c\\x7c\\x96\\x63\\xd0\\x1d\\x2d\\xee\\xc9\\xed\\x45\\x69\\xbd\\xa3\\xca\\x7a\\x37\\x4b\\xeb\\x4d\\x12\\x78\\x44\\xfd\\xb9\\x68\\x3f\\x7e\\x27\\xad\\xf7\\x48\\xe5\\x73\\x8f\\xc8\\xeb\\x8d\\x7d\\x8a\\xd6\\x5b\\x19\\xa7\\x3a\\x3b\\x4e\\x25\\x51\\x23\\x61\\xca\\x10\\x78\\x30\\xc3\\xe5\\x24\\x8d\\xf1\\x75\\x6e\\x0c\\x7c\\x0f\\x76\\xb8\\xf7\\x80\\xd4\\x1f\\xf8\\x4f\\x40\\x62\\xd6\\xb4\\x01\\xdf\\x51\\x08\\x0a\\xd3\\x26\\xb6\\xa9\\x10\\xce\\x79\\x95\\xd4\\xfb\\x24\\xf1\\x39\\x49\\xbd\\x87\\x5b\\xe4\\x5e\\x42\\x42\\x90\\xf7\\x67\\x51\\x6e\\x5f\\x49\\xd8\\xfb\\x52\\xbf\\xe1\\xbd\\x4a\\x7f\\xe2\\x16\\x69\\x5f\\x11\\x23\\x94\\x7d\\x25\\xd7\\xb8\\x21\\x1c\\x3b\\xa9\\x96\\x92\\xa1\\x31\\xbb\\xcb\\x15\\xd1\\xf8\\x31\\x7f\\x61\\x51\\x98\\xe3\\x39\\xe4\\x45\\x79\\x85\\x00\\xef\\x97\\x2e\\xd8\\x79\\x0f\\xef\\x89\\x93\\x71\\x1b\\x2a\\x71\\x23\\x8d\\xa8\\x24\\x94\\xcc\\xfa\\x23\\xd9\\x22\\x37\\xb5\\x6e\\xcc\\x06\\xe2\\x19\\x02\\x7c\\x1e\\xb9\\xec\\xd9\\xfb\\x4d\\x68\\x0b\\x33\\x18\\x6f\\x52\\xef\\x27\\xba\\xeb\\x1c\\x8d\\x6e\\x31\\x7f\\xfe\\x9f\\xda\\xc9\\x20\\x57\\xdc\\xe6\\x3c\\xe3\\x38\\xc3\\xcb\\x05\\x6e\\xdc\\x65\\x8e\\xcb\\x43\\x99\\x0b\\x4f\\xdc\\x88\\xee\\x32\\x87\\x89\\x7f\\x7d\\x20\\x53\\xdb\\x76\\x45\\xf7\\x1f\\x50\\x71\\xdb\\x1f\\xba\\x9f\\x96\\xee\\x3a\\xd1\\x9d\\x92\\x84\\xc7\\x07\\x6d\\x63\\x1c\\x4b\\x61\\x4b\\xd3\\x35\\x09\\x6f\\xdc\\x50\\x42\\x96\\xc6\\x70\\xbc\\xb4\\x94\\xe1\\xac\\x56\\xc6\\xc0\\x54\\x55\\x73\\x71\\x0c\\xa5\\xc1\\x30\\xcc\\xa5\\x75\\x85\\x5b\\x05\\x97\\xc7\\x52\\x8e\\xca\\xae\\x4b\\x50\\xb5\\x4b\\x11\\x2a\\xbb\\x56\\x15\\x58\\x0c\\x50\\xe1\\x92\\xad\\xa6\\x50\\xd8\\xa7\\x50\\x7a\\x88\\x0f\\xd5\\xd6\\xd4\\xaa\\x4b\\xae\\x09\\x0d\\x32\\xfa\\x72\\x89\\x41\\xa6\\x48\\x19\\x06\\xfa\\xca\\xb5\\xa8\\x14\\xe5\\x7f\\x0d\\x5c\\x7a\\x27\\x3f\\x74\\x57\\xd3\\xda\\x6b\\xb7\\x7c\\xbb\\xeb\\xae\\x73\\x87\\x2c\\xba\\xcb\\x98\\x5d\\x0d\\x1f\\xdf\\x31\\xfb\\xf1\\x1a\\x6e\\x50\\x34\\xba\\x7a\\xd4\\xf8\\xe9\\x6e\\xf1\\xe7\\xe6\\xe1\\x95\\x91\\x8e\\x92\\x65\\x43\\x46\\x8f\\xed\\x6e\\xea\\x2e\\xbb\\xa1\\xb9\\x55\\x78\\xf8\\xd6\\x87\\x40\\xe5\\x7d\\x45\\xe7\\x1a\\xd3\\xfc\\xcc\\xf5\\x5d\\x05\\x81\\x9e\\xcb\\x63\\x65\\xf5\\x35\\xf8\\xa0\\xa5\\x1b\\x46\\xd7\\xe3\\xa3\\x5d\\xdb\\x7e\\x1a\\x00\\x0f\\x51\\xc6\\x60\\x85\\x3a\\x26\\x9a\\xb3\\x27\\x68\\xad\\x3e\\x55\\x61\\x20\\x6e\\xc5\\x0e\\xc9\\xfa\\xac\\x2c\\xa7\\x5b\\xa5\\x5a\\x2e\\x69\\x9c\\x52\\x65\\x9c\\x43\\xf2\\x38\\xbe\\xdc\\xbe\\x83\\xe1\\x1c\\x59\\xa2\\x75\\x2b\\x18\\x56\\x68\\x9c\\xff\\x80\\x75\\xe8\\x3d\\x3c\\x9e\\x7d\\xcf\\x58\\x71\\xa2\\x54\\x03\\x21\\xe9\\x57\\xd4\\xab\\x09\\x1e\\x90\\x75\\xaa\\x38\\x11\\xc6\\x31\\x2f\\xc8\\x3a\\x15\\xbd\\x8e\\x3d\\x93\\x7b\\x7f\\x06\\x43\\x04\\x9e\\x91\\xed\\xa8\\x87\\xd4\\xaa\\xfc\\x9e\\xa4\\x73\\x55\\x7a\\x19\\x8d\\x41\\x39\\xd0\\xbb\\x30\\x99\\xcf\\x51\\xd6\\xcf\\xd2\\x58\\x58\\xe9\\xe3\\x58\\x05\\xd4\\x00\\x1c\\xd7\\x54\\x81\\x34\\x81\\xc3\\x21\\x7f\\x65\\x59\\xf9\\xab\\xd5\\x2a\\x7d\\x3d\\x46\\xd3\\x4d\\x12\\x19\\x1f\\x94\\x59\\x8a\\xc5\\x91\\xcc\\x60\\xa3\\x22\\xcf\\x8d\\xb2\\xcc\\x91\\xdc\\xda\\x5d\\x07\\xe3\\xaf\\x83\\x68\\xed\\xf0\\xc9\\xb2\\x3d\\x59\\x27\\x69\\xf0\\xb0\\xbc\\x72\\x12\\x96\\x19\\x61\\x56\\xb0\\xcc\\xa6\\xa7\\xcb\\x1c\\xf0\\xa0\\x71\\x9c\\xcd\\x66\\x41\\x2d\\x85\\xb4\\xc5\\xe2\\xf1\\xba\\x9d\\x0e\\xe7\\x8e\\x99\\x0e\\xd7\\x75\\x82\\xc3\\x61\\xce\\x41\\x98\\x61\\xc4\\x24\\x01\\xf3\\xa8\\x3a\\x16\\x9c\\xb9\\x1b\\xcc\\x4c\\x15\\x8b\\x42\\x5c\\x3e\\x10\\x6e\\x19\\x22\\x78\\x25\\xe0\\x6b\\x31\\x09\\xb7\\xcc\\x69\\x77\\xa9\\x70\\xcb\\xf0\\x67\\x35\\xe2\\x8f\\x12\\x70\\x19\\xb0\\x23\\xe0\\xb2\\x75\\x74\\x0e\\xb8\\x4c\\x3b\\x3d\\x24\\x7e\\x00\\x62\\xa1\\xfd\\xfb\\x33\\x3e\\x89\\x64\\xdf\\x13\\x92\\xbd\\x1e\\x2a\\xdb\\x71\\xf4\\xba\\xee\\x13\\xd5\\xeb\\x92\\xff\\xa1\\xf8\\x1d\\xae\\x0c\\xbe\\x2e\\x7a\\x9d\\x24\\x55\\x98\\x9c\\x1f\\x66\\xf6\\xa0\\x82\\x93\\x0c\\x57\\x29\\x9e\\xbf\\x07\\xdf\\x92\\x7a\\x4b\\xc7\\x2a\\x58\\x13\\xdf\\xc8\\xcf\\xb7\\x22\\xab\\xb3\\x90\\xdf\\xa2\\x7d\\x17\\xc6\\x4e\\x49\\x6c\\x4b\\xba\\x49\\x5f\\xa0\\xd3\\x15\\x16\\x12\\x38\\xc3\\xb2\\x86\\x84\\xd1\\x18\\x8d\\xe2\\x3e\\x97\\xdb\\xed\\xf7\\xe1\\xbe\\xe2\\x92\\x10\\xd7\\x21\\x84\\x58\\x7d\\x41\\xa7\\xe0\\x75\\x77\\x08\\xb4\\x1e\\x18\\x09\\xbd\\x57\\xef\\xc5\\x28\\xc6\\xa8\\x23\\x28\\xa2\\x43\\x30\\x53\\x44\\x61\\x9f\\x5b\\x9f\\x7e\\xd0\\x95\\x79\\x1c\\xf1\\xb9\\x58\\xbe\\x2e\\xaf\\x3a\\x34\\x92\\xc1\\xab\\x92\\x4b\\x41\\xfb\\xd4\\x4b\\x65\\x0b\\x46\\x25\\xec\\x4a\\x3a\\x7b\\x7b\\x3c\\x0d\\x9c\\x9a\\x26\\x63\\x56\\xfe\\xd1\\x34\\x36\\xdd\\xbe\\x82\\xed\\x58\\x63\\x06\\x57\\xae\\xf1\\x7c\\xf3\\xd9\\x87\\x2f\\x69\\x87\\x8a\\xce\\x39\\x07\\xcc\\x99\\x8b\\x64\\x91\\x01\\xdf\\x49\\x15\\xb1\\x13\\x47\\x96\\x0e\\x19\\xf1\\x87\\x35\\xb8\\xdf\\x35\\xb6\\x67\\xcd\\xae\\xdb\\xd6\\xad\\x8f\\x85\\xc0\\x2c\\x84\\x60\\x29\\xd5\\xf5\\xf7\\xde\\x23\\x8e\\xa2\\x04\\xa8\\xcf\\x6d\\x98\\x0f\\x9b\\x91\\xb6\\xd9\\x78\\x8e\\xd0\\xe9\\x50\\x14\\xe0\\xb1\\x10\\x16\\x7f\\xc0\\xc6\\x23\\x9d\\xae\\x17\\x6c\\x2c\\xa7\\xd3\\xb1\\x46\\xf6\\x38\\x60\\xd2\\xb4\\x60\\x24\\x35\\x64\\x87\\xa0\\x21\\x00\\x5c\\x12\\xe0\\xc5\\xf2\\x8b\\x54\\x52\\x6a\\x86\\xfc\\x54\\x86\\x57\\x48\\xc1\\x37\\xcf\\xb6\\x12\\x62\\x94\\x84\\x27\\x54\\x83\\xa1\\xe8\\x00\\xac\\x15\\xcb\\xcd\\x0f\\x00\\xa8\\xb4\\xc1\\xc9\\xc8\\xf4\\xb7\\x96\\xdf\\x72\\xc7\\x49\\x51\\x10\\x3f\\x03\\xcf\\xa4\\xaf\\x19\\xba\\xef\\x6e\\xc0\\x5d\\xdf\\x26\\x8e\\x6a\\xf6\\x68\\x2a\\xdc\\xcd\\x2f\\x75\\x9d\\x7f\\xe4\\xae\\x0f\\xc4\\x35\\xe2\\x9f\\x3a\\xc8\\x2b\\xc7\\xa4\\xcf\\xad\\x1b\\x0d\\x38\\x30\\xe6\\xbe\\x99\\x4b\\x07\\xc2\\xcc\\x1a\\x01\\x6a\\xe5\\xfd\\xe2\\xca\\x9d\\x75\\x84\\x2b\\x45\\xab\\xf0\\xb1\\x46\\x20\\x34\\x06\\xf4\\x9e\\x40\\x4e\\x67\\xc9\\x36\\xf8\\x3d\\xd9\\x06\\x43\\xad\\x20\\x71\\x25\\x4a\\xfb\\xef\\x59\\x7c\\x2c\\x36\\x24\\x9d\\x20\\x1b\\x92\\xa0\\x2c\\x09\\x92\\x88\\x3b\\x51\\xf9\\x3e\\x90\\x04\\x54\\xb2\\x84\\xf3\\xc6\\x08\\xbc\\x81\\x03\\x19\\x3a\\x45\\xc4\\xf9\\x29\\xa1\\x60\\x35\\x48\\x10\\x87\\x39\\x2c\\x74\\x92\\xd0\\x16\\x65\\x7d\\x80\\x75\\x20\\x00\\xf6\\x64\\xf9\\x71\\x4a\\xd2\\x76\\x3c\\x58\\x4c\\x12\\x71\\x6b\\x9c\\x24\\xb6\\x16\\x96\\x19\\x6c\\x31\\xbc\\x21\\x08\\x8e\\x03\\x6f\\x86\\xf7\\x67\\x76\\xb5\\xd2\\x8e\\xcd\\xfc\\xa3\\x2a\\x67\\xdb\\x3f\\xcc\\xd8\\x76\\x6c\\x1d\\xf4\\xad\\x10\\xfe\\x08\\x9e\\xa0\\xe2\\xf8\\x71\\x7c\\xf2\\xc3\\x89\\xa2\\x90\\x8a\\xd3\\x4f\\xb1\\xf3\\xd7\\x65\\xec\\x3c\\xfc\\xfc\\x97\\xe4\\xfe\\x73\\x22\\x6d\\x8d\\x13\\x1f\\xa6\\x47\\x14\\xe4\\xe1\\x04\\xc8\\xbc\\x62\\xd2\\xf8\\xb7\\xca\\xef\\xc7\\x75\\x72\\xdf\\x34\\x51\\x40\\xc5\\x89\\xef\\x0a\\x92\\xda\\xfc\\xfe\\x76\\x89\\x37\\x42\\x1a\\xff\\x09\\xe5\\x4c\\x7e\\xad\\x8c\\x1f\\x83\\xe3\\x7f\\x10\\x2b\\xe8\\xf3\\xfe\\x3e\\x9c\\x9c\\xf8\\x5b\\xf8\\x4e\\x85\\xbf\\xd2\\x9f\\xe7\\xf3\\xa8\\x38\\x94\\xf0\\xb7\\xc0\\xcf\\x8a\\x5f\\x94\\xb4\\xe6\\x73\\x5c\\x7e\\x97\\x1d\\xe7\\x24\\xd1\\x2c\\xfb\\x38\\xc1\\xfc\\x78\\xe0\\x0d\\x6a\\x7f\\x76\\x9c\\x93\\xf8\\x75\\xb2\\xbe\\x28\\xc9\\xb3\\x59\\x6a\\x8e\\x44\\x38\\x9f\\x9f\\xa5\\xf9\\xe0\\x20\\x91\\x9d\\x0f\\xc2\\x46\\xbe\\x3f\\xc7\\x93\\x03\\xdf\\x63\\x54\\xe6\\x53\\x92\\x9d\\x8f\\x3c\\xce\\x77\\xd9\\x71\\x4e\\x12\\xf3\\xe4\\xfd\\x58\\x98\\x9b\\x0f\\x1a\\xe7\\x02\\x69\\x3e\\x4d\\xca\\x7c\\xe6\\xf4\\xb3\\xa1\\x7d\\xf8\\x11\\xa1\\xec\\xf7\\x29\\xf3\\xe1\\xb3\\xfc\\x9e\\x2b\\xe0\\x61\\xbe\\x31\\xc7\\x93\\x83\\xbf\\x85\\x9d\\x91\\xe6\\x83\\x03\\x36\\x3b\\x1f\\x34\\xce\\x3c\\x69\\x3e\\xc5\\xca\\x67\\x8d\\xef\\x77\\x3e\\x50\\x9c\\xb3\\x4f\\x9a\\x8f\\x3c\\xce\\x49\\xb0\\x4d\\x3e\\x1f\\x8e\\x5c\\x6c\\xd1\\x87\\xbf\\x0f\\xca\\xfe\\xaa\\xf2\\xbc\\x0a\\xb3\\xeb\\x93\\xcf\\xe9\\x82\\xe6\\xfc\\x81\\xb2\\x3e\\xf1\\xcc\\x7c\\x94\\x71\\xbe\\xcb\\x8e\\x73\\x92\\xd8\\x2c\\x3f\\xaf\\x64\\x7e\\xcc\\xf4\\x84\\x34\\x9f\\x89\\xca\\x9c\\x37\\xc9\\xeb\\x53\\x90\\x5b\\x9f\\x3e\\xf8\\x44\\x70\\x3e\\x0f\\x28\\xf3\\x29\\xca\\xae\\xcf\\x0f\\x50\\xf6\\xe2\\x1c\\x26\\x11\\x9c\\xcf\\x06\\x65\\x7d\\x7c\\xd9\\xf5\\x91\\xc7\\xf9\\x2e\\x3b\\xce\\x49\\x62\\xb2\\x3c\\x9f\\xe2\\x3c\\xfd\\x41\\x94\\x49\\xf3\\x99\\xa2\\xcc\\xc7\\xd5\\x57\\x7f\\xf4\\xe5\\x9c\\xc3\\xdf\\x22\\x8a\\x94\\xe7\\x55\\x90\\x5d\\x9f\\x3e\\xbc\\x22\\x70\\xce\\x9c\\x32\\x9f\\x58\\x76\\x7d\\xe4\\x71\\xbe\\xcb\\x8e\\x73\\x92\\x90\\x63\\x7a\\x50\\xd4\\x37\\x16\\xdc\\x9f\\x1d\\xe7\\x24\\xfe\\x94\\x3c\\x9f\\x44\\x6e\\x3e\\xb1\\x9e\\x33\\x39\\x9c\\x1f\\xe8\\x23\\x9d\\xc2\\xe7\\xca\\x98\\x3a\\x3d\\x67\\x72\\x58\\x3d\\xe8\\x75\\xc4\\x61\\x80\\x70\\x70\\x7a\\xce\\xa8\\xf1\\x73\\x74\\x27\\x30\\xa9\\x7e\\x05\\x63\\xe0\\xfb\\x97\\x93\\x97\\xda\\x24\\xac\\x1b\\x46\\xa3\\x3b\\x71\\x83\\x7c\\xf7\\x70\\x3f\\xf4\\x77\\x2e\\x81\\x36\\x24\\x8c\\x4d\\x4d\\x3b\\x02\\x3c\\x8f\\xd9\\x3d\\xa4\\xd5\\x1a\\x89\\x1a\\x3d\\x9e\\x48\\xc8\\x8e\\x59\\x00\\x26\\xa7\\x57\\x01\\xf0\\x40\\xc7\\xa5\\x43\\xf0\\x78\\x8d\\x16\\x8b\\xb6\\x43\\xb0\\x0c\\xd0\\x23\\x96\\xc9\\x22\\xab\\xac\\x26\\xba\\x25\\x8f\\x62\\xaa\\x1a\\xa4\\xa0\\xd4\\xc1\\x27\\xdf\\xa0\\x52\\xd2\\x8f\\x12\\x9a\\xb7\\x1d\\x50\\x89\\x0e\\xbb\\xe8\\xe2\\x2d\\xe7\\x4d\\x98\\x56\\x73\\xfa\\x71\\x60\\xfc\\xea\\xd9\\xfd\\x1b\\x36\\x7f\\x2d\\xda\\xc4\\x25\\x36\\x70\\x10\\x5c\\x78\\xcf\\x5e\\x70\\x78\\x63\\x11\\xc0\\x9e\\x59\\xbd\\x68\\xe8\\xf3\\xa0\\xa2\\x6a\\xd7\\xbe\\xdb\\xc5\\x9e\\xe1\\xb1\\x3b\\x37\\xbd\\x25\\x7e\\x7b\\x4f\\x7c\\xd1\\x10\\x60\\xfd\\xe5\\xd5\\xf2\\x02\\x59\\x9e\\x37\\xc5\\x51\\x44\\x18\\xc6\\x00\\x21\\x94\\xcf\\xf7\\x73\\x1c\\x8b\\xb9\\x48\\x86\\x09\\x47\\x8c\\x2e\\x57\\x38\\xc8\\x22\\x79\\x5a\\xa1\\x2c\\x16\\x97\\xcb\\xdd\\x22\\xb8\\x24\\x59\\x90\\xfb\\xff\\xff\\x29\\x4b\\x03\\x50\\x70\\xbb\\x14\\x59\\x1c\\x19\\x44\\x01\\x4a\\x2a\\xb4\\x4a\\x68\\x9e\\xb0\\x1d\\xdc\\x3b\\xb2\\x6e\\xd8\\xf0\\xa6\\x51\\xa5\\x37\\xef\\x00\\x8d\\xd7\\xdd\\xb0\\xec\\x3c\\x71\\xab\\xb8\\x82\\x3e\\xfc\\xfe\\xc2\\x79\\x53\\x4e\\x2f\\x2c\\x7a\\xf4\\xce\\x31\\xcd\\xf1\\xdb\\x80\\x26\\xf0\\xdd\\x15\\xcf\\x35\\x79\\x2e\\xef\\xf8\\xf7\\xaf\\xe1\\x49\\xc1\\x95\\xfb\\xba\\x6f\\xae\\xe1\\x07\\xc0\\x07\\xdf\\x0a\\x7e\\x91\\xf7\\x4c\\x20\\xb7\\x67\\x10\\x66\\xf5\\x70\\x2d\\x7a\\xbe\\xe3\\x94\\xf7\\x98\\xc0\\x2d\\xd2\\x7b\\xf0\\xac\\xcf\\xf4\\x9d\\x38\\x9e\\xea\\xa0\\xc6\\xc0\\x35\\xe8\\x48\\x57\\x38\\x0c\\x76\\xbb\\xd1\\x68\\x65\\x70\\x8a\\x0a\\x78\\x18\\x4f\\x38\\x62\\x70\\x38\\x74\\x4e\\xdd\\x5c\\xc1\\x49\\xb2\\xd6\\x0e\\x81\\x25\\x8c\\x8c\\x85\\x81\\xcf\\xd3\\x16\\x90\\x9d\\x23\\x8f\\xfa\\xa2\\xd5\\xd9\\x30\\x10\\xd8\\x80\\xaa\\x03\\x1e\\xba\\x42\\x72\\xd6\\x7c\\x00\\x94\\x44\\xa9\\x20\\x00\\xdf\\x66\\x3e\\xfa\\x09\\x3d\\xa1\\x71\\xd1\\x93\\xc7\\xe4\\x4a\\xd5\\x57\\x90\\xa3\\x60\\xdf\\x7f\\x74\\xde\\xc5\\x3b\\xcc\\xc4\\xc7\\xf7\\x9a\\xc5\\xf1\\xd0\\xed\\xf9\\x71\\x52\\x7a\\xc8\\xf8\\x85\\xe7\\x4c\\x99\\x62\\xba\\x0b\\xda\\x4a\\xb7\\x5c\\x1c\\x59\\xca\\x9c\\x35\\xcb\\xbe\\x0e\\x81\\x39\\xe1\\x3e\\xad\\xa5\\xae\\xc1\\x62\\x30\\xb6\\x1b\\x86\\x5d\\x92\\x1e\\x19\\x0a\\x94\\x10\\xc5\\x61\\x23\\xc3\\xb0\\xc5\\xc5\\xe1\\x70\\xac\\x8a\\xa2\\x62\\xf0\\xa4\\xc5\\x62\\xe9\\xb8\\xcb\\xd5\\x90\\x8e\\x86\\x5b\\x84\\x28\\xe6\\x2b\\x47\\x70\\x6f\\xc5\\x2c\\x5b\\xc8\\x15\\xb6\\x0b\\x1c\\x67\\xf1\\xe8\\xea\\x5b\\x05\\x9d\\xd7\\x58\\x8b\\xd5\\xb6\\x23\\x5a\\xa6\\x32\\x15\\x74\\x46\\xdf\\xb8\\x0f\\xa8\\x62\\xbd\\x6c\\x45\\xb2\\xcc\\xc2\\x50\\x51\\x4e\\xd5\\x66\\xf2\\xd4\\xf1\\x84\\x46\\x1b\\xa9\\xa9\\xad\\xaa\\x61\\xd5\\x21\\xa0\\xbc\\x12\\xf9\\xed\\xb6\\x88\\x59\\x47\\xab\\x50\\xce\\xd9\\x23\\x91\\xae\\xb5\\xfb\\x2e\\x3f\\xff\\x0f\\xae\\xba\\x68\\xd7\\xe0\\xb5\\x44\\x2a\\xd7\\x84\\x4b\\x18\\x4b\\xf7\\x99\\xc0\\x43\\x3d\\x1a\\x75\\xf7\\x2d\\xbe\\xb9\\xbb\\x0c\\x0c\\x8a\\x05\\x4a\\xcb\\xf1\\x19\\xad\\x0b\\x2f\\x6e\\xa9\\xaf\\x1b\\xbb\\x6b\\x31\\x1d\\x04\\x7c\\xb6\\x25\\xd7\\x3f\\x07\\x30\\xce\\xe1\\x67\\xdf\\xce\\x75\\xe3\\xf6\\x38\\x1b\\x4d\\xc6\\xba\\x21\\xc5\\x92\\xaf\\xf8\\x0b\\xd4\\xd7\\x76\\xaa\\x0b\\x8b\\x40\\xfb\\x71\\x41\\x3a\\x12\\xe1\\x71\\x2b\\x65\\x4f\\xe8\\x74\\x21\\x1c\\x2f\\x29\\xf5\\xd8\\xed\\x49\\x8b\\xa5\\x84\\x77\\x76\\x08\\x94\\xd5\\xea\\x2f\\xf4\\x17\\x76\\x08\\x3c\\xc2\\x44\\x74\\xe9\\x2d\\x4d\\xbc\\x9f\\xf7\\x63\\xd0\\xd9\\xee\\x10\\x8c\\x2c\\x16\\x81\\x3b\\x24\\xad\\x37\\x41\\x7b\\x57\\x96\\xcc\\xcf\\x06\\xc8\\xad\\x95\\xaa\\x5b\\x3c\\x15\\x5e\\xa0\\xb4\\x55\\xc8\\x2c\\xfe\\x46\\x08\\x55\\x4e\\x20\\x0e\\xbe\\xea\\xaa\\x68\\x2c\\x5b\\xb3\\x07\\xcf\\x0f\\x40\\x7f\\x23\\xa0\\x0e\\x62\\x1c\\x78\\xe5\\xf5\\xc3\\xb7\\x1e\\x14\\x6f\\x11\\x1f\\x10\\xff\\x57\\xfc\\xd7\\x77\\x6f\\x6d\\xda\\x09\\x9d\\xc5\\x20\\xb3\\xf5\\xa2\\xb5\\xe7\\xef\\xbd\\xe7\\x11\\xb1\\xe7\\xe9\\x17\\xc5\\x4f\\xc4\\x4b\\xa9\\x2e\\xb7\\xf8\\xcb\\xf5\\xaf\\x85\\x98\\x9b\\x37\\xbc\\xf7\\xf9\\xfd\\x7f\\xbc\\xeb\\x6f\\x0e\\x7e\\xc7\\x82\\x9b\\xff\\x68\\x5d\\xc8\\x6f\\x5a\\xb9\\x60\\xf1\\x03\\xfb\\xef\\x0d\\x9e\\x9d\\xf0\\xe0\\xe1\\xf7\\xc4\\xa3\\x5f\\xa2\\xbc\\xf2\\x84\\xde\\xd3\\xa4\\x9f\\xda\\x01\\x75\\x5d\\x29\\x36\\x29\\x5d\\xc8\\xb8\\x7c\\xfa\\x20\\x66\\x33\\x99\\x0a\\x35\\x11\\x0c\\xe3\\x7d\\x1a\\x5f\\x59\\x79\\x50\\xaf\\xb7\\xc7\\xed\\xf1\\x56\\xc1\\x6e\\x27\\xdc\\x34\\x34\\x3b\\xad\\x02\\x91\\xa9\\xc5\\x92\\x2b\\xf6\\xb0\\xba\\x81\\x8e\\x82\\x7c\\x1a\\xec\\x4a\\x95\\xb3\\x24\\x5a\\x4d\\x2d\\x2f\\x37\\x56\\x40\\xc1\\x6a\\x25\\x56\\x4b\\x28\\xbd\\x54\\x5c\\x2b\\xa7\\x44\\x6c\\xc4\\xcb\\xe2\\xbf\\xbf\\x7f\\xe4\\x4f\\x07\\xee\\x9a\\x24\\x9c\\x3c\\xe4\\xdb\\x3a\\xab\\x75\\x7e\\x5d\\xf5\\x65\\x37\\x5e\\x7b\\xf9\\xcc\\x4e\\xf1\\x8b\\xf2\\x9a\\xb9\\x17\\x17\\x57\\x77\\x5e\\x81\\x3b\\x44\\xf1\\xed\\x47\\x0f\\xbe\\x08\\xb4\\xd5\\xbe\\xf5\\x53\\x76\\x3c\\x69\\x1e\\xd1\\x79\\x72\\xd7\\xe1\\x4d\\xe7\\xa7\\x46\\x18\\xaf\\x5c\\xbe\\xf6\\xde\\x44\\xe8\\x8e\\xe8\\xec\\xa9\\xe2\\xb1\\xbf\\x4f\\x9f\\x0c\\xd2\\xd2\\xd9\\x3f\\x0b\\xcf\\x09\\xba\\xeb\\x77\\x63\\xe9\\x74\\xd0\\x61\\xb1\\x60\\x3a\\x9d\\xc7\\xab\\x31\\xb8\\x5c\\x1e\\xb7\\xc1\\x65\\xe8\\x10\\x5c\\x36\\xab\\x57\\x0f\\x23\\xc5\\x4e\\x01\\x1e\\xcf\\xec\\xad\\x7e\\x43\\xdf\\xbb\\x63\\x75\\x67\\x7f\\x48\\x0b\\x42\\xf2\\x79\\x4e\\xc8\\xea\\x2f\\x54\\x4b\\x34\\xe7\\x6e\\xef\\xcf\\xbd\\x02\\x2e\\x7e\\xf2\\xe9\\x87\\xfe\\x1c\\x6f\\x99\\x74\\xf1\\xca\\x9e\\xad\\x76\\xf2\\xa4\\x7c\\x71\\x7f\\xf6\\xa6\\x99\\x0b\\x3a\\x0f\\x4d\\x9f\\x98\\x5c\\x39\\x6c\\x4c\\xf3\\x6a\\x34\\xb7\\x17\\xa1\\x6e\\x46\\x77\\xf7\\x2e\\x54\\x43\\x46\\x70\\x9c\\xde\\x6a\\xf5\\xb0\\xb4\\x56\\xeb\\x76\\x79\\x6d\\x06\\xc6\\xd0\\x22\\xd0\\x34\\x43\\xeb\\x58\\x2d\\xab\\x74\\x18\\x29\\xf7\\xf3\\x4a\\xdb\\x57\\xf6\\x76\\x38\\xa5\\x34\\x54\\xca\\x53\\x51\\x97\\x19\\x48\\x0a\\x19\\xcc\\x16\\x66\\xac\\xe9\\x14\\xb7\\xea\\x70\\x32\\x77\\x15\\xdf\\x73\\x6e\\x07\\x18\\xb6\\xf7\\x71\\xf1\\x8a\\xfa\\xd5\\xc3\\x46\\x8e\\xab\\x24\\x82\\xf2\\x4d\\xfc\\xb9\\x7f\\x3d\\x32\\xf5\\xee\\x45\\x03\\xe5\\xa3\\xf7\\x80\\x95\\xb2\\xff\\xe0\\xed\\xeb\\x7f\\xe6\\xf2\\xd1\\x7b\\xb0\\xa3\\xb2\\x3f\\x53\\xa8\\xf2\\x3f\\xc5\\x36\\xc4\\xfb\\xc1\\x28\\xbc\\x1f\\x58\\x37\\xd8\\xad\\xf0\\x7e\\xb4\\xe5\\x78\\x3f\\xd0\\xeb\\xd8\\xf3\\x39\\x7f\\x4c\\xca\\x3d\\x56\\x2a\\xb9\\xc7\\x3d\\x99\\xdc\\x63\\xa9\\x3a\\xf7\\x88\\x7c\\xa9\\x9f\\xa4\\xbc\\xe1\\x44\\x25\\xf7\\x78\\x50\\xc9\\x3d\\xfe\\x8f\\x94\\xeb\\x95\\xc7\\xa9\\xce\\x8e\\x93\\x22\\xee\\xc9\\xf8\\xd8\\x6a\\xbf\\x8e\\xd4\\x6a\\x22\\x99\\x31\\xf0\\xbd\\xd8\\x41\\x25\\xf7\\xf8\\x1f\\x60\\xc1\\xe2\\x8f\\xe1\\xbd\\x1e\\xf0\\x27\\x0f\\xf0\\xa0\\x93\\x4f\\x07\\xc3\\x4d\\x98\\x07\\xbc\\x01\\xff\\x99\\x36\\x59\\x9b\\x3c\\x98\\x15\\xa1\\x84\\xae\\x5a\\x35\\x50\\xbe\\x7c\\x0f\\xf8\\x97\\xbc\\x56\\x89\\xbe\\xbe\\x5f\\x2e\\x5f\\xbe\\x47\\xe2\\x25\\x82\\xef\\x89\\xf6\\xf1\\x45\\x55\\x73\\xae\\x24\\x36\\x0f\\x34\\x67\\xe2\\x3b\\x4d\\x47\\x76\\xce\\x7b\\x90\\xdc\\x56\\x39\\xe7\\x3a\\x56\\xe2\\x84\\xfa\\x2e\\x0a\\x76\\x44\\xc1\\xb3\\x51\\xf0\\x60\\x14\\x44\\x31\\x2b\\xe2\\xf3\\xca\\xc3\\xde\\x9a\\x9f\\xc5\\xde\\xda\\x0e\\x76\\xc8\\xf6\\xd4\\x99\\xcb\\x41\\xc8\\x78\\x5b\\x8e\\x2c\\xde\\xd6\\xf6\\xe5\\x92\\x07\\x16\\x57\\x72\\x39\\xbd\\xf3\\xc4\\x51\\x78\\x0b\\xb4\\x3b\\x1c\\xb4\\xa6\\x2d\\xe9\\x04\\xaf\\xd7\\x13\\x6e\\x92\\x24\\x68\\xbb\\x1d\\x5a\\x25\\x22\\x1c\\xb1\\x79\\x4c\\x81\\x56\\xc1\\xe4\\xa5\\x5d\\x1a\\x57\\xbb\\x60\\xd7\\xa8\\x80\\xa5\\xcb\\x52\\x39\\xe3\\xd2\\xdf\\x9c\\xc8\\xdd\\x48\\xa0\\x9f\\x1d\\xa9\\xa5\\x72\\x66\\x02\\xb8\\x50\\x93\\x9c\\x78\\x36\\x18\\x54\\x1b\\x0b\\x2d\\xd8\\xdf\\x5d\\x08\\x2a\\xa1\\x31\\x40\\x2d\\xa3\\xbf\\x8d\\x50\\x59\\x04\\x5f\\xc1\\xcd\\x39\\x9d\\x8f\\x15\\x41\\x5d\\x70\\x27\\xf4\\x85\\x0a\\xa0\\xcd\\x5c\\x95\\x1e\\x6c\\xa2\\x34\\x1a\\x9d\\xb6\\xd0\\xe5\\xb2\\x16\\xdb\\xed\\xd6\\x40\\x54\\xda\\xe8\\xd6\\xaa\\xea\\xb0\\xc7\\x5b\\xd1\\x2a\\x78\\xbd\\x81\\x24\\x97\\x6c\\x17\\xa2\\x1c\\x65\\x32\\xe1\\x16\\xbc\\x1d\\xba\\x45\\x12\\xd2\\x14\\x8d\\xce\\xa2\\x3a\\x45\\xd0\\x57\\xae\\x7e\\x76\\x52\\x2e\\x13\\x04\\xaa\\x76\\xd9\\x2c\\xea\\x70\\x7f\\x71\\xd9\\x1a\\x95\\x5d\\xc4\\xcf\\xcd\\xcc\\x07\\x21\\x9e\\x7f\\x81\\x6b\\x65\\x38\\x5f\\xfa\\x0b\\x39\\x60\\x55\\xe4\\xc7\\xdf\\x9e\\x9b\\x03\\x24\\x5e\\xda\\x59\\x75\\x79\\xcf\\xd5\\x79\\x8b\\x81\\xdf\\x7f\\xc1\\xb9\\xf1\\x99\\x05\\xc1\\x7b\\x6f\\x54\\x30\\x0f\\x11\\x06\\xd5\\xc2\\x74\\xca\\xcd\\xf3\\xb4\\x8f\\x65\\x69\\x42\\xa7\\xd3\\xeb\\x6d\\x36\\x8b\\x89\\xa6\\xa3\\x31\\xc2\\x67\\xf7\\xb5\\x09\\x3a\\xbb\\x5d\\x43\\xeb\\x6d\\xb4\\xad\\x55\\x30\\xa7\\xe1\\xeb\\x1a\\xf8\\xf8\\xdb\\xb2\\x0d\\x4b\\xb9\\x4a\\xe7\\xfc\\xe6\\xc7\\x54\\xaa\\xef\\x23\\xa6\\x32\\x72\\xe6\\x0a\\x9d\\xe5\\x05\\xa8\\xad\\x8a\\x27\\xb4\\x92\\x75\\x00\\x95\\x8b\\x56\\x31\\xa9\\xc4\\xec\\x91\\xab\\x17\\x67\\xef\\x82\\xa7\\x51\\x2b\\x36\\xde\\x4a\\xd7\\xd5\\x83\\x91\\xbc\\xc7\\xde\\x5a\\x5f\\xdd\\xfa\\xd4\\x74\\x7c\\xa8\\x5c\\xe6\\xec\\x9d\\x32\\xb6\\x63\\xdd\\x63\\xbe\\x18\\x30\\x19\\x17\\x06\\x31\\x80\\x72\\x8d\\xe0\\x27\\xa8\\x53\\xad\\x58\\xb1\\x8c\\x59\\x46\\x5b\\x2c\\x36\\x36\\x97\\x53\\x24\\x90\\x43\\x57\\x99\\x4f\\x17\\x31\\x60\\xf6\\x70\\x80\\xa4\\x61\\xdf\\x44\\xa1\\xe4\\x87\\xf5\\x7e\\x45\\xed\\x85\\xe7\\x01\\xf5\\xaf\\xd5\\x43\\x4f\\x62\\x58\\x39\\x51\\x60\\x2f\\x2c\\x64\\xf4\\x35\\xd5\\x44\\x30\\x68\\x36\\x33\\x61\\x86\\x70\\x11\\xae\\xa1\\xc3\\x7c\\xd0\\x74\\xfa\\xb8\\x02\\xbb\\x3d\\xc6\\xc5\\xa0\\xef\\xc5\\xd0\\x66\\xa8\\xdf\\x31\\x6d\\x5d\\xab\\xa0\\x65\\xaa\\x83\\xc1\\x14\\x96\\x6a\\x97\\x17\\x54\\xed\\x75\\xf5\\xcf\\x43\\x29\\x65\\xe4\\x19\\xba\\x14\\xab\\xba\\x27\\x8c\\xaf\\x4d\\xc9\\xb3\\x4f\\x69\\x94\\x0d\\x26\\xb5\\xb6\\xd4\\x6a\\xf2\\x81\\x99\\x28\\xb9\\xc9\\x5e\\x71\\xc2\\xd8\\x55\\xdb\\x2e\\xfb\\xe2\\xba\\x59\\x83\\x0d\\x40\\x2f\\xf9\\x59\\x13\\x70\\x1b\\xb3\\x7e\\xcb\\x86\\x6b\\xb7\\xfd\\xcf\\xf6\\x2f\\x1e\\x65\\xd6\\xe3\\x3f\\x8f\\xa8\\x89\\x8f\\x4b\\xce\\x75\\x8c\\xf4\\x8f\\xbc\\x60\\xcc\\xb9\\x2d\\xb5\\x65\\xa3\\x16\\xcc\\xb5\\x8f\\xf4\\x8e\\x5c\\x33\\xca\\x7e\\xf8\\xf6\\x63\\xa0\\xfc\\x90\\xbb\\x7a\\x14\\xf2\\xb4\\xc4\\x89\\xd3\\x3b\\xf7\\x3e\\xb4\\xe7\\x31\\xf1\\xf5\\x7b\\xc6\\x08\\xb7\\xe3\\x1d\\x4b\\x36\\xb6\\xd6\\xf7\\xbc\\xef\\xf0\\x6c\\xff\\xb1\\x6b\\xe9\\x86\\xed\\xc8\\x03\\xbb\\xfa\\x0c\\xe2\\x44\\x86\\xbe\\xf8\\x5d\\x52\\x3c\\x52\\x8a\\x0d\\xc6\\xd6\\xa4\\x87\\x85\\xfd\\x05\\xce\\xc2\\x42\\x07\\x0d\\xd7\\x0b\\xc7\\x6d\\x36\\x47\\x99\\x5e\\xef\\xf0\\x13\\x43\\xea\\x0b\\x9c\\xce\\x98\\x07\\xae\\x94\\x87\\x73\\xd8\\x5a\\x04\\x87\\xc7\\x3c\\x08\\x3e\\x42\\xae\\x9a\\x20\\x2a\\x35\\x95\\xed\\x82\\x86\\xc1\\x8a\\x73\\x30\\x29\\x03\\xaf\\x99\\x0a\\x2f\\x45\\xbd\\x5c\\x08\\x9d\\x4e\\x05\\x4d\\xa5\\x74\\xfe\\xb0\\xaa\\x2b\\x0b\\x42\\x71\\x53\\x11\\x26\\x01\\x1e\\x53\\xd6\\x0e\\x79\\x28\\xb8\\xf7\\xa5\\x0f\\xf8\\xda\\x0d\\x63\\xd7\\x5e\\x7b\\xe9\\xbf\\x77\\x8e\\x97\\xbb\\x80\\xc4\\xa6\\x66\\x96\\x1f\\x72\\x7d\\xd3\\xba\\xab\\x2f\\xfd\\x7a\\xe1\\xf0\\x8a\\x80\\x50\\xd1\\x35\\xa4\\x61\\xe5\\x2d\\xc4\\x85\\x43\\x2b\\x23\\x63\\x4b\\xe6\\x95\\x0f\\x5e\\x7e\\x13\\xf1\\x42\\xd1\\x9a\\xd1\\xd3\\x1e\\xbe\\xf5\\x21\\xf1\\xef\\x87\\xe4\\x5e\\x20\\x70\\xf9\\xda\\x09\\x2d\\x33\\x1e\\xb9\\xe5\\x11\\x50\\x72\\xa8\\x67\\xef\\xd2\\x0d\\x4d\\x23\\xf0\\x41\\x94\\x4b\\x7c\\xd3\\xb5\\x64\\x63\\x73\\x7d\\xcf\\x3b\\xe5\\xa0\\x0c\\x86\\x35\\xbd\\x37\\xf7\\xee\\xa6\\x9a\\xa8\\x35\\x18\\x0f\\xf7\\xac\\x1f\\xae\\xd8\\xce\\xf4\\x04\\x97\\xdf\\xe9\\xc5\\x79\\x9e\\xf2\\x7a\\x75\\x16\\x23\\x6d\\x30\\xe8\\x3d\\xc1\\x80\\x83\\xb4\\x3b\\xed\\xb4\\xc9\\x6c\\x76\\xea\\x68\\x1d\\x1d\\x8e\\xd0\\x76\\x9b\\xbd\\x43\\xb0\\xd9\\x38\\xbf\\xcb\\xdf\\x29\\x84\\x8c\\x16\\x4f\\x90\\xd4\\xbb\\x5c\\xb8\\xd3\\xa4\\x27\\x79\\xf8\\x8b\\x1a\\x5d\\x87\\xa0\\xb1\\x91\\x08\\x3f\\xee\\xb5\\xec\\xd2\\xbd\\x88\\xdc\\x39\\xc4\\xbc\\xdb\\xb7\\x48\\x36\\xd3\\xb7\\x80\\x7e\\x96\\x6d\\x2f\\x4f\\x65\\x0a\\x1b\\x63\\xda\\x88\\x36\\x52\\x8b\\x00\\x8e\\x52\\x3c\\x9b\\x02\\xac\\x14\\xf4\\x10\\x11\\x3d\\x9e\\x62\\xf5\\x20\\x12\\x4b\\x68\\x41\\xa9\\x45\\x98\\xba\\x6d\\xea\\x01\\xcb\\x62\\xfc\\xb6\\xef\\x52\\x3f\\x6e\\x17\\x6f\\x7f\\xf0\\x3c\\x4b\\xcf\\x07\\x96\\x6d\\x43\\x7f\\x10\\xdf\\x02\\xf7\\x8a\\xef\\x5d\\xfc\\x61\\xcf\\x8b\\x00\\x9f\\x05\\x4e\\x38\\x97\\x35\\x37\\x77\\x75\\x35\\x7b\\xc8\\x7f\\x9d\\x03\\x09\\x71\\xd2\\xb9\\xbd\\x52\\xe1\\xe9\\x4c\\xf1\\x7a\\xd2\\xd2\\xf3\\x06\\x30\\xf6\\xb4\\x82\\x41\\xe7\\x5f\\x7a\\xa9\\xd4\\x87\\xd8\\x7b\\x39\\xb5\\x84\\xfa\\x0b\\x5c\\x91\\x22\\x6c\\x6e\\x3a\\xc5\\x47\\x71\\x8a\\xf4\\xfb\\x63\\x66\\x8e\\x21\\xa1\\x02\\x2f\\x0e\\x6b\\xb5\\xc9\\x62\\x2e\\x16\\x4b\\x18\\x13\\x1d\\x02\\x63\\x36\\xdb\\x2c\\x46\\x32\\xca\\xf3\\x2e\\xcc\\x05\\xdd\\x79\\x1c\\xf7\\x93\\xa8\\x6d\\xe8\\x44\\x2a\\x73\\x59\\x27\\x09\\x9f\\xfd\\x47\\xd6\\x30\\x21\\x62\\x57\\x05\\x20\\x50\\xa2\\x75\\x95\\x3b\\x11\\x11\\xad\\x2b\\x8f\\xd0\\x2a\\x12\\x20\\x87\\xb7\\x05\\xec\\xbc\\xdc\\xba\\x88\\xef\\xdd\\xbb\\x6e\\xe1\\xe5\\x57\\x7c\\x8a\\xe0\\xb4\\xba\\xba\\x67\\x6d\\xed\\xea\\xae\\x9e\\xec\\x4b\\xf4\\x4c\\x14\\x76\\x65\\xe1\\xb6\\xc4\\x8e\\x12\\xfc\\xd2\\x21\\xd5\\x08\\x84\\xcb\\x5e\\xba\\xeb\\xe5\\xeb\\x41\\x2d\\x42\\xd5\\x32\\x6d\\xdb\\xc3\\x8b\\x47\\x9e\\xe7\\xd9\\xb3\\x3d\\xb3\\x15\\xc0\\x2d\\xdc\\xbf\\x63\\x11\\x71\\xc2\\x78\\x5c\\x94\\xf3\\x18\\x17\\x42\\x65\\xf3\\x89\\x54\\x2b\\xb1\\x00\\xc3\\xf2\\x78\\x2b\\xa6\\xa5\\xdd\\x36\\x9a\\x65\\x2d\\x18\\xe1\\x74\\x92\\xa4\\x8a\\xb6\\x82\\x60\\xac\\x8c\\x0c\\x7c\\x80\\x59\\xad\\x26\\x07\\x41\\x5a\\x10\\x69\\x85\\xe9\\x77\\x81\\x0f\\xfa\\xb6\\xab\\x23\\x5c\\x5d\\x15\\x2d\\x45\\x16\\x02\\x01\\x1f\\x0b\\xe6\\x72\\xe2\\xbe\\x8e\\x55\\x9d\\xdf\\xc7\\x15\\x5a\\x8a\\xce\\x2d\\xdc\\x55\\x93\\x15\\x5a\\x0a\\xac\\xbb\\xe7\\x5f\\x19\\x52\\x0a\\x3c\\xdc\\x0d\\xde\\x97\\x29\\x29\\x30\\xa2\\xf7\\x83\\xde\\x67\\xa9\\x7a\\x6a\\x0f\\xb4\\x37\\x5e\\x2c\\x88\\xb5\\xa7\\x0b\\xb8\\x80\\xdf\\x6f\\xe5\\x79\\x37\\x49\\x51\\x5e\\xa3\\x37\\x14\\xb6\\x19\\x8d\\x26\\xbf\\x43\\x63\\xd2\\x74\\x0a\\x8c\\xc5\\x44\\xf0\\x5e\\xcc\\x8b\\x4a\\x3b\\xe1\\x8c\\x4f\\xc8\\x53\\x7e\\x51\\xd5\\xd7\\xad\\x26\\xd1\\x52\\x00\\x82\\x6b\\xb5\\x91\\x1c\\xba\\x13\\x7c\\x52\\x29\\x22\\x52\\x9b\\x40\\x1d\\x2a\\x88\\xc3\\x26\\xa2\\xad\\x3d\\x40\\x8c\\xda\\x86\\x13\\xeb\\x95\\xf6\\x09\\xe2\\xea\\x96\\xed\\x2d\\x83\\x1a\\xa7\\x9b\\x19\\xf1\\xde\\x4d\\x6f\\x9a\\xc4\\x86\\x8f\\x1e\\xc2\\x93\\x43\\x12\\xc7\\xec\\x93\\xf1\\x15\\xf8\\xdd\\x52\\x0f\\xc5\\x9c\\x39\\xe2\\xd6\\x5f\\x09\\xb1\\xb3\\xa7\\xd1\\xd3\\x0c\\x66\\x88\\x3f\\x71\\xe4\\x79\\xef\\xbf\\x23\\xd7\\x50\\x41\\x3f\\xe8\\x23\\xa8\\xc7\\x06\\xa3\\x2e\\x4b\\x8e\\x20\\xb0\\x2a\\x67\\x22\\x19\\x34\\x61\\x09\\x6c\\x48\\x7d\\xb0\\x8a\\x28\\x2c\\xac\\x68\\x11\\x8a\\x0b\\x19\\x68\\x2b\\x75\\xed\\x02\\xed\\x25\\x7c\\x2d\\x82\\x8b\\x43\\xa1\\x53\\x2a\\x95\\xcf\\xdf\\x8e\\xe5\\x7a\\xb9\\x54\\x75\\x9e\\x28\\x38\\x92\\x16\\x5f\\xea\\x76\\x2a\\x25\\x13\\xfd\\xca\\xa9\\x98\\x50\\x0e\\x3f\\xc5\\x21\\x95\\x5d\\xe1\\x8f\\x3c\\xfb\\x8c\\x83\\x77\\x27\\x62\\x91\\x3a\\x73\\x6d\\xcc\\x3a\\x74\\xe2\\xc2\\xfa\\xa0\\x27\\x1c\\xea\\xa8\\xc8\\x55\\x58\\xad\\x98\\x05\\x36\\xae\\xdb\\x91\\x6c\\x34\\x3b\\x26\\xa6\\xc6\\x8f\\x19\\xb2\\xa0\\x63\\x52\\x09\\x28\\xbc\\xf1\\x2e\\x2a\\xd9\\x39\\xb1\\xa6\\xc0\\xff\\xa6\\xb1\\x66\\xf2\\xa2\\x79\\x6d\\x0e\\x86\\xcb\\x95\\x5b\\x0d\\xbb\\x6a\\x32\\xf0\\x05\\xbf\\x3f\\xdf\\x9d\\x1c\\x59\\x9b\\x18\\x39\\xa8\\x7a\\xc2\\x1c\\x39\\xaf\\x94\\x89\\x5d\\x42\\xa8\\x06\\x9f\\xc3\\x0d\\x86\\x48\\xc8\\x64\\xd2\\x61\\x58\\xd8\\xe1\\x72\\xd9\\xda\\x51\\x2a\\x89\\xd0\\x13\\x2d\\x82\\x4e\\x4f\\x03\\x13\\x66\\xca\\x2b\\x30\\x56\\x69\\x18\\x75\\x85\\x2b\\x2a\\x26\\xce\\x2b\\xa8\\x54\\x2e\\x8a\\xe5\\x15\\x00\\x48\\xe8\\xc8\\xe0\\xfc\\x20\\x46\\x6c\\xea\\xf0\\xf9\\x06\\x25\\x15\\x79\\xc7\\x76\\x35\\x25\\x22\\xfe\\xd9\\x8d\\xb9\\x68\\xe6\\x0b\\x6e\\xc5\\xf4\\x59\\xcd\\x48\\xb0\\x92\\x49\\x73\\xda\\x9b\\x46\\xa2\\x7e\\x3c\\xc4\\x21\\x27\\x61\\x54\\x8c\\x4c\\x87\\x34\\x5a\\xad\\xcb\\x6c\\x32\\x79\\x7d\\x56\\x82\\xf0\\x69\\xcc\\x66\\x83\\x0b\\xb3\\x63\\x1d\\x82\\x9d\\xd0\\x9a\\x0c\\xa6\\x0e\\xc1\\x90\\x57\\x64\\x6f\\xcb\\xb6\\x9b\\xcb\\x21\\x61\\xae\\xe0\\x10\\xcf\\x24\\x7b\\x6a\\x33\\x30\\xf6\\x52\\x3e\\x0c\\xef\\x7a\\xfb\\xb3\\x1f\\x3e\\x6f\\x3d\\x60\\xee\\xd9\\x6e\\x3e\\x3a\\x7d\\xdd\\x7d\\x07\\xe7\\xce\\x6d\\x58\\x39\\x6c\\xd0\\xcc\\xd2\\x27\\xa8\\xfd\\x7f\\x7e\\xf8\\x4f\\xe2\\xf7\\xb5\\xe2\\x30\\x49\\xc7\\xfd\\x62\\x66\\xbf\\x38\\xb1\\xe5\\xda\\x48\\xc1\\x6e\\x80\\x37\\xc1\\x39\\xce\\x80\\x87\\xe5\\x4a\\xb8\\xb7\\xdc\\xa8\\x6b\\x9c\\x77\\x3a\\x69\\x02\\xd7\\x39\\x70\\x87\\xc7\\xcb\\x13\\x84\\x0d\\xa3\\x69\\x9b\\xcd\\xd0\\x2a\\xd8\\x18\\xdc\\x89\\x39\\xd5\\x0b\\x9b\\x2b\\xbf\\x4d\\xf5\\xc1\\xa4\\x4b\\x49\\x73\\xc3\\x33\\x7d\\x0c\\x72\\xeb\\x23\\x43\\xc1\\x59\\x77\\x99\\x96\\xa6\\xa6\\xce\\x5e\\x52\\xfb\\x68\\xc3\\xf2\\x60\\xe3\\x98\\xf2\\x7b\\x9f\\x7f\\xf6\\x6f\\xe2\\xfd\\x15\\xf3\\x4d\\x8d\\x4e\\x10\\xa4\\x99\\xc9\\x7b\\xd3\\x37\\x78\\xec\\x77\\x03\\x3a\\x79\\x65\\xb7\\x78\\xae\\x4d\\xfc\\x0a\\x61\\x52\\x10\\xbd\\xdf\\xf4\\xfe\\x46\\x19\\xa0\\xee\\xe1\\x60\\x6c\\x58\\x8c\\x5d\\x97\\xf6\\x85\\x03\\xfe\\x62\\x32\\x99\\xb4\\x46\\x2c\\x11\\x0a\\xfa\\x8e\\x64\\xc2\\x62\\x71\\xdb\\x49\\x7b\\x49\\x29\\x34\\x9c\\x1a\\xa4\\x82\\xca\\x85\\x00\\x54\\xcc\\xfe\\x62\\x68\\x8f\\x68\\x6d\\x40\\x8b\\xeb\\xb1\\x62\\xe0\\x26\\xb4\\xc5\\xda\\x62\\xe8\\xa1\\x25\\x3b\\x05\\xa3\\xbe\\x43\\x30\\x12\\x38\\xdf\\x0f\\xda\\x34\\xa9\\xe6\\x89\\x47\\x4c\\xf1\\x4a\\x52\\x25\\xbf\\x8d\\x55\\x52\\x02\\x08\\xc6\\x82\\x57\\x70\\x4e\\x71\\x45\\x59\\xf5\\xc7\\x38\\x45\\x10\\xaf\\xda\\x1c\\xce\\xe9\\x16\\x19\\xe7\\x34\\xf2\\x90\\xe3\\xa1\\xeb\\xef\\xb5\\x40\\xcd\\x96\\x0f\\x72\\x5a\\x08\\x82\\x0e\\xf1\\xe3\\x90\\x1a\\xea\\xf4\\xe5\\x6e\\xa2\\xca\\xdd\\xdc\\x07\\xe8\\xf4\\x54\\xf7\\x33\\x39\\xa4\\x53\\x29\\xd6\\x18\\x82\\xf2\\xdd\\x12\\x6e\\x43\\x1c\\x5b\\x97\\x0e\\xc6\\x28\\x12\\x9a\\x28\\xaf\\xcb\\xe7\\xe3\\xcd\\x0c\\xd4\\xc6\\x51\\x4d\\x24\\xa2\\xd5\\x9a\\x78\\x53\\xa2\\x20\\xc6\\xb8\\x3d\\x6e\\xb4\\x48\\x4e\\xc1\\x4c\\x79\\x3c\\x76\\x60\\x0f\\xce\\x15\\xec\\xac\\x49\\x4b\\xfa\\x10\\x6c\\x9f\\x3e\\x87\\x37\\xa4\\xea\\xc2\\x52\\xf4\\x60\\x5f\\xad\\x9d\\x87\\x97\\xce\\xe6\\xdd\\xc9\\x2a\\x65\\x26\\x52\\x83\\x0b\\x5c\\x1d\\x0f\\x40\\xcd\\x2d\\x0d\\x20\\xa4\\x91\\x5b\\xb1\\x26\\xe2\\x37\\x4f\\x3e\\x62\\x06\\x2f\\x9b\\x6f\\x9f\\x74\\xad\\xe3\\x3a\\x7f\\x91\\xf8\\xd9\\x99\\x9f\\xc4\\x5f\\x02\\xbb\\x1d\\xbb\\x27\\xde\\x21\\x75\\xb7\\x04\\x7b\\x96\\x86\\xa4\\x6e\\x2c\\x31\\x2e\\xab\\x74\\x31\\xde\\x7d\\xe4\\xb7\\xef\\xde\\x7b\\x65\\xd4\\x31\\xa8\\xe3\\xcf\\x1d\\x44\\xad\\x2d\\x8f\\xbd\\x28\\xc5\\x90\\x5b\\xe0\\x19\\x7b\\x8b\\x6a\\xb2\\x69\\x88\\x16\\x29\\xd7\\xf6\\x7d\\xef\\xe5\\xe4\\xaf\\xd0\\x5e\\x87\\xa1\\x76\\xec\\x4e\\x0f\\xf3\\x06\\x02\\x61\\x7b\\x24\\x91\\x80\\x81\\x94\\x03\\x0b\\xc7\\x08\\xc2\\xa8\\x81\\x07\\xd1\\x1d\\x76\\x17\\x14\\x46\\xd8\\x4e\\xc1\\x14\\x89\\x04\\x71\\x47\\x18\\x51\\x79\\xf8\\xbd\\xee\\xa0\\xcd\\x98\\xc0\\x13\\x9d\\x82\\x46\\x85\\xf5\\x85\\xb0\\x24\\x53\\x19\\xb4\\x98\\x17\\xf3\\x0a\\xb7\\xb3\\xd1\\x57\\x2a\\x83\\x19\\xa3\\x6a\\x5d\\x87\\x0b\\x91\\x35\\x0a\\x0a\\x3b\\x87\\x96\\x90\\x5a\\x4a\\x89\\x50\\xc6\\x8b\\x01\\x89\\x08\\x82\\x00\\x23\\xec\\x33\\xb7\\xce\\xba\\xa4\\x7e\\xa6\\x66\\x88\\xf8\\xc2\\x79\\x12\\x2f\\xc7\\xfe\\xbb\\x4b\\x1f\\xeb\\x99\\xb2\\x78\\xe6\\xe4\\x73\\x27\\xda\\x2f\\x6f\\xbb\\xdd\\x74\\x14\\xec\\x8e\\x83\\xa1\\x97\\x6d\\x43\\x10\\x18\\xd7\\x5c\\x23\\x1e\\x7c\\x4f\\x23\\x7a\\x11\\x2b\\xc7\\x39\\xf1\\x17\\x44\\xcb\\xf1\\x87\\x3f\\x40\\xeb\\x77\\x31\\xf8\\x37\\x0e\\xcf\\xcb\\xdd\\xe2\\x1f\\x89\\x45\\x94\\x05\\x0b\\xc0\\xf3\\x52\\x84\\xad\\x4c\\x0f\\xa1\\x89\\x82\\x84\\x8f\\xf2\\x32\\xb6\\x50\\xd8\\x4d\\x7a\\xe0\\x7e\\xb0\\x07\\x49\\xd2\\xee\\xf1\\x7a\\x63\\x50\\xff\\x24\\x8b\\x13\\x61\\x54\\x8a\\x53\\x80\\xe2\\x07\\x9f\\xc7\\xc5\\xd8\\x68\\xda\\x6a\\xd6\\x9b\\xcd\\x9a\\x36\\xe8\\x00\\x67\\x5a\\xbb\\x4f\\x40\\x91\\x24\\xa7\\xcd\\x9a\\xea\\x77\\x1c\\x72\\x3e\\xaf\\x7c\\x5f\\x0d\\x63\\x37\\x90\\x83\\xd4\\x4c\\x10\\x11\\x56\\x72\\x73\\x87\\x00\\xe8\\xb2\\xc1\\x98\\x00\\xd4\\xb2\\x16\\x10\\xab\\x4a\\x40\\xaf\\x98\\xe8\\xfc\\xfe\\xe4\\x14\\xef\\x4e\\x44\\xbf\\x31\\xfd\\xf5\\x8e\\x0d\\x53\\x9f\\x5d\\xf2\\xd1\\xc4\\x9d\\xdf\\x5d\\x4a\\x5b\\x0e\\x2d\\x7d\\x78\\xea\\xf4\\x9e\\x33\\xe6\\x47\\x1a\\x56\\x00\\x82\\xba\\x62\\xc4\\x18\\xfc\\x3f\\x9b\\x1e\\x0f\\xdd\\xb5\\xab\\x2e\\xd6\\x30\\xb6\\xbd\\x48\\xdc\\x01\\xee\\x9b\\x71\\xe7\\x21\\x10\\xbf\\x0f\\x80\\xb1\\xe2\\xbd\\xfc\\x02\\xf1\\x39\\x00\\x66\\x18\\x5f\\xbe\\xd4\\x6a\\xed\\x8d\\x6f\\x90\\xec\\x05\\xe2\\xc1\\xab\\x91\\x7a\\x6e\\x66\\xa4\\x1d\\x12\\x4e\\x93\\xc7\\x89\\xd1\\x3c\\x8f\\x90\\x9a\\xbc\\x3e\\xbd\\xcb\\xed\\x42\\x47\\xc0\\x21\\x68\\xdc\\x6e\\x33\\x6e\\xb6\\x43\\x07\\xc0\\xcc\\x52\\x58\\x1e\\xbc\\x5b\\x7f\\x68\\xb7\\xbc\\x12\\xe4\\xba\\x2c\\x9e\\x49\\x66\\xab\\x67\\x4c\\xa6\\xd4\\xa3\\x82\\x2f\\x94\\x36\\xfa\\xed\\x93\\xf6\\x3b\\xf6\\xc7\\xe3\\xe2\\x99\\xf7\\x76\\x77\\xd6\\x4c\\x22\\x83\\xed\\x63\\xbb\\xe8\\xc6\\x47\\x1d\\x8f\\xca\\x48\\x26\\x62\\x51\\xf7\\xfb\\xef\\x9e\\xf6\\x23\\x20\\xb7\\x45\\xd3\\xc1\\xba\\x6e\\xe9\\x2c\\x4b\\x5c\\x7c\\x0d\\x30\\xc6\\x73\\x61\\x31\\x6c\\x4a\\xba\\x38\\xe8\\x76\\xa3\\x54\\x1d\\xc7\\x91\\x2e\\x57\\x3c\\xe1\\x8b\\x4c\\x12\\x7c\\x18\\xc1\\xda\\x59\\x18\\x8f\\xd8\\xed\\x5a\\xa7\\x93\\x6b\\x15\\x9c\\xb4\\xd6\\xd2\\x2a\\x18\\xb4\\x1e\\x75\\x91\\x58\\x2e\\x51\\x90\\x87\\xb8\\x27\\x6d\\x4d\\x14\\x09\\xe7\\x33\\x10\\x29\\x1a\\x8c\\xa8\\xca\\x56\\x80\\xc7\\xc1\\xe1\\x15\\xb6\\x95\\x13\\x23\\xef\\x1e\\xcd\\x85\\xa6\\xc2\\xc5\\xb6\\x8b\\x6b\\x50\\x78\\x7a\\x6a\\x66\\x43\\x5a\\x98\\x3e\\x3c\\x3d\\x03\\x77\\x76\\x89\\x85\\x27\\x5e\\x91\\x23\\x55\\xf0\\x4b\\x17\\x28\\x0f\\x37\\x82\\xa6\\xe1\\xd3\\x85\\x74\\xc3\\x4c\\x41\\xd6\\x4d\\xe3\\xc4\\x51\\x9a\\x66\\x09\\xc7\\x43\\xc2\\xa4\\x24\\x59\\xbd\\xa9\\xa8\\xc8\\x60\\x88\\xfa\\xdc\\xac\\xbb\\xa4\\x34\\x9a\\x40\\xd4\\xa7\\x09\\xaf\\x9b\\xe0\\x31\\x84\\xe0\\xa1\\x37\\x99\\xb4\\x8c\\x56\\x41\\xf1\\x50\\x05\\x5a\\x7d\\x1b\\xe9\\x32\\xe1\\x55\\x0e\\xc6\\x2d\\x4e\\x58\\x70\\x05\\xc3\\x03\\x3a\\x2b\\x31\\x90\\xed\\xe0\\x26\\x94\\xa6\\x48\\xe2\\xd8\\x3e\\xb1\\xf7\\xba\\x03\\x7b\\x6e\\xbe\\xe4\\x89\\xce\\x15\\xa3\\x27\\x74\\x0e\\x12\\x3f\\x13\\xdf\\x78\\x17\\x5c\\x0b\\x34\\xdb\\x97\\x83\\xda\\x5e\\xcc\\x3a\\xa8\\x6e\\x7c\\xd1\\xb0\\xb6\\xb2\\xc5\\x7b\\xf6\\x9d\\x20\\xc8\\xcf\\x1f\\x17\\x0f\\x7e\\xf0\\x97\\x0f\\xc7\\x90\\xde\\x92\\xb3\\x2d\\x41\\xb8\\x97\\xdd\\xc0\\xd2\\x03\\xd6\\xbe\\x18\\x75\\xfc\\x76\\xde\\xac\\xd2\\xea\\xfa\\xca\\xed\\xe2\\x2f\\xfe\\x87\\x77\\xd9\\xca\\x91\\x8c\\x30\\xce\\x24\\x13\\xd0\\x86\\xfa\\xb0\\x42\\xd4\\x65\\xec\\x77\\x47\\xed\\x56\\x6b\\x2c\\x66\\xa4\\x70\\x37\\x5e\\x94\\x8c\\xda\\xed\\x21\\x3e\\xd4\\x2e\\xf0\\x9c\\x41\\xbe\\xf1\\xf2\\x60\\x89\\xfc\\x70\\xb2\\xef\\x2d\\x4f\\x4a\\x1d\\x3f\\xca\\x08\\x41\\xb9\\x56\\xf4\\x01\\x62\\x47\\x14\\x3a\\xe2\\xde\\xb7\\x3f\\x78\\xcc\\xd0\\xe5\\xe7\\x1b\\xd2\\x05\\xf3\\xc7\\xde\\x71\\x8f\\x31\\x56\\x77\\x67\\x26\\x4e\\x0c\\x2f\\x29\\x5e\\x32\\xa4\\x05\\xc6\\x89\\x2f\\x14\\x9d\\xfd\\xa5\\x3e\\xb1\\xd6\\xbe\\xea\\x53\\xdb\\x65\\xdb\\xa2\\xe3\\x5f\\x19\\x3f\\x2b\\x17\\x16\\xb6\\xd6\\xe3\\x43\\x61\\x54\\x88\\x74\\xa8\\x74\\x9f\\xab\\xe0\\x43\\xac\\x48\\xd7\\x39\\x1d\\x0e\\x9f\\x35\\x8c\\x85\\x42\\xc0\\x65\\xb7\\x5b\\x01\\x30\\x6a\\xac\\x9a\\x68\\xc4\\x69\\xb3\\x63\\x98\\x4e\\xaf\\xeb\\x14\\xc2\\xd0\\x0a\\x9b\\xcd\\xa1\\x4e\\xc1\\x6c\\xec\\x10\\xcc\\x84\\x03\\xe4\\xc3\\x7c\\x48\\xcf\\x30\\xef\\x34\\xa9\\x81\\xc4\\x54\\x44\\x3e\\xa9\\x3c\\xcc\\x0f\\xc5\\xa8\\xe6\\xb0\\x21\\x72\\xa8\\x1f\\x05\\x93\\x0e\\x98\\x7a\\xae\\x31\\xdd\\x3d\\xf1\\x80\\xfd\\xc0\\x7c\\x78\\xd2\\x78\\x09\\x1b\\xe2\\x15\\x84\\x0d\\xf1\\x66\\x11\\x82\\x86\\x18\\x35\\x0f\\x1f\\x24\\x16\\x4b\\xfe\\xce\\xdf\\xcf\\xc7\\xa1\\x09\\x95\\xd0\\x21\\x44\\xc6\\xd3\\x8c\\x0f\\xca\\xa2\\x43\\x80\\xde\\x6f\\xd1\\xdd\\x36\\x7c\\x6e\\x2e\\x6c\\x66\\xba\\xd4\\x61\\xe3\\x38\\xab\\x89\\xc6\\x30\\x06\\xea\\x48\\x37\\xe5\\xa1\\xa5\\x53\\x66\\x82\\x12\\xc3\\x53\\xd6\\x02\\x4f\\x99\\xd5\\x61\\x84\\x02\\x13\\xd0\\xc5\\xd6\\x12\\x0c\\x96\\x05\\x4d\\x6e\\xc8\\xaf\\x53\\x04\\x6a\\x6a\\x22\\x59\\x51\\x64\\x30\\xd1\\x32\\x9d\\xe1\\x39\\x50\\xae\\x47\\x6b\\x6f\\x6f\\x2d\\x8f\\x0c\\xae\\x2d\\x1e\\xb7\\xb2\\xca\\x7c\\x8d\\xed\\xda\\x66\\xf1\\xc7\\xb1\\x57\\xd8\\xae\\x18\\xbc\\xd6\\x08\\xd6\\xe3\\x9f\\x2d\\xdb\\x60\\x10\\x8f\\x6c\\x1d\\x3f\\x69\\x6c\\x97\\x38\\x07\\xec\\xef\\x02\\x4d\\x12\\x97\\x2c\\xca\\x2d\\xa2\\xdc\\xaa\\x64\\xef\\x83\\xd8\\xae\\x74\\xa5\\x35\\xc8\\xf8\\x19\\x83\\xd6\\xa8\\x31\\x6a\\xa8\\x80\\xcd\\xcf\\xfa\\x5d\\x5e\\xa7\\xcf\\x87\\xb1\\x4e\\x27\\x52\\x78\\xa1\\xb0\\x93\\x65\\x8d\\x8c\\x99\\x81\\x81\\xb8\\xcf\\xe7\\x0f\\x7a\\xe1\\x33\\x43\\xea\\xcf\\x25\\xb8\\xac\\x7e\\x4c\\xcf\\xe8\\x71\\x3d\\xa1\\xd7\\x13\\x0e\\x73\\xbf\\x6e\\xcf\\x94\\xdc\\x9d\\x5b\\xa7\\x02\\xb8\\xca\\x7c\\xa3\\xce\\xa8\\x2a\\x0e\\x51\\xa6\\xad\\xa7\\xd2\\xaa\\xc6\\x83\\x43\\xc8\\x97\\x65\\x00\\x69\\x4a\\x3e\\xcb\\x2f\\x1c\\x02\\x09\\x36\\x94\\xed\\x06\\xbd\\x5a\\x7c\\xcb\\xf1\\x7d\\xb5\\xdc\\x12\\x9a\\x02\\x97\\x77\\xdd\\x81\\x1c\\x83\\x1b\\x96\\x7d\\xe6\\x10\\x3f\\x15\\xbf\\x2e\\x7f\\x58\\xfc\\x49\\x69\\x0a\\x05\\x77\\x75\\xdf\\x81\\xd4\\xe6\\x1d\\xf2\\xdf\\xdd\\xe2\\xfc\\x6d\\x80\\x95\\x6b\\xb1\\x50\\x1e\\xf9\\x1e\\x18\\x1f\\x14\\x42\\x1d\\xb3\\x31\\x3d\\x34\\x19\\x0c\\x07\\x8a\\xfd\\x45\\x6e\\xde\\xc3\\x11\\xd0\\xd8\\x73\\x5c\\x51\\x11\\xe6\\xb7\\x78\\x3c\\xd0\\x45\\xc4\\xb0\\xd2\\x62\\x8d\\xd3\\xe5\\x6c\\x15\\x02\\x44\\x91\\xcb\\x65\\x4c\\xf8\\x7c\\x9e\\x16\\xc1\\x47\\x6b\\x39\\x07\\x82\\xc4\\xa5\\x51\\xfb\\xbc\\x8c\\x65\\x95\\x75\\xc3\\xb3\\xe2\\xe7\\xbc\\x71\\xa5\\x45\\xab\\x2e\\xc3\\x08\\x9f\\xb9\\x81\\x92\\x4a\\x4f\\x01\\xd4\\x43\\x72\\xed\\xa9\\xcc\\xff\\x1e\\x91\\x17\\x80\\x0d\\xc9\\x58\\xb9\\xb5\\x29\\x0e\\xd4\\x46\\x88\\x1b\\x12\\xa9\\xe5\\xec\\x2d\\xe2\\xce\\xce\\xcb\\xb7\\x8c\\x4f\\x0d\\xad\\x28\\xaa\\xb7\\xbb\\x4a\\xea\\xaf\\x5d\\xb1\\xe5\\x79\\xf6\\xa6\\x2a\\xd4\\x74\\x3a\\x06\\x78\\x8b\\xac\\xde\\x12\\xd3\\x97\\x6e\\x71\\xfa\\x75\\x2f\\x13\\xe7\\x95\\x2c\\x99\\xd2\\xd5\\x73\\xf0\\xf6\\x9b\\x26\\x68\\x4d\\x3f\\x5c\\xc4\\x6f\\x7b\\x12\\x0f\\x74\\xbd\\xe9\\x6c\\x14\\xff\\x31\\xb9\\xd6\\x1d\\xe2\\xcc\\xc3\\xf9\\x9e\\xdd\\xdf\\xc8\\x7b\\xa3\\xae\\xf7\\x34\\xf1\\x2c\\xf1\\x1c\\xb4\\xff\\x45\\xd8\\xbc\\x74\\x65\\xd4\\x4b\\xd3\\xc5\\x41\\x7b\\x51\\x91\\x9e\\x43\\x2d\\x8d\\xc9\\xe2\\x22\\xc4\\x1c\\x99\\x68\\x13\\x4c\\x8c\\x3d\\x88\\x5a\\xd3\\x30\\xad\\x96\\x6a\\x11\\xb4\\xb4\\xd7\\x8b\\x49\\x1e\\x3e\\xa7\\xc2\\x0f\\x90\\xef\\xe3\\xf3\\x2e\\xa1\\xad\\x4a\\xe0\\x58\\xa7\\x84\\x51\\x54\\x50\\xe9\\x37\\xe7\\xb3\\x40\\x20\\x34\\xa1\\xe8\\x2b\\xc4\\xe6\\x9a\\x09\\x52\\xb4\\x60\\x95\\xf8\\xb2\\x61\\xf1\\x0c\\x13\\x98\\xa1\\x2f\\x5b\\xb0\\xf6\\xc2\\x8b\\x16\\xbd\\xf0\\xdc\\x2c\\x27\\xb5\\x7a\\xd2\\xea\\x21\\x8d\\x05\\xf7\\xec\\x28\\xaa\\x59\\xdf\\x55\\x1a\\xf7\\x16\\x0f\\xb3\\xbf\\x6a\\x85\\xf6\\xcf\\xd9\\xd8\\xe4\\x6b\\x38\\xff\\xbc\\x4b\\x6e\\x6d\\x26\\x89\\xad\\x35\\x17\\x54\\xad\\xfd\\xdc\\x69\\x04\\x5f\\x11\\xe4\\xda\\x4b\\xea\\x87\\xe8\\xdd\\xb9\\xfb\\x20\\xe2\\x84\\x4d\\x83\\xee\\x83\\xa0\\xdc\\x15\\xbd\\xa7\\x88\\x53\\x50\\x6e\\x1b\\x94\\x1c\\x46\\x89\\xac\\xc1\\x45\\xba\\xdd\\x98\\xcd\\x60\\x0b\\x05\\x6d\\x9c\\xc5\\xdb\\x0a\\x83\\x7c\\xce\\x45\\x92\\x9c\\x96\\x83\\xe7\\x97\\xc9\\x76\\x48\\xa9\\xf9\\xfb\\x54\\x39\\xf5\\x94\\xaa\\x3b\\x8a\\xcf\\x24\\xf0\\x90\\x95\\x87\\xcf\\x37\\x97\\xa3\\x1b\\x06\\x5e\\x39\\x4f\\x07\\x66\\x92\\x43\\x6e\\x9a\\xf0\\x87\\xed\\x3b\\xc5\\xb3\\xb7\\x6f\\x5b\\x35\\xb1\\x06\\x7f\\x70\\x54\\x55\\xc1\\xbc\\xc4\\xfc\\x92\\xd6\\xb1\\x17\\x35\\x13\\x13\\x83\\x83\\xb7\\x8d\\x9d\\xf2\\xf0\\xbe\\x23\\xe2\\xdb\\x07\\x4b\\x62\\xf8\\xec\\xc5\\x1b\\xdb\\x86\\xf4\\xbc\\x16\\xbe\\xe6\\xfb\\x1c\\x2e\\x3e\\x8a\\x0f\\x25\\xbb\\x61\\x63\\xc2\\x61\\x26\\x12\\x21\\x09\\xaf\\xce\\x49\\x38\\x8b\\x92\\x61\\x9b\\x2d\\xe0\\x08\\xb4\\x0b\\x0e\\x06\\x61\\x7e\\x18\\x34\\x00\\x8b\\xe7\\x80\\xbb\\x52\\x03\\x32\\x11\\xc8\\x67\\x50\\xa1\\x22\\x50\\x41\\x52\\x68\\xff\\x3b\\xd3\\xc4\\x83\\xa3\\xc1\\x02\\x05\\x98\\xa2\\x78\\x2c\\xf7\\xbb\\x64\\x04\\xc4\\xff\\xc8\\xf0\\x14\\x17\\x6c\\xfa\\x62\\xf8\\xc0\\x64\\x04\\x00\\xb3\\xc0\\xfd\\xd7\\x01\\x75\\xaa\\x17\\x2b\\x4f\\x3b\\xdd\\x06\\x96\\x30\\x10\\x3e\\xbf\\x96\\x6e\\x15\\x8c\\x46\\x2d\\xe7\\xc2\\x30\\xae\\x4d\\x36\\x7d\\xd9\\xfb\\xc5\\x5c\\x37\\x11\\xc8\\xac\\x72\\x26\\xff\\x90\\xdd\\x3c\\x09\\x38\\xcf\\x9f\\x0f\\x3d\\x7d\\x83\\x28\\xde\\xdc\\x74\\x5f\\x75\\x85\\x02\\xc8\\x3e\\x63\\x92\\x0c\\xc8\\x4e\\xbc\\xf0\\xc4\\xdd\\x8f\\x8b\\x1f\\xed\\xf3\\xd8\\x40\\x50\\x8d\\xc3\\x2e\\xe9\\x86\\xa7\\x7a\\x0f\\x13\\x2b\\xe0\\x7c\\x82\\x58\\x12\\x2b\\x49\\x3b\\x02\\x6e\\xb7\\xb3\\x90\\x61\\x12\\x36\\x1b\\x19\\xf2\\x39\\x39\\x13\\x09\\x6d\\x17\\x52\\xe6\\xa8\\x4b\\xee\\x04\\x52\\x78\\xb9\\x66\\x76\\xb9\\x94\\x9e\\xe3\\x33\\x50\\xf1\\xda\\x5c\\x7b\\x9c\\x74\\xad\\x10\\xa7\\x2a\\x95\\xf2\\x0b\\x3f\\xf0\\x23\\x44\\xf8\\xcc\\xd4\\x9a\\xaf\\x98\\xaa\\x5d\\x79\\xfe\\xaa\\x2b\\xff\\x72\\xff\\xa3\\x1d\\x65\\xf1\\x45\\x25\\xed\\x6e\\xf0\\xec\\x98\\x99\\xad\\xe3\\x3a\\xa7\\x9b\\x66\\x80\\xb1\\x08\\x1b\\xde\\x63\\x13\\x3f\\x39\\x58\\xdf\\xfd\\xfe\\xe5\\x75\\x4b\\xa6\\x5e\\xb8\\x67\\xfe\\xa8\\xd9\\xd7\\xac\\x1d\\x79\\x49\\x6d\\x69\\xbc\\xa2\\x7c\\xf8\\x38\\x09\\xc7\\x7b\\x34\\xe9\\x92\\xb8\\xd1\\xcb\\xa1\\x65\\x2a\\x0f\\x16\\x16\\x11\\x3e\\x9f\\xc9\\xe4\\x84\\xce\\x79\\x65\\x84\\x20\\x2a\\x2a\\x79\\x18\\xba\\xb5\\x0a\\x1e\\xaf\\x82\\x0a\\x59\\x82\\xf2\\xfa\\x85\\xc1\\x60\\x1c\\x8b\\xff\\x97\\xbc\\x7e\\x56\\x67\\x67\\x8b\\x4b\\xa9\\xbe\\x25\\x13\\x2a\\x57\\x03\\x06\\xad\\x0d\\x00\\x9e\\xe0\\xfc\\x2a\\x0a\\x7b\\x7e\\x9d\\x84\\xf8\\x8b\\x65\\x54\\xdc\\x57\\x9e\\x4e\\x34\\x76\\x89\\x6f\\x9b\\x42\\xb5\\x37\\xa5\\xd5\\x75\\x13\\xf6\\xbc\\xea\\x88\\xdf\\xe2\\x4d\\x43\\xbb\\x9d\\xe7\\x7d\\xc2\\x02\\xae\\x66\\xf8\\x53\\xe3\\xa7\\x81\\x75\\xf9\\xd8\\xe5\\xbd\\xa7\\x29\\x97\\x84\\x3d\\x99\\xc4\\x26\\xa7\\x8b\\xfd\\x84\\x27\\x1a\\x8d\\x19\\x0c\\x3c\\xcd\\x11\\x5c\\x71\\x89\\x9b\\x6f\\x11\\xdc\\x0e\\x33\\x14\\x9a\\x31\\x03\\x6d\\x01\\x92\\x37\\xea\\xf1\\x84\\xb0\\x50\\x7f\\x79\\x53\\x79\\x65\\xc4\\xa9\\x2c\\x52\\x9f\\xea\\xe6\\x22\\x0f\\x76\\x4b\\xc6\\x6c\\xff\\x1d\\x39\\xad\\xdc\\xeb\\x7f\\x56\\x0e\\xc6\\xfc\\xe2\\x63\\x0a\\x62\\xfb\\xb0\\x81\\x84\\xbc\\xfa\\xf8\\xa3\\xe8\\x68\\xfc\\x70\\x8e\\x95\\xb0\\xda\\xf3\\xa4\\x43\\xfb\\xf0\\xcf\\xf0\\x5c\\xcc\\x81\\xfb\\xd0\\x80\\x85\\xb0\\x86\\x74\\xd0\\x46\\x78\\x9c\\x3a\\x9d\\xd1\\x63\\x0c\\x47\\x34\\x4e\\xd4\\xe6\\x4c\\x07\\x02\\x18\\xb4\\x4a\\x0c\\x0d\\x0f\\x08\\x9b\\xa3\\x40\\xec\\x8b\\x01\\x2e\\xdf\\xee\\xc9\\x59\\x38\\x09\\x89\\x48\\x39\\x30\\xb5\\xe8\\x34\\xb3\\x32\\x10\\x3b\\x42\\x1d\\xfc\\xfb\\x90\\x91\\xab\\x57\\x78\\x46\\x81\\x89\\x3b\\xc5\\xd3\\xc7\\xe7\\x1c\\x29\\x8f\\x96\\xdf\\x35\\xec\\x7f\\x46\\x7d\\x74\\x6a\\xee\\x83\\xcb\\x9e\\x7e\\x85\\x98\\x37\\x6d\\x5c\\xe7\\x7a\\xf3\\xe2\\xd5\\x63\\xe7\\x8b\\x5f\\x1e\\x15\\x4f\\xef\\x1e\\x56\\xde\\xea\\x8e\\x01\\x9f\\x75\\xd7\\x25\\xe3\\x2f\\x19\\xfb\\x67\\x49\\x9f\\x2a\\x7d\\x3a\\x12\\xb6\\xdb\\x88\\x74\\xd8\\x63\\xc4\\x9c\\x24\\x45\\x59\\x31\\x6b\\x28\\x4c\\x42\\xf3\\x49\\x92\\x0e\\x8b\\xc3\\xdf\\x2a\\x38\\x38\\x83\\xd6\\xa2\\x6d\\x93\\xcb\\xb8\\x24\\xde\\x85\\x01\\x61\\xcb\\x65\\xd8\\xa8\\x06\\xf9\\x5a\\x32\\xa1\\x26\\xeb\\x00\\x99\\x12\\x14\\x7e\\xf3\\xcf\\x77\\xca\\x64\\x8c\\x30\\x1a\\x3c\\xfa\\x04\\x8c\\x04\\xb7\\xdd\\x85\\x1b\\x2f\\xba\\xa5\\xd0\\x3b\\x72\\xc3\\xe3\\x33\\x76\\xcf\\x35\\x8f\\x3c\\x2d\\x05\\x80\\xc7\\x0e\\x1d\\x12\\xdf\\xbf\\x6f\\x05\\x98\\x41\\xef\\x9a\\x5f\\x54\\xf4\\x17\\x65\\xae\\x94\\x17\\xce\\xb5\\x14\\xab\\xc5\\x56\\xa5\\xeb\\x2b\\x8d\\x18\\xe7\\x8a\\xc5\\x02\\x01\\x6b\\x19\\x45\\x15\\x58\\x91\\x67\\xef\\x0f\\x7b\\xc2\\x13\\x05\\xb2\\xac\\x55\\x48\\x14\\xd8\\x0a\\x10\\x2c\\xac\\x87\\x84\\x2a\\xc0\\x43\\x14\\x5b\\x8a\\xab\\x5b\\x85\\x62\\xc9\\x35\\x6f\\xeb\\x53\\x8c\\x26\\xc3\\x96\\xcb\\x4e\\x4f\\x3f\\x34\\x33\\x5b\\xdd\\xef\\x4b\\xa6\\xad\\xad\\x69\\x00\\xbc\\x9a\\x90\\x12\\xd5\\xa4\\x6b\\x25\\xc7\\xe0\\xf7\\xe4\\x05\\xee\\x42\\x2f\\x33\\xd3\\x3e\\xb5\\x68\\x72\\xb8\\xc8\\x75\\xd9\\xe4\\xa9\\xb3\\xa8\\xd1\\xae\\x9b\\xff\\xb1\\xea\\xf7\\xd6\\x20\\x42\\x69\\x4b\\x9d\\x96\\x35\\xe1\\x35\\x83\\xaa\\x2b\\x26\\xaf\\xee\\x9c\\x16\\x75\\x5b\\xb6\\xfe\\xcf\\xe5\\xaa\\x55\\x51\\xfa\\x03\\x88\\x3a\\x09\\x0f\\x73\\xb1\\x14\\x17\\x9f\\x82\\xff\\x66\\xe1\\x3a\\x25\\x61\\x5c\\x5c\\x46\\xe8\\x0b\\x0b\\x1d\\x96\\x98\\x37\\xec\\x0d\\x17\\x97\\xc4\\x68\\x0b\\x6d\\x69\\x13\\x68\\x1a\\x0b\\xd0\\xde\\x80\\x17\\x37\\x11\\x5e\\x6f\\x20\\x80\\xdc\\x24\\x06\\xd3\\xb4\\x09\\xa4\\xcc\\x74\\x94\\xed\\x8c\\x90\\x71\\xc1\\xd4\\x0c\\x40\\xc8\\x09\\x4c\\x49\\x28\\x84\\xc8\\xf4\\xd4\\x2a\\x35\\x45\\x9a\\x24\\xba\\x63\\xe7\\x73\\x85\\x7b\\x99\\x16\\x63\\x5a\\xea\\x61\\xd7\\x80\\xa2\\x79\\xc7\\x4a\\x63\\xcb\\x36\\xae\\xb8\\xb0\\xed\\x06\\x6f\\x92\\x2d\\xae\\x5d\\x3e\\x68\\x4c\\xd3\\xf0\\x39\\xf5\\x55\\xc3\\x63\\xab\\x6f\\x3f\\xf0\\xcc\\xbc\\x25\\xa0\\x71\\xea\\x97\\xf6\\xfa\\xe2\\x31\\xa9\\x55\\x5d\\x0b\\x82\\x96\\x4b\\x4d\\xec\\x92\\x11\\x43\\x86\\x94\\x5e\\xfc\\x4d\\x74\\xc5\\xdc\\x69\\xeb\\xe3\\x5a\\xeb\\x82\\xf6\\x3d\\x87\\xb1\\x8c\\x6c\\xe4\\xf3\\x50\\xb6\\x34\\x76\\x61\\x7a\\x38\\xe1\\xd5\\x0f\\x1b\\x16\\x2e\\x8c\\x57\\x57\\x97\\x95\\x0d\\x72\\x58\\x06\\x23\\x21\\x87\\x37\\x96\\x56\\x26\\x2b\\x27\\x0a\\x48\\xce\\x41\\xb5\\x91\\xda\\x16\\x21\\x1e\\x49\\xd2\\x91\\x08\\x9d\\x24\\xb0\\xc0\\x7f\\x95\\x16\\x65\\x36\\x06\\xda\\x08\\x92\\xcc\\x99\\x8d\\x90\\xbb\\x73\\xfe\\xef\\xc2\\xfb\\x60\\x38\\x50\\xdb\\x7f\\x6f\\xfc\\x7f\\xae\\x88\\x3b\\x40\\xab\\xf7\\x88\\xae\\xb4\\xe4\\xca\\xff\\xb2\\x44\\x14\\x5d\\x68\\x57\\xed\\x91\\x70\\x11\\x27\\x94\\xe5\\xd6\\x0c\\xc7\\x6a\\xe0\\x7e\\x58\\x09\\xd7\\xcc\\x09\\xfd\\xe6\\xe1\\xe9\\x08\\x51\\xa8\\x8f\\x44\\x38\\xb8\\x14\\x74\\x21\\x59\\x52\\x1a\\xa0\\xe9\\x71\\x0c\\x68\\x60\\x00\\xc3\\xb8\\x34\\x71\\x0e\\xe5\\x8a\\x5d\\xc8\\x52\\xce\\x96\\xe2\\x82\\xd9\\xb3\\xa5\\x46\\xec\\x1c\\x86\\x77\\x46\\x2b\\xc9\\xb7\\x06\\x09\\x24\\x6e\\x46\\xf8\\x84\\xfa\\x91\\x2b\\xa1\\x2b\\xee\\x7d\\xf0\\x95\\x7d\\x97\\xae\\xba\\x66\\x91\\xb0\\x60\\x78\\x11\\x5f\\xe4\\xdf\\xb8\\xfc\\x92\\xf5\\x43\\xb6\\xdf\\x71\\xd9\\x12\\x30\\x72\\xd6\\x7b\\xc7\\x0e\\x3d\\xb6\\xed\\x1b\\xfc\\xe4\\xee\\xad\\x73\\x57\\x0f\\xae\\x2e\\x2c\\xa5\\xf4\\xe4\\xa5\\x46\\xb2\\xba\\xac\\xa8\\xf4\\x87\\x0b\\x96\\xcd\\xbf\\x96\\xd5\\xea\\x66\\x37\\x5f\\xfb\\xd0\\xe3\\x87\\x0f\\x83\\xc4\\x1d\\xe8\\xd9\\x8b\\xc7\\xc4\\x99\\xf8\\x36\\x09\\x97\\x44\\x48\\x17\\xf7\\xcb\\xf7\\x68\\xdc\\x2e\\x77\\x9b\\xa0\\x77\\xb9\\x50\\xae\\x07\\xd1\\xc6\\x98\\x71\\x94\\xec\\x69\\xcd\\xb5\\xc8\\x33\\x27\\x2a\\xcb\\xfe\\xaf\\x74\\x8f\\x2a\\xb3\\x29\\xe5\\x4e\\xd8\\x0c\\x8e\\x0c\\x94\\xb3\\x67\\xad\\x19\\x9c\\x31\\x2f\\x5b\\xbb\\x9d\\xdb\\x46\\x16\\x7e\\xf2\\x96\\x92\\xec\\x19\\x35\\xc1\\x1a\\x78\\x99\\x7b\\x99\\x68\\x96\\xc0\\x6c\\x16\\x77\\xf3\\x5f\\x7e\\x28\\x25\\x7b\\x3a\\xe7\\x3c\\x24\\xe7\\x7a\\x50\\x0f\\x0e\\x15\\x86\\x36\\xaf\\x08\\xea\\xad\\xf9\\xe9\\xaa\\xa4\\x0b\\xab\\xac\\x40\\xa9\\x5a\\xd6\\x68\\xc3\\x6c\\x83\\xea\\x2a\\x62\\xb1\\x82\\x82\\xd2\\x76\\xa1\\x80\\xe3\\x02\\xd0\\xf1\\x73\\x03\\x04\\xac\\xc2\\x79\\xf4\\x0c\\x0c\\x4b\\xf5\\x80\\xac\\x82\\x5a\\x98\\x51\\x39\\x83\\x29\\xa9\\x89\\xa6\\x9f\\x57\\x98\\xca\\x51\\xad\\xb0\\x8a\\xfd\\x53\\x21\\x58\\x13\\x79\\x9d\\x72\\x70\\x6b\\x2a\\xe9\\x85\\x98\\xba\\x61\\xce\\xb7\\xe5\\xdb\\x5d\\x63\\xdb\\x98\\x51\\x60\\x51\\x16\\xd7\\xfa\\xa5\\xf8\\xcf\\xff\\xcc\\xb6\\xcb\\x8d\\x98\\x51\\x6b\\x53\\x1a\\xea\\x80\\x56\\xd5\\x35\\x07\\x6a\\x51\\xbf\\x9c\\x6e\\xba\\x02\\x78\\x7d\\xf6\\xde\\x37\\x9e\\x97\\x9b\\xe6\\x2a\\xe7\\x2f\\x96\\xfa\\xe9\\x5e\\xcc\\x76\\xce\\x65\\x7b\\x92\\xfe\\x42\\xbc\\xc0\\x68\\x50\\x4f\\x92\\x8c\\x67\\x48\\xa0\\x33\\x1d\\xc5\\x9a\\xd2\\x51\\x8e\\x40\\xbc\\x00\\xa6\\x30\\x11\\x8e\\xc5\\xc3\\xbe\\x80\\xaf\\x45\\x80\\x16\\x53\\xab\\x45\\x55\\x22\\x66\\x2d\\x83\\xb9\\x55\\xae\\x71\\x1f\\x22\\x13\\x75\\x7f\\x24\\x95\\x61\\xf9\\xf1\\xe3\\x99\\x1b\\x2d\\xa4\\x90\\x91\\xf0\\x0d\\x4a\\x46\\x4f\\x03\\x0e\\x3c\\xf4\\xf7\\x9b\\x01\\x75\\x53\\x83\\x30\\x7a\\x48\\xa8\\xa4\\xc9\\x58\\x3a\\xb4\\x60\\xde\\x0d\\x53\\x53\\x53\\x4a\\x4b\\x83\\x85\\xb3\\x4c\\xe0\\x71\\x53\\x5b\\xd5\\x31\\xfb\\x5f\\x0e\\x1d\\x06\\xce\\xbd\\x06\\x2b\\x67\\x3a\\xb7\\xb3\\xc0\\x79\\xe1\\x7f\\xae\\x1f\\xbf\\x71\\xb4\\xeb\\xdf\\xce\\xc6\\x46\\xa7\\xf8\\x7e\\x1a\\x6e\\xaf\\x06\\x71\\x14\\x59\\x0c\\xf7\\x24\\x07\\x3d\\xe1\\x19\\xe9\\x12\\xbd\\x81\\x77\\xb9\\x0c\\x0c\\x8d\\x63\\x18\\x4d\\x6b\\xe0\\xaf\\x19\\x38\\x9f\\x9f\\xb3\\x5a\\x0d\\xb4\\x89\\x6e\\x11\\x58\\x13\\xcd\\x60\\x98\\x4b\\xcf\\x51\\x30\\x50\\xa1\\xbc\\x39\\x90\\xac\\x06\\x75\\xc4\\x9d\\xbd\\x0d\\xcf\\xa6\\x18\\x60\\x98\\x6d\\xf3\\x01\\x2d\\x05\\xed\\x4e\\x6d\\x06\\x74\\x49\\x26\\x03\\x80\\xea\\x47\\xcb\\xe3\\x96\\xa1\\x40\\x6c\\x1b\\x14\\x98\\x31\\xee\\xce\\xd1\\x46\\xf0\\x67\\xe3\\xd2\\xd9\\x40\\xe8\\x34\\x82\\x94\\x71\\x52\\xcf\\x25\\xc6\\x21\\x51\\xc3\\x61\\xf1\\x8e\\xf7\\xac\\x36\\xa3\\x6f\\xfe\\xa3\\xeb\\x89\\x4e\\x38\\x75\\x77\\xcf\\xb7\\x38\\x0b\\xbf\\xda\\xcf\\x4e\\xaf\\xdf\\x3e\\x63\\xb9\\x16\\xe9\\x88\\x10\\xea\\xbd\\x86\\x72\\x38\\x31\\x3f\\x36\\x2d\\x9d\\x24\\x28\\x8f\\xcf\\x47\\x19\\x75\\x4e\\xbb\\x5d\\xa7\\x03\\x94\\xc5\\x4a\\x59\\x03\\x41\\x2b\\xa5\\xa5\\xda\\x04\\xa3\\xdd\\xee\\x23\\x08\\xcc\\xa2\\xa5\\xf3\\x1e\\x86\\xa2\\x1f\\xf3\\x2e\\x7e\\xfb\\x08\\xc1\\x27\\xa0\\x37\\x8d\\x82\\x64\\x3f\\x80\\x61\\x64\\x6d\\x8a\\x06\\x92\\xb6\\xf0\\x81\\x18\\x5f\\x0b\\x05\\x39\\x3c\\x7e\\xd0\\xfd\\x55\\xe7\\x5f\\x62\\x02\\xb3\\x6d\\xb1\\x31\\x43\\xae\\x19\\xf4\\x8e\\xe9\\x8f\\x35\\x6d\\xdd\\x11\\x9f\\x78\\xa5\\x69\\x85\\xa5\\xc5\\xee\\xbb\\xef\\x5f\\xc7\\xbf\\xae\\x68\\x8c\\x4f\\x79\\xac\\xe9\\xc8\\x90\\xc6\\xd2\\xba\\x05\\x37\\x5d\\xfb\\xfe\\x15\\xf1\\xf9\\x5a\\xcd\\xac\\x39\\x2b\\x65\\x0c\\x84\\x71\\xe2\\x78\\xc4\\x4b\\x89\\xb9\\x10\\x06\\x08\\xd4\\x0a\\x76\\x2b\\x65\\x32\\x1a\\x51\\x41\\x96\\x55\\xeb\\xf6\\x70\\xf6\\x16\\x81\\xa3\\xb3\\x85\\x57\\x9c\\x51\\xd7\\x22\\x18\\x3d\\x59\\x70\\xb6\\xbe\\xbd\\x59\\x79\\xd9\\xaa\\x0c\\x1c\\x9b\\x04\\xb5\\x3e\\x30\\xfa\\xda\\x67\\xb3\\x4c\\xe2\\x8d\\xcb\\x76\\x7f\\xdc\\x17\\x71\\xed\\xb7\\xdf\\x9c\\x8d\\xf8\\xec\\xe7\\xf2\\x20\\xd6\\x10\\xdf\\x02\\x86\\x91\\x66\\xa8\\x13\\x22\\x08\\xf5\\x58\\xe7\\xd1\\x68\\x10\\xdf\\x02\\xcb\\x71\\x11\\xc6\\xec\\x33\\x47\\x63\\x21\\x12\\x2e\\x6d\\x08\\xf8\\x1c\\x2c\\x03\\xb7\\x8d\\x04\\x35\\x61\\x70\\xb6\\x0b\\x06\\xa6\\x4f\\xbe\\x34\\x95\\xec\\x0b\\x3b\\xa6\\x60\\x43\\x49\\xa7\\x1e\\xcf\\xd6\\x84\\x49\\xd5\\x28\\xd5\\x99\\x6a\\x31\\x39\\x53\\xa5\\x91\\x8f\\x78\\x09\\x7d\\xeb\\xbf\\xe6\\xae\\xb3\\x76\\x5c\\x60\\x16\\x2f\\x5a\\xc4\\x29\\xb5\\x61\\xc7\\x23\\xaf\\x3f\\xb1\\x60\\x18\\x79\\x04\\x1e\\xe7\\x5e\\xac\\xea\\x04\\x62\\x4b\\xe8\\xf9\\x06\\x0a\\x52\\x77\\x41\\x81\\x54\\x0e\\x46\\x3a\\x5e\\x7c\\x89\\x95\\xe4\\x80\\x6b\\xae\\x87\\x72\\x94\\xa0\\x2c\\xb6\\x2e\\xa6\\xd1\\xc4\\xe3\\x05\\x8e\\x60\\x22\\x58\\x62\\x4e\\x98\\x4b\\xcb\\x92\\x48\\x8c\\x24\\x48\\x38\\x14\\xdc\\x12\\x4f\\x4c\\xa7\\x0b\\x1b\\xc2\\xf9\\x82\\xc8\\x20\\x20\\x6a\\x68\\x7e\\x19\\x1d\\x6e\\x60\\x49\\xfa\\x71\\xea\\xff\\x17\\x99\\xd6\\x45\\x3e\\x7e\\x78\\x7a\\x7b\\x01\\x02\\xba\\xac\\x99\\xc2\\xaf\\xfe\\x6f\\xc2\\x2d\\x7f\\xfe\\x55\\x84\\x78\\xb9\\xf9\\x42\\x89\\x65\\x5f\\x25\\x22\\xc2\\xd1\\x85\\x7f\\x95\\x4b\\xd8\\xfd\\x1e\\x18\\xa7\\x95\\x49\\xd4\\x91\\x0c\\xc7\\x99\\x68\\x04\\xa4\\x4b\\x40\\x7d\\xc5\\xba\\x26\\x09\\x2c\\x96\\xe5\\x8f\\x24\\x0c\\x72\\x51\\x5f\\x3e\\xbb\\xd4\\x00\\xd9\\xfa\\x5c\\xdf\\x63\\x36\\x97\\x96\\xcd\\xd1\\xa3\\x0c\\xa2\\x3a\\x4f\\xdf\\x8e\\x40\\xfd\\xc7\\xee\\xb4\\xed\\x1c\\x8c\\xea\\x15\\xc7\\x5e\\x67\\xbb\\xee\\xda\\x4c\\x7a\\x7e\\x86\\xb3\\x11\\xdc\\xd5\\x05\\xc6\\x38\\x1b\\xc5\\x8e\\x2e\\xa2\\x3d\\x97\\x97\\x87\\xe2\\xb5\\xf4\\x9e\\xc6\\xc3\\xc4\\x21\\xe8\\x1b\\x2e\\x93\\xfb\\x61\\x90\\x21\\x25\\x0e\\x41\\xdd\\xfb\\xa3\\x17\\xf9\\x53\\xcf\\x41\\xd9\\x6e\\x80\\xb2\\x79\\xe0\\xa9\\x2f\\xe1\\x2d\\x4e\\xa7\\x59\\x8f\\x79\\x3c\\x06\\x03\\x42\\x8c\\xb3\\xeb\\xf5\\xa0\\x5d\\xe0\\x99\\x76\\x41\\xc3\\xeb\\xe1\\xff\\x66\\x18\\x54\\xc3\\xf8\\x0c\\x33\\x1b\\x5a\\x04\\xb3\\x5a\\x2e\\xe4\\x40\\x5b\\x53\\x49\\xb5\\x4d\\x55\\xe5\\x45\\x79\\x64\\x6f\\x52\\x30\\xb0\\x96\\x76\\xa1\\x14\\xe8\\x47\\xe0\\x2b\\x52\\x24\\xfa\\x24\\xe7\\xf0\\x70\\xec\\x92\\x48\\xf7\\x8c\\x89\\x48\\xbe\\x0d\\x76\\x3a\\x10\\x74\\x77\\x45\\x2e\\x99\\x3b\\x59\\xa2\\x2e\\xf8\\x80\\xb4\\x46\\x87\\x5c\\x7f\\x15\\x25\\x96\\xc3\\xbd\\x77\\x97\\x31\\xda\\x7a\\xc3\\x76\\x00\\xde\\xcb\\xe4\\x47\\x75\\x32\\x6f\\x07\\x66\\x83\\x27\\x1e\\xda\\x55\\x0b\\xcf\\xe9\\x48\\x9a\\x86\\x66\\xd5\\xa8\\xc5\\x08\\xe8\\xf6\\x93\\x5a\\x78\\xec\\x09\\x1d\\xa7\\x43\\xf9\\x2e\\x0b\\x0c\\x2d\\x39\\x0b\\x67\\xd1\\x5a\\xad\\x50\\x13\\x5b\\xfb\\x73\\x2c\\x64\\xfa\\xed\\xfb\\x49\\x61\\xcd\\xc4\\xd1\\x59\\xb2\\x05\\xb9\\xf4\\x5c\\xe9\\x3e\\xe0\\xa1\\x25\\x05\\xf7\\x5c\\x49\\x5f\\x31\\x01\\x49\\x30\\x6b\\xf0\\x98\\x95\\xe3\\xa6\\x4a\\x25\\xa5\\xd1\\x90\\xcf\\x1b\\xaa\\xc3\\xe7\\xb4\\x8b\\x13\\xe0\\xec\\x8d\\xf8\\xf8\\xba\\x31\\x17\\xe0\\xe0\\x5f\\x50\\x07\\x58\\xbd\\x51\\x7c\\x3f\\x5e\\x83\\xce\\x8f\\x4f\\x1c\\x2f\\xc9\\xe0\\xc0\\x4a\\xe1\\x36\\x45\\xe5\\xc6\\x66\\x33\\xc7\\xdb\\xe0\\xa9\\xb7\\x49\\x84\\x0b\\xad\\x82\\x41\\xd5\\x2d\\x92\\x2d\\x81\\x54\\x00\\x3e\\xd5\\xc8\\xb5\\x52\\x60\\x0f\\x22\\x15\\x61\\x8f\\xbb\\x01\\x01\\xd5\\xde\\xbc\\x4f\\xff\\xa3\\x34\\x8f\\xff\\x18\\x1f\\x93\\x91\\x69\\x77\\x5e\\x37\\xa8\\x8a\\x82\\x9b\\xe5\\xb7\\xe2\\x7a\\x19\\x33\\x59\\x1c\\x4d\\xde\\x21\\xf5\\x7b\\xac\\x4e\\x0f\\xf1\\xd9\\xbd\\x5e\\x87\\xc3\\x15\\x34\\xeb\\xc3\\x61\\x9a\\x30\\x3b\\xfd\\x4e\\x7f\\x3c\\x61\\x09\\x06\\xcd\\x2d\\x42\\x30\\xe8\\x77\\x06\\xec\\xb4\\x1f\\xae\\x9b\\x9f\\xf6\\xb8\\x5a\\x04\\x0f\\xe6\\x74\\xb4\\x08\\x4e\\x87\\xec\\x45\\x67\\x50\\xd2\\xd4\\x59\\x08\\x15\\x5a\\x9a\\x3a\\x6e\\x90\\x19\\x12\\xe4\\x6d\\x91\\x73\\xa1\\xe3\\x59\\xd8\\x2b\\x69\\x75\\xd1\\xee\\x97\\x91\\xd3\\x34\\x24\\x78\\x51\\xb8\\x3b\\x65\\xd9\\xb8\\xfd\\xf0\\x91\\xf3\\xd7\\xce\\x31\\x80\\x0b\\x6e\\x1f\\xb4\\x9c\\x1b\\x22\\xf1\\x5b\\x9c\\x46\\xb2\\x4d\\xc5\\xff\\xa4\\x17\\xcf\\x07\\xd1\\x1d\\xe2\\xb7\\xe2\\xe8\\xc2\\xf8\\x84\\xe0\\xdb\\x2f\\x5d\\xd8\\x5d\\x0f\\xfe\\xcc\\x32\\x7b\\x7a\\x5e\\x74\\x36\\x4a\\x74\\x2f\\x81\\x0a\\x31\\x59\\x29\\x7e\\x73\\xd7\\x4f\\x9b\\x65\\x2c\\xcf\\x2f\\xa9\\xb3\\x12\\xae\\x57\\x47\\xba\\x02\\x2a\\xe1\\x98\\x0f\\xf1\\xdb\\xe8\\x78\\xc6\\x6a\\x65\\x75\\x61\\x5b\\xd8\\x96\\x2c\\x4e\\xc4\\x5a\\x84\\x04\\xcd\\xfb\\x7c\\x66\\x3c\\x00\\x2d\\x85\\x3b\\x00\\x15\\x17\\xdc\\x3b\\x0e\\xab\\x96\\x96\\xf8\\x34\\x33\\x80\\x70\\xa9\\xfc\\x12\\xca\\x54\\x36\\x35\\xa7\\xb0\\x40\\xd8\\x25\\x47\\x0b\\x1a\\x0d\\x25\\x0a\\x90\\xcd\\x87\\xec\\x77\\xa9\\xd9\\x21\\x90\\x11\\x69\\x8a\\x74\\x8c\\x33\\xcc\\x07\\xc6\\x45\\xdc\\xd8\\x8a\\x4d\\x21\\x68\\x4e\\x6e\\x14\\xcc\\xe2\\x71\\xa2\\x69\\xff\\x02\\x61\\x21\\xb8\\xe6\\x85\\xe9\\x5d\\xb6\\x39\\xb2\\x51\\x79\\x67\\x6e\\xdb\\xa6\\x5a\\x3c\\xd5\\xf3\\xd2\\x9a\\xc2\\xb9\\x5b\\x67\\xe2\\x13\\xcf\\x1d\\x71\\x35\\xde\\x3b\\xaf\\x63\\xc9\\xec\\x17\\x57\\x2c\\x88\\x75\\x22\\xb3\\x0e\\x7f\\x24\\xdb\\x42\\x45\\xce\\x85\\xe9\\x2a\\x24\\x67\\x38\\x23\\x28\\xc7\\xfd\\x9f\\xa2\\x7a\\xfe\\x6f\\x51\\xf3\\x79\\x1f\\x7e\\x57\\x5a\\xf6\\xff\\x4f\\xda\\x4f\\xa7\\x9b\\xc4\\xdd\\x5d\\xa3\\xef\\x98\\xfb\\x7f\\x48\\x2b\\x19\\xd3\\x89\\xb3\\x67\\xf4\\x11\\x17\\xca\\x9b\\x80\\xf2\\x9e\\x84\\x3e\\x64\\x15\\x92\\x57\\x7a\\x9a\\xb2\\xbc\\x95\\x50\\x74\\x5d\\x11\\x14\\x36\\x5c\\x5d\\x53\\x50\\xd6\\x2a\\x24\\x0b\\x3c\\x3e\\x86\\xe7\\x71\\xb3\\xdb\\xdc\\x2e\\x04\\xdc\\x8c\\x03\\xca\\xeb\\xa0\\x75\\x36\\x47\\x5f\\x79\\x53\\xce\\xac\\x45\\xca\\x6e\\xde\\xcc\\xc3\\x55\\x2a\\xaf\\x91\\x4a\\x53\\x9b\\xd5\\x6c\\x5f\\x16\\xff\\x3b\\xc6\\x8a\\x3c\\x21\\x4b\\x2e\\x9e\\x81\\x92\\x97\\x77\\x47\\x95\\x22\\xec\\x26\\xd5\\x73\\xb6\\xae\\x85\\x36\\x6b\\x46\\x2b\\xb2\\x59\\xee\\x41\\xd3\\xd8\\xd5\\x1c\\xfe\\x36\\x5a\\x83\\x9e\\xd7\\x24\\xd3\\x7b\\x45\\x87\\x5c\\x89\\x9d\\x7d\\xe2\\x1d\\x3d\\xcb\\x64\\xc3\\x75\\xf5\\x1a\\x68\\xb8\\xa0\\x6a\\x7f\\x0b\\xda\\x63\\x1a\\xae\\x43\\x0c\\x9b\\x9a\\x2e\\x71\\x52\\x1a\\x8d\\xdd\\xc8\\x46\\x30\\x2c\\xe8\\x63\\x7d\\xf1\\x44\\x24\\xd8\\x22\\x44\\x1c\\x94\\xd3\\x89\\xbb\\xd1\\xd3\\x66\\x64\\x97\\x48\\x0e\\x34\\xb2\\xd7\\xca\\x03\\xfb\\x42\\x4a\\x8e\\x2d\\x5b\\x72\\x9e\\x2f\\x99\\xba\\xfc\\x5c\\x72\\x35\\xe4\\x22\\xf3\\x55\\x91\\x8f\\x8e\\x29\\xb2\\xd4\\x4e\\xb5\\xef\\xcb\\xd5\\x9b\\x4f\\x93\\x9d\\x0d\\xb9\\xb6\\xfc\\xaa\\xe7\\xfe\\x8a\\x24\\xd8\\xba\\x8e\\xd8\\x9d\\xa9\\x31\\x17\\x39\\xc9\\xd7\\x80\\xcf\\xb5\\x08\\xca\\x73\\x21\\x94\\x27\\x81\\x4d\\x4c\\x17\\xc9\\xd5\\xf5\\x50\\x1c\\x1f\\x67\\xd5\\x5a\\x0b\\x0a\\xbd\\xc1\\xa0\\xab\\x55\\x08\\x7a\\xfe\\xaf\\x6a\\xfa\\x01\\xf1\\x59\\x7f\\xaf\\x7c\\xbe\\x3f\\x26\\xf8\\x80\\x25\\xf3\\x6b\\x8c\\x59\\x4d\\x7b\\xe3\\x9d\\xc6\\xe5\\x5c\\xff\\x3a\\xf9\\xb5\\x19\\x44\\xf0\\xeb\\xaf\\x2d\\x6e\\xc4\\x3b\\x2f\\x90\\xf2\\x17\\x6f\\x40\\xbf\\x6f\\xee\\xff\\xa3\\xed\\x3f\\x00\\xa3\\xaa\\xb2\\xc7\\x71\\xfc\\xde\\x57\\xa7\\xbf\\xe9\\x3d\\x99\\x4c\\x66\\x26\\x93\\x5e\\x66\\x48\\x42\\x80\\x90\\x47\\x20\\x85\\x22\\x35\\xa0\\x43\\x0b\\x48\\xa4\\x8b\\x20\\x2a\\x76\\x04\\x14\\x3b\\xc5\\xc2\\xa2\\xb2\\x62\\xef\\x8a\\x20\\x28\\x8a\\xa2\\xae\\xd8\\x56\\x5c\\x75\\xd7\\xd5\\x75\\xed\\x7d\\x8b\\xfb\\x11\\x75\\xdd\\xcf\\x2a\\xe4\\xcd\\xff\\xdc\\xfb\\xde\\xb4\\x10\\xfc\\xfb\\xfd\\xfd\\xbe\\x3f\\x25\\x99\\x99\\x97\\xb9\\xed\\xdc\\x73\\xcf\\x3d\\xfd\\xc0\\xb9\\x74\\x90\\x48\\x07\\xbb\\x8e\\x94\\x1e\\x70\\xd0\\xda\\x2b\\x16\\xde\\xe9\\xe2\\x41\\x6a\\x20\\xb7\\x93\\x8e\\xb1\\x49\\x5a\\xf1\\x01\\x97\\x43\\x54\\x51\\x53\\x73\\x4d\\x19\\xd4\\x14\\x50\\x58\\x77\\x25\\x1b\\x24\\x88\\xd9\\xb5\\x0b\\x8c\\x78\\x98\\x71\\xc1\\xb6\\x8b\\x94\\x91\\x2b\\x16\\x18\\x95\\x97\\x8d\\xa7\\x5e\\x0e\\x64\\x73\\x22\\x5e\\xc6\\x4e\\xf5\\x8c\\x1e\\xed\\x39\\xf6\\x08\\xf3\\x6a\\xff\\x56\\x22\\xcc\\x30\\xff\\xf5\\x8c\\xee\\x7f\\x2b\\x13\\x53\\x42\\x74\\x49\\xdc\\xcd\\x6a\\x2d\\x8b\\xf4\\x51\\x7e\\x06\\xbb\\x07\\xa4\\x82\\x0a\\xb4\\x41\\x1e\\x1b\\x42\\x66\\xa7\\xc9\\xe5\\x32\\xc5\\xa2\\x51\\xbf\\xde\\x8a\\x04\\x24\\x54\\x56\\x15\\x95\\x4e\\x4a\\x15\\x51\\xa5\\xad\\x64\\x0e\\x99\\x27\\x99\\x7b\\xcd\\x67\\x98\\x79\\x13\\x0b\\x1c\\x04\\xeb\\xf3\\xc1\\xa5\\x32\\x29\\x15\\x74\\x99\\xf4\\x31\\x3e\\x46\\x2a\\x2e\\xf3\\x12\\x1b\\x9f\\xa4\\x96\\x66\\xca\\xa6\\x48\\x2c\\xf0\\x33\\xcb\\x0a\\xb7\\x59\\x62\\xd3\\x92\\xcd\\x12\\x4a\\x64\\x5b\\x2b\\x02\\xa9\\x56\\xcb\\x55\\xc9\\x6a\\x1e\\x37\\x59\\x87\\x9b\\x12\\xac\\x79\\x09\\x44\\x4a\\x99\\x12\\x9c\\xc0\\x89\\xb6\\x19\\x4c\\x6b\\xfd\\x04\\xbe\\xf3\\x2e\\x4f\\xe3\\xa5\\xe5\\xe3\\x86\\x8e\\x63\\x2f\\x1d\\xda\\x7b\\xfd\\x88\\xce\\x09\\x72\\xff\\x15\\x57\\x29\\x63\\xb0\\xa3\\x67\\x61\\x47\\xc5\\x25\\xe5\\xed\\x5b\\x1f\\xc6\\xe7\\xe1\\x52\\xec\\x11\\x94\\x7f\\x6f\\x37\\x28\\x6f\\x2d\\x56\\x5e\\x5c\\xa6\\x3c\\x6b\\x7c\\x44\\xf9\\x90\\xc7\\x8b\\xd7\\x6f\\x30\\x33\\xef\\x9a\\x94\\x7f\\xab\\x3c\\x47\\x55\\xfa\\x1b\\xfe\\x42\\xf6\\x25\\xe0\\x38\\x68\\xfd\\x15\\x31\\x5e\\x62\\xb3\\x59\\x91\\x35\\xee\\x8f\\xfb\\x6b\\xeb\\xac\\xd6\\x68\\x55\\x15\\x3b\\x31\\x55\\x65\\x2d\\xf1\\x18\\xa2\\x86\\xc9\\xa9\\xe2\\xa8\\x3b\\xe3\\x68\\x95\\x65\\x01\\xf3\\x5c\\xa0\\x35\\xc7\\xcc\\xfc\\xd2\\x31\\xcd\\x43\\x28\\xe6\\x89\\xf4\\x43\\xcc\\x49\\x8f\\x59\\x24\\x57\\xb5\\xb6\\x84\\xe3\\xce\\xdb\\xf7\\xc8\\xa3\\xaf\\xad\\xe8\\x6a\\x19\\x71\\x7e\\xc8\\x60\\xfd\\x83\\xd5\\xd4\\xdd\\x33\\xa6\\x6f\\x0d\\x66\\x57\\xbc\\x79\\xed\\xcb\\x2d\\xfc\\xc8\\xdf\\xcc\\xbb\\xe3\\x81\\xbb\\xf0\\xf4\\xa3\\xb8\\x0c\\x37\\x33\\x81\\x87\\xf6\\x6c\\x54\\xbe\\xbc\\x76\\xe5\\xd9\\x2b\\x7a\\x5e\\x19\\x31\\x7b\\xf6\\xd8\\x03\\x73\\x7b\\xbf\\xbf\\x7d\\xc7\\x77\\x97\\x3d\\xd8\\x3b\\xe1\\xe0\\x93\\xcf\\x61\\xeb\\xf5\\xdf\\xd0\\xb8\\x4f\\x52\\xaf\\xa4\\x82\\xfa\\xfd\\x86\\x80\\x6e\\xac\\x92\\x5b\\x7d\\x66\\x43\\xb0\\xc8\\xca\\xd9\\x6c\\x7a\\x36\\x1a\\xf1\\x70\\x6e\\x37\\xc7\\xe9\\x4b\\xf4\\x66\\x64\\x46\\x40\\x43\\x8a\\xac\\x45\\xc0\\xcb\\xdb\\x1c\\x36\\x10\\x4c\\x3c\\xb0\\xe2\\xa0\\x01\\x84\\x59\\xd6\\xe0\\xd6\\x73\\x94\\xa5\\x0a\\x0c\\xf0\\xc9\\x54\\x93\\x7d\\x1f\\xe7\\xfb\\xad\\x7a\\xcf\\x7b\\x34\\xcf\\x54\\xc4\\x6b\\x58\\x4b\\x38\\x2b\\x14\\xd3\\x94\\x30\\x1c\\xe1\\xae\\xe0\\x06\\xe1\\x87\\x94\\xc5\\xd9\\x28\\x5f\\xa1\\xbc\\xa1\\x7c\\x30\\x6c\\x81\\x49\\x29\\x33\\x2d\\x1d\\xf6\\xf6\\x9f\\x70\\x03\\x2e\\x4d\\xce\\x37\\xe2\\xbf\\x1a\\x97\\x27\\xf1\\xfd\\xc7\\xf0\\xdc\\xa9\\x1b\\xaf\\xbb\\x8b\\xf9\\xe1\\xd4\\x49\\x97\\xe2\\x46\\xa6\\xf2\\x27\\xe5\\xa3\\xa0\\xf2\\x18\\x41\\x6d\\x3c\\xc1\\xf1\\xfc\\x93\\x47\\x71\\x1c\\xc4\\x4c\\x2a\\xb6\\x7f\\x50\\xd1\\xff\\xc9\\xea\\x1b\\x1d\\xcc\\xcf\\x81\\x7f\\x3b\\xcf\\xb8\\xc5\\xd5\\x6f\\x19\\x45\\xce\\xe5\\x67\\xe9\\xaf\\x98\\x2f\\xd8\\x07\\x11\\xcc\\x53\\xf6\\x1b\\x91\\xc9\\x64\\x31\\x9b\\x1d\\xbc\\xdd\\x66\\x01\\x5e\\xd1\\x05\\x9c\\x3e\\xd2\\x09\\x3a\\x81\\xfa\\xda\\xb6\\x01\\x13\\xd3\\xa6\\xe5\\xf6\\xcb\\x1c\\xbe\\x58\\x46\\x57\\x94\\xbd\\xf8\\xf0\\x29\\x8d\\xb7\\x4c\\xa3\\x36\\xff\\x09\\x67\\x36\\x2c\\xc1\\xe6\\x6d\\x67\\x1b\\x95\\x2b\\x5f\\x5d\\x72\\xbe\\x01\\x4f\\xb9\\x72\\xd2\\x64\\xa6\\xe7\\xd8\\x23\\x6a\\x2d\\x2e\\x18\\x97\\x6d\\x01\\x1e\\xcc\\x86\\x86\\x0c\\x32\\x2e\\xca\\x1b\\x97\\xd8\\xae\\xfe\\x4f\\x07\\x3e\\x88\\xcd\\xff\\x2c\\x18\\x98\\x6b\\xfa\\xf9\\xb0\\x97\\xe4\\x2b\\xfe\\x4c\\xe9\\x64\\xfd\\xb0\\xde\\x62\\xd4\\x2e\\x97\\x48\\x7e\\x93\\x29\\x10\\x10\\x50\\x30\\x58\\xe2\\x0c\\x05\\x24\\xbf\\x24\\x79\\x5c\\x1e\\x97\\xdd\\x2d\\xe8\\xf5\\xcc\\xa4\\x94\\x3e\\x97\\x47\\x96\\xcc\\xc1\\x96\\x6c\\xcb\\x64\\x97\\xcc\\x08\\x2e\\x7c\\xa1\\xe7\\x8a\\xa3\\x70\\x52\\x02\\x53\\xaa\\x5a\\x8f\\x46\\x2f\\xba\\xf1\\x1a\\xb6\\xa6\\x10\\x2e\\x7b\\x2d\\x7f\\xa4\\xd6\\xa2\\xab\\xae\\x71\\xc4\\x71\\x32\\x0f\\x3e\\xba\\x6e\\x4a\\x2f\\x3f\\x50\\x26\\xb0\\xd5\\xec\\x21\\x80\\x4f\\x42\\xf6\\xf1\\x0e\\x0d\\x42\\x76\\x2b\\xc0\\x47\\xb4\\x4a\\xe6\\x00\\x00\\x48\\x47\\xdd\\x34\\x28\\x70\\x72\\xa1\\xb1\\xc9\\x5c\\x45\\x48\\xea\\x92\\xa1\\x51\\xf9\\x02\\x57\\x8c\\x27\\x94\\x1f\\xbe\\xa0\\x2e\\x18\\x9f\\x66\\x5c\\x30\\x8e\\xfe\\xc4\\xf3\\x74\\x5f\\x90\\x07\\xe0\\x43\\x7c\\x46\\x88\\x95\\x39\\x2a\\x78\\x3c\\xe1\\x22\\x3b\\x42\\x16\\xa3\\xb1\\x04\\xde\\xd8\\xfd\\x7e\\x97\\xd5\\x67\\x25\\x73\\xb0\\x4a\\xfc\\x00\\x18\\x69\\x90\\xb2\\x15\\x18\\xd2\\x35\\xa5\\x54\\xbe\\xd5\\xad\\x39\\xcb\\x2e\\x64\\x26\\x28\\xe0\\x40\\x06\\x4e\\xca\\x9f\\x4d\\xbf\\x25\\x33\\xf3\\xe4\\xcd\\x76\\x8d\\x06\\x29\\x62\\x57\\x63\\xd7\\x7a\\xdb\\x7f\\x9f\\x99\\x74\\x7f\\x6f\\xb7\\xaa\\xff\\x58\\x02\\x87\\xb9\\x01\\xe6\\x2c\\xa1\\xb8\\xec\\x10\\x75\\x3a\\x03\\xdc\\x2e\\x56\\x9b\\x99\\x23\\xd1\\xf8\\x66\\xab\\x9e\\x5c\\x8a\\xc9\\xfc\\xd2\\xcc\\x19\\xe9\\x3a\\x4f\\x7e\\x36\\x10\\xf9\\x79\\xe8\\x4c\\xc7\\x52\\xe5\\x87\\xd3\\x4a\\x3f\\x7b\\xa6\\x6f\\x24\\xf3\\xc7\\xd3\\xbd\\x57\\x9f\\xd5\\x7f\\x1f\\x33\\xf4\\x77\\xaf\\x39\\x60\\x8c\\x29\\x20\\xaf\\xac\\xa5\\xf6\\xa2\\x46\\xd9\\xef\\x32\\x5a\\x2c\\x02\\xcb\\x7a\\x7d\\x46\\x41\\x2f\\x4c\\x4c\\xe9\\x03\\x2e\\x17\\x42\\xb6\\x49\\x39\\xcb\\x6f\\x5d\\x5b\\x61\\x6e\\x25\\xcd\\xf8\\x9b\\xf1\\x6d\\x6e\\xca\\xa9\\xcc\\xb1\\x7c\\xd3\\x3d\\x86\\xdb\\xd5\\xc3\\x7d\\xaf\\xb1\\xb6\\x3c\\x0e\\x80\\x28\\xef\\x60\\x5f\\xdc\\x7a\\x5d\\xfd\\xb0\\x63\\x2b\\xc8\\xc1\\x65\\xf7\\x74\\x96\\x75\\x4d\\x20\\x10\\x20\\x32\\x39\\x09\\x94\\x7a\\x9e\\xde\\xa3\\x41\\xb4\\x58\\x6e\\xc2\\xb0\\x1b\\x8c\\x8f\\xf1\\x7a\\x59\\x56\\xaf\\x43\\x36\\x9b\\xd3\\xa2\\xb3\\x14\\x15\\x5b\\x7d\\xf0\\x6c\\x52\\xca\\xe7\\x13\\x8c\\x46\\xef\\xa4\\x94\\x11\\x2e\\x54\\xa3\\x64\\xd3\\xb1\\x02\\xd0\\x68\\xc1\\x85\\x28\\x97\\xa0\\xd1\\xe6\\xfc\\xac\\x04\\xc7\\x87\\x1e\\x6b\\xd9\\x3b\\xe1\\xda\\xc9\\xdd\\xae\\x25\\xb0\\x0e\\x87\\x47\\xc4\\xd4\\x57\\x89\\xc4\\xd5\\x2d\\x79\\x6a\\xe8\\x90\\xd3\\x4d\\x4a\\xcc\\xb4\\x60\\x63\\x9f\\x09\\xbf\\x8d\\x17\\x7e\\x73\\xcf\\x22\\x93\\xf2\\xe9\\x49\\x7d\\xc5\\x23\\xc3\\x67\\x5c\\x84\\xd7\\x29\\xef\\xd1\\x9b\\xf6\\x27\\xf7\\xe8\\x7f\\xff\\x61\\x82\\xf2\\x34\\x70\\x38\\x0f\\x4d\\x1a\\xa7\\xdc\\xb9\\x84\\xea\\x18\\x9e\\x03\\xbe\\x60\\x09\\xac\\x87\\xd4\\x0b\\x5d\\x26\\x37\\xdb\\x7d\\x36\\x9b\\xdf\\xc1\\xb2\\x82\\xdf\\x6f\\x32\\x3a\\x19\\xc6\\x25\\x18\\x85\\x62\\x90\\xc1\\x58\\x9f\\x9d\\xd4\\xb0\\xb0\\xdb\\xf5\\x16\\xc6\\x46\\xf2\\xd1\\x93\\xaa\\x51\\x7a\\x3f\\x20\\xa0\\x11\\xe0\\xef\\xca\\xcb\\x6b\\x65\\xcb\\x88\\x60\\x64\\x5d\\xc7\\x15\\x74\\xcc\\xea\\x1c\\xb0\\x84\\x89\\xc2\\xde\\x4a\\xea\\xff\\x67\\x74\\xdf\\x98\\xcd\\xac\\x89\\x5b\\x62\\x3a\\x43\\xf9\\xe8\\xa4\\xd1\\xca\\x30\\xa5\\xd2\\xb4\\x7c\\xe3\\x2c\\x13\\xfe\\xd0\\x74\\xf6\\x90\\xa1\\xb8\\xfd\\xe0\\xe4\\x39\\xe1\\x91\\xc5\\xe7\\x9c\\xcb\\x3e\\x04\\x14\\xf5\\xe9\\xe0\\xea\\x4e\\xe5\\xe5\\xd1\\x6e\\xe6\\x27\\x4a\\x60\\xdf\\xc3\\xeb\\xfa\\x6f\\xe8\\x1c\\xa9\\xdc\\x79\\x1a\\xcd\\x5b\\xdd\\x49\\x63\\x1a\\x1a\\x49\\x4c\\x83\\x60\\xb3\\xd5\\x95\\x96\\x05\\x4c\\xa8\\x14\\x35\\x35\\x07\\xea\\xd8\\x68\\xb4\\x7a\\x62\\xaa\\xbc\\x3c\\x6a\\x35\\x1a\\x25\\x49\\x37\\x89\\xc4\\x34\\x78\\x89\\xb3\\x0a\\x9b\\x4d\\x0d\\xab\\x61\\x51\\xb2\\xee\\xf8\\xa8\\x06\\x2d\\xa6\\x21\\x12\\x2f\\xb4\\x66\\x37\\xff\\x8a\\x98\\x86\\xc3\\xaf\\x45\\x03\\x79\\x06\\xed\\x11\\xbf\\x1c\\xcb\\xb0\\xfd\\x6e\\x7c\\xd9\\xb0\\xec\\xd1\\xc3\\x3d\\xbf\\x10\\xc6\\x80\\x95\\xff\\x00\\xbd\\xea\\xa1\\xbe\\x1e\\x43\\xe5\\x20\\x63\\x30\\x18\\x8d\\x3e\\xab\\xd7\\x1b\\x2c\\xb2\\x00\\x1b\\x64\\xb3\\x59\\x02\\x2c\\x8b\\x68\\x1a\\x32\\x8c\\x0a\\xd6\\x86\\xf3\\x74\\xd7\\x38\\xe7\\xce\\x31\\x80\\xcd\\x1e\\x89\\x99\\x7d\\xb3\\xc6\\xc4\\x65\\x93\\x2b\\xd2\\x3c\\xc6\\xf9\\x4a\\x01\\x77\\xfd\\x62\\xc9\\x9f\\xf8\\x3b\\x5c\\x1f\\x9d\\xee\\x5d\\xbd\\xe6\\xe8\\xe6\\x0c\\x47\\xcd\\xad\\x7a\\xe6\\x00\\xa5\\x0d\\xd9\\x79\\x45\\xd0\\x38\\xb9\\x4c\\x6f\\xb3\\xd9\\x5d\\xae\\x00\\x07\\x73\\x89\\xc6\\x7c\\x25\\x24\\x30\\xd5\\x17\\xa0\\xde\\xa5\\x06\\x11\\xdb\\x19\\x0c\\x67\\xc6\\x85\\x5d\\xd9\\xc8\\x75\\x2d\\x4b\\x6f\\x6e\\x9e\\x19\\xf0\\x27\\x89\\xb2\\x2a\\xbf\\x30\\xb0\\x98\\x33\\x9c\\x64\\x26\\x3d\\x61\\xbd\\x63\\xfd\\xfd\\x25\\x7f\\x7a\\x2a\\x37\\xef\\x5d\\x57\\x3a\\xae\\x10\\x73\\x73\\x1f\\x3a\\xcd\\xb1\\x98\\xfd\\xdd\\x33\\x07\\xd4\\xb9\\x1f\\x2b\\x5e\\x1c\\x57\\x67\\x7f\\xe9\\x1a\\x42\\xd3\\xf4\\x80\\x3f\\x1b\\x69\\x6c\\xdf\\x08\\xb9\\x48\\x24\\x45\\x0c\\xbc\\x76\\xb3\\xb9\\x34\\xe2\\xf5\\x6a\\xbe\\x11\\xa2\\xa6\\x25\\x29\\x24\\x39\\x2a\\x9b\\x95\\x07\\xd3\\x42\\xc3\\xa4\\xc8\\x0e\\x44\\x9a\\x26\\xe0\\x3d\\x34\\xa2\\xd3\\x07\\x94\\x68\\x75\\xbe\\xc3\\xc3\\x99\\x46\\xe6\\x90\\x4a\\x79\\x08\\x35\\xea\\xbf\\x20\\xcf\\xc1\\x81\\xb9\\xac\\x53\\xf5\\xe7\\x95\\xe1\\xbe\\x20\\xf0\\x0d\\xa3\\x2a\\x34\\x47\\x4e\\x44\\x8b\\x8b\\x43\\x21\\x83\\xdd\\xec\\x35\\x1a\\x19\\x52\\x84\\xbe\\xc2\\xeb\\xad\\x0e\\x94\\x4d\\x49\\x19\\x8b\\x8b\\xa2\\x66\\xbb\\x10\\x08\\x00\\xf5\\x29\\x9d\\x9a\\x72\\x05\\xad\\x01\\x35\\x82\\x14\\x6b\\x4a\\x94\\x0c\\x97\\xe8\\x69\\xa9\\xca\\xf3\\x44\\xb3\\x65\\x15\\x51\\x85\\xe8\\x21\\x88\\x6e\\x4f\\xa4\\x2c\\x53\\x8b\\x9e\\x1a\\x7d\\x60\\x3f\\x70\\x82\\x64\\x85\\x24\\xd8\\x9e\\x8f\\x2e\\x07\\x02\\x73\\x8b\\xb8\\xd3\\x0d\\xc6\\xb6\\xab\\x67\\x5d\\xb1\\xfd\\xa9\\xcd\\x8b\\x67\\xe8\\x9e\\x2c\\xf9\\x53\\x7f\\xcd\\xed\\x13\\x47\\xcf\\x4d\\x9d\\xd6\\x9a\\xc5\\x9d\\x37\\x6e\\x5d\\x33\\x7d\\x41\\x5b\\xb0\\x2e\\xb1\\x6c\\xfe\\xaa\\xed\\xc9\\x28\\x57\\xfc\\xcc\\x81\\x9f\\xaa\\xb6\\x56\\xc9\\xf5\\x91\\x0a\\x5a\\x1b\\x37\\xfd\\x0d\\xe3\\xe7\\xd6\\x21\\x3f\\x89\\x75\\x71\\xd9\\xbd\\x5e\\x9b\\x09\\x6e\\x19\\x89\\xb5\\xd9\\x02\\xc1\\xac\\x2b\\xa5\\x60\\xa3\\x05\\x76\\x6c\\x70\\x8c\\x07\\x31\\xb8\\x25\\xb3\\x15\\x4f\\x48\\xe6\\xfc\\xac\\x9b\\x00\\xe0\\x8e\\xc4\\x44\\x48\\x1c\\x01\\xbd\\x17\\x48\\x49\\x9d\\xa1\\xdb\\x46\\x0e\\xa8\\x4d\\xd4\\xc0\\xb1\\xfe\\xce\\x58\\x0d\\xa9\\xa3\\xa3\\xf0\\x34\\x5a\\x17\\xf7\\x4f\\x2d\\x4b\\x24\\xe9\\xfd\\xa7\\x53\\xba\\xb5\\xd8\\xe3\\x0e\\xb9\\xd4\\x62\\xb3\\x19\\x9d\\x1e\\x07\\x5c\\x16\\x40\\xfc\\xfd\\x01\\x8b\\xc7\\xe9\\x01\\xba\\x29\\xdb\\x9c\\xd2\\x71\\x5c\\x4d\\x41\\x4d\\xa5\\xac\\xea\\xf2\\xb8\\xfb\\x3a\\x57\\x47\\x09\\x9b\\xf2\\x2f\\xea\\xec\\xf4\\xee\\xb0\\xbc\\x99\\xbb\\xa1\\xcf\\xa0\\xb3\\x3b\\xb6\\xaa\\x5b\\x95\\x1b\\x5c\\xe9\\xbf\\x71\\x1d\\xd4\\x76\\x19\\x45\\xe7\\xca\\xad\\x9e\\x88\\xdb\\x1d\\x0c\\x92\\x18\\x3b\\x93\\x37\\x2c\\x8a\\x3e\\x1f\\x03\\x94\\xc1\\x6f\\xf2\\xc7\\xca\\x7c\\x52\\x84\\xb1\\xda\\x40\\x24\\x0f\\x78\\x6c\\x36\\xc1\\xa5\\xea\\x27\\xc4\\x62\\x7d\\xf1\\x94\\x94\\xde\\xad\\x5d\\x5c\\x05\\x1e\\xc5\\xf9\\xc1\\x1b\\x59\\x42\\x9f\\x57\\xc2\\x3b\\x2f\\x7a\\x03\\xab\\xfa\\xcb\\x4c\\xfd\\x98\\xe6\\x8c\\xae\\x39\\x0c\\x5c\\x1a\\x56\\xeb\\x95\\x85\\x05\\xae\\xc3\\x31\\x7b\\x58\\xb6\\x7c\\x8c\\xc1\\x3f\\xd7\\x31\\xb7\\x85\\x68\\x63\\xc6\\xe1\\x93\\xc6\\x62\\x43\\x77\\xff\\x39\\xc4\\xe0\\x61\\x51\\xf6\\x96\\x30\\xce\\xc5\\xca\\x2e\\xb5\\x7c\\x8c\\x6d\\xfc\\x8d\\x8b\\xf1\\x48\\x6f\\xbb\\xb2\\x18\\x6f\\x57\\x16\\x2b\\x87\\xe6\\x6f\\x9e\\x3e\\xe5\\x31\\xba\\x27\\xa5\\xe9\\x6f\\xb8\\x53\\xa8\\xcf\\xe6\\x1a\\x79\\xb4\\xc3\\x2c\\x09\\xd6\\x58\\x30\\x50\\xe4\\xb3\\x06\\xd8\\x38\\x1b\\xaf\\xac\\x0a\\x99\\x03\\x66\\xcc\\x9a\\x2d\\x11\\x9d\\xa4\\x0b\\xe9\\xde\\xd0\\xb1\\x0e\\x5e\\x67\\x09\\x58\\x05\\xeb\\xc4\\x54\\x0c\\x09\\x56\\x61\\x8b\\x70\\x9b\\xc0\\x99\\x58\\x21\\x68\\x91\\x90\\x3b\\xcf\\xda\\x74\\x08\\xc4\\xc4\\x84\\x7a\\xcd\\x11\\x27\\x05\\xf2\\x32\\xc7\\x56\\xa8\\x6b\\x54\\x95\\x35\\x9a\\x29\\x90\\x18\\x70\\x33\\x05\\x90\\xf2\\x92\\xa1\\x38\\x32\\x45\\x03\\x44\\x52\\x70\\x10\\x7f\\xf2\\xf9\\xfb\\x87\\x0f\\x5b\\x3c\\xe3\\xc6\\xb4\\x37\\x8f\\x6f\\xc5\\x8f\\x4e\\xe8\\x5d\\xb9\\x60\\xd6\\xba\\x2b\\x57\\x97\\xe2\\x47\\x4b\\xc6\\xfb\\x46\\x0f\\x9d\\xe8\\x01\\x16\\x4d\\xf9\\xdc\\x79\\xd7\\x5d\\xbb\\x5f\\x2d\\x1a\\xce\\xe8\\x66\\x60\\x41\\xf9\\xbd\\xf4\\xec\\xc6\\x45\\xcb\\xf6\\x3d\\xba\\x71\\x38\\x6e\\x52\\x7e\\x9e\\xa1\\x63\\x86\\x37\\xff\\xfd\\xbd\\xaf\\x54\\x7e\\x6c\\x01\\xc8\\xd2\\x07\\x81\\x76\\x95\\x02\\x8f\\x1d\\xd6\\x9b\\x4c\\x82\\xdd\\xc7\\x96\\xb0\\x25\\x91\\xa8\\xcf\\x57\\x54\\xe4\\x22\\x69\\x73\\x74\\x02\\xad\\x77\\x20\\xe5\\xe2\\xde\\xf3\\xdd\\x11\\x34\\x71\\x49\\x55\\x27\\xf2\\x79\\x46\\x27\\x35\\xb7\\x89\\x2d\\x43\\xd3\\x32\\xb9\\xc4\\xf1\\xc3\\x77\\xdc\\xa7\\xeb\\x99\\x69\\xc2\\xcb\\xce\\xe2\\xbb\\x5a\\x77\\x3e\\x55\\x51\\x1b\\x0c\\x36\\x8e\\x0f\\x0f\\x1d\\x19\\x5b\\x7e\\x9a\\xf2\\xb5\\xf3\\xe6\\xeb\\x82\\xa3\\xf0\\x87\\xde\\xf6\\xfe\\x15\\x81\\xa2\\xb6\\x11\\xb8\\x12\\xb3\\xcb\\x4e\\xb1\\xf5\\x3e\\xe7\\xd2\\x5f\\xbd\\x5d\\x79\\x5a\\xd9\\xa4\\xfa\\x57\\x7c\\x0a\\x7c\\xd5\\xe9\\xec\\xf3\\xc0\\x57\\x35\\xca\\x3e\\x2b\\x30\\x07\\x26\\xc2\\x4d\\xb9\\x78\\x93\\xc9\\x89\\x25\\x2b\\x02\\xa1\\x0f\\x21\\x83\\x2b\\x9b\\xb9\\x3d\\x3f\\x7f\\x13\\xe5\\xef\\xc2\\x46\\xd5\\xf3\\x05\\x68\\x14\\xd1\\x9d\\xe0\\x24\\xb0\\x48\\x4c\\xd3\\x8d\\xaf\\x95\\x94\\x96\\x27\\x4c\\x5f\\xfb\\xa7\\xe1\\x7d\\x17\\x1c\\x6e\\x35\\x32\\x9b\\x94\\x97\\x12\\xa7\\x96\\x94\\xd5\\x18\\x47\\x79\\xca\\x67\\x5f\\xc2\\xdc\\x7d\\xec\\x26\\xaa\\xd4\\xc7\\xe9\\x2f\\x10\\xe2\\xdb\\xd8\\xe7\\xe0\\x0c\\x4f\\x97\\x2b\\x8d\\x06\\xa0\\x0b\\xc0\\xef\\xc3\\x29\\x71\\xb3\\xa2\\x5d\\x92\\xfc\\x40\\x2d\\x45\\xbf\\xc3\\xed\\x36\\x98\\x5c\\x2e\\xde\\x6c\\xb0\\xd2\\xe2\\x99\\x76\\x3e\\x37\\x21\\x1a\\xa9\\x46\\xfe\\xcf\\x4d\\xcc\\xd3\\x92\\xa7\\x26\\x69\\x76\\x86\\x70\\x76\\x6a\\x74\\x76\\x80\\xfa\\x11\\x32\\xe9\\xdb\\xe4\\xa8\\xe9\\xc7\\xd0\\x68\\x7c\\xdd\\x9a\\x45\\xb8\\xfc\\xb2\\x07\\x27\\x1b\\x95\\x37\\x2f\\x56\\x5e\\xeb\\x5b\\x79\\xb7\\x33\\x7a\\x77\\xa7\\xc3\\x38\\xca\\xdb\\x92\\x5a\\xc5\\xdc\\xdd\\xff\\x15\\xe3\\x3f\\x76\\x33\\xf0\\x6e\\xd7\\xf5\\x1f\\x66\\x86\\x28\\xef\\xc4\\xce\\xcb\\xc2\\x8d\\x1b\\xc5\\x2f\\x04\\xfa\\xdf\\x25\\x47\\x3c\\x76\\x3b\\xdc\\xf3\\x06\\x83\\xdb\\xe1\\x28\\x8d\\x04\\x10\\x2a\\xa5\\x5a\\x55\\xb7\\xdd\\x23\\x96\\x50\\x17\\x49\\xb1\\x04\\x26\\x9c\\x29\\x0a\\x91\\x54\\xd3\\xf5\\xe7\\x91\\x7a\\x95\\xce\\xc7\\x61\\x8a\\xf9\\x65\\x6b\\x54\\xf7\\xf8\\x3c\\xf0\\x86\\xa6\\xe0\\x27\\x06\\xf8\\x15\\xbf\\xd3\\x6a\\x54\\xde\\xda\\xbe\\xcf\\x5f\\x46\\x81\\xdd\\x96\\xda\\xc0\\x1c\\xce\\xf9\\x12\\x1f\\xbb\\x1f\\xa6\\xbd\\x56\\x79\\xbb\\x7a\\x49\\x88\\x02\\x9e\\xce\\x9b\\xe4\\x7d\\xbb\\x95\\xf2\\x9d\\x29\\xb9\\xda\\x4c\\x32\\x6e\\x08\\x3c\\x2f\\x5a\\x1c\\x0e\\xb7\\x49\\x14\\x5d\\x6e\\xa7\\x60\\x36\\xb3\\x7a\\x87\\xc5\\x42\\x4a\\x05\\x81\\xb8\\xa3\\x97\\x78\\x94\\x35\\x6b\\xe5\\xc4\\xfc\\xbc\\xd9\\xe7\\x5c\\x2a\\xb2\\x72\\x4f\\x41\\xb9\\xa0\\x80\\x66\\xb9\\xc6\\x7f\\xbc\\xc8\\xd8\\xff\\xb3\\xf1\\x82\\x86\\x1d\\x8b\\x8c\\xf8\\x8f\\xc6\\xc9\\x4b\\xff\\xd2\\x6d\\xc4\\x31\\xe3\\x6c\\xe5\\xf5\\x99\\x54\\x6a\\x77\\xe2\\x2f\\x3d\\xed\\xed\\x1e\\xe5\\x6e\\x3c\\x8b\\xbe\\x16\\x67\\x62\\x44\\x3b\\xd9\\x14\\xcc\\x37\\x02\\xf8\\x51\\xe5\\x0e\\x87\\x71\\xd0\\xc1\\x1a\\x8d\\xd1\\x98\\x59\\x8f\\x71\\x34\\xa0\\x7a\\xf7\\x04\\x4d\\x9c\\x81\\x03\\x76\\x58\\x6f\\x90\\x18\\x33\\x36\\x4f\\x4c\\x39\\x0a\\x99\\x99\\x81\\xb1\\xa2\\xaa\\x2c\\xab\\xb2\\xf8\\x15\\x05\\x15\\x38\\x32\\xe1\\xd8\\x85\\xcc\\x02\\x5e\\xa9\\xcc\\x18\\x90\\xf9\\x46\\xad\\x40\\x73\\x8a\\x35\\xef\\x5e\\xc8\\x4b\\x80\\x43\\xea\\xd0\\xac\\x1b\\xdb\\x91\\xbd\\x1c\\x80\\xdf\\x3f\\x94\\xbe\\x80\\x75\\x68\\xf7\\xc1\\x7c\\xb9\\xa1\\xd8\\xed\\xe6\\x74\\x3a\\x7d\\x29\\x42\\x46\\x87\\x23\\x56\\xe6\\xb2\\xe9\\xf5\\x31\\x5f\\x70\\x22\\x88\\x2e\\x7a\\xbb\\xd3\\x64\\x07\\xd0\\x03\\xcb\\x26\\x15\\x1b\\x5c\\x7a\\x17\\x08\\xbe\\x1c\\xe1\\xf4\\xd5\\x28\\xb5\\x64\\x41\\x9d\\x91\\xaa\\xc2\\xfc\\x42\\xf6\\x9c\\xfd\\x5a\\xa8\\xc2\\x82\\x18\\x69\\x2e\\xcc\\xe5\\x43\\x09\\x87\\x58\\x2a\\xaa\\xec\\x32\\xcb\\xac\\x9e\\x7b\\x38\\x56\\x3a\\xb7\\x53\\x39\\x38\\x60\\x75\\x15\\xe3\\x6f\\x9d\\xdf\\x36\\xee\\x81\\xbe\\x05\\xdb\\x1b\\x5b\\xa3\\x6f\\xcc\\x5d\\x25\\x77\\x5c\\x96\\xb7\\xba\\x0d\\x57\\xf7\\x08\\x7b\\x87\\x24\\x23\\x95\\x64\\x7f\\x48\\xde\\xde\\xed\\xb0\\xae\\x62\\x34\\x43\\xae\\xd2\\x07\\x02\\x1e\\x1f\\x20\\x90\\xe4\\xf1\\x84\\x4a\\x5c\\x2c\\x1b\\xb2\\xf8\\x7c\\x66\\xb2\\x28\\xe4\\xf6\\x5a\\xdd\\x40\\xe3\\x5d\\x2e\\xb7\\x44\\x8c\\x48\\x83\\x94\\x4c\\xc9\\xee\\x4f\\x96\\xba\\x68\\xee\\xba\\x83\\xd9\\x8d\\x32\\xa5\\x76\\x04\\xee\\xd9\\x41\\xec\\x45\\xdd\\x09\\x56\\x38\\x91\\x99\\x88\\x54\\x46\\xc9\\x9a\\x87\\x60\\x5f\\xbe\\xd4\\xe6\\x6f\\x40\\xf5\\x24\\xf3\\x86\\xd9\\x6e\\xac\\x2d\\x2d\\xf5\\x54\\xb3\\xc5\\xc5\\x80\\x65\\xd5\\xd5\\x0d\\x89\\x4a\\x9d\\xc7\\xd3\\x50\\x13\\xab\\x8a\\x4d\\x4c\\xf9\\xf9\\x29\\xa9\\x48\\x6d\\x6d\\xe9\\xc4\\x54\\x90\\x35\\xdb\\x39\\x7f\\xad\\xbf\\xd6\\x59\\x55\\x59\\x59\\x25\\x39\\xd1\\xd4\\x94\\x93\\xb0\\x76\\x6d\\xda\\xaa\\x6c\\xb4\\xd6\\x01\\xe1\\xe9\\x32\\x9e\\x65\\x05\\xfb\\xa4\\x2d\\x92\\xe6\\xf0\\x72\\x00\\xcf\\xac\\x71\\x6f\\xd8\\xa9\\xb2\\x77\\x42\\x96\\xbb\\x1b\\x6c\\xd1\\xaf\\x4f\\x5a\\x53\\xd1\\x31\\x3b\\x75\\xda\\x08\\xe6\\xf2\\xf5\\xc0\\xe0\\xe9\\x4c\\x1b\\x1f\\x53\\xf9\\x3b\\xdb\\x19\\x67\\x1d\\x0f\\x02\\xe5\\xf5\\xf6\\x89\\xd5\\x72\\x7d\\x69\\x25\\xbe\\xe1\\xe9\\x3b\\xa7\\x2d\\xa8\\xaf\\x9a\\x4f\\xf9\\xbc\\x31\\x15\\xeb\\x2e\\x2a\\x04\\x08\\xa9\\xdb\\x03\\xb4\\x61\\x1f\\x4f\\xea\\xf6\\x74\\xcb\\x11\\x58\\x76\\xb1\\x3f\\x10\\xb0\\x72\\x2c\\x5b\\x54\\xec\\xe7\\x38\\xec\\xb4\\x5a\\x9d\\x4e\\xe3\\xa4\\x94\\x13\\x07\\x58\\x0c\\x1c\\x38\\x3e\\x51\\xd0\\x70\\x2e\\x69\\x0b\\x39\\x5e\\x03\\x43\\x9a\\x33\\x4e\\xa2\\x22\\xeb\\x61\\x96\\x92\\xe4\\x75\\x33\\x57\\x6c\\xbe\\x71\\xc2\\xd8\\x96\\x53\\xab\\xc7\\xa4\\xea\\x26\\x1e\\x9a\\xfa\\xcc\\xab\\x1f\\x3c\\x35\\xe9\\xde\\x71\\x7e\\x86\\x35\\xdb\\xbe\\x78\\x75\\xe3\\xb5\\x35\\xc5\\xb7\\x63\\x43\\x71\\xe5\\x93\\x8f\\x1e\\x52\\x3e\\x68\\x52\\x64\\x3f\\xdc\\xb3\\xc0\\xfd\\xb1\\x87\\x61\\x9e\\x01\\x90\\x6d\\xa2\\x40\\x6e\\xdd\\x2e\\x17\\xab\\xd7\\x93\\x00\\xec\\x60\\x11\\x72\\xb9\\x04\\x9f\\x3b\\xe0\\x0b\\x4c\\x4a\\xf9\\x5c\\x82\\x85\\xf8\\xa7\\x93\\x22\\xa1\\x39\\xe9\\x52\\x0d\\xf3\\xcc\\xa5\\x68\\xc8\\xaa\\x46\\x88\\xec\\x88\\x72\\x8e\\xe1\\x02\\xf1\\x1e\\xf2\\xa8\\xe2\\x3f\\x96\\x97\\x9d\\x85\\x75\\xff\\x9a\\xf1\\xe5\\xf0\\xba\\x94\\x61\\xd6\\x69\\x67\\x5f\\x31\\xee\\x0e\\xfd\\x4c\\x35\\xf5\\x1e\\x13\\x8d\\x3e\\x75\\x0d\\x66\\x70\\xa0\\xd6\\xaf\\xfc\\xe7\\xf6\\xf1\\xe9\\xf7\\x56\\x5e\\xe8\\xc3\\xfd\\xfd\\x24\\xe9\\x1e\\xa5\\x5f\\x87\\xd2\\x9f\\xb1\\x73\\xa8\\xbd\\x1d\\x78\\x54\\xb7\\x0b\\x66\\xeb\\x72\\xe9\\x49\\xa8\\xb8\\x3e\\x18\\x70\\x93\\x30\\x3f\\x32\\x61\\x2f\\x12\\xa8\\x30\\x26\\x64\\xe5\\xe0\\x4c\\x5e\\x05\\x4d\\xf3\\x96\\x57\\x3c\\x88\\x08\\xef\\x28\\xe7\\x4b\\x6f\\xa7\\xd1\\x27\\x5a\\x52\\x85\\xc9\\xcb\\xce\\x52\\xfe\\x7b\\xdc\\x34\\x49\\xa6\\x64\\x76\\x09\\x4c\\x53\\x51\\x94\\x2f\\x6b\\xfd\\xd8\\x70\\xfb\\x78\\xa4\\xce\\x93\\x61\\xb3\\xf3\\xfc\\x5a\\xe9\\x60\\xf7\\x00\\xef\\x12\\x40\\x95\\xb2\\xcb\\x67\\x30\\x04\\x8b\\xec\\x0c\\x13\\x14\\xcd\\x93\\x53\\xa2\\x15\\xb9\\xf2\\xeb\\x33\\x65\\xcf\\x28\\x4c\\x06\\xa8\\xa3\\x1f\\xd3\\x4a\\xe2\\x22\\x01\\x99\\x41\\xe3\\xb4\\x88\\x03\\x24\\x3e\\x5b\\x39\\x73\\xf5\\xb3\\x3f\\x6e\\x9d\\x78\\x63\\x7d\\xe5\\xa2\\xbe\\x19\\xb7\\x6c\\x98\\x71\\x41\\x5f\\x62\\xfe\\xf8\\xa2\\xd6\\x17\\x94\\x0e\\xbc\\xec\\x29\\x7c\\x07\\x8e\\x5f\\x57\\x11\\x99\\x1e\\xbb\\x4a\\xf9\\x5a\\xd9\\x78\\xee\\xca\\xf5\\xd6\\x40\\x67\\x55\\xb3\\x9a\\x97\\x50\\xab\\xef\\x8e\\x8c\\xc0\\x15\\x54\\xa0\\x61\\x72\\xd0\\x81\\x04\\xa1\\xd8\\x54\\x56\\x5c\\x56\\x59\\x05\\x1b\\x5d\\xea\\x2f\\x85\\x4b\\xb5\\x94\\xf3\\xbb\\x49\\x41\\xed\\x42\\x77\\x8b\\x2c\\x3b\\xac\\x56\\xce\\x76\\x66\\x8f\\x92\\xbb\\xb9\\xa0\\x60\\x3b\\xce\\x95\\x75\\xa7\\xc1\\x09\\xec\\xc6\\xd4\\x28\\xd5\\x8f\\xe2\\xaf\\xb9\\x5a\\xed\\x4a\\x28\\x53\\xce\\xfd\\x1e\\x8c\\x37\\xbd\\xaa\\xdc\\xc9\\xdc\\x21\\xcf\\xa4\\x4e\\x18\\x8b\\xf3\\xaa\\xb4\\xf7\\xf7\\x6a\\x85\\xdc\\xe1\\x85\\x94\\x75\\xa7\\x6b\\x48\\xbf\\x05\\xbf\\xee\\xa2\\xfa\\xaa\\x00\\xdc\\x5d\\xa7\\xca\\xc9\\xa0\\x27\\x12\\x31\\xe9\\xbd\\x5e\\x96\\x71\\x4a\\x52\\x09\\xa3\\xd7\\x47\\x63\\xa6\\xa0\\x27\\xe8\\x99\\x98\\x32\\x05\\x83\\xaa\\x67\\x2e\\xe2\\x23\\x2c\\x0f\\x1c\\x3f\\x2f\\x65\\x83\\xf2\\xf3\\x91\\xb6\\x37\\x13\\xbb\\x4e\\x70\\xb7\\xa5\\x30\\x3a\\x39\\x9b\\x41\\x5b\\xf3\\xc9\\xa4\\x11\\x3b\\x11\\x92\\x05\\x8a\\xa8\\x75\\x58\\x4a\\x3e\\xab\\x70\\x9d\\x69\\x01\\xd1\\xe9\\x5c\\xf7\\xd7\\xe7\\x37\\x5c\\x83\\xfb\\x97\\x7f\\xf3\\x2c\\xb6\\xed\\x9e\\xda\\x9a\\x5c\\x77\\xcd\\x0f\\x6d\\x73\\xfb\\xae\\x6f\\x24\\x66\\x21\\x6f\\xfb\\xbc\\x85\\xa7\\x5e\\xe8\\xd3\\xb9\\xee\\x5b\\x05\\x04\\x62\\xc8\\x06\\xe5\\xce\\xd5\\x78\\xcc\\x69\\xf3\\x2f\\x50\\x6d\\x43\\xff\\x64\\x67\\xb2\\x87\\xa8\\x5f\\x69\\xa7\\x5c\\x5e\\x22\\x51\\xbf\\x52\\xb6\\xa2\\x42\\x0a\\xb2\\x35\\xb5\\xb6\\x50\\x9b\\x65\\x92\\x65\\xad\\x65\\xb3\\x65\\xa7\\x85\\xb7\\x58\\x7c\\xdd\\x02\\x16\\xca\\xac\\xc8\\x47\\x75\\xe8\\xc9\\x39\\xc4\\xb9\\xb4\\x25\\x97\\x4f\\x27\\x99\\x29\\x62\\xab\\xea\\x04\\xa9\\xaa\\x86\\xdc\\xb8\\x34\\x99\\x0e\\xf9\\xa0\\x71\\xf1\\xd4\\xf5\\x42\\x73\\x2b\\xc7\\x67\\x11\\xe7\\xd2\\xd5\\x57\\x2f\\x4c\\x9d\\x26\\x17\\x3a\\x97\\x8e\\x9e\\xa3\\x3a\\x97\\x7e\\x48\\x7c\\x4b\\x47\\x24\\x35\\xdf\\x52\\x7e\\xc8\\xf1\\xbe\\xa5\\xca\\x7b\\x3b\\x33\\x3e\\x88\\x7c\\x03\\xf7\\x57\\x54\\x4b\\x6a\\x26\\x96\\xb0\\x65\\xf1\\x78\\xb5\\xa5\\xde\\x5d\\x53\\xcd\\x56\\xd7\\xd5\\x9b\\x9c\\xc0\\xf9\\x98\\xaa\\xe3\\x15\\xf1\\x89\\xa9\\x8a\\x0a\\xe0\\x40\\x83\\x93\\x52\\x5e\\x38\\x06\\xd1\\xfc\\x30\\x9d\\x9c\\x2b\\x62\\x5e\\xd4\\x78\\x32\\x17\\x8e\\x9b\\xf5\\x48\\xf4\\x64\\x14\\x26\\x44\\x25\\x25\\xb2\\xff\\x7f\\x9c\\x13\\x2f\\x3e\\x29\\x7c\\xff\\x86\\x8b\\xc7\\x57\\xb5\\xf3\\x52\\x7b\\xe5\\x35\\xe1\\xa1\\xdd\\xe6\\x5f\\x70\\x53\\xf4\\x6c\\xba\\xb5\\xf8\\xdf\\x57\\x7b\\xfc\\x07\\x95\\x97\\x06\\x71\\x56\\xa4\\xe7\\xfa\\xcf\\xc0\\xa7\\x3e\\x46\\xf9\\x8e\\x55\\xf2\\x70\\x0b\\x36\\x9b\\x19\\x46\\x27\\x4a\\x08\\x08\\xbb\\xd5\\xed\\x12\\x5d\\xc1\\x22\\x0b\\x06\\x11\\xde\\x12\\xb4\\x00\\x06\\x5a\\x2c\\xbc\\xc1\\x65\\xb5\\x9a\\x75\\xc4\\xaa\\x6a\\x37\\x48\\x01\\xb7\\x5b\\x64\\x78\\x06\\x2e\\x70\\x3e\\xc3\\x4f\\xa9\\x0e\\x5c\\x39\\x16\\x30\\x83\\x95\\x03\\x5d\\xe8\\xb4\\xec\\x2f\\x39\\xed\\x69\\x5e\\x16\\x01\\xfa\\x8c\\xf9\\x97\\x72\\xeb\\x88\\x59\\x46\\xa5\\x49\\x35\\x51\\xbe\\x66\\x5c\\xd0\\x82\\x4f\\x6d\\x51\\xdf\\xc1\\x03\\xa5\\xd1\\xb8\\x00\\x3f\\xac\\x3c\\xac\\xda\\x2a\\xe9\\x8a\\x7e\\x47\\x04\\xce\\x76\\x6f\\xbf\\x8e\\xfc\\x26\\x67\\x4c\\xb9\\x44\\xe9\\xa4\\x31\\xd5\\xa4\\x6e\\x53\\x1c\\xcd\\x96\\xeb\\x83\\xa5\\xa5\\xac\\xc8\\x71\\xac\\xcb\\x66\\x23\\x8e\\x5a\\xe5\\x15\\xc0\\x8c\\x94\\x87\\x62\\xd3\\x52\\x21\\x24\\xba\\xad\\xee\\xc9\\x29\\xce\\xea\\x32\\xd8\\xa7\\xa6\\x0c\\xc1\\xac\\x9f\\x30\\xf2\\xe6\\xbc\\x00\\x0a\\xa8\\x5b\\xfe\\xff\\x5a\\x39\\xad\\x4c\\x01\\x0a\\xc0\\xc8\\xe1\\x98\\x05\\x32\\xa7\\x5d\\xdb\\x79\\x6e\\x5b\\xef\\x90\\x38\\xea\\xbb\\x56\\xbb\\xce\\xa9\\xfd\\xc7\\x03\\xe7\\x5e\\xfc\\xc8\\xc6\\xcd\\x1f\\x4f\\x5c\\xe2\\xd8\\xdc\\x31\\x35\\x89\\xdf\\xca\\x78\\x6f\\xb1\\xdd\\xa5\\xed\\xc7\\x7a\\xce\\xdf\\x71\\xd7\\x69\\xa7\\xac\\xbe\\x4a\\x79\\x65\\xee\\xbc\\xb6\\x86\\x68\\xa5\\x50\\x9d\\xf5\\xe2\\xc2\\xe9\\x1f\\x94\\x09\\xec\\xcb\\xec\\x83\\x40\\x3b\\x7a\\xe4\\x6a\\xa3\\x4e\\x87\\x05\\x44\\x44\\x22\\x51\\xb4\\x08\\x16\\xab\\x24\\x48\\x4e\\xd5\\x4b\\x30\\x60\\x36\\x21\\x58\\xad\\xc5\\x20\\x09\\x98\\xc3\\x13\\x53\\x5c\\x8e\\x47\\x07\\x19\\xa8\\xad\\xaa\\x20\\x16\\x37\\x61\\xcb\\x1a\\x01\\xf4\\x98\\xec\\x00\\x43\\x0b\\x65\\x6a\\x46\\x24\\xa6\\x57\\xb9\\x7d\\x86\\x51\\xb9\\xcf\\x38\\xfb\\x87\\x8f\\x26\\x1b\\xf1\\xb0\\x7b\\x96\\x8f\\xc1\\xe6\\x2f\\x66\\x9b\\x94\\xeb\\xf1\\xa3\\xca\\x7d\\xc0\\x8f\\xbb\\x3f\\x61\\xfc\\x20\\xee\\x0f\\xef\\xc4\\x6b\\x7f\\x3e\\xaa\\xfa\\x63\\x51\\xdc\\x62\\x47\\x02\\x6e\\x49\\xc4\\x36\\x20\\x81\\x9c\\xa8\\xd7\\xf3\\x56\\x9b\\x64\\x30\\x19\\x80\\xa8\\x49\\x20\\x56\\x88\\x00\\xe5\\x6c\\xd6\\xc9\\xba\\xb6\\xc2\\x58\\x0b\\x38\\xfc\\x9a\\x19\\x37\\x83\\x21\\x78\\xea\\xf2\\xad\\x27\\x9d\\x3c\\x7e\\xc2\\xb1\\xcf\\x0d\\x04\\x07\\xf0\\xdf\\x8d\\xeb\\x16\\x59\\x1e\\x54\\x3e\\xc9\\xa0\\x80\\x16\\x93\\xcd\\x47\\x69\\x5d\\xff\\x6a\\x34\\x53\\xae\\x0f\\x17\\x31\\xe5\\x71\\x0f\\xe7\\x74\\xb2\\xac\\x4d\\x67\\xb5\\x16\\x15\\xd5\\xd4\\xc6\\x3d\\x1e\\xbf\\x3f\\x3a\\x05\\xae\\x06\\x27\\x48\\xaf\\xce\\x00\\x09\\xb2\\xd3\\x03\\x0f\\x50\\x99\\x0b\\xce\\x4e\\x1e\\x97\\xe4\\xab\\x25\\x6b\\xdf\\xf2\\x64\\x02\\xb4\\x9b\\x0b\\x14\\x9d\\xf8\\x04\\xf9\\xbd\\xd4\\x18\\xed\\xd1\\x8b\\xec\\xe1\\x3f\\x3d\\x99\\xd3\\xbd\\x29\\xfd\\xb3\\x8d\\xca\\xf5\\x63\\x1d\\x9e\\xc1\\x82\\xb5\\xc5\\xe5\\xcf\\x3e\\xa9\\x2a\\xdf\\x7e\\x9e\\xe9\\xa1\\x69\\xbc\\x06\\x8d\\xd7\\xc6\\xe9\\xcf\\x35\\x7e\\x2c\\x4a\\xea\\x10\\x9b\\x02\\x81\\xb2\\x50\\x69\\x71\\x71\\x24\\xc2\\x89\\x3a\\x1d\\xac\\x37\\x56\\x56\\xca\\x0b\\xfc\\xe4\\x54\\x48\\x28\\x26\\x36\\x43\\x1d\\xf6\\x3a\\x9d\\x5e\\x2f\\xdc\\x8c\\x5e\\x1c\\x39\\x11\\x83\\x46\\x0b\\x70\\xd9\\xf2\\x75\\x73\\x79\\x8a\\x23\\x8d\\x5f\\x23\\x79\\x4f\\xb2\\x49\\x99\\x0b\\x58\\x36\\x1a\\xe6\\x2c\\x6a\\x6c\\x5b\\xe0\\x53\\xd7\\xa7\\x95\\xc7\\xb3\\x6e\\xa1\\xaf\\x5c\\x5f\\x05\\x80\\x7d\\xbb\\xf9\\xfc\\x6f\\x07\\xe1\\xdf\\x1e\\x3a\\xff\\x66\\xbf\\xaa\\x2b\\xa9\\xd2\\x78\\xb8\\x08\\x5a\\x20\\x27\\xbc\\x01\\x8f\\x27\\x18\\x0c\\x3b\\x78\\x1e\\x03\\x34\\xc3\\xe1\\xa8\\x31\\x16\\x0c\\x87\\xc2\\x93\\x52\\x81\\x08\\x8a\\x4c\\x4e\\x79\\x11\\xe3\\x41\\xf0\\xbf\\x2e\\xe4\\xd2\\x59\\x89\\x5f\\xb8\\x0e\\xe7\\xf8\\xa4\\xbc\\x25\\x15\\x30\\x4c\\xb9\\x52\\xe9\\x84\\xc9\\x4e\\x36\\x0f\\xca\\xde\\xd1\\x42\\x72\\xf4\\x34\\x44\\xe4\\x4f\\x43\\xc7\\x33\\x79\\x95\\x74\\x35\\x66\\x75\\xbd\\xf8\\xdc\\x87\\x06\\xe1\\xf5\\xbe\\x85\\x25\\x01\\x13\\x75\\x33\\xcd\\xe3\\xf7\\x0d\\xff\\x3d\\xd0\\xa3\\x62\\xc0\\xcd\\x24\\xba\\x52\\xee\\x0a\\x89\\x09\\xa7\\xc3\\x53\\x53\\xe3\\x30\\x97\\x59\\x71\\x2c\\x66\\xb5\\x3a\\x6a\\x8b\\x1c\\x22\\x90\\xdd\\x21\\x8d\\xee\\x3a\\x67\\x1d\\x60\\xa7\\xa4\\x7a\\xfe\\x95\\x55\\x18\\x2b\\x60\\x61\\x46\\x6b\\x4d\\x2c\\x86\\x31\\xc7\\x95\\x4e\\x49\\x71\\x6e\\x12\\xba\\xeb\\xc9\\x4b\\xce\\x93\\x2b\\xfd\\x9d\\xa3\\x57\\x68\\x40\\x9a\\xb5\\x64\\x5e\\x7c\\x43\\x36\\xdb\\x40\\x38\\x7e\\x7c\\x1a\\x65\\x36\\x27\\xed\\x16\\x66\\x54\\xe6\\x55\\x61\\x83\\x69\\x16\\x8f\\x4b\\x9f\\x3c\\x83\\xa9\\xcb\\x8a\\xbe\\xe3\\x8e\\xbe\\x50\\x90\\x4b\\xb9\\x11\\xcf\\x22\\x12\\xa4\\xb8\\x65\\x40\\xf2\\x64\\x25\\xa4\\xc9\\xc3\\x2f\\xe2\\x53\\x73\\xa1\\x73\\xf7\\x33\\x7e\\x87\\xd5\\x86\\xd4\\x98\\x48\\xe1\\x62\\x80\\xd9\\x10\\xd4\\x8e\\x6e\\x95\\x7b\\x1a\\x59\\x47\\x59\\x59\\xb5\\xb5\\x86\\xad\\xad\\x95\\x82\\x89\\x84\\x7e\\xc4\\xf0\\xe1\\x26\\x93\\x54\\xea\\x72\\x95\\x4b\\xac\\x8d\\xb5\\x8d\\x1e\\x13\\x77\\x38\\x48\\xad\\x21\\x47\\x83\\xb5\\xa1\\x76\\x62\\xaa\\xc1\\xe5\\x0b\\x4d\\x4e\\xf9\\x82\\xf6\\x72\\x6b\\x39\\x31\\xce\\x6a\\x81\\x93\\x6d\\x24\\x90\\x70\\xf8\\x50\\x34\\x74\\x4a\\x2a\\xa1\\x06\\xfd\\xe4\\xa0\\x85\\x0a\\xb3\\x70\\x0f\\x08\\x28\\x28\\x00\\x61\\x42\\x73\\x5c\\x48\\x0c\\x8c\\x34\\xcc\\x81\\x90\\xca\\xa0\\x91\\x13\\xb9\\x36\\x9e\\x38\\x00\\x31\\x0b\\xd1\\x03\\x19\\x41\\xf5\\xf9\\xe3\\x05\\xd9\\x21\\x4b\\x7e\\x29\\x32\\x31\\x03\\xdf\\xac\\x3c\\x5b\\x20\\xe8\\x5e\\xd1\\xff\\xc8\\x20\\x01\\x8b\\x1c\\xe0\\xe8\\x05\\x14\\x47\\xcb\\x00\\xe2\\xc3\\xd0\\x68\\x74\\xbb\\xdc\\x13\\x67\\x8b\\x5b\\x5b\\x4b\\x9d\\x4e\\x87\\xdf\\xd1\\x62\\x1d\\x36\\x4c\\xd2\\xd7\\x9a\\xa2\\x35\\x35\\x00\\xf6\\x51\\x7e\\x7f\\x23\\x05\\xfb\\x98\\x8e\\x56\\x47\\xc4\\x31\\x31\\x15\\x2e\\x8e\\xb8\\x3c\\xc3\\x27\\xa6\\x3c\\xf6\\x26\\x6b\\x53\\x0e\\xde\\x7a\\x49\\x6c\\x20\\x10\\x1f\\x56\\x53\\x53\\x89\\x2a\\xa7\\xa4\\xa2\\x59\\x98\\xe7\\xf2\\x7c\\xe4\\xaa\\xef\\x10\\xfa\\xfb\\xd2\\x60\\x10\\xcf\\xe9\\xaf\\x13\\xb6\\x3c\\x6d\\xd2\\x60\\x60\\x4f\\x66\\xd2\\xa1\\x6b\\x5a\\x8e\\xe3\\x01\\x4d\\xcd\\x25\\x7c\\x46\\xd5\\x71\\x3c\\xdc\\x09\\x26\\x57\\x4c\\xbb\\x69\\x6e\\xdb\\xb8\\x8c\\x12\\x64\\xea\\x40\\x40\\xb3\\x5b\\x3a\\x87\\x9d\\xee\\x4a\\xe1\\xcf\\x55\\x3d\\xc8\\x40\\xb8\\x03\\x5e\\x6f\\xb9\\xb8\\xa7\\x83\\x6a\\x47\\x06\\x00\\x1a\\xaf\\x72\\x5a\\x14\\x5d\\xa5\\xaa\\x24\\xc1\\x68\\x24\\x00\\xfe\\x37\\xdc\\x3a\\x34\\x14\\x2d\\x92\\x9b\\xea\\x12\\x89\\xc6\\xc6\\xea\\x8a\\x0a\\x8f\\x41\\x62\\x0d\\x65\\xa1\\xb2\\x50\\xcb\\xb0\\x8a\\x44\\x5d\\x62\\x52\\xaa\\x46\\xae\\xae\\x93\\x3c\\xac\\x39\\x12\\x19\\x4a\\xbc\\xf6\\xcc\\xae\\x89\\xa9\\x6e\\x2b\\x6e\\x21\\x81\\x5a\\x66\\x1a\\xca\\x3c\\x67\\x4e\\x9e\\xef\\x72\\xbe\\x15\\x23\\x03\\xc4\\x04\\xfd\\x47\\x6f\\xd6\\x84\\x9a\\x95\\x40\\xe3\\x9e\\x33\\xdc\\x27\\xa5\\x79\\x6a\\x6d\\xcd\\xb0\\xea\\xea\\x96\\xb3\\x71\\x10\\xc1\\x88\\xf9\\xf8\\x94\\x59\\xde\\x9a\\x89\\x0b\\x27\\xdd\\xbf\\x6b\\xf9\\x95\\x55\\xed\\x66\\x7b\\x67\\xcd\\x39\\xfe\\xfa\\x31\\x53\\xba\\x63\\xaf\\xbd\\xa6\\xf4\\xac\\x58\\x63\\x3f\\x25\\x97\\x4e\\xd5\\x39\\xac\\x66\\x4e\\xf7\\x88\\x50\\x43\\xe5\\x90\\x51\\x1b\\xa7\\x6e\\xb9\\x96\\xda\\x45\\x2f\\x28\\xaa\\xab\\xae\\x4a\\x4e\\x9c\\x3f\\x72\\xfb\\x56\\x62\\xb1\\xc1\\x5f\\xab\\xf9\\x55\\x3d\\xe7\\x06\\x6b\\x47\\xc0\\x59\\x1f\\xa9\\x4c\\xe0\\xde\\x87\\xbb\\x3b\\x04\\x52\\xdd\\x0a\\xb9\\xc5\\x12\\x35\\x9b\\xe3\\x71\\xde\\x48\\x9c\\xc4\\x22\\xa5\\x88\\x0b\\x85\\xac\\xd6\\x62\\x57\\x51\\x11\\xcf\\x57\\x56\\x85\\x02\\x34\\x82\\xc0\\x81\\x75\\x51\\x4b\\x94\\x24\\x8c\\x35\\x5a\\xa4\\xd2\\x12\\xa6\\x04\\x04\\x51\\xc6\\x9d\\xd3\\xed\\xa9\\x30\\xc8\\x8b\\xf1\\x2f\\xb8\\xc6\\xf3\\x2e\\x80\\x58\\xc6\\xb7\\x4f\\x5d\\xf0\\x80\\xbb\\x3d\\xec\\x48\\xc0\\x5f\\x28\\x0c\\xf0\\x3b\\xb3\\xa6\\xe5\\x6c\\x50\\x0f\\xba\\x0b\\x2c\\x99\\xca\\x0f\\xca\\x0f\\xb1\\x40\\xf8\\xe2\\x07\\x66\\x59\\x1b\\xa5\\x08\\x5d\\xe2\\x51\\xb2\\xc4\\x8b\\x33\\xd6\\xcc\\x9f\\x19\\xa6\\x58\\xcf\\xbc\\xa5\\xb0\\x53\\xcb\\x1a\\xeb\\xa9\\x1d\\x68\\x24\\xdc\\x09\\xe5\\xb0\\xf7\\x06\\x24\\xa3\\x6b\\xe5\\xf1\\x2d\\x23\\x86\\x0e\\x6d\\x6b\\x6b\\x4a\\x26\\x75\\x25\\x25\\xd6\\x4a\\x8b\\xc5\\xea\\x61\\xad\\xf5\\xb1\\xfa\\xd8\\xa8\\xf6\\xe4\\x88\\x16\\x92\\x47\\x5f\\x28\\x15\\xa6\\xa4\\x4a\\xa4\\xd2\\x50\\x69\\x5d\\x29\\xab\\x67\\x4b\\x4b\\x6b\\x86\\xca\\x4d\\x2d\\x92\\x05\\x19\\x6b\\x8c\\x53\\x52\\x95\\xe5\\x35\\x6e\\x27\\x91\\x46\\xbc\\x4e\\x6b\\x56\\x05\\x9e\\x31\\x05\\x01\\x34\\xf2\\xea\\xee\\x0f\\x7e\\xc2\\x54\\x14\\x51\\x41\\x92\\x0b\\x73\\x8f\\x11\\x1d\\x54\\xfc\\xc4\\x71\\xf1\\xd9\\xf2\\x4b\\xf9\\xe8\\xc2\\xde\\x94\\x09\\x7e\\x57\\x86\\x79\\x3a\\x2c\\x7e\\xe6\\x44\\xb1\\xf2\\xed\\xd7\\x0c\\x1b\\x60\\xd5\\x5b\\xad\\xc5\\xc4\\x1b\\x4b\\x6c\\x63\\x4e\\x1e\\x24\\x70\\xbe\\xb6\\x31\\x07\\xdb\\xc5\\x04\\x98\\x53\\x28\\xcf\\x80\\x94\\x09\\x82\\x1f\\xf0\\xa7\\x19\\x5d\\x2a\\x77\\x98\\x0d\\x16\\x8b\\x3e\\x28\\xea\\x1c\\x81\\x80\\x4e\\xc7\\x16\\x17\\x73\\x5c\\x95\\xc0\\xf3\\xfa\\x64\\x53\\x53\\x19\\x88\\xa5\\x43\\x5b\\x2a\\xea\\x27\\xa5\\xaa\\x2b\\x02\\xf0\\x17\\x92\\x27\\x32\\x55\\x62\\x35\\x88\\x41\\x11\\x30\\x29\\x28\\xd9\\xbc\\x93\\x52\\x4e\\x1b\\xd6\\x07\\x88\\x54\\xd3\\xa6\\x05\\xd9\\xe5\\xe7\\xeb\\xc9\\xd6\\xc1\\x6f\\xc9\\x2a\\x55\\x33\\xc0\\x2b\\x08\\x74\\x50\\x1d\\x69\\x68\\xe2\\x97\\x36\\x26\\x1f\\xa3\\x24\\x1c\\x3e\\x71\\xfc\\x0a\\xf7\\xa8\\xea\\x5b\\xba\\xf5\\xe3\\x8f\\x94\\x1f\\x3e\\xba\\xc3\\x74\\xbf\\x27\\xf6\\xce\\x1e\\x0d\\xc7\\x40\\x04\\x2f\\xc2\\x7f\\xa4\\x86\\x38\\xdb\\xea\\xf0\\x7b\\x7b\\x48\\x92\\x26\\x8f\\x23\\x30\\xe4\\x24\\xd7\\x99\\x6e\\xb6\\x89\\xfa\\x9b\\x8e\\x39\\xaa\\xe3\\xfe\\xdb\\x11\\x3f\\xff\\xa5\\x3d\\xae\\x8f\\x56\\xba\\x96\\xad\\xbd\\x75\\xd7\\x2b\\xa7\\x2f\\x24\\x7e\\xc1\\xcf\\xbd\\x4e\\xac\\xe8\\x1b\\xcf\\xa3\\x01\\x2d\\xaa\\xbf\\x3f\\xa1\\x3b\\x40\\xeb\\xcb\\x49\\xb6\\x81\\x78\\x79\\x79\\x94\\xd2\\x9c\\x48\\x28\\x12\\xaa\\xa8\\x64\\x3d\\x11\\x73\\x59\\x74\\x62\\xaa\\x0c\\x45\\xca\\x09\\xb9\\x09\\xd8\\xb0\\x64\\xc3\\x26\\xde\\x66\\x33\\x13\\xca\\x63\\xce\\x9a\\xd7\\x01\\x9f\\xe6\\xe4\\x05\\x4d\\x14\\xd0\\x9b\\xc4\\xaf\\xa4\\x35\\x94\\x6c\\xff\\x12\\x71\\xe9\\x9f\\x4e\\xdd\\xfb\\xff\\xf9\\x4b\\x14\\x85\\x26\\xe6\\x26\\x79\\x8c\\xe8\\xba\\x3c\\x34\\x3e\\xc7\\x4d\\x6a\\xc1\\x21\\x97\\x24\\xb1\\x56\\xab\\xc9\\x68\\xd3\\x63\\x23\\xf6\\x78\\xd5\\x4b\\xc9\\xca\\x1a\\x59\\x60\\x9e\\x74\\x56\\x1d\\x63\\x60\\x75\\x3a\\xa3\\x8b\\xb1\\x23\\x3b\\x3c\\x90\\x72\\x49\\x2a\\xa8\\xe8\\x8a\\x0a\\xfd\\x9e\\x93\\xb6\\x64\\x36\\x75\\x69\\x86\\x41\\x52\\xe7\\xaf\\x5e\\xeb\\xf8\\x53\\xa6\\x29\\xc7\\x04\\x1d\\x7b\\x88\\xce\\xfb\\x55\\xbc\\x68\\x32\\x30\\x3f\\x0c\\xfb\\x50\\x86\\xd9\\x21\\x93\\x3d\\x7a\\x23\\x53\\xef\\xb0\\x0a\\xaa\\x3d\\xb8\\x3a\\xfd\\x03\\x77\\x39\\x3f\\x1e\\x39\\x81\\xf6\\xdd\\x27\\xf7\\x84\\x4b\\xca\\x2b\\x5c\\xa1\\xe2\\x22\\xb7\\x3b\\x54\\xce\\x06\\xe3\\xa5\\xa5\\x76\\x93\\xd1\\xe1\\x04\\x09\\x4a\\x87\\x81\\x13\\x66\\xb0\\xc1\\xc1\\x9a\\x45\\x33\\xa9\\xaa\\x5c\\x51\\x11\\x8f\\x97\\xc2\\xb3\\xd2\\xd2\\xa8\\xbb\\xbc\\xbc\\x28\\xec\\x74\\xda\\xed\\x66\\x46\\x14\\xcd\\x66\\x5e\\x0a\\xc3\\xff\\x26\\x7f\\x94\\xc3\\x0e\\x87\\xce\\x44\\x7d\\x06\\x49\\x68\\xa1\\xc6\\x13\\x67\\xcf\\x7c\\x5d\\x41\\x4a\\x37\\xf8\\x9c\\xa1\\x0b\\x9e\\x3c\\x37\\x77\\xcd\\xd3\\xbd\\xd0\\x78\\x46\\x8d\\x37\\x49\\x58\\x74\\xc4\\x08\\x32\\x85\\x6a\\xce\\xe1\\x8e\\x7b\\x82\\x99\\x15\\x53\\x9f\\xea\\x12\\x5f\\x17\\x87\\x28\\x2f\\x4d\\x99\\xf6\\xfa\\x94\\x73\\xab\\x45\\x3c\\x54\\x9c\\xd4\\xfd\\xd6\\x73\\x53\\x9f\\xec\\xd2\\xbd\\xae\\x4b\\xaa\\x8f\\xcf\\xab\\xd6\\xe1\\xa1\\xba\\x89\\xdd\\x6f\\x31\\xcd\\xca\\x4d\\x78\\x89\\xad\\xba\\xda\\xd2\\xff\\x04\\x9e\\xaf\\xec\\x64\\x3a\\xe1\\xbd\\x5d\\xd9\\x8e\\x17\\x31\\x7f\\x3e\\xd1\\x5f\\xa8\\xae\\xfe\\x7d\\xd8\\x77\\x52\\xd3\\xdf\\x84\\x7c\\x68\\x88\\xec\\x45\\x26\\x93\\xcf\\xe7\\x0f\\x78\\x0d\\x46\\x23\\x88\\x7c\\x0e\\xaf\\xd9\\xe3\\x42\\x06\\xc1\\x48\\x52\\x1d\\xbe\\x9e\\x20\\x3f\\x54\\x98\\xcf\\x78\\x73\\xd9\\xd5\\xe0\\x32\\x62\\xfc\\x55\\x6b\\xf5\\xb3\\x05\\x1f\\xde\\x9d\\xce\\x84\\xee\\x5e\\xe4\\x3d\\xdc\\xdb\\xdd\\x33\\x85\\x9d\\xff\\x2f\\xf8\\x74\\x6f\\x9f\\xf7\\xf5\\xde\\xee\\x69\\x93\\xd9\\xf9\\xec\\xaa\\x97\\x45\\xb3\\xf3\\x65\\x7c\\xf8\\xe7\\x17\\xb4\\x37\\xaa\\xfc\\xfb\\x32\\x8d\\x3f\\x24\\xbe\\xea\\x33\\xe4\\x6a\\xe2\\xa5\\xee\\xb1\\x67\\x02\\x10\\xed\\x62\\x79\\x45\\x91\\xea\\xad\\x6e\\x25\\xde\\xea\\x12\\x33\\x25\\x25\\x9d\\x38\\x04\\x31\\x5f\\x2e\\xb6\\xb7\\x64\\x63\\x7e\\x62\\xc7\\x45\\x56\\x50\\xf7\\x74\\x12\\x80\\x90\\xf3\\x6d\\x91\\xb0\\x80\\x2f\\x9c\\x35\\x6c\\x7d\\xc5\\x52\\x6c\\xf8\\xfc\\x74\\xb3\\x72\\xd5\\xb2\\xe9\\xb7\\x2d\\x39\\xed\\x4c\\x7b\\xbb\\x30\\x81\\xfa\\xab\\xcf\\x48\\x5d\\x7f\\x9d\\x25\\xe2\\xfe\\xcb\\xfc\\xf5\\xa7\\x32\\x53\\x7e\\x3e\\xea\\x6b\\x67\\xfa\\x4e\\x9f\\x05\\x24\\xe3\\x34\\x7c\\x76\\xa8\\x64\\x2e\\xf1\\x57\\xbf\\xe8\\xb2\\x96\\xa9\\x87\\x56\\xe7\\xd6\\x74\\x1a\\x8d\\xab\\x98\\x2d\\xd7\\x99\\x6c\\x36\\x01\\xd5\\xbb\\x2b\\xe3\\x20\\x53\\x87\\x03\\xde\\x7a\\x6f\\x63\\x93\\xbb\\xb2\\xd2\\x51\\xe3\\x98\\x92\\xaa\\x71\\x87\\xa3\\xd1\\xa2\\x49\\xa9\\x68\\xc0\\x93\\x71\\xb0\\xc8\\x26\\x59\\xf8\\xc5\\xe4\\x67\\x5a\\x02\\x9e\\x81\\x4b\\xc8\\x06\\x91\\x0c\\x4c\\x8b\\x96\\xb7\\xee\\xe7\\x3b\\xb5\\x05\\xdd\\xb0\\xc9\\x18\\x71\\x6b\\x4b\\x7e\\xcc\\xde\\xa9\\xb9\\xe5\\x6f\\xdd\\x2a\\xd6\\xa9\\x4b\\x1f\\x6a\\x60\\xbe\\x5e\\x49\\x56\\xb6\\xee\\xfa\\x16\\xf9\\xd0\\xea\\x0a\\xba\\xf4\\x63\\x86\\x05\\x15\\xf4\\xe1\\x59\\xeb\\x8b\\xdb\\xb1\\x45\\x83\\x41\\x5b\\xa3\\x2a\\x8f\\x0e\\x65\\x12\\xcc\\x66\\xfe\\x72\\x14\\x40\\x13\\x64\\x27\\x72\\xf8\\x7c\\x4e\\xa7\\xdb\\xe5\\x0a\\x16\\x19\\x2d\\x16\\x1d\\xcf\\x17\\xb9\\xbd\\xcf\\xe0\\x6a\\xe4\\xc2\\x23\\x91\\x0e\\x19\\xf1\\xc8\\xbd\\x0e\\x64\\xb5\\x32\\xfb\\xf1\\x08\\xcd\\x11\\x35\\xd9\\xd6\\x96\\x1c\\xa4\\x48\\x0b\\x60\\x9c\\x76\\x89\\xc2\\x0e\\x46\\xb2\\x91\\x23\\x11\\xa0\\x27\\x49\\x56\\xc0\\x65\\x73\\x2f\\x6f\\xe9\\xe6\\x47\\x76\\xea\\xfe\\xd6\\x6a\\x69\\x2e\\x9b\\xe7\\x92\\x6f\\xbb\\xb6\\x59\\x7c\\x3f\\x29\\x72\\xe8\\xec\\xd6\\x61\\x96\\x0a\\xe5\\x76\\x4b\\x39\\x9e\\x31\\xd6\\x39\\x6c\\x46\\x42\\xb9\\x85\\x0d\\x59\\xca\\x95\\x7f\\x34\\xe4\\xcd\\xf5\\x06\\x90\\x9d\\x7b\\x64\\x8f\\x2e\\x10\\x8c\\xa8\\xd1\\xa4\\x45\\xd1\\x98\\xc3\\xed\\xb6\\x9a\\xcd\\x31\\x0e\\x87\\x9f\\xc1\\x35\\xa8\\x08\\xa6\\x6b\\x45\\x0e\\x3c\\x72\\x1f\\x89\\x27\\xf5\\x1a\\x32\\xf3\\x25\\x44\\xa2\\x8d\\x10\\x8b\\x01\\x33\\x2e\\x0c\\xc1\\xcc\\xe4\\x7f\\x1f\\x38\\x77\\x7a\\xd1\\xe1\\xef\\xe2\\x82\\xe4\\x1c\\x11\\x08\\xe8\\xe7\\x5c\\x91\\x5b\\x43\\x6c\\x3e\\xac\\xe1\\x0c\\xe7\\x85\\x2b\\x5b\\xa3\\x3c\\x33\\x4a\\xba\\xe9\\x86\\x58\\xc1\\x42\\x86\\x4f\\x1f\\xa2\\xdc\\xc2\\xac\\x5e\\x73\\xae\\x49\\x8d\\x93\\xdf\\x03\\xc7\\xef\\x41\\x7e\\x23\\xcc\\x31\\x88\\x86\\xcb\\x56\\x9b\\xc7\\x63\\x66\\xf4\\x7a\\x83\\xc1\\x62\\x36\\x17\\x15\\xfb\\x9d\\x07\\x00\\xe2\\x06\\x64\\xc2\\xc3\\xf7\\x88\\x2c\\xda\\x8f\\x5b\\x41\\xa6\\x48\\x64\\x0a\\x95\\x17\\xa8\\x5a\\x1d\\x99\\x0b\\x36\\x93\\x77\\xdf\\x91\\xa7\\x91\\x73\\x37\\xd5\\x7a\\xca\\x2c\\x92\\xa9\\x2d\\x30\\x7f\\x9e\\x80\\xf9\\x45\\xce\\x4b\\xcf\\x6a\\x2e\\x03\\x7c\\x8a\\xc7\\x9b\\x70\\x95\\xf1\\xf2\\x2e\\xfd\\x4d\\x4c\\xc4\\x59\\xde\\xbf\\xef\\xec\\xf3\\xd9\\x74\\xf9\\x90\\x21\\xe5\\x65\\xcd\\x4d\\x19\\x18\\x0b\\xdc\\xd9\\xc8\\x86\\x86\\xca\\xc0\\x7c\\x19\\x55\\x37\\x64\\xde\\x61\\x11\\xad\\x4f\\xe1\\xe1\\xc8\\x0c\\x38\\x40\\x5d\\x91\\x73\\x38\\xa0\\x02\\x34\\x4f\\x70\\xc1\\x19\\x96\\x20\\xbb\\xe7\\xb8\\xac\\x64\\x6e\\xbd\\xdf\\x1b\\x09\\xfb\\xab\\x47\\x87\\xdb\\x6e\\x9f\\xd9\\x29\\x7c\\xca\\xfe\\x4b\\xee\\x16\\x7e\\x3f\\xb5\\x6a\\x88\\x72\\x33\\x56\\x2c\\xe5\\xf4\\x0c\\xfe\\x9d\\x89\\xe0\\x27\\xb8\\x85\\x85\\x63\\x3b\\x78\\xbb\\x45\\xb0\\x3d\\x05\\x5b\\x0a\\x10\\xc9\\x8c\\xdd\\x56\\x30\\x76\\x36\\x04\\x1b\\x40\\x92\\x61\\x3b\\xd4\\xdc\\xdb\\x30\\x8b\\x57\\x8f\\x1b\\x9a\\x79\\x50\\x1b\\x1a\\x2f\\x54\\x18\\x8b\\x56\\xeb\\xeb\\x1f\\xb8\\x02\\xff\\x05\\xc6\\x2e\\x42\\xa3\\x64\\x8b\\xcf\\x62\\x32\\xf9\\xfd\\x02\\x0a\\x04\\x42\\x8e\\x62\\xff\\x7e\\x3c\\xfc\\x71\\x9f\\xc5\\xe2\\x76\\x3b\\x6d\\x30\\xf2\\x1e\\x9e\\xd1\\xd3\\x4d\\x49\\x26\\xdb\\xd4\\x51\\xdb\\x32\\x53\\xc8\\x22\\x52\\xfe\\x49\\x26\\x59\\x87\\xf2\\xa7\\x24\\xe0\\xd1\\x95\\x3e\\xa9\\xa8\\xcc\\x53\\xd1\\x3a\\xb3\\x87\\xf5\\xe7\\x66\\x57\\xd2\\x76\\xc7\\x72\\x3d\\xde\\x3b\\x56\\x1a\\xb5\\xd1\\x34\\x75\\x7a\\x64\\x7f\\x76\\x92\\xfd\\xb7\\xd6\\xab\\x77\\x69\\x39\\xec\\xcd\\x0f\\x30\\x47\\xe2\\x0b\\x3c\\x4b\\x8e\\xda\\xbc\\x3e\\x3b\\xcb\\x5a\\x79\\xab\\xcf\\x67\\x34\\x38\\x18\\xc6\\xc9\\x1b\\xf8\\xa2\\x62\\xd6\\xeb\\xb5\\xd9\\x74\\x66\\xc6\\x6a\\x35\\x1a\\x1d\\x66\\x98\\xfb\\x1e\\x9f\\x41\\xb7\\x1f\\xc0\\x97\\x9b\\x30\\xb5\\x58\\xda\\x07\\xba\\xff\\xe6\\x4c\\xb3\\x58\\x62\\x00\\x89\\xb2\\x9e\\xb2\\x4c\\xb2\\x99\\x3a\\xca\\x12\\x99\\x92\\xf9\\x41\\x6c\\x7f\\x64\\x86\\x72\\x44\\xf9\\x4a\\x1c\\x35\\xb9\\x59\\x87\\x8b\\xc5\\xae\\x50\\xe9\\xf3\\x67\\xd6\\x0f\\x75\\xc6\\xec\\x5d\\xdd\\xdc\\xc2\\x72\\xcb\\xef\\x4a\\xe6\\x3d\\x5d\\x6e\\xc6\\xaf\\x5a\\xca\\xcb\\x2d\\xbb\\xbf\\x56\\xae\\xa9\\x8c\\xbd\\xd5\\x0a\\x78\\x15\\x61\\xca\\xd8\\x99\\x30\\x77\\x1f\\x6a\\x94\\xa5\\x8c\\x87\\x4b\\xc0\\xe4\\x74\\x4a\\x1c\\x40\\x75\\xf8\\x5e\\xb7\\xc3\\x61\\xb4\\xa8\\x1b\\x4b\\xcf\\x69\\x32\\x99\\x9f\\x30\\x9a\\x3a\\x36\\x92\\x5c\\x73\\x84\\xb3\\xd4\\xae\\xe0\\x64\\x00\\x27\\x89\\x89\\x95\\xf9\\xbb\\x2b\\x2e\\x5e\\xef\\x28\\xff\\xbe\\x6b\\xe4\\xee\\xc9\\x8b\\xea\\xc5\\xc7\\x27\\x3c\\x39\\x62\\xf4\\x02\\xb3\\x8b\\x63\\xdd\\x01\\x63\\xdc\\x56\\xd2\\x34\\x5a\\x59\\x8a\\x47\\x2b\\xcf\\x30\\x06\\xa0\\x24\\x67\\xe3\\x69\\xca\\xc3\\x8f\\x79\\x4e\\xa2\\x7b\\xfe\\x19\\x2e\\x67\\xd6\\xc3\\x9c\\x4a\\x50\\xab\\xec\\xb2\\x7b\\x3c\\xc8\\x6d\\x70\\x38\\xc2\\xa5\\x7e\\x84\\x4a\\xe1\\x93\\x58\\xec\\x70\\x11\\xf0\\x49\\x46\\x31\\xb7\\xdf\\x14\\x46\\x85\\x99\\xf3\\xc8\\x7e\\x8b\\x03\\xb3\\xe4\\xc1\\x3b\\x47\\x33\\xcd\\x1c\\x02\\x93\\x66\\xd6\\x37\\x28\\x3f\\x8d\\x1a\\x3f\\xa9\\x3a\\x58\\x1c\\xf7\\x45\\x4d\\x96\\x60\\xf4\\x14\\xf9\\x92\\x98\\xb8\\x6f\\xf6\\xf2\\x78\\xa9\\x53\\xbc\\xca\\xca\\xc9\\xcd\\x27\\x29\\x53\\x17\\x4d\\xab\\x66\\xf5\\x5b\\x27\\x98\\xa7\\xaf\\x60\\x30\\xcc\\xf4\\x92\\xbd\\x72\\x75\\xb1\\x4b\\x88\\x9b\\x69\\x7c\\x33\\xf6\\xb3\\xb3\\x19\\x1b\\xcd\\x61\\x6f\\xa0\\x9f\\x57\\xb2\\xb3\\xd9\\xbf\\xd3\\xcf\\x3c\\x8d\\x77\\xfe\\x1b\\xf3\\x35\\xb3\\x8c\\x9f\\x62\\x17\\x44\\xb5\\xe6\\xfe\\x47\\xf0\\x79\\x3e\\xfd\\xfc\\x05\\xfd\\x3e\\x07\\x9f\\x2f\\xe1\\xa7\\xc2\\x67\\xe2\\xb4\\x85\\xf1\\x74\\xae\\x91\\x29\\xe1\\x5f\\x43\\x66\\xe4\\x97\\x0d\\xb0\\x15\\x06\\x96\\xb5\\x48\\x9c\\x01\\xd5\\xfd\\x21\\x4b\\x66\\x54\\x6f\\xd2\\x46\\x95\\xa0\\x34\\x26\\x9a\\xf0\\x9b\\xdd\\xc9\\x9e\\x35\\x6b\\x7a\\xea\\xc7\\xf3\\x28\\xd9\\x3d\\x79\\x4d\\x4f\\xcf\\x9a\\xc9\\x9d\\xc7\\xf5\\x65\\x64\\x59\\xe8\\xce\\x22\\x19\\xb8\\x01\\x7d\\x81\\x9c\\xed\\x52\\x8d\\x92\\xae\\x52\\x01\\xdf\\x3d\\xae\\x81\\xf4\\x95\\xec\\xe6\\xd1\\x90\\x2e\\xb5\\xaf\\x6e\\x42\\x7f\\x3a\\x00\\xc7\\xaf\\xe6\\x6f\\x02\\x3c\\x69\\x95\\x9d\\xa2\\xd3\\x19\\xf0\\x78\\xbd\\x66\\x8e\\x65\\xfd\\x01\\x0f\\xc7\\x61\\xb3\\x1e\\x90\\xa5\\xe6\\x31\\x2f\\xcb\\x62\\x15\\xa5\\x6d\\xea\\xa6\\x1c\\x6f\\x80\\xc7\\x34\\xa7\\x78\\x93\\x6d\\x48\\xbe\\xeb\\x18\\x2d\\x23\\x87\\xdf\\x52\\xce\\xd2\\x2d\\x6d\\x6a\\x7f\\x74\\x62\\xdb\\x98\\x8a\\xc6\\xe0\\x90\\xab\\x12\\xf3\\x57\\x5c\\xb8\\xbc\\xee\\x34\\x26\\x51\\x6d\\xc5\\x8d\\x3a\\x17\\xf6\\x6e\\xa8\\x99\\xb7\\xd3\\xe1\\x5b\\xb0\\x64\\xfd\\x9e\\x62\\xe5\\x07\\xab\\x7a\\x4f\\xae\\x87\\x79\\x3d\\x08\\xf3\\xf2\\xa3\\x36\\xd9\\xed\\x74\\xb9\\xfc\\x36\\x58\\xa7\\xdf\\x1f\\xd0\\x07\\x5d\\x7e\\xbf\\x17\\x39\\x9d\\x82\\x17\\x66\\xb4\\xc7\\x62\\x14\\x60\\x82\\x14\\x59\\xf2\\x3c\\xb4\\x0a\\x72\\xea\\x64\\x4d\\x7b\\x19\\xa9\\xc9\\xe5\\x0c\\x69\\xc6\\x21\\x1c\\x6d\\x39\\xe9\\xb6\\x6b\\x93\\x17\\x24\\x82\\x8d\\xe2\\x90\\xb6\\xce\\x29\\xbd\\x72\\x53\\x9f\\x0e\\x66\\xbb\\x8c\\xbd\\xc0\\xb1\\x64\\xce\\x8e\\xfb\\xbd\\xce\\x9d\\xf3\\x6a\\x6e\\x5e\\x77\\xb5\\x41\\xa7\\xbc\\x66\\xad\\xae\\xb6\\xc2\\x3e\\x9f\\x86\\xee\\xe1\\x8a\\xb8\\xfb\\x01\\x0f\\x42\\x74\\xdf\\x6f\\x82\\xcf\\x53\\xe8\\xe7\\x30\\x9d\\xf7\\x48\\xf4\\x1a\\x37\\x86\\xbb\\x14\\x09\\xa8\\x54\\xb6\\x08\\x3c\\xc3\\x00\\x2f\\xc9\\x89\\x3a\\xa0\\xf1\\x18\\xd5\\x11\\x5e\\x91\\xc2\\x4d\\x73\\x6a\\x8b\\x45\\xf4\\x38\\x82\\x93\\xdc\\x98\\xad\\xca\\x26\\x65\\xd3\\x56\\xfc\\xe7\\xd9\\xaf\\x31\\xe9\\x7e\\xcc\\x3e\\x89\\x8e\\xef\\x8b\\xc1\\x3c\\x4f\\x8c\\x4d\\xa2\\x8e\\x45\\x3c\\x73\\x7c\\x5f\\xb4\\x27\\x3d\\xe6\\xc6\\x28\\x55\\xb3\\x95\\xaa\\xad\\xf8\\x4c\\x7c\\x26\\x77\\xe9\\xb1\\x2e\\xf6\\xc9\\x7e\\xcc\\xa4\\xd5\\xfe\\x56\\x71\\x73\\x99\\x34\\x7f\\x17\\xb0\\x16\\x43\\xe5\\x52\\x16\\x78\\x7b\\x52\\xef\\x59\\x6f\\x60\\xc4\\xcd\\x29\\x1d\\xb3\\x65\\x96\\xb0\\x56\\xb7\\x59\\xc7\\x10\\x7f\\xc9\\x5d\\xba\\x37\\x74\\x9c\\x0e\\xd5\\xcd\\x59\\x45\\xbc\\x4a\\xf2\\x47\\x71\\x10\\xf7\\x36\\x80\\x23\\xbf\\x4a\\xc0\\x66\\x5a\\x93\\x5a\\xf9\\x86\\x9b\\x1b\\xc6\\x31\\xe5\\xfd\\xf0\\x1d\\x77\\xc0\\x18\\xf7\\x72\\x73\\xd9\\x46\\x3a\\xc6\\x70\\x39\\x42\\xc6\\x20\\xeb\\x07\\x71\\x43\\x60\\x85\\x2d\\xb3\\x58\\x18\\x69\\x2d\\xbb\\x99\\x65\\x24\\x36\\xc4\\xee\\x62\\xdf\\x60\\x39\\x96\\x0c\\x92\\x17\\xe0\\xaf\\x0d\\x93\\x2d\\x87\\xcd\\x36\\xe6\\x6a\\x5f\\xf3\\x77\\x65\\x6a\\x5d\\xc3\\x19\\xb8\\x8e\\x9b\\xc4\\x20\\x7e\\x2b\\x62\\x51\\x25\\xf1\\xd5\\xc0\\x1c\\xcf\\x22\\x2c\\xe3\\x79\\x98\\x7d\\x14\\xbf\\x89\\x19\\x09\\x87\\xf0\\x2e\\xcc\\x02\\xcc\\xe7\\xcc\\x59\\xf5\\xba\\xda\\x37\\xe1\\x38\\x6c\\x49\\x06\\xad\\x58\\xc1\\x4d\\xc2\\xed\\x30\\xd7\\x75\\xdc\\x5a\\x56\\x02\\xe1\\x9c\\x45\\x65\\xb2\\x9b\\x6c\\x14\\x0f\\xb2\\xbf\\x15\\xd5\\xa3\\xc9\\x88\\xbb\\x04\\x61\\x89\\xa8\\x02\\x48\\xfb\\x44\\xa6\\xbd\\xa3\\x39\\x2c\\xae\\xf3\\x33\\x67\\xf9\\xb9\\xb5\\xdb\\xb6\\xa9\\x79\\x10\\xfa\\x01\\xa6\\x5f\\xf0\\x9b\\x61\\xff\\xcf\\xa1\\x9f\\xbf\\x82\\xcf\\x6b\\xe9\\xe7\\xd1\\x14\\xe6\\xb7\\x2b\\x1d\\x58\\x4a\\x5f\\x0e\\x63\\x38\\x1e\\xa7\\xd3\\xc4\\xb0\\xe4\\x82\\x09\\x61\\x69\\xc5\\x0a\\xf8\\x92\\x66\\xeb\\x3a\\x59\\xf9\\x16\\x7f\\x99\\xbe\\x0c\\xbe\\xef\\xd9\\x47\\xa6\\xc4\\xc0\\xed\\x3b\\x7e\\x77\\x0a\\x36\\x5c\\xb5\\x19\\x36\\xd4\\xb3\\x30\\x89\\xfb\\xc9\\x24\\x94\\x6f\\xe9\\x24\\x70\\xfa\\x35\\xa5\\x13\\xf7\\xa5\\xd7\\x00\\x65\\xb2\\xed\\xe3\\x30\\x16\\x10\\x1d\\x02\\x6b\\x46\\xb8\\xe6\\xb0\\x43\\xc4\\x3a\\xe5\\x05\\x11\\xeb\\xaf\\x14\\xe0\\x9b\\xa6\\x98\\xf2\\x6d\\x89\\xea\\x33\\xa2\\x74\\xe1\\x07\\xd3\\xe7\\x42\\x3b\\x69\\x2f\\x8b\\xb2\\xcd\\x12\\x64\\x0c\\xe2\\x03\\x34\\x42\\x38\\x84\\x8b\\x38\\x65\\xb5\\xd2\\x15\\xc6\\xd6\\x18\\x89\\x54\\x64\\xd0\\x66\\xf8\\xc5\\xb2\\x0f\\x41\\x1b\\x23\\x2a\\x91\\x2d\\x2c\\x42\\x82\\x28\\x9a\\xcc\\x7a\\xd1\\xc5\\x70\\x34\\xb6\\x3b\\x99\\x4f\\x83\\x00\\x53\\x1a\\x93\\x6c\\xa4\\x11\\xb6\\x92\\x61\\x7b\\x9a\\x7a\\x3e\\xda\\xf6\\x11\\xfc\\x66\\x2f\\x7f\\xe8\\xa1\\xd8\\xb1\\x9e\\xd8\\x43\\x0f\\xd1\\x35\\xe3\\x18\\xf3\\xbe\\xd6\\xa7\\xf3\\x09\\xc0\\x70\\x41\\x54\\xbb\\xca\\x02\\x89\\xf6\\xa2\\xb6\\xa7\\x4d\\x09\\x5c\\x3f\\x40\\x29\\x7c\\x2f\\xfe\\xf6\\xff\\x88\\x9e\\x9e\\x9c\\xa1\\xa7\\x38\\x9a\\x4f\\x4f\\xd1\\x2b\\xd0\\xd7\\xf5\\x99\\xbe\\x7e\\x25\\x3d\\xf5\\x66\\xe8\\x29\\x8e\\x16\\xd0\\xd3\\xe5\\xe8\\x26\\x86\\x61\\xdc\\x48\\x04\\xe8\\x98\\x19\\x41\\xe0\\x49\\x92\\x63\\x1e\\x36\\x1e\\x50\\xe9\\x70\\xd2\\x96\\x0f\\x9d\\xe6\\xc6\\x64\\x63\\xd2\\x95\\x74\\x2d\\xbf\\x74\\xd3\\xa5\\x37\\x6d\\xff\\xf2\\xcb\\xed\\xc7\\xb5\\x07\\xe8\\x32\\x3c\\xaf\\xd3\\xc3\\xd1\\x07\\xd6\\xb4\\xee\\x70\\xa2\\xa0\\x3d\\x8e\\xb8\\x22\\x8d\\x91\\xc6\\x30\\xc3\\x40\\x07\\x78\\x1b\\xbe\\x98\\x76\\x01\\x7d\\x9c\\x87\\x6e\\xc6\\x3f\\x42\\x1f\\x46\\x54\\x2f\\xbb\\x0c\\x0c\\x03\\x8d\\x59\\x92\\xcb\\xca\\x64\\x86\\x8e\\x0c\\x82\\xa0\\x27\\x1b\\xad\\xa5\\xaa\\x2c\\xa8\\x6d\\x96\\xed\\x93\\x4e\\x0c\\xff\\xb8\\x66\\xd3\\x1a\\xf8\\x87\\x6d\\xe4\\xf7\\x1a\\x15\\x3f\\xfb\\xf1\\x28\\x66\\x15\\x7e\\x17\\x70\\x45\\xda\\xcb\\x20\\x8e\\x9c\\x90\\x84\\x86\\x33\\x8d\\x61\\x17\\xcb\\x9c\\x85\\x47\\x01\\x56\\x62\\xb4\\x0f\\xe8\\x80\\x8b\\xbf\\x1d\\x60\\x9a\\x90\\x8b\\x8d\\x64\\x73\\x8c\\x3c\\xe2\\xb7\\xcc\\xd2\\x6d\\x46\\x3b\\x11\\x23\\x01\\xf5\\xac\\x43\\xcf\\xa2\\x8f\\x11\\xaf\\x83\\x1e\\xe6\\xc2\\x19\\xcb\\xd1\\x00\\x9a\\xc3\\x01\\x04\\xb1\\x24\\xe1\\xb4\\x93\\x16\\x8c\\x77\\x9d\\xbb\\x5e\\x38\\x4f\\xdc\\xb6\\xad\\xf1\\xbc\\xd0\\x01\\x6e\\xee\\x45\\xe7\\xc6\\x2a\\x36\\x6c\\xb8\\xf9\\x7e\\x15\\x77\\x92\\xdc\\x2a\\x66\\x21\\xd0\\x1b\\x23\\x36\\xcb\\x2f\\x0b\\x08\\x01\\x2a\\xb2\\xd7\\xa6\\x38\\xfd\\x18\\x7d\\x8f\\xfe\\x2c\\xfd\\x0d\\xfa\\xbb\\xf4\\x7b\\xf5\\x22\\xa7\\x1f\\x42\\x3f\\x1e\\xd2\\xbf\\xad\\xff\\x42\\x2f\\x92\\xa7\\x8c\\x51\\x8f\\xf5\\xfa\\x1e\\x33\\x76\\x9a\\x31\\x67\\xc6\\xff\\x36\\xe3\\x43\\x66\\x7c\\x97\\x19\\xdf\\x60\\xc6\\x7d\\x66\\x3c\\x24\\xf3\\x7c\\x19\\x3c\\xdd\\x4b\\xff\\x70\\x96\\x19\\x8f\\xa1\\x4f\\xd5\\x27\\xf0\\xa5\\x9e\\x4c\\xb3\\xb3\\xe8\\xc7\\x2a\\xda\\x60\\x38\\x74\\xb0\\xcc\\x8c\\x7b\\xe9\\xb7\\xa1\\x9b\\xa3\\x66\\xfc\\x76\\xa6\\x8d\\xda\\xfd\\xa5\\xb4\\x81\\x6c\\xc6\\x4c\\xbd\\x19\\x97\\x98\\xb1\\xd5\\x8c\\x3f\\x31\\xe3\\x5d\\x66\\x7c\\x89\\x19\\xab\\x4f\\xe6\\x90\\xff\\x56\\xad\\x5a\\xd5\\xbb\\x2a\\xf3\\xdf\\x99\\xe4\\xbf\\xb9\\x73\\x32\\x7f\\x50\\x3f\\x67\\x1e\\xd0\\x47\\x04\\x88\\x73\\x56\\x9d\\x59\\x95\\x05\\x61\\x7e\\x8e\\x97\\x64\\xc6\\x27\\x80\\x37\\xe6\\x92\\xb8\\x30\\xe8\\x67\\x2e\\xc2\\xdc\\x06\\x7c\\x84\\x11\\x79\\xd0\\x48\\xb9\\xcc\\xa5\\xd7\\x4b\\x2c\\xeb\\x23\\x4e\\x62\\x82\\xe9\\xaa\\x94\\x40\\x6a\\x85\\x02\\x44\\xed\\x57\\xa5\\xc8\\x76\\xb5\\xa1\\x5e\\xb4\\x96\\x30\\x3f\\x75\\xc4\\x3c\\x60\\x3d\\x54\\x55\\x55\\x95\\x8f\\x8b\\x19\\xf7\\x27\\x22\\xc7\\xe5\\x25\\x72\\xc3\\xaf\\x9f\\x7c\\xe1\\x05\\xa7\\x9c\\x72\\xc1\\x05\\xa7\\xc4\\x87\\x0f\\x8f\\xc7\\x87\\x8f\\xe0\\x22\\x17\\xcc\\x9c\\x79\\xde\\x79\\x33\\x53\\x17\\xe2\\xa1\\xc3\\xcb\\xc9\\xc3\\xf2\\xe1\\xd4\\x4f\\x46\\x99\\x8a\\xff\\x80\\x2c\\x40\\x7e\\xab\\x65\\x97\\x04\\xa7\\xd9\\x66\\x97\\x84\\x90\\x50\\x27\\xb0\\x7a\\x56\\x40\\xa6\\xeb\\x53\\x20\\x99\\x99\\xd4\\xd2\\x7c\\x34\\x7b\\x20\\xd6\\x2e\\x0a\\x35\\xe0\\x20\\x49\\xfc\\x5c\\x00\\x5b\\x3c\\x02\\xc6\\xa7\\x9f\\xd5\\xd5\\x72\\x69\\x49\\xe5\\xe2\\x21\\xc3\\x8a\\x67\\x2b\\x53\\x17\\x2e\\x18\\x7d\\x65\\xbc\\xe1\\x9c\\xa6\\x55\\xfe\\x69\\x8d\\x64\\x9c\\xb9\\x5c\\x3b\\xdb\\xc2\\xaf\\x46\\x2e\\x74\\xba\\x3c\\xce\\xa1\\xd3\\xb9\\x3d\\x0e\\x83\\xc4\\x85\\xb8\\x3a\\x8e\\xb5\\xf0\\x06\\x6e\\x6b\\x4a\\x32\\x84\\x0c\\x8c\\x9e\\x25\\x7a\\x74\\xc9\\x2a\\x95\\x48\\xf0\\x18\\x49\\x5b\\x53\\xba\\x10\\xda\\x45\\xf0\\xb6\\x0e\\x80\\x40\\x50\\x98\\xcf\\xc0\\x64\\x17\\xfa\\x16\\x48\\x27\\xb9\\xc6\\xce\\x4c\\x54\\x21\\x98\\x9b\\xdf\\x6b\\x7d\\x9d\\x06\\x9b\\xab\\x01\\x04\\x59\\x94\\x56\\x6d\\x00\\x11\\x3b\\xe1\\x44\\x28\\xd3\\x0a\\x93\\x66\\xaa\\xa6\\xcf\\x6b\\x08\\x97\\x55\\x3a\\x16\\x8c\\xfe\\x7d\\x63\\x4f\\xed\\x90\\xa2\\x58\\xa5\\x73\\x41\\xd9\\x46\\xae\\xfd\\x94\\x9a\\x21\\x6d\\x38\\x54\\x5f\\x56\\x93\\x6c\\xdd\\xbe\\x91\\xec\\xd5\\x7d\\x70\\x9e\\x5e\\x02\\x3c\\x27\\x74\\x77\\x88\\x5c\\xac\\x17\\x04\\x96\\x20\\xbb\\x8e\\xe1\\x99\\x6b\\x66\\x19\\xe1\\xc6\\xe1\\x19\\x89\\x0f\\xf1\\xbb\\xf8\\x37\\x78\\x8e\\x57\\x6f\\xee\\xfc\\xd8\\x13\\x72\\x77\\x39\\x92\\x22\\x4e\\xd2\\xdf\\xf7\\x09\\x07\\x8f\\x8a\\xca\\xfd\\x8a\\xf0\\xcc\\x31\\x51\\xb9\\x8f\\xde\\xdf\\x31\\xe5\\x63\\xf5\\x37\\xa9\\xe9\\x82\\x77\\x30\\xe7\\xb3\\x23\\x00\\x46\\x09\\xd9\\x6d\\xb2\\x58\\x58\\x23\\xcf\\x3b\\x04\\x96\\x75\\x7b\\xec\\x76\\xab\\x15\\x09\\xbc\\x11\\xd6\\xfb\\x41\\xe2\\x90\\xaa\\xf4\\x1b\\xc8\\x08\\xaa\\x09\\x09\\xdb\\x72\\x79\\x0a\\xa9\\x97\\xde\\xd5\\x33\\x66\\x8b\\x1b\\x5d\\x93\\x23\\x01\\xf7\\x2c\\xe7\\x8c\\x19\\x1d\\x75\\xbe\\xf5\\x78\\xc7\\xfc\\x53\\xe2\\x91\\x51\\x67\\xc7\\x6d\\xce\\x22\\x92\\x65\\x70\\x5e\\xb4\\xe7\\x4c\\x95\\x4f\\x59\\xcb\\x7c\\xc0\\xd6\\xf1\\xd7\\xc2\\x4a\\x03\\xb2\\x89\\x33\\x99\\x0d\\x22\\xe6\\x38\\xa3\\x9e\\x85\\x75\\x25\\x0f\\x27\\x3c\\x54\\x90\\x82\\x9b\\x8d\\x11\\xf5\\x38\\x0e\\xf7\\x9b\\x1e\\xb3\\x75\\xca\\x77\\x58\\xea\\x06\\x31\\xe9\\x48\\x37\\xb6\\x2a\\x47\\xc6\\x62\\x09\\x5b\\xf9\\x31\\xca\\x77\\xe4\\xb3\\x45\\xf9\\xae\\x1b\\xdb\\xb0\\x34\\x56\\x39\\x02\\x57\\x3a\\xe9\\xff\\x46\\x5c\\xcd\\x6c\\x02\\x39\\x24\\x80\\xda\\x65\\xbf\\x99\\x07\\x99\\x88\\xd1\\x19\\x0c\\x20\\x24\\x05\\x8b\\x3c\\x0c\\x53\\x44\\x9e\\xe8\\x03\\x92\\x8d\\xc8\\xdf\\x7a\\x22\\x89\\xb4\\x65\\xb2\\x34\\xe2\\x7c\\x25\\x46\\x86\\x55\\xd1\\xb4\\xef\\x12\\x26\\x59\\xd4\\x98\\x3a\\x0c\\x74\\x2b\\x23\\x8a\\x30\\x57\\xb3\\x3d\\xb7\\x33\\x7e\\xc3\\x75\\x5e\\x5d\\xa5\\x2b\\x3a\\x34\\x24\\x3e\\x55\\x12\\x9c\\x33\\xc4\\x6b\\x14\\xb9\\x85\\x82\\xbf\\xfa\\x26\\xe5\\x2f\\xf2\\x73\\x65\\xa2\\xbd\\xe2\\xb6\\x21\\x78\\xd8\\x33\\xe6\\xf8\\xa5\\xca\\xdf\\xf7\\x2f\\x2f\\xb5\\x7b\\xb9\\x38\\xcc\\xf1\\x0c\\x26\\x81\\xef\\xe3\\x2f\\x87\\x7b\\x20\\x26\\x1b\\x08\\x13\\xc5\\xb2\\x3a\\x3d\\x27\\x10\\x5d\\x05\\x70\\x81\\x94\\x17\\x2f\\xbc\\x6a\\x89\\xf2\\x84\\x88\\xfe\\xfe\\x6e\\xf1\\x9b\\x4d\\xcd\\xe2\\xfb\\xcc\\x62\\x4b\\x39\\x51\\xe6\\x50\\x1e\\x3f\\xce\\x70\\xdc\\x39\\x28\\x06\\xb2\\xa0\\xad\\x44\\x70\\x38\\xca\\xe2\\x1e\\x0b\\x42\\x71\\x4b\\x09\\x5b\\xe4\\x03\\x99\\x6b\\xc4\\x1e\\xa3\\xa8\\x09\\xf9\\x2a\\x7b\\xdf\\x92\\xef\\x46\\x9c\\x71\\x6f\\xcc\\x08\\x5b\\x8d\\x43\\xa8\\x0a\\x3e\\x39\\x20\\xfc\\x11\\xe3\\x7f\\x9e\\x7f\\x7e\\xd9\\x6a\\x5f\\x30\\xae\\x2f\\x1b\\x93\\x18\\xd6\\xde\\x37\\xe2\\xb3\\xd1\\x33\\xfd\\x71\\x9d\\xb9\\x21\\x54\\x53\\x55\\x22\\x4f\\x6e\\x64\\xbe\\x9c\\xb5\\xc0\\x69\\xfa\\xed\\xa4\\xa6\\xc6\\xb2\\x9a\\x58\\xf3\\xb4\\xc6\\x07\\x1d\\x5b\\xdb\\xad\\xfe\\x8a\\xb0\\x27\\x1e\\xad\\x19\\xaf\\xc6\\x19\\x03\\xcf\\xff\\x1c\\xec\\x4b\\x04\\x4d\\x96\\x43\\xf6\\x90\\xad\\xc4\\x66\\x46\\x96\\x88\\x85\\x33\\x44\\x4a\\xdc\\xc1\\x60\\x89\\xa1\\x24\\x1a\\xb3\\x87\\xcc\\x88\\xd3\\xf9\\x2c\\x56\\x90\\x14\\x1f\\x2b\\x89\\x44\\x34\\x49\\xbb\\x8e\\xce\\xdb\\xd3\\x52\\x50\\xd2\\x32\\x3f\\x9d\\x3c\\xa6\\xa5\\x8a\\xd5\\xe0\\x91\\x36\\x4c\\x36\\xc9\\x43\\xbd\\x85\\x55\\x19\\x57\\x22\\xc5\\xe0\\x22\\x78\\xed\\x82\\x22\\xbf\\x4f\\xbc\\x4c\\x3f\\xf5\\x81\\xf3\\x92\\xc2\\xde\\x05\\xad\\xa1\\x60\\x58\\xbc\\xc4\\x34\\xed\\xc2\\x2b\\x86\\x88\\xfb\\x58\\xfb\\x54\\x5f\\xc4\\x69\\xe7\\xe3\\x7a\\x5b\\xf9\\xe8\\xcd\\xff\\x90\\xe2\\x2f\\x24\\x03\\x11\\xa7\\x4d\\x80\\xcf\\x35\\x1d\\x8b\\x95\\x7f\\x9b\\xe3\\x2a\\xee\\x9e\\x09\\x6b\\xb8\\xe5\\xff\\x73\\xb9\\xc5\\x39\\x40\\x6e\\x29\\x25\\x72\\xcb\\x75\\x27\\x94\\x5b\\x60\\x5e\\xc0\\x29\\x32\\xe7\\xf3\\x0f\\x02\\xfd\\x28\\x7a\\x02\\x04\\x08\\x1e\\x24\\x33\\x66\\x3f\\x66\\xf6\\xa4\\x80\\x8c\\xd4\\x65\\x23\\x30\\x1b\\xea\\xc3\\xb6\\x70\\x63\\xd8\\x86\\xff\\xae\\x3c\\x8c\\xbf\\xe0\\xfd\\x5b\\x7f\\x9e\\x9e\\xd7\\x56\\x04\\x3e\\x19\\xd8\\x22\\xc4\\x8a\\xa2\\x4e\\x4f\\x9b\\xef\\x4d\\x01\\xbb\\x46\\x3a\\x68\\xa9\\xcb\\xbf\\x0d\\xd4\\x4e\\x92\\x6a\\x37\\xd3\\xb6\\xb2\\x87\\xb7\\xe2\\x89\\xd0\\x13\\xfa\\xbf\\xd0\\x17\\x73\\xc3\\x56\\x66\\xe3\\xff\\xa5\\xbe\\xf0\\x44\\x98\\xda\\x80\\xbe\\x78\\xe0\\xbb\\xf4\\x0c\\x05\\x10\\x87\\x40\\xe8\\x65\\x76\\xa7\\x48\\xbd\\x6c\\x94\\x0d\\xfc\\x6c\\xa8\\x4f\\xd2\\x3e\\xb6\\x41\\x07\\x5b\\x79\\x3f\\x6d\\x0e\\xed\\x4f\\x85\\xf6\\x63\\xd9\\x95\\xd0\\xde\\x2b\\xeb\\x39\\xca\\x16\\xb3\\xc0\\xbf\\xd7\\xbd\\x9e\\xcc\\xb5\\x83\\x56\\x61\\xd7\\xa9\\x4b\\xf0\\xc5\\xec\\xca\\x63\\x3f\\x2d\\x29\\x6c\\x47\\xf9\\x3d\\xe0\\x13\\x05\\x86\\xd1\\xe9\\x61\\x78\\x8e\\x51\\x79\\xb4\\x7c\\x0a\\x6e\\x8b\\xd0\\x1e\\x5e\\x5b\\x02\\x5d\\xe0\\x0d\\xca\\x45\\xec\\x4a\\xe5\\xc2\\x25\\xc0\\x93\\xcd\\x51\\xc6\\xe2\\x7f\\xa6\\x37\\x83\\xcc\\x45\\x78\\x46\\x4d\\xe6\\xd2\\x8b\\x2c\\xb9\\xac\\x13\\x59\\xf3\\x04\\x9d\\x03\\x9f\\x11\\xac\\xf0\\x3f\\x73\\x82\\xd5\\xaa\\xac\\x5c\\xc5\\xa0\\x79\\xec\\x7f\\x58\\x3b\\x3f\\x0f\\xf8\\x3b\\x11\\xb8\\x47\\x83\\xc8\\x30\\x40\\x7b\\x75\\x7a\\x2a\\x86\\xec\\x4b\\x31\\x9c\\xcc\\xf1\\x54\\x20\\xe1\\x08\\x50\\xe0\\xaa\\x3b\\x5c\\x55\\x70\\xc7\\x84\\x45\\x1e\\x7e\\x2e\\x25\\xe2\\x49\\xff\\x62\\x1f\\x91\\x94\\x7e\\xbf\\x6d\\xdb\\xdb\\x44\\x4e\\x01\\xd9\\xe8\\x09\\xe6\\x6b\\xf6\\x23\\xaa\\x23\\xf9\\x1b\\x52\\x63\\x70\\x37\\xe0\\xfd\\xe9\\x2d\\x30\\x6f\\x2a\\x2b\\x63\\x0c\\xd2\\xad\\xa8\\x37\\x00\\x0c\\xb4\\x89\\xe7\\x8b\\x84\\x21\\x38\\xb3\\x2e\\x22\\x09\\x74\\xdd\\x74\\xf3\\xc8\\xb5\\x8f\\x5e\\xb2\\x72\\xe3\\xc6\\xc0\\xf7\\xdf\\x07\\x48\\x3f\\x0e\\xe8\\xe7\\x77\\x99\\x7e\\x72\\x72\\x2d\\xd9\\x82\\xe3\\xe5\\x64\\x07\\x11\\x46\\x5c\\x91\\xb8\\xe8\\xb8\\xe4\\xd1\\xb5\\x23\\x6f\\xbe\\x49\\xd9\\x40\\xba\\xd9\\xb8\\x11\\xfa\\x99\\x01\\xd2\\xd1\\x82\\xf4\\x8f\\xd0\\x4f\\x50\\x36\\xc2\\x16\\x02\\xb7\\xac\\x37\\x70\\x58\\x47\\xae\\x9d\\xbc\\x55\\xf2\\x22\\x69\\x0f\\xdd\\xe0\\x05\\xea\\x1c\\xc6\\xaa\\x33\\xa2\\x6b\\xea\\x81\\x3e\\xe6\\x67\\xfa\\x00\\xe8\\xf1\\x64\\x26\\x22\\x08\\x96\\x84\\xfb\\xcf\\xf5\\xe1\\x81\\x39\\x88\\x20\\x17\\xc5\\x7b\\xd4\\xd1\\x8d\\xea\\x64\\x54\\xbd\\xa3\\x01\\xfa\\x78\\x34\\xfd\\x3f\\x94\\x2f\\x2b\\x96\\x4d\\x2a\\x5f\\xe6\\xf5\\xd9\\x91\\x49\\xa0\\x37\\x60\\x3e\\xc4\\x4f\\xc0\\x77\\x7d\\x38\\x80\\xed\\x52\\x3a\\x07\\x63\\xbb\\x60\\x4f\\xe6\\xa0\\x8f\\xf1\\x7f\\x18\\xab\\x55\\x44\\xa3\\xd3\\x6b\\x8e\\xad\\xa3\\x79\\x54\\x0f\\xa0\\x8f\\x99\\x27\\xe1\\x59\\x1c\\x8d\\x56\\xfe\\x7c\\x6c\\x1d\\xf9\\x1b\\x1a\\xa6\\xfd\\xed\\x65\\xf4\\x27\\xe6\\x4b\\xc6\\x67\\x15\\x99\\x9d\\xe9\\xd0\\xb1\\xb3\\xe9\\xb3\\xd1\\xca\\x52\\xa6\\x38\\x7d\\x0b\\x3c\\xbb\\x55\\xf9\\xf2\\xe7\\x72\\xba\\x86\\x5d\\x78\\x2c\\x73\\x26\\xbf\\x91\\xae\\xa1\\x52\\x76\\x4a\\x2e\\x97\\x9e\\xae\\xc1\\xb4\\x65\\x96\\x1d\\x58\\x2b\\x61\\xcb\\x2c\\x34\\x18\\x06\\xe5\\xf3\\x91\\xf9\\x6b\\xc3\\xd3\\x3b\\xe6\\xcf\\xeb\\x84\\x9f\\x06\\xed\\x15\\x8f\\xa5\\x2f\\xf0\\xc3\\x7c\\x97\\x79\\x47\\xe4\\x01\\x3f\\xfb\\x21\\x9c\\xe3\\x56\\xf5\\x1c\\x82\\xfc\\x4f\\x90\\x00\\xf3\\x54\\x76\\xca\\xf2\\x8c\\x61\\x17\\x48\\x39\\xd8\\x8f\\xe7\\x7d\\xb4\\x9e\\x6f\\x5d\\xff\\x11\\x2a\\x6c\\x07\\x32\\x20\\x08\\x5d\\x44\\x0c\\x65\\xc9\\xb6\\x65\\xd0\\x47\\x95\\x8e\\xa8\\xbc\\x75\\xfe\\xfa\\x8f\\xf0\\x3c\\xf6\\xc3\\x8f\\xd6\\x13\\x7e\\x12\\x64\\xe8\\x83\\xe9\\x7b\\xb5\\xf1\\x18\\x32\\x1e\\x93\\xdf\\x8c\\xee\\x35\\x08\\x79\\xe1\\xb9\\xeb\\x3f\\x52\\x6e\\x4b\\x0d\\x68\\x03\\x63\\x11\\x3c\\xc3\\xd0\\x28\\x7f\\x92\\xaa\\x42\\x8d\\x48\\x61\\xf8\\xa0\\x72\\xdb\\x47\\xeb\\x95\\x2e\\x98\\x25\\x4e\\xef\\x51\\x3a\\x99\\xfb\\xd2\\xfb\\xe1\\x64\\x96\\x02\\x8d\\xa1\\x1c\\xa0\\x0e\\x91\\x83\\xf9\\x58\\x4a\\x53\\x09\\x65\\xd3\\x94\\x80\\x38\\x66\\x83\\x41\\x1b\\x93\\xb6\\x89\\xdb\\xf1\\x4b\\xdb\\x01\\xa1\\xce\\xfc\\xf4\\xd3\\x4c\\x2c\\x26\\xed\\x07\\xde\\xf1\\x28\\xf0\\x38\\x25\\x55\\xb4\\x93\\x3d\\x29\\x44\\x68\\x8e\\xd6\\x05\\xed\\x00\\x88\\xcd\\xc4\\xed\\xcc\\x5c\\x68\\xfd\\x94\\xf2\\xee\\x56\\xda\\xf6\\x31\\xa5\\x9b\\x69\\x4c\\x7f\\x8d\\xf4\\x40\\x73\\xad\\xac\\x4e\\x87\\x38\\x51\\x04\\x1c\\x37\\xc0\\x99\\xd3\\x67\\x48\\x56\\x5e\\xa5\\xc4\\x86\\x7a\\xb1\\xb1\\x19\\xee\\x2c\\x57\\xd8\\x23\\x9e\\xf4\\x70\\x75\\x0c\\xff\\x41\\x49\\xc4\\xaa\\x8f\\xc5\\x9f\\x2e\\x5a\\xb6\\x69\\x79\\x11\\xc2\\xfd\\xff\\xe5\\x8f\\xa4\\xb7\\x8a\\x61\\xaa\\xbb\\x00\\xb0\\x93\\x35\\x65\\x75\\x17\\x2c\\xd5\\x5d\\xbc\\xa6\\xa9\\x2e\\xf8\\x23\\x59\\xd5\\x05\\xc2\\x4a\\x03\\x7f\\x04\\x79\\xb5\\x76\\x64\\x09\\xf9\\xed\\x30\\xd5\\x5e\\x28\\x0d\\x9a\\xfa\\x82\\x3f\\x92\\x51\\x5f\\xc0\\xfc\\xc7\\x71\\x73\\xf1\\x5f\\xa8\\x7e\\x2a\\x22\\xbb\\x45\\x56\\x60\\x01\\x11\\xd7\\x0a\\x9b\\x05\\x86\\x48\\x1b\\xbb\\x84\\x37\\x04\\x4e\\xc8\\x72\\xcf\\x44\\x0f\\xa2\\xa9\\xbb\\x1e\\x1f\\x54\\xdd\\x05\\xe7\\x47\\x93\\x27\\xac\\x02\\x73\\x2b\\xed\\x7f\\x1e\\xb7\\x16\\xff\\x0f\\xd5\\x29\\x05\\x76\\x93\\xfb\\x63\\xbc\\x6c\\x4c\\xc1\\xfd\\x9b\\xaf\\x4e\\xaa\\x52\\x75\\x38\\xb7\\xe5\\x29\\x92\\xb0\\x72\\x11\\xbf\\x8d\\xb9\\x45\\xa8\\x81\\x76\\x36\\x68\\x77\\x00\\x8f\\x47\\xc4\\x45\\x9b\\x48\\x3c\\x64\\x3d\\x61\\x51\\xb9\\x28\\xc0\\xb1\\x01\\x7e\\xdb\\x6f\\x7e\\xa3\\xee\\xe1\\x6f\\x60\\x1d\\xff\\x4b\\xe5\\xeb\\x30\\xc8\\xf8\\x92\\x80\\x05\\x1d\\x11\\x4c\\xa8\\x64\\xbd\\x0b\\xbd\\x81\\x38\\x2a\\x92\\x24\\x0e\\xcd\\x49\\x68\\x44\\x22\\x2b\\x4e\\x6f\\x3d\\x81\\x34\\x8d\\x91\\x95\\x5b\\x85\\x47\\x13\\x59\\x1a\\x35\\xc9\\x55\\x44\\x8c\\x46\\x7a\\x59\\x3f\\x59\\xbf\\x52\\xbf\\x45\\x7f\\x9b\\xfe\\x51\\xbd\\x88\\xf4\\xf5\\xf4\\xe3\\x73\\xfa\\x37\\xf5\\x9f\\xe8\\x45\\xf2\\x94\\x91\\x40\\x8c\\xa6\\xab\\x3a\\xb3\\x8a\\x58\\x5b\\x73\\x42\\xa7\\x75\\x50\\x99\\x33\\xbd\\x8e\\x5b\\x8a\\xff\\xcc\\xcf\\xa4\\x74\\x21\\x22\\xbb\\xec\\x26\\xd8\\xbb\\x4d\\xf0\\xa7\\xc9\\x68\\x25\\x62\\xb7\\xe4\\x43\\x89\\x38\\x1b\\x15\\x12\\x84\\x70\\x3e\\x41\\x98\\x5b\\x3f\\x76\\x6c\\x7d\\x43\\x67\\xa7\\xb2\\xac\\x7e\\x6c\\x77\\x03\\xbc\\xe1\\x96\\x76\\x25\\x12\\x1d\\x63\\x92\\x89\\xae\\x71\\x75\\xf5\\x5d\\x5d\\xf5\\x89\\x2e\\x02\\x57\\x0f\\xff\\x6a\\xfa\\x15\\xb1\\x0a\\xd9\\x51\\x54\\x96\\x2c\\x92\\x24\\x08\\xc8\\x60\\x70\\xc0\\xf1\\xd6\\x99\\x25\\x4a\\x4c\\xad\\x2f\\xa9\\xf8\\xaa\\x9a\\x16\\x58\\xea\\xa9\\x14\\x87\\x41\\x88\\xf2\\xda\\x15\\x69\\x1c\\x89\\x3f\\x4e\\x56\\x76\\x77\\x86\\x66\\x2e\\xfd\\xd7\\x94\\x59\\x2b\\x3b\\xea\\x85\\x75\\xa1\\x52\\xef\\x82\\xe2\\x1b\\x87\\x4f\\x37\\x26\\xce\\x65\\x8b\\xe9\\x9a\\xfe\\xc2\\x45\\xf0\\xc5\\x9a\\x1c\\x1d\\x92\\x9d\\x26\\x55\\x72\\xb6\\x0f\\x90\\x9a\\x13\\x87\\xab\\x12\\x27\\x26\\xd8\\x0f\\xfe\\x2a\\x39\\x99\\x49\\x9f\\xc1\\xcd\\x65\\xae\\xd5\\xe4\\x40\\xc0\\x60\\x1d\\x0b\\x50\\x9b\\x25\\x0c\\xb6\\xf5\\x19\\x0c\\xce\\x89\\x7d\\x5b\\x7f\\x49\\xec\\x03\\x9c\\xda\\x04\\x7d\\x07\\x33\\x67\\x83\\xc4\\xe3\\x6e\\x99\\x25\\x0e\\xa2\\xae\\xd5\\xce\\x46\\x56\\x47\\xcb\\x04\\x07\\xd7\\xd1\\xa2\\x0d\\xdc\\x24\\xf4\\x1d\\xd5\\xd1\\x96\\xc8\\x6e\\x0c\\xf3\\x24\\xfa\\x59\\xe6\\x78\\xfd\\x2c\\xc1\\x1c\\x60\\x6d\\xbe\\xd3\\x14\\xb3\\xf4\\xfe\\xb0\\xc2\\xdb\\x3e\\xda\\x56\\x44\\x71\\xd9\\x27\\xb0\\xa4\\x3d\\x7f\\x82\\x0e\\xb4\\x19\\x91\\x4e\\xc8\\xcf\\xc5\\x2b\\x56\\x7c\\xa5\\xf6\\xa5\\x1c\\xd4\\xfa\\x53\\xce\\x87\\xf3\\xb2\\x93\\xdf\\x9c\\x0f\\xb7\\x6b\\x7e\\x11\\x6e\\x94\\xf6\\x84\\xe9\\xef\\xb1\\xca\\x0b\\x02\\x76\\x5c\\xcc\\xe3\\xa1\\xf4\\xcd\\x5a\\x1e\\xfa\\xa2\\xa4\\x28\\x4b\\x90\\x18\\xf5\\x3c\\x0a\\x8f\\xc0\\x79\\xf4\\x01\\xdf\\x14\\xf2\\xd8\\xae\\x4d\\x79\\x3c\\x06\\xaa\\xf2\\x42\\xba\\xeb\\x52\\x83\\x0c\\x54\\xa5\\xba\\xd3\\xd5\\x55\\x0d\\x3c\\xa0\\xf9\\xe9\\x79\\xf3\\x0f\\xeb\\xd7\\x99\\x13\\x95\\x3b\\xb5\\xf8\\x89\\xdc\\xd9\\xc2\\xca\\x13\\x5c\\x2f\\x76\\xf3\\x77\\x20\\x09\\x56\\xe8\\x45\\xfa\\xad\\x29\\x01\\x76\\xd0\\x3c\\x28\\x75\\x23\\x83\\x52\\xbf\\xb1\\x08\\x95\\xe0\\x48\\xe2\\xdc\\xe0\\x79\\xeb\\x84\\xd3\\x98\\x99\\x93\\x27\\xaf\\x88\\x9d\\x16\\x7a\\x8a\\xbf\\x63\\xed\\x9a\\x58\\x79\\xcf\\xe8\\xf6\\xe9\\x37\\x3d\\x40\\x68\\x43\\x13\\xd7\\x84\\x77\\xf1\\x3f\\x21\\x1b\\xf4\\xed\\x63\\xeb\\xa4\\xcd\\x12\\xf3\\xa8\\xf4\\xa6\\xc4\\x48\\x52\\x48\\xea\\x95\\xd6\\x4a\\x3b\\xa5\\x5d\\x92\\x20\\xd1\\xdd\\x38\\x4c\\x09\\x41\\x33\\x95\\xb8\\x54\\xc7\\xac\\xd2\\xb2\\xa6\\x43\\xfb\\xcc\\xa9\\x29\\x81\\x70\\x60\\x5c\\xe7\\xc8\\xf1\\xdc\\x93\\x17\\xde\\x55\\xd2\\xe1\\x6e\\xad\\x72\\x85\\x4a\\xa2\\x81\\xc4\\xf0\\xae\\x81\\xfd\\x4b\\x75\\x04\\xeb\\x1e\\x65\\xdf\\x54\\x51\\xaf\\x97\\x5d\\xcb\\xee\\x04\\x04\\x14\\xd8\\x4c\\xff\\xa4\\x56\\x16\\x95\\xdf\\x6a\\x19\\xf5\\x34\\xe1\\x5d\\xf9\\x03\\xf0\\xe7\\x0c\\x1c\\x80\\xf2\\x66\\xe3\\x61\\x8c\\xf3\\x73\\x63\\xe8\\x37\\xeb\\x99\\x47\\x81\\x94\\x01\\x0d\\x0b\\xe9\\x7b\\xf5\\x6b\\xf5\\x3b\\xf5\\xbb\\xf4\\x82\\x3e\\x7f\\x0c\\x55\\x68\\xcc\\x08\\x62\\xf8\\xfc\\xd2\\xb2\\xca\\xd0\\x7a\\xd3\\xfa\\xeb\\x16\\x4e\\x69\\x1e\\xc5\\xdf\\x5a\\x52\\xeb\\xf1\\xc5\\xbc\\x1d\\x91\\x0e\\xef\\xc5\\xf3\\x67\\xaf\\xac\\xa7\\x63\\x1c\\xe4\\x9a\\x98\\xa6\\xcc\\x18\\xa8\\x8e\\xc0\\xfe\\x51\\xe1\\x4d\\x75\\x03\\x7a\\x85\\xb5\\xc2\\x4e\\xd8\\x06\\x41\\xc8\\x8e\\xa1\\x1a\\xc9\\x72\\x4b\\xc1\\x4f\\x35\\x75\\x1e\\xda\\x6b\\x9a\\x35\\x19\\x56\\xd2\\xc3\\xff\\x34\\xaa\\x9d\\x2c\\xc4\\x33\\xa2\\xca\\x15\\x0c\\x96\\x06\\x1a\\x3a\\xd4\\xbb\\xef\\x76\\xa5\\x13\\x0d\\xa3\\xfa\\x7e\\x3b\\xe1\\x1f\\xae\\x99\\x45\\x80\\xc4\\x10\\xe0\\x54\\x65\\x10\\xb7\\x74\\x10\\x7d\\xbf\\xd2\\xa1\\x74\\xa1\\x6a\\xaa\\xef\\x1f\\xa4\\x9d\\x76\\x69\\x76\\x1c\\xa7\\xf3\\xc7\\xe9\\x76\\xa5\\x03\\x3d\\x9b\\x7e\\x1f\\x4e\\xa2\\xff\\x71\\x96\\xe3\\xb0\\x28\\xc2\\xc5\\xe6\\xdc\\x3d\\x4b\\x44\\xd9\\x2c\\x2c\\xe4\\xf0\\xa9\\x7a\\xe3\\x67\\x89\\x26\\x5b\\xe9\\xb8\\x74\\xd3\\xa5\\x68\\x60\\x5b\\x9e\\x61\\x44\\x8c\\x45\\xda\\x16\\xe7\\xb7\\x15\\x09\\x87\\x04\\x3c\\xd9\\x41\\xd2\\x36\\xa6\\x36\\x85\\xf9\\x7e\\xcc\\xdd\\x8d\\xff\\x2e\\x8c\\x82\\xf9\\x3a\\xf6\\x71\\x78\\x73\\x0a\\x71\\xb4\\x29\\x61\\x1c\\xc9\\x84\\x1b\\xa9\\xa4\\x3a\\xbc\\xff\\x2e\\xd6\\xc0\\xdd\\xfd\\xe3\\xbd\\x4a\\x1f\\x81\\xff\\x66\\xf6\\x1a\\xe6\\x62\\xfe\\x53\\x64\\x45\\xba\\xdd\\x3a\\x0b\\xb0\\x54\\x44\\x15\\x9a\\xc1\\x12\\x0a\\xeb\\x26\\xbc\\x39\\x1c\\x0f\\x2f\\x99\\x32\\x76\\x7a\\xfa\\x88\\xed\\x5b\\xee\\xb7\\xee\\xa2\\x50\\x75\\xb4\\x7b\\xe6\\x8c\\x8e\\xed\\x9f\\x8e\\x5a\\x70\\x0a\\x99\\xf3\\x2d\\x30\\xe7\\x85\\x30\\x67\\x33\\xb2\\xec\\x36\\xa8\\x63\\x1a\\x10\\x39\\xa7\\x62\\x81\\x0d\\xc0\\x95\\x31\\x01\\x1c\\xc9\\xb3\\x00\\x90\\xf6\\x8d\\xb0\\x3f\\xaf\\xa5\\x5f\\x80\\x35\\x5b\\xf6\\x82\\x54\\x03\\xe7\\x9d\\xaa\\xee\\x89\\x8a\\x5c\\xd5\\xf8\\xbf\\x06\\x4b\\x54\\x3a\\xb7\\x6b\\xfa\\xfa\\x82\\xef\\x33\\x82\\x90\\x31\\x15\\x00\\xe7\\xe8\\x52\\xd5\\xf1\\xe4\\xfb\\xad\\xda\\xd7\\x29\\x4c\\x3b\\xd1\\xc1\\xf4\\xef\\x80\\x92\\x39\\x9f\\x50\\x35\\xfa\\xac\\x3e\\xab\\xd1\\x27\\x3b\\x91\\xd3\\xe1\\x1f\\x54\\x55\\xf8\\xca\\x33\\xaa\\x0a\\x1f\\x2b\\x4f\\x2a\\x1f\\xe3\\xae\\xf4\\xd9\\x40\\x57\\x75\\xbb\\x09\\xbf\\x97\\xd4\\xd8\\x8b\\x27\\x03\\xcc\\xea\\x80\\xf2\\x31\\xd1\\xdd\\x2b\\x77\\x2b\\x13\\xf0\\x70\\x74\\x03\\xd0\\x11\\xe9\\x71\\x24\\x5e\\x9f\\x62\\x91\\x89\\x30\\xb4\\x04\\xb9\\xb2\\x2e\\xa6\\x6d\\x38\\x0c\\xa7\\x63\\x4f\\x2e\\xa3\\x6c\\x1c\\x87\\xc3\\xa5\\x47\\x94\\x09\\x6a\\xd2\\xd8\\xf7\\x0f\\x3c\\xf3\\x26\\x9d\\x2b\\x3c\\x61\\xac\\xd0\\x97\\x03\\xd9\\x9f\\xb0\\x22\\x64\\xbe\\x3e\\x05\\xcb\\xac\\x3b\\xac\\x5d\\x21\\xaa\\xf6\\x36\\x2c\\xe6\\xe5\\x46\\xc5\\x2d\\x3b\\x1e\\xe6\\x63\\x38\\x1c\\xcf\\xe4\\x41\\x9d\\xa1\\x4c\\xb8\\xf1\\x8a\\xe0\\xc8\\xb7\\xde\\xcf\\xa4\\x3d\\xa5\\xfd\\xba\\x95\\x33\\xd0\\xd8\\xf4\\x1d\\x00\\x03\\xaf\\x6c\\x44\\x82\\x60\\xd2\\x23\\xd6\\xaa\\x22\\x73\\x52\\x63\\x03\\xc5\\x3c\\x3a\\xfa\\x8f\\x0c\\xed\\xfc\\xdf\\x2c\\xc1\\x64\\x94\\x2a\\x65\\x0d\\x5a\\x9b\\x5e\\x44\\xef\\x6d\\xfb\\x13\\x26\\xe0\\x83\\x37\\xa5\\xec\\x44\\xc4\\xd2\\xae\\x93\\x13\\xb0\\x1e\\xba\\x81\\x9c\\x87\\xb2\\xe6\\x78\\xce\\x83\\xf4\\x7f\\x81\\x32\\x0e\\x85\\xd3\\xdf\\xd3\\xfe\\x5d\\xbb\\xed\\x68\\x7f\\xfa\\xb9\\x7d\\xc0\\x19\\x68\\x62\\x1c\\xe1\\x06\\xd8\\x13\\x70\\x03\\x7b\\x06\\x8a\\x6f\\xe3\\x06\\xe3\\x06\\xc8\\x19\\x39\\xa3\\xff\\xc7\\xf4\\xbf\\x40\\x26\\xb0\\x22\\xd7\\xde\\x36\\xe0\\x02\\xc9\\x20\\x8f\\x19\\x2d\\xdd\\xe4\\x90\\x1c\\x9e\\x03\\x40\\xc8\\x60\\xbd\\x46\\x60\\x76\\x8e\\x98\\xfc\\xe2\\x93\\xe6\\x87\\x03\\xa1\\xc0\\x49\\xdd\\x93\\xdb\\xd7\\xdc\\x1a\\xec\\x28\\x9f\\xe6\\x2c\\x2e\\x89\\x17\\x35\\xd0\\xdc\\xdd\\xca\\x68\\x65\\x32\\xbc\\xd6\\x01\\xbf\\x64\\x7b\\x02\\xf1\\x64\\xef\\xcd\\x26\\xca\\x27\\x55\\x51\\x1d\\x76\\xa6\\x38\\x4d\\x73\\x92\\x96\\xaa\\x16\\x94\\xbf\\x4c\\xee\\x88\\x35\\xd7\\xd7\\xb5\\x2e\\x9d\\x31\\xab\\x6a\\x72\\xea\\x3e\\x65\\x72\\xd1\\x7c\\x47\\xa2\\x72\\xa2\\xf8\\xc2\\x0a\\xe3\\x94\\xd6\\x05\\x67\\xd3\\xbd\\x6a\\x53\\xa6\\xa2\\x7f\\x51\\xdd\\xbe\\x79\\x1f\\x55\\xe5\\x53\\x0c\\xc8\\x00\\x38\\x4f\\x79\\x5f\\xf2\\x8b\\xba\\xfb\\xf4\\xab\\x70\\x2e\\x9b\\xa9\\x2d\\x95\\xd0\\x2f\\xbc\\xa5\\x80\\x7e\\x91\\x8b\\xbf\\x39\\x63\\x49\\xc5\\x00\\xfb\\x4e\\x7c\\x59\\xfa\\x33\\x18\\xca\\xf4\\x18\\x87\\x18\\x81\\x2a\\x02\\x88\\xf4\\x0f\\xc2\\x9f\\x2d\\x6c\\x7b\\x57\\x99\\xfa\\x08\\x0b\\x72\\xf6\\x8f\\x3f\\xe2\\x1d\\x40\\x38\\xb0\\x72\\x9d\\xf2\\x04\\x5e\\x91\\x5e\\x8f\\xbc\\xa8\\x4a\\xd6\\x1b\\x5c\\x2e\\x4e\\x44\\xc8\\x6e\\x01\\x60\\xca\\x46\\xbd\\xd4\\x6d\\xb1\\x12\\x1b\\x01\\xc3\\x11\\xec\\x3a\\x54\\x95\\x48\\x64\\x85\\x1b\\x00\\x46\\x52\\xdd\\xb4\\xa4\\x5a\\xd9\\x8d\\xb8\\x20\\xc1\\x93\\x3b\\x81\\x24\\x74\\x0d\\xa1\\x56\\xc6\\x85\\xad\\xad\\x0b\\x81\\x36\\x74\\xfd\\x34\\x36\\xd1\\x30\\x8e\\x58\\x20\\xa7\\x4c\\x59\\xd3\\xd3\\x30\\x0e\\xc6\\xb4\\x29\\x63\\xd1\\x4e\\xaa\\xb7\\xf1\\xc9\\x66\\x91\\x72\\x72\\xd4\\xac\\xc0\\x50\\x76\\x51\\x45\\x42\\x4f\\x86\\xcb\\xda\\x39\\x98\\xbe\\x06\\xf7\\xef\\x05\\x1c\\x6b\\xa7\\xba\\x0f\\x0f\\x39\\x07\\xc4\\xca\\x2e\\x86\\x58\\x4c\\xcf\\x81\\x76\\xc8\\x32\\x32\\x4c\\xff\\xde\\x9c\\x10\\xa3\\x8c\\xcb\\xd9\\xec\\x95\\x4e\\xe8\\xe3\\x9e\\xf4\\xb5\\x40\\xef\\x3c\\x32\\xa9\\x8b\\x8f\\x91\\x81\\x5c\\x57\\x04\\x68\\xb0\\xdc\\x39\\x19\\x3c\\xcd\\x32\\x28\\xcf\\xe5\\x31\\x25\\xca\\xb8\\x02\\x7b\\x5c\\xff\\xc7\\xd0\\xd7\\xc8\\x34\\xf1\\x99\\x2e\\x95\\xed\\x66\\x24\\x60\\x62\\xbe\\x21\\xbc\\x48\\x76\\x61\\xd4\\x7a\\x44\\xd2\\x2c\\x69\\xc8\\x99\\xc7\\x82\\x3c\\x5d\\xc0\\x82\\xac\\xce\\xe7\\x40\\x48\\xdf\\xef\\x2b\\x8b\\xd0\\xe3\\xe9\\xed\\xc8\\x05\\xb2\\xa7\\x93\\x1a\\x65\\x90\\x01\\x6e\\x31\\xbb\\x81\\xd8\\x6d\\x42\\x06\\x6c\\xc8\\xda\\xa6\\xe8\\x2f\\x4a\\xae\\x06\\x31\\xba\\x9c\\x32\\xa8\\xcd\\x45\\x59\\x34\\xc0\\xe6\\x82\\x95\\x62\\xe5\\x08\\x7a\\x28\\xbd\\xf1\\x38\\x5a\\x59\\x4c\\xad\\xef\\x47\\x08\\xad\\xec\\xf7\\x29\\xfd\\xb8\\x28\\x7d\\x43\\xc1\\x77\\x00\\xc7\\xfa\\x7d\\x1c\\xa7\\xf4\\x53\\x61\\x8d\\xe9\\xbf\\x44\\x69\\xc0\\x97\\xd2\\xef\\x10\\x6c\\xe4\\x39\\xfa\\xbd\\xc3\\x09\\xf5\\x9b\\x3c\\xf9\\xf6\\x25\\x1c\\x77\\xf4\\x98\\xda\\xe2\\x30\\x69\\x84\\x95\\x57\\x18\\x17\\xbe\\x93\\xed\\x84\\xb5\\x96\\xca\\xb6\\x81\\x6b\\x35\\x50\\x8d\\x64\\x6e\\x9d\\x8e\\x41\\xd7\\x79\\xe3\\xa0\\xeb\\x64\\x5c\\xc7\\xad\\xf3\\x1b\\x66\\x1e\\x3e\\x9f\\xf9\\x0f\\x5d\\x03\\x35\\xe8\\x6a\\xeb\\xfc\\x86\\xac\\x93\\x99\\x47\\xef\\x04\\x89\\xe9\\x65\\x6a\\x07\\xf9\\x8e\\x14\\xe0\\xb8\\x00\\xd3\\x0b\\x93\\xc6\\x4a\\x49\\xfa\\x1b\\xfc\\x09\\xfb\\x10\\x7c\\xc7\\xf0\\x18\\x43\\x9c\\xe6\\xdb\\xda\\x1a\\xea\\xf9\\x38\\xf6\\x28\\xa7\\x9f\\xc4\\xae\\x3e\\xc9\\x49\\x7e\\x91\\xf1\\x0e\\xc0\\xf7\\xe6\\xf1\\xd7\\xd2\\xef\\xb1\\x08\\xab\\xdf\\x13\\x23\\x38\\xb9\\xff\\x5a\\xc6\\x77\\x8d\\x13\\xa4\\xda\\xfc\\x3b\\xd8\\xf4\\x98\\xd1\\xc0\\xc2\\xc9\\x4b\\xbe\\x04\\x63\\x7a\\x0a\\x2c\\xfa\\xee\\x8c\\x41\\xff\\x48\\xbe\\x3d\\xbf\\xe0\\xec\\xf3\\x0c\\xd1\\x0c\\x24\\x08\\xb4\\x79\\x38\\xf7\\x44\\x27\\x82\\x2f\\x3b\\xf6\\x9f\\x47\\xf0\\x23\\xc5\\x4a\\x1f\\xde\\xf1\\xe3\\x8f\\xc0\\xbb\\x37\\xc3\\x7d\\xfa\\x6a\\xfa\\x90\\xb6\\x3f\\x22\\x26\\x7c\\x26\\xdd\\x1f\\x47\\xd8\\x16\\x66\\x1b\\x23\\xae\\x57\\x95\\x15\\xf8\\xba\\x2b\\xd6\\x43\\xb7\\x17\\xa7\\xd1\\xfa\\xf5\\x64\\x8c\\xdf\\x28\\xbf\\xc5\\x4b\\x80\\x5e\\xf8\\xe1\\xcc\\xe8\\x91\\x95\\x35\\x99\\x5c\\x3a\\x8f\\x83\\xb6\\x03\\xca\\x40\\x48\\x0d\\xa6\\x68\\x5d\\x84\\x23\\x5a\\x11\\xca\\x08\\x75\\xd3\\xa4\\x0a\\x7d\\xec\\x31\\xb7\\x95\\x37\\x76\\x4e\\xee\\x6c\\xac\\x18\\x69\\x9e\\x6a\\x59\\x31\\x6e\\xd1\\x88\\x11\\x8b\\xba\\x4f\\xb7\\x29\\x9f\\x45\\xab\\xbb\\x93\\x7e\\x7f\\xfd\\xf8\\xea\\xe8\\x98\\xd9\\x53\\xa6\\xa4\\xba\\x28\\xfd\\x8c\\x70\\xc5\\xe8\\x43\\xfe\\x5d\\x6a\\x0f\\x33\\x32\\x3a\\x1d\\xaf\\x17\\x8d\\x3c\\x4f\\x64\\x9f\\x24\\x1d\\xcb\\xd6\\x42\\x19\\x30\\x31\\x2e\\xc6\\x9b\\xe3\\xcd\\x9e\\x66\\x8f\\xf8\\x61\\xd7\\xb6\\x6d\\x99\\x7f\\xdc\\x69\\xe4\\xe5\\x46\\xf5\\x03\\xed\\xef\\x12\\xce\\x8c\\x2e\\x14\\xea\\xe0\\x56\\x4a\\xca\\xe5\\x12\\x6b\\x0c\\x79\\xea\\x3c\\x6d\\x9e\\x5e\\xcf\\x5a\\xcf\\x66\\xcf\\x4e\\xcf\\xb3\\x9e\\x8f\\x3d\\xdf\\x7a\\x0c\\x92\\x27\\x44\\x1f\\xed\\xf4\\xec\\xf2\\xa4\\x3d\\xa2\\x87\\xc8\\x0d\\x87\\x88\\x29\\x85\\xcd\\xf1\\xdd\\xae\\x1c\\x8b\\x7f\\xc9\\x90\\x21\\x25\\x65\\x25\\x1b\\xd6\\x68\\x2f\\xdc\\x5a\\xd6\\xe3\\xf7\\xd4\\x24\\x86\\x45\\xa6\\x9c\\x72\\x66\\xee\\xad\\x7a\\x2f\\x6e\\xe3\\x7f\\xc3\\xbc\\x27\\xfc\\xac\\xc1\\x1b\\x31\\x3c\\x97\\x39\\x0f\\x9a\\xfe\\x58\\x79\\x8a\\x60\\xd5\\xd1\\xbf\\x90\\xdf\\xc2\\x82\\xcc\\x99\\x48\\xdf\\x0d\\x32\\xd6\\x48\\x2a\\xc3\\x05\\x65\\x07\\x91\\xdf\\x06\\x93\\xaa\\x00\\x10\\x94\\x03\\xfe\\x4c\\xe3\\x80\\x33\\xb2\\x1a\\x50\\xb5\\x18\\xc8\\xb7\\xa6\\x5f\\xd1\\x9e\\x72\\xc2\\x31\\x8d\\x11\\x26\\x62\\x32\\x65\\x84\\x71\\xfa\\x7c\\xae\\x9d\\x99\\x4e\\x6d\\xc7\\x23\\xe4\\x2a\\xf5\\x24\\x22\\xc3\\x35\\xb3\\x06\\x9a\\x87\\x77\\x22\\x6e\\x10\\xe3\\x30\\x31\\x98\\x93\\xe3\\x7a\\x22\\x53\\x30\\xee\\xfa\\x75\\xa6\\x60\\x58\\x87\\xe6\\x6b\\x08\\x77\\xb4\\x6e\\xb7\\x95\\x55\\x79\\x5c\\xb8\\xe3\\x1b\\x47\\x32\\xc4\\xea\\xa8\\x71\\x14\\xcc\\xfc\\x97\\x9e\\x19\\x3a\\xb5\\xba\\xa8\\xa2\\x6b\\x66\\x47\\xcf\\x22\\x6e\\xd3\\x6f\\xdf\\x6b\\x98\\x2d\\xb5\\x4e\\x28\\x75\\x87\\xfd\\x55\\xd3\\x46\\x8d\\x59\\x8e\\xd8\\xf4\\x7f\\xb9\\x1e\\x66\\x0f\\xff\\x37\\xca\\x9f\\x14\\xa1\\x11\\x8f\\x09\\x76\\x93\\x7d\\x3f\\x76\\x3d\\x9e\\x42\\x26\\x93\\xd7\\x1b\\x00\\xc6\\x57\\x76\\xcd\\x02\\xfe\\xca\\x3b\\xcf\\xcb\\x3e\\xea\\x7d\\xd3\\xcb\\x48\\xde\\x90\\x77\\x97\\x97\\xf5\\x66\\x15\\x34\\xde\\x0c\\xaf\\x74\\x22\\x35\\x8d\\xa7\\xd1\\x91\\x74\\x61\\xa6\\xab\\x46\\x1e\\x55\\x5d\\xdd\\x36\\xb2\\xff\\x3b\\xed\\xcd\\x94\\x55\\xdf\\x2b\\x3f\\x70\\xa7\\xca\\x35\\x35\\x23\\x5b\\x6b\\x6b\\xdb\\xc8\\xab\\x5c\\x55\\xdb\\x66\\x09\\xe3\\xd5\\x31\\x65\\x2b\\xc0\\x3a\\x01\\xe7\\xbf\\x27\\x7d\\x1d\\x9c\\x7f\\xc3\\x1e\\x3d\\xa2\\xba\\x51\\x42\\xcf\\x1b\\x81\\x47\\x94\\xb0\\xca\\x2d\\x8c\\xbe\\x9a\\x2b\\xfa\\x6d\\x80\\x2b\\x0f\\x15\\x17\\x77\\x2b\\x1d\\xe7\\xd7\\xdc\\x73\\x43\\x59\\x5c\\x9a\\x50\\xa7\\xf2\\x45\\x17\\x80\\xec\\x70\\x19\\xc8\\x0e\\x22\\xf0\\xb0\\x02\\xc8\\x0e\\x94\\xab\\x4e\\xbc\\x5e\\x35\\x90\\x05\\x00\\xc9\\x41\\x65\\x01\\x80\\x4e\\x2b\\x4a\\x03\\xc3\\xfc\\x22\\x9d\\x56\\x06\\xd0\\x69\\x26\\x3d\\x03\\xe6\\xf9\\x00\\xe5\\x49\\x44\\xe0\\x21\\x79\\x4c\\xd8\\x12\\x4a\\x3f\\x34\\x35\\x82\\xa6\\x92\\x18\\x41\\x55\\x12\\x84\\x39\\xa1\\x2a\\x09\\x9c\\xa5\\x39\\x3c\\xac\\x8f\\x2a\\xa8\\x5f\\x57\\x15\\x18\\x20\\xd3\\xbc\\x7a\\x85\\xf2\\x1f\\x7c\\x1d\\x10\\x1b\\x74\\xb1\\xba\\x96\\x4d\\xec\\x11\\xbc\\x84\\xbf\\x0d\\x68\\xcd\\x62\\x79\\xac\\x64\\x37\\x3b\\x91\\x73\\x6b\\x8a\\x67\\x44\\x64\\x16\\xb7\\xa6\\xbc\\x66\\xab\\x19\\x99\\xaf\\x99\\x65\\x64\\x09\\xd2\\x11\\xec\\xdb\\x85\\x9e\\x45\\x44\\x14\\x07\\x9c\\xfe\\x36\\x87\\x8a\\x99\\xbf\\x7c\\x8b\\xf4\\x48\\x0e\\x45\\x28\\x83\\x48\\x7c\\x16\\x0e\\x69\\x25\\xec\\xd4\\xb0\\x2b\\xf5\\x37\\xbd\\x51\\x80\\x98\\x64\\xd1\\x94\\xd0\\x94\\x0c\\xa2\\xce\\xaa\\x29\\xaf\\x3d\\xb7\\xa9\\xca\\xa3\\xa2\\x6a\\x7d\\x6d\\xdd\\xb9\\x43\\x23\\x5e\\x0d\\x59\\xeb\\x9d\\x3d\\xed\\x0b\\x4a\\x08\\xbe\\x7a\\x66\\x8c\\x5a\\xe4\\xa7\\x18\\xcb\\x2a\\x8f\\xb0\\x0f\\xe2\\xa9\\xc2\\x7f\\x89\\xc6\\x0f\\x66\\x55\\x27\\xbb\\x9d\\x9c\\xd1\\x18\\x0f\\xd4\\xc4\\x37\\xa5\\xac\\xc0\\x6e\\x84\\x6b\\x02\\xe1\\x4d\\xa9\\x40\\x0d\\x15\\x0b\\xa8\\x48\\x78\\x28\\x93\\xf6\\x24\\x79\\x28\\xef\\x72\\x53\\x4b\\x60\\xd0\\xba\\xbe\\xf4\\xc0\\xe4\\xb1\\xf7\\xb6\\xbc\\xf7\\x17\\x4c\\x5f\\xd9\\x12\\x2e\\xf5\\xeb\\x97\\x18\\x97\\xcd\\x6f\\x98\\xd4\\xd9\\x1a\\x74\\x78\\x24\\xd3\\x12\\xe3\\x12\\xe5\\xbe\\xae\\x64\\xb2\\x2b\\xff\\x87\\x7b\\xf2\\x94\\x9a\\x9a\\xce\\x9b\\x2f\\x8b\\x26\\x6a\\xcc\\xc5\\x1d\\xdb\\x37\\xe2\\x17\\xc9\\xf3\\x21\\x5d\\x5d\\xfd\\x1f\\x68\\x6f\\x34\\x7a\\xc5\\xfe\\x03\\x5f\\x24\\x4c\\x84\\x73\\x5f\\x85\\x2a\\x64\\xbb\\xdd\\xc0\\x19\\x62\\xc5\\x6e\\x03\\xfc\\x8f\\xca\\xfd\\x25\\x12\\xf1\\x60\\x3a\\x94\\xfc\\x20\\x71\\x88\\x06\\x44\\x59\\x0f\\x01\\x4d\\xb6\\x1e\\x3a\\xd1\\xa5\\x3c\\x38\\x4b\\xb2\\x60\\xd0\\xb3\\x3f\\x63\\xd0\\xa7\\xec\\x3f\\x0a\\x28\\x02\\x4e\\x1e\\x77\\x9f\\xff\\x8f\\xd2\\x8d\\xed\\xe9\\xaf\\x81\\x07\\xb3\\x3f\\xce\\x1a\\x0c\\x3c\\x32\\x53\\x13\\x56\\x42\\xbd\\x26\\xe2\\xcd\\x11\\x8f\\x18\\x27\\x5a\\xf9\\x24\\x5c\\x16\\xae\\xd3\\xaa\\x63\\x4f\\xc7\\xaa\\x1f\\x7e\\x58\\x7d\\x51\\xba\\x8b\\x96\\x2f\\x2f\\x7a\\x9a\\xe8\\xe7\\x97\\xc1\\x8b\\x2a\\x6f\\x36\\x00\\xae\\xbe\\x99\\x7e\\x0d\\x10\\xc7\\xf9\\x84\\x88\\x78\\xcc\\x71\\xac\\x8e\\x5a\\x36\\xe1\\xee\\x21\\xb7\\x64\\x1c\\xe4\\x4d\\x91\\x08\\x86\\x8f\\x2d\\xdf\\x44\\x5a\\x3d\\xad\\x7c\\x5f\\xf6\\xc7\\x3f\\x96\\x41\\xa7\\xa4\\xbd\\xb7\\x3f\\x04\\x40\\xfc\\x84\\x7f\\x5e\\xd5\\xf9\\x02\\x06\\x0c\\x47\\x5d\\x68\\x1a\\xa0\\xe4\\x32\\xb4\\x06\\x6d\\x00\\x12\\x7c\\x0b\\xba\\x17\\x3d\\x06\\xa8\\xf9\\x22\\x7a\\x0d\\xbd\\x85\\xde\\x45\\xef\\xa3\\x8f\\xd1\\xe7\\xe8\\x6b\\x74\\x9f\\x7c\\x72\\x38\\xb0\\xee\\x99\\x67\\x2e\\x78\\x62\\xca\\x9c\\x39\\xe3\\x4f\\xde\\xbd\\x64\\xc9\\x83\\x0b\\xa8\\x31\\xec\\xec\\xbb\\xef\\x3e\\x63\\x67\\x4b\\x47\\x47\\xb2\\xed\\xa6\\x6b\\xaf\\xbd\\xfe\\xf2\\x9a\\x78\\xe0\\x89\\x93\\x17\\xb0\\x3b\\xdb\\x2e\\x8f\\xc7\\x2f\\x6f\\xdb\\xc9\\x2e\\x38\\xf9\\x89\\x80\\xfe\\xaf\\xaf\\xbc\\xf3\\xce\\x9f\\x7e\\xff\\xf6\\xa7\\x5f\\x7e\\xf6\\xd5\\xf3\\x6f\\xbc\\xf1\\xd5\\x97\\x6f\\x73\\x6f\\xbe\\xf7\\xf2\\x9f\\x3e\\x7c\\xe1\\xf5\\xd7\\x3f\\x3a\\xf4\\x26\\xb9\\x39\\x89\\xd2\\xb7\\x2e\\x99\\x1f\\xc1\\x4b\\x9d\\x06\\x68\\xad\\x4e\\xf5\\xbf\\x6c\\x9c\\xc3\\x2f\\xff\\x2a\\x74\\xb6\\x8a\\xe5\\x3b\\x5e\\x9d\\x00\\x45\\xf9\\x5f\\xf1\\xfd\\xfc\\xe7\\xf1\\x13\\x7c\\x87\\xfd\\x15\\x6d\\xf9\\x13\\x7c\\xa7\\xe0\\x39\\xb5\\x6b\\xd9\\x54\\x8b\\x53\\x84\\x52\\x47\\xc2\\x2a\\x25\\xf9\\x30\\x7d\\x1a\\xa6\\x6e\\xaa\\xf0\\xa3\\xe0\\x62\\xb7\\xbb\\x98\\xfc\\xb0\\xdb\\x32\\xef\\x94\\xc6\\xcc\\xbb\\xcc\\x0f\\x1e\\x93\\x79\\xd7\\x7f\\x6e\\xe6\\x1d\\x73\\xc5\\xf1\\xcf\\xfa\\xb2\\x9d\\x4d\\xce\\xbc\\xfb\\x2f\\xf9\\x15\\x72\\x41\\xaf\\xb7\\x91\\xdf\\xb4\\xb7\\xde\\xcc\\xbb\\xfe\\x07\\x32\\x7f\\x65\\x27\\x0e\\xf2\\xec\\x85\\xbe\\xb7\\xf1\\x50\\xe5\\x95\\xb7\\xfb\\x8e\\xae\\x79\\xbb\\x8f\\xbc\\xeb\\x7b\\x9b\\xe9\\x50\\x5e\\x21\\xef\\xf0\\x50\\x66\\x4c\\x5f\\xdf\\xcf\\x77\\xf6\\xf5\\x31\\x9f\\x14\\xce\\xb5\\x58\\x19\\xaf\\xbd\\x61\\x1f\\xd2\\xde\\xac\\x1a\\xf0\\x8d\\xfe\\x4d\\x03\\x1e\\x3c\\xa0\\xbe\\x86\\xf0\\xd9\\xea\\xc8\\xc5\\xfd\\x07\\x33\\x7d\\x2c\\xd4\\xde\\x68\\xb3\\x0b\\x7d\\xae\\xbd\\x2a\\x4f\\x68\\x5f\\xfd\\x4c\\x7b\\x65\\x17\\xbe\\xdd\\xf7\\x73\\x5b\\xdf\\xdb\\x5c\\x0c\\x26\\xfd\\x73\\x1b\\x1e\\xfa\\x76\\x5f\\x1f\\xf7\\x53\\xdf\\xb1\\x0d\\xea\\x74\\x55\\x7d\\x25\\xcf\\xa6\\xb1\\x9d\\x7f\\x04\\x64\\x3b\\x62\\x27\\x14\\x45\\x0e\\x63\\xbd\\x40\\xd9\\xbe\\xc3\\x39\\x3b\\x9f\\x83\\x58\\x91\\x1b\\x93\\x1e\\x57\\x49\\x80\\x58\\xa3\\xd9\\xf4\\x48\\x6a\\x8d\\x26\\xe7\\xf6\\x49\\x4e\\x40\\x97\\xf2\\x3b\\xe0\\x0e\\xf5\\xca\\x7a\\xcd\\xaf\\x55\\x75\\x6b\\xcd\\xb5\\x2e\\xd0\\x68\\xe9\\x33\\x1a\\x2d\\xee\\xad\\x9c\\x4a\\x8b\\x49\\xaf\\xe4\\xe6\\xe1\\x37\\x85\\x0d\\xb4\\x4e\\x9d\\x2c\\x47\\xdc\\x56\\x2b\\xcb\\x9a\\x83\\x82\\x59\\xaf\\xca\\x75\\x93\\xe8\\xbd\\x92\\x46\\xbc\\x9e\\x05\\x41\\xd6\\xe7\\xb8\\x36\\xe5\\xcb\\x98\\x76\\xd5\\xa2\\x2b\\xd6\\x43\\xd4\\x45\\xd4\\xa6\\xfa\\x50\\x0f\\x90\\xf9\\xf2\\x71\\xf8\\x1d\\x22\\xff\\x19\\xe6\\xb7\\x4f\\x39\\xb3\\xe4\\xb4\\xd0\\x81\\x8e\\x4c\\xaa\\x34\\x61\\x03\\x91\\x04\\x47\\xf7\\x8c\\x99\\x76\\xf3\\xfd\\xca\\x39\\x5a\\x6a\\x34\\xa0\\x73\\x0f\\xc0\\xdd\\xdb\\x97\\x56\\x80\\xae\\x54\\xca\\x76\\x03\\x42\\x02\\xc7\\x99\\x80\\x3d\\x56\\x99\\x63\\xbd\\x48\\x45\\x7e\\xea\\xfa\\x90\\xb3\\x49\\x16\\xb2\\xc9\\x7d\\x79\\x6c\\xb2\\x72\\x4d\\x21\\x9b\\x0c\\xfd\\xff\\x43\\xe9\\x4c\\xff\\x2f\\xb5\\xe5\\x03\\xfc\\x81\\x8d\\x13\\x19\\x46\\x2f\\x52\\x3b\\x6d\\x5e\\x7f\\x2c\\x75\\x05\\x70\\x89\\x1e\\xbd\\x6a\\xc9\\x57\\x3a\\x35\\x53\\x3e\\x56\\xbe\\x82\\xf6\\x3f\\x64\\xda\\x63\\x9e\\x07\\xf1\\x57\\xaf\\xc3\\x5c\\xe1\\xfe\\x61\\x75\\xf7\\xc4\\x88\\xf2\\x95\\xea\\x4d\\xa0\\x5c\\x9a\\x75\\x27\\x80\\xbb\\xc7\\x0d\\xb4\\xf7\\x4b\\xda\\x07\\x89\\xd2\\xf2\\x99\\x8c\\x56\\xab\\xde\\x6c\\x46\\x58\\x20\\x4e\\x12\\x76\\x49\\xaf\\xe3\\xac\\x46\\x23\\xa6\\x9d\\x92\\x75\\x5a\\x3f\\x38\\x94\\xc8\\xb7\\xbf\\x6a\\x16\\xef\\xcc\\x18\\xb1\\x8c\\xf3\\x83\\xe2\\x56\\x07\\xc3\\x25\\x9a\\x17\\x84\\x36\\x68\\xab\\xe6\\x0c\\x41\\xe9\\xfe\\x8f\\x80\\x3f\\xcf\\x65\\xf0\\x47\\xf3\\xb1\\x56\\x5d\\xac\\x73\\xd0\\x2c\\x90\\xc7\\x56\\x66\\xe4\\x31\\xee\\xad\\x9c\\x40\\x86\\xd1\\xdf\\xb9\\x9b\\xf0\\xef\\xf8\\x33\\x61\\x9f\\x6c\\xbb\\x59\\xfd\\x01\\xec\\x42\\x29\\xc4\\x66\\x6c\\x9b\\x79\\xa9\\xf3\\xf0\\xef\\xe4\\x9a\\x6a\\x59\\xae\\xae\\x91\\x79\\x5e\\x7d\\x95\\xe9\\x3e\\x1c\\x00\\x18\\x2c\\x4c\\xbf\\x02\\x10\\x68\\x06\\x08\\xe8\\x2d\\xa2\\x68\\xd6\\x0b\\x3a\\x9d\\x24\\x20\\xd6\\xca\\xf3\\x36\\x81\\x35\\x72\\x1c\\x63\\xa4\\x1a\\xd0\\x6c\\x49\\x2d\\x58\\x7a\\x5d\\x26\\x21\\x01\\x6c\\x92\\x27\\xd2\\xac\\xee\\x7a\\x3c\\x29\\xc2\\xc6\\x7b\\xc4\\x54\\xf4\\xac\\xc8\\x96\\xba\\x9b\\x6f\\xae\\xdb\\x12\\x39\\x2b\\xba\\xa5\\x6e\\xc7\\x8e\\x3a\\xe5\\x8b\\x5b\\x6f\\x3b\\x67\\x59\\x75\\xcd\\xd2\\xb3\\x6e\\xbd\\x75\\xd5\\xe2\\xea\\xaa\\xa5\\xc4\\xd1\\x0e\\xe0\\xdf\\x81\\xdd\\xe9\\x6f\\xb5\\x9b\\x2b\\x2c\\x5b\\x6a\\xec\\x81\\x80\\x24\\x84\\xc3\\xf1\\xb8\\x9e\\x75\\x49\\x14\\xc7\\x12\\xd9\\xcb\\x83\\xe4\\xf6\\xa6\\x04\\x3b\\x97\\x39\\xdd\\x4d\\xf3\\xb2\\xb9\\xf9\\x4c\\xf6\\x39\\x72\\xe3\\x67\\xd4\\x7c\\xf0\\x04\\xbb\\x2f\\x4c\\x35\\xa6\\x8a\\x8a\\xe0\\xd7\\x85\\xb9\\x77\\xca\\x84\\xf6\\x9a\\x9a\\x76\\xf2\\xb3\\x38\\xf3\\xe6\\xab\\xd4\\x85\\xb5\\xe5\\xe5\\xb5\\x17\\xa6\\x52\\x17\\xd6\\x94\\x97\\xd7\\x5c\\x98\\x52\\x1f\\x67\\x7f\\x60\\xbf\\xfe\\xc0\\x4d\\xc2\\x57\\x0a\\x67\\xa8\\x7a\\x64\\x9e\\xa7\\x7a\\x64\\xf5\\xce\\x6f\\x8e\\x38\\x92\\x62\\x92\\xbd\\xb4\\xed\\xc7\\x95\\xdb\\xe4\\x1f\\xcf\\xe0\\x26\\xfd\\x1e\\xcf\\xf8\\xbd\\xf2\\x00\\x8d\\x1d\\x58\\xc3\\x5b\\xd2\\x07\\xe0\\x6c\\x3b\\x65\\x03\\xd2\\x6d\\x25\\x56\\x67\\x64\\x24\\x9e\\x96\\x87\\xa8\\x55\\xa0\\x34\\x5a\\x16\\x4f\\xba\\xb9\\x64\\x22\\x4a\\xf8\\x14\\x8e\\x59\\xfe\\xbc\\xf2\\xfe\\x2e\\xd3\\xa2\\x5a\\x5c\\xff\\xc1\\x07\\xb8\\xa1\\x76\\x91\\x69\\x97\\xf2\\x57\\x65\\xcd\\xf4\\x6d\\xa9\\xae\\xa9\\x53\\xbb\\x52\\xdb\\xa6\\xd3\\x78\\x04\\xae\\x97\\xb7\\xf0\\x77\\x42\\x9f\\x75\\x72\\xc0\\xc4\\x01\\x86\\xf2\\x48\\x26\\x7d\\x0f\\x26\\x6f\\x51\\x3a\\x91\\xc8\\x58\\xee\\x7f\\xcd\\x70\\x5c\\x6f\\xfe\\x70\\x74\\xbc\\xfb\\xb8\\x07\\xf8\\xd6\\x13\\xf8\\xa4\\x37\\x72\\x1f\\x73\\xf7\\xdd\\x78\\x23\\x5d\\xeb\\x27\\xdc\\x03\\x54\\xf7\\x4d\\xbf\\x47\\xd9\\xfb\\x82\\xef\\x29\\x9f\\xd0\\xef\\xed\\xe7\\xe0\\xe6\\xe3\\xfb\\x90\\x17\\x8d\\x96\\x93\\x2e\\x9e\\x54\\x9f\\x62\\xcc\\x76\\x7d\\x8e\\xbb\\xe6\\x8f\\xe3\\xae\\x77\\x52\\x51\\x4f\\xcc\\xe7\\xac\\x0f\\x25\\x3f\\x9c\\x93\\xa0\\xe2\\x5e\\x2d\\xa3\\xd2\\x3a\\x86\\x94\\x0d\\xce\\xf0\\x81\\xcf\\x2c\\x3a\\xf8\\xc8\\x8e\\xce\\xb9\\xe7\\x4b\\x4b\\x4c\\xbd\\xdb\\x16\\xc0\\x87\\x5b\\x3b\\x67\\xc3\\x07\\xf7\\x73\\x5c\\xb2\\xb2\\xa1\\x52\\x4e\\x4e\\xba\\x6c\\x7c\\x45\\xa2\\x62\\x64\\x72\\xfd\\x0e\\x54\\x08\\xd3\\xb0\\xec\\xd2\\x11\\x2b\\xb9\\x69\\x30\\xa7\\x5f\\xaa\\xad\\xc3\\x09\\x8e\\xe4\\x77\\x8d\\x46\\x4a\\x39\\x42\\x61\\xa3\\xcc\\xf2\\xdf\\xe1\\x18\\x81\\xa2\\xf2\\xe6\\x87\\x1f\\x29\\x6f\\xd5\\x00\\x14\\x71\\x19\\x7f\\xe7\\xf4\\x1b\\x67\\x76\\x4d\\x9d\\xd6\\x49\\xa0\\x88\\xd3\\xd3\\x94\\x6e\\xf6\\x2d\\xea\\xd7\\x21\\x3c\\x0a\\xc4\\x44\\xad\\xfb\\xd5\\x18\\x26\\x1c\\x22\\x1b\\xad\\x8e\\x1d\\x6b\\x62\\x7f\\xaf\\xb1\\x87\\x9b\\x34\\xc6\\x90\\x49\\x5b\\x99\\x18\\x1e\\xcf\\x9d\\x05\\x72\\x68\\x11\\xaa\\x78\\x1a\\xd9\\xf0\\x08\\xb8\\x20\\x2c\\x78\\xc4\\x3e\\x2f\\xc7\\xb9\\xdd\\xe2\\x01\\xdc\\x96\\xef\\xab\\x4a\\x63\\xc7\\xda\\x00\\x19\\x89\\x3f\\xa3\\x76\\x3e\\xa8\\x4a\\xa4\\x39\\x99\\xab\\xae\\x25\\x1c\\x19\\xc5\\xbf\\xc9\\x84\\x53\\x0d\\x9d\\xa9\\xd4\\xcd\\xf3\\xa6\\x8f\\x6a\\x08\\x2b\\x0b\\x6a\\x03\\x75\\xc3\\x87\\xfb\\xeb\\x3b\\x7a\\x99\\xc5\\xce\\xd2\\xa9\\x15\\x4d\\x0b\\x17\\x2e\\xde\\xbb\\x28\\xe0\\x56\\x6e\\xec\\x94\\xa7\\xe1\\xa9\\xce\\x03\\x74\\x2e\\xf5\\x30\\x17\\x3f\\xcc\\xc5\\x85\\x8a\\x51\\xd1\\x3e\\xd6\\xed\\x36\\x05\\x1d\\xc4\\xb3\\x55\\x27\\x98\\xb2\\x9e\\xad\\x76\\x7a\\x18\\x30\\xc9\\x5b\\xa9\\xb9\\x25\\x67\\x27\\xe1\\xe6\\x33\\x89\\xc8\\xb0\\x7f\\xdf\\x66\\xf6\\xf4\\xae\\xa9\\xfe\\xda\\x8b\\x5b\\x57\\x2d\\x99\\xbe\\x65\\xf2\\x29\\x73\\x94\\x97\\x3a\\xe7\\x7b\\x6d\\xe5\\xdd\\xec\\x4f\\x3d\\x67\\x19\\x2b\\x36\\xb5\\x94\\x55\\x0c\\x59\\x79\\x6a\\xdf\\xee\\xc5\\x1d\\xaf\\x8b\\xa9\\x36\\x9f\\x6f\\x0d\\x19\\xff\\x0e\\x26\\x81\\xfe\\x48\\xfd\\x75\\x1d\\x28\\xb0\\xdb\\x66\\x3c\\x88\\xab\\x01\\xc3\\x04\\x3c\\x3c\\x0f\\x04\\x6d\\x49\\x75\\xf5\\xc4\\x4f\\x37\\x9f\\xa5\\x3b\\xa9\\x4b\\xfc\\xe7\\xcc\\x66\\xf1\\xfd\\x6b\\x9b\\x40\\x78\\x6f\\x2c\\x8b\\x37\\x11\\xdf\\x5d\\xac\\x48\\xf1\\x17\\xe3\\x8d\\x8d\\x71\\xf8\\x81\\x7b\\x20\\xcd\\x94\\xe1\\x0a\\xee\\x6c\\x9a\\x93\\xc0\\xb1\\x9b\\x71\\x1e\\x00\\x60\\xeb\\x91\\x99\\x2e\\xad\\x4d\\x0b\\x74\\xd7\\x12\\xd0\\xc3\\x9d\\x9a\\x5d\\x16\\x0c\\xb0\\x71\\x7c\\xd9\\xd8\\xda\\x9a\\x48\\x59\\x77\\xe5\\x3d\\x8b\\xcf\\xeb\\xd9\\xd6\\xbb\\xf8\\xbc\\xa7\\xd8\\xfb\\xb7\\xce\\xdc\\x31\\xad\\x63\\x7c\\x6a\\x9b\\xf2\\xce\\xba\\x65\\xf3\\xee\\x99\\xb3\\x6e\\xd9\\xb6\\xd7\\x55\\x9a\\xef\\x65\\xa2\\xf8\\x0c\\x1a\\x37\\x5a\\xbe\\xdb\\xe9\\xde\\x8f\\x87\\xef\\x23\\x69\\x05\\x18\\xcb\\x33\\x30\\x12\\x0d\\x49\\xa7\\x6b\\x6a\\xcb\\xed\\x28\\x1c\\x1e\\x35\\xa4\\x9e\\x46\\xff\\x36\\xe7\\x8a\\x18\\x27\\x59\\x61\\x74\\x73\\xbc\\xd7\\x25\\xdf\\x96\\x1a\\xa5\\x7b\\x9b\\x9f\\xbb\\x71\\xe8\\x58\\xdd\\x70\\x1a\\xbf\\xcd\\xec\\x1d\\x36\\x23\\x81\\xfb\\x14\\x56\\x2a\\x5f\\x7a\\x6e\\xeb\\x28\\x53\\x33\\x1e\\x2f\\xc5\\x95\\x07\\xc7\\x92\\xf1\\x27\\xc1\\x3e\\x4e\\x80\\x7d\\xf4\\x21\\xcf\\x1e\\xc9\\x24\\x92\\x2d\\xf4\\xb8\\x10\\xdd\\x42\\x12\\x95\\x9d\\x31\\xcb\\xa8\\xb2\\x60\\xd6\\x31\\xd6\\x4d\\x15\\x02\\xf1\\xd3\\x56\\x9f\\xb2\\x23\\x15\\x5d\\x12\\x29\\xaa\\xd2\\x97\\x34\\x8f\\x5b\\x3a\\xbc\\xba\\x7b\\x4a\\x60\\x29\\x13\\x5b\\xd1\\xb7\\xf2\\xa1\\xf9\\x16\\xf3\\xc3\\x8b\\xa2\\xfb\\x2e\\x9b\\xd0\\xde\\x52\\x36\\x07\\xf6\\x4b\\x02\\x78\\x9e\\x03\\xfb\\xe5\\x42\\xa5\\xa8\\x6a\\xb7\\x64\\x3f\\x08\\x2b\\x33\\x02\\x3c\\xab\\x51\\x09\\x12\\x01\\x85\\x83\\x0e\\x87\\xcf\\xa7\\x8d\\xab\\xa1\\xae\\xba\\xd8\\x2c\\xda\\xd2\\x94\\x9a\\xac\\x8a\\xcc\\xf1\\xbc\\xa4\\x50\\xc2\\xcc\\x31\\xd3\\x26\\x5e\\x3d\\xbd\\x23\\xaa\\x0b\\xce\\x03\\x6e\\x61\\xd3\\x70\\xf1\\x65\\x2e\\x3c\\xb3\\xa2\\xcc\\xeb\\x69\\xf3\\x0f\\x33\\xd4\\xbb\\xdb\\x52\\x4c\\xd9\\x92\\x39\\x4b\\x9f\\x58\\x6c\\x1b\\x77\\xa7\\x14\\x3f\\xf6\\x91\\x14\\x3d\\xb9\\xa6\\xe9\\xd3\\x6e\\xb9\\x2e\\x8a\\xc7\\x19\\x1c\\xfb\\x01\\x06\\x3a\\x26\\x81\\x7b\\x69\\x8e\\x80\\xb2\\xdd\\xbf\\x22\\x21\\x00\\x4c\\xea\\x17\\xa2\\xff\\x0d\\xff\\x4f\\x82\\xff\\xb1\\x72\\x1e\\xcc\\xe1\\x73\\xc0\\xb7\\x72\\x94\\xd8\\x1d\\x29\\xdb\\x8f\\x47\\xca\\xfa\\x80\\xe4\\x76\\x33\\x26\\x53\\x91\\xf7\\x20\\x60\\x80\\x1d\\x39\\xe1\\xb7\\x08\\x87\\x3e\\x83\\xdb\\x2a\\x4b\\x40\\x81\\x84\\x33\\x33\\x28\\x98\\x0b\\x8d\\xf3\\xf7\\x14\\x4c\\x15\\x8f\\xac\\x8a\\x4e\\xd7\\x8d\\xb8\\xad\\xd5\\x5c\\x5d\\x34\\xde\\xd9\\x76\\x5b\\xaa\\x51\\x7c\\x91\\x99\\x7e\\x56\\x5d\\x3b\\xee\\x59\\x33\\xa4\\x8d\\xce\\x7a\\xa4\\x99\\xfd\\x72\\xd8\\xb2\\x7a\\xe5\\x11\\x3c\\x7d\\x8c\\x7f\\xd8\\xb4\\x26\\x65\\x07\\xee\\x97\\xca\\x4f\\x3b\\xab\\x59\\x5e\\x33\\x7a\\x84\\x21\\xae\\xdc\\x09\\xf3\\x9f\\x3e\\x46\\xd5\\x6b\\xc2\\x9c\\x27\\xd2\\x58\\xfa\\x92\\xdd\\x96\\x4c\\xf8\\xfc\\x3e\\x12\\xc2\\x2e\\x6a\\xf1\\xf3\\x49\\x35\\x88\\x1d\\x90\\xe8\\xb8\\x98\\xf9\\x15\\xbf\\x22\\x64\\x9e\\xf8\\xce\\xc1\\xf9\\x40\\xdc\\xe7\\x80\\x9f\\x81\\x7d\\x26\\x97\\xcb\\x2a\\xd9\\x0f\\xd0\\x33\\x2e\\x68\\x27\\xf1\\x75\\x95\\x2d\\xca\\x51\\x97\\xa6\\x82\\x64\\x46\\xd7\\x7a\\xaa\\xac\\xe1\\x93\\x2b\\x46\\x75\\xf3\\xad\\x1d\\xc2\\xf4\\x9e\\x93\\xdd\\x73\\x0d\\xbd\\xcd\\x7a\\xe6\\x0c\\x6b\\xa5\\x3b\\x30\\xb2\\xd5\\x5a\\x89\\x27\\xc4\\xbd\\x6b\\xd7\\xb6\\x29\\x6f\\x34\\x78\\x5a\\x55\\xdb\\x30\\xe0\\xe9\\x74\\x6e\\x11\\xc0\\xdb\\xb5\\xc7\\xaa\\xa3\\x83\\x61\\x24\\x69\\x83\\x91\\xad\\xcf\\x85\\x3d\\x03\\x5b\\x4d\\x03\\xb5\\x6d\\x33\\xcf\\x2b\\x0f\\xbb\\xc4\\xab\\xa5\\x06\\xe5\\xa7\\xb1\\x17\\x44\\x05\\x6e\\x91\\xb2\\xe6\\x99\\x61\\x89\\x22\\x37\\x1f\\x97\\x3c\\xcd\\x27\\x29\\x4b\\x19\\x23\\x59\\x0d\\x4e\\x3b\\x00\\x5e\\x4b\\xa9\\xbf\\x7d\\x74\\x77\\x49\\x84\\xee\\x71\\xd6\\xbf\\x9e\\x40\\x4f\\x47\\xf6\\x56\\x75\\xac\\xa7\\x30\\xfb\\x15\\x3e\\xf4\\x15\\xff\\xef\\x5c\\xe8\\x31\\xea\\xe7\\x42\\xcc\\x17\\xfc\\x64\\xc4\\xa3\\x0a\\xd9\\x4f\\xdd\\xa8\\x89\\xa2\\x36\\xdf\\x95\\x4a\\xb6\\x87\\xd5\\x2b\\xb6\\x2a\\x17\\x96\\x49\\x14\\xb6\\xfd\\x19\\x85\\x6d\\x28\\xeb\\xee\\x07\\x6b\\x9c\\xae\\x8c\\xc5\\x23\\xd2\\xe7\\x13\\x5f\\x47\\xd9\\x42\\x82\\x0b\\x33\\xdd\\xa9\\xb6\\x28\\x8d\\xef\\xe0\\x45\\x36\\xdc\\x8c\\x49\\xc0\\xa3\\xf2\\x39\\x87\\xaf\\xdd\\x18\\x56\\x8e\\xc4\\x80\\x41\\x45\\x18\\x07\\x95\\x0e\\x66\\x24\\xd5\\x43\\x16\\xcb\\x26\\x13\\x48\\x00\\x16\\xc9\\x68\\xd4\\x53\\x8d\\xe4\\xa1\\x04\\x5c\\x28\\x79\\x91\\x48\\xf9\\xba\\x49\\x7c\\xef\\x09\\x95\\x93\\xb4\\xd6\\x0d\\x3b\\x83\\xd6\\x3a\\x6b\\x90\\xbd\\x06\\x97\\xcb\\xeb\\x23\\xfe\\xbd\\x92\\xc3\\x61\\x9e\\x9c\\x72\\x58\\xd5\\xe2\\xc7\\xee\\x4c\\xf1\\xe3\\x82\\x74\\xf5\\x0d\\xf5\\x1e\\x2d\\x07\\xa0\\x76\\x5d\\x11\\xd7\\x91\\x64\\x89\\xcd\\x8a\\x94\\x9e\\xed\\x65\\x96\\x59\\x57\\x2f\\xbc\\x79\\xfa\\xd2\\xa5\\x57\\x2d\\xb2\\x34\\xdc\\x3b\\x1d\\x3f\\xa8\\xbc\\xe0\\x2c\\x8f\\x9d\\x54\\x74\\xfe\\xb7\\xb7\\xac\\x5a\\x56\\x74\\x52\\x69\\xa5\\xf2\\x5b\\xe5\\x5d\\x85\\x94\\x4f\\x49\\xa7\\x51\\x08\\xe6\\x70\\x15\\xfb\\xa2\\xb5\\x8c\\xbd\\xf3\\x7b\\x64\\x13\\x99\\x5b\\xd0\\x6d\\xc7\\xbe\\x06\\x18\\xd9\\xb0\\x14\\xc1\\x3b\\x23\\x78\\x73\\x04\\x2f\\x8d\\x60\\x14\\xc1\\x11\\x64\\xa3\\x21\\x66\\x8d\\xb4\\x5d\\x66\\xee\\xf6\\x32\\x16\\x1e\\x90\\x76\\xe9\\x51\\xbf\\xa6\\x1d\\xf2\\x2b\\x2f\\x30\\x51\\xf6\\x39\\xab\\x80\\x8a\\xa9\\x6c\\xfb\\x05\\xd7\\xc3\\x5c\\xc8\\xff\\x0d\\xe0\\xd8\\x28\\xeb\\x19\\x56\\xdd\\x69\\x46\\x53\\x39\\x03\\xb7\\x38\\x0f\\xb1\\x8f\\xa2\\x37\\x33\\xdc\\x22\\x9b\\xf1\\x09\\xcc\\xba\\xc7\\x3a\\x1a\\x1d\\x61\\x17\\xfe\\xe2\\x02\\x5c\\xa4\\x1c\\xe4\\x7a\\x34\\xb5\\xf1\\x71\\x3a\\xed\\x53\\x64\\x6b\\x51\\xc0\\xeb\\x95\\x58\\xbd\\xde\\x25\\x49\\xc5\\x9a\\x82\\x7b\\x5f\\x8a\\xe8\\xb7\\xfd\\x64\\x30\\xcf\\x2c\\xa2\\xa1\\x3a\\x81\\x86\\x5b\\x2b\\xe9\\x50\\x97\\x97\\x58\\x3f\\x1b\\xa0\\xfc\\x7f\\x55\\xdf\\x0d\\x70\\x05\\x91\\x93\\x67\\xf8\\x6e\\x7b\\x19\\x8a\\x12\\xb8\\xb2\\x2d\\xe9\\xb3\\xd3\\x33\\x50\\xd1\\x5e\\xc6\\xc5\\x32\\xee\\xfd\\xe9\\xe7\\xf6\\x58\\x2c\\xdd\\xfb\\xd3\\xe3\\xf6\\xba\\xdd\\x3c\\x1f\\xc3\\x55\\x55\\x8d\\xa8\\xad\\x91\\xc0\\xf5\\x0d\\x9c\\x66\\x02\\xec\\x78\\xab\\xa0\\x1b\\xbd\\x88\\xec\\xcf\\x11\\xe8\\xe7\\xaf\\xfc\\x48\\x6b\\x1c\\x28\\xf7\\xa7\\x5a\\x4f\\x26\\xe8\\xa9\\xe6\\x31\\x5c\\xcc\\xe2\\xfd\\xe9\\x77\\x65\\x77\\x28\\x84\\x71\\x0c\\x4d\\x0a\\x60\\x14\\xc0\\xcf\\x06\\xf0\\xca\\x00\\xae\\x0b\\xe0\\x00\\xb6\\xd1\\x40\\xc2\\x46\\xb5\\x67\\xba\\xd7\\xfd\\x20\\xf2\\xce\\xa1\\x7d\\x55\\xa1\\x23\\x5a\\x5f\\xbe\\xbc\\xbe\\xfe\\x4c\\xfa\\xe2\\xb8\\x18\\x3a\\xc2\\xe0\\x37\\x18\\xbc\\x99\\xc1\\xf3\\x18\\xdc\\xc6\\x60\\x86\\xf6\\x35\\x67\\x4e\\x7e\\x5f\\x3f\\x23\\xc4\\x75\\xd2\\xbe\\xaa\\x81\\x51\\x56\\xfb\\x72\\x43\\x5f\\x8d\\x8f\\x61\\x0b\\xe9\\xeb\\x2f\\x72\\x50\\x92\\x44\\x11\\xe6\\xc5\\xe3\\x3a\\x1e\\xbf\\xc9\\xe3\\x37\\x78\\xbc\\x8b\\xc7\\x9b\\xe9\\x47\\x5e\\xeb\\xb1\\x70\\x7e\\xd7\\xa5\\xbf\\xe1\\x77\\xf2\\x13\\xac\\x65\\x28\\x61\\xa7\\x3d\\x2a\\x8f\\x40\\x8f\\xf1\\xc7\\x98\\x12\\x96\\xd9\\x9f\\x6e\\x92\\x6d\\xc5\\xc5\\x76\\x7b\\x0c\\xa3\\xb4\\x1d\\x3f\\x6b\\xc7\\x93\\xec\\xd8\\x4e\\xbb\\x69\\xcc\\xef\\xe3\\x45\\x40\\xbc\\xdf\\xd2\\x79\\x8d\\xc0\\x45\\xea\\xbc\\x94\\x4f\\xa1\\x17\\xe7\\x63\\xd8\\x43\\xe1\\xb5\\xd7\\xeb\\xd5\\xe9\\x00\\xe2\\xa4\\x09\\x7c\\x1f\\x90\\x4c\\x70\\x91\\x31\\xd9\\x59\\xb2\\xfa\\xed\\x87\\xd5\\x55\\xd4\\xc0\\xb7\\x95\\x0f\\xe5\\x60\\x55\\x15\\x8c\\x89\\x7a\\x75\\xf8\\x39\\x1d\\xbe\\x44\\x87\\xcf\\xd0\\x61\\x78\\x5f\\xa7\\xc3\\x21\\x1d\\xd6\\x69\\xab\\x98\\x93\\x59\\x05\\xec\\x5f\\x79\\xfa\\x1b\\xe6\\x33\\xfe\\x6f\\x70\\x9e\\x96\\xc1\\xe8\\x02\\x3b\\xac\\x1e\\x21\\xcb\\xe3\\x2c\\x83\\x8f\\x94\\xe2\\x52\\xf8\\x7e\\x23\\x70\\x7f\\x28\\x0f\\x3f\\x04\\x82\\x1f\\xf0\\xf9\\x5f\\xe9\\x9f\\x79\\x03\\xcd\\x47\\x11\\x53\\x69\\x0a\\xc0\\xf7\\x23\\x90\\x81\\xac\\x20\\xb3\\x44\\x2c\\x92\\xc4\\xb1\\xac\\x4d\\xb4\\x0b\\x96\\x79\\x29\\x49\\x8f\\xcd\\x80\\xff\\x82\\xc0\\xf5\\xa6\\x04\\x56\\x62\\x31\\xdb\\x9b\\xc2\\xf6\\xc2\\x94\\xbd\\x34\\x43\\x19\\xce\\xd5\\xf5\\xc8\\xe4\\x22\\x61\\x23\\x2c\\xc9\\x5d\\xc5\\x7a\\x98\\x0d\\xfd\\x4b\\xcc\\x8f\\xbe\\x7a\\xaf\\x85\\xe3\\x9b\\xa7\\x39\\x4a\\x0e\\xf7\\xa5\\x5e\\x79\\x6e\\xac\\x9f\\x3b\\x27\\x30\\x56\\x59\\x86\\x3d\\xa2\\xf9\\xe8\\x16\\x9a\\x6f\\x97\\x49\\x3f\\x0d\\xf3\\xe8\\xe1\\xbb\\xe1\\x5c\\xeb\\xd0\\x08\\xd9\\xc3\\xb1\\x82\\x80\\x75\\x88\\xe7\\x0d\\x22\\x43\\x94\\x57\\x1c\\xc3\\x03\\x18\\x74\\xfb\\xb1\\x7b\\x8f\\x36\\x09\\x2d\\xcb\\x24\\x91\\xc3\\x12\\xd9\\x1c\\x1f\\x49\\xb5\\x60\\x4a\\xd2\\xa1\\xc7\\x61\\x6e\\xcc\\xd1\\x73\\x25\\xe6\\xe8\\xc1\\x37\\x15\\xb9\\xff\\x1d\\x66\\xef\\x64\\xee\\xbf\\x47\\x75\\xec\\xdb\\xc7\\xa6\\xa9\\xfb\\xf7\\x1d\\x8c\\xf7\\x13\\x85\\x43\\x39\\xfd\\x7c\\x14\\x3e\\xef\\xa2\\x9f\\x5b\\x33\\x7f\\x17\\x4e\\xa7\\x9f\\xab\\x50\\x26\\xe7\\xff\\xc7\\xfc\\x04\\xa0\\xe7\\x41\\x68\\x31\\x51\\xae\\x14\\x63\\x21\\x1b\\xf2\\xd9\\x7c\\x15\\x95\\x91\\xd6\\x72\\xcc\\x96\\x95\\x63\\x57\\x39\\x36\\xc3\\x3f\\xae\\xbc\\xdc\\x65\\x70\\x01\\xb0\\x5c\\x9c\\xc5\\xd0\\x9b\\xb2\\x38\\x0a\\x2a\\x00\\x90\\x74\\x75\\x73\\x7a\\xe7\\xe4\\x0a\\x01\\xb4\\x24\\x06\\x54\\xdc\\xb5\\xe3\\x12\\x94\\x9f\\xfa\\xdf\\x41\\x6b\\x0a\\x87\\x81\\xed\\x49\\x7a\\xb8\\x3d\\xf7\\x6d\\xbf\\xfc\\xb3\\xeb\\xee\\xba\\xf1\\xaa\\x2f\\x6e\\xe8\\xff\\x56\\xf9\\x51\\xd9\\xfb\\x36\\x3e\\xf7\\xfb\\x5d\\xd8\\xbe\\xed\\x1d\\x65\\x53\\xb4\\x76\\xcc\\xe4\\x31\\x82\\xf2\\x3e\\x7d\\x61\\xc7\\x1f\\xfc\\xeb\\x8b\\xca\\xc6\\x67\\x9f\\x7e\\xe7\\x10\\x5e\\xd3\\x3f\\x17\\xd7\\x7e\\xff\\x6f\\xbc\\xee\\xb5\\x2b\\x7f\\xba\\xf5\\x3b\\xe5\\xdc\\x97\\xd9\\x92\\x85\\x4a\\x5f\\x5f\\x1f\\xde\\xb1\\x50\\xa5\\xcd\\xb0\\xc0\\x93\\xe9\\x5a\\xab\\x33\\x6b\\xe7\\x5f\\xa1\\x9f\\x6b\\x29\\x8e\\x5c\\x01\\xb0\\x79\\x0b\\xf6\\xc6\\x82\\x86\\xcb\\x41\\x1d\\xa9\\x0e\\x6d\\x21\\x95\\x3c\\xb1\\x20\\x48\\x48\\xc7\\x59\\xf4\\x58\\xe0\\x84\\xde\\x94\\x89\\xb3\\x67\\x92\\xb0\\x27\\x07\\xab\\xc4\\xa4\\xa6\\xf5\\xc6\\x6a\\x8d\\xa3\\x36\\xcc\\x1c\\xe8\\x7f\\x7b\\x8b\\x49\\x39\\xdb\\xb4\\x82\\x79\\xfa\\xe7\\xdf\\x5e\\x68\\xea\\x7f\\xd4\\xb4\\x83\\x9b\\x72\\xcc\\x11\\x18\\x3b\\x36\\xc0\\x7d\\x71\\x34\\x48\\x5e\\x61\\x2e\\x5f\\x02\\x2d\\x99\\x41\\xe7\\x52\\xaf\\xe2\\x2f\\x51\\xd7\\xd1\\xcf\\x0d\\x74\\x5f\\x04\\x98\\x6b\\x02\\xf0\\x57\\xb5\\x11\\x2c\\x90\\x63\\xc5\\x56\\x1d\\x13\\xb4\\x0b\\xb1\\x68\\x30\\x14\\x2a\\x16\\x42\\x46\\x9c\\x36\\xe2\\x11\\xc6\\x09\\x46\\x86\\x95\\x8c\\xd8\\xcc\\x1b\\x8d\\x70\\xba\\x81\\x67\\xf1\\xc8\\xfa\\x54\\xb1\\xa3\\x9e\\x64\\x2f\\x35\\xed\\x4f\\x1f\\x79\\xdc\\x64\\x66\\x26\\x98\\x6c\\x24\\x37\\x5b\\x55\\xb2\\x6e\\x4e\\xb2\\x2e\\xb7\\x5d\\xbd\\x73\\xe6\\x9c\\x99\\xd4\\xb2\\xd2\\x79\\x48\\x48\\x60\\xde\\x7e\\x38\\xb2\\xa9\\xda\\xca\\x22\\xac\\x9a\\x2c\\x1c\\xe8\\xb8\\x3b\\xc9\\x6e\\xa9\\x19\\xd3\\x33\\x86\\x51\\x56\\x27\\xe0\\x45\\xbc\\x66\\xd7\\xca\\x31\\xd3\\x4e\\x65\\xff\\x77\\xd8\\x34\\x6e\\xf9\\xc3\\x3b\\xbe\\x99\\xde\\x3d\\x6d\\xf1\\xd1\\x7b\\xda\\xa7\\x4e\\xfe\\x94\\x35\\x2d\\x54\\x26\\x9f\\x7b\\x2e\\x7e\\x74\\x21\\x9e\\x6a\\xb9\\x0b\\x6f\\x55\\xce\\xb8\\xcb\\x72\\xec\\x46\\xeb\\x93\\xca\\x18\\xfc\\xf4\\x93\\x56\\x7a\\xff\\x69\\xb5\\x26\\x60\\xbd\\x09\\xba\\x17\\x1a\\x5e\\x82\\xb4\\xd8\\x2d\\xc7\\xe0\\xbc\\xea\\x75\\x56\\x9b\\x8d\\x65\\x74\\x80\\x3c\\x3a\\x96\\x07\\xac\\xe3\\xad\\xf3\\x52\\x3c\\x6b\\xb3\\xe8\\x19\\xc4\\xc0\\xa6\\x00\\x03\\xa8\\xa6\\xba\\xd5\\xaa\\x8a\\xe6\\x67\\x72\\xd3\\x0e\\x6d\\x24\\x9b\\x01\\x5f\\xcd\\x86\\x4f\\x84\\x13\\xc9\\xfc\\xc8\\xab\\xf7\\x58\\xf8\\x2d\\x96\\xdd\\xaf\\xde\\x63\\xec\\xbf\\xd4\\xb8\\xe7\\x15\\xc5\\xfa\\xca\\x3d\\x46\\xd8\\x9a\\x73\\xfc\\x63\\xc7\\xfa\\x8f\\x5e\\x45\\xb7\\x69\\xd9\\xd1\\x1b\\x03\\x63\\xd5\\xf3\\x94\\x06\\x1c\\x39\\x42\\xf7\\x85\\xd6\\xbe\\x4b\\x7f\\x04\\x9f\\x3f\\x84\\x79\\xba\\x50\\xaf\\x5c\\x05\\xc2\\xbd\\x59\\x6f\\xb6\\xb0\\x46\\xab\\xd5\\xc3\\x1a\\x8d\\x6e\\x06\\x23\\xb3\\xd5\\xcc\\xe8\\x79\\xb3\\xd9\\x68\\x91\\x90\\x84\\xe6\\xa5\\x6c\\x12\\x6b\\x32\\xb2\\x46\\xe0\\xb7\\x3d\\x8f\\xa5\\xf4\\x46\\x98\\xf5\\x21\\xad\\x54\\xa8\\xfa\\x6a\\x6b\\xf1\\xd1\\xd4\\xa1\\x99\\x3c\\x52\\x36\\xcd\\xfe\\x02\\xfb\\xe1\\x10\\x71\\x38\\x11\\xa5\\xc0\\x6f\\x26\\x69\\x2b\\x48\\x2d\\xee\\x08\\xe3\\xfe\\xda\\xa0\\x54\\x60\\xdf\\x69\\xd8\\x17\\x99\\x31\\x7b\\xf9\\xd1\\xdf\\xd9\\x19\\xaf\\xf2\\x07\\x27\\xfb\\x43\\xdb\\x4c\\x61\\xe1\\x13\\xdc\\x1b\\x4a\\xeb\\x18\\xa5\\x5c\\x2f\\x3e\\xad\\x8c\\x99\\xcb\\x44\\x98\\xd4\\x02\\xe5\\xc1\\xf7\\x2c\\x04\\xde\\x37\\x02\\x3e\\x95\\xd1\\x75\\x34\\x53\\xf8\\x2f\\x81\\xcf\\x97\\xd0\\xcf\\x23\\x28\\xbe\\x75\\x02\\xfc\\xeb\\x60\\x5d\\x44\\xaf\\x5a\\x87\\xae\\x92\\xab\\x2b\\x74\\x62\\x98\\x2b\\x29\\xa9\\xac\\xb4\\x5b\\x6d\\x7e\\x2e\\x10\\xa8\\xab\\x73\\xb3\\x31\\x93\\x3b\\xe6\\x6e\\xa8\\x17\\x6d\\x7e\\x5b\\x6f\\x2a\\xec\\xaf\\xb0\\x5b\\xed\\xbd\\x29\\x9d\\xd5\\x4f\\xdc\\xc2\\x8a\\xf5\\xe6\\x6e\\xab\\xac\\x97\\xba\\xfd\\x56\\xbf\\xb5\\xa8\\xa6\\xb2\\xae\\xa6\\xae\\x37\\x55\\x63\\x2f\\x09\\x14\\x05\\x7a\\x53\\x45\\x6c\\x3e\\x7d\\x25\\x21\\xa8\\xde\\xba\\x3a\\xd8\\x35\\xad\\xcc\\x7a\\xde\\xf6\\x69\\x35\\x0b\\x3d\\x34\\x3b\\x3a\\x45\\x4b\\x2d\\xbd\\xb3\\x11\\x53\\xc1\\x76\\x38\\x76\\xb0\\x54\\x8e\\x40\\xe1\\x64\\xb3\\x9a\\x1d\\x2a\\xc1\\xb9\\x9c\\x28\\xac\\xe6\\x13\\xc7\\xec\\x87\\x37\\xdc\\x73\\xd9\\xca\\x92\\xd5\\xe9\\x1b\\xee\\xd9\\x78\\x46\\xc5\\xc5\\x5b\\xba\\xde\\x3b\\x86\\x6b\\xb1\\x75\\x9d\\xed\\x1e\\x33\\xb3\\xd8\\xbc\\xc7\\xd6\\xfa\\x01\\xc6\\xca\\x6b\\xca\\xb7\\x6b\\x9c\\x77\\x9b\\xfa\\xb7\\x9b\\x1e\\xc3\\xf2\\xbb\\xcf\\x6d\\xbd\\xb7\\xbf\\x81\\x79\\xe3\\xdd\\xe7\\xae\\xbb\\x87\\x79\\xe3\\xd8\\x1b\\x1f\\x3c\\xff\\x4f\\x6c\\x5c\\x42\\xb0\\x61\\xc9\\xc7\\x4f\\xff\\x53\\xf9\\xe1\\x7c\\x82\\x12\\x14\\x17\\x0e\\x67\\x61\\x36\\x9c\\xf2\\x6c\\xeb\\x00\\x66\\x9f\\x03\\xcc\\xe2\\xe8\\x1c\\x79\\xb8\\x4b\\x00\\x56\\x44\\xb2\\xdb\\x4d\\x7a\\x3d\\x5f\\x12\\x0a\\x45\\xa2\\xd1\\x60\\x3c\\x10\\x20\\x69\\x26\\xca\\x2b\\x82\\x2e\\xc1\\xd5\\x9b\\x8a\\x0b\\x82\\x85\\x8d\\x04\\xdc\\x26\\x8b\\xa9\\x37\\x55\\xe2\\xb5\\xb0\\x88\\x67\\xf9\\xde\\x14\\x6b\\x47\\x05\\x55\\xe7\\x93\\x5a\\xa9\\x9c\\x5c\\xbc\\x7a\\x26\\xad\\x7a\\x36\\x8e\\x37\\x99\\x49\\x25\\xab\\x22\\xb6\\x9a\\xa6\\x2f\\x53\\xb1\\xce\\xa3\\x21\\x3d\\x4d\\xeb\\x47\\x4a\\x5c\\x70\\x61\\xf6\\xb4\\xdd\\xe6\\xfe\\x4b\\xcd\\x07\\xba\\x3e\\x51\\x8c\\x35\\x67\\x9b\\xf1\\x0d\\xb2\\xf9\\xa2\\xd9\\x2b\\xd7\\x9a\\x19\\xaf\\xf9\\xca\\x95\\x17\\xef\\xf2\\x8f\\xc3\\x37\\x98\\xd7\\x36\\xc7\\x95\\x97\\x94\\x7f\\xf5\\x91\\xd5\\xe2\\x6d\\x4f\\x3f\\xd0\\x09\\xd7\\xb1\\x7f\\xac\\x72\\x53\\xc7\\xf0\\x25\\x9b\\x18\\xe6\\x22\\x02\\x8f\\xfe\\x0d\\x0f\\xdd\\x88\\x77\\x8e\\xf5\\x2b\\xaf\\xbe\\xf7\\x26\\x8d\\x33\\x84\\xd5\\xfd\\x19\\xee\\x8e\\x4a\\x34\\x4f\\x4e\\xe8\\x58\\xbb\\x64\\xb1\\x08\\x62\\xb0\\xa8\\x28\\x16\\x2d\\x2f\\xf5\\xf9\\xa2\\xa2\\x9d\\xab\\xaa\\x8e\\x09\\x42\\x90\\xf8\\xc4\\x33\\x16\\x16\\xf8\\x19\\xb7\\x1b\\xf5\\xa6\\xdc\\x5c\\x91\\xc5\\x02\\x7f\\xd5\\x52\\x6d\\xe5\\x28\\x92\\x96\\x80\\x23\\x97\\x0a\\x33\\xf3\\x8b\\xf0\\x97\\xe4\\x16\\xf1\\x10\\x32\\xe4\\x01\\x1c\\x20\\x59\\xe5\\xd5\\x32\\xed\\xb0\\xf5\\xbc\\xa8\\xd5\\x33\\x70\\x34\\xd9\\x49\\x79\\xad\\xde\\xf7\\xff\\x75\\xe1\\xaa\\xda\\xfe\\x67\\x6a\\xda\\x4b\\x27\\x3f\\x3b\\xda\\xb8\\xe7\\xef\\xcf\\xe0\\x79\\x7f\\xc3\\x65\\x78\\x8c\\xf2\\x67\\x45\\x09\\x35\\xfd\\x7e\\xfa\\xe4\\x19\\xd3\\xfa\\xef\\xef\\x7b\\xf0\\xc0\\x5d\\xdc\\xe7\\xca\\x0f\\x47\\x36\\xee\\xf1\\x2b\\xcb\\xf1\\x99\\x1b\\xad\\xcb\\xc2\\x5f\\xdc\\x72\\x00\\x7b\\xae\\xff\\xe6\\x4f\\xff\\x50\\x5e\\x89\\x2e\\xb3\\x6e\\x54\\x36\\xe1\\x1b\\xbc\\x28\\xfd\\xf6\\x23\\x8f\\xa3\\xec\\x7d\\xb2\\x5c\\xb8\\x0f\\x78\\xd2\\x6a\\xc2\\x19\\xa1\\xa5\\xe8\\x6c\\x3c\\x11\\x79\\x64\\x33\\x83\\x4d\\x7c\\x19\\x83\\x6f\\x0b\\xb8\\x58\\x3d\\x61\\x8d\\x1a\\x11\\xf9\\xc9\\x9d\\x33\\xda\\x66\\x84\\xda\\x06\\xef\\xca\\xb4\\x71\\x91\\x36\\x97\\x47\\x8b\\x75\\xb6\\x01\\x6d\\x02\\xe9\\x7f\\x72\\x97\\x53\\x1e\\x68\\x81\\xca\\x81\\xa1\\x7f\\xc0\\x1f\\x40\\xa6\\x60\\x2a\\x6c\\x65\\xcc\\xb3\\x15\\x78\\x57\\x05\\x1e\\x5b\\x51\\x6d\\x00\\x5e\\xae\\x0a\\xd8\\x37\\x68\\xa8\\xb6\\xf3\\x82\\x2c\\x32\\x95\\xb6\\x5b\\xa4\\xb5\\x7b\\x07\\xfe\\xe0\\x90\\x8d\\xb8\\xde\\x56\\x86\\x3f\\xac\\x4f\\x96\\xb1\\x94\\x71\\xcb\\x7c\\xbf\\x52\\x19\\xcf\\x19\\xe9\\xf7\\x97\\xa8\\xdf\\xc7\\x24\\xee\\xdc\\x23\\x5b\\x70\\x08\\xbe\\xbf\\x36\\x84\\x3f\\x09\\x95\\x7a\\x49\\x93\\xbc\\x31\\x26\\x02\\x7f\\xb6\\x39\\x8f\\x3f\\x6b\\x01\\x24\\x08\\xc9\\x4e\\xec\\x20\\x2d\\x1c\\x38\\xe4\\xc0\\x92\\x03\\x5f\\xed\\x70\\xb3\\x56\\x3a\\x39\\xb5\\x25\\xb4\\xeb\\x80\\xb9\\xfd\\x9e\\xb6\\x5b\\x43\\xc7\\x1a\\x86\\xbd\\x74\\x2c\\x13\\xb0\\x76\\xf0\\x6f\\x55\\x75\\x99\\xe8\\xa7\\x60\\x68\\x44\\x94\\xc5\\x23\\x31\\x2f\\x14\\x0e\\xec\\x4b\\x44\\xf7\\x06\\x18\\x56\\xcf\\x59\\xdd\\x6e\\xbf\\xdf\\xc0\\x30\\x3e\\x9f\\xcd\\x6e\\xaf\\x0c\\x1b\\x0c\\x15\\x95\\x36\\xc9\\xef\\xb6\\x72\\xf1\\xb8\\x25\\x6a\\x29\\x9a\\x94\\xb2\\x58\\xc5\\xe8\\xe4\\x94\\xe8\\x66\\x7c\\x13\\x53\\x8c\\x2b\\xbf\\xd0\\x23\\xa0\\x98\\x8f\\xd8\\xb8\\xb5\\xca\\x9d\\xb9\\x83\\x94\\xad\\x90\\x1a\\x13\\xc3\\x65\\xf9\\xf9\\xfa\\x49\\xec\\xae\\x05\\x8b\\xc5\\xd8\\x53\\xc0\\xc5\\x00\\x85\\xf9\\xc9\\xac\\x7c\\x19\\x32\\x8d\\xdd\\x71\\xea\\x8d\\xbb\\x2e\\xfd\\xd7\\xb5\\xef\\xd6\\xcf\\xc6\\x46\\x5d\\xec\\xde\\x94\\x54\\x55\\xad\\x7c\\x3a\\xae\\x6d\\xd4\\xe9\\x1d\\x8d\\x15\\x5d\\x57\\x4d\\xc0\\xa3\\x46\\x9d\\x7c\\xf6\\xea\\x15\\x2f\\x3d\\xb0\\x0f\\xfb\\x77\\x28\\xe9\\xaf\\xcb\\xcb\\xbf\\xdb\\xb2\\xf9\\x77\\xc3\\xf0\\x1f\\x76\\xdc\\xb7\\x4d\\xf9\\x61\\xc3\\xaa\\x25\\x37\\xde\\xdf\\x0e\\xfc\\xe1\\xf3\\xca\\x04\\xce\\xcc\\xdf\\x81\\x9c\\xf4\\x14\\xd5\\x0b\\x51\\x36\\xea\\x0f\\x87\\x0d\\xe5\\xac\\x81\\xad\\xaa\\xf6\\xfb\\x24\\xab\\xd5\\x6e\\xb3\\x55\\xd9\\x02\\x70\\xf1\\xc7\\xa2\\x93\\x52\\xb1\\x18\\x32\\x9b\\x61\\xa5\\x66\\x37\\x72\\x69\\xd5\\x8d\\xf3\\xd3\\xe9\\xab\\x35\\xa8\\x33\\xa5\\xd9\\x73\\xe5\\x6c\\x49\\xb2\\xbd\\x96\\x4c\\x78\\x85\\x44\\x6a\\x59\\x39\\xb9\\x48\\x69\\x1c\\x8e\\x8c\\xbd\\xc9\\x43\\x72\\x4e\\xb3\\xa4\\x28\\x0e\\x95\\xa1\\xe3\\x6a\\xd5\\x30\\xe6\\xc9\\xdf\\x3e\\x71\\xf7\\x66\\x7c\\xfa\\xc5\\xca\\xd1\\xcf\\x57\\x8e\\x9b\\xaa\\x7c\\xff\\x7d\\xcd\\xcf\\xaf\\x74\\x8e\\x6d\\x0a\\x6e\\xf1\\xce\\xa8\\x6d\\x59\\x39\\xe6\\x8c\\xf9\\xd6\\xcb\\xb6\\x8c\\xe0\\xef\\xb8\\x65\\xe3\\xcd\\xaf\\x87\\x0c\\xde\\x3b\\xd6\\xbc\\xa3\\xd4\\x2b\\xf5\\xfc\\x7c\\x8c\\xff\\xdd\\xd7\\x75\\xdf\\x3d\\xc7\\xde\\xb3\\xfa\\x67\\xdd\\x3e\\x7f\\xc3\\x25\\xc2\\xa9\\xcc\\xfe\\x5b\\xe7\\x2e\\xa6\\xf4\\xd2\\x48\\x6a\\x23\\xd3\\x9a\\x75\\xcd\\x72\\xc0\\x61\\xb5\\x1a\\xfc\\x0c\\xa3\\xd3\\x19\\x0c\\xa1\\x12\\x90\\x4b\\x48\\x3d\\x06\\xc9\\xcd\\x9b\\x5d\\xfa\\x00\\x55\\xb2\\xb4\\xe5\\xd3\\xbf\\x6c\\x0e\\x00\\xaa\\xd4\\x11\\x18\\x09\\xc7\\x9b\\xec\\xcd\\x65\\x24\\xbb\\x44\\xd8\\x6d\\x0f\\x60\\x6d\\xe6\\xec\\x24\\xfe\\x6a\\xe5\\x07\\x3e\\xee\\xfc\\xbe\\xc2\\x3a\\xae\\xc8\\x3f\\xb5\\x36\\x69\\xc2\\x4d\\x9e\\xaa\\xd2\\x9b\\xab\\xab\\xe2\\x0e\\x13\\xfb\\x90\\xa1\\x6a\\x7c\\xbf\\xe2\\x58\\xac\\xbc\\x3a\\xc1\\x58\\x34\\x0d\\x1b\\xbb\\x3f\\xc6\\x6f\\x6d\\x73\\x8f\\x3a\\x55\\xf9\\x1f\\xe5\\x15\\x9c\\x98\\xb9\\x32\\x52\\x5c\\x2e\\x8c\\xa2\\xf5\\x96\\xbe\\x61\\x3f\\xe4\\x7f\\x03\\x92\\x76\\x15\\xa9\\x6e\\x53\\xc1\\x0a\\x65\\x3a\\x20\\xe7\\x6e\\x9d\\x8e\\x35\\x07\\xd9\\x60\\x75\\x8d\\xcf\\x81\\x8c\\x8e\\x49\\x29\\xa1\\x6c\\x62\\x4a\\x12\\xb0\\x0d\\x78\\x7a\\x63\\x89\\x24\\x19\\x11\\x2a\\xc9\\xab\\x54\\x44\\x0b\\xb3\\x11\\x41\\x22\\xbf\\xd6\\xb9\\x3d\\xb3\\x1f\\x2d\\xb9\\x14\\xfb\\xcd\\x65\\x05\\x09\\x9c\\xb5\\xf4\\x11\\xa4\\x90\\x54\\x9c\\x6e\\x49\\x9c\\xe2\\x1e\\xde\\xb6\\xeb\\xe5\\xaf\\xbe\\xb8\\xee\\xf5\\x83\\x2b\\xaf\\x2a\\x1b\\xed\\x71\\x8e\\xad\\x18\\x31\\xbe\\xeb\\xcc\\x99\\x27\\x5f\\xfb\\xbf\\x57\\x8e\\x5f\\xd5\\x7e\\xd1\\x45\\x57\\x8c\\x71\\xbe\\xf2\\xf0\\x13\\xd8\\x38\\x7a\\xc7\\xe6\\x0b\\xaf\\x2a\\xfb\\xf8\\x4c\\x8f\\xb7\\x7b\\xdc\\xff\\x8f\\xb3\\xf7\\x80\\x8f\\xa2\\xdc\\xfe\\x87\\xe7\\x99\\xb2\\x75\\x66\\x77\\x76\\x76\\x76\\x67\\x7b\\x2f\\xe9\\x6d\\x53\\x08\\x04\\xb2\\x84\\x10\\x12\\x12\\x52\\xe8\\x43\\x4b\\x22\\xbd\\x17\\x29\\x2a\\x1d\\x45\\x8a\\x20\\x4a\\x15\\xb8\\x0a\\x22\\x82\\x28\\x57\\xc0\\x86\\x88\\x05\\x0b\\xd8\\xf5\\x36\\xfb\\xb5\\x5e\\x6f\\xf1\\x5e\\x7b\\xb9\\x16\\xd8\\xc9\\xfb\\x3c\\x33\\xbb\\x9b\\x4d\\x40\\x7f\\xf7\\xfd\\x7f\\xf4\\x43\\x76\\x37\\x21\\xcc\\x79\\x9e\\xf3\\x9c\\xf3\\x3d\\xe7\\x39\\xe7\\x7b\\xca\\x96\\x2e\\x6c\\x3f\\x7f\\xf5\\x96\\x6f\\x6f\\x98\\x3c\\xed\\xb5\\xc5\\x87\\xae\\x8d\\x49\\x3f\\x1e\\x5a\\xb0\\x04\\xee\\x03\\xb2\\x13\\x95\\xc4\\x79\\xe8\\xe7\\xaf\\x8a\\x97\\xd1\\xf9\\x7c\\x4e\\x3e\\x41\\x38\\x22\\x91\\xa2\\x62\\x1f\\x41\\x14\\xe7\\xd8\\x8c\\x46\\x1b\\x9a\\x23\\xe3\\x32\\xe2\\x34\\xb4\\xd9\\x58\\x30\\xe8\\x6e\\x15\\xa1\\x43\\xb3\\x62\\xda\\x16\\x11\\x46\\xa3\\x14\\x85\\xc6\\xb9\\x94\\xc8\\xa5\\xc5\\xd5\\x99\\x80\\x52\\x91\\xb3\\xe7\\x3c\\x50\\x59\\xe7\\x7a\\x48\\x36\\x00\\xef\\x07\\xd0\\xb4\\xa9\\x54\\x96\\x3a\\x95\\x16\\x4c\\x8e\\x9c\\xc2\\x23\\x83\\x0f\\x14\\xe6\\xd4\\x0a\\xa6\\xfa\\x68\\xfd\\xb8\\x42\\xbf\\xce\\x36\\x88\\x6d\\xe4\\xeb\\x1d\\xf3\\xf7\\x0f\\xab\\xdd\\xb2\\xae\\xb0\\xe3\\xc9\\xe9\\x87\\x4f\\x6c\\xbb\\x06\\xaf\\x1d\\xf6\\x2e\\x71\\x9e\\x67\\xdf\\xbe\\xda\\x68\\x1b\\xdf\\x56\\x34\\x82\\xc1\\x29\\xfd\\x72\\xa6\\xf8\\x77\\x43\\x9b\\x3a\\x6a\\x87\\xd7\\x6d\\x5c\\x3e\\xe3\\x16\\xb3\\xda\\x31\\x7b\\xe0\\xb2\\x0d\\x4a\\xdd\\x40\\x81\\xb4\\x85\\x78\\x86\\xda\\x07\\xf5\\x4e\\x8c\\x9b\\xad\\x76\\x3b\\xa7\\xe2\\x30\\x52\\xa7\\xf3\\x31\\xd0\\x74\\xf9\\x58\\x97\\xe5\\x51\\x60\\x8b\\x6b\\x75\\x24\\x0c\\x09\\xd5\\x6d\\xa2\\x0a\\x81\\x19\\x83\\xc5\\x5e\\x3f\\x5f\\x85\\x3a\\xc5\\xe0\\xde\\x6a\\xe5\\xa9\\x27\\xc9\\x7d\\x84\\xe7\\x4b\\x21\\xe3\\x4e\\x93\\xdc\\x27\\xf3\\x2f\\xa5\\x1c\\x16\\x2e\\xa3\\xca\\x42\\x15\\x82\\x46\\x9e\\xa3\\x25\\xb7\\x19\\x44\\x15\\xc5\\x2c\\x00\\x05\\x3b\\x41\\x21\\x08\\x27\\xfe\\x09\\xbe\\x7f\\x4c\\x90\\x1e\\x90\\x9e\\xed\\x9c\\xf0\\xd5\\xb9\\xd3\\xb6\\xc1\\xe3\\x8b\\x07\\xdf\\x7f\\x08\\x0c\\xb9\\x1e\\xf8\\x40\\xfd\\xd7\\xda\\x29\\xfb\\xbc\\x0e\\x51\\x3a\\x21\\xe5\\xdc\\x14\\x1f\\xee\\x18\\xf4\\xc4\\xfc\\x13\\x95\\xcd\\xf6\\x09\\xe5\\x25\\x45\\xe6\\xc2\\x43\\xb2\\x1c\\xb2\\xbd\\x86\\xfb\\xe6\\xc1\\xe2\\x71\\xbf\\x5e\\xa7\\x33\\x11\\x6e\\xab\\x60\\x17\\x6c\\x84\\xcd\\xe7\\x75\\x42\\x93\\xe7\\x34\\x0a\\x16\\xbd\\xd3\\x6d\\xc6\\xcc\\x6d\\xca\\xc8\\x1d\\x85\\x15\\xb8\\x37\\xcd\\x76\\x72\\x57\\xe4\\xe9\\xdc\\xb8\\x45\\xed\\x87\\x1a\\x98\\x4e\\x4c\\xcb\\x94\\xdb\\xea\\x72\\xa2\\x74\\xea\\x22\\x53\\x07\\x2b\\x68\\xa4\\xff\\x04\\xcd\\xe3\\x2d\\xe3\\x15\\xe6\\xf4\\x9d\\x22\\x03\\x9a\\x35\\xfb\\x89\\xf3\\x32\\xf1\\xf9\\x5b\\x9d\\xd2\\x97\\xe3\\xf2\\xa7\\x01\\xff\\x74\\x1c\\x9b\\x57\\xd0\\x29\\x93\\xa4\\xb7\\xd9\\x6b\\x4e\\xbc\\x20\\xe3\\xc9\\x61\\x5d\\x9f\\x93\\x04\\x75\\x1b\\x8c\\xad\\x04\\xcc\\x87\\xb5\\xc4\\x73\\x6d\\x9c\\xc3\\xa1\\xf7\\x99\\x2d\\x16\\x08\\x86\\xfd\\x01\\xce\\x06\\x6d\\x18\\xd7\\x9f\\x1b\\xc6\\xc1\\xb7\\x1c\\x87\\x69\\x34\\xd0\\xa8\\x69\\xac\\x98\\xf1\\x32\\xa3\\x96\\x31\\xe7\\x2a\\x03\\x0e\\xa0\\xc7\\xd7\\x01\\x55\\xd2\\x5a\\x0b\\x01\\x15\\xe1\\x97\\xe9\\x95\\x92\\x23\\x7b\\xcd\\xf8\\xae\\x93\\x4f\\x4e\\xdc\\xf7\\xf6\\xcd\\xf7\\x9c\\xba\\x35\\x71\\x62\\xca\\x8a\\x52\\xb0\\xc4\\x33\\x50\\xda\\x1f\\xa8\\x2c\\x9d\\x79\\x4b\\x31\\x75\\xdb\\x2f\\xff\\xf8\\xbd\\xb4\\x40\\xfa\\xfe\\xfa\\xaf\\x3e\\xfa\\x37\\xf8\\xe5\\xe7\\x29\\xbf\\x48\\x4f\\x3e\\xb2\\x6c\\xfd\\xe6\\xc4\\xd8\\x67\\xaf\\xbf\\x6e\\x25\\x30\\x82\\x02\\xf8\\x08\\xc8\\xcf\\x05\\xa0\\xad\\xe2\\xb0\\xf2\\xb8\\x8b\\xd5\\xea\\xf5\\x2a\\x82\\x30\\xf3\\x46\\x1e\\xb0\\x84\\x32\\x4c\\xd8\\xc8\\x60\\x4c\\x72\\x9c\\xb0\\x02\\x6c\\x81\\xcc\\xc3\\x54\\x99\\xe2\\xf0\\xa6\\xba\\x51\\x99\\x3a\\x45\\xfa\\xa3\\x1e\\xdb\\xa9\\x9e\\x37\\x81\\x06\\x73\\x57\\x50\\xb5\\x39\\x65\\xbe\\xbe\\x77\\xf0\\xe3\\x47\\x39\\xf3\\xf0\\xf9\\xb6\\x9a\\x44\\x75\\x59\\x73\\xb0\\x3c\\x56\\xae\\xe8\\x2b\\x8c\\x31\\xae\\x82\\xff\\xb6\\x09\\xcd\\xe6\\x35\\xe1\\x6a\\x12\\x51\\xdd\\xe8\\x71\\x56\\x6b\\x34\\xea\\x74\\xb4\\x5e\\x8f\\x43\\xf9\\x68\\xa3\\x3c\\x26\\x96\\x34\\xc1\\xcf\\xd4\\x24\\x9a\\x75\\x2b\\x8f\\x0a\\xc3\\xd0\\xa0\\x7b\\xae\\xb2\\xf2\\x72\\x6a\\x6b\\xae\\x32\\xad\\xab\\x50\\x44\\x20\\x0f\\xe4\\x55\\xa7\\x28\\xd6\\xc9\\xab\\xf4\\x0b\\xa4\\x3f\\x7e\\xdd\\xc1\\x48\\x67\\x9f\\x5a\\x53\\x25\\x7d\\xb7\\x7b\\x82\\x1e\\xcc\\x1d\\x09\\x7e\\x26\\x8e\\x57\\xb3\\xd2\\x37\\x12\\x6f\\x6f\\x00\\xf7\\xb6\\x48\\x77\\x13\\xc3\\x6d\\x35\\x92\\x1f\\x7c\\x08\\xe3\\xa0\\xc7\\xe0\\x26\\x8f\\x85\\x7e\\x4b\\x40\\xf3\\x15\\x31\\x81\\x23\\x49\\x41\\xa0\\xcd\\xb8\\xd9\\x0e\\x70\\x1b\\x46\\xe2\\x1a\\xa3\\xa6\\x55\\xa4\\x69\\x23\\x10\\x2c\\xcd\\xa2\\x80\\x27\\x9f\\x2d\\x65\\x2e\\x90\\x95\\x28\\x91\\x7d\\x52\\x92\\xda\\x1f\\x45\\xd1\\xfe\\x0a\\x20\\x5b\\x89\\x14\\x3d\\xb5\\x60\\x46\\x86\\x03\\xcf\\x92\\x4e\\x4b\\xef\\x69\\xf0\\x12\\x96\\xe9\\xdf\\xd7\\x63\\x2d\\x1a\\x6c\\x6b\\x19\\x32\\x73\\x91\\xe3\\x77\\xcc\\x28\\xfa\\x6d\\xbc\\x2d\\x71\\x22\\x97\\x38\\xb7\\x64\\xf6\\x54\\x7a\\xc4\\xe3\\x96\\xf5\\x77\\x5e\\xca\\x6d\\x74\\x0e\\x84\\xcf\\x76\\x4c\\xe6\\x07\\x47\\x7e\\x66\\x44\\x3c\\xc7\\x66\\xa5\\x20\\x62\\xf0\\x98\\x74\\x7a\\x3d\\x43\\x7b\\x68\\xaf\\xcf\\xee\\xd4\\x99\\x4c\\x6a\\x5e\\x3d\\x5c\\xe4\\xad\\x2c\\x03\\x17\\xd1\\x02\\x3c\\xcd\\xa2\\x1e\\x18\\xb1\\xde\\xf3\\xa9\\xd2\\x53\\xbe\\xd3\\x07\\x47\\xa1\\x7c\\x4c\\x92\\x65\\xa7\\x18\\xc2\\xe5\\xe1\\x54\\x51\\x15\\x7c\\x01\\x7d\\x92\\xb9\\x91\\x01\\xeb\\xa6\\x59\\xd1\\xec\\xee\\x59\\x40\\x07\\x4f\\x8c\\x74\\x9a\\xe8\\xb3\\xbd\\x6f\\x8b\\x2f\\xaf\\x5e\\xfa\\x52\\x13\\x68\\xb2\\x6e\\x26\\x66\\xd5\\x24\\x9e\\xbf\\x3a\\xbb\\x73\\xdb\\x28\\x7c\\xf8\\xa5\\x13\\xf0\\xc0\\x0c\\x5f\\x58\\xfc\\xcb\\x5b\\xf9\\x43\\x80\\x76\\x05\\xc1\\xc8\\x18\\xcb\\x0c\\xed\\xf3\\x01\\xe2\\xf7\\x30\\xce\\x90\\xfb\\x58\\xb1\\x2a\\x69\\x2b\\xb1\\x15\\xfa\\xa3\\x18\\x36\\x2d\\x6e\\x2f\\xf0\\x99\\x23\\x2c\\x69\\xb6\\x51\\xb4\\xe0\\x72\\xa9\\x30\\x1a\\x2b\\x2d\\x13\\x6c\\xde\\x48\\xbd\\x80\\x72\\x86\\x4e\\xc1\\x53\\x2f\\xb8\\xed\\x36\\xbb\\x6d\\xb8\\x68\\x8c\\x44\\x23\\xd1\\x36\\xb1\\x44\\x1b\\x89\\x10\\x2e\\x3b\\xa2\\x34\\xb0\\x41\\xc7\\x7a\\x01\\x3a\\xa5\\x64\\x59\\x6b\\xb2\\xc2\\x35\\x73\\x8a\\x1c\\x32\\xd9\\x25\\x72\\xd1\\x86\\x3a\\x5a\\xae\\x58\\xae\\x6e\\xd3\\x5c\\x0d\\xa8\\x0a\\x7f\\x89\\xd2\\xc7\\x6a\\x15\\xca\\x65\\x33\\x5e\\x08\\x94\\x89\\x7a\\x02\\x49\\xc4\\xef\\x79\\xc4\\xb1\\xbf\\xb5\\xe9\\x0f\\x67\\xff\\xfe\\x01\\x3e\\x67\\xc1\\x3f\\x9f\\x01\\xd2\\x20\\x01\\x8c\\x39\\x37\\x4c\\x7d\\xfc\\x91\\xba\\x78\\x4b\\xb1\\x4f\\xf0\\x31\\x39\\x0d\\xf7\\xdc\\x5b\\xda\\x39\\x03\\xe0\\x7d\\x66\\xef\\x2b\\x6f\\xac\\x99\\x93\\x9b\\x67\\xcc\\xbd\\x7f\\xe7\\xe1\\xbf\\x84\\xd5\\xbe\\x35\\x63\\xaf\\x3b\\xe5\\xd2\\x0e\\xba\\x49\\xb7\\xc8\\x7b\\x70\\xd1\\xc8\\x59\\x3a\\xcb\\x76\\xad\\x21\\xe7\\x8e\\x95\\x45\\x83\\x8b\\x84\\x41\\x68\\x4d\\x90\\x4f\\x7e\\x8c\\x38\\x0f\\xd7\\x64\\xb8\\xbc\\x26\\x46\\x68\\x5f\\x36\\xc1\\x3d\\xf6\\x61\\x4d\\xf1\\xa8\\x4e\\xa3\\x56\\x1b\\x69\\x16\\xda\\x6a\\xbb\\x20\\xb0\\x66\\x68\\x5f\\x04\\x56\\xad\\x32\\xf1\\xa6\\x16\\x91\\xe3\\x78\\xa3\\xce\\x82\\x39\\xbb\\x27\\x7f\\x27\\x87\\xdf\\xca\\xf0\\x28\\x15\\x6b\\x28\\x84\\x5d\\xdd\\xa7\\x36\\x48\\xa0\\xf1\\x36\\x03\\x00\\x7c\\x85\\xc6\\xdc\\xa8\\x83\\xe9\\x33\\x4c\\x68\\xe7\\xce\\x56\\xcf\\x7e\\x67\\x5e\\x75\\xd1\\x07\\x9a\\xa1\\xf5\\x59\\x0b\\xae\\x19\\xd5\\xd0\\x8f\\x0c\\x72\\x17\\x66\\x51\\xb5\\xa1\\x52\\x21\\x7f\\x33\\x3f\\x7a\\x1c\\x3c\\xd1\\x9d\\x52\\xbf\\xae\\x35\\xf9\\xf1\\xd5\\x7b\\xc1\\x53\\xeb\\xbf\\x98\\x91\\x38\\x5a\\x3c\\x3c\\x38\\x28\\xab\\x14\\xe5\\x03\\x5f\\x85\\x18\\xe8\\x1d\\xe2\\x69\\xcc\\x88\\x39\\xb0\\xfe\\x71\\xaf\\x99\\xa6\\x9d\\x2e\\xbb\\x8d\\x20\\x49\\x15\\x45\\x39\\xb5\\x96\\x56\\x51\\xcb\\x52\\x4e\\x3b\\x8b\\xb1\\x2d\\x22\\x91\\x31\\x42\\xa9\\x3a\\xb7\\x07\\xaa\\x4b\\x82\\x07\\x04\\xe0\\x52\\x43\\xc2\\x54\\xd1\\x12\\xae\\x8c\\x95\\x8d\\xb8\\x15\\x9c\\xcf\\x1b\\x63\\x6f\\x95\\xbe\\x3f\\x19\\x7e\\xf7\\xdc\\x53\\x1f\\xac\\xff\\xee\\xf6\\x6b\\x6f\\xde\\x3b\\xa8\\xd1\\xd5\\x5c\\xc5\\x5b\\x8c\\x52\\x15\\xf1\\xf7\\x97\\x2e\\xbc\\x77\\xee\\x6e\\xe9\\xe7\\x9b\\x67\\x02\\xf2\\x6d\\x20\\xac\\x3e\\x20\\x0d\\x71\\xa1\\x35\\xed\\x2b\\xdd\\x44\\xac\\x84\\xfe\\xc5\\x87\\xf5\\x8d\\x3b\\x31\\x1d\\x67\\xb3\\x31\\x2a\\x4e\\xe5\\x0f\\x10\\x46\\xab\\xd6\\x0a\\xed\\xb3\\xcf\\x01\\x1c\\x10\\x6e\\x6b\\x15\\x4d\\x42\\x2e\\x31\\x63\\x34\\x85\\xfc\\x5c\\xf2\\xec\\x4f\\x05\\xbd\\x24\\x9d\\x5f\\x34\\x19\\xa9\\xa5\\x66\\x74\\x40\\x2b\\x58\\x33\\x7a\\xcd\\x75\\xf3\\xce\\xde\\x6d\\x1d\\x36\\x60\\xcb\\x89\\x83\\xb7\\x01\\x72\\xcf\\xe6\\x1b\\xb3\\x1a\\xcd\\xf9\\x23\\x1b\\xb6\\x4d\\x00\\x37\\x0d\\xaa\\xcb\\xce\\x5a\\x31\\x61\\xe6\\xa9\\xd2\\xc6\\xac\\xb6\\x22\\xd1\\x9f\\x7d\\xdb\\xaa\\x7b\\x40\\xc1\\xe9\\xf0\\xbf\\xd7\\xe6\\xae\\xfd\\x18\\xc5\\x04\\xfd\\xe0\\xbe\\xaf\\x21\\x4b\\x31\\x3d\\xe6\\x46\\x28\\x52\\x6b\\xa7\\xad\\x2e\\xf8\\x7c\\x46\\x8f\\x97\\xa2\\xed\\x74\\x8b\\xe8\\x74\\xda\\x8d\\x66\\xac\\x45\\x34\\x5b\\x7b\\x4e\\x3a\\x56\\x1e\\x51\\x49\\x4b\\x86\\xd1\\xf4\\xd6\\xa8\\x52\\x1e\\x00\\xd4\\xca\\xc8\\x4e\\xb8\\xef\\x2c\\x96\\x0d\\x2a\\x62\\x6a\\xf0\\xa7\\xd9\\x3b\\x8a\\xa6\\x1e\\x18\\xdb\\x04\\x5e\\x00\\xb3\\xd6\\x7f\\xb9\\xeb\\x81\\x57\\x40\\x11\\x60\\xc0\\xd4\\xd1\\xc3\\xfa\\xb7\\x80\\xfc\\x67\\xef\\xee\\x58\\xf2\\xe6\\xf6\\x35\\xb7\\xe1\\x3f\\xa8\\xb6\\xde\\xb3\\xff\\xe2\\x86\\x77\\xce\\x01\\x00\\x22\\x1b\\xbf\\x96\\xfd\\x33\\xd4\\xd1\\xa7\\xa1\\x4e\\x5a\\xb1\\x86\\x78\\x98\\x37\\x18\\x70\\x1d\\x4d\\x6b\\x28\\x68\\x7e\\x04\\x1b\\xad\\xd2\\xaa\\xa0\\x6b\\xd3\\x00\\x86\\xd0\\x68\\xb4\\x46\\xb3\\x09\\x33\\x65\\x3a\\x8f\\xf4\\x4c\\x8c\\x14\\xb2\\x48\\x23\\x5e\\x2a\\x20\\xeb\\xa3\\xac\\x85\\xc8\\x93\\x24\\x31\\x13\\x78\\xfe\\x9c\\x7a\\xf6\\x29\\xa8\\x7b\\xc4\\x04\\x4e\\x7a\\x7b\\x16\\x15\\xf0\\xe4\\x97\\xfb\\xcb\\x77\\xf1\\x27\\x91\\xf2\\xc9\\x2a\\x57\\x1a\\xc9\\x0e\\x96\\x17\\x55\\xca\\x9c\\xc6\\xf0\\xb9\\x1e\\x24\\x9e\\xc3\\x5c\\x58\\x65\\xdc\\x65\\xd5\\x9a\\xb5\\x0c\\xa3\\x22\\xcc\\x0e\\xc2\\xe1\\xf6\\x08\\xa9\\xd1\\xf8\\x6c\\x4b\\x8f\\xd1\\xf8\\x3d\\x3c\\x2e\\xb2\\xcf\\xca\\x58\\x7c\\x94\\x71\\xc1\\x93\\xdd\\xa9\\x9c\\x0c\\xb9\\xe5\\xb1\\xb8\\xe0\\xe1\\x03\\x67\\x0b\\x8a\\x97\\xe8\\xc1\\xca\\xaa\\x90\\x79\\xf0\\x80\\xe9\\x8b\\x0a\\x82\\xd9\\x1b\\x6f\\x97\\xbe\\xe6\\x4f\\xed\\x19\\xf9\\xdd\\x5b\\xf6\\x81\\xd2\\xfb\\xaf\\x5c\\x57\\x35\\x7a\\x3c\\xa0\\x3f\\x9d\\xf2\\xb0\\xbd\\xc9\\xf5\\x87\\xbd\\xd2\\x67\\xd2\\x73\\x4a\\x8c\\xe7\\x87\\xb6\\x7a\\x3a\\x8c\\xf1\\x9c\\x58\\x18\\x6b\\x8b\\x67\\x59\\x7c\\x5e\\x95\\x5a\\x6d\\xb7\\x69\\x35\\x1a\\x13\\x1d\\x0a\\x11\\x34\\x11\\x89\\x6a\\x9c\\x36\\x9f\\xca\\xd7\\x2c\\x6a\\x55\\x56\\x93\\x0b\\x73\\xb5\\x88\\xac\\x0c\\x40\\x33\\xc6\\xa2\\x77\\x3f\\x6f\\x72\\xd4\\x81\\x7c\\x4e\\x4a\\x14\\x9c\\xc0\\x62\\x14\\x11\\x34\\x23\\x35\\x44\\x0c\\x7c\\x06\\x20\\x27\\x12\\xe0\\xb1\\x11\\xd0\\x51\\x19\\x00\\xa0\\x18\\xc4\\xc0\\x6d\\x7b\\xa4\\x8f\\xa4\\xbf\\x0d\\xdd\\x38\\xf4\\xf4\\x4b\\x53\\x5e\\xda\\x6a\\x1d\\x36\\xb6\\xa4\\xb5\\x6e\\x96\\xeb\\x96\\x31\\xb1\\x0a\\xd3\\xac\\xf9\\x1b\\x06\\x12\\x17\\x4e\\x1e\\x94\\x5e\\x97\\x1e\\x63\\xa5\\x89\\xe0\\xb0\\xe1\\xe5\\xfb\\xf7\\xfe\\x7c\\x87\\x79\\x78\\xe0\\x66\\xe9\\xe2\\xe8\\x95\\xeb\\x19\\xbc\\xf5\\x77\\x5b\\x66\\x76\\xb4\\x27\\x4e\\x6a\\xf7\\x82\\x82\\xad\\x0f\\x40\\xff\\xc3\\xcb\\x67\\xfc\\x38\\x8c\\x1f\\x9a\\xe2\\x61\\x56\\x6b\\xd2\\xd8\\x31\\x1b\\xb0\\x99\\x34\\xc0\\x04\\x18\\xa7\\xcb\\xe5\\xa3\\x19\\xc6\\x0f\\x8f\\xb8\\x96\\xa4\\x5c\\xbc\\xd5\\x49\\xd2\\x94\\x31\\xc5\\x34\\x27\\x54\\x16\\xa5\\xf2\\x80\\xb1\\xee\\xd8\\xad\\x32\\xc9\\xd9\\x46\\x14\\xa0\\xb1\\x20\\xf0\\xe1\\xe5\\x6e\\x63\\x15\\x30\\xa3\\x49\\x7a\\x41\\x68\\x05\\x20\\xfa\\xa9\\x28\\x37\\x83\\xb2\\xd5\\xda\\xbe\\x7d\\xe9\\x37\\xcd\\xfc\\xf8\\xfa\\x95\\x75\\xa0\\x58\\xbd\\x55\\x3a\\xbe\\xdb\\x50\\xe4\\xa7\\xcf\\x58\\xec\\x73\\xf6\\x1f\\x93\\xfe\\xa8\\x1a\\xf0\\x34\\x98\\x07\\xee\\xf6\\xe7\\xe9\\x07\\x1a\\xea\\xa5\\x03\\xb3\\xde\\x5c\\x16\\x7d\\x52\\xe2\\x24\\xba\\x30\\x44\\x0d\\x34\\x4d\\x05\\xbb\\x3f\\x91\\xde\\xf4\\x8f\\x04\\x56\\x4c\\xe1\\x6d\\x6a\\xa2\\xa6\\x92\\x7f\\x80\\x32\\xcc\\x8c\\x97\\x71\\x16\\x8b\\x11\\xee\\x89\\x56\\xe3\\x74\\x40\\x8c\\xac\\xd6\\x68\\x68\\xaf\\xc7\\x83\\xc3\\xcd\\xf1\\xf9\\x8d\\x76\\xa0\\x25\\xec\\xb8\\xd1\\x64\\x6c\\x16\\xbd\\x26\\xa3\\xd3\\xa6\\x85\\xc8\\x4e\\xa5\\xb5\\x6a\\xe4\\x28\\x2e\\x73\\x8f\\x52\\x3c\\x95\\x95\\xe9\\x7b\\xc3\\x6e\\x44\\xa7\\x4c\\xb4\\x01\\x72\\xb6\\x2a\\x08\\x77\\xab\\x67\\x46\\x2b\\x66\\x8e\\xc9\\xd9\\x2c\\x6a\\x2a\\xdd\\x3e\\xde\\x2f\\x7d\\xfe\\x8f\\xc6\\x8d\\x0d\\xcf\\x7c\\xc0\\x0c\\x1e\\x4b\\x83\\x69\\x13\\xf5\\x93\\x9b\\x5e\\xde\\xf8\\xf2\\xac\\xb5\\x8e\\xe9\\xc4\\xf1\\x81\\x76\\x49\\xfb\\xe0\\x19\\xb8\\x49\\x87\\x8e\\x6e\\x1f\\xd0\\x0c\\x0e\\xd8\\x07\\x26\\xfe\\x5a\\x13\\x1f\\x3e\\x85\\x5c\\x73\\x71\\xcd\\x0d\\x3b\\xf0\\xc1\\x68\\xfe\\x61\\xd7\\xe7\\xd4\\x0a\\xe2\\x1c\\x8c\\x7d\\x20\\x6e\\x89\\xb8\\xad\\x04\\x91\\x47\\xe7\\x05\\x08\\xb7\\x56\\xcb\\xba\\xd9\\xa2\\xe2\\xc2\\x42\\x07\\xe3\\x67\\xad\\xaa\\x6c\\x47\\x76\\xab\\xc8\\x3b\\x52\\x23\\xaf\\xe4\\xd9\\x9e\\xca\\xe5\\x76\\x65\\x2a\\x47\\x9b\\xe4\\x5e\\x57\\xab\\xd4\\xa9\\xf2\\x45\\xf9\\x34\\xc8\\xc6\\x24\\x9a\\x1a\\x58\\xca\\xc1\\x78\\xc0\\x90\\x4c\\x1d\\x54\\x94\\x56\\x03\\x62\\x16\\x4b\\xd7\\x8f\\xac\\x9d\\xb2\\xac\\x65\\xb8\\xe7\\xd1\\xd7\\xe6\\xfd\\x61\\xeb\\xf3\\x95\\xd4\\x80\\x3d\\x1d\\x87\\xee\\x5d\\x0f\\xa8\\xbb\\x75\\xd3\\xd7\\x37\\x0e\\xa9\\xac\\xba\\xce\\xab\\x63\\xf1\\x8d\\x13\\x1a\\xce\\x4e\\x6a\\xff\\xf6\\xc9\\x55\\x77\\x15\\x8c\\xf6\\x7e\\x7e\\xfa\\x77\\xdf\\xac\\xbf\\xaf\\xbd\\xe9\\xc9\\x33\\x77\\x60\\x5d\\xf7\\x5a\\x47\\x67\\xef\\xfb\\x7a\\xce\\x82\\x25\\xf3\\x46\\xbe\\x50\\x35\\x01\\xf9\\xc6\\x42\\x78\\x90\\x0e\\x51\\xe3\\xb8\\x08\\xf6\\x1d\\xca\\xc9\\x60\\xb3\\xee\\xc3\\x94\\x0c\\x93\\xc6\\x14\\xc1\\xc1\\x7c\\xc1\\x44\\xa8\\xbb\\x33\\x4c\\xc9\\x5c\\xcc\\x83\\xe8\\xe7\\x95\\x5c\\x0c\\x36\\x0b\\x3b\\x80\\x25\\xff\\x86\\x1b\\xfd\\x8d\\x05\\xe9\\x64\\x4c\\x77\\x4e\\x4a\\xf6\\xbf\\x28\\x7f\\x83\\xfc\\xaf\\x9c\\x2b\\x8a\\x28\\xb9\\x25\\xdc\\x09\\xff\\xca\\x67\\x4e\\x0f\\x2b\\xf4\\xc8\\x2d\\x29\\xff\\x46\\x77\\xbe\\xa7\\x12\\x98\\x93\\xb9\\x28\\xf8\\x4f\\x80\\xe7\\xdd\\x3e\\xe5\\x5f\\x48\\xff\\xbc\\xbc\\x2f\\xf2\\xcf\\x2f\\x57\\x7e\\x1e\\x77\\x66\\xe4\\xae\\x7e\\x2c\\x8a\\xb9\\xd9\\xee\\x9f\\x87\\x76\\x63\\x70\\xd7\\x97\\x72\\xde\\xc4\\x8c\\x65\\x63\\xad\\xf1\\xac\\x28\\xcf\\x73\\x6a\\xb7\\x03\\x06\\x75\\x6e\\x23\\x61\\x24\\x72\\x72\\x55\\x1e\\xb7\\x07\\xba\\x2c\\x8f\\x07\\x63\\x18\\x41\\xce\\x97\\x04\\xaf\\x9c\\x2f\\xe9\\x39\\xab\\x2b\\xa9\\x88\\x19\\x79\\x12\\x95\\xdf\\x67\\x82\\xba\\xc8\\x99\\xbb\\x77\\x39\\x64\\x2a\\x55\\x26\\x75\\xc1\\xf8\\xe9\\xc8\\xf1\\xb3\\x07\\x36\\xe1\\x0b\\x16\\x74\\x49\\x92\\x74\\xbd\\x6e\\xf6\\xf0\\x01\\x55\\x03\\x17\\xaf\\x9b\\xdd\\xc9\\x02\\x63\\x55\\xdf\\xaa\\xba\\x32\\xdb\\x12\\x9a\\x3a\\x74\\xdb\\xf6\\x5d\\xaf\\x78\\x74\\xb6\\x5b\\xd6\\x7e\\xf2\\x5f\\x10\\x28\\x28\\xc7\\xc7\\x82\\x37\\x2f\\x96\\xd4\\x56\\xbf\\xf2\\xe0\\x9c\\xd5\\x64\\x07\\x05\\xc6\\x4c\\x9a\\x3a\\x70\\xf7\\xc6\\xc4\\xc2\\x1a\\x24\\x17\\x07\\xfd\\xdb\\x5a\\x6a\\x2b\\x16\\x80\\x51\\xc0\\xe4\\x78\\xcc\\xe6\\x51\\xe5\\xf1\\x66\\x73\\x30\\xe8\\xc3\\x00\\xf0\\x78\\x8a\\x68\\x83\\x01\\x86\\xa9\\x85\\x45\\x98\\x25\\x17\\x62\\x05\\x5f\\xae\\xd1\\x19\\x86\\x3e\\x0f\\xd3\\x6b\\x21\\x82\\x35\\x92\\xec\\x70\\x91\\xcc\\x30\\xe2\\xe9\\x01\\x5b\\x3d\\x26\\x77\\x74\\x4f\\x1e\\x95\\x53\\x42\\x84\\x0a\\x0b\\xca\\x12\\xa6\\x22\\x15\\x78\\xd0\\x82\\xdd\\x37\\xf8\\x6a\\xe8\\x10\\x4b\\x83\\xc9\\xd4\\xfb\\x00\\x40\\x0a\\xfd\\x73\\xa5\\xb7\\xbf\\x90\\xae\\x51\\x4f\\x1c\\xa7\\x07\\xab\\x17\\x93\\x6b\\x67\\x2e\\x0f\\xc4\\x07\\x4e\\x59\\x76\\xe6\\xc0\\xd6\\xf5\\xb6\\xd1\\xbc\\xf4\\x6c\\x43\\xff\\xe1\\x7d\\x8a\\x1a\\x02\\x14\\xd1\\x57\\x3a\\xf2\\xad\\x24\\x01\\x43\\x56\\x10\\x67\\x60\\x80\\x33\\xaf\\x60\\xf9\\xbe\\x67\\xc0\\xdc\\x95\\xf3\\x8f\\x3c\\x7d\\xc3\\x96\\xba\\x9b\\x16\\x81\\x65\\x8b\\x6e\\x98\\x5d\\x5b\\xfb\\x74\\x72\\x0e\\x0c\\xba\\x47\\xce\\xa3\\x9a\\x30\\x3f\\x56\\x1b\\x77\\x7a\\x69\\x1a\\x67\\x18\\xbb\\x85\\xe3\\x02\\x41\\x2f\\x6b\\x77\\x10\\x8c\\x7c\\xd3\\xc0\\xc2\\x38\\xf1\\x51\\x60\\x7d\\x10\\x22\\x23\\x32\\xa3\\x1c\\x44\\x3e\\x9b\\xdd\\xb4\\xab\\xc9\\xf8\\x56\\x48\\x4e\\x7c\\x56\\xa1\\x89\\xf7\\x72\\x9a\\x1c\\x6e\\x1e\\x1e\\x09\\x56\\xf8\\x30\\x13\\xaf\\xe6\\x30\\x6a\\xc6\\xa2\\xe1\\x39\\xe3\\x9d\\x74\\x61\\xfe\\xd8\\xa7\\xf7\\x86\\x07\\xfd\\x81\\x49\\x14\\x30\\xef\\x36\\x19\\xe6\\x3f\\x7b\\xad\\x01\\x94\\x81\\x2a\\xea\\x2a\\xd0\\x87\\x6a\\xaa\\x96\\xfe\\x73\\x6d\\xbf\\xdc\\xe7\\xa5\\xbb\\xdf\\x90\\x6e\\x90\\x13\\xe3\\x27\\xdb\\x5a\\x0e\\x01\\x6a\\xdb\\x08\\xe9\\x03\\xe9\\x8b\\xa2\\x32\\xd0\\x08\\x26\\x75\\x75\\x75\\xcd\\xc1\\x30\\xb5\\x83\\x6a\\x62\\xa3\\xc4\\xf5\\xd8\\x97\\xb2\\xf6\\x96\\x48\\xf3\\xbb\\xbe\\xc4\\xd4\\x0f\\x80\\x30\\x91\\xbc\\xd7\\x96\\xe5\\x53\\x7d\\x07\\xf5\\xfb\\xfa\\x64\\x1e\\xf8\\x23\\xb0\\x17\\xd3\\x3d\\x84\\x83\\x02\\x2a\\x22\\x1f\\x33\\x02\\xf3\\x41\\x5f\\xd8\\x49\\x5d\\x0b\\x75\\xda\\x0e\\x31\\xd8\\xf8\\x78\\x19\\xd0\\x0a\\x56\\x80\\xa9\\x34\\x1a\\x9d\\xdb\\xc3\\x99\\x55\\x7a\\xbd\\x81\\x27\\x1d\\x06\\x03\\x09\\xe3\\x67\\x4f\\xab\\xc8\\xb1\\x7a\\xa8\\xe1\\x7a\\xab\\xce\\xa9\\x11\\x50\\xf0\\x0c\\xac\\x10\\xf6\\x00\\xe8\\x1a\\x5f\\x4d\\x6d\\x7e\\x4a\\xd9\\xbb\\x6f\\x56\\x84\\x18\\xfc\\x1f\\xed\\x3a\\x52\\x6d\\x9c\\x54\\x27\\x3d\\x23\\x34\\x53\\x4e\\x50\\x1a\\x25\\xca\\x39\\x0a\\x39\\x47\\x15\\x4e\\x64\\xb7\\x3c\\xf4\\xe7\\x9b\\xa5\\x4b\\x87\\x1b\\x37\\x36\\x3e\\xf8\\x87\\x6d\\x00\\xbb\\xab\\xe5\\xa5\\x43\\x9b\\xd7\\xde\\x97\\x78\\xb4\\xb5\\x66\\xc3\\xb5\\x07\\xa9\\x6b\\xa4\\x46\\xc3\\x9f\\x8f\\xee\\x92\\xa4\\xc3\\xac\\x34\\x01\\xdc\\x65\\xf8\\xf3\\x91\\x5d\\x80\\xb8\\xd3\\x04\\xce\\x5c\\xfa\\xe9\\x7d\\xee\\x52\\x22\\x1f\\x64\\x2f\\xee\\x5c\\x66\\xc2\\xbf\\xae\\x94\\xde\\x53\\xce\\xab\\xba\\xeb\\x73\\x55\\x01\\xf4\\x89\\x36\\x18\\xc5\\x88\\xf1\\x7c\\xdc\\x12\\xb5\\x19\\xed\\xf6\\x58\\x44\\x45\\xaa\\x62\\x36\\xc2\\xa2\\xb5\\x68\\x4b\\xcb\\xbc\\xf9\\xe6\\xfc\\x56\\x91\\x35\\xc7\\x62\\x04\\x63\\xb6\\x46\\x11\\x01\\x7b\\x8b\\x88\\x13\\xc6\\x9e\\x46\\x98\\xcb\\x08\\x6e\\x95\\x7b\\xa2\\x94\\x37\\x41\\x25\\x59\\x41\\x33\\xc4\\x49\\x3d\\xcc\\x30\\x54\\xee\\xf2\\x0a\\x2a\\x69\\xa6\\x95\\x7c\\x8c\\x5f\\x95\\x61\\x92\\x4f\\x77\\xb4\\x0e\\xa2\\x3e\\xe5\\xa4\\x8b\\xc3\\x87\\x2e\\xfc\\xe3\\x26\\xc5\\x1e\\x4b\\x0f\\xed\\xdc\\x86\\xbb\\x64\\x53\\x5d\\xdd\\xd9\\xaf\\xa4\\x52\\x32\\xce\\x5f\\x9b\\xb4\\xcc\\x44\\xed\\x3d\\x80\\x9d\\x51\\x7e\\x62\\xf5\\x2d\\x7f\\x5f\\x0d\\x4d\\x32\\x98\\x72\\x2c\\xd1\\xfc\\xb8\\x6c\\xac\\xa7\\x5c\\x98\\xbf\\x68\\x5f\\x69\\xbd\\xf4\\xdd\\xe1\\x94\\x6d\\x86\\x7a\\x6d\\x85\\x7b\\x8a\\x72\\x6d\\x71\\x6c\\x71\\xbc\\x2a\\x9f\\x35\\xe7\\x84\\x72\\xdc\\x6c\\x85\\x7e\\xc0\\x80\\xfe\\xfd\\x2b\\x70\\x37\\x21\\x94\\x08\\x25\\x03\\x6b\\xca\\xf2\\x39\\x87\\x39\\x8f\\xcb\\xb3\\x16\\x19\\x43\\xd1\\xa8\\xaf\\x4d\\x8c\\xb2\\x56\\x4b\\x15\\xc3\\x54\\xb6\\x21\\xc3\\xa5\\x46\\xa1\\x80\\xb3\\x87\\xc2\\x27\\xbf\\x70\\xe9\\xe0\\xb4\\xc7\\x6a\\xc8\\x86\\x2c\\xc5\\x3e\\xdc\\x4d\\x50\\xa2\\x56\\xe6\\x39\\x51\\x30\\xb4\\x89\\xa2\\x68\\xae\\xbc\\x2c\\xdd\\x74\\xa2\\x1c\\xf5\\x30\\x6a\\x24\\x14\\x20\\x72\\x57\\x59\\x94\\x46\\x3c\\x02\\xa2\\xa5\\x83\\x63\\xdb\\x64\\x4a\\x93\\xb2\\x91\\x3c\\x04\\x65\\x9d\\xa3\\xad\\xd2\\x7f\\x5c\\x79\\x9f\\x92\\xed\\x6b\\x38\\x03\\x28\\x2a\\xa9\\x6c\\xd5\\xd5\\xd9\\x36\\xb5\\x5f\\x35\\xda\\x05\\x78\\x36\\xdf\\xf4\\x29\\x39\\x79\\xad\\x03\\x5c\\x05\\x3f\\x1d\\x1c\\x0b\\x9d\\x56\\xc8\\x4f\\x36\\x2e\\x2b\\x05\\xb3\\x17\\x37\\xaf\\xba\\x67\\xb7\\xd8\\x30\\xf7\\xce\\x11\\x33\\x86\\x57\\x0c\\x6b\\x68\\xeb\\xbf\\x69\\xef\\xbc\\xc5\\xcd\\xb7\\x1f\\x1d\\xb3\\xdb\\xd7\\x30\\xfb\\xd4\\xc4\\xbd\\xfd\\x76\\xb7\\xf5\\x97\\x3e\\x78\\xf1\\x2d\\x59\\x57\\x86\\x42\\xec\\xb1\\x15\\xda\\x02\\x0b\\x16\\xc4\\x06\\xc6\\xfd\\xac\\xd1\\x68\\xc1\\x30\\x42\\x4f\\xe8\\x43\\x61\\xd6\\x62\\xb6\\xb4\\x8b\\x66\\xa7\\xda\\xde\\x2e\\xaa\\x49\\xcc\\xd7\\x2e\\x1a\\x95\\x9b\\x60\\xec\\xf2\\xa1\\xbc\\x29\\x7a\\xca\\x08\\x9e\\x59\\x76\\x90\\xb4\\x06\\xbd\\x4a\\x13\\xbe\\x78\\xf6\\xa3\\xe7\\xc0\\xe4\\x7f\\x1e\\x01\\xe0\\xe6\\x83\\xd2\\xa7\\x4f\\x54\\x1d\\x65\\x12\\xeb\\x98\\x93\\xf8\\x89\\xdb\\x36\\x5e\\xf7\\xea\\xba\\x9d\\x37\\xae\\x7c\\xed\\x06\\x2a\\x07\\xb8\\x5f\\xfa\\x16\\xac\\x7e\\x7d\\xd3\\xcf\\x77\\xbc\\x29\\xed\\x79\\xcb\\x23\\x3d\\x8a\\xe6\\x0f\\x93\\xfb\\x9f\\x7c\\xf7\\x05\\x69\\xfd\\xd9\\xc7\\xdf\\xbc\\x00\\x16\\xa3\\xdc\\x31\\xc4\\x7e\\x30\\x4e\\x85\\x67\\xd8\\x87\\xb2\\x74\\x9c\\xc9\\x04\\x63\\x3b\\xb5\\x41\\x6d\\xf0\\x07\\xf4\\xf0\\x7c\\xea\\x59\\xd2\\xdd\\x2c\\x9a\\x48\\x0b\\x47\\x00\\xa2\\x59\\x04\\xce\\x74\\x04\\x90\\x71\\x54\\xd3\\x8f\\x2e\\x0f\\x11\\x91\\xcf\\x67\\x72\\x14\\x3f\\x7c\\x78\\x54\\xd8\\x9c\\x7c\\xee\\x01\\x00\\xaf\\x95\\x3c\\xf4\\x8c\\xf8\\xd5\\xd7\\x6f\\xb9\\x78\\xfb\\xbd\\xaf\\x7c\\xf2\\x58\\xff\\xf9\\xe3\\x57\\x56\\x2f\\x6f\\x1c\\xda\\x37\\x7e\\x4d\\x9d\\xd4\\x34\\xd0\\x06\\xc6\\x05\\x2f\\xdc\\x7c\\x08\\xb0\\xb7\\xbf\\xf9\\xd0\\x5f\\xa4\\xf3\\x85\\xd2\\x21\\x8e\\xf8\\xf4\\x9b\\xdb\\xba\\xb0\\x9b\\xae\\x5e\\xb9\\xf3\\x92\\x6c\\x77\\x07\\x4b\\x53\\xa8\\xc9\\x70\\xad\\x43\\x58\\x41\\xdc\\x62\\x51\\xfb\\x19\\xcc\\xa3\\xf6\\x84\\x23\\x98\\x45\\xef\\xd7\\x43\\x93\\x6b\\xd0\\x93\\xc9\\xb4\\x12\\xd7\\x1d\\xe8\\x29\\xcb\\x5a\\x1a\\x29\\x04\\xa9\\xa5\\x15\\xe4\\xbb\\x69\\x64\\x59\\xd1\\xf0\\x41\\x22\\xc9\\xe1\\x44\\x2c\\x9b\\xbb\\x64\\xcf\\x5f\\xdf\\x7f\\x1d\\xac\\xf9\\xe9\\xdf\\x5f\\xc4\\xc6\\xa9\\x96\\xdc\\xdf\\x85\\x49\\xaf\\x0f\\xdb\\xb1\\x71\\xe4\\xcd\\xd3\\xfa\\xfe\\xe9\\x4b\\xd3\\xd4\\x96\\x9d\\x05\\xcd\\x39\\xe5\\xad\\xc0\\x7a\\xe6\\x7d\\x30\\xfc\\x91\\x41\\xd2\\x93\\xcf\\x8c\\x93\\x1e\\x97\\x3e\\x9f\\x76\\xdb\\xc2\\x32\\x7f\\xbf\\xc1\\xa3\\xfa\\x2d\\xb9\\xb3\\x6a\\x4a\\x44\\xe1\\x42\\x1e\\x2a\\x5d\\x4f\\xdc\\x4f\\x16\\xc3\\x55\\x8d\\xc5\\xad\\xa4\\xcd\\xcb\\x19\\xf4\\x36\\x3d\\xb4\\x83\\xa4\\xc1\\xe3\\x72\\x61\\xad\\xa2\\xcb\\x68\\x50\\xc2\\x52\\xd4\\x5f\\x75\\xa1\\xf7\\xc3\\x82\\xe4\\xe0\\xff\\x64\\x64\\x5a\\x91\\x4a\\xcb\\xa2\\xa7\\xef\\x87\\x82\\x3e\\xfc\\xed\\x85\\xf7\\x4f\\xc9\\x1b\\x31\\x69\\xbc\\xf8\\xfa\\x3b\\xa6\\x69\\x2d\\xf5\\xad\\x07\\xae\\xdf\\x0f\\xec\\x0f\\xcc\\x68\\xad\\x1b\\x40\\xf4\\x5d\\xfa\\xe5\\xaa\\x92\\xda\\x62\\xa7\\x73\\xdc\\xe0\\x1b\\xee\\x2e\\x6a\\x8f\\x34\\x97\\x66\\x17\\xf3\\x59\\x1b\\x17\\x9f\\x06\\x85\\xf7\\xae\\xff\\x11\\xe2\\x7d\\x09\\xc3\\xa8\\x52\\xaa\\x3f\\x8c\\x9f\\x46\\xc7\\xf3\\xac\\xa4\\xc5\\x42\\x51\\x7a\\x1d\\x66\\xd0\\x19\\x04\\x1b\\x20\\xad\\x64\\x87\\x68\\xb5\\x6a\\x18\\xc6\\xd2\\x21\\x1a\\x19\\x46\\xdf\\x2e\\x32\\x04\\xa5\\xd3\\xe8\\xda\\x45\\x4d\\x8f\\xa2\\xa3\\xcb\\x46\\x22\\xa7\\xea\\xeb\\x64\\x27\\x1d\\x8c\\x66\\xcc\\xf4\\x87\\x8b\\x2d\\x57\\x21\\x91\\xa1\\x98\\x08\\xa4\\x5d\\x63\\xde\\xa5\\x13\\xe3\\xe9\\xc3\\x2f\\x1e\\x65\\xc8\\x31\\xf1\\x49\\xba\\xe2\\xae\\x86\\xcd\\x13\\xf1\\x27\\xa5\\x7f\\x1c\\x97\\x78\\xb9\\x9a\\x61\\xa9\\xa3\\x41\\xda\\xf3\\x85\\x5a\\x9d\\xf8\\x0a\\x3e\\xeb\\xfb\\x50\\x3f\\xef\\x82\\x76\\xd8\\x8c\\x62\\x54\\x56\\xa5\\xe2\\x2d\\x34\\x00\\x04\\x8e\\xf3\\x26\\x8c\\x81\\xd6\\x96\\x65\\x18\\x9c\\xa2\\x60\\x1c\\xad\\xa6\\x28\\xa8\\x9f\\x94\\x11\\x47\\x38\\x3e\\xe3\\xf9\\x62\\x99\\xc5\\x7f\\xc9\\x4c\\x44\\x38\\x99\\x46\\x84\\x01\\x3e\\x7c\\xaa\\x98\\x5c\\x47\\x02\\x86\\xcf\\x91\\x7e\\xfc\\xdb\\x26\\x9a\\xe8\\x28\\xad\\x07\\x73\\x8e\\x35\\x76\\x7e\\xd8\\xbf\\xbe\\xa5\\x1e\\x9c\\x4a\\xec\\xa7\\x54\\xb6\\x1a\\xe9\\xdd\\x93\\x86\\xc4\\x1b\\xf7\\x4a\\x35\\xc7\\xd1\\xde\\xba\\x31\\x8c\\xec\\x07\\xd7\\xcf\\x8e\\x95\\xc4\\x05\\x95\\x56\\x8b\\x09\\x82\\xd3\\x6c\\xb5\\x32\\x3a\\x9d\\xc3\\xa9\\xb3\\x5a\\x49\\x96\\x40\\x25\\x38\\xd5\\x5c\\x26\\xfd\\x6f\\xba\\xca\\x23\\x9c\\xac\\xc0\\xad\\x30\\xfb\\xcd\\xe5\\xdd\\xc5\\xb7\\x30\\x72\\x20\\x06\\x8c\\x62\\xbe\\x23\\x6a\\xa6\\x5f\\xfa\\xf4\\x0f\\x9e\\x91\\xe8\\x95\\x48\\xb8\\xde\\xf7\\xdd\\x5e\\xc7\\x0c\\xd5\\x3a\\xea\\x8e\\x02\\x35\\xce\\x37\\x65\\x27\\xdf\\x7c\\x94\\x38\\xdf\\xac\\xe0\\x90\\x12\\x68\\x69\\x96\\x42\\xfc\\x85\\xd8\\x7e\\xad\\xa8\\x24\\x88\\x82\\xe7\\x17\\x07\\x14\\xd0\\x68\\xd1\\xb8\\x19\\xe8\\x93\\x2c\\x19\\x8f\\xd2\\xa3\\xde\\x04\\xf8\\x51\\xcd\\x0c\\x88\\x01\\x07\\x3e\\x41\\x7a\\x72\\xc5\\xdb\\x89\\x43\\x60\\xe4\\x0a\\xa2\\xf2\\xd2\\xf3\\x78\\x36\\x21\\x73\\x71\\x8d\\x90\\x06\\x53\\x13\\xa9\\x59\\x10\\xe3\\x8c\\x89\\x87\\xbd\\x3e\\x1f\\xe6\\x17\\x6c\\x36\\x87\\x9d\\x77\\xbb\\x0d\\x26\\x93\\xdf\\x4e\\xe8\\x08\\x5d\\x20\\xe8\\xe6\\xdb\\x45\\xb7\\x9d\\x63\\x5c\\x98\\x57\\xe5\\x7d\\x14\\xb0\\x0f\\x8a\\x7e\\x3f\\x62\\xeb\\x29\\x4c\\x5a\\xfe\\xc2\\xb4\\x91\\xa8\\x8c\\xf5\\x6a\\xbd\\x85\\x8f\\x80\\xf2\\x76\\xc8\\xd4\\x71\\xc8\\x58\\x44\\xe5\\xfb\\xf0\\x28\\x02\\xaa\\x68\\x7c\\x5c\\x45\\x24\\x4c\\x04\\xc1\\xf4\\x2d\\x2b\\xe8\\x5b\\x80\\x6a\\xeb\\x27\\x60\\xf8\\x83\\x1f\\x1d\\x5a\\x34\\x77\\x63\\x7e\\xce\\x80\\xe1\\xd6\\x8e\\x4f\\x46\\x3b\\x1f\\xdc\\x7c\\x50\\x7a\\xaf\\xe5\\x20\\xb9\\xd3\\xdc\\xb6\\x6f\\x6c\\xfd\\xab\\xd2\\x86\\xaf\\xff\\x9b\\x78\\xf1\\x19\\xef\\x31\\x70\\xea\\x89\\xa5\\x5f\\x8d\\xe1\\x6f\\x5c\\x95\\xf8\\x18\\xfc\\xf3\\xf6\\x4f\\x8b\\x3f\\xf4\\x48\\x35\\xf2\\x5a\\xf1\\x52\\x9c\\xf8\\x8c\\x64\\x30\\x07\\x76\\x55\\xbc\\xc4\\xee\\xe0\\x2d\\x36\\x0c\\xe3\\x38\\xb3\\xd1\\x6a\\x75\\x58\\x48\\x3d\\xa9\\x77\\xba\\x2c\\xbc\\xc3\\x1e\\xb7\\x9a\\x87\\x8b\\x18\\x9a\\xfd\\x6a\\x87\\xa1\\xa5\\xd5\\xce\\x23\\x73\\x88\\xb7\\x89\\x6a\\x85\\x46\\x9a\\x53\\x1a\\x8c\\x73\\xe5\\xc6\\xa7\\x57\\xd9\\x57\\x7b\\x48\\x97\\x79\\xf5\\x27\\x57\\xf7\\x96\\x67\\xc8\\xd6\\x1f\\x50\\xd1\\x70\\x24\\x4a\\x45\\xf1\\x8d\\x2b\\xfe\\xb8\\xfc\\x38\\x7f\\xfa\\xd1\\x27\\x80\\x7e\\xf3\\xf1\\x73\\x63\\x16\\x4f\\x91\\x26\\x95\\x80\\x17\\x0d\\x3e\\x29\\x5c\\x8c\\xbf\\x7c\\x7f\\x60\\xfe\\x90\\xdf\\x49\\x9f\\x3c\\xfb\\xa2\\xd4\\xfe\\x8f\\xbc\\x33\\xa0\\xea\\x60\\xf8\\xdd\\xa5\\x5f\\x4e\\x1a\\xf6\\xe3\\x52\\x59\\x86\\x99\\xd2\\x60\\x75\\x15\\xd4\\xbd\\x06\\x6c\\x57\\x7c\\x18\\x8c\\x73\\xab\\x99\\x48\\x30\\xe8\\xa1\\x9c\\x4e\\x4f\\x1e\\x96\\x9f\\x1f\\xf3\\xe8\\x4a\\x74\\x25\\x43\\x1b\\x07\\xf5\\xeb\\x14\\x07\\x0d\\x2a\\x57\\x97\\xd7\\x77\\x88\\xd5\\xe5\\xae\\x92\\xfc\\x7c\\x26\\xe8\\xf1\\x70\\x8c\\x91\\x69\\x17\\x0b\\x7d\\x46\\xc2\\x41\\x51\\x82\\x5a\\xe8\\x14\\xd5\\xe6\\x3c\\x0c\\xcb\\xc6\\xb3\\x3b\\x45\\xdc\\x8c\\xf5\\x9c\\x33\\xd9\\x5d\\xdf\\xa1\\x48\\xa4\\x0c\\xbb\\x4d\\x86\\x21\\xdd\\x21\\x48\\xb7\\x03\\x4f\\x4e\\x79\\x95\\xdb\\xe7\\x52\\x53\\x94\\x95\\xca\\x8e\\x64\\xf6\\x39\\x9a\\xf9\\x81\\xd2\\x6f\\xa1\\xbc\\xc5\\xd1\\xdd\\x6e\\xd2\\xb7\\x2b\\x13\\x97\\xd1\\xed\\x2e\\x79\\xee\\x89\\x99\\x4d\\xb3\\xdd\\xaf\\xed\\xbc\\x76\\x9d\\xe1\\xd0\\x26\\x06\\xb7\\x33\\x33\\xef\\xd2\\x8f\\xb3\\x2d\\x2c\\x24\\xd4\\xf7\\x76\\x30\\xe0\\x2b\\x66\\xc6\\x5d\\xba\\xa2\\x42\\xcf\\x64\\xef\\xb9\\x0e\\x06\\x27\\x99\\x15\\x7f\\xcc\\x97\\x3e\\xfe\\x66\\xeb\\xda\\x21\\x9d\\x05\\x13\\x57\\x06\\x26\\x84\\x2a\\x0f\\xd4\\x6d\\xbf\\x71\\xe8\\x84\\xc2\\x0f\\x5b\\xa7\\x0e\\xc8\\x9b\\x35\\x7f\\x5e\\x9f\\x7a\\x62\\x3b\\x2a\\x0a\\xb9\\x34\\xb9\\xc6\\x3b\\xd9\\x62\\xc8\\x0b\\x47\\x88\\xe7\\xe5\\xf7\\x9d\\x45\\x05\\xf9\\x15\\x9c\\x9e\\xac\\x95\\x0b\\xaa\\x66\\x4b\\x89\\x44\\x6d\\xc8\\xdb\\x5c\\xf9\\xb2\\x2b\\xdc\\x56\\x10\\x94\\x6b\\xa8\\xbe\\x84\\xe7\\xe0\\x22\\xb4\\x41\\x03\\xb0\\x35\\xf1\\x41\\x26\\x9e\\x8f\\x19\\xbc\\x2e\\x97\\x43\\xe5\\x0c\\x61\\xe1\\x70\\xd4\\xa9\\x8f\\xe8\\x23\\xd5\\xf1\\x8a\\xc2\\xe1\\x62\\x45\\x45\\x8e\\x26\\xa7\\xaa\\x45\\x8c\\xe5\\xb8\\xc2\\x4e\\x23\\x6b\\x40\\x93\\xcf\\x1d\\x2a\\x95\\x55\\x63\\x6d\\x83\\x70\\x37\\x84\\x61\\x7e\\xc2\\xdf\\x26\\x12\\xd6\\xcb\\x57\\x5a\\x8e\\x7c\\x7e\\x75\\x81\\x63\\x19\\xcb\\x2b\\xc7\\xe9\\x99\\xeb\\xab\\xac\\x2e\\x4a\\xfd\\x66\\xa6\\xf9\\x71\\xec\\x4a\\x4b\\xca\\x91\\xf3\\xea\\x0f\\x4d\\x11\\xa7\\x82\\xad\\xe7\\xc7\\xce\\xe0\\x26\\x2d\\x96\\x53\\xff\\xf5\\xc1\\xf6\\x46\\xdd\\x64\\xa0\\x9f\\x66\\x1d\\x5a\\xbc\\xc2\\x8f\\x2e\\x01\\x0a\\xa4\\x0f\\xbf\\xbc\\x7c\\x21\\x57\\xdc\\x7f\\xcf\\x55\\xed\\x33\\x27\\x5e\\x98\\x3f\\x25\\xdc\\x81\\x9b\\x6d\\xca\\xa5\\x40\\xeb\\x8a\\x0a\\x3c\\x26\\xbf\\xda\\x34\\x1e\\x5d\\x0f\\x48\\x3f\\x49\\xdf\\x66\\x2c\\x1f\\xd0\\x22\\x9d\\x1d\\x05\\xfd\\xcd\\x07\\x54\\x1b\\x16\\xc1\\x3a\\xe3\\x25\\x16\\xca\\x81\\x45\\x22\\x4e\\xa7\\x9f\\xa6\\x7c\\x94\\x2f\\x9a\\xe5\\x8f\\x84\\x22\\xed\\xa2\\x03\\xc3\\x6c\\xb8\\x0d\\xaa\\x21\\xae\\x0d\\xa5\\x6b\\xb0\\xb4\\x5c\\x87\\xc8\\x68\\xc9\\xd4\\x3d\\x47\\x12\\x42\\x16\\xf6\\xae\\xc1\\xe2\\x2a\\x53\\x77\\x46\\xb2\\x45\\x51\\x82\\xc1\\x50\\xac\\xe7\\x3d\\x6e\\x72\\xe8\\x63\\xaa\\xb8\\x8e\\x58\\xfe\\xe1\\x23\\xcf\\xbc\\xbe\\x16\\xeb\\xda\\x53\\x72\\x8d\\x3b\\x57\\xd4\\x6a\\x0b\\xdc\\x63\\x16\\x2f\\x9a\\xbf\\xe0\\xf4\\xcc\\x1d\\x0c\\x3e\\xc7\\x70\\xf2\\xa5\\x24\\xa0\\x72\\x4f\\x38\\x77\\xea\\x8e\\x6f\\xb7\\x99\\xf5\\xd2\\x5a\\xc1\\xf1\\xd5\\x99\\xab\\xaf\\xed\\x8b\\x37\\x21\\x27\\x75\\xf1\\x26\\x04\\xa6\\xa0\\x6c\\x33\\xa0\\x2f\\x58\\x04\\xe3\\x7a\\x0f\\xb4\\x91\\x79\\x66\\x0a\\xb3\\x79\\x3c\\x76\\xbb\\x53\\x47\\x39\\x28\\x87\\xd7\\x07\\xed\\x8b\\x15\\xb7\\xb6\\x42\\xa9\\x34\\x1e\\x8f\\xb3\\x59\\xf4\\x58\\xec\\x98\\xc6\\x08\\x51\\x95\\x5e\\x03\\x52\\x63\\xb9\\xab\\x33\\x1d\\xe9\\xaf\\x4b\\xc4\\x62\\x19\\x29\\xe9\\xa4\\x3c\\xb2\\x8b\\xc5\\x5f\\x59\\xbe\\xf7\\xae\\xdf\\x03\\xe3\\x07\\xe3\\x3b\\x8a\\xeb\\x19\\xde\\x5f\\xda\\x5e\\xd9\\x32\\xaa\\x71\\xf2\\x56\\xa0\\xfb\\xf7\\x78\\xbd\\xb4\\x03\\xb7\\x35\\x3f\\x77\\x06\\x30\\xa0\\x39\\xf8\\xe9\\x26\\x61\\xfb\\xf7\\x2b\\x56\\x2e\\x0d\\x10\\xe1\\x5f\\x5e\\xb5\\xa1\\x7e\\xd3\\x6b\\xa1\\x5e\\x0f\\x86\\xb6\\xa4\\x14\\xbb\\x3a\\x5e\\x95\\xe3\\xce\\xce\\xf6\\x78\\x42\\xda\\xa0\\xc5\\x66\\x2b\\x29\\x0c\\x16\\x96\\x95\\xbb\\x73\\x72\\x9c\\x79\\xce\\x4e\\x31\\x2f\\xcf\\x1f\\xc9\\x0e\\x45\\x42\\xed\\x62\\x84\\xf0\\x04\\xfd\\x41\\x88\\x08\\xa8\\x4e\\x91\\x61\\x30\\x3f\\x87\\xc1\\x1d\\xd2\\x62\\xae\\x24\\xa0\\x45\\x7b\\xd3\\xa3\\x6a\\xae\\xa7\\x54\\xdd\\x17\\x17\\xc9\\xb1\\xd8\\x97\\x2b\\xa8\\x32\\xf9\\x1a\\x59\\xce\\x6e\\xf4\\x00\\xb7\\x2c\\x35\\x23\\x1b\\x27\\xf1\\x87\\x2f\\x57\\xcc\\xc5\\x9b\\x83\\x43\\x99\\x29\\x63\\x16\\x9c\\x9e\\x71\\x07\\x93\\xd8\\xc8\\x3c\\xf0\\xe2\\xdd\\x0c\\xbe\\x89\\x79\\xbc\\xf1\\x8b\\xad\\x67\\x9e\\xe4\\x06\\x42\\xab\\x20\\x0d\\xce\\x50\\xc9\\xe7\\x9f\\x07\\x87\\x06\\x97\\xd5\\xb4\\xf4\\x4d\\x3c\\x24\\xa3\\x8d\\x25\\xe8\\x4f\\x69\\x64\\xcb\\xae\\xad\\x15\\xb3\\xa4\\x2d\\xf0\\xf4\\x2b\\x75\\xd0\\xaf\\x75\\xfd\\x97\\xb8\\x0d\\xe2\\xe2\\x1c\\xb8\\x3a\\x73\\xe3\\x7d\\x34\\x50\\x43\\x1c\\x81\\x60\\x30\\x1a\\xf6\\xf9\\xa2\\x31\\x9e\\x8f\\x3a\\xa2\\x65\\xe5\\x16\\xa1\\x18\\x06\\xb2\\xb1\\xe2\\x62\\x6d\\x80\\x85\\x9f\\x7b\\x3c\\xb9\\x2d\\xa2\\x87\\xa5\\xa9\\x56\\x91\\xd6\\x5a\\xe4\\x84\\x79\\xb2\\xa6\\x27\\x96\\x79\\x47\\x87\\x7c\\x71\\x0f\\xd4\\x94\\x41\\x5e\\x91\\xba\\x27\\xe9\\x26\\x4c\\x91\\x1b\\x4e\\xcb\\x92\\x07\\x5e\\x61\\xa0\\xaa\\x88\\xa9\\x94\\x4b\\x80\\x14\\xe3\\x60\\x45\\x04\\x1c\\xed\\x3f\\xb3\\x21\\xc7\\xe9\\x8c\\xf0\\xad\\xc2\\xd4\\xda\\xac\\xaa\\xf2\\x8a\\xf0\\xd4\\xd9\\xe0\\xda\\xeb\\x26\\xcd\\x1b\\xb9\\xa3\\xfd\\x91\\x45\\x61\\xfb\\x58\\x5f\\x3c\\xbe\\xea\\xcd\\xb9\\x4d\\xd3\\x2a\\xfb\\x4d\\x99\\xeb\\xd1\\x85\\x2a\\xfd\\xc5\\x83\\x96\\x2c\\x08\\xe5\\x86\\xfe\\xf5\\x86\\xad\\x76\\x6a\\x5b\\xdd\\xaa\\xfa\\x05\\xb1\\xf2\\x71\\x23\\x67\\xde\\xbc\\x5b\\xda\\x46\\x4c\\x1f\\x59\\x9d\\x53\\x59\\xf3\\x90\\xec\\x6f\\x5a\\xba\\x3e\\x27\\xa7\\x40\\xbc\\x9d\\x8f\\x0d\\x8a\\xfb\\xbd\\x26\\x22\\x9c\\x93\\xa3\\x15\\x08\\xa1\\xa0\\x90\\x72\\x6b\\xdd\\x10\\x3f\\xf3\\x74\\xbb\\xc8\\x93\\x59\\x18\\x16\\x68\\x17\\x31\\x73\\x26\\x40\\x54\\xf2\\xc1\\x99\\x3b\\x9f\\xba\\xae\\xca\\x03\\xc9\\xe6\\x69\\x54\\xb4\\xab\\xec\\xad\\x81\\x50\\xa7\\xd9\\x13\\xa3\\x15\\xb2\\x74\\x78\\xf8\\xef\\xdf\\xe8\\x40\\x1d\\x18\\xbc\\x69\\x96\\x58\\x31\\x3f\\x77\\xd8\\xf8\\x3e\\xe7\\xef\\x7a\\xec\\x9d\\xca\\x19\\xfb\\xff\\xf2\\x5f\\xfd\\x8c\\x25\\xcb\\xee\\x0d\\xf6\\xdb\\x7b\\xed\\x7b\\xfc\\xce\\x3b\\x4b\\xca\\x16\\x9c\\x7e\\xe5\\xb6\\x19\\x33\\x73\\x7c\\x8f\\x82\\xea\\xdc\\x7b\\xb6\\x4f\\xdc\\xb5\\x62\\xf6\\xf4\\x8e\\x9a\\xe8\\xe4\\x51\\x9b\\x3b\\x06\\xc4\\x6a\\x06\\xac\\x1e\\xbd\\x67\\xac\\x82\\x95\\xf6\\x40\\x59\\xae\\x82\\x67\\x35\\x84\\xf5\\x8b\\xbb\\x5d\\x46\\x3c\\xa0\\xb1\\xe0\\x96\\x70\\x84\\x74\\x68\\x1c\\x98\\x91\\xe3\\xf4\\x2d\\x22\\x07\\x30\\x6f\\xf7\\xcd\\xdb\\x15\\xa4\\x40\\x32\\xa0\\xec\\x53\\x4a\\x84\\x0c\\x09\\x52\\xf7\\x0c\\x72\\xce\\xbe\\x8f\\xd4\\x8e\\xb8\\x84\\xfc\\x6b\\x87\\x0d\\xe9\\x68\\x1b\\x52\\x5f\\x7c\\x62\\xcb\\x23\\x7f\\xae\\xbd\\xf1\\xd3\\x1f\\x54\\x73\\x17\\x2f\\xdb\\xea\\xa8\\x7f\\x9d\\x07\\x53\\x8a\\x22\\x53\\xce\\x7f\\xfe\\xfb\\x19\\xb3\\xf3\\x8e\\x00\\x6b\\xf0\\xc1\\xdb\\xe7\\x3e\\xb4\\x6b\\xdb\\xec\\xa2\\xac\\x65\\xb3\\x72\\xfb\\x97\\x54\\x2a\\x39\\x88\\x11\\xd0\\x6e\\xde\\x05\\xd7\\x3e\\x80\\x85\\x31\\x31\\x6e\\x57\\x3b\\x83\\x34\\xc9\\x6b\\xf8\\x90\\x2e\\xec\\xd7\\xe8\\x34\\x91\\x28\\xc6\\xf3\\x02\\xc1\\x0a\\xec\\xa3\\xc0\\x1a\\x37\\x8b\\x4e\\x35\\x1d\\x24\\x75\\x5e\\x81\\xd4\\x6b\\x42\\xba\\x50\\x87\\xa8\\x4b\\xc2\\x75\\x39\\x0d\\x21\\x54\\x26\\x4f\\x62\\xa6\\x2c\\x26\\xa5\\x60\\x35\\x39\\x8a\\x1e\\xa8\\x33\\x6e\\xb4\\x91\\x50\\x30\\xfc\\x50\\x4e\\x26\\xa1\\x05\\x7e\\x8a\\x33\\x65\\x95\\x55\\x5f\\x57\\x5f\\x09\\x9a\\xf9\\x8b\\x27\\x78\\xdc\\xd4\\x12\\xee\\x13\\x76\\x87\\x46\\x8c\\xe9\\x3b\\x65\\x75\\xc7\\x92\\x8e\\x7c\\xf3\\xa4\\x13\\xcb\\x17\\x4c\\xec\\x9b\\xe8\\x23\\x0d\\xc7\\xb7\\x12\\xff\\x79\\x87\\x1b\\xdb\\x31\\xec\\xd2\\xc1\\x85\\x0b\\xf1\\xb7\\xdf\\x9a\\xda\\x6c\\x7c\\x07\\x0c\\x71\\x94\\x2e\\xea\\xb0\\xaf\\x9b\\xed\\x90\\xce\\x48\\x7f\\x4f\\x1c\\x94\\xe5\\x8b\\x43\\xdb\\xb9\\x05\\x9e\\x31\\x3f\\xdc\\x91\\x51\\xf1\\x7c\\x95\\x23\\xa0\\x27\\x39\\x35\\x17\\xd4\\x86\\x7c\\x6a\\xad\\x1a\\x06\\x75\\x1c\\x67\\x21\\x0c\\x16\\x43\\x8b\\xe8\\x50\\xe9\\x03\\xa4\\xd6\\x63\\x61\\x75\\xea\\xa0\\x36\\xd8\\x2c\\x6a\\x2d\\xff\\x3f\\x64\\x33\\x02\\xb3\\x2c\\x5a\\xf7\\x76\\x79\\xf0\\x94\\x64\\x80\\xf0\\x93\\x1c\\xe5\\x2e\\x9d\\x39\\x72\\xea\\x5b\\x9a\\x04\\xa3\\x01\\x23\\xc7\\x46\\x46\\x58\\xdd\\x75\\xf5\\x25\\x4d\\xe2\\x80\\x8e\\xd6\\xda\\x9c\\x01\\x03\\xb6\\xcc\\xe8\\x68\\x28\\x49\\xdc\\xf1\\x29\\x18\\x89\\xef\\x3c\\xc3\\x5f\\xbd\\x39\\xf1\\x52\\x41\\x01\\x78\\xf5\\xbb\\x39\\xcc\\x19\\xe0\\xb4\\x9a\\x0a\\xc7\\xce\\x1c\\x33\\x7a\\xa4\\x45\\xfa\\x54\\x4a\\x48\\x2f\\x42\\x99\\x26\\x77\\x7d\\x4e\\xbd\\x4e\\x3d\\x05\\xe3\\xbe\\x7c\\x74\\x9b\\xef\\xf2\\xfb\\xa9\\xa8\\x09\\xa3\\xb0\\x82\\xc2\\x3c\\x97\\xcb\\xe3\\xc9\\x69\\x17\\x3d\\x1e\\x82\\xd1\\xda\\xdb\\x45\\x2d\\xc3\\xf0\\x9d\\x30\\x80\\x21\\x08\\x68\\x59\\x89\\x64\\x77\\xc2\\x05\\x85\\x12\\xf0\\x72\\x97\\x90\\xa6\\xaa\\x61\\x31\\x94\\xe0\\x95\\x83\\x58\\x25\\xe9\\x81\\xc6\\xe6\\x2a\\x1d\\xea\\xe5\\x31\\x1f\\x29\\xb7\\x62\\x73\\x72\\xc2\\x57\\xad\\xa2\\xf6\\x48\\x6b\\xa4\\x23\\x89\\x23\\x2f\\x80\\xc5\\xcf\\x4d\\x1d\\x31\\x3c\\xd6\\x7f\\x99\\x77\\x42\\x68\\xea\\xfe\\x3e\\xc3\\x87\\xb6\\x94\\xb5\\xdf\\x5f\\xf5\\xc4\\x19\\x18\\x27\\x70\\x97\\x0c\\xb7\\x6e\\x3f\\xfb\\xf2\\x8a\\x95\\xa7\\x1f\\x1d\\x88\\xb7\\x4b\\x7f\\x91\\xce\\xe0\\xc2\\xa7\\x60\\xe5\\xb7\\x46\\xe3\\xd0\\xfe\\x2f\\x0f\\x34\\x5b\\xcd\\x77\\xef\\x1f\\xff\\x57\\x69\\xe7\\xb3\\x27\\x41\\x08\\x70\\x3b\\xb7\\x76\\x7e\\xa6\\x9c\\xa5\\x08\\x3c\\x4b\\x4d\\xa4\\x17\\xcb\\x82\\x71\\x59\\xc4\\x27\\x08\\xb8\\x8b\\x8e\\xe0\\x91\\xec\\x9c\\xa0\\xa7\\x45\\x0c\\x06\\x31\\x8d\\xc6\\xd8\\x2a\\x6a\\x8c\\x2a\\x33\\x74\\x76\\x2a\\x23\\x66\\xef\\xbe\\xad\\xbb\\xd0\\x33\\xa1\\x9d\\x29\\x1b\\xa5\\x08\\xe6\\x05\\x29\\xb1\\x52\\xde\\x4e\\x36\\x0b\\x49\\x38\\x0d\\x8f\\x1a\\x09\\xfe\\x23\\xf5\\xfb\\x1d\\x08\\xfc\\x7e\\xdc\\xf0\\x86\\x79\\x9e\\xbe\\x81\\xb1\\x57\\x15\\x34\\x37\\x17\\x8e\\xdb\\xd4\\x78\\x72\\xd4\\xcc\\x83\\xe5\\xa5\\xcc\\xc4\\x45\\xbf\\x7b\\x44\\xfa\\x9e\\x07\\x0b\\xef\\x03\\xfa\\xbd\\x2a\\x55\\x5d\\xe5\\xb3\\xf9\\x0c\\xbd\\xf1\\xf3\\x4d\\x17\\x8f\\x6c\\x38\\x62\\x19\\x12\\xdb\\xb1\\xe6\\xa1\\x37\\x64\\x19\\xca\\x60\\x80\\xf4\\x0f\\xe8\\xff\\xb2\\xb1\\xe9\\xf1\\x52\\x5e\\x05\\xe3\\x60\\xad\\xd1\\x48\\x45\\xbc\\x5e\\x67\\xb6\\xc3\\x81\\x2a\\xa1\\x73\\x72\\x1d\\x16\\xc1\\xd2\\x2e\\x06\\x68\\xda\\x9c\\xad\\x32\\xab\\x3a\\x44\\xa7\\xd9\\x4c\\x08\\x97\\x15\\x42\\xa7\\x4d\\x7a\\x06\\x2e\\xe9\\x4e\\x5d\\xa7\\xd3\\xd8\\xdd\\x05\\xd0\\xaa\\x14\\x2d\\xf5\\x00\\x00\\xc3\\xf9\\x64\\x59\\x78\\x46\\x05\\x56\\x10\\x57\\x41\\x00\\xb2\\x8b\\x39\\x75\\xfb\\xbc\\x31\\x8d\\x85\\x23\\xc4\\x01\\x8b\\xc7\\xb4\\xdb\\x8f\\xd2\\xf8\\x6c\\xfa\\x94\\xa3\\x63\\xca\\xdc\\x1b\\x56\\xb9\\x07\\x57\\x0d\\x1b\\x3b\\x05\\x61\\x10\\x62\\x45\\xc9\\x80\\xba\\x7e\\xe5\\x15\\x73\\xaa\\x62\\x6d\\x05\\xdb\\x90\\x33\\xdb\\x56\\x5f\\x3d\\x74\\xe5\\xa0\\xf2\\xdc\\xa6\\xc2\\xec\\x80\\x2c\\x67\\x1d\\x94\\xb3\\x85\\x42\\x9c\\x9e\\x75\\xf1\\x90\\x56\\xa5\\xd3\\x51\\x06\\x00\\xe3\\x66\\x18\\x38\\xb3\\x26\\x1d\\xd3\\x2c\\xea\\x30\\xa0\\xd6\\xa8\\x5b\\x44\\x83\\xc6\\x88\\x53\\xdd\\x95\\xa8\\xb1\\x94\\x2d\\xef\\x96\\x26\\x3d\\xf9\\x9b\\x40\\x62\\x04\\x2b\\x62\\x72\\xc5\\x76\\x8c\\xe8\\xff\\xed\\x4e\\x69\\x1b\\x3d\\xfb\\x86\\x1f\\xb9\\x1f\\x47\\x81\\x59\\xf4\\x94\\xc1\\xdf\\x12\\xb5\\x97\\x1e\\xaf\\xb1\\xe1\\xff\\x9e\\x01\\x3e\\xae\\xb1\\x49\\xd7\\xca\\xcf\\x61\\x85\\x3a\\x83\\x72\\x8b\\x31\\x54\\x39\\x2a\\xa8\\xdc\\x6e\\xd6\\x47\\x10\\x39\\xc5\\x6c\\x8e\\x2e\\xac\\x0b\\x97\\x96\\x31\\x2a\\x6f\\x16\\x45\\xf9\\xbc\\x3e\\x6d\\xd0\\x28\\x38\\x1c\\xe6\\x36\\xd1\\xc1\\x6a\\x2d\\xc5\\x18\\x96\\xdf\\x96\\x71\\xf5\\x9c\\x99\\x4a\\x34\\x65\\xe4\\x12\\x33\\x96\\xba\\x24\\xe5\\x68\\xfe\\xa7\\xd4\\x21\\x9f\\xa6\\xf6\\xaa\\x94\\xb3\\x85\\x8e\\x82\\x4f\\xc9\\x8e\\xd5\\xe9\\x6c\\xa1\\x7d\\xd3\\xa4\\x74\\xb6\\x90\\x98\\xbe\\xc2\\x91\\xfc\\x74\\x03\\x2f\\xe7\\x08\\xb7\\x75\\x34\\xcc\\xbb\\xab\\x35\\x99\\x23\\xdc\\xb2\\x3b\\x9d\\x23\\x9c\\xfb\\xa0\\xb8\\xb7\\x9f\\xf2\\x99\\x62\\xcb\\x2b\\xa4\\x3a\\x92\\x86\\xb2\\x7b\\xb1\\x3c\\xac\\x32\\xee\\x8e\\x90\\x16\\x9f\\xde\\x65\\x71\\xe5\\x17\\xd8\\x03\\x2d\\xa2\\x9d\\x55\\x73\\x98\\xc1\\x45\\x64\\x63\\xd9\\x2d\\x19\\xa2\\x42\\x99\\x7a\\xd4\\xc2\\x29\\xd8\\x40\\x8d\\x0a\\x16\\x70\\x85\\x83\\xa7\\x10\\x55\\xba\\xb0\\xc8\\x18\\xc8\\x25\\x15\\x3d\\x72\\x6d\\xe0\\x5f\\xd3\\xee\\x28\\x26\\x16\\xec\\x7f\\x60\\x59\\x1f\\x55\\x1d\\x35\\x7e\\xe6\\xc2\\x87\\xee\\xdb\\x07\\x8c\\x8f\\xdc\\xfb\\xca\\x96\\x8b\\xd7\\xa4\\x93\\x6e\\x7c\\xf3\\xd0\\xfa\\x49\\xad\\x9c\\x50\\x34\\x6a\\x68\\x30\\x5f\\xb0\\x6b\\x75\\xe6\\x97\\x5e\\x03\\x1c\\x38\\xfe\\xe7\\x37\\x1f\\x3a\\x24\\x7d\\x7d\\x3b\\xbe\\xbe\\x3b\\xfb\\x06\\xb0\\xfc\\xae\\xcf\\x65\\x4c\\x64\\xc7\\x4a\\xe3\\x76\\x41\\xab\\x75\\xb2\\x38\\xee\\x70\\xea\\x68\\x15\\xdd\\x2a\\xaa\\x58\\xab\\x19\\x33\\xa7\\x7d\\x27\\x7b\\x41\\xf9\\xb3\\xbb\\xf2\\x30\\x7d\\xbc\\x11\\x2e\\xef\\x46\\xb1\\xe5\\x72\\x75\\xc0\\x59\\x69\\xd1\\x4e\\x60\\x3e\\xd5\\xbc\\xab\\x28\\x67\\xfa\\x94\\x05\\x77\\x8f\\x5a\\x3e\\xa5\\xa4\\xb3\\xd1\\xdd\\xff\\x59\\x1e\\xcc\\x7e\\x00\\xb8\\x0f\\x64\\x07\\x47\\x85\\xd7\\x7c\\xb2\\x65\\xc1\\x3a\\xd6\\x59\\x97\\x2b\\xf7\\x83\\x48\\xdf\\x4b\\x4d\\x78\\x35\\xb5\\x95\\x53\\x61\\xc3\\xd2\\x7d\\x61\\x28\\x07\\x0b\\x6d\\x0d\\xf4\\x27\\xd5\\x71\\x1f\\xb4\\x49\\x24\\xef\\x70\\xd0\\x24\\x1d\\x08\\xfa\\x2c\\x1d\\xa2\\xcf\\x87\\x8a\\xf6\\xda\\x45\\x0d\\x89\\xb1\\x49\\xa8\\x72\\xb9\\x21\\xea\\xae\\x62\\x08\\x45\\x32\\x93\\xb0\\xd1\\x92\\x72\\xae\\xc2\\x8f\\x74\\x45\\xce\\xc3\\xe2\\x10\\x76\\xaf\\x3e\\x22\\x75\\xdd\\x9c\\xca\\xc1\\xbe\\x28\\xdd\\xf5\\xe6\\xf4\\x53\\xd7\\x7b\\x13\\x15\\xfa\\x9d\\xf8\\xa8\\xdb\\x36\\xee\\xf9\\xb8\\x04\\x3f\\xcf\\x6f\\xfa\\xf9\\x8e\\x64\\x02\\xf6\\x6b\\x69\\xd9\\xf3\\xd3\\x37\\x00\\xfc\\x40\\xc3\\xb0\\xc7\\xdf\\xc4\\x7f\\x7a\\xf2\\x5d\\xe9\\xef\\x1f\\x2a\\x76\\xd4\\xdf\\xf5\\x05\\xb1\\x0c\\xae\\xa9\\x0b\\x7a\\xc0\\x62\\x96\\x70\\x68\\xb5\\x1e\\x23\\xcf\\x13\\x84\\xdb\\x63\\xe4\\x5a\\x45\\xb9\\x13\\x01\\xfd\\xf1\\xa1\\xb1\\xcb\\x48\\xca\\xe5\\xad\\x2a\\x65\\xb5\\x31\\x21\\x13\\xa7\\xa4\\x2a\\x0f\\xbb\\x3b\\x6c\\x53\\x75\\x6a\\x94\\x1c\\x3b\\xf8\\x93\\x8b\\xae\\x52\\xfb\\xd5\\xfe\\x6e\\x98\\x02\\x4e\\xbf\\xfa\\x22\\x88\\x02\\xf7\\xe8\\xdb\\x42\\xcc\\xa4\\x4d\\xab\\xee\\x0c\\x81\\x0a\\x8b\\xf4\\xa2\\x6a\\xc1\\x9c\\xe5\\x13\\x98\\xe2\\x23\\xe6\\x87\\x2f\\x80\\x00\\xe8\\x97\\x13\\x18\\xe6\\xde\\x7e\\xdb\\x75\\x85\\x59\\xcb\\xe6\\x39\\x86\\x06\\x72\\x60\\xdc\\xf0\\x11\\x7c\\xe6\\x72\\xf8\\xcc\\x4e\\x18\\xcf\\x55\\x19\\xb5\\x84\\x01\\x1a\\x45\\xc2\\xe5\\xb6\\x6b\\xb5\\x2e\\x16\\x9a\\x7d\\x23\\xeb\\x65\\x5b\\xd8\\x76\\x96\\x4c\\xbd\\x98\\xcf\\x7e\\xc8\\x76\\xb1\\x6a\\x9a\\x60\\x59\\x15\\x26\\x3f\\xbe\\x15\\x83\\x51\\x91\\x5c\\xf2\\xd9\\xfb\\xf1\\xd3\\xe5\\xb8\\xc9\\x3a\\x0e\\xa5\\x22\\xc2\\x9f\\xec\\x9a\\x36\\xfb\\x2b\\xfc\\xc9\\x00\\x01\\x1a\\x4a\\x70\\xf0\\xd5\\x17\\xa5\\x77\\xa4\\xbf\\x29\\x8f\\x7f\\x69\\x88\\xf4\\xa2\\x05\\x54\\xa4\\x9e\\x9e\\x38\\x7f\\xfa\\x39\\xe9\\x03\\xe9\\x3c\\x7a\\x7c\\x90\\x73\\x5d\\x41\\x76\\xf2\\xf1\\x93\\x3d\\x87\\x0f\\xc8\\x7d\\x31\\x07\\xe5\\x3e\\x09\\x51\\x6a\\x22\\x1e\\x97\\x75\\xe9\\x9c\\x7c\\xb7\\x5b\\x07\\x75\\x69\\xa6\\xdc\\xeb\\x15\\x91\\xe3\\xff\\x64\\xef\\x1b\\x66\\x83\\xf2\\x16\\xd1\\x38\\x01\\xf1\\x10\\xc6\\x30\\x1a\\xc1\\x66\\xe3\\x0c\\x26\\x8d\\xc9\\xee\\x30\\x69\\xf5\\xda\\x76\\xd1\\x86\\xe3\\x7a\\x06\\x35\\xe5\\xe9\\x09\\x81\\x23\\x34\\x2a\\x4d\\xbb\\x68\\x51\\xf5\\xe8\\xc5\\x4b\\x8d\\x8a\\xcb\\x2c\\xf1\\x49\\xde\\x06\\xc9\\x37\\xb9\\xf2\\x88\\x22\\xd0\\x1d\\xfa\\x98\\x41\\x77\\x37\\x18\\x51\\x94\\x2f\\xbd\\x75\\xf6\\x04\\x2d\\x05\\xe9\\x53\\x2f\\x1e\\x65\\xc0\\x17\\x97\\xc0\\x73\\xe0\\x6d\\x06\\xbe\\xa6\\x13\\xf3\\xe9\\x67\\xcf\\x02\\x09\\xdf\\x78\\xf1\\x83\\x54\\x02\\x35\\x71\\x11\\xa7\\xd2\\xed\\x61\\x01\\x28\\x03\\x26\\x35\\x51\\x43\\x88\\xe3\\x10\\x49\\x4e\\x8f\\x97\\x59\\x38\\xce\\x45\\x18\\x8c\\x46\\x8d\\x89\\x25\\x49\\xe8\\xe7\\xb4\\x1a\\x0c\\xc2\\x49\\x7b\\xa0\\x55\\x74\\xdb\\x9d\\xa4\\xc9\\x62\\xd0\\xd2\\xda\\x66\\x91\\xb6\\x40\\x50\\x8c\\x6b\\xa0\\xf1\\x6a\\x16\\x29\\x3c\\x75\\xab\\x65\\x4a\\x27\\x2e\\x52\\x29\\x8b\\x74\\x35\\x95\\x29\\x96\\x99\\x09\\xea\\x2d\\x00\\x74\\x1a\\xd0\\xc6\\xa6\\xe7\\xbe\\xa3\\x70\\xcf\\x01\\xde\\x1d\\x4f\\x83\\x31\\xd7\\x81\\x76\\xb0\\x85\\x16\\x6f\\x6c\\xa3\\xa5\\x0a\\xba\\x63\\xa9\\x54\\x59\\x74\\xc0\\x5a\\x58\\x57\\xd0\\xd4\\x51\\x17\\x19\\xc8\\x65\\xf7\\x37\\xa8\\x19\\x3a\\xda\\x7e\\x37\\x31\\x42\\xa8\\x49\\x3c\\x8d\\x57\\xd7\\xd8\\x12\\x1a\\x5b\\x0d\\xf4\\x2d\\x77\\x24\\x34\\xf8\\xd7\\x37\\xfc\\x24\\x3d\\xfe\\xfa\\x53\\xa3\\xad\\xcc\\xed\\x21\\x13\\x03\\x4c\\xf8\\xbb\\x30\\x76\\xdb\\x91\\xac\\x59\\x13\\x20\\x72\\x16\\xe3\\x85\\x7c\\x30\\xa4\\x63\\x0c\\x06\\xad\\x9f\\x20\\xd5\\xa4\\xcf\\xa7\\x81\\xb1\\x5c\\xd0\\xe4\\x6e\\x15\\x4d\\xac\\x5a\\x4f\\x43\\xd0\\x4f\\xd2\\x34\\xa6\\x75\\xfa\\x6d\\x28\\xe7\\x97\\x59\\xc3\\x96\\xf2\\xea\\xb6\\x64\\x31\\x5b\\xb2\\xde\\x30\\x75\\x13\\x2d\\xdb\\xe2\\x98\\x3a\\x08\\xb1\\x25\\x72\\x84\\xbf\\x5a\\xd7\\xe6\\xfd\\xc1\\xfc\\x83\\x47\\xfa\\xde\\x33\\xd6\\x3c\\x76\\xf5\\x15\\xea\\xdb\\x4e\\xce\\x38\\x7e\\x7c\\x06\\xfe\\xc7\\x2b\\x96\\xb8\\x21\\x26\\xef\\xae\\xff\\x50\\xf9\\x54\\x23\\xe6\\xc1\\x0a\\xe2\\x82\\x53\\x6b\\x26\\xb4\\x84\\xd7\\xa7\\x36\\xb6\\x8b\\x3a\\xb5\\xd9\\x89\\x61\\x56\\x68\\xca\\xc8\\xee\\x3b\\x99\\xb4\\x19\\x83\\x8a\\x84\\x6e\\x37\\xe4\\xcc\\x9a\\x39\\x66\\x41\\x8b\\x1d\\xe2\\x32\\x82\\xae\\x10\\xfe\\x06\\x70\\x83\\x7e\\x7f\\x90\\x56\\xff\\xfc\\xc9\\x8f\\x65\\x23\\xcb\\xf7\\x8e\\xbc\\x1b\\xa8\\xb7\\x3f\\x7a\\x74\\xf2\\xf3\\xfd\\x86\\x8d\\xaa\\x59\\x08\\x38\\xaa\\x51\\x7a\\xa7\\x0b\\xfb\\x51\\xda\\xfc\\x4a\\x29\\x68\\x7b\\x26\\xb7\\xf0\\x51\\xd0\\xf2\\xa7\\xd7\\xff\\x55\\x99\\xf7\\x57\\x30\\x32\\x5c\\x08\\x55\\x22\\x79\\x46\\x10\\x77\\x1b\\x56\\x1b\\xf7\\x43\\xb3\\x64\\x8c\\x5a\\x2c\\x79\\x5e\\xa3\\x31\\x37\\x8f\\xd0\\x6a\\x69\\xb3\\xd9\\xd9\\x2e\\x5a\\xcd\\x64\\x94\\xa6\\x61\\x64\\x48\\x9b\\x33\\x9f\\x51\\xce\\xcb\\x67\\xd6\\xa4\\x2b\\xf3\\x99\\x33\\x88\\xc4\\xe0\\xb3\\xa7\\xee\\x69\\x64\\xcf\\x4d\\xa6\\xbb\\x59\\x62\\x84\\x8a\\x24\\x5e\\x4f\\x31\\xcb\\x49\\xaf\\x4b\\x7f\\x93\\xce\\xff\\x01\\xac\\xfb\\x29\\x25\\x85\\xf4\\x33\\x94\\xe2\\xaa\\x0b\\xfd\\x91\\x14\\xd2\\x97\\xf8\\xa1\\x24\\xdb\\x5c\\x42\\x0b\\xed\\x1c\\xf6\\x5f\\xb0\\xec\\x95\\x52\\xe9\\x04\\x12\\x47\\x3a\\xa5\\x88\\x23\\x1d\\x0f\\x17\\xca\\x33\\xdb\\x92\\xeb\\x8c\\xe4\\x69\\x8d\\xe7\\x46\\x55\\x18\\x66\\xf1\\x1a\\x2d\\x50\\x1a\\x6d\\x3b\\x31\\x5f\\x99\\x63\\x82\\xd3\\x04\\x41\\x98\\x69\\x45\\x32\\x73\\x52\\x32\\xb2\\xb7\\x64\\xc8\\x8e\\xc5\\x32\\xda\\x27\\x4a\\x7a\\x0d\\xf3\\xfd\\xed\\x7d\\x01\\x87\\x53\\xb2\\x81\\xe2\\xdf\\xde\\x21\\x7c\\x57\\x52\\x36\\xfc\\xc7\\xdf\\xda\\xaa\\x54\\x8f\\xb5\\xea\\x7d\\x2e\\x82\\x7a\\xac\\x4d\\x6a\\x6c\\x10\\xc8\\x01\\xcd\\x98\\xe6\\x41\\x18\\xd5\\x45\\xe4\\x02\\x95\\xf4\\xcf\\xdc\\x93\\xfe\\x99\\x59\\x60\\x56\\xaa\\xef\\xcb\\x85\\xfa\\xbe\\x9e\\xc9\\x0d\\xdb\\x89\\xcc\\x1a\\x1b\\xd4\\x4f\\x08\\x6d\\xca\\x2f\\xd0\\x2e\\x96\\x60\\xb7\\xc5\\xc7\\xd9\\x70\\x41\\x80\\x96\\x31\\xac\\xc9\\x2f\\x2a\\xf2\\x41\\x68\\xa7\\x31\\x90\\xb1\\xd2\\x60\\x6e\\x87\\x88\\x45\\xd8\\x08\\xae\\x23\\x22\\x91\\xa0\\x13\\xc7\\x1c\\x58\\xa7\\x68\\x63\\x1d\\x3e\\x07\\x7c\\x09\\x30\\x07\\xeb\\x68\\x75\\x74\\x38\\x0e\\x3a\\x4e\\x3a\\x54\\x5a\\xc2\\xe1\\x30\\xaa\\x4c\\x06\\x83\\x51\\xd0\\x1a\\xb5\\x1d\\xa2\\x91\\x50\\x4c\\xa8\\xaa\\xc7\\xad\\x93\\x29\\x26\\xab\\x8e\\xdc\\xa8\\xb2\\x70\\x51\\xac\\x47\\x35\\x62\\xba\\x3a\\x96\\xab\\x44\\x16\\x28\\x99\\x64\\x4a\\x65\\x92\\x82\\xa9\\x16\\x61\\xe5\\x2e\\x2a\\x95\\x52\\x92\\xaf\\xdd\\xcd\\x8a\\x39\\x52\\x92\\x4f\\xa4\\x76\\xe1\\xea\\x79\\xf7\\xd0\\x89\\x55\\xf4\\x03\\x2f\\x0c\\xd9\\x5f\\xd7\\x38\\xa6\\x86\\x5c\\xd3\\x7f\\xac\\xd6\\xbc\\xa6\\x79\\xf2\\x90\\x23\\xb7\\x9c\\xff\\xb3\\xb1\\x36\\x9c\\x78\\xeb\\xe8\\xe8\\xd8\\x08\\xb5\\xa1\\x7f\\x64\\x7b\\xa0\\xd3\\x34\\x0d\\xff\\xd2\\x93\\xd8\\x29\\x5b\\xda\\xf9\\xfc\\xcf\\x60\\x99\\x74\\xfb\\xdf\\xd5\\x7a\\x69\\x6e\\xff\\xa3\\xfb\\x86\\x8c\\x92\\x16\\xbd\\xff\\x4f\\x0f\\xf0\\xdc\\x29\\x38\\x9e\\xc2\\x23\\xf3\\x73\\xc7\\x76\\x26\\xfb\\xf2\\xc8\\x0f\\xd0\\x7e\\x10\\x75\\xf2\\x5a\\x2f\\x05\\x87\\xe0\\x5a\\x5b\\x1e\\x02\\x26\\x2a\\x02\\x1e\\x05\\xf9\\x0f\\x99\\x78\\xa0\\x4e\\x57\\x0f\\x01\\xf9\\xac\\x8d\\x92\\x6b\\x4d\\xc6\\xc7\\x8b\\xcd\\x84\\x57\\xa7\\x0b\\x5a\\x38\\xb4\\xda\\x81\\x20\\x07\\x91\\x4d\\x21\\x07\\x68\\x0e\\xa0\\xb6\\x04\\x35\\x86\\x2c\\x03\\x4d\\xab\\x49\\xcc\\xd1\\x2e\\xc6\\xe1\\x3f\\xec\\x41\\x40\\xe7\\x0a\\xbd\\x2f\\xdd\\x40\\xa1\\x1b\\x29\\xa4\\x0e\\x9d\\x15\\x9d\\x3a\\xa8\\x91\\x58\\x37\\x58\\x90\\x0f\\x1e\\x89\\xef\\x95\\xfe\\x21\\x3d\\xff\\x1a\\x58\\xfd\\xd3\\xd4\\x97\\xf7\\x95\\x8d\\x5c\\x78\\xd7\\x4b\\xd2\\xbb\\x25\\xe0\\x0b\\xb3\\xc4\\x53\\x0f\\x1e\\x5d\\x70\\xa2\\x02\\xea\\xa5\\xd4\\xc5\\xc3\\x38\\x91\\x40\\x07\\x8d\\xf7\\xc1\\x93\\x36\\x4e\\xfa\\xea\\xb3\\x79\\x75\\xb9\\x7f\\xfa\\x7b\\xff\\x2c\\x78\\xd4\\x46\\x2a\\xb5\\x53\\x61\\x18\\x07\\xb8\\x65\\xff\\x5a\\x7e\\xc5\\xbe\\xf7\\xff\\x87\\xbe\\xc5\\xae\\x4b\\xf0\\x77\\x96\\xcb\\xbf\\x23\\x5f\\xce\\xdf\\x9d\\xed\\xfa\\x5c\\xf5\\x17\\xa8\\x9b\\x01\\x78\\x9e\\x17\\xc7\\x2b\\x70\\x00\\x4c\\x9c\\x2d\\x28\\x08\\xa1\\x10\\x16\\xe0\\x02\\xda\\xac\\x2c\\x97\\x2b\\x4f\\x9b\\x6b\\x0b\\x76\\x88\\x36\\x1b\\xef\\xf3\\x85\\x20\\x40\\x84\\xa7\\xd9\\xc7\\x09\\x1c\\xcf\\xb5\\x8b\\x3c\\xe8\\x10\\x79\\x42\\x65\\x78\\x14\\x38\\x1f\\x12\\x75\\x3a\\x95\\x39\\x95\\xad\\x4d\\xe5\\x37\\xd3\\xb8\\x51\\x21\\x5d\\x30\\x71\\x19\\x9d\\x0b\\xa9\\xdb\\x35\\x42\\x69\\xf8\\x40\\xda\\x85\\x62\\x72\\x27\\x50\\x92\\x99\\x72\\xff\\x2f\\x89\\x18\\x1a\\xd0\\x6b\\xa8\\x71\\x7e\\xe2\\x4d\\xe9\\x87\\xe6\\x29\\x47\\xee\\x9f\\x93\\x3f\\xd6\\x1e\\x8c\\xbb\\x6d\\x79\\xa3\\x1f\\x5a\\x34\\xec\\x28\\x43\\x5a\\x98\\xd3\\xa3\\x8b\\x7f\\x01\\x98\\xf4\\x82\\x74\\x5c\\xca\\x62\\xb6\\x83\\x0d\\x93\\xcc\\x4f\\x1d\\x90\\xbe\\x21\\x5f\\x97\\xde\\x97\\xb6\\x4a\\xb3\\x1f\\xb5\\x09\\x00\\xcc\\x0d\\x83\\x75\\xe0\\xf7\\xc0\\xef\\x40\\x69\\x4c\\xc7\\xb1\\x87\\xff\\xf8\\x5c\\x83\\x03\\x0f\\x24\\x3e\\xdb\\x76\\xe0\\x33\\xb4\\x0e\\x7f\\x85\\xd8\\xa5\\x1d\\xae\\x83\\x0f\\x9e\\xeb\\x6d\\xf1\\x26\\xca\\x4f\\x92\\x81\\x80\\x97\\xf5\\xf9\\x8c\\x46\\x21\\x12\\xd1\\x7a\\x4c\\x6e\\x37\\xc7\\xd9\\x04\\xad\\x90\\x93\\xed\\x73\\x93\\x36\\x87\\xad\\x5d\\xa4\\xfc\\x1d\\x22\\x6b\\xf2\\x98\\x3a\\x44\\xaf\\xc7\\xe8\\x81\\x8a\\x45\\x79\\x28\\x0f\\x03\\x1c\\x04\\x67\\x14\\x2c\\x42\\xbb\\xc8\\x04\\x3a\\x44\\x86\\xb1\\x70\\xf2\\x9a\\x74\\x17\\xba\\x54\\x16\\xca\\x15\\x93\\xf2\\x99\\xcc\\x4d\\x35\\x06\\x67\\x76\\x74\\xa4\\x9b\\x17\\xd3\\x19\\xe0\\xe4\\x7a\\x58\\x93\\xeb\\x61\\xf6\\xf7\\xc8\\xfa\\xfa\\x9d\\xe9\\x05\\x3a\\xcb\\xe0\\xd3\\xe1\\x62\\x8c\\xfd\\xe5\\x27\\xe9\\x8f\\xd2\\xef\\x13\\x5d\\xcc\\xf6\\x49\\xd2\\xe0\\x49\\x9b\\x98\\xc4\\x41\\x44\\x6a\\xc1\\xe0\\x9d\\xcc\\x8e\\x31\\xe0\\xec\\x98\\xa7\\x26\\x0e\\x3a\\xb3\\x5d\\xfa\\x81\\xfc\\x3e\\xb9\\x16\\x7f\\x7a\\x16\\xae\\x85\\x2d\\xf1\\x99\\x5c\\xf8\\xa0\\x24\\x7a\\x59\\xf0\\x75\\xe2\\x78\\xe2\\xb3\\x9b\\xee\\x4a\\xe6\\x31\\x50\\x4f\\x74\\x40\\xce\\x01\\xac\\x8e\\xd7\\x07\\x68\\xbf\\x9f\\x61\\xcc\\x1c\\xa5\\xd1\\x60\\xd1\\xa8\\x83\\xb3\\x91\\x39\\xb9\\xb4\\x2e\\xa4\\xeb\\x14\\x03\\x58\\x08\\x60\\x21\\x36\\xd4\\x1a\\xea\\x08\\x1d\\x0c\\x9d\\x0c\\x41\\x73\\x15\\x0a\\xd9\\x59\\x97\\xcd\\x66\\xf7\\x9b\\xed\\xe6\\x0e\\xd1\\x4e\\x30\\x14\\x26\\x57\\x7d\\x11\\x6c\\x26\\xe6\\xbb\\xcc\\x68\\xa5\\xc0\\x9f\\x90\\x71\\x17\\x9b\\x99\\x1b\\x50\\x32\\x1d\\xbf\\x65\\xb4\\x54\\xd4\\x0d\\x77\\x20\\x9a\\x86\\xcd\\x15\\xe6\\xfb\\x3b\\x57\\xfd\\x9a\\xa9\\xda\\x77\\xcb\\x13\\x8f\\xab\\x95\\xee\\xe8\\x8a\\x15\\x91\\x53\\x3d\\x2d\\xd4\\x7d\\x6f\\xc9\\x16\\x6a\\xef\\xed\\xd6\\xea\\x14\\xcf\\x84\\xea\\x7d\\x36\\x82\\x3a\\x79\\x90\\x3d\\xc2\\x49\\xc5\\x1e\\x39\\x64\\x7b\\x64\\x7b\\xc8\\xe1\\x26\\xd2\\xd5\\x8c\\xf0\\xe7\\xbf\\x43\\xdc\\x07\\xea\\x08\\xb4\\x5f\\x2f\\x26\\xfd\\xc9\\x03\\x60\\x4f\\x4f\\x7f\\x82\\x6d\\xea\\xfa\\x42\\xd5\\xa2\\xe6\\xe0\\xcf\\xfc\\x05\\xfd\\x8c\\x26\\x81\\x6b\\xe0\\xef\\x44\\xf5\\x91\\x21\\xf8\\x4b\\xaf\\x8f\\xfa\\x31\\x6d\\x46\\x7d\\x24\\xe8\\xfa\\x4a\\x6a\\x52\\xcd\\xa6\\x06\\x40\\xcc\\x36\\x22\\x9e\\x8b\\xab\\xa0\\x1b\\xb0\\x18\\x79\\x9a\\x61\\xd4\\x2a\\x5e\\x65\\xb7\\xf1\\x46\\x5a\\xad\\x55\\xb7\\x8b\\x26\\x2d\\x61\\x91\\x49\\x2e\\x48\\x06\\x3a\\x16\\x92\\xc3\\x95\\xaa\\xdd\\x8c\\xb2\\xdd\\x58\\xef\\x7b\\x6e\\x19\\xab\\x85\\x09\\x25\\x63\\x91\\x54\\xac\\xf4\\x4d\\x10\\x31\\xe8\\xde\\x76\\x36\\x71\\xde\\x70\\xea\\xc5\\x63\\x7a\\x7c\\xb5\\xfe\\x81\\x17\\xc0\\xd7\\x2f\\x1c\\xd1\\xe3\\xcb\\x65\\xd6\\x05\\x20\\x35\\x82\\x87\\x15\\x92\\x94\\x06\\xe7\\xc5\\x5d\\xe4\\x6c\\xf9\\xeb\\x66\\x47\\xc3\\x65\\x7c\\x2e\\xf0\\x9c\\x7d\\x09\\x6d\\xfa\\x5f\\x65\\x9e\\x05\\xd4\\xb5\\x57\\xe8\\x24\\x49\\x03\\x66\\xb5\\x58\\x04\\x41\\xaf\\x33\\xe8\\x7c\\x5e\\xcc\\x0a\\x9f\\x17\\x63\\x34\\xa8\\xaa\\x82\\x65\\x93\\x65\\x15\\x1a\\xa1\\x43\\x4c\\x17\\x56\\xa4\\xaf\\xb8\\x0a\\x2f\\x4f\\x8e\\x75\\x77\\x42\\x75\\x1b\\x8f\\x64\\x05\\x03\\xd2\\x0b\\x3d\\x48\\xd2\\x91\\xe2\\x83\\xdb\\x91\\xb9\\x78\\x45\\x7a\\x3c\\xf1\\x02\\x3c\\x18\\xb7\\x1b\\x88\\x1f\\x2b\\x46\\x18\\x22\\xf7\\x8d\\x59\\x37\\x63\\xd2\\xc0\\xa7\\x0e\\xac\\xd8\\x88\\x7f\\x77\\xec\\xe1\\x57\\x5f\\x48\\x12\\xbf\\xec\\xf8\\x4a\\x43\\x27\\x1e\\x40\\x96\\x62\\xd1\\xb2\\xcb\\x39\\x69\\x52\\x7e\\x0a\\xbd\\x47\\x7e\\x0a\\xca\\x38\\x55\\x6a\\xa4\\x4e\\xca\\x33\\x56\\xad\\xd8\\xd8\\x78\\x21\\x8c\\x22\\x4c\\x18\\x4d\\xe8\\x68\\x1d\\xa9\\x21\\x29\\xca\\x64\\xb2\\x69\\x04\\x93\\x4c\\x16\\x60\\xc0\\x3a\\x44\\x03\\x61\\xd1\\x38\\x39\\x9d\\x4a\\x87\\x58\\x6b\\x3a\\x14\\x37\\x9e\\x8a\\x1a\\x72\\x93\\x45\\x19\\x99\\xdd\\xa5\\xe9\\x7b\\x73\\x1d\\x50\\xc3\\xb8\\x81\\x08\\x9a\\x2b\\xb0\\xd4\\x3e\\xc1\\xdd\\xc3\\xef\\x2a\\xfd\\xd7\\x9d\\xb8\\xf7\\xc2\\xa5\\xf3\\x7f\\x1e\\xeb\\x7e\\x1e\\x2c\\x9c\\x76\\x94\\x26\\x73\\xe9\\x53\\x2f\\xbd\\xbe\\x7d\\x4c\\x25\\xb4\\x87\\x6f\\x25\\xce\\x7c\\x43\\x76\\x5e\\x2c\\x86\\x5b\\x96\\x70\\xe1\\x34\\x3e\\x4b\\x61\\xc7\\x70\\x49\\x04\\x78\\xf8\\x72\\x9e\\x19\\xa8\\x6f\\x37\\x41\\xbb\\xb8\\x59\\xe6\\x42\\xb8\\x21\\x3e\\xc4\\x17\\xc6\\xa3\\x44\\xc4\\xa6\\xb7\\xdb\\x75\\x5e\\xd2\\xe3\\xa1\\x28\\x1d\\x6d\\x12\\x38\\x86\\x33\\xe9\\x22\\x51\\x2a\\xcc\\x86\\xd9\\xec\\xac\\xb0\\xcf\\x63\\x57\\x7c\\x03\\xa9\\xa7\\x09\\x9b\\x37\\x62\\xd2\\x30\\x01\\x27\\x4f\\x44\\x75\\x14\\xcb\\xb0\\x70\\x0f\\x71\\x46\\x26\\x08\\x48\\xc7\\x7a\\xa9\\xbc\\x74\\x2c\\x76\\xa5\\x72\\xb7\\x54\\x2e\\x2d\\x25\\x75\\x58\\xee\\x6e\\x4b\\x5a\\x3f\\x54\\x46\\x05\\x08\\x59\\xf6\\x94\\xca\\x2a\\xbe\\x43\\x0b\\x54\\x17\\x19\\xe9\\xd6\\x2f\\xc7\\x8d\\xba\\x85\\x49\\x3c\\xcb\\xec\\x1b\\x39\\x40\\x8a\\x49\\x57\\x33\\x4b\\xf0\\xa1\\x3f\\xdf\\xc4\\x80\\x6d\\xcc\\x72\\x30\\x62\\xd2\\x66\\x06\\x2f\\x66\\x76\\x4e\\xc0\\x89\\xe9\\x0c\\xd8\\xce\\x6c\\x90\\xa6\\x83\\x68\\x43\\x03\\xbe\\xbc\\x8f\\xe4\\x97\\x6d\\xc1\\xc7\\xa5\\x89\\x0d\\x0d\\x4e\\xfc\\x7b\\xb0\\x4e\\x66\\x48\\xf8\\x0f\\x6e\\x91\\xbf\\xfe\\x80\\xeb\\xd1\\x57\\x69\\x41\\xc2\\x81\\xa5\\x39\\xce\\x3e\\x80\\x78\\x38\\x0f\\x9b\\x12\\x2f\\xa5\\x73\\x72\\xa2\\x6c\\xc8\\xcd\\x12\\x16\\x4b\\x28\\x54\\x40\\xe4\\x47\\x4d\\xac\\x09\\xca\\x9c\\x6f\\x02\\x26\\x93\\x1f\\xc3\\xdc\\x40\\x4b\\xb8\\xdd\\x7e\\x3f\\xf4\\x1d\\x7e\\x12\\x83\\x91\\x30\\x0c\\x2a\\x65\\xd8\\xd1\\xad\\xd3\\x4a\\xaf\\x61\\x61\\xba\\xe7\\x36\\xed\\x34\\xb9\\xca\\xf4\\xa5\\x57\\x12\\x85\\x21\\x4d\\x2e\\x84\\x0a\\x9e\\x22\\xf4\\x44\\x16\\x30\\xc5\\x85\\x29\\x0f\\xad\\x22\\xc1\\x90\\xb6\\x67\\x87\\x64\\x8f\\xd6\\xb9\\x97\\xc6\\xf6\\xec\\x9d\\x75\\xd5\\xf5\\xdc\\x4d\\x2b\\xd6\\xb5\\xb6\\xe5\\xcf\\xf3\\x0d\\x18\\x5d\\x3c\\xef\\xc6\\xa1\\x2f\\x7c\\xf4\\xd4\\x83\\x5b\\xf6\\x48\\x7f\\xe2\\xed\\x3c\\xc8\\x7b\\xdc\\xea\\xbb\\x7b\\xfb\\xbc\\x75\\x6a\\xcd\\x34\\xad\\xfa\\xae\\xdd\\x23\\xc6\\xf9\\x2c\\x87\\x01\\xef\\x64\\x7f\\xb7\\xed\\xb6\\x07\\x1d\\xa6\\x03\\x2b\\x5f\\x78\\x17\\xca\\xfa\\x5d\\x92\\xcb\\xc5\\x89\\xad\\x88\\x0f\\xd6\\x09\\x56\\xab\\xde\\xa4\\x67\\xb5\\x36\\x8d\\xc6\\x6e\\x27\\x70\\x16\\x77\\xbb\\x8c\\x36\\xb0\\x58\\x7b\\x83\\x32\\x2c\\x95\\xf0\\x0a\\x80\\x11\\x80\\x81\\xd4\\x09\\x5a\\x1b\\x89\\xb1\\x7a\\x85\\xee\\x85\\xa1\\x08\\xbb\\xd5\\x24\\x73\\xbd\\xf0\\x3d\\xb8\\x5e\\x92\\x1a\\x01\\x37\\x1f\\x51\\x0e\\xc9\\xb4\\x43\\xbd\\x0e\\x76\\xca\\x01\\x74\\xf3\\xbf\\x28\\x29\\xe1\\x74\\xe0\\xac\\x16\\xd4\\x8c\\xf1\\x38\\xba\\xd6\\x5c\\xc9\\x9c\\xba\\x15\\x5f\\xa0\\x85\\x1e\\x6f\\x2d\\xf3\\xc0\\x8b\\xf7\\xe8\\x13\\xab\\xf5\\xa7\\xf6\\x24\\xb6\\x19\\x8e\\xea\\x53\\x0e\\xee\\xd2\\x05\\x42\\x1d\\xeb\\xbe\\xa1\\x26\\xc6\\x5c\\xfa\\xb9\\xd5\\x31\\x54\\xc1\\x48\\x8a\\xdd\\xe6\\x52\\x76\\x5b\\x93\\x00\\xdf\\xc9\\xb8\\x0a\\x62\\x60\\x68\\x93\\x57\\x47\\xc0\\xbd\\x11\\x1f\\x66\\xc8\\xe0\\x4f\\x50\\x78\\x6e\\x10\\x07\\x11\\x66\\xc7\\xa6\\xc6\\x4b\\xcc\\x36\\xce\\x2e\\xf0\\x3c\\xc3\\xd1\\x76\\xbd\\x1e\\xd5\\x1a\\x71\\x94\\xd3\\x61\\x33\\xdb\\x69\\x33\\xad\\x21\\x38\\x46\\xaf\\xd2\\x40\\xd3\\x6c\\xd4\\x10\\xbc\\x92\\x20\\x17\\x08\\x2e\\xa3\\x14\\x36\\xcd\\x15\\x52\\xd9\\xf3\\xaa\\x26\\xb5\\x06\\xa6\\x4c\\x2f\\xd8\\x53\\xeb\\xe1\\x67\\x40\\x0d\\xde\\x78\\x80\\x4e\\x2c\\x95\\x93\\x1f\\xf8\\x12\\xe6\\xa8\\x88\\x17\\x2d\\x64\\xc0\\x69\\xe6\\x26\\xc9\\x09\\xf6\\xce\\xa3\\xa5\\x55\\xd2\\xbd\\x43\\xa6\\xa4\\xd2\\x1f\\x50\\x93\\x09\\x90\\x90\\xbf\\x0e\\x4d\\xc4\\x9d\\x0d\\xf8\\x82\\x7e\\x50\\x16\\x88\\x09\\xa9\\x53\\x50\\x16\\x37\\x36\\x31\\x1e\\x75\\xd8\\xed\\x7a\\x9a\\x26\\x04\\x94\\xc5\\x31\\x99\\xbc\\x84\\x87\\x93\\xc1\\x8d\\x85\\x4b\\x9a\\x30\\x3b\\x32\\x61\\xa8\\x7e\\xdb\\x79\\x5a\\xf4\\x92\\x20\\xa5\\xd2\\x13\\x33\\x51\\x60\\xb7\\x15\\x4b\\x65\\xad\\x62\\x29\\x8e\\xbf\\x5e\\xa0\\x2f\\xe9\\xce\\x11\\x24\\x14\\x7b\\xa1\\x3c\\x42\\xc9\\xe1\\xac\\x61\\x4e\\x3d\\xdf\\x85\\x50\\x20\\xdf\\x0b\\xd5\\x39\\x2e\\xde\\xe4\\x1c\\x8a\\x48\\x7e\\x92\\xa0\\x4f\\xd9\\xcb\\xde\\x7c\\x4c\\x3d\\x78\\xb2\\x7a\\xf3\\x15\\x65\\x7e\\x9f\\x18\\x71\\x39\\x4f\\x50\\xef\\x9c\\x57\\x6f\\xfe\\x1d\\x88\\x93\\x64\\x7f\\x0e\\xd7\\xce\\x85\\x35\\xc6\\x39\\x33\\xe9\\x72\\xb9\\x3d\\x2a\\xbd\\xde\\x43\\x53\\x4e\\x27\\x60\\x59\\x3b\\x5c\\xa6\\x38\\x2b\\xf2\\x3c\\x6b\\xd6\\xab\\x48\\x17\\x70\\x41\\x83\\x08\\x88\\xcc\\xd4\\x57\\xb2\\x79\\x21\\x96\\xc1\\x47\\xa5\\xf4\\xa6\\xa2\\xfd\\x55\\x4c\\x9d\\x92\\x1a\\x4a\\xc5\\x62\\x60\\x13\\x83\\x4f\\x65\\xee\\x06\\x3c\\x38\\xbd\\x83\\x01\\x4f\\x33\\x87\\x12\\xef\\x5e\\x7f\\xf4\\xce\\x89\\x55\\x73\\x6d\\xc1\\x81\\x1e\\x43\\xa5\\x77\\xcb\\x3e\\x69\\x05\\x02\\x7a\\x8e\\xc4\\x62\\x7c\\x0b\\x5c\\x26\\xd7\\xa5\\xb7\\xce\\x9d\\x1c\\xee\\x34\\x01\\x61\\x89\\xe0\\x78\\x99\\x58\\x8f\\x11\\xd8\\x20\\x28\\xf3\\xbe\\x34\\x47\\xd0\\xf6\\x78\\x1f\\xad\\x35\\x9b\\x22\\x93\\x2c\\x41\\x8c\\x41\\x66\\x09\\xc2\\xc2\\xe1\\x42\\x2b\\x51\\x54\\x4c\\x31\\x1c\\xd3\\x2e\\x66\\x73\\xa4\\xc1\\x61\\x40\\x5c\\x41\\x5c\\x5c\\xcb\\xd4\\xa3\\x00\\x15\\xb7\\x11\\x32\\x5f\\x90\\x1d\\xbe\\xe7\\x1c\\x9c\\x23\\xdf\\xfd\\xbf\\x50\\x05\\xc9\\x01\\x69\\x4f\\xb6\\x20\\x85\\x27\\x29\\xcd\\x14\\xa4\\xcc\\x9d\\x90\\x0b\\x10\\x4b\\xca\\xc3\\x32\\x51\\x10\\x62\\x2f\\xfe\\x2d\\xae\\x20\\xea\\x9a\\xf5\\x0b\\xea\\x57\\xae\\xd9\\x79\\xe4\\xe2\\xdf\\x6f\\x9c\\x3f\\x64\\x15\\x7c\\x01\\x72\\xe6\\x2b\\x7c\\x41\\xc7\\x10\\x5f\\xd0\\x0a\\xe6\\x01\\xd3\\xfc\\x24\\x5f\\xd0\\x31\\xc4\\x17\\x74\\x03\\xfd\\x20\\xfe\\x16\\x62\\x0b\\x7a\\xab\\x13\\x71\\x05\\xbd\\x95\\x38\\x72\\x65\\xb2\\xa0\\xcb\\xb9\\x82\\x20\\x1e\\x6b\\x94\\xf1\\x98\\x05\\x6b\\x89\\x67\\x03\\x9e\\x31\\xf0\\x06\\x33\\x3c\\x2f\\x2a\\xca\\x4c\\x09\\x56\\xb3\\x41\\x39\\xea\\x2c\\x3c\\xea\\xca\\x55\\x18\\xdd\\x21\\x12\\x1c\\x90\\x6b\\x2f\\x7f\\x13\\x8c\\xc5\\xd2\\x97\\x47\\xbd\\xa0\\x18\\x15\\x68\\x2f\\xb8\\x38\\xee\\x4a\\x40\\xec\\xed\\x24\\x0c\\x5b\\x26\\x5b\\xb5\\x9d\\xe4\\x1c\\xf9\\xeb\\x26\\xc5\\x4f\\x61\\x4f\\xc1\\x3d\\x2e\\x82\\x7b\\xec\\xc7\\x26\\xc5\\x0b\\xcd\\x56\\xab\\x41\\xef\\x54\\x51\\x94\\xcb\\x85\\xf9\\xf5\\xfe\\x40\\xd0\\x69\\xd7\\xda\\x3b\\x45\\x95\\x56\\xcb\\x12\\x7e\\x97\\xd9\\xc0\\xc2\\xad\\xf5\\xb0\\x97\\xf3\\x18\\x5d\\x89\\xc6\\xa8\\x77\\x3c\\x97\\x34\\x4c\\x4a\\x81\\x7e\\xcf\\x42\\xb6\\xe4\\x3b\\xf2\\x1e\\xa5\\x68\\xa8\\x7e\\xc0\\x23\\xc3\\xa4\\x55\\x4c\\xf9\\x66\\x1a\\x6f\\xa5\\xef\\xa8\\x30\\xcc\\x14\\x17\\xae\\x9a\\x0b\\x8d\\xd6\\x1a\\xc3\\x49\\xf9\\xc6\\x0e\\xec\\x17\\x22\\xa0\\xb5\\x64\\x3c\\xe8\\x2b\\x47\\x24\\x2f\\x8e\\x8f\\x4d\\x9f\\xe4\\xc1\\xe7\\x28\\xb4\\x4d\\xf2\\xda\\x63\\x98\\xb6\\x54\\xf6\\x47\\x93\\xa1\\xcd\\xe5\\x0d\\x3c\\x8c\\xb6\\x28\\x8b\\x15\\xb3\\x3a\\xe5\\x1d\\x70\\x52\\x6e\\x97\\x33\\xbd\\x07\\x36\\xb4\\x09\\x34\\xda\\x80\\x9e\\x62\\xf5\\xa4\\x68\\xba\\x12\\x2c\\xee\\x29\\x58\\xcf\\xfd\\x48\\x7e\\x55\\x9f\\x3c\\xca\\xfc\\x78\\x77\\xc6\\xae\\xbc\\xf2\\x7c\\xea\\xd5\\x4b\\xc9\\xfd\\x99\\xd2\\x1d\\x5c\\x5d\\xdc\\x4d\\xce\\xca\\xfc\\x9a\\xd4\\x23\\x59\\x16\\x37\\x36\\x27\\x5e\\x01\\x5c\\x2e\\xa7\\x99\\xe7\\x0d\\x0c\\x43\\x59\\x2c\\xd6\\xb4\\x38\\x5e\\xcf\\x95\\xc4\\x71\\x25\\xc5\\x01\\xdd\\x15\\xbd\\xbf\\x2e\\x91\\x29\\x23\\xff\\xfc\\xab\\x4a\\xd6\\x8d\\xfb\\xff\\xd3\\x5e\\xf0\\xd3\\xad\\xbf\\x29\\x56\\x5a\\xed\\x7a\\xa2\\xff\\xee\\x28\\x20\\x59\\x9f\\x71\\x38\\x89\\xf9\\xc7\\xc4\\x0b\\xad\\x7a\\x9d\\x4e\\x10\\x30\\x8b\\xd3\\x68\\xb4\\xa8\\x08\\xaf\\x4f\\x0f\\x31\\xbf\\x5e\\xaf\\x36\\x9b\\x21\\xcc\\x97\\xbb\\x00\\x38\\x35\\x02\\xc3\\x2a\\xb5\\x1a\\xc2\\x63\\x75\\xca\\x6c\\xa4\\xd2\\x0a\\x69\\xcc\\x2f\\xf4\\x2c\\xa5\\x4e\\x22\\xa0\\x2b\\x66\\x0e\\x20\\xe2\\xbf\\xe6\\xbe\\xb2\\x35\\x81\\xa6\\x31\\x83\\x88\\x8b\\x86\\xbf\\x8d\\xee\\x48\\x26\\x0b\\x12\\xef\\x31\\x27\\xc1\\xc6\\x49\\x35\\x4f\\x1d\\xd8\\xb6\\x89\\xfc\\x33\\xa3\\x86\\x21\\x5f\\xef\\xe4\\xc0\\xd5\\xa8\\x9c\\x14\\x23\\x10\\x8f\\x9f\\xfa\\x07\\x99\\xb7\\xcf\\x05\\x51\\xff\\xec\\x78\\x45\\xc0\\x62\\x71\\xea\\x29\\x15\\xa6\\xd2\\xbb\\x4d\\x2c\\xeb\\xf1\\xb8\\x9c\\x7a\\x67\\x34\\x62\\x72\\x77\\x88\\x26\\x13\\x63\\xb7\\x7b\\x3a\\x44\\x0a\\x73\\xda\\xa1\\xe1\\x23\\xec\\x1c\\xab\\x57\\xb9\\x18\\x64\\xeb\\x99\\x1e\\xb6\\x5e\\x7e\\xf1\\x2b\\x51\\x4c\\xac\\xbb\\x0a\\x3b\\x43\\xef\\xc2\\xbd\\x32\\x23\\xce\\xb4\\x80\\xaa\\x79\\xca\\xa1\\x42\\x5e\\x7f\\x35\\x73\\xea\\xe7\\x5d\\x0c\\x7e\\x8a\\xf9\\xdb\\xe8\\xd1\\xbf\\x00\\x52\\x3a\\x2f\\xdd\\x97\\xf8\\x3b\\xfc\\xd6\\x53\\xed\\x7d\\x9e\\x39\\xb8\\x63\\x53\\x86\\x26\\x3a\\x33\\x92\\x21\\xe4\\x52\\x14\\xf0\\x6f\\xff\\x1d\\x92\\x58\\x89\\xd3\\xee\\x92\\x79\\x36\\xed\\x58\\x53\\x3c\\x8b\\x32\\x91\\x24\\xc7\\xb1\\x46\\xab\\x56\\x6b\\x74\\x3a\\x28\\x13\\x94\\x8e\\x02\\x0c\\x83\\x0a\\x0f\\x8d\\x10\\xd4\\x71\\x24\\x0b\\x20\\xd0\\x05\\xdd\\x36\\xfe\\xb2\\x0b\\xc3\\xd4\\x46\\x99\\x7f\\x55\\x84\\x57\\x95\\x47\\xee\\x48\\x3d\\xf2\\x7b\\xf2\\x23\\xd7\\xa0\\x47\\x4e\\x67\\x2a\\x7a\\x3d\\x28\\x80\\x3e\\xf8\\x73\\xf2\\x22\\xd5\\x24\\xf7\\x55\\x15\\x7b\\x78\\x9d\\x59\\x10\\x08\\x1d\\xe1\\x0f\\x58\\xcd\\x1d\\x62\\xa1\\x15\\xd0\\x56\\xa0\\x27\\xac\\x56\\x4c\\xad\\x46\\x97\\x99\\x7a\\xc0\\x10\\x48\\xd3\\x3c\\x1e\\x0c\\x25\\xfe\\xd2\\x37\\x02\\x85\\xe9\\xd4\\x68\\x8f\\xb4\\x5f\\xf2\\x36\\xbf\\x24\\xe3\\x92\\xa0\\x10\\x24\\xb3\\xd1\\x58\\x85\\x1f\\xfe\\x97\\x2e\\x6d\\xc2\\xef\\x42\\x49\\xe8\\x57\\xa4\\xf5\\x3f\\xdd\\x7f\\x7f\\x47\\xd9\\xc8\\xf2\\xe5\\x23\\xff\\x0c\\xb2\\x73\\x24\\x8f\\x19\\xbc\\x4b\\x9c\\x3c\\x76\\x60\\xe1\\xa0\\x51\\x7d\\x5f\\xa6\\x9a\\x94\\xfc\\xf3\\xa6\\x97\\xa3\\x3c\\x4a\\x40\\x97\\x83\\xac\\xc4\\xbc\\xba\\xbf\\xbe\\xd7\\xf6\\x10\\x28\\x2f\\x47\\x6b\\xfe\\x4d\\xd7\\xe7\\x9a\\x4a\\x28\\x8b\\x17\\xcb\\xc7\\x16\\xc6\\xfb\\xfb\\x5c\\x51\\x9e\\x22\\x55\\x66\\x8e\\x53\\xab\\x19\\x9a\\x26\\x5d\\x44\\x61\\x81\\x2d\\x08\\x8f\\x3e\\x89\\x2a\\x2c\\x68\\x33\\x94\\xcc\\x6c\\x36\\xea\\x94\\x6a\\x65\\x23\\xa1\\xa6\\x75\\x10\\x8f\\xe9\\x38\\x2c\\x27\\xf3\\xda\\xb6\\x47\\x95\\xa1\\x32\\xa6\\xa6\\xba\\x47\\x0a\\xb8\\xbb\\xf1\\x23\\x50\\x00\\xca\\x2a\\x7a\\xa5\\x96\\xca\\x51\\xa2\\x53\\xe9\\x29\\x33\\xf7\\xe8\\xac\\xa1\\x1a\\x0e\\x7c\\xb7\\x9e\\x92\\x2e\\x4d\\xea\\xa1\\x76\\x63\\x00\\x88\\xbe\\x00\\x0a\\x9e\\x38\\xf0\\xfd\\x0d\\xe7\\xa4\\x93\\x7f\\x5b\\xbf\\x72\\xf1\\xb9\\x65\\x6b\\x97\\x2f\\x3e\\xb7\\x92\\xdf\\xf0\\xf3\\xc1\\xf9\\x3d\\x13\\x4c\\x8f\\x01\\xeb\\x8e\\x8d\\xbf\\x28\\xfc\\x9e\\xed\\xcf\\xbc\\xf9\\xa2\\x74\\xe3\\xd9\\x67\\x5f\\x7f\\x06\\x2c\\x53\\xea\\x0a\\x9f\\x83\\x36\\xe3\\x34\\xd4\\x3f\\x1e\\x5a\\xc4\\x99\\xf1\\x72\\x88\\xa1\\x28\\x07\\xc3\\x98\\x75\\x94\\x85\\x24\\xad\\xbc\\xd5\\xac\\xd6\\x99\\x75\\x5e\\x8f\\x1e\\xda\\x7b\\xaa\\x43\\xb4\\x58\\x4c\\x6a\\x13\\xb4\\x22\\x26\\x73\\xbb\\x68\\x22\\x78\\x52\\x87\\x0c\\x08\\xae\\xce\\x40\\xd5\\xb9\\x97\\xb7\\x86\\xc6\\x32\\x28\\x54\\x52\\x97\\x2b\\x61\\x05\\x7e\\xca\\x81\\x25\\xc4\\x17\\xa1\\x6c\\x60\\x04\\x7a\\x19\\x70\\x20\\xb1\\xc9\\xb7\\x51\\xad\\xc9\\xed\\x23\\x6f\\x91\\xae\\x47\\xd1\\x24\\xb8\\xee\\x35\\x90\\x0f\\x26\\xe0\\x55\\x50\\xfc\\x73\\x1d\\xc3\\x9e\\x39\\x72\\xeb\\xba\\x06\\x14\\x3a\\x7e\\x90\\x78\\x12\\x46\\x8e\\x96\\x8e\\x77\\x5f\\x7d\\x02\\xc5\\xd6\\x78\\x13\\xee\\xdd\\xb6\\x73\\xe5\\xea\\x14\\x97\\xdb\\x7f\\x88\\xd7\\x89\\xe7\\x20\\x7e\\xa8\\x95\\xeb\\x1d\\x4a\\xa0\\xfe\\xd6\\x50\\x8f\\x61\\x34\\x96\\x83\\x78\\x23\\xdc\\x2a\\x15\\x63\\xc1\\x42\\x4c\\x28\\x37\\x2f\\x4b\\xdb\\x22\\x66\\x59\\x59\\xbb\\xc5\\xef\\xc6\\xfd\\x78\\x8b\\xe8\\x67\\x2d\\x20\\x69\\xe1\\x65\\xf4\\x54\\xdd\\xc3\\x64\\x24\\xc9\\xe8\\x53\\x45\\x0d\\x14\\x8b\\x85\\x2b\\xe4\\xf9\\x71\\xb8\\x1a\\xfe\\x1f\\x4b\\xdf\\xba\\x05\\x03\\x38\\x7e\\x2a\\x5d\\xd6\\x90\\x58\\x0b\\x4f\\x60\\xee\\xb5\\xb3\\xe7\\xb0\\x75\\xf6\\xf1\\x07\\x77\\x9f\\xde\\xd3\\xe2\\x50\\x97\\x3e\\xbe\\xe8\\xde\\x57\\xae\\xff\\x6a\\xef\\xfd\\x6f\\xe0\\x0b\\xd3\\x55\\x0d\\x1c\\xd8\\x05\\xde\\x08\\xd1\\x9a\\x48\\x78\\xe9\\xba\\x7a\\x8e\\xaf\\xdd\\x70\\xeb\\xa4\\xf9\\x6f\\x3e\\x74\\x44\\xfa\\x7a\\x2f\\x3c\\xf3\\xa8\\xae\\x00\\xf5\\x11\\xcf\\x27\\xce\\xc3\\x90\\x0e\\xd5\\x3a\\x8d\\x8d\\x17\\xb0\\x8c\\xcf\\x63\\x36\\xab\\xec\\x18\\x16\\x64\\x54\\x4c\\x76\\x0e\\xeb\\xf3\\xf8\\x3c\\xcd\\xa2\\xd1\\xe7\\xf5\\xe1\\x34\\xe1\\xf3\\xe9\\x08\\x5d\\xa4\\x59\\xd4\\xb1\\x84\\xb5\\x45\\x29\\xf5\\xee\\x4d\\x0d\\x84\\x55\\xf6\\x74\\x5c\\x8a\\x90\\xbc\\x2a\\xcd\\xe4\\x96\\x0c\\x74\\xa9\\x74\\x03\\xaf\\x4a\\xad\\xaa\\x48\\x45\\xc3\\x44\\xcd\\x5f\\x9f\\x7a\\xe2\\xa5\\x9b\\x7f\\xd9\\xbe\\xf3\\xce\\x1d\\xeb\\xe6\\x5f\\x9b\\xf8\\x67\\xf3\\xa0\\x9a\\xda\\xf6\\xe6\\x48\\x7f\\x35\\xbf\\xe3\\x70\\x91\\x6f\\xd8\\x06\\xa0\\xbd\\x61\\xef\\xf3\\x67\\x8f\\x03\\xf3\\x6d\\xb3\\x45\\x71\\x47\\x8e\\xe3\\x5a\\xed\\xb2\\x0d\\xe2\\xc8\\x96\\x19\\x1a\\x15\\x95\\xb3\\x92\\x5d\\x33\\xbb\\xa0\\xfa\\x3d\\x84\\x9b\\x4c\\x5d\\x9f\\xe3\\xe7\\x89\\x73\\x58\\x00\\x1b\\x1a\\x0f\\xbb\\x55\\x26\\x81\\x46\\x23\\xef\\x43\\x3c\\xe1\\x33\\x60\\x2e\\x60\\x24\\x5c\\x2e\\x9f\\xcf\\xd1\\x2a\\xfa\\x58\\xbd\\xde\\x60\\xd0\\xb6\\x8a\\x06\\x6b\\xda\\xa6\\x64\\x46\\xf4\\x95\\x3d\\xca\\x53\\x52\\x23\\xf7\\x95\\x71\\x0e\\xca\\x75\\x5e\\xea\\xc9\\xd1\\x85\\x3d\\x1a\\x6b\\x79\\x7e\\xe3\\xe6\\x8e\\xea\\xda\\xbe\\xf3\\x97\\xe4\\xef\\xfa\\xc7\\xda\\xdd\\x6b\\x8f\\xd5\\x0e\\xea\\x5f\\x32\\x7a\\x46\\x51\\xfc\\xfe\\xc9\\x6b\\x6f\\xc6\\xff\\x31\\x73\\x63\\x2c\\x38\\xb2\\xad\\xb6\\x79\\x6c\\xdf\\x7d\\x9b\\xe6\\xcd\\x58\\x33\\xc0\\x3e\\xbe\\xa9\\xb2\\xa6\\xb9\\xef\\xe0\\xc6\\x05\\x50\\xa7\\x82\\x70\\x2f\\x2e\\x50\\x5b\\x21\\x2e\\xca\\xc6\\xfa\\xc6\\x3d\\x2e\\x9d\\x8d\\x08\\x06\\x4d\\x36\\x53\\x4e\\xae\\xc5\\xdb\\x22\\x5a\\xac\\x8c\\xba\\x45\\x64\\x30\\x2c\\x82\\xae\\x71\\x8d\\x3d\\x9a\\xec\\x7a\\x1a\\xbd\\x12\\xab\\x80\\x0a\\xe6\\x92\\x4f\\x84\\xda\\x33\\xc8\\xe4\\xe2\\x13\\x8a\\x11\\x28\\x53\\xfa\\xa5\\xf1\\x60\\x74\\x82\\x83\\x1e\\xbb\\x59\\xac\\x1a\\x60\\xb6\\x2f\\x0d\\xdd\\xf7\\xd3\\x0d\\x9b\\xa4\\xae\\x7b\\x7f\\xff\\xcc\\xfa\\x2f\\x66\\xd4\\xf7\\x6b\\x58\\x59\\xdf\\x50\\x33\\xe8\\xba\\x06\\xe2\\xb8\\x60\\xb9\\xe6\\xe9\\xb9\\xe6\\x0e\\xad\\xe9\\x98\\x74\\xe6\\xd3\\x37\\xa5\\x33\\x27\\xff\\xf2\\xf0\\x01\\xa0\\xda\\x9e\\x58\\x32\\x6d\\xce\\x6e\\xac\\xeb\\xe6\\xc9\\xf3\\xf6\\x24\\x94\\x33\\x52\\x04\\x9f\\xbf\\x43\\xe6\\x84\\xa9\\x97\\x71\\x5e\\x57\\xd7\\xe7\\xea\\xc5\\x50\\xb7\\x06\\x62\\x2f\\xc5\\xaf\\x8d\\x31\\x98\\xde\\x54\\xc8\\xb2\\x45\\x45\\x86\\x12\\xa3\\xb1\\xd8\\xcf\\xe5\\xe5\\x15\\xeb\\x89\\x3e\\x51\\x41\\xa8\\x19\\xa4\\xea\\xd3\\xa7\\xa6\\x7c\\x40\\x8b\\x58\\x59\\x59\\x6e\\x2d\\xb6\\x14\\x95\\x14\\x9a\\x0a\\x9b\\x45\\x43\\xa1\\xa9\\xc5\\xd4\\x6e\\xda\\x66\\x3a\\x60\\x3a\\x61\\x52\\x19\\x4d\\x5e\\xf9\\xed\\x7c\\xf9\\xed\\x57\\x26\\x0d\\x4d\\x98\\x4c\\x96\\xec\\x48\\x28\\x9e\\x1d\\x6a\\x15\\xb3\\xad\\x16\\x77\\x8b\\x68\\xb7\\x5b\\x58\\xd6\\x68\\x34\\x62\\x14\\x30\\x10\\x14\\x11\\xd7\\x10\\xad\\xa2\\x46\\x2e\\xc2\\x70\\xd8\\xd8\\xd7\\xe0\\x86\\x56\\x57\\xa7\\xae\\x39\\xe4\\x4f\\x7a\\xa4\\xac\\xe1\\xc6\\xcb\\x51\\x5c\\x4f\\xbe\\xb4\\x58\\x66\\x7f\\xb6\\x4c\\x37\\x04\\x94\\xcd\\x4e\\x75\\x63\\x9b\\x63\\x44\\x4c\\x29\\xb5\\x54\\x6a\\xf1\\x7b\\xa9\\x47\\x05\\x62\\x4f\\x08\\x66\\x5e\\xc2\\x0d\\x00\\xe0\\xd5\\x81\\xb1\\xd1\\x0b\\xf2\\x6e\\x39\\xb6\\xe1\\x06\\xd5\\xc1\\xfa\\x1f\\xea\\x0f\\xe4\\x7f\\xba\\x73\\xc5\\x75\\x39\\xb5\\x82\\xa1\\xc2\\xdd\\x67\\xde\\xc0\\x78\\xa9\\xfc\\xcd\\x8d\\xd7\\x53\\x77\\x0e\\xf9\\xef\\x90\\x3b\\xf2\\x3e\\xda\\x93\\xf1\\x4d\\x7c\\xe2\\xbc\\x55\\x93\\xaa\\xf7\\x1f\\x7b\\x38\\x50\\x03\\x8e\\x49\\x63\\xfe\\xfc\\x55\\xbe\\x24\\xed\\x71\\xd8\\x6e\\xfa\\xea\\x56\\xf9\\xf3\\xfb\\x1e\\xcc\\xab\\x90\\x46\\x80\\xdf\\xbf\\xf6\\x5d\\x3e\\xc0\\xd1\\xe7\\x88\\x07\\xa5\\xeb\\x4f\\xf0\\x2c\\xfc\\x08\\xf7\\x21\\x0b\\x9b\\x11\\xaf\\xe0\\xb2\\xb4\\x61\\x23\\x41\\x08\\xe1\\x70\\x76\\x8e\\x47\\xab\\xcd\\xce\\x32\\x73\\x66\\xae\\x05\\xba\\x25\\x97\\x19\\xa7\\xe1\\xc1\\x0f\\x18\\x3d\\xd0\\xdb\\x7a\\x3c\\x81\\x80\\xa3\\x45\\x0c\\xb0\\xa8\\x9c\\x45\\xa7\\x53\\x59\\xd3\\x17\\x44\\x99\\xe9\\xae\\xcb\\x38\\xe6\\xd2\\x69\\x0e\\xa5\\x55\\x3f\\x98\\x2c\\x6b\\x81\\xa7\\x3c\\x17\\xda\\xb4\\x92\\x74\\x4d\\x71\\x45\\x3a\\xe1\\x85\\x0b\\x4d\\x13\\x3e\\x3d\\xdf\\xfa\\x50\\x3c\\x6b\\xf5\\x75\\xed\\xd3\\x76\\xcc\\x33\\xcf\\x1f\\x3b\\x65\\xe0\\xe0\\xa6\\xda\\xbe\\x8d\\x39\\x33\\xaf\\xea\\x7b\\xfa\\xf4\\x35\\xd3\\xc1\\x47\\xec\\xb4\\xa1\\xb7\\x1c\\x2e\\x2f\\x68\\xad\\x6a\\x17\\x77\\x4d\\x9f\\x3c\\xb9\\x5f\\x7d\\xe9\\xf4\\x8f\\x78\\xfd\\xb5\\xb3\\xa6\\xaf\\xe5\\x65\\xbd\\x6b\\xec\\xfa\\x17\\xe2\\x97\\x82\\x7a\\x37\\xb6\\xfb\\x3d\\xf5\\x1c\\x1b\\x41\\xef\\x51\\x1e\\x08\\x7b\\x3d\\xc9\\x5d\\xe0\\x37\\x45\\xc0\\x35\\x21\\x8f\\x45\\x9d\\x99\\x9b\\xc7\\x72\\xba\\xba\\xc8\\x3e\\x72\\x0f\\xde\\xe4\\x78\\xb1\\x86\\x20\\x70\\x6d\\x8a\\xda\\x4b\\x4d\\x92\\x26\\x5c\\x8f\\xf3\\x16\\xa3\\xd1\\x84\\xd3\\x06\\xba\\x59\\xd4\\x10\\x30\\xd6\\x62\\x49\\xb3\\xe1\\x8a\\x34\\x5f\\xa9\\xe2\\x97\\x1e\\x54\\x55\\x3d\\xfc\\xd5\\x95\\xd8\\xbe\\xa2\\x15\\x64\\x1f\\xfd\\x24\\xe9\\xfd\\x5f\\x46\\x33\\xd2\\x93\\xcf\\x2f\\x2f\\x4d\\xf3\\x7d\\x6d\\x9e\\x41\\x13\\xc7\\xab\\x39\\xe9\\x3b\\xc9\\x6c\\x6f\\x00\\xb7\\x5f\\x2d\\xbd\\x95\\x64\\xfc\\xda\\x6a\\x42\\xbc\\x5a\\x8f\\xc1\\xf3\\xf6\\x36\\xf1\\x2c\\xb4\\xdc\\x75\\xf1\\xb0\\xca\\x6a\\x65\\x9c\\x5e\\x0c\\x73\\x39\\x9d\\x7e\\xc6\\xe7\\x75\\x35\\x8b\\x5e\\x8b\\x1d\\x6f\\x16\\xed\\xac\\x8e\\x6b\\x15\\xe7\\x1b\\x80\\xc1\\xa0\\xb3\\x2a\\xc4\\x79\\x69\\xb3\\xd1\\x33\\xb7\\xa3\\xf4\\x74\\xa1\\xee\\x34\\xa5\\x09\\x47\\x69\\x54\\x86\\xce\\x48\\xd1\\x6f\\xd4\\x8b\\xf1\\x24\\x9f\\x1d\\x17\\x6b\\x73\\xdb\\xca\\x67\\x8c\\x91\\x4b\\x57\\xb4\\x5a\\xc1\\x16\\x6b\\x2a\\xec\\x77\\xef\\x9e\\x15\\x7f\\xdc\\xd5\\xc1\\x48\\x37\\x13\\x93\\xf4\\xe5\\xcb\\xb6\\x48\\x3f\\x9c\\xdc\\x84\\x2a\\x56\\x3c\\x93\\x3e\\xb8\\xfb\\x95\\xe3\\xce\\x4b\\x0f\\xd8\\xd0\\xcc\\x7b\\xf4\\xbc\\x54\\x1f\\x99\\x87\\x65\\x72\\x3c\\x66\\x77\\x38\\xdc\\x5a\\x8d\\xc6\\xed\\x66\\x49\\x12\\x50\\x5e\\xe4\\x8e\\xfc\\xac\\x8f\\xd2\\x68\\x1c\\x2e\\x07\\x7c\\x76\\x97\\xd1\\x03\\xd1\\x13\\x63\\x6d\\x45\\xb0\\xdc\\x4a\\x82\\x66\\x91\\xb4\\xf4\\x60\\x10\\x4a\\x01\\x71\\x53\\x32\\x45\\x25\\x64\\x14\\x56\\x29\\x21\\x12\\x7a\\x62\\x54\\x95\\xa3\\xc6\\xd3\\xf2\\x24\\x7b\\x30\\xe4\\xca\\x1d\\xaa\\xcf\\x2e\\x91\\x91\\x8e\\xde\\x20\\x55\\x36\\x5d\\x9d\\x57\\x35\\xbc\\xbd\\x5e\\x29\\xc6\\xa1\\xf4\\xfa\\x88\\x58\\x55\\xb3\\x94\\x06\\xb3\\xc7\\x81\\x25\\xc4\\xf1\\x4b\\xf7\\xdb\\x6a\\xf0\\x2f\\x2f\\x49\\x04\\x79\\x4e\\xfa\\xf9\\xc3\\x49\\x4a\\x21\\xce\\x57\\xdf\\x02\\xb5\\x7d\\x60\\x62\\x0b\\xbe\\x18\\xe9\\x0f\\x04\\x81\\x24\\xea\\xa5\\x37\\x62\\xd3\\xe3\\x95\\x58\\x52\\x75\\x80\\x46\\xad\\xc6\\x71\\x92\\xd0\\x13\\x26\\x56\\x8b\\xb5\\x88\\xc3\\xb4\\x13\\xb5\\x73\\xb5\\x04\\xad\\x75\\x69\\xa1\\x1f\\xd5\\x6a\\x55\\x46\\xc4\\x18\\x47\\x18\\x2d\\x3a\\x95\\x8a\\x6c\\x16\\x55\\xc6\\x2b\\xd4\\x59\\x4c\\xbc\\x42\\x74\\xa1\\x1c\\x2f\\x7f\\x52\\x77\\xfc\\xc9\\x26\\x99\\xe7\\xa5\\xe7\\x86\\x4a\\x3f\\xec\\x5c\\x40\\x83\\xb5\\x0d\\xa0\\xaa\\x01\\xe8\\xe1\\x4b\\x69\\x35\\xb8\\x5b\\x1a\\x2f\\x6b\\x4c\\x27\\x38\\x80\\xe4\\xe8\\xcd\\xdb\\x85\\x38\\x67\\xe1\\xb3\\x1b\\xe5\\xf7\\x6d\\x72\\xde\\x6c\\x9e\\xd4\\x44\\x3c\\x23\\xbf\\x97\\xf3\\x68\\x98\\x47\\xc1\\x07\\xf0\\x7d\\x9d\\xfc\\x3e\\x0a\\xf1\\xdd\\x5b\\xf2\\xfb\\x56\\xf9\\xe7\\x63\\x52\\x1d\\xb1\\x43\\x3e\\x7b\\x13\\x14\\x3c\\x21\\x35\\x51\\x8b\\xa1\\x0f\\x43\\x3c\\xe9\\xd5\\xd8\\x8a\\xf8\\x20\\xb6\\x3c\\x2b\\xea\\xb4\\x69\\xb4\\xda\\xfe\\x55\\xc5\\xb9\\x56\\x0b\\xe9\\xf7\\x5b\\xca\\x89\\xf8\\xc0\\xea\\xfe\\xcd\\x62\\x35\\x66\\xa5\\xfb\\xc2\\x45\\xe8\\xcb\\x5a\\xb8\\x18\\x54\\xd2\\x98\\x35\\x37\\xab\\x59\\xcc\\x75\\x6a\\x61\\xa4\\xd6\\x22\\x86\\xad\\x1a\\x95\\x47\\xd5\\x2a\\x7a\\xd8\\x1e\\xb3\\x00\\x7a\\xe1\\xe3\\x6e\\x54\\x2c\\xf3\\x0c\\xc5\\x92\\x5f\\x64\\x50\\x28\\xb3\\x0b\\xa0\\xcb\\x46\\x0f\\x00\\xa9\\x3a\\xeb\\x0a\\x73\\x04\\x10\\x46\\x90\\x81\\xab\\xa2\\xb2\\x9e\\x0c\\x20\\x2a\\xba\\x11\\x0a\\xa2\\x6c\\x26\\x96\\x0e\\x5c\\xd6\\xb0\\x2a\\x36\\x60\\xb5\\x7d\\xa0\\x74\\x76\\xe0\\x35\\xf5\\xcb\\xfc\\x65\\x81\\xd5\\x95\\xe0\\xe0\\x60\\x5e\\x93\\xdf\\x39\\x78\\xd5\\xf6\\x75\\xef\\xdf\\x34\\x62\\x60\\xbf\\x79\\xb4\\xb4\\xa5\\x1f\\xa1\\xd6\\x6a\\xa9\\xf9\\xd3\\xe4\\xcf\\x46\\x56\\x0f\\x5a\\x41\\x37\\xed\\xfc\\x79\\xf5\\x45\\x4f\\xa2\\xca\\xcc\\x11\\xf6\\x3d\\xff\\x5d\\xf3\\x23\\x6b\\xc0\\x2f\\xf8\\xf0\\x2c\\x69\\xe5\\x44\\x97\\xe0\\x3a\\xb9\\xef\\x51\\xe9\\xb5\\xc3\\x66\\xe9\\x88\\x6d\\x20\\x18\\x6a\\x88\\x44\\x23\\xc6\\xbe\\xf0\\x23\\x50\\x72\\xd8\\x0c\\xae\\xb7\\x0d\\x44\\x6b\\xfa\\x4f\\xb8\\x90\\xaf\\xc9\\x6b\\x3a\\x5e\\xb6\\x4f\\x8d\\xd2\\x0c\\xd2\\x0f\\xf5\\xcb\\x85\\x0d\\x8f\\xe7\\x38\\x30\\x4c\\xe0\\x19\\x8d\\x46\\x6d\\xa4\\x29\\x0a\\x06\\xdb\\xbc\\xda\\xed\\xb1\\x0b\\x50\\x81\\xec\\x46\\x23\\x6e\\xc2\\xdb\\x44\\x93\\xd5\\xa0\\x81\\xde\\xd3\\x42\\x63\\x85\\x19\\x6b\\x15\\xcb\\x2c\\x01\\x8d\\xf5\\xe8\\xd7\\x4d\\x33\\xe7\\x41\\x6d\\xca\\x1c\\x90\\xe5\\x27\\x54\\x60\\xd2\\x88\\x3e\\x87\\xfd\\x33\\x81\\x6e\\xe7\\x5c\\x46\\x94\\x3e\\x7a\\xee\\xf7\\x9a\\xdd\\x7f\\xbd\\x6a\\x01\\x33\\x19\\x75\\xd6\\x4d\\xb7\\xbc\\xdd\\xb9\\xb7\\x15\\x6f\\x42\\x9c\\x79\\xd2\\x0c\\x70\\xdb\\xb1\\xa7\\x17\\x75\\xf2\\xe3\\xf1\\x2c\\x5b\\x4d\\xe2\\x85\\x79\\xf2\\x73\\x07\\xa1\\x1c\\x5f\\xc3\\xe7\\x76\\x60\\xc3\\xe2\\x51\\x1b\\x86\\x59\\x38\\x8a\\xd6\\xeb\\x55\\x2a\\x8d\\x9a\\x53\\x3b\\x5d\\x46\\xf8\\xac\\xb4\\xd1\\x28\\xe8\\x11\\x25\\xa1\\x4a\\x30\\xea\\xe1\\x53\\xeb\\xbb\\x4b\\xb3\\x53\\xdd\\xcd\\x57\\x48\\x55\\x81\\x0c\\xb2\\x3f\\x73\\x7a\\x8c\\x91\\xf2\\xc0\\x33\\xdb\\xaa\\x77\\x84\\xcb\\xe4\\x07\\x96\\x6e\\x6c\\x6b\\xba\\x67\\xce\\xf4\\xf9\\xda\\x62\\xf4\\xb8\\x31\\x2b\\xf8\\x71\\xd2\\x4d\\x22\\x28\\x44\\xcf\\x0b\\x5e\\xbf\\x6a\\xf2\\x9c\\xb9\\xc2\\x60\\x60\\x86\\x87\\xe3\\xdf\\x57\\xa3\\x35\\xee\\xfa\\x97\\x6a\\x1a\\x7c\\xd6\\x6c\\xac\\x3d\\x5e\\xe4\\x86\\xd8\\x10\\x8b\\x46\\xc3\\x5c\\x24\\x22\\x30\\x2a\\xb5\\x5a\\xab\\x11\\x34\\x39\\xb9\\x11\\x17\\xb2\\x4c\\x6a\\x97\\x91\\x63\\xf0\\x00\\x1f\\x68\\x13\\x8d\\xbc\\x55\\xa9\\x23\\xcc\\xa8\\x27\\x4f\\x27\\x08\\x32\\x80\\x23\\x57\\x99\\xea\\x71\\x4c\\x2d\\xb8\\xd2\\xce\\x88\\xb8\\x0a\\x33\\xda\\x49\\xcb\\xbb\\xdb\\x1d\\x65\\xe9\\x54\\xc4\\x91\\xf1\\xd9\\x93\\x3b\\x34\\xd3\\x15\\x69\\xee\\x70\\xec\\xfb\\xa4\\x7d\\x81\\x7a\\xf7\\x5f\\xa7\\x2e\\x52\\x36\\x60\\x9a\\x75\\xfc\\xa0\\x43\\xdc\\x34\\x40\\x4f\\xb3\\xbe\\xdd\\x59\\x77\\x7d\\x0e\\x5e\\x23\\xd3\\x17\\x3e\\xdf\\x39\\xea\\x91\\xb9\\xd3\\x98\\x89\\x78\\x3e\\xda\\x89\\xab\\xb3\\x3b\\x8f\\x35\\xe0\\x83\\xe0\\x0b\\x2c\\xa5\\x4b\\xaa\\x4e\\x28\\x67\\x01\\x36\\x37\\x5e\\xe1\\x0f\\x85\\x3c\\xd0\\x58\\x69\\xb1\\xbc\\xbc\\x1c\\x6b\\x6e\\xae\\x53\\x63\\x50\\xab\\x4d\\x1a\\x8d\\xd6\\xa9\\x2d\\x2c\\xca\\xf5\\x21\\xd8\\xaf\\xf1\\x19\\xad\\x26\\x22\\x6a\\x8b\\xb6\\x89\\x66\\x9b\\x95\\xd5\\x21\\x7a\\x46\\x43\\x52\\xb1\\xae\\x28\\x6f\\x46\\xf2\\x2d\\x96\\x6a\\x9c\\x55\\xa4\\xb6\\x76\\x8b\\x9d\\x56\\xb4\\xde\\x92\\x5b\\xd3\\xa2\\x1f\\x8e\\x16\\xe6\\x5d\\x35\\x81\\x9e\\xde\\xad\\x7a\\x8e\\x7d\\x9f\\x8e\\x59\\xa8\\xdd\\xfd\\xe1\\xb4\\x39\\x29\\xf1\\xa3\\x85\\xf1\\xa3\\xe6\\x19\\x40\\x07\\xe5\\x2f\\x2a\\x1e\\xbc\\xaa\\x48\\x59\\x00\\xa4\\x8b\\x27\\x9e\\x1f\\x3b\\xe9\\x91\\x79\\x53\\xbb\\x17\\xa1\\xa8\\xf8\\x68\\x63\\x72\\x15\\x70\\xd4\\xdb\\x41\\x7c\\x06\\xd7\\x40\\xc0\\x42\\xd8\\xd4\\xb8\\x83\\xe6\\x79\\xab\\xd5\\x17\\x08\\x98\\xb4\\x4e\\x42\\x4b\\x84\\x23\\x18\\x94\\x7b\\x0d\\x76\\x0b\\xfc\\x41\\x94\\x17\\x77\\x3a\\x3d\\x10\\xcd\\x72\\x10\\x80\\xc2\\xb8\\xdd\\x64\\xe2\\x38\\xa6\\x45\\xe4\\x8c\\x2a\\xc4\\xaa\\x95\\xd1\\x46\\x95\\x86\\x44\\xb9\\x3d\\xd9\\x51\\x53\\xbe\\x28\\x55\\x1d\\x87\\x02\\x86\\x64\\xd1\\x83\\xa0\\x52\\x97\\x9b\\x93\\x90\\x48\\x2e\\xd3\\xc7\\x6f\\xbd\\xe7\\xe4\\xc7\\xaf\\x3e\\x70\\x61\\xd1\\x6d\\x37\\x0d\\x8d\\x0f\\x69\\x8c\\xe1\\x79\\x86\\x69\\xe5\\xc3\\x2c\\xd5\\x43\\xdb\\x1a\\x73\\xab\\xf8\\x26\\x7c\\xf0\\xe6\\xd5\\x77\\x9e\\x38\\xb1\\x6f\\xe1\\xd7\\x27\\x74\\x27\\x80\\x2f\\xfb\\x8e\\x7b\\x75\\x92\\x66\\xfe\\x82\\x49\\xd3\\xe8\\xd6\\xc9\\xb3\\xaf\\x45\\xb6\\xb7\\x18\\xfa\\xd7\\x16\\x28\\x17\\x85\\x59\\x60\\xf4\\xbd\\x30\\xee\\x57\\x09\\x16\\x8b\\xcd\\xc6\\xb9\\xf4\\x7a\\x13\\x6a\\x9b\\xc7\\x28\\x13\\xe5\\xf1\\x6a\\xac\\xcd\\x22\\xa6\\x61\\x35\\xb8\\x99\\xd0\\x20\\x01\\x1d\\x50\\x40\\x8d\\x86\\x37\\xf0\\x1c\\xf4\\xb1\\xbc\\xd1\\x00\\x61\\x9f\\xc1\\x4a\\x60\\xd0\\x37\\x65\\x30\\x76\\xa7\\xd3\\x5d\\x19\\xf4\\xaf\\xa9\\x8d\\x4e\\x17\\xa3\\xa1\\x8c\\x97\\xd9\\x0f\\x32\\xe6\\x42\\x2b\\x24\\x46\\x04\\xdc\\xd6\\xb2\\x52\\xf2\\xcc\\x32\\xbd\\xb4\\xec\\x08\\x60\\x2e\\xb5\\x54\\xe5\\xde\\xfb\\xe8\\x67\\xff\\x12\\x5f\\xa8\\xbd\\x65\\x99\\x11\\xac\\xf7\\x16\\x0d\\xc9\\x2f\\x7e\\x6c\\x9c\\xad\\x86\\x38\\x2e\\xed\\xa4\\xb6\\xac\\xbc\\xfb\\x3e\\xbb\\x99\\xe8\\x0b\\x0f\\x66\\x2d\\x2e\\xcd\\xd4\\xbc\\xff\\x9c\\x1c\\x6f\\x43\\xd9\\x88\\xe9\\xb2\\x8f\\x15\\xb0\\x31\\x71\\x07\\x66\\x32\\x22\\x6e\\x7f\\xbd\\x95\\xd2\\x53\\x36\\x3b\\xce\\x42\\x91\\x70\\x16\\x87\\x22\\xe1\\x48\\x24\\x33\\x14\\x09\\xc7\\x0d\\x1a\\x04\\xd8\\x0c\\x46\\x0d\\x2f\\x53\\xd9\\xf6\\xa8\\x87\\xef\\xcd\\x62\\xab\\x78\\xd5\\x5f\\x79\\x72\\x70\\xc7\\x95\\x1e\\x18\\x8f\\x5f\\xf9\\x59\\x41\\xd7\\x8b\\x5d\\x5f\\x10\\x2e\\x99\\x17\\x78\\x6e\\x3c\\xee\\xb4\\xb9\\x5c\\x76\\x93\\x5e\\xef\\xf5\\x51\\x26\\x93\\xd7\\x09\\xf5\\x86\\x76\\xba\\x9c\\x10\\x02\\x38\\x9d\\x1a\\xa3\\xd1\\xd2\\x2a\\x72\\x59\\x06\\x53\\x3d\\x67\\xb4\\x1a\\x49\\x2f\\xb9\\x8d\\x24\\x4c\\x04\\x19\\xd7\\x31\\xf5\\x24\\xa9\\xd1\\x40\\x27\\xa8\\x61\\xd3\\x69\\x54\\x14\\xbf\\xc4\\x72\\x33\\x43\\xed\\x14\\xec\\x96\\xef\\x98\\x65\\x56\\x8d\\x8c\\x8e\\x43\\xd9\\xb5\\x55\\x28\\x3d\\x54\\x4a\\xca\\x0b\\x5c\\x97\\x53\\xe9\\xa8\\x6b\\x2c\\xd9\\xb0\\xf0\\xf1\\x97\\x6e\\xfc\\xef\\xa1\\x07\\xae\\xcf\\xe9\\xdb\\x34\\x6b\\xc6\\x01\\xa7\\xf4\\xb8\\x19\\x0c\\xc0\\x47\\x12\\x57\\xb9\\x1c\\x07\\x81\\xcd\\xff\\xec\\xd9\\x27\\xa5\\x6f\\x6f\\x9e\\xd7\\xe8\\x0c\\x3e\\xb8\\x7b\\x7a\\xd5\\xc6\\x1b\\x95\\xfe\\x8e\\x52\\xa8\\x5b\\xb7\\xc8\\x33\\xc1\\x42\\xd8\\x94\\x78\\x85\\x8d\\xf7\\x18\\x28\\x82\\x51\\xd1\\x34\\xb2\\x8e\\x1a\\x82\\x27\\x22\\x61\\x13\\xd4\\x1c\\x13\\xcb\\xa8\\xa0\\x84\\x8c\\x8b\\x81\\x12\\x32\\x8c\\x3e\\xc9\\x84\\xa5\\xb1\\x60\\xfe\\xee\\x16\\xa9\\xcc\\x7c\\xc1\\x6f\\xa4\\xb5\\x22\\xfd\\x01\\x0c\\x9f\\x14\\x9c\\x13\\x2b\\xbf\\x62\\x0f\\x08\\xb1\\xf4\\xc8\\x05\\xb0\\x7a\\xa8\\xf4\\xed\\xee\\xf1\\x10\\x30\\x37\\xac\\xc8\\x07\\xce\\x67\\x8e\\x5c\\xd8\\xfc\\xd3\\xd5\\x57\\xf7\\x5b\\xd6\\x50\\x5b\\x5e\\x75\\xf5\\x60\\xfe\\x8d\\x87\\x6d\\x42\\x0a\\x05\\x3d\\xff\\xcd\\x1b\\x0f\\x1f\\x92\\xbe\\xfa\\x1d\\xbe\\xfe\\x9b\\xfd\\x52\\x62\\xfd\\xd5\\x2b\\x77\\x5d\\x44\\x39\\xab\\xa7\\xe1\\xe1\\x79\\x8f\\x38\\x07\\xf1\\xbf\\x1b\\xbb\\x2a\\x5e\\xac\\xb7\\xe9\\xec\\x76\\x15\\x6d\\x32\\x61\\x3a\\x9d\\x5a\\xcd\\x63\\x0c\\xa6\\x62\\x55\\xac\\xd7\\x63\\xd2\\xdb\\xf4\\xcd\\xa2\\xcd\\xa6\\x23\\x58\\xb5\\x4e\\x0d\\x35\\x4b\\x67\\x21\\x9c\\x30\\x16\\x67\\xb1\\x4c\\x66\\xaf\\x1e\\x9c\\x21\\xf2\\xce\\x94\\x64\\x56\\xfc\\xa3\\x4c\\xaa\\x32\\x76\\x57\\xf6\\x5e\\x72\\x1a\\x1f\\x14\\x00\\xe5\\x82\\x0c\\x25\\x40\\xb6\\x7c\\xf2\\x4d\\xed\\xbf\\x9b\\x6f\\x1d\\xaf\\x95\\x6e\\xad\\xbd\\xaa\\x4b\\x3a\\x45\\x8f\\x04\\xa0\\xae\\x15\\x68\\xc7\\x0f\\x1d\\x52\\xdb\\xe6\\x1b\\x37\\x15\\xdf\\xb1\\x6f\\x07\\x6f\\xb8\\xf4\\xb8\\xad\\x06\\xac\\x97\\x96\\x0f\\x14\\xc0\\x88\\xe0\\x8a\\xa6\\x91\\x9d\\x60\\x91\\x76\\x5a\\x3a\\x06\\xa7\\xb6\\x71\\x11\\x14\\x83\\x9b\\x54\\xd8\\xa0\\x29\\x18\\xa6\\x79\\x10\\x8f\\x9a\\x50\\xe5\\x52\\xf2\\xfb\\x73\\x65\\x6e\\x3a\\xe5\\xfb\\xb3\\x96\\xca\\x4c\\x73\\x04\\x1e\\x30\\x45\\x08\\x7c\\x79\\x71\\x2e\\x87\\x65\\x54\\x1e\\x02\\x2c\\x0b\\xe2\\xc1\\x8f\\x21\\x9e\\xcb\\x43\\x75\\x24\\x38\\xaf\\x63\\x98\\x9c\\xa8\\xcd\\x62\\xb7\\xf3\\x5c\\xc0\\xe7\\x26\\x5d\\x2e\\xb3\\x99\\x8f\\xf2\\x05\\xf9\\x16\\x9f\\xdb\\xd7\\x22\\xda\\xdc\\x6e\\x57\\x88\\x0b\\x04\\x8c\\x21\\x63\\x9b\\x88\\xca\\xc9\\x70\\x2d\\x11\\x62\\x5d\\xf6\\x66\\xd1\\x85\\xf1\\x16\\xb3\\xcc\\x9c\\xa4\\x50\\x27\\xc9\\x54\\x13\\x0a\\x1f\\x56\\x8a\\x69\\xf3\\xf2\\xfb\\xa9\\x8c\\x82\\xf4\\x74\\xb2\\x2c\\xcd\\x9f\\x94\\xc9\\x91\\x1d\\xac\\x90\\xef\\x13\\xd5\\x7e\\x75\\xd0\\x08\\xba\\x2b\\x5f\\xc1\\x29\\xb1\\x25\\x5a\\x2d\\x98\\x9d\\xa5\\xc3\\x2c\\x8b\\xac\\xad\\x7d\\xb6\\xfa\\x67\\x49\\xff\\x7d\\xfa\\x16\\xfe\\x66\\x01\\x69\\x4b\\x16\\xd6\\xc5\\x4b\\xb9\\xec\\xb6\\x3f\\x4e\\x9a\\x65\\x5a\\x12\\x7c\\x53\\x21\\x47\\xba\\xf1\\x5a\\x7c\\xcd\\xe2\\x2c\\x99\\x3c\\x9b\\x6c\\x9c\\xbe\\xd6\\x56\\xf3\\xde\\xf4\\x9f\\xdb\\x9e\\x9b\\x37\\x35\\xdc\\x9e\\x98\\xfd\\xec\\x4b\\xf0\\x1c\\x40\\xbc\\x4c\\xd4\\x50\\xdb\\xd0\\xac\\x68\\x6c\\x62\\xbc\\xdc\\x00\\x51\\x3c\\x4d\\xe8\\xb5\\x3a\\x1d\\xa6\\xd7\\x13\\x9c\\x99\\x36\\x6c\\x19\\xbf\\x8d\\x3e\\x40\\xe3\\x46\\xda\\x4b\\x17\\xd2\\x4f\\xd1\\x1f\\xd2\\x94\\x86\\xa0\\xf5\\x16\\x5c\\xdb\\x22\\x22\\xea\\x51\\x68\\x57\\x71\\x63\\xe6\\xd5\\x48\\x8f\\xb4\\x75\\x77\\x0c\\xa3\\xf4\\x17\\x24\\x29\\x5c\\x82\\x40\\x9e\\x26\\xf7\\xe4\\xb5\\x34\\xfe\\x97\\x58\\xa3\\x61\\xe6\\xa4\\xf0\\xce\\xaf\\x40\\xc5\\x73\\xc0\\x2d\\x2d\\x21\\x86\\x43\\x7c\\xfa\\xd1\\x11\\xf3\\xa5\\xb3\\xe4\\xa4\\x8c\\xb9\\x82\\x29\\xdc\\x8e\\xf9\\xb0\\xf5\\xf1\\x31\\x66\\xc2\\xa3\\xd3\\x05\\x94\\x9a\\x5a\\x7f\\xc0\\xcc\\xa7\\xc2\\x7d\\xc2\\x6c\\x46\\x25\\xb5\\x2d\\x22\\x7a\\xda\\x76\\x7a\\x3e\\xbd\\x9a\\xa6\\x0a\\xe9\\x6a\\xba\\x05\\x4a\\x70\\x82\\xee\\xa2\\x55\\x8a\\x14\\xf3\\xe1\\xdb\\xd7\\xa1\\x24\\x6a\\x96\\x80\\xe7\\x9d\\x75\\xbb\\x31\\xcc\\x91\\xc1\\x96\\x9a\\xcc\\xc2\\x2f\\x5c\\xd4\\x8b\\x21\\xbc\\x67\\xf5\\x6d\\x20\\xd9\\x70\\x84\\xaa\\x6f\\xa3\\x3d\\x5b\\x75\\x94\\x1e\\xa9\\x0d\\xc7\\x9f\\xd8\\x01\\xf0\\xdd\\xf5\\xc7\\xca\\x8a\\xeb\\x0d\\xe5\\x13\\xc6\\xdd\\x16\\x02\\x01\\xb3\\xf4\\x11\\x35\\x76\\x54\\xe3\\xf2\\xca\\xbc\\xe1\\x2f\\xf2\\x8f\\x1d\\x3e\\x03\\x02\\x07\\x9d\\x9c\\xf4\\xd1\\x7d\\x55\\x27\\xb6\\x4f\\x19\\x90\\xb5\\x60\\x45\\x79\\x56\\x75\\x83\\x1c\\xc7\\x74\\xfd\\xd0\\xf5\\x39\\xfe\\x81\\x1c\\x97\\x8c\\x96\\xe3\\x14\\x44\\xee\\x5b\\x24\\xf7\\xbc\\x34\\x61\\xff\\x0f\\x9c\\x8c\\xbd\\xfa\\xaf\\x70\\x39\\x76\\x35\\xc2\\x58\\x3b\\x04\\x91\\xd3\\xf4\\x78\\xdf\\x88\\xd3\\xe1\\x88\\x46\\xb1\\x50\\x88\\xce\\xcb\\xf3\\xf9\\x8a\\xe8\\x42\\x77\\x18\\xba\\x20\\x37\\xeb\\x5e\\xe3\\xbe\\xc5\\x7d\\xd0\\x4d\\x99\\x09\\xb7\\xdb\\x16\\x08\\x64\\xb7\\x88\\x01\\xab\\x0d\\x06\\xaf\\x36\\x56\\x6b\\x6a\\x15\\x19\\x46\\xdb\\x9d\\x48\\xe9\\x95\\x37\\x4d\\xd7\\x0c\\xf5\\xb8\\x1b\\xfb\\xd5\\x68\\x5c\\xd6\\x72\\xd6\\x1f\\x88\\x02\\xd9\\x49\\x21\\x18\\x81\\xef\\xe0\\x7e\\x25\\x38\\xbf\\xee\\x68\\x3c\\xab\\xe0\\xce\\xe3\\x52\\xfd\\x99\\x3b\\xc1\\x2a\\xef\\xe0\\x50\\x5e\\xf3\\x88\\x61\\xc4\\xcc\\xcb\\x02\\x75\\x41\\xda\\x45\\xde\\xb4\\x4a\\x3a\\x99\\x07\\xde\\xc2\\xa5\\x59\\x9a\\x25\\xb3\\xc7\\xce\\x90\\x6d\\x7f\\x39\\x94\\x7d\\x25\\xf4\\xbd\\x16\\x18\\xb9\\x1f\\x88\\x97\\x62\\x08\\x55\\x98\\x75\\xbc\\x8d\\xd7\\x6a\\x19\\xb7\\x9b\\xe2\\xf4\\x26\\x13\\x4d\\x1b\\x18\\x8a\\xf1\\xfb\\x04\\x2b\\x8e\\xe0\\x05\\xae\\xd3\\xa3\\x76\\x73\\x33\\x97\\xe9\\x95\\x3d\\xc8\\x2b\\x73\\x38\\xa7\\xb6\\xf0\\x26\\x56\\x61\\x0f\\xa1\\x19\\x8b\\xcd\\xa1\\x86\\x7e\\x43\\xab\\x4e\\x51\\x7b\\xca\\xf5\\x73\\x4a\\x49\\x51\\xba\\xd4\\xe0\\x0a\\x73\\x89\\x7a\\xd4\\xdc\\x66\\xb6\\x6e\\xa6\\x17\\xc6\\x9c\\x19\\x23\\xa7\\x17\\x89\\xb8\\x90\\x53\\x74\\xec\\x21\\xa9\\xf4\\xcc\\x9d\\x75\\xd2\\x97\\x28\\x64\\x9e\\xaf\\x47\\x21\\xb3\\xa9\\x01\\x18\\x72\\xc3\\x0d\\xf9\\xd1\\xd1\\xed\\x23\\xf1\\x81\\xc9\\x55\\xd8\\xda\\x1d\\x3d\\x2b\\xfe\\x7d\\xf1\\x9c\\xc9\\x93\\x90\\x4d\\x84\\x31\\x33\\x23\\x73\\x42\\xae\\x8c\\x0f\\x02\\x3a\\x8f\\xd3\\xeb\\x75\\xd8\\x28\\x02\\x23\\x03\\x01\\xbb\\xdd\\xc1\\x9a\\xcd\\x8c\\xce\\xa1\\x0b\\x05\\x9d\\x04\\x46\\xb4\\x88\\x1e\\x0c\\x0b\\xa8\\x03\\xde\\x66\\x31\\x80\\x39\\xec\\xac\\x42\\x70\\x6e\\xa3\\x28\\x8b\\xda\\x02\\x4d\\xa4\\x9a\\x55\\xe3\\x6a\\xe8\\x3f\\x26\\x66\\x12\\xa6\\xc4\\xd2\\x8a\\xd1\\x4b\\xe0\\x4c\\x8b\\x28\\x1b\\xc3\\x1e\\xf6\\x0e\\xb9\\x93\\xcb\\x4c\\x22\\xae\\x56\\xac\\xdc\\xbe\\x0f\\xa7\\x2e\\x32\\xb5\\x2f\\x66\\xa4\\x55\\x30\\x6a\\x50\\xa6\\x07\\xa4\\x0d\\x21\\xf9\\x00\\xb2\\x71\\xf2\\x0c\\x81\\xcf\\x6d\\x35\\x78\\x65\\x0f\\xfb\\x27\\xe7\\x08\\x50\\x7e\\x0c\\xf9\\x14\\xe2\\x3f\\x4a\\xfd\\x2c\\xf6\\x52\\x32\\x9f\\xc6\\x9b\\x22\\x60\\x13\\x2f\\xe8\\xb1\\x1e\\xdc\\xa1\\x4a\\xfe\\x0d\\xf9\\xa0\\xb1\\x4a\\xfd\\x2c\\xaa\\x62\\x40\\xf5\\xb3\\x5e\\x53\\xba\\x1f\\x03\\xe5\\x0d\\x5e\\x93\\x73\\x74\\x13\\xd0\\x79\\xd4\\x24\\x96\\x28\\xbf\\x31\\x07\\xfe\\xc6\\x9f\\xf3\\xa3\\xba\\xee\\xdf\\x88\\xc3\\x98\\x45\\xe1\\x8f\\xb7\\x43\\xff\\x3c\\x29\\x5e\\x24\\x60\\x18\\x0f\\x63\\x5f\\x18\\x02\\x3b\\x5c\\x2e\\x13\\x0c\\x81\\x4d\\x6a\\x8f\\xd7\\xe5\\x74\\x58\\xf9\\x66\\xd1\\x6a\\x44\\xe3\\xa0\\x0d\\x30\\xb4\\x34\\x58\\x95\\x80\\x12\\x25\\x56\\x7a\\x70\\xc8\\xcb\\x9e\\xa7\\x9b\\x9f\\xd8\\xd4\\x2b\\x4c\\xc9\\xe0\\x91\\xef\\x11\\x9c\\x98\\xe1\\xa2\\x82\\x49\\x19\\x3c\\xf2\\x0f\\x68\\xf6\\x7f\\xdc\\x1d\\x8a\\xfd\\xab\\x4c\\xfa\\xe8\\xa6\\xb7\\x11\\x89\\x7c\\x1b\\x0a\\x42\\x4e\\xbe\\x90\\x11\\x82\\x49\\xff\\x90\\xa6\\x82\\x5a\\xc5\\x2e\\xd7\\x75\\x7d\\xae\\xf9\\x88\\x6a\\xc2\\xfa\\xa1\\x7a\\x0e\\x63\\x8e\\xc3\\xe9\\xb4\\xa8\\xf8\\x00\\x8f\\x15\\x61\\x45\\x55\\xfd\\x95\\x6e\\x6c\\x41\\xa8\\x24\\xdd\\x5c\\x25\\xd7\\x2e\\x96\\x56\\x9a\\xc3\\x7a\\x52\\xdf\\x2e\\x66\\x6b\\x34\\xf9\\x24\\xa9\\x0c\\x68\\xca\\xa8\\xe9\\xb8\\x12\\xda\\x90\\xa3\\x8e\\x12\\x79\\x00\\x46\\x9a\\x08\\x2e\\x05\\x98\\x52\\x65\\x1d\\xb2\\x21\\xe1\\xd2\\x04\\x0f\\xc8\\xa2\\x60\\xc9\\x5b\\x02\\x18\\x91\\xf9\\xb0\\xba\\x07\\x41\\xc3\\x1b\\x7f\\x7c\\xb1\\xb8\\x11\\x74\\x1e\\x5c\\xf5\\xf2\\xfc\\xfb\\x7e\\xb7\\x6e\\x76\\xed\\x0e\\x1a\\xaf\\xa1\\x37\\xd6\\xc5\\xd7\\xcd\\x79\\x6d\\x6b\\xc3\\x86\\x1b\\x76\\x4f\\xab\\x1c\\x92\\x35\\xf7\\x9e\\x6b\\xbf\\x07\\x96\\x97\\xa5\\xf5\\x5f\\x2d\\x3f\\x33\\xe2\\xe1\\x77\\xa4\\x7f\\x4a\\x2f\\xe2\\xfa\\x4b\\xe0\\xba\\x97\\x07\\x48\\xaf\\xdc\\x3f\\xfe\\x8c\\x74\\xfc\\xc3\\x0b\\x1f\\xe4\\x82\\x15\\xbe\\xda\\x5a\\x9f\\xb4\\xd8\\x39\\xf7\\x19\\x60\\x3a\\xfe\\x87\\xbf\\x8c\\xbf\\x1f\\x94\\x46\\x6c\\xd2\\xc7\\x5d\\xdf\\x4b\\x1b\\xde\\x30\\x59\\xa3\\xc0\\x87\\xd6\\xc5\\xd9\\xf5\\x39\\x79\\x16\\xee\\x71\\x14\\xab\\x8a\\xbb\\x8c\\x16\\x4b\\x76\\xc8\\xeb\\xd0\\x60\\x84\\x97\\xc8\\xca\\xd6\\x47\\x61\\x30\\x8e\\xb9\\x38\\xca\\x6f\\xb4\\xbb\\xac\\xca\\x60\\xe1\\x5e\\x55\\x76\\xdd\\x49\\xbf\\x28\\x4a\\xba\\x43\\xbf\\x62\\x15\\xcc\\x19\\xc3\\x7f\\xd1\\xe0\\x61\\xf8\\x7f\\xf2\\x7b\\xbc\\x60\\xc6\\x49\\x86\\x53\\x03\\xb5\\x8a\\xd0\\x0f\\x6d\\xcb\\x1e\\x50\\xad\\xf9\\x52\\x3d\\x5e\\x5a\\xda\\x77\\xb9\\xf4\\x71\\x9f\\xfd\\xbc\\x16\\x7e\\x6e\\xa8\\xc7\\x17\\x0d\\x9e\\xd0\\x98\\x15\\xa9\\x71\\x8d\\x2c\\x91\\xee\\xdd\\xd9\\x74\\xb4\\x38\\x6e\\xc9\\x37\\x07\\x27\\xec\\x48\\x4c\\xc5\\x8d\\x89\\x6f\\xf0\\x97\\x27\\xf4\\x8f\\x65\\xd7\\xb8\\x1a\\xfa\\x4b\\xc7\\x65\\xff\\xf0\\x31\\xb4\\x09\\x9f\\xca\\xfd\\x18\\xb9\\xd8\\xd5\\xf1\\x01\\x41\\x68\\x0e\\x49\\x92\\x54\\x85\\x42\\x7e\\x7b\\x20\\xe0\\xb5\\x65\\x71\\x36\\x2e\\x2f\\xdf\\x10\\xec\\x10\\xd5\\x5e\\xaf\\x8f\\x71\\xf8\\x1c\\x1d\\x22\\xe5\\x33\\xc0\\xff\\xac\\xc0\\x1a\\xea\\x10\\xad\\xb6\\x76\\xd1\\xca\\x91\\x01\\x10\\xb8\\xfc\\x36\\x1e\\x59\\x41\\x53\\x46\\xff\\x7d\\x3a\\x6c\\x49\\x92\\x72\\x29\\x4c\\x10\\xa8\\x9c\\x2a\\x5d\\x48\\x9f\\x51\\x46\\x9d\\xaa\\xaf\\xa8\\x30\\xa7\\xee\\xeb\\x81\\x41\\xbe\\xb0\\xd7\\x83\\x1d\\x65\\x13\\x48\\xdf\\x9e\\x91\\x86\\x3e\\x99\\x57\\xf7\\xf7\\x31\\x63\\x6f\\xf7\\xf6\\x1d\\x5f\\x06\\x76\\xea\\x33\\x2f\\xf1\\xab\\xa5\\xd7\\x1f\\x54\\x33\\xd2\\xb3\\xca\\x55\\x3e\\xf1\\x2a\\xa3\\x7e\\x10\\x14\\x57\\x77\\x57\\x1e\\xa0\\x73\\x9a\\x03\\xfd\\x04\\x03\\xf7\\xd0\\x0d\\x51\\xd2\\xfc\\x78\\x25\\x26\\x40\\x1f\\x68\\x73\\x98\\x29\\x4a\\x9d\\x95\\x65\\xf2\\x9b\\xec\\xb4\\x9d\\xce\\xcd\\x8b\\x84\\xb4\\xa1\\x66\\x51\\xad\\xd5\\xda\\xe5\\x74\\x8a\\xcb\\x68\\xb7\\x18\\x3c\\x28\\xe4\\x44\\xc7\\x9a\\xe0\\xdb\\x44\\xc2\\x88\\xf5\\xe0\\x8d\\xba\\x82\\x31\\xe4\\x2a\\x53\\xf9\\xab\\xee\\x46\\x28\\xb9\\xe1\\x5d\\xa5\\x4e\\x99\\x7f\\xf9\\xee\\x25\\x3d\\x41\\x05\\x64\\xc6\\xd9\\xe0\\x91\\xa2\\xdd\\xed\\x9f\\x1b\\xc6\\xe6\\x35\\x97\\x1e\\xd8\\x2f\\x2d\\x3a\\xfa\\xf0\\xab\\x9d\\x8d\\x0b\\x4a\\x67\\x4a\\xdf\\xed\\x5e\\xa2\\x07\\xcb\\xc0\\x73\\xd5\\xe5\\x95\\x83\\x83\\x11\\xbe\\x08\\xff\\xa4\\x7d\\x06\\x91\\x7d\\xd3\\x13\\xba\\x75\\x1b\\xa4\\x93\\x07\\xb7\\x7f\\xfb\\xb7\\xa6\\x11\\x89\\xe3\\xc8\\x21\\x5c\\xba\\x73\\xfe\\x82\\xe9\\x13\\x61\\xd8\\xbd\\x6a\\x9a\\x1c\\xef\\x7d\\x0d\\xcf\\xb4\\x00\\xcf\\x74\\x31\\xc4\\x5a\\x75\\xc1\\x68\\xa1\\xc3\\x11\\x33\\xab\\x94\\xdb\\xff\\x40\\x34\\xca\\x13\\x34\\x51\\x12\\x13\\xbc\\xed\\xa2\\x53\\x20\\xc3\\x32\\xcb\\x42\\x20\\x59\\x04\\xa0\\x33\\x26\\x8b\\x00\\xc8\\x54\\x11\\x00\\x84\\x29\\x39\\xbd\\x89\\x66\\x7a\\x16\\x02\\xc4\\x7a\\xe5\\xf3\\x32\\x2f\\x18\\x62\\x19\\x9d\\x4e\\x30\\x74\\xca\\xac\\x08\\x88\\x71\\x72\\x93\\xf4\\xaf\\x74\\x3e\\x51\\xe3\\x51\\xe7\\x13\\xf5\\x5e\\xaf\\x96\\x93\\xb7\\xaa\\xc0\\x43\\x20\\xfe\\x7f\\x35\\x43\\xf5\\xcf\\xed\\xd5\\x81\\xe2\\x04\\xf5\\xbf\\xd2\\x1c\\x05\\x64\\x2c\\xd1\\x26\\xdf\\x45\\xad\\x8a\\x0f\\x49\\xc5\\x8f\\x6e\\xde\\xe5\\xf7\\x1b\\x88\\x28\\xa1\\xe1\\x35\\x7c\\x76\\x8e\\xc9\\xde\\x22\\x5a\\x4c\\xac\\x57\\x85\\x62\\x49\\x97\\x91\\xf1\\x32\\x38\\xfa\\xe3\\x43\\xa6\\x8b\\x21\\x51\\x54\\xa9\\xd1\\xa7\\xa3\\xca\\x60\\xeb\\x95\\xa2\\xca\\x85\\xbd\\x16\\x89\\xab\\x8c\\xa5\\x49\\xce\\x53\\xe0\\x8a\\x4a\\x5e\\xcf\\x65\\xc6\\x97\\xbd\\xa0\\xa9\\x8c\\x4c\\x55\\xc4\\x86\\x3b\\x1f\\xd2\\x1c\\x1f\\x96\\x84\\x0a\\x75\\xf7\\xc5\\x80\\xe1\\x9e\\xba\\x3b\\xfa\\x40\\x90\\x5a\\x3c\\x66\\xc4\\x4a\\x0f\\x30\\x98\\xa5\\xef\\xa9\\xbd\\xfd\\xa6\\x36\\xe6\\xed\\xe7\\xcf\\xdc\\x3d\\x30\\x4f\\x6a\\x90\\x41\\xc3\\xd5\\x4f\\xfe\\xcb\\x01\\xe1\\xeb\\x89\\x3e\\xc7\\x6e\\x83\\x50\\xf5\\xf3\\x50\\xdf\\xea\\xfd\\xc8\\x4e\\x6c\\xc4\\x30\\xca\\x4f\\xd5\\x63\\x2e\\x68\\x29\\x96\\xc5\\xfb\\xf9\\x0d\\x3e\\xa3\\x91\\x77\\x6b\\x09\\x92\\xa4\\xb5\\x56\\x8b\\x17\\xf3\\xb9\\x5c\\x5a\\x1f\\x2f\\xf0\\x42\\x30\\xe4\\xc6\\x0c\\x7e\\x43\\xbb\\xe8\\xf5\\xfb\\x39\\x9f\\x85\\x14\\x5c\\x2e\\xa3\\x96\\x24\\x79\\x23\\x67\\x6c\\x17\\x1d\\x6a\\xae\\xbb\\x1a\\x5f\\xb1\\x7d\\xc9\\xf6\\x6b\\xe5\\x93\\x6e\\xca\\x08\\x34\\x61\\xa1\\xa4\\x9b\\xe1\\x5d\\x39\\x2b\\x08\\x55\\xa6\\xbb\\x71\\xa2\\x3d\\xe7\\xa5\\x82\\xf2\\x0a\\x3d\\xb0\\x12\\xb9\\xa5\\x83\\x0c\\x45\\x4d\\xb4\\x74\\x23\\x3d\\xb2\\x48\\xd5\\x4f\\xfa\\x69\\x11\\x2d\\xed\\x90\\x47\\xa8\\x7e\\xb1\\x82\\x4e\\x7c\\x46\\xaf\\x92\\xfe\\xd2\\x67\\xfd\\xc8\\xff\\x2e\\xc7\\x87\\x45\\xa7\\x8d\\x90\\xbe\\x40\\xfd\\xca\\xc0\\xec\\x77\\x5f\\x55\\xae\\x94\\xe1\\xa7\\x06\\xab\\x82\\x3d\\xf3\\xe3\\xe0\\xac\\x54\\x53\\xaf\\x60\\x68\\x68\\x23\\x73\\x61\\x9c\\xed\\xc4\\xfc\\xd8\\x35\\xf1\\x2a\\x97\\xc9\\xcf\\x71\\x82\\x87\\x51\\x6b\\x34\\x46\\xc6\\x6e\\x23\\x7d\\x84\\x9f\\x60\\xfc\\x82\\x43\\x70\\x04\\x82\\x1e\\xd2\\xe4\\x32\\x35\\x8b\\x70\\x35\\x2c\\x7e\\x1b\\xab\\x61\\x18\\xce\\x41\\x10\\x02\\x67\\xe1\\x9a\\x45\\x60\\xb1\\xa0\\x34\\x71\\xf5\\xff\\x26\\x7c\\x2c\\xd6\\x4b\\x78\\x64\\x14\\x09\\x35\\xb4\\x89\\x82\\x3a\\x58\\x4d\\x94\\xa2\\xec\\x7f\\x10\\x49\\x0f\\x04\\x60\\x15\\xca\\x2b\\x08\\xd2\\x27\\x5d\\xad\\x2f\\x6e\\x70\\xb5\\x68\\xed\\x21\\xfd\\xb7\\xfa\\x02\\x3b\\xde\\xe7\\x58\\x8e\\xfe\\x27\\x7d\\x23\\xde\\xb0\\x1c\\x70\\x83\\x13\\xb5\\x63\\xb5\\xb6\\x9b\\x86\\x55\\x3b\\x01\\xc5\\x15\\xc6\\x6e\\x75\\x56\\x57\\x3b\\x6f\\xb5\\x96\\x65\\x4b\\x17\\xd1\\x2b\\x62\\xda\\xa5\\x7d\\x4e\\x30\\xbb\\xba\\xac\\xa8\\x06\\x70\\x4a\\x3d\\xcc\\xd7\\x10\\xf8\\x84\\xe0\\x7e\\xe7\\x61\\x25\\xd8\\xb9\\x78\\x67\\xd0\\x1a\\x08\\x08\\x82\\xdb\\x55\\x6c\\x28\\x82\\xfb\\x9e\\xaf\\xec\\x7b\\xc8\\x12\\xe6\\xc3\\x91\\x42\\xac\\x28\\x2f\\x4f\\x5b\\xc4\\xf3\\xae\\xa8\\x2b\\x1a\\x2b\\x2d\\x0a\\x93\\x85\\xc5\\xc5\\xc1\\x7c\\xcc\\x60\\xb0\\x06\\xad\\x1d\\x22\\x1d\\x84\\x26\\x23\\x18\\x74\\x78\\x03\\x6e\\xaf\\x1b\\x6a\\x05\\x11\\xcd\\xcb\\x73\\xf1\\x46\\xa3\\x0b\\x2a\\x85\\xe0\\x72\\xb8\\xda\\xc5\\x1c\\x4e\\xed\\x90\\xb5\\x22\\x73\\x65\\xba\\xdb\\xd9\\xd3\\x95\\x44\\xb2\\x6d\\x4d\\x2d\\x5b\\x6a\\xb5\\x32\\x94\\x85\\xcb\\x1c\\x09\\xd0\\xf3\\xda\\xe9\\x8a\\x8a\\xd3\\xab\\xf4\\xa8\\xa7\\x22\\xa9\\x0a\\xae\\xa8\\x48\\x20\\x57\\xc2\\x7b\\x19\\x1b\\x3c\\x0a\\x46\\xfe\\x6f\\xda\\x85\\x0b\\x3d\\x0d\\x0e\\xde\\xde\\x5b\\xdb\\x70\\x6c\\x1c\\x86\\xa9\\x8e\\x43\\x5d\\x0b\\x43\\x7f\\xfc\\x74\\x7c\\xba\\xcf\\x0e\\x31\\xba\\xc3\\xe5\\x8c\\x98\\x72\\xa1\\xce\\x65\\x29\\x3a\\x67\\xf3\\x0b\\x81\\x40\\x30\\x07\\xea\\x24\\xc1\\xe4\\x0a\\x82\\x33\\xe4\\x0c\\xe5\\xe5\\xe7\\x06\\xd8\\x9c\\x48\\xc4\\x97\\x45\\x9a\\x4c\\x76\\x1f\\x34\\x44\\x72\\xe1\\x0b\\xfa\\xe3\\x43\\x5f\\x97\\x8f\\x44\\x15\\x30\\x16\\x8f\\xc7\\xd5\\x2c\\x7a\\x8c\\x7a\\xa7\\x05\\x29\\x66\\x28\\x43\\x31\\xb1\\xde\\x5a\\xd9\\x93\\xfc\\x01\\x05\\xcb\\xe8\\x9b\\x85\\xb1\\xff\\x9f\\x0b\\x7f\\x65\\xa5\\xed\\x8e\\x70\\xba\\xd5\\x57\\x75\\xe7\\xaf\\xa8\\xef\\xbf\\xa5\\x8a\\xb4\\x0d\\x03\\x97\\x80\\xfd\\xff\\x54\\x66\\x30\\x31\\x65\\xc9\\xc0\\x9d\\x99\\x6a\\x8d\\x77\\xed\\xc5\\x30\\xb5\\x55\\xae\\x49\\x0e\\x61\\x4b\\xe3\\x55\\x21\\x9b\\xcd\\x28\\xe8\\xf5\\xba\\x80\\x8b\\x24\\x29\\x4a\\x17\\x74\\x38\\x80\\x8e\\xf3\\x71\\xbe\\x70\\xc4\\x69\\x0b\\xd9\\x21\\xb8\\x21\\xf5\\x02\\xc4\\xb0\\x01\\x97\\x20\\x68\\xec\\x04\\x60\\x39\\x1f\\x45\\x71\\x3d\\x18\\x77\\x93\\x6b\\x85\\x8e\\x70\\x2c\\x55\\x09\\x1b\\xeb\\x39\\x08\\x20\\x9d\\x4c\\x50\\x70\\x7a\\x36\\x20\\xf0\\x28\\x91\\x2a\\x59\\x86\\x5e\\xbe\\x1a\\x1f\\x80\\x57\\x40\\x10\\xa4\\x06\\x1e\\xe0\\xc5\\xb5\\x30\\x34\\xd2\\x4a\\xdb\\xab\\xfb\\xbf\\xd3\\xb1\\x9f\\x49\\x9c\\x66\\xee\\xee\\x98\\x79\\xdf\\xa8\\x53\\xd2\\x52\\xe6\\x9a\\xbb\\xa6\\x1c\\x79\\x66\\x9b\\x74\\xc2\\x40\\x3e\\x64\\x90\\xa8\\x77\\xde\\x29\\xab\\x9a\\x9f\\x60\\xc1\\xce\\xc4\\x44\\x30\\x18\\x14\\x72\\x09\\x99\\x5f\\x02\\x0f\\xe8\\x6f\\xbb\\x43\\x3a\\xdb\\xe0\\xbc\\xb8\\xef\\xf6\\x46\\x35\\x4e\\xb5\\xb6\\x26\\x2e\\x6a\\x1e\\x7e\\xfb\\x2b\\x27\\xfe\\x09\\xb8\\x1b\\x9d\\xe9\\xcd\\xd0\\x86\\x0f\\x86\\x38\\x27\\x04\\x61\\xe9\\xe6\\x78\\x93\\x9d\\xa6\\xf5\\x61\\x0f\\xba\\x8c\\xd3\\x47\\x5c\\x2e\\xa0\\x0f\\x06\\xb3\\xb2\\xa3\\x0e\\x07\\xcf\\x67\\xb9\\x1d\\x51\\x67\\xb4\\x59\\x44\\x93\\x70\\x9a\\xc5\\xb0\\xc7\\x68\\xf7\\xda\\x71\\xf4\\xc7\\x87\\xf6\\x2e\\x3b\\x54\\x25\\xbb\\x5d\\xeb\\x34\\x02\\xce\\xc2\\xeb\\xf5\\x41\\x95\\x56\\x95\\x41\\xfb\\x95\\x5e\\x0f\\xd9\\x99\\x65\\xac\\x49\\x6a\\x28\\x71\\xa5\\xa9\\xf7\\xba\\xa0\\x35\\x89\\x16\\x80\\xf4\\xa2\\x10\\xc9\\x35\\x21\\xe4\\x35\\xc1\\xe5\\x35\\xa1\\xfa\\x4a\\xaf\\x15\\x08\\xc3\\x1a\\xfb\\x4f\\xd6\\x4b\\xe5\\xfa\\x79\\xfd\\x23\\x95\\xc5\\x05\\x87\\xa5\\xc7\\xf4\\x13\\xe6\\x0e\\x9f\\x79\\xc3\\xe2\\x7f\\xe8\\x89\\x03\\x7a\\xe9\\xae\\x99\\x4b\\x87\\xe4\\xc7\\x86\\x27\\x5e\\x02\\x7e\\xc9\\xf1\\xf7\\x39\\x30\\xd0\\x39\\x6c\\x1b\\x34\\xc8\\x06\\x26\\x52\\xb6\\xdc\\x1a\\xe9\\x4f\\x35\\xf6\\xc3\\x2b\\x26\\x65\\x13\\x60\\x6a\\x4d\\x8d\\xb4\\x1f\\x8f\\x8c\\xda\\x74\\xd8\\x0e\\x3e\\x05\\xb1\\x94\\xad\\xd3\\x0d\\x85\\x7a\\x51\\x00\\x91\\xd0\\x7d\\xf1\\x31\\x69\\x5b\\x17\\x0e\\x1b\\x43\\x16\\xa8\\x20\\x85\\xd9\\xb2\\x82\\x14\\x45\\xa3\\x50\\x41\\x38\\x57\\xbe\\x2b\\xbf\\x24\\xa6\\x27\\x65\\xeb\\x56\\x98\\x9d\\xb6\\x6f\\x59\\xe1\\xe2\\x62\\xc5\\xc6\\x45\\xbc\\x04\\x27\\x08\\xae\\x7c\\xf8\\x77\\x64\\x03\\xa7\\x71\\x70\\x40\\x6e\\x3e\\xed\\x7d\\xca\\x92\\xef\\xba\\x31\\x52\\x4f\\x0d\\xba\\x4c\\x87\\x64\\x25\\xca\\x3c\\x5d\\x97\\x29\\x53\\x79\\xef\\x82\\xca\\x4c\\xd5\\xd2\\xf5\\xbf\\xb2\\x6a\\xad\\x5e\\x92\\x68\\xe8\\x65\\xd4\\x48\\xad\\x74\\xf2\\x7f\\xd3\\xb5\\xf3\\x63\\x7a\\x19\\x35\\xb2\\xb7\\xde\\xa1\\x3a\\x03\\xf5\\x21\\xa8\\x77\\xb9\\x70\\x85\\x8f\\xc5\\xc7\\xe7\\x86\\x72\\x72\\xc2\\xe1\\x68\\xa4\\x00\\x80\\x20\\x66\\xb3\\x09\\x79\\x14\\xba\\x9e\\x12\\xf2\\xa1\\x35\\x13\\x7c\\xbe\\x88\\x2e\\xa2\\x2b\\x2c\\xb2\\x99\\x42\\xb9\\xa1\\x16\\x31\\x8f\\x32\\xe6\\x7a\\x73\\x71\\xf4\\xc7\\x87\\xb9\\x5d\\xb9\\x50\\xf7\\x72\\x73\\x2d\\xd9\\x64\\x41\\x41\\x34\\x1b\\xea\\x27\\x9e\\x6d\\xf4\\x30\\x11\\x8b\\x4f\\x10\\x74\\xb2\\x21\\xb3\\xf4\\x50\\xc3\\x58\\xba\\xce\\x82\\x4b\\xa1\\xab\\xff\\x73\\x79\\x7b\\xdc\\xaa\\xa4\\x35\\x50\\xed\\xef\\xad\\xa0\\x08\\xb5\\xa7\\x8c\\x58\\x18\\xf8\\xc9\\x89\\x6f\\x64\\xea\\xa0\\xfe\\x57\\xb4\\x75\\x4f\\x43\\x48\\xaa\\x4a\\x1b\\x33\\xe2\\x65\\xa4\\xa9\\xb8\\x17\\x34\\x76\\xab\\x64\\xcd\\x95\\x14\\xf7\\x6f\\x13\\xdc\\x29\\x8b\\xa6\\x86\\x1a\\x8b\\x77\\x3d\\x2f\\x0d\\x26\\xfe\\xad\\xfa\\x16\\x8b\\x63\\x0d\\xd8\\x96\\x78\\xbd\\xbb\\x5f\\xbf\\xb2\\xda\\x41\\xf5\\xf5\\x03\\x07\\xf6\\x19\\xec\\x1f\\x6c\\x8b\\xe8\\xcb\\xca\\x86\\x36\\x16\\xc0\\x95\\x1d\\xda\\x50\\x57\\x5b\\x77\\xcb\\xf8\\xfa\\xda\\x92\\xb8\\x86\\xed\\x14\\xfb\\x04\\xfc\\x01\\x3f\\x04\\xe9\\x16\\x77\\x40\\x03\\xff\\xb3\\x14\\x94\\x94\\x64\\xb7\\x8b\\x30\\xe2\\x22\\x3a\\x44\\x8b\\x8b\\x71\\x65\\xe4\\x1b\\x94\\x14\\x16\\x5a\\x22\\x65\\xc2\\x9b\\x5c\\x76\\x56\\x92\\xec\\xab\\x4a\\x93\\xca\\xc8\\xe9\\x9c\\x12\\x53\\x37\\x51\\x9c\\xa0\\x64\\x45\\xcb\\x15\\x8e\\x57\\x85\\xda\\x2b\\x75\\x7b\\x88\\x86\\x9d\\xfc\\x66\\xfb\\x20\\x2a\\x51\\x04\\x28\\xe0\\x85\\xf1\\x50\\xf8\\x40\\x4d\\x51\\xfe\\xa4\\x96\\x9b\\xd6\\xc5\\x16\\x44\\x83\\x13\\xf4\\x93\\xfa\\x65\\x8f\\x69\\xda\\xb0\\xe2\\x9a\\x5b\\xcf\\x9d\\x07\\xde\\x5f\\x6b\\x2c\\xfc\\xe2\\xd3\\xc3\\xcb\\x89\\x46\\x95\\xf4\\xdd\\x1b\\x47\\x54\\x4d\\x7f\\x05\\xfc\\xeb\\xf1\\x9a\\x60\\x41\\x5b\\xd0\\xf3\\xf2\\x80\\x06\\x77\\xa4\\x76\\xdd\\x8c\\xe5\\x7b\\x39\\x01\\x78\\x7e\\xbd\\xe5\\xf0\\xf8\\x1f\\xec\\xa6\\xd1\\xea\\x0e\\xbf\\xf4\\x1e\\x08\\xfb\\x0f\\x1d\\x82\\xeb\\xfc\\x84\\x54\\x47\\x94\\x51\\x87\\xb1\\x01\\xd8\\x10\\x6c\\x6d\\x7c\\x50\\xcd\\xc0\\xba\\xba\\xea\\xea\\x41\\xe5\\xbe\\x41\\x3e\\xa1\\xaf\\x2e\\x16\\xab\\x6f\\xc8\\x13\\x84\\xfa\\x21\\xb5\\x35\\xb5\\xb7\\x8c\\xaf\\xab\\x31\\x21\\x66\\xbd\\x72\\xbf\\xcf\\x8f\\x66\\xb7\\xf2\\x6e\\xbf\\x06\\xfe\\xc7\\xe7\\x15\\x15\\x65\\xb5\\x88\\x45\\x2c\\x4f\\xb4\\x88\\xbc\\x8b\\xfe\\xcd\\x25\\x4e\\xe5\\x46\\xba\\x8b\\xd2\\xe4\\xf5\\x4d\\xa2\\xff\\xe4\\xe2\\x0e\\xc0\\x65\\xba\\x59\\xb9\\x62\\x0f\\xcf\\x28\\xe4\\xfc\\x95\\x32\\xb5\\xe4\\xe8\\x19\\xb5\\x2a\\xbd\\xb0\\x1b\\x2a\\x0b\\xa2\\xf5\\xad\\x13\\xfb\\x37\\x37\\x05\\xea\\x75\\x75\\x25\\x91\\x86\\x11\\x53\\x06\\x4e\\x99\\x7b\\xcf\\x81\\xa9\\x2d\\x57\\xac\\x61\\x6b\\x9a\\xf0\\xc8\\xc7\\x77\\xe2\\xf7\\x77\\xaf\\xea\\x5f\\xfa\\x57\\x67\\x15\\x65\\xe5\\x9c\\xab\\xe8\\x17\\xca\\x09\\x2d\\x5d\\x74\\xed\\x1d\\x36\\x76\\xec\\x98\\xde\\xd5\\x6d\\x2a\\x76\\xda\\xd0\\xf5\\x5b\\xbc\\x02\\xf5\\x72\\x7a\\x35\\x51\\x0c\\x35\\x3c\\x39\\xe7\\x3c\\x82\\xad\\x89\\x0f\\x64\\x8d\\x46\\x3d\\x2d\\x93\\xfb\\x39\\x23\\x32\\xab\\x9f\\xc7\\xeb\\x0d\\x52\\x74\\x00\\x86\\x9e\\x59\\x5e\\x22\\xe0\\x48\\xe6\\x94\\x88\\x88\\x8a\\x57\\xc1\\x10\\x94\\xe7\\x09\\x83\\xdc\\xff\\x77\\x59\\x97\\x50\\x66\\x98\\xdd\\x7b\\xe2\\x62\\xf7\\x11\\xef\\x6e\\xec\\x8d\\x65\\x34\\x39\\x04\\x03\\xe8\\x60\\xa3\\xb2\\x2a\\x0f\\xe8\\x07\\x7e\\x63\\xe0\\xb9\\x76\\xdf\\xd9\\xc9\\x96\\xc0\\x70\\x1a\\x8c\\x0e\\xf3\\x13\\xc7\\x30\\xff\\x1f\\x6f\\xff\\x01\\x1f\\x47\\x75\\xfd\\x8d\\xc3\\x73\\xa7\\xed\\xce\\xb6\\xd9\\x9d\\xd9\\xd9\\xd9\\x5e\\xb5\\x5a\\xad\\x56\\xd2\\x4a\\x5a\\x49\\xab\\xae\\xb5\\x2d\\xc9\\x72\\x93\\x64\\x61\\x8c\\xd7\\x4d\\x72\\x01\\x57\\x30\\xc6\\xd8\\xe0\\x86\\x6d\\x8a\\x0d\\x36\\xa6\\x63\\x4a\\xe8\\x2d\\x86\\xf8\\x07\\x36\\x18\\x42\\x0b\\x81\\x40\\x08\\x04\\x53\\x52\\x80\\x40\\x42\\x49\\xe1\\x49\\x23\\x24\\x21\\x09\\xa1\\x58\\xa3\\xf7\\xde\\x3b\\xb3\\x4d\\x96\\x81\\xdf\\xf3\\xbc\\x9f\\x7f\\x1c\\xec\\x91\\x2d\\xcd\\xde\\x7b\\xcf\\xb9\\xe7\\x9e\\x73\\xcf\\x39\\xdf\\xef\\xd7\\x72\\x9e\\xcf\\x39\\xfc\\x3c\\xa8\\x66\\xa7\\x29\\x37\\x1c\\xfb\\xde\\xc4\\x7c\\xe7\\x98\\x13\\x0b\\xd7\\x93\\x2d\\xcf\\xd4\\x23\\x4e\\x2c\\x13\\xe7\\x74\\xb9\\xf4\\x1e\\xd6\\xed\\xd6\\xe9\\xf4\\x70\\x1d\\x28\\xbd\\x89\\x34\\x91\\xc1\\x50\\xc0\\xc5\\xab\\x8c\\x58\\x27\\x21\\xc4\\xd2\\xa2\\xc5\\x6f\\x98\\xeb\\xff\\x2d\\x1d\\xd6\\x0d\\x97\\xde\\xf0\\xf5\\x74\\x58\\xd4\\xc2\\xe3\\xf7\\x60\\x3a\\xac\\x12\\x9c\\xb7\\x20\\x3c\\x45\\x07\\x32\\x96\\x98\\xcb\\x45\\xc3\\x10\\xd0\\x44\\x9b\\xea\\x53\\x35\\xd6\\xc7\\x81\\xe7\\xe1\\x6c\\x5c\\x42\\xed\\x88\\x62\\xb6\\x26\\x5e\\x13\\x27\\xf4\\xfa\\x32\\x0c\\xfa\\xe6\\x1d\\x07\\xfa\\xa6\\x31\\xfa\\x7f\\x3d\\xee\\x9b\\xa8\\x62\\x14\\xe7\\x18\\xe4\\xd2\\xac\\xda\\x2c\\x80\\x6e\\x51\\xd4\\x2e\\xc5\\xa6\\x13\\x70\\xe0\\x52\\xe7\\x9e\\xdb\\x35\\xbb\\xbc\\x29\\xc3\\x5f\\xb7\\xfb\\xaa\\xdf\\xb7\\x2e\\xda\\x71\\xe3\\xa5\\x7b\\xde\\x6d\\x1b\\x9e\\xba\\x61\\x63\\xe7\\xec\\xf2\\xe6\\x66\\x6e\\x1c\\x28\\x1c\\x59\\x36\\xa3\\x22\\x6c\\x5d\\x74\\xca\\xd3\\x6f\\x01\\xfa\\xaf\\xf5\\xa0\\xed\\x99\\x77\\xff\\xfe\\xcb\\xfa\\xe9\\xf1\\x30\\x3f\\x59\\xab\\x3d\\x47\\xdc\\x1c\\x66\\xc2\\x4f\\x54\\x13\\x7d\\x99\\xf2\\x32\\x59\\xa6\\x7c\\x81\\x80\\x81\\x32\\xd4\\x24\\x13\\x96\\xa1\\x6c\\xb9\\x38\\x94\\x4d\\x94\\x27\\xca\\x09\\x9d\\x2e\\x34\\x90\\xd5\\x59\\x09\\xf7\\x40\\x29\\x28\\xdc\\x49\\x26\\x59\\x28\\x34\\x27\\x59\\x11\\x83\\x87\\xe6\\x71\\x10\\xd5\\xfc\\xb1\\xae\\x49\\x45\\x1e\\x4e\\x83\\x03\\x08\\x2f\\xf0\\x56\\xf4\\x9b\\x35\\x52\\x9f\\xa8\\x70\\x96\\xd5\\xe8\\xa7\\xb7\\xce\\xb8\\xc4\\xd7\\xd8\\xbb\\x7d\\xca\\xce\\xb2\\x3a\\x5f\\x18\\xfd\\x65\\x79\\x8d\\xfd\\xad\\xa3\\x2a\\x6d\\x07\\x42\\x0d\\x04\\xbb\\x83\\xd1\\xa0\\xb7\\x3d\\xb3\\x61\\xfb\\x73\\xb7\\xb5\\x13\\x63\\xff\\x7c\\x60\\x6f\\x5d\\x20\\x1a\\x50\\xf1\\xac\\xce\\x1f\\xfb\\x2d\\x7b\\x0f\\x94\\x9f\\x93\\xe8\\xc8\\x38\\xcd\\x26\\xbb\\x9d\\x14\\x2d\\x16\\x17\\xe9\\xb6\\x88\\x56\\x71\\x38\\x6b\\xa5\\xed\\x66\\xf1\\x04\\xd2\\xa4\\x54\\x71\\xa7\\xad\\x66\\xa5\\x8a\\x08\\x93\\xa0\\xc9\\x51\\x3b\\x48\\x51\\x9a\\x9e\\xf9\\x62\\xe9\\xb4\\xda\\x41\\x96\\xab\\x74\\xf5\\x6d\\x48\\x8d\\x7e\\x67\\xbd\\xf2\\x8b\\x55\\x26\\x32\\x62\\xba\\xea\\xa7\\x60\\xef\\xe4\\x35\\xbb\\x98\\x99\\x01\\xe5\\xdf\\xdf\\xd1\\x5b\\x96\\x2d\\xf8\\xea\\x55\\xfa\\x73\\xdc\\x2f\\x7d\\x35\\xf9\\xe2\\xf9\\xe7\\xd4\\xe3\\xb1\\x89\\xf8\\x8e\\xf5\\x49\\xc2\\x8e\\x10\\x1a\\xed\\x04\\xc3\\x00\\xa3\\xd1\\x41\\x03\\x20\\x39\\x38\\x2b\\xc2\\x74\\xb6\\x52\\x00\\x55\\x24\\x32\\x18\\x23\\x2c\\x5f\\xf6\\x01\\x5a\\x0a\\xed\\x67\\x70\\x71\\xf1\\x2e\\xc7\\xf5\\x73\\x1a\\x5c\\x37\\x1c\\x1f\\xf0\\x1e\\xeb\\x30\\x82\\xaa\\xeb\\x01\\xdd\\x7d\\xed\\xf2\\x39\\xd3\\x62\\xd3\\x5d\\x52\\xac\\x7c\\x6a\\x4c\\x69\\xb2\\x53\\x2b\\x9c\\x93\\x47\\xcf\\x01\\xdf\\xdf\\xb8\\x2e\\xf0\\xc1\\x76\\x6b\\x32\\x33\\x2a\\x8c\\x8d\\xa9\\x6b\\x84\\xf0\\x81\\xe8\\x28\\xca\\x0f\\x90\\x3f\\xa3\\x66\\x83\\x7e\\xcc\\xbd\\xe4\\x52\\xb9\\x97\\x54\\xce\\x55\\xfa\\x29\\x94\\x43\\xa0\\xcb\\xd5\\xef\\x21\\xe3\\x70\\x0e\\xe8\\x7b\\x82\\xb6\\x1c\\x3f\\xd3\\x74\\xa5\\x97\\x33\\xc3\\xb5\\x36\\x13\\x3e\\x78\\x86\\x9f\\x91\\x69\\xac\\x0d\\x35\\x36\\xd6\\xf9\\x75\\x84\\xbb\\xa1\\xa2\\xce\\x5d\\x27\\xb4\\xf8\\xfd\\xc2\\xa4\\xc9\\x1d\\x75\\xa9\\xba\\xe1\\x6c\\x67\\x8a\\x6f\\x0c\\xd5\\x0a\\xd1\\xea\\x91\\x6c\\x3c\\xea\\x75\\x50\\xc3\\x59\\x07\\x6d\\x81\\x21\\x88\\x45\\x2c\\x2e\\x72\\x21\\x8a\\xfc\\x1d\\x38\\xf1\\x54\\x61\\xfb\\xd7\\xe7\\x16\\x60\\x1c\\x51\\x4d\\x38\\xc7\\xa7\\xa9\\x36\\xdb\\x00\\xbb\\x0e\\xe4\\x21\\xe0\\xb0\\xc2\\xa1\\xf5\\x52\\x09\\xd1\\x55\\xb6\\x40\\xba\\xec\\x8a\\xad\\x1b\\x7e\\x70\\xee\\x9e\\x6d\\x1b\\x9e\\xd9\\xac\\x4c\\xbe\\xed\\xb3\\x4b\\x9f\\x02\\x73\\x7e\\x73\\xdb\\x7f\\xf7\\xfc\\x50\\x79\\x98\\x79\\x79\\xb6\\x32\\x6d\\xe4\\xa2\\x4b\\x67\\xa6\\x3a\\xea\\x2a\\xdb\\xed\\xae\\xea\\xf6\\x2b\\xd6\\xbd\\x05\\x17\\x36\\x79\\xe3\\xa3\\x9e\\xa8\\xcd\\x5b\\x6d\\xfa\\xa3\\x9b\\x9a\\xf1\\xcc\\xbb\\xaf\\x2a\\x97\\x3d\\xf9\\xd4\\xdb\\x2f\\x82\\x4d\\xa3\\x8b\\x2e\\xfd\\xe2\\x76\\xb4\\xd9\\xf6\\x7e\\x79\\xcb\\x3f\\x94\\xf3\\x5f\\xa2\\x76\\xcd\\xbf\\x70\\xb4\\xe1\\xd6\\xeb\\x67\\xe9\\x4c\\x9f\\x5e\\x20\\xef\\x7d\\x8a\\x3a\\x0d\\x2e\\xfe\\x2e\\x50\\x55\\xb5\\x2a\\xe0\\x0e\\x39\\xcc\\x93\\x64\\x5c\\x9f\\xd9\\xab\\xab\\x80\\x7b\\xce\\x84\\xf8\\x4e\\xd1\\x9a\\x11\\x72\\x5d\\xb4\\xda\\x5f\\x2f\\x5b\\xeb\\x6b\\x6a\\xac\\x4d\\x1e\\x4f\\x17\\x6b\\xb5\\x76\\x76\\xb5\\xd6\\xd4\\xd6\\xf4\\x67\\xdb\\x6a\\xf9\\xfa\\x6a\\x29\\x5c\\x39\\x90\\x2d\\x0f\\x7b\\xed\\x24\\x3c\\x7b\\xad\\x66\\x0e\\x93\\xb7\\x8d\\x5b\\xb3\\xae\\x12\\x58\\x58\\xb4\\x6a\\x28\\x42\\xb1\\xe5\\x89\\x04\\x4b\\x70\\x3b\\x4b\\xb6\\xe7\\x37\\x2f\\x18\\xf9\\xbd\\x02\\x85\\xce\\x5f\\xf3\\xbb\\x95\\xfe\\xcf\\x37\\xae\\x55\\x51\\x1b\\x8c\\x62\\x2e\\xde\\xbf\\xdf\\xbc\\x4e\\x24\\xb4\\xc3\\x77\\xb0\\xeb\\x99\\x03\\x84\\x0b\\x5a\\xe1\\x6c\\xa6\\x3a\\x44\\x95\\x19\\x7c\\x72\\xdc\\x5a\\x5b\\x1b\\xf7\\x95\\xd1\\x6c\\xb5\\xc8\\x8a\\xf5\\x29\\x9f\\xbb\\x36\\x63\\xad\\x1d\\xc9\\x9a\\x0d\\x56\\x3a\\x1e\\x2b\\xcb\\x20\\xa0\\x63\\xb8\\xc6\\xf0\\x44\\x7d\\x35\\xa5\\xd2\\x67\\xc0\\x85\\x79\\x55\\x7b\\xca\\x21\\xa6\\xc9\\x85\\x8c\\x93\\x86\\x85\\x4e\\x60\\xbe\\x2f\\xec\\x6a\\xc8\\x0e\\x9c\\x87\\x81\\x1e\\x1c\\x3c\\x63\\x62\\x1a\\x37\\x26\\xde\\x6b\\x6a\\xbe\\x26\\xc6\\x92\\x6f\\xc5\\x9a\\xf5\\x5f\\x2a\\x6f\\xfe\\x10\\x9c\\xfe\\x77\\xfb\\xb4\\x78\\xac\\x49\\xaf\\x80\\xc4\\x4f\\x94\\x5b\\xff\\x26\\x4e\\xfd\\x7e\\xb0\\xde\\x7c\\xc9\\xdb\\x97\\x5c\\x71\\xa1\\x34\\x25\\xd2\\xe9\\xdb\\xf9\\xfa\\xf6\\x4b\\x36\\xd7\\x8c\\x24\\x23\\x5e\\x50\\xf6\\xee\\x6f\\xc0\\xca\\xf7\\xe5\\xb2\\xea\\xea\\x88\\x57\\xf9\\xf5\\x3b\\xef\\x2b\\x57\\xbe\\xe9\\x88\\x24\\xe9\\xe3\\x21\\x8f\\xef\\x4d\\xe5\\xbe\\xef\\xde\\xf7\\x8a\\xcb\\x17\\x6e\\x2c\\x7b\\x1b\\xcc\\xb8\\xe3\\xd6\\x57\\x83\\x1a\\x36\\x77\\x70\\xec\\x0e\\xfa\\x3c\\xda\\x02\\xe7\\x9f\\x40\\xf3\\x0f\\x50\\x21\\x39\\x6a\\xf0\\x5a\\x2b\\x2b\\xbd\\xd1\\x10\\xcd\\x56\\xc0\\xf9\\x57\\x55\\x57\\xba\\xbd\\x19\\x83\\x77\\x30\\x6b\\x85\\x0b\\x10\\x8d\\x84\\x32\\x54\\x68\\x10\\xcd\\xdf\\x51\\x3c\\xff\\xfc\\xd3\\x49\\xe7\\xaf\\x31\\x81\\xaa\\xf3\\x57\\x99\\xc2\\xf0\\xfc\\x31\\xcd\\xbe\\x8c\\x4e\\x22\\xd4\\xb0\\x12\\x63\\xc1\\x6f\\xe3\\x93\\xcc\\xb7\\x3c\\xb8\\xfb\\xbf\\x77\\x5a\\x32\\x15\\xf1\\x2e\\xf3\\x1d\\x0f\\x5e\\xfa\\xf9\\x9d\\xe6\\xce\\xfb\\xa7\\x44\\xb7\\x7d\\x77\\x6e\\xb4\\x63\\x4a\\xf4\\x82\\x3b\\x07\\xca\\x47\\xea\\xa2\\xde\\x17\\x6f\\xbb\\xe6\\xf8\\xdd\\x8e\\x48\\x4d\\x4d\\xd4\\xf7\\xf2\\xcd\\xd7\\x1e\\xbf\\xcb\\x51\\x56\\x4b\\x9d\\xdb\\xdc\\xa4\\xbc\\x7b\\xe4\\xe6\\x96\\x9a\\x96\\x24\\x28\\xfb\\xc1\\x7d\\xf5\\x08\\x1a\\x19\\xe5\\xe2\\xb8\\x6a\\xdd\\x46\\x42\\x20\\x22\\xc4\\x42\\xe2\\xea\\x4c\\xfd\\xdc\\xa9\\x0e\\xbf\\xdf\\x25\\x8a\\x7a\\x3d\\x31\\x69\\x56\\x55\\x6a\\x16\\x41\\x4d\\x6d\\x9d\\xda\\xba\\x68\\x71\\x72\\x68\\xc6\\xd0\\x70\\x36\\x35\\x30\\x90\\x9e\\x41\\x2f\\x9c\\x34\\x29\\x96\\xed\\xce\\x42\\x8b\\xd2\\x2d\\x72\\xba\\xc7\\xc1\\x8c\\x8c\\x9c\\x25\\x38\\x8e\\x74\\x90\\xfc\\x95\\x59\\x9e\\x04\\x12\\x45\\x86\\x1c\\xa1\\xab\\x16\\x38\\x28\\x15\\x28\\xf6\\x85\\x42\\x83\\xe2\\x0b\\x85\\xaa\\x49\\x35\\xb2\\x2a\\x61\\x79\\x28\\xa2\\x4e\\xcb\\x25\\xb3\\x04\\x74\\x4a\\x61\\x5e\\x67\\x15\\x00\\x1b\\xf1\\x40\\xa7\\xa1\\x77\\x5a\\x43\\x6a\\x38\\x82\\x6a\\x43\\xc9\\x49\\x32\\x79\\xa8\\x95\\xbb\\x80\\x33\\x58\\x94\\x06\\x6c\\x4a\\xd3\\x35\\x2d\\x6f\\xb5\\x9c\\xb1\\x7a\\x43\\xaf\\xdd\\x15\\x9a\\xb1\\xe9\\xf4\\x05\\xb5\\x2d\\x33\\x9c\\x20\\x71\\xf5\\x85\\xdc\\x76\\xbb\\xd3\\x9e\\xa9\\x8f\\x35\\x28\\xbf\\x9e\\x79\\x6f\\xdf\\xfa\\xb7\\xaf\\x19\\x1c\\x97\\xe9\\xdb\\xfb\\xbb\\xed\\x3f\\x5a\\x35\\xf7\\x93\\x0d\\xca\\x7b\\xca\\x33\\xa5\\x49\\xc2\\xa3\\x77\\x2f\\x7d\\x6b\\x16\\x3b\\x0f\\xf8\\xaa\\xd3\\xd5\\x97\\xc7\\x6a\\x62\\x6d\\x93\\xea\\xe6\\x9f\\x2f\\xa7\\xfc\\x1d\\xbc\\x24\\x39\\xed\\xd1\\xba\\xda\\x2f\\xb7\\x4d\\xee\\x5c\\xfb\\x0c\\x10\\x0e\\x17\\xa5\\x00\\xff\\xa9\\x5c\\xf6\\x6e\\xa2\\x33\\xd5\\x04\\x02\\x80\\x28\\xc9\\x1b\\xfe\\xe4\\xbd\\xbe\\x66\\x5c\\x4f\\x1e\\x1f\\xfb\\x98\\x4d\\x32\\x0a\\xd1\\x00\\x63\\x87\\x79\\xc4\\xcd\\x19\\xb7\\x8b\\xa3\\xf8\\x19\\xa7\\x9c\\xd2\\xdf\\xd7\\x57\\xc5\\x53\\x1d\\x1d\\x8d\\xe5\\x8d\\x5c\\x3d\\x57\\x9f\\x9d\\xdf\\xd9\\x8e\\x64\\xd1\\x9c\\x6d\\xec\\xec\\x9c\\x91\\x4e\\x77\\x43\\x59\\xa4\\x03\\xe9\\x64\\x9a\\x12\\xa9\\x74\\x86\\x33\\xf5\\xa5\\xe7\\xce\\x98\\x7b\\xd5\\x82\\x19\\xd6\\x0a\\xc9\\x2c\\xc1\\x78\\xd8\\x66\\x4b\\x9a\\xad\\x01\\x8a\\x8a\\x78\\x59\\xa8\\xc0\\x04\\xeb\\x20\\x4a\\x04\\x93\\xf7\\x82\\x31\\x5a\\x79\\xb1\\x04\\x8b\\x12\\x0a\\x82\\x5c\\xdc\\x91\\xcd\\xa8\\x2b\\x9e\\x2f\\x21\\xcf\\xd3\\x1d\\xe6\\x00\\x98\\x31\\x41\\x09\\xca\\xcf\\xe7\\x6b\\xf4\\xac\\xc4\\x37\\x4a\\x98\\x2e\\x3f\\xf3\\xb6\\x8a\\xee\\xe7\\x57\\x1e\\x7c\\x64\\xdb\\x47\\x57\\xac\\xd9\\x5a\\x37\\x4d\\x34\\x25\\xdc\\xed\\x23\\x2d\\xa7\\x9c\\xd6\\x77\\xad\\x67\\xb2\\x6e\\x45\\xef\\xd5\\xf7\\x9e\\xd6\\x90\\x9c\\x31\\xad\\x6e\\xf7\\xda\\x9b\\xef\\x57\\xfe\\xcf\\xe8\\x69\\xdf\\x20\\x57\\xfb\\xac\\x29\\xbd\\xd3\\x5f\\x78\\xe2\\x31\\x60\\x3d\\x50\\xa6\\xfc\\xf5\\x76\\xd9\\xbb\\x4f\\xf9\\xc7\\xc2\\x8d\\x97\\x2d\\x6f\\x6d\\x5f\\x0a\\xaa\\xbe\\x7a\\x2d\\x75\\x3b\\x90\\xca\\x7e\\x72\\x58\\xf9\\x93\\xf2\\x18\\xfd\\x9f\\x09\\x45\\xe9\\x12\\xa1\\x28\\x55\\x3c\\x0d\\xfd\\x87\\xec\\x5b\\xf0\\x7c\\xb6\\xa1\\xf3\\x99\\x7b\\x96\\xf1\\x80\\x9b\\x50\\x8e\\xbf\\xb7\\x80\\x91\\x85\\x73\\xba\\x4c\\x07\\xfc\\x1e\\x41\\xfd\\x1e\\xf2\\x1e\\xb5\\x0e\\xa0\\x5e\\xab\\x03\\x40\\xf9\\x70\\xe8\\xc3\\x23\\x9c\\x4d\\x1f\\x62\\x96\\x13\\x29\\x1f\\x41\\x38\\x11\\xff\\x82\\x3f\\xe0\\xf4\\x79\\x7c\\x30\\x5e\\xf1\\xa8\\x58\\xa0\\x34\\x21\\x17\\xfc\\xdb\\x54\\x29\\xb3\\x5c\\x2a\\xb7\\x5f\\x18\\xd5\\x94\\x8e\\x83\\xd5\\x0c\\x68\\xe8\\x24\\xe4\\xb4\\x4f\\x94\\xbf\\x8e\\x83\\xd2\\x3c\\x76\\x64\\x77\\xbf\\xda\\x08\\x6b\\xf1\\x82\\xc8\\xef\\x4a\\xf1\\x33\\x9f\\xff\\x84\\x65\\x94\\xa5\\x1a\\x0f\\x4a\\x40\\x99\\x49\\x9d\\x8d\\x6b\\x3a\\x7b\\x33\\x51\\x86\\x65\\xad\\x84\\x9f\\xf3\\x07\\x82\\x48\\x99\\x08\\x1b\\xe0\\x28\\x9b\\xcd\\x6c\\x45\\xaa\\xc4\\x3a\\x18\\x02\\x17\\xcf\\xe6\\x99\\xe4\\xd4\\x9e\\x95\\xe2\\xba\\x59\\x75\\x73\\xab\\x91\\x53\\xce\\x7d\\xc8\\xe5\\x9e\\x72\\xfd\\x63\\x24\\xb1\\xce\\x84\\xb8\\xe4\\x3a\\x2f\\xbe\\xaa\\xb8\\x2a\\x6a\\x60\\xff\\xe0\\x92\\xb9\\xed\\x69\\xe5\\x76\\x61\\xd2\\x24\\x27\\x18\\x74\\x1e\\xbd\\xac\\x50\\x13\\xb5\\xff\\x9f\\xfb\\xd7\\x6d\\x17\\xb5\\xda\\xaf\\xfd\\xcc\\x7e\\xdc\\xcf\\xd4\\x60\\xd0\\xb1\\x14\\x4d\\x1a\\x09\\x9b\\xd5\\x4c\\x9b\\x00\\x20\\x49\\xc9\\x68\\x82\\xf1\\xa2\\xcd\\x46\\x11\\x56\\x9d\\xce\\x6c\\x20\\x44\\xc6\\xc0\\x73\\x22\\xc3\\x73\\x1c\\xcf\\x88\\x34\\x30\\x89\\x80\\x40\\x8c\\x5a\\x2a\\x0d\\x94\\x5a\\x5e\\x5a\\x04\\xab\\x90\\x63\\x43\\xc6\\x9c\\xbb\\x38\\xf3\\xcc\\xa1\\xcb\\x67\\x5d\\x4c\\x07\\xff\\xa3\\x90\\xa3\\x2a\\xa7\\x63\\x69\\xe8\\x08\\x71\\x3b\\x95\\x3f\\x3c\\xd9\\xf8\\xd4\\x9a\\x27\\xd3\\x4f\\x7e\\x71\\x21\\xb0\\x3c\\x91\\x7e\\x72\\xcd\\x13\\x8d\\xd4\\x35\\xe0\\xab\\xd1\\xf7\\xbb\\x57\\x77\\xbf\\x3e\\x65\\x65\\xb7\\x12\\x22\\xd9\\xee\\x95\\xdd\\xaf\\x75\\xaf\\x26\\xc0\\x18\\x4d\\xfb\\xc0\\x8b\\xcc\\x4d\\x84\\x44\\xe8\\x8f\\x10\\x06\\x22\\x09\\x57\\x88\\x92\\xf3\\x90\\xa9\\xa1\\x58\\x1e\\x61\\x54\\x20\\x7b\\x6a\\xeb\\x7b\\xa6\\xa7\\xc1\\x69\\xe4\\xd4\\xda\\xda\\x9e\\xa9\\xcd\\xf4\\xfd\\x62\\xaa\\x77\\x5a\\x6d\\xe3\\x64\\xa9\\xae\\xb7\\xa7\\xbe\\xa1\\x47\\xc5\\x98\\x60\\xe8\\x61\\xf0\\x33\\x66\\x1b\\x5c\\x83\\x96\\x47\\x45\\x8e\\xb3\\x73\\x06\\x64\\x1e\\x5c\\x59\\x8e\\xb3\\x12\\x56\\xea\\xca\\xac\\x75\\x07\\x71\\x25\\x41\\xf2\\x30\\x76\\x7c\\x88\\x78\\x1d\\x7a\\xe2\\x44\\x72\\xd1\\xfa\\x63\\x45\\xa8\\x87\\x58\\x44\\xda\\xcd\\x4b\\x02\\x34\\xa6\\xeb\\xb5\\x03\\x0a\\x6c\\xb0\\x64\\x9a\\x3d\\xb5\\xb3\\xd6\\xee\\x59\\xb4\\x72\\xf1\\xd9\\xed\\xa7\\x54\\x9e\\xb9\\x96\\xa6\\x87\\xa7\\xb4\\x88\\x89\\xce\\xcb\\xc1\\xb4\\x58\\xf0\\xf2\\xab\\xd5\\x3a\\x8f\\xd9\\x34\\x01\\x36\\xb3\\x34\\x61\\x25\\x9c\\x19\\xce\\xaa\\xd7\\x5b\\x48\\x52\\x60\\xe0\\xa7\\x1c\\xcb\\x71\\xb5\\xc1\\xd7\\x97\\xe5\\x48\\x5d\\xd5\\xae\\x52\\x19\\x9c\\xa6\\x7c\\x39\\xbb\\x73\\xf2\\x69\\xe1\\xf2\\x78\\x70\\x0b\\x4d\\x1c\\x78\\x7a\\x60\\x59\\x77\\x6b\\x59\\x35\\xcf\\x47\\xbc\\x5d\\x73\\x50\\xee\\x94\\x6e\\x02\\x0f\\x31\\x5f\\x10\\x36\\xf4\\x4e\\x93\\x0e\\x9a\\x47\\x4a\\xe4\\xa9\\xdc\\x3b\\xf3\\x1d\\xaa\\xf8\\x22\\x23\\x7f\\x44\\x3c\\xf4\\xc2\\xa3\\xe6\\xec\\x6c\\x4f\\xc8\\x33\\xbd\\xb7\\x73\\x06\\xb3\\x69\\xdb\\x3d\\xc1\\x1e\\x47\\x47\\x42\\x0a\\x04\\xcb\\x3c\\xf5\\x6d\\x53\\xd1\\x58\\x47\\x77\\xd1\\x4b\\xc9\\x3a\\xe6\\x62\\x38\\xd6\\xd6\\x4c\\xc4\\x48\\x51\\x36\\x93\\x71\\x79\\xd6\\x64\\x62\\x29\\x96\\x18\\xc8\\xf2\\x6c\\x80\\x25\\xd9\\x1d\\xd4\\x95\\x2a\\x46\\xec\\x43\\x14\\x45\\xa1\\xb5\\x7a\\x61\\xd1\\xb8\\xc5\\xa2\\xc2\\x79\\x42\\x17\\x1d\\x8a\\x2a\\xff\\xf0\\xbd\\xe4\\x73\\x91\\x5f\\x3c\\x36\\xfc\\xd4\\x33\\x2f\\xac\\x74\\xfc\\xec\\x1f\\x17\\xed\\x63\\xca\\x7e\\x74\\xcb\\xee\\xfa\\xf6\\xfa\\xad\\x8b\\x53\\x95\\x68\\x8d\\xf4\\xc7\\x13\\xca\\x61\\xea\\x4d\\xe6\\x08\\xf4\\xdf\\x51\\xc7\\x6b\\x9a\\xe8\\x21\\x4e\\x21\\x96\\x10\\xeb\\x88\\x3b\\x32\\x03\\x8b\\x07\\x07\\xe7\\x4d\\x77\\x1a\\x0c\\x02\\x5d\\x13\\x0c\\x36\\x94\\x97\\xd3\\xd3\\xa9\\x33\\xda\\x27\\x4f\\x5e\\x7b\\xc6\\x19\\xeb\\x67\\xc7\\x82\\xd3\\xa7\\xcf\\xf2\\xf6\\xf6\\x46\\x66\\x9d\\x39\\xa5\\xfd\\x8c\\x33\\x56\\x35\\x2f\\x5d\\xda\\xb5\\x6a\\xb8\\xb1\\x66\\xde\\xbc\\x05\\x95\\x73\\xe6\\xd4\\x2d\\x98\\xb5\\x6a\\xc1\\x82\\x55\\xb3\\x28\\xa3\\xe4\\x12\\x04\\x8b\\x04\\x63\\x47\\xda\\x08\\xf5\\x09\\xda\\x74\\xfc\\x9b\\x4d\\xd5\\x6c\\x4d\\xa5\\x93\\xa9\\x7c\\x95\\xfe\\xf8\\x47\\x4d\\x4e\\x82\\x5c\\x82\\xef\\x82\\xe7\\x2a\\x85\\x59\\x29\\xa2\\xca\\x2e\\xd2\\x50\\x4e\\x95\\x7c\\x05\\xbe\\xe6\\xdf\\xc4\\x6f\\xfd\\x9d\\xa5\\x5f\\xa5\\xfa\\x06\\xcf\\x9b\\x33\\xe7\\xbc\\xc1\\xde\\xc6\\xfc\\x13\\x39\\x67\\x82\\xbf\\x9c\\x99\\x7f\\xfa\\xb2\\xb9\\xb1\\x57\\x7d\\xec\\x4b\\xe5\\x9f\\x8e\\xe6\\x9f\\xde\\xec\\x4b\\xcd\\x39\\xef\\xbc\\x39\\xb5\\x33\\xd8\\xa6\\xdc\\xd3\\x97\\x6f\\xe4\\x9e\\xe8\\x58\\xee\\x49\\xd1\\xe7\\x9e\\x46\\x7f\\x36\\x33\\x89\\x9e\\x52\\x7d\\x74\\x2c\\xf7\\xa4\\xe8\\x73\\x4f\\x50\\x96\\xb5\\xca\\x72\\xea\\x0d\\xac\\xef\\x21\\xa2\\x9e\\x98\\x42\\x9c\\x46\\xac\\x21\\x76\\x10\\xd7\\xa2\\x1b\\xaa\\x9d\\x97\\xac\\x1a\\x59\\xe0\\x95\\x25\\x1b\\x4b\\x11\\x84\\x71\\xea\\xa9\\xe7\\xad\\x5d\\xbb\\x7e\\xfd\\xa9\\x46\\xdb\\x82\\x4b\\xd8\\xa6\\xda\\x68\\x74\\x52\\x53\\xd3\\x75\\xd3\\xba\\xbb\\x2f\\xba\\xba\\xbc\\x3a\\x1c\\x86\\xbe\\xc0\\xf6\\x75\\xf3\\x16\\x5d\\xdd\\xb4\\x6e\\xd1\\xa2\\x75\\x4d\\x57\\xd3\\x54\\xc0\\x6e\\x41\\x1a\\x9e\\x3c\\xa6\\x19\\x24\\xeb\\x31\\xeb\\xab\\xd6\\x63\\x50\\x90\\xaf\\xd6\\x43\\xa7\\xb2\\xb0\\x9d\\x8a\\xfc\\x4a\\xb5\\xf1\\x22\\x27\\x2b\\x44\\x82\\xd0\\x58\\x74\\xa2\\x52\\x0d\\x4d\\x69\\x89\\x95\\xec\\x88\\x62\\x00\\xe3\\x15\\xc3\\x4d\\x1d\\x29\\x2f\\x5c\\x03\\xa2\\x73\\x3c\\xa5\\xdd\\x10\\xa2\\xad\\x89\\x5b\\x37\\x74\\x31\\x8d\\xd1\\x47\\xfd\\x1e\\x1c\\xc2\\xa4\\x65\\xed\\x4e\\x41\\xfd\\xbe\\x28\\x7a\\xbb\\x0a\\x42\\x0f\\xff\\x5a\\x7b\\xb7\\x1d\\x17\\xe1\\x6b\\xa5\\x87\\xea\\xe7\\x9f\\xbd\\x7c\\xdb\\xf9\\xe1\\xca\\x70\\x3a\\x91\\x9a\\xf4\\x61\\xe1\\x91\\x9a\\x37\\x6f\\x4d\\xb4\\xab\\xac\\x51\\x76\\x48\\xa1\\x70\\x79\\xd5\\xac\\x2f\\x57\\x97\\x7e\\x4d\\x7f\\xb7\\x73\\x45\\x5b\\x75\\x99\\xc3\\x61\\xaf\\x76\\xfa\\x6b\\xa6\\x1c\\x6f\\x2b\\xf9\\x92\\x5a\\xb4\\xb1\\x7b\\xda\\x59\\x55\\xbd\\x31\\x7b\\x40\\xac\\x0e\\x56\\x4c\\x3e\\xfe\\x7e\\xe1\\xeb\\xa4\\xbf\\x62\\xf2\\xd1\\xd2\\x97\\x31\\x07\\x4a\\xbf\\x1e\\xfd\\xd1\\x84\\x63\\x52\\x3e\\x28\\x7d\\x2b\\x15\\x2e\\xfd\\x7a\\xe5\\x49\\x87\\x14\\xa8\\x9e\\x82\\xf2\\x41\\xff\\x52\\x66\\x22\\x3c\\x36\\x5c\\x0f\\x74\\x73\\x26\\x1a\\x0f\\x57\\x54\\xf8\\x78\\x07\\x27\\x49\\x06\\x83\\x95\\xd7\\xcb\\x3a\\x9d\\xd3\\xe9\\x43\\xc0\\x63\\x84\\x8f\\xf7\\x25\\xaa\\xe2\\xf1\\x50\\x34\\xea\\x47\\x5c\\x3f\\xd1\\x6c\\x54\\xc8\\xe8\\x65\\xd9\\xed\\x16\\x7c\\x4e\\xc9\\x2a\\x58\\x87\\xb3\\x02\\x85\\x8a\\xf1\\x79\\x04\\x5a\\xe2\\xe0\\x38\\xc6\\x2c\\x50\\xf8\\xfa\\x4e\\xf3\\xa0\\x53\\xf9\\xd2\\x49\\x4d\\x01\\xd0\\x35\\x3b\\xf6\\xdd\\x0a\\x1c\\xf1\\xc5\\x77\\x7a\\xa9\\x42\\x3f\\x2e\\xbe\\xc3\\x44\\xf5\\x51\\x1a\\x10\\x5d\\x68\\x3c\\x48\\x1d\\x50\\xcb\\x93\\xd5\\x56\\x66\\xfa\\xa3\\xe7\\x95\\x5f\\x6e\\xdf\\xaa\\xec\\xc9\\xc1\\xd2\\x8d\\x5e\\x38\\x01\\x70\\x9d\\x92\\xe9\\xdd\\xd6\\x3b\\x34\\xf8\\xe2\\xb6\\x5d\\x77\\xd7\\x7c\\x1a\\x5a\\xee\\x57\\x58\\x70\\x34\\x0f\\x55\\x77\\x02\\x90\\x1d\\x98\\xb3\\xe2\\x82\\xe8\\x03\\xd7\\x6c\\xb9\\xbc\\xe2\\x61\\x5c\\xeb\\xb8\\x92\\x0e\\x31\\x2f\\xc0\\xf8\\xbc\\x82\\xd8\\x92\\xe9\\xa4\\x8d\\x06\\x83\\x3d\\x58\\x6e\\x36\\x47\\x82\\x0e\\x97\\x4b\\x92\\xec\\x1e\\x41\\x14\\xed\\x41\\x7b\\xbc\\xd2\\x68\\xa4\\x74\\x3a\\x62\\x30\\xab\\x8b\\x66\\xa2\\x91\\xfe\\x6c\\x94\\x17\\x3c\\x1e\\xde\\xc7\\xcf\\xce\\x3a\\x7d\\x0e\\xb7\\xd4\\x9f\\x75\\x4b\\x62\\xae\\xf2\\xf1\\xc5\\x42\\x39\\xd5\\x44\\x0b\\x53\\x92\\xbc\\xc9\\x5f\\x3f\\x15\\xcd\\x9a\\xca\\x17\\x45\\x9e\\xd8\\x21\\x48\\x3e\\x5a\\x3c\\xd7\\x0f\\xf3\\xed\\x82\\x67\\x9c\\xd0\\x2d\\x48\\x7f\\x90\\x9f\\xe7\\x57\\x5f\\xe4\\x3a\\x07\\x95\\xf2\\x13\\x1a\\x07\\x0b\\x18\\x36\\x76\\x5c\\xef\\xe9\\x95\\x18\\x1a\\x40\\x25\\x71\\x38\\x44\\xab\\xdd\\xce\\xbb\\x39\\x1e\\x3a\\x5e\\x8c\\x34\\x92\\xa5\\x6d\\x82\\x0d\\xa9\\x8b\\x3d\\x0b\\x04\\x06\\xfe\\x32\\xdb\\x29\\xb3\\x23\\x07\\x6c\\xa3\\x21\\x8e\\x62\\xd8\\x5e\\x0d\\xb3\\xb7\\x08\\x25\\x41\\x73\\xdf\\xe1\\x3c\\x11\\xc2\\x7d\\x49\\xb9\\x5c\\x3a\\x55\\xa8\\x94\\x23\\xff\\xc7\\xf9\\x81\\xf4\\x61\\x6b\\x71\\x79\\xdc\\xa1\\xfb\\xa5\\xfb\\x9d\\x0f\\xa9\\x85\\x71\\x4c\\xc7\\xee\\x2d\\xca\\x63\\x5a\\x45\\xdc\\xbb\\x5b\\x76\\x8f\\xf6\\xe5\\x71\\x78\\x88\\x25\\xb8\\xcf\\x62\\x3f\\x74\\x65\\x30\\x46\\xbf\\xcd\\x22\\x08\\x46\\xd6\\x29\\xdb\\x69\\x14\\x5d\\x1a\\x49\\x9f\\xd1\\x17\\x29\\x73\\xd3\\xfd\\x59\\x99\\xb7\\xf2\\xe8\\x5e\\xc5\\x0d\\x7f\\x05\\x85\\x20\\x3c\\x70\\x83\\x0e\\x81\\x20\\xba\\xba\\xc6\\x95\\xfe\\x15\\x5f\\x72\\xe6\\x6a\\x80\\x51\\x8b\\x2b\\x6e\\x70\\x45\\x16\\x27\\xda\\x90\\xc6\\x83\\x0f\\xe1\\x19\\x15\\xe1\\xb1\\xff\\x71\\xc7\\x35\\xa1\\x76\\x7b\\xaf\\xf2\\xb8\\x7f\\xe5\\x39\\xc2\\x39\\xe5\\x80\\x2d\\xdf\\x2f\\xec\\x1f\\xe9\\xef\\xbe\\xef\\xe0\\x3b\\xaf\\x1c\\xf9\\xfe\\xac\\x0f\\x5e\\x30\\x0d\\x2e\\x3b\\x6b\\xd3\\xaf\\xfb\\x0e\\x92\\x4d\\x2b\\xdf\\x7e\\x7b\\xe5\\xe8\\xdf\\x0c\\x7b\\x2e\\xbc\\xfb\\x7f\\xee\\x84\\x72\\xd0\\x30\\xf4\\xa0\\x4f\\x16\\x26\\xb6\\x65\\x26\\xc9\\xa1\\x30\\xe5\\x77\\xb9\\x44\\xab\\x8d\\x32\\x13\\xe6\\x32\\x3f\\xe1\\xf3\\x01\\xa0\\x63\\xd9\\x48\\x99\\x1c\\x0a\\xf9\\xad\\xa2\\x48\\x08\\x02\\xf4\\x8f\\x11\\xbd\\xae\\xdf\\x4f\\x73\\x9c\\x6f\\x24\\x8b\\x30\\x6d\\x39\\x0a\\xa8\\x90\\xb6\\xc2\\x78\\x90\\x21\\x8d\\x43\\x35\\x99\\xdf\\x9d\\x39\\x32\\x59\\xad\\xb2\\x5b\\x6e\\xa9\\xd7\\x68\\xae\\x0a\\xb9\\x58\\x24\\x29\\x16\\xf9\\x9a\\x6c\\x44\\x94\\x91\\x90\\x70\\xb5\\x63\\x3a\\x46\\x06\\x67\\xfe\\xda\\x38\\xba\\xc0\\x78\\xd7\\x4f\\x0f\\x9a\\x48\\x51\\x01\\xcc\\x86\\x4d\\x4b\\x06\\xb6\\xae\\xda\\xbd\\x69\\x49\\xcf\\xc6\\x73\\x7b\\x56\\x0d\\xac\\x9c\\xb9\\x84\\xb4\\x28\\x73\\x73\\x00\\x8a\\x47\\x1f\\xbe\\xe8\\xa5\\xd6\\x4d\\xbd\\xd7\\xfb\\xc0\\xa9\\x1b\\xe7\\x5f\\x7e\\xfe\\x85\\xa3\\x0f\\x56\\x6d\\xc2\\x39\\x6c\\xad\\xff\\x19\\x7a\\x24\\x55\\xc4\\x45\\x99\\x9e\\xaa\\x84\\x8f\\x0a\\x96\\x07\\xa1\\x0b\\x0d\\x0d\\x10\\x51\\x5d\\x53\\x6e\\x30\\xcb\\xd1\\x28\\xc2\\x50\\x16\\xaa\\xa3\\xb2\\x1c\\x71\\x45\\x66\\x67\\x5d\\x56\\x49\\xec\\xcf\\x4a\\x3c\\xae\\xed\\xf6\\xf8\\x12\\x89\\xb8\\xd7\\x1b\\xd7\\xc7\\x07\\xb2\\x14\\xcb\\xea\\x19\\x46\\x8f\\x4b\\xfe\\x6d\\x9a\\xa9\\x52\\x67\\xdb\\x55\\xc2\\x8f\\x5d\\xe0\\xef\\xcd\\x99\\xa5\\xa2\\xa9\\xdb\\x49\\x75\\xb6\\x61\\xc4\\x1b\\x9b\\x5f\\x06\\x5c\\xe7\\x08\\xe4\\x1c\\xf6\\x08\\x85\\x2f\\xeb\\x63\\xd4\\x8f\\x2e\\x3c\\xf3\\xf4\\xfe\\xf5\\x73\\x97\\xce\\xed\\x61\\x74\\x15\\x77\\x98\\x46\\xff\\x64\\x5a\\xf9\\xd6\\x32\\x13\\xc8\\xb2\\xdb\\xaf\\xd8\\x78\\x85\\x32\\x65\\x71\\x65\\x4d\\x47\\x7d\\xf7\\xf2\\xa5\\xce\\x29\\xae\\xd6\\xfa\\x35\\xe4\\x79\\x47\\x94\\x37\\x87\\xb6\\x74\\x5f\\x1a\\x0b\\xb5\\xa6\\xbe\\x72\\xc2\\x80\\x82\\x7e\\xd8\\xd5\\xbe\\xf7\\xee\\xa3\\x4a\\xdd\\x39\\x33\\x5e\\x5a\\xb9\\x6a\\xf3\\x25\\xa3\\x6f\\x3b\\x9d\\xd5\\x17\\xa9\\x35\\x8e\\x50\\x17\\xfa\\xd9\\xab\\xa0\\xaf\\xd6\\x96\\xf1\\xc3\\x08\\x82\\xa6\\x28\\x0b\\xc7\\xb3\\xc6\\x91\\xac\\x5e\\xcf\\xb2\\x34\\x02\\xc1\\x35\\x51\\x80\\x1a\\x86\\x7b\\xb1\\xa4\\x76\\x31\\x59\\x84\\x32\\xa0\\xd6\\xb1\\xe0\\xee\\xfb\\x14\\x05\\xad\\x09\\xb9\\x67\\x74\\x15\\x4a\\x95\\x5b\\xc8\\xcc\\xcf\\x87\\xdb\\x95\\xbd\\x2f\\x3d\\xab\\xe2\\x91\\x81\\x53\\x94\\x29\\x5f\\x5d\\xe5\\xce\\x73\\x58\\x95\\xd1\\x4f\\x11\\x1c\\x51\\x9f\\x71\\xea\\xf4\\x7a\\x82\\xe3\\x0c\\x8c\\x91\\x93\\x48\\xdd\\x40\\x96\\xa6\\x27\\xe8\\xa7\\x29\\xfe\\xb8\\xfc\\x47\\x45\\x5e\\xde\\x6c\\x02\\xcf\\x7c\\x6f\\x38\\xad\\xbc\\x72\\xdd\\xdf\\x51\\xcb\\x0c\\xe0\\x95\\xbd\\xc7\\x9f\\x42\\x38\\xb0\\x2a\\x06\\x30\\xe1\\x24\\x4e\\xcf\\x78\\xec\\x94\\xd1\\xe8\\x76\\x40\\xd9\\xca\\xb2\\x8e\\xd6\\xeb\\x29\\xca\\xe5\\x36\\xe8\\xe1\\x89\\xc3\\xb0\\x0c\\x32\\x34\\x8e\\xac\\xc8\\x9a\\x59\\x33\\x80\\x6e\\xe9\\x48\\xd6\\x40\\xc9\\x27\\xcc\\x57\\xdb\\xb1\\x85\\x0d\\x5b\\x82\\x1e\\x82\\x91\\x9a\\x73\\x46\\x46\\xed\\xee\\xa1\\x70\\xb5\\x6e\\x48\\x87\\x16\\xe3\\x22\\xb4\\x18\\x4b\\x1e\\x90\\xbe\\x37\\xf4\\x5d\\x0b\\xcd\\xa4\\x4f\\x11\\x83\\xc7\\x96\\x67\\x67\\x83\\x85\\x92\\x72\\xf7\\x12\\xb8\\x30\\x64\\x62\\x0b\\xf8\\x99\\x67\\x9a\\xb2\\x06\\x06\\x5b\\x66\\xa5\\x71\\xcb\\xe8\\x9b\\xee\\x62\\x9c\\x9b\\x18\\x42\\x2c\\x0e\\x73\\x76\\xca\\x4d\\xbb\\x5c\\x32\\xeb\\x64\\x18\\xda\\xcb\\xc3\\xb9\\x39\\xed\\x74\\x45\\x3c\\x1a\\x18\\xcc\\xba\\x65\\x8a\\xa5\\x5d\\x0c\\xfc\\x65\\x8b\\x5a\\x6d\\xa6\\xc1\\xac\\x4d\\xbb\\xc5\\xc5\\x26\\x12\\x83\\xf9\\x16\\x40\\xbb\\x51\\x3d\\x92\\x56\\x81\\xa4\\xc6\\x14\\x50\\x05\\x4f\\x00\\xbe\\x81\\xa1\\x5e\\x53\\x29\\xf4\\xcd\\x79\\x9b\\xcf\\x19\\xb8\\xb4\\x2e\\x91\\x47\\xbf\\xd9\\x74\\xeb\\xd2\\x81\\x73\\xba\\x8a\\xf1\\x6f\\x96\\x5e\\x5c\\xb7\\xa7\\xfb\\x4e\\xe7\\xe0\\x14\\x0d\\x02\\xe7\\x8c\\x2d\\x1d\\x1b\\xbb\\x2f\\x6b\\x38\\x3d\\x07\\x82\\xa3\\x62\\xf3\\x2a\\x3d\\xcc\\x6e\\x8c\\x59\\x7e\\x66\\xc6\\xc7\\xc7\\x2c\\x96\\x8a\\x0a\\x37\\x0d\\xe3\\x0b\\x3b\\x65\\xaf\\x4c\\xc8\\x81\\x91\\xac\\x47\\xf6\\xc6\\x78\\x3e\\x6a\\x8b\\x22\\xa9\\xb8\\xb2\\x36\\x1b\\x60\\x59\\x0b\\xd4\\x44\\x4d\\x11\\x2b\\x26\\x50\\xc4\\x12\\xca\\xb9\\xd2\\xf2\\xd9\\x92\\x2a\\xab\\x62\\xb9\\x34\\xa5\\x82\\x30\\x6c\\xc6\\xe4\\x3c\\x62\\x4a\\x57\\xe0\\x9d\\xcb\\x09\\xeb\\xe5\\x22\\x41\\xf5\\x7c\\xe7\\x72\\x40\\x03\\xbd\\xb2\\x42\\xb9\\x62\\xf6\\x0d\\x6b\\xab\\x16\\xd3\\x83\\x97\\xbc\\xfd\\xd9\\x15\\x77\\xac\\xd9\\xb8\\x5e\\x53\\x6a\\x4d\\x70\\xdb\\xaa\\x95\\x7f\\x29\\x7f\\x50\\xae\\x50\\x96\\x7b\\x2b\\x80\\xf5\\xca\\xf9\\x60\\x2d\\x48\\x7f\\xf4\\x46\\x70\\x74\\xab\\x86\\xf7\\xd8\\xa8\\xf4\\x52\\xbf\\xa2\\x0e\\x11\\x11\\x62\\x38\\x53\\x17\\xb6\\x87\\x42\\x92\\x24\\xeb\\x1d\\x6e\\x2b\\xe5\\xa0\\xca\\xa2\\xf6\\x70\\x58\\x20\\x84\\x81\\x2c\\xa2\\x6d\\x76\\x85\\x06\\xb2\\x1e\\x17\\xea\\xfc\\x77\\xf1\\x0e\\x89\\x35\\x0f\\x64\\x39\\xd6\\xab\\x51\\xc9\\x9e\\x38\\xe3\\x09\\x66\\x8b\\x52\\xda\\x68\\x72\\x1a\\x94\\x6b\\x53\\xa3\\x35\\x14\\x46\\xc4\\xd4\\x05\\xdc\\x6d\\xaa\\x89\\xec\\x7b\\xf6\\x0d\\x78\\xf2\\xfd\\x6e\\xef\\xbe\\xfa\\xa9\\x7c\\xdb\\xdc\\x6b\\x9e\\x50\\x94\\x40\\x77\\xcf\\xdf\\xaf\\xdb\\x6c\\xa2\\x3c\\xf5\\x33\\x2c\\xb6\\xe5\\xc1\\xdb\\xbb\\x56\\x83\\xff\\xb0\\xbf\\x78\\x54\\xf9\\x4a\\xf9\\x43\\x00\\xb8\\xef\\x8f\\xff\\xf9\\x31\\x30\\x59\\xaf\\x6c\\xd1\\xfa\\xd2\\x68\\x5e\\xb9\\x55\\xc4\\x78\\xd4\\xca\\x0c\\x8c\\x47\\x1d\\x87\\xd1\\xdd\\x90\\x89\\x77\\xd8\\x8c\\x56\\xd9\\xe0\\x74\\x72\\x7e\\xca\\xe7\\xa3\\x69\\x8e\\x8c\\xc6\\xe0\\x77\\x95\\x07\\xca\\xa3\\x9c\\xd5\\xc6\\xf0\\x65\\x7c\\x59\\x65\\x22\\xee\\x29\\x0b\\x04\\x7c\\x4e\\x9b\\x43\\x74\\x0c\\x67\\x29\\x83\\xc1\\x2f\\x93\\x46\\x63\\xd4\\x2a\\x5b\\x75\\x21\\xb7\\x48\\x01\\xb3\\x50\\x4e\\xd3\\x3c\\xa7\\xe3\\x86\\xb3\\xba\\xd2\\x3a\\xb2\\x54\\x01\\x8a\\x2f\\xef\\x21\\xa6\\x8a\\xb3\\xd9\\x72\\x4b\\xb1\\xdb\\x33\\x1e\\xab\\x3a\\x14\\xf9\\x56\\x50\\xd5\\x32\\x15\\x61\\xeb\\x1f\\xf9\\xdf\\x62\\x55\\xff\\xea\\xd6\\xe1\\xff\\x0d\\x58\\xb5\\x47\\x21\\xd5\\x3d\\x31\\xa6\\xac\\xc4\\x58\\x4a\\xdd\\xc4\\x2d\\x99\\xc1\\x7a\\x9b\\xd5\\x9a\\x4a\\x59\\x1a\\x79\\xbe\\xa1\\xc9\\x4c\\x18\\xeb\\x42\\x42\\xd2\\x98\\x6c\\xab\\x8c\\xc5\\xe4\\x06\\xb9\\xa7\\x97\\x6d\\x6b\\xeb\\xa9\\x2a\\x1b\\xcc\\x56\\x55\\xb5\\xd4\\x37\\x99\\x9b\\xfa\\xb3\\x36\\xb3\\xb9\\x92\\xaf\\x6c\\x69\\x99\\x34\\x90\\x6d\\x6f\\x8f\\xb7\\x48\\x0d\\x12\\xcf\\x23\\x67\\x52\\xef\\xa3\\xf2\\x10\\x49\\x5a\\x77\\x01\\x6a\\xca\\xec\\x7a\\x51\\x83\\x58\\x29\\xf4\\x63\\xa6\\x9c\\x05\\x64\\xa4\\x96\\x82\\x1b\\x5d\\x50\\xa7\\xbc\\x52\\x7d\\x4b\\x74\\x24\\xe8\\x48\\xfe\\xbf\\x01\\x24\\x6d\\x52\\x3e\\xfc\\x45\\x7b\\xeb\\xff\\x0d\\x48\\xd2\\xe8\\x6f\\xc1\\x8d\\xf6\\x09\\x80\\x92\\x90\\xdd\\x19\\xc2\\x98\\xe0\\xed\\xa8\\xaa\\xd1\\x98\\x4e\\xeb\\x5b\\x5b\\x1b\\xea\\xdc\\x35\\xee\\x98\\xa3\\xa1\\x21\\x50\\x53\\xd3\\xd1\\x19\\x23\\xcd\\xe6\\x8e\\x3a\\x8f\\xdb\\xe3\\x1e\\xce\\x9a\\x3c\\xc0\\x48\\x79\\x3c\\xc6\\x04\\x43\\xc4\\x12\\x89\\xf0\\x70\\x36\\x41\\xa7\\x8d\\x46\\x71\\x38\\x6b\\x31\\x8a\\x44\\x49\\x61\\x41\\x9e\\x1b\\xa1\\x00\\x96\\x54\\xd4\\xe7\\xa7\\xb5\\x20\\xa9\\x37\\x42\\x85\\x60\\x31\\xf6\\xed\\xf1\\xc2\\xb5\\xdf\\x81\\x6f\\xdd\\x20\\x3f\\xb5\\xb3\\x6b\\x5a\\x53\\xcd\\xe3\\xe7\\x7c\\x13\\x7a\\xf8\\x5f\\x7e\\x5d\\xdb\\x7c\\x40\\x19\\x6a\\x3a\\xd5\\x37\\xbb\\xa7\\x79\\xb6\\xc5\\x10\\xfe\\x46\\x24\\xf1\\x23\\x3f\\x77\\xca\\xa7\\xb5\\xad\\xdf\\x83\\xf0\\xa4\\x94\\x21\\x8c\\x27\\xd5\\x4c\\xec\\xc9\\x4c\\x27\\xc2\\x8d\\xe1\\x1a\\x4a\\x66\\x59\\x3b\\xc7\\x05\\x28\\x2a\\xd6\\xd8\\xd8\\xd2\\x5a\\x63\\x71\\xb9\\x5a\\x9a\\x23\\xe1\\x48\\x78\\x20\\x6b\\x8a\\x78\\x23\\x33\\x23\\x0b\\x23\\x6b\\x23\\x8c\\x29\\x12\\xa9\\x97\\xf9\\x1a\\x60\\xa6\\x6a\\x6a\\xea\\xeb\\x2b\\x07\\xb2\\xf5\\x56\\xd9\\x3b\\x90\\x65\\x65\\x87\\xc9\\x06\\xbf\\x11\\xf3\\xcf\\x17\\x71\\x61\\x4f\\x84\\x32\\x95\\x5f\\xb8\\x42\\xb8\\x22\\xe4\\xe1\\xa6\\x74\\x1a\\xe8\\x54\\xf1\\x22\\x7e\\x0b\\xf8\\xa9\\xfb\\x6e\\x81\\x6b\\xb1\\x43\\x5b\\xbc\\x8e\\xfa\\xcb\\x47\\xbe\\x1e\\x8a\\x6a\\xcb\\x6d\\x12\\x5e\\x08\\xbc\\x76\\x4d\\xf3\\xac\\x72\\xcf\\xc4\\xc0\\x54\\x60\\xec\\x9f\\xca\\x0c\\x8c\\x2d\\x8e\\x70\\x6e\\x1b\\x79\\x9a\\x36\\x70\\xa4\\xec\\x82\\xff\\xe0\\x84\\x36\\xcd\\x21\\x73\\x94\\xd7\\xe7\\xf1\\x58\\x29\\x52\\xa6\\x75\\x26\\xde\\xe6\\x40\\x44\\x03\\xc3\\x59\\xd1\\x44\\x39\\x69\\xcd\\xa8\\xa1\\x13\\x2c\\x4f\\x03\\x0b\\xff\\x94\\xb1\\x4f\\x8c\\xad\\x98\\xdc\\x52\\x80\\x97\\xd0\\x94\\x27\\x14\\x01\\xa5\\xac\\xd2\\x45\\x86\\x8a\\x9e\\xb4\\x5d\\x79\\x60\\xea\\xd0\\xc9\\x01\\xc6\\xf7\\x40\\xb3\\x74\\x76\\x9b\\x92\\x3c\\x09\\xc0\\x38\\xb2\\x42\\x80\\xa8\\x84\\xb1\\x69\\x33\\xee\\x03\\xcd\\x66\\x6a\\x72\\xbd\\x1b\\x8c\\x9d\\xa0\\x28\\x5a\\x92\\x2c\\x30\\x2e\\xd5\\x53\\x0e\\x59\\xb4\\x58\\x38\\xd4\\x9e\\x61\\x37\\x33\\x2c\\xad\\xb7\\x1a\\x79\\x89\\x26\\xf5\\x12\\x01\\x8d\\x4a\\xaa\\x98\\xcb\\x76\\x82\\x29\\xa8\\x11\\x0d\\x0a\\x31\\x8b\\xa1\\xb1\\xb0\\xe5\\xa5\\xf5\\x28\\x9e\\xbc\\x69\\x1c\\x36\\x16\\xb8\\x10\\xa3\\x66\\x4d\\x46\\x41\\x24\\xb8\\xa5\\x04\\x1d\\x4b\\x05\\xcd\\x2a\\xc2\\x77\\x0f\\x11\\x37\\x65\\x66\\x05\\xcc\\x16\\x8b\\xdf\\x6f\\xe5\\x79\\x9f\\xcf\\xeb\\x95\\xa1\\xda\\x85\\x54\\x98\\x77\\x0f\\x92\\x08\\xe3\\x08\\x47\\x3c\\x42\\xc0\\x2b\\x07\\x1d\\x21\\xab\\xd9\\x66\\x32\\x85\\xbc\\x94\\xc5\\x0f\\x7f\\x51\\x7a\\x78\\x5a\\x61\\xf0\\x5e\\x51\\x4f\\x39\\x89\\xd2\\xba\\x29\\x5b\\x29\\xf4\\xbb\\x13\\xbb\\x52\\x1a\\xf2\\x3f\\x9c\\xe0\\x04\\x30\\x60\\x42\\x3e\\x47\\x9e\\x2a\\x65\\x46\\x51\\xa5\\x96\\x86\\xae\\x46\\x11\\x2e\\x3c\\xa5\\x83\\x27\\xf2\\x78\\x6c\\xf8\\x05\\x7b\\x93\\x67\\xb9\\x41\\x0a\\x8a\\xef\\x7e\\x28\\xbe\\x18\\x58\\xb2\\xdb\\xa4\\x5c\\xf0\\x5c\\xf0\\xac\\x4e\\x79\\x51\\x11\\x44\\xfc\\xe8\\xbf\\x2f\\x00\\xdc\\x35\\x40\\xc6\\x52\\x3c\\x65\\x34\\x0d\\x1d\\xeb\\x5b\\x1f\\x07\\xcb\\x53\\xd5\\xc5\\x98\\x67\\x6e\\xe2\\x8a\\x4c\\xaf\\x68\\x12\\x04\\xb3\\xec\\x70\\x70\\x46\\x3b\\xba\\x9c\\xe1\\x10\\xa2\\x03\\x05\\x6d\\x1d\\x6f\\xd1\\xd1\\xb4\\x93\\xb4\\x90\\x1e\\xaf\\x6c\\x77\\x8a\\x7a\\x23\\x65\\x24\\x4d\\xa4\\xd3\\x89\\x6b\\xa9\\x4c\\xa2\\x28\\x19\\xe0\\x2f\\x8b\\xdb\\xc6\\xd3\\x3a\\x9d\\x05\\x15\\xbf\\xdb\\x52\\x1a\\x53\\x0e\\x9a\\x64\\xbe\\x6a\\x34\\x57\\xce\\x5e\\xb2\\x14\\x85\\xce\\x4b\\x21\\xc7\\x24\\xa6\\x9e\\x20\\x79\\x78\\xb4\\x48\\x3a\\xa7\\x06\\x5d\\x20\\xa5\\x4b\\x97\\xa0\\xa4\\xdd\\x1c\\x98\\x5f\\x99\\xcd\\x2b\\xc3\\xfc\\xc4\\x7c\\xf9\\x47\\x25\\x58\\x69\\x5d\\x87\\x3f\\x39\\x25\\xa7\\x0f\\x0b\\x3e\\xbd\\xf8\\x05\\x8c\\x97\\x56\\xd0\\x85\\x4b\\x33\\x49\\x96\\x33\\x18\\x98\\xa0\\xc7\\xe3\\x0e\\xd9\\x45\\x2b\\xcd\\x43\\x5f\\x99\\x09\\x78\\xbd\\x92\\x9b\\x71\\x87\\x23\\x01\\xc1\\x2d\\x49\\x3c\\xde\\x8f\\x21\\x7b\\xd0\\x23\\xea\\xf4\\x3a\\xf5\\xa2\\xc1\\x6a\\xf7\\xc0\\xa5\\x91\\x4d\\x94\\x77\\x22\\x35\\x80\\xb6\\x0a\\x9e\\x84\\x85\\x46\\x3d\\xa2\\xd8\\xe9\\x28\\x6a\\xe0\\x15\\x72\\x47\\x68\\xa1\\x7e\\x2e\\x9d\\x03\\x44\\xd7\\x45\\x74\\x13\\xb2\\x02\\xdc\\x70\\x48\\x3a\\xe4\\x53\\xa5\\xef\\xbb\\x45\\xba\\x25\\x4e\\x66\\x4a\\xa5\\xaf\\xfc\\x4a\\x15\\x3d\\x95\\xdd\\x72\\x37\\x12\\xf8\\xdd\\x5b\\xfe\\x4e\\x9a\\x0a\\x92\\x27\\xb7\\x55\\xab\\xfe\\xa5\\x17\\x61\\x32\\x61\\x8c\\xc9\\x4b\\x32\\x3d\\x50\\xa8\\x4e\\xd1\\x06\\x43\\x5b\\x1a\\x1a\\x22\\xa3\\x51\\x30\\x08\\x22\\x6f\\x32\\x31\\x06\\xd1\\xe0\\xf5\\x51\\x92\\x03\\xe5\\xb6\\x1c\\x0e\\x9d\\xdb\\xed\\xec\\xcf\\xba\\x09\\x04\\x57\\xc6\\xf3\\xf0\\xdb\\xad\\x46\\xda\\xa8\\x83\\xb2\\x67\\x74\\x4c\\x7f\\x56\\xc7\\x13\\xe3\\x19\\x6b\\x93\\x45\\xad\\xed\\x27\\x76\\x30\\x63\\xc4\\x18\\x5b\\xfe\\x06\\x03\\xa0\\xdb\\x0a\\x3c\\x63\\x32\\x0f\\x8a\\xa7\\xad\\x06\\xf8\\xec\\xff\\x88\\x1f\\x8d\\x80\\xe1\\xb9\\x46\\x30\\xcf\\xb8\\xf0\\x5f\\xef\\x0f\\x1a\\x95\\x17\\xef\\x5b\\xdb\\xad\\xfc\\xeb\\xa9\\x45\\xe2\\x42\\xff\\x42\\x13\\x38\\x93\\xde\\xbb\\x72\\xf4\\x1d\\x30\\x4f\\x9e\\x3c\\xd9\\xf1\\xe1\\xe8\\xff\\x71\\x4e\\x06\\x3f\\xee\\x55\\x76\\xd1\\xe1\\x95\\xf7\\x63\\xbc\\x39\\x62\\x84\\x20\\x74\\x14\\xc6\\xe6\\xde\\x98\\x69\\x43\\xfb\\xdd\\xea\\x43\\x72\\x36\\xe6\\x37\\xbc\\x3f\\xe0\\x11\\x7c\\x56\\xaf\\x6c\\x95\\x29\\x93\\xc3\\x66\\xe3\\x4d\\x3c\\xdc\\xe3\\x30\\xb8\\xd5\\x8d\\x64\\x4d\\x13\\xee\\x74\\x2c\\xd3\\x12\\xbd\\x1e\\x8f\\xf4\\x57\\xd8\\xe3\\x45\\xc5\\x91\\x39\\x80\\xeb\\x12\\xc9\\x52\\x56\\x55\\xb2\\x2f\\xbd\\x76\\xc7\\xa4\\xa9\\x0b\\x26\\x53\\x7f\\x85\\xfb\\xfa\\x64\\x52\\x55\\x69\\x8d\\xd0\\x96\\x3e\\x51\\xa8\\x30\\x06\\x84\\x71\\xde\\x65\\x18\\xcf\\x68\\x55\\xa6\\x91\\x30\\xcb\\x32\\x34\\xcc\\x16\\xd6\\x22\\x59\\x79\\xa3\\x5e\\x0f\\x58\\x9e\\x75\\xba\\x58\\x80\\x6b\\xbb\\x1c\\x66\\xc2\\x84\\x10\\x1f\\x24\\x87\\xc3\\x8a\\x9a\\xa5\\x71\\x8b\\x34\\x34\\xd1\\xc5\\xe8\\x8e\\x79\\x39\\x8e\\x17\\x5d\\x2a\\x27\\xbc\\x16\\x9c\\xf5\\x2b\\x95\\x99\\xd6\\x65\\x4a\\xca\\xe0\\x74\\x55\\x5e\\x5f\\x7c\\x02\\xe5\\xf5\\xf4\\xe1\\x95\\x9d\\xca\\xbf\\x6e\\x68\\x5e\\xed\\x68\\xeb\\xab\\x27\\xcb\\xc1\\x6f\\xc0\\x79\\x48\\x58\\x63\\x0a\\x03\\x85\\x75\\xcf\\x64\\xe5\\x36\\x6a\\x48\\xb4\\x7e\\x07\\x38\\x35\\x2e\\x0e\\x65\\x06\\xe6\\x29\\xf1\\x11\\xe7\\x64\\x5a\\x04\\xc6\\x66\\x63\\x59\\x93\\xd1\\x43\\x10\\x6e\\xb7\\x4b\\xa4\\x29\\xca\\x6e\\x77\\x19\\x5d\\xfe\\x80\\xcf\\x23\\x30\\x23\\x59\\x41\\xe0\\x2c\\x2e\\xbb\\xca\\x65\\xe1\\xb0\\x50\\x6e\\x96\\x32\\x72\\x46\\x18\\xf4\\x71\\xc2\\x09\\x48\\xdd\\x5a\\x9b\\x34\\x91\\x97\\x54\\x91\\xb7\\x5f\\xda\\x62\\x33\\x9e\\xa0\\xab\\xc0\\xcf\\x43\\x5f\\xab\\xac\\x35\\x1f\\x59\\xac\\x38\\xc7\\xe3\\x26\\xff\\xe9\\x34\\x8d\\xac\\x04\\x3a\\xf6\\xd3\\xdd\\xe3\\x3b\\x93\\xc0\\x3f\\x34\\x34\\x75\\x78\\x80\\x02\\xa2\\x09\\x9e\\x9f\\x08\\x27\\xd0\\x86\\x70\\xef\\xe1\\xa9\\x69\\xb3\\x59\\x2d\\x0c\\x8c\\x61\\x78\\x6b\\xee\\x30\\xb5\\xea\\x45\\x81\\xe7\\x51\\xdb\\xa3\\xd9\\x4c\\xe7\\xbb\\x1c\\x69\\x5b\\x7f\\x96\\x44\\xf0\\x87\\x2f\\x16\\xf7\\x39\\x16\\x4d\\x28\\x55\\xd4\\xfe\\x99\\x0f\\x63\\xf0\\x49\\x5a\\x02\\x82\\x40\\xeb\\xd0\\x29\\xfa\\xd2\\xf4\\x13\\xb0\\x02\\xd5\\x13\\xb4\\x04\\x2c\\x50\\xe3\\x46\\xd1\\x3b\\xa1\\x3c\\x02\\x70\\xff\\x74\\x70\\x5e\\x04\\xd6\\x48\\x91\\x1e\\x83\\xdb\\x6d\\x34\\x4a\\x16\\x3b\\x69\\x0f\\x86\\xcc\\xf6\\x91\\xac\\x99\\xe1\\xbc\\x23\\x59\\x9e\\x83\\xee\\x30\\xc7\\x11\\x8c\\xc6\\x17\\xc3\\x33\\x94\\xcf\\x2d\\x61\\xbe\\x18\\xe7\\x04\\x7c\\x31\\xc5\\xcd\\x68\\x89\\x12\\xaa\\xd8\\xa2\\xae\\xa7\\x48\\xa9\\x24\\x50\\x0d\\x4b\\x22\\x77\\x15\\x88\\x24\\xc5\\x8f\\x93\\x03\\x5d\\x35\\x79\\xa1\\xad\\xef\\xe7\\x3f\\xfe\\xc9\\x41\\xf3\\xe8\\x8e\\x9c\\xb4\\x4a\\x85\\xa1\\x5c\\xf6\\x85\\xf0\\xd5\\xb5\\x48\\x44\\xaa\\xa8\\x08\\x0d\\xbf\\x91\\x99\\x07\\xe5\\xe2\\x80\\x7e\\x7f\\xb7\\x1e\\xa8\\xb8\\x8d\\x1c\\x34\\x7d\\x06\\x83\\x68\\x14\\x28\\x41\\x76\\xea\\xc1\\x40\\x76\\x40\\x3f\\xac\\x27\\x79\\x7d\\x40\\x8f\\x1e\\xd6\\xe9\\x19\\x13\\xa5\\xd7\\x3b\\x58\\x87\\x08\\xf7\\x91\\x64\\x80\\x41\\xb9\\xc1\\xac\\x01\\x39\\x22\\xdc\\x2c\\xcd\\x52\\x4c\\x40\\x5e\\x3c\\xd1\\x44\\x4b\\xe0\\x1c\\xb5\\xd8\\x7b\\x02\\x54\\x47\\xb2\\x11\\xc6\\xdc\\xe1\\x55\\x76\\xe1\\xc2\\xf1\\xe0\\x8e\\x30\\xd2\\xd6\\x1b\\x47\\x25\\x64\\xf6\\xf0\\x3e\\xea\\xd1\\xdf\\x02\\xe5\\x56\\x45\\x5c\\x90\\x89\\xc4\\x2b\\x2b\\x29\\x92\\x0b\\xe9\\xf5\\xe1\\x70\\x85\\x3d\\xe6\\x8d\\xc1\\xd3\\xdc\\x52\\x5d\\x63\\x73\\x8d\\x64\\x25\\x9b\\x37\\x04\\x7d\\x76\\x63\\x00\\x9d\\x6d\\x5e\\x68\\x07\\x08\\x46\\x95\\x1d\\x13\\x1f\\xc9\\x32\\x54\\x65\\x2c\\x8c\\xc5\\x17\\x2d\\x11\\x5f\\xa2\\x14\\x77\\xe0\\x84\\x26\\xdb\\x54\\x71\\xc5\\x74\\x41\\x80\\x27\\xbf\\x4a\\x29\\x92\\x26\\x22\\x25\\x63\\xae\\xb2\\x1c\\x99\\x7a\\xf3\\x95\\x13\\xdd\\xa5\\xac\\xda\\x7c\\xf6\\x7d\\xc6\\xd1\\x8b\\x8d\\x0f\\xbf\\xa4\\x58\\x5f\\xba\\xcf\\x98\\x77\\x54\\xd7\\xd7\\x4d\\x74\\xa5\\x52\\x36\\xba\\x13\\x5b\\xce\\x35\\x5f\\x5d\\xef\\x99\\xa6\\x9e\\x7d\\x35\\x4a\\x2f\\xf3\\x31\\x8c\\x5b\\x6a\\x89\\xf3\\x32\\x9d\\xe5\\x81\\x60\\x30\\x1c\\x4a\\x8a\\x55\\x55\\x76\\xbb\\x5b\\x0f\\x8f\\x00\\xb8\\xfa\\x54\\x5d\\x7d\\xa0\\xbc\\xdc\\x1b\\xf7\\xce\\xce\\xc6\\xad\\xea\\x45\\x8b\\x5c\\x56\\x16\\xee\\xcf\\x96\\xf1\\x21\\x49\\xb6\\xf7\\x67\\xe5\\x71\\x17\\x2d\\xe3\\xf7\\x63\\xf1\\x65\\xcb\\x09\\xeb\\x91\\x9a\\xf0\\xce\\x65\\x3c\\x70\\x07\\xba\\xdc\\xcd\\x87\\x27\\x4d\\xf4\\x42\\xf5\\x02\\xe6\\xb2\\xcb\\xf3\\x17\\x30\\xf1\\x26\\x0d\\xc6\\xa3\\x75\\x57\\xe5\\x6a\\xe5\\xb3\\xeb\\xb2\\x66\\xd0\\xaf\\x3f\\xf5\\x8e\\x55\\xcb\\xce\\x65\\x23\\x6d\\x27\\xde\\xc5\\x90\\xca\\x6b\\x1a\\xa8\\xc7\\xce\\xe5\\xa3\\x0f\\x52\\xb3\\x5d\\x93\\x1f\\x3a\\x73\\xc1\\xea\\x11\\x7b\\xd3\\xcb\\x66\\x94\\xa7\\xe8\\x19\\xfb\\x98\\xb9\\x91\\x99\\x49\\x24\\x61\\xd4\\x9b\\xcd\\x54\\xfb\\xd2\\x61\\x2e\\xda\\x5a\\x5b\\x5b\\x43\\x25\\x12\\x51\\x8b\\xdd\\x62\\xef\\xe8\\xac\\x48\\x0d\\x67\\x2b\\x2a\\x8c\\x82\\xe0\\x46\\xec\\x41\\x74\\x2b\\x11\\x34\\x06\\x87\\xe1\\x1a\\xe0\\x30\\xb7\\x88\\xfd\\xa8\\x98\\x37\\x20\\x3f\\x77\\xf4\\x7b\\x3d\\xca\\x53\\xe4\\xb2\\x49\\xac\\x56\\x93\\x16\\xca\\xdd\\x09\\x20\\x84\\x7e\\x47\\x1b\\x48\\xa3\\x42\\x18\\x42\\x2d\\x0a\\xd5\\xc9\\x62\\x43\\xae\\x14\\x46\\x6e\\x12\\xe8\\x2d\\x5b\\xd7\\x0b\\xed\\x77\\x4d\\xeb\\x3c\\xcb\\xb7\\xf8\\x3b\\xca\\xef\\x95\\x5f\\xfc\\x12\\x5c\\x0d\\xcc\\xcf\\x5d\\x54\\x73\\x2a\\xe3\\x5d\\x53\\xa7\\x7c\\xa1\\xbc\\x74\\x70\\xbf\\xec\\x9d\\x95\\x05\\xba\\xdf\\x3d\\xf8\\xfc\\x43\\x37\\x4a\\xce\\xca\\x58\\xe3\\x92\\x96\\x64\\x6c\\xe9\\xca\\x53\\xaa\\xd2\\xf1\\x94\\x60\\x09\\x82\\x20\\x30\\xfd\\x17\\x6c\\x7c\\xa9\\x7a\\x8c\\xb8\\x4e\\xf2\\x40\\xbd\\xba\\xf7\\xa9\\xdf\\x92\\xc9\\x67\\xb7\\xfd\\x1d\\x38\\x0e\\xdf\\x71\\x44\\x79\\x77\\x1a\\x49\\x2e\\x98\\x3b\\x6f\\xdd\\xf3\\x17\\x66\\x0f\\x44\\x07\\x80\\x1d\\xad\\x8b\\x6f\\xec\\x63\\xea\\x35\\xa8\\x2b\\x09\\xa2\\x11\\xad\\x8b\\xad\\xaa\\xd2\\x2e\\x27\\xeb\\xea\\xa2\\x41\\x9f\\x4f\\xa6\\x38\\x8a\\x6b\\x4a\\xbb\\x53\\x03\\x59\\xb7\\xdb\\x0e\\x8f\\x5a\\xb8\\xf7\\x75\\xd6\\x64\\xd8\\x4e\\xd8\\x07\\xb2\\x95\\x15\\xb8\\x7a\\xba\\xfe\\xdb\\xad\\x4b\\x1e\\x15\\x49\\xab\\xa5\\xc6\\xf5\\x9e\\x68\\x25\\x72\\x75\\x21\\x72\\x4a\\x5b\\xb9\\x18\\x2b\\xa2\\xc5\\xc0\\x6a\\x02\\x5e\\xfd\\xd5\\xaf\\x0e\\x00\\xe1\\xe1\\xfd\\x0f\\x55\\x4d\\xf6\\x4c\\x5f\\x78\\xe0\\x47\\xc3\\xf3\\xab\\x6b\\x1e\\xbc\\xe2\\xcc\\x3d\\x4b\\x06\\xec\\x72\\x5f\\xb7\\xb9\\x76\\x73\\xf3\\xbc\\xca\\x86\\xb8\\xcb\\xb2\\x2c\\x9e\\x68\\xb2\\xbf\\xf2\\xec\\x61\\x60\\xbe\\xba\\xe2\\xb3\\x4b\\x93\\xca\\xdf\\x7e\\x7d\\xe1\\xf5\\x6c\\xec\\xfc\\x49\\x57\\x3d\\xb8\\x7d\\xf5\\xe2\\x43\\x09\\xd2\\xd6\\x06\\x3d\\x20\\x0f\\xe8\\x4a\\xcc\\x77\\xac\\x7c\\x6c\\xe1\\x36\\xb5\\x1e\\x6b\\x08\\xd7\\x63\\x25\\x89\\xf9\\x99\\x64\\xb5\\xd7\\x5b\\x19\\x28\\x0b\\x10\\x4e\\x96\\xad\\xb3\\x12\\x44\\x6d\\x5d\\x38\\x36\\x92\\x0d\\x7b\\xaa\\xbd\\x84\\x13\\x06\\xf1\\x4e\\xa7\\xd7\\x2b\\x0e\\x67\\xbd\\x22\\x0d\\xcf\\x60\\x9d\\x0e\\xe3\\x93\\x8c\\xc3\\x88\\x4e\\x75\\x25\\x8a\\x8b\\x82\\xf3\\xf7\\xf2\\x27\\x25\\x3f\\xb6\\x80\\x09\\x82\\x78\\xb2\\xf7\\x24\\x0c\\xc8\\xa7\\x7d\\x7e\\x71\\x79\\xf2\\xa6\\xad\\x38\\x74\\xef\\x98\\xd9\\xd2\\xf2\\xf3\\x8f\\x48\\x71\\x42\\x0e\\x64\\x5f\\x2d\\xeb\\x3c\\xa5\\xe1\\xec\\xcb\\x61\\xcc\\x7e\\xea\\xac\\x96\\x39\\xc6\\x18\\x90\\x51\\x9d\\x94\\x32\\x84\\x31\\xb2\\xaa\\x10\\x53\\x86\\xb5\\xd2\\xe5\\x8a\\x79\\xe5\\x90\\x97\\x80\\x0e\\x52\\x75\\x4d\\xa0\\x6c\\x20\\x1b\\xf0\\x38\\x44\\x97\\x38\\x98\\xad\\x74\\x39\\x68\\x13\\x34\\x06\\x1c\\xe0\\x68\\x2b\\xd1\\xf5\\xc2\\xa2\\xdc\\x3d\\x85\\xf5\\xc5\\xae\\x44\\x51\\xbb\\x39\\xae\\x13\\xcf\\xcd\\x6e\\x5c\\x41\\x17\\x42\\x12\\x38\\x71\\x6a\\x35\\xc0\\x3f\\xae\\xba\\x4b\\x45\\xbb\\xba\\xe1\\x91\\xf2\\xfa\\xdc\\x95\\xc4\\xf4\\x54\\x6a\\xcd\\x6a\\x30\\xbd\\xa4\\xce\\x0b\\x23\\x5f\\x5d\\x6c\\x97\\x87\\x1a\\xd7\\x5d\\x05\\xe7\\x34\\xaf\\x3f\\x3d\\x97\\x8f\\xfc\\x0f\\x92\\xdf\\xf5\\xca\\x0c\\xc4\\x6b\\x05\\x7d\\xc1\\xa9\\x99\\x88\\x5d\\x96\\x05\\x51\\x84\\xe6\\x9f\\x74\\x1a\\x5d\\x0e\\x8f\\x89\\xe3\\x0c\\x02\\x6d\\xa0\\x51\\xf2\\x42\\xc4\\xb6\\x9d\\x18\\x47\\x3e\\x8c\\xdd\\x59\\x50\\xb0\\x58\\x48\\x58\\xa9\\x22\\x10\\x91\\x1c\\xbe\\x08\\x62\\x2c\\xfc\\xae\\xe9\\xdd\\x97\\x3a\\x9a\\xf7\\xf9\\x11\\x2b\\xe7\\xc0\\xe4\\x79\\x66\\xef\\xf5\\xb5\\x6d\\x2f\\xbd\\xb1\\x7d\\x7b\\x03\\x72\\x57\\x2d\\x2c\\xa2\\xe1\\xbc\\xec\\x0b\\xd6\\xf4\\xd5\\xb5\\x1e\\x85\\x44\\x24\\x85\\x80\\x88\\x29\\x2b\\x99\\x5f\\xe0\\xf5\\xde\\x90\\x69\\x75\\x8b\\x76\\xbb\\x23\\x08\\x83\\x30\\x8b\\x31\\x5e\\x55\\x55\\x51\\x11\\x85\\x0e\\x91\\x51\\x8a\\x4a\\xd1\\xea\\x9a\\x04\\x27\\x8a\\x41\\xb7\\x9b\\xb1\\xfa\\xac\\xb3\\xb3\\x61\\x9f\\xd5\\xe9\\xe8\\xcf\\x3a\\x79\\xa3\\x24\\x11\\x15\\xfd\\x59\\x22\\x87\\xb6\\xda\\x55\\x5c\\x4d\\x8b\\xaf\\x28\\x4b\\xc0\\x41\\x0a\\x95\\x20\\x1a\\xf3\\xbc\\x66\\x64\\x71\\x83\\xe7\\x44\\xf6\\x56\\xd6\\xf6\\x1c\\xce\\x72\\xd3\\x7d\\x67\\x38\\xfa\\x22\\xc3\\x33\\x0c\\xcb\\x94\\xff\\x9c\\xe1\\x98\\x5e\\xbb\\xa5\\x4c\\x33\\xb5\\x7d\\x54\\xdf\\x5d\\xcb\\xb3\\xa7\\x83\\xfd\\x3f\\x9e\\xb7\\xd2\\xbc\\x0c\\xa7\\xb9\\xb1\\x71\\x1d\\xdc\\x96\\x1e\\x7d\\x15\\x3f\\x5d\\x32\\xac\\x9a\\xd9\\x83\\x4b\\x87\\x57\\x2d\\x7a\\x71\\xdd\\x72\\xf3\\xa2\\xd1\\x5f\\xe0\\x3c\\x37\\xae\\x89\\x5c\\x95\\xe7\\xa1\\x6a\\xc7\\x67\\x52\\x5a\\x99\\x49\\x4f\\x81\\xbe\\x87\\x9d\\x38\\x25\\x13\\x87\\x3e\\x20\\x63\\xb6\\xdb\\x09\\x8b\\x28\\xa2\\x6b\\x09\\x46\\x72\\x98\\x29\\x4e\\xb4\\x58\\x74\\x26\\x0e\\x06\\x5f\\x56\\x8e\\x1f\\x5f\\x5b\\x98\\xef\\x83\\x15\\x5a\\xf2\\xc9\\xd3\\xc2\\xaf\\x7c\\x91\\x21\\xa5\\xb5\\x8f\\xa8\\xb7\\x29\\xe0\\xf3\\x65\\x26\\x45\\x30\\xad\\x5e\\xf0\\x83\\x4e\\x13\\x78\\xcf\\x74\\xee\\x35\\xa0\\x79\\xb5\\x09\\xa4\\x4d\\x53\\x95\\xe5\\xca\\x7d\\x98\\x79\\x9e\\x20\\x0f\\xc1\\x3f\\xdd\\xa3\\x7f\\x22\\xdd\\xf0\\x4f\\xfb\\x68\\x56\\x3d\\x3f\\xb5\\xb1\\xc3\\x18\\x72\\x43\\x26\\x6a\\x87\\x7e\\xaa\\xc1\\x62\\xe1\\x08\\x8a\\x96\\xbc\\x5e\\xda\\xe1\\xf1\\xd0\\x28\\xe7\\xeb\\xf7\\x38\\x1c\\xbc\\xdd\\x66\\x87\\x71\\x93\\xd1\\x64\\x44\\x9e\\x85\\x00\\x45\\x66\\x83\\xee\\xad\\xd3\\x46\\xd1\\x25\\xb7\\xf5\\x6a\\xc4\\x2c\\xb4\\x14\\xb5\\x37\\x17\\xb5\\x10\\x14\\xdf\\xcc\\xab\\x73\\xc1\\x69\\x32\\xd5\\x5d\\x48\\x87\\xd2\\xa5\\x73\\xa2\\x0c\\xa0\\x56\\x52\\x5e\\x6f\\x7a\\xc3\\x34\\x5a\\x63\\x7a\\xb7\\x49\\x79\\x59\\x02\\xcd\\xd4\\x5f\\xae\\x41\\x9c\\x61\\x4f\\x3c\\x0c\\xd6\\xde\\x6e\\x06\\x2f\\x99\\xaf\\x55\\x6a\\x48\\xeb\\x16\\xe5\\x35\\x7c\\xf5\\x5e\\xbf\\xc5\\x42\\x3e\\x8d\\x6f\\x49\\x7e\\x49\\x56\\xe1\\x3f\\xb1\\x2f\\x38\\xf6\\x98\\x26\\x0f\\x2f\\xb1\\x2e\\xd3\\x0c\\xe7\\x88\\x99\\xf5\\xc7\\xcf\\x51\\x32\\xda\\xb4\\x69\\x42\\xc5\\xb4\\xf1\\x84\\xc9\\x08\\xcd\\x03\\xd4\\x5e\\x8e\\xd6\\x41\\x0f\\x50\\x57\\x2a\\x9e\\x09\\xa4\\x34\\xe1\\xfc\\xa2\\x5f\\x37\\x3f\\x72\\x2a\\x98\\x27\\x28\\x07\\x3b\\x54\\xc9\\x75\\x28\\x77\\xd9\\xc0\\x88\\xf1\\x44\\xf9\\xad\\x5c\\xa9\\x4a\\x10\\xcc\\x5f\\xd9\\x39\\xa1\\x0c\\xc7\\x8e\\x41\\xfb\\xb0\\x13\\xc7\\x58\\x67\\xc3\\x18\\xcb\\x65\\x73\\xdb\\x68\\x23\\x85\\x62\\x7e\\xca\\x8d\\x23\\x2d\\xd1\\x69\\x70\\xa2\\x18\\xcb\\x29\\x8a\\x26\\x9b\\xc5\\x36\\x9c\\x15\\x5c\\x46\\x9a\\xd6\\x4b\\x30\\xc4\\xa2\\x28\\x03\\xa3\\x87\\x01\\x31\\xd0\\x0b\\x25\\xd5\\xd2\\x39\\x22\\xd0\\x13\\xef\\x3a\\xd4\\x7b\\x9e\\x96\\x62\\xe4\\x0d\\x0d\\x33\\xa2\\x64\\x76\\xf8\\x8a\\x92\\xfa\\xab\\x72\\xae\\xe9\\xde\\x7b\\x95\\x03\\x37\\x98\\x94\\x8c\\xe9\\x26\\xf0\\xea\\x27\\xd7\\x60\\x82\\xbc\\x2b\\x41\\xfb\\x0d\\x88\\x1f\\xef\\x26\\x65\\x04\\x50\\x30\\xc8\\x82\\xb2\\xbb\\x47\\x59\\xa8\\xc2\\x40\\x90\\xc3\\xd8\\x01\\xbc\\x1a\\xac\\xc3\\x7f\\xfa\\x47\\xd7\\xb8\\x73\\xf9\\x92\\x3f\\x2a\\x2b\\x11\\x86\\x36\\x11\\x23\\x4e\\xcd\\x54\\x96\\xc5\\x62\\x52\\xd8\\x1e\\xb1\\x02\\x18\\x29\\x47\\x22\\xae\\x40\\xa0\\x22\\x6e\\x87\\xd1\\xa5\\xc9\\x54\\x21\\x85\\xad\\x80\\x36\\x78\\x6d\\x22\\x1f\\x21\\x88\\x72\\x03\\xbe\\xa7\\xb4\\xa5\\x54\\x76\\xd3\\x7c\\x56\\xbe\\x88\\xd9\\xc0\\x96\\x93\\x16\\x8c\\x7a\\x2d\\xa8\\x3f\\x41\\x17\\xc1\\xb9\\xd0\\x28\\x6e\\x8b\\x2a\\x42\\x9c\\x82\\x93\\x43\\x76\\x84\\xdc\\xf8\\xcc\\xbd\\x65\\x31\\x5b\\xa5\\xe9\\x3d\\xeb\\xa4\\x3e\\xe0\\xfd\\x29\\x8c\\x8d\\x13\\xf7\\x9e\\x51\\x57\\x97\\x36\\xbd\\x29\\xed\\x7d\\xe3\\x0f\\x67\\x20\\xfb\\x01\\x36\\xed\\x0d\\x24\\x42\\x2e\\x3f\\x37\\xc9\\xec\\x8f\\x9c\\xd2\\xfe\\x77\\xb0\\x1b\\x41\\x8e\\x9f\\x5a\\x31\\x29\\xe0\\x33\\x4c\\xb2\\x7a\\x66\\x6c\\x78\\x50\\x99\\x64\\x57\\x0d\\x08\\x20\\x1a\\x60\\x8c\\xfc\\x04\\xbe\\x53\\x5e\\x99\\x69\\x14\\x2d\\x76\\xbb\\x49\\xaf\\x43\\x54\\x63\\xb8\\x8e\\xca\\xa3\\xf3\\x78\\x7d\\x1e\\x87\\xd3\\x01\\x83\\x2e\\x8a\\x37\\x99\\xcc\\xa2\\x4d\\x6f\\xd6\\xc3\\x10\\x8d\\xb2\\x13\\x3a\\x46\\x07\\x3d\\x7b\\xb5\\x6e\\x2a\\x8f\\x32\\xa7\\x35\\xd1\\x97\\x54\\x53\\x17\\x19\\xcf\\x94\\x56\\x1f\\xa5\\xb1\\x0b\\xe7\\xcf\\x80\\xf2\\x58\\x2e\\x36\\x66\\xea\\xa1\\x48\\x6a\\xbe\\x9a\\x63\\x3e\\xf2\\xd2\\xe6\\x76\\x74\\x8b\\xb1\\x13\\x86\\x60\\x53\\x36\\xbc\\x08\\xfe\\xf9\\xd2\\x0a\\x33\\xd9\\x69\\x3e\\xbc\\xcc\\x8d\\xac\\x3f\\xf2\\xc3\\x29\\xb3\\x7a\\x24\\x98\\xa9\\xaf\\x6e\\xa7\\xd7\\xe0\\xb2\\x6a\\x38\\x1f\\xa0\\x61\\x9b\\x87\\x89\\x91\\x4c\\x5d\\x98\\x62\\xd9\\xa0\\xcf\\xcd\\x0b\\x82\\xc5\\x62\\xb6\\x1b\\xe1\\x04\\xdc\\xe6\\x48\\x19\\x11\\x0c\\x86\\x28\\x5f\\xc8\\x37\\x90\\x0d\\xf1\\xb2\\x7e\\x76\\x16\\xf1\\xf3\\xf5\\x67\\x45\\x68\\x54\\x78\\xa2\\x2b\\x39\\xbe\\x94\\x22\\x35\\x41\\x5d\\x93\\xe6\\x7c\\x47\\x92\\xa0\\x08\\x5e\\x5b\\x2d\\x66\\xca\\xc3\\x87\\xab\\xd7\\x17\\x5b\\x66\\x58\\x3a\\x87\\xa4\\x53\\xd2\\x3b\\x2b\\x8a\\xaa\\x98\\x06\\xef\\x5c\\xb6\\xf4\\x6c\\xf3\\x70\\x4f\\xdf\\x8c\\x14\\xb9\\x99\\xbc\\xfc\\x3e\\x83\\xd2\\x7c\\x56\\xcd\\x92\\x4b\\x97\\x14\\x2a\\x98\\x56\\xcc\\xc7\\x25\\x4c\\x82\\xe1\\x3e\\x84\\x66\\x86\\x79\\xfb\\xa0\\x9c\\x10\\x6f\\x5f\\x04\\xc9\\x49\\x72\\x3a\\xad\\x66\\xbd\\x4f\\xa7\\xf3\\xfb\\x23\\x58\\x50\\x11\\x38\\xad\\x68\\xc4\\xaf\\xd6\\xb6\\xf9\\x3c\\x46\\xcf\\x92\\xac\\xde\\x68\\x64\\x82\\x02\\x75\\x82\\x9c\\x8a\\xa0\\x6d\\x72\\xb7\\x19\\x13\\x16\\xb4\\x15\\xc9\\xe9\\x6b\\x39\\xfc\\x5e\\xdf\\xb6\\xbd\\x41\\xd9\\xf2\\xf5\\x2c\\x7e\\x41\\x45\\x07\\x1e\\xfd\\x26\\x22\\x3f\\x40\\x44\\xe0\\x1e\\xfb\\x07\\xb6\\x95\\x4b\\x33\\x75\\x66\\xab\\xd5\\xa0\\x73\\x79\\xbd\\x4e\\xa7\\x2c\\x01\\x54\\xad\\x25\\xeb\\x64\\x74\\x1a\\xf0\\x12\\x00\\x02\\x2d\\xcc\\x46\\xa4\\xb9\\x26\\x93\\xa1\\x3f\\x0b\\xa5\\xe6\\x2c\\x1c\\xe3\\xe3\\xf2\\xf2\\xc9\\x93\\x5c\\xd1\\xa0\\xe3\\xbb\\x14\\xe9\\xbd\\x44\\x8e\\xe4\\xe4\\x52\\xa8\\xf7\\x3c\\x08\\x3c\\xde\\x5f\\xa5\\x60\\xef\\x55\\x39\\x14\\x78\\x75\\x4b\\x15\\x71\\x2c\\x96\\x13\\xbb\\x32\\x93\\x1d\\x2e\\x97\\xcd\\xe2\\x31\\x7a\\xbd\\x06\\xbf\\xde\\xe7\\xe3\\x90\\x83\\x12\\x84\\x47\\x71\\x28\\x44\\x94\\x5b\\xca\\x63\\x15\\xe5\\x21\\x87\\x4d\\x84\\x66\\xd1\\xaf\\x09\\xcd\\x00\\xbf\\xd3\\x68\\xa0\\xa8\\x88\\x78\\x22\\xed\\x62\\xae\\xd2\\xf8\\x04\\xd9\\xa5\\x8a\\x12\\x01\\x13\\x37\\x54\\xa3\\xad\\x96\\x1e\\x27\\x45\\x59\\x4c\\x51\\x4d\\xe3\\xb9\\x18\\xe7\\x8f\\x44\\xcf\\x8a\\xc8\\xc5\\x82\\xdc\\xbf\\xf8\\xac\\xe1\\xa1\\xd3\\x4b\\x09\\x19\\x83\\xd6\\xb7\\x5e\\x2e\\x95\\xe4\\xbd\\x5e\\xd2\\x31\\xfa\\x47\\xc6\\x59\\xc4\\xcb\\x98\\xc7\\xeb\\x0f\\x13\\x5b\\x33\\x5d\\x50\\x8f\\x7d\\x6e\\x56\\x60\\x18\\xe8\\x40\\x4a\\x34\\x0d\\x83\\x64\\xce\\xaa\\x32\\x5b\\xb8\\x8d\\x91\\x32\\x41\\x92\\x64\\xe4\\x29\\xcd\\xce\\xda\\x65\\x9a\\x96\\xed\\x14\\x1f\\x08\\xf8\\xfa\\xb3\\x01\\x4c\\x6a\\xc1\\x4b\\x86\\x02\\xe8\\xa2\\x40\\xc8\\x28\\x2b\\x92\\x1c\\xb7\\x3d\\x0b\\x4b\\x50\\xcc\\xaf\\xa3\\xa2\\xfb\\xb7\\x01\\x38\\xd3\\x3c\\x44\\xbe\\xba\\x16\\xec\\x38\\x94\\x7f\\x7d\\xc7\\xfc\\xa6\\xea\\x99\\x52\\x1e\\xe9\\xbf\\xab\\xd7\\x3b\\xdf\\xde\\x92\\x29\\x41\\xfb\\x07\\x59\\xe5\\xe7\\xa1\\xd3\\x53\\x39\\xc8\\xff\\x53\\x6a\\xef\\x38\\x5b\\x28\\x46\\xfd\\xd7\\xb8\\x28\\x99\\x11\\x28\\xfb\\x20\\xb1\\x28\\x93\\x84\\xb3\\x32\\x1b\\x58\\x37\\xc3\\x78\\x3c\\x44\\xd0\\x10\\x0c\\x87\\x3c\\x82\\x39\\xe8\\x87\\xd1\\xae\\x9b\\x65\\x9d\\x7a\\x27\\x94\\xb7\\x9e\\xb4\\xfa\\x05\\x06\\xc6\\x87\\xc3\\x59\\x92\\x2a\\x76\\x63\\xd4\\xe9\\x4d\\x20\\xe5\\xdc\\xac\\xf2\\xf7\\x20\\x36\\x7b\\x11\\x86\\x52\\xe1\\x0e\\x04\\x9c\\x07\\x25\\x76\\x01\\x94\\xe8\\xf7\\xf7\\x82\\x0b\\x91\\x34\\x47\\x0f\\x17\\x6d\\xcb\\x51\\x28\\x4b\\xfa\\x1d\\x24\\x4c\\xe5\\xf4\\x0e\\xe5\\x70\\xf3\\xa9\\xca\\x8b\\x2a\\xf5\\x3d\\xde\\x93\\x2a\\xf7\\x3d\\xf6\\x2f\\x35\\x6c\\x52\\xe8\\x5f\\xce\\x20\\x34\\xac\\x7b\\xf6\\x59\\x18\\xcf\\x95\\x41\\xaf\\xbb\\x3f\\x13\\xab\\x08\\x87\\x1d\\xbc\\x31\\x41\\xfb\\x8c\\xbe\\xea\\x9a\\xa0\\xd5\\x2c\\x99\\x47\\xb2\\x15\\x92\\xa4\\x73\\xbb\\xa3\\x70\\x96\\x34\\xad\\xd3\\xc1\\x99\\xe9\\xc4\\x89\\x30\\x01\\xc6\\xd5\\x90\\xa0\\xa0\\x1e\\x45\\x6c\\x38\\xa0\\x6f\\x4c\\xe7\\xf3\\xf7\\x69\\x44\\x3d\\x87\\x82\\x7a\\x15\\x61\\x0e\\x84\\x49\\x2a\\xd4\\xd4\\x68\\xa5\\xa9\\x37\\xae\\x6b\\x9d\\xdf\\xf5\\xe5\\x1f\\x95\\x5f\\x2b\\x2f\\x92\\x0f\\x0d\\x4f\\x6f\\xc8\\xc8\\x96\\xee\\xc4\\xc2\\xc0\\xeb\\xa0\\xfb\\x15\\x60\\x07\\x51\\xcf\\x71\\x83\\xe9\\x51\\x10\\xbb\\xe7\\xe3\\x1a\\xf2\\x59\\x69\\xf6\\xe2\\x1f\\x29\\xcf\\x4c\\x01\\x12\\x40\\xb0\\xe2\\x20\\x76\\x93\\xe4\\x03\\x3f\\x05\\xf1\\x5b\\x94\\xbf\\x28\\xff\\x5d\\xb3\\x61\\x76\\xcf\\x43\\x4f\\xd0\\x37\\x28\\xef\\x2a\\x5f\\x5d\\x70\\x3a\\x40\\x58\\x4f\\xde\\xb1\\x8f\\xe9\\x41\\x18\\x57\\x20\\xec\\x45\\x38\\xc7\\x08\\xcb\\x7a\\x25\\xa1\\xdc\\x04\\x83\\x9b\\xaa\\x6a\\x07\\x2d\\x7a\\xc4\\x81\\x6c\\xc4\\xe3\\xe1\\x83\\xc1\\xf8\\x00\\x22\\xfc\\xe2\\x79\\xfd\\x60\\x96\\x77\\x7c\\xab\\x39\\x02\\xd4\\x8d\\x98\\x83\\x82\\x53\\x0d\\x50\\x5a\\x9b\\xa9\\x9c\\xc6\\x25\\xe2\\xf9\\xbc\\x3c\\x3d\\x78\\xf1\\x17\\xb7\\x31\\x8f\\x4e\\xbf\\x20\\x5d\\x35\\xef\\xb5\\xe1\\x23\\x4f\\x92\\x4f\\x4f\\xaf\\xcd\\xb8\\xcc\\x99\\x84\\x14\\x38\\xf0\\xda\\x59\\x7b\\xef\\x1e\\xfd\\xcf\\x96\\x5b\\xe3\\xde\\x9e\\xf3\\xc8\\xcf\\xe7\\xdf\\xb8\\xd4\\x64\\xaf\\xfd\\xb8\\x25\\xda\\x35\\x7d\\xf6\\xc3\\x87\\xda\\x6d\\x40\\xbc\\x52\\x74\\x02\\x70\\xc9\\xdb\\x9b\\xd7\\x29\\xf7\\x99\\x6f\\x38\\xbd\\xb2\\xf2\\x98\\x2a\\x3b\\xe5\\x18\\x96\\x5d\\x0c\\x46\\xe3\\x8b\\x33\\xc9\\x44\\x34\\xea\\x12\\x74\\x7a\\xbd\\x81\\xab\\xa1\\x39\\x04\\x1d\\x59\\x5b\\x17\\x11\\xad\\x4e\\xeb\\x48\\x36\\xe1\\x74\\x1a\\x7c\\xbe\\x0a\\x78\\x94\\x40\\x07\\xd4\\x60\\x80\\x22\\x34\\x88\\x1c\\x91\\x9c\\x08\\x4d\\xb6\\x04\\xe4\\x00\\xc5\\xab\\x1a\\xee\\xa9\\x2a\\x4b\\x54\\xff\\x53\\x46\\x20\\xdc\\xf5\\x6f\\x27\\xce\\x1f\\xff\\x3c\\xb5\\x2b\\xa5\\xfc\\x5b\\xf9\\xc3\\xb7\\x93\\x68\\x93\\x51\\x79\\x1f\\x84\\xcd\\xc0\\xf6\\xf9\\x37\\x8b\\x15\\xc9\\x55\\x39\\x86\\xe5\\x1a\\x25\\x6a\\xd0\\x09\\xc3\\xc3\\xd3\\xd2\\x66\\x23\\xa4\\x72\\x96\\x0d\\x38\\xa5\\xb8\\x09\\x1e\\x21\\xc9\\x5a\\x17\\xed\\xf0\\x3b\\x06\\xb2\\xe5\\x7e\\x3f\\x1f\\x89\\x54\\x41\\x41\\x5b\\x6d\\x42\\xa9\\x84\\x55\\x4a\\xb7\\x93\\xca\\xb8\\x40\\x14\\x3b\\x4e\\xd6\\x68\\x2d\\x10\\xb3\\xe2\\x37\\x8b\\x7b\\xf2\\xf7\\x66\\x37\\xec\\x4a\\x1d\\xb8\\xf9\\xdb\\x48\\xbc\\x79\\xb6\\x49\\x79\\x17\\x44\\xcc\\x47\\x6e\\x3d\\x89\\xdc\\x11\\x6b\\x1a\\xb4\\xc3\\xa7\\xe1\\x18\\xb1\\x0a\\x7f\\x8d\\xb9\\xfc\\x31\\xaf\\xf9\\x4f\\x54\\x3e\\x2b\\x72\\x3b\\xe8\\x47\\x7d\\x74\\xc9\\x7c\\xaf\\x9d\\xca\\xb5\\xc6\\xbc\\x00\\xbf\\xe7\\x8f\\xda\\xf7\\x2c\\x54\\x7b\\xed\\xa6\\xe5\\x7b\\xed\\xc6\\xfe\\xa9\\x74\\x33\\x0f\\x40\\x5b\\x57\\x49\\xec\\xc8\\x64\\x44\\x53\\xbc\\xd2\\x54\\x89\\xf2\\xdf\\x5e\\x96\\x31\\x0b\\x42\\x99\\x83\\x71\\x24\\xaa\\x7c\\x3e\\x17\\xe5\\x0a\\x8d\\x64\\x5d\\xde\\x4a\\xe8\\x1d\\x8b\\x15\\x23\\x59\\x68\\xfe\\xf5\\x82\\xb9\\xc0\\x7d\\x3e\\x31\\xb9\\xb0\\xad\\xf4\\x4e\\x58\\x5b\\xef\\x09\\x32\\x63\\xb6\\xd4\\x09\\x9c\\xbc\\x5a\\x88\\xa3\\x5d\\x8d\\x16\\x5d\\x10\\xd7\\x80\\x08\\xfc\\xfb\\x71\\xa9\\x6f\\xb2\\x62\\xbd\\x19\\xdc\\x6d\\xde\\xa7\\x44\\x95\\x77\\x94\\xcb\\x95\\x2b\\x73\\x37\\xc4\\x6f\\xbd\\x9e\\xde\\xb0\\xa2\\x72\\x5d\\x49\\xfe\\x5b\\x4b\\x96\\xb5\\xd3\\xef\\x7d\\xa6\\x5c\\xa6\\x6c\\xd3\\xae\\x87\\xbb\\x40\\xd7\\x8e\\xbb\\xe7\\x90\\x43\\xf8\\xcc\\xab\\x52\\x7a\\x69\\x02\\x9e\\x79\\x41\\xe4\\xa7\\xe9\\x08\\x97\\x9b\\x70\\x07\\x83\\x1e\\x8f\\x8f\\xf7\\x02\\x96\\x95\\x0d\\x5e\\x43\\x28\\xcc\\x02\\xe0\\x43\\x87\\x1b\\xf4\\x57\\x5d\\x3a\\xd7\\x40\\x56\\xa7\\xf3\\x52\\x01\\xde\\x2b\\x99\\xed\\x03\\x59\\xab\\x39\\x5f\\x73\\x57\\x7a\\x0a\\xd8\\xc6\\xa7\\xce\\x0a\\x93\\xe7\\x4a\\x27\\x5c\\x72\\x17\\xac\\xa2\\x95\\x5e\\x91\\x4b\\xa2\\x29\\xb7\\x9f\\x70\\xfd\\xdb\\x83\\x12\\x6a\\x28\\xf9\\x99\\x4b\\xa6\\x29\\x77\\x8e\\xbf\\xf2\\xad\\x42\\x79\\x35\\x2d\\x17\\xf0\\x14\\x8c\\xf7\\x8e\\xe0\\x1c\\xce\\xf2\\x4c\\x8d\\xd7\\x83\\x28\\x89\\xa1\\x84\\xdd\\x6e\\x9b\\xe8\\x70\\x08\\x82\\xcd\\x16\\xa2\\x82\\x82\\x4b\\x76\\x0d\\x67\\x65\\x41\\xf2\\x68\\xd4\\xf0\\x9e\\x3c\\x35\\xfc\\x23\\x59\\x95\\x16\\xbe\\x88\\x14\\xbe\\x18\\xab\\xa2\\x50\\xb8\\x9d\\xdb\\x43\\x13\\x51\\xc3\\x6b\\xdd\\x15\\x27\\x27\\x87\\x57\\x7e\\xb9\\x7d\\x9b\\x72\\xe7\\xd7\\xf1\\xc3\\x2b\\x40\\x8d\\x21\\x72\\x14\\xf1\\x60\\xec\\x49\\xe8\\x7b\\x22\\xee\\xb3\\x10\\xd1\\x93\\x29\\xf3\\x05\\x83\\x5e\\xaf\\x27\\x04\\x03\\x20\\x4f\\xc4\\x1c\\x0e\\x79\\xfb\\xb3\\x21\\x29\\xe0\\xe1\\x0b\\xf4\\x67\\x2a\\xf5\\x59\\x2e\\x52\\x48\\xe6\\xa9\\xcf\\x8a\\x6e\\x4a\\xbe\\x96\\xfa\\x0c\\x85\\x0a\\x5f\\x4f\\x7e\\x86\\x3d\\xcd\\x9f\\x4e\\x4c\\x7f\\xf6\\x48\\xce\\xd5\\x54\\x73\\x33\\x38\\xc7\\x19\\x25\\xd6\\x65\\x5a\\x3d\\x16\\xb7\\x9b\\xe7\\x25\\xca\\xee\\x35\\xfb\\x7c\\x91\\xb0\\x1d\\x7e\\xb2\\xc7\\x32\\x92\\xe5\\xd5\\xd2\\x32\\x41\\x0e\\xfb\\x54\\xf4\\x9e\\x80\\x4c\\xf1\\x76\\xc1\\x0e\\x83\\x71\\x81\\x80\\xe1\\x1c\\x0d\\x3d\\x6e\\x4d\\x26\\xb6\\xf1\\xfc\\xde\\xa5\\xfc\\x2c\\xa9\\xe2\\x7a\\xcf\\xfc\\xd6\\xea\\x04\\xc2\\x78\\x78\\x33\\xed\\x4f\\x92\\x20\\xbb\\x67\\xee\\x3d\\x17\\x6d\\xa8\\x9d\\x6b\\xf7\\x2f\\x9b\\x5a\\x71\\xf2\\x84\\xe7\\x63\\x6d\\xca\\x21\\xa5\\xc7\\x95\\x40\\x5b\\x6a\\xcd\\x5f\\xc0\\xb5\\xbf\\x9f\\x30\\xf3\\xf9\\x99\\xf2\\x98\\xf2\\x2c\\xce\\xb1\\xc1\\x7d\\x56\\x83\\xeb\\x4d\\xd6\\x67\\x32\\x4e\\x9b\\x2c\\x0b\\x82\\x9d\\x15\\x5d\\xd0\\xa5\\x74\\xbb\\x01\\xd4\\x31\\x8f\\xd7\\xcd\\x3b\\x6d\\x03\\xd9\\x01\\xe7\\xb0\\x93\\xe4\\x9d\\x01\\x27\\x7a\\x58\\xe7\\x64\\x4c\\x94\\xd3\\x09\\x55\\x15\\x43\\x7b\\x8b\\x12\\xba\\x86\\xd5\\xd1\\x45\\x65\\xae\\x85\\xdc\\xda\\x89\\xd9\\xd0\\xc2\\xcc\\x11\\x6c\\x4f\\xbe\\xbe\\x10\\x07\\x0d\\xb9\\x74\\x1b\\x5d\\x73\\x73\\x95\\xa2\\xfc\\xe3\\x62\\xb4\\xbf\\xdc\\x73\\xaa\\x96\\x6c\\x0a\\xf7\\x96\\xe6\\xdc\\xa8\\x43\\xc7\\xf7\\x29\\xff\\x42\\x5b\\x4b\\x90\\xbf\\xf7\\x1c\\xb8\\xbc\\x90\\x73\\x1b\\x9f\\xb3\\xde\\x96\\xe9\\xb2\\xd1\\x56\\x2b\\xc3\\x18\\x0d\\x6e\\x68\\x46\\x5d\\x4e\\x81\\x22\\x49\\x51\\xbd\\x4f\\xf1\\x7a\\x6c\\x34\\x94\\xab\\x4a\\x21\\xa4\\x37\\x3b\\x45\\xab\\xd1\\x6c\\x1c\\xce\\x4a\\x66\\xca\\xc5\\x30\\x24\\xc6\\x42\\x24\\xc6\\xdd\\xaa\\x8c\\x93\\xe9\\x37\\x64\\xaf\\x43\\x27\\x4f\\x5e\\xc3\\xed\\x47\\x8e\\x7d\\x7d\\xee\\x1a\\xed\\xc0\\xad\\x27\\xcd\\x5e\\xef\\x53\\x2f\\x70\\x8b\\xf3\\xd7\\xe7\\x65\\xba\\x61\\xbc\\x67\\x32\\x19\\x39\\xc2\\x66\\x33\\x18\\x8c\\xb9\\xa4\\xa9\\x91\\x12\\x85\\x93\\xe5\\x4a\\x6d\\xac\\x0d\\xc6\\x06\\x36\\x89\\x37\\xf0\\xc5\\x79\\x52\\x6d\\x3f\\x9e\\x98\\x24\\x9d\\x28\\xa7\\x5d\\xca\\x7b\\x87\\x77\\xe5\\x89\\xcc\\x77\\x78\\x2b\\xbe\\x54\\x92\\xce\\xce\\x05\\x7b\\xc5\\x71\\xf9\\x12\\x8c\\x19\\x65\\x36\\xb8\\x19\\x0f\\x4d\\x42\\xaf\\x99\\xf6\\x78\\x42\\xd0\\xe9\\x2f\\x8b\\x06\\x3d\\x2a\\x2a\\xb3\\xea\\xf0\\x13\\x3e\\x9e\\x22\\x3d\\x21\\x9a\\xa0\\x8b\\xaf\\xcb\\x55\\x6b\\x3f\\xde\\xdd\\xb7\\xe5\\x6e\\x89\\xb4\\x90\\x15\\x7a\\x10\\xe9\\xaf\\x8b\\xc6\\x11\\x15\\xd6\\x3b\\xaf\\x6d\\x4f\\x3f\\xfd\\x35\\xc1\\xf8\\x4f\\xbf\\x6b\\x56\\x66\\x00\\xc5\\xf3\\x35\\xc1\\xf8\\x57\\xfb\\x50\\x22\\xbb\\x10\\x8f\\xfb\\x11\\x87\\x99\\x89\\xe7\\x39\\xd6\\xeb\\x76\\xdb\\x09\\xbf\\x1f\\x06\\x6b\\x0e\\xd6\\x11\\x08\\x7a\\xfd\\xb2\\x5b\\xee\\xcf\\xda\\xa1\\x87\\x40\\xd9\\x66\\x67\\x29\\xca\\x88\\xea\\x9c\\xd4\\x32\\x03\\x0d\\x44\\xb9\\xe4\\x10\\x2b\\x3e\\xc1\\x71\\x4b\\x40\\x2e\\x18\\x07\\x27\\x8b\\xc5\\x75\\x48\\x34\\x69\\xf2\\xda\\x89\\xa3\\x71\\xb3\\xf2\\xa7\\xac\\xf2\\xe1\\x6f\\xa6\\x9f\\x2c\\x22\\x47\\xdc\\x5d\\xef\\x3a\\xf1\\xbe\\xfa\\x48\\x99\\xa1\\x9b\\x0b\\xe5\\xe4\\x46\\xb5\\x20\\x0c\\x6d\\xb3\\x49\\x26\\x2b\\xa2\\x96\\x37\\x9b\\x64\\xb7\\xdb\\xe1\\x90\\x04\\x92\\xa2\\x24\\x93\\xe4\\xf1\\xba\\x3c\\x12\\x96\\x16\\xc5\\xb2\\x02\\x4f\\x39\\xa0\\x1e\\x62\\x28\\x6d\\xc2\\x20\\xd8\\x98\\x12\\xac\\x48\\x67\\x11\\x7a\\xfe\\xc4\\xbd\\x6f\\xf9\\xee\\x37\\xdc\\x0c\\x18\\x31\\x82\\xfc\\x7e\\x12\\x41\\x6e\\x2b\\x51\\xef\\x98\\x9e\\x7f\\x6a\\x74\\x57\\xf5\\x7b\\x4f\\x3d\\x64\\x52\\x22\\xd8\\x2d\\x01\\x7f\\xbb\\x17\\xfc\\x86\\x94\\x73\\x27\\x19\\x3c\\xa7\\xc2\\x5f\\x6d\\xa1\\x77\\x7f\\xf5\\x7e\\xce\\x15\\x39\\x7e\\x80\\x5a\\x8d\\x18\\xa5\\xb5\\x7d\\x84\\xce\\x2e\\xcc\\x83\\x19\\x22\\xd6\\x66\\xd2\\x7e\\x8e\\x73\\x7b\\xf4\\xba\\x80\\x27\\x60\\x63\\x98\\x20\\xcb\\x86\\xf0\\x05\\x51\\x28\\x14\\xb1\\x85\\x59\\x8e\\x0b\\xfa\\x7c\\x9e\\xfe\\xac\\x8f\\xb7\\xc8\\x83\\x59\\xc1\\x22\\x05\\xf4\\x0e\\x86\\xe8\\xcf\\x32\\x12\\x95\\xe3\\x60\\x2b\\xd4\\xcb\\xa2\\xf1\\x97\\x9e\\x6a\\x05\\x5d\\xcc\\xdd\\x0f\\xa1\\x8a\\x10\\x10\\xa1\\xc8\\x3c\\xe2\\x4e\\x31\\x21\\x66\\x88\\xbe\\x1b\\x6f\\x9d\\xc7\\x31\\x25\\xe6\\x60\\xa6\\x7b\\x4e\\xcb\\x44\\x94\\x98\\x20\\xbc\\x00\\xef\\x26\\x95\\x14\\x53\\xb9\\xeb\\xb7\\x97\\xb5\\x8f\\x27\\xc5\\x84\\x71\\x68\\x35\\x74\\xe0\\x9b\\x70\\x1c\\x3a\\x80\\xfd\\xd3\\x03\\x30\\xce\\x26\\x91\\x0f\\x0b\\x23\\x51\\xec\\x9f\\x82\\x55\\xd8\\x87\\x25\\xdd\\x05\\xbc\\x08\\xc4\\xb1\\xfd\\x11\\xf2\\x61\\x11\\xc7\\x36\\xe6\\x6d\\xbd\\x9c\\x28\\x62\\x2f\\x2a\\xbc\\x87\\x3d\\x98\\x7b\\x0f\\xb1\\x1a\\x2c\\xc1\\xd8\\x51\\x14\\x19\\xc8\\x63\\x47\\x61\\xae\\x6e\\xcc\\xf5\\xd2\\xad\\x7e\\x0f\\x71\\x3f\\xc6\\x8e\\xa2\\xc8\\x2a\\x9b\\xf6\\x3d\\x63\\xc3\\xd0\\xa7\\xae\\xc5\\x3e\\xf6\\xa5\\xf8\\xb3\\xdd\\x63\\x7f\\x65\\x6e\\xc6\\xfc\\x31\\x07\\xf1\\xe7\\xfc\\x13\\x5a\\x84\\x2f\\xf0\\x78\\x2b\\xb4\\xf1\\xae\\x51\\x7d\\xee\\x48\\x61\\xbc\\x88\\x4b\\xe9\\x37\\x78\\xbc\\x7d\\xda\\x78\\x2f\\x52\\xc7\\x1b\\xcf\\x8f\\x97\\x98\\xa6\\xe2\\xb9\\x59\\x59\\x80\\xf9\\x35\\x09\\x19\\xfe\\xcc\\x54\\xea\\xc7\\x56\\x96\\xf4\\x14\\xfe\\x9d\\xfd\\x97\\x50\\x8e\\xfe\\x1d\\xcf\\xe7\\x41\\x70\\x13\\x1e\\x6b\\x75\\x7e\\x3e\\xe8\\x67\\xd6\\xa0\\xf9\\xa0\\x9f\\x41\\xdc\\x35\\xe7\\xaa\\xb3\\xa9\\xd6\\x90\\xb0\\xf2\\x31\\x02\\x5a\\x17\\x35\\x46\\x20\\x56\\x93\\x7b\\x35\\x4c\\xad\\x86\\xdc\\x7b\\xb4\\x18\\x61\\x7e\\x2e\\x46\\x80\\xdf\\xb3\\x56\\xc3\\xd4\\xea\\xcf\\xaf\\xcb\\xc7\\xf0\\xb3\\xde\\xc7\\xef\\x79\\x49\\x5b\\xbb\\xa3\\xda\\x7b\\x5a\\xf2\\xef\\xc1\\x7c\\xc2\\xf8\\x3d\\x7f\\x52\\xc7\\xa3\\xbd\\xa5\\x31\\x37\\x1e\\x54\\x6b\\x01\\x63\\xf2\\xcd\\xf8\\x5e\\x65\\x76\\x26\\x4e\\x48\\x92\\x4f\\xa0\\x28\\x39\\x10\\x08\\xfb\\x38\\x2e\\x14\\x0e\\x3a\\xfd\\xce\\x91\\xac\\x83\\x20\\xa0\\x6f\\x43\\x10\\xac\\xcf\\x4f\\xb1\\x08\\xe5\\x83\\x15\\xb5\\x83\\x3d\\xe7\\x4a\\x97\\x82\\x4a\\xa5\\x72\\x6c\\xef\\xb8\\xda\\x9b\\x56\\x43\\x85\\x7c\\x89\\x7c\\x2c\\x0d\\x72\\x59\\x4a\\x1d\\xf9\\xe8\\xee\\x03\\xca\\x6b\\xca\\x5f\\x66\\x3f\\x3f\\x35\\x57\\x08\\xff\\xdd\\xfd\\x56\\x70\\xcd\\x85\\xcb\\xee\\x0a\\x76\\x64\\x1b\\xa8\\x15\\x02\\xf9\\x76\\xf4\\xbe\\xb3\\x7e\\xf6\\x5b\\x97\\x5d\\xab\\x7b\\xdf\\x74\\xa3\\xe9\\x54\\xf0\\xae\\x59\\x77\\x2f\\x88\\x2c\\xc1\\xf6\\xe7\\x6a\\xa5\\x97\\xba\\x19\\x63\\x0b\\xce\\xc9\\x54\\xba\\xcc\\x66\\x89\\xf3\\x7a\\x79\\x59\\x0e\\x86\\x24\\x8a\\x0a\\x5a\\x5c\\x08\\xd0\\xd7\\xe5\\x72\\x10\\x4e\\x2b\\x2a\\xa4\\x93\\x1c\\x3c\\xc1\\x0e\\x16\\xf9\\x65\\xe3\\xd8\\x39\\x8a\\xf9\\x91\\xd5\\x29\\x88\\x05\\x66\\xe4\\xf2\\x04\\x28\\x1a\\xba\\x5a\\xc9\\x4e\\x3f\\x97\\xbd\\x27\\xe5\\xdb\\xbc\\xed\\x9e\\xc7\\x57\\x6f\\x5e\\x6c\\x00\\xe7\\xde\\xda\\xbc\\x16\\x55\\xd0\\x51\\x2c\\xa7\\x9c\\x75\\xfd\\x95\\xd7\\x2a\\x9f\\x28\\xbd\\xf1\\xf2\\x59\\xc1\\xe7\\x0f\\x5d\\x77\\x45\\x3b\\x78\\x1e\\x97\\xd0\\xd5\\x29\\x09\\xd7\\xa3\\x0f\\xec\\xfd\\x40\\xe5\\xab\\x1f\\xfb\\x17\\x5c\\xd7\\x33\\xd9\\x65\\x50\\x46\\x2f\\x63\\xfc\\xb4\\x7d\\x24\\xa3\\xea\\x6f\\xa0\\xa0\\xbf\\x2a\\x4f\\x8b\\x64\\x8d\\x91\\xfb\\x88\\x8f\\xb0\\x24\\xe7\\x21\\x49\\x3e\\x41\\x04\\xc6\\x9e\\x7d\\xd8\\xeb\\xed\\x4b\\xe4\\xdf\\x73\\x30\\xf7\\x1e\\xa8\\x9f\\x5f\\x6a\\xfa\\x50\\x91\\xd7\\x4f\\xf5\\x3d\\xf3\\xf3\\x7c\\x2f\\xab\\x89\\x5f\\x69\\x1a\\x51\\x9e\\xd3\\x2b\\x15\\xd7\\x10\\xef\\xdb\\x7a\\xed\\x3d\\x2f\\x6a\\xfb\\xb6\\x32\\xff\\x1e\\x8c\\x07\\x88\\xdf\\x33\\xa4\\xbd\\xe7\\x4e\\x6d\\xdf\\xc6\\x0a\\x98\\x6f\\x79\\x7c\\x44\\x17\\xb4\\x9f\\x33\\x32\\xb1\\x20\\x3c\\xdc\\xe8\\x90\\xdd\\xed\\x36\\xd1\\xa6\\x70\\x24\\x28\\x8d\\x64\\x4d\\x41\\xe8\\x66\\x05\\x83\\x84\\x5e\\xef\\xc3\\xc8\\x88\\xd6\\x71\\xc8\\x88\\x25\\x4e\\x72\\xc1\\x3c\\x8e\\xc7\\x46\\x8c\\xd5\\x37\\x09\\x69\\xf5\\xd2\\x03\\x05\\xfc\\xa4\\x2e\\x74\\x02\\x16\\xe2\\x5b\\x2b\\x8e\\x5c\\x14\\x18\\x4d\\x1b\\xaf\\x23\\x4f\\xbd\\xf1\\xd2\\x1b\\x7e\\x5b\\x4f\\xfe\\x78\\x1c\\xfc\\xe1\\x8a\\x3d\\x80\\xbc\\x7d\\xda\\xac\\xa7\\xdf\\x22\\x3f\\x7f\\xe6\\x5d\\xe5\\xa3\\x0f\\x88\\x3c\\xe7\\xbe\\x8a\\x7b\\xe8\\x80\\x7e\\xe3\\xac\\x4c\\xdc\\x0b\\x9d\\x61\\xca\\x07\\x9d\\x62\\x03\\x65\\x80\\xce\\x22\\xa2\\xe3\\xf6\\x7a\\xbd\\xa4\\x89\\xf2\\x7a\\x09\\x1d\\x0e\\x39\\xad\\x84\\x65\\x1c\\xf4\\xe1\\x49\\x67\\x51\\x8c\\xae\\x16\\x43\\xe4\\x7f\\xea\\x14\\x30\\xad\\x41\\x11\\xdc\\xe1\\xee\\x59\\x7b\\x3c\\xca\\xf5\\xfa\\xe9\\xa0\\x79\\x7b\\xef\\x85\\x61\\xb0\\xbc\\x04\\xe1\\x70\\xd9\\x2b\\x77\\xb5\\x4f\\xda\\xb0\\x9d\\x0c\\xff\\xf3\\x91\\xcb\\x55\\x4e\\x9f\\xbc\\xfc\\xe8\\x9b\\x4a\\xe4\\x47\\x53\\x35\\x27\\xca\\x8f\\xbe\\xb9\\x44\\x7e\\x34\\x55\\x99\\xd7\\x03\\x02\\xda\\x85\\xaf\\xb0\\x3e\\xbd\\xaf\\xbd\\xa7\\x59\\xd3\\xa7\\xbc\\xbd\\x53\\xf9\\x13\\xb1\\x7d\\x51\\x54\\xfb\\xc2\\xab\\xda\\x94\\x28\\xd8\\x3b\\xe2\\xb2\\xb1\\xbf\\xb1\\x03\\x58\\xbf\\x7f\\xa9\\xea\\x37\\xf8\\xa9\\xaa\\xdf\\x41\\xa6\\x84\\x63\\xe8\\x5a\\x46\\x12\\x34\\x8e\\x21\\x72\\x5f\\x16\\xdf\\x88\\x94\\xe7\\xb8\\xf0\\xd4\\x77\\x1c\\xcc\\xbd\\x03\\x8e\\xe5\\x0b\\x6d\\x2c\\xf1\\xfc\\x58\\xd4\\x77\\xcc\\xcf\\xbd\\x83\\x58\\x3d\\x43\\x1d\\x4b\\xf2\\x84\\xb1\\x7c\\x9a\\x1f\\xcb\\xed\\xe0\\xc7\\xe3\\xf7\\x08\\x7e\\xcf\\x97\\xcc\\x3d\\xf9\\xb1\\xdc\\xde\\xa0\\xbe\\xa7\\xa6\\xe8\\x3d\\x38\\x0f\\x81\\xc7\\xf3\\x2b\\x6d\\x3c\\x2f\\x69\\xef\\x29\\xac\\x31\\xbe\\xa3\\xc7\\x6b\\xf3\\xb9\\xb6\\xc6\\x0f\\x68\\x7b\\x2d\\xb7\\x47\\x50\\x1f\\xd3\\x0c\\xdc\\xd3\\x2a\\x10\\x93\\x32\\x61\\xe8\\x4e\\x08\\x70\\xda\\x3a\\x9d\\x68\\xb4\\xa3\\xbe\\x55\\x93\\x01\\xb5\\xb4\\x1a\\x26\\x4a\\x34\\xa9\\x26\\x37\\xdf\\x3f\\x5b\\x9a\\x54\\x2a\\xf4\\x45\\x82\\x37\\x72\\x39\\xa4\\xe2\\x06\\xc8\\x65\\x5e\\x85\\x86\\x41\\x7a\\x51\\xaf\\xa3\\x5a\\x9b\\xac\\xac\\xd4\\xfa\\x53\\xfb\\x32\\x65\\x61\\xd6\\x62\\xb3\\x39\\xbc\\x26\\xa8\\xc8\\x15\\xf1\\x50\\x00\\xb5\\xa5\\x7a\\x59\\x5b\\xd4\\x6a\\x15\\x1d\\x46\\xce\\xc6\\xc1\\x38\\xdd\\x56\\xa0\\x01\\x7b\\x11\\x55\\x94\\x17\\xd7\\x20\\xab\\x5c\\xa3\\x6a\\x3f\\x6a\\xa1\\x19\\x55\\x97\\x6f\\x25\\x53\\x11\\x7c\\x8b\\xfb\\x51\\x2f\\xdd\\x3b\\xd2\\x85\\x9b\\x51\\x6b\\x12\\xcb\\x95\\x0f\\x7f\\x50\\x57\\xb9\\xeb\\xc0\\xae\\xfb\\xbb\\xa7\\x14\\x37\\xa4\\xae\\xba\\x34\\x15\\x99\\x33\\x1b\\x75\\xa3\\xd6\\x78\\x95\\x2a\\xb0\\x4f\\x77\\xd9\\x59\\x2b\\x77\\x76\\xba\\x16\\xcc\\xcc\\x75\\xa4\\x42\\xd9\\xfd\\x0d\\x9e\\xad\\xff\\xc1\\x72\\xf9\\x8d\\x76\\x6e\\x3e\\xa8\\xe9\\x7e\\x7d\\x5e\\x2e\\x98\\x7b\\x15\\xcb\\xe5\\xb8\\x26\\xbb\\xb9\\xa5\\xba\\x0f\\xe5\\xa2\\x28\\xbd\\x4c\\x03\\x8e\\xfd\\x37\\x65\\x5c\\x0e\\x11\\xc6\\xc0\\xe1\\x68\\x28\\x44\\x00\\x54\\x94\\x8e\\x5c\\x0d\\x77\\x2c\\x6a\\x97\\xec\\xa8\\x66\\x22\\x94\\x0d\\x4b\\x92\\xd5\\x85\\x6e\\xe2\\xbc\\x2e\\x97\\x3c\\x9c\\x75\\x51\\x84\\x60\\x15\\x86\\xb3\\x56\\x81\\x31\\x8d\\x64\\xf5\\x4c\\xbe\\x00\\x71\\x7c\\x83\\x6b\\xaa\\xe8\\x7a\\x26\\x55\\x5a\\x65\\x80\\xaf\\xdd\\x70\\x2d\\x99\\x7a\\xbd\\xd1\\x05\\x42\\xc5\\xbd\\xc8\\xe9\\x5c\\x2f\\x32\\x78\\xf3\\xdd\\x0a\\xe7\\xbd\\xdb\\x16\\x4c\\x8a\\x4c\\x75\\xba\\x92\\xeb\\x23\\xce\\xd1\\xb7\\x4c\\xf7\\x2c\\x79\\x4c\\xfa\\xfe\\xd0\\x77\\xcd\\xf4\\x69\\x99\\xc5\\x86\\xba\\xb1\\x69\\x7b\\x67\\x83\\xb4\\xa4\\xbc\\xbc\\xdc\\xf3\\x87\\x3d\\x37\\x46\\xfe\\xbc\\xa5\\xec\\xf9\\xcb\\xa6\\x79\\xc8\\xca\\x2d\\xe0\\xe7\\xee\\x69\\xca\\x0d\\x7f\\xd3\\xe9\\x94\\x96\\x2d\\x84\\x26\\xff\\x5e\\x2c\\xff\\x46\\xc4\\x08\\x44\\xb1\\x04\\xc7\\xd5\\x4a\\x15\\xd1\\xca\\x70\\x25\\x81\\x6a\\xf1\\xc3\\x44\\x53\\x9a\\xa5\\xa2\\x15\\x34\\x13\\x83\\xbf\\xaa\\x4d\\xa9\\xea\\xc1\\x6c\\x25\\x17\\x48\\xa6\\xac\\x01\\x13\\xd4\\x86\\x80\\x43\\x74\\x0f\\x64\\x1d\\x62\\x6e\\xb6\\x39\\xe7\\xa0\\x25\\xdf\\x6a\\x8d\\x9b\\x6d\\x0a\\xf9\\x50\\x4c\\xf8\\x91\\x63\\x39\\x19\\xd7\\xb6\\x4c\\x95\\x4c\\xfd\\xe4\\x4d\\xcc\\x3b\\x2f\\x5d\\x35\\xb0\\x2e\\x11\\xc7\\x7a\\x93\\x72\\x1e\\x3c\\x7f\\x51\\x57\\x58\\x5d\\x07\\xff\\xea\\x4b\\x76\\x1d\\xd8\\x72\\xf7\\x82\\xc1\\xc5\\x93\\x8a\\x35\\x68\\xf9\\x65\\xa9\\x47\\x93\\x3f\\x74\\x4d\\xef\\x46\\x4a\\xa4\\x7c\\xb0\\xf7\\x7a\\xbc\\x1e\\x07\\x53\\x97\\x9d\\xb5\\x7c\\x57\\xfb\\x6d\\xb5\\x77\\xa7\\x56\\x14\\x9a\\x9b\\x51\\xfd\\x45\\x0f\\xae\\xbf\\xa8\\x24\\xce\\xcc\\xb4\\xa0\\x7a\\x1f\\x7b\\xa5\\x48\\x10\\xfe\\x98\\xd3\\x29\\xb2\\x66\\xc6\\x62\\x11\\x19\\x31\\x51\\xe5\\x2d\\x1b\\xce\\x06\\xbc\\x5e\\xad\\xf2\\x67\\x38\\x6b\\xb6\\xb3\\x95\\x34\\x65\\xe5\\x28\\x54\\xff\\x33\\x3e\\xc5\\x58\\x7c\\x65\\x90\\x67\\x35\\xc3\\x0b\\x92\\xa3\\x94\\x28\\xdc\\xb8\\x96\\xd6\\x5d\\x00\\x51\\x85\\x5b\\xc4\\x77\\x23\\x3a\\xcd\\x91\\x8a\\x51\\x00\\x9c\\xbc\\x04\\xe3\\xe5\\x46\\xf7\\xa6\\x3f\\x5c\\xb8\\x7b\\x6d\\xed\\x5c\\x86\\x9f\\x54\\x79\\xea\\xf9\\x4d\\xdf\\x5b\\x7e\\x92\\x52\\x8c\\xb1\\x7d\\x5b\\x5a\\xd6\\xdc\\x73\\x7a\\x19\\xb0\\xdf\\x21\\xbb\\xb7\\x2e\\x9c\\xba\\x17\\x1c\\x55\\xeb\\x32\\x7a\\x70\\x5d\\x46\\x03\\xaa\\x2f\\xac\\x43\\xfc\\xd3\\x76\\xa3\\xd3\\x49\\x84\\x18\\xbf\\xbf\\xa9\\x51\\xb4\\x5a\\x99\\xb8\\xd1\\xd8\\x18\\xab\\x19\\xc8\\x56\\xc6\\xbc\\xf6\\x10\\x4f\\xd0\\x9c\\x47\\x10\\xa0\\x8b\\x25\\xf0\\x5c\\xae\\xac\\x1a\\xf7\\xc0\\xa5\\xd4\\x7e\\xd4\\x42\\x13\\x60\\x4b\\xaa\\x30\\x59\\xf0\\x4d\\xb5\\x19\\xb2\\x0a\\x8e\\x91\\xbf\\x7a\\x85\\xee\\x23\\xf8\\xfe\\xd7\\x14\\x6a\\x9c\\xb7\\xe4\\xfd\\x47\\xf7\\x9c\\x52\\xd7\\x67\\xf6\\xf7\\xcc\\x5d\\x3b\\xb9\\xa6\\xa4\\x62\\x63\\xa8\\x63\\x82\\x8a\\x8d\\x3f\\x3e\\xb3\\xff\\x99\\x0f\\x23\\xc0\\x71\\x4f\\x72\\xed\\xe0\\xb4\\x83\\x0b\\xb4\\xda\\x1b\\xad\\x7e\\x2a\\x4c\\x5c\\x94\\x89\\x1b\\x74\\x21\\xab\\xd1\\xc8\\x78\\xc2\\x32\\x8c\\xf6\\xbc\\x5e\\x99\\x85\\xe1\\xaa\\x20\\x33\\x72\\xa4\\x4c\\x16\\x04\\xa3\\xd5\\x0c\\xbd\\x16\\x36\\xec\\xd1\\x73\\x7a\\x15\\x79\\xc0\\x69\\x0b\\x73\\x1c\\x65\\x37\\x53\\xde\\x50\\x48\\xd5\\x82\\x00\\x35\\xae\\x0c\\xa7\\x25\\xd9\\x92\\x2a\\x22\\x4a\\x2c\\x2a\\x85\\xc8\\xe9\\x43\\x51\\xf7\\x6e\\x5e\\x23\\x62\\xa1\\x74\\xaa\\x54\\x2b\\x90\\x09\\xc0\\xff\\x56\\xa4\\x09\\x35\\xca\\x0f\\x24\\xe5\\xaa\\xf1\\xea\\xf0\\x3c\\xe8\\x93\\x94\\xb5\\x00\\x5c\\x6b\\x1a\\xfd\\x8e\\xe9\\xde\\x7b\\x35\\x55\\xd8\\xb4\\x45\\x53\\x82\\x9c\\x32\\x5c\\xbd\\x65\\x74\\x03\\xce\\x56\\xde\\xa3\\xd5\\xe6\\xa8\\xfc\\xf6\\x44\\x02\\xd5\\x20\\x25\\x2a\\x2a\\x42\\x02\\x1f\\x93\\x79\\xd9\\xe8\\xf1\\x94\\x41\\x45\\x08\\x55\\x55\\x3b\\x44\\x11\\xc6\\x9c\\x55\\x89\\x8a\\xfe\\x6c\\x42\\x92\\xcb\\xca\\x6c\\x31\\xc2\\x6a\\xb3\\x0e\\x64\\x6d\\x36\\xce\\x2f\\xa9\\x60\\x1b\\x05\\x6d\\xd0\\x9c\\xec\\x54\\xae\\x90\\xa5\\xa8\\x6a\\xa7\\x00\\x63\\x90\\xbf\\x40\\x2a\\xd5\\x0c\\x6d\\xee\\xa5\\xca\\x91\\xd2\\x45\\x50\\x5b\\x4b\\x89\\x42\\xf0\\xca\\x5f\\x85\\x0f\\x6f\\x2e\\x51\\x8a\\xc7\\x47\\x85\\x5f\\x3d\\x31\\xd7\\xa8\\xfc\\x7c\\x5c\\xfd\\xce\\x1f\\x56\\x82\\xf8\\x38\\x75\\xb8\\x79\\xa5\\x72\\xbd\\x34\\x09\\xe7\\xf4\\x60\\xd0\\xc3\\xc8\\x50\\x07\\xac\\xd0\\x7f\\xed\\xcb\\x44\\x1d\\xb4\\x5e\\x80\\xb3\\xe2\\x78\\x0b\\x6d\\x71\\x7b\\x50\\xe7\\xe4\\x48\\x56\\x27\\xc2\\xff\\x74\\xd0\\x87\\xe5\\x5d\\xc0\\x55\\x8c\\x63\\x90\\xbb\\x72\\x1a\\x77\\x43\\x86\\x2a\\xab\\x90\\x31\\x2b\\x0b\\xa5\\x72\\xd7\\x4a\\x51\\x51\\x85\\xa1\\x4a\\xd1\\xf1\\xd1\\xf7\\x3f\\xff\\x02\\xf4\\x82\\xfa\\xc1\\x53\\x5e\\x30\\x93\\xb7\\x9a\\x8f\\xbc\\x7c\\x9f\\x92\\x5a\\x12\\xbd\\xe1\\xc1\\xb3\\xd6\\xde\\xfb\\x3f\\xaf\\xbc\\x0f\\x7e\\x15\\x52\\x1b\\x54\\x02\\x64\\xf4\\x91\\x5b\\x56\\xac\\xd3\\xe2\\xf0\\x8f\\x69\\x17\\x8e\\xdd\\xa7\\xaa\\x63\\x1e\\xfb\\x98\\x95\\x71\\x0e\\xa1\\x8a\\x58\\x99\\x69\\x0a\\x9a\\xfc\\x81\\x00\\xc1\\xc7\\xad\\xba\\xf2\\x72\\xab\\x13\\x9e\\x53\\x56\\x13\\x20\\x4c\\x44\\x75\\x8d\\x5a\\xce\\x62\\xa9\\x1c\\xc9\\x06\\x2c\\x01\\x0b\\x27\\x50\\x5c\\x78\\x38\\xcb\\x09\\xb4\\x67\\x38\\x4b\\x17\\xc1\\x2c\\xe3\\x06\\xc1\\xe2\\x89\\x8c\\x6b\\x05\\xd4\\x24\\x45\\xe5\\x0a\\xc6\\xe1\\xdc\\xac\\xf9\\xa9\\xe5\\x49\\xe2\\x81\\x1d\\x1a\\x75\\x8c\\xc3\\x0e\\xa7\\xca\\xca\\xb3\\xbc\\x1f\\x1c\\x5b\\x7a\\x55\\xe3\\x0d\\x17\\xbc\\xff\\x0b\\xb2\\xfb\\xe2\\x39\\x3f\\xc6\\x73\\xbd\\xcf\\x54\\x9b\\xee\\x5a\\x64\\x9f\\x79\\xfc\\xd4\\xef\\xce\\xe9\\x11\\x75\\xcd\\x73\\x2e\\xbe\\x8e\\x7c\\x47\\xe9\\xfd\\xce\\x8d\\xfe\\x78\\xea\\xfa\\x3b\\xa1\\x97\\x86\\xaf\\x68\\x8e\\x0f\\x75\\x57\\x4f\\xee\\xd8\\xb1\\x1e\\x3c\\xa8\\x2c\\x38\\xe6\\xae\\xeb\\x8e\\xd7\\x83\\xb6\\x27\\xd0\\xbc\\xc3\\xf0\\x4c\\x3f\\xc6\\xec\\x27\\xca\\x60\\xcc\\xb2\\x32\\xd3\\x18\\xd5\\x59\\xaa\\x6c\\x04\\x1c\\xb8\\x6c\\xb7\\xdb\\x7c\\x36\\x9d\\x5f\\xe7\\x4f\\x35\\xf8\\x7c\\x61\\x63\\xd8\\xd5\\x9f\\x0d\\x3b\\x44\\x5b\\x7f\\x56\\x24\\x8c\\xc9\\x81\\xac\\xd1\\x9a\\x20\\x88\\x0a\\xaa\\x62\\x76\\x96\\x72\\x94\\x72\\xd9\\x15\\x79\\xef\\x27\\x14\\xab\\x6a\\xb2\\x8c\\xa2\\x69\\x63\\x54\\x48\\x4c\\xff\\xa0\\x79\\x5e\\xf9\\x2b\\x36\\x7c\\x80\\x97\\x03\\x6d\\x11\\xd4\\x9e\\x7a\\x72\\x79\\xd7\\xff\\xf4\\xce\\xbc\\xa0\\x77\\xd7\\x9f\\xaf\\xa8\\xd8\\x10\\xa3\\x8c\\x35\\x77\\x98\\xc0\\x23\\xaf\\x72\\x17\\x4f\\x9e\\x2a\\xb7\\x00\\x4b\\x2c\\xfc\\xda\\xeb\\x07\\x1f\\x53\\xee\\x9c\\xd2\\x5c\\xbe\\xa6\\x72\\x89\\xa7\\xbf\\xac\\x67\\xdb\\xb4\\xfb\\x4f\\x59\\x3d\\xfb\\xc0\\xb2\\x23\\xa0\\xe6\\x21\\x9b\\xd1\\xbf\\x18\\x58\\x9d\\x93\\xbe\\xda\\x59\\x57\\xb3\\x61\\xf0\\x0c\\x60\\x7c\\xf9\\xc1\\x9b\\xb2\\xc0\\xb7\\x76\\xd3\\x60\\x1b\\x59\\x65\\x73\\x5d\\xfd\\x29\\x3c\\xc3\\x37\\xc1\\x75\\xf8\\x14\\xf3\\xdb\\x2d\\xc8\\x38\\x13\\x3a\\x7b\\xa8\\x0e\\xae\\x4e\\xa8\\x4c\\xc7\\xd3\\x1e\\xe0\\x01\\xf5\\xa9\\x32\\x2b\\x6f\\xe5\\xd5\\x06\\x49\\xa8\\xd7\\x56\\xda\\xe3\\xf7\\x3b\\x86\\xb3\\x7e\\x9a\\xae\\x29\\x12\\xbc\\x2d\\x47\\xd5\\xa0\\x36\\x73\\xe7\\x81\\x18\\x52\\x45\\x77\\xbb\\xa4\\xca\\xdb\\x57\\xdc\\xf1\\x1e\\x29\\xe6\\x34\\x57\\x2b\\xa8\\xf3\\x58\\xee\\xf4\\x47\\xc0\\x3c\\x2b\\xad\\x2c\\x7c\\xfd\\x07\\x7a\\xd3\\x92\\x15\\xe7\\x49\\x9b\\x36\\xed\\x3a\\x94\\xda\\x18\\x9b\\x75\\x5a\\xd3\\x23\\x8f\\xbf\\x7d\\xec\\x89\\x5b\\xae\\xd9\\xc5\\x3a\\x33\\xed\\xb3\\x17\\x49\\x48\\xe8\\xca\\xab\\x3b\\x77\\x76\\x56\\x4c\\x0f\\xcc\\x1b\\xd6\\xe9\\x36\\xeb\\xb9\\xbb\\x2f\\x3d\\xe2\\x75\\xfe\\x08\\xd4\\x25\\xf6\\xee\\xbb\\xf9\\x65\\x87\\x78\\xd1\\x39\\xe1\\xe8\\xa5\\x55\\x1d\\x53\\x36\\x6d\\x81\\xf3\\x9d\\x0f\\xe7\\x3b\\x0b\\xc6\\x67\\x35\\xc4\\x29\\x99\\x44\\xc2\\x4c\\x21\\x1e\\xc7\\x98\\xd9\\x46\\xfb\\x19\\x3f\\x93\\xac\\x8d\\x09\\x36\\xc1\\x36\\x90\\xa5\\x05\\x5a\\xe0\\xfc\\xa1\\x10\\x8c\\xce\\x42\\x56\\x8e\\xe8\\xcf\\x72\\x8e\\x6f\\x33\\x53\\x94\\x6a\\xcf\\xcb\\xb1\\x06\\xe0\\x5e\\x9f\\x7c\\x6b\\x3a\\xae\\x74\\x69\\x2a\\x50\\x4e\\xc8\\x7e\\x92\\xda\\xdf\\xd2\\x6a\\x4d\\x02\\x4b\\x59\\xf0\\xd9\\x1f\\x5d\\x70\\xeb\\x70\\xc0\\xb5\\xe0\\xd4\\xb3\\xc4\\x75\\x4b\\x36\\x0f\\xf6\\x44\\x86\\x7d\\xad\\x33\\x2a\\xef\\x5e\\xff\\xfd\\x17\\xcf\\x5f\\x01\\xa6\\xcc\\x91\\x7d\\xf1\\x96\\xb6\\xf9\\x0b\\xb1\\x00\\x1b\\x36\\x9c\\xb3\\x60\\xf6\\x8a\\xb5\\xf3\\xdb\\xfa\\x7c\\xf2\\x8a\\x0f\\x03\\x2a\\x97\\x84\\x65\\xe1\\xdc\\xb3\\x06\\x2a\\x90\\x4f\\xb6\\x09\\xc6\\x07\\x02\\x94\\x67\\x05\\x31\\x9c\\x09\\x04\\x23\\x91\\x40\\xc0\\x5b\\x4e\\x10\\x5e\\x2f\\xe7\\x70\\xb8\\x68\\x2b\\x1d\\xaf\\x0c\\x94\\x97\\x95\\x43\\x9f\\x93\\xa1\\x19\\x1a\\x89\\xd5\\x9a\\x65\\x18\\xb1\\x4c\\x08\\x7b\\xac\\xa2\\x68\\x1c\\xce\\x8a\\x74\\xfe\\x16\\x1c\\xdf\\xd3\\x20\\xd6\\x0d\\x75\\x33\\xcb\\xa5\\x15\\xc8\\x18\\x0e\\xe2\\x6b\\x04\\xc9\\x52\\xb9\\xe0\\xa2\\x89\\x1c\\x9a\\x48\\x80\\x97\\x5c\\x41\\xd7\\xe5\\x62\\x8d\\x6a\\x0e\\x3c\\x35\\xa1\\xec\\xac\\x17\\xae\\x92\\xab\\x95\\x8f\\x72\\x35\\x6b\\x84\\x7a\\xff\\x54\\xa1\\xdc\\x42\\xbe\\x03\\x65\\x58\\x06\\xfd\\x8c\\x6a\\x82\\xa2\\xca\\xca\\xc2\\x34\\xcb\\x86\\xc3\\x16\\x2e\\x20\\x79\\x25\\x6f\\xb4\\x3c\\x60\\xe0\\x0c\\xdc\\x40\\xd6\\x60\\xa0\\x25\\x97\\x0b\\xca\\xd3\\x65\\xa5\\xcb\\xfa\\xb3\\xb4\\x44\\x6a\\x37\\xab\\x85\\xb3\\xa5\\x20\\xc4\\x96\\x96\\xd2\\xe9\\x45\\xe1\\xf0\\x23\\x5d\\xe0\\xe4\\xac\\x21\\x0e\\x89\\x07\\xe4\\x3b\\xd9\\x0d\\x99\\xcd\\x09\\xdd\\x84\\x80\\x02\\x07\\x75\\x9e\\x76\\x65\\x04\\x2c\\xff\\x67\\xe7\\x85\\xe3\\xb9\\x3f\\xca\\xae\\x68\\xf9\\x8e\\x7a\\x5e\\x3e\\x05\\xed\\xef\\xaf\\xb0\\xcf\\xb8\\x3a\\x13\\x17\\x05\\x21\\x1c\\x41\\x77\\x92\\x96\\x88\\xc5\\xad\\x67\\x31\\xfd\\x7e\\x95\\x3b\\x51\\x11\\x89\\x46\\x50\\x17\\x86\\x31\\x1a\\x85\\x41\\x5e\\x94\\x92\\x03\\x88\\x23\\xc2\\x90\\xf5\\xc8\\xa2\\x91\\x1a\\xce\\x1a\\x4b\\xa1\\x73\\x0b\\x35\\x77\\x85\\x48\\xa1\\x04\\x33\\x05\\x31\\xe1\\x3a\\xb4\\x4b\\x7d\\x6d\\x57\\xaa\\x09\\xdc\\xc8\\x89\\x09\\x5e\\x96\\xce\\xe0\\x5d\\x36\\x33\\xbf\\x1b\\x6f\\xc3\\x89\\xdc\\xb5\\x27\\xe6\\x7a\\xbf\\x6b\\x7a\\x0a\\xed\\x31\\x68\\x69\\xb5\\xfd\\x48\\x6d\\xd7\\x52\\xba\\xe3\\x93\\xbe\\xc7\\x67\\x77\\xe3\\xb9\\x23\\xde\\xed\\xd7\\xa9\\xe7\\x89\\x5a\\x62\\x6e\\x26\\x11\\x2d\\x2f\\x8f\\xe9\\x64\\x5f\\x30\\x48\\xd4\\xc8\\x35\\x7c\\x45\\x2c\\x56\\xcf\\xd7\\x95\\x97\\x27\\xdc\\x89\\x30\\x74\\x14\\x1c\\x6e\\xaa\\x3f\\xeb\\xb6\\x9a\\xec\\x83\\x59\\xab\\xa9\\x38\\xdd\\x9b\\x33\\xb8\\x39\\x7e\\x85\\x62\\x25\\xc5\\x20\\xaf\\x31\\x94\\xf9\\xb5\\x50\\xc5\\x20\\xf4\\x6a\\x47\\xc0\\x78\\xb3\\x0b\\x57\\x81\\x62\\xe5\\xee\\xc0\\xa4\\x6c\\x77\\xa2\\x76\\x6a\\xef\\x9c\\xae\\x5c\\x1e\\xb8\\x7c\\xc5\\x94\\xb6\\x43\\x07\\xd2\\x7f\\x58\\xb7\\x49\\x7f\\x66\\x61\\xbf\\x3e\\x75\\x44\\x4f\\x2d\\xa6\\x19\\x32\\xbd\\xe9\\xf2\\x5b\\xdf\\xdb\\xd7\\x85\\x53\\xc2\\xff\\xfd\\xcb\\x6b\\x0f\\x58\\xcc\\xa3\\xa7\\x57\\xa5\\x36\\x68\\x9b\\x75\\xeb\\x79\\x4d\\x09\\x2d\\x97\\x38\\xf6\\xb1\\xee\\x3a\\x28\\xe7\\x0a\\xc4\\x92\\x63\\x01\\x66\\x33\\x49\\xea\\x75\\x92\\xd3\\xc9\\x13\\x56\\x6b\\x39\\x3c\\x73\\x43\\xe5\\xba\\xa0\\x2e\\x18\\xaf\\x8c\\xc0\\x03\\x35\\x22\\x5a\\xc0\\x48\\x96\\xb7\\x40\\x37\\x01\\x1d\\xb6\\x8c\\x41\\xb2\\x9a\\xf5\\x28\\xb2\\x17\\x0c\\x14\\xa9\\x85\\xf6\\xc4\\x09\\xf9\\x61\\x64\\x95\\xb4\\x6c\\x62\\xa2\\x94\\xed\\x44\\xad\\xc2\\x2b\\x69\\x49\\x9c\\x28\\x9b\\x98\\x3f\\x7e\\xf3\\x6a\\x41\\x7b\\x4e\\x9e\\x58\\xbc\\xcf\\x34\\x4e\\x31\\xc8\\xad\\x13\\x65\\x18\\xe1\\x01\\x5c\\x55\\xa2\\x16\\x95\\x6a\\xec\\x18\\x87\\xb2\\x7f\\x00\\xe7\\xb3\\x76\\x65\\xa6\\xf9\\xf5\\x1e\\xce\\x60\\x36\\x73\\x1e\\x8f\\x48\\xea\\x08\\x96\\x85\\xb1\\x0c\\x29\\x88\\xa2\\x64\\x27\\xed\\x81\\xa0\\x93\\xef\\xcf\\x3a\\x1d\\x1c\\xaf\\x23\\x06\\xb2\\x03\\xba\\x61\\x1d\\xc9\\xeb\\x02\\x3a\\xf4\\xb0\\x4e\\xc7\\x98\\x28\\x51\\x27\\xea\\x48\\x86\\x81\\xea\\xc1\\xf0\\xa4\\x54\\x8c\\xad\\x97\\xcb\\x1c\\x77\\x4d\\xc4\\xa6\\x5a\\xb4\\x31\\x90\\x3b\\x52\\x48\\x3c\\x9e\\xa0\\x15\\x4d\\x69\\x70\\x41\\x21\\x09\\x69\\x9f\\x06\\x8c\\xe7\\x96\\xea\\x01\\x25\\x17\\xa7\\x23\\x47\\x97\\x14\\x4b\\xdf\\x5d\\xbd\\x53\\xe5\\x85\\x66\\x0e\\x43\\x9b\\x1c\\x24\\x32\\x99\\x20\\x4f\\x38\\x58\\x0f\\xe1\\x09\\x85\\xb5\\x5a\\x6e\\xa7\\x9f\\xf6\\xc3\\xe0\\xdf\\x2f\\x22\\x2e\\x68\\xb5\\xd1\\x6a\\xfc\\x3e\\xce\\x0f\\x7f\\x1c\\xf3\\x33\\x9d\\xa3\\x5d\\x50\\xd1\\x2c\\x49\\x3a\\x14\\x24\\x7a\\xdf\\x04\\xbb\\xbf\\xfa\\xec\\xa3\\xf4\\x1c\\x70\\xfe\\x4b\\xb7\\x2b\\xca\\x95\\xf7\\x5e\\xb3\\x74\\xe3\\x4c\\xff\\x77\\x4d\\xe4\\x5c\\xd3\\xa5\\x69\\xe5\\x1d\\xe5\\x57\\x2a\\x91\\xf3\\x57\\x60\\xcb\\x31\\x0c\\xc8\\xfe\\x94\\xf2\\xbd\\xdf\\xbc\\xf0\\xe1\\xac\\x07\\x0f\\x61\\x22\\xe7\\xdf\\xfd\\x23\\x57\\xe3\\x0c\\xfd\\x23\\x9a\\x80\\x36\\x36\\x84\\xc6\\x2c\\x50\\x2e\\xce\\x4f\\xf9\\xc3\\x11\\xbf\\xcb\\x03\\xfd\\x21\\x8f\\x87\\xc8\\x75\\xc6\\x11\\x52\\xe1\\xea\\x32\\x75\\x92\\x31\\x8f\\x6f\\x84\\xcb\\x75\\x4d\\x75\\xa9\\x6d\\xe6\\x16\\x00\\x8e\\xbc\\xf4\\x93\\x6b\\x00\\x71\\xfd\\xe1\\x83\\xd5\\x7d\\xc6\\xa9\\x23\\xc3\\xb7\\xcc\\x1d\\x98\\x3e\\x67\\xa1\\x83\\x5f\\x62\\x02\\xcf\\x98\\x86\\xf5\\x91\\xdf\\xd8\\x9f\\x7a\\xe9\\x10\\x10\\x6e\\xec\\x38\\x7e\\x4d\\x66\\xf7\\x3f\\xaf\\xdf\\x7e\\xc9\\x85\\xdb\\x4f\\x41\\x9d\\x10\\xd5\\xaf\\x3f\\x89\\xc7\\x7a\\x3d\\x5c\\xdf\\x33\\x71\\xde\\x77\\x56\\x26\\xc6\\x0b\\x02\\x11\\x72\\xba\\x5c\\x1e\\xb7\\x5b\\x1f\\x62\\xe9\\xb2\\xa8\\xcb\\x05\\x9d\\x39\\x09\\xad\\x30\\xc7\\xb2\\x3a\\x1e\\xe8\\xe0\\xde\\xd2\\x51\\x45\\xb0\\x48\\x45\\x5e\\x9b\\x5c\\x62\\x26\\xc1\\xf8\\xd6\\xa8\\xa2\\x1d\\x92\\xb3\\x19\\xe4\\xa9\\xe3\\xfb\\xa4\\xee\\x33\\xf5\\xb4\\x0f\\x2d\\xc1\\x1b\\xc3\\xf3\\xcf\\x5f\\xbe\\xfe\\x23\\x3d\\xfd\\x8b\\x42\\xc7\\xd4\\xf1\\xf9\\xdd\\x55\\x9d\\x93\\x37\\x6e\\x45\\xdb\\xe1\\x86\\x5b\\x76\\xec\\xea\\xac\\x40\\xbd\\x53\\xd0\\x36\\xec\\x80\\x6b\\xdd\\x46\\x6c\\xcc\\xb4\\xcb\\x56\\x9b\\x4d\\xf4\\x41\\xdb\\x6f\\xd4\\xa7\\xa1\\xa7\\x19\\xa9\\x49\\x26\\xeb\\xf4\\x11\\xa1\\x56\\xa8\\x6d\\xef\\x68\\x48\\xf4\\x67\\x1b\\x1c\\x3e\\xab\\x2c\\x93\\x66\\xb7\\x79\\x76\\x36\\xe8\\xb6\\x26\\x51\\x61\\x2b\\x8e\\x9a\\xf4\\x02\\x6a\\xf5\\xcf\\x4d\\xa6\\xd0\\x3d\\xe5\\x2c\\xee\\x63\\x2b\\xe4\\x43\\x53\\x85\\xee\\x29\\xf0\\xb5\\xad\\x53\\xda\\x89\\xa7\\x2b\\x9a\\x7d\\xde\\x62\\x0a\\x4d\\xf4\\xe1\\xbe\\xf0\\xbc\\x3e\\xa3\\xda\\x4a\\x95\\x5c\\x57\\x9e\\x6f\\xa5\\x9a\\x7a\\xf3\\xb2\\xec\\xe9\\xa0\\xef\\xd6\\x65\\xf3\\x56\\xda\\x3a\\x0d\\xf5\\x75\\x0d\\x0d\\x36\\xbc\\x65\\x9e\\xfa\\xc1\\xf7\\xbf\\x67\\x6c\\x31\\x92\\x6f\\x2e\\x99\\xb5\\xad\\x55\\x6b\\xab\\xca\\x75\\xaf\\x1e\\x5c\\x32\\xb2\\x6a\\xd1\\xe9\\x4b\\xd6\\x2d\\x8f\\x0e\\x2b\\xf7\\xa6\\x9b\\xeb\\x9a\\xe7\\x8e\\xc0\\x8d\\x74\\xf8\\x86\\xcd\\x9b\\x93\\x2d\\xa0\\x6a\\x36\\x8a\\x5f\\x18\\xa8\\x97\\x29\\x66\\xa6\\xc0\\x02\\xb5\\xc6\\x8b\\x1b\\xfb\\x98\\x4a\\xc2\\xb5\\x8b\\x11\\x4b\\x33\\x29\\x73\\xd0\\x1a\\x94\\x38\\x9f\\xd5\\x1a\\xe5\\x28\\x89\\x93\\x2a\\xe2\\xe6\\x40\\x38\\x10\\x1e\\xc8\\xf2\\x81\\x40\\x80\\x34\\x51\\x81\\x00\\x2b\\x08\\xe8\\xd2\\x49\\xb0\\x92\\x24\\xcb\\x12\\x08\\xd1\\x3d\\x07\\x2f\\x98\\xd7\\xde\\x3c\\x96\\x53\\x71\\x1a\\x59\\x83\\x22\\xca\\xb7\\xba\\x42\\xb3\\xd0\\x05\\x0f\\x17\\x18\\xbb\\x60\\x16\\xb7\\x98\\x8a\\x0c\\x8c\\xb1\\xfe\\xf1\\x8d\\xfc\\xef\\x36\\xef\\xae\\x1a\\x7a\\x79\\xe4\\xd5\\xa7\\xaf\\x5e\\x0f\\x7a\\xe6\\x82\\xe7\\x5a\\x57\\x2c\\x4c\\xf4\\x99\\x6a\\x3a\\x17\\x2e\\xd9\\x79\\x9a\\x30\\x7d\\xd5\\x99\\xa7\\xad\\x5c\\xdc\\x35\\x6d\\xe8\\xbc\\x4d\\x67\\x1d\\xe0\\x59\\xf7\\x92\\x1e\\x20\\x9a\\xc4\\x4f\\xb7\\xd7\\xae\\x3d\\xe3\\xbc\\xd3\\xd7\\x2c\\xee\\xee\\x54\\x6b\\xbb\\x7a\\x71\\x6d\\x57\\x0c\\x9e\\x8d\\x31\\x67\\x59\\xc4\\x18\\x31\\x99\\x28\\x5b\\x28\\x2c\\x84\\x6d\\xb6\\x38\\x55\\x21\\xf9\\x47\\xb2\\x2e\\xc9\\xab\\x15\\x75\\x45\\xbe\\xae\\xa8\\xab\\xf8\\xda\\x37\\x67\\xf7\\xea\\x27\\xac\\xe6\\x62\\x69\\xd5\\x03\\xd0\\x69\\x99\\xe3\\x93\\x55\\x75\\xbd\\x13\\x53\\xfe\\xfa\\xce\\xcc\\x2b\\xcb\\x1b\\xb3\\xc0\\x32\\xb9\\xb2\\x7f\\xbd\\xe5\\xd3\\x93\\x14\\x77\\xd5\\xbe\\xf7\\x47\\xc1\\x04\\x6a\\x1f\\x91\\xdd\\x6b\\x87\\x98\\x25\\xb9\\x02\\x2f\\xf5\\xec\\x57\\x66\\xe2\\x1a\\xaf\\x38\\xd1\\x99\\x09\\xc6\\xa1\\x87\\xea\\xf1\\x54\\x26\\x42\\x66\\x33\\xf4\\x4f\\x07\\xb2\\xe1\\x80\\xe7\\x64\\xf5\\x5d\\xa9\\x44\\x49\\xc6\\xed\\x1b\\x8a\\xbb\\x8a\\xae\\x05\\x9b\\xd2\\x5f\\x5b\\xe4\\x75\\x28\\xfc\\x97\\xc7\\xe7\\xcd\\xae\\xc8\\xc8\\xa2\\xa7\\x79\\xc4\\x3e\\x71\\xad\\x57\\xdd\\x33\\xaf\\x0b\\xbf\\x3d\\x47\\xbc\\x7c\\x03\\xca\\x99\\x28\\x47\\x51\\xae\\x0a\\xc6\\xd1\\x0d\\x6a\\x8e\\x19\\xce\\xe7\\x18\\xce\\x31\\xcf\\xc1\\x5f\\xef\\x1f\\xfb\\xad\\xee\\x7a\\x9c\\x83\\x6e\\xc5\\x5f\\x93\\xd0\\x46\\x2d\\xa2\\x0e\\xc1\\xaf\\xe7\\xa3\\xf9\\x2b\\x3b\\x94\\x1d\\xf0\\x0c\\x7c\\x85\\xb0\\x13\\xa1\\x8c\\x68\\x63\\x2c\\x16\\xc3\\x07\\x00\\x10\\x20\\x03\\x06\\xc1\\x08\\xa0\\x81\\x95\\x48\\x1e\\x5b\\xb4\\xa8\\x1e\\x91\\xa6\\x42\\xa3\\x1f\\x69\\xca\\xf9\\xd8\\x70\\x5e\\x08\\x30\\x07\\xee\\x47\\xcf\\xa5\\xc6\\xf6\\x78\\x54\\xcf\\xee\\xd1\\x5b\\xfb\\xfb\\x6d\\x97\\xd8\\xd6\\x2b\\x3b\\xd2\\x72\\x75\\x3c\\x11\\xab\\x5b\\x70\\x9a\\x71\\xf1\\x62\\xfb\\xb9\\x32\\xce\\x47\\x3d\\xc6\\x24\\xc9\\x1d\\xec\\xeb\\x84\\x91\\x90\\xa1\\x7d\\x0c\\x66\\xf8\\x90\\x24\\x79\\xae\\xe4\\x01\\x8f\\x88\\x33\\x78\\x8a\\x7b\\x1c\\x9c\\x0e\\x57\\xf7\\x58\\x62\\x51\\x8e\\xcd\\xa7\\x80\\x2e\\x4b\\x15\\x3d\\x47\\x8b\\x9e\\x81\\xb5\\x39\\x1e\\x6b\\x69\\xae\\x88\\x37\\xcf\\x6f\\x8d\\xa9\\x0f\\x40\\xdf\\x56\\x8e\\x9e\\x62\\xad\\xcc\\xfe\\x78\\x73\\x73\\xbc\\xac\\xb5\\x05\\xe8\\xe2\\xe9\\xe6\\x8a\\x68\\x6b\\x4b\\xb9\\xf6\\xa7\\x2a\\xf7\\x9f\\x31\\xfd\\x60\\x23\\x7b\\x1c\\x8e\\xc7\\x78\\x84\\x60\\xf1\\xa7\\x1f\\x43\\x57\\x37\\x32\\xfc\\x15\\x81\\xe7\\x58\\x2c\\x0d\\x36\\x3e\\xb0\\xff\\xd0\\xfe\\x67\\x0f\\x1e\\xda\\x7f\\xe8\\x8a\\x07\\xd8\\xe3\\x73\\xf3\\xff\\xc3\\xf7\\x15\\x6f\\x33\\x49\\xf0\\x13\\xf6\\x3d\\x3c\\x1f\\x7f\\xc6\\x26\\xf1\\x7c\\x80\\x4f\\xf2\\x0f\\xf1\\x3f\\xe4\\x5f\\xe7\\xd9\\xc2\\x7c\\x16\\xe1\\x5e\\xdd\\xc2\\x98\\x8b\\x9f\\xdf\\x6e\\xae\\x28\\x6f\\x6b\\x2b\\xaf\\x68\\x4e\\xb6\\x96\\xc7\\x5a\\x9b\\xe3\\x15\\xcd\\x68\\xd0\\xe9\\xca\\x68\\x4b\\x2b\\xb0\\xc7\\xd3\\x69\\x38\\xfa\\x56\\xbc\\x76\\x4f\\xc2\\xb5\\xbb\\x5a\\xfb\\x2c\\x0f\\x51\\x96\\xb1\\xbb\\x78\\xe7\\xc9\\x3f\\xf0\\x05\\xeb\\x0b\\xa5\\xeb\\x57\\xfc\\x99\\xa8\\xeb\\x01\\xdc\\x05\\x17\\x08\\x2e\\x92\\xfa\\xc1\\xf8\\x41\\xf9\\x73\\xef\\x95\\x3d\\xb9\\x25\\xc3\\x9f\\xde\\x5c\\x01\\x1f\\x94\\x3f\\x80\\xab\\x14\\x7c\\xa7\\xac\\x3c\\xae\\xac\\x1b\\xfb\\x6c\\xec\\x41\\xc2\\x40\\x58\\x1e\\xa5\\x09\\x06\\x60\\x9e\\x01\\x34\\x3b\\x5c\\xcd\\xac\\xc3\\x56\\xf8\\x61\\xfa\\x90\\x6b\\xff\\x8d\\xec\\x90\\x20\\x5e\\xb9\\x6f\\xc7\\xf9\\x65\\x65\\xb8\\xc6\\x86\\xe9\\x06\\x8b\\xd9\\xa7\\xe1\\x2c\\xac\\xdf\\xa7\\x06\\x01\\x54\\x2c\\xa8\\x5e\\xc9\\x45\\xeb\\x5f\\x45\\x8b\\x0d\\x17\\x79\\xf1\\xdb\\x77\\xbd\\xce\\x12\\x4f\\x3f\\xfd\\x34\\xfc\\xde\\x85\\xcc\\x64\\xf0\\x36\\x7b\\x35\\x8c\\xa7\\xa2\\x19\\x3b\\xeb\\x62\\x5d\\x04\\x6f\\x02\\x26\\xf1\\x21\\x3f\\x18\\xf4\\x83\\x8c\\x1f\\xf8\\xd1\\x0f\\x2e\\x4a\\xbd\\x0a\\xf5\\xb1\\x05\\x9e\\x46\\xb5\\x08\\xea\\xde\\x2e\\xeb\\xb4\\x5e\\x76\\x14\\xca\\x6a\\xd7\\xcb\\x69\\x75\\xb6\\x38\\xf4\\x35\\xb9\\xa3\\xd5\\x9d\\x35\\xf5\\x6b\\x66\\x54\\x76\\x25\\x7d\\xc1\\x32\\xb7\\x23\\x51\\xdd\\x39\\xb2\\x72\\x7a\\x65\\x7b\\x75\\x24\\x10\\x67\\xe3\\x95\\xe1\\x2a\\x71\\xbe\\x6d\\xb0\\x79\\xda\\x1a\\x77\\x5d\\x6b\\x47\\x34\\x16\\xad\\x94\\xe6\\x57\\xac\\x1a\\x5a\\x2d\\xd7\\x64\\x9a\\xaa\\xe0\\x98\\x7a\\x99\\x7e\\xe2\\x22\\x16\\x61\\x2c\\x27\\x32\\x41\\x9a\\xc7\\x13\\xaf\\x25\\x06\\x89\\x11\\x62\\x27\\x71\\x15\\x71\\x98\\x78\\x96\\xf8\\x90\\xf8\\x07\\x61\\xc8\\x10\\x6f\\x40\\xa5\\xc0\\x04\\x0f\\x68\\x51\\x28\\xb4\\x51\\xd2\\xf8\\xb8\\x12\\xe8\\x43\\x4e\\xb8\\x28\\x4c\\x7f\\x61\\x55\\xd0\\xba\\xcc\\x83\\xfb\\xee\\xa3\\xb1\\x3f\\x12\\x0c\\xa1\\x3f\\x02\\x68\\xb8\\x96\\x68\\x7b\\x41\\x13\\xa1\\xbb\\xe3\\xf0\\x8d\\xaf\\x3f\\xf3\\xb6\\xb2\\xe3\\xe8\\x51\\xe8\\x54\\x90\\xca\\x95\\xca\\x3a\\x22\\x3a\\xf6\\x29\\x94\\xbd\\x40\\x48\\x19\\x4e\\x10\\xf8\\x8c\\x05\\x58\\x38\\x8a\\x48\\x22\\x59\\xb7\\xc0\\x55\\x60\\x8a\\xb7\\x07\\x19\\x4a\\x43\\x0b\\xa3\\x5c\\x99\\xdb\\x19\\xe0\\x40\\x4c\\x79\\xc0\\xb5\\x74\\xa5\\x71\\x9d\\xb6\\x1d\\x26\\x2b\\xcf\\xed\\x3b\\x75\\x58\\xf5\\xad\\xf6\\x30\\xfd\\x24\\x0d\\xe7\\xc6\\xa2\\xb9\\x51\\x3c\\x09\\xc8\\x6f\\x98\\xdb\\xab\\x58\\x9d\\x85\\x90\\x0e\\x9e\\xcd\\x7b\\x62\\x60\\xae\\x73\\xc5\\x19\\x7a\\xb8\\x8f\\xba\\xf6\\xcd\\x9f\\xff\\xff\\xff\\xf7\\x91\\x63\\xe9\\xfc\\xfb\\xcc\\x44\\x2a\\x53\\x66\\xa0\\x28\\x0e\\xbd\\x54\\xf7\\x0d\\x6f\\xad\\x3f\\xa6\\x19\\x11\\x4a\\x7d\\x73\\x4a\\xfd\\xe3\\x65\\xed\\x03\\x9e\\x2d\\xfd\\x20\\xed\\xd3\\x08\\x82\\x56\\x5e\\x67\\xa6\\x93\\xf7\\xe8\\xa2\\x04\\x62\\xec\\x48\\x10\\x69\\x78\\x22\\x84\\x1b\\xe3\\x9c\\x2f\\x09\\x03\\xf0\\xa4\\xd8\\x25\\x92\\x62\\x7c\\xa7\\x0f\\x04\\x7d\\x19\\xdf\\xa0\\x6f\\xa7\\xef\\xb0\\xef\\x0d\\xdf\\x87\\x3e\\x9d\\xef\\xf1\\xb1\\x67\\x1f\\x71\\xf9\\xfb\\x7c\\x44\\x32\\xb1\\x68\\x7d\\xea\\x85\\x45\\x2a\\xed\\xaf\\xea\\x23\\xe7\\x05\\x13\\x83\\xaa\\x9e\\xb7\\x5d\\x1a\\xd6\\x32\\xfc\\x5a\\x03\\xf2\\x87\\x4a\\x5b\\xfc\\xac\\x6c\\x9d\\x37\\x6f\\xeb\\xd6\\x79\\x75\\xb1\\x39\\xf3\\xa7\\xda\\x47\\x7f\\x86\\xbe\\x92\\xbb\\xcf\\x6c\\x8b\\x27\\xe7\\x6d\\x05\\x89\\x54\\x34\\x9a\\x42\\xff\\x91\\xc9\\xdc\\x13\\x3b\\x84\\xbe\\x7b\\xde\\x56\\x61\\xea\\x59\\x9d\\x65\\xcd\\xe8\\x39\\x95\\xe8\\x5f\\x38\\x55\\xd8\\x3a\\x4f\\xfd\\xf7\\xfc\\x7f\\xd8\\x6e\\xbd\\x92\\x9f\\xa3\\x87\\xa8\\xcd\\x78\\xc4\\x24\\xd5\\x45\\x91\\x94\\x6b\\x27\\x07\\x82\\x5c\\x86\\x1b\\xe4\\x76\\x72\\x87\\xb9\\x37\\xb8\\x0f\\x39\\x1d\\xa7\\x4d\\x8c\\xcb\\x4f\\x6c\\xa2\\x19\\x9d\\x64\\xd4\\x85\\x71\\x96\\x8e\\x2e\\x37\\x12\\x30\\xf6\\x0c\\xd3\\x01\\xce\\x63\\x6f\\x26\\x6c\\x84\\xf8\\xa8\\x99\\xa6\\x39\\xe4\\x35\\x40\\x03\\xf6\\x2a\\x3a\\x6a\\xf0\\x15\\x3a\\x3a\\x31\\x75\\x11\\xb5\\x98\\xb8\\x09\\xb5\\x2e\\xe9\\x6d\\x6b\\x16\\xd4\\xd8\\x85\\xdd\\x9d\\x97\\xc8\\xc6\\x48\\x79\\xb9\\x9e\\x65\\x6f\\x6e\\x5a\\xb9\\xd4\\xb0\\x02\\x2c\\xda\\x6a\\x8c\\xc2\\xf0\\x16\\x28\\x07\\xe1\\x9e\\x1a\\x82\\x67\\x99\\x84\\xce\\x32\\x1e\\xfa\\x58\\x1f\\xd8\\x00\\x61\\xcb\\xd8\\x06\\x6d\\x23\\x36\\xda\\x66\\x00\\x78\\xcf\\x2c\\x52\\xcf\\x32\\x26\\xc5\\xe6\\x11\\x21\\xe0\\x87\\xa1\\x23\\x0d\\x9a\\x30\\xe5\\xb1\\x3d\\x06\\x77\\xb8\\xe4\\x38\\x6b\\x6c\\xb5\\x3b\\xe4\\x8a\\x2a\\xed\\x38\\x13\\x36\\xaa\\x38\\x52\\xca\\x8d\\xca\\xb5\\xf0\\xdc\\x7c\\x0f\\xee\\x5f\\xcb\\xa3\\x14\\x81\\x55\\x5d\\xb5\\x87\\x32\\x15\\x4a\\xa7\\xd2\\xf1\\x36\\xe5\\x01\\xe7\\x2b\\xa1\\x88\\xf2\\xd8\\xe5\\xcf\\x68\\xf6\\x73\\x07\\xd1\\x5d\\xba\\xdf\\x29\\xbc\\xdf\\xc9\\x07\\x6f\\xfc\\xd9\\x53\\xb9\\xfd\\x0e\\x94\\x87\\xe1\\x7e\\x4f\\x42\\x3b\\xcb\\x16\\xbd\\x17\\x6f\\x13\\x59\\xdd\\xda\\xc9\\xa8\\x72\\x10\\xed\\xe7\\xa1\\xfc\\x3e\\x26\\x47\\xbf\\x84\\x3f\\xf3\\x13\\xfc\\x33\\x66\\x42\\xce\\x18\\xd0\\x3e\\x41\\x3f\\x69\\x86\\x3f\\x5a\\xff\\xaa\\xb6\\x17\\x74\\xea\\x8f\\x87\\xd4\\x3f\\x2e\\x83\\x56\\xc1\\xb9\\xfc\\x0c\\x23\\xf8\\x50\\x7b\\x50\\x5f\\x57\\xb0\\x0d\\xca\\x63\\xca\\x66\\x22\\x30\\xf6\\x39\\xa1\\x23\\x4c\\x47\\x91\\xcd\\x66\\xd0\\xf4\\xe0\\x98\\x19\\x18\\x2d\\x45\\x79\\x40\\x2b\\x4f\\x4a\\x97\\x6c\\x00\\x93\\xc5\\x8b\\x94\\x87\\x5b\\xce\\xf6\\xfc\\x20\\xbd\\x4a\\xc3\\xd7\\xfa\\x14\\x6e\\xab\\xe4\\xff\\xda\\x5e\\x8a\\x05\\x7b\\x79\\xf3\\x44\\xf6\\x92\\x44\\x7b\\x93\\xb8\\x6b\\x02\\xbd\\x35\\x83\\xa0\\x39\\x63\\x1e\\x34\\xef\\x34\\x1f\\x36\\xbf\\x61\\xfe\\xd0\\xac\\x33\\x6b\\x7a\\x6b\\x2e\\xd2\\x5b\\xf0\\x35\\x3b\\x4f\\x79\\x7d\\xe2\\x0d\\xa6\\x2a\\xee\\xb8\\xad\\xa4\\xae\\xcd\\xff\\x87\\x7a\\x36\\xf6\\x67\\xec\\xa7\\x3c\\x06\\xf5\\x26\\x9a\\xf1\\xd2\\x04\\xa8\\xc5\\x8e\\xd9\\x4e\\x70\\x15\\x38\\x0c\\x9e\\x05\\x1f\\x82\\x7f\\x00\\x43\\x06\\xbc\\x01\\x48\\x7c\\xa8\\x22\\x0f\\x06\\x2b\\x15\\x48\\x1e\\x3e\\x00\\xb5\\x8a\\xe9\\xc7\\x5a\\x85\\xde\\xf3\\x3c\\xdc\\x6f\\x73\\xd8\\x3d\\xf0\\x3d\\xbe\\x8c\\x8d\\x87\\xc6\\x9a\\xda\\x41\\x3e\\x44\\x92\\x83\\x24\\xc8\\x20\\x25\\xc3\\x07\\x2b\\x12\\x30\\xc0\\xea\\x0b\\xe6\\xb4\\x28\\x07\\xa1\\xfe\\xb2\\x7b\\x54\\x05\\x06\\x63\\x5b\\xa1\\x8e\\x3d\\x3e\\xd1\\xf9\\x2f\\x17\\xce\\x7f\\xab\\x2a\\xba\\xe2\\xf3\\x5f\\xa9\\x63\\x26\\x13\\x87\\xfe\\x17\\x67\\x3a\\xf8\\x36\\x67\\xba\\xf2\\xdb\\xff\\x97\\x43\\x1d\\x63\\xf0\\xbf\\xc7\\xec\\x00\\x17\\x41\\x7d\\x42\\x3e\\x15\\xd4\\x27\\x2a\\xc9\\x77\\xf1\\x24\\xcf\\xed\\x94\\x40\\x50\\xca\\x48\\x83\\xd2\\x4e\\xe9\\xb0\\xf4\\x86\\xf4\\xa1\\xa4\\x93\\x34\\x7d\\x92\\x54\\x7d\\x3a\\xa6\\xea\\x53\\xb1\\xe5\\x2e\\xf2\\xae\\xf4\\x39\\xed\\x51\\xde\\x54\\xcd\\xe1\\xbc\\xad\\xec\\x50\\xce\\x04\\xab\\x5f\\x6f\\x55\\xf5\\xf9\\x63\\xa5\\x6b\\xec\\xd7\\x63\\x9f\\xe0\\xcf\\x97\\x33\\x26\\xca\\xca\\x81\\xc3\\xdc\\xb3\\x1c\\xc9\\x49\\x3c\\x56\\x9f\\xf5\\xf5\\x27\\x77\\xe2\\x94\\x8f\\x73\\x7e\\x5b\\x32\\xe7\\xc9\\x29\\xb7\\xa9\\xde\\x2d\\xf2\\xdd\\x54\\x27\\x8e\\x60\\x14\\x59\\xe9\\x22\\xde\\xd1\\x3e\\x23\\x42\\x24\\x61\\x5c\\xef\\xcb\\x98\\x29\\x8e\\x8b\\x55\\xb7\\x84\\x24\\x4f\\x4a\\xa2\\xe0\\x47\\xc9\\x28\\xb2\\x3c\\xf6\\xed\\x9d\\x6e\\xf9\\x64\\x63\\x3a\\x33\\x37\\xa6\\xb9\\xb9\\x31\\x01\\x7d\\xee\\xe9\\xa7\\x39\\xaf\\xbc\\x36\\x3f\\xde\\x43\\x9a\\x8b\\x09\\x18\\x6d\\xbc\\x65\\xda\\x9f\\xaf\\x68\\x6e\\x3a\\x90\\x72\\x13\\x41\\x3e\\xb0\\x32\\x02\\xe7\\xf2\\x20\\x9c\\x0b\\x85\\x2d\\x80\\xf0\\x18\\x01\\x80\\xce\\xec\\x12\\xd1\\x5a\\xa9\\x47\\x06\\x93\\x0e\\xe9\\x4e\\x3a\\xb8\\x11\\x17\\xe8\\x70\\x06\\x4f\\x18\\xc5\\x33\\xfb\\xf7\\xdf\\x73\\xc2\\xc7\\x51\\xca\\x74\\xf8\\x59\\xf7\\x68\\xeb\\x16\\x80\\xd2\\xe1\\xfc\\x6e\\xb7\\xc7\\x43\\x69\\xa2\\x41\\x1f\\x87\\xbd\\x8b\\x93\\x7c\\x18\\x93\\x8e\\xc0\\xa1\\x44\\x74\\x33\\x73\\x5e\\x7d\\x32\\xe7\\x8c\\x29\\x87\\xe4\\x85\\x4e\\xd0\\xe7\\x5a\\xe8\\x40\\xe2\\x4a\\xc7\\x8b\\xc4\\xd5\\x72\\xd3\\xc6\\x7d\\xfb\\x36\\xc2\\x7d\\x46\\x28\\xd7\\x8e\\x3d\\x37\\x36\\x04\\x3f\\x5b\\x7f\\x04\\x7b\\x79\\xa5\\x62\\x19\\x23\\x5a\\xcb\\xd5\\xa0\\x41\\xf9\\x14\\xbd\\x22\\xd6\\xdc\\xaa\\xea\\xd3\\x76\\xe5\\x00\\xd1\\x3b\\x36\\x07\\x8f\\xd9\\x72\\x54\\xe2\\x38\\x44\\xda\\xa5\\x45\\xa6\\x27\\x11\\xa5\\xb2\\x3d\\x27\\x32\\xa0\\xcf\\x8d\\x55\\xf9\\xb7\\x26\\x97\\xb2\\x7c\\x00\\x42\\xc1\\xb3\\xae\\x9f\\x18\\xc9\\xeb\\x91\\xf0\\x18\\xc5\\xa1\\xe0\\x8d\\x57\\xdf\\x7f\\xac\\xfe\\xdb\\x29\\x8e\\xf2\\x69\\xee\\xd3\\xe6\\x9f\\xa8\\x20\\x27\\x57\\x07\\x64\\x43\\x9e\\x51\\x3e\\x27\\x7c\\x63\\x17\\x41\\xd9\\xeb\\x8f\\x50\\x00\\xaf\\x09\\x13\\xd2\\x85\\x94\\xb7\\x41\\xaf\\x4b\\x79\\x72\\xfb\\x3e\\xf5\\xbc\\xba\\x08\\xfa\\xc9\\x17\\xc1\\xf3\\x4a\\x7f\\x84\\x25\\x55\\x6e\\x37\\x4d\\x10\\x9f\\x4b\\x2b\\x5c\\x60\\xae\\x6b\\xa9\\x5d\\xb9\\x08\\x2f\\xb2\\x8a\\x89\\x43\\xff\\x84\\xf8\\x9c\\xb9\\x04\\xce\\x49\\x82\\x7b\\x82\\xe7\\x02\\x5c\\x17\\x37\\xcc\\x3d\\xc4\\x31\\xd0\\xdf\\x59\\x54\\xea\\xbc\\x95\\xa7\\x73\\xe1\\x25\\x13\\x55\\x87\\xd9\\xa2\\xbd\\x83\\xd9\\x43\\x7c\\xce\\xf6\\xc2\\x77\\x88\\x19\\x23\\x95\\xf3\\x9f\\xe8\\x89\\xde\\x90\\x53\\x01\\xe6\\x23\\x4d\\xde\\x68\\x5d\\x27\\x2b\\x5b\\x89\\x5b\\xc6\\xfe\\xad\\xad\\x6b\\x20\\x63\\xe5\\x82\\x54\\x2d\\x3c\\xd5\\x28\\x8f\\x27\\x13\\x02\\x21\\xcd\\x12\\xd4\\x0b\\x2d\\xf8\\x7d\\xba\\xa2\\xf7\\xc5\\x8a\\xf5\\xad\\xe8\\xf9\\xd3\\xdc\\xe7\\x1c\\xcb\\xaf\\xf1\\x4d\\x39\\xd1\\xbe\\xa2\\x7d\\xf2\\x45\\xda\\xca\\x1e\\x28\\x84\\x98\\x50\\xef\\x0e\\x91\\x23\\xc4\\x99\\x54\\x00\\x8e\\xc5\\x74\\x94\\x7a\\x83\\x03\\xda\\x24\\x8a\\xa5\\x39\\x27\\x17\\xaf\\x92\\xcf\\x68\\x61\\x2a\\xfc\\x39\\x93\\x72\\x0f\\xd4\\x57\\x55\\x36\\x44\\x6e\\xdd\\x53\\xba\\x7f\\xc7\\xae\\x88\\x29\\xf7\\x7c\\xf0\\x01\\x5e\\xa7\\xdf\\xd3\\x07\\xa8\\x0e\\x66\\xa6\\xfa\\x3d\\x9a\\x4e\\xa3\\x02\\x10\\x92\\x6c\\xf3\\x8f\\xbe\\xc0\\xcc\\x84\\x9b\\x79\\xec\\x6d\\xfa\\x4b\\x90\\x86\\xf2\\xa0\\xe0\\x3a\\x48\\xc4\\x0f\\x29\\x10\\x80\\x07\\xfc\\x3a\\x6a\\x07\\xf5\\x77\\x8a\\xa1\\x32\\x82\\xd4\\x47\\xa9\\xf6\\x17\\xbe\\x1e\\xfe\\xa8\\x15\\x4c\\x75\\x2a\\x8f\\x33\\x97\\xec\\x43\\xef\\x07\\x71\\x65\\x84\\xda\\xaf\\x7b\\x1b\\xbf\\x1f\\x39\\x15\\x49\\x95\\x30\\x10\\xc4\\xc1\\x03\\x4f\\x2a\\x73\\x95\\x11\\xee\\xbc\\xcf\\x2e\\x53\\xe5\\x65\\x82\\x32\\x7f\\x05\\xce\\xd1\\x09\\x65\\x1e\\xe0\\xd6\\x71\\x3b\\xa0\\xc4\\x5f\\x87\\x32\\x7f\\x1c\\x9c\\x41\\x74\\x9d\\x5c\\x68\\xab\\x73\\x42\\x2b\\x96\\x39\\xd4\\x45\\x0e\\xcf\\xe5\\x1b\\x04\\x8d\\x70\\xde\\x7e\\x0f\\x3e\\xa1\\x9e\\xc3\\x72\\xe6\\x1f\\x31\\x09\\x2c\\xf1\\x38\\x58\\x4a\\x74\\xd5\\x27\\xd5\\x66\\xc6\\x3c\\x12\\x9b\\x58\\xf4\\xfc\\xfc\\xd4\\xe1\\xe1\\xa9\\xdd\\x4b\\x86\\xbb\\xa6\\x0e\\x2f\\xee\\x9b\\xb2\\x6c\\xc4\\x37\\xd2\\xdb\\x3b\\xb2\\xb4\\xbb\\x7b\\x29\\x79\\xcd\\x48\\xef\\xd4\\xe1\\xa5\\xdd\\x3d\\xb8\\x86\\x9c\\xe8\\x67\\x3e\\x07\\x16\\xe8\\x1f\\x9c\\x64\\x3c\\xfd\\xb9\\x4d\\xc7\\xce\\xd5\\x76\\x18\\xdc\\x2b\\xff\\x56\\xe6\\x8f\\x1d\\x1d\\x73\\x9d\\xcc\\xc6\\x28\\xff\\xce\\x6f\\xcb\\xc7\\x8b\\x6c\\x30\\x20\\x50\\x4a\\x7e\\x21\\xfd\\x18\\x51\\x49\\x44\\x8f\\xd0\\xc2\\x53\\x60\\x05\\x91\\x25\\x68\\x30\\xfc\\x48\\xd4\\x1f\\xf2\\xab\\x5f\\x85\\xc0\\x92\\x7c\\xcb\\x3b\\xa2\\x46\\x69\\x68\\x6a\\x03\\xb9\\x4c\\x17\\x7c\\x79\\x02\\x20\\xaa\\x43\\x1e\\xb0\\xf8\\xd2\\x20\\x24\\x86\\x70\\x26\\x3e\\xdd\\x49\\xfe\\x99\\xec\\x5d\\x3c\\xb3\\x3c\\xc0\\x50\\x66\\x93\\xc5\\x36\\x38\\x35\\xe2\\x6b\\x60\\x38\\x92\\xd6\\x0f\\xda\\x7d\\xc0\\x2e\\x2b\\x09\\x91\\xa5\\xcb\\x3b\\x1a\\x1d\\xd4\\xe6\\x85\\x8b\\xda\\x04\\x97\\x60\\x9a\\x92\\xdc\\xb8\\x35\\x19\\xad\\xbe\\xbb\\xb6\\x75\\xbd\\xd7\\x64\\x55\\x7e\\xbf\\x66\\x20\\x1d\\xf2\\xa4\\xe6\\xec\\xd0\\x6a\\x7f\\x6e\\x51\\xd6\\x81\\xe5\\xd0\\x57\\xe1\\xa0\\x2e\\x03\\xbd\\x0e\\xe8\\x54\\x5d\\x66\\x22\\xd0\\xfb\\xea\\x82\\x0e\\x58\\x08\\xcc\\xbc\\x47\\x4f\\x5f\\x4e\\x26\\xee\\x74\\x82\\xc3\\xef\\xdd\\x61\\xb7\\xdf\\x81\\xf5\\x68\\xec\\x93\\xb1\\x8f\\x98\\x28\\xfd\\x34\\x31\\x9d\\x48\\x3e\\xc2\\xb4\\xf7\\xb5\\x3f\\x0e\\x56\\x67\\xb8\\x6c\\xb5\\xa3\\x95\\xa3\\x83\\x0d\\x7d\\x3f\\x00\\xc3\\x44\\x88\\x08\\xc2\\x19\\xda\\x90\\xf4\\xba\\x0a\\x50\\xe3\\xa8\\x0e\\x50\\xa7\\x96\\x49\\xe8\\x0a\\xe5\\x6e\\xe5\\x31\\x80\\x19\\x17\\x91\\xdf\\x09\\x7d\\xaa\\x7a\\x8d\\x1e\\x0e\\xfa\\xcf\\xe5\\x88\\x8c\\x38\\x55\\x2f\\xd9\\xfd\\x40\\x6c\\x4a\\xe7\\xbe\\xd2\\xd9\\x53\\xd0\\x03\\x66\\xa2\\x8d\\x56\\x87\\xa5\\xfc\\xee\\xab\\x2a\\x7e\\x57\\xe7\\xed\\x1a\\x0e\\x5b\\x58\\xbe\\x4b\\x99\\x3b\\xbf\\xfd\\x94\\x53\\x92\\xca\\x3a\\xcb\\xea\\x7a\\xc9\\x29\\x9d\\xbb\\x25\\xbe\\xa6\\xba\\x6f\\x81\\xcb\\x16\\x9e\\xfa\\xe7\\xdd\\xb7\\x0e\\x06\\x1a\\x64\\x96\\x4e\\x2f\\xaa\\xaa\\xa7\\xad\\x0b\\x07\\xed\\xe6\\x25\\x7b\\x7a\\x94\\x7f\\x77\\x34\\xb8\\xfd\\x2b\\x4e\\x0b\\x65\\x86\\xc8\\xb2\\x49\\xa7\\xb6\\x0e\\x9d\\x79\\xe6\\xd4\\xd6\\xae\\x39\\x2d\\x8e\\x86\\xce\\x19\\xc9\\x8d\\xb7\\xf5\\xb8\\x76\\x35\\xd5\\x94\\x9d\\xde\\xef\\x74\\xf7\\x2e\\x53\\x7e\\x76\\x4d\\x0f\\xb5\\xb6\\x61\\x4e\\x83\\x3e\\x10\\xa1\\xea\\xe0\\x1a\\xfc\\x02\\x1a\\xa6\\x2b\\xe9\\xa3\\x70\\xa6\\xd1\\x23\\x0e\\x83\\x2a\\x55\\x07\\x94\\x71\\x10\\x7a\\x89\\xea\\x57\\xa0\\x44\\xc6\\x71\\x20\\x86\\x9a\\x30\\x39\\x30\\x4e\\xd5\\xe5\\x66\\x12\\x52\\x41\\x16\\xe1\\x82\\xa4\\x28\\xe1\\xf8\\x73\\x5b\\xc9\\x64\\x5d\\x67\\x45\\x8b\\xb2\\xb9\\x2b\\x19\\x4c\\x49\\x56\\x3a\\x06\\x1e\\x5e\\x36\\x6d\\x46\\x94\\x4b\\x3b\\x9f\\x06\\xbe\\xb9\\xc0\\xb6\\xb3\\x3a\\xd4\\xdd\\xd2\\xb6\\x62\\x8a\\x25\\xe0\\x6e\\x1d\\x9a\\xae\\xf4\\xcd\\x15\\xa7\\x38\\x54\\x59\\xde\\x31\\xf6\\x09\\xd9\\x0b\\x75\\x2e\\x49\\xd4\\x1c\\x4d\\xd4\\xd8\\x6b\\x92\\x93\\x4c\\x78\\x14\\x35\\x70\\x14\\xe5\\x50\\x0e\\x76\\x82\\xc3\\x5f\\xdb\\xa1\\x74\\x8a\\xa0\\x32\\xa1\\xf2\\xd5\\x77\\x01\\xb5\\xf3\\x21\\x9c\\x1f\\x56\\x1b\\x50\\x0b\\x03\\xa0\\xf6\\x05\\x80\\x43\\x93\\x13\\xf4\\x28\\x59\\x5d\\x48\\xbc\\xe3\\xd6\\x58\\x4c\\x1f\\x4d\\xdb\\x87\\x22\\xcd\\xbc\\x8d\\x6c\\xf1\\x0d\\x4f\\x95\\xac\\x83\\x21\\xb3\\xcd\\x1d\\x37\\x39\\x18\\x2a\\xe6\\xed\\x59\\xa3\\xfc\\x63\\x35\\xf0\\xfd\\xf6\\xd7\\xd5\\x36\\x6f\\x60\\xa4\\x79\\x43\\xd6\\x2a\\x95\\xc5\\x13\\xfe\\xae\\xc4\\xdb\\x4f\\x2e\\x3d\\xb3\\xba\\xa9\\x29\\x3e\\xab\\xa1\\xa7\\x65\\x5f\\xf3\\xbc\\xb7\\x81\\x0f\\xed\\x95\\xf5\\x63\\x7f\\xa4\\xde\\x81\\xeb\\x18\\x27\\x7c\\x4f\\x10\\x7e\\xb0\\xf4\\x11\\x3b\\x0c\\xce\\xd4\\x05\\x34\\xe3\\xa1\\xe2\\x05\\xc4\\x4d\\x1a\\xda\\xf0\\x78\\x80\\x96\\x4d\\x42\\xbb\\x03\\xc5\\x09\\xf0\\x77\\x32\\x12\\x46\\xfb\\xa3\\x0b\\x74\\x92\\xe9\\xcf\\xa6\\xb5\\x87\\x1a\\x44\\x2b\\x43\\x45\\xc9\\xcb\\xa6\\xb3\\x56\\xa3\\x23\\xdd\\x69\\x32\\x3a\\x02\\xc6\\xc8\\x7e\\x9e\\x67\\xfc\\xa1\\x88\\x23\\xda\\xd9\\x42\\x0d\\xb5\\x0e\\xa4\\x97\\x75\\x59\\x79\\xc1\\x91\\x69\\x1c\\x69\\x27\\xb9\\xc5\\x67\\x2c\\xff\\xfc\\x50\\x7d\\x79\\x2f\\xcf\\xe9\\x2a\\xef\\xff\\xcd\\x75\\xe7\\x2f\\x56\\xef\\x00\\x3c\\x63\\x7f\\xa4\\xfb\\xe1\\x9a\\x56\\x10\\x5d\\x44\\xf4\\x68\\x67\\xa7\\x29\\x50\\xff\\x38\\x1e\\xa1\\x49\\x1b\\xa1\\xa9\\x30\\x42\\x54\\xf2\\x87\\xfb\\x7a\\x4b\\x65\\xab\\x8e\\x0f\\xae\\x20\\x0d\\xc7\\x98\\x6e\\x42\\xc5\\x6d\\x69\\xc6\\xae\\x63\\x29\\x75\\xd4\\x4d\\x70\\x57\\x0b\\x9d\\x54\\xaa\\x1e\\x84\\xfa\\x52\\xa1\\x06\\x9b\\x48\\x07\\xc9\\x9f\\xc4\\xa2\\xac\\x8b\\x71\\x06\\x82\\x16\\xc6\\xc6\\x37\\x2e\\xb1\\x8b\\x54\\x8d\\xa4\\xd7\\x4d\\xea\\x1b\\x3d\\xaa\\xaf\\xac\\x76\\x70\\xc9\\xf3\\x23\\x02\\x69\\x88\\x59\\x13\\x36\\xcf\\xd4\\xd3\\x6c\\x36\\x6a\\x68\\x46\\x5f\\x72\\x71\\xb7\\x35\\x6a\\x0f\\x96\\xb5\\xec\\x76\\x5b\\xc4\\x8e\\xc5\\xb7\\x4c\\x5a\\x7f\\xe5\\xd2\\x74\\xda\\x66\\xbd\\x08\\x24\\xce\\xdf\\xb0\\xa3\\xfe\\x55\\x4e\\x5f\\xad\\xbc\\x77\\x79\\xfd\\xe4\\x0e\\x99\\xe3\\x9b\\x97\\x03\\x43\\xba\\xbe\\x23\\x89\\xd6\\x7e\\xce\\xd8\\xbf\\xc1\\xe3\\x70\\x7e\\x01\\xc2\\xf5\\x43\\xc2\\x09\\x15\\xc5\\x04\\xff\\xb6\\x30\\x2f\\xa2\\x74\\xdd\\x73\\x6a\\x81\\xae\\xee\\x75\\xd0\\xfe\\x35\\x8a\\x69\\xa8\\xcd\\x0f\\x37\\x54\\xc2\\x27\\x9e\\x8e\\xcc\\x9d\\xd4\\xa8\\xbf\\x85\\x75\\xda\\xd2\\x56\\x7e\\x0f\\x15\\x0c\\x53\\x43\\x99\\x49\\xd5\\xab\\x66\\x09\\x1e\\x6f\\xa2\\x56\\x6c\\x3e\\x7e\\xad\\xd3\\x65\\x8a\\x1b\\x28\\xce\\x1b\\xe4\\x55\\x1b\\xd9\\x3d\\xf6\\x0f\\xb2\\x1b\\xca\\xbd\\x8a\\x70\\x1d\\xb5\\xe9\\x3c\\x71\\xcf\\x53\\x60\\x35\\xfc\\xe4\\x78\\x7e\\x45\\x93\\xb8\\x6a\\x18\\xd9\\x07\\x6c\\x2f\\x48\\x0b\\xa5\\x43\\x52\\xc6\\xa9\\x82\\x74\\xfe\\x00\\x80\\xca\\xe0\\x40\\xc3\\x22\\xbb\\x83\\x66\\xce\\x20\\xba\\xa3\\x2d\\x49\\x9b\\xdb\\x6c\\x0b\\x6d\\xf4\\x19\\xf4\\x81\\xb8\\xc5\\xde\\x77\\xc6\\xd2\\xb9\\x33\\xa3\\xac\\x81\\x24\\x79\\xef\\xc8\\x8c\\x1e\\xea\\x83\\xc0\\x19\\x16\\x79\\xca\\xf5\\x0f\\x28\\x5f\\x2c\\xad\\xab\\xef\\xa0\\x4d\\x1c\\xdf\\x79\\xe8\\x9a\\xb7\\x1e\\x3a\\xa3\\x6b\\x66\\xcd\\x4e\\x3d\\x6b\\xb4\\x1b\\xf9\\xc9\\xea\\xf8\\x92\\x50\\xf6\\xeb\\xe1\\xda\\xb4\\x11\\xa1\\x23\\x31\\x74\\x0e\\x1d\\xf5\\x72\\x29\\x29\\xa5\\xca\\x5d\\xca\\x8d\\x12\\x09\\x1e\\x9d\\x4d\\x48\\xb4\\x50\\xf9\\x34\\x86\\xdc\\xc2\\xce\\x56\\x95\\x54\\x87\\xa5\\x0f\\xb7\\x19\\x14\\x3f\\x99\\x0e\\xe1\\xbf\\x68\\x31\\xd0\\x95\\x51\\x57\\x24\\x3b\\xd5\\x3a\\xab\\x79\\x9a\\x4f\\x22\\xcb\\xc8\\x1f\\x57\\x7a\\x8d\\x82\\xce\\x5e\\x1f\\xd2\\xb1\\x66\\xa1\\xfe\\x34\\x07\\x4f\\xe9\\x23\\x76\\x8e\\xf1\\x34\\x57\\x8c\\x7e\\x34\\xb3\\xd3\\xec\\x10\\xbd\\x33\\xa7\\xba\\xcc\\x96\\x69\\x20\\xf0\\xc2\\xc6\\x73\\x3a\\xa6\\xf6\\x75\\xde\\x00\\x17\\xd7\\xed\\xf5\\xd7\\x9f\\x53\\x66\\x0e\\x5d\\xf6\\xc9\\x63\\x9b\\x6b\\x1a\\xeb\\x6c\\x66\\x61\\x1e\\x88\\xef\\x3b\\x75\\xfe\\xdc\\x8a\\xe9\\xd7\\x5f\\xfa\\xfe\\xa6\\x81\\xae\\x30\\x9c\\xcb\\x2e\\x82\\xa0\\x77\\xc0\\xb5\\x6e\\x27\\x06\\x8e\\x34\\x56\\x3f\\x0e\\x56\\x66\\xec\\x59\\xbe\\x36\\x50\\x3b\\x50\\x3b\\x5c\\xfb\\xc3\\xda\\xd7\\x6b\\x59\\x03\\x5d\\x5b\\x4b\\x34\\x3e\\x0e\\x46\\x1e\\x09\\xe9\\x1d\\xfa\\x49\\x06\\x2c\\x0a\\x68\\xcd\\xe0\\x4a\\x54\\xe0\\x09\\x13\\xd8\\x96\\xe5\\x6b\\xdc\\x35\\x0a\\x95\\xba\\xda\\x94\\xc6\\xa5\\x99\\xce\\x6b\\x89\\x1d\\xe7\\xd5\\x72\\x97\\x5f\\xe5\\x98\\xb3\\x17\\x1a\\xf7\\x90\\x96\\xa9\\x8c\\x69\\x54\\x9e\\x16\\x40\\xed\\xb2\\xe8\\xdb\\x26\\xb7\\xd7\\x96\\x35\\x4a\\x12\\x57\\xdd\\xd9\\xd3\\xec\\x13\\x38\\x3d\\xef\\x2e\\x9b\\x69\\xb6\\x78\\xc8\\xae\\x3b\\xb6\\x77\\xef\\x9d\\x3d\\x6d\\xe0\\x92\\xcd\\x33\\x47\\xd6\\x54\\xcc\\xb8\\xaf\\x7f\\x79\\xe7\\x05\\x7d\\x17\\x7f\\xb8\\xa6\\xb1\\xb3\\x7c\\x7e\\xbb\\x95\\x31\\x1a\\xbd\\x6d\\xdd\\xc9\\x65\\x16\\xe9\\xf2\\xd9\\x93\\x87\\x96\\xef\\xff\\xec\\xfe\\x6b\\xce\\xdc\\x1e\\x7f\\xf4\\xad\\xe1\\x07\\x6f\\x1b\\x7a\\xf4\\x25\\xe5\\x1e\\x24\\xbf\\x75\\xe0\\x1d\\xf0\\x67\\xfa\\x61\\xe8\\x2f\\x3a\\x8f\\x1a\\xca\\x22\\x11\\xa7\\x2a\\xb9\\x88\\x2a\\x39\\x6c\\xf9\\x40\\x3d\\x3e\\x83\\x28\\x35\\x35\\xda\\x49\\xa9\\x46\\xb0\\x20\\x41\\xd0\\x3b\\xa7\\xd1\\x5d\\xd5\\x76\\xfa\\x56\\x9b\\x51\\x36\\x4a\\x8b\\x3a\\x7c\\x81\\xb4\\x9c\\x4a\\x4d\\x8d\\x48\\xac\\x9f\\x3e\\xd3\\xdd\\xd9\\x3c\\xf9\\xd1\\x55\\xc3\\x3d\\x69\\x33\\xcb\\x70\\x93\\x3a\\x5b\\x12\\x41\\x7f\\x66\\xd6\\xe0\\x45\\xd6\\x80\\x6a\\x8f\\x89\\x95\\xca\\x7a\\xea\\x0e\\xa8\\x3f\\x41\\xb4\\xb7\\x64\\xb0\\x0c\\x3a\\x11\\xea\\xde\\x32\\x8e\\xdb\\x5b\\xc5\\xea\\xa2\\xa3\\xd0\\xa1\\x8f\\x2c\\x85\\x8a\\x47\\xf4\\xe7\\xde\\xb6\\x3e\\x9f\\x9d\\x8e\\x91\\xd1\\xc9\\x8d\\xe6\\x9f\\x73\\x89\\x40\\xc0\\xc8\\xd3\\xcf\\xe9\\x83\\xe5\\xd4\\x9c\\xb6\\xfe\\x29\\x07\\x04\\x39\\x98\\x6e\\x92\\x67\\x7c\\x35\\xa3\\x22\\xe0\\x74\\x59\\x02\\xf4\\xa4\\x36\\x5d\\xd8\\x86\\x7c\\x54\\xed\\x6c\\xf2\\x10\\xe1\\x23\\x36\\x16\\x8a\\x13\\x7d\\xae\\x0d\\x7e\\xae\\x9b\\xf0\\xe0\\x67\\x77\\x5e\\x9c\\x68\\x15\\x10\\x11\\x7a\\xa8\\x64\\x28\\x68\\x5d\\x48\\x68\\xeb\\xc1\\xab\\x47\\xf7\\x1c\\x55\\xee\\x99\\xd1\\xde\\xeb\\x87\\xa3\\x00\\xbb\\x56\\xad\\xad\\xbe\\xed\\x82\\xd1\\x96\\xad\\xc0\\x07\\xe8\\xcb\\x0e\\x76\\x0c\\x76\\xdc\\x28\\x78\\xdc\\x9d\\x57\\xef\\x79\\x46\\xe9\\xbb\\x13\\x99\\x73\\x38\\xef\\xe5\\x63\\xbf\\xa7\\x76\\xb0\\x57\\x13\\x53\\x88\\xc0\\x24\\x03\\x3c\\x6d\\x16\\x13\\x8d\\xf0\\xf4\\x29\\xd3\\x26\\x5f\\x96\\x3f\\x7d\\x72\\xb3\\x57\\xd7\\x3d\\x56\\x30\\x32\\xb2\\x4a\\x1f\\x83\\x6f\\x0d\\xd4\\x91\\xa8\\xae\\x90\\x94\\x67\\xa0\\x86\\x9b\\xa8\\x11\\xe1\\x91\\x7c\\x32\\xd8\\x6a\\xe1\\x58\\xaf\\xd7\\xe1\\x12\\x42\\xe5\\xcd\\x70\\xc4\\x75\\x99\\xc6\\x68\\x72\\x6d\\xa8\\x06\\x1c\\x6c\\x9f\\xec\\xed\\xa8\\xef\\x78\\x7d\\xed\\x0a\\x72\\x52\\x75\\x75\\xf4\\x9a\\x97\\x2f\\x5a\\x5c\\x6b\\xab\\x9c\\x49\\x0d\\x25\\xbb\\xc3\\x0b\\x3b\\x2b\\x26\\x35\\x54\\x0a\\x22\\xcf\\x59\\x1a\\x9a\\x16\\xb4\\x58\\x4d\\xb2\\xc1\\xea\\x92\\xad\\xe9\\x96\\x0b\\xcf\\xf6\\x39\\x3d\\xad\\xb3\\xaf\\xfe\\x6f\\xba\\xe7\\xfc\\xae\\x8e\\xfe\\xba\\x64\\x67\\xd2\\x37\\xef\\xf0\\xd9\\xd3\\x66\\x9e\\xd5\\x57\\x1b\\xb6\\xa0\\xf3\\xa0\\x1b\\xef\\xa3\\x87\\x09\\x27\\x51\\x4e\\xc4\\x1e\\x09\\x41\\x91\\x6a\\x6b\\x8b\\x64\\x2a\\xc2\\x63\\x16\\x3d\\x8b\\xc5\\x5b\\x45\\x3b\\x11\\x9a\\x4a\\x0e\\xfb\\x90\\xd8\\x49\\xe1\\x32\\x3c\\x38\\x87\\x10\\x34\\x6b\\x60\\x6e\\x5b\\xfb\\xf4\\x90\\x93\\x8e\\x90\\xf2\\xee\\x25\\x2b\\x3b\\x8f\\xaf\\x19\\x72\\x4a\\xfe\\xe9\\xe4\\xca\\x48\\xca\\xd3\\x38\\x49\\x59\\x37\\x7b\\x8a\\xcf\\xa9\\xa7\\x86\\xba\\x07\\xa6\\xee\\x36\\x85\\x9c\\x23\\x97\\x9e\\x39\\xfa\\xde\\x7f\\xc0\\xef\\x2f\\xeb\\xab\\x9f\\x3e\\xfa\\xb7\\xb9\\xff\\xc9\\x36\\x65\\x3c\\x93\\x97\\xdd\\xfc\\x3f\\xd3\\xa0\\xdc\\xbf\\x1c\\xfb\\x92\\x1e\\x82\\x72\\x6f\\x22\\xba\\x1e\\x4d\\x48\\x8d\\xc9\\x24\\xda\\xca\\x2b\\xe1\\x98\\x92\\x60\\x04\\x3a\\x2a\\x32\\xde\\xd6\\x21\\xe8\\xa4\\x58\\x1a\\x1b\\x9b\\xd4\\xfd\\xd0\\x58\\xe4\\xa4\\xe4\\xaa\\x58\\x5a\\x54\\xca\\x51\\xac\\x81\\x41\\x68\\xec\\x91\\x67\\x90\\x16\\xd4\\x5a\\x83\\xdc\\x5c\\xb4\\xa3\\x80\\xf5\\x21\\xde\\xc3\\x2e\\x10\\xb4\\xe1\\x79\\x51\\x89\\x44\\xd8\\x36\\xb8\\x73\\x9b\\x52\\x76\\x39\\x23\\x4a\\x75\\x3e\\x7a\\xee\\xef\\xcd\\x2b\\x56\\x36\\x87\\x1d\\x64\\xb4\\x3a\\xd3\\x63\\x34\\x92\\xeb\\x4e\\x17\\x17\\x82\\x55\\x8b\\xe7\\x8e\\x3e\\xbc\\x1a\\x04\\x04\\xcf\\xee\\x1b\\xcf\\xdd\\x76\\xfc\\x75\\xb7\\xe4\\xf6\\xc1\\xdd\\x2a\\xca\\xee\\xf4\\x86\\xbe\\x73\\xed\\x2e\\x77\\x6b\\x8a\\x8f\\x55\\x88\\x3a\\x5d\\x76\\x55\\x83\\x41\\x89\\x5e\\xab\\x7c\\xe7\\x41\\x10\\x40\\xba\\xa5\\x57\\x96\\x83\\x8f\\xe1\\xfc\\x06\\xd0\\x9e\\x4a\\x83\\xe5\\x88\\x6c\\x21\\xaf\\xdb\\x25\\xe7\\x95\\xc6\\x17\\x2c\\xa9\\x87\\x03\\x2e\\xff\\x83\\x0b\\x8d\\xfe\\xaf\\xc3\\xf6\\x98\\xc2\\xf7\\xe6\\xaa\\xfa\\xa5\\xa1\\x38\\x54\\x2d\\x8c\\xfc\\xba\\xba\\x45\\xf2\\x47\\x2c\\x7a\\xa3\\xce\\xe8\\xd8\\xd3\\x1c\\x63\\x29\\x3d\\xa9\\xb7\\x38\\x6c\\x92\\x57\\x34\\x33\\x34\\x2f\\x3a\\x64\\x49\\x30\\x53\\x14\\x67\\xe1\\x02\\x21\\x9f\\x8e\\x73\\x31\\x2c\\xc3\\xb0\\x26\\x8b\\x60\\x3a\\xc3\\xc0\\x5b\\x6c\\x26\\x9d\\xcd\\x6a\\x14\\x83\\xd4\\x50\\x6f\\x5b\\x62\\x76\\x57\\x39\\xab\\xd7\\x5b\\x8c\\x1c\\x1f\\x8b\\x18\\xfd\\xb6\\x6a\\xb3\\x3b\\x58\\xe1\\x0e\\x24\\x6b\\xea\\x43\\xd2\\xa2\\xed\\xd7\\x5e\\x7f\\xd5\\x79\\x73\\x78\\x8b\\xc5\\xac\\x17\\x45\\x1b\\xcd\\x9a\\x59\\x9d\\x8d\\x77\\xd4\\x64\\x16\\x75\\x93\\xad\\xe9\\xbe\\xda\\x90\\x8d\\x73\\x7b\\x3d\\x06\\xa3\\xa0\\xfa\\x75\\x77\\x41\\xc5\\xfb\\xff\\x31\\xf6\\x1d\\xf0\\x71\\x54\\xd7\\xde\\x73\\x67\\x66\\x77\\xb6\\xcf\\x6c\\x99\\x9d\\xed\\xbd\\x6b\\xd5\\x76\\x25\\xad\\xfa\\x8e\\x64\\x49\\x96\\x2c\\x4b\\xb2\\x6c\\xc9\\xd6\\x4a\\xb6\\x5c\\xe4\\x22\\xcb\\xdd\\xb8\\x62\\x6c\\x6c\\x9a\\xb1\\x0d\\x18\\x70\\x4c\\x31\\x06\\x0c\\x06\\x12\\x08\\x98\\x66\\x30\\xa1\\x06\\x82\\x09\\x81\\xd0\\x92\\x40\\x0a\\x79\\x21\\xa4\\x17\\x12\\x20\\xa4\\x91\\x58\\xa3\\xef\\xde\\x99\\x6d\\xb2\\xcd\\x7b\\xdf\\x4f\\xc1\\x48\\xfb\\x78\\xd6\\x39\\xf7\\x9e\\x7b\\xce\\xff\\x9c\\x7b\\xee\\xff\\xd4\\x41\\x3f\\x52\\x02\\x71\\xa6\\xdb\\x28\\x6d\\x9a\\x1b\\x6e\\x21\\x26\\x23\\x65\\xb9\\xcc\\xa2\\x18\\x67\\xa2\\x97\\x36\\x30\\x61\\x48\\x54\\x87\\x51\\x69\\x30\\x25\\x8e\\x5b\\xca\\x47\\xcb\\xdc\\xbe\\xa1\\xe3\\x04\\x01\\x37\\xf8\\xa8\\xc5\\x2b\\x04\\x77\\x02\\x53\\x50\\xce\\xe9\\xb8\\x96\\x3a\\x7b\\x6d\\x55\\x97\\x55\\xad\\xc4\\x1b\\x87\\x5b\\xe3\\xc6\\xc8\\x40\\xa9\\x02\\xf8\\x83\\x4f\\x77\\x02\\xa7\\xd9\\xd6\\xd0\\xe8\\x74\\xa7\\x9f\\x74\\xb5\\xd5\\xcc\\x9c\\x71\\xaf\\x42\\x63\\x75\\x44\\x4b\\x42\\x65\\xab\\x3e\\xdc\\xce\\x5f\\x6d\\x43\\xe7\\xa2\\x77\\xea\\xaf\\x64\\x0a\\x9e\\x0b\\x07\\x16\\x46\\x68\\xd8\\xfb\\x9c\\x68\\x74\\x66\\x08\\x95\\x9c\\x98\\x2e\\x0b\\x95\\x74\\x05\\xa8\\x54\\x52\\x84\\x93\\x90\\x4c\\xe6\\xec\\xc1\\x20\\xb3\\xc7\\x1b\\x55\\x82\\xbd\\x52\\x0b\\x27\\x60\\x1a\\xaa\\xbd\\x35\\x2c\\xa3\\x24\\x69\\x13\\x2e\\xdf\\xb3\\xe1\\x84\\xf0\\xd9\\x43\\x6f\\xbf\\xbc\\x79\\xcd\\xfe\\xef\\x01\\xe7\\x9b\\xbf\\x9e\\xd3\\x43\\xcc\\x4d\\xce\\x4a\\x8e\\x77\\x92\\x0a\\xaf\\x4e\\x75\\xe6\\xc5\\x1f\\x08\\xd7\\x9f\\xfd\\xde\\xbb\\x97\\x7d\\xba\\xe4\\xf0\\x7b\\xbf\\xf8\\xd1\\xf3\\xa3\\x73\\xd0\\xfa\\xbd\\x0c\\xcf\\xec\\x5c\\xb8\\x7e\\x0b\\x20\\x2e\\xee\\xd1\\x56\\xb7\\xc0\\x28\\x37\\xf1\\x44\\xc6\\xda\\xf2\\x0c\\x5c\\xc3\\x05\\xd1\\x48\\x54\\x92\\x2e\\x52\\x58\\x43\\xa9\\x0f\\x47\\x3c\\x02\\x48\\x44\\xf1\\x35\\x42\\x09\\x98\\x8e\\x82\\xa0\\xe5\\x8b\\x4d\\x51\\xac\\xb8\\xd8\\xc9\\xfc\\x8c\\xf7\\xd4\\xf4\\xff\\x2c\\x97\\xe2\\x48\\x45\\x50\\x4e\\x1a\\x72\\xf5\\x96\\x9b\\x61\\xcb\\x4b\\x1b\\x54\\x0d\\x5c\\x7d\\x99\\xb7\\xdc\\xc0\\x51\\xc1\\x8e\\xdd\\x3b\\x3d\\x31\\x7d\\x53\\xec\\xdc\\xb5\\x97\\x3e\\xa4\\x33\\xea\\x8d\\x7a\\x4f\\x4d\\x63\\xda\\x97\\x34\\xb2\\x64\\x65\\xe5\\x8c\\x98\\xc9\\xc8\\x51\\x8a\\x80\\x83\\x0d\\x04\\x2a\\x2a\\x9b\\x81\\xd3\\x64\\x1d\\x18\\xdf\\x3e\\x77\\x9d\\x45\\x11\\xad\\x6a\\x8a\\x8e\\x34\\x9a\\xbc\\xa6\\x75\\xad\\x7f\\x6e\\xb9\\xa7\\xa7\\x76\\xc0\\x11\\xb9\\xb1\\x0d\\x38\\x6d\\xed\\x9c\\x7b\\xc6\\xcc\\x9e\\x68\\xed\\x60\\x47\\x55\\x4b\\x62\\xb0\\x9a\\xb1\\xbb\\x8c\\x25\\xe1\\xc0\\xcc\\xb8\\xc1\\x17\\x8b\\x2e\\xbd\\xba\\xa5\\x7c\\x6e\\x97\\xe8\\xa7\\x9b\\x60\\x7c\\xfa\\x31\\x5c\\x17\\x1e\\x2b\\x79\\x3c\\x56\\x03\\x17\\xe5\\x74\\x26\\x16\\xd3\\x58\\x9f\\x01\\x63\\x4f\\x06\\x2e\\x86\\x6f\\x51\\x77\\xf1\\x05\\xf8\\x56\\xec\\x00\\xcf\\xc6\\xac\\x50\\x2e\\x68\\x79\\xb3\\xfd\\x62\\x12\\x04\\xa8\\x4e\\x89\\x0f\\xba\\x72\\xc7\\x0d\\xe0\\xd5\\x51\\x7f\\x85\\x9e\\x25\\x43\\xe0\\x6f\\x7c\\xa7\\x8b\\x79\\x93\\x8a\\x7b\\x5d\\x6a\\x85\\x9c\\xfc\\xb6\\xc2\\x13\\x14\\xee\\xa8\\xc9\\x44\\x9d\\x3d\\xfc\\x7c\\xbf\\x09\\x0f\\x27\\x07\\x4c\\x7a\\xb5\\x2a\\xbc\\x7d\\x05\\x31\\xd0\\xd2\\x1a\\xdb\\xd0\\x61\\xb0\\xba\\xac\\x55\\xa9\\xe8\\xe8\\x7f\\xf7\\x87\\x3d\\x56\\x0b\\xa9\\x70\\x92\\xed\\x28\\xdc\\xd9\\x97\\xfa\\x4c\\xf2\\xfa\\x74\\xfd\\x69\\x63\\xd8\\xe9\\x48\\x95\\xd2\\xeb\\x2e\\xfb\\x43\\x2f\\xda\\xf7\\xb7\\xe0\\xbe\\x63\\xd0\\x57\\x34\\x60\\xa9\\xc7\\x75\\x50\\xad\\x89\\xa7\\x33\\x3a\\x5d\\x7d\\x65\\x7d\\x83\\xa4\\x59\\x3d\\x58\\xfa\\xa4\\x22\\x50\\x19\\x90\\x7e\\xaa\\x2c\\x32\\xce\\x6c\\x4f\\x1c\\x32\\x00\\xe9\\x09\\x63\\x4e\\x1f\\x69\\x2f\\xa1\\x3e\\xa8\\xb1\\x38\\x17\\x8a\\xfc\\x17\\x2e\\x08\\x72\\x84\\x78\\xe7\\xd8\\xe5\\x7d\\xf3\\x47\\x85\\xf7\\x42\\xd5\\x91\\xc0\\x81\\x58\\xbd\\x89\\x25\\xe7\\x2f\\x42\\xc5\\x46\\xa3\\x29\\xd3\\xa3\\xac\\x8a\\xf9\\x13\\x06\\x14\\x50\\x8f\\x6d\\xb8\\xa4\\xe2\\x1b\\xdb\\xcf\\x7d\\x02\\x03\\xea\\x82\\x1f\\x2d\\x1b\\x9a\\x63\\x68\\x34\\x18\\xd4\\xfb\\xc2\\x1b\\x7a\\x0c\\xe1\\xba\\x26\\xab\\xa3\\x3e\\xb2\\xf1\\x8d\\xf6\\x96\\xb6\\xf8\\x9a\\x0e\\x18\\x66\\xeb\\xaf\\xfd\\xda\\xd3\\x42\\xf5\\x2d\\x62\\x98\\x85\\xfb\\x87\\x0b\\xbb\\xc8\\x25\\x50\\xbf\\x56\\xac\\xf2\\x09\\x4c\\x1b\\x78\\x11\\x22\\x8c\\x3a\\xe8\\xe7\\x91\\x87\\xaf\\x83\\xa6\\x6d\\x25\\xb4\\x84\\x84\\xa8\\x8b\\xb2\\x28\\xe9\\xc1\\x07\\xba\\x45\\xc2\\x52\\xc5\\x9e\\x3c\\x47\\x85\\x0e\\x37\\x0a\\xcb\\xa6\\x54\\x50\\xd3\\x26\\x94\\x74\\x4b\\xdd\\xe2\\xb9\\xff\\x96\\x93\\x6e\\x87\\x74\\xf8\\x7f\\x96\\x80\\x35\\x07\\x86\\xfa\\x9d\\x7a\\xb2\\xae\\xb3\\x3c\\x6a\\x0e\\xd1\\x72\\x1d\\xad\\x2a\\x11\\xc2\\x1f\\xf5\\x3b\\xfc\\x72\\xd2\\x38\\x57\\xc5\\x1c\\xf0\\x65\\xc2\\x6c\\xfd\\x68\\xb7\\x4f\\x87\\x97\\xd8\\xba\\xd2\\x8d\\x7d\\xad\\x3e\\x30\\xba\\x15\\xf4\\x2e\\xdb\\x50\\x79\\x93\\xce\\xee\\x32\\xc5\\xa3\\xa5\\xeb\\x34\\x6a\\x61\\xf5\\xe4\\xe9\\x3b\\xcf\\x72\\x72\\x63\\x9c\\x51\\x12\\x9a\\x97\\x0f\\x35\\x44\\x75\\xfe\\x0d\\xa9\\x03\\x30\\x20\\x13\\x7c\\x79\\xcb\\xd8\\x9e\\xfd\\x47\\xc4\\xbb\\x32\\xb8\\x97\\x51\\x68\\xab\\xb3\\xb1\\xd6\\xa7\\xda\\xc2\\xdd\\x35\\x36\\x5a\\x52\\xcd\\x06\\x15\\x6d\\x89\\xd5\\xc4\\xa4\\x9f\\x6a\\xe0\\x4f\\x33\\x67\\x77\\xcf\\x96\\xb6\\xb4\\xbb\\xc8\\x2b\\x16\\x36\\x56\\x0c\\x6d\\xd5\\x55\\xe1\\x60\\xce\\x39\\x86\\xb2\\xca\\x99\\xa7\\x1d\\x6c\\x17\\x0e\\xa3\\x5a\\x31\\x9a\\x3f\\x0f\\xd1\\x72\\xa2\\x0f\\x85\\xdb\\x3c\\x64\\x60\\x84\\x73\\x3d\\x11\\xaa\\xd2\\xe7\\x1b\\x6d\\xb7\\xcb\\x94\\x72\\x77\\xf9\\x4e\\x83\\xcb\\x4c\\x07\\xcb\\x07\\x6a\\x8f\\xcd\\x61\\xca\\x5c\\x6d\\x5e\\x9d\\xbc\\xb2\\x81\\x4f\\x86\\x19\\x85\\x5a\\x6b\\x2a\\x7f\\x75\\xf4\\xf7\\x51\\x66\\xd1\\xb9\\x5f\\xed\\x00\\x56\\x15\\xa5\\xfd\\x55\\x4b\\xad\\x87\\xd3\\x5f\\xc2\\x99\\xd5\\x57\\xd7\\x6c\\x51\\xc8\\x83\\xa6\\x01\\x4b\\x90\\x9f\\xe9\\x32\\x87\\x13\\x15\\x6d\\xf3\\x4e\\x36\\x54\\x55\\x34\\x1f\\x66\\xdc\\xb6\\xca\\x44\\x60\\xa7\\x46\\xf3\\xd1\\xb1\\xf7\\x42\\x7e\\xb3\\xe7\\x79\\x60\\x95\\xee\\x65\\xfe\\x0a\\xf7\\x5f\\x03\\xf7\\x9f\\x81\\xa8\\x3e\\xf8\\x24\\x86\\x35\\xfa\\x5a\\x94\\x10\\x68\\x29\\xa0\\x1d\\x34\\x62\\x15\\xe2\\x12\\x34\\xe6\\xc1\\x96\\x94\\x9b\\x26\\x58\\x02\\x81\\xdd\\x6a\\x14\\xf0\\xa4\\x4d\\x17\\x13\\x68\\xa8\\x70\\x0e\\x5a\\xa5\\xf3\\xb0\\xa4\\xd8\\xac\\x81\\x49\\x7d\\x4a\\xe6\\xf0\\x06\\xb4\\x0c\\xf9\\x10\\xae\\xa9\\x89\\xe3\\xc3\\x2d\\x1d\\xee\\xa0\\x71\\x78\\xe9\\x7b\\x6d\\x29\\x7c\\x46\\x3c\\x1e\\xfa\\xcd\\xef\\xe7\\xb4\\x19\\xca\\x3a\\x85\\x81\\x1e\\xde\\x9f\\x64\\x58\\x88\\x57\\x5f\\x56\\x9e\\x73\\x5b\\x6c\\x16\\x83\\xc9\\x4b\\x3c\\xa3\\x37\\x78\\x39\\xf0\\x90\\xbb\\x63\\x68\\xe3\\xd7\\x32\\x3b\\x9a\\xae\\x2c\\xed\\x0c\\x56\\x56\\x34\\x95\\x3b\\x6f\\xbf\\xe5\\xe6\\xe4\\x25\\x0b\\x13\\x5e\\x6d\\xba\\x37\\xb2\\xa2\\x13\\x1a\\x78\\x16\\x37\\x4f\\xfd\\xbd\\x18\\x37\\x2f\\xfd\\xff\\xc4\\xcd\\x59\\xc5\\x2e\\x44\\xcd\\x87\\x71\\xad\\xa9\\x4f\\xad\\x23\\x77\\x9f\\x8f\\x9a\\xcf\\xbd\\xa3\\xb5\\xb1\\x4d\\x3a\\x37\\xfe\\xa2\\x88\\x9a\\xd1\\xef\\xbe\\x09\\xc3\\x64\\x1f\\xc2\\x35\\x1d\\xc6\\x92\\x67\\x30\\x57\\xb2\\x81\\x9c\\xd3\\x31\\x07\\x7a\\x8e\\x27\\x33\\x51\\x6d\\x07\\x8a\\x17\\xa9\\x01\\xeb\\x80\\x64\\x5d\\xd6\\xa2\\x78\\x21\\x4d\\x03\\x44\\xa5\\xc1\\x70\\x3e\\xa8\\x49\\x65\\x13\\x4a\\x4c\\xfe\\x08\\xaf\\x18\\x1a\\xf2\\x22\\x9b\\xb9\\xa2\\xf3\\xa6\\x37\\x71\\xa8\\x06\\x90\\xfd\\x7f\\x84\\xff\\x17\\xb7\\x44\\x3a\\x21\\xb5\\x28\\x42\\x57\\x22\\x46\\x20\\x99\\xca\\xdf\\x1f\\xad\\xa7\\xd5\\xa4\\xab\\x77\\xa8\\xbc\\x6a\\x82\\xdf\\x3a\\xef\\xd5\\xc9\\xf5\\x4e\\x6f\\x74\\xf6\\x2c\\xaf\\x06\\x77\\x26\\xbb\\x12\\xf0\\x00\\x6a\\xb5\\x96\\x51\\x6b\\xcb\\xe1\\x13\\xb5\\x6d\\xa1\\x5a\\xbd\\x1a\\xe0\\x46\\x47\\x79\\x4d\\xaa\\x54\\x4b\\x39\\x8d\\x96\\xe4\\xdf\\xf7\\x81\\x57\\xaf\\x5e\\x36\\xab\\xbb\\x82\\xd8\\x6a\\x56\\x18\\x97\\xc4\\x7a\\x52\\xb4\\xda\\xae\\xa0\\xf5\\xf3\\x5a\\x5a\\x7b\\x56\\xf1\\x27\\x6f\\x14\\x1e\\x00\\x65\\x6f\\x1c\\x79\\xa1\\xc5\\xd2\\xdf\\xbe\\x5b\\xa7\\x63\\x2d\\x04\\x19\\xaa\\x09\\x6d\\xd5\\x6a\\x85\\x87\\x0f\\xdc\\xb2\\xfc\\xdd\\x3f\\xce\\xd7\\x8c\\xf9\\x87\\x66\\x28\\x02\\x1c\\x2e\\x23\\xe2\\x75\\xe5\\x1b\\x48\\xae\\x5a\\x38\\xf6\\xdd\\x5f\\x5e\\x3b\\xa7\\xa7\\x45\\xc4\\x28\\x4f\\x4c\\x7d\\x42\\xae\\x84\\xf1\\xbf\\x16\\x2b\\x7b\\x4a\\xa6\\x2a\\x53\\x2a\\xb3\\xf5\\x30\\x25\\x74\\xb2\\xa6\\x1a\\x4f\\x16\\x6a\\x7a\\x8a\\x9d\\x2c\\x26\\xdd\\xb8\\xc0\\x93\\x96\\x8d\\xa1\\x89\\x54\\xf8\\xab\\x1d\\xaa\\x14\\x3d\\x52\\xd9\\xfa\\x99\\x0e\\x00\\x3b\\xad\\xa7\\xe7\\x54\\x0b\\x7f\\xb9\\x72\\xa1\\x87\\x20\\xcd\\x2b\\x57\\x9a\\xbb\\xf8\\x50\\x15\\xa3\\xa7\\xbc\\x78\\x70\\xf1\\xe2\\xf0\\x35\\x21\\x73\\xbb\\x56\\xa7\\x8e\\xcd\\xaf\\x9b\\x2d\\xec\\x9b\\xb7\\x08\\xc7\\x43\\xad\\x30\\x32\\x70\\x4f\\x8c\\x42\\xcc\\xc9\\xa4\\xbb\\x76\\x3e\\x37\\xd8\\xd6\\x1d\\x5b\\xd1\\xaa\\xf2\\x5b\\x4a\\x56\\x6c\\x3c\\x30\\x39\\xe6\\x33\\xfb\\x55\\x4a\\xe7\\x16\\xf0\\x9d\\x55\\x8b\\x1a\\x5a\\x1e\\x96\\x38\\x16\\x06\\xa0\\x1d\\xde\\x4a\\x3e\\xcd\\x84\\x64\\x32\\x0c\\x63\\x28\\x99\\x0c\\x7c\\x24\\x7e\\xbe\\x01\\x7e\\x7e\\x9f\\xf8\\xb9\\x32\\xfb\\xf9\\x27\\xd2\\xe7\\xe0\\xa7\\x04\\xcc\\x37\\xf3\\x9f\\x2b\\xf1\\x6c\\x9d\\x03\\x3f\\x0c\\x3e\\x23\\xd7\\x61\\x2c\\xa6\\x7e\\x5c\\xcd\\x3e\\x83\\xd6\\xe0\\x2d\\xf1\\x2c\\xc2\\xc3\\x47\\x4a\\x35\\x37\\x59\\x12\\xbc\\x6f\\xe7\\x98\\xce\\xee\\x35\\x2e\\xb6\\x8d\\xd1\\x32\\xe5\\x6d\\x8b\\xa2\\x6e\\x72\\x1d\\xad\\xf5\\x58\\x57\\xaf\\xbb\\xd9\\xab\\x57\\x58\\xb8\\xae\\xb5\\xb7\\x77\\x8a\\xe7\\x1e\\xfd\\x7d\\x84\\x57\\xfc\\xfb\\x4a\\x30\\xfa\\x49\\xaf\\xba\\x44\\xfa\\x3b\\x93\\x6f\\x25\\x2e\\xf8\\x5b\\xbd\\xff\\xe7\\x2f\\x01\\xd7\\xff\\x7f\\xfc\\xde\\x8b\\xca\\x31\\x05\\x51\\x04\\xd1\\x43\\x3c\\x81\\xd1\\x98\\x01\\xb1\\xb2\\xe8\\x75\\xb4\\xd6\\xa0\\x91\\xcb\\x18\\x86\\xd4\\x50\\x94\\xd1\\x44\\x93\\xa4\\x51\\xaf\\xeb\\xcd\\xe8\\xf5\\x38\\x23\\xa3\\x29\\x8d\\x86\\xa4\\x71\\xba\\x37\\xa3\\x42\\x2d\\xff\\xd3\\xdf\\xc9\\x16\\xf5\\x87\\x1a\\x24\\x66\\x81\\x3a\\xb1\\xc9\\x3f\\x25\\xbe\\x88\\x4d\\x1a\\xc5\\x97\\x0f\\x61\\x2f\\x05\\x08\\xef\\x21\\xb5\\xf0\\x3d\\xd5\\x2c\\xf0\\x9b\\x1f\\x3f\\xd6\\xae\\x12\\x3a\\xd5\\x1b\\x4a\\x85\\x33\\x3b\\xc0\\xc6\\xd7\\x80\\xbc\\xb1\\xb1\\xce\\x44\\xac\\x38\\x77\\x87\\xb1\\xbe\\xd1\\xf0\\xbb\\xdf\\xe2\\xf7\\x09\\x77\\x88\\x32\\xf2\\xf0\\x3c\\x97\\x10\\x0f\\xc3\\xec\\x33\\x8c\\xdd\\xcb\\x2f\\x09\\xbb\\xdc\\x41\\xa7\\x03\\x0b\\x85\\x1c\\x2a\\xbd\\x52\\x69\\x30\\x38\\x1c\\x01\\x0b\\x41\\x44\\xdd\\x81\\x40\\x24\\xe0\\x70\\xfb\\xdc\\xbd\\x99\\xb0\\x0b\\x8a\\xa8\\xef\\xcd\\xd0\\x61\\x77\\xb8\\x3c\\x4c\\x28\\xfb\\x54\\x8b\\x55\\x38\\xad\\x72\\xab\\xd0\\x37\\x1b\\x54\\x32\\x0d\\x11\\x56\\x85\\x55\\xb8\\x8f\\xb5\\xd8\\x6c\\x86\\xde\\x8c\\x8d\\x0d\\x61\\xe2\\xd0\\x73\\x65\\x6f\\x86\\x44\\x93\\xcf\\x93\\x25\\xc5\\x11\\x47\\x7c\\x5b\\x89\\x5e\\x35\\x8c\\x2e\\x2a\\x91\\xe8\\xc9\\x24\\x55\\x93\\xb9\\x57\\x96\\x85\\x17\\xc0\\xd2\\xb3\\x06\\xd4\\xc3\\x2d\\xcd\\xd5\\x4a\\xa6\\x92\\x84\\x3f\\xec\\x27\\xb2\\x93\\x58\\xbc\\x69\\xdc\\x2b\\xcd\\x9b\\x07\\x46\\x80\\xeb\\x47\\xd5\\xc4\\xba\\x78\\xb7\\x7c\\xce\\xa1\\xa1\\xfa\\x67\\xc2\\xdd\\xd5\\xdd\\xf8\\x33\\x4d\\xa3\\x0b\\xb6\\x27\\x3a\\xbb\\x9b\\xcf\\x3d\\xac\\x3e\\x14\\x16\\xde\\xbd\\x7f\\x58\\x2d\\x3c\\xa4\\xde\\x81\\xaf\\xee\\x16\\x9e\\x45\\x7d\\xda\\x5f\\xde\\x46\\x09\\xdf\\x5a\\x25\\xbc\\x3f\\x21\\x3c\\x28\\x23\\x4e\\x09\\x9f\\xb5\\x5a\\x7e\\xfa\\x53\\x71\\x34\\x41\\x12\\x3c\\x2c\\x0c\\x88\\xbd\\x93\\x60\\xea\\xcf\\xb2\\x7d\\xc4\\x59\\x4c\\x81\\xc5\\xb1\\x26\\xc4\\x0f\\x60\\x27\\x2a\\x95\\x9e\\xb2\\x32\\xcc\\x54\\x6b\\xa2\\x43\\x74\\xa8\\x39\\x5d\\xea\\xf1\\x34\\xf8\\x1b\\xfa\\x33\\x7e\\xc6\\xc6\\xb9\\xb8\\x39\\x19\\x65\\x65\\x25\\x56\\x65\\xc4\\xfa\\x32\\x46\\x63\\xcc\\xc5\\xc4\\x34\\x55\\x72\\x8d\\xbc\\x2f\\xa3\\x29\\x7a\\x65\\x99\\x7b\\x91\\xa6\\xcf\\xcf\\x67\\x39\\x7f\\x22\\x93\\x3e\\x59\\x57\\x27\\xd2\\x48\\xe4\\xde\\x18\\xe4\\xda\\xb5\\x51\\x52\\x29\\x36\\x0f\\x88\\x54\\x00\\x9e\\x5c\\x53\\xbb\\x98\\x23\\x18\\x39\\xf1\\xcd\\x5a\\x32\\x91\\xa3\\x7f\\xc5\\xcd\\xfb\\x1e\\xaa\\x74\\xcc\\xbc\\xc2\\x9f\\xdc\\xdf\\x7c\\xdd\\xdd\\xd7\\x7c\\x79\\x9f\\x6c\\x6c\\x61\\x72\\x55\\x26\\xbe\\xe0\\xed\\x25\\xd8\\x54\\x67\\xef\\xbd\\xa3\\x7b\\x8f\\xdf\\x2e\\x7c\\x7e\\xa2\\xe6\\xd6\\x6f\\x13\\x03\\x5d\\xd5\\xab\\x83\\xdd\\xfb\\xe7\\x75\\xa4\\xe3\\xbb\\xc0\\x69\\xfa\\xd8\\x92\\x58\\xec\\x87\\x5f\\xfa\\x02\\x1b\\x17\\x65\\x6e\\x5b\\xaa\\x6b\\xdb\\xb4\\xcb\\xdf\\x90\\xee\\x9a\\xfb\\xc4\\xc2\\x05\\x67\\xee\\x7c\\x58\\x78\\xff\\x94\\x1f\\xbf\\xbd\\x75\\xf7\\xdf\\x46\\x82\\xa1\\xc3\\x5f\\xec\\x59\\xb3\\x75\\x3e\\x5c\\xa7\\xa9\\xf7\\xe0\\x1f\\x0f\\x42\\x9b\\xb2\\xc0\\x08\\x15\\xc1\\xb6\\xf1\\xad\\x5e\\x47\\x24\\x02\\x38\\xce\\xc9\\x3a\\x69\\x95\\x95\\x20\\x82\\xac\\x8a\\x8d\\xc6\\x1c\\x40\\xa3\\xd5\\xf4\\x66\\xbc\\x5c\\x9f\\x76\\xb1\\x16\\xa7\\xb5\\x6e\\x2d\\xae\\x21\\xb4\\x5a\\x85\\x5e\\x1f\\x81\\x67\\x82\\x46\\xff\\x28\\x9c\\xbd\\x19\\x85\\x0a\\xfe\\x83\\xc8\\xd7\\xb3\\xed\\xdf\\x79\\xe2\\xbd\\xe4\\xf9\\xec\\xb8\\xb9\\x29\\x9d\\xd2\\xc0\\x3f\\xe0\\x97\\x8a\\xf2\\x45\\x9c\\x11\\xd2\\x8c\\x67\\x59\\x15\\x32\\x9e\\x44\\x0d\\x91\\x94\\xd2\\x16\\xe2\\xf6\\x05\\x7d\\x6b\\x3f\\x79\\x49\\x58\\xa0\\x19\\x6b\\x5a\\xcc\\x2c\\xae\\x1b\\xd1\\x80\\x9b\\x7f\\xf6\\xf2\\xad\\xc7\\x85\\x5f\\x3d\\x3e\\xb7\\x29\\xb9\\xef\\xba\\x2f\\x66\\x0d\\x2d\\x3e\\x52\\x0d\\xce\\x24\\x46\\x36\\xed\\x6e\\x84\\xf6\\xb0\\x68\\x18\\xb4\\x58\\x5a\\x97\\xac\\xbc\\x25\\xfd\\x3f\\x57\\x0a\\x27\\x2f\\x01\\x6d\\xf8\\xca\\xd1\\x5d\\xa2\\x8f\\xff\\xfb\\xd4\\x27\\xc4\\xf3\\xd0\\x3e\\x9c\\x58\\x19\\xcf\\xd9\\x94\\x4a\\xb7\\x81\\x20\\x5c\\x14\\x3c\\xe1\\x6a\\x8a\\x81\\x90\\x84\\xed\\xcd\\x3d\\x2b\\x61\\x5e\\x4d\\xbf\\x5a\\x92\\x37\\xf4\\xe9\\xaf\\x49\\x52\\xd3\\x5e\\x93\\xa0\\x3e\\x1f\\xf0\\xed\\x9f\\xfd\\xed\\x4e\\xe0\\x7b\\xf6\\x6b\\xcf\\x85\\xfb\\x89\\xf6\\xed\\xab\\x9f\\x5e\\xbd\\x6f\\xf3\\xdc\\x4b\\xec\\xa9\\x79\\xe5\\xf3\\x5f\\x37\\xbd\\xfe\\xe4\\x33\\xc0\\x78\\xa4\\xea\\x9f\\xf7\\x24\\x0f\\x4f\\x1e\\xdb\\x7d\\x28\\x64\\xba\\xef\\x73\\xb7\\x1f\\x9e\\xeb\\x77\\xa6\\x26\\x49\\x37\\xdc\\x03\\x05\\xfc\\x95\\xb5\\xbc\\x9b\\x94\\xc9\\x4c\\x46\\x4c\\x6d\\x54\\x73\\x16\\x91\\x9b\\x92\\x44\\xfc\\x94\\x7a\\x23\\x5c\\x64\\x39\\xe2\\x38\\x2c\\x5a\\xde\\xc2\\x0b\\x01\\xb1\\x37\\x05\\x0d\\xcf\\x49\\x18\\x08\\x54\\xbc\\x20\\xfd\\x41\\x69\\x40\\x1a\\xc1\\x5c\\x7b\\x55\\xcd\\x35\\x97\\x1e\\x7e\\xe9\\x71\\xf0\\xed\\xeb\\x85\\x7f\\x9d\\x16\\xbe\\x71\\x4a\\xb3\\xec\\x9a\\x11\\x0d\\xde\\xb3\\xf7\\xea\\x49\\x25\\x09\\x6c\\x78\\x83\\x70\\xd5\\x83\\x53\\xd8\\x41\\xa2\\xd5\\x82\\xff\\x1b\\x11\\xbb\\x16\\xe4\\xd1\\x63\\x2e\\x6c\\x27\\x3f\\x8b\\xb3\\x99\\xcd\\x76\\xbb\\x4e\\x4d\\xd3\\x2a\\x03\\xae\\xc2\\xdd\\x1e\\x9b\\x68\\x0c\\x5c\\x5a\\x8b\\xac\\x81\\x40\\xd6\\x80\\xbe\\xd9\\xa0\\xbd\\x5b\\xfb\\xa8\\x96\\x42\\x76\\x41\\xe9\\xf5\\x6c\\xde\\x2e\\x1c\\x39\\xbb\\xa0\\xc4\\xe7\\x51\\x17\\x98\\xc6\\xb4\\xf1\\x10\\xc5\\xe3\\xbe\\x8b\\xf4\\x90\\x8c\\x42\\x52\\x11\\x0d\\xf5\\x84\\x6a\\xe2\\x8b\\x8b\\x14\\x6a\\x80\\xc6\\xd0\\x00\\x95\\x3a\\x0e\\x95\\x6d\\x78\\x9c\\x79\\xbc\\x01\\x2a\\x4c\\x3c\\x9c\\x57\\x0c\\xf4\\x0e\\x83\\x39\\x96\\x56\\xe1\\x9e\\xbd\\x57\\x0b\\x8f\\x0d\\x0b\\x4f\\x42\\xb5\\x91\\x0d\\xfc\\x1a\\xda\\xfe\\x33\\xe2\\x8c\\x81\\xad\\x7c\\x9b\\x96\\x90\\xbc\\x28\\xe6\\xb0\\x10\\x0e\\xc2\\xe9\\x42\\x7e\\x33\\x2d\\x3a\\x4a\\x62\\x9a\\xc7\\x54\\xa9\\x6c\\xb8\\x0d\\xea\\xc4\\x65\\x5d\\x26\\x72\\x96\\x32\\x5c\\x74\\x9b\\x74\\xd6\\x60\\xb2\\x6f\\x05\\xe0\\x37\\x17\\x52\\x4f\\x16\\xd8\\xe9\\xd1\\x3d\\xe9\\x57\\x3b\\x48\\xf0\\xe3\\x11\\x35\\x51\\x29\\x7a\\xc5\\x83\\xf5\\x7f\\x12\\xbd\\xe2\\x9f\\x9a\\x6e\\xcc\\x7a\\xc5\\x93\\xea\\x65\\xe8\\xbd\\xd7\\x85\\x6e\\x50\\xe2\\xe7\\x12\\x39\\xd4\\xd0\\x5b\\x00\\xc4\\xa1\\x06\\xf7\\xf3\\xf7\\x82\\x1b\\x20\\xee\\x46\\x0a\\x33\\x62\\x0d\\xbc\\x4b\\xa1\\xd3\\x51\\x04\\x49\\x62\\x14\\x65\\x62\\xf5\\xea\\x79\\x19\\x3d\\x25\\x4e\\x96\\x61\\x8b\\x74\\x10\\xc5\\x7f\\xad\\x64\\xda\\xdc\\x1f\\x49\\x5e\\x91\\x35\\x3f\\x57\\xb9\\x84\\x3e\\xec\\xa5\\x31\\x0d\\xb8\\xf6\\x96\\x85\\x1a\\xe1\\xf2\\xcf\\x47\\xd2\\x2d\\x43\\x43\\x7c\\xcb\\x30\\x12\\xed\\xdc\\x29\\xb8\\xdc\\xcf\\xb4\\x0c\\xcd\\x9f\\xd1\\x92\\x59\\x88\\xd6\\xfa\\x97\\x53\\x7f\\x23\\xaa\\xa1\\x0c\\x46\\xac\\x82\\xb7\\x18\\x55\\xe2\\x08\\x22\\x13\\xab\\x60\\xe0\\x81\\x43\\xbc\\x83\\xf9\\xdf\\x2d\\x46\\x9a\\x57\\x0b\\xbf\\xb9\\x40\\x6f\\x8f\\x7b\\x7d\\x05\\x56\\x41\\x70\\xfb\\x56\\x0d\\x2e\\xd3\\x6c\\x58\\x5a\\x27\\xdc\\x7a\\x73\\x7b\\xa8\\x5b\\xa9\\x28\\xe5\\xe2\\xdd\\x6a\\x62\\xae\\xb5\\xa5\\xc5\\x3a\\xf9\\x73\\xe1\\x55\\xf7\\x2f\\xf6\\xe8\\x4c\\x6d\\x22\\x9e\\xc3\\x62\\x30\\xdf\\x1a\\x15\\xed\\x79\\x09\\x5f\\xa1\\x51\\x8b\\xb3\\x06\\xd0\\x10\\x62\\x95\\x4a\\x4d\\x91\\xa4\\x1e\\x57\\xe3\\x06\\xa3\\x9e\\xc6\\x35\\x3a\\x68\\xd5\\x4a\\x46\\x41\\x30\\x84\\x5a\\x47\\xab\\x59\\x8a\\xec\\xcb\\x50\\x6c\\x3e\\xe5\\x10\\x37\\x6f\\x1a\\xc5\\x63\\x32\\xcf\\xeb\\x98\\x7f\\x61\\x5f\\x98\\x30\\x9c\\x9b\\x32\\x4d\\x8e\\xaa\\x37\\x0a\\xef\\x7d\\xb6\\x44\\x2b\\x3c\\xf7\\xd2\\xde\\xc6\\xfc\\x88\\xe9\\x2f\\x89\\x87\\xd3\\x8c\\xf0\\xb9\\x60\\xb2\\x76\\x81\\x87\\xfa\\x84\\xfb\\xb3\\xe3\\xa5\\x3f\\x42\\x6b\\xf5\\x00\\xb4\\xcb\\x66\\x71\\xe6\\xea\\x62\\xbe\\x5c\\xa7\\xd7\\x6a\\x0d\\x06\\x8a\\x44\\x63\\x93\\x39\\x8b\\x15\\x3d\\xc4\\xec\\xcd\\xe8\\x28\\x5a\\x2e\\xd7\\x93\\x8c\\x8c\\xa1\\x65\\xf0\\x0b\\xa8\\x68\\x0e\\x00\\x68\\x8e\\x80\\xcd\\xf9\\x2c\\x31\\x58\\xeb\\x0b\\x23\\x72\\xa6\\x51\\x22\\xe4\\xcf\\x58\\x14\\xa4\\x71\\x2a\\xfb\\x10\\x13\\x4f\\xd1\\xc8\\xd7\\x42\\xf3\\xc3\\x3f\\x3d\\x77\\x46\\xbd\\x2c\\xba\\x9a\\x1d\\x9f\\x35\\xa2\\x06\\x93\\xea\\xa3\\xa5\\x2f\\x9a\\x5e\\xec\\xb8\\xe5\\xb6\\xee\\xe1\\xee\\x56\\xcb\\x6f\\x53\\x5b\\x6a\\xc0\\x09\\x14\\x6d\\xff\\x33\\xb6\\x79\\x4c\\xd8\\xa2\\x7b\\x29\\xff\\x96\\xb6\\x56\\xe4\\xb4\\xcb\\xf0\\xa5\\x56\\x85\\x8d\\x92\\xbb\\x6c\\x2e\\x06\\x43\\xce\\x0c\\x60\\x98\\x97\\xf1\\xc8\\x14\\x0a\\xb7\\xc3\\x61\\xeb\\xcd\\x38\\x68\\xad\\x79\\x0e\\x04\\x52\\x5a\\xd6\\x45\\x99\\x01\\x1a\\x3d\\xfa\\x16\\xba\\x53\\x2f\\xbf\\x90\\x6b\\x32\\x39\\x8d\\x66\\x12\\xf5\\x28\\x22\\xe3\\xfb\\x4a\\x8e\\x49\\x59\\xed\\xd1\\x8c\\x56\\xf8\\xfa\\xff\\xce\\x30\\x49\\x3c\\x8c\\x4c\\xf3\\x7f\\xe1\\x97\\x84\\xf6\\xb2\\x7b\\xea\\x0f\\xe4\\x32\\xa8\\x8b\\x15\\x71\\xc0\\x71\\x18\\x66\\xd2\\x6b\\x64\\x72\\xb9\\x82\\xd2\\x53\\x36\\xbb\\xc4\\x16\\x2c\\xd3\\x68\\xa0\\x0c\\xfd\\x19\\x9d\\x59\\x9c\\x72\\xcb\\xca\\x0b\\x33\\x29\\xf2\\x24\\xe5\\xc5\\x3c\\xc9\\xd2\\xa3\\xe7\\x02\\x91\\xe9\\x79\\x23\\x27\\x6e\\x1c\\xe1\\x4f\\xf8\\x27\\x24\\x16\\xd3\\xbb\\x14\\x77\\x7c\\xbc\\x62\\xb3\\x76\\x0c\\xd1\\x9b\\xae\\x34\\xff\\x64\\xe9\\xe1\\x41\\xbc\\x1f\\xd1\\x97\\x3e\\xf6\\xfa\\xba\\x95\\xc6\\x85\\x78\\xc4\\xd2\\x3a\\xf9\\xfa\\x25\\x12\\xa6\\xcf\\x72\\xbd\\x19\\xe4\\x98\\xf8\\x16\\x6d\\xea\\x43\\xf8\\xf3\\x49\\x18\\xd3\\xec\\x58\\x39\\xcf\\x69\\x2d\\x16\\xa7\\x91\\x20\\x1c\\x46\\xb3\\x19\\xfa\\x61\\x33\\x83\\x21\\x50\\x27\\xce\\x0f\\xcc\\xcb\\x39\\x2d\\xa8\\xa1\\xf6\\x51\\x71\\x35\\x0d\\xd5\\x8c\\xf4\\xd4\\x5c\\x9c\\x27\\x81\\x93\\xa0\\x66\\xe0\\x5b\\xbd\\xe1\\x79\\x84\\x69\\xe5\\xdc\\x89\\x07\\x96\\xfd\\x71\\x6b\\xa6\\xba\\xbf\\xfc\\xdd\\x9b\\xc0\\xb7\\x6f\\x13\\x7e\\x6b\\xf2\\x79\\x3e\\xbf\\xcf\\x14\\x3a\\x00\\x54\\xc7\\x20\\xb4\\xbd\\xe7\\x9f\\x55\\xc2\\x81\\x33\\xc2\\x9f\\x6f\\x41\\x3e\\xe7\\x37\\x18\\x20\\x5e\\x20\\x1e\\xc5\\xb4\\xe8\\xd6\\x86\\xa7\\x09\\x96\\x75\\x38\\x55\\x3a\\x9d\\x03\\xb3\\xb0\\x94\\x9e\\x16\\xb9\\x53\\x0b\\x40\\x39\\x5b\\x9d\\x0c\\x05\\xc4\\xc2\\xa2\\x0b\\x88\\x5d\\x29\\xa4\\x41\\xcc\\x2a\\x03\\x21\\x7c\\xf5\\xd6\\xcb\\x8e\\x0b\\x53\\xd7\\xac\\x3c\\x78\\xe4\\x3f\\x02\\xf3\\xe1\\xa3\\xf7\\x02\\xf6\\xb6\\xf7\\x9f\\xba\\x57\\xf8\\xf4\\x38\\x90\\xb7\\xa5\\xf9\\x03\\x0b\\x16\\xb5\\xf2\\xbb\\xba\\x80\\xfd\\xd1\\x8f\\x8e\\x0b\\xff\\xbd\\xe3\\xa1\\xd7\\x0f\\x7d\\x89\\x78\\xca\\x60\\x5e\\x73\\x96\\x78\\x1e\\xc6\\xf7\\x18\\x6f\\xb4\\xa9\\x30\\x1d\\x45\\xb9\\x59\\xcc\\x05\\x81\\xae\\x46\\x69\\x36\\x10\\x8c\\x28\\x81\\x64\\x6a\\x89\\xfc\\x7c\\x70\\x22\\xf7\\x7b\\xa9\\x70\\x35\\xa2\\x6e\\x42\\xbd\\x1d\\xa8\\xe8\\xee\\x06\\x6c\\xb8\\x0c\\x14\\xc5\\xef\\x1b\\x26\\xef\\xc8\\xc5\\x6f\\xf0\\x19\\x8c\\xf8\\xc2\\x2f\\xf2\\x11\\xff\\x99\\x35\\x57\\xe7\\x22\\xfe\\xf7\\x20\\xbe\\xfa\\xc9\\xd4\\xb3\\x64\\x8c\\xf8\\x14\\xe6\\x37\\x2e\\x88\\xda\\xbb\\xf8\\x88\\xd5\\x6d\\xf1\\x90\\x7e\\xbb\\x9f\\xc4\\xec\\xb4\\x5a\\xad\\x65\\x64\\x38\\x26\\x8f\\x44\\x3d\\x56\\x73\\x38\\x2c\\xc3\\xb5\\x0c\\x49\\xd1\\x06\\xd6\\x4c\\xa2\\xd1\\xd7\\xd9\\xa1\\xf6\\xb9\\xf9\\xe6\\xf9\\x99\\xf6\\xf0\\x33\\xd4\\xec\\x93\\x42\\x32\\x66\\xc5\\xe5\\xd8\\xb0\\xb8\\x54\\xc0\\x4f\\x89\\xcd\\x0f\\x01\\xa3\\x88\\x40\\xe1\\x7e\\x9a\\x9b\\x2f\\x7b\\x76\\xfd\\x09\\xb4\\x64\\x8d\\xdb\\xcf\\x4c\\xdc\\x27\\xae\\xda\\x3c\\xb5\\x06\\xfc\\x60\\x1c\\x2e\\xe9\\x33\\x42\\x6d\\xa2\\xea\\xc8\\x7f\\x8e\\xe2\\xde\\xbd\\x63\\x6b\\xf6\\xde\\xb3\\x14\\xad\\xdf\\xa5\\x8b\\x56\\x5e\\x76\\x7c\\xf0\\xd0\\x97\\x20\\x00\\x84\\x0d\\x9e\\xb9\\x70\\x79\\x85\\x45\\x60\\x3f\\x37\\x33\\x08\\xd7\\x18\\xe2\\xea\\x52\\x78\\xce\\x8f\\x43\\x1b\\x73\\x41\\x5c\\x5d\\x0d\\xfd\\x69\\xa2\\x42\\x8d\\xd9\\x18\\xb7\\x9b\\x2c\\x2d\\xc5\\x42\\x26\\xcc\\x54\\x93\\xf2\\xd9\\x92\\x8e\\x64\\x5f\\x86\\x2c\\x85\\xff\\x90\\x3a\\x8b\\xc3\\xcc\\x44\\x0d\\xd1\\xbe\\x8c\\x81\\x51\\x51\\x3a\\x6a\\x4e\\x46\\xc7\\x4c\\xaf\\x63\\x15\\xc8\\x8e\\x8b\\x18\\x5b\\xb2\\x2f\\xe9\\x61\\xd6\\x24\\x21\\xe7\\x1c\\x70\\x4e\\x70\\xd2\\x90\\x13\\x14\\x0b\\xc4\\x46\\x43\\x11\\x7a\\x19\\xb2\\xb0\\x39\\xc7\\xc7\\x55\\x53\\x7a\\xd5\\x3f\\xef\\x91\\xc6\\x27\\x0c\\xbe\\xbe\\xe8\\xfb\\xf3\\x2e\\x7f\\x01\\x0c\\xeb\\xe6\\x0b\\x03\\xcf\\xf6\\xed\\x7d\\xf0\\xc8\\x31\\x42\\x51\\xd5\\x30\\x7b\\xf1\\xcc\\xf2\\xba\\x9e\\xe5\\x9d\\x93\\x7b\\x6e\\x8f\\x3a\\xda\\x76\\x7c\\x6b\\xf8\\xb6\\xa5\\xda\\x36\\x34\\x42\\x61\\xe6\\xc0\\xe5\\x97\\x0b\\x0f\\xf7\\xcf\\x12\\xcc\\x57\\x5d\\xb5\\xf6\\x9e\\xc1\\x79\\x77\\x80\\x0d\\xcb\\xfb\\xfb\\x8f\\x0b\\xb7\\x66\\xe8\\x5b\\xc7\\x62\\xb1\\x37\\xc4\\x9c\\x95\\x84\\xe7\\x6c\\x36\\x5c\\x03\\x3f\\x5c\\x83\\xad\\x7c\\x93\\xdc\\xa1\\x74\\x18\\xd8\\x30\\x5b\\x62\\xf1\\xd3\\x44\\x58\\xa9\\xf4\\x12\\x34\\x51\\x5a\\x26\\x37\\x18\\x5c\\x51\\x17\\x54\\x9c\\x76\\xb9\\x5d\\x10\\x2d\\xbb\\x5c\\x98\\x46\\x13\\x40\\x09\\x85\\xc5\\xda\\x97\\xb1\\x60\\x3c\\xe6\\xef\\x43\\x94\\x26\\xd0\\x6d\\xd8\\x2c\\xcc\\xdb\\x17\\x70\\x2f\\x62\\x75\\xd3\\x68\\xfe\\x11\\xdd\\x10\\xe2\\x1b\\x4a\\x88\\x0f\\x41\\xa5\\xa2\\x4a\\x6e\\xe6\\xa3\\x58\\x68\\x10\\x3b\\xa7\\x53\\x62\\xb9\\x2f\\xcb\\xb5\\x95\\x10\\x6f\\xb8\\x60\\x92\\x61\\xbb\\xfb\\xc8\\xc4\\xa2\\x59\\x23\\x7f\\xf8\\xc9\\x63\\x4f\\x5f\\xb6\\xa9\\xbe\\xe3\\xf4\\x59\\x7d\\x73\\xf9\\xfc\\xd6\\xce\\x19\\x87\\x17\\x0c\\x5f\\xfa\\x18\\x71\\x56\\xb9\\x62\\xc9\\xf0\\xc1\\xa0\\x69\\xbc\\xe7\\xb6\\x7b\\x76\\x6c\\x9f\\xb8\\xd1\\xca\\x0d\\xb7\\x6e\\xbe\\x44\\xbb\\x86\\x9e\\xdb\\xba\\x6e\\xcd\\xaa\\x11\\xf6\\xdc\\xbf\\x36\\xaf\\xdd\\xf3\\xc1\\x35\\x88\\xa3\\x1b\\xfc\\x04\\xe6\\x0a\\x67\\xa1\\xd0\\x11\\xde\\xa0\\x50\\xe2\\x3a\\xa5\\x0e\\xca\\xa9\\xd4\\xf0\\x1a\\x19\\xd4\\x2b\\xa7\\xca\\x5b\\x89\\x3c\\xd4\\x81\\x82\\x66\\xc9\\x47\\x28\\x6f\\x4d\\x40\\xda\\xb9\\x03\\xf6\\x19\\xb5\\xf3\\xd6\\x04\\x84\\x4f\\xe3\\x80\\xf8\\x39\\x18\\xa7\\xc1\\x4f\\x8e\\x0d\\xf6\\xcc\\x3e\\xf3\\xde\\x7f\\xff\\x26\\x9c\\x9a\\x39\\x20\\xc6\\xeb\\x06\\xb8\\xbe\\xa7\\xc0\\x4f\\xa4\\xdf\\xa3\\x92\\x31\\x98\\x0c\\xd3\\x1b\\x18\\x8a\\xe0\\x09\\x6d\\x9f\\x44\\x7b\\x73\\xe1\\xef\\x91\\x93\\x22\\x13\\xb6\\x37\\xf7\\x48\\x98\\x38\\x55\\x2a\\x4c\\x7e\\x24\\x1c\\xa7\\x81\\xde\\xc5\\xd7\\x64\\xd6\\xfb\\xc1\\x4f\\x26\\x3f\\x05\\x73\\x3b\\x06\\xee\\x9f\\xdb\\xd9\\xf5\\xda\\x2b\\xe2\\x3e\\xfa\\x60\\x9c\\x3d\\x21\\xe2\\x22\\x33\\xd6\\xc6\\xfb\\x29\\xa3\\x5c\\x6e\\x32\\x29\\x15\\x84\\x4e\\xa1\\xe3\\x2c\\x72\\x25\\xe2\\xae\\xa6\\x20\\xec\\xa6\\x28\\x85\\x9a\\x56\\x98\\xb2\\xa9\\x0d\\x76\\x01\\x57\\x52\\x11\\xb1\\x41\\x42\\xbc\\x9f\\x22\\xc4\\x80\\xea\\x41\\x29\\x8d\\x38\\x6c\\x19\\x3c\\xb1\\x72\\xd7\\x9d\\x55\\x33\\x85\\xaf\\xdf\\xba\\x42\\x0d\\xce\\x80\\x83\\x13\\x67\\x0f\\x5d\\x5a\\x71\\x54\\x0d\\x5e\\x3d\\xb8\\xfd\\x7a\\x61\\xb3\\xd0\\x88\\x62\\xff\\xaf\\x57\\xdf\\x3d\\x5f\\xf8\\xdc\\x3a\\x03\\xf9\\xce\\x47\\xa0\\x5c\\xdf\\x25\\xbe\\x0d\\xb1\\x92\\x13\\x5b\\xce\\x57\\x6b\\xf4\\x7a\\xab\\x96\\x61\\x4c\\x98\\x45\\xad\\x52\\x59\\xad\\x94\\x1c\\x93\\xbb\\xdc\\x3a\\x88\\x9c\\x74\\xac\\x5e\\xc3\\x21\\x24\\x8e\\xb8\\x3d\\x29\\x98\\xea\\xb3\\x84\\x1d\\x2e\\x10\\x34\\x2f\\xe4\\xdf\\x4a\\xce\\x7b\\xc6\\x3f\\x2d\\x28\\x15\\x46\\x44\\x17\\x5e\\x2c\\x71\\x62\\x78\\x15\\x49\\x53\\x40\\x19\\x08\\xa2\\xbb\\x46\\x23\\xda\\xbb\\x1d\\xbf\\xfa\\xbc\\xed\\x4f\\xbd\\x37\\x8d\\x28\\x85\\x9b\\xda\\x96\\x4d\\x09\\x8f\\x6b\\x06\\x00\\xe8\\x98\\x03\\x94\\x23\\xb3\\x66\\xb6\\xf5\\x7b\\x86\\x57\\xe0\\x47\\x8e\\x1d\\x31\\xe9\\xce\\x3d\\x6f\\x69\\x05\\x57\\x0b\\xbb\\x5a\\x38\\x30\\xcf\\x7f\\xd9\\xec\\x81\\xa5\\x60\\xb3\\x72\\xa5\\x54\\xe3\\x29\\x81\\xfa\\xbc\\x0f\\xd7\\x19\\xf1\\x52\\x2d\\xe2\\x2b\\xb4\\x2a\\x15\\x4b\\xd1\\x7a\\xab\\x55\\xa7\\x54\\x32\\x14\\x43\\xe0\\x14\\x6e\\xb3\\x4b\\xd3\\xbb\\x74\\x10\\xc3\\x28\\x75\\x3a\\x12\\x90\\x16\\xc4\\x97\\x02\\xa0\\x92\\x80\\x9e\\x46\\x4c\\x9a\\x2c\\xe2\\x97\\x28\\xca\\x21\\x73\\x49\\x10\\x62\\x51\\x90\\xb8\\x34\\x10\\x24\\x48\\x1a\\x09\\xc9\\x81\\x37\\x00\\x7c\\xb1\\x1a\\xac\\xf9\\xba\\x30\\xff\\xeb\\x4f\\xfc\\x65\\x4f\\x9f\\x1a\\xcc\\xd8\\xb2\\xbd\\xa6\\x63\\xdd\\xf0\\xa6\\xae\\x99\\xab\\x88\\x89\\xd6\\x73\\x03\\x57\\xec\\x7c\\x96\\x07\\x63\\x26\\x5e\\xd8\\x06\\x2a\\x84\\x6d\\xfb\\x26\\x9a\\xdb\\x61\\x0c\\x79\\x13\\xca\\x7d\\xbf\\x88\\x59\\x9b\\x79\\x97\\x1c\\xe2\\x65\\x83\\x56\\xa3\\x31\\xb1\\x10\\x2d\\xf2\\x72\\x9d\\x51\\xd7\\x97\\x31\\xd2\\x94\\x46\\xa5\\x41\\x0b\\x5f\\xec\\xd3\\xf2\\xb6\\x59\\x98\\x0e\\x87\\xc6\\xb5\\xe6\\xc7\\x8b\\x4b\\x33\\xfb\\x89\\xfb\\x13\\xdd\\xba\\xb5\\xbd\\xf6\\xab\\x8e\\xaa\\x27\\x9f\\x56\\x7f\\xe3\\x2a\\x5b\\xff\\x86\\xce\\xee\\x04\\x4c\\x5a\\x7e\\xf9\\x80\\x71\\x92\\x45\\x30\\x16\\xff\\xb3\\x11\\x8d\\x7c\\x03\\xd8\\x28\\x3c\\x0f\\x6f\\x40\\x39\\xec\\x58\\x0b\\xef\\x51\\xeb\\x74\\x72\\xc2\\x68\\x32\\xd9\\xac\\x84\\xd5\\xe1\\xb4\\x9a\\x4c\\x68\\x7a\\x0a\\x0c\\xf0\\x0a\\x1a\\x63\\xa6\\x71\\x21\\x14\\xb3\\xb4\\x15\\x38\\x05\\x64\\x79\\xdc\\x41\\x17\\x06\\xd6\\x65\\x01\\x36\\x38\\x71\\xdf\\x5d\\x8a\\xb9\\xc3\\xd0\\x46\\xd5\\xeb\\xe6\\x52\\x37\\xf5\\x0d\\xb3\\x83\\x6b\\xd5\\xa0\\x56\\x3d\\x36\\x98\\x32\\x5d\\x7a\\x8d\\xb7\\x11\\x57\\x22\\xd8\\x37\\x79\\xae\\x34\\xf1\\xb5\\xa5\\x97\\xe1\\x36\\x6e\\xc6\\x0c\\xf3\\xe4\\x9f\\x85\\x53\\xe2\\x99\\xed\\x9e\\xfa\\x8c\\xb8\\x8e\\x78\\x1f\\xee\\x70\\x0d\\x6f\\x95\\x9b\\x11\\x40\\xc2\\x55\\x3a\\xb3\\xce\\x66\\xe7\\x20\\x7e\\x62\\x25\\x00\\x85\\xa2\\x2e\\x12\\x04\\xfe\\x99\\x98\\xce\\x6c\\x2f\\xdd\\x63\\x84\\xc2\\x41\\xbd\\x2c\\xc5\\xe9\\xc3\\xd9\\xcb\\x89\\x20\\x15\\xd6\\xcb\\xcc\\xf8\\xf1\\xa5\\xd7\\x0d\\x09\\x09\\xfc\\x2d\\x6b\\xeb\\xa3\\xaf\\x4f\\x2c\\xa9\\xc8\\x08\\x6b\\xa1\\xa9\\x3d\\xb5\\x05\\xd8\\x47\\xd2\\x77\\x85\\xe6\\x02\\xd5\\x65\\x10\\xf6\\x3d\\x01\\x61\\xd3\\xd8\\x16\\xfd\\x4c\\x04\\x9b\\x7a\\xc5\\x9e\\x15\\x02\\xf3\\x4f\\x7d\\x46\\x7e\\x08\\x65\\x42\\xfd\\xb7\\x88\\x5f\\xaa\\x54\\x6c\\x8f\\x77\\x95\\x39\\x03\\x01\\x9b\\xcd\\x17\\x0a\\x95\\x11\\x44\\x22\\x59\\x6a\\x2e\\xb7\\x58\\xa2\\x98\\x5c\\x63\\x90\\xc3\\x2f\\x77\\x3c\\xca\\x06\\x9c\\x2e\\x97\\xc7\\x5d\\x90\\x35\\x07\\xa5\\xc5\\xaf\\xf4\\xf9\\x54\\x44\\xc9\\x2c\\xe5\\x72\\xbe\\x83\\x97\\x28\\xfa\\xfe\\xab\\x95\\x3a\\x5e\\xd1\\xd5\\x55\\x51\\xd9\\xd1\\x51\\x59\\xd1\\xd5\\x59\\x09\\xff\\x4d\\xb8\\x90\\x92\\x7a\\xfc\\xaf\\x79\\x25\\xbb\\xa1\\x92\\x1f\\x6c\\x01\\xec\\xcc\\x44\\xa2\\xbd\\x2d\\x99\\x98\\x09\\x56\\xce\\x2a\\xaf\\x98\\x39\\xb3\\x22\\x31\\x53\\x38\\x86\\x14\\x1f\\x02\\xaa\\x2b\\x0a\\x8a\\xf7\\x20\\xc5\\x07\\xcc\\xe2\\x5e\\x8c\\x4e\\x29\\x89\\xc7\\xc9\\x6f\\xc1\\xbc\\x67\\x25\\x5f\\x63\\xa0\\xc2\\x72\\xa7\\x13\\x67\\x38\\x0e\\x71\\xbe\\xd8\\xcc\\xee\\xb0\\xbb\\x24\\x2e\\xf1\\x3b\\x28\\x0c\\x11\\x2c\\x98\\xf6\\xf5\\xf9\\xf0\\x4f\\x7d\\x53\\x3e\\xfc\\x84\\xef\\x5d\\x1f\\xee\\x13\\xf9\\x1f\\x0c\\x52\\x8f\\x7f\\xb2\\x7c\\x11\\xaa\\xdd\\xc0\\x03\\x56\\x9e\\x85\\x1e\\xf9\\x19\\xf3\\x45\\x4c\\xf0\\x88\\x97\\x00\\x61\\x25\\xa4\\xa7\\x39\\x59\\xac\\xb1\\x14\\xa5\\xa6\\x6f\\xe6\\xcb\\x68\\x9c\\xad\\x90\\x06\\xdf\\x15\\xc7\\xd9\\x0a\\x1e\\xfc\\x23\\x71\\x9c\\xed\\xf8\\xe8\\x59\\x91\\x76\\x61\\x31\\xd4\\xfa\\xbb\\x5b\\xca\\xc5\\xf9\\xb8\\xfd\\x40\\x35\\x4f\\x9c\\x8f\\xbb\\x00\\xa8\\xf6\\x41\\x55\\x9f\\x21\\x3a\\x4f\\x2e\\x1f\\x5a\\x8e\\x5f\\xf7\\xca\\xc2\\x71\\x43\\xf7\\x16\\x9d\\xa4\\xb0\\xc4\\xc1\\x70\\x94\\x78\\x04\\x33\\x61\\x95\\xbc\\x45\\xcf\\x00\\xa0\\xc5\\x0c\\x10\\x44\\xc9\\xb4\\x5a\\xb3\\x09\\x3a\\x14\\x95\\x09\\x06\\x01\\x73\\x96\\xae\\x7f\\x7a\\x71\\x16\\x9a\\x9d\\x3d\\x7b\\x47\\x24\\x31\\xf4\\x51\\x30\\xbb\\x08\\xa7\\x00\\x7f\\xf4\\x4d\\x8f\\x4f\\xef\\x28\\xd5\\xfc\\xde\\x36\\x4f\\xe8\\xde\\xf5\\xfd\\x26\\x35\\xf1\\xc8\\xe4\\x66\\x50\\x9f\\x58\\xe6\\xb1\\x79\\xcd\\xda\\x16\\x2e\\xb2\\x70\\xef\\xe4\\x08\\xb1\\x0a\\xd5\\x4b\\xc0\\xd4\\xbb\\x10\\x13\\x95\\x88\\xf9\\xc2\\x1c\\x3e\\x62\\xa0\\x75\\x5a\\x23\\x6b\\xd2\\xa8\\x55\\x66\\xb3\\xc6\\x48\\x93\\x36\\x44\\x56\\x62\\xd7\\x98\\x4c\\x7a\\x1d\\x2a\\x88\\x90\\x7a\\xda\\x6c\\x34\\xaa\\x75\\x66\\xc9\\xbc\\xf2\\xb4\\x0f\\x39\\x34\\xcc\\x4d\\x4f\\x1a\\x40\\x55\\x39\\xc8\\x0b\\x26\\xca\\x06\\x13\\x9d\\x24\\x92\\x99\\xdc\\xc0\\x07\\x34\\xff\\x70\\xcf\\x10\\xd6\\x6f\\x5f\\x25\\xfc\\xe4\\xea\\x6f\\xce\\x51\\x83\\x8a\\x3d\\xa0\\x7a\\xf9\\xc6\\xfb\\x4d\\x01\\x82\\xea\\x30\\xa9\\x5a\\x2c\\x75\\x99\\x4d\\x93\\x23\\xb8\\x6d\\xf2\\x77\\xc4\\x4a\\x98\\x35\\xac\\xc7\\xab\\x26\\xbf\\x0f\\x62\\xc1\\x9d\\x62\\xae\\xf0\\x1a\\x3c\\x20\\xac\\xe8\\xdb\\x1a\\x78\\xa7\\x01\\xa6\\xc2\\xac\\x46\\x01\\x33\\x1d\\x35\\xa1\\x24\\x60\\xa0\\xe3\\x95\\x34\\xd0\\x60\\xd0\\xb3\\x19\\xd0\\x2c\\xc5\\x57\\x25\\xdf\\x66\\x7b\\x2b\\x9f\\x35\\xe4\\x36\\xde\\x5f\\xcc\\x2e\\x9e\\xad\\x5d\\xd4\\x2b\\x70\\xb2\\xa3\\x66\\xb5\\xb5\\xb1\\xb3\\x12\\xff\\x9a\\x72\\xf2\\xdc\\xbc\\xda\\xcb\\x3c\\x73\\x3b\\x67\\x25\\x08\\x8f\\xc8\\x25\\x5e\\x73\\xee\\x37\\x76\\xd3\\x13\\xc2\\x59\\x28\\xc3\\xef\\xe0\\xbe\\xcd\\x17\\xeb\\x2f\\xf3\\xf9\\x12\\xa5\\xdd\\x6e\\xb6\\x68\\xb5\\x04\\x6d\\x36\\xbb\\x4c\\x04\\xe1\\xd4\\x59\\x2c\\xf0\\xf7\\x5b\\x2c\\x2c\\xc6\\x31\\x2c\\x8c\\x03\\x26\\x96\\x26\\xe5\\x88\\x09\\x3d\\x57\\x97\\x7b\\x2d\\x7d\\xf6\\x22\\x4c\\xe8\\xc9\\x02\\xe5\\x9f\\xc4\\x31\\x31\\x9d\\x09\\xbd\\x40\\x84\\xce\\x9c\\x9b\\x77\\x7b\\x8c\\x5e\\x75\\xe5\\xee\\x7d\\x43\\x3d\\xed\\x0c\\xb0\\xf7\\x9c\\xa8\\xaf\\x87\\x12\\x3f\\x46\\x0b\\x3f\\x9f\\xd8\\x68\\x8a\\xf9\\xe7\\xfa\\x37\\xaf\\x6f\\x6f\\x5b\\x00\\x62\\x7e\\x28\\xf4\\xa0\\xf0\\xbe\\x76\\xe3\\xa8\\x90\\xe5\\xcc\\xfa\\x0f\\x94\\x3b\\x06\\x71\\x50\\x14\\x1b\\xe7\\x1b\\xec\\x72\\x22\\xac\\xb6\\x58\\x4a\\x3c\\x06\\x82\\x88\\xc9\\x1d\\x76\\x0f\\xa6\\x66\\x37\\x50\\x97\\x4b\\x34\\x41\\x87\\xa9\\x97\\xa8\\x77\\xa8\\x8f\\x28\\xb9\\x86\\xa0\\x28\\x0c\\x8d\\x04\\xe9\\xcb\\xb0\\x4c\\x18\\xc3\\x7c\\x7d\\x45\\xf5\\x45\\xf1\\x4f\\xa9\\x07\\x71\\x93\\xa1\\xce\\x50\\x97\\x3c\\x9b\\x28\\x5a\\x65\\x11\\x59\\x48\\x6e\\x3b\\x8d\\x5f\\xc8\\x76\\x86\\x08\\x6c\\x44\\x37\\x2e\\x0e\\x59\\x03\\x6b\\x1e\\x7b\\xf9\\xd0\\x5e\\xb6\\x7f\\xd1\\xc6\\xfb\\xca\\xc7\\x1d\\x7c\\x77\\xd9\\x9d\\xb7\\x3d\\xf6\\xf2\\xe1\\xdd\\xa6\\xfe\\x85\\x9b\\xef\\xaf\\x5c\\x6b\\x87\\x1f\\x5c\\x6f\\x5a\\xbb\\x64\\xd9\\xd5\\xdc\\x66\\xb9\\x7c\\x62\\xfe\\x46\\xa7\\xe1\\x24\\x00\\x89\\xb5\\x4b\\x96\\x5f\\x6d\\xde\\x24\\x97\\xaf\\x99\\xbf\\x01\\x7e\\x20\\x4c\\x25\\xe0\\x99\\xb2\\x40\\x1d\\x05\\xa8\\x63\\x04\\x9b\\xc1\\x7b\\xdc\\x06\\x92\\x64\\xed\\xac\\x2a\\x64\\x57\\xd9\\xa3\\x31\\x0b\\xe3\\x36\\xc0\\x0f\\x7c\\xb4\\x02\\xda\\x73\\x50\\x8d\\x29\\xcc\\xe2\\x7d\\x4d\\x11\\x51\\x66\\x81\\x36\\x37\\x7b\\xca\\xa0\\xf8\\xe5\\x80\\x9a\\xc6\\x86\\x51\\x98\\x44\\x2f\\xce\\x65\\x17\\x0b\\x0f\\x94\\x9c\\xa8\\x5b\\xb1\\xa6\\x2c\\xd6\\xdc\\x72\\xe5\\x92\\x39\\x33\\x03\\x4d\\x5a\\x67\\x9c\\x5f\\x36\\x77\\x59\\xfa\\x87\\x0f\\x5f\\x71\\xa4\\x7d\\xdb\\x95\\xf1\\x79\\xad\\x71\\x7f\\x7d\\x63\\x70\\xae\\xa9\\xa6\\xbe\\x06\\xfe\\x8f\\xfb\\xc1\\x2e\\x53\\xc3\\xc2\\xab\\x4f\\xf6\\x9c\\x7c\\x77\\xef\\xfa\\x81\\x3b\\xbe\\xb6\\x6d\\x70\\x86\\x69\\xd7\\x0f\\xb8\\x5c\\xcd\\x87\\x08\\x42\\xdb\\x52\\x63\\x15\\x3c\\xa7\\x54\\xa9\\x30\\xb5\\x5a\\x43\\x68\\xd5\\x2c\\xae\\x84\\x69\\xc9\\x85\\xe5\\xba\\x42\\xc5\\x21\\x5b\\xe6\\x92\\x02\\xb6\\xff\\xc5\\x9d\\x1a\\xfc\\x47\\xc9\\x6e\\xdd\\xea\\xd1\\xe0\\xd7\\x3e\\x45\\xd5\\x25\\x14\\x9e\\xcf\\x3d\\x27\\xd9\\xc1\\x4d\\xf0\\x77\\x1c\\x82\\x38\\x4d\\x87\\x35\\xf1\\x4e\\x8d\\x9a\\x24\\x55\\x84\\x56\\x4b\\x33\\x32\\x95\\x8a\\x26\\xd5\\x8c\\x56\\x9a\\x69\\x0c\\x11\\x8c\\x62\\xfa\\x25\\xd1\\x05\\x3e\\xa8\\x78\\x78\\x71\\xd2\\xc8\\x11\\x7b\\x05\\xbf\\x7a\\xd5\\x5a\\xe1\\xf9\\x11\\xb5\\xf0\\x73\\x75\\x37\\xf8\\xed\\xf7\\x1e\\xeb\\x48\\xdb\\xf1\\xd1\\xc9\\x7b\\xed\\xe9\\xb4\\x9d\\x58\\x79\\xee\\x58\\x76\\xa6\\xe6\\x42\\x0c\\x23\\x5b\\xe0\\x1e\\x89\\x75\\x0a\\x29\\xc2\\x8a\\xd5\\x0a\\x4a\\x0f\\xa3\\x2e\\xc4\\xab\\x1c\\x9b\\xaf\\x53\\x30\\xa8\\x6a\\xa4\\xa2\\x29\\xf6\\xab\\xeb\\x14\\xf9\\x2a\\x4b\\x31\\x05\\x4f\\xf6\\xfd\\xac\\x88\\x0c\\x6b\\x88\\x32\\x14\\x77\\xb2\\x0c\\x3b\\xbd\\x62\\xdc\\xb1\\x2e\\xd8\\xa2\\x15\\xf6\\xac\\x34\\xe3\\xef\\xc3\\xf0\\x25\\x91\\xe8\\xa0\\xf0\\x55\\x75\\xa5\\x60\\xb6\\xb4\\xe2\\x75\\x5b\\xc4\\x3a\\x45\\x16\\x67\\x1b\\xe4\\xb2\\x5a\\x71\\xdd\\x3e\\x81\\x72\\xbf\\x22\\xce\\x4f\\xde\\xc9\\x37\\x39\\x9c\\x4e\\x8f\\x35\\x60\\xb1\\x04\\x83\\x84\\xc1\\x68\\xc4\\x71\\xb9\\xd7\\xe3\\x89\\x8a\\x03\\x66\\x50\\x5a\\x6c\\xb1\\x18\\x8d\\x22\\x10\\xb7\\x1a\\x08\\xe8\\xca\\x03\\x04\\x81\\x39\\x59\\x35\\x1d\\xc4\\x31\\x3c\\x3b\\xe7\\x35\\x7b\\x69\\x5d\\x3c\\xc7\\x56\\x9f\\x05\\x3e\\x45\\x2c\\xd5\\xd3\\x46\\x81\\x4a\\x93\\xe7\\x71\\xa9\\x43\\x20\\xcb\\x80\\x69\\xce\\x91\\x80\\x8a\\x35\\x1a\\x74\\xa8\\xfc\\x14\\x47\\xdd\\xa6\\xbe\\x33\\xfe\\xcd\\x6f\\x51\\x4e\\x5e\\x0d\\xc2\\xa5\\x8a\\x81\\x74\\x77\\xbf\\x1a\\x3c\\xa3\\x1e\\xee\\x9e\\xbd\\xdf\\x50\\x0a\\xc2\\xea\\x4e\\xa7\\xe7\\xdf\\x2f\\xc7\\x0f\\xa9\\x79\\xdb\\xbf\\x6e\\xbc\\x32\\x12\\x3a\\x61\\x69\\x15\\x26\\xcb\\xfc\\xb3\\x97\\x82\\xaf\\x23\\xa0\\x24\\x64\\x0e\\x6f\\x00\\x44\\xab\\xe5\\xc4\\x37\\xbe\\xf5\\x2f\\x1b\\x3f\\x35\\x85\\x6a\\x64\\x88\\x73\\xc6\\x20\\x27\\x3e\\x11\\x71\\xb1\\x13\\x4f\\x10\\x8b\\x64\\xa3\\xe2\\x9d\\x63\\x0f\\x6f\\x85\\xf1\\x01\\xba\\x38\\x99\\x41\\xcb\\x68\\x34\\x14\\xc5\\x90\\x10\\xe5\\xe9\\xc4\\xfb\\xc6\\x67\\x40\\xc5\\x19\\xf1\\xca\\x91\\x56\\xe1\\xcf\\x80\\xe6\\x2c\\x30\\xd1\\x27\\xa5\\xe9\\xbd\\x59\\x40\\x92\\xcd\\x10\\x93\\xd2\\x85\\x0a\\xe5\\x3f\\xef\\xb2\\x31\\x09\\xf4\\x8a\\x4f\\x14\\xcd\\xe0\\xa6\\x1b\\x6f\\x6b\\x51\\x08\\x67\\x14\\xf3\\x82\\xc2\\x6f\\xd7\\x83\\x96\\xc7\\xff\\x82\\x8f\\xc6\\xe3\\x0c\\xfe\\xd9\\x24\\xc3\\xc0\\x7f\\xbf\\xf7\\x1e\\x3e\\x26\\x3c\\x86\\x72\\x90\\xbf\\xe0\\x09\\xf2\\x2e\\xd9\\x02\\x98\\xe3\\x86\\xb0\\x43\\x7c\\x3a\\xe4\\x0c\\xba\\x5c\\xfe\\x80\\xc3\\x8e\\x05\\x83\\x76\\x2d\\xa1\\x57\\xa1\\x52\\xb9\\xdd\\xee\\x87\\xe7\\x24\\xc2\\x11\\x44\\xc4\\x6f\\x77\\xb9\\xbc\\x66\\xab\\xd5\\xeb\\x0c\\xe9\\xc5\\x4a\\xf9\\xe5\\xaa\\x97\\x54\\xef\\xa8\\x64\\x21\\x55\\x48\\x85\\x1b\\xbc\\x50\\xea\\xd3\\x41\\xa5\\x0c\\x83\\xe2\\x97\\x23\\xf1\\xf3\\xb0\\x6a\\xd1\\x34\\x24\\x91\\x3f\\x19\\x86\\xc2\\x45\\x62\\xe1\\x62\\xf1\\x22\\x97\\x8a\\x94\\x54\\x33\\x47\\xae\\xc3\\x9b\\xc6\\xfd\\x85\\x3b\\xc5\\xf4\\x20\\x85\\x3f\\x12\\x48\\x91\\x35\\xab\\x76\\x54\\x3d\\xe4\\xab\\x2e\\xa9\\xc1\\x1f\\x4a\\x1d\\xd9\\x9e\\x68\\x4c\\x25\\x27\\x97\\x52\\x13\\xc1\\x7f\\xdd\\x3e\\xac\\x10\\x26\\xa9\\x6e\\xf0\\xdf\\x19\\xc2\\x9f\\x64\\x5e\\x75\\xc9\\x5b\\x57\\x28\\x85\\x9f\\x0e\\xfd\\x6b\\x44\\x78\\x43\\x75\\xf4\\xe3\\x38\\xf3\\xee\\xbb\\x68\\x35\\x80\\x01\\xec\\x13\\x2e\\x97\\xb0\\xa4\\x1b\\x2f\\x23\\x2a\\xe0\\x7a\\x50\\x30\\x8b\\xf1\\x63\\x0b\\xf8\\x80\\xda\\xeb\\x75\\x31\\xb8\\xdd\\x1e\\x44\\xa5\\x58\\x86\\x31\\xb3\\x6c\\x20\\xe8\\xa2\\x69\\x44\\x0b\\x77\\x39\\x05\\xbd\\xbd\\xd1\\x2c\\xb7\\x40\\x6d\\x9f\\x54\\xb0\\xac\\x51\\xda\\x34\\x69\\xf6\\x37\\x7a\\xd4\\x57\\x34\\x51\\x3f\\x7f\\x67\\x5a\\x00\\xc1\\x50\\x35\\x63\\x36\\x64\\x11\\x5c\\x58\\xba\\xc6\\x41\\xd9\\x64\\x36\\xdf\\x07\\xdf\\x7e\\xb1\\xab\\xa3\\x3a\\x51\\xb2\\x7c\\xc9\\xc2\\xe1\\xb6\\xfa\\xb5\\xef\\xbc\\x4c\\xad\\xd9\\xb1\\x5c\\x01\\x96\\x00\\xff\\xea\\xa5\\x23\\xe3\\xcf\\x13\\xe7\\x4e\\xd6\\x35\\x09\\xbf\\x17\\xb6\\x0c\\x2d\\xea\\x9a\\x2d\\x3c\\xdb\\x41\\xc2\\xdd\\x7d\\x84\\x89\\x3f\\x36\\x6f\\xa5\\x4e\\x39\\x36\\x67\\xcf\\x8e\\xac\\x2e\\x73\\xa0\\x2e\\xe8\\x95\\x6b\\x18\\x5b\\xc3\\x97\\xd9\\x59\\x56\\xe7\\x34\\x32\\x8c\\xcb\\xa7\\xd3\\x45\\xc3\\xae\\x50\\xc8\\xed\\x56\\xc8\\x94\\x4a\\x92\\x8c\\x44\\x5d\\x30\\x29\\x0e\\x33\\x79\\xad\\xf0\\x90\\x52\\x8d\\xb4\\xb2\\x90\\x20\\x67\\x8a\\x79\\xad\\xf2\\x10\\xf1\\xbc\\xc3\\x96\\xa7\\x8b\\x47\\xbb\\x57\\xb8\\xcd\\x41\\x2a\\x51\\x70\\x07\\x51\\x10\\x0b\\x8b\\x15\\x0b\\x3f\\x61\\xcc\\xaa\\x0d\\x1e\\x45\\x6a\\xd5\\xf6\\x6a\\x7b\\x93\\x59\\xd5\\x0e\\x68\\x33\\xe9\\xe7\\x9f\\x5d\\xbe\\x64\\xd9\\xb1\\xda\\x6b\\x9e\\x42\\xfa\\xe3\\x65\\x50\\x33\\xd0\\xd2\\x03\\xdc\\x50\\xb9\\x9d\\x89\\x9e\\xaa\\x05\\x7b\\x76\\xb4\\x0e\\x2d\\x5a\\xeb\\x12\\xce\\x82\\x6b\\xc9\\xbb\\xd1\\x1a\\xa0\\x33\\x16\\xc6\\x2b\\x88\\x43\\xe2\\xbe\\xb1\\x10\\x1d\\xd2\\x04\\x49\\x1a\\x0d\\x06\\x33\\x07\\xc3\\x01\\x67\\x24\\x58\\xa8\\xca\\x13\\x06\\x19\\x93\\xd5\\x24\\x9d\\x4c\\x9e\\x4f\\xee\\xc4\\x88\\x77\\x6a\\x35\\x04\\xf2\\x82\\x98\\x3f\\xbb\\x19\\xf8\\xbb\\x5f\\x9a\\xb7\\xcd\\xba\\xf9\\xc1\\x5f\\xbf\\xf9\\x43\\xe1\\x6f\\xbf\\x3d\\xb7\\x55\\xdc\\x00\\x92\\x00\\x86\\xc9\\x65\\xb2\\x1f\\xe3\\xba\\x6f\\xde\\xf3\\x33\\x61\\x0a\\x87\\xcb\\x7e\\x8a\\x8e\\x8b\\x7e\\xba\\x19\\x9e\\xf3\\x56\\x28\\x83\\x1d\\x9b\\xc7\\x07\\xf2\\xf7\\x4c\\x76\\xbb\\xc3\\x09\\x8f\\x8e\\x53\\x5f\\x74\\x5c\\x54\\x2a\\xdc\\x6e\\x36\\x58\\xa1\\x3c\\x4f\\x2a\\x31\\x59\\xee\\xb4\\x24\\xd0\\x2a\\x8b\\x4b\\x7c\\xde\\xb4\\x17\\xf1\\x16\\xe9\\x7f\\x39\\x11\\x00\\x44\\x56\\x28\\xf0\\xed\\x81\\x1a\\xa2\\xe6\\xe0\\xbc\\xaa\\x6f\\xf8\\xab\\xe3\\xd5\\xc4\\x37\\x52\\xeb\\x6f\\x4f\\x34\\xd7\\x24\\x26\\x97\\x51\\x13\\x32\\x3b\\x13\\x3f\\xcf\\xf2\\x91\\xbc\\x41\\x28\\xef\\x7e\\x51\\xde\\x3e\\xde\\xc7\\xaa\\x01\\xad\\x80\\xee\\x88\\xb1\\x59\\x01\\x4c\\x38\\x95\\x8b\\x75\\x1b\\x74\\x97\\xeb\\x5e\\xd2\\xbd\\xa3\\x93\\xe9\\x74\\xc0\\xca\\xea\\xcd\\xc8\\x1e\\x6c\\x72\\x1c\\x14\\xd9\\x43\\x56\\xda\\xe9\\xe3\\x98\\xd1\\xbd\\xb8\\x17\\x85\\xff\\x06\\x68\\x02\\x50\\xe2\\x24\\x97\\x94\\x72\\x61\\x89\\x57\\x1a\\xff\\x72\\x32\\xee\\x48\\x51\\xa5\\x77\\xde\\x56\\xf3\\x03\\x3f\\x3c\\xb1\\xc4\\x0f\\xaa\\x76\\x1f\\xac\\x8b\\xa5\\x02\\xf8\\x23\\x8a\\x89\\x1d\\xcb\\xf1\\xc4\\xc7\\x47\\x55\\xa0\\x66\\xe4\\x5f\\x43\\x20\\xac\\xbc\\xe2\\xad\\x38\\x33\\x39\\x8f\\x81\\xb2\\x8e\\xe1\\x21\\xe2\\xa4\\x6c\\x09\\xb4\\xe4\\x06\\xde\\x44\\x63\\x26\\x96\\xb5\\xcb\\xd1\\x9c\\x4d\\xaf\\x8d\\x65\\x39\\x8e\\x34\\x38\\x9f\\x01\\xe9\\x27\\xd4\\x0a\\x12\\xfa\\xd0\\x6c\\x45\\x55\\x7c\\xc6\\x3d\\x2d\\x93\\x41\\x05\\x10\\xb1\\xb8\\x38\\xed\\x46\\x37\\x9d\\x63\\x25\\xf3\\xfb\\x42\\x63\\x7b\\xff\\x74\\xeb\\x8d\\xd7\\x7b\\x93\\x60\\xd6\\xb6\\xd1\\x3b\\x16\\xac\\x5b\\xd0\\xd3\\x12\\x5d\\x4e\\x81\\x55\\xd4\\xdc\\xb2\\x47\\x1e\\x7c\\xe0\\x05\\x62\\xed\\xd1\\xdf\\xec\\x0a\\x7e\\x6b\\x3c\\xb5\\xe1\\xed\\xab\\xf6\\xec\\xb1\\xfd\\xc6\\x18\\x8d\\x1a\\x85\\xff\\xd4\\x3c\\x84\\xd6\\xd2\\x00\\xd7\\xf2\\x9f\\xe2\\x5a\\xae\\xe2\\x4b\\x54\\x9c\\xd9\\xac\\x56\\xeb\\x19\\xc6\\x69\\x51\\x2a\\x14\\x56\\x2b\\x81\\xe3\\x0e\\xa7\\x65\\xb1\\xf8\\x20\\xf5\\x25\\xf1\\x41\\xaa\\x52\\xc6\\xa8\\x15\\x04\\xa1\\x85\\x3e\\xbf\\xfc\\x69\\xab\\x59\\x8f\\xe3\\x26\\x4c\\x5c\\x57\\x91\\x2a\\x4f\\x2a\\x59\\xc3\\x7f\\x72\\xab\\x5b\\xec\\x42\\x72\\x45\\x28\\xe3\\x85\\x63\\xfa\\xa8\\xdc\\x08\\x3f\\x83\\x62\\xf5\\x4e\\x78\\xa0\\x2e\\x57\\x4c\\x54\\x81\\x60\\x15\\x54\\x61\\x9f\\x62\\xcd\\x8e\\x15\\x0a\\x01\\x7e\\x50\\x27\\x7c\\x58\\x07\\x8d\\x25\\x51\\x4a\\x23\\x77\\x11\\x67\\x84\\x0f\\x40\\x0c\\xfd\\x7b\\x72\\x1e\\x5d\\x5a\\x4a\\x83\\x16\\xe1\\x25\\xba\\x14\\xea\\xc3\\xe1\\x09\\x3c\\x00\\xf5\\x51\\x63\\xa5\\xbc\\x46\\x2d\\x5e\\xe3\\x69\\xb4\\x6a\\x08\\x3d\\x90\\x15\\x60\\x32\\x19\\x51\\xf0\\x75\\x45\\x41\\x18\\xee\\x7c\\x11\\xe3\\x27\\x80\\xbf\\x48\\xd8\\x97\\x17\\x05\\x5f\\x8f\\x7e\\x83\\xf4\\x5b\\xc5\\xf3\\x52\\x85\\x87\\xf1\\x17\\x65\\x43\\x30\\x37\\x29\\xe1\\x35\\x46\\x75\\xf6\\xae\\x90\\xd1\\x28\\xd1\\x5e\\xe6\\x83\\x08\\x3a\\x15\\x17\\xb9\\x26\\x9c\\x06\\x32\\xc1\\xd7\\x57\\x28\\xc0\\x16\\xc5\\xe8\\x7c\\xf3\\x89\\x2b\\x87\\x9a\\xbc\\x09\\xdc\\x58\\x19\\x4b\\xab\\x65\\x0e\\x51\\x41\\xdb\\x15\\xd7\\x1b\\xce\\xac\\x75\\xd6\\xd5\\x89\\x7c\\xa0\\x70\\x9f\\x1e\\x82\\x7a\\x59\\xb1\\xb5\\xbc\\x85\\x33\\x99\\x0c\\x10\\x78\\x60\\x5a\\x18\\xe3\\x34\\x56\\xb5\\x24\\x01\\xc4\\x54\\x50\\x37\\x9e\\xb1\\x6a\\x2c\\x46\\x4d\\x6e\\x70\\xad\\x9c\\x46\\x8a\\x9f\\x36\\x15\\x6b\\x9e\\xc8\\xc5\\xe7\\x1c\\x3d\\x7c\\xfa\\x42\\x6f\\x9f\\xaf\\x7a\\x5c\\x64\\x58\\x2d\\x8c\\xda\\x7e\\x82\\x02\\xdd\\x6b\\x28\\xe1\\x52\\x6a\\x02\\x2d\\xd2\\x4e\\xc5\\xf2\\x14\\x18\\x6e\\x53\\x60\\x53\\x8a\\x79\\xc2\\x6f\\x7e\\x34\\x87\\xfa\\xc3\\xe3\\xb5\\xf8\\x7a\\xa4\\x44\\x76\\xaf\\x5e\\x03\\xf5\\xe2\\xbf\\xa7\\x84\\x01\\x26\\x0e\\xf6\\x64\\xf1\\x61\\x0c\\xee\\xd5\\x9f\\xa0\\x4e\\x0c\\x56\\xce\\x6b\\xe1\\xd2\\xaa\\x55\\x2a\\xb9\\xde\\xc0\\xa8\\xd5\\x5a\\xb4\\x59\\x2a\\x19\\xe2\\xde\\xc9\\x1d\\x59\\xfd\\x34\\xca\\xcc\\x6c\\x2e\\x57\\xb4\\x65\\x3d\\x6d\\x9d\\xd7\\x6b\\x3a\\x12\\xd5\\x93\\x5b\\x25\\x91\\x6e\\x50\\xec\\xc4\\x37\\x2b\\x89\\xaf\\x7f\\x91\\x93\\x01\\xbd\\x91\\x86\\x98\\xe1\\x14\\xfc\\x7d\\x16\\x6c\\x29\\xef\\xd6\\xe0\\x04\\xa1\\xe4\\x2c\\x16\\x3d\\xc0\\xb4\\x5a\\x85\\x4e\\x67\\xd0\\x2b\\xf4\\x56\\x1b\\x74\\x7d\\x6a\\x0b\\x8e\\xeb\\x50\\x10\\x79\\x9a\\x33\\x10\\x0a\\x05\\x2b\\x7f\\x0e\\x0a\\xa1\\xc5\\x80\\x28\\x4a\\xd6\\xc0\\xd3\\xf9\\x12\\x43\\x71\\xa1\\x4f\\xfc\\x24\\xc7\\x19\\x79\\x91\\x11\\x7a\\xe2\\x8f\\x38\\x61\\xbf\\x6a\\xd3\\x6a\\x4a\\xf8\\x95\\x24\\x67\\x78\\x0c\\x26\\x7b\\x2d\\x8a\\x89\\x9d\\xd0\\xe4\\xb6\\x51\\x5b\\x37\\xc1\\x25\\x39\\x33\\x79\\x75\\x6e\\xe9\\x26\\xbf\\xc0\\xb5\\xa2\\x27\\x41\\x3f\\xef\\x42\\x6b\\x56\\x0a\\xed\\xe0\\x47\\x50\\x07\\x23\\xc4\\xd4\\x9c\\x41\\x81\\xd8\\xf3\\x8d\\x14\\xda\\x7f\\x1d\\x34\\x41\\x19\\x46\\xd3\\x0a\\x5c\\x8f\\x56\\x4f\\xa9\\xd3\\x69\\x90\\xe0\\x46\\x8c\\xca\\x0a\\x2e\\x86\\xf7\\xe2\\x2a\\x49\\xfe\\x7f\\x79\\xdb\\xf4\\x83\\x02\\xf1\\x2d\\xfc\\x76\\xb5\\x02\\xb8\\x14\\x13\\x57\\xb6\\x0b\\xcf\\xaf\\xcb\\x09\\x4c\\x01\\x12\\xc8\\x90\\x5b\\x86\\x52\\x71\\xf8\\x1d\\x93\\xf7\\xe4\\x25\\xfd\\xbd\\xb4\\xa7\\x6e\\xb8\\xc6\\x40\\xf4\\x27\\x4b\\x78\\xb7\\xd2\\x22\\x79\\x91\\x9c\\x5f\\xc1\\x19\\x18\\x52\\x54\\xaa\\x22\\x1f\\xc2\\xab\\x94\\x16\\xcb\\x85\\x7e\\x24\\xa1\\xcf\\xbb\\x92\\x69\\x3b\\x5f\\x28\\x0b\\x4f\\x73\\x24\\x59\\x82\\xd7\\xac\\xf0\\x88\\x2c\\xcf\\xad\\x5c\\xb5\\x63\\x4c\\x01\\xf6\\x50\\x6b\\x16\\x80\\xed\\x32\\xb8\\xce\\x7b\\xa9\\x35\\x3b\\x57\\x50\\xc2\\x5e\\xf9\\x9a\\x61\\xe1\\x80\\x62\\x39\\x55\\xe4\\x48\\x18\\xf0\\x9e\\xbb\\xe0\\x49\\x70\\x20\\x94\\x57\\xd0\\x68\\x84\\x1f\\xb6\\x1c\\xfa\\xee\\xeb\\xa1\\xef\\x46\\x77\\x84\\x61\\x5e\\x8d\\x59\\x2c\\x4e\\x4a\\xaf\\x77\\x38\\x09\\xf6\\x39\\xe8\\xad\\x55\\x98\\x0e\\xa4\\xa5\\x95\\xcd\\x8f\\x69\\xcb\\x52\\xb0\\x64\\x3d\\x74\\x33\\x28\\x7a\\x77\\x01\\xd3\\x48\\xfc\\x27\\x0b\\xfb\\x3b\\x77\\xf5\\x65\\xe6\\x74\\x5d\\xd6\\x2f\\x7c\\x74\\xcb\\x0b\\x5b\\x3f\\x38\\x74\\xcb\\x0b\\x3b\\x7e\\x40\\xc6\\x37\\x5f\\xb9\\xed\\xb7\\x9b\\x36\\xed\\xdd\\xf2\\xb1\\xb0\\xee\\xe9\\x9b\\x0e\\xff\\x6e\\xcf\\xd3\\x37\\xdd\\xf0\\xe7\\x4b\\xa5\\xda\\xf4\\x2c\\x3c\\x4c\\x8c\\xc8\\x36\\x61\\x5e\\x98\\x31\\x2e\\xe6\\xc3\\x32\\xab\\xc2\\xca\\x7a\\x71\\xc6\\x18\\x34\\x46\\xb5\\xda\\x92\\x78\\x50\\xa1\\x70\\xe3\\x78\\x5c\\xc6\\x30\\xe1\\xf0\\x62\\xc7\\x06\\xc7\\xdd\\x0e\\xc2\\xe1\\xf0\\x41\\xeb\\x4d\\x9f\\x86\\x88\\xcf\\x0b\\xd7\\x34\\x8e\\xd6\\xb4\\x1c\\x4a\\x99\\x05\\x76\\xc9\\xe2\\x21\\x11\\x92\\xe1\\xd6\\xe5\\x6e\\x6d\\xc8\\xc2\\xa5\\x8d\\x27\\x77\\x67\\x13\\xcc\\xcd\\x1b\\x9a\\x7e\\x67\\xd3\\x05\\x0c\\x3b\\x27\\x46\\xc6\\xdf\\x7f\\x4b\\x78\\xfc\\xf0\\x9e\\x59\\x43\\x60\\x40\\x35\\xbf\\x73\\x66\\xeb\\xa2\\xe5\\x6b\\x8f\\x6f\\xde\\xfe\\xc8\\xef\\x64\\x9b\\xe8\\xbb\\xe7\\x5f\\x66\\x52\\x65\\xba\\xae\\xb8\\xf6\\x7b\\x4b\\x2f\\xd7\\xea\\x06\\x9a\\x9f\\x32\\x36\\xe9\\x7a\\xd3\\x8d\\xcd\\x2b\\x97\\x8f\\xb1\\x93\\x65\\xab\\xc7\\xaf\\xf8\\xde\\x41\\xa4\\x5f\\x02\\xda\\x73\\x54\\xc4\\x3f\\x16\\x6c\\x84\\x2f\\x23\\x58\\xd6\\x46\\x29\\xe4\\x72\\x64\\xd7\\x3a\\xab\\x4d\\x51\\x4e\\xa5\\xa9\\x3e\\x8a\\x40\\x7f\\x1c\\xa6\\xee\\xa6\\x1e\\xa5\\x3e\\xa2\\x3e\\xa5\\xa6\\x28\\x18\\xf0\\x35\\xb4\\x3c\\x6f\\xe8\\xe7\\xe1\\xd7\\x4d\\x17\\xc4\\x9e\\xc2\\xd5\\x07\\x55\\xb0\\x70\\xa9\\xc5\\x1c\\x9c\\x5e\\xb8\\xfa\\xba\\x68\\x5a\\x53\\x76\\x15\\x25\\x4c\\x50\\x4b\\xa1\\x91\\x80\\xf4\\xed\\xc7\\x9f\\xbe\\x8f\\x78\\x6c\\xdd\\xd2\\x5b\\x84\\xe3\\xad\\x53\\x58\\xce\\xc4\\xd7\\xaf\\xbe\\xea\\x06\\x71\\x4f\\x3a\\xa1\\xcc\\x7d\\x50\\x66\\x74\\x67\\xba\\x80\\x77\\xb9\\x30\\xa7\\x93\\x65\\x18\\xa0\\x05\\x94\\xdc\\x84\\xee\\x42\\xe4\\x5a\\xb7\\x07\\xba\\x33\\x97\\x8b\\x74\\x52\\x4a\\xe4\\x48\\xf4\\x00\\xc8\\xe5\\x26\\x32\\x9f\\x1b\\xe5\\x24\\x4d\\x9e\\x5f\\x00\\x2f\\x6a\\x39\\x3b\\x4f\\x4e\\x4a\\xf4\\xba\\xe1\\x1c\\xee\\x06\\x47\\x13\\xd0\\x61\\x5c\\x4b\\x8d\\x21\\x68\\xdd\\x72\\xcf\\x91\\xe5\\x4b\\x77\\x0e\\x51\\x9f\\xed\\xb6\\x2e\\x5f\\xdf\\xd5\\x11\\xab\\x27\\xf6\\x0b\\xbf\\xcf\\x49\\xbd\\x6a\\xf9\\xc2\\xcb\\xad\\xc2\\x07\\xd0\\xed\\x0e\\xb6\\x2e\\x1d\\xea\\x6d\\x17\\x4e\\x8b\\xe7\\xf4\\x3a\\xa8\\x43\\x97\\xe8\\x47\\x9a\\x78\\x13\\xa3\\xd7\\x13\\xb8\\x02\\x37\\xa9\\x58\\xad\\x46\\xa3\\x50\\x28\\x19\\x92\\x44\\x72\\x3f\\x09\\x8f\\x65\\xf6\\x54\\x66\\xe3\\xa5\\xf4\\x05\\x92\\x85\\x39\\xaf\\xc6\\xdc\\x85\\x41\\x1e\\xe4\\x71\\xd4\\xad\\xd4\\x95\\x3b\\x82\\xe9\\xce\\xd2\\xaa\\x30\\x7e\\x4b\\xb8\\x5a\\xd1\\x34\\x2b\\xb0\\x63\\x37\\x3c\\x70\\x50\\x9e\\x07\\x35\\x47\\x3f\\xfe\\xf8\\xa8\\x7a\\x72\\x88\\x89\\x43\\x19\\x4e\\x41\\xdb\\x46\\xd8\\xc3\\x01\\x65\\xd0\\x93\\x14\\xe5\\xb0\\x5a\\x9d\\x2e\\x8d\\x56\\x0b\\x11\\xb0\\x4b\\x09\\x61\\x5b\\xfa\\x69\\x83\\x96\\x74\\x38\\x68\\x90\\xc5\\x99\\x92\\xe7\\x3d\\xcf\\x7e\\x91\\x0c\\x17\\xb9\\x2c\\xc8\\x0f\\x69\\x3d\\xa5\\x00\\x97\\x28\\x26\\xda\\xb4\\x27\\x96\\xec\\x32\\xcc\\x5b\\x4d\\x01\\x83\\x62\\xb4\\xdf\\xf9\\xd0\\x4d\\x37\\x9d\\x50\\x74\\xca\\x4a\\xe2\\x71\\x5a\\xd8\\x36\\x27\\x74\\x62\\xd5\\x0a\\xf0\\x23\\x1a\\xfd\\x50\\x79\\xec\\xba\\x2b\\x77\\x70\\xcd\\xe0\\x7e\\xb4\\x46\\xf7\\xe0\\x1e\\xf2\\xa7\\x30\\xce\\x9b\\xb0\\x45\\x7c\\x80\\x24\\xd4\\x5a\\x0d\\x0e\\x30\\x9d\\x0e\\x57\\x13\\x32\\xda\\x64\\x32\\xab\\x64\\x32\\xd6\\x8c\\xc3\\xbc\\x97\\x32\\xd1\\x34\\x84\\xc6\\x7a\\x0a\\x85\\x5a\\x9d\\x5a\\x0d\\xe0\\x4e\\xa7\\x73\\xf5\\xd3\\xbc\\xb0\\xe5\\x45\\x7e\\xa2\\xb8\\x8c\\x2a\\xc5\\x0a\\xbf\\x34\\x87\\xc6\\x8e\\x8a\\xa7\\x92\\x06\\xc1\\xba\\xd1\\xbf\\x35\\x6e\\xea\\x55\\x80\\xb9\\x8a\\xa5\\xfc\\x5f\\x1b\\x47\\x7e\\xba\\x4c\\x01\\x08\\x45\\x17\\xee\\x01\\x93\\x02\\x81\\x9f\\x13\\x5d\\x97\\x05\\x7c\\x2e\\x68\\xc0\\x9f\\xc5\\xf8\\x86\\x63\\x1d\\x78\\x10\\xdf\\x47\\x6e\\x81\\xd9\\xba\\x13\\x6b\\xe7\\x75\\x16\\xd2\\x6a\\xc5\\x0c\\x06\\xb7\\x51\\xa5\\x72\\xb9\\xf5\\xcf\\x81\\x46\\xe8\\xc6\\x74\\xa0\\xf1\\x29\\x0b\\x49\\x9a\\xcd\\xd4\\x73\\x50\\x44\\x98\\x38\\xe6\\x83\\x03\\x92\\x35\\x3d\\x6d\\xe0\\xa4\\x14\\xfe\\xfd\\xe1\\x7c\\x8b\\x28\\x44\\xa0\\xa9\\x24\\x90\\x66\\xf8\\x8a\\x17\\xda\\xa1\\x16\\xd9\\xbb\\xb8\\x37\\x53\\xd9\\x91\\xc9\\x1c\\x5b\\x32\\xd8\\x52\\xe9\\x15\\xc6\\xca\\xec\\xe5\\x0d\\x0d\\xb6\\x8a\\xf6\\xc5\\xf8\\xb8\\xc9\\x37\\x37\\x5a\\xb3\\x72\\xe5\\xf8\\xe9\\x55\\x76\\xb3\\x70\\xb4\\x83\\x9f\\x07\\xe6\\x9a\\x9e\\x43\\xe7\\x67\\x31\\x5e\\x8a\\x1f\\x23\\x2f\\x3b\\x4f\\x4e\\x17\\x12\\xd4\\x6d\\x40\\x41\\x0b\\xc9\\xd9\\x9c\\x97\\xb3\\x11\\x1d\\x3a\\xf8\\x67\\xb1\\x9c\\xc5\\x79\\x86\\x54\\x12\\x4b\\x72\\x79\\x3f\\x2b\\x32\\xf4\\x89\\x8e\\x98\\x22\\x90\\xe3\\x7a\\x36\\x2f\\xe6\\xd0\\x9d\\xa3\\x48\\x4c\\x70\\x67\\x5e\\x4c\\xb2\\xae\\x58\\x4c\\xb0\\x06\\x8a\\x29\\x9c\\x42\\x62\\x4e\\x4d\\xe5\\xd6\\xd3\\x20\\x97\\x8d\\x89\\x39\\xf6\\x22\\x3c\\x4e\\x3c\\x08\\xe5\\x56\\x60\\x51\\xac\\x0e\\x5b\\xcd\\xdb\\x90\\xd4\\x25\\x25\\x65\\x4a\\x42\\x57\\x15\\x08\\x34\\x58\\x09\\x9d\\xae\\xbe\\x21\\xe6\\x72\\xa5\\x52\\xde\\x67\\x40\\x23\\xaf\\xb4\\xb0\\xac\\x03\\xd3\\xeb\\xd5\\x0e\\xf1\\xa7\\x32\\x08\\x2d\\x2a\\xe5\\xf2\\x88\\xba\\xc8\\x0d\\x40\\x65\\xb2\\x6e\\x20\\x77\\xbe\\x0a\\x65\\xa1\\x9c\\x8d\\x14\\x77\\xeb\\xca\\x73\\xdc\\xca\\x85\\x5e\\xdd\\x44\\xb1\\xde\\xf9\\x56\\xdd\\xec\\xb5\\x36\\x38\\xde\\xb3\\xd2\\xa9\\x8f\\xf6\\x99\\x9b\\x86\\x86\\x46\\x4e\\x7f\\x8d\\x68\\xaa\\x29\\x6d\\xf3\\xda\\xaa\\x77\\xd5\\xdd\\x11\\xab\\x5a\\x9a\\xec\\x59\\xb4\\xe8\\xe4\\x68\\x6f\\x07\\x5e\\x5a\\x69\\x6d\\xb5\\x75\\x4c\\x94\\x7b\\xed\\xb3\\x88\\x66\\xd5\\x70\\x83\\xd5\\x7a\\xe9\\x4d\\xb1\\xf6\\x9a\\x79\\x5b\\x34\\xd1\\x8e\\x4e\\x1f\\x17\\x2a\\xad\\x58\\xd3\\x5c\\xb6\\x71\\x21\\x5c\\x21\\x70\\x5f\\xa4\\xf5\\x48\\xb3\\xc1\\xfe\\xe2\\xb6\\xce\\xe6\\x1a\\xd1\\x17\\xee\\xc2\\x61\\xfe\\x23\\xbb\\x06\\xe2\\x6d\\x17\\x36\\x83\\x67\\x61\\xd6\\xe8\\x61\\x65\\x06\\x03\\x04\\x9e\\x3a\\x9d\\xdb\\x23\\x63\\x59\\x82\\xb0\\xbc\\x08\\x37\\x8f\\xc6\\xf4\\x30\\x14\\x29\\x31\\x4d\\x36\\x66\\x9e\\xa7\\x6e\\xc1\\x4f\\x4b\\xdb\\x26\\xea\\x40\\xf9\\xc2\\x68\\x63\\x75\\x80\\x2a\\x84\\x50\\xba\\xcc\\x1e\\x6f\\xac\\xd7\\x56\\x30\\x2d\\x8b\\x6e\\x3d\\xbc\\xfe\\xda\\x14\\xf5\\xa1\\xd3\\xa3\\xf2\\x0c\\x55\\xce\\x9c\\xdf\\x7f\\x03\\x71\\x73\\x67\\x7a\\x9e\\xf0\\xb4\\x96\\x79\\xe1\\xdf\\x31\\x82\\xd0\\x85\\xef\\x7f\\xd4\\x17\\xaf\\x5b\\x33\\x3a\\x7e\\x66\\xb5\\x14\\x4b\\x79\\x3c\\x84\\x7f\\x5d\\xb6\\x1f\\xfa\\x6d\\x1f\\xd6\\xc3\\x1b\\x95\\x4e\\x07\\x61\\x34\\xaa\\xd5\\x50\\xd2\\x80\\x99\\x20\\xfc\\x01\\xda\\xf0\\x22\\xdc\\x1a\\x35\\xa6\\x85\\x92\\x7a\\x20\\x6e\\x6a\\x7c\\xca\\x61\\x34\\x42\\xdb\\x14\\x4f\\x73\\x22\\x6b\\x7a\\xd3\\xe2\\xbd\\xb4\\x4d\\x45\\xac\\x0d\\x9c\\x54\\xb0\\x93\\x8e\\x4d\\xb8\\x68\\x52\\x8d\\xfc\\xc7\\x6d\\xf3\\x7a\\x0f\\x0d\\xb6\\x07\\x14\\x8e\\x25\\x14\\x90\\xdd\\xd0\\x40\\x7d\\x97\\xf4\\x0e\\x47\\x43\\x16\\x2e\\x6d\\xab\\x57\\x55\\x98\\xd3\\x19\\x3c\\xb4\\x7a\\xd1\\xc4\\x99\\x71\\xfd\\xac\\x93\\x74\\xf8\\xdc\\x2f\\xe8\\xc0\\x82\\xd2\\x9a\\x8f\\x3b\\xf9\\xf2\\x00\\x98\\xa5\\x32\\x3e\\x23\\xca\\xbf\\x10\\xda\\x63\\x07\\x3c\\xdf\\x28\\xee\\xd4\\xf1\\x06\\x33\\x49\\xd2\\xb4\\xdb\\x63\\x55\\x62\\x98\\x87\\x30\\x9b\\x35\\x0e\\x23\\xb4\\xb3\\x27\\x61\\xf0\\xd4\\x48\\xee\\x27\\x5f\\x80\\x03\\xf9\\xd8\\x22\\x3d\\x02\\x91\\xd3\\xe2\\x00\\x21\\xae\\xe8\\x60\\x9b\\x65\\xf9\\xe6\\xee\\x8e\\xa7\\x0e\\x13\\xeb\\x66\\xce\\xb5\\x95\\xed\\x69\\xda\\xb4\\x7a\\xf0\\xc6\\x39\\x43\\x8b\\x84\\xd7\\x3a\\x96\\x5a\\xf4\\x91\\x4e\\xe2\\xcb\\x81\\x2d\\xea\\xe8\\x0d\\x75\\xa1\\x68\\xd5\\xc6\\x65\\xcb\\x1f\\x1f\\x6f\\x7f\\x8b\\xca\\xa4\\xad\\xd6\\xed\\x48\\xb6\\x7e\\x28\\x5b\\xc3\\x79\\xb2\\x89\\xa2\\xb9\\x3d\\x70\\x6d\\x45\\xd9\\xd2\\x59\\xd9\\x1a\\x8b\\x65\\x3b\\xaf\\x83\\x53\\xb4\\xed\\xfc\\x40\\xba\\xec\\x73\\xce\\x60\\xce\\xfe\\xfb\\xb3\\xa2\\x95\\x5f\\xd6\\xbc\\x76\\xbd\\x28\\x1a\\xa8\\x9f\\xb5\\x08\\x89\\x86\\x9f\\xc8\\x8a\\x16\\x4b\\xae\\x59\\x25\\x8a\\xa6\\xcc\\x34\\x89\\xa2\\x41\\x3f\\x3e\\x0b\\xca\\x56\\x02\\x65\\x8b\\xc0\\x5d\\xf7\\xf8\\x68\\x5c\\x15\\x0a\\x99\\xdc\\xee\\x68\\xcc\\x86\\xe3\\x31\\x2b\\xc7\\x39\\x7c\\x7a\\xbd\\x54\\x35\\x80\\x07\\xd8\\x81\\x72\\x38\\x8a\\xc4\\x44\\x31\\x13\\x89\\x74\\x1e\\x35\\x5d\\x50\\xdb\\x40\\x98\\xa2\\xc0\\x6d\\x6e\\xe6\\xc4\\xda\\x86\\x3c\\x37\\x9a\\xb1\\x88\\x04\\xbd\\xaa\\x06\\x5c\\x33\\xd6\\x6a\\x8d\\xea\\x1c\\x95\\x25\\x35\\x5e\\xba\\xa3\\x54\\x53\\x32\\x77\\x51\\x59\\x74\\xb0\\xc7\\x31\\xbe\\x6f\\xd5\\x8a\\xb9\\xb3\\x41\\x30\\x01\\xbd\\x8c\\x79\\x5f\\x3b\\x57\\x53\\xe9\\x2f\\x93\\xa9\\xba\\x28\\xfb\\x92\\x78\\x59\\x7d\\x74\\x64\\xb0\\xa3\\x69\\x90\\x26\\x75\\xe9\\x58\\x87\\xc4\\xe5\\x1e\\x81\\xf6\\x5b\\x4d\\x5e\\x02\\xf5\\xe8\\xe2\\x1d\\xca\\x50\\x48\\xe7\\xb7\\xb3\\x5e\\x6f\\xcc\\x4e\\x10\\xd1\\x98\\x5f\\xa7\\xa3\\x23\\x6a\\xa6\\x93\\xa6\\xed\\x9c\\x0b\\xd9\\x01\\x29\\x97\\xe7\\x0d\\x17\\x7a\\x9b\\xba\\xf2\\x92\\x7c\\x59\\xaf\\xd0\\xc8\\x3c\\x6d\\x18\\x6f\\x58\\x2e\\xce\\x72\\xe1\\xa4\\x3b\\x9c\\xc2\\x38\\x1e\\x34\\xca\\xc5\\x24\\xff\\xb4\\x75\\xdc\\xa9\\xe8\\xea\\xeb\\xe9\\xab\\x1e\\xf0\\x3a\\xb5\\x4e\\xeb\\x40\\xb0\\x62\\x21\\x1f\\xf6\\x95\\x58\\x3b\\xd6\\x6f\\xdf\\x71\\x2d\\x58\\x79\\x07\\x1e\\x72\\xdb\\x2a\\xdc\\x1d\\x4d\\xb5\\xac\\xb2\\x97\\x52\\x37\\x47\\x67\\x3a\\x66\\xdf\\x60\\x4e\\xd7\\xad\\x89\\x93\\xdc\\xf0\\xa2\\xb5\\xc8\\x46\\xbc\\xa0\\x04\\xdf\\x0d\\xf7\\x41\\x8d\\x85\\xb1\\x99\\xbc\\x59\\xee\\xf3\\x78\\x28\\xca\\xa0\\xd7\\x47\\x2d\\x98\\x46\\x13\\x89\\xca\\x7d\\x3e\\x82\\x08\\xa2\\xf5\\x77\\x5a\\x21\\xc2\\x6e\\x82\\xde\\x82\\xce\\xba\\xfd\\x0b\\xbd\\x63\\x3e\\x09\\xc8\\x9e\\x31\\xd1\\x1f\\xa2\\x0b\\x1b\\x6e\\x1a\\xd3\\x39\\x7a\\xec\\x25\\xfe\\xfc\\xfb\\xb8\\xd5\\x54\\x6f\\xe7\\x7d\\xf1\\x19\\x8b\\xee\\x3a\\xbd\\x7f\\xe2\\xf0\\x2a\\xee\\xe6\\xab\\x6b\\xb6\\xdb\\xb4\\x5e\\x73\\xa2\\xbf\\xae\\x95\\xd6\\x6b\\x7c\\x23\\x65\\xed\\xf3\\x09\\x79\\x27\\x1f\\x0b\\x80\\x45\\xf4\\x53\\xb7\\x3d\\xf4\\x91\\x75\\xf2\\xe5\\xcb\\xb6\\xda\\xf4\\xb7\\xf5\\x25\\x5a\\xe6\\x8f\\x86\\xa0\\x27\\x41\\x3a\\x54\\x02\\x3d\\x58\\x4a\\xae\\x14\\x7b\\x95\\xcb\\x79\\x1a\\xf5\\x2a\\xc3\\xf4\\x8b\\x24\\x08\\x56\\xaf\\x26\\x29\\x14\\xbc\\x50\\xb0\\x6a\\x10\\xa5\\x7e\\xb5\\xe8\\x9a\\x2c\\x7b\\x71\\x93\\x44\\xae\\x81\\x2b\\xea\\x4f\\x7e\\x7a\\x26\\xf5\\xe7\\x61\\xe8\\xc5\\xae\\xaf\\x09\\x87\\xaa\\xab\\x43\\xe1\\x1a\\xb2\\x42\\x17\\x11\\x70\\x3a\\x7c\\x36\\x5c\\x5d\\x1d\\x0e\\xa3\\xd9\\x99\\x58\\x3b\\x4c\\x0a\\x6f\\x82\\x7e\\xcb\\x88\\x8d\\xf2\\x16\\x4c\\x6b\\x34\\x6a\\x28\\x4a\\x27\\xd7\\x31\\x34\\x6d\\x62\\xd5\\x0a\\x05\\xc4\\x96\\x2c\\x63\\x80\\x48\\x9f\\x57\\x69\\x31\\x0d\\x85\\x51\\x84\\x5a\\x41\\xa3\\x12\\x1d\\x9a\\x13\\xf2\\x8c\\x28\\x4b\\x16\\x70\\xd6\\x65\\x03\\xcd\\x05\\x19\\x40\\x0e\\x74\\xc2\\x3c\\x2a\\x49\\xe3\\x22\\xd4\\x44\\x57\\x78\\xf0\\x27\\xe0\\xfc\\x61\\x15\\xf5\\x36\\x95\\xba\\xf9\\x9a\\x0a\\xea\\xf9\\xe5\\x2d\\xd1\\x7b\\xae\\x87\\xc2\\x12\\xcb\\xde\\xd1\\x85\\xc3\\xba\\x6b\\x84\\x17\\x74\\x11\\xc0\\xc4\\x7e\\x47\\xb8\\x75\\x68\\x4e\\x43\\x1a\\x62\\xca\\x07\\xc9\\xad\\xd0\\x3e\\x27\\x78\\xbb\\x5d\\x26\\x97\\xab\\x28\\xca\\xa3\\x0f\\x61\\x98\\xdf\\xe3\\x89\\x99\\x69\\x86\\x41\\x7b\\x1d\\xf3\\x87\\x50\\x99\\x42\\x2d\\x83\\x96\\x6a\\x46\\xf0\\xc9\\x29\\xc6\\x07\\x03\\x66\\x82\\x92\\x52\\x30\\x4a\\x34\\x67\\xe3\\x43\\x3e\\x3f\\x4d\\x17\\x95\\x51\\xf4\\xd3\\xb1\\x5f\\xe1\\x3a\\xc8\\x9f\\x9f\\xcd\\x20\\x8a\\x2d\\x5e\\x0c\\x71\\xb9\\x8e\\x07\\xa8\\x8f\\xb1\\x86\\x20\\x4b\\x02\\x83\\x8a\\xc6\\x13\\x4d\\xda\\xb8\\xb3\\xdb\\x94\\x3e\\x91\\xa9\\xa6\\xce\\xe2\\x83\\x5b\\xca\\x5b\\xc1\\xc0\\xf6\\xaa\\xb4\\xac\\xb9\\x43\\xf1\\x87\\x66\\x2d\\xf1\\xdb\\xfa\\x35\\x15\\xc2\\x29\\x30\\xd8\\x66\\xab\\x9f\\x57\\x23\\x1c\\x07\\x93\\x74\\x64\\xc5\\x96\\x14\\xbf\\x7d\\x46\\xa3\\x2a\\x2c\\x9c\\x84\\xea\\x0e\\xb6\\x49\\x35\\x20\\x10\\xc7\\xf7\\x43\\x5d\\x7d\\xd8\\x6c\\xde\\xe4\\xf2\\x7a\\x0d\\x34\\x1d\\x50\\x11\\x24\\xc9\\xc9\\x65\\x32\\x7f\\xc0\\x61\\x61\\x9f\\x01\\x4d\\xa7\\x09\\x95\\x0a\\xd3\\xbc\\x00\\xb5\\x93\\x63\\x0a\\xa8\\x9d\\x0c\\xe9\\x86\\x54\\xcb\\xa6\\xb7\\x85\\x16\\x9c\\x7c\\xa3\\x06\\x98\\xae\\x81\\xc4\\xfe\\x93\\x2f\\x18\\x89\\x0f\\x2e\\xc1\\xa9\\xe0\\x52\\x96\\xbf\\x7b\\xa8\\x5a\\xf1\\xba\\x6c\\xf4\\x9a\\xda\\x2e\\x9a\\x67\\xaf\\x5c\\x5d\\x53\\xc6\\x85\\x74\\x1a\\x3a\\x6d\\x6f\\xd7\\x92\\xee\\xc1\\x2a\\x49\\xf0\\xd5\\x3b\\x9a\\x5b\\x9c\\xdd\\xc2\\x75\\xdb\\x76\\xa8\\xf7\\xb7\\x69\\x6e\\x07\\x7b\\xa1\\x52\\x52\\x4e\\x19\\xc4\\xb7\\xc0\\x73\\xa8\\xc1\\xac\\x62\\x5e\\xcb\\x71\\x76\\x39\\xc3\\xd8\\xec\\xb8\\x09\\x81\\x2d\\x25\\x8c\\x7f\\x17\\xcb\\x6b\\x8b\\xd2\\x5a\\xa2\\x28\\xad\\x95\\x83\\xf7\\xba\\x43\\x5d\\x65\\xa5\\xfe\\x50\\x67\\xec\\x81\\xf1\\x9d\\x03\\xb7\\x2c\\x1e\\xdf\\xf9\\x2c\\xf1\\x8d\\x9b\\x86\\x8f\\xcf\\x6b\\xef\\xce\\xdc\\x22\\x7c\\xb0\\x6f\\xcd\\x92\\x07\\x16\\xed\\x5b\\x73\\xcb\\x5b\\xe2\\xba\\xb5\\xc3\\xdf\\xdd\\x0a\\x7f\\xb7\\x15\\xd5\\xe7\\x2c\\x2a\\x95\\xcd\\x6e\\x20\\x08\\x3b\\xad\\xa6\\x50\\x7c\\xe0\\x58\\x36\\xeb\\x78\\xf5\\xd3\\x8b\\xdd\\xc8\\xd7\\xe6\\xa2\\x41\\xee\\x64\\x67\\x27\\x97\\xd6\\x80\\x89\\x15\\x97\\x0c\\x1d\\xcf\\x04\\x26\\x7c\\xce\\x12\\xa5\\x27\\x35\\x6b\\xa2\\x21\\xde\\xd9\\x6f\\x9f\\x20\\xb7\\xac\\x5f\\xbe\\xf1\\xe1\\xa5\\xb4\\xe6\\x91\\x55\\x81\\xa7\\xae\\x9e\\xdd\\x5a\\x17\\x5a\\x24\\xf6\\x9e\\x10\\xb3\\xf1\\x0d\\xd0\\x87\\x32\\x98\\x9f\\xd7\\xe2\\x3a\\x1d\\x2a\\xa1\\xa0\\x26\\x41\\x59\\x36\\x30\\xe5\\x3a\\xa3\\xce\\x6b\\x0f\\xf4\\x4b\\x64\\x3b\\x14\\x78\\x5a\\xef\\xf0\\x95\\xa7\\xcc\\x8f\\x5a\\x6f\\x3d\\xf8\\x63\\x25\\x31\\x7b\\x49\\x65\\x69\\xe9\\xaa\\xab\\x6e\\xbc\\xf5\\x8d\\x98\\xc4\\xc1\\x8b\\x2d\\x80\\x3e\\x7a\\x9c\\x98\\x2d\\xfd\\xfd\\x30\\x43\\xd0\\x1b\\x60\\x26\\x68\\x60\\x28\\x2d\\x21\\x05\\xe5\\xb7\\x12\\xd3\\xb4\\xca\\xbe\\xb4\\xcc\\x91\\xf1\\xa6\\xf0\\x71\\xeb\\xb1\\x6b\\x3f\\x50\\x3e\\x6a\\xb0\\x7b\\x6a\\x6a\\x4c\\xc4\\xec\\x23\\x47\\xde\\x8c\\x26\\x56\\xc5\\xe3\\x25\\xdb\\xb6\\x48\\xef\\x00\\x3f\\x05\\x31\\x68\\x77\\x97\\x60\\x66\\xcc\\x8b\\xf5\\xf1\\xac\\x1c\\x62\\x18\\x83\\x41\\xa1\\xd0\\x69\\xb5\\x3e\\x0e\\xf3\\x3b\\x0c\\x06\\x9b\\xcd\\x84\\xce\\x93\\x0e\\x63\\xa0\\xc5\\x29\\x30\\x35\\x34\\x43\\xa7\\xdb\\x2d\\x2f\\x4e\\x49\\xf2\\xe8\\x2b\\xdb\\x5b\\x9c\\x43\\x31\\x40\\xc2\\xce\\x74\\xbe\\x70\\x25\\x19\\x21\\x55\\x40\\xd2\\xf8\\xfe\\x39\\xd7\\x2d\\xa8\\x8e\\x90\\x10\\xc3\\x08\\x2f\\x51\\xcd\\xfb\\x1a\\xa9\\x77\\x88\\x59\\xf3\\x67\\x0e\\xdc\\x19\\xb5\\x45\\x1b\\x1b\\xdc\\xe1\\xd6\\x11\\xe2\\xa1\\x89\\x33\\x2b\\x4c\\xe1\\xc7\\xe9\\x70\\x98\\xc6\\xdf\\xa3\\x03\\xf3\\x96\\xad\\xdb\\xd6\\xc9\\xcf\\x11\\x4e\\x3b\\x9f\\x16\\xd7\\x67\\x31\\x1e\\x04\\x8f\\x90\\xbf\\x81\\xfb\\x5f\\xc7\\x1b\\x0d\\xac\\x5e\\x6f\\xb1\\xd0\\x1a\\x42\\xa9\\xb4\\xd9\\x35\\x2c\\xcb\\xd0\\xd0\\x8d\\x35\\x3c\\x81\\xa3\\xc1\\x07\\x69\\xa9\\x84\\xfa\\x56\\xc1\\xed\\x17\\xc5\\xdd\\xc2\\x98\\x11\\xa3\\x3f\\x8d\\x27\\xd1\\x35\\x0d\\xca\\xff\\x40\\x3d\\x57\\xc2\\x78\\x17\\x44\\x5b\\x3a\\x65\\x4d\\xed\\xf2\\xc1\\x81\\x05\\xe6\\x51\\xd5\\xe2\\x94\\x12\\xdf\\xc8\\xc4\\xcc\\xf6\\xe6\\x26\\x26\\x06\\x66\\x87\\x2d\\x97\\x5f\\x9e\\x16\\xde\\xa9\\xe4\\x9a\\xa4\\xfd\\xea\\x86\\xf8\\xf5\\x5e\\xe8\\xcf\\xad\\xd8\\x2c\\xde\\x20\\xde\\x4e\\xeb\\xa1\\x28\\xe2\\x5d\\x35\\x65\\x37\\xc1\\x24\\xb4\\xe1\\x29\\xb1\\x57\\x4c\\xf7\\x02\\x94\\x08\\x2d\\x67\\x33\\x26\\x47\\x2e\\xb5\\x90\\x8c\\xe4\\xbc\\x69\\x71\\x42\\x2a\\x65\\xa2\\xa2\\xb3\\x2f\\x6a\\xa5\\x4f\\x12\\xf2\\xcf\\x52\\xe1\\xc5\\x2c\\x7f\\x22\\xd3\\xa2\\xf8\\x91\\x78\\x78\\x15\\x0d\\xd0\\xed\\x34\\xe9\\xf0\\xd3\\xf5\\xf3\\x13\\x60\\xb9\\x40\\xd0\\x91\\x89\\x1d\\x4d\\x2d\\x9a\\x14\\xe8\\xa6\\xc3\\xc2\\x37\\xbb\\x24\\x19\\x07\\x71\\x1b\\x7e\\x2b\\xb9\\x09\\xca\\x98\\xe6\\xed\\x26\\x8a\\xe3\\x6c\\x76\\x51\\x26\\x35\\x8c\\x3e\\xf6\\xa2\\xfe\\x7f\\xc9\\x82\\x91\\x28\\xaf\\x8a\\x37\\xad\\xa0\\xa8\\x82\\x96\\xed\\x26\\x92\\xba\\x9f\\xaa\\x65\\x29\\x8e\\x0d\\xe7\\xc8\\x50\\xa9\\x70\\xb5\\xcc\\x8c\\x53\\x50\\x02\\xc9\\x6d\\x88\\x12\\x54\\x0b\\x4f\\xd2\\x61\\x30\\xd8\\x85\\xbf\\x94\\x0a\\x2d\\x29\\x96\\x98\\x6a\\x14\\x25\\x46\\x72\\x55\\xe0\\x21\\xe2\\x03\\xb8\\x76\\x7e\\x6c\\x3d\\xef\\x74\\x01\\xb7\\xdb\\x63\\xb3\\x58\\x38\\x19\\xba\\xd8\\x50\\x7a\\x3d\\x9e\\xa0\\x8e\\x61\\xd4\\x4a\\x65\\x20\\xe8\\xe6\\x9e\\x83\\x4b\\x86\\x70\\x75\\x03\\xaf\\x76\\x99\\x4c\\x40\\x26\\x83\\x86\\x4a\\x88\\x29\\xa8\\x17\\xfe\\x45\\xa8\\xc0\\x30\\xcd\\xdf\\xa7\\x2f\\xbc\\x1e\\x9f\\xd6\\xcf\\x05\\xd0\\xa2\\x86\\x25\\xe2\\x26\\xb4\\xac\\x14\\x82\\xb3\\x61\\xb4\\xe0\\xe2\\x77\\xe2\\xc2\\xe3\\xef\\x80\\xbd\\xb3\\x96\\xb3\\x87\\xe6\\xee\\x95\\xa5\\x6b\\xa8\\xdf\\xb6\\x91\\x7c\\xac\\x01\\xc8\\x3a\\x1f\\x69\\x23\\xd3\\x91\\xd4\\xbc\\x47\\x86\\xab\\x29\\x3c\\x51\\xc5\\x77\\x75\\x6d\\xad\\x04\\xcb\\xe1\\x5a\\xef\\xf6\\xcf\\xb4\\xea\\xe2\\xe0\\x18\\xfa\\x86\\x03\\x1f\\xa0\\x08\\x9c\\xc7\\x8e\\x13\\x50\\x47\\x03\\x96\\xe4\\xf5\\x3a\\x00\\x30\\x0c\\xc6\\x31\\xa3\\x89\\x54\\xab\\x4d\\x8c\\xc2\\x80\\xf4\\x02\\x10\\xa5\\xa4\\xb3\\xa5\\xe1\\x62\\x88\\x28\\x9e\\x6f\\xa3\\x48\\x7a\\x30\\xad\\x77\\x8b\\x1c\\xde\\x19\\xf1\\xb2\\xd4\\x21\\xba\\x52\\xf8\\xb2\\x6b\\x57\\x40\\x4e\\xae\\x14\\xb6\\xbf\\x50\\x9f\\x70\\x9a\\x65\\x61\\x9a\\x4b\\xf5\\x08\\x13\\xb8\\x1a\\x46\\x53\\xf4\\xbb\\xbb\\xa0\\x2f\\xb9\\x4b\\xc4\\x7b\\x1d\\xbc\\x69\\x7a\\x8f\\x0b\\xfc\\x89\\x50\\x58\\xc4\\xbc\\xd2\\x47\\xd3\\x8a\\xa0\\x5a\\x8d\\x8a\\xe5\\xe9\\xe2\\xbc\\xb2\\x78\\x3a\\x74\\x6e\\xfb\\x51\\x9b\\x0b\\x7a\\x9b\\xf2\\x7f\\x74\\xb9\\xe0\\x91\\x86\\x16\\x87\\xb5\\x2d\\x99\\x8c\\x25\\x22\\x6c\\x40\\x61\\xb0\\x05\\x6a\\x6a\\x53\\xd1\\xdd\\xe3\\xbd\\x43\\xe1\\xf4\\x90\\x35\\x11\\xb1\\x9b\\xfc\\x01\\x73\\x02\\x02\\xbe\\x80\\xa7\\xce\\xa9\\xd5\\xed\\xee\\xd2\\xb8\\x1a\\xbb\\x57\\x96\\x2e\\xdb\\xdd\\xd3\\x5a\\x39\\x34\\x77\\x6e\\x22\\xaa\\xe9\\xda\\xad\\x93\\x72\\x2e\\x00\\xca\\xf0\\xbb\\x65\\x37\\x41\\xec\\x12\\xc4\\x5a\\x79\\xb3\\xc6\\xe7\\x03\\x0a\\xb7\\x4e\\x67\\x82\\xb0\\x25\\x14\\x56\\xfb\\x7c\\x7e\\xbf\\xcc\\xa1\\x47\\x67\\xcb\\x0c\\xc3\\x63\\x29\\xfc\\xcf\\x9b\\xb2\\x14\\x96\\x30\\x39\\x90\\xf0\\x6a\\x51\\xc4\\x47\\xb3\\x28\\x8c\\xc5\\x13\\x06\\xc5\\xc6\\xbd\\x2c\\x02\\xc8\\xc6\\x84\\x70\\xaa\\x19\\x9c\\x7a\\xe4\\xa8\\xf5\\x96\\x03\\xcb\\x36\\xac\\x1e\\x04\\x47\\x1e\\x3b\\x56\\xe9\\x00\\xa6\\xea\\x8a\\x04\\xb3\\xcc\\x12\\x9d\\x39\\x98\\x6a\\x56\\x75\\xf5\\x82\\x32\\xa2\\xf7\\xfa\\x6b\\x87\\x7a\\x87\\xae\\x31\\xca\\xdd\\x07\\xaf\\xbb\\x4d\\x85\\xbf\\x33\\x38\\x3c\\x3a\\xf9\\xae\\xfa\\xe0\\xaa\\xba\\x2e\\xbc\\x5e\\xbe\\x13\\xcb\\xc6\\xf8\\x52\\x7c\\x0d\\xb9\\x0a\\xb3\\xa1\\xbb\\x3b\\x3d\\xc9\\x71\\xb8\\xcd\\x66\\x77\\xc0\\x43\\xe7\\xe0\\xf4\\x7a\\x92\\x04\\x26\\x18\\xe3\\x9f\\xb0\\xa9\\x81\\x84\\xb1\\x50\\x2a\\x7f\\x41\\x9e\\x20\\x56\\xa7\\x92\\x66\\x2e\\x99\\xaa\\xc9\\x0d\\xd9\\xa5\\x08\\x88\\xa8\\xc3\\x35\\xa9\\x10\\x1e\\xae\\xa2\\xbe\\x5b\\xc6\\xc8\\x2e\\x69\\x0a\\x51\\x87\\xe5\\x83\\xef\\xb9\\xbe\\x66\\xe1\\x4a\\xcc\\x75\\x26\\x68\\xa0\\x9f\\x7c\\xfb\\x95\\x15\\xc9\\x00\\x15\\x56\\xe8\\x9a\\xaf\\x14\\xbe\\x3d\\xf4\\x1d\\x85\\xe1\\xba\\x0d\\xb7\\x02\\x0f\\x2f\\xad\\x29\\xca\\xb5\\xee\\x86\\x78\\xd0\\x09\\x71\\x74\\x9a\\xe7\\xcc\\x41\\x3f\\x65\\xb1\\x68\\xe1\\xc1\\x8a\\x44\\xfd\\x4e\\xad\\x36\\x1a\\x34\\xeb\\x49\\x60\\x7f\\x4e\\xcc\\x62\\xf5\\x39\\xdb\\x44\\xe8\\xaf\\x90\\x08\\xe6\\x9f\\x94\\x80\\x5c\\x02\\x23\\x11\\x21\\xe4\\x06\\x57\\x49\\xe8\\x94\\x03\\xd9\\x5e\\x7d\\x98\\x78\\xef\\x0f\\x2b\\x9c\\x15\\xb1\\xaa\\x8e\\x92\\xb2\\xaa\\x81\\x5b\\x47\\xd7\\xed\\xfc\\x7b\\xfa\\xba\\x0d\\x6d\\xc3\\xc2\\xfc\\xee\\xd4\\xc0\\x48\\xaa\\x8d\\xfc\\xd3\\x2c\\x5b\\x2a\\x5a\\x3b\\x33\\x5e\\xb1\\x84\\x5f\\x7e\\xdb\\xdc\\x55\\x8b\\x3e\\x58\\xd9\\x36\\x7f\\x64\\x9d\\x71\\x72\\xfe\\xc6\\xab\\xc6\\xc7\\x67\\xc5\\x1f\\x10\\xeb\\xe9\\x20\\x4a\\x38\\xa1\\x3d\\x73\\x50\\xae\\x41\\xde\\xe6\\xe4\\x1c\\x18\\x0c\\xc1\\xc0\\x81\\x61\\xf0\\x60\\x91\\x16\\x93\\xc9\\xa7\\x26\\x49\\xaf\\xcf\\x26\\xd6\\xaa\\x14\\x62\\x02\\x0e\\xd5\\xe1\\xd0\\x4d\\xbe\\x68\\xd9\\xd3\\x7c\\x43\\xf1\\xcd\\xbd\\x34\\xb1\\x4e\\xd4\\x26\\x15\\xc8\\x3f\\x33\\xe0\\xf2\\xa6\\x42\\x19\\x51\\x4e\\x49\\x34\\xe3\\xe0\\x8a\\x59\\xa5\\xc2\\xd4\\xe9\\x23\\xca\\xa6\\x81\\xd1\\x26\\xdd\\x58\\xcf\\xd0\\xc8\\x77\\xbe\\x79\\x36\\xde\\xc0\\x35\\x35\\xcd\\x8d\\x83\\xe8\\x39\\xe3\\x5b\\xc7\\x5f\\x53\\xa5\\x34\\x6f\\x6d\\xdf\\xab\\x02\\x0b\\xe7\\x2f\\x5d\\xbf\\xe8\\xfe\\x77\\x75\\xe0\\x85\\xc1\\xcb\\x84\\x07\\xa8\\x95\\x6f\\x48\\x3d\\x55\\x7f\\x87\\xb8\\xef\\x5b\\xd0\\x1f\\x38\\xb1\\x4e\\xde\\x69\\xc1\\x38\\xc0\\x29\\x69\\x05\\xf4\\x73\\x1a\\x8d\\x5b\\x01\\x80\\xcd\\x6e\\x77\\xc1\\xac\\xc5\\x42\\xca\\x58\\x3b\\xca\\x60\\xd4\\xd0\\xa8\\xa5\\x5c\\x00\\x1d\\xc7\\xa2\\x64\\xa0\\xf0\\xf0\\x0d\\x95\\x7a\\xa5\\xee\\x4e\\x37\\xa8\\x49\\xa1\\x16\\x33\\xa3\\x0b\\x95\\xdd\\xe0\\x49\\x85\\xb0\\x23\\x55\\x03\\x42\\x73\\x95\\x11\\x13\\xb5\\x53\\xaf\\x4d\\x5e\\x16\\x7b\\x52\\x3e\\xf3\\xd5\\x65\\x32\\x93\\x93\\x5a\\xa5\\x67\\x66\\x2c\\x59\\xfe\\xb4\\x6c\\x3d\\x21\\x07\\x2a\\x07\\x43\\x84\\xf5\\xb5\\xdf\\x39\\x3b\\xd3\\xbf\\x5c\\xf8\\x1f\\xe1\\x35\\xa3\\x59\\x1e\\xd6\\xd7\\xfc\\xfb\\xc6\\x47\\x3d\\x77\\x4b\\xef\\x2d\\x7f\\x34\\x35\\x1b\\x90\\xf8\\x3d\\x0c\\x45\\x84\\xb1\\xc4\\xa4\\x4d\\xfc\\xec\\x0b\\xf8\\xd9\\xcb\\xe0\\x30\\x43\\xe1\\x5b\\xa7\\x9e\\xcb\\x7e\\xf6\\xca\\x54\\x33\\x6e\\x05\\x7b\\xe1\\x7f\\x17\\xc5\\x1e\\x42\\x9f\\x41\\x7d\\x7f\\x3e\\x95\\x06\\xe7\\xc0\\xe5\\xd0\\xff\\x95\\xf3\\x0c\\xc6\\xd0\\x3a\\x00\\x5d\\x1f\\x60\\x08\\xa3\\xe4\\xfe\\xda\\x45\\xf7\\xd7\\x95\\x75\\x7f\\xd9\\x4e\\x1f\\x29\\x08\\xda\\xc1\\x05\\xbe\\xef\\x96\\xf3\\x5c\\x1f\\xb8\\x5c\\xd8\\x31\\xdd\\xf5\\xa9\\x44\\xd7\\x07\\x65\\x39\\x28\\x74\\xe2\\x11\\xfc\\x9b\\x0c\\x25\\xdb\\x3d\\x75\\x20\\x2b\\xdf\\x77\\x85\\x99\\x40\\x00\\xfb\\xe0\\x67\\x7b\\xa6\\x8e\\x88\\xf2\\x41\\x3c\\x24\\xb4\\xe0\\x6e\\x70\\x3d\\xdc\\x8f\\x12\\x88\\x28\\x68\\xa3\\x5e\\xef\\xc2\\xf1\\x78\\x69\\x10\\x22\\x4b\\x5b\\xdc\\xf8\\x0c\\x98\\xf9\\x84\\x22\\x22\\x7f\\x0e\\x4a\\x88\\x02\\x4d\\x87\\x18\\x68\\xea\\xd2\\xb9\\x56\\xcc\\x42\\x1f\\x45\\x96\\x6d\\x28\\xec\\x17\\xf9\\x42\\x70\\x96\\xf2\\x23\\x42\\x7f\\x1c\\x8d\\x70\\x93\\x4d\\xbf\\xd1\\x99\\xf1\\xf3\\xee\\x6b\\x56\\x5d\\xe1\\x25\\x89\\xe6\\x45\\x63\\x3d\\x01\\x32\\x46\\x26\\x5b\\x2f\\x5f\\x91\\x30\\x35\\x83\\x94\\xc3\\x57\\x91\\x2c\\xb1\\x7b\\xca\\x6a\\x4a\\xc1\\xf5\\xef\\x2d\\x7f\\x69\\x64\\x2c\\x59\\x5b\\x0e\\xd3\\x9b\\xea\\x78\\x85\\x96\\x96\\x2b\\x53\\x9b\\x06\\xe6\\xae\\x05\\xab\\xee\\xa8\\x28\\x5f\\xfa\\x69\\x22\\x16\\xcb\\xfc\\x5c\\xd2\\xf3\\x39\\x61\\x06\\xbe\\x05\\x5c\\x0f\\x75\\xda\\x3b\\xb5\\x20\\xab\\xe7\\x6a\\xa1\\x03\\x2f\\x43\\xfb\\x20\\xdb\\x37\\xb5\\x55\\xd2\\x13\\xeb\\x9e\\xfa\\x83\\xec\\x49\\xe2\\x2c\\xd4\\xb2\\x0a\\xdb\\xcc\\x37\\x38\\x3d\\x1e\\x5b\\x5c\\x1e\\x0e\\x87\\xf4\\xc1\\x60\\xa8\\x5c\\x13\\xe2\\xe0\\xa1\\xaa\\xae\\x89\\x26\\xfa\\x32\\x51\\x26\\x44\\xc7\\xc9\\xbe\\x4c\\x3c\\x6e\\x92\\x9e\\x33\\x32\\x41\\xbd\\xde\\x07\\xd3\\x44\\x9f\\xc9\\xd7\\x9f\\xa1\\x4d\\xe6\\x6c\\xaf\\x9f\\x64\\x87\\x85\\x17\\x18\\x45\\x93\\x20\\x0d\\x45\\xa3\\x5e\\x93\\x59\\x0a\\x7e\\x14\\x1f\\xb2\\x15\\x76\\x84\\xbd\\x3c\\xe1\\x3c\\x00\\x9b\\x36\\xa2\\x19\\xc5\\x12\\x90\\x2b\\x25\\xc9\\x9e\\xbc\\xea\\xcb\\xbb\\xa4\\x77\\x4e\\x43\\x6f\\x2f\\x16\\x7e\\xd5\\xb4\\xec\\x9e\\x89\\xc2\\xd3\\xc1\\xa6\\xca\\x43\\xe8\\x4d\\xe1\\xdc\\x8e\\x83\\x27\\x27\\xff\\x71\\xe9\\x9d\\x51\\x47\\xfb\\x76\\xfc\\xdf\\xc3\\xb7\\x2d\\xd3\\x98\\x2a\\xd0\\x4b\\xa7\\x59\\xfd\\xbf\\xb8\\x72\\x71\\xd1\\x93\\xc2\\xe8\\xd2\\x1b\\x07\\xf0\\x7e\\xeb\\x06\\xe1\\x01\\xed\\xad\\x2b\\x62\\xb1\\xef\\xc3\\x35\\x51\\x4f\\xfd\\x91\\xf8\\x4e\\x76\\x46\\xf5\\x2a\\x3e\\x55\\x62\\xb7\\xd2\\x64\\xdc\\xac\\xd3\\xc5\\xe3\\x1a\\x52\\xab\\x55\\x12\\x41\\x2f\\xe1\\x4d\\x56\\x59\\xf5\\xfd\\x19\\xa5\\xd5\\xac\\xd1\\xc8\\xfa\\x33\\x56\\x8d\\x55\\xe3\\xd2\\xba\\x22\\xfd\\x19\\x17\\x83\\xc6\\x90\\x14\\x1e\\x24\\x14\\xe6\\x62\\xe6\\xa6\\xc8\\xe7\\x1f\\xcf\\xe4\\xc6\\x83\\x8a\\x18\\x19\\xbd\\x44\\x34\\x86\\xa5\\x8c\\x20\\x0d\\xbc\\x14\\x27\\x4e\\x53\\x43\\x35\\x4a\\x79\\xae\\x4a\\x89\\xcb\\x8d\\x52\\xd2\\x40\\x48\\xa4\\x09\\xe0\\xe5\\x75\\xbf\\x9e\\x7f\\xd6\\x04\\xd1\\xd1\\xb8\\x7f\\xfb\\x30\\x0d\\x34\\x21\\x95\\x92\\xb5\\xb1\\xa6\\xd5\\xfe\\x4b\\xe7\\xdb\\xb8\\xa6\\x9b\\xba\\x77\\xdc\\x70\\xe0\\x8f\\x6b\\x66\\xd4\\x04\\x16\\x97\\x2c\\x35\\xf5\\xba\\xdb\\x2f\\xed\\xe4\\x02\\x7e\\x32\\x43\\x06\\xfa\\x6e\\xbe\\x4a\\x31\\xf8\\x3e\\xce\\x04\\x1b\\x6e\\xdc\\x2f\\xbf\\xbb\\xa7\\x7f\\xc1\\x93\\x77\\x3c\\x26\\xbc\\xf5\\x4d\\x7c\\xd9\\xea\\x9d\\x3d\\xcd\\x93\\x3f\\x33\\x3a\\x6f\\xfc\\x5c\\xb4\\x0d\\x34\\xb3\\xfc\\x75\\xb8\\x0e\\x61\\xac\\x1a\\xdb\\xcd\\xb7\\x79\\x38\\xaf\\xd7\\x5c\\x56\\xae\\xd4\\x98\\x64\\xc1\\xa0\\x9e\\x65\\x9d\\x66\\x73\\x2a\\x42\\x10\\x35\\xa9\\x80\\xb7\\x37\\x13\\x60\\x3d\\x96\\xfe\\x8c\\xde\\xe3\\x34\\x99\\xd0\\x80\\x44\\x93\\xc7\\x44\\xb1\\x98\\x92\\xa6\\xa0\\xe5\\x50\\x4c\\x59\\x30\\x58\\x82\\x95\\xf4\\x4b\\x8b\\x52\\x34\\xba\\x3b\\x3b\\xb6\\x5c\\x5a\\x98\\xdc\\xfb\\x96\\xc2\\x3d\\x81\\x58\\xa9\\x2e\\xb4\\x01\\xa3\\xe1\\xdd\\x88\\xcf\\xa9\\x78\\x95\\x72\\x8b\\x84\\x6e\\xb5\\xa0\\xe9\\x10\\xd3\\x66\\x78\\x03\\xd3\\xe6\\x83\\xfb\\xfe\\x78\\xc3\\xba\\x16\\x52\\x66\\x36\\xc2\\x65\\x5a\\xed\\xdf\\x3e\\x44\\x03\\x26\\x64\\x92\\x56\\x69\\x47\\xe6\\x1b\\x63\\x1a\\xe1\\x34\\xd5\\x70\\x5b\\x73\\x5d\\x19\\x9a\\xe3\\x6d\\x9a\\xe7\\x6e\\xdb\\xda\\x66\\x7a\\xec\\x18\\x1a\\xe2\\xed\\x28\\x2d\\xbf\\x86\\x08\\xf4\\xdd\\x74\\xb5\\x62\\xf0\\x47\\x04\\x5c\\xaa\\xc3\\xd7\\xca\\xcf\\xcd\\xb6\\x36\\xde\\xd8\\x37\\x08\\xb6\\x89\\x93\\xbc\\x43\\x26\\xc7\\x0d\\x7f\\x93\\xde\\x9f\\x0a\\xb3\\x89\\x01\\xd9\\xbd\\x58\\x0c\\x5b\\xcb\\x37\\x44\\xdc\\x2e\\x3b\\x19\\x0d\\xda\\x6c\\xd1\\x28\\xa6\\x50\\x22\\x83\\x91\\xc5\\x62\\x25\\x86\\x78\\xc4\\xdd\\x9f\\x91\\x45\\x82\\x0a\\x05\\xd6\\x9f\\x89\\x28\\x22\\x0a\\x7b\\xcc\\xae\\x74\\xd9\\x5d\\x7d\\x19\\x8d\\x9d\\x66\\xb8\\xbe\\x8c\\x91\\x01\\xd9\\x71\\x7b\\xc9\\x22\\xda\\x91\\x9c\\xd1\\x64\\xdb\\x74\\xc5\\x67\\x91\\xf9\\xe2\\x70\\x7e\\x21\\xfc\\xa8\\x41\\x3a\\x3f\\xe7\\x53\\x2e\\x8e\\xdb\\x27\\x38\\xb4\\x12\\xe2\\xda\\x78\\x8f\\x19\\xca\\xe2\\x86\\x16\\x6e\\xdd\\x70\\xf0\\x5e\\xcd\\x83\\x5c\\xf0\\x83\\x27\\x46\\xda\\xc2\\xbc\\x86\\xf5\\x57\\xb7\\x5a\\x9c\\x6f\\x1b\\xde\\x6e\\x54\\x29\\xe3\\xe5\\x86\\x16\\xcb\\xba\\xe1\\xab\\x84\\x2f\\xc0\\xcb\\x44\\x63\\xea\\xba\\x83\\x8a\\xf7\\xdb\\xc3\\x97\\xbe\\xf6\\x04\\xfb\\x8b\\x8d\\xec\\x9a\\xcb\\xef\\x1a\\x17\\xbe\\x89\\x37\\x54\\x5f\\x7f\\x80\\x9a\\xd4\\x60\\xc4\\xd4\\x1f\\x30\\x4c\\x8e\\x66\\x3f\\x96\\x62\\xf5\\xd8\\x4c\\xec\\x5b\\xfc\\x62\\x46\\xad\\xd7\\xab\\x14\\x33\\x59\\x56\\xa9\\x54\\xc9\\x9a\\x5a\\x5b\\xc9\\xaa\\x6a\\x9c\\xb0\\xdb\\x09\\x82\\xac\\x8d\\x97\\x94\\x94\\x95\\xf9\\xc2\\x91\\x08\\xa9\\xf2\\xa8\\x3c\\x9d\\x5d\\x4d\\xd5\\x0d\\xbe\\x14\\x96\\xea\\xcf\\x84\\x75\\x32\\x78\\xd2\\xa8\\x06\\xaa\\x3f\\x13\\x64\\x1a\\x30\\xf8\\x55\\x62\\x29\\x89\\xf4\\x66\\x54\\x64\\x09\\x3b\\xd3\\xce\\xb2\\x15\\x6d\\x96\\xb6\\xfe\\x8c\\xd3\\xc2\\x18\\xd1\\x1b\\xe3\\xa2\\xa9\\x9a\\xc9\\x64\\xfe\\x48\\xe9\\x25\\x7e\\x0d\\xb1\\x03\\x34\\xfb\\x4d\\xde\\xd3\\x4c\\x6f\\xc5\\xcb\\x5a\\x52\\xbe\\xa9\\x52\\x0a\\x90\\xbe\\x30\\xe1\\x35\\xa2\\xbb\\x45\\xaf\\x11\\xae\\xa4\\x74\\xc7\\x97\\x9d\\xbe\\x99\\xad\\x92\\x20\\x16\\x43\\xa9\\x0b\\x58\\x8c\\xf5\\x88\\x67\\xcb\\xdc\\x00\\x03\\x90\\x0c\\x5a\\x22\\x21\\x15\\x86\\xc8\\xcc\\xa6\\x8d\\x35\\xc2\\x3f\\x3a\\xae\\x5f\\xa2\\xef\\x15\\xfe\\x99\\xb6\\x69\\x17\\x84\\x37\\xd7\\x8b\\xa3\\x38\\x3b\\xef\\x5d\\x9e\\x59\\x01\\xae\\x3f\\x3b\\x34\\xee\\x77\\x68\\x16\\x04\\xb6\\x25\\x50\\xcf\\x70\\x52\\x3f\\x2c\\x3e\\xf2\\x50\\x5f\\x37\\xa6\\x37\\x99\\xcf\\xfd\\x67\\xd3\\x46\\x82\\x92\\x93\\xb3\\x12\\x3b\\xdc\\xc0\\xee\\x10\\xbe\\x07\\xae\\x2e\\x17\\x66\\x83\\x35\\x9c\\x73\\x57\\x3f\\xe8\\x15\\x5f\\x88\\xac\\x5e\\xf4\\xda\\x86\\xe5\\xd1\\x67\\x2d\\x8e\\x9d\\xf3\\x84\\x5f\\x5b\\x5a\\x81\\x03\\x80\\x67\\xd1\\x5b\\x92\\xa6\\xb2\\x4d\\x5b\\x7a\\x1c\\x6c\\x2c\\xec\\x51\\x2f\\xdd\\x3f\\x07\\xc5\\xac\\x5f\\x62\\x18\\xb9\\x05\\xee\\x8b\\x0f\\xee\\xcc\\xd5\\x7c\\x9b\\x49\\xc7\\xb2\\xda\\xa8\\xda\\x6a\\xd5\\x68\\xf4\\xda\\x38\\xcc\\x3b\\xfd\\x7e\\xc2\\x43\\x92\\x18\\x74\\x54\\x65\\xe5\\x3a\\x75\\x54\\xdd\\x9f\\x31\\x61\\xd1\\xa8\\xd5\\x1a\\xb4\\x07\\xe1\\x91\\x8d\\x2b\\xe2\\xfd\\x19\\x42\\xa1\\xa0\\xec\\x0c\\x47\\x6b\\xb3\\xdc\\x08\\xc5\\x53\\xc9\\x8b\\xfa\\x8c\\x2d\\xe5\\xc9\\x62\\xfe\\x8a\\xe2\\xc5\\x9e\\xbe\\xc2\\xd9\\xa3\\x69\\x84\\xa8\\x43\\x5a\\x64\\x78\\x5e\\x8b\\x1b\\xac\\x6b\\x52\\x41\\x69\\x08\\x2a\\x42\\x29\\xe4\\x16\\xd3\\x60\\x6b\\x19\\x5a\\xa4\\xea\\x45\\xb7\\xb6\\x77\\x0a\\xff\\xe4\\x5d\\xba\\x51\\xd3\\xbc\\x96\\x9a\\x7c\\xdb\\x75\\xc0\\xa3\\x13\\x7e\\x3f\\x12\\xdf\\xb0\\x50\\xbb\\xf8\\x96\\xf6\\x20\\x3e\\xa3\\x61\\x77\\xa9\\x70\\x0e\\xae\\x49\\x5c\\xc7\\xdb\\x85\\x35\\x60\\xb3\\xcd\\xdb\\xb0\\x3b\\x0e\\x6a\\xa4\\x66\\xec\\xf8\\xeb\\x76\\xef\\xcd\\x4b\\x67\\x6d\\x8d\\xe8\\xd2\\xf6\\x37\\xd0\\xfa\\xb8\\xe0\\x39\\x7d\\x05\\xae\\x4f\\x10\\xfa\\xf5\\x4d\\x7c\\x53\\x08\\xc3\\x92\\x55\\x0e\\x93\\xd3\\x69\\x54\\xc8\\xe3\\x25\\xa4\\xd7\\xab\\x33\\x18\\xac\\x46\\x63\\xb2\\xc4\\xeb\\x8d\\xfa\\xa3\\x88\\x20\\xc7\\xed\\xec\\xcd\\xb8\\x69\\x07\\x0b\\x1d\\x9b\\xb2\\x3f\\xe3\\xd0\\x3b\\xf4\\xa4\\xd1\\x4e\\x42\\xef\\x4e\\x9a\\x73\\x2f\\x22\\xd1\\x19\\x2d\\x0c\\xc5\\xc6\\x92\\x85\\x3e\\x88\\x82\\xd1\\x65\\x6b\\x32\\xd0\\x81\\x4b\\x55\\x90\\xac\\xd3\\xa2\\x81\\x37\\xe7\\xcb\\x0a\\x6b\\x22\\x2b\\xdc\\x53\\x35\\x03\\xe2\\x95\\x2b\\x3e\\x39\\x32\\xbf\\x5d\\x65\\x32\\xb0\\x76\\xb3\\x71\\xb5\\x6f\\xc7\\x02\\x85\\xf0\\x99\\xc7\\xe4\\x42\\xae\\x6c\\xe7\\xd0\\x03\\x63\\x1a\\x90\\x91\\xef\\xbe\\x61\\xeb\\x0d\\xc2\\x97\\x4d\\x89\\xb6\\xe5\\xcb\\x2c\\x33\\xac\\x9d\\x3b\\xdb\\xf0\\xed\\x4f\\x08\\xef\\x9f\\xf2\\x8e\\x5d\\x4a\\xea\\x03\\x0d\\xd7\\x1d\\x50\\x24\\x4f\\x43\\x37\\x76\\xe3\\x7e\\x8a\\x78\\xd0\\xda\\x78\\xf0\\xe4\\xe9\\xd7\\x56\\xef\\xbc\\x7a\\xf2\\xc7\\x16\\xcb\\xf5\\x9f\\x8a\\xbe\\xeb\\x69\\x0c\\x23\\xe2\\xe2\\x9b\\xde\\x0d\\x7c\\x83\\x9b\\xf3\\x78\\xcc\\x26\\x8d\\x1a\\x23\\x59\\xbd\\xdf\\xcf\\xb2\\x0e\\xb3\\x39\\x20\\x0b\\x3a\\x44\\x97\\xee\\x46\\xee\\xdd\\x6d\\x82\\x5f\\x66\\x9f\\xcf\\xd3\\x9b\\xf1\\xd1\\x66\\x56\\x8d\\x61\\x0a\\x42\\xd1\\x9f\\x91\\x8b\\xef\\xca\\x73\\x9e\\x3d\\x5d\\x74\\x3e\\x4b\\xce\\x1b\\x88\\x5e\\xe4\\xd3\\x81\\x34\\x2a\\xd4\\x1f\\x46\\x0e\\x8b\\xcb\\xfb\\xaa\\x82\\x57\\x43\\xcd\\x42\\x4f\\xa7\\xee\\xec\\xab\\xf0\\xd7\\xa7\\xe2\\xdd\\x1b\\xab\\x4c\\xa6\\x78\\x19\\xf4\\x52\\x1b\\x87\\x6a\\x84\\x2f\\x7a\\x4c\\xd1\\x72\\x96\\xb7\\xac\\x1f\\x8e\\x6d\\x55\\x83\\xed\\xf8\\xaf\\xd6\\xec\\x50\\x09\\x8f\\x1e\\x98\\x3d\\x6f\\x13\\xd1\\x50\\x7d\\xc3\\x01\\xb9\\xf0\\x16\\x38\\x4d\\x24\\x79\\xa8\\xf5\\x67\\xe8\\xa9\\x12\\xd4\\xf3\\x5f\\x50\\xcf\\x4a\\xf1\\xfd\\xf6\\x10\\x5f\\x6a\\xb0\\xd9\\xf4\\x14\\xcd\\x68\\x50\\x03\\x33\\x4c\\xb9\\x5c\\x6e\\x0f\\x07\\x93\\xdd\\xfe\\x8c\\xcd\\xd8\\x9f\\xd1\\xd8\\x68\\xf8\\xa5\\x77\\x38\\x20\\xd6\\xc1\\x1c\\x0c\\xe2\\x9d\\x49\\x27\\x2f\\xd0\\xa8\\xa8\\xbb\\x22\\x6b\\xed\\xb9\\x94\\xe7\\x62\\xba\\xa4\\x0c\\x5e\\xa8\\xa9\\x8a\\x57\\xb1\\xa1\\x15\\x71\\xd6\\x14\\x4e\\x98\\x5a\\x2c\\x1b\\x86\\x6b\\x84\\x8f\\x7a\\x0c\\xa2\\x1a\\xeb\\x86\\x07\\xc1\\xf2\\xe5\\xcd\\xf8\\x0f\\xd6\\x59\\xa6\\xb6\\x12\\xc9\\xa6\\x1b\\xae\\xa5\\xb2\\x1a\\xc0\\xf0\\x03\\xc6\\x8c\\x59\\xde\\x1e\\xf4\\xf6\\x26\\x81\\xcd\\xe6\\xc3\\x66\\xb9\\x3c\\x6c\\x2b\\x77\\xb9\\x74\\x30\\x85\\x4c\\x56\\x59\\xc2\\x95\\x3a\\x1d\\x5b\\x16\\x26\\x1d\\x84\\x23\\x00\\x0d\\x16\\xc2\\x76\\x35\\x3c\\xbb\\x84\\xb9\\x10\\x4f\\x0c\\x18\\x57\\x37\\xbd\\xe3\\x29\\x07\\x50\\x4d\\x45\\xd3\\xe7\\x21\\xac\\x2e\\x47\\x63\\x5d\\x91\\x2b\\x0c\\xa1\\x19\\xbb\\x28\\xa0\\x64\\xb9\\x00\\xdc\\x00\\xd5\\x89\\xa1\\x33\\x34\\xe3\\x4f\\x7d\\xff\\xcd\\x9e\\xc7\\x4b\\xca\\x5a\\x69\\x7e\\xd3\\xdc\\x65\\x03\\x8d\\x97\\xa4\\x7a\\x8d\\xb3\\x42\\x03\\x34\\xd8\\xb9\\xed\\xc6\\x92\\x56\\x2d\\x3b\\x37\\x39\\x7b\\xe6\\xac\\xe6\\x5d\\x6d\\x3d\\xa6\\xee\\x28\\x3c\\xb8\\xd1\\xdb\\xee\\xf7\\x1b\\x81\\xec\\xaa\\xe1\\x05\\x2d\\xad\\x35\\x86\\x40\\xe9\\xbd\\x9d\\x91\\x2a\\xe0\\xf4\\x7c\\xbe\\xde\\x56\\xd2\\x96\\x6a\\xac\\xd2\\x87\\x63\\x0f\\xcc\\x8a\\x4a\\x39\\xd0\\xfe\\xa9\\x4f\\xf0\\xb5\\xe4\\x3e\\x2c\\x8e\\xad\\xe3\\x1b\\x1c\\x6e\\x4f\\x84\\x8c\\x85\\xec\\xf6\\x58\\x4c\\xc3\\x9a\\x09\\xab\\xd5\\x40\\x28\\x95\\xa5\\x65\\x66\\xb7\\xc3\\xdd\\x97\\x89\\x40\\xc8\\x69\\x88\\x84\\x58\\x56\\x07\\x83\\x29\\x1b\\x61\\xe5\\x36\\xde\\xea\\xa0\\x71\\x6c\\xda\\x6c\\xe1\\x74\\xd2\\xf6\\x56\\x71\\x10\\xcd\\x6d\\x1c\\x2a\\x5e\\x4d\\x0b\\xa4\\xc5\\xe3\\x85\\x53\\xb9\\xb2\\xac\\x18\\x55\\xa5\\x0a\\xa0\\x88\\x29\\x92\\xb8\\xc8\\x65\\x0d\\x1e\\xf6\\xcd\\xb6\\x55\\xde\\xda\\xb6\\x7e\\xbb\\xdc\\xc3\\x68\\x42\\x31\\xe3\\x98\\xef\\x8a\\xc5\\xe1\\x4b\\xd4\\x37\\x1c\\xba\\x39\\x74\\x97\\xe1\\xae\\x26\\xbd\\x26\\x18\\x33\\x8d\\xb5\\xbe\\xac\\xab\\x9e\\xb0\\x75\\xf8\\xcb\\x57\\x2f\\x67\\xab\\xcf\\x50\\x55\\xe9\\x9b\\x0e\\x12\\x3f\\x69\\x09\\xbf\\xff\\xfe\\xb8\\xf0\\x08\\x95\\x6c\\x12\\xfe\\x48\\xf5\\x78\\xaa\\x2b\\x8a\\xdf\\xa3\\xc5\\xb0\\x09\\x3e\\x65\\xf1\\x99\\xfd\\xb8\\x16\\xd3\\xe9\\xa2\\x10\\x5b\\xc5\\xfd\\x26\\x05\\x86\\x95\\x70\\x34\\x4b\\xf7\\x66\\x3c\\xd6\\xfe\\x8c\\xc2\\xe3\\x54\\xab\\x49\\xe8\\xa9\\xd5\\x1e\\x35\\x66\\x62\\x69\\xe0\\xc7\\xfc\\xbd\\x99\\x28\\x7a\\x0d\\x92\\xc8\\x73\\x0a\\x9c\\xa7\\x6e\\xa1\\x54\\x97\\x2c\\x4a\\x67\\xfd\\xd9\\x7b\\x2d\\xbf\\xd4\\x7b\\x51\\x78\\xca\\x96\\x35\\x5d\\xd4\\xe8\\x90\\x7f\\xd5\\x26\\x68\\xe9\\xca\\x0a\\x6e\\x71\\xf8\\xba\\x35\\xb6\\xc0\\x9d\\x85\\x07\\x6e\\x53\\x98\\xa3\\x0c\\x7d\\x7c\\x08\\x7e\\x7c\\x7b\\xee\\xad\\x1b\\x38\\x40\\xc6\\x67\\xde\\x79\\x85\\xe6\\x0b\\xe9\\xc9\\x9b\\xb0\\x95\\x28\\x69\\xbf\\x6b\\xaf\\xe6\\x13\\xe9\\xe5\\x1b\\xf2\\xc1\\x3f\\x83\\x3e\\xf8\\x0d\\x68\\xc7\\x1a\\x98\\x71\\xcc\\xe5\\xa3\\x36\\x4c\\xab\\x8d\\x97\\x86\\xe4\\x81\\x00\\x45\\x99\\x8c\\xc6\\xb8\\x3c\\x14\\x22\\xa2\\x44\\x7f\\x26\\x1a\\xd5\\x73\\x9c\\xa7\\x2f\\x63\\xe7\\x18\\xbd\\xb2\\x2f\\xa3\\xb7\\x5f\\x64\\xd4\\x79\\xde\\xd3\\xe6\\x07\\xcb\\xc3\\xad\\xcc\\x22\\x64\\x31\\xa7\\x0a\\x4a\\x1e\\x57\\x4a\\xd7\\x73\\xb6\\x5c\\x40\\xd4\\xf8\\xde\\x96\\x84\\x7f\\x71\\xe9\\x9a\\x86\\x8e\\xae\\x5d\\x9d\\x80\\xba\\xf6\\xd3\\x5b\\x4f\\x9e\\x7b\\x38\\xf0\\x8f\\x8f\\x16\\x7d\\xab\\xc6\\x5c\\x1b\\x08\\x6c\\x6e\\x9f\\x31\\x9c\\x32\\x58\\xb8\\xa6\\x5b\\x3b\\xb7\\xde\\x70\\x6a\\x62\\x47\\x47\\xe3\\xe4\\xb3\\xd6\\x03\\x7f\\x3f\\xf5\\xa4\\xf0\\xf6\\x83\\x31\\xe2\\xc5\\x37\\x5f\\x8b\\xb8\\x27\\xaf\\x0c\\x96\\x27\\xc6\\x56\\x1d\\xe9\\xea\\xcb\\x9c\\x16\\xef\\x20\\x6a\\x09\\x8e\\x1c\\xc5\\xec\\xd8\\x32\\xde\\x9b\\xeb\\x74\\x2e\\xee\\x51\\xb4\\x88\\x7d\\xce\\x6a\\x44\\x69\\xa3\\x93\\x3d\\x03\\x1a\\x78\\xa5\\xde\\x6c\\xb6\\x5a\\x71\\xdc\\x58\\x68\\x52\\xcc\\x76\\x71\\x65\\xf3\\xa4\\xec\\x55\\xf6\\xff\\xd2\\xa5\\x88\\x27\\x8b\\x9a\\x14\\xc5\\xa7\\x20\\xed\\xb2\\xae\\x79\\xed\\x32\\x40\\xcb\\xba\\x02\\x1f\\x07\\xa4\\x6f\\xe0\\xcf\\xc2\\xe7\\xb2\\xae\\xf0\\xc7\\xe1\\x76\\x19\\x5e\\xeb\\x52\\x83\\x1f\\xa9\\x5d\\x2e\\xf5\\x9b\\x6f\\xa2\\x3f\\x85\\x38\\xfa\\xf3\\xc3\\x0f\\xd5\\x2e\\xb4\\x3f\\x7f\\x10\\x3a\\x88\\x4f\\xc4\\x37\\x9d\\x21\\x6c\\x1e\\x1f\\x85\\xb8\\x87\\x22\\x94\\x7a\\x3d\\xb4\\xc7\\x70\\x24\\x40\\x13\\x44\\xd8\\xa0\\x62\\x54\\xbd\\x19\\xaf\\x5c\\x41\\x19\\xe5\\x46\\x8c\\x66\\x68\\xcc\\x86\\x1c\\x65\\x76\\x7f\\x72\\x22\\x16\\xbd\\x98\\x34\\x14\\x5e\\xdc\\xe7\\x78\\xd4\\x31\\x34\\x6e\\xd8\\x5b\\xb0\\x3a\\xb1\\x4c\\x28\\xf5\\xa0\\x95\\x4b\\x4d\\x29\\x60\\xe4\\xc1\\x37\\x80\\xfa\\xf3\\x94\\x0e\\x0c\\x08\\x3f\\x4c\\x2d\\x31\\xd7\\x77\\x56\\x12\\x0a\\xb5\\xf0\\xc2\\xc6\\xb5\\x87\\xfe\\x73\\xd9\\xc2\\x3d\\x16\\x23\\xbd\\xf7\\xe6\\x26\\xa1\\xe3\\xb1\\x23\\x2f\\x01\\xbc\\xb4\\xa7\\x0f\\xa4\\x59\\x1d\\x34\\xb8\\x16\\xe1\\xe7\\x77\\xdf\\xfe\\xd2\\xd1\\xcf\\xae\\x1e\\xfb\\xf7\\x43\\x33\\xd6\\xdb\\xd9\\xf2\\x2f\\xbe\\xbe\\x60\\x4c\\xf2\\x2d\\x7f\\x9b\\xfa\\x44\\xf6\\x53\\x98\\xcb\\xb4\\x60\\x8f\\xf3\\xcb\\x12\\xd5\\xd5\\xe5\\xce\\xc6\\x86\\x5a\\x32\\x95\\x72\\xb9\\x82\\xe5\\x4d\\x8e\\xe6\\x66\\x3b\\x46\\xc8\\xac\\x64\\x4b\\x8b\\xcd\\x66\\xd7\\x9b\\x4c\\x3a\\x7b\\xb9\\xba\\x5c\\xdd\\x3a\\x03\\x23\\x9a\\x1c\\x8d\\xce\\xd2\\x98\\xa2\\x04\\x6f\\xe6\\x9b\\x7b\\x33\\x3c\\x96\\x68\\xa8\\x6d\\xe8\\xcb\\xa4\\xf8\\xea\\x5a\\xba\\xc4\\x1c\\xf0\\x45\\x7c\\x73\\x32\\x11\\xb3\\x9d\\x15\\x39\\x12\\x59\\xab\\x4c\\x66\\x56\\x98\\xe1\\x49\\x65\\xce\\xcb\\x73\\xb2\\x20\\x2a\\x29\\x3d\\x25\\xcd\\xb2\\x64\\xe9\\xb9\\xba\\xf3\\xf3\\xe2\\x02\\x4e\\x2d\\xfc\\x80\\xca\\xd2\\x49\\x90\\xcf\\x02\\xb3\\x6f\\xd2\\xf2\\x03\\xe3\\x01\\x95\\x6d\\x0d\\xc8\\xf6\\x27\\xa1\\x12\\x5b\\xaa\\x70\\x7b\\x21\\x1a\\x09\\xe9\\xba\\x65\\x87\\xf0\\x43\\x37\\xc3\\x9f\\x5e\\xb6\\x60\\x3e\\x33\\x8a\\x10\\xd6\\x3a\\x43\\x4d\\x6a\\x5b\\xd9\\x84\\xf0\\xcf\\x0d\\xc2\\x09\\xbc\\x3a\\x24\\x39\\xb5\\xa5\\xb5\\xfe\\x4b\\xc7\\x0c\\x86\\x85\\x79\\x77\\xd6\\x03\\x96\\x2d\\x1a\\x51\\x83\\x75\\xe4\\xd1\\x6f\\x08\\x8f\\x9e\\x4e\\x2d\\x1c\\x1f\\x5d\\xd1\\x30\\x3c\\xf9\\x17\\x4b\\x2b\\x3e\\xba\\x30\\x32\\xb0\\x63\\xed\\xe4\\x29\\x7c\\xa7\\xb0\\xcd\\xa0\\xab\\xae\\x40\\xce\\x2e\\x1c\\x5e\\x1f\\x49\\x95\\x2d\\x03\\xff\\x95\\x3c\\x5d\\x3f\\xb8\\x0e\\x37\\x58\\xa4\\x39\\x1c\\x53\\x93\\xd0\\xb8\\x38\\x68\\x57\\x34\\x36\\x9f\\x2f\\x55\\x2b\\x34\\x1a\\x0a\\x23\\x68\\x9a\\x24\\x29\\x8a\\xd1\\x13\\x4a\\x15\\x3c\\xe3\\x18\\xa2\\x1b\\xc3\\x11\\xd1\\x18\\xa5\\x43\\x8c\\x54\\x3a\\x3a\\x0f\\x41\\xa7\\x71\\x84\\x24\\x0b\\x7e\\x7c\\x1a\\xd4\\x14\\x73\\x1e\\x44\\xe4\\x20\\xbd\\xb2\\x01\\xc7\\x76\\x1b\\xf6\\x34\\x6c\\x57\\x0b\\xdb\\xbb\\xe1\\x37\\xb5\\x48\\x0b\\xdc\\x34\\x2e\\x9c\\x82\\x68\\xf1\\xe1\\x71\\xd0\\x9c\\x95\\x0b\\xcd\\xb5\\xc7\\xc3\\x50\\x2e\\x1b\\x36\\x2c\\x71\\x4e\\x19\\x8d\\x4a\\xb9\\x4a\\x65\\x21\\x08\\xbb\\x43\\x4f\\x29\\xa8\\x3e\\x28\\x87\\xc2\\xad\\x80\\x72\\xc1\\xcc\\x4d\\x23\\xb1\\x35\\x70\\x2c\\xc6\\xce\\xc9\\x27\\xb3\\x5f\\x21\\x5b\\x31\\xdd\\x94\\x2c\\x4b\\x32\\x2d\\x49\\x86\\x98\\xdc\\xf2\\x9d\\x32\\x80\\x1a\\x5a\\x4a\\x84\\x2f\\x31\\x6c\\xa9\\x5d\\xa8\\x01\\xeb\\x3a\\x0f\\x1b\\x0e\\xfb\\x64\\x6d\\xb1\\x6a\\x4f\\xfd\\x5d\\xa6\\x91\\x41\\xda\\xf3\\xb1\\x28\\xaa\\x30\\x3e\\xfe\\x72\\x75\\xaf\\xbf\\x26\\x89\\x7a\\xa3\\x88\\xa9\\xf5\\xc2\\x6c\\x92\\x85\\x3e\\x14\\xbd\\x62\\x2a\\xc7\\xf6\\xf3\\x5d\\xfe\\x48\\x04\\x8d\\x1d\\xad\\x34\\x1b\\x39\\xce\\x50\\x16\\x08\\xaa\\x48\\xbb\\x1d\\xb1\\x67\\x55\\x94\\xda\\xed\\x25\\x4e\\x98\\x78\\x3b\\x99\\x80\\xcc\\xc4\\x9a\\xfa\\x32\\x65\\x38\\xcd\\xba\\x59\\xa8\\x0d\\xcb\\x42\\xef\\xc4\\xf5\\x66\\xac\\x34\\xa3\\xed\\xcd\\x30\\x76\\x05\\x74\\xb6\\x0a\\x73\\x9e\\x04\\xad\\x58\\xa7\\x64\\x76\\x42\\x4a\\x91\\xd3\\xd5\\x4f\\x07\\xb7\\x59\\x28\\x81\\x0c\\x0e\\xcd\\xb2\\x87\\x89\\x38\\x95\\xa5\\x7c\\x90\\x34\\x16\\x91\\x2d\\x9a\\x45\\xe0\\x25\\x10\\xc9\\x91\\x88\\x92\\xbc\\xc4\\x2b\\xf2\\x8c\\x71\\x28\\x21\\x7c\\xf9\\xd8\\xfc\\x76\\x19\\x15\\x39\\xa1\\x99\\xfc\\x83\\x66\\xfc\\xe0\\x62\\xe3\\x68\\x7d\\x1e\\xd7\\x4e\\xfe\\x7d\\xfe\\x7e\\x9b\\xf0\\x46\\xb5\\x65\\x06\\x70\\x21\\x84\\x6b\\x03\\xe5\\xf8\\xf6\\x64\\xc5\\xf8\\xdb\\x7f\\xf3\\xd6\\x27\\xff\\x6b\\x69\\x69\\xb1\\x10\\xd4\\x38\\x98\\x21\\xe2\\xda\\xc9\\xe6\\xef\\x1c\\x13\\x7e\\x68\\xb1\\x80\\x73\\x10\\xe0\\x7e\\x4d\\xac\\x5f\\x30\\x59\\xfe\\x08\\x54\\xcf\\xde\\xc5\\xf3\\x8c\\x9f\\xa6\\x43\\x21\\xb4\\xbb\\x84\\xc5\\xee\\x70\\x70\\x3e\\xbd\\xd7\\x6b\\x30\\x70\\x04\\x17\\x89\\x72\\x06\\x03\\xad\\x42\\x9b\\xeb\\xb7\\x8b\\x7b\\x6e\\x61\\x0a\\x9b\\x6e\\xd2\\xd0\\x98\\xab\\x88\\x61\\x42\\x7a\\xb0\\x9c\\x5d\\x95\\xe9\\x74\\x13\\x05\\x7b\\xd4\\x7f\\xf5\\xf6\\x17\\x3d\\x50\\x81\\xeb\\x45\\xe1\\x61\\x14\\x68\\x45\\x72\\x72\\xc4\\x43\\x21\\xd7\\xaf\\x30\\x2c\\x4f\\x48\\x5c\\x14\\x49\\x30\\x3b\\x21\\x11\\x51\\x24\\x6f\\x30\\x5c\\xaf\\x4f\\x7d\\xd6\\x37\\xcc\\x1a\\x84\\xa7\\xf4\\x32\\xd3\\xa5\\xd7\\xb8\\xab\\xd7\\x8a\\xa6\\xd1\\x6a\\x11\\x5e\\x01\\xcd\\x88\\x92\\x42\\x78\\x79\\x7c\\xbd\\x70\\x6a\\xc3\\xd2\\xcb\\xb6\\xac\\xad\\xb3\\x7c\\x0d\\xf9\\xf2\\xa7\\xa7\\x3e\\x21\\xf7\\x41\\xfd\\xa3\\x58\\x25\\x76\\x25\\x3f\\xa3\\xd4\\x6c\\x0e\\xaa\\x0d\\x5e\\xab\\xc1\\x4a\\x44\\xec\\xc1\\x60\\x22\\xc9\\x96\\x97\\x33\\x14\\x41\\x24\\x9c\\x0c\\xa3\\xf7\\x68\\xf4\\x9a\\xfe\\x4c\\x59\\x44\\x26\\x97\\xf5\\x65\\x82\\xac\\xdc\\x6a\\x54\\x19\\x21\\xc8\\x57\\xc9\\xe1\\x17\\x66\\xd3\\xd3\\x58\\x6c\\xda\\x12\\x88\\xcc\\x10\\x92\\x41\\x14\\x16\\x22\\x7f\\x4b\\x51\\x68\\xa5\\xc8\\xe6\\xdc\\xd2\\xad\\x15\\x5a\\x07\\xb4\\x0a\\x22\\xb8\\x92\\x9e\\xa4\\x13\\x72\\xca\\x5b\\x5d\\x15\\x36\\x66\\x1f\\x1e\\xa3\\x26\\x71\\xb8\\x28\\x78\\x10\\xd9\\x0a\\x05\\xc3\\xc0\\x0f\\x7f\\xfd\\x77\\xbc\\xd3\\xd0\\x1d\\xfb\\xfd\\x03\\x2a\\xee\\xf9\\x8e\\xfa\\xee\\x34\\xf8\\xd5\\xcc\\xbb\\x1a\\xc0\\x8f\\xaf\\x73\\x82\\x5f\\xf9\\xba\\xcd\\xb3\\x1e\\xe7\\xf0\\x13\\xdf\\xe8\\x36\\x74\\x2e\\x12\\x5c\\x9b\\x0e\\x7a\\x84\\x00\\xb9\\xdc\\x74\\xfc\\x78\\x64\\x7c\\xe7\\x5d\\x56\\x9f\\x6a\\x25\\x30\\xc3\\x84\\xf9\\x3b\\xe6\\x53\\x1c\\x70\\x0a\\x7f\\x5a\\xa9\\xf2\\xd9\\x4e\\x6c\\x1b\\x17\\x4e\\x2c\\xdf\\x71\\x55\\x7a\\xd9\\x88\\x38\\x17\\x0a\\x62\\x11\\x54\\xe7\\xf3\\x61\\x15\\x30\\x62\\x27\\x55\\x51\\x8a\\x8a\\xc5\\x48\\xaf\\xd1\\xea\\x37\\x12\\x0c\\xc1\\x54\\x26\\x38\\xb8\\xef\\x36\\xce\\x1e\\x55\\xa9\\x42\\xda\\x50\\x7f\\x46\\xcb\\xc8\\xa1\\x47\\x92\\x63\\x46\\xaf\\x17\\xc3\\x4a\\xfb\\x2e\\x28\\x67\\xe5\\xbe\\x4f\\x16\\xea\\x9d\\x75\\xd2\\xc3\\x8d\\x9c\\x19\\x84\\xa5\\xaa\\x66\\xbe\\xa2\\x47\\x83\\xa2\\x2e\\x8c\\x34\\xb8\\x58\\x81\\xef\\xd7\\x88\\x37\\x6f\\xb6\\x51\\xaa\\xe7\\x5d\\xb6\\xd6\\x1a\\xbc\\xf9\\xc6\\x8e\\xbe\\x08\\xcf\\x19\\x6d\\x5b\\x4a\\xe8\\xf4\\x73\\xe7\\x95\\xf7\\x64\\x32\\xae\\x45\\x98\\xbb\\x55\\xac\\xe9\\x7d\\x43\\xf8\\x70\\xe4\\xe0\\x1b\\x8f\\x1a\\x3e\\xde\\x6c\\xfc\\xf3\\x02\\xe3\\xb4\\xea\\x1e\\x8e\\x59\\xa0\\x0f\\xb1\\x42\\xdd\\xfd\\xd0\\x36\\xd6\\xf3\\x0d\\x7a\\xb7\\x9b\\x61\\x68\\x65\\x49\\x8c\\xd0\\x70\\x5e\\xaf\\x46\\x43\\xd3\\xc9\\x00\\x62\\x09\\xf1\\x30\\x10\\x7b\\xc2\\x44\\x10\\x1e\\x09\\xd6\\x2e\\x7a\\x65\\x8c\\x2a\\x43\\x25\\xbd\\x98\\xd7\\x1b\\xc6\\xc2\\x17\\x96\\xf4\\x24\\x94\\x36\\xbd\\x96\\x97\\xf7\\x17\\x05\\x33\\x90\\x8a\\x79\\x12\\x84\\x81\\x5e\\x7b\\xda\\x2a\\xf8\\xbf\\xba\\x90\\x47\\xa8\\xcb\\x4e\\x68\\xc0\\x93\\x7f\\x19\\xe3\\xa2\\x37\\xde\\x90\\x5d\\x86\\xed\\x11\\xfa\\xa5\\xaf\\xaa\\xe1\\xb9\\x46\\x01\\x63\\x69\\xf9\\xcf\\xeb\\xd6\\xed\\x3f\\x7c\\x40\\x5c\\x87\\x91\\x8b\\xd4\\xef\\x30\\x0c\\xda\\xc1\\x7c\\xd9\\xbd\\x58\\x04\\x1b\\xe7\\x6b\\x43\\x66\\xd6\\x40\\x42\\xc0\\x13\\x0e\\x13\\x18\\x49\\x46\\x82\\x1c\\xa7\\x8c\\x28\\xa3\\x31\\x73\\x08\\x82\\x51\\x5f\\x5f\\xc6\\x65\\x37\\xc3\\x2f\\x43\\xc4\\x8e\\xb1\\x06\\xb6\\x2f\\x43\\x18\\x68\\x4a\\xd7\\x97\\x51\\x51\\x17\\x2b\\xde\\x89\\x20\\x3c\\x7f\\x57\\x9a\\xf5\\x08\\xd9\\xda\\xdd\\x45\\x4b\\x76\\xde\\xe9\\x0b\\xe1\\x25\\xbc\\xbf\\xb8\\x68\\xc1\\x6e\\x31\\x78\\xc3\\xe9\\x3d\\x7e\\xb0\\xb0\\x00\\xc2\\x77\\xd6\\x09\\x5f\\x10\\x6d\\xd3\\x4a\\x76\\x93\\xbf\\x39\\xf9\\xfc\\x0b\\x92\\xd2\\x93\\xd7\\xe5\\xb0\\xb7\\xac\\x0d\\xc6\\x8d\\x0a\\xac\\x09\\xdb\\xc2\\x37\\x55\\xba\\xb1\\x54\\x49\\x34\\x5a\\x5b\\x4b\\x59\\xac\\x56\\x39\\xa7\\x50\\xd0\\x72\\x4c\\xde\\x9c\\x4e\\x95\\x94\\x54\\x95\\x55\\x41\\x6b\\x87\\xe1\\x82\\xd1\\x52\\x96\\xbe\\x8c\\x96\\xd2\\x52\\x64\\x99\\xd9\\x11\\xec\\xcb\\x78\\x1c\\x76\\xb2\\xbe\\x2f\\x43\\x32\\x58\\x61\\xa7\\xf3\\x49\\x47\\x49\\x31\\x31\\x70\\xb2\\x48\\xe7\\x1c\\xab\\x99\\x51\\xda\\x76\\xa4\\x67\\xf1\\x65\\xb1\\xb7\\xd0\\x5a\\x27\\x19\\x7e\\xae\\xb9\\x2e\\x58\\x68\\xc2\\xd3\\x01\\xa7\\x08\\xd0\\x6b\\xc0\\x63\\x3a\\xcb\\xac\\xf5\\x99\\xac\\xee\\x35\\x8d\\x8c\\xf0\\xe1\\x58\\xe8\\x9f\\x3f\\xbf\\x18\\x68\\x07\\x54\\x0e\\xe0\\xcf\\xba\\xb4\\x13\\xa4\\x9e\\x04\\x89\\x07\\x63\\xc2\\x0f\\xfb\\x0e\\xdc\\x37\\x1b\\x2d\\xcb\\x15\\x1b\\x27\\x7f\\xfc\\xce\\x2b\\xd3\\x41\\xfc\\x6b\\x08\\xe6\\xe3\\x1d\\xd6\\x83\\x7f\\x47\\x76\\xe1\\x80\\x76\\xf1\\x19\\x3c\\x23\\x1e\\xb8\\x5a\\xcd\\x98\\xcd\\xe3\\xb1\\x52\\x94\\x5d\\x6e\\x77\\x3a\\x68\\x8b\\x45\\xa1\\xe4\\x38\\xd4\\x22\\xe7\\x90\\x7b\\x7d\\x62\\x99\\x08\\xa3\\x30\\xab\\x8d\\x24\\x1c\\xac\\x45\\xd1\\x0b\\x0f\\x8b\\xb4\\x7a\\x76\\x39\\x20\\x40\\x6f\\x86\\xa0\\x0b\\x53\\x49\\xb2\\x67\\x04\\x5a\\xc1\\x74\\x12\\x82\\xc2\\xfd\\x5d\\xae\\x6b\\x4e\\x29\\x36\\xec\\xa3\\xae\\xb9\\xe9\\xc7\\x23\\xc7\\xb1\\x09\\xae\\x02\\x8b\\xe7\\xab\\xc1\\x90\\x7a\\xe1\\x17\\xbf\\x98\\x63\\xf6\\xdf\\xbc\\x67\\x38\\x6f\\x0f\\x8f\\x3c\\xb0\\xb6\\x4d\\xf8\\xe2\\xcf\\x08\\x52\\x80\\xff\\x82\\x21\\xae\\xb5\\xd5\\xfc\\xcb\\xc9\\xdf\\x59\\x76\\xbf\\xfa\\x94\\x64\\x10\\xe0\\x6c\\x87\\xb0\\x4f\\x96\\xcc\\xd6\\x46\\xde\\x15\\x66\\xe3\\x35\\x50\\x4f\\x13\\x56\\xcf\\xbb\\x4c\\x00\\xa3\\x69\\x3d\\xc5\\x30\\xac\\xd9\\xa8\\xef\\xcd\\x18\\x31\\x06\\x83\\xf8\\x80\\x95\\x69\\x20\\x3e\\x90\\xd9\\xb1\\x82\\x06\\x25\\x45\\x7d\\x66\\x28\\xf3\\x3a\\x5f\\x4c\\x51\\xc4\\x59\\xdb\\x91\\x60\\x99\\xbe\\x70\\x56\\xb0\\x73\\x9f\\x20\\x20\\x36\\x5c\\x90\\x44\\x12\\x02\\x60\\x61\\x68\\x9b\\x3f\\x86\\xb6\\x99\\xc2\\x76\\xf2\\x69\\x91\\x8b\\x27\\x4b\\xd6\\x13\\xaa\\xaa\\x0a\\x06\\x7d\\xd5\\x18\\xa6\\x30\\xf8\\x0c\\xbe\\xda\\xba\\xea\\x60\\x6f\\xa6\\x9a\\x8d\\x55\\xf6\\x65\\x4a\\x63\\x76\\x27\\xc3\\x71\\xb8\\xd6\\x86\\xca\\x53\\x36\\x86\\x85\\x01\\x8b\\xa5\\x15\\x06\\xc4\\x3a\\x31\\x8d\\x0c\\x2a\\x59\\xec\\x92\\xb2\\x94\\xd5\\x85\\x05\\x4f\\x26\\xf3\\x6f\\xeb\\xa4\\x52\\x24\\x51\\x0c\\xaf\\x2f\\xa8\\x08\\x5f\\xe0\\xad\\x8c\\x35\\xe4\\xab\\x62\\x45\\x77\\x4c\\xf8\\xc7\\x4a\\x91\\xb6\\x27\\xcb\\x14\\x51\\x5c\\x00\\xd6\\x2f\\xde\\x62\\x09\\x1e\\xbe\\xbc\\xb0\\x43\\xff\\x10\\xb9\\x23\\xe6\\x5c\\x96\\x9a\\x7c\\x0b\\xaf\\x13\\x29\\x81\\x24\\x16\\x89\\x5c\\xc1\\x37\\xb8\\x78\\xf2\\x13\\xcb\\xee\\x57\\xce\\x48\\xab\\x84\\x18\\x25\\x00\\x16\\x83\\x3e\\x9b\\x86\\x6b\\x14\\xc2\\x56\\xf0\\xd5\\x52\\x6b\\x0e\\xeb\\xf7\\x9b\\x4c\\x7a\\x3b\\x9a\\x3d\\xae\\xa7\\xf4\\x30\\x45\\x33\\xa1\\xab\\x18\\x2b\\x04\\x73\\x0e\\xab\\xfd\\xff\\x64\\xc1\\x98\\x46\\x2a\\xa6\\x3f\\x6f\\x55\\xbe\\x92\\x11\\xe3\\x7c\\xf5\\xf1\\x73\\x17\\xa3\\xc7\\xb0\\x84\\x6e\\xb8\\x40\\xdd\\x0b\\xa8\\x32\\x76\\xbf\\xfe\\x78\\x41\\x41\\xd1\\x47\\xad\\xcf\\xd6\\x68\\x03\\x30\\x2e\\x4d\\xf0\\xb5\\x7a\\x82\\x08\\x62\\x18\\x84\\x2a\\x30\\x32\\x79\\x3c\\x0a\\x8b\\xc5\\x61\\xb7\\x27\\x62\\x1e\\x4f\\xc4\\x17\\xe9\\xcf\\xf8\\x18\\x97\\xa3\\x37\\xe3\\xa2\\xad\\x76\\x02\\xda\\x8b\\x11\\xc6\\x25\\xa3\\x59\\xae\\xed\\xcb\\x28\\xe5\\x79\\x3b\\xcd\\x97\\x24\\x2f\\x5e\\x9e\\x2d\\x02\\xaf\\xd0\\x05\\x17\\xf9\\xa4\\x34\\x9a\\x0c\\x83\\xe2\\x50\\xf6\\xad\\xd4\\xc5\\x6a\\xb3\\xb3\\x3b\\x23\\xed\\x7f\\xcd\\xaa\\xd8\\xd8\\x6f\\x60\\x17\\xae\\x83\\x40\\x56\\x51\\x2f\\x1c\\xd6\\x8c\\x7f\\xf0\\x55\\xa5\\xd9\\xfd\\x7f\\x1b\\xf9\\x85\\xb0\\x1f\\xe9\\xbc\\x7b\\xfd\\xb6\\x72\\x6f\\xba\\x4e\\x38\\xd3\\x62\\x21\\x9f\\x38\\xbf\\x32\\x2b\\xee\\xb5\\x58\\x97\\xf5\\xa0\\xbc\\x44\\x8d\\x79\\x3c\\x1a\\x88\\xe8\\x35\\x1a\\xa7\\xd1\\xe1\\xf0\\xca\\x7c\\xd9\\xc2\\x34\\x3c\\x93\\x0e\\x56\\x0f\\x3d\\x34\\x34\\x81\\x5c\\x2d\\x96\\x9a\\x56\\x8b\\x2d\\x3a\\xad\\xd9\\x22\\x6c\\x32\\x1f\\x8c\\xa6\\x95\\x60\\x29\\x22\\x79\\x5e\\xf0\\x31\\x9e\\x5f\\x7f\\x5d\\xf0\\x0b\\xa7\\xf7\\xf6\\x9d\\xc3\\xe2\\x59\\xb6\\x6f\\x8b\\x30\\xc2\\xbd\\xb7\\x4c\\x2f\\xbe\\x0a\\xa6\\x93\\x67\\x5e\\x91\\xf6\\x13\\x51\\xfb\\x89\\xbe\\xe5\\x1f\\xd0\\xb7\\xfc\\x02\\xea\\x51\\x8b\\x2d\\xe0\\xe3\\x0a\\xb3\\x39\\x11\\x64\\x08\\x22\\xea\\xc2\\x82\\x58\\x5d\\x7d\\xc2\\x05\\xf1\\x50\\x79\\x6f\\xa6\\x24\\xcc\\xe0\\x68\\x03\\xed\\xbd\\x19\\xee\\xfc\\x1d\\x4c\\x16\\x83\\x2a\\x2c\\x77\\xbf\\x93\\x9c\\x56\\xc2\\x9c\\xd6\\xcb\\x2a\\x6d\\x5d\\x51\\x49\\x33\\x54\\x8e\\x9a\\xe5\\xa7\\x57\\x33\\xd1\\x5d\\x3c\\xfe\\x94\\xb2\\xc2\\x7d\\xc7\\xce\\xc2\\x06\\x1a\\x17\\x5e\\x55\\xa8\\x6b\\x56\\xd7\\xb6\\x6e\\x58\\x58\\x5c\\xd2\\x6c\\x58\\xbe\\x78\\x5e\\x29\\x88\\x96\\x84\\x85\\xbf\\x3e\\xfd\\x1d\\x69\\x03\\xd7\\x06\\x73\\x95\\xcd\\x70\\x8b\\x27\\xd4\\xbc\\x7f\\x20\\x5f\\xd7\\x0c\\xb7\\xd5\\x56\\xf7\\x8c\\xa2\\x39\\xdd\\x9f\\xc1\\x7d\\xbc\\x04\\x62\\x8b\\x38\\x96\\xe1\\xcb\\x22\\x9a\\x70\\x18\\xd7\\x6a\\xed\\x06\\x5b\\xd4\\x63\\xf3\\x94\\x96\\x61\\x30\\xd5\\x20\\xb0\\x08\\xdc\\x46\\x88\\x3d\\x22\\x8c\\xcb\\x05\\x23\\xac\\xcf\\x05\\xa4\\xeb\\x40\\x7b\\x71\\xf9\\x36\\x7f\\x83\\x5c\\x74\\x7f\\x9c\\xbd\\x43\\x16\\xef\\xb1\\xf2\\xba\\x7b\\xa7\\xb3\\x0d\\x19\\x8b\\x40\\x06\\x25\\xe2\\x0b\\x5c\\xdf\\x91\\xd7\\x58\\x2b\\x7c\\xdd\\xe9\\xfb\\xe4\\x4c\\x76\\x09\\x52\\xf3\\x4d\\x67\\xfd\\xbf\\x7b\\x62\\x45\\x73\\x84\\x57\\x19\\xc3\\x2b\\xe2\\x47\\xc1\\x6f\\xed\\xde\\xe3\\xc2\\xcf\\x24\\x65\\x7b\\xbe\\xfe\\xd2\\xdb\\xe8\\xbb\\x03\\xdb\\xc8\\x85\\xdf\\x7d\\xcd\\xf8\\xcb\\x75\\x96\\xa9\\x73\\x4f\\x1e\\x7d\\xfe\\x05\\x68\\xab\\x46\\xa8\\xe3\\xdd\\xc4\\x23\\x10\\x4b\\xf6\\xf2\\x11\\x0f\\xe2\\x21\\xe3\\x30\\xaf\\x37\\x10\\x74\\xeb\\xf5\\x32\\xad\\x36\\xe8\\xf7\\x42\\xe7\\x03\\x33\\x5e\\xc6\\xc3\\x40\\x00\\x61\\xce\\x82\\xc9\\xa2\\x13\\x6a\\xc9\\x11\\x94\\x15\\xa5\\x0d\\xfa\\x8b\\x92\\x94\\x5d\\x00\\x90\\xc2\\x29\\x30\\xab\\x98\\xb3\\xec\\x06\\x50\\x65\\xf5\\x1f\\x3f\\xd0\\xd6\\x1f\\x91\\x8c\\x54\\x2b\\x3c\\x7c\\x71\\x12\\xb3\\xef\\x1c\\x7e\\xe9\\x59\\xd1\\x54\\x67\\x4a\\x6c\\x66\\xc8\\x56\\x7f\\x0f\\xf5\\x78\\x1b\\xe6\\x4b\\x09\\xe4\\x79\\x68\\x8c\\x89\\x25\\x12\\x3e\\x7f\\x65\\xa5\\xc9\\x6b\\xf4\\xf9\\x2c\\x2e\\x57\\xb2\\xca\\xc8\\xa0\\x99\\x95\\xc9\\x84\\xaf\\x37\\x93\\x60\\xc3\\xd0\\xdf\\xc4\\xc2\\x76\\x93\\x97\\xc6\\x48\\xa5\\xdd\\x60\\x80\\x48\\xd9\\x40\\x2b\\x45\\x17\\x8b\\xae\\x22\\xb9\\xba\\xbc\\x7f\\x3d\\xbf\\x2d\\xbe\\x6e\\xda\\x19\\x14\\xe7\\xca\\xa2\\xc6\\x1c\\x94\\x23\\x06\\x45\\xa6\\x33\\x71\\x5c\\x93\\xa4\\x33\\x0d\\x2e\\x88\\xff\\xe0\\xcc\\xfd\\x81\\xb0\\x3e\\xa6\\xf9\\x1f\\xa6\\xa5\\x13\\x38\\xde\\x80\\x10\\xa0\\xe4\\xfe\\x95\\x95\\x95\\x29\\xcd\\xfb\\xec\\xc1\\x77\\x7f\\x33\\x9f\\x75\\x9f\\x28\\xe8\\xcf\\xdc\\x0b\\xb6\\x1d\\x74\\x97\\x78\\xad\\x2e\\x65\\x8b\\xd6\\xe5\\x9f\\xd7\\xf8\\x29\\xb8\\xc6\\xda\\x22\\x3c\\x37\\x18\\x69\\x71\\x3b\\x55\\x2d\\x8c\\xbd\\xfb\\x92\\x53\\x42\\x0b\\x7b\\xd9\\x8b\\xcf\\x49\\xe7\\x56\\xe2\\x48\\x83\\xeb\\x80\\x6a\\xd2\\x1e\\xac\\x8f\\x8f\\xa8\\x5c\\x2e\\xa7\\x96\\x65\\xbd\\x3e\\xce\\x88\\xab\\xd5\\x5e\\xb3\\xce\\xa4\\x83\\xa8\\xc0\\x44\\x6b\\x38\\x35\\xd7\\x9b\\x71\\xaa\\x59\\xc9\\x88\\xed\\x59\\x82\\xe5\\x64\\xd1\\xf4\\xb5\\x5c\\x2e\\x98\\xf3\\x3b\\x45\\x96\\x0a\\xf7\\xee\\x22\\x14\\x6a\\x10\\xe9\\xc7\\x0b\\xa2\\x4f\\xfe\\xe8\\xa2\\x8c\\x6a\\x83\\x15\\x37\\x0a\\xb3\\x25\\x69\\xcf\\xe3\\x56\\x3b\\xf8\\xc1\\x49\\xa9\\x6f\\x01\\xc6\\xc9\\x6b\\x89\\x57\\xa1\\x3d\\x56\\x60\\x63\\x7c\\x32\\x60\\x8f\\xb1\\x25\\x25\\x7e\\x15\\x49\\x32\\x0c\\x86\\xf9\\xed\\xfe\\xca\\x84\\x9f\\x71\\xc3\\xfc\\xcd\\xcd\\xc4\\x58\\x36\\x6c\\x81\\x59\\x8c\\xc5\\x6c\\xc2\\x10\\xd5\\x9a\\x52\\xab\\x95\\x43\\xbc\\x6b\\x9f\\x3e\\x4b\\xb1\\x90\\xdd\\x5c\\x10\\x2a\\x45\\xad\\x20\\xf4\\x11\\x1b\\x55\\xc4\\x1e\\xc7\\xec\\x00\\xa6\\xfc\\xf3\\x46\\x71\\x64\\x42\\xf6\\x79\\x63\\x0e\\xca\\x12\\xa9\\x75\\x56\\xf5\\xa0\\xcd\\x96\\xe6\\xc3\\x83\\x33\\xd7\\xae\\xa0\\x55\\xdf\\x27\\x1b\\x8e\\xf6\\xec\\x3e\\x74\\x33\\x90\\xdd\\x79\\x70\\xd3\\xdc\\x9a\\xc9\\x39\\xed\\x55\\x91\\x65\\xe1\\xb1\\xd2\\xbe\\x59\\x7b\\xba\\x86\\x3d\\x47\\xbb\\x3c\\x57\\x18\\x37\\x7f\\x6c\\xd8\\xbc\\xb5\\x79\\xa0\\xe1\\xe0\\xac\\xc1\\xd3\\x27\\x1e\\x05\\x25\\xdf\\x2c\\x0d\\x4e\\x9e\\x5c\\xb5\\x13\\x26\\x32\\x49\\xdf\\xf5\\x9f\\x8b\\xef\\x0a\\xb3\\x7a\\x1b\\xe4\\xb2\\x47\\xb3\\xeb\\xd0\\x21\\xb3\\x40\\xdf\\x13\\x85\\xa8\\x6a\\x19\\x5f\\x15\\x23\\xdc\\x56\\xab\\x39\\x5c\\x51\\xa9\\x22\\x03\\x01\\xb5\\x9a\\x36\\x13\\xe6\\xda\\x3a\\x97\\xcf\\x67\\x87\\x4e\\xc7\\x81\\xf0\\xaa\\x5e\\x0b\\xa8\\x2a\\x94\\xdc\\x55\\x84\\xc3\\xa5\\x58\\xe9\\x85\\xc9\\x5d\\x21\\xa6\\x16\\x6a\\xd2\\x17\\xc9\\xeb\\xcc\\x9c\\x78\\xe1\\x95\\xf3\\x3a\\x45\\x6b\\xe3\\xd1\\xc3\\xa5\\xf9\\x8a\\xec\\x2e\\xb0\\xd2\\x69\\x6c\\x07\\xab\\x96\\x37\\x87\\xa5\\x7b\\xb2\\x37\\x75\\xed\\x21\\x67\\x05\\x1f\\x6e\\x1d\\x17\\xde\\x57\\x7b\\xaa\\x8f\\xf2\\x28\\xc1\\x8b\\x2e\\x35\\xf6\\x7b\\x0b\\x09\\x9e\\x56\\x33\\x01\\xae\\x17\\x7d\\xd1\\x7f\\xf7\\xcc\\xa9\\xbe\\xd4\\xb2\\xee\\x97\\x46\\xc0\\xd5\\xf0\\x4f\\xb6\\x8b\\x49\\x5e\\x5f\\x03\\x1e\\x96\\x92\\x3c\\x1c\\x2b\\x83\\x36\\xfd\\x0f\\x91\\xbb\\x2e\\x81\\x8d\\xf0\\xe5\\x31\\xb9\\xdc\\x6f\\x67\\x69\\x5a\\xa3\\x29\\x85\\x66\\x92\\xac\\x8a\\x91\\xf0\\x30\\xc7\\x3c\\xe1\\x70\\x45\\x5f\\x26\\xcc\\xb8\\xd4\\x10\\x6b\\xcc\\x81\\xbe\\xca\\x64\\xb1\\xe8\\xa1\\xb7\\xb2\\x17\\xd3\\x9c\\x16\\xf5\\x36\\x9d\\x77\\x9d\\x76\\x41\\x43\\xd3\\x85\\x66\\x21\\xfd\\xdb\\x30\\xad\\x9d\\x89\\x18\\xcd\\xb7\\x33\\x45\\xd4\\x0b\\x90\\x55\\x44\\x06\\x3b\\xa0\\x55\\xe8\\xb7\\x6f\\x7a\\xfc\\xd9\\x9b\\x3f\\xdb\\x77\\xf1\\x3e\\xa6\\x5f\\x75\\xf8\\xf3\\x46\\x31\\x9a\\x7a\\xe2\\xe1\\x87\\x41\\xe8\\xc1\\x42\\x13\\x93\\x98\\xd7\\x42\\x7b\\x20\\x5e\\x87\\x3a\\xf3\\xd8\\x5a\\x3e\\x55\\x6f\\xd2\\x34\\x37\\x9b\\x08\\x5b\\x2a\\xd5\\xd2\\x5a\\xee\\xf7\\x47\\x3d\\x1e\\x82\\x68\\xad\\x37\\x9a\\x8d\\xe6\\x39\\x19\\xa3\\x11\\x4b\\xb8\\xab\\xaa\\x9c\\x73\\x32\\x55\\xe6\\x48\\x3c\\x0e\\xa3\\x50\\xdc\\x8e\\x21\\xc2\\x38\\xc4\\xd3\\x9c\\x28\\xb8\\x69\\x51\\x7d\\x89\\x77\\x10\\xf1\\x34\\x83\\x64\\xf1\\xb3\\x19\\x83\\x94\\xe9\\x89\\x4f\\x2a\\xa6\\x85\\xda\\x66\\xbc\\x01\\x50\\xa8\\xaf\\x3a\\x5b\\xa8\\x3e\\x7f\\x55\\x6a\\x52\\xd3\\x5f\\xb5\\xe1\\xa1\\xf6\\xbb\\xcb\\x63\\x6d\\x9c\\xbe\\x33\\xdc\\x39\\x5c\\xee\\x55\\x59\\x66\\x30\\xdd\\xa6\\x4e\\xdb\\x86\\x3b\\x7a\\xda\\xae\\xbb\\xa2\\x3c\\xac\\x9e\\x6f\\xcf\\x2d\\x91\\xcc\\xb2\\x66\\xd7\\x7d\\x8f\\x1e\\xde\\x81\\xb7\\xf5\\xfc\\x8c\\x38\\x6b\\x62\\x7e\\x72\\x09\\x6d\\x19\\xe9\\xaf\\x98\\xa7\\xc5\\x65\\xea\\x5d\\xda\\xca\\xe3\\xb3\\x66\\x2f\\x69\\xfb\\xa8\\x23\\xb0\\x0f\\xad\\xd3\\x25\\xdb\\xec\\xcd\\x37\\x54\\x5c\\xbb\\x6b\\xfc\\x46\\x23\\x65\\x5b\\xd3\\xb2\\x7d\\x3f\\x96\\xcb\\x7d\\x08\\x20\\xe6\\x1d\\x9b\\xf9\\xb4\\x8b\\x20\\xbc\\x0c\\x46\\x98\\x61\\xce\\x51\\x5b\\xa7\\xb2\\x96\\x12\\x66\\x73\\x2d\\xe6\\xf3\\xfa\\xbc\\x7d\\x19\\xda\\xe7\\xf6\\x7d\\xe4\\x23\\x34\\x84\\xcf\\x27\\x2f\\xad\\xac\\x8c\\xf6\\x65\\x2a\\x19\\xc6\\x68\\x84\\xa1\\xdb\\x08\\x53\\xc2\\x39\\x19\\xab\\x42\\x2e\\x52\\x5b\\x4e\\x5f\\x2c\\x43\\x31\\xad\\x35\\x5c\\x2e\\x2e\\xbb\\x54\\x5c\\x96\\xf6\\x2a\\x37\\x41\\xec\\x02\\x3b\\x91\\xa0\\x8b\\xf8\\x6e\\x4e\\x7a\\x2a\\x82\\x9e\\xcd\\xe5\\xdb\\x4e\\x71\\xef\\xec\\x85\\xbf\\x39\\xbb\\x60\\x9e\\xa3\\xb0\\x14\\xba\\xd0\\xe5\\x97\\x2e\\x5e\\x79\\x64\\xbd\\x71\\xc3\\xd0\\xf2\\x96\\xf6\\xd9\\x6d\\xf5\\xdd\\xb1\\xd5\\xcb\\xea\\xcf\\x9c\\xd9\\xb1\\x0a\\xfc\\x92\\x59\\x39\\xeb\\xc6\\xfb\\x9c\\xf7\\x47\\xb3\\xeb\\x30\\xb3\\xeb\\xc3\\xc6\\xc5\\x99\\xa3\\xab\\xc6\\xc6\\x1a\\x3a\\xab\\x56\\xfd\\xd2\\xa4\\xde\\x39\\xb1\\x6a\\x9f\\x09\\x9e\\x11\\x03\\xf4\\x1f\\x6b\\xe1\\x5a\\x20\\x86\\x73\\x98\\xf1\\x56\\xa8\\x31\\xbf\\x93\\xe3\\x42\\x30\\xc1\\x28\\x95\\xc9\\xc2\\x7a\\x4c\\x5f\\x93\\x0a\\x97\\x22\\x7e\\x73\\x23\\x4d\\xba\\xc9\\x8f\\x48\\xb8\\x1a\\x24\\x19\\xd3\\xc5\\x92\\xf0\\xec\\x98\\x1d\\x30\\x3d\\x86\\xe1\\xdd\\x5e\\xc4\\x76\\x9e\\x1f\\x16\\x74\\xd1\\x12\\x79\\x5d\\x51\\xd3\\x6a\\x36\\xe1\\x38\\x9f\\xf5\\x5c\\x9c\\x85\\x43\\x9c\\xb7\\x38\\x29\\xa3\\x58\\x64\\x0e\\xe5\\x5f\\x2f\\x1b\\xf2\\xac\\xe7\\x43\\x6f\\x2f\\x7e\\xfc\\x59\\xf2\\xae\\x0d\\xd9\\x53\\x34\\xbf\\x1d\\x9e\\xa2\\x21\\x63\\x52\\xf8\\xe3\\xc9\\x83\\x27\\x71\\xf5\\xf9\\x9c\\xe7\\xb3\\xfa\\x9f\\x78\\x38\\x1c\\x9a\\x3c\\x54\\x74\\x90\\xc0\\x67\\x6f\\x0a\\x1b\\xc0\\x70\\x11\\xe7\\x79\\x15\\xc4\\xaf\\x0f\\xc3\\xdc\\xd8\\x02\\x33\\x92\\x39\\x7c\\x0c\\x7a\\x50\\x93\\x05\\xc3\\x58\\x13\\xc9\\x98\\x98\\xa0\\x2a\\xe4\\xf0\\xcd\\xcb\\x38\\x30\\x8e\\x85\\xc8\\x95\\xfe\\x5f\\x42\\x48\\x1e\\x80\\xd7\\xe5\\x5d\\xc5\\xc5\\x03\\x47\\x4d\\x4a\\xcc\\x9b\\x89\\x1c\\x91\\x2e\\xd2\\xb3\\x7f\\xbb\\xbd\\xd8\\xe6\\x8d\\xe7\\x6e\\x41\\x39\\xf4\\x9f\\x46\\xd2\\x7c\\x66\\xa8\\x85\\x1f\\x1e\\xb6\\xdc\\xd9\\x11\\xdc\\x9b\\x35\\xf1\\xc6\\x2d\\x08\\x79\\x83\\xce\\x96\\xa1\\x0c\\x9f\\x1e\\xc9\\x48\\x7e\\x00\\x40\\x1b\\xdf\\x20\\xf6\\x78\\xce\\xe0\\x7d\\x51\\x9b\\x5e\\xfd\\xff\\x78\\x7b\\xf3\\xc0\\xa8\\xaa\\xb3\\x7f\\xfc\\x9c\\xbb\\xce\\xbe\\x6f\\xc9\\xcc\\x64\\x32\\x99\\xcc\\x4c\\x92\\x49\\x32\\x49\\x26\\xc9\\x24\\x64\\x1b\\x48\\xd8\\xc2\\x32\\xec\\x30\\x40\\x08\\x28\\x08\\x22\\xca\\xa6\\x60\\xdd\\x40\\xc5\\x0d\\xab\\xb8\\xb4\\x58\\x51\\x54\\x10\\x15\\xab\\x02\\xee\\xd8\\x6a\\xdd\\x90\\x6a\\xc1\\xe2\\x6b\\x6b\\x6d\\xc5\\xad\\xee\\xad\\x0b\\xb8\\xb4\\x16\\x31\\x77\\x7e\\xe7\\x9c\\xbb\\xcc\\x9d\\x99\\x60\\xdf\\xf7\\x8f\\xdf\\x17\\x9d\\x64\\x72\\xef\\xe7\\x3c\\x67\\x7b\\xd6\\x73\\xef\\x79\\x8e\\xbb\\x82\\x76\\xd3\\xb5\\x75\\x16\\x87\\x03\\xf9\\xda\\x0e\\x2f\\x8f\\x97\\x39\\x79\\x57\\x15\\x00\\xe1\\x29\\x62\\x6a\\x76\\xd5\\x5a\\x45\\x5e\\xbe\\xef\\x84\\xbc\\x63\\x0a\\x1f\\xe0\\x54\\xc8\\xb5\\x49\\xd1\\xe5\\x96\\xd5\\x1a\\x9e\\x42\\x8a\\x7b\\xf0\\x99\\x9b\\x05\\x61\\xeb\\xe8\\x79\\x25\\x2a\\x56\\x4d\\x8d\\x33\\xb5\\xce\\x4f\\x5f\\x37\\x65\\xee\\xf4\\x09\\x17\\xb6\\xd7\\x4e\\x7b\\x85\\x7e\\xe9\\x37\\xbb\\x9e\\x12\\xde\\xbd\\xcb\\xf4\\xab\\x28\\x61\\xd1\\x35\\xe7\\x8f\\x19\\x0f\\xcf\\x7d\\xa0\\xf3\\xba\\xaf\\xaf\\x5b\\x75\\x51\\x6b\\x55\\xcf\\xf8\\x69\\xa2\\xac\\x3e\\x8c\\xfa\\xb1\\x06\\xd9\\xb3\\x20\\xee\\x47\\x79\\x30\\x68\\xa3\\x4c\\x26\\xbb\\xc6\\x66\\xab\\xf0\\x84\\x5c\\x7e\\xd4\\x05\\x17\\xb4\\xa2\\x29\\xb0\\xf2\\x7a\\x3d\\xd2\\xe6\\x7a\\x79\\x06\\xe2\\x92\\x5b\\x92\\x1f\\xff\\x34\\x36\\xb8\\x8b\\x86\\x3e\\xa1\\xf6\\x96\\x51\\x44\\x34\\xc1\\x92\\x6b\\x34\\xef\\xbe\\xeb\\xc9\\xf2\\x3f\\xfd\\x46\\x5a\\x87\\x4b\\xf6\\x39\\x0e\\x8f\\x9c\\x57\\x2d\\xb5\\x36\\x38\\xee\\x62\\xc6\\xf4\\xcc\\x6f\\x9d\\xef\\x9e\\xed\\x59\\xbb\\xfe\\xe4\\x79\\xe2\\xfe\\x1f\\x24\\x4b\\x9f\\x93\\xb5\\xf7\\x59\\xa9\\xba\\x28\\x00\\x95\\x41\\x3d\\x5e\\x30\\xe2\\x7d\\x28\\x6c\\xe7\\x83\\x7c\\x8d\\x35\\x16\\xa9\\x9c\\x9c\\x89\\x98\\xcb\\x5c\\x5e\\x14\\x9b\\x7b\\x9d\\xf2\\x5c\\x88\\x27\\x6a\\x28\\x9c\\x33\\x0c\\xdb\\xc8\\x4e\\x87\\x72\\xac\\x46\\xb1\\xef\\x51\\x70\\xcc\\xc6\\x02\\xe5\\x98\\x8d\\x2a\\x95\\x79\\xd1\\xfd\\x65\\xf8\\x13\\x37\\x5e\\xec\\xcd\\x39\\x1b\\x85\\x87\\x6f\\xc0\\xec\\x57\\x68\\x0e\\xf6\\xa1\\x7e\\xd5\\x81\\x73\\x52\\x6d\\x15\\x35\\x35\\xa0\\x16\\x05\\xe3\\x26\\x87\\x1f\\x80\\xfa\\x78\\x95\\xc6\\xe1\\xa8\\x0f\\xd6\\xd6\\x96\\x4f\\xce\\xd4\\xd6\\xd2\\xd5\\xb1\\x50\\x75\\x68\\x72\\xa6\\xaa\\xda\\x6c\\xb4\\x5a\\x75\\xf8\\x19\\xbe\\xbb\\x94\\x2e\\x9d\\x92\\xe1\\x68\\xf9\\x55\\x61\\x8f\\xfa\\xa8\\xde\\xfc\\x7c\\xb6\\xb2\\x49\\x51\\x65\\x8c\\x72\\x60\\xa1\\x2f\\xd6\\x94\\x52\\x56\\x02\\x31\\xcd\\xad\\xec\\x4f\\x32\\xf4\\x04\\xe1\\xdf\\x1f\\xd7\\xae\\x8e\\xe5\\x69\\xc8\\xf6\\x5f\\x8e\\xbf\\xfa\\xf2\\x4f\\xe6\\xe9\\xe0\\xe4\\x5b\\xda\\x96\\x7b\\x70\\xd6\\xdb\\xef\\xb5\\xc2\\x2d\\xd0\\x08\\xe3\\x37\\x3d\\x6c\\x32\\xab\\xf5\\xa3\\x37\\x78\\xfa\\xdc\\xc7\\x3a\\xe1\\x48\\xe2\\x5d\\x36\\x0a\\xf7\\x35\\x11\\xff\\x4a\\xca\\x2f\\x81\\xfc\\xab\\xc5\\xe4\\xef\\x1e\\x2a\\x4c\\x75\\x32\\xe7\\x5a\\x78\\xba\\x06\\x1c\\x07\\xe2\\x1e\\x0a\\x86\\xa2\\xa9\\x0e\\x66\\x3d\\xf2\\x9d\\x63\\xc0\\xfb\\x78\\xd4\\x66\\x63\\x62\\x1e\\xbc\\x1f\\xc9\\x00\\x18\\xf9\\x8d\\xfd\\xf6\\xb8\\x92\\x79\\xcd\\x25\\x31\\x1b\\xf2\\x19\\x14\\x81\\x8f\\x92\\x57\\x11\\x23\\xac\\xbc\\x13\\xb1\\x0c\\x76\\x67\\xb6\\xcd\\x8d\\x2d\\x29\\x27\\xdb\\x10\\x6b\\xa7\\x24\\x98\\xde\\x51\\xbd\\x53\\x7f\\x76\\xc6\\xd9\\xed\\x3e\\x77\\x97\\xb7\\xc1\\x0c\\x0d\\xb1\\xd6\\x78\\xdd\\x88\\x66\\xbe\\x95\\xfa\\x61\\xe5\\x9e\\x85\\x56\\xdd\\x43\\x4b\\x43\\xe3\\x2f\\x4b\\x57\\x74\\x37\\xf7\\xcf\\xef\\xa8\\x49\\xce\\x18\\x53\\x3d\\x29\\xe8\\x73\\xfb\\xfd\\x51\\x92\\x7b\\xa8\\x97\\x8a\\x52\\x6b\\xd8\\xed\\x44\\x9f\\x2d\\x49\\x55\\xb3\\x1a\\xe0\\xd2\\xb8\\x38\\xda\\xed\\x46\\x11\\x9a\\x39\\x1c\\x71\\xf8\\xfd\\x9c\\x4e\\x17\\x09\\xd8\\x00\\xeb\\xe1\\x3c\\x2e\\x8d\\x9b\\xb7\\xb9\\x6d\\x6e\\xba\\xc4\\x48\\xb6\\xaf\\x73\\x34\\xc9\\xfb\\x73\\xb0\\x49\\x7e\\x04\\x64\\x13\\x53\\xfc\\x14\\x66\\xff\\xb1\\xb5\\xab\\x33\\x2f\\xe0\\x8d\\xe0\\xee\\xa4\\xbc\\xad\\x46\\xdc\\x00\\x12\\x89\\xf2\\x49\\x7b\\x93\\xb8\\x23\\x9c\\x3c\\xfa\\x5a\\x10\\x6f\\x31\\xcc\\x9d\\xf9\\x8c\\x71\\xc3\\x85\\x3b\\xef\\xfd\\xcb\\x83\\x37\\x46\\x5d\\x7c\\xfc\\x7e\\xe3\\x88\\x50\\x57\\x4d\\x77\\x45\\x67\\x15\\x6b\\xa8\\xb2\\x8e\\xb4\\xb7\\x9f\\xde\\xdf\\xbb\\xfe\\xd0\\x2b\\xef\\xbe\\x72\\xfb\\x01\\x76\\x56\\xe7\\x9c\\x09\\x43\\x37\\xcf\\x79\\x60\\xc2\\xe2\\xf9\\x7b\\x26\\xce\\x47\\x73\\x21\\xed\\x61\\xb7\\x70\\xec\\x0a\\x22\\x7f\\x1c\\xac\\xa5\\x18\\xf6\\x46\\xe0\\x06\\xfe\\xa7\\x80\\x1b\\x76\\x3d\\xea\\xa4\\x01\\xd9\\x56\\x65\\x02\\x3c\\xee\\x03\\x49\\x5a\\xd5\\x73\\xaa\\x85\\xf8\\xd0\\xe6\\x45\\x9a\\x25\\x26\\xd7\\xc6\\xb3\\x5a\\xab\\x3d\\x11\\xde\\xe8\\x0c\\x54\\x99\\x6c\\x17\\xe9\\x2f\\xbc\\x62\\x07\\x13\\xa9\\x71\\x8f\\x5f\\xbf\\xdc\\x70\\x45\\xaf\\x21\\x35\\x71\\x41\\xcf\\x10\\x47\\xf4\\x12\\xe4\\xe1\\x1f\\xc8\\x7e\\x9e\\xf1\\x29\\x87\\xd5\\xe1\\x74\\x5a\\x68\\x50\\x5a\\xca\\x30\\x5a\\x8b\\xc5\\xeb\\xc3\\xf9\\xf8\\xf6\\xc3\\x8e\\xc7\\x80\\xc3\\x41\\x5b\\xf7\\xc3\\xee\\x47\\x4c\\x3a\\x7e\\x3f\\xde\\x8d\\x24\\x65\\xfb\\xca\\xcb\\x17\\xa7\\x7e\\x9c\\x4d\\x72\\xb1\\xaa\\xc2\\x3e\\xf9\\xe9\\x21\\x6c\\x9e\\xc9\\x67\\xf4\\xce\\xeb\\xce\\xea\\x0a\\x79\\x22\\x9c\\xc9\\xd1\\xe9\\x35\\xad\\xd1\\xaf\\x49\\xcf\\xe1\\xe1\\x68\\x3e\\x45\\xad\\xa9\\xf6\\x74\\x9e\\xbf\\x4e\\x7f\\xd5\\x28\\xd3\\xad\\xd3\\xba\\xe1\\xb3\\xa6\\xaa\\x2a\\x13\\xe1\\x4b\\x00\\x6b\\xa8\\x4b\\x98\\xf3\\x80\\x0f\\x69\\xa4\\xd9\\x29\\x7b\\x45\\xc0\\x40\\xeb\\x91\\x46\\x2a\\x2d\\x29\\x89\\x55\\x51\\x56\\x6b\\x4d\\xcc\\x83\\xb7\\x24\\x56\\xb8\\xdd\\xe1\\xb0\\x73\\x3f\\xec\\x7c\\x3c\\x60\\x30\\xf8\\xfd\\x66\\x3c\\xeb\\x1a\\x1a\\x90\\xf6\\x36\\x35\\x29\\x3b\\x13\\x13\\xea\\xdc\\x6e\\xea\\x6c\\x15\\xca\\xd1\\x44\\x3d\\xd2\\x0e\\x54\\x29\\xb9\\x0b\\x8a\\xec\\x68\\xd4\\x07\\x69\\xd7\\xab\\xd3\\xb1\\x73\\xc2\\x6c\\x1f\\xd2\\x16\\x5d\\x25\\x13\\x67\\x3b\\x75\\xc1\\x33\\x5a\\x76\\x4f\\xba\\x62\\xf6\\x8a\\x80\\x6d\\xd7\\x62\\xe7\\x91\\xc6\\x96\\xf1\\x01\\x6d\\x6d\\x45\\xe7\\x42\\x58\\xe3\\xdc\\x79\\xba\\xd1\\x32\\xb8\\x7a\\x44\\x59\\xe4\\xb7\\xcb\\x9f\\x5f\\x96\\x6a\\x1a\\x7a\\xe5\\xfc\\xeb\\xe1\\xb8\\xf6\\x87\\x13\\x91\\x51\\x5d\\x6f\\x5d\\xb2\\x9c\\xcc\\x73\\x2f\\x6c\\xa4\\xb6\\xa2\\xb1\\x77\\xe3\\xfd\\xd2\\xc0\\xe2\\x72\\xe1\\x2c\\xee\\xb6\\x12\\x9d\\xc1\\xc0\\x33\\x8c\\xa7\\xc4\\xee\\x7a\\x06\\xb5\\xdd\\x4a\\xb6\\x80\\x6b\\xd1\\x2c\\x58\\x70\\x9e\\x1d\\x39\\x8d\\x05\\xea\\x50\\x4f\\xc1\\x96\\x40\\x25\\x2a\\x27\\x9c\\xaa\\xda\\x05\\x28\\x6d\\xba\\x84\\xbf\\xd8\\x38\\xf9\\x72\\xb6\\xbb\\x85\\xff\\xb8\\x8f\\x1e\\x55\\xdf\\x38\\xed\\xa1\\x2b\\x93\\xfc\\xa7\\x11\\x6a\\x69\\x6a\\xbd\\xdd\\x27\\xee\\xf7\\x0b\\x8e\\x77\\xc0\\xbf\\x0d\\x01\\x73\\xf4\\x6f\\x64\\xdc\\xcb\\xa8\\x26\\xb8\\x81\\xbd\\x02\\x98\\x51\\x84\\x3c\\x25\\xe5\\x70\\x59\\x2c\\x24\\xc3\\xa8\\x11\\x18\\x0c\\x10\\x32\\x8c\\xcf\\x5f\\x62\\xc7\\x3b\\xec\\xb5\\x80\\xe3\\xf0\\x3b\\xb7\\x5a\\xbd\\xb8\\xf5\\x8f\\x91\\xb6\\xab\\xdb\\xc4\\x0c\\xf4\\x3d\\x45\\x2f\\x3c\\x88\\xa2\\xc5\\xe3\\x36\\x21\\xce\\xc0\\xfb\\xeb\\xf9\\x04\\x9f\\xe7\\x36\\x54\\x84\\x3a\\x35\\x9f\\xd7\\xcd\\xd6\\xcf\\x0e\\x25\\xf9\\x4f\\x6a\\xa7\\xe8\\x1f\\x68\\xa9\\x8a\\x36\\x37\\x47\\xab\\x5a\\xe8\\xba\\x97\\x4c\\x55\\x27\\xbb\\x0f\\x9a\\xa3\\x3f\\x76\\xc3\\xa1\\xca\\x24\\xce\\x0e\\xd0\\x86\\xc7\\xf2\\x67\\x54\\x14\\x5e\\x83\\xc6\\xd2\\x0a\\xc2\\x29\\x9d\\x46\\xa7\\x63\\x29\\xca\\x66\\x67\\x79\\xdc\\x22\\x03\\xba\\xdf\\x43\\x76\\xb9\\xa8\\x72\\x1b\\xda\\xf3\\x87\\x88\\x37\\xc1\\x1f\\x2e\\x65\\x46\\xf5\\xf2\\xdf\\x4e\\xa0\\x63\\xae\\x72\\x8d\\x63\\x12\\x15\\x5d\\xee\\x72\\xc0\\x75\\x68\\x58\\xa6\\xfb\\xea\\x34\\x8d\\x06\\xa7\\xe8\\x8f\\x44\\xd1\\x98\\xec\\x46\\xf5\\xe8\\x71\\x3d\\xc8\\x1e\\xe2\\x1c\\xd5\\x46\\x4e\\x9b\\x9f\\xe4\\x40\\x5d\\x8f\\x2a\\x0b\\xdb\\x53\\x49\\x1e\\x06\\xf8\\x8e\\xa9\\x49\\x9c\\x38\\x6e\\x04\\xd3\\x88\\xf7\\x03\\x0b\\x49\\x89\\xcd\\xc5\\x9c\\xa3\\x70\\x23\\xb3\\x04\\x8d\\x77\\xe0\\x49\\xc4\\xb9\\x7a\\x3d\\x6f\\x30\\xe1\\x0e\\x30\\x4a\\xbe\\x3a\\x32\\xa4\\x09\\xf1\\x85\\x11\\x3c\\x7e\\x76\\x69\\xfc\\x60\\xcb\\x04\\xfd\\x84\\xca\\x71\\xfc\\xe7\\x75\\x13\\x74\\x13\\x2b\\x92\\xfc\\x5b\\xf4\\xaa\\xee\\x43\\xa6\\x28\\x22\\xf9\\x2c\\xd9\\x3c\\x44\\x67\\x57\\xc1\\x18\\x7c\\x9c\\xbd\\x0a\\x8d\\x8f\\x1f\\x44\\x40\\x3a\\xe5\\xb0\\x79\\x3c\\xe5\\x95\\x1c\\x57\\x6e\\x36\\xe1\\x24\\x83\\xe5\\xe5\\xd1\\x2a\\x27\\xd9\\x1e\\x47\\xb6\\xa4\\x3e\\x06\\x82\\x41\\x33\\xe9\\x54\\x19\\xa0\\x89\\xc0\\xf7\\x14\\xec\\x42\\x55\\xdb\\x74\\x69\\xcf\\x36\\xb6\\xda\\x1d\\x50\\x7a\\x4b\\x44\\x7d\\xde\\x1c\\x6c\\x4a\\x8a\\xe1\\x14\\xf4\\x97\\xfe\\xf2\\xac\\xb1\\x13\\x97\\x4d\\x9d\\x99\\x59\\xc8\\x43\\xcb\\xe9\\xa3\\x8d\\xd3\\x92\\x95\\x55\\xad\\x2d\\xd5\\x95\\x49\\xa1\\xef\\x34\\xd7\\xcc\\xea\\x86\\x32\\xf8\\xf9\\x9c\\x65\\xed\\x89\\xd1\\x73\\xe0\\xf7\\xce\\xe8\\xd0\\xab\\xe3\\xe9\\x91\\x55\\x2d\\x6d\\x61\\x34\\xcf\\x3f\\x46\\xd7\\x44\\x03\\xd8\\x7d\\x45\\xe3\\x34\\x15\\xc6\\xe1\\x9d\\x24\\x67\\x4d\\x75\\x4a\\x8f\\x33\\xfd\\x59\\x8c\\x46\\x97\\x9b\\xa4\\x7b\\x78\\x84\\xa3\\x75\\x8a\\x86\\x52\\x67\\x9a\\xb4\\x8b\\xe9\\x41\\x73\\xfe\\x1e\\xd9\\x7a\\xfc\\x43\\x99\\xc3\\x6a\\x0e\\x47\\x3d\\x89\\xd6\\x05\\xcb\\xb8\\x1b\\x5b\\xf9\\x4f\\xee\\xe0\\xe1\\xc1\\xfa\\xa8\\xbe\\xef\\x4a\\xfd\\xbc\\xd9\\x5e\\xe4\\xca\\x22\\x3e\\xbb\\x2c\\x44\\x72\\xf8\\xc1\\x3a\\x54\\xe7\\x15\\xc0\\x05\\x92\\x29\\x13\\x34\\x9b\\x5d\\x00\\xd8\\x79\\x9b\\xcd\\xed\\xb1\\x3b\\xf1\\xa8\\xa1\\x36\\x20\\xf5\\x68\\xd0\\xb0\\x4a\\xe5\\x05\\x23\\x45\\xf2\\x46\\xe5\\x2b\\x45\\x71\\x3b\\x39\\xb4\\x75\\x9a\\x9c\\xf3\\xa7\\xc7\\xea\\xdd\\x51\\x93\\xde\\xd2\\xe7\\xd5\\xfe\\x49\\xd3\\x7d\\x39\\x6a\\x09\\xb5\\xcc\\x34\\x61\\xed\\x4a\\xfd\\x95\\x7d\\xfa\\x9f\\x27\\xab\\x4c\\xd4\\xa7\\xd2\\xde\\x5b\\x9c\\xcb\\x33\\x43\\x78\\xa4\\x2e\\x65\\x34\\x03\\xa0\\xd3\\x6a\\x2d\\xac\\xd5\\xac\\xd3\\x19\\xf0\\x2e\\x71\\xc4\\x29\\x4a\\x5e\\x5c\\x6b\\x42\\x9d\\x20\\x1d\\x2a\\xf9\\x65\\x25\\x4d\\xac\\x59\\x31\\xa3\\xa1\\xb9\\xae\\x6e\\xe8\\x73\\xc2\\x90\\xb0\\x8b\\xcf\\x50\\xab\\x34\\x4b\\x1f\\xaa\\x32\\xc1\\xdf\\x63\\xbe\\x24\\x79\\x50\\x61\\x1d\\xfd\\x14\\x73\\x2e\\xf2\\x97\\x56\\xa6\\x22\\x48\\x2b\\x55\\x87\\xf1\\x4a\\xb7\\xcb\\xe1\\xa0\\x7c\\xb1\\xea\\xea\\x78\\xb0\\xd4\\xeb\\xf5\\xfb\\x7c\\xf5\\x71\\x4b\\x69\\x69\\x38\\x18\\x34\\x79\\x3c\\xd1\\x10\\xde\\x66\\xef\\x47\\x83\\xd5\\x01\\x1c\\xc0\\x87\\x46\\x84\\x57\\x29\\x60\\xc2\\x44\\x71\\x25\\xf9\\x97\\x3a\\x7d\\x85\\x2d\\xef\\x51\\xa2\\x7a\\x55\\x38\\x69\\xc7\\x87\\xdd\\xf3\\x4e\\x9c\\x01\\x82\\x7c\\xcb\\x65\\x82\\x70\\x93\\xb3\\xac\\x91\\x7a\\xa6\\x66\\xb4\\xd5\\x7b\\x22\\x68\\xf4\\xbc\\x6d\\xe6\\x89\\x74\\x4f\\x4d\\x07\\x33\\xfe\\xa1\\xd1\\x74\\x77\\x55\\x72\\xc6\\x43\\x73\\x9b\\xf9\\xa3\\x70\\x63\\xff\\x12\\xe7\\xb5\\x53\\x2e\\x65\\x27\\xd9\\x6f\\x84\\x75\\x78\\x44\\xfb\\x66\\xc0\\x7d\\xa1\\xb1\\x25\\xc6\\x3a\\x61\\x31\\xbc\\x22\\x34\\xd6\\x2d\\x54\\xc1\\x21\\x73\\xb4\\x91\\xec\\x7c\\x16\\x26\\xad\\xba\\x04\\xf5\\x7d\\x0c\\x8c\\xd3\\x5f\\x22\\x39\\xc7\\xfb\\xb8\\x03\\x65\\x10\\x80\\xff\\xd5\\x4e\\x6e\\x6d\\x19\\x84\\xbe\\xbc\\x7d\\xdc\\x5d\\xf2\\x3e\\x6e\\x6b\\xe2\\xbf\\xee\\xe2\\x16\\xb5\\xb7\\xfd\\x7f\\xb1\\x8f\\x7b\\x4f\\x52\\xdc\\xc7\\xbd\\x01\\xef\\xe3\\xfe\\x64\\x34\\x93\\x8a\\xb5\\x43\\x0e\\x75\\x1a\\xef\\xe3\\x9e\\xf1\\xd0\\x35\\x2d\\x3c\\x92\\x90\\x56\\xd4\\x9d\\x73\\x9b\\xe0\\x19\\x48\\x83\\x5d\\x88\\x3a\\xab\\x8f\\xc3\\xdb\\xf1\\x17\\x37\\xfc\\xeb\\x8f\\x02\\x66\\x26\\x98\\x5d\\x07\\xeb\\xa8\\x5b\\xd1\\xfc\\x56\\x80\\xa9\\x29\\x37\\x28\\x2f\\xa7\\xfc\\xfe\\x4a\\x9e\\x43\\x51\\xa2\\xc1\\xe9\\x0c\\x55\\xa2\\x2f\\x0c\\xe3\\xc5\\xdb\\x4e\\x9d\\xc8\\x09\\xe9\\x78\\xc4\\x6a\\xd4\\xe1\\xed\\x9b\\xe5\\xb9\\xcd\\xe9\\x05\\x19\\xab\\x12\\x79\\x2f\\x67\\x4b\\xb3\\x95\\xbf\\xa2\\x2f\\xcd\\x9c\\xf8\\x2c\\x0e\\xde\\x31\\x9a\\x1e\\x55\\x9b\\x98\\x63\\xbf\\xf1\\x6c\\x69\\xfe\\xca\\x9b\\x4c\\x8b\\xc8\\x84\\x4d\\xb8\\x9c\\xed\\x49\\xf2\\x48\\x1d\\x5e\\x81\\x4c\\x92\\x60\\x5a\\x75\\x09\\x9e\\xb5\\xf4\\x78\\xaa\\x0a\\xcf\\xd2\\x3a\\x87\\x4f\\xd8\\x46\\xd4\\x1a\\x3e\\xdb\\x1a\\xf5\\xe1\\x28\\xea\\x43\\x04\\xf7\\x81\\xe6\\xf9\\x4a\\xbf\\xc7\\x53\\xe5\\xd0\\x1b\\x0c\\x16\\xb3\\x39\\x5a\\xa5\\x77\\x38\\xb4\\x5a\\x17\\x66\\x4a\\x0b\\xe2\\x66\\x6c\\x0a\\xcc\\x88\\x29\\x43\\xe5\\xf9\\x4c\\x69\\x2d\\xe2\\x47\\x79\\xc5\\x97\\x68\\x0a\\xb1\\x23\\x58\\xdb\\xaa\\x9a\\xcf\\x39\\x15\\x85\\x42\\xcd\\x5b\\xb0\\x8c\\x1d\\x8f\\xbb\\xd2\\xdf\\xc4\\x7f\\x30\\x57\\xee\\xc0\\x14\\x1e\\x2b\\x97\\x48\\xc4\\x93\\x80\\x75\\x03\\xb3\\x03\\x5e\\x78\\x3b\\xee\\xcb\\x3c\\x93\\xc4\\x6b\\xb8\\x17\\xed\\xa1\\x72\\x51\\xd9\\x88\\x31\\xe2\\xfb\\xc8\\x27\\x7f\\x1f\\xc9\\xb6\\x17\\x4c\\x4a\\x39\\x0d\\x0c\\xcb\\xea\\x75\\x3a\\xbf\\xc9\\x68\\xf4\\xda\\x69\\x00\\x7c\\x7e\\x8f\\xc3\\x8a\\xb9\\x8a\\x01\\x06\\xd8\\xfd\\x84\\x8e\\x65\\x81\\x91\\xa7\\xa4\\x6d\\xd6\\x62\\xf6\\x14\\x55\\xfe\\x94\\x84\\xfa\\x59\\x28\\x6e\\x37\\xce\\xa0\\x97\\xc0\\xe9\\x4c\\x69\\x59\\x0b\\x89\\xc7\\x30\\x3e\\x81\\x8c\\xc5\\xef\\x9b\\x3a\\xf9\\xa7\\xf9\\x8e\\xb9\\xf3\\x7f\\x34\\x85\\x66\\x8d\\x2b\\x0b\\x38\\x4b\\xb5\\x3a\\x6d\\xb0\\xb5\\x94\\x89\\x9b\\xaa\\x84\\x87\\x61\\x09\\xb6\\x50\\x02\\x0d\\x1f\\x98\\xfc\\xfb\\xbb\\x1d\\x73\\x4b\\xf4\\xdb\\x7e\\x09\\x68\\xd0\\x8f\\x7c\\xd6\\xc5\\x24\\x5f\\x8a\\x13\\x09\\x7c\\x32\\x65\\x2f\\xb1\\xdb\\x79\\xbe\\x2c\\x60\\xf1\\xf9\\x90\\xac\\x58\\x11\\xef\\xb8\\xf4\\x98\\x77\\x8c\\xc8\\x1d\\xe8\\x51\\x6c\\x97\\x7a\\x93\\xa9\\xbc\\xe2\\xa8\\xe4\\xdb\\xc2\\x2f\\xd9\\x85\\xf0\\xb8\\xda\\x51\\x00\\x9b\\x40\\xfe\\x16\\xb5\\x78\\xf2\\xcd\\x4b\\x56\\x2e\\x99\\x74\\xc3\\x92\\xbf\\x0a\\x07\\x9b\\x5b\\x1d\\xf7\\x9b\\x4b\\xd7\\xc6\\x9b\\xec\\xf7\\x6b\\xe9\\x5f\\xaf\\x7a\\xf8\\xf4\\xa5\\x8b\\x57\\xef\\x3b\\x6d\\xe8\\xab\\x73\\x56\\xcc\\xa9\\x8d\\xc5\\xe0\\x5f\\x16\\x2e\\x68\\xaf\\x9e\\x2f\\xe6\\x7d\\xf7\\xc1\\x5a\\xba\\x97\\x9d\\x81\\xe2\\x84\\x00\\x79\\xde\\xec\\xd7\\x05\\x4a\\xcc\\x8c\\xc5\\xa2\\xa5\\xcb\\x23\\x2e\\xc6\\xe9\\x44\\xde\\xad\\x16\\xf8\\x0c\\x86\\x68\\x08\\x54\\x61\\xab\\x11\\x7f\\x2c\\x52\\x52\\xe2\\x42\\x0e\\x63\\xe7\\x63\\xe5\\x81\\x00\\x36\\x20\\x3d\\x8f\\x22\\x88\\xe4\\xea\\x5a\\x13\\xb9\\xac\\x85\\x3d\\xaa\\xb3\\x07\\x73\\x6f\\x12\\x8a\\x79\\x42\\x38\\x31\\x47\\x08\\x55\\x49\\x56\\x03\\xc9\\xeb\\x0f\\x65\\x50\\x4c\\xd3\\xe5\\x26\\x0f\\x45\\x22\\x51\\xba\\xf7\\xd9\\x47\\x42\\x9d\\xbc\\xf0\\x57\\xbe\\x27\\x24\\x7c\\xff\\xd4\\x93\\x81\\x0e\\x1e\\x56\\xf1\\xa9\\xc0\\x35\\x97\\x0a\\xdd\\xb3\\x4f\\xaf\\xeb\\xdc\\x33\\x67\\x51\\xbc\\x83\\xde\\xb2\\xfd\\x31\\x27\\xd1\\xc1\\xbf\\x77\\x1f\\xba\\xfd\\x49\\xeb\\x5e\\xfc\\x75\\xaf\\x71\\x55\\xb7\\x66\\xcf\\xcf\\x93\\xbd\\x06\\xca\\xb1\\xeb\\xb2\\xb6\\x3e\\x93\\x68\\x93\\xea\\xe1\\x49\\xe4\\x17\\xb7\\x22\\xdf\\xdd\\xd5\\x8c\\xa7\\xa9\\xad\\x9e\\xa6\\x39\\xae\\xc2\\xe1\\x48\\xb6\\x55\\x98\\xdc\\x7a\\xae\\x16\\x3b\\xc1\\x01\\x9c\\x04\\xb9\\xf3\\x91\\x44\\x43\\x8e\\xeb\\xe5\\xcd\\xef\\x6a\\x5d\\x24\\xbe\\x0a\\x61\\x97\\x96\\x13\\xdc\\x72\\xc6\\xbc\\xa8\\x94\\x0e\\x21\\xff\\x09\\x24\\x5e\\xfb\\x8b\\xc1\\x5c\\x40\\xfb\\xd1\\xe0\\x19\\x54\\xb8\\x4a\\x6b\\xee\\x8a\\xb6\\x77\\xb5\\x75\\x8c\\x6f\\xbf\\x62\\xd9\\xd8\\xf9\\x25\\x55\\xbc\\x71\\x44\\x59\\x7d\\x73\\x57\\x72\\x4c\\xd7\\xe6\\x8b\\xf4\\x86\\x84\\x45\\x94\\x86\\xfa\\x05\\x33\\xcd\\xfe\\xd7\\xd3\\xb6\\x40\\x4b\\x75\\x20\\xe8\\xf0\\xf4\\x37\\x0e\\xae\\xb1\\xde\\x38\\xca\\xe2\\xa9\\x09\\x97\\x57\\xd8\\xdc\\x7d\\x2d\\xcb\\x7f\\xd6\\xef\\x9e\\x25\\x4a\\x05\\xcc\\x9e\\x81\\xe4\\xdb\\xc6\\xde\\x84\\xe2\\x93\\x78\\xca\\x54\\xc2\\x22\\x8f\\xcb\\xa1\\xb7\\xdb\\xbd\\x3e\\x1a\\xa0\\x4e\\xd5\\x3d\\x42\\x12\\x4c\\x2b\\x01\\x89\\xa2\\x87\\xc4\\xbc\\xf5\\x91\\x62\\x05\\x24\\x86\\x4b\\xf0\\xcf\\xbc\\xce\\xd3\\xe9\\x5d\\x67\\xbf\\xe9\\x9c\\x24\\xd1\\x3c\\x56\\xa4\\x79\\xd6\\xe1\\xb0\\xa4\\xd2\\xc3\\x82\\x91\\xe6\\x5b\\x87\\x16\\xaf\\xbe\\x58\\x52\\x39\\xdb\\xcf\\x5f\\x67\\xb8\\x52\\xd4\\x35\\x0b\\x91\\x56\\x3d\\xc6\\x7c\\x8a\\xf4\\xe5\\xf8\\x94\\xdb\\x55\\xe2\\x74\\x7a\\x03\\x3a\\x9d\\xd7\\x6b\\xb7\\x50\\x26\\x53\\xa8\\xd2\\x82\\x14\\xa7\\xdd\\x85\\x6d\\x81\\x1f\\x67\\xf4\\x2b\\x30\\x7d\\x05\\x39\\x5b\\x14\\x75\\x6f\\xcf\\x35\\x8e\\x27\\x3a\\x5f\\x79\\xfb\\xd9\\x29\\xf9\\xa5\\x2f\\x25\\x91\\x6b\\x60\\xd4\\x5b\\x7d\\x09\\xa7\\xd9\\x74\\x13\\x3d\\x72\\x3c\\x3f\\x6f\\xfe\\x5c\\xd7\\x3a\\xfd\\xba\\x51\\xf1\\x8a\\x3a\\xb3\\xf3\\x6c\\x18\\xc7\\x2d\\x1d\\xb3\\x06\\x9e\\x53\\x0e\\xd7\\x46\\xdd\\x1b\\x37\\x76\\x0b\\x3f\\xd7\\xb7\\xe9\\x66\\x9c\\x7f\\x29\\x39\\xc7\\x8d\\x0a\\x51\\x0f\\x12\\x9d\\x12\\x02\\xeb\\x53\\xb5\\x65\\x01\\x07\\xcd\\x22\\x1b\\x56\\x02\\x20\\xf4\\x78\\xc2\\xe5\\x28\\xde\\xa8\\xa8\\xc0\\xc7\\x44\\x63\\x4b\\xe6\\x34\\x9b\\xad\\xe5\\xc8\\xb9\\x2f\\xb1\\x1b\\x8d\\x8c\\xdb\\x8a\\x83\\xaa\\x32\\x96\\xf5\\xf9\\x88\\x31\\xcb\\xf9\\xf5\\xa2\\x25\\x13\\x5d\\x51\\x99\\x7b\\x86\\x3b\\x41\\xa0\\x5d\\x8e\\xad\\x88\\xab\\xdf\\x22\\x46\\x25\\x8a\\xc3\\x2f\\xb9\\xfd\\x2c\\xf6\\x84\\x10\\x1f\\x51\\xcb\\x43\\xcd\\xfc\\x5b\\x1b\\xfb\\x37\\xb9\\xdb\\xf4\\x6d\\x15\\x2d\\xdc\\xc7\\xb1\\x87\\x2a\\x1a\\xb8\\xf7\\x63\\x49\\xbd\\x70\\x57\\x7d\\xa3\\xff\\x21\\x2b\\xdd\\xf4\\x07\\x53\\x55\\x63\\x6a\\xbd\\xed\\xca\\x9e\\xdf\\x99\\xa3\\xdf\\xe1\\x4f\\xcf\\xd3\\x8e\\xdd\\x8b\\xcd\\xe3\\xc9\\xdc\\x94\\x53\\x51\\xea\\x0d\\x64\\xaf\\xab\\xc0\\xcc\\x54\\x05\\x6f\\x0a\\x95\\x9a\\x4a\\x69\\x9f\\x3b\\x12\\xa9\\xb1\\x19\\x70\\x2a\\xb8\\x32\\x83\\xc1\\x58\\x6a\\x36\\x87\\x90\\x70\\x04\\x34\\x1a\\xaf\\xf1\\xb7\\xc4\\x43\\x91\\xe3\\x82\\x44\\xbe\\x43\\xab\\x8a\\x0e\\x73\\x2b\\x01\\xd2\\x2a\\xbf\\x9c\\xd7\\x55\\x39\\xb3\\x31\\x42\\x52\\xf9\\xcb\\x2f\\x80\\x3a\\x38\\x38\\xe2\\x9a\\x1b\\x6f\\xd8\\xc4\\x9b\\x16\\x74\\x86\\xea\\xc2\\x30\\x18\\xeb\\x9b\\xb8\\x6e\\xf6\\xfc\\x68\\x9d\\x15\\x06\\x1d\\x75\\xc6\\xd1\\xd3\\x4c\\x70\\xde\\xf2\\x17\\xa9\\xe8\\x19\\x0b\\x96\\x5d\\x63\\x77\\x72\\x5d\\xf7\\x3e\\xa0\\xff\\x59\\xe6\\xa2\\xd5\\x4b\\xe3\\xfd\\x9a\\x07\\xee\\xed\\xe2\\x9c\\xa6\\x65\\xfd\\x17\\xfd\\x1c\\xf7\\x67\\x00\\xf5\\xe7\\x4d\\xd4\\x1f\\x9c\\xdf\\xc6\\x6d\\xb5\\xd9\\x3c\\x6e\\xb7\\x57\\x6b\\x30\\x30\\x14\\x55\\xea\\x75\\xdb\\x6c\\x5a\\x86\\x71\\x70\\xe2\\x92\\x80\\xba\\x13\\xd6\\xa2\\x88\\x10\\xb7\\xbc\\x25\\x59\\x74\\x76\\x1c\\x36\\x05\\x1c\\x1c\\xfb\\x4f\\xa6\\xad\\x93\\x87\\x4d\\xfc\\xb8\\x36\\x66\\x59\\xdf\\x24\\x43\\xfb\\x38\\xfe\\x08\\x3f\\xb2\\x3d\\x42\\x45\\xef\\xaa\\x83\\x5d\\x24\\x3c\\x79\\xd1\\xee\\x5a\\xd4\\x3d\\x06\\xf6\\x22\\xe5\\x62\\x14\\x9e\\xfd\\x03\\x19\\xeb\\xb3\\x51\\xdb\\x6e\\x22\\x79\\xbe\\x3a\\x52\\x56\\x0f\\x67\\x2d\\x2b\\xab\\xd4\\xea\\xf5\\x1c\\x4e\\x17\\xe9\\x76\\x78\\x7f\\xa7\\xe4\\xf6\\x32\\x2a\\x6d\\x53\\xa7\\x7d\\x17\\x99\\x43\\xb1\\xae\\xb2\\x8f\\x23\\x2d\\xbd\\xe6\\x52\\xec\\x99\\x28\\xd8\\xb8\\x70\\x31\\xd7\\xd8\\xca\\x7f\\x3c\\x86\\xee\\x1f\\x75\\x4e\\x67\\xcc\\xeb\\xf6\\x87\\xeb\\x4a\\x5a\\x47\\x8c\\x19\\xd7\\x38\\x78\\x05\\x15\\x9d\\x37\\xa7\\x2c\\x02\\xed\\xc8\\xbd\\x39\\x2f\\xd8\\xbf\\xf8\\xfe\\x89\\x23\\xe2\\x86\\x59\\x37\\xd9\\xa6\\x4d\\xea\\xbd\\x7f\\x43\\x9f\\xf4\\x0c\\x09\\xf9\\xca\\x6d\\xcc\\x5a\\x60\\x03\\xcd\\x29\\xb3\\xd9\\x04\\xa1\\x1e\\x58\\x2c\\x38\\x4d\\x8d\\x1d\\x9a\\x70\\x06\\x32\\x2d\\x62\\x68\\x8b\\xec\\xce\\xf4\\xe4\\x1f\\x46\\x45\\x4e\\x00\\x24\\xbb\\xa6\\xc4\\xc7\\xdb\\x49\\x72\\x32\\x0b\\xbc\\x44\\xc9\\xd6\\x00\\x79\\x9c\\xad\\x01\\xb9\\x28\\xd7\\xa8\\xb2\\x35\\xc0\\xad\\x43\\xff\\xc2\\x9e\\x09\\xcc\\xfe\\x1b\\xd5\\x1d\\x41\\x72\\x67\\x05\\x89\\x94\\xc9\\x42\\x69\\xb5\\x76\\x3d\\x0f\\x6c\\x3a\\x9a\\xe6\\x35\\x78\\x45\\x05\\xea\\xf5\\xe6\\xdc\\xbe\\x19\\xe5\\x54\\x5b\\xb2\\x87\\x06\\x55\\x4d\\x27\\x15\\x46\\x93\\x1c\\x77\\x1d\\x0b\\x67\\xa7\\xa6\\xfb\\x43\\x31\\x3f\\x0a\\xe3\\x84\\xfb\\x33\\x53\\x12\\xad\\xb5\\xad\\x54\\x93\\x17\\x7e\\xe0\\x1c\\xd8\\xed\\x17\\xca\\x7d\\x97\\xfd\\x99\\xf4\\xd9\\x80\\xf4\\xe5\\xd5\\xa8\\xde\\x20\\x5e\\xcf\\xf1\\x97\\xd8\\xcc\\x34\\xf2\\x1d\\x1c\\x5a\\xaf\\xcd\\x5b\\x11\\xf2\\x21\\xb9\\x2f\\xc5\\xb5\\xdb\\xfd\\xfe\\xa0\\x0d\\xaf\\xe7\\x68\\x70\\x8a\\x2f\\xf5\\x7a\\x4e\\xc2\\x5a\\x78\\x60\\x1c\\x09\\xd5\\x0b\\x57\\xcb\\x83\\x05\\xed\\xa3\\x02\\x75\\x7c\\x13\\x56\\xef\\x6e\\x1c\\x49\\xe9\\x84\\xe7\\x58\\x38\\xa7\\xa0\\xb5\\x34\\x97\\x0d\\x95\\xcf\\x14\\x23\\xab\\xd2\\x76\\x55\\xbb\\xc5\\xb5\\x47\\x74\\x81\\xba\\x02\\xb5\\xbb\\x14\\x71\\xd5\\xac\\x94\\xc7\\x0f\\x80\\x15\\x3f\\xf3\\x36\\xb0\\x41\\x37\\x8a\\x9b\\x58\\xa4\\x5f\\xcd\\x1a\\x8d\\xc1\\x88\\x37\\x1e\\x19\\xfc\\x9c\\xc5\\xc2\\x7a\\x1d\\x48\\x7e\\x29\\x96\\x8c\\xe1\\xc1\\x9c\\x09\\xcb\\xeb\\x82\\x35\\xdf\\x25\\xc5\\x6b\\x93\\x21\\x75\\xcb\\xe5\\x87\\x52\\xa1\\x64\\x05\\x4f\\x84\\x19\\x36\\xd4\\x35\\x5a\\x5d\\xef\\x32\\x79\\xad\\xaf\\x6f\\xbb\\x62\\x54\\x73\\xcb\\xc2\\x89\\x4d\\xb3\\x07\\x36\\xc7\\xdb\\xa8\\xa6\\x29\\x35\\x11\\xa5\\xf9\\x13\\x67\\x35\\x47\\x46\\xf4\\xed\\x5c\\x51\\x5e\\x56\\x2f\\xfa\\x70\\xdf\\xc3\\x18\\xb5\\x10\\xc9\\xad\\x1f\\xf4\\xa6\\x4a\\x3c\\x46\\x23\\x1a\\x7a\\xaf\\xd9\\xe5\\x42\\x6a\\x97\\x2e\\x33\\x19\\x3d\\x1e\\xa7\\x1b\\xb1\\xa0\\x13\\x4b\\x2e\\x97\\x17\\x1d\\x90\\xb5\\x12\\xa8\\x5e\\xc9\\x29\\xc8\\x44\\x89\\x0f\\x43\\x53\\xb2\\x4a\\xd3\\x44\\xd5\\x3c\\x98\\x3c\\xcd\\xa7\\xe9\\x9d\\x33\\xb8\\x7a\\x62\\x67\\x1b\\xf7\\xde\\x02\\xb1\\xc5\\xaf\\xb1\\xc7\\x67\\xcc\\x7d\\x19\\xc6\\x4a\\xdc\\xf5\\xf6\\xcb\\x57\\x4c\\x9e\\x58\\x09\\x4d\\xa4\\xa9\\x9f\\x5a\\x56\\x4c\\xbd\\x76\\x0f\\xf1\\x8f\\x4e\\xc7\\x39\\x94\\xd8\\x9f\\xa3\\x98\\xc5\\x8e\\xec\\x02\\xf2\\xdd\\xdc\\x38\\x39\\xad\\xcf\\x6f\\x2e\\x2d\\x05\\x00\\xbf\\x96\\xc8\\x38\\x74\\x38\\xa8\\x35\\xfc\\x17\\xdf\\x0d\\xef\\x50\\xb3\\x92\\x07\\xc2\\xb2\\xeb\\xa6\\x78\\x6e\\x77\\x2c\\xbc\\xfb\\xac\\x57\\x17\\xde\\xbd\\xec\\x35\\x61\\x7b\\x62\\x52\\xf9\\xf3\\xee\\xa7\\x13\\x63\\x03\\xcf\\x3b\\x99\\xcb\\xee\\x12\\xde\\xda\\x0a\\xf9\\x7b\\xa0\\xf7\\xce\\x1f\\xff\\xb2\\xef\\x9e\\xeb\\x27\\x5d\\x40\\x7d\\xb9\\xe7\\x9e\\x4d\\x13\\x36\\x91\\x35\\x8a\\x5a\\x66\\x2c\\xfc\\x0f\\x7b\\x94\\x9c\\xfd\\xe8\\x07\\x0b\\x53\\xe6\\x52\\xbf\\xdf\\x4c\\x6b\\xb5\\xc8\\x2e\\x95\\x95\\x92\\xd4\\x9d\\xce\\x27\\x32\\x5c\\xca\\x63\\x30\\x20\\xe6\\x75\\xa6\\x2a\\x32\\x66\\x43\\xdc\\xb0\\xc1\\xb0\\xc5\\x70\\xa7\\xe1\\x59\\xc3\\x7b\\x86\\xac\\x41\\x63\\x36\\x04\\x0c\\x3d\\x86\\x41\\xc3\\x5e\\xc3\\x11\\xc3\\x31\\x03\\x6f\\x00\\xf1\\x81\\xd5\\x31\\x60\\xf1\\x1c\\x28\\x3d\\xac\\x3e\\x07\\x4f\\xda\\xd4\\xac\\x3a\\xf4\\x91\\x55\\x7d\\x4f\\xd0\\x2d\\x09\\xbb\\x13\\x5e\\x57\\x97\\x1a\\x59\\x5b\\xdb\\xd3\\x3d\\xf4\\x9e\\xf4\\xe5\\xe3\\xa3\\xdf\\xf4\\xb0\\x74\\xaa\\xae\\xae\\xbb\\xab\\xbe\\xbe\\xe7\\x69\\xfc\\x25\\x15\\xab\\xef\\x81\\x2b\\xc3\\xc2\\x75\\xc1\\x61\\xdb\\xef\\xf5\\x78\\x68\\xb3\\xd3\\xa9\\x45\\x73\\xff\\xff\\x43\\xfb\\xe9\\x53\\xb4\\x3f\\xd8\\x62\\x4f\\x38\\xe9\\x33\\xeb\\xba\\x7b\\x6a\\x6b\\x47\\xa6\\xe0\\xef\\x71\\x33\\xd1\\x17\\xe1\\xac\\x9e\\x6f\\x8e\\xb2\\x74\\x4f\\x7d\\x7d\\x57\\x4f\\x6d\\x5d\\xea\\xe9\\x9e\\xfa\\xda\\x1e\\xfc\\x25\\x08\\xd7\\x86\\x85\\x1b\\xf1\\xfb\\x5e\\x43\\xc2\\x98\\xec\\x93\\xd9\\x27\\x51\\xbc\\xdf\\x90\\x72\\x6a\\x22\\x11\\x1b\\xf0\\xf9\\x5c\\x41\\xa3\\xd1\\x15\\xa3\\x69\\x97\\xab\\xde\\x81\\x8c\\x51\\xfc\\x70\\x8e\\x4b\\xad\\xaa\\x50\\x89\\xc6\\x5e\\x62\\x37\\xd5\\xd2\\x8c\\xf3\\xc3\\xe0\\xdf\\xc8\\xf5\\x6a\\x91\\xf5\\xb8\\xd3\\x51\\x46\\x89\\xbf\\xdd\\x13\\xa6\\xcd\\xb3\\x7b\\xec\\x26\\x9b\\xc9\\x86\\x78\\xce\\x55\\x5f\\xd5\\x58\\xdd\\x86\\xfe\\x36\\xdb\\xcc\\xce\\x12\\x67\\x5a\\x18\\x43\\x45\\xc3\\x76\\x97\\x59\\xc7\\xf1\\x5a\\xbd\\xdd\\x6a\\x71\\xd9\\x4c\\x5a\\xa3\\xb5\\xd3\\x19\\x0e\\xd9\\x4b\\x6c\\x46\\x74\\xd1\\x68\\xb7\\x59\\x5d\\x16\\x03\\x67\\x67\\xb1\\xac\\x09\\x1f\\x33\\x33\\xe1\\x61\\xf6\\x52\\x64\\xc8\\x7b\\x52\\x51\\x14\\xe8\\x39\\x81\\xc3\\x81\\x47\\x90\\xd2\\xd2\\x38\\x1b\\xe8\\x96\\xcc\\x06\\x92\\x20\\x9f\\xc6\\xa7\\xfa\\xed\\x45\\x96\\xed\\x18\\xcf\\xf2\\xe2\\x88\\x7a\\x2c\\x07\\x06\\x17\\x0c\\xc8\\xf9\\xe0\\xf0\\xf6\\x67\\xc4\\xb8\\x72\\xde\\x41\\xfc\\x1c\\x90\\xea\\x80\\xf0\\xf1\\x35\\xf1\\xc5\\xbd\\xe3\\x06\\x6a\\x9e\\xe2\\xe7\\x33\\xe7\\x55\\xcf\\x3a\\x7d\\xfd\\x84\\xa5\\x8c\\x10\\xad\\x6b\\x08\\xbf\\x16\\x6b\\xbc\\x36\\xd6\\x12\\x23\\x6d\\x78\\x9a\\x79\\x1e\\xf6\\xb1\\x6f\\x20\\x69\\x0e\\xa6\\x8c\\x66\\x2e\\xc0\\xc5\\x39\\x5a\\x4b\\x73\\x14\\x45\\xef\\x87\\x13\\x1e\\xce\\x50\\x20\\x2e\\xd7\\x86\\x15\\x50\\xb0\\x25\\x98\\x4c\\xc0\\xbe\\xfb\\x85\\x20\\xbc\\xfe\\xd9\\x0e\\xf6\\xc1\\xcf\\x37\\xdd\\x90\\x47\\xa3\\xe4\\x61\\x88\\x34\\xda\\x84\\x94\\x2e\\x83\\x9f\\x52\\xc7\\x19\\x9a\\x81\\x20\\xfe\\xea\\x40\\x0c\\x9f\\xc2\\x13\\x6d\\x49\\xb8\\x83\\xb0\\x4f\\x08\\xde\\xdf\\xf1\\x3b\\xb8\\x85\\x79\\xfe\\xf3\\xea\\xc2\\xb2\\xf8\\xf0\\x21\\x52\\x96\\x0d\\xb0\\x71\\x96\\x66\\x95\\xb2\\xa1\\x28\\xaa\\xd8\\x0d\\xfb\\x3a\\x9e\\x15\\xd6\\xc0\\xf7\\xee\\x67\\x9e\\xbf\\x61\\xd3\\xe7\\x05\\x65\\x31\\x77\\x92\\xb2\\x62\\x17\\x38\\x1a\\xc4\\x0f\\x88\\xf5\\x22\\xd7\\x2d\\x89\\xeb\\x5d\\xfd\\xbb\\x8e\\xfb\\xe1\\x7b\\xec\\xd4\\x1b\\xaa\\xc5\\xb2\\xcf\\xa2\\xb2\\x6f\\x02\\x2d\\x88\\xa5\\x5c\\xac\\x46\\x43\\x6d\\xc9\\x90\\x6d\\x47\\x5a\\x5a\\x43\\xa7\\x68\\x7e\\x4b\\x06\\x22\\x0a\\x07\\xc5\\x43\\x9f\\xf1\\x5b\\x04\\xf8\\x79\\x3a\\x69\\x09\\x8b\\xfb\\x11\\xc6\\x8d\\xb9\\x4d\\x38\\xf1\\x40\\xc7\\x6d\\x90\\x7f\\x80\\x79\\xfe\\xbc\\xf5\\x5f\\x56\\xa3\\x4f\\x21\\x5d\\x0d\\xc7\\x61\\xba\\xa8\\x49\\x88\\x2e\\x07\\x53\\x10\\xd1\\xc5\\x23\\x52\\x4c\\x97\\x0f\\xe3\\x66\\xb2\\x78\\x70\\x1f\\x10\\x4e\\xdc\\xd6\\xf1\\x00\\xe4\\x6f\\x43\\xe3\\xfb\\xe5\\xfa\\xf3\\xaa\\xd1\\x07\\xe9\\x65\\x83\\x30\\x06\\xfc\\x2b\\x7b\\x14\\xf1\\x4a\\x30\\x65\\xb2\\xda\\xed\\x8c\\xde\\x62\\x31\\xe9\\x00\\xcf\\xb3\\x8c\\x78\\x6e\\x6a\\xd3\\x61\\x62\\x7c\\xf1\\xf3\\x2d\\x77\\x37\\xc4\\x6f\\x7d\\x88\\x9b\\xfb\\xe5\\xb4\\x8f\\xd5\\xb5\\x8b\\xaa\\xdc\\xc1\\x1a\\xb7\\xbb\\xd7\\x5d\\xd9\\xc1\\x09\\x7f\\xe3\\x3a\\x9a\\x93\\xdc\\x07\\x17\\x57\\xc7\\x7f\\x3b\\xce\\xa1\\xff\\xb3\\x2e\\x1c\\xd6\\xc1\\xb0\\x2e\\x42\\x6c\\xc0\\xcf\\xe8\\x2c\\xb8\\x92\\xdd\\x03\\x34\\xc0\\xf2\\x38\\x4d\\xa1\\x2a\\x50\\x93\\x0f\\x4b\\xbb\\x08\\x42\\xd1\\x96\\x64\\xc2\\xc9\\xbb\\xaf\\xf4\\x7e\\xf3\\x8d\\xf7\\xca\\x2b\\xe9\\xec\\xc6\\x7d\\x1b\\xba\\xb7\\xdd\\x8a\\x6d\\xa0\\x70\\xbd\\x30\\x06\\xae\\xc9\\xfe\\x0b\\x95\\xb3\\x02\\x7f\\xca\\xc0\\xb1\\xd0\\x60\\xd5\\x41\\xc6\\x6c\\xd6\\x30\\x98\\x40\\xdc\\xd6\\x8e\\x53\\x65\\x8a\\xc9\\xfe\\xf0\\x28\\x3a\\xf9\\x10\\x74\\x63\\x6a\\x88\\xa8\\x70\\xfd\\x95\\x84\\x24\\x5c\\x7b\\xeb\\xb6\\xee\\x0d\\xfb\\x36\\x0a\\x9b\\xc4\\xdf\\xb0\\x5f\\xbc\\x8e\\x73\\x28\\x6d\\x15\\xfa\\x59\\x8a\\x1d\\x67\\x8b\\x80\\x4a\\x00\\x2c\\x3c\\xf5\\x29\\xb5\\x5d\\x7a\\xf7\\xaa\\x9f\\x3e\\x42\\x1f\\x40\\xd7\\xfb\\xa4\\xeb\\x73\\x48\\xce\\xa5\\x2f\\xb3\\x3f\\xb0\\x3a\\xee\\x1b\\x74\\x3d\\x8c\\x5f\\xd1\\xa6\\x6e\\x83\\xbb\\xe0\\x64\\xa0\\x79\\x94\\xae\\x67\\x23\\x20\\xd6\\x42\\xca\\x7a\\x49\\xbe\\xa1\\x5d\\x08\\x33\\x9a\\x94\\xbd\\x0d\\xce\\x10\\xcb\\x0a\\x2b\\x59\\x1d\\xdb\\x25\\x96\\x45\\xd7\\x3f\\xa6\\xb6\\x88\\x78\\x61\\x25\\xde\\xb7\\xa4\\xe0\\x3f\\x86\\xaf\\x49\\xf8\\x63\\x79\\xf8\\x2d\\xf0\\x41\\x09\\x7f\\x2c\\x0f\\xbf\\x05\\x3f\\xad\\xc4\\x79\\xe8\\x85\\x29\\xec\\x99\\xdc\\x3b\\xe8\\x3a\\x1a\\x73\\x4b\\x14\\xac\\x83\\xdf\\xc1\\xc9\\x56\\x1e\\x5c\\x00\\x8f\\xa0\\xb1\\xd4\\x3c\\x0a\\x2b\\x73\\x6d\\x2c\\x13\\xa6\\xd0\\x07\\xd9\\x2d\\x08\\x3b\\x46\\xc4\\x82\\x0f\\x30\\x2d\\x70\\x01\\xb8\\x81\\xd4\\xfd\\x75\\xf6\\x47\\xf6\\x16\\xd2\\xcf\\xa8\\xd4\\xcf\\xfd\\xa4\\x9f\\x54\\x30\\x47\\x03\\xe7\\x13\\x2a\\x21\\xfd\\x1c\\x8b\\xca\\x72\\xd4\\x6d\\xf7\\x89\\xb9\\xaa\\xbe\\x46\\xfd\\xbc\\x85\\xb4\\x3b\\x2a\\xf5\\xf3\\x29\\x69\\x4c\\x57\\xe2\\x3d\\x4a\\x12\\x1e\\xf7\\xf3\\xcf\\x12\\xfe\\x58\\x1e\\x7e\\x0b\\x7c\\x5f\\xc2\\x1f\\xcb\\xc3\\x4b\\xfd\\xcc\\x7e\\x3d\\xf4\\xaf\\x3c\\xfc\\x67\\x34\\x14\\xf1\\x43\\xff\\xca\\xc3\\x7f\\x46\\xcd\\x92\\xe8\\xf7\\xe7\\xe1\\x8f\\xd1\\x41\\x79\\x8e\\xf3\\xf0\\xc7\\x28\\xa9\\xef\\x00\\x30\\x27\\xf8\\x20\\xba\\x5e\\x85\\xfb\\xae\\x7d\\x81\\x46\\x74\\x80\\xee\\x31\\x0a\\x86\\x49\\xe7\\x5b\\x50\\xd9\\x86\\xec\\x17\\xf4\\x1d\\xdc\\x79\\x08\\x33\\x0e\\x8f\\x1f\\x75\\x2d\\xd8\\x92\\xfd\\x10\\x8d\\x5f\\x2f\\x18\\x04\\x9f\\x0c\\x43\\xe3\\xc5\\x53\\xd0\\xd8\\x31\\x0c\\x8d\\x75\\xe0\\x19\\x91\\x06\\x6a\\xdf\\x09\\xd2\\xee\\x2a\\xa9\\xdd\\x2e\\xd2\\x6e\\x0d\\xe2\\xcd\\x85\\xf4\\x4b\\x52\\x39\\xdc\\xee\\x19\\x52\\x3f\\x97\\xe6\\xe1\\xbf\\xa1\\x3e\\x22\\xd7\\xff\\x2d\\x2c\\xcd\\xc3\\x7f\\x43\\x79\\x25\\xfc\\x14\\xe6\\x04\\x77\\xcc\\x22\\xe2\\xa3\\x88\\x4f\\x7e\\x45\\xe6\\x7a\\x1b\\x5c\\x21\\xce\\x75\\x3c\\x37\\xd7\\x0d\\x88\\x5f\\xb6\\xb3\\x3b\\xe4\\xb6\\x22\\x3e\\x79\\x81\\xd0\\xda\\x06\\xae\\x26\\xb4\\x04\\x00\\xd8\\x66\\xc2\\x2f\\xd5\\x12\\xbf\\xac\\x23\\x34\\x60\\x45\\x8e\\x06\\xde\\x97\\x35\\x83\\xc7\\xed\\x1b\\x2f\\x62\\xc0\\xdb\\xf0\\x56\\x8c\\x09\\x52\\x0a\\x66\\x4c\\xf6\\x0b\\x76\\x1f\\x77\\x3a\\xc2\\xd4\\x10\\xcc\\xb5\\x94\\x46\\xa4\\x93\\xe3\\x5d\\x31\\xe7\\x00\\xeb\\x44\\x98\\x7e\\x11\\x03\\x1e\\x23\\xfc\\x4d\\xc5\\xad\\x0a\\x06\\x8d\\x3f\\x77\\x36\\x69\\x4f\\x4c\\xac\\x8b\\x62\\x45\\x3a\\xe1\\x5c\\x7b\\x50\\xaf\\x19\\x23\\xf7\\x23\\xc2\\x4c\\x90\\xda\\xdc\\x07\\xe7\\x10\\x0c\\x95\\xa3\\x23\\xac\\xe4\\xce\\x26\\x63\\x1a\\x93\\x78\\xf9\\x03\\xb1\\x2c\\xe2\\x65\\x23\\xe1\\x9d\\x09\\xd2\\x75\\x93\\xaa\\xde\\xdd\\x72\\xbd\\x60\\x39\\x05\\x50\\xbd\\x78\\xde\\xab\\x94\\x79\\xc7\\xf5\\x86\\xb8\\x6f\\xe5\\x7a\\xc1\\x72\\x58\\x8b\\xc6\\x81\\x60\\x28\\x09\\x83\\xe7\\x46\\x55\\x2f\\x07\\x2e\\x38\\x53\\x94\\xad\\x47\\xd1\\x9c\\xe5\\xea\\x45\\xd7\\x3f\\x97\\x65\\xae\\x3f\\xaf\\x9d\\xc7\\xe9\\x72\\xa9\\x9d\\xfd\\x79\\xed\\x3c\\x4e\\x35\\x10\\xfc\\x06\\xc4\\x13\\xb3\\x09\\xbe\\x56\\xe4\\x09\\xb8\\x8b\\x5c\\x6f\\x17\\x96\\x52\\x0d\\x04\\x3f\\x51\\xba\\xbe\\x80\\x5c\\xff\\x02\\x39\\x73\\xb3\\xf9\\x72\\x11\\x8f\\xf8\\x39\\x4e\\xa1\\xc0\\x00\\x18\\x90\\x2e\\x87\\x1e\\xb1\\x63\\xe2\\x98\\xc6\\x91\\xd2\\x3e\\xc9\\xdd\\x8c\\x70\\xdf\\xa2\\xf2\\x11\\xb0\\x7c\\xdf\\xb3\\x56\\xcc\\xd1\\x6e\\xc8\\x00\\xd3\\x93\\x14\\xb4\\xa5\\xac\\xf6\\x71\\x36\\x60\\x8d\\xb5\\x28\\xf3\\xc4\\xbe\\x4c\\x74\\x56\\x3d\\x19\\x8b\\x75\\xf0\\x9f\\xe2\\x3c\\x05\\x72\\xf3\\xe4\\x43\\x75\\x1f\\xe7\\xa3\\x08\\x33\\x59\\xc4\\x80\\x3f\\x23\\x4e\\x45\\x98\\x92\\xbc\\x79\\x62\\x5f\\x26\\xfd\\xa9\\x97\\xe6\\xe3\\x35\\xb1\\x2c\\xd2\\xad\\xc7\\x49\\x7f\\x26\\x4b\\x3a\\x47\\xd2\\x21\\xc2\\xf1\\x3c\\xfc\\xb7\\x74\\x8d\\x84\\x3f\\x9e\\x87\\xff\\x96\\x9a\\x2c\\xd3\\x67\\xae\\x22\\xf8\\xb8\\x44\\x7f\\x05\\xb9\\xfe\\x83\\xb0\\x12\\xef\\xb5\\x42\\xd7\\xd3\\xe2\\x75\\xf0\\x51\\x0e\\x4f\\xf8\\x38\\x2e\\xca\\x36\\x1c\\x8b\\x75\\xb1\\x58\\x0e\\xb7\\xdd\\x9a\\xe3\\x67\\x44\\x83\\x76\\x70\\x0f\\x49\\x34\\xb0\\x1e\\x60\\xe1\\xaf\\xac\\x12\\x2d\\x8c\\xd5\\xa8\\xfb\\x79\\x3c\\xaf\\x1d\\xdf\\x52\\xbf\\x21\\xd7\\x97\\x0b\\xc7\\xf3\\xda\\xf1\\x2d\\x9c\\x28\\xf3\\x45\\x1e\\xfe\\x98\\xa4\\x13\\xba\\x84\\xfe\\x3c\\xfc\\x31\\x78\\x0d\\xb9\\xfe\\x31\\x00\\xfc\\x2c\\x32\\x1f\\x0d\\xe2\\x58\\x53\\x0f\\x89\\xf3\\x51\\x96\\x9b\\x0f\\xa4\\x45\\xd9\\x37\\x89\\xed\\x98\\x22\\x61\\x46\\x88\\xed\\x6c\\xc8\\xc9\\x9f\\x48\\xe7\\x1b\\x99\\x0e\\x92\\xbf\\x39\\x45\\xfa\\x40\\xa4\\xb3\\x4b\\xa6\\x83\\xe4\\xef\\x8f\\x22\\x9d\\x66\\x15\\x1d\\x61\\x25\\x3f\\x8b\\xb4\\xbf\\x41\\x1a\\xf7\\xef\\xc4\\xb2\\x68\\xbe\\xdf\\x24\\x3a\\x6d\\x8a\\x74\\xfd\\x33\\xd1\\x66\\x22\\xf9\\x63\\x48\\xbd\\x8d\\x12\\xcd\\x43\\x62\\xbd\\xfe\\x5c\\xbd\\x68\\xa6\\x19\\x33\\xa9\\x77\\xaa\\xa4\\x87\\xfe\\x21\\xd6\\x1b\\xca\\xd5\\x8b\\x6c\\x35\\xc7\\x90\\x7a\\x1b\\x25\\xfa\\xbf\\x16\\xcb\\xa2\\x79\\x35\\x93\\x7a\\xa7\\x4a\\xd7\\x19\\x09\\x7f\\x3c\\x0f\\xff\\x2d\\xf5\\xb9\\x84\\x3f\\x9e\\x87\\xff\\x96\\x9a\\x2b\\xe1\\xfb\\xf3\\xf0\\xc7\\xe8\\x80\\x84\\xef\\xcf\\xc3\\x1f\\xa3\\xee\\x22\\xd7\\xfb\\x91\\x5e\\xbc\\x8e\\xd8\\x93\\x26\\x22\\x7f\\x07\\xe8\\x87\\x89\\x3d\\xa1\\xa9\\xa8\\xa2\\x57\\xca\\x91\\x3d\\xf9\\x27\\xf7\\x21\\xc2\\x4c\\x23\\x7c\\x74\\x07\\x78\\x38\\xfb\\x12\\x91\\x29\\x0a\\x79\\x20\\x48\\xbf\\x1c\\xf1\\x42\\x2f\\xb0\\x0e\\xb4\\x28\\xf4\\xca\\x15\\x7a\\x2f\\xd1\\xf8\\x05\\x5a\\xc3\\xe3\\x8c\\x42\\x50\\x1c\\x2b\\x4c\\xf3\\x2d\\xee\\x4a\\x15\\xcd\\xed\\x84\\xe6\\x72\\xf0\\x21\\x8a\\x86\\x63\\x29\\x1f\\x43\\x6f\\x69\\x84\\x8d\\x29\\x60\\x1f\\xd7\\x48\\x3d\\xe7\\x85\\x1b\\xbd\\x70\\x95\\x17\\x02\\x2f\\x94\\xea\\x5a\\x8d\\xfe\\xb5\\x58\\x63\\x03\\x98\\xdc\\x70\\xfd\\x78\\x81\\x7e\\x74\\xd8\\x7e\\xfc\\x86\\x5b\\xa7\\xd4\\x79\\x2d\\x78\\x40\\xb2\\xad\\x97\\x82\\x4f\\x87\\xa1\\xf1\\xe2\\xff\\x81\\xc6\\x3a\\xf0\\x0a\\xa6\\x81\\xad\\x11\\x73\\x9c\\xf0\\x79\\x42\\xd2\\x3b\\xa7\\x8b\\x36\\x2f\\xa7\\x77\\xc4\\xbd\\x6b\\x84\\xcf\\xa7\\x4b\\x7a\\xe7\\x0d\\xd1\\xce\\xd4\\xe4\\xf8\\x44\\xa4\\xf3\\x8d\\x4c\\x07\\xf1\\xdb\\x46\\x91\\x4e\\xa8\\x90\\xce\\x2e\\x99\\x0e\\xe2\\xb7\\x27\\x44\\x3a\\xf5\\x39\\x3a\\x43\\x48\\x16\\x34\\x84\\x4e\\x8b\\x44\\x67\\x9b\\x48\\xa7\\x2a\\x8f\\x6f\\xe9\\x5a\\x42\\x67\\x26\\xc2\\x20\\x7f\\x6b\\x0a\\xe1\\x5a\\x2f\\xa1\\x82\\x69\\x20\\x99\\xd0\\x10\\x9e\\x6a\\x91\\x78\\xf3\\x3e\\x42\\xfb\\x3b\\xa4\\x5f\\x6a\\x09\\x4f\\xcd\\x94\\x74\\xd4\\xbb\\x62\\x9d\\x18\\x4f\\x74\\x54\\x0b\\x19\\x23\\x82\\xc7\\xf6\\x14\\xde\\x50\\xe8\\xd3\\x12\\x1a\\x33\\x88\\xcd\\x9d\\x29\\x62\\x31\\x0d\\xe4\\xf3\\x5d\\x3b\\x1a\\x48\\xb4\\x8e\\xe7\\xd5\\xfd\\x2d\\xf5\\x1f\\x72\\x7d\\x0f\\xd2\\xa7\\xea\\xba\\xbf\\x85\\xc4\\xc7\\x02\\x61\\xe4\\x3b\\xfa\\x49\\x7f\\x5b\\xa5\\xfe\\x9a\\x44\\x39\\x6d\\xc9\\xd5\\xf9\\xaf\\xec\\x17\\xd4\\xbb\\xa4\\xbf\\xb3\\xc4\\xfe\\x86\\x48\\x7f\\x9b\\xa4\\xfe\\x82\\x30\\x92\\x45\\x3f\\x3b\\x51\\xa4\\x41\\xfa\\x6b\\x15\\xcb\\x21\\x9d\\xfc\\x2e\\xa9\\x73\\x96\\xa4\\xf3\\x17\\x2b\\x75\\x8e\\x25\\x3c\\x4f\\xea\\xd4\\x1e\\xa4\\x8e\\x4b\\x3e\\x59\\x97\\xcc\\x37\\xb8\\x4e\\xba\\x86\\xbd\\x5d\\xaa\\x13\\x61\\xe0\\x9f\\x84\\x8b\\x08\\x66\\x84\\x55\\xe6\\x2d\\x4c\\xa7\\x5a\\x45\\xe7\\xf7\\xd4\\x57\\x12\\x9d\\x78\\x1e\\x9d\\x5a\\xf6\\x3b\\x85\\xce\\xef\\xe1\\xd7\\xc2\\x9f\\x09\\xa6\\x36\\x47\\x07\\xb7\\x5f\\x1e\\x03\\x34\\xa6\\x64\\x0c\\xac\\x52\\x3f\\x0a\\xc7\\x02\\xf7\\x49\\x1e\\x0b\\x4b\\x04\\x8f\\x85\\xdc\\x33\\xd2\\xb7\\x5f\\x22\\xfe\\x89\\x10\\x5a\\x49\\x69\\x3c\\x67\\x14\\xd9\\xd1\\x6e\\x9c\\x8f\\x8b\\x9b\\x8f\\x30\\xb3\\xc5\\xb8\\x04\\x71\\xdd\\x7e\\x5c\\x16\\xf1\\x41\\x84\\xcc\\x5d\\x52\\x1a\\xc7\\x6e\\x11\\x8f\\xea\\x5c\\xc1\\x5c\\xaa\\xe0\\x3f\\x86\\x8d\\x62\\x5d\\x68\\xae\\xd5\\xf8\\x6f\\xa9\\xeb\\x49\\x1b\\x6f\\x41\\x36\\x48\\x8d\\xff\\x16\\xfe\\x8c\\xe0\\x37\\x21\\xff\\x5b\\x8d\\x3f\\x26\\xda\\xe6\\xec\\x0a\\x64\\x83\\xd4\\xf8\\x63\\x70\\x3f\\xc1\\xdf\\x27\\xac\\xe7\\x02\\x04\\xdf\\x46\\xae\\x7f\\x22\\xf9\\x32\\x13\\x84\\xf5\\x4c\\x03\\xfd\\x20\\xba\\x3e\\x47\\xbc\\x8e\\x8f\\xba\\x24\\xf8\\xa5\\x79\\xf8\\x6f\\x24\\x5b\\x3e\\x01\\xf9\\xc3\\x6a\\xfc\\x37\\xd4\\x66\\x09\\xdf\\x9f\\x87\\x3f\\x46\\x4f\\x93\\xf0\\xfd\\x79\\xf8\\x63\\xd4\\x93\\x22\\x3e\\xfb\\x25\\x17\\x20\\xfa\\xa6\\x4d\\xd2\\xbd\\xdf\\x4a\\xf3\\x1d\\x51\\xf4\\xcd\\x84\\xec\\x67\\xcc\\x48\\xa2\\x7b\\xe7\\x48\\x7a\\xf2\\xad\\xec\\x4b\\x58\\xdf\\xc0\\x01\\x38\\x43\\xa1\\x51\\xae\\xd0\\x78\\x99\\x3e\\x42\\xf4\\x2d\\xf2\\x9f\\xda\\xd4\\xfa\\x16\\xd3\\x69\\xe0\\x4c\\x32\\x1d\\xa4\\x67\\x4f\\x80\\xc7\\x88\\x8f\\x7b\\x34\\x7b\\x04\\x04\\x52\\x76\\xfa\\xae\\x26\\x78\\x43\\x13\\x6c\\xa2\\xe0\\x91\\x52\\x58\\x9a\\xd2\\x5a\\xc6\\x95\\x22\\x6f\\x6a\\x75\\x4b\\x8b\\x75\\x60\\x40\\xd2\\xb1\\xe7\\x67\\xff\\xce\\xfe\\x9d\\x7b\\x1e\\xd1\\x68\\x27\\xbc\\x70\\x07\\xbc\\x4b\\xe4\\x05\\x73\\x8e\\x17\\xec\\x88\\x3f\\x1f\\x63\\xd7\\x22\\x4c\\x86\\xc8\\xd6\\x1d\\x17\\x12\\x8e\\x73\\xca\\xb2\\x75\\x3e\\xe2\\x89\\xbf\\x93\\x31\\x6a\\x97\\x78\\xe2\\x02\\xb1\\x1c\\xd2\\x03\\x77\\xd2\\x0f\\x89\\xe5\\x08\\x4f\\x5c\\x47\\xae\\x5f\\x97\\xfd\\x3b\\xff\\x4b\\xa2\\x4f\\x47\\x10\\x5d\\xd9\\x4b\\xec\\xbd\\xf3\\x31\\xe8\\x64\\x23\\x70\\x7f\\xf6\\x87\\xc7\\x5c\\x25\\x9c\\x2d\\x0c\\x51\\xed\\xe8\\x7f\\xac\\x4f\\x90\\x0e\\x4f\\x13\\xdd\\x3a\\xf7\\x1b\\x82\\x27\\x2f\\x0c\\xd9\\x53\\x7a\\x58\\x6a\\x8d\\xc0\\x2e\\x6f\\x99\\x85\\x97\\xd1\\xc3\\xd2\\x5f\\x47\\x3d\\x82\\xe8\\x63\\x3c\\xae\\xe0\\x46\\xa7\\x27\\x47\\x1d\\x0c\\x47\\x7f\\x1d\\x8e\\x9d\\x15\\xfa\\x27\\x4b\\xfd\\xc3\\xd2\\xdf\\xad\\xd0\\x5f\\x4e\\x5d\\x86\\xe8\\xbb\\x53\\x46\\x0a\\x57\\x40\\xc1\\xee\\xca\\x32\\xb1\\x06\\x5c\\x24\\xaf\\x8e\\xb9\\x4a\\x1d\\xcb\\xe1\\x24\\x74\\x83\\x94\\x41\\x95\\x50\\xf0\\xfc\\xea\\x90\\x58\\x4b\\xae\\x8c\\x54\\xcf\\x37\\x72\\x3d\\xc8\\x2f\\xda\\x5d\\xe4\\x5f\\x51\\x88\\xee\\x00\\x91\\xf5\\xb9\\x92\\x2c\\x2f\\x2b\\xf4\\x4f\\xc0\\x75\\xc8\\x2f\\xfa\\x25\\x99\\x9f\\x11\\xe2\\x3c\\xd0\\x37\\x89\\x65\\xd1\\xbc\\x0d\\x10\\x1e\\x9e\\x2b\\xcd\\x1b\\x99\\x9f\\xec\\x61\\xa4\\x1f\\x36\\x92\\x7a\\x3b\\x24\\x9a\\x37\\x16\\xc6\\x43\\xd9\\x4f\\x91\\x7d\\xf9\\x23\\xa9\\x77\\x9e\\x64\\xa7\\x76\\x8b\\xf5\\xaa\\xe2\\x2a\\x91\\xce\\x6e\\x99\\x0e\\xea\\xf3\\x55\\x85\\xf1\\x8d\\x44\\x67\\xae\\x4c\\x07\\xf1\\xf0\\x2f\\x24\\x79\\x69\\x52\\x74\\xdf\\x99\\x4a\\x7b\\x3a\\xa5\\xf6\\x5c\\x5a\\x38\\x0e\\xd9\\x84\\x30\\x86\\xbe\\x99\\xb4\\x67\\xbe\\xd4\\x9e\\xcb\\xc4\\xf6\\xd4\\xe6\\xda\\x73\\x12\\xd9\\xdf\\xbd\\x84\\x4e\\x17\\xc1\\x5c\\x0d\\xeb\\x45\\x3a\\xbe\\x1c\\x1d\\x9c\\x93\\xaf\\x83\\xd0\\x19\\x20\\xbc\\x7e\\x75\\x27\\xa1\\xe2\\x93\\xed\\xe6\\x49\\xa4\\x87\\xf7\\x92\\xb1\\xec\\x92\\xc6\\x4c\\x5c\\x37\\x38\\x88\\x78\\xdd\\x49\\xc6\\x72\\x40\\xe2\\xf5\\xf3\\xc4\\x3a\\x91\\x4f\\xa7\\xc6\\x7f\\x8b\\xa4\\x53\\xc4\\x1f\\xcf\\xc3\\x7f\\x0b\\xef\\x97\\x62\\xb0\\xe3\\x79\\x31\\xd8\\xb7\\xd4\\x7c\\x45\\x1f\\x7f\\xc4\\x7e\\x22\\xeb\\x3f\\xb0\\x1c\\x79\\xaf\\x3f\\x57\\xe6\\xff\\x90\\x32\\xff\\xb7\\xc3\\x84\\x34\\x7e\\xa5\\xf2\\xf8\\x49\\x63\\x73\\x48\\x1a\\x1b\\x8e\\xba\\x7d\\xb5\\x88\\x10\\x59\\x44\\x5e\\x9f\\xf9\\x9c\\x3e\\x42\\x30\\x7d\\x84\\xce\\x46\\xf0\\x49\\xa1\\xff\\x22\\xc5\\xe4\\x9d\\xb6\\x08\\x1c\\x29\\x8d\\xf1\\xeb\\xf9\\xb1\\x15\\xde\\x47\\x9b\\xfd\\x17\\xbb\\x8b\\x9d\\x4a\\xf2\\xa9\\x78\\x28\\x7d\\x88\\x2e\\x77\\xba\\x5c\\xa5\\x25\\xe6\\xf2\\x72\\x6d\\xa4\\x24\\x52\\x5d\\x13\\x32\\xe8\\x0d\\xfa\\xfd\\xd0\\x95\\xf2\\x65\\xcc\\x06\\xa8\\xa7\\x0d\\x06\\x3f\\xf0\\xdb\\x16\\x66\\xfc\\x8c\\xbb\\x64\\x30\\xe3\\xb6\\x01\\x6e\\x61\\x06\\xd8\\x87\\xcb\\x45\\x25\\x6e\\xa4\\xca\\x7f\\x32\\x25\\xa5\\xcf\\x8e\\x26\\xa5\\xb7\\x2d\\x82\\x49\\xf9\\x94\\x42\\x9e\\xec\\xde\\x6f\\x05\\xc1\\x26\\xe5\\x00\\x5a\\x86\\xee\\x7e\\x62\\x99\\x65\\xec\\x19\\x9d\\xbf\\x7a\\x5c\\xd8\\xe6\\xb8\\xf7\\xa9\\x0b\\x16\\x9d\\x7f\\x5f\\x60\\x87\\x50\\x6f\\xdc\\xb7\\x29\\x06\\x27\\x43\\xdd\\x17\\xd0\\xf8\\xe8\\x2f\\x6e\\xfe\\xb5\\xf0\\x94\\x3e\\x39\\xe0\\x36\\xdf\\xb3\\xe9\\xdb\\xf3\\x77\\x5c\\x35\\xef\\xcc\\xbb\\xf7\\xfc\\x78\\x4e\\x7f\\x29\\xf5\\xcf\\x13\\x50\\x77\\xcf\\xf5\\x97\\x3d\\xe1\\x33\\xdf\\x7b\\xc5\\xd3\\xef\\x89\\x32\\xbd\\x15\\xc9\\x8f\\x7a\\x3d\\xf0\\x63\\xaa\\x4b\\x5e\\xbb\\xca\\x5b\\x0f\\xfc\\x18\\x7e\\x2a\\xe2\\x11\\x1f\\x53\\xdc\\xeb\\x22\\x1e\\xe9\\xf5\\x1f\\xe8\\x29\\xa2\\xdf\\xe6\\x57\\xaf\\x93\\xe1\\x79\\x58\\x2a\\xcf\\x83\\xf6\\x07\\x6a\\x7b\\xf6\\xc3\\x02\\x3f\\x12\\xd3\\xa9\\xe1\\x4b\\x14\\x3a\\x3f\\xd2\\x31\\x22\\x57\\xb4\\xb4\\xe0\\xd6\\x22\\xd2\\x61\\x96\\xe6\\xe6\\x53\\xfb\\x23\\xb5\\x4c\\xf2\\x7b\\xeb\\x15\\xbe\\x20\\xed\\x51\\xd1\\x19\\xa2\\xeb\\x86\\xa3\\xa3\\xe6\\x0b\\xed\\x10\\x75\\xda\\x29\\xe8\\x94\\x2a\\x74\\x04\\x85\\x8e\\x37\\xaf\\x3d\\x65\\xec\\x61\\x85\\x8e\\xa0\\xd0\\xa9\\x2a\\xa0\\xe3\\x56\\xe8\\x64\\x11\\x9d\\x68\\x31\\x1d\\xd4\\x9e\\xe3\\x0a\\x9d\\xec\\x70\\x74\\xf0\\xbc\\x10\\x39\\xaf\\x24\\xf6\\xf5\\x6a\\x78\\xb6\\xe4\\x2b\\x75\\x89\\x3c\\xed\\x55\\x8d\\x37\\x9e\\x2b\\x22\\xef\\x7d\\x22\\x16\\x3c\\x57\\x3c\\x67\\xb9\\x31\\xd2\\x01\\xa5\\x6f\\x25\\xa7\\x1a\\x23\\x1d\\x50\\xc6\\x3a\\x72\\xaa\\xb1\\xd6\\xc1\\xff\\x05\\x1d\\x78\\x4a\\x3a\\xca\\x58\\xeb\\x28\\x85\\x4e\\xa4\\x80\\x8e\\x32\\xd6\\x3a\\x4a\\xa1\\x93\\x28\\xa0\\x53\\xae\\xd0\\xa1\\x11\\x9d\\x06\\x82\\xa9\\x3e\\xd5\\x58\\xeb\\x68\\x85\\x4e\\x6b\\xc1\\x58\\x1f\\x53\\xc6\\x7a\\x1b\\x5c\\x99\\x3f\\xd6\\xf6\\xc2\\xb1\\xbe\\xdc\\x22\\x8f\\xf5\\x36\\x70\\x63\\xf6\\x03\\xd5\\x58\\xe3\\x75\\x10\\xf5\\x9a\\xe4\\xc7\\x08\\x21\\xae\\x27\\xae\\xcc\\x5b\\x93\\xfc\\x18\\xbe\\x94\\x5b\\x7b\\x25\\xf2\\x54\\x25\\xc9\\xd3\\x34\\x51\\x9f\\x47\\x54\\x6b\\x91\\xc8\\x77\\x59\\xc8\\x6e\\x12\\xcb\\x12\\x79\\x3a\\x4d\\x6c\\x57\\x6d\\xde\\xfa\\x1f\\xa2\\xf3\\xbc\\x4c\\x07\\xf9\\x40\\x57\\x14\\xda\\x05\\x42\\xe7\\x08\\xf1\\x81\\xc6\\x89\\x18\\xb0\\x55\\xa4\\x53\\x91\\x47\\x87\\xad\\x25\\x73\\x5c\\x25\\xc9\\x65\\x9d\\x64\\xef\\x6a\\xd4\\xeb\\xb8\\x92\\x5c\\x8e\\x2b\\x90\\xcb\\x06\\x65\\x4c\\xc5\\xf5\\xe0\\x1c\\x9d\\xa1\\xe1\\xe9\\xd0\\x17\\xab\\xe8\\x0c\\x9d\\x92\\x4e\\xa9\\x42\\x47\\x50\\xe8\\x54\\xe6\\xb5\\xa7\\x92\\xf0\\xca\\x38\\x49\\x2e\\x65\\x3a\\x35\\x05\\x74\\xba\\x15\\x3a\\xd9\\xe1\\xe9\\xd0\\x0f\\x13\\x5e\\x19\\x27\\xc9\\xe5\\x30\\x74\\xf0\\xfc\\x12\\xb9\\xac\\x92\\xe4\\xf2\\x1a\\x89\\x57\\xb6\\x15\\x3d\\x73\\xc0\\x73\\x7e\\x23\\x91\\xcb\\x71\\x92\\x5c\\xde\\x94\\x37\\xf7\\x64\\x8d\\x91\\xcc\\x7d\\xad\\x34\\xaf\\x93\\xc4\\x39\\x73\\xe5\\x68\\xe0\\xf5\\xc5\\xb1\\xec\\x19\\x16\\xb2\\xbe\\x88\\x31\\x70\\x4b\\xf6\\x03\\xe0\\x48\\x99\\x7d\\x29\\xbb\\x7d\\x9c\\x2f\\x65\\xb1\\xa0\\x1f\\x06\\xc3\\xb8\\x58\\x2c\\x26\\xd2\\x44\\x75\\xaa\\xd7\\x39\\x3f\\x86\\xe2\\xfa\\x4b\\x16\\xc5\\x36\\xea\\x75\\xce\\x8f\\xf1\\x1a\\x10\\x5e\\x5b\\x40\\xbc\\x7f\\x1d\\x89\\x29\\x9b\\x24\\x7e\\x15\\x9f\\x07\\x95\\x23\\x3a\\xbf\\x21\\xfc\\x3a\\x4d\\xa2\\xf3\\x42\\x6e\\x3d\\x83\\xb4\\xb9\\x49\\xe2\\xd7\\x1b\\x8a\\xe2\\x76\\xb2\\x16\\x41\\xf8\\x75\\x9a\\xd4\\xaf\\x9d\\x22\\x9f\\x85\\x73\\x76\\x18\\xd3\\xb9\\x85\\xf0\\x47\\x93\\xc4\\x67\\xbf\\x92\\x74\\x40\\xad\\x7a\\x4d\\x83\\x39\\x97\\xf0\\xc7\\x34\\x89\\xcf\\xce\\x93\\xe6\\xa3\\x5a\\xf1\\xab\\xc4\\xb5\\x91\\x1c\\x9d\\xa1\\xe1\\xe9\\xa0\\xf6\\xe4\\xe8\\x0c\\x9d\\x92\\x4e\\xa9\\x42\\x47\\x50\\xe8\\x44\\xf2\\xda\\xd3\\x48\\xf8\\x6c\\x9a\\xc4\\x67\\x32\\x9d\\x50\\x01\\x1d\\xb7\\x42\\x27\\x8b\\xe8\\x44\\x8b\\xe9\\xd0\\xbf\\x23\\x7c\\x36\\x4d\\xe2\\xb3\\x61\\xe8\\xe0\\x79\\x21\\x7c\\xd6\\x24\\xf1\\xd9\\x2b\\x12\\x9f\\x6d\\x17\\xc7\\x52\\xc5\\x67\\x64\\xae\\x08\\x9f\\x4d\\x93\\xf8\\xec\\xfe\\xc2\\x39\\xe3\\xae\\xc2\\xb1\\x04\\x3c\\x4d\\x5a\\xfb\\xf9\\x5c\\x9c\\xb3\\x96\\xbc\\x39\\x63\\xf6\\xe1\\xf8\\x01\\x9e\\x4e\\x7c\\xb3\\x75\\xe0\\xaf\\xc3\\x96\\xed\\x85\\x17\\xfd\\x97\\xb2\\x1c\\xe8\\x3d\\x0b\\xa8\\xca\\xbe\\x2e\\x97\\xcd\\xf1\\xca\\x88\\xc2\\xb2\\x9b\\xe4\\x7a\\x45\\x5e\\x51\\xca\\x3e\\x2f\\x97\\x45\\xfa\\xec\\x55\\xb1\\x6c\\x43\\x61\\xd9\\xb5\\x72\\x59\\xa4\\xcf\\x76\\xca\\x3c\\xcd\\x5d\\xc5\\xbe\\x2a\\x96\\xcd\\xe7\\x69\\x66\\x1f\\x73\\xb5\\x82\\x97\\xc7\\xe7\\x3e\\x84\\x57\\xc7\\xc7\\x1f\\x53\\x7f\\x93\\xe2\\xe3\\x95\\x79\\xf1\\xf1\\xc7\\x94\\x36\\x17\\x1f\\x13\\x19\\x68\\x93\\xfa\\x75\\x58\\x94\\xdb\\x68\\xae\\x6d\\x24\\xae\\x25\\x32\\x30\\x47\\x92\\x81\\x7b\\x25\\xfd\\x90\\x93\\x01\\x4c\\xe7\\x19\\x32\\xb6\\xab\\xa5\\x18\\xaf\\x5c\\xa4\\xd3\\x94\\x47\\x87\\x1d\\x4b\\xc6\\x76\\x8d\\x34\\x2f\\x3f\\x0c\\x5b\\xb6\\x17\\xde\\xf1\\x5f\\xcb\\xf6\\x82\\x67\\x55\\x65\\x5f\\x97\\xcb\\xe6\\xda\\xdf\\x5a\\x58\\x76\\x93\\x5c\\x56\\x6c\\xbf\\x52\\xf6\\x79\\xb9\\x2c\\x9a\\x97\\x0f\\xc4\\xb2\\x75\\x85\\x65\\xd7\\xca\\x65\\xd1\\xbc\\xfc\\x43\\x19\\xe7\\x67\\xc8\\xbc\\xac\\x2e\\x1c\\x67\\x76\\x2c\\x99\\x97\\x35\\x79\\xe3\\x2c\\xc6\\x4c\\xef\\xc8\\x31\\x13\\xea\\xe3\\x68\\x55\\x0c\\x4c\\xbb\\x4a\\x34\\xd6\\xbc\\x18\\x58\\x8c\\x11\\xb6\\xc8\\x31\\x02\\xe8\\x75\\x88\\x11\\x30\\x92\\x2a\\x78\\x7a\\x65\\x54\\x07\\x72\\xf1\\x38\\x38\\x13\\xd5\\xb9\\x91\\xcc\\x79\\xa7\\x54\\xe7\\x84\\x1c\\x0d\\x32\\xe7\\xf3\\xa5\\xeb\\x7b\\x55\\x6d\\x79\\x5d\\x6e\\x0b\\x1a\\xb3\\x70\\xe1\\x7a\\x93\\x54\\xff\\x26\\x39\\x7e\\x43\\x63\\x16\\x14\\xe7\\xbc\\x2e\\x37\\xe7\\x22\\x9d\\xe7\\x95\\x38\\xf0\\x0e\\x78\\x8b\\x48\\xc7\\x99\\x4f\\xe7\\x49\\x62\\xa7\\xc5\\x58\\xe7\\x8e\\x4b\\x54\\xd1\\x70\\x16\\x3f\\x6f\\xff\\x9c\\xb9\\x8a\\xdd\\x66\\x8b\\xd0\\x84\\x8f\\xf9\\x9b\\xa4\\xe7\\xe1\\x79\\xd7\\xad\\x3c\\x7f\\x18\\x1c\\x10\\x75\\x45\\xb5\\x55\\xf5\\xac\\x1e\\x63\\xee\\x55\\xca\\xee\\x90\\xf8\\x29\\xef\\x3a\\x2a\\xbb\\x07\\xbc\\x2c\\xe9\\xa4\\xb8\\xa2\\x93\\x0a\\x31\\x3b\\x21\\x23\\x61\\xba\\x4e\\x89\\xd9\\x0b\\x4e\\x0c\\x4f\\x87\\xdb\\xa3\\x60\\xee\\x56\\xea\\x9a\\x7c\\x4a\\xcc\\x3e\\x05\\x93\\xca\\xf7\\xff\\xd8\\x19\\xb2\\xff\\xc7\\xdf\\x94\\x1d\\x97\\xfd\\x0d\\xe0\\x1f\\xa1\\x7c\\x0c\\xe8\\x91\\x78\\xa2\\x10\\x73\\x38\\x1b\\x17\\x31\\x9e\\x1c\\x06\\x45\\xed\\xec\\x19\\xec\\x42\\x64\\x63\\x2b\\x17\\x63\\xcc\\x8e\\x2c\\x8f\\x30\\xda\\x47\\x69\\xaa\\x02\\x83\\xc8\\xfa\\xcd\\xe5\\x05\\x98\\x3d\\x0a\\x26\\xa0\\x60\\x12\\xa4\\xae\\x85\\x4a\\x5d\\x3b\\x87\\xa1\\x33\\xb5\\x00\\xb3\\x57\\x18\\x2a\\xa2\\x23\\xc6\\x58\\xd7\\x2a\\x98\\xbb\\xb3\\x03\\xd9\\x77\\x08\\x26\\x71\\x4a\\xcc\\xbe\\x6c\\xbb\\x84\\x89\\xcb\\x18\\xfc\\xbe\\x02\\xdd\\x4e\\xf8\\x61\\xa9\\x38\\x3e\\xe0\\x77\\x22\\x3f\\x76\\x5b\\x55\\xb1\\x5a\\x3e\\xe6\\x30\\xf6\\x51\\xf2\\x9f\\x6d\\x11\\xcc\\x04\\x32\\xa7\\x22\\x66\\x07\\xd8\\x28\\xc5\\xe7\\x7d\\xd6\\x9c\\x9f\\x9d\\x8f\\xd9\\xa3\\x60\\x5a\\xf3\\x30\\x0f\\xa8\\x30\\x3b\\xc1\\x3d\\xc3\\xd2\\x79\\x5c\\x85\\xd9\\xab\\x60\\x72\\x74\\x46\\xa1\\xbe\\x3f\\xcf\\x8e\\xb3\\x44\\x91\\x0f\\xf6\\xb2\\x34\\xf3\\xc9\\xec\\x1e\\x34\\xab\\x30\\x4c\\x66\\x55\\x92\\xb3\\x7c\\xcc\\xe1\\x6c\\x83\\x88\\x09\\xca\\x98\\x91\\x00\\xf0\\x53\\xd9\\x19\\x18\\x83\\xdf\\x76\\xb1\\x72\\xfc\\x8e\\x2f\\xf7\\xa0\\x31\\xa4\\x60\\x4c\\x19\\xc3\\x33\\x8b\\x30\\x7b\\x24\\x4c\\x95\\x82\\x29\\x29\\xc2\\xec\\x2c\\xa2\\x53\\x5c\\xd7\\xde\\x22\\x3a\\x35\\xc2\\x04\\x46\\x4f\\xe6\\xe2\\x4c\\x69\\xbe\\xb2\\x45\\xfa\\xa3\\x10\\x73\\x18\\x02\\x11\\x13\\x28\\xc4\\xdc\\xab\\x60\\x88\\x8c\\x93\\x31\\x54\\x62\\xa7\\x22\\xcc\\x1e\\x05\\x13\\xce\\xc3\\x54\\xa9\\x30\\x3b\\x61\\xc5\\xb0\\x74\\x1c\\x2a\\xcc\\x5e\\x49\\x27\\x14\\xd2\\x19\\x49\\x64\\xf9\\x4c\\x49\\xde\\x7f\\x28\\x9a\\xf7\\x42\\xcc\\x3e\\x05\\x93\\x9b\\x77\\xe4\\xe1\\xf2\\x2d\\x64\\x4e\\x63\\xca\\xbc\\x97\\x17\\xcf\\x7b\\x01\\xa6\\x78\\xde\\xf1\\x63\\x95\\x8d\\x64\\x2e\\x62\\x94\\x5d\\x9c\\xf7\\x23\\x85\\xf3\\x35\\xa1\\x08\\xb3\\xe7\\x48\\xc1\\x7c\\xe1\\xb5\\xb8\\x02\\xcc\\xce\\x22\\x3a\\xc5\\x75\\xed\\x2d\\xa4\\x03\\x56\\x61\\x0c\\x77\\xad\\x0a\\x73\\xf7\\xd0\\x3b\\x04\\xd3\\xf9\\x13\\x98\\x7d\\x12\\xa6\\x4d\\xc1\\x4c\\xce\\x7e\\x41\\xc5\\x08\\x6f\\x9c\\x45\\x10\\x37\\x7d\\x4e\\x38\\x23\\x28\\xdb\\x0d\\x7c\\xbf\\x4a\\x75\\xff\\xf0\\xd7\\xe4\\xbe\\x5d\\xbe\\x6f\\x47\\xf7\\x37\\x93\\xb9\\x14\\xef\\xef\\x78\\x56\\x9c\\x81\\xa8\\x6a\\x8d\\xad\\xa3\\x00\\xb3\\x47\\xc2\\x94\\xa8\\x30\\xb5\\x48\\x86\\x39\\x15\\x66\\x27\\x28\\xa6\\x83\\xda\\x42\\x5b\\x54\\x98\\xbd\\xa0\\x98\\x0e\\xc6\\x34\\x13\\x9e\\x10\\x31\\x77\\x7f\\x29\\x62\\xda\\x7e\\x02\\xb3\\x4f\\xc2\\xd4\\xa8\\x30\\x88\\x6f\\x98\\x00\\xe1\\x89\\xda\\x42\\xbe\\x71\\xaa\\xf8\\xa6\\x00\\xa3\\xf0\\x8d\\x55\\xa5\\x2f\\xd8\\xbd\\x64\\x2e\\x6b\\x0b\\xf4\\x85\\x57\\xad\\x2f\\x0a\\x30\\xb2\\xbe\\xf0\\xa8\\xf5\\x45\\x01\\x66\\x67\\x11\\x9d\\xe2\\xba\\xf6\\x16\\xd1\\x59\\x85\\x31\\x84\\x27\\x64\\x8c\\xcc\\x37\\xb5\\x3f\\x81\\x91\\xf9\\x26\\xc7\\x7f\\x62\\x7c\\xb4\\x4d\\x8e\\x47\\x90\\xde\\xd9\\x5b\\xe4\\x37\\x14\\x62\\x0e\\x83\\x47\\xa5\\x75\\xa8\\x42\\xcc\\xbd\\x0a\\x66\\x07\\x78\\xad\\xc8\\xf6\\x17\\x62\\xf6\\x80\\xa7\\x24\\x4c\\x30\\x0f\\xf3\\x57\\x15\\x66\\x27\\x78\\x7d\\x58\\x3a\\x1f\\xa8\\x30\\x7b\\x15\\x4c\\x8e\\x0e\\x8a\\xe7\\xb9\\x99\\xec\\x44\\xd4\\xf7\\x26\\x65\\xde\\xc3\\x64\\x4e\\xa9\\xa8\\x3c\\xa7\\xe7\\x14\\x61\\x0e\\x67\\x5b\\x44\\x4c\\x48\\x99\\xf7\\xec\\x17\\xfc\\xc7\\x64\\x2e\\x9a\\xf2\\xe6\\x9d\\xa6\\xea\\x72\\xf3\\x5e\\x84\\xd9\\x23\\x61\\x6a\\x72\\xf3\\x8e\\x30\\x7e\\x11\\x83\\x9f\\x0a\\x2b\\xf3\\xae\\xa6\\x33\\xb2\\x08\\xb3\\xb7\\x88\\xce\\x68\\xd4\\xf7\\x47\\x89\\x1c\\xaf\\x97\\xe6\\xeb\\x55\\xd1\\x06\\xc4\\x72\\x73\\x51\\x88\\x39\\x0c\\x7e\\x2f\\x62\\xfc\\x85\\x98\\x7b\\x15\\xcc\\x0e\\x1c\\x1f\\x10\\xe9\\x69\\x54\\xc6\\xb0\\x10\\xb3\\x07\\x5c\\x07\\xf2\\x56\\xde\\x25\\xcc\\x07\\x2a\\xcc\\x4e\\xf0\\xf6\\xb0\\x74\\xfe\\xa4\\xc2\\xec\\x05\\x2f\\x0e\\x47\\x87\\x29\\x23\\xb2\\xbc\\x5e\\xb2\\x13\\x6f\\x4a\\x98\\x51\\x79\\x18\\xb3\\x0a\\x23\\xfb\\x85\\x94\\xf4\\x12\\x8d\\xf4\\xac\\x85\\xbb\\x8f\\xc8\\x72\\x27\\x8c\\xe6\\xcb\\x72\\xa9\\x3c\\xa7\\x55\\xc8\\x4e\\xfc\\x89\\x8c\\x73\\x27\\x35\\x5d\\x9c\\xaf\\x07\\x45\\xf9\\x0a\\x2a\\xe3\\x0c\\x8a\\x30\\x7b\\x8b\\x30\\x8b\\x30\\x86\\xc8\\x97\\x8c\\xd9\\xf7\\x95\\x28\\x5f\\x8d\\x0a\\x26\\x96\\xfd\\x82\\xbd\\x88\\xcc\\xc5\\x85\\xe2\\x7c\\xc1\\x6d\\x45\\x7e\\x58\\x21\\xe6\\x30\\xdc\\x5e\\xe4\\x87\\x89\\x98\\x7b\\x15\\xcc\\x0e\\xcc\\x21\\x05\\x76\\xb4\\x10\\xb3\\x07\\x5e\\x5b\\x6c\\x47\\x0b\\x30\\x3b\\xe1\\xdb\\xff\\x95\\xce\\x5e\\xf8\\xd8\\xf0\\x74\\xc8\\x5c\\x88\\x98\\xbb\\xf1\\x3b\\x75\\x04\\x33\\xf3\\x94\\x98\\x7d\\x0a\\x66\\xac\\x82\\xe1\\xd0\\x7c\\x6d\\xc7\\x32\\x48\\xcf\\x93\\xe5\\x54\\x38\\x29\\xce\\x57\\xb3\\x3c\\x5f\\x75\\x45\\x98\\xc3\\xc2\\x77\\x22\\xa6\\x41\\xc6\\x20\\xbd\\xaa\\xa9\\xc3\\xf3\\x45\\xcf\\x93\\xe5\\xf4\\x25\\x71\\xbe\\x46\\xa8\\xf5\\x6a\\x01\\x66\\x8f\\x84\\x49\\x2a\\x76\\xfd\\x15\\x34\\xa7\\x4b\\x44\\x8c\\x2c\\xa7\\xdb\\x0b\\xe8\\xe0\\xf5\\xc4\\x02\\xcc\\xde\\xed\\x05\\x74\\xb0\\x66\\xe2\\x97\\x60\\xde\\x50\\x30\\x77\\xbf\\x27\\xf2\\xc6\\x84\\x9f\\xc0\\xec\\x93\\x30\\x63\\x15\\x8c\\x18\\x53\\xed\\x52\\x62\\xa1\\xe7\\xc0\\x35\\x85\\xef\\xd3\\x14\\x61\\x0e\\x41\\x43\\x11\\x46\\xf4\\xf5\\x77\\x49\\xbe\\x35\\xc7\\x3f\\x37\\x57\\x7c\\xeb\\x42\\xb6\\xff\\xf8\\xfe\\x58\\xe5\\x3e\\xa2\\x01\\xa4\\xf7\\xa8\\x5b\\x0a\\x7d\\xcb\\x5d\\x8a\\x9f\\xf6\\x1c\\x91\\xe3\\xfc\\x75\\x8d\\x42\\xcc\\x21\\xd8\\x5a\\x84\\xc1\\xbe\\x48\\x05\\xc1\\x88\\x76\\xfb\\xb9\\x07\\x09\\xc2\\xa3\\xf6\\x55\\xae\\x53\\xdd\\x3f\\xe4\\xcc\\xbf\\x2f\\xda\\x11\\x69\\xcd\\x0b\\x97\\x9f\\x49\\x7a\\x5b\\x3e\\xfc\\x7d\\xdc\\x97\\xbf\\x02\\x15\\x42\\xa5\\xff\\x76\\x49\\xba\\x04\\xd1\\x38\\x97\\xd4\\x51\\x21\\xd3\\xc8\\xbf\\x8f\\x69\\xfc\\x1b\\xa8\\x10\\x2a\\x99\\xdc\\xa5\\xf0\\xf7\\x73\\xb0\\xb7\\x68\\xcc\\x0a\\x31\\x87\\xf0\\xfb\\xde\\x05\\x18\\xaf\\x30\\x5a\\x15\\xd3\\x47\\x91\\x4e\\x7f\\x19\\xc7\\xe7\\x34\\x2f\\xbe\\xe3\\x53\\x74\\xff\\x30\\xf8\\xcd\\x30\\xf7\\xef\\x55\\xee\\xef\\x00\\x9f\\xfd\\xe4\\xfd\\x3d\\x78\\xcd\\xe0\\x27\\xee\\xef\\x84\\xda\\x9f\\xbc\\xbf\\x17\\xbc\\x5f\\x7c\\x5f\\x8e\\xd7\\xd1\\xfd\\xbb\\xf1\\xb3\\xd7\\x9f\\xb8\\xbf\\x2f\\xff\\x7e\\x76\\xab\\x30\\x3a\\x17\\xa7\\xe3\\xfe\\x67\\x57\\x65\\x7f\\x63\\xc5\\xf7\\xf1\\xb3\\x8e\\x82\\x98\\xbe\\x00\\x7b\\x38\\x3b\\x3b\\x1f\\xab\\x8a\\xed\\x57\\x22\\xac\\x12\\xb7\\xe3\\x71\\xc9\\x7a\\x25\\xec\\xd3\\x08\\x90\\x1f\\x9b\\xdf\\x52\\x80\\xdd\\x53\\x84\\xcd\\xc5\\xe8\\x63\\x49\\x1b\\x16\\x2a\\x6d\\xd8\\xa9\\x60\\xe7\\x14\\xd1\\x5d\\x52\\x80\\xdd\\x9b\\xb5\\x16\\x60\\x55\\xb1\\x3f\\xc6\\xca\\x71\\x3d\\x1e\\x47\\x1c\\xfb\\x2b\\x7d\\x2b\\x58\\x03\\x28\\xc0\\x92\\x35\\x80\\x3c\\x6c\\x5c\\x15\\x5b\\x8e\\xce\\xc5\\x8d\\x84\\xbf\\x7e\\x10\\xc7\\x1f\\x32\\x60\\xb8\\xfb\\x24\\xae\\x2c\\xba\\x7f\\xaf\\x72\\x7f\\x07\\x8e\\x4d\\x7f\\xe2\\xfe\\x1e\\x99\\x7f\\x54\\xf7\\xab\\x54\\xf7\\x49\\x2c\\x59\\x70\\xbf\\x49\\x75\\x7f\\xef\\x30\\xf7\\x95\\xf8\\x90\\xf0\\x57\\x71\\xfb\\xd5\\xf7\\xf7\\x15\\xdc\\x8f\\x09\\xa3\\xd5\\x71\\x21\\xe1\\x30\\x14\\x03\\xe0\\xd1\\xa2\\x5f\\x21\\x5c\\xa3\\x8a\\x21\\x8b\\xb0\\xc4\\x7f\\x50\\x63\\x73\\xb1\\xa4\\x30\\x5a\\x1d\\xdf\\x59\\x22\\x38\\x96\\xc4\\x48\\xd6\\x41\\xe6\\x20\\x2f\\xa6\\x2c\\xc2\\xee\\x29\\xc0\\xaa\\x62\\xcb\\x22\\xec\\xce\\x53\\xd2\\x2d\\x6e\\xc3\\xde\\x53\\xd1\\x05\\xab\\x30\\x36\\x17\\x47\\x22\\x2c\\x8a\\x19\\xf2\\xb0\\x9d\\x3f\\x81\\xdd\\x57\\x80\\xcd\\xc5\\x9e\\x68\\x7c\\x73\\xfe\\x0b\\x1e\\x5d\\x78\\x97\\x24\\xdf\\x5f\\x81\\xe1\\xee\\x1f\\x86\\xb7\\x0c\\x73\\xff\\x5e\\xe5\\xfe\\x0e\\xfc\\x7e\\xf6\\x4f\\xdc\\xdf\\x03\\xcf\\xfa\\xc9\\xfb\\x3b\\xe1\\x9b\\x3f\\x79\\x7f\\x2f\\xdc\\x5b\\x7c\\x5f\\xf6\\x53\\x30\\x7f\\x61\\x3f\\xe5\\x27\\xee\\xef\\x2b\\xb8\\xcf\\x09\\xa3\\xd5\\xfe\\x09\\x1e\\x01\\xec\\xc3\\x10\\x9e\\x79\\x44\\xe4\\x99\\x9c\\x2f\\x53\\x84\\x25\\xbe\\x8c\\x1a\\x9b\\xf3\\x69\\xd0\\x1c\\xa8\\xfc\\x15\\xcc\\x5f\\x2f\\x89\\x73\\xdb\\x2b\\xcd\\x81\\xca\\xb7\\x29\\xc2\\xee\\x29\\xc0\\xaa\\x7c\\x1c\\xc4\\xe3\\x2a\\xff\\x05\\xf3\\xd7\\x76\\x82\\x65\\x2e\\x2c\\xa4\\x9b\\xfd\\xba\\x08\\xbb\\xb7\\x00\\xab\\xf2\\x79\\x30\\x36\\xe7\\xcf\\x60\\xfe\\x7a\\xef\\x9d\\x3c\\xec\\x84\\x9f\\xc0\\xee\\xcb\\xc3\\x42\\xaa\\xd0\\x07\\xda\\x21\\xfb\\x37\\xd4\\x36\\xe9\\xdd\\xa8\\xe2\\xb5\\x6d\\xa7\\x82\\xb9\\x16\\x3f\\x07\\xcb\\x7f\\x4e\\x2e\\xd9\\xb1\\x5d\\x8a\\x1d\\x7a\\x0e\\x5c\\x5f\\x6c\\xa7\\xe8\\x83\\xf2\\xfa\\x78\\x81\\xfd\\xcb\\x95\\x3b\\x04\\xf9\\xfc\\xfb\\xa4\\xee\\xb5\\x4a\\xdd\\x77\\x80\\x5f\\x17\\xb7\\x8f\\xd0\\x58\\x2b\\xd3\\x40\\x98\\x47\\xf3\\x6d\\x20\\x59\\xd3\\x3d\\x26\\xaf\\xe9\\x52\\xdb\\xe0\\x99\\xe2\\x33\\xaf\\xdc\\xfb\\x07\\x12\\xe6\\x74\\x05\\x73\\x2d\\x9c\\x2f\\x62\\x5c\\x05\\x18\\xf9\\x9d\\x1e\\xec\\x93\\x20\\xdb\\xb4\\x0b\\xdb\\x45\\x27\\x5d\\xb0\\x2e\\x9e\\xc3\\x1c\\xca\\xf6\\x16\\x63\\x88\\xdd\\x52\\xde\\x0d\\x92\\xec\\x0a\\x84\\x7a\\xc6\\x45\\xa5\\xd8\\x6d\\xc0\\x0a\\x22\\x29\\xa7\\x89\\x65\\x81\\xc1\\x60\\xb3\\x6b\\xcd\\xa6\\x80\\xa9\\xc7\\x34\\x68\\xda\\x60\\x62\\x4d\\x20\\x3e\\x70\\x58\\x95\\x00\\x0f\\x8a\\x5b\\x82\\xc5\\x9d\\xf6\\x6c\\xb2\\x1b\\xc2\\x87\\x7c\\x41\\x5f\\x79\\x67\\x55\\xfd\\x08\\xe1\\x90\\x71\\x42\\x3f\\xf3\\x8c\\xc9\\xe6\\x0c\\x78\\x4b\\x9b\\xcb\\x47\\xb4\\xfc\\x71\\xec\\x18\\xa7\\xb4\\x8f\\xfe\\xb0\\x30\\x1a\\x7c\\x9d\\xbd\\x09\\x18\\x41\\x69\\xca\\x60\\xe0\\x29\\xca\\x24\\x26\\xf5\\xf6\\x81\\x9e\\x57\\xa5\\x53\\x09\\x48\\x12\\x3f\\x9c\\x94\\x80\\x64\\x4a\\x71\\x73\\x9d\\xab\\x98\\x8a\\xdb\\xcb\\xfd\\xbe\\x86\\xd2\\x79\\xc2\\xe8\\xa5\\xe1\\xe7\\x9f\\xd0\\x47\\x3d\\x7d\\xed\\xff\\xef\\xda\\x0c\\xa6\\x32\\xe3\\xe9\\x10\\x7b\\x01\\x70\\x83\\xda\\x94\\xc3\\xa9\\xd1\\x78\\x4a\\x1c\\x7a\\x3d\\x73\\x63\\x46\\x0f\\x52\\xc0\\x72\\x63\\x46\\x03\\x40\\xfc\\x80\\xb8\\x73\\x55\\x3c\\x43\\x93\\x54\\x48\\x92\\x9d\\xe5\\x4e\\xb4\\x75\\x89\\x69\\x88\\xf1\\x49\\xb6\\x54\\xe9\\xac\\x85\\x8d\\xc1\\x40\\x79\\xe9\\xb2\\xd0\\xe5\\xa7\\xb5\\xcc\\xa8\\x6f\\xf6\\x93\\x93\\xb4\\xa3\\x1b\\x99\\xf1\\x73\\xea\\x2a\\xd3\\xb7\\x5c\\xdd\\x10\\xa9\\xb3\\x56\\x76\\x6c\\xdb\\x84\\xf7\\xf4\\x0f\\x30\\x53\\x69\\x64\\x03\\xc9\\xde\\xf3\\x38\\x98\\x90\\x0a\\xd7\\x95\\x97\\x4b\\x7b\\xe7\\x1b\\x1b\\x3c\\x55\\x37\\x66\\xca\\x3d\\x1e\\xae\\x36\\x14\\xf2\\xdd\\x98\\x09\\x81\\x94\\x8d\\x03\\xdc\\xf5\\x19\\x14\\x25\\xc4\\xc9\\xe9\\xbb\\xa8\\x49\\x87\\x49\\x93\\x6c\\xed\\xa8\\x85\\x79\\x99\\x3a\\xf2\\xb7\\xc9\\x07\\x55\\xdf\\x4f\\xd9\\xec\\x48\\xc3\\xf8\\xf1\\x0d\\x8d\\x63\\xc6\\x08\\x1b\\x1a\\xc6\\x8f\\x6b\\x44\\x5f\\x60\\xe3\\xa9\\x3a\\x32\\x75\\x6c\\x53\\xd3\\xe8\\xbe\\x44\\xd3\\xd8\\xfe\\x78\\xc3\\xd8\\xb1\\x0d\\x4d\\x63\\x61\\x6d\\x61\\xd7\\x14\\xff\\x62\\x97\\x6c\\xdf\\x45\\xbb\\x6e\\x91\\xe2\\x0f\\xf9\\x3e\\x7e\\x5f\\x81\\xdc\\x2f\\xf4\\x4b\\x8a\\xcb\\x1d\\x82\\xa3\\x95\\x58\\x65\\x3a\\x91\\xc9\\x33\\xa5\\xe7\\x71\\xa5\\xc3\\xac\\xa7\\x8f\\xce\\x61\\xb0\\xdc\\x62\\x8c\\xaa\\x8e\\x4b\\x50\\x6c\\x1a\\x66\\xbb\\xf1\\xda\\x3e\\xac\\x95\\x24\\x6e\\x42\\x76\\x1b\\xd6\\xe3\\x01\\x5a\\xd2\\xe3\\x7d\\x45\\x98\\x43\\x45\\x18\\x44\\x87\\xbf\\x95\\x60\\x62\\x3f\\x45\\xa7\\x00\\x53\\x44\\x07\\xeb\\x6b\\xf5\\xde\\x38\\x64\\x55\\x70\\x72\\x31\\x0a\\xcc\\x60\\x4c\\xd4\\x21\\xf6\\x5e\\xc0\\x02\\x17\\x68\\x4e\\xf9\\x38\\x9b\\x4d\\xaf\\x77\\x40\\x9a\\x76\\x38\\xdc\\x1e\\xca\\x0c\\xcc\\x8e\\x80\\xa3\\xc7\\x31\\xe8\\xd8\\xe0\\x40\\xf6\\x3d\\x3e\\x70\\xf0\\xed\\x03\\xf9\\x47\\xe0\\xe1\\x6c\\x28\\xc9\\xa0\\x95\\x0f\\xe7\\x4b\\x46\\x2b\\xf5\\xb3\\xfd\\x3c\\xa4\\x39\\xa1\\xdd\\x1f\\xf2\\x57\\x74\\xc6\\x1a\\xbb\\x84\\xa7\\x8d\\xdb\\x99\\x4a\\x38\\x36\\x2c\\x3c\\x1e\\xdc\\x66\\xb6\\x3b\\x91\\x3c\\x26\\x83\\xdd\\xc9\\xbf\\x4c\\xea\\x8f\\x91\\x76\\xd4\\x32\\x26\\xbc\\x3e\\x9c\\xdf\\x0e\\xf0\\x7f\\x69\\x47\\x12\\x27\\x49\\x8e\\x16\\xb4\\x03\\x5e\\xc5\\x5d\\x00\\xb2\\xbc\\xf0\\xe7\\xa1\\xfc\\x86\\x04\\xe1\\x84\\xb0\\xf0\\x54\\x51\\x43\\x28\\xb0\\x96\\xfe\\x8c\\x1e\\x8b\\xe4\\xc5\\x05\\xa2\\x60\\x56\\xaa\\xd1\\x8d\\x24\\xc3\\x17\\x0e\\x3b\\x1c\\x1a\\x4d\\x55\\xb5\\x24\\xac\\x61\\xbb\\x28\\xbd\\xe5\\xb1\\x30\\x7c\\x20\\x7c\\x28\\xfc\\x79\\x98\\x0e\\xa7\\x74\\xd6\\x71\\xe6\\x30\\xa4\\xc2\\x20\\x3e\\x38\\x10\\x1b\\x58\\x7d\\xa0\\x48\\x6e\\x54\\x59\\x9f\\x8b\\x04\\x84\\x1c\\x50\\xcd\\x16\\x0e\\x61\\xd7\\xec\\xc1\\xa6\\x40\\x20\\xe4\\x39\\x33\\x7a\\xf9\\xc2\\xe6\\x89\\xe5\\x63\\x83\\x81\\x0a\\xf4\\xfd\\x52\\xe1\\x47\\xa4\\x73\\x02\\x23\\x6a\\xea\\x3b\\x84\\x43\\x86\\xad\\xec\\xc5\\xb3\\xeb\\x23\\x93\\x6e\\xbf\\x3c\\x56\\xd2\\x13\\x1d\\xbf\\x6d\\xd3\\x57\\xa2\\x02\\x4a\\x04\\x3b\\x9a\\x91\\x02\\xaa\\x01\\x4a\\x5c\\x7d\\x8c\\xd8\\x49\\x12\\x37\\x53\\xdb\\xde\\xca\\x5f\\xe3\\x9f\\x88\\xee\\xbf\\x45\\x6c\\xa4\\x78\\xff\\xda\\x43\\xe4\\xbe\\x4b\\x1d\\x77\\xdf\\xcd\\xfd\\x55\\xbc\\x8f\\xf7\\x33\\x3e\\xf8\\x2c\\xe1\\xc3\\x3d\\xb0\\x99\\xec\\x67\\xb4\\xe3\\xfd\\x8c\\x76\\x65\\x3f\\x23\\xc1\\xef\\x2a\\xc2\\x1f\\x02\\xb5\\xa7\\xc0\\xe3\\x98\\xba\\x9c\\xc8\\x92\\x58\\xff\\x1d\\x9f\\xe6\\xb7\\x8f\\xdc\\xe7\\xce\\xcc\\xa7\\x47\\xdd\\x91\\xfd\\x14\\xc5\\xde\\xee\\x94\\x89\\x82\\xfb\\xec\\x30\\x65\\xcf\\x91\\x5d\\xbd\\x5a\\xf4\\x51\\xf0\\xbb\\x54\\x1b\\x89\\xed\\xac\\x95\\xfc\\x83\\xb3\\xc4\\xe7\\xea\\x86\\x9c\\x5d\\xc4\\x98\\x4b\\x89\\xed\\xac\\x95\\xfc\\x83\\x35\\x45\\xfb\\x04\\x90\\x0c\\x32\\x97\\x13\\xf9\\xaa\\x2d\\x94\\x41\\xb3\\x4a\\x06\\x99\\x4f\\x25\\xcc\\x0d\\xf9\\x32\\x28\\x62\\x10\\x6f\\x5d\\xa4\\xc8\\x9a\\x1b\\x34\\xa5\\xbc\\x6e\\xb3\\x59\\x8b\\x25\\x4d\\xab\\xf5\\x94\\x50\\x06\\x80\\xd3\\x19\\xf4\\x70\\x83\\xdc\\x06\\x8e\\xe5\\xd4\\x2c\\x5e\\x20\\x69\\xac\\x94\\x77\\x0d\\x9f\\x23\\x20\\x26\\x91\\x93\\x65\\x6d\\xd7\\xcf\\xce\\x5d\\xd4\\xd7\\xd0\\x3a\\xb9\\xca\\xdd\\x99\\x92\\x45\\xcd\\x15\\x58\\x36\\x69\\xfa\\xea\\xba\\xc8\\xe8\\xb0\\xdd\\x6d\\x2d\\xa9\\x76\\xc8\\x32\\x8f\\x9f\\xb3\\xa8\\xdb\\x01\\xfe\\x2f\\xed\\x20\\x92\\xc6\\x17\\xb5\\x03\\xde\\x28\\xc9\\xda\\xed\\x79\\x0d\\x11\\x45\\xad\\xb8\\x21\\xf9\\xb2\\x36\\x23\\xd5\\x10\\xad\\x0c\\xe0\\xa3\\x08\\xd4\\xa2\\xe6\\x96\\x44\\xcd\\x17\\x73\\xc3\\x07\\xdc\\x87\\xdc\\x9f\\xbb\\x69\\x37\\x11\\x35\\x37\\xa4\\xdc\\xff\\x45\\xd4\\x4e\\x2d\\x69\\x74\\xa4\\x70\\x04\\x4f\\x21\\x6a\\x77\\xbe\\x3f\\x77\\x54\\x6d\\x6b\\x6f\\xad\\xa7\\xbd\\xb3\\x40\\xce\\x84\\xb3\\x5a\\x6f\\x9e\\x72\\x56\\x4d\\xe5\\xe8\\x80\\xc3\\x65\\x29\\x89\\xd8\\x55\\x6b\\x47\\x3b\\xe4\\xb5\\x23\\x6a\\xdb\\x85\\xaa\\xd5\\x75\\xe5\\xbe\\x53\\x5e\\x3b\\xc2\\x7b\\xdd\\x45\\xbb\\x52\\xb8\\xfe\\x44\\x64\\x67\\x3d\\x10\\xf7\\xbe\\x6c\\xcd\\x12\\x69\\x03\\x9b\\x25\\xe9\\xf1\\x63\\x36\\xf7\\x13\\xe9\\xf9\\x09\\xfc\\x21\\x08\\x87\\xc3\\x67\\x5f\\x15\\x26\\xd2\\x7f\\x23\\x31\\xd7\\x5a\\xe9\\x39\\xc1\\x9b\\x85\\x3e\\x69\\x11\\xe6\\x30\\x78\\xab\\xe8\\xb9\\x0e\\xae\\xf7\\xcf\\x44\\x66\\xd7\\x4b\\xbe\\xed\\x6d\\xc3\\x3d\\x4b\\x60\\x34\\x44\\x6e\\xf3\\xda\\x86\\xb0\\x47\\x14\\xc9\\xf5\\xc3\\x94\\x3f\\xd7\\x44\\x22\\xb9\\xaa\\x77\\x62\\x8e\\x29\\xef\\xc4\\x6c\\x83\\x57\\x16\\xbe\\x13\\x23\\x61\\x4e\\x57\\x30\\xf2\\x9e\\x3d\\x69\\x37\\x36\\xe9\\xcb\\x6f\\x91\\x8d\\x1d\\x47\\xe4\\xb2\\x53\\x5a\\x23\\x7e\\x4e\\xb8\\x5a\\x94\\x4b\\x8f\\x6c\\x1b\\xcf\\x28\\xc2\\x1c\\x12\\xce\\xce\\xc7\\x90\\xba\\xf6\\x93\\xf8\\x3f\\x51\\xf0\\x2c\\x50\\x5c\\xa8\\xc1\\xbe\\xd6\\x7c\\x66\\x01\\xed\\x62\\xff\\x20\\xe5\\xf9\\x19\\x93\\xb2\\x78\\x4b\\x4a\\xe4\\x3c\\x45\\x01\\xec\\x5a\\xe1\\xec\\x3e\\x0e\\xec\\x5e\\x79\\x37\\x78\\xb6\\x20\\xb3\\xe6\\x09\\x78\\xf6\\x7a\\x8e\\x78\\x18\\x0f\\xce\\x3e\\xf3\\x6a\\x7b\\x5c\\x7d\\xd4\\xf6\\x70\\xd9\\x88\\xd4\\x6e\\x96\\x9b\\xc6\\x09\\xd2\\xa8\\x07\\xe4\\x6c\\x44\\x5f\\x4b\\x5f\\xf6\\x5c\\xca\\x1f\\xd5\\x71\\xcc\\x0a\\x39\\x1f\\x91\\x9c\\x8e\\xc8\\x24\\x2a\\x84\\xe2\\x76\\xb6\\xa0\\x76\\x7a\\x3c\\x85\\xed\\x7c\\x9c\\x34\\x13\\x35\\xec\\xff\\xda\\xac\\xa4\\x3d\\xc1\\xd3\\xc5\\xcd\\x1a\\xcd\\xad\\x38\\xca\\xff\\x6b\\x98\\x66\\x89\\xea\\x81\\xc4\\x10\\x09\\xa6\\x8d\\xea\\x62\\x77\\x21\\xbd\\xd4\\x9c\\x0a\\x33\\x10\\x72\\x3c\\x6d\\x46\\x4e\\x6b\\x1a\\xac\\x04\\x1b\\x90\\xa8\\x70\\x66\\x10\\x00\\x3d\\x60\\x10\\xfd\\xb1\\x17\\x71\\xd0\\x31\\x80\\x1d\\x67\\x34\\x6e\\x8a\\xbf\\x8c\\xf4\\xa3\\x9d\\x87\\x9f\\xef\\xe7\\x41\\x96\\xe1\\x98\\x36\\xb1\\xc3\\x4a\\x9c\\xbf\\x4b\\x8e\\xd3\\xc5\\xf8\\x1c\\xfb\\x89\\x78\\xaf\\x92\\x7c\\x9f\\x7e\\x4e\\xba\\x5f\\xb8\\x3e\\x50\\x5c\\xee\\x90\\x94\\x9b\\x43\\x5c\\xc3\\x5d\\x2b\\xaf\\xe1\\x22\\x1f\\x70\\x5b\\xf1\\xf3\\x19\\x42\\x63\\xad\\x4c\\x43\\xc4\\xa8\\xea\\xb8\\x84\\x3c\\xdb\\x9b\\xa8\\x3c\\xdb\\xcb\\xd9\\x16\\x2a\\x28\\xf3\\x5e\\xf1\\x33\\xcb\\x43\\xd9\\x64\\x01\\xe6\\x12\\xf2\\xec\\x61\\xa2\\xf2\\xcc\\x40\\x65\\xa3\\xea\\x15\\x3a\\x45\\xcf\\x4b\\x64\\x3a\\x39\\x8c\\x1d\\xb5\\xf7\\x0d\\xfc\\xee\\x2f\\xc2\\x88\\xed\\xfc\\x92\\xc4\\x30\\x27\\xd0\\xdc\\x9c\\x4f\\xe6\\x26\\x99\\xaa\\xa2\\x11\\x21\\x1e\\xd0\\x37\\xcc\\xfb\\x5f\\x4c\\x4f\\x4c\\x9e\\x1e\\x3b\\x31\\x1b\\x27\\x24\\x1b\\xc1\\xb4\\xc9\\x13\\x0f\\x61\\x3b\\x8a\\xc3\\x92\\x28\\x0e\\x33\\xe3\\x38\\xcc\\xac\\xd1\\x18\\x29\\xca\\x62\\x65\\x73\\xe4\\x58\\x50\\x18\\x87\\xe5\\x2b\\x70\\x37\\x55\\xf2\\xfe\\xbc\\x51\\xb5\\x2d\\x48\\x51\\xaf\\x63\\x5c\\x39\\xc5\\x6c\\x8e\\x57\\x92\\x98\\xf1\\x2f\\xc2\\x31\\x50\\xc3\\xa2\\x06\\x03\\xeb\\xe3\\x90\\xa2\\x18\\x0a\\xd1\\x8b\\x4b\\x19\\x9e\\xec\\xd6\\x90\\xb5\\x66\\x06\\xcb\\x9f\\xf8\\x8c\\xf3\\x60\\x6c\\x39\\xc2\\xbe\\xcf\\x5e\\x09\\x4c\\xa0\\x21\\xe5\\x36\\xe8\\xf0\\x4e\\x7a\\x08\\xcd\\x46\\x8d\\x9e\\x35\\x51\\x2c\\x4f\\xd3\\x50\\xcb\\x43\\x54\\x1a\\x67\\x3e\\x23\\x27\\x1e\\xc9\\x47\\x83\\x93\\x1c\\x3e\\x56\\x3e\\x9a\\x8c\\x26\\xdd\\x49\\x37\\xef\\xe6\\xa3\\x35\\x33\\x36\\x24\\xef\\xbf\\x5f\\xfa\\x7f\\x83\\x70\\x8c\\xcd\\x6c\\x4c\\xee\\xbe\\xaf\\xed\\xd7\\xbf\\x6e\\xbb\\x6f\\x77\\x72\\x23\\xae\\xeb\\x4d\\xe1\\x18\\x7c\\x14\\xd5\\xa5\\x43\\x56\\xd8\\xa5\\xa1\\x69\\xa0\\xa5\\x50\\xd3\\x58\\x96\\xd3\\x33\\xc8\\xbe\\x42\\x9e\\xd3\\x21\\x03\\x1c\\x97\\x8e\\x5d\\xc6\\x69\\x00\\xf3\\xfc\\x5d\\x54\\x57\\x08\\x35\\x3e\\x18\\x4d\\xc2\\x47\\xdf\\x4b\\x6e\\xfa\\xcf\\x34\\xd8\\xbf\\x29\\xc9\\xdc\\x7f\\x34\\x79\\xf1\\x0f\\x67\\xb3\\x1f\\x5c\\xdc\\x46\\x62\\x4f\\x61\\x22\\xea\\x4f\\x15\\xa9\\x03\\xe7\\xee\\x62\\x18\\x4e\\x8b\\x33\\xc1\\x02\\xa8\\xa7\\xb5\\x2c\\xfa\\x0f\\x92\\xde\\xa8\\xaa\\x68\\xca\\xd5\\x80\\xfa\\x13\\x42\\xfd\\x40\\xbd\\x09\\x56\\x4d\\xfb\\xcf\\xa6\\xe4\\x7b\\xa8\\x16\\xd8\\x8f\\x3a\\x72\\xf3\\xc5\\xc9\\xa3\\xef\\xb4\\x5d\\x4c\\xf4\\xeb\\x7b\\x70\\x2b\\x7d\\x92\\x0a\\xdb\\x38\\xfe\\x5d\\x32\\xd6\\xd2\\xdf\\x68\\xac\\x5d\\x29\\x1d\\x64\\x29\\x86\\xa6\\x9e\\xca\\xd0\\xcf\\x00\\xe9\\xc8\\x40\\xd4\\x6e\\x67\\xb0\\x85\\x3e\\x79\\xf2\\x23\\x2a\\xbc\\x65\\x0b\\xc2\\xff\\x1d\\x6e\\xe5\\x87\\xfe\\x1b\\x9e\\x1f\\xfa\\xfe\\x94\\x78\\x00\\x9f\\xca\\x80\\x53\\xe0\\x11\\x3f\\x5f\\x8e\\x1c\\x8d\\x91\\xec\\x75\\x16\\x0e\\x5e\\x4e\\xda\\xfb\\xf5\\xd0\\x33\\x8c\\x35\\xbb\\xd6\\x16\\x05\\xa3\\xc0\\x66\\xe1\\x2d\\x0b\\x8f\\x7f\\x03\\x31\\x4e\\xff\\x8c\\xfa\\x94\\x3a\\x8b\\x9d\\x0a\\x6c\\xa0\\x2c\\x65\\xa2\\x8d\\x46\\xc4\\xc0\\x76\\x07\\x6d\\xd9\\x9d\\xa1\\x19\\xd0\\x13\\x53\\x27\\xef\\x6f\\x6e\\x4d\\x3a\\x71\\xde\\x32\\xe4\\x53\\x88\\x27\\x13\\x7c\\x76\\xf0\\x99\\xb6\\x69\\xb5\\xfe\\x9a\\x31\\x73\\x47\\xcf\\x58\\x4a\\xff\\x7a\\xfb\\xdf\\x1a\\xe7\\x9b\\xbb\\x26\\x56\\xb8\\x82\\x25\\xb5\\xd3\\x47\\xf6\\xad\\x10\\xe9\\xbf\\x8b\\xe8\\x2f\\x2a\\xa4\\x6f\\xa1\\x77\\x67\\x2c\\x05\\xf4\\xa1\\x83\\xe3\\x5b\\x70\\xb6\\xb4\\x48\\x54\\xe2\\x74\\x6a\\x91\\x58\\x41\\xf5\\x58\\x5c\\x01\\x73\\x7d\\xae\\x82\\xd2\\x98\\x54\\x01\\x04\\x21\\xe1\\x45\\x78\\x2f\\xac\\x43\\xf4\\x2b\\x52\\x56\\x44\\x1c\\x55\\x41\\xe8\\xcf\\xb3\\x5b\\xee\\x9f\\x67\\x01\\xf1\\x98\\xba\\x8e\\x70\\x51\\x1d\\xf0\\x5e\\x75\\x1d\\xcb\\x87\\xa9\\x02\\xc9\\x2a\\x83\\xfa\\xb0\\x91\\x9d\\x06\\xac\\xa0\\x3c\\x65\\xd4\\xd3\\xb4\\xc6\\x6c\\xb6\\xd9\\x81\\x61\\x77\\x06\\xec\\x87\\x86\\x82\\x5e\\xa8\\x3c\\x2c\\xd1\\x5b\\x84\\xdf\\x77\\x4f\\x38\\xad\\xb5\\x6e\\xde\\x24\\xdb\\x9d\\x7b\\xae\\x62\\xa7\\x75\\x36\\x2f\\xa8\\x2f\\xa9\\x0f\\x24\\x07\\x3c\\x03\\x75\\x8f\\x5f\\xfa\\xb3\\x2d\\xd8\\x27\\x7c\\x81\\xfa\\x94\\xfe\\x07\\x19\\xa3\\x30\\x68\\x4d\\x79\\x5d\\xe5\\xe5\\x5e\\xbb\\x1d\\x88\\x83\\x15\\x89\\xba\\x42\\xbb\\x33\\x2e\\x46\\x99\\x12\\xd5\\x89\\xcd\\xaa\\xc4\\xa6\\xc5\\xb3\\x13\\x2e\\xba\\xf2\\x82\\x7a\\xbe\\xe0\\xae\\x9f\\x9e\\xbd\\xd9\\x45\\xd3\\x49\\x81\\x27\\x51\\x3b\\xdf\\x3d\\x65\\x3b\\x43\\xae\\xdd\\x99\\x10\\xa3\\x4c\\xed\\xf0\\xed\\x2c\\x9e\\x65\\xb6\\xe8\\x0a\\xfd\\xae\\x7a\\x4e\\x84\\xf9\\x3f\\xcd\\x05\\xb3\\x87\\x9b\\x33\\x0a\\x30\\xc2\\x8b\\x74\\x8c\\xf0\\x45\\x18\\x8c\\x48\\xe1\\x86\\x96\\x8b\\xdc\\x81\\x5a\\x4d\\xda\\x3a\\x2f\\x12\\x42\\x0c\\x82\\x18\\x25\\x22\\x33\\x8a\\x8a\\x55\\x14\\x7d\\x50\\xcc\\x31\\xc3\\xb4\\x37\\x76\\xea\\xf6\\x16\\x71\\x54\\x51\\x73\\x91\\xbc\\x22\\x19\\x64\\x4a\\xd8\\x69\\x96\\x08\\xff\\xc9\\x47\\xd8\\xd6\\x7e\\x02\\x6f\\x25\\xbc\\xbd\\x38\\x6b\\x61\\x2a\\xd9\\xeb\\x80\\x11\\x74\\xa5\\xca\\xf5\\x40\\xab\\x65\\x69\\x8d\\xc6\\x64\\xe6\\x75\\x8c\\x91\\xe1\\x0c\\x2c\\xc7\\x3e\\x9f\\xd1\\x73\\x1a\\xee\\x85\\x79\\x1a\\x40\\xbd\\x26\\x1d\\x37\\x25\\x9d\\x59\\xaa\\x4a\\x43\\x8f\\x0f\\x20\\x0f\\xd9\\x93\\x6c\\x92\\xb5\\x27\\xe8\\x30\\x1f\\xa6\\x76\\x09\\x9f\\x8f\\x9a\\xb4\\x42\\x58\\x50\\x03\\x37\\x33\\x5f\\x5d\\x0d\\x77\\xd6\\x08\\xeb\\xa8\\xff\\xfc\\xe8\\xa1\\x3f\\xbb\\x6b\\xd4\\x17\\x29\\x78\\xad\\x70\\x5e\\xea\\x0b\\xf1\\xcc\\xdf\\xf7\\x50\\xfd\\x61\\x54\\x7f\\x09\\x38\\x3f\\x95\\xb2\\x9a\\xcd\\x26\\x0f\\x96\\x05\\xca\\xc5\\xf3\\x28\\x6e\\xd2\\x9b\\x4c\\xa5\\x5e\\xbb\\xce\\x62\\x64\\x0c\\x36\\xbd\\x41\\xff\\x7c\\xc6\\x6a\\x35\\x98\\x0c\\x2f\\x64\\x4c\\xc0\\xcd\\x01\\x9a\\x61\\x58\\x8f\\x87\\x65\\x50\\x0b\\x4b\\x18\\x8a\\x79\\x21\\x83\\xdb\\x27\\x37\\xcf\\x13\\xb7\\x8a\\xa7\\xa6\\x93\\x43\\xbd\\xf2\\xda\\xab\\xfa\\x5f\\x1a\\x7f\\x3a\\x64\\x47\\x2d\\xc7\\x26\\x46\\xe9\\x00\\xb6\\x34\\x61\\x1e\\xfe\\x93\\xfa\\xea\\x4a\\x61\\x10\\x75\\xa2\\xed\\xa2\\xae\\xb3\\x49\\x6f\\xb8\\xaf\\x36\\x93\\xde\\x74\\x6c\\x48\\xad\\x42\\x5f\\x6e\\x17\\xce\\x85\\x3f\\x4f\\x7d\\xd5\\xb7\\xf5\\x91\\xc7\\xb6\\xe6\\x7a\\xb6\\xf5\\xb1\\x47\\xb6\\xf6\\x7d\\x05\\xc4\\x1c\\xd6\\x37\\x52\\x9b\\xe9\\xdf\\x22\\x9f\\xd0\\x97\\x32\\x22\\x1b\\x61\\x30\\x9a\\x39\\xc8\\xe1\\xf4\\xce\\xc8\\xf6\\xbe\\x3a\\x90\\x5b\\x93\\x54\\x2d\\xf4\\x9d\\xb7\\xe6\\xee\\xbb\\xd7\\xa0\\x0f\\xbc\\x71\\xc7\\xb9\\xe7\\xee\\xc0\\x1f\\xcc\\x6f\\x34\\x58\\x94\\xfd\\x90\\xb7\\xc2\\x38\\xf1\\x2f\\x43\\xf8\\xfc\\x75\\xec\\x59\\xd2\\x5e\\x6f\\x90\\x0e\\x56\\x86\\x3d\\x65\\xb7\\xcd\\xf3\\xb8\\x0c\\xb6\\xdb\\xe6\\x19\\x5c\\x80\\xbb\\x6d\\x1e\\x39\\x8f\\x53\\x7d\\xfc\\x7a\\xbb\\x94\\x4b\\xb4\\x49\\x3a\\x7d\\x73\\x18\\x27\\x33\\x6f\\xb9\\x91\\x1f\\xbd\\x68\\xe1\\x18\\xf4\\xa1\\x56\\x14\\x7e\\xf1\\x93\\x9f\\xc3\\x7c\\x64\\xdb\\xcb\\xfc\\x0f\\xf2\\x2d\\x3c\\x29\\x2d\\x0b\\x91\\x5b\\x80\\x66\\x8a\\xc2\\x96\\x5d\\xca\\x63\\x29\\xba\\x06\\x41\\x67\\xcd\\x74\\xf8\\x36\\x73\\x19\\x36\\xa9\\x69\\x6c\\x4f\\x27\\x21\\x7b\\x5a\\x4d\\xca\\x39\\x9f\\xa4\\x01\\xb2\\xa7\\xc8\\x00\\x81\\x78\\x22\\x2e\\x2f\\x3d\\xc3\\x96\\x20\\x2a\\x26\\x4c\\x82\\x6f\\x4f\\x67\\x2e\\x4b\\xff\\x50\\xc6\\xde\\x2c\\xae\\x5b\\xdb\\x50\\xb9\\xaf\\xd8\\xcb\\x01\\x8f\\x74\\xbf\\x01\\x50\\x14\\x62\\x5f\\xc8\\xb2\\x34\\x4f\\x13\\xf3\\x1b\\x97\\x6d\\xaf\\x68\\x75\\x71\\xc5\\x5f\\x1d\\x98\\x71\\x00\\xbe\\x4d\\xff\\xcf\\xc9\\x32\\xe6\\x03\\xf8\\x48\\x1e\\x0d\\x3d\\xa8\\x4d\\xd9\\x75\\x2c\\xf2\\x68\\x10\\x21\\xda\\x80\\xe8\\xe8\\x74\\xb4\\x16\\xa7\\x66\\x8c\\x8b\\x19\\x59\\x15\\x67\\x21\\x8f\\xa2\\x33\\x28\\x53\\x15\\xce\\x83\\xd7\\xca\\x94\\xd3\\xc2\\xe7\\xf9\\xb4\\xeb\\x53\\x0e\\xc8\\x71\\x1a\\x46\\xaf\\xd7\\x68\\xb5\\x06\\x5e\\xaf\\x07\\x80\\xd1\\xd2\\x38\\x1b\\x62\\x5c\\x21\\xae\\xe2\\x4a\\x1a\\x51\\x25\\x7d\\x46\\xff\\x7d\\x85\\xf9\\x0a\\xbe\\x8d\\xea\\x60\\x02\\xd0\\x99\\x16\\x26\\xe3\\x2a\\xc4\\x78\\x4e\\xfa\\x67\\xe1\\xf8\\xbf\\xe0\\xa7\\x59\\xa0\\x3e\\xfb\\x31\\xff\\x5b\\x64\\x47\\x68\\xe4\\xf5\\xf9\\x50\\xfc\\xdf\\x0c\\x52\\x60\\x12\\xe5\\x4c\\x65\\x29\\xba\\xde\\x5f\\x55\\x31\\xb2\\x63\\x6c\\x0b\\x80\\x2e\\xc6\\xa2\\x83\\x34\\xa3\\xf3\\x57\\xb4\\x74\\x68\\xd2\\x93\\xbb\\xfb\\x9f\\xc8\\xb4\\x77\\x3f\\x39\\xaf\\xbd\\x17\\xfd\\x2e\\x09\\x37\\x3e\\x91\\x29\\x0f\\x3f\\x39\\xaf\\xbc\\xe6\\x89\\x0c\\x28\\x2f\\xd1\\xd8\\x9e\\xc8\\x18\\x35\\x4f\\xce\\x33\\x96\\x3c\\x91\\xa1\\x8c\\xcc\\xaf\\xd2\\xf0\\x9a\\x34\\xbc\\x20\\x0d\\xcf\\x4a\\xc3\\x19\\x69\\x38\\x3a\\x0d\\x5b\\xd3\\x30\\x92\\x86\\xee\\x34\\xfc\\x4f\\x1a\\x7e\\x9a\\x86\\x6f\\xa6\\xe1\\xfe\\x34\\xdc\\x95\\x86\\xbf\\x4c\\xc3\\x2b\\xd3\\xf0\\xdc\\x34\\x5c\\x92\\x86\\xb3\\xd3\\xb0\\x2d\\x0d\\xab\\xd3\\xb0\\x34\\x0d\\x35\\x69\\xb8\\xf4\\x44\\x1a\\x7e\\x9c\\x86\\x6f\\xa4\\xe1\\xc1\\x34\\x7c\\x32\\x0d\\xb7\\xa6\\xe1\\x55\\x69\\xb8\\x3e\\x0d\\xe7\\xa4\\xe1\\xf8\\x34\\x1c\\x91\\x86\\xa1\\x34\\x74\\xa4\\x21\\x9b\\x86\\xff\\x4e\\xc3\\x4f\\xd2\\xf0\\x65\\x02\\x53\\xea\\x3e\\x83\\x50\\x44\\x15\\x47\\x09\\x39\\x44\\xed\\x1f\\x69\\xf8\\x56\\x7e\\xc5\\xeb\\xf3\\x6b\\x4d\\x5d\\xac\\x4f\\xc3\\xe4\\xc9\\x34\\xfc\\x48\\x55\\xef\\xad\\x69\\xb8\\x39\\x0d\\xcf\\x4f\\xc3\\x33\\xd3\\x70\\x6e\\x1a\\x4e\\x48\\xc3\\xce\\x34\\x04\\x4c\\x1a\\x7e\\x47\\x6a\\x7d\\x25\\x0d\\x7f\\x9b\\x86\\x0f\\x11\\xdc\\xb5\\x69\\x78\\x71\\x1a\\x2e\\x4e\\xc3\\x59\\x69\\xd8\\x9e\\x86\\x31\\x52\\xeb\\xe7\\x69\\xf8\\x4e\\x1a\\x1e\\x49\\x43\\xf8\\x6c\\x1a\\x3e\\x90\\x86\\xbf\\x48\\xc3\\x4d\\x64\\x64\\xe6\\xa5\\x61\\x9a\\x80\\x02\\x69\\x68\\x4e\\x43\\x9e\\x1a\\x5c\\x30\\xa0\\xfc\\x1b\\xc4\\x3f\\x56\\xab\\xfe\\xad\\x19\\x5c\\xa3\\xfa\\xa7\\x42\\x16\\xe2\\xd6\\x9c\\x1a\\x97\\x03\\xe2\\x03\\xf3\\x62\\xe2\\x39\\x86\\xe4\\x97\\x68\\x73\\xdc\\x05\\xa7\\xf6\\x93\\x53\\x0d\\x43\\x30\\xc1\\x3a\\x78\\x2a\\x58\\x21\\x39\\x2a\\xb9\\xb4\\xe0\\xf8\\xa4\\x5d\\xf9\\x00\\xb6\\xfc\\xeb\\xe1\\x53\\x15\\x38\\xb0\\x95\\xd9\\x7d\\xcb\\xd0\\x06\\x5d\\xb7\\xf0\\xda\\xd0\\xcb\\x0f\\x5e\\x72\\xb9\\xd0\\x3f\\xa6\\x71\\x4a\\x6d\\x45\\x4d\\xe3\\x84\\x18\\xfd\\xd9\\xab\\x0f\\x14\\x5e\\x63\\xa6\\x0f\\x87\\x74\\xb0\\x67\\x7c\\x5b\\x3f\\x42\\xb8\\xeb\\x5f\\x47\\xbe\\xbf\\x40\\xb8\\x7d\\xc3\\xf2\\xa7\\x26\\x8f\\x1e\\xbf\\xe2\\xe0\\xd0\\xe7\\x47\\x4e\\xe4\\x5f\\xd9\\x5e\\x0c\\x12\\x7d\\xc1\\xfb\\xe8\\xf9\\xf0\\x2d\\xb6\\x0b\\xf1\\x7f\\x30\\x65\\x41\\x7e\\x15\\x45\\xd3\\x0c\\x0b\\x68\\x0b\\x4d\\xd1\\xe8\\x5a\\x8f\\xac\\x71\\x45\\x45\\x14\\xa4\\x43\\x7f\\x85\\xd4\\xa1\\x65\\x6c\\x97\\x10\\x40\\xf6\\xfc\\x30\\x3d\\x9f\\xbe\\x8b\\x94\\xe5\\x41\\x63\\xca\\xc3\\xa0\\x88\\x81\\xe7\\x45\\x1a\\x1a\\x2d\\x2f\\x12\\x61\\x30\\x95\\xa6\\x57\\x07\\x9a\\x0a\\xac\\x89\\x48\\x0d\\xa2\\xcf\\x10\\xa6\\x08\\x5f\\x97\\xe9\\xc2\\xbf\\x23\\xda\\x34\\xf8\\x37\\x3d\\x9f\\x39\\x53\\xa2\\xad\\x07\\xd5\\x29\\x3b\\xcb\\x43\\x5a\\xaf\\xd5\\x22\\x4d\\x65\\x40\\xfe\\x1e\\xaf\\x01\\x0c\\x8d\\xf3\\x82\\xbf\\xda\\xd4\\xa4\\x9a\\x2d\\x7c\\x8e\\x10\\xa2\\x2a\\x7d\\xa8\\xae\\xaf\\xee\\x9e\\x21\\x1c\\x42\\x3f\\xa8\\x2b\\xd0\\x0f\\x99\\x3a\\xa9\\x01\\xf7\\x7d\\x15\\xe8\\xa7\\x06\\xe9\\xe9\\x00\\x59\\x90\\x94\\x83\\x46\\xed\\x66\\x59\\x0d\\xcf\\xb1\\x48\\x97\\x7d\\x99\\xa1\\x20\\xfa\\xec\\x87\\x9a\\xd4\\x37\\x97\\x69\\xe0\\xb9\\x1a\\xb8\\x58\\x03\\xa7\\x69\\x60\\x9f\\x06\\x36\\x6b\\x60\\xb9\\x06\\x3a\\x34\\x90\\xd1\\xc0\\xef\\x34\\xf0\\x23\\x0d\\xfc\\xb3\\x06\\x1e\\xd0\\xc0\\x47\\x34\\x10\\xde\\xa5\\x81\\x37\\x68\\xe0\\x46\\x0d\\x5c\\x45\\x0a\\xcc\\x90\\x0b\\xc4\\x08\\x7a\\x99\\x08\\x47\\xd8\\xc7\\x34\\xf0\\x01\\x0d\\xfc\\x85\\x06\\x6e\\x22\\xb8\\x29\\x32\\xce\\xab\\x81\\x7a\\x19\\xb0\\x4b\\x03\\xaf\\x25\\x17\\x2b\\x55\\x55\\x89\\xd7\\xcf\\x92\\x49\\x9b\\x35\\x30\\x99\\xd5\\xc0\\xcf\\x35\\xf0\\xa8\\x06\\x1e\\xd2\\xc0\\x0d\\xe4\\xde\\x3c\\x0d\\x9c\\x40\\x0a\\x88\\x17\\xcf\\x25\\x57\\xfa\\xe4\\x56\\x20\\x2a\\xaf\\xa9\\xea\\xf8\\x05\\x01\\xf4\\x91\\x6a\\x2c\\x1a\\x48\\x01\\x0d\\xe4\\x17\\x88\\x22\\x97\\x2f\\x27\\x45\\x62\\x34\\x9c\\x90\\x15\\x4a\\xad\\x4a\\xca\\x4a\\x90\\x60\\xe1\\x23\\x8e\\xd5\\x8e\\x79\\x02\\xda\\x43\\x30\\x09\\x4f\\x2e\\x16\\x4e\\x5e\\xb4\\x58\\x10\\x0c\\xf4\\x74\\xe1\\x42\\xe1\\x22\\x78\\xba\\x78\\x66\\x3c\\xf0\\xa3\\xf9\\xd1\\xd3\\x33\\xd0\\xfc\\x0c\\x90\\xf9\\x01\\xc3\\xcd\\xcf\\xfb\\xb7\\x69\\xe0\\x75\\x1a\\x78\\x21\\xe9\\xfa\\x80\\x06\\x4e\\xd2\\xc0\\x2e\\x0d\\xac\\x23\\x83\\xa9\\xd5\\xc0\\x93\\xf2\\xf0\\xbc\\xaa\\x81\\xbf\\x25\\xc3\\xbe\\x1d\\x4d\\xd4\\x16\\x52\\x60\\x25\\x19\\x19\\x34\\xe2\\x4b\\x4f\\xaa\\x06\\xf1\\xb7\\x32\\x31\\x74\\x2f\\xad\\x81\\x3d\\x64\\x68\\xc4\\xa2\\xe2\\xc8\\xc6\\x64\\xaa\\x87\\xe4\\xeb\\x77\\x92\\x41\\xec\\x90\\xd9\\x22\\xa9\\x9e\\xe8\\x4d\\x32\\xfb\\xcc\\x20\\x4d\\x12\\x99\\xe5\\x5a\\x52\\x47\\xb3\\xaa\\x79\\x47\\x34\\xf0\\x59\\x0d\\xbc\\x8d\\x54\\xdc\\x41\\xea\\xf0\\x92\\xf9\\xcd\\x57\\x85\\x03\\xf9\\x43\\xbe\\xe0\\x54\\x37\\xe4\\x5b\\x83\\x45\\x5a\\x71\\xb8\\x79\\x48\\x86\\x20\\x9d\\x80\\xfc\\xa5\\x8b\\x21\\x73\\xe1\\x62\\x08\\x0d\\xfd\\xf0\\x0a\\x78\\x85\\x70\\xfb\\x28\\x6c\\x2f\\x6f\\xcf\\x7e\\xc8\\xfc\\x0f\\xdb\\x65\\x89\\x00\\x06\\xaf\\xd4\\x00\\x86\\xc2\\x0f\\x73\\x82\\x68\\x3e\\x28\\x08\\xb6\\xf0\\x70\\x03\\x0f\\x57\\xf2\\xb0\\x87\\x87\\x71\\xbc\\x54\\x60\\x25\\xb5\\xb5\\x90\\x04\\x4a\\x30\\x7b\\x80\\x63\\xa8\\x4f\\xb8\\x19\\x48\\x86\\x9d\\x29\\x2d\\x60\\x21\\x03\\xa9\\xdf\\x64\\x90\\x97\\xa2\\x84\\xc8\\xc8\\x60\\x53\\x9f\\xfc\\xf8\\x2e\\x5d\\xc1\\x31\\x53\\x90\\x4f\\x83\\x5c\\x14\\xea\\x35\\x22\\xf3\\xbe\\x94\\x01\\x29\\x11\\x96\\xc4\\x79\\x1c\\xf0\\x20\\x3f\\x5a\\xc9\\xea\\xdd\\xd8\\x10\\x83\\x30\\xf1\\xcd\\x85\\xf4\\x4b\\xe7\\xb3\\x38\\x05\\x02\\x6a\\xd7\\x1d\\xd9\\x27\\xa8\\x3d\\xec\\xaf\\x24\\x3f\\x2f\\x0e\\x06\\x52\\x89\\xba\\x68\\x94\\x0e\\x7a\\xbd\\x34\\x72\\xf8\\x90\\x13\\xd9\\xd0\\x88\\xfc\\xbc\\x4c\\x99\\xe7\\xb6\\x8c\\xa1\\xcc\\x50\\x06\\x6a\\x90\\xbf\\x87\\x33\\x26\\x81\\x06\\x40\\x6b\\x69\\x50\\x53\\x53\\x79\\x5b\\xa6\\x06\\x8a\\x87\\x2a\\x1f\\x90\\x33\\xa1\\xb4\\x7b\\xe2\\xea\\x40\\x35\\x67\\x05\\xd4\\xce\\x20\\xfd\\xbf\\xf8\\x0e\\xfb\\x24\\x87\\x8f\\x93\\x7e\\x43\\xe9\\xb7\\xec\\x30\\xf6\\xcb\\xee\\x20\\xbc\\x4a\\xf9\\x76\\x75\\xf1\\xb5\\x7c\\xff\\xcd\\x8c\\xfc\\xd9\\x52\\xc6\\x6c\\x36\\xb2\\x3a\\x8d\\xce\\x00\\x0d\\x46\\xa3\\x45\\x6f\\x36\\x6b\\x70\\x16\\x55\\x9e\\x26\\x5e\\x92\\x55\\xf4\\x93\\x54\\x8e\\x52\\xce\\x57\\x4a\\x58\\x43\\x2d\\x41\\x67\\xc8\\x9a\\x70\\x8a\\xfe\\xd2\\x01\\xe4\\x8c\\x1d\\x38\\x20\\xfb\\x4b\\xc8\\x15\\x93\\x3c\\x26\\x4a\\xa9\\x8f\\x46\\xa3\\xdb\\x90\\x72\\x42\\x9e\\xd7\\x6a\\x75\\xc8\\xdf\\xd4\\xe9\\x0c\\x1a\\x06\\xb1\\x04\\xab\\x43\\xd3\\x94\\xef\\x92\\x59\\xf3\\x7c\\x32\\xda\\x2a\\x3a\\x65\\xdb\\xe1\\x08\\xe1\\xe0\\x54\\xec\\x94\\xe1\\x3a\\x84\\xed\\xf0\\x11\\xc9\\x2d\\x83\\x59\\x0b\\xaa\\xe3\\x38\\xaa\\x03\\xfb\\xb2\\x48\\xab\\x43\\xc8\\xe1\\x24\\xda\\x92\\x2b\\xdb\\x44\\x1c\\x47\\x3a\\x48\\xd7\\xcc\\x38\\x08\\xdf\\x3f\\x28\\x1c\\x63\\x23\\xf0\\x1c\\xe1\\x26\\xa0\\x94\\xdb\\x0c\\x38\\xec\\xcb\\x72\\x98\\xbd\\x10\\x7f\\x32\\x14\\x4b\\x15\\xf9\\xb2\\xb8\\x05\\x5e\\x88\\x28\\x1c\\x3f\\x2e\\xf9\\x9b\\x4f\\x09\\x63\\x71\\x4c\\x9a\\xb5\\x22\\x1a\\xc7\\xd8\\x2b\\x11\\x0d\\x1d\\x68\\x4e\\xb9\\x11\\xb3\\xf0\\x2c\\x8b\\x88\\xeb\\x39\\x4a\\xc7\\x6b\\x75\\xe8\\x3f\\xa8\\x61\\xa4\\x95\\x36\\x71\\x71\\x2a\\x51\\xe4\\xd5\\xe2\\xa5\\xa9\\x64\\x94\\x77\\xd7\\xcc\\x78\\xe9\\xd8\\xb1\\x97\\x66\\x5c\\x72\\xc9\\x25\\xa8\\x95\\xec\\xe3\\xef\\xbc\\xf3\\xf8\\xe3\\xab\\x57\\xaf\\xca\\x9f\\x37\\x23\\xf6\\x6b\\x19\\xa3\\x51\\xaf\\xd1\\xe9\\xf4\\x7a\\x13\\x3e\\xd1\\x1a\\xcd\\x99\\x3e\\xe7\\xd7\\xe6\\x8f\\xa2\\x3c\\x57\\xea\\x99\\xf2\\x28\\x13\\x25\\xdc\\x2e\\xcf\\x13\\x30\\x51\\x0e\\x0a\\x0b\\x84\\x0e\\x71\\xc6\\xdc\\x54\\x23\\x8d\\x6c\\x24\\x47\\x71\\x94\\x06\\x8d\\x26\\xcf\\x5b\\x0d\\x0c\\x63\\xb1\\xa2\\x48\\x9b\\xfe\\x24\\x63\\xd0\\xb0\\xef\\x1b\\x8f\\x1b\\x29\\xb3\\x31\\x60\\xa4\\x8c\\x46\\x4a\\xcf\\x73\\x6f\\x43\\xea\\x1d\\xf1\\x08\\x45\\xd4\\x80\\x81\\xd5\\x28\\x44\\xcd\\x2d\\xb4\\x4b\\x47\\xe5\\x34\\x25\\xac\\xd2\\x51\\x39\\x21\\x7c\\xb8\\x46\\x82\\x4e\\xf0\\x34\\x4c\\x24\\x5b\\x29\\xd6\\xb7\\xc3\\x27\\xfc\\xda\\x06\\xff\\x70\\xfd\\xc0\\x14\\xd7\\x2f\\x85\\xbf\\xfd\\xbd\\xca\\x40\\x3d\\x7a\\xe7\\x9d\\xa7\\x51\\x55\\x43\\x5f\\x5f\\x08\\x3f\\x10\\x6e\\xfd\\xb0\\x97\\xe8\\xf2\\x06\\xca\\x40\\xad\\x47\\xed\\x2b\\x05\\xd3\\x52\\xd5\\x9e\\x92\\x12\\xa7\\xdd\\xe1\\xd0\\xb8\\xcc\\x38\\x71\\xbf\\xc6\\xeb\\x73\\x58\\x81\\xf5\\x23\\x24\\x92\\x4e\\xce\\xe9\\xf9\\x34\\xe3\\x7c\\x9b\\x33\\x7e\\x94\\xd1\\x6a\\xb9\\xf7\\x50\\xab\\xe2\\xaa\\x2c\\x45\\x72\\xb3\\x12\\xca\\x41\\x0f\\xaa\\x15\\x1e\\x4e\\x39\\x47\\x89\\x64\\xf7\\xc7\\x67\\x15\\x07\\xf9\\x56\\x38\\xff\\xbc\\xcb\\x7f\\x73\\xdf\\x82\\x25\\xde\\x91\\x9a\\x50\\xdf\\xee\\xb5\\x23\\x63\\xbd\\xe3\\xe0\\x1e\\x8f\\x70\\x6f\\xb0\\x81\\x1e\\x5a\\xbb\\xf8\\x8a\\x5f\\x7a\\x5e\\x5c\\xef\\x3f\\x74\\x93\\x07\\xde\\x73\\xdd\\x0b\\xe4\\x4c\\xc1\\xe5\\x94\\x87\\xc2\\xfe\\x90\\x06\\x79\\x34\\x6e\\x16\\x05\\x20\\x5a\\x1d\\x92\\x27\\x1d\\xfb\\x0e\\x43\\x69\\x28\\xcd\\xa7\\x19\\xe4\\x25\\xbc\\x4d\\x5a\\x45\\x5a\\x24\\xa9\\x25\\x9b\\x9c\\x3c\\x1d\\x9f\\xda\\x81\\x9c\\x9a\\xdf\\x8d\\xac\\xa6\\x9a\\x75\\x42\\xff\\x3e\\x78\\x54\\xd8\\xc5\\xf4\\x9d\\x18\\x35\\xe4\\xa7\\x7e\\x25\\xc6\\xa4\\xf5\\x94\\x8e\\xda\\xc8\\x8e\\x01\\x4e\\x50\\x8e\\xf4\\xd0\\xe2\\x54\\xd2\\x48\\x01\\x97\\xc5\\x12\\xd4\\xe9\\x62\\xb5\\x11\\x96\\xf5\\x02\\x50\\x4b\\x19\\x3d\\x55\\x9e\\xaa\\x8f\\x32\\x06\\x8f\\xcf\\x33\\xd1\\x33\\xdf\\xb3\\xc2\\xc3\\x6a\\x69\\x8f\\xc7\\xce\\xdb\\xcb\\x3e\\xca\\xd8\\xdf\\xe5\\x2b\\x3f\\xca\\xf0\\xef\\x81\\xe1\\xb2\\x37\\xb5\\xe7\\x9d\\x14\\x9c\\x90\\x4f\\xec\\x73\\xe0\\xf4\\x4c\\x16\\x31\\x58\\x4d\\xca\\x8f\\x4b\\x59\\x87\\x7c\\xfc\\x3d\\x47\\x3b\\xa4\\x41\\xe3\\xa8\\x8d\\x3b\\x5a\\xbb\\x85\\x3f\\xac\\xdc\\x78\\xc6\\x9c\\x58\\xf3\\xf5\\x3f\\x5f\\xbe\\x52\\xd8\\x93\\x6a\\xee\\x2c\\x0f\\xb7\\xb4\\x0e\\xd6\\x35\\x5c\\x39\\xbf\\xaf\\x97\\xb9\\xf5\\xc1\\x7a\\xfb\\xf4\\x2e\\xe1\\xab\\x15\\x83\\xa7\\x9f\\x6b\\xb7\\x65\\x5a\\x97\\x5f\\x34\\xb8\\x67\\xc6\\xca\\xb9\\xb5\\xe1\\xa5\\x42\\x79\\x6b\\xc3\\x3b\\x67\\x5e\\x80\\xcf\\xe7\\xa6\\xdc\\xd4\\xe3\\xcc\\x5c\\x50\\x02\\xde\\x4b\\x6d\\x37\\xb0\\x28\\x88\\xe3\\xdd\\x0e\\x07\\xb2\\x1e\\xd6\\x52\\xaf\\xd9\\x1b\\xf7\\xf6\\x78\\x07\\xbd\\x2b\\xbd\\x5b\\xbc\\x77\\x7a\\x9f\\xf5\\x6a\\xb2\\x5e\\x38\\xc5\\xbb\\xd1\\xbb\\xcf\\x4b\\xc7\\xbd\\xd0\\x8c\\xee\\xad\\x44\\xd7\\x8f\\x78\\xb3\\x5e\\x6e\\x46\\x00\\x61\\xd3\\x08\\xbb\\x01\\x61\\xf7\\x22\\xec\\x7b\\x5e\\xed\\x11\\xef\\x31\\x74\\x8b\\xf6\\xa6\\xfa\\x26\\x8d\\x5b\\xe5\\xbd\\xcb\\x4b\\x05\\x10\\x82\\x8a\\x23\\xd0\\x16\\x04\\x38\\xe6\\x65\\x81\\x17\\x1a\\x69\\x03\\x6f\\xd2\\x6b\\x3e\\xca\\x20\\xf9\\x32\\xb2\\x7e\\x16\\x45\\x61\\x2c\\x65\\xa2\\x3e\\xce\\x98\\x4d\\xd0\\x40\\x9b\\xdc\\x29\\xe4\\xa5\\xba\\xdd\\x8e\\x8f\\x32\\xee\\x77\\xc4\\x05\\x10\\x7c\\x7e\\x85\\x98\\xad\\x1f\\xfd\\x81\\x7e\\x59\\xc9\\x1a\\x08\\x1a\\x4f\\x88\\x6d\\xef\\xea\\xd5\\xb1\\xd5\\xc8\\x9c\\x62\\xf3\\x6a\\xb5\\xa9\\x93\\x63\\x91\\x17\\xb1\\x48\\x2a\\x2c\\xe5\\xe4\\x3d\\xa2\\xfb\\xf1\\x49\\x7c\\xad\\x14\\x6c\\xae\\x9c\\xe7\\x4c\\xed\\x99\\xd3\\xa2\\x79\\x93\\x5d\\x78\\x55\\x7b\\x3f\\xdf\\x39\\x46\\xf3\\x7d\\xb7\\x91\\xfe\\xc3\\x88\\x99\\x09\\xe1\\x36\\x28\\x98\\xa3\\x67\\x9e\\xdf\\x39\\x4a\\xd7\\x24\\x3c\\x64\\xaa\\x82\\xb3\\xfa\\xc8\\x3b\\x00\\xd9\\x1e\\x2a\\x0a\\xaf\\xb7\\xf0\\x74\\x18\\xbc\\x3d\\x54\\x4a\\xe2\\x55\\x2a\\xdb\\x03\\xbf\\x20\\xd7\\x22\\xe0\\x75\\xf1\\x5a\\xf6\\x68\\x36\\x45\\xb1\\x70\\x0b\\xba\\x56\\x25\\xe3\\xb2\\xdf\\x64\\x27\\x52\\xe3\\xe1\\x46\\x0b\\x4f\\xdd\\x93\\xbd\\x46\\xba\\x26\\xa0\\xb2\\x9f\\xe1\\xb2\\xec\\xf2\\xec\\x43\\xf8\\x1a\\x9a\\x9b\\x91\\x38\\xd7\\x0c\\x7b\\x29\\xb2\\x92\\x37\\xa7\\xd2\\xb1\\xa0\\xc6\\xed\\x6e\\xb4\\xd0\\x65\\x61\\xbf\\x3f\\x12\\xb1\\x03\\x87\\x23\\x1e\\xc7\\xd6\\xb2\\x02\\x84\\xcb\\xc2\\x83\\x99\\xa0\\xdd\\x5c\\x16\\x28\\xa3\\x0c\\x74\\x59\\x99\\xab\\xae\\x2e\\x3e\\x98\\x89\\xd5\\xd5\\x45\\x06\\x33\\x75\\x0e\\xce\\x38\\x98\\xd1\\x9a\\x39\\xa8\\xa5\\x39\\x97\\x7f\\x30\\xe3\\x71\\xb9\\x1c\\x83\\x19\\x97\\x59\\x5a\\x4e\\x02\\x84\\x21\\x95\\x13\\xee\\x73\\x3c\\x2a\\xea\\x15\\x22\\xc1\\xb6\\xc2\\xe3\\xb8\\xc4\\xd3\\xdd\\xf0\\xb2\\x8e\\x05\\x04\\xf1\\x61\\x6e\\xc9\\x88\\x74\\x96\\x9b\\x9d\\x1c\\x60\\x95\\x8c\\xc4\\x90\\x93\\x92\\x44\\x5e\\x7d\\x34\\x44\\x93\\xb3\\x7e\\x70\\x02\\x32\\xf8\\xef\\x23\\x9f\\xc0\\x6e\\x58\\xb9\\x63\\x5f\\x55\\x3f\\x33\\x73\\xf5\\x93\\xbf\\x5b\\x3c\\xa7\\x73\\x83\\x9e\\xae\\xa9\\x9d\\xc8\\x8e\\xb9\\x6d\\x79\\xdb\\x1f\\xab\\xc7\\x25\\xc7\\xd1\\x7f\\xec\\xb8\\x66\\x5f\\x4f\\xef\\xc4\\xae\\x1f\\x77\\xeb\\xaf\\x80\\xbb\\x5f\\x7d\\x1a\\x7a\\x61\\x4b\\xc3\\xc9\\x6b\\x47\\x0a\\x27\\x2f\\xfb\\x85\\x1e\\xce\\xb4\\x75\\x9d\\xb8\\x5e\\x27\\xbc\\xb4\\x4c\\x38\\x74\\x96\\xf0\\xa8\\x7e\\x97\\x70\\xbc\\xcb\\x8e\\xe4\\x74\\x4c\\xf6\\x42\\xf6\\x4c\\xf6\\x15\\x10\\x03\\x4d\\xa0\\x0d\\xdc\\x9e\\x9a\\xe5\\x6c\\x4b\\xf0\\x8c\\xc6\\xa1\\xd1\\xb2\\x2d\\xad\\x2e\\xc6\\xcd\\x30\\xb4\\xc3\\xee\\xf6\\x78\\x4a\\xca\\xed\\xb6\\x78\\x90\\xa2\\xeb\\x75\\x5a\\x83\\xb1\\xca\\xeb\\x35\\xb6\\x8f\\x28\\x6f\\x6d\\x6d\\x6b\\x8b\\x5b\\xe3\\x0b\\x33\\x25\\x2e\\x97\\xd3\\xe9\\xb1\\xfb\\xac\\x4c\\x7d\\x22\\xd1\\xd2\\x12\\x0c\\x86\\x40\\x08\\x8d\\x1c\\xad\\xe3\\x91\\x91\\xa1\\xa8\\x2a\\x9c\\x88\\x4d\\x7e\\xd2\\x71\\x90\\xbc\\xe9\\x26\\x7e\\x47\\xb1\\xe8\\xc1\\x26\\xf2\\x4d\\xb9\\x26\\x6a\\x3d\\x9b\\x12\\x96\\x8a\\xdf\\xe4\\xfc\\x6c\\x78\\x7c\\xf0\\x0f\\x2c\\xdc\\xb6\\xca\\x0e\\x88\\xb8\\xd1\\x8d\\x3e\\x2e\\x37\\x1d\\x6a\\x89\\x44\\xa1\\x8b\\x9c\\x1a\\x9d\\xa0\\x91\\x5d\\x75\\xb8\\xa1\\x09\\x52\\x76\\x97\\x1b\\x46\\xa2\\xd4\\x1d\\x7d\\x13\\x7a\\xa6\\x8f\\x6b\\xa9\\x9f\\x3b\\xfd\\xec\\xb3\\x57\\xbe\\x06\\x2f\\xfb\\x4f\\x68\\xe4\\xf4\\x51\\xab\\xc6\\x4e\\x9f\\x38\\x67\\x72\\xcb\\x8c\\xea\\xa6\\xa1\\x97\\xbb\\x66\\x9c\\x76\\xb0\\x6b\\xd2\\xcc\\x51\\xab\\x85\\xaf\\x84\\x41\\x3f\\x7c\\xef\\x97\\x9f\\x6e\\xec\\xf3\\xd7\\x51\\x8d\\xcd\\x23\\x1c\\xfa\\x8b\\x7e\\x6e\\x74\\xef\\xfb\\xd3\\xb8\\x4f\\xb7\\xfe\\x1b\\xae\\x3f\\x7c\\xf1\\x46\\xed\\x35\\x37\\x1b\\xad\\xc2\\xde\\x17\\x02\\xce\\x93\\x0f\\x7b\\xdb\\x6b\\xdf\\x16\\x1e\\x0c\\xc7\\xa9\\xb2\\xf3\\x32\\xf4\\xdd\\xf6\\xdf\\x09\\xcf\\x0b\\x9e\\x86\\x10\\x93\\x32\\xd0\\x84\\x07\\x71\\x5e\\xf9\\x33\\xd9\\x89\\xa0\\x1e\\x2c\\x4f\\xb9\\x2d\\xac\\xdf\\xdf\\x10\\x05\\xfa\\x7a\\xda\\x60\\x88\\xd5\\xd4\\xb8\\xdd\\xf1\\x06\\xbd\\x86\\xd6\\xec\\x87\\x96\\x94\\x2b\\xc3\\x01\\x9a\\xae\\xab\\x8b\\x21\\x9e\\xf3\\xa2\\x81\\x2b\\xf3\\x32\\x86\\x1a\\x47\\xcd\\x7e\\xe8\\x7a\\x34\\x63\\x71\\xd8\\x95\\x93\\xee\\x09\\xcb\\x89\\x4b\\x97\\x39\\xd3\\x25\\x6a\\x40\\x77\\x42\\x3e\\xb2\\x0a\\x92\\xa3\\xf5\\x68\\x7c\\x6a\\x06\\x4f\\x4b\\xa3\\x11\\x2a\\x07\\x56\\x34\\x5e\\xe4\\x7a\\x0b\\x3e\\x3c\\x90\\xa1\\x64\\x8e\\xa3\\x1f\\x49\\x6e\\x4f\\x37\\x84\\x46\\x24\\x6b\\x27\\xac\\x6a\\xee\\xb8\\x61\\xda\\xe8\\x99\\x23\\xd0\\x20\\x5c\\x26\\x7c\\x28\\xbc\\x84\\x07\\xea\\x83\\xef\\x5b\\x66\\xb4\\xde\\x3a\\xe3\\x1e\\xe1\\xc4\\x4d\\xe7\\x2c\\x5f\\x72\\x9e\\x1e\\xae\\xa7\\x46\\x9e\\x75\\xbe\\x4e\\xd8\\x7b\\xcd\\xc4\\xe9\\xc2\\x83\\xbe\\xae\\x47\\x85\\x37\\xc2\\x71\\x18\\x85\\x00\\x0f\\x4e\\x33\\x1a\\x96\\x58\\x7c\\xbf\\xf0\\xf0\\xeb\\x77\\xfc\\xb5\\x86\\x1a\\xeb\\x19\\x85\\xfc\\x81\\xa3\\x48\\x0e\\x71\\x7c\\x1b\\x00\\xcf\\xa5\\xce\\x73\\x3b\\xec\\x06\\x46\\xaf\\xf7\\x78\\x9c\\x66\\x16\\x96\\x51\\x94\\xd7\\xef\\x2f\\x67\\x83\\x66\\x6b\\xc0\\x1a\\xb7\\x22\\x0f\\xd5\\x6a\\xb5\\x1b\\xec\\xe7\\x66\\x80\\xc9\\x62\\x2a\\x37\\xa1\\xbf\\x4d\\x26\\x83\\xbb\\x0c\\x96\\xad\\xcd\\x38\\x20\\x3e\\x4e\\x26\\x6e\\x48\\x1b\\x18\\xb3\\xa1\\x07\\xfd\\xda\\x60\\xd8\\x4b\\x8e\\xea\\x39\\x66\\xd0\\xe8\\x69\\xe4\\x15\\x42\\xc6\\xe3\\xf7\\xfa\\xd7\\x66\\xbc\\x1e\\x46\\x7f\\x6e\\xc6\\xcc\\x43\\x33\\xcd\\xf3\\xc8\\x45\\x5a\\x9b\\x61\\x38\\x20\\xad\\xf6\\x8a\\xa7\\x94\\x90\\x3f\\x6c\\xc4\\xeb\\x45\\x17\\x56\\xcb\\x9c\\x27\\xd9\\x16\\x09\\x27\\x1f\\xd8\\x8b\\x70\\xaa\\xe3\\xf3\\xec\\xe4\\xf0\\x74\\x5a\\x14\\xd1\\x20\\x11\\xd1\\x20\\x2f\\x1e\\x00\\x1d\\xec\\xa1\\x42\\x81\\x3b\\x6e\\xb9\\xcf\\x48\\xef\\x4d\\x2d\\xd0\\x2d\\xbc\\xfc\\x67\\x8b\\xa0\\xbd\\x2d\\x33\\x3a\\xc3\\x09\\x5f\\x06\\x3f\\xb1\\x7d\\x52\\xfe\\x88\\x71\\x68\\x93\\xf1\\xee\\xf2\\x3b\\xe0\\x46\\x7a\\x6e\\xe9\\x78\\xe1\\x96\\x2f\\x4d\\x43\\x47\\x7f\\x2e\\x9c\\x7f\\xfd\\xd3\\x67\\x3c\\xe1\\x1d\\x3f\\xde\\xfb\\x84\\xe8\\x3b\\xe1\\xbc\\x92\\x14\\xe2\\x97\\x2a\\x70\\x5f\\x6a\\xb0\\x2a\\x14\\xa2\\x4b\\x4b\\x6b\\xc2\\x91\\x0a\\xa0\\x37\\x99\\x6d\\x8c\\x43\\xa7\\x03\\xa0\\xa2\\xc2\\x81\\x82\\x77\\x87\\xa3\\xa6\\x5a\\x0f\\x22\\x60\\x6d\\xc6\\x14\\x31\\x87\\x2b\\xc2\\x6b\\x33\\xb6\\x8a\\xf2\\xc8\\x94\\xc8\\xc2\\x08\\x6d\\xae\\x08\\x54\\xf4\\x54\\xa4\\x2b\\x18\\x2d\\x1d\\xa9\\x88\\x54\\xb0\\x6e\\x77\\x60\\x6d\\xc6\\xec\\x0b\\xf8\\x28\\x2d\\xed\\xf3\\xb9\\x71\\x54\\xc9\\x52\\xeb\\x32\\xac\\x07\\x48\\x36\\x15\\x99\\x78\\x75\\x24\\x80\\x0d\\x81\\x3c\\x26\\xf9\\xce\\x91\\x22\\x8d\\x92\\x22\\x13\\x97\\xa7\\x39\\xe4\\x7b\\x20\\xfd\\xd4\\x0d\\x5b\\xa2\\xa1\\x64\\x02\\x7f\\x90\\xf1\\xad\\x0c\\x36\\x61\\x89\\x24\\xef\\x02\\x39\\xd1\\x7d\\x77\\x82\\x87\\x07\\xf9\\x5d\\xd4\\x39\\xe1\\x1f\\x6f\\x71\\x2e\\xc8\\xcc\\xa5\\x8e\\xd8\\xee\\xae\\x3c\\xdb\\x86\\x22\\x4e\\x0b\\xe4\\xba\\x2e\\x3e\\xaf\\x75\\xb6\\x76\\x52\\xe6\\xb2\\xcd\\xd0\\x67\\x13\\x4e\\x70\\xc7\\x6c\\x14\\xff\\xc8\\xe6\\x43\\x17\\x8e\\xeb\\xbd\\x71\\x5a\\xd9\\x92\\x33\\x96\\x54\\x45\\xdf\\xf9\\x87\\xd9\\x27\\x1c\\x79\\xa1\\xe5\\xc3\\x57\\xd1\\x9f\\xe4\\xec\\x6f\\xe1\\x3b\\xf6\\x4d\\xe6\\x0e\\x14\\xd6\\x6c\\x4d\\x4d\\x2a\\x45\\x0e\\x96\\x53\\xab\\xd3\\xb9\\x9c\\x78\\x55\\xa6\\xbc\\xdc\\xa4\\x41\\xe6\\x30\\x58\\x51\\x51\\x55\\x0f\\x40\\xcc\\xe4\\xac\\x72\\x56\\x35\\x36\\xd5\\x23\\xc9\\xaa\\x77\\x84\\xc2\\x61\\x3f\\x53\\x5e\\x5e\\xca\\xda\\xed\\xa5\\xa5\\x94\\xc5\\x6f\\x59\\x94\\xf1\\xd3\\x41\\x8f\\xc7\\x85\\x34\\x3b\\xed\\x74\\xe8\\xb5\\x1a\\x07\\xe8\\x79\\x35\\xd1\\x43\\xe2\\xa3\\x83\\x3d\\xa2\\x0e\\x57\\xfd\\xa7\\xac\\x97\\xdb\\xda\\x13\\x05\\x6b\\x66\\xea\\x73\\x93\\x25\\x73\\x69\\xa6\\xe8\\x10\\x1d\\x82\\xf6\\xd6\\x16\\xd1\\x76\\x06\\x89\\x7e\\x17\\x5f\\x8c\\xb2\\x27\\x68\\xe9\\x71\\x3a\\x3e\\x90\\xdc\\xde\\xca\\x1c\\x18\\x97\\x18\\x35\\x8f\\x3f\\xfd\\xf8\\xed\\xab\\xa0\\x6b\\xa4\\xab\\xbf\\xe1\\x82\\xca\\xe5\\xc2\\xbf\\x7f\\x91\\x31\\xc2\\x71\\xf4\\xb8\\x9d\\x8b\\x27\\x2e\\x32\\xfe\\x75\\xd5\\xd6\\x89\\x99\\x39\\xcb\\xac\\x83\\xe7\\x1a\\x85\\x4b\\xce\\x70\\x51\\x6f\\x2c\\x1a\\xbf\\xdd\\x3f\\xf4\\xaa\\xf0\\x1d\\x7c\\x07\\x2e\\x3b\\xb7\\x6a\\xd1\\x15\\x83\\x43\\x7b\\xe8\\xa9\\x25\\xa3\\x76\\x9f\\x36\\x38\\xb9\\x1f\\xae\\xce\\x82\\xe8\\xca\\xc5\\xe1\\xc1\\xa1\\x2f\\x3c\\xa3\\xa8\\xf6\\x73\\x51\\xf4\\x22\\xe6\\xa8\\x47\\x72\\x18\\x06\\xd5\\xf8\\x5c\\x29\\x90\\x00\\x7f\\x48\\xad\\x8b\\x57\\x45\\x69\\x86\\x6a\\x70\\xd7\\xd5\\x34\\x31\\x2e\\x4f\\x6d\\xac\\x91\\x49\\x94\\x04\\x2a\\x42\\x80\\x41\\xc2\\x99\\x28\\x81\\x25\\x65\\x4c\\xa4\\xba\\x9e\\x69\\x60\\x09\\x03\\xda\\x75\\x0d\\x2c\\x6b\\x77\\xd1\\xba\\x32\\x5d\\x4b\\x73\\x59\\x89\\xdd\\x69\\x1f\\xcc\\x00\\xa6\\x89\\x36\\x18\\x0d\\x83\\x99\\x50\\xa4\\x86\\x36\\x56\\x54\\xd7\\xd1\\x16\\xab\\x65\\x30\\xe3\\x0e\\xd4\\xd3\\x56\\xb3\\x15\\xea\\x69\\xa3\\xd5\\x68\\xd5\\x34\\x78\\x9d\\x34\\x0e\\xdf\\x06\\x33\\x1a\\x5b\\x82\\xb2\\x61\\x17\\x5c\\x52\\x68\\x62\\xb0\\x81\\x25\\xce\\x8d\\xd9\\xcd\\x9d\\x90\\x7f\\x2b\\x06\\xb4\\x1d\\x5d\\x91\\x19\\xcf\\x2d\\x2f\\xac\\xc9\\x7f\\x89\\xbf\\xf0\\x9b\\x28\\x21\\x14\\x38\\x89\\x47\\x04\\xe1\\x83\\x2d\\xd1\\x07\\x8f\\xb6\\x3d\\x28\\x9d\\xb7\\x88\\x85\\x34\\xc1\\x87\\x83\\xd1\\x10\\x8b\\x6e\\x86\\x13\\x51\\x18\\x72\\x33\\xcf\\xcf\\x5c\\xfb\\xa5\\xb0\\x70\\xf4\\x5e\\x83\\x10\\x32\\x3c\\xdc\\xf7\\x84\\xf5\\xc9\\xf2\\x27\\x6d\\x4f\\x8e\\xbc\\xcf\\x08\\x1f\\xfe\\x08\\x96\\x8e\\xdc\\x6b\\x84\\xef\\x18\\x1f\\x1e\\xf9\\x84\\xed\\x89\\xf2\\x27\\x6c\\x3f\\xf2\\x70\\x20\\xf3\\x21\\x95\\x59\\x50\\xfe\\xa6\\x60\\xbb\\xeb\\x3c\\x6a\\x59\\xa9\\x1d\\x7e\\x22\\x94\\xa2\\xcf\\x25\\x58\\x7c\\xe1\\x65\\x4b\\xf6\\x2f\\x81\\x6b\\x90\\x60\\xc7\\xf0\\xcf\\xf1\\xa5\\xc2\\xf5\\xe8\\xc2\\x92\\xfd\\xfb\\xf7\\x2f\\x39\\x3e\\x74\\x7d\\x94\\xc4\\x5f\\x87\\xb2\\x5f\\xf0\\x17\\xa0\\xf1\\x9f\\x01\\x06\\xc0\\x8b\\xa9\\x15\\xcd\\xc1\\xc6\\xca\\xca\\x81\\x99\\xe1\\x70\\xac\\x31\\xd3\\xdd\\x96\\xec\\xe8\\x68\\xf1\\x05\\xdc\\xfa\\x69\\xd3\\x02\\x19\\xba\\x86\\xa2\\x26\\x5a\\x6b\\xac\\x0b\\x06\\x81\\x06\\x89\\x2e\\x8d\\x54\\x19\\x4d\\x83\\x40\\x47\\x5b\\xc7\\xda\\x4c\\x4b\\xdb\\xcc\\x4a\\xa4\\xde\\x66\\x22\\xd7\\x0f\\xb4\\xcd\\x9c\\xd9\\x06\\xe8\\xba\\x9a\\xba\\x81\\x73\\x33\\x75\\xb1\\xb5\\x99\\x3a\\x2e\\x5c\\x53\\x55\\xb3\\x36\\x53\\xe5\\x19\\x39\\xde\\x31\\x7e\\x6d\\xa6\\xa1\\x2f\\xd5\\x47\\xf5\\xf5\\x95\\x38\\x4a\\xf0\\xf2\\x61\\x5c\\x54\\x6e\\xd2\\xb8\\xe3\\x78\\x1f\\xb8\\xb1\\xbc\\xcb\\x6a\\x2f\\x4f\\x0b\\xca\\xb9\\x51\\x95\\x01\\x97\\x3e\\xd8\\x84\\xe3\\xcb\\xc4\\xd9\\x56\\x1f\\x44\\xeb\\xc6\\xe7\\x8a\\xe1\\xc7\\xbc\\x51\\xf9\\x54\\xf7\\x50\\x92\\x8b\\x49\\xa7\\xed\\xe3\\x39\\x20\\x0e\\x23\\x8f\\xf7\\x08\\xe0\\x13\\x55\\x95\\x33\\x9b\\xe5\\xc3\\x6d\\xeb\\x21\\x79\\x9e\\xc9\\xca\\x07\\xec\\x71\\xb7\\x2e\\xbd\\xa0\\x72\\x94\\xcd\\x98\\x0a\\x35\\x74\\xcd\\x3f\\x67\\x62\\xf5\\x23\\xf7\\xf5\\x5e\\x1f\\x9d\\xb2\\x76\\xc9\\x19\\xfc\\xc8\\x25\\xfc\\x15\\x6f\\xaf\\x9a\\xb0\\xce\\x28\\x98\\x8d\\x03\\xaf\\x2c\\x32\\xc0\\x3b\\xbf\\xf9\\x74\\x4c\\xcf\\xec\\x3b\\x97\\x87\\x37\\x5b\\x37\\x8f\\xe4\\x7c\\xee\\xda\\xd6\\x92\\x51\\x76\\x77\\x6f\\xa2\\x6d\\x8c\\x27\\x36\\x7e\\xcf\\xbd\\x27\\xf7\\x07\\x6e\\xbd\\xe5\\xf4\\xc1\\x4a\\xea\\xa0\\xff\\xd5\\x29\\xa5\\x15\\x75\\x55\\x89\\x8a\\x58\\x72\\x7c\\xfd\\x45\\x17\\xfb\\x9d\\x4d\\x93\\x67\\x7a\\xe3\\x70\\x75\\xf4\\x74\\x61\\x16\\x9e\\x44\\x66\\x5d\\xe9\\xf8\\xdb\\xef\\x1d\\x7c\\x6e\\xb4\\xfe\\xe8\\x1b\\x0b\\x84\\xeb\\x22\\x9e\\x6a\\x9f\\x79\\xf3\\xa4\\xfa\\xea\\x86\\x46\\x67\\xa0\\xc4\\xdb\\x75\\xf5\\xea\\x4b\\xfa\\xf7\\x3d\\x7b\\xd6\\xcf\\xb0\\xaf\\x1a\\xcf\\x7e\\xa1\\xb9\\x82\\xac\\x15\\xb5\\x34\\xe1\\x9c\\x5e\\xb3\\x58\\x7c\\x08\\x11\\x07\\x62\\x38\\xcf\\x32\\x9a\\x63\\xbc\\x67\\x2d\\x8e\\x24\\xac\\x15\\xb4\\x83\\xa3\\xa9\\x8b\\xda\\x6b\\xe3\\x3e\\xc6\\x9b\\xf4\\x3a\\x6d\\x56\\x13\\x63\\x74\\x19\\x93\\xba\\x46\\x6d\\x53\\x53\\x22\\xd1\\x80\\x4c\\x57\\xc0\\x90\\x2c\\x8f\\x55\\xb5\\x32\\xcd\\x81\\x40\\x99\\xb6\\x99\\x67\\x68\\xc0\\x44\\x35\\x9a\\x60\\x4d\\x75\\x0b\\xd3\\x5c\\x51\\x11\\x8d\\x36\\x97\\xf9\\xeb\\xeb\\xda\\x92\\x2e\\xed\\x88\\x8e\\x32\\xaf\\xb7\\xc2\\x85\\x95\\x55\\x7b\\xab\\x9e\\x37\\x5b\\xcc\\x83\\x99\\x86\\xda\\x2a\\xc6\\x82\\x42\\x34\\xda\\xee\\x40\\xb2\\x58\\xee\\x03\\x8e\\xb8\\x03\\x5a\\x1c\\x16\\x87\\xb1\\xd2\\x43\\x37\\x27\\x93\\x5a\\x23\\xf6\\x1d\\x12\\xe2\\x29\\xb1\\x48\\xce\\x06\\xac\\x52\\xc8\\x2b\\xcd\\xa8\\xfc\\x5d\\xd6\\x74\\xd2\\xfa\\x32\\x9a\\xf6\\x26\\xab\\xec\\x81\\x29\\xfe\\x17\\x09\\xb6\\xa4\\xef\\x72\\x90\\x8c\\xe5\\x0a\\xe9\\x77\\xac\\xe8\\xb0\\x04\\x26\\x83\\xd8\\x00\\xd0\\x44\\xe6\\x90\\xec\\x25\\x64\\xf9\\x43\\x01\\x34\\x11\\x3c\\x37\\x32\\x10\\x10\\x7d\\x4d\\x86\\xb8\\xd3\\x1e\\xb7\\xbd\\x3e\\x0b\\x6a\\x6c\\xc2\\xd1\\xe3\\x0b\\x16\\x1e\\xfd\\xd7\\x92\\x49\\xc2\\x43\\x36\\xd8\\xe4\\xfd\\xde\\xf6\\x97\\xd6\\xcb\\x8c\\x54\\xb3\\x71\\x67\\x03\\x34\\xef\\x5f\\x3c\\x06\\x7a\\x76\\xed\\x32\\xc2\\x7d\\xc6\\x0b\\x86\\x3e\\x39\\x63\\xda\\x5b\\x43\\x3b\\x17\\xcd\\xf9\\x9f\\x13\\xbf\\x0a\\x95\\xc1\\x33\\x7c\\x55\\x43\\x97\\xfb\\x2a\\xe9\\x65\\x48\\xce\\x86\\x4e\\x52\\x2c\\xfe\\x48\\x32\\x88\\xa5\\x0f\\x5e\\x2a\\x6c\\x10\\xbf\\x0f\\xad\\xde\\x8f\\xff\\x09\\xbb\\x7a\\x46\\x8c\\x20\\xcf\\xe6\\xab\\xb3\\xef\\x31\\xdb\\x98\\xeb\\x40\\x05\\xe8\\x05\\x5d\\x29\\x9d\\xaf\\x57\\xaf\\xef\\xad\\xab\\x83\\xbd\\xdd\\x23\\x8d\\xf0\\x34\\x74\\xad\\x15\\x9e\\x09\\x32\\xa0\\x17\\x0e\\x22\\x3b\\x63\\x27\\xdf\\x21\\x5c\\x94\\x7b\\x62\\x8a\\xc6\\x20\\x6e\\x6d\\x8f\\x5b\\x0e\\x34\\x36\\x54\\x4b\\x07\\xa7\\x76\\x53\\x89\\x26\\x27\\xe1\\xe9\\x0e\\xd8\\xd4\\x6a\\xb3\\x27\\xb1\\x8e\\x77\\x72\\x94\\x09\\xd2\\xa2\\x8a\\x37\\x51\\xa1\\x8a\\x16\\xbb\\xc8\\xd9\\x28\\xf4\\x34\\x43\\x72\\xc0\\x5d\\x29\\x4c\\xd2\\xa3\\x84\\x73\\x3a\\xe2\\x9a\\x59\\xb4\\x6b\\x8a\\xc5\\xd0\\xc7\\xf9\\x2a\\xde\\x9c\\xba\\x3c\\xed\\xe5\\xe8\\x69\\x76\\x3b\\xdf\\x3b\\x69\\xd5\\x75\\x1d\\xcd\\xdc\\x2c\\xa6\\xbb\\x46\\x6b\\x1d\\xc5\\x95\\x94\\xff\\x6d\\xf6\\xb9\\x53\\x78\\x96\\x9b\\x69\\xb2\\x18\\x6f\\x79\\x24\\x52\\xa5\\x6b\\x81\\x5f\\xd9\\xdc\\x5d\\x3a\\xe1\\x72\\xaf\\xc5\\xad\\xbb\\x1d\\xce\\x87\\x6c\\x83\\xbd\\xa7\\x74\\x8b\\xb0\\xf8\\xdf\\xef\\xd1\\x3f\\x54\\xd6\\x7b\\xaa\\x84\\x92\\x92\\x64\\x89\\x11\\x5e\\x14\\xb0\\xda\\x74\\x87\\x84\\xd3\\x7e\\xd1\\xe0\\xea\\xf6\\xc2\\x24\\xd5\\x8b\\x73\\x81\\xd1\\xd9\\xe7\\x84\\x0f\\x99\\x45\\xec\\x75\\xf8\\x79\\x08\\xe2\\xd5\\xab\\x53\\xe3\\x2b\\x9c\\xee\\x52\\x06\\x05\\xa2\\x65\\xda\\x78\\x3c\\xc0\\x20\\xb7\\xbd\\xac\\xac\\xb1\\x1a\\x98\\xcd\\x0d\\x8d\\x8c\\xa7\\xc4\\x93\\xce\\x04\\x4a\\x4a\\xec\\x7e\\xbf\\x77\\x72\\xc6\\x0f\\x2a\\xc2\\xf6\\x70\\x3a\\xe3\\xb4\\x5b\\xe2\\x5a\\x6d\\xad\\xa1\\x76\\x2a\\x1a\\x23\\xf4\\x31\\xb8\\x34\\xec\\xe4\\x8c\\xc6\\x29\\x0e\\xd6\\x81\\x98\\xa4\\x52\\x64\\xe7\\x55\\x0a\\x8f\\xf2\\xdf\\x6d\\x14\\x7d\\xac\\x26\\x99\\xd3\\xf0\\x81\\xab\\x41\\xde\\x8e\\xf5\\x46\\x54\\x3a\\x90\\x1c\\x9f\\x6a\\xe9\\x6e\\x95\\x8e\\x2b\\xc6\\xee\\x16\\xc4\\x3a\\x87\\xbc\\xe4\\x82\\xdf\\x2e\\x4e\\x79\\x18\\x50\\x52\\xf3\\xe8\\xe9\\x06\\xe1\\x31\\xbe\\xe3\\x57\\xe3\\xd7\\x6c\\xbe\\xf4\\x1f\\xd7\\x9f\\x3d\\x92\\x33\\xbd\\x6e\\xfb\\x93\\x6b\\x87\\x01\\x3e\\x1a\\x5d\\x62\\x13\\x06\\x1c\\xd3\\x03\\x7d\\xe7\\xf5\\x75\\x34\\x06\\x57\\x54\\x0b\\x1f\\x6e\\xd9\\xc2\\x2e\\xfb\\x51\\x57\\xd2\\x79\\x43\\x7a\\xe6\\xbe\\x6d\\x0f\\xc3\\xfa\\xbd\\xbe\\x71\\xf3\\x96\\x5e\\xe6\\x19\\x79\\x74\\xa9\\xf0\\x89\\xc3\\x77\\xfd\\x37\\x1b\\x96\\x5e\\x38\\x75\\x84\\xe8\\x8f\\xfd\\x2b\\xfb\\x05\\x93\\x24\\xfe\\xfb\\xaf\\x53\\x4b\\x1d\\xee\\x52\\xda\\xef\\xaf\\xf3\\x39\\x9d\\x06\\x48\\x73\\xc8\\x5b\\x8f\\x37\\x84\\x0d\\x86\\x06\\x37\\xfa\\x8e\\x1c\\x54\\xce\\x5f\\x07\\xeb\\xd6\\x66\\x4a\\x21\\x7e\\x9b\\xfb\\x18\\x47\\x6b\\xe3\\x10\\xe2\\x1d\\x4f\\x34\\x07\\x51\\xf8\\x58\\x55\\x15\\x5c\\x9b\\x19\\xac\\x84\\xa0\\x12\\x85\\x92\\x95\\x95\\x55\\x25\\x5a\\xeb\\xda\\x4c\\xb9\\xa9\\xc1\\x94\\x32\\xd1\\x53\\x4c\\x0b\\x4d\\xab\\x4c\\xcf\\x99\\x5e\\x33\\xb1\\x26\\x93\\x96\\xc7\\x6b\\x2e\\xe4\\x64\\x44\\xd1\\x31\\xcb\\xf3\\xcc\\x56\\x2f\\xc8\\xf7\\xcd\\xe4\\x35\\x19\\xb7\\xbc\\xd9\\xc1\\x8d\\x17\\x67\\x12\\x64\\xb4\\xb0\\xb7\\xaf\\x38\\x61\\x58\\x48\\x4d\\x10\\xff\\xe4\\x25\\xcd\\x4b\\x63\\x45\\xdd\\x85\\x84\\x91\\x3f\\x47\\x6f\\x3e\\xc7\\xba\\x2e\\x0d\\x2b\\xdf\\x3e\\x7d\\xf3\\xf4\\xfa\\x0c\\x35\\x7e\\xd9\\xda\\xdd\\x0d\\xd0\\x67\\x15\\xfe\\xce\\x5b\\x29\\x18\\xb0\\x09\\x1f\\x31\\x2b\\xe6\\x6e\\x98\\xd9\\x9e\\x69\\x7b\\xf0\\xa1\\x57\\xdf\\x80\\xeb\\xa8\\x69\\x53\\x52\\x4b\\xa0\\xf6\\x47\\x8b\\x55\\xf8\\x70\\xeb\\xc8\\xb7\\x0e\\x2c\\x71\\x0e\\xfa\\x96\\x0c\\xec\\xb8\\x7d\\xca\\x3d\\xc2\\x5f\\x9a\\xfe\\xf9\\x51\\x69\\x89\\x38\\x76\\xe4\\x8c\\x25\\xa4\\x0b\\x2b\\xc0\\xe5\\xa9\\x51\\x5a\\x4e\\xa7\\x63\\x3d\\x5e\\x5f\\xb9\\xdb\\xed\\xb2\\x54\\x98\\xcd\\xe8\\x5e\\xc0\\xe7\\xb3\\xba\\x58\\x57\\xa8\\x32\\x60\\x73\\xeb\\x34\\x2e\\xab\\xd5\\xac\\x33\\x20\\x07\\x21\\xe8\\xe5\\x35\\x3c\\xf2\\xc7\\x2c\\x1a\\x0d\\x6d\\x37\\xd0\\x3e\\xc0\\xd2\\xec\\x60\\x86\\xb6\\x89\\x4e\\x3c\\xe6\\x26\\xb2\\x76\\x48\\xfe\\x50\\xd4\\x16\\x5e\\x9f\\x52\\xe5\\xf3\\xb6\\x8a\\x7e\\xbb\\xe4\\x95\\x11\\x6b\\x15\\x56\\x7c\\x03\\xc9\\x23\\x80\\xa2\\x62\\x72\\xa3\\x21\\xc1\\x47\\x0b\\xc2\\x10\\x0f\\xdf\\x78\\xc4\\x30\\xb4\\xce\\xf0\\xf0\\xdc\\x03\\xb6\\x03\\x03\\xf7\\x19\\xa9\\xf3\\x8c\\xf7\\xcd\\xa3\\x52\\xab\\x8d\\xf0\\x7e\\xe3\\xb5\\x42\\xb4\\x01\\x3e\\x6c\\x13\\x6e\\x06\\xd9\\x2b\\x0d\\xc2\\x25\\xc2\\x07\\xad\\x8d\\x8b\\xb1\\xc9\\xa0\\xe8\\x25\\x94\\x89\\x68\\x99\\xef\\x28\\x03\\xd1\\x3c\\xd3\\x17\\x2d\\x19\\x1a\\xf2\\x8e\\xa7\\x96\\xe2\\x77\\x1b\\xc5\\xf3\\x31\\x88\\xcf\\x75\\x43\\x6a\\x22\\x0a\\x45\\x4b\\x19\\x9b\\x4d\\xef\\xf5\\x52\\xe1\\xca\\x20\\x43\\xd3\\x5a\\xfc\\x32\\x90\\xb7\\xbc\\xac\\x1c\\xf9\\x4b\\x95\\x9e\\x50\\xa8\\xc2\\x4e\\x39\\x10\\xd3\\x94\\x06\\x4b\\x2a\\x4a\\x3c\\xae\\xb0\\x13\\x38\\x1d\\x15\\xc0\\xe3\\x70\\x78\\x40\\x05\\xa3\\x2b\\xb3\\x19\\xb4\\x5a\\x9d\\x8d\\xd1\\x31\\x0b\\x33\\x3a\\x5a\\x1c\\x0d\\xd1\\x27\\x45\\x62\\x83\\xcc\\x78\\x3c\\xa7\\x9e\\xf3\\x7f\\xaa\\xc4\\x8d\\x28\\xee\\x84\\x74\\x14\\x38\\x1e\\x0d\\x7c\\xae\\x62\\x08\\x3f\\x9e\\x44\\xf1\\x34\\xb2\\xd6\\x49\\x33\\x95\\x34\\xcb\\x46\\x9b\\xef\\xa1\\x20\\x70\\x1c\\x9f\\xda\\xd5\\x76\\x6d\\xd9\\x84\\xd9\\xa3\\x98\\xf4\\xa8\\x39\\x46\\xdf\\x2f\\x1b\\x3a\\xda\\xbf\\x72\\x90\\xff\\xa6\\xbf\\x66\\x18\\xaa\\x37\\xbc\\xd5\\xf9\\xb5\\xe3\\x6b\\x07\\xd5\\xb1\\x6a\\x11\\xfc\\xbd\\x89\\x3b\\x01\\xd7\\x0b\\xd7\\x9c\\xe0\\x0c\\xc2\\xd3\\x0b\\x57\\x2d\\x5c\\x83\\x3e\\x42\\x35\\x71\\x8f\\x66\\x2d\\x5a\\xb5\\x68\\x0d\\x60\\xc1\\x3c\\xe1\\x4c\\xcd\\x41\\xf6\\xcf\\x00\\xe7\\xec\\x1c\\x03\\xa6\\x81\\xf9\\xe0\\x96\\xd4\\x94\\x39\\x5a\\x7a\\xfa\\x74\\x13\\xd2\\x2e\\x9d\\x76\\xfb\\x48\\x97\\x69\\x52\\x6d\\x6d\\x3c\\x9e\\x68\\x68\\x0f\\x8d\\x8d\\x46\\x43\\x0d\\x26\\x2d\\x3b\\xb0\\xa0\\xb5\\x7f\\x61\\xa6\\xb5\\x66\\xca\\x60\\xa6\\xc6\\x66\\xef\\x0c\\x74\\x0e\\x66\\x7c\\xa9\\x92\\xc0\\x74\\x7a\\x26\\x30\\xcc\\x1c\\xcc\\x98\\x46\\xf6\\x1a\\xb8\\x79\\xc8\\x16\\x72\\x36\\xd0\\x8b\\x1c\\x52\\x87\\xa8\\x7e\\x0e\\xe2\\x50\\x99\\x74\\x5f\\x14\\x9f\\x44\\xe9\\xab\\x92\\x1a\\x22\\x21\\x74\\xee\\x49\\xaa\\xec\\xb4\\x27\\x54\\x4f\\x3f\\x1a\\x1b\\x82\\xc8\\x95\\x91\\x14\\x10\\xd6\\x3f\\xc9\\x6e\\x2a\\x89\\xe4\\xa7\\xa5\\x35\\xdc\\x0d\\x93\\x6e\\x8e\\xc7\\xee\\x0e\\xc5\\x90\\x27\\xe1\\x51\\x1e\\x49\\x97\\x74\\xa0\\xbd\\x0b\\x36\\x23\\x0f\\x88\\xe2\\x29\\x1e\\xeb\\x26\\x1b\\x6c\\x96\\x96\\x76\\xd0\\x1f\\xac\\xf2\\x95\\x3e\\x7b\\xd6\\x75\\xfd\\xdd\\x9b\\x07\\x67\\x2d\\xbb\\xf8\\xf4\\xa6\\xc6\\x86\\x48\\x6a\\x7a\\xeb\\xca\\x37\\xa6\\xbe\\x06\\x2b\\xba\\xd7\\xcf\\x5e\\xd6\\x32\\x6b\\xeb\\xd1\\xf3\\x1e\\x14\\xde\\x67\\xee\\x7f\\xf9\\xde\\xe9\\xdd\\xd1\\xf2\\x84\\xf0\\x61\\xa2\\xfe\\xec\\xe8\\xc3\\xbf\\xb8\\xf5\\xc5\\x93\\xd9\\x4d\\xe7\\xb5\\x2e\\x6c\\xef\\xe9\\x38\\x63\\xf5\\xe9\\xbb\\x16\\x53\\x27\\x13\\x35\\xf5\\x23\\x9a\\x63\\x75\\xed\\x27\\x0e\\xd6\\xb7\\x56\\xb5\\x37\\x56\\xce\\x6a\\x6e\\xeb\\x68\\x9c\\xde\\x3b\\x7e\\xb6\\xfe\\xe4\\xd3\\x7f\\x7c\\x62\\xb4\\xa1\\xa7\\xea\\xec\\x01\\xae\\x7b\\x76\\xb2\\xb9\\x6e\\xa5\\x79\\xdb\\x89\\xdb\\x9e\\x11\\x1e\\x7c\\x02\\x76\\x6c\\xd9\\x57\\xf2\\xcc\\x8d\\x0b\\x4e\\x7b\\x04\\x3e\\xb1\\xed\\xaa\\xdb\\x61\\xf8\\xa5\\xef\\x1d\\xb3\\x84\\xef\\x7f\\x10\\xfe\\x7e\\x71\\xfa\\x0e\\x58\\x2d\\x7c\\x97\\x59\\xbc\\x6c\\xe6\\x9c\\x65\\x2b\\x78\\x7b\\xa5\\x2f\\x14\\x24\\xef\\xb2\\x65\\xcf\\x17\\xc6\\xd1\\x27\\x91\\x0e\\xd4\\xa2\\x98\\x61\\x4d\\x6a\\x84\\x8f\\x0f\\xb0\\x6c\\x83\\xa5\\xde\\x56\\x1f\\x00\\x1e\\x4f\\xc0\\x16\\x66\\x1a\\x9b\\x0c\\x46\\x63\\xa3\\x59\\xa7\\x0b\\x19\\x43\\x35\\x0b\\x33\\x91\\x90\\xcf\\xd2\\xa0\\x37\\xf1\\xbe\\x06\\xa3\\xcf\\x69\\x32\\x19\\x9d\\x4e\\x6a\\x61\\xc6\\xc9\\x18\\x6d\\xe4\\x1d\\x31\\x62\\x02\\x6c\\xed\\xf2\\xde\\xac\\x1e\\x79\\xd1\\x4c\\xd6\\x65\\xb2\\xd3\\x81\\x83\\x6e\\xd1\\xcd\\x6c\\x16\\x1d\\xcc\\x6e\\x08\\x69\\x1e\\x45\\x53\\x49\\x4a\\x7e\\xde\\x84\\xe6\\xc3\\x65\\xc3\\xbf\\x94\\xe5\\x70\\xfc\\xc6\\x41\\x94\\xde\\x38\\x73\\xcc\\xc4\\xf0\\xdc\\x65\\x43\\x77\\x6c\\xbe\\xf3\\x62\\x78\\xd3\\x95\\xcb\\x57\\xfc\\xed\\x99\\x15\\x67\\xb5\\x2d\\xba\\x20\\x9e\\x5a\\xf9\\xfb\\x0b\\x17\\xf4\\x47\\x53\\x6e\\xbb\\xb7\\x7e\\x42\\xac\\x9a\\x59\\x7b\\xf6\\xe6\\x8b\\x2e\\xbe\\xfb\\xb2\\x7f\\x9e\\xbc\\x08\\x76\\xbc\\x43\\xd5\\x09\\xaf\\x6d\\x87\\xe3\\x5f\\x78\\xf1\\xa3\\x55\\x73\\xbb\\x6f\\xdd\\xf7\\xe4\\x3d\\xc2\\x3b\\x17\\x5f\\xf3\\xd2\\x99\\xee\\xb7\\xd7\\xd8\\xfb\\x37\\x2f\\xde\\x8e\\xdf\\x33\\x67\\xf0\\x5b\\x35\\xec\\x34\\x24\\xcf\\x41\\x80\\x33\\x94\\x35\\x82\\xc7\\x52\\xcb\\xeb\\x6b\\xc2\\xd1\\x68\\x99\\xd7\\x59\\x52\\x92\\xe0\\x75\\x7a\\x13\\x63\\x36\\x73\\xa0\\x36\\x56\\x19\\xaa\\xe3\\x1a\\x1b\\x21\\xe4\\xb8\\x44\\x53\\x2d\\x58\\x98\\x89\\x95\\x69\\xb4\\x9a\\xc1\\x4c\\xa5\\x57\\x1b\\xf2\\x90\\x70\\xa9\\xce\\x69\\x5c\\x58\\x0b\\x81\\xd1\\x62\\x2c\\x37\\xd2\\x5a\\xa0\\x45\\x4e\\xbe\\x36\\xa5\\x37\\x8d\\xab\\xd5\\x1a\\x8d\\xda\\x5a\\x9a\\xb1\\x5a\\x1b\\x17\\x66\\xac\\xc8\\xc5\\xb3\\xd2\\x90\\x63\\xb8\\xc1\\x0c\\x23\\x69\\xc0\\x3c\\xdf\\x3d\\x86\\x6c\\x02\\x89\\xd7\\x65\\x55\\x28\\xeb\\x45\\x29\\x68\\x27\\xc3\\x29\\x8d\\xa9\\xe4\\xf2\\xe1\\x58\\x29\\x2f\\x4e\\x4a\\x12\\xef\\x1c\\x45\\xe8\\x21\\xb7\\x03\\x3b\\xe7\\x1c\\x13\\x82\\x48\\x29\\xb6\\xb6\\xc0\\x26\\x6c\\x8a\\x83\\xc8\\x67\\xa1\\xca\\x27\\x1e\\xd5\\x0f\\xcd\\xd3\\xef\\x5c\\x7f\\xd0\\x76\\xd0\\xf9\\x92\\xed\\xa5\\xd2\\xdd\\x06\\xca\\xfe\\xce\\x37\\xa1\\xb5\\xb6\\xa9\\xd0\\x30\\xc6\\x36\\xbb\\x43\\x38\\xf1\\x1a\\xf4\\x09\\xbb\\x9d\\x70\\x91\\x41\\xd8\\xff\\xdb\\xd9\\xc2\\x93\\x9e\\xa9\\xb0\\xb9\\xe1\\xbe\\xd1\\x94\\x49\\xf4\\xad\\xa9\\xbb\\x96\\x5c\\xb0\\xe4\\xa6\\xd2\\xf1\\x97\\xaf\\x59\\x62\\x18\\xd1\\xbc\\x64\\xcd\\x26\\xf8\\xc6\\x05\\x0d\\x1d\\xc2\\xee\\xab\\xaf\\x86\\x87\\xaf\\x14\\xdf\\x99\\x1c\\x93\\x5d\\xcc\\xee\\x63\\x0f\\x81\\x00\\x1a\\xdb\\x0b\\x52\\x23\\x4b\\xcd\\x26\\x9e\\x63\\xbd\\xfe\\x50\\x25\\xc3\\xb0\\xbe\\x72\\xab\\xcd\\xe6\\xe6\\xbc\\x5e\\xd6\\xe7\\x03\\x5a\\xad\\xc7\\x0d\\xdc\\x55\\xd5\\xe6\\x90\\x3f\\xb4\\x30\\xe3\\xb6\\x39\\x6c\\x83\\x19\\x87\\x83\\xf1\\xa5\\x4a\\xfd\\x76\\x53\\x25\\x53\\x89\\xf4\\x23\\xcf\\x32\\x0c\\x8e\\xe4\\xe5\\x65\\xb3\\xd2\\x57\\x91\\xd1\\x50\\xa2\\x1c\\x25\\xba\\xc9\\xd9\\x0b\\xd1\\xdd\\x25\\xd6\\xb3\\xd9\\x56\\x89\\xc3\\x14\\x6c\\x3a\\x93\\x91\\x28\\xdd\\x2a\\x1f\\xd9\\xcf\\xe0\\x03\\xbf\\x2b\\x41\\x18\\x2f\\x9b\\x99\\x20\\x35\\xe6\\xf7\\x70\\xc5\\xe7\\xee\\x33\\xdc\\x7f\\xfe\\x5b\\x72\\x06\\x5c\\xf7\\xec\\x1f\\x57\\xce\\xe9\\xdb\\x60\\xa0\\xea\\x0d\\x57\\x4f\\x12\\x86\\xbe\\xf3\\x9c\\xe1\\x11\\xfe\\x23\\xbc\\x0d\\x93\\xd7\\x5e\\x7c\\x68\\xf3\\x1b\\xe7\\x52\\xfa\\x6f\\xe0\\x9a\\xd7\\xf4\\x97\\x6e\\xa4\\x47\\x08\\x87\\xf7\\xcc\\x66\\x4e\\xae\\x46\\x9c\\x7c\\x51\\x79\\x5f\\x5f\\xb9\\x30\\x71\\x1a\\x7f\\xcd\\x35\\x3a\\xe8\\xfb\\xe8\\x91\\xbf\\x3a\\x99\\xcb\\xbc\\x07\\x85\\x03\\xd8\\x37\\xdb\\x4a\\xec\\xc6\\x38\\x34\\x16\\x21\\xa4\\x2b\\xf7\\xa6\\x96\\x96\\x85\\x2a\\xc2\\x4c\\x65\\x20\\xc0\\x98\\x6d\\x76\\x17\\xe3\\x36\\x99\\x2a\\x0d\\x5a\\x0d\\xea\\xa4\\xd1\\xe8\\x2f\\x0f\\x46\\x98\\x4a\\x9f\\xcf\\xed\\xae\\x64\\xe8\\x68\\x55\\x99\\x8b\\xe3\\x11\\xb7\\x84\\xec\\x7c\\x85\\x4d\\xa7\\x47\\xf6\\x34\\x6c\\xd6\\x1f\\xd7\\xc3\\x80\\x3e\\xae\\xa7\\x52\\xfc\\x14\\x7e\\x23\\x7f\\x03\\xcf\\x98\\x79\\xa8\\xa1\\x79\\x3d\\xaf\\xa7\\x2a\\x8d\\x8c\\xdb\\xe7\\x63\\x02\\x54\\x60\\x30\\x53\\x4a\\x02\\x73\\x89\\x91\\x3c\\x3d\\x4a\\x64\\x3e\\x50\\xcc\\x60\\xc3\\x04\\x0a\\xaa\\x65\\xda\\xb0\\xc2\\x5e\\x28\\x20\\x80\\x28\\x08\\x40\\xac\\x85\\x18\\xcb\\x4e\\xd8\\x0e\\x85\\xe9\\x30\\x1a\\xe4\\xf1\\x73\\xf8\\x7a\\x93\\xb0\\xce\\xb4\\xf4\\xe9\\x47\\x6d\\x6f\\x8e\\x14\\x86\\x6c\\x30\\x0a\\x13\\xc7\\xcf\\x83\\xa5\\xb6\\xef\\x4a\\x0e\\xda\\xee\\x1a\\x77\\xb6\\x69\\xe8\\xa8\\x69\\x73\\x97\\x50\\xb5\\x9f\\xba\\xc8\\x25\\xbc\\xdc\\x0d\\xa3\\x8f\\x7d\\x3d\\x1e\\xdb\\x92\\x85\\x88\\x93\\xa8\\xd4\\xd0\\x73\\xe8\\x97\\x70\\x17\\xb1\\x2e\\xf3\\x84\\x7b\\xe0\\x2b\\xeb\\xd6\\x51\\x8d\\xc2\\xaf\\x91\\xcd\\x35\\x21\\x9f\\x6d\\x0b\\xd2\\x57\\xcd\\xe0\\x17\\xa9\\x39\\xc1\\x32\\x5f\\x09\\xe3\\xae\\xac\\xb4\\x36\\xc5\\xf4\\x6e\\x37\\xcf\\x50\\xcd\\x4d\\x5c\\x4b\\x6b\\x10\\xc1\\x06\\x33\\x65\\xd0\\xc7\\x72\\xc8\\xb7\\x28\\xe1\\x2a\\xe3\\x50\\x4f\\x4e\\x5b\\x5e\\xc9\\x6d\\xe0\\x98\\xbd\\xf0\\x3d\\x78\\x0c\\xd2\\x0d\\x10\\x22\\xff\\x40\\x83\\xc4\\x0f\\x72\\x8e\\x58\\x3c\\x1e\\x19\\xcc\\xc4\\xed\\x56\\x87\\xc3\\x88\\xb8\\x8d\\x51\\x64\\x51\\xbd\\x96\\x88\\x07\\xaa\\x9d\\x70\\x55\\xde\\xf2\\x99\\x7a\\xd1\\x02\\x6f\\xca\\x40\\xee\\x19\\x1a\\x17\\xf1\\x68\\x6e\\x6c\\x7e\\xa5\\x85\\x20\\x2c\\x7a\\xa2\\x9b\\x86\\x77\\xd1\\x93\\x75\\x5b\\xc9\\x00\\x25\\x4d\\xd6\\x33\\x47\\xfe\\x4c\\xf8\\xde\\x06\\xbf\\xdd\\xba\\xba\\xfb\\x83\\xab\\xfe\\x3f\\xde\\xfe\\x03\\x30\\x8a\\xe3\\x7a\\x1c\\xc7\\xe7\\xcd\\xb6\\xbb\\xdb\\xeb\\xa7\\x6b\\xea\\xa7\\x93\\x74\\x6a\\xa8\\x9d\\x0a\\x42\\x80\\x0e\\x0c\\x42\\x74\\x51\\x8c\\x39\\x40\\x15\\xd1\\x6d\\x7a\\xef\\xb8\\x24\\xb8\\x80\\x90\\x71\\x2f\\x98\\xd8\\x89\\x2b\\x18\\x1b\\x0c\\x06\\x3b\\x31\\x2e\\xc4\\x0e\\xb1\\x31\\x8e\\x1d\\x8c\\x71\\xc3\\x2d\\xf1\\xc7\\x25\\x01\\x97\\x38\\x36\\xd2\\xad\\xfe\\x33\\xb3\\x7b\\xa7\\x93\\xc0\\x49\\x3e\\xdf\\x7c\\xfe\\x3f\\xe9\\x6e\\x6e\\x77\\x76\\xf6\\xcd\\x9b\\x37\\x6f\\xde\\xbc\\x37\\xe5\\xcd\\xf2\\xb1\\xe1\\xfe\\x6f\\x3e\\xfa\\xf2\\xbb\\xf9\\xb3\\xed\\xbb\\xa7\\x1e\\x80\\x0e\\x5b\\x64\\x5e\\xeb\\xa4\\x0b\\x8d\\x07\\x8b\\x27\\x4d\\xad\\x99\\xf1\\xed\\xaa\\x37\\x3f\\x4b\\x86\\x6f\\x67\\x4d\\xac\\x99\\x55\\x7e\\xd9\\xc4\\xaa\\x5b\\x46\\x1d\\x86\\x9a\\xfc\\x07\\x6f\\xbf\\x72\\xca\\xac\\x49\\x83\\x67\\x15\\x2e\\x1d\\x73\\x70\\x78\\xe1\\x69\\xe5\\x8e\\xf4\\xc0\\xe1\\x47\\x67\\xd4\\xc5\\xda\\xdd\\x3c\\xd2\\xee\\x52\\x09\\xa7\\xb5\\x84\\x82\\xc9\\x0e\\xbb\\x81\\xd7\\xeb\\x53\\x88\\x92\\xef\\x97\\x78\\x9d\\x2e\\x35\\x95\\xf3\\x18\\x8d\\x39\\x69\\x1c\\x61\\x2e\\xbb\\x5f\\x22\\x2d\\xce\\x64\\xd0\\x85\\x24\\xde\\x91\\x81\\x32\\x9a\\xc3\\xa9\\xc9\\x1e\\x75\\x68\\x5f\\xeb\\x5c\\x13\\x4f\\x5c\\x3c\\xa5\\x6a\\xd3\\xf4\\x0e\\x75\\x08\\x3f\\x13\\x95\\xc7\\xb5\\xb0\\x72\\x62\\xf8\\x73\\x83\\x41\\x2d\\x2c\\x21\\x06\\xa7\\xb5\\x2e\\xbc\\x45\\xf9\\x46\\xf9\\xf3\\x1f\\x60\\xe9\\x77\\xa4\\x89\\x3d\\xf3\\x76\\xf9\\xe4\\xb2\\x5b\\x26\\xbc\\xde\\x72\\xa0\\x62\\xec\\xe5\\x43\\xc3\\xe7\\x97\\x79\\x66\\x7f\\xd9\\xfe\\x8b\\x57\\xb7\\xbf\\xbb\\xda\\xa1\\x83\\xcc\\x0b\\xa4\\x6d\\x9d\\x90\\x36\\x6f\\xd6\\xe5\\x2b\\xfb\\x5e\\xcc\\x2b\\xc4\\x9d\\x8b\\xf9\\x01\\x81\\xf7\\x95\\x3d\\x29\\x45\\xe2\\x0d\\xf8\\xc1\\x43\\x9f\\x7a\\xf8\\xab\\x13\\x5f\\x54\\xfe\\xc0\\xe6\\x89\\x52\\xb9\\x9b\\xf1\\x75\\xe2\\x93\\xc4\\x62\\x37\\x29\\xeb\\xa0\\x81\\xad\\xa9\\xb8\\xa1\\xfb\\x2f\\xe2\\x90\\xd8\\xba\\xc8\\x2a\\x78\\x3b\\xd4\\xcd\\x01\\xef\\xb7\\x1a\\x52\\xf2\\x0c\\x2e\\x3e\\x2f\\xe8\\xe7\\xfd\\xd5\\x03\\xaa\\xaa\\xd2\\xd3\\x2b\\x0e\\x85\\x03\\xe9\\x4f\\x4f\\x0f\\x14\\x1d\\x0a\\xa3\\x02\\x30\\x72\\x05\\x05\\x38\\xc0\\xd3\\xc5\\x8f\\x3a\\xd3\\xd3\\xd3\\xe9\\x62\\x48\\xa4\\xf3\\xb6\\x55\\xc3\\xe4\\x6a\\x18\\x56\\x0d\\x15\\xd5\\x90\\x5d\\x0d\\xc4\\x20\\xe4\\xab\\xe1\\x87\\x6a\\xf8\\x6b\\x35\\xbc\\x5c\\x0d\\x4f\\x55\\xc3\\x83\\xd5\\x70\\x4b\\x35\\xfc\\xa2\\x1a\\x56\\x56\\xc3\\x14\\x96\\x2c\\xb3\\x1a\\x12\\xaa\\x41\\xac\\x86\\xf9\\xb1\\x74\\xd7\\xb2\\xc7\\x6d\\x2c\\x45\\x2d\\x4b\\xa4\\xaf\\x86\\x2f\\xaa\\xe1\\xcf\\xec\\xe9\\x21\\xf6\\x74\\x64\\xf4\\xcd\\x58\\x06\\x87\\xa2\\xd0\\xaf\\x8d\\x42\\x8f\\xbd\\x3b\\xe0\\x4c\\x35\\x1c\\xaf\\x86\\x67\\xab\\xe1\\xb1\\x6a\\xb8\\xbb\\x1a\\x6e\\xac\\x86\\x75\\xd5\\x70\\x55\\x35\\x84\\x19\\xa0\\xaa\\x6a\\xc8\\xad\\x06\\x6f\\x35\\xc8\\xd5\\xd0\\x59\\x0d\\xa1\\x51\\x5f\\x55\\xc3\\x07\\xec\\x8d\\x23\\xd5\\xf0\\x08\\x7b\\xe3\\x7a\\xf6\\xc6\\x82\\x6a\\x68\\xa8\\x06\\xa8\\xae\\x86\\xa4\\x68\\x62\\x92\\xf4\\xbd\\x6a\\x78\\x95\\x01\\xdf\\x57\\x0d\\xf7\\x55\\x03\\x6e\\xaf\\x86\\xf1\\xd5\\x90\\x56\\x0d\\x88\\x24\\xef\\xbd\\x36\\xa7\\xe9\\x3f\\x5a\\xb4\\x78\\x89\\x24\\x97\\x5c\\xfb\\xd8\\xb3\\xa0\\x51\\x1d\\xc3\\xce\\x8f\\x2e\\xf0\\x8e\\x9a\\x02\\xd1\\xe9\\x73\\xca\\x78\\x7e\\x22\\x89\\xe8\\x0a\\xc5\\x74\\x5b\\x99\\xfd\\xa2\\x25\\x8d\\x5a\\x4b\\x53\\x07\\x67\\x25\\x66\\x33\\xc5\\x2c\\x4c\\x68\\xa6\\xeb\\x17\\xfb\\xcb\\x43\\x95\\xdf\\x29\\xdf\\x9d\\x7a\\xfa\\x17\\x37\\x2a\\x19\\x13\\xab\\x66\\x94\\xe5\\x14\\x57\\x4d\\x2d\\x55\\x26\\x0e\\xb8\\x73\\xe4\\x35\\x37\\x2d\\x7c\\x61\\x69\\xf1\\x86\\xa2\\xac\\x0a\\x43\\xfe\\x65\\x03\\xe6\\x0f\\xba\\xac\\xa6\\x6a\\x3a\\x5d\\xaf\\xd8\\xb5\\xa2\\x60\\xa8\\x72\\x13\\x70\\xef\\x82\\xb8\\x45\\xb9\\xf6\\xfa\\xa5\\xc7\\x27\\x8f\\x1e\\xb7\\xe2\\x14\\xbc\\x54\\x5e\\xb3\\x6d\\xed\\x8d\\xef\\xac\\xb1\\x5b\\xdf\\xd9\\xd2\\x6f\\xfe\\x81\\x2b\\x27\\x37\\xe4\\xa6\\x92\\x76\\xa8\\xeb\\xfe\\x9a\\xcb\\x15\\x26\\x11\\x99\\x9f\\x8b\\xe6\\x84\\xfa\\x9b\\x03\\xc4\\x42\\xcb\\xe4\\xf4\\x7a\\xb7\\x37\\x39\\x85\\x4f\\xe0\\x12\\xf2\\xf3\\xbc\\x89\\xcb\\xc2\\x5e\\xaf\\xdb\\x2d\\x66\\x8a\\xcb\\xc2\\xc9\\x99\\x99\\x48\\xb6\\xc9\\xcb\\xc2\\x16\\x13\\x31\\x29\\x4d\\x26\\x9b\\x17\\xa5\\x2f\\x0b\\x23\\x49\\xd5\\x7e\\x7b\\xc6\\xf4\\xa3\\x06\\xb7\\x3a\\xd3\\xab\\x0e\\xa7\\x06\\xd9\\x90\\x6a\\x74\\x39\\x01\\xb6\\x80\\xc8\\x1c\\x77\\x04\\xa3\\x0a\\x6f\\xa5\\x28\\x55\\x32\\x8d\\xd6\\xcd\\xa6\\x90\\xec\\x84\\x4a\\x78\\x69\\xb8\\xf1\\xd3\\xe7\\xf3\\x75\\x8b\\xb7\\xd6\\x0e\\x2f\\xb9\\x77\\xfd\\x82\\x15\\x42\\xc6\\x84\\xb5\\xa6\\x85\\x0d\\x33\\xbc\\xf7\\x5e\\x5d\\x31\\xc2\\x35\\x76\\xfb\\x63\\x85\\xc2\\xa4\\x2b\\x9b\\x5f\\x51\\x0e\\x4d\\xfd\\x3e\\x3f\\xa3\\xfd\\xd4\\x1d\\xf7\\x2d\\x5d\\xec\\x2c\\x7e\\x31\\x29\\x6d\\x64\\x72\\x1a\\xd6\\xef\\xbc\\x63\\x4c\\xdb\\x7a\\x65\\x44\\x2d\\x24\\x3f\\x1e\\x1a\\x49\\xf4\\x28\\x7a\\x4e\\x2b\\x10\\x3d\\xca\\x81\\xdc\\x44\\x97\\x2a\\x44\\x77\\x85\\xc2\\x3a\\xbd\\xde\\x6e\\x31\\x3b\\x24\\x84\\xdc\\xa2\\x90\\x9e\\x95\\xe4\\x2c\\x28\\xc8\\x12\\xcc\\x7c\\x51\\xb1\\x27\\x23\\x25\\x97\\x4e\\x6a\\x14\\x65\\x70\\x96\\xdc\\xb4\\x5c\\xac\\xe7\\x32\\x72\\x33\\x72\\x6d\\x09\\x6e\\xbb\\x80\\x2c\\x54\\x43\\xca\\xd4\\x95\\xe9\\x30\\xd6\\xd9\\xd9\\x91\\xf7\\xd8\\xc6\\xe9\\xcd\\x46\\x73\\x53\\xb8\\xc0\\x31\\xd0\\x81\\x1d\\xa2\\x91\\xf6\\x69\\xc1\\x86\\xe8\\x68\\xb3\\x6a\\x50\\x47\\xed\\xc8\\xaa\\xe8\\x74\\x87\\x2d\\x4e\\x4e\\xc7\\x4c\\x01\\x6d\\xc5\\x85\\xda\\xfb\\xfb\\xe3\\xc6\\x32\\x81\\x2e\\xb8\\x80\\x52\\x75\\x5c\\x9f\\xa8\\xa6\\x31\\xce\\x71\\x26\\x88\\x7c\\xb9\\x3a\\x6e\\xfc\\xde\\x0a\\x65\\xf6\\x23\\xfb\\x4c\\x4a\\xa6\\xe9\\x89\\xe3\\x0f\\x99\\xe0\\x6e\\x18\\xf1\\x17\\xec\\x75\\x46\\x3e\\x87\\x41\\xb5\\x33\\x26\\x5d\\x36\\xed\\xb2\\x59\\x1b\\x2e\\xbf\\xa3\\x69\\xd6\\x86\\x67\\xf9\\x77\\xa9\\xd9\\xd8\\x99\\xcd\\x67\\x74\\x0d\\x8d\\x0e\\x42\\x76\\x3d\\xab\\x6c\\x5e\\x0d\\x25\\x2f\\x5d\\xbb\\xee\\x85\\x1b\\x56\\xd5\\x6e\\x5a\\xd8\\xf2\\x9b\\x86\\x4d\\x0b\\x6f\\x7f\\x8d\\xc8\\xaa\\xa9\\xdd\\x5f\\x0b\\xcf\\x11\\x59\\x45\\x77\\xea\\xe5\\x10\\x1b\\xea\\xda\\xd0\\x84\\x7e\\xba\\xac\\x94\\x14\\x7b\\xba\\xb7\\x1c\\x21\\xaf\\x5d\\xc7\\x57\\x0d\\x48\\xb1\\x5b\\xed\\xc7\\xc3\\x59\\xc9\\xc7\\xc3\\x99\\x0e\\xa7\\xe3\\x78\\x18\\x59\\xad\\x56\\x9c\\x96\\x05\\x35\\x59\\xe3\\xb3\\xce\\x51\\xc7\\x09\\xd6\\x84\\x3a\\xe4\\xb4\\x3a\\x09\\xb5\\xac\\x59\\x4e\\x67\\x96\\x95\\xe3\\x8d\\xc6\\xdc\\x3f\\x84\\x8d\\x3c\\x5f\\xf2\\x87\\x30\\xef\\xe8\\x59\\x6f\\xd1\\x33\\x3e\\xdc\\xb0\\x44\\x1d\\x23\\x8e\\xeb\\xd1\\x7a\\x4c\\x25\\x20\\x96\\x90\\x3f\\x23\\x13\\x97\\xb3\\x09\\x46\\xde\\x0e\\xe5\\x95\\xb6\\x40\\x39\\x1d\\xf1\\xb5\\xfa\\xfc\\x4e\\xb7\\xd3\\x41\\x87\\xbd\\x88\\x8a\\x55\\xc1\\xb1\\x59\\x47\\x3b\\x1f\\x2c\\xcd\\x24\\x2c\\x85\\x33\\x85\\xe7\\x0e\\x2a\\x47\\x9f\\x7b\\x46\\x79\\xfe\\xf0\\xb3\\x30\\xe8\\x99\\x67\\x21\\x74\\xa4\\x2b\\x6b\\xcc\\x64\\x68\\xbc\\x67\\xb7\\xf2\\xc1\\xb2\\xc6\\x2d\\x93\\x57\\x3b\\xdc\\x0b\\xa7\\x3d\\xf5\\x2b\\xe5\\xcb\\x5f\\xfd\\x0a\\x9c\\xf7\\xef\\x06\\xf7\\x03\\xbb\\x95\\xaf\\xf0\\xae\\x23\\xca\\x4b\\xbf\\x3d\\x0c\\xa1\\x67\\x7e\\x07\\x43\\x0e\\x1d\\x56\\x5e\\x88\\x1c\\x19\\x60\\xc5\\xb7\\x58\\x2b\\xd7\\x2e\\x55\\x94\\xbf\\x59\\x07\\xe0\\xca\\x69\\x23\\x95\\x87\\x27\\xe3\\x84\\xfb\\x95\\xbf\\xfe\\xfa\\x01\\xe5\\x2f\\xe4\\xdd\\xe4\\xfb\\xef\\x07\\xef\\x6f\\x68\\x5f\\x77\\x33\\x4e\\x94\\xbe\\x15\\x6a\\x88\\x8d\\xd8\\x0f\\x1d\\x0a\\x5d\\xe5\\xf3\\x78\\x52\\x52\\x02\\xd8\\x5f\\x50\\x10\\xb0\\xe3\\x00\\x2e\\x2a\\xcc\\x70\\xf7\\xe3\\x0c\\x88\\x1a\\xda\\xd9\\xa9\\x36\\xce\\xc0\\x1d\\x0f\\xfb\\xd3\\x0d\\xef\\x17\\x04\\x52\\x3c\\x76\\x8c\\xf0\\xf1\\x70\\x5e\\x92\\x0b\\x7d\\x70\\xb4\\x08\\xf6\\x15\\xc1\\x7d\\xec\\xd3\\x5e\\x04\\x9b\\x8a\\x60\\x51\\x11\\x34\\x15\\xc1\\xf8\\x22\\x28\\x2a\\x82\\xb4\\x22\\xb0\\x14\\x41\\x55\\x77\\x11\\x9c\\x8b\\xa6\\x6b\\x67\\x0f\\xd8\\xba\\x0a\\x26\\xc7\\x62\\xb2\\x8d\\x76\\x9c\\xa5\\xda\\x10\\x2c\\x63\\x4f\\xf5\\x9a\\xb6\\x55\\x6d\\x8a\\x03\\xaa\\x62\\xd3\\xe0\\x55\\x1a\\xb5\\x09\\x75\\x55\\xbb\\x9d\\xae\\x6b\\x0b\\x50\\xd2\\xba\\x9d\\x3e\\x3f\\x0b\\x55\\xc2\\x27\\x81\\xcf\\x29\\x69\\xb7\\x90\\xb5\\x39\\x2d\\x7f\\x70\\x99\\x75\\x04\\xfe\\xeb\\x08\\xeb\\x88\\x69\\xa9\\x9b\\xf1\\x2b\\x3e\\xe5\\xcb\\x39\\xca\\x3b\\x73\\xe6\\xc0\\xf8\\xb7\\xdf\\x85\\xa1\\x73\\xe6\\x28\\x8b\\xaf\\xc4\\x89\\x03\\xad\\xf8\\x56\\xde\\x70\\xeb\\xe7\\x9f\\xdf\\x6a\\x8a\\x5c\\x69\\x1d\\x88\\xaf\\x8b\\xbc\\x62\\x1d\\x48\\x22\\xb7\\x59\\x07\\x2a\\x36\\x38\\x37\\xd0\\x1a\\x59\\xc6\\xee\\x47\\xa9\\xeb\\x55\\xab\\x89\\x7e\\xfa\\x15\\xd1\\xb1\\xa8\\xa4\\x2a\\x17\\xcd\\x16\\x4e\\x4a\\x4a\\xce\\xe4\\x88\\x76\\xc0\\x05\\x38\\xbd\\x3d\\xe0\\xf3\\xd8\\x3d\\x79\\xf9\\x7e\\x7b\\xa6\\x98\\x44\\xcc\\xa1\\xa6\\xb0\\xc5\\x22\\x39\\x9d\\x44\\xe3\\x72\\xf2\\xc9\\x66\\xb3\\xe4\\x33\\x18\\x24\\xda\\x2a\\x35\\x0b\\x30\\x7e\\xc5\\x53\\x30\\x7e\\x1c\\x47\\x1d\\xc3\\x70\\xab\\x83\\x5a\\xa0\\x2d\\x91\\xf0\\x71\\xc4\\xd2\\xab\\x86\\x40\\x36\\x51\\x23\\x90\\x2f\\x1d\\x39\\x13\\x90\\x05\\xb4\\x55\\x12\\x0e\\x26\\xcf\\x39\\xc7\\x73\\x27\\x6e\\xdb\\xee\\x8e\\xb4\\xbb\\xa7\\x0c\\xaa\\xdf\\x7f\\x95\\x70\\x5e\\xf9\\x1e\\xd6\\x42\\x03\\xcc\\x80\\x75\\xca\\xf7\\xe7\\x85\\xab\\xf6\\xd7\\x0f\\x9a\\x42\\x9f\\xb6\\xdf\\xfa\\x1a\\xff\\xf9\\x3b\\x7f\\x7c\\xf2\\x75\\x97\\x52\\x0f\\x9b\\x37\\x5b\\xe7\\x65\\x00\\xfa\\xe3\\x8f\\x60\\x51\\xbe\\xfd\\xe9\\x8f\\xdd\\x28\\x63\\x9e\\x75\\xb3\\xb2\\x19\\x9e\\x70\\x9d\\x7c\\xe2\\xf8\\x19\\xa6\\x27\\x4d\\xed\\xfe\\x90\\x5f\\xcf\\xd7\\x11\\x89\\x95\\x86\\xea\\x43\\xb9\\x69\\x56\\xab\\x07\\x91\\x82\\x49\\xe9\\x3e\\xb7\\x3b\\xc1\\x9a\\x66\\x5d\\x15\\xb6\\xa4\\xa5\\xa5\\x61\\x99\\x4b\\x4b\\x93\\x39\\x39\\x79\\x55\\x58\\xe6\\x12\\x56\\x85\\x39\\x2f\\x8a\\x8e\\x38\\xc4\\xaf\\x5f\\x52\\x3b\\x29\\x66\\x80\\xb0\\xb5\\x75\\x59\\x4c\\xf4\\x62\\x75\\xb4\\x93\\x58\\xb5\\x3e\\x1b\\x9b\\x18\\xa9\\xe4\\x6c\\x74\\xb0\\x53\\xb2\\xf1\\x83\\x9b\\xdf\\xbb\\x63\\xd7\\xf9\\xeb\\x6e\\xfa\\x7e\\xe7\\x9d\\xdf\\xfe\\xa2\\xeb\\xf7\\xe5\\xbf\\x9e\\x70\\xed\\xc1\\x89\\x2d\\xc1\\x07\\xa6\\x1c\\x58\\xf1\\xdd\\x9d\\xeb\\x3b\\x40\\xba\\xf7\\x31\\x40\\x37\\xdc\\xa0\\x44\\x1e\\x56\\xee\\xe9\\x3f\\x6c\\xee\\xd5\\x30\\x1a\\x9c\\xe5\\x43\\x56\\x28\\x5f\\x32\\x1d\\xc7\\xd7\\xfd\\x47\\xf1\\x7f\\x84\\xb9\\x44\\xc7\\x71\\x20\\x17\\x1a\\x8c\\x6e\\x0a\\x0d\\x77\\xda\\x75\\x36\\x97\\xd5\\xa0\\x4f\\x48\\xd0\\x59\\x65\\x87\\x4c\\x97\\xcf\\xe9\\x4a\\xdd\\x59\\x59\\xfd\\x31\\xc7\\xe5\\xa5\\xf5\\xd7\\xf5\\xaf\\x09\\x25\\xe8\\xed\\xce\\xa2\\x02\\xd9\\x6a\\x75\\x38\\x74\\x3a\\xb3\\x58\\x9a\\x96\\x53\\xad\\x77\\xe6\\x88\\x62\\x8e\\x53\\xcf\\xe3\\x64\\x37\\x54\\x93\\x5a\\x3c\\x16\\x0c\\x1e\\xd3\\xc6\\x9f\\xe2\\xa7\\x40\\xb5\\xb5\\x1e\\x5a\\x5d\\x06\\x7b\\x8f\\xb4\\xd8\\xe2\\xe7\\xd6\\xd5\\x9e\\x19\\x24\\x7f\\x0d\\x90\\x0e\\x9a\\xc9\\x58\\x66\\x1e\\xf8\\x7a\\x26\\x87\\xb2\\x03\\xda\\x52\\x2e\\xad\\x67\\x66\\x9c\\x40\\xcf\\xe1\\x63\\x13\\x4e\\x38\\x65\\x25\\xff\\xe0\\xf2\\x0b\\xd3\\xa5\\xef\\xa5\\x1a\\xb8\\x7f\\xef\\x9d\\x03\\x24\\xe5\\x2e\\xa9\\x39\\xa0\\xbc\\xba\\x08\\xa6\\xbc\\x04\\x02\\x1e\\x50\\xce\\x27\\x34\\xf4\\x6f\\x99\\x3d\\xf2\\xaa\\x19\\xd3\\xf6\\xdc\\xb5\\x6c\\x6e\\x46\\xb9\\x54\\x3e\\xe9\\xf2\\xa9\\x63\\xe7\\x4f\\x6b\\xf8\\xdd\\xfd\\x43\\x6e\\xc9\\xaf\\x10\\x76\\x75\\xfd\\xb3\\xa0\\xc0\\x8a\\xff\\x1e\\xb1\\x5b\\xc9\\xef\\x1b\\x6f\\xe0\\x15\\xca\\xbd\\x91\\x15\\x5b\\x92\\x73\\xa6\\xd5\\xe6\\x55\\x66\\xa5\\xb5\\xd6\\x6d\\xbe\\x29\\xf1\\xe8\\xa2\\x82\\xda\\xaa\\x40\\x59\\x66\\xda\\xcc\\xba\\x8e\\x5f\\x79\\xed\\xa4\\x0d\\xf4\\x27\\x86\\xda\\x5b\\xdc\\x1e\\xc2\\x0f\\xe3\\x42\\xb9\\x26\\xce\\x66\\x20\\x1d\\x18\\x91\\x99\\x9c\\xdb\\xe3\\xa5\\x36\\xe9\\xb8\\xb0\\x55\\x26\\x5f\\x2b\\x97\\x40\\x2c\\xfb\\x71\\x61\\x9e\\xe3\\xd0\\xb8\\x30\\xe7\\x8c\\xad\\x1c\\xaa\\xa1\\x16\\x69\\x2f\\x73\\x54\\x25\\x88\\x3a\\x54\\x49\\x97\\xb4\\x54\\x13\\x1b\\x8a\\x58\\x4d\\x41\\xb7\\x36\\x64\\x89\\x3f\\x9c\\x2e\\x47\\x0c\\x05\\xa3\\xc5\\x09\\x8d\\xeb\\x06\\x3c\\x1e\\x18\\x5d\\x3e\\x1a\\x3f\\x3e\\xe8\\x7a\\x19\\xfe\\x29\\xcf\\x9c\\xe6\\x19\\xfa\\xd3\\x1d\\x12\\x8c\\x98\\x03\\xf9\\xf3\\xe1\\x0a\\xcf\\xd0\\xa1\\x1e\\x75\\x0f\\xd0\\xe5\\xdd\\xdf\\x0b\\xdf\\x08\\x97\\x59\\x03\\x52\\x04\\xd7\\x31\\x4f\\x2e\\xeb\\x0c\\x74\\xbe\\x6a\\x05\\xb7\\x24\\xf2\\x25\\xf5\\x81\\xc7\\x9e\\xd7\\xb2\\xe7\\x93\\xd9\\xf3\\xe5\\x42\\xef\\xe7\\xff\\x10\\x9e\\xd5\\xde\\x6f\\x54\\xdf\\xff\\x04\\xd9\\x24\\x9d\\x8e\\xab\\x8e\\x7c\\x85\\xc6\\x84\\x4a\\x78\\x0e\\xbb\\xbc\\x24\\xd8\\xed\\x85\\x4d\\x5e\\x18\\xef\\x85\\x22\\x2f\\xa4\\x79\\xc1\\x0b\\x67\\xf5\\x30\\x5e\\x0f\\x35\\x7a\\xd0\\xa3\\x4d\\x08\\x76\\x23\\x58\\x84\\xd8\\x8c\\x0a\\x5d\\x37\\xbd\\x84\\x9e\\x1a\\xdb\\x50\\x1e\\x5b\\x42\\x4d\\xbd\\xcb\\xa9\\x7b\\xf7\\x73\\x59\\x7e\\xb5\\xb1\\xfc\\x02\\x6a\\x4e\\x36\\x11\\xd1\\xb3\\x99\\x16\\x87\\xc6\\x70\\x18\\x64\\x2f\\xdf\\x5d\\x02\\xe7\\x4a\\xe0\\x6c\\x09\\x9c\\x2c\\x81\\xa3\\x25\\xb0\\xaf\\x04\\xee\\x2b\\x81\\xf6\\x12\\xd8\\x54\\x02\\x8b\\x4a\\xa0\\xa9\\x04\\xc6\\x97\\x40\\x4d\\x09\\x94\\x00\\x41\\xcc\\x0c\\x9b\\xcc\\x30\\xde\\x0c\\x45\\x66\\x48\\x33\\x83\\x99\\x62\\xd3\\x83\\xca\\x92\\x1e\\x24\\x6c\\xbd\\x14\\xcc\\x38\\x9c\\x86\\x31\\x9c\\x06\\x5d\\x8c\\x93\\x4e\\x4c\\x40\\x68\\x68\\x28\\x4f\\xc5\\xa9\\x32\\x64\\x4a\\xa8\\xab\\xfc\\x5f\\xe5\\x98\\xaf\\xe6\\xd2\\x4d\\xcf\\xf3\\xe9\\xc9\\xa3\\xa2\\x57\\x1e\\xd2\\x20\\x44\\xa4\\x4d\\x99\\x9a\\xc7\\xa6\\x72\\x58\\x54\\x0e\\xe5\\x97\\xca\\x24\\x0d\\xc1\\x59\\x04\\x6a\\x56\\x35\\x08\\x2c\\x1a\\xa9\\xfb\\x16\\xb1\\xa7\\x5c\\xdd\\x5f\\x13\\x7d\\x73\\x0a\\xf7\\x7b\\xbb\\xc8\\xb1\\xf3\\x36\\xe1\\x7e\\xd4\\x26\\x36\\xe2\\x61\\xc8\\x84\\x32\\x42\\x66\\x99\\x08\\x78\\x3d\\xc6\\x26\\x41\\x30\\x5b\\x4c\\x46\\x54\\x74\\xa2\\xaf\\x33\\x0a\\x97\\xdb\\x9f\\x1d\\x28\\xaf\\xa8\\x0c\\x12\\x9b\\xd5\\x89\\xb7\\x54\\x0d\\xae\\xdb\\xd4\\xde\\xbe\\xa9\\x6e\\x70\\x15\\xf7\\x01\\xe4\\x5e\\x76\\xf5\\xad\\x23\\x33\\x47\\xde\\x7a\\xf5\\x65\\x53\\x08\\x5c\\x6b\\xf7\\x4b\\xf8\\x3c\\xbf\\x89\\xc0\\xcd\\x09\\xd9\\xf4\\xb2\\x8c\\x11\\x32\\x5b\\x62\\xf0\\x09\\xe8\\x60\\x91\\x3a\\x7b\\x11\\xb7\\x5d\\x42\\x94\\x28\\x68\\x97\\xdb\\x99\\x1d\\xb0\\xf9\\xe1\\x54\\x0f\\x3c\\x6e\\x77\\x4f\\x4e\\x5d\\xfe\\x3e\\x78\\x67\\x86\\x2c\\x48\\x96\\x29\\x5c\\x41\\x30\\x99\\xcc\\x16\\xa3\\x29\\x86\\xb8\\xad\\x07\\xf3\\xec\\x00\\x05\\x2c\\x4a\\x7e\\x62\\x86\\x97\\x0b\\x9b\\xe2\\xe1\\xc1\\xa6\\x38\\xcc\\x51\\x2f\\xdc\\xb3\\x43\\x56\\x82\\x38\\x41\\xdf\\x4c\\xf3\\xc0\\x7a\\xbd\\x48\\xa9\\x52\\x5a\\x14\\xec\\x8d\\x79\\x56\\x45\\x25\\x05\\x4d\\x48\\xe3\\x72\\xdb\\x82\\x38\\xbf\\x07\\xde\\xfd\\xf1\\x24\\x8a\\xc7\\x9b\\x7a\\x04\\x72\\xb9\\x8d\\x46\\x9b\\xd3\\x6c\\xb6\\xd9\\x08\\x70\\x91\\x42\\x17\\x3d\\x5e\\x24\\xc7\\xa1\\xcf\\xf6\\x67\\xda\\x2e\\x4d\\xff\\xb8\\x12\\xc5\\xd7\\x04\\x56\\x7a\\xae\\xe3\\xea\\x24\\x76\\x11\\x57\\x3e\\x37\\x0a\\x85\\x52\\xb0\\xd3\\xe9\\xd6\\x9b\\xcd\\x46\\xa3\\x9b\\x88\\x30\\x12\\x98\\x9d\\x4e\\xbb\\xa0\\x55\\x14\\x5b\\xf9\\xce\\xf2\\xb6\\xf6\\x2a\\x74\\x9c\\x16\\x18\\x5f\\x67\\x71\\x54\\x88\\xab\\xbd\\xd8\\x45\\x7c\\x2d\\x46\\x70\\xcf\\x35\\xed\\x67\\x09\\x4e\\x75\\x0c\\x27\\x0e\\x25\\x11\\x09\\xe3\\x17\\x91\\xd7\\x9b\\x64\\x02\\xbb\\xdd\\x6a\\x4d\\x4a\\x4a\\x4e\\x21\\x81\\xcb\\xee\\xf5\\xba\\x38\\xe4\\xd2\\x5b\\x78\\x5e\\x6f\\x12\\x45\\x7d\\x0f\\x6e\\x1f\\x7c\\x78\\xc2\\xd6\\x8b\\x9d\\x62\\xdd\\x0e\\xdd\\xce\\xe0\\x73\\xfa\\x1c\\x3f\\x87\\xa5\\x15\\x3e\\x52\\xd2\\x7f\\x7f\\x31\\xaa\\x73\\xeb\\xf9\\xa9\\x3f\\x87\\x2c\\x26\\xb2\\xe1\\x2f\\xdc\\x6e\\xe1\\xf7\\x28\\x19\\xe5\\xa1\\x7d\\xa1\\x65\\x99\\xba\\x14\\x0b\\xa9\\x42\\xe4\\xd6\\x71\\xf9\\x05\\xae\\x84\\xc4\\x84\\x89\\x61\\x4b\\x22\\xb1\\xce\\x12\\x8d\\xe9\\xa4\\x2b\\x30\\x5a\\x02\\x82\\xeb\\x64\\x01\\xec\\x2b\\x80\\xf6\\x02\\x58\\x54\\x00\\x1f\\x15\\x40\\x53\\x01\\x84\\x0a\\x20\\xbd\\x00\\x50\\xf4\\x56\\xbd\\xee\\x4f\\xae\\x6a\\xa2\\x37\\x9b\\xd8\\x83\\x9a\\xde\\xd7\\x69\\xec\\x56\\xd7\\x18\\xb3\\x87\\x63\\x56\\x72\\xcc\\x72\\x46\\x35\\x27\\x6a\\xa2\\x8b\\x54\\x7b\\x69\\xee\\x9a\\xda\\x6e\\x00\\x31\\x36\\xc3\\xea\\x72\\x07\\x2b\\xa9\\x2d\\x2c\\x05\\x2a\\xc9\\x9d\\x9d\\x63\\xeb\\x3a\\xb0\\x6a\\x01\\xdb\\xb9\\xdd\\x75\\xed\\xc7\\xd7\\xdf\\xf1\\xf0\\x4d\\xef\\x6f\\x6d\\x68\\xcf\\xe0\\xf9\\x5b\\xb7\\x2f\\x58\\x93\\x39\\x6f\\xfc\\xb8\\xa7\\x8f\\x2d\\xb3\\xaf\\x19\\x37\\xfd\\xb6\\x96\\xb9\\xe1\\x09\\x3b\\x17\\x73\\x8f\\x3e\\xaa\\xfc\\x42\\xf9\\xdb\\xf6\\x67\\xf7\\xdc\\x0d\\x85\\xb7\\xcf\\x9c\\xb4\\xfc\\xd3\\x6f\\x27\\xfb\\x6e\\xf3\\x2b\\x5f\\x45\\xde\\x9a\\xb1\\xe6\\x06\\xe5\\xef\\x37\\xae\\xbf\\x61\\x1b\\xf3\\xeb\\x87\\x91\\x95\\x28\\x25\\xa7\\x84\\x3a\\x24\\x20\\x1d\\xe1\\x7e\\x8f\\x24\\xf0\\x9c\\x4e\\x24\\x36\\x9c\\xc0\\x19\\xf4\\x3a\\x9e\\xe3\\x25\\x01\\x8b\\x22\\xa8\\x4a\\x62\\x90\\x2e\\xd7\\xef\\x8d\\x7a\\x2e\\x91\\x81\\x3e\\xc8\\xf2\\x01\\x7f\\xaa\\xb3\\x1a\\x5e\\x83\\x0c\\x38\\xdd\\xf9\\x12\\xfe\\x46\\xd9\\xdc\\xc2\\x7f\\xde\\xe9\\x75\\xf1\\x74\\x5b\\x03\\x9a\\xaa\\x8c\\x11\\x87\\x30\\x1b\\xf3\\x93\\xd0\\x3d\\x36\\x6c\\xd6\\x63\\x7d\\x82\\x53\\xc7\\x09\\x5c\\x53\\x58\\xb0\\x36\\x87\\x05\\x62\\x27\\xda\\x38\\xa2\\xd5\\x37\\x85\\x8d\\x28\\xe9\\x09\\x27\\xec\\x76\\xc2\\x0e\\x27\\x2c\\x76\\x42\\xb3\\x13\\x42\\x4e\\x28\\x76\\x42\\xba\\x13\\xce\\x3b\\xe1\\x23\\x27\\xbc\\x11\\x7d\\xba\\x99\\x3d\\x55\\x1f\\x59\\x59\\xfc\\xf3\\x2c\\x92\\xbc\\x55\\x1f\\x8d\\x44\\x4e\\xa8\\x3a\\xcb\\x1e\\x3c\\x11\\x07\\x8e\\x00\\x3a\\xc9\\x62\\x76\\xb3\\x18\\x02\\xf4\\x28\\xbb\\x26\\xaf\\xf5\\xd9\\xd4\\xd4\\x77\\xdb\\x59\\xdc\\x30\\x08\\xb1\\x17\\xd8\\xda\\x28\\x4f\\x4d\\xbc\\xe6\\xc0\\xf6\\x66\\xa8\\xaa\\x7f\\x4c\\xef\\xf7\\x91\\xdf\\xa9\\x7b\\xf6\\x08\\x5f\\xec\\xdd\\x1b\\x59\\xb0\\x27\\xf2\\xf9\\x1e\\x65\\xcc\\xa8\\x44\\x91\\x4d\\xc6\\xfd\\x74\\x3a\\x71\\x14\\xb9\\x4e\\xfb\\xe9\\xe3\\xc4\\x51\\x94\\x4e\\x33\\x94\\x31\\x42\\x15\\xa1\\x93\\x13\\x3d\\x19\\x5a\\xe2\\x34\\x99\\x30\\x20\\xa3\\x51\\xb6\\xea\\x64\\x9d\\xcb\\x6d\\x72\\x9a\\x9d\\xcd\\x61\\x23\\x20\\xce\\x60\\x35\\x73\\x32\\x36\\x18\\x70\\x6b\\x58\\x67\\x48\\xda\\xe1\\x86\\xcd\\x6e\\xa8\\x77\\x43\\xba\\x1b\\xda\\xdd\\xd0\\xe4\\x86\\x62\\x37\\x20\\x37\\xbc\\xe1\\x86\\x1a\\x37\\x58\\xdc\\x30\\xe0\\x23\\x76\\xb3\\xdb\\x0d\\x8b\\xdd\\x70\\xd6\\x0d\\xfb\\xdc\\x70\\xf1\\x3b\\xe4\\x05\\x5d\\x2f\\x7b\\x28\\x66\\x1d\\xa9\\x85\\x0d\\x46\\x17\\x28\\x12\\x53\\x28\\xae\\xbc\\xaa\\xd6\\x5c\\xaa\\xba\\x1e\\x01\\x5f\\x69\\x66\\xa5\\x83\\x28\\xff\\xe5\\x7a\\xb6\\x11\\x9c\\xe8\\x87\\x3e\\xae\\x4d\\x01\\xd8\\x48\\x74\\x21\\xdf\\xd8\\x29\\x8e\\xce\\x0a\\x3c\\x28\\x72\\x9e\\x9f\\x35\\x65\\xf0\\x6f\\x76\\x2a\\x0f\\xe3\\x5f\\xce\\x89\\x14\\xeb\\x25\\x48\\x8f\\xbc\\xb6\\x80\\xcb\\xc5\\xe7\\xaf\\x52\\xb6\\xfd\\xd3\\xa2\\xda\\x34\\xf7\\xe3\\x66\\x7e\\x1a\\x3e\\xa7\\xfa\\x39\\xe1\\x10\\x61\\x22\\xd8\\x1b\\x46\\x07\\x34\\x0f\\x1b\\x55\\xaa\\x9f\\x13\\x7e\\x5a\\x57\\x1d\\x3e\\x47\\xfd\\x9c\\x44\\xf7\\x70\\x59\\x45\\x29\\xc2\\xde\\x9f\\x0b\\xdd\\xf0\\x14\\x37\\x9a\\xee\\xcd\\x0a\\x19\\xd8\\x7e\\x7e\\xb6\\xd9\\x1e\\x15\\xe5\\x5f\\x72\\x2b\\xbf\\x39\\xba\\x47\\xaa\\xbb\\x67\\x8f\\x3c\\x1a\\xd1\\xfd\\x2d\\xbf\\x52\\x9c\\x4c\\x5a\\x45\\x7a\\xc8\\x82\\xf5\\x3a\\x03\\xcf\\xed\\x0b\\xf3\\x3c\\x48\\x22\\xb8\\xe8\\xba\\x00\\x36\\x8b\\x41\\x97\\xa6\\x32\\xad\\x99\\x58\\x80\\x7a\\x08\\xe2\\x6b\\x16\\x28\\xa7\\x1f\\x06\\xa2\\x1f\\xc2\\xb1\\x69\\x66\\x6e\\x50\\x7d\\x24\\x4d\\x38\\x44\\x7d\\x02\\xa0\\x57\\x85\\xb5\\xdc\\x69\\xa2\\xef\\x67\\xa0\\x42\\x74\\x2e\\xf4\\xeb\\x5c\\x7f\\xa2\\x9c\\x4e\\x3b\\x95\\x62\\x77\\xb6\\x39\\xa5\\x40\\x48\\xf4\\xdb\\x78\\x0e\\xe9\\xea\\x75\\x58\\x97\\x60\\x31\\x83\\xde\\x7c\\x5f\\x31\\x6c\\x2a\\x86\\x45\\xc5\\xd0\\x54\\x0c\\xe3\\x8b\\xa1\\xa6\\x18\\x8a\\x8a\\xe1\\x5c\\x31\\x1c\\x2d\\x06\\xf2\\xa8\\xfd\\x52\\x4f\\xd3\\x8a\\xc1\\x52\\x0c\\x67\\x8b\\x61\\x1f\\x4b\\xa3\\x26\\xe8\\xf3\\xb4\\xfa\\x28\\x7b\\x59\\x7d\\x8d\\xc4\\xa2\\xb8\\x44\\x6a\\xbc\\x9a\\x94\\xc4\\xf7\\x88\\xb3\\x4b\\x6f\\xfb\\xeb\\xdd\\x1e\\x50\\x51\\x63\\x43\\xf0\\xfd\\x86\\x52\\x77\\xd5\\x89\\x52\\xd2\\x2d\\xc5\\xd8\\xa3\\xaa\\x94\\xb9\\xfa\\xf0\\x67\\x70\\x3d\\x33\\xb8\\x2e\\x37\\x1b\\xa1\\xc9\\xca\\xa0\\x27\\x78\\xab\\x56\\x05\\x68\\x6b\\xd7\\xd8\\xec\\xec\\xda\\x03\\x5b\\xdf\\xdc\\x16\\xfa\\x75\\xc3\\xf6\\x27\\xf6\\xdf\\x34\\x6f\\xff\\x90\\xd0\\xbd\\xf3\\xb6\\x3f\\xa6\\xbc\\x5b\\x7f\\x5d\\x68\\xe0\\x75\\x53\\x9a\\xd7\\xac\\x8d\\x7c\\x56\\x75\\xdd\\xb4\\x86\\x55\\x2b\\x66\\x4e\\xf8\\x05\\x1e\\xf7\\x9b\\x0f\\x41\\xb7\\xe9\\x9a\\x3f\\xef\\x7b\\xe4\\xdd\\xcd\\x57\\x6f\\xd8\\x74\\x7a\\xe1\\x4d\\xdb\\xb7\\x6d\\xdf\\xbd\\x61\\xf5\\x6e\\xe5\\xeb\\x9b\\xda\\x7f\\xb5\\x7e\\xe3\\xdd\\xdb\\x98\\xee\\x70\\x07\\x42\\x62\\x33\\xff\\x8a\\xba\\xd7\\x0b\\xd3\\x1d\\xc3\\xb4\\x17\\x8d\\x2a\\x52\\x74\\xed\\x14\\x75\\x10\\x00\\x77\\x34\\xf2\\xf3\\x3b\\xfb\\xf3\\xaf\\x74\\xde\\xde\\xa8\\xfa\\x7b\\x71\\x75\\x2b\\xfc\\xa3\\xbc\\x8e\\xc8\\xad\\x8f\\x42\\x29\\xb2\\xc1\\xe0\\x40\\x28\\xc1\\x49\\xe4\\x0a\\xcf\\x84\\xc8\\x9f\\x9d\\x9f\\x39\\x31\\x11\\x23\\x93\\x9d\\xe0\\x3c\\xdc\\xfd\\x7c\\xc8\\xbe\\x72\\x4d\\x1d\\x11\\x2f\\x09\\xce\\x4c\\x67\\x99\\x93\\x23\\xb2\\x67\\x11\\x8d\\x3e\\xb0\\x60\\x61\\x1d\\x7b\\x3c\\xb2\\x79\\x5e\\x5d\\x3d\\x7d\\x5c\\xe6\\x1c\\xe6\\xe4\\xbe\\x67\\x82\\x07\\xa7\\x3b\\x8b\\x9d\\xcf\\x3b\\xdf\\x70\\xf2\\x74\\x18\\xa8\\xde\\xb9\\xd8\\xb9\\xd9\\x29\\x54\\x21\\x67\\x3a\\xbb\\x7a\\x82\\x3c\\xf8\\xc8\\x79\\xde\\xa9\\xa3\\x8f\\x9a\\x59\\x3a\\xe1\\xbc\\x9a\\xd9\\x81\\xf1\\x93\\x54\\xa8\\x9e\\x61\\x75\\x75\\x27\\xa9\\x58\\x6b\\x26\\xc9\\xb9\\x34\\x26\\xf3\\x74\\x16\\xaa\\x2b\\x14\\x95\\x16\\x9d\\x00\\x56\\x6b\\xf9\\xf9\\x0d\\x6c\\x33\\x49\\x13\\xad\\xae\\xfc\\x7c\\x1a\\x97\\xaf\\xd6\\x63\\x74\\xde\\x8d\\xf0\\xb0\\x8d\\x8d\\x9b\\x11\\x53\\xce\\xe6\\xb7\\xa9\\x73\\xe5\\x36\\x70\\x2d\\xff\\xd3\\xd5\\xd7\\xbc\\xb5\\x6a\\xce\\xb1\\xdd\\xf7\\x3f\\x8f\\x31\\xba\\xed\\xdc\\x75\\xd7\\x7e\\x7b\\x8b\\x82\\x30\\x7e\\xee\\xb3\\x4f\\x5e\\x54\\xd4\\xb5\\x25\\x8f\\x44\\xde\\xc3\\x7b\\x09\\x97\\x07\\xe0\\xc7\\x10\\x25\\x50\\x4e\\x6e\\x62\\xe6\\xde\\xb0\\x8f\\xe2\\xd6\\x6d\\x77\\xd5\\xf9\\x7c\\x69\\x89\\x4d\\x89\\xb8\\x28\\xb1\\x26\\x71\\x51\\xe2\\xbe\\x44\\xde\\x92\\x38\\x3e\\x71\\x53\\x62\\x7b\\xe2\\xd1\\xc4\\xee\\x44\\xd1\\xc0\\x25\\x8a\\x96\\x7d\\x61\\x63\\xc8\\xe1\\xaa\\x33\\x1a\\xc5\\xa5\\xb9\\xd0\\x9a\\x0b\\x13\\x73\\x61\\x68\\x2e\\x94\\xe6\\x42\\x46\\x2e\\xd8\\x73\\x01\\xe7\\xc2\\xb7\\xb9\\xf0\\x49\\x2e\\xfc\\x39\\x17\\x8e\\xe5\\xc2\\x53\\xb9\\x70\\x7f\\x2e\\xdc\\x9c\\x0b\\x57\\xe7\\x02\\x49\\xdf\\x96\\x0b\\x93\\x73\\x61\\x18\\x4b\\x9f\\x99\\x0b\\x09\\xb9\\xc0\\xe7\\xc2\\xbc\\x1f\\x72\\xe1\\xb3\\x5c\\x78\\x33\\x17\\x5e\\xcc\\x05\\x78\\x22\\x17\\x76\\xe7\\xc2\\x8e\\x5c\\xd8\\x9c\\x0b\\xcb\\x73\\xa1\\x39\\x17\\xea\\xd9\\x1b\\xa4\\xeb\\x4a\\xcf\\x05\\x6b\\x2e\\xa0\\x5c\\x38\\x9f\\x0b\\x1f\\xe5\\xc2\\x1b\\xd1\\x1c\\x7e\\x9d\\x0b\\xb7\\xb0\\xf4\\x8b\\x59\\x7a\\x35\\x87\\x32\\x96\\x5e\\xcd\\xe1\\x7b\\x86\\xce\\xf3\\xb9\\x14\\xb8\\x9a\\xf8\\x5a\\x06\\x5c\\x4d\\x19\\x45\\x24\\x34\\x13\\xaa\\xbe\\x67\\xa8\\xa8\\xb8\\x2f\\x8f\\xe2\\x9b\\xc9\\xf2\\x55\\xe1\\xc4\\x9e\\xaa\\x78\\xe2\\x1d\\xd1\\x8c\\x43\\x3f\\x83\\xe2\\xf3\\x51\\xb4\\xea\\x59\\x9a\\xbe\\x8d\\xb2\\xe9\\x3f\\x1a\\xae\\xbf\\xe4\\xc8\\x7f\\xd3\\x25\\x3c\\x16\\xf4\\xbc\\x41\\x55\\xbb\\x7c\\x4d\\x85\\x59\\xb2\\x34\\x18\\xdb\\xa7\\x4a\\x7a\\x3c\\x2b\\x5b\\x77\\x47\\x34\\x39\\x0b\\xf8\\x19\\xeb\\x38\\x12\\x30\\x5b\\x69\\x47\\x14\\x3a\\xea\\xff\\x98\\x36\\xeb\\xf2\\xd7\\xcd\\xd2\\xcc\\xdd\\xb5\\xde\\xb0\\xc5\\x6e\\x75\\xd6\\x56\\x95\\xd7\\xf2\\x92\\x5e\\x9c\\x75\\x77\\x6d\\xca\\x44\\x23\\xef\\xe4\\x13\\x86\\x0f\\x28\\xaf\\x85\\x0b\\x60\\x04\\xdb\\xfc\\xdf\\xad\\x4e\\x30\\xea\\x87\\x0e\\xa9\\xbd\\x77\\x7d\\xe4\\xaf\\x23\\x95\\xe7\\x94\\xbf\\x2c\\xfc\\xed\\x52\\xb7\\x41\\x67\\x6a\\x72\\x0f\\xbf\\x77\\x9d\\x7a\\x3e\\x2a\\xf8\\xf8\\x2b\\xf8\\x21\\xd6\\x00\\x6a\\xe9\\xfe\\x07\\x3a\\x6b\\x93\\xe8\\x6f\\x77\\x08\\x75\\x85\\x82\\x95\\xa1\\x99\\x33\\xeb\\x2a\\x43\\x2d\\x2d\\x24\\x68\\x6a\\x22\\x41\\x43\\x03\\x09\\xa6\\x4f\\x27\\xc1\\xb4\\x69\\x24\\x08\\x87\\x49\\x30\\x75\\x2a\\x09\\xa6\\x4c\\x21\\xc1\\xe4\\xc9\\x75\\x95\\x94\\x55\\x87\\xd7\\xd5\\x91\\xbb\\x41\\x83\\x48\\x50\\x5d\\x4d\\x82\\xd2\\x52\\x12\\x14\\x17\\x93\\xa0\\xb0\\x90\\x04\\x05\\x05\\x24\\x08\\x04\\x48\\x90\\x95\\x45\\x02\\xbf\\x9f\\x04\\x3e\\x1f\\x09\\xd2\\xd2\\x48\\x90\\x9a\\x4a\\x82\\xe4\\x64\\x06\\xe9\\x40\\x52\\x92\\xfa\\xeb\\xf5\\xaa\\xbf\\x6e\\xb7\\xfa\\xeb\\x74\\xaa\\xbf\\x66\\xb3\\x9a\\x63\\xa6\\xd1\\x58\\x07\\xe8\\x0d\\x03\\x3c\\x6f\\x80\\x27\\x0c\\xb0\\xdb\\x00\\x3b\\x0c\\xb0\\xd9\\x00\\x8b\\x0d\\xd0\\x6c\\x80\\x7a\\x03\\x84\\x0c\\x60\\x80\\x38\\x53\\xb8\\xbc\\x3c\\xff\\x5f\\xfe\\xd1\\x7d\\x84\\xe8\\x26\\x3e\\x83\\x3f\\x46\\xe4\\xd5\\x8a\\xd0\\x28\\x93\\x81\\xd8\\xea\\xd8\\x86\\x13\\x9c\\xbc\\xd5\\x66\\xdd\\x1b\\x76\\x38\\xa0\\xd9\\xf6\\xbc\\x0d\\x23\\xdb\\x66\\xdb\\x0e\\x1b\\xb7\\xd9\\x06\\x16\\xdb\\x78\\x1b\\xd6\\x73\\x36\\x83\\x41\\x67\\x34\\x19\\xf7\\x86\\x85\\x66\\xd3\\xf3\\x26\\x8c\\x4c\\x9b\\x4d\\x3b\\x4c\\xdc\\x66\\x13\\x58\\x4c\\x35\\xa6\\xf1\\x26\\x8e\\x98\\x6e\\x0d\\xb4\\xc6\\xd5\\xc1\\x7a\\x75\\x9c\\x9e\\xdc\\x06\\x8b\\x7a\\x0f\\x99\\xb0\\xe5\\x0c\\x41\\xa7\\x8f\\x23\\xa2\\x94\\xf3\\x3b\\x48\\x8f\\xe8\\xf0\\x91\\x2f\\x2f\\x1c\\x79\\x5b\\x79\\xf9\\x19\\xf8\\x3e\\xf2\\xf0\\xe1\\x3b\\x0f\\xbf\\x02\\xf9\\xcf\\x28\\x49\\x78\\xe4\\x11\\xfe\\x98\\xf2\\x63\\xbb\\xf2\\xc3\\x0e\\xe5\\x27\\x90\\x76\\x80\\xa1\\x1d\\x74\\xa4\\x9f\\x9c\\x0d\\x12\\x9f\\xca\\xd7\\x69\\xfe\\x17\\x86\\x86\\xb2\\xa8\\x73\\x1a\\x03\\xd1\\x46\\x8d\\x26\\x83\\x2c\\x73\\x62\\xb7\\x04\\xcd\\xd2\\x62\\x09\\x5b\\xa4\\x34\\xa9\\x88\\xba\\xe7\\x43\\x1c\\xe8\\x38\\xda\\xf7\\x9c\\x20\\x28\\x36\\xd0\\x95\\x05\\x27\\x7a\\x39\\x3c\\xa2\\x7a\\x42\\xf4\\xcb\\xa7\\x76\\xd5\\x71\\x87\\xd5\\x2f\\xdc\\xd6\\xde\\x8e\\xf7\\xb7\\xb7\\x2b\\x0f\\xb5\\xb7\\x13\\x1d\\x78\\x3e\\xd1\\x81\\x33\\xf8\\xf7\\xd8\\x7e\\xdc\\xd1\\xa1\\x7e\\x3a\\x2c\\xea\\x79\\x10\\xc1\\x28\\xeb\\x0d\\x7b\\xc3\\x7a\\x0f\\x8f\\xcd\\x61\\x91\\x37\\xd7\\x88\\x9b\\xc4\\xa3\\x62\\xb7\\xc8\\x8b\\xe9\\x84\\xd6\\x7c\\x31\\x5f\\x4f\\xd4\\xe3\\x03\\xc8\\x5b\\xd3\\x10\\x0c\\x26\\x9e\\x68\\xc8\\x8f\\x77\\xe2\\xa3\\x66\\xef\\x20\\x19\\xeb\\x21\\x05\\xfb\\xca\\xe7\\x73\\x87\\x23\\x80\\xbb\\x89\\xc6\\xb2\\x77\\x1a\\xfc\\xb9\\x5d\\xd9\\xae\\x6c\\x6b\\xaf\\xdb\\xb1\\x43\\xcb\\x3b\\x93\\xe4\\xcd\\xa9\\x79\\x83\\xa8\\xc7\\xbc\\x4e\\xaf\\x33\\xca\\x98\\xdb\\x1b\\xc6\\x1e\\x51\\xa7\\xe6\\xcd\\x6f\\xe2\\x8f\\xf2\\xdd\\x3c\\xcf\\xa7\\x1b\\xf4\\x48\\x2c\\x16\\xeb\\x45\\x4e\\xfc\\x97\\x79\\x67\\x51\\xe5\\x93\\x6a\\x62\\xe0\\xe4\\x33\\x48\\xbe\\x1c\\x8a\\x20\\xee\\xf0\\x8e\\x1d\\x3b\\xea\\xda\\x61\\x19\\x2c\\x6d\\x57\\x0a\\xa6\\x31\\xfd\\xff\\x4e\\x92\\x7f\\x90\\xdf\\x82\\x78\\xa4\\xa7\\x96\\xb5\\x8e\\xc8\\x79\\x91\\xa7\\x6a\\xbb\\x41\\x26\\x46\\x00\\xe9\\x46\\x4e\\x5c\\x34\\xe2\\x10\\xb4\\xe9\\xc1\\x96\\xe5\\x23\\xe1\\x9d\\x70\\x02\\x4e\\x74\\x1d\\xc2\\x17\\x94\\x6b\\x94\\x6b\\xf0\\x3a\\x2c\\x46\\x2e\\x44\\xae\\x9b\\x88\\x45\\x78\\x54\\x99\\x42\\x68\\x34\\x1b\\xbd\\xca\\xa7\\xe1\\xf3\\xa4\\xdf\\xcd\\x08\\x59\\x98\\xc3\\x20\\x89\\xc3\\x21\\x01\\x13\\x56\\xa3\\xca\\x1c\\xf3\\xfa\\xde\\xd3\\x09\\x3b\\xe9\\x9e\\x6d\\x3e\\xad\\xeb\\xd4\\x76\\x7c\\x7e\\x87\\xb2\\x00\\x67\\xd1\\xfe\\x05\\x67\\x44\\xee\\xe2\\xde\\x14\\x1f\\x25\\x3a\\x71\\x72\\x48\\xd6\\xb1\\x5e\\xd9\\x6d\\x93\\x05\\xba\\x3b\\xfa\\x44\\xcc\\x24\\x27\\x6f\\x93\\x5e\\x4b\\xd3\\xe7\\xfc\\x19\\x81\\x6c\\x3a\\x36\\x29\\x89\\x4e\\x7c\\x70\\xe7\\xc3\\x1b\\x6b\\x46\\x07\\xb3\\x52\\x4d\\xd6\\x6c\\x9f\\x35\\x53\\x2f\\x46\\xee\\x92\\xa6\\x1c\\xfb\\xa1\\xa6\\x38\\xa7\\xcc\\xa0\\xcb\\x0b\\x04\\xfc\\xf3\\x28\\x44\\x21\\x72\\x17\\x3e\\x48\\xf2\\x48\\x40\\xa7\\x43\\x65\\x3a\\x9c\\x90\\xe0\\x74\\x21\\x17\\x7c\\xef\\x82\\x8f\\x5c\\x70\\x8b\\xeb\\x29\\xd7\\x9f\\x5d\\xdc\\x66\\x17\\x2c\\x77\\x41\\xb3\\x0b\\x12\\x5c\\x99\\xae\\x32\\xd7\\x64\\x17\\x4f\\x52\\x2c\\x3a\\x46\\x1e\\x7d\\xe6\\xe2\\x5c\\xb4\\x41\\x5b\\x48\\x47\\xff\\x84\\x0b\\x7e\\xed\\x82\\xa7\\x5c\\xc7\\x5c\\x98\\xc6\\x1d\\x68\\x9e\\x59\\xc7\\x9e\\x99\\xc3\\x8d\\x75\\x3b\\x5c\\xd0\\xe6\\x5a\\xee\\xba\\x56\\x4b\\x3e\\x64\\xd4\\xb8\\xba\\xdd\\x2e\\xa0\\x1b\\x71\\x5d\\xe9\\xae\\xc5\\xae\\x1d\\x2e\\xa1\\xfa\\x9c\\x0b\\x8a\\x5d\\x21\\xd7\\x6e\\xd7\\xf3\\xae\\x37\\x5c\\x02\\x72\\x15\\xbb\\x9a\\x49\\xfc\\x13\\xe4\\xf6\\x23\\x97\\x44\\x93\\x9c\\x77\\x71\\x4d\\x2e\\xb0\\xba\\x80\\x50\\x00\\x31\\x0a\\x50\\xf9\\xcf\\xe6\\x32\\x9a\\x1a\\xf2\\x97\\x2c\\xc9\\xcf\\xa7\\x3d\\x7c\\x9c\\xdd\\x12\\xdd\\x25\\x4c\\x34\\x9c\\x04\\x31\\xb6\\x84\\x4e\\xf5\\x06\\x5c\\x8e\\x33\\x76\\x3e\\x70\\x6d\\xf5\\xb8\\xd2\\x4c\\x5f\\xa2\\x21\\x2d\\xcd\\x9a\\xe2\\x16\\x1f\\xfd\\xf1\\xe1\\x97\\xfe\\x31\\xa8\\x28\\x50\\x6e\\xe5\\x73\\xb3\\x82\\x9b\\x68\\xff\\xfe\\x03\\xce\\x12\\x0e\\x62\\xaa\\xc5\\xde\\x79\\x90\\x13\\x10\\x0f\\xe8\\x30\\xe0\\x50\\x6b\\x18\\xba\\xce\\x09\\x70\\x54\\x80\\x7d\\x02\\x6c\\x12\\xa0\\x46\\x00\\x8b\\x00\\x8b\\xcf\\xb1\\x1b\\x72\\xb5\\x43\\x80\\x74\\x01\\x9e\\x10\\x20\\x24\\x80\\x95\\x54\\x96\\x00\\xd5\\xe7\\x05\\x78\\x9e\\x45\\x6d\\x16\\xa0\\x9e\\x3d\\x28\\x62\\x49\\xbb\\x05\\x38\\x29\\x40\\xbb\\x00\\x4d\\x02\\xa4\\x09\\x70\\x2e\\x0a\\xb2\\xa1\\x8f\\x7f\\x09\\xcd\\xa0\\xee\\xe9\\xa2\\x7a\\xdc\\x1e\\x72\\xc4\\xdc\\x32\\x08\\x47\\x71\\x56\\x47\\x07\\xd3\\xdb\\x9e\\x8f\\xec\\xc4\\x13\\xa4\\x3a\\x66\\x3f\\xe8\\x99\\x73\\x19\\x4e\\x41\\x17\\xa8\\x43\\x87\\xa8\\xfa\\x1f\\xb4\\xf9\\xe1\\xf9\\x8e\\x0e\\xa9\\xee\\x87\\xd1\\x84\\xc7\\xb6\\x45\\x76\\xb2\\x32\\x52\\x3e\\x35\\x50\\xff\\x9e\\x20\\x09\\x0a\\x69\\x2d\\x80\\xf7\\x87\\x51\\x97\\x3a\\x0b\\xa7\\x6d\\x43\\xa3\\x0e\\x24\\x28\\xa3\\xe2\\x6d\\x5c\\x4e\\x64\\x5e\\x07\\x3e\\xd4\\xd1\\xb9\\x90\\xe9\\x41\\x3f\\x44\\x76\\x72\\xa9\\x51\\x18\\x02\\xc6\\x12\\x88\\xbc\\x82\\x05\\x06\\x03\\xf7\\x85\\xc1\\x31\\xa7\\x51\\x06\\x2e\\xa7\\x83\\xe0\\x7c\\xe1\\x03\\xfe\\x66\\xa6\\x4b\\xe1\\x6d\\x94\\xd6\\x12\\xb5\\xc5\\xd3\\x9e\\xa6\\x6a\\x2a\\x2f\\x31\\x00\\x4f\\x51\\x00\\x17\\xd8\\x9a\\xbd\\x18\\x12\\x4c\\x63\\xc5\\xdb\\x3a\\xf0\\xed\\x5d\\xef\\x48\\x75\\x9d\\x0b\\x3b\\xb4\\xba\\xe2\\x52\\xd9\\xfb\\x04\\x07\\x4c\\x7d\\x64\\x89\\xdc\\x85\\x7f\\x85\\x43\\xd0\\x66\\xc0\\xb7\\x53\\x1c\\xf8\\x9b\\x2f\\x7c\\xa0\\xe1\\x40\\x69\\x41\\x60\\x48\\x28\\x37\\x64\\x24\\xe2\\x17\\x21\\x1d\\xaf\\x97\\x94\\x3e\\x88\\xf4\\x00\\xea\\xc1\\x86\\x12\\x85\\xe0\\x43\\xa8\\xc2\\x10\\x8a\\xa7\\x8b\\x06\\xcf\\x4c\\xbd\\x44\\xf0\\x7a\\xa4\\x13\\x15\\x82\\x97\\xd4\\x0b\\xaf\\x78\\x78\\x2a\\x6a\\x7e\\x86\\x9c\\x8a\\xdd\\x0f\\xa3\\x35\\x1a\\x51\\x78\\xac\\xae\\x24\\x54\\x10\\xb2\\xf0\\x92\\x84\\x38\\x8e\\x01\\xa4\\xae\\xc8\\x18\\x40\\xe8\\x8a\\xae\\x08\\xea\\xd9\\x27\\xaf\\xb2\\x08\\xa3\\xb9\\x70\\x94\\x56\\x1b\\xe1\\x94\\xce\\x85\\x04\\xa4\\xc6\\xdf\\x0c\\x3f\\x02\\x8f\\xd4\\x1b\\x92\\x24\\x02\\x8f\\xbb\\x40\\x8b\\xfe\\xaf\\xe1\\xd9\\x68\\xa9\\x19\\xfd\\x6e\\x67\\x38\\xd2\\x4a\\xd0\\xf0\\x23\\xf0\\x64\\x54\\x19\\x4a\\x10\\x74\\x3a\\x2c\\xcb\\x04\\xa4\\x09\\x19\\x0d\\xa4\\xcc\\x3a\\x19\\xcb\\x04\\xe8\\x81\\xb0\\x40\\x8b\\xad\\x2d\\x89\\x8b\\xdf\\xcf\\x1f\\x0f\\xda\\xa7\\x51\\x80\\x91\\x34\\x9a\\x03\\xc3\\x9a\\xae\\x05\\xfd\\x01\\x96\\x08\\x07\\xb9\\xf9\\xac\\xaf\\x2c\\x24\\x5c\\x4b\\xd1\\xe6\\x79\\x9d\\xc0\\xb3\\x7a\\x12\\x22\\x51\\xec\\x3b\\xa3\\x93\\xc8\\x3d\\xbe\\x4c\\x28\\x2d\\x40\\x6d\\x32\\x17\\x86\\x90\\x66\\x73\\xa6\\xa3\\x43\\xb9\\x83\\x35\\x1d\\x84\\xe1\\x0c\\xa9\\xaf\\x37\\x25\\xb5\\x0f\\x4e\\x0f\\x99\\x49\\xd3\\xe5\\x11\\xe9\\x90\\x24\\x8e\\x50\\x98\\x54\\x7d\\x69\\x4d\\xfc\\x58\\x07\\x6b\\x47\\xf4\\x4b\\x40\\xc0\\x5c\\xb5\\x3d\\xe9\\x0f\\xf6\\xb4\\x29\\x82\\x9f\\x1e\\x55\\x11\\xfb\\x59\\x14\\x65\\x52\\xf7\\xb4\\x53\\xd1\\x2b\\xbc\\xc4\\x50\\xe4\\x23\\xd1\\x16\\xd6\\x19\\xbf\\xa5\\xa3\\x67\\x28\\x53\\x6d\\x6a\\xce\\xb8\\xe6\\xc6\\x28\\xc1\\xcd\\xef\\x38\\xdd\\xd1\\x95\\x41\\xdb\\xf9\\x19\\x8d\\x17\\xf4\\xa8\\x5f\\xc8\\x44\\x3a\\x4e\\x41\\x2f\\x18\\x40\\x26\\xbd\\xb7\\x48\\x00\\x1f\\x0c\\xeb\\xbb\\x78\\x9d\\x12\\xdd\\xe0\\xc6\\xd8\\x2b\\x8a\\xb6\\x53\\xf3\\xd9\\x66\\x13\\x0e\\x2a\\x29\\x04\\x1c\\x6b\\xc6\\x94\\xbe\\x82\\x5f\\xa3\\x01\\xc3\\x5d\\x20\\xb5\\x58\\x1d\\x32\\x63\\x9d\\xce\\xc4\\x21\\xbd\\x88\\x44\\x23\\xc9\\x85\\x80\\x7e\\x3a\\x2c\\x46\\xe4\\x1e\\x09\\xa1\\xe1\\x1f\\xec\\x71\\xe1\\x17\\x87\\x3f\\x21\\x8e\\x1a\\x9e\\xe1\\xde\\xef\\x3a\\x48\\xa8\\x84\\x97\\x93\\x2c\\x49\\x21\\x2e\\x3c\\xc3\\x2f\\x52\\xcb\\xa1\\xb6\\x91\\x28\\xad\\x98\\x8f\\x5a\\x83\\xcc\\x13\\x62\\xe9\\x14\\x91\\x63\\xb4\\x12\\x3b\\xb1\\x5e\\x6d\\x2d\\x91\\x38\\x5a\\x41\\xfc\\x64\\x34\\xa9\\xd4\\x72\\xd5\\x17\\x9d\\x81\\x92\\x89\\x88\\x16\\x58\\x42\\x4a\\x76\\x21\\x97\\xfb\\x30\\xd6\\x0e\\xdf\\x64\\xb4\\x2a\\x0c\\x59\\xf5\\xa2\\x80\\x45\\x2c\\x23\\x03\\x21\\x90\\x78\\x71\\xc3\\xe9\\x45\\x2c\\x2e\\xea\\xe0\\x8e\\xc8\\xab\\xf7\\x29\\xad\\x54\\x89\\xa5\\x32\\x22\\x56\\xe1\\xf6\\xd0\\x4a\\x27\\x53\\xa7\\x2d\\x46\\x13\\xaf\\xd7\\x1b\\x0d\\x2a\\xad\\x0c\\x11\\x2c\\x29\\x8c\\x2f\\xf7\\x87\\x85\\x38\\x5a\\x69\\xe8\\x47\\xeb\\x84\\x7a\\xe9\\x2b\\x07\\x1a\\xf8\\xb8\\x37\\x3b\\xba\\x0e\\xe2\\xe5\\x1d\\x4a\\x0a\\x5e\\xce\\xcd\\xbf\\x90\\x2b\\xd4\\xb2\\x72\\x74\\x30\\xf9\\x44\\xf9\\x9e\\xf0\\xa7\\x9e\\xb4\\x2f\\x13\\xe1\\x2b\\xbd\\x9e\\xd0\\x4a\\xa7\\x93\\x59\\xc5\\x10\\x4a\\x45\\xa2\\x92\\xaa\\x33\\x26\\xa9\\xf2\\x7b\\x53\\x4a\\x95\\x56\\xce\\xa8\\xfc\\xa4\\x6c\\x45\\x65\\x68\\x57\\x06\\x29\\x9c\\x6a\\xf7\\x9f\\xd1\\x64\\x82\\x1e\\xe5\\x11\\x9d\\x43\\xc0\\x7a\\x41\\x6f\\xe0\\xc9\\x05\\x01\\x7c\\x28\\x8c\\x75\\x5d\\x48\\xbc\\xc0\\x5c\\x97\\xe4\\xf7\\x62\\x2a\\xb5\\xcd\\x92\\x6b\\x6e\\x48\\x07\\x7c\\xda\\x95\\xd9\\x71\\x9a\\xc9\\x41\\xc1\\x4f\\x24\\x21\\xe1\\x29\\x0d\\xef\\x28\\x4f\\x09\\x3a\\x59\\x90\\x89\\x5e\\xcb\\xf3\\x26\\x9d\\xcc\\x30\\xd6\\x75\\x32\\xd4\\x0f\\x92\\x4a\\x16\\xd5\\xa6\\xd6\\x0b\\xf9\\x5e\\xd9\\x68\\xe1\\x99\\x0e\\x6e\\x74\\x57\\x26\\x69\\x79\\xf0\\x69\\xe4\\x26\\xa9\\xee\\xc2\\x33\\x1d\\xc2\\x69\\x52\\x0e\\x56\\xdf\\xb0\\x84\\xc9\\x5d\\xc6\\x53\\x44\\x85\\x66\\x74\\x22\\x3c\\x25\\x5d\\xf8\\xdf\\xf3\\x54\\x50\\xe5\\x29\\x22\\x8b\\x18\\x4f\\x71\\x1f\\x5e\\xc8\\x45\\xd1\\xfe\\xe6\\x4d\\x96\\x07\\xe1\\x29\\x4e\\x24\\xdd\\x0d\\x92\\xc1\\xa0\\xe3\\x2f\\x90\\xfc\\xa0\\x47\\xba\\x5f\\xcc\\x53\\xa0\\x42\\xa5\\xb4\\x7a\\x93\\xe0\\xff\\xa9\\xca\\x56\\x1a\\x53\\x31\\xd9\\xc6\\xe0\\x6a\\xb4\\x92\\x89\\x8e\\xaf\\x23\\x3c\\xa5\\x07\\x88\\xf1\\x54\\x27\\x2f\\x5e\\x88\\xe6\\x11\\xf9\\x59\\x9e\\x62\\xd9\\xf8\\x82\\x2a\\x4f\\x75\\x65\\x72\\xa3\\x3b\\x14\\xa9\\x23\\x72\\x13\\x7c\\x4a\\xca\\x21\\xd4\\x76\\xaa\\x32\\xaf\\xa7\\xcf\\x93\\xd1\\xe0\\x90\\x55\\xc4\\xd4\\x49\\x0e\\xe1\\x60\\xd2\\xea\\x65\\xe5\\x5f\\xb1\\x55\\x1f\\x7a\\xf5\\x62\\xad\\x58\\x67\\xa8\\x75\\x88\\x8c\\xbb\\x68\\x6b\\x8f\\xc9\\x17\\xd6\\xe7\\xc8\\x28\\x18\\x72\\x10\\x4d\\x5b\\x14\\x25\\x59\\x32\\xf2\\x26\\x49\\x56\\x90\\xae\\x6f\\x97\\x1d\\x8c\\x27\\x5e\\x7c\\x7f\\x4b\\x45\\x2f\\x63\\x36\\x22\\x51\\xa8\\x04\\xd7\\xfa\\x5d\\x26\\x81\\x11\\xb1\\x8d\\xa2\\xf9\\x10\\xe1\\x85\\x2c\\x68\\x44\\xc8\\x66\\x16\\x45\\x1b\\x02\\xa3\\x4e\\x67\\xd1\\x83\\xde\\x6a\\x33\\x5a\\x58\\x99\\x8c\\x9d\\x4c\\x24\\x87\\xf4\\x44\\x26\\x1b\\xf0\\x05\\x3d\\x30\\xa1\\x19\\xac\\xe9\\x63\\x54\\xc4\\x72\\xf7\\xdb\\x82\\x0e\\xb5\\x7b\\x52\\xb5\\x90\\xf9\\x1d\\x1d\\xa7\\x99\\x54\\x63\\x6c\\x18\\xd9\\xa9\\x3f\\x48\\x18\\xb1\\x2b\\x43\\x7f\\x90\\xb1\\x62\\x9c\\x0e\\x40\\xe9\\x6b\\xa7\\xf4\\x25\\xc2\\xc1\\x44\\x98\\x91\\xf4\\x89\\xf1\\xec\\x28\\x5f\\xc4\\x8e\\x7d\\xe9\\xdb\\xc3\\x90\\xfe\\x18\\x4b\\x46\\x79\\xf2\\x87\\xd1\\x44\\xd2\\x69\\xf2\\x48\\xa3\\x6d\\x49\\xc8\\x4e\\xe4\\x9c\\x41\\x16\\x65\\xd2\\xff\\xca\\xa2\\xa2\\xbb\\x48\\xeb\\xe8\\x45\\xda\\x38\\xcd\\x83\\x52\\xd6\\x40\\xf8\\x92\\xf5\\x6a\\x31\\x0d\\x44\\xf0\\x53\\xc2\\x72\\xb1\\x3c\\x54\\xba\\xd6\\x86\\x6c\\x22\\x29\\x12\\x31\\xd8\\x64\\xce\\x6a\\x93\\x4c\\x26\\xab\\xc5\\xc8\\x98\\xd4\\x12\\xe1\\x64\\x25\\xda\\x17\\x75\\x22\\x9e\\x09\\x8d\\x4b\\x71\\x6a\\x7c\\x5f\\x4a\\x6d\\x66\\x55\\x08\\x0e\\x61\\xdd\\x32\\xe5\\xd6\\x0e\\x26\\x09\\xd5\\xce\\x95\\x30\\xad\\x26\\x0b\\xb1\\xaa\\x6b\\x10\\xd9\\x4b\\xcb\\x1a\\x62\\xda\\x10\\x75\\x53\\xc8\\x51\\x37\\xcc\\x46\\xbd\\x4e\\xad\\x52\\x7d\\x67\\xbc\\x6e\\x14\\x89\\x36\\xc7\\x38\\x85\\xa0\\x8f\\x86\\xa4\\x69\\x06\\x84\\x6b\\x23\\xf3\\x84\\xa3\\x84\\xb8\\xa4\\x2a\\xb9\\x0f\\x29\\x1d\\x7a\\xe9\\x5f\\x32\\x2a\\x0b\\x39\\x74\\x32\\x4f\\xf9\\x96\\x23\\xe4\\x15\\x0d\\x8a\\xee\\x22\\x1d\\x4c\\x6b\\xf7\\xb6\\x5e\\xbd\\x49\\xac\\xf3\\x25\\xb9\\xa8\\xbd\\xaf\\xa6\\x8d\\x69\\xba\\x0d\\x17\\x2b\\x17\\x6d\\xff\\x16\\x34\\x32\\x64\\x37\\xe9\\x74\\x36\\x22\\x86\\x45\\x2c\\x5a\\x6d\\x66\\x8e\\xb3\\x5a\\xcc\\x4c\\x14\\x5b\\x3a\\xf5\\x1c\\xcf\\xb1\\x4b\\x91\\x8f\\xc8\\x1a\\xdf\\x46\\x97\\x83\\xc7\\x53\\x38\\xc6\\xb9\\x84\\xb0\\x41\\xb5\\xed\\x10\\xfb\\x98\\x70\\x2e\\x25\\xac\\xca\\xbc\\x78\\xf9\\x85\\x21\\xa4\\x5e\\x3f\\xa4\\xe5\\x15\\x4e\\x93\\xd2\\x6a\\x3a\\x96\\xc6\\x4b\\x84\\xbe\\x92\\x2c\\x9b\\x04\\x3a\\x18\\x81\\x74\\xba\\x1e\\xfa\\x46\\xe2\\x75\\xc5\\xce\\xbe\\xf4\\xed\\x39\\xf9\\x28\\xaa\\xd6\\x31\\xfa\\x32\\xb5\\x4e\\x53\\xbe\\xb8\\x0f\\x49\\x3b\\xd1\\x14\\xb0\\x1e\\x7d\\x94\\xd1\\x57\\x2d\\xb3\\x91\\xb2\\xaf\\xc4\\x5d\\xd0\\x5f\\xa4\\x93\\x5e\\x92\\xbe\\x5a\\x79\\x49\\x2e\\x4c\\xb0\\xc2\\xa7\\x31\\xd1\\xca\\xcc\\x04\\x4a\\xdf\\xb8\\xbe\\x88\\xd1\\x97\\xb7\\x58\\x6c\\x44\\x37\\x15\\x64\\xc1\\x6a\\xd3\\x1b\\x8d\\x56\\x93\\x91\\x11\\xd5\\x14\\x21\\x1d\\x9f\\x5e\\xed\\xf5\\x0c\\x9d\\x3d\\xbd\\xde\\xcf\\xd2\\x37\\xd6\\x37\\x95\\xfb\\x68\\x31\\x99\\x6c\\x8a\\xdc\\xa4\\x71\\xb1\\x92\\x22\\x1c\\x65\\x82\\x90\\x5f\\x44\\x98\\x98\\x08\\xe2\\x0e\\x14\\xa7\\x2f\\x3b\\xd0\\x94\\x50\\xa2\\x49\\x6f\\x25\\xf2\\xd7\\xe1\\x48\\x70\\xca\\x16\\x8b\\x93\\x48\\x88\\x04\\x3b\\x91\\x10\\x46\\x9e\\x69\\x0f\\x4f\\x87\\xf5\\x42\\xa7\\x55\\x65\\xb1\\x03\\x61\\x13\\xe5\\xe5\\x98\\x2f\\x96\\x78\\x45\\x3a\\xa6\\x4c\\xf7\\x95\\x19\\x31\\xd1\\x1c\\x93\\x1d\\x31\\x01\\xad\\xc9\\x10\\x4d\\x4a\\x33\\x95\\xa9\\x17\\x6e\\x23\\x43\\x5e\\xbb\\x5e\\x6f\\x31\\x12\\xa3\\xca\\xa1\\x33\\xea\\x12\\x78\\xa7\\x29\\x01\\x59\\x49\\x8d\\x98\\xcc\\x26\\x86\\x9a\\x1d\\x9b\\xbb\\xa8\\xf0\\x66\\x1e\\xcd\\x2e\\xae\\x9a\\x60\\x7c\\x33\\xef\\x69\\x01\\x5a\\x37\\x18\\x95\\xe1\\xa7\\x09\\x3b\\xd2\\x3a\\xd3\\xe4\\xb8\\x5a\\x69\\xac\\xee\\x98\\xcf\\xc1\\x18\\x3e\\xb4\\xde\\x6c\\xc8\\x8d\\x5a\\x43\\x89\\xbc\\xd9\\x4c\\x0f\\xd4\\x73\\xeb\\xb0\\xc5\\x22\\x18\\x75\\x46\\x8f\\xd7\\xa9\\xd7\\x7b\\x04\\xa7\\xcb\\x49\\xd9\\x53\\x0e\\x63\\x57\\x27\\xb2\\x5f\\xb0\\x44\\xab\\xd1\\x68\\x88\\xd8\\xa4\\xf8\\x66\\xa2\\x5d\\xc4\\x55\\x66\\xfc\\xfa\\xb0\\x28\\xba\\x5c\\x7c\\xc3\\x09\\x6a\\xd2\\x89\\x56\\xed\\xe9\\xb8\\x06\\xa4\\x55\\x33\\xab\\xe2\\x0b\\xcf\\xa8\\x0d\\x89\\xc9\\x2b\\x36\\x27\\x87\\xf0\\x55\\xc2\\x63\\x4c\\x66\\xda\\x0f\\x51\\xb7\\x8c\\xf8\\x02\\xa0\\xa2\\x9a\\x98\\x53\\x46\\x9b\\x4f\\x78\\xec\\xc2\\xe5\\xc2\\x63\\xf8\\x2a\\xfe\\x3d\\x35\\x3d\\x29\\x2b\\xb9\\xeb\\x49\\x4f\\x5b\\x77\\xd1\\x45\\xe9\\x23\\x3b\\xf9\\x77\\x7b\\xd2\\x33\\xf8\\x8e\\xa7\\x35\\xf8\\x4a\\xd4\\x85\\x63\\xef\\x17\\xf4\\x07\\xb5\\xf4\\xf8\\xed\\x4b\\xa6\\xa7\\x53\\x7a\\x34\\x3d\\x7e\\x3b\\x92\\x47\\xbe\\x6a\\x7a\\x7c\\x2a\\x0e\\x3e\\xf0\\x48\\xb8\\x38\\x3d\\x81\\x1d\\x4b\\x9f\\x87\\xe6\\x44\\xfe\\x21\\x3c\\x26\\x3e\\xa0\\x8d\\x65\\x5a\\xd8\\xfa\\xea\\x24\\xb6\\x8b\\x28\\xea\\x91\\xa0\\x12\\x55\\xa3\\x1a\\x74\\x19\\x1a\\x81\\x46\\xa3\\xf1\\x68\\x12\\xba\\x02\\x4d\\x47\\x4d\\x68\\x26\\x9a\\x83\\x16\\xa0\\x45\\x68\\x19\\x5a\\x85\\xd6\\xa1\\x4d\\xe8\\x1a\\xf4\\x4b\\x44\\xcf\\x4a\\xda\\x89\\x6e\\x47\\x77\\xa3\\xfb\\xd0\\x03\\xe8\\x21\\x84\\x1c\\x41\\xa7\\x3f\\x4b\\xfb\\x0a\\x71\\xd7\\xd2\\x7f\\x10\\xef\\xfe\\x2f\\xd2\\xc3\\xbf\\xb8\\xb6\\x5d\\xe2\\x3b\\x67\\xee\\x5c\\xd8\\x45\\xbe\\xbb\\xe7\\xcc\\x89\\x74\\x90\\xdf\\xfb\\xd4\\xef\\xc9\\x39\\x73\\x94\\xe6\\xb9\\x73\\x95\\xd6\\xb9\\x73\\x79\\x13\\xf9\\x6d\\x51\\xbf\\x27\\x7b\\x52\\x9f\\xbc\\x64\\xec\\xcf\\xc0\\x38\\xd9\\x13\\xdb\\xf5\\x62\\xcf\\x75\\xe7\\x77\\x3d\\x6f\\xd2\\xdf\\x9e\\x3f\\x21\\xa3\\x95\\xfe\\xb5\\x34\\xf7\\xfc\\xcd\\xbc\\xf8\\xba\\x85\\xfe\\xb5\\x36\\xd2\\xbf\\x56\\x76\\xad\\x46\\x4b\\x7f\\x63\\x2f\\x83\\x9f\\xdd\\x29\\x67\\x5b\\x95\\xb3\\xcd\\xca\\x07\\xe4\\xd3\\xa2\\x7c\\xd8\\x22\\xfd\\xbd\\x19\\x4d\\x26\\xbc\\xf5\\xff\\xbf\\xba\\x7f\\x0c\\xed\\x43\\x07\\xd0\\xd3\\xe8\\x59\\x74\\x14\\xbd\\x84\\x5e\\x41\\xf4\\x4c\\xfa\\xb7\\xd0\\x69\\xf4\\x1e\\x3a\\x8b\\x3e\\x45\\x9f\\xa3\\xaf\\xd0\\x39\\xf4\\x1d\\xfa\\x27\\x31\\x4a\\xbb\\x81\\x03\\x09\\x64\\xb0\\x80\\x03\\xdc\\x90\\x04\\x69\\xe0\\x87\\x00\\xe4\\x43\\x11\\x04\\xa1\\x12\\xaa\\xa1\\x06\\x2e\\x83\\x11\\x30\\x1a\\xc6\\xab\\xfc\\x54\\x79\\x89\\xaf\\xf0\\xff\\x41\\x7c\\x56\\x9f\\xb8\\x28\\x2f\\x06\\x2e\\xf1\\x95\\x7e\\x06\\x8e\\xfb\\x7f\\x99\\x1e\\xfe\\x97\\xf1\\x0e\\x0d\\x96\\xfb\\xdf\\xfc\\xda\\xb4\\xb4\\x73\\x18\\x53\\x92\\xcf\\x1b\\xec\\x43\\x2e\\x3a\\x6f\\x22\\x4c\\xad\\x7e\\xd4\\xd8\\x39\\x73\\xba\\xa6\\xfd\\x17\\xa9\\x60\\x57\\x7c\\x9a\\x17\\xe7\\xcc\\xe1\\x7e\\xd3\\x3b\\x11\\xf9\\xcc\\xb9\\x08\\xd8\\x9c\\xff\\x20\\x4d\\xe7\\x77\\xff\\x09\\x0e\\xea\\xab\\x73\\x7e\\x2e\\xa4\\xbf\\x5a\\x2b\\x6b\\xbd\\xa8\\xad\\x35\\xff\\x4c\\xbb\\xfb\\xd9\\xf8\\x96\\x9e\\x3f\\xb5\\x3d\\x36\\xc6\\xb5\\xca\\x96\\xb8\\xb6\\xd9\\xab\\x85\\xb6\\xc6\\xb7\\xd3\\xe6\\x68\\x6b\\x6d\\xd1\\x80\\x93\\x2f\\x01\\x46\\x6f\\x49\\x72\\x92\\x08\\x91\\xd6\\x48\\xfb\\x90\\x53\\xa4\\xdd\\x8e\\x44\\x63\\xd1\\x04\\x74\\x39\\x0a\\xa3\\x06\\xd4\\x82\\x66\\xa1\\x79\\xe8\\x2a\\xb4\\x04\\xad\\x40\\x6b\\xd0\\x06\\xb4\\x05\\x5d\\x87\\xae\\x47\\xdb\\x50\\x07\\xba\\x15\\xdd\\x89\\xee\\x45\\xbf\\x42\\xbf\\x41\\x8f\\xa0\\xbd\\xe8\\x49\\x74\\x10\\x1d\\x41\\xbf\\x43\\x2f\\xa0\\xdf\\xa3\\xe3\\xe8\\x04\\xfa\\x13\\x3a\\x85\\xce\\xa0\\x0f\\xd0\\xc7\\xe8\\x2f\\xe8\\x0b\\xf4\\x37\\xf4\\x0d\\xfa\\x07\\xfa\\x09\\x45\\x00\\x40\\x00\\x3d\\x98\\xc0\\x06\\x4e\\xf0\\x42\\x0a\\x5d\\x3c\\x05\\xb9\\xd0\\x0f\\x4a\\xa0\\x1c\\xaa\\x60\\x10\\x0c\\x81\\xe1\\x30\\x12\\xc6\\xc2\\x04\\xd2\\xe9\\x10\\xe5\\xa0\\xdc\\x7f\\x89\\x6f\\xd0\\xf9\\x73\\x5f\\xbf\\x93\\x58\\x11\\x17\\x7f\\xa1\\x4f\\x42\\x37\\x89\\x0b\\xc4\\x7d\\xa5\\x3e\\xcf\\x05\\x12\\x57\\x19\\x7f\\x4f\\xbe\\x3e\\xf2\\x95\\xca\\xfd\\xce\\x2c\\xf2\\xeb\\x20\\xbf\\xfe\\xb8\\x6f\\xdf\\xf7\\xff\\xed\\xf3\\x3e\\xf9\\x43\\xdf\\xfb\\x3e\\x78\\x46\\xdf\\x97\\x34\\xbc\\x28\\x3e\\x6e\\x02\\xd7\\xdd\\x07\\xbe\\xa3\\xef\\xbd\\xf6\\x7e\\xf4\\x57\\x38\\x75\\x21\\x7f\\x7e\\xcf\\xdf\\x02\\xfa\\x4f\\xff\\xa2\\xbf\\xd1\\xbf\\x0b\\xb7\\xf6\\x44\\xbd\\x4d\\x3e\\xf3\\xe7\\x9f\\x22\\x1f\\x2d\\x2e\\xf2\\xe5\\x7c\\xed\\x61\\xd7\\xa3\\x0b\\xa0\\x66\\xc1\\xa9\\x05\\xf0\\xd8\\x82\\x1e\\x30\\x71\\xb0\\x7a\\xdf\\xc7\\x00\\x61\\x17\\xbb\\x39\\xc5\\x3e\\xf8\\x2b\\x9a\\x22\\x96\\xc1\\x02\\x0a\\x5b\\x99\\x42\\x9e\\x9c\\x8a\\xbe\\x1d\\xfb\\xa5\\x69\\x16\\xb0\\x97\\x22\\x3b\\x21\\xa3\\x85\\x7e\\xfc\\xcd\\xe0\\x6b\\x65\\x9f\\x5e\\xad\\xe7\\x85\\x58\\xa7\\x44\\x3e\\x8d\\x24\\x14\\xe7\\x47\\x1f\\x3d\\xdf\\xb7\\x41\\x3e\\x1f\\xbd\\x78\\x29\\xbe\\x9d\\x5c\\xd4\\xde\\x7a\\xa2\\x62\\xa9\\xc4\\x13\\xd1\\x36\\x16\\x6d\\xe9\\x24\\x57\\x2d\\x8b\\x96\\x18\\x68\\x15\\xec\\x0b\\x31\\x60\\x2a\\xa0\\x1e\\x00\\xec\\x65\\x75\\xdd\\xd7\\x3a\\xb4\\x82\\x9f\\xc6\\x4f\\x66\\x67\\x95\\x71\\x98\\x17\\x38\\x76\\x56\\x99\\xba\\xe4\\xcb\\x41\\x34\\xac\\x75\\xdc\\xd9\\x2e\\x1f\\x3f\\xb9\\xcb\\x87\\x30\\xa2\\x1e\\x8c\\x4f\\xf2\\xc7\\x59\\x1f\\x9b\\x1a\\x32\\xd2\\xa3\\x87\\x01\\xe9\\x89\\x09\\x4a\\xde\\x2a\\x3a\\xf1\\xc1\\x89\\xf8\\x15\\x79\\xe4\\x55\\x87\\xcd\\x67\\x13\\xf9\\xe3\\x9d\\x95\\x63\\xf8\\x12\\xfa\\xc3\\x6f\\xe8\\x3c\\xc9\\x97\\x90\\x57\\xae\\x82\\x4d\\x78\\x1e\\xb7\\x8e\\xe5\\x89\\x39\\x5e\\x00\\xac\\xad\\x0c\\x8a\\x6a\\x81\\xf3\\x14\\x1e\\xba\\x60\\x13\\x31\\xb9\\xd8\\x7c\\x69\\x4f\\x7a\\x96\\xaf\\x88\\x05\\x0e\\xd3\\x93\\x07\\x40\\xc4\\x7d\\xf3\\x05\\xcd\\x13\\xb5\\x0a\\x62\\x8c\\x72\\x0f\\x85\\xa2\\xd4\\x43\\x9b\\x72\\x8f\\x5a\\x5e\\xf2\\xa7\\x43\\x78\\xae\\x7a\\x36\\x1b\\x12\\x78\\x0e\\x7a\\xca\\x4b\\xde\\xf3\\xe9\\xd0\\x8f\\xe4\\x71\\xe4\\x0e\\x3a\\x26\\xb9\\x0b\\x21\\x71\\x0c\\xff\\x38\\xc1\\xc0\\x76\\x10\\x11\\x44\\x21\\x8e\\x36\\x3e\\x3d\\x79\\x8e\\xa7\\xe2\\x29\\xfc\\xe3\\x9d\\x13\\x49\\xda\\x8e\\xee\\xbf\\x88\\xd3\\xf8\\x3d\\x6a\\x5a\\xe0\\xb4\\x33\\xdf\\xd4\\xb4\\x7a\\x0c\\x1d\\x8c\\x00\\x7b\\x22\\xbb\\x22\\x77\\xab\\xe3\\x9d\\xbb\\x48\\xfa\\x31\\xfc\\x4e\\x96\\x1e\\xa3\\xde\\xb0\\xf5\\x58\\x1c\\x13\\x79\\x34\\xf2\\x30\\xbf\\xb3\\x73\\x22\\xc9\\x9e\\xa5\\x8f\\x87\\xdf\\x37\\x3d\\x11\\x6c\\xe2\\x34\\x0a\\xbe\\xb3\\x0a\\xcf\\x22\\x29\\x92\\x99\\x1f\\xc5\\xdd\\xc4\\x66\\xd1\\xc3\\xf0\\xd0\\x27\\x08\\x74\\x3c\\x27\\xea\\x44\\xac\\x17\\x04\\x59\\xc2\\xd8\\x20\\x8b\\x3c\\xe8\\xd0\\x48\\x19\\x72\\x65\\xd0\\xcb\\xf0\\x93\\x0c\\xc7\\x65\\x98\\xc7\\xae\\xe7\\xfe\\x55\\x86\\x3b\\x65\\x58\\xc3\\xee\\xc3\\x32\\x90\\x44\\xd5\\x32\\x78\\xd9\\xb3\\x1f\\x64\\xf8\\xb3\\x0c\\x2f\\xcb\\x70\\x48\\x86\\x07\\x65\\xb8\\x4d\\x86\\x95\\x51\\x10\\xe4\\xfd\\x47\\x64\\x98\\x22\\x43\\x85\\x0c\\xa2\\x0c\\x95\\x24\\xe9\\xdb\\xd1\\x14\\x6d\\x32\\x4c\\x94\\x61\\x98\\x0c\\x65\\x32\\x64\\xca\\x90\\xc0\\x52\\x7c\\x2b\\x03\\x7c\\x24\\xc3\\x1b\\x32\\x3c\\x2f\\xc3\\x13\\x32\\xfc\\x5a\\x86\\x1d\\x32\\x5c\\x2b\\xc3\\x72\\xf6\\xc2\\xe4\\xe8\\x0b\\x24\\xf5\\xab\\x32\\x3c\\x26\\xc3\\xdd\\x32\\xdc\\x28\\xc3\\x3a\\x19\\x16\\xc9\\x80\\xc7\\xcb\\x50\\x23\\x43\\x11\\xdd\\xd8\\x0f\\x16\\x99\\x1e\\x64\\x40\\xff\\x9a\\x2e\\xb1\\xdc\\xa6\\xe9\\x62\\x5f\\xf9\\x17\\xaf\\xc3\\x89\\xae\\x1b\\x46\\x45\\xda\\x54\\x4b\\x74\\xc5\\x7c\\x6c\\x66\\xdf\\xe7\\xd7\\x43\\x50\\xcf\\xe3\\xca\\x89\\x4a\\x25\\x1c\\x9f\\x08\\xaf\\x2a\\x66\\x65\\x17\\xb4\\x42\\x33\\x3e\\x89\\xff\\x14\\x29\\xc1\\xe5\\x91\\x57\\x23\\x2f\\xe2\\xc1\\x84\\xf6\\x0f\\xa1\\xfb\\xf9\\x42\\x3e\\x97\\xed\\x51\\x24\\xbc\\x6a\\x45\\x1e\\x1d\\xd2\\xa5\\xfb\\x12\\x8c\\xc9\\x3c\\xe1\\xd5\\xf7\\x7b\\xb5\\x91\\xe8\\xf2\\x2f\\xe6\\xc4\\xa3\\x10\\x2a\\x13\\xe8\\xda\\x3c\\xba\\x8b\\x4b\\x75\\xf1\\xf4\\xd0\\xea\\x3f\\xad\\x59\\xfb\\xe6\\x9a\\x35\\x7f\\x5a\\xb7\\xf6\\x8d\\xd5\\x53\\x5a\\x1f\\x9a\\xd9\\xfa\\x48\\x5b\\xeb\\x63\\xad\\x2d\\x8f\\xb4\\xe2\\x36\\x1a\\xff\\x16\\x79\\xb4\\x7a\\xf5\\x1b\\x6b\\x5b\\x1f\\x69\\x69\\x7e\\xb4\\x95\\x3c\\x69\\x7d\\x84\\x1d\\x79\\x83\\x5a\\xd1\\x14\\xbe\\x89\\x9f\\x48\\x5a\\x8b\\x85\\xed\\xd7\\x0a\\x10\\xfd\\xb7\\x92\\xe8\\xbe\\x23\\x88\\xde\\x7b\\x05\\xd1\\x79\\xe7\\x10\\x7d\\x77\\x15\\xd1\\x75\\xdf\\x08\\x2d\\x48\\xae\\x9f\\x3b\\x77\\xf2\\x95\\xfd\\x57\\xaf\\x1e\\xb8\\x3e\\x67\\xf1\\xe2\\x82\\xe5\\xe9\\xcd\\xcd\\x99\\x6d\\xba\\xba\\x3a\\xe3\\x18\\x14\\x0a\\xf1\\xc3\\xac\\xc5\\xc5\\x09\\x65\\x65\\xc3\\xc6\\xb4\\x2d\\x5f\\x7f\\xa5\\xe4\\x99\\x3a\\xc3\\x33\\x63\\xcb\\xe6\\x51\\x4b\\x97\\x8e\\x5b\\x39\\x74\\xed\\xda\\xda\\x8d\\xa5\\xf3\\xe7\\x57\\x2c\\x4c\\x9c\\x36\\x2d\\xb5\\xd1\\x3e\\x71\\xa2\\x6b\\x0a\\x1e\\x30\\x40\\x1c\\x6c\\xc8\\xcb\\x33\\x17\\xae\\xdc\\xb8\\xb0\\x71\\xca\\xe0\\xc2\\xc2\\xc1\\x53\\x1a\\x17\\x6e\\x5c\\x29\\xcd\\xce\\x9e\\xdd\\x9a\\x91\\xcd\\xd6\\xa9\\xdb\\x34\\x77\\x3d\\xcc\\x63\\x4f\\xdc\\xfa\\xf4\\x9f\\x09\\xb4\\x35\\x8d\\xee\\xaa\\xff\\x20\\x31\\x5b\\xf6\\x48\\x8f\\x66\\x09\\x96\\x06\\xb4\\x5f\\x87\\xf6\\xeb\\xd6\\x7e\\xa3\\xcf\\xa5\\x3e\\xf7\\x7d\\x7f\\xfb\\x3e\\xef\\x7b\\x9f\\xd5\\x07\\x7e\\x34\\x3f\\xee\\x9d\\xb2\\xfe\\xfd\\xcb\\x6e\\xa1\\xc1\\x3f\\x2b\\xcb\\x2b\\xcb\\x33\\xe9\\x95\\x52\\x59\\x41\\xfe\\xf6\\x56\\x96\\x97\\x57\\xe2\\x89\\x34\\x8c\\x24\\xd2\\x08\\x7c\\x4d\\x2c\\x6d\\xe4\\xf1\\xb2\\xfe\\x15\\x15\\x2c\\x31\\xfc\\x81\\x3e\\x53\\x66\\xd0\\xf0\\x9f\\x34\\xf1\\x2d\\xf4\\x8a\\xbb\\x8d\\x04\\x05\\xe4\\x4e\\x79\\xab\\xb2\\xb2\\xfc\\x53\\x72\\x03\\x3b\\xc9\\xc5\\x34\\x0a\\x6c\\x15\\x09\\xe0\\x48\\x45\\xb0\\x2a\\x32\\x8c\\x5c\\xdd\\x59\\x56\\xd6\\x1f\\x27\\x6b\\x89\\x14\\x8e\\x5c\\x7c\\x46\\x5f\\x3b\\xd5\\xbf\\xac\\x7f\\x1e\\xb9\\x50\\x65\\xe0\\x7e\\x74\\x3d\\xef\\xe7\\x2e\\x20\\x13\\x9d\\xab\\x37\\xf0\\x66\\x8b\\x64\\xd1\\xce\\xdd\\x8a\\x0a\\x14\\xc6\\x95\\xc8\\x9f\\x81\\xe8\\xd6\\x5e\\x3c\\x7f\\xe1\\x99\\xa5\\x8a\\xf2\\xf4\\x21\\x45\\x59\\x74\\x9a\\xbb\\xb0\\xfc\\xdd\\xf9\\x4f\\x2b\\x0a\\x70\\x87\\xae\\x3c\\xb5\\x4a\\x95\\xcf\\xb9\\x44\\xde\\xec\\xe1\\xaf\\x61\\xfb\\xeb\\x08\\xcf\\xf3\\x60\\xc4\\x18\\x12\\x9c\\x56\\xa0\\x27\\x72\\xf6\\x96\\xcf\\x41\\x22\\x63\\xa1\\x0f\\x9f\\xe7\\xf2\\xd7\\x74\\xf1\\x2b\\x5f\\x5d\\xb5\\xf2\\xc4\\xca\\x95\\xaf\\x91\\x70\\x05\\x7f\\x4d\\xe7\\x06\\x3c\\x64\\xe5\\x6b\\x2b\\xc9\\x35\\x89\\x5c\\xf5\\x1a\\x81\\x1c\\x9f\\x87\\x9f\\x9e\\x47\\xc5\\x27\\x24\\x80\\x31\\x39\\x99\\xe4\\x94\\x99\\x65\\xf5\\x90\\x36\\x46\\x4b\\xf0\\xc1\\x07\\xaf\\x5b\\x3f\\x78\\xbd\\xcf\\x94\\x20\\xcb\\xb3\\x4f\\x5b\\x0b\\x5c\\x02\\x87\\x09\\xad\\x8f\\xb6\\xb4\\x90\\x86\\xc4\\xc2\\xb1\\x17\\x23\\x14\\x7b\\x46\\xc2\\x78\\xe4\\x18\\x0d\\x96\\xc1\\x75\\x78\\x26\\xb7\\x82\\xd0\\xd4\\x4b\\x69\\x90\\x20\\x99\\x49\\xf3\\x4b\\x4c\\x72\\x73\\x36\\x43\\xdf\\x76\\xcf\\x16\\xe7\\x46\\xf7\\xf4\\xb9\\xa4\\x38\\x2f\\x49\\x78\\xe6\\xed\\x2d\\xc3\\x16\\x0f\\xdb\\x39\\x6b\\xce\\x88\\x51\\x63\\x66\\xd7\\xd6\\xce\\x6e\\x1d\\x35\\xb6\\x09\\x6f\\x58\\xb0\\x6d\\xc8\\xd2\\xe1\\x73\\x3a\\x46\\x8d\\x98\\x53\\x3b\\x7b\\x76\\xed\\x88\\x59\\xf3\\x90\\x00\\x4f\\x92\\xfe\\x60\\x0d\\xe9\\x0f\\x64\\xe4\\x41\\x99\\xa8\\x18\\x0d\\x40\\x8b\\x42\\x21\\x87\\x38\\xc0\\x9b\\x56\\x91\\x9f\\x65\\x44\\x28\\x2b\\x4d\\xe4\\xab\\x07\\xe6\\x24\\x67\\x14\\x66\\x94\\x97\\xcc\\x2d\\x81\\x70\\x09\\x8c\\x28\\x01\\x6f\\x09\\x94\\x04\\xfb\\x5b\\x32\\x9a\\x32\\x16\\x65\\x70\\xba\\xfe\\x21\\xbd\\xb9\\x2e\\xa3\\x7f\\x46\\x7f\\x8e\\x9e\\x0c\\xae\\x77\\xd1\\x5e\\xfc\\x7d\\xba\\xa4\\x8b\\x34\\xd1\\xfc\\xc6\\x06\\xeb\\x89\\x20\\x15\\x8c\\x14\\x69\\x75\\x7d\\x71\\x6c\\x0f\\x82\\x56\\x0c\\x24\\x65\\xa0\\x00\\xdb\\x87\\x2a\\x95\\xa1\\x00\\x5d\\xfc\\x93\\x80\\xdc\\xa5\\x08\\x7a\\x96\\xbd\\xd0\\x13\\xfb\\x62\\xd7\\xd4\\x3d\\x75\\xa5\\x9b\\xae\\x15\\x12\\xd7\\x28\\x77\\x74\\x45\\x94\\xbb\\x80\\x88\\x50\\x4c\\xfe\\x5b\\xa7\\x29\\xaf\\xbf\\xf3\\xee\\xed\\x77\\x42\\xe9\\x3b\\x67\\xa0\\x38\\x32\\xbd\\x30\\x3d\\xbd\\x5f\\xbf\\xf4\\xf4\\x42\\x78\\xab\\x20\\x3d\\xbd\\xa8\\x28\\x3d\\xbd\\x20\\xf2\\xe5\\x98\\x9d\\x1d\\x63\\x06\\xb7\\x1e\\x39\\xd2\\x8a\\xeb\\x14\\xd2\\xad\\xc3\\xec\\xc8\\x05\\x98\\xaf\\xdc\\xfa\\xd3\\x19\\x28\\x85\\xbb\\xee\\x3c\\xf3\\x8e\\xf2\\x3a\\x40\\x19\\x4c\\x49\\x2f\\x8c\\xbe\\xcc\\x7e\\x95\\xa3\\xd7\\x5f\\xef\\x7f\\xe6\\x19\\x36\\x96\\x07\\x7f\\x22\\x34\\xbb\\x93\\xd1\\x8c\\x9e\\x1f\\xd2\\x0f\\xb5\\x85\\xaa\\x32\\x8d\\xf6\\x9c\\x54\\x8f\\xdd\\x23\\x12\\xe5\\xa6\\xb0\\xc8\\xe7\\xb4\\x24\\x59\\x72\\xfb\\xcd\\xed\\x07\\xe1\\x7e\\x30\\xba\\x1f\\x0c\\xea\\x07\\xfd\\xf2\\xb3\\x2d\\x96\\x34\\x4b\\x93\\x65\\x91\\x85\\xd7\\x8d\\xcf\\x6e\\xca\\xc6\\x96\\x6c\\x4b\\xb6\\x9e\\x90\\xea\\x35\\xe6\\x52\\x92\\x90\\xe9\\xf5\\x1e\\x32\\xbd\\x5e\\x1a\\xf5\\x90\\xdb\\xb3\\x40\\x2f\\x8e\\x4c\\x42\\x5c\\x5d\\x67\\xc5\\x5d\\x33\\xca\\x04\\x18\\x65\\xee\\xec\\x43\\x99\\x08\\xba\\x04\\x31\\x1e\\xa7\\x74\\x18\\x3c\\xa6\\x63\\xe7\\x98\\xde\\xc4\\x58\\x1b\\x57\\x72\\xfa\\xab\\xbc\\xff\\xcc\\x33\\xfe\\xeb\\xaf\\xa7\\xf3\\x5f\\xb5\\xdd\\xcb\\x44\\x33\\x5f\\x8d\\xf2\\x48\\x4f\\x30\\x30\\x94\\x59\\xe8\\x2f\\x37\\xf8\\x0d\\xfd\\xab\\x4a\\x36\\x7b\\xdf\\xf0\\x7e\\xe4\\xe5\\x36\\x79\\xa1\\x98\\x6d\\x5f\\xf4\\xe6\\x5b\\xf2\\x6a\\xf2\\xc6\\xe7\\x71\\xba\\x3c\\xb6\\xc8\\xef\\x7d\\x5a\\xb6\\x5e\\xdc\\x1b\\x74\\xa6\\x02\\x3d\\x72\\xd6\\x45\\x2d\\x70\\x91\\x9e\\x3c\\x6b\\xc6\\x92\\x93\\xfa\\x1f\\x97\\x02\\x95\\xd9\\x01\\x7f\\x79\\xb0\\x82\\x1e\\x4a\\x5b\\x51\\xe9\\xd6\\x8a\\x57\\x49\\x97\\x9b\\x73\\xd7\\x0f\\x1d\\x3a\\x73\\xe0\\x33\\xfd\\x0e\\x4f\\x11\\x4f\\x9f\\xb6\\x8d\\x3e\\x5c\\x72\\x28\\x73\\xd4\\xe0\\xf2\\xa1\\x6b\\xda\\x7e\\x9b\\x7f\\x68\\x9c\\xf5\\xf4\\x69\\x63\\xfd\\x53\\x39\\xbf\\x5b\\xb8\\x24\\xed\\xc6\\x17\\x5e\\xba\\xfe\\xc6\\xe6\\x99\\xc7\\xf8\\xea\\x33\\x62\\xa0\\xdf\\xa1\\x7e\\x87\\x97\\x2c\\x1f\\xbc\\xa1\\x99\\x24\\x4a\\xcc\\xb3\\xea\\xce\\x9c\\xb1\\x8d\\x7c\\xaa\\xdf\\xe1\\xb6\\x0d\\x83\\x37\\x37\\x11\\x08\\x63\\x4d\\x83\\x5e\\xde\\xba\\xf5\\x58\\x4b\\xcb\\x0d\\x5b\\x5f\\xa6\\x65\\x7c\\x17\\xd5\\xf3\\xd9\\xfc\\x16\\xd2\\x22\\x02\\x68\\x54\\x28\\x90\\xe2\\xb2\\x9b\\xcd\\x4e\\xba\\xd6\\x2f\\xd3\\x26\\xf3\\x72\\x4e\\xae\\xdd\\x69\\x41\\x1e\\xab\\xa7\\xde\\xc3\\x79\\xd2\\xcd\\x08\\x6d\\x46\\x58\\x87\\xbc\\x12\\x65\\xfa\\xc6\\x86\\xd2\\x13\\x45\\x0d\\xc1\\xd8\\x2a\\xfa\\xd8\\xd2\\x90\\x52\\xda\\xab\\x14\\x62\\xad\\xad\\x52\\x27\\xae\\xda\\x70\\x36\\x9d\\x33\\x8a\\x3a\\xc9\\xa8\\x64\\x2e\\x5c\\xf1\\xfb\\x63\\x16\\x0c\\x7b\\x7c\\xe9\\xca\\x49\\x53\\x76\\xcc\\x07\\xd4\\x8d\\x46\\x11\\x21\\x89\\xfd\\xfd\\x67\\x54\\xad\\x9b\\x78\\x45\\xf5\\xa0\\xaa\\x06\\x3c\\x54\\x1e\\xb3\\x76\\xf4\\xc6\\xdf\\x4c\\x99\\xb4\\xf6\\xaa\\xfb\\x4d\\x0f\\xd6\\x2a\\x17\\x40\\xac\\xc5\\x1d\\xe5\\x4d\\x55\\x53\\xd6\\x0c\\x1e\\x34\\x79\\x40\\x53\\x19\\x2d\\xc3\\x04\\x74\\x81\\xdf\\x47\\xca\\x50\\x80\\xfa\\xa3\\x61\\x21\\x7f\\x71\\x5a\\x81\\x2f\\xe0\\xb6\\xd9\\x2a\\x78\\x5f\\xc0\\x57\\x35\\xa0\\x20\\x2d\\x2f\\x88\\x32\\x37\\x67\\xe2\\xcc\\x7e\\x44\\x5d\\x92\\x2d\\x79\\xa0\\x56\\xd3\\x6b\\x0d\\x5a\\xc3\\x8d\\xdf\\x73\\x4c\\xbd\\x88\\xb1\\x1d\\x7f\\xd4\\x89\\x4e\\x05\\x73\\x11\\x46\\x77\\x37\\x39\\x69\\x3b\\x4d\\x83\\x04\\x0b\\x50\\x39\\x28\\x69\\x07\\x94\\x6a\\x3b\\x8c\\xa3\\x1c\\x49\\x6b\\xac\\x7b\\x67\\xbe\\x4e\\x14\\x75\\xbe\\x61\\xd5\\x53\\x73\\x33\\x4d\\x56\\xd1\\x6a\\xe4\\x79\\xb3\\x23\\x2b\\xd3\\xf4\\xb7\\xc9\\xfb\\x96\\x2f\\xdf\\xfb\\xc8\\xda\\x11\\x93\\xee\\x0a\\xaf\\xdf\\x78\\x45\\x78\\xed\\x7a\\x1e\\xe5\\xe7\\x0b\\x26\\x9d\\x9e\\xe7\\x6d\\x26\\xa3\\x39\\x69\\x60\\xeb\\xb8\\x60\\xba\\x5e\\x14\\x87\\x4c\\x2b\\xfd\\xfb\\x84\\xab\\x36\\x3c\\xfe\\xc0\\xda\\xd5\\x8f\\xe6\\xa7\\xaf\\x0d\\x37\\xad\\xdc\\x30\\xf5\\x8a\\xf5\\xd1\\x3d\\xf4\\xbc\\xc0\\x9f\\x44\\x3e\\x54\\x16\\x4a\\x46\\xb2\\xec\\xb6\\x59\\xdd\\x9c\\x98\\x2c\\x26\\x67\\xf8\\xf5\\xde\\x90\\x4e\\xae\\xf3\\xda\\xc6\\x13\\x55\\x85\\xaa\\xd1\\x0d\\x44\\x1a\\x69\\xaa\\x80\\xea\\xd1\\x8b\\xf6\\x50\\x84\\x07\\xc9\\x87\\xad\\x3c\\x4c\\xc5\\x69\\xe0\\xab\\x24\\xc2\\x7c\\x90\\xb6\\xa3\\xab\\xa2\\x92\\x74\\x5a\\xe9\\xde\\xe6\\xdb\\xb7\\xd5\\xe2\\xab\\xaf\\xb8\\x77\\x26\\x37\\xfe\\x81\\x6b\\x75\\x5d\\xff\\x23\\xae\\xdf\\x73\\xc5\\xb4\\x47\\xc3\\x57\\x87\\x67\\xde\\x78\\x2d\\x7f\\xb2\\xf9\\x91\\x1b\\x37\\x5e\\x3b\\xa2\\x79\\xf3\\xd1\\xfb\\x1e\\x6c\\xd4\\x67\\x65\\xb5\\xec\\xe9\\x30\\x1f\\xdd\\x3c\\x23\\xbc\\x75\\xe2\\xaa\\x67\\x28\\x7e\\x03\\x11\\x31\\x0e\\xf8\\x57\\x50\\x19\\xaa\\x09\\xf9\\x8a\\x74\\x80\\x74\\x9e\\x54\\x21\\xc7\\x92\\x63\\x29\\xcf\\xa9\\xc8\\xcc\\xd7\\x15\\x25\\xa4\\xf3\\x32\\xd1\\x3e\\xed\\xb2\\x5d\\x86\\xa4\\xd8\\x99\\xc6\\x0d\\xd4\\x25\\x54\\x74\\x7a\\x93\\x21\\x4b\\xb7\\x6b\\x55\\x0e\\xe6\\xca\\x03\\x6a\\xbf\\x43\\x91\\x2b\\x75\\xc7\\x8e\\x2f\\x75\\x26\\x48\\x15\\x95\\x51\\xd6\\x62\\xfd\\x52\\x2a\\xe7\\xe6\\x6b\\xbb\\x0e\\xe9\\x7e\\xb9\\xaa\\xa9\\x1c\\x57\\xed\\x0f\\x8f\\xdd\\x52\\x7b\\x73\\xc3\\xe0\\xb6\\x6c\\x9b\\x7c\\xff\\x92\\xe5\\xbb\\x87\\x4f\\xb6\\xba\\x02\\xf3\\x86\\x8d\\xbc\\x67\\x79\\xff\\x95\\x4d\\x83\\x84\\x92\\xab\\x36\\x2d\\xf5\\x27\\x55\\xac\\xbe\\x75\\x4c\\xd1\\xea\\x95\\x63\\x36\\x8e\\x5d\\xb6\\x0b\\x82\\x43\\x72\\xb2\\xb2\\xd7\\xdc\\xb6\\x7b\\xc1\\x94\\xd6\\x1c\\x4e\\x37\\x6e\\xcc\\xf2\\xe5\\xbf\\x29\\x99\\x38\\x6f\\xe3\\x9d\\xab\\xcb\\x9d\\x8c\\xee\\xb3\\xbb\\xbf\\x20\\xf6\\xde\\x1a\\xd2\\x46\\x12\\x43\\x06\\x64\\x72\\x48\\x92\\xc3\\x9b\\x68\\x88\\x19\\x13\\x9a\\xb7\\x98\\x42\\x28\\x82\\xe8\\x01\\x22\\xee\\xa8\\x73\\x0f\\xc9\\x0c\\xb8\\xd5\\x35\\xfd\\x89\\x69\\xa3\\x2b\\x6e\\x9c\\x75\\x45\\x7b\\x76\\xc6\\xf6\\xa9\\x2d\\xed\\x53\\x17\\xdd\\xb4\\xc5\\x3d\\xe5\\xd0\\xd7\\xeb\\xda\\xb6\\x0c\\x5d\\x70\\xfd\\xd2\\xd5\\xab\\x56\\x6c\\x6d\\x9d\\xf2\\xdc\\xf5\\x07\\x4e\\x91\\xbc\\x86\\x76\\x7f\\xce\\xbd\\x49\\x68\\x68\\x44\\x69\\x21\\x7a\\xfc\\x8d\\x81\\x33\\x70\\x26\\xf3\\x68\\x03\\x18\\x90\\xb7\\xa8\\x21\\x9a\\x9f\\xba\\xa1\\x93\\x9e\\x5c\\x2a\\x65\\xe3\\xec\\x40\\x05\\xc2\\x52\\x1d\\xe8\\xd7\\x0e\\x53\\x5e\\x9f\\x94\\x75\\xe4\\x96\\xcb\\x97\\x13\\x63\\xea\\x95\\x0d\\xca\\xed\\xd7\\xd7\\x2a\\xf3\\x6e\\x19\\x01\\xc2\\xd1\\xd9\\xd7\\x43\\x58\\xd5\\x63\\x8e\\xa1\\x14\\xae\\x9a\\xb4\\x15\\x2f\\x2a\\x0c\\x39\\xb1\\xd9\\xec\\x35\\x08\\x42\\x82\\xd7\\x9b\\x98\\x64\\xd2\\xe9\\x8a\\xc8\\x73\\xb7\\x8d\\xb4\\xed\\xd7\\x1a\\xaa\\x8a\\xaa\\x7a\\x1d\\xef\\xc4\\x64\\x18\\xa5\\xb8\\xe4\\x67\\xdb\\xeb\\xe3\\x97\\x69\\xc2\\x17\\x63\\xee\\xbc\\xaa\\xb1\\xa8\\x6a\\x69\\x68\\xe7\\x82\\xaa\\x01\\x1b\\xc6\\x15\\x14\\xf2\\x5b\\xda\\x5e\\xd8\\xf9\\xe8\\x6d\\x6b\\x36\\xaf\\x5e\\xbd\\x4b\\x56\\xc4\\x75\\xb7\\x57\\x14\\x8e\\x5d\\xee\\xd0\\xf6\\x6a\\x9e\\xe2\\xcf\\xf1\\xbf\\x24\\xf6\\x56\\x3a\\x6a\\x0e\\x95\\xa5\\x58\\x2c\\xce\\xc4\\x54\\xc9\\x68\\x44\\x89\\xc8\\x97\\x61\\x4e\\x99\\x92\\x02\\x97\\xa5\\x40\\x8a\\x29\\xb5\\x22\\x15\\xb2\\x52\\xa9\\xd6\\xc3\\xa5\\x82\\x2e\\x35\\x39\\x3d\\x69\\x6a\\x12\\x24\\xa5\\x25\\x7b\\xec\\x06\\x9e\\xad\\xf5\\x2d\\x0a\\x06\\x59\\xf7\\x11\\x75\\x36\\xc6\\x3a\\x93\\xa8\\xc4\\xed\\xe9\\x6e\\xe3\\x1c\\x32\\xda\\x84\\x18\\xd2\\x6e\\x72\\x97\\x05\\x59\\xe5\\x02\\x7f\\xae\\x62\\xdd\\xc8\\xaa\\xaa\\xb5\\xe3\\x8a\\xf3\\x22\\xef\\x5e\\xbf\\xac\\x6a\\xc0\\xfa\\xf1\\xfd\\xfa\\xe1\\x67\\x22\\x3b\\x70\\x76\\xe4\\x5d\\x18\\x36\\x6e\\xc9\\xe4\\x8a\\xa2\\x09\\x8b\\xec\\xf0\\xfc\\xad\\xca\\xca\\x15\\x77\\x97\\xf7\\x1b\\xb3\\x9a\\x73\\xe0\\xf3\\xfb\\x95\\x39\\xb7\\xae\\xb8\\x43\\xf5\\x75\\xb8\\xa7\\xbb\\x3f\\x3f\\x45\\x78\\x8d\\x8d\\x9b\\xdf\\x15\\x9a\\xca\\xa5\\xa6\\x58\\x79\\x0b\\x6f\\x11\\xf5\\x06\\x13\\x6f\\x36\\xf3\\x82\\x2d\\x39\\x0d\\xf3\\x60\\xb7\\x27\\xb8\\x3d\\x49\\xbc\\x83\\xe8\\x5b\\x0e\\xc1\\x91\\xee\\xd3\\xa7\\xa6\\x79\\x78\\xaf\\x4e\\x07\\x22\\x87\\x93\\xf8\\x44\\x29\\xd1\\x6b\\xb2\\xda\\x12\\x78\\xa7\\xd1\\x68\\x48\\x49\\x76\\xf3\\x2e\\xd9\\xe5\\x94\\xbc\\xb2\\xd9\\xe9\\x34\\xcb\\x5e\\x49\\x10\\x1c\\x02\\x6d\\x2c\\x9a\\x15\\x60\\xeb\\x71\\xa7\\xac\\x5d\\xf6\\xf6\\xfc\\xd1\\xe3\\x61\\x2d\\x76\\x49\\x8d\\x31\\x87\\xc0\\xf9\\x1d\\x12\\xf3\\xd2\\x09\\x8e\\xa0\\x94\\xe5\\x08\\x72\\xd4\\x73\\x27\\xfd\\x0a\\x5c\\x16\\x7e\\x60\\x63\\xa9\\x72\\xb8\\x7a\\x63\\xe9\\xfb\\x81\\xf7\\xc7\\x7e\\x10\\xf8\\xa0\\x7c\\x63\\x01\\x8c\\x18\\xb0\\xb1\\xe4\\xc3\\xc0\\x07\\xf4\\xd6\\xa1\\x1c\\x1e\\x0b\\x23\\xc0\\x7b\\xb3\\xf2\\x24\\x24\\x4d\\x7f\\x6f\\x3a\\x3c\\x4d\\x83\\xe2\\xae\\x9b\\xa1\\x56\\xf9\\x5b\\xe3\\x7b\\x8d\\xca\\xa8\\x19\\xef\\x36\\xe2\\xa6\\x9b\\x95\\x51\\x3b\\x54\\x3f\\xae\\xfc\\x2f\\x85\\x41\\xa4\\x86\\xb7\\x84\\x46\\x32\\x1f\\xa6\\x49\\x49\\x76\\xe6\\xa7\\x3a\\x3d\\x5d\\xa7\\xb3\\xdb\\xcd\\xbe\\x8c\\xf4\\xa4\\x94\\xa4\\xa6\\xb0\\x94\\xe0\\x4c\\x68\\x0a\\xf3\\x4e\\xce\\xe3\\xf5\\x34\\x85\\x91\\xb7\\xc6\\x39\\xde\\xb9\\xc9\\xc9\\x59\\xbc\\x20\\x73\\x4e\\xaf\\xd3\\x6b\\x4d\\xe1\\x74\\x76\\xb3\\xd5\\x6a\\x6f\\x0a\\x5b\\xed\\x51\\x07\\xa6\\xd4\\x0f\\x42\\xd5\\xc5\\xa7\\x0e\\xf4\\xda\\xde\\x18\\xf5\\x62\\x48\\x07\\x37\\x98\\x0b\\x5b\\x1f\\x47\\x7d\\x63\\x38\\xd8\\xc1\\x28\\xf1\\xee\\xde\\x2d\\x80\\x1b\\xe0\\x06\\xbb\\xb2\\x32\\x9d\\x85\\x97\\x2d\\x69\\xfe\\x26\\x7b\\xc5\\xe4\\x70\\xe7\\x4b\\xc6\\x27\\x87\\x1d\\xb4\\x51\\x3f\\xee\\x87\\x86\\x3c\\x68\\xc2\\xb7\\x9b\\xfe\\xc8\\xcd\\x9b\\x75\\x64\\x96\\x72\\xad\\x49\\x02\\xb7\\xb2\\x80\\xf9\\x6f\\x3f\\x32\\x0b\\x96\\x50\\x57\\x3c\\xac\\x5d\\xf5\\x23\\xcc\\x50\\x21\\x6c\\x23\\x5a\\xd2\\xfa\\xd0\\x48\\xa3\\xc5\\x4a\\x75\\x6d\\x19\\x71\\xbc\\xc4\\xbb\\xdd\\x3a\\x9d\\x2c\\x7b\\xbc\\x92\\xc9\\x6c\\x1a\\x1f\\xe6\\xcd\\x9c\\xcd\\x6e\\x1b\\x1f\\x46\\x76\\x8b\\x3d\\xcd\\x5e\\x63\\x3f\\x67\\xef\\xb6\\x0b\\x36\\xce\\x1e\\xd2\\x5b\\xea\\xcc\\x76\\xb3\\x5d\\x76\\xb9\\x12\\xc6\\x85\\x5d\\x48\\xd6\\x8d\\x0b\\xcb\\xce\\xb8\\x93\\x8c\\xd8\\x99\\x6b\\x4d\\x8d\\x97\\x3c\\x69\\x21\\xae\\xb8\\xaa\\xdb\\x7a\\x3f\\x3b\\x23\\x20\\xae\\x9c\\xf0\\x66\\x9b\\x7d\\x96\\x69\\x96\\xa3\\x6d\\xca\\x2a\\x59\\x59\\x35\\x9b\\x5c\\x98\\x48\\xc4\\xe4\\xe9\\x32\\x5c\\xc5\\x4d\\x9d\\x3b\\x6a\\xae\\x92\\xec\\x19\\x8a\\x07\\x93\\x0b\\x78\\xcf\\x33\\x94\\x9d\\xc1\\xae\\xd6\\xa1\\x9d\\x98\\xa0\\xc4\\x3c\\x96\\xf0\\xae\\xee\\xb7\\x23\\x0f\\x12\\x7e\\xef\\x26\\xf1\\xe7\\x49\\xdd\\x26\\x90\\x5e\\x68\\x51\\x28\\xd5\\x63\\xb3\\xf9\\x0d\\x92\\x2c\\x8b\\x44\\x55\\x4b\\xe1\\x93\\x93\\xa9\\xff\\x4a\\x7f\\x86\\x0f\\x35\\x87\\xd3\\x75\\x74\\xe9\\x81\\x2b\\x94\\x14\\x4e\\xd1\\xfb\\xc8\\x3f\\x6f\\x32\\x25\\x37\\x87\\x4d\\x72\\x53\\xd8\\x74\\x69\\xff\\x94\\xac\\x84\\xd1\\xba\\xec\\x55\\xb0\\x98\\x1a\\x15\\xe7\\x86\\x92\\xba\\xa0\\xe4\\x9d\\x09\\xa4\\x8b\\xd7\\xfc\\xbf\\xb3\\x53\\x35\\x62\\x6e\\x27\\xb7\\xbe\\xe8\\x7a\\xb1\\x80\\xba\\x9c\\x54\\x40\\x50\\xde\\x56\\xbe\\x28\\xb8\\x73\\xdf\\x8a\\xe5\\xc3\\xf3\\x8e\\xba\\x8e\\xe6\\x46\\x1d\\x4c\\x72\\xfc\\xba\\x7f\\x26\\x8e\\x7c\\x6a\\xff\\x99\\xf3\\x0b\\x8f\\xdc\\xb7\\xfa\\xea\\xaf\\xd6\\x7d\\xcd\\xfc\\xfd\\x28\\xb5\\x82\\x8e\\x94\\x8f\\xd8\\x4b\\x68\\x56\\xa8\\xdc\\x9f\\x6a\\x4c\\x4d\\xca\\xe7\\x79\\xa7\\x3d\\x23\\x2d\\x2d\\x90\\x64\\x4f\\xea\\x57\\x98\\x8a\\xa8\\x7b\\xce\\x82\\x82\\x0c\\x77\\x46\\x5a\\x53\\x38\\xc3\\xee\\xce\\x6f\\x0e\\xbb\\x9d\\x4d\\x61\\x37\\x27\\x5b\\x2c\\x52\\x73\\xd8\\x92\\xdc\\x53\\xac\\x8b\\x8f\\xe7\\x8a\\xb3\\xca\\x59\\xb9\\xd8\\x41\\x04\\x16\\x48\\x88\\x1d\\x43\\xa3\\x39\\xc3\\x27\\xe5\\x4b\\x67\\x1d\\x08\\x75\\x70\\xc2\\x45\\x0b\\xc9\\xe1\\x9c\\x49\\x90\\xcf\\xd7\\x0f\\xcc\\x1b\\xed\\x1e\\x14\\x2e\\x5f\\x70\\xff\\xb3\\xc7\\xe4\\x33\\x0f\\x99\\xb0\\x1b\\xc4\\xae\\x47\\x76\\x1f\\xdf\\x69\\x54\\x16\\xbf\\x91\\xf7\\xeb\\x67\\xd6\\xac\\x18\\xde\\x8a\\xfb\\x2b\\x05\\x3f\\x14\\xd6\\xd5\\x25\\xba\\x0f\\x28\\x6f\\xa4\\xee\\xbd\\x7f\\x40\\x35\\xff\\x46\\xe2\\xc8\\x07\\xf7\\xdc\\xf3\\x46\\xbe\\x62\\x4d\\x1a\\x89\\xfb\\x2f\\x7c\\xe0\\xe6\\xab\\x97\\x46\\x4e\\x23\\xae\\xfb\\x7b\\xe5\\x3a\\xee\\x7d\\xa1\\x90\\x88\\x60\\x3f\\xd1\\x75\\x37\\x84\\x6a\\x52\\x72\\x93\\x02\\x49\\x81\\x1c\\x77\\x42\\x42\\x6a\\x6a\\x8e\\x2c\\x99\\x79\\x3e\\x27\\x07\\x25\\x9a\\x13\\xf3\\x0b\\xbc\\xd6\\x9c\\xd4\\xd4\\x74\\x7b\\xfa\\xf8\\xb0\\xc7\\x4d\\x1e\\x3b\\xed\\xd6\\x00\\xcf\\xa7\\x64\\x4a\\x99\\x13\\xc2\\x7a\\x59\\x72\\xc5\\x3c\\x96\\xd0\\xd5\\x43\\x2f\\xc7\\x1c\\x43\\xbe\\xcc\\x8a\\x7c\\xb1\\xbf\\x9e\\xf8\\x65\\x19\\xa5\\xb6\\x98\\xd7\\x65\\xd2\\xef\\x93\\xa2\\xfa\\x1d\\xea\\x89\\x3d\\x44\\x74\\x93\\x76\\xeb\\xae\\x0c\\xd2\\xf3\\x79\\x98\\x97\\x35\\x07\\x6d\\xca\\xe0\\xe2\\x2a\\xaf\\xd2\\x29\\xbf\\xe1\\xab\\x6f\\x1d\\xcb\\x3f\\x7b\\xd5\\xb1\\x51\\x53\\x6e\\x06\\xe1\\xde\\x92\\xa2\\xe7\\x17\\xbf\\x5a\\x31\\xb1\\x22\\x52\\x6f\\x83\\xda\\x8c\\xcc\\x51\\x1b\\x47\\xae\\xc9\\x69\\x0d\\x8c\\x51\\xde\\xb5\\x4f\\x4b\\x1f\\x70\\xc3\\xa8\\xcb\\x89\\x95\\xb0\\x36\\xed\\xbe\\xab\\xf7\\x41\\xfe\\x63\\x22\\x2c\\x56\\xd6\\xd9\\xb3\\x22\\x0f\\x8c\\x2a\\xc1\\x4b\\x0c\\xdb\\xbe\\x51\\x76\\xd5\\x57\\xc3\\x81\\xc8\\x09\\x99\\xc9\\xf5\\xc9\\x84\\x26\\xbb\\x09\\x4d\\x52\\x09\\x9f\\xcf\\x0d\\x95\\x7b\\xbc\\x5e\\xbf\\xcb\\x97\\x96\\xc8\\x3b\\x9d\\xc9\\xc9\\xd4\\xbb\\x0d\\x67\\x32\\x11\\xad\\xcb\\x60\\xc8\\xb0\\xfa\\x5c\\xbe\\xf1\\xe1\\xc4\\xb4\\x34\\xd1\\x93\\x10\\x72\\xb8\\x2c\\xb2\\x4e\\x67\\x10\\x45\\x54\\x1f\\x16\\x5d\\xda\\xa9\\x89\\x41\\xea\\xb4\\x36\\xf1\\xc4\\xcb\\x31\\x37\\x8f\\x3d\\xeb\\xa8\\x09\\x0f\\x04\\x63\\xee\\x56\\x49\\xe1\\x89\\xad\\xc7\\x9c\\xd3\\x72\\x7e\\x50\\x8f\\x44\\xa8\\xc1\\x41\\x29\\xe8\\x08\\x52\\x77\\x6b\\x2e\\x47\\xa5\\x1f\\xf6\\x64\\x8c\\x49\\x2c\\xb9\\x7d\\x58\\x7d\\xc5\\x47\\x0b\\x41\\xe7\\xb5\\xcf\\x58\\x26\\x6f\\xbf\\xf1\\xe6\\xec\\xab\\x3f\\x5a\\x1c\\x79\\xc9\\x5e\\x6e\\xde\\x3c\\x75\\x7e\\x62\\xad\\xbf\\x28\\x49\\xd9\\x08\\xaf\\xe4\\x0f\\x2d\\x6c\\x85\\xce\\x21\\x81\\x53\\xa7\\xe0\\xea\\xae\\xac\\x2b\\x3d\\xe5\\xc5\\xa0\\xbc\\xaf\\xf9\\xd9\\x56\\x46\\x8b\\x57\\x11\\x1e\\x4f\\x41\\x4b\\x43\\x55\\x89\\x7a\\x9d\\x2e\\x29\\x89\\xc3\\x76\\xa7\\xd3\\x66\\xb3\\x7a\\x0d\\x1e\\x8f\\x2c\\x5b\\xb1\\x35\\x35\\x2d\\x21\\x49\\x9f\\xd8\\x1c\\xd6\\xeb\\x91\\x60\\x95\\xd5\\x4d\\xf0\\x26\\x81\\x4b\\xf2\\xd8\\xd8\\x06\\x78\\x17\\xb2\\xab\\x5b\\xcb\\x55\\x37\\x54\\x9a\\x17\\x2a\\x3b\\x65\\x74\\x14\\xab\\xe1\\xb8\\x03\\xac\\x7a\\x4e\\x5c\\xf3\\xab\\x1e\\xd1\\x48\\xb7\\x13\\x3d\\x69\\xc3\\x4d\\xcf\\x01\\x20\\xb1\\xf4\\x34\\x0e\\x0b\\x73\\x7e\\x86\\x37\\x99\\x9e\\xbc\\x02\\xfe\\xe7\\x0a\\x72\\xb5\\xc5\\xb4\\xff\\xf8\\xc9\\xf5\\x1b\\xca\\x94\\xd5\\xa6\\x27\\x1b\\x15\\x4f\\xe3\\x43\\xa6\\x51\\x89\\xfc\\x0a\\xda\\x7e\\x15\\x2b\\x9c\\xa7\\xbf\\x9d\\x37\\xa6\\x2b\\x12\\x1c\\x1c\\x95\\x88\\xdd\\x91\\x2f\\x12\\x47\\x11\\x59\\x9c\\xa3\\xdc\\xc3\\x17\\x10\\x59\\x9c\\x82\\xa6\\x87\\x8a\\x90\\x33\\x29\\xc9\\xe5\\xf2\\xb8\\x4d\\x56\\xab\\xa0\\x37\\x1a\\x75\\x3a\\xc1\\x2d\\xa4\\xa6\\x25\\x7a\\xc6\\x85\\x13\\x91\\xec\\x76\\x9a\\x88\\x9c\\x35\\x39\\x89\\x9e\\x67\\xc7\\xf6\\x09\\x61\\x6c\\xed\\xe9\\x65\\x98\\x4b\\xe8\\x3e\\x6b\\xa5\\xe3\\x0b\\x02\\xb1\\xe3\\x58\\xe8\\x49\\x06\\xbd\\xcf\\x6c\\xe1\\x24\\x78\\xea\\xae\\xcf\\x5a\\x56\\xda\\x9a\\x76\\x86\\x97\\x85\\xee\\x9f\\xed\\x9a\\x5e\\xb3\\x2b\\x7b\\xbe\\xf2\\xc3\\x97\\x54\\xe0\\x4e\\x4e\\xe7\\xe0\\xd8\\x82\\x19\\x65\\x0d\\x91\\xbf\\xa5\\x2a\\xcd\\xd0\\x86\\xab\\x96\\xe7\\xb4\\xdc\\x34\\x35\\xf2\\xb8\\x10\\xf4\\x0c\\x55\\x4a\\x76\\x47\\xeb\\x88\\xf9\\x42\\x4f\\x42\\xcb\\x43\\x03\\x12\\x1d\\x0e\\xbb\\x31\\x89\\x9e\\xf2\\x2d\\x0a\\x4e\\x8f\\xc7\\x9b\\x90\\x60\\xb2\\x0b\\xf6\\xe4\\x94\\x84\\x90\\xd7\\xee\\x4e\\x4a\\x32\\x26\\x3a\\x8c\\x0e\\xd2\\x53\\x9a\\x4c\\xf4\\x78\\xfd\\xa6\\xb0\\x45\\xc7\\xf5\\xf6\\x81\\xee\\xa9\\x89\\x73\\x7c\\xce\\x0a\\xe3\\xa9\\xa9\\x49\\x3c\\xd1\\xc7\\xeb\\x61\\x30\\xe6\\x04\\x3d\\xe6\\xfc\\x3c\\xde\\xf1\\xb9\\x1e\\x58\\x41\\x21\\xe6\\xf5\\xfc\\xf8\\x45\\x1e\\xcf\\xa1\\x65\\xf5\\x86\\x0d\\x65\\x13\\x95\\x77\\x1a\\xda\\xa2\\x9e\\xe9\\xe2\\x1d\\x9d\\x47\\x2a\\x93\\x14\\x0c\\x07\\xf1\\xfa\\x7e\\xaa\\x2e\\x9a\\xac\\xdc\\xc3\\x9d\\x27\\xf5\\xe4\\x44\\xb3\\x43\\x65\\xc8\\x42\\xb4\\x1d\\x49\\x22\\x26\\x93\\x9d\\xae\\xed\\x32\\x51\\xe5\\xc8\\x26\\xba\\xdc\\xd4\\x2f\\x52\\x02\\xb2\\x20\\xb3\\x84\\x24\\x4e\\xb6\\x39\\x75\\x21\\x93\\x53\\x24\\x38\\x11\\x41\\x63\\x89\\x96\\x2e\\xf1\\x44\\xcd\\xcb\\x5a\\xc1\\x7a\\x6d\\x2f\\x53\\x4b\\xa5\\x3a\\x42\\x61\\x93\\x04\\xac\\x24\\xd8\\xc1\\x0a\\xc2\\x69\\x75\\x05\\xd7\\x42\\xd3\\x14\\x19\\xa6\\xca\\x33\\xbe\\xfb\\xb0\\x7e\\xea\\xbc\\x51\\x03\\x1e\\xbc\\x72\\x98\\xf2\\xdd\\x57\\x33\\x8c\\x70\\x15\\x74\\xc2\\x54\\xf7\\xd0\\xa1\\xae\\x8f\\x22\\x7f\\xf5\\x28\\xd3\\xa0\\x0d\\x7e\\x5f\\xab\\x6c\\xa1\\xb5\\xa4\\x9d\\xbd\\xa4\\x8c\\xe6\\xf7\\x91\\x3a\\xb2\\xa2\\x50\\x28\\xdd\\x4c\\xaa\\x47\\xa7\\xb3\\xd9\\x0d\\xa2\\xc5\\x62\\xb3\\x1a\\x2c\\x06\\x52\\x0f\\x76\\x53\\x92\\x9e\\xd0\\xab\\x39\\x4c\\xf8\\xa2\\x67\\x1f\\x45\\x4c\\x06\\xc4\\x6d\\xa6\\x80\\xa8\\x63\\x75\\x89\\x1e\\xfb\\xcc\\xf9\\x2a\\xb9\\x91\\xcf\\xcf\\xbc\\x3f\\x7d\\x58\\xb8\\x9a\\xdb\\xeb\\xe8\\x3a\\x8e\\x8f\\x6c\\xd9\\x50\\x16\\xb1\\x24\\xf0\\x6f\\x99\\xa4\\xb7\\x60\\xc2\\xfc\\xce\\x5b\\x23\\x9f\\xc2\\xc1\\xa5\\x04\\x87\\x97\\x09\\x0d\\x9d\\xdc\\x1e\\x82\\xc3\\x90\\x50\\x3a\\x26\\x3c\\x6e\\x32\\xd9\\xec\\x16\\x99\\xe3\\x6c\\x66\\xd1\\x28\\x12\\x1d\\x42\\x36\\x12\\x75\\x94\\xb3\\x8c\\x0b\\x03\\x15\\xcc\\x2f\\x6b\\xec\\x50\\x74\\x69\\x24\\x48\\xc6\\xf1\\x98\\xe0\\xe0\\xbc\\x51\\x4a\\xad\\x0e\\xf3\\xb5\\x15\\xf3\\xbc\\x03\\xeb\\x4a\\xf0\\x2d\\xfa\\x48\\x17\\x6c\\x55\\xee\\x81\\xb6\\x52\\x2e\\xdd\\x61\\xbd\\x1b\\x3c\\x15\\x5d\\x9f\\xb1\\xb1\\xbc\\xd1\\xdd\\x5f\\x0b\\x7f\\x11\\xc6\\x20\\x99\\x48\\xcc\\xd1\\xa1\\x00\\xef\\x20\\xb2\\x31\\x29\\xd1\\x91\\x98\\x96\\x9e\\x4a\\x14\\xbd\\x54\\x7b\\x22\\x67\\xa0\\x8e\\x28\\x11\\xe9\\x27\\x79\\xba\\x74\\xcf\\x2a\\x11\\x9d\\xce\\x11\\xd7\\xda\\xb4\\xdf\\xde\\x2b\\x79\\xa9\\x07\\x04\\x5e\\xf5\\x29\\x52\\xe9\\xc8\\xa6\\x7b\\x75\\xd5\\x53\\xc9\\x7c\\xa5\\xee\\x2c\\xaa\\x0c\\x70\\xfb\\x77\\x2b\\xdd\\xed\\x0f\\xdd\\x7d\\xdb\\xe6\\x67\\x9a\\xaf\\x18\\x3e\\x71\\xfe\\x50\\xe5\\x13\\xe5\\xe4\\x3b\\xb0\\x1d\\xc4\\x1b\\xaf\\x84\\xca\\xf7\\xfe\\x64\\x52\\xb2\\xf8\\x4f\\x8f\\x28\\x8f\\xbd\\xf7\\xc7\\x0f\\x46\\xf0\\xc9\\xfd\\x3a\\xc7\\xa5\\x13\\xf9\\x9a\\x08\\xe6\\x08\\xac\\x78\\x39\\xd3\\xd9\\x19\\x48\\x1a\\x49\\xf9\\xd0\\xd1\\xfd\\x35\\xff\\x0e\\xf7\\x7b\\xe4\\x40\\xe5\\xa1\\x24\\xab\\x05\\x40\\x42\\x36\\x5b\\x82\\xe4\\x74\\xd8\\xc6\\x85\\x1d\\x16\\xb0\\xba\\x04\\x63\\x7d\\x58\\x2f\\x58\\x11\\xf3\\x8d\\xa2\\x2d\\x8b\\xb5\\x47\\xfd\\x4a\\x10\\x1c\\x1d\\xea\\x01\\x6a\\xaa\\xaf\\x31\\x89\\x90\\x31\\x50\\x09\\xa3\\x6e\\x05\\xf7\\xf8\\xed\\x73\\x27\\x8f\\x0c\\x8c\\xf2\\x3a\\x03\\x57\\x8c\\x50\\xfc\\xeb\\x5e\\x1b\\x24\\x73\\x7b\\x23\\x4b\\xe1\\xc5\\x4d\\xb3\\xd2\\xce\\x6e\\xb0\\x2e\\x8a\\x48\\xdc\\x1c\\x8d\\x97\\xd0\\xb6\\xee\\x8f\\x75\\x33\\x08\\xfd\\xd2\\x50\\x4b\\xc8\\x03\\xc8\\x6c\\x32\\x62\\x9e\\x93\\x65\\x6c\\xe6\\x9c\\x82\\xd3\\x47\\x8c\\xb4\\x74\\x9f\\x23\\x89\\xea\\x53\\xee\\xb0\\xdb\\xc1\\x63\\xa3\\x51\\xe2\\x0d\\x82\\x44\\xda\\xb8\\xc4\\x13\\xce\\x03\\x3e\\x7a\\x6a\\x8b\\xaa\\x67\\x50\\x1f\\x9e\\x35\\x3d\\x6a\\x54\\xdc\\x31\\x48\\xcc\\xad\\x8d\\x9f\\x63\\x38\\xd2\\x23\\x57\\x20\\x48\\x90\\xc7\\xea\\xe9\\x6f\\xea\\xb0\\xae\\xc4\\x3f\\xd7\\xb8\\x4b\\x59\\x38\\xeb\\xb7\\xea\\xa1\\x2a\\xf3\\x61\\x5b\\xdb\\x1d\\x60\\x2e\\x5b\\xf2\\x8b\\x39\\x2d\\x23\\x8b\\xea\\x25\\x7d\\x9e\\xb7\\x64\\xc8\\x50\\x5f\\x1a\\x57\\xdf\\xf5\\x04\\xff\\x13\\x6d\\xd8\\x5d\\x6f\\x72\\x83\\xba\\x9e\\xc3\\xb3\\x57\\xde\\x38\\x38\\x4d\\xf9\\xfe\\x6e\\x9d\\x39\\x7b\\xf2\\x30\\x56\\x26\\xdc\\xfd\\xb5\\x78\\x07\\xa1\\x6b\\x22\\xba\\x22\\x54\\x20\\x1b\\x88\\xb0\\x34\\x9a\\x4d\\x0e\\x87\\xd1\\x45\\x7a\\x1b\\x8b\\x25\\x09\\x27\\x1b\\x13\\x12\\xcc\\x36\\x1b\\xe1\\x4d\\x9b\\xc5\\xe5\\x70\\xc8\\x66\\x17\\x92\\xea\\xc3\\x3c\\xe1\\x65\\xd2\\xb5\\x30\\x1f\\xad\\x3d\\xce\\xfe\\x82\\x51\\x92\\xf7\\x2a\\x09\\xc4\\x13\\x5d\\x2d\\x13\\x29\\x51\\x12\\x29\\x91\\xd0\\xa9\\x51\\x7e\\xf8\\x10\\x65\\xe0\\xaa\\x39\\xca\\x3b\\xd7\\x3d\\x56\\x2f\\x43\\xf1\\x46\\x28\\x6f\\x5b\\xdc\\x55\\x3c\\xbd\\x95\\xfb\\x3d\\xad\\x82\\x85\\x11\\x11\\x27\\x46\\xfe\\xca\\xcd\\xf6\\x0c\\x8d\\x2c\\xc4\\x65\\x91\\xd7\\xe0\\x95\\x29\\x33\\xf3\\x69\\xff\\x7f\\xb6\\xfb\\x6b\\xee\\x77\\xdc\\xb3\\x48\\x8f\\x72\\xd1\\xd4\\x50\\xbe\\x6c\\x33\\x18\\xbc\\x18\\xe5\\x26\\x0a\\xee\\x44\\xb7\\x2d\\x35\\x3b\\x3b\\x1f\\x99\\x6c\\xb6\\xbc\\x7c\\xd9\\xe2\\xc5\\x16\\x6c\\x48\\xf0\\x5b\\x12\\x24\\x22\\xa7\\xac\\x89\\x06\\x57\\x74\\xf5\\x74\\x4c\\xb9\\xe9\\xb1\\xa3\\xed\\xb1\\x5e\\x91\\xd6\\x11\\xb5\\x4f\\xdd\\x74\\x38\\x9d\\xb4\\x38\\x19\\xa4\\x40\\x45\\x65\\xcf\\x08\\x47\\x12\\xa8\\xe3\\xec\\x81\\xca\\x20\\xbd\\x05\\xb8\\xde\\x92\\x5f\\x9c\\x9d\\x96\\x55\\x77\\xf5\\xef\\x93\\xe6\\xb4\\x38\\xee\\xfa\\xe5\\xe5\\x57\\xec\\x1b\\xff\\x4a\\x7a\\x86\\x2d\\xb9\\x9f\\xf1\\xf3\\xc4\\x49\\xca\\x68\\x0e\\x07\\x2a\\xd2\\xc7\\xa4\\x15\\x96\\x75\\xbd\\x08\\xef\\x4c\\x6b\\xcc\\x29\\xaa\\x1f\\xb2\\xb6\\x63\\xc4\\xc0\\x25\\x9b\\x95\\x8f\\xa0\\xb4\\xb4\\x35\\x3d\\xd1\\xe7\\x32\\x0d\\x71\\xe7\\xcc\\xd8\\x1c\\x99\\xce\\x64\\x97\\x82\\x90\\x30\\x8d\\xf9\\xba\\x19\\x1f\\xca\\x35\\x83\\xc9\\x84\\xb1\\x4e\\x92\\x6c\\x09\\x4e\\x33\\x11\\x57\\x16\\x33\\x31\\xc0\\xcc\\x66\\xc1\\x60\\xd2\\x19\\x74\\x4d\\x61\\x03\\x87\\x25\\x81\\xb4\\x57\\xc1\\x1e\\xef\\xc4\\x9a\\x71\\x59\\xaf\\xb3\\x9f\\xb4\\x7e\\xd1\\xc7\\xc5\\x77\\x1e\\xec\\xd0\\x3b\\xfe\\xc9\\xc8\\xb6\\xc6\\x77\\x4d\\x91\\x09\\xa6\\x5f\\x1f\\x7f\\xc8\\x88\\x7f\\x6b\\xfc\\x6c\\x2a\\x5e\\x36\\x28\\x3c\\x3e\\x8c\\xd7\\x45\\xbe\\x88\\x75\\x15\\xa4\\x4b\\x7f\\x54\\x19\\xa8\\xca\\xd6\\x13\\x08\\x71\\xf7\\x71\\x7b\\x09\\x7e\\x0d\\xa1\\x0a\\x13\\x32\\x1a\\x49\\xab\\x14\\x45\\x6b\\x82\\xd3\\x44\\x54\\xcc\\xf1\\xa6\\x26\\xf5\\x90\\x5e\\x7a\\xb1\\xc8\\x24\\x18\\x89\\x36\\x46\\xa4\\x8a\\xa4\\x27\\x75\\x40\\xcf\\xde\\xe4\\x49\\xef\\xc0\\x3b\\x2f\\x85\\xec\\x92\\x8b\\xb0\\x8d\\x21\\x9b\\x15\\x45\\x36\\x00\\xd7\\x0c\\xba\\x5e\\x56\\xf4\\x72\\xeb\\x2f\\xa6\\xc9\\xf0\\xa3\\xdc\\x31\\x00\\x36\\x5e\\x36\\x7a\\xd4\\x68\\x3d\\x3c\\xa5\\x3c\\x48\\x3d\\xe5\\xe1\\x1f\\x3d\\x43\\x61\\xa8\\x47\\x79\\xf6\\x01\\xa5\\x81\\xd8\\x44\\xc8\\xd7\\xfd\\x77\\x7e\\x0e\\xf7\\x32\\xf2\\xa0\\x0c\\x54\\x13\\x4a\\x23\\x1d\\x73\\x8a\\x8b\\xd8\\xee\\x7a\\x1f\\xa7\\xe7\\xfc\\x99\\x26\\x6b\\x8a\\x53\\x74\\x8e\\xa7\\xfa\\xa0\\x97\\xd8\\x7d\\xd6\\xa8\\x4d\\x87\\x7a\\x54\\xe1\\xe8\\x32\\xe0\\x52\\xd5\\xbf\\xae\\x15\\xf9\\x54\\x07\\xb1\\x54\\x1b\\x54\\x4f\\x5d\\xd4\\x1c\\xeb\\x0e\\x06\\x7b\\x79\\x19\\x37\\xa4\\xfd\\x76\\xe5\\x45\\xe5\\xa5\\x77\\xbf\\x69\\xfb\\xe3\\x36\\xd7\\xd8\\xa9\\xa5\\xf5\\xb5\\xf3\\x93\\x77\\x5c\\x11\\xac\\xb4\\xcd\\x5f\\xf4\\xcb\\x21\\xdc\\xcb\\x4f\\xec\\x26\\x4f\\x0f\\xbd\\xfe\\xec\\x9d\\x3f\\xed\\x72\\x4c\\xcc\\xd8\\xae\\x74\\x4e\\xd9\\x70\\x9d\\x09\\xd7\\xdf\\x73\\xd3\\xbc\\xe6\\xa6\\xc8\\x13\\xfa\\x3b\\xa1\\x70\\xdb\\x7e\\x26\\xb3\\x4b\\xd1\\x5a\\xbc\\x86\\xbb\\x9a\\xad\\x11\\xa8\\x23\\x32\\x1b\\x21\\xba\\x74\\x5b\\x07\\xf8\\x08\\x91\\x2a\\x47\\xc2\\xa4\\xe7\\x92\\x88\\x1a\\x21\\x1e\\x09\\x13\\x15\\x50\\xc0\\x7a\\xa2\\x03\\xa2\\x23\\x61\\x0e\\x15\\xc5\\x1c\\x44\\xf5\\x1c\\x05\\xde\\xb3\\x6b\\x8f\\x6e\\xe5\\xb6\\x91\\x2f\\x5e\\x13\\x39\\x82\\x47\\xd0\\x2f\\xfe\\x93\\xf2\\xfe\\x93\\x90\\xa9\\x24\\xb3\\x1f\\xd2\\xb6\\x8a\\xf9\\xfb\\xd1\\x49\\x29\\x8f\\xf9\\xcf\\xf6\\x85\\x2c\\x1c\\xa9\\x5a\\x93\\xc9\\xca\\x1b\\xb6\\x53\\xc7\\x35\\x74\\x42\\xa5\\x4a\\x3b\\x06\\x5d\\x9d\\xf2\\xa5\\xbb\\x47\\x4a\\x7b\\x86\\x5c\\xc7\\x6f\\xde\\xf2\\x70\\x70\\xd8\\xf0\\xd2\\xe2\\xda\\x11\\x52\\x5e\\x64\\x35\\x3c\\x5b\\x5b\\x54\\x5a\\x5b\\x5b\\x5c\\x52\\xcb\\xf4\\xf6\\xd1\\xfc\\x8f\\xb0\\x5a\\xca\\x62\\xb0\\xd3\\x42\\x66\\x02\\xdb\\x44\\x94\\x0a\\x03\\xbf\\x3d\\x8c\\x0c\\x18\\x15\\xbd\\x7f\\x4c\\x83\\xcc\\x9a\\x9f\\x9b\\xb4\\xaf\\x78\\x0f\\x3b\\x29\\xd3\\x95\\x8a\\xe9\\x0b\\x8b\\x6b\\x6b\\x4b\\x4a\\x86\\xd5\\x4a\\xec\\xee\\x2f\\xb5\\xc5\\xa5\\xc3\\x69\\x66\\x08\\x2b\\xbf\\x15\\x6e\\x82\\x61\\x52\\x7e\\x14\\x6f\\x9e\\x9e\\xae\\x88\\xb1\\xd5\\x24\\x6d\\x27\\x36\\x2d\\x01\\x1e\\x7c\\x2d\\x5f\\x5b\\x4a\\xad\\xed\\xde\\x2b\\xcf\\x8a\\x9f\\xca\\x19\\x46\\x91\\x1d\\x51\\x5c\\xcc\\x90\\x15\\x4d\\x5b\\xb6\\x3c\\x5c\\x42\\x72\\x22\\xc5\\x20\\xfc\\xae\\x7c\\xc6\\x5f\\x0e\\xc9\\xc2\\xdb\\x48\\x40\\x95\\x21\\x03\\xd0\\xcd\\xbd\\x9c\\x10\\x12\\xd0\\x61\\x18\\x1d\\x4a\\x08\\x6f\\x12\\xda\\x85\\xfb\\x04\\xce\\x22\\xa4\\x09\\xfb\\x84\\x93\\xc2\\x39\\x41\\x10\\x10\\x3b\\xf1\\x27\\xd1\\x63\\x7d\\x8d\\x65\\x59\\xca\\x76\\x11\\x05\\x6d\\x3e\\xe5\\x33\\x78\\xa8\\x23\\xf2\\x07\\xfe\\x93\\xef\\x15\\xba\\x2f\\x1a\\x75\\x71\\x5f\\xf0\\x92\\xb4\\x92\\xc8\\xb1\\x8c\\x90\\x99\\x60\\x2b\\x70\\x9c\\x41\\x06\\x41\\xe0\\xa8\\x43\\x02\\xf5\\x24\\xf0\\x38\\x2f\\x7a\\xea\\x28\\x3d\\x04\\x81\\x97\\x94\\x4f\\x4e\\x2a\\x9f\\xc0\\xf4\\xb1\\x30\\x53\\xf8\\x3a\\x12\\xc1\\xdc\\x24\\xa8\\xa4\\x2e\\xd1\\x2f\\x82\\xa9\\x97\\x24\\x9e\\x6e\\x04\\xd4\\xf1\\x3c\\x96\\xf0\\xc5\\x30\\xf5\\xe0\\x07\\x75\\x59\\x3b\\x81\\x79\\xef\\x58\\xe5\\x37\\x90\\x7a\\x12\\x52\\x05\\x9f\\xf2\\x07\\xa8\\x9c\\x84\\xb9\\x48\\x44\\x9d\\x0b\\xfc\\x98\\x33\\xe2\\x8f\\xa5\\x74\\xb6\\x0e\\xb5\\x20\\xa4\\x37\\x9a\\x4c\\x88\\x34\\x77\\x9b\\xfe\\x70\\xf7\\xf9\\x90\\x5e\\x6f\\xac\\xd3\\x5b\\x2c\\x9c\\x49\\x43\\xb9\\x2a\\x3f\\x1e\\xe7\\x38\\x12\\x73\\x44\\x77\\xc2\\x05\\xcd\\xb5\\xb5\\x4d\\x0d\\x75\\x23\\x9a\\x3e\\x80\\x9b\\x3f\\x7c\\x8a\\xdb\\x4f\\x5d\\x25\\xd5\\x36\\xb7\\x70\\xb9\\x91\\x5f\\x92\\x7c\\x76\\x90\\x7c\\x76\\x68\\xf9\\xe4\\x84\\x1c\\x16\\xb3\\x59\\x44\\xc8\\x6a\\xe3\\xac\\x24\\x0f\\xce\\x68\\xd4\\x5b\\xf4\\xff\\x26\\x0f\\xba\\xae\\x1c\\xef\\x68\\xae\\xad\\x6b\\x68\\xaa\\x1d\\xde\\xa2\\x7c\\xf8\\x94\\xb2\\x50\\x5c\\x3b\\xbc\\xa5\\x65\\x78\\x6d\\x73\\xb3\\xf2\\x7b\\x96\\xc7\\x5c\\xa8\\xc2\\x73\\x85\\xb1\\xff\\x65\\x1e\\x73\\x7b\\xe5\\xc1\\x3f\\x14\\x9f\\x07\\x28\\xb7\\xf1\\x53\\x60\\xa8\\x70\\x82\\xd4\\x41\\x28\\x64\\xc2\\x74\\xcf\\xaa\\x28\\x49\\x06\\x10\\xf4\\x02\\x65\\x19\\x57\\x58\\x2f\\x6d\\xe2\\xda\\x89\\x04\\xe5\\x2c\\x5c\\x1a\\xb7\\x8f\\x3b\\xc9\\x9d\\xa3\\xcd\\x97\\x9e\\x60\\xfe\\x5a\\x8f\\xea\\xa7\\x31\\xaa\\xb6\\x00\\xce\\xe6\\x83\\xa1\\xe7\\x3a\\xee\\xee\\xc0\\x7b\\x84\\x81\\x7f\\xfd\\xeb\\x5f\\x61\\x15\\xe5\\xcb\\xdb\\x48\\x30\\x94\\x5c\\xea\\x51\\x7e\\xc8\\xa4\\xa3\\xc7\\xbf\\xf3\\x40\\xf7\\xce\\x01\\x4f\\xf2\\x39\\x10\\x16\\xe9\\x5a\\xa0\\x13\\xa5\\x7d\\x41\\xe6\\x82\\x4d\\x5b\\x43\\x07\\x43\\x23\\x93\\x09\\xcc\\x73\\xb0\\x8a\\x80\\x24\\x72\\xbd\\x59\\x19\\x09\\x7f\\xeb\\x6e\\x47\\x3a\\x94\\x17\\x72\\x92\\x7e\\x45\\xa2\\x07\\xe5\\xeb\\xe9\\x5e\\x76\\x51\\xa2\\xa8\\x62\\x8a\\x64\\xf0\\x44\\x43\\x69\\xac\\x25\\xd1\\xbd\\x11\\x95\\x44\\x4d\\x21\\x1d\\xbd\\xb0\\x5b\\x04\\xe3\\xa9\\x07\\xc5\\x31\\xef\\x2b\\x5f\\x2b\\x23\\x7d\\x90\\xa5\\xbc\\xe7\\xbb\\xff\\x7e\\x75\\x2e\\x19\\x5d\\x8b\\x0b\\xb8\\xbf\\xb3\\x79\\xca\\xb2\\x50\\x92\\xd3\\x42\\x37\\xa8\\x7a\\xbc\\x76\\xe3\\x8e\\xe9\\x74\\xa0\\x8d\\x48\\x2f\\x3b\\x0a\\x21\\x71\\x07\\x73\\xaf\\xc5\\xda\\x4d\\xb4\\xeb\\x8a\\xfa\\x61\\x8c\\x13\\x04\\x8e\\x78\\xa1\\xe0\\xa9\\x6d\\xa2\\xb5\\xd0\\x9c\\xa3\\x72\\x55\\xf3\\xb5\\x94\\x9d\\xa8\\xf7\\x2d\\x9c\\xca\\x18\\x6b\\xf8\\xf0\\x16\\x92\\x7f\\x22\\xdc\\x82\\xcf\\x70\\xbf\\x65\\xb2\\x74\\x60\\xc8\\x40\\xe4\\xa8\\x9e\\xba\\xa7\\xc3\\x1c\\xad\\x0e\\x53\\x18\\x61\\x2b\\xb9\\x23\\xe5\\x0d\\x49\\x22\\x89\\xd9\\x1f\\x96\\xac\\x9a\\x67\\x89\\xd7\\x19\\x1e\\x3d\\xf2\\x33\\xea\\x07\\x04\\x9f\\x89\\x0c\\xc1\\x47\\xc9\\x37\\x63\\xfb\\x76\\xb8\\x6b\\xfb\\x76\\xd2\\xee\\xee\\x83\\x46\\x7c\\x25\\xe9\\xb3\\x39\\x94\\xf0\\x34\\x50\\x77\\x01\\x98\\x08\\x8a\\x9a\\x13\\x31\\xff\\x36\\x3e\\xf0\\x9f\\x85\\x6d\\xca\\xc7\\x8f\\x0b\\x83\\xba\\xe8\\x81\\x15\\x6f\\xe2\\x8d\\x78\\x41\\x7c\\x7a\\xae\\x4f\\x7a\\xce\\xff\\x21\\x6c\\xfb\\x92\\x98\\x30\\x91\\x21\\xb4\\x5d\\x6f\\x88\\xfc\\x03\\x3a\\xbb\\x0f\\x93\\x2e\\x2a\\x3f\\xe4\\x14\\xcd\\x66\\x42\\x41\\x9b\\x5d\\x12\\x09\\xd9\\x6e\\x0d\\x87\\x50\\xbd\\x3a\\xb1\\xd4\\xcb\\x1d\\x06\\x73\\xc9\\xa4\\x4e\\x74\\xb0\\x09\\x3d\\x3a\\xe9\\x07\\x8b\\x06\\xd6\\xff\\xfe\\x88\\x69\\x6f\\x52\\x5a\\xd2\\xd8\\xba\\xfa\\xa1\\xab\\x76\\x25\\x0f\\xcf\\x99\\x94\\x90\\x9a\\x1e\\x48\\x29\\xd1\\xfa\\xf6\\x3f\\x28\\xf5\\x70\\x5d\\xf7\\x0b\\x24\\x9f\\xba\\x90\\xd9\\x80\\x75\\x3a\\x6c\\x36\\xdb\\xec\\xb2\\xe1\\x96\\xb0\\xcc\\x1c\\x54\\x99\\xac\\x75\\x16\\x99\\x9e\\x3f\\x42\\xfa\\x4f\\x19\\x09\\x3b\\xc3\\x88\\x44\\x3f\\x45\\x62\\x89\\x35\\x5c\\x13\\xf5\\xed\\x93\\x1f\\xab\\x3c\\x2a\\xca\\x1d\\x19\\x81\\x4a\\x75\\x0e\\x2e\\x50\\xc9\\xfc\\xfc\\x36\\xd4\\x0f\\xcf\\xaa\\x2c\\x2e\\x1a\\x34\\xff\\x17\\xf5\\xe1\\x87\\x95\\xfa\\x94\\x16\\x47\\x69\\xde\\x38\\xe9\\x72\\x79\\xc2\\xa0\\x99\\x2b\\x54\\xfb\\x7a\\x0c\\x9f\\x2e\\xdc\\x4f\\xd7\\x7d\\x51\\x5b\\x97\\xd0\\xc2\\x47\\x47\\x5b\\xec\\x3e\\xd5\\x9b\\x7f\\xa1\\x6a\\x06\\xf9\\xb8\\x1b\\x66\\xca\\xca\\x8d\\xb7\\x28\\x1f\\x7c\\xa4\\x7c\\xf7\\xd1\\x76\\xe3\\xad\\xe6\\x31\\xf0\\x58\\xe8\\xf6\\xa4\\xdc\\x90\\xc3\\x3c\\xa4\\xa0\\x71\\x76\\x92\\x13\\x17\\x4f\\xf3\\x0c\\xe5\\x86\\x75\\xea\\xf8\\x1f\\x87\\x07\\x26\\xc0\\xaf\\xbc\\xf2\\x97\\x4b\\xad\\xa9\\x6b\\xef\\x5c\\xa1\\xe5\\xb1\\x92\\xe4\\xe1\\x45\\x88\\xc2\\x66\\x36\\x42\\x90\\x8d\\xcc\\x66\\xd3\\x73\\x3c\\xe8\\x30\\xad\\xef\\x4f\\x04\\xa8\\xdd\\xf7\\xe5\\xa1\\xf2\\xdf\\x9d\\xf8\\x8a\\x64\\x75\\xd3\\xc7\\x43\\x26\\x5f\\x57\\x90\\x78\\xd4\\x7e\\x94\\x64\\xc8\\x0d\\x1b\\x1e\\x98\\xf5\\xc2\\x6b\\xce\\x0b\\x27\\x3c\\x43\\x05\\x73\\xf6\\x3f\\x76\\xce\\xed\\xd4\\x51\\xbf\\x42\\x8b\\xd0\\xd7\\xf0\\x05\\xbf\\xdf\\x9e\\x2d\\x90\\x86\\x63\\x93\\xf8\\xef\\xd1\\x2b\\xca\\x4d\\x28\\x29\\x64\\x83\\xfa\\x00\\x84\\x02\\xb0\\x9b\\x85\\xc5\\x01\\x08\\xa8\\xce\\x73\\x97\\x94\\xab\\x74\\x5f\\x24\\xec\\xc7\\x6e\\xf1\\x53\\x64\\x46\\x8e\\x90\\x5e\\x92\\x09\\x35\\x31\\x92\\x49\\x7b\\xa3\\xcd\\x8d\\x30\\x9e\\x3a\\x57\\x52\\x19\\x94\\xe8\\x61\\x22\\x95\\xd8\\xed\\x7e\\xed\\x8e\\xbb\\x6f\\x16\\x9f\\xe7\\x57\\x0d\\x9b\\x61\\x14\\x3f\\xbd\\xf1\\xc1\\x1b\\x56\\x17\\xf5\\x5b\\x13\\x1e\\xab\\xfa\\x09\\x5e\\x84\\x2e\\x90\\x5e\\x60\\xbf\\x35\\xc0\\x9f\\xc3\\x13\\x49\\x27\\xc8\\x70\\xb1\\x4a\\x82\\x1e\\xb3\\xe7\\xa4\\x76\\x11\\x3f\\x91\\x3f\\x64\\x17\\x89\\xd2\\x48\\xef\\xff\\xde\\xfd\\x17\\x21\\x8b\\xff\\x2d\\xb9\\x57\\xdf\\x5f\\xd2\\xfd\\x39\\x77\\x86\\x7f\\x8a\\xdc\\x73\\xec\\x3e\\xa9\\xfb\\x73\\x7e\\x1c\\x4b\\xcf\\xb3\\xf4\\x7b\\x88\\xfe\\xd7\\xce\\x9e\\xcb\\xec\\x79\\x5b\\xf7\\xa7\\xdc\\x26\\xb1\\x83\\xdc\\x1b\\x55\\x1f\\xbb\\x04\\xfe\\x26\\x42\\x03\\x51\\x30\\xb1\\xfb\\xb9\\xdd\\xdf\\x73\\xbb\\xd9\\xfb\\x1e\\xf6\\xfe\\x7e\\x62\\xd3\\xcd\\x66\\xcf\\xd5\\xf1\\xf9\\x1a\\xf8\\x96\\x0f\\xf2\\x73\\x49\\xeb\\xf4\\x1c\\x10\\x31\\xe0\\xc3\\xb0\\x60\\x7f\\x98\\x0a\\xb1\\x26\\x54\\x73\\x8c\\x8a\\x2f\\xda\\xfb\\x11\\xeb\\x21\\xc8\\xf9\\x78\\x63\\x57\\x30\\x00\\xab\\x46\\xbd\\x37\\x0a\\xd6\\xc1\\xb7\\xef\\xc1\\xdd\\xca\\x2c\\x15\\xe7\\x0e\\x22\\xa6\\x8c\\xc2\\xab\\x84\\xee\\x5e\\x5a\\x56\\xfe\\x27\\x21\\x21\\x1a\\x2f\\xbc\\x17\\x1f\\x8f\\x4e\\x5c\\x22\\x7d\\x80\\xff\\x9e\\xab\\xe9\\xbe\\xfb\\x67\\xdf\\x0b\\x90\\xf7\\x3e\\x66\\xef\\xb3\\x74\\x94\\x66\\xca\\x8f\\x8c\\x66\\xd9\\x94\\x66\\x24\\xfe\\x1c\\x3e\\xac\\xd2\\x52\\xb9\\xa6\\x57\\xfc\\xf9\\x68\\xbc\\x46\\xe3\\x68\\xfc\\xf7\\x78\\x72\\xe4\\x7d\\x12\\xff\\x96\\x46\\xcb\\x6c\\x01\\xd4\\x78\\x38\\xcc\\xe0\\xef\\xee\\xfe\\x3b\\xae\\x25\\x34\\xcb\\x16\\xb0\\x1a\\x8f\\x9e\\xa0\\xf1\\xb1\\xba\\xc9\\xa6\\x75\\xc3\\xd2\\xaf\\xe9\\x0e\\xc7\\xd5\\x51\\x36\\xad\\x23\\x06\\xbf\\x9c\\xc6\\x77\\x9f\\xe8\\x26\\x10\\x59\\xbc\\xa0\\xc1\\xf1\\xb1\\xf8\\xc7\\xbb\\xcf\\xe3\\x61\\x0c\\x8e\\xa8\\xc5\\x63\\x06\\x67\\x0b\\xab\\x3b\\x1a\\xaf\\x53\\xf9\\x17\\x37\\x2a\\x9d\\xc8\\x1d\\xb2\\x40\\xcd\\x60\\x18\\x1c\\x4a\\x70\\xd5\\x0d\\x0e\\x19\\x2d\\x75\\x83\\x91\\x2d\\x3f\\x9f\\xf1\\x2e\\x81\\x75\\x12\\xce\\xf4\\xf0\\xbc\\x55\\xe4\\xbf\\xf7\\xab\\x75\\x32\\x57\\x59\\xc2\\xea\\x3d\\x5b\\x30\\x68\\xb8\\xde\\xc8\\xf2\\xde\\x13\\x2b\\xb3\\xac\\xc5\\xab\\x65\\x8b\\xf2\\x51\\x36\\xe5\\x23\\x16\\x7f\\x57\\xf7\\x31\\x92\\xfe\\x42\\xf7\\x05\\xc2\\xaf\\x34\\xbd\\x59\\x2b\\xdb\\x4e\\x46\\x23\\xd2\\xbb\\xe0\\x2a\\x06\\xdf\\xaa\\x95\\x61\\x0b\\x83\\x33\\x8e\\xe8\\xfc\\x95\\x0c\\x1f\\x9b\\x56\\x86\\x51\\xdd\\xeb\\x91\\xf9\\x69\\xac\\x3a\\xf4\\x2f\\xa2\\x2d\\x8f\\xfa\\x69\\x1e\\x44\\xf0\\x3b\\xcd\\xde\\x77\\x68\\x70\\xdb\\xba\\x47\\x52\\x9a\\x51\\x27\\xeb\\x2c\\xbf\\x04\\x2d\\x7e\\x4f\\xf7\\x7a\\x12\\xff\\x2d\\x89\\xcf\\x65\\xe9\\x5d\\x5a\\x7e\\x27\\x94\\x73\\xac\\xce\\xd7\\xf1\\x46\\x96\\xde\\xad\\xa5\\x77\\x77\\x1f\\x89\\xe3\\xfb\\x6c\\xca\\xf7\\x3d\\xe5\\x57\\x79\\x8b\\xa5\\xf7\\xf6\\xe2\\xa9\\x68\\xbb\\xc8\\xa6\\xed\\x82\\xc1\\x99\\xc2\\xd2\\x4f\\xa6\\x75\\x28\\x5c\\x17\\xab\\xc3\\x6f\\xd0\\xc3\\x8c\\xee\\x8c\\x77\\x58\\xbc\\xca\\x3b\\xff\\x84\\xdf\\xf6\\xb4\\x4f\\x16\\x2f\\x6b\\xf1\\x1d\\x2c\\x9e\\x95\\x8b\\xc5\\x27\\x68\\xf1\\x7f\\x57\\x7d\\x5d\\x12\\xde\\x0c\\x88\\x1d\\x68\\x32\\xaa\\x7e\\x6a\\x48\\xd6\\xc8\\x14\\xd3\\x10\\x3d\\x34\\xa2\\x91\\xd0\\x8a\\x52\\xd0\\x44\\x98\\x8f\\xc2\\x28\\x05\\x9a\\x0e\\x04\\x06\\x05\\x07\\x3d\\xcb\\xee\\x82\\xb4\\x61\\xc6\\x8e\\xdf\\xab\\xa9\\x51\\x67\\x07\\x1c\\x65\\xd1\\x6e\\x86\\x1d\\x98\\x2a\\x25\\xa8\\x4e\\xdd\\x25\\xed\\x24\\x55\\xea\\xe3\\x3d\\x0d\\x2a\\xd8\\x51\\xff\\x5a\\x82\\x60\\xa5\\xda\\x3d\\x69\\x63\\x1b\\x0e\\xba\\x00\\x82\\x09\\xba\\x40\\x76\\x00\\x88\\x7d\\x9d\\x91\\x3d\\xb7\\xc1\\xe8\\x49\\xf6\\x64\\xf5\\x77\\x25\\xe0\\x92\\x50\\x79\\x72\\xde\\x5a\\x5f\\xe1\\x9c\\xb4\\x24\\xbd\\xae\\xaa\\xb0\\x63\\xc7\\xae\\x40\\x20\\xad\\xcc\\x2d\\xf2\\xfd\\x67\\x14\\x94\\x26\\x7b\\xad\\x2e\\xb3\\xff\\x81\\x9d\\xa5\\x1f\\x14\\x65\\xc0\\x65\\x97\\x27\\x1a\\xf5\\x9c\\x71\\x68\\xe4\\x63\\x77\\x76\\x71\\x59\\x06\\xf7\\xc5\\xa1\\x1d\\x76\\xaf\\xd5\\x62\\x4f\\x49\\x0b\\x4e\\x1b\\x64\\x35\\xba\\x0d\\x56\\xaf\\xdb\\x5e\\x58\\x7c\\xc3\\xea\\x14\\x97\\xcd\\x9f\\xb5\\x72\\xf0\\x6f\\xef\\x1a\\x89\\x83\\x03\\xca\\x26\\x97\\xe9\\xd2\\xfc\\x5c\\x49\\x41\\x66\\x4b\\x20\\xc1\\xd4\\xbc\\xad\\x5e\\xf9\\xae\\xff\\x00\\x6f\\x76\\x78\\x8c\\xc5\\x3c\\x28\\x8c\\x9f\\x4b\\xb1\\xe3\\x42\\x42\\xab\\x88\\x85\\x3f\\x8a\\xe6\\x8b\\xa5\\x44\\x2d\\xf2\\x1e\\xd4\\x0b\\x82\\x41\\x8f\\x98\\xca\\xa0\\x27\\x4a\\xff\\x6b\\x51\\x5f\\x42\\x0e\\x7f\\x06\\x2f\\xf9\\x2b\\x32\\x7d\\xc1\\x09\\x7c\\x97\\xf2\\xec\\xc2\\xf6\\xbb\\xe0\\x5e\\x30\\x7a\\x84\\x07\\x16\\xac\\x79\\xee\\x20\\xa1\\xf7\\x97\\xfc\\x51\\xee\\x03\\x06\\x23\\xe5\\x69\\x9d\\xcc\\xeb\\xf5\\x06\\xd0\\x31\\x28\\xd0\\x03\\x45\\x9d\\xd6\\x4f\\xe7\\xdd\\xfe\\xec\\x4c\\x9f\\x1f\\x38\\x0f\\x18\\xa1\\x79\\x4a\\xfb\\x10\\xe5\\xe3\\x6e\\xc4\\x8b\\xa5\\x07\\x9f\\x5b\\x75\\x15\\xad\\xbb\\xc8\\x1e\\xfe\\x18\\x3a\\x2d\\xbc\\xcb\\x7c\\x5a\\xd3\\x3d\\xce\\x66\\x64\\xea\\x08\\x23\\xa4\\x93\\x65\\xae\\x23\\x2c\\xeb\\x88\\x02\\x18\\x9b\\xe4\\xd2\\x90\\xd3\\xa8\\xed\\x67\\x5d\\xde\\xd3\\x33\\x1e\\xae\\x9d\\xb1\\x68\\x70\\xf2\\x3d\\xd5\\xdf\\x1f\\x5e\\xfd\\x1a\\xff\\x8d\\x3b\\xd7\\x11\\x08\\xde\\x72\\x35\\xf3\\x21\\x8e\\x8e\\xf0\\xcf\\x70\\x7f\\x11\\xde\\x50\\x35\\x65\\x9d\\xc5\\x62\\x45\\x16\\x0a\\x9b\\xd3\\x19\\x43\\x46\\x02\\xdd\\xa8\\x69\\x6b\\x27\\x6c\\x55\\x3d\\xd0\\xd5\\x65\\x88\\x95\\x41\\xd5\\x75\\xdf\\x3b\\x8d\\x8f\\x0c\\x9f\\xb1\\x68\\x88\\x7b\\x57\\xd1\\xaa\\x43\\xbf\\x1c\\xf7\\xd0\\x64\\xe1\\x37\\x9e\\x3c\\x47\\x5e\\xf1\\x95\\x0b\\x6a\\x32\\x9c\\xea\\xda\\x5e\\xb6\\x7e\\x5d\\x78\\x81\\xae\\xed\\x26\\x65\\xa0\\x3b\\x52\\x53\\x90\\x8f\\x9d\\x6a\\x5e\\x84\\x86\\x68\\xeb\\x7b\\xe7\\xa3\\x95\\xe8\\xc7\\xd0\\x66\\x29\\x2d\\xcd\\x2e\\xa6\\xa6\\xda\\x65\\x70\\x3a\\xed\\x4b\\x66\\x79\\xf2\\x16\\x34\\x8f\\x1d\\x75\\x79\\x43\\x43\\x6d\\xfd\\xa8\\xa9\\x43\\xcb\\x82\\x9c\\x63\\x40\\x4d\\x8d\\x63\\x60\\x70\\xe8\\xa8\\xda\\xe6\\xbc\\x59\\x86\\x7c\\x03\\xb2\\xdb\\x57\\x67\\x24\\x16\\x16\\xe6\\x5b\\x02\\x81\\x7c\\x73\\x76\\xb6\\x3f\\x29\\x3f\\x7f\\x95\\xec\\x2f\\x74\\x15\\x34\\x54\\x2e\\x5f\\x5e\\x5b\\xdc\\x3a\\xe3\\x72\\x48\\x5a\\x38\\x77\\xee\\x88\\x81\\x93\\x27\\x0f\\x1a\\x51\\xd0\\x5a\\x76\\x79\\xd2\\x88\\x11\\x49\\x97\\x97\\xb5\\x16\\x88\\xc9\\x39\\xe9\\x09\\x85\\x85\\x81\\x34\\x47\\xbe\\x31\\xd3\\x22\\x71\\x5e\\xaf\\x55\\xc7\\x27\\x93\\xce\\x58\\x3b\\x75\\xef\\xe5\\xd2\\xd8\\x65\\x6c\\xfd\\xaf\\x36\\x8c\\x54\\x14\\x9d\\x89\\x50\\x4d\\x64\\xeb\\x31\\x55\\x59\\x0e\\xf6\\x9e\\xa4\\x50\\xe7\\xff\\xe3\\x67\\x2e\\x6c\\xd1\\x33\\x5f\\x83\\x71\\x7b\\x67\\x55\\x0b\\xa0\\xdc\\x5f\\xee\\x13\\xe8\\x76\\x68\\xbf\\x2d\\x48\\xdd\\x51\\x50\\x63\\xb2\\x9c\\xee\\x77\\xa1\\x56\\x41\\x5c\\xbc\\xe0\\xa3\\x8a\\x3d\\xd1\\x95\\xa9\\x9a\\x45\\xf5\\x2d\\x9b\\xbf\\x9c\\xfa\\xec\\x22\\x86\\x2e\\x3d\\xb1\\x25\\x9d\\x36\\xb5\\x54\\xe0\\xb4\\xf3\\x5b\\xdc\\xda\\x2f\\x58\\x7d\\x51\\x8d\\x3a\\x7e\\xe9\\xa6\\x0e\\xb5\\x9d\\x85\\xcb\\x22\\x2f\\x28\\xbf\\x83\\xcb\\x70\\x4d\\x5b\\x5b\\xe7\\xd5\\xf4\\x8a\\xdf\\xa8\\xfc\\xee\\x6c\\xdb\\x4f\\x97\\x9d\\x6d\\x53\\xaf\\xe1\\xb2\\x0b\\x0f\\xb4\\xb5\\x71\\xa9\\xf4\\x8a\\xa6\\x6d\\x3b\\x2b\\xa0\\x86\\x26\\xe7\\x02\\x63\\x5e\\x71\\x69\\x41\\xe3\\x1f\\xdb\\x94\\xf6\\xbb\\xdb\\x9f\\xd8\\x0e\\xa9\\x63\\xc7\\xcd\\x9c\\x7d\\x6f\\x78\\x4a\\x7a\\xfa\\xbe\\xa2\\x59\\xb3\\xca\\x06\\xbd\\xa0\\x84\\x94\\x33\\xb7\\xde\\x7c\\xf3\\x6d\\xb7\\xdc\\xbc\\x24\\x3c\\xa3\\xf9\\x8a\\x69\\x33\\x1a\\xc2\\xfc\\xc6\\xb3\\x6d\\x6d\\x6d\\x5d\\x1b\\xe1\\x32\\x78\\xaf\\xed\\x42\\x4d\\xdb\\x59\\x3e\\x91\\x20\\x40\\x2e\\xe0\\x3d\\xb8\\xac\\x6b\\x63\\x1b\\xc9\\xf1\\xec\\xa7\\x4d\\xab\\xec\\xa3\\x87\\x5d\\xd6\\x04\\x9f\\x4c\\x8b\\xbc\\x72\\xf5\\xfa\\x6f\\xae\\x5c\\xc3\\xe5\\x1f\\x1b\\x36\\xdb\\x26\\x2f\\x00\\xff\\xd0\\x2a\\x45\\xf9\\x6c\\xf8\\x28\\xe5\\x5d\\xb8\\x4c\\x99\\x76\\xe2\\xcc\\xa9\\xe3\\xc7\\x4f\\x3d\\x76\\xe7\\x5d\\x8f\\x3e\\x7e\\xdf\\xed\\xac\\x2f\\xb2\\x10\\xd9\\x7a\\x3d\\xb7\\xc7\\x26\\x72\\x4b\\x09\\xcb\\xdd\\x11\\xda\\x90\\x11\\xda\\xb4\\xa9\\x2e\\x23\\xb4\\x61\\x03\\x09\\xd6\\xad\\x23\\xc1\\xca\\x95\\x24\\x58\\xbe\\x9c\\x04\\x4b\\x97\\x92\\x60\\xc1\\x02\\x12\\xcc\\x9b\\x47\\x82\\x39\\x73\\x48\\xd0\\xdc\\x4c\\x82\\xc6\\x46\\x12\\xcc\\x98\\x41\\x82\\xcb\\x2f\\x27\\xc1\\xa4\\x49\\x24\\x18\\x33\\x86\\x04\\xa3\\x46\\x91\\xa0\\xae\\x8e\\x04\\x43\\x86\\x90\\xa0\\xa6\\x86\\x04\\x15\\x15\\x24\\x28\\x2b\\x23\\x41\\x7e\\x3e\\x09\\x72\\x73\\x49\\x90\\x9e\\x4e\\x02\\xa7\\xb3\\xee\\xe7\\x3d\\x30\\xd2\\x76\\xb7\\x82\\x9f\\xc9\\x85\\x85\\x63\\xc8\\x88\\xca\\x43\\x29\\xbc\\x6c\\x30\\x98\\x4d\\xb2\\x8c\\x38\\x89\\x23\\x16\\xd2\\x7d\\x12\\xa8\\xae\\x0b\\x8f\\x4a\\xbc\\x4e\\xa2\\x6b\\xe5\\x96\\x04\\xe3\\xce\\x20\\xd1\\x46\\x5e\\x2b\\xd4\\xb9\\x4a\\xc2\\x09\\x2e\\xe8\\xae\\x5d\\x5f\\x3b\\xb1\\xfe\\xe5\\xf5\\x5b\\x1e\\x28\\xfc\\xd6\\xc7\\x9f\\x9d\\xb3\\x31\\xeb\\xd1\\x9b\\xd7\\xde\\x94\\xb3\\x5f\\x1d\\x2f\\x98\\xc7\\x0d\\xc6\\x89\\xc2\\x44\\xd2\\xf2\\x72\\x43\\x26\\x03\\xc7\\x89\\x16\\x8b\\xdd\\xc1\\xec\\x8a\\xc3\\xe0\\xdd\\x1f\\x46\\x7c\\x1f\\x27\\x7b\\xb6\\xe8\\x39\\x53\\xc4\\xaa\\x60\\xc3\\xa0\\xcc\\xac\\xd8\\x34\\x62\\xf2\\x99\\x77\\x2c\\xcd\\xcb\\xd2\\x03\\xe9\\x13\\x85\\x89\\x13\\x6a\\xaf\\x7b\\xa9\\xbc\\xde\\x33\\xad\\xc8\\xeb\\xcf\\xc8\\x4b\\xaf\\x0e\\xd1\\x7c\\x0e\\xf1\\xcd\\xb8\\x4c\\xf4\\x93\\x7c\\xfa\\x85\\xdc\\x24\\x13\\x92\\x95\\x96\\xcf\\xad\\x61\\xba\\xb7\\x60\\x1f\\xe2\\x2e\\x69\\xc1\\xa8\\x5e\\x96\\x2b\\x25\\xba\\x34\\x91\\x9d\\x4a\\x0f\\x43\\x07\\xd6\\xbf\\x7c\\xd8\\x34\\xe5\\x0a\\x62\\xc3\\x8c\\xe1\\x9b\\x55\\x23\\xc6\\x39\\x30\\x8f\\x58\\x31\\x39\\xc9\\x45\\x83\\x69\\x5d\\xff\\x95\\x6f\\xc4\\x9b\\x84\\x76\\xab\\x48\\xf7\\xe3\\xfd\\x07\\xf7\\x11\\x72\\xff\\x19\\xbb\\x5f\\xf9\\xef\\xef\\x89\\xdd\\xed\\x16\\x8e\\x77\\xff\\x41\\xca\\x47\\x76\\x7a\\x46\\x81\\xd9\\x62\\x11\\x45\\x64\\x30\\x38\\x04\\x8e\\xd3\\x99\\x2c\\x74\\xa4\\xa9\\xd4\\xfa\\x72\\xbc\\xc1\\xcd\\xa9\\x9e\\xd8\\xe9\\x52\\x45\\xba\\xde\\xd2\\x5f\\x3e\\x18\\xce\\x06\\xf3\\xea\\x6a\\xd3\\xa6\\xcd\\xff\\xdb\\x84\\xe9\\x8b\\x87\\x17\\x8b\\x5b\\xd2\\x32\\x3c\\x33\\x53\\x6f\\xad\\xbe\\x5c\\x2e\\x5d\\xcd\\xa5\\x32\\xb9\\x6e\\x13\\x8e\\x2b\\x2f\\xfe\\xe7\\x79\\xc0\\xc5\\x79\\x28\\x49\\xff\\x3a\\x13\\xe8\\x9a\\x4a\\xf2\\xd0\\xff\\x57\\x79\\x44\\x5a\\xff\\x65\\x1e\\x84\\x76\\x8d\\xfc\\x50\\xae\\x4a\\x58\\x66\\x15\\xf1\\x2e\\x74\\xa9\\xfb\\x83\\x7c\\x23\\xe7\\x14\\x7e\\x45\\xee\\xef\\x52\\x6d\\x0f\\x42\\xeb\\x6e\\xe1\\xd7\\xe4\\x7e\\x2b\\xb3\\x8b\\x2c\\xca\\xf1\\xee\\x97\\xba\\x57\\xb0\\xfd\\x4d\\x88\\xd8\\xc9\\x88\\x8e\\xe5\\xc5\\x7c\\xf6\\x05\\x9d\\xdf\\x3c\\xa5\\x1c\\xdf\\xb3\\x07\\xfd\\x47\\xf5\\xf8\\x6f\\xf8\\x20\\x5a\\xaf\\x76\\x11\\xbf\\x7a\\xa9\\xfb\\x7f\\x5b\\x96\\xff\\xf2\\xbe\\xab\\x5b\\x39\\x1e\\x39\\xd0\\xbd\\xc2\\x2a\\xe9\\x4d\\x91\\xf3\\x88\\x95\\xa9\\xeb\\x46\\x12\\x57\\xa3\\xc5\\xad\\x57\\xe3\\x3a\\xbf\\x52\\x8e\\x77\\xdd\\xa7\\xc6\\x75\\xbd\\xaf\\xa5\\x3b\\x49\\xd2\\x5d\\xa3\\xa5\\x7b\\x5e\\x4b\\xf7\\x20\\x49\\x37\\x4d\\x4b\\x77\\xbb\\x1a\\xd7\\x37\\xcf\\xc8\\x55\\xca\\x71\\xc5\\xa7\\xa6\\x51\\x1a\\xd5\\x34\\xca\\xb5\\x84\\xe6\\xfd\\xd5\\xb8\\xee\\x15\\x5a\\xdc\\x1f\\x49\\xdc\\x46\\x12\\x27\\xea\\x4d\\xcf\\xd2\\xfc\\x7e\\x22\\xf9\\xed\\xd5\\xf2\\xfb\\x52\\x4d\\x13\\x59\\x4b\\x60\\x15\\x6a\\xb0\\x16\\x68\\x71\\xb3\\x49\\x5c\\xa2\\x16\\x77\\x85\\x86\\xeb\\x2e\\xf2\\xee\\x44\\xed\\xdd\\x76\\x2d\\x9d\\x9f\\xc4\\x9d\\xd6\\xd2\\x25\\x68\\xe9\\x06\\x10\\xfc\\xff\\xae\\xa5\\xcb\\xbf\\x34\\xfe\\xff\\xbb\\x7b\\x22\\x87\\x8a\\x48\\xf0\\x09\\xb7\\x87\\xd8\\x9a\\x39\\xa1\\x04\\x89\\x28\\xc4\\x84\\xdb\\xf5\\x22\\x3f\\x2e\\x2c\\x5a\\xe2\\x17\\xc8\\xf4\\x1a\\x7d\\xa2\\xa3\\x02\\x74\\x32\\x7a\\x0c\\x5d\\x9f\\x75\\x1b\\x5d\\x26\\x40\\xc7\\x15\\x26\\x7a\\x86\\x22\\x4e\\x79\\x5d\\xd8\\x01\\xd3\\x24\\x1f\\x1b\\x77\\x4e\\xa2\\xde\\x4f\\x25\\x93\\xc3\\x84\\x89\\x5e\\x9f\\x6c\\x70\\xb9\\x10\\xb6\\xf2\\xac\\x21\\xd1\\xbe\\x9c\\xb5\\x24\\x6d\\x59\\x51\\xa5\\x4f\\xe2\\xe2\\xc6\\xb1\\x7c\\x71\\xd7\\xca\\xeb\\x5e\\xbc\\xcc\\xfb\\xab\\xac\\x81\\x55\\x39\\xb9\\x15\\x95\\xca\\x5d\\x81\\x01\\x55\\x39\\x39\\x95\\x03\\xc4\\xdb\\x6e\\xbc\\x51\\xb9\\x50\\x99\\x97\\x53\\x59\\x99\\x13\\x18\\x30\\x20\\x10\\xe8\\x5f\\x99\\x93\\xc7\\xf6\\xbf\\x70\\xdd\\x1c\\x3f\\x18\\x52\\x84\\xf3\\x6c\\x7c\\x2d\\x05\\xe5\\x85\\xec\\x49\\x1e\\x8f\\x85\\xd3\\xeb\\x9d\\x16\\x4b\\xaa\\x27\\x49\\xb4\\xdb\\x8d\\xd4\\x95\\x77\\xa9\\x8d\\x20\\x12\\x1d\\xba\\x57\\x5b\\xb4\\xe3\\x67\\x70\\xa8\\xc1\\x41\\x0b\\xec\\x8a\\xa2\\xb0\\x4b\\x43\\x61\\xa4\\x78\\xf5\\x4b\\xd2\\x39\\x7e\\x70\\x5f\\x24\\x3e\\xf3\\xed\\xcd\\x7a\\x84\\xe0\\xa1\\xfc\\xc4\\x87\\xa0\\x51\\xe8\\x66\\x78\\xa4\\xa3\\x01\\xa1\\x54\\x27\\xc5\\x22\\xcd\\xc2\\x79\\x52\\x52\\x7c\\x69\\x49\\x49\\xf6\\x14\\x8b\\x27\\xcd\\x53\\xe4\\xe1\\x3c\\xf1\\x38\\x35\\x94\\xda\\xaa\\xb4\\x26\\x1d\\x5d\\x6b\\xf3\\x73\\x78\\x81\\x24\\xf8\\xe9\\xe1\\xd0\\x95\\xbb\\xfb\\xe2\\x06\\x6f\\x89\\xdd\\xe8\\xd1\\x83\\xe2\\x88\\xd7\\x09\\x12\\x7d\\x11\\x84\\xa3\\xbe\\x3f\\xfd\\xc9\\xb7\\x61\\x03\\xa5\\x95\\xc0\\x87\\x50\\xb7\\x40\\xfd\\xc9\\xda\\x54\\x5a\\x61\\x41\\x70\\xea\\x2d\\x96\\x24\\xa7\\x33\\xd5\\xe8\\xf1\\x20\\xce\\x2e\\xf6\\xae\\xb1\\x28\\xad\\x38\\x9a\\xb1\\xe4\\xfe\\x19\\xcc\\xbc\\xbf\\x93\\x5e\\x1a\\x26\\x2e\\xec\\x8b\\x96\\x90\\xf1\\x48\\xd6\\x5e\\xdf\\x27\\x17\\x55\\x1b\\x56\\x4e\\x09\\xab\\xa0\\x45\\x2a\\x67\\x7c\\x93\\x1f\\x72\\x1a\\x78\\x1e\\x53\\x43\\x1f\\xa3\\xf6\\x30\\x36\\x85\\xd8\\xb4\\x85\\xa0\\x75\\xbd\\xbd\\x67\\x2e\\x08\\xeb\\x08\\x3d\\x6e\\x6a\\xb3\\x95\\x53\\x94\\x5d\\x94\\xf2\\xf1\\x55\\xfd\\xc7\\x8d\\xad\\xac\\x19\\x2d\\x3e\\x7a\\xe3\\x8d\\x4f\\xf4\\x1f\\x3d\\xae\\xa2\\x62\\xcc\\x68\\x62\\x1e\\x2b\\xb7\\x0b\\xdb\\xa1\\x89\\xe5\\x93\\x88\\x26\\x86\\x64\\xec\\xf5\\x22\\x93\\x29\\xd9\\x63\\xb5\\xea\\x89\\xc5\\x71\\x28\\x6c\\xb5\\xd2\\x7c\\xd5\\x71\\x50\\x0b\\x4e\\xc3\\x58\\xe6\\x30\\x1f\\xe2\\x9d\\xcc\\x1c\\x31\\x52\\xe6\\x8d\\x1f\\x90\\x8d\\x2d\\x96\\x8b\\x4d\\x00\\xa9\\x9c\\x5c\\x88\\xe9\\xf2\\x1a\\x66\\x51\\xa4\\x62\\x3a\\x40\\x15\\x14\\x95\\xb7\\x28\\x5e\\xdf\\xf4\\x1b\\x5e\\x55\\x92\\x18\\x28\\xb6\\x37\\xa5\\xaf\\x9e\\x52\\x48\\xaf\\xb3\\x4b\\x6d\\x4d\\x83\\x28\\x92\\xca\\x67\\xc9\\xbe\\xe4\\xec\\xe0\\xca\\x05\\xa4\\x1f\\xcf\\x2a\\xfe\\x98\\xb6\\xcd\\xdd\\xa4\\x82\\x9e\\x16\\xb6\\xa8\\x5e\\x84\\x25\\x00\\x9e\\x79\\x10\\x96\\x24\\xd0\\xf1\\xcc\\x59\\x6f\\xf0\\x58\\x9f\\x93\\x85\\x7c\\x7e\\x1b\\x53\\x80\\x6d\\x41\\xee\\xe9\\xad\\xca\\xaf\\x95\\x13\\x30\\x0b\\xf2\\xb6\\x72\\xf7\\xc2\\x8c\\xad\\xca\\xdb\\x90\\xf7\\x7f\\x00\\x73\\x87\\xf2\\x31\\x83\\x89\\x4f\\xe1\\xcc\\xad\\xca\\x70\\x78\\xf6\\xff\\x00\\xe6\\x2f\\x94\\xaf\\x60\\x11\\xa4\\x6f\\x85\\xfb\\xb8\\x69\\x5b\\x23\\xd3\\xf0\\x83\\xf1\\x30\\x75\\x74\\xde\\x06\\x44\\x91\\x68\\x43\\x7a\\x03\\x61\\x78\\xba\\x33\\x56\\x83\\x18\\x0f\\x2f\\x0e\\xdc\\x26\\xe5\\x5b\\x06\\x8e\\xff\\x69\\x6b\\xd7\\x30\\xee\\xb7\\x04\\xd6\\xd8\\x78\\x58\\x74\\x67\\x2d\\x81\\xc4\\x71\\x20\\x60\\x1d\\x83\\x15\\x8c\\x9b\\x05\\x62\\xb8\\xe9\\xa1\\x52\\x0f\\x0c\\xd6\\x61\\x65\\xf6\\x0c\\x18\\x0c\\x75\\x5b\\xf9\\x57\\x94\\xd7\\xe0\\xba\\x16\\xe5\\xcf\\x50\\xa6\\xea\\x89\\x13\\x63\\x65\\x26\\xba\\x42\\xb4\\xcc\\x9c\\x28\\x82\\xa0\\x67\\x40\\xfb\\xcc\\x2c\\xf9\\xa8\\x6d\\x52\\x49\\xbd\\x0f\\x50\\xb0\\xb7\\x28\\xed\\xad\\x30\\x02\\xca\\xb6\\x72\\x0f\\xc1\\xa2\\x16\\xe5\\x30\\x4c\\x64\\x30\\xa3\\x78\\x4a\\x14\\xa6\\x00\\x74\\x66\\x4d\\xa7\\x27\\xed\\x11\\x78\\x49\\x83\\x79\\x11\\x15\\x2b\\xd5\\x42\\x47\\x52\\x9b\\xf0\\x35\\x5b\\xf1\\x28\\xfc\\x5a\\x63\\xe4\\x6e\\xbc\\x34\\x0e\\x56\\x2f\\xfc\\x58\\x9d\\x08\\x97\\x86\\x55\\x4e\\x4a\\x0d\\x0e\\x5b\\xb4\\xd8\\x93\\xe0\\xc0\\xfb\\x5b\\xbf\\xc6\\xbf\\x81\\xeb\\x16\\x28\\x73\\x95\\x22\\x6e\\x1e\\x81\\x59\\x1b\\xa3\\x63\\x7a\\xc8\\x14\\x57\\x27\\x7c\\x14\\x62\\x3c\\xbc\\x38\\x70\\x0f\\x29\\x8b\\xa7\\xc1\\xe3\\x1f\\x6f\\xe5\\x7e\\x05\\x6b\\x67\\x2b\\xf3\\x23\\xf7\\x70\\x17\\x58\\x79\\x09\\x3c\\xbc\\xf8\\x52\\xe5\\x15\\xf9\\x7f\\x55\\x5e\\xbc\\x78\\xab\\xd2\\x38\\x8d\\x54\\x0a\\x61\\xec\\xcd\\x6d\\xca\\x3b\\x90\\x43\\x60\\x95\\x5f\\xba\\x8e\\x25\\x2c\\xfc\\xbb\\x3a\\x7e\\x4a\\x99\\xb8\\x80\\x54\\x06\\xa9\\xe3\\x35\\x91\\xb7\\xf1\\x67\\xe3\\x22\\x67\\xb1\\x4f\\xad\\xe3\\xf2\\x18\\x0d\\x0b\\x43\\x09\\x51\\x1a\\x8a\\x74\\x22\\x88\\xe8\\x84\\x3d\\x84\\x2c\\xb2\\xf7\\x5e\\x3b\\xd1\\x03\\xdf\\xd6\\x93\\x41\\x0b\\x14\\x92\\xf2\\x2b\\x4f\\xe2\\xcf\\x46\\x47\\x0e\\x40\\x3f\\xa0\\xfe\\xce\\xc7\\xff\\x1c\\x0f\\xf5\\x80\\xfe\\x79\\x1e\\x7a\\x58\\x59\\xbd\\x1c\\xda\\x40\\xb7\\x15\\xdf\\x8d\\x77\\xd5\\x45\\xee\\xa7\\xa7\\xb7\\xa9\\x6b\\xbb\\xff\\x77\\xf5\\x4e\\x31\\x05\\xb7\\x0a\\x73\\x97\\xd2\\xbc\\x12\\x6e\\xf9\\x71\\x2b\\x98\\x61\\x26\\xfe\\x63\\x6d\\xa4\\xf6\\x27\\xee\\x00\\x81\\x59\\xa7\\xc1\\x14\\x59\\xbd\\xf3\\x74\\xef\\xbb\\x8e\\x54\\xba\\xc0\\x5d\\xaa\\xde\\x63\\x2c\\xe9\\x5d\\x45\\x2a\\x4a\\x18\\x34\\xac\\xf3\\x4e\\x7e\\x0e\\x8a\\xad\\x3b\\xff\\x7f\\xac\\xef\\xe1\\xcb\\x48\\x05\\xe1\\x29\\xf8\\xd3\\x3a\\x56\\x3d\\x80\\x32\\x63\\xf5\\x1d\\x93\\x39\\x3f\\x5f\\xe3\\xb6\\x8b\\xdb\\xf5\\xa0\\xf5\\x6a\\x9d\\x7b\\xbb\\x3e\\xe0\\xc3\\xa5\\x5d\\x1f\\x70\\x7e\\x15\\xc7\\xac\\x4b\\xc9\\x32\\x0a\\x57\\xf7\\x6f\\xe0\\x96\\x33\\xc0\\x2f\\x2a\\x65\\x1b\\x61\\x2a\\x6d\\xd9\\xf7\\x45\\xae\\xe3\\x73\\xca\\xbb\\xfe\\x07\\xcf\\xde\\xdf\\x1b\\xee\\x7f\\xc5\\x4b\\x07\\x94\\xcb\\xd6\\xc1\\x32\\x48\\x26\\xb4\\x50\\x9e\\xe4\\xeb\\x4a\\xbb\\x36\\x80\\x1d\\x2f\\x21\\xf0\\x03\\xff\\x0d\\x2f\\xdd\\xaa\\xcc\\x5c\\x03\\xd7\\x80\\x71\\x2b\\x4c\\xe0\\x94\\xd2\\xae\\xa9\\xdc\\xc3\\x51\\xdd\\xf0\\x12\\x32\\x38\\xae\\xc1\\x17\\x5d\\xd4\\xe2\\xdd\\x51\\x01\\x52\\xb7\\x09\\xf6\\xfe\\x79\\x2b\\x8c\\xe0\\xb9\\xca\\xae\\x84\\xb7\\xf9\\x17\\x35\\x1a\\x68\\xf5\\x4f\\xf8\\x28\\x5a\\xff\\xf1\\xb5\\xdf\\x4b\\x1e\\xc5\\xea\\x7e\\xd0\\x3a\\x52\\x51\\xdf\\xf1\\x33\\xb4\\x5a\\x02\\xa2\\xa7\\x44\\xf1\\x8a\\x95\\x95\\xe0\\x85\\xe9\\x0a\\x10\\xd0\\x4e\\x4b\\xab\\xfa\\xf9\\x9a\\xaf\\xd8\\x00\\x63\\xa9\\xf0\\x38\\xdd\\x95\\x2b\\x4c\\x28\\xee\\xca\\xe5\\x4e\\x53\\x98\\xee\\x4b\\xd1\\x8f\\xc0\\x14\\xf4\\xff\\x12\\x66\\xb9\\x06\\xb4\\x78\\x23\\x84\\x61\\xc8\\x56\\x6e\\x45\\xd7\\x8d\\xc2\\xf8\\xa2\\x2e\\x37\\x77\\xe5\\x66\\x95\\x9f\\x2a\\xfe\\xdf\\xe0\\x46\\xc9\\x38\\x7e\\x13\\x8c\\x83\\x82\\xad\\xb8\\x3d\\xb2\\x44\\x98\\xd4\\xaf\\xf3\\x53\\x7c\\x15\\x3c\\xd9\\x07\\x2e\\xd1\\xd9\\xe2\\xdb\\xb9\\xa0\\xa7\\xdc\\x4a\\x8d\\xc2\\x8b\\x4f\\x1e\\xd4\\x5a\\x7b\\x56\\x0c\\xfa\\x46\\x58\\x0e\\xd2\\x56\\xe8\\xaf\\xfc\\x81\\x42\\x5f\\x77\\x81\\xbb\\x89\\xc2\\x2e\\x8e\\xf5\\x43\\x89\\xd4\\xef\\x3a\\xad\\x25\\x91\\xf5\\xbb\\xc1\\x38\\x19\\x9a\\x0b\\x04\\x52\\x90\\x42\\x52\\xf2\\x95\\x71\\x5b\\x60\\xe7\\x57\\x5b\\x85\\x49\\x85\\x9d\\x74\\x46\\x89\\xc2\\xc8\\xd5\\xea\\x3a\\x4e\\x66\\x48\\xba\\x7f\\x29\\x33\\x68\\x55\\x0f\\xd9\\x02\\x83\\x29\\x18\\xb5\\x56\\x50\\x9c\\x8c\\x94\\xe8\\x59\\x05\\x02\\x45\\x85\\xae\\xbb\\x11\\x7b\\x33\\xa0\\xc6\\xcf\\x01\\xf0\\xd1\\x72\\xbd\\xa6\\x1c\\x6c\\x21\\xe5\\xfa\\x9e\\xff\\x49\\x39\\xdc\\x02\\x8b\\x54\\x38\\x63\\xfa\\xd0\\x8b\\x9d\\xc6\\x20\\x61\\x4c\\xa0\\xe9\\x34\\x70\\x14\\xde\\x25\\xe8\\x15\\x88\\xd6\\xc6\\xd3\\xca\\x0b\\xd3\\xe1\\x6e\\xca\\x3a\\x37\\x43\\xb9\\xf2\\xde\\x6c\\x58\\x43\\x74\\x82\\xb2\\xff\\x1b\\xd8\\x77\\x28\\xef\\x5e\\xce\\x60\\xe3\\x5c\\xbc\\x45\\xf9\\x61\\x2e\\xac\\x89\\xbc\\x80\\x6b\\x2e\\x0d\\x5b\\x36\\xfc\\x7b\\xd8\\xe5\\x20\\xc4\\x60\\x5f\\xab\\x7c\\x3d\\x89\\xc1\\xfe\\x82\\xdb\\x4b\\x21\\x77\\xbd\\xc5\\xf5\\x63\\x34\\x69\\x8c\\x6f\\xdf\\xe2\\x25\\x25\\x68\\x55\\x5c\\x9f\\x19\\x07\\x72\\x9b\\xf2\\xdd\\x04\\x02\\xb2\\x62\\x2b\\x7f\\xfd\\xe7\\x84\\x0e\\x5d\\x83\\xb8\\x97\\xfe\\x7f\\xac\\x5d\\x07\\x7c\\x15\\xc5\\xf6\\x9e\\xb6\\xb3\\xbb\\x29\\x84\\x90\\x10\\x3a\\x24\\x74\\x44\\x08\\xb9\\xbb\\x37\\x21\\x14\\x49\\x07\\xa4\\x4a\\x0f\\x10\\x20\\xa4\\x90\\x40\\x92\\x1b\\x52\\xa8\\x0a\\xd8\\xe3\\x43\\xc5\\x82\\x3e\\x7b\\xc1\\xde\\x00\\xb1\\x77\\x29\\x56\\x40\\xa4\\xd9\\x10\\x15\\x10\\x01\\x1b\\x82\\x88\\x2d\\xd9\\xfc\\xcf\\xce\\x3d\\x09\\x37\\x21\\xe8\\x7b\\xbe\\xbf\\xfe\\xf8\\x76\\xb2\\xe5\\x9c\\x33\\x67\\x66\\xe7\\xfb\\x66\\xef\\xbd\\xb3\\xfe\\x58\\xb1\\xcd\\xc1\\x9e\\xa6\\xfa\\xa4\\x6e\\x80\\x41\\x26\\x9b\\x1c\\x2f\\xc2\\xa1\\xc1\\x54\\xab\\x6f\\x9a\\x41\\xef\\xaa\\x12\\x9b\\x9c\\xfd\\x85\\x74\\x71\\x43\\xed\\x07\\x7d\\xc7\\xcf\\xe5\\x02\\x58\\x02\\xe5\\x5a\\x63\\x26\\xd7\\x5d\\xe9\\xe7\\x46\\x55\\xeb\\x94\\xd2\\x09\\x74\\x60\\x95\\xd8\\x72\\xa0\\x8a\\x46\\x35\\xd0\\xa5\\x3d\\x93\\xc2\\xeb\\xee\\x11\\x9d\\xb9\\xaf\\xab\\xa2\\x26\\xc5\\xef\\xb5\\x9c\\x35\\xda\\x06\\x48\\xc9\\x3b\\x41\\x35\\xbb\\xc4\\xcd\\x0a\\xe9\\x12\\x08\\xd3\\x7d\\x89\\x6c\\x43\\xbd\\x1b\\x70\\x4f\\x0b\\xbd\\xa1\\xd5\\x73\\xd9\\xbc\\xc7\\xd9\\x4d\\x97\\xd3\\xe6\\x55\\xd4\\xcb\\xd6\\x56\\xd5\\x9c\\xe4\\x5d\\x1b\\xda\\x54\\x63\\x9a\\x7f\\xac\\x0d\\x32\\xb9\\x74\\x9b\\xb9\\x69\\x9b\\xae\\x49\\xd4\\x57\\x4f\\x39\\x5b\\xe8\\x3d\\x27\\xaa\\xf8\\xa1\\xaa\\x9a\\x21\\x75\\xf7\\xcd\\xd8\\x7a\\x7b\\xf5\\x75\\x77\\x5b\\x57\\xe3\\x01\\x79\\x4c\\x8c\\x3d\\x37\\x43\\xbe\\xe4\\x14\\xcc\\xa2\\x1d\\x69\\x76\\x95\\x58\\x54\\xb3\\x97\\xde\\x3f\\xdb\\xd9\\xc7\\x26\\x35\\xbc\\x8f\\xfa\\x25\\xb5\\x3c\\xc3\\x63\\xba\\xfb\\x6d\\x2d\\xd7\\xb8\\x59\\xff\\x5b\\xd9\\xbf\\x61\\xb2\\x17\\x9d\\xbc\\x59\\x74\\xa0\\x7b\\x37\\xad\\x77\\x5e\\xa2\\x77\\xcd\\x72\\xde\\x02\\x42\\x6e\\x5e\\xa7\\x0b\\xcf\\xe6\\x60\\x2e\\x35\\x19\\x68\\xfe\\xdc\\x6c\\x96\\xef\\x3c\\x3d\\x9b\\x9e\\x47\\xb3\\x40\\x19\\xd1\\x05\\xd3\\x9d\\xe7\\x41\\x19\\x9d\\x89\\x5b\\x77\\x6d\\xfa\\xb9\\xc7\\x04\\x4a\\xd7\\xdc\\xd7\\xcf\\xd5\\x25\\xf8\\x9c\\xea\\xba\\xc3\\x0c\\x76\\x65\\x15\\xed\\xc1\\xbe\\xce\\xa9\\x59\\xca\\x6f\\x6b\\x30\\x9e\\x34\\xe4\\xc6\\xc0\\xe6\\x3a\\x97\\x1a\\x86\\x8a\\x4f\\xa3\\xeb\\x3f\\xa9\\x62\\xe5\\xf4\\x8e\\x1c\\x67\\xbc\\x93\\x23\\xa6\\x05\\xdc\\x3b\\x3a\\xde\\x3b\\x7e\\x6e\\x6c\\x10\\x5d\\xd3\\xca\\x28\\x37\\x8b\\x0e\\xa9\\x62\\xb9\\xf4\\xae\\x3c\\x67\\x23\\x9b\\xd6\\x88\\xb7\\xff\\x69\\xdb\\x0f\\xad\\x04\\xfb\\x13\\xaa\\x44\\x87\\xea\\xc3\\x3c\\x3b\\xa3\\xe6\\x76\\x3e\\xc4\\xb5\\x9b\\xf8\\xbf\\xb7\\x7d\\x1d\\x5f\\x8e\\x5b\\x40\\xfb\\x2b\\x05\\x5f\\x33\\x9f\\x0f\\x1d\\x5a\\x73\\x3f\\x5b\\xf5\\x9c\\xbf\\xdf\\x0e\\x09\\xf0\\x11\\x15\\xe8\\x83\\x43\\x63\\x31\\x18\\x4c\\xfc\\x4e\\xd4\\xa7\\x4c\\x7f\\xd9\\xbf\\x36\\x39\\xa3\\x17\\xd2\\x2c\\x57\\x29\\x95\\x3b\\x0f\\xf2\\x29\\x83\\x6b\\x26\\xd2\\xfe\\xee\\x5b\\xa2\\x1b\\xf8\\xf8\\x47\\xfd\\xeb\\x01\\xa7\\x78\\x21\\xcc\\x30\\x83\\xaa\\xe8\\x24\\xde\\x66\\x70\\x8d\\x87\\x3f\\x10\\x60\\xf3\\xbf\\xe8\\x0f\\xad\\xea\\xa6\\x07\\xd3\\x17\\xd2\\x3b\\xbe\\x84\\x01\\x81\\x0f\\x18\\x5c\\xfd\\xc5\\x56\\xbf\\x56\\x1a\\x52\\xdf\\x1f\\xea\\xfb\\xab\\xd2\\xca\\x7f\\xdb\\x5f\\xdd\\x3e\\x31\\x79\\x21\\xf5\\x54\\xd1\\x3e\\x3c\\x65\\x70\\xcd\\xe3\\xbc\\x77\\x03\\xbd\\xd0\\x40\\x2f\\xbb\\x03\\xa1\\xa1\\xbe\\x16\\x67\\x59\\x4d\\xf4\\xb1\\x40\\xd5\\x34\\xe6\\x12\\x6a\\xd7\\xa9\\x26\\xb3\\x5f\\xf5\\xfc\\xba\\x71\\xc6\\xdb\\xe4\\xdc\\xdf\\x1d\\x0a\\xff\\xc6\\x6e\\x5d\\x4f\\x18\\x7d\\x09\\x1d\\x54\\xa7\\x9c\\xcc\\xb8\\xea\\x69\\x4a\\x39\\x9d\\x43\\xdf\\xb8\\x3d\\xad\\xb1\\xe5\\xbf\\x1a\\x61\\x02\\xd5\\x53\\x70\\x9f\\xea\\xde\\x4a\\x3d\\xfd\\x4f\\xb6\\x9b\\xd6\\x4e\\x41\\x7d\\xfe\\xdc\\x82\\xda\\x29\\xbe\\x7e\\x9c\\xe9\\x98\\x14\\xe2\\xd7\\x4e\\xdc\\xfd\\x65\\xad\\x52\\x4f\\x67\\x18\\xb0\\x81\\x7e\\xea\\xe7\\x1a\\xbb\\xf3\\xab\\x2a\\xd7\\xce\\x45\\xa8\\x9f\\xbc\\x81\\x5c\\x5a\\xaf\\x9f\\xa0\\xff\\xcb\\x26\\xfb\\x53\\x7d\\xd3\\x8f\\x5a\\x0e\\x93\\x0f\\x30\\x54\\xbd\\x84\\x7f\\x48\\x1a\\x8c\\x7b\\x6e\\x3c\\xf4\\x1c\\x02\\xaa\\x91\\x82\\x3a\\xe0\\x3c\\xe1\\xa3\\x0b\\x5d\\x05\\x55\\xb3\\x79\\x04\\x5b\\xd2\\x70\\xdc\\x3f\\x3f\\x29\\xa2\\x4e\\xe3\\x80\\xde\\x94\\x8d\\x84\\x48\\x53\\x8a\\xb3\\x5e\\x36\\xec\\x72\\x5e\\xf6\\xd5\\x29\\xa8\\x8e\\x4e\\x08\\x98\\x56\\x0a\\xea\\xff\\xcd\\xfe\\xd3\\xce\\x3e\\x5f\\x9d\\x8a\\x1a\\xef\\x24\\x81\\x7d\\xa5\\xa2\\x1a\\xda\\xf7\\xf7\\x53\\xbf\\x46\\x3b\\x4b\\x45\\x35\\x7a\\x22\\x52\\x6f\\xf9\\x4e\\xe7\\x84\\x0f\\x35\\x54\\xa5\\x33\\x03\\x0c\\xfb\\x45\\x54\\x23\\x1e\\xf8\\x7b\\x0d\\x15\\x60\\xf2\\x1e\\xe7\\x47\\x1f\\x7d\\xca\\xd5\\x50\\xe3\\x9c\\xb9\\xae\\x45\\x57\\x44\\xf9\\xbf\\x7f\\xf2\\x0f\\x75\\xd4\\x71\\x1f\\x5d\\x51\\x25\\x96\\x39\\x83\\x46\\x35\\x6c\\x33\\xe9\\x5f\\xb5\\xe9\\x5c\\x56\\xea\\x6d\\xb8\\x54\\x37\\x6f\\x34\\x3b\\x54\\x25\\x76\\xd4\\x7c\\x58\\xe0\\xb7\\x91\\xd1\\x48\\x43\\x69\\xfe\\xb1\\x52\\xc0\\xff\\x01\\x83\\x65\\xe3\\x36\\x51\\x3d\\xc9\\x5f\\xcd\\xd7\\x9d\\x57\\x66\\xd3\\xb9\\x74\\x39\\xc8\\x13\\xe7\\xb6\\xe9\\x74\\x35\\x28\\xb3\\x86\\xed\\xe1\\x9f\\x0f\\x63\\x7b\\x73\\xbd\\xb1\\xe9\\x16\\x89\\x9e\\xff\\x44\\x93\\xb3\\x4b\\xeb\\x35\\x39\\x4b\\xff\\x0b\\xfb\\x52\\x6f\\x64\\xbf\\x49\\xa6\\x3a\\x5b\\x97\\xd3\\x36\\xf5\\xba\\x9c\\x8f\\x69\\xd0\\xee\\x30\\x86\\xc0\\x78\\x8f\\xe3\\xa9\\x9f\\x65\\x8d\\x06\\xd6\\x1b\\xdc\\xa7\\xbc\\xde\\x74\\xe1\\xe1\\x39\\x30\\x93\\x2f\\xad\\x82\\x01\\xe0\\xeb\\xe9\\x74\\x53\\xf5\\x83\\xa2\\x6b\\x03\\x1d\\x00\\xf9\\xf6\\xb7\\xbd\\x1a\\xf7\\x75\\xb7\\x53\\xe1\\xad\\xdf\\xc4\\x73\\x92\\x1e\\x30\\x9e\\xba\\x5d\\x60\\x63\\x16\\x48\\x69\\xfe\\x9e\\xb3\\x31\\x8f\\xde\\x75\\xba\\xa1\\xae\\x0c\\x18\\xf7\\x05\\x33\\xb4\\xfa\\x28\\x63\\x5b\\x34\\x56\\xab\\xbc\\x4e\\x51\\x1f\\x71\\xa6\\xd0\\x49\\x34\\xb1\\x4a\\x4c\\x75\\x92\\xab\\xdc\\x07\\x4c\\x81\\xda\\xd7\\x7f\\x9f\\xfa\\xb5\\xaf\\x06\\x77\\xaa\\x19\\xa0\\x7f\\x9b\\xe2\\x7f\\xbd\\x5e\\x03\\x9f\\x74\\x72\\x68\\x3e\\xed\\x55\\xc5\\x6f\\x77\\xaa\\xe8\\x00\\xda\\x95\\x9c\\x4b\\xab\\x33\\xbd\\xb1\\xaa\\x3e\\xb7\\xae\\xbe\\xdb\\xd9\\x43\\x73\\x60\\xb0\\xa7\\x5d\\xe9\\xc2\\x2a\\xe7\\x2d\\x7e\\xfb\\x39\\x75\\xb5\\x19\\xf4\\x77\\xba\\x9a\\xd6\\x3d\\x62\\x7b\\x8f\\x5e\\x43\\x25\\xe8\\xc8\\x2a\\x47\\x88\\xa9\\xca\\xde\\xa4\\x7a\\x7b\\xf5\\xcf\\x71\\xdc\\x3b\\x9e\\x69\\x46\\xa3\\x96\\x0f\\x6f\\x72\\xee\\xad\\xf9\\xf9\\xf4\\x4d\\x67\\xce\\x4c\\xa8\\xd6\\xfc\\x2a\\xd1\\xb5\\x26\\x9c\\xae\\x9c\\xe1\\x70\\xf7\\xfd\\xc8\\x93\\xeb\\x73\\xe0\\x69\\xa8\\x7d\\x98\\x66\\x36\\x12\\x58\\xe1\\x7f\\xab\\xb0\\x4a\\x67\\xd0\\x16\\xb4\\xa0\\x8a\\xaf\\xa8\\x79\\x8d\\x5e\\x3e\\xc3\\xf9\\x8d\\x2d\\x39\\xe1\\xc6\\x9f\\xf9\\xff\\xa7\\xdf\\xcb\\xa6\\x81\\x24\\x18\\x5a\\xc5\\x8a\\x60\\x10\\xbf\\x2c\\xdf\\xd9\\x4b\\x3d\\xcc\\x9f\\xa3\\xc9\\xff\\x9b\\xbe\\xba\\xcd\\xb9\\x61\\x36\\x1d\\x41\\x7b\\x83\\xbe\\xa2\\x45\\xd3\\x9d\\x37\\x95\\xbe\\x9a\\x54\\x3f\\x96\\x05\\xf0\\xa1\\x4b\\x87\\x8d\\x99\\xb5\\xd1\\x53\\xc8\\x1e\\x33\\xd9\\x92\\x2a\\xf6\\xe6\\x8c\\x9a\\x7b\\xc4\\x5b\\x6e\\x6c\\xd3\\xff\\x17\\x5d\\x55\\x91\\x45\\x63\\xab\\xa0\\xd2\\x2b\\xf3\\x9c\\x5d\\x7c\\xa5\\xaa\\x6b\\xff\\xc0\\xfe\\xe5\\x9f\\xab\\xfa\\x6f\\xae\\x00\\x21\\xd1\\x22\\xb1\\xe9\\x27\\xcf\\xef\\x3b\\x43\\x7c\\xb4\\x37\\x4c\\x54\\xf8\\xe6\\xea\\xc1\\xec\\xd3\\x11\\x4e\\x1b\\x91\\xe6\\xda\\x4c\\x68\\xea\\x1e\\x83\\x16\\x32\\x1b\\x09\\x94\\x26\\x7b\\xd8\\x99\\x1e\\x30\\xd6\\x07\\xb3\\xa0\\x99\\x55\\xbc\\x4f\\xf5\\x6e\\xd7\\x78\\x08\\x2f\\x38\\xe6\\xbf\\x27\\x12\\xfe\\x3f\\xb4\\x15\\x58\\x1f\\x42\\x2f\\xac\\x62\\x43\\x80\\x62\\x3f\\x1d\\x51\\x73\\x8c\\x8d\\x60\\xbd\\xdc\\x7c\\xd4\\xd6\\x34\\x71\\x1f\\x6b\\xd0\\xbb\\x4c\\xe9\\xfe\\x5e\\x4a\\x99\\x4e\\x8c\\x8d\\x3d\\xa7\\xe5\\x97\\x5c\\xcb\\x53\\x61\\xd2\\x4d\\x33\\x9d\\x07\\xd9\\xe7\\x23\\x6a\\x5e\\xa6\\xc9\\x7c\\x76\\x83\\x5c\\xff\\x77\\xda\\xea\\x22\\x1f\\xbd\\xee\\xcf\\x2a\\x37\\xc6\\x5c\\xd4\\x56\\xfd\\x9b\\xd2\\x56\\x7f\\xd3\\x97\\x58\\xe9\\x35\\xae\\xa5\\x64\\x65\\xe8\\x90\\x50\\xdc\\x38\\xf4\\xbf\\xd0\\x56\\x5d\\x50\\x5b\\xfd\\xe8\\x2c\\x5f\\x0c\\x84\\xb2\\x57\\xfc\\x5e\\x9d\\xe5\\xe1\\xfe\\x78\\xd2\\xff\\x3f\\xb4\\xcf\\xd7\\xce\\x53\\x4b\\xe9\\xdd\\x74\\x54\\x15\\x5f\\x44\\x5b\\x54\\x6f\\x03\\xdb\\xce\\xd3\\xee\\x3a\\xf4\\xff\\x5f\\xf6\\x3f\\x70\\x36\\x2f\\xa5\\x6b\\x5c\\xa6\\xcd\\xa1\\x27\\x6a\\x58\\x1c\\xff\\xa3\\xe6\\x88\\xfb\\xb9\\x7e\\xbd\\xfd\\x2b\\xfe\\x7b\\xfb\\x81\\x0a\\xeb\\x39\\xe7\\x73\\xbf\\xfd\\xbb\\x79\\x65\\x4d\\x9a\\x87\\x57\\x57\\xdf\\xc7\\xb3\\x48\\x83\\xf8\\xd5\\x7c\\xb6\\x8e\\x6b\\xa5\\xd6\\x48\\x66\\x9d\\xf5\\xf9\\x53\\xbd\\xe9\\x27\\x9d\\xc3\\x7e\\xd3\\xbc\\xa6\\x26\\x13\\x12\\x53\\xf7\\xcc\\x37\\xfd\\x1f\\xea\\xac\\x4f\\xc0\\xda\\x35\\xa2\\x7d\\xcd\\x00\\xd5\\x80\\xd4\\xfd\\x8e\\xf8\\x19\\x0d\\xe8\\xaf\\x3f\\x70\\xac\\x08\\x78\\x60\\xd5\\x88\\x09\\xdd\\xd0\\xdc\\xc8\\xbe\\x74\\x1e\\x5d\\x48\\x67\\xd3\\x91\\x55\\x62\\xd3\\xd6\\x9a\\x99\\x83\\xd9\\x4b\\xd4\\x1b\\x68\\xef\\xbf\\xd3\\x5c\\x5d\\xea\\x35\\xd7\\x31\\xe7\\xe9\\x05\\xb4\\x8c\\x0e\\x02\\xc9\\x55\\x53\\x3e\\x98\\x7d\\xa2\\x24\\x57\\x83\\xf9\\xfb\\xff\\xa4\\xb9\\x76\\x39\\x6b\\x17\\xd0\\xb5\\x6e\\x4f\\xc8\\xa4\\xd7\\xd6\\xcc\\x1f\\xca\\x87\\x3a\\x13\\xd8\\xf0\\xff\\xcd\\x7e\\x60\\x4f\\x58\\xef\\x7c\\xe8\\xb7\\xff\\x1c\\xfb\\xb1\\xe6\\x59\\x30\\x5f\\x13\\xcd\\x2f\\x76\\xe3\\x1f\\xd0\\xa4\\xe6\\x92\\x5a\\x23\\xe6\\x75\\xad\\x9f\\xa3\\x27\\x3c\\xea\\x7c\\x52\\x09\\x9a\\x1b\\x7a\\xc2\\xcd\\x35\\x5b\\x32\\xf8\\xb0\\xea\\x5b\\x84\\x5e\\x9f\\x9b\\xb3\\x75\\x97\\xfb\\xce\\xd1\\xff\\x4c\\x77\\xbd\\xbb\\x90\\xae\\xab\\xe2\\x2f\\xd5\\xdc\\x3b\\x98\\x8f\\xba\\xd7\\xb5\\x77\\x63\\x7d\\xac\\x38\\x36\\x34\\xdd\\x23\\xfc\\x7a\\xab\\xae\\x3f\\x7c\\xe2\\xdc\\x32\\x0d\\x48\\x6f\\x58\\x95\\x98\\xe6\\xe4\\x38\\xb7\\xe5\\xd0\\x89\\xac\\x3c\\xc0\\x96\\xe2\\x2c\\xae\\xeb\\x4c\\x4a\\x18\\xf9\\xdc\\x55\\xa3\\x35\\x5d\\x6b\\x8a\\xb3\\x4c\\x15\\x57\\x78\\x17\\x1e\\x5b\\xf3\\xda\\x34\\x76\\x4f\\x55\\x15\\xff\\xbc\\x66\\x49\\x0e\\x3b\\x74\\xf8\\x8f\\xe5\\x81\\xb1\\xfd\\x63\\x4d\\xff\\x95\\xb3\\x7f\\x1a\\x1d\\x46\\x27\\x81\\x32\\x72\\x5e\\xc9\\xa1\\x73\\xf1\\xb3\\xc7\\x1b\\xff\\x87\\xfe\\x15\\x20\\x8c\\x5f\\xad\\xf5\\x27\\x81\\xa6\\xd0\\x38\\xe7\\x50\\x0e\\x5d\\xe4\\x6c\\xe3\\x57\\x34\\xcc\\x69\\x03\\xcd\\xed\\x6f\\x7e\\x89\\x63\\xf7\\xd9\\x91\\x53\\xfd\\xcc\\x9c\\xeb\\x8b\\x19\\xca\\x34\\x1b\\xf9\\x7b\\x3e\\x5d\\x54\\xb3\\x5b\\x5c\\x42\\xce\\xa5\\xb9\\xff\\x93\\xb6\\x0f\\x3f\\xa3\\xb9\\xd9\\x6a\\xa5\\xb9\\x59\\xef\\xc6\\x9a\\xb3\\x5e\\x73\\x37\\xf9\\x04\\xbb\\xb1\\xe2\\xde\\xe7\\x8c\\xa4\\xe3\\xe8\\xe0\\x2a\\xfe\\x71\\x0d\\xcc\\x98\\x1e\\x68\\xfc\\xbc\\xb9\\x81\\xe6\\xae\\x53\\x04\\x7f\\xa1\\xb9\\x79\\xbd\\x98\\x3d\\xee\\xcc\\xa2\\xa3\\xdd\\xe7\\x2c\\x5d\\x1d\\x4f\\x15\\x2b\\x81\\x81\\xe6\\x7f\\xb1\\x1b\\x20\\x92\\x3f\\x72\\xee\\xa4\\x9d\\x60\\x1a\\xc3\\x6e\\x76\\x36\\x57\\xd1\\xab\\x59\\xfb\\x26\\x74\\xb7\\xe1\\xaa\\x2b\\xdd\\x0c\\xa2\\x8c\\x49\\x61\\xc8\\x26\\x72\\x80\\x06\\x61\\x10\\x7b\\x03\\xbf\\x61\\x02\\xea\\xaf\\xca\\xf9\\x4e\\xbc\\xe8\\x76\\xd9\\x06\\xf3\\xad\\x80\\x79\\x8c\\x4a\\x69\\x9d\\x62\\x39\\x7b\\x9c\\x3d\\xa3\\xb7\\xd5\\x33\\x57\\x42\\xe1\\x46\\xd8\\x55\\xdd\\x97\\x2e\\xce\\xff\\x4e\\x5c\\xd7\\x60\\x8e\\x18\\xa8\\x55\\x9a\\x50\\x59\\x67\\x5b\\xf5\\x9e\\x31\\x1b\\x42\\x2f\\xae\\xe2\\x13\\xab\\x9f\\x00\\xb3\\xbf\\xf2\\x4f\\x36\\x36\\xf1\\x2c\\xe3\\xbf\\xd4\\x6f\\x01\\x8f\\x89\\x3b\\xd0\\x79\\x4a\\x61\\x81\\x6d\\xe7\\x0f\\xb6\\x9c\\xf5\\x6a\\xf2\\xb3\\xac\\x7f\\xa4\\xdf\\xc0\\xfa\\x10\\x3a\\x1c\\xd4\\x2c\\xa8\\x77\\xb0\\xbe\\x8f\\x7a\\xf9\\x4d\\x0d\\x3e\\x6f\\xfb\\x4f\\x34\\x96\\x1a\\x0f\\x9c\\x38\\x67\\xce\\x0c\\xba\\x90\\x06\\x57\\xd1\\x05\\x85\\xce\\x63\\xe2\\x77\\xfc\\xdc\\xee\\x1f\\x68\\xac\\x2a\\xd7\\xd2\\x40\\x65\\xe7\\x2b\\xff\\x73\\xd0\\x86\\x9f\\x45\\x2a\\x8d\\xc5\\x65\\xe3\\xcf\\x22\\x03\\xf4\\xd5\\x77\\x4e\\xf1\\xa5\\x74\\x83\\xab\\xaf\\xfe\\xd4\\xfb\\x6a\\xe3\\x1b\\x7d\\x56\\x1a\\x30\\xde\\xa9\\xef\\x44\\xd4\\x9b\\x6a\\xe2\\x93\\xd2\\x6e\\x67\\x68\\xe3\\x77\\xe7\\xda\\x65\\xf4\\x69\\x97\\x36\\xae\\xfd\\xe3\\xcf\\xa5\\x7d\\xb4\\xf1\\xce\\xbb\\xb4\\x7f\\xe3\\xcf\\x77\\xff\\x1b\\xdb\\x01\\x94\\xf4\\xb9\\xf3\\xf8\\x72\\x65\\x9b\\x5d\\x48\\x7f\\xf8\\xf3\\x7d\\x30\\x5e\\xb3\\x97\\xf9\\x9f\\xd9\\xb6\\xfa\\x27\\xb6\\x03\\x99\\x74\\xb3\\xf3\\xc0\\x32\\xfa\\x21\\xd8\\xfe\\x96\\x37\\xaf\\x36\\x63\\xb5\\x31\\xd5\\xfb\\x78\\x37\\x7f\\xdc\\x1d\\x1a\\x3d\\xaf\\x56\\xf7\\x93\\xee\\x3e\\xc0\\xc0\\xbb\\xc9\\x3a\\x17\\x87\\xbe\\xe8\\x3c\\x73\\x09\\x7d\\x1f\\x9f\\x05\\xf7\\xd3\\x2e\\x3a\\xf3\\x59\\xed\\x99\\xcf\\x7c\\x15\\xe7\\xf9\\xf5\\x14\\x93\\xbc\\x41\\x6b\\x35\\xfe\\xec\\xef\\x52\\xfa\\x86\\xb2\\xa4\\x1a\\x2b\\xf0\\xb3\\x0b\\xf5\\x06\\x0a\\xbf\\x96\\x62\\x86\\x68\\xca\\x46\\xbd\\x8e\\xda\\xe3\\x8c\\x5f\\x4e\\x5f\\x74\\x79\\x73\\xd3\\x47\\xd5\\x91\\x09\\x82\\x53\\x77\\x9d\\x82\\xb3\\xbe\\x13\\xa1\\xd5\\x7d\\x27\\xc2\\xac\\xef\\x84\\xe7\\xd4\\x50\\xa7\\x9c\\xbc\\xc5\\xf4\\x39\\x3a\\x1e\\x34\\x54\\x75\\x07\\x8f\\x48\\xac\\xd3\\x50\\xdd\\x9a\\xfa\\xac\\x57\\x71\\x5c\\xa0\\xd9\\xb3\\x9f\\x54\\x34\\x50\\xea\\xd7\\x2d\\xa5\\xaf\\x81\\x52\\x67\\xf3\\x41\\xa9\\x5f\\xe2\\x11\\xc3\\x9c\\xa7\\xd9\\xa4\\x7f\\x6e\\x3b\\xb0\\xc5\\x3f\\x76\\xee\\x5e\\x46\\x3f\\xa6\\x56\\xd5\\xdb\\x6c\\x6e\\xf5\\x87\\x5e\\x91\\x54\\x73\\xa9\\x3b\\x51\\x6d\\xf4\\x7d\\x99\\x00\\xed\\x04\\xcc\\xc9\\x03\\x2c\\x9f\\xb3\\xcd\\x5f\\xba\\x98\\x6e\\x76\\xdb\\xbc\\x4b\\xf5\\x7e\\x8f\\xc8\\xac\\xde\\x2f\\xda\\xd4\\xe7\\xa3\\xc1\\x77\\x7a\\xea\\xb8\\x93\\xea\\x75\\x66\\xcf\\xa9\\x99\\x5e\\x5c\\x4a\\x37\\xc3\\x6c\\xa5\\xba\\xca\\x23\\xde\\x5c\\x45\\x1a\\x7c\\xcf\\xe8\\x3f\\xeb\\x3f\\xee\\xfc\\xfe\\x86\\x85\\xec\\x48\\x95\\x98\\xf3\\xe7\\xed\\x69\\xda\\xe0\\xa6\\xbe\\xff\\x54\\xf7\\x59\\xfc\\x99\\x04\\x9e\\xf5\\x5c\\xaa\\xbe\\x9a\\xbf\\x39\\x45\\x0b\\xe8\\x7d\\x74\\x76\\x15\\x7f\\xe6\\xf7\\x9a\\x8c\\x0c\\xf6\\x3e\\xcd\\xa1\\xcd\\x9a\\xf8\\x9e\\xd6\\xdf\\xf7\\xa3\\x00\\xad\\xf4\\x9b\\x73\\x57\\x05\\xad\\xa2\\x53\\x40\\x2b\\xd5\\xe4\\x0d\\x63\\xfb\\x50\\x2b\\x79\\xff\\xf7\\x7e\\xb4\\xcb\\xb9\\x77\\x1e\\xe8\\xe4\\x91\\x55\\x34\\x9a\\xf6\\xa9\\x79\\x66\\x04\\xfb\\xda\\x79\\x9a\\xdf\\xdf\\xe0\\xbb\\x70\\x81\\x6d\\xdd\\xe8\\xa1\\xc4\\x5f\\xb5\\xb5\\xdf\\x2c\\x8b\\xa9\\xf9\\x72\\x34\\xfb\\xba\\xe6\\x23\\xb1\\xb8\\xe9\\xef\\x6f\\xfd\\x47\\x6d\\xed\\x1f\\xd6\\x5f\\x2c\\xa7\\xaf\\x28\\x83\\xc3\\xd8\\x21\\xd5\\xd7\\x33\\xfe\\x8b\\xfb\\xbc\\x5e\\x1f\\x1f\\x70\\xc6\\x4d\\xa5\\x37\\xd0\\xcc\\x2a\\x98\\x7c\\xde\\xe5\\xcc\\xcd\\xa7\\x4b\\x54\\x7d\\x1b\\x7f\\xd7\\xf1\\xef\\xdb\\x5c\\x59\\x54\\x1c\\xfe\\xb9\\x33\\x6a\\x3c\\xbd\\xc3\\xed\\xd9\\x85\\x4e\\xac\\x53\\x30\\x8f\\x5e\\xc9\\x1e\\xfa\\xbe\\x89\\xef\\x62\\xfe\\x87\\x75\\x75\\xbb\\xe4\\x25\\x33\\xd9\\xc1\\x2a\\x56\\x56\\x73\\xe7\\x0c\\xb6\\x8d\\xb9\\x6b\\xfc\\x35\\xfe\\xae\\xe8\\x7f\\xd5\\x7f\\xb6\\x39\\x2f\\xcd\\xa6\\xf3\\x69\\x11\\xe8\\x21\\xe7\\xd9\\x6c\\x5a\\xae\\x44\\x61\\xe0\\x77\\x5a\\xff\\x59\\x1b\\x6f\\x9a\\xae\\x6a\\x0d\\xf4\\xbf\\x27\\x9b\\x5e\\xe9\\x6c\\x13\\xef\\x90\\x26\\xbf\\x93\\xf9\\xdf\\xb4\\xf1\\x54\\xba\\xa6\\x8a\\xf6\\x74\\x3e\\xc9\\xa5\\x2b\\xf8\\xdd\\xa4\\xd1\\x77\\x78\\xcf\\x7c\\xe6\\x68\\x68\\x50\\x8a\\xdd\\x62\\x9d\\xa5\\xac\\x68\\x9d\\x0a\\x86\\x09\\xc6\\x8d\\xb4\\x19\\xbd\\xb4\\x8a\\xbf\\x5a\\x9d\\x56\\x05\\x82\\xe2\\x1c\\xdf\\x31\\x56\\x4f\\x46\\x03\\xac\\x35\\xa5\\x52\\xbd\\xf5\\x06\\x9b\\xbb\\x1f\\x42\\x74\\xaf\\xfe\\xac\\x4a\\xf4\\xfa\\x90\\x9c\\xf3\\x7b\\xcb\\xff\\x89\\x4d\\x7f\\x12\\x0f\\x3a\\xab\\x68\\x7b\\x5a\\x5e\\xc5\\xd2\\x6a\\x5e\\xad\\x62\\x3f\\x33\\xf9\\xff\\x60\\xd3\\x55\\xd3\\x16\\x9d\\x5e\\x45\\xcf\\x73\\x3e\\xaa\\xa2\\xd3\\x21\\x8d\\x84\\x3a\\xb1\\x62\\x08\\xdd\\x09\\xc3\\x5b\\x28\\xe9\\x90\\x14\\x26\\x0c\\xe3\\x8d\\x50\\x1a\\x9a\\x64\\x86\\x0c\\x0b\\x0d\\x72\\x5f\\x90\\x64\\x59\\xdb\\x7b\\x67\\x79\\x94\\x88\\xd6\\xbb\\xf4\\xe8\\x82\\xff\\xc0\\xe2\\xce\\x09\\x49\\x71\\xaf\\xc4\\xa9\\x7f\\x13\\xf8\\x1a\\xad\\xf5\\xa7\\xb9\\xf0\\xdf\\xa7\\xdd\\xfc\\xbf\\x1b\\xc1\\xdf\\xd4\\xb5\\x90\\x86\\xbb\\xa8\\x0d\\x73\\x1e\\xd4\\x56\\x51\\x8f\\x1e\\xa3\\x7e\\x77\\xda\\xc3\\xfd\\xb4\\x88\\x1a\\x86\\x94\\x41\\x84\\xbb\\xef\\x92\\x8e\\xdc\\x30\\x4d\\x77\\x7f\\x06\\x50\\xff\\x5d\\x77\\xfc\\xb9\\x84\\xfa\\x09\\x80\\x96\\x10\\xa3\\xb3\\x67\\xf4\\x4d\\xe9\\x9a\\x33\\xb2\\x1d\\x2b\\x6f\\x27\\xc7\\xbb\\xdf\\xf1\\xdf\\x72\\xeb\\xad\\x4d\\xd9\\x75\\x1f\\xb7\\xfe\\xad\\x5d\\x3e\\x84\\x5a\\x61\\xd4\\xb5\\x9b\\xa9\\x5d\\xb6\\x59\\xff\\xc1\\x79\\xc4\\x6f\\xd7\\xfd\\x5d\\x45\\x9d\\xdd\\x5b\\x35\\x1f\\x4d\\x06\\xbb\\x51\\xa4\\x3d\\xf1\\x24\\xb5\\x69\\xdb\\xaa\\x55\\x4b\\xd3\\xec\\xd0\\x52\\x0b\\x49\\x0a\\x6e\\x36\\x2c\\x24\\x24\\xbc\\x55\\x6c\\x5b\\xda\\x36\\xdc\\x24\\x6e\\xca\\xb7\\xa8\\x9f\\x54\\xf4\\xb6\\xb6\\x28\\x1f\\xfe\\xd0\\x9b\\xfa\\x8e\\x7e\\x37\\xe5\\x77\\x42\\xfd\\x77\\xf4\\x3b\\x55\\x4e\\xa9\\xff\\x8e\\x7e\\xbc\\x73\\x8f\\xfb\\x73\\x8f\\x1f\\x35\\x9f\\xfa\\x9a\\xfe\\xfc\\x7c\\xf5\\x35\\xfd\\x8f\\xeb\\x7f\\xeb\\xf1\\x38\\xc4\\x33\\x41\\x8f\\x26\\x2d\\x49\\x0c\\x8c\\x93\\x83\\x93\\xda\\xb7\\xe9\\xd4\\xa9\\x77\\xb7\\x6e\\x91\\xa6\\xd9\\x37\\xaa\\x73\\xe7\\xf6\\x91\\x5a\\x70\\x70\\xf3\\x9e\\xed\\x49\\xfb\\x5b\\x32\\x9b\\xfb\\x83\\x72\\xeb\\xac\\xd6\\xbe\\xdb\\xa2\\xa6\\x57\\x18\\x99\\xd5\\x20\\xb8\\xf8\\x33\\xb1\\xf5\\x38\\xc7\\x0f\\x2d\\x0a\\x20\\x5a\\x0f\\x44\\x0b\\x11\\x3e\\xd7\\x27\\xa3\\x2e\\xd8\\xa2\\xb3\\x7e\\x78\\xe1\\x0f\\xfb\\x63\\x7f\\xd4\\x27\\x9a\\xfa\\xdd\\x0c\\x73\\x36\\x6a\\xcf\\xd0\\xc9\\x6a\\xbd\\xa1\\x70\\xd2\\x2d\\xa9\\x79\\x88\\x5a\\x97\\xa6\\x05\\x91\\x21\\x49\\x21\\xcd\\xae\\x9d\\x56\\xf7\\xf3\\xe6\\x33\\x3f\\x9a\\x81\\x96\\x0a\\x88\\xa4\\x55\\x82\\xbb\\x0e\\xe3\\xb6\\xd8\\xb4\\xf4\\xbe\\xb1\\xa9\\xc9\\xdd\\xe4\\xeb\\x30\\x19\\x71\\x56\\xc9\\x81\\xa9\\xfd\\xfa\\xa5\\x24\\xc7\\xf5\\x4b\\xad\\x8a\\xa1\\xcd\\xba\\x39\\xa7\\xc1\\xcf\\x47\\xda\\x25\\x74\\x20\\xf8\\x31\\x48\\x24\\xe9\\x97\\xd4\\xa6\\x45\\x48\\x08\\x21\\x42\\xb4\\x34\\xc3\\x92\\x9a\\x85\\x0f\\x0b\\x73\\x7b\\x76\\x18\\x71\\x3f\\xf1\\x72\\xfb\\x76\\xb8\\xb5\\xad\\x77\\x6f\\x4f\\xe0\\x0f\\x3e\\xea\\x7e\\xf3\\xa2\\x07\\xfe\\x10\\x66\\xa0\\xff\\xe7\\x2e\\x23\\x3f\\xf8\\xfd\\x38\\x06\\x20\\x7d\\xfe\\x1f\\xb9\\xd8\\x75\\xfe\\xd5\\x6f\\x83\\x9c\\x27\\xa0\\x3f\\x26\\xaa\\x3a\\xba\\xef\\x0f\\xf5\\x26\\x45\\xf8\\x7f\\x17\\xd4\\xb6\\x6d\\xeb\\xd6\\xed\\x49\\x48\\x48\\x8b\\x16\\xb2\\xb5\\x54\\x1d\\xb3\\x4d\\xeb\\xba\\x8e\\x59\\xd7\\x3c\\x2d\\xce\\xb4\\x4f\\xd3\\x6d\\xa1\\x43\\x8f\\x3d\\xeb\\x57\\x42\\x5f\\xa8\\xbe\\x3b\\xab\\x71\\xc6\\x77\\xaa\\x7e\\x4c\\x6b\\xdd\\x85\\x9c\\xbb\\xf0\\x27\\x49\\x18\\x19\\x99\\xd4\\x5d\\x87\\x9b\\x9b\\x87\\x85\\xb8\\x8b\\xa7\\x72\\xde\\x3c\\x3c\\x4c\\x93\\xda\\x98\\xcc\\x10\\x29\\x79\\x50\\x90\\x31\\x3a\\x33\\xa8\\xf1\\x2f\\xb2\\xd4\\x5a\\x83\\x0d\\xd6\\xd6\\xf6\\x2f\\xd0\\x86\\x4b\\x13\\x47\\xe0\\x7a\\xda\\xdc\\xd2\\xbb\\xd0\\x8b\\xdc\\xdf\\x6a\\x5d\\x78\\x53\\xf8\\xcd\\x03\\xdc\\xdf\\x6b\\x5d\\x78\\x55\\x8b\\xab\\xa6\\xb6\\x4e\\xa1\\x0f\\x14\\xd0\\xa1\\xad\\x53\\x9c\\x99\\x05\\xb8\\xae\\xc9\\x77\\xe2\\x6a\\xf9\\x59\\x8b\\xee\\x3c\\xc7\\x5d\\xe3\\x43\\xbf\\x9f\\x0e\\xa7\\x76\\x73\\x9d\\xad\\x24\\x9f\\xd7\\x1e\\xc2\\xe3\\x2b\\x03\\x8e\\xaf\\xa1\\x57\\x9e\\x75\\x3c\\xf0\\xfa\\xb5\\x34\\xe6\\x2f\\x8f\\xaf\\xa3\\xe3\\xcf\\x3e\\xae\\x5f\\x58\\x77\\x9c\\xdd\\x01\\xfb\\xdf\\x6a\\xae\\xab\\x38\\x1e\\xac\\xf3\\xdf\\xc4\\x71\\x37\\x8e\\x07\\xff\\xe2\\x7a\\x37\\x8e\\xbf\\x3a\\xee\\xc6\\xe1\\x1e\\x8f\\xaf\\xfd\\x9e\\xed\\x51\\xf1\\xcd\\x83\\xe3\\xdd\\xd9\\xca\\xe7\\x0e\\xb9\\xde\\x89\\xe9\\x7e\\x47\\xc1\\x7f\\x9c\\x67\\x9c\\x75\\x7c\\x0d\\x49\\x3a\\x73\\xbc\\x89\\xeb\\xd7\\x36\\xb8\\xbe\\xcf\\x59\\xc7\\xd7\\x91\\x0e\\x78\\x7c\\x34\\x5c\\xff\\x83\\x1e\\x5f\\x7f\\xfc\\x8e\\xe7\\x54\\xed\\x49\\x67\\x7a\\x43\\xdd\\x71\\x3e\\xe9\\xac\\xe3\\x6b\\xc8\\xd8\\x33\\xc7\\xd9\\x67\\x67\\x1d\\x5f\\x4b\\xc2\\x02\\xae\\xef\\x7f\\xd6\\xf1\\x75\\xa4\\x27\\x1e\\x4f\\x87\\xe3\\x2f\\xab\\xf8\\x16\\xfa\\xdb\\x9f\\x1c\\xc7\\xf6\\xb9\\x55\\xb5\\x0f\\x1c\\x17\\x66\\xc0\\xf1\\x35\\x94\\x37\\x3e\\xce\\x9f\\x09\\x38\\xbe\\x96\\x7c\\x76\\xd6\\xf1\\xda\\x80\\xe3\\xeb\\xce\\xb6\\xcf\\x5f\\x51\\xed\\xb3\\x10\\xdb\\xe7\\x56\\x7f\\xfb\\x93\\x9f\\x54\\xfb\\xb8\\xfe\\xdb\\x36\\x71\\x7c\\x0d\\x8d\\xac\\x3b\\xce\\x9f\\x69\\xe2\\xf8\\x5a\\xf2\\x4d\\xfd\\xf5\\x41\\x4d\\x1c\\x5f\\x47\\xfe\\x50\\xc7\\x55\\xfe\\xe5\\xae\\xba\\xfc\\x90\\xb9\\xcf\\x3d\\x1d\\xae\\x9b\\x9b\\xe8\\x2b\\xb5\\x4f\\x93\\xde\\x49\\xed\\x05\\x5f\\xd7\\x9b\\x2e\\xef\\x4d\\x93\\x7a\\xd3\\xe8\\xde\\xb4\\x77\\x92\\x19\\x3e\\xac\\x37\\xa3\\x11\\x49\\xcd\\x22\\x86\\x45\\x90\\xf0\\xde\\x5e\\x6f\\x78\\x6f\\xf7\\x05\\x0f\\x5e\\x2f\\x39\\xa7\\xad\\xcd\\xff\\xd8\\xd6\\x41\\xf9\\x66\\x43\\x5b\\x41\\x94\\xbe\\x42\\x7e\\x71\\x57\\x71\\x09\\xbc\\x8c\\x9c\\xfb\\x7c\\x72\\xce\\xf3\\xdd\\xbc\\xed\\x50\\xb1\\xaa\\xbc\\x90\\xb9\\x90\\x17\\x55\\x73\\x76\\x77\\x7d\\xb4\\x5e\\xba\\xdc\\x4b\\x93\\xbc\\x34\\xda\\x4b\\xbd\\x6e\\xb4\\x5e\\x46\\x3b\\xb8\\x66\\x3a\\x34\\x8c\\xf6\\x2f\\xed\\x6d\\xfe\\x1f\\xec\\x6d\\x51\\xf5\\x69\\x60\\x2f\\x88\\xb2\\xbb\\xb1\\x46\\x01\\x97\\xfe\\xc5\\xf9\\xe4\\x1c\\xe7\\xc3\\xdd\\xc7\\xa3\\xf5\\x9e\\x2d\\xba\\xbb\\x4f\\xd6\\xc2\\x75\\xb2\\x80\\x0c\\xa2\\xb7\\x93\\x56\\x49\\xa1\\xec\\xbe\\x28\\x7a\\x43\\x14\\x8d\\xa2\\x2b\\x42\\x68\\x08\\x09\\xcf\\xf2\\xba\\x0b\\xe5\\x28\\x9d\\x5c\\xfb\\x93\\x93\\xa6\\x6d\\xd7\\x86\\x92\\xee\\xee\\xba\\xdd\\xed\\x9a\\x87\\x87\\xb7\\x62\\x51\\x66\\x48\\x48\\xd7\\x98\\xa8\\x98\\x1e\\x3d\\x9b\\xb7\\x6b\\xd7\\xac\\x63\\xb3\\xec\\xcc\\x8e\\xa2\\x4d\\xab\\x99\\x99\\x6d\\x78\\x78\\x54\\x64\\xd4\\xcc\\xcc\\xc8\\x16\\x44\\x9f\\x95\\xc9\\x41\\xb0\\xf8\\x97\\x8c\\x3d\\xb3\\x62\\x0c\\xd2\\x4c\\x8b\\x80\\x25\\xf7\\x2d\\xf5\\x60\\x8b\\x76\\xee\\x11\\xe1\\x7f\\xb1\\x8f\\x7f\\xcd\\x6e\\xfd\\xcc\\x72\\xa5\\x3a\\xbe\\xb6\\x45\\xe7\\xcd\\x28\\xef\\x7f\\xcb\\xa4\\x7e\\x99\\x5a\\x97\\x21\\x8b\\xba\\xbc\\xdc\\xe2\\xa9\\x5b\\x3e\\xdf\\xb0\\x36\\xb8\\x66\\x71\\xe8\\xba\\xf7\\x1e\\x0e\\xa5\\x6f\\x19\\x57\\xec\\x2f\\xdc\\xf0\\x62\\xcb\\x7b\\x7a\\x1e\\x76\\xd2\\x3a\\xd2\\x16\\x0f\\xc5\\x6c\\x11\\xdd\\x66\\x75\\x7d\\xa4\\xa0\\x3a\\xa8\\xdd\\x70\\xff\\xf2\\xe4\\x4b\\xd2\\x92\\xae\\xbc\\x29\\xe6\\xca\\xea\\x65\\x07\\x0f\\xfa\\xeb\\xf6\\x83\\x93\\x21\\x05\\xe8\\xcd\\x18\\x92\\x93\\xe4\\x69\\x19\\x13\\x19\\xe9\\xae\\xe5\\x1d\\x1d\\xd5\\xaa\\x55\\x87\\xe0\\xf6\\x5a\\xfb\\x2e\\x9d\\x5b\\xc6\\xc4\\xb4\\xed\\xa4\\x91\\x0e\\x9d\\x3a\\xcc\\xcc\\x8c\\x62\\x9d\\x78\\xab\\xf6\\x6d\\xdb\\xcf\\xcc\\x6c\\xdb\\xc2\\x08\\x9f\\x99\\x19\\x62\\xb4\\xc7\\xa5\\x87\\x71\\xf5\\x66\\x5c\\xcd\\xbb\\x4e\\xf5\\x26\\x86\\xd7\\x2d\\x05\\x62\\xd5\\xad\\x6a\\xea\\x5f\\x7b\\x95\\x01\\x93\\xba\\x95\\x55\\x4b\\x75\\x0c\\xa1\\x67\\xd6\\x3a\\x8d\\xa1\\xe2\\xbd\\x75\\xa1\\x74\\x7f\\xe8\\xd3\\xc7\\x92\\x9c\\x7f\\x9d\\x7f\\x79\\xc7\\xbe\\x23\\x8c\\xb0\\xd4\\xce\\xc5\\xd7\\x45\\x44\\xd5\\x7c\\xfb\\xdc\\xba\\x10\\xa7\\x8b\\x5a\\xde\\x9b\\x3e\\x4d\\x9f\\x11\\x9f\\xb9\\x6b\\xfc\\xfe\\xb1\\xdd\\xb9\\x37\\x22\\x88\\x8a\\xdb\\x43\\x5b\\x2c\\x9a\\x77\\x89\\x18\\x5e\\x1d\\x52\\xb7\\x6a\\x6b\\xf5\\x65\\x4a\\xf7\\x3f\\x5a\\xfb\\xbd\\x6a\\xbb\\x1e\\x64\\x56\\x52\\x5c\\x98\\xd0\\xb4\\xf6\\xc1\\x41\\x20\\x8b\\x5b\\x45\\x06\\x45\\xf6\\xec\\xa5\\x05\\x19\\x41\\x33\\x33\\x0d\\xa3\\x6d\\x68\\xdb\\x98\\x99\\x99\\x1d\\xda\\x46\\x88\\xb0\\x30\\x16\\xce\\xb2\\x33\\xc3\\x85\\xff\\x85\\x10\\x24\\xa0\\xc9\\xd4\\x62\\xe5\\x4d\\xbf\\x33\\x01\\x1b\\xb0\\x51\\xa3\\xd5\\xad\\xc3\\xce\\x48\\x4c\\x5d\\xd3\\x5e\\x40\\xa1\\x71\\xc5\\xc3\\x2f\\xdc\\xf7\\xde\\x85\\x8f\\x04\\xd7\\x7c\\x18\\x3c\\x7b\\x96\\x6a\\xb6\\x13\\x9f\\xbe\\xf6\\x54\\xf0\\xb0\\x04\\xe7\\x51\\xe7\\x85\\x9d\\xd7\\x9f\\x3f\\x34\\x74\\xe6\\x65\\x97\\x3f\\x31\\x27\\x3a\\xdd\\x10\\xfc\\x8d\\x02\\x27\\xab\\x4d\\x72\\x72\\x1b\\xd6\\x19\\xda\\xee\\x8a\\xeb\\xae\\xed\\x93\\xe2\\xcc\\x71\\x3e\\x74\\x4e\\xf7\\xa4\\xe1\\xb7\\x27\\x4e\\x7b\\xfd\\x45\\xba\\xb2\\xaf\\x5f\\xcf\\xed\\x24\\xe9\\xa4\\x9a\\x5f\\xa1\\xde\\x21\\x17\\xfd\\x42\\x08\\x89\\x90\\xb2\\x4d\\x58\\xd0\\x2b\\x34\\x19\\x54\\xaa\\xa0\\xa9\\xee\\xe2\\xbf\\xf8\\xd3\\x55\\x0f\\x88\\x9a\\x48\\x26\\xdd\\xb7\\x1c\\xb6\\x80\\x10\\xfd\\x0b\\x9f\\xb0\\x96\\xee\\xe2\\x6a\\x2d\\xaa\\x27\\xdf\\x52\\xba\\x63\\xf2\\xea\\x92\\x5d\\x77\\x77\\xec\\xee\\x49\\xef\\x9f\\x1a\\x9f\\x16\\xcf\\x56\\x56\\x39\\x7b\\x6e\\x72\\xae\\xa7\\x9d\\x6f\\x3c\\x3e\\x76\\xfc\\x15\\xce\\xb6\\xb1\\xf7\\x5d\\x4f\\x63\\x55\\xdf\\x09\\x21\\xe3\\xc9\\x01\\xbe\\x9c\\x04\\x91\\xd8\\xa4\\xd0\\x20\\x98\\xf0\\x49\\xf7\\xa5\\xa4\\x3a\\x97\\xe6\\x8b\\x34\\xf9\\x19\\x90\\x75\\x20\\xfb\\x53\\xc0\\xb3\\xfb\\x9e\\x01\\xf7\\x21\\x70\\xdd\\x62\\x30\\x71\\xfd\\x12\\xfc\\x59\\xd2\\x41\\x84\\x4f\\xfe\\x57\\x88\\x93\\x10\\x72\\x5d\\xde\\x4d\\xc1\\x7f\\x4e\\x7d\\xb0\\x59\\x6a\\x6a\\x33\\x36\\xa8\\x57\\xca\\x55\\xae\\x7d\\x67\\x2f\\x19\\x4f\\xe3\\xf9\\x65\\x50\\xa3\\x5e\\x49\\x21\\xad\\x65\\x44\\x44\\xab\\x50\\x4a\\xdb\\x84\\x9a\\xcd\\xdd\\x6a\\xb5\\x22\\x54\\x19\\x77\\x57\\x63\\xa6\\x67\\x1a\\x21\\x21\\x26\\xe1\\x02\\xe6\\xb5\\xd5\\x42\\x76\\x5d\\x12\\xfc\\x4d\\xd0\\x8c\\xea\\x31\\xbb\\x1d\\x16\\xf9\\xe8\\xdd\\x63\\xfb\\xf4\\xf1\\x9e\\xd7\\xf7\\x82\\x98\\x05\\x17\\x2d\\x58\\x3e\\xfa\\xa6\\xbd\\x74\\xde\\xf8\\xb2\\xcb\\xef\\x5b\\x3d\\xdc\\x4e\\xee\\x54\\xf1\\x66\\xbb\\xfc\\xc9\\x17\\x5e\\x79\\xc5\\x8d\\xe0\\xf7\\x23\\x92\\x41\\xfb\\x80\\xdf\\xae\\x64\\x48\\x52\\x54\\xa7\\x90\\x10\\xd6\\xbc\\x43\\x07\\xb3\\x73\\xe7\\x56\\x8c\\x75\\x83\\xbf\\x42\\x43\\x5b\\x45\\xb4\\x85\\x0a\\x6e\\x00\\xd1\\xfa\\xa2\\x9b\\x59\\x8f\\x07\\x62\\x50\\x62\\xac\\x4e\\x2c\\xab\\xee\\xee\\x2e\\xff\\xd7\\xa3\\xb3\\x2b\\x5f\\xa1\\xe1\\xbd\\x76\\x2c\\x1d\\x42\\xe3\\x1b\\x05\\xa6\\xab\\x55\\xa2\\xc6\\x96\\xce\\x6d\\x97\\x6c\\xf6\\x4e\\x7a\\xc6\\x97\\xd6\\x6c\\xc8\\x15\\xfd\\x7a\\xdb\\xe7\\xc7\\x5e\\xd0\\xb9\\x28\\x73\\xfe\\x55\\xef\\x8f\\x9f\\xf8\\x52\\x46\\xbb\\xad\\x57\\xb4\\x79\\xad\\xdc\\x94\\xe3\\x85\\xfe\\x70\\x9c\\xb7\\xdd\\xc2\\x8d\\xed\\x66\\x8c\\x7d\\xa9\\x4b\\xf0\\xe4\\x8c\\x85\\x37\\xab\\xb9\\x11\\x28\\x02\\xc2\\x17\\x43\\x1b\\x84\\x91\\x01\\x49\\xad\\x78\\x68\\x30\\x67\\xee\\xcf\\xb6\\xf4\\x10\\x21\\x9a\\x83\\xd2\\x36\\x20\\xfc\\x60\\xf9\\x32\\x4d\\x22\\xcc\\x4d\\x97\\x6a\\x08\\xcb\\x3a\\xf3\\x03\\x6f\\xcb\\xfd\\xe5\\x39\\xa4\\x4d\\xef\\x02\\x99\\x83\\x09\\xb9\\x05\\x73\\x7f\\x2b\\x21\\xfe\\xba\\xf6\\xf7\\xb7\\x77\\x1e\\x6f\\x41\\xdf\\xbf\\x3e\\x6b\\x6c\\xd4\\x2d\\xce\\xa7\\x07\\x7a\\x86\\x1c\\xbf\\xf7\\xde\\xd9\\xac\\x67\\xcd\\x89\\xa5\\xf4\\xa0\\x73\\xfb\\xa1\\x54\\xc8\\xd3\\x7e\\x32\\x8c\\x76\\x05\\xdf\\x6d\\x49\\x62\\x52\\x44\\x9b\\xc8\\x48\\x23\\x2a\\x8c\\x73\\xc3\\x68\\x17\\x19\\x1e\\x0e\\xa3\\x48\\xeb\\x96\\x2f\\xd2\\xa4\\x0d\\xa1\\xa6\\x54\\x49\\xb2\\xfc\\x7d\\xa0\\xce\\x33\\xde\\x39\\xd0\\x15\\xf1\\xc7\\xdc\\xf5\\x79\\x82\\x7b\\xc8\\x5d\\xe4\\x1d\\x6e\\x1f\\xb3\\xf2\\xf2\\x97\\x1f\\x99\\x91\\xd7\\x2e\\xd9\\xe8\\x92\\xf6\\x68\\x79\\x72\\xef\\xd4\\x61\\x74\\x6d\\x6b\\xe7\\xe1\\x98\\x58\\x96\\x58\\x9e\\x7b\\xe5\\x2d\\xad\\x37\\x2f\\xec\\xb0\\xf5\\xa6\\xd6\\xf4\\xa1\\xeb\\x36\\x85\\xf9\\xef\\x81\\xef\\x55\\xbb\\xb9\\xef\\x8c\\xeb\\x42\\x06\\x26\\xb5\\x0c\\x6f\\xd3\\x86\\x77\\x34\\xa3\\xa2\\x38\\xef\\xda\\x39\\x3c\\x3c\\x3a\\x3a\\x22\\xa2\\x59\\xb0\\xee\\x76\\x9d\\x76\\xd0\\xb9\\xdc\\x76\\x73\\x9b\\x2d\\xf6\\x8c\\xe6\\xaf\\x8f\\xa9\\x87\\x7f\\x95\\xe3\\xfa\\x95\\xd3\\x25\\xde\\xca\\x92\\x47\\xaa\\xa5\\x1c\\x21\\x44\\xd9\\xab\\x6c\\x71\\xd1\\xab\\x45\\xd3\\x2f\\xea\\x3c\\x48\\x76\\xe9\\x3d\\x7c\\x7e\\x87\\x91\\xc3\\x67\\xe4\\xad\\xd9\\x3a\\xc9\\x3b\\x60\\x7a\\xf7\\x01\\x66\\xc6\\xcd\\x57\\xdf\\x50\\xb3\\xba\\xdd\\xeb\\x0b\\x3a\\xdc\\x75\\x75\\x8f\\xa2\\x19\\xd7\\x3c\\x4c\\xf5\\x8d\\x17\\xcf\\xba\\xbc\\x15\\xae\\xcf\\xdf\\x9b\\x4c\\xa0\\x77\\x42\\xde\\x0c\\x98\\x79\\x99\\xee\\x07\\x8f\\x54\\x4a\\x37\\x4d\\x29\\x1b\\x0c\\x77\\x01\\xc0\\x24\\x95\\xad\\x80\\xa5\\x37\\x39\\xb4\\x8d\\x4e\\xbb\\xd0\\x98\\x4b\\x93\\x7b\\x31\\x3b\\xc8\\xb9\\x70\\x3d\\xdd\\xe7\\x3c\\xc8\\x56\\xfc\\x9e\\x52\\xd3\\x81\\xdd\\xe6\\x9f\\xeb\\xec\\xc3\\x3e\\xdb\\x92\\x44\\x93\\xf3\\xc8\\xc4\\xa4\\x6e\\x4c\\x8b\\x8a\\x0a\\x6d\\xde\\xbd\\x79\\x50\\x77\\x0d\\xea\\xab\\x69\\x31\\x41\\x41\\xbd\\x59\\x68\\x68\\xcf\\x9e\\x33\\x5b\\xfb\\x5a\\x2f\\x6f\\xcd\\x5b\\xb7\\xd6\\x3b\\x46\\xb8\\xd9\\xe8\\x4a\\x74\\x1c\\x1f\\xa0\\x7d\\xb2\\xfc\\x1f\\x32\\xd0\\xba\\x64\\xf8\\x3f\\x0e\\x74\\x3f\\x64\\x57\\xcb\\x82\\xbb\\x1d\\x16\\xd7\\x4c\\x4a\\xa8\\x7b\\xa7\\x98\\xe6\\x4f\\x8a\\x9b\\x27\\x1e\\x89\\x4d\\x28\\x69\\x9f\\xfb\\xe3\\x2f\\x70\\xde\\xf7\\xad\\xc8\\x9f\\xd2\\xdb\\xbe\\xfe\\xda\\xb9\\x3e\\x67\\x6d\\x92\\x3d\\x28\\xba\\x9b\\x37\\x7e\\x66\\x9f\\x7e\\x57\\x4d\\x4f\\x4b\\x65\\x7b\\x9f\\xec\\x1b\\x31\\x7e\\xb0\\xf3\\x63\\xd1\\xcc\\x9c\\x8a\\x88\\x16\\x99\\xf1\\x73\\x2f\\x9e\\xb9\\x76\\x82\\x6f\\xea\\xf9\\xdd\\xe6\\x38\\xd1\\xf1\\xfd\\xf6\\x17\\x2e\\xf1\\xb7\\xe9\\x61\\xa8\\x57\\x4f\\xbe\\x42\\xbd\\x19\\x33\\x31\\x29\\xd2\\x6d\\x53\\xde\\x09\\x1a\\xb5\\x5b\\x97\\xf0\\xf0\\x98\\x18\\x68\\xd2\\x20\\x68\\xd2\\x54\\x77\\xb9\\x4c\\xa8\\xca\\x59\\x4d\\xda\\xa0\\x97\\xa9\\x37\\x98\\xf8\\xbb\\x59\\x7c\\x02\\x2e\\x6a\\x1b\\x81\\xcb\\x3e\\xa9\\x17\\xff\\x95\\x5e\\x5e\\xf8\\x52\\x51\\xce\\x38\\x68\\xd2\\x9e\\x71\\xc3\\x4a\\xda\\x0d\\x1f\\x31\\xbd\\xe8\\x9e\\x9d\\xb1\\xbd\\xe2\\x2e\\x98\\xd2\\x37\\xd1\\xe0\\x2b\\xee\\xbe\\xec\\xe6\\xdf\\x57\\xb5\\x7d\\x7d\\x41\\xfb\\x5b\\xaa\\x3a\\x97\\xe6\\x2d\\x7f\\xc8\\x39\\x94\\x5b\\x71\\x71\\xce\\xa5\\x51\\x03\\xdc\\x36\\xdd\\x22\\x05\\x3b\\x22\\xdd\\x77\\x6f\\xb7\\x4c\\x32\\x61\\x68\\x12\\x94\\xad\\xce\\xa4\\xa4\\x7e\\x71\\x30\\xf7\\xb9\\x0f\\x3b\\xe2\\xfe\\xaa\\x51\\x8a\\xb1\\xa0\\x43\\x7a\\xd3\\x95\\x6c\\x16\\x4b\\x6c\\x21\\xd5\\x3a\\x60\\xb4\\xb6\\x5c\\xcc\\x24\\x2f\\x6a\\x57\\x90\\x16\\x24\\x3e\\x29\\xba\\x99\\xe6\\xae\\x1a\\x18\\x61\\x04\\x07\\x37\\x57\\x0b\\x13\\xb0\\xe5\\x41\\xab\\x82\\x58\\x58\\x50\\xa7\\xa0\\x75\\x41\\x3b\\x82\\x44\\x90\\xbb\\x5e\\xee\\x96\\x2c\\x4f\\x40\\x4b\\x41\\x27\\xc1\\x3e\\x0a\\xa3\\x8b\\x1a\\x68\\xa0\\x93\\x5e\\x37\\x6c\\xe2\\x45\\x93\\x73\\x72\\x9a\\xa7\\x18\\x3d\\x32\\x07\\x0f\\xb1\\x34\\x5f\\xcb\\xfe\\x56\\xe2\\x30\\x23\\x6e\\x86\\x1e\\x36\\xc0\\xf2\\xdf\\x33\\xb5\\xaf\\xc2\\x74\\x7c\\x82\\x36\\x8c\\x68\\xd0\\x1b\\xfb\\x27\\xb5\\x14\\xfe\\x9f\\x91\\x6a\\x41\\xa6\\xee\\xae\\x14\\xeb\\x7e\\xd9\\x93\\xea\\x2f\\xd2\\xa8\\xa7\\xfd\\x75\\x01\\x76\\x6f\\x1d\\x1b\\xf0\\xa2\\x98\\x16\\x75\\x9f\\x0f\\xba\\x0b\\xe1\\x9a\\x34\\x46\\xa4\\xfd\\xb9\\x28\\x8c\\xfd\\xf9\\xfa\\x87\\x4e\\x52\\xcd\\x47\\xec\\xd9\\xb1\\xe2\\xb7\\x3f\\x0d\\xbe\\xa7\\x7a\\xbc\\xbf\\x2d\\xd7\\x8b\\x99\\xb4\\x56\\xdb\\x0a\\xbe\\x9a\\x91\\xa4\\xa4\\x6e\\xa6\\x11\\x1a\\x1a\\x14\\x24\\xa0\\xf3\\x87\\x85\\x1a\\x86\\xa0\\xee\\x1b\\x4c\\xa9\\x5c\\x1e\\xb2\\x2a\\x84\\x85\\x85\\x74\\x0a\\x59\\x17\\xb2\\x23\\x44\\x84\\xa8\\xa5\\x81\\xb7\\xf4\\xf6\\xd4\\x2d\\x93\\xe1\\xa9\\x7f\\xb9\\x81\\xe5\\x8e\\xa3\\x5a\\x42\\x37\\xcb\\xbd\\x4b\\x35\\x3a\\xe5\\x11\\xf1\\x43\\x0a\\xad\\x39\\x24\\x69\\xf8\\x6d\\xcf\\xcb\\xd8\\xcf\\x9c\\xef\\xb4\\xad\\x51\\xeb\\x83\\xd6\\xc7\\xd4\\xd4\\xc4\\x3c\\xf0\\x80\\xf2\\x7f\\x01\\xf8\\x6f\\x89\\xfe\\x53\\x92\\xba\\x87\\x00\\x57\\x99\\x66\\x68\\x28\\xcc\\xbf\\xc3\\xf4\\xe0\\x60\\xa6\\xb9\\x01\\x68\\xe6\\x72\\xb9\\x4a\\xb2\\x30\\xd9\\x49\\xae\\x93\\x3b\\xa4\\x90\\x8d\\x03\\xb0\\xce\\xac\\xfe\\xab\\xbb\\x0f\\x27\\x68\\x0f\\xad\\x8b\\x0a\\xe2\\x43\\x9a\\xb2\\x4e\\x3c\\x42\\x7f\\x01\\xcf\\x43\\x24\\x6d\\x7e\\xdb\\x0b\\x52\\x0b\\x0b\\x5a\\x1f\\xe5\\xac\\x7e\\xe0\\x01\\x37\\x06\\xac\\xff\\xab\\xda\\x36\\xc8\\x74\\x7b\\x32\\x3a\\xe9\\xfc\\x08\\xd3\\x6c\\xd5\\xac\\x19\\xa9\\x5b\\x6c\\xb8\\x83\\xce\\x98\\x6c\\x1b\\x11\\x9c\\x64\\x86\\x0e\\x0b\\x26\\x4d\\x45\\xb1\\xa7\\xf7\\x16\\xff\\x18\\x1a\\xf0\\x84\\xa2\\xee\\x33\\xf5\\xfa\\x3c\\x34\\xea\\x06\\xee\\xb2\\x45\\xce\\x7a\\x7f\\x52\\xe2\\x20\\x34\\xba\\x37\\x39\\x71\\xc8\\x90\\x8b\\xd2\\x83\\x3d\\xb2\\xe3\\x90\\xa8\\xa8\\xee\\x1e\\x31\\xd3\\x9f\\x21\\x3a\\x3d\\xbc\\x4f\\xf7\\xbe\\xf1\\xbc\\x53\\x9a\\x16\\x7c\\x7e\\xb3\\xc8\\x66\\x10\\xef\\x1b\\x22\\x99\\x0e\\xd7\\x7e\\x72\\x9f\\xdb\\x93\\xfc\\xa4\\xe4\\x0e\\x2d\\x5a\\xd4\\x07\\xdb\\xc9\\x6c\\xb3\\x3a\\xb3\\x85\\x69\\xb2\\xf6\\x91\\x91\\xcd\\x56\\x67\\x86\\x45\\x76\\x8a\\x8c\\x8d\\xe4\\x91\\x3a\\x23\\x61\\x32\\x56\\xba\\xc1\\xdf\\x0b\\xd5\\x87\\xf0\\x87\\xc8\\x99\\xaa\\x0a\\xc7\\xa5\\xee\\xaf\\xc4\\x76\\xcf\\x96\\xac\\xfa\\xe7\\x61\\xbd\\x1b\\x56\\x05\\xea\\x01\\x8a\\xc0\\xad\\x87\\xde\\x4d\\x3d\\x17\\x83\\x5a\\x04\\x3c\\x17\\x73\\xde\\xd0\\xbe\\x78\\xf3\\x76\\xad\\xdf\\x07\\xbf\\xd3\\xa5\\xbd\\x53\\x07\\xc4\\x77\\xcc\\x68\\x15\\x1a\\x1b\\x7b\\xdf\\x79\\x69\\x03\\x13\\x3a\\xf4\\x8c\\x6b\\x1e\\xdb\\x57\\x24\\xc7\\x6c\\xdc\\x18\\xb3\\x74\\xe9\\x89\\x4e\\xdd\\x3b\\x25\\x74\\x5a\\x0f\\xd8\\x35\\x6e\\x9d\\xbf\\xef\\x1d\\x11\\x23\\xa0\\xa5\\xdc\\xb6\\x6f\\x49\\x2e\\x4a\\xb2\\xa9\\x10\\x11\\x90\\xff\\xa8\\x16\\xc1\\xc1\\x61\\x54\\x86\\xdd\\x9c\\x29\\xee\\xa5\\x94\\xba\\xa9\\xa7\\x67\\x55\\xc0\\x1f\\xbe\\x54\\xe1\\xef\\xe9\\x9d\\xb5\\x3d\\xe0\\xcd\\x0f\\xf5\\x4f\\x47\\x55\\x67\\x54\\x0b\\xa4\\x24\\x58\\x4a\\xd5\\x26\\x58\\xcd\\xe8\\xe0\\x47\\xc4\\xf7\\x29\\x2c\\x61\\xd1\\xb5\\xda\\x30\\x2d\\x7f\\xe2\\xf8\\x8b\\xdb\\x5e\\xd8\\xea\\x61\\xd5\\x29\\xb7\\xcc\\xcb\\x8c\\x6a\\x33\\x60\\xc8\\x05\\x03\\x2b\\x96\\x37\\x11\\x1b\\xf4\\xc7\\xfa\\xd8\\x34\\x37\\x36\\x76\\xaf\\x46\\x35\\x37\\x36\\xed\\x1f\\xc5\\xa6\\xba\\x29\\x6f\\x14\\xdb\\x28\\x96\\xb2\\x56\\x3c\\xdc\\xb6\\x61\\x6c\\xaa\\xbf\\xae\\x08\\x08\\xae\\x2e\\xb6\\x6d\\x30\\x2e\\x75\\x26\\x93\\x93\\xe2\\x61\\x58\\x82\\xc1\\x29\\x3a\\xda\\x88\\x8a\\xea\\xd2\\xa9\\x75\\xeb\\xf6\\x2c\\xa2\\xfd\\xcd\\x99\\xcd\\x4d\\xe6\\x46\\xc7\\xc2\\x22\\x62\\x23\\x96\\x47\\xac\\x8a\\xb8\\x37\\x42\\x0b\\x8b\\xe8\\x14\\x31\\x24\\x62\\x5d\\xc4\\x8e\\x88\\xe3\\x11\\x32\\xc2\\x1f\\xdd\\x16\\xab\\x41\\x74\\x67\\x9e\\xb1\\x35\\x31\\x74\\x45\\x34\\x0a\\x77\\xdc\\xe0\\xb8\\x01\\x03\\x86\\x27\\x19\\x7d\\xf5\\x76\\xf1\\x5d\\x3b\\x59\\xfd\\x1b\\xc6\\xfd\\x4a\\x78\\xf7\\xe8\\xde\\x1e\\xb7\\xeb\\x06\\x45\\xb7\\x0f\\x73\\x1a\\xa4\\x17\\xea\\xf0\\xb5\\x18\\x49\\x87\\x41\\x3f\\x6e\\x09\\xba\\x20\\x2f\\x29\\xb9\\x73\\x9b\\x36\\x91\\xa6\\xd9\\x95\\x34\\x5f\\x9d\\x69\\x04\\x13\\x12\\x1c\\xd3\\x36\\xa2\\x6d\\x44\\xc7\\xe0\\xa8\\x8e\\x37\\x67\\x06\\x6b\\xab\\x33\\x83\\xdd\\x27\\x93\\xc1\\xee\\x93\\xc9\\xe0\\xb0\\xa8\\xe5\\x51\\xab\\xa2\\xee\\x8d\\x12\\x61\\x51\\x9d\\xa2\\x86\\x44\\xad\\x8b\\xda\\x11\\x75\\x3c\\x4a\\x46\\xa9\\xe1\\xd7\\x5d\\xb1\\xae\\xee\\x45\\x03\\x5b\\xc2\\xdd\\x2f\\x78\\x04\\xbe\\x1b\\xa0\\x89\\xde\\xab\\xa9\\x45\\x8c\\xb1\\x46\\x72\\xf1\\x99\\x0e\\x7c\\xff\\x79\\x69\\x03\\xb0\\x03\\x3b\\x1f\\x94\\x5f\\xce\\xe3\\xf5\\x82\\x89\\x93\\x16\\x47\\xc5\\x9f\\xaf\\x79\\x02\\xfb\\xf1\\x37\\x33\\xc6\\x76\\x89\\xb5\\xec\\xbe\\x3b\\xd5\\x7a\\xa6\\x2f\\x35\\x58\\x2f\\xb6\\xbb\\x38\\x71\\x99\\x7f\\x95\\xd5\\x5b\\x6b\\xb7\\x34\\x71\\x5c\\xba\\xc7\\x9b\\x5c\\x97\\xf6\\x27\\x98\\xd3\\x85\\x34\\xb1\\xff\\x28\\x1b\\xcc\\x7e\\x54\\xfb\\x87\\xb8\\xeb\\xa3\\xb6\\xe8\\x6e\\xfc\\xa2\\xf6\\x1f\\x63\\xf3\\xd1\\xce\\xe8\\x06\\xfb\\x7f\\x64\\x57\\xe2\\xfe\\x35\\x0d\\xf6\\xff\\xc0\\xae\\x26\\x21\\x67\\xaf\\x93\\xdc\\xf4\\x9a\\xc0\\x44\\xd6\\xac\\x70\\x92\\xe8\\xa0\\xda\\x1f\\xf1\\xbd\\xce\\xb1\\x64\\x20\\x19\\x02\\xb3\\x8b\\xd6\\xdc\\x34\\x07\\xf5\\x68\\xde\\x87\\xae\\xef\\xf3\\x66\\x1f\\xd6\\x27\\xa6\\x5d\\x3b\\xab\\x65\\x58\\xd8\\xe0\\x44\\x4b\\xad\\x4b\\xe9\\x97\\x29\\xdb\\xb2\\xe6\\x7b\\x3c\\x9e\\x58\\x35\\x11\\x3b\\xb3\\x46\\x10\\x0f\\x28\\x77\\x0b\\x28\\x07\\xae\\x23\\x14\\x11\\x50\\xa6\\x11\\x16\\xaf\\xf9\\x6c\\x40\\xf7\\x1e\\x89\\xfd\\x7b\\xf6\\xec\\x3f\\xb5\\x7f\\x4f\\x7f\\x81\\x1a\\xf5\\xa5\\xb7\\xea\\x4a\\xb1\\x75\\x67\\x39\\xc7\\x32\\x56\\xa5\\x3b\\x4f\\xf6\\x4a\\xe8\\xdf\\xb3\\xeb\\x80\\x01\\x54\\xeb\\xd5\\xbf\\x7f\\x2f\\x28\\x74\\xc5\\xed\\x56\\xdc\\xd2\\x48\\x3c\\xc3\\xf9\\x9a\\xde\\xe0\\x94\\xba\\xe3\\x92\\xa8\\x79\\x03\\xea\\xdb\\x05\\xea\\xeb\\x5f\\x43\\xab\\x13\\x89\\x49\\x0a\\xe7\\x84\\xb4\\xd7\\x9b\\x87\\xd2\\xf5\\xa1\\x6f\\x86\\xb2\\xd0\\x0e\\x6d\\x22\\xdc\\x4a\\x6e\\x71\\x6b\\x97\\xe8\\xd6\\x4e\\x03\\x71\\xfc\\x97\\xd1\\x7f\\x42\\x33\\xda\\x38\\x2f\\xb3\\xca\\xa6\\xe3\\xf4\\xae\\x5c\\xf3\\x57\\xf1\\xbc\\x80\\xf1\\xe8\\x24\\x02\\xa2\\xe9\\x42\\x3a\\x25\\x35\\xa7\\x34\\x3a\\xb8\\x79\\x38\\x5d\\x1f\\xfe\\x66\\x38\\x0b\\x8f\\xe9\\xd0\\x2a\\x20\\x1c\\x97\\x78\\x5c\\x71\\xda\\x45\\xff\\xab\\x88\\x1c\\xb3\\xe5\\x9c\\x36\\x74\\x52\\x9b\\xd9\\x91\\xf4\\xee\\x73\\x24\\x6f\\x6b\\xe5\\xca\\x95\\x95\\x7d\\xce\\x19\\x18\\x23\\x2d\\x6b\\x0f\\xf2\\x63\\xda\\xbf\\xc9\\xf9\\xee\\xdb\\x7c\\xa9\\x5a\\x06\\x5d\\x97\\x1d\\x59\\xab\\x8e\\x5c\\x6f\\xc6\\xbb\\xc0\\xed\\x96\\x70\\x01\\x4f\\xe8\\xcb\\x01\\xdd\\xd7\\xdc\\x52\\xe9\\x4e\\xb6\\x59\\x42\\x7c\\xf7\\x1e\\xcd\\x38\\xbf\\x3d\\x22\\xa9\\xcf\\x90\\xf1\\x21\\x41\\x51\\x9e\\xa1\\x3d\\x63\\x53\\xbb\\x8a\\xf0\\x56\\x85\\xab\\x9f\\xcf\\xcd\\xb9\\x63\\x56\\x4c\\xab\\xf0\\x8b\\x4a\\xaf\\x1e\\xda\\xf2\\xbc\\x76\\x46\\x50\\x48\\xda\\xbc\\x1b\\xa7\\x8d\\xb8\\x3a\\xa4\\xe6\\xc2\\xae\\x03\\x47\\xf5\\x18\\x36\\x28\\x2e\\xac\\x4d\\xfc\\xec\\xf6\\x03\\x13\\xfb\\x69\\x21\\xe1\\xed\\x86\\xf5\\xef\\x33\\x7a\\xc4\\xa8\\xde\\x9e\\x9c\\x92\\x15\\x63\\x7c\\x8f\\x95\\x0f\\xec\\x5f\\xbc\\xa6\\x70\\x42\\xd5\\xbc\\x8b\\x3a\\xb4\\x49\\x1f\\x3b\\x35\\x76\\xd0\\x9c\\x11\\xbd\\x93\\x43\\xaa\\x2f\\x78\\x62\\xcd\\x79\\x63\\xca\\x86\\x55\\xbc\\x3d\\x31\\x32\\x75\\xe6\\x42\\xf5\\xee\\xa9\\xa3\\xf2\\x6e\\xad\\x25\\xb4\\x6d\\x1f\\x50\\x73\\xae\\x86\\x8f\\xf4\\x3f\\x02\\x50\\x6f\\xa2\\x51\\x12\\xb4\\x47\\x9d\\x0e\\x75\\x9f\\xdd\\x2b\\x1d\\x1a\\xef\\x1e\\x96\\x87\\xdb\\x6a\\xf7\\xb4\\xad\\xe9\\x32\\xad\\x57\\xce\\x2c\\x63\\x0e\\x0d\\x5a\\x5d\\x1c\\xea\\xdc\\xd3\\xf6\\x8e\\x83\\x33\\x4b\\xf5\\x5b\\x3f\\xcf\\x2b\\x0b\\xcd\\xa9\\x08\\xa5\\x97\\xe5\\x47\\x4d\\x4b\\x5d\\xd3\\x22\\x9f\\x86\\xe4\\x47\\x89\\xe5\\xb7\\xde\\x5a\\x9d\\x99\\x9d\\x71\\xf9\\x79\\x2c\\xa5\\x7a\\x5d\\x9b\\x94\\x75\\xef\\x64\\x4f\\x7c\\xbe\\x38\\x3f\\x34\\x8b\\xf5\\x69\\x9d\\x52\\xf3\\x6e\\x79\\xaf\\xec\\xc7\\x86\\xb3\\x54\\x28\\x10\\xff\\x3b\\xb1\\x8e\\x8a\\x4c\\x15\\x57\\x87\\x33\\x71\\xc5\\x07\\x86\\x55\\x1f\\xd1\\xe1\\xb6\\x7c\\x6a\\xdb\\x9a\\x4e\\xd3\\x92\\xee\\xeb\\x32\\x17\\xc3\\x30\\xee\\x3c\\x70\\x26\\x02\\x74\\xbc\\x6a\\x22\\xbb\\xc8\\xf5\\xbb\\xfe\\xdd\\xe2\\xfc\\x88\\xe9\\xac\\xa7\\x72\\x4a\\xfc\\x9f\\x32\\x93\\x88\\xcf\\x09\\xe5\\xa3\\xe0\\xb6\\x37\\xf5\\x0f\\xc0\\x67\\xd7\\xda\\x67\\x01\\x07\\xd4\\xee\\x03\\x1c\\xe4\\x22\\x1f\\xe8\\xee\\xe1\\xc9\\xaa\\x9c\\xa6\\xca\\x43\\x15\\x8e\\x56\\x38\\x59\\xed\\xcf\\x02\\x8c\\x24\\x91\\xb5\\xab\\x60\\x1e\\xc0\\x15\\x26\\x28\\x4c\\xac\\x2d\\x00\\x1c\\x50\\x9b\\x06\\x38\\x48\\xed\\xc9\\x54\\x7b\\xa6\\x2a\\x9c\\xee\\xa2\\xfe\\x35\\x60\\x2f\\xb8\\x6a\\x1f\\x60\\x98\\xf3\\x1b\\x60\\xb8\\xc2\\xae\\x70\\x55\\x2c\\xec\\x7f\\x16\\x30\\x01\\x8e\\xc6\\x82\\x35\\xb7\\x3c\\x40\\xe1\\x20\\x85\\xd3\\x5d\\x04\\x0b\\xab\\x88\\xa5\\xce\\xb4\\x94\\x05\\x4b\\x59\\xb0\\xc0\\x42\\x01\\xf1\\xc2\\x55\\xfb\\x00\\x07\\x28\\x1c\\xa4\\x70\\x3a\\x60\\x02\\x09\\x03\\xfb\\x09\\xa4\\xb9\\xc2\\x70\\x85\\x1d\\xe0\\xfc\\x04\\xd2\\x51\\x61\\x57\\xb0\\x99\\x40\\x3c\\xea\\xcc\\x34\\x75\\x34\\x43\\xe1\\x30\\x85\\x23\\xc1\\x57\\x02\\x19\\xa7\\xca\\x13\\x55\\x79\\x92\\x2a\\x4f\\x51\\xe5\\xa9\\x0a\\xdd\\xd8\\x12\\x55\\xbd\\x12\\x55\\x54\\x89\\xe0\\x6b\\x15\\x60\\xb8\\x2a\\xbb\\xbe\\x12\\x95\\xaf\\x44\\x15\\x67\\x22\\x78\\xe9\\x00\\x38\\x4c\\xe1\\x48\\x75\\xe6\\x38\\x55\\x9e\\xa8\\xca\\x53\\x14\\xba\\x19\\x1b\\xa0\\x6c\\x0e\\x80\\xf8\\xdd\\x72\\x73\\xf0\\x32\\x00\\xe2\\x77\\xcb\\x1d\\xe0\\x9c\\x01\\x60\\xd3\\xc5\\xae\\x6a\\x4f\\x9a\\xc2\\x61\\x0a\\x47\\xaa\\x33\\xc7\\xa9\\xf2\\x44\\x85\\x53\\xd4\\x99\\xd3\\x01\\x07\\xa9\\xec\\x0d\\x52\\x39\\x19\\xa4\\x72\\x32\\x48\\xd9\\x1c\\x04\\x36\\xdd\\x72\\x47\\x85\\x5d\\xd5\\x9e\\x34\\x55\\x76\\xe3\\x1c\\xa4\\xe2\\x1c\\xa4\\xe2\\x1c\\x44\\xc6\\xab\\xa3\\x13\\x54\\x79\\x8a\\x3a\\x27\\x13\\x70\\x38\\x19\\x0e\\xd1\\x0e\\xd7\\xbf\\x26\\xf3\\xc9\\x44\\xb0\\xbf\\x0a\\x30\\xdc\\x45\\xd8\\x33\\x92\\x64\\xc2\\x9e\\x67\\x01\\xc3\\x01\\xa7\\xaa\\xf2\\x54\\x55\\x9e\\xae\\xca\\xd3\\xdd\\x32\\x1f\\xe8\\xf6\\x28\\x3e\\x90\\x8f\\xa8\\xdd\\x0e\\x38\\x4e\\xe1\\xa4\\xda\\x29\\x80\\x93\\x6b\\x53\\x00\\xa7\\xa8\\x3d\\x59\\xaa\\x9c\\x57\\xbb\\x01\\xd0\\x57\\x5b\\x00\\xb8\\xb8\\xf6\\x55\\x9e\\x04\\xe7\\xdc\\x06\\x98\\x05\\x98\\xcc\\x53\\xc9\\x5d\\x80\\x90\\x13\\xc0\\xa1\\x0a\\x47\\x2b\\x9c\\x51\\x9b\\x01\\x38\\xab\\x76\\x2b\\x60\\xb6\\xc2\\x1c\\xb5\\x27\\x5f\\x61\\xa1\\xda\\x33\\x4f\\x61\\x91\\xc2\\x12\\x85\\xf3\\xd5\\xd1\\x4a\\x85\\x8b\\x14\\x2e\\x03\\x4c\\x01\\x8f\\x6b\\x78\\x9a\\x8a\\x39\\x4d\\xc5\\x9c\\xa6\\x62\\x4e\\x53\\x31\\xa7\\xa9\\x98\\xd3\\x54\\xcc\\x69\\x2a\\xe6\\x34\\x15\\x73\\x9a\\x8a\\x39\\x4d\\xc5\\x9c\\xe6\\xde\\x11\\x3c\\xc3\\x6d\\x65\\xc0\\x30\\xe7\\x0f\\xc0\\x70\\x17\\x55\\xfc\\x19\\x3c\\xcd\\xd9\\x0e\\x38\\xd4\\x39\\x05\\x38\\x5a\\x95\\xe7\\x41\\x96\\x86\\x2a\\x8f\\x43\\xc1\\xe3\\xa7\\x80\\xe3\\x14\\x4e\\xaa\\xad\\x04\\x74\\x3d\\x0e\\x55\\xbe\\x46\\x40\\xdd\\x1f\\x06\\x1c\\x0a\\x47\\x47\\x40\\xdd\\xdd\\xb2\\x9b\\x9f\\x11\\x2a\\x3f\\xa3\\xe0\\xda\\x87\\x01\\xc7\\x29\\x9c\\x02\\x31\\x8c\\x82\\xcc\\x6c\\x04\\xcc\\x51\\x98\\xaf\\xb0\\x40\\xe1\\x5c\\x85\\xa5\\x0a\\xe7\\x2b\\xac\\x54\\xb8\\x48\\xe1\\x52\\x85\\xcb\\x14\\xae\\x00\\x1c\\xad\\x62\\x1b\\xad\\xb2\\x31\\x5a\\x65\\x63\\xb4\\xca\\xc6\\x68\\x15\\xdb\\x68\\x15\\xdb\\x38\\x18\\x67\\x1e\\x06\\x4c\\x53\\xe8\\x46\\x38\\x4e\\x45\\x38\\x4e\\x45\\x38\\x4e\\x45\\x38\\xc1\\xed\\xa5\\x80\\x6e\\x4e\\x26\\xa8\\x9c\\x4c\\x80\\x6c\\x7c\\x0c\\x38\\xb4\\x36\\x04\\x70\\x34\\x94\\x27\\xf2\\x05\\x70\\xd5\\x24\\xe8\\x3f\\x19\\x80\\xcd\\x15\\x86\\x2b\\x84\\x3b\\x0e\\xb0\\xa3\\x8b\\x90\\xc9\\xcd\\x80\\x69\\xb5\\x33\\x00\\x87\\xd6\\xe6\\x02\\x8e\\x80\\x6c\\x4f\\x02\\x8f\\xee\\x9e\\x71\\xaa\\x3c\\x45\\xe1\\x34\\x85\\x6e\\x0f\\x99\\xc4\\x67\\x2a\\xcc\\x51\\x98\\xaf\\x70\\x8e\\xc2\\x42\\x88\\x6a\\x92\\x6a\\x85\\x49\\xd0\\x37\\x5c\\x9c\\xaf\\xf6\\x57\\x2a\\x5c\\xa8\\xf6\\x2c\\x52\\xe5\\xc5\\xaa\\xbc\\x44\\xe1\\xc5\\x24\\x1f\\xf0\\x12\\x55\\x5e\\xa6\\x8e\\x2e\\x87\\xf2\\x64\\x15\\xf9\\x64\\x15\\xf9\\x64\\x15\\xf9\\x64\\x88\\xdc\\xc5\\x8e\\x2e\\xaa\\x3e\\x30\\x59\\xf5\\xe1\\xc9\\x10\\xf9\\x4a\\xc0\\x11\\xb5\\xfb\\x01\\x47\\xab\\x3d\\xe3\\x54\\xd9\\xed\\x5d\\x93\\x55\\xcc\\x93\\x55\\xaf\\x9e\\xac\\x7a\\xf5\\x64\\x15\\xf9\\x64\\xe8\\x6f\\x95\\x80\\xf9\\xaa\\x5c\\xa8\\xf6\\xcf\\x53\\x58\\xa4\\xb0\\x44\\xe1\\x7c\\x75\\xb4\\x52\\xe1\\x22\\x85\\x6e\\x84\\x53\\x54\\xeb\\x4c\\x81\\x16\\xa9\\x04\\xcc\\x02\\x9c\\x0a\\x5e\\x56\\x02\\xe6\\x28\\xcc\\x57\\x38\\x17\\xda\\x6e\\x2a\\x58\\x70\\xcb\\x95\\x0a\\x17\\x29\\x5c\\xaa\\x70\\x99\\xc2\\x15\\x80\\xd3\\xd4\\x9d\\x32\\x0d\\xec\\xac\\xe1\\x59\\xaa\\x5e\\x59\\xaa\\x5e\\x59\\xaa\\x5e\\x59\\xaa\\x5e\\x59\\xaa\\x5e\\x59\\xaa\\x5e\\x59\\xaa\\x5e\\x59\\xaa\\x5e\\x59\\xaa\\x5e\\x59\\xaa\\x5e\\x59\\xaa\\x5e\\x59\\xaa\\x46\\x59\\xaa\\x46\\x59\\xaa\\x46\\x59\\xaa\\x46\\x59\\xaa\\x46\\x59\\xaa\\x46\\x59\\xaa\\x46\\x59\\xaa\\x46\\x59\\xaa\\x46\\xf9\\xbc\\x18\\xda\\x37\\x9f\\x97\\x81\\xfe\\xcd\\x87\\x9e\\xe3\\xe2\\x62\\xe8\\xb1\\x05\\xe0\\xe5\\x0e\\xc0\\x59\\xb5\\xef\\x00\\xe6\\xa8\\x72\\x5e\\xed\\xe3\\x80\\xf9\\x0a\\x0b\\xd5\\xfe\\xb9\\xaa\\x3c\\x4f\\x95\\x8b\\x14\\xfa\\xd4\\x9e\\xf9\\xea\\xfc\\x32\\xc8\\x43\\x01\\x78\\x74\\xcb\\x0b\\x6a\\x27\\x01\\x2e\\x52\\xe5\\xa5\\x0a\\x97\\x29\\x5c\\x01\\x58\\x04\\xbe\\x3e\\x05\\xcc\\x51\\x98\\xaf\\xb0\\x40\\x61\\xa9\\xc2\\xf9\\x0a\\x2b\\x14\\x56\\x2a\\x5c\\xa4\\x70\\xa9\\xc2\\x65\\x0a\\x57\\x00\\x16\\xf3\\xd9\\xb5\\x07\\x00\\xf3\\xa1\\x46\\xc5\\x60\\xe1\\x47\\xc0\\xd2\\xda\\x23\\x80\\x15\\xb5\\x7b\\x01\\x2b\\xd5\\xfe\\x85\\xea\\x9c\\x4b\\x14\\x2e\\x07\\x2c\\x05\\xef\\xdb\\x01\\x73\\x14\\xe6\\x2b\\x2c\\x50\\x58\\xaa\\x70\\xbe\\xc2\\x0a\\x85\\x95\\x0a\\x17\\x29\\x5c\\x06\\x38\\x5f\\x65\\x6f\\xbe\\xca\\xde\\x7c\\x95\\xbd\\xf9\\x2a\\x7b\\x65\\x70\\xd5\\x21\\x5e\\xae\\xca\\x0b\\xc0\\xfe\\x21\\xc0\\x1c\\x85\\xf9\\x0a\\xe7\\x2b\\xac\\x50\\x58\\xa9\\x70\\x91\\xc2\\xa5\\x0a\\x97\\x29\\x5c\\x01\\xb8\\x48\\xd9\\x5f\\xa4\\x2c\\x2f\\x52\\xd6\\x16\\xab\\x11\\x69\\xb1\\x1a\\x91\\x16\\xab\\x11\\x69\\x31\\x44\\x7b\\x00\\x70\\xbe\\x2a\\x57\\xa8\\x72\\xa5\\x2a\\x2f\\x52\\xe5\\xa5\\xaa\\xbc\\x4c\\xa1\\x3b\\x16\\x2d\\x55\\xd1\\x2e\\x55\\x36\\x97\\x2a\\x9b\\xcb\\x94\\x97\\x65\\x6a\\xff\\x32\\xb5\\x7f\\x99\\xda\\xbf\\x42\\xed\\x59\\xa1\\xf6\\xac\\x50\\x7b\\x9e\\x85\\x7b\\x73\\x39\\x60\\x78\\x6d\\x3e\\x60\\x07\\x62\\xf1\\x97\\x61\\xac\\x36\\xf8\\x2b\\x80\\x23\\xf9\\x46\\xfe\\x16\\xe9\\x00\\xf8\\x6e\\xed\\x61\\xc0\\x1d\\x30\\xaa\\x6f\\xe4\\x1f\\x42\\x96\\x36\\xf2\\x5d\\x0a\\x77\\xab\\x3d\\x7b\\xc0\\xc2\\x46\\xbe\\x17\\x46\\xb3\\x8d\\xfc\\x13\\x55\\xfe\\x02\\xfa\\xc0\\x46\\x7e\\x00\\xa2\\xdd\\xc8\\x0f\\x2a\\xfc\\x46\\xe1\\x71\\x85\\x27\\x15\\x9e\\x02\\x5e\\xd8\\xc8\\x7f\\x51\\x65\\xc7\\x45\\xf0\\x18\\xc7\\x37\\xf1\\x8d\\xb5\\xef\\x01\\xbe\\x45\\xda\\x00\\xbe\\x4b\\x46\\x02\\xee\\xa9\\x5d\\x0b\\xb8\\x57\\xed\\xff\\x08\\x22\\xd9\\x04\\x5e\\xdc\\xf2\\x3e\\xe8\\x9f\\x9b\\xc0\\xd7\\x21\\xc0\\xc3\\xea\\xfc\\x53\\xd0\\x37\\x36\\x09\\x42\\x62\\xf9\\x66\\xb0\\xb3\\x01\\xf0\\xad\\xda\\x9b\\x01\\xdf\\x01\\x0b\\x9b\\xa1\\x16\\x2f\\x03\\xee\\xa8\\xbd\\x0f\\x70\\x97\\xc2\\xdd\\x70\\x57\\x6e\\x06\\xfb\\xe3\\x00\\xf7\\xd6\\x2e\\x04\\xfc\\x08\\xea\\xb5\\x19\\xec\\x5f\\x09\\xb8\\xaf\\xf6\\x1e\\xc0\\xaf\\xd4\\x99\\xae\\xfd\\xcd\\xfc\\x07\\xf0\\xbe\\x99\\xff\\xac\\xca\\xa7\\xc1\\xef\\x66\\xfe\\x9b\\x5b\\x06\\x8f\\x6d\\xf8\\x16\\x95\\xc9\\x2d\\x2a\\x93\\x5b\\x54\\x26\\xb7\\x40\\x0c\\x50\\x86\\x18\\x5c\\x7c\\x97\\xf4\\x00\\xdc\\x56\\x5b\\x0e\\xb8\\x1d\\xbc\\x6c\\x81\\x48\\x0e\\x03\\x7e\\xa5\\xf0\\x80\\xda\\x73\\x08\\x62\\xde\\xc2\\x0f\\x43\\xdb\\x6d\\x81\\x8c\\x6d\\x06\\x3c\\x06\\x77\\xc1\\x16\\xfe\\x3d\\xd4\\x62\\x0b\\x78\\x5f\\x0b\\xf8\\xa3\\xda\\x7f\\xbc\\xf6\\x56\\xc0\\x13\\x90\\x81\\x2d\\x50\\xeb\\x47\\x01\\xab\\xd5\\x39\\x35\\x90\\xf9\\x2d\\xbc\\xb6\\x76\\x29\\xdf\\x22\\x08\\x9c\\xff\\x16\\xd4\\xeb\\x53\\xc0\\x53\\x10\\xcf\\xdb\\x90\\x81\\x43\\xfc\\x1d\\xf0\\x7b\\x33\\xe0\\x2e\\x85\\x7b\\x20\\x27\\xef\\x40\\x7d\\x5d\\x3c\\x0e\\x91\\xbc\\x03\\xd6\\x20\\x53\\x7c\\x37\\xd4\\xe8\\x5d\\x38\\x7a\\x18\\xf0\\x13\\xb0\\xf9\\x2e\\x64\\xa0\\x1d\\xdf\\xaa\\xb2\\xb7\\x55\\x65\\x6f\\xab\\x3a\\xba\\x15\\xec\\x4f\\x07\\xfc\\x42\\x95\\xbf\\x81\\x5a\\x6c\\x05\\x3b\\x1b\\x00\\x4f\\xaa\\xb2\\x1b\\xdb\\x56\\x68\\xdf\\xed\\x7c\\x1b\\xc4\\xd0\\x83\\x6f\\x87\\xf3\\xb7\\x03\\x1e\\x80\\x48\\xb6\\xc3\\xf9\\x2e\\x1e\\x57\\x78\\x12\\x70\\x07\\x64\\xec\\x1e\\xc0\\xb7\\xe0\\x9c\\x1d\\xd0\\x6a\\x1b\\x00\\xb7\\xa9\\xf2\\x9e\\xda\\x6b\\x00\\xf7\\x42\\x54\\x3b\\xa0\\x8d\\xee\\x00\\xfc\\x44\\x1d\\xfd\\x4a\\xe1\\x11\\xb0\\xbc\\x83\\x9f\\x06\\xdc\\x09\\xad\\x30\\x12\\x30\\xbc\\xd6\\x02\\x74\\x5b\\x61\\x27\\xd8\\x84\\x3d\\x60\\xd3\\x0b\\xf8\\x0e\\xe4\\x6d\\x27\\xe4\\xe1\\x55\\xc0\\x6d\\xb5\\xb3\\x00\\xdd\\xb6\\xd8\\xa9\\xda\\x62\\x27\\x78\\xf1\\x01\\xba\\x3d\\x6d\\x27\\x78\\x59\\x0e\\xf8\\x55\\xed\\x93\\x80\\x07\\xc0\\xcb\\x4e\\x68\\x97\\xe7\\x01\\xbf\\x51\\x78\\xdc\\x45\\xc8\\xf0\\x76\\xbe\\x4b\\xf5\\xb4\\x5d\\x7c\\x1b\\xc4\\xb6\\x4b\\xe5\\x64\\x97\\xea\\xa5\\xbb\\x20\\x42\\x17\\x0f\\x90\\x66\\x80\\x07\\x15\\x7e\\xa3\\xf0\\x88\\xc2\\xa3\\x0a\\x8f\\x2b\\x3c\\xa9\\xf0\\x67\\xb8\\xd7\\x76\\xf1\\x5f\\x54\\xd9\\x01\\xdc\\x0d\\x75\\xb9\\x03\\x30\\x1c\\x22\\xd9\\x0d\\x75\\x19\\x09\\xd8\\x11\\xbc\\xec\\x26\\xc5\\x50\\xaf\\xdd\\xe4\\x12\\x17\\xc1\\x3b\\x1c\\x85\\xfb\\xc5\\x2d\\xbb\\x91\\xef\\xe6\\x5f\\xb8\\xd7\\x42\\xcc\\xcf\\x03\\x1e\\x52\\xf8\\x8d\\xc2\\x63\\xb5\\x3b\\x00\\xbf\\x53\\xe5\\xef\\x15\\xfe\\xa0\\xf0\\xb8\\xc2\\x9f\\xd4\\xd1\\x13\\x50\\xa3\\xdd\\xd0\\x16\\xee\\x9e\\x53\\x6a\\xcf\\x69\\x85\\x7f\\x28\\xac\\x56\\xfb\\x6b\\x14\\xd6\\xba\\x08\\x19\\x80\\xb6\\x81\\x38\\x6f\\x03\\x74\\xe3\\xdc\\xa3\\x72\\xbe\\x07\\x22\\x6c\\x03\\xe8\\x46\\xb8\\x47\\xdd\\x05\\x7b\\x20\\xff\\x6b\\x01\\xb7\\x41\\xcf\\xdc\\x03\\xd9\\x7e\\x0f\\x70\\x2f\\xf4\\xc0\\x3d\\x90\\x61\\x17\\x0f\\x42\\xae\\xf6\\x40\\xb4\\xf7\\x01\\x7e\\x0d\\xb5\\xde\\x03\\xd9\\x76\\xf7\\x7c\\xa3\\xf6\\x1c\\x51\\x7b\\x8e\\xc2\\x78\\xb5\\x07\\x6a\\x71\\x00\\xf0\\x5b\\x75\\xf4\\x3b\\x88\\x76\\x0f\\xd4\\xc5\\x3d\\xfa\\x83\\xc2\\x1f\\xd5\\x9e\\xe3\\xea\\xaa\\x9f\\xe0\\xee\\xd8\\x03\\x35\\x72\\xfd\\x9e\\x54\\x7b\\x4e\\xd7\\xee\\x06\\xfc\\x55\\x5d\\xfb\\xbb\\xc2\\x3f\\x14\\xd6\\xba\\x67\\x42\\x5d\\xee\\xe3\\x7b\\x21\\xda\\x3b\\x00\\xdf\\x52\\xe5\\x6d\\x70\\x74\\x2f\\xf4\\x90\\x53\\x80\\x3b\\xa0\\x46\\x7b\\x61\\xc4\\x70\\xf7\\xec\\xa9\\x9d\\x0d\\xe8\\xde\\x35\\x7b\\xd5\\xfd\\xbb\\x17\\x62\\x38\\xc0\\x3f\\x82\\x7a\\xdd\\x06\\xb8\\x0b\\xfa\\xc3\\x47\\xaa\\x9f\\x7f\\x04\\x91\\x7c\\xcc\\xf7\\xc1\\x39\\xfb\\xf8\\x3e\\x35\\xae\\xee\\x07\\xfb\\x2f\\x03\\xbe\\x05\\x57\\xed\\x87\\xde\\xf8\\x0e\\xe0\\xbb\\xaa\\xbc\\x1d\\xce\\xdc\\x0f\\x16\\xb6\\x03\\xee\\x52\\xe5\\xdd\\x60\\x6d\\x3f\\xf4\\xa5\\xb5\\x80\\x9f\\xd4\\xb6\\x03\\xfc\\x02\\x2c\\xef\\x57\\x1e\\xf7\\x2b\\x6b\\x5f\\x80\\x85\\xc3\\x80\\xef\\x42\\x9e\\xbf\\x50\\xd1\\x7e\\x01\\xe7\\x6f\\x00\\xfc\\x4a\\x95\\x0f\\x43\\x8f\\xfa\\x02\\xfa\\x9b\\x8b\\xdf\\xd7\\x9e\\x04\\xfc\\x01\\xee\\xb2\\x2f\\xdc\\x67\\xff\\xfc\\x4b\\x88\\xe4\\x3a\\x40\\x37\\x92\\x2f\\xc1\\xce\\x76\\xc0\\x6d\\x0a\\x77\\xa8\\x3d\\xbb\\x15\\x7e\\x04\\x31\\x7c\\x09\\xde\\xdd\\xfd\\x87\\xa1\\x5f\\x7d\\xa9\\x7a\\xef\\x01\\xe8\\x1b\\x87\\x01\\x7f\\x03\\x3c\\x08\\xad\\xe3\\xe2\\x51\\x85\\xdf\\xc3\\x99\\x07\\xc1\\xcb\\x06\\xc0\\xe3\\x6a\\xcf\\x49\\x85\\xa7\\x14\\xfe\\xa2\\xf0\\x34\\xd4\\xee\\x20\\x5e\\xfb\\xa7\\x3a\\xdf\\x71\\xcb\\xea\\x6e\\x3a\\x04\\xfd\\xf6\\x24\\xa0\\xdb\\x1f\\x0e\\x41\\x1f\\xf8\\x14\\xf0\\x1b\\x18\\xd5\\x0f\\x29\\xfb\\x87\\x94\\xcd\\x43\\xca\\xe6\\x21\\xb0\\xe6\\x9e\\xf9\\xa7\\x5b\\x86\\x6b\\x0f\\xf3\\xaf\\xa1\\x07\\x02\\x42\\x0c\\x87\\xf9\\x61\\xe5\\xf1\\xb0\\x3a\\x7a\\x58\\xd9\\xff\\x06\\x2c\\xbb\\x78\\x50\\xe1\\x61\\xf0\\xf5\\x0d\\x44\\xee\\xe2\\x51\\xb5\\xe7\\x7b\\x55\\xfe\\x41\\xe1\\x71\\xb5\\xe7\\xa4\\xc2\\x9f\\x15\\xfe\\xa2\\xf6\\x9f\\x56\\x65\\x37\\xf2\\x23\\xca\\xda\\x11\\x65\\xed\\x08\\x44\\xe8\\xe2\\x51\\x85\\xc7\\xe1\\xcc\\x23\\x6a\\xf4\\x3b\\x82\\x67\\xba\\x31\\x1c\\x55\\xfd\\xf9\\xa8\\xca\\xd5\\x51\\x75\\xe6\\x51\\xe5\\xf1\\xa8\\xf2\\x78\\x54\\x79\\x3c\\xaa\\x3c\\x1e\\x85\\xc8\\x4f\\x02\\xfe\\xa6\\xca\\xee\\xb5\\xdf\\x91\\x62\\xb8\\x5f\\xbe\\x53\\x1c\\xf1\\x1d\\x78\\x74\\xd1\\x65\\x87\\xef\\x94\\x9d\\xef\\xf8\\xf7\\xa4\\x17\\xa0\\x3b\\xea\\x7e\\x07\\x16\\x5c\\xfc\\x59\\xed\\xff\\x45\\x9d\\xf9\\x9b\\x2a\\xbb\\x19\\xf8\\x5e\\xe5\\xe4\\x7b\\xb5\\xe7\\xb8\\x8a\\xe7\\xb8\\xca\\xc0\\x71\\x65\\xe7\\xb8\\x8a\\xe7\\xb8\\x6a\\xbb\\xe3\\x70\\xe6\\xc7\\x80\\xa7\\x15\\xfe\\x06\\x6a\\xf3\\xb8\\xb2\\x70\\x5c\\xe5\\xf9\\x84\\xba\\xf6\\x84\\xba\\xf6\\x84\\xba\\xf6\\x04\\x5c\\xbb\\x01\\xd0\\xbd\\x07\\x4f\\x28\\xef\\x27\\x94\\xaf\\x13\\xca\\xc2\\x09\\xe5\\xf1\\x84\\xb2\\x70\\x42\\x59\\x38\\x09\\x75\\x01\\x86\\x50\\xd9\\x3b\\xa9\\xb2\\x77\\x52\\x65\\xe6\\xa4\\xb2\\x76\\x52\\xe5\\xf0\\xa4\\xca\\xc3\\x49\\x55\\x8b\\x93\\x2a\\xf3\\x27\\x95\\x9d\\x93\\x2a\\x27\\x3f\\x93\\x30\\xe8\\xf3\\x3f\\x93\\x70\\xb8\\x2b\\x7f\\x56\\xf1\\xfc\\xac\\xec\\xfc\\x0c\\xe3\\xaa\\xbb\\xe7\\xb8\\x2a\\x9f\\x82\\x6b\\x7f\\x56\\xec\\x7c\\x4a\\x8d\\xa5\\xa7\\xd4\\x18\\x75\\x0a\\x66\\x1f\\xd0\\x3f\\x60\\xf6\\xb1\\x81\\x9f\\x82\\x6b\\xff\\x00\\x74\\xeb\\x72\\x4a\\x79\\x3f\\x05\\x75\\x79\\x0f\\xf0\\x07\\xb5\\xe7\\x84\\xda\\xe3\\x7a\\x3f\\x05\\x91\\x1f\\xe0\\xbf\\xa8\\x2c\\xfd\\xa2\\xb2\\xf4\\x0b\\xd8\\xdf\\x0a\\xe8\\x46\\xf5\\x8b\\xaa\\xd7\\x69\\xd5\\x2b\\x4e\\xab\\x36\\x3a\\xad\\xac\\x9d\\x56\\x75\\x39\\xad\\xfa\\xc3\\x69\\x55\\x97\\xd3\\xea\\xfc\\xd3\\xaa\\xe7\\x9f\\x56\\x39\\xf9\\x15\\x62\\x69\\xc3\\x21\\x0a\\x32\\x84\\xd7\\xc0\\xd1\\x0d\\xdc\\x51\\x99\\x71\\x54\\xbd\\x1c\\x15\\x9b\\xa3\\xac\\x39\\xca\\xbb\\xa3\\xbc\\x3b\\xaa\\x8e\\x8e\\xea\\x33\\x8e\\xca\\xb9\\xa3\\xee\\x2f\\x47\\xe5\\xdc\\x51\\x77\\x53\\xad\\xb2\\x53\\xab\\x72\\x5b\\xab\\xae\\xad\\x55\\xd7\\xd6\\xaa\\x6b\\x6b\\xd5\\xb5\\xb5\\x70\\xfe\\x3b\\x80\\xbf\\xa9\\x32\\xc4\\x23\\xc2\\xdc\\x5c\\x01\\x42\\xae\\x00\\x3b\\xa8\\x3d\\x90\\x2b\\x40\\x18\\xd5\\x01\\x2f\\x01\\x4c\\x86\\x73\\xb6\\x03\\x86\\xc3\\xfe\\x64\\x77\\xcc\\x07\\x2c\\x56\\x08\\x63\\xbe\\x7e\\x48\\x3f\\x54\\x5b\\xa0\\x7f\\x0d\\x73\\x5b\\x17\\x27\\x29\\x9c\\x5c\\xfb\\xac\\xfe\\xb5\\xfb\\x1c\\x40\\x3f\\xcc\\x9f\\xa9\\x6d\\x03\\xf8\\xaa\\xc2\\xdd\\x0a\\x3f\\x71\\x6e\\x03\\xdc\\x57\\x3b\\x52\\x3f\\xa6\\x8e\\x1e\\x53\\x47\\x8f\\xa9\\xa3\\xc7\\x60\\xfc\\x21\\x80\\xfb\\x6a\\xef\\x20\\x84\\x74\\xa4\\x25\\xee\\x33\\x3e\\xf5\\xdf\\x24\\xb2\\x16\\xcb\\x94\\x34\\xa7\\x3d\\xb0\\xcc\\x48\\x30\\x1d\\x8b\\x65\\x4e\\xda\\xd1\\xd5\\x58\\x16\\xa4\\x3d\\xfd\\x16\\xcb\\x1a\\x69\\xc6\\xba\\x61\\x59\\x92\\xb6\\x6c\\x2e\\x96\\x75\\xb2\\x84\\x2f\\xc5\\xb2\\x41\\x22\\x45\\x34\\x96\\x4d\\xd2\\x4c\\x8c\\xc7\\x72\\x10\\x2d\\xd1\\x93\\xb0\\x1c\\x4c\\xda\\x1b\\xc7\\xb0\\x1c\\x42\\xfa\\x9a\\xb9\\x58\\x0e\\x25\\x5e\\xb3\\x16\\xcb\\xcd\\x48\\xdb\\xa0\\x79\\x10\\x09\\x15\\x26\\xfc\\xf5\\xa4\\x8a\\xca\\x2d\\x53\\x12\\x4d\\x35\\x2c\\x33\\x12\\x45\\xfb\\x63\\x99\\x93\\x78\\x3a\\x1d\\xcb\\x82\\xf4\\xa7\\xeb\\xb1\\xac\\x91\\xf6\\x4c\\xc7\\xb2\\x24\\x36\\xb3\\xb1\\xac\\x93\\x53\\xec\\x4a\\x2c\\x1b\\xa4\\x27\\xe8\\x20\\x7f\\xd9\\x24\\xed\\x85\\x17\\xcb\\x41\\xec\\x73\\x31\\x1b\\xcb\\xc1\\xa4\\xbf\\xb1\\x0e\\xcb\\x21\\x64\\xba\\x29\\xb1\\x1c\\x4a\\xe6\\x9a\\x37\\x63\\xb9\\x19\\xb1\\x83\\xbc\\x24\\x8d\\x14\\x92\\x39\\xf0\\xaf\\x02\\xfe\\x2d\\x21\\x79\\x24\\x97\\x44\\xc3\\xbf\\x6c\\xf8\\x3b\\x1b\\x4a\\x39\\xc4\\x47\\x4a\\xc9\\x62\\x52\\xa6\\xce\\x2a\\x80\\xbd\\xd1\\xa4\\x27\\xec\\xed\\x05\\x5b\\x0f\\xe9\\x47\\xe2\\xe0\\x5f\\x34\\x19\\x0a\\x67\\xf9\\xe0\\x78\\x11\\x5c\\x1f\\x4d\\x52\\xa1\\x5c\\x06\\x57\\xb9\\x98\\xad\\xec\\xfa\\x48\\x09\\xe9\\x4b\\x82\\xd4\\x91\\xbf\\xb6\\xe6\\x81\\xd2\\x38\\x8c\\x62\\x98\\xba\\xfa\\x7c\\x28\\x0d\\x87\\xeb\\x73\\xc0\\x02\\x49\\x2b\\x9c\\x53\\x58\\x51\\xb8\\x24\\x2f\\x37\\x3a\\x37\\xbb\\x22\\x3b\\x3a\\xc7\\x57\\xba\\xb8\\xac\\x70\\x4e\\x41\\x45\\x74\\xcf\\x9c\\x5e\\xd1\\x9e\\x7e\\x71\\xfd\\xa2\\x87\\xfa\\x7c\\x73\\x8a\\xf2\\xa2\\x53\\x7d\\x65\\xa5\\xbe\\xb2\\xec\\x8a\\x42\\x5f\\x49\\xdf\\xa0\\xd4\\xc6\\xa7\\x79\\xa2\\xc7\\x81\\x89\\x61\\xd9\\x15\\xe7\\x47\\x0f\\x2f\\xc9\\x01\\xbb\\x23\\x21\\xa0\\xd9\\xe0\\x36\\x30\\xe0\\x68\\x32\\x5e\\xed\\x29\\x24\\xf9\\x70\\x42\\xe1\\xec\\x3c\\xbf\\xb9\\xe8\\xf1\\x79\\x65\\x85\\xb0\\x27\\x05\\x4e\\x2a\\x52\\x71\\x0e\\x57\\xb9\\x2a\\x82\\x13\\x73\\x60\\xb7\\xaf\\x28\\x37\\x7a\\x78\\x45\\x76\\x51\\x21\\xfc\\x91\\x4c\\xca\\x61\\x5f\\x1e\\x18\\xcb\\x55\\xa6\\xa2\\x49\\x1f\\xf8\\xf7\\xb7\\xce\\x92\\xcb\\x73\\xf2\\x4a\\x72\\xf3\\xca\\xa2\\xfb\\x44\\x9f\\xed\\xf7\\xef\\xae\\x8e\\x3e\\x57\\x64\\x8d\\x4d\\x45\\x37\\x08\\x75\\x92\\x32\\x50\\x5e\\x6f\\xd0\\x03\\xe9\\xee\\x07\\xff\\xf7\\x85\\x46\\x21\\x93\\xf2\\xca\\xca\\xdd\\xeb\\x3c\\x7d\\xfb\\xf5\\xeb\\x1b\\xd7\\x74\\x0c\\x67\\x22\\xe8\\x53\\x1f\\xc1\\x39\\xfc\\x2b\\xf7\\x7d\\x5c\\xf7\\x75\\xde\\x9b\\xae\\x54\\x21\\xc4\\x13\\xad\\xba\\x61\\x85\\x3a\\xe2\\x26\\xb1\\x18\\xb6\\x65\\x64\\x1e\\xec\\xf3\\xa9\\xca\\x9e\\xbb\\xb3\\x44\\xc3\\x79\\x79\\xaa\\x6b\\x97\\xc3\\x91\\x3c\\xf5\\x57\\xae\\xb2\\xea\\xda\\x9e\\x08\\x67\\x8c\\x57\\x67\\x8d\\x55\\x57\\xba\\x8d\\x54\\xa1\\xbc\\x95\\xa8\\xb3\\x26\\x34\\xe1\\x71\\x0c\\x78\\xcc\\x57\\x95\\xc9\\x0b\\x38\\x33\\x47\\xd9\\x76\\x2b\\xea\\xb7\\xec\\x83\\x72\\x01\\x36\\xf7\\x5c\\x52\\xa9\\x92\\x52\\x0e\\x67\\xba\\xd7\\xd5\\xd5\\xad\\xdc\\xed\\xcc\\x01\\x0d\\x52\\x58\\x1e\\x9d\\x1d\\x5d\\x51\\x96\\x9d\\x9b\\x57\\x9c\\x5d\\x36\\x2f\\xda\\x97\\xdf\\xb0\\x83\\x46\\x97\\xe5\\xcd\\x29\\x2c\\xaf\\xc8\\x2b\\x83\\x9d\\x85\\x25\\xd1\\x13\\xfb\\x8e\\xef\\x1b\\x3d\\x36\\xbb\\x22\\xaf\\xa4\\x22\\x3a\\xbb\\x24\\x37\\x7a\\x42\\xfd\\x85\\x63\\xf2\\xf3\\x0b\\x73\\xf2\\xd4\\xce\\x9c\\xbc\\xb2\\x8a\\x6c\\x38\\xd9\\x57\\x51\\x00\\x3d\\x69\\x6e\\x65\\x59\\x61\\x79\\x6e\\x61\\x8e\\xeb\\xad\\xbc\\x6f\\x53\\x3d\\xb3\\xe9\\xbb\\xf6\\x4c\\x5f\\x0c\\xb8\\xa3\\x08\\x64\\xce\\xcd\\xd8\\x02\\x95\\x87\\x51\\xea\\x74\\xf7\\xef\\x72\\xff\\x25\\xe3\\x2b\\xf2\\x16\\xe4\\x45\\x8f\\xca\\xae\\xa8\\xc8\\x2b\\x77\\x4f\\x4e\\x81\\x13\\xca\\x31\\xf9\\xfe\\x86\\x9d\\xa0\\x52\\xe5\\x83\\xbd\\x6e\\x83\\x2d\\x84\\x74\\xb9\\xc9\\x29\\x50\\xe5\\x6c\\xd5\\xe8\\xb9\\xca\\x9c\\x3b\\x4a\\x94\\xe0\\x95\\xb3\\x61\\xdc\\x88\\xfe\\x4b\\xc7\\xd1\\x78\\x6d\\x36\\x76\\x9e\\x12\\xe5\\x63\\x01\\xd6\\xc6\\xbd\\xe6\\x7c\\xec\\x14\\xf9\\x0a\\xcb\\x95\\xdf\\x12\\xf0\\x11\\xad\\xe2\\xab\\xbb\\x7f\\x02\\x7d\\x47\\xab\\xc6\\xcc\\x56\\x5d\\xc3\\xdf\\x1d\\x8b\\xe1\\x68\\x85\\x3a\\x37\\x47\\xf5\\xed\\x22\\x15\\x97\\x3b\\x4e\\x16\\x43\\xf6\\xfc\\xbe\\x66\\xe3\\x48\\xb8\\x50\\x8d\\xab\\x05\\x58\\xe3\\x62\\x65\\x37\\x9a\\x8c\\x86\\xed\\x42\\xd5\\x75\\x7d\\xaa\\x73\\x95\\xc4\\x74\\x56\\x1d\\xf1\\x4c\\x56\\xfc\\x9d\\x3b\\x1f\\x6f\\xc9\\x68\\x75\\x6d\\x29\\x94\\x7d\\xaa\\x16\\x75\\x79\\xec\\xa3\\xda\\xd0\\xad\\x49\\x9e\\x8a\\xd4\\x2d\\x65\\xab\\xb1\\x7b\\x36\\x5c\\x51\\xa4\\x7c\\xfb\\x63\\x2b\\x50\\x5d\\x38\\x5b\\x75\\xc0\\x3c\\xec\\x90\\x15\\xaa\\x06\\xe5\\x01\\x1d\\xd9\\xdf\\x6d\\xa3\\x55\\x2d\\x5c\\xeb\\xe9\\xaa\\xf3\\xba\\x23\\x76\\x1e\\xe6\\x74\\x32\\x8c\\xf4\\x23\\x9b\\xb4\\xe8\\xcf\\x60\\xe0\\x0d\\x54\\xae\\xc6\\x80\\x05\\x58\\xe7\\x3a\\xdb\\x25\\x2a\\xda\\xdc\\xfa\\x3a\\xfa\\xb3\\xed\\x9e\\x55\\x84\\x9e\\xfc\\x35\\x2e\\x52\\x8c\\x32\\xaf\\xbe\\x7d\\xf2\\x55\\xbf\\xf4\\x67\\x34\\x57\\x59\\xeb\\x73\\x8e\\x9c\\xe7\\xab\\xdc\\x54\\xa0\\x57\\x9f\\x8a\\x28\\x17\\xfe\\xf7\\xb7\\xb8\\xbf\\x6f\\xf9\\xe0\\xda\\x4a\\xd5\\x1e\\xfe\\x9b\\xde\\xdf\\xeb\\x2b\\xce\\xca\\x5c\\xb6\\xca\\xaf\\x0f\\xaf\\x2b\\x85\\x23\\xae\\x2f\\x7f\\x2c\\xc5\\xfe\\x9b\\x38\\x25\\xbb\\x1c\\x6e\\x4a\\xb8\\x85\\x27\\x14\\x96\\xf8\\xca\\xcf\\x8f\\x5e\\x58\\x50\\x98\\x53\\x10\\xbd\\x30\\xbb\\x3c\\x3a\\x37\\xaf\\xbc\\x70\\x4e\\x09\\x1c\\x9c\\xbd\\x38\\xba\\xe1\\x2d\\x11\\x0d\\x47\\xb3\\xe1\\xa6\\x2f\\x29\\xf1\\x2d\\x80\\x1b\\x6a\\x41\\xde\\xf9\\x70\\x83\\xe7\\x97\\xe5\\x95\\x17\\x14\\x96\\xcc\\x89\\x2e\\x57\\x83\\xb3\\xff\\xea\\xe8\\x8a\\x82\\xec\\x0a\\x77\\x74\\x28\\xce\\xab\\x28\\x2b\\xcc\\xc9\\x2e\\x2a\\x5a\\x0c\\xa4\\x57\\x5c\\x0a\\x57\\xcd\\x06\\x96\\x5b\\x58\\x58\\x51\\x00\\x8e\\x8b\\xf3\\xca\\xa3\\x47\\xe7\\x2d\\x8c\\x1e\\xe7\\x2b\\xce\\x2e\\x79\\xbc\\xaf\\x3f\\x14\\x18\\x44\\xf2\\x61\\xd8\\x8e\\x2e\\x2c\\x2e\\x2d\\xf3\\x2d\\x50\\x31\\xf6\\x29\\xcf\\x29\\xcb\\xcb\\x2b\\x01\\x67\\xd9\\xb9\\xd9\\xb3\\x0b\\x8b\\x0a\\x2b\\xc0\\x5a\\x41\\x76\\x59\\x76\\x0e\\x0c\\x2d\\x30\\xbe\\x14\\xe6\\x94\\xab\\xa1\\x03\\x46\\x8c\\xe8\\xd2\\xec\\x92\\x3e\\xe9\\x95\\x65\\xbe\\xd2\\x3c\\x88\\x74\\xf2\\xd0\\x91\\x67\\x4e\\x84\\x00\\xfd\\xc3\\x4e\\xb9\\xaf\\x68\\x01\\x78\\x76\\xcf\\x2e\\xc9\\xcb\\xcb\\x75\\x3d\\x42\\xd8\\x0b\\xf2\\x8a\\xe0\\x22\\x70\\x5c\\xe4\\xf3\\xcd\\x73\\xeb\\x93\\xef\\x2b\\x83\\x40\\x73\\x2b\\x0a\\xfa\\x04\\x44\\x9e\\xef\\x2b\\xa9\\x80\\x4b\\x7d\\xd1\\xd9\\xb9\\xb9\\x50\\x71\\xc8\\x96\\x2f\\xa7\\xb2\\xd8\\x1d\\xd0\\x60\\x90\\xa9\\xa8\\x0b\\x2e\\x3b\\xa7\\xcc\\x07\\xc7\\x4a\\x8b\\xb2\\x2b\\xc0\\x4a\\xb1\\x3b\\x70\\x15\\xa8\\x5b\\xbe\\x94\\x0c\\x20\\xb1\\xf0\\xff\\x42\\xf5\\x7f\\x5f\\x75\\xe3\\x07\\x0e\\x67\\x39\\x38\\x98\\xf5\\xc5\\x4e\\x12\\x0b\\x17\\x56\\x54\\x94\\x0e\\x88\\x8d\\x5d\\xb8\\x70\\x61\\xdf\\x6c\\x1c\\xd3\\x72\\x60\\x48\\xeb\\x0b\\x41\\xc5\\xfe\\x73\\xb3\\x6e\\x3f\\x29\\x55\\x3d\\x3a\\x70\\xbc\\x2a\\x53\\x7d\\xc3\\xb5\\x59\\x0c\\x7d\\xe6\\x2f\\x5d\\x57\\x2c\\x2e\\xcd\\xc3\\x9e\\x52\\x56\\xde\\xb7\\xa0\\xa2\\xb8\\xc8\\xcf\\x86\\x7e\\xb7\\x75\\xc3\\x66\\x65\\xc0\\x40\\x5d\\x77\\x2b\\x8d\\x07\\xa6\\x1b\\xa9\\x58\\xa9\\x14\\x07\\x80\\x0c\\xec\\xfa\\xd1\\x8d\\x2c\\xb8\\xc3\\x5e\\x63\\x7e\\x8f\\xf3\\x33\\xfb\\x48\\xa0\\x8b\\x12\\xb7\\x07\\x57\\xaa\\x41\\xde\\x6d\\xcb\\xf1\\xc3\\x47\\x46\\x8f\\x29\\x85\\x6e\\x92\\x01\\x6d\\x14\\x8d\\x27\\x9c\\x1f\\x5d\\xa7\\x01\\xe2\\x5c\\x01\\xd0\\x30\\x5d\\xfe\\x61\\xa8\\x10\\xfe\\xae\\x50\\x15\\x2f\\x57\\x37\\x51\\x5f\\x95\\xac\\x39\\x70\\x7c\\x0c\\x44\\x36\\xb2\\x3e\\x0d\\xd0\\x09\\x0b\\x4b\\x2b\\xca\\xfb\\x96\\x17\\x16\\xf5\\xf5\\x95\\xcd\\x89\\x1d\\x93\\xe1\\x2e\\x9f\\x44\\x48\\xed\\xf1\\xc7\\xdf\\xac\\x8d\\x21\\x9b\\x49\\x13\\xff\\x05\\x45\\x28\\xfd\\xcf\\x40\\xb9\\x0a\\xd0\\xc8\\x12\\xf4\\xb0\\x01\\xda\\x37\\x08\\x74\\x6e\\x08\\x68\\xda\\x66\\x30\\x53\\x6c\\x0e\\xf3\\xc4\\x16\\x24\\x82\\x44\\x92\\x96\\x24\\x8a\\xb4\\x22\\xad\\x49\\x1b\\xd2\\x96\\xb4\\x23\\xed\\x61\\xe6\\xd2\\x91\\x74\\x82\\x2a\\xc7\\x90\\xce\\xa4\\x0b\\xe9\\x4a\\xba\\x91\\xee\\xa4\\x07\\xe8\\xce\\x5e\\xe4\\x3c\\xd2\\x1b\\x92\\xd3\\x07\\x42\\x8d\\x45\\xf5\\x69\\x11\\x9b\\x78\\x49\\x3c\\x49\\x20\\xfd\\x49\\x22\\x54\\x6f\\x20\\x19\\x44\\x06\\x93\\x0b\\xc8\\x10\\x92\\x04\\x9c\\x99\\x02\\x2c\\x99\\x06\\xe3\\x62\\x06\\x8c\\x83\\xc3\\x20\\xfd\\x17\\x92\\x11\\x50\\xb1\\x51\\x30\\xa2\\x8f\\x01\\x19\\x71\\x11\\x8c\\xe8\\xe3\\x61\\x14\\x9f\\x08\\xc9\\x9e\\x4c\\xa6\\x90\\x4c\\x32\\x95\\x4c\\x23\\xd3\\x49\\x16\\x99\\x41\\x66\\x92\\x59\\x24\\x9b\\x32\\xf2\\x00\\xb9\\x82\\x5c\\x49\\x5e\\x23\\xb7\\x92\\xa3\\xe4\\x2a\\x72\\x3d\\x59\\x49\\xee\\x26\\x8f\\x91\\x07\\x29\\x27\\xff\\xa2\\x82\\x5c\\x4e\\x6e\\x26\\x27\\xc9\\xcf\\xe4\\x3a\\x98\\x33\\x54\\x51\\x49\\xbe\\x20\\x27\\xc8\\x3d\\xe4\\x71\\xf2\\x0b\\x39\\x45\\x4e\\x93\\x35\\xe4\\x29\\xf2\\x1e\\x79\\x07\\xe6\\x43\\xb3\\x21\\xe1\\x37\\x40\\x87\\xd8\\x0a\\x8d\\xfa\\x2e\\x79\\x9f\\xec\\x20\\xdb\\xc8\\x76\\xf2\\x01\\x39\\x06\\x63\\xd3\\x6e\\xf2\\x21\\xd9\\x49\\xd6\\x41\\xe2\\x7f\\x22\\x37\\x92\\x8f\\xc8\\x1e\\xb2\\x17\\x9a\\xeb\\x3b\\xf2\\x03\\xb9\\x06\\xe4\\x48\\x21\\x8c\\xa9\\x6e\\x9f\\x2c\\x21\\xf7\\x41\\xf3\\xcc\\x57\\xac\\x52\\x0e\\xdd\\xab\\x02\\xc6\\xe0\\x85\\xe4\\x5b\\xb2\\x08\\xe6\\x00\\x8b\\xc9\\x52\\x98\\xe1\\x5d\\x4c\\x5e\\x24\\xf7\\x93\\xe5\\x64\\x19\\x59\\x41\\x2e\\x25\\xdf\\x93\\x1f\\xc9\\xcb\\x54\\xa7\\x06\\x35\\x69\\x10\\x0d\\xa6\\x21\\xa4\\x86\\x38\\x34\\x94\\x36\\xa3\\x61\\xb4\\x39\\xa9\\xa5\\x84\\x86\\xd3\\x16\\x34\\x82\\x52\\x1a\\x49\\x5b\\xd2\\x28\\xda\\x8a\\xb6\\xa6\\x6d\\x68\\x5b\\xda\\x8e\\xb6\\xa7\\x1d\\x68\\x47\\xda\\x89\\xfc\\x46\\x7e\\xa7\\xd1\\x34\\x86\\x76\\xa6\\x5d\\x68\\x57\\xda\\x8d\\x76\\xa7\\x3d\\x68\\x4f\\xda\\x8b\\x9e\\x47\\x7b\\xd3\\xf3\\x69\\x1f\\xda\\x97\\xc6\\x92\\x3f\\xc8\\xc7\\xb4\\x1f\\x8d\\xa3\\x1e\\x6a\\x51\\x9b\\x7a\\x69\\x3c\\x4d\\xa0\\xfd\\x69\\x22\\x1d\\x40\\x07\\xd2\\x41\\x74\\x30\\xbd\\x80\\x1c\\x24\\x87\\xe8\\x10\\x9a\\x44\\x93\\x69\\x0a\\x4d\\xa5\\x69\\x34\\x9d\\x66\\xb8\\xaf\\xe1\\xa1\\xc3\\xe9\\x85\\x74\\x04\\x1d\\x49\\x47\\x91\\xf5\\xe4\\x69\\x3a\\x9a\\x8e\\xa1\\x63\\xe9\\x45\\x74\\x1c\\x1d\\x4f\\x27\\xd0\\x89\\x74\\x12\\x9d\\x4c\\xfe\\x24\\xd5\\xe4\\x6b\\x72\\x98\\x4e\\xa1\\x99\\x74\\x2a\\x9d\\x46\\xa7\\xd3\\x2c\\x3a\\x83\\xce\\xa4\\xb3\\x68\\x36\\x9d\\x4d\\x73\\x68\\x2e\\xcd\\xa3\\xf9\\x74\\x0e\\x2d\\xa0\\x85\\x74\\x2e\\x9d\\x47\\x8b\\x68\\x31\\x79\\x85\\x96\\x50\\x1f\\x2d\\xa5\\xf3\\xc9\\x37\\xe4\\x08\\x2d\\xa3\\xe5\\xb4\\x82\\x56\\xd2\\x05\\x74\\x21\\x5d\\x44\\x17\\xd3\\x25\\x74\\x29\\xbd\\x98\\x5e\\x42\\x97\\xd1\\xe5\\x74\\x05\\xbd\\x94\\x5e\\x46\\x2f\\xa7\\x57\\x90\\x87\\xe9\\x95\\xf4\\x2a\\x7a\\x35\\xad\\xa2\\xd7\\xd0\\x7f\\xd1\\x95\\xf4\\x5a\\x7a\\x1d\\xbd\\x9e\\xae\\xa2\\x37\\xd0\\x1b\\xe9\\x4d\\xf4\\x66\\xba\\x9a\\xde\\x42\\x6f\\xa5\\xff\\xa6\\xb7\\xd1\\xdb\\xe9\\x1d\\xf4\\x4e\\x7a\\x17\\xbd\\x9b\\xde\\x43\\xef\\xa5\\xf7\\xd1\\xfb\\xe9\\x1a\\xfa\\x00\\x7d\\x90\\x3e\\x44\\x1f\\xa6\\x8f\\xd0\\x47\\xe9\\x63\\xf4\\x71\\xfa\\x04\\x7d\\x92\\x3e\\x45\\xd7\\xd2\\x75\\x74\\x3d\\x7d\\x9a\\x6e\\xa0\\xcf\\xd0\\x67\\xe9\\x73\\xf4\\x79\\xfa\\x02\\x7d\\x91\\xbe\\x44\\x5f\\xa6\\xaf\\xd0\\x57\\xe9\\x6b\\xf4\\x75\\xfa\\x06\\x7d\\x93\\x6e\\xa4\\x9b\\xe8\\x66\\xba\\x85\\xbe\\x45\\xdf\\xa6\\xef\\xd0\\x77\\xe9\\x7b\\xf4\\x7d\\xba\\x95\\x6e\\xa3\\xdb\\xe9\\x07\\x74\\x07\\xfd\\x90\\xee\\xa4\\xbb\\xe8\\x6e\\xba\\x87\\xee\\xa5\\x1f\\xd1\\x8f\\xe9\\x27\\xf4\\x53\\xfa\\x19\\xdd\\x47\\x3f\\xa7\\xfb\\xe9\\x17\\xf4\\x4b\\xfa\\x15\\x3d\\x40\\x0f\\xd2\\x43\\xf4\\x6b\\x7a\\x98\\x7e\\x43\\x8f\\xd0\\xa3\\xf4\\x18\\xfd\\x96\\x7e\\x47\\xbf\\xa7\\x3f\\xd0\\x1f\\xe9\\x71\\xfa\\x13\\x3d\\x41\\x4f\\xd2\\x9f\\xe9\\x29\\xfa\\x0b\\x3d\\x4d\\x7f\\xa5\\xbf\\xd1\\xdf\\xe9\\x1f\\xf4\\x4f\\x5a\\x4d\\x6b\\xa8\\x43\\x6b\\x19\\x61\\x94\\x31\\xc6\\xdd\\x97\\x63\\x30\\xc9\\x74\\x66\\x30\\x93\\x05\\xb1\\x60\\x16\\xc2\\x42\\x59\\x33\\x16\\xc6\\x9a\\xb3\\x70\\xd6\\x82\\x45\\xb0\\x48\\xd6\\x92\\x45\\xb1\\x56\\xac\\x35\\x6b\\xc3\\xda\\xb2\\x76\\xac\\x3d\\xeb\\xc0\\x3a\\xb2\\x4e\\x2c\\x9a\\xc5\\xb0\\xce\\xac\\x0b\\xeb\\xca\\xba\\xb1\\xee\\xac\\x07\\xeb\\xc9\\x7a\\xb1\\xf3\\x58\\x6f\\x76\\x3e\\xeb\\xc3\\xfa\\xb2\\x58\\xd6\\x8f\\xc5\\x31\\x0f\\xb3\\x98\\xcd\\xbc\\x2c\\x9e\\x25\\xb0\\xfe\\x2c\\x91\\x0d\\x60\\x03\\xd9\\x20\\x36\\x98\\x5d\\xc0\\x86\\xb0\\x24\\x96\\xcc\\x52\\x58\\x2a\\x4b\\x63\\xe9\\x2c\\x83\\x0d\\x65\\xc3\\xd8\\x70\\x76\\x21\\x1b\\xc1\\x46\\xb2\\x51\\x6c\\x34\\x1b\\xc3\\xc6\\xb2\\x8b\\xd8\\x38\\x36\\x9e\\x4d\\x60\\x13\\xd9\\x24\\x36\\x99\\x4d\\x61\\x99\\x6c\\x2a\\x9b\\xc6\\xa6\\xb3\\x2c\\x36\\x83\\xcd\\x64\\xb3\\x58\\x36\\x9b\\xcd\\x72\\x58\\x2e\\xcb\\x63\\xf9\\x6c\\x0e\\x2b\\x60\\x85\\x6c\\x2e\\x9b\\xc7\\x8a\\x58\\x31\\x2b\\x61\\x3e\\x56\\xca\\xe6\\xb3\\x32\\x56\\xce\\x2a\\x58\\x25\\x5b\\xc0\\x16\\xb2\\x45\\x6c\\x31\\x5b\\xc2\\x96\\xb2\\x8b\\xd9\\x25\\x6c\\x19\\x5b\\xce\\x56\\xb0\\x4b\\xd9\\x65\\xec\\x72\\x76\\x05\\xbb\\x92\\x5d\\xc5\\xae\\x66\\x55\\xec\\x1a\\xf6\\x2f\\xb6\\x92\\x5d\\xcb\\xae\\x63\\xd7\\xb3\\x55\\xec\\x06\\x76\\x23\\xbb\\x89\\xdd\\xcc\\x56\\xb3\\x5b\\xd8\\xad\\xec\\xdf\\xec\\x36\\x76\\x3b\\xbb\\x83\\xdd\\xc9\\xee\\x62\\x77\\xb3\\x7b\\xd8\\xbd\\xec\\x3e\\x76\\x3f\\x5b\\xc3\\x1e\\x60\\x0f\\xb2\\x87\\xd8\\xc3\\xec\\x11\\xf6\\x28\\x7b\\x8c\\x3d\\xce\\x9e\\x60\\x4f\\xb2\\xa7\\xd8\\x5a\\xb6\\x8e\\xad\\x67\\x4f\\xb3\\x0d\\xec\\x19\\xf6\\x2c\\x7b\\x8e\\x3d\\xcf\\x5e\\x20\\x9f\\x90\\x03\\xec\\x45\\xf2\\x19\\x7b\\x89\\xbd\\xcc\\x5e\\x61\\xaf\\xb2\\xd7\\xd8\\xeb\\xec\\x0d\\xf6\\x26\\xdb\\xc8\\x36\\xb1\\xcd\\x6c\\x0b\\x7b\\x8b\\xbd\\x4d\\xf6\\x91\\xcf\\xc9\\x7e\\xf2\\x15\\xf9\\x94\\x7c\\xc9\\xde\\x61\\xef\\xb2\\xf7\\xd8\\xfb\\x6c\\x2b\\xdb\\xc6\\xb6\\xb3\\x0f\\xd8\\x0e\\xf6\\x21\\xdb\\xc9\\x76\\xb1\\xdd\\x6c\\x0f\\xdb\\xcb\\x3e\\x62\\x1f\\xb3\\x4f\\xd8\\xa7\\xec\\x33\\xb6\\x8f\\x7d\\xce\\xf6\\xb3\\x2f\\xd8\\x97\\xec\\x2b\\x76\\x80\\x1d\\x64\\x87\\xd8\\xd7\\xec\\x30\\xfb\\x86\\x1d\\x61\\x47\\xd9\\x31\\xf6\\x2d\\xfb\\x8e\\x7d\\xcf\\x7e\\x60\\x3f\\xb2\\xe3\\xec\\x27\\x76\\x82\\x9d\\x64\\x3f\\xb3\\x53\\xec\\x17\\x76\\x9a\\xfd\\xca\\x7e\\x63\\xbf\\xb3\\x3f\\xd8\\x9f\\xac\\x9a\\xd5\\x30\\x87\\xd5\\x72\\xc2\\x29\\x67\\x9c\\x73\\xc1\\x35\\x2e\\xb9\\xce\\x0d\\x6e\\xf2\\x20\\x1e\\xcc\\x43\\x78\\x28\\x6f\\xc6\\xc3\\x78\\x73\\x1e\\xce\\x5b\\xf0\\x08\\x1e\\xc9\\x5b\\xf2\\x28\\xde\\x8a\\xb7\\xe6\\x6d\\x78\\x5b\\xde\\x8e\\xb7\\xe7\\x1d\\x78\\x47\\xde\\x89\\x47\\xf3\\x18\\xde\\x99\\x77\\xe1\\x5d\\x79\\x37\\xde\\x9d\\xf7\\xe0\\x3d\\x79\\x2f\\x7e\\x1e\\xef\\xcd\\xcf\\xe7\\x7d\\x78\\x5f\\x1e\\xcb\\xfb\\xf1\\x38\\xee\\xe1\\x16\\xb7\\xb9\\x97\\xc7\\xf3\\x04\\xde\\x9f\\x27\\xf2\\x01\\x7c\\x20\\x1f\\xc4\\x07\\xf3\\x0b\\xf8\\x10\\x9e\\xc4\\x93\\x79\\x0a\\x4f\\xe5\\x69\\x3c\\xdd\\xfd\\xe6\\x09\\x1f\\xc6\\x87\\xf3\\x0b\\xf9\\x08\\x3e\\x92\\x8f\\xe2\\xa3\\xf9\\x18\\x3e\\x96\\x5f\\xc4\\xc7\\xf1\\xf1\\x7c\\x02\\x9f\\xc8\\x27\\xb9\\xdf\\x3f\\xe0\\x99\\x7c\\x2a\\x9f\\xc6\\xa7\\xbb\\x9f\\xd6\\xf3\\x99\\x7c\\x16\\xcf\\xe6\\xb3\\x79\\x0e\\xcf\\xe5\\x79\\x3c\\x9f\\xcf\\x71\\x3f\\x3f\\xe7\\x73\\xf9\\x3c\\x5e\\xc4\\x8b\\xc9\\xa3\\xbc\\x84\\xfb\\xdc\\xcf\\x99\\x79\\x19\\x2f\\xe7\\x15\\xbc\\x92\\x2f\\xe0\\x0b\\xdd\\x4f\\x7b\\xf9\\x12\\xbe\\x94\\x5f\\xcc\\x2f\\xe1\\xcb\\xf8\\x72\\xbe\\x82\\xdc\\xcb\\x2f\\xe5\\x97\\xf1\\xcb\\xf9\\x15\\xfc\\x4a\\x7e\\x15\\xbf\\x9a\\x57\\xf1\\x6b\\xf8\\xbf\\xf8\\x4a\\x7e\\x2d\\xbf\\x8e\\x5f\\xcf\\x57\\xf1\\x1b\\xf8\\x8d\\xfc\\x26\\xf2\\x6f\\x7e\\x33\\x5f\\xcd\\x6f\\x21\\x77\\xf2\\x5b\\xf9\\xbf\\xf9\\x6d\\xfc\\x76\\x7e\\x07\\xbf\\x93\\xdf\\xc5\\xef\\xe6\\xf7\\xf0\\x7b\\xf9\\x7d\\xfc\\x7e\\xbe\\x86\\x3f\\xc0\\x1f\\xe4\\x0f\\xf1\\x87\\xf9\\x23\\xfc\\x51\\xfe\\x18\\x7f\\x9c\\x3f\\xc1\\x9f\\xe4\\x4f\\xf1\\xb5\\x7c\\x1d\\x5f\\xcf\\x9f\\xe6\\x1b\\xf8\\x33\\xfc\\x59\\xfe\\x1c\\x7f\\x9e\\xbf\\xc0\\x5f\\xe4\\x2f\\xf1\\x97\\xf9\\x2b\\xfc\\x55\\xfe\\x1a\\x7f\\x9d\\xbf\\xc1\\xdf\\xe4\\x1b\\xf9\\x26\\xee\\x7e\\xa2\\xf8\\x16\\x7f\\x9b\\xbf\\xc3\\xdf\\xe5\\xef\\xf1\\xf7\\xf9\\x56\\xbe\\x8d\\x6f\\xe7\\x1f\\xf0\\x1d\\xfc\\x43\\xbe\\x93\\xef\\xe2\\xee\\xa7\\x26\\x7b\\xf9\\x47\\xfc\\x63\\xfe\\x09\\xff\\x94\\x7f\\xc6\\xf7\\xf1\\xcf\\xdd\\x4f\\x23\\xf8\\x97\\xfc\\x2b\\x7e\\x80\\x1f\\xe4\\x87\\xf8\\xd7\\xdc\\x7d\\x32\\x7e\\x84\\x1f\\xe5\\xc7\\xf8\\xb7\\xee\\x33\\x69\\xfe\\x03\\xff\\x91\\x1f\\xe7\\x3f\\xf1\\x13\\xfc\\xa4\\xfb\\x24\\x96\\xff\\xc2\\x4f\\xf3\\x5f\\xf9\\x6f\\xfc\\x77\\xfe\\x07\\xff\\x93\\x57\\xf3\\x1a\\xee\\xf0\\x5a\\x41\\x04\\x15\\x4c\\x70\\x21\\x84\\x26\\xa4\\xd0\\x85\\x21\\x4c\\x11\\x24\\x82\\x45\\x88\\x08\\x15\\xcd\\x44\\x98\\x68\\x2e\\xc2\\x45\\x0b\\x11\\x21\\x22\\x45\\x4b\\x11\\x25\\x5a\\x89\\xd6\\xa2\\x8d\\x68\\x2b\\xda\\x89\\xf6\\xa2\\x83\\xe8\\x28\\x3a\\x89\\x68\\x11\\x23\\x3a\\x8b\\x2e\\xa2\\xab\\xe8\\x26\\xba\\x8b\\x1e\\xa2\\xa7\\xe8\\x25\\xce\\x13\\xbd\\xc5\\xf9\\xa2\\x8f\\xe8\\x2b\\x62\\x45\\x3f\\x11\\x27\\x3c\\xc2\\x12\\xb6\\xf0\\x8a\\x78\\x91\\x20\\xfa\\x8b\\x44\\x31\\x40\\x0c\\x14\\x83\\xc4\\x60\\x71\\x81\\x18\\x22\\x92\\x44\\xb2\\x48\\x11\\xa9\\x22\\x4d\\xa4\\x8b\\x0c\\x31\\x54\\x0c\\x13\\xc3\\xc5\\x85\\x62\\x84\\x18\\x29\\x46\\x89\\xd1\\x62\\x8c\\x18\\x2b\\x2e\\x12\\xe3\\xc4\\x78\\x31\\x41\\x4c\\x14\\x93\\xc4\\x64\\x31\\x45\\x64\\x8a\\xa9\\x62\\x9a\\x98\\x2e\\xb2\\xc4\\x0c\\x31\\x53\\xcc\\x12\\xd9\\x62\\xb6\\xc8\\x11\\xb9\\x22\\x4f\\xe4\\x8b\\x39\\xa2\\x40\\x14\\x8a\\xb9\\x62\\x9e\\x28\\x12\\xc5\\xa2\\x44\\xf8\\x44\\xa9\\x98\\x2f\\xca\\x44\\xb9\\xa8\\x10\\x95\\x62\\x81\\x58\\x28\\x16\\x89\\xc5\\x62\\x89\\x58\\x2a\\x2e\\x16\\x97\\x88\\x65\\x62\\xb9\\x58\\x21\\x2e\\x15\\x97\\x89\\xcb\\xc5\\x15\\xe2\\x4a\\x71\\x95\\xb8\\x5a\\x54\\x89\\x6b\\xc4\\xbf\\xc4\\x4a\\x71\\xad\\xb8\\x4e\\x5c\\x2f\\x56\\x89\\x1b\\xc4\\x8d\\xe2\\x26\\x71\\xb3\\x58\\x2d\\x6e\\x11\\xb7\\x8a\\x7f\\x8b\\xdb\\xc4\\xed\\xe2\\x0e\\x71\\xa7\\xb8\\x4b\\xdc\\x2d\\xee\\x11\\xf7\\x8a\\xfb\\xc4\\xfd\\x62\\x8d\\x78\\x40\\x3c\\x28\\x1e\\x12\\x0f\\x8b\\x47\\xc4\\xa3\\xe2\\x31\\xf1\\xb8\\x78\\x42\\x3c\\x29\\x9e\\x12\\x6b\\xc5\\x3a\\xb1\\x5e\\x3c\\x2d\\x36\\x88\\x67\\xc4\\xb3\\xe2\\x39\\xf1\\xbc\\x78\\x41\\xbc\\x28\\x5e\\x12\\x2f\\x8b\\x57\\xc4\\xab\\xe2\\x35\\xf1\\xba\\x78\\x43\\xbc\\x29\\x36\\x8a\\x4d\\x62\\xb3\\xd8\\x22\\xde\\x12\\x6f\\x8b\\x77\\xc4\\xbb\\xe2\\x3d\\xf1\\xbe\\xd8\\x2a\\xb6\\x89\\xed\\xe2\\x03\\xb1\\x43\\x7c\\x28\\x76\\x8a\\x5d\\x62\\xb7\\xd8\\x23\\xf6\\x8a\\x8f\\xc4\\xc7\\xe2\\x13\\xf1\\xa9\\xf8\\x4c\\xec\\x13\\x9f\\x8b\\xfd\\xe2\\x0b\\xf1\\xa5\\xf8\\x4a\\x1c\\x10\\x07\\xc5\\x21\\xf1\\xb5\\x38\\x2c\\xbe\\x11\\x47\\xc4\\x51\\x71\\x4c\\x7c\\x2b\\xbe\\x13\\xdf\\x8b\\x1f\\xc4\\x8f\\xe2\\xb8\\xf8\\x49\\x9c\\x10\\x27\\xc5\\xcf\\xe2\\x94\\xf8\\x45\\x9c\\x16\\xbf\\x8a\\xdf\\xc4\\xef\\xe2\\x0f\\xf1\\xa7\\xa8\\x16\\x35\\xc2\\x11\\xb5\\x1a\\xd1\\xa8\\xbb\\x7c\\xb3\\x26\\x34\\x4d\\x93\\x9a\\xae\\x19\\x9a\\xa9\\x05\\x69\\xc1\\x5a\\x88\\x16\\xaa\\x35\\xd3\\xc2\\xb4\\xe6\\x5a\\xb8\\xd6\\x42\\x8b\\xd0\\x22\\xb5\\x96\\x5a\\x94\\xd6\\x4a\\x6b\\xad\\xb5\\xd1\\xda\\x6a\\xed\\xb4\\xf6\\x5a\\x07\\xad\\xa3\\xd6\\x49\\x8b\\xd6\\x62\\xb4\\xce\\x5a\\x17\\xad\\xab\\xd6\\x4d\\xeb\\xae\\xf5\\xd0\\x7a\\x6a\\xbd\\xb4\\xf3\\xb4\\xde\\xda\\xf9\\x5a\\x1f\\xad\\xaf\\x16\\xab\\xf5\\xd3\\xe2\\x34\\x8f\\x66\\x69\\xb6\\xe6\\xd5\\xe2\\xb5\\x04\\xad\\xbf\\x96\\xa8\\x0d\\xd0\\x06\\x6a\\x83\\xb4\\xc1\\xda\\x05\\xda\\x10\\x2d\\x49\\x4b\\xd6\\x52\\xb4\\x54\\x2d\\x4d\\x4b\\xd7\\x32\\xb4\\xa1\\xda\\x30\\x6d\\xb8\\x76\\xa1\\x36\\x42\\x1b\\xa9\\x8d\\xd2\\x46\\x6b\\x63\\xb4\\xb1\\xda\\x45\\xda\\x38\\x6d\\xbc\\x36\\x41\\x9b\\xa8\\x4d\\xd2\\x26\\x6b\\x53\\xb4\\x4c\\x6d\\xaa\\x36\\x4d\\x9b\\xae\\x65\\x69\\x33\\xb4\\x99\\xda\\x2c\\x2d\\x5b\\x9b\\xad\\xe5\\x68\\xb9\\x5a\\x9e\\x96\\xaf\\xcd\\xd1\\x0a\\xb4\\x42\\x6d\\xae\\x36\\x4f\\x2b\\xd2\\x8a\\xb5\\x12\\xcd\\xa7\\x95\\x6a\\xf3\\xb5\\x32\\xad\\x5c\\xab\\xd0\\x2a\\xb5\\x05\\xda\\x42\\x6d\\x91\\xb6\\x58\\x5b\\xa2\\x2d\\xd5\\x2e\\xd6\\x2e\\xd1\\x96\\x69\\xcb\\xb5\\x15\\xda\\xa5\\xda\\x65\\xda\\xe5\\xda\\x15\\xda\\x95\\xda\\x55\\xda\\xd5\\x5a\\x95\\x76\\x8d\\xf6\\x2f\\x6d\\xa5\\x76\\xad\\x76\\x9d\\x76\\xbd\\xb6\\x4a\\xbb\\x41\\xbb\\x51\\xbb\\x49\\xbb\\x59\\x5b\\xad\\xdd\\xa2\\xdd\\xaa\\xfd\\x5b\\xbb\\x4d\\xbb\\x5d\\xbb\\x43\\xbb\\x53\\xbb\\x4b\\xbb\\x5b\\xbb\\x47\\xbb\\x57\\xbb\\x4f\\xbb\\x5f\\x5b\\xa3\\x3d\\xa0\\x3d\\xa8\\x3d\\xa4\\x3d\\xac\\x3d\\xa2\\x3d\\xaa\\x3d\\xa6\\x3d\\xae\\x3d\\xa1\\x3d\\xa9\\x3d\\xa5\\xad\\xd5\\xd6\\x69\\xeb\\xb5\\xa7\\xb5\\x0d\\xda\\x33\\xda\\xb3\\xda\\x73\\xda\\xf3\\xda\\x0b\\xda\\x8b\\xda\\x4b\\xda\\xcb\\xda\\x2b\\xda\\xab\\xda\\x6b\\xda\\xeb\\xda\\x1b\\xda\\x9b\\xda\\x46\\x6d\\x93\\xb6\\x59\\xdb\\xa2\\xbd\\xa5\\xbd\\xad\\xbd\\xa3\\xbd\\xab\\xbd\\xa7\\xbd\\xaf\\x6d\\xd5\\xb6\\x69\\xdb\\xb5\\x0f\\xb4\\x1d\\xda\\x87\\xda\\x4e\\x6d\\x97\\xb6\\x5b\\xdb\\xa3\\xed\\xd5\\x3e\\xd2\\x3e\\xd6\\x3e\\xd1\\x3e\\xd5\\x3e\\xd3\\xf6\\x69\\x9f\\x6b\\xfb\\xb5\\x2f\\xb4\\x2f\\xb5\\xaf\\xb4\\x03\\xda\\x41\\xed\\x90\\xf6\\xb5\\x76\\x58\\xfb\\x46\\x3b\\xa2\\x1d\\xd5\\x8e\\x69\\xdf\\x6a\\xdf\\x69\\xdf\\x6b\\x3f\\x68\\x3f\\x6a\\xc7\\xb5\\x9f\\xb4\\x13\\xda\\x49\\xed\\x67\\xed\\x94\\xf6\\x8b\\x76\\x5a\\xfb\\x55\\xfb\\x4d\\xfb\\x5d\\xfb\\x43\\xfb\\x53\\xab\\xd6\\x6a\\x34\\x47\\xab\\x95\\x44\\x52\\xc9\\xa4\\xbb\\x3c\\xac\\x26\\xa5\\xd4\\xa5\\x21\\x4d\\x19\\x24\\x83\\x65\\x88\\x0c\\x95\\xcd\\x64\\x98\\x6c\\x2e\\xc3\\x65\\x0b\\x19\\x21\\x23\\x65\\x4b\\x19\\x25\\x5b\\xc9\\xd6\\xb2\\x8d\\x6c\\x2b\\xdb\\xc9\\xf6\\xb2\\x83\\xec\\x28\\x3b\\xc9\\x68\\x19\\x23\\x3b\\xcb\\x2e\\xb2\\xab\\xec\\x26\\xbb\\xcb\\x1e\\xb2\\xa7\\xec\\x25\\xcf\\x93\\xbd\\xe5\\xf9\\xb2\\x8f\\xec\\x2b\\x63\\x65\\x3f\\x19\\x27\\x3d\\xd2\\x92\\xb6\\xf4\\xca\\x78\\x99\\x20\\xfb\\xcb\\x44\\x39\\x40\\x0e\\x94\\x83\\xe4\\x60\\x79\\x81\\x1c\\x22\\x93\\x64\\xb2\\x4c\\x91\\xa9\\x32\\x4d\\xa6\\xcb\\x0c\\x39\\x54\\x0e\\x93\\xc3\\xe5\\x85\\x72\\x84\\x1c\\x29\\x47\\xc9\\xd1\\x72\\x8c\\x1c\\x2b\\x2f\\x92\\xe3\\xe4\\x78\\x39\\x41\\x4e\\x94\\x93\\xe4\\x64\\x39\\x45\\x66\\xca\\xa9\\x72\\x9a\\x9c\\x2e\\xb3\\xe4\\x0c\\x39\\x53\\xce\\x92\\xd9\\x72\\xb6\\xcc\\x91\\xb9\\x32\\x4f\\xe6\\xcb\\x39\\xb2\\x40\\x16\\xca\\xb9\\x72\\x9e\\x2c\\x92\\xc5\\xb2\\x44\\xfa\\x64\\xa9\\x9c\\x2f\\xcb\\x64\\xb9\\xac\\x90\\x95\\x72\\x81\\x5c\\x28\\x17\\xc9\\xc5\\x72\\x89\\x5c\\x2a\\x2f\\x96\\x97\\xc8\\x65\\x72\\xb9\\x5c\\x21\\x2f\\x95\\x97\\xc9\\xcb\\xe5\\x15\\xf2\\x4a\\x79\\x95\\xbc\\x5a\\x56\\xc9\\x6b\\xe4\\xbf\\xe4\\x4a\\x79\\xad\\xbc\\x4e\\x5e\\x2f\\x57\\xc9\\x1b\\xe4\\x8d\\xf2\\x26\\x79\\xb3\\x5c\\x2d\\x6f\\x91\\xb7\\xca\\x7f\\xcb\\xdb\\xe4\\xed\\xf2\\x0e\\x79\\xa7\\xbc\\x4b\\xde\\x2d\\xef\\x91\\xf7\\xca\\xfb\\xe4\\xfd\\x72\\x8d\\x7c\\x40\\x3e\\x28\\x1f\\x92\\x0f\\xcb\\x47\\xe4\\xa3\\xf2\\x31\\xf9\\xb8\\x7c\\x42\\x3e\\x29\\x9f\\x92\\x6b\\xe5\\x3a\\xb9\\x5e\\x3e\\x2d\\x37\\xc8\\x67\\xe4\\xb3\\xf2\\x39\\xf9\\xbc\\x7c\\x41\\xbe\\x28\\x5f\\x92\\x2f\\xcb\\x57\\xe4\\xab\\xf2\\x35\\xf9\\xba\\x7c\\x43\\xbe\\x29\\x37\\xca\\x4d\\x72\\xb3\\xdc\\x22\\xdf\\x92\\x6f\\xcb\\x77\\xe4\\xbb\\xf2\\x3d\\xf9\\xbe\\xdc\\x2a\\xb7\\xc9\\xed\\xf2\\x03\\xb9\\x43\\x7e\\x28\\x77\\xca\\x5d\\x72\\xb7\\xdc\\x23\\xf7\\xca\\x8f\\xe4\\xc7\\xf2\\x13\\xf9\\xa9\\xfc\\x4c\\xee\\x93\\x9f\\xcb\\xfd\\xf2\\x0b\\xf9\\xa5\\xfc\\x4a\\x1e\\x90\\x07\\xe5\\x21\\xf9\\xb5\\x3c\\x2c\\xbf\\x91\\x47\\xe4\\x51\\x79\\x4c\\x7e\\x2b\\xbf\\x93\\xdf\\xcb\\x1f\\xe4\\x8f\\xf2\\xb8\\xfc\\x49\\x9e\\x90\\x27\\xe5\\xcf\\xf2\\x94\\xfc\\x45\\x9e\\x96\\xbf\\xca\\xdf\\xe4\\xef\\xf2\\x0f\\xf9\\xa7\\xac\\x96\\x35\\xd2\\x91\\xb5\\x3a\\xd1\\xa9\\xee\\x2e\\x4c\\x27\\x74\\x4d\\x97\\xba\\xae\\x1b\\xba\\xa9\\x07\\xe9\\xc1\\x7a\\x88\\x1e\\xaa\\x37\\xd3\\xc3\\xf4\\xe6\\x7a\\xb8\\xde\\x42\\x8f\\xd0\\x23\\xf5\\x96\\x7a\\x94\\xde\\x4a\\x6f\\xad\\xb7\\xd1\\xdb\\xea\\xed\\xf4\\xf6\\x7a\\x07\\xbd\\xa3\\xde\\x49\\x8f\\xd6\\x63\\xf4\\xce\\x7a\\x17\\xbd\\xab\\xde\\x4d\\xef\\xae\\xf7\\xd0\\x7b\\xea\\xbd\\xf4\\xf3\\xf4\\xde\\xfa\\xf9\\x7a\\x1f\\xbd\\xaf\\x1e\\xab\\xf7\\xd3\\xe3\\x74\\x8f\\x6e\\xe9\\xb6\\xee\\xd5\\xe3\\xf5\\x04\\xbd\\xbf\\x9e\\xa8\\x0f\\xd0\\x07\\xea\\x83\\xf4\\xc1\\xfa\\x05\\xfa\\x10\\x3d\\x49\\x4f\\xd6\\x53\\xf4\\x54\\x3d\\x4d\\x4f\\xd7\\x33\\xf4\\xa1\\xfa\\x30\\x7d\\xb8\\x7e\\xa1\\x3e\\x42\\x1f\\xa9\\x8f\\xd2\\x47\\xeb\\x63\\xf4\\xb1\\xfa\\x45\\xfa\\x38\\x7d\\xbc\\x3e\\x41\\x9f\\xa8\\x4f\\xd2\\x27\\xeb\\x53\\xf4\\x4c\\x7d\\xaa\\x3e\\x4d\\x9f\\xae\\x67\\xe9\\x33\\xf4\\x99\\xfa\\x2c\\x3d\\x5b\\x9f\\xad\\xe7\\xe8\\xb9\\x7a\\x9e\\x9e\\xaf\\xcf\\xd1\\x0b\\xf4\\x42\\x7d\\xae\\x3e\\x4f\\x2f\\xd2\\x8b\\xf5\\x12\\xdd\\xa7\\x97\\xea\\xf3\\xf5\\x32\\xbd\\x5c\\xaf\\xd0\\x2b\\xf5\\x05\\xfa\\x42\\x7d\\x91\\xbe\\x58\\x5f\\xa2\\x2f\\xd5\\x2f\\xd6\\x2f\\xd1\\x97\\xe9\\xcb\\xf5\\x15\\xfa\\xa5\\xfa\\x65\\xfa\\xe5\\xfa\\x15\\xfa\\x95\\xfa\\x55\\xfa\\xd5\\x7a\\x95\\x7e\\x8d\\xfe\\x2f\\x7d\\xa5\\x7e\\xad\\x7e\\x9d\\x7e\\xbd\\xbe\\x4a\\xbf\\x41\\xbf\\x51\\xbf\\x49\\xbf\\x59\\x5f\\xad\\xdf\\xa2\\xdf\\xaa\\xff\\x5b\\xbf\\x4d\\xbf\\x5d\\xbf\\x43\\xbf\\x53\\xbf\\x4b\\xbf\\x5b\\xbf\\x47\\xbf\\x57\\xbf\\x4f\\xbf\\x5f\\x5f\\xa3\\x3f\\xa0\\x3f\\xa8\\x3f\\xa4\\x3f\\xac\\x3f\\xa2\\x3f\\xaa\\x3f\\xa6\\x3f\\xae\\x3f\\xa1\\x3f\\xa9\\x3f\\xa5\\xaf\\xd5\\xd7\\xe9\\xeb\\xf5\\xa7\\xf5\\x0d\\xfa\\x33\\xfa\\xb3\\xfa\\x73\\xfa\\xf3\\xfa\\x0b\\xfa\\x8b\\xfa\\x4b\\xfa\\xcb\\xfa\\x2b\\xfa\\xab\\xfa\\x6b\\xfa\\xeb\\xfa\\x1b\\xfa\\x9b\\xfa\\x46\\x7d\\x93\\xbe\\x59\\xdf\\xa2\\xbf\\xa5\\xbf\\xad\\xbf\\xa3\\xbf\\xab\\xbf\\xa7\\xbf\\xaf\\x6f\\xd5\\xb7\\xe9\\xdb\\xf5\\x0f\\xf4\\x1d\\xfa\\x87\\xfa\\x4e\\x7d\\x97\\xbe\\x5b\\xdf\\xa3\\xef\\xd5\\x3f\\xd2\\x3f\\xd6\\x3f\\xd1\\x3f\\xd5\\x3f\\xd3\\xf7\\xe9\\x9f\\xeb\\xfb\\xf5\\x2f\\xf4\\x2f\\xf5\\xaf\\xf4\\x03\\xfa\\x41\\xfd\\x90\\xfe\\xb5\\x7e\\x58\\xff\\x46\\x3f\\xa2\\x1f\\xd5\\x8f\\xe9\\xdf\\xea\\xdf\\xe9\\xdf\\xeb\\x3f\\xe8\\x3f\\xea\\xc7\\xf5\\x9f\\xf4\\x13\\xfa\\x49\\xfd\\x67\\xfd\\x94\\xfe\\x8b\\x7e\\x5a\\xff\\x55\\xff\\x4d\\xff\\x5d\\xff\\x43\\xff\\x53\\xaf\\xd6\\x6b\\x74\\x47\\xaf\\x35\\x08\\xd9\\x40\\x9e\\x31\\xa8\\xc1\\x0c\\x4e\\x9e\\x27\\x2f\\x90\\x2d\\x86\\x20\\xcf\\x92\\xe7\\xc8\\x5b\\x86\\x46\\x2e\\x23\\x9b\\xc8\\xd5\\xe4\\x09\\x43\\x1a\\xba\\x61\\x18\\xa6\\x11\\x64\\x04\\x93\\xb7\\x8d\\x10\\x23\\xd4\\x68\\x46\\x5e\\x27\\x6f\\x18\\x61\\x46\\x73\\xf2\\xaa\\x11\\x6e\\xb4\\x30\\x22\\x8c\\x48\\xa3\\xa5\\x11\\x65\\xb4\\x32\\x5a\\x1b\\x6d\\x8c\\xb6\\x46\\x3b\\xa3\\xbd\\xd1\\xc1\\xe8\\x68\\x74\\x32\\xa2\\x8d\\x18\\xa3\\xb3\\xd1\\xc5\\xe8\\x4a\\x7e\\x35\\xba\\x19\\xdd\\x8d\\x1e\\x46\\x4f\\xa3\\x97\\x71\\x9e\\xd1\\xdb\\x38\\xdf\\xe8\\x63\\xf4\\x35\\x62\\x8d\\x7e\\x46\\x9c\\xe1\\x31\\x2c\\xc3\\x36\\xbc\\x46\\xbc\\x91\\x60\\xf4\\x37\\x12\\x8d\\x01\\xc6\\x40\\x72\\xad\\x31\\xc8\\x18\\x6c\\x5c\\x60\\x0c\\x31\\x92\\x8c\\x64\\x23\\xc5\\x48\\x35\\xd2\\x8c\\x74\\x23\\xc3\\x18\\x6a\\x0c\\x33\\x86\\x1b\\x17\\x1a\\x23\\x8c\\x91\\xc6\\x28\\x72\\x9b\\x31\\x9a\\xdc\\x41\\x6e\\x27\\xc7\\x8d\\x31\\x64\\x33\\x79\\x88\\xdc\\x64\\x8c\\x35\\x2e\\x22\\x77\\x91\\x47\\xc8\\x2a\\x63\\x1c\\x59\\x4d\\x6e\\x31\\xc6\\x1b\\x13\\x8c\\x89\\xc6\\x24\\x63\\xb2\\x31\\xc5\\xc8\\x34\\xa6\\x1a\\xd3\\x8c\\xe9\\x46\\x96\\x31\\xc3\\x98\\x69\\xcc\\x32\\xb2\\x8d\\xd9\\x46\\x8e\\x91\\x6b\\xe4\\x19\\xf9\\xc6\\x1c\\xa3\\xc0\\x28\\x34\\xe6\\x1a\\xf3\\x8c\\x22\\xa3\\xd8\\x28\\x31\\x7c\\x46\\xa9\\x31\\xdf\\x28\\x33\\xca\\x8d\\x0a\\xa3\\xd2\\x58\\x60\\x2c\\x34\\x16\\x19\\x8b\\x8d\\x25\\xc6\\x52\\xe3\\x62\\xe3\\x12\\x63\\x99\\xb1\\xdc\\x58\\x61\\x5c\\x6a\\x5c\\x66\\x5c\\x6e\\x5c\\x61\\x5c\\x69\\x5c\\x65\\x5c\\x6d\\x54\\x19\\xd7\\x18\\xff\\x32\\x56\\x1a\\xd7\\x1a\\xd7\\x19\\xd7\\x1b\\xab\\xc8\\x4b\\xc6\\x0d\\xc6\\x8d\\xc6\\x4d\\xc6\\xcd\\xc6\\x6a\\xe3\\x16\\xe3\\x56\\xe3\\xdf\\xc6\\x6d\\xc6\\xed\\xc6\\x1d\\xc6\\x9d\\xc6\\x5d\\xc6\\xdd\\xc6\\x3d\\xc6\\xbd\\xc6\\x7d\\xc6\\xfd\\xc6\\x1a\\xe3\\x01\\xe3\\x41\\xe3\\x21\\xe3\\x61\\xe3\\x11\\xe3\\x51\\xe3\\x31\\xe3\\x71\\xe3\\x09\\xe3\\x49\\xe3\\x29\\x63\\xad\\xb1\\xce\\x58\\x6f\\x3c\\x6d\\x6c\\x30\\x9e\\x31\\x9e\\x35\\x9e\\x33\\x9e\\x37\\x5e\\x30\\x5e\\x34\\x5e\\x32\\x5e\\x36\\x5e\\x31\\x5e\\x35\\x5e\\x33\\x5e\\x37\\xde\\x30\\xde\\x34\\x36\\x1a\\x9b\\x8c\\xcd\\xc6\\x16\\xe3\\x2d\\xe3\\x6d\\xe3\\x1d\\xe3\\x5d\\xe3\\x3d\\xf2\\x26\\xd9\\x68\\xbc\\x6f\\x6c\\x35\\xb6\\x19\\xdb\\x8d\\x0f\\x8c\\x1d\\xc6\\x87\\xc6\\x4e\\x63\\x97\\xb1\\xdb\\xd8\\x63\\xec\\x35\\x3e\\x32\\x3e\\x36\\x3e\\x31\\x3e\\x35\\x3e\\x33\\xf6\\x19\\x9f\\x1b\\xfb\\x8d\\x2f\\x8c\\x2f\\x8d\\xaf\\x8c\\x03\\xc6\\x41\\xe3\\x90\\xf1\\xb5\\x71\\xd8\\xf8\\xc6\\x38\\x62\\x1c\\x35\\x8e\\x19\\xdf\\x1a\\xdf\\x19\\xdf\\x1b\\x3f\\x18\\x3f\\x1a\\xc7\\x8d\\x9f\\x8c\\x13\\xc6\\x49\\xe3\\x67\\xe3\\x94\\xf1\\x8b\\x71\\xda\\xf8\\xd5\\xf8\\xcd\\xf8\\xdd\\xf8\\xc3\\xf8\\xd3\\xa8\\x36\\x6a\\x0c\\xc7\\xa8\\x35\\x89\\x49\\x4d\\x66\\x72\\x53\\x98\\x9a\\x29\\x4d\\xdd\\x34\\x4c\\xd3\\x0c\\x32\\x83\\xcd\\x10\\x33\\xd4\\x6c\\x66\\x86\\x99\\xcd\\xcd\\x70\\xb3\\x85\\x19\\x61\\x46\\x9a\\x2d\\xcd\\x28\\xb3\\x95\\xd9\\xda\\x6c\\x63\\xb6\\x35\\xdb\\x99\\xed\\xcd\\x0e\\x66\\x47\\xb3\\x93\\x19\\x6d\\xc6\\x98\\x9d\\xcd\\x2e\\x66\\x57\\xb3\\x9b\\xd9\\xdd\\xec\\x61\\xf6\\x34\\x7b\\x99\\xe7\\x99\\xbd\\xcd\\xf3\\xcd\\x3e\\x66\\x5f\\x33\\xd6\\xec\\x67\\xc6\\x99\\x1e\\xd3\\x32\\x6d\\xd3\\x6b\\xc6\\x9b\\x09\\x66\\x7f\\x33\\xd1\\x1c\\x60\\x0e\\x34\\x07\\x99\\x83\\xcd\\x0b\\xcc\\x21\\x66\\x92\\x99\\x6c\\xa6\\x98\\xa9\\x66\\x9a\\x99\\x6e\\x66\\x98\\x43\\xcd\\x61\\xe6\\x70\\xf3\\x42\\x73\\x84\\x39\\xd2\\x1c\\x65\\x8e\\x36\\xc7\\x98\\x63\\xcd\\x8b\\xcc\\x71\\xe6\\x78\\x73\\x82\\x39\\xd1\\x9c\\x64\\x4e\\x36\\xa7\\x98\\x99\\xe6\\x54\\x73\\x9a\\x39\\xdd\\xcc\\x32\\x67\\x98\\x33\\xcd\\x59\\x66\\xb6\\x39\\xdb\\xcc\\x31\\x73\\xcd\\x3c\\x33\\xdf\\x9c\\x63\\x16\\x98\\x85\\xe6\\x5c\\x73\\x9e\\x59\\x64\\x16\\x9b\\x25\\xa6\\xcf\\x2c\\x35\\xe7\\x9b\\x65\\x66\\xb9\\x59\\x61\\x56\\x9a\\x0b\\xcc\\x85\\xe6\\x22\\x73\\xb1\\xb9\\xc4\\x5c\\x6a\\x5e\\x6c\\x5e\\x62\\x2e\\x33\\x97\\x9b\\x2b\\xcc\\x4b\\xcd\\xcb\\xcc\\xcb\\xcd\\x2b\\xcc\\x2b\\xcd\\xab\\xcc\\xab\\xcd\\x2a\\xf3\\x1a\\xf3\\x5f\\xe6\\x4a\\xf3\\x5a\\xf3\\x3a\\xf3\\x7a\\x73\\x95\\x79\\x83\\x79\\xa3\\x79\\x93\\x79\\xb3\\xb9\\xda\\xbc\\xc5\\xbc\\xd5\\xfc\\xb7\\x79\\x9b\\x79\\xbb\\x79\\x87\\x79\\xa7\\x79\\x97\\x79\\xb7\\x79\\x8f\\x79\\xaf\\x79\\x9f\\x79\\xbf\\xb9\\xc6\\x7c\\xc0\\x7c\\xd0\\x7c\\xc8\\x7c\\xd8\\x7c\\xc4\\x7c\\xd4\\x7c\\xcc\\x7c\\xdc\\x7c\\xc2\\x7c\\xd2\\x7c\\xca\\x5c\\x6b\\xae\\x33\\xd7\\x9b\\x4f\\x9b\\x1b\\xcc\\x67\\xcc\\x67\\xcd\\xe7\\xcc\\xe7\\xcd\\x17\\xcc\\x17\\xcd\\x97\\xcc\\x97\\xcd\\x57\\xcc\\x57\\xcd\\xd7\\xcc\\xd7\\xcd\\x37\\xcc\\x37\\xcd\\x8d\\xe6\\x26\\x73\\xb3\\xb9\\xc5\\x7c\\xcb\\x7c\\xdb\\x7c\\xc7\\x7c\\xd7\\x7c\\xcf\\x7c\\xdf\\xdc\\x6a\\x6e\\x33\\xb7\\x9b\\x1f\\x98\\x3b\\xcc\\x0f\\xcd\\x9d\\xe6\\x2e\\x73\\xb7\\xb9\\xc7\\xdc\\x6b\\x7e\\x64\\x7e\\x6c\\x7e\\x62\\x7e\\x6a\\x7e\\x66\\xee\\x33\\x3f\\x37\\xf7\\x9b\\x5f\\x98\\x5f\\x9a\\x5f\\x99\\x07\\xcc\\x83\\xe6\\x21\\xf3\\x6b\\xf3\\xb0\\xf9\\x8d\\x79\\xc4\\x3c\\x6a\\x1e\\x33\\xbf\\x35\\xbf\\x33\\xbf\\x37\\x7f\\x30\\x7f\\x34\\x8f\\x9b\\x3f\\x99\\x27\\xcc\\x93\\xe6\\xcf\\xe6\\x29\\xf3\\x17\\xf3\\xb4\\xf9\\xab\\xf9\\x9b\\xf9\\xbb\\xf9\\x87\\xf9\\xa7\\x59\\x6d\\xd6\\x98\\x8e\\x59\\x1b\\x44\\x82\\x68\\x10\\x0b\\xe2\\x41\\x22\\x48\\x0b\\x92\\x41\\x7a\\x90\\x11\\x64\\x06\\x05\\x05\\x05\\x07\\x85\\x04\\x85\\x06\\x35\\x0b\\x0a\\x0b\\x6a\\x1e\\x14\\x1e\\xd4\\x22\\x28\\x22\\x28\\x52\\xaf\\x2c\\x29\\xec\\xd7\\x2f\\xb9\\x1f\\x6e\\xd3\\x4c\\xdf\\x82\\xbc\\xb2\\xf2\\x1c\\x5f\\x59\\x1e\\x2f\\xae\\x8c\\x93\\xc5\\x85\\xb9\\xb9\\xbe\\x0a\\x3d\\xb9\\xd8\\x7d\\xb0\\x5c\\xa2\\x67\\xfb\\xb7\\x32\\x79\\x76\\x59\\xde\\x82\\x3c\\x99\\xad\\x36\\x7a\\xb2\\x6f\\x8e\\xaf\\x24\\x6f\\x9e\\x9e\\xed\\xdf\\x06\\xa7\\xe6\\x14\\x96\\xe5\\x54\\x16\\xe7\\x17\\xe5\\x2d\\x0a\\xce\\x39\\x53\\x0e\\x4a\\x05\\x53\\xd9\\x39\\x39\\x79\\x25\\x15\\x41\\x39\\xf5\\x45\\x99\\x96\\x93\\xed\\x9a\\xcc\\xf5\\x6f\\xd2\\xc0\\x7e\\x76\\x85\\x9e\\x8e\\x0e\\xf3\\xd0\\x61\\xba\\xdf\\x61\\x9e\\xda\\x04\\xa5\\x9f\\x31\\x94\\x57\\x5f\\xd4\\xd3\\x31\\x8c\\x3c\\xff\\x56\\xa6\\xfb\\x2d\\xe6\\xa9\\x4d\\xf0\\xd0\\x80\\xa0\\xe6\\x04\\x04\\x35\\xf4\\x8c\\xad\\x39\\xf5\\xc5\\x90\\xa1\\x39\\xbe\\xe2\\xe2\\x6c\\xfc\\x63\\x4e\\xc0\\x1f\\xc1\\xc3\\x02\\xec\\x14\\x9c\\x29\\x8b\\x61\\xb3\\xb3\\xcb\\x44\\x01\\x80\\x1c\\x5e\\x51\\x58\\x94\\x9b\\x27\\x0b\\xd5\\x46\\x1f\\x8e\\x35\\x29\\xc4\\x9a\\x0c\\xf7\\xd7\\xa4\\xd0\\x9f\\xba\\xe1\\x18\\x73\\xa1\\x7f\\xcb\\x86\\x5f\\xc8\\x0a\\xe7\\x06\\x5f\\x18\\xe0\\x63\\xee\\x99\\x72\\xc8\\x88\\xc0\\xa8\\xe6\\x35\\xf8\\x63\\x8e\\xfb\\x39\\x45\\x51\\x76\\x49\\x6e\\x61\\x8e\\x1c\\x99\\x9d\\x53\\x59\\x91\\x27\\x8b\\xd4\\x26\\x64\\x64\\xe0\\x79\\x45\\x01\\x7f\\xc8\\x91\\xfe\\x04\\x15\\xa9\\x8d\\x18\\x09\\xb5\\x17\\x45\\x00\\x72\\xb4\\xff\\xfa\\x12\\xff\\xf5\\xa3\\x03\\xaf\\x2f\\x09\\xbc\\x7e\\xb4\\xff\\xfa\\x12\\x7f\\x82\\x4b\\xb2\\x4b\\x7d\\xe5\\x15\\x65\\xbe\\xd2\\x82\\x3c\\x9e\\x5e\\x32\\x87\\xe7\\x95\\xcc\\xd1\\xc7\\x60\\xe5\\x7d\\x58\\xf9\\x31\\xfe\\xca\\xfb\\xd4\\x26\\x74\\x4c\\x41\\x65\\xc9\\x9c\\xec\\xb2\\xca\\xe2\\xa2\\xec\\xca\\x8a\\x50\\x5f\\xe0\\x5f\\x72\\x9c\\x3f\\x86\\x32\\x7f\\x0c\\xe3\\x02\\x63\\x28\\x0b\\x8c\\x61\\x9c\\x3f\\x86\\x32\\xff\\x66\\xbc\\xff\\xaa\\x72\\xb5\\x09\\x1e\\x1f\\x90\\xc6\\xf2\\x80\\x34\\x4e\\x08\\xb4\\x56\\x11\\x68\\x6d\\x82\\xdf\\x4c\\x85\\x3f\\x23\\x13\\xdc\\x26\\xad\\x70\\x9b\\x74\\xa2\\xbf\\x49\\x2b\\xfd\\x4d\\x3a\\x11\\x6b\\x55\\x89\\xb5\\x9a\\xe8\\xaf\\x55\\xa5\\xda\\x68\\x13\\xcb\\x0a\\x4b\\xe6\\x68\\x95\\x2e\\x86\\x4e\\x6c\\x50\\xc3\\xca\\xc0\\xbf\\xf4\\x89\\xd8\\xf4\\x95\\x78\\xd7\\x4c\\x0e\\x88\\x76\\x61\\x40\\x39\\x33\\xa0\\xbc\\xf8\\x4c\\x59\\x4e\\xf5\\xd7\\x75\\x89\\xda\\x04\\x4d\\x3d\\xd3\\x8d\\x97\\xd4\\x17\\xb5\\x22\\x5f\\xc9\\x9c\\x72\\x75\\x6b\\xc7\\xf5\\xef\\x87\\xdb\\x38\\xdc\\x7a\\x70\\x6b\\xe1\\xd6\\xc6\\xad\\x17\\xb7\\xf1\\xb8\\x4d\\xc0\\x6d\\x7f\\xdc\\x26\\xe2\\x36\\x19\\xb7\\x29\\xb8\\x4d\\xc5\\x6d\\x1a\\x6e\\xd3\\x71\\x9b\\xe1\\xdf\\x26\\xa2\\xff\\x44\\xf4\\x9f\\x88\\x7e\\x13\\xd1\\x6f\\x22\\xfa\\x4d\\x44\\xbf\\x89\\xe8\\x37\\x11\\xfd\\x26\\xa2\\xdf\\x44\\xf4\\x9b\\x88\\x7e\\x13\\xd1\\x6f\\x22\\xfa\\x4d\\x44\\xbf\\x89\\x19\\xda\\x98\\x02\\x5f\\x19\\x4c\\x37\\x5d\\xf4\\xef\\x4b\\xc6\\x3a\\x27\\xa3\\xef\\x64\\xf4\\x9d\\x8c\\xbe\\x93\\xd1\\x77\\x32\\xfa\\x4e\\x46\\xdf\\xc9\\xe8\\x3b\\x19\\x7d\\x27\\xa3\\xef\\x64\\xf4\\x9d\\x8c\\xbe\\x93\\xd3\\xb5\\x89\\xca\\x67\\xe5\\x19\\x9f\\x29\\x58\\xdf\\x14\\xf4\\x9d\\x82\\xbe\\x53\\xd0\\x77\\x0a\\xfa\\x4e\\x41\\xdf\\x29\\xe8\\x3b\\x05\\x7d\\xa7\\xa0\\xef\\x14\\xf4\\x9d\\x82\\xbe\\x53\\xd0\\x77\\x0a\\xfa\\x4e\\xc1\\x7a\\xa7\\x60\\xbe\\x53\\x31\\xdf\\xa9\\xe8\\x3f\\x15\\xfd\\xa7\\xa2\\xff\\x54\\xf4\\x9f\\x8a\\xfe\\x53\\xd1\\x7f\\x2a\\xfa\\x4f\\x45\\xff\\xa9\\xe8\\x3f\\x15\\xfd\\xa7\\xa2\\xff\\x54\\xf4\\x9f\\x8a\\xfe\\x53\\xd1\\x7f\\x2a\\xfa\\x4f\\x43\\xff\\x69\\xe8\\x3f\\x0d\\xfd\\xa7\\xa1\\xff\\x34\\xf4\\x9f\\x86\\xfe\\xd3\\xd0\\x7f\\x1a\\xfa\\x4f\\x43\\xff\\x69\\xe8\\x3f\\x0d\\xfd\\xa7\\xa1\\xff\\x34\\xf4\\x9f\\x86\\xfe\\xd3\\xd0\\x7f\\x1a\\xfa\\x4f\\x47\\xff\\xe9\\xe8\\x3f\\x1d\\xfd\\xa7\\xa3\\xff\\x74\\xf4\\x9f\\x8e\\xfe\\xd3\\xd1\\x7f\\x3a\\xfa\\x4f\\x47\\xff\\xe9\\xe8\\x3f\\x1d\\xfd\\xa7\\xa3\\xff\\x74\\xf4\\x9f\\x8e\\xfe\\xd3\\xd1\\x7f\\x3a\\xfa\\xcf\\x40\\xff\\x19\\xe8\\x3f\\x03\\xfd\\x67\\xa0\\xff\\x0c\\xf4\\x9f\\x81\\xfe\\x33\\xd0\\x7f\\x06\\xfa\\xcf\\x40\\xff\\x19\\x89\\x41\\xc9\\xee\\x58\\xe2\\xbf\\xcd\\xb3\\xeb\\x8b\\x7a\\x72\\xba\\x7f\\x9b\\x9d\\xe7\\x1f\\xed\\xc6\\x94\\x17\\x65\\x97\\x17\\xf8\\xcb\\xbe\\x33\\x65\\x65\\xc5\\xd3\\xaf\\x1f\\x6e\\xe3\\x70\\xeb\\xc1\\xad\\x85\\x5b\\x1b\\xb7\\x5e\\xdc\\xc6\\xe3\\x36\\x01\\xb7\\xfd\\x71\\x9b\\x88\\xdb\\x64\\xdc\\xa6\\xe0\\x36\\x15\\xb7\\x69\\xb8\\x4d\\xc7\\xad\\x3f\\x1b\\x9e\\x38\\xf4\\x1f\\x87\\xfe\\xe3\\xd0\\x7f\\x1c\\xfa\\x8f\\x43\\xff\\x71\\xe8\\x3f\\x0e\\xfd\\xc7\\x25\\x84\\x8c\\x0f\\x1c\\xad\\xcb\\x03\\xfe\\xc0\\x33\\x30\\x92\\x38\\x8c\\x24\\x0e\\x23\\x89\\xc3\\x48\\xe2\\x30\\x92\\x38\\x8c\\xc4\\x83\\x91\\x78\\x30\\x12\\x0f\\x46\\xe2\\xc1\\x48\\x3c\\x18\\x89\\x07\\x23\\xf1\\x60\\x24\\x1e\\xcc\\x84\\x07\\x33\\xe1\\xc1\\x4c\\x78\\xd0\\xbf\\x07\\xfd\\x7b\\xd0\\xbf\\x07\\xfd\\x7b\\xd0\\xbf\\x07\\xfd\\x5b\\xe8\\xdf\\x42\\xff\\x16\\xfa\\xb7\\xd0\\xbf\\x85\\xfe\\x2d\\xf4\\x6f\\xc5\\x9b\\x73\\xfb\\xc2\\x88\\x5e\\x94\\x57\\x5e\\x8e\\x7b\\x30\\x02\\x0b\\x23\\xb0\\x30\\x02\\x0b\\x23\\xb0\\x30\\x02\\x0b\\x23\\xb0\\x30\\x02\\x0b\\x23\\xb0\\x31\\x02\\x1b\\x23\\xb0\\x31\\x02\\x1b\\x23\\xb0\\x31\\x02\\x1b\\x23\\xb0\\x31\\x03\\x36\\x66\\xc0\\x46\\xff\\x36\\xfa\\xb7\\xd1\\xbf\\x8d\\xfe\\x6d\\xf4\\x6f\\xa3\\x7f\\x1b\\xfd\\xdb\\xe8\\xdf\\x8b\\xfe\\xbd\\xe8\\xdf\\x8b\\xfe\\xbd\\xe8\\xdf\\x8b\\xfe\\xbd\\xe8\\xdf\\x8b\\xfe\\xbd\\xe8\\xdf\\x8b\\xfe\\xbd\\xe8\\xdf\\x8b\\xfe\\xbd\\xe8\\xdf\\x8b\\xfe\\xbd\\xe8\\xdf\\x8b\\xfe\\xbd\\xe8\\x3f\\x1e\\xfd\\xc7\\xa3\\xff\\x78\\xf4\\x1f\\x8f\\xfe\\xe3\\xd1\\x7f\\x3c\\xfa\\x8f\\x47\\xff\\xf1\\xe8\\x3f\\x1e\\xfd\\xc7\\xa3\\xff\\x78\\xf4\\x1f\\x8f\\xfe\\xe3\\xd1\\x7f\\x3c\\xfa\\x8f\\x47\\xff\\xf1\\xe8\\x3f\\x01\\xfd\\x27\\xa0\\xff\\x04\\xf4\\x9f\\x80\\xfe\\x13\\xd0\\x7f\\x02\\xfa\\x4f\\x40\\xff\\x09\\xe8\\x3f\\x01\\xfd\\x27\\xa0\\xff\\x04\\xf4\\x9f\\x80\\xfe\\x13\\xd0\\x7f\\x02\\xfa\\x4f\\x40\\xff\\x09\\xe8\\x1f\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x07\\x95\\x80\\x27\\x11\\xfd\\xa3\\x22\\xf0\\xa0\\x22\\xf0\\xa0\\x22\\xf0\\xa0\\x22\\xf0\\xa0\\x22\\xf0\\xa0\\x22\\xf0\\xa0\\x22\\xf0\\xa0\\x22\\xf0\\xa0\\x22\\xf0\\xa0\\x22\\xf0\\xa0\\x22\\xf0\\xa0\\x22\\xf0\\x24\\xa2\\x7f\\x9c\\xec\\x78\\x92\\xd1\\x3f\\xaa\\x02\\x0f\\xaa\\x02\\x0f\\xaa\\x02\\x0f\\xaa\\x02\\x0f\\xaa\\x02\\x0f\\xaa\\x02\\x0f\\xaa\\x02\\x0f\\xaa\\x02\\x0f\\xaa\\x02\\x0f\\xaa\\x02\\x0f\\xaa\\x02\\x0f\\xaa\\x02\\x4f\\x32\\xfa\\x4f\\x46\\xff\\x29\\xe8\\x1f\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x81\\x07\\x95\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x15\\x80\\x07\\x19\\xdd\\x83\\x8c\\xee\\x41\\x46\\xf7\\x20\\xa3\\x7b\\x90\\xd1\\x3d\\xc8\\xe8\\x1e\\x64\\x74\\x0f\\x32\\xba\\x07\\x19\\xdd\\x83\\x8c\\xee\\x41\\x46\\xf7\\x20\\xa3\\x7b\\x90\\xd1\\x3d\\xc8\\xe8\\x1e\\x64\\x74\\x0f\\x32\\xba\\x07\\x19\\xdd\\x83\\x8c\\xee\\x41\\x46\\xf7\\x20\\xa3\\x7b\\x90\\xd1\\x3d\\xc8\\xe8\\x1e\\x64\\x74\\x0f\\x32\\xba\\x07\\x19\\xdd\\x83\\x8c\\xee\\x41\\x46\\xf7\\x64\\xa0\\xff\\x0c\\xf4\\x9f\\x81\\xfe\\x33\\xd0\\x7f\\x06\\xfa\\xcf\\x40\\xff\\x19\\x19\\xe6\\x9c\\xb2\\xec\\x05\\x79\\x40\\x7d\\xb3\\x4d\\xc5\\xe9\\x6e\\x49\\x1d\\xb3\\xfa\\x79\\x4c\\x35\\x27\\x09\\xd8\\x63\\xe3\\xd6\\x8b\\xdb\\x78\\xdc\\x26\\xe0\\xb6\\x7f\\x68\\x81\\xcf\\x37\\x2f\\x7b\\xb6\\x6f\\x41\\xe0\\x55\\xc9\\xb8\\x4d\\xc1\\x6d\\x2a\\x6e\\xd3\\x70\\x9b\\x8e\\x5b\\x7f\\x2e\\x2c\\xe4\\x73\\x0b\\xf9\\xdc\\x42\\x3e\\xb7\\x90\\xcf\\x2d\\xe4\\x73\\x0b\\xf9\\xdc\\x42\\x3e\\xb7\\xe2\\x30\\x8a\\xb8\\xfe\\xb8\\x4d\\xc4\\x2d\\xfa\\x47\\x16\\xb7\\x90\\xc5\\x2d\\x64\\x71\\x0b\\x59\\xdc\\x42\\x16\\xb7\\x90\\xc5\\x2d\\x64\\x71\\xcb\\xe3\\x09\\x01\\x8e\\x9c\\x9d\\x57\\xe4\\x5b\\x78\\xa6\\x52\\x48\\xe5\\x16\\x52\\xb9\\x85\\x54\\x6e\\x21\\x95\\x5b\\x48\\xe5\\x16\\x52\\xb9\\x85\\x54\\x6e\\x21\\x95\\x5b\\x48\\xe5\\x16\\x52\\xb9\\x85\\x54\\x6e\\x21\\x95\\x5b\\x48\\xe5\\x16\\x52\\xb9\\x85\\x54\\x6e\\x21\\x95\\x5b\\x48\\xe5\\x16\\x52\\xb9\\x65\\xa1\\x7f\\x0b\\xfd\\x23\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x91\\x5b\\x48\\xe4\\x16\\x12\\xb9\\x85\\x44\\x6e\\x21\\x51\\x5b\\x48\\xd4\\x16\\x12\\xb1\\x85\\x44\\x6c\\x21\\x11\\x5b\\x48\\xc4\\x56\\x42\\xba\\x56\\xe1\\x2b\\xf1\\x95\\x87\\xe6\\x16\\xe6\\x95\\xe5\\x95\\x17\\x96\\xab\\xbf\\x82\\x92\\x8b\\x4a\\x0b\\xb2\\x55\\xd1\\xcc\\x2e\\xf1\\x55\\xe4\\x15\\xe5\\x15\\x66\\x87\\xa4\\x97\\x96\\x17\\xc2\\xec\\x5d\\xed\\x36\\xd2\\x2b\\xf0\\xf8\\x70\\x1f\\x96\\x42\\xc6\\x14\\x17\\xba\\xcf\\x1e\\xfc\\x7f\\x4c\\x0c\\x38\\x39\\x68\\x4c\\x71\\xde\\x1c\\xff\\x49\\xe1\\x85\\x70\\x7a\\x03\\x5f\\x9a\\xf2\\x25\\x52\\xf2\\x2a\\xb2\\xb5\\xa1\\xd9\\xa0\\xa4\\x75\\xf4\\x23\\xa6\\xc2\\x2e\\x0e\\x7e\\xb4\\x09\\x05\\x50\\x12\\xae\\x23\\x6d\\x44\\x76\\x69\\x69\\xb6\\x1c\\x99\\x5d\\x3c\\x3b\\x37\\x9b\\x8d\\xaa\\x64\\xa3\\x2b\\xd9\\x94\\x42\\x1d\\x3d\\xb3\\xb1\\x85\\x7c\\x5c\\x81\\x4f\\x1b\\x5f\\x38\\xa7\\x38\\x9b\\x4f\\xc8\\xae\\xd4\\x31\\x0a\\x3e\\xb6\\xa0\\x90\\xa7\\xc2\\xbf\\xb1\\xe5\\x85\\x21\\xc3\\x03\\x22\\x08\\xc3\\x13\\xea\\xfe\\x0e\\xca\\xae\\xaf\\x78\\x48\\x5e\\x60\\x75\\xf3\\xea\\xaa\\x5b\\x58\\x57\\xdd\\xc8\\xca\\x86\\x97\\xfa\\x2b\\xa3\\xae\\x17\\xb3\\xdd\\xca\\xcc\\x71\\x2b\\xa3\\xe5\\xe6\\x15\\x55\\x64\\xeb\\x68\\x4b\\x2c\\x71\\xab\\xe4\\x1e\\xac\\x50\\x55\\x72\\x8d\\x69\\xf3\\x54\\x95\\x8a\\xfc\\x55\\x2a\\xa9\\x64\\x8b\\x0a\\x75\\x9f\\xbf\\x3e\\xbc\\xac\\xc0\\x27\\xcb\\xdd\\xca\\xc4\\x69\\x6a\\xc3\\x2b\\xa0\\x4e\\xe8\\x97\\x97\\x42\\x7d\\x72\\xe0\\x1f\\xfc\\xa9\\xf9\\xdc\\x04\\x87\\x04\\xe6\\x36\\xac\\x51\\x78\\x21\\xbe\\xc0\\xd6\\xa9\\x0c\\x6c\\x1d\\x5f\\x7d\\xeb\\xf8\\xfb\\x04\\x92\\xa4\\x85\\x24\\x69\\x21\\x49\\x5a\\x48\\x92\\x16\\x92\\xa4\\x85\\x24\\x69\\x21\\x49\\x5a\\x48\\x92\\x16\\x4e\\x93\\x2d\\x9c\\x26\\x5b\\x38\\x4d\\xb6\\x70\\x9a\\x6c\\xe1\\x34\\xd9\\xc2\\x69\\xb2\\x85\\xa4\\x6a\\x21\\xa9\\x5a\\x48\\xaa\\x16\\x92\\xaa\\x85\\xa4\\x6a\\x21\\xa9\\x5a\\x48\\xaa\\x16\\x92\\xaa\\x85\\xa4\\x6a\\x21\\xa9\\x5a\\x48\\xaa\\x16\\x92\\xaa\\x85\\xa4\\x6a\\x21\\xa9\\x5a\\x48\\xaa\\x16\\x92\\xaa\\x85\\xa4\\x6a\\x21\\xa9\\x5a\\x48\\xaa\\x16\\x92\\xaa\\x85\\xa4\\x6a\\x21\\xa9\\x5a\\x48\\xaa\\x16\\x92\\xaa\\x85\\xa4\\x6a\\x21\\xa9\\x5a\\x48\\xaa\\x16\\x92\\xaa\\x85\\xa4\\x6a\\x21\\xa9\\x5a\\x48\\xaa\\x16\\x92\\xaa\\x85\\xa4\\x6a\\x65\\xf8\\xfd\\xdb\\x38\\x31\\xb6\\x71\\x62\\x6c\\xe3\\xc4\\xd8\\xc6\\x89\\xb1\\x8d\\x74\\x6a\\x23\\x9d\\xda\\x48\\xa7\\x36\\xd2\\xa9\\x8d\\x13\\x63\\x1b\\x27\\xc6\\x36\\x12\\xa9\\x8d\\x44\\x6a\\x23\\x91\\xda\\x48\\xa4\\x36\\x12\\xa9\\x8d\\x44\\x6a\\x23\\x91\\xda\\x48\\xa4\\x36\\x12\\xa9\\x8d\\x44\\x6a\\x23\\x91\\xda\\x48\\xa4\\x36\\x12\\xa9\\x8d\\x44\\x6a\\x23\\x91\\xda\\x48\\xa4\\x36\\x12\\xa9\\x8d\\x44\\x6a\\x23\\x91\\xda\\x48\\xa4\\x36\\x12\\xa9\\x8d\\x44\\x6a\\x23\\x91\\xda\\x48\\xa4\\x36\\x4e\\x87\\x6d\\x9c\\x0e\\xdb\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\x38\\x19\\xb6\\x71\\x32\\x6c\\xe3\\x64\\xd8\\xc6\\xc9\\xb0\\x8d\\x1c\\x6b\\x23\\xc7\\xda\\x38\\x19\\xb6\\x71\\x32\\x6c\\xe3\\x64\\xd8\\xc6\\xc9\\xb0\\x8d\\x1c\\x6c\\x23\\x07\\xdb\\xc8\\xc1\\x36\\x72\\xb0\\x8d\\x93\\x61\\x1b\\x27\\xc3\\x36\\x4e\\x86\\x6d\\x9c\\x0c\\xdb\\x38\\x19\\xb6\\x71\\x32\\x6c\\xe3\\x64\\xd8\\xc6\\xc9\\xb0\\x8d\\x93\\x61\\x1b\\x27\\xc3\\x36\\x4e\\x86\\x6d\\x9c\\x0c\\xdb\\x38\\x19\\xb6\\x71\\x32\\x6c\\xe3\\x64\\xd8\\xc6\\xc9\\xb0\\x8d\\x93\\x61\\x1b\\x27\\xc3\\x36\\x4e\\x86\\x6d\\x9c\\x0c\\xdb\\x38\\x19\\xb6\\x71\\x32\\x6c\\xe3\\x64\\xd8\\xc6\\xc9\\xb0\\x8d\\x93\\x61\\x1b\\x27\\xc3\\x36\\x4e\\x86\\x6d\\x9c\\x0c\\xdb\\x38\\x19\\xb6\\x71\\x32\\x6c\\xe3\\x64\\xd8\\xc6\\xc9\\xb0\\x8d\\x93\\x61\\x1b\\x27\\xc3\\x36\\x4e\\x86\\x6d\\x9c\\x0c\\xdb\\x38\\x19\\xb6\\x71\\x32\\x6c\\xe3\\x64\\xd8\\xc6\\xc9\\xb0\\x8d\\x93\\x61\\x1b\\x27\\xc3\\x36\\x4e\\x86\\x6d\\x9c\\x0c\\xdb\\x38\\x19\\xb6\\x71\\x32\\x6c\\xe3\\x64\\xd8\\xc6\\xc9\\xb0\\x8d\\x93\\x61\\x1b\\x27\\xc3\\x36\\x4e\\x86\\x6d\\x9c\\x0c\\xdb\\x38\\x19\\xb6\\x71\\x32\\x6c\\xe3\\x64\\xd8\\xc6\\xc9\\xb0\\x8d\\x93\\x61\\x1b\\x27\\xc3\\x36\\x4e\\x86\\x6d\\x9c\\x0c\\xdb\\x38\\x19\\xb6\\x71\\x32\\x6c\\xe3\\x64\\xd8\\xc6\\xc9\\xb0\\x8d\\x93\\x61\\x1b\\x27\\xc3\\x36\\x4e\\x86\\x6d\\x9c\\x0c\\xdb\\x38\\x19\\xb6\\x71\\x32\\x6c\\xe3\\x64\\xd8\\xc6\\xc9\\xb0\\x8d\\x8f\\xc9\\x6d\\x7c\\x4c\\x6e\\xe3\\xe4\\xd8\\xc6\\xc7\\xe4\\x36\\x4e\\x92\\x6d\\x9c\\x24\\xdb\\x38\\x49\\xb6\\x71\\x92\\x6c\\xe3\\x24\\xd9\\xc6\\x49\\xb2\\x8d\\xfc\\x6f\\x23\\xff\\xdb\\xc8\\xff\\x36\\xf2\\xbf\\x8d\\xfc\\x6f\\x23\\xff\\xdb\\xc8\\xff\\x36\\xf2\\xbf\\x9d\\xd6\\xdf\\xcc\\xce\\x2f\\x2c\\x8c\\xeb\\xd7\\xbf\\x6e\\x64\\x42\\x05\\x60\\xa3\\x02\\xb0\\x51\\x01\\xd8\\xa8\\x00\\x6c\\x54\\x00\\x36\\x2a\\x00\\x1b\\x15\\x80\\x8d\\x0a\\xc0\\x46\\x05\\x60\\xa3\\x02\\xb0\\x51\\x01\\xd8\\xa8\\x00\\x6c\\x54\\x00\\x36\\x2a\\x00\\x1b\\x15\\x80\\x8d\\x0a\\xc0\\x46\\x05\\x60\\xa3\\x02\\xb0\\x51\\x01\\xd8\\xa8\\x00\\x6c\\x54\\x00\\x36\\x2a\\x00\\x1b\\x15\\x80\\x8d\\x0a\\xc0\\x46\\x05\\x60\\xa3\\x02\\xb0\\x51\\x01\\xd8\\xa8\\x00\\x6c\\x54\\x00\\x36\\x2a\\x00\\x1b\\x15\\x80\\x8d\\x0a\\xc0\\x46\\x05\\x60\\xa3\\x02\\xb0\\x51\\x01\\xd8\\xa8\\x00\\x6c\\x54\\x00\\x36\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x2a\\x00\\x2f\\x32\\xba\\x17\\x19\\xdd\\x8b\\x8c\\xee\\x45\\x46\\xf7\\xe2\\xc8\\xe1\\xc5\\x91\\xc3\\x8b\\x23\\x87\\x17\\x47\\x0e\\x2f\\x8e\\x1c\\x5e\\x1c\\x39\\xbc\\x38\\x72\\x78\\x71\\xe4\\xf0\\xe2\\xc8\\xe1\\xc5\\x91\\xe3\\xff\\xd8\\x7b\\x1b\\x30\\xab\\x8a\\x33\\x4f\\xbc\\xce\\xa9\\x73\\x6f\\xdf\\x7b\\xfb\\x83\\x06\\x3b\\x0e\\x10\\x40\\x82\\x3c\\x19\\x27\\x0f\\x4f\\xfe\\xf4\\xed\\xbe\\x5f\\x86\\x38\\xf6\\x47\\x55\\x94\\x10\\xf5\\x4f\\x00\\x91\\x10\\xb5\\xa1\\x6f\\x73\\x5b\\x9b\\xee\\xa6\\x3f\\xf8\\x30\\x46\\x59\\xd7\\x71\\x13\\x31\\x91\\x98\\x8c\\xeb\\xb2\\xae\\xcb\\xba\\xae\\x22\\x71\\x19\\x87\\x61\\xdd\\x8c\\xc3\\x66\\x24\\x31\\x8a\\x86\\x56\\x07\\x01\\x21\\x10\\x47\\x40\\x10\\x0d\\x0a\\x62\\x83\\xc8\\x90\\xbe\\xfb\\x56\\x9d\\xdf\\xbd\\xa7\\xee\\xe9\\xdb\\xd8\\xe8\\x98\\x4d\\xf6\\xd9\\xa7\\x9f\\xaa\\x7a\\xab\\xce\\x5b\\xef\\xef\\xad\\xb7\\xea\\x9c\\xf7\\xad\\x73\\xce\\xed\\x13\\xc3\\x95\\x23\\x86\\x2b\\x47\\x2c\\x95\\xc3\\x81\\xde\\xb8\\x72\\xc4\\x70\\xe5\\x88\\xe1\\xca\\x11\\xc3\\x95\\x23\\x86\\x2b\\x47\\x0c\\x57\\x8e\\x18\\xae\\x1c\\x31\\x5c\\x39\\x62\\xb8\\x72\\xc4\\x70\\xe5\\x88\\xe1\\xca\\x11\\xc3\\x95\\x23\\x86\\x2b\\x47\\x0c\\x57\\x8e\\x18\\xae\\x1c\\x31\\x5c\\x39\\x62\\x75\\x32\\xd0\\x9d\\x49\\x2f\\x6d\\x8a\\xd0\\xde\\xa1\\xa9\\xa5\\x3b\\xbd\\xa8\\xa3\\xcd\\x25\\x3b\\x29\\xcb\\x94\\x6a\\x72\\x49\\xd3\\xe2\\xa6\\x9e\\xee\\x40\\xa6\\xb5\\xab\\x75\\x49\\xa0\\xa7\\x9b\\xa2\\xf2\\x80\\x66\\x0c\\x68\\x9e\\x60\\xee\\x70\\x07\\x6d\\x04\\x5c\\xa1\\xf5\\x75\\xc1\\x25\\xbd\\x0b\\x7a\\x7b\\xba\\x83\\xcd\\x4d\\x8b\\xd2\\xdd\\x99\\xc0\\xe2\\x74\\x4f\\x7a\\x51\\x60\\x71\\xd3\\x92\\xa6\\x16\\xa7\\xab\\xa9\\x25\\x4d\\x3d\\xbb\\xd3\\x4b\\x4a\\xd4\\x0f\\x0e\\xd5\\x23\\xf2\\x6e\\x5d\\x84\\xba\\x3b\\x08\\xb5\\xbb\\x77\\x49\\xb8\\xb7\\xb3\\x33\\xdd\\x75\\x83\\x6a\\x6a\\xeb\\x58\\x96\\xee\\x52\\xef\\x4c\\x68\\xb9\\x0d\\xf1\\x52\\x17\\x6c\\x09\\x01\\xb7\\x3b\\x4d\\x6d\\xe9\\x16\\x4e\\x1b\\x96\\xc0\\xa2\\xd6\\xc5\\xe9\\xb6\\x40\\x33\\xd5\\x7b\\xec\\x4c\\x9a\\x2f\\x6d\\x5a\\x1a\\xb8\\xa5\\x69\\x45\\x6b\\x3b\\xa7\\xad\\x0a\\xef\\xa1\\xb4\\xa2\\xa3\\x39\\xd4\\xd2\\xda\\xde\\xd4\\x76\\x73\\x53\\x0b\\xa7\\x14\\x20\\x55\\xd3\\x68\\x5a\\x9c\\x5e\\xcc\\x29\\xb9\\x95\\xf6\\xde\\x76\\x4e\\x29\\xd8\\x4d\\xc7\\x6f\\xce\\x38\\x4a\\x48\\x89\\x3e\\xd0\\x99\\xb6\\x3b\\xd3\\x11\\x4d\\xf6\\x74\\xd3\\x56\\x25\\xa0\\x73\\xbe\\xa4\\x83\\x06\\x44\\x23\\x74\\xd4\\x50\\x68\\x8f\\xb3\\x34\\x48\\xe0\\x4b\\xdd\\x82\\x40\\x83\\x94\\x54\\xb1\\x48\\xed\\x64\\x32\\x61\\x2a\\xba\\x33\\x24\\x53\\x9b\\xa9\\xba\\xd1\\x3d\\x57\\xa8\\xac\\x46\\x19\\x45\\x59\\x83\\xb2\\x16\\x65\\x0c\\x65\\x1c\\x65\\x02\\x65\\x12\\x65\\x0a\\x65\\x1d\\xca\\x7a\\x94\\x0d\\x28\\x1b\\x51\\x0a\\x94\\xd2\\x2d\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x1a\\xf8\\xd5\\xc0\\xaf\\x06\\x7e\\x35\\xf0\\xab\\x81\\x5f\\x0d\\xfc\\x6a\\xe0\\x57\\x03\\xbf\\x1a\\xf8\\xd5\\xc0\\xaf\\x06\\x7e\\x35\\xf0\\xa3\\xc0\\x8f\\x02\\x3f\\x0a\\xfc\\x28\\xf0\\xa3\\xc0\\x8f\\x02\\x3f\\x0a\\xfc\\x28\\xf0\\xa3\\xc0\\x8f\\x02\\x3f\\x0a\\xfc\\x28\\xf0\\xa3\\xc0\\x8f\\x02\\x3f\\x0a\\xfc\\x28\\xf0\\x6b\\x80\\x5f\\x03\\xfc\\x1a\\xe0\\xd7\\x00\\xbf\\x06\\xf8\\x35\\xc0\\xaf\\x01\\x7e\\x0d\\xf0\\x6b\\x80\\x5f\\x03\\xfc\\x1a\\xe0\\xd7\\x00\\xbf\\x06\\xf8\\x35\\xc0\\xaf\\x01\\x7e\\x0d\\xf0\\x6b\\x81\\x5f\\x0b\\xfc\\x5a\\xe0\\xd7\\x02\\xbf\\x16\\xf8\\xb5\\xc0\\xaf\\x05\\x7e\\x2d\\xf0\\x6b\\x81\\x5f\\x0b\\xfc\\x5a\\xe0\\xd7\\x02\\xbf\\x16\\xf8\\xb5\\xc0\\xaf\\x05\\x7e\\x2d\\xf0\\x63\\xc0\\x8f\\x01\\x3f\\x06\\xfc\\x18\\xf0\\x63\\xc0\\x8f\\x01\\x3f\\x06\\xfc\\x18\\xf0\\x63\\xc0\\x8f\\x01\\x3f\\x06\\xfc\\x18\\xf0\\x63\\xc0\\x8f\\x01\\x3f\\x06\\xfc\\x18\\xf0\\xe3\\xc0\\x8f\\x03\\x3f\\x0e\\xfc\\x38\\xf0\\xe3\\xc0\\x8f\\x03\\x3f\\x0e\\xfc\\x38\\xf0\\xe3\\xc0\\x8f\\x03\\x3f\\x0e\\xfc\\x38\\xf0\\xe3\\xc0\\x8f\\x03\\x3f\\x0e\\xfc\\x38\\xf0\\x13\\xc0\\x4f\\x00\\x3f\\x01\\xfc\\x04\\xf0\\x13\\xc0\\x4f\\x00\\x3f\\x01\\xfc\\x04\\xf0\\x13\\xc0\\x4f\\x00\\x3f\\x01\\xfc\\x04\\xf0\\x13\\xc0\\x4f\\x00\\x3f\\x01\\xfc\\x04\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x93\\xc0\\x4f\\x02\\x3f\\x09\\xfc\\x24\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\x53\\xc0\\x4f\\x01\\x3f\\x05\\xfc\\x14\\xf0\\xeb\\x80\\x5f\\x07\\xfc\\x3a\\xe0\\xd7\\x01\\xbf\\x0e\\xf8\\x75\\xc0\\xaf\\x03\\x7e\\x1d\\xf0\\xeb\\x80\\x5f\\x07\\xfc\\x3a\\xe0\\xd7\\x01\\xbf\\x0e\\xf8\\x75\\xc0\\xaf\\x03\\x7e\\x1d\\xf0\\xeb\\x81\\x5f\\x0f\\xfc\\x7a\\xe0\\xd7\\x03\\xbf\\x1e\\xf8\\xf5\\xc0\\xaf\\x07\\x7e\\x3d\\xf0\\xeb\\x81\\x5f\\x0f\\xfc\\x7a\\xe0\\xd7\\x03\\xbf\\x1e\\xf8\\xf5\\xc0\\xaf\\x07\\x7e\\x3d\\xf0\\x1b\\x80\\xdf\\x00\\xfc\\x06\\xe0\\x37\\x00\\xbf\\x01\\xf8\\x0d\\xc0\\x6f\\x00\\x7e\\x03\\xf0\\x1b\\x80\\xdf\\x00\\xfc\\x06\\xe0\\x4b\\xe0\\xb8\\x31\\x59\\xb5\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x44\\x42\\x06\\xaf\\xd5\\xcf\\x3a\\x83\\xcb\\xdc\\xe2\\x5a\\xf7\\x25\\xc7\\x65\\xba\\x08\\x5f\\x9b\\xbb\\xc1\\x1e\\x5e\\x96\\xa3\\xdc\\x7e\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x04\\xfc\\x8c\\x80\\x9f\\x11\\xf0\\x33\\x02\\x7e\\x46\\xc0\\xcf\\x08\\xf8\\x19\\x01\\x3f\\x23\\xe0\\x67\\x44\\x4a\\x84\\xeb\\x72\\xcf\\x2b\\xc3\\x4d\\x39\\x2a\\x52\\x97\\x7f\\x32\\x1b\\x69\\xca\\x93\\x95\\x75\\xde\\x4b\\x9f\\xda\\x0c\\x95\\x4d\\xfe\\x06\\x83\\x43\\x9b\\xcd\\xe4\\xd0\\x0d\\x55\\x06\\x47\\x5e\\x70\\x55\\x53\\x91\\x46\\x53\\x96\\x7e\\xb2\\x6c\\xca\\xd2\\x0d\\x17\\x18\\x1c\\x39\\xcd\\x2f\\x68\\x1a\\xdc\\x56\\xea\\xbe\\x24\\xee\\xbe\\x90\\xd6\\x64\\xd0\\x6e\\xbb\\xd6\\x0b\\xed\\x9a\\x1e\\xe1\\xb6\\xe7\\x35\\x19\\xd1\\x54\\x58\\x47\\x3f\\xad\\x03\\xfa\\x69\\xba\\xc2\\x6d\\xcf\\xc1\\x56\\x34\\x15\\x54\\xc3\\x22\\x4f\\xe5\\xdb\\x22\\xc2\\xb3\\xb3\\x27\\x3f\\x28\\xdc\\x97\\x7c\\x5d\\xa9\\x95\\xc2\\x6f\\xe4\\xb4\\xbf\\x41\\xf8\\xad\\x9e\\xf6\\x5b\\x5d\\x14\\xb3\\x7a\\xba\\x98\\xd5\\x85\\xdf\\xea\\x69\\xbf\\xd5\\x45\\x11\\xab\\xa7\\x07\\xb7\\x45\\xae\\xf4\\xc6\\xd6\\x9a\\x27\\xc3\\x57\\xe6\\xad\\xd0\\x9a\\xa7\\xae\\xce\\x53\\x1d\\xf9\\xde\\x57\\x7b\\xbd\\x3b\\x3c\\xed\\xae\\xf6\\x0f\\xbd\\xc3\\xdf\\x70\\xb5\\xdf\\x16\\x1d\\x7e\\x5b\\x5c\\x5d\\xcc\\x16\\x1d\\xc5\\x6c\\x71\\xb5\\xdf\\x16\\x1d\\x7e\\x5b\\x5c\\x5d\\xc4\\x16\\x1d\\x45\\x6c\\xa1\\x5f\\x00\\x76\\x5f\\x9c\\xec\\xf0\\x48\\xdd\\xaa\\x95\\x72\\x5b\\x35\\x59\\xa1\\x5b\\xf3\\x4a\\x54\\x74\\x14\\x54\\xdd\\x3e\\x1a\\xdc\\xed\\xa3\\xc9\\x72\\xdd\\x9a\\x43\\x2b\\xef\\x30\\x6b\\xe1\\xd9\\x79\\xaa\\x37\\xaf\\xcf\\x6c\\x4f\\x60\\xaf\\x47\\xce\\xf6\\x54\\xeb\\xf5\\xc8\\xd9\\x9e\\x96\\xbd\\x9e\\x96\\xb3\\x0b\\xb5\\xec\\x2d\\xd4\\x72\\xb6\\xa7\\x65\\xaf\\xa7\\xe5\\xec\\x02\\x2d\\x7b\\xcd\\x5a\\xf0\\x3a\\xf7\\x32\\xbb\\x42\\x17\\xe1\\xeb\\xf2\\x3a\\xaf\\xc8\\xeb\\x7c\\x9d\\x27\\x7e\\x85\\x77\\xae\\x5c\\xe7\\x9e\\x2b\\x2b\\xdc\\x17\\xe2\\xd5\\x35\\x4d\\x22\\x66\\x93\\x88\\xd9\\x24\\x62\\x36\\x89\\x98\\x4d\\x22\\x66\\x93\\x88\\xd9\\x24\\x62\\x36\\x89\\x98\\x4d\\x22\\x66\\x93\\x88\\xd9\\x24\\x62\\x36\\x89\\x98\\x4d\\x22\\x66\\x93\\x88\\xd9\\x24\\x62\\x36\\x89\\x98\\x4d\\x22\\x66\\x93\\x88\\xd9\\x24\\x62\\x36\\x89\\x98\\x4d\\x22\\x66\\x93\\x88\\xd9\\x24\\x62\\x34\\x89\\x18\\x4d\\x22\\x46\\x93\\x88\\xd1\\x24\\x62\\x34\\x89\\x18\\x4d\\x22\\x26\\x93\\x88\\xc9\\x24\\x62\\x32\\x89\\x98\\x4c\\x22\\x26\\x93\\x88\\xc9\\x24\\x62\\x32\\x89\\x98\\x4c\\x22\\x26\\x93\\x88\\xc9\\x24\\x62\\x32\\x89\\x98\\x4c\\x22\\x26\\x93\\xd1\\x1c\\x1e\\xc6\\x87\\x98\\x4c\\x22\\x26\\x93\\x88\\xc9\\x24\\x62\\x32\\x89\\x98\\x4c\\x22\\x26\\x93\\x88\\xc9\\x24\\x62\\x32\\x89\\x98\\x4c\\x22\\x26\\x93\\x88\\xc9\\x24\\x62\\x32\\x89\\x98\\x4c\\x22\\x26\\x93\\x88\\xc9\\x24\\x62\\x32\\x89\\x98\\x4c\\x22\\x26\\x93\\x88\\xc9\\x24\\x62\\x32\\x89\\x98\\x4c\\x22\\x26\\x93\\x88\\xc9\\x24\\x62\\x30\\x89\\x18\\x4c\\x22\\x06\\x93\\x88\\xc1\\x24\\x62\\x30\\x89\\x18\\x4c\\x22\\xe6\\x92\\x88\\xb9\\x24\\x62\\x2e\\x89\\x98\\x4b\\x22\\xe6\\x92\\x88\\xb9\\x24\\x62\\x2e\\x89\\x98\\x4b\\x22\\xd6\\x92\\x88\\xb1\\x64\\x2c\\x27\\x17\\xfa\\x23\\xa6\\x92\\x88\\xa9\\x24\\x62\\x2a\\x89\\x98\\x4a\\x22\\xa6\\x92\\x88\\xa9\\x24\\x62\\x2a\\x89\\x98\\x4a\\x22\\xa6\\x92\\x88\\xa9\\x24\\x62\\x2a\\x89\\x98\\x4a\\x22\\xa6\\x92\\x88\\xa9\\x24\\x62\\x2a\\x89\\x98\\x4a\\x22\\xa6\\x92\\x88\\xa9\\x24\\x62\\x2a\\x89\\x98\\x4a\\x22\\xa6\\x92\\x88\\xa9\\x24\\x62\\x2a\\x89\\x98\\x4a\\x22\\xa6\\x92\\x88\\xa9\\x24\\x62\\x2a\\x89\\x98\\x4a\\x22\\xa6\\x92\\x88\\xa9\\x24\\xf6\\xea\\x12\\x7b\\x75\\x89\\xbd\\xba\\xc4\\x5e\\x5d\\x62\\xaf\\x2e\\xb1\\x57\\x97\\x88\\xa1\\x24\\x62\\x28\\x89\\x18\\x4a\\x22\\x86\\x92\\x88\\xa1\\x24\\x62\\x28\\x89\\x18\\x4a\\x26\\x73\\x78\\x18\\x2f\\x62\\x28\\x89\\x18\\x4a\\x22\\x86\\x92\\x88\\xa1\\x24\\x62\\x28\\x89\\x18\\x4a\\x22\\x86\\x92\\x88\\xa1\\x24\\x62\\x28\\x89\\x18\\x4a\\x22\\x86\\x92\\x88\\xa1\\x24\\x62\\x28\\x89\\xbd\\xba\\xc4\\x5e\\x5d\\x62\\xaf\\x2e\\xb1\\x57\\x97\\xd8\\xab\\x4b\\xec\\xd5\\x25\\xf6\\xea\\x12\\x7b\\x75\\x89\\xbd\\xba\\xc4\\x5e\\x5d\\x62\\xaf\\x2e\\xb1\\x57\\x97\\xd8\\xab\\x4b\\xec\\xd5\\x25\\xf6\\xea\\x12\\x7b\\x75\\x89\\xbd\\xba\\xc4\\x5e\\x5d\\x62\\xaf\\x2e\\xb1\\x57\\x97\\xd8\\xab\\x4b\\xec\\xd5\\x25\\xf6\\xea\\x12\\x7b\\x75\\x89\\xbd\\xba\\xc4\\x1e\\x5d\\x62\\x8f\\x2e\\xb1\\x47\\x97\\xd8\\xa3\\x4b\\xec\\xd1\\x25\\xf6\\xe8\\x12\\x7b\\x74\\x89\\x3d\\xba\\xc4\\x1e\\x5d\\x62\\x8f\\x2e\\xb1\\x47\\x97\\xd8\\xa3\\x4b\\xec\\xd1\\x25\\xf6\\xe8\\x12\\x7b\\x74\\x89\\xbd\\xb9\\xc4\\xde\\x5c\\x62\\x6f\\x2e\\xb1\\x37\\x97\\xd8\\x9b\\xcb\\x06\\xe0\\x36\\x00\\xb7\\x01\\xb8\\x0d\\xc0\\x6d\\x00\\x6e\\x23\\x70\\x1b\\x81\\xdb\\x08\\xdc\\x46\\xe0\\x36\\x02\\xaf\\x11\\x78\\x8d\\xc0\\x6b\\x04\\x5e\\x23\\xf0\\x1a\\x81\\xd7\\x08\\x9c\\x46\\xe0\\x34\\x02\\x47\\x00\\x47\\x00\\x47\\x00\\x47\\x00\\x47\\x60\\x7c\\x02\\xf3\\x2a\\x80\\x2b\\x80\\x2b\\x80\\x2b\\x80\\x2b\\x80\\x2b\\x80\\x2b\\x30\\x4e\\x01\\x7c\\x01\\x7c\\x01\\x7c\\x09\\x3c\\x09\\x3c\\x09\\x3c\\x09\\x1c\\x09\\x1c\\x09\\x1c\\x09\\x1c\\x09\\x1c\\x09\\x1c\\x09\\x1c\\x09\\x1c\\xf7\\x1e\\x48\\x74\\xaa\\xeb\\x47\\xa9\\xac\\x46\\x19\\x45\\x59\\x83\\xb2\\x16\\x65\\x0c\\x65\\x1c\\x65\\x02\\x65\\x12\\x65\\x0a\\x65\\x1d\\xca\\x7a\\x94\\x0d\\x28\\x1b\\x51\\xe6\\x70\\xa5\\x5b\\x56\\x03\\xaf\\x1a\\xf2\\xab\\xe3\\xe5\\xfa\\x5f\\xdd\\xe9\\x1f\\x85\\x36\\x2f\\x68\\x2b\\x5f\\xd2\\xdb\\xa1\\xfe\\xb1\\xaa\\xfa\\x9d\\x68\\xba\\x19\\x3c\\xe8\\x1b\\x05\\x56\\x14\\x58\\x51\\x60\\x45\\x81\\x15\\x05\\x56\\x54\\x06\\x17\\xb7\\xb6\\xeb\\x9f\\xea\\xa5\\x17\\x76\\xb4\\x43\\x4a\\x4d\\x6d\\x38\\xbd\\x7c\\x61\\x5b\\xd3\\x62\\x42\\x09\\x77\\x35\\x35\\xab\\x7f\\xdf\\x98\\x5e\\xee\\x1e\\x8b\\xa1\\x67\\x1c\\x08\\x71\\x20\\xc4\\x81\\x10\\x07\\x42\\x3c\\xc7\\x27\\xcb\\x5a\\x3a\\x7a\\xbb\\xba\\x7b\\x3b\\xd3\\x5d\\xad\\x1d\\x5d\\x65\\x2d\\xad\\x4b\\xd3\\xb9\\x4a\\x79\\x37\\x29\\xdf\\x9e\\xaf\\xa5\\xd5\\x3f\\x3a\\xce\\xd5\\xc2\\xf9\\x76\\x57\\x4e\\x0a\\xb3\\x91\\xc2\\x6c\\xa4\\x60\\x9d\\x14\\x66\\x23\\x85\\xd9\\xa8\\x03\\x5f\\x1d\\xf8\\xea\\xa2\\x4e\\x5b\\x6b\\x57\\x13\\x2a\\x30\\x65\\x5d\\x3c\\xd8\\x99\\xee\\x4e\\xf7\\xe4\\x9a\\x31\\x53\\x75\\xa9\\x60\\x77\\x26\\xbd\\x24\\xdd\\xe6\\x34\\x77\\xb4\\x2f\\x72\\xd4\\x3f\\x91\\xc4\\x01\\x0c\\xaa\\x0e\\x83\\xaa\\x83\\x99\\xeb\\x01\\x56\\x0f\\xb0\\x7a\\x28\\x55\\x0f\\xa5\\xea\\xa1\\x54\\x3d\\x70\\xdd\\x47\\xac\\xd1\\x6a\\x2c\\x99\\x6a\\x37\\x24\\xa2\\x32\\x8e\\x32\\xc1\\xaf\\xce\\x2c\\x0e\\xa7\\xbb\\x7b\\x5a\\x17\\x37\\xf5\\x60\\x52\\xab\\x5d\\xc7\\x4c\\xa5\\x08\\x75\\xb4\\xa7\\x7b\\x32\\xad\\x5d\\xcd\\xe1\\x9e\\x65\\x1d\\x9a\\xe8\\x0e\\x53\\x93\\x36\\x5c\\xa6\\xac\\x27\\xd3\\x95\\x06\\xdd\\x5d\\xaa\\xec\\x0c\\xba\\x4c\\x9b\\x19\\x15\\x57\\x54\\xb2\\x36\\xdc\\xd4\\xd5\\xd5\\xb1\\xac\\x2d\\xdd\\xd2\\x53\\xa2\\xa9\\xde\\xce\\x88\\x2e\\xf5\\x7f\\x9b\\x76\\x0f\\x36\\x77\\x2c\\x6b\\x77\\xa9\\x05\\x04\\x16\\x06\\x5b\\x73\\x7b\\x59\\x9e\\x5a\\xd0\\xad\\x63\\xce\\x28\\x7e\\xa6\\x14\\x8d\\x56\\xc7\\x22\\x1d\\x5d\\x3d\\x19\\xf5\\x4b\\xca\\xa6\\xb6\\xb2\\xd6\\xf6\\x1e\\xb5\\x36\\xf5\\xbf\\xee\\x2d\\x4d\\x2f\\xe9\\x6d\\x5d\\x4a\\xeb\\xa8\\x7d\\x61\\x3a\\x90\\xe9\\xe8\\xed\\x4e\\x97\\xd3\\xd2\\x6d\\xeb\\x58\\xa4\\x16\\x57\\x7b\\x47\\x4f\\x44\\x31\\x53\\xf4\\xdb\\xd6\\xd3\\x99\\x27\\x17\\xe8\\x87\\x77\\x51\\x3c\\x19\\x8e\\xe2\\x89\\x70\\x14\\x4f\\x72\\xa3\\x78\\x62\\x4b\\x65\\x2d\\xca\\x24\\x4a\\x1c\\x8f\\xa2\\x1d\\xab\\x3f\\x56\\x83\\x7a\\x0d\\xea\\x31\\xf4\\x77\\x23\\x1d\\x2a\\x21\\xdf\\x8d\\x74\\xa8\\x04\\xbf\\x1b\\xe9\\x50\\x19\\x47\\x99\\x40\\x09\\x3c\\x37\\xe2\\xa1\\xb2\\x0e\\x65\\x3d\\xca\\x1c\\x4e\\x23\\x4a\\x81\\xd2\\x5d\\x3e\\xb1\\x38\\xf0\\xe3\\xc0\\x8f\\x03\\x3f\\x0e\\xfc\\x38\\xf0\\xe3\\xc0\\x8f\\x03\\x3f\\x0e\\xfc\\x38\\xf0\\xe3\\xc0\\xc7\\x39\\x19\\xc3\\x39\\x19\\x53\\xe7\\x64\\xe7\\x82\\xb6\\x8e\\x85\\x37\\x97\\xd0\\x5c\\xa9\\x32\\xe0\\xd6\\xda\\x5a\\xdc\\xb2\\xab\\x07\\xf5\\x9e\\xee\\x4c\\x53\\x73\\x3a\\xa0\\xf3\\x92\\xe6\\x9b\\x75\\x19\\x6e\\x69\\x6d\\x6b\\xa3\\x0b\\x4d\\x87\\x7b\\xe6\\xe3\\xf9\\x72\\x14\\xcf\\x87\\xa9\\xac\\x8f\\xb8\\x1c\\x5d\\x34\\xc3\\x25\\x3d\\x5d\\xad\\x4d\\x8b\\x7a\\x3b\\xdd\\xb2\\x0b\\xf5\\xe6\\x76\\xb7\\x6c\\x6b\\x09\\xaa\\x5d\\x61\\x9b\\xbb\\x5a\\x62\\x0d\\xb0\\x4b\\x83\\x0c\\xb7\\xb6\\x2f\\x5d\\xd0\\x4b\\x42\\x7a\\x14\\xe5\\xf2\\x44\\x3a\\x3a\\xd3\\xed\\x68\\xec\\x5e\\xdc\\x4a\\x4b\\xb4\\x69\\x61\\x9a\\xd6\\xd2\\xd2\\x7c\\x85\\x77\\xf7\\xb6\\x07\\x5b\\xd2\\x8b\\x69\\x35\\x39\\x2a\\x0b\\x74\\x77\\x92\\xbe\\xce\\xc2\\xb6\\xde\\x05\\x81\\x4c\\xba\\x89\\xd0\\x9b\\x5b\\x9b\\x16\\xd3\\xe5\\xac\\x74\\x71\\x6f\\x37\\xd6\\x57\\xba\\xc2\\xa0\\xe9\\xba\\xa6\\x35\\x88\\xbb\\x31\\x61\\xb4\\x01\\x33\\xd1\\x80\\x99\\x68\\xc0\\x4c\\x34\\x60\\x26\\x1a\\x30\\x13\\x0d\\x98\\x89\\x06\\xcc\\x44\\x03\\x66\\xa2\\x01\\x33\\xd1\\x80\\x99\\x68\\xc0\\x4c\\x34\\x60\\x26\\x1a\\x70\\x75\\x6c\\xc0\\xd5\\xb1\\x21\\x01\\x9c\\x04\\x70\\x12\\xc0\\x49\\x00\\x27\\x01\\x9c\\x04\\x70\\xdc\\xd8\\x33\\x8a\\xfb\\xda\\x75\\x89\\x7c\\x99\\x44\\x99\\x42\\x59\\x87\\xb2\\x1e\\x65\\x03\\xca\\x46\\x94\\x02\\xa5\\x74\\x4b\\x77\\x2f\\x45\\x65\\xb5\\x5b\\x26\\x21\\x2f\\x09\\x79\\x49\\xc8\\x4b\\x42\\x9e\\x1b\\x6b\\x4a\\xf8\\x3e\\x09\\xdf\\x47\\xa1\\x55\\x23\\x4a\\x51\\xe6\\x3e\\xb7\\xbe\\x41\\x3f\\xe0\\x1f\\x41\\xa7\\x73\\x9a\\x36\\xd2\\xea\\x3f\\x05\\xab\\x07\\xe2\\x21\\xf5\\xdc\\x7d\\x59\\x2b\\xad\\x2d\\xfd\\xc4\\x5d\\x51\\xc1\\x4c\\x5a\\x15\\x25\\x37\\x37\\xb9\\x07\\xf4\\xe3\\x75\\x45\\x95\\xe5\\x1e\\xb1\\xab\\x4a\\x48\\x3d\\x04\\xd7\\x7c\\x3d\\x4d\\x4b\\xf5\\x51\\x92\\x7c\\x43\\x67\\x5b\\x6f\\xb7\\xfa\\xff\\xb3\\xa5\\xea\\x11\\x3a\\xde\\x08\\x88\\x68\\x5a\\x93\\x23\\x75\\x93\\x7e\\x8d\\x00\\x07\\x2b\\x8d\\x16\\xdd\\x10\\x56\\x0a\\x69\\x55\\x23\\x8a\\x72\\x5f\\x11\\xd0\\x8d\\x8b\\x9b\\x3a\\x5b\\x97\\x84\\x17\\xa4\\x7b\\x5c\\xf6\\x52\\xfd\\xa2\\x00\\x68\\xad\\xbc\\x4b\\x87\\x32\\x69\\x97\\x08\\x2f\\x6d\\x5a\\x8a\\xc3\\xfa\\x05\\x02\\xb4\\xf6\\xe4\\x18\\xc3\\x64\\x14\\x97\\xaa\\xc8\\xbd\\x4e\\x80\\x03\\x79\\xaa\\x54\\x8f\\x1d\\xad\\x34\\x70\\x50\\xed\\xbd\\x10\\x56\\xe6\\xbe\\x5a\\xe0\\x56\\xca\\xf1\\x6e\\x01\\xd4\\xc8\\x11\\xa5\\xfa\\xe5\\x02\\xf4\\x5c\\xd2\\x01\\xc9\\x11\\x65\\x3e\\x90\\x9e\\x09\\xc2\\x3d\\x39\\x95\\x43\\xa4\\xbc\\xfb\\x12\\x06\\x0d\\x58\\xbd\\x65\\xa1\\xa6\\x43\\x95\\xe4\\x26\\x55\\xa1\\x2d\\xa2\\xb5\\xd3\\xd3\\x8c\\xc7\\x22\\x12\\x8f\\x45\\x24\\x1e\\x8b\\x48\\x3c\\x16\\x91\\x14\\x52\\x39\\xed\\x74\\x02\\xf3\\xce\\xd6\\xea\\xf2\\x85\\x2b\\xba\\xe8\\x2a\\xd1\\xba\\x50\\xdf\\x0d\\xac\\xd4\\x3f\\xe8\\x37\\x7e\\x3b\\x3a\\xd2\\xa0\\xbb\\xd4\\x5b\\xe6\\xe9\\x88\\xbe\\x05\\xf2\\x65\\x9a\\xdf\\x6a\\x8f\\x8c\\x7a\\x64\\x4d\\x44\\xdf\\x97\\x71\\x19\\xf2\\x64\\xd4\\x23\\x6b\\x2a\\xf2\\xb7\\x47\\x34\\x53\\x61\\x35\\x5a\\x58\\xad\\x89\\xe8\\x3b\\x27\\xae\\xb4\\x3c\\x19\\x8d\\x68\\x6d\\x75\\xeb\\x08\\xef\\x7e\\x96\\xae\\x97\\xe7\\xee\\xc8\\xf8\\x34\\xa8\\xf5\\xc8\\x98\\xa7\\x6d\\xad\\x47\\xc6\\x0a\\x91\\x6b\\x0b\\xab\\x31\\x0f\\xdd\\xd0\\xa9\\xd6\\x23\\x0d\\x86\\xb8\\x47\\x26\\x3c\\x32\\x59\\xa0\\x59\\xb4\\xa0\\x56\\x53\\x50\\xab\\x2d\\xa8\\xc5\\x0a\\x6a\\x86\\xec\\x54\\xc1\\x81\\x44\\x41\\xad\\x10\\x2c\\x55\\x51\\x60\\x94\\xa9\\x85\\xd5\\xea\\xc2\\x6a\\xb4\\xb0\\x5a\\x53\\x58\\xad\\x2d\\xac\\xc6\\x4a\\xbd\\xf9\\x99\\x6a\\xd0\\xd5\\x06\\x1d\\x35\\x68\\x3d\\x50\\xf5\\x13\\xdd\\x56\\x77\\xf2\\x68\\x39\\xaa\\x9f\\x5a\\xa9\\x9f\\x63\\x7d\\x79\\x61\\x53\\xa7\\x51\\xaf\\xf6\\xd5\\x1b\\x7c\\xf5\\xa9\\x46\\x3d\\xe1\\xeb\\x5f\\x53\\x50\\x8f\\x8a\\x18\\x52\\xdc\\x57\\x4f\\xf8\\xea\\x49\\x5f\\x3d\\x65\\xd4\\xe3\\xaa\\xf4\\xd5\\xe3\\xbe\\x7a\\xc2\\x57\\x4f\\xfa\\xea\\xa9\\x52\\xa3\\x6e\\x1c\\x4b\\xf8\\x64\\x27\\x8a\\x1c\\x4f\\xf8\\xea\\x49\\x5f\\xdd\\x94\\x6d\\xf2\\x26\\x7d\\xb2\\x93\\x3e\\xd9\\xc9\\x22\\xfc\\x49\\x5f\\xdd\\x94\\x6d\\x1e\\x4b\\xf9\\x64\\xa7\\x7c\\xb2\\x53\\x3e\\xd9\\xa9\\x22\\xfd\\x4d\\xd9\\x39\\x7b\\xc7\\x73\\x73\\xe0\\xab\\xc7\\x7d\\xf5\\x84\\xaf\\x9e\\xf4\\xd5\\x73\\xb2\\xe3\\x3e\\x59\\xc5\\xea\\x09\\x5f\\x3d\\xe9\\xab\\x9b\\xba\\x25\\x7c\\xfd\\x13\\x3e\\xdd\\x12\\x3e\\x79\\x09\\x9f\\xbc\\x84\\x4f\\x37\\x93\\x37\\xe9\\x93\\x9d\\xf4\\xc9\\x4e\\x16\\xe1\\x4f\\xfa\\xea\\xa6\\x6c\\xf3\\x58\\xca\\x27\\x3b\\xe5\\x93\\x9d\\xf2\\xc9\\x4e\\x15\\xe9\\x6f\\xca\\xce\\xd9\\x24\\xe1\\x9b\\xaf\\x84\\x6f\\xbe\\x12\\xbe\\xf9\\x4a\\xf8\\xe6\\x2b\\xe1\\x9b\\xaf\\x84\\x4f\\x56\\xbc\\x48\\x3d\\xee\\xab\\x27\\x7c\\xf5\\xa4\\xaf\\x6e\\xca\\x36\\xfb\\xfa\\xb1\\x8a\\x1d\\x4f\\xfa\\xea\\xe6\\xb8\\x93\\xbe\\xfe\\x49\\x5f\\xff\\xa4\\x4f\\xb7\\xa4\\x4f\\x5e\\xd2\\xa7\\x9b\\x79\\x2c\\xe5\\x93\\x9d\\xf2\\xc9\\x4e\\xf9\\x64\\xa7\\x8a\\xf4\\x37\\x65\\xe7\\xf4\\x4e\\xfa\\xe6\\x2b\\xe9\\x9b\\xaf\\xa4\\x6f\\xbe\\x92\\xbe\\xf9\\x4a\\xfa\\xe6\\x2b\\xe9\\x93\\x15\\x2f\\x52\\x8f\\xfb\\xea\\x09\\x5f\\x3d\\xe9\\xab\\x9b\\xb2\\xcd\\xbe\\x09\\x9f\\xec\\x44\\x91\\xe3\\x09\\x5f\\x3d\\xe9\\xab\\x9b\\xb2\\x4d\\x5e\\xff\\x38\\xfc\\xd8\\xc5\\xf8\\x4d\\x9b\\xa6\\x7c\\xfd\\x53\\xbe\\xfe\\x29\\x5f\\xff\\x94\\x4f\\xb7\\x94\\x4f\\xb7\\x9c\\xec\\x94\\x6f\\xbe\\x52\\xbe\\xf9\\x4a\\xf9\\xe6\\x2b\\xe5\\x9b\\xaf\\x94\\x6f\\xbe\\x52\\x3e\\x59\\xf1\\x22\\xf5\\xb8\\xaf\\x9e\\xf0\\xd5\\x93\\xbe\\xba\\x29\\xdb\\xec\\x9b\\xf0\\xc9\\x4e\\x14\\x39\\x9e\\xf0\\xd5\\x93\\xbe\\xba\\x29\\xdb\\xe4\\x4d\\xfa\\x64\\x27\\x7d\\xb2\\x93\\x45\\xf8\\x93\\xbe\\xba\\x29\\xdb\\x3c\\xe6\\xb7\\x91\\x7f\\x5c\\x7e\\x5d\\xdc\\xfe\\xb9\\x68\\xfa\\x86\\x8e\\x1e\\xf5\\xd9\\xa4\\xb0\\x1b\\xa7\\x52\\x2b\\x22\\x93\\x5a\\x5f\\xe4\\x52\\xeb\\x8b\\x74\\x6a\\x8a\\xd4\\x93\\x46\\xbd\\x5a\\x45\\x3b\\x46\\xbd\\xc1\\x57\\xaf\\xcd\\xf1\\x97\\x2d\\x68\\xea\\x6a\\xcd\\xfd\\x3f\\x94\\x0b\\xf4\\xc1\\xfa\\x6a\\x97\\xa1\\x5a\\x09\\x9d\\x5a\\xa4\\xad\\xda\\xd7\\x56\\x5b\\x84\\xaf\\xd6\\xc7\\x17\\x2f\\x22\\x2f\\x5e\\x44\\x5e\\xbc\\x88\\xbc\\xb8\\x4f\\x5e\\xaa\\x88\\x7e\\xa9\\x22\\xfa\\xa5\\x8a\\xe8\\x97\\x2a\\xa2\\x5f\\xaa\\x88\\x7e\\xa9\\x22\\xfa\\xa5\\x8a\\xe8\\x97\\x1a\\xac\\x5f\\x43\\x6c\\xb0\\x7e\\x05\\x6d\\x7e\\xbe\\xda\\x22\\x7c\\x7e\\x79\\xf1\\x22\\xf2\\xe2\\x45\\xe4\\xc5\\x8b\\xc8\\x2b\\x66\\xbf\\x64\\x6e\\x91\\x15\\x69\\xf3\\xf3\\xc5\\x8b\\xf0\\xc5\\x7d\\xb8\\x3e\\x79\\x05\\x6d\\x7e\\xbe\\x78\\x11\\x3e\\x2d\\x4f\\xfd\\xcf\\x81\\x9e\\x74\\x73\\xab\\xde\\x81\\x85\\x44\\xfb\\x22\\x1d\\xfc\\xe7\\x88\\x68\\x8e\\xa8\\x09\\xdd\\x92\\xee\\xea\\x50\\x54\\x49\\x47\\xbb\\xde\\x2f\\x94\\xf4\\x2c\\xd3\\xf5\\xb0\\xbe\\x77\\xaa\\xa8\\x90\\xba\\x5b\\xed\\x12\\xad\\xee\\xce\\xac\\xa4\\xbb\\x55\\xef\\xfc\\xc2\\xfa\\x36\\xaa\\xa6\\xf4\\xbd\\x54\\xcd\\xd4\\xde\\xea\\x0a\\x2a\\xcd\\xdf\\x26\\xff\\xb2\\xbe\\x5d\\x36\\x15\\xf7\\x8c\\x49\\xbb\\x54\\xc9\\xec\\xab\\xae\\x54\\xb7\\x48\\x47\\xf8\\x5e\\xd6\\x18\\xe1\\x7b\\x35\\xa3\\xa2\\xf0\\x25\\x8c\\x11\\xbe\\xb7\\x2d\\x22\\xde\\xab\\x3b\\x11\\xef\\x6d\\x9d\\x70\\xfe\\xe5\\x9c\\x88\\xf7\\x2a\\x4e\\xa5\\xde\\xab\\xeb\\x1d\\x3d\\x76\\xfd\\x5e\\x43\\xfe\\xf6\\x83\\x7b\\xb3\\xa3\\x3c\\x57\\xd5\\xbf\\xe5\\xb8\\x20\\xbf\\xd1\\xf7\\x7e\\xd4\\x51\\x91\\x6f\\xf3\\x55\\xf5\\xef\\x39\\x2a\\x8d\\x5b\\x3c\\xba\\x55\\xdf\\x48\\xc1\\xcd\\x08\\x65\\x80\\x18\\x9d\\x8a\\xb1\\xfa\\x46\\xd0\\x51\\x83\\xae\\x51\\xb4\\xf3\\xcd\\x1b\\xea\\x05\\x65\\xb3\\x54\\x76\\x8d\\x70\\xbf\\x8a\\x19\\x62\\x36\\x1b\\xc9\\xac\\x6c\\x56\\x7d\\xef\\x51\\x7f\\xa3\\x92\\xb1\\xe5\\x6c\\xa5\\xfe\\x7a\\xe6\\x48\\xc6\\x9c\\xad\\xcc\\x72\\x5e\\x70\\x4e\\x32\\xee\\x9c\\x72\\x4e\\x11\\xfd\\xa1\\xf3\\x21\\xd1\\xa7\\x9d\\xd3\\x44\\x7f\\xe4\\xfc\\x9e\\xe8\\x01\\x67\\x80\\xe8\\xac\\x43\\x12\\x02\\x2c\\x44\\xfc\\xa1\\x17\\x42\\x2f\\x30\\x1e\\x7a\\x31\\xd4\\x4f\\xf4\\xc9\\xd0\\x49\\x66\\x87\\x4e\\x45\\x4a\\x98\\x15\\x09\\x45\\x22\\xcc\\x56\\xff\\x91\\x93\\xe8\\xf2\\xc8\\x08\\xc6\\x23\\x95\\x91\\x51\\x84\\xea\\x68\\x34\\xa6\\xf1\\x73\\x29\\xc2\\x16\\xb0\\xfb\\x99\\x43\\x97\\xdb\\x36\\x36\\x76\\x51\\x57\\xfa\\x66\\x16\\xcd\\xa4\\x17\\x74\\xb1\\xcb\\xda\\x9a\\x7a\\xda\\xd5\\x87\\x82\\x98\\xfd\\x8d\\xaf\\x37\\x4e\\x64\\x95\\xdf\\x9c\\x59\\x4f\\x39\\x63\\x59\\xf5\\x95\\x4d\\xae\\x65\\xb9\\x34\\xcb\\xd3\\xb6\\xfe\\x2a\\x50\\xc1\\x91\\x85\\x0b\\x17\\x77\\xb2\\xb1\\x3a\\x9f\\xd8\\xdc\\xd6\\xba\\x88\\x5d\\xd2\\xd6\\xb1\\x50\\x7d\\x8e\\x88\\xe5\\xf5\\x51\\xdf\\x11\\x52\\xb5\\x9c\\x46\\x41\\xb2\\xcd\\x85\\x6c\\x02\\xfb\\x22\\x71\\xc5\\xd1\\x3a\\x95\\x78\\x15\\x87\\x44\\x39\\x87\\xb8\\xa8\\xb4\\x47\\x6b\\x19\\x96\\x3d\\xd3\\x6d\\x2f\\xf9\\x39\\x49\\xab\\x64\\x81\\x48\\x25\\x7b\\x97\\x4d\\x8f\\x8c\\x8a\\x90\\xc5\\x59\\x80\\x1f\\xd0\\x5f\\x4b\\x38\\xce\\x3f\\xa0\\x9a\\xb2\\x43\\x48\\x61\\x2b\\x7b\\x05\\xca\\x54\\xaf\\x00\\x49\\xb0\\x1e\\x64\\x63\\x58\\x92\\xd5\\xd3\\x88\\xe7\\xb0\\x1b\\xd9\\x4d\\xac\\x87\\xdd\\xc6\\xbe\\xc7\\xd6\\xb0\\x47\\xd8\\x06\\xf6\\x0c\\xfb\\x0d\\x7b\\x93\\x18\\x23\\x56\\x95\\x35\\xc1\\xba\\xc4\\x8a\\x5a\\xd3\\x2c\\x69\\x5d\\x63\\xdd\\xa7\\xe4\\x44\\xca\\x99\\x4d\\xf3\\xa6\\xa8\\x8a\\x3c\\x35\\x22\\x4f\\x95\\x11\\xd5\\xaf\\xf1\\xf6\\xe5\\xa9\\xdf\\xe6\\xa9\\xd7\\xf3\\xd4\\x3f\\x6b\\xca\\xa6\\x71\\x95\\x85\\xde\\x27\\xfa\\xfd\\xd0\\x1b\\xf9\\x63\\xfb\\xf3\\xd4\\x01\\x83\\xeb\\xa0\\xa2\\x69\\x1d\\xd8\\xce\\x51\\xbd\\xbe\\x2a\\x58\\x15\\xcd\\xbe\\xed\\x1c\\x89\\x04\\x29\\x3f\\x1e\\x7a\\x33\\xdf\\xeb\\x90\\xa6\\x14\\x4f\\x25\\xbb\\x30\\xe2\\xd0\\x5a\\xea\\x77\\xde\\x8f\\x04\\x34\\xca\\xe1\\x3c\\xd7\\x5b\\x79\\xea\\x48\\x9e\\x7a\\x3b\\x4f\\xbd\\x93\\xa7\\x7e\\x97\\xa7\\x8e\\xe6\\xa9\\x77\\xf3\\xd4\\x7b\\x9a\\x2a\\x21\\xa4\\xd1\\xfa\\x7b\\xa2\\x53\\x69\\x0e\\xa7\\x85\\x76\\x13\\xe6\\x19\\xd2\\x76\\xb7\\xc6\\x3e\\x13\\x7a\\x8d\\xca\\x8f\\xa8\\xfe\\x9a\\xae\\x7f\\x14\\x3a\\xa6\\xc7\\xb2\\x8b\\xf2\\x33\\xa1\\x9d\\x94\\x7f\\xa4\\x65\\x1d\\xc7\\x68\\x4b\\x9c\\xb7\\x9d\\xdf\\xa9\\x4f\\xc8\\x06\\x82\\xb4\\xf6\\x43\\x34\\x6b\\x91\\x40\\x45\\xa0\\x82\\xe9\\xaf\\x15\\xb0\\x4a\\xf5\\xb5\\x02\\x36\\x2a\\x70\\x61\\x60\\x2c\\xab\\xd2\\x6b\\xc9\\xa6\\x72\\x12\\x49\\x98\\xa2\\x57\\x4f\\x40\\xad\\x01\\xfd\\xdd\\x83\\xd2\\x40\\x55\\x60\\xbc\\x5a\\xbd\\xfa\\x3b\\x09\\x1f\\xaa\\x95\\x47\\xed\\xe3\\x19\\x0b\\xfd\\x20\\xf4\\x03\\x36\\x21\\xb4\\x2d\\xf4\\x2a\\xbb\\x88\\xd6\\xc3\\x4d\\xd4\\xa7\\xd2\\x9a\\x64\\xd7\\x72\\xe9\\xcc\\x65\\xe3\\xd8\\xa5\\xb4\\x2e\\xa6\\xb3\\x99\\x6c\\x1e\\x9d\\x2b\\x37\\xb1\\x2e\\x76\\x0b\\xbb\\x83\\xdd\\xcd\\xee\\xa3\\xd5\\xf1\\x30\\x5b\\xcf\\x36\\xb2\\xa7\\xd9\\x2f\\xd8\\x8b\\x6c\\x3b\\xad\\x92\\x03\\xec\\x1d\\x76\\x82\\x9d\\xa1\\xb5\\x12\\xb4\\xca\\xc2\\x57\\x31\\x6e\\xff\\xd4\\xfe\\x69\\xf8\\x1b\\xba\\x5c\\x1f\\x9e\\xa1\\xcb\\xc7\\xc3\\x5f\\xd7\\xe5\\xba\\xf0\\x74\\x5d\\x3e\\x16\\xbe\\x82\\xca\\xf5\\xc4\\xf7\\x35\\x5d\\xae\\x0f\\x4b\\x5d\\x3e\\x1e\\x16\\xba\\x5c\\x17\\x6e\\xd4\\xe5\\x63\\xe1\\x7a\\x2a\\x1f\\x27\\xbe\\x3a\\x5d\\xae\\x0f\\x5f\\xae\\xcb\\xc7\\xc3\\x7f\\xa9\\xcb\\x75\\xe1\\xcb\\x74\\xf9\\x58\\x78\\x1a\\x95\\xeb\\x88\\xef\\x2b\\xba\\x5c\\x1f\\xbe\\x54\\x97\\x8f\\x87\\x53\\xba\\x5c\\x17\\x4e\\xea\\xf2\\xb1\\x70\\x82\\xca\\xc7\\x88\\x2f\\xae\\xcb\\xf5\\xe1\\x98\\x2e\\x1f\\x0f\\xd7\\xea\\x72\\x5d\\xf8\\x4a\\x66\\x53\\xeb\\xd5\\x94\\xff\\x34\\xfc\\x55\\xca\\xd7\\x85\\x1b\\x28\\x7f\\xfc\\x53\\x58\\xe4\\x26\\x58\\xa4\\x15\\x16\\xc9\\xc0\\x22\\x8b\\x60\\x91\\x16\\x58\\xa4\\x19\\x16\\x59\\x08\\x8b\\x2c\\x80\\x45\\x9a\\x60\\x91\\x1b\\x61\\x91\\xeb\\x61\\x91\\x6f\\xc3\\x22\\xf3\\x61\\x91\\x6f\\xc1\\x22\\xf3\\x60\\x91\\xeb\\x60\\x91\\xb9\\xb0\\xc8\\xb5\\xb0\\xc8\\x1c\\x58\\x62\\x16\\x2c\\xf1\\x4d\\x58\\x62\\x26\\x2c\\xf1\\xff\\xc3\\x12\\xd7\\xe8\\xf2\\xb1\\xf0\\xcd\\xda\\x16\\x37\\x28\\x2b\\x84\\x67\\x53\\xfe\\x58\\x38\\xad\\x6c\\xf4\\x29\\x2c\\x72\\x17\\x2c\\xf2\\x57\\xb0\\xc8\\x9d\\xb0\\xc8\\xbf\\x85\\x45\\xee\\x80\\x45\\x56\\xc2\\x22\\xb7\\xc3\\x22\\xb7\\xc1\\x22\\xdf\\x85\\x45\\x6e\\x85\\x45\\xbe\\x03\\x8b\\xdc\\x02\\x8b\\xac\\x80\\x25\\x96\\xc3\\x12\\x4b\\x61\\x89\\x5e\\x58\\xa2\\x07\\x96\\xe8\\xc6\\xda\\xe8\\x82\\x45\\x3a\\x61\\x91\\x0e\\x58\\xa4\\x1d\\x16\\x59\\x0c\\x8b\\xb4\\xc1\\x22\\xff\\x46\\xaf\\x91\\x7f\\xa7\\xed\\xb2\\x44\\x5b\\x64\\x99\\x5a\\x29\\x9f\\xc2\\x22\\x0f\\xc3\\x22\\xff\\x05\\x16\\x59\\x0b\\x8b\\xfc\\x67\\x58\\xe4\\x21\\x58\\xe4\\x3f\\xc1\\x22\\x0f\\xc2\\x12\\xff\\x11\\x96\\x58\\x03\\x4b\\x3c\\x00\\x4b\\xfc\\x7b\\x58\\xe2\\x7e\\xac\\x8d\\xbf\\x86\\x45\\x7e\\x02\\x8b\\xdc\\x07\\x8b\\xfc\\x08\\x16\\x59\\x0d\\x8b\\xdc\\x0b\\x8b\\xfc\\x10\\x16\\xb9\\x07\\x16\\x59\\x05\\x8b\\xdc\\x0d\\x8b\\x7c\\x1f\\x16\\xf9\\x1e\\x2c\\xf2\\x1f\\xf4\\xea\\xf8\\xaf\\xda\\x22\\x3f\\xd0\\x16\\xf9\\xf1\\xa7\\xb4\\xc8\\x3f\\xc2\\x12\\x3f\\x87\\x25\\xfe\\x17\\x2c\\xb1\\x19\\x96\\x78\\x1a\\x96\\xf8\\x7b\\xac\\x8d\\x9f\\xc1\\x22\\xff\\x13\\x16\\x79\\x0a\\x16\\xd9\\x04\\x8b\\xfc\\x1d\\x2c\\xb2\\x11\\x16\\xf9\\x5b\\x58\\xe4\\x49\\x58\\x64\\x03\\x2c\\xf2\\xdf\\x61\\x91\\x27\\x60\\x91\\x9f\\xc2\\x22\\xeb\\x61\\x91\\x75\\xb0\\xc8\\x63\\xb0\\xc8\\xa3\\xb0\\xc8\\x7f\\x83\\x45\\x1e\\x81\\x45\\xfe\\x87\\xb6\\xc8\\x3f\\xe8\\x95\\xf2\\xb8\\xb6\\xc8\\xdf\\x68\\x8b\\x50\\xbc\\xa0\\xfa\\x6b\\x0f\\x3f\\x5d\\x5d\\x73\\xe9\\xaa\\x3d\\x85\\xfc\\xc5\\xe5\\xf0\\x70\\xbf\\xd1\\x7e\\x6c\\x0f\\xe5\\xc7\\xb4\\x3f\\x38\\x41\\xd4\\x87\\x9a\\xfa\\x20\\x4f\\xf5\\xe7\\xa9\\x17\\xc1\\x67\\x5e\\xeb\\x73\\x31\\xce\\x2c\\x76\\x4f\\x41\\x8c\\xf3\\x45\\x1d\\xe3\\x44\\x75\\x8c\\x73\\x59\\xd1\\x58\\xa6\\x90\\xb6\\x0a\\xda\\xed\\x9b\\x29\\x3c\\x64\\x15\\x6a\\xb7\\x4a\\x9e\\x46\\x7f\\x0b\\x9d\\xf2\\xca\\x8f\\xfd\\x2a\\xe2\\x18\\x56\\xcb\\xa6\\xb1\\x46\\x8a\\x31\\x66\\xb1\\xf9\\xfa\\x2b\\xa8\\x2b\\xd9\\x0f\\xd9\\x83\\x14\\x63\\x3c\\xc1\\x36\\xd1\\xcc\\xbf\\xc3\\xfa\\xd9\\x59\\xcb\\xb1\\xca\\x28\\xce\\x18\\x67\\x4d\\xb6\\xa6\\x58\\xb5\\x6e\\x5c\\x63\\x85\\x74\\xcc\\x62\\xf1\\x75\\x54\\xa7\\x08\\x8f\\xef\\x70\\xdb\\xf9\\x19\\xb7\\x74\\x5e\\x74\\xcb\\xc8\\xdd\\x6e\\x6c\\x53\\xf9\\xd4\\xc8\\xd0\\xc8\\x79\\x23\\x9f\\x70\\x6b\\x23\\x8f\\x8f\\xca\\x8c\\x7a\\xe7\\x82\\x36\\xb7\\x76\\xc1\\xae\\xaa\\x4b\\xaa\\x6e\\xa9\\xda\\xe6\\xd6\\x3e\\x57\\xf9\\xb9\\xfb\\x2e\\x8c\\x5c\\x78\\x8f\\xdb\\xff\\xc2\\x53\\x6e\\x39\\x66\\x83\\x5b\\x8e\\x9b\\xa7\\xb9\\x42\\x17\\x05\\x2f\\xea\\xb9\\xe8\\xa5\\x89\\x97\\x4c\\xbc\\x63\\xe2\\xbe\\x2f\\xc4\\xbf\\xb0\\x5a\\xb7\\x96\\x7f\\x61\\xdb\\x17\\xce\\x4e\\x9a\\x32\\x69\\xfe\\xa4\\x7b\\x26\\x6d\\x9e\\x74\\xf4\\xe2\\x71\\x17\\xcf\\xb8\\xf8\\xd6\\x8b\\x9f\\xb8\\x78\\xdf\\xe4\\x32\\x7d\\xdc\\x9e\\x3c\\x6e\\xf2\\x74\\xb2\\x07\\xd1\\x93\\xdb\\xb5\\x0d\\xad\\x9a\\xcd\\xae\\xdc\\x9a\\x67\\xdd\\x32\\xde\\xe9\\x96\\x97\\x22\\xbe\\xfb\\x6a\\x9b\\xcb\\x57\\x37\\x05\\x65\\xad\\x8e\\x29\\xad\\xba\\x6b\\x68\\xa5\\xdc\\x6f\\x93\\x14\\xfb\\x41\\xb2\\xe6\\x0c\\x3a\\x63\\xd6\\xb2\\x47\\xc9\\x6a\\x1b\\xd9\\xcf\\xd8\\xcf\\xd9\\xb3\\x64\\xbb\\x57\\xd8\\x2e\\xb6\\x8f\\xce\\x9b\\x23\\xec\\x3d\\xb2\\x22\\xce\\x1c\\x6b\\x94\\x35\\x9a\\x22\\xb6\\xc9\\xd6\\x97\\xac\\xa9\\x56\\x9c\\xa2\\xb6\\x7a\\xeb\\x0a\\xeb\\x2a\\x6b\\x96\\x35\\xcf\\xba\\xd1\\x6a\\xb1\\xda\\xac\\x2e\\x6b\\xb9\\x75\\x9b\\x75\\xa7\\x75\\xb7\\xb5\\xda\\xba\\xdf\\x7a\\xd0\\x7a\\xd8\\x5a\\x67\\x6d\\xb0\\x36\\x59\\x4f\\x5b\\xcf\\x58\\xcf\\x59\\xdb\\xac\\xed\\xd6\\x6e\\xeb\\x75\\xeb\\x4d\\xeb\\x1d\\xeb\\xb8\\x75\\xca\\x3a\\x6b\\xdb\\x76\\xc8\\xae\\xb0\\xab\\xec\\xb1\\xf6\\x44\\xfb\\x8b\\xf6\\x14\\x3b\\x6a\\x27\\xed\\xcb\\xec\\x46\\x7b\\xba\\x7d\\x8d\\x3d\\xc7\\x9e\\x4f\\xba\\x36\\x07\\xa2\\x94\\x4f\\xd3\\xf9\\x5a\\x9d\\x4f\\xd0\\xb9\\xdb\\x7e\\xdc\\xa0\\xef\\xd0\\xf9\\x35\\x06\\xff\\x04\\x8f\\xce\\x26\\x0d\\x09\\xd3\\x8c\\x7c\\xb9\\x21\\xa1\\xd9\\x90\\x60\\xb6\\x9b\\x9c\\x55\\x46\\xcb\\x1d\\x7e\\x14\\xe4\\xcd\\x83\\xe8\\x09\\xfe\\xf6\\x02\\x7d\\xaa\\x0c\\x69\\xee\\xd1\\x03\\x83\\xe8\\xe6\\x41\\xf9\\x60\\x1d\\x4c\\xac\\xe5\\xc3\\xb0\\x86\\x29\\x61\\xf0\\xd8\\x07\\xeb\\x6f\\xf0\\x67\\x8f\\x0e\\x1a\\xb5\\x6e\\x1f\\x78\\x86\\x62\\x47\\xe4\\xe8\\xa5\\x72\\xba\\xfe\\x14\\x44\\x86\\x2f\\xd2\\xd5\\xe5\\x22\\x1d\\x1f\\x4e\\x0c\\xed\\xa4\\x6b\\xce\\x25\\x11\\x87\\x62\\xed\\x2b\\xf4\\xb9\\xf7\\x3e\\x73\\x77\\x2d\\xa4\\x8d\\xf3\\xa4\\xde\\xdd\\x8d\\x66\\x6a\\x9f\\xe1\\x5e\\x7b\\x46\\x82\\x87\\xf6\\x45\\x24\\x91\\xae\\x22\\x81\\x20\\xc5\\xa9\\x01\\xf5\\x3d\\x2d\\x36\\x56\\x4b\\x1c\\x47\\x1c\\xe3\\x68\\xc7\\x63\\xd1\\xd5\\xaf\\x4c\\x5f\\x69\\x2c\\x7b\\xae\\xd6\\xc7\\x22\\x6c\\xd5\\xfb\\xa3\\x3c\\xc2\\xfd\\x6a\\xaf\\xc2\\x9e\\x63\\x0f\\x51\\xbe\\x8d\\xb8\\x47\\xd1\\x2e\\x69\\x0a\\x8b\\xd2\\xce\\xe5\\x32\\xba\\xae\\x4c\\x67\\xd7\\xd0\\xee\\x65\\x3e\\x79\\x97\\x8c\\xfe\\xf4\\xec\\x2d\\x74\\x7d\\xb9\\x8b\\xae\\x7c\\x24\\xcf\\x9e\\x4a\\xf9\\x4a\\x95\\x67\\x8f\\x6a\\x7a\\xae\\x3d\\x97\\xe8\\x97\\x14\\x4d\\x17\\xb4\\xa9\\x9a\\x7e\\x33\\x97\\xbb\\x47\\xed\\x71\\x16\\xe9\\x62\\xdd\\xaa\\xf9\\xa7\\xaa\\xdc\\x7a\\x44\\xe7\\x1b\\xec\\x36\\x9d\\xab\\xf6\\x36\\x9d\\x9f\\xb6\\xfa\\x73\\x39\\x45\\xe2\\x25\\x81\\xf2\\xc0\\x88\\xc0\\xa8\\xc0\\xe7\\xdc\\xef\\x86\\x91\\x0d\\xbd\\x6f\\x93\\xa8\\x2f\\x93\\xec\\xa4\\x48\\x5f\\x8d\\xab\\x3f\\x3f\\x2e\\x66\\x6f\\xa4\\xfa\\x29\\xe7\\x25\\xda\\x93\\x8d\\x53\\x67\\x38\\xed\\xb1\\x92\\xd6\\x65\\x56\\xa3\\x35\\x9d\\xf6\\x59\\x73\\xac\\xf9\\xd6\\x02\\x2b\\x63\\xb5\\x5b\\x3d\\xd6\\x2d\\xd6\\x4a\\xeb\\x2e\\xeb\\x1e\\xeb\\x3e\\xeb\\x01\\xeb\\x21\\xeb\\x11\\x6b\\xbd\\xf5\\xa4\\xf5\\x94\\xb5\\xd9\\xfa\\x85\\xb5\\xd5\\x7a\\xc9\\xda\\x61\\xfd\\xc6\\x7a\\xc3\\x3a\\x6c\\x1d\\xb5\\x4e\\x58\\xa7\\xad\\x01\\xdb\\xb1\\x23\\x76\\xa5\\x7d\\xa1\\x3d\\xce\\x9e\\x64\\x5f\\x62\\x7f\\xd9\\xae\\xb5\\x2f\\xb5\\x2f\\xb7\\xa5\\x3d\\xc3\\x9e\\x49\\x63\\xbc\\xde\\x6e\\xb6\\x6f\\xb2\\x3b\\xed\\xa5\\xf6\\xad\\xf6\\x1d\\xf6\\xf7\\xec\\x1f\\xda\\x3f\\xb1\\xd7\\xd8\\x6b\\xed\\x47\\xed\\x27\\xec\\x8d\\xf6\\xcf\\xec\\x9f\\xdb\\xcf\\xda\\x2f\\xda\\xaf\\xd8\\xbb\\xec\\x7d\\xf6\\x01\\xfb\\x88\\xfd\\x9e\\xdd\\x6f\\x9f\\xe1\\x8c\\x07\\x79\\x19\\x1f\\xc5\\x47\\xf3\\x09\\x7c\\x32\\xff\\x12\\x9f\\xca\\xe3\\x7c\\x1a\\xaf\\xe7\\x57\\xf0\\xab\\xf8\\x2c\\x3e\\x8f\\xdf\\xc8\\x5b\\x78\\x1b\\xef\\xe2\\xcb\\xf9\\x6d\\xfc\\x4e\\x7e\\x37\\x5f\\xcd\\xef\\xe7\\x0f\\xf2\\x87\\xf9\\x3a\\xbe\\x81\\x6f\\xe2\\x4f\\xf3\\x67\\xf8\\x73\\x7c\\x1b\\xdf\\xce\\x77\\xf3\\xd7\\x69\\x5f\\xfa\\x0e\\xed\\x4b\\x4f\\xf1\\xb3\\x8e\\xed\\x84\\x9c\\x0a\\xa7\\xca\\x19\\xeb\\x4c\\x74\\xbe\\xe8\\x4c\\x71\\xa2\\x4e\\xd2\\xb9\\xcc\\x69\\x74\\xa6\\x3b\\xd7\\x38\\x73\\x9c\\xf9\\xce\\x02\\x27\\xe3\\xb4\\x3b\\x3d\\xce\\x2d\\xce\\x4a\\xe7\\x2e\\xe7\\x1e\\xe7\\x3e\\xe7\\x01\\xe7\\x21\\xe7\\x11\\x67\\xbd\\xf3\\xa4\\xf3\\x94\\xb3\\x99\\xac\\xff\\x13\\xb5\\x7a\\xed\\xb9\\xc1\\x0c\\xcd\\xcd\\xcf\\x14\\x6d\\xfd\\x4c\\xd3\\xb3\\x34\\x3d\\x4b\\xd3\\xdb\\x34\\xbd\\x4d\\xd1\\xf6\\x54\\xcd\\x3f\\x55\\xd1\\x6c\\x9f\\x5e\\xf9\\xfb\\x34\\xcf\\xe5\\x9a\\xe7\\x72\\xcd\\x33\\xd7\\x93\\x69\\xd2\\xb8\\x8e\\x1d\\xf7\\xcb\\x2c\\x90\\x1f\\xd2\\xfc\\x21\\x4d\\xaf\\x2c\\x2e\\xc7\\x72\\x34\\xbf\\xe3\\xd7\\xd3\\xd4\\xad\\x80\\x36\\x65\\x8e\\x33\\xe8\\xa1\\x78\\x8c\\xf6\\x02\\xdd\\x4e\\xeb\\xf6\\xd3\\x83\\xf4\\x19\\x62\\x2c\\x05\\x7d\\x87\\xe0\\x2f\\xb0\\xff\\x10\\x76\\x1e\\x8e\\x7d\\x86\\xc2\\x2a\\xd0\\x79\\x38\\xb4\\xa1\\xcf\\x50\\xf4\\x67\\xb1\\x4e\\xce\\x7b\\x6d\\x98\\xf6\\x1c\\x6a\\x0d\\x0c\\x35\\xef\\x9f\\x62\\xae\\x69\\x2c\\xc7\\xf3\\x63\\xd9\\x16\\xd8\\x97\\xb7\\xc3\\x06\\x4d\\x3f\\x02\\xf9\\xfb\\x8a\\x62\\x19\\xf4\\x10\\x63\\x1c\\xbe\\x07\\x19\\x99\\xff\\xfe\\xa3\\xfa\\xfa\\xe3\\x0e\\xfd\\xd5\\xc7\\x3d\\xce\\x1b\\xfa\\x1b\\x8f\\x6f\\x39\\x1f\\x3a\\x67\\x43\\x2f\\xa8\\x3b\\x84\\x4c\\x32\\xa6\\xef\\xc7\\xcd\\xa4\\x34\\x97\\xd2\\xf5\\x94\\x9a\\x29\\xdd\\x44\\xa9\\x93\\xd2\\x52\\x4a\\xb7\\x52\\xba\\x83\\xd2\\xf7\\x28\\xfd\\x90\\xd2\\x4f\\x28\\xad\\x51\\x7e\\x9b\\xca\\x47\\xa9\\x3c\\x1c\\x98\\xa6\\xae\\xb6\\x01\\x49\\xf9\\x7a\\x45\\xd3\\x19\\xe8\\xb5\\xb8\\xf9\\x5a\\x95\\x67\\x1f\\xd4\\xf4\\x34\\x4d\\x3f\\x6b\\xf0\\x4c\\x03\\xe7\\x34\\xed\\x29\\x97\\x2b\\xda\\x39\\xaa\\x5b\\xce\\xe8\\x7c\\x6d\\xfe\\x3a\\xfe\\xe5\\xff\\x77\\x1d\\xff\\x64\\xd7\\x71\\x7d\\x47\\x53\\xcd\\x30\\xad\\x48\\x23\\x9f\\xa2\\xf3\\x59\\xfa\\xe8\\x3a\\x4d\\xaf\\xd6\\xf4\\x54\\x2f\\xb7\\xe2\\x46\\x3e\\xda\\xcb\\x5d\\x69\\x83\\x73\\x8a\\x98\\xf3\\xb9\\x2b\\xad\\x48\\x3e\\xcb\\xc0\\x5d\\x69\\xe4\\x73\\x3d\\x3a\\x7b\\xa3\\x97\\x0f\\x89\\x6b\\xea\\xb9\\xcd\\xc8\\xfb\\xbd\\xdc\\xde\\xec\\x6f\\x19\\xdc\\xce\\x27\\x1a\\xed\\x73\\xfd\\x9a\\x20\\x1f\\xe7\\xe5\\x83\\xa5\\x0d\\xee\\x5b\\xd0\\x6e\\xd8\\x7f\\x48\\x3b\\x0f\\xc3\\x3e\\x05\\x7a\\x0e\\xb6\\xdb\\xb0\\x73\\xcb\\xbd\\xc3\\x3d\\x37\\xfb\\x52\\x9e\\x5e\\xa0\\xe8\\xcf\\x7a\\x9d\\x14\\xac\\x8d\\x47\\x8c\\x7c\\xa8\\xb1\\x1b\\xb3\\x30\\x94\\xcc\\xa1\\xe6\\x7d\\xf0\\x5c\\xbb\\xf9\\x70\\xe6\\xba\\x60\\x2c\\xa6\\x1d\\x4c\\x3d\\x4d\\x94\\x59\\x43\\xe4\\x26\\xbf\\x37\\xde\\xe1\\x5f\\xc7\\xc7\\x3a\\x2f\\x38\\x2f\\x39\\xaf\\x16\\x7c\\xad\\xf7\\x40\\x91\\xef\\xf3\\x7e\\xe0\\x9c\\x74\\x7e\\xef\\x64\\xdd\\xaf\\xa5\\xb1\\xb1\\x6c\\x38\\x57\\x70\\x86\\x2b\\x38\\xa3\\x3d\\xaf\\xfa\\x82\\x23\\x63\\x6a\\x8c\\x3f\\xa7\\xf4\\x2c\\xa5\\x17\\x29\\xbd\\x42\\x69\\x17\\x25\\x35\\x5f\\x07\\x48\\x9b\\x23\\x54\\xbe\\x47\\x49\\x8d\\xf9\\x8c\\x9a\\x48\\x3a\\x3f\\x77\\xb3\\x2a\\x75\\x35\\x57\\x63\\xa3\\x7c\\x42\\xbe\\xe5\\x80\\xa6\\x73\\xb9\\x66\\x66\\x2e\\xbf\\xc7\\xf3\\x82\\xa6\\x5f\\xd5\\xf9\\x51\\x83\\xce\\x49\\x63\\xf9\\x96\\x57\\x41\\x7b\\x28\\x06\\x8f\\xbb\\x9e\\xf2\\x9c\\xb9\\x9c\\xeb\\x3d\\x90\\xa5\\x90\\x58\\x54\\xe3\\x8f\\xa2\\xdc\\x76\\x3e\\x24\\xdf\\x37\\xc4\\x5d\\x7a\\x56\\x71\\x2e\\xbf\\x49\\x12\\x6d\\x92\\x38\\x4d\\xcb\\x64\\x3e\\x89\\x1f\\xd7\\xb7\\x38\\xe2\\xc7\\xe8\\xa8\\x57\\x06\\xd3\\x6b\\xc2\\xd2\\x6b\\xe2\\x0b\\x9f\\xb5\\x8e\\x45\\x10\\x95\\x8e\\xd3\\xa1\\xe3\\x8d\\x5a\\xe2\\x05\\x94\\x8f\\x39\\x8f\\x95\\x99\\x5b\\x97\\x43\\x59\\x3d\\x52\\x4c\\xd6\\x1f\\x00\\x77\\xc4\\xc7\\xf4\\xfb\\x57\\xd5\\xa0\\xe8\\x5c\\xfe\\x9f\\xd7\\x60\\x28\\xdb\\xdb\\xfa\\xbe\\xa2\\xb7\\x8a\\xaa\\x3e\\x76\\xf5\\x9c\\xfb\\xdc\\x52\\x23\\xa9\\xc5\\x48\\xa6\\x0f\\x53\\xe2\\x50\\xf3\\xe6\\xe2\\x7c\\x4a\\x1d\\x87\\x58\\xe9\\x9f\\x40\\xc7\\xa2\\x76\\xf5\\x74\\x9c\\xce\\xda\\x0c\\x1d\\x3f\\xf7\\x09\\xe7\\xef\\xe3\\xd7\\xca\\x50\\x76\\x57\\x1a\\x2c\\xf8\\x57\\xd1\\xa0\\xf8\\x5a\\x39\\x17\\xee\\x1f\\x6c\\xe4\\x45\\x67\\xf3\\x0f\\x30\\xf2\\x62\\x73\\x8f\\xbb\\xca\\x6b\\xff\\xc8\\xef\\x2a\\x63\\x4f\\xad\\x77\\x97\\x53\\x34\\xbd\\xd5\\xbd\\x73\\xe2\\xdd\\x95\\xc5\\xbd\\x94\\x29\\x1e\\xa7\\xcb\\x63\\xe6\\xd9\\x27\\xfd\\x12\\x20\\xc7\\xe8\\x05\\x99\\x2e\\x3d\\xda\\x2f\\x0d\\x47\\xb7\\x0e\\xd2\\xc7\\xbd\\x33\\xbc\\x69\\x90\\xcc\\xad\\xe7\\x92\\x30\\x58\\x9f\\x02\\xfd\\xa7\\x0d\\x41\\x0f\\xca\\xcf\\x6d\\x93\\x73\\x5b\\xa3\\x08\\xae\\x39\\xf6\\x73\\x8f\\x7a\\x82\\x31\\xf6\\xb5\\xde\\xd1\\x6c\\xa5\\x97\\x1b\\x88\\xc3\\x8f\\x25\\xb9\\xf3\\x4f\\xce\\x7e\\xe7\\xb0\\x7e\\x9b\\xa1\\x42\\x5f\\xdb\\x18\\x45\\x8a\\x85\\xfb\\x74\\x9d\\x63\\xfd\\x3e\\xf4\\xc7\\xbd\\x7e\\x9d\\x19\\xfa\\x7e\\xc9\\x66\\x6d\\xb9\\x35\\x2a\\xe7\\x13\\x75\\x7e\\xa7\\x67\\x4b\\x6b\\xb5\\xd7\\xc2\\xcf\\x7a\\xed\\xbc\\xcc\\xcb\\x5d\\x09\\xee\\x51\\xbe\\xc3\\xe8\\x9b\\x31\\xfa\\xde\\x69\\xc8\\x37\\x50\\xf8\\x7c\\x9d\\x5f\\xa1\\xe5\\xbc\\xa9\\xf2\\xc0\\x34\\x4f\\x4e\\xee\\x2e\\x91\\x97\\xf3\\x23\\x1e\\xae\\xa9\\xbf\\x2b\\xcd\\x95\\x60\\xea\\xe3\\xb6\\xb8\\xd2\\x82\\xa3\\x3d\\xf9\\x26\\xed\\xca\\x31\\xf3\\x02\\x9b\\x94\\x0d\\x61\\x13\\xc3\\x1a\\x2e\\xbf\\x99\\xc3\\x0e\\xa6\\x05\\x0c\\x8b\\x9d\\x7b\\xd4\\x90\\x5f\\x66\\xe8\\x3f\\x71\\x90\\x7c\\x4f\\xda\\xf0\\xd7\\xaf\\xed\\xec\\x74\\x76\\xeb\\x77\\xcd\\x22\\x4c\\x3d\\x19\\xcd\\xdd\\x37\\x5a\\xfb\\xa7\\xb3\\x66\\xf9\\x11\\xbd\\xc7\\xfc\\x7b\\x9d\\xbb\\x3b\\xd9\\xb5\\x7a\\x4f\\xaa\\xf7\\xdd\\xd6\\x9f\\x69\\x3f\\x75\\x5c\\xb7\\x3c\\xa1\\xf3\\xbf\\xd1\\x2d\\x9b\\x34\\xbd\\x43\\xf3\\x6f\\xf1\\x76\\xb2\\x8e\\x7e\\x8f\\x8d\\x3f\\xa3\\xfb\\xea\\x27\\xde\\xd6\\x5f\\xeb\\x16\\x77\\x9f\\x3b\\x5f\\xe7\\x1a\\x91\\xd7\\x1a\\x7b\\xde\\xac\\xb1\\xe7\\x7d\\x45\\xcb\\x49\\x1a\\xf2\\x7f\\xab\\xf3\\x23\\xc6\\x7e\\xd9\\xa0\\x1d\\x6e\\xe8\\xfc\\x7d\\x4d\\xbf\\xe6\\xd7\\xc7\\x95\\xe9\\x4a\\x73\\x25\\x0f\\xce\\xf9\\x59\\x7f\\x5e\\x60\\x13\\x77\\x14\\x77\\x6a\\x9d\\x2d\\xc3\\x26\\xe7\\xb4\\x06\\xd7\\x9a\\x58\\xae\\x6e\\x7f\\xeb\\x1f\\xbb\\xbb\\xeb\\x1f\\x6a\\xd4\\x2e\\x0a\\x74\\xd8\\xe2\\xf5\\x2a\\xb8\\x6f\\xb0\\x23\\x9f\\x9f\\xcf\\x9a\\xdd\\xee\\x1c\\x2a\\x58\\xb3\\x8c\\x5d\\xa2\\x77\\xbb\\x11\\xec\\xd4\\x2e\\x33\\xe2\\x93\\x0b\\xf3\\x3d\\x3e\\x3e\\xe6\\xb1\\xd8\\x85\\x01\\x3b\\xc0\\x03\\x81\\x40\\x30\\x10\\x0e\\x94\\x05\\x2a\\x03\\xa3\\x43\\x7d\\xfa\\x59\\x98\\xfa\\x22\\xbf\\xfa\\x1e\\xff\\xc1\\xd0\\xe1\\xd0\\x91\\xd0\\x7b\\xa1\\xf7\\xd5\\x57\\xd5\\x09\\x8d\\xd3\\x9e\\x78\\x32\\xfb\\x92\\xea\\x59\\x04\\xcf\\xd2\\x77\\x5c\\x2d\\xe7\\xc8\\x67\\x20\\xf9\\xe4\\x67\\x2c\\xf9\\xe8\\x67\\x26\\xf9\\xdd\\xcf\\x4c\\xf2\\xb1\\xcf\\x4c\\xf2\\xf1\\x4f\\x20\\x59\\xad\\xc4\\x49\\x43\\xac\\x44\\x57\\xee\\xf9\\x4b\\x74\\x35\\xcd\\x49\\xfc\\x33\\xca\\x83\\x3a\\x8a\\x76\\x23\\xe8\\x93\\x05\\xf3\\x37\\x5c\\xfe\\xbd\\x98\\x95\\xf3\\x93\\x3f\\x7c\\x7e\\x57\\xfe\\x7b\\xc3\\xe6\\xdf\\x7e\\x9e\\xfc\\x2f\\x61\\xee\\x87\\xcb\\x7f\\x04\\x33\\x3a\\x5c\\xfe\\xa3\\xe7\\xc9\\xff\\xd2\\x79\\xf2\\x6f\\x3f\\x4f\\xfe\\xbd\\xe7\\xc9\\xbf\\xef\\x3c\\xf9\\x4f\\x1a\\xfc\\x93\\xe8\\xca\\x6a\\xd3\\xca\\x1d\\x87\\x1e\\xa3\\x0d\\x89\\xbf\\x65\\xb9\\xb7\\x2a\\xac\\xc0\\xa8\\x61\\x72\\xf7\\x83\\xdb\\xaa\\xb8\\x4b\\xbf\\xa9\\xd5\\xc2\\x76\\xe9\\xb8\\x61\\x8a\\x75\\x99\\x35\\xdf\\x6a\\xb7\\x56\\x5a\\xcf\\xd9\\xcc\\xbe\\xd4\\x5e\\x6e\\xdf\\x61\\xaf\\xd6\\x7f\\x6b\\xec\\x67\\xed\\x97\\x78\\x15\\x1f\\xcb\\xaf\\xe0\\x37\\xf1\\x3b\\xf9\\x1a\\xbe\\x9b\\x9f\\x70\\xca\\xf4\\x33\\x9b\\xf5\\x81\\xaa\\xc0\\xa4\\xc0\\x8c\\xc0\\x9c\\xc0\\xba\\xc0\\xd3\\x41\\x27\\x18\\x0f\\xce\\x0f\\xac\\x0b\\xde\\x15\\xbc\\x27\\x78\\x5f\\x70\\x73\\xf0\\xc5\\xe0\\x69\\xaa\\x9d\\x2e\\x09\\x96\\x54\\x95\\x8c\\x2d\\x99\\x58\\xd2\\x5e\\xb2\\xb6\\xe4\\xbd\\xd0\\xac\\xd0\\xf5\\xa1\\xe6\\xd0\\x6d\\xa1\\xd5\\xa1\\xa7\\x43\\xcf\\x84\\x76\\x85\\x9d\\xf0\\xcc\\xf0\\xea\\x88\\x1d\\xb9\\x27\\xf2\\x54\\x64\\x6b\\x64\\x7b\\x69\\xa8\\x34\\x5a\\x3a\\xbf\\xb4\\xa5\\xf4\\xc1\\xd2\\xe7\\x4a\\x5f\\x29\\x7d\\xbd\\xac\\xaa\\x2c\\x5e\\x76\\x63\\xe9\\xfc\\xb2\\xfb\\xca\\x36\\x97\\xbd\\x53\\x3e\\xba\\xfc\\xd2\\xf2\\xb6\\xf2\\x3b\\xca\\xd7\\x95\\x6f\\x28\\xdf\\x54\\xfe\\x74\\xf9\\xd1\\x8a\\x51\\x15\\x53\\x2a\\xea\\x2b\\xae\\xa8\\x98\\x57\\xd1\\x49\\xfe\\x67\\x72\\x76\\x13\\xbb\\x34\\xbb\\x97\\x4d\\xcb\\xee\\xe5\\x5f\\xc9\\x6e\\xe2\\x75\\x54\\x36\\x52\\xf9\\x35\\x4a\\x57\\x51\\xba\\x96\\xea\\xdf\\xce\\xaa\\x19\\xac\\xca\\xde\\xcb\\xc2\\x8c\\x53\\x9e\\xa0\\x94\\xca\\x66\\xa8\\x5f\\x23\\xf5\\xbb\\x97\\x5d\\x47\\xf4\\x3c\\x4a\\xf3\\xb3\\x99\\x92\\x37\\xa9\\x74\\x88\\x6b\\x2f\\x1b\\x31\\x70\\x9a\\x8d\\xa4\\x34\\x99\\xb8\\x4a\\xa8\\x65\\x13\\xf5\\xdb\\x4b\\xfd\\x14\\xde\\x26\\xea\\xb7\\x89\\xf8\\x37\\x11\\xff\\xbd\\x9a\\x7f\\x93\\xc1\\xaf\\x24\\xa4\\x88\\x17\\x7a\\x11\\xdf\\x5e\\x36\\x92\\x8d\\x20\\x39\\x95\\x94\\x46\\x52\\x1a\\x4f\\x3c\\x13\\x28\\x4d\\xa6\\xde\\x51\\x3a\\xda\\x48\\x6d\\x92\\xd2\\x15\\x94\\x66\\x90\\xac\\x99\\x54\\xce\\xa6\\x72\\x0e\\x95\\x73\\xa9\\x9c\\xe7\\xa2\\xd1\\x8e\\x27\\xa7\\x59\\x25\\xf5\\x54\\x68\\x9e\\xa4\\x0c\\x49\\x19\\x4f\\x12\\xc6\\x93\\x84\\x7b\\x49\\xc2\\x78\\x92\\x70\\x2f\\xf5\\xbe\\x57\\x8d\\x2b\\xd7\\x93\\xa8\\x4a\\x92\\x33\\x92\\xca\\xf1\\x74\\x64\\x02\\x25\\xb7\\x67\\x86\\x7a\\x66\\x80\\x9d\\xa1\\x9e\\x19\\xf4\\xbc\\x97\\x8d\\x70\\x47\\x97\\xd7\\x5e\\xf5\\x6c\\xa4\\x9e\\x8d\\xe8\\xd9\\x58\\x80\\xf9\\x4d\\x6a\\x9b\\x45\\xe5\\x5c\\x6a\\xbf\\x8e\\x92\\xcd\\xae\\xcc\\xee\\x2d\\x79\\x93\\x2d\\xa1\\xf5\\x3a\\x42\\xe9\\x9c\\xbd\\x97\\x6a\\x33\\xa8\\x7d\\x84\\xd6\\x63\\x93\\x8a\\x21\\xb2\\xf7\\xf2\\xaf\\x67\\xfb\\xf8\\x4c\\x4a\\x73\\xb2\\x73\\x69\\xce\\xea\\xf9\\x5c\\xa2\\xbf\\x4d\\x65\\x3a\\xbb\\x91\\x77\\x64\\x33\\x7c\\x45\\x76\\x33\\xb3\\xe9\\xc8\\x03\\xd4\\xfa\\x00\\x1b\\xc9\\x1b\\xd8\\x83\\x34\\xcf\\x19\\x9a\\xe7\\x0c\\xcd\\x73\\x86\\x5f\\x9f\\x95\\xfc\\xc6\\xec\\xaf\\x79\\x13\\xa5\\x85\\x44\\xb7\\x50\\x6a\\x25\\xfa\\x66\\x4a\\x6d\\x94\\xda\\x29\\x2d\\xa1\\xb6\\x5e\\x4a\\xcb\\x29\\xdd\\x96\\xa5\\x78\\x9b\\xe4\\x3d\\xcc\\x4a\\x87\\x8b\\xaf\\xd7\\x46\\x08\\x33\\x70\\x86\\xac\\x7f\\xc6\\xd5\\x62\\xa0\\x8f\\x7f\\x6d\\xa0\\x9f\\x5f\\x45\\xe5\\xcd\\x34\\x9e\\x20\\xe4\\xed\\x21\\x79\\x7b\\x48\\x5e\\xaf\\x96\\x47\\xb2\\x58\\x80\\x34\\x7e\\x94\\x34\\xde\\x43\\x1a\\x3f\\x9a\\x1f\\xcb\\x08\\xe2\\x7d\\x94\\x78\\x1f\\x25\\x4c\\x35\\x8e\\x2d\\xa4\\xff\\x16\\xd2\\x7f\\x0b\\xcf\\x50\\xba\\x89\\x52\\x27\\xa5\\x25\\x94\\x7a\\x29\\x2d\\xa7\\xf4\\x1d\\x4a\\xb7\\x51\\x5a\\x99\\xdd\\x92\\x47\\x2b\\xd4\\x5e\\xa1\\x05\\xe9\\x7c\\x78\\xb4\\x28\\x62\\x10\\xeb\\xd5\\x1d\\x43\\xe3\\xc0\\x6b\\xc4\\x51\\x46\\xfa\\xbf\\x46\\x16\\x59\\x9a\\x7d\\x94\\x5d\\x44\\x73\\x23\\x69\\xb6\\x25\\xcd\\x8f\\xcc\\xad\\x30\\x1a\\xeb\\x2f\\x49\\xda\\xf5\\xc4\\xdb\\x4c\\x78\\x7b\\x49\\xe2\\xf5\\x84\\xb9\\x97\\xb4\\xde\\xcb\\xbf\\x45\\x49\\xcd\\xc0\\x0d\\x94\\x72\\xd6\\x5f\\xa4\\x67\\x60\\x93\\xb2\\x09\\x59\\x7f\\x53\\xde\\xfa\\xcb\\x88\\x56\\x33\\xb0\\x82\\xca\\x5b\\x28\\xdd\\xca\\x5a\\xf8\\x77\\xa9\\xa4\\x19\\xe1\\xb7\\x93\\x5e\\x63\\x7d\\xe8\\x92\\xd0\\xa5\\x31\\xdf\\xab\\x08\\xfd\\xb7\\x7a\\xce\\x67\\x52\\xa9\\xe6\\xc9\\x3f\\xf7\\x69\\xb2\\xf9\\x70\\xe6\\x9f\\x6b\\xeb\\x5c\\x4b\\xdc\\xdf\\xce\\xf6\\xb2\\x08\\xc9\\x59\\x45\\xfd\\x57\\x51\\xdf\\x55\\x64\\xf7\\x3d\\xc4\\xbf\\x8a\\xf8\\x57\\x11\\xff\\x2a\\xb2\\xf9\\x2a\\xea\\xb3\\x8a\\x6c\\xbe\\x4a\\xaf\\xc3\\x87\\xa9\\xcf\\xc3\\xac\\xea\\xbc\\xf4\\x1a\\x8e\\x4e\\x0e\\x5f\\x4c\\xb6\\xec\\xca\\x1e\\xa4\\x99\\x38\\x48\\x36\\xda\\xc2\\x46\\x91\\x9c\\x35\\x24\\xe7\\x79\\x92\\xb1\\x86\\xc6\\xb6\\x9e\\xe4\\xac\\x27\\x39\\xcf\\x93\\x8e\\xeb\\x49\\xd6\\xf3\\x24\\xeb\\x79\\x5a\\xa3\\xeb\\x49\\xd6\\x1a\\xea\\xb9\\x87\\xe4\\xad\\xa1\\xde\\x73\\x48\\xe6\\x1a\\xd2\\x7b\\x0d\\xc9\\x5d\\x43\\x7a\\xaf\\x61\\x65\\x24\\x69\\x0f\\x49\\xd9\\x43\\x12\\xf6\\xd0\\xea\\xda\\x43\\x2b\\x4b\\x8d\\x72\\x0f\\xef\\xd1\\xbd\\xf6\\x50\\x8f\\x3d\\xd4\\x63\\x0f\\xf5\\xd8\\x43\\x3d\\xf6\\xb0\\x30\\x5f\\x90\\xdd\\x4f\\xdc\\x7b\\x89\\xfb\\x3d\\xe2\\x7e\\x8b\\x38\\x77\\x12\\xe7\\x5e\\x9a\\xc5\\xfd\\x34\\x6b\\xfb\\x69\\xc6\\xf6\\x6b\\xcb\\xf5\\x91\\xdc\\x3e\\xe2\\xec\\x23\\xce\\x3e\\xe2\\xec\\x23\\xb9\\x7d\\xc4\\xdd\\x47\\xdc\\x7d\\x24\\xb7\\x8f\\x64\\xf6\\xd1\\xfa\\x5a\\x92\\x3d\\x48\\xb9\\x1a\\x97\\xea\\x75\\x90\\x7a\\x1d\\xa4\\x5e\\x07\\x55\\x3b\\x71\\x1f\\x24\\xee\\x83\\xc4\\x7d\\x90\\xb4\\x38\\x48\\x3d\\x0e\\x92\\x16\\x07\\x69\\x9e\\x94\\x4d\\x72\\xf6\\x28\\xf5\\x9d\\x23\\xfb\\xf5\\xb9\\xd1\\x43\\xa5\\x7b\\x7e\\xec\\x2f\\x38\\x3f\\x78\\x81\\x2d\\xd5\\x35\\xe8\\x76\\x5a\\x57\\x2d\\x6c\\x3c\\xab\\x61\\x16\\x9d\\xd1\\x21\\x9d\\xcf\\x60\\x17\\xf0\\x5f\\xb1\\xf1\\x7c\\x6b\\xf6\\x10\\x7f\\x99\\xce\\xf8\\x57\\x48\\xdf\\xed\\x94\\x5e\\x25\\x7a\\x47\\xf6\\x76\\xbe\\x93\\xce\\x9c\\xdd\\x54\\xbe\\x4e\\x96\\xdc\\x4f\\x08\\x07\\x28\\x1d\\xa6\\x74\\x8c\\xd2\\x09\\x4a\\xfd\\xd9\\xcd\\xfc\\x24\\x95\\x03\\xd9\\xfd\\x24\\xad\\x9a\\x2c\\xbd\\x25\\xfb\\x02\\x49\\x1c\\xc3\\xb7\\xb2\\x19\\x24\\x61\\x03\\x49\\x78\\x81\\xef\\x22\\xe9\\xbb\\xa9\\xdc\\x4b\\xf3\\xf5\\x3a\\x69\\x74\\x88\\x8e\\xf7\\x67\\xdf\\x22\\xb7\\xfc\\xff\\x11\\xfe\\x16\\xc2\\xfa\\x55\\xf6\\xc7\\xfc\\x79\\xe2\\xde\\x9a\\x7d\\x9a\\xf4\\x58\\x4b\\x3a\\xac\\x25\\x1d\\x56\\x91\\x84\\x99\\x24\\x61\\x19\\x49\\xe8\\x23\\x09\\x7f\\x45\\x12\\x1e\\xe2\\x6f\\xd0\\x31\\x25\\xe1\\x5d\\x92\\xfa\\x01\\x95\\xa7\\x48\\xe2\\x69\\x36\\x86\\xa4\\x8d\\xa1\\x3f\\x63\\x9c\\x24\\xb9\\x85\\x24\\xb7\\x90\\x2e\\x7f\\xce\\xb7\\x65\\xbb\\x79\\x1f\\x49\\x79\\x99\\x7a\\xbd\\x41\\x69\\x3f\\xd1\\x07\\x09\\xf9\\x10\\x59\\xf8\\x70\\xf6\\x97\\xfc\\x6d\\x9a\\xf9\\xa3\\xa4\\xc5\\xbb\\xa4\\xc5\\x7b\\x54\\x3f\\x96\\xbd\\x9f\\xbf\\x4f\\xfa\\xf6\\x67\\xd7\\xf1\\xb3\\xd4\\xfe\\x7b\\xb2\\x40\\x36\\xfb\\x1d\\x87\\x65\\x37\\xd0\\x79\\xb0\\x93\\xb8\\xfb\\x95\\x25\\x49\\xe3\\x83\\x74\\xc5\\x79\\x99\\x38\\xb6\\x53\\xda\\x41\\xfa\\xef\\xa6\\x74\\x8c\\x10\\xfa\\xb3\\xbf\\xa4\\x55\\xfd\\x2a\\x69\\xb8\\x43\\x8f\\x7f\\x0d\\x69\\xfd\\x79\\x9a\\xfd\\xdc\\xf8\\x54\\xeb\\xce\\xec\\x7c\\xb2\\xc8\\x21\\xd2\\xa0\\x8f\\xfa\\x6c\\x24\\x9b\\xf6\\x69\\xc4\\x01\\xbd\\x66\\xfa\\xd9\\x9f\\xd3\\xb5\\x73\\x27\\xb5\\xed\\xa7\\x31\\x1e\\xa6\\x74\\x8c\\xd2\\x09\\x42\\x2c\\xa5\\xb1\\x3d\\x44\\x63\\xeb\\x23\\xab\\x6d\\xa4\\xb1\\xf5\\x91\\xb4\\xef\\xf3\\x9d\\x84\\xb5\\x8b\\x70\\x76\\x53\\xdb\\x1b\\x94\\xde\\xa2\\x71\\x9f\\x22\\x19\\x17\\x90\\x55\\x66\\x90\\x55\\x6a\\x60\\x95\\x19\\xd4\\x33\\x46\\x3d\\xef\\x27\\xed\\x37\\x53\\xef\\x1b\\xf3\\x96\\xd9\\x91\\xed\\xc0\\x8c\\xdd\\x4e\\x12\\x9e\\x20\\x5c\\x65\\xa1\\xa7\\x08\\xfb\\x29\\xc2\\x7e\\x8a\\x46\\xdf\\x47\\xd7\\x6d\\x35\\x63\\xdb\\x30\\x2e\\x77\\x6e\\xc9\\x9e\\xac\\x82\\x1f\\xa0\\x74\\x98\\xd2\\x5b\\x94\\x8e\\x50\\x3a\\x46\\xe9\\x04\\xa5\\x0f\\x68\\x85\\x9d\\xa4\\x72\\x80\\xbc\\xf1\\x38\\xd2\\x65\\x0d\\xe9\\x72\\x3b\\xe9\\x32\\x83\\x76\\x44\\x63\\xd8\\x62\\xb2\\xe3\\x77\\xb5\\x5e\\xb7\\xd3\\xca\\xa9\\xd1\\xf8\\xaf\\x13\\xf7\\x7e\\xc2\\x3c\\x08\\xec\\xb7\\xb3\\x2f\\xf3\\xdf\\x51\\x79\\x94\\xd2\\xbb\\xae\\x2e\\xfc\\x38\\xb5\\xbd\\x4f\\x7a\\x9f\\x20\\xba\\x9f\\xe8\\x53\\x94\\xce\\x50\\x3a\\x4b\\xf5\\xdf\\x53\\xca\\x6a\\x7d\\x5f\\xa6\\x58\\x71\\x84\\xf2\\x9c\\x1a\\xb1\\x86\\xd0\\xc6\\x00\\x4d\\xad\\x8d\\x0d\\x34\\xfa\\xef\\xd0\\xc8\\x5f\\x20\\xd4\\x1f\\xd3\\x88\\x7f\\x4c\\x2b\\xfc\\x10\\xa1\\xae\\xe5\\x6f\\xaa\\xf9\\xd2\\x33\\xb3\\x96\\xbf\\x45\\xf4\\x11\\x3a\\xaf\\xde\\xa6\\x95\\xfe\\x0e\\xb5\\xfd\\x8e\\x50\\x8f\\x52\\xdb\\xbb\\x94\\xde\\xd3\\x33\\xb7\\x96\\xb4\\x79\\x9e\\xb4\\xd9\\x40\\xda\\xac\\x25\\x4d\\x5e\\xe5\\x1f\\x12\\xdf\\x47\\x94\\xce\\x50\\xca\\x66\\x9f\\x27\\x4d\\xd6\\xd2\\xdc\\x6f\\xa1\\x1e\\xbf\\x22\\x8e\\x6d\\xd4\\xda\\x97\\xed\\xe7\\x2f\\x93\\x15\\x5f\\xd5\\x76\\x5f\\xa0\\xd7\\x8d\\x5a\\x99\\x47\\xe9\\xca\\xe2\\x90\\x4e\\x0f\\xd0\\x2a\\xd9\\xa8\\x67\\xff\\x58\\xf6\\x35\\x5a\\x73\\x6f\\xa8\\x78\\x82\\xce\\xdb\\x72\\x92\\xf2\\x34\\x49\\x39\\x44\\x33\\xf8\\xbc\\x3e\\x73\\xfb\\xb2\\xaf\\x11\\xbf\\x3a\\x73\\x5f\\x23\\x69\\x0f\\xd0\\x9c\\x6c\\x20\\x69\\x9f\\xa7\\x95\\xa5\\xd6\\xc1\\x21\\xdd\\x2b\\x42\\xdc\\x87\\xe8\\x4c\\xa8\\xd1\\xd8\\xbb\\xdc\\x23\\xb4\\x22\\xc7\\xd3\\x6c\\x8d\\x27\\xcc\\x13\\x34\\x9a\\x83\\x74\\x0e\\x8d\\xd7\\x5a\\xfe\\x00\\xf2\\xfb\\xf4\\xda\\x52\\x2b\\xe3\\x55\\xdd\\x4b\\x5d\\x0d\\xfa\\xa8\\x97\\x9e\\x63\\xd2\\xa9\\x9f\\x5a\\x4f\\x67\\x0f\\x91\\x4e\\x6f\\x11\\x75\\x44\\x6b\\xdf\\x47\\x92\\x36\\xea\\x33\\xe0\\x84\\x3e\\x0b\\x0e\\xd1\\x15\\xe2\\x10\\xd9\\xe4\\x35\\xc5\\xc9\\xff\\x85\\x8e\\x0f\\x64\\x0f\\xe9\\x95\\x14\\xa1\\x39\\x3e\\xa1\\x2d\\x7e\\x88\\xce\\xa7\\xc3\\x74\\x95\\x55\\x12\\x72\\x3d\\x4f\\xd2\\xb1\\x7f\\xd1\\x9c\\xea\\x1e\\xcc\\x48\\x2d\\xfb\\x10\\x5d\\xd7\\xfa\\xb5\\x94\\x43\\x4a\\x0a\\xe1\\xee\\x27\\xca\\x95\\xd0\\x47\\x3a\\xf4\\x19\\x3a\\xf4\\xe5\\x25\\x7d\\xa0\\xa5\\xf5\\x91\\x0e\\xae\\xb6\\xa1\\x7c\\xaf\\xc3\\xd0\\xfa\\x98\\x5e\\x47\\x7d\\xd0\\xf0\\x10\\x69\\xa6\\xe6\\xbe\\x70\\x4c\\x7d\\xc6\\x98\\x4e\\xe4\\x39\\xcb\\xd8\\x62\\x5a\\x3d\\xea\\x6a\\x72\\x80\\x92\\xba\\x92\\xe8\\x1e\\xec\\x2f\\x70\\x3e\\x6f\\xcc\\xa3\\x9f\\x86\\xce\\x39\\xd9\\x7d\\x05\\xf6\\xea\\x27\\xfb\\xb8\\x36\\xfa\\x35\\xec\\x73\\x88\\xce\\xf2\\x42\\xce\\x8d\\x7a\\xc5\\x7d\\x00\\xab\\xe6\\x2c\\xea\\x71\\xef\\xa7\\xbe\\xb9\\x51\\xbd\\x65\\x8c\\x4c\\xe9\\x6b\\x8c\\x5f\\xeb\\x1d\\xa2\\xf8\\xb6\\x86\\xa2\\xf3\\x31\\x58\\xe5\\xc4\\x4d\\xb4\\x7b\\xdd\\xea\\xd3\\xd7\\xd2\\x32\\xef\\x4c\\x25\\xfe\\x09\\xfa\\x4a\\x70\\xc6\\xd0\\xe6\\x05\\x6d\\x93\\xf7\\xb5\\x26\\x4a\\x83\\xfd\\x74\\xad\\xf2\\x46\\xf3\\x6b\\x85\\xa4\\xf5\\x0a\\xc3\\xda\\x7d\\x05\\x96\\x3e\\x99\\xb7\\xb6\\x5e\\x0f\\xfa\\x6a\\x37\\x46\\xe7\\x7f\\x49\\xf9\\xe9\\xec\\x46\\xf2\\x25\\xee\\xbc\\x0e\\xb6\\x55\\xe1\\xbc\\x6a\\x4b\\xe8\\xf5\\x14\\xd6\\x3d\\xde\\x2a\\xc2\\x79\\x8a\\xce\\x94\\x9c\\xfd\\x83\\xfe\\x71\\xe1\\x9a\\x30\\x86\\x05\\xe8\\x48\\x1f\\x1d\\xd9\\x88\\x2b\\x85\\xbe\\x2e\\x91\\x9f\\x3c\\x88\\xbd\\x51\\x86\\xf6\\x25\\x19\\x76\\xad\\xde\\xfd\\x64\\x68\\xb4\\x7f\\x97\\x1d\\xc3\\x37\\x67\\xd5\\x19\\x3c\\x86\\xef\\x1e\\x78\\x80\\xbc\\xd3\\x0c\\x7f\\x6b\\x96\\x51\\xab\\x7a\\xdf\\xb2\\x85\\x7c\\x70\\x15\\xed\\x8a\\xff\\x82\\x7c\\x5e\\x0d\\x8b\\xb1\\x04\\x4b\\xb1\\x4b\\xd9\\x34\\x76\\x25\\x9b\\xcd\\xae\\x63\\xf3\\xd8\\x7c\\xfe\\x15\\x7e\\x39\\xaf\\xe3\\xf5\\xbc\\x91\\x4b\\xfe\\x35\\xfe\\x75\\xfe\\x0d\\x7e\\x15\\x9f\\xc9\\x67\\xf1\\xd9\\x7c\\x0e\\xbf\\x96\\xcf\\xe5\\xf3\\xf8\\xb7\\xf8\\xb7\\x79\\x0b\\xcf\\xf0\\x36\\xbe\\x98\\x77\\xf2\\x25\\xbc\\x8b\\x77\\xf3\\xa5\\x7c\\x39\\x5f\\xc1\\xbf\\xc3\\x6f\\xe3\\x2b\\xf5\\x3b\\x88\\xff\\xc0\\xb7\\xf0\\x5f\\xf0\\x5f\\xf2\\x67\\xf9\\xaf\\xf8\\x73\\x9c\\xae\\x0f\\xfc\\xd7\\x7c\\x1b\\xa7\\x73\\x98\\xff\\x13\\xdf\\xce\\x5f\\xe5\\x3b\\xf8\\x4e\\xbe\\x8b\\xef\\xe5\\xbf\\xe5\\xaf\\xf3\\x7f\\xe6\\xe4\\xd1\\xf9\\x41\\xfd\\x5b\\xe8\\xc3\\x9c\\xce\\x3e\\xfe\\x3b\\x7e\\x94\\x1f\\xe3\\xef\\xf3\\x13\\xfc\\x03\\xde\\xcf\\x4f\\xf2\\x53\\xfc\\x43\\x7e\\x86\\xff\\x9e\\x0f\\xf0\\xac\\x33\\xc2\\xa9\\x2b\\x39\\x58\\xf2\\x66\\xc9\\xa1\\x92\\xb7\\x69\\x3c\\x11\\xb2\\xd6\\x18\\xca\\xb1\\x33\\xff\\xd3\\xb8\\x83\\xef\\xdc\\xe8\\x3d\\xbf\\xb0\\x76\\x19\\xcf\\x83\\x76\\x78\\x2d\\xee\\x5b\\xc3\\xee\\x13\\x16\\x67\\xf2\\x20\\x4e\\x37\\x8f\\x18\\x4f\\x9d\\xdc\\x67\\x31\\x8f\\x18\\x9c\\x3b\\x8c\\xa3\\xb7\\x18\\xf9\\xd9\\x41\\xcf\\xa4\\xf4\\x53\\x98\\xc0\\x3d\\xc6\\xd1\\xcb\\x8c\\xfc\\x4e\\x7f\\x2f\\xe8\\x6f\\xe8\\x0c\\xba\\xcc\\xe0\\xbc\\xc2\\xa3\\x83\\xab\\x3d\\xf9\\x26\\xed\\xca\\x31\\xf3\\xe1\\xd8\\x64\\x48\\x6b\\x18\\xe8\\x05\\x16\\x30\\xc7\\x7e\\xce\\x51\\xc3\\xe6\\xf3\\x07\\x8d\\xdd\\x7c\\x6e\\xe5\\x21\\x9e\\xcf\\x1d\\x7c\\xf7\\x7d\\x11\\xe3\\x0e\\x3e\\xde\\x4d\\x5e\\x9b\\x5f\\xb3\\xdb\\xfe\\xb8\\xd7\\xac\\xfb\\x56\\x27\\xde\\x60\\x9c\\x65\\x3c\\x09\\xd2\\xef\\x6d\\xb2\\xad\\x5e\\x5e\\xf0\\xae\\xa6\\xdb\\xae\\x9f\\xa7\\xe0\\x0d\\x46\\xf7\\x4d\\xd1\\x95\\x5e\\x6e\\xbe\\x1d\\x6a\\xbe\\x91\\x0b\\x69\\xee\\xbb\\xb2\\x8f\\x78\\x88\\xee\\x5b\\x9a\\x45\\xde\\x47\\x1d\\xe2\\x4d\\x5a\\xf3\\xed\\x59\\x53\\xe7\\x22\\xfa\\x0c\\xe3\\xad\\x57\\xf7\\x89\\x92\\x9b\\x0f\\x69\\x93\\xb9\\xc5\\x6d\\x72\\x6e\\x6b\\x98\\x6f\\xa5\\x16\\x8c\\xdd\\x1c\\xf5\\xe6\\xe2\\x16\\x36\\xdf\\x2c\\x45\\x2f\\xc7\\xcb\\x81\\xab\\xde\\x70\\x1c\\xfe\\x9a\\xfd\\x24\\xef\\xb8\\x8c\\xd1\\x77\\x38\\x19\\x6b\\xa3\\xd4\\xc5\\xd4\\xff\\x11\\x61\\xec\\x36\\x4a\\xca\\x5a\\x77\\x53\\x52\\xfa\\xdd\\x4f\\xe9\\x41\\x4a\\x0f\\x53\\x52\\x6f\\x01\\x6f\\xa0\\xa4\\x9e\\xc6\\x3d\\x4d\\xe9\\x19\\x4a\\xcf\\x51\\x52\\x63\\xdd\\x4e\\x69\\x37\\xa5\\xd7\\x29\\xbd\\x49\\xe9\\x1d\\x4a\\xea\\x09\\xde\\x29\\x66\\x0d\\x3c\\xa1\\xde\\xcf\\x1c\\xe8\\xd4\\xf9\\x03\\x46\\xfe\\xc4\\xb0\\xf3\\x1d\\x46\\x9e\\x6b\\x67\\x46\\xee\\x1e\\xf5\\x5a\\x3a\\x3d\\x9e\\xec\\x93\\x06\\x8f\\x91\\xe3\\x3c\\x7e\\xea\\x8f\\xfc\\x3c\\xd6\\xbf\\x34\\xc1\\xef\\x6b\\xf4\\xb5\\xd8\\xfd\\x6d\\x88\\x7b\\xed\\xc3\\xd3\\xfd\\x5b\\x75\\xcb\\x5c\\x2f\\x47\\xfb\\x36\\x83\\xff\\xf4\\x20\\x9e\\xcb\\x0d\\x99\\xfd\\x5e\\x8e\\xdf\\xa4\\x8c\\x33\\xda\\xdf\\x30\\x10\\x0d\\x69\\x38\\xfa\\x88\\x3f\\x87\\xfc\\x6d\\x83\\xe8\\x41\\x12\\x06\\x73\\x0e\\x7e\\x7f\\x62\\xb0\\xe6\\xe7\\x6b\\x93\\x73\\x5b\\xc3\\x95\\x80\\x5f\\xfd\\x18\\x63\\x07\\x3d\\x84\\xce\\xf8\\x7d\\xa8\\xf9\\xee\\x93\\xe3\\xd7\\xd9\\x40\\x1c\\xfe\\x79\\x7c\\xee\\x37\\x0f\\xd5\\x3b\\x3c\\x97\\x52\\xba\\x9c\\x9d\\xef\\xef\\x78\\xd4\\x48\\x2e\\xd1\\xb6\\x90\\x7a\\xcc\\x97\\xe8\\x91\\x5c\\xa2\\xd7\\x81\\xd4\\xef\\x7d\\x4c\\xd3\\xb9\\xcc\\xb7\\xf4\\xeb\\x7c\\x34\\xd6\\x8a\\x34\\x72\\xd7\\x6a\\xcb\\xff\\x64\\x7c\\xe1\\x5c\\xe3\\x0a\\x3e\\xda\\xef\\x69\\xcc\\xeb\\x3e\\xfc\\x81\\x79\\x45\\x76\\xaf\\xe6\\x19\\xc3\\xe7\\x19\\x57\\x79\\x6d\\xef\\xdc\\x6f\\x1b\\x06\\xff\\xce\\x64\\xb5\\xc7\\x63\\xd2\\xee\\xaf\\x29\\x0a\\x7e\\x5b\\xf2\\x0b\\x7f\\x5e\\xe0\\x0b\\x07\\x7b\\xcd\\x41\\xfa\\x0c\\x96\\x39\\x38\\x37\\x7f\\x7d\\x31\\x7c\\x9b\\x9c\\xdb\\x1a\\xe0\\xdf\\x57\\x7c\\xec\\xe7\\x1e\\x35\\x6c\\xbe\\xda\\x90\\xb9\\xda\\x90\\x3c\\xc5\\x67\\xd5\\xff\\x2b\\x7c\\x21\\x9d\\x23\\x55\\xb9\\x98\\x82\\xec\\x72\\xb1\\xd1\\xe2\\xe6\\x13\\x0a\\xe3\\x0e\\xca\\x3d\\x9e\\x7b\\xd4\\x51\\x9a\\x09\\x97\\xc7\\xcb\\xd7\\x16\\xf0\\x17\\x6f\\xd9\\x5a\\x60\\xdf\\x09\\x7a\\xd6\\xf3\\xb9\\xfa\\xdf\\x0a\\xd6\\xad\\xcc\\x7b\\x77\\x45\\xa1\\x05\\x07\\xca\\x06\\x3a\\x07\\xe6\\x0f\\xdc\\x49\\x7f\\x3b\\x8a\\x3c\\x89\\xd5\\xbf\\x2c\\xa7\\xbf\\x32\\xf5\\xf4\\xd4\\x72\\x06\\xce\\xe2\\x69\\x2a\\xd3\\xa8\\xca\\x14\\x5f\\x7d\\xf8\\x65\\x55\\xfe\\xe3\\xe7\\x9b\\x8e\\xeb\\xfa\\x8f\\x06\\x7e\\xf4\\xbf\\x03\\x00\\x00\\xff\\xff\\x8f\\xcc\\x42\\x29\\x74\\xa9\\x05\\x00\")\n\nfunc liberationserifBolditalicTtfBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_liberationserifBolditalicTtf,\n\t\t\"LiberationSerif-BoldItalic.ttf\",\n\t)\n}\n\nfunc liberationserifBolditalicTtf() (*asset, error) {\n\tbytes, err := liberationserifBolditalicTtfBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LiberationSerif-BoldItalic.ttf\", size: 371060, mode: os.FileMode(420), modTime: time.Unix(1459927770, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _liberationserifItalicTtf = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\xe4\\xfd\\x79\\x60\\x14\\x55\\xf6\\xc7\\x0d\\x9f\\x5b\\x55\\xdd\\x59\\x08\\x64\\x85\\x20\\x01\\xba\\x93\\x10\\x76\\x08\\x10\\xb6\\xb0\\xa5\\x09\\x49\\x08\\x7b\\x80\\x04\\x12\\xd6\\x00\\x01\\xc2\\xbe\\x0b\\x82\\x60\\x54\\x14\\x44\\x10\\x54\\x54\\xdc\\x51\\x19\\x65\\x44\\x25\\x30\\xe8\\xe0\\x8e\\x8a\\xe3\\x2e\\x2e\\xa0\\xa2\\x22\\xc8\\x16\\x51\\x1c\\x51\\x01\\x1d\\x81\\xae\\xf7\\x73\\xab\\xbb\\x31\\xa0\\xce\\xfc\\xde\\xe7\\x7d\\xff\\x7b\\x32\\x1e\\x6e\\xd5\\xbd\\xe7\\x9e\\xe5\\x7b\\xce\\x5d\\x4e\\x77\\x60\\x44\\x89\\x48\\x3c\\x7f\\x58\\xd2\\x26\\x2f\\xaf\\x70\\xc0\\xf0\\xef\\xcc\\x3a\\xe2\\xda\\x7c\\x9e\\xde\\xfa\\xbd\\x73\\x72\\xf3\\x96\\x99\\xf3\\x33\\xc5\\x35\\x6a\\x07\\xef\\x2b\\x7b\\x17\\x0c\\x1a\\xda\\xfe\\xde\\x67\\x6f\\x11\\xd7\\x24\\xaf\\x48\\xf6\\xe7\\xbd\\x87\\x16\\x65\\x27\\x7d\\x70\\xf3\\x3b\\xe2\\x1a\\xdd\\x4d\\x24\\xfc\\xf0\\xa0\\xa1\\xe9\\xed\\xcc\\x5f\\x5f\\x7f\\x53\\x44\\xed\\x84\\xbf\\x74\\xc2\\x8c\\x71\\xb3\\xeb\\x2d\\xea\\xf1\\x9a\\x48\\xf3\\x45\\x22\\xee\\xbc\\x09\\x57\\xce\\xf7\\x96\\x25\\xf7\\x5d\\x22\\xd2\\x3d\\x4a\\xc4\\xf8\\x68\\xd2\\xec\\xc9\\x33\\x96\\x8d\\x7b\\x26\\x56\\xa4\\xcd\\x2e\\x91\\xb0\\x1d\\x93\\xc7\\xcd\\x9b\\x2d\\x49\\x12\\x81\\xbe\\x4d\\xcc\\x8f\\x99\\x3c\\xfd\\xaa\\x49\\x99\\x73\\x5f\\xb3\\x44\\xca\\x73\\xc4\\x9a\\xb1\\xab\\x7c\\xe2\\xb8\\x32\\xe9\\xb7\\x1c\\xdb\\x14\\xfa\\xa4\\x63\\x39\\x1d\\x35\\x6f\\x8a\\x3a\\xcb\\xfb\\x7c\\xde\\x1b\\x95\\xcf\\x98\\xbf\\xa8\\xe6\\x77\\xcd\\x8f\\x22\\xbb\\xae\\x48\\xd3\\xd2\\x69\\x13\\xe7\\xce\\xdc\\xff\\xc9\\x2b\\x7e\\xb1\\x3e\\x41\\x46\\x7c\\xc1\\xf4\\x59\\x13\\xc6\\xd5\\xad\\x7c\\xba\\x42\\x24\\xeb\\x10\\xe3\\x65\\x33\\xc6\\x2d\\x9a\\x5d\\x2b\\xd9\\xca\\x63\\xfe\\x06\\xe6\\x7b\\x67\\x8e\\x9b\\x31\\x31\\xfa\\xdd\\xfd\\x05\\x62\\x9d\\x28\\x14\\xa9\\xf1\\xf6\\xec\\x59\\xf3\\xe6\\x77\\xde\\xff\\x65\\xb4\\x58\\x67\\xf0\\x77\\xf2\\xb5\\xb3\\xe7\\x4e\\x9c\\x1d\\xef\\x5a\\x1e\\x2d\\xd2\\x19\\x7d\\xd6\\x9d\\x0e\\x76\\x86\\xc8\\xdb\\xad\\x86\\x47\\x8c\\x8d\\xee\\x76\\xc6\\xf0\\x84\\x8b\\xfe\\x79\\xf7\\xf6\\x06\\x7d\\x42\\xed\\xb9\\x47\\x2f\\xdc\\x1e\\xd9\\x2f\\x6c\\x3f\\x7c\\x7a\\x50\\x39\\x0c\\xfc\\x19\\x96\\xec\\xcf\\x95\\xe1\\x91\\x5d\\xce\\x3d\\xfa\\x9f\\x73\\x91\\xfd\\xa4\\x4c\\x1a\\x48\\xb5\\x9f\\xc8\\xba\\x9a\\x27\\xb2\\xae\\x1a\\x22\\x85\\x72\\x93\\xb8\\x99\\x1d\\x23\\xe9\\x32\\x4a\\xc4\\xec\\x61\\x64\\x12\\x2b\\x25\\xa6\\xd5\\x57\\xad\\x13\\x97\\x88\\xeb\\x1e\\x57\\x86\\xb4\\x54\\x69\\x4e\\xdb\\xdf\\xdc\\x28\\x93\\x8c\\x38\\xe5\\x32\\x0c\\x97\\xe9\\xb2\\x5c\\x11\\xa6\\x75\\x48\\x22\\xed\\x02\\x59\\x64\\x23\\x36\\x59\\xcb\\x6e\\xdb\\x73\\x68\\x2f\\xe6\\x7b\\xed\\xf3\\xae\\x5b\\xfc\\x79\\x2a\\x23\\x2c\\x59\\x3d\\x5f\\x2a\\xea\\xe5\\x83\\xbf\\x20\\xfd\\x09\\x57\\x77\\x8d\\x84\\xd4\\x72\\x67\\x06\\x2c\\x31\\x42\\xf4\\xb8\\x3c\\x60\\x8e\\x52\\x2e\\x80\\x8c\\x85\\xea\\xba\\x1f\\x97\\x05\\xf0\\x0c\\x57\\xcf\\xc8\\x19\\xc6\\xf2\\x8d\\xc7\\xed\\x07\\xe9\\x7f\\xdd\\x35\\x49\\x4e\\xc0\\x9f\\x43\\x5f\\x7f\\xda\\x22\\x23\\xd3\\x7e\\x98\\xfe\\x41\\x50\\x1f\\x48\\x59\\x62\\x5f\\xa0\\xd5\\x72\\xbc\\xd0\\x50\\x68\\x11\\xd4\\x02\\xea\\xc6\\x9c\\x9b\\xa0\\xb1\\xc8\\xf8\\x46\\xcb\\xd1\\x2d\\xae\\xa6\\x86\\x8d\\x82\\xe7\\x88\\xbd\\xce\\x3a\\x22\\xf1\\xae\\x61\\x32\\xd7\\xf5\\x86\\x7d\\x82\\xf7\\x6f\\xa0\\x33\\xae\\x37\\x64\\x0e\\xef\\xdf\\xa2\\xff\\x57\\x73\\x8d\\x78\\x5c\\xc3\\xe8\\x9f\\x67\\x7f\\xe3\\x7e\\xdc\\xfe\\x86\\xe7\\x1f\\x19\\x9f\\x1c\\xe2\\xd3\\xad\\xb6\\xdd\\x9a\\x27\\x37\\xf2\\xfe\\x02\\xf2\\xa6\\xe1\\xc7\\x0a\\xfa\\x5f\\xa0\\x6f\\x01\\x74\\x85\\xd9\\x40\\xae\\x04\\xe1\\x07\\xcc\\x06\\xf6\\x1e\\xb3\\x54\\xf2\\xb1\\xf7\\x94\\xf1\\xb8\\x4a\\x67\\x5e\\x77\\xa8\\x3f\\x3a\\xb2\\x68\\x7b\\xe8\\x16\\xbe\\xc4\\x80\\x4f\\xd2\\x97\\xe7\\xb9\\xf8\\x9a\\x46\\x7f\\x57\\x9e\\x67\\x20\\xbf\\x6f\\xd0\\x67\\xe6\\xd9\\x2b\\x69\\x73\\x90\\x3d\\x14\\xba\\x82\\xf1\\x11\\xbc\\x4f\\x82\\xb7\\x3e\\xfe\\xb4\\x35\\xd7\\xd8\\x55\\x50\\x11\\x3a\\x4f\\x98\\x19\\x92\\x66\\x64\\xa8\\x1a\\xb4\\x8d\\xac\\x42\\x29\\xd4\\xd8\\x33\\x47\\xcf\\xbf\\x1b\\xaa\\x07\\x4d\\x81\\xc6\\x6a\\x1e\\xda\\x6c\\xf0\\x7a\\xcf\\x9d\\x80\\xcd\\x1d\\x64\\x14\\xef\\xb3\\xc0\\xec\\x6b\\x8d\\xbd\\xee\\xe3\\xfd\\x36\\xe4\\x6c\\xb2\\xca\\xe0\\x9f\\x24\\x6d\\xa1\\x66\\x8c\\xfd\\x6a\\xdd\\x27\\x49\\x56\\xba\\x5c\\x85\\xec\\xbf\\xf1\\x3e\\x97\\xfe\\x5c\\x63\\x89\\xcc\\x85\\xbf\\xa6\\x5b\\x24\\x3f\\x48\\x0b\\x79\\x2f\\x0e\\xe0\\xfe\\x47\\x0a\\x6b\\x60\\xcf\\xd4\\xb1\\x08\\xc6\\xe1\\x22\\xe9\\x38\\x54\\x27\\x1d\\xab\\x50\\x1c\\xfe\\x40\\x93\\x54\\x23\\x1d\\x3b\\x1d\\x8b\\xea\\xe4\\xc4\\xc2\\x89\\x95\\xfd\\x46\\x10\\xf7\\x3f\\x10\\xba\\xb3\\x74\\x0c\\x2e\\x27\\x8d\\x7d\\x90\\x7a\\x41\\xe3\\xe1\\xcd\\xfc\\x3d\\x0e\\x97\\x51\\x99\\xcc\\x47\\xc7\\x31\\x1d\\x8b\\xea\\xa4\\x63\\x41\\xff\\x6c\\xa7\\xd5\\xfe\\x6a\\xde\\xcb\\x5a\\xed\\xbb\\xd6\\xf7\\x97\\xad\\xce\\xd1\\xaf\\xa4\\x87\\xd3\\x92\\x2f\\x1a\\x1b\\x27\\x77\\xfe\\x47\\xeb\\xe4\\x29\\x39\\xf5\\xd7\\xad\\xfd\\xad\\x5e\\x33\\xc1\\xb6\\xaf\\x83\\xb3\\xf6\\x35\\xd0\\x16\\x04\\xdb\\x19\\xc1\\xd6\\x0c\\xbd\\xbb\\xc5\\xfe\\xd5\\x52\\x8e\\x6d\\x1e\\x9d\\xa7\\x7a\\x9d\\xe8\\x5c\\xd5\\xa4\\xd7\\x8b\\xe6\\x09\\xb6\\x3e\\xa7\\x3d\\x11\\x7c\\xbf\\x43\\xfa\\x05\\xfb\\x4d\\x1d\\x47\\x8d\\xe5\\xe5\\xad\\xf5\\x80\\x84\\xbb\\x6e\\x23\\x77\\xbf\\xa0\\x4f\\xaf\\x37\\x8d\\xcf\\x65\\x6d\\xd8\\x1a\\xe2\\x3d\\xcc\\xc1\\xef\\x8c\\x5e\\x07\\xc1\\xd6\\x7b\\xf1\\x9d\\x75\\xa9\\xd7\\xc6\\x5f\\xb6\\xac\\x59\\x6c\\x10\\xa7\\x3d\\xc1\\x7e\\xa2\\xdb\\x2e\\xd2\\xd0\\xc9\\x17\\x62\\xf6\\x7f\\x6d\\xf5\\x7a\\xd7\\x6b\\x4e\\xe7\\x98\\x13\\xdf\\x8b\\xeb\\x9e\\x38\\x5d\\xd6\\x06\\xd7\\x77\\x7f\\x57\\x3f\\xe2\\xb7\\x93\\xfc\\xe6\\x99\\xf6\\x3b\\xa7\\x6f\\x98\\xa4\\x57\\x8f\\xb5\\xbb\\xbb\\xe6\\x01\\x3b\\xbd\\x37\\xec\\x94\\x0c\\xf6\\x96\\x46\\xae\\xb5\\x32\\xd5\\x3c\\x2b\\x1d\\xad\\x23\\xfe\\x3d\\xf4\\xef\\x73\\xf6\\xaa\\x47\\xd8\\x73\\x6a\\x39\\xfb\\x85\\x13\\xa3\\x50\\x1c\\x78\\xef\\x66\\x2e\\xb4\\xdf\\x77\\xe7\\x4a\\xb1\\x6b\\x98\\xff\\x23\\xf3\\xd7\\x00\\x96\\x0e\\x7e\\xb9\\xe0\\x37\\x89\\xe7\\x72\\xf0\\x1c\\x80\\x1e\\xbd\\x9f\\x1c\\xb1\\x4f\\x23\\x33\\x05\\x6c\\x1a\\x59\\xaf\\xd8\\xe7\\x8d\\x14\\x09\\x23\\xae\\xbf\\x61\\x7b\\x3b\\x67\\x7f\\x01\\x1f\\x77\\x38\\x3e\\x8f\\xc6\\xf7\\xb7\\x64\\xbd\\x6b\\x16\\xcf\\xf7\\xe3\\x6b\\x1d\\xc7\\xe7\\x80\\x9f\\x43\\xd9\\xb3\\x87\\x4a\\x24\\xfa\\x1b\\x81\\xc5\\x61\\x9d\\x5f\\xe6\\x76\\xf1\\x98\\xb1\\xf6\\xdb\\xc6\\x9d\\xec\\x11\\xad\\xed\\x6b\\xd4\\x3d\\x72\\x9f\\x91\\x25\\x2b\\x95\\x5f\\x6a\\xea\\x33\\x20\\xb2\\x8b\\x7d\\x22\\xfc\\xa8\\x7d\\x22\\xac\\x81\\xf4\\x08\\x17\\xf6\\xd9\\x27\\xc0\\x65\\xae\\xcc\\x08\\x3f\\x6e\\xff\\x18\\xb6\\xd6\\xfe\\x91\\x33\\xa1\\x4f\\x68\\x8d\\x84\\x72\\xaf\\x5a\\x2e\\xfc\\x9f\\x62\\x84\\x3d\\xad\\x2f\\x5f\\x6f\\xc1\\xfd\\xe6\\x8f\\xeb\\x23\\x88\\xdf\\xe5\\xf9\\x86\\x6f\\xdb\\xf0\\x69\\xb9\\xce\\xf5\\xea\\x36\\x87\\xe6\\x85\\xad\\x67\\xfd\\xbc\\x61\\xdf\\x77\\x31\\x87\\xff\\xa0\\x47\\xaf\\x2f\\xf6\\x86\\x3f\\xae\\xff\\x4b\\xd6\\x6b\\xc0\\x47\\xfb\\xaa\\xa0\\xaf\\x45\\x7f\\xb0\\x23\\x90\\xdf\\xe9\\xa1\\x3c\\xbf\\xdc\\xd7\\xcb\\xf2\\x7b\\x84\\xf5\\x93\\x7d\\xd4\\x4c\\xb6\\x1f\\x0f\\xad\\x6f\\x57\\x9e\\xd3\\xf6\\xb0\\x8e\\x49\\x13\\x6b\\xb0\\x4c\\xbc\\x18\\xbb\\xcb\\xec\\xf9\\xab\\x75\\x77\\xd1\\x8e\\x40\\xbe\\x97\\x60\\xeb\\xdf\\xb4\\xbf\\xb4\\x2f\\x69\\x6c\\xdc\\x2e\\x49\\x27\\x4f\\x5a\\x68\\x79\\xce\\x7e\\xae\\xcf\\x99\\x79\\xce\\x19\\xfa\\xba\\xb6\\xcb\\x39\\x93\\x8e\\xc9\\x28\\x73\\x29\\xe7\\x8e\\x3e\\x7f\\xdf\\x60\\xed\\xed\\xb3\\xc7\\x05\\xf4\\xda\\xa7\\x2f\\xee\\x27\\x8f\\x3b\\x73\\x43\\xfe\\x36\\x41\\x5f\\x0b\\xe7\\x4c\\xbb\\x49\\x8a\\x82\\xfb\\xed\\x80\\xe0\\xf9\\x59\\x97\\xfe\\x63\\x8e\\x4f\\x81\\x73\\x34\\x02\\x4a\\xb7\\x5e\\x94\\x74\\xb3\\x89\\x34\\x33\\x3d\\x8c\\x4d\\xb6\\x8f\\x99\\x2f\\x4b\\x6f\\x23\\xd3\\xff\\x38\\x3c\\x09\\x9a\\xcc\\x33\\xd2\\xdd\\xdc\\x23\\xf5\\xcd\\xc7\\x9c\\x3d\\x5d\\xe3\\xd6\\x37\\x78\\xee\\x86\\x43\\x57\\x19\\x8d\\xed\\xdf\\x68\\x9b\\x41\\xd9\\x50\\x89\\x35\\xcd\\xc9\\xbb\\x49\\x41\\x82\\xd7\\x7f\\xca\\x89\\x73\\xb4\\x3d\\xcd\\xc1\\x65\\x02\\xf4\\x28\\xbe\\x0c\\x93\\x8e\\xd8\\x6b\\x56\\x23\\x17\\xd4\\xdd\\x38\\x28\\x9b\\xa1\\x75\\xe6\\x2d\\x92\\x6f\\x7e\\x22\\x53\\xc0\\xe1\\x82\\xd1\\xcf\\x0e\\x77\\xc8\\xb2\\xbf\\xa0\\xd5\\x7e\\x9f\\x45\\x57\\x53\\xe4\\xa5\\x5a\\xcd\\xa4\\xb5\\xf9\\x9d\\x94\\xe3\\x4b\\x0d\\x70\\x4c\\xd4\\xad\\xe9\\x62\\x6d\\x69\\xfc\\x34\\x91\\x8b\\xd0\\x9d\\x66\\x5f\\xfb\\x80\\xd9\\x57\\x0a\\x68\\xdf\\x07\\x9b\\x1a\\x3a\\x3e\\xe6\\x6c\\xc9\\xc5\\xdf\\x1e\\xda\\x47\\xab\\x2e\\x67\\x71\\xa6\\x5d\\x07\\xde\\x93\\x66\\x43\\xc9\\x71\\xee\\x0d\\xc1\\x39\\xee\\x28\\xe9\\xe1\\x1e\\x05\\x45\\x82\\xdd\\x12\\x19\\x61\\xde\\x21\\x23\\x5c\\x0d\\xa0\\x3d\\xec\\x53\\xa3\\xd8\\xaf\\xeb\\x41\\x0d\\xa4\\xd0\\xdc\\xcf\\x1d\\xab\\xaf\\xfd\\x8b\\x26\\x23\\x57\\x16\\x6b\\x52\\x83\\xed\\x77\\xd4\\x1b\\x52\\x01\\xc5\\x6b\\x32\\x7a\\xcb\\x35\\xf8\\x39\\xc7\\x88\\xb4\\xf7\\xeb\\x3b\\x9c\\xbe\\xdb\\x71\\xcf\\x69\\x0d\\xb5\\x85\\x7a\\x40\\x73\\xa0\\xb1\\x46\\x2b\\x72\\xa5\\x95\\x2c\\xe7\\x5e\\xf1\\x18\\xe7\\x75\\x27\\xda\\x7d\\xd0\\x27\\xec\\x05\\x4f\\x41\\x3b\\xe1\\x69\\xa8\\xf7\\x05\\x68\\x16\\xf4\\x60\\xf0\\x3d\\x16\\xba\\x1f\\x9a\\x09\\x3e\\x93\\x8d\\x4c\\x15\\xc6\\xf3\\x8f\\x41\\xda\\x51\\x8d\\x34\\xdf\\x41\\xe6\\x4c\\x83\\xf4\\xfe\\xb2\\x18\\x5a\\x02\\x0d\\x65\\x3d\\xfd\\xdb\\xac\\x25\\xe9\\xc6\\x70\\x99\\xa8\\x12\\x65\\x86\\xaa\\x24\\xd6\\xd9\\xdc\\x2b\\xb1\\xc5\\x8c\\x91\\x3b\\x2f\\x27\\xe6\\x8c\\x0f\\x90\\x5e\\x8b\\xf2\\x21\\xf9\\xf7\\x21\\x6d\\xd3\\x20\\xcd\\x0d\\x52\\x32\\xb4\\x06\\x9e\\x7d\\xb4\\x91\\xb4\\x83\\x69\\x3f\\x45\\x77\\x83\\x00\\x49\\x3f\\x4d\\x66\\x6b\\xfb\\x45\\x4d\\x3c\\x27\\x88\\xf8\\x35\\xe5\\x72\\x0d\\x7b\\x0a\\xa2\\x76\\xb1\\x67\\xf0\\x3e\\x86\\xe7\\x83\\x6c\\x23\\xd3\\x68\\xdf\\xe3\\x3d\\x91\\xe7\\x9a\\x3c\\x0f\\x85\\x74\\xed\\xd3\\x0e\\xbe\\x97\\xe9\\xdf\\x44\\xfb\\x35\\xed\\x17\\xf4\\x4d\\xad\\x46\\x87\\xe9\\x67\\x8e\\xff\\x1b\\xe8\\x44\\x90\\x7e\\x0d\\xc8\\xb2\\x33\\x78\\xa6\\xa6\\xf1\\x9f\\x0c\\xb6\\x2f\\x42\\x8f\\xd1\\xff\\x1d\\xd4\\x9c\\x67\\xe4\\xda\\x35\\x82\\x3a\\xa2\\x03\\x72\\xec\\x52\\xfa\\x1b\\x43\\xcd\\xa0\\x57\\xa0\\x1b\\xa0\\x57\\xa1\\xdb\\xa1\\xa5\\xd0\\x7d\\x22\\x17\\x0e\\x40\\xef\\xc2\\x4b\\x15\\x60\\x77\\xa0\\x6f\\x21\\x44\\x5d\\xe3\\xdf\\xc3\\x3b\\xb2\\xfc\\xa9\\x41\\x9d\\xad\\x79\\x5f\\x0d\\x9d\\x86\\xa8\\xa3\\xec\\x91\\xe8\\xfa\\x17\\x2d\\x32\\x65\\x22\\x84\\x7d\\x76\\x9f\\x80\\xbd\\x17\\xde\\xa1\\xfd\\x3e\\x60\\xa7\\x4d\\x5d\\x65\\xdf\\x0d\\x51\\xeb\\xf9\\xef\\x09\\xf8\\x76\\xc1\\xc3\\xfb\\xbf\\x45\\x57\\x97\\x62\\x53\\x07\\xfa\\x9f\\xa3\\xad\\x1f\\x20\\x7f\\x4e\\xa0\\x5f\\x81\\xa3\\x4d\\xeb\\xd7\\xb8\\xb4\\xe5\\x59\\xe3\\x87\\xed\\xf2\\x04\\xcf\\x1a\\xbf\\x7f\\x42\\xe8\\xb1\\xc1\\xd6\\x2e\\x87\\xae\\x61\\x4c\\xfb\\x3d\\x0e\\x9a\\x1d\\xd0\\x67\\x63\\x97\\x3d\\x16\\x19\\x47\\x69\\xa9\\xe5\\x6c\\x2d\\x73\\x92\\xb6\\x9d\\xb8\\xea\\xdc\\xb8\\x0e\\x9a\\x6f\\xde\\x2a\\x75\\xa0\\xee\\xba\\xd5\\x75\\x86\\xbe\\x0b\\x43\\x19\\x7a\\xef\\xa3\\xfd\\xcd\\x35\\xcb\\xfe\\xd9\\x3d\\x8c\\x3d\\xad\\x13\\x05\\xca\\x1b\\x12\\xed\\xca\\xa7\\x86\\xd8\\xe3\\xdc\\x7d\\xfa\\x86\\xea\\x0f\\x6b\\x8d\\xfd\\x83\\xb5\\x9d\\x7a\\x41\\xdf\\x77\\xd9\\x8b\\x83\\xf7\\xd7\\xc9\\xa1\\xb3\\x5c\\xef\\x8d\\x17\\x6b\\x8f\\x06\\x92\\x1c\\x38\\xc3\\x99\\xa3\\xef\\xb3\\x9c\\xd3\\x7a\\x9f\\xd7\\x7b\\xb1\\x3b\\x91\\xbd\\x9c\\xba\\xc3\\xb5\\x51\\xd6\\x71\\x3e\\xb7\\xd4\\xf3\\x9d\\xbb\\x48\\x06\\xf6\\x35\\x91\\x96\\xfa\\xfc\\xd7\\xfb\\x9a\\xf9\\x84\\x8c\\x74\\xfa\\xce\\xdb\\x07\\xe9\\x4f\\xe3\\x6e\\xd1\\xcd\\x19\\xef\\x2e\\xd9\\x9a\\xc7\\xfc\\xb7\\x94\\x39\\x7c\\x9f\\x92\\xb7\\xdc\\x1f\\x2c\\xcb\\xf6\\xeb\\xba\\xc2\\x9c\\x21\\x79\\xce\\xbe\\x6b\\xb0\\x0f\\x7d\\x6a\\xbf\\x6b\\x66\\x21\\xe3\\x27\\xf6\\xb5\\x03\\xd2\\xca\\x91\\x39\\x83\\xf7\\x1b\\xec\\x51\\xd6\\xaf\\xb2\\x98\\x7d\\x30\\x07\\x19\\xb9\\xf4\\x8f\\xd3\\x73\\xf4\\xb8\\xeb\\x0e\\xf6\\x9d\\xf3\\xd2\\xd7\\xfc\\x9e\\xe7\\x44\\xec\\x8d\\xb3\\x4f\\xeb\\xd6\\x6a\\xc4\\xbd\\xe7\\x51\\x30\\xbb\\x46\\x72\\x2e\\x9e\\x31\\xc3\\xd8\\x4b\\x6e\\x91\\x4e\\xce\\xde\\xff\\x34\\x7b\\x4f\\x8a\\x0c\\x30\\xef\\x93\\x2b\\x5d\\xf7\\x73\\x5f\\x6a\\x25\\x09\\xce\\x9d\\xe6\\x0d\\xa9\\x65\\xfd\\x4d\\x7a\\x5b\\x4d\\x64\\xb2\\xbb\\x8d\\xfd\\xa9\\xb9\\xcc\\x7e\\x99\\xbd\\xb7\\x15\\xb4\\xd6\\x3a\\xcb\\x1d\\xa6\\x9d\\xb4\\x76\\xdd\\x2b\\xa3\\x9d\\x7d\\x3e\\x85\\xbd\\xfc\\x19\\xb0\\x42\\x87\\x15\\x8d\\xbd\\xc4\\xcc\\x39\\x63\\xf4\\x5e\\x99\\xc9\\x78\\xa6\\xd4\\x09\\xd6\\x07\\xb3\\xd1\\x3d\\x47\\xe3\\x6d\\xbd\\x6b\\x8f\\xc7\\xcf\\xb9\\xbc\\xd7\\xd3\\x7d\\xba\\x0d\\xd5\\x24\\xee\\x52\\xb9\\x85\\xb8\\xfd\\xcb\\x35\\xc2\\x39\\xa3\\xea\\x86\\x6a\\x13\\x7d\\x76\\x85\\x4d\\xb3\\xdf\\x0e\\x1b\\x63\\x7f\\xeb\\x2e\\x93\\x1b\\x5c\\x05\\xc4\\x4d\\xd7\\x2b\\xe3\\xe5\\x69\\xe7\\xfc\\xd5\\x31\\xd7\\xf7\\xbe\\x60\\xdc\\x5d\\x89\\x76\\xa9\\x96\\x17\\x56\\x68\\xbf\\xc3\\xbd\\x4e\\x1c\\x5e\\x4d\\x7a\\x1e\\x72\\x9c\\xb8\\x07\\xf3\\x21\\x14\\x73\\xe7\\x4c\\xd5\\xf5\\x26\\x32\\xdd\\xb3\\xa8\\xa9\\x74\\xcc\\xf5\\x9c\\xeb\\xe5\\x50\\x78\\x31\\xf7\\x12\\x88\\x7b\\x5d\\x6f\\xf7\\x6f\\xdc\\x2b\\xb9\\x5b\\x52\\x7f\\xb7\\x0e\\xcf\\xa6\\x2f\\xdb\\x7e\\xce\\x89\\x9f\\x9b\\x7d\\xfe\\x2a\\x6a\\x1b\\x8f\\x34\\xb3\\xa2\\xf0\\x9d\\xb3\\x3e\\x6c\\x4e\\xf0\\x9c\\x0c\\xd5\\x2b\\x2f\\x71\\x8f\\x5f\\x6a\\x6f\\x74\\x25\\x71\\x66\\xff\\x2a\\xb9\\xc1\\xf3\\xb6\\x8f\\xbe\\x27\\x06\\xef\\x06\\x7d\\xf5\\x59\\xec\\x7a\\x4a\\x3a\\xe9\\x5a\\xd3\\x99\\xf3\\xa1\\x64\\x72\\x8e\\x14\\x6a\\x22\\x26\\x99\\xae\\x69\\xf0\\x6c\\x82\\x56\\x70\\xa7\\xda\\x84\\xbc\\x9d\\xf6\\xee\\x8b\\x75\\xd5\\x3e\\xfa\\x2d\\xf2\\x63\\x29\\xcf\\x81\\xfa\\x75\\xae\\xae\\xad\\x9c\\x98\\xcc\\x42\\xef\\x76\\x47\\x67\\x5f\\x6d\\xc7\\xef\\xf5\\x93\\x14\\x46\\xd4\\x01\\x87\\x44\\x19\\xc8\\x79\\x91\\x0b\\x0e\\x7d\\xc2\\xb6\\xe3\\x57\\x19\\xe7\\xf2\\xed\\xf6\\xbb\\xd6\\x30\\xfb\\x60\\x78\\x13\\x70\\xf7\\x51\\x9b\\xec\\xb7\\xdf\\x73\\xd5\\xb1\\x9f\\x8b\\xb8\\x96\\x3b\\x5a\\x82\\xcc\\x30\\xcf\\xda\\xe3\\xf0\\x6f\\x1f\\x6b\\xa3\\x82\\xfc\\xec\\x75\\x31\\xcf\\x46\\xc9\\x34\\x6b\\x0e\\x35\\x73\\xb0\\x0d\\x3f\\x20\\x93\\xc3\\x92\\xa4\\xbb\\x3b\\x5b\\xca\\xa9\\x69\\x73\\xd1\\x57\\xee\\xbe\\x52\\xf2\\x82\\x7a\\xb7\\x07\\xef\\xe7\\x7d\\x8c\\x6e\\xf6\\x16\\xf6\\x86\\xca\\xc0\\xbe\\x24\\x73\\x03\\x7b\\xb0\\xde\\x23\\xcf\\xb7\\x80\\xda\\x04\\x6b\\xb4\\x49\\x1a\\x7f\\x8d\\x41\\x30\\xb7\\x56\\xb2\\x3e\\x4e\\x18\\x37\\xe0\\xdb\\x1a\\xfb\\x7b\\x8d\\x3f\\x36\\x9e\\x24\\xcf\\xeb\\xeb\\xf8\\x3b\\x31\\x20\\x07\\x74\\x1c\\x74\\xfc\\xb5\\xef\\x7f\\x68\\x6d\\xfb\\x36\\xab\\xb3\\x3d\\x49\\xe7\\x84\\x8e\\x8b\\xfb\\x27\\x72\\xea\\x37\\xc9\\x0d\\x4f\\x21\\x47\\x56\\x48\\x4b\\xec\\x7b\\x1a\\xfb\\x9a\\x85\\xea\\x88\\xe0\\xe7\\x12\\x7d\\x9d\\x7d\\x40\\x58\\xbf\\xf3\\x9c\\xf5\\x58\\x43\\xe7\\x8c\\x8e\\x1b\\x63\\x1f\\x5b\\xdd\\xf1\\x9f\\xdc\\xd1\\xf1\\xfb\\xbd\\x75\\x6a\\x93\\xbe\\xee\\xe5\\xe2\\xb1\\xc6\\x8a\\x3b\\xd4\\xea\\x1c\\x0f\\xd9\\x8a\\x4d\\x55\\xd8\\x94\\xab\\xf3\\xd4\\xc9\\x95\\x80\\x4d\\x4d\\x43\\xb6\\x85\\x64\\x39\\x39\\x4c\\x1e\\x39\\xf5\\xe0\\x5f\\xdc\\xc1\\x2f\\xde\\x39\\x75\\x7d\\xc3\\xdd\\x2d\\xd4\\x5e\\x8e\\x0b\\x2d\\xb5\\x85\\xbd\\x3f\\x84\\xef\\xef\\xed\\x5f\\xdc\\x55\\xc9\\x7d\\x27\\xff\\xc6\\x6b\\x5c\\xec\\x92\\x60\\x5b\\x74\\xf1\\x3d\\x68\\xa3\\x5e\\x8b\\x3a\\x1e\\x7a\\xcd\\xe8\\xbc\\x0d\\xbd\\x87\\x70\\xba\\xd8\\xee\\x94\\xa5\\xfa\\x8e\\xe9\\x9e\\x22\\x4b\\x5d\\x0f\\xd3\\x76\\x92\\x77\\x5c\\xad\\x58\\x8f\\x4d\\x65\\x2d\\xfc\\x23\\xc2\\xba\\xd8\\x6f\\xbb\\x1a\\xdb\\x1b\\x75\\x2d\\xe0\\x5a\\x07\\x06\\x6f\\x10\\x87\\x33\\xd2\\xdb\\x35\\x53\\x6e\\x0c\\x1b\\x41\\x3e\\x9f\\x95\\x54\\x72\\xbe\\xd9\\xef\\x98\\x39\\xb5\\x43\\x4e\\xa8\\x86\\x0c\\x9c\\xef\\xf2\\x13\\xe7\\x8c\\x9f\\x56\\xd3\\x29\\x1a\\xce\\x59\\xfd\\x69\\x9e\\x7d\\x2d\\x34\\x2b\\xd0\\xfa\\x5f\\xa0\\xef\\xd6\\x00\\xd9\\xc3\\x78\\x3f\\xc6\\xf3\\x2b\\x81\\xb3\\xd1\\xff\\x61\\x30\\x37\\x0f\\x06\\xe6\\xfa\\x3b\\x05\\x9e\\x25\\x26\\xc0\\xa7\\xc7\\xf5\\xb3\\xcd\\x1d\\xc2\\x5e\\xcb\\xfb\\xb0\\xc0\\x27\\x73\\x76\\x12\\xcf\\x65\\xd0\\x92\\x00\\xd9\\xfa\\xfc\\xde\\x1e\\x94\\xb7\\x3f\\x40\\x52\\x1a\\x20\\x7d\\x0f\\xb0\\xf5\\x39\\xdf\\x96\\xbb\\xd2\\x79\\xda\\x53\\xd6\\xb5\\x6a\\x60\\x68\\x9c\\x58\\x6b\\x99\\x0b\\xe8\\xbf\\xc2\\xb8\\x47\\x38\\x97\\xed\\x1d\\xd6\\x7b\\xdc\\xfd\\xbf\\xb0\\x3f\\x36\\x36\\xf1\\x9c\\x4c\\x3e\\x56\\x72\\x46\\x44\\xc9\\x02\\xa3\\xab\\x94\\x59\\x2f\\xb0\\x2f\\xef\\xa3\\x2e\\xbc\\x02\\x1c\\xff\\x4d\\x5d\\x71\\xc2\\x7e\\x85\\xdc\\xba\\xde\\xf2\\x4b\\xb1\\xf5\\x92\\xd4\\x32\\x22\\xa5\\x89\\x71\\x0f\\xf3\\xd6\\xc8\\x54\\x6b\\x85\\xfd\\xa9\\x95\\xc6\\x9c\\xb6\\xf6\\xd7\\x56\\x0b\\xee\\xc9\\x6d\\xc5\\x6d\\xe5\\x4b\\xb8\\x9e\\x47\\xcd\\xf0\\x84\\xf5\\xb5\\xbd\\xc7\\x91\\x71\\x16\\x59\\x27\\x64\\xad\\xda\\xcf\\x1d\\x3a\\x12\\x6a\\x63\\x0f\\xb3\\x6e\\xb5\\x87\\x81\\x73\\x6b\\xb3\\x97\\xd4\\x36\\xef\\x27\\x0f\\x63\\x59\\x8b\\xb1\\xd4\\x02\\x1e\\xce\\x3e\\xf2\\x0b\\xbb\\xd3\\xcd\\x30\\xee\\xec\\x5b\\x38\\xab\\xda\\xb1\\xdf\\xbe\\x6b\\xbf\\x6e\\xd5\\x70\\xf6\\xc4\\xee\\xe6\\x9b\\xf6\\xcf\\x56\\x73\\xee\\xe6\\x9a\\xee\\x92\\x14\\x47\\xce\\x0d\\x12\\x8d\\xae\\x1c\\xa8\\xbb\\x99\\xc7\\x7e\\xf6\\x03\\x7b\\x5c\\x27\\xea\\x94\\x48\\xce\\x95\\x93\\x72\\x1d\\x7b\\xca\\x30\\xd7\\x52\\x6a\\xa1\\x1f\\xe4\\x0e\\x73\\x8c\\xd4\\xb7\\x1e\\xb0\\xf7\\x9b\\x9d\\xd8\\x03\\x3e\\xe4\\x3e\\xd8\\x51\\x1a\\x58\\x93\\xa8\\x8d\\x5b\\x31\\xbf\\xad\\x3d\\xc3\\x32\\x39\\x7b\\xb5\\x8c\\xb3\\x32\\xc8\\x7c\\xd8\\xde\\x68\\x16\\x4a\\xb4\\xb5\\xde\\x3e\\x67\\x8e\\xe4\\x0c\\x1b\\x01\\x7d\\x02\\x5f\\x4f\\x87\\xca\\xd9\\x53\\xee\\x34\\xbe\\x40\\x4e\\xa2\\x0c\\x30\\x9e\\x95\\x89\\x9c\\xc3\\x03\\xcd\\x76\\x60\\xb8\\x92\\xf1\\x27\\x90\\xf3\\x33\\xed\\x7b\\xb2\\xce\\xd8\\x4e\\x9d\\xe1\\xe1\\x1c\\x5f\\x02\\x25\\xca\\xc3\\xa6\\x5f\\x5e\\xb3\\x6e\\x96\\x47\\xcc\\x36\\xb2\\x10\\xaa\\x70\\xda\\xa6\\xdc\\xa9\\x9b\\x48\\x85\\xb1\\x44\\x16\\x82\\xff\\x22\\x68\\xa6\\x3a\\x2a\\xd3\\xa0\\x6c\\xa3\\x8f\\x0c\\x55\\x39\\xdc\\xe9\\x7d\\xe0\\x39\\x4c\\x96\\x19\\xcd\\xa1\\x3e\\xf0\\x25\\x10\\xe3\\x3e\\xdc\\xab\\xf5\\x73\\x2f\\x89\\x54\\xc5\\xb2\\xd2\\x28\\x96\\xb5\\xc6\\xcd\\x72\\xa3\\x39\\x97\\xb6\\xbb\\x4c\\x30\\xc0\\xdd\\xc8\\x93\\x1e\\xea\\x33\\xda\\xae\\x72\\xa5\\x31\\x07\\xde\\x26\\xf6\\x29\\xe4\\xb9\\xd4\\xaf\\xf6\\xcf\\x46\\xb1\\xed\\x37\\xba\\xdb\\x1f\\x19\\x79\\xf6\\x93\\xea\\x33\\xfb\\x53\\xda\\xbd\\xc6\\x1c\\xfb\\x38\\x3c\\x63\\xa9\\x3f\\x34\\xe6\\xb5\\xf5\\x5a\\xe3\\x4c\\xa8\\x64\\x9d\\xeb\\xfd\\xf3\\x17\\x28\\x8d\\xda\\xe7\\x7e\\xe3\\x20\\x77\\xaa\\x06\\x52\\x93\\xb1\\xdb\\x9d\\xda\\x55\\x7f\\x9e\\x5c\\xcc\\x1d\\xe5\\x75\\xd6\\xdd\\x3d\\xf6\\x0b\\xd4\\x6e\\xff\\x21\\x96\\xa9\\xce\\x9e\\x7b\\x52\\xda\\x5a\\xcd\\x9c\\x9a\\xb7\\xbf\\x23\\xef\\x13\\xce\\x92\\xe7\\x45\\x05\\x3f\\x23\\x91\\xdf\\x3f\\x57\\x85\\xb7\\x81\\x9d\\xeb\\x9c\\x47\\x1f\\xda\\xe1\\xce\\x9d\\x47\\x7f\\x8e\\x1a\\x90\\x1f\\xfa\\x8c\\xcf\\xf9\\x9c\\x36\\x58\\x57\\xee\\xd0\\x9f\\x2b\\xe8\\xb3\\x0b\\xbe\\x1f\\xa8\\xdf\\x5a\\x04\\xcf\\xaa\\xd5\\xe0\\xba\\xc3\\xa8\\x27\\x4f\\x40\\x57\\x1a\\x43\\x64\\x33\\x58\\x5e\\xa9\\xca\\x64\\x3d\\x34\\xc3\\x58\\x29\\xb7\\x61\\xeb\\x6b\\xe0\\x70\\x33\\xb4\\x07\\xba\\x2e\\x40\\xf6\\x6f\\xb4\\xcf\\x43\\x37\\xaa\\xd7\\x65\\xab\\xd9\\x42\\xb6\\x43\\xaf\\x19\\xcd\\xed\\x23\\xe0\\xbe\\x1d\\x6a\\x05\\xde\\x5b\\x88\\xd3\\xa3\\x6a\\x8f\\x2c\\x57\\x65\\xf6\\x8f\\xe0\\x7e\\x3d\\xb2\\xee\\x35\\xc6\\xcb\\xc3\\xb4\\x7b\\xa1\\xdd\\x60\\xbf\\x46\\xfd\\x20\\x8b\\x34\\x19\\x49\\x4e\\xdb\\x8d\\x79\\xdc\\x7f\\xed\\x5b\\x20\\x7d\\x07\\xbe\\x0a\\xe2\\x9c\\xb2\\xd3\\xff\\x82\\xda\\x05\\xf7\\x91\\x9c\\xdf\\xf7\\x6b\\xee\\x2b\\x1a\\xbf\\x4b\\xdb\\xe6\\x97\\x7c\\x36\\x29\\xbf\\x7f\\x36\\xf9\\x17\\x6d\\xe7\\xbf\\xf8\\x8c\\xb2\\x76\\xb0\\x75\\x57\\xeb\\x3f\\x03\\xae\\x49\\x97\\x7d\\x46\\xd9\\xf7\\xcf\\x5b\\xfb\\xd9\\x6a\\x9f\\x5d\\x56\\x90\\x13\\x3d\\x2e\\x7e\\x4e\\x14\\xfa\\x2c\\xe7\\xb2\\x36\\xf8\\xf9\\x63\\x8b\\x4b\\x5b\\xfb\\xba\\x60\\x3b\\x26\\x70\\xef\\xe2\\xfc\\xbb\\xac\\xfd\\xab\\xcf\\x2b\\x83\\x6d\\xde\\xff\\xfc\\xcc\\x24\\x78\\x0f\\xa8\\xde\\x56\\xfb\\xec\\x32\\xfa\\xd2\\xd6\\x7e\\xc1\\xfa\\x5f\\x9f\\x61\\x5e\\xfe\\x59\\xcf\\x25\\xad\\xf6\\xc7\\xf9\\x0e\\xe1\\x9a\\xcb\\x3e\\x23\\x6a\\x13\\x6c\\x7d\\x7f\\xf8\\xec\\xe8\\x88\\x4c\\xd3\\x79\\x1f\\x6a\\x43\\xe7\\xd2\\xff\\x6a\\x83\\xe7\\xe3\\x77\\x17\\xdb\\xe0\\x67\\x43\\x7f\\xf1\\x39\\xe8\\x17\\xc1\\xcf\\x59\\x46\\x04\\xbf\\xab\\x28\\x71\\x3e\\xdb\\xcb\\x94\\x44\\xd7\\x55\\xce\\xfd\\xfa\\x4f\\x3f\\x1f\\xff\\xff\\x63\\xfb\\x7f\\xfa\\xdc\\xfc\\xaf\\xda\\xcb\\x3e\\x0f\\xef\\xf1\\xbf\\x62\\xfe\\x5f\\xdb\\xdc\\xff\\x53\\x7b\\xe9\\xe7\\xcd\\xc1\\xcf\\x60\\xff\\x57\\x5b\\xfd\\xf3\\xe8\\x3f\\x6d\\xa9\\x01\\xff\\x2b\\x05\\xbf\\x97\\x71\\xf5\\xb6\\x8f\\x42\\xa7\\x79\\xae\\xa8\\xfe\\x7d\\x8d\\x53\\x33\\xfe\\x09\\xb9\\xb6\\x50\\xc3\\x6e\\x91\\xae\\xee\\x4f\\xc5\\x80\\x9a\\x84\\x5a\\xa7\\xb6\\xfc\\x2f\\xe4\\x5e\\x2b\\x57\\x40\\x5d\\xc3\\x9e\\x17\\x03\\x6a\\x52\\xad\\xcd\\xd3\\xe4\\x7c\\x26\\x17\\xa0\\x74\\xa8\\x10\\x9a\\x14\\x7c\\x5f\\xe4\\xd4\\xab\\x73\\xc9\\xad\\xb9\\xac\\xed\\x07\\xc4\\x80\\x9a\\x54\\x6b\\x73\\xa1\\x1c\\xeb\\x2f\\xbe\\xf7\\x41\\xe7\\x3c\\xe8\\x0e\\x74\\x34\\x86\\xfa\\xba\\x7f\\xb6\\x2f\\xb8\\x7f\\x96\\x14\\x5d\\xb3\\xfe\\x37\\x72\\x75\\x15\\xe5\\x7e\\x47\\x0a\\xa0\\x41\\x50\\x1f\\x5d\\xf3\\xfe\\x37\\x72\\xdf\\x2a\\xab\\xa1\\xa7\\xc2\\x5e\\x94\\x1e\\xd0\\x04\\xf7\\x19\\xdb\\xef\\x3e\\x23\\x29\\x50\\x4f\\x28\\x3b\\x84\\xfb\\x45\\x2c\\x83\\xb8\\x84\\xfc\\x0e\\xd9\\x7b\\x51\\x7f\\x50\\xee\\xff\\xcf\\x71\\xfc\\x95\\x3b\\xcf\\x7f\\xa1\\xff\\x12\\x97\\x0c\\xa8\\xdd\\xff\\x33\\xbf\\x1d\\xdf\\x2f\\xf1\\xfb\\xbf\\xd9\\x5e\\x9d\\x8c\\xc7\\x95\\xfe\\x5c\\x6e\\x3e\\x6d\\x17\\xda\\x42\\xe8\\x6f\\x97\\xd9\\xdc\\xc7\\xb1\\x3b\\x5a\\x1e\\x85\\x86\\x13\\xcb\\x47\\xa1\\xa2\\xc0\\x77\\xba\\xf2\\x71\\x90\\xde\\x0f\\xe2\\x3a\\x30\\x50\\x77\\x3a\\xe4\\x73\\xea\\xd0\\x50\\x2d\\xff\\x89\\x6c\\x82\\x86\\xa1\\xc7\\x1b\\x20\\x39\\xfb\\x87\\x3c\\xd0\\x9f\\x83\\x68\\x0a\\xbe\\x07\\xbf\\xfb\\x59\\xe0\\x36\\xa5\\x12\\xea\\xa7\\xd7\\x01\\x73\\xdd\\x41\\xea\\xf1\\xa7\\xf8\\xfc\\x2c\\x9f\\xb1\\xb6\\xeb\\x80\\xc5\\x17\\xae\\xb7\\xa8\\xef\\x9d\\xcf\\x6e\\xf4\\xe7\\x48\\x2a\\x4a\\xdf\\x6b\\xc2\\x03\\x1f\\x6a\\x39\\xad\\xb1\\x25\\xf0\\xdd\\xb9\\x2a\\x0a\\xf4\\x39\\xcf\\xba\\x02\\xdd\\x12\\xfa\\x9e\\xdf\\xfe\\x04\\xf2\\x42\\x9f\\x72\\x7e\\x73\\xdf\\xb1\\x7f\\xd2\\x44\\x9d\\xf5\\x53\\x38\\xad\\xfe\\xde\\x25\\xf8\\xfd\\x73\\xf0\\x73\\x59\\xd9\\xac\\xed\\xb2\\xe6\\xa9\\x96\\x90\\xfe\\x0e\\x6b\\x28\\xad\\xfe\\x1c\\x7d\\x05\\x64\\x1a\\xef\\xc9\\xca\\xb0\\x06\\xce\\xfd\\x5d\\xcb\\x1b\\x40\\x1b\\x17\\x22\\xad\\x17\\x9b\\xba\\xaa\\x5d\\x72\\xc4\\x2c\\x92\\x1f\\xcd\\x51\\x5a\\x96\\xf3\\x99\\xed\\x10\\xeb\\x0e\\xfd\\xf9\\xad\\xbd\\x5b\\x0d\\xf3\\xeb\\xcf\\xca\\xe6\\x57\\x9b\\x17\\x13\\xa4\\x58\\xfd\\x6e\\x4c\\x92\\x58\\x28\\x0d\\x5a\\x06\\x75\\xa4\\x36\\x1e\\x68\\x0c\\xe7\\x6e\\x78\\x85\\x7d\\xda\\xe8\\x43\\x9b\\x67\\xbf\\xac\\x9f\\xb9\\x3f\\x2f\\xe2\\xac\\x98\\x1d\\xf8\\x3e\\xc1\\xfe\\x0a\\xdb\\xea\\x85\\xce\\xe3\\xb0\\xef\\xec\\xaa\\xf0\\x39\\xd2\\x80\\xb3\\xc8\\x6b\\x1d\\xa0\\x96\\xab\\x67\\x9f\\xd7\\xe7\\x62\\xe0\\x7b\\x7b\\xb9\\x11\\x1b\\x9b\\x31\\xe7\\xa5\\x6a\\xdf\\xd9\\xaf\\xd3\\x77\\x49\\x2d\\x0b\\x1b\\x9a\\xb8\\xb7\\xc8\\x63\\xd8\\xdf\\x3c\\xec\\x66\\xfb\\x75\\xfd\\x1d\\x77\\xd8\\xa7\\xb2\\xcc\\x9d\\x46\\xed\\xf1\\x9e\\x14\\x87\\xd5\\xa2\\x16\\xf0\\x48\\x9c\\x5b\\xa8\\xb5\\x85\\xf3\\x2e\\xf0\\x3d\\x76\\xf7\\x60\\x7b\\xb3\\xfe\\xdc\\x2f\\x5c\\xd4\\xc3\\x96\\xa8\\x98\\xcb\\x5b\\x4d\\xe6\\x69\\xd6\\xe7\\x31\\x69\\xed\\xbe\\x53\\xe6\\xba\\x76\\xc8\\x28\\xfd\\x3b\\x08\\x0e\\x26\\x22\\x7f\\xb3\\xca\\x24\\x83\\xbe\\xcc\\xb0\\x7d\\x6a\\x83\\xeb\\x0d\\x55\\xcf\\x68\\x6b\\xdf\\x41\\x5f\\xb1\\xa5\\x3f\\xcf\\x80\\x8f\\x76\\x9c\\x43\\xef\\xc9\\x3d\\xce\\xfb\\x3e\\x23\\xc5\\xda\\xa7\\x5c\\xae\\x2d\\xf6\\x59\\xeb\\x7b\\xb5\\xcb\\xb5\\xc5\\x58\\xa3\\x9f\\xff\\xd8\\x5e\\x4e\\x6a\\x7f\\x60\\x4c\\xb7\\x9a\\xaa\\x8f\\xfd\\x7f\\xdb\\xff\\x7f\\x21\\xee\\xd4\\x97\\x90\\xb1\\x8f\\x76\\xb2\\xf3\\xbc\\x8f\\xbc\\xdd\\x27\\x4b\\x20\\xb7\\xf1\\x09\\x67\\x28\\xa4\\xf3\\x3a\\xec\\x3b\\xf5\\x00\\x74\\x6b\\xa8\\x05\\xb7\\x70\\x78\\x1e\\xb3\\x5e\\x91\\xf1\\xb4\\xdb\\xa1\\x66\\x9a\\xe0\\x9f\\x17\\xde\\x42\\x6d\\x0b\\x9f\\xa6\\x3e\\x0c\\x2b\\x52\\x79\\x6e\\x51\\x9f\\x43\\x83\\x2d\\x1f\\x77\\x3b\\x9f\\x74\\xb3\\x76\\x71\\xee\\xd5\\x66\\x4f\\x11\\xd9\\xed\\x76\\x62\\x60\\x1f\\x08\\xde\\xf1\\xba\\x38\\xdf\\x41\\xe9\\x7b\\xd7\\x11\\x59\\xe5\\xe4\\x76\\xa6\\x9d\\x7f\\xf1\\x1e\\x79\\xf1\\x5e\\x18\\xb8\\xa7\\xb8\\x5e\\x22\\xcf\\xe6\\x07\\xee\\x3f\\xee\\x89\\xfa\\x8e\\x22\\x2e\\x6a\\xc1\\x33\\x66\\x2e\\xf1\\x9c\\xa1\\xbf\\x87\\x94\\xda\\xe4\\xce\\x23\\xd0\\x4b\\xc1\\x3b\\xf3\\x70\\xe2\\x6d\\x68\\x62\\x3d\\xad\\x82\\x2a\\xf4\\x1a\\xa3\\x3f\\x42\\xd7\\xdf\\xac\\x85\\x29\\xfa\\x7b\\x01\\xb3\\xbb\\x4c\\x54\\xcf\\xc8\\xe7\\xea\\x19\\x55\\x0b\\xbd\\xfa\\xbb\\xe0\\x44\\xfa\\xdb\\xe9\\xef\\x12\\x82\\x6b\\x37\\x36\\xd8\\xd6\\xd3\\xad\\xae\\x87\\x69\\x6f\\xd6\\x75\\xac\\x53\\xf7\\x52\\x43\\x87\\x6a\\xe7\\xea\\x35\\xb2\\xae\\x77\\x75\\xdd\\x6b\\x5d\\x23\\xc5\\xba\\x06\\xae\\x4e\\xce\\x9c\\x20\\xfd\\xb1\\xfe\\xb6\\xcf\\x1a\\x5d\\xc1\\x20\\x50\\x7b\\xbb\\x2f\\xa9\\xbd\\x75\\xdd\\x1d\\xaa\\xb9\\x43\\xf5\\xf6\\x9f\\xd4\\xda\\xba\\x86\\xd7\\x72\\xf5\\x3c\\x87\\xe7\\x19\\xb9\\x5e\\xe4\\xc2\\xdb\\x84\\xf5\\xab\\xc0\\x77\\x04\\xf2\\x75\\x78\\x70\\x77\\x22\\x9f\\x3b\\xe0\\xb3\\xae\\x7b\\xda\\x41\\x1d\\xd9\\xbd\\xd2\\x7f\\x27\\xf9\\xf5\\x77\\xd2\\xdf\\x7f\\x5c\\x00\\x8b\\xf3\\xc5\\x81\\xef\\x48\\x1c\\x3a\\x18\\xf8\\xce\\x44\\x7f\\x47\\x11\\xe2\\x0b\\xcd\\xd5\\xfc\\x9a\\x2e\\xf2\\x5e\\x46\\xe7\\x6d\\xe8\\x66\\x91\\x73\\xdf\\xd1\\xee\\xa1\\x7d\\x34\\xd0\\x7f\\x41\\x7f\\xf7\\xb2\\x1c\\xc2\\xde\\xf3\\xff\\xe1\\x7d\\x31\\x34\\x89\\xe7\\x07\\x68\\x53\\x69\\xbb\\x5c\\x2e\\x4b\\xdf\\xfd\\xb0\\x21\\x37\\xf8\\x79\\x4c\\x58\\x20\\xc6\\xce\\x7b\\xb4\\x35\\x5c\\x36\\x5e\\x46\\x03\\xa0\\x21\\xc1\\x56\\x53\\x9e\\x19\\x23\\x79\\xb4\\x1d\\x82\\x34\\x08\\x6a\\x05\\xe5\\xd3\\xaf\\xdb\\x46\\x50\\x5a\\x90\\x9a\\x40\\xe9\\xf4\\xeb\\xe7\\x06\\x50\\x22\\xd4\\x31\\x48\\x6d\\xe8\\x6f\\x16\\x9c\\xdf\\xbf\\x1a\\x8d\\xa1\\xbf\\xff\\x9f\\xd8\\x51\\x10\\x1c\\xcf\\x0b\\xf1\\x06\\xf9\\xd2\\xa1\\x4c\\x28\\x2b\\x44\\xf4\\x67\\x05\\x75\\x74\\xa8\\xa6\\xaf\\x23\\xfd\\x1d\\x2e\\xd3\\x15\\x92\\x53\\x7e\\xb9\\xec\\x6a\\xf2\\x2f\\xb7\\x63\\x18\\x34\\x1c\\x2a\\x09\\xb6\\xc3\\xe0\\x1b\\x45\\xdb\\x19\\xea\\x14\\x24\\xfd\\xdc\\x99\\x7e\\xdd\\xf6\\x86\\x72\\xab\\x13\\xfd\\xba\\xbd\\x36\\x48\\x99\\x41\\xea\\x42\\xbf\\x6e\\x6f\\xbd\\x9c\\xfe\\xc2\\x8e\\xcb\\xfd\\x18\\x04\\x9f\\xc6\\xb2\\x4d\\x35\\x9f\\x35\\xde\\x0d\\x82\\x38\\xa7\\x07\\xe3\\x11\\x8a\\x4d\\xa3\\x60\\x5c\\xf2\\x83\\xf1\\x1b\\x14\\x8a\\x69\\x30\\x8e\\x79\\xd5\\x62\\xee\\xc4\\x3f\\x18\\xf7\\x4b\\xec\\x20\\xef\\xf4\\x67\\x0f\\xe4\\xa5\\xbd\\x3b\\x48\\x3b\\x83\\xdf\\x57\\xcd\\x0b\\x9e\\xe7\\xaf\\xe9\\xfb\\xee\\xff\\xba\\xe3\\xc1\\xd3\\xfb\\x32\\xba\\xaa\\x3a\\xfd\\xaf\\xbb\\x2c\\x3c\\x53\\xab\\xd3\\x9f\\x8c\\xcf\\x75\\xdd\\x16\\xfc\\x0e\\xea\\x36\\x19\\x12\\xf8\\x7e\\x51\\x7f\\x5e\\xa8\\xf3\\xdf\\xcf\\xda\\xf2\\x3f\\x04\\xbd\\x17\\xf8\\xbe\\x4f\\xdf\\x3f\\xf4\\xf7\\x93\\xfe\\xaf\\xf5\\x1d\\x40\\xff\\xee\\x18\\x7d\\x87\\xf5\\x77\\x5c\\xb4\\x91\\xf4\\x6f\\x08\\xb4\\xfa\\xf3\\x45\\xbb\\x5f\\x35\\xca\\x67\\xdf\\x51\\x0e\\xe9\\x7d\\x48\\xef\\x69\\xec\\x25\\x21\\x72\\xf6\\x24\\xf6\\x30\\xd6\\xe5\\x8f\\x90\\x5e\\xab\\xff\\x31\\x5f\\x97\\x58\\xe7\\xfb\\x06\\xea\\x22\\xfd\\x6b\\x6d\\x41\\xaa\\x1f\\xf8\\xad\\x48\\xab\\x1b\\x6f\\xca\\x79\\xb7\\x2c\\xaf\\xfe\\xb5\\x3a\\xfd\\x6b\\x92\\x5c\\x9c\\x96\\x99\\xb3\\xcc\\x05\\xe6\\x32\\x73\\x95\\xb9\\xda\\x7c\\xc8\\x7c\\xdf\\x15\\xef\\x6a\\xe0\\x7a\\xc3\\xf5\\xad\\xeb\\x74\\x83\\xb7\\x1b\\xde\\xdb\\xf0\\x81\\x86\\xff\\xf1\\xd4\\xf6\\x34\\xf0\\xe4\\x7a\\x06\\x78\\x86\\x7b\\x4a\\x3c\\x23\\x3d\\xa3\\x3d\\x4b\\x3d\\x3b\\x3c\\xbb\\x3d\\x1f\\x7b\\xbe\\xf0\\xfc\\xe0\\x39\\xed\\xf1\\x7b\\xa3\\xbd\\x29\\xde\\xc6\\xde\\x36\\xde\\xf6\\xde\\x2e\\xde\\x6e\\xde\\x1e\\xde\\x1c\\xef\\x18\\xef\\x2c\\xef\\x02\\xef\\x22\\xef\\x35\\xde\\xf5\\xde\\xa7\\xbd\\xa7\\x92\\x5d\\xc9\\xf1\\xc9\\x89\\xc9\\x29\\xc9\\x8d\\x93\\x5b\\x27\\x0f\\x4c\\x2e\\x4c\\x1e\\x93\\xbc\\x3c\\xf9\\x8e\\xe4\\xcd\\x29\\x46\\x8a\\x3b\\x25\\x3a\\x25\\x2e\\xa5\\x76\\x4a\\xbd\\x14\\x4f\\x4a\\xb3\\x94\\x16\\x29\\xf9\\x29\\xe3\\x52\\x26\\xa6\\x1a\\xa9\\x31\\xa9\\xc9\\x69\\x5c\\x85\\xd2\\xa2\\xd2\\x62\\xd2\\x12\\xd2\\xea\\xa6\\xd5\\x4f\\x6b\\x94\\xd6\\x32\\xad\\x7d\\x5a\\xb7\\xb4\\xe9\\x69\\x15\\x69\\xcb\\xd3\\x56\\xa6\\xad\\x4e\\xbb\\x3d\\xed\\xa1\\xb4\\x27\\xd2\\xb6\\xa7\\x3d\\x97\\xf6\\x42\\xda\\xee\\xb4\\x77\\xd3\\xf6\\xa4\\xed\\x4f\\x3b\\xde\\xb8\\x5b\\x63\\x5f\\xe3\\xec\\xc6\\xa5\\x8d\\x27\\x34\\x9e\\xd4\\x78\\x5a\\xe3\\x59\\x2d\\x67\\xb4\\x5c\\xd8\\x3a\\xf1\\xb1\\xe4\\xc7\\x56\\x9f\\x32\\x4e\\xb9\\x4e\\xd5\\x3a\\x67\\x9c\\xeb\\x78\\xae\\xdb\\xb9\\x1e\\xe7\\x7a\\x9e\\xcb\\x39\\x37\\xc8\\x9f\\x6a\\x9f\\xb7\\x6d\\xe7\\x77\\x32\\x37\\x9a\\xf3\\xcd\\xc5\\xe6\\x72\\x50\\xb8\\xc5\\x7c\\xc4\\xfc\\xc0\\x55\\xcf\\x75\\xab\\xeb\\x03\\xd7\\xa9\\x06\\xd2\\xc0\\x0f\\x0a\\x1b\\x3d\\xe2\\xa9\\xeb\\xf1\\x7a\\xf2\\x3d\\x05\\x41\\x14\\xc6\\x7a\\x2a\\x3c\\xcf\\x78\\xfe\\xe5\\xf9\\xc4\\x73\\xc0\\xf3\\x93\\xe7\\xac\\x57\\xbc\\x71\\xa0\\xd0\\xdc\\xdb\\xce\\x9b\\x79\\x11\\x85\\xa9\\xde\\xf9\\xde\\x85\\xa0\\xb0\\xce\\xbb\\x31\\x88\\x42\\x9d\\x20\\x0a\\x03\\x92\\x87\\x26\\x8f\\x04\\x85\\x75\\x17\\x51\\x88\\x05\\x85\\x2b\\x52\\x1a\\x06\\x51\\x28\\x4d\\x29\\x73\\x50\\xf0\\xfe\\x05\\x0a\\x05\\x17\\x51\\x58\\x97\\xb6\\x31\\xed\\xf1\\x8b\\x28\\xbc\\x0d\\x0a\\x9f\\x81\\x42\\x97\\x8b\\x28\\x4c\\x6c\\x3c\\x15\\x14\\x4a\\x5b\\xce\\x01\\x85\\xc4\\xc7\\x56\\x9e\\x52\\xa7\\xac\\x53\\x91\\xe7\\xd4\\xb9\\x06\\xe7\\x3a\\x83\\x82\\xef\\x5c\\xaf\\x73\\x79\\x7e\\xaf\\x46\\xc1\\x3e\\x62\\xbf\\x6a\\xbf\\x64\\x3f\\x67\\x3f\\x6d\\xef\\xb0\\xff\\x61\\x6f\\xb7\\xb7\\xd9\\x5b\\xec\\xce\\x76\\x1b\\xbb\\xc5\\x37\\xde\\xaa\\xef\\xab\\xbe\\xab\\xfa\\xb6\\xea\\x68\\xd5\\xe1\\xaa\\x43\\x55\\x5f\\x55\\x7d\\x59\\xf5\\x45\\xd5\\xe7\\x55\\xfb\\xab\\x3e\\xab\\xfa\\xa4\\x6a\\x5f\\xd5\\xde\\xaa\\x8f\\xaa\\x3e\\xac\\xda\\x53\\xf5\\x7e\\xd5\\x7b\\x55\\xef\\x54\\xbd\\x59\\xf5\\x7a\\xd5\\xee\\xaa\\x5d\\x55\\x2f\\x57\\xbd\\x54\\xf5\\x6c\\xd5\\xc6\\xaa\\x3b\\xaa\\x6e\\xad\\x5a\\x57\\xb5\\xaa\\x6a\\x71\\xd5\\xac\\xaa\\x0e\\x55\\xc9\\x55\\x09\\x55\\x71\\x55\\xe1\\x55\\xae\\xe3\\xfe\\xe3\\x87\\x8e\\x7f\\x79\\xfc\\x93\\xe3\\xdb\\x8e\\x3f\\x7a\\x7c\\xfd\\xf1\\xae\\xc7\\x3b\\x1f\\x6f\\x73\\x3c\\xfd\\x78\\xab\\xe3\\xcd\\x8f\\x37\\x39\\xde\\xf0\\x78\\x83\\xe3\\xea\\xd8\\xb7\\xc7\\xbe\\x39\\xd6\\xff\\x58\\xd6\\xb1\\x36\\x47\\x86\\x1c\\x19\\x7c\\x24\\xff\\x48\\xee\\x91\\xec\\x23\\x59\\x47\\xba\\x1d\\xe9\\x70\\xa4\\xf5\\x91\\x26\\x47\\xbc\\x47\\x6a\\x1e\\xfe\\xed\\xf0\\x2f\\x87\\x4f\\x1f\\xfe\\xf1\\xf0\\xbf\\x0f\\x1f\\x3e\\xfc\\xf9\\xe1\\x7d\\x87\\xdf\\x3f\\xfc\\xde\\xe1\\x7f\\x1d\\x7e\\xe5\\xf0\\xcb\\x87\\xff\\x79\\x78\\xcb\\xe1\\xe2\\xc3\\x45\\x87\\x0b\\x0f\\x77\\x3a\\xdc\\xe1\\x70\\xfb\\xc3\\x6d\\x0f\\xb7\\xfe\\xb2\\xc7\\x97\\x5d\\x3f\\xbf\\x6f\\xdc\\xfd\\xe3\\x3a\\xd5\\x7d\\xad\\xee\\xab\\x75\\x5f\\xaa\\xf9\\x5a\\xcd\\xca\\x9a\\x5b\\x6b\\x3e\\x55\\xf3\\xc9\\x9a\\x4f\\xd4\\xdc\\x12\\xf9\\x45\\x84\\x19\\xfc\\xfd\\xe1\\xff\\xb7\\xff\\xb8\\x8d\\x48\\xdd\\x28\\xf9\\x03\\x1e\\xca\\x29\\xb2\\xf4\\x8f\\xf1\\x3f\\x64\\x04\\x66\\x9a\\xec\\x2f\\x2e\\x71\\xb3\\xcf\\x84\\x4b\\x84\\x44\\x4a\\x0d\\x89\\x92\\x9a\\x52\\x4b\\xa2\\x25\\x46\\x62\\x25\\x4e\\xe2\\x25\\x81\\xbb\\x63\\x1d\\x49\\x94\\xba\\xec\\x65\\xf5\\x24\\x89\\xdd\\xa9\\x81\\x34\\x14\\x0f\\xeb\\x31\\x59\\x52\\x24\\x55\\x1a\\x49\\x9a\\x34\\x96\\x26\\xd2\\x54\\x9a\\x49\\x73\\x69\\x21\\x2d\\xa5\\x95\\xb4\\x96\\x74\\x69\\x23\\x6d\\xa5\\x9d\\x64\\x48\\x7b\\xe9\\xc0\\xcd\\xa9\\x93\\x74\\x16\\x6e\\xb5\\xd2\\x55\\xba\\x49\\x77\\xe9\\x21\\x59\\xe2\\x93\\x9e\\x92\\x2d\\xbd\\xa8\\xd6\\x72\\x25\\x4f\\x7a\\x4b\\xbe\\xf4\\x91\\xbe\\xd2\\x8f\\xdd\\x77\\x80\\x0c\\x94\\x41\\x52\\x20\\x83\\xd9\\xb9\\x87\\x4a\\xa1\\x14\\xc9\\x30\\x19\\x2e\\xc5\\x52\\x22\\x23\\x64\\xa4\\x8c\\x92\\xd1\\x32\\x46\\xc6\\x4a\\xa9\\x8c\\xc3\\xfe\\x1b\\x65\\x85\\xdc\\xc4\\x89\\x74\\xbb\\x6c\\x90\\x07\\xe4\\x11\\x79\\x58\\x36\\xc9\\xa3\\xf2\\x37\\x79\\x4c\\xfe\\x4e\\x95\\xc9\\x9d\\x4f\\x9e\\x94\\xad\\xdc\\xc2\\x2a\\x65\\x9b\\xfc\\x43\\x9e\\x96\\x1d\\xf2\\x8c\\xec\\x94\\x7f\\xca\\x0b\\xf2\\xbc\\xbc\\x28\\x2f\\x85\\x7d\\xc7\\x4d\\xb6\\x4c\\x26\\xca\\x94\\xb0\\xef\\x65\\x91\\x3c\\x24\\xb3\\x65\\x5a\\x78\\x73\\xb9\\x52\\xa6\\x86\\xf7\\x95\\x95\\x72\\x4f\\x78\\x2e\\x37\\xf8\\xfe\\xe1\\x03\\x64\\xb2\\x2c\\x0c\\xef\\x1e\\xee\\x0b\\xcf\\x32\\xe7\\x86\\xe7\\xcb\\x74\\xb9\\xda\\x1c\\x29\\x9b\\xe5\\x39\\xb9\\x56\\x26\\xc8\\xcc\\xf0\\x1c\\x55\\x18\\xde\\x27\\xbc\\x07\\x37\\xad\\xa5\\x61\\xff\\x96\\xf1\\x72\\x9d\\xdc\\x20\\x77\\xa9\\x04\\x55\\x3b\\xec\\xab\\xb0\\x83\\x61\\x55\\x61\\xdf\\x84\\x1d\\x09\\x3b\\x2a\\xcf\\x86\\xdf\\x2c\\xaf\\xa8\\x2e\\x61\\x17\\xc2\\x93\\xc2\\xfe\\x13\\xf6\\x5b\\xf8\\xee\\xf0\\xd7\\xc3\\x4e\\xca\\x55\\x61\\xc7\\xc2\\x4e\\x84\\x9d\\x91\\xe5\\xb2\\x9a\\x9b\\xe8\\x1a\\x59\\xc5\\x1d\\x7a\\x9d\\xdc\\x2a\\xb7\\xc8\\x1d\\x72\\x27\\x1e\\xae\\x97\\xfb\\xe4\\x7e\\xb9\\x57\\x7e\\x36\\x56\\x1a\\x0f\\xc8\\x1c\\xe3\\x1e\\xe3\\x5e\\xe3\\x3e\\x59\\x6c\\x3c\\x68\\xdc\\x6f\\xdc\\x24\\xe2\\xeb\\x3d\\x72\\x44\\x49\\x71\\x51\\xe1\\xd0\\x21\\x83\\x0b\\x06\\x0d\\x1c\\xd0\\xbf\\x5f\\xdf\\x3e\\xf9\\xbd\\xf3\\x72\\x73\\x7a\\x65\\xf7\\xf4\\x65\\xf5\\xe8\\xde\\xad\\x6b\\x97\\xcc\\xce\\x9d\\x3a\\x76\\x68\\xdb\\x26\\xbd\\x75\\xab\\x96\\x4d\\x9b\\x34\\x4e\\x6b\\x94\\x9a\\x92\\xec\\xa9\\x9b\\x10\\x1b\\x13\\x5d\\xab\\x66\\x8d\\xc8\\x88\\xf0\\x30\\xb7\\xcb\\x32\\x0d\\x25\\x2d\\xbd\\x95\\xaa\\x34\\xb7\\xd2\\x4c\\xf3\\xc6\\xe6\\x8d\\x4b\\xcd\\x4d\\x1d\\x97\\xdf\\xaa\\xa5\\x37\\xb7\\x6e\\x79\\x4e\\xab\\x96\\xb9\\xa9\\x79\\xa5\\x95\\xde\\x71\\xde\\x4a\\x1a\\xab\\x71\\x6a\\x7e\\xbe\\xd3\\x95\\x3a\\xae\\xd2\\x5b\\xea\\xad\\x6c\\x4c\\x33\\xae\\x5a\\x77\\x69\\xa5\\x0f\\xce\\x49\\x97\\x71\\xfa\\x02\\x9c\\xbe\\x8b\\x9c\\x2a\\xc6\\xdb\\x4d\\xba\\x69\\x15\\xa9\\xde\\xca\\xf7\\x72\\x52\\xbd\\x3b\\xd5\\x88\\xc1\\xc5\\x3c\\xaf\\xc9\\x49\\x2d\\xf1\\x56\\x7e\\xef\\x3c\\x0f\\x70\\x9e\\xad\\xc6\\xce\\x4b\\x4d\\x5e\\x92\\x93\\x99\\xe1\\x58\\xa5\\xad\\xf5\\xe6\\x56\\xe6\\x5d\\x59\\xbe\\x2a\\xb7\\x14\\x1b\\xd5\\xb6\\x1a\\x91\\xbd\\x52\\x7b\\x4d\\x8c\\x6c\\xd5\\x52\\xb6\\x45\\xd6\\xe0\\xb1\\x06\\x4f\\x95\\x4d\\x53\\x67\\x6f\\x53\\x4d\\x7b\\x28\\xe7\\xc1\\x68\\x9a\\xdb\\x65\\x9b\\x21\\xe1\\x35\\xb5\\x5a\\x3c\\xcd\\x1d\\x57\\x56\\x59\\x30\\xb8\\x38\\x37\\x27\\x29\\x39\\xb9\\xa4\\x55\\xcb\\x3e\\x95\\xb5\\x52\\x73\\x9c\\x21\\xe9\\xe5\\x88\\xac\\x74\\xf7\\xaa\\x0c\\x73\\x44\\x7a\\xa7\\x68\\xd3\\xe5\\x66\\xef\\xb6\\x96\\xbb\\x56\\xad\\xde\\x19\\x23\\xe3\\x4b\\x5b\\x44\\x95\\xa5\\x96\\x8d\\x1b\\x55\\x5c\\x69\\x8e\\x63\\xee\\x2a\\x33\\x77\\xd5\\xaa\\x15\\x95\\xb1\\x2d\\x2a\\x9b\\xa5\\xe6\\x54\\x36\\x5b\\x7c\\xb4\\x2e\\x9e\\x4f\\xac\\x6c\\x99\\x9a\\x93\\x5b\\xd9\\x42\\x4b\\xed\\x37\\xe4\\xa2\\x9e\\x7e\\xbf\\xab\\x54\\x95\\xae\\x34\\x8e\\x90\\x55\\x67\\x04\\x77\\x52\\xbf\\x3f\\x79\\x69\\xcf\\xb8\\x60\\x8f\\x3b\\x2d\\xe6\\x8c\\xe8\\xc7\\x4a\\xa3\\x57\\xa5\\x1a\\x52\\x9c\\xac\\x7f\\x92\\xf2\\xc0\\x7a\\xd5\\xaa\\xbc\\x54\\x6f\\xde\\xaa\\xd2\\x55\\xe3\\x76\\xda\\x15\\xe3\\x53\\xbd\\x31\\xa9\\xab\\xb6\\x45\\x45\\xad\\x9a\\x9d\\x0b\\xdc\\x52\\x50\\x8c\\x88\\x9d\\xf6\\x73\\x37\\x27\\x55\\xe6\\xad\\x2e\\xa9\\x8c\\x29\\x2d\\x57\\x5d\\x4a\\x82\\xae\\xe7\\x0d\\xe9\\x57\\x19\\x3f\\x78\\x64\\x71\\xa5\\x91\\x96\\xe7\\x2d\\x1f\\x47\\x0f\\xff\\x65\\xa5\\x26\\x77\\x4e\\x4a\\x8e\\xbd\\xc8\\x53\\xf0\\x57\\xc3\\x02\\x2c\\x80\\x03\\xc2\\xc9\\xc9\\x1a\\x86\\x9b\\x77\\xfa\\x64\\x3c\\x2f\\x95\\x15\\x83\\x8b\\x03\\xef\\x5e\\x19\\x9f\\xb4\\x5d\\x7c\\xe9\\x2d\\x4a\\x2a\\x8d\\x52\\x3d\\xb2\\x2b\\x34\\x52\\xbb\\x48\\x8f\\x54\\x84\\x46\\x2e\\x4e\\x2f\\x4d\\x25\\xb6\\xfd\\x86\\x16\\xaf\\xaa\\xb4\\xd2\\xfa\\x94\\xa5\\xe6\\x82\\xf8\\xcd\\xe3\\x2a\\x2b\\xc6\\x93\\x5d\\x53\\x75\\x60\\x52\\x63\\x2a\\x6b\\x9d\\x4d\\x4a\\x4e\\x5d\\x15\\x17\\xeb\\xcd\\x4c\\x2f\\x71\\x78\\xbd\\x58\\xd5\\xa7\\x6c\\x8a\\xb7\\xd2\\xd5\\x18\\x90\\x98\\x55\\x7d\\x02\\x79\\xa3\\xa7\\xac\\x8a\\x71\\x5e\\x6a\\x9d\\x0d\\x34\\xdf\\x27\\xa1\\xa0\\x71\\x6c\\x9c\\x37\\x33\\x15\\x31\\x5a\\x4e\\x6e\\x6a\\x6e\\x69\\xf0\\xbf\\x2b\\xcb\\xeb\\x22\\xc0\\x0b\\xd0\\xf9\\x2d\\x02\\x89\\x50\\x58\\x5c\\xe9\\xcb\\xe1\\xc1\\x37\\x2e\\x18\\xb1\\xdc\\x6d\\x6d\\xd2\\x99\\x31\\xae\\x94\\x80\\x4d\\xc9\\x71\\x82\\x59\\x99\\x9e\\x3a\\xbb\\x32\\x21\\x35\\xfb\\x62\\x74\\xb5\\x59\\xb9\\x53\\x86\\x16\\x3b\\x53\\x82\\xd3\\x2a\\x13\\x7a\\x55\\x4a\\xe9\\x84\\xe0\\xac\\xca\\xf4\\x5c\\x67\\x5d\\x79\\x73\\x57\\x95\\xe6\\x04\\x4c\\xd0\\xb2\\x52\\x07\\x17\\x3f\\x2b\\x19\\xf6\\xa1\\x6d\\xed\\xbd\\x49\\xff\\xd0\\x5b\\x67\\x49\\x8e\\x66\\xae\\xd3\\x8b\\x2c\\x6b\\x9c\\xbb\\xaa\\xb8\\x6c\\x52\\xa5\\xa7\\x34\\xa9\\x8c\\x75\\x37\\xc9\\x5b\\x9c\\x94\\x5c\\xe9\\x2b\\x21\\xc2\\x25\\xa9\\xc5\\x13\\x4b\\x74\\xda\\x81\\x50\\xb3\\x43\\x49\\x4e\\x72\\x94\\x38\\xb9\\x52\\x58\\xdc\\x6f\\x68\\x6a\\xbf\\xc1\\x23\\x8a\\x3b\\x07\\x0d\\x09\\x0c\\x68\\x71\\x56\\x5a\\xee\\x65\\x62\\x52\\x8b\\x93\\x02\\x62\\x48\\xc0\\xca\\xf0\\xb4\\x70\\x6f\\xb1\\x91\\x64\\x96\\xc0\\x18\\x43\\x87\\x37\\x8f\\x87\\xd4\\xec\\x6e\\xfc\\x59\\x19\\x96\\x16\\x0e\\xc5\\x00\\xb8\\xd3\\xab\\x13\\x37\\xbb\\x9b\\xb7\\x58\\x25\\x49\\x88\\x1b\\x33\\x2a\\x9b\\x79\\x73\\x27\\xe6\\x04\\xf9\\xf4\\xfb\\x25\\x42\\x5d\\x3a\\x9d\\x7a\\xe5\\x87\\xa4\\xb9\\xf5\\x2b\\x72\\x7a\\xe5\\x27\\x25\\x97\\x24\\x07\\x7e\\x5a\\xb5\\x34\\x18\\xf6\\x06\\x15\\x33\\x23\\x5c\\x83\\x9a\\x1f\\x1a\\x62\\x9b\\x62\\x20\\x9c\\xfc\\xec\\x95\\xef\\x74\\x69\\x2c\\xeb\\xea\\xa4\\xf7\\x16\\xa7\\x4e\\x4c\\x2d\\x49\\x2d\\xf7\\x56\\xfa\\x0a\\x8a\\xb5\\x6f\\x1a\\x1e\\x07\\xe5\\x20\\x18\\x0e\\xe6\\xc1\\x58\\x15\\x5e\\xf2\\x56\\x0d\\x2c\\x60\\x92\\x64\\x86\\x43\\x2f\\x1a\\xcc\\xca\\xbc\\x16\\x49\\xd5\\xc1\\xad\\xec\\xed\\xbc\\x5f\\x7c\\xcd\\xbf\\x6c\\xb8\\x4f\\x68\\xd8\\xbb\\x2a\\x3c\\xb5\\xdf\\xd0\\x55\\x5a\\x78\\x6a\\x50\\xa0\\x60\\x79\\x9f\\x4a\\xd1\\x29\\xec\\xeb\\x1c\\x9b\\xe4\\xec\\x05\\x7a\\x41\\xa7\\xb2\\xf7\\x7a\\x63\\x58\\xd2\\xce\\x82\\x5e\\xb5\\xcd\\xe7\\xd3\\x8b\\xb9\\xbc\\x8b\\x16\\x92\\xda\\xa7\\x6c\\x55\\xea\\xd0\\xe2\\x6e\\x0e\\x37\\xfb\\xc9\\xd2\\xa4\\xc5\\x5a\\x57\\x9c\\xf4\\x53\\xfd\\x0a\\xb3\\x5b\\xb5\\x64\\x6b\\xcb\\xde\\x96\\xaa\\x56\\x0e\\xde\\xe6\\x53\\x2b\\x87\\x8e\\x28\\x7e\\x36\\x86\\x5b\\xf3\\xca\\xc2\\xe2\\xed\\x86\\x32\\x7a\\x95\\x66\\x97\\x6c\\x6b\\xc4\\x58\\xf1\\xb3\\x5e\\x0e\\x0d\\xa7\\xd7\\xd0\\xbd\\xba\\x53\\xbf\\x78\\xf5\\x8b\\x96\\x34\\x84\\x97\\x70\\x87\\x3f\\xe9\\x59\\x9f\\x48\\x85\\x33\\x6a\\x39\\x1d\\xce\\xfb\\x84\\x9d\\x4a\\x9c\\xbe\\xf0\\x50\\x9f\\x92\\x09\\x3b\\x8d\\x40\\x5f\\x4c\\x40\\x51\\x63\\x47\\x91\\x8f\\x3b\\xc8\\x84\\x9d\\x56\\x60\\xc4\\x17\\xe2\\xb6\\xe8\\x0b\\x0f\\xf4\\x55\\x38\\x7d\\xce\\xcf\\x36\\xd1\\x90\\xf9\\x22\\x5d\\xbe\\x70\\x5f\\x84\\x2f\\xca\\xa8\\x69\\x24\\x6d\\x53\\xba\\x6b\\x3b\\x3d\\xcf\\x71\\x57\\x89\\x50\\xf2\\x8f\\x28\\x55\\x53\\x25\\x6d\\x63\\xd6\\x10\\xa7\\x7b\\xa7\\xaa\\xd8\\x16\\xe1\\x4b\\x0a\\x70\\x54\\xc0\\xe1\\x0b\\x58\\xb8\\xb2\\xe8\\x77\\xd5\\x45\\x23\\x8a\\xff\\xc1\\x8d\\x46\\x25\\x39\\x7f\\xa2\\x28\\x5b\\xff\\x90\\x2e\\x75\\xcb\\x09\\x36\\xc7\\x4a\\xae\\xb7\\x4c\\x27\\xca\\xd5\\x25\\xe5\\xab\\x4a\\x4b\\xf4\\x62\\x93\\x3a\\x84\\x86\\xff\\x54\\xa5\\x4a\\xed\\x41\\x98\\x52\\x7b\\x60\\x88\\x3b\\xaa\\x32\\x32\\x75\\x62\\x76\\x65\\x8d\\xd4\\x6c\\xdd\\x9f\\xa5\\xfb\\xb3\\x02\\xfd\\x6e\\xdd\\x1f\\x46\\x8a\\xaa\\x3a\\x8a\\xe9\\x15\\xc4\\xbe\\xa0\\x52\\xe9\\x0c\\x18\\x59\\x9c\\xcc\\x92\\xf4\\xd6\\x7b\\x2b\\x69\\x55\\xcc\\xf7\\x3a\\x52\\x25\\x6c\\x2a\\xab\\x62\\x8e\\xb5\\xea\\x59\\x2a\\x3e\\x35\\x51\\x94\\x2a\\x57\\x93\\xb9\\x61\\x79\\x54\\xa9\\x0c\\x54\\x63\\xa5\\x48\\xf5\\x94\\xee\\xca\\x47\\x0b\\xa6\\x2a\\x9b\\xb6\\x17\\xef\\xba\\x6d\\xad\\xba\\x4b\\x05\\x7c\\xdd\\xe9\\xef\\xc1\\x3b\\x77\\x28\\xd5\\x95\\x7b\\x51\\x34\\x7f\\xa6\\x43\\x59\\xd0\\x35\\x90\\x05\\x05\\x38\\xda\\xc0\\x91\\x4e\\x9b\\x1e\\x7c\\x6f\\xc5\\x7b\\x4b\\xda\\x96\\xc1\\xf7\\x2c\\xde\\x75\\xdb\\x97\\xf7\\x7c\\xda\\xde\\xc1\\x36\\x8f\\xfe\\x5c\\xda\\xdc\\xe0\\x7b\\x1f\\xde\\x69\\xa5\\x40\\x85\\x11\\xe7\\x74\\xe7\\xcf\\xad\\xca\\xf2\\xc5\\xaa\\x0f\\x2e\\xa8\\x97\\x2f\\xa8\\x98\\x0b\\x6a\\xd6\\x39\\xe5\\x3b\\xa7\\x7e\\xdd\\xa9\\xa2\\x7d\\x71\\xcd\\x3c\\xbf\\x24\\xd9\\x9e\\xb3\\x05\\x4d\\x3d\\x67\\x0a\\xba\\x79\\x7e\\x3c\\xd5\\xcd\\xf3\\xac\\x8a\\x57\\x71\\xbe\\x8e\\xdd\\x3c\\xff\\xfe\\xbe\\x9b\\xe7\\x64\\x6f\\xdb\\xf3\\x4d\\x41\\x33\\x4f\\x15\\x74\\xfc\\x68\\x37\\xcf\\xb1\\x82\\x0e\\x9e\\xa3\\xd0\\xd7\\x3b\\x32\\x3c\\x87\\x76\\xd4\\xf3\\x7c\\x7b\\x22\\xc3\\x73\\xf0\\x40\\x86\\xe7\\x2b\\x33\\xc3\\x23\\x27\\x54\\xc4\\x4e\\x7b\\x97\\xaf\\xdb\\x89\\x1a\\x31\\x79\\x27\\x94\\x59\\x24\\x07\\xf0\\xfb\\x40\\x9b\\x03\\x05\\x07\\x2a\\x0e\\x54\\x1e\\x70\\x85\\x1f\\xa0\\xef\\x4b\\x18\\x3f\\x2b\\xa8\\xef\\xf9\\x14\\xfa\\x04\\xda\\x57\\x60\\x7b\\xde\\x7a\\xb3\\xbb\\xe7\\xcd\\x41\\xdd\\x3c\\xaf\\x0d\\x6a\\x86\\xf6\\x1a\\x98\\x55\\xab\\x99\\x27\\xfd\\x55\\x95\\xf5\\xea\\xda\\x57\\x8d\\x97\\xd1\\xbc\\x53\\xd5\\xdc\\xde\\x3b\\x8e\\x26\\xea\\x9f\\x0f\\xd9\\x9e\\x97\\xc6\\x34\\xf3\\x44\\xef\\x54\\x91\\xbe\\x08\\xf5\\xfc\\x93\\xed\\x3d\\xcf\\x3d\\x69\\x7b\\xb4\\xda\\x8c\\x67\\x1b\\x35\\xcd\\x7b\\xb6\\xa0\\x91\\x27\\xeb\\x9f\\xea\\x19\\x26\\xbd\\xbc\\x43\\x45\\x6f\\x1d\\xbb\\x75\\xd6\\xd6\\x07\\xb7\\x5a\\xb3\\x9f\\xaa\\x78\\x6a\\xdd\\x53\\xa6\\xf7\\xa9\\x36\\x4f\\xf9\\x9e\\xfa\\xe0\\xa9\\x43\\x4f\\x9d\\x7a\\xca\\xfd\\x24\\x3c\\x2f\\xa8\\x58\\xe0\\x8a\\x01\\xb6\\x98\\xed\\x49\\xdd\\x50\\x50\\xcb\\xd7\\xba\\x99\\x59\\x14\\xfd\\x88\\x4a\\x7f\\x58\\xad\\x7d\\x58\\xd9\\x0f\\xab\\xd2\\x87\\x67\\x3f\\x5c\\xf1\\xb0\\xf9\\xf7\\x38\\xdb\\xb3\\xd9\\xb4\\x3d\\x1b\\x33\\xe2\\x8a\\xee\\x63\\xe6\\xbd\\x43\\xbb\\x79\\x36\\xf5\\xed\\xe6\\x68\\xae\\xfd\\x50\\x72\\xa3\\xbc\\x07\\x1f\\xda\\xfa\\x90\\x71\\x0f\\x56\\xde\\xdd\\xd7\\xf6\\xdc\\xc9\\xc8\\x0b\\xaa\\x81\\x4a\\xe4\\x8a\\xed\\x51\\x75\\xff\\x31\\xb4\\x99\\x27\\xeb\\x39\\xde\\x06\\xa9\\x44\\x5f\\x5f\\xe3\\x8e\\xf5\\xdd\\x3c\\xd1\\xeb\\xaf\\x59\\x6f\\x44\\xdc\\x5e\\xd0\\xdd\\x73\\x1b\\x74\\x2b\\x28\\xac\\x5b\\xdd\\xdd\\xb3\\x76\\x4d\\x33\\xcf\\x2d\\x6b\\xba\\x7b\\x64\\x8d\\xea\\xea\\x59\\xa3\\x56\\xa3\\x64\\xc5\\x75\\xcd\\x3c\\xcb\\xaf\\xeb\\xe6\\xa9\\xb8\\x6e\\xdd\\x75\\xc6\\x95\\x0b\\xba\\x79\\x64\\x81\\x9a\\x3f\\xaf\\xb9\\x67\\x9e\\x83\\x4b\\x6d\\x5f\\xd2\\xec\\x66\\x9e\\x59\\x33\\x5b\\x78\\x66\\xf6\\x6e\\xee\\xa9\\x57\\x23\\xa9\\xe8\\x8a\\x8c\\xba\\x45\\x61\\x19\\x66\\x91\\x1b\\x63\\x5f\\x50\\xf5\\x54\\x82\\x63\\xc2\\x15\\xff\\x18\\x9b\\xe1\\xf1\\xed\\x54\\x09\\xdb\\x1b\\x35\\xc9\\xc3\\xe6\\x7f\\x8c\\x6b\\xd1\\x46\\xb7\\xbe\\xa8\\x71\\x1e\\x36\\xb1\\xb1\\x3e\\xcf\\x58\\x2d\\x8f\\x8e\\x3b\\x47\\xd7\\x6b\\x98\\x37\\xaa\\xb7\\xd7\\x33\\x72\\x44\\x1b\\xcf\\x88\\xde\\xcd\\x3c\\x09\\x2a\\xae\\x28\\x1e\\xaf\\x5d\\x44\\xcf\\x42\\x70\\xb4\\xe9\\x31\\xb3\\xcc\\x41\\xe6\\x2c\\x73\\xad\\xf9\\xb2\\x19\\x16\\x3e\\x64\\x70\\xba\\x67\\x30\\x93\\x0f\\x15\\x9c\\x2a\\x30\\xa2\\x07\\x79\\x06\\xa5\\x0f\\x32\\xfb\\xf5\\xce\\xf0\\xf4\\x05\\x8b\\x3e\\xbd\\xbb\\x79\\xf2\\x7b\\x77\\xf6\\x44\\xf7\\xf6\\xf4\\x4e\\xef\\xbd\\xa7\\xf7\\xc1\\xde\\x3f\\xf4\\x76\\x3f\\xd8\\x1b\\x64\\x92\\x8a\\xea\\xe7\\x27\\x15\\xd5\\xc9\\xa8\\x5d\\x14\\xab\\xa2\\x8b\\x62\\x32\\xa2\\x8b\\xb8\\xd1\\x16\\xa9\\x0c\\x29\\x4a\\x8f\\xb6\\xa3\\x8d\\xe8\\xe8\\xb1\\xd1\\xd7\\x44\\x9b\\xd1\\x94\\x1d\\x46\\x45\\x1d\\xe5\\x52\\x3b\\xd5\\xba\\x6d\\x85\\x43\\x5b\\xb4\\xe8\\xb7\\x33\\xcc\\xe6\\x26\\x14\\x51\\x30\\xb2\\x52\\xad\\xac\\x4c\\x1b\\xaa\\xff\\xf4\\x0d\\x1e\\x51\\xe9\\x5e\\x59\\x29\\x45\\x23\\x46\\x16\\x6f\\x53\\xea\\x96\\x92\\x1b\\xd6\\xac\\x91\\xec\\x06\\xfd\\x2a\\xdb\\x0d\\x2d\\xae\\x2c\\x6d\\x50\\xd2\\xaf\\xb2\\x8c\\x07\\x9f\\x7e\\xa8\\xe0\\x21\\xa6\\xc1\\xb6\\x3a\\x92\\x5d\\x32\\x6f\\xde\\xfc\\x16\\x81\\x1f\\x35\\x6f\\x81\\x6e\\x64\\x01\\x1d\\x63\\xe6\\x39\\x3d\\xce\\x7b\\x8b\\xdf\\x7f\\x54\\xe0\\x7d\\x01\\xbc\\xfa\\x61\\x41\\x80\\xcd\\x61\\x9f\\x17\\x18\\x9d\\x17\\x9a\\x80\\xdc\\x05\\xce\\x28\\x8d\\x9a\\x27\\x2d\\x9c\\xe7\\x79\\x01\\x01\\xa8\\x54\\xbf\\xcb\\x1d\\x33\\x4f\\x8b\\x71\\x44\\xa9\\xd0\\x6c\\x67\\x38\\xc8\\x33\\x4f\\xff\\x28\\xa8\\xba\\x25\\xf3\\x2e\\x3e\\xd4\\x15\\x71\\xad\\xa1\\xd6\\xcb\\x77\\x75\\xa7\\xfa\\x9b\\xe5\\xea\\xee\\xea\\x7f\\x69\\xc1\\x68\\x3e\\x41\\x05\\xa8\\x7f\\xbf\\xfd\\xa4\\x7e\\x0b\\xfd\\xe9\\x3f\\xe2\\xef\\x6f\\xff\\xf6\\xff\\xb4\\x90\\xfd\\xb3\\x9f\\xd0\\xa7\\xef\\xd4\\x71\\x5b\\xa9\\xeb\\xf6\\xeb\\xdf\\xbd\\x77\\x7e\\xf2\\xa8\\x09\\xa7\\xc8\\x52\\xd9\\x7f\\x09\\xfb\\x2b\\xf2\\x26\\x7c\\x0b\\x19\\x2b\\xa0\\x3e\\x7c\\xfc\\x2f\\xc5\\x3e\\x41\\xdd\\x37\\xc2\\x79\\x2a\\xa0\\x76\\xbc\\x4e\\x7b\\xf2\\xa7\\x3f\\xef\\x50\\xab\\x7e\\x0a\\xcf\\xbd\\xb2\\xe3\\x62\\xdf\\x5b\\xb2\\x84\\xda\\x6e\\x0d\\x9a\\x0b\\xb0\\xa2\\x58\\xb5\\x63\\x9f\\xfc\\x49\\xb6\\xcb\\x54\\xf9\\x5c\\x5e\\xe7\\x69\\x40\\x80\\xcd\\x3e\\x42\\xad\\xb6\\xd7\\xa8\\xe5\\xfc\\x26\\x24\\x3f\\xce\\xdf\\x25\\x9e\\xe4\\x3c\\x4e\\x92\\x5d\\xc6\\x17\\x17\\xe5\\x6d\\x30\\x36\\x4a\\x5f\\xe3\\x28\\x4f\\x77\\x33\\x52\\xe0\\xf4\\x65\\x4b\\xb6\\x9a\\x2f\\xf7\\xa9\\x07\\xd1\\x70\\xcb\\x45\\x8f\\xbb\\xfd\\xc1\\xbe\\xa5\\xd4\\xbb\\x42\\x65\\x5c\\x4e\\x95\\xba\\x22\\xa8\\x27\\xfb\\xfc\\xe7\\xae\\x21\\x46\\xa4\\x2c\\x63\\xe6\\x74\\x3a\\xba\\x50\\x31\\xe7\\x50\\xb3\\xce\\xbe\\xf0\\xa1\\xa9\\xeb\\xfc\\xbf\\xab\\x6b\\xd4\\xcd\\xb4\\x95\\x54\\xc6\\x81\\x9f\\x61\\xd2\\xda\\xdf\\xdf\\xff\\x6f\\x91\\xb0\\x7c\\x73\\xaa\\xf1\\x8c\\x61\\x5c\\xb8\\x5d\\xf4\\x6f\\x67\\x4e\\x86\\xc6\\x29\\x10\\x36\\xd6\\x98\\x3d\\x35\\xa3\\x91\\x6e\\xc7\\xe0\\xd5\\x6e\\x69\\x63\\x8b\\x7f\\xb2\\xbf\\x58\\xbd\\xa5\\x3e\\x01\\xbd\\x3c\\xf9\\x46\\xcd\\x05\\xa1\\x99\\xb2\\xc6\\x7f\\x9f\\x4c\\x55\\x7f\\x8d\\x3b\\x3f\\xec\\xdd\\x35\\x55\\x33\\x33\\x4d\\x22\\xfe\\x6c\\xd4\\x68\\x2f\\xd1\\xfe\\xdf\\x8c\\x76\\xf6\\x69\\xb3\\x91\\x44\\x4a\\x91\\x7d\\x2a\\xd4\\x67\\xf7\\xb3\\x7f\\x36\\xc7\\xfd\\x37\\xc9\\xbf\\xff\\xb8\\x6f\\xb5\\x66\\x88\\xfe\\x94\\xf6\\x98\\x7f\\x89\\xbf\\xcc\\x35\\xd0\\xd5\\x82\\x6a\\x7f\\xf3\\x5f\\x71\\xeb\\xbf\\xef\\x6e\\x26\\x88\\x58\\xef\\x82\\xde\\x69\\x72\\x6e\\x91\\x48\\x8d\\xf9\\x22\\x51\\xc4\\xa2\\xe6\\x0b\\xce\\x5f\\xaf\\x90\\xe8\\x32\\x68\\xb7\\x48\\x8c\\x17\\x2a\\x84\\x98\\x13\\xf3\\x81\\x48\\x2c\\xcf\\xb1\\x3b\\x45\\xe2\\x68\\xe3\\xf3\\xa1\\xcf\\x44\\x12\\xee\\x13\\xa9\\x3d\\x0a\\x82\\xbf\\x0e\\x5a\\x13\\xcb\\xa1\\x2f\\x45\\xea\\x12\\x8d\\xba\\xf8\\x73\\xc5\\x6c\\x88\\xb6\\x1e\\x7d\\xf5\\xd7\\x89\\x34\\x60\\x6e\\x43\\xc8\\xc3\\x15\\xcd\\xf3\\x04\\xd7\\xb4\\xd5\\x22\\xc9\\x8c\\xa7\\xa0\\x3b\\x75\\x93\\x48\\x23\\x74\\x36\\xda\\x28\\x92\\x86\\xce\\xc6\\xe4\\x40\\x13\\x0b\\xe2\\xbd\\x69\\x7b\\x91\\x66\\xcb\\x45\\x9a\\x17\\x8b\\xb4\\xe0\\xb9\\x65\\x14\\x84\\xbe\\x56\\xbc\\xb7\\x6e\\x23\\xd2\\x06\\x99\\x6d\\x5b\\x8a\\x64\\xe0\\x5b\\x06\\x73\\x3b\\xb0\\x98\\x3a\\xf8\\x44\\x3a\\xe1\\x57\\x27\\xe4\\x76\\xda\\x2b\\x92\\xf9\\x26\\x09\\x82\\xaf\\x5d\\x91\\xdb\\x15\\x9d\\xdd\\xc0\\xa0\\x7b\\x85\\x48\\x0f\\x7c\\xc9\\x6a\\x04\\xe1\\x8f\\x0f\\xbb\\x7b\\x22\\x33\\xbb\\x29\\x84\\x6d\\xbd\\x90\\x95\\x93\\x03\\xc1\\x9b\\xbb\\x9e\\xc4\\x84\\x37\\x0f\\x59\\xbd\\xe9\\xcf\\x47\\x7e\\xfe\\x37\\x22\\x7d\\x56\\x8a\\xf4\\x65\\x5e\\x3f\\xf8\\xfa\\x33\\xaf\\xff\\x21\\x91\\x01\\x95\\x10\\x79\\x3e\\x90\\xb5\\x34\\x08\\x8c\\x07\\xc1\\x33\\x18\\xfe\\x21\\xe8\\x1e\\xca\\x8e\\x53\\x88\\x0f\\x45\\xe0\\x56\\x04\\xdf\\x30\\xb0\\x2d\\x41\\xff\\x48\\xf4\\x8e\\xfc\\x55\\x64\\x14\\x7e\\x8e\\xa2\\x6f\\x14\\x72\\xc6\\x62\\xc3\\xd8\\x5d\\x22\\xa5\\xc8\\x2e\\xe5\\x7d\\x3c\\x32\\x26\\x9c\\x17\\x99\\x08\\xcf\\x24\\x9e\\x27\\x21\\x7f\\x12\\xd8\\x4f\\xe6\\x79\\x32\\x7e\\x96\\x83\\x5f\\x39\\x32\\xcb\\x91\\x33\\x05\\x3c\\xa6\\x5c\\x2d\\x32\\x0d\\x9c\\xa6\\xe1\\xdb\\x74\\x30\\x99\\xde\\x19\\xc2\\xd6\\xe9\\xf4\\xcd\\x00\\x8f\\x59\\xf0\\xcc\\x02\\xbb\\x59\\xc8\\x9b\\x85\\xac\\x59\\xf8\\x33\\xbb\\x3e\\xc4\\x1e\\x38\\x9b\\xb9\\xb3\\x89\\xd1\\x6c\\xf4\\xce\\x61\\xfe\\x5c\\xe6\\xcf\\x65\\xfe\\x5c\\x62\\x3c\\x17\\xff\\xe7\\xbe\\x19\\xf8\\xfa\\x63\\x1e\\x73\\xe7\\x83\\xe3\\x7c\\xf4\\xce\\x87\\x77\\x01\\xb1\\x5d\\xc0\\xfc\\x05\\xcc\\xbf\\x92\\x76\\xa1\\x26\\xf2\\x60\\x21\\x73\\x16\\xe2\\xcb\\x42\\x76\\xd0\\x45\\xc4\\x69\\x11\\x58\\x5c\\xc5\\xd8\\x55\\xc4\\xe4\\x2a\\xc6\\xae\\x62\\xec\\x2a\\xf4\\x2f\\x66\\xfe\\x62\\xf4\\x2c\\x06\\x9f\\xc5\\xc8\\x5d\\x8c\\xad\\x4b\\xc8\\xb3\\x25\\xf8\\xb9\\x84\\xf1\\xab\\x19\\xbf\\x9a\\xf1\\xab\\x4b\\x21\\x70\\x5d\\x8a\\x0f\\xcb\\xb0\\x6d\\x19\\x79\\xb0\\x0c\\x0c\\x97\\x31\\x67\\x19\\x73\\x96\\x81\\x61\\x05\\x39\\x7e\\x2d\\xfe\\x5c\\x8b\\x9e\\x6b\\xd1\\x73\\x2d\\x18\\x5d\\x4b\\x2c\\xaf\\xa5\\xff\\x3a\\xe2\\x70\\x1d\\xf1\\xbc\\x0e\\xdb\\xae\\x23\\xc7\\xae\\xa3\\xff\\x3a\\xb0\\xbd\\x9e\\x58\\x5c\\x0f\\x26\\xd7\\x63\\xff\\xf5\\xf8\\x7f\\x3d\\xbe\\x5f\\x8f\\xde\\xe5\\xe4\\xcc\\x0d\\xe0\\x7b\\x03\\xb1\\xb8\\x01\\x59\\x37\\x60\\xf3\\x0d\\x60\\x70\\x03\\xfd\\x37\\x22\\xeb\\x46\\x62\\x70\\x23\\xb2\\x6e\\xa4\\xff\\x46\\xfa\\x6f\\xa4\\x7f\\x05\\xfc\\x2b\\xd0\\xb1\\x82\\x1c\\x58\\x81\\x8e\\x15\\xf4\\xaf\\xa0\\x7f\\x25\\xfd\\x2b\\xc9\\xcd\\x9b\\xe8\\x5b\\x45\\x5e\\xad\\xc2\\xb7\\x55\\xe8\\xb8\\x19\\x39\\x37\\x83\\xcb\\xcd\\xf0\\xdf\\x8c\\xcf\\x37\\xd3\\xbf\\x9a\\x5c\\x5f\\x4d\\xdf\\x6a\\x72\\x61\\x35\\xb6\\xac\\xc1\\xcf\\x35\\xac\\xd1\\x5b\\xe8\\xbb\\x05\\x3b\\x6f\\x21\\x9e\\x6b\\xc9\\xbb\\xb5\\xf8\\xbe\\x16\\x3c\\xd6\\x22\\x73\\x2d\\xeb\\x74\\x2d\\xf2\\xd6\\x81\\xf3\\x3a\\xf0\\x59\\x07\\x96\\xb7\\x92\\x73\\xb7\\xa2\\xff\\x56\\x72\\xe3\\x36\\xf4\\xdf\\x86\\x5d\\xb7\\x81\\xe1\\x6d\\xac\\xcb\\xdb\\xe0\\xbf\\x0d\\xdf\\xd7\\xb3\\xde\\xd6\\x13\\xc3\\x3b\\xc0\\xf8\\x0e\\x30\\xbe\\x83\\x58\\xdf\\x81\\x7d\\x77\\x30\\xef\\x0e\\xec\\xbe\\x8b\\x79\\x1b\\xd0\\xbf\\x81\\x79\\x1b\\xd0\\xb5\\x01\\x5d\\x1b\\x98\\xbb\\x01\\x3c\\xef\\xc6\\xf6\\xbb\\x91\\x79\\x37\\x18\\xdc\\x4d\\xff\\xdd\\xd8\\x7e\\x37\\xb1\\xbe\\x07\\x1b\\xee\\x01\\xb3\\x7b\\x90\\x75\\x0f\\xb1\\xb9\\x87\\x3c\\xbb\\x87\\xb5\\x71\\x2f\\x3a\\xee\\xc5\\x96\\xfb\\xf0\\xe9\\x7e\\xe2\\x77\\x3f\\x72\\xef\\x47\\xee\\xfd\\xc8\\xbd\\x1f\\x99\\xf7\\x63\\xc7\\x03\\xcc\\x7d\\x00\\x3f\\x1f\\x40\\xe6\\x03\\xe0\\xfa\\x00\\x39\\xf6\\x00\\xeb\\x4f\\xff\\x93\\x13\\x0f\\xe2\\xd7\\x83\\xf8\\xf5\\x20\\x32\\x1f\\x44\\xe6\\x83\\xc8\\xdc\\x08\\x56\\x1b\\xe1\\xdf\\x88\\x9c\\x8d\\xf8\\xb5\\x91\\xfe\\x87\\xf0\\xfb\\x61\\xfa\\x1f\\xc6\\xc6\\x47\\x98\\xf7\\x08\\xbe\\x6c\\x2a\\xd6\\xbf\\xda\\x01\\x61\\xe7\\xa3\\x60\\xfd\\x18\\x73\\x1e\\x23\\x47\\x1e\\x03\\x83\\xcd\\xcc\\xf9\\x3b\\x36\\x3c\\x0e\\xae\\x5b\\xd0\\xb1\\x05\\x1f\\x9e\\xc0\\x9e\\x27\\xc9\\x87\\xa7\\x18\\xdf\\x0a\\x0e\\x95\\xe4\\xea\\x36\\xe6\\x6e\\xc3\\x9e\\xed\\xf8\\xfc\\x0f\\x6c\\xff\\x07\\xbe\\xec\\x40\\xd6\\xd3\\xf8\\xfa\\x8c\\x26\\xf4\\xfd\\x93\\x98\\xfd\\x93\\x38\\xee\\xa4\\xff\\x59\\xf8\\x9e\\xc3\\x8e\\xe7\\xc0\\xe5\\x79\\x64\\xbd\\x80\\xfc\\x17\\xd1\\xf9\\x12\\x3e\\xbe\\x44\\xae\\xbe\\x84\\xbf\\x2f\\x93\\x9f\\xbb\\x18\\x7b\\x05\\xbe\\x57\\xe8\\x7b\\x95\\xb5\\xf5\\x1a\\x7c\\xbb\\x89\\xf3\\xeb\\xe4\\xd7\\xbf\\xe0\\xfd\\x17\\x78\\xbd\\x81\\x6f\\x6f\\xe2\\xfb\\x5b\\xc4\\xe3\\x2d\\xfc\\x7e\\x9b\\x7c\\x7f\\x87\\xf7\\x77\\xd1\\xfb\\x1e\\x73\\xdf\\x63\\xbf\\x7d\\x1f\\x59\\x7b\\xf0\\x7d\\x0f\\xfc\\x1f\\xe0\\xeb\\x07\\xe8\\xff\\x00\\xec\\x3e\\x80\\xff\\x43\\xb0\\xff\\x10\\x9b\\x3f\\x24\\x07\\x3f\\x24\\x2e\\x1f\\x82\\xe1\\x87\\xe0\\xfb\\x21\\xfe\\x7c\\x08\\x3e\\x1f\\x62\\xcb\\x47\\xcc\\xf9\\x88\\xbc\\xfa\\x08\\x1b\\x3f\\xc2\\x86\\x8f\\xd0\\xf9\\x11\\xd8\\x7c\\x84\\xbc\\x8f\\xc0\\xe1\\x63\\xd6\\xc9\\xc7\\xe4\\xe1\\xc7\\xf8\\xf8\\x31\\xeb\\xe4\\x63\\x64\\xef\\x65\\xad\\xed\\xc5\\x86\\xbd\\xf8\\xbb\\x8f\\xb9\\xfb\\x90\\xbf\\x8f\\x79\\xfb\\x98\\xb7\\x8f\\x7c\\xfc\\x04\\xdb\\x3e\\x41\\xef\\xa7\\xe4\\xca\\x67\\xf0\\x7e\\x86\\x4f\\x9f\\x21\\xe3\\x33\\xf0\\xfe\\x0c\\x19\\xfb\\xf1\\xf7\\x73\\xe6\\x7c\\xce\\xfa\\xfa\\x1c\\x7b\\x3e\\xe7\\x5c\\xf8\\x1c\\x5b\\xf4\\x15\\xe2\\x0b\\xe6\\x7c\\xc1\\xdc\\x2f\\xf0\\xe3\\x0b\\xec\\xf9\\x02\\xb9\\x5f\\x32\\xef\\x00\\x7d\\x07\\xc0\\xe7\\x00\\x73\\x0e\\x80\\xf5\\x01\\xec\\xfb\\x8a\\x7c\\xfa\\x8a\\xfe\\xaf\\xc8\\x83\\xaf\\xe0\\xf9\\x0a\\xd9\\x5f\\x81\\xe7\\x57\\xc4\\xe4\\x20\\x72\\x0e\\x12\\xef\\x83\\x8c\\x1d\\x44\\xdf\\x41\\xb0\\x3b\\xc8\\xda\\x3f\\x48\\x5c\\x0f\\x81\\xef\\x21\\xf2\\xfe\\x10\\x58\\x1e\\x02\\x93\\x43\\x60\\x78\\x08\\x3c\\x0e\\x91\\x03\\x5f\\x83\\xd9\\xd7\\xe0\\xf9\\x35\\xb9\\xf3\\x35\\x31\\xfa\\x9a\\xf8\\x7f\\x4d\\x2c\\xbf\\xfe\\xc6\\xf9\\x6b\\x9d\\x72\\x18\\xb9\\x87\\xd1\\x79\\x18\\xfb\\x8e\\xe0\\xe7\\x11\\x6c\\x3f\\x82\\xed\\x47\\xc1\\xf1\\x28\\x36\\x1d\\xa7\\x3d\\x8e\\xfe\\x2a\\x70\\xfa\\x06\\x7c\\x4e\\xe0\\xff\\x09\\xfc\\x3f\\x81\\xff\\xdf\\x62\\xe3\\x77\\xd8\\xf2\\x1d\\x76\\x7e\\x87\\xae\\x93\\xe8\\x3a\\x09\\xee\\x27\\xc9\\xfb\\x93\\xac\\xbf\\x93\\xe4\\xdf\\x49\\xfa\\xbf\\xa7\\xff\\x7b\\x70\\xfd\\x9e\\x18\\xfe\\x1b\\x7b\\x7f\\x40\\xff\\x29\\x6c\\xfa\\x11\\xde\\x9f\\xe0\\xfd\\x99\\x58\\x9c\\x46\\xd6\\x69\\xb0\\x3b\\x43\\x1c\\xce\\xe2\\xe7\\x2f\\x39\\xc1\\x5f\\xc3\\xc0\\xcf\\xff\\xf0\\xfe\\x1b\\xef\\xe7\\x98\\x73\\x8e\\xf6\\x3c\\xfc\\x17\\x2a\\x03\\x7f\\x9f\\xc4\\xee\\xa6\\xff\\x75\\x18\\xe8\\x3c\\x35\\xf0\\x67\\xa2\\x8c\\xe5\\xa2\\xcc\\xf9\\xa2\\xac\\xd9\\xa2\\x5c\\x39\\xd0\\xaf\\xa2\\xdc\\x4f\\x88\\x0a\\x5b\\x24\\x2a\\xdc\\x82\\x4e\\x8b\\x8a\\xf8\\x52\\x54\\xe4\\x4e\\x51\\x35\\xca\\x45\\x45\\xd5\\x15\\x55\\xb3\\xa9\\xa8\\x5a\\x31\\x10\\x32\\x62\\x90\\x17\\x5b\\x1f\\xfa\\x40\\x54\\x1c\\x7c\\xf1\\x3b\\x44\\x25\\xc0\\x57\\xbb\\x0d\\x74\\x52\\x54\\x9d\\xf5\\xa2\\x12\\x8b\\x45\\xd5\\xa5\\xea\\xaf\\x8b\\xac\\x2b\\x90\\x79\\xc5\\x74\\x51\\xf5\\x90\\x53\\xef\\x4d\\x51\\x49\\xf9\\xa2\\xea\\x37\\x12\\xd5\\x80\\xfe\\x06\\xf0\\x37\\x84\\xc7\\xb3\\x5b\\x94\\x97\\x79\\xc9\\x8c\\x25\\x33\\x37\\x05\\x79\\xa9\\x9d\\x45\\x35\\x42\\x66\\x23\\x6c\\x4b\\x43\\x7f\\xda\\xbb\\xa2\\x1a\\x33\\xde\\x18\\x1b\\x9a\\x8c\\x82\\x90\\xd5\\x14\\x9b\\x9b\\xc1\\xd7\\x9c\\xf1\\xe6\\xd8\\xd1\\x02\\x9f\\x5a\\xe2\\x6b\\x4b\\x64\\xb6\\x5a\\x2d\\xaa\\x75\\x4b\\x51\\xe9\\xd8\\x9d\\xce\\x7b\\x9b\\x4d\\xa2\\xda\\x62\\x77\\x5b\\x74\\xb5\\xc3\\xff\\x0c\\x9e\\x33\\xd0\\xdf\\x1e\\x3f\\x3a\\x54\\x88\\xea\\xb8\\x41\\x54\\x27\\x6c\\xee\\x74\\x54\\x54\\xe7\\x95\\xa2\\x32\\x91\\x99\\xc9\\x78\\x17\\xe4\\x76\\x65\\xbc\\x1b\\x3e\\x74\\x03\\xab\\xee\\xd8\\xd1\\x83\\xe7\\x1e\\x60\\x99\\xf5\\x82\\x28\\x1f\\x7a\\xb8\\x5b\\xa8\\x6c\\x6c\\xee\\x55\\x29\\x2a\\x37\\x4a\\x54\\x5e\\xb8\\xa8\\xde\\xf8\\x9b\\x4f\\x5f\\x1f\\xfc\\xea\\x5b\\x2a\\xaa\\x1f\\xd7\\xb4\\xfe\\xed\\x21\\xe6\\x0d\\xd8\\x2c\\x6a\\x20\\xfa\\x06\\xf1\\x3e\\xe8\\x94\\xa8\\x02\\xf4\\x0d\\x66\\x7c\\x30\\xfe\\x0c\\x61\\xde\\x10\\x74\\x0c\\xc5\\xc6\\x42\\x6c\\x2c\\xc4\\x87\\x42\\x30\\x2f\\xec\\x0f\\xe1\\x77\\x21\\xba\\x0b\\x89\\x4d\\x11\\xf8\\x15\\x21\\x63\\x18\\x76\\x0e\\x03\\x83\\x61\\x60\\x33\\x6c\\x1d\\x44\\x4c\\x86\\xc3\\x3f\\xfc\\x3e\\x08\\x39\\xc5\\xcc\\x2f\\x01\\x93\\x11\\xe8\\x1a\\x51\\x06\\xc1\\x33\\x02\\xec\\x46\\xa2\\x6f\\x24\\x73\\x46\\x5e\\x0d\\xf1\\x3e\\x2a\\x01\\xc2\\x8f\\x51\\xcc\\x1b\\x85\\x4d\\xa3\\xd1\\x3d\\x9a\\x5c\\x19\\x8d\\xcf\\x63\\xb0\\x6b\\x0c\\x58\\x8c\\xe5\\x7d\\x1c\\xba\\xc7\\x23\\x73\\x3c\\xcf\\x13\\xc8\\x9f\\x09\\xc8\\x2b\\x43\\x7f\\x19\\x18\\x73\\x7f\\x51\\x13\\x77\\x89\\x9a\\x04\\x06\\x93\\x90\\x35\\x09\\xcc\\x27\\x81\\xe7\\x64\\x64\\x4d\\x06\\x03\\xee\\x32\\x6a\\xf2\\x37\\x10\\x32\\xcb\\xb1\\xa7\\x9c\\x78\\x71\\xaf\\x51\\xe5\\xe8\\x9b\\x82\\x6f\\x53\\x90\\x35\\x85\\xf1\\xa9\\xd8\\x3f\\x15\\x8c\\xa6\\x82\\xef\\x54\\xe4\\x4e\\x43\\xdf\\x34\\xe6\\x4f\\xc3\\x5f\\xee\\x3c\\x6a\\x3a\\xf2\\xa7\\xc3\\x3f\\x1d\\xdc\\xa6\\x13\\x9f\\xe9\\xcc\\x9f\\x81\\x3f\\x33\\xc8\\xab\\x19\\xf8\\x34\\x03\\xcc\\x67\\xe0\\xfb\\x4c\\xb0\\x99\\x09\\x8e\\x33\\x79\\x9e\\x05\\xae\\xdc\\x89\\xd4\\x2c\\x7c\\x99\\x45\\x4e\\xcd\\x22\\x8f\\x66\\x83\\xe5\\x6c\\xfc\\x99\\xcd\\xf3\\x1c\\x62\\x3f\\x07\\xfb\\xe7\\x80\\xc5\\x1c\\x74\\xce\\x05\\xb3\\xb9\\x05\\x10\\xb1\\x9f\\x0b\\xff\\x5c\\x74\\xcc\\x43\\xde\\x3c\\xfc\\x9a\\x87\\xde\\x79\\xf8\\x39\\x0f\\xdf\\xe6\\x63\\xdb\\x7c\\x30\\xe4\\x9e\\xa4\\x16\\x10\\xf7\\x05\\xd8\\xb9\\x00\\x3f\\x17\\x20\\xe3\\x4a\\xfc\\xb8\\x92\\xf7\\x2b\\xf1\\x6b\\x21\\xf6\\x2d\\x04\\xaf\\x85\\xcc\\x5d\\x88\\x0f\\x8b\\x90\\xb5\\x08\\x3b\\x17\\xa1\\x7f\\x11\\x31\\xbb\\x0a\\x7d\\x57\\x31\\x76\\x15\\xba\\xae\\x22\\x27\\xaf\\x02\\xa3\\xc5\\xe0\\xb6\\x18\\x9b\\x17\\x63\\xd7\\x62\\xf8\\x96\\xe0\\xdf\\x12\\xe4\\x2d\\x41\\xfe\\x12\\x64\\x5c\\x4d\\x0e\\x5c\\xcd\\x1a\\xb9\\x1a\\xf9\\x57\\xef\\x15\\xb5\\x14\\xdf\\x97\\x22\\x73\\x29\\x3e\\x2c\\xc5\\x27\\xee\\x4e\\x8a\\xbb\\x93\\x5a\\x76\\x48\\xd4\\x35\\xe4\\x69\\x05\\xfa\\x2b\\x18\\xaf\\x80\\x77\\x39\\x18\\x2e\\xc7\\xbe\\xe5\\xe0\\xb3\\x9c\\xf1\\x1b\\xd0\\x75\\x03\\x39\\x76\\x03\\xbe\\xdc\\xc0\\xf8\\x8d\\x8c\\xdf\\x08\\xff\\x8d\\xc8\\x5e\\x81\\x9c\\x15\\xe4\\xce\\x0a\\x7c\\x5c\\x89\\xce\\x95\\xf8\\xcc\\x3d\\x47\\xad\\xc4\\xa6\\x9b\\xe0\\xbb\\x09\\xec\\x6e\\x02\\x8f\\x55\\xf0\\xaf\\xda\\x28\\xba\\x38\\x53\\x37\\x13\\xdb\\x9b\\xf1\\x6b\\x35\\x18\\xaf\\x06\\xa7\\x35\\xc8\\x59\\x03\\x86\\xb7\\x60\\xff\\x2d\\xc4\\x75\\x2d\\xf3\\xd7\\xc1\\xbf\\x0e\\xbe\\x75\\xc8\\xb9\\x15\\x19\\xb7\\xa2\\xfb\\x56\\xfd\\x8c\\xfd\\xb7\\xe1\\xdf\\xed\\xe4\\xe2\\xed\\xcc\\xbd\\x1d\\x2c\\xd7\\x63\\xeb\\x7a\\x70\\x58\\x4f\\x2c\\xb9\\xc7\\xa8\\x3b\\xb1\\xe5\\x4e\\xec\\xbe\\x0b\\xcc\\xef\\x22\\xb6\\x77\\x81\\xe7\\x5d\\xe4\\xc2\\x06\\x70\\xe4\\x2e\\xa3\\x36\\x20\\x6f\\x03\\x3a\\xee\\xe6\\xf9\\x6e\\x9e\\xef\\xa1\\xff\\x1e\\x70\\xe3\\x9e\\xa2\\xee\\x61\\x0f\\xb8\\x17\\x7b\\xef\\x05\\xe7\\xfb\\xd0\\x7f\\x1f\\x31\\xbe\\x1f\\x6c\\xef\\x27\\x27\\xef\\xc7\\xa6\\x07\\xb0\\xf5\\x01\\xfc\\xe0\\xfe\\xa1\\x36\\x12\\x8f\\x8d\\xe8\\x79\\x88\\xf5\\xf1\\x10\\x36\\x3c\\x04\\x0e\\x0f\\x81\\xe5\\x43\\xf8\\xf0\\x10\\xb9\\xfa\\x30\\x3e\\x3d\\xc2\\xf8\\x26\\xfa\\xfe\\x46\\x6e\\x3d\\xca\\xf8\\x63\\xac\\x87\\xcd\\xe0\\xc4\\x9d\\x43\\xfd\\x1d\\x99\\x7f\\xc7\\x97\\xc7\\x91\\xb9\\x85\\xe7\\x2d\\xc8\\x7f\\x02\\x3f\\x9f\\x80\\xff\\x49\\xb0\\x78\\x0a\\xbe\\xa7\\xf0\\x65\\x2b\\xd8\\x6f\\xc5\\xcf\\x4a\\xf8\\xb6\\x21\\x63\\x3b\\x7b\\xc7\\x3f\\xb0\\x7b\\x07\\xbe\\xed\\xd0\\x2d\\xef\\x3b\\x18\\xdb\\x01\\x3e\\xcf\\x60\\xf3\\x3f\\xd1\\xb1\\x13\\x79\\x3b\\x99\\xf3\\x2c\\x3c\\xcf\\x62\\x1b\\xf7\\x10\\xf5\\x1c\\xef\\x2f\\xc0\\xff\\x02\\xf1\\x7f\\x11\\x7f\\x5f\\x02\\x83\\x97\\xb0\\xf1\\x65\\xd6\\xce\\x2e\\xb0\\xd8\\xc5\\xfc\\x57\\xc0\\xec\\x15\\xfc\\x7f\\x15\\x39\\xaf\\xf1\\xbe\\x1b\\x3f\\x5e\\xc7\\x9f\\x7f\\x81\\xc3\\x1b\\xd8\\xf5\\x26\\x79\\xf8\\x16\\x79\\xf3\\x36\\x38\\xbf\\x83\\x7d\\xef\\x30\\xfe\\x2e\\xf4\\x1e\\xbc\\xef\\x33\\xbe\\x87\\xfe\\x0f\\xd0\\xf9\\x01\\x7b\\xc2\\x87\\xc8\\xe0\\x9e\\xa1\\x3e\\xc4\\xb6\\x8f\\xb0\\x87\\x7b\\x84\\xfa\\x08\\xde\\x8f\\xc8\\xdf\\x8f\\xe9\\xdb\\x8b\\x9c\\x7d\\x60\\xbf\\x0f\\x8c\\x3e\\x81\\xef\\x13\\x7c\\xfd\\x84\\xe7\\x4f\\x91\\xfb\\x29\\x3e\\x7c\\x86\\x5f\\x9f\\x61\\xdb\\x7e\\x30\\xd9\\x8f\\xec\\xfd\\xc4\\x7c\\x3f\\x71\\xd9\\x0f\\xcf\\xe7\\xf8\\xf0\\x25\\x71\\x39\\x80\\x3f\\x07\\xd0\\x73\\x80\\xdc\\x3d\\x40\\xec\\xbe\\x42\\xee\\x57\\xc4\\xe7\\x20\\x73\\x0e\\x32\\xe7\\x20\\x73\\x38\\xdb\\xd5\\x21\\x72\\xed\\x6b\\x9e\\x0f\\x93\\x27\\x47\\xd0\\x7b\\x04\\x3f\\x8e\\xd2\\x77\\x0c\\xbb\\x8e\\x81\\xfb\\x31\\xd6\\xd2\\x31\\xb0\\x3d\\x46\\xce\\x1f\\x83\\xe7\\x18\\xf2\\x8e\\x81\\xd1\\x71\\x64\\x70\\x7e\\xab\\x2a\\x72\\xed\\x1b\\xde\\x4f\\x20\\x9f\\xb3\\x5b\\x7d\\x87\\x0e\\xce\\x6a\\xf5\\x3d\\xe3\\xff\\x66\\x6d\\xfd\\xc0\\x1a\\x39\\x45\\xee\\xff\\x88\\xef\\x3f\\x92\\x6f\\x3f\\x62\\xdf\\x4f\\xd0\\xcf\\xcc\\x3d\\xcd\\x9c\\xd3\\xf0\\x9f\\xc5\\xd6\\x5f\\xc0\\xf9\\x17\\xdd\\xe2\\xdb\\xaf\\xf0\\xff\\x0a\\x26\\xff\\x21\\x17\\x7e\\x43\\xff\\x6f\\xe8\\xff\\x0d\\xfd\\xbf\\xa1\\xff\\x37\\xf4\\xff\\x86\\xbe\\xdf\\x18\\x3b\\x87\\x9c\\xf3\\xc4\\xef\\x3c\\xbe\\x5f\\x60\\xcc\\x0f\\x26\\xf6\\x2e\\x31\\x64\\xb9\\x18\\xaa\\x54\\x0c\\x23\\x0a\\x3a\\x2a\\x86\\xb9\\x5b\\x0c\\x6b\\x1d\\x54\\x09\\x7d\\x26\\x86\\xeb\\xbc\\x18\\xee\\x72\\x31\\xc2\\xfa\\x43\\xa3\\xa0\\xe9\\xd0\\x7a\\x68\\x93\\x18\\xe1\\x50\\x04\\xcf\\x91\\xab\\xa1\\x1d\\xd0\\x5e\\xe8\\x57\\x31\\x6a\\x7c\\x20\\x46\\x14\\x6d\\xcd\\x17\\xc4\\xa8\\x85\\x9c\\x68\\x78\\x62\\xde\\x14\\x23\\x96\\xf7\\x38\\xe6\\xc4\\xa3\\x33\\x01\\x9e\\x3a\\x02\\x9d\\x16\\x23\\x11\\x9d\\x57\\xa0\\x9f\\x33\\xdc\\x48\\x62\\xac\\x01\\xcf\\x9c\\xdd\\x46\\xc3\\xcd\\x62\\x50\\xef\\x1b\\x5e\\xfa\\x92\\xeb\\x43\\xf7\\x41\\xd8\\x9c\\x8c\\x9d\\xa9\\x09\\x62\\x70\\x7e\\x1b\\x69\\xf4\\xa7\\xa1\\xab\\xc9\\x06\\x31\\x9a\\x79\\xa1\\x1c\\x08\\x3b\\x9b\\x87\\x43\\xcc\\x6d\\x51\\x0c\\xe9\\x16\\x3f\\x5a\\xfa\\x20\\x64\\xb5\\xfc\\x52\\x8c\\xd6\\xb3\\xc5\\x68\\xd3\\x4d\\x8c\\xb6\\x8c\\xb7\\x83\\x3f\\x23\\x06\\xc2\\x8e\\xf6\\xe8\\xec\\x80\\xcd\\x1d\\x91\\xdd\\x71\\xa3\\x18\\x9d\\x0a\\xc4\\xe8\\xdc\\x52\\x8c\\x4c\\xa8\\x0b\\xf6\\x76\\x6d\\x2f\\x46\\xb7\\x95\\x62\\x74\\x47\\x5f\\x0f\\xf8\\xb2\\x2a\\xc4\\xf0\\x31\\xd6\\x13\\xdd\\x3d\\xbf\\x11\\x23\\x1b\\xd9\\xbd\\xd0\\x97\\x03\\x26\\xb9\\xe8\\xcb\\xc3\\xce\\x3c\\xf8\\x7a\\x83\\x01\\xb5\\xbf\\xd1\\x07\\x1c\\x39\\xaf\\x8d\\x7e\\xc8\\xe8\\x4f\\xdf\\x80\\x45\\x62\\x0c\\xc4\\xe6\\x81\\xf8\\x34\\xe8\\x10\\x74\\x4a\\x8c\\x02\\xfa\\x07\\x63\\xd3\\x90\\xa6\\x62\\x0c\\x05\\x8b\\xa1\\xc4\\xa1\\x10\\x19\\x45\\xd8\\x33\\x0c\\xfb\\x87\\x23\\xa7\\x18\\xdb\\x4b\\x18\\x2f\\xc1\\xf7\\x11\\xf8\\x3a\\x02\\xff\\x46\\x32\\x7f\\x14\\x36\\x8c\\x46\\xd6\\x68\\x70\\x1d\\x03\\x9e\\x63\\xe0\\x1b\\x8b\\x0f\\xa5\\x9d\\xc5\\x18\\x87\\xac\\x71\\xf8\\x38\\x9e\\x58\\x4d\\x28\\x13\\xa3\\x0c\\x39\\x65\\xf0\\x4e\\xa4\\x6f\\xd2\\xd5\\x62\\x4c\\xc6\\xb6\\x72\\xfc\\x28\\xc7\\xf7\\xf2\\x42\\x08\\xdb\\xca\\xc1\\xbc\\x1c\\xcc\\xcb\\x89\\x57\\x39\\xf2\\xa7\\x58\\x10\\x7a\\xa7\\x20\\x6f\\x4a\\x3e\\x44\\x3e\\x70\\xae\\x1a\\x53\\x90\\x39\\x05\\x3b\\xa7\\x60\\xc7\\x54\\x64\\x4c\\x05\\x87\\xa9\\xc4\\x70\\x1a\\xb8\\x4e\\x03\\xb3\\x69\\xe0\\x3c\\x0d\\x1d\\xd3\\xf0\\x61\\x1a\\xfa\\xa6\\x83\\xcf\\x0c\\xf4\\xcf\\xc0\\x8e\\x19\\x60\\x31\\x03\\xcc\\x66\\xa0\\x63\\x06\\x76\\xcf\\xc4\\xce\\x99\\xd8\\x30\\x13\\x1b\\x66\\x62\\xc3\\x4c\\xe4\\xcf\\x44\\xfe\\x4c\\xe4\\xcf\\x82\\x7f\\x36\\x31\\x9f\\xcd\\xdc\\xd9\\x3c\\xcf\\x81\\x67\\x2e\\xb1\\x9c\\x87\\xec\\xf9\\xf3\\xc5\\x58\\x40\\x7b\\x25\\xf9\\xba\\x10\\xdc\\x17\\x36\\x12\\x63\\x11\\xb6\\x70\\xf6\\x19\\x8b\\xb1\\x7b\\x31\\xbe\\x2e\\xc1\\x97\\xab\\xb1\\x61\\x29\\xfa\\x97\\x31\\xff\\x1a\\xe6\\x57\\x60\\x63\\xc5\\xbb\\x62\\x5c\\x4b\\x2c\\xaf\\x03\\xaf\\xeb\\xc1\\xfe\\x7a\\xfc\\x5a\\x8e\\x7f\\xd4\\xee\\xc6\\x0d\\x60\\x7a\\x03\\x38\\xdf\\x08\\xce\\xd4\\xec\\xc6\\x8d\\xf8\\xcf\\xb9\\x65\\xac\\x40\\x3e\\xe7\\x96\\xb1\\x02\\xbb\\x57\\x22\\x67\\x25\\x32\\x57\\x62\\xe7\\x4d\\xc4\\xf3\\x26\\x64\\xdd\\x44\\xcc\\x56\\x61\\x07\\xe7\\x96\\xb1\\x0a\\x3f\\x56\\xc1\\x77\\x33\\x79\\xb3\\x1a\\x39\\xab\\x99\\xb7\\x1a\\x9d\\xab\\xc1\\x8b\\xda\\xdc\\x58\\x83\\xce\\x35\\xac\\x8d\\x35\\xe0\\x76\\x0b\\x3a\\x6e\\x01\\x93\\x5b\\xc8\\x85\\xb5\\xe8\\xa0\\x46\\x37\\xd6\\xa2\\x6f\\x1d\\x7e\\xaf\\xc3\\xc7\\x75\\xc4\\xe1\\x56\\xd6\\xd2\\x6d\\x60\\xc0\\x39\\x66\\xdc\\x0e\\x5e\\xb7\\xe3\\xf3\\xed\\xc8\\x5a\\x0f\\xff\\x7a\\x64\\xad\\x47\\x0f\\x67\\x99\\x71\\x07\\xcf\\xd4\\xe2\\xc6\\x1d\\x3b\\x21\\x64\\xdf\\x09\\xef\\x9d\\xc4\\xee\\x4e\\x30\\xbb\\x13\\x7d\\x77\\x91\\xd3\\x77\\x11\\x9f\\xbb\\x98\\xcf\\xf5\\xdf\\xd8\\xc0\\xd8\\xdd\\x9a\\x88\\xd1\\x3d\\x60\\x79\\x2f\\xf6\\x53\\x6f\\x1b\\xf7\\xa1\\x97\\x7a\\xdb\\xb8\\x1f\\x1f\\x1e\\x40\\xee\\x83\\xf8\\xf4\\x20\\x6b\\x7a\\x23\\x18\\x3d\\x84\\x5d\\x0f\\xf1\\xfc\\x30\\xd8\\x3e\\x82\\xbe\\x47\\x88\\xe1\\x26\\xf4\\xff\\x8d\\xdc\\xa1\\x4e\\x36\\x1e\\x43\\xf6\\x66\\xf0\\xf9\\x3b\\x7e\\x3c\\x8e\\xec\\xc7\\x89\\xf5\\x16\\x62\\x41\\x7d\\x6c\\x3c\\x81\\xbc\\x27\\xc0\\xf7\\x49\\x74\\x3f\\x09\\xcf\\x93\\xd8\\xf8\\x14\\x7a\\xb7\\x62\\x73\\x25\\x7c\\xdb\\xc0\\x61\\x3b\\xf2\\xb7\\x23\\xeb\\x1f\\xe4\\xf1\\x0e\\x9e\\x77\\xb0\\xde\\x76\\xb0\\x4e\\x9f\\xc6\\xb6\\xa7\\xf1\\xf7\\x69\\x6c\\x7d\\x9a\\xbd\\xe7\\x69\\x64\\x3e\\x8d\\xee\\x67\\x98\\xf3\\x4f\\xfc\\xa4\\x86\\x36\\x76\\x62\\xf7\\xb3\\xac\\x99\\xe7\\x88\\xe7\\x73\\xe8\\x7a\\x1e\\x5f\\x9f\\xc7\\xd6\\x17\\x88\\x15\\x75\\xb4\\xf1\\x22\\xfa\\x5e\\x22\\x56\\x2f\\x13\\xe7\\x5d\\xe0\\xbe\\x0b\\x0c\\xa9\\xa3\\x8d\\x57\\xd0\\xf3\\x0a\\x7a\\x5e\\x61\\xfc\\x55\\xe2\\xf8\\x1a\\x78\\xbd\\x86\\xdf\\xbb\\xf1\\x9b\\xba\\xda\\xd8\\x4d\\xfc\\x5e\\xc7\\x9e\\xd7\\x59\\xcb\\xaf\\xa3\\xf3\\x5f\\xf8\\xf0\\x06\\xf6\\x72\\xb6\\x19\\x6f\\x31\\xff\\x2d\\xf2\\xe0\\x6d\\x78\\x38\\xdf\\x8c\\x77\\xc0\\xe5\\x5d\\xe4\\xbf\\x4b\\x0c\\xdf\\x03\\xaf\\xf7\\x18\\x7b\\x9f\\x79\\xef\\xa3\\x6b\\x0f\\x71\\xfc\\x80\\x9c\\xfb\\x10\\xdd\\x1f\\xe2\\xd3\\x47\\xe0\\xf7\\x11\\xf1\\xfd\\x18\\x0c\\xa8\\x8b\\x8d\\xbd\\xf0\\xee\\xc3\\x4e\\xea\\x60\\x83\\x73\\xcd\\xf8\\x14\\x7f\\x3e\\x43\\xd6\\x67\\x60\\xb7\\x1f\\xfd\\x9f\\x93\\xbb\\x9f\\x23\\xff\\x0b\\xfa\\xbf\\x80\\xe7\\x4b\\xe6\\x1d\\x40\\xc6\\x57\\xf4\\x53\\xc3\\x1a\\x07\\x89\\xd9\\x41\\xec\\x38\\x08\\xcf\\x21\\x78\\x0e\\xa1\\xf3\\x6b\\xfa\\x0f\\x83\\xdb\\x11\\x30\\x3f\\x82\\x5f\\x47\\xc9\\xe7\\xa3\\xcc\\xe5\\xcc\\x32\\x8e\\x93\\x53\\xc7\\x89\\x77\\x15\\x7a\\xbf\\x81\\xe7\\x1b\\x30\\x3c\\xc1\\xf8\\x09\\xda\\x6f\\x91\\xfb\\x2d\\x63\\xd4\\x9b\\xc6\\x49\\x64\\x7e\\x8f\\xcd\\xff\\x26\\x9e\\x3f\\x40\\xa7\\xb0\\xe5\\x47\\xfc\\xf8\\x89\\x9c\\xfa\\x19\\xbc\\x4e\\x83\\xd5\\x19\\x9e\\xcf\\xe2\\xe7\\x2f\\xc4\\xfd\\x57\\x70\\xfb\\x0f\\xd8\\xff\\x86\\x3d\\x9c\\x47\\xc6\\x39\\xb0\\xb8\\x80\\x8d\\x17\\x90\\xe5\\x67\\xdc\\x2e\\x13\\x53\\x0a\\xc5\\x54\\xeb\\xc4\\x34\\x56\\x8a\\x69\\x2e\\x17\\xd3\\xea\\x2f\\xa6\\x8b\\x96\\xf3\\xc7\\x74\\x9f\\x16\\x33\\xbc\\x3e\\xf4\\xab\\x98\\x91\\x51\\xd0\\x9b\\x62\\xd6\\xd8\\x2d\\x66\\xd4\\x2e\\x31\\x6b\\xae\\x16\\xb3\\xd6\\x06\\x31\\xa3\\x4b\\xc5\\x8c\\x61\\x4e\\xac\\x4f\\xcc\\xb8\\x7c\\x31\\xe3\\x69\\x13\\x66\\x8b\\x59\\x7b\\xa3\\x98\\x75\\x9e\\x10\\x33\\x91\\xe7\\xba\\x9d\\xc5\\xbc\\x22\\x06\\x42\\x4e\\xbd\\x53\\x62\\x26\\xa1\\xab\\xbe\\x05\\x7d\\x20\\x66\\x03\\xf8\\x1a\\x62\\x43\\xc3\\x43\\x62\\x7a\\xe8\\xf7\\x22\\xc3\\xcb\\x73\\x32\\x36\\x24\\xa3\\x3f\\x85\\xb1\\x94\\xa3\\x62\\xa6\\x22\\xab\\x91\\x17\\xba\\x4f\\xcc\\x34\\x81\\xce\\x8b\\xd9\\xf8\\x33\\x31\\x9b\\xac\\x17\\xb3\\x69\\x01\\xc4\\x7b\\x33\\xe6\\x37\\x47\\x5f\\x0b\\xec\\x69\\xf1\\xa5\\x98\\x2d\\x91\\xdd\\x0a\\x3f\\x5a\\xe7\\x40\\xbc\\xa7\\x23\\xb3\\x0d\\x7a\\xdb\\xd0\\xb6\\xed\\x26\\x66\\xbb\\x70\\x68\\xb3\\x98\\x19\\x8c\\x67\\xbc\\x20\\x66\\xfb\\xf6\\x10\\x6d\\x07\\x7c\\xee\\x80\\xde\\x0e\\xf8\\xd8\\x01\\x7f\\x3b\\x20\\xbb\\x23\\x76\\x75\\x04\\xa7\\x8e\\xd8\\xd6\\x09\\x5f\\x3a\\x21\\xb7\\x53\\x05\\x04\\x06\\x9d\\x98\\xd3\\x69\\x2f\\x74\\x52\\xcc\\xce\\xc8\\xef\\xcc\\xfc\\xce\\xc8\\xea\\x0c\\x36\\x9d\\xe1\\xe9\\xbc\\x09\\x82\\xa7\\x33\\x36\\x64\\xa2\\x33\\x13\\x3f\\x32\\xc1\\x24\\x13\\xbb\\x33\\x91\\x93\\x09\\x4f\\x26\\x72\\x32\\xe1\\xc9\\xc4\\xd7\\x2e\\xf0\\x74\\x69\\x03\\xa1\\xb3\\x0b\\x32\\xba\\x2c\\x82\\xd0\\x4d\\xdd\\x6a\\x76\\x41\\x4f\\x17\\x70\\xec\\xca\\xfc\\xae\\xa3\\x20\\xe6\\x76\\x45\\x7e\\x57\\x62\\xd3\\x15\\xdb\\xba\\x32\\xd6\\x0d\\xfd\\xdd\\x88\\x43\\x77\\xe6\\xf6\\x80\\xa7\\xc7\\x7c\\x08\\x5f\\x7a\\xc0\\xd7\\x03\\x1d\\x3d\\xd0\\x91\\x85\\x0f\\x59\\xd8\\x98\\x55\\x0c\\x81\\x59\\x16\\xd8\\x65\\x81\\x57\\xd6\\x4e\\x88\\xb8\\x64\\x7d\\x23\\xa6\\x0f\\x3b\\x7c\\x4d\\x21\\x64\\xf9\\xe0\\xf3\\xc1\\xe7\\x83\\xcf\\x47\\x2c\\x7c\\xf0\\xf8\\x88\\x4f\\xcf\\xba\\x10\\xb6\\xf6\\xc4\\xd6\\x9e\\xd3\\x21\\xec\\xec\\x09\\xa6\\x3d\\xc9\\x91\\x9e\\xc4\\xa7\\x27\\xf1\\xce\\x46\\x4e\\x36\\x3e\\x67\\x83\\x73\\x36\\x39\\x97\\x8d\\x2d\\xd9\\x8c\\x65\\x83\\x6b\\x2f\\xe6\\xf6\\x02\\xeb\\x5e\\xc8\\xe5\\x0c\\x37\\x7b\\x21\\xb7\\x17\\x72\\x73\\x90\\x9b\\x43\\x8c\\x72\\xb0\\x3f\\x07\\xfb\\x39\\xdb\\xcd\\x1c\\xc6\\x73\\xde\\x85\\xb0\\x3f\\x87\\xb9\\xb9\\xc8\\xe4\\xbc\\x37\\x73\\xb1\\x2d\\x17\\xdb\\x72\\xc9\\x85\\x5c\\xec\\xcf\\x05\\xe7\\x3c\\x72\\x24\\x8f\\xf1\\x3c\\xc6\\xf3\\xd0\\x99\\x77\\x35\\xc4\\x78\\x1e\\x32\\xf2\\x88\\x69\\x9e\\xe6\\x41\\x4f\\x6f\\xf2\\xba\\x77\\x23\\x08\\x5d\\xbd\\xb1\\xa3\\x37\\x3e\\xf4\\x26\\x3f\\x7a\\x93\\x67\\xbd\\xf1\\xa1\\x37\\x98\\xe6\\x63\\x7f\\x3e\\xb1\\xca\\xc7\\x8e\\x7c\\xe2\\x94\\x5f\\x09\\x81\\x77\\x3e\\x58\\xf7\\x41\\x47\\x1f\\xc6\\xfa\\x10\\xa3\\x3e\\xc8\\xee\\x43\\x7c\\xfa\\xd0\\xdf\\x97\\x18\\xf4\\x05\\xdf\\xbe\\xe4\\x62\\x5f\\x6c\\xeb\\x0b\\x2e\\x7d\\x89\\x5f\\x5f\\xc6\\xfb\\x32\\xde\\x0f\\xfc\\xfb\\x31\\xde\\x0f\\x9d\\xfd\\xd0\\xd9\\x0f\\x9d\\xfd\\xd0\\xd9\\x0f\\x9e\\x7e\\xf8\\xd8\\x0f\\x1f\\xfb\\xa3\\xb7\\x3f\\xf2\\xfb\\x83\\x5b\\x7f\\xf2\\x64\\x00\\xed\\x00\\xf0\\x18\\x80\\x1d\\x03\\xb0\\x63\\x00\\xb1\\x1c\\x80\\x7d\\x03\\xc9\\xb9\\x81\\xc4\\x69\\x20\\xba\\x06\\xa2\\x6b\\x20\\x7e\\x0e\\x04\\x87\\x81\\xf8\\x38\\x08\\x19\\x83\\x18\\x1b\\xc4\\xd8\\x20\\xc6\\x06\\x31\\x36\\x88\\xb1\\x41\\x8c\\x15\\x80\\x51\\x01\\xbe\\x17\\x10\\xbb\\x02\\x64\\x72\\x07\\x32\\x0b\\xf0\\xa1\\x00\\x7c\\x0a\\x88\\xff\\x60\\xb0\\x19\\x4c\\x7c\\x06\\x63\\xe3\\x60\\xfc\\x1b\\x8c\\x7d\\x83\\xc1\\x64\\x30\\xb6\\x0d\\x41\\xee\\x90\\x96\\x10\\xbe\\x0f\\x61\\xee\\x10\\x72\\x67\\x08\\x63\\x43\\x18\\x1b\\xca\\xd8\\x50\\xec\\x1e\\x4a\\x8e\\x0e\\x65\\x7c\\x28\\xb6\\x0f\\x25\\x7e\\x43\\xc1\\x6d\\x28\\xfe\\x0f\\xc5\\xff\\x42\\xf0\\x29\\x24\\x36\\x85\\xc4\\xa6\\x90\\xd8\\x17\\xa2\\xb7\\x90\\xd8\\x17\\x12\\xd7\\x22\\xc6\\x8a\\x18\\x2b\\x22\\xae\\x45\\xc4\\xad\\x08\\xbb\\x8a\\xb0\\xb9\\x88\\xf1\\x22\\x62\\x36\\x0c\\xbb\\x86\\x61\\xf7\\x30\\x62\\x36\\x0c\\xdb\\x86\\x81\\xdf\\x30\\xf0\\x1d\\x06\\x76\\xc3\\xc8\\xab\\x61\\xe4\\xdc\\xf0\\x04\\x08\\xfb\\x86\\xa3\\x7f\\x38\\xfa\\x87\\xa3\\x7f\\x38\\xf9\\x3f\\x1c\\xcc\\x86\\x63\\x43\\x31\\x98\\x15\\x83\\x4b\\x31\\x7a\\x8a\\xd1\\x53\\x8c\\x9e\\x62\\x7c\\x28\\xc6\\xf7\\x62\\x7c\\x2f\\x41\\x47\\x09\\xbe\\x97\\x20\\xbf\\x04\\xdf\\x4b\\xf0\\xbd\\x04\\xff\\x4a\\xf0\\x8f\\xbb\\x9f\\x39\\x02\\xd9\\x23\\xc0\\x74\\x04\\x98\\x8e\\xc0\\xbe\\x11\\xd8\\x37\\x02\\x4c\\x47\\x82\\xe9\\x48\\x6c\\x1b\\x09\\xa6\\x23\\xb1\\x6b\\x24\\x76\\x8d\\xc4\\xae\\x91\\xd8\\x35\\x12\\xdf\\x46\\x81\\xcb\\x28\\xe2\\x38\\x8a\\xb1\\x51\\xcc\\x1b\\x85\\x3d\\xa3\\x90\\x39\\x1a\\x99\\xa3\\x91\\x39\\x1a\\x7b\\x47\\x83\\xe7\\x68\\xe2\\x3b\\x9a\\xb1\\xd1\\xc4\\x77\\x0c\\xb6\\x8e\\xc1\\xd6\\x31\\xe8\\x1b\\xc3\\xd8\\x18\\x6c\\x19\\x83\\x9d\\x63\\xd8\\x6f\\xc6\\xe2\\xe7\\x58\\x70\\x18\\x4b\\x5e\\x8c\\xc5\\x87\\xb1\\xf8\\x30\\x96\\xb1\\xb1\\xf8\\x50\\x8a\\x0f\\xa5\\xf8\\x50\\x8a\\x0f\\xa5\\xf8\\x50\\xca\\xbc\\x52\\xc6\\x4a\\x99\\x37\\x8e\\x79\\xe3\\x98\\x37\\x0e\\xfc\\xc7\\x81\\xcd\\x38\\x62\\x33\\x0e\\x5c\\xc6\\x11\\x9b\\xf1\\xe0\\x3f\\x1e\\x5c\\xc6\\x33\\x36\\x9e\\xd8\\x8c\\x27\\x36\\xe3\\x19\\x1b\\x8f\\xfd\\x13\\xf0\\x6d\\x02\\x76\\x4c\\xc0\\xfe\\x09\\xf8\\x36\\x01\\xdf\\x26\\xe0\\xdb\\x04\\xc6\\xca\\xf0\\xad\\x0c\\xdf\\xca\\xc0\\xbb\\x0c\\x99\\x65\\x8c\\x95\\x81\\xc9\\x44\\xec\\x9f\\x88\\xfd\\x13\\x99\\x37\\x11\\xbc\\x26\\xe2\\xf7\\x44\\xf0\\x9a\\xc8\\xd8\\x24\\xf0\\x9a\\x84\\xcc\\x49\\xe0\\x35\\x09\\x99\\x93\\x18\\x9b\\x84\\xdf\\x93\\xc0\\x64\\x32\\xf6\\x4f\\x66\\x8d\\x4c\\xc6\\xb7\\xc9\\xec\\x73\\x93\\x89\\xdf\\x64\\xd6\\xdd\\x64\\xec\\x2f\\x67\\xfd\\x94\\x33\\xc6\\x9d\\xd9\\x2c\\x07\\x93\\x72\\xf0\\x2a\\x67\\x5e\\x39\\x32\\xa7\\x20\\x73\\x0a\\x32\\xb9\\x2b\\x9b\\x53\\xb0\\x65\\x0a\\x3e\\x4c\\x61\\x4f\\x9a\\xc2\\xdc\\x29\\xe0\\x32\\x15\\xac\\xa7\\x62\\xcf\\x54\\xc6\\xa7\\x32\\x77\\x2a\\xb8\\x4c\\x65\\x6c\\x2a\\xb9\\x35\\x0d\\x1f\\xa6\\x61\\xe7\\x34\\xf0\\x9a\\x86\\x3e\\xee\\xcd\\xe6\\x34\\x6c\\x99\\x8e\\x0f\\xd3\\x19\\x9b\\x0e\\x2e\\xd3\\xb1\\x67\\x3a\\x58\\x4f\\x47\\xe7\\x74\\xc6\\xa7\\x93\\x6f\\x33\\x18\\x9b\\x41\\xec\\x66\\x60\\xe7\\x0c\\xb0\\x9c\\x41\\xdc\\x66\\x62\\x23\\x77\\x6a\\x73\\x26\\xfd\\x33\\xf1\\x9b\\x3b\\xb5\\x39\\x93\\xb1\\x99\\xe4\\xf1\\x4c\\xe6\\xcc\\x62\\x7c\\x16\\x31\\x98\\x85\\x8d\\xb3\\x90\\x35\\x0b\\x1b\\x66\\x81\\xff\\x6c\\x6c\\x9b\\x4d\\x4e\\xce\\xc6\\xee\\xd9\\x60\\x3f\\x1b\\xfe\\xd9\\xf0\\xcf\\xc1\\xee\\x39\\x8c\\xcd\\xc1\\xbe\\x39\\x60\\x35\\x07\\x79\\x73\\xc0\\x78\\x0e\\xf8\\xcf\\x61\\xde\\x5c\\xe4\\x71\\x2f\\x37\\xe7\\xb2\\x7f\\xcc\\x23\\x86\\xf3\\xc8\\xa7\\xf9\\x60\\x31\\x1f\\xdb\\xe6\\xb3\\x16\\xe7\\x23\\x73\\x3e\\x76\\xcf\\xc7\\xdf\\xf9\\xe4\\xf2\\x7c\\xfc\\x5a\\x80\\xcc\\x05\\xf0\\x2d\\x20\\x6e\\x0b\\xe8\\xbb\\x12\\x7b\\xae\\x04\\xdf\\x85\\x60\\xbf\\x90\\xfe\\x85\\xe0\\xbb\\x90\\x39\\x0b\\x99\\xb3\\x90\\xf1\\x85\\xcc\\x59\\xc4\\x9c\\x45\\x8c\\x2d\\xc2\\xaf\\x45\\xe8\\xba\\x0a\\x1c\\xaf\\x42\\xff\\x62\\xf6\\xec\\xc5\\xe8\\x59\\x0c\\x3e\\x8b\\xc1\\x61\\x31\\xf8\\x2d\\xc6\\xa7\\xc5\\xc8\\x5b\\x42\\xbe\\x2d\\x61\\x6c\\x09\\x63\\x4b\\x18\\x5b\\xc2\\xd8\\x12\\xc6\\xae\\xe6\\xfd\\x6a\\x7c\\x5b\\x0a\\x4e\\x4b\\x91\\xb7\\x14\\x2c\\x96\\xe2\\xf7\\x52\\xfc\\x5e\\x8a\\xec\\xa5\\x8c\\x2d\\x63\\xee\\x32\\xe6\\x2e\\x83\\x77\\x19\\xf1\\x5a\\x86\\xcf\\xd7\\xc4\\xfc\\x3f\\x20\\x7c\\xbb\\x86\\x3c\\xa8\\xc0\\xb7\\x0a\\xf0\\xab\\xc0\\xaf\\x0a\\xe2\\x51\\x81\\x4f\\xd7\\x62\\xfb\\xb5\\x60\\x7b\\x2d\\xf1\\xbd\\x96\\x35\\x74\\x1d\\xb8\\x5d\\x87\\xbe\\xeb\\xc8\\xd3\\xeb\\x39\\x47\\x97\\xe3\\xf3\\x72\\x6c\\xba\\x81\\x9c\\xbb\\x01\\xbb\\x6f\\x04\\x8b\\x1b\\xc9\\xf9\\x15\\xf8\\xb1\\x82\\x9c\\x5b\\x89\\x8d\\x2b\\xc1\\x97\\x5a\\xc4\\xbc\\x89\\xe7\\x9b\\xc8\\xbf\\xd5\\xc4\\x69\\x35\\xfb\\xfa\\x6a\\x72\\x61\\x0d\\xf2\\xd6\\x30\\xbe\\x06\\x19\\x6b\\xc8\\x99\\x35\\xe4\\xda\\x2d\\xf0\\xdc\\xc2\\xd8\\x5a\\xfc\\x5e\\xcb\\xbc\\xb5\\xe0\\xb4\\x0e\\x1c\\xd6\\x91\\x0b\\xeb\\xc0\\xf3\\x56\\xda\\xdb\\x88\\xcb\\x6d\\xd8\\x7c\\x3b\\x72\\xd6\\x63\\xdb\\x7a\\x62\\x7d\\x07\\x31\\xbe\\x83\\x79\\x77\\x62\\xe7\\x5d\\xe0\\xb2\\x81\\x18\\xdd\\x8d\\xdc\\x7b\\xb0\\xf5\\x5e\\x64\\xdc\\x8f\\xae\\x07\\x90\\xfd\\x20\\x73\\x1e\\x82\\xf7\\x21\\xf0\\x7c\\x18\\x79\\x9b\\xb0\\xeb\\x6f\\xc4\\xed\\x51\\xf0\\x7f\\x0c\\xdf\\x37\\x33\\x46\\x6d\\x60\\x6e\\x21\\x7e\\x4f\\x10\\xdf\\x27\\x91\\xf1\\x14\\xb9\\x56\\xc9\\xdc\\x6d\\xe4\\xcc\\x36\\x7c\\xfd\\x07\\xfe\\xed\\x60\\x4d\\x3e\\x4d\\x2c\\x9e\\x61\\xed\\x3c\\x0b\\x26\\xcf\\x41\\xcf\\x83\\xd5\\x0b\\xcc\\x7f\\x11\\x79\\x2f\\xe2\\xd7\\x8b\\xe8\\x7a\\x11\\xbf\\x5e\\x02\\xdb\\x97\\xb0\\xe7\\x25\\xf6\\x8b\\x97\\xc0\\xf5\\x65\\xe4\\xbf\\xcc\\xfc\\x97\\x99\\xbb\\x0b\\x5f\\x76\\x81\\xdb\\x2b\\xf8\\xfb\\x0a\\xf6\\xbc\\x0a\\x8e\\xaf\\xe1\\xef\\x6b\\xf8\\xbe\\x1b\\x19\\xbb\\xb1\\x73\\x37\\x3e\\xef\\xc6\\xb7\\xd7\\xd1\\xfd\\x86\\x26\\xe2\\xf4\\x16\\x76\\xbf\\x83\\xce\\xf7\\xc8\\xe9\\xf7\\xb0\\xef\\x7d\\x70\\x78\\x1f\\x7b\\xf6\\x30\\x67\\x0f\\x3e\\xef\\x21\\x47\\x3e\\x40\\xe7\\x87\\xac\\xd9\\x8f\\xb0\\x87\\xfb\\xbc\\xf9\\x11\\xd8\\x7c\\x84\\xfe\\x8f\\xf1\\xe5\\x63\\x72\\xea\\x63\\xf8\\xf6\\x12\\xc3\\xbd\\xcc\\xd9\\x0b\\x9e\\xfb\\xc8\\x87\\x7d\\xf4\\xef\\x23\\xfe\\x9f\\x20\\xff\\x13\\xf4\\x7c\\x42\\x1c\\x3f\\x45\\xf6\\xa7\\xd8\\xf0\\x19\\xbc\\x9f\\xd1\\xf7\\x19\\xf6\\xee\\xc7\\xc6\\xfd\\xf8\\xb0\\x1f\\x6c\\x3f\\x47\\xf6\\xe7\\xe8\\xfe\\x02\\xdb\\xbe\\x60\\xbf\\xf9\\x12\\x1c\\xbe\\x64\\xaf\\x3b\\x80\\x8c\\x03\\xd8\\x7f\\x00\\x9e\\xaf\\xc8\\xd1\\xaf\\xf0\\xf7\\x20\\xf1\\x3f\\x48\\xbc\\xa8\\x01\\xcc\\xaf\\xd9\\x3f\\xbe\\x46\\xd6\\xd7\\xd8\\x7a\\x18\\x6c\\x0f\\x83\\xc1\\x61\\xe2\\x70\\x18\\xfd\\x47\\xc1\\xfd\\x1b\\xf6\\xda\\xef\\xb0\\xf7\\x24\\x76\\x9d\\xc4\\xc6\\x93\\xc8\\x3a\\x09\\x86\\xdf\\x13\\xcb\\xef\\xf1\\xe9\\x7b\\xf4\\x7e\\x8f\\x9e\\xef\\xf1\\xe3\\x07\\x70\\xfc\\x01\\xec\\x7e\\x84\\x7e\\x22\\x6f\\x7f\\x22\\x96\\x3f\\x83\\xcd\\xcf\\x8c\\x9f\\x46\\xc7\\x19\\xec\\x3a\\x8b\\xff\\xbf\\x20\\xf3\\x57\\x6c\\xf8\\x15\\x9b\\xfe\\x43\\x6c\\x7e\\xc3\\x8f\\xdf\\xd8\\x33\\xce\\xa1\\xe3\\x1c\\x18\\x9f\\xc7\\x8f\\x0b\\x60\\xe1\\x87\\xcf\\xee\\x2c\\x96\\x84\\x8b\\xfe\\x1b\\x7d\\x96\\x41\\x6b\\x1c\\x85\\x4e\\x8b\\x65\\x6e\\x82\\x76\\x88\\x65\\x95\\x41\\xdf\\x88\\xe5\\x9a\\x2d\\x96\\xbb\\x11\\xd4\\x5e\\xac\\x30\\x0b\\xda\\x25\\x56\\xf8\\x46\\xb1\\x22\\xf2\\xa1\\xbd\\x62\\x45\\xae\\x84\\x68\\x6b\\xd4\\x87\\xca\\xa1\\x4a\\xe8\\x4b\\xb1\\xa2\\x5a\\x42\\x57\\x43\\x9f\\x89\\x55\\x13\\x5d\\x35\\x37\\x40\\x1f\\x88\\x55\\x0b\\x19\\xb5\\xfa\\x43\\x2f\\x88\\x15\\xcd\\x73\\x34\\x72\\xa3\\xd1\\x15\\xe3\\x85\\xde\\x15\\x2b\\xb6\\x1b\\xb4\\x53\\xac\\x38\\xec\\x8a\\x2b\\x86\\x56\\x43\\xf0\\xc6\\x61\\x5b\\x7c\\x5d\\x68\\x3a\\x44\\x5f\\xfc\\x7d\\xd0\\x13\\x10\\x63\\xf1\\xcc\\x8b\\x47\\x67\\xfc\\x49\\xe8\\xbc\\x58\\x09\\x51\\x10\\xf6\\x24\\x94\\x42\\x8b\\xa0\\x75\\x10\\x76\\x25\\xa0\\x3f\\x01\\x9f\\x6a\\x23\\xbb\\x36\\xb2\\x6a\\xb7\\x81\\xf0\\xa3\\x36\\x32\\x6b\\xc3\\x53\\x1b\\xbf\\x6b\\x63\\x6f\\x1d\\xc6\\xeb\\xe0\\x73\\x1d\\xc6\\xea\\x20\\xa3\\xce\\x72\\x08\\x7d\\x75\\x18\\xaf\\x83\\x9e\\x44\\xc6\\x13\\x19\\x4f\\x64\\x2c\\x11\\xf9\\x89\\x8c\\x25\\x32\\x96\\xc8\\xdc\\xc4\\x53\\x62\\xd5\\x05\\xcf\\xba\\xf8\\x43\\x1d\\x64\\x5d\\x91\\x03\\x81\\xc3\\x15\\x8c\\xd7\\xc3\\xdf\\x7a\\xf8\\x54\\x7f\\x57\\x80\\x1a\\xac\\x17\\xab\\x21\\x7d\\x0d\\xc1\\xad\\x21\\x3e\\x34\\x44\\x76\\x43\\x7c\\x68\\x88\\x0f\\x1e\\x7c\\xf0\\xe0\\x83\\x07\\x1c\\x3d\\xe8\\xf0\\xec\\x16\\xcb\\x1b\\x03\\x21\\xd7\\x8b\\xdd\\x5e\\x1f\\x54\\x00\\x11\\x1f\\x6f\\x05\\x84\\xfd\\x5e\\xe2\\xe2\\xc5\\x4f\\x2f\\xb2\\xbd\\xf8\\x4a\\x5d\\x65\\x79\\xb1\\x27\\x19\\x7b\\x93\\x99\\x9b\\xcc\\xdc\\x64\\xe6\\x26\\x63\\x53\\x32\\x76\\x24\\xe3\\x77\\x32\\x73\\x93\\xb1\\x23\\x99\\xb8\\x27\\x83\\x7b\\x32\\x76\\x24\\x63\\x47\\x32\\xf3\\x52\\xb0\\x2d\\x05\\x9c\\x52\\xb0\\x21\\x05\\x7d\\xd4\\x66\\x56\\x0a\\xb1\\x4a\\x99\\x0f\\x81\\x49\\x0a\\xf3\\xa8\\xd5\\xac\\x54\\xec\\x48\\xc5\\xbe\\x46\\xc4\\xb5\\x11\\xba\\xd3\\xf0\\x3f\\x0d\\xb9\\x69\\xe4\\x45\\xe3\\xa6\\x10\\xfe\\x37\\x7e\\x53\\xac\\x26\\xf8\\xd3\\x04\\x7b\\x9b\\x10\\xb3\\xa6\\xd8\\xd3\\x14\\xfc\\x9a\\x12\\xc3\\x66\\xd8\\xd7\\x8c\\xe7\\x66\\x60\\xd4\\x9c\\xb9\\xcd\\x91\\xd7\\x1c\\x4c\\x9b\\x13\\x73\\x6a\\x3b\\xab\\x05\\x3c\\x2d\\xe1\\x69\\x49\\x7f\\x4b\\xf2\\xa8\\x25\\x18\\xb5\\xc2\\x87\\x56\\xf0\\xb4\\xfa\\x55\\xac\\xd6\\xe4\\x4c\\x6b\\xec\\x69\\x8d\\xed\\xe9\\xe8\\xa3\\xee\\xb3\\xd2\\xf1\\xbd\\x0d\\xbe\\xb6\\x01\\xbb\\x36\\xd8\\xd4\\x16\\x3f\\xda\\xe2\\x6f\\x5b\\x74\\xb7\\x4b\\x80\\xe8\\x6f\\x07\\x7f\\x06\\x36\\x65\\xd0\\x9f\\x81\\xef\\xed\\xb1\\xa9\\x3d\\xbe\\xb5\\x27\\x8e\\x1d\\xf0\\xb9\\x03\\x76\\x77\\x80\\xa7\\x23\\xb1\\xee\\xc8\\x73\\x47\\xfa\\x3b\\x91\\xaf\\x9d\\x78\\xee\\x84\\xbf\\x9d\\x89\\x51\\x67\\xe6\\x76\\x86\\x27\\x13\\x9e\\x4c\\x64\\x66\\xa2\\xab\\x0b\\xb8\\x75\\x19\\x05\\xa1\\xab\\x2b\\xf2\\xbb\\x22\\xb3\\x2b\\xfc\\xdd\\xd0\\xdb\\x0d\\xfe\\x6e\\x3c\\x77\\xe7\\xb9\\x3b\\x58\\x74\\x07\\xa3\\x1e\\xe4\\x09\\xf5\\x9a\\xd5\\x83\\xe7\\x2c\\xe4\\x64\\x21\\x27\\x0b\\x5d\\x3e\\x74\\xf9\\x88\\xab\\x8f\\xe7\\x9e\\xc4\\xae\\x27\\x79\\xd2\\x13\\x1c\\xb3\\xf1\\x31\\x9b\\x75\\x97\\x8d\\x8f\\xbd\\x78\\xee\\x05\\x3f\\x75\\x94\\x95\\x83\\xbf\\x39\\xf0\\xe7\\x80\\x4f\\x2e\\x98\\xe4\\xc2\\x93\\xcb\\xdc\\x3c\\xfa\\xf3\\xe8\\xcf\\x23\\xf7\\x7b\\xa3\\xab\\x37\\xfd\\xd4\\x39\\x56\\x3e\\x3c\\xf9\\xe8\\xcd\\xe7\\xb9\\x0f\\xfd\\x7d\\xc0\\xb6\\x0f\\x98\\xf7\\xa5\\xbf\\x2f\\x18\\xf6\\x45\\x57\\x3f\\xec\\xe9\\x47\\x2c\\xfb\\x91\\x13\\xfd\\x91\\xd3\\x1f\\x5f\\xfa\\xe3\\xe3\\x00\\xec\\x1f\\x80\\xfd\\x03\\xf0\\x7d\\x20\\x3c\\xd4\\x21\\xd6\\x40\\xe2\\x47\\xfd\\x61\\x0d\\xc2\\x77\\x6a\\x0e\\xab\\x00\\x3c\\x0b\\x78\\x2e\\xd8\\x0c\\x91\\xd3\\x83\\x59\\x4f\\xd4\\x14\\xd6\\x60\\x74\\x0c\\x21\\x9f\\x86\\xa0\\x7b\\x08\\xba\\x87\\xe2\\xe7\\x50\\x6c\\x1a\\x8a\\x0f\\x43\\x79\\xa7\\x56\\xb0\\x0a\\xc9\\xcf\\x42\\x6c\\x2f\\x82\\xa7\\x88\\x1c\\x1b\\x46\\xec\\x87\\x61\\xcf\\x70\\x64\\x0c\\xc7\\x9e\\xe1\\xc8\\x1f\\x4e\\x8e\\x72\\xa7\\xb7\\x8a\\xe9\\x2b\\x06\\x9b\\x62\\x64\\x14\\xa3\\xab\\x18\\x5b\\x4b\\xd0\\x5d\\x42\\x8e\\x70\\x97\\xb7\\x4a\\xf0\\xab\\x04\\xfe\\x12\\xe4\\x95\\x90\\x2f\\xdc\\xe5\\xad\\x11\\xe4\\x1b\\xf7\\x78\\x6b\\x04\\x32\\x47\\x80\\xcb\\x48\\xec\\x1e\\x89\\x2c\\xee\\xf1\\xd6\\x48\\x74\\x8e\\xc4\\x96\\x51\\xd8\\x31\\x0a\\xb9\\xa3\\xc8\\xbf\\x51\\xe8\\x1a\\x0d\\x2e\\xa3\\xd1\\x31\\x9a\\x35\\x36\\x86\\xb9\\x63\\xc1\\xa2\\x14\\x39\\xa5\\xc8\\xe0\\x7e\\x6d\\x8d\\xc3\\xae\\xf1\\xe4\\xd9\\x78\\x74\\x8e\\x27\\x06\\x13\\x68\\x27\\x90\\x03\\x65\\xac\\x9b\\x32\\x7c\\x98\\x88\\x4d\\x13\\x89\\x23\\x77\\x62\\x6b\\x22\\xbc\\x13\\xd1\\x31\\x89\\x77\\xee\\xc0\\xd6\\x64\\xe6\\x4f\\x26\\xaf\\x26\\xc3\\x57\\x4e\\x8e\\x70\\xa7\\xb5\\xa6\\x60\\xe7\\x14\\x7c\\x98\\x02\\x86\\x53\\xd0\\x35\\x05\\xbb\\xa6\\xb0\\x4e\\xa7\\x20\\x73\\x0a\\xb8\\x4f\\x81\\x77\\x2a\\xb1\\xe0\\xfe\\x6a\\x4d\\xc3\\x87\\xe9\\xf8\\xce\\x9d\\xd4\\x9a\\xa1\\xbf\\x73\\x78\\xc0\\x3e\\x62\\x14\\xb8\\xba\\x4b\\x0d\\x89\\x56\\xa3\\x7d\\xbf\\xd4\\x8a\\x8e\\xae\\x19\\x15\\x25\\x6e\\x77\\x6c\\x4c\\x74\\x74\\x44\\xd4\\x66\\x33\\xe2\\xde\\x91\\xe6\\xc6\\xae\\xb1\\x2a\\x3d\\x56\\x25\\xc5\\xaa\\xa3\\xb1\\x6a\\x6f\\xac\\xba\\x37\\x56\\xdd\\x1c\\xab\\xa6\\xc5\\xaa\\x91\\xb1\\x8a\\xa1\\x1a\\xb1\\x6a\\xc6\\x77\\xb1\\xea\\x79\\xa7\\x97\\xae\\x7e\\xb1\\xaa\\x7d\\x88\\x6f\\x5a\\xa8\\x07\\xbe\\x46\\xb1\\x2a\\x21\\x56\\x7d\\x10\\xab\\x76\\xc5\\xaa\\xca\\x58\\xb5\\x29\\x56\\xad\\x8f\\x55\\xcb\\x63\\xd5\\xfc\\x58\\x55\\x16\\xab\\x0a\\x63\\x55\\x8e\\x33\\xd1\\x1b\\xab\\x62\\x62\\x95\\xc4\\xaa\\xcc\\x53\\x21\\x85\\xbb\\x63\\xd5\\x8e\\xd0\\x04\\xb8\\x4b\\xab\\x71\\xc3\\x67\\xc0\\x77\\xa8\\x9a\\xe0\\x8d\\xb1\\x6a\\x5d\\xac\\xaa\\x88\\x55\\xb3\\x63\\x95\\xaf\\x9a\\xbc\\x00\\x5b\\x65\\x68\\x08\\x29\\x05\\xb1\\xca\\x13\\xab\\xa2\\x63\\xd5\\xe8\\xd0\\xcf\\x9c\\xea\\x3f\\x63\\xe7\\x56\\xff\\x19\\x33\\xfa\\x92\\x9f\\x10\\xd3\\x65\\x83\\xf4\\x48\\x56\\x0b\\xa9\\x9b\\x15\\x97\\x99\\x1e\\x1b\\xa7\\x32\\x63\\x33\\x32\\x9c\\xff\\xda\\xb6\\x49\\x4b\\x70\\xa7\\xa6\\x34\\xee\\xd0\\xbe\\x63\\x46\\xbb\\x3a\\x66\\x86\\x99\\xaa\\xd6\\xe5\\xb6\\x6f\\x9f\\x9b\\x97\\x91\\x91\\x57\\xef\\xf3\\x63\\x63\\x46\\xb5\\xcd\\xcf\\x6f\\x9b\\x91\\x97\\x67\\x3d\\x75\\x3e\\x5f\\xc4\\x50\\x2e\\x73\\x94\\x39\\x81\\xb8\\x98\\x12\\xa6\\x06\\xfb\\xbe\\x77\\x87\\x85\\x59\\x86\\xa9\\x7f\\x27\\xd6\\x65\\x59\\x11\\xe1\\x61\\x86\\x25\\x9b\\x97\\x44\\xa8\\x3e\\x11\\x2a\\x33\\x42\\x35\\x8b\\x50\\x49\\x11\\x2a\\x22\\x42\\xbd\\x15\\xa1\\x9e\\x8d\\x50\\x5b\\x22\\xd4\\xbd\\x11\\x6a\\x4d\\x84\\x52\\x5d\\x23\\x54\\x0b\\x67\\x2c\\x3a\\x42\\x4d\\x79\\x27\\x42\\x3d\\xef\\x0c\\x3e\\x18\\xa1\\xd6\\x46\\x28\\x66\\x4f\\x8b\\x50\\x23\\x43\\x1c\\x5f\\x54\\x1b\\x0d\\xf4\\x0f\\x72\\xfa\\x2d\\x67\\xe8\\xe2\\xdc\\x7b\\x43\\xa3\\xfd\\x22\\x54\\x96\\x33\\x37\\xc1\\xe1\\xc9\\x3c\\x5d\\x8d\\x69\\x79\\x88\\x23\\x3d\\x42\\x19\\x31\\x11\\xea\\x54\\x84\\x7a\\x39\\x42\\x6d\\x8d\\x50\\xd7\\x38\\x52\\x99\\x27\\x4e\\xcf\\xc6\\x08\\xb5\\xce\\xe9\\x9c\\x15\\xa1\\xc6\\x86\\x86\\xbc\\x11\\x7f\\x88\\xc6\\xdc\\xb1\\x7f\\x1a\\x83\\x39\\x97\\x86\\xe0\\xe2\\xf8\\xd8\\x6a\\xa3\\x92\\xd5\\xee\\xbd\\x76\\xd5\\xe3\\x10\\xeb\\xc4\\x42\\x69\\xfc\\x21\\xe3\\x81\\xd7\\x6f\\xef\\xeb\\xbf\\x8b\\x3f\\x5c\\xdd\\xfd\\x1e\\xf5\\xb5\\xdf\\xa3\\xff\\xfe\\x71\\x2c\\x8b\\xca\\x0b\\xf6\\x49\\xe2\\x51\\xbd\\x7c\\x1f\\xb8\\xeb\\x7b\\xe2\\xad\\xb8\\xb0\\xb0\\x70\\x23\\xa9\\x5e\\xa2\\x55\\xc7\\x34\\xad\\x88\\xa8\\x9a\\x31\\x56\\x6c\\x78\\x6c\\x9c\\xab\\x41\\xc3\\x04\\xab\\xb6\\x55\\xbb\\x4e\\x9c\\x55\\x2b\\xdc\\x8a\\xac\\xa3\\xff\\xaf\\x9f\\xea\\x46\\x7a\\x93\\xdd\\x2e\\x23\\x22\\x2a\\xe2\\xc9\\x92\\x06\\xf5\\x93\\xa2\\x3c\\x0d\\xeb\\xd5\\x8c\\xa9\\xf9\\x64\\x49\\x62\\x42\\x7c\\x4c\\x74\\x8c\\x27\\xc6\\x88\\x8a\\x8a\\x89\\x8a\\x31\\xeb\\xd4\\x8e\\x8b\\xdd\\x6c\\x86\\x59\\xe1\\x7f\\x7f\\x39\\x59\\x6d\\x4d\\x56\\x0f\\x26\\xab\\xb5\\xc9\\xea\\x9a\\x64\\x35\\x2b\\x59\\x65\\x25\\x2b\\x4f\\xb2\\xb2\\x93\\xd5\\xc1\\x64\\xb5\\x27\\x59\\x5d\\x64\\x18\\x5b\\x6d\\xe8\\x87\\xd0\\xe8\\x35\\xd5\\xfa\\xa3\\x93\\x55\\xe6\\x83\\xd5\\xba\\x02\\xcf\\xa5\\xc9\\xca\\xe7\\x48\\xa9\\x70\\x9e\\x83\\xe0\\x5c\\x8a\\xe7\\x1f\\xc0\\x94\\xac\\x8c\\x8c\\x0c\\x4d\\x71\\x99\\x99\\xe9\\xe9\\x63\\x46\\x83\\x5e\\x46\\x8b\\x58\\xc9\\x70\\x70\\x0c\\x3d\\x01\\x2c\\x7f\\x64\\xc6\\x65\\xc6\\x26\\x82\\x70\\x6c\\xdc\\x9f\\xfd\\x09\\xda\\x61\\xc9\\x66\\x6a\\xbc\\xa6\\xd4\\x4e\\x19\\x50\\x72\\x7c\\x86\\xa9\\x29\\x23\\x2c\\xd5\\x6c\\xa6\\x18\\xf8\\x2c\\xce\\x7f\\xfe\\xee\\xf2\\xbb\\xfd\\x6f\\x6f\\x98\\x72\\xf7\\x96\\xd8\\x5d\\xb3\\x7f\\x8b\\x53\\x51\\xeb\\xcb\\x6f\\x57\\x1d\\xd6\\x97\\xaf\\xdf\\x14\\xf7\\xcc\\x2c\\xff\\x78\\xd5\\x61\\x96\\xff\\x1d\\x23\\x6a\\xb2\\x7f\\xa4\\xfa\\x9b\\xa6\\xc9\\x2a\\x63\\xb2\\xba\\xcb\\x3f\\x45\\xd3\\x64\\xff\\x7b\\x2a\\x43\\xff\\x8d\\xf0\\xba\\x76\\x99\\x79\\xd0\\xf5\\x8e\\x34\\x92\\x96\\x92\\x21\\x4b\\x7c\\x79\\xad\\xea\\x36\\x6b\\xe3\\xb6\\x22\\xd3\\xea\\x47\\xd6\\x6f\\x14\\xd7\\x28\\xae\\x7d\\x07\\x69\\x13\\xd3\\xc6\\x88\\x70\\xb5\\x6a\\x53\\xd7\\xdd\\x2c\\xcd\\x9d\\x52\\xb3\\xb9\\x2b\\xc5\\x35\\xaf\\x24\\x39\\xc5\\xe7\\x49\\x61\\x87\\x10\\xa3\\x96\\x29\\x92\\x72\\x45\\x62\\xdb\\x9a\\x6d\\xe7\\x95\\x78\\x12\\x54\\x42\\x42\\x4c\\xad\\x9a\\x61\\x92\\xf5\\x5e\\x46\\x46\\xfa\\x68\\xed\\x72\\xdd\\xac\\x8c\\xf4\\xb1\\x1a\\x8b\\x7a\\x31\\xef\\xe9\\x77\\xed\\x9f\\x7e\\x07\\x87\\x4c\\x70\\xc0\\x63\\x3a\\xda\\xb5\\x6d\\x13\\x9f\\x91\\xd8\\x50\\x25\\xc6\\xb7\\x36\\x58\\xee\\x59\\x2a\\x23\\xac\\x4e\\xa2\\x99\\xda\\xa4\\x71\\x13\\xb3\\xa1\\x51\\x3b\\xc1\\x1d\\xad\\x52\\x3b\\x35\\x6e\\xa2\\xda\\xb7\\x56\\x4d\\xcc\\x1e\\x4a\\x25\\xd4\\x49\\x8c\\xaf\\xa5\\xfa\\xf7\\x54\\x69\\xb7\\x0c\\x9d\\x74\\xe3\\x8c\\xac\\x2f\\xf7\\x26\\x0e\\x49\\x5c\\x7b\\x63\\xdb\\x9e\\xae\\x1e\\xb3\\x8a\\x6e\\x9d\\x93\\xf3\\xdd\\x89\\xba\\x43\\xea\\x7e\\xbd\\xc6\\x38\\xdc\\xa8\\x77\\x9f\\xb1\\x2b\\x56\\xfb\\x97\\xf6\\x2b\\x1e\\x34\\x7f\\x99\\x9a\\xf7\\x72\\x07\\x9f\\x61\\xf4\\xec\\x35\\x6a\\xde\\xc0\\x27\\x9f\\x73\\x57\\x54\\x98\\x29\\xfe\\x13\\x5b\\xda\\x45\\xfa\\x1b\\x0c\\x1c\\xbf\\x68\\xc0\\x6b\\x07\\x6b\\xad\\x5a\\x69\\x95\\xa8\\x76\\x6d\\xfb\\x75\\x4f\\xbb\\x70\\x22\\xf6\\x21\\xb3\\x66\\xf7\\xb1\\xad\\x59\\x73\\xd7\\xb0\\x81\\xc8\\x02\\xfb\\x98\\xbb\\x83\\x6b\\x08\\x88\\x45\\x4b\\x03\\x69\\x26\\x9d\\xd4\\x1e\\x9f\\x9d\\x28\\x2a\\x26\\xaa\\xad\\x97\\x4d\\xc6\\x1b\\xa5\\x2c\\x77\\xf3\\xc6\\xee\\xc6\\x9d\\x33\\x1b\\xb5\\x7a\\xa6\\xa4\\x61\\xa3\\x7f\\x8e\\x6c\\xd8\\xfe\\x99\\x12\\x69\\xb8\\xd1\\xaa\\xf7\\x4c\\x49\\xa4\\xf5\\xcf\\x91\\x91\\xf1\\xcf\\x94\\x18\\x91\\x5f\\x4d\\xcc\\x54\\x85\\x99\\x2a\\x27\\x53\\x75\\xc8\\x54\\x69\\x99\\xaa\\x4e\\xa6\\x72\\x67\\xaa\\x33\\x99\\xea\\x78\\xa6\\xfa\\x24\\x53\\xbd\\x91\\xa9\\xee\\xca\\x54\\x45\\x99\\xaa\\x57\\xa6\\x92\\x36\\x99\\x2a\\x25\\x53\\x25\\x38\\x1c\\x53\\x7f\\xca\\x54\\x47\\x33\\xd5\\xde\\x4c\\xf5\\xaf\\x4c\\xf5\\xf7\\x4c\\x75\\x67\\xa6\\xba\\x31\\x53\\x4d\\x71\\x84\\x65\\x67\\xaa\\x00\\x6b\\x5c\\xa6\\xb2\\x32\\xd5\\xd9\\x6a\\x9c\\x77\\x3b\\x6c\\x57\\x66\\xaa\\x12\\x47\\x67\\xbb\\x4b\\xd9\\x02\\x3c\\x3b\\x32\\xd5\\xa3\\x21\\x69\\xb0\\xf5\\xc9\\x54\\xed\\x33\\x55\\xa3\\x10\\x5b\\xe6\\xe9\\x90\\x6d\\xbb\\x33\\xd5\\x33\\x99\\xea\\x26\\x47\\x1c\\x4c\\x99\\x99\\xca\\xd7\\xb7\\x45\\x35\\x69\\x01\\xae\\x8b\\x02\\x61\\x9c\\xe4\\x30\\x1a\\x99\\x0a\\xe3\\xd5\\x21\\x47\\x1f\\x42\\x36\\x65\\xaa\\xf5\\x8e\\xdd\\x5d\\x33\\x15\\xf3\\x3d\\x99\\x2a\\x1a\\xa6\\xb1\\xbf\\xef\\x51\\x63\\xab\\x9d\\x28\\x7f\\x7d\\x98\\x5c\\x72\\xea\\xcc\\xfd\\xe3\\xa9\\x33\\xf6\\x52\\x3e\\x96\\xa6\\xfe\\x6b\\x34\\x75\\x9d\\x26\\x90\\x7b\\x19\\x81\\xe5\\xe6\\xfc\\x8f\\xfc\\x73\\xb1\\xbb\\x71\\xf0\\xb5\\xef\\xa1\\x32\\xbc\\xb1\\x09\\x61\\x86\\xd9\\xbe\\x71\\x6a\\x4a\\x2d\\x55\\x3b\\xa1\\x4e\\x46\\x3b\\x52\\x8e\\x91\\x4e\\x71\\xc9\\x8c\\xd4\\x52\\xf1\\x97\\x8e\\xf4\\x98\\x69\\x6d\\x9e\\x75\\x6e\\x83\\xff\\xec\\xd8\\xad\\xcb\\x55\\xad\\x1a\\xbd\\xfa\\xf7\\xe8\\x33\\x70\\x7c\\x66\\x97\\xbc\\x01\\xe5\\x5d\\x8d\\x34\\xff\\x99\\x1a\\x3d\\x55\\x6f\\x55\\x73\\xdc\\xd6\\x45\\x59\\x74\\x77\\x76\\xba\\x13\\x5c\\x93\\x2e\\x34\\x50\\xee\\x8a\\x13\\xf3\\xfd\\x17\\xd2\\xbb\\xfb\\x57\\xab\\x33\\x05\\x85\\xd3\\x4e\\x0d\\xef\\x3f\\x64\\xda\\x91\\x73\\x07\\x95\\xab\\x75\\xb6\\x9a\\xe5\\x3f\\xbf\\xec\\xe4\\x95\\xea\\xf4\\xe0\\xa2\\xa9\\x3f\\x17\\xe9\\x7e\\xbd\\x56\\x87\\xdb\\x27\\xdd\\x6d\\xc9\\xc1\\xc6\\xd2\\x46\\xff\\xbb\\x3a\\x3e\\xbb\\xf9\\x15\\xb5\\x5c\\x56\\x7b\\xab\\x6d\\x74\\x67\\x91\\xa8\\xb6\\x6d\\xbd\\xd1\\x71\\x71\\xf1\\x6d\\x9a\\x34\\xf0\\xba\\xaf\\x08\\x0b\\x8b\\xba\\x22\\xaa\\x47\\x56\\x54\\x58\\x44\\x58\\x41\\x49\\x44\\x04\\xdd\\xb5\\x5c\\x4d\\x1a\\x58\\xed\\xc3\\x53\\xeb\\xa4\\x76\\x2d\\x28\\x49\\xfd\\xaa\\x4e\\xab\\x82\\x92\\x3a\\x75\\xe2\\xa2\\x0b\\x4a\\xe2\\x6a\\xcf\\xcb\\x52\\x13\\xb2\\xd4\\x90\\x2c\\x95\\xcd\\xba\\xcb\\x52\\xa9\\x59\\x2a\\x3e\\x4b\\x59\\x59\\xea\\x74\\x96\\x3a\\x9a\\xa5\\xf6\\x66\\xa9\\xdd\\x59\\xea\\xe9\\x2c\\xb5\\x29\\x4b\\xdd\\x9e\\xa5\\xae\\xcf\\x52\\xf3\\xb3\\xd4\\xc4\\x2c\\x35\\x34\\x4b\\x89\\x2f\\x4b\\xb5\\xcb\\x52\\x29\\x59\\x2a\\x8e\\x97\\x2c\\x35\\xe5\\xa7\\x2c\\x75\\x28\\x4b\\x7d\\x94\\xa5\\x76\\x65\\xa9\\xca\\x2c\\xb5\\x31\\x4b\\xad\\xcb\\x52\\xd7\\x65\\xa9\\xb9\\x59\\xaa\\x34\\x4b\\x15\\x38\\x1a\\x98\\xe0\\x75\\x26\\x18\\x59\\xea\\x22\\x3f\\x1a\\x76\\x38\\xfc\\xb7\\x65\\xa9\\xe5\\x59\\xea\\xca\\x2c\\x35\\xde\\xb1\\x28\\x27\\x4b\\xb1\\x19\\x34\\x72\\xf8\\xab\\x5b\\xf4\\x6a\\x96\\xda\\x9e\\xe5\\xbb\\x55\\xdb\\x74\\xa7\\x33\\x63\\xae\\x33\\xa3\\xd0\\x61\\x0f\\xf0\\x66\\xfe\\xe4\\x30\\x7f\\x12\\x12\\xbe\\x29\\x24\\x3c\\x60\\x4c\\x40\\x78\\x7b\\x47\\x78\\x42\\x96\\x72\\x67\\xa9\\xb3\\x59\\xea\\x78\\xc8\\x5d\\xf8\\x1f\\x75\\x44\\x63\\xbc\\x9a\\x8d\\xad\\xcc\\xc0\\xd9\\x36\\x8e\\xed\\x78\\x7a\\xca\\x31\\x1c\\x17\\x1f\\xcc\\x52\\x63\\xb3\\xd4\\xa0\\x2c\\xe5\\xc9\\x52\\xd1\\x59\\xea\\x92\\xec\\x1c\\xcb\\xff\\xfe\\x34\\x41\\xff\\xf2\\x62\\xf4\\xdf\\xd9\\xc7\\xfe\\xc9\\x8c\\xc0\\xc5\\xc9\\xa1\\xd8\\x38\\x21\\xa1\\x33\\xeb\\xa6\\x07\\x76\\x59\\x27\\xc5\\x63\\x43\\x39\\x1e\\x77\\xf1\\x85\\xb3\\x85\\x1c\\x0e\\x53\\x1d\\x3b\\x35\\xe9\\x94\\x1c\\xad\\x8c\\x30\\x0f\\x67\\x4d\\x93\\x5a\\xca\\xb9\\x68\\xf5\\x50\\x9d\\x5a\\x2b\\xe7\\xbe\\xd5\\x50\\xa9\\x60\\x8a\\x77\\xec\\xa4\\xf7\\xdb\\x1e\\xec\\xcb\\xa4\\xbd\\xdb\\x2a\\x1d\\xb0\\xe2\\x69\\x55\\x7c\\x7b\\xe3\\x9b\\xf4\\xdd\\x69\\xdd\\x55\\x7f\\xdf\\xfc\\x70\\xa4\\x7f\\xf3\\x9c\\x05\\x7b\\x2b\\x0e\\x9c\\x1a\\xf4\\xe8\\xfd\\x3d\\x5a\\xbf\\xff\\xf4\\xcc\\xfb\\x8b\\x2e\\x3c\\x77\\xe3\\xc2\\x3b\\x6e\\x2c\\x7b\\x71\\x90\\xff\\xa6\\xee\\x19\\xd7\\x8d\\x6f\\x5f\\x56\\x34\\x65\\x92\\x35\\xb0\\x60\\x6e\\x51\\x4f\\xff\\xcc\\x7f\\x3d\\x99\\xd4\\xa1\\x43\\x92\\xff\\x87\\x67\\x5e\\xad\\xdb\\xf1\\xa6\\xe1\\x79\\xcf\\x3d\\x35\\xea\\xae\\x05\\x9d\\x4b\\x96\\x65\\xdf\\xbe\\xbd\\xe7\\x42\\x7f\\xed\\xcc\\xbf\\x5f\\x79\\xed\\xfa\\x41\\x7d\\xcd\\xc2\\xac\\x85\\xd9\\x6d\\xb3\\x4b\\xb2\\x46\\x95\\xcd\\xd5\\xff\\x7e\\x89\\xfe\\xff\\xec\\xf9\\xc8\\xb9\\xdb\\xbd\\xec\\xbb\\x21\\x74\\xab\\x33\\x65\\x73\\x96\\x4b\\xa5\\xbb\\xd4\\x0f\\x2e\\x75\\xd0\\xa5\\xf6\\xb8\\xd4\\xcb\\x2e\\x35\\xd6\\xa5\\x06\\xb9\\x14\\xfd\\xd1\\x2e\\x35\\xc3\\x76\\xc6\\xb6\\xba\\xd4\\x83\\x2e\\xb5\\xd6\\xa5\\x4a\\x5d\\xca\\xe3\\x0c\\xd8\\x0e\\xf7\\x35\\x0e\\x5f\\xba\\xd3\\x79\\x2a\\xc4\\x33\\xd6\\x61\\xe8\\x12\\x10\\x16\\x18\\xde\\x1a\\x92\\x1a\\x13\\x52\\x52\\xe1\\xfa\\xe3\\x95\\xe0\\xd2\\xd0\\x55\\xbb\\xdd\\x72\\x18\\x5e\\xbc\\x4e\\x05\\xef\\x51\\x35\\x83\\xd7\\x27\\xfd\\xd7\\x93\\x24\\xdf\\xdf\\xdf\\x8c\\x77\\xad\\x91\\x18\\xd5\\xd4\\xf7\\x71\\x0d\\x43\\x57\\x12\\x71\\x35\\xa2\\xce\\x94\\xd4\\x10\\xd3\\x38\\x53\\x62\\xfe\\x32\\x3f\\x4e\\x95\\xc5\\xa9\\xc2\\x38\\xe5\\x8b\\x53\\xed\\xe3\\x54\\xa3\\x38\\x95\\x10\\xa7\\x4e\\xc7\\xa9\\xa3\\x71\\x6a\\x7d\\x9c\\x5a\\xee\\x8c\\x16\\xc4\\xa9\\x9c\\xd0\\xa8\\xc4\\xa9\\x29\\xa7\\x9c\\xe1\\x1d\\x71\\x6a\\x93\\xc3\\x54\\x18\\x1a\\xb6\\x9c\\xfe\\xbd\\xa1\\xa1\\x8b\\x12\\x63\\xe2\\x94\\xc1\\x3c\\xa6\\x1d\\x8a\\x53\\xbb\\xe2\\x54\\x65\\x9c\\x1a\\x14\\xa7\\xda\\xc4\\x29\\xaf\\x33\\xc6\\x50\\xe6\\x29\\x67\\x60\\x5d\\x9c\\x9a\\x1d\\xa7\\x4a\\x43\\xbd\\x1f\\xc4\\xa9\\x07\\xe3\\x54\\x85\\xd3\\x79\\xc8\\x79\\x0d\\x4c\\xae\\x70\\xe6\\x7b\\xe2\\x54\\x74\\xdc\\x25\\x8b\\xe2\\x0f\\xf9\\xff\\x27\\x6b\\x64\\xcc\\x1f\\xd2\\x5c\\x42\\x19\\xee\\xa0\\x08\\x88\\x9d\\x62\\x12\\xc3\\x1a\\x93\\x91\\xf5\\x48\\xe3\\xb0\\x5a\\x2a\\x52\\x9d\\x3b\\x14\\xbd\\xe7\\xe9\\x91\\x7f\\xf3\\xbf\\x17\\x7d\\xc3\\x8e\\x2b\\x47\\x5c\\xef\\x7f\\x72\\x5d\\xe1\\x55\\xaa\\xfd\\x97\\x95\\xea\\x2e\\xd5\\xf2\\xeb\\xb2\\xc2\\xbc\\x7d\\xfe\\xc3\\xfe\\x04\\x51\\xf6\\x83\\xfe\\xfe\\xc6\\x34\\xb0\\x8e\\x95\\xdf\\x7c\\x95\\x11\\x40\\x5d\\xb3\\x66\\x5c\\x7c\\x64\\xc4\\x99\\x92\\x48\\x22\\x71\\xa6\\x44\\x7e\\x69\\x1f\\xaf\\x1a\\xc5\\xab\\x84\\x78\\x25\\xf1\\xea\\x74\\xbc\\x3a\\x1a\\xaf\\xf6\\xc6\\xab\\x1d\\xf1\\x6a\\x53\\xbc\\xca\\x71\\x86\\x62\\xe2\\x41\\x2a\\x5e\\xcd\\x38\\x15\\xaf\\x0e\\xc5\\xab\\x5d\\xf1\\xaa\\x32\\x5e\\xcd\\x8e\\x57\\xa5\\xf1\\xaa\\xc0\\x19\\x64\\xec\\x94\\xd3\\xbf\\x2e\\xd4\\x4f\\xcf\\x07\\x21\\xce\\x8d\\xf1\\xaa\\xc2\\xe9\\x8f\\x8e\\x57\\xdd\\x7f\\x70\\x7a\\xd7\\xc6\\xab\\xb1\\xf1\\x6a\\x50\\xbc\\xca\\x8a\\x57\\xe9\\x21\\x11\\x4c\\x78\\x30\\x5e\\xcd\\x72\\x74\\x6c\\x75\\xe6\\xc0\\x10\\x44\\xe4\\x0f\\x40\\xfd\\x01\\xbf\\xb1\\xd5\\xf1\\xbb\\x04\\xbc\\x58\\x8d\\x9e\\xd9\\xa9\\x87\\xaa\\xc7\\x32\\x6f\\xdc\\xa4\\x53\\x9d\\xb8\\xda\\x09\\x91\\xca\\x1a\\x17\\x7d\\xfd\\xb6\\xf9\\xa5\\xb3\\xe6\\x44\\xef\\xdd\\x3e\\xf2\\x51\\x5b\\xfc\\xfd\\x0b\\x73\\x3f\\x52\\x71\\xea\\xdb\\x47\\x9e\\xfa\\x3e\\xbf\\x70\\x99\\xff\\x83\\x2f\\x1e\\xf3\\x4f\\xf2\\xef\\x39\\xe2\\xfc\\x75\\x3a\\x79\\xdd\\x18\\x68\\xda\\xac\\xc5\\x58\\xa9\\xed\\x8b\\x30\\xe3\\xe3\\xda\\xd4\\x54\\x35\\xcd\\xcd\\x92\\xb5\\xdb\\xb9\\xd4\\x71\\x93\\xeb\\xe4\\xa2\\x58\\x4b\\x4b\\xac\\xa9\\xc2\\xd2\\xe2\\x53\\xe3\\x5d\\x4d\\xd2\\x5e\\xf7\\xa9\\xae\\x2d\\xee\\x4b\\x57\\xdd\\x7d\\xfe\\x1d\\xaa\\xbf\\xcf\\xff\\x5a\\xfa\\x7d\\x2d\\xfc\\x74\\xe6\\x5b\\xcd\\xd6\\xbe\\xaa\\x7a\\xfb\\x9f\\x7d\\x69\\xcd\\xf8\\x71\\x6b\\x5e\\xf0\\x3f\\xaf\\xf2\\x5f\\x5b\\x3b\\x41\\xeb\\x38\\x21\\xef\\x58\\x0f\\x5b\\x37\\x50\\x63\\xb7\\xf2\\xd5\\x8e\\x94\\x88\\x08\\x97\\x49\\xac\\xa2\\x0c\\x31\\xdd\\xe6\\x93\\x25\\x11\\x61\\xee\\xad\\xfa\\xb2\\xed\\x5c\\xa9\\x43\\x59\\xe1\\xb8\\xa6\\x62\\x53\\x63\\x93\\x3b\\x24\\xe3\\x68\\x72\\x6d\\xe3\\x57\\xfd\\x77\\x18\\x37\\x4f\\x56\\x8f\\x1b\\x0b\\xfc\\xc3\\xd4\\xe3\\x93\\xd4\\xe3\\xfe\\x61\\x93\\x02\\x3e\\xe4\\xf8\\x5f\\x57\\xd7\\xc8\\xc7\\x12\\x23\\xa9\\x3e\\xfd\\x6f\\xa8\\x9a\\x35\\x6a\\xc4\\xc5\\x9a\\xd6\\x7d\\x25\\xb5\\xcc\\x47\\x46\\xd6\\x7a\\x18\\xcc\\x42\\xd9\\x16\\x97\\xe9\\xd4\\xa1\\x61\\x1d\\x3a\\x76\\x68\\xef\\x5c\\x4e\\xa9\\x45\\xd5\\x35\\x8f\\xde\\xf1\\x5c\\x93\\xf4\\x26\\x39\\x1d\\xba\\xe7\\x37\\xbf\\xfe\\x9f\\x2d\\x06\\x74\\x9d\\x51\\xbf\\x7e\\x83\\x16\\xcd\\x3b\\x66\\x8e\\x40\\x76\\x7f\\x75\\xa7\\x51\\x6a\\xa4\\xeb\\xdb\\xb5\\x2f\\x82\\xb2\\xd4\\x52\\xf2\\x6c\\x89\\xda\\xa9\\x22\\x25\\x10\\x05\\x0d\\x51\\x87\\xe4\\xda\\xfd\\x8d\\x04\\x75\\xe7\\xdd\\x77\\x07\\xec\\x29\\xb2\\x8f\\xa8\\xde\\xb2\\x0f\\x7f\\xeb\\xfa\\x6a\\xe8\\xb4\\x8c\\x0a\\x7c\\x8c\\x20\\xa1\\xc0\\x5d\\x5a\\x0c\\xab\\xde\\xa1\\x42\\x38\\x54\\x04\\x93\\xdb\\x0f\\xdb\\x27\\x8d\\x7d\\xae\\x3c\\xf4\\xd6\\xf7\\x45\\xb1\\x47\\xba\\x44\\x29\\x8b\\xaa\\xb7\\x8e\\x64\\x65\\xc5\\xaa\\x8b\\x85\\x5c\\x22\\x17\\x9d\\x98\\x99\\xc6\\x1b\\xd3\\x13\\x5c\\xfa\\xef\\xc8\\x1a\\x32\\xc8\\x3e\\x69\\x1e\\xe7\\x5e\\x51\\x43\\xae\\x90\\xa6\\xbe\\x84\\x78\\x23\\x2a\\xdc\\x08\\xaf\\x97\\xe4\\xae\\x35\\xaf\\xc4\\x1d\\x26\\x75\\xe6\\x95\\xd0\\xff\\x7b\\x0e\\x65\\x06\\xa4\\xb8\\xb8\\x10\\xc5\\x75\\xd4\\x57\\x25\\xc3\\x1d\\x1f\\xa3\\xef\\x43\\x46\\xe0\\xb4\\x88\\x53\\x8f\\xf8\\x9f\\x58\\x77\\x6e\\xbb\\x1a\\x71\\xeb\\xb9\\x03\\x2f\\x0e\\xab\\x18\\x33\\x60\\xec\\xf0\\x85\\x1b\\xe7\\x24\\xa8\\x47\\xbe\\x53\\x55\\x3f\\xfa\\x27\\x1e\\xf1\\xd7\\xf8\\xd9\\x3c\\xad\\x52\\xe6\\x9f\\xf0\\x4f\\xdf\\xb9\\xe6\\xd6\\xcf\\x0d\\x97\\xf6\\xbf\\x0f\\x21\\x68\\xe4\\xca\\x97\\x48\\x49\\xf7\\xd5\\x61\\x2d\\xba\\x5d\\xae\\xa8\\x1a\\xee\\x88\\x30\\x2e\\x30\\x2e\\x4c\\x9c\\x57\\x62\\xd4\\xd5\\x50\\x04\\xca\\x09\\x0e\\xb3\\xdf\\xf7\\xd3\\x34\\x57\\x58\\x72\\xa7\\xb4\\x78\\x57\\xa7\\xb4\\x0c\\xa3\\x8e\\xaa\\x15\\x79\\x21\\x3d\\x52\\x25\\xbe\\xe2\\x3f\\x14\\xa9\\x9e\\x6a\\x5f\\xa0\\x4f\\x1a\\x2b\\x6f\\x5c\\x87\\xaf\\xb4\\x0e\\xce\\x0c\\xf3\\x63\\x57\\x7f\\x6a\\xd4\\x6c\\x5f\\x4a\\x52\\x58\\xed\\xe8\\xda\\x4a\\x35\\xa8\\x57\\x5f\\x45\\xc7\\x46\\x1b\\x11\\x66\\x34\\xb7\\xa7\\xc8\\x79\\x25\\x71\\x61\\x46\\x3d\\x55\\xef\\xca\\x12\\x75\\x51\\x9f\\xf3\\xa7\\x53\\xc2\\x28\\x92\\x21\\x56\\x03\\x80\\xda\\x66\\x2a\\x4b\\x85\\xce\\x44\\xaa\\x93\\x78\\x1d\\x95\\xda\\x1c\\xac\\xd1\\x2a\\xd9\\xec\\x70\\xfe\\xdd\\x7a\\x7b\\xbf\\xfc\\x76\\xce\\xfc\\xd9\\x9d\\xae\\x6a\\xe6\\xcb\\x6e\\xf5\\xf2\\xb2\\xe7\\xde\\xbc\\xfa\\xc2\\xa1\\xbd\\xc6\\xe3\\xb7\\xdf\\x7b\\xef\\xc1\\x33\\xb7\\x4c\\x1b\\xef\\xa9\\xb3\\x49\\x19\\x2d\\x36\\xdc\\x74\\xfd\\x4f\\x55\\xf7\\x6f\\xc0\\x36\\xfb\\x02\\x31\\x78\\x16\\xdb\\x5a\\xc8\\x74\\x5f\\x97\\xa8\\x66\\x8d\\x9b\\xc5\\xa4\\xc6\\x98\\x09\\x09\\xa9\\xa9\\xf5\\x5b\\x99\\x66\\xcb\\xc6\\x54\\xc1\\xd1\\xf3\\x4a\\x5a\\xc6\\xa8\\x18\\xfd\\x37\\x54\\xeb\\xc7\\xd4\\xc7\\xe0\\xfa\\xf5\\xbd\\xde\\xc4\\x79\\x25\\xde\\x30\\x89\\x98\\x57\\x52\\x6a\\x29\\xcb\\xd2\\x71\\x6a\\x47\\xd5\\x25\\xd5\\x8d\\x8e\\xcb\\xd4\\x75\\x58\\x9c\\x64\\xea\\x14\\x88\\x0b\\x5c\\x0a\\x82\\x85\\x17\\x51\\x4c\\x69\\xdc\\xc4\\x29\\xbc\\x08\\x5c\\x87\\xf6\\x69\\x4d\\xf0\\x49\\xfd\\xee\\x13\\x57\\x61\\xed\\x94\\x3b\\xac\\x21\\x37\\x01\\x4b\\x4d\\x2c\\xf9\\x57\\x9f\\xb4\\xec\\xa8\\xe4\\x3b\\x7b\\x3c\\xfb\\x94\\xff\\xe7\\x79\\xb5\\x6e\\x5d\\xb3\\xa2\\x7c\\x56\\xc7\\x05\\x2d\\xf1\\x70\\xd2\\xb2\\x41\\xcf\\x7e\\xb8\\xf5\\x9f\\xeb\\x1e\\xf0\\x7f\\x9e\\x90\\x92\\xa4\\xea\\xbd\\x70\\x45\\xfa\\xbd\\x5b\\x7e\\x4a\\x08\\x1f\\x12\\x11\\x71\\xfb\\xad\\x33\\x67\\x35\\x4c\\xc4\\xdd\\xa4\\x98\\xbb\\x57\\xdd\\xf1\\x42\\xbd\\xda\\xf7\\x2c\\xfc\\xd7\\x71\\x27\\xef\\x08\\xbc\\xf9\\x91\\x2b\\x87\\x98\\xd7\\x92\\xbe\\xbe\\x34\\xb3\\x66\\x0d\\x0e\\xbf\\xf0\\xb0\\x30\\xa5\\xdc\\x46\\x94\\x65\\xe1\\x62\\x4c\\xb4\\x58\\x51\\xd6\\x82\\x92\\x70\\x57\\x54\\x94\\xaa\\xe1\\x76\\xeb\\xa0\\x64\\x11\\x84\\xf4\\xc0\\xd2\\x27\\x0b\\x02\\xd7\\x1b\\xfe\\x0b\\x54\\x92\\x7a\\x6d\\x29\\x5d\\x38\\x77\\x52\\xba\\x56\\x36\\x55\\x72\\xbc\\xf1\\x53\\xa7\\x87\\x3b\\x5d\\x78\\x3a\\xc1\\xf8\\x61\\xe3\\xc6\\xb7\\xeb\\xbc\\x7b\\xe1\\x6f\\xea\\xc3\\xb1\\xaa\\xbd\\xff\\x5d\\xd5\\x7e\\x91\\xb9\\xe1\\xfc\\xdc\\xeb\\xcc\\xf2\\x0b\\xf5\\x8c\\x06\\xe2\\xfc\\xbf\\x44\\x9f\\x34\\x5f\\x63\\x5f\\xab\\x2f\\xa5\\xbe\\x6e\\xf5\\x92\\x92\\x12\\xeb\\xc4\\x9a\\x75\\xcd\\x3a\\xe1\\x56\\x83\\x86\\x12\\x3f\\xaf\\x24\\x5a\\x3c\\x32\\x4b\\x1e\\x94\\xad\\xb2\\x47\\x0e\\xca\\x0f\\x12\\x1e\\x45\\xe5\\xeb\\x4e\\x4c\\x24\\x59\\x12\\xdd\\x7a\\xb1\\x44\\x47\\xec\\x89\\x30\\x22\\x22\\xdc\\x44\\x21\\x23\\x14\\x05\\x70\\x77\\xc2\\xd0\\xa2\\xba\\xad\\xd8\\xa8\\x71\\xb5\\x92\\x53\\x7e\\x07\\x3f\\x26\\x39\\x25\\x0c\\xbb\\x29\\xfb\\x3b\\xaa\\x6f\\xdf\\xfb\\xd8\\x7f\\xcc\\x7f\\xe6\\xc9\\xbb\\x1a\\x67\\x47\\x35\\xaa\\xe8\\xb2\\x75\\xbb\\xff\\xfc\\xf4\\xd1\\xa5\\x0b\\x8c\\xcd\\x49\\x17\\xb6\\xf7\\x9b\\x6b\\xc6\\x6c\\x79\\xf0\\xe8\\xd9\\x16\\x80\\x9c\\xe8\\x79\\x6e\\xb7\\xd8\\x75\\x8d\\xbb\\xef\\xf6\\x17\\xd6\\x15\\x07\\xd3\\xa1\\xf8\\x70\\x96\\x3c\\xaa\\x27\\x4d\\xa4\\xa7\\x2f\\x25\\x36\\x29\\xc9\\x4c\\x4e\\x8c\\x48\\x34\\xcd\\xa6\\xcd\\x12\\x1a\\xcd\\x2f\\x49\\x48\\x08\\x93\\x30\\x4c\\x8d\\x8c\\x0c\\x0b\\x93\\x86\\xbf\\xaf\\xec\\x8c\\xf4\\xa0\\xa9\\xbf\\xdb\\x19\\x4c\\x8f\\x0e\\xed\\xe3\\x1a\\x65\\xb4\\x4b\\x0c\\xa3\\x16\\x4f\\x4d\\x31\\xcc\\x60\\x4a\\xd4\\xd2\\x35\\xb8\\x93\\x33\\xf4\\x86\\xb9\\xd5\\x81\\xe7\\x3e\\x78\\x44\\x35\\xdb\\x71\\xd3\\x3d\\xcd\\xb2\\x6b\\x94\\x8c\\xbc\\xef\\x48\\x9b\\xfe\\x5b\\xf2\\x1f\\x79\\x7a\\xf6\\x27\\xfe\\x3b\\x67\\x4f\\x5b\\xb1\\x7e\\xdc\\xe4\\x79\\x5b\\x62\\x12\\xce\\x7e\\xf9\\x1f\\xf5\\xc8\\x4f\\x1d\\xaa\\x56\\x77\\xf3\\xef\\xf5\\x9f\\x6d\\xd5\\xfe\\xe1\\x5b\\x36\\x7c\\xb7\\x5c\\x6d\\xdd\\xbc\\xf3\\xf8\\x9b\\x33\\x66\\xf4\\x98\\x1b\\xd8\\x07\\x17\\x89\\x58\\x79\\xc4\\x20\\x5c\\x3a\\xf9\\x92\\x94\\xe9\\x72\\xbb\\x23\\x22\\xc3\\x4c\\x33\\xd2\\x55\\xd7\\x32\\xd8\\x95\\xae\\x2c\\x61\\x4f\\x53\\xca\\x70\\x07\\x20\\x76\\x6c\\x0e\\xee\\x6d\\x71\\x4e\\xfc\\x81\\x56\\xa3\\xa8\\x52\\x55\\xb2\\x8a\\xfb\\xff\\x50\\xf6\\x26\\x80\\x51\\x54\\x49\\xe3\\xf8\\xab\\x3e\\xa6\\xbb\\xe7\\xea\\x9e\\xfb\\xcc\\x4c\\x26\\x93\\x49\\x48\\x26\\x21\\x21\\x93\\x90\\x10\\x84\\x34\\xc8\\x11\\x03\\x92\\x10\\x11\\x68\\xae\\x44\\x44\\xe4\\x90\\x1b\\x61\\x15\\x15\\x14\\x14\\x10\\x51\\x54\\x3c\\x38\\x84\\x88\\x88\\x28\\x08\\xa8\\xa8\\x78\\xa3\\xe2\\xae\\xae\\xb2\\xe0\\xbd\\xdf\\xba\\x0a\\xee\\xb2\\x2a\\x9e\\xec\\x2e\\xfa\\x73\\x81\\x74\\xfe\\xaf\\x5f\\xf7\\x4c\\x26\\x01\\xf7\\xfb\\x7f\\x1e\\x99\\x99\\xee\\x7a\\xd5\\xef\\xa8\\x57\\xd7\\xab\\xaa\\x1e\\x58\\x43\\xf7\\xb7\\x9f\\x7b\\x77\\x0d\\x9d\\xd3\\xfe\\x0a\\x83\\xa0\\xdf\\xa5\\x67\\x25\\x66\\xbb\\xf6\\x1c\\x1a\\x25\\xf1\\x3c\\x9d\\xc4\\x3c\\xcf\\x4d\\xac\\xf9\\x49\\x72\\xaf\\xb0\\xc5\\x6f\\xb2\\x61\\xe1\\x82\\x0a\\x25\\xc9\\x12\\x8b\\x61\\x66\\x58\\x9c\\xb4\\xd1\\x91\\x60\\x24\\x88\\x17\\x36\\x02\\x16\\x3a\\x12\\xe1\\x5d\\xae\\xfc\\x05\\x8a\\x8b\\xe3\\x3d\\x0b\\x14\\xbe\\x93\\x25\\x76\\xae\\x30\\xea\\xd3\\x27\\xa3\\x77\\x77\\xda\\x97\\x9a\\xc2\\x4d\\xb6\\x10\\x5e\\xe2\\x82\\x2a\\x29\\xa1\\x2b\\xd8\\xb9\\xa0\\xcd\\x5e\\x1c\\xf3\\x4f\\x30\\xa6\\xd1\\x84\\xf9\\x27\\x7d\\xf2\\x8e\\x45\\xa3\\x27\\xab\\x96\\x37\\x5f\\x86\\x4a\\xf9\\xf2\\x93\\x7f\\x85\\x71\\xed\\x87\\xb7\\x6c\\xfc\\xb3\\xfa\\x7b\\x18\\xb6\\x7c\\xed\\x98\\x09\\xb7\\xde\\x3a\\x86\\x19\\x74\\xe7\\xe1\\xbc\\xc8\\x9a\\xa9\\x6a\\xe5\\x23\\xf7\\xc3\\x90\\x09\\xe1\\xc5\\xe3\\x0f\\x1f\\x3d\\x73\\x72\\xff\\xd1\\xcf\\xd4\\x95\\x5f\\x51\\xcf\\x3f\\xf9\\xe8\\x15\\x13\\x1f\\xd9\\x33\\x71\\x32\\xa1\\x85\\x8b\\xf0\\x18\\x8f\\x11\\x7e\\xd7\\x03\\xd5\\xc9\\xb1\\x3c\\xbf\\x33\\x1c\\xa6\\x69\\xbf\\x40\\x17\\x15\\x7b\\x12\\x0b\\x15\\x8f\\x07\\xd3\\x02\\xe6\\x2a\\x66\\x2e\\x80\\xa2\\x98\\x14\\x38\\x83\\x14\\x2e\\x48\\x09\\x84\\x60\\x29\\x26\\x9e\\x57\\x58\\xad\\x53\\xac\\xd3\\x95\\x31\\x19\\x20\\xdd\\xfb\\x54\\x45\\x75\\x6f\\xea\\xf2\\x57\\x0e\\xef\\x50\\xbf\\xde\\xf9\\xec\\xca\\xc2\\x81\\x96\\xbc\\xe9\\x7d\\x1e\\xfe\\x4b\\x8f\\xe6\\x27\\x06\\xb7\\x1d\\x98\\xff\\x09\\x4c\\x9b\\x3b\\x73\\xd5\\xbd\\x73\\x26\\xaf\\xbe\\xd3\\xce\\x0e\\xff\\xd7\\xf1\\x0e\\x75\\xdc\\xc9\\xde\\x9f\\xdf\\xe1\\x8e\\x42\\x39\\x70\\xe5\\x15\\xfb\\xb7\\xdc\\xfd\\xc5\\x22\\x75\\xe4\\xce\\x03\\x1f\\xbd\\x72\\xd3\\x75\\xfd\\xe6\\x6b\\xfd\\x5f\\xdd\\xf1\\x77\\x8a\\xa7\\x0f\\xe2\\xa5\\xf0\\x69\\x72\\xc9\\xea\\x74\\x62\\xc1\\x18\\xf0\\x7b\\xc4\\x4d\\xe3\\x3d\\x52\\x46\\x3c\\x66\\x29\\x86\\xdd\\xa5\\xa4\\x2b\\x5b\\x62\\x2e\\x49\\x4b\\xcc\\xb5\\xdd\\x45\\x27\\x75\\x20\\x2d\\x43\\x29\\xd4\\xa2\\xbe\\x45\\xe5\\x91\\x67\\x86\\x51\\x95\\x1c\\x76\\x5a\\xad\\x3e\\xfc\\x50\\xd1\\xe7\\xcb\\x89\\x88\\xd2\\x66\\x25\\x28\\x3e\\x32\\x3e\\xb8\\x4d\\xa0\\x37\\x8d\\x17\\x24\\xe3\\xd9\\x9d\\x0f\\x37\\xe8\\x2f\\xdb\\x67\\xdd\\x4d\\x6f\\xa0\\xf2\\xd2\\xcf\\x5e\\xd5\\xa9\\x40\\xd0\\x43\\x8d\\xc7\\x9f\\xdb\\xd7\\x4d\\x95\\xc0\\xfb\\xe1\\x1b\\xf4\\x22\\xf3\\x30\\x73\\x3f\\x32\\xa1\\x71\\x72\\x35\\x65\\x62\\xc0\\x04\\x3c\\xc7\\x50\\x76\\xc5\\xc4\\xd8\\x4d\\xb9\\x08\\xda\\x98\\xa3\\x0c\\x55\\xce\\xc8\\x4c\\x2b\\x33\\x97\\x59\\xc7\\x1c\\x64\\x4c\\x88\\x29\\x67\\x9a\\xf0\\xcf\\x65\\xf8\\xe7\\x3e\\xe6\\x38\\xc3\\x33\\x07\\x3a\\x0e\\xee\\xef\\xd1\\xab\\x9e\\xd9\\x8b\\x02\\x75\\xc9\\x89\\xf3\\xe6\\xa7\\x52\\xc1\\xc3\\xc9\\x6c\\x59\\xee\\xaa\\x02\\x8f\\x00\\x9e\\x6f\\xe8\\x17\\xce\\x7d\\x4a\\x17\\x51\\x77\\x55\\xc0\\xc7\\x57\\xab\\xd7\\xa9\\xd7\\x5d\\xad\\xf3\\x94\\x93\\xb0\\x93\\xd9\\x86\\x15\\x3c\\x1a\\x93\\xc8\\x58\\xb9\\x96\\xa3\\x18\\xa0\\x80\\x17\\x4c\\xdc\\x93\\x4a\\xae\\x09\\x4e\\x99\\x60\\xaf\\x09\\x24\\x13\\x20\\x93\\x6c\\x6a\\x32\\x1d\\x37\\x31\\x56\\xbc\\x8d\\x28\\x7c\\x8f\\x6e\\xa2\\x29\\x91\\x3e\\xa6\\xfd\\x39\\x42\\x77\\xd0\\x34\\x8d\\xca\\xf0\\xd3\\xf1\\xa4\\x69\\xdb\\x45\\x53\\x58\\xb3\\xfb\\x00\\x9e\\x58\\x95\\xf6\\x3f\\xb3\\xed\\xdc\\x50\\xdc\\x8f\\xa1\\x94\\x7d\\xea\\x54\\xd8\\x38\\x75\\xea\\x6f\\xcd\\x01\\xc5\\xd8\\x15\\x44\\xd9\\x51\\xae\\x89\\x6d\\xa3\\x8e\\x52\\x54\\x39\\x25\\x63\\xa5\\x6b\\x2e\\xb5\\x8e\\x3a\\x88\\xb9\\x03\\xfe\\xd9\\x84\\x7f\\x2e\\xc3\\x3f\\xf7\\x51\\xc7\\x31\\xe7\\x30\\xe6\\x80\\xfa\\xcd\\x39\\xa8\\xae\\x12\\xa0\\x4a\\x9b\\x83\\x22\\x3c\\x07\\x2f\\xbc\\x78\\x35\\xac\\x84\\x95\\x57\\xab\\xc9\\x0a\\x44\\x41\\xbc\\xe3\\xef\\xf4\\x4f\\x78\\x1f\\x79\\x50\\x0c\\xdd\\x28\\x0f\\x37\\x39\\x3d\\x14\\xe6\\x42\\x5e\\xaf\\x2d\\xec\\x0c\\x63\\x9e\\xe8\\xd9\\xac\\x98\\x44\\x0a\\x44\\x2a\\x4a\\xd5\\x51\\x8d\\xd4\\x52\\xea\\x2e\\x6a\\x2b\\xc5\\x09\\x34\\xc8\\x39\\x89\\x7a\\x90\\x25\\x6f\\x3d\\x85\\xe7\\x4b\\x8a\\x06\\xa2\\x9b\\xc6\\x07\\xda\\x90\\x0d\\x04\\xda\\x66\\x93\\x24\\x7e\\xb3\\x22\\x31\\xa8\\x53\\x50\\xeb\\xac\\x04\\x6f\\xbc\\xb2\\x64\\x52\\x9b\\x9f\\x3e\\xe9\\xde\\x69\\x4a\\x47\\xca\\x10\\x1b\\x71\\x57\\xb5\\x26\\xa0\\x75\\xf9\\x5c\\xad\\xa9\\x5f\\x12\\xcb\\xd1\\xd9\\x64\\xfe\\x4b\\x53\\x6c\\xfd\\x82\\x39\\x7f\\xb8\\x68\\x69\\x7e\\xc5\\xc0\\xe8\\xd6\\x36\\x98\\xad\\xde\\xd8\\x57\\x1a\\x9c\\xd2\\xa8\\xae\\x62\\x08\\x4c\\x82\\x11\\x39\\xde\\x6d\\x1b\\x3f\\x2f\\x09\\x6f\\x57\\x07\\xaa\\x9f\\xa9\\x9b\\x2e\\xb3\\xb5\\x9f\\xd1\\xc9\\x6f\\x30\\x59\\xeb\\xdf\\xa9\\x4b\\x4c\\xed\\xec\\x28\\xd4\\x0f\\xd5\\xa3\\x0f\\xe4\\xdb\\x7a\\x73\\x17\\x87\\x13\\x3d\\x7a\\xd4\\xf7\\x77\\x7b\\xcb\\xec\\x76\\xe4\\x0d\\x73\\xec\\x25\\x0d\\xfd\\x02\\x74\\x5e\\xdd\\x27\\x8a\\x77\\x70\\x60\\xf0\\x9f\\x15\\x67\\xf2\\x53\\xc5\\xe9\\x0c\\x88\\x79\\xd1\\x3c\\x4a\\x0c\\x44\\x03\\x94\\x44\\xe7\\x05\\xf2\\x02\\x16\\xda\\x52\\xf1\\xb1\\x62\\x61\\xe8\\xda\\x8f\\x15\\x5a\\x6c\\x80\\x8e\\x06\\x38\\xda\\x00\\x07\\x1b\\x60\\x5f\\x03\\xb4\\x35\\x40\\x59\\x03\\x9c\\x6a\\x80\\xe3\\xe4\\x62\\x4b\\x03\\x48\\x0d\\x80\\x1a\\x40\\x5e\\xd7\\x00\\xad\\x0d\\xd0\\xd4\\x00\\x3f\\x35\\xc0\\xb1\\x06\\xc0\\x3f\\x97\\x35\\x00\\x6e\\x6c\\x98\\x32\\x69\\x7b\\xc7\\x30\\x77\\x50\\x59\\x86\\x01\\x6b\\xb3\\x86\\xe7\\x6c\\xa2\\x03\\xcb\\x31\\x6d\\x42\\x75\\x7d\\x27\\x23\\x71\\x3b\\x0f\\x31\\x58\\x13\\x66\\x61\\xf9\\x54\\x95\\xe4\\x44\\xb1\\x5c\\xe4\\x20\\x1c\\xad\\xaa\\xb2\\x3a\\xcd\\xca\\xe8\\xbe\\x50\\xe1\\xa3\\x4d\\x86\\x22\\x5b\\x55\\x89\\x62\\x79\\x0c\\xe5\\x70\\x3b\\x19\\xe2\\x05\\x29\\xcc\\x33\\x61\\x1d\\x57\\xfb\\xca\\xbe\\xb2\\x56\\xfd\\x72\\xc7\\x97\\xea\\xe3\\x2f\\x9d\\x85\\x97\\xc0\\x0e\\x4d\\x30\\xef\\x0d\\xf5\\xb9\\x67\\x06\\xf0\\x63\\x76\\x5e\\x5c\\xdf\\xd8\\x6f\\xce\\x63\\x6d\\xb7\\xe4\\x17\\x94\\xcf\\xf7\\x25\\x12\\x0b\\x0f\\xce\\x55\\xdf\\x56\\x7f\\x3c\\xa9\\xae\\xf9\\x74\\x13\\x14\\xbc\\xbd\\xfe\\x3f\\xb7\\xaa\\x7f\\xeb\\x75\\xcb\\xde\\xe9\\x4d\\x35\\xf7\\xf6\\x3b\\x30\\xbb\\xe5\\x15\\x18\\xfb\\x17\\x08\\xc3\\x7b\\x40\\xa9\\xaf\\xaa\\x5f\\xbc\\xaa\\x3e\\xf5\\xc7\\x54\\xc5\\xb0\\x31\\xca\\xac\\xf1\\x8b\\xff\\xbe\\x6f\\x49\\xa9\\xa9\\xfd\\xc7\\xd9\\x72\\x22\\xf0\\x08\\xe4\\x6d\\x3c\\x07\\xfe\\xbf\\xab\\x97\\xa9\\x67\\xdf\\x54\\x8f\\xee\\xba\\xb4\\x85\\xde\\xcd\\x28\\xea\\xaf\\xf7\\xdd\\xd7\\xbf\\x12\\xaf\\x59\\xc7\\x3a\\x2c\\x33\\xbf\\xc5\\xba\\xb3\\x88\\x9c\\x68\\x8e\\xdc\\xdf\\x61\\x17\\x45\\xc6\\xc4\\x3a\\x6d\\x92\\xd5\\xca\\x71\\x12\\x43\\xbb\\xdc\\x36\\xbb\\xc3\\xde\\xaa\\x38\\x1d\\x0e\\x4a\\x32\\xb1\\x8c\\x68\\xc5\\x1c\\x84\\x69\\x51\\xcc\\x94\\xf3\\x94\\x1b\\x8e\\xbb\\xe1\\xa8\\x1b\\x0e\\xba\\x61\\x9f\\x1b\\xda\\xdc\\x86\\xb1\\xae\\xb9\\x4b\\xc9\\x71\\x05\\x96\\x07\\x44\\xdf\\xca\\x56\\xb7\\xb0\\x96\\x55\\x51\\x81\\x3f\\x35\\x65\\x2b\\xc1\\xc5\\xea\\x00\\x52\\x2e\\x9f\\xf6\\x49\\xc7\\x68\\x01\\xcb\\x5d\\xde\\xac\\xde\\x63\\x9e\\x4b\\x3d\\xf1\\xda\\x99\\x1b\\x2d\\x6a\\xc2\\x72\\x97\\xdc\\x7e\\xea\\x30\\xd5\\xac\\xee\\x84\\x0f\\xab\\x34\\x75\\xfc\\xd7\\xb3\\xbc\\xa6\\x96\\xc3\\x72\\xf5\\x46\\x66\\x5a\\xfb\\xb5\\xba\\x3c\\x76\\x75\\x9c\\x61\\x9e\\x23\\x72\\xdf\\x89\\x12\\xe8\\x26\\x79\\x28\\xed\\xf3\\x7a\\x3d\\xd6\\x58\\x2c\\x12\\xe2\\x25\\x8e\\x73\\x38\\x3c\\x1e\\x57\\xc8\\x55\\x58\\x10\\x91\\x78\\x5e\\x6a\\x55\\x10\\x5f\\xce\\xb7\\xf2\\xeb\\x78\\x26\\x48\\xf3\\xbc\\x3f\\xdf\\xef\\x6d\\x51\\xfc\\x5c\\xab\\xe2\\xa7\\x1d\\x0e\\xc1\\x25\\xb4\\x2a\\x2e\\x4f\\x8b\\xe2\\x72\\xce\\x2d\\x84\\x89\\xc4\\x92\\xd3\\xb6\\x58\\x9d\\xe6\\xfe\\xc5\\xa6\\x43\\x46\\x56\\x67\\x36\\x3f\\xd1\\x1b\\x9d\\xe9\\xef\\x15\\x9a\\xb0\\xd3\\x24\\x72\\x12\\x68\\x57\\xfa\\x8b\\x97\\xad\\x03\\x57\\x61\\xb5\\xe6\\xff\\x35\\xb4\\xe1\\x58\\x82\\x5a\\xfa\\xc6\\xa3\\xb7\\xdc\\xb7\\x65\\xec\\x9d\\x07\\xf7\\x3f\\xf5\\xd8\\x8b\\x53\\x36\\xa8\\x1e\\xf3\\xad\\xef\\xef\\x34\\x53\\x85\\xf0\\xe2\\x53\\x5b\\x36\\x3d\\xa1\\x7e\\xae\\x7e\\xa1\\xde\\x4c\\xfd\\xeb\\x96\\x47\\xa6\\x4d\\x51\\xc5\\xf6\\xc9\\xf7\\x3d\\xb9\\xea\\xfa\\xf6\\x37\\x4c\\xa3\\xf0\\x0c\\x6c\\x09\\x56\\xa9\\x5f\\xad\\x3d\\xe0\\xb1\\x6d\\x5d\\xfe\\xe9\\x3b\\x26\\xa2\\xf7\\xcc\\xef\\xf8\\x81\\x9d\\x8e\\x79\\x4c\\x04\\x8d\\x92\\x7b\\x61\\xdd\\xd3\\x22\\x08\\xb9\\x2e\\x9a\\x8e\\xe6\\x72\\x62\\x8b\\x32\\xc7\\x72\\xc4\\x72\\xcc\\x42\\x23\\x0b\\x08\\x16\\x0b\\xc7\\xa0\\xa0\\x14\\xcc\\x0d\\xd2\\x36\\x3a\\x18\\x44\\x08\\x8f\\x1c\\xb9\\xb2\\xd9\\x48\\xaa\\x0c\\x6f\\x84\\x8c\\xb5\\x6f\\x48\\x45\\x36\\x17\\x19\\x8a\\x1c\\x1d\\xaf\\xea\\x89\\xa9\\x9d\\x31\\xac\\xb5\\x3a\\xac\\x27\\x9b\\x18\\xea\\x25\\xf5\\x07\\xf5\\x8f\\x47\\xe0\\xc6\\x9f\\x3f\\xfc\\x7b\\xe9\\x80\\xfe\\xfb\\x5a\\x9f\\x55\\xbf\\xdc\\xfa\\xfe\\xeb\\xf3\\xff\\x32\\xa8\\x7e\\x40\\xbf\\x05\\xea\\xff\\x73\\x41\\xae\\xfa\\x2b\\xdc\\x70\\x38\\xa5\\x7e\\xb6\\x27\\x59\\xf6\\xba\\xba\\xe5\\x6f\\x9f\\x7e\\x39\\xa8\\xea\\x1d\\xf5\\xad\\xe2\\x32\\x4c\\x7f\\x27\\x3b\\xce\\xb1\\x3b\\xc9\\xda\\xf9\\xd0\\x45\\x72\\x1e\\xb2\\xd2\\x1e\\x0f\\xe3\\xb6\\xba\\x03\\x7e\\x1f\\x5e\\x06\\x1f\\xdd\\x8a\\xff\\x77\\xba\\x5b\\x14\\xa7\\x09\\xd3\\xa0\\x73\\x6e\\x40\\x5f\\x94\\x8c\\xec\\x4c\\x0b\\x4f\\x3c\\xef\\x52\\x2c\\x4e\\x7b\\x53\\x58\\xac\\x19\\x7b\\x33\\x11\\x27\\xd3\\xce\\x7c\\xd2\\xde\\xbe\\xed\\xbd\\xb6\\x69\\x50\\x00\\x17\\xab\\xb5\\x70\\x31\\x5c\\xfe\\x8e\\x7a\\xc7\\x2f\\x6a\\x74\\x97\\xb0\\xef\\xe8\\x63\\x02\\xed\\x80\\x0f\\xce\\x2e\\xe1\\x61\\x26\\x7d\\x03\\xd6\\x9a\\x7f\\xf9\\x49\\x5d\\xff\\x3a\\xa3\\x4f\\x32\\xb6\\xab\\xbe\\xc1\\x7b\\xe3\\x0d\\x72\\x2e\\x79\\xa3\\x5c\\x6f\\x76\\x08\\x4e\\x67\\x48\\x40\\x28\\x44\\xfb\\x6c\\x21\\x26\\x9c\\xe3\\x72\\x06\\x9c\\xad\\x8a\\xe8\\x30\\x3b\\x5a\\x15\\xeb\\x31\\x33\\xb4\\x98\\xe7\\x98\\xa9\\x52\\x33\\xd0\\xc8\\x2c\\x99\\x29\\x81\\x35\\x9b\\x03\\x54\\x20\\xd4\\xa2\\x78\\x03\\x4e\\x0a\\x53\\x15\\x4b\\x61\\x05\\x41\\xa1\\x68\\x7d\\xba\\xb3\\x95\\xa5\\x16\\xe2\\x73\\x99\\x97\\xd2\\x99\\x4f\\x96\\x65\\xa2\\x6f\\x17\\x3c\\x34\\x4c\\x3c\\x74\\xbc\\x5a\\xa3\\xa5\\x58\\x75\\x8a\\x8e\\x17\\xc6\\xe8\\x58\\xae\\x36\\xf9\\xda\\xf6\\x99\\xbf\\xd3\\x4c\\xff\\xd8\\x67\\xa0\\x69\\xd6\\x47\\x9f\\x4d\\x84\\x19\\x17\\xc9\\x97\\xc8\\x94\\x7a\\xff\\x15\\xc0\\x03\\xba\\xfc\\xaa\\x81\\xcd\\x67\\x3f\\x30\\xef\\x65\\x7e\\xc4\\x24\\xf3\\xda\\xff\\xd8\\xdb\\x4f\\xb7\\xa9\\x53\\xb6\\xb5\\x7f\\x2e\\xfd\\xaa\\x6e\\xa9\\x0a\\xe1\\xf1\\xfd\\x8c\\xc7\\x77\\x1a\\x8f\\xcf\\x07\\x16\\x79\\x8f\\xc7\\xed\\x36\\xe1\\x2e\\x3b\\x90\\x24\\x01\\x70\\x26\\x93\\x3f\\xe0\\x45\\x0e\\x84\\x77\\x43\\x8b\\x63\\x8e\\x83\\x2a\\x75\\xe0\\x71\\x39\\x24\\x07\\x1e\\x17\\xde\\x25\\x8c\\xa0\\x6d\\x23\\x2b\\x16\\x46\\x56\\xab\\x20\\x70\\x2d\\x0a\\x16\\x58\\x26\\xc6\\xd4\\xa2\\x30\\x4e\\x29\\x00\\x28\\x00\\x7d\\x4e\\x05\\xe0\\x78\\x00\\x8e\\x06\\xe0\\x60\\x00\\xf6\\x05\\xa0\\x2d\\x00\\xeb\\x02\\xb0\\x2c\\x00\\x78\\x01\\x5b\\x03\\xd0\\x14\\x00\\x39\\x00\\xe5\\x01\\xc8\\x0d\\x80\\xde\\xe0\\xff\\x0a\\xff\\xff\\xc3\\xe9\\x7d\\x9e\\x09\\xde\\x65\\xba\\xd3\\x33\\xdd\\xa7\\xd3\\x00\\x24\\x7a\\xb7\\x66\\x02\\x12\\x7e\\xe4\\x32\\x26\\x3d\\x1e\\x33\\x26\\x1d\\x5e\\x9d\\xf0\\x99\\xb9\\xfd\\x0d\\xf3\\x36\\xbc\\x4f\\x99\\x5c\\x3c\\xe3\\xd7\\x7c\\xac\\xfe\\xfb\\x4a\\x78\\xa5\\x6f\\xbf\\xfa\\x7e\\x34\\x35\\xae\\xfd\\x17\\xe2\\x2f\\xd8\\x62\\xcc\\xf5\\xfb\\xda\\x5c\\xe3\\xbd\\x39\\xaf\\xe3\\x47\\x76\\x13\\xde\\x9b\\x31\\xac\\xfd\\x94\\x3b\\xe9\\x68\\x24\\xe2\\x0f\\xe0\\xfd\\x19\\xa0\\xe9\\xbc\\x78\\x24\\x10\\x0a\\xb4\\x28\\xa1\\x10\\xe2\\x38\\x7b\\x8b\\x22\\x5a\\xe6\\x58\\x96\\x5a\\x68\\x91\\x26\\xdb\\xd4\\x63\\x6c\\x4d\\x64\\x1c\\x81\\x66\\x14\\xeb\\xae\\x96\\x6b\\xf7\\xfd\\x89\\xfb\\x9b\\xd9\\x9e\\xd5\\x2e\\xe2\\xa4\\xa7\\xed\\x40\\x3d\\xad\\xfe\\xa4\\x1e\\x3d\\x0a\\x37\\xfc\\xf2\\xf5\\x9f\\x53\\x17\\xd3\\x4b\\x3f\\x7c\\x4a\\x3d\\xbe\\xed\\xf0\\x01\\x65\\x7f\\x5d\\xdd\\x63\\x02\\xfc\\x24\\xac\\x1a\\xf6\\xc0\\x69\\x27\\x44\\xd5\\xb3\\x70\\xfd\\x7b\\x17\\xa9\\xc7\\x77\\x4c\\x7d\\x4d\\x6d\\xfb\\xea\\xe8\\xc9\\x54\\x0f\\xb8\\x22\\xd8\\xbb\\x77\\x50\\x9d\\x50\\xdb\\x53\\xf3\\x33\\x7c\\x8b\\x4d\\xd6\\x38\\xd9\\x0f\\xcb\\xe4\\x41\\x3e\\xb3\\xd7\\xe2\\x75\\x38\\x2c\\x92\\x5f\\x08\\xf0\\x01\\xac\\x6b\\xd3\\x94\\x44\\xe5\\x84\\x7d\\x7e\\xc1\\xdf\\xaa\\x98\\x45\\xa1\\x4e\\x68\\x14\\x68\\x0b\\x2d\\x08\\x88\\x95\\x2c\\x3c\\xcd\\xd2\\x2d\\x8a\\x8d\\xa5\\x03\\x5e\\x07\\x85\\xa8\\x16\\xc5\\x8d\\x9c\\x73\\x73\\xb4\\xbd\\x5c\\x91\\x11\\x15\\xe9\\x23\\x6e\\x7d\\x89\\x52\\xd9\\x07\\x11\\xc6\\x4e\\xd0\\x47\\x4c\\xb6\\x84\\xbe\\xb7\\xb5\\xd1\\xc5\\x8c\\x4f\\x7d\\xd1\\x62\\xf8\\xd3\\xcb\\xef\\x3b\\xb2\\x83\\xa7\\x02\\xfc\\x33\\x13\\xa8\\xc5\\x13\\xc8\\xb7\\xa7\\x8f\\xec\\x10\\xda\\xbf\\xe1\\x9f\\xbe\\xb2\\x7d\\xf5\\x95\\x3b\\x78\\x7d\\x99\\xaa\\x82\\xed\\xff\\xa4\\x44\\xed\\xf3\\xec\\x64\\x6d\\xe9\\xa8\\xaa\\xf6\\x77\\x43\\x55\\xda\\x38\\x7f\\xc5\\x82\\xf1\\x0c\\x89\\xd1\\x19\\x2c\\xe7\\xe3\\xad\\xc0\\x62\\xce\\x89\\x10\\xcb\\x5a\\x6d\\x16\\x13\\x8f\\xa9\\x9c\\xa7\\x11\\x4b\\xb3\\x2d\\x0a\\xed\\x14\\x6d\\x40\\x2d\\xb3\\xc1\\xc4\\x96\\x79\\xd9\\xd4\\xd6\\xc9\\x3f\\xf5\\x05\\x4a\\x64\\x08\\x4a\\x04\\x98\\xb7\\x83\\x6f\\x3f\\x99\\xee\\xe1\\xd3\\x4d\\x69\\xa2\\xa9\\x0a\\xea\\x36\\x6c\\x14\\xdb\\x5d\\x9f\\xe3\\x67\\xbb\\x50\\xa5\\x1c\\x74\\x61\\xb5\\x95\\x65\\x2d\\x16\\xb7\\x87\\xd7\\x98\\x8c\\x95\\x77\\x69\\xfe\\xac\\x4e\\x2e\\x62\\xd8\\xde\\xd0\\xc7\\x99\\x39\\x20\\xd0\\x27\\x83\\xc2\\xd6\\x62\\xda\\xd8\\xaa\\xa6\\x16\\x3f\\x26\\x50\\x8c\\xf0\\xd0\\x3d\\x4d\\xea\\x73\\x83\\x6f\\x2a\\x2a\\x1e\\xc0\\xda\\x2e\\x2b\\xbe\\x23\\xa6\\xb1\\x85\\xaa\\xe0\\xb9\\x37\\xd4\\x8b\\x42\\xae\\x6f\\xd6\\x78\\xa3\\xaf\\x6a\\xcf\\xd7\\x78\\x1e\\xbb\\x07\\x3f\\x3f\\x80\\xd6\\xca\\x4d\\x0e\\x49\\x12\\x69\\x9e\\x12\\xbc\\x82\\xd9\\xe5\\xf1\\xd0\\x94\\xc5\\x6c\\x66\\x44\\x1f\\x25\\x52\\xc1\\x10\\xe5\\xf3\\x48\\x4e\\x09\\xcf\\x81\\x17\\x6b\\xa4\\x01\\x27\\x8d\\x6f\\xd8\\xb0\\xb4\\xe1\\x6c\\xce\\xb6\\x10\\xac\\x0b\\xc1\\xb2\\x10\\xcc\\x0d\\x41\\x6b\\x08\\x9a\\x42\\x80\\x8d\\xf1\\xf2\\x10\\xe4\\x86\\x3a\\x77\\x6d\\x5a\\x45\\xc0\\x03\\xc0\\x86\\x6e\\x67\\x70\\x03\\x31\\xc3\\x2b\\xb4\\x3f\\xc6\\xa6\\x74\\x66\\x54\\x7c\\x11\\x04\\xc0\\xf3\\x08\\x1c\\x9d\\x35\\x9b\\x34\\x1e\\x2f\\xbb\\xc7\\xbc\\xb9\\xfd\\x23\\x78\\xed\\x36\\xb3\\x7a\\x58\\xbd\\xea\\xae\\xb1\\x2f\\x9b\\xdb\\x3f\\x32\\xef\\xd5\\x84\\x69\\xc0\\xbc\\x6f\\x32\\xb5\\x63\\xb1\\x99\\xed\\x57\\x15\\x54\\xfb\\xb4\\x17\\x85\\xaa\\xa8\\x3d\\xd7\\xaa\\xbe\\xce\\x29\\x6f\\xff\\x80\\xea\\x89\\x39\\xbd\\x31\\x6e\\xc6\\x49\\x2a\\x1a\\x4e\\x96\\x0b\\x19\\x16\\x8f\\x54\\xb0\\x89\\x22\\x42\\x02\\x2b\\x38\\x24\\xd1\\x6c\\x35\\xb7\\x28\\x56\\x9a\\x13\\x5a\\x94\\x36\\x06\\x10\\x23\\x61\\x2b\\x8a\\x66\\x48\\x21\\x4b\\x97\\xb7\\x9e\\x61\\x38\\x0e\\x73\\x4a\\xce\\x99\\x16\\xa5\\x44\\x07\\x4f\\x7b\\xd2\\xb2\\x89\\x38\\x4d\\x10\\x78\\x55\\x5c\\x84\\x7d\\x1b\\x44\\x71\\xe5\\x27\\xaf\\xce\\x9c\\x33\\x60\\xf4\\xb9\\x12\\xbd\\xe3\\x17\\x99\\x3f\\x1c\\xed\\x06\\x9f\\xba\\xb4\\x0b\\x6d\\x68\\x7d\\xe4\\x78\\xdc\\x47\\x3f\\xba\\x5a\\xae\\x32\\x0b\\x82\\x16\\xa1\\x64\\xe3\\xfd\\x76\\x9f\\xcf\\xe9\\x14\\x1d\\xbc\\x23\\x10\\x74\\x08\\x16\\xdc\\x45\\xbf\\xdd\\x4a\\x59\\x68\\x9f\\x93\\xe6\\x4d\\x7c\\x8b\\xe2\\xf9\\xd0\\x06\\x2b\\x6c\\x60\\xc3\\x36\\x96\\x93\\x04\\x99\\x18\\xa2\\x46\\xd7\\xcf\\x52\\xd9\\x1b\\x4d\\x97\\xf9\\x64\\x05\\x52\\x15\\x5a\\x47\\x63\\x71\\x0b\\x64\\xa6\\xdb\\x05\\x9d\\xfb\\x8c\\x7a\\x3f\\xfe\\xf5\\x2b\\xfb\\xcc\\x6a\\x0d\\xe9\\x30\\xdc\\xf4\\x27\\x6a\\x34\\xdc\\x63\\xde\\x87\\xbf\\xb7\\x1f\\x37\\x1f\\x78\\x85\\xb9\\xf9\\xec\\x91\\xf4\\x34\\x9f\\x03\\xba\\x23\\xbd\\xc7\\x98\\x5e\\xda\\x38\\xfe\\x89\\x69\\xec\\x59\\x42\\xe3\\x43\\xe5\\x38\\x2f\\x08\\xa2\\xdd\\xa5\\x39\\x6d\\xed\\xac\\xdb\\xc3\\x22\\xd1\\x89\\xc9\\x88\\xa7\\x9c\\xb4\\x60\\xb7\\x62\\xae\\xe8\\xe2\\xac\\xee\\xb4\\xb7\\xde\\x9f\\xed\\xb5\\xcf\\x74\\x37\\x8b\\xec\\xe3\\x59\\xbc\\x1b\\x98\\x7b\\xf6\\x99\\xe1\\x1d\\xf3\\xbe\\x63\\x57\\xa8\\xd1\\x3f\\x74\\x76\\x75\\x05\\xdc\\xa5\\x53\\xfe\\x59\\x27\\xf3\\xdc\\xd9\\x8d\\x99\\x5e\\xba\\x74\\x7b\\xf5\\xea\\x8e\\xef\\xd9\\x07\\x30\\xbf\\xb6\\xa1\\x1c\\x54\\x22\\xfb\\xf0\\x9a\\x06\\x9d\\xc1\\x48\\xd4\\x8b\\xd9\\x97\\x97\\xb1\\x63\\x2a\\xb0\\xbb\\xe6\\x46\\x89\\x12\\xd2\\xcd\\xa7\\xad\\x3b\\x32\\x32\\x7e\\xec\\xbc\\x7c\\xc3\\xfb\\xc5\\x10\\xdf\\x07\\x73\\xe4\\xf0\\xce\\xfb\\xfe\\xf3\\xd0\\x3b\\x3b\\xee\\x6b\\xdf\\xda\\xfe\\xf6\\xc3\\x6a\\xc7\\x9d\\x6f\\xc3\\xb8\\x2f\\x1e\\x06\\xb8\\xf3\\x1d\\xf5\\x31\\x5a\\x7e\\xfb\\xf4\\xbb\\xea\\x6d\\x07\\x7f\\x7f\\xea\\x1d\\xb8\\xbe\\x7d\\xda\\xca\\x5f\\x36\\xfc\\x13\\x56\\x7e\\xb0\\xf2\\xe7\\x8d\\x3f\\xa8\\xf3\\x8f\\x60\\x1d\\x49\\x93\\xd3\\x7b\\xf1\\x7c\\x71\\x78\\xe5\\x4f\\xcb\\x8f\\x4a\\xa2\\x68\\xe7\\x78\\x93\\x49\\x10\\xec\\x94\\xc7\\xee\\x09\\x04\\x39\\x1e\\xeb\\x21\\x1c\\x88\\x5c\\x94\\x6b\\xe4\\x5a\\x38\\x6c\\x43\\x73\\xb2\\x2b\\x50\\xcf\\x71\\x56\\x87\\x03\\x4f\\xa6\\x03\\xab\\x4e\\x0e\\x63\\x3a\\xad\\x4e\\x29\\x08\\x28\\x88\\x05\\x74\\x10\\x8e\\x07\\xe1\\x68\\x10\\x0e\\x06\\x61\\x5f\\x10\\xda\\x82\\xb0\\x2e\\x08\\xcb\\x82\\x30\\x37\\x08\\xad\\x41\\x68\\x0a\\x82\\x1c\\x84\\xf2\\x20\\xe4\\x06\\x41\\x6f\\xf0\\x7f\\x85\\xff\\xbf\\x08\\xe8\\xb4\\x6c\\xc3\\xbb\\x26\\xcb\\xac\\x4f\\x4b\\x65\\x6d\\x6e\\x73\\x1d\\x44\\x93\\xce\\xda\\xfb\\xba\\x0f\\x94\\x9a\\x02\\x2b\\xee\\xbe\\x67\\xfd\\x5c\\xa9\\x31\\x23\\x9a\\xa9\\xc0\\x9f\\xbf\\xc5\\xc6\\xe9\\x29\\x6a\\x1a\\x5c\\x75\\xd7\\xca\\xf6\\x5b\\xc7\\xa9\\x03\\xd3\\x6b\\xfc\\xcc\\x3e\\xad\\x2c\\x15\\x85\\xe6\\xa9\\xfb\\xd9\\x87\\xf1\\x1a\\x87\\x51\\x31\\xa6\\xc0\\x82\\x7c\\x47\\x4e\\x4e\\xc0\\x8a\\x35\\x50\\x3e\\x59\\x12\\x28\\xc4\\x73\\x14\\x70\\x79\\x34\\xfd\\xc6\\x83\\xf5\\x1b\\x0f\\x93\\x8b\\xb5\\x1a\\x66\\x6e\\x89\\xb1\\xe4\\x44\\x14\\x1b\\xba\\x9b\\x11\\x83\\xa4\\xab\\xfd\\xae\\xac\\xc5\\xe6\\x22\\x54\\x4a\\x3b\\x59\\xc4\\x76\\x61\\x19\\xf4\\xa4\\xba\\x52\\xc6\\xbc\\xf4\\xc2\\xdf\\xd9\\x81\\x76\\x5d\\x3e\\x7c\\x64\\xc5\\x65\\xd6\\xc0\\xf2\\xb2\\xa9\\xb7\\x5f\\x11\\x69\\x6b\\x5f\\xc3\\x4c\\xeb\\x24\\x13\\x8a\\x32\\xa8\\xe0\\xf7\\xea\\xb6\\xaf\\x8a\\x6e\\x1c\\x1e\\x67\\x06\\x9a\\x43\\xd3\\xb7\\x96\\xc3\\xea\\x7f\\xc3\\xa7\\x59\\x04\\x43\\xe8\\x96\\xd0\\xc8\\xeb\\x98\\x46\\xdc\\x78\\x54\\x0b\\x64\\x39\\x8c\\x42\\x21\\x4d\\x8d\\x13\\x25\\xc9\\xef\\xb7\\x99\\x6c\\x39\\x11\\x31\\xac\\xdd\\xc2\\x84\\x12\\x8e\\x86\\xeb\\xc2\\x8d\\x61\\xc6\\x43\\x87\\xc3\\x8c\\x20\\x84\\x5a\\x15\\x5d\\x83\\x93\\x34\\x15\\x0e\\xeb\\x7b\\x8c\\x73\\x6e\\x04\\x26\\x76\\x72\\xe8\\x64\\xb6\\x9b\\x12\\xa5\\x9c\\x7d\\xba\\x30\\xb4\\x54\\xc6\\x71\\x9e\\xbd\\x34\\x12\\xab\\x19\\x75\\x74\\xa1\\x66\\x02\\x61\\xb5\\x1c\\x5e\\x1e\\xf7\\x8c\\xb9\\xfd\\x5b\\x7d\\x7d\\xdc\\x9f\\x7d\\xa5\\x6e\\xfb\\xfb\\xbd\\x66\\xf5\\xbd\\x5f\\x12\\xcf\\xbd\\xa5\\xfe\\x6d\\xfd\\x55\\xd4\\x70\\x95\\x49\\xaf\\xd1\\x8e\\xad\\xea\\xa1\\x51\\xed\\xdf\\x60\\x56\\x3d\\x7c\\xdc\\x93\\x5b\\xff\\xd9\\xfe\\x26\\x96\\x89\\x7e\\xc3\\x17\\x59\\x8a\\x2e\\x93\\x4b\\x80\\x2f\\x8c\\x3a\\x0a\\x1d\\xa5\\x7e\\x6f\\xa9\\xb7\\x67\\x59\\x94\\x77\\x17\\x17\\x63\\x51\\xac\\xbd\\xf8\\x9d\\x44\\x93\\x15\\xbb\\xdc\\x61\\xfc\\xd3\\x07\\x3e\\x9f\\x9b\\xc9\\xf8\\xd2\\x53\\xe7\\x39\\x59\\x0d\\xda\\x4a\\xc7\\x8e\\x11\\x77\\x74\\x4f\\x13\\xf1\\x83\\x68\\xb1\\x63\\x9a\\x99\\xa3\\x99\\xf2\\xbe\\x08\\x8d\\xe9\\x0c\\x2f\\x64\\xe1\\xf0\\x01\\x10\\xdb\\xaa\\x6c\\x7f\\xaa\\xbc\\xe9\\xaa\\x19\\x57\\x35\\x95\\xff\\xeb\\xcb\\xdd\\x0f\\xf6\\x1a\\xc0\\xe6\\xce\\x6f\\xb8\\x75\\xdd\\x38\\x65\\xd5\\xef\\x46\\xf6\\x52\\xff\\xad\\xde\\xf4\\xce\\x40\\x58\\xf0\\x5a\\xc5\\xe0\\x4d\\x6b\\x7a\\x37\\xc9\\xbd\\xab\\xeb\\x2e\\xbb\\xe6\\x92\\xa7\\x5f\\x29\\x50\\x4f\\xee\\x0a\\xe6\\xdf\\x72\\x6d\\xdd\\xb4\\xd2\\xa1\\x0d\\xa3\\xae\\x19\\xf2\\xa7\\xbf\\xa6\\x8a\\x75\\x59\\x7f\\x1b\\x5e\\xb3\\xef\\x09\\x1f\\x6c\\x96\\x8b\\xad\\x66\\xb3\\x84\\x6d\\x6c\\x8e\\xe7\\x69\\x8a\\x72\\x7b\\x30\\x3d\\xce\\xc5\\x92\\x17\\x5b\\xa8\\x82\\x44\\x0b\\xd8\\x0c\\xc2\\xa6\\x0a\\xd1\\x9c\\x90\\xb3\\x8b\\xaa\\xa1\\xab\\xb6\\xa9\\x2c\\x3f\\xa2\\xc1\\x12\\x53\\x78\\x31\\xe2\\x79\\xda\\x49\\x4c\\xda\\x76\\xf0\\x71\\xfb\\xcc\\xff\\x73\\x24\\xf5\\x87\\x16\\xf9\\xe2\\x1a\\xa6\\x67\\xcd\\x20\\xf3\\xb8\\xf7\\x7a\\x1d\\x79\\xdf\\x8c\\xe7\\xfd\\x01\\xf7\\xfb\\xd0\\x57\\x7d\\xeb\\x7d\\xe7\\xd9\\x99\\x9a\\x06\\xa4\\xf5\\xed\\xe5\\x8e\\xef\\x4d\\xbd\\xc9\\x79\\xc6\\x30\\x39\\xe1\\x74\\xbb\\x7d\\x3e\\x2b\\xe6\\x3b\\xd6\\x30\\x66\\xd4\\x34\\x6b\\xd5\\xe2\\x30\\x31\\xab\\xd6\\xb8\\x0b\\x85\\x59\\x4b\\x00\\x77\\xcf\\x95\\xf1\\x00\\x67\\x09\\xf3\\x54\\xaa\\xab\\xe0\\x33\\xf8\\xb4\\xe6\\x48\\xc1\\xec\\x31\\xad\\xa0\\x9a\\x3c\\x52\\x4c\\x73\\x8c\\xb8\\xf6\\x6a\\x61\\x21\\x4f\\xad\\xed\\xa1\\xbe\\xf7\\xfd\\xc9\\xd3\\xe6\\xbb\\xb0\\xda\\xe2\\xc7\\x3f\\xcd\\x50\\xf2\\xda\\x3f\\x73\\x0c\\x75\\xe5\\xd8\\x3f\\xce\\xbd\\xf2\\x4c\\x75\\x05\\x5d\\x44\\x7e\\x7d\\xd6\\xbb\\x5c\\xfd\\xcf\\xab\\xbb\\x70\\x7f\\x67\\x76\\x7c\\x49\\xec\\x48\\x3b\\xba\\x47\\x9e\\x48\\x33\\x8c\\xc5\\xc2\\x52\\xac\\x28\\x59\\x29\\x4a\\xb2\\x9a\\x29\\x96\\xc3\\x34\\x62\\xe7\\xb0\\x3e\\xca\\xb8\\xb0\\x7d\\x83\\x24\\xcc\\x00\\x25\\x38\\x2e\\xc1\\x51\\x09\\x0e\\x4a\\xb0\\x4f\\x82\\x36\\x09\\xd6\\x49\\xb0\\x4c\\x82\\xb9\\x12\\xb4\\x4a\\xd0\\xa4\\x9d\\x96\\x75\\x5e\\x91\\x25\\xc8\\x25\\x57\\xf0\\xdf\\xee\\x27\\xe6\\x69\\x66\\xa6\\x45\\x6f\\x1a\\x83\\x4f\\x9f\\x29\\x38\\x3b\\x95\\x17\\x88\\xeb\\x63\\x77\\x69\\x1a\\xcb\\x4e\\xf3\\xf2\\xf6\\xa2\\x94\\xfa\\x3f\\x4b\\xcd\\xf0\\x83\\xf9\\xf1\\xbf\\x50\\x81\\x07\\x2d\\x9a\\x8e\\x72\\xe6\\xdf\\xac\\x8d\\x0c\\xab\\x94\\xfe\\x30\\x68\\xac\\xc3\\xca\\x8e\\x2f\\xb9\\xc1\\xda\\xbe\\xd6\\x62\\x06\\xb5\\x71\\x59\\x6d\\x36\\xcd\\x83\\x68\\xb7\\x63\\x11\\xcf\\x8a\\xd8\\x68\\x63\\x59\\xcc\\x74\\x44\\x33\\x19\\xa2\\xcd\\x6a\\xb7\\x68\\xc7\\x5f\\x0e\\x4e\\x8b\\x72\\x61\\x5c\\x53\\xbc\\xd0\\xe4\\x85\\x41\\x5e\\xa8\\xf4\\x82\\xdb\\x0b\\xc8\\x0b\\xa7\\xbd\\x70\\xdc\\x0b\\x1f\\x79\\xe1\\x90\\x17\\xf6\\x7b\\x61\\xbb\\x17\\xd6\\x7b\\x61\\x85\\x17\\xe6\\x7a\\x01\\x03\\xcb\\x04\\x32\\xdf\\x0b\\x8c\\x17\\x66\\x60\\xd0\\x13\\x5e\\x38\\x9a\\x06\\x6d\\x23\\xa0\\xcb\\xbc\\xb0\\x90\\x80\\x8e\\x22\\xa0\\xb9\\x04\\x2f\\x43\\xf0\\x9e\\x48\\x43\\xea\\x18\\x75\\x98\\x41\\x59\\x77\\xb7\\x93\\xeb\\x0b\\xb3\\x1e\\xa3\\xb7\\xad\\x3d\\xbf\\x31\\x06\\x1a\\x9f\\x05\\xa1\\x03\\xc8\\x17\\x77\\xeb\\x8c\\xde\\xef\\xd6\\x74\\x67\\x30\\xb8\\x44\\x06\\x49\\x1d\\xf4\\xc2\\x3e\\x2f\\xac\\x23\\xf7\\x9a\\xc8\\xf3\\x70\\x47\\xa3\\x5e\\x10\\xbd\\x9d\\xc1\\xce\\x2d\\xbf\\x2d\\xa1\\xce\\x0f\\x22\\x39\\x5f\\x82\\x5d\\x30\\x0a\\xcb\\x08\\xe2\\x25\\x87\\x37\\x9d\\x1b\\xc1\\xa1\\x29\\x53\\x59\\x01\\x83\\x86\\xd9\\x86\\xf9\\x62\\x9c\\x36\\x88\\x22\\xe5\\xd2\\xc9\\x83\\x99\\x53\\x77\\x8f\\x3a\\x69\\xc0\\x9b\\xf3\\x04\\xf8\\x50\\x78\\xf8\\x0e\\x78\\xa2\\xe7\\x03\\xf0\\xc8\\xa3\\x02\\xdc\\x2e\\x5c\\x17\\xa5\\x6f\\x39\\x77\\x93\\x41\\x20\\x63\\xe9\\x0d\\xe7\\xae\\xa2\\x9f\\x20\\xaa\\x21\\x68\\xef\\x9f\\x63\\x13\\xc4\\x2e\\x9b\\x2e\\x57\\x7a\\x30\\xa9\\xb8\\xed\\x9c\\x68\\x32\\x61\\xaa\\xb3\\x79\\x43\\xa1\\x1c\\xde\\x66\\x0b\\xe7\\x84\\xbc\\x6e\\xb2\\x5d\\x3d\\x88\\xb3\\x23\\xbb\\xc5\\xef\\xc0\\xca\\x21\\xd8\\x2c\\x36\\x2c\\xdd\\x2c\\xce\\x6c\\x8f\\x9d\\xc1\\x18\\xb3\\x7b\\xef\\xc8\\xb2\\x90\\xb1\\x6e\\xa8\\xf3\\x7b\\xc3\\x6b\\xa7\\xab\\x87\\x40\\x67\\x88\\x5b\\x0b\\x0b\\xfb\\xe9\\xa7\\xf5\\xe6\\xf6\\x0e\\xf3\\xf6\\xbd\\xea\\x82\\x6d\\x66\\x75\\x98\\xf9\\x01\\x38\\xfe\\xde\\xbd\\x1a\\xad\\xaf\\xbb\\x03\\xea\\x56\\x98\\x61\\x83\\xf9\\x41\\xea\\x9f\\xed\\x2d\\xc4\\x93\\x77\\x56\\x65\\x89\\xf5\\x35\\x89\\x92\\xb5\\xe1\\xa8\\x57\\xc3\\x06\\x5d\\xe3\\x05\\x74\\x2d\\x1e\\x57\\x11\\xa1\\xfd\\xbb\\xe5\\x0e\\xd1\\x6e\\x77\\xb9\\xc9\\xd9\\x3e\\xe7\\x72\\x79\\xcd\\x9a\\x7b\\xd2\\xe3\\x75\\xd9\\xb5\\x28\\xc5\\x16\\xc5\\xe4\\xb6\\xd1\\xb4\\x24\\xa4\\xed\\x32\\xf7\\x52\\x2f\\xcc\\xf4\\x42\\x5f\\x2f\\x24\\xbd\\x60\\xf1\\xc2\\x59\\x2f\\xfc\\xe4\\x85\\x77\\xbd\\xb0\\xcb\\x0b\\x9b\\xbc\\xb0\\x84\\xdc\\xc5\\xf4\\x35\\x8c\\xc0\\x60\\x80\\xe9\\x67\\xc9\\xed\\x97\\x08\\xc4\\x1a\\x02\\x81\\x6f\\x84\\x48\\xcb\\xef\\xc8\\x2d\\xfd\\xa2\\xde\\xa6\\x2e\\x7d\\x5d\\xdf\\x46\\xfb\\xce\\xdb\\x46\\x98\\xe8\\xcb\\xb3\\xf6\\x46\\x1f\\x7d\\xd3\\x51\\x47\\xd3\\x54\\x39\\x37\\x8b\\x30\\x75\\x40\\x4c\\xb4\\xa7\\x08\\x90\\x0e\\xb0\\xec\\x3c\\x18\\xd9\\x83\\x41\\x8e\\x79\\x41\\xa7\\xec\\x36\\x72\\xbf\\x3c\\x4d\\xcd\\x17\\xa4\\xe2\\x96\\xf3\\x68\\x74\\x62\\x77\\xa0\\x49\\xdd\\xef\\x65\\xcc\\xca\\x2e\\x56\\x59\\xc6\\x02\\xcf\\x8a\\xe8\\x37\\x6c\\xda\\x2e\\xeb\\x0e\\xd4\\x15\\xef\\x9b\\xdb\\xef\\x33\\xff\\xcf\\x88\\xaf\\xee\\x35\\x53\\x71\\xf3\\x1b\\x2f\\xc3\\x6a\\xac\\x83\\xef\\x37\\x3f\\xa0\\xf6\\x20\\x86\\x2e\\xbc\\x48\\x9d\\x20\\x76\\xd7\\x5a\\x6a\\x01\\xf9\\xcc\\x23\\x3c\\x2e\\x80\\xe5\\xe0\\x0a\\xbc\\xce\\x4e\\xd4\\x57\\x8e\\x08\\x4e\\x27\\x2b\\xd2\\x2e\\xc4\\x71\\x6e\\xa7\\xe0\\xc0\\xd6\\x8c\\xdd\\xee\\x70\\xf2\\x48\\x33\\xb0\\x58\\x8e\\x36\\x28\\x55\\x37\\x7c\\x91\\xce\\x69\\xd3\\x91\\x89\\x86\\xb4\\xe3\\x80\\xf8\\x3e\\xb0\\x79\\x55\\x4d\\xaf\\x79\\xfb\\xd7\\x96\\x41\\x83\\x6b\\xe8\\xe9\\xd2\\xb9\\x07\\x4e\\x2d\\xfe\\x7f\\x25\\xd3\\x86\\x4c\\x3c\\x97\\x72\\x30\\x5f\\xbb\\x3f\\x84\\x7e\\xa3\\xcf\\xce\\xf2\\x99\\x01\\xa9\\x6b\\x26\\x69\\x7d\\x58\\xa4\\xfe\\x48\\x4f\\x67\\xd7\\x22\\x0e\\x06\\xca\\x27\\x18\\x96\\x45\\x26\\x8a\\xd2\\xde\\x26\\xc2\\x03\\xf3\\xb3\\xa2\\x05\\x0c\\xfe\\xac\\xa0\\x5f\\xb3\\xf3\\x3b\\x3a\\x04\\xf8\\x2e\\x9d\\xc6\\x91\\x49\\xd1\\xd0\\x01\\xa2\\x04\\xe0\\x1a\\xea\\x98\\x00\\x47\\xce\\xcb\\xb7\\x28\\x4b\\xdf\\x3f\\x2e\\xc0\\x31\\x92\\xa5\\x71\\x17\\x81\\x69\\xc9\\xba\\x8b\\x48\\x0e\\x87\\xde\\xfc\\xb5\\x74\\x02\\x49\\x5d\\xba\\x61\\xdf\\x0e\\x72\\xa9\\x25\\x9d\\xbe\\x81\\xaf\\x1e\\x15\\x60\\x59\\xd6\\x93\\xca\\xd3\\x58\\x3a\\xc8\\x63\\xf0\\xdd\\x7d\\xe9\\x67\\x94\\x93\\x26\\xe8\\xfc\\xa4\\x8f\\xee\\x89\\x35\\x17\\xe4\\x7c\\x2d\\xdd\\x29\\xa6\\xfb\\x19\\xaa\\x71\\x26\\x08\\x31\\x8e\\x05\\x96\\x5b\\x04\\x49\\x78\\x9b\\x57\\x8f\\xa8\\xa7\\x21\\x8f\\x57\\x7f\\x34\\x6d\\x2d\\x2b\\x3a\\xe3\\x28\\xd2\\x5e\\x6d\\x8b\\xb6\\x74\\x7c\\x0f\\x9f\\xa4\\xe3\\x8d\\xb4\\xd7\\x8a\\x51\\x5a\\x4c\\xa6\\x17\\x31\\x5a\\xbc\\x51\\xd6\\xe9\\x62\\xca\\x15\\xdf\\x32\\xf9\\x93\\xab\\xd8\\x21\\x67\\x76\\x10\\x1b\\xf8\\x88\\xfa\\x23\\xf5\\x3a\\x59\\xa7\\xe3\\x72\\x07\\x67\\xc2\\xca\\x08\\xd6\\x7e\\x69\\x5a\\x4b\\xd1\\xf9\\x59\\xe1\\x7e\\x35\\xd1\\x3f\\x2b\\x26\\x84\\x57\\xa2\\x9f\\x00\\xa5\\x02\\x84\\x05\\xb0\\x0a\\x70\\x4e\\x80\\x1f\\x04\\xf8\\x2b\\xc9\\x98\\x79\\x59\\x80\\xdd\\x24\\xad\\x66\\x8d\\x00\\x37\\xe0\\x45\\x12\\x60\\x82\\x00\\xc3\\x05\\xb8\\x88\\xac\\x9c\\x0e\\x7f\\xcd\\x99\\xf4\\xda\\xbe\\x27\\xc0\\x8b\\x02\\x3c\\x41\\x1a\\xdc\\x81\\xa7\\xad\\xdb\\x5a\\x96\\x92\\x79\\xb6\\x91\\x79\\xfe\\x81\\x34\\x38\\x2c\\xc0\\x2b\\x64\\x51\\x1f\\x22\\x19\\x41\\x18\\x7e\\x16\\xa1\\x8d\\x4b\\xb3\\x56\\x17\\xc3\\xb7\\x13\\xf8\\x63\\x04\\x1e\\xd3\\xcf\\x93\\x04\\x5e\\x5b\\xe4\\x0c\\x25\\xe1\\xce\\x58\\x70\\xaf\\x70\\x37\\x3e\\x12\\xe0\\x50\\x56\\x3a\\xd0\\x9a\\xce\\x54\\x22\\x59\\xe9\\x42\\x73\\x16\\xd2\\x6b\\x9d\\x6a\\x32\\xb9\\x45\\xd4\\x5d\\xbf\\x4d\\x81\\x1d\\x9a\\xef\\xaf\\x93\\xc6\\x96\\xa6\\x61\\xca\\x2e\\x40\\x1d\\xe9\\x50\\xcb\\x0b\\x4b\\xc1\\x96\\xf3\\x68\\xa6\\x2b\\xf4\\x85\\x13\\x8a\\xb2\\xd9\\xce\\x05\\xa8\\x88\\xae\\x4e\\x40\\x02\\x1b\\xf2\\xbd\\x78\\x28\\x03\\xab\\x7a\\x8c\\x87\\xb7\\xd5\\x8f\\xd5\\x1f\\xcb\\x8a\\xd8\\x9f\\x8a\\xca\\xfe\\x73\\x85\\xae\\x1f\\xd5\\xc3\\xad\\xf4\\xfb\\x98\\x77\\x98\\x50\\x52\\x76\\x61\\x95\\x87\\xa1\\x58\\x93\\x89\\xe7\\xb0\\x0e\\xcd\\x53\\x26\\x06\\xed\\xd4\\x13\\x92\\xb2\\x82\\x3c\\xf4\\x48\\xbf\\x14\\xc4\\x05\\xac\\x92\\x9d\\xee\\x05\\xbb\\xaf\\x56\\xb7\\xa9\\xdb\\xa6\\xb2\\xfd\\xce\\xd5\\x6b\\xc7\\xb7\\x1a\\x8d\\x9d\\x52\\x7f\\x65\\xa4\\x8e\\x49\\x98\\x36\\x3d\\xb2\\x40\\xb1\\xda\\xfb\\x55\\x5f\\xc4\\x3c\\x00\\x73\\x1c\\xd0\\x3b\\x56\\x15\\xf3\\x48\\x4c\\xae\\xfa\\xeb\\x54\\x2d\\x20\\x10\\xa0\\x8c\\x99\\x44\\x6d\\x61\\xef\\x42\\x2c\\x1c\\x96\\x3b\\x18\\xcd\\xec\\x42\\xf4\\xfa\\xf1\\x02\\xe6\\x6b\\x8f\\xa3\\x77\\x10\\x23\\xa0\\x25\\x1c\\xcc\\xe4\\x60\\x3c\\x07\\xc3\\x38\\xe8\\xc7\\x41\\x29\\x07\\x01\\x0e\\x2c\\x1c\\x9c\\xe5\\xe0\\x3b\\x0e\\x3e\\xe7\\xe0\\x5d\\x0e\\x5e\\xe2\\xe0\\x49\\x0e\\x36\\x71\\xb0\\x86\\x83\\x1b\\x09\\xbc\\x42\\xe0\\xfb\\x72\\x90\\xe4\\x20\\x87\\x03\\xad\\xc1\\x74\\xdc\\xe2\\x27\\x0e\\x8e\\x71\\x70\\x84\\x83\\xd7\\x38\\xd8\\xcb\\xc1\\x56\\x0e\\xee\\xe2\\x60\\x29\\x07\\x73\\x38\\x68\\x49\\xb7\\x28\\xe3\\x20\\xaa\\x39\\x04\\x8c\\x27\\x7c\\x76\\x1e\\xfc\\x92\\xae\\xf0\\xf8\\x09\\x21\\x02\\xdf\\x41\\x80\\xf5\\xee\\xec\\x4a\\x77\\x27\\xd3\\xfd\\x46\\x02\\x1c\\x22\\x7d\\xef\\xa3\\xa3\\xc6\\x70\\xdb\\x39\\x58\\xcf\\xc1\\x42\\x0e\\x5a\\x39\\x18\\x25\\x8f\\xe4\\x60\\x10\\x07\\x95\\x1c\\x48\\x1c\\xe0\\x5d\\x4a\\x9d\\xc2\\x3b\\x95\\x83\\xa3\\x1c\\x1c\\xe4\\x60\\x1f\\x07\\x6d\\x1c\\xac\\xe3\\x60\\x19\\x07\\x73\\x09\\x7c\\x13\\x07\\x32\\x81\\xd3\\xc1\\xb2\\x01\\x9a\\xd2\\x63\\xb8\\x00\\x47\\x9a\\xd7\\x2d\\x59\\xf0\\xff\\x1c\\x12\\xdf\\xf2\\x1b\\x92\\x11\\x95\\x4d\\x9a\\x98\\x09\\x9a\\x14\\xa0\\x3a\\xe5\\xe2\\xa8\\xc9\\xea\\x61\\xd3\\xbb\\x5b\\x58\\x66\\x12\\x58\\x13\\xea\\xa9\\x98\\xee\\x27\\xea\\xd7\\xf1\\x1d\\xfd\\x0c\\x7d\\x08\\x39\\x50\\x04\\x0d\\x95\\xf3\\x03\\x42\\x84\\xa1\\xb1\\xf9\\xe9\\x74\\x08\\x8e\\x68\\xae\\x24\\xd9\\x3c\\x4d\\x8a\\x4d\\x62\\xc2\\xa6\\x70\\xb3\\x62\\xf2\\xd2\\xa8\\x51\\xa1\\x3d\\x69\\x2a\\x27\\xb6\\x1b\\xfe\\x76\\x9e\\x17\\x4b\\x93\\xa9\\xd5\\xfa\\x71\\x3c\\x71\\xe7\\x57\\xa7\\x38\\x62\\x87\\xea\\xae\\x83\\x6a\\xda\\x33\\x8f\\x57\\xff\\x9e\\xf3\\xf8\\x1d\\xd7\\xdd\\xbb\\x01\\xd0\\xfd\\xd7\\xcd\\x2c\\xed\\xfd\\x52\\xe1\\xa0\\x8a\\x29\\x8f\\xb5\\x8e\\x1d\\x3e\\xef\\xb6\\x21\\x81\\xd2\\xcd\\x4f\\x3d\\xbd\\x79\\x2f\\xf4\\xda\\x55\\x9c\\xb7\\x38\\xe4\\x79\\xa0\\x03\\xad\\x99\\xb9\\x6c\\x8d\\xd6\\xd7\\xe1\\xd8\\x7e\\x7e\\x03\\xf3\\x4c\\x17\\xca\\x45\\xe3\\xe4\\x54\\xae\\x89\\x76\\x6b\\x31\\xca\\xc8\\x15\\xb4\\xba\\xac\\xb1\\x3c\\xc9\\xdb\\xa4\\x48\\x5e\\x53\\x8e\\x90\\xd3\\xac\\x60\\x63\\x53\\xeb\\x2b\\x6a\\xca\\x03\\x39\\x0f\\xca\\xf3\\x40\\xca\\x03\\x94\\x07\\x5d\\x76\\xa9\\x6e\\x7b\\x76\\xf5\\x6a\\xa6\\x0c\\xe3\\x8e\\x36\\x71\\x46\\x94\\x17\\x45\\xac\\xe6\\x6a\\xe3\\x30\\x5c\\xf3\\x80\\x70\\xd0\\xeb\\x56\\x1e\\x4a\\x1a\\x1c\\xde\\xa6\\xc7\\x87\\xde\\x78\\xff\\x7d\\xea\\x99\\x4d\\x63\\x1f\\xaf\\xdb\\x5d\\x7b\\xf5\\xd4\\x27\\xaf\\x9c\\x38\\xa2\\xef\\xea\\xfe\\x6c\\xbd\\xbf\\x54\\x1d\\x3a\\xbf\\xb1\\xb9\\xf5\\x99\\x4d\\xbb\\xd5\\x23\\x7b\\x4a\\x0b\\x93\\xe5\\x0f\\xa0\\x8e\\x3b\\xe6\\x2e\\x19\\xd1\\x4f\\xdb\\xeb\\x75\\x78\\x1c\\x8b\\xe9\\xb7\\x50\\x10\\x8f\\xa2\\xc6\\x6b\\x42\\x36\\x93\\x2d\\x14\\x36\\x3b\\x9b\\x94\\x35\\xe2\\x26\\xf1\\x3b\\xf1\\xac\\xc8\\x20\\x11\\x04\\x51\\x34\\x4b\\x62\\x30\\x1a\\x2c\\xd3\\x4f\\x39\\x69\\xda\\x3f\\x52\\xa1\\xbd\\x6d\\x61\\x38\\x1a\\x86\\x65\\x61\\x4c\\x4d\\xf3\\x2e\\x7c\\xe2\\x69\\x48\\x9c\\x84\\x71\\x9e\\xaf\\xad\\x80\\x9e\\x46\\x46\\xf2\\x75\\x24\\x6d\\x01\\x4c\\x23\\xff\\x38\\xfe\\xe1\\x7d\\x77\\x00\\x7d\\xe7\\xd0\\xb6\\xca\\xd2\\x6a\\xa9\\x6e\\x7a\\xeb\\x63\\x53\\xfe\\x74\\xd7\\xa6\\x3b\\x87\\x8d\\x79\\x71\\xfb\\x1e\\x88\\xee\\x89\\x78\\xd5\\x33\\x7b\\xea\\xee\\x54\\x1f\\xec\\x40\\x53\\x74\\x3a\\xe9\\xdf\\xf1\\x1d\\xd6\\x26\\xd6\\x22\\x37\\xca\\x43\\xd3\\xe4\\xda\\xb0\\x28\\xe6\\xc7\\xf3\\x48\\x50\\xb2\\xc9\\xc4\\x62\\x2e\\xc5\\xb2\\xf9\\x2e\\x7f\\x93\\xe2\\x92\\xcc\\x51\\x6b\\xb4\\x59\\xb1\\x7a\\x05\\x53\\xa3\\x22\\x78\\x18\\xaa\\x51\\x61\\xd0\\x91\\x7c\\x78\\x2d\\x1f\\xf6\\xe6\\x43\\x5d\\x3e\\x64\\xad\\x40\\xd6\\x2a\\x40\\x2a\\x7b\\x0d\\x32\\x47\\x58\\xbd\\xc9\\xe9\\x55\\x37\\x72\\xca\\xa2\\xa5\\xde\\xd5\\xb4\\xc8\\xc8\\x1b\\x79\\x18\\x74\\xca\\xa0\\xa9\\x25\\xeb\\xee\\x05\\xb4\\x61\\x52\\x79\\xbc\\xa1\\x6a\\xd2\\xf6\\x29\\x63\\x87\\xd5\\x2c\\xef\\x47\\x3f\\x59\\x0e\\x33\\xfd\\xa5\\x67\\x5e\\xd0\\x28\\xeb\\x85\\x0d\\xbb\\xa0\\x74\\xef\\x52\\x5f\\x70\\xbd\\x7a\\x0e\\xd3\\xd5\\x25\\x03\\xf1\\xd8\\xb4\\xf5\\x68\\xc1\\xeb\\xe1\\x43\\x31\\xed\\xa4\\xc4\\x8f\\xed\\xce\\x90\\x05\\xef\\x88\\xbc\\x38\\xed\\xc7\\x44\\x44\\xdb\\x3d\\x9e\\x48\\x93\\xe2\\x91\\xcc\\x76\\x3b\\x37\\x52\\xb1\\x7b\\x8f\\xc6\\x21\\xeb\\x9c\\x24\\x13\\x28\\x96\\x7d\\x88\\xeb\\x66\\x58\\x4e\\xef\\xa0\\x2f\\xbd\\x0e\\x24\\x32\\xc5\\x88\\x2c\\xb5\\x03\\xdd\\xa2\\xee\\x53\\xff\\xc1\\xcc\\x9c\\x3e\\xee\\xc1\\x81\\x39\\x13\\x0e\\x4f\\xd8\\xb6\\x77\\xed\\x99\\xd5\\x4b\\xee\\x6b\\x7f\\xe8\\xf7\\x3f\\xf6\\xab\\x1d\\xb2\\xa2\\x95\\xfa\\x75\\xd5\\x41\\xd7\\x25\\x4b\\x6f\\xee\\x57\\x58\\x3c\\x62\\xd4\\xb3\\x8f\\x3f\\x06\\xb1\\x67\\xe6\\xa9\\xab\\xc4\\xcd\\xf3\\x6a\\xea\\xe7\\x1f\\xc4\\x34\\xe4\\x53\\x87\\xd3\\x09\\x76\\x1b\\xee\\xf3\\xf5\\x72\\x81\\xc7\\x62\\xf1\\x61\\x9b\\x82\\xa5\\x00\\x02\\x7e\\xca\\xe7\\xf6\\x35\\x29\\xac\\x5b\\x14\\xa4\\x26\\xa5\\xdc\\x26\\xdb\\x9a\\x6c\\x47\\x6d\\xc7\\x6d\\xac\\x4d\\x73\\xf3\\xe7\\x47\\x62\\xf5\\x36\\x2c\\xb8\\x51\\x68\\x6b\\x00\\xc4\\x00\\x74\\x90\\xff\\x8e\\x05\\x60\\x69\\x00\\xe6\\x04\\xa0\\x85\\x1c\\x50\\x1a\\xac\\x44\\xcb\\xe5\\xd4\\xf4\\xd3\\x89\\x19\\x7f\\x48\\x56\\x94\\x39\\x71\\xab\\xbb\\xe2\\xae\\x78\\x1d\\xa5\\x6d\\x14\\x23\\x36\\xd2\\x24\\x42\\x8a\\x8b\\xbf\\xb2\\xe3\\xcb\\x6d\\xfc\\x13\\xd6\\x1e\\xaf\\x3c\\x7c\\x69\\xff\\x78\\x2f\\x57\\x4e\\x75\\xbf\\x21\\x91\\x9c\\xf7\\xed\\xef\\xab\\xc3\\x59\\x6b\\xaf\\xc2\\x81\\xc7\\xde\\x77\\x1d\\x9a\\xef\\x99\\xfe\\xf0\\xe6\\x51\\x78\\xee\\x01\\x8f\\xe3\\x10\\xe6\\x3f\\x22\\x2a\\x41\\x23\\xe4\\xa2\\x7c\\x9b\\xb7\\x44\\xa2\\x19\\x26\\x92\\xe3\\xcd\\x29\\xed\\x19\\x2b\\x1a\\xa9\\x40\\x02\\x2c\\x74\\x22\\x11\\x0b\\x05\\x85\\x26\\x25\\x28\\x49\\x9a\\x97\\x49\\x71\\x79\\x51\\x16\\x03\\x4a\\x7b\\xc5\\xd2\\x2b\\x60\\x84\\xc1\\x27\\x34\\xf5\\xb9\\x27\\x6d\\xa4\\xa9\\x75\\xdb\\x0f\\xe4\\x97\\x76\\xb4\\xa4\\x27\\xf7\\x6c\\xab\\x59\\x3d\\x60\\xb6\\xbf\\x20\\x51\\x1c\\x9a\\xb2\\x7b\\xb2\\x02\\x83\\xeb\\x9f\\x1a\\xba\\xf4\\x9e\\x0d\\xc0\\x6e\\xb8\\xe8\\xf5\\x61\\x3b\\x13\\x9f\\x7e\\x30\\xf6\\xe5\\x3e\\xce\\xd2\\xfc\\x91\\x0f\\x5e\\xbf\\xce\\x3f\\xad\\x61\\x00\\x35\\xc3\\x64\\x36\\xd1\\xf7\\xab\\x77\\x5d\\xb3\\xb4\\xa6\\x71\\xea\\x33\\x9b\\xf6\\x62\\x92\\xf2\\x39\\xcf\\x0d\\xfc\\xf0\\xd5\\xa2\\xc8\\x89\\x9b\\x1a\\x97\\xde\\xa1\\xcb\\xf4\\x06\\x84\\xe8\\x5d\\x78\\xcf\\x84\\xd1\\x48\\xb9\\x28\\xc8\\xd2\\xa1\\x50\\x18\\x73\\xab\\xb0\\xc3\\xed\\xb6\\x5b\\x2c\\x91\\x70\\x4e\\xd8\\xe3\\xb0\\x37\\x2a\\x0e\\x0f\\xeb\\xe3\\x7d\\xcd\\x0a\\x6f\\xb0\\xac\\xf3\\xd8\\x2b\\xa4\\xb2\\x2c\\x96\\x2e\\x4c\\x2a\\xcd\\xa3\\x4c\\xda\\x16\\x71\\x19\\x11\\x94\\x1c\\x1d\\x87\\xea\\x45\\x3c\\xe4\\xce\\x90\\x9a\\x9e\\x1f\\x7b\\xd5\\x54\\x7e\\xfa\\x72\\x5e\\xfd\\x70\\xaa\\xaf\\xbc\\x72\\xd8\\x9e\\x9a\\x39\\x8f\\x6a\\xcc\\xa9\\x7d\\xf7\\xf0\\xe9\\x73\\x66\\x4d\\xb5\\xd7\\xb6\\x6f\\xf2\\x97\\x52\\x43\\x96\\x16\\x96\\xd6\\xdc\\x38\\xbe\\x7d\\xa5\\xb6\\xcf\\xb5\\x44\\xa3\\xb3\\xec\\x70\\x6c\\xa7\\xb8\\x50\\x83\\x5c\\xcc\\xdb\\xed\\x34\\x87\\xcd\\x1a\\x9a\\x76\\x7b\\x1c\\x96\\xcb\\x14\\x07\\x63\\x62\\x1a\\x15\\x93\\xa8\\x4b\\x82\\x32\\x0f\\x44\\x3d\\x20\\x7a\\x60\\xab\\x07\\x26\\x76\\xdb\\xd7\\x5d\\x75\\x20\\x4d\\x24\\x90\\xb3\\x97\\xec\\x30\\xad\\xfc\\x87\\x78\\xf5\\x85\\x0d\\x37\\xf3\\x90\\xec\\x2f\\x97\\x96\\xc8\\x72\\x49\\xa9\\x8c\\xb9\\x3f\\x3d\\x35\\x50\\x0a\\x29\\xfd\\xa7\\x4c\\x7c\\xc2\\x09\\x75\\x38\\xc5\\xe1\\x3e\\x39\\x50\\x0e\\x5a\\x25\\x8f\\x75\\xfa\\xfd\\x66\\xbb\\x28\\x5a\\x28\\xb3\\x39\\x12\\x0d\\x79\\x2e\\x53\\x42\\x8c\\xcd\\xd2\\xa8\\xd8\\x44\\xc4\\x35\\x29\\xfd\\xe9\\x11\\xf4\\x24\\x5a\\x8b\\xb3\\x0b\\x1d\\x8f\\xc2\\xd1\\x28\\x1c\\x8c\\xc2\\xbe\\x28\\xb4\\x45\\x61\\x5d\\x14\\x96\\x45\\x61\\x6e\\x14\\x5a\\xa3\\xd0\\x14\\x05\\x39\\x0a\\xe5\\x51\\xc8\\x8d\\xc2\\xd2\\x28\\xcc\\x21\\x3f\\xbb\\x0b\\xdc\\xce\\x38\\xf2\\xec\\xbc\\x9b\\x8c\\x56\\x97\\x97\\xa1\\x1e\\xc2\\xa4\\xb4\\x68\\xe0\\xce\\xb1\\xf5\\x1d\\xd9\\x18\\x2b\\x13\\x43\\x25\\x03\\x86\\xf9\\x9f\\x58\\xcd\\x43\\x6a\\x4f\\xfe\\xe3\\xf0\\x7c\\x7a\\x90\\xea\\xf0\\xc8\\x4b\\xb3\\x43\\xcb\\x6e\\xa7\\x0f\\x06\\x4a\\xcf\\x95\\xfe\\xf1\\x4d\\xd3\\xbd\\xe9\\xd1\\x02\\xea\\x6b\\xd0\\x8c\\x4b\\xcb\\x43\\x66\\x1c\\x34\\xed\\x74\\x22\\x97\\x64\\x71\\x59\\xdc\\x1e\\xd6\\x6c\\x16\\xad\\x56\\x8f\\x68\\x6d\\x54\\x44\\xd1\\xc1\\x48\\x16\\x86\\x73\\x79\\x9c\\x9a\\xc3\\xac\\x51\\xe1\\x44\\xcc\\x83\\xf1\\x9a\\x50\\xe8\\x88\\x07\\x96\\x7a\\x60\\x8e\\x07\\x5a\\x3c\\xd0\\xe8\\x81\\x3a\\x4f\\x26\\x9a\\x29\\x3b\\x8c\\xa0\\x0e\\x1b\\x9b\\x29\\x43\\x11\\xcc\\x9c\\x4a\\x67\\x79\\xc1\\xb5\\x11\\x19\\xc6\\xb0\\x0b\\xef\\x6d\\x5a\\x23\\xaa\\xe4\\x4a\\x1e\\x7a\\xed\\x86\\xdd\\x93\\x78\\xc8\\xe7\\x47\\xaa\\x7f\\xf9\\xf7\\x64\\xfe\\xfb\\xbf\\xac\\xef\\xbf\\x43\\xa3\\xa8\\x73\\x35\\xb0\\x35\\x54\\x5a\\xea\\x53\\xbf\\x6e\\xff\\xd9\\x57\\x0a\\xc7\\xd6\\xa8\\xbb\\xf5\\x3d\\x30\\x0b\\x2f\\xa0\\x55\\xb3\\x73\\x50\\xad\\x9c\\xcb\\x32\\x8c\\x46\\x4d\\x34\\xcd\\x0b\\x84\\x8c\\x10\\xe9\\xb2\\x47\\xb7\\xf1\\xb0\\x0a\\x3f\\xf1\\xbc\\x44\\x9d\\xae\\xd4\\x03\\x51\\x8d\\x62\\x7e\\xd0\\x28\\x06\\x13\\x8a\\xf6\\xdc\\xf4\\x3e\\x63\\xe7\\x61\\xfe\\xdd\\x13\\x5d\\x27\\x0f\\xf0\\x22\\x9f\\x2f\\xe4\\xf7\\x5b\\xf3\\xad\\xa2\\x28\\x98\\x8a\\x7a\\xe4\\xc5\\xe3\\x89\\x7c\\x53\\x7e\\x79\\x99\\x5c\\x0e\\x62\\x39\\xe6\\x25\\x45\\x91\\x92\\x48\\xb3\\x52\\x22\\x15\\x26\\x1a\\x95\\x42\\x31\\xdf\\xe3\\xf7\\x58\\x85\\x46\\xc5\\xea\\x41\\x4e\\xda\\xd9\\xac\\xd0\\x52\\x36\\x67\\xa9\\xcb\\xec\\x45\\x20\\xa1\\x75\\xce\\x6c\\x0e\\xd3\\xe9\\x4a\\xd0\\xf6\\xe3\\x05\\xb6\\xa2\\x1d\\xf0\\xb4\\x75\\xf9\\x8e\\xc7\\xa0\\xef\\x59\\x7a\\xfa\\xa0\\xdd\\x8d\\xa3\\xae\\x10\\xa6\\x2e\\x17\\xd4\\x0f\\xaf\\xf6\\x15\\x97\\x96\\x5c\\x7f\\xa5\\xf9\\xca\\x1d\\x53\\x03\\x25\\x65\\x25\\xcb\\x26\\x0b\\x57\\xee\\xd8\\x80\\x77\\xb0\\x37\\x3c\\x64\\xcf\\xa5\\x63\\xaf\\xa0\\xbe\\xbd\\xe2\\xfa\\x99\\x57\\x79\\x87\\xb6\\xef\\x09\\xe0\\xcd\\x7a\\x5d\\x69\\x69\\xf5\\xa8\\xe5\\x7d\\xda\\x0f\\x52\\x43\\x96\\xc7\\x4b\\xab\\x95\\xa5\\x35\\xed\\x07\\xb5\\x2d\\xf3\\xc6\\x95\\xbf\\x9b\\x63\\xe4\\x90\\xec\\xc2\\x73\\x11\\x42\\xc3\\xe4\\xc2\\x00\\x42\\x5e\\x97\\xcd\\x6a\\xe2\\x38\\x81\\x77\\xf1\\x39\\xe1\\x80\\xb7\\x51\\x09\\x78\\x6c\\x26\\x5a\\xa2\\x9b\\x15\\x49\\x22\\xe3\\x16\\x39\\xac\\xd0\\x65\\x86\\x99\\xa5\\x12\\x75\\x0e\\x33\\x7d\\x28\\xd8\\x65\\x04\\x99\\xa1\\x52\\xff\\x2e\\xaf\\x6c\\xd8\\xdb\\x67\\xb6\\xde\\xe5\\xd0\\xa8\\xfd\\x63\\x3a\\x79\\x0e\\xf5\\x7d\\x69\\xcd\\x4d\\x13\\xdb\\x6f\\xa7\\xaf\\x0e\\x94\\x1e\\xbc\\xe6\\x9a\\x2c\\x96\\xa3\\xeb\\x9e\\xdf\\xd3\\x6f\\xe2\\xbe\\xda\\x70\\x6f\\x4b\\x64\\x1f\\x72\\x70\\x7e\\x87\\x3f\\x9c\\xe3\\x31\\x6b\\xc2\\xd6\\x4e\\x37\\x61\\x51\\xdb\\x96\\x73\\xa1\\x33\\x4a\\x97\\x9e\\x75\\x6c\\x4c\\xac\\x2b\\x23\\x5e\\xb1\\xb6\\x66\\xfa\\x61\\xfa\\xa4\\xf1\\x8f\\xb6\\x4e\\x9f\\x3c\\xfe\\x91\\x49\\xaf\\xee\\x78\\xfb\\xf6\\x9f\\x37\\x68\\x7f\\x60\\xd4\\xca\\xbb\\xee\\x69\\xbf\\xfb\\x76\\xfc\\x47\\x65\\x3e\\x7e\\xf6\\x61\\x70\\x6e\\xc6\\x7f\\xd5\\x1f\\x37\\x13\\xfe\\xb2\\x0a\\xcb\\xa0\\x37\\x88\\xfc\\xcf\\x47\\x4d\\x72\\x71\\xbe\\x5f\\x2b\\xa4\\xce\\x73\\x11\\x07\\xe7\\x48\\x14\\x78\\x82\\xb8\\x37\\x5e\\x6b\\xcc\\x1e\\x6b\\x56\\xec\\x92\\x85\\x6f\\x54\\x2c\\x22\\xe6\\x46\\x5c\\xa3\\xc2\\x86\\xb2\\x49\\xa5\\xbb\\x3e\\xa9\\x2b\\x32\\xbd\\xca\\xab\\xb3\\x0e\\xfb\\xb8\\xde\\x59\\x2a\\x65\\xb6\\x46\\x79\\xd2\\x52\\xde\\xc6\\xab\\x03\\xf9\\xeb\\x3e\\xbb\\x9a\\x07\\xc1\\xb5\\x17\\xab\\xc6\\xf7\\xab\\xea\\x03\\x3d\\xaf\\x84\\xfe\\x33\\xae\\x7c\\x78\\xb2\\x32\\xac\\x6a\\x5d\\x0d\\x35\\x4e\\xfd\\xce\\x5f\\x56\\xe6\\x67\\x3e\\x0c\\x94\\x3e\\x88\\x35\\xe4\\x7d\\xea\\xfb\\xbb\\x6d\\xf3\\xcb\\xef\\x01\\x6e\\xf5\\x9c\\x1b\\xb0\\x62\\x49\\xa1\\x41\\x78\\x1c\\x47\\xf1\\x38\\xac\\x58\\x3f\\x1e\\x24\\xc7\\xa3\\x74\\x24\\x12\\x0e\\x85\\x98\\xa0\\xd9\\x15\\x74\\xe5\\xc5\\x22\\xa1\\x46\\x25\\x12\\xf2\\x99\\x9a\\x14\\x1f\\x96\\x34\\x12\\x96\\xa2\\x92\\xb7\\xeb\\x00\\xb2\\xbb\\xde\\x29\\x41\\xd3\\x79\\xde\\xb1\\xae\\x02\\x94\\xac\\x3d\\x3c\\x52\\xbf\\xa6\\xec\\xba\\xa9\\x53\\xaf\\x7c\\x78\\xfc\\x78\\x18\\x79\\xe9\\x13\\x0d\\xab\\xef\\x5e\\x07\\xec\\xa3\\x43\\x0e\\xd7\\x9d\\xbc\\x8e\\x57\\x3f\\x1f\\x2c\\xcd\\xec\\x11\\xa5\\x76\\x85\\xee\\xee\\xb8\\x7b\\xe1\\xef\\x6a\\x07\\x3f\\xb1\\xf3\\x79\\x48\\x3e\\x1a\\x12\\xcf\\xfc\\xea\\x2f\\x83\\x1b\\xc7\\x90\\xbd\\x7b\\x19\\xa6\\xd7\\x38\\xee\\xb3\\x03\\x5b\\x1f\\x41\\xd1\\xce\\x0b\\x82\\xc5\\x6c\\x76\\x52\\x2e\\x9d\\xa3\\x9b\\x3d\\x22\\x8b\\xd8\\x66\\x85\\x84\\x28\\x98\\x05\\x6b\\x3d\\xc3\\x20\\xa9\\xc3\\x45\\x02\\x6e\\xf4\\x28\\x57\\xbc\\x47\\x93\\x9d\\x12\\x92\\xec\\x44\\xa2\\x8c\\x64\\x53\\x2b\\xf5\\x51\\x45\\x4e\\x49\\xb2\\xa0\\x69\\xd7\\xd0\\x99\\x84\\x48\\x3d\\xd1\\x61\\x2f\\xd0\\x6f\\xf1\\xbf\\x2c\\xbd\\x7e\\x4a\\xfb\\x83\\xda\\xde\\xf9\\x68\\xde\\x0d\\xc4\\x7f\\xd7\\xf1\\x3d\\x75\\x0c\\xf7\\x25\\x81\\xe5\\x75\\x89\\x0d\\xe5\\xba\\x90\\xcb\\xcf\\xb2\\xfe\\x82\\x42\\x5b\\x2e\\xed\\xf5\\xe6\\x34\\x29\\x28\\x00\\x56\\x26\\x10\\xf0\\x4a\\xb4\\xa5\\x49\\x89\\x99\\xee\\x36\\x3d\\x6c\\xa2\\x4d\\x26\\xda\\xfb\\xdb\\xe7\\x73\\x9d\\x47\\xbf\\x9a\\x70\\x48\\x87\\xb2\\x68\\x59\\x87\\x46\\x8a\\x71\\x5a\\x71\\x22\\x67\\x74\\x40\\xed\\x3f\\xf8\\xe6\\xed\\x77\\x16\\x95\\x3a\\x82\\x2d\\x17\\x7d\\x36\\x71\\xfa\\x55\\x93\\x9f\\xde\\x32\\x6f\\x53\\xa2\\xcc\\x5e\\x77\\x75\\xf3\\xe4\\x51\\xd7\\x4e\\x6b\\x05\\xf7\\x03\\x77\\xf7\\xff\\xdb\\xea\\x70\\xc9\\x33\\x7d\\x27\\xa4\\x7a\\x2d\\x6e\\x5a\\x71\\x77\\xfc\\xfd\\x6b\\x6a\\x86\\x35\\xf6\\x6e\\xbe\\xa8\\xf7\\x0d\\x64\\x3e\\xc7\\xe1\\x31\\x4c\\x66\\x6e\\xc6\\x36\\xfb\\xe5\\x72\\x4f\\x93\\xc7\\xa3\\xe9\\x85\\x0e\\x11\\xeb\\x1b\\xa1\\xa0\\x9d\\x28\\x86\\x2e\\x97\\xc3\\x2d\\xb2\\x2c\\xcf\\xd3\\x23\\x15\\xde\\x1b\\x0d\\x81\\x18\\x82\\x9f\\x42\\xb0\\x34\\x04\\x7a\\x9a\\xae\\x21\\x1f\\x52\\xa9\\xb2\\x6c\\x8d\\x2f\\xa3\\xf2\\x25\\x88\\x09\\xe7\\x33\\x24\\x9d\\xa6\\xfe\\xa5\\x38\\xad\\x1e\\x87\\x09\\xf8\\xd2\\xf8\\x25\\x8d\\x9e\\x25\\x37\\x35\\x8e\\xb7\\x4c\\x5b\\xc2\\xdf\\xba\\x5a\\x4e\\x7c\\x2a\\x7d\\x7a\\x85\\x73\\x4f\\x69\\x69\\xa4\\x6c\\x4c\\xeb\\xe8\\x9c\\x46\\xaa\\xa1\\xb4\\xf0\\xe3\\x8f\\x47\\xb5\\x7f\\x36\\x01\\xf7\\x73\\x6a\\xc7\\x37\\xf4\\x73\\xf4\\x6e\\xbc\\xf3\\x2f\\x91\\x0b\\x0c\\x16\\x45\\xd8\\x15\\xef\\xca\\x09\\xfb\\x31\\x9f\\xf2\\x8b\\x36\\x9d\\x4d\\x79\\x75\\xf6\\xcc\\x89\\x59\\x6c\\xaa\\x0b\\x97\\xca\\xac\\x7c\\xc2\\x08\\x17\\x4b\\x11\\x8b\\xc1\\x20\\x57\\xdd\\x84\\x30\\x81\\x55\\xd7\\x7f\\x34\\x02\\x50\\xbf\\x0d\\x5d\\xb6\\x1f\\x6b\\x46\\x96\\xa9\\x73\\x78\\x08\\x4c\\xf5\\xbd\\xae\\xa9\\x3f\\xd4\\xef\\xce\\x6d\\x0c\\x94\\xbe\\x3e\\x73\\xf6\\xac\\xa9\\xe2\\xa5\\x54\\x13\\x56\\x92\\x5e\\xba\\x09\\xf7\\x33\\x8c\\x79\\xd4\\x5a\\xdc\\x4f\\x27\\x1a\\x2d\\x57\\x22\\xb3\\xc5\\x22\\x49\\x9c\\x68\\xe5\\xac\\x6e\\x97\\x68\\xb7\\x63\\x49\\xcc\\xd8\\x45\\x59\\x6a\\x92\\x28\\xb7\\x94\\x2f\\x55\\x4a\\xf4\\x32\\x09\\x16\\x4a\\x20\\x59\\xbc\\x4b\\xdd\\xd0\\xe2\\x86\\x3a\\x12\\x4b\\x8c\\xc9\\x43\\x9b\\xdb\\xba\\xec\\x10\\x15\\x67\\xfa\\xd8\\x16\\xb4\\x0c\\xd4\\x14\\xe6\\x0a\\x9c\\x7e\\x8a\\x12\\x82\\xde\\xd4\\x4f\\xc5\\x7e\\xfe\\xd5\\xe0\\x65\\xaa\\x72\\xc9\\x2b\\xf3\\xb0\\x6c\\xbc\\xfb\\x3f\\x32\\x5d\\x98\\x28\\xe1\\x4a\\x7d\\x3d\\xc6\\xae\\x68\\x1f\\x4f\\x5f\\x1f\\x28\\x6d\\xcf\\x87\\xfb\\xa7\\x69\\xeb\\xdd\\xab\\xe3\\x7b\\x76\\x28\\xee\\x9f\\x1f\\xad\\x94\\xbd\\xa2\\x17\\x90\\xd5\\x62\\xa6\\x18\\x5a\\xe0\\x59\\x56\\xa0\\xac\\x5e\\x36\\x18\\x08\\x1e\\xe8\\x58\\x26\\xbb\\xcb\\x6b\\xeb\\xdd\\x24\\xa0\\xe1\\xa3\\xe0\\x89\\xe0\\xe9\\x20\\x7d\\x30\\x08\\x41\\x6d\\x53\\xd9\\x72\\x8b\\xea\\xa5\\x20\\x50\\xf8\\x4e\\x84\\x26\\x57\\xdc\\xbe\\x70\\xbd\\x55\\xa0\\xcc\\x0c\\x72\\xf1\\x3c\\x56\\x2d\\x78\\xac\\xec\\x61\\x0a\\xaf\\x20\\x13\\x8f\\xd5\\x06\\x48\\x92\\xc8\\xc3\\xa4\\x36\\xa4\\x64\\x3a\\xb7\\x3e\\xd5\\x59\\xaf\\x28\\x7d\\x1e\\x94\\x72\\x41\\x0a\\x0f\\xa6\\x2a\\x33\\x3e\\x7a\\xc5\\xc0\\x1b\\xd4\\x37\\x86\\xec\\x9a\\xca\\xff\\xbc\\x1c\\xaa\\x86\\x5d\\xff\\x56\\x1f\\x7d\\x98\\x6e\\x6a\\x66\\xfb\\x7d\\x64\\x50\\xfd\\x28\\xa5\\xfd\\x11\\xb8\\x75\\xfe\\x30\\x7d\\xb0\\x83\\x1e\\xd4\\xe3\\x85\\xbe\\xc6\\x3c\\xe2\\x26\\x3c\\xc6\\x04\\x9a\\x20\\x97\\x8b\\x39\\xf6\\x88\\x3d\\xcf\\x1c\\xb3\\xc4\\x22\\x96\\x88\\xc9\\x15\\x0c\\x16\\x14\\x22\\x93\\xa9\\x20\\xcf\\x9c\\x23\\x32\\xb6\\x58\\x2c\\x82\\xf5\\xd2\\x98\\xc7\\x67\\xd3\\xf9\\xc7\\x52\\x3d\\xf8\\x59\\xf7\\xb4\\x1b\\xc5\\x01\\xb2\\x7c\\x68\\xc6\\x51\\x90\\x11\\x8b\\x57\\xed\\xc6\\x9b\\x51\\xa3\\x98\\xea\\x04\\xe9\\x3e\\xc9\\x32\\x30\\x3a\\x2f\\x92\\x73\\x22\\x9a\\xb3\\xc3\\x9d\\xc5\\xfc\\x0b\\x52\\x5d\\x03\\x38\\x76\\xcf\\xe4\\x7f\\xbd\\xfb\\x06\\xb9\\xd2\\x59\\xc4\\x3f\\xe5\\xb9\\xfd\\x93\\x83\\x0b\\xf9\\x0e\\xf4\\xd8\\xae\\xea\\xd4\\xa8\\xb0\\xa5\\xd4\\x16\\x09\\x37\\x0f\\x52\\x61\\x4d\\xa0\\x54\\xdd\\xb8\\xa8\\xdf\\x90\\x80\\x59\\xb4\\x97\\x4a\\xa1\\xbe\\xcb\\xdf\\x51\\xeb\\x3d\\xa5\\xb0\\x6e\\x7b\\xd5\\x60\\x6d\\x5c\\x97\\xab\\x43\\xe8\\x3b\\xf1\\xb8\\xa2\\xd8\\x86\\x1b\\xe2\\xc3\\x46\\xa6\\x98\\x93\\x43\\x51\\x56\\x88\\x44\\x72\\x63\\xac\\xd5\\x1a\\x13\\x8f\\x52\\xc7\\x29\\x6a\\x3b\\xb5\\x9f\\x3a\\x44\\xd1\\x12\\x05\\x34\\xa2\\x40\\x62\\xa8\\x9c\\x9c\\x5c\\x57\\x50\\xb3\\x43\\x23\\xde\\x9e\\x5e\\xda\\x8a\\x59\\x93\\x2b\\x8c\\xf0\\xb8\\x31\\xa5\\xe0\\x3d\\x52\\x51\\x91\\xc5\\x88\\xb4\\xad\\x9c\\xd2\\x03\\x45\\x27\\xa6\\xba\\x7a\\x0f\\x33\\x3e\\xee\\x58\\x97\\x45\\x02\\x3b\\x15\\x4f\\x6b\\xb6\\xae\\x6a\\xba\\xb0\\x12\\x93\\xdf\\x77\\xb2\\x41\\x8f\\x0b\\xe7\\xdf\\x7a\\xcb\\xf0\\x91\\x83\\x12\\xa5\\x52\\xa0\\xcf\\xca\\xfb\\x4b\\x9f\\x9f\\x4b\\xef\\xd6\\x08\\x71\\xee\\x48\\x7d\\xbd\\x1a\\xd7\\xb6\\x5f\\xf5\\xc6\\xb6\\xe1\\xce\\x77\\x5b\\x7d\\x60\\x6f\\xa6\\xc7\\x05\\xf0\\x18\\x4f\\xe2\\xb5\\xa3\\xf0\\x18\\x5d\\x68\\xb6\\x5c\\xcd\\x3b\\x91\\xa6\\xb5\\xbb\\x3d\\x56\\x6c\\x07\\xb9\\x2d\\x02\\x25\\x50\\x98\\xa9\\xf2\\xad\\xfc\\x5c\\x7e\\x19\\xcf\\x9c\\xe2\\x61\\x2b\\xbf\\x97\\xa7\\x10\\x0f\\x56\\x2d\\x5e\\x40\\xc4\\xc4\\x8c\\xac\\x4d\\x8a\\x03\\x53\\xe5\\x73\\x2e\\x6f\\xbd\\xc3\\x81\\x3c\\x06\\xdf\\x27\\x29\\x6f\\x64\\x8c\\x98\\x0a\\x33\\x89\\x9d\\x86\\xdf\\x40\\x57\\x61\\xe3\\xd5\\x60\\x64\\x88\\xe8\\x27\\x29\\x5a\\x9c\\xb1\\x4f\\xa0\\x2a\\xef\\xab\\x99\\xe1\\xaf\\x2e\\x2b\\xa5\\xa6\\xf0\\xed\\x7f\\x7a\\xab\\x66\\x46\\x7c\\x78\\x59\\x7d\\x29\\x5d\\xe6\\x92\\x56\\x9e\\xe9\\x75\\xee\\xe3\\x80\\xf7\\x5e\\xed\\x1d\\xb1\\x78\\x5f\\x25\\xd4\\x1f\\xe9\\x18\\xd6\\x5b\\x8b\\xb0\\x55\\xda\\xa3\\x87\\x2b\\x6c\\x49\\xf8\\x73\\x73\\x45\\x9a\\xb7\\xf0\\x2e\\x3a\\x59\\x1c\\xb6\\x5a\\xac\\x96\\x5f\\x14\\xab\\xd5\\x55\\x54\\xd4\\xe3\\x17\\xa5\\xe8\\x57\\x97\\xfb\\x17\\xc5\\x85\\xba\\xa4\\xc3\\x65\\xe7\\x5f\\xa4\\x52\\x46\\x0a\\x0b\\xde\\xef\\x7a\\xc4\\x80\\x3e\\xe5\\x98\\x59\\xf5\\x87\\xbe\\xc0\\x11\\xe5\\x0a\\xab\\x88\\x1e\\x2d\\xac\\x9e\\xd3\\x92\\x2f\\xf0\\x45\\x98\\x33\\xeb\\x1a\\xbe\\x92\\x1b\\x3d\\x89\\xff\\xb4\\xa8\\x32\\xf0\\xd0\\xf2\\x95\\x7c\\xff\\xf1\\xad\\xae\\xbe\\x8e\\x65\\xe3\\x87\\x34\\xb3\\x7d\\xf9\\xdb\\xfb\\xf3\\xea\\x8f\\xf3\\xa6\\xc4\\x7b\\x42\\x61\\x3c\\x7f\\xe4\\x48\\xb6\\x94\\xf9\\x06\\x0a\\xd6\\x3e\\x58\\x36\\x6b\\x86\\xfa\\xdc\\xa4\\xdb\\x5d\\xb4\\x63\\xea\\x88\\x68\\x40\\x7d\\xba\\x38\\x7e\\xbb\\xf6\\x4e\\x74\\x8b\\x3a\\x04\\xe6\\xe1\\xf1\\xe0\\xbd\\x2c\\x0b\\xd8\\xc8\\x64\\x58\\xcd\\x14\\x35\\x0e\\x29\\x48\\xbf\\x30\\x39\\x80\\x65\\xaa\\x3a\\x84\\x1b\\xfa\\xeb\\x0b\\xba\\xee\\x9e\\x9f\\x3d\\x07\\x5e\\x54\\x10\\x48\\x24\\x1c\\xac\\xd9\\x14\\x8b\\x99\\x10\\x5d\\x9c\\x34\\xc7\\xf2\\x62\\x79\\xbf\\x28\\xb1\\x98\\x17\\x79\\x3d\\xbf\\x28\\x5e\\xdc\\xe2\\x17\\x05\\xfd\\xfa\\x5b\\x73\\xe0\\xec\\x53\\xa1\\x25\\x4c\\xe8\\x34\\x57\\x4d\\xf8\\x74\\x7f\\xa8\\xae\\xc2\\x62\\x50\\x9f\\x8c\\x24\\xe0\\x8b\\xc6\\xe0\\xbd\\x3e\\x4e\\xd3\\x97\\x31\\x07\\xcf\\x37\\xc6\\x7c\\xd3\\xa4\\xc1\\x97\\x31\\x7d\\xf9\\x01\\x97\\xf4\\xe7\\x57\\xfd\\x99\\xaf\\x34\\x4d\\x1a\\xcd\\xcf\\xbd\\xc9\\x55\\x19\\x78\\xf8\\x26\\xf5\\x47\\x3c\\x62\\x18\\xd1\\xba\\xca\\x43\\x4b\\xd3\\x1a\\x2b\\xa1\\xa1\\x24\\x36\\x78\\x70\\xd9\\xfb\\x05\\x3d\\xd5\\xbf\\x14\\x44\\xc7\\x5c\\x4a\\x97\\x32\\xbf\\x9b\\xaf\\xfe\\xcf\\x9a\\x4d\\x78\\x3c\\xa3\\xe0\\x17\\xa6\\x92\\x1e\\x81\\x65\\xe3\\x1c\\xd9\\xcd\\x0b\\x1e\\xaf\\xe0\\x0d\\x86\\xbc\\x56\\xd6\\xfa\\xa4\\xc2\\xca\\xc1\\x1e\\xf5\\xac\\xc6\\xfe\\xaa\\xb0\\x96\\xc1\\xb2\\x4e\\x01\\x73\\xfc\\x27\\x15\\xd1\\x19\\x75\\xd6\\x39\\x1b\\x9d\\x8c\\xe8\\xdc\\xeb\\x3c\\xe6\\xa4\\xb5\\xdf\\x65\\xce\\x16\\xe7\\x1c\\xe7\\x56\\xe7\\x11\\x7c\\xa1\\xc3\\x29\\x38\\xe5\\xb2\\x8a\\x7a\\x27\\x2a\\xd3\\x12\\xaa\\xd2\\x91\\x2c\\xc9\\x64\\x97\\x80\\x49\\x6d\\xd1\\xf5\\x48\\x1c\\x2e\\x4e\\x74\\x67\\x3d\\x50\\xa7\\x3a\\x65\\xa7\\xe8\\xc2\\x19\\x6b\\x1a\\xae\\x28\\xb8\\x74\\x84\\xed\\x2a\\xe7\\xad\\x8b\\x6a\\x16\\x0f\\x1b\\x7d\\x59\\x7c\\xf0\\x08\\xd7\\xd5\\x0e\\x79\\x06\\xfc\\x72\\x5d\\x5d\\x9f\\x59\\x2b\\x5e\\x7a\\xa8\\xb6\\xae\\xbe\\xd7\\xf4\\xd5\\xb7\\xdc\\x3e\\x1c\\x75\\x74\\x20\\xe3\\x1f\\x09\\x2f\\x01\\xf1\\xcb\\xad\\x52\\xaf\\xa6\\x6a\\xe9\\xd7\\x49\\x1d\\xbe\\x25\\x72\\x31\\xb6\\x8b\\xad\\x56\\x1b\\x29\\xe9\\xa0\\x55\\xe2\\x9b\\x23\\x2e\\x15\\xf7\\x8a\\xaf\\x89\\x1d\\xa2\\xc9\\x41\\x8b\\x72\\x7e\\x71\\xbd\\x28\\x5b\\xc5\\x7a\\x51\\xa4\\x6d\\x07\\x40\\x92\\xbf\\x24\\x09\\x84\\x52\\xa6\\x4c\\xdf\\x59\\x52\\x38\\x6f\\x17\\xa9\\xc0\\x97\\x29\\xbf\\x97\\xd4\\x2b\\xf5\\xe1\\x7b\\xef\\x92\\x62\\x7d\\x7a\\x15\\xbf\\x61\\xe4\\xc6\\x12\\x52\\xa9\\xaf\\xc5\\x01\\x8d\\x5d\\xcb\\xf4\\x9d\\x5f\\x75\\x4f\\x26\\x55\\xf7\\xf2\\x49\\x4d\\x3d\\xe6\\xb7\\x6a\\xf4\\x75\\x2b\\xea\\x97\\x9f\\x2e\\xbf\\x47\\xe9\\x65\\xfa\\xb2\\x6b\\xf4\\x35\\x11\\x94\\xe5\\xa4\\x4c\\x1f\\x4a\\xd7\\xf1\\xcb\\xae\\xd1\\x57\\x46\\x6a\\xf4\\x5d\\xc0\\x93\\xde\\x72\\xa1\\x4a\\x49\\xdd\\x1c\\xe8\\xe7\\xdd\\x9a\\x97\\x55\\x9e\\x8f\\xa4\\xa6\\x75\\x8f\\x8d\\x86\\x4a\\x5d\\xb7\\xd7\\x14\\x23\\x57\\xdc\\x95\\x82\\xfa\\xec\\x2a\\x7d\\x74\\xbd\\x91\\xde\\x78\\xb6\\x99\\x3e\\x40\\xd6\\x6d\\x03\\xe6\\x8b\\xda\\x79\\x4f\\x10\\xeb\\xea\\xb7\\xca\\xc3\\x90\\xd3\\x16\\xc9\\x31\\x31\\xac\\xdd\\x4e\\xfb\\x7d\\x12\\x23\\x32\\x0c\\x2b\\xb2\\xce\\x90\\xe0\\x14\\xb0\\xe2\\xee\\x93\\x7c\\x0b\\x14\\xd1\\x1d\\x75\\x97\\xb9\\x69\\x33\\xed\\x76\\xdb\\xa4\\x1c\\x3f\\xed\\x5f\\xa8\\x34\\x06\\x5b\\x82\\x73\\x82\\x74\\x30\\xa8\\x19\\x74\\x12\\xcd\\x8a\\x76\\x8c\\xc1\\x8f\\xb5\\x8d\\x3a\\xbd\\xf8\\x9a\\x23\\x5d\\x7e\\x0c\\x7f\\xc9\\xc4\\xbd\\x75\\x89\\x1b\\xd3\\xaa\\x8e\\x65\\x2a\\xe2\\x68\\x79\\xfb\\x71\\x52\\xfa\\xc6\\xd9\\xa5\\xf8\\x18\\x96\\x87\\x6e\\x9f\\xcb\\x44\\xd1\\xad\\x83\\xb7\\x35\\xc6\\x9a\\x73\\x1f\\xdc\\xb1\\xfc\\xc4\\x8a\\x68\\x73\\xe4\\xae\\x99\\xa5\\xd5\\x52\\xcd\\x84\\xb5\\x4b\\x57\\xaa\\x7c\\xdb\\x9a\\xe5\\x3b\\x61\\x7c\\xff\\xcb\\xac\\xaf\\xbe\\x60\\x7a\\x71\\xcb\\x4e\\xf0\\xec\\x92\\xf6\\xec\\xe6\\x93\\xea\\x99\\x3d\\x35\\xa6\\x73\\x5f\\x98\\x95\\xcd\\xc7\\xc3\\xb4\\x2f\\x5f\\xfd\\x90\\xf0\\x95\\x20\\x66\\x3f\\xc0\\x0e\\xc7\\xf2\\x7c\\xaa\\xdc\\x3b\\x37\\x2f\\x8f\\xb3\\x0a\\x1c\\xed\\xa2\\xb0\\xe2\\x17\\xb6\\xdb\\x0b\\x13\\x14\\x55\\x90\\x6b\\xb6\\x98\\x17\\x28\\x39\\x16\\x0b\\xe5\\x70\\x04\\x16\\x28\\xc8\\x33\\xd7\\x43\\x09\\xb4\\xc7\\xc1\\xd1\\x09\\x2a\\xb1\\x28\\xbb\\x0e\\x42\\x67\\x4a\\x41\\xaa\\xf3\\x20\\x5d\\xd7\\xad\\x1c\\x99\\xdc\\x63\\x92\\xa0\\xa5\\x49\\xf3\\xc2\\x78\\x75\\xaa\\xa0\\x5b\\x70\\x9c\\x2f\\xc6\\xc5\\x4c\\x84\\xdf\\x2c\\x09\\x9d\\x7b\\xd1\\x3d\\x61\\xfc\\x78\\xff\\x36\\x71\\x69\\xa0\\xfd\\xfb\\xdb\\xef\\x2d\\x1d\\xc0\\xe5\\x5e\\x55\\x71\\xcf\\x43\\x0c\\x78\\x45\\xf5\\x0c\\x6d\\xb1\\x5f\\x79\\xe5\\xc6\\x8d\\xd7\\x0e\\x1d\\x74\\xd7\\x88\\xde\\x93\\x9b\\x5b\\xc6\\x7e\\x71\\x2a\\xa9\\x7e\\xfb\\x92\\x27\\xe7\\xb3\\x3f\\xde\\xd1\\x3c\\x6d\\xe0\\x98\\x75\\x0d\\x78\\x5d\\xa7\\x03\\x43\\xef\\x62\\x86\\x60\\xbd\\xb6\\x08\\x6d\\x92\\xfd\\x61\\x14\\xb7\\x23\\x7b\\x71\\xb2\\x32\\x39\\x28\\x39\\x25\\xb9\\x22\\xb9\\x3d\\x79\\x28\\x79\\x22\\xc9\\x25\\x35\\x4e\\x53\\x3e\\x7e\\x4a\\x7d\\x6e\\x12\\xdc\\x49\\x40\\x49\\x18\\x46\\xa1\\x64\\x6e\\x52\\x4e\\xb6\\x26\\x97\\x25\\xdb\\x92\\x07\\x93\\xdc\\xc1\\xe4\\xf1\\x64\\xd6\\x35\\x56\\xa0\\xb5\\x46\\xcf\\x54\\x37\\xd4\\x93\\xc6\\x01\\x57\\xb0\\x9e\\x2b\\x58\\xa8\\xc5\\xcb\\x0a\\x34\\xe7\\xf1\\xe4\\x2e\\xd4\\x02\\x3d\\xd7\\x79\\xc0\\xa3\\x25\\x98\\x62\\x4a\\x95\\x0e\\x69\\x53\\x03\\x7a\\x1e\\xa5\\x7e\\xe0\\x9d\\x9c\\xd8\\x69\\x8f\\xb8\\x2a\\xab\\x0b\\xab\\x7d\\xda\\x44\\x54\\xfb\\x38\\x4d\\xf0\\xfb\\xb8\\x42\\xcd\\x42\\xe1\\x0a\\xab\\x0b\\xaa\\xdd\\x46\\x20\\x21\\x31\\xfd\\x56\\x34\\xcd\\x6c\\x98\\x76\\xcd\\x2d\\xb7\\x5c\\x73\\x4d\\xfd\\xac\\xe6\\xe6\\x59\\xf5\\xd7\\x5c\\xbd\\xf2\\xd6\\xe9\\x33\\xea\\x67\\x36\\xb5\\x36\\xae\\x1a\\xf1\\xbb\\xbd\\x7b\\xae\\xbb\\x74\\xe5\\x48\\x6a\\xfb\\x6d\\x57\\xcf\\x6c\\x20\\xb7\\x67\\xcd\\x5e\\x7a\\xcb\\x35\\xda\\xed\\xa6\\x99\\xf5\\x33\\xa6\\xdf\\x7a\\xe9\\xaa\\xa6\\xdd\\xd7\\x5d\\xb7\\x67\\xc4\\xed\\x78\\xdd\\x5b\\xf0\\xba\\xdf\\x81\\x69\\x3e\\x1f\\x3d\\x22\\x8f\\xb5\\x3b\\x6c\\x36\\x5e\\x34\\x9b\\xf9\\x68\\x3c\\x4e\\xe7\\x12\\xa7\\x10\\xef\\x0c\\x44\\x22\\xce\\x82\\x44\\x24\\xe0\\x73\\xba\\x9d\\x0b\\x14\\xad\\x16\\xe2\\x02\\x25\\xdf\\xea\\x77\\xd8\\xe3\\x36\\x5b\\x9e\\xdd\\x61\\x5f\\xa0\\x44\\x1d\\xa2\\x35\\x6a\\xa5\\x44\\x2b\\x58\\x68\\x87\\x2c\\xd8\\xea\\xad\\x0e\\xab\\xc3\\x14\\x72\\xd3\\x5a\\x90\\xf8\\x02\\xc5\\xe4\\xec\\x0c\\xfd\\xd0\\xb6\\x00\\x19\\xbd\\x11\\x05\\x64\\x28\\x3f\\xe9\\xf4\\x24\\x3d\\x26\\xa4\\x22\\x5b\\x1b\\xca\\xfc\\xdb\\x47\\xaf\\x3e\\xc8\\x69\\x96\\x3b\\x15\\xab\\x8e\\x55\\x17\\x6a\\xb9\\x33\\x5d\\x62\\x44\\x52\\x9c\\x16\\xf2\\x37\\x41\\x54\\x4f\\xf6\\x78\\x4c\\x68\\xff\\x46\\x78\\xaa\\x87\\x7a\\x52\\x04\\x9f\\xcf\\xa4\\xfe\\x6c\\xff\\x6a\\x43\\x8b\\x00\\x7b\\x84\\x55\\xab\\x61\\xfa\\x22\\x01\\xc6\\x09\\xb3\\xd4\\xd5\\xdf\\xd8\\xd5\\x9f\\x1d\\x7e\\x58\\xdd\\xfc\\xb5\\x16\\x40\\xf2\\x75\\xf3\\xcd\\xf1\\x66\\x6a\\x0e\\x89\\x1d\\xb9\\x83\\x5a\\x48\\x3e\\xef\\x6e\\xce\\x21\\xaf\\xb7\\xa7\\xb2\\x64\\x35\\x87\\x8a\\x64\\xb7\\x89\\xa2\\x58\\x00\\x81\\xc7\\xdc\\x41\\x61\\xc2\\x80\\xec\\x5a\\x11\\x8f\\xba\\xc3\\xdd\\x93\\xbe\\x35\\x01\\x4e\\xeb\\x42\\x7c\\xea\\x54\\x3a\\x46\\x5d\\xd3\\xbe\\xfe\\x6c\\x82\\x9a\\xdd\\x7e\\x0f\\xe1\\x37\\x03\\x3b\\x10\\xbd\\x93\\x9d\\x85\\x2a\\x91\\x8c\\x26\\xcb\\xc5\\xfd\\x2b\\xfa\\xa2\\xbe\\xee\\xc2\\x20\\xb2\\x97\\x55\\x55\\xd9\\x6b\\x7c\\x41\\xb7\\x89\\x8d\\xb2\\xd1\\x01\\x03\\x2b\\xfa\\xfb\\x6a\\x0a\\x6b\\xfa\\xdb\\x35\\x35\\x33\\x7f\\xb3\\x12\\xcb\\x39\\x00\\xf6\\x67\\x29\\xcb\\x66\\x85\\xa3\\x0e\\x80\\xa8\\x85\\xad\\xa0\\x4e\\x55\\x9a\\x4c\\x29\\x31\\x73\\xb3\\x82\\xc2\\x88\\xf6\\x95\\x90\\xb2\\x32\\x37\\x7a\\x67\\xec\\xdd\\xea\\xf3\\xac\\xde\\x08\\xf8\\x48\\x71\\x43\\x2e\\x02\\x34\\x86\\x22\\x9e\\x06\\x5f\\x7f\\xa0\\x25\\x75\\xca\\xa5\\x7b\\xaa\\x8b\\x4a\\x5d\\x91\\xdf\\xf5\\x5f\\x74\\xdd\\x55\\xd7\\xce\\x9d\\xb9\\x65\\x43\\xcb\\xc8\\xa7\\x1f\\x5d\\xf8\\x50\\x7e\\xa9\\x7d\\xc0\\xac\\x31\\x53\\x7b\\x0c\\x9d\\x3d\\xfe\\xb2\\x9e\\x3b\\x37\\x5e\\x35\\x3a\\x34\\x64\\xec\\xc2\\x3b\\x46\\x0e\\x5e\\xbd\\x74\\xb0\\xfa\\x52\\xc4\\xff\\xd5\\xea\\x48\\xf1\\xf4\\x16\\x79\\xe6\\xc0\\xba\\xd5\\xa3\\xaf\\xdf\\xea\\xad\\x5c\\xdc\\x70\\xc7\\x56\\xcd\\x48\\x1e\\x79\\x79\\x8f\\x7e\\x55\\x7d\\xca\\x2f\\x6d\\xa9\\xbd\\x79\\xbb\\xa7\\xee\\x16\\x78\\xa7\\xf7\\xe8\\x9e\\xa6\\x59\\x8a\\x7c\\x79\\x8c\\xbd\\x0a\\xcf\\xcf\\x61\\x66\\x06\\xf5\\x2b\\x9b\\xd2\\xf2\\xec\\x29\\x46\\xee\\xc0\\x12\\xd4\\xea\\x74\\x06\\xfc\\x1e\\x81\\x16\\xee\\x50\\xc4\\x9d\\xf4\\xdb\\x58\\x8b\\x95\\xab\\x07\\xd6\\x17\\xd2\\x43\\x69\\xca\\x4f\\x63\\x6e\\xf1\\x00\\x4d\\xf1\\xf4\\x4e\\xfa\\x57\\x9a\\x16\\x68\\xd9\\xe2\\xa8\\xa7\\xa7\\x05\\xa0\\x26\\x00\\x3d\\x02\\xe0\\x0f\\x00\\x13\\x80\\x7f\\x07\\xe0\\xef\\x01\\xf8\\x28\\x00\\x87\\x02\\xb0\\x3f\\x00\\x8f\\x06\\xe0\\xde\\x00\\x2c\\x0f\\xc0\\x82\\x00\\x5c\\x19\\x80\\xcb\\x02\\x30\\x28\\x00\\x95\\x01\\xc8\\x0f\\x80\\x27\\x00\\x6c\\x00\\xa6\\xff\\x1c\\x80\\xaf\\x02\\xf0\\x61\\x00\\xde\\x24\\x0d\\x1e\\x21\\x0d\\x50\\x26\\x79\\xac\\x39\\x00\\x03\\x03\\x50\\x41\\x5a\\xe8\\xc9\\x63\\xff\\x0a\\xc0\\xdf\\x48\\xb2\\xd9\\x1b\\x01\\x78\\x9a\\x24\\x9b\\xdd\\x13\\x80\\x5b\\x02\\x30\\x3f\\x00\\x53\\xd2\\xc9\\x66\\x18\\x3e\\x2f\\x00\\xce\\x00\\x50\\x69\\xf8\\x4c\\x8f\\x76\\x10\\xf8\\x65\\x04\\x7e\\x32\\xc1\\x3f\\x84\\xf4\\x08\\xc3\\xcb\\xbf\\x73\\x93\\x31\\xf4\\x39\\x4d\\xfa\\xf4\\x01\\x79\\x04\\x6e\\xb2\\x3d\\x00\\xeb\\x03\\x70\\x5b\\x00\\x16\\x05\\x60\\x6a\\x00\\x46\\xa5\\x07\\x51\\x90\\x7e\\x44\\x67\\x02\\xdc\\xa1\\x74\\x83\\x15\\x01\\x58\\x98\\xee\\x4d\\x65\\x3a\\xf5\\x0d\\xe3\\xc6\\xa8\\x4f\\x90\\xc7\\x53\\x99\\xe4\\xb8\\xa8\\x7e\\xf6\\xd4\\x72\\xde\\xd1\\x77\\xcb\\xf9\\x27\\xdf\\xbf\\x71\\xf0\\x7d\\xde\\x51\\x79\\xcb\\x7f\\x8f\\xd8\\x28\\x4b\\x6a\\xec\\x71\\x7e\\x72\\x7e\\xd7\\x44\\xba\\xae\\x25\\x0c\\xd8\\xac\\xef\\xd4\\xaf\\x35\\xc5\\xc5\\xb5\\xb5\\xc5\\xc5\\x35\\xea\\xe6\\x9a\\xe2\\xa2\\x8b\\xfa\\x17\\x16\\xd7\\x30\\x47\\x8a\\xfb\\xe2\\x4f\\xed\\x6a\\xdf\\x8b\\x8a\\xf0\\xa7\\x9e\\xcf\\xbb\\x08\\xdb\\xe6\\x7f\\x65\\x9b\\x91\\x56\\x34\\xa5\\x06\\x6e\\x94\\xab\\x24\\x54\\x1e\\xf7\\xf3\\x7c\\xef\\xa2\\x38\\x62\\xfb\\xd4\\x0a\\xb5\\x20\\xd4\\xf6\\xa9\\xfd\\x4f\\x2d\\x3d\\xf7\\x3f\\xb5\\xb0\\xa3\\xf6\\xab\\x5a\\xaa\\x08\\xff\\xa6\\x9c\\xb5\\xc0\\xd4\\xc2\\x89\\xda\\xd3\\xb5\\xd4\\x07\\xb5\\x50\\xab\\x99\\xef\\x7d\\xc6\\x4c\\xa8\\x9f\\x5e\\x0b\\x03\\x6b\\x21\\xbf\\xb6\\x92\\x40\\x98\\x6a\\xe1\\x93\\x5a\\xd8\\x56\\xfb\\x74\\x2d\\xb5\\xbe\\x16\\xe6\\xd7\\xde\\x52\\x4b\\x8d\\xaa\\x9d\\x52\\x4b\\x55\\xd4\\x0e\\xac\\xa5\\xdc\\xb5\\xf9\\xb5\\x14\\x55\\x0b\\xb2\\xde\\xda\\x8b\\x35\\xc8\\xd3\\xb5\\x70\\xb0\\xf6\\x68\\xed\\xf1\\x5a\\x7a\\x7f\\x2d\\xac\\xab\\x6d\\xab\\xa5\\x6a\\x35\\x71\\xd2\\xb3\\xa2\\x9e\\x80\\x24\\x8a\\x4a\\xeb\\x4f\\xe8\\x20\\xd4\\xf6\\xda\\xfd\\xb5\\xd4\\xba\\x5a\\x98\\x52\\xbb\\xb0\\x76\\x45\\x2d\\xdd\\x54\\x0b\\xeb\\x6b\\xb7\\xd7\\x1e\\xaa\\xa5\\x6b\\x89\\xc3\\x20\\x10\\xa9\\x5f\\x56\\x0b\\x14\\xaa\\x05\\xb3\\x7e\\x65\\x88\\xd5\\x51\\x5f\\x50\\xfa\\x8e\\xd2\\xb3\\x18\\x8a\\x8b\\x0b\\x62\\x55\\xbd\\xaa\\x06\\x54\\xd1\\x50\\xe5\\xa8\\x8a\\x55\\xdd\\x5d\\xf5\\x70\\x15\\x6b\\xa3\\xab\\xaa\\x72\\x73\\x2b\\xde\\x51\\x50\\x81\\x54\\x40\\x89\\xb9\\xd1\\x5c\\x2c\\xcb\\x0b\\x72\\x0b\\x72\\x19\\xab\\xd5\\xfd\\xb6\\x62\\x6d\\x63\\xc2\\x6f\\x2b\\x0c\\x93\\x65\\x38\\xa4\\x53\\xd9\\x33\\xc7\\xdb\\x98\\x85\\x97\\x69\\xc2\\xcc\\xf0\\x3c\\xe8\\x4b\\x9c\\x4c\\x6a\\xeb\\x9a\\x6c\\x99\\xd4\\x65\\x45\\x93\\xc6\\xda\\x6b\\x8d\\x9c\\x9d\\xb5\\x3b\\x8c\\xbc\\x06\\xa7\\xee\\x7d\\xcd\\xa7\\xaa\\x49\\x42\\x7b\\xbe\\xb3\\xaa\\x92\\xca\\xd7\\x52\\x0d\\xc1\\x58\\xdf\\x28\\x18\\x9c\\x49\\x8a\\x55\\x68\\x4a\\x90\\x69\\xd1\\x4b\\xd0\\xef\\xc5\\x97\\x40\\x7e\\xe1\\x59\\xf5\\xb5\\x57\\x5f\\x54\\x0f\\x1e\\x18\\xf2\\x18\\x44\\x77\\x3c\\x06\\xb9\\x3b\\x9f\\x50\\xff\\xf6\\xd8\\x63\\xea\\xf1\\x47\\xa9\\x1b\\xdf\\xfc\\xfc\\xc3\\x23\\x0b\\x36\\x30\\xbd\\x5c\\xcd\\x8b\\xee\\x5d\\x06\\xb6\\xb5\\x0d\\xde\\x5e\\xcc\\x0d\\xd4\\x96\\x57\\x60\\xc0\\x73\\x07\\xd4\\xd7\\x5f\\x79\\x41\\x7d\\xf3\\xe5\\x03\\x20\\xbf\\xf8\\x98\\x7a\\xec\\xd1\\x47\\x71\\xc3\\x9d\\x90\\xb7\\x1d\\x7f\\x6f\\x7f\\xf5\\xe3\\xd7\\xdf\\xff\\x28\\xf2\\xd2\\xf4\\xd4\\x13\\x2f\\xab\\x8f\\x5c\\xb4\\xf8\\x0f\\x85\\x98\\x0f\\x4d\\xa0\\x3a\\xa8\\xdb\\x30\\xcd\\x38\\xb1\\x71\\x36\\x50\\xce\\xf3\\x0b\\x61\\x97\\x48\\xd3\\x4e\\x24\\xa0\\x9c\\x88\\xcd\\x73\\x42\\x71\\xda\\xbe\\x08\\x07\\x4d\\xc1\\x7f\\x28\\xa6\\x93\\x34\\x3a\\xa1\\xd0\\x27\\xb3\\x8f\\x0b\\x53\\xdd\\x7c\\xf7\\x98\\x8a\\x31\\xa7\\x35\\xce\\xce\\xc9\\x31\\xad\\x36\\x24\\x9d\\xf1\\x6a\\x09\\x75\\x89\\xd1\\xc2\\xdb\\xd6\\x51\\xd3\\x86\\x8c\\x1d\\xb3\\x6d\\xfa\\x80\\x8b\\x4d\\xb9\\x91\\xdb\\x4b\\x7a\\x5f\\x3e\\x73\\x5c\\xbf\\xa1\\xf4\\x20\\xb1\\xb0\\x41\\x59\\x7c\\xc5\\xcc\\x27\\xaf\\x0c\\xd2\\xce\\xc6\\xd0\\xd3\\x2b\\xd7\\x14\\xeb\\x71\\x00\\x73\\x50\\x03\\xfd\\x2f\\x7a\\x14\\x32\\x21\\x1b\\xaa\\x97\\x63\\x82\\xd5\\xca\\xf3\\x22\\x0d\\x40\\xb1\\xac\\xd9\\x2e\\x5a\\x18\\x8a\\xf9\\x61\\x3c\\x87\\xe1\\x7e\\x1c\\x6f\\xb3\\x0a\\x26\\x16\\x0b\\x0d\\x27\\x0a\\x90\\xfc\\xac\\xec\\xbc\\xe0\\x4c\\x49\\x07\\x43\\x79\\x4e\\x81\\x2b\\x0e\\xd5\\xc6\\x07\\x15\\xea\\xa7\\x1e\\x7c\\xbe\\x9f\\xfa\\xb9\\x85\\xee\\xdb\\x4f\\x7d\\xed\\x40\\x3f\\xf5\\xaf\\x16\\x7a\\x94\\x7a\\xad\\x7a\\x33\\x4c\\x19\\x08\\x53\\x8c\\x2f\\x58\\x08\\x7e\\x89\\xde\\x65\\x36\\x52\\x9f\\x21\\x16\\x95\\xc8\\x5e\\x1a\\x7f\\x98\\x38\\x91\\x6a\\xa1\\x28\\xab\\xc6\\xab\\x11\\xfd\\xa4\\x82\\xf6\\x6a\\xb3\\x13\\xf4\\x4b\\x87\\x33\\xc5\\x76\\x33\\xe5\\xd1\\x98\\x8d\\x57\\x9f\\xdb\\x43\\x7d\\xd6\\x7e\\x0a\\x9e\\x98\\x8a\\xed\\x2a\\xa3\\x5e\\x19\\xb6\\xab\\x24\\x3c\\x4e\\xa6\\xcb\\xde\\xad\\x42\\xfd\\xe1\\x6f\\x72\\x87\\x84\\x7a\\x24\\x12\\x05\\x55\\xe5\\xe5\\xa5\\x7d\\xf3\\x62\\xb1\\x82\\xca\\x5e\\xbd\\x4a\\x4b\\x7b\\x17\\xf4\\x46\\x7e\\x3f\\x8f\\xf8\\x3a\\xb9\\xb0\\xb6\\xa8\\xf6\\x1d\\xa5\\xbc\\x6f\\x6e\\xdf\\xdc\\x77\\x94\\x5e\\xb1\\x82\\xfc\\x82\\x77\\x94\\xca\\x7c\\x54\\x24\\x15\\x51\\x02\\xca\\xc7\\xd6\\xf4\\xb2\\xfc\\x53\\xf9\\xb4\\x93\\x2e\\xea\\x9b\\x9f\\xdf\\xb7\\x88\\xee\\x4a\\xfc\\xbf\\x93\\x61\\xba\\x0c\\x3d\\x64\\xf0\\xcb\\xc0\\xcb\\x70\\x40\\x86\\x55\\xe4\\xca\\x50\\x19\\x6a\\xd2\\xd7\\x39\\x7c\\xe5\\x1b\\x19\\xde\\x96\\xe1\\x59\\x19\\x76\\xc8\\x70\\xbf\\x0c\\xb7\\xc9\\xb0\\x58\\x86\\xab\\x64\\x18\\x2d\\xc3\\x10\\x19\\xaa\\x09\\xe8\\x19\\x19\\xbe\\x93\\xe1\\xaf\\x32\\xa0\\xa7\\x65\\xd8\\x4e\\xe0\\x56\\xc8\\x30\\x5f\\x06\\x68\\x95\\x61\\x94\\x0c\\x95\\x32\\x58\\x64\\x38\\x2b\\xc3\\x09\\x19\\xde\\x95\\xe1\\x25\\x19\\x76\\xc9\\xb0\\x46\\x86\\x39\\x32\\x50\\x2d\\x32\\x94\\xcb\\x10\\x95\\x41\\x94\\xb1\\x8d\\x26\\xc3\\x31\\x19\\x8e\\xc8\\xf0\\x9a\\x0c\\x4b\\x65\\x79\\x88\\x06\\xd1\\x24\\x43\\x1d\\x01\\xe8\\x48\\xdf\\x6c\\x93\\xe1\\x2e\\xed\\xbe\\x86\\x1d\\xdf\\x2a\\x23\\xb7\\x7e\\x92\\xe1\\x28\\x69\\xb7\\x57\\x86\\xad\\x32\\x34\\x12\\xb4\\x65\\x04\\xed\\x05\\x78\\x76\\x57\\xb6\\x9e\\x1d\\x84\\xd7\\x32\\x2f\\xfd\\xf7\\x82\\xdc\\xbf\\x6b\\xd4\\x1d\\x56\\x49\\x30\\xe3\\x20\\xfc\\x42\\xab\\xb5\\x4c\\x94\\x3c\\xc2\\x4f\\xba\\x14\\x03\\xed\\x12\\xee\\xd3\\xc5\\x13\\xf6\\xbf\\xb0\\x08\\xd6\\xe1\\xf3\\xc4\\xaa\\xaa\\x1d\\x85\\x55\\x31\\xbd\\x22\\x98\\xcb\\xe7\\x89\\xd3\\xd5\\x9a\\xeb\\x02\\x5b\\x1b\\xbd\\xff\\x77\\x46\\x01\\xea\\x7c\\x75\\x47\\xeb\\x34\\x68\\xd8\\xbc\\x75\\xdc\\xd8\\x8f\\x47\\x1d\\xfe\\xc7\\x9e\\xd1\\x0b\\xea\\x2e\\x9e\\x31\\xfe\\x7f\\xe5\\x14\\x1f\\xaa\\xc7\\x1c\\xc9\\xa4\\x83\\xda\\x27\\x15\\x2d\\x98\\x71\\xe9\\xdc\\xb0\\x7a\\xd8\\x91\\x84\\x89\\x27\\x95\\x4b\\xd4\\xfd\\x0d\\x78\\x1f\\xdc\\xc3\\xee\\x66\\x9e\\x35\\x99\\x89\\x6f\\xc7\\x0c\\x0c\\xde\\x08\\xf4\\x8b\\x0a\\xfe\\x6b\\x9c\\x8c\\x60\\x8a\\x8f\\x55\\xc5\\x98\\x67\\xcf\\x7e\\xce\\xc4\\xd9\\xdd\\x93\\xf4\\x7d\\xbc\\x9d\\xfa\\x07\\xed\\xc0\\xf4\\x6d\\xc7\\xd6\\x58\\xa9\\xec\\xf3\\xe0\\x5d\\x8c\\x50\\x38\\xc4\\x58\\xed\\x56\\xe7\\x93\\x8a\\x95\\x61\\xfc\\x4f\\xa6\\x79\\xb2\\x74\\x28\\x99\\xad\\x67\\xba\\x08\\x27\\xd1\\x1c\\x55\\xc4\\xc3\\x5e\\xdd\\x59\\x03\\xcb\\xb4\\xbd\\xf9\\xee\\xcb\\x2e\\x5b\\x37\\xea\\xf2\\x75\\xcd\\xb7\\xec\\x9f\\xba\\xe4\\xf2\\xb1\\xd7\\x5d\\x37\\xf6\\xf2\\x25\\x4c\\x08\\x5f\\xc2\\xff\\x8d\\xba\\x7b\\xe4\\xfe\\x5b\\x94\\xeb\\xae\\x1f\\xab\\x5c\\x7f\\x9d\\xde\\x07\\xcd\\x1e\\xf0\\x93\\xfa\\x86\\x22\\x6a\\x91\\xab\\x6c\\x66\\x3b\\x6b\\x16\\x58\\x13\\x12\\x04\\x5a\\x7b\\x91\\x80\\x5d\\x7c\\x52\\xb1\\x3f\\x4e\\x6b\\x75\\x7e\\x38\\x3b\\xe2\\x9a\\x38\\xbc\\xb1\\x39\\x93\\x6c\\x54\\x3f\\xac\\x33\\x35\\x9a\\x28\\xad\\x02\\xa2\\x9e\\x62\\x6d\\x6c\\xf2\\xe4\\xf9\\xc1\\x07\\x06\\x8b\\xc9\\xaa\\x89\\xe8\\xc0\\xcb\\x48\\xcd\\x4e\\xd7\\x45\\x3c\\x37\\x34\\xbb\\x32\\x62\\xfb\\x3f\\xb5\\x60\\x48\\x40\\xbd\\x28\\x1f\\x75\\x33\\x3b\\x04\\xf9\\xc1\\x2a\\x3f\\x67\\xb5\\xd9\\xc0\\x64\\xf2\\xbb\\x5c\\x41\\x1f\\x40\\x20\\xa8\\x55\\xae\\x11\\xbe\\x52\\xa4\\xbf\\x52\\x3e\\xf0\\x7d\\xa3\\xc0\\xe7\\xc3\\x82\\xd0\\x37\\x08\\xc9\\x20\\xec\\x0a\\xc2\\xa6\\x20\\x2c\\x09\\xc2\\xcc\\x20\\x8c\\x0f\\x82\\x25\\x08\\xd7\\x9c\\x0d\\xc2\\x77\\x41\\x78\\x29\\x7d\\x6f\\x4d\\xfa\\x76\\x4b\\x10\\xa8\\xc6\\x20\\x44\\x83\\x20\\x92\\xac\\xc4\\xd7\\x82\\xb0\\x34\\x08\\xf8\\xca\\xb1\\x20\\xec\\x0d\\xc2\\x56\\xf2\\x73\\x0e\\x81\\xc3\\x17\\xeb\\x08\\x58\\xed\\x4f\\xe4\\xf6\\xbe\\xf4\\x25\\x29\\x0d\\x81\\xbf\\x97\\x11\\x5c\\x28\\x08\\x47\\x48\\xe3\\xd6\\x20\\x74\\xf3\\x66\\x74\\x8d\\x88\\xce\\x0e\\x66\\xcd\\xaa\\x29\\xd3\\x35\\x4a\\x20\\xbb\\x80\\x86\\xe1\\xbd\\x8c\\x55\\x1b\\x05\\xff\\xf4\\xda\\x3b\\x64\\x23\\x88\\x10\\xa3\\xe2\\xaa\\x5d\\xfc\\xe0\\xfe\\x86\\x9a\\xea\\xfe\\xb5\\x05\\xd5\\xd1\\x79\\x23\\x17\\xde\\xb4\\xfa\\xc1\\x27\\x61\\x39\\xe5\\x6b\\xdd\\xb0\\xfe\\xde\\xe6\\xca\\xc1\\xb1\\xc9\\xbb\\x43\\x53\\xc7\\x5c\\xf1\\xc2\\xac\\xa5\\xba\\x6f\\xb1\\x88\\x32\\x53\\xcb\\xf0\\xfc\\x16\\xc2\\x40\\xf9\\x2f\\xfe\\x40\\x9e\\x3d\\x9a\\xb0\\x58\\xec\\x01\\x9a\\x72\\xb9\\xa2\\x0c\\x45\\x15\\xf5\\xc8\\x13\\xed\\xa2\\xfd\\x2b\\xa5\\x51\\x6c\\x11\\xe7\\x88\\xb4\\x55\\x0c\\xeb\\xf5\\x09\\xc3\\x28\\x10\\x08\\x87\\x3d\\x5f\\x29\\xe1\\xbf\\x22\\xfe\\x2b\\x05\\xd1\\x80\\xc5\\x23\\xfa\\x5c\\x2c\\x82\\xa3\\x45\\x30\\xa7\\x08\\x5a\\x8a\\xa0\\xb1\\x08\\x72\\x8b\\x40\\x2a\\xc2\\x0f\\x81\\x59\\xa7\\x8a\\x60\\x69\\xfa\\x46\\x79\\xfa\\xc6\\xf1\\x22\\xd8\\x5b\\x04\\x5b\\xd3\\xd7\\xf5\\x8b\\xb8\\xfd\\xdc\\x22\\x28\\x4b\\xb7\\xec\\xfb\\x53\\x1a\\x68\\x29\\x41\\x59\\x47\\x6e\\x9c\\x22\\x8d\\x0f\\x16\\xc1\\xbe\\x22\\x68\\x23\\x17\\x71\\x83\\x28\\x69\\x80\\xe1\\x8f\\x10\\xf8\\xbb\\x48\\x13\\x99\\x3c\\xef\\x37\\x38\\x5d\\x76\\xb1\\xdc\\xee\\xce\\x26\\x12\\x77\\x32\\x29\\xab\\x80\\xa1\\x43\\xaf\\xd7\\xd2\\x59\\xb0\\xc5\\x91\\xea\\x99\\xa9\\x93\\x6f\\xf8\\x94\\xb3\\x4c\\xad\\x32\\xd0\\x7d\\x1d\\x5d\\x96\\x88\\xd4\\x6b\\x31\\x01\\x3d\\x77\\x46\\xb0\\x9a\\x73\\x5f\\x92\\xb8\\xfa\\xea\\x35\\x97\\x5b\\xc7\\xd4\\x8f\\xb9\\x7e\\x40\\x6f\\xbc\\x5c\\x33\\x46\\x2f\\x58\\x3d\\x7f\\x5e\\xcb\\xe4\\x17\\x28\\x73\\xe8\\xc5\\xb9\\x36\\xf7\\xa4\\x29\\x4b\\x2c\\xa6\\x01\\x0c\\x3d\\x7a\\xc2\\x35\\x39\\x53\\x77\\x87\\x26\\x35\\x8d\\x9b\\xe7\\xb0\\x8c\\x19\\xb2\\xf8\\x5e\\x7d\\xed\\x7e\\x65\\x26\\x51\\xbf\\x27\\x71\\xc2\\x93\\xe5\\x0e\\x1a\\x21\\x0e\\xcb\\xf9\\xf5\\xe3\\x2d\\x6c\\x88\\xdd\\xc5\\xbe\\xcb\\x32\\x02\\xab\\xc7\\xe3\\x26\\xd3\\x21\\xb6\\x67\\x49\\x24\\xee\\x2e\\x12\\xb3\\x9b\\x89\\x1f\\xce\\x8e\\xd6\\x9d\\xf1\\x59\\x1a\\x42\\x0f\\xd4\\x9d\\x49\\x20\\xf4\\x7b\\x7a\\x00\\xaf\\x1e\\xbd\\x3b\\xfe\\x3c\\xbc\\xdf\\x91\\x86\\x99\\x56\\xfa\\xf5\\x5a\\x3d\\x54\\x58\\x8f\\xc0\\x5d\\x91\\x09\\xe9\\x25\\x21\\xba\\xe5\\x1c\\xe4\\x73\\xe0\\x26\\xb1\\xba\\xa7\\x39\\x38\\xc1\\xc1\\x47\\x1c\\x1c\\xe2\\x60\\x7f\\x3a\\xfe\\x57\\x0f\\xe9\\x9d\\x92\\x86\\xd7\\x81\\x19\\x02\\xfc\\x19\\x81\\xdc\\xc7\\x01\\xd5\\x46\\xe0\\x96\\x72\\x10\\x7d\\x8a\\xcb\\x98\\x2c\\xdd\\x6d\\x90\\x0b\\x1b\\x2c\\xbf\\x21\\xf4\\xba\\x1a\\x25\\x59\\xc1\\xbb\\xae\\x6a\\x57\\x8a\\x83\\x5f\\xd9\\xd3\\x1f\\x9b\\xd4\\x39\\xcc\\xa4\\x18\\x48\\x09\\xf5\\xb4\\xbe\\x0e\\x21\\x75\\x38\\x03\\xf4\\x6e\\x94\\x83\\x46\\xc9\\x25\\x0e\\x13\\x23\\x8a\\x16\\xce\\x9a\\xe3\\xc3\\x0a\\x49\\x30\\x60\\x0d\\x44\\xa2\\x39\\xc1\\x46\\x25\\xc7\\xe3\\x17\\xf5\\x88\\x21\\x53\\x08\\xb9\\x29\\x77\\xb3\\xc2\\x50\\xde\\x4c\\xf6\\x89\\x1e\\xe4\\xd2\\x3d\\xe2\\x23\\x7d\\x9c\\xaa\\xf9\\x83\\x28\\xac\\x3f\\xf6\\x76\\xea\\x21\\x4e\\x5c\\xf6\\xf9\\x2a\\x75\\x64\\xdd\\xfc\\x19\\x91\\x5e\\xf5\\x4f\\xf1\\x79\\xc3\\xbd\\x6b\\x57\\xf2\\x50\\xb1\\x80\\x19\\x2e\\x97\\xdf\\xdc\\x73\\xf9\\x23\\x1b\\x6f\\xe5\\xd5\\x6f\\x6f\\x58\\x37\\x42\\xfd\\xfa\\xe3\\xd2\\xa1\\x20\\xdc\\x40\\xc7\\x02\\xa5\\xed\\x0b\\x7b\\x0e\\xbe\\x74\\x60\\x8a\\xfa\\x54\\x3b\\x65\\xc5\\x7d\\xbf\\x4e\\x55\\xe9\\x33\\xa4\\x4e\\x41\\x5f\\x19\\x73\\x42\\x16\\xf3\\x72\\xbb\\xd9\\x6e\\x96\\x1c\\x1c\\x67\\xb2\\x21\\xc6\\xc6\\x6c\\x56\\x6c\\x3b\\x4d\\x40\\x7c\\x0e\\x87\\x8c\\xfa\\x03\\x7d\\x74\\x8e\\x94\\xca\\x3a\\x55\\xc7\\x5c\\x1d\\xff\\xeb\\xd2\\x95\\xf7\\x98\\x87\\xde\\x3c\\xe9\\x89\\x49\\xd4\\xfb\\x3f\\x1e\\xff\\x00\\x8e\\x30\\xff\\x3a\\x63\\x65\\x4f\\x9f\\xb1\\xd2\\xd5\\x1f\\xbe\\xf4\\xfc\\x9b\\x55\\x58\\xc7\\x7b\\x94\\x2a\\x85\\x07\\xe8\\xa8\\xd3\\xc4\\x5f\\xac\\xd7\\x1b\\x52\\x2f\\xa7\\xec\\x28\\x84\\x5c\\xa8\\x46\\x0e\\x49\\x0e\\x87\\x68\\xb7\\xb3\\xa4\\x40\\x06\\x16\\x6d\\x8e\\x7b\\x14\\xbb\\x9d\\x16\\x69\\xfe\\x6e\\x85\\x26\\x45\\xb6\\xb4\\xaa\\x49\\x99\\xb0\\xa4\\x4c\\x9d\\x0a\\x56\\x3f\\xd6\\x37\\x44\\x20\\xde\\x85\\x78\\xa3\\x51\\xf6\\xbb\\x56\\xd5\\xf7\\xf3\\x95\\xf7\\xea\\x37\\x7c\\xd0\\x80\\x41\\xa3\\x63\\x4d\\x63\\x3e\\x9a\\x7c\\xad\\x67\\x98\\x54\\xdd\\xa7\\xa4\\xaf\\x69\\x43\\x33\\xdf\\xac\\x3d\\x7b\\x30\\x96\\x2f\\x3d\\xd8\\x81\\x46\\xad\\x57\\x2d\\x43\\x87\\x33\\xd1\\x2c\\x6b\\xb1\\x0a\\x7f\\xd5\\x92\\xbf\\xb0\\x66\\xff\\x79\\x9a\\x17\\x67\\xce\\xe0\\x8d\\x48\\x23\\x3d\\x9c\\x84\\xab\\x4e\\xa4\\x60\\xc5\\x76\\x41\\x2d\\xe0\\x1f\\x9b\\xbd\\x8b\\x07\\xa8\\xa7\\x46\\xdb\\x7b\\xf5\\xb2\\x53\\xf3\\x6a\\xcb\\x6e\\xd3\\xe5\\xeb\\x7c\\x9a\\xa2\\xda\\x48\\x4d\\x5b\\x3f\\x2a\\x96\\x3d\\x82\\xd7\\x1b\\xc4\\x1c\\x34\\x10\\x74\\xa1\\xaf\\x14\\xd7\\x17\\x56\\xd3\\x57\\x8a\\xf5\\xdb\\xf3\\xe2\\xad\\x34\\x6e\\x62\\x14\\xff\\xc2\\x23\\xa2\\xd3\\x96\\x83\\xc6\\x44\\x60\\xcf\\x88\\x39\\x7d\\xab\\x9a\\xe6\\xf4\\xbd\\xfb\\xaa\\x1b\\x2f\\x7f\\xb0\\xe5\\xaa\\x1b\\x5f\\x62\\x03\\xfb\\x96\\x8f\\x1c\\xfb\\xf4\\x4d\\x97\\x8f\\x69\\x3f\\xb9\\x74\\xf6\\x15\\x8f\\x4e\\x5c\\x3a\\xfb\\x81\\xf7\\xc8\\xb3\\x6d\\xd8\\x4e\\x58\\x67\\xd8\\x09\\xc3\\xe5\\xb8\\x99\\xd7\\x2c\\x05\\x1a\\x58\\xe0\\x29\\x96\\x67\\xed\\x22\\x63\\x11\\x2c\\x3f\\x8c\\x47\\x9c\\xc0\\x69\\x96\\x82\\xf6\\xde\\x93\\x03\\xe0\\xfa\\x0d\\x4b\\xc1\\xe0\\x73\\x7a\\x69\\xc1\\x44\\x1c\\xe8\\x14\\x68\\xc5\\x2d\\xc9\\xc7\\x89\\x7e\\x30\\xe0\\x40\\x3f\\x88\\x5b\\xce\\xbd\\xd5\\x0f\\x06\\xbe\\xd0\\x0f\\xf2\\x2d\\x0d\\x70\\x07\\xdc\\xa4\\x6e\\x1e\\xa8\\x6e\\x36\\xbe\\x68\\xe7\\x26\\xf5\\x78\\x5d\\x5f\\x64\\x07\\x4a\\x85\\x5c\\x3b\\xf5\\x30\\x42\\x52\\x01\\x5a\\x42\\x23\\x07\\xc7\\xb3\\x74\\x5e\\xfb\\xb7\\x28\\x5f\\xf6\\xd0\\x94\\xe4\\xa4\\x29\\x2c\\xef\\xfd\\x68\\x19\\x82\\x26\\xad\\xfc\\x12\\x20\\x07\\xde\\x92\\x55\\x8e\\x89\\x55\\x55\\xa8\\x0e\\xff\\x9f\\xc6\\xf3\\xb6\\x81\\x67\\x46\\x27\\x1e\\xb4\\x90\\x1e\\x8a\\xf1\\x48\\xcf\\x63\\x2c\\xa8\\x55\\x2b\\xcf\\x89\\x5b\\xe1\\x46\\xa4\\xcd\\x62\\xdc\\xe6\\x25\\x76\\x48\\xd6\\xb3\\xaf\\x1d\\xa1\\x3f\\x3b\\x8e\\xdb\\x94\\xc8\\x41\\x9a\\x2a\\xd5\\x9e\\xdd\\x13\\x7a\\xc2\\x32\\x13\\xcc\\x35\\x81\\x6c\\x02\\x13\\xd2\\x3b\\x50\\xd5\\xad\\x0f\\x78\\x6e\\xc7\\xaa\\x63\\xe9\\x7c\\xfa\\x75\\xad\\x16\\x1f\\xbc\\x2a\\x97\\x84\\xbd\\x5e\\x93\\x53\\xcb\\xa5\\xb5\\x39\\x9d\\xb6\\xbc\\xb8\\x89\\xe2\\xb5\\x72\\x7c\\x32\\xb5\\x8f\\xc2\\x17\\xcb\\x01\\xeb\\xec\\xc0\\xc8\\xb0\\x0f\\x4e\\x01\\x0d\\x9a\\xbd\\x1e\\x4b\\xf6\\xac\\x17\\x21\\x8a\\xe9\\x94\\x26\\x45\\xf9\\x02\\xa4\\x28\\x1f\\x29\\xc6\\x27\\x58\\x01\\xaf\\x93\\x74\\x00\\x1c\\xf2\\x3f\\x7a\\xc7\\xa1\\x20\\x0e\\xa6\\x38\\xfc\\x12\\x87\\xaf\\xe2\\xf0\\x51\\x1c\\x0e\\xc5\\xe1\\xb9\\x38\\xec\\x88\\xc3\\xfd\\x71\\xb8\\x2d\\x0e\\x8b\\xe2\\x30\\x25\\x0e\\xa3\\xe3\\x30\\x24\\x0d\\x39\\x4b\\x07\\xdd\\x10\\x87\\xa9\\x71\\x18\\x15\\x87\\x41\\x71\\xa8\\x8c\\x43\\x5e\\x1c\\xc0\\x1d\\x07\\x14\\x87\\xd3\\x71\\x38\\x1e\\x87\\xa3\\x71\\x38\\x18\\x87\\xfd\\x71\\xd8\\x4e\\x10\\x60\\xa0\\xdc\\x38\\x48\\x69\\x80\\x13\\x71\\x78\\x89\\xdc\\x5a\\x1f\\x87\\x15\\x71\\x58\\x48\\x60\\x70\\x73\\x26\\x0e\\x7d\\xf5\\x7b\\xf8\\xea\\xf8\\x38\\x0c\\x8b\\x43\\x5d\\x1c\\x92\\x71\\x08\\x65\\xb5\\xc4\\xb7\\xe6\\xc6\\xa1\\x95\\x3c\\x5c\\x26\\x0f\\xcf\\x27\\x2d\\xf1\\x53\\x29\\xfd\\xb1\\xfb\\xe2\\xd0\\x16\\x87\\x16\\x72\\x1b\\x37\\x33\\xd8\\xee\\x05\\x5f\\xb7\\x71\\xc1\\xec\\xd9\\x79\\xbf\\x9d\\x04\\x44\\xd4\\xa7\\x54\\x46\\x74\\x77\\xfa\\x31\\x92\\x13\\xe7\\x65\\x57\\x5b\\x4b\\xc7\\x2a\\x19\\x85\\xf0\\x39\\xcd\\xe7\\xa9\\x1f\\x50\\x73\\xa6\\x78\\xae\\x43\\x4a\\x54\\xbb\\xb2\\x0e\\x93\\xa8\\x91\\x4d\\xb1\\xf5\\x0b\\x67\\xff\\xa1\\xef\\x92\\x22\\x52\\xcc\\x50\\xbd\\x07\\x96\\x77\\x16\\x33\\xa4\\x86\\xa8\\x4f\\xe7\\xf8\\x1e\\xde\\xf8\\x79\\x71\\x64\\xbb\\x3a\\x10\\x12\\x30\\xb5\\xd9\\x46\\x99\\xd2\\xc5\\x0c\\x3b\\x3a\\xf4\\xba\\x78\\xa6\\xcf\\x9d\\x05\\x28\\x1f\\x69\\x74\\x7a\\x31\\xde\\x82\\x23\\x90\\x4b\\xb6\\x50\\x2e\\xb6\\x80\\xda\\xe3\\xf6\\x51\\x7c\\x02\\x92\\x55\\x28\\xa9\\x91\\xd6\\x05\\xe0\\x17\\xc1\\x4b\\x18\\xde\\xb3\\x9f\\x80\\x1f\\x80\\x89\\xfb\\x5d\\xde\\xce\\x16\\x19\\xf8\\x2f\\xd2\\xf0\\xd4\\x2a\\xa8\\xc9\\xc2\\xff\\xbe\\xeb\\xc2\\xf8\\x0f\\x67\\xe0\\xb7\\xc0\\x24\\x98\\x86\\x7c\\xb2\\x9d\\xc0\\x2f\\xcb\\x81\\x7f\\xe7\\x14\\x91\\x26\\x13\\xbb\\xb7\\xb9\\x39\\xd3\\xa7\\x19\\x98\\xa2\\x47\\xa0\\xa8\\xec\\xa2\\x29\\x2f\\x5b\\x40\\x53\\xcb\\x12\\x20\\x27\\xe0\\xe7\\x84\\x4b\\x6f\\xa8\\x6d\\x95\\x24\\xd9\\x2a\\x88\\x36\\xda\\xde\\x89\\xad\\x9c\\x1c\\x54\\x8c\\xd6\\xc8\\x97\\x86\\x2d\\x56\\xab\\x03\\x45\\x9c\\x39\\xe6\\x90\\x90\\xef\\xf1\\x84\\x22\\xb4\\x43\\x60\\x1c\\x4c\\xb2\\xc4\\x1f\\x6b\\x51\\xfc\\xfe\\x1e\\x66\\x4b\\xd8\\xd2\\xaa\\xe4\\x84\\xc3\\xa2\\x93\\x0e\\x85\\x7a\\x30\\x56\\x7c\\x57\\x74\\xb4\\x28\\x26\\xd1\\x79\\xaa\\x04\\x8e\\x97\\xc0\\xd1\\x12\\x38\\x58\\x02\\xfb\\x4a\\xa0\\xad\\xe4\\x02\\x85\\x02\\x49\\x15\\x3d\\xe3\\x2c\\x2a\\xd5\\x99\\x17\\xe0\\xcc\\x14\\x0d\\xec\\x3c\\x5f\\x20\\x16\\xa4\\x51\\x32\\x50\\xcf\\x3e\\x36\\xbc\\xe3\\x5e\\x01\\x62\\xae\\x74\\x3d\\xd9\\xbe\\x50\\xd1\\x9b\\xfe\\xb2\\xba\\xf4\\x54\\x67\\x1d\\xc1\\x95\\x7a\\x6d\\xc1\\xf5\\x05\\xa5\\x8b\\x47\\x8d\\x5a\\xac\\xfe\\x4b\\xab\\x2a\\x78\\x71\\x7d\\x2a\\x55\\x3f\\xb8\\x17\\x5b\\x3e\\x8c\\x7d\\xb3\\xcf\\x84\\xe0\\xd9\\x8b\\xd2\\xe5\\x05\\x49\\x41\\x8a\\x3f\\x85\\x47\\xa7\\x46\\x2d\\x5e\\xac\\x3e\\xdc\\x7e\\x2d\\x7d\\x7f\\xaa\\xbe\\x3e\\x55\\x71\\xc9\\x10\\xbd\\xde\\xc6\\x6c\\x84\\x4c\\xe7\\xb0\\x1c\\x8e\\xa3\\x02\\xf4\\x89\\xbc\\x38\\x12\\x8d\\x5a\\x04\\x9e\\xcf\\x07\\x2a\\x81\\x0a\\x0a\\xe2\\xce\\x80\\xc3\\x11\\x0c\\xc6\\xbd\\x9e\\xb8\\x87\\xb3\\x58\\x7a\\x60\\x6d\\x80\\x2b\\x44\\x90\\x0f\\xad\\x4a\\x22\\xdf\\x17\\x70\\x06\\x5a\\x15\\x37\\x39\\x0d\\xc7\\xfc\\x0b\\x68\\xe4\\x94\\x9c\\x94\\xc0\\x6a\\x6f\\x4c\\x8a\\x99\\x0b\\x78\\x33\\xdf\\xa2\\x68\\x35\\xe5\\xb4\\x62\\x9f\\x36\\x9b\\x99\\x46\\x91\\xd6\\xc8\\xdc\\x08\\x16\\xa9\\x91\\x48\\x2c\\x16\\x6c\\x55\\x62\\x31\\x36\\xae\\x05\\x52\\xb6\\x28\\xac\\x71\\x68\\x63\\xcc\\x58\\x76\\x4a\\x8b\\x71\\x90\\x9e\\xde\\x49\\x2d\\x13\\x0d\\xbb\\xde\\xd1\\x79\\xda\\x97\\xa9\\xe4\\x9d\\x49\\xef\\xd6\\xfe\\xa4\\x67\\x9a\\xd8\\x2c\\x46\\x72\\xf7\\x7f\\x2b\\x3f\\x17\\x73\\xd1\\x51\\x75\\x8a\\xfa\\xc3\\x06\\x41\\x9d\\x2d\\x2c\\xa7\\xc7\\xb6\\x09\\xcc\\x80\\xff\\x5a\\x8d\\x4e\\x3d\\x09\\x33\\x17\\xc3\\x87\\xc6\\x04\\xef\\x70\\x5e\\xa0\\x34\\x1d\\x7c\\x4e\\x6d\\xd3\\xf8\\x3f\\xd6\\x33\\xb4\\xba\\x86\\x98\\x7e\\x0b\\x08\\xfd\\x5e\\x0f\\x13\\xf1\\xdc\\xdb\\x5f\\x40\\xd0\\xb1\\x6f\\x7f\\x7e\\x94\\x16\\xb4\\x1d\\x82\\xe9\\x9c\\xd4\\xe9\\x23\\x7b\\xaf\\x87\\xbe\\x57\\x51\\xbb\\xbe\\x97\\x20\\xcc\\x16\\xc0\\x9d\\x39\\xb9\\x01\\xba\\xcb\\x5e\\xea\\x0e\\xbf\\x08\\x1e\\x24\\x7b\\x95\\x80\\x1f\\x80\\xbc\\xfd\\xe1\\x68\\x67\\x8b\\x0c\\xfc\\x17\\x69\\x78\\xbc\\x57\\xc7\\x60\\x78\\xbc\\xf7\\x48\\x03\\x39\\x0c\\x7f\\x0e\\xeb\\x8f\\x98\\xd8\\xfd\\x19\\x6d\\x99\\x67\\xcc\\xc0\\xfb\\x7b\\x16\\x6e\\x63\\xa3\\x20\\x8a\\x37\\x2c\\xbc\\xd5\\x33\\xac\\x3f\\x23\\xbd\\xe7\\x70\\x1b\\x52\\x77\\x8c\\xf4\\xab\\x44\\x1f\\x47\\xc7\\x69\\x63\\x1c\\x56\\xfc\\x9c\\x2b\\x6c\\x92\\x3e\\xe2\\xcc\\x33\\x30\\x3c\\xdd\\x9a\\x05\\xbf\\x08\\x6d\\xd4\\xc7\\x61\\x25\\xe3\\x40\\xfb\\xad\\x62\\x67\\x0b\\x03\\x3e\\x49\\xc6\\x51\\xa2\\x8f\\x03\\x95\\x66\\xe1\\xbf\\xdd\\x7a\\x21\\xfc\\x05\\x64\\x0c\\x3a\\xfe\\x19\\x58\\xd2\\x1a\\x63\\x10\\xb5\\x31\\x3c\\x10\\xb1\\xea\\x2d\\x32\\x7c\\xa3\\xb3\\x9e\\xa3\\x13\\x45\\xd1\\x32\\xf9\\xb2\\xa0\\xcf\\x1b\\x0a\\x49\\xa2\\xd5\\xe2\\xa2\\x2d\\x74\\x6e\\xcc\\x1a\\xf4\\x05\\x5b\\xb0\\x4e\\xed\\x8b\\xfa\\xea\\x7c\\x8d\\xbe\\x39\\xbe\\xa5\\x3e\\x93\\x48\\xbe\\x2e\\xf5\\xed\\xf5\\xbd\\xe6\\x3b\\xe6\\xfb\\xc9\\xc7\\x5b\\x68\\x9f\\x9c\\x5f\\x54\\xef\\xf3\\x09\\x4e\\xa7\\xb7\\x55\\xd1\\xaa\\x8c\\x39\\x69\\x52\\xa7\\xc6\\xd2\\xa2\\x08\\xce\\xac\\xfa\\x8f\\xe9\\xaa\\x41\\xf3\\xba\\x6a\\x3d\\x19\\x4d\\xbc\\x4b\\x29\\x48\\xed\\x5d\\x68\\x85\\xd5\\xa4\\x4c\\xa4\\x56\\x29\\x5d\\x2b\\x15\\x49\\x4b\\x5d\\xea\\x41\\xb6\\xee\\x17\\xf7\\x5f\\xf1\\x98\\xc0\\x50\\xed\\xed\\xdb\\x5a\\x60\\xb1\\xa8\\xae\\x9e\\xa4\\xd7\\x8d\\x64\\xfb\\x65\\x15\\x87\\xa4\\x12\\xcd\\x54\\x61\\xb0\\xaa\\xfd\\x23\\xf8\\xa0\\xfd\\x44\\x73\\xfb\\x49\\x1e\\x66\\xe2\\xb9\\x22\\x35\\xad\\x08\\x7f\\xee\\x65\\xf0\\xe7\\x03\\x98\\x3f\\x6b\\x73\\xeb\\xc6\\x73\\xfb\\x7c\\xa4\\xd8\\xda\\x85\\x06\\xf5\\x3a\\x53\\x64\\xed\\x2a\\x0c\\xf9\\xb2\\xc7\\xe0\\xff\\x11\\x3c\\xb5\\xf7\\x45\\xf3\\x9c\\xc1\\xff\\x0a\\xbf\\x88\\x1a\\xae\\xcb\\x97\\x08\\x91\\x2f\\x25\\xfb\\x23\\xb1\\xce\\x16\\x19\\xf8\\x2f\\xd2\\xf0\\x98\\x66\\x0f\\x65\\xe1\\xdf\\x14\\xb9\\x30\\xfe\\xc3\\x19\\xf8\\x2d\\xf0\\xa9\\xde\\x7f\\x02\\xff\\x44\\x8f\\xca\\x0b\\xc2\\xb7\\x65\\xfa\\x33\\x03\\x9e\\xc6\\xb4\\x11\\x92\\x25\\x9a\\x8a\\x69\\xb2\\x25\\xb7\\x1c\\xee\\x2b\\x8f\\x90\\x46\\x59\\x72\\x05\\x30\\x0f\\xe4\\x99\\xab\\x98\\x06\\xac\\x5b\\x0f\\x90\\x8b\\x4c\\x56\\x5b\\x1b\\x7d\\x14\\x6b\\x90\\x74\\x39\\x2d\\xd3\\xad\\xf4\\x5c\\xac\\xfa\\x1e\\xa4\\x39\\x84\\x7f\\x36\\xe1\\x9f\\xcb\\xf0\\xcf\\x7d\\xf4\\x71\\x9a\\xa7\\x8d\\x0a\\xcc\\x74\\xba\\x02\\xb3\\xfe\\xae\\x10\\x01\\x0a\\x05\\xa8\\x16\\xc0\\x27\\x00\\x47\\x1d\\x52\\x1f\\x1b\\x0a\\x63\\xd5\\x9d\\x0d\\x30\\x1a\\xc6\\x0d\\xc5\\xac\\x7d\\xec\\x50\\xaa\\x55\\xdd\\x59\\x0f\\xe3\\x60\\x74\\x83\\xf6\\xb3\\x5e\\xdd\\xa9\\xee\\xa8\\xd7\\x64\\xdb\\xb7\\x1d\\xef\\x98\\x4c\\xec\\x1c\\xac\\x07\\x46\\x51\\x11\\x9a\\x29\\xd7\\xfa\\xe3\\x81\\x3c\\x26\\xd7\\xeb\\x15\\x9d\\xb9\\x0c\\xc7\\xb1\\x94\\x4d\\x72\\x9a\\x92\\xc5\\x96\\x02\\x4c\\xaa\\x7e\\x2d\\xfd\\xd1\\x63\\x0a\\xe4\\xf9\\xe3\\x0c\\xc5\\x4a\\x36\\x06\\xd9\\x73\\x05\\x5b\\xbd\\xdd\\xc2\\xa0\\x70\\x8b\\x82\\x3b\\x76\\xfc\\x59\\xfc\\x93\\xd6\\x6a\\x35\\x56\\x18\\xef\\x08\\xc3\\x32\\x8b\\xbc\\xa5\\x2e\\x53\\xb7\\x5f\\xf7\\x03\\x69\\x6f\\xe6\\x63\\xf3\\x0a\\xb1\\x5d\\x98\\x95\\xdf\\x49\\xa2\\xda\\xa1\\xb2\\x10\\x88\\x13\\xc2\\xc9\\xba\\x7d\\xa0\\xa7\\xe9\\x51\\x0f\\x7c\\xff\\xd0\\x93\\x8b\\xbf\\x9b\\xad\\x55\\x8b\\xfa\\x66\\xd3\\xe3\\x0b\\x4e\\x5c\\xfb\\x8e\\xfa\\x18\\x8c\\x4b\\x9c\\x3b\\x5c\\x7e\\xff\\x15\\xf7\\xb5\\x6f\\x3d\\xd7\\x1a\\xa3\\x2b\\x7a\\x3d\\xd0\\x7a\\xdf\\x7f\\x1e\\x72\\xdf\\xfe\\xe4\\x77\\x6b\\xde\\xd4\\x8a\\x45\\xdd\\xf6\\xf8\\x89\\x3b\\xff\\xa0\\x15\\x0d\\xa3\\x47\\x5d\\x3b\\xe9\\xdc\\x7b\\xc3\\x2e\\x7b\\x07\\xae\\x5f\\x3b\\x7f\\x0c\\xdd\\x6b\\x58\\xf3\\xbb\\xea\\x6d\\x64\\xdd\\x48\\x5d\\x1f\\x42\\x47\\x35\\x06\\xdd\\x4d\\xd7\\x79\\x46\\x8e\\xc6\\x33\\x3a\\x3e\\xc5\\x74\\x24\\x65\\xf1\\xbe\\xf3\\xe0\\x17\\x51\\xfd\\x0c\\x9e\\xa1\\x35\\x78\\x24\\x27\\x57\\xea\\x4a\\xd7\\x3a\\xfc\\x17\\x69\\x78\\x4c\\x77\\xdf\\x64\\xc1\\x0f\\xce\\x89\\x5d\\x10\\xbe\\x2d\\x83\\x7f\\x06\\x9c\\xc6\\x74\\x84\\x75\\x14\\x0a\\x72\\x35\\x1e\\x33\\xb7\\x0c\\x9a\\xca\\x60\\x62\\x59\\x0e\\x69\\x97\\xa5\\xa3\\xe0\\xb6\\xa4\\x3e\\x08\\xe9\\xdb\\x45\\x06\\x1f\\xbf\\xcd\\x78\\x96\\x07\\x3f\\xeb\\x7e\\x8f\\x9f\\x77\\x74\\x3e\\xcb\\xa8\\x91\\x75\\x33\\xa9\\xa3\\x16\\xd6\\x72\\x31\\xb5\\x22\\xc1\\x22\\x67\\x0a\\x33\\x52\\x00\\xf3\\x28\\xc9\\x43\\x59\\x3c\\x96\\x9c\\x48\\xc8\\xab\\x15\\x04\\x16\\xb9\\x56\\x25\\x6c\\x6a\\xc5\\xac\\x2a\\x4a\\xfc\\x67\\x61\\x31\\xec\\xf2\\xd3\\x92\\x47\\xaf\\x0d\\x9c\\xb6\\x30\\x49\\xa8\\x04\\xf1\\x9e\\x9e\\x57\\xe8\\xaf\\xb3\\x7e\\xbf\\x51\\xbb\\xcc\\x78\\x6b\\x43\\x9c\\xeb\\x2c\\x5f\\x48\\x51\\xbd\\xf5\\xf2\\x65\\x50\\xa2\\xd7\\x2c\\x7b\\x27\\x66\\x94\\x31\\xdb\\x64\\xa6\\xac\\xe6\\x7d\\xb9\\x30\\x55\\xaf\\x61\\x46\\x7d\\xac\\x95\\x2e\\x7b\\xb9\\xb3\\x70\\xe1\\x33\\x24\\xbe\\xf7\\x0f\\xa4\\x2e\\xd6\\x36\\x54\\x89\\x26\\xcb\\x55\\xd6\\x50\\x7e\\x22\\x51\\x84\\xb0\\xea\\x55\\xe6\\x31\\x99\\xa2\\x65\\x3d\\xca\\xaa\\x7a\\x7b\\x50\\xaf\\x1c\\xa6\\x44\\x28\\xc9\\x6b\\x52\\x4a\\xa0\\xa0\\x47\\xa3\\x52\\xe0\\x11\\x9c\\x4d\\xca\\xfb\\x36\\xe8\\x6f\\x03\\x9b\\x4d\\xd0\\x03\\xf0\\x27\\x76\\x7b\\x0b\\x58\\x67\\x80\\xb8\\xa6\\x71\\x57\\x54\\xa4\\x4b\\xd3\\x6b\\xe1\\x77\\xba\\x6e\\xdd\\x3d\\x40\\x41\\x4a\\x18\\x2f\\x73\\x20\\x25\\x0d\\x0d\\xb3\\x97\\xb3\\x53\\xd4\\x23\\x7d\\x06\\xcb\\xfd\\x5f\\xdc\\xd5\\xff\\xd6\\x48\\x5e\\xa9\\xd9\\xd9\\x98\\x1a\\x3d\\xb9\\x5f\\x5d\\x5d\\x7f\\x28\\x13\\x87\\x0f\\x3f\\x94\\x7c\\x53\\xfd\\x13\\x77\\xf7\\xde\\xbc\\x4f\\x9e\\xb9\\x7f\\x9d\\xb4\\x62\\x46\\x7f\\x9a\\xab\\x56\\x6a\\x2a\\x17\\x36\\x3c\\xfa\\x72\\xd0\\x73\\x70\\x52\\xb8\\x60\\xd1\\x94\\xbe\\xad\\xa9\\x8a\\xd9\\x83\\xc1\\x57\\x73\\xf9\\x45\\x93\\x86\\x9f\\x3b\\xfb\\x44\\x69\\x80\\x3e\\xf6\\xf2\\xeb\\xab\\xee\\x1b\\x32\\xce\\x5e\\x3a\\x06\\xaf\\x3f\\xc9\\xc1\\x66\\xef\\xc2\\xeb\\x3f\\x08\\xaf\\xbf\\x09\\x5d\\x8c\\x95\\x32\\xcb\\x73\\xd4\\x84\\xdc\\xb8\\xa0\\x2f\\xbc\\x01\\xf3\\x41\\x06\\x46\\xa3\\x11\\x2b\\x22\\x50\\xff\\x8e\\xe6\\x19\\x50\\x08\\x65\\x70\\xad\\x4b\\xc3\\x61\\xd9\\xb8\\x4b\\x87\\x5b\\x1d\\x8d\\x77\\x87\\x3b\\xc3\\x5e\\x95\\x81\\xdb\\x82\\x8e\\x6a\\x61\\x85\\xb2\\x99\\x6a\\x2a\\x82\\x27\\x8a\\xaa\\x08\\xec\\xc4\\xaa\\x2c\\x9c\\xa9\\xcc\\xb3\\x67\\xa0\\xa7\\x30\\xac\\xed\\x79\\x9a\\xda\\xd4\\x2b\\xaa\\x23\\xad\\xea\\x84\\x7b\\x3b\\x83\\x73\\x33\\x3a\\x64\\xc0\\x6d\\x4f\\x64\\xe0\\x10\\x8d\\xea\\x3a\\xbe\\x63\\x7b\\xd0\\x6f\\xa1\\x18\\x96\\x31\\xb5\\x68\\x82\\x5c\\x56\\x63\\x32\\x49\\x85\\x39\\x45\\x85\\xb4\\xb7\\xa2\\xc2\\x82\\xca\\xbc\\xc8\\x7b\\x51\\x5f\\xa6\\xa6\\x51\\x61\\x18\\x5b\\xb0\\x2a\\x19\\x4c\\x36\\x29\\xd1\\xa0\\x94\\x27\\xf1\\x36\\x7e\\xa4\\xe2\\x32\\xdb\\x90\\xf1\\xea\\x93\\x54\\x26\\x2d\\x35\\x2b\\x03\\xd7\\xe0\\x51\\x99\\x53\\x7c\\x3b\\x70\\xfa\\x69\\x27\\xc9\\x59\\x28\\xec\\x92\\xc4\\x42\\xb2\\x10\\x2b\\x7a\\x63\\x46\\x26\\x55\\xa7\\x6b\\xdb\\x19\\xa9\\x4e\\xfd\\x81\\xed\\x71\\xeb\\xd9\\x87\\xf8\\x17\\xae\\xbb\\x23\\xe7\\xc5\\x27\\xae\\xbe\\xa1\\xb8\\x69\\xe7\\xe0\\x19\\x2b\\xd7\\xa3\\x8e\\x07\\xfb\\xff\\xae\\x68\\xe2\\x5d\\x0b\\x96\\x9d\\x6b\\xe9\\x39\\xbf\\x92\\xdf\\xad\\x8c\\x19\\xff\\xf0\\xe4\\x66\\xba\\x77\\xaf\\xf2\\xf1\\x2b\\x63\\xbb\\x5e\\xa0\\xe9\\xf1\\x1b\\xaf\\xb2\\xf6\\xae\\xfb\\x68\\x4a\\xf1\\xb6\\x11\\xca\\x88\\x71\\x2f\\x3d\\xb0\\x1b\\xca\\x77\\x25\\x23\\x0d\\xd3\\xdb\\xad\\xfd\\x2b\\x6a\\x12\\x50\\xf8\\xe9\\xc0\\x36\\xf5\\xdc\\x2d\\xb3\\xaf\\xa3\\xb6\\x54\\xf5\\xfb\\xf3\\x21\\xc7\\x16\\x3c\\x6f\\x75\\xea\\xe5\\x5a\\x3e\\x38\\x9e\\xb7\\x21\\x64\\xfd\\xaf\\x8f\\x1b\\xda\\xe1\\xaa\\xfd\\xb9\\x21\\x93\\x4d\\x5f\\x34\\x0d\\x4e\\xcb\\x53\\x26\\x34\\x50\\xaf\\xd3\\x49\\x1d\\x59\\xd9\\xd1\\xf1\\x02\\x07\\x4a\\xd3\\x89\\x06\\xf3\\x69\\x06\\x46\\xa3\\x13\\x87\\xae\\x6b\\x52\\x10\\xdb\\x9f\\x97\\xd0\\x01\\x0d\\xb8\\x35\\x84\\x4e\\xea\\x0d\\x3a\\x59\\xab\\xd3\\xc9\\xfa\\xbc\\x34\\xb6\\xcc\\x33\\x1f\\x22\\x6b\\x5f\\x6f\\xac\\xfd\\xa3\\xc6\\x9a\\x1e\\xa8\\xcc\\xd3\\x01\\xc9\\x73\\x67\\xe1\\x8d\\xfc\\x2d\\x79\\xee\\xbf\\x0d\\x9d\\x6f\\x38\\xc1\\x07\\x11\\xc1\\x4a\\x43\\x27\\x3e\\x2d\\x1f\\xf0\\xfd\\x0c\\x9c\\x09\\x2d\\xb2\\x10\\xa8\\x8f\\xb1\\xb6\\x04\\xe9\\x31\\x5c\\x8c\\x61\\xee\\x25\\x7d\\x23\\x30\\xd4\\xaa\\xfb\\x08\\xcc\\x68\\xde\\xda\\x09\\x33\\x19\\xc3\\xac\\x25\\xfd\\xd2\\xf1\\xcc\\xb8\\x4f\\xeb\\x15\\x05\\x57\\x06\\x79\\x1d\\x48\\xe7\\x95\\xa8\\x4f\\xc7\\xd7\\xf4\\x17\\xec\\x76\\x12\\x8f\\x37\\x55\\xee\\x93\\x6b\\xb2\\x16\\x16\\xa2\\x80\\xd7\\xee\\x60\\x44\\x9f\\x0f\\x21\\x97\\x68\\x62\\x8a\\x93\\x76\\x47\\xc0\\xab\\xfd\\x76\\x8b\\xa2\\x16\\x66\\x89\\x19\\xa5\\x1b\\x59\\xcd\\x61\\x73\\xb8\\x49\\x31\\x8b\\x74\\xbc\\x49\\xd1\\x52\\x7c\\x3a\\xc3\\x9a\\xeb\\x30\\xab\\xec\\x53\\xe6\\x48\\x95\\x39\\x7d\\x99\\x02\\xfb\\x59\\xa1\\x06\\x20\\xa1\\x58\\x3a\\x25\\xcd\\x57\\x50\\xc8\\xd6\\x81\\x56\\x3f\\xc0\\x97\\x10\\xc1\\xeb\\x64\\x3b\\xdf\\x99\\xa9\\x79\\xd7\\x5e\\x53\\xbf\\xe9\\x40\\x8f\\xfd\\x61\\xcd\\xbf\\x1f\\xb8\\x7a\\x6c\\xce\\x34\\xf5\\x45\\xc7\\x59\\x65\\xb6\\x7d\\xf7\\x62\\x28\\x70\\x7c\\xd2\\x32\\x5d\\xfd\\xdd\\xd8\\x07\\xc7\\xcd\\x9c\\x34\\x76\\xd3\\xb8\\xe9\\xd4\\x3d\\xea\\x0b\\xea\\xe6\\x3f\\xee\\xda\\x00\\xec\\xdd\\xe5\\x7f\\xbc\\x76\\x77\\xeb\\xf2\\x86\\xfc\\x11\\x25\\xca\\xe6\\x49\\x0b\\x2e\\x53\\xff\\xe8\\xb8\\xf9\\xeb\\xdb\\x96\\xaf\\x5d\\xfe\\xf7\\xe5\\xab\\xd6\\xea\\x73\\x7c\\x09\\x79\\xa7\\x90\\xb6\\xb7\\x47\\x1a\\x7b\\x7b\\xa7\\xbe\\x16\\xcb\\x0a\\x2a\\x78\\x5f\\x36\\x0f\\xd0\\xde\\xf5\\xa3\\xad\\x45\\xb3\\x4e\\x4f\\x97\\x11\\x0a\\xe8\\x93\\x93\\xeb\\xf0\\x77\\xf2\\x9d\\xef\\xe9\\xbf\\x66\\x60\\x34\\x7a\\xf2\\xea\\x74\\xf2\\x73\\x38\\x6a\\x40\\x65\\xe1\\x5a\\x97\\x86\\xc3\\xf4\\x74\\x9f\\x0e\\x37\\x33\\x9c\\xdb\\x1d\\xee\\x24\\xe9\\x5b\\xb3\\xd1\\xb7\\xd7\\x74\\xb8\\xbb\\x0b\\x2a\\xce\\xc7\\x97\\xca\\x3c\\x77\\x06\\xda\\x61\\xd0\\xdd\\xaa\\x9e\\x61\\x1d\\x90\\xf0\\x92\\x85\\xe8\\x1d\\xa6\\x94\\x59\\x49\\xde\\x8f\\x12\\x42\\x0d\\x72\\x11\\x66\\x8b\\x4e\\x93\\x29\\x18\\x08\\x06\\x72\\xc2\\x1e\\x71\\x8f\\x82\\x3c\\xb2\\xa7\\xc9\\xd3\\xea\\x61\\x04\\xda\\x43\\x0b\\x7b\\x14\\x0f\\xb6\\xea\\x83\\x4f\\x2a\\xa1\\xbd\\xfa\\xd9\\xe6\\xef\\x53\\xe9\\x6a\\x98\\x5d\\x9c\\x33\\x5d\\xe3\\x7f\\x1c\\xd9\\x59\\xcb\\xda\\xe1\\xe1\\xbe\\x9a\\x1e\\x45\\x35\\x35\\x45\\x3d\\x6a\\xd2\\x9f\\x70\\xe3\\xb9\\xa1\\x4c\\xa1\\xf6\\x1b\\xff\\x7f\\xee\\x2f\\xc6\\x17\\xb8\\x7d\\xea\\x54\\xac\\xa7\\xfd\\xa3\\x63\\x37\\x13\\xa0\\x55\\xac\\xa7\\x45\\x50\\x21\\x1a\\x2d\\xf7\\x8a\\xe5\\xe4\\x85\\x99\\x60\\x34\\x2a\\x3a\\x83\\x19\\x3d\\xad\\xa8\\x47\\x2c\\xec\\xcd\\xb7\\x78\\x1b\\x15\\x43\\x3d\\xb3\\x48\\x28\\x1f\\x53\\x1e\\xf2\\xb6\\x15\\xe9\\x05\\xa6\\x51\\xba\\x9e\\x95\\x91\\x5e\\xf6\\x5b\\x2a\\x59\\xef\\x4e\\x95\\xcc\\x44\\x13\\x7a\\xf3\\x41\\x81\\x0b\\xeb\\x66\\xfa\\xab\\x5a\\x77\\xad\\x9a\\xb0\\x78\\xe6\\xe3\\x23\\x6f\\xff\\x79\\xc3\\xed\\x13\\xaf\\x9d\\xf6\\x68\\xe3\\xed\\x3f\\xc3\\xf8\\x87\\xc6\\x59\\xe1\\x64\\xe5\\x44\\x8b\\x1a\\xa8\\x9c\\x3e\\x7e\\xcb\\x04\\x77\\xfd\\xaa\\x83\\x33\\xda\\xb4\\x2c\\xc9\\x61\\x2b\\x5e\\x99\\xb6\\x45\\x4b\\x94\\xa4\\xef\\xbc\\xe3\\x3f\\xf7\\x0e\\xaa\\xa4\\x7a\\x4e\\x56\\x3f\\xaa\\xc3\\x46\\xc3\\xf8\\xb5\\xa7\\xc9\\x3a\\x91\\x3c\\x2e\\x42\\x1f\\x63\\x75\\x1a\\xaa\\x21\\x52\\x04\\x5a\\x72\\x40\\xca\\xc9\\x75\\xe9\\x9e\\x1c\\x03\\xee\\x95\\x0c\\x9c\\x66\\xe3\\xfd\\x3f\\x9d\\x26\\xdf\\x0e\\x47\\x5d\\x7c\\xe7\\xba\\xeb\\xf8\\xd6\\xa5\\xe1\\x30\\x1d\\xdd\\xae\\xc3\\x35\\x87\\x73\\xcf\\x87\\x4b\\x65\\xf0\\xcd\\x40\\x1b\\x91\\xce\\x01\\x66\\xf7\\x0c\\xeb\\x80\\xc4\\x56\\x24\\x39\\x36\\xe4\\xb9\\x13\\x8c\\xe7\\x1e\\x30\\x6c\\x6f\\x48\\xec\\xcf\\x8d\\x7b\\xac\\x04\\x25\\xd5\\x31\\x57\\xcb\\x01\\x65\\xd7\\x6a\\x39\\xa0\\xb0\\x43\\xee\\x88\\xb0\\x6c\\x41\\x22\\xdf\\xef\\xb3\\x22\\xbb\\xdd\\xed\\x72\\x25\\xbc\\xee\\x46\\xc5\\x8b\\xec\\x2e\\x87\\xab\\x51\\x71\\x84\\x84\\x60\\x93\\x82\\x95\\x8e\\x18\\x15\\x6b\\x56\\x28\\x69\\x61\\x01\\x4c\\x2e\\x00\\x68\\xc2\\x26\\x74\\x01\\x96\\x1e\\x90\\x5f\\x00\\x52\\x01\\xa0\\x02\\x38\\x5d\\x00\\xc7\\x0b\\xe0\\x68\\x01\\x1c\\x2c\\x80\\x7d\\x05\\xd0\\x56\\x00\\xeb\\x0a\\xf0\\x1e\\x04\\xdc\\xa0\\xb5\\x00\\x46\\x9d\\x07\\x3f\\xfd\\x14\\x69\\xf0\\x11\\x69\\xb0\\xbf\\x00\\xb6\\x17\\xc0\\xfa\\x02\\x58\\x41\\x1a\\x4c\\x21\\xd0\\xb9\\x05\\xe0\\x2e\\x00\\x86\\xa0\\x3e\\x41\\x20\\x0f\\x9d\\x07\\x86\\xf1\\x0e\\x22\\x78\\x75\\x60\\x94\\x06\\xd6\\xc1\\x96\\x9d\\x07\\x86\\xb1\\xf5\\x39\\x91\\x46\\x31\\x85\\xfc\\x3e\\x21\\x17\\x12\\xcc\\xd9\\x68\\x07\\x91\\x2b\\x78\\x0c\\x94\\x3e\\x08\\xbd\\x37\\xc6\\xd9\\x57\\xb6\\xeb\\xf4\\xbc\\xe3\\xac\\xdf\\x38\\x11\\xfb\\xad\\x18\\xbe\\x96\\xac\\x53\\xe8\\x6e\\x15\\x42\\x52\\xc6\\x31\\x48\\xba\\x3a\\x48\\x56\\x36\\xad\\x91\\x65\\x4b\\x7c\\x3c\\x5d\\x6a\\xb5\\x5c\\xf9\\xfc\\x9d\\xcb\\x36\\x3e\\xa8\\x9e\\x6e\\x2b\\x9f\\x1c\\xb0\\x54\\x90\\x2c\\xdb\\x25\\x50\\x76\\x2b\\x0f\\x65\\xdf\\x5d\\x34\\x63\\xe6\\xae\\x19\\x93\\x9a\\x7b\\xaf\\xaf\\xa3\\xdd\\x4f\\x69\\xa5\\x5a\\xde\\xdf\\x67\\xe7\\x8d\\x2c\\x5b\\xd3\\xb3\\xfe\\xd2\\x33\\x5f\\x94\\xdf\\x0d\\xfc\\xea\\xd9\\x37\\x0e\\xaf\\x43\\x9d\\xb4\\x94\\x32\\x68\\x09\\xcb\\x9c\\x99\\x3a\\xc5\\xfd\\xb5\\x22\\x57\\xa7\\xa3\\x2e\\xfe\\xca\\x41\\x19\\x1f\\xe7\\x1a\\xb8\\x24\\xcb\\x27\\xfa\\x83\\xcb\\xd3\\xd5\\x27\\x4a\\xf4\\xa6\\x8f\\x98\\x5f\\x32\\x7a\\xd3\\x1a\\xb4\\x57\\xe7\\x89\\x0f\\x46\\x63\\x59\\x3a\\x9b\\x81\\xf7\\xad\\x0c\\xde\\x8d\\xd0\\x37\\x0b\\xaf\\xea\\x8d\\x5e\\x00\\xef\\xcb\\xec\\xe2\\x0c\\xde\\x8d\\x68\\x93\\x8e\\xf7\\x91\\xbc\\x64\\x17\\xbc\\xea\\x2c\\xed\\xdd\\x29\\x19\\xbc\\x0f\\x51\\x4f\\x6b\\x7b\\x09\\xeb\\x0c\\x1d\\x7b\\xf6\\x87\\xc3\\x1c\\x97\\x30\\x64\\x81\\x3a\\x4b\\xab\\x15\\x94\\xc1\\xf7\\x10\\x2c\\xc2\\x70\\xe6\\xe7\\x28\\x47\\x61\\x21\\x4d\\x27\\x88\\x5e\\x41\\xde\\xe1\\x41\\x6c\\x99\\x02\\xc3\\xce\\x1a\\xa1\\xdb\\x65\\x51\\xe2\\xcb\\xa9\\xdb\\x1f\\xcd\\xcb\\xf6\\xe5\\x10\\xfd\\xe2\\xf7\\x64\\x7f\\x0e\\x31\\xe4\\x0b\\x4a\\xef\\x4f\\x66\\x7f\\x28\\xa2\\x6b\\x3f\\x19\\xbc\\x5f\\xa4\\xf1\\x62\\x7b\\xec\\x45\\xc3\\x46\\xd2\\x10\\x6f\\x8b\\xc6\\xbb\\xfa\\x7c\\x08\\xde\\xcd\\x84\\x8f\\x0c\\x31\\xf8\\xc8\\x16\\x5d\\xbf\\xd5\\xea\\xb7\\x6f\\x08\\x45\\x09\\x62\\x43\\xbf\\xd5\\x71\\x6f\\xcc\\xe0\\xde\\x04\\x7f\\x33\\x70\\xe7\\x61\\xdc\\xef\\x25\\xa2\\x17\\xc0\\xbd\\x98\\xf8\\xf3\\x74\\xdc\\x9b\\xd0\\xd3\\x3a\\x8f\\xda\\x13\\xcb\\xa8\\x6b\\xe8\\x02\\x7d\\x5e\\x0d\\x69\\x3f\\x58\\x3e\\xc6\\xfb\\x75\\x41\\xde\\x05\\xf0\\x7e\\x9a\\xd5\\xe7\\xd5\\xe8\\x4f\\x3a\\xde\\x0f\\xf3\\x22\\x59\\x78\\x75\\xdf\\x14\\xc1\\x5b\\x68\\xe0\\x4d\\xfb\\x5c\\xb0\\x6d\\x4a\\xfd\\x3e\\x1a\\x72\\x5a\\xbb\\xe0\\xed\\x8f\\xf5\\xed\\x16\\x76\\xad\\x54\\x80\\x86\\x6a\\xf0\\x02\\x4d\\x9f\\x45\\x4d\\xc8\\x89\\x75\\xfd\\x14\\xa2\\x56\\x94\\x97\\xb3\\x2c\\x01\\xaf\\xab\\x4a\\xe3\\x66\\xfb\\x39\\x4d\\xe8\\x9e\\x4c\\xdd\\x9f\\x91\\x98\\x2f\\xe6\\xa0\\x24\\x5a\\x22\\xd7\\x25\\xfc\\x9c\\xd3\\x69\\xb1\\x9b\\xcd\\xa2\\x5f\\x2c\\x29\\x75\\x25\\x23\\xc9\\xb0\\x87\\xb6\\xdb\\x19\\x93\\xc5\\xc2\\x32\\x6c\\x13\\xd6\\xd8\\x85\\x70\\x38\\xd6\\xa4\\xa0\\xb0\\xe4\\xe9\\xd1\\xac\\x78\\xbc\\x4e\\xb1\\x51\\x71\\x9a\\xcd\\x82\\xc0\\x35\\x2a\\x02\\x4a\\xa7\\x17\\x97\\xa5\\x4d\\xb5\\x54\\xf6\\xfb\\x20\\x32\\xf1\\xe3\\x8e\\xac\\x2c\\x95\\xb4\\x52\\x55\\x07\\x55\\x24\\x10\\xbf\\x3a\\x46\\xf2\\x8d\\xff\\x7b\\x4d\\x20\\x8b\\x5d\\xfd\\xb3\\x08\\x3d\\xc2\\x5a\\x65\\xa0\\x1e\\x0b\\xc5\\x85\\x2f\\xfc\\xb7\\xea\\x40\\xcd\\x97\\x33\\xa3\\x36\\xfb\\x4b\\xbf\\x1c\\x75\\xf6\\xc7\\x0b\\x57\\x08\\xea\\xf4\\x83\\x0e\\xca\\xf8\\x4e\\xd7\\x40\\x73\\x96\\x6f\\xf6\\x8b\\x70\\xa4\\xab\\x6f\\x96\\xac\\xe5\\x76\\xb2\\xa7\\x89\\xae\\x4e\\xad\\x59\\xaa\\x6b\\x39\\x79\\xf9\\x19\\x5d\\xdd\\xc0\\xf9\\x56\\x06\\xe7\\x46\\xe8\\x9f\\x85\\xf3\\x64\\xb4\\xc7\\x05\\x70\\xae\\x21\\xfb\\x59\\xc7\\xb9\\x71\\x06\\xc1\\xb9\\x29\\xd1\\xb3\\x3b\\xce\\x8d\\x19\\x9c\\x9b\\xe0\\xca\\xac\\x7d\\xf2\\x8f\\xbc\\xf0\\x05\\x70\\xb6\\x10\\x5a\\xae\\x37\\x68\\xf9\\x41\\x9d\\x47\\xb4\\xf5\\xc8\\xcb\\xb2\\x03\\x3a\\xbe\\xc1\\x3c\\xe2\\x0d\\x4c\\x17\\x69\\xbc\\x0f\\x69\\xaf\\x8b\\xd4\\x78\\x04\\x74\\xcc\\xdd\\x9f\\x48\\xf8\\xfd\\x06\\x8f\\xa8\\xc3\\x3c\\xa2\\x85\\xd8\\x32\\x3a\\xbe\\x87\\xd0\\x27\\x86\\xfd\\xd1\\x51\\xbc\\x3f\\x99\\xb4\\x58\\xba\\xf8\\xba\\x3b\\x7d\\xd1\\xab\\x61\\x82\\xd1\\xcf\\x98\\xb6\\x37\\xe2\\xd1\\x0b\\xf4\\xf3\\xc1\\x2c\\x7b\\x65\\x35\\xba\\xcb\\xe8\\x67\\x51\\x22\\xdb\\x5e\\x21\\xef\\x29\\x21\\x78\\x8b\\xbb\\xf1\\x09\\x6d\\x2f\\xdf\\x9e\\x57\\x40\\x87\\xbb\\xe0\\x25\\xf5\\x87\\x08\\xde\\x06\\x83\\x4f\\x6c\\xd3\\xf1\\xde\\x57\\xda\\x2b\\x3f\\xa7\\x3b\\xde\\xb7\\x32\\x78\\x37\\xc2\\x27\\x59\\x78\\x8f\\x26\\x7a\\x5e\\x00\\xef\\xdb\\x64\\xad\\x1a\\x0c\\xde\\xfb\\x98\\x8e\\xf7\\x50\\x79\\x9f\\xf3\\xf1\\x6e\\xcc\\xe0\\xed\\xe4\\x3d\\x09\\x8c\\xf7\\x99\\x1e\\x79\\x17\\xec\\xef\\xf0\\x0c\\xde\\x34\\xef\\xa1\\x1e\\x4b\\x95\\x76\\xc1\\xab\\x0e\\xd7\\xde\\xd7\\x92\\xc6\\xcb\\xff\\x1e\\x4e\\xa7\\xcf\\x1c\\x36\\xee\\x4f\\x18\\x58\\x33\\xf8\\x8e\\xa4\\xf1\\x09\\x0c\\xc5\\xeb\\xf8\\x3e\\x2e\\x2d\\xcf\\xc2\\xa7\\xbf\\x33\\x85\\xcc\\x6b\\xb2\\xdb\\xbc\\x6a\\xb4\\xba\\x3a\\x9c\\x8b\\xec\\x5d\\xfa\\xa9\\xbd\\xc3\\x92\\xe5\\x24\\x0c\\x3f\\xac\\xa7\\x0e\\xcf\\xc1\\x32\\x0c\\x6f\\x86\\x1c\\x0a\\xf6\\xe7\\xc4\\xc2\\x22\\x01\\x97\\xbe\\xa8\\xd4\\x7d\\x5a\\xe9\\x77\\xb2\\xc4\\x31\\x4f\\xfb\\x83\\x3c\\xc7\\x56\\x50\\x98\\xcb\\xc4\\xcc\\x56\\x6b\\x2c\\x46\\x9b\\x28\\x9e\\xe3\\x28\\x7b\\x22\\x3f\\xca\\x44\\x24\\x51\\x8c\\x44\\xfc\\x1e\\xb7\\x3b\\x40\\x05\\x90\\xd3\\x59\\x84\\x7a\\x84\\x9d\\x0e\\x3a\\xe1\\xa7\\x0b\\x6c\\x05\\x2d\\x8a\\xc7\\x6e\\xb2\\x45\\x73\\x0b\\x73\\x5b\\x95\\xfc\\x42\\xd1\\x16\\xb5\\x95\\xd9\\xb6\\xda\\x18\\x41\\x2c\\xac\\x2b\\x6c\\x2c\\xa4\\x2d\\xb4\\xad\\xd0\\x56\\x28\\x20\\xb7\\xa8\\xd7\\xda\\x15\\xe8\\x58\\x24\\xd0\\xa5\\x14\\x79\\xca\\x08\\x7c\\x4b\\x65\\x9d\\x38\\x4d\\xca\\x1c\\x38\\xa5\\x32\\x87\\x7c\\x99\\x97\\x6d\\x66\\x71\\x28\\xc3\\xfe\\x4b\\x9f\\xf0\\x11\\x95\\xdc\\xf0\\xd6\\x93\\x77\\xcc\\x53\\x31\\xfd\\xc3\\xe0\\x5d\\xc6\\x2b\\x5e\\x00\\x73\\x33\\x2f\\xbf\\x6f\\xc3\\x6e\\xfb\\x93\\x85\\xfa\\xab\\x5e\\x0a\\xa9\\xc5\\xfa\\xb7\\xa7\\x0b\\x77\\xd9\\x77\\x6f\\xc8\\x7e\\xdd\\x0b\\x35\\xbc\\xb0\\x7d\\x75\\x61\\x55\\x88\\x9e\\xd5\\x7c\\x4c\\x73\\x9e\\x1d\\xd3\\xff\\x36\\x9f\\xbb\\xb7\\xf3\\xb5\\x2f\\xd4\\xb1\\x2f\\xbe\\x40\\xd9\\xb5\\xa7\\xf2\\xd1\\x8d\\xf2\\xa0\\x40\\x38\\x5c\\x90\\x67\\xb3\\xf0\\x5c\\x3c\\xae\\x95\\xe0\\x41\\x42\\xbe\\xd7\\x95\\xef\\x4a\\x14\\xe4\\x7b\\x8c\\x8a\\x30\\x51\\x29\\xda\\xac\\x20\\x8b\\xcd\\x92\\x63\\xa1\\x04\\x86\\xb7\\x60\\xbb\\x83\\xe7\\x39\\x49\\x62\\xfc\\x16\\xa9\\x9e\\x63\\x1a\\x15\\x8e\\xe4\\x36\\x27\\x49\\xfe\\x23\\xb6\\x98\\x5a\\xd2\\xd3\\xd2\\xa5\\x02\\xa0\\x91\\xe2\\x5b\\x91\\x0e\\x56\\xd1\\xab\\xd9\\xea\\x13\\x40\\x98\\xf6\\x6f\\xd6\\xab\\xb2\\x2d\\xb1\\xdf\\x10\\xd2\\x6a\\x56\\x15\\xfd\\x8f\\xf8\\xe7\\xd4\\x05\\xeb\\x56\\x31\\xe3\\x9a\\x35\\x26\\xdd\\xac\\x1e\\xbb\\x70\\xed\\x2a\\xe3\\x9c\\x67\\xaa\\xe9\\x99\\xcc\\xb9\\xd0\\x16\\x74\\x51\\xd6\\xb9\\xd0\\x7d\\xde\\xee\\xf2\\x56\\xf3\\x33\\xfc\\x8b\\xd8\\xa2\\xba\\x9f\\x61\\xcb\\xdb\\x44\\xda\\xde\\xe6\\x8c\\x64\\xfc\\x0c\\x04\\xe7\\x65\\x84\\xef\\x97\\x18\\xba\\x59\\xcf\\x2c\\x9c\\xf7\\x5b\\xed\\xdd\\x70\\x36\\x61\\x9c\\x9f\\x12\\xbe\\xaf\\xe3\\x5c\\xf3\\x34\\xc1\\xb9\\x94\\x37\\x77\\xc7\\xf9\\x56\\x06\\xe7\\x46\\x54\\x41\\xce\\xb3\\xdd\\x04\\x67\\xab\\x08\\x4d\\x22\\xc8\\x22\\xbc\\x20\\xfa\\x09\\x72\\x2d\\xfe\\x03\\x75\\xf5\\x9f\\x2c\\xce\\xe0\\xdf\\xb8\\x8f\\xe0\\xdf\\x64\\x71\\x67\\xe1\\x57\\x67\\x69\\xef\\xfd\\x31\\xf0\\x9b\\xa8\\x87\\x3e\\x37\\x38\\xf5\\xc7\\xfb\\x3d\\x1e\\x84\\x12\\x69\\x5c\\xb4\\x3a\\x4b\\xab\\xf5\\x85\\xf5\\x82\\xe1\\x3a\\xdc\\x6a\\x84\\x4a\\x65\\x6f\\xa1\\x1c\\x0a\\xd5\\x17\\xca\\xc1\\x20\\xfe\\x13\\x08\\xe0\\x3f\\x4e\\x67\\x3d\\x15\\xd6\\x22\\x47\\x04\\xab\\xbd\\xde\\xa5\\xbd\\x3f\\x35\\x91\\x4c\\x56\\x25\\xf1\\x3f\\xd9\\xe7\\x7d\\x1b\\x33\\xe3\\xd9\\x84\\x06\\x18\\x73\\x24\\xe2\\xf1\\x6c\\x75\\x5a\\xb3\\xe7\\x48\\xaf\\x09\\x05\\x2f\\xd3\\xbb\\x11\\xa7\\xbd\\xd1\\x54\\xaf\\x2e\\x66\\x14\\x84\\x12\\xbb\\x56\\x98\\xcc\\x7a\\xa3\\x69\\x97\\x0a\\x50\\x1b\\x8c\\x0a\\x50\\x5a\\xed\\x16\\xed\\xf9\\x1d\\xdf\\x9b\\x9a\\xd8\\x7e\\x52\\xfa\\x7c\\xaf\\x94\\x5a\\x80\\x9f\\x53\\xf1\\x02\\x8a\\x75\\x1c\\x7c\\x06\\x77\\x3e\\xa6\\x65\\xba\\xd8\\xed\\xe4\\x53\\x76\\xd8\\x6c\\xf5\\x70\\xc4\\x0a\\x7b\\xad\\xd0\\x6a\\x05\\xd9\\x0a\\x56\\xd0\\x22\\x6c\\x26\\x6a\\xe3\\x21\\x67\\xb5\\xc3\\xe9\\x23\\x99\\x39\\xe1\\xd0\\xa5\\x80\\x89\\x02\\x5d\\xf4\\x02\\x4a\\x69\\xd5\\xf3\\x70\\x5b\\x9a\\xfa\\xc9\\x0b\\xaf\\x79\\x61\\xaf\\x17\\xb6\\x92\\xea\\xd5\\x65\\xe9\\x8a\\xec\\x5e\\x40\\x5a\\x05\\x2f\\x2d\\xf2\\x87\\x04\\xed\\x90\\x7f\\xaa\\xaa\\x92\\x64\\xae\\xa3\\x1d\\xdf\\x33\\x41\\xc2\\x3f\\x4b\\x0d\\xfe\\x19\\x36\\xce\\x5e\\xb5\\x73\\xb5\\x72\\x37\\x9c\\x76\\xfb\\x2d\\xd9\\x67\\xaf\\x46\\xdd\\xb3\\xad\\xec\\x3a\\xc4\\xa3\\x20\\x5a\\x24\\xe3\\x27\\x73\\x1c\\x62\\x7c\\x7e\\xbf\\xdb\\xe2\\x42\\xae\\x10\\xc3\\x84\\x51\\x18\\x6c\\x34\\x31\\x4d\\x49\\xb1\\xbf\\x49\\x56\\xb0\\x5b\\x23\\xd6\\x9e\\xd6\\x3d\\xd6\\x57\\xad\\xac\\x55\\x7b\\xa9\\x59\\x88\\xe2\\xd6\\x2a\\x3c\\xb5\\x7e\\xbc\\x49\\xe4\\xa3\\xfc\\x5e\\xfe\\x08\\xcf\\xf0\\xa8\\x6c\\x62\\x2a\\x99\\x29\\x12\\xa1\\xbf\\xdf\\x07\\xc8\\x8e\\x36\\xea\\x5b\\x65\\x2a\\x5b\\xe9\\xd1\\x87\\x2e\\x2e\\x5e\\xc8\\x9e\\x5f\\xee\\xac\\x91\\xfd\\xee\\xe3\\x35\\x6c\\xd9\\x9f\\xd4\\x7f\\xfd\\xf1\\xfc\\x62\\x67\\x5a\\xa0\\xa2\\x43\\xfd\\x29\\xf6\\xfc\\xf3\\xff\\xf9\\xb1\\x6b\\xb1\\x33\\xa2\\x4b\\x0c\\xd7\\xde\\xcd\\x84\\xe7\\xa2\\x27\\x56\\xc9\\x35\\xd9\\xf4\\x3d\\x99\\xa3\\xbe\\x78\\xee\\x31\\xcf\\xc2\\xd7\\x47\\xe8\\xd7\\xd1\\xdf\\x09\\xbd\\x90\\x9a\\x68\\xa4\\x86\\xc4\\x0c\\xb9\\x36\\x5d\\x13\\xcd\\x62\\x65\\xcd\\x66\\xab\\x8b\\x76\\x7b\\xdc\\x16\\xa0\\x2c\\x60\\xa7\\x33\\x25\\xd1\\x48\\xbc\\xa3\\x27\\x53\\x18\\xcd\\xa8\\x8c\\x26\\x66\\x6a\\xdb\\x64\\x18\\x17\\x29\\x83\\xa6\\x17\\xf6\\xca\\xbc\\xaa\\x2e\\x65\\x94\\x40\\x73\\x5d\\xa0\\x04\\xda\\x27\\x5a\\x05\\xb4\\x31\\xe7\\x57\\x40\\xa3\\xaf\\xf6\\x97\\xaa\\x81\\xf3\\x2b\\xa0\\x19\\x7a\\x8e\\x93\\xd8\\x43\\x65\\x86\\xff\\x61\\x9f\\xb1\\x37\\x24\\xbc\\xee\\xf7\\x48\\x2e\\x8e\\xed\\xc2\\x3f\\xf0\\xde\\xa0\\x1d\\x9c\\x88\\xe1\\x1b\\x0d\\xf8\\x61\\x86\\xdc\\xb4\\x99\\xe0\\x07\\xde\\x42\\x73\\x59\\x72\\x53\\x9f\\x4b\\xed\\x7d\\x4f\\x3a\\x7e\\x32\\x97\\x97\\x13\\x3c\\x32\\xa6\\x1d\\x2b\\x99\\xcb\\x46\\xad\\x5a\\x00\\xff\\x7b\\x7b\\xe7\\x79\\xfe\\xbd\\x69\\x78\\x62\\x0b\\xe0\\x4f\\xe4\\x7e\\x06\\x72\\xb5\\xe0\\xb0\\xb3\\xfb\\x73\\x72\\x6c\\xf9\\x86\\x35\\x90\\xe9\\xcf\\x0c\\x62\\x3b\\x34\\xea\\xf0\\x94\\x49\\xb7\\x1d\\xc0\\x8f\\x60\\x95\\xc7\\xc3\\x71\\x9d\\xb6\\x83\\xf1\\xee\\xa9\\x74\\x5f\\xb0\\x2e\\x73\\x7d\\xfb\\x6b\\x18\\xc7\\x30\\x4c\\xcc\\xff\\xd0\\x71\\x7c\\xa1\\xf3\\x87\\x87\\xdb\\x5f\\x23\\x73\\xd0\\x62\\x87\\xad\\x98\\x92\\xec\\x60\\x27\\x9b\\x50\\xe7\\x0f\\x99\\x77\\x58\\x69\\xb5\\x2d\\xfb\\x3a\\xec\\x36\\x97\\xd3\\x69\\x43\\x34\\xe3\\xf1\\xf9\\x18\\x06\\x04\\xd1\\x66\\xf3\\x0b\\x24\\x43\\xb8\\x45\\xb1\\x3b\\x68\\xc4\\x88\\x80\\xff\\xc5\\xfc\\xcf\\xc2\\xb4\\x2a\\xda\\x8b\\x00\\x4e\\xf1\\xd0\\xc4\\xb7\\xf2\\x14\\x6f\\xd4\\x0d\\xe1\\x79\\xf2\\x66\\x00\\xad\\x42\\x43\\x52\\x4f\\xe1\\xef\\x53\\x56\\x66\\x14\\x86\\x37\\x4a\\x47\\x39\\xfb\\x74\\x46\\x8f\\xa4\\x4b\\xe0\\x25\\x38\\x96\\xee\\x7c\\xbf\\x15\\x97\\x79\\xc7\\xd5\\x27\\x30\\xca\\xa1\\xee\\x9e\\xdc\\xf9\\xa6\\xab\\xc6\\xf7\\xa4\\xc3\\xf3\\xf4\\xb7\\x5d\\x51\\xc7\\x9f\\x99\\xf4\\x4c\\xfb\\x47\\xc6\\x3b\\xaf\\xe0\\x8d\\x6b\\x5a\\xff\\x3f\\xd2\\xde\\x04\\x3c\\x8a\\x22\\xfd\\x1f\\xef\\xea\\x63\\x7a\\xee\\xe9\\xb9\\xef\\xfb\\x4a\\x32\\x99\\x5c\\x43\\x32\\x04\\x08\\x19\\xee\\x9b\\x1c\\x06\\xa4\\xb9\\x12\\x0e\\xe5\\x56\\x01\\x05\\xf1\\x42\\x45\\x14\\x04\\x14\\x44\\x94\\x43\\x11\\x50\\x39\\xbc\\x00\\x05\\x74\\xd5\\xc5\\x13\\x3c\\x59\\x44\\x74\\x75\\xd7\\x5d\\xd7\\x73\\x77\\x55\\x74\\xd5\\x75\\x5d\\x05\\xd2\\xf9\\x57\\x55\\x77\\xcf\\xf4\\x24\\xb8\\xbf\\xef\\xf3\\xfc\\xf5\\x01\\x63\\xd2\\xa9\\xa9\\xb7\\xba\\xea\\xbd\\xea\\x7d\\x3f\\x9f\\x79\\xe4\\xf5\\x12\\xf1\\x15\\x40\\x88\\x0d\\xe4\\x4c\\x68\\x93\\x4d\\x08\\x0f\\xd2\\xa0\\xd7\\xc3\\xbd\\x49\\xd0\\xb4\\x4e\\xa3\\x06\\x2c\\x6b\\xe6\\xe0\\xbb\\x25\\x68\\x0d\\x80\\xff\\x1a\\x59\\x84\\x2c\\x64\\x04\\xd8\\xf0\\xda\\xbb\\xf5\\xc5\\x89\\x39\\xe7\\x42\\x41\\xa8\\x6c\\x67\\xb3\\x22\\xa7\\x95\\x3c\\x51\\xb0\\xfe\\x3d\\xee\\xbd\\x69\\x48\\x59\\x4e\\x3e\\xce\\x1d\\xbf\\x09\\x29\\x4c\\xf2\\xed\\x85\\x53\\x17\\x76\\x7e\\xe8\\x4e\\x93\\xc6\\xd9\\x1d\\xb3\\xc8\\x8f\\x5c\\xe9\\xfc\\x7d\\xff\\x5f\\xe5\\xfb\\x7e\\x18\\x7f\\xff\\x4b\\xda\\x9f\\x48\\x2f\\x9d\\xb3\\x39\\xbb\\xdd\\xf7\\xa3\\xdc\\xf2\\x4b\\x38\\x5e\\x6f\\x91\\xf6\\xe7\\x39\\x31\\x46\\xfd\\xc4\\x17\\x54\\xe4\\x96\\xbb\\x7e\\x80\\x67\\xfc\\x30\\xde\\x0b\\xd5\\x92\\xff\\xb9\\x45\\xf6\\x3f\\x3f\\x3b\\xe4\\xb4\\x19\\x55\\x92\\xff\\x39\\x02\\x9d\\x79\\x1c\\x2f\\xb4\\x48\\x67\\xfe\\x3b\\xf1\\xf7\\xf1\\xbc\\x3e\\xce\\xd7\\x21\\xac\\x06\\x0f\\x4b\\xf3\\x72\\xc3\\x79\\x3d\\xe9\\xbd\\xd0\\xbc\\xc4\\xd8\\xb9\\xa5\\x38\\x76\\x3e\\x14\\x55\\xce\\x0b\\xea\\x52\\x82\\x1e\\xc1\\xb4\\x72\\x49\\xf8\\xdc\\x76\\xf4\\x24\\xfb\\x85\\xf0\\x01\\xfc\\x51\\x22\\xe7\\x06\\x4d\\x3e\\x00\\x35\\xaa\\x0f\\xd5\\x7f\\x7e\\x42\\x80\\x17\\xc5\\x12\\x50\\xa9\\x0a\\x74\\xca\\x42\\xa4\\xd3\\x45\\x8e\\xb5\\xaf\\xba\\xce\\x30\\x7d\\x99\\x61\\xd0\\xb3\\xbe\\x3e\\x17\\x0e\\x06\\x02\\xfe\\x88\\x33\\x1c\\x76\\xbb\\x5c\\x94\\x5f\\x67\\x36\\x97\\x26\\xfc\\x09\\x6f\\xb9\\xa9\\x1c\\xb8\\x29\\x6f\\xca\\x69\\x8b\\xd9\\x9e\\x01\\xee\\x9c\\x9f\\x8f\\xc4\\xe8\\x70\\x38\\x14\\x0a\\xb4\\xf3\\x21\\xca\\xe5\\xf7\\xfa\\xdb\\x79\\xaf\\x85\\xd0\\x74\\xa0\\x1e\\x1b\\x2b\\x06\\xb5\\x51\\xa4\\xba\\x44\\x00\\x2e\\x69\\x7b\\xe2\\xce\\x35\\xe9\\x22\\x53\\x64\\x34\\xcb\\x57\\x3f\\x33\\x0a\\x72\\x3c\\x6b\\x7f\\x4a\\x76\\xa7\\x0a\\x70\\x73\\xb1\\x4c\\xc8\\x6c\\x63\\x29\\x92\\xea\\xaf\\xe0\\xcb\\xbb\\x82\\x52\\xab\\xe8\\x59\\x33\\x2e\\xfa\\xf0\\x8a\\x23\\xab\\x35\\x82\\x4a\\x83\\xc8\\xce\\xc0\\x3c\\x27\\x70\\x1d\\x05\\xfd\\x6c\\x4d\\xcd\\x36\\x89\\x45\\x8f\\xbc\\xdc\\x9a\\x86\\x61\\x39\\x3f\\xb9\\xa1\\xf7\\xb9\\x3c\\x25\\xe4\\xda\\x7b\\x84\\x7f\\x0e\\xbf\\x5a\\x18\\x20\\xf4\\x43\\xeb\\x82\\xde\\xdd\\x16\\xea\\x18\\xf4\\x31\\x67\\xe6\\xb2\\x41\\x57\\x20\\xe0\\x76\\x7b\\x59\\x8f\\xc9\\x62\\xa1\\xa0\\xc1\\x8a\\x27\\x4c\\x89\\xca\\x44\\x53\\xe2\\x64\\x82\\xd6\\x50\\x41\\x97\\x3d\\x62\\x6f\\xe5\\x23\\x1c\\x06\\xa1\\x33\\x79\\xec\\x6e\\x46\\xdf\\xcc\\xab\\xd5\\x08\\x42\\x2f\\x83\\xab\\xab\\x15\\x10\\x84\\xa0\\x9b\\xc8\\x35\\xf2\\x89\\x44\\xa2\\x84\\x15\\x76\\xa8\\xe0\\x40\\x2a\\x80\\x15\\xb7\\xb8\\x17\\x0c\\x12\\xbe\\x29\\x58\\xa4\\xa5\\xce\\x9e\\xf0\\x84\\xe4\\x8f\\xb1\\xdb\\x3b\\x37\\x09\\x8b\\x45\\xcb\\x44\\xee\\xb8\\xdd\\x57\\x0c\\x53\\x98\\xaf\\x0b\\x19\\x9c\\xaf\\x23\\x59\\x03\\x0e\\x2a\\xea\\x4e\\x36\\x06\\x42\\xdd\\xea\\x48\\xd0\\x7d\\xc5\\x5b\\xd8\\xef\\x6b\\x95\\xfc\\xc4\\xdd\\x62\\x1c\\x75\\x9b\\x2f\\xa0\\xbc\\xd7\\x10\\xc7\\x3d\\x96\\x1f\\x77\\x2b\\x78\\x5c\\x31\\xee\\x13\\xe1\\xb2\\x0b\\x8c\\xfb\\x0a\\xf6\\xf7\\x5a\\x25\\x5f\\x71\\xa7\\x74\\x4f\\x1b\\x0a\\x82\\x9d\\xc1\\x12\\x3c\\xb6\\x94\\xc7\\x12\\xc7\\xfe\\x31\\x3f\\xf6\\x03\\xa0\\x0b\\xfb\\x18\\x06\\x0a\\x0d\\x4e\\x91\\x7f\\x0c\\x24\\xc5\\xd1\\x15\\xb5\\x07\\x70\\x7c\\x7a\\x28\\xf3\\x50\\x7e\\xfc\\x07\\x88\\x33\\xd2\\x3d\\xcb\\xcb\\xbe\\x78\\xfe\\x9e\\x05\\xf1\\xc9\\x9d\\x65\\xe7\\x33\\x83\\x89\\x10\\xf4\\xb1\\xb6\\xe4\\xc6\\x97\\x51\\x9c\\xd3\\x64\\x72\\xb9\\x62\\x51\\x9b\\xd5\\xe7\\xf7\\x6b\\x34\\xd6\\x28\\x45\\xa7\\x2b\\xec\\x4e\\xce\\xd9\\xc1\\x5b\\x4c\\x5c\\x23\\xd7\\xc4\\xc1\\x88\\x8b\\xe3\\x82\\x6a\\x22\\x8c\\x68\\xad\\x82\\x84\\xaf\\xc3\\x77\\x85\\x8f\\x32\\x51\\x3e\\x5f\\x30\\xe8\\xea\\xe0\\x83\\x16\\x16\\x46\\x6c\\x2c\\xab\\x56\\x9b\\x3a\\x60\\xe8\\x01\\x74\\x3a\\x35\\x25\\xe2\\xe8\\x89\\xd4\\x83\\x84\\x82\\xf1\\xd4\\x9c\\xa9\\x2c\\x90\\x77\\xf5\\xe0\\x96\\xcd\\x13\\x9f\\xa2\\x13\\x21\\x52\\x88\\x32\\xbf\\x51\\xe8\\xa7\\x4a\\xd6\\x60\\x40\\x43\\x9c\\x2a\\x22\\x6f\\xee\\x14\\x3e\\x7b\\x11\\xb4\\x7f\\x0a\\x34\\xe4\\xf9\\xdf\\xac\\xf5\\x3b\\xff\\xfe\\xd8\\x67\\x16\\x8e\\x7e\\x7b\\xe0\\x75\\x9b\\x7e\\xbd\\xff\\x19\\x15\\xb0\\xfc\\xfc\\x0d\\xb8\\xf1\\x03\\xb6\\x7b\\xb1\\x9f\\x6a\\x98\\x83\\x5e\\xe7\\x42\\x5c\\x66\\xa7\\xbe\\x24\\xd0\\xbd\\x14\\x5c\\x57\\xe9\\x8e\\xbb\\x92\\xe8\\x4d\\x5c\\x92\\xeb\\x95\\xa6\\x42\\x9a\\x44\\x95\\xc3\\x91\\x48\\x50\\x99\\x8c\\xcf\\x44\\x99\\xea\\xfb\\x58\\xab\\x9a\\x78\\xab\\x35\\xc0\\x06\\xdc\\x2d\\xbc\\x37\\xe0\\xa8\\x2b\\x65\\x4b\\x9b\\xf9\\x90\\x86\\xd0\\xb3\\x1c\\x11\\x69\\xe6\\x09\\xe9\\xd2\\x11\\x09\\xa7\\x80\\x30\\x2b\\x42\\x9b\\x96\\xeb\\xe2\\x25\\xe9\\xe5\\xeb\\x1f\\x29\\xce\\x82\\x26\\x44\\xba\\x6e\\xc4\\xb7\\xdf\\x49\\x28\\xbe\\x9c\\x18\\xc7\\x57\\xdd\\x12\\x84\\xa6\\x0a\\x8c\\x5b\\xb9\\xf1\\x86\\xcf\\xef\\xdc\\x39\\xb2\\xea\\xfe\\xf6\\xb9\\xd7\\x5c\\xfb\\x8f\\xed\\x40\\xdf\\xda\\xb4\\x6c\\xad\\xff\\xd0\\xde\\x23\\xb5\\xcb\\x0f\\x8c\\x5c\\xcb\\x0f\\xe9\\x3f\\x6a\\xcd\\x45\\x39\\x92\\x7d\\x70\\x6f\\x45\\xb4\\x65\\x8d\\xed\\xc8\\xee\\x03\\x20\\xb1\\x67\\xc3\\xc0\\xa6\\xe9\\x13\\xdb\\xef\\x9f\\x61\\x60\\x3b\\x4a\\x2e\\x6d\\x9b\\x59\\xb6\\xeb\\xde\\x7b\\x5b\\xf7\\x02\\xf7\\x7d\\x73\\x16\\x3f\\x2e\\x7c\\xb6\\x69\\xd6\\x22\\xb0\\x9d\\xbb\\xe7\\xfa\\x7e\\x0d\\x5f\\x60\\x7d\\x8e\\x79\\xdd\\xb0\\x9d\\xa9\\x95\\xec\\xcc\\x01\\xb1\\xee\\xcb\\x8f\\xeb\\xbe\\x7a\\x1d\\xf2\\x87\\x68\\xb3\\x22\\x2f\\x8c\\x70\\x21\\x57\\x60\\x3b\\x33\\x4e\\xb2\\x33\\xbf\\x17\\xf5\\xf9\\xa7\\x16\\xbb\\x96\\x2c\\xd8\\x99\\xff\\x40\\xff\\xe7\\x25\\x6c\\x67\\x6a\\x25\\xff\\xe7\\x01\\xbc\\xaf\\x43\\x50\\x37\\x45\\xb1\\x5d\\x19\\x27\\xfa\\x3f\\xdf\\x11\\x8a\\x79\\x7c\\x2c\\xcf\\x03\\xda\\x95\\x91\\x62\\xec\\x45\\x46\\x50\\xfd\\x71\\x0c\\x74\\xc4\\x40\\x73\\x0c\\x9c\\x8c\\x89\\xd3\\x29\\x8a\\xbd\\xd0\\x9c\\x2e\\xc6\\x36\\x66\\x1c\\x8e\\x97\\x56\\x8f\\xc5\\x33\\x5a\\xec\\x96\\x67\\x04\\x9f\\x41\\x1c\\x6f\\xe7\\xb0\\x9c\\x75\\x92\\x9c\\xb5\\x62\\xfe\\xbb\\x02\\xe7\\xbf\\x5d\\x87\\x2a\\xaa\\xd3\\x0e\\x85\\x9c\\x6e\\xf8\\x7c\\x13\\x96\\x73\\xbc\\x24\\xe7\\x6a\\x51\\xce\\x33\\x89\\x52\\x46\\xa1\\x37\\x30\\x77\\x1c\\x9e\\x77\\x9d\\x94\\xa7\\x7a\\x4f\\xb2\\x87\\x68\\xe0\\x27\\x2a\\x6a\\x0a\\xa3\\x12\\xf2\\xb8\\x15\\x78\\xae\\xe3\\xc5\\x3b\\xf4\\x2a\\x3c\\xea\\xed\\x89\\x32\\x26\\x7f\\xb7\\xeb\\x12\\xc6\\x21\\x3e\\x3a\\x69\\x4c\\x15\\x71\\xcd\\x40\\xc9\\x42\\xdf\\x76\\x28\\x53\\x21\\x8d\\x87\\xc7\\x12\\xc6\\x21\\x5c\\x4c\\x79\\x2c\\xe2\\x9a\\x2f\\xa4\\xe7\\xf6\\x1e\\x4a\\x25\\xe4\\x49\\x4a\\x73\\xec\\x52\\xcc\\x71\\x35\\xf1\\xb3\\x34\\xc7\\x0c\\x9c\\xe3\\x47\\xb5\\xd5\\x17\\x98\\xe3\\x34\\xc5\\x1c\\x57\\x4f\\xc0\\x73\\x7c\\x3e\\x5d\\x5a\\x98\\xe3\\xad\\xc2\\x38\\xc4\\x2d\\x07\\x9f\\xc9\\xa2\\xf7\\x4b\\x5c\\x43\\xdc\\x8c\\x7f\\x97\\x80\\x73\\x9a\\x4e\\xdf\\x04\\x7d\\xca\\x8b\\xc5\\x39\\xdd\\x41\\x10\\x9e\\x9c\\xad\\x12\\x85\\xad\\x95\\x28\\x6c\\xad\\xcc\\x39\\x9d\\xf0\\x2f\\x8e\\x1b\\x2e\\x06\\xaa\\x68\\x2c\\xc4\\x53\\x87\\xe7\\x97\\x95\\xde\\x7d\\x56\\xe1\\x53\\x4c\\xf5\\x3a\\xd5\\xda\\xa2\\xf9\\x35\\xc1\\xf9\\xdd\\x85\\xfd\\xd6\\x8b\\xff\\x23\\xfa\\xbe\\x15\\xd0\\xf7\\xe5\\x9e\\x06\\x65\\xd0\\x35\\x28\\x03\\x65\\xf9\\x1e\\x0f\\x05\\x07\\x9e\\x97\\xb8\\x25\\x37\\xd4\\x61\\xb7\\xbb\\x6c\\x36\\xb7\\x9b\\xd4\\xe9\\xf5\\x24\\x4d\\xa9\\x28\\x96\\x25\\x49\\x1f\\x67\\x34\\xfa\\x39\\x42\\x7f\\x85\\x9e\\x44\\x7c\\xd3\\x06\\x1b\\x6b\\xc0\\x6c\\xed\\x2a\\x0a\\xb1\\x59\\xa9\\x38\\x15\\x59\\x42\\xa9\\x54\\xa4\\x81\\x72\\x77\\xe3\\xc7\\x13\\xdb\\xff\\x0a\\x4d\\x31\\x32\\x55\\x9e\\x0c\\x75\\x54\\xd4\\xd1\\x2c\\xa9\\x02\\xc4\\x9a\\x17\\xce\\x86\\xbb\\x31\\xe7\\xa1\\x7a\\x51\\xcc\\x9e\\xd7\\x21\\xbc\\x60\\x02\\x03\\x3a\\x8a\\x39\\xf4\\x3a\\xc0\\x60\\x93\\xf0\\xfb\\x69\\x88\\x49\\x0f\\xd5\\x86\\x86\\x64\\x32\\xbd\\xce\\xcf\\x5a\\x3b\\x3f\\x92\\xf9\\xf4\\x02\\x12\\xbe\\x28\\xc2\\x2c\\x1c\\x60\\xb3\\x18\\xcd\\x66\\x9d\\xd3\\xe1\\xf1\\x04\\xbc\\xf0\\xed\\x18\\x74\\xba\\x90\\x4f\\xe5\\x72\\x85\\x4d\\xe1\\xe5\\xe1\\x07\\xc2\\xfb\\xc3\\x34\\x47\\x19\\x02\\xde\\x40\\x33\\xcf\\x79\\xbd\\x4e\\xca\\xec\\x71\\x7a\\x9a\\x79\\x87\\xc3\\xe6\\x34\\x21\\xf0\\x51\\x86\\x51\\x3b\\x24\\xeb\\x5f\\x40\\x1b\\x95\\x71\\x9c\\xa4\\x78\\x54\\x6c\\xd0\\x56\\x22\\x2e\\x17\\x80\\x3e\\x65\\x10\\x52\\x5c\\x10\\x9b\\xc7\\x21\\x85\\x7f\\x48\\xa0\\x29\\x97\\xa1\\x48\\x33\\x4b\\x4d\\x4b\\xab\\xf3\\x68\\xa4\\xd5\\x27\\x4d\\x27\\x6b\\x64\\x40\\xd2\\xfe\\xc0\\xdc\\x06\\xac\\x18\\x92\\x54\\xf8\\xb6\\x4d\\xf8\\x9a\\x50\\xd4\\xf1\\x3d\\x95\\xaf\\xfb\\xdb\\x0e\\x3e\\x51\\xd4\\xfd\\xd5\\x27\\x33\\xdd\\xea\\xfe\\xd0\\x3d\\xf4\\x9f\\x71\\x0e\\x69\\x82\\x94\\x73\\x3a\\x20\\x9e\\xdf\\x2b\\x13\\x35\\xca\\xfb\\x6a\\x71\\xdc\\xc1\\xf9\\x71\\xd7\\x80\\x8f\\x15\\xe3\\x0e\\xf5\\x07\\x2f\\x30\\xee\\x11\\xec\\x4f\\x4c\\x90\\xfc\\x89\\x0d\\xe2\\xb8\\x33\\x7d\\x81\\x9e\\xe3\\x1e\\xcb\\x8f\\xbb\\x15\\xfc\\x41\\x31\\xee\\xb8\\x50\\xe9\\x85\\xc6\\xc5\\xfe\\xc4\\x04\\xc9\\x9f\\xb8\\x59\\x9a\\x6f\\xb0\\xa4\\xc7\\xb8\\xac\\x23\\x3f\\xee\\x7d\\xe0\\xcf\\xa2\\x2f\\x21\\xd5\\x33\\xd6\\x47\\xc5\\x4a\\x46\\xa5\\x2f\\x21\\x8e\\xfd\\x7a\\x7e\\xec\\xfb\\x70\\x4d\\x11\\xba\\x21\\xbd\\x38\\xa2\\xb8\\x93\\x97\\xe6\\xfc\\x63\\x7e\\xec\\x07\\xc8\\x9c\\x3c\\x36\\xb2\\x06\\xe0\\x7e\\x7f\\xe2\\x42\\x63\\xd3\\xe3\\xb0\\x9f\\x32\\x41\\xf2\\x53\\xce\\x49\\x63\\xbf\\xe2\\x8b\\x2b\\xc7\\x16\\x16\\x20\\xbe\\x47\\x71\\x6c\\x0e\\xdd\\x51\\x3e\\x29\\xfe\\xbe\\xb0\\x00\\xe1\\xcd\\xe6\\x7f\\xff\\x7e\\xb0\\x1a\\xdf\\x5d\\x02\\x2e\\x16\\xd3\\xeb\\xc5\\xbb\\x4b\\xcc\\x51\\x88\\xf5\\x43\\x1f\\x51\\xc7\\x92\\xa3\\x14\\x75\\x98\\x7d\\xed\\x6e\\x95\\xa5\\x68\\x2d\\x31\\xf6\\x2a\\xd6\\x5f\\x13\\xa5\\x9c\\xce\\x4c\\x71\\x2d\\x6f\\x70\\xfb\\x55\\x8e\\xc2\\x5a\\x8a\\xf5\\x9d\\x1f\\xcb\\xf5\\x9d\\xf0\\xb9\\xa1\\x8a\\x71\\xc7\\xd8\\xdd\\xca\\xfa\\xce\\xfc\\x3d\\xf3\\x7a\\xf9\\x9e\\x99\\x5c\\x25\\xe9\\xc5\\x50\\x4c\\x2a\\x57\\xc8\\x8f\\xb9\\x23\\x5f\\x33\\x3a\\x17\\xa4\\xe4\\x9a\\x76\\x17\\x5a\\xc3\\xfe\\x49\\xbb\\xda\\xdc\\x6d\\x0d\\x31\\x3f\\x19\\xb6\\x4d\\x0d\\x92\\x6d\\x1a\\x2d\\xcd\\xc3\\x0a\\xe7\\xf1\\x17\\xab\\xc3\\xcc\\x16\\xcd\\x03\\x61\\x77\\x8e\\xc2\\xb6\\x69\\x8a\\x64\\x9b\\x56\\x8a\\xf2\\x7d\\x67\\x73\\x12\\xda\\x82\\x7c\\xe2\\xb8\\x5b\\xe5\\x71\\x61\\xdc\\xef\\x94\\xc6\\x75\\xc0\\x71\\x77\\xb8\\xad\\x17\\x18\\x97\\xc4\\x76\\x67\\x0a\\x96\\x6f\\x9b\\x58\\x03\\xb6\\xc0\\x63\\x93\\x46\\xcd\\x8f\\xf9\\x71\\x7e\\xcc\\xd5\\x20\\x29\\x8d\\x09\\xc5\\x03\\xbf\\xf3\\x5c\\x68\\xae\\xf5\\x78\\xcd\\xc4\\x31\\x57\\x8b\\xf6\\x6e\\x9b\\x37\\x3f\\xd3\\x02\\x67\\x86\\x89\\x68\\xcc\\x41\\x77\\x95\\x56\\x31\\x0c\\xa7\\xd3\\x99\\x4d\\xe6\\x4a\\x73\\xa3\\x99\\xb2\\x52\\xe6\\x9c\\x81\\x43\\xec\\x18\\x1a\\xa2\\x99\\xd7\\x00\\x14\\x9b\\x48\\x2e\\x28\\x06\\x9e\\x29\\xc0\\xbd\\xe3\\x16\\x49\\x16\\xea\\xd5\\x3c\\xf3\\x05\\x39\\xb7\\xff\\x70\\xaf\\xf0\\xd3\\xee\\x73\\x89\\x97\\x24\\xce\\x0b\\xa6\\xf5\\x8a\\xad\\x67\\x69\\x66\\xf7\\x5f\\x4f\\x23\\xb2\\x0b\\x9c\\xcf\\xcb\\xf3\\xd7\\x78\\x89\\x12\\xa2\\x35\\x57\\xae\\xa5\\x7d\\x3e\\xaf\\x33\\xc2\\x71\\x8c\\x93\\x2a\\x2d\\xb3\\x41\\x35\\x69\\x73\\x68\\xe3\\x86\\x78\\x2b\\xcf\\xba\\x3d\\xee\\x66\\x9e\\xf6\\x78\\x48\\x03\\x27\\xa2\\xfa\\xe7\\xc1\\x07\\xf3\\x66\\x40\\xcc\\x8f\\x16\\xd0\\x77\\x45\\xd0\\x7e\\x16\\xfe\\x0b\\xbd\\xbe\\x22\\xee\\x1a\\xa4\\x20\\xa9\\x9e\\xfc\\x35\\x09\\x50\\x65\\x12\\x4e\\x45\\x6c\\xac\\x92\\xc5\\xe6\\xd9\\xf5\\xc6\\x0d\\xfe\\x3e\\xb3\\x2e\\x79\\x7c\\x66\\x9e\\xc9\\xe6\\xd3\\xb6\\x37\\x3b\\xbc\\x05\\x2a\\x1b\\xda\\xd5\\x76\\xee\\x85\\xaa\\x7b\\x00\\x21\\xd1\\xd9\\x40\\x5f\\xb7\\x7f\\xd7\\x59\\x26\\x80\\xb9\\xd6\\xa3\\x30\\x3a\\xb8\\x38\\x57\\xa1\\xd6\\x94\\x47\\x22\\xa4\\xdf\\x9e\\x34\\x99\\xec\\xa8\\x25\\x28\\x5d\\x61\\x29\\x0f\\x97\\x87\\x3b\\xf8\\xf2\\x72\\xb7\\xde\\x1d\\xe9\\xe0\\xdd\\x96\\x14\\xad\\xa7\\x3b\\x78\\x8d\\x9e\\x42\\x76\\xae\\x31\\xd3\\x9d\\x4c\\x25\\x8f\\x9c\\x5a\\x40\\x70\\x10\\x89\\x60\\x11\\xa2\\xab\\xb5\\x2e\\x13\\x86\\x81\\xad\\xd8\\xd4\\x4e\\x87\\xd3\\xa0\\x46\\x04\\x10\\xa5\\x1c\\x56\\xf9\\xab\\x6b\\xb5\\x2b\\x4f\\xd6\\x35\\xcd\\x8d\\x0c\\x1b\\x54\\x37\\xa7\\x83\\x4c\\x82\\x67\\x0f\\x6e\\xdf\\xf6\\x88\\xf0\\x57\\xe1\\x63\\xe1\\x26\\xb0\\xfc\\xc5\\x43\\x07\\xf7\\x3c\\x3b\\xf3\\x78\\xdb\\xcb\\x0f\\xdf\\xbc\\x69\\xfb\\x04\\x18\\xd9\\x6e\\xac\\xe8\\xb3\\x0c\\x68\\xab\\x85\\xbf\\xaf\\x7b\\xc6\\x6e\\x78\\x60\\xc5\\x07\\x6f\\xa8\\xda\\x36\\x3d\\xbe\\xea\\x9a\\xce\\x97\\x55\\xe4\\xf6\\x9b\\x1f\\x9c\\x3d\\x53\\x30\\xe5\\x73\\x67\\x77\\xa0\\xbb\\x71\\xea\\xe5\\xfc\\xfb\\xfc\\x01\\xf3\\x98\\xc7\\x89\\xc1\\xb9\\x98\\x96\\x8d\\xc5\\x9c\\x50\\x2b\\x42\\xbd\\xe3\\xa4\\x12\\x49\\x17\\xdb\\xcc\\x93\\x2e\\xca\\xe6\\xc6\\xef\\x35\\x64\\x08\\xb5\\xf2\\x86\\x22\\x72\\x81\\x4c\\xaa\\x38\\x8a\\x41\\xe4\\xc3\\x08\\x94\\x10\\x4e\\xbf\\x1b\\xfb\\x90\\x17\\x14\\x5e\\x1e\\xe5\\xa0\\x7e\\x08\\x0d\\x08\\x94\\x6e\\x6f\\xb9\\xa7\\xa2\\x98\\x81\\xe8\\xf3\\xb9\\xf2\\x6b\\x9b\\xdb\\x87\\x69\\x10\\x3a\\xb7\\xa8\\xf5\\xc2\\xb7\\x4a\\x16\\x22\\xba\\xf3\\xac\\x20\\xbf\\xb8\\xce\\x27\\xaa\\x70\\x8e\\xf9\\x1b\\x28\\xd3\\x38\\xdc\\x87\\xed\\x24\\x7a\\xe7\\xfc\\x00\\xda\\x73\\x3b\\xc3\\xe8\\x0c\\x94\\xc6\\xad\\x71\\x01\\xae\\x83\\x07\\x40\\x63\\xa2\\x34\\xe6\\x0e\\xb1\\x63\\x45\\x42\\xc0\\x44\\xbe\\x87\\xb2\\xe2\\x91\\xc2\\x93\\xa5\\x4b\\x01\\x4e\\x3c\\xc4\\x75\\x62\\x4d\\x75\\x98\\x1c\\x38\\xeb\\xf4\\xeb\\x7f\\x13\\xbe\\x12\\x3e\\xeb\\x7c\\x4b\\xbb\\xff\\x9e\\x3d\\x7a\\x30\\xb3\\xf7\\xcc\\xed\\x1f\\x1e\\x14\\x3e\\x65\\x1a\\x3a\\x1f\\x3b\\xf8\\xc0\\x1f\\xde\\xaa\\xad\\xa0\\x1a\\xf7\\x34\\x1e\\xee\\x6c\\xed\\x7c\\xeb\\xae\\xfd\\x3f\\x29\\xce\\x88\\x1e\\x46\\x4e\\x70\\x3e\\x2e\\xbb\\x4e\\xc7\\xd1\\x81\\x80\\x85\\xa3\\x22\\x51\\x17\\xeb\\x65\\x5b\\x79\\x2f\\x67\\x23\\x0c\\xf0\\x84\\x1a\\xa4\\xf0\\xa8\\xb1\\x5b\\x3c\\x28\\xe2\\xd6\\x17\\x96\\xcb\\x89\\x8e\\x00\\x9c\\x54\\x46\\xb9\\xaa\\x60\\x4b\\x61\\xad\\x26\\xc2\\xb5\\xdb\\xbd\\x40\\x03\\x42\\x35\\x0a\\x4a\\xa7\\xbe\\x8a\\x85\\x6a\\x4a\\x27\\xa9\\xdd\\x4f\\x56\\xbf\\xaa\\xe4\\x74\\x42\\xfa\\xa4\\xb2\\xeb\\x5b\\x26\\xc1\\x8c\\x26\\x02\\x44\\x26\\xe7\\x61\\x48\\xbd\\xd7\\x6b\\x23\\xa9\\x60\\x88\\xb2\\x11\\x2e\\x97\\xa9\\x9d\\x77\\xd1\\x84\\x1a\\xfa\\x71\\x56\\x65\\x02\\x2f\\x3f\\x4f\\x5c\\xb0\\x67\\xcd\\xd8\\x51\\xf2\\x26\\x26\\x4d\\x16\\x6f\\xed\\x58\\x26\\x44\\xe0\\x19\\x7e\\x79\\xfa\\xf3\\xf4\\x80\\xc6\\x27\\xa6\\x1d\\x06\\xc1\\x07\\x4e\\xbd\\xb4\\xe8\\xcf\\x83\\x87\\x0f\\x68\\x58\\x0c\\x34\\x0b\\x81\\x15\\xd4\\x9d\\x14\\x56\\x58\\x33\\x20\\xfe\\x44\\xaa\\xf2\\x25\\x30\\xfd\\xb3\\x0f\\x3e\\x1d\\x5c\\xfb\\x06\\xe8\\x5b\\x56\\x29\\x7c\\x22\\xfc\\x22\\xdc\\x72\\x02\\xf7\\xb6\\x77\\x7d\\xcb\\x1a\\x54\\x73\\xe1\\x79\\x1c\\x95\\x4b\\x5a\\xc2\\x49\\x9d\\x46\\xe3\\x09\\x53\\x69\\xb2\\xbc\\xbc\\xa2\\x8c\\x81\\x6f\\xb5\\x2c\\x9e\\x0c\\xc4\\xe3\\xc6\\x76\\x5e\\x1b\\xa7\\xdd\\x81\\x80\\xbd\\x9d\\x0f\\x58\\x8b\\x90\\xb2\\xeb\\x5d\\xdc\\xab\\x35\\xa9\\x02\\x31\\xa5\\x74\\x9b\\x27\\xe1\\xd8\\x52\\xd1\\x5a\\xf4\\x05\\x2d\\x95\\x5c\\xa0\\xe0\\x5a\\x45\\x47\\x43\\x84\\x54\\x8e\\x81\\x15\\xa3\\xea\\xb3\\x81\\x8c\\x69\\x60\\xd9\\x90\\x89\\xc6\\x2c\\x96\\x43\\xf8\\xb4\\x20\\x87\\xf0\\xdf\\x85\\xc2\\xb7\\xc2\\x9b\\x27\\xc1\\xf5\\xff\\x39\\xb4\\x2b\\xb4\\xfb\\xaa\\x1b\\x46\\x31\\x13\\xd6\\x38\\x3d\\x1d\\x53\\x85\\xed\\x48\\x28\\x61\\xbb\\x28\\x94\\x70\\xac\\xac\\x12\\x84\\x84\\x5f\\xc0\\x75\\x27\\x82\\x9b\\x1f\\x0e\\x88\\xdc\\x59\\xf4\\x49\\xfa\\x25\\x22\\x81\\xe4\\xe2\\xbc\\x61\\x2d\\xcb\\xda\\xbd\\x54\\x32\\x91\\x28\\x89\\xd1\\xcd\\x70\\xb3\\xc6\\x82\\x61\\x57\\x30\\xa8\\x87\\x0a\\x3c\\xc8\\xd9\\x5c\\x2e\\x4b\\x0b\\xef\\x72\\xf4\\x94\\x4b\\xb1\\x83\\x65\\xb9\\xa4\\x17\\xa0\\xa0\\xc9\\x72\\x2a\\x6a\\xc5\\x45\\x89\\xe8\\x47\\xab\\x9d\\xfe\\x9a\\xc6\\x51\\x9e\\x84\\xcc\\x99\\xb5\\xee\\xfe\\x40\\xcb\\x6b\\x53\\x45\\x2e\\xad\\x09\\x0b\\x12\\xb7\\x2f\\x1e\\xd3\\x9f\\xfa\\xf4\\x5a\\xfb\\x95\\xf7\\xfc\\x45\\xa6\\xcf\\x2a\\x93\\x39\\xb5\\xdc\\x6b\\x57\\x5b\\x15\\xf5\\x3b\\x45\\x35\\x36\\xe7\\x55\\x66\\x78\\x06\\xd5\\x70\\x27\\xf5\\xcb\\x85\\xe8\\x00\\xe1\\x70\\x04\\x4c\\x70\\x27\\xa9\\x02\\xbe\\x40\\x3b\\xef\\x85\\x8a\\xd2\\xeb\\xb3\\x50\\x1a\\x8b\\xa6\\x83\\x37\\x59\\x14\\xdc\\xa1\\xa9\\xa2\\xad\\x8f\\x2a\\x8f\\xc3\\x51\\xdc\\x10\\x06\\x14\\x8a\\xb2\\xd0\\x3a\\xc6\\x34\\x76\\x76\\xee\\x7a\\x5b\\x6c\\x05\\x3b\\xbf\\xb5\\xa0\\x1e\\xfb\\x15\\x75\\x8f\\x51\\x66\\xf0\\xee\\xb9\\x6b\\xd5\\x60\\x1e\\x15\\x91\\xd4\\x62\\xa1\\x67\\x4c\\xb4\\x63\\x39\\xa8\\x33\\xba\\xe0\\x7c\\x35\\x30\\x0a\\x18\\x91\\x2b\\x21\\xac\\x8c\\xcb\\xa5\\xd7\\x07\\xac\\x54\\x48\\xab\\x0d\\xeb\\xdd\\x41\\x77\\x07\\xef\\x50\\xc1\\x3f\\x0e\\x2e\\x10\\xa4\\x38\\x43\\x3b\\xcf\\x51\\x1d\\x3c\\x27\\x37\\xbc\\x65\\x30\\x84\\xae\\xd4\\xbd\\xa9\\x54\\x22\\xa8\\xd7\\xd5\\x8a\\x56\\x1f\\x88\\xa9\\x6c\\xb4\\xf6\\xb1\\x70\\x46\\x56\\xfa\\x80\\x5d\\xbf\\xf9\\xee\\x19\\x5b\\xd7\\x3c\\xd2\\x4c\\xfd\\xa2\\x79\\xe8\\x9d\\x3d\\x9a\\xce\\xf7\\xde\\xfb\\x04\\x78\\x81\\xe5\\x8d\\x89\\x27\\x5b\\x1e\\x89\\x4e\\x19\\x30\\x08\\x94\\xcc\\x9f\\x4e\\xd6\\x8e\\xd9\\x40\\xad\\xad\\xf5\\x9e\\x9b\\xee\\xa9\\xdd\\xba\\xf1\\xdd\\xaf\\x81\\x60\\x60\\xdf\\x02\\xb5\\x72\\x2d\\x13\\xf5\\x5f\\x38\\x6f\\x03\\xdc\\x3d\\x2d\\xb9\\x14\\xeb\\xb2\\x12\\xa1\\x90\\xd1\\x18\\x77\\x51\\xc9\\x92\\x78\\x22\\x11\\x6a\\xe6\\x13\\x84\\x35\\x60\\xf1\\xf9\\xa8\\x66\\xde\\xc7\\xd9\\xb5\\xf9\\xfa\\x25\\x7b\\x11\\xb1\\x11\\xca\\xc3\\x17\\x2b\\x1d\\x71\\xfe\\x45\\x35\\x48\\xa0\\x7b\\x85\\x52\\x9d\\x14\\x8b\\x91\\xbf\\xc8\\xc5\\x47\\xf5\\x37\\x37\\x80\\xf9\\x9f\\x15\\x57\\x26\\x0d\\xa3\\x2b\\x97\\x09\\xed\\x75\\x83\\xd2\\xd4\\x90\\x42\\x01\\x12\\x3d\\xf2\\x9c\\xa6\\x50\\x99\\xe4\\xac\\x06\\x1a\\xdb\\x16\\x40\\x89\\xef\\x22\\x23\\x0c\\xa3\\x5e\\xa6\\x8e\\x13\\x11\\xa2\\x8a\\x18\\x93\\x2b\\x49\\xf9\\x92\\x15\\x15\\x6e\\x15\\x95\\xb4\\xe8\\x83\\x41\\x0b\\x45\\x55\\xbb\\xdd\\x35\\xbe\\x54\\x8a\\xa3\\x29\\xb8\\xa7\\xa2\\x30\\xfa\\xe2\\x08\\x0d\\xaa\\xce\\x52\\x62\\x66\\x99\\x8b\\xdf\\x84\\x0c\\xe1\\x09\\x90\\xde\\x2c\\x70\\xca\\x83\\x64\\x01\\x09\\x82\\x64\\x45\\xf8\\x27\\xab\\x58\\xcd\\x1e\\x14\\x13\\x49\\x60\\x48\\x9f\\xcd\\xb9\\x74\\x96\\x0b\\xf2\\xa9\\x4b\\xe6\\x05\\xfb\\x5f\\x76\\xe2\\x86\\x7f\\xde\\x7d\\xcf\\x81\\xf7\\xde\\xbd\\x38\\xd7\\xb1\\x77\\xff\\xb8\\x15\\x63\\x86\\x0c\\x8f\\x3c\\xb8\\x6e\\xba\\x30\\xcc\\xe7\\x02\\xaa\\xc7\\x23\\x81\\x89\\xa3\\x22\\x7d\\x73\\x17\\xef\\xf8\\x7c\\xeb\\x4f\\xab\\x0e\\x3f\\xf0\\xba\\xf0\\x55\\x6e\\xcc\\xfc\\x3e\\xe3\\x6e\\x18\\xca\\x54\\xce\\x79\\xef\\x9a\\x29\\xab\\xfa\\xfa\\x1a\\xbe\\x7d\\x6d\\xd9\\x6a\\x1c\\x73\\xc6\\xa0\\xaf\\xdb\\x88\\x63\\xeb\\xa9\\xb9\\x0c\\x0d\\x8c\\x3a\\x35\\xc7\\xb9\\xdd\\x3a\\x3b\\xa0\\x7d\\x4e\\xa7\\x5f\\xab\\x36\\xa9\\x3b\\x78\\x83\\xc9\\x04\\x1c\\x0e\\x37\\x0c\\xa5\\xe1\\xb6\\x83\\x7b\\x8f\\x02\\x9e\\x76\\x1e\\xc0\\x5d\\x48\\x02\\x4c\\x0b\\x2d\\xe7\\x13\\xbb\\x83\\x05\\x2b\\xc4\\xae\\xae\\x2a\\x05\\x50\\x60\\x07\\xfc\\x3b\\xcc\\x46\\xe1\\x57\\xf9\\xf0\\x19\\xed\\x47\\xfa\\xa2\\x73\\xa7\\x52\\x03\\x8d\\xcd\\x44\\x17\\x50\\x77\\x08\\xf7\\xf4\\xcd\\x0d\\xcf\\x51\\x60\\xee\\x94\\x8f\\x3e\\xb8\\x62\\xe8\\xc0\\xde\\xd4\\x77\\x9a\\x03\\xa7\\xf6\\x80\\xe9\\xbf\\x70\\x64\\x74\\x17\\xb8\\x6f\\x07\\xa9\\x37\\xfe\\x09\\x0c\\xa8\\xf5\\x9c\\x9b\\xee\\x85\\xef\\x68\\x2e\\x8c\\x13\\xa6\\x42\\x3b\\xe1\\x86\\x6f\\x69\\x44\\x2e\\xe1\\xf3\\xb8\\x9d\\x6a\\x4d\\x04\\x10\\x1c\\xa7\\x71\\x52\\xd1\\x98\\xdb\\x03\\x8d\\xab\\xc1\\xed\\xb6\\x19\\x6c\\xc1\\x76\\xde\\x66\\x35\\xd0\\xed\\xbc\\x81\\x2e\\xc2\\x51\\xb7\\xd4\\xa7\\x14\\x48\\xf2\\x52\\x53\\x68\\x36\\x6f\\x34\\xd0\\x6b\\x21\\x44\\x67\\x01\\x6a\\x60\\x18\\x18\\xe3\\x4d\\x48\\x58\\xe9\\x0d\\xcc\\xe1\\x5d\\x0b\\x1f\\x1d\\xd3\\x30\\xb0\\xcf\\x96\\x97\\xe6\\xfd\\x0c\\x2c\\xcf\\x0b\\x07\\x3f\\xfe\\x97\\xf0\\x85\\xfb\\x05\\xee\\xd0\\xfd\\x2f\\x02\\x6d\\x1d\\xf9\\xd5\\xc5\\xef\\x7e\\x5d\\x99\\x7a\\x02\\xc4\\x43\\x56\\xe1\\x9f\\xc2\\x0f\\xc2\\x55\\x7f\\x00\\x91\\x9f\\xae\\x9f\\x3b\\xb1\\x79\\xf8\\xbb\\x5f\\xc0\\xb7\\xca\\xe1\\xf5\\xaf\\x83\\x36\\xf9\\xdf\\xcc\\x18\\xe8\\xb5\\x8e\\xca\\x95\\xf8\\xe0\\x71\\xd7\\x6b\\xb5\\x51\\x27\\xc9\\x10\\xaa\\xd2\\x32\\xd2\\xe9\\x72\\x39\\x51\\xe3\\xbc\\x3a\\x92\\x48\\x40\\x65\\x95\\xb0\\xaa\\xb9\\x76\\x5e\\xaf\\xa6\\x25\\xa8\\x58\\x4c\\x1a\\x71\\x01\\x9f\\xae\\xba\\xca\\xca\\xc5\\x51\\xbf\\x7b\\x4c\\x89\\xc5\\x8c\\xf6\\x92\\x09\\x14\\x00\\x11\\x28\\x74\\x80\\xea\\xc0\\xe6\\x25\\xab\\x00\\xf8\\xee\\xee\\x1d\\x15\\x03\\xe9\\xd0\\x92\\xda\\x3b\\x6f\\x9f\\xdf\\x71\\x87\\x69\\xfd\\xa1\\x5d\\xff\\xed\\x7d\\x57\\x72\\xf4\\xc0\\x86\\x27\\x8e\\x1c\\xfd\\x14\\x54\\x82\\xa9\\xd5\\xe6\\x8d\\xf3\\x9f\\x79\\x2d\\x25\\x08\\x0f\\x39\\x82\\x1b\\x1e\\x99\\x31\\x4b\\xa5\\x69\\x55\\x6b\\x0f\\x3f\\xf6\\x69\\xc8\\xf1\\xbc\\xf0\\xf7\\xd4\\xa3\\x38\\x7f\\x21\\x9c\\x14\\x86\\xd0\\x3f\\xc1\\xbd\\x14\\x40\\x7e\\xaa\\xca\\x68\\xf4\\x68\\x74\\x1e\\xca\\x42\\x06\\x02\\x21\\xbb\\xc5\\x12\\xd4\\x19\\x54\\x86\\x0e\\x5e\\xad\\x52\\x71\\x7e\\xbf\\xb7\\x9d\\xf7\\x23\\x4b\\xe9\\xa7\\x38\\x57\\x07\\x6f\\xe5\\x7c\\x79\\xf0\\xdb\\x1e\\x80\\xd3\\xc5\\x8d\\x72\\xd1\\x6c\\x22\\x1a\\xce\\x67\\x9e\\xa5\\x1b\\x0b\\xf1\\x92\\x06\\x7a\\xe8\\xf4\\x73\\x03\\x55\\xf3\\xdf\\x17\\xfe\\x3d\\x03\\xfc\\xbe\\x6f\\xc3\\xf0\\x06\\x4a\\x18\\x34\\xa7\\x59\\x38\\xbc\\xf2\\xd2\\xb2\\x01\\x8c\\xbe\\xb5\\x7c\\x6d\\xf8\\xfc\\x5e\\x0d\\x1d\\xa6\\xce\\xff\\xc9\\xd8\\x79\\x0a\\xa7\\x97\\xf7\\x0b\\xfd\\x2a\\xfe\\xb9\\xc6\\x1e\\x3a\\xca\\x6c\\x92\\xb9\\xf4\\xdf\\x17\\x3e\\xa7\\x0e\\x30\\xad\\x84\\x0b\\x94\\xe5\\xe2\\x4e\\x9b\\xd5\\xe5\\xb2\\x6b\\x19\\x1a\\x10\\x5a\\xc2\\xe3\\x06\\x4e\\x9b\\x73\\x31\\x4f\\xdb\\x6c\\x84\\x5a\\x6d\\x5a\\xcc\\x13\\x7a\\x4e\\x4f\\x3a\\xf4\\xa8\\x00\\x22\\x10\\x1e\\x8e\\xfe\\x9b\\xbb\\x5f\\x6f\\x1a\\xae\\xd7\\xab\\x59\\xc2\\x73\\xa3\\x07\\x5c\\x81\\x91\\xc2\\x72\\x1e\\x50\\xe5\\x01\\x21\\x0c\\x1f\\xf6\\xbd\\x07\\x7c\\xe2\\x01\\x2f\\x62\\x94\\xb1\\x1d\\x1e\\xa0\\x7c\\x46\\x7c\\x40\\xfc\\xa9\\xf8\\x23\\xf8\\xfd\\x66\\xf9\\x47\\x1c\\xfe\\x69\\x5f\\xf1\\xf7\\xc5\\x5f\\x16\\x7f\\x53\\x1c\\x5a\\xfc\\x7e\\xfe\\xd7\\xba\\x0d\\x77\\x23\\xfe\\x0e\\xe1\\x01\\x45\\x65\\xe3\\xff\\x2f\\x24\\x0e\\xfc\\x8f\\x48\\x52\\x98\\xea\\x86\\x03\\x2e\\x25\\xc8\\xc5\\x9b\\x5d\\x74\\x5c\\xbc\\xa0\\x98\\xaa\\x10\\xa1\\x9d\\xa3\\x84\\xd1\\xfb\\x8f\\xee\\xd4\\xee\\x29\\xf1\\xfd\\x6e\\xf5\\xa4\\x46\\xb6\\xd2\\x1f\\xcc\\xa6\\xfb\\x25\\xdd\\x89\\x5f\\xcd\\xbf\\x1c\\x84\\x8b\\xfc\\x51\\x4d\\xe4\\x9f\\x3b\\x9e\\xb1\\x1e\\xe9\\x70\\x56\\x4f\\x5d\\xf5\\x41\\xdb\\xf9\\xb8\\xb8\\xfe\\x0b\\xbb\\xbe\\x63\\xdd\\xd0\\xb7\\xaa\\x20\\xa6\\xe4\\xaa\\x5c\\xa9\\x60\\xcc\\x42\\x9a\\x4c\\xb1\\x14\\x55\\x09\\x9d\\x91\\x2a\\xe8\\x80\\xc0\\x53\\x4c\\x12\\xe1\\x70\\x09\\x51\\x02\\xf7\\x50\\x89\\x95\\x81\\x5b\\x4a\\xc3\\x10\\x84\\xad\\x9d\\x37\\x23\\x5e\\xe8\\x1a\\x8c\\xa9\\x57\\xd3\\xed\\x78\\x2b\\x49\\xc0\\x65\\x8b\\x28\\xb9\\x1d\\xac\\x78\\x3c\\x58\\x94\\xc5\\x2b\\xf8\\x5c\\x59\\xf1\\x3e\\x1a\\xb1\\x24\\x88\\x7e\\x17\\xf5\\xd4\\xef\\xf6\\x05\\x77\\x2f\\xb9\\x61\\x54\\x0a\\xfb\\x5d\\x6b\\x22\\xb9\\x41\\xd4\\xf2\\xd3\\x07\\x85\\x4f\\x76\\x9d\\x78\\xe6\\xe2\\xa7\\x06\\x36\\xee\\x41\\x1c\\x6b\\xab\\x46\\x6d\\xfc\\x71\\x95\\xf0\\x2f\\xe1\\x9d\\x77\\xc0\\x75\\xcc\\xe8\\xf8\\xd6\\x7d\\x81\\x9f\\xa0\\xdf\\x75\\x54\\xd8\\xba\\xfb\\xd2\\x17\\x84\\x1d\\x7f\\x7f\\xe7\\xab\\x9a\\x52\\x30\\xcd\\x53\\x57\\xe7\\x11\\x26\\xd7\\x57\\x82\\xa0\\x70\\x0e\\x5c\\xf3\\x36\\xb2\\x33\\xf3\\x84\\x21\\xb8\\x1f\\x1e\\xf5\\xb0\\xf0\\xb9\\x0a\\xb3\\xde\\xa7\\xb6\\x50\\x3a\\x07\\x63\\x25\\x49\\x46\\xa7\\xd6\\x33\\x41\\x82\\x08\\x91\\x56\\xab\\xde\\x6c\\x34\\xb7\\xf3\\x6e\\x1d\\xfc\\x19\\xc5\\xda\\x8d\\x14\\xeb\\x6f\\xe7\\x59\\x5f\\xe1\\x1e\\xc3\\x9c\\x29\\x80\\x71\\x2b\\xb5\\xaf\\x2c\\xb1\\x09\\x00\\x8b\\x9d\\x65\\x92\\xfd\\x41\\x16\\xe4\\xe1\\xb6\\x11\\x70\\x3b\\x0c\\x6a\\x9d\\x59\\x66\\xaf\\x76\\x45\\xe7\\x86\\xc1\\x94\\xb0\\xae\\xc1\\x7b\\xd1\\x38\\xe1\\xeb\\xe5\\x88\\x8b\\x7f\\xdf\\x9f\\x49\\xf7\\x66\\x9d\\x10\\xf3\\x96\\x0e\\x60\\xad\\x57\\x33\\x0d\\x50\\xeb\\x3e\\x2a\\x9c\\x3a\\x3a\\x59\\xe7\\x9f\\x7b\\x6c\\x33\\x7d\\x0c\\xdd\\xbe\\x9f\\x4f\\x53\\xa7\\x3d\\xb5\\xbf\\x2e\\xe2\\xe6\\x2e\\x1d\\x7a\\x6f\\x8c\\x65\\x51\\x7d\\x1c\\xd4\\xc9\\xc7\\x61\\x9c\\x51\\x46\\x8c\\xcf\\x55\\x44\\x42\\x5e\\xaf\\x2f\\x09\\xdf\\x90\\x49\\xa5\\xd1\\x98\\x7c\\x54\\xaa\\x3c\\xe2\\x8c\\x39\\x5b\\xf9\\x18\\x17\\xf4\\x37\\xf1\\x41\\xc2\\x67\\xd7\\x43\\x97\\x40\\xef\\x50\\xab\\x10\\x1d\\x4e\\xc1\\x19\\xc8\\xdf\\x59\\x2a\\x3d\\x01\\x39\\x06\\xc1\\x39\\x4a\\x5c\\x45\\x42\\x86\\x0b\\x9c\\x1f\\x85\\xfb\\x4a\\x4a\\x62\\x03\\x63\\x29\\xaa\\xe1\\xa2\\xe6\\xdd\\xf1\\xb9\\xab\\xd5\\xa0\\xe6\\xea\\x6a\\xe1\\xf0\\xfd\\x3b\\x99\\x7a\\x67\\x55\\xaf\\x11\\x0f\\xf5\\xb9\\xfc\\xe1\\x6f\\x51\\x51\\xdc\\x84\\xc8\\x83\\x4f\\x5e\\x72\\xa9\\xab\\xee\\xe3\\xe1\\x93\\xde\\x25\\x79\\x77\\xba\\x73\\x9c\\xf0\\xcd\\xc2\\xb9\\x41\\x2f\\x18\\x82\\xaa\\xdf\\x96\\xb5\\x77\\xde\\x86\\x19\\x67\\xad\\x4f\\x7d\\xb8\\xe0\\xd2\\xd4\\x2d\\xc2\\x9b\\x72\\x9d\\x18\\xaa\\xff\\x50\\xa1\\xba\\x0d\\x02\\x88\\x35\\x5a\\xf0\\xfd\\x59\\xa1\\x0e\\x4f\\x40\\xb5\\xae\\x61\\x18\\xca\\x60\\xb0\\x53\\x36\\x93\\x56\\xaf\\x6d\\xe7\\xad\\xac\\x9a\\x85\\x7e\\x9a\\x5a\\x4d\\xc1\\x88\\x9c\\xa1\\x98\\x76\\x9e\\x52\\xe6\\x9f\\x0b\\xc9\\xe7\\x3c\\x87\\x4c\\x46\\xc1\\x9e\\x2f\\x42\\x12\\xa0\\xcd\\x08\\x4f\\x14\\x58\\xb8\\x5b\\xdd\\xf9\\x95\\xfa\\xc0\\xec\\x77\\x4c\\x27\\x79\\xb1\\x94\\x91\\x7f\\xdf\\xf4\\x1e\\x26\\xce\\x27\\x2f\\x6a\\x05\\xbf\\xa2\\x37\\x22\\xb0\\xad\\xf9\\x5a\\x0f\\xe6\\x7b\\xa6\\x85\\x88\\x12\\xb3\\x72\\x59\\xbf\\xc7\\x03\\x5f\\x8d\\xd1\\x68\\x65\\xf5\\x3a\\x35\\x50\\x69\\x54\\x6a\\xbd\\x95\\x31\\xd3\\x74\\xdc\\x1c\\x73\\x85\\x3a\\x78\\x9f\\x8b\\x46\\x1d\\x38\\xd0\\x3a\\x12\\x94\\xd9\\xa2\\xb3\\xa8\\x00\\x05\\xe0\\x44\\x29\\x79\\xa2\\x8d\\xca\\x8b\\x32\\x71\\xa2\\xca\\x14\\x82\\xd4\\x36\\xa2\\x11\\x37\\x96\\x06\\x81\\x82\\x00\\xf9\\xb6\\xbc\\x3f\\x59\\x38\\x67\\x2a\\x16\\xbc\\x42\\x81\\xa5\\x5a\\xb0\\x45\\xbb\\xa1\\xf3\\x3d\\xf0\\xc2\\x3a\\x8d\\x70\\x4c\\xb8\\xe4\\xab\\x51\\xcf\\x6b\\x3b\\xdf\\xd3\\xee\\xbf\\xcb\\x75\\xd5\\xd3\\x33\\xe6\\x8d\\x4b\\x0d\\x54\\x19\\xfb\\x44\\xfb\\x4f\\x34\\x93\\x4b\\xc8\\xab\\xb1\\x44\\xf5\\x9d\\xa5\\xde\\x5a\\xf2\\x89\\xdf\\x0b\\xed\\x48\\x52\\xaa\\xe1\\xb6\\xd7\\xaf\\x82\\x67\\xcb\\xe1\\xed\\x98\\x9a\\xaf\\x61\\x62\\x76\\x11\\x7e\\x62\\x52\\xae\\xca\\xa8\\xd3\\xb9\\x6c\\x36\\x9a\\x66\\xbc\\x24\\xf0\\xd9\\x3d\\x1e\\x1f\\xc9\\xd0\\x01\\x97\\x2b\\xe8\\xb1\\x3b\\xed\\x4d\\x3c\\x69\\xa3\\x28\\xc6\\x89\\x2b\\xba\\x10\\x55\\x2b\\x60\\xec\\x98\\xd2\\x01\\x27\\xca\\x0b\\x65\\x2b\\x17\\x94\\x2d\\x8c\\xcb\\x94\\xac\\x4a\\x46\\x56\\xb6\\x50\\xc4\\x44\\x2d\\xc3\\xd5\\x4a\\x4f\\x25\\x4e\\x6c\\x1c\\xdb\\x3f\\x56\\xed\\xf2\\x57\\xe7\\x46\\xb8\\x17\\x29\\xcb\\x99\\x70\\xd9\\x12\\xf5\\xe3\\xfb\\x1f\\x59\\x4f\\x5c\\x6b\\x5f\\x72\\x77\\xe7\\xf5\\x8a\\x9a\\x26\\x51\\xf7\\xf5\\x83\\xfb\\x68\\x00\\xae\\x61\\xe9\\x9f\\x0b\\x1a\\x49\\x12\\xee\\x23\\xce\\x0c\\xe0\\xee\\x69\\xe6\\x8d\\x6a\\x35\\xa3\\xd7\\x6b\\x9b\\x78\\x3d\\xc1\\x90\\x4d\\x3c\\x63\\x2f\\x72\\x61\\x7a\\xe0\\x6b\\xe3\\x3a\\x58\\x79\\xeb\\x50\\x19\\x32\\xf3\\xc8\\x5c\\x54\\xae\\xb2\\x64\\x8f\\x71\\xcf\\x1c\\x54\\xae\\x72\\xd5\\x23\\xe4\\xce\\xce\\x87\\xdd\\x69\\x72\\x67\\x1b\\x79\\x91\\x2b\\xdd\\x39\\x1b\\xef\\x97\\x3f\\xc0\\x75\\x1c\\x0c\\xd7\\x31\\x08\\xed\\x77\\x95\\x4a\\xcf\\x80\\x00\\x20\\xfc\\x7a\\x03\\xe7\\x34\\x6a\\xc2\\x1a\\x6d\\xc8\\x64\\x54\\xe9\\x39\\x03\\xe1\\x47\\x55\\x19\\x06\\xbd\\x91\\xd1\\x7a\\x1c\\x0e\\x8f\\xc7\\xda\\xc2\\x7b\\x00\\xa3\\xc5\\xeb\\x28\\x63\\x2a\\x16\\xad\\x1e\\x5c\\x2f\\x73\\xde\\x7e\\x5b\\x1d\\xa8\\xdc\\x0b\\x25\\xf8\\xa0\\x0e\\x82\\x7a\\x08\\xed\\x09\\x19\\x4a\\xd1\\x99\\x65\\xc9\\x61\\xdb\\x0c\\xe3\\xd4\\xaf\\x4e\\x0b\\x8f\\x17\\x3e\\x7a\\x5c\\x4d\\x26\\xcd\\xc2\\x95\\x36\\x30\\xcf\\x9c\\xab\\x8e\\x06\\xab\\xaa\\xed\\x4d\\xc3\\x26\\x4d\\xf1\\x7e\\x64\\xa3\\xaf\\x3c\\x1f\\x1c\\x03\\xe7\\xfe\\xc9\\xc8\\x2d\\x02\\x95\\xa2\\xd6\\x2d\\x14\\x9e\\x59\\x04\\xd2\\xf3\\x78\\xfd\\x45\\x7b\\xed\\x53\\xaf\\x3d\\xbc\\x08\\xaf\\xe5\\x84\\xae\\xcf\\x55\\xb3\\x99\\x7e\\xd0\\x73\\xbf\\x34\\x17\\x66\\xaa\\xaa\\x08\\xa7\\xd7\\x6b\\x33\\xc7\\x74\\x61\\x73\\xb8\\x9a\\x20\\x6a\\x18\\x9d\\xce\\x58\\x15\\x71\\x38\\xa0\\xdd\\x70\\x50\\x46\\xff\\x33\\xc0\\x73\\x88\\x37\\x5a\\xd5\\x29\\xf8\\x45\\x4e\\xc3\\xab\\xad\\x34\\xdc\\xfc\\xb4\\x45\\x11\\x9a\\xc8\\x05\\x14\\x16\\xd9\\xa5\\xaf\\xcf\\x23\\x4d\\xc9\\x79\\x9a\\x02\\x31\\x9a\\x14\\xdc\\xca\\xd5\\x7c\\xc8\\xe3\\x82\\x4a\\xd7\\x9a\\xa1\\x8c\\x94\\xfc\\xb5\\x6a\\xf6\\xdf\\xae\\xd3\\x08\\x6f\\x86\\x5b\\xde\\x9e\\x70\\xe9\\x15\\x4d\\xaf\\x4f\\x9a\\x7e\\x85\\x77\\xd3\\x0d\\x1a\\x30\\xe8\\x61\\x2d\\x37\\xb3\\xd7\\x3d\\x73\\x75\\x3b\\x5e\\x7c\\x90\\xd6\\x6a\\x54\\x73\\xeb\\x36\\xcf\\xd3\\xee\\x64\\xfa\\x9d\\xb3\\x79\\x6b\\x3f\\x5d\\xbc\\xe6\\xc6\\x1b\\x16\\xad\\xbd\\x76\\xc9\\x80\\xb5\\xd4\\x68\\x4f\\xed\\xf9\\x19\\x35\\xd7\\x5a\\xaf\\x9c\\x7b\\x57\\x23\\x75\\xcf\\xf9\\x19\\xae\\xfa\\xda\\xb4\\xe1\\xca\\xcb\\x36\\xf4\\xa3\\xee\\x11\\x7d\\xb1\\x77\\xa1\\x4d\\x39\\x0c\\x75\\x92\\x8f\\x18\\x9c\\x8b\\x30\\x76\\x0f\\x69\\x27\\xf5\\x04\\x11\\xd0\\xfb\\xe1\\x57\\x2e\\x7b\\x3b\\xef\\x63\\x5c\\x94\\x06\\x9a\\x13\\x78\\x0a\\x7c\\x6e\\x24\\x69\\x26\\x7f\\x5d\\x24\\xda\\x90\\x42\\x19\\xb6\\x64\\x3c\\xa8\\x28\\xe8\\xc6\\xec\\x8b\\x6b\\xa1\\xe0\\x5f\\xcc\\x61\\xed\\x81\\xbf\\x4d\\x13\\x82\\x7f\\x8d\\xfe\\x6e\\x63\\xf9\\x55\\xde\\xd2\\xa1\\xb1\\x50\\xbf\\x31\\x33\\xdd\\xdf\\xef\\xd5\\x82\\x5b\\xc0\\x9d\\xbb\\x0e\\x68\\xb1\\xe1\\xb0\\xd0\\x47\\xce\\xf9\\x5e\\x7e\\x4b\\xaf\\xfa\\xfa\\x5e\\xfb\\x0d\\x6b\\x99\\x26\\x28\\x81\\x95\\xda\\x2e\\xfb\\x5d\\x23\\x84\\x51\\xb8\\xde\\xc5\\x8d\\xf6\\xbe\\x81\\x65\\xd5\\x4e\\x91\\xb0\\xce\\xe3\\x75\\x7a\\x25\\xb2\\x3a\\x4e\\xa7\\x41\\x04\\x91\\x6a\\x7b\\x11\\x59\\x9d\\x92\\xab\\xee\\x37\\xe9\\x34\\x31\\x57\\x28\\x22\\xd3\\x1c\\xb5\\xbf\\x77\\x51\\xb5\\x8a\\xfb\\xc9\\xdd\\x87\\x30\\x93\\xe6\\x8d\\x93\\x14\\x4c\\x9a\\xb1\\xdb\\xcf\\xb3\\xd4\\xb9\\xe5\\xf9\\xba\\x0f\\x66\\xb4\\x45\\x45\\x6f\\x21\\xc4\\x5a\\x8d\\x33\\xaa\\x25\\xcc\\xd3\\xb8\\xf6\\x60\\x58\\x2e\\x56\\x4a\\xeb\\x7c\\xbe\\x48\\x80\\x0e\\x54\\x59\\x8d\\x6e\\x77\\xb5\\xce\\xd7\\xce\\xeb\\x74\\xd0\\x3d\\x8c\\xc3\\x7d\\x05\\xfd\\xf4\\xf2\\x42\\x8e\\xea\\xd5\\x7c\\x02\\x16\\x64\\xe4\\x42\\xa3\\x8c\\x9c\\xad\\x8a\\x49\\x91\\x2c\\xed\\x44\\xd1\\x5e\\x05\\x59\\x2b\\x83\\x94\\xc9\\xe0\\x1f\\x89\\x42\\xf8\\x6b\\x21\\xef\\xdd\\x29\\x74\\xdd\\x81\\x40\\x3f\\x1e\\x03\\x86\\x81\\xfd\\x1b\\x22\\x25\\x91\\xe1\\xd9\\xfa\\x31\\x2b\\x97\\xf8\\x30\\xfc\\xc7\\x89\\xbd\\x9b\\x7e\\xbd\\xff\\x8d\\xdd\\x9b\\x3a\\x1f\\xb0\\xdd\\xf6\\xf3\\x16\\x04\\xf9\\xb1\\xed\\xf6\\xc0\\xe0\\x80\\xc3\\xe7\\x8b\\x87\\xea\\x07\\x0f\\x1e\\x3d\\xfe\\x89\\xbe\\x6d\\x53\\x45\\x00\\x90\\xd7\\x7f\\x42\\x55\\x15\\xc7\\xbf\\x7f\\x03\\x5c\\x23\\x71\\x86\\xd2\\xbb\\xe9\\x75\\xf0\\xfc\\xa7\\x91\\x6c\\x21\\x0d\\xb4\\x65\\x49\\x52\\x43\\x56\\x38\\x2d\\x7e\\x7f\\x25\\x47\\x34\\xc1\\x77\\xa0\\x32\\x18\\xca\\x9a\\x79\\x8f\\x81\\x53\\xc1\\x88\\x57\\xe5\\xf8\\x7f\\xca\\x06\\x70\\xab\\x6c\\x81\\xa5\\xdb\\x59\\x57\\x24\\x1f\\x28\\x62\\x1b\\xa5\\x9e\\x34\\x4b\\xa4\\xa2\\x5b\\xae\\xd8\\x9b\\x5e\\x2c\\x09\\x76\\xcb\\xf9\\xb7\\x30\\xef\\xe8\\xec\\x19\\x93\\x1e\\x9c\\x4a\\xbe\\xd4\\x38\\x0c\\xf5\\xcc\\x8a\\x44\\xa3\\x97\\x4c\\xed\\x3d\\x28\\x2f\\x18\\xff\\xa8\\x30\\x69\\xd5\\x1d\\x77\\x75\\x6e\\x58\\x03\\xff\\xc2\\xef\\x4a\\x18\\xc2\\xd6\\xc0\\xd8\\xd0\\x01\\x2d\\xe0\\xd0\\x5c\\x22\\x6c\\x64\\xbd\\x2a\\x87\\xc3\\x6b\\xa4\\x62\\x71\\x3b\\xdb\\xc1\\xdb\\x29\\x0b\\xf4\\xa0\\x2c\\xb4\\x16\\xc6\\x58\\x5a\\xab\\x64\\x99\\x7d\\x45\\xfd\\x91\\x84\\xf2\\x26\\xc0\\x9c\\x07\\x88\\x84\\xfa\\x15\\xa1\\x58\\xcb\\x58\\x07\\x99\\x30\\x90\\xc8\\x3c\\xb1\\xff\\xa8\\x52\\x89\\xa4\\x25\\xc0\\xff\\xd3\\x29\\xe1\\xef\\xff\\x78\\x48\\x38\\x7f\\xc7\\x5b\\xe0\\xda\\x73\\x73\\x7e\\x37\\x82\\x0c\\x9e\\xbb\\xba\\xed\\xd9\\xea\\xe3\\x87\\x67\\x1c\\x11\\xbe\\xbe\\xef\\x35\\x61\\x13\\xb2\\x66\\xaa\\xb1\\xe7\\x66\\x4c\\xbc\\xf5\\xa7\\xfb\\x7e\\x02\\x37\\xbf\\x67\\x3a\\x47\\x97\\x7a\\xe9\\xa9\\xee\\x63\\xc2\\xa6\\x3f\\xbf\\xfd\\x25\\x7e\\x27\\xc2\\x28\\xa6\\x02\\x9e\\x0b\\x3b\\xdc\\x71\\x03\\x73\\xb1\\xa0\\x86\\x74\\x03\\x8b\\xc5\\xad\\xa1\\x22\\x51\\x33\\xd9\\xcc\\x9b\\x4d\\x06\\x2f\\x34\\x65\\x9c\\xca\\x81\\xdf\\x86\\xb5\\x89\\x27\\xbc\\xdd\\xb5\\x56\\xd1\\xfc\\xad\\x51\\x94\\x4c\\xcc\\x17\\xb3\\xc0\\xb9\\xa3\\x56\\x89\\x1a\\x2f\\x90\\xa9\\x48\\xa9\\x4d\\x5f\\xdc\\x36\\xa8\\x4c\\xf8\\xf9\\xdd\\x87\\x5f\\xbb\\xe3\\xec\\xd6\\x8a\\xa5\\x4b\\x7b\\x81\\xe5\\x7f\\x9f\\xa1\\xee\\xb4\\x9d\\x1f\\x3e\\x68\\x5b\\xf3\\xb4\\xdd\\xed\\x97\\xc2\\x19\\xe9\\x85\\x5b\\xbe\\xef\\x7a\\xef\\xf0\\x76\\x60\\xdb\\xae\\x37\\x9c\\xfd\\x87\\xab\\x12\\xfc\\x08\\xee\\x07\\xd7\\x05\\xd7\\x9e\\xdf\\xb6\\x72\\xbd\\x98\\x0f\\x82\\xbe\\x87\\x0b\\xe3\\xa8\\x04\\x89\\xe1\\xb9\\x04\\x6b\\x30\\x58\\x48\\x44\\x42\\x43\\x85\\xc2\\x2a\\xab\\xcf\\xda\\xc1\\xb3\\x7a\\xf8\\x87\\xe5\\x7c\\x6e\\xb7\\x8f\\x32\\x58\\x38\\x4b\\xbb\\x98\\xc5\\x12\\x5d\\x0c\\x8c\\xcb\\x9b\\xea\\x96\\x7c\\x56\\xe0\\xa4\\x20\\x90\\x14\\xc9\\xbb\\x28\\x64\\xe3\\x6a\\x1c\\xe4\\x09\\x70\\xcb\\xfa\\x8d\\x77\\x5f\\x41\\x7e\\x87\\x91\\x52\\x9a\\x44\\xa4\\x14\\xc5\\x65\\x85\\xfb\\xc3\\xaf\\xc9\\xd9\\xe0\\x92\\xf5\\xb7\\x76\\xae\\x04\\x8b\\x3e\\x39\\x23\\x0c\\xc4\\xc5\\x77\\xd2\\x15\\xc5\\x53\\x79\\xbe\\x5a\\x68\\x03\\xc3\\x30\\x02\\xe1\\x73\\x95\\x4e\\x5b\\x09\\x74\\x5d\\x8d\\x94\\xbe\\x4a\\x5f\\x19\\xf1\\x6b\\xfc\\xa9\\x60\\xaa\\x95\\x0f\\x72\\x16\\x77\\x33\\x6f\\xb7\\x5b\\x80\\x51\\x83\\x09\\x34\\xbd\\x6c\\x8c\\x8e\\x35\\xf3\\xb4\\xa3\\x08\\xe2\\x59\\x52\\xa8\\x92\\x4f\\xa1\\x70\\x99\\x50\\x3e\\xae\\xa8\\xb3\\xb6\\x9b\\x53\\x81\\x5b\\xe1\\x95\\x97\\x4a\\xd4\\xcb\\x22\\x63\\xad\\x5b\\xa6\\xb2\\xfd\\x29\\xf1\\xfc\\x43\\xc8\\xcd\\xb0\\xfa\\xeb\\x06\\x0c\\x77\\x67\\x1f\\xbf\\x63\\xd9\\xc6\\xce\\x46\\x05\\x9d\\xed\\x52\\x4c\\x60\\xab\\x91\\xfa\\x6d\\x99\\xf6\\x3f\\x7d\\x80\\x6e\\xca\\x96\\x6e\\x14\\xde\\x3e\\xf8\\x64\\xe7\\x04\\x05\\xaf\\x6d\\xd7\\x4f\\x5d\\x41\\xfa\\x67\\xfc\\x9e\\x42\\xc4\\x9c\\x5c\\xef\\x00\\x11\\x0a\\xc1\\x00\\xd7\\x6d\\x36\\x12\\xd0\\x42\\x1a\\xdc\\xb4\\xd3\\x64\\x8a\\x38\\xc3\\x41\\x8f\\xcf\\x03\\x6d\\x85\\x95\\x86\\x2f\\x2e\\x44\\x75\\xf0\\x74\\x88\\x0e\\x39\\x7d\\x94\\xcd\\xed\\x74\\xa3\\x42\\x61\\x27\\x7c\\x73\\xc7\\x6b\\x14\\x78\\x37\\xa9\\x6e\\x3e\\xad\\xb2\\x9e\\x0c\\x03\\xc5\\xf4\\x82\\xef\\x0f\\x0a\\x48\\x41\\x25\\xc0\\x31\\xd8\\x5b\\x8c\\x52\\x0a\\xd0\\x1b\\xea\\x73\\xe1\\x93\\xc3\\x97\\xbc\\xf8\\xd4\\x6b\\xe7\\xfe\\xfc\\x0f\\xe1\\x21\\xe0\\x5b\\xa7\\x15\\x5e\\x10\\xfe\\xf6\\x43\\xf6\\xb8\\xa6\\xf3\\x7d\\xcd\\x43\\xa7\\xf6\\x6a\\xc8\\xde\\x9a\\x77\\x6c\\x54\\xe5\\x8f\\x9d\\xaf\\x3c\\x0a\\xce\\xec\\xd9\\x2e\\x1c\\x1b\\xd7\\xf9\\x06\\xf4\\x10\\xe7\\x09\\xc7\\xf3\\x00\\x38\\x5e\\x44\\xb7\\x4e\\x44\\xa0\\x4e\\xd3\\x42\\x1d\\x50\\x4a\\x8c\\xcc\\xc5\\x63\\x09\\x93\\x39\\x40\\x51\\xe6\\x04\\x55\\xa6\\x75\\x3a\\x53\\x01\\x2d\\x61\\x33\\x9b\\x6d\\x36\\x43\\x3b\\x6f\\xa3\\x13\\x09\\x02\\x57\\xd3\\x59\\x8b\\x4b\\xd9\\x2b\\xb1\\x0d\\x04\\x85\\x24\\x44\\xbe\\x18\\xac\\x4e\\x81\\xd6\\x6d\\x95\\xd5\\xb5\\x51\\x91\\xb4\\x37\\x02\\x70\\xf0\\xc5\\x93\\xbf\\xff\\xc7\\x1f\\x57\\x0d\\xb9\\x65\\xd9\\xa6\\x2b\\x1b\\x07\\x54\\x1f\\xdb\\xf5\\xfc\\xe9\\xc3\\xdf\\x1e\\x7a\\xa0\\x79\\xe5\\x35\\xfc\\xd1\\xaa\\x41\\x03\\xb2\\x13\\xbf\\xb0\\x3d\\xb2\\xf3\\xc9\\x8f\\x06\\xf7\\x1f\\x3d\\x6f\\x74\\xeb\\x94\\x91\\x0f\\x01\\x67\\x6a\\xf3\\xed\\x3b\\x8e\\x0f\\xa9\\x1d\\xb7\\x62\\xc2\\x9c\\x2b\\x87\\x55\\x1d\\x86\\x1e\\x42\\x42\\xcc\\xd3\\x75\\x9d\\x21\\xcf\\x42\\x3d\\x50\\x4e\\x0c\\xc8\\x85\\x35\\xce\\x10\\x41\\x98\\x13\\x4e\\xba\\x22\\x1d\\xd2\\x94\\xd9\\x12\\x89\\xb2\\xb2\\x48\\x33\\x5f\\xe6\\x40\\xc2\\xe8\\x9b\\x79\\x1b\\x77\\x21\\x19\\x0a\\xa9\\xec\\x6c\\xaf\\xfe\\xaa\\xfc\\xad\\x88\\x84\\x62\\x6d\\xc4\\x40\\x2e\\x08\\x27\\x13\\xdb\\xf8\\x58\\x4d\\xeb\\xec\\xcb\\x66\\xb7\\xd6\\x0c\\x1b\\x9e\\x69\\xf7\\x37\\x54\\xc6\\x76\\xcc\\xba\\xe9\\x8e\\x9a\\x96\\x59\\x0b\\x66\\xb5\\xd4\\xec\\xbb\\xfa\\xe2\\xe1\\xe9\\xd2\\xcc\\xe3\\xc3\\x36\\xdd\\xff\\xde\\x45\\x97\\x0d\\x4f\\x85\\x43\\x95\\x23\\xfa\\xf4\\x1e\\xe8\\x72\\x2e\\x38\\x11\\xbc\\x7a\\x56\\xd3\\xac\\x41\\xa5\\xe1\\x50\\xaf\\xa6\\xc6\\x5b\\x07\\xaf\\xf8\\x87\\xc5\\xbf\\x04\\xe5\\xe4\\xcf\\x13\\x04\\xbd\\x13\\xdf\\xed\\x8d\\xc3\\xba\\x81\\x15\\x46\\x83\\xf3\\xcc\\x66\\x42\\x07\\x23\\xc4\\xa1\\xb9\\xb8\\xc6\\x19\\xb1\\x98\\x28\\x7f\\x89\\xdf\\xe4\\xa4\\x53\\xe5\\x84\\xad\\x99\\xb7\\x10\\x44\\xcc\\xe3\\x51\\x41\\x3b\\x03\\xf4\\xf0\\x5c\\x95\\x94\\xe8\\xe5\\x5a\\x56\\x85\\xc7\\x5b\\x94\\x20\\xb6\\xca\\x30\\xf9\\x70\\xf9\\xad\\xa2\\xef\\x55\\x80\\x95\\x90\\x98\\x0f\\x45\\xf1\\x54\\x2f\\xf4\\x9e\\xd4\\xa7\\xa2\\xdf\\xf8\\xfa\\x43\\x4b\\x97\\x19\\x5e\\xce\\xf6\\x1b\\xd9\\xb1\\x61\\xda\\xac\\x45\\x86\\xe3\\xc6\\xf1\\x99\\x78\\x45\\x65\\x74\\x3c\\xdd\\xda\\x56\\x5f\\xde\\x70\\x71\\x5d\\xaa\\xff\\xaf\\x67\\x57\\xdd\\xd4\\x30\\x8c\\x1e\\x11\\x9a\\x39\\xa2\\xfd\\xf6\\xf5\\xcb\\xfb\\x0d\\x3b\\xb7\\x63\\x6c\\xdd\\xad\\xbe\\x05\\xaf\\x59\\xa0\\xaf\\x7c\\x56\\x18\\x8d\\x6b\\x75\\x4a\\x60\\xcc\\x51\\x91\\x88\\xc2\\x08\\xdd\\x63\\x57\\x79\\x54\\xfa\\x58\\xac\\xcc\\xa4\\xd7\\x97\\xfa\\x13\\xd1\\x44\\x33\\x1f\\xce\\x85\\xa2\\x26\\x86\\xb1\\xdb\\xa9\\x16\\xde\\xee\\xd0\\x9a\\x51\\xd0\\xa1\\x55\\x88\\x22\\x16\\x23\\x7b\\x4e\\x28\\x93\\x5d\\x05\\xb6\\xf8\\x42\\x31\\x0e\\x7e\\x27\\xb2\\xdb\\xd5\\x08\\x7e\\x93\\x20\\xd8\\x1a\\xdb\\xb7\\xa6\\x50\\x9d\\x6b\\x0c\\x94\\x5c\\x88\\x2f\\x78\\xee\\x1b\\xaf\\x8a\\xb5\\xb9\\x63\\xd8\\x22\\xe6\\xe0\\xa9\\x78\\x9f\\xd5\\x48\\xb5\\x56\\x0e\\xa2\\x21\\x17\\xa0\\x18\\xce\\xce\\xd8\\x9d\\x7a\\x8d\\xc6\\x25\\xc3\\x5a\\x99\\x1c\\x6a\\x47\\x07\\xaf\\x63\\x18\\xb1\\xa2\\x34\\x53\\xd0\\x77\\x52\\xcd\\x54\\x9e\\x95\\x51\\x56\\xcb\\x52\\x7d\\x94\\x78\\xba\\xc1\\xbd\\x4d\\x73\\xa2\\x48\\x17\\x1f\\xa5\\xa6\\x88\\x95\\x51\\x27\\x4f\\x69\\x3b\\x37\\x69\\xff\\x74\\x92\\xfe\\xb2\\xb2\\x2f\\xbe\\x11\\x39\\x76\\xca\\x72\\x6e\\x1e\\x3e\\xc5\\x9b\\x44\\xce\\x65\\x8a\\x84\\xfa\\x38\\x41\\x8c\\xcd\\x95\\xea\\xd4\\x46\\x63\\xc8\\xa3\\xb1\\x79\\xa8\\x24\\x59\\xb8\\x95\\x02\\x56\\xab\\xd3\\x69\\x6e\\xe1\\x9d\\x0e\\xbf\\x0e\\xb5\\xd7\\x85\\xd4\\x26\\xa2\\x31\\x53\\x5c\\xf0\\x5d\\x59\\x7c\\xdb\\xa6\\xbc\\x96\\xc2\\x0b\\x28\\x15\\x72\\xe6\\x79\\x8d\\xe5\\x7c\\x16\\xf9\\x31\\xd6\\xb1\\x43\\x3d\\x5e\\xbc\\x80\\x78\\x95\\x33\\x57\\x8f\\x15\\xd7\\xf5\\x26\\x03\\x56\\xc3\\xf4\\x5b\\x8b\\xec\\x8b\\xef\\xbd\\x0f\\x2d\\x61\\x12\\x2d\\x70\\x2c\\x23\\xad\\x6b\\x62\\x18\\xd4\\xbb\\xa8\\x7e\\x4d\\x18\\x85\\xd7\\x34\\x08\\x65\\x48\\xfa\\x02\\x2a\\x8d\\xc6\\xed\\x30\\x98\\x4c\\x8e\\x00\\x15\\xa2\\xa0\\xd2\\x21\\x03\\x81\\xa0\\x0a\\xdf\\xec\\x04\\x29\\xa3\\xd1\\x62\\xd1\\x75\\xf0\\x16\\x6f\\xd1\\x09\\x46\\x65\\x69\\x19\\xa5\\x12\\xca\\xc7\\x1c\\xe2\\xda\\x16\\x36\\x77\\x34\\x82\\xf2\\xbe\\x59\\x29\\xb9\\x4e\\x9f\\x11\\xd7\\xf8\\xac\\x6a\\xe1\\xc4\\xea\\xec\\xc0\\x54\\xdb\\x4d\\x17\\xdd\\x34\\x42\\xff\\x91\\x58\\x9a\\xc6\\x34\\xa0\\xa5\\x3e\\x7b\\x4d\\xd4\\x7f\\x43\\xf5\\x9a\\x9f\\x02\\xa3\\xd7\\xcd\\xad\\x1f\\x4e\\x7f\\x88\\x0a\\xd3\\xd0\\x3e\\x40\\x75\\x44\\xaf\\x41\\x3f\\x37\\x4d\\x8c\\xcb\\x25\\x22\\xf1\\xb8\\xdf\\x63\\x05\\x20\\x45\\x78\\x88\\x0a\\x0d\\x6d\\x32\\x55\\xa6\\x22\\xfe\\x20\\x74\\x9e\\x80\\x15\\xfe\\x01\\xce\\xb4\\x3e\\x48\\x39\\x93\\xcf\\x00\\xf7\\x93\\xbc\\x53\\x76\\x77\\xf3\\x57\\x51\\x99\\xee\\x4e\\xa1\\x34\\xf5\\x62\\x4f\\x17\\x71\\x04\\x4a\\x8e\\x89\\x9c\\x7c\\xc3\\x3c\\x41\\x38\\xca\\x60\\x6e\\xcf\\x76\\x5c\\x2b\\x79\\x83\\x1d\\xf7\\xaf\\x1c\\x5f\\x22\\xbc\\x7d\\xe6\\x9b\\x1f\\xb5\\x77\\xee\\xd1\\x90\\x2e\\xcd\\xc1\\x75\\x5a\\x50\\xfe\\xc2\\x0f\\xfe\\x3b\\xf6\\x6b\\xa0\\x48\\x6f\\xb8\\x2f\\xae\\xce\\x7b\\x84\\x23\\xee\\x9d\\x53\\x22\\x38\\xbf\\x3c\\xff\\xfc\\xa1\\x6c\\x0d\\x55\\x8a\\xb3\\x55\\x1f\\xd5\\x55\\x09\\xbf\\x1e\\x7d\\x14\\xfd\\x1f\\xde\\xef\\xa8\\xf6\\xe9\\x33\\xe8\\xf3\\x96\\x13\\x53\\x73\\xd5\\x65\\xd0\\xdf\\x8d\\x05\\x58\\xd6\\xad\\x8e\\xa9\\xd3\\x9c\\xce\\xe1\\xa8\\xd0\\x40\\x43\\x1f\\xd0\\x04\\x34\\xfe\\xd2\\xd2\\x64\\x13\\x6f\\x2d\\x35\\x85\\x61\\x24\\x12\\x76\\x88\\xe8\\xef\\x05\\xda\\xec\\xbc\\x0f\\x8c\\xba\\x48\\x7a\\x78\\xc1\\x19\\xb3\\x92\\x40\\x9b\\x2d\\xf6\\x80\\xd9\\xff\\x45\\xa8\\x1d\\x3d\\x22\\x49\\x7d\\x64\\xcf\\xec\\xdf\\xe4\\xd6\\x3e\\x36\\x60\\x5c\\x5e\\xe2\\xd9\\x6f\\xd4\\x76\\xee\\xef\\x41\\xb5\\x0d\\xe5\\xbc\\xbb\\xeb\\x07\\xe6\\x1f\\x70\\x0f\\x96\\x11\\x1d\\xb9\\x1a\\xca\\x62\\x64\\xfd\\xb1\\x50\\xa4\\xc4\\xed\\x8e\\xc4\\x58\\x0b\\x93\\xd2\\xa9\\xd5\\xe5\\xda\\x48\\x24\\x6a\\xf4\\x47\\xfd\\xd3\\x78\\x55\\xdc\\x07\\xe3\\x17\\x93\\xcf\\xe7\\x80\\x47\\xc3\\x41\\xc0\\x50\\xc6\\x92\\xcf\\x32\\x56\\x16\\xd5\\x4a\\x66\\x8a\\x2d\\xa3\\xb8\\x2b\\xe3\\x35\\x16\\xe8\\xa6\\x25\\x51\\x65\\x64\\x12\\xee\\x4e\\x7c\\x9f\\x85\\x59\\x5f\\x6a\\x7b\\x11\\x8d\\x40\\xae\\x9a\\x14\\xcb\\xc4\\x0f\\x7d\\xde\\x79\\xcb\\xb2\\x30\\x59\\x99\\x1c\\x18\\x6a\\x7e\\x61\\xb8\\x7a\\xe7\\x2b\\x8f\\x08\\xc7\\x4f\\x76\\x0a\\x9f\\x02\\xfb\\x7f\\x7c\\x7d\\xdf\\x1c\\xd7\\x3a\\x70\\x0c\\x59\\x79\\xf1\\x2b\\x6f\\x1f\\x18\\x00\\xe2\\x80\\x7e\\xe0\\x85\\x00\\xb8\\x58\\x38\\xb2\\x9e\\xbb\\xbc\\xe4\\xe7\\xbd\\xcf\\x0b\\x5f\\xde\\xf3\\xc3\\x1f\\x3b\\xc1\\xf0\\xe4\\xe5\\xdc\\x7a\\x30\\x52\\xd8\\xe7\\x17\\xfe\\xf1\\xd3\\x91\\x63\\xd2\\xde\\x65\\xa6\\x31\\x2d\\x50\\x37\\x5f\\x94\\x8b\\xeb\\x8c\\x46\\x15\\xe5\\xf5\\x5b\\x1d\\x8e\\x44\\x34\\xea\\xa7\\xa8\\xd2\\x32\\xbf\\x3f\\x14\\x72\\x41\\x3f\\x86\\xd6\\xa9\\xd4\\xaa\\x76\\x1e\\x2a\\x32\\x0e\\x6f\\xdd\\x42\\x35\\x41\\x11\\x4b\\x87\\xb3\\x10\\x5d\\x16\\x8c\\x7f\\xf7\\x3d\\x5a\\x87\\x38\\x21\\x14\\xe6\\x14\\x6d\\x66\\x72\\x4f\\xf1\\x1e\\x7d\\xf1\\x5f\\xfe\\xcb\\x55\\x97\\x06\\x1b\\xed\\x7d\\x47\\xa7\\xda\\xe7\\x2d\\xee\\xd0\\xcd\\x82\\xfb\\xd8\\xd6\\x73\\x6f\\x92\\x57\\xc7\\x02\\xd7\\x05\\xac\\xf0\\x4c\\xce\\xbc\\xa4\\x74\\x68\\xe7\\xa1\\x2f\\xcf\\x43\\x99\\x50\\x4d\\xda\\xd3\\xd0\\x8f\\x41\\x7c\\x04\\x46\\x87\\xd9\\xa9\\xe1\\xcc\\x5c\\x80\\xf4\\xfb\\x83\\x5e\\x1a\\x35\\xc1\\x78\\x78\\x82\\xf0\\x52\\x66\\x87\\xd5\\xd1\\xce\\xc3\\x9f\\x69\\x0c\\x56\\x4a\\x6b\\x32\\x98\\xa0\\xcf\\xa6\\x04\\x22\\x94\\xfb\\x8a\\xf3\\xea\\xb0\\xbe\\xf8\\x92\\x1e\\x1e\\x42\\x59\\x51\\xcb\\x84\\x8c\\x58\\x0b\\x32\\x6b\\x07\\xaa\\xbc\\x75\\x55\\x7d\\x72\\x51\\xe1\\xf6\\x26\\x51\\x5f\\x8f\\xfd\\xfb\\x46\\x2d\\x19\\xd5\\xbe\\xfc\\x3c\\x18\\xdc\\xb8\\x75\\xd6\\xb8\\xd1\\x74\\x9f\\xcd\\x36\\x5f\\x63\\x6d\\xe7\\xb3\\x42\\x0e\\xa3\\x23\\x3f\\x4b\\x7e\\x81\\x99\\x17\\xd7\\x91\\xcc\\x25\\xb3\\xbc\\x62\\x3e\\x72\\x9c\\x30\\x94\\xf9\\x9c\\x59\\x07\\x7d\\xeb\\x21\\xb9\\x68\\x00\\x25\\x47\\x49\\x97\\xdd\\x1e\\x65\\x48\\x32\\x82\\x48\\xb7\\x1d\\x0e\\x2b\\x61\\x0a\\x04\\x08\\x83\\x89\\x60\\x5b\\x78\\x0a\\x5d\\xa4\\xd6\\x88\\x45\\x31\\xe6\\x4c\\x7e\\xca\\xf9\\x3a\\x5c\\x38\\x69\\x4a\\x49\\xa6\\x9d\\x0d\\x4b\\x93\\x95\\xdd\\x68\\x60\\x24\\x1d\\x98\\x4f\\xdb\\xd3\\x1b\\xf3\\x69\\xab\\x01\\xb1\\x81\\xac\\x19\\xb1\\x67\\xce\\xc5\\xfd\\x62\\x95\\x36\\x5f\\xf9\\x90\\x39\\x55\\x9d\\xfc\\x82\\x5b\\x57\\x0a\\x43\\x0b\\xa4\\xda\\xe9\\xce\\x18\\x75\\xfc\\xfa\\x6b\\xac\\x7f\\xb8\\xdc\\xd6\\xda\\x76\\x6e\\xc1\\x73\\x0f\\x37\\xa3\\xfd\\x84\\xeb\\xe5\\x30\\x9f\\xec\\x25\\xb9\\x5a\\xd4\\x55\\x66\\x30\\x9b\\xdd\\xac\\xc6\\xee\\x74\\x1a\\x35\\xc0\\xcd\\x78\\x75\\x3a\\x9f\\xc7\\xec\\x36\\xc3\\x08\\x06\\x90\\x00\\x2e\\x39\\x49\\xba\\xb5\\x0e\\x87\\xdb\\xa2\\xa7\\xb5\\xa8\\x0e\\x4b\\xa3\\xc5\\xa6\\x52\\x19\\xda\\x14\\xe5\\x7c\\x8b\\xd3\\x65\\x22\\x11\\x4c\\x58\\x3e\\x27\\x2c\\x08\\x43\\xe7\\x58\\xa2\\x86\\x08\\x67\\xc1\\x69\\xe1\\x2f\\x26\\xd0\\x06\\x96\\xbd\\xfe\\x4b\\xfb\\xe0\\x21\\xbd\\xa9\\x39\\x9c\\x70\\x1b\\x88\\x98\\x84\\x27\\x84\\xa6\\xef\\x97\\xfe\\xb7\\x7c\\xf6\\xd0\\x29\\xe7\\x33\\x66\\x72\\x4b\\x1b\\x38\\x6b\\x3b\\x0d\\x1a\\xc6\\x0b\\xaa\\xb6\\xce\\xe7\\x9c\\x5a\\x40\\x08\\x6b\\xa6\\x8a\\xef\\x40\\xe6\\x0c\\xc7\\xb2\\xb0\\x1a\\x9b\\xc3\\x43\\x51\\xd0\\xd3\\x77\\x68\\x60\\xb8\\xe6\\x83\\x72\\xb9\\x5c\\x5e\\xb7\\xd9\\x05\\x3d\\x15\\x0e\\x0a\\x0e\\xfd\\x15\\x00\\x5c\\x5a\\xbb\\xdd\\x65\\xd7\\x53\\x5a\\xaa\\x19\\xc9\\x62\\xfa\\x9f\\xb2\\x74\\xf3\\xf6\\x51\\x93\\x6b\\xd8\\x9a\\xe7\\x0a\\xa7\\x32\\x6c\\x98\\xc2\\x96\\x0a\\x89\\x92\\x36\\x01\\xf2\\x9f\\x0a\\xca\\xf0\\x0f\\x4c\\x82\\x70\\xee\\xd8\\x35\\xa3\\x46\\x57\\x0e\\xef\\x9c\\xa9\\x01\\x16\\xf0\\x6c\\x1b\\x18\\x8b\\xc9\\xc3\\x85\\x8d\\x6d\\xc2\\x3d\\x95\\x1b\\x85\\xef\\xd2\\x60\\x1d\\x94\\xe1\\x01\\x61\\x08\\xdd\\x04\\xdf\\x47\\x98\\x68\\xce\\x95\\xda\\x9d\\x5e\\x4e\\x1f\\xb0\\xb8\\xdd\\x01\\xce\\x49\\x47\\x55\\x14\\x15\\xf1\\x58\\x5c\\x96\\x0e\\xde\\xcb\\x71\\x84\\xcb\\xe9\\x74\\x51\\x84\\xa6\\x1d\\x75\\x82\\xf9\\xe4\\x4e\\x30\\xc5\\xac\\xbb\\x6b\\x2f\\xf9\\x62\\x9e\\x45\\x37\\x8a\\x04\\x8e\\x35\\xb3\\x85\\x17\\x21\\xea\\x31\\x50\\x32\\xe3\\xd4\\xb8\\xcc\\x20\\x6d\\x74\\xd3\\xac\\xbf\\x03\\xfa\\x77\\x87\\x2f\\x37\\x90\\xdc\\xa3\\x9f\\xf1\\x83\\xe0\\xcb\\xa8\\x36\\x75\\x7e\\xfd\\xc1\\xe7\\x8f\\x0a\\x2f\\x09\\x43\\x22\\x01\\xd0\\xf7\\x8d\\x92\\x7e\\xa0\\x1e\\xf8\\x8e\\x3c\\x3f\\x96\\x6c\\xb4\\xbf\\x0b\\x1a\\x5a\\x3b\\x9f\\x33\\xfd\\xeb\\xcd\\xd7\\x85\\x53\\xbb\\xe0\\xd2\\x6a\\xa1\\x0c\\x37\\x61\\x9f\\xa0\\x29\\x57\\x62\\xa7\\x4c\\xac\\x8a\\xf3\\xfa\\xfd\\x1c\\x4b\\xd1\\x21\\xe8\\x6e\\x85\\x55\\x66\\x33\\x81\\xbb\\x77\\x50\\xeb\\x8e\\xcf\\x47\\x10\\xae\\x76\\xb1\\xb2\\xa0\\xe0\\xcf\\x88\\x7e\\xf0\\x85\\x44\\x88\\xd5\\x72\\x44\\x1c\\xc8\\x80\\xdc\\x80\\x8d\\xa2\\x3a\\x95\\x7c\\x29\\x11\\x09\\xbe\\x17\\x7e\\x05\\xe3\\x41\\x4a\\x38\\x62\\xa2\\xaa\\x7b\\x0f\\x61\\xdb\\x3e\\x79\\x14\\x0c\\x31\\x5e\\x2e\\x9c\\x13\\xbe\\xde\\xb3\\xad\\x63\\x7f\\xa6\\x61\\x50\\xbf\\x77\\x84\\x21\\x67\\xfe\\x08\\x3d\\xab\\x59\\x36\\x72\\x48\\xab\\xf0\\xca\\xbb\\xf6\\xce\\x97\\xc6\\x0a\\xaf\\x08\\x7f\\x79\\xea\\xa9\\xfa\\xd4\\x1b\\xc2\\xb1\\x9c\\x98\\xb3\\x8b\\x09\\x43\\xa8\\xc7\\xe1\\x5e\\x0a\\xa0\\x7b\\x0f\\x07\\xc5\\xb1\\x2a\\xb3\\xdf\\x0c\\x25\\x08\\x42\\x09\\x42\\x2a\\x8b\\x05\\x4a\\xc0\\x35\\xf3\\x5a\\xad\\xda\\x84\\x24\\x70\\xb7\\xfc\\x5f\\x24\\x90\\x48\\xdc\\xeb\\xb2\\x08\\xbe\\x01\\xdf\\x19\\x84\\x31\\x85\\xbb\\x74\\x2f\\xe7\\x54\\x81\\x47\\x9f\\x7b\\xfb\\x0f\\xaf\\x0b\\xdf\\xaa\\x49\\xa1\\xbc\\x92\\xb5\\xcc\\xaa\\x15\\x3e\\x04\\x2a\\x75\\x6c\\xff\\x6b\\xd7\\x2c\\x19\\x7d\\xe3\\x44\\xff\\x11\\x61\\xc8\\x89\\xc3\\x47\\xfe\\x55\\x01\\x3e\\xad\\x3e\\x7b\\x1b\\x67\\x15\\x2a\\xd3\\x7f\\x7e\\x6e\\xed\\xfa\\x40\\x45\\xe5\\x4a\\x71\\xff\\x7f\\x06\\xe7\\x7c\\x14\\xce\\x39\\x85\\xb0\\x31\\xad\\x76\\xb7\\x41\\xe3\\xf3\\x95\\x19\\xec\\x34\\x65\\x72\\x3a\\xd3\\x51\\x8a\\x2a\\x77\\x99\\x1c\\x26\\xe8\\x43\\xaa\\xdc\\x2a\\x83\\x81\\x70\\xd8\\xed\\x0e\\x53\\x69\\x29\\x41\\xc4\\xbb\\x4d\\x1e\\x6d\\xa1\\xfa\\x8c\\xf9\\x82\\xd7\\xd4\\x0a\\x21\\x70\\x66\\x0b\\x6d\\xa2\\x70\\x9e\\x2e\\x5f\\xac\\xee\\x60\\xf3\\x59\\x61\\x28\\xd1\\x8c\\xd7\\x9e\\xfd\\xf3\\x07\\x57\\x2f\\x5a\\xbe\\x74\\xa8\\x1a\\xdc\\x26\\x7c\\xd1\\x7b\\xbe\\x23\\x5b\\x59\\x4e\\x0a\\x1a\\x61\\xc1\\xca\\xdb\\x87\\xac\\xba\\xef\\xbe\\xbb\\xcf\\xd4\\x77\\xb4\\xb5\\xfa\\x5f\\x15\\x86\\x6c\\xb8\\x69\\xc7\\x73\\x0e\\xfd\\xf0\\xb1\\x8d\\xd9\\x34\\x68\\x12\\x8f\\xc6\\xc3\\xa6\\xc9\\x23\\x06\\x8f\\xcf\\x58\\x2c\\xb7\\xaf\\x7a\\x9e\\xf3\\x95\\x55\\xde\\x29\\xbe\\x1b\\x00\\xcf\\xf9\\x69\\x68\\x2f\\xa2\\xc4\\x84\\x5c\\x2a\\x02\\xcc\\x56\\x9d\\xdb\\xed\\xf3\\x46\\x03\\x1a\\x95\\x95\\x05\\xda\\x58\\x3c\\x80\\x2f\\xa5\\xbc\\x6a\\x35\\x70\\x58\\xa1\\x6d\\x34\\x42\\x23\\x4f\\x93\\x11\\x10\\x79\\x06\\x78\\x9e\\xe4\\x81\\xa5\\x3b\\x57\\x55\\x7d\\x65\\xf7\\xd6\\x30\\x54\\xd1\\x81\\xc8\\x90\\xb2\\x50\\x59\\xd5\\x29\\x6a\\xec\\x44\\xf3\\x07\\x9d\\x6a\\x74\\x09\\x1c\\xa6\\x6a\\xcf\\xbf\\xed\\x79\\xf5\\xc0\\x3b\\x0d\\x42\\x3f\\x13\\xf8\\xb6\\xf5\\xca\\x2b\\xb2\\xcb\\x4a\\x73\\x03\\xd3\\x2f\\xdc\\xf0\\xec\\xeb\\x33\\xa6\\x99\\xee\\x1a\\xf8\\xe1\\xc1\\x17\\xc8\\x47\\x36\\xde\\x79\\xfd\\xc1\\xb1\\xad\\x77\\x3e\\x36\\x7f\\x5a\\xd0\\xf1\\x10\\x20\\x53\\x9b\\x57\\xef\\xbb\\xab\\x75\\xcc\\x81\\xeb\\x11\\xaf\\x31\\xea\\xed\\xe7\\x30\\x76\\x49\\x7b\\xae\\x86\\x21\\x7d\\x66\\xaf\\x45\\x17\\x0e\\x5b\\xcc\\x56\\x92\\x89\\x41\\xe3\\x11\\x37\\x1b\\x03\\x70\\xee\\xd0\\x6a\\xd8\\x6c\\xde\\x25\\xa8\\x01\\x02\\xb5\\x2e\\xdb\\x28\\x54\\x1d\\x48\\x51\\xdd\\xda\\x3f\\x2b\\x95\\x80\\x48\\x3d\\xce\\x0d\\xae\\x19\\x74\\x16\\xd8\\x99\\x59\\xf1\\x26\\x51\\xf4\\xb0\\x45\\xb1\\x68\\x30\\xf7\\xe8\\xba\\xe4\\x40\\x7d\\x62\\x59\\xdd\\x5b\\x4f\\x2c\\x9a\\x3f\\x79\\x6c\\xc7\\xec\\xbd\\x1a\\x6a\\xcc\\xa0\\x81\\xaa\\x05\\xef\\xef\\x1c\\x35\\x67\\xee\\xbe\\x67\\x85\\x8f\\x6d\\x29\\xe0\\x79\\xde\\x15\\x78\\xf6\\xf8\\x55\\xab\\x5c\\xe4\\x48\\x4f\\xad\\x70\\xe3\\x9f\\x8c\\x42\\x9b\\xeb\\xa9\\x6d\\x5f\\xfe\\x80\\xf6\\xdf\\x9b\\x30\\x9e\\x09\\xc3\\xfd\\x17\\x26\\xa6\\xe7\\x32\\x1e\\x93\\x9b\\xd3\\x06\\x83\\x9c\\xc9\\x4c\\x93\\xf0\\x35\\x60\\x4b\\x68\\xd4\\xfb\\x60\\x08\\x0f\\x0f\\x8c\\xc5\\xe2\\x6e\\xe5\\xa1\\x38\\x16\\xae\\x85\\xb7\\x40\\x93\\xd8\\x8c\\x04\\x72\\xfc\\x6f\\x81\\xba\\xed\\x42\\x67\\x3e\\x68\\x44\\xee\\x89\\x2c\\x10\\x76\\xca\\x24\\xef\\xf3\\xfb\\xcd\\x77\\x94\\xa6\\xcd\\x83\\x56\\xae\\xd9\\xf6\\xe1\\xd8\\x31\\x43\\x06\\xac\\xd7\\x93\\x9d\\x7d\\x07\\x82\\xf9\\xef\\xcf\\x4a\\x8d\\x9b\\x78\\xdf\\x63\\x3f\\xdb\\xfa\\x7f\\xb6\\x7a\\xf8\\x0d\\x2b\\x1f\\xe1\\xc0\\xa2\\x48\\x4e\\x38\\xfc\\x84\\xf1\\xdf\\xe6\\x15\\x4b\\x1e\\x7a\\x12\\xf1\\x23\\x75\\x9d\\x21\\xe7\\xc3\\xf8\\x37\\x46\\x04\\x73\\x9c\\xd5\\xdb\\xcc\\x43\\xd7\\x83\\xd0\\xa8\\x34\\x70\\x96\\x2a\\xb3\\xa2\\x8a\\x0e\\x5a\\x00\\x39\\x4c\\x45\\x67\\x18\\xc1\\x03\\x73\\xe1\\x48\\x11\\x38\\x30\\x3c\\x29\\xef\\xe7\\x83\\x54\\xae\\x7e\\x78\\x2e\\x27\\x3c\\x79\\xdb\\x75\\xf1\\x2a\\x93\\x6b\\x5c\\xdd\\xa8\\x49\\x0d\\x43\\x6f\\xa1\\x26\\xe0\\x10\\x75\\x86\\xb3\\x7e\\xfa\\xc0\\x7e\\xcb\\xc7\\x08\\xff\\x86\\xb3\\xf2\\x95\\x8f\\x1d\\x99\\xbd\\x64\\xe0\\xb5\\x1b\\x22\\x22\\x9e\\xc3\\x72\\x61\\x34\\xf5\\x2d\\x75\\x8c\\xe0\\xa0\\x65\\xcb\\xe5\\x42\\x66\\x35\\xdc\\xff\\x36\\x03\\x65\\x00\\x3e\\xe0\\xe5\\xcc\\x76\\xb5\\x53\\xeb\\x6c\\xe1\\xb5\\x9c\\x88\\x84\\x01\\xbc\\x45\\x57\\x08\\x85\\x0b\\x1d\\xe9\\x7e\\xd9\\x2a\\x37\\xf9\\x8a\\xab\\x44\\x30\\xd9\\x18\\x21\\xa5\\xe2\\x1e\\x14\\xfe\\xa2\\xbe\\xf9\\x2f\\xcb\\xd5\\x20\\x15\\xdb\\x7f\\xea\\xaa\\x15\\xc2\\x4d\\xc2\\x22\\x03\\x54\\x94\\x99\\xb6\\x61\\x0d\\x77\\x5c\\x25\\x8c\\x4e\\xbb\\xe9\\xf7\\xdc\\xe9\\x37\\x3e\\xdb\\x76\\xa3\\x20\\xac\\x5e\\x3e\\x6c\\x3e\\x18\\x7f\\x6a\\xf2\\xbc\\x31\\x97\\x89\\x67\\xf2\\x3e\\xf8\\xb7\\x80\\xb9\\xa7\\x6d\\x4f\\x23\\x0c\\x36\\x06\\xd7\\x4f\\x9d\\x90\\xd9\\xa8\\x32\\x51\\x73\\x46\\x98\\x3e\\x1d\\x3e\\x40\\x90\\xc4\\x2a\\xf8\\x0b\\x4f\\x4b\\x3c\\xd5\\xc1\\x9c\\x81\\x66\\x00\\xc1\\x10\\x6a\\x0d\\xa9\\x02\\x88\\xd1\\x21\\x73\\xa2\\x26\\x0f\\xc9\\x8b\\x6e\\x26\\xcd\\x19\\x0a\\xfe\\x01\\x4f\\x4f\\x9f\\x7e\\x02\\x0d\\x70\\x76\\x31\\xfc\\x4d\\x40\\x18\\xe0\\x18\\x3f\\xc0\\xaf\\xac\\xc8\\xc6\\x68\\x18\\x8b\\x91\\x24\\x75\\x2c\\xc5\\xc1\\x95\\x61\\x28\\x9b\\xdd\\xac\\xd1\\x42\\xcb\\x68\\xd4\\x02\\x46\\xc5\\xb4\\xf3\\x16\\x95\\x16\\xfe\\xab\\x47\\x37\\xd3\\xc7\\x45\\x7e\\x7b\\x05\\x15\\x44\\x3e\\xd5\\x92\\x8f\\xde\\x30\\x35\\x54\\x6d\\xa6\\x16\\xfe\\x41\\x3f\\xb0\\x47\\xed\\x19\\xf0\\xc3\\x4b\\xd3\\x5f\\x82\\xff\\xa0\\xbf\\xc0\\x7f\\x05\\x0d\\xf8\\x6f\\xdb\\x91\\x36\\xb2\\x77\\xe7\\xeb\\x6d\\x47\\xba\\xba\\x88\\xed\\x5d\\x9f\\x93\\xcd\\xb8\\x2e\\x93\\x96\\xeb\\x34\\xb5\\xa3\\x54\\x1f\\x73\\x18\\x67\\x8d\\x4b\\x12\\x0d\\xcc\\x6b\\x62\\x2f\\x82\\xea\\x3b\\x30\\x96\\x50\\x3f\\x45\\x55\\x33\\x09\\x42\\xec\\x7d\\x43\\xcf\\x6a\\x00\\xb3\\x3e\\xff\\xec\\x14\\xf4\\x2c\\x07\\x9f\\x65\\x7e\\x91\\x31\\xd8\\xd8\\x3e\\xf8\\xe7\\xc3\\xc4\\x9f\\xd3\\x84\\xf8\\x73\\xba\\x5a\\xac\\x2d\\xef\\x3a\\xa3\\x16\\x31\\x4c\\x30\\x76\\x02\\x91\\xa6\\x17\\xcb\\xf8\\x0e\\xaa\\x1b\\x30\\x1e\\x89\\xf8\\xfd\\x31\\xf4\\x52\\x11\\x97\\x41\\x18\\x4d\\x0f\\x96\\x71\\x19\\xd0\\xf7\\xc9\\x06\\xb1\\x6f\\xbe\\xeb\\x8c\\x26\\x83\\xc7\\xa9\\x16\\xc7\\x61\\xc6\\xcb\\xfd\\xf8\\xec\\x34\\x3c\\x8e\\xf8\\xfd\\x31\\xcc\\x44\\xb1\\x6f\\x1e\\x8e\\xaf\\xc3\\xdf\\x6f\\x91\\xc6\\xa7\\x0b\\x58\\x83\\x6c\\x49\\x1e\\x13\\x70\\x35\\x58\\x04\\x36\\x43\\x99\\x49\\x77\\x5e\\x66\\x8c\\x2f\\xf8\\x7b\\x05\\xd6\\xf4\\x6a\\xe2\\x10\\x14\\x0a\\x3e\\x13\\x37\\xe7\\xd7\\x05\\x61\\xdd\\xf0\\x78\\x9c\\x72\\xe9\\x99\\x66\\x3c\\x0e\\xb0\\x14\\xc6\\x41\\xb5\\x0a\\xaf\\x2a\\xf0\\x7e\\x57\\x3f\\x87\\x46\\x01\\x46\\x3c\\x8a\\x7c\\xbf\\x85\\xc7\\xa8\\x91\\xe6\\xf2\\xb5\\x38\\x97\\x98\\x72\\x2e\\x67\\xa8\\xd7\\x14\\xf8\\xb3\\xab\\x89\\xa3\\xe2\\x5c\\x22\\xf9\\xb9\\x48\\x3d\\x4d\\x25\\xf9\\xbe\\x23\\x84\\xc7\\x87\\xe7\\x12\\x2d\\x8c\\xd3\\x1d\\x7f\\x74\\x35\\xf1\\x08\\x1e\\x07\\xf4\\x18\\x27\\x2c\\x8f\\xa3\\xc9\\x50\\x23\\xe0\\x33\\xfa\\xc3\\x14\\x09\\xaa\\xf0\\x48\\xb5\\x85\\xb1\\x4e\\x32\\x8f\\x8a\\x63\\xc1\\x15\\x9e\\x7b\\xf5\\xb3\\xb8\\x93\\xeb\\x11\\xe2\\x30\\x11\\xc8\\xe9\\xa8\\x60\\x2d\\x30\\xd5\\x82\\x5a\\x12\\x04\\x51\\x7d\\x96\\xce\\x38\\x3c\\x48\\x98\\x53\\xb5\\x12\\xce\\x40\\xcf\\x1e\\x2c\\x4d\\x2f\\xaa\\x0c\\x24\\xc4\\xcf\\xe9\\xdd\\xed\\x73\\x68\\xa0\\xda\\xa7\\xfc\\x1c\\x0e\\x75\\xf7\\xf4\\x05\\x9e\\x0b\\x8e\\x53\\x4b\\xdd\\x21\\x8f\\x53\\xde\\x7d\\xbe\\xaf\\xaa\\xb6\\x77\\x9b\\xef\\x6a\\xe2\\x39\\x60\\x24\\x12\\x39\\x33\\x75\\x67\\x2d\\xa8\\xac\\x05\\xbf\\x3d\\xeb\\xdf\\x9a\\x77\\x1d\\xb5\\x57\\xfe\\xbc\\x9a\\xee\\x9f\\x77\\x44\\xf5\\x48\\xf1\\xe7\\x11\\x83\\x88\\x52\\xa8\\xfb\\xcc\\x4f\\x76\\xff\\x00\\xb1\\xde\\xb5\\x02\\xbe\\xe7\\xb1\\x50\\x87\\xba\\x88\\x08\\xd1\\x98\\x8b\\xf8\\x08\\xc6\\x62\\xa1\\xdd\\x7a\\x82\\x89\\xc6\\x68\\x37\\x42\\x0c\\x77\\x98\\x1c\\x41\\xd4\\x65\\xa8\\x33\\x99\\xd4\\x2d\\xbc\\xa9\\xd0\\x71\\x51\\x68\\x9d\\x2e\\xe4\\x98\\xeb\\x62\\x8d\\xd2\\x5d\\x6c\\x52\\x2e\\x6d\\x45\\x89\\x4b\\x90\\x07\\x69\\xae\\xd8\\x02\\xbc\\x4f\\xd3\\xf3\\xe6\\x4c\\xdc\\x3c\\xd0\\x3f\\xf9\\xc4\\xe4\\x5d\\xfb\\xd7\\x9d\\x5d\\x7d\\xed\\x26\\x72\\xc6\\xf1\\xef\\x1a\\xfa\\x0c\\xbd\\xa5\\xe3\\x77\\xfc\\xbd\\xed\\xfa\\x11\\xcb\\x6f\\x6a\\x48\\x96\\x8d\\x6d\\x3b\\xbc\\x6f\\x8f\\xf0\\xb7\\xa7\\x16\\x82\\xab\\x8d\\xf7\\x2f\\xac\\x1f\\xb6\\xe8\\x45\\xc5\\x39\\x0a\\xcb\\xe7\\x48\\x93\\x21\\x9f\\xc6\\x7b\\x85\\xa6\\xc8\\x84\\x72\\x2d\\xd0\\x59\\xfa\\x11\\xef\\x95\\xc1\\x58\\x3f\\xcc\\x25\\x1e\\xec\\x12\\x77\\xcb\\x09\\x71\\xb7\\xd0\\xc1\\x2c\\x30\\x41\\x8f\\x93\\x22\\x7b\\xee\\x96\\x0b\\x7c\\x4e\\x96\\x44\\xd8\\xfa\\xda\\x43\\x14\\xe9\\x11\\x3f\\x46\\xfa\\x8c\\x2e\\xe6\\x5b\\xf9\\x33\\x10\\x76\\x5c\\xd7\\x0b\\xf8\\x33\\xfe\\x4c\\xfc\\x97\\x30\\x1d\\x24\\x23\\x78\\x64\\x6e\\x78\\x04\\x8d\\x2c\\xd6\\xaa\\x63\\x7e\\x20\\x55\\x15\\xfc\\x9d\\x55\\x62\\x1f\\x22\\xf9\\x3d\\xe8\\x83\\xce\\x55\\x59\\xe1\\xcc\\x60\\x3c\\x77\\xdc\\xab\\xb8\\x57\\xea\\x6d\\xbc\\x08\\x9f\\x19\\xaa\\xbf\\x74\\x66\\xc4\\x9a\\x39\\x84\\x47\\x47\\x94\\x22\\x1f\\xc9\\x67\\xa0\\x54\\xaa\\x44\\x14\\xb9\\x13\\x31\\x03\\x5d\\x96\\x52\\xc5\\xe2\\x31\\xe8\\x0b\\xc5\\xc9\\x64\\x69\\xb2\\x9d\\x8f\\x97\\xc6\\x4b\\xb5\\x30\\xca\\x6b\\xe7\\xed\\x76\\x33\\xad\\x0d\\xe2\\x9b\\x4f\\x31\\xb7\\x53\\xa9\\x48\\x60\\xf5\\xd4\\xfc\\x72\\x19\\x00\\x02\\x59\\x63\\xf3\\x65\\x71\\xb8\\xbe\\x54\\x59\\x38\\xd7\\x08\\x44\\x20\\x49\\x66\\x9b\\x66\\x95\\x67\\x85\\x69\\x45\\xa4\\x50\\x11\\xf7\\xf3\\x3f\\x3e\\xcc\\x14\\x15\\xcd\\x39\\x84\\x7f\\x9b\\x80\\xc1\\xb3\\x47\\x43\\x8e\\xac\\xf3\\xac\\x6f\\x7b\\x31\\x5f\\x13\\xd7\\x4f\\xf8\\xa4\\x50\\x31\\x77\\x7d\\xdb\\x7a\\x4f\\x9d\\xb8\\x3f\\x31\\x9e\\x1e\\xf5\\x2a\\x7c\\x0b\\x35\\xc4\\xcc\\x5c\\x6d\\x95\\xd6\\xe6\\x74\\x92\\xb1\\x52\\xb3\\x99\\x8e\\x11\\x5a\\xa6\\x57\\xc8\\xef\\xcf\\x38\\x71\\xd4\\x6a\\x03\\xc0\\xc3\\x7a\\x22\\x2d\\xd0\\x2f\\xf4\\x78\\x8d\\xe5\\xcd\\xbc\\x91\\x2b\\x61\\x59\\xd4\\xfc\\xe5\\x28\\x6a\\x12\\xaa\\xec\\x51\\x6d\\x5a\\x9c\\x5f\\x65\\xb2\\xd0\\x11\\x28\\x42\\xb5\\xa7\\x54\\xa2\\x6b\\x5b\\x28\\x83\\xc8\\x52\\x28\\x36\\x47\\x75\\x2c\\x78\\x63\\x03\\xc6\\x08\\xc6\\x98\\x92\\xc3\\x0f\\x0e\\x5b\\x7e\\xd7\\x16\\xc0\\x6c\\xe9\\xf7\\xd2\\xa8\\xbd\\x3a\\xe3\\x46\\xe3\\xee\\xec\\xb1\\xcd\\x13\\x9e\\xaf\\xb7\\xa4\\x63\\x2d\\x9b\\xf7\\x0e\\xdb\\xda\\x67\\x4d\\xc3\\x65\\xfd\\xfb\\x56\\xce\\x7c\\x6c\\x3a\\xff\\x49\\xdb\\x80\\x6f\\x9a\\x2e\\x7d\\x6a\\xdb\\x7e\\x54\\x7f\\x6e\\x39\\x3f\\xb0\\x7f\\xaa\\x6d\\xe1\\x8c\\xd2\\xc0\\x17\\x37\\x34\\x2d\\x01\\xc3\\xc7\\xf4\\x27\\xe7\\x72\\x9a\\x7b\\x84\\x3b\\xe7\\x2f\\x27\\x2e\\x88\\xc1\\xb8\\x9a\\x74\\x62\\x7b\\x09\\x4a\\x0a\\x7b\\x06\\xad\\xd3\\x8f\\x0a\\xdc\\xc5\\xd5\\xc4\\x57\\xa2\\xbe\\xce\\x14\\x6c\\x07\\xaa\\x0d\\x7b\\x02\\x8f\\x53\\x21\\xe9\\xeb\\x7b\\xc4\\x71\\x42\\x85\\x71\\x50\\x5d\\xd5\\x9f\\x58\\x56\\xc4\\x8c\\xc2\\xe3\\xbc\\x03\\x96\\xa2\\x67\\x3c\\xa4\\xb4\\xf7\\xd0\\x1d\\xfb\\x02\\x54\\x1f\\x81\\x31\\x4c\\x47\\xe4\\x4a\\xe2\\x5a\\x17\\xe3\\x60\\x03\\x30\\xf6\\x63\\x19\\x2d\\x53\\x9e\\x26\\xd2\\x80\\xa3\\x8c\\x61\\xe8\\x67\\xd0\\xa4\\xb7\\x83\\x27\\x59\\xb6\\x04\\x46\\x1a\\xac\\x55\\xac\\xf7\\xe5\\x5e\\x2d\\x00\\x64\\x15\\xc7\\xb0\\xe2\\x15\\x47\\x36\\x21\\xed\\x32\\x1a\\x97\\x41\\xb0\\x52\\x9a\\xbe\\xb8\\x1c\\x82\\xba\\xb5\\xb9\\x63\\xf2\\x9c\\xc9\\xff\\x10\\x3e\\x45\\x25\\x11\\x3b\\x01\\xb8\\xe3\\x49\\xe1\\xcd\\x37\\x72\\xfd\\xeb\\x2b\\x52\\x80\\x2f\\x14\\x43\\x08\\xdb\\xab\\xa7\\x8d\\x9b\\xd7\\x6e\\x04\\xb1\\xcf\\x51\\x4d\\xc4\\x6d\\xff\\xd9\\xfa\\x37\\xe1\\x96\\x3f\\x9b\\xf9\\x69\\x75\\x7d\\x2d\\xf4\\x9c\\xa2\\x4a\\x08\\xf1\\xde\\x7d\\x01\\xf5\\x0a\\xd4\\x85\\x3e\\xb8\\xce\\x50\\x2e\\xbf\\xd6\\xc9\\xd8\\xd9\\x18\\x8c\\xca\\x91\\x5c\\xa9\\x72\\xa2\\x1c\\x58\\x29\\x63\\x12\\xed\\x2c\\xd2\\xd3\\x8c\\xe4\\x0a\\x35\\xf3\\x76\\xd6\\xf1\\x7f\\x94\\x0b\\x25\\xe9\\x2d\\xf9\\xc4\\xb7\\x2c\\x56\\x51\\x2d\\x04\\xb9\\x05\\x89\\x35\\x65\\xd3\\x7e\\x5c\\x11\\xb1\\xe8\\xdd\\x95\\x03\\x90\\x44\\xc2\\xcc\\x42\\x29\\x84\\x28\\x51\\x87\\xf1\\xdd\\xbd\\xa8\\x14\\xe2\\xfd\\xc3\\x77\\x75\\x3d\\x6c\\x9d\\x38\\x1d\\x8a\\x43\\x5e\\xaf\\x28\\x83\\x40\\x36\\x1e\\xbd\\x23\\xd4\\x1f\\x0d\\x1e\\x53\\xe0\\xad\\xc0\\xfd\\x50\\xa9\\xb0\\xf1\\x50\\x5e\\x8c\\xb1\\x02\\x1e\\x57\\x60\\xac\\xc0\\x67\\x2a\\x0a\\x7b\\xe6\\xa0\\x30\\x84\\x9e\\x86\\x7c\\x36\\xb0\\xcc\\x22\\xee\\x19\\x47\\xf7\\xbd\\xd7\\x75\\x0b\\x8c\\xaf\\x37\\xa1\\xbd\\x47\\xb6\\x49\\x7b\\xe6\\x66\\xd1\\xc6\\xc7\\x0a\\xe3\\x20\\xec\\xb5\\x4f\\xd1\\x33\\xe0\\x57\\xd1\\x27\\xf9\\x10\\x3f\\xe1\\x92\\x7c\\x12\\xd1\\x37\\xc4\\x7e\\x56\\x12\\xfb\\x4d\\xd8\\x37\\x14\\xbf\\xaf\\x7e\\x43\\xf1\\xfd\\x29\\xe2\\xf7\\xb1\\xff\\x47\\xca\\x18\\xbc\\xe8\\xfb\\xb4\\xf2\\xac\\xfc\\x55\\x3e\\x2b\\x12\\x5e\\x32\\xfc\\xa4\\x64\\xf1\\x59\\x79\\x15\\xf7\\xe1\\x8e\\x94\\xfa\\x70\\x9f\\x14\\xe5\\xae\\xc9\\xeb\\xd7\\xae\\xaf\\xbb\\xce\\xb0\\xed\\x30\\x06\\x2d\\x25\\x66\\xe5\\xea\\xa0\\x13\\xcd\\xda\\xdd\\x6e\\x53\\x32\\x14\\x0e\\x27\\x59\\x8a\\x49\\x31\\x65\\x71\\x1f\\x54\\xac\\x56\\x23\\xe8\\xe0\\x8d\\x21\\x63\\x88\\xd1\\xda\\x39\\x03\\x66\\x68\\xb3\\x68\\xa9\\x62\\x12\\x36\\x97\\x4c\\x66\\x27\\x61\\x60\\x8a\\x21\\x48\\x21\\x05\\xa8\\xc8\\x00\\x2a\\x6e\\xc3\\x01\\x15\\xce\\x97\\x23\\x17\\x68\\x62\\x91\\x0e\\xae\\x6d\\x04\\x74\\x3f\\x8c\\x5f\\xd9\\xf9\\xb5\\xfa\\xc0\\x49\\x11\\xe5\\x72\\x32\\xb9\\x74\\xf2\\x6e\\x0d\\xe9\\x52\\x3f\\xb9\\x8f\\xa6\\xc1\\xa8\\x8b\\x26\\xdf\\x6c\\x59\\xbc\\x67\\x89\\xfb\\x8f\\x4f\\x09\\x4f\\x50\\x24\\xb9\\x12\\x21\\x59\\xca\\x14\\x31\\x9d\\x3f\\x90\\x26\\x9c\\x79\\xee\\xc7\\x0d\\x36\\x8c\\x1e\\x78\\xfd\\x1c\\x72\\x4d\\xe7\\x9c\\x0d\\x9b\\xff\\x92\\x72\\xe1\\x98\\xea\\x3e\\xe8\\x07\\xef\\x82\\x67\\x9b\\x83\\x1e\\xc1\\xc8\\x5c\\x12\\xc7\\x54\\x56\\x14\\x53\\x79\\x80\\x9b\\x33\\x77\\xf0\\x9c\\x55\\xed\\xd0\\x3a\\xa6\\xf1\\x5a\\x5a\\x45\\xb7\\xf3\\x2a\\x0a\\x50\\xed\\x3c\\x50\\x96\\x9f\\x14\\xe0\\xc5\\x95\\xd1\\x15\\x90\\xb0\\xc4\\xc5\\xe8\\x8a\\x83\\xd1\\x15\\x4a\\xb5\\xc1\\xf8\\x14\\xb0\\xc2\\x26\\xcd\\x7e\\x10\\xd8\\xad\\x01\\xf3\\xa2\\x8f\\xbd\\x7c\\xdb\\x7a\\xa1\\x45\\x68\\x37\\x93\\x8b\\x26\\xb6\\xac\\xba\\x57\\x18\\x5d\\xeb\\x55\\xb5\\x7a\\x6a\\x5f\\xfb\\xe3\\xf3\\x0f\\x09\\xbb\\x3a\\x85\\xad\\xd3\\xa0\\x2d\\x1a\\x77\\xd9\\xf5\\x1b\\x2f\\x80\\xb3\\x35\\x08\\xcc\\x13\\xdf\\xb3\\xc2\\x9f\\x1e\\x81\\x6b\\x44\\x65\\x6c\\x2d\\x91\\x8f\\x01\\x3e\\x11\\x96\\xf7\\x9c\\x68\\xe3\\xff\\x04\\x7f\\x7e\\x9b\\xd4\\xbf\\x7d\\x9a\\x1c\\x49\\xe8\\x8e\\x50\\x37\\xa6\\x52\\x76\\x7b\\x11\\xb7\\x0b\\xad\\x67\\xcb\\xf2\\xbe\\xc4\\x12\\x30\\x14\\x6c\\xcb\\xf3\\xb1\\x38\\x73\\x26\\x72\\x41\\x30\\x98\\x4a\\xc5\\x69\\xea\\xa1\\x54\\x5c\\xe2\\x65\\x29\\xb6\\xf7\\x7f\\x95\\xed\\x3d\\xb1\\x84\\xba\\x52\\xc4\\x69\\x49\\x22\\x9c\\x16\\x32\\x70\\x28\\x59\\xc6\\xe8\\x8a\\xf0\\xbb\\xa1\\xed\\xc7\\x73\\xde\\x2b\\xcd\\xe9\\x19\\xdc\\x23\\x4e\\x7d\\xde\\xb7\\xbf\\x43\\x81\\x1f\\x8c\\xb9\\xaa\\xf0\\xb8\\x5b\\xa5\\xe7\\x24\\x2c\\x6c\\x0a\\x3a\\x12\\xd4\\x47\\x65\\x69\\xda\\x54\\xd4\\xcf\\x8d\\x39\\x13\\xf0\\xb8\\xcf\\x4a\\xcf\\x33\\xe2\\xb8\\x5f\\x96\\xa4\\xa4\\x47\\x15\\x98\\xe8\\x79\\xbe\\x4a\\xf2\\x14\\xf9\\x37\\x38\\x2e\\xf2\\x7b\\x02\\x45\\x7e\\xcf\\x2b\\x05\\xee\\x1c\\xf8\\x4c\\xab\\xe4\\x1b\\x95\\x99\\xa5\\x67\\x7a\\x60\\xab\\x9f\\xa6\\xa2\\xa2\\xfe\\x09\\x16\\xc7\\x3b\\x4f\\x29\\xf0\\xd4\\x4f\\x93\\xeb\\xc4\\x73\\x98\\x2a\\xb2\\x59\\x4a\\x4e\\x3e\\xf8\\x59\\x7f\\xc0\\xf3\\x21\\xa5\\x03\\x2d\\x73\\xaf\\xac\\x2b\\x70\\xb4\\xc0\\x67\\x7c\\xd2\\x7c\\xd2\\xf9\\xf9\\x74\\xc7\\x86\\x3e\\x0d\\x7d\\xff\\xee\\x36\\x14\\x8d\\xb3\\x36\\x8f\\x07\\x8d\\xe6\\x73\\x79\\x0f\\x7d\\x88\\xea\\xbe\\xbb\\x0a\\xdc\\x7a\\xe4\\x29\\x70\\x87\\x34\\x1f\\xa7\\x3c\\x9f\\xae\\x65\\xf0\\x99\\xa1\\x05\\xee\\x16\\xf2\\x14\\xf1\\x3e\\x9e\\x0f\\x09\\xac\\xf9\\xf9\\x88\\x1c\\x7a\\x05\\xcc\\xd2\\xd3\\xa4\\x46\\x9c\\x8f\\xab\\x30\\x9f\\x71\\x70\\x9c\\x7b\\xf3\\xd8\\xa4\\xf0\\x19\\x6c\\xa8\\xe0\\x33\\xb6\\x42\\xec\\xd4\\x8d\\xff\\x8d\\x3c\\x45\\x95\\x48\\xef\\xab\\x54\\xf1\\xbe\\x94\\xbc\\x24\\x68\\x7d\\x82\\xd2\\xfa\\x24\\xe5\\xf9\\xf4\\xc0\\xd1\\x3a\\x4d\\xad\\x13\\xdf\\x57\\x59\\x71\\x4c\\xa8\\xc4\\xce\\x3a\\x4d\\x2e\\x13\\xd7\\xa7\\xa4\\xb0\\x3e\\xdd\\x70\\x89\\xe0\\x67\\xdd\\x27\\xcd\\xa7\\x24\\x3f\\x1f\\x18\\x79\\x53\\xd1\\x02\\x16\\x11\\x5c\\xc3\\x35\\xd2\\xfa\\xf8\\xf3\\xeb\\x23\\x8e\\x73\\x2c\\x3f\\xce\\x69\\x4a\\x2b\\xce\\xa7\\xb4\\x30\\x9f\\x8b\\xf0\\x38\\x4b\\xf3\\xe3\\x9c\\x26\\x55\\xe2\\xfa\\x04\\xba\\xc5\\x96\\x05\\x9e\\x32\\xb8\\x3e\\xcd\\xd2\\xfb\\x2a\\xcc\\xa7\\x98\\x73\\x03\\xcd\\x39\\x2a\\xcd\\xa7\\xb0\\x3e\\xdd\\x71\\x41\\x4e\\x53\\xcf\\x88\\xef\\xab\\xb4\\x7b\\xac\\x5b\\xc0\\x02\\x39\\x4d\\xde\\x24\\xce\\xa7\\xb0\\x3e\\x84\\x0b\\xda\\x9e\\x3c\\x46\\x10\\xc7\\x92\\xff\\x24\\x5e\\x91\\x30\\x81\\x46\\x17\\x30\\x81\\xf0\\xf7\\x6f\\x12\\x31\\x76\\xa0\\x3e\\x56\\xe0\\xf5\\xa8\\x8f\\x43\\x65\\x8b\\xbe\\x3f\\x51\\xac\\x45\\xb1\\x60\\xbc\\x1e\\x84\\xc7\\x34\\x48\\xcc\\x75\\x7f\\x01\\xed\\xf5\\xed\\x38\\x07\\x3c\\x2a\\x97\\xb0\\x3b\\x75\\x61\\x35\\x61\\xf6\\xfb\\x89\\xb0\\xc1\\xc9\\x50\\x71\\x2a\\x16\\xd6\\xe9\\x3c\\x06\\x03\\xe5\\x71\\x3a\\x3d\\x1e\\x6b\\x3b\\xef\\xa1\\x69\\x54\\xfd\\x98\\x51\\xe4\\x7c\\x2d\\x3d\\xfb\\x17\\xab\\xab\\xe2\\x48\\x63\\x97\\x03\\x9c\\xba\\x53\\xb1\\xf0\\xab\\xda\\x5e\\x61\\x45\\x0d\\x94\\x11\\x5d\\xf8\\xd2\\xa9\\xce\\xe7\\x3a\\x05\\x23\\xa8\\x05\\xd7\\x1f\\x5a\\x32\\xff\\x81\\x37\\x8d\\xa0\\x19\\x8c\\x17\\x3e\\xbb\\x67\\x6b\\x6e\\x60\\xc5\\xa7\\x4f\\xfd\\xf4\\xf9\\xa5\\x4f\\xcd\\xd9\\x70\\xd7\\x0f\\xc2\\x27\\xc2\\xbd\\xd1\\xd6\\xd2\\x6d\\x3f\\x3e\\x37\\xef\\x66\\x5d\\x99\\xa3\\xb5\\xe2\\xc7\\xb7\\xce\\x0d\\x7b\\x08\\x90\\x0d\\xf7\\x6e\\xbb\\xe4\\xe8\\xe6\\xb2\\xe0\\xc3\\x50\\x86\\x47\\x84\\x21\\xe4\\x57\\xd0\\x0f\\x0b\\xa1\\x8a\\x54\\x8d\\x2e\\x68\\xf3\\x3b\\x69\\xb3\\xd9\\x69\\x23\\x74\\x8c\\x3b\\xe2\\x0e\\xdb\\x82\\x70\\xfb\\x1a\\x3d\\x6e\\x9f\\x0e\\xdd\\xf3\\x22\\x77\\xac\\x90\\xa4\\x47\\x29\\xfa\\x0b\\xcc\\x5f\\x66\\xf0\\x57\\x29\\xeb\\xb6\\x50\\x5a\\x92\\xc1\\xb2\\x24\\x55\\xf7\\xea\\x5e\\x79\\x77\\x6b\\xcd\\xb8\\xd0\\x88\\x6c\\xe5\\x86\\xeb\\x36\\x3f\\xb0\\xe9\\x8e\\x79\\x0b\\x3b\\xd5\\x3a\\x90\\x04\\x86\\x8d\\x4d\\x42\\x2e\\x71\\x6c\\xe3\\xef\\x42\\xa6\\xdd\\x40\\x15\\xbc\\xec\\xc6\\xa5\\xaf\\x8d\\xf4\\xdd\\x3c\\x55\\xe8\\x3f\\x3a\\x57\\xf5\\xc1\\x0b\\x4f\\x96\\xb8\\x64\\x2c\\x6f\\xe8\\x00\\xcb\\x58\\xde\\xab\\xc1\\xbf\\xc0\\x1d\\x38\\xc7\\x51\\xd8\\x1b\\xd0\\xd3\\xa0\\xdd\\xf8\\x99\\x51\\xd2\\x33\\x9c\\xf8\\x4c\\x94\\x2c\\xf8\\x1c\\xf0\\x5d\\xff\\x04\\xdf\\x5d\\x84\\x98\\x94\\xb3\\xba\\x8c\\x46\\x2b\\xcd\\xb2\\x91\\x80\\x35\\x60\\x8e\\x99\\xa3\\x2e\\xad\\x57\\x8b\\x0a\\xd5\\xdd\\xbc\\x97\\x96\\x2a\\xd8\\x71\\xeb\\x86\\xd9\\x02\\xe3\\x30\\x68\\x89\\x49\\x6f\\x71\\x1d\\xa2\\xa2\\x0a\\xd1\\x6c\\x29\\x2e\\x96\\xc6\\x4e\\x46\\x5d\\x0f\\x74\\x43\\x4a\\x06\\x93\\x66\\x29\\x7a\\x2f\\x86\\xc9\\x7e\\x27\\x30\\x68\\xcc\\xfc\\x9f\\x46\\x6e\\xcc\\xbb\\x1a\\x60\\x7e\\xf5\\x65\\xdf\\x5f\\xbf\\x7c\\xad\\xd6\\x7d\\x52\\xb8\\x09\\x79\\x14\\x3b\\x9f\\xe8\\xdf\\x6f\\xf4\\xc3\\x8b\\xce\\x1f\\x91\\xfd\\x0b\\xe1\\xab\\x3b\\x36\\xaf\\xb9\\x26\\x30\\x61\\xcb\\x39\\x04\\xdd\\x82\\xb0\\x2c\\xa0\\x4c\\x4e\\x66\\x1d\\xee\\xa7\\xed\\x4b\\x2c\\xce\\x35\\xda\\xaa\\xcb\\xaa\\x75\\x65\\x7e\\xb3\\xc3\\x11\\x75\\x91\\x64\\x1d\\xe3\\x67\\xfa\\xe9\\x74\\x0d\\x61\\x54\\x39\\xc5\\xb9\\xd2\\x9e\\x74\\x2b\\x6f\\x76\\xb4\\xf0\\xea\\x5e\\xf0\\xbf\\x6a\\xb3\\xda\\xe8\\x71\\xd8\\xbc\\xc6\\x7a\\xf8\\x92\\xbd\\x34\\xd9\\xc4\\xd3\\x84\\xa2\\x59\\x48\\xaa\\x3a\\xec\\xee\\x71\\x64\\xe4\\xa6\\x4e\\xb3\\x54\\x77\\x88\\x0b\\x2c\\x40\\x81\\x01\\x1a\\xee\\xe0\\x28\\x0c\\x5a\\xad\\xbf\\x45\\x77\\x00\\xc4\\x02\\x3f\\xd4\\x32\\x49\\x99\\xe8\\x1c\\xe2\\x3c\\x10\\xfe\\x53\\x1e\\x9c\\x3b\\xfb\\xd6\\xd9\\x97\\x2c\\x30\\xf5\\x2b\\x1b\\xd1\\xeb\\x6a\\x32\\xdb\\x93\\xfb\\x00\\xb5\\x1f\\xc7\\xfa\\x64\\xaa\\x2a\\xa8\\x59\\xe9\\x3e\\xd4\\xe3\\x55\\x60\\x9e\\x2b\\x7d\\x36\\xaa\\x9b\\x32\\x72\\xc2\\x15\\xe3\\x06\\xf6\\x6e\\xdf\\x3e\\xcb\\x06\\xb2\\x3d\\xc9\\x10\\x04\\x22\\x99\\xd2\\x97\\x5f\\x55\\x83\\xe2\\x8f\\x64\\xd7\\x19\\x7a\\x3f\\x33\\x1b\\x5a\\xcc\\x4a\\x62\\x72\\x2e\\x93\\xe6\\xac\\xee\\x98\\x8a\\x8e\\xf8\\xfd\\x8e\\x12\\x4d\\x84\\xa2\\x34\\x0e\\x8e\\xae\\xaa\\x0e\\xa6\\xa0\\xdb\\x65\\xb5\\x1a\\x82\\x41\\xb7\\x21\\x46\\xe4\\x34\\x06\\x68\\xab\\x3c\\x6e\\xca\\x10\\x47\\xb5\\x9a\\x52\\x58\\x0f\\x83\\xdc\\x8c\\x7c\\x96\\x8b\\x40\\x31\\xf0\\xa1\\x80\\x4b\\x82\\x09\\xfb\\x70\\x91\\x86\\x4a\\x2c\\xd2\\xa8\\xc3\\xe1\\x49\\x2c\\x2b\\x93\\x67\\xc3\\x33\\x21\\xa2\\x80\\x44\\x43\\x66\\x9b\\x83\\xea\\xfb\\xec\\xb3\\xaf\\xee\\xdf\\xb4\\xe7\\x2e\\xe1\\xcc\\xd1\\xaf\\x85\\xce\\xef\\x8e\\x2d\\x5d\\x05\\xf4\\xef\\x19\\xd6\\x2e\\xff\\xee\\x91\\xc7\\x9e\\x15\\xfe\\xfb\\xf2\\x5b\\x3b\\xd6\\x0b\\x97\\xed\\x60\\x66\\xeb\\xb7\\xaf\\x5e\\x73\\x3c\\xc6\\xdd\\xbb\\xe4\\xc6\\xd7\\xae\\x78\\x78\\xf3\\xee\\xbf\\xd8\\x9d\\xab\\x67\\xde\\x73\\x54\\xd5\\xec\\x5c\\xb3\\xec\\x0f\\x87\\x1f\\x39\\x18\\x3d\\x57\\x7a\\xf8\\xc0\\xe5\\xd7\\x0a\\x7b\\x96\\x2e\\xc7\\xf1\\xd6\\x25\\x50\\xde\\x2c\\xb3\\x01\\xea\\x2a\\xd4\\x6b\\x5d\\x9a\\x62\\xb5\\x5c\\xd8\\x4b\\xbb\\xac\\x56\\x7d\\x8c\\x70\\x05\\x02\\x84\\x9e\\xa5\\xab\\x6b\\xc2\\x5a\\x3b\\x0c\\xb9\\xb4\\x76\\x3b\\xed\\x33\\x11\\x74\\x5a\\xaa\\xb8\\x95\\x0a\\x53\\xea\\xbb\\x63\\x17\\xca\\x02\\xda\\xe4\\x08\\x3e\\x8b\\xef\\xe4\\x9c\\x79\\xb1\\x10\\x75\\x98\\x28\\x3b\\xdb\\x4b\\x2a\\x7f\\x46\\x01\\x18\\xf5\\xc9\\xca\\xff\\x6c\\x7e\\xe8\\xd8\\xb3\\xdb\\x0e\\xef\\x5b\\x16\\x1a\\x38\\xee\\xe8\\xcd\\xdb\\xdd\\xb6\\xf4\\xbe\\xed\\x37\\xb4\\x5f\\x7a\\x60\\xc6\\xb4\\x89\\x3b\\xa7\\x1c\\x9b\\xbc\\x63\\x12\\xa9\\xbe\\xe7\\xd7\\x75\\x2f\\x3f\\xbc\\x1f\\xd8\\xea\\xab\\x9f\\xbc\\xec\\xb5\\xb2\\x44\\xf6\\xb1\\x96\\x17\\x0e\\xac\\xee\\xdb\\xe1\\x49\\x0e\\xde\\x75\\xe5\\x4b\\x91\\xd2\\xfd\\x2d\\x4b\\xd7\\xdc\\xfa\\xf7\\xdb\\x7e\\xb9\\xf9\\x53\\x31\\xf7\\xef\\x86\\xba\\xf8\\x16\\x8c\\xe3\\x02\\x75\\xb1\\xd5\\xa1\\xd3\\x11\\x0c\\xeb\\x30\\x99\\x58\\x82\\xf2\\x90\\x1a\\x8d\\xd7\\xe2\\xd3\\x92\\x6a\\x12\\x55\\x44\\xab\\x29\\xa0\\x23\\x74\\x4a\\x8c\\x32\\xf9\\xba\\xbd\\xdb\\x95\\x15\\xda\\xcf\\x19\\xc5\\xf5\\x74\\x58\\x3c\\xb0\\x49\\x31\\x82\\x74\\x9b\\xa9\\x69\\xf9\\x1a\\x81\\xf3\\xf7\\x82\\x5d\\x9b\\xf7\\xdc\\xfd\\x8a\\x6f\\xda\\xac\\x9b\\x16\\x4c\\xa5\\x57\\xe3\\xda\\x80\\x73\\x0b\\xa6\\x4c\\x6a\\xba\\x6f\\x7e\\x7d\\xbf\\x85\\x8d\\xc3\\xc4\\x3e\\xb6\\xaf\\x84\\x0e\\xa9\\x36\\x60\\x44\\x2e\\xae\\x52\\xdb\\x9c\\x7a\\x27\\x47\\x6a\\xb5\\x9c\\x9a\\xf2\\xe9\\x09\\xc2\\xab\\x23\\x35\\x24\\x02\\x16\\xd5\\x98\\x80\\x9e\\xd0\\x37\\xf3\\x56\\xc2\\x4e\\x34\\x1e\\x57\\xce\\xb1\\x68\\x86\\x62\\xd7\\x54\\x34\\x0b\\xf2\\xd7\\xff\\xb2\\x4e\\x91\\xa6\\xe8\\xd4\\x90\\xbd\\x14\\xd7\\xff\\x7f\\x38\\xb0\\x69\\xeb\\x8d\\xcf\\x7b\\x67\\x34\\xaf\\xb8\\x3e\\x4d\\x55\\xe2\\xcb\\xcd\\xf3\\xef\\x4f\\x1a\\x37\\x66\\xcd\\xec\\x6c\\xff\\x69\\x7d\\x06\\x8f\\x56\\xfa\\xa4\\x5b\\xf3\\xbe\\xe4\\x36\\x30\\x4b\\xf4\\x05\\x1c\\xdd\\x7d\\xc9\\xd1\\x79\\x5f\\x72\\x1b\\xb2\\xab\\xca\\x7c\\x35\\xea\\x8d\\x13\\xc6\\x21\\xce\\x0d\\x78\\xba\\x56\\xe7\\x46\\xf8\\xe3\\xf1\\x68\\x20\\x10\\xd2\\x11\\x44\\xda\\xc8\\xd0\\x96\\x92\\x92\\x32\\xb7\\xc3\\x51\\x16\\xb2\\xd0\\x5c\\x35\\x57\\x15\\x0e\\xc7\\xfc\\xb1\\x0e\\x3e\\x14\\xf2\\xfb\\x39\\xbb\\xdd\\xd7\\xc1\\x3b\\x9d\\x76\\x3b\\xd4\\xb6\\x76\\x2a\\x8e\\xcb\\xd6\\x29\\x74\\xd5\\xc8\\x95\\x73\\x65\\x65\\x1c\\x86\\x42\\x36\\x67\\x60\\xf8\\xaf\\xbc\\x3d\\x95\\x93\\x4c\\x12\\xfd\\xb6\\xd2\\x20\\xe5\\xdf\\x66\\x0d\\x4e\\x37\\x21\\x95\\x04\\xf7\\xa4\\xbc\\x39\\x65\\x65\\x7c\\x41\\xb8\\x4d\\xb8\\x6b\\xc9\\xe7\\xee\\x5e\\x31\\xbc\\xc1\\x59\\x55\\xdd\\x30\\x7a\\xf0\\x80\\xde\\x82\\x5d\\xbb\\xff\\xd4\\x5e\\x2d\\xf5\\xdd\\x6f\\xc2\\x6d\\x0a\\x36\\x47\\xcb\\xf8\\xf7\\x2e\\x5d\\x68\\x1f\\xc5\\x65\\xeb\\xcb\\xfb\\xaa\\x6e\\x90\\xf4\\x74\\x37\\xbc\\xcd\\xac\\xba\\x55\\xcc\\x81\\x20\\xee\\xc4\\x76\\x68\\x7b\\x53\\xd0\\xef\\x1a\\x9f\\xab\\x2c\\x0f\\xf8\\x2d\\x3a\\xa2\\xd2\\xed\\x8e\\x13\\xa5\\x46\\xc6\\xc2\\xd6\\x65\\xfd\\xe5\\x4d\\x3c\\x5c\\x1c\\x7f\\x89\\x83\\x52\\x37\\xf3\\x54\\x49\\x49\\xb8\\x85\\x37\\x95\\x38\\x1c\\x35\\x18\\x0c\\x41\\x02\\xe2\\xc1\\xe9\\x90\\x42\\x6a\\x51\\x01\\x26\\x73\\x01\\x91\\x15\\x89\\x11\\x15\\x6d\\x02\\xd2\\xa5\\x3f\\xba\\x4a\\x0e\\x00\\x50\\xc8\\x8d\\xd4\\x29\\x04\\xaf\\xbe\\xe9\\x36\\x9c\\x38\\xde\\x22\\x7c\\x29\\x67\\x93\\xf9\\xd7\\x26\\x18\\x5b\\xc6\\x0b\\xc7\\xa5\\x4c\\xb2\\x42\\xe4\\xcb\\x6d\\x07\\xef\\xde\\x03\\xc2\\x4f\\x2d\\x9c\\x5c\\xc8\\x2e\\x8f\\x6a\\xa3\\xa2\\xea\\x56\\x72\\x81\\xe9\\x3e\\x29\\xb5\\x9c\\xf7\\xa5\\x71\\xce\\xb7\\x46\\xba\\x87\\x48\\xc9\\xb9\\xe5\\xea\\xe2\\xdc\\xf2\\x19\\xea\\x1b\\xe6\\x5d\\xd1\\x0f\\xc6\\xb9\\xe5\\x8d\\x52\\xde\\xf7\\x38\\xf1\\x97\\x0b\\xe5\\x96\\xb9\\xa2\\xdc\\x72\\x8f\\xcf\\xe9\\x8d\\x3f\\x07\\xf9\\xc8\\x91\\x22\\x9f\\xfd\\x47\\xe6\\x5f\\xf2\\x67\\x90\\xdb\\x89\\x7d\\xd2\\x67\\x9c\\x20\\x7e\\x25\\xdc\\x30\\xe6\\x0c\\xf9\\xc0\\x9d\\x3e\\xe0\\xa3\\x6a\\x73\\x1a\\xfd\\xf0\\x5a\\x34\\xbe\\x79\\xca\\x22\\x05\\xc7\\xf3\\xd6\\xbc\\x2f\\xbf\\x0d\\x1c\\x17\\xcf\\x4b\\xb8\\xbb\\x2f\\x5f\\x99\\xf7\\xe5\\xb7\\x11\\x8f\\x76\\x7d\\x8e\\xe3\\xb3\\x6e\\xb1\\x85\\x62\\x9e\\x59\\x2a\\x2b\\xcd\\x33\\x5e\\x34\\xcf\\x1f\\x70\\x0e\\xbc\\x55\\xca\\x81\\x3f\\x2c\\xcd\\xf3\\xed\\xdf\\xca\\x81\\x4b\\x58\\x6b\\x83\\xf3\\xf8\\x6d\\x6b\\x40\\xa6\\x7b\\xec\\xd3\\xc5\\x0b\\x43\\xa9\\x47\\xe9\\x0f\\xb9\\x04\\x31\\x99\\x46\\xfe\\xf0\\x1a\\xe2\\xd6\\xae\\xcf\\x60\\xe8\\xf5\\x30\\xf4\\x7b\\xa3\\xd0\\x9f\\xb0\\x43\\xef\\xb0\\x29\\x57\\xa6\\xa6\\xb4\\x5a\\xaf\\xc1\\x61\\x35\\x58\\x55\\x11\\x55\\x98\\x52\\xb7\\xf0\\x9c\\xbb\\x15\\x1e\\x4d\\x8a\\x23\\xa4\\xd6\\x49\\x95\\x97\\x08\\x34\\xe7\\x3b\\x64\\x0a\\xb8\\xdf\\x29\\x65\\x8e\\x42\\x4a\\x52\\xe4\\x7d\\x03\\xa0\\xf0\\x18\\xb2\\x05\\x77\\x00\\xd4\\x4e\\x5d\\x68\\xce\\x25\\x47\\x64\\x96\\x31\\x80\\x46\\x3d\\x95\\xc2\\x2f\\xc9\\xe4\\xdc\\x59\\xb7\\x06\\xfa\\x64\\xea\\x4a\\xa9\\xd9\\xe9\\x3e\\xc2\\xe8\\xa6\\xe1\\xfd\\xf9\\x1d\\x97\\x24\\x98\\x53\\xd0\\xf8\\xc7\\xb4\\xc8\\xf8\\xef\\x81\\x06\\x3e\\x7d\\x65\\x0d\\x3c\\x5b\\x23\\xa0\\x2f\\x94\\x82\\x67\\xab\\x94\\xe8\\x45\\xcc\\xcd\\xd5\\xa3\\x8e\\xb7\\x44\\x98\\x20\\x2a\\xad\\xd6\\x98\\x9a\\xaa\\x2d\\xf3\\x7a\\xeb\\x62\\xde\\x70\\xa2\\x85\\x77\\x41\\x27\\x28\\xec\\x0a\\xbb\\x02\\xea\\x00\\x3c\\x55\\x81\\xff\\xdd\\x0b\\xa7\\x10\\x88\\x50\\xda\\x0b\\x45\\x02\\xff\\x42\\xdd\\x71\\x2a\\xaa\\xa7\\x43\\x54\\x67\\x2d\\x88\\x7a\\xa1\\xc6\\x39\\xf5\\x8a\\x38\\x92\\x76\\xb6\\xb8\\x08\\xd5\\xd7\\x92\\x37\\x39\\xdf\\xe9\\x93\\xa9\\x29\\x47\\x0e\\x4f\\x8f\\x7e\\x3a\\x53\\x43\\xa7\\x0e\\xcb\\x8f\\x56\\x64\\xfb\\x2c\\x2b\\xf9\\xd9\\xf2\\xf3\\x15\\xc9\\x94\\xae\\xe2\\x4a\\xe4\\xeb\\x74\\x1d\\x95\\x70\\x2f\\xbd\\x44\\x02\\x75\\xfd\\x87\\x55\\x1a\\x8d\\xc7\\x4e\\x11\\x84\\xcb\\x67\\x32\\x95\\xb8\\x92\\x2e\\x87\\xdd\\xd3\\xc2\\xeb\\x83\\xad\\xbc\\x5d\\x6f\\xd7\\x5b\\x54\\x96\\x58\\x33\\x6f\\x91\\x8a\\x0d\\x68\\x4a\\x85\\x0a\\xd2\\x4e\\xfc\\xa6\\xfc\\x66\\x09\\xe5\\x52\\xba\\xd8\\xcf\\x97\\xcc\\xf7\\x90\\x98\\x29\\xc8\\x5b\\xa8\\x46\\x98\\x94\\x88\\x23\\x21\\x27\\x2f\\xb2\\x34\\x96\\x20\\x57\\x0f\\xcc\\xee\\x93\\xa9\\xa8\\xa0\\x2f\\x85\\x4e\\x9d\\x58\\x93\\xd0\\xf9\\x2b\\x96\\x6b\\xcc\\x88\\xbe\\x93\\x76\\x5c\\xe2\\xb8\\x52\\x7a\\xbd\\xd0\\xbe\\xc4\\x85\\xd1\\xe0\\x2d\\x68\\x4b\\xcd\\x44\\x79\\xce\\x01\\x63\\x13\\x2b\\x43\\x92\\x16\\x83\\xae\\x89\\x37\\xc8\\xa5\\x1c\\xde\\x42\\x29\\x87\\x8c\\x36\\xaa\\x28\\x69\\xcc\\x53\\x41\\xf4\\xed\\x49\\x00\\x21\\x8c\\x56\\xd2\\x3e\\xbc\\xf1\\x2a\\xf2\\xad\\x2b\\xbb\\xbe\\x61\\xfe\\x08\\xcf\\x42\\x00\\x6a\\xeb\\x7a\\x62\\x7a\\xae\\x97\\x9a\\x09\\x06\\x6d\\x70\\x35\\x32\\xf1\\x8c\\x3b\\x6e\\x74\\x1b\\xfb\\xf4\\xf5\\x57\\x36\\xf3\\x7e\\xce\\x56\\xe7\\xa8\\x6b\\xe5\\x1d\\x0e\\x4b\\x18\\xad\\xa2\\xba\\x44\\x57\\xd2\\xca\\xeb\\xb8\\x22\\x87\\xda\\xdc\\x9d\\x1f\\x30\\x4f\\x5a\\x9d\\x47\\x0c\\x95\\x5d\\xe9\\x62\\x34\\xb5\\x64\\xc1\\x8d\\xb6\\x2a\\xfb\\x97\\x92\\xc5\\x14\\x62\\x84\\xe8\\x48\\x8f\\x56\\x40\\xac\\xfd\\xfd\\x8a\\xbb\\xaf\\x93\\x9c\\xe8\\x8b\\x0a\\x10\\x79\\xeb\\x14\\xfe\\xb4\\xe4\\x45\\x2b\\x71\\xc2\\xd6\\xac\\x15\\x5d\\xe8\\xf3\\x7b\\xf2\\x98\\x79\\xab\\x94\\xd4\\x62\\x68\\x5d\\x52\\xc2\\x68\\xe6\\x33\\x78\\xce\\x90\\x5f\\xd9\\x80\\xfa\\xe0\\xab\\x61\\xa4\\x91\\x64\\xd9\\x6c\\x45\\x05\\x97\\xf5\\x73\\xfe\\xfe\\x8d\\xe1\\x0c\\x0c\\x37\\x1c\\xae\\x3e\\x9e\\x3e\\xad\\xbc\\x87\\x73\\x9a\\x6c\\x65\\xa8\\x83\\x46\\x1b\\x33\\xc4\\x5a\\x79\\x83\\x83\\x25\\x71\\xbf\\xf5\\x05\\x22\\xaa\\xdf\\x58\\x1d\\xb1\\x6f\\x43\\x8a\\xa5\\xfa\\x83\\xac\\x12\\xe8\\x2a\\xc3\\x2a\\x68\\x15\\xe3\\x52\\xcf\\x20\\xbe\\x36\\x0a\\x17\\xb5\\x7b\\x69\\xe4\\x3e\\xaf\\x58\\xc2\\x3a\\xf6\\xd1\\xe1\\xb7\\xaf\\xbf\\x13\\xd0\\x7b\\x26\\xef\\x18\\x63\\x45\\x8d\\x5e\\x62\\x2b\\x98\\x30\\x7b\\xf8\\x9a\\xca\\x65\\x97\\x5e\\x3a\\x63\\xe7\\xa4\\x49\\xe0\\x8c\\xa2\\xf5\\x4b\\xea\\xf9\\x3a\\xf6\\x7e\\xff\\xbe\\x83\\xf7\\xed\\x7b\\x1a\\x94\\xed\\x76\\x6f\\x3e\\xf8\\xe4\\x7d\\xb8\\x21\\x6c\\x51\\x49\\x90\\x7c\\xd4\\xbb\\xa1\\x6b\\xc3\\x95\\x57\\x17\\x7a\\xc0\\xe8\\xae\\xf5\\x5d\\x9b\\x19\\x92\\x59\\x8c\\x59\\x5e\\x03\\x70\\xa5\\xd6\\xe6\\xc6\\xea\\xfc\\x01\\xab\\x93\\x21\\xb4\\x6a\\xaf\\x27\\x1a\\x61\\x80\\x46\\xa3\\xd5\\xc6\\x2d\\x3e\\x97\\x3b\\xc8\\xd8\\xcc\\x66\\xbd\\x8d\\xd1\\x33\\x71\\x8a\\x00\\x80\\xa2\\x62\\x7a\\xb3\\x99\\xb1\\x39\\x61\\x14\\x6a\\x0d\\xba\\x83\\x1d\\x7c\\x20\\xe2\\x54\\xeb\\xbc\\x7e\\xda\\xed\\x86\\x6e\\xa2\\xd3\\xa2\\x71\\xa9\\x68\\x0a\\xa3\\x10\\x1e\\x6f\\x3c\\x81\\xbc\\x74\\x67\\xbd\\xa5\\x3e\\x5f\\x31\\x9a\\x31\\x77\\x6f\\x7b\\x29\\xf2\\x8c\\x30\\xd1\\x93\\x33\\x9a\\x8d\\x42\\x25\\x9c\\xf1\\x42\\xc3\\x60\\xc5\\x8b\\x4a\\x85\\x81\\x93\\x8d\\x6a\\xd0\\xff\\x27\\x59\\x06\\x7e\\x8a\\xb5\\x7c\\xc6\\xf8\\x3b\\xb5\\x57\\x90\\x8f\\xbc\\x90\\xf9\\x75\\x86\\xf0\\xf4\\xa1\\xeb\\x75\\x42\\x5c\\x77\\x67\\x4e\\x78\\x58\\x78\\x7a\\xac\\xf6\\x3a\\xb2\\x45\\xd8\\x7b\\x05\\x08\\x0f\\xac\\x7a\\xa7\\x8b\\x58\\x69\\x00\\x9f\\xcf\\x9e\\x0d\\xdd\\x9e\\x5f\\x84\\x4e\\x50\\x21\\x2c\\x3c\\x3f\\x1f\\x17\\x2b\\xaf\\x10\\x16\\x9a\\x6a\\xe9\\x67\\x3a\\xaf\\x02\\x53\\x85\\x5d\\xe7\\xcf\\x4f\\x3c\\xe7\\xa0\\x81\\x84\\x2b\\xb9\\xa8\\x6b\\x05\\x33\\x87\\x79\\x93\\x08\\x13\\x65\\xc4\\xfc\\x5c\\x5f\\xad\\xa1\\xd4\\x6a\\x2b\\x09\\x93\\x50\\x76\\xb2\\xc4\\x6a\\x60\\x68\\x9d\\x5e\\x6f\\x4c\\xd0\\x6e\\x2f\\xed\\x4d\\x99\\x8d\\xc6\\x72\\xf4\\xf3\\x12\\x1b\\x19\\x56\\xab\\x3d\\xc1\\xa0\\xa3\\x9d\\x07\\x41\\xab\\x3a\\xd2\\xce\\x73\\x3a\\x04\\xda\\x83\\xf9\\x70\\x51\\xa3\\x00\\x81\\xd5\\xb2\\xa2\\x5f\\xc6\\x9c\\xe9\\x51\\x45\\xcf\\x40\\xaf\\xcf\\x2c\\x6e\\x9b\\x6c\\x86\\x75\\x52\\xd1\\xda\\x04\\x66\\x99\\x95\\xf1\\xe0\\x22\\x49\\x80\\x6f\\x5d\\x9d\\x20\\x01\\xec\\x93\\x56\\x9f\\x42\\x70\\x6f\\x33\\x17\\x4f\\x9e\\x76\\xc9\\x6d\\xe9\\x01\\x89\\xda\\xce\\xe4\\x8c\\x5d\\x05\\x38\\xb8\\xa7\\x6e\\x26\\x93\\x08\\x22\\x6e\\x3c\\xf9\\x52\\xeb\\xf5\\x27\\xd7\\x83\\x52\\x04\\xfa\\xa6\\xbf\\xfd\\x1e\\xaf\\xf0\\xd1\\x13\\x5e\\xdb\\xb9\\xe7\\xc7\\x4a\\x70\\x70\\xfd\\xe9\\x53\\x08\\x1e\\xee\\xa5\\x85\\x74\\xcc\\x0a\\x6d\\xf3\\x16\\x78\\x80\\x4e\\xe1\\x9a\\x9d\\x99\\x44\\x31\\x77\\x48\\x6b\\x2e\\x65\\xb2\\x5a\\xd5\\x30\\xfc\\x22\\x38\\x5a\\x45\\x93\\x6e\\xd2\\x65\\xd4\\xe8\\x34\\xa8\\x8c\\x88\\x55\\x21\\x66\\x7c\\x96\\xd4\\x51\\x56\\x9c\\x8c\\x70\\x92\\x96\\x7c\\x39\\xd8\\x6f\\x54\\x3e\\x8b\\x96\\x89\\x2a\\x46\\xbb\\x08\\xe3\\x52\\xe1\\xac\\x95\\xb6\\x60\\x22\\x90\\x59\\x47\\x4d\\x47\\x27\\x89\\x44\\x20\\x93\\xc0\\x48\\x93\\x70\\xe4\\x52\\x44\\x12\\x02\\x6e\\x42\\x5c\\x20\\xe4\\x88\\x36\\x12\\xe0\\xfb\\x8c\\xae\\xb6\\xce\\xdf\\xdb\\x80\\x13\\xda\\x94\\x63\\x5d\\x2f\\xd2\\x02\\xb3\\x0d\\xc6\\x32\\x41\\x62\\x79\\x6e\\xb0\\x4a\\xed\\xb3\\xd9\\x28\\xb7\\xda\\x0d\\xe0\\x5b\\xd2\\x6b\\xfd\\x1e\\x8a\\xd0\\xe9\\xf4\\x01\\x8b\\xc1\\x62\\x25\\x69\\xa0\\xd7\\x87\\xe1\\x0b\\x0d\\x89\\xed\\x8c\\x01\\x8b\\xdf\\x4a\\x7a\\x54\\x1a\\xb8\\x7b\\x39\\x18\\xec\\xf8\\x68\\x0d\\xdd\\xc1\\x1b\\x74\\x1a\\x0a\\xbf\\x40\\xb9\\xf1\\xa1\\xf1\\x55\\x05\\x5c\\x44\\xf7\\x8d\\x9b\\x31\\x17\\xf5\\x40\\x3b\\xa3\\x40\\x46\\xbb\\x82\\xaf\\x12\\x7a\\xf1\\xd9\\x64\\xbe\\x1f\\x2a\\x4a\\x81\\x44\\xc9\\x0c\\x32\\xb5\\x48\\x6c\\xca\\xa1\\xee\\x1c\\x3b\\x63\\x6c\\xbf\\xde\\x83\\xb5\\x7e\\xe1\\xb2\\xa5\\x62\\xa5\\xfd\\x40\\xb0\\xbc\\xba\\x01\\x78\\x2f\\xce\\x91\\x0f\\x90\\xab\\x50\\x7b\\xce\\xd4\\xa9\\xc2\\xb1\\x53\\x8c\\xe0\\xee\\xc4\\x60\\x18\\x60\\x29\\x15\\x10\\x1e\\x02\\x17\\x33\\x72\\x9c\\x89\\x73\\x87\\xd0\\x06\\x74\\xe4\\x6a\\x4a\\xd9\\x5e\\x31\\xb3\\xc3\\x63\\xf6\\x24\\x2a\\x0c\\x64\\x7d\\xbd\\xa1\\x57\\x82\\xee\\xd3\\xb7\\x82\\x35\\x67\\xb3\\xb8\\x73\\x2a\\xcb\\xb9\\xdd\\x7e\\xbf\\xa3\\x95\\xf7\\x7b\\xcd\\xe5\\xcd\\x7c\\x32\\x69\\x76\\x74\\xef\\x4d\\xab\\xec\\x06\\xad\\x98\\xdf\\xaf\\x35\\xf9\\x0e\\x2a\\xbb\\x4c\\xfa\\x9f\\x02\\x01\\xd4\\xd3\\x99\\x95\\xda\\x90\\x92\\x08\\xd6\\x4c\\x2e\\xf4\\x43\\xce\\x3d\\xf2\\xed\\x51\\xcf\\x31\\xf9\\x6c\\xa5\\xb1\\x71\\x56\\xeb\\xf4\\xb6\\xab\\x66\\x77\\xbc\\xf0\\xaa\\xc9\\xe6\\xf2\\xa5\\x4a\\x2a\\xfa\\xe8\\xd2\\x91\\x60\\xe5\\xc8\\xd9\\x8d\\x01\\x4b\\x6d\\x22\\x51\\x53\\x9a\\x36\\x7b\\xda\\xfb\\x7d\\x34\\x65\\xce\\x25\\xd3\\x9f\\xdc\\x7e\\xd9\\x76\\xf2\\xd4\\xfc\\xde\\xa3\\x9a\\xea\\x5a\\xfb\\xd5\\x5d\\xd7\\xb2\\x79\\x7d\\xe9\\x8c\\x71\\xf5\\x15\\xae\\x97\\x74\\xf5\\xf3\\x97\\x0c\\x6d\\xd5\\x6a\\x9d\\xa8\\x1a\\xf0\\xa9\\xbe\\x93\\x33\\xd5\\x4b\\x9b\\x6f\\xd9\\x10\\x95\\xea\\xdc\\x85\\xd1\\x38\\x96\\x8d\\xa0\\xda\\x37\\x7f\\x90\\x85\\x01\\xb7\\x3b\\x1c\\x0c\\xc7\\x08\\xa7\\x33\\x1a\\xf1\\x84\\x3c\\xcd\\x7c\\x30\\x18\\x32\\x39\\x89\\x66\\xde\\x69\\xd7\\x6a\\x8d\\x46\\xb6\\x95\\x37\\x2a\\x9a\\xae\\x88\\xe2\\x90\\x56\\x64\\x60\\x93\\x2a\\x5b\\x02\\xa4\\x58\\xbb\\x28\\x09\\x4a\\x62\\x58\\x51\\x45\\x98\\xfb\\x7a\\xdd\\xa8\\x9a\\x88\\xa9\\x3a\\x2e\\xc9\\xd4\\xaf\\xb5\\x6f\\x22\\x66\\x1f\\x9a\\x7d\\xa8\\x28\\xdc\\x6d\\x26\\xd3\\x6d\\xb7\\x34\\xf4\\x41\\x62\\x04\\xea\\x2f\\xba\\x71\\xc4\\x00\\x39\\xe6\\x85\\xef\\x70\\x32\\xe2\\xf7\\x63\\x76\\x41\\x6d\\x3c\\x38\\x17\\x66\\xf5\\x0e\\x97\\xde\\xe5\\x33\\x53\\x94\\x5f\\x65\\x30\\x68\\xad\\x4e\\x27\\x61\\x25\\xa0\\xb6\\xa5\\x59\\xbd\\x56\\xdf\\xce\\x6b\\x7b\\x96\\xea\\x9a\\xbb\\xb7\\xe2\\x89\\xb0\\x72\\xd2\\x8e\\x43\\x35\\xc9\\x5c\\x1e\\xdb\\x8c\\x9c\\x75\\xf2\\xe4\\x8f\\x67\\x5a\\xc4\\x86\\xf5\\x49\\xfc\\x73\\x6f\\xfc\\x6b\\xf0\\xa6\\x81\\xb9\\x81\\x15\\xcd\\xa7\\x98\\x5d\\x07\\x1f\\xfb\\x40\\xf8\\xbc\\xb7\\x90\\xc5\\xe0\\x32\\xb4\\xd6\\xfe\\xcd\\x07\\xc0\\x5d\\x1e\\x7f\\x18\\x90\\xe1\\xa4\\xb8\\xd7\\xe6\\x40\\xfd\\x90\\x83\\x7b\\xcd\\x89\\x2a\\x2e\\xed\\xa4\\xca\\x62\\x21\\xf5\\x94\\xcb\\x6d\\x83\\xce\\x8d\\x49\\x87\\x6a\\x84\\x9a\\x79\\x13\\x67\\x27\\x09\\x68\\x40\\x51\\xaa\\xa0\\xe7\\x34\\x0b\\xe5\\x42\\x08\\x80\\x36\\x1b\\x43\\x69\\xd9\\x7c\\x0f\\x0d\\xc7\\xc0\\x19\\xcf\\x51\\x3f\\x54\\xdf\\x0f\\xd0\\x27\\x2e\\x9f\\x94\\x1b\\x98\\xbe\\x7f\\xc3\\xc1\\x17\\x84\\xc7\\x6b\\xee\\x57\\xa7\\xdd\\xa0\\x51\\x57\\xf5\\xd3\\xef\\xab\\x1f\\x12\\x52\\xb7\\x5e\\x23\\x9c\\xed\\x10\\xfe\\xe1\\x4e\\x8b\\xf6\\xde\\xda\\x75\\x96\\x3e\\x82\\xfb\\x17\\x63\\x44\\x9a\\x58\\x9c\\x1b\\x50\\x42\\x78\\x54\\xe9\\x60\\x84\\x2a\\x2f\\x8f\\x46\\x2d\\x06\\x43\\x88\\x52\\x11\\x4c\\x65\\x45\\xc4\\xc4\\x99\\xda\\xf9\\x20\\x47\\x05\\xd2\\xe9\\x40\\x07\\xcf\\xa5\\xb9\\xb4\\xd6\\x66\\x2b\\xef\\xe0\\xc5\\xf2\\x61\\x9d\\x45\\x1b\\xed\\xe0\\xb5\\x06\\x69\\x7d\\x45\\x73\\xaf\\x0c\\x62\\x89\\xfa\\xa2\\x02\\x99\\x8c\\x12\\xa3\\x2c\\x0f\\x9e\\x1b\\x87\\xde\\xa6\\xa4\\xd0\\x42\\x79\\x1c\\x5d\\x04\\x23\\x5c\\xc0\\xd2\\xa5\\x8f\\x14\\xc0\\x73\\xdf\\xd7\\xae\\x2c\\xdb\\x63\\xda\\xb3\\x19\\x6a\\xb9\\x24\\x78\\xb6\\xf3\\x20\\x86\\xd2\\xad\\x00\\x17\\x9b\\x84\\x7d\\x49\\x19\\x50\\x97\\x8e\\xe6\\x61\\x74\\x6b\\xbd\\xdf\\xb5\\x51\\x93\\x3d\\xb5\\xe7\\x9c\\x08\\x4f\\x57\\x38\\xdb\\xf6\\x45\\x01\\x51\\x97\\x44\\xf8\\xfa\\x08\\xab\\x1b\\xda\\xf3\\x12\\xe2\\xd2\\x5c\\x24\\xa1\\x09\\xaa\\x83\\x5e\\x35\\x45\\x79\\xe3\\x5a\\x9d\\x8e\\xf3\\x72\\xa5\\x65\\x09\\x1b\\x7c\\x85\\xed\\xbc\\x59\\x03\\x60\\xac\\xe5\\x0a\\xa3\\x2e\\x22\\x23\\xef\\xb2\\x42\\x53\\x45\\x31\\x54\\x3b\\x6f\\x60\\x64\\x30\\xcc\\x4c\\xa1\\xc2\\x4b\\x06\\x07\\x91\\x5d\\x9e\\x42\\x6e\\x15\\xb1\\x7a\\x15\\x74\\x77\\x01\\xb1\\x88\\x95\\x9a\\xfa\\xa0\\xaf\\x83\\x3a\\xa5\\x1a\\x41\\x98\\x55\\x35\\x99\\x1e\\x9d\\x28\\xb6\\x45\\x4d\\x24\\xbf\\x9f\\xb8\\x5f\\x03\\xde\\x80\\x5f\\x3d\\x6e\\x7a\\x3c\\x26\\xf6\\xf5\\x31\\xa9\\xbb\\x70\\x43\\x5f\\xbc\\xd3\\x1c\\xd7\\x92\\xf7\\xb5\\x01\\x01\\x63\\x00\\x91\\xf2\\x7f\\xdb\\x4e\\xa2\\x8e\\x3e\\x57\\xf6\\x07\\xe1\\x35\\xe1\\xd7\\xdf\\x3f\\xf6\\xc1\\xe9\\x5e\\x30\\x46\\x9c\\x06\\xcf\\xcc\\xeb\\xcc\\x70\\x8b\\x8a\\x1a\\x8b\\xf6\\x41\\xd7\\x3f\\xbb\\x56\\xd0\\x2f\\x43\\xbb\\x1d\\x21\\x92\\xd0\\x72\\x1f\\xcc\\x4d\\xd3\\xa9\\x54\\x6a\\xb5\\x11\\x6e\\xcd\\x50\\xd8\\x6c\\x0d\\x46\\xe2\\x34\\x13\\xd3\\x97\\x1a\\x4a\\xca\\x92\\x46\\xa3\\xd7\\xee\\x72\\x38\\x9d\\x2e\\x6f\\x49\\x69\\x8c\\x8e\\x58\\xc3\\x84\\xae\\xdc\\xed\\x4e\\x19\\x4a\\xe8\\x38\\x9d\\x34\\x06\\x92\\x1d\\xbc\\x5e\\x5b\\x16\\x2d\\xeb\\xe0\\x59\\x26\\x1a\\xb5\\x87\\x02\\x01\\x5f\\x3b\\x4f\\x92\\x01\\xca\\xed\\x85\\xc6\\xcd\\x6d\\xb1\\xb8\\x2d\\x76\\x63\\x07\\x6f\\x97\\x5b\\xe4\\x2a\\xb9\\xe3\\x92\\xf6\\x40\\x0c\\xf8\\xc8\\xe2\\x89\\x6b\\x26\\xe1\\x41\\x82\\x6e\\xdd\\xf0\\xdd\\xff\\x95\\xb5\\x0c\\xc0\\x56\\x22\\x83\\x72\\x3e\\xb5\\x51\\xc0\\xca\\x49\\x1f\\xec\\x0c\\xa1\\xd5\\x85\\xca\\x07\\x3a\\x40\\xc9\\x28\\x95\\x8d\\xd2\\x2f\\xd7\\x0f\\x54\\x95\\x0b\\x07\\xe7\\xa3\\x7c\\xcf\\x16\\xe1\\x63\\x4b\\x9e\\x5e\\xe5\\x8b\\x96\\x49\\xcd\\x47\\xc4\\xac\\x50\\x7a\\xd2\\xb4\\xc9\\x9d\\x8b\\x77\\x80\\xe6\\x67\\x3e\\xda\\xbc\\xf3\\x2a\\xa6\\x41\\x78\\xe1\\x4f\\x74\\xa7\\x80\\x92\\x3e\\xc2\\x80\\x99\\x28\\xeb\\x73\\xfd\\xf5\\x62\\x36\\x68\\xdd\\xba\\xce\\xad\\xa4\\x9a\\x3e\\xbf\\xe3\\x2c\\x81\\xa0\\x48\\x7f\\x12\\x76\\x53\\x0f\\x32\\x46\\x68\\x45\\x4b\\x88\\x0a\\x18\\xab\\x5e\\x95\\x1b\\x52\\xc9\\x71\\x1e\\x43\\xb5\\xd5\\x16\\x64\\x09\\x7d\\x69\\x88\\xa6\\xc9\\x54\\x79\\x24\\xaa\\x65\\x75\\x00\\xfa\\x42\\x75\\xd0\\x8e\\xd6\\x86\\x2a\\x9a\\x78\\x6b\\x79\\xca\\x46\\x06\\x55\\xfe\\x68\\x75\\x4d\\x84\\x0e\\x85\\xd4\\xc8\\xd0\\xb4\\xf0\\xc0\\xef\\x50\\xc7\\x9b\\x79\\x9d\\x9a\\x43\\x99\\xc3\\xbc\\x33\\x04\\x77\\x16\\xf4\\x0b\\x91\\x3d\\x05\\x19\\x65\\xf2\\x36\\x9f\\xc3\\xb5\\x46\\xad\\x32\\x62\\x85\\x35\\x43\\x89\\x19\\x6b\\x4a\\xce\\x0d\\x41\\x57\\x88\\x92\\x5d\\x69\\xd6\\xe6\\xcc\\xaa\\x58\\xd0\\x2b\\x49\\xf5\\x07\\x23\\xc7\\xbf\\x7e\\xfd\\xba\\xb3\\xab\\x63\\x65\\x07\\xc6\\x3f\\xdf\\xa7\\xff\\xeb\\x8f\\x3f\\xda\\xab\\x45\\x2a\\x35\\x6c\\x69\\xa4\\x3b\\xc6\\xbf\\xe8\\x09\\x0e\\xbd\\xa5\\x23\\xe8\\xbb\\xbe\\x69\\x28\\x78\\x5e\\xb3\\x6a\\xc4\\x70\\x61\\x37\\x58\\xce\\xbf\\x8d\\xb2\\x43\\x2c\\x68\\x16\\xb6\\x78\\x27\\xd5\\xcf\\x7a\\xb8\\x4c\\xf8\\x5d\\x12\\x17\\x20\\x3a\\xc1\\x9f\\x58\\x17\\xb8\\xc2\\xb0\\xe8\\xc5\\x1f\\xa7\\xf4\\xf9\\xc1\\x40\\x83\\x49\\x7e\\x97\\x70\\xae\\x74\\x3e\\x21\\xf6\\x28\\x50\\x7f\\xc5\\xfd\\x61\\x6d\\xb9\\x72\\x9b\\x59\\x63\\x30\\x90\\x6e\\xad\\xda\\x4d\\x98\\x19\\xaf\\x4a\\xe5\\xd3\\xe3\\x63\\x06\\x4f\\x99\\x89\\x31\\x21\\x02\\x1f\\x8b\\xc9\\x2a\\x9e\\x30\\x86\\x52\\x66\\x78\\x2f\\x00\\x9d\\x29\\xc7\\xec\\x4a\\x04\\x30\\xb6\\x08\\xf3\\x10\\x4c\\x37\\x3d\\x86\\x8e\\x12\\xad\\xb9\\x7f\\xe2\\x66\\xd3\\xe6\\xd2\\x66\\xe1\\xc8\\xad\\x08\\xed\\xd0\\xd0\\x56\\xba\\x36\\x3c\\x5c\\x71\\x76\\xda\\xce\\x60\\xa8\\x43\\x67\\xe0\\x28\\xb8\\x8f\\x90\\xf9\\x0f\\x23\\x18\\x37\\x33\\x4e\\x4c\\xce\\x55\\x41\\xfb\\x48\\xba\\x3c\\x21\\x75\\xc8\\x45\\xd0\\x49\\x2b\\xc7\\x25\\xb4\\xb8\\x90\\x8e\\x05\\xc0\\xc8\\x18\\xed\\xcd\\xbc\\xd9\\x6c\\xf4\\x46\\xfd\\x17\\xf1\\x51\\x86\\xa1\\x60\\x38\\x24\\xe2\\xb4\\x89\\x65\\x4e\\xff\\xb3\\x8a\\x2e\\xaf\\x15\\xd0\\xdc\\x29\\x65\\x1b\\x3b\\x9c\\xbc\\xad\\xd0\\xa2\\x5f\\x6e\\xda\\xd9\\x80\\xa2\\xdb\\x91\\x3b\\x4d\\x3b\\xc7\\x15\\x75\\xb1\\x4f\\x05\\x7d\\x72\\xe9\\xf2\\x5c\\xae\\x3c\\x9d\\x43\\x0d\\x61\\x13\\xdc\\x69\\x61\\x7a\\x9b\\x10\\x94\\x9b\\xd8\\x49\\x1b\\x15\\x17\\x7f\\x9a\\x13\\xfd\\x75\\x61\\x14\\xf3\\x31\\x94\\xcb\\x40\\x54\\x22\\xcb\\x4f\\xdb\\x2a\\x8c\\x5a\\x6d\\xc8\\x6f\\xf3\\x57\\xc5\\x93\\xc9\\x6a\\x84\\x94\\x00\\x15\\x7b\\x99\\xd7\\x47\\xb9\\x08\\x84\\x22\\x6d\\x64\\x39\\x84\\xcd\\x66\\x25\\x7a\\x04\\x76\\x95\\x45\\x1d\\x92\\xe2\\x8b\\x90\\xcb\\x1c\\xb3\\xd6\\x0a\\xd2\\x2a\\xf5\\x5a\\x8b\\x75\\x81\\xd9\\x0c\\x10\\xab\\xb8\\x14\\x5d\\xd8\\xd4\\xad\\x0f\\x0a\\x3f\\x6c\\x7b\\x69\\xf7\\xd3\\x9b\\x9f\\xbc\\x78\\x78\\x53\\x6a\\xd5\\xd1\\xed\\xe7\\xd7\\x1e\\x07\\xf3\\xce\\x0c\\xbc\\x79\\xda\\xd6\\x52\\xa1\\xcb\\xd0\\xbb\\x5e\\x6a\\xca\\x6e\\x5e\\x31\\x92\\x3e\\xff\\x96\\xb0\\xe9\\xe4\\x9b\\xdf\\xdc\\x4c\\x9d\\x8b\\x58\\x34\\xe7\\x26\\xcd\\xbd\\xf5\\xa7\\xcd\\xff\\x06\\x2b\\xdf\\xb7\\x7a\\x02\\x67\\x47\\x0c\\xcb\\xa6\\xfb\\xa0\\x16\\xed\\x41\\xd7\\x8c\\x1f\\x25\\xd6\\xa6\\x8d\\xa6\\x7e\\x86\\x76\\xd7\\x48\\x94\\x23\\x19\\x0d\\x2e\\x1b\\x1d\\x0c\\xc6\\xc2\\xae\\x70\\xba\\xa4\\xac\\xac\\x22\\x64\\xf2\\x69\\x10\\xc6\\xae\\x0d\\xda\\x40\\xd4\\x54\\x59\\x5a\\x6a\\x32\\x25\\xa0\\x25\\xf6\\xf6\\xe4\\x68\\x6c\\xec\\x29\\x63\\x5c\\x41\\xfe\\x05\\x85\\xc5\\x7d\\x4c\\x59\\x55\\x34\\x64\\x96\\xe0\\x7b\\xa0\\x42\\x2a\\x74\\x9b\\x83\\x4d\\x0d\\x97\\x0f\\xa8\\xb6\\xb7\\x0e\\x9b\\xb2\\xa1\\x85\\x6c\\x5a\\x72\\x5d\\xd9\\x9a\\xfb\\x84\\x6f\\x6f\\xf8\\x64\\xdd\\xd8\\x79\\x36\\xdb\\x9e\\x83\\x36\\x11\\x51\\x61\\xdc\\xd8\\x4c\\x2d\\x70\\x5e\\xdd\\x3a\\xeb\\xea\\xb5\\xc2\\x0f\\xbb\\xbe\\xe9\\x14\\x56\\x5c\\xd7\\xfe\\xf2\\x8d\\xa0\\xf9\\x79\\x90\\xda\\x35\\x64\\xc0\\x82\\xf3\\xbe\\xcb\\x7a\\x8b\\xa0\\x0a\\x78\\x5f\\xe2\\xbb\\x7e\\x8c\\xfb\\x1e\\x22\\x66\\xe7\\xea\\x43\\xd0\\xa7\\x70\\x72\\x3a\\x93\\xde\\xa7\\xd1\\xe8\\x75\\x4e\\x82\\xb1\\x47\\xec\\x61\\x8b\\xd3\\xee\\x6c\\xe7\\x75\\xc0\\x0c\\xf7\\x68\\x07\\x1f\\x42\\x28\\x6e\\x16\\x13\\xf4\\x85\\x4c\\x16\\x06\\x46\\xa0\\xf9\\xa3\\x25\\x5f\\x0e\\xca\\x51\\x87\\xe5\\x42\\xf0\\x6e\\xca\\x3d\\x8a\\x9d\\x0e\\x14\\x63\\x52\\x32\\x18\\x49\\x1c\\x43\\xad\\x47\\xa9\\x71\\xdc\\xee\\x59\\xd0\\x2c\\xdb\\x3e\\xfa\\xbb\\xb0\\xeb\\xf3\\x8d\\x5a\\xe1\\xed\\x9f\\x4f\\x4d\\x7c\\x4a\\xdb\\xf9\\xb5\\x76\\xd7\\x44\\xb0\\xe0\\xc8\\x31\\xe1\\xb3\\xbb\\x2f\\x21\\x47\\x4f\\x24\\x87\\x7b\\x6a\\x77\\x3f\\x20\\xbc\\xda\\xd6\\xf9\\x4f\\x6f\\x2d\\x39\\x5a\\xa0\\xb1\\x7f\\x7e\\x7e\\xe2\\xe3\\x0f\\xfc\\xd0\\xf9\\x0a\\x9c\\x6b\\x12\\xd5\\x28\\x60\\x8c\\xab\\x8b\\x72\\x29\\x27\\x54\\x13\\x16\\xa3\\xd6\\xc8\\x51\\x1e\\x86\\x24\\xbd\\x7a\\xce\\xcc\\x35\\xf3\\x1a\\x78\\xce\\xec\\x76\\x6b\\x13\\x6f\\x37\\x19\\xed\\x30\\xfe\\x66\\x5a\\x79\\x9a\\xe0\\x50\\x1f\\xac\\x08\\xc2\\x77\\xe1\\x93\\x26\\x25\\x64\\x70\\xeb\\xab\\x8c\\x68\\x10\\x95\\x43\\x29\\x16\\x3a\\x79\\xef\\xd5\\xf8\\xcb\\x53\\x89\\xe6\\x47\\x87\\x59\\xde\\x33\\xbd\\x37\\x72\\xf7\\xa8\\xa5\\xa6\\xa5\\x8d\\x4b\\xd4\\xc0\\x1e\\x6c\\x79\\x96\\x3a\\xa6\\xfe\\x79\\xf9\\x35\\x33\\x67\\xb7\\x09\\x6d\\xe0\\xb1\\x36\\x70\\xa9\\x3b\\xfd\\xde\\xb2\\x2b\\xe1\\x1e\\x4b\\xa1\\xbc\\x2c\\x7c\\x0f\\x7e\\xf8\\x1e\\xae\\xce\\x0d\\xb6\\x04\\x03\\x21\\x33\\xc3\\x59\\xad\\x6e\\x9f\\x9f\\x82\\x2f\\x87\\x81\\x6e\\x82\\x4e\\xcb\\x32\\x2a\\x97\\x47\\xed\\x08\\x3b\\x22\\x2e\\x9d\\xce\\xca\\x19\\xb8\\x76\\x3e\\xe4\\x53\\x6b\\xd4\\xed\\xbc\\xdb\\x1c\\xf0\\xab\\x28\\x8d\\x86\\xb2\\x1b\\x7a\\x60\\x1e\\x8a\\x69\\x80\\xbc\\x59\\xec\\x01\\x58\\x09\\xff\\x9b\\x11\\x63\\x7f\\x09\\x02\\x91\\x0a\\x67\\xc3\\x95\\x00\\x69\\x40\\x67\\x9e\\xe9\\x39\\x0c\\x92\\xd6\\x30\\x39\\x4d\\x6a\\x46\\xbe\\x53\\x78\\xdb\\x04\\x74\\x0d\\x62\\x4b\\x72\\x5f\\xb0\\xee\\xfa\\x03\\x5a\\x70\\x48\\x7b\\xef\\x8d\\x67\\x4d\\xc2\\xdf\\x84\\x8f\\x03\\x1f\\x0a\\x2f\\x36\\x8b\\x5d\\xc9\\xe0\\xcd\\xb6\\xe3\\x48\\x23\\x1e\\x17\\xff\\x6e\\x13\\xfa\\xcd\\x03\\x3c\\xda\\x77\\x88\\x17\\xe4\\x6d\\x18\\x2f\\x20\\x6f\\xe1\\x8a\\x5c\\x3f\\xb6\\xac\\xa4\\x54\\xcd\\x68\\x55\\x5a\\xa7\\xcd\\x65\\x76\\x25\\x54\\x14\\x41\\x91\\xc9\\x84\\x59\\x65\\x0f\\xd8\\xcb\\xc3\\x81\\x40\\xaa\\x4c\\x2a\\x34\\x86\\x0a\\x92\\x29\\x71\\x25\\x12\\x29\\x5f\\xb4\\x05\\x46\\x14\\x3e\\x9f\\x11\\xe9\\xc6\\x8c\\x7c\\x67\\x57\\x99\\xc9\\x14\\x3c\\x80\\x1e\\x91\\x62\\xbd\\x2c\\x27\\xdc\\x7f\\x48\\x3e\\x6b\\x58\\xbc\\x04\\xc9\\xe0\\x5b\\x32\\x04\\xf7\\x68\\x24\\xa3\\x8a\\x1e\\x67\\x2f\\x74\\x9e\\x8c\\xcf\\x66\\x50\\x27\\x73\\x03\\x18\\x51\\x57\\xe6\\x52\\x1f\\xf5\\x24\\xfa\\xed\\x30\\xbe\\x2a\\x1c\\x5e\\x7c\\xcb\\xcd\\xa3\\x0b\\xcd\\xce\\x8b\\xbe\\x38\\x26\\xfc\\x97\\x8c\\xb5\\x7d\\x07\\x95\\xe5\\xdb\\x33\\x47\\xc5\\xcb\\xd9\\xb4\\xb3\\x24\\xb6\\x60\\x66\\x5b\\xe7\\xbb\\xaf\\xec\\x18\\x23\\xb5\\x3b\\x93\\x2e\\xe1\\x31\\xd0\\x86\\xf4\\xc9\\x38\\x68\\xbf\\x2e\\xc5\\x35\\x16\\xa5\\x88\\x3b\\x23\\xac\\x75\\x38\\x28\\x5f\\x20\\x66\\x32\\x05\\x28\\xaa\\x2c\\x55\\x9a\\xd0\\x27\\x5a\\x78\\x6b\\x18\\xf1\\xa9\\x11\\x7a\\x4e\\xc4\\xe9\\x0c\\x10\\x84\\x5b\\x62\\x51\\xcb\\x2b\\x93\\x0b\\x40\\x36\\xe1\\x8d\\xc9\\xe4\\x91\\x0d\\x9c\\x52\\xd6\\xd5\\x24\\x37\\x01\\xd4\\x61\\x35\\x42\\x89\\x9e\\x3f\\xb4\\xdb\\x6d\\x2b\\xae\\x63\\xe7\\x2d\\x54\\x03\\x92\\xbc\\x63\\xcd\\xc2\\x6b\\xbe\\xfd\\x6c\\xb9\\x9b\\xae\\x1e\\x58\\xba\\x30\\x9e\\xed\\x1d\\x7b\\xe4\\x91\\xab\\x40\\xec\\xd6\\x7e\\x97\\xd6\\xd9\\x26\\x4e\\x0f\\xf7\\x27\\xdb\\xdd\\xe9\\x29\\x4b\\x2e\\xbf\\xec\\xc1\\x43\\x0c\\xbd\\xbe\\xcc\\xd2\\x38\\xc4\\x6b\\xbb\\xea\\x44\\x14\\x7c\\x46\\xb3\\xbf\\xdc\\x1a\\x75\\x89\\x58\\x66\\xd4\\x01\\x28\\x93\\x19\\x4a\\x35\\x24\\x17\\x75\\xb3\\x01\\xca\\x64\\xe2\\x58\\x2e\\x1c\\x31\\xc1\\xa3\\xa5\\x83\\x26\\x4d\\xc7\\x51\\x5e\\xc6\\xdb\\xc2\\x33\\x0e\\xd2\\xdc\\xc4\\x93\\xf6\\x1e\\xcd\\xff\\x8d\\x4a\\x37\\x17\\xe5\\xf4\\xc2\\xc5\\x8a\\x50\\x97\\xaf\\x43\\x16\\x19\\x13\\xa9\\x5b\\xd5\\xc2\\x2f\\x00\\xa9\\xc0\\x1b\\x3f\\xbd\\x1d\\xab\\xc0\\x6d\\x63\\xa0\\x6a\\x5c\\xdf\\xfa\\x30\\xd6\\x92\\xe9\\xf4\\x7c\\xa8\\xf5\\x0e\\x81\\xf4\\x5e\\xa4\\xf5\\xb6\\x92\\x2d\\xb3\\xae\\x5e\\x23\\xfc\\xf0\\xe0\\x37\\x50\\x3b\\x9a\\xae\\xc4\\xb6\\x6b\\x0c\\x9c\\xf3\\x8b\\x85\\x39\\x23\\x34\\x10\\xce\\x0d\\x0d\\x54\\x38\\xc2\\xd9\\xa5\\x39\\x3b\\xa4\\x39\\x73\\x00\\xce\\x19\\x98\\xfe\\xc7\\x9c\\x25\\x8a\\x61\\x54\\x65\\x19\\x32\\x8b\\xad\\x17\\x49\\x36\\xea\\x15\\xaf\\xd4\\x2c\\xe2\\x7a\\x53\\xaa\\xa5\\x6a\\xe8\\x2c\\xae\\xb9\\x0f\\x58\\x97\\x7f\\xba\\xa6\\xe7\\x94\\xa9\\x5b\\xe0\\x9c\\x85\\x03\\xcf\\x0b\\xa7\\x77\\xc0\\x39\\x53\\x97\\x76\\xee\\x87\\x73\\x06\\x26\\x34\\x67\\xe1\\xab\\xab\\x89\\x02\\xef\\x0a\\xc2\\xde\\x2c\\x83\\x73\\x8e\\xd9\\x02\\x01\\x4a\\xaf\\x89\\x79\\x3c\\x1a\\x8a\\x4a\\x95\\xdb\\x92\\xce\\x64\\x2b\\xef\\xe4\\x58\\x23\\x6a\\x03\\x66\\x01\\x11\\x52\\x30\\xef\\x55\\xf6\\x00\\x78\\x95\\x12\\x5f\\xa8\\x05\\x5b\\xd9\\xc9\\x6f\\x02\\x8a\\x24\\x73\\xbc\\x88\\x6c\\x65\\xed\\x84\\x7d\\x8d\\x7b\\x4a\\x8e\\x4a\\xbc\\x30\\xd9\\x01\\x43\\x3d\\x36\\x8b\\x4d\\x4e\\x2a\\x0b\\xa7\\x0a\\x99\\x64\\x5b\\x3a\\x49\\x3d\\xf9\\xb7\\x53\\x08\\x05\\x6b\\xf1\\xbd\\x57\\x5e\\x33\\x4c\\x4e\\x21\\x2f\\x2f\\xb0\\xad\\x00\\xcc\\xb1\\xd6\\x0c\\xd7\\xdf\\x43\\xf4\\xca\\x79\\x39\\x83\\x43\\xa5\\x22\\x0c\\x94\\xd7\\xa7\\xb5\\x34\\xf3\\x46\\xa3\\xd6\\xe1\\xf1\\x50\\x94\\xab\\x85\\xa7\\xb8\\xe2\\x26\\xe6\\x7c\\x0c\\x6b\\x2d\\x66\\x86\\x11\\xdd\\x1c\\x0b\\x0a\\xb6\\xd9\\xd5\\x22\\x91\\x81\\xd0\\x79\\xc7\\xb0\\x1d\\xbd\\xd2\\x88\\xe0\\xa0\\x7d\\xdf\\x8c\\x3f\\xac\\xbb\\x9f\\x8a\\x62\\x06\\x03\\xe1\\xd3\\x27\\x02\\x0e\\xa0\\x7a\\xa2\\xf1\\x0e\\x40\\xc0\\xf9\\xcc\\x84\\xfa\\xe8\\xcb\\xae\\xc7\\xa9\\xa5\\x70\\x2e\\x5a\\xe8\\x75\\xb7\\xe7\\xaa\\x19\\xab\\x35\\x11\\x88\\x12\\xee\\xb4\\x3b\\x9a\\xa0\\xc3\\x55\\xe1\\x4a\\x2b\\x13\\x0d\\x30\\x01\\x4a\\xed\\xa0\\x50\\x32\\xdf\\x57\\x56\\x51\\x51\\x56\\x06\\x57\\xb9\\x8c\\xf3\\xa9\\x5b\\xf8\\xb0\\x0f\\x2e\\xf2\\xab\\x85\\x3c\\x0e\\x46\\x53\\x13\\x13\\x39\\x99\\x0b\\x55\\x74\\xe1\\xea\\x5b\\x9c\\xd3\\xb0\\x8a\\x30\\x10\\x7e\\x20\\x5f\\x0d\\xa1\\xa4\\x3e\\x1b\\x15\\x4b\\x42\\xa4\\x16\\x08\\xf2\\xc5\\x56\\xfe\\xfe\\x6b\\x1c\\xf3\\x9b\\xae\\xba\\xee\\x22\\x91\\xaa\\x61\\xe0\\x6e\\xfe\\x8a\\xeb\\xde\\xdd\\xf7\\xfb\\xc9\\xd9\\xd8\\x88\\xf4\\x48\\xa3\\x09\\x31\\x36\\x0c\\xdc\\x57\\x95\\xfe\\xa8\\xac\\x17\\x3f\\x68\\xc4\\x58\\xf0\\x15\\x26\\x6c\\x30\\xd7\\xd5\\x4f\\x9f\\xb4\\xe8\\xde\\xcb\\xc7\\xf1\\x6b\\x2e\\x0b\\xb7\\xc7\\x10\\x6f\\x43\\xc8\\x26\\x9c\\x15\\xf3\\xac\\xa8\\x36\\x88\\x61\\xd6\\x41\\xbf\\xad\\x02\\x7a\\xd1\\x69\\xd6\\x95\\x08\\x18\\xcc\\x65\\xe5\\xe5\\x66\\x17\\x55\\x19\\x8d\\x56\\x45\\x42\\x4d\\x7c\\x84\\x10\\xc9\\x03\\xac\\x5a\\x91\\x3e\\xa0\\xbc\\xdc\\x68\\x2c\\x69\\x2e\\x4a\\xdb\\x28\\x6e\\x2e\\x14\\xe9\\xc5\\x4c\\x4f\\x0a\\x01\\xab\\xe4\\xd7\\x28\\x28\\x04\\xd0\\x35\\x5f\\xc1\\xb5\\x29\\xa2\\x12\\x38\\xb4\\xe4\\xba\\x6a\\x05\\x8d\\x80\\x58\\x06\\x74\\x56\\xf6\\x6f\\x94\\x74\\x02\\x9d\\xfc\\x8a\\xeb\\xa6\\x7d\\x2f\\xb3\\x09\\x88\\x75\\x3f\\x7d\\x0b\\x0e\\x0e\\xe6\\x49\\x60\\x4a\\xe0\\x79\\x31\\x40\\xdf\\x6d\\x6c\\xae\\x94\\x0d\\xc6\\x1d\\x06\\x77\\xd0\\x9d\\xe6\\x10\\x79\\x08\\xde\\x68\\x65\\x20\\x0a\\xc5\\x8c\\x72\\x1e\\xad\\x0f\\x8a\\xe9\\x73\\xb8\\x1d\\x4d\\xbc\\xdb\\xde\\xfd\\x6a\\xa6\\x18\\xc2\\xe3\\x02\\x12\\x02\\x19\\x4d\\xae\\x1b\\x57\\x42\\xa3\\x88\\x92\\x51\\x24\\x1f\\xb9\\x4c\\x02\\xac\\x3d\\xd2\\x8d\\x31\\x81\\x64\\x30\\x9e\\xad\\x52\\x42\\xea\\x24\\x42\\xaf\\x3d\\x27\\x28\\x48\\x13\\xfc\\x25\\xef\\x7f\\x64\\x85\\xb2\\x69\\xe0\\xf9\\xb9\\x08\\xef\\xd9\\x30\\x31\\x20\\x17\\xa1\\xbc\\x6e\\xb5\\x4a\\xa7\\xf3\\x5a\\xa8\\x48\\x54\\xe5\\x6e\\xe2\\x55\\x2a\\x53\\x30\\x08\\x8d\\x66\\x90\\x33\\xc1\\x50\\xd0\\x6a\\x35\\x39\\xba\\x81\\x7a\\x29\\x71\\xf8\\x31\\x82\\x14\\x4a\\x2d\\x22\\x93\\x08\\x24\\xfd\\x95\\x15\\xf3\\x6e\\x31\\x89\\x2c\\x01\\x7c\\xd2\\x34\\xfd\\xd9\\x83\\xba\\x59\\xc0\\xbe\\xe2\\xdf\\x3b\\x3b\\x76\\x64\\x22\\x99\\xb5\\x7d\\xd7\\x1d\\xf5\\x77\\xfe\\x7b\\xc2\\x8e\\x4b\\x1f\\x79\\x8b\\x5a\\x7a\\x49\\xeb\\xf4\\xab\\x0c\\xb9\\xbe\\xab\\x36\\x0b\\x87\\xf6\\x08\\xbf\\x6e\\xe8\\x57\\x53\\xef\\x8b\\x3e\\xb1\\x2d\\xf2\\xfd\\x98\\x1b\\x47\\xfc\\x0d\\xbd\\x8b\\x4a\\xc4\\x0f\\x29\\xf5\\xbb\\x0d\\x40\\xfd\\x6e\\x6e\\x86\\xb6\\x58\\xf4\\xd0\\x49\\xc3\\xfd\\x6e\\x3a\\x53\\xa1\\xe3\\x2d\\xdf\\xef\\xf6\\x5b\\xbc\\x01\\xff\\xa7\\x8e\\xb7\\xca\\xff\\x3f\\x1d\\x6f\\x78\\xbe\\x8c\\x43\\xaa\\xc7\\x98\\x9b\\x83\\x9e\\x78\\xb2\\xaa\\xca\\xc2\\xc6\\x5c\\x2e\\xd6\\x40\\xd1\\x75\\x81\\x40\\xd6\\xef\\x0f\\x7b\\xc2\\xcd\\xbc\\x1d\\xaa\\xdf\\x72\\x4e\\xd3\\xc2\\x27\\xab\\xd8\\xaa\\x66\\xde\\xc2\\xb2\\x04\\xa7\\xd7\\x73\\x1c\\x51\\xae\\x54\\xbf\\x0a\\xec\\x0e\\x2c\\x4f\\x7d\\x8f\\xf2\\x94\\x82\\x42\\x46\\x0b\\x1e\\xcf\\x4b\\x16\\x72\\x62\\xdc\\x02\\xd1\\xee\\xc9\\x98\\x59\\x59\\xd6\\x09\\xc5\\x45\\x24\\xa8\\x59\\xb1\\x11\\xaa\\xf1\\xda\\x4d\\x8b\\x3e\\x03\\x4e\\xf7\\xd3\\x92\\xb4\\x80\\x6e\\xa8\\xa8\\xb0\\x8e\\x77\\x4c\\x4c\\xf1\\x25\\x11\\xff\\x2d\\x23\\xc7\\x4d\\x61\\x7b\\x51\\xeb\\xce\\x2e\\x6e\\x5d\\x3f\\x83\\xfe\\xe9\\xed\\x06\\xdb\\xc2\\xc9\\x63\\xd7\\xac\\xbb\\xe1\\x45\\x2c\\xfc\\xc7\\x8e\\x80\\x47\\x7f\\x43\\x72\\x69\\xae\\x5f\\x72\\xf4\\xb4\\x8e\\x8b\\xe3\\x51\\x57\\x2d\\x5a\\x8d\\x31\\xeb\\x01\\xb8\\x71\\xe9\\x33\\xd3\\xeb\\x87\\xe1\\xfc\\x63\\x29\\x7c\\x7f\\x31\\xb8\\x1e\\x95\\xc4\\xa4\\x5c\\x4d\\x29\\xe3\\xd5\\xdb\\x2d\\x16\\x22\\xa2\\xd6\\x33\\xaa\\xaa\\x6a\\x75\\x22\\x10\\x48\\x34\\xf1\\xfa\\x80\\x2f\\x40\\xea\\xa9\\x40\\x80\\xe4\\x38\\x57\\x33\\xdc\\x74\\x1c\\x57\\x59\\x49\\x92\\xe5\\x2d\\x3c\\xe9\\xe8\\x89\\x45\\xd1\\x2e\\x01\\xdd\\x17\\xc1\\x1c\\xc4\\xa5\\x28\\xb5\\x11\\x20\\x1d\\xa8\\x04\\x8d\\xc7\\xfb\\xb3\\x3f\\xe8\\x8b\\x00\\x2a\\x92\\xb2\\x47\\x93\\x25\\x5f\\xdc\\xf5\\xd6\\xc6\\x7b\\x37\\x2f\\x05\\xcd\\x43\\xe7\\xfe\\x6e\\xde\\xca\\xcb\\x62\\x55\\x71\\x7b\\x6b\\x72\\xf2\\x92\\xea\\x8a\\xd0\\x0a\\x8b\\xdb\\xec\\xe9\\xbd\\xfa\\xa2\\xf6\\xd9\\x17\\x0f\\xbb\\x66\\xd8\\xf2\\x8d\\x4b\\x2f\\x5b\\xf0\\xa0\\x9b\\xf5\\x4e\\xc8\\x35\\x5d\\x37\\x34\\xf6\\xea\\x42\\xb3\\xeb\\xb2\\xa9\\x35\\xa3\\xcc\\x34\\xdb\\x61\\x70\\x2e\\x6e\\x1d\\x33\\xa1\\xb4\\x4a\\xcc\\x65\\x7f\\xd9\\x75\\x06\\xd7\\xc0\\xa6\\x89\\x99\\xb9\\x7a\\x9b\\x83\\x88\\x1a\\xfd\\xfe\\x68\\x50\\xe5\\x60\\x4a\\x2a\\x4b\\x2a\\x42\\x3a\\x4a\\x07\\x43\\x72\\xbd\\xce\\xa7\\x1b\\xad\\x9b\\xac\\x9b\\xaf\\x63\\xf4\\x94\\x4e\\x97\\xf0\\x24\\x52\\x2d\\x7c\\x69\\x69\\xc2\\x81\\x30\\x9a\\xcd\\xcd\\xbc\\x87\\xfb\\x1f\\xe2\\x76\\x23\\x8b\\x41\\x85\\xbd\\x29\\x90\\x45\\xca\\x5e\\x66\\xb1\\x45\\x59\\x59\\x69\\x4f\\x9b\\xc4\\x8a\\x41\\xb9\\x6c\\x07\\x74\\xf6\\xaa\\xd9\\x35\\x22\\x64\\x0e\\x85\\x0f\\x18\\x47\\x8c\\x1b\\xdf\\x9a\\x6a\\xf7\\xd5\\x67\\x13\\x7d\\xae\\x1c\\xb9\\x67\\xef\\xa7\\x60\\xec\\xe4\\xf7\\x5f\\xdf\\x77\\x6b\\xf0\\xda\\x8d\\xf3\\x97\\x03\\x5f\\x03\\x6f\\xd5\\x77\\xc0\\x20\\x6a\\xe1\\xe8\\x91\\x63\\xfc\\x96\\xf9\\x6f\\xeb\\xad\\x4b\\xe7\\x3e\\x31\\x9c\\xb5\\xcd\\x19\\x7e\\xcf\\x8e\\x8e\\x7e\\xbd\\xa7\\xcb\\xb2\\xd2\\x2b\\xa1\\xac\\x83\\x88\\xeb\\x72\\x43\\x32\\x7e\\x23\\x51\\x5f\\x15\\x8d\\xd6\\x1b\\xeb\\x54\\x0e\\x55\\xff\\xb2\\xb2\\x21\\xfd\\x07\\xd7\\x51\\x50\\xaa\\x74\\x3a\\x54\\x13\\xd2\\x79\\x2e\\x20\\x78\\x3f\\x4f\\xbf\\x01\\x2d\\x7c\\x63\\x63\\x3f\\x07\\x92\\x1a\\x0a\\xcf\\xe5\\x79\\x30\\xbb\\x8b\\x2d\\xee\\x71\\xb8\\xe3\\xeb\\xbb\\xa1\\x54\\xfe\\xbf\\xd6\\x40\\xde\\xfe\\x8e\\xe2\\xfd\\xaf\\xfa\\xbf\\xae\\xcc\\xae\\xbd\\x8c\\x23\\x62\\x1f\\xef\\x28\\x4d\\x47\\x06\\x95\\x97\\x04\\xae\\x1a\\x39\\x72\\x0a\\x5b\\x9a\\x3c\\xf0\\xff\\x5a\\xad\\x45\\x97\\x68\\xbc\\x51\\xfd\\x0d\\x25\\xfd\\x7b\\xa7\\x1a\\x3c\\x4d\\x17\\x5f\\x74\\x71\\x4d\\xd4\\x7a\\x6d\\xef\\xa2\\xf5\\x23\\x89\\x61\\xf0\\x4c\\xdc\\x82\\x63\\xcc\\x34\\x31\\x3e\\x57\\x43\\x97\\x69\\x63\\x4e\\xbf\\x3f\\x16\\xe2\\xca\\x98\\x8a\\xca\\xb0\\xcd\\x60\\x33\\xc0\\x25\\xb3\\xf9\\x6c\\xa3\\x6d\\x93\\x6d\\xf3\\x6d\\x70\\xc9\\x6c\\xb6\\xa4\\x27\\xc9\\xb6\\xf2\\x49\\x87\\x87\\x68\\x15\\xb7\\x49\\x41\\xc7\\x5d\\xf0\\x40\\x80\\x88\\xbc\\xd7\\x51\\xb4\\x82\\x56\\x05\\x73\\x38\\xa1\\xff\\x91\\xbc\\x7b\\x69\\x19\\x70\\xca\\x8e\\x1c\\x76\\xd5\\xcb\\x97\\x3f\\xb0\\xfe\\xba\\x8d\\x0b\\x26\\xcd\\x1c\\xe0\\x30\\x3b\\x02\\xcb\\x6e\\x58\\xb5\\x78\\xf8\\x8a\\xfb\\x6e\\xb8\\x02\\x0c\\x9b\\x7c\\xe2\\xc1\\x83\\xef\\x6c\\x3c\\x47\\xc5\\xa7\\x3c\\xb6\\xec\\xe6\\x4d\\x13\\x47\\xd5\\x8f\\x52\\x69\\xe8\\x0e\\x9d\\xa1\\x2d\\xd7\\x7f\\xd0\\x8e\\xab\\xa7\\xcf\\x5c\\x6f\\x67\\x8d\\xb3\\x87\\xaf\\x7c\\xec\\xfd\\xa7\\x1f\\x02\\x96\\x7b\\x31\\xae\\xf5\\x23\\xc2\\x24\\x72\\x36\\xae\\x51\\x1c\\x97\\x2b\\xa3\\x58\\xd6\\x69\\xa5\\xad\\x76\\x4a\\x47\\x10\\x3e\\x23\\x34\\x35\\xa4\\xcb\\x03\\x4f\\x39\\xe5\\xb0\\x23\\x38\\x5c\\xbb\\x5d\\xe3\\x31\\x69\\xe0\\x2e\\xd0\\xeb\\x35\\xcf\\x00\\xb3\\xbc\\x0f\\x7e\\x13\\xb2\\x28\\x23\\x03\\x5d\\x77\\x4b\\xb3\\x35\\x02\\x31\\x94\\x26\\x67\\x6b\\xee\\xbf\\x6e\\x8f\\x69\\x0f\\x5b\\x94\\x65\\x4b\\xbc\\x68\\x7a\\xf1\\xba\\x3d\\x1a\\xea\\xb1\\x5a\\x4f\\x67\\x63\\x5b\\xa9\\x9c\\x66\\xfb\\x53\\x1b\\xf9\\x92\\x47\\xea\\xab\\xb6\\x09\\x43\\xb0\\xcd\\x2f\\x21\\xb2\\x28\\xd7\\x66\\xd2\\xd7\\x79\\xd2\\xf6\\x48\\x44\\xa5\\xf2\\xe8\\xa9\\xde\\xc9\\x64\\x7d\\x49\\x49\\x3c\\x0e\\x4d\\x7e\\x1c\\xa0\\x12\\x9f\\x70\\x80\\x73\\x95\\xb6\\xf0\\x0e\\x97\\x03\\xf9\\x9d\\x06\\x83\\xd6\\x97\\xdf\\xc0\\xf9\\xbf\\x7e\\x4b\\x53\\x03\\xc9\\xe4\\xe3\\x3c\\x9b\\x0c\\x66\\x82\\xf0\\x22\\x0b\\x51\\x8b\\xa8\\xbf\\x40\\x71\\x96\\x87\\x3e\\x8d\\xcc\\xff\\x70\\xf7\\x2b\\x89\\x5f\\xdf\\x59\\xbc\\xb1\\x32\\x6b\\x08\\x77\\xa4\\x6e\\x5e\\x17\\xb6\\x15\\x62\\x99\\x70\\xfc\\xcd\\x7b\\xc7\\xf6\\x8f\\x9d\\xdf\\x20\\x27\\x7c\\xd6\\xb7\\xd2\\x2f\\x5f\\x6b\\x5f\\xbc\\xf1\\xdc\\xfe\\x3f\\x7e\\x12\\x04\\xaa\\xdd\\x76\\xcf\\xde\\xa3\\x0b\\xf3\\xf1\\xcd\\xa1\\x13\\x9f\\x59\\x4f\\x9c\\x5b\\x8b\\x43\\x9b\\xa9\\x52\\x9c\\x93\\x5f\\x0b\\x1c\\x97\\xf9\\xa0\\x15\\x1b\\x95\\x4b\\x96\\xe9\\x9d\\x4e\\x77\\x8c\\x63\\x48\\x92\\x73\\x53\\xe9\\x72\\x97\\xc9\\x06\\x43\\x04\\xa7\\x8d\\x33\\xc2\\x90\\x53\\x6f\\x74\\x10\\x6a\\x5c\\x2a\\x53\\xc0\\x6e\\xca\\xff\\xd5\\x83\\xde\\xef\\xb7\\x04\\x46\\x9d\\x72\\xd6\\xe2\\x40\\x0d\\x78\\x2e\\x2c\\xa4\\x6d\\xcf\\x9e\\xc4\\xaf\\x1f\\x2b\\xe2\\x1f\\x61\\x48\\x4f\\xd1\\x16\\x9c\\x6f\\xfa\\xe3\\x27\\x74\\x6b\\x71\\xf0\\x06\\x70\\xbc\\xf9\\x10\\xe6\\x24\\x1f\\x9a\\x8b\\x59\\x29\\x77\\xc0\\xa0\\xd5\\xc2\\xf0\\x39\\x12\\x0d\\xb8\\xbd\\xd0\\x97\\xf0\\x7a\\x09\\x96\\xe5\\x60\\x00\\xa7\\x63\\x39\\x02\\x3a\\x74\\x8a\\x28\\x48\\x01\\xe1\\xa2\\x3c\\x65\\x4c\\xa1\\xe9\\x98\\x8d\\x66\\x91\\xb9\\x91\\x73\\x8f\\x72\\x2f\\x20\\x78\\xee\\xe0\\x09\\x68\\x10\\x77\\x36\\xde\\xd3\\x98\\xe8\\x4f\\x85\\x3a\\x32\\x07\\xde\\x5f\\x38\\x6f\\xe2\\xe8\\x8a\\xcb\\xd5\\x60\\xa1\\x7a\\x72\\xb6\\x79\\x87\\xed\\xe8\\xbe\\xe7\\x81\\x7f\\x8b\\xdb\\xfd\\xe5\\xaa\\x50\\x44\\x78\\xef\\x97\\xb5\\x1b\\xcb\\x00\\xed\\x49\\xa7\\xdd\\xc2\\x1b\\xde\\x04\\x7c\\x17\\x3e\\x61\\x08\\x1d\\x83\\x67\\xc9\\x01\\xa3\\xb7\\x71\\xb9\\x72\\xdf\\xff\\xc7\\xdd\\x7b\\xc7\\x47\\x55\\xa5\\x0d\\xc0\\xe7\\xdc\\x3a\\xfd\\x4e\\xef\\x93\\x99\\xc9\\x24\\x33\\xa9\\x24\\x64\\x12\\x42\\x20\\x90\\x11\\x08\\x84\\x1e\\x20\\x94\\x11\\x48\\x10\\x42\\xef\\xbd\\x37\\x41\\x5d\\x15\\x16\\x54\\x44\\xb1\\x57\\x70\\x95\\x55\\x41\\x01\\x7b\\x6f\\xaf\\x88\\x65\\x17\\xb7\\xe8\\xee\\xe2\\xba\\xeb\\xea\\xee\\xba\\xab\\xbb\\x96\\x55\\x20\\x77\\xbe\\xe7\\x9c\\x7b\\xa7\\x25\\xa0\\xfb\\xfe\\xbe\\xf7\\x8f\\xef\\xf7\\xa1\\x4c\\xe3\\xde\\x73\\x9f\\xf3\\x9c\\xe7\\x3c\\xed\\x3c\\x45\\xf0\\x6a\\xcd\\xc8\\xc5\\x5a\\xc0\\xfc\\x47\\x5a\\x81\\x2f\\xb0\\xdb\\x83\\x5a\\x2f\\x32\\x7b\\xcd\\xbc\\xc1\\xa2\\x93\\x0c\\xd2\\x58\\x60\\x49\\x12\\x1f\\x68\\x4d\\xf2\\xe9\\xae\\x23\\xea\\x69\\xd0\\x05\\xed\\x0a\\x2a\\x3b\\xad\\x01\\xac\\x74\\x1c\\x61\\x33\\x1d\\x47\\x48\\xbf\\x04\\x9a\\x3a\\xe2\\xc2\\x9f\\xb4\\x60\\xf9\\x27\\x7d\\x1d\\x63\\x16\\x9d\\x9e\\xaa\\xc1\\xc7\\x35\\xb7\\xdc\\x80\\xaf\\xd8\\xab\\xc1\\xd3\\x34\\xed\\x5d\\x6f\\xe8\\x1d\\xcb\\x24\\xdb\\x52\\x50\\xdc\\x9c\\x4e\\x7d\\x60\\xd4\\x43\\xc7\\xd8\\x29\\x9e\\xca\\x4a\\x5f\\xd7\\x66\\xe6\\x0a\\x78\\x77\\x9c\\xab\\x4b\\xcc\\x69\\x7f\\x72\\xa4\\xa8\\xd0\\xd4\\x4c\\xc0\\xfd\\x9f\\x60\\x1e\\x0e\\xe4\\x23\\xf3\\x70\\x0a\\x46\\x9d\\x57\\x23\\x21\\x37\\x50\\x8e\\x46\\x27\\xf0\\x7e\\xbb\\xd5\\x1a\\xd0\\x78\\x91\\xe4\\x95\\x78\\x83\\x5d\\x47\\x42\\x01\\x2d\\x30\\x0f\\x17\\xcc\\xc3\\x99\\x33\\x8f\\xdc\\x69\\x74\\x0f\\xc6\\xc0\\x4e\\x3a\\x8f\\x3e\\xf5\\x51\\x32\\x0f\\x50\\x4a\\xeb\\xe3\\x60\\x95\\x62\\x57\\x7d\\x6d\\x4c\\x60\\x8a\\x87\\x63\\x79\\xde\\x25\\xf5\\x8f\\xf7\\xdf\\x3c\\x5b\\x83\\x8d\\x53\\xfa\\x5c\\x71\\xe8\\xa8\\x66\\xe1\\x8b\\x72\\xd2\\x76\\x4f\\x70\\x09\\xfe\\xee\\xeb\\xf7\\xfd\\x7e\\x7d\\xe0\\xb1\\xaf\\x1f\\xc5\\x82\\xa7\\xf2\\xc4\\x81\\xbb\\x1f\\xa9\\x74\\xbe\\xde\\x75\\x9f\\x28\\x6e\\xdd\\x71\\x0b\\xad\\x3f\\x29\\x8f\\x22\\xbd\\x73\\x81\\xc4\\xc1\\xe2\\xb7\\xd8\\xed\\x26\\x3d\\xcf\\xfa\\x7c\\x7e\\xbd\\x3f\\x50\\xe0\\x93\\xcc\\xa6\\xb1\\x49\\xb3\\xa4\\x71\\x8d\\x4f\\xf2\\x60\\xe8\\xa1\\xb1\\x49\\xd6\\x97\\x8d\\xaa\\x6d\\x52\\xb7\\x41\\x36\\x6a\\x31\\x5d\\xa0\\xdc\\x56\\x9f\\xd7\\x80\\x20\\x2d\\xa9\\x6c\\x71\\xe6\\xdd\\x35\\x1a\\xf9\\xa3\\xb1\\x91\\xf1\\xc7\\x92\\xb3\\x67\\x5b\\x66\\x90\\x2a\\x92\\x73\\x9d\\x55\\xb5\\x23\\x1e\\x69\\x58\\x7a\\x50\\xbe\\xce\\x5d\\x89\\x5f\\x78\\x7c\\xfe\\xd2\\x45\\x73\\x0a\\xdb\\x99\\x4a\\x77\\x65\\xd7\\x53\\x2b\\xe3\\x15\\x7d\\x37\\x4d\\x63\\xd6\\x11\\x38\\x47\\xa8\\x3d\\x36\\xa2\\xa4\\x9a\\xb7\\x5f\\xaf\\x07\\x5d\\x8b\\x2b\\x2c\\xb4\\x1a\\xd8\\x58\\x89\\x5f\\x0c\\x8a\\xa4\\x28\\xb6\\xd9\\x45\\x15\\x2c\\x6c\\x70\\xe0\\xe2\\xb1\\x49\\xac\\x9a\\x2c\\x17\\x37\\xf4\\x4b\\x71\\x6e\\xd7\\x96\\xbc\\xda\\x7d\\x4c\\x36\\x34\\xd1\\xc5\\xde\\x2b\\xff\\x72\\x8e\\x4b\\x29\\x88\\x79\\xff\\x91\\xe8\\x5b\\x39\\xfd\\x35\\x1a\\xc4\\xd6\\x13\\x53\\x66\\xcf\\xd1\\xcc\\xdf\\xc1\\x0c\\x5d\\x5f\\x49\\xaa\\x61\\x76\\x5d\\x95\\xed\\xb0\\x21\\xbf\\x14\\x98\\xbf\\x74\\xf1\\x1c\\x53\\xff\\xae\\xdb\\xdc\\x54\\x5f\\x1c\\x01\\xb8\\x3e\\x00\\x73\\xa8\\x26\\x1d\\xea\\x8a\\xed\\x76\\x07\\xcf\\x14\\xf8\\x8c\\xe5\\xe5\\x3e\\xc6\\xc1\\xf5\\xae\\x29\\x36\\x97\\x98\\xc7\\x27\\x4b\\xcc\\x9e\\x10\\x29\\xbf\\xe4\\xc1\\x0e\\x47\\xf7\\x40\\xbd\\x8b\\x4d\\x45\\x11\\x8a\\xd9\\x83\\x8d\\x1f\\x9d\\x15\\xe1\\xd0\\xf8\\x99\\xec\\x19\\xc7\\x9a\\x1f\\x9c\\x9e\\x67\\x51\\x36\\xe4\\x8f\\xb9\\xeb\\xa2\\xf3\\x2c\\xdf\\xd1\\x75\\x23\\x89\\x05\\x64\\x90\\x06\\x5e\\x48\\xef\\x4c\\x09\\x40\\x87\\x99\\x4a\\x2c\\xab\\x13\\xcc\\x4e\\xe4\\x14\\x34\\x9c\\x3f\\xe0\\xb1\\x4d\\x48\\x7a\\x8c\\x8c\\x46\\x4b\\x4e\\xe7\\xb5\\x5a\\xc1\\xa8\\x04\\x25\\x0a\\xa0\\x4a\\x09\\x17\\xe8\\x2a\\xa2\\x04\\x6f\\xe7\\xf5\\xe2\\x13\\xf3\\xbb\\x8b\\xd8\\x72\\x8e\\x71\\x98\\xa8\\xf4\\x78\\x13\\xe9\\x34\\x32\\xf2\\x98\\x74\\xac\\x89\\x44\\xc5\\x8e\\xbc\\x3a\\x7d\\x7a\\xc3\\xa0\\x36\\xf9\\x16\\x4f\\xa5\\xea\\x65\\x96\\xdb\\x98\\x33\\x99\\x73\\x9b\\x54\\x0a\\xad\\x4f\\x7d\\x8e\\xbb\\xd8\\xc3\\x56\\x81\\x5d\\x48\\xf5\\xc0\\xb3\\x30\\x87\\x4a\\xd8\\x17\\x7a\\x14\\x4f\\x78\\x10\\xcf\\xb3\\x5a\\xad\\x91\\x35\\x90\\x8a\\x9d\\xc4\\xfd\\xc8\\x23\\xba\\x1b\\xf2\\x82\\x0a\\xb2\\xed\\x73\\x32\\x8e\\x63\\x85\\xd9\\x84\\x97\\x68\\xe4\\x95\\x9a\\xf5\\xbb\\x97\\x69\\xf0\\x6e\\xcd\\xda\\xa1\\xc0\\x3f\\x3c\\x6c\\x88\\xbc\\x52\\x1b\\x02\\x9e\\x33\\x96\\xf6\\x0d\\x1e\\x91\\x28\\x72\\x71\\x9c\\x55\\x34\\x89\\x7e\\x84\\x02\\x56\\x0d\\xeb\\xd2\\xb8\\x7c\\x26\\xf8\\x4f\\x54\\x3c\\xf2\\x48\\xe4\\xc6\\x26\\xc5\\x5c\\x14\\x91\\x58\\x80\\x5c\\xde\\x97\\xad\\xa6\\x29\\x44\\x62\\x14\\x47\\x74\\xd9\\x23\\xb0\\xea\\x2e\\x8a\\x2a\\xc2\\xbe\\x99\\xb1\\x65\\xfb\\x1c\\xd3\\x09\\x8e\\xd6\\xfb\\x5c\\xe1\\x72\\x73\\x95\\xa5\\x73\\xb8\\x6d\\x06\\x41\\xd5\\x46\\xbf\\x2b\\xe1\\x67\\x3d\\x2f\\x32\\x5d\\x9f\\x7b\\x2a\\x99\\xe3\\xd6\\xb2\\x3e\\xd3\\xe6\\x30\\x4c\\x08\\x76\\xe2\\x25\\xb6\\x76\\xb2\\xae\\x83\\xe0\\xa5\\x00\\x60\\xb5\\x82\\x76\\x37\\x3e\\x51\\x66\\xd3\\x5a\\x18\\xc6\\x69\\xe0\\xad\\xbc\\x96\\xf5\\xfa\\x30\\x68\\xc8\\xad\\x49\\x8b\\xd3\\x65\\x70\\xc2\\x7f\\xbc\\x24\\x81\\xa2\\x27\\xf5\\x6c\\x16\\x43\\x60\\x26\\x00\\xe7\\x06\\x2f\\xa4\\x49\\x58\\x59\\x57\\x25\\x4c\\x47\\x39\\xb3\\x2b\\x06\\x03\\xa7\\x1e\\x24\\xa7\\xf9\\xee\\x56\\x02\\xf1\\xd4\\x01\\xc3\\xd7\\x0c\\x4f\\x12\\x58\\xf7\\xdc\\x2d\\xaf\\x89\\x06\\xfc\\xb1\\xbe\\x8c\\x51\\x6e\\x00\\x68\\xf5\\x78\\x6c\\xff\\xb1\\x0b\\xf0\\xf7\\xee\\xca\\xf3\\xef\\x0d\\x0e\\xc4\\xf0\\x3d\\xfd\\x00\\xb7\\x49\\x79\\x14\\xe9\\x93\\x84\\xec\\xa8\\x36\\xe1\\xd5\\x1a\\x0c\\x02\\x6b\\xb6\\xb2\\x56\\x87\\xd2\\xea\\x09\\x81\\xad\\x86\\x4c\\x6a\\x34\\x76\\xda\\x7d\\x93\\xe7\\x70\\xc5\\x19\\x16\\x96\\xe3\\x97\\xc1\\x23\\xd7\\x6c\\x0a\\x7f\\x44\\xe3\\xad\\x65\\x9b\\xea\\x80\\x91\\x47\\xed\\xd8\\x94\\x38\\xce\\x8b\\xc4\\xd7\\xb2\\xb0\\x7f\\xda\\xd7\\x82\\xd1\\x62\\x9a\\x73\\xb3\\x1b\\x15\\x81\\xd6\\xd5\\xdb\\x6f\\xb7\\xbb\\x82\\x06\\x4d\\x38\\x6c\\x60\\x5c\\x5c\\x31\\x58\\x50\\xd1\\xa0\\xc1\\xe0\\xf2\\xfb\\x25\\xd8\\xed\\x92\\xd7\\x3d\\x36\\xe9\\x45\\x2e\\xfb\\xd8\\xa4\\xcb\\x81\\xf8\\x71\\x79\\x3a\\x47\\x5e\\x77\\xca\\x9e\\xe2\\x41\\xd9\\xfa\\xaa\\x36\\x9c\\x29\\xf5\\x47\\x31\\x49\\x50\\x18\\x16\\x31\\x67\\xb1\\x0b\\x1c\\x7e\\xf9\\xbd\\xad\\x95\\x0b\\x8e\\x3e\\xfe\\x8b\\x2b\\x36\\x8c\\xd4\\xe0\\x03\\xf2\\x9f\\xfb\\x2e\\x74\\xf7\\x59\\x4c\\x90\\xfa\\x0f\\x32\\x99\\x36\\xe6\\x2d\\xad\\x3c\\x14\\xf7\\xdd\\x23\\x9f\\x97\\x9b\\xaf\\xa8\\x1e\\x7d\\xf2\\xd1\\x7d\\xf7\\xf4\\xc6\\xa7\\x6c\\xe6\\xab\\xba\\xf6\\x79\\x2a\\x69\\x0b\\xaa\\x60\\xad\\x5c\\xd8\\x5b\\x3e\\x7d\\xc3\\x5f\\xb6\\xaa\\x75\\x8b\\xf9\\x0d\\xb0\\x3f\\x2a\\x88\\xb7\\x4c\\x12\\x0c\\x5a\\x37\\x72\\xc4\\xc2\\xe1\\xc2\\x42\\x87\\x56\\xe0\\x2a\\x7b\\x45\\x23\\x63\\x93\\x51\\x47\\xd8\\x29\\x29\\x71\\xe2\\x31\\xd0\\x8f\\x2d\\xac\\x65\\x7c\\xb2\\x8c\\xec\\x99\\xf4\\xa1\\x8b\\xea\\x49\\xca\\x6b\\x11\\x91\\x16\\xdc\\xdd\\x25\\x48\\xba\\x83\\x4d\\xce\\xc7\\x4c\\xdd\\x62\\x66\\x6a\\xcb\\x43\\xa3\\x26\\x5e\\x96\\x16\\x28\\x93\\x2a\\x36\\xcc\\xd2\\xcd\\x3a\\x38\\xc7\\x33\\xb5\\x62\\x0b\\xf9\\x70\\x80\\x54\\x2e\\xf6\\x0f\\xfb\\xf9\\xe8\\x29\\x97\\xbd\\x34\\x67\\xd5\\xfc\\x39\\xd1\\x69\\x4c\\x2f\\x45\\xbc\\x74\\xb6\\xed\\x68\\x60\\x12\\x5d\\x4f\\xed\\x88\\x74\\x4e\\xda\\x51\\xcf\\x24\\xce\\x03\\x7f\\x78\\xa9\\x73\\xcd\\x62\\x45\\x2e\\xd2\\xf9\\x55\\xa2\\x29\\x89\\x2a\\x49\\x80\\xd9\\x95\\x44\\xe9\\xf4\\x04\\xb6\\x57\\x55\\x89\\xbf\\xdc\\x3f\\x3e\\x59\\xee\\xa4\\xb3\\xf4\\x65\\x66\\x89\\xe8\\x14\\xd9\\xfc\\x1a\\x2f\\x17\\xec\\x23\\xf6\\xbf\\x99\\xa3\\xed\\xbf\\x9a\\xe4\\x5f\\xd6\\x6b\\xe4\\xdf\\x4f\\xf6\\x8d\\x38\\x3c\\xe2\\x47\\x67\\x49\\xfb\\x65\\xfc\\xed\\xea\\x39\\xcb\\x17\\x2b\\x32\\x89\\x9f\\x0e\\x7a\\x63\\x1f\\x52\\xbb\\x27\\x1a\\x0a\\x85\\x2b\\xec\\x1e\\x9e\\xd1\\x19\\x8d\\x75\\x35\\x35\\x8c\\x27\\xcc\\xd5\\xf7\\xad\\x88\\x46\\xcd\\xbe\\x52\\xdf\\xf8\\x64\\x55\\xa9\\xb9\\xa8\\x70\\x6c\\xb2\\x48\\x72\\x86\\x7b\\x88\\xa6\\x78\\xae\\x3e\\x16\\xef\\x51\\xb5\\xf8\\xc2\\x12\\x8a\\xd4\\xdc\\x8e\\x28\\xa5\\x8b\\x95\\x8f\\xd9\\x9c\\x80\\x8c\\xa0\\x62\\xd8\\xcb\\x73\\xe5\\x54\\x59\\x65\\xc5\\xfa\\x4e\\x75\\xde\\xdb\\x2e\\x53\\x16\\x17\\x3b\\xfd\\x43\\x1f\\x86\\xc5\\x1d\\x76\\x78\\xd4\\xc4\\x19\\xae\\x85\\x83\\xf3\\x64\\x55\\x7d\\xdb\\xe5\\xfd\\xba\\x5e\\x60\\x86\\xc2\\xe4\\xa7\\x6c\\x6d\\xe8\\x7a\\x81\\x05\\xde\\xff\\xd2\\xac\\x75\\x4b\\x16\\xcf\\x5e\\xb3\\x60\\x4e\\xcd\\xd6\\xae\\x1b\\xe5\\x95\\xd4\\xae\\xfb\\x12\\x64\\xf3\\x43\\x80\\x87\\x18\\x89\\x2d\\xe5\\xbc\\xde\\x98\\xd9\\x66\\xd3\\xc5\\x74\\xa5\\x85\\xc1\\x60\\x49\\xa0\\xa8\\x95\\xa4\\x5f\\xf9\\xcc\\xc0\\xd2\\xcc\\x0e\\xce\\x29\\x3a\\xc7\\x27\\x45\\xa5\\x79\\xbb\\xf4\\x83\\x7e\\xd1\\xf4\\x0e\\xcd\\x4f\\x76\\x20\\x6b\\x9a\\x11\\xd1\\x79\\x21\\x09\\x1f\\xe7\\xe4\\x37\\xcc\\xdf\\xa1\\x51\\xf5\\x8e\\x47\\xfa\\xae\\xce\\x8b\\x48\\xc8\\xa4\\x35\\x98\\xfa\\x75\\xdd\\xea\\xae\\x64\\x86\\x92\\x4e\\x71\\xdb\\xa6\\x76\\xcd\\x4a\\xc7\\x24\\x28\\xfd\\x8c\\x46\\x71\\x3a\\x98\\x4f\\x09\\xad\\x51\\x2b\\x49\\x66\\x56\\xa3\\x09\\xf9\\x60\\x21\\x8b\\xa2\\xd1\\x32\\x87\\xde\\xad\\x1f\\x9f\\x74\\x9b\\x6d\\x16\\x50\\xa9\\x25\\xb3\\x83\\xf4\\x9e\\x28\\xcc\\x63\\x85\\x79\\x39\\xbb\\xf1\\x6e\\x49\\xbb\\x84\\x68\\x7d\\x38\\xbf\\xe3\\x5d\\x56\\xb5\\xc8\\xf2\\x4a\\x76\\xc2\\x9a\\x4d\\xd5\\x23\\x5d\\x17\\xe8\\x7a\\xb4\\x44\\x65\\x9d\\x93\\x08\\xeb\\x1c\\x8b\\x19\\xfc\\xa0\\x3a\\x87\\x6c\\xce\\x06\\xa8\\x13\\x3b\\x33\\xcc\\x14\\xa7\\x16\\xa6\\x3e\\xe7\\x86\\xc0\\x7e\\xf4\\x81\\xd5\\x56\\xec\\xd6\\x9b\\x1d\\x7a\\x07\\x63\\xb3\\x05\\x44\\x86\\xf1\\x4b\\x2e\\x87\\xc3\\x6c\\xd6\\x13\\x3d\\xc2\\x6d\\x55\\x8b\\x37\\xe7\\x54\\xaa\\x8c\\xa7\\x83\\x66\\x9b\\xba\\x07\\x7b\\xf7\\xae\\x16\\x09\\xee\\x89\\xd1\\x66\\xf5\\x61\\xb5\\x99\\x54\\x98\\x76\\x9a\\x12\\x19\\xa1\\xaa\\xba\\x4f\\xa4\\xc2\\x6c\\x31\\xf6\\x6d\\xef\\xd5\\x6b\\xb9\\x06\\xd7\\xe1\\xb1\\xb3\\xd7\\x6a\\x70\\x52\\xb3\\xf1\\xc0\\x65\\xf2\\xe2\\xe2\\xa6\\x5d\\xf6\\xf0\\x95\\x15\\x16\\x94\\xc2\\x7a\\xa2\\x58\\x77\\x6d\\x62\\x06\\x12\\x91\\x7e\\xfe\\x16\\xd6\\xf1\\x9e\\x7c\\xd7\\x77\\xd9\\xbc\\x26\\xf6\\x55\\xab\\xc0\\xdd\\xa2\\xd4\\xf4\\x49\\x9d\\xe7\\xcb\\xd9\\x23\\x28\\x88\\xca\\xd0\\xd5\\x89\\xb1\\x25\\x9c\\xc5\\xe3\\x09\\xbb\\xac\\x56\\xbb\\x9f\\x5a\\x6b\\xf6\\x30\\xc7\\x97\\x57\\x38\\xdc\\x16\\x77\\x6b\\xd2\\x6e\\xb0\\xf8\\x2d\\xa3\\x2c\\xd3\\x2c\\x8b\\x2c\\xbc\\x81\\xb5\\x58\\xb0\\x96\\xb4\\x8c\\xd3\\x6b\\x25\\x4d\\x11\\xc8\\x2e\\x58\\x2b\\x8d\\x39\\x1c\\xc2\\x21\\x50\\x73\\x9d\\x05\\x08\\x79\\x5b\\xbb\\x07\\x38\\xaa\\xed\\x98\\xb3\\x6e\\x94\\xee\\xe5\\x53\\xb3\\xc4\\x19\\x16\\x55\\x4b\\xcf\\x45\\x0a\\xde\\x92\\xa0\\x40\\x1a\\xf5\\x15\\x8b\\xa8\\x95\\x92\\x8b\\xb3\\x59\\x02\\xcc\\xa1\\x57\\xde\\xfc\\xdd\\xf5\\xd8\\xf8\\xc8\\x2b\\xf8\\x77\\xe5\\xf5\\xcc\\x80\\x6b\\xaf\\x6c\\xfc\\x4d\\x55\\x7d\\x6d\\x5f\\xcd\\x6f\\x06\\xde\\xbf\\x65\\xf2\\xa8\\xfa\\xfe\\x5d\\x03\\x92\\xbb\\xc2\\xf5\\x2b\\x9e\\x9c\\xbd\\x99\\x7b\\xf5\\xd8\\x7d\\x58\\xb8\\x8e\\xff\\xf7\\x4d\\x1a\\xf9\\xe7\\x4b\\xe4\\xf7\\x96\\xc9\\x77\\x68\\x0f\\xcb\\xdf\\x0d\\xe5\\x59\\x27\\xff\\x93\\xaf\\x6f\\xda\\xb2\\x47\\x89\\x11\\xe4\\x27\\x53\\x5f\\x51\\x15\\x1a\\x94\\x08\\xeb\\x8a\\x0a\\x5c\\x12\\x5b\\x51\\x21\\x15\\xb1\\xd5\\xbd\\xad\\xd6\\x70\\x49\\x09\\xc8\\xe9\\x12\\x73\\x01\\x32\\x84\\x0d\\xe3\\x92\\xde\\xb0\\x33\\x2d\\x39\\x32\\x1a\\x62\\xbe\\x62\\x58\\x5c\\x93\\xf5\\x28\\x90\\xdd\\x54\\x0b\\xd0\\x9b\\x18\\xd1\\x4e\\xbb\\xc4\\x47\\x72\\xf2\\x20\\x94\\x12\\xb8\\xec\\x0d\\xdb\\xf7\\xbe\\x7c\\xe2\\xfe\\x6f\\x77\\xdd\\x3a\\xf4\\x27\\x25\\x3a\\xed\\x41\\x93\\xbf\\x54\\x97\\x9c\\x32\\x63\\x83\\x53\\x53\\x7f\\x7d\\xe7\\xf5\\xb7\\x1e\\xc3\\x13\\x3f\\xfe\\xd9\\x37\\x5b\\x16\\xbd\\x36\\xf9\\x3f\\xaf\\x3c\\x79\\xfc\\x2a\\xf9\\x9b\\x7b\\xcf\\xae\\xe8\\x7c\\xa3\\xb1\\x76\\xec\\xa5\\x6b\\x3c\\xd3\\x57\\x2d\\x9c\\x79\\xe9\\xec\\xc9\\x2f\\x3d\\x74\\x02\\x7b\\x6f\\x5d\\xf1\\xde\\x9e\\xfd\\x5f\\x5c\\x4e\\x62\\x3f\\xfb\\xc0\\x9e\\x0b\\x52\\x5d\\x2e\\x02\\x2b\\x7c\\x59\\x22\\xee\\x17\\x62\\xb0\\xc4\\x41\\x1d\\x53\\x64\\xb7\\x33\\x02\\x5b\\x5e\\xa1\\x50\\xa9\\x11\\x45\\x43\\x3a\\xd0\\xf2\\x2d\\x3a\\x73\\x2c\\xc8\\x06\\x5b\\x93\\x6e\\xd6\\xe9\\x51\\xc2\\x54\\x7d\\x79\\x85\\x7a\\xdc\\xb9\\x6d\\x24\\x7a\\x56\\xc1\\xb4\\x81\\x8a\\xa9\\x24\\x2c\\xa6\\x8d\\x72\\x5a\\x22\\x9a\\x9e\\xb9\\x60\\x98\\xb6\\xcd\\xc4\\x14\\x93\\x48\\x34\\x66\\xbf\\xe6\\xbe\\x81\\xfb\\x1f\\xdf\\xf6\\xd9\\xde\\x21\\xb7\\x69\\xf0\\xa7\\x9a\\x83\\xcd\\x07\\x1e\\xbf\\xf2\\xe3\\xeb\\x07\\x80\\xf4\\x9f\\x9f\\x1c\\x7b\\xfd\\x84\\xeb\\x26\\x31\\xd7\\x3c\\x74\\xdd\\xe4\\xeb\\x27\\x90\\xfa\\xa1\\x78\\x9a\\xfe\\x17\\x0f\\xdc\\x81\\x0d\\x77\\x6a\\xf0\\x0e\\x42\\xd1\\xf2\\x66\\xfd\\x2f\\x1f\\xbc\\x53\\xfe\\xd7\\x01\\xad\\x7c\\xd0\\x53\\xc9\\x6a\\xb7\\x5c\\x6b\\x60\\x6b\\x8d\\x37\\xfe\\x73\\xc3\\x79\\xdf\\xf9\\x93\\xe6\\x9b\\xff\\x0d\\xbc\\x86\\x4d\\x7d\\xca\\xfc\\x92\\xe6\\x1a\\xd5\\x27\\x7c\\x46\\x1d\\x6f\\xb1\\x20\\x1d\\xb2\\xda\\x2c\\x12\\x6f\\xd4\\x18\\xc7\\x27\\xf5\\x1a\\x27\\x87\\xc7\\x26\\x39\\x47\\x8e\\xb1\\x9b\\x77\\x50\\x9c\\xdb\\xbc\\x8e\\xf0\\x42\\x22\\x21\\x98\\x5f\\x12\\xb1\\xfd\\xf7\\xe0\\xb8\\xa7\\x26\\xa6\\x83\\x47\\x16\\xb2\\x87\\x89\\x80\\x3e\\xbd\\x7e\\x15\\x0d\\x19\\x61\\xe6\\x21\\xe5\\xd9\\x6c\\x09\\xe0\\x9c\\x3e\\x9b\\x3c\\x19\\x76\\x12\\x30\\x0c\\x9b\\x05\\xd1\\x47\\xf3\\xdd\\x9e\\x1d\\x4f\\x47\\x1d\\x59\\x7f\\xe0\\xd9\\x6c\\xc9\\x3f\\xbb\\x3f\\xfb\\x05\\x7e\\xf7\\xd9\\x27\\xb3\\xcf\\xe6\\x86\\xd3\\x67\\x83\\xcc\\xf0\\xc3\\xbc\\x03\\xa4\\x27\\x0e\\x9d\\xb7\\xc3\\xea\\xf1\\xf9\\xac\\x3a\\xb6\\x20\\x68\\x91\\xd2\\xcf\\xf7\\x21\\xe4\\x6a\\xcd\\x5d\\xd9\\x7c\\xff\\x51\\x2e\\x53\\xb5\\xe5\\x42\\x91\\x1b\\xe8\\xc4\\xcc\\x5e\\xb3\\xa9\\xa1\\xf5\\x78\\x1b\\x05\\x67\\xcc\\x03\\x23\\x17\\xdf\\xff\\x48\\xae\\xf2\\x39\\x0a\\xd7\\xac\\x5c\\x0a\\x80\\xad\\x9e\\xcf\\xcc\\x3b\\x1f\\x5a\\x34\\x30\\x13\\xcf\\x84\\x11\\x0f\\x30\\x46\\xe8\\x99\\x7e\\x5d\\xc2\\x27\\x91\\x3c\\x1a\\x2b\\xcf\\x30\\x36\\xc5\\xe8\\xd2\\xf9\\x24\\x1a\\xe3\\xc3\\xe6\\xc7\\xf8\\xa4\\xd3\\xc1\\x2c\\x39\\x51\\x3d\\x59\\x36\\x9f\\x8d\\xe6\\x79\\xf2\\xe0\\xa7\\xf9\\x51\\x3c\\xe7\\xfe\\xcc\\x7b\\x95\\x00\\x1e\\xfa\\xec\\x01\\xea\\xb3\\x43\\x24\\x9f\\xdb\\xa7\\xd1\\xb8\\xec\\x06\\x93\\xdd\\x14\\x66\\x42\\xa1\\x42\\x1f\\x53\\xc0\\x8c\\x4f\\xa2\\x02\\xb3\\xc7\\x35\\x36\\xe9\\x91\\x4c\\x16\\x8b\\x0e\\xf6\\x83\\x2f\\x4f\\x73\\xca\\x17\\x3f\\xd9\\x46\\x01\\x34\\x70\\x20\\xa7\\xe3\\x48\\x5a\\x85\\x12\\x95\\x83\\xc5\\xff\\x50\\xd8\\xd6\\xa4\\x25\\xcc\\xc0\\x35\\x9b\\x42\\x7b\\x54\\x30\\x61\\x39\\x99\\xd7\\x01\\xce\\xae\\x19\\xaa\\x64\\xd9\\xb1\\x69\\xd8\\xc3\\x6c\\x54\\x59\\x57\\x05\\xe6\\x07\\x60\\x23\\xbb\\x00\\x66\\x09\\x45\\x12\\x16\\x09\\x21\\xb3\\x56\\x10\\x2c\\x9c\\xbe\\x35\\x29\\x72\\x66\\xc2\\x63\\xd3\\xed\\x47\\x15\\x3b\\x2f\\xde\\xad\\x73\\xd6\\x03\\xed\\x25\\xcf\\xdc\\xa3\\x06\\x03\\x0c\\x1e\\xea\\x5e\\xcc\\x38\\x94\\x33\\xff\\x8d\\x7b\\xba\\x6e\\x54\\xc6\\xdf\\x0b\\x82\\xa0\\x01\\xc6\\xb7\\xa2\\x8a\\x84\\x03\\xb1\\xac\\x55\\x12\\xb5\\x92\\xd6\\x6e\\x03\\xf3\\x84\\x6f\\x4d\\x1a\\x94\\x67\\xa8\\xdb\\x3d\\x67\\xda\\x61\\x45\\x4d\\xca\\x6d\\xf0\\x80\\xc3\\x73\\xd5\\x39\\x76\\xd4\\xad\\xd9\\x14\\x9c\\xc0\\x0c\\xcf\\x99\\x94\\x5c\\x05\\xfc\\xb5\\x05\\xe6\\xd2\\x4a\\xf7\\xa5\\x17\\xb4\\x80\\x0a\\x17\\xc6\\x8c\\xd9\\x68\\x05\\x43\\xd6\\xc0\\x70\\x3e\\xbf\\xa2\\xcd\\x18\\x5c\\x88\\x26\\x21\\xb8\\x18\\x9e\\x77\\xb6\\x26\\x95\\xe8\\x4a\\x86\\x02\\x91\\x3d\\x15\\x45\\x0d\\xf9\\x7d\\xdc\\xd4\\x00\\x61\\x35\\x66\\xcd\\x2e\\x88\\x36\\xd2\\x55\\xd3\\x46\\x23\\xca\\x69\\x6a\\xea\\xd0\\x43\\x07\\xd6\\x69\\xf0\\x4d\\xf7\\xdc\\xba\\x69\\xc3\\x81\\x79\\x9a\\x6f\\x7e\\xf6\\xc9\\x8c\\x99\\xc3\\x06\\x8d\\xdc\\xb1\\x19\\xef\\x93\\x17\\x11\\x0d\\x6c\\xd9\\xea\\x05\\x7b\\xc3\\xf2\\x4d\\xce\\x4a\\xbc\\x0f\\x57\\x4c\\x1a\\x2a\\x5f\\x4d\\xca\\xc4\\x92\\x78\\x7e\\x4e\\x0b\\xf0\\xda\\xc0\\xf8\\xb9\\x34\\x51\\x6d\\xf2\\xfb\\x45\\x17\\x0b\\x7a\\x18\\x0b\\xa6\\x6f\\xc0\\x62\\x29\\x30\\xdb\\x88\\x3b\\x0a\\x11\\x9b\\x98\\x1c\\x54\\x8b\\x3a\\x52\\xe6\\x6c\\x6c\\x52\\x27\\x89\\xfe\\xd6\\x1c\\xcb\\x98\\xba\\xd2\\x72\\xe0\\xee\\x1e\\x6e\\xa0\\x1e\\x0f\\x64\\x82\\xc4\\x71\\x1c\\x8c\\xf4\\x74\\x40\\x3c\\xb3\\x6e\\xc4\\x8c\\xf7\\x4f\\xca\\x9f\\x1e\\xd8\\xa0\\xc5\\x0f\\x6b\\xf6\\xf6\\x5f\\x8d\\xfb\\x7e\\xa9\\x5d\\xda\\xf5\\xcb\\xed\\x57\\x5f\\xd6\\x39\\x72\\x10\\x4e\\x99\\x96\\x8c\\xba\\xe9\\x2e\\x32\\x85\\x4a\\xaf\\xfc\\x18\\xde\\x57\\xe9\\x3c\\xff\\xe9\\xba\\xa5\\x97\\x8c\\x95\\xaf\\x06\\x1d\\xa5\\x4b\\xcd\\x7d\\xa9\\x05\\xe8\\xab\\xc4\\x2a\\xb7\\xb7\\xd4\\xc8\\xd4\\xd6\\x1a\\xbd\\x55\\x5c\\x1f\\x7b\\x28\\x54\\x57\\x2a\\x9a\\x6b\\x6a\\x38\\x60\\x05\\xa8\\xc6\\xec\\xf5\\x06\\x02\\x80\\x6e\\xd0\\x29\\x63\\xad\\xc9\\xc2\\x42\\xf3\\x45\\x13\\x5f\\x7a\\x5a\\x7b\\xdd\\xb2\\x5e\\x48\\x80\\x44\\xfe\\x66\\xb0\\xfd\\x58\\xca\\x4b\\xfd\\x60\\x7f\\x76\\x73\\x34\\xff\\x50\\xa6\\x8b\\xe1\\xfa\\x21\\x2a\\x49\\x2d\\xc1\\x13\\xba\\x65\\xb9\\xe0\\x94\\x06\\xf6\\x77\\x98\\xca\\xbb\\xea\\x84\\x9b\\xf1\\xf9\\x02\\x66\\xa3\\xd1\\xef\\xa1\\x33\\xf4\\x20\\x3d\\x0d\\x26\\xd0\\xfb\\x72\\x8f\\xbf\\x70\\xf7\\x59\\x74\\xd3\\x7f\\x95\\xdd\\xc4\\xc8\\x64\\xfb\\x34\\x0d\\xf5\\xbd\\x5a\\xf4\\x60\\x8e\\xda\\xfb\\x5c\\x8c\\xc4\\xd9\\x70\\xc7\\x57\\x38\\x96\\xde\\x7a\\xee\\xe0\\x9b\\x2f\\x2b\\xba\\x2e\\x57\\x0f\\x3b\\x2c\\x07\\x16\\x52\\x6b\\xa8\\x44\\xab\\xd1\\x07\\xbc\\x3e\\xc1\\x12\\x89\\x14\\x5b\\x8a\\xf4\\x3e\\x3f\\x90\\x8b\\x06\\x2c\\xed\\x70\\x98\\xc2\\x16\\x46\\x12\\xa0\\xde\\x6a\\x95\\x7c\\x3d\\x8e\\xe6\\xf2\\x7b\\xc6\\xe5\\x80\\xa9\\x56\\x1d\\xcd\\x69\\x82\\x45\\xdc\\x4f\\xf9\\xe0\\xde\\x77\\x44\\x3a\\x62\\xcd\\x03\\xd9\\xf7\\x37\\xe9\\x6f\\xfb\\x72\\xc0\\x3e\\xdf\\xd1\\x36\\x3b\\x0d\\xf8\\xcd\\x6d\\xec\\x48\\x02\\x3a\\xc0\\xfe\\x61\\xea\\x73\\x7c\\x96\\xbf\\x96\\xfa\\xee\\x0b\\x03\\x41\\xa7\\xdd\\xe3\\xd1\\x08\\x6c\\x90\\x8d\\x18\\x4c\\xa6\\x42\\x93\\xca\\x1b\\x11\\xa9\\x34\\xe4\\xcb\\x89\\x79\\xab\\xea\\x19\\x27\\x1c\\xcf\\x6d\\x11\\x43\\x35\\xf4\\x7c\\x96\\x91\\xe3\\xc6\\x18\\x0c\\xaa\\xf9\\xf8\\x1c\\xfe\\x11\\x9a\\x99\\x16\\x28\\x76\\x45\\x23\\xff\\x65\\x86\\x9b\\x5c\\x72\\xac\\xeb\\x17\\x59\\xb7\\x06\\x62\\x52\\x41\\xb9\\x99\\x6d\\xa6\\xb9\\xbe\\xa4\\xc3\\x4d\\x79\\x91\\xdb\\x24\\x6a\\xf5\\x5a\\x37\\x6b\\x63\\x0a\\x0a\\xca\\x82\\x36\\x5b\\xa9\\x49\\xeb\\x8c\\x8e\\x4f\\x6a\\x9d\\x4e\\x83\\xdf\\x0f\\x28\\xf7\\x23\\x33\\x68\\xac\\x66\\xbf\\x21\\x5b\\xf6\\x3c\\x7b\\xe2\\x9f\\x5f\\x37\\x3e\\x9f\\x38\\x44\\xa7\\x23\\x12\\x8d\\x65\\xdc\\x7b\\x2e\\x05\\xe1\\x34\\x84\\x8c\\x14\\x7d\\x15\\xd8\\x42\\x15\\xf5\\xbf\\xd6\\x8e\\x1b\\xae\\x2b\\x9d\\xfc\\x74\\x6b\\xfb\\xbe\\x45\\x35\\xc5\\x0a\\xa5\\x9c\\x8f\\x97\\x14\\xaf\\x8f\\x44\\x6b\\x07\\x8c\\x57\\x69\\x66\\x40\\xb4\\xf3\\x96\\x29\\x7d\\x6f\\x6a\\x6d\\x9e\\xb6\\x45\\xcf\\xd5\\x02\\xee\\xbf\\x9f\\x1a\\x88\\xdd\\xa9\\x6f\\xa0\\xfe\\xbe\\x6f\\x61\\x0d\\x64\\x6e\\x3b\\x70\\xca\\xa6\\x44\\xc8\\xed\\x40\\xc8\\x6a\\x10\\x0c\\x4e\\xbf\\xd3\\xe7\\x22\\x5c\\xd1\\x25\\x49\\x2e\\x9e\\xd5\\xda\\xb5\\xec\\xb8\\xa4\\xd6\\x4e\\x83\\x9b\\x68\\x3a\\x85\\xbb\\x4a\\x6d\\xb7\\x94\\x89\\x61\\x56\\x53\\xdc\\x33\\x11\\x18\\x02\\x1b\\x97\\x98\\x48\\x3d\\xa1\\x96\\x3e\\xb8\\x35\\xbf\\x7f\\x57\\xa6\\x2f\\x1a\\xfb\\x7c\\xb6\\x6f\\x57\\xd7\\x71\\x9a\\xd8\\xcd\\x14\\x77\\x50\\x79\\x51\\xa2\\xf6\\x79\\xf3\\xa2\\x61\\x89\\x88\\x17\\x98\\xb4\\xcb\\x6e\\xd1\\xea\\x2d\\xb0\\xaf\\x90\\xdf\\xce\\x78\\x19\\x50\\x1e\\x13\\x2e\\xaf\\x44\\xca\\x4f\\x89\\x79\\xb1\\x48\\x39\\x6d\\xdd\\xd2\\xf2\\x53\\x85\\x4f\\xe9\\x37\\x96\\x2f\\x3e\\x69\\x5e\\x3a\\x33\\xd3\\xfc\\xeb\\x7b\\xd2\\x64\\xd0\\x04\\x34\\xb1\\x5b\\x81\\x91\\x3d\\xdc\\x76\\x7e\\x59\\xae\\xc4\\x74\\x13\\x10\\x95\\xb3\\x8f\\x48\\xea\\x33\\xf6\\x43\\x7a\\x7e\\x10\\x05\\x8d\\xb7\\x46\\x0c\\x04\\x18\\x4f\\x91\\x4d\\xab\\x35\\xe9\\x3c\\xba\\x58\\x89\\x2d\\xe4\\x0c\\x91\\xf8\\xb0\\x62\\x13\\x0d\\x57\\xd5\\x8b\\x18\\x5b\\x79\\xab\\x34\\x36\\x69\\x75\\x68\\xa5\\x9c\\x48\\xfe\\xa6\\x6e\\x09\\x3e\\xee\\x5c\\x11\\x98\\xe3\\x32\\x49\\x07\\xf3\\x87\\x41\\x3b\\x8a\\x2b\\x7e\\xe0\\x4c\\xeb\\xaa\\x7a\\x57\\xba\\x02\\xb0\\x10\\x91\\xe6\\x37\\x12\\x37\\xc9\\x08\\x7c\\xd5\\x88\\x83\\x23\\x96\\x4a\\x4b\\x13\\xd9\\xe6\\x55\\x62\\x70\\x1b\\x75\\x76\\xbb\\xe4\\xf5\\xc5\\xf8\\x78\\x1b\\x9e\\xee\\xae\\x94\\xdb\\xf1\\x3d\\x72\\x7b\\x9b\\xbc\\x57\\x6d\\x5c\\x65\\xec\\x7b\\xfc\\x1b\\xe2\\xe4\\xbe\\xfc\\x3d\\x45\\x66\\xf7\\x02\\xdb\\xb3\\x8e\\xf6\\xec\\xe8\\x48\\xd4\\xd8\\x58\\x9d\\x41\\x34\\x15\\x05\\x3c\\x25\\x25\\x01\\x93\\x81\\xe5\\x49\\x38\\x6e\\x65\\xc8\\x60\\x30\\x46\\x34\\x46\\xcd\\xf8\\xa4\\x5f\\x12\\x60\\x7a\\xc5\\x82\\x80\\x02\\x60\\x8a\\x3a\\x72\\x02\\x5e\\xf2\\x7b\\x57\\x5d\\xf8\\x9c\\x47\\x39\\x74\\x53\\x9b\\x54\\x91\\xf4\\x7b\\x46\\x71\\x05\\xd5\\xd1\\x7e\\x56\\x62\\xb6\\x9f\\x95\\xc0\\xe1\\xc7\\x9e\\x38\\xf5\\xf7\\x47\\xcc\\x4d\\xd7\\x54\\xf7\\xab\\xef\\x87\\xef\\x1d\\x34\\xf9\\x9a\\x31\\x7f\\x5c\\xfc\\xe8\\x65\\x33\\xa7\\xb9\\xf1\\x3d\\x81\\x7a\\x67\\xcd\\x15\\x03\\xb9\\x2d\\xfb\\xf7\\xca\\xb2\\xfd\\xde\\xfd\\x0f\\x60\\x14\\xae\\xd3\\xcd\\xf9\\x3e\\x85\\x0c\\x6b\\x9e\\x9c\\xf5\\xab\\x65\\xcf\\x2e\\x9c\\xb6\\xd2\\x88\\xd1\\xf7\\x73\\x74\\x75\\xd6\\xbb\\x36\\x5d\\xf1\\xeb\\x75\\x30\\xc7\\x79\\x60\\xab\\xde\\x09\\xb2\\xab\\x10\\x0d\\x4e\\x44\\xa8\\xaf\\xd4\\xed\\xb5\\x05\\x83\\x5e\\x96\\x8d\\x14\\xa9\\xb2\\x4a\\x0d\\xbd\\xa5\\x4e\\x53\\x67\\x7e\\x95\\xcd\\x7c\\x07\\x5e\\x6e\\x8f\\x2a\\xd5\\x99\\x95\\xe9\\x54\\x49\\x78\\x91\\x85\\xb4\\xb1\\x99\\xbb\\xe9\\x72\\xfd\\x2c\\xb2\\x48\\x2b\\x75\\xbb\\xc6\\x3c\\xb0\\xa6\\xa9\\x25\\x51\\x1d\\x1d\\xd4\\xbb\\xa8\\x79\\xf4\\x7f\\x76\\xcb\\xff\\xb6\\xcf\\x9e\\x7e\\x49\\x03\\xd3\\xe4\\xae\\xec\\x5a\\xda\\x10\\xd9\\x31\\xeb\\xee\\x0f\\xaf\\x98\\xbd\\xcc\\xb1\\xf1\\x94\\x4d\\xfe\\xfc\\x4d\\xf9\\xa5\\x67\\xc9\\x9a\\xe8\\x41\\xb7\\xd9\\xc4\\xbe\\x00\\x7a\\x54\\xaf\\x84\\x1b\\x89\\x7a\\x9d\\x59\\x32\\x18\\xcc\\x22\\x6b\\xb3\\x4b\\x86\\xb1\\x49\\xc9\\x61\\xd6\\x99\\x79\\xaa\\xae\\x35\\x75\\x3b\\x3e\\xa8\\xb7\\x93\\x03\\x4d\\x02\\x1e\\x8e\\x93\\x58\\x7b\\x30\\xdf\\x7f\\x46\\x23\\x99\\x27\\xe0\\x43\\xc3\\x9f\\x5d\\xae\\x4d\\xa1\\xeb\\xbe\\x4f\\x5c\\xa1\\x84\\x2c\\x4f\\xd9\\xc9\\xdc\\x7f\\xfe\\x4a\\x4f\\x25\\xf3\\x3b\\x79\\xc1\\x3c\\x85\\x16\\x5c\\x08\\xf1\\x95\\xf0\\x5c\\x37\\x1a\\x95\\x88\\x49\\x4e\\x8c\\x0c\\x7a\\x1d\\xc3\\xb1\\x5a\\x0d\\xcf\\x6b\\x19\\x83\\x93\\xf7\\x78\\xb5\\x06\\xc6\\xa0\\xd7\\x23\\xbb\\x43\\xc3\\x03\\xba\\x1c\\x8a\\x6e\\x9d\\x0e\\x50\\x6e\\xc8\\x4d\\x3b\\xcc\\x3d\\x36\\x8b\\xdb\\x28\\x38\\x11\\x16\\x47\\xf4\\x34\\x95\\x23\\x0d\\xe4\\x07\\x83\\x36\\xe1\\x81\\x43\\x1f\\x9a\\xa3\\xf9\\x66\\x87\\x7c\\x72\\xe4\\x86\\x57\\x1b\\x14\\x60\\xd9\\x17\\xba\\x6e\\x64\\x16\\x52\\xe0\\x5e\\xee\\x3a\\xc4\\x4c\\x97\\x37\\xae\\x50\\xe3\\xac\\x87\\xdc\\xac\\xe2\\x87\\x1b\\xc2\\xcf\\x41\\x41\\x52\\xb7\\x8e\\x37\\x04\\x18\\x09\\x17\\x14\\x48\\x06\\x16\\x78\\x9b\\x23\\xcc\\x04\\x02\\x36\\x9d\\xda\\xf2\\x4a\\xe7\\xc0\\x05\\xd9\\xd3\\xb2\\x57\\x6a\\xaa\\x2e\\xe0\\x67\\x56\\x8f\\xcb\\xf2\\x01\\x4b\\xb7\\xd5\\x87\\x75\\x65\\x41\\x01\\x64\\x67\\x03\\xe6\\xfe\\x9e\\x50\\x51\\xb9\\x2b\\x3f\\x20\\xfc\\xc4\\x32\\x82\\xc2\\x65\\xe3\\x14\\x08\\xc7\\xee\\x66\\x6e\\x55\\xe3\\xc0\\xe5\\x7f\\x8f\\x3f\\x7f\\xd0\\x43\\xfa\\x11\\xc1\\x7a\\x2e\\x83\\x3d\\x66\\x27\\xfe\\x37\\x83\\x88\\x78\\xbb\\x51\\x30\\xd9\\x6c\\x02\\x2f\\x72\\x0e\\x8b\\xc5\\x69\\x03\\xf6\\x66\\xd0\\xc2\\xca\\x1a\\x81\\xa3\\xb2\\x66\\xad\\x44\\x82\\xfa\\x73\\x4f\\x60\\xe2\\x6a\\x3a\\x74\\xdc\\x12\\xef\\x19\\x97\\x50\\x9c\\xdb\\x53\\xcc\\xa7\\x9e\\x01\\xe3\\x1d\\xbb\\x35\\x72\\x83\\x66\\x5f\\xdd\\x1d\\x0b\\x34\\xf8\\x80\\x66\\xf3\\x9a\\xff\\xac\\xd2\\xe0\\xe1\\x9a\\x25\\xf2\\xf3\\xf4\\x88\\x06\\x97\\xe2\\xb3\\x4e\\xa2\\xe5\\xad\\xc7\\x57\\xbb\\x2b\\x2b\\x9d\\xb2\\x21\\x93\\xd7\\x3b\\x9f\\xe6\\xf5\\xce\\x48\\xd4\\x18\\x4c\\x5e\\xd6\\xe1\\xd2\\x98\\xcd\\x2e\\xd6\\xc4\\x09\\xa1\\x50\\x91\\x55\\x10\\x22\\x16\\xd0\\xe7\\x89\\xea\\x23\\x49\\xa2\\x55\\xb0\\x12\\xd5\\x5a\\x70\\x84\\x42\\xc0\\xae\\xf3\\x1c\\x6c\\xd9\\x1e\\x56\\x17\\x4a\\xe2\\xce\\x39\\x7f\\x08\\xe7\\x17\\xb0\\xa2\\xd9\\xf7\\x59\\xbb\\xf0\\xe8\\x9a\\x4d\\x0e\\xd9\\xde\\xad\\x90\\x15\\xed\\x61\\x35\\xc9\\x93\\x63\\x20\\xd6\\x6f\\xc9\\x96\\xb4\\xaa\\xba\\x41\\x3e\\xde\\x31\\x4c\\x11\\xe7\\x4c\\xea\\xaf\\xa9\\xe5\\x6c\\x1d\\xf5\\xab\\x15\\xa3\\x85\\x89\\x7a\\x1b\\x8f\\x82\\x7c\\xd0\\x1a\\x89\\xb8\\x0d\\x26\\x98\\x17\\x6b\\x62\\x05\\xb7\\x3b\\x06\\xd3\\x8a\\x3a\\xfc\\xa4\\xe5\\xb0\\x20\\x65\\xa7\\x17\\x54\\xe6\\xc7\\x22\\x72\\x6e\\x17\\x7f\\x4d\\x65\\xdc\\xea\\x84\\xac\\x99\\x76\\xdc\\x79\\xd3\\xca\\x78\\xde\\xc2\\x34\\xaa\\x37\\xbf\\x3a\\x97\\x55\\x0d\\xf9\\xb5\\x81\\xec\\x57\\xce\\x33\\x70\\x7d\\xac\\xb4\\xa5\\xb0\\xe8\\x7c\\xb7\\x09\\x8e\\x7b\\xfa\\xf9\\xe1\\xc9\\x3b\\xf7\\xac\\x6d\\xd8\\x3d\\xfc\\xd0\\xb4\\x39\\xbd\\xfa\\x4d\\x9c\\xd4\\x90\\x9d\\x1f\\xd6\\x8e\\x4f\\x74\\xcc\\xc3\\xda\\xa9\\xed\\xfd\\x6a\\x82\\xbd\\xc8\\x9a\\xd1\\x9a\\xd0\\xd4\\x4e\\x1f\\x99\\x88\\x5a\\xed\\x6e\\x83\\xc6\\xeb\\x35\\xd8\\x59\\xc6\\xe4\\x74\\x06\\x99\\x02\\x97\\xe4\\x90\\x40\\x8a\\x1a\\x0c\\xb0\\x65\\xa5\\xee\\x87\\x2f\\xf1\\xbc\\x56\\x5d\\x79\\xcd\\x6d\\x6c\\x17\\x38\\x76\\xa1\\xf3\\xa0\\xe7\\x2d\\xa7\\x2f\\x70\\xdc\\x52\\x55\\xc1\\x9c\\xbb\\xc8\\x29\\xcb\\xd9\\xec\\xe1\\x0a\\x93\\xda\\xaf\\xc2\\x1b\\x43\\x71\\xb4\\x36\\xd1\\xe4\\xf5\\x87\\xec\\xe5\\x46\\xa6\\xd8\\x1c\\x89\\xc4\\x8a\\x8d\\x76\\xbf\\x20\\x3a\\x0b\\x0a\\xea\\x7a\\x8b\\x62\\x6d\\xd0\\x15\\x70\\xb5\\x26\\x43\\x76\\xbb\\x2e\\xe0\\xf7\\x07\\x24\\xa6\\xbc\\xd8\\x58\\x6e\\x44\\x3a\\x5d\\x2f\\x52\\xa4\\x8e\\x2b\\x19\\x97\\xe4\\xfc\\x28\\x4f\\xe7\\xa2\\xc0\\xf7\\x6c\\x41\\x66\\xe9\\x29\\x89\\x70\\x8e\\xde\\xa5\\x86\\xa0\\xf5\\xec\\x23\\x25\\x3a\\x5d\\x24\\x5f\\x2b\\x1d\\x8b\\xc8\\x54\\x70\\xba\\xdd\\x6f\\x5f\\x7b\\xcf\\xcf\\xb7\\x2d\\x3b\\x3a\\x30\\x64\\xbe\\x6a\\x5d\\x8f\\xa9\\xdf\\x7c\\xd7\\x41\\x33\\x96\\x47\\xcc\\xf9\\x69\\x9f\\xfe\\x77\\xb6\\x4d\\x5c\\x36\\x57\\x1e\\xd5\\xab\\x60\\xc2\\xba\\xb9\\xed\\x57\\x4c\\x1b\\x3b\\x70\\x7e\\x9f\\x9d\\x77\\x67\\x91\\xe1\\x7e\\xe8\\xda\\x7f\\xef\\xed\\x3b\\xf4\\xb2\\x9a\\xf8\\xd8\\x49\\x63\\x06\\xd6\\x0f\\x23\\xeb\\xf8\\x7b\\xe0\\x11\\xab\\xf8\\x87\\x60\\x4a\\xa3\\x12\\x51\\xa3\\xe4\\x65\\x3d\\x1c\\xc7\\x4a\\xac\\xc6\\xe1\\x08\\x60\\xb0\\x3b\\x38\\x6c\\x95\\x24\\xab\\x15\\x6c\\x75\\x2b\\xf6\\xb2\\x98\\x6d\\x55\\xb8\\xda\\x05\\x93\\xd3\\x2d\\xf1\\xfc\\x3e\\x52\\xb6\\x7a\\x35\\xa8\\x3f\\xa7\\x23\\x31\\x16\\x59\\x17\\xd3\\x42\\xf2\\x7b\\xa6\\x0d\\xbf\\xfd\\xd9\\x39\\x33\\xb6\\xce\\xab\\x19\\x14\\x3c\\x70\\xfc\\xe0\\x4b\\x0b\\x5e\\x58\\x33\\xe1\\xbd\\x3a\\x1f\\x63\\xd4\\x39\\xb1\\xe3\\xd4\\xc6\\xcd\\x2d\\xf7\\xc9\\x83\\x9e\\x3b\\xb4\\xf7\\xd3\\x7d\\x36\\xb9\\xc4\\x47\\x14\\x1d\\x80\\xf3\\x59\\x80\\x93\\xe8\\x6c\\x45\\xa2\\x5d\\x6f\\xd6\\x59\\x2c\\x66\\x3b\\xeb\\x63\\xbc\\x5e\\xbf\\x45\\xa7\\x33\\xb9\\xdd\\xd4\\x0e\\x71\\x63\\xbd\\xd9\\x64\\x86\\xbd\\xe4\\xe8\\x96\\x87\\xd9\\x5d\\x37\\x48\\x6b\\xc4\\x8c\\xc3\\x1c\\x4c\\x17\\x6e\\xc8\\xc4\\x82\\xb2\\x7b\\x07\\x09\\xe3\\xb6\\xef\\x38\\x71\\x6a\\xd8\\x34\\x25\\x19\\x69\\xc2\\x86\\x2b\\xb7\\x7f\\x7a\\xcd\\x93\\xbb\\xb8\\x85\\xf7\\x0f\\x93\\xff\\xf5\\xa2\\xdc\\x15\\xd0\\x75\\x7d\\x45\\xb3\\x8f\\x7e\\x1d\\x78\\x76\\xcf\\xfe\\xef\\x77\\x0d\\x24\\xb8\\x7c\\x1b\\xe4\\x7d\\x7f\\xfe\\x26\\x05\\x46\\x8b\\xce\\xac\\x17\\xed\\x76\\xbd\\x8e\\xf5\\x03\\x8c\\x3e\\x80\\xd1\\x6d\\x54\\x61\\x74\\x12\\x97\\x65\\x6b\\xd2\\x88\\x7e\\x14\\x46\\x96\\x5a\\x46\\xd6\\x3a\\x73\\x15\\xce\\xf1\\x46\\x52\\xa3\\x89\\xcf\\x01\\x91\\x59\\x98\\x05\\x11\\x57\\xdc\\x3f\\x0c\\x4b\\x2f\\x62\\x36\\xa0\\x63\\x8c\\x04\\x44\\xb9\\x14\\x40\\xbc\\xe9\\xfb\\x6b\\x07\\x52\\x59\\xab\\x07\\x5e\\xbb\\x0b\\x74\\x92\\x20\\xea\\x9b\\xf0\\x07\\x10\\x32\\xe9\\xf5\\x7c\\x08\\xc4\\x97\\xd5\\x4b\\x22\\x2b\\xad\\x66\\x8e\\xd3\\x68\\x98\\x71\\x49\\x4d\\x3e\\x57\\xcd\\x3b\\x09\\x77\\x99\\x73\\xda\\xea\\x82\\x7d\\xc9\\xd0\\x0c\\x82\\xb4\\x7d\\x21\\x3c\\xf3\\xf6\\xee\\xdb\\x0b\\x68\\x6e\\x44\\xa0\\xc6\\x7f\\xc7\\x1f\\x37\\x91\\xa4\\x01\\x92\\x1d\\xb1\\xed\\xa5\\xc8\\x40\\xcb\\xa8\\x14\\xea\\x2c\\x23\\xf9\\x11\\xcd\\x87\\x70\\xc1\\x5d\\xff\\xda\\x46\\x92\\x05\\x1e\\x6e\\xfa\\xfb\\x49\\xf9\\xae\\x0e\\x25\\xd7\\x9f\\xd6\\x24\\xa3\\xb9\\x9e\\x01\\x54\\x8a\\x1a\\x12\\x01\\xd1\\x8a\\xbc\\xde\\x82\\x22\\x2b\\x57\\x56\\x1e\\x0b\\xc7\\xc2\\x4e\\x93\\x13\\x88\\xd0\\xc9\\x99\\xc0\\x7e\\x33\\x39\\xbb\\x1f\\x82\\x67\\x13\\x37\\xf2\\xfb\\x09\\xe0\\x4c\\x63\\x7f\\xa5\\xeb\\x00\\x9b\\x13\\xdf\\xc0\\xbd\\x93\\x6d\\x28\\xd0\\xf5\\xc6\\xdd\\x72\\xea\\xa7\\xe9\\x9e\\x03\\xff\\x23\\x1f\\x32\\xa6\\x23\\x1d\\xd8\\x44\\x4e\\x3b\\x81\\xae\\x79\\x57\\x7d\\x7b\\x40\\xed\\x38\\xf0\\x0f\\x79\\xc5\\x3b\\xcc\\xa3\\xd9\\x74\\x55\\x98\\x43\\x33\\xbc\\xd4\\x03\\xaf\\x91\\x40\\xb3\\x09\\xa1\\xf6\\x44\\xbd\\x9b\\x14\\x78\\x30\\xfa\\x05\\xc1\\xa8\\x45\\x5c\\xb8\\x50\\xe7\\x76\\xba\\x41\\xf9\\x33\\xb8\\xfd\\xee\\x51\\xee\\x69\\xee\\x45\\x6e\\xde\\xc0\\xba\\xdd\\x88\\x65\\x43\\xc0\\xf9\\x31\\x48\\x60\\x89\\x7a\\x37\\xd3\\xce\\x97\\x8b\\xc7\\x6d\\x2a\\xee\\x32\\x52\\x8a\\x80\\x86\\x68\\x92\\x5c\\xc7\\x70\\x3d\\xe1\\x9e\\xe5\\x98\\xb5\\xa5\\xd9\\x68\\xf3\\x81\\xf5\\x1a\\x7c\\x23\\xae\\xdb\\xb2\\x1a\\x2f\\xd9\\x26\\xcf\\xc3\\x2b\\x96\\xbf\\xb7\\x7a\\xe0\\xe8\\xf9\\x0b\\xe6\\x8e\\x98\\x38\\x83\\x38\\x5d\\x5e\\x9b\\xbd\\xd5\\x2e\\xcc\\xef\\x90\\x3f\\x9a\\x30\\x63\\xe1\\x1d\\xf2\\x4d\\xf8\\xc9\\x59\\x4b\\x1b\\x9b\\xd4\\xbc\\x86\\xcf\\xd9\\x75\\xf4\\x2c\\xa1\\x82\\xf4\\xf4\\x76\\x05\\x74\\x11\\xae\\xac\\xcc\\x1c\\x8a\\x04\\xf8\\xca\\x5e\\x21\\xa3\\xdd\\x68\\x07\\xdd\\xc1\\xe8\\x8d\\xd1\\x50\\x53\\x33\\x0d\\x35\\x75\\xe6\\x45\\x9b\\x5c\\x20\\xf0\\x3a\\xdd\\x0c\\x41\\xc9\\x03\\x20\\x61\\xd6\\x55\\x4a\\x2c\\xbd\\x4b\\x0d\\xc8\\x8e\\xaa\\x89\\x00\\x0e\\x33\\xc2\\x1b\\xd7\\xbd\\x36\\xe7\\x81\\x5d\\x2b\\xf7\\x2f\\xed\\x5c\\x5f\\xe8\\xb4\\x38\\x9b\\x66\\xae\\xd8\\xb5\\x72\\xe2\\xb5\\x77\\x5e\\x39\\x0f\\xdf\\x7d\\xd9\\xe1\\xf9\\x0f\\xbe\\x25\\x7f\\xb4\\xab\\xfd\\xc1\\x15\\x57\\xdd\\xdc\\x36\\xb8\\xff\\x30\\xad\\x7e\\x06\\xa7\\xd5\\x5e\\x3a\\xb8\\x69\\xc4\\x5d\\xdb\\x97\\x75\\xec\\x71\\x88\\x25\\xbb\\x47\\x5e\\x3b\\xe1\\x4f\\x27\\xe4\\xb3\\xf2\\xeb\\x4a\\x2c\\x1f\\xf7\\x01\\xf7\\x22\\xaa\\x24\\xd1\\x9a\\xe6\\x42\\xa7\\xaf\\x44\\x27\\x8a\\xbe\\x42\\xb6\\x17\\x53\\x59\\x59\\x55\\x4e\\xf7\\x65\\x79\\xd4\\x07\\xeb\\x32\\x36\\xe9\\x76\\x07\\xa3\\x51\\x23\\xa9\\x8a\\x19\\x35\\x07\\x6d\\x63\\x93\\xc1\\x0b\\xc5\\xf5\\xb9\\xcd\\x54\\xad\\xcb\\xcd\\xd7\\xcc\\x31\\xb3\\x09\\xc7\\xbb\\x50\\x78\\x5f\\x36\\x65\\x83\\xf2\\x19\\xee\\x78\\x6f\\x57\\xa0\\xa6\\x69\\x84\\x37\\x78\\xc1\\x58\\xbf\\x76\\x25\\x16\\xb0\\xa3\\x3d\\x7a\\xcd\\xca\\xd1\\x03\\xd9\\x3f\\x6e\\x74\\xac\\xbc\\xe9\\xc9\\x0b\\x84\\xfd\\x29\\x21\\x81\\xae\\x6b\\xae\\xb6\\x29\\xfa\\x34\\xa1\\xbf\\x97\\x29\\xfd\\x01\\x1f\\x22\\x55\\xe8\\x78\\x49\\x42\\x1a\\x64\\xb6\\x48\\x92\\x51\\x20\\xf1\\xa7\\x9c\\x3e\\x5d\\x6a\\x2e\\xd7\\x91\\x9f\\x59\\x35\\x94\\x77\\x92\\x90\\xf1\\xe7\\x93\\xe6\\xbf\\xaa\\xa5\\xc8\\xbe\\x7c\\xfd\\x52\\x8d\\xfc\\x69\\xb3\\xbc\\x72\\xd4\\xc1\\x5b\\x57\\x6a\\x70\\x60\\x14\\xde\\x35\\x94\\x3d\\x7c\\xfe\\x80\\xbb\\x12\\x3f\\x22\\x8f\\x63\\xe7\\x82\\x01\\x38\\x19\\xff\\x0c\\xb1\\x29\\xa7\\xdc\\xcc\\x88\\xb0\\x9f\\x2d\\x20\\x61\\x62\\x68\\x52\\xa2\\x92\\x50\\xba\\xd1\\x5f\\x88\\x0b\\x8d\\x6c\\xa9\\x55\\xab\\x2d\\x29\\x0e\\x4e\\x48\\x16\\x9b\\x59\\x8f\\x81\\xe4\\x1e\\x82\\x8d\\x64\\x56\\x02\\xe4\\x04\\x30\\xf3\\x04\\xff\\x45\\x62\\x97\\xba\\xab\\xd1\\x7c\\xba\\x7f\\x0b\\x50\\x50\\x7f\\xca\\x29\\xd5\\x2a\\x93\\xb0\\x14\\xb9\\x19\\xe9\\xd8\\x72\\xad\\xb4\\x3b\\x78\\xc7\\x9a\\x29\\x1d\\xbb\\x97\\x25\\x7f\\x4e\\x72\\xd3\\xbb\\x0e\\x96\\x17\\x25\\x26\\xe8\\xa6\\x0e\\x1b\\xc1\\xec\\x4f\\x6f\\xf5\\xd9\\x6d\\x5b\\x77\\x8c\\x6f\\x4a\\x2e\\x62\\x4f\\x7a\\x2a\\xcf\\x55\\x86\\x63\\xb3\\xc7\\x0d\\xe4\\x7f\\x95\\xdd\\xe0\\x38\\xf5\\x39\\xf0\\xd0\\x69\\xd4\\xa7\\x3a\\x2a\\x51\\x22\\xe8\\xcd\\x46\\x8b\\x81\\xb7\\x01\\xee\\x0d\\x46\\x3d\\xe7\\xd0\\xda\\xad\\xbc\\x85\\xd5\\xda\\x24\\x49\\x2f\\x68\\xc1\\xb8\\xd3\\x2a\\x38\\xf6\\xe5\\x1e\\x6a\\xa7\\x4b\\x45\\x75\\x53\\x0f\\x28\\x92\\x31\\x95\\x45\\x18\\xf4\\xea\\xb8\\xad\\xde\\xc6\\x4e\\xfb\\xec\\x2a\\x8d\\xfc\\xce\\x7d\\x72\\x5b\\xbb\\x46\\xfe\\x9d\\x66\\x1c\\x8e\\x7e\\x35\\x53\\xf3\\xf9\\x07\\xfb\\x06\\xb2\\x87\\xcf\\x7e\\xe2\\xae\\x64\\x6f\\x95\\x2f\\xf3\\x55\\x56\\xba\\xb0\\x87\\xd1\\xbb\\x2a\\xe5\\xf0\\xb5\\xb8\\x0d\\xd6\\x7f\\x08\\x6c\\x5e\\x72\\x76\\x64\\xa4\\x71\\x56\\x22\\xcb\\x8b\\xbc\\x49\\x52\\xfc\\xba\\x1c\\x27\\xea\\x24\\x11\\x65\\x5d\\xbb\\x34\\x8b\\x2c\\xc7\\x33\\x0e\\xc6\\x9c\\xda\\xcc\\x55\\x21\\xda\\xef\\x2f\\xdf\\x32\\x66\\x74\\x53\\xa2\\xeb\\x08\\x71\\x3e\\x1f\\xd3\\xdc\\x34\\xc1\\xf0\\x92\\x7c\\x86\\xfa\\x6a\\x3d\\x94\\x47\\x0c\\x91\\x47\\xf1\\x43\\xf9\\xdd\\xc0\\xe7\\x2a\\x51\\x6b\\xa2\\xac\\xdc\\x5e\\xa4\\xf7\\xf9\\x44\\xbb\\xd8\\x8b\\x09\\x85\\xaa\\x0a\\xe8\\xbe\\x2a\\x40\\xee\\x18\\x28\\x83\\x66\\x53\\xd8\\x12\\x26\\xd5\\x9f\\xf5\\x00\\x87\\xde\\xf7\\x23\\x87\\xfc\\x79\\x4e\\x2b\\x1a\\x00\\xd9\\x27\\xaf\\xec\\x9a\\x12\\xf4\\x8c\\x73\\xeb\\xad\\xf1\\x11\\xd5\\x73\\x25\\x9f\\x27\\x81\\x1b\\xcd\\x66\\x47\\xa6\\xce\\x5a\\x62\\x99\\xa8\\xf8\\xaf\\xa6\\x67\\x2b\\xac\\x29\\x1e\\xac\\xb3\\x33\\xdc\\x55\\x78\\xf3\\xe4\\x91\\xe9\\xc2\\x6a\\xa6\\xe8\\x99\\xf7\\x6c\\x67\\xff\\x95\\x2d\\xaa\\x96\\xa3\\x23\\x45\\x88\\x37\\xa6\\xa0\\xb0\\x50\\x64\\x83\\xac\\x8d\\xe7\\xb0\\xc1\\xe3\\x29\\xc6\\x45\\x61\\x5e\\xe0\\x5b\\x93\\x05\\x42\\x40\\xa3\\x71\\x0a\\x82\\xd2\\x7a\\x13\\x94\\x5f\\x27\\x2e\\xbc\\x98\\xbe\\xa4\\xd4\\x60\\xef\\xa1\\x02\\xa7\\x15\\x27\\x52\\x5f\\xa6\\x09\\x5f\\x40\\x77\\xa2\\x59\\xe0\\xa2\\xaa\\x3f\\x15\\x7e\\x20\\xfd\\xb6\\xa2\\x87\\x0e\\x55\\xf8\\x5b\\xe9\\xb7\\x85\\xa0\\x47\\xbd\\xd8\\xf6\\x5d\\x0f\\x45\\xea\\xe5\\xb6\\x17\\x7d\\x94\\x3f\\xa4\\x75\\xa9\\x42\\x92\\x85\\x28\\xfa\\xf5\\x92\\xe4\\xb6\\x1b\\xec\\x7e\\x27\\x17\\x61\\x0a\\x0b\\x8b\\x4c\\x4e\\xe2\\x9e\\xd3\\xbb\\x3c\\x3a\\x5d\\xc8\\xe5\\xb2\\x86\\x42\\x74\\x11\\x43\\x58\\x22\\x69\\x98\\x49\\x6b\\x77\\xc5\\xca\\xdd\\x7d\\x36\\x3d\\xd9\\x21\\xd5\\xb1\\x44\\x0a\\x3b\\xd0\\x36\\x99\\x5e\\xfd\\x05\\x54\\xad\\x8a\\x0f\\x08\\xe8\\x3a\\x75\\x6e\\x1f\\x14\\xf6\\x54\\xb9\\xbe\\x83\\x09\\xd4\\x91\\xb9\\xbd\\x94\\x56\\xba\\x58\\x9a\\x7b\\xf7\\x09\\xf5\\x97\\x97\\xa2\\x6a\\xb4\\x24\\xd1\\x3f\\x22\\xf9\\x98\\xea\\x6a\\x87\\xb6\\x94\\x17\\xcb\\x10\\x12\\x4b\\x25\\xae\\x77\\x0d\\x2e\\xf7\\x95\\x03\\x3b\\x11\\xb4\\x3e\\x89\\x9e\\x8d\\x21\\x5b\\xb0\\x35\\x69\\x33\\xeb\\xa2\\x86\\xe8\\xf8\\xa4\\xc1\\x59\\x4d\\x8b\\x20\\x6b\\xbb\\x9f\\xf6\\x67\\x4b\\x0d\\x74\\x77\\xc7\\x64\\xe8\\x33\\x6d\\x3d\\x86\\x7b\\xa4\\x1d\\xb2\\x62\\xb7\\xcc\\x3d\\x1a\\x41\\xc6\\x7f\\x92\\x36\\x25\\x5b\\xce\\x7f\\x1f\\xe8\\x9e\\x7e\\x38\\xe9\\x44\\x6e\\xfe\\xde\\x16\\x6a\\x9d\\xb5\\xb3\\x87\\x15\\xfb\\xf2\\x9f\\xb7\\xe5\\x65\\x20\\xca\\xc1\\xb9\\xd9\\xfc\\x3d\\x66\\x3e\\x09\\x2a\\xfb\\x42\\xc9\\xb9\\x6c\\x16\\x36\\x02\\x3e\\x7a\\xa3\\x26\\xb4\\x35\\xd1\\xdc\\x50\\xdc\\xdb\\xef\\x2f\\x0f\\x36\\xd9\\x19\\xd0\\xec\\x18\\x7d\\x53\\x31\\x9f\\x70\\x22\\x74\\x09\\x76\\xf5\\x06\\x0d\\x83\\xb1\\xdb\\x83\\xbd\\xa5\\xaa\\xca\\xb1\\xc9\\x2a\\x54\\x5a\\xd7\\x9a\\x2c\\x35\\x87\\x1a\\x0b\\x1b\\xc7\\x27\\x0b\\x9d\\x41\\x3f\\x88\\x3d\\x87\\xc6\\x38\\x8e\\xf4\\x2a\\xce\\x24\\x2b\\x74\\x2b\\x24\\x99\\x93\\x77\\x91\\xaf\\xb7\\x66\\x56\\x5f\\xb5\\xdb\\x22\\x17\\x09\\xa6\\xfb\\x31\\xa4\\x09\\x1b\\xd3\\x96\\xdd\\xbd\\x17\\xb0\\xfc\\x96\\x74\\xcb\\x6b\\xbc\\x00\\x0e\\xd9\\xc3\\x19\\x13\\xb0\\x47\\xfc\\xdd\\x0f\\xa0\\x13\\x21\\x0e\\xe8\\x6a\\xb9\\xe0\\x06\\x3c\\x6a\\x51\\x2f\\xd4\\x88\\x06\\xa3\\x2b\\x12\\xc3\\xfb\\x38\\x8b\\x0b\\x07\\x0f\\xf6\\x9b\\x1b\\x75\\x12\\x1b\\x1d\\x10\\x89\\x44\\x25\\x63\\xa3\\x53\\x18\\x22\\x96\\x97\\x37\\x17\\x0d\\x2c\\x1c\\xd8\\x9a\\x2c\\x01\\xbe\\x5a\\x52\\x62\\x2e\\x94\\x42\\x05\\x63\\x93\\x21\\xe4\\xad\\x21\\x29\\x5a\\x96\\x06\\x5b\\xc3\\xf8\\xa4\\xcd\\x39\\x98\\x2d\\x36\\x17\\x83\\xf0\\xd5\\x99\\x73\\x2d\\xfb\\x9e\\xa4\\xd6\\x13\\x9d\\xb9\\x04\\x97\\xb5\\xe2\\xa9\\xad\\x7f\\x01\\x14\\xe6\\x1a\\xfd\\xdd\\xb3\\x47\\x15\\x1a\\xbc\\x4c\\x35\\xf1\\xe5\\xdd\\xd4\\x11\\x20\\x1f\\xe8\\x89\\x44\\xa6\\x4f\\xd6\\x23\\x20\\x9b\\x2e\\x40\\x95\\x69\\x57\\x80\\xfc\\x1f\\xe2\\x28\\xe8\\x8e\\xcb\\x8c\\xc7\\x20\\x37\\xc9\\x34\\x4d\\xa4\\x0c\\xba\\x14\\x74\\xb1\\x31\\xdc\\x76\\xe0\\x3f\\xb5\\xa0\\x1d\\xf7\\xae\\x01\\x23\\xdc\\xa8\\x13\\xab\\x02\\xa5\\xc8\\xed\\x70\\xa0\\x80\\xc8\\xd5\\xf5\\x29\\x0d\\xb0\\x36\\x1b\\x35\\x49\\x6c\\x66\\x7d\\x8d\\x19\\x30\\x69\\x4a\\x18\\xcd\\x12\\x1b\\x6b\\x55\\x62\\x01\\x89\\xc0\\xf0\\x9e\\xca\\x63\\x44\\xf9\\x8a\\x71\\xda\\x31\\x4f\\x0e\\x25\\x95\\x5a\\x05\\xd4\\x1d\\x1f\\xee\\x93\\x3d\\x5a\\x56\\x8e\\xfb\\x78\\x40\\x4e\\x38\\x73\\xb0\\x57\\x1f\\x21\\x75\\x18\\x9f\\x7f\\x45\\x5e\\x94\\x3d\\x4e\\xc0\\xae\\xe6\\xa9\\x4b\\x6f\\x2f\\xce\\x9e\\xf6\\x9d\\xff\\x63\\x65\\x04\\xb7\\xd2\\xe3\\xbd\\xba\\xc3\\xb3\\xad\\xd8\\x7e\\xf3\\x5e\\x72\\xca\\xc0\\x8c\\x20\\x2e\\x7c\\x4f\\x24\\x7b\\xda\\xf7\\x6e\\x65\\xa5\\x7a\\xba\\x37\\xf7\\x92\\xae\\x57\\x2e\\x23\\xfb\\xf3\\x52\\x79\\x14\\xb7\\x1a\\xe8\\x4a\\xc9\\xf7\\xec\\x6b\\x36\\xc6\\x8b\\x2a\\x2a\\xc2\\x05\\xbe\\xde\\x8e\\xe2\\x62\\x50\\x48\\x8d\\x6c\\x1f\\xa6\\xbc\\xbc\\xbe\\x94\\xf2\\xdc\\x52\\x54\\x10\\x2f\\x8a\\xb7\\x26\\x23\\x89\\x70\\x91\\xe4\\xae\\x1a\\x97\\x74\\x3b\\xbb\\x9f\\x00\\xf6\\x40\\x44\\xbe\\x6a\\x14\\xef\\x2e\\x49\\xd9\\xfc\\x03\\x37\\x55\\x35\\x52\\x4b\\xe8\\xd6\\xe7\\x1c\\x05\\xd9\\x08\\x22\\xc6\\x5f\\xf0\\xd0\\xd0\\x36\\x79\\x52\\x16\\x39\\xef\\x6a\\x15\\xc1\\x7a\\x43\\x65\\xa4\\x31\\x7e\\xc5\\x7b\\x97\\x59\\xbb\\x1f\\x26\\x2e\\x2d\\xcd\\xe2\\xa6\\x37\\xc8\\xd6\\x73\\xb5\\x95\\x95\\x66\\xe6\\xeb\\xae\\x0f\\xdb\\xa9\\xfe\\x00\\xb4\\xc0\\x87\\x81\\x16\\x1a\\x40\\x6b\\xbd\\x22\\x31\\x2c\\x1a\\x29\\x2d\\x0d\\x05\\xbc\\xf6\\xaa\\x84\\xa6\\x9f\\xc9\\xa4\\x11\\xab\\x7a\\x7b\\x05\\x60\\x01\\x7d\\x87\\x55\\xd9\\x13\\x1a\\xfd\\x80\\xf1\\x49\\xbb\\x46\\xaf\\x77\\xd5\\x35\\x34\\xd4\\xd5\\x81\\x6c\\xad\\x33\\x07\\xa2\\x91\\x68\\x6b\\xb2\\x30\\x11\\x8a\\x48\\xae\\x8a\\x71\\x49\\x97\\xd3\\x32\\x78\\x5c\\xd2\\x92\\xe3\\x49\\xcf\\x20\\x27\\x2b\\x7d\\x1b\\x1a\\xd4\\xe3\\x82\\x0b\\xed\\x32\\x35\\xe1\\x2a\\x3f\\x5d\\x3e\\x1a\\x4b\\x6b\\x97\\xd9\\x62\\xc3\\xe9\\x0c\\x8c\\x4c\\x46\\x8f\\x5a\\x3a\\x42\\xc9\\xb9\\xe7\\x9e\\x55\\xb2\\xe8\\x07\\x1f\\x9c\\xb2\\x64\\xcb\\xe9\\x43\\x1d\\x7b\\xfb\\x8c\\xde\\x38\\x66\\xc2\\xb4\\xbc\\x13\\xaa\\xca\\x48\\xd9\\x8c\\xb0\\x37\\x9d\\x57\\x7f\\xcd\\xf8\\xe4\\xc8\\x1b\\xeb\\x5c\\x0b\\x47\\xaf\\xde\\xc4\\x5c\\x4b\\x73\\xeb\\x03\\x8d\\x4d\\xb3\\x26\\xaf\\x3c\\x50\\xdb\\xd2\\x52\\xdb\\x31\\x39\\x8d\\xc2\\x36\\x40\\x5c\\xac\\xb2\\xb2\\x36\\x76\\xc9\\xa5\\xe9\\x64\\x7b\\xb9\\xb5\\xac\\xb6\\x77\\xe5\\xa0\\xe6\\x31\\xd4\\x97\\x0e\\xfa\\xd8\\x03\\xfc\\x3d\\x80\\xcf\\xcd\\x89\\x41\\x15\\x65\\x65\\xb5\\x35\\xb5\\x5e\\xaf\\x4f\\xaf\\xa5\\x47\\xfe\\x48\\xeb\\x63\\x83\\xfd\\x6b\\x0a\\x0a\\x22\\xc1\\x60\\xbf\\x5a\\x67\\xbd\\x73\\x7c\\xb2\\xde\\x1c\\x0a\\xd4\\x04\\x80\\xc6\\x6a\\xa4\\x58\\xaf\\xd6\\x64\\x59\\x59\\x0c\\x07\\x7d\\x3e\\x87\\x00\\xf6\\x8f\\x56\\x2b\\x64\\xe8\\xac\\x29\\x93\\xaf\\x96\\x1f\\x9b\\x9f\\xf1\\x44\\x66\\xf4\\x58\\x35\\x5a\\x1f\\xdb\\xbb\\x9f\\x43\\xe7\\xc4\\x36\\x12\\x43\\x02\\x10\\x99\\x5f\\x10\\x42\\x0d\\x77\\xe4\\x1f\\xf0\\x2c\\xce\\x0b\\xcd\\x5c\\x9b\\x0e\\x76\\xbc\\x49\\x7e\\xe4\\x8f\\x07\\xff\\x78\\x8f\\xe6\\x41\\x43\\x36\\x20\\x64\\xc0\\xd0\\x82\\x00\\xfe\\x87\\x12\\x01\\xc9\\xfc\\x5b\\x49\\x97\\x48\\x47\\xaa\\x5e\\xe3\\x57\\xc3\\x1f\\xa7\\x9c\\xfd\\x9a\\x37\\xf4\\x8e\\x0d\\x52\\xe2\\x46\\xe6\\xdf\\x7d\\xdb\\xf3\\x8b\\x16\\x91\\x38\\xdd\\xc5\\xc0\\x87\\x06\\xc0\\x5e\\x2c\\x21\\xdd\\x29\\xf4\\x42\\xc4\\x69\\x46\\x05\\x3e\\x1f\\x72\\x0a\\x5c\\x69\\x99\\x39\\xc2\\x7a\\xd4\\xac\\x11\\xb3\\x56\\x04\\x35\\x1e\\x09\\x0e\\xd6\\x94\\xe5\\x3e\\x79\\xfd\\x35\\xbb\\x87\\x71\\xd0\\x08\\x02\\x25\\x56\\x9c\\x4c\\x3e\\x37\\x6a\\x20\\x8f\\xf7\\x70\\xd6\\xe7\\x5f\\xd9\\xb2\\x4e\\x3e\\x4d\\xc3\\xc5\\x5f\\xf7\\xcd\\x3b\\x99\\x09\\x19\\xc8\\xe1\\x36\\x84\\xbd\\xd8\\x49\\xb4\\xf8\\xb9\\xeb\\xaf\\x9a\\x9e\\x0d\\x16\\xc8\\x72\\x19\\xba\\x8f\\x16\\x83\\x4e\\xf7\\x05\\xcc\\xc5\\x84\\x1c\\xa4\\xaf\\x9b\\xc4\\xb3\\xc8\\x21\\x72\\x26\\x13\\x32\\xf0\\x9c\\xcb\\xe9\\x10\\xc9\\x49\\xa6\\xc1\\x60\\x72\\x08\\x66\\xce\\xdc\\x9a\\xe4\\x24\\x1a\\x69\\x9b\\x57\\x1c\\x3a\\x5e\\x75\\xa1\\xfc\\x81\\xb4\\x48\\x51\\xd4\\x1c\\x55\\x84\\xe0\\x4b\\x95\\xf8\\xf6\\xfa\\xac\\x36\\x73\\x8e\\x39\\x48\\x24\\x43\\xdf\\xe9\\x4a\\x5c\\xbb\\xaa\\xb3\\xb0\\xd3\\x6c\\xe6\\x9f\\x74\\x7d\\x09\\xf0\\xb5\\xa5\\xfe\\xce\\x0d\\xa5\\x75\\x66\\xab\\xd0\\x8d\\x89\\x91\\x1a\\x9e\\x0f\\x05\\x38\\x56\\xab\\xf5\\xfb\\xc2\\x7a\\x1d\\xc3\\x44\\x0a\\xbd\\x18\\xac\\x3f\\x8f\\xbb\\xa8\\xb4\\xc8\\x1b\\x0e\\xf0\\xd5\\x95\\x92\\xc3\\x01\\x74\\xde\\x3b\\x5c\\x54\\xe4\\xf1\\x16\\x16\\xfa\\x83\\x7e\\x0f\\xa3\\xd3\\x71\\x56\\x5e\\xf4\\xc0\\x7f\\xb8\\x2c\\x10\\x64\\x39\\xa7\\xd6\\x60\\xc0\\x24\\xca\\xc3\\x12\\x07\\xfa\\x8c\\x5b\\x95\\x1e\\xd7\\xd4\\xbd\\x4c\\xe9\\xb0\\x2a\\x9e\\x39\\x13\\xcc\\xd2\\x69\\x1e\\x63\\xcc\\x3d\\x2e\\xe2\\x23\\x7a\\x1c\\x21\\x66\\x97\\x8f\\x14\\x26\\x26\\x1d\\x52\\x68\\xd1\\x1e\\x31\\x76\\x91\\xdf\\x99\\x7d\\x15\\x6d\\xbf\\xa9\\x5a\\xd5\\x2c\\xdc\\x9f\\x7c\\x2f\\x3e\\xe1\\x8a\\x58\\x25\\xbf\\xdd\\xda\\xb0\\xfe\\x02\\xbf\\x39\\xf0\\x7d\\xf2\\x34\\x66\\xaa\\xa5\\x40\\x2e\\xc4\\x37\\xc9\\x73\\xb0\\x38\\xbe\\x57\\x95\\xb1\\x40\\xf2\\x55\\xcd\\xe9\\xba\\xe8\\xbf\\xd0\\x98\\x80\\x2e\\x50\\x44\\x0a\\x01\\x67\\x06\\xe4\\x21\\x6b\\xea\\xd0\\x68\\xdc\\x7a\\xbd\\xc1\\x25\\x31\\x8c\\xc7\\x60\\xf0\\xb9\\xbc\\xb6\\x2a\\x77\\x93\\x9b\\x71\\xbb\\x4d\\x2e\\x07\\x0e\\xe9\\xaa\\x75\\x80\\x20\\x41\\x4f\\x2a\\x3c\\xc6\\xab\\xa6\\xc7\\x95\\x57\\xd5\\xbe\\x48\\xef\\x4b\\x55\\x16\\xd4\\x93\\xea\\xa6\\x4a\\xf1\\x5a\\x36\\xef\\xcb\\x6f\\x86\\x70\\xc1\\x43\\xb3\\xad\\x6f\\x75\\x8c\\x19\\x3c\\x82\\x6d\\xf8\\x7c\\x08\\x1b\\x3c\\xd4\\x69\\x3d\\xd5\\x31\\x9a\\x7c\\x63\\x0f\\x7c\\x22\\x1a\\xed\\x9f\\xe0\\xfb\\xce\\xbe\\xac\\x7e\\x20\\xb6\\xf0\\x7f\\x40\\x9e\\x21\\x1a\\xe3\\x3d\\x21\\x51\\x16\\x08\\x87\\x2d\\x06\\x81\\x8b\\xc5\\x00\\xe4\\x52\\x87\\xcb\\x55\\x12\\x93\\x68\\x23\\x2a\\xa2\\x07\\x09\\x11\\x6d\\x84\\xc4\\x2f\\xf4\\xb4\\x86\\x55\\x3f\\x63\\x37\\xeb\\x2f\\xc7\\x24\\x4e\\x1b\\x7e\\x4d\\x3d\\xa2\\x2f\\xd4\\x7a\\x05\\x36\\x0e\\x7d\\x4a\\xb2\\xe0\\x66\\x4b\\x63\\x4f\\x5c\\x3a\\x7b\\x8e\\x3b\\x96\\x13\\x84\\x11\\x2e\\xed\\x1c\\xf9\\x70\\xdf\\x65\\x8a\\xbd\\xcc\\x54\\x8c\\x9a\\xb7\\x6a\\xe9\\xbc\\xd2\\x9d\\xbf\\xcf\\x1c\\xbd\\x37\\x1f\\xf9\\x7d\\xaf\\xf9\\x9b\\xa7\\x92\\x8c\\xb8\\xf4\\x7c\\x5a\\x60\\x3e\\x71\\x34\\x3d\\x51\\x15\\x2a\\x2a\\xb2\\x4b\\xda\\xb2\\xb2\\x5e\\xe5\\x52\\xb9\\x17\\xa1\\x3a\\xb7\\xd7\\x5b\\x5b\\x26\\xa5\\xe3\\x8c\\xcc\\x5a\\xd5\\x7e\\x60\\xab\\x89\\xb4\\x66\\x7d\\x79\\xf1\\x46\\x79\\xd3\\xb2\\xe4\\x36\\x69\\x52\\xa8\\x4d\\x0d\\x13\\xe8\\xf3\\xe3\\x93\\xcb\\x1c\\x4e\\x71\\x2d\\x91\\x89\\x4d\\xab\\x37\\x45\\x1d\\x17\\x9d\\xe5\\xfd\\x8f\\xd2\\xdf\\x3e\\x7c\\xdd\\xba\\x6d\\x6b\\xe5\\x17\\xd3\\x2f\\x3a\\xd7\\xf3\\x7e\\xfa\\x1b\\xf0\\xc0\\x0d\\x4c\\x0d\\xb3\\x9d\\xbf\\x0a\\x28\\x6c\\x50\\xc2\\x2e\\xb0\\x6e\\xb7\\x47\\xb2\\x5a\\x0d\\x3a\\x8f\\xce\\x6b\\x34\\xfa\\x0c\\x92\\xe4\\x79\\x02\\x0f\\x7c\\x4c\\xb0\\xdb\\x35\\x4f\\xe1\\x46\\xc4\\xe0\\x0a\\x72\\xfc\\x0b\\xdb\\x4d\\xdd\\x57\\xb9\\x41\\xec\\x0a\\xb7\\x00\\x60\\x49\\x41\\x74\\x07\\x89\\x97\\x55\\xf3\\x10\\x08\\xcb\\xc7\\xda\\x61\\xfc\\xe1\\x5a\\xc6\\x36\\x7b\\xc9\\x06\\xbe\\x69\\x0c\\x77\\x6c\\x80\\xa9\\xb1\\x7c\\x5e\\xd1\\xe0\\x59\\xfc\\x74\\xc9\\x27\\xff\\xc6\\xd8\\x71\\xf9\\xd6\\x5e\\xf2\\x0d\\x26\\x1f\\x9e\\x3e\\xca\\xdd\\x38\\xac\\x9f\\xbc\\x93\\xda\\xa9\\x0a\\x6c\\x37\\x80\\x9e\\x38\\x32\\xe1\\xf2\\xe9\\x74\\x7a\\xbb\\x05\\x73\\x5c\\x38\\x18\\xb4\\xe8\\xd9\\x08\\x58\\xaa\\x3e\\x41\\x08\\x3c\\x81\\x1b\\x8f\\x3a\\xad\\xd2\\x13\\xb8\\xf2\\xb1\\x30\\xc6\\x7a\\x80\\x56\\xe1\\x07\\xf1\\x2c\\x8c\\x79\\xe2\\x89\\x90\\x7f\\x16\\xac\\xfc\\x50\\xc3\\x0c\\xe4\\xcc\\xe6\\x0c\\x80\\x0b\\x5d\\x1b\\xa6\\xf4\\x8e\\x38\\x03\\x26\\x9b\\xbf\\xb4\\xcc\\xe4\\x32\\x2b\\x13\\x60\\x6a\\xf0\\xf4\\xa9\\x5a\\x0a\\x29\\xd3\\xbe\\x6d\\x87\\x7e\\xe3\\x08\\xc3\\xa8\\x09\\xdb\\x5b\\x95\\x59\\xd0\\xbd\\x7b\\x12\\x57\\xe0\\x2b\\xf8\\x19\\xc8\\x8c\\xfc\\xa8\\x3e\\x61\\x92\\x74\\x3a\\x17\\x63\\xb1\\x14\\xf0\\x0c\\x13\\xb0\\x7b\\x9f\\xc6\\xd5\\x48\\x8f\\x8c\\xb8\\xff\\x51\\x91\\x45\\x4f\\xe0\\x01\\xa8\\xa9\\xa6\\x86\\x14\\x18\\xcb\\xa3\\x15\\xe5\\x34\\x2c\\xdb\\x38\\x00\\x30\\x9b\\x9b\\x96\\x57\\x5e\\x5b\\x61\\x0b\\x68\\x2d\\x9e\\x58\\x85\\x79\\xce\\x04\\xfe\\x89\\x79\\xe5\\x27\\xa2\\x3e\\x6f\\x2c\\xe6\\xf5\\x45\\x71\\x85\\x75\\xf9\\x20\\xcb\\xf0\\xc9\\x4c\\x42\\xf2\\x75\\x1d\\xfb\\x82\\xfd\\x37\\xfd\\x39\\x16\\xa3\\x38\\xdd\\x06\\x38\\xad\\xe6\\x56\\x23\\x0b\\xaa\\x4d\\x18\\xb2\\xb1\\xab\\x7a\\xe3\\x53\\xb8\\x3f\\xd2\\xe1\\x81\\x8f\\x4b\\x3c\\x4f\\x60\\x6a\\x24\\x30\\x51\\xbe\\xfa\\x03\\xa1\\xab\\x71\\x12\\xba\\x8a\\x82\\x16\\x9f\\xc7\\x55\\x35\\xaf\\xec\\x92\\x59\\xd3\\x86\\xf1\\x07\\x6d\\xd5\\xcb\\x40\\xc1\\xbd\\x61\\xd4\\xf0\\x46\\xf9\\xa7\\x8c\\x4e\\xf2\\x6d\\x6d\\x19\\x4a\\x9e\\x6b\\x63\\x22\\xf8\\x65\\x6e\\x0e\\x3c\\x37\\x9e\\x20\\x51\\xbd\\x34\\xa4\\xd8\\x66\\x79\\x02\\xf7\\x7f\\xdc\\x6c\\x34\\xea\\x35\\x4f\\xe3\\x26\\xb8\\x8a\\xa3\\xcb\\xd7\\x44\\x96\\x8b\\x6e\\x9c\\x06\\xb5\\x8b\\x0e\\xe1\\x03\\x91\\xbc\\x78\\x62\\xfc\\x32\\x79\\x98\\xb5\\x7a\\x59\\x3c\\x60\\xf5\\x7a\\xc9\\xe3\\x13\\xdc\\x9c\\xae\\x6f\\xe9\\xf3\\xe8\\xd3\\xf1\\x0a\\x3a\\x5f\\x1b\\xac\\xc3\\x17\\xf0\\xdc\\x02\\xd4\\x3f\\x01\\x8a\\xb3\\x60\\xb5\\xda\\xf4\\xb6\\xa0\\xd7\\xef\\x0f\\x59\\xe1\\xd9\\x8f\\x59\\x4c\\xa4\\x8e\\x40\\xd3\\x51\\x9f\\x3b\\xbb\\x0e\\xf1\\x78\\x53\\x7e\\xba\\x89\\x7a\\x6c\\xdc\\xa7\\xfe\\x62\\xa1\\xc4\\x78\\xfb\\xa0\\xb1\\x1a\\x6f\\xf5\\x62\\x05\\x96\\x5e\\xf3\\xca\\x06\\xcd\\x9a\\x6f\\xa8\\x2d\\x70\\xf9\\x02\\x8e\\x38\\xae\\x18\\xde\\x6a\\x6e\\xbc\\xa5\\x79\\x30\\x40\\xd5\\x32\\x00\\xaf\\xe8\\xfa\\x79\\x73\\x78\\x9c\\x65\\xd0\\x3a\\xbd\\x12\\xeb\\xb3\\x15\\xd6\\xe3\\x30\\xc0\\x47\\xe2\\x33\\x27\\x24\\x8a\\x7b\\xc4\\x67\\xda\\xcc\\x66\\x9d\\x51\\xa3\\xd1\\x21\\x9f\\xc9\\xef\\x33\\x99\\x7c\\x7e\\x56\\xd4\\x91\\xa5\\x12\\x09\\xa6\\x9a\\x80\\xb6\\xab\\xaa\\xaa\\x32\\x81\\xd7\\x96\\x9e\\x75\\xa0\\xb0\\x5a\\xc6\\xdb\\xa6\\xd4\\xd8\\xab\\xcf\\x89\\xcb\\x14\\xf1\\xd3\\xe5\\xfd\\xb7\\xad\\xff\\xd9\\xb4\\xe1\\x3c\\x66\\xf8\\x49\\x45\\xc3\\x9e\\xde\\x2b\\x0c\\x92\\x8f\\x0e\\x9b\\xd2\\xaf\\xb1\\xb2\\x84\\x9d\\xad\\x19\\xd4\\x6b\\xea\\x0c\\xb2\\x82\\x3e\\xf3\\xeb\\xff\\xf6\\x19\\xe5\\xa2\\xc1\\x2d\\xd1\\xea\\x3f\\xd2\\xde\\xe4\\x4c\\x94\\xdd\\x0a\\x30\\x93\\x78\\x0d\\xbf\\x86\\x07\\x31\\x0e\\x22\\x9c\\x88\\x6f\\x46\\xcb\\x73\\x1e\\xc9\\xe9\\xf4\\x12\\x51\\x6d\\xe3\\x45\\xb2\\xba\\x06\\xad\\x16\\x73\\x80\\x62\\xa4\\xac\\x6a\\x3c\\x6e\\xcd\\x3b\\xe7\\xca\\x65\\xf6\\x39\\x82\\x16\\x36\\x66\\x2c\\x5d\\x36\\x4f\\x64\\x96\\x95\\x8c\\x78\\xbe\\x6c\\xce\\x40\\xfe\\x86\\xb1\\x4f\\x56\\x0e\\x1f\\xdd\\xca\\x79\\x4d\\xfc\\x0a\\x73\\x0d\\x13\\xc5\\x2b\\xe5\\xdd\\x8c\\x13\\x38\\xc8\\x14\\x3c\\x4f\\xbe\\x71\\xff\\x9d\\x51\\x97\\x97\\xf3\\x99\\x9d\\xd1\\x76\\x85\\x97\\xff\\x16\\x97\\x32\\x33\\x39\\x12\\xaf\\xd1\\x94\\x70\\xe1\\x02\\x89\\x09\\x14\\x04\\x1c\\xbc\\xc1\\x10\\x06\\x33\\x33\\xc4\\x48\\x52\\xc0\\xeb\\xb4\\x3d\\x8d\\x7b\\x81\\x8d\\x8f\\x00\\xa3\\x4d\\x64\\xe9\\x1b\\xb2\\x87\\x99\\xd9\\x14\\x1d\\xd8\\x89\\x71\\x5b\\x7d\\xb6\\x8e\\x1f\\x68\\xb6\\xd9\\x1a\\x7e\\x4d\\x98\\x8d\\x75\\xdc\\x32\\x79\\x77\\xd4\\x63\\xe2\\x00\\xa8\\x7f\\x0c\\x1f\\x3d\\xaa\\x57\\x75\\x99\\xcb\\xa7\\x35\\x87\\xc7\\x5d\\xea\\x5b\\x3c\\x84\\x9b\\x23\\x0f\\xff\\xaa\\xb9\\x8a\\x40\\x66\\xf4\\x54\\x4c\\x91\\x97\\xad\\x9f\\x5e\\xa9\\x5f\\xdf\\x60\\xba\\xa7\\x37\\xc3\\x4a\\x4a\\xbf\\x9c\\x6f\\xd8\\x69\\xf8\\x17\\xb4\\x26\\xbf\\x8e\\x7c\\xc7\\x3c\\x3b\\x8d\\x9d\\x45\\xbf\\xf3\\xf4\\x7b\\x2f\\x76\\x08\\x33\\x9f\\x1f\\x6f\\x15\\xc4\\x3f\\xd1\\xef\\xbd\\xe1\\xfb\\x22\\xfa\\xfd\\xcf\\xf4\\xfb\\x40\\xf8\\x7e\\x19\\xfd\\xfe\\x17\\x32\\x6f\\xbc\\x9c\\xab\\x63\\x1a\\xf9\\x93\\xc8\\x88\\xbc\\x09\\x1d\\x12\\x75\\xac\\xc8\\x4a\\x26\\x4e\\x87\\xaa\\xde\\xce\\x71\\xf3\\x12\\x6b\\xa5\\x4e\\xb1\\x6f\\xea\\x6a\\xfa\\xe0\\xcf\\x5b\\xe2\\x6d\\x6b\\xd7\\xb6\\x55\\x8f\\xe4\\x51\\xbc\\xa5\\x75\\x6d\\x5b\\xdb\\xda\\x56\\xb2\\x6f\\x71\\x07\\x8c\\x55\\x96\\x1e\\x0b\\x94\\x0b\\x91\\x15\\x25\\x93\\x8e\\xeb\\x36\\x16\\x98\\x42\\x0e\\x85\\x31\\x39\\x0a\\x05\\xfc\\xc8\\x88\\xde\\x64\\xac\\x78\\x0b\\x8f\\x6a\\x87\\x29\\x63\\xb5\\xd0\\xfc\\x29\\xa0\\xf5\\x65\\xfc\\x01\\xe4\\x45\\x7d\\x13\\x0e\\xa3\\xe4\\x61\\x25\\xd6\\xa7\\x71\\x38\\xfc\\x1e\\xd6\\xcd\\xb1\\x1c\\x96\\xf4\\xd6\\xa7\\x70\\x25\\x3c\\x93\\x50\\x76\\x3c\\x9e\\x97\\xba\\x9f\\x79\\x52\\xba\\xdc\\x79\\xbe\\x6f\\x94\\xa4\\x67\\xe0\\x67\\xe4\\xdd\\xc2\\xe5\\xf5\\x15\\xed\\x2b\\x06\\x36\\x8c\\x6d\\x2c\\x88\\x59\\xa7\\x2e\\xe9\\x5c\\x75\\xed\\x92\\x9a\\xcd\\x4c\\x4d\\xc8\\x8c\\xfb\\x0b\\xc6\\xfb\\x37\\x8d\\x18\\x59\\x3e\\xf3\\xe6\\x92\\x15\\xb3\\x2f\\x3f\\x62\\x95\\x3f\\x31\\x53\\xfe\\xb0\\x13\\x60\\xba\\x1e\\x60\\xf2\\x10\\x98\\xc8\\xb9\\xb2\\xdd\\xec\\x65\\x3c\\x1e\\x9f\\xde\\x6c\\xd1\\x99\\x75\\x26\\x0e\\xb9\\x08\\x4c\\xa6\\x1f\\x84\\x29\\xad\\xd2\\xe7\\x1d\\x24\\xd3\\x10\\xe1\\xb5\\x31\\xae\\x7a\\xcc\\xd8\\xc5\\x1b\\xcb\\xea\\x37\\x0b\\x04\\xba\\x9a\\x11\\xad\\x0f\\x6e\\x5f\\xda\\xc6\\xfd\\x76\\x56\\xd9\\xbd\\x2b\\x6f\\xb5\\x0a\\xf2\\xab\\xe6\\x10\\x00\\xe7\\xb3\\xac\\x98\\x78\\xed\\x93\\x51\\x42\\x0b\\x87\\xd0\\xf3\\xdc\\x0c\\xee\\x56\\xb3\\x80\\x82\\xcf\\xf3\\xb0\\xb6\\xf5\\xe8\\x29\\xee\\x4b\\x6e\\x3f\\x7c\\x0f\\x8f\\x25\\xf0\\xbe\\x8f\\x4e\\x72\\x47\\xb8\\x9d\\x48\\x40\\x05\\x09\\x03\\x20\\x0d\\x71\\x48\\xd4\\x30\\x02\\x7c\\xa8\\x8a\\x9f\\xaa\\xc9\\x59\\x93\\xe2\\x88\\x16\\x47\\x70\\x9c\\x3b\\x32\\x57\\x5e\\x2f\\xaf\\x9f\\x8b\\xdf\\xaf\\x39\\xc9\\x96\\x9e\\xff\\x35\\xfb\\xa4\\x72\\x46\\xf4\\x2b\\x18\\xe7\\x68\\x7a\\x1c\\x8e\\x15\\x10\\x2c\\xad\\x86\\x45\\x3c\\xd3\\x7d\\x1c\\x3a\\x0a\\x6c\\xe1\\xa3\\x72\\x79\\x8d\\x5c\\x3e\\x17\\x5f\\x85\\xaf\\xe2\\x76\\x9e\\x1f\\xc6\\x3e\\x09\\x63\\x95\\x2a\\x63\\x3d\\xcc\\xb5\\x33\\x32\\xbf\\x17\\x69\\x50\\x4d\\x22\\xc0\\x32\\xa2\\xc8\\x71\\x60\\x6a\\xea\\x18\\x71\\x77\\x52\\xc3\\xec\\x9b\\x2a\\x48\\x9a\\xa0\\xe6\\x11\\xcd\\x3b\\x1a\\x4e\\x83\\x40\\x25\\x2d\\xa7\\x29\\xc1\\x6a\\x0f\\x1f\\x12\\x7e\\x08\\x9b\\x0b\\x64\\x0a\\xff\\x30\\xff\\xf7\\xf7\\xaf\\xe5\\xab\\xde\\x96\\xff\\xcd\\xb5\\x87\\xb1\\x45\\xfe\\x22\\x7c\\xe2\\x84\\x32\\xfe\\x13\\x5c\\x3b\\xab\\xa5\\xe3\\xd7\\x25\\x0a\\x04\\x9e\\xb4\\x28\\x11\\x45\\x9d\\x96\\x01\\xe0\\x61\\x74\\xbc\\x3b\\x29\\x09\\x41\\xe1\\x11\\xe1\\x1d\\x81\\x13\\xe0\\x01\\xe9\\x7a\\x95\\x39\\x8f\\x70\\x15\\xc7\\x41\\x60\\xb1\\xf5\\xff\\x7a\\x1b\\x9b\\x1a\\xe1\\x31\\xbb\\x78\\x7e\\xef\\x89\\x13\\x61\\xf9\\x0b\\x6c\\x21\\x4d\\x22\\x0a\\xb8\\xb1\\x78\\x17\\x7f\\x1d\\xa9\\x34\\x7f\\x1c\\xbe\\x72\\x3c\\x0b\\xd8\\x3c\\xa5\\x0c\\x41\\x96\\xd7\\x12\\xc7\\xbb\\x96\\x2c\\x81\\x8b\\x06\\x29\\xf0\\xdc\\xc1\\x5d\\xcd\\x16\\x73\\xdf\\x92\\x93\\xde\\x44\\x0d\\x43\\x0a\\xfb\\x23\\xfc\\xd3\\xa4\\x04\\x7c\\xe6\\x4e\\xc4\\x56\\xa1\\xb1\\xa8\\x03\\x6d\\x45\\xcf\\xa3\\x2f\\x90\\x20\\xc1\\x07\\x06\\x25\\xea\\x1b\\x5b\\x50\\xc2\\xea\\x86\\x17\\xbd\\x09\\x76\\x02\\x69\\x6a\\x39\\x7d\\xf9\\x8a\\xf2\\xf4\\x13\\x48\\x45\\xc7\\x3b\\x6c\\xcc\\x2a\\x1b\\x77\\xf5\\x62\\xa2\\x93\\x2d\\x05\\x7c\\x0e\\xe0\\xf7\\xc0\\xee\\x7f\\x37\\xb1\\xb2\\x43\\xc4\\x23\\x45\\xfc\\x90\\x78\\x52\\x64\\xc4\\xc4\\xfa\\x4d\\x2d\\x77\\x8a\\x58\\x4c\\x2c\\x5c\\xd6\\x22\\x89\\x78\\x81\\x4f\\x1c\\x29\\x2e\\x14\\xaf\\x15\\x6f\\x15\\xc9\\xbf\\x7f\\x28\\x6a\\x24\\x72\\xf1\\x54\\x71\\x23\\xfc\\xf6\\x90\\xf8\\xb4\\x28\\xe8\\x45\\x9f\\x7a\\xc1\\x49\\x51\\xe8\\xf7\\xa1\\xf8\\x77\\x32\\x48\\xcb\\xa8\\x96\\xbd\\xe2\\x5d\\x22\\xb3\\x4a\\xdc\\x29\\x32\\x33\\x44\\xdc\\x26\\xe2\\x6a\\x31\\x21\\x32\\x76\\xb1\\x48\\x64\\x40\\xb0\\x88\\x4f\\xa4\\x5e\\x48\\x58\\x0a\\x4b\\x5a\\x96\\x89\\xdb\\x44\\xa6\\x4d\\xec\\x14\\x99\\x84\\xfa\\xab\\xc7\\xed\\x6b\\xf9\\x50\\xc4\\xaf\\x88\\xf8\\x51\\x11\\x33\\xdb\\xc8\\x28\\x41\\x71\\xab\\xc8\\xb0\\x30\\xa9\\x53\\x78\\xfa\\xf4\\x8e\\xe9\\xd3\\xa7\\x97\\x2f\\x5f\\xbe\\xbc\\x7c\\x85\\xf2\\xa7\\x7c\\x45\\x3b\\x4c\\x14\\x5e\\xca\\xe1\\xbf\\xe5\\xcb\\x95\\xd5\\x16\\xf1\\x52\\xfe\\xeb\\xf7\\x05\\x79\\x29\\x59\\x67\\x73\\xb1\\xfc\\x35\\xc1\\xe9\\x9d\\x30\\x67\\x13\\x9d\\xf3\\x17\\x89\\xfb\\xc5\\x6d\\x9b\\xb7\\xb5\\x18\\x45\\xdc\\x25\\xe2\\xbf\\x82\\x94\\xa2\\x73\\x63\\x7f\\x2e\\x62\\x32\\x11\\x66\\xb3\\x88\\xa7\\xc2\\xa4\\x98\\xd1\\x22\\xee\\x2f\\xe2\\x52\\x11\\x93\\x49\\x32\\x8b\\xce\\x89\\xf8\\x1f\\x22\\xc6\\xe4\\x52\\x46\\xdc\\xd6\\x3e\\xb7\\x85\\xfe\\x7c\\x46\\xfc\\x42\\x4c\\x89\\x2c\\x41\\xc6\\x49\\x60\\x5d\\xdb\\xc6\\x4d\\x6c\\x01\\x6c\\x56\\x89\\x4d\\x04\\x11\\x23\\x46\\xb7\\xbc\\x23\\x9e\\x21\\x9f\\x06\\x0e\\x6d\\x09\\x92\\x81\\x70\\xe3\\xd3\\x04\\xbd\\xf5\\xfd\\x5a\\x56\\x89\\xfb\\xc4\\xfb\\x44\\x16\\xd0\\x53\\x2b\\x0e\\x11\\xdb\\x40\\x4f\\x13\\xcd\\x22\\x43\\xd0\\xd3\\x2a\\x7e\\x24\\x7e\\x09\\x63\\x91\\xbe\\x67\\x81\\x92\\x16\\x8a\\x17\\x9d\\xc5\\x0e\\x0b\\x12\\xcc\\x20\\x82\\xac\\x6f\\x47\\x1a\\x01\\x64\\xf2\\x80\\x92\\xe5\\xb0\\xe2\\x2b\\x3a\\x08\\x32\\xb2\\x7f\\x96\\x97\\x93\\x0d\\x56\\x0f\\x1b\\x00\\xff\\x42\\x3e\\x25\\x9c\\xbc\\x83\\xe7\\xda\\xb1\\xa1\\x58\\xfe\\x32\\x4c\\x78\\x6f\\x81\\xdc\\x8c\\x77\\xa5\\xae\\x4a\\xd3\\x25\\xcf\\x61\\xf6\\x02\\x74\\x09\\x17\\xa9\\x74\\x69\\x91\\xbf\\x62\\x6e\\x4e\\xcd\\x80\\xeb\\x2d\\xc7\\x10\\x03\\x54\\x49\\x36\\x33\\xdd\\xca\\x0a\\x8d\\x59\\x08\\x8d\\xc9\\x5f\\x51\\x1a\\xbb\\x9d\\xe4\\xf1\\xa7\\x36\\x03\\xbe\\x6d\\xc7\\x39\\x8c\\x05\\x11\\xe5\\x8e\\xad\\xc2\\xf4\\xae\\x02\\x93\\x3c\\x2a\\x03\\x13\\x5a\\x02\\xf7\\x35\\xaa\\xf7\\xc1\\x64\\xbb\\xdd\\xa7\\x2c\\xef\\x12\\x65\\x79\\xe5\\x51\\xe9\\xe5\\x05\\x40\\xe6\\xc2\\xcd\\x9f\\xb0\\x87\\xe1\\x3e\\x3d\\x72\\x82\\x54\\x12\\x58\\x91\\x33\\x18\\x45\\x12\\xab\\xac\\x84\\x6d\\xd0\\x20\\xea\\x58\\x1d\\xa9\\x8d\\x0f\\x82\\x15\\x7f\\xd2\\xd6\\xa7\\xed\\x0f\\x77\\xfd\\x01\\x5e\\xd9\\xab\\x0e\\x1f\\x2e\\x3e\\xdf\\x56\\x7c\\xf8\\x30\\xc1\\x89\\xc8\\x7c\\xa8\\x8e\\x63\\x3d\\x8e\\x58\\x30\\x36\\xc8\\x08\\x19\\x94\\xd0\\x11\\x94\\x7b\\xe9\\x6d\\x0a\\x5e\\xfe\\x85\\x92\\xf8\\x19\\xfc\\x85\\x22\\xc3\\x74\\x54\\x86\\x99\\xa4\\x1f\\x91\\x87\\x8b\\xd2\\xf2\\x10\\x17\\xe5\\xca\\xc3\\xfc\\xb1\\x90\\xa8\\x07\\xd9\\x0a\\xca\\xfd\\x0f\\xcb\\xc3\\x4b\\xd2\\xf2\\x10\\x17\\xe5\\xc9\\xc3\\xc7\\xd1\\xc3\\xf8\\x5b\\x50\\x9c\\x44\\x14\\x4a\\x18\\x05\\x58\\x5c\\x8c\\x34\\x5a\\x81\\x61\\x78\\x60\\x3f\\x6f\\x51\\x3b\\x20\\xcb\\xcd\\xc3\\x75\\xf1\\xba\\x38\\x68\\x93\\xdf\\xca\\xcf\\x2d\\xed\\x5c\\xfa\\xf0\\x92\\x4f\\x3e\\x51\\xe6\\x96\\x37\\x06\\x03\\xaa\\x3b\\x0f\\x63\\x60\\x9e\\x07\\x82\\xad\\x7a\\xab\\x26\\x6f\\x0c\\x1c\\x71\\x44\\xea\\x22\\x75\\x61\\xfc\\x2d\\x8c\\x80\\x07\\xe1\\x1b\\x3e\\xf9\\x64\\x89\\x3a\\xc6\\x51\\xfc\\x2d\\x96\\x61\\x65\\x4a\\x12\\x16\\x1d\\x3c\\x5f\\x64\\xc9\\x38\\x06\\x23\\x8c\\xa3\\x03\\x96\\x1a\\xcf\\x85\\x25\\x6f\\x2c\\x15\\x26\\x18\\x8f\\x0c\\x19\\x5e\\xba\\x74\\xc9\\xd2\\xa5\\x2a\\x2d\\xe2\\x49\\xcc\\xcd\\xf8\\xe5\\x0c\\x2d\\x62\\xd8\\x18\\x35\\xdd\\x69\\x11\\x4f\\xa2\\xb4\\x78\\x86\\xeb\\x60\\xc3\\xfc\\x5a\\x64\\x42\\xbd\\x13\\x7e\\x56\\x32\\xeb\\x25\\x2e\\xc8\\x31\\x5a\\x96\\x43\\x09\\xa4\\xd9\\x43\\x19\\xeb\\x23\\xe8\\x1d\\x90\\x74\\x84\\xbb\\x23\\xaf\\xdb\\x7c\\xaa\\xa3\\x7d\\x3a\\x1d\\x4c\\xd1\\xcc\\x95\\x74\\xe3\\x3e\\xf5\\x71\\x13\\xc6\\xef\\xad\\xda\\xc2\\x8d\\xe0\\x66\\xb7\\x4d\\xda\\xec\\x1d\\xe1\\x7b\\x84\\xeb\\x58\\xb3\\xa0\\xef\\x25\\x23\\x46\\x26\\x2e\\xdf\\x0f\\xb4\\xb3\\x90\\x5b\\xc9\\x0c\\xe1\\x47\\xc1\\x3c\\x87\\x25\\xe2\\x48\\x10\\x0c\\x46\\x56\\xbb\\x37\\xf9\\x08\\xfb\\x0e\\x9b\\x62\\x59\\x36\\xd1\\x6f\\x50\\x4b\\x82\\x6d\\x65\\x97\\xb1\\x6c\\x10\\x04\\x00\\x5b\\xcd\\xee\\x65\\x5f\\x60\\x39\\x09\\xfe\\x91\\x61\\x13\\x7a\\x4b\\x0b\\x60\\x94\\xb0\\x6d\\xd8\\xc5\\x19\\xce\\x9d\\x1b\\x5c\\xc0\\x0c\\x49\\x07\\x10\\x70\\x99\\x2a\\x28\\x0c\\x36\\x72\\x35\\xcc\\xbd\\xfc\\x1b\\xf0\\x4c\\x17\\x58\\x5c\\x61\\xc1\\xed\\xd1\\x4a\\xd7\\x25\\xb5\\xa4\\xa7\\xa3\\x96\\x65\\x1d\\xd7\\x25\\xdf\\x65\\xb1\\x04\\x0f\\x6c\\x62\\x3b\\xd8\\xad\\x2c\\xac\\x5f\\x15\\xf0\\x0b\\x5a\\x86\\xbf\\x5c\\x9d\\x60\\xce\\x23\\xc4\\x74\\xe4\\x0c\\x69\\xe0\\x77\\x2f\\x21\\x24\\x85\\x98\\xe2\\xf1\\x96\\x11\\xbd\\xab\\x47\\x72\\x5d\\xca\\x0f\\x84\\xd4\\x5a\\xe2\\xb5\\xc3\\x86\\x12\\x1b\\x5a\\x5e\\x0c\\xd4\\x6a\\xa6\\xb9\\x8a\\x21\\x2d\\xe8\\xe8\\x3c\\x6f\\xb5\\x69\\x18\\xe9\\x86\\x64\\x88\\x59\\xc6\\x3c\\xca\\xbc\\xc0\\xbc\\xcb\\xf0\\xd5\\xcc\\x36\\x78\\x63\\x81\\x5d\\x00\\x47\\x42\\x34\\x07\\xb8\\x21\\x6d\\xd2\\xa7\\xdd\\x14\\x71\\xb5\\x40\\x5c\\x3d\\xfe\\xa2\\x75\\xc6\\xb4\\xf9\\x43\\x06\\x2e\\x2e\\xab\\x1e\\xd8\\xd0\\xab\\x5c\\xbe\\xa3\\xf7\\x65\\x13\\x9b\\x36\\xc6\\xab\\x56\\x34\\xf4\\xe9\\xaf\\xd4\\xe8\\xd8\\x08\\xeb\\x59\\xc6\\xcf\\x06\\xfb\\x60\\x58\\xa2\\xd4\\xe1\\x74\\x82\\x91\\xe9\\xf1\\x3a\\x8c\\x46\\x1e\\x24\\xb5\\x31\\x68\\xac\\x02\\xb4\\xb3\\x46\\x58\\x5b\\xeb\\xee\\xa4\\x36\\x6f\\x71\\x6b\\x32\\xab\\x9b\\x95\\xe1\\xaa\\xfd\\xd5\\x8b\\xa1\\x05\\x0d\\x48\\xdd\\x95\\x9a\\x02\\x46\\x5d\\x6d\\xa6\\xb1\\x7a\\x78\\x53\\xff\\x70\\xa8\\x34\\x60\\xab\\x0d\\xad\\x4e\\x56\\x8f\\x68\\xea\\x1f\\x2a\\xeb\\xeb\\x82\\xcf\\x5c\\x47\\x79\\x5d\\xb9\\xab\\xa4\\xef\\xd6\\x95\\xf0\\x5e\\x3d\\x74\\xf3\\x2a\\xc2\\x83\\x26\\x80\\x1e\\x71\\x29\\x7f\\x1f\\xe1\\x41\\xf8\\x6c\\x22\\xa5\\x15\\x04\\xe0\\x60\\x46\\x83\\x46\\xc3\\x60\\x46\\xaf\\xe1\\xdd\\xfc\\x03\\xfc\\x1b\\x3c\\xa7\\xe5\\xd7\\x1b\\xf1\\x02\\x23\\xbe\\xd4\\x88\\x87\\x1b\\x71\\x3f\\x23\\x2e\\x37\\x62\\x8f\\x11\\xeb\\x8c\\xf8\\x7b\\x23\\xfe\\xcc\\x88\\x7f\\x6b\\xc4\\xff\\x63\\xc4\\x4f\\x1a\\xf1\\xcf\\x8c\\xf8\\x66\\x23\\xfe\\x89\\x11\\xc3\\xf5\\xf3\\x8d\\x78\\x0a\\xbd\\xbe\\xc1\\x88\\x4b\\x8d\\xd8\\x67\\xc4\\x1a\\xf8\\xf1\\x3b\\x23\\xfe\\x6b\\xfe\\x0d\\x07\\x8c\\xf8\\xea\\xf4\\x0d\\x49\\x7a\\x43\\x5f\\x7a\\x03\\x3c\\x40\\x6b\\xc4\\xdf\\xd1\\x07\\xfc\\x86\\x5e\\xff\\x84\\x11\\x3f\\x90\\xbe\\x7e\\x9d\\x11\\xcf\\xa3\\x0f\\x68\\x49\\x3f\\xc0\\x4d\\xaf\\x3f\\x9b\\x06\\xe8\\x0d\\x7a\\xbd\\x02\\xcd\\x3a\\x7a\\x19\\x0c\\x5b\\x42\\x2f\\x03\\x38\\x1a\\x32\\xe3\\xc2\\x45\\xf7\\x1b\\xf1\\x8d\\x46\\x7c\\xa5\\x11\\x27\\x96\\xae\\x36\\xe2\\x59\\x46\\x8c\\xc6\\x1b\\xf1\\x20\\x23\\xae\\x31\\xe2\\x42\\x23\\xb6\\x1a\\x31\\x63\\xc4\\x5f\\x1b\\xf1\\xc7\\x46\\xfc\\x0b\\x23\\x7e\\xc5\\x88\\x1f\\x37\\xe2\\xfb\\x8c\\xf8\\x7a\\x23\\xde\\x66\\xc4\\xcb\\x8c\\x78\\xa6\\x11\\xc3\\xf5\\x38\\x61\\xc4\\xd5\\x46\\x1c\\x32\\x62\\xb3\\x11\\x73\\xf4\\x86\\x8f\\x8c\\xf8\\xb4\\x11\\x3f\\x4a\\xaf\\xde\\x47\\xaf\\x66\\xe0\\xf2\\x19\\x46\\xdc\\x6a\\xc4\\x41\\x23\\x96\\x8c\\x98\\x4a\\xbc\\x8e\\xb4\\xe4\\x23\\x7f\\x3a\\x96\\x67\\xff\\x28\\x0a\\x43\\xc7\\x8a\\xf4\\x9f\\x5c\\x31\\xa9\\x5e\\xde\\xe3\\xea\\x15\\x17\\xb9\\x3a\\xe7\\x06\\x54\\xd5\\x3e\\x3d\\x7e\\x4a\\xe1\\x16\\x99\\x84\\x17\\x22\\xa4\\xc2\\xf4\\x75\\x82\\xf0\\xa7\\x17\\x04\\xf9\\x01\\x6c\\xa3\\xef\\x3f\\x23\\x1a\\x49\\x71\\xb1\\x7c\\x46\\x79\\x25\\x36\\xe4\\x3f\\xf1\\x31\\x46\\xc7\\xd6\\x21\\x3b\\x2a\\x4b\\xd8\\x4c\\x7a\\xde\\xc6\\x83\\xd0\\x71\\x0a\\x0e\\x51\\x10\\x78\\xbd\\xd5\\x4c\\xb8\\x5a\\x4d\\x55\\xbc\\x21\\xd7\\xd5\\x94\\x8e\\x32\\x17\\x69\\xaf\\x40\\xa5\\xa6\\x2a\\xbc\\xe1\\xd0\\xc4\\xe9\\xe2\\x55\\x96\\xb1\\xe5\\x6e\\xcb\\x24\\xe7\\xa5\\xc9\\xd1\\x25\\x1d\\xf8\\x58\\xc7\\x94\\xe2\\x48\\x53\\x32\\xe6\\xb4\\x3b\\x0d\\x3b\\x6b\\xe6\\xac\\x2c\\xf8\\x39\\xdd\\x3f\\x55\\xcc\\xef\\x98\\x33\\xfc\\x6e\\xe0\\x19\\xd6\\x63\\x3a\\x8e\\x88\\x49\\x34\\xa0\\x2a\\x23\\x9a\\x19\\x51\\x8b\\x63\\x20\\xa0\\xb5\\x98\\x39\\x23\\xff\\x0b\\x4b\\x2d\\xf2\\x97\\xf2\\x97\\x2d\\xd8\\x2c\\x7f\\x39\\x1c\\x4b\\xd8\\xcc\\x0f\\x91\\xff\\x45\\xbe\\x9b\\xe4\\x7f\\xb5\\x60\\x0b\\x96\\x86\\xcb\\x5f\\x62\\x49\\xf1\\x35\\xcc\\xc6\\x25\\xcc\\xbb\\x60\\x0f\\x93\\x9a\\x6a\\x53\\x12\\x31\\x93\\xd6\\xcb\\xbb\\x35\\x12\\x72\\x32\\x66\\x87\\x83\\x41\\x1a\\x5e\\x2b\\xf8\\x6d\\xb6\\x80\\xc6\\x8d\\x24\\x87\\xd9\\x6c\\x32\\x49\\x6e\\x96\\xb3\\x6a\\xf5\\x4f\\x83\\x6d\\xec\\x43\\x1c\\xd8\\xc9\\xd4\\x33\\x93\\x1b\\xd3\\xdc\\xbd\\x38\\x5c\\xa6\\xac\\x5a\\xb6\\x3a\\x1c\\xc9\\x0c\\x20\\x3e\\x87\\x5a\\x5a\\x1c\\x6e\\x6d\\xf9\\xc7\\x85\\xb6\\xfa\\xf8\\xb6\\x3e\\x3c\\x16\\xb8\\xe9\\x53\\xfe\\x36\\x99\\x7f\\x8f\\xef\\x2b\\x3f\\x64\\x1b\\xa4\\xd3\\x33\\xab\\x5f\\x9e\\xef\\x15\\xad\\x4d\\x4b\\x26\\x30\\x0c\\xf1\\x39\\xc8\\x5b\\xf0\\x0e\\x78\\x37\\x76\\x85\\x5a\\x47\\x2d\\xa8\\xe1\\x68\\xed\\x1f\\xa6\\x06\\xcf\\xe1\\xaf\\x02\\x59\\x57\\x0c\\xb2\\x97\\x65\\x35\\x9c\\x28\\x6a\\x39\\xe1\\x69\\x5c\\x41\\xc2\\x2e\\x55\\xd7\\x51\\x4e\\x26\\x31\\xc9\\xfd\\x20\\x5e\\xaa\\xdf\\xb4\\x73\\xaf\\xee\\x19\\xc3\\x3f\\xc6\\x4c\\x93\\x7c\\x6c\\xb9\\xe4\\xa3\\x75\\xc3\\x98\\x28\\xfe\\x9a\\x5b\\x8d\\x22\\xa8\\x7f\\xc2\\x61\\x40\\x05\\x56\\x0d\\x30\\x46\\xc4\\x16\\x79\\x5d\\xae\\x62\\x43\\x01\\xeb\\x77\\x3b\\x88\\x67\\x51\\x27\\xb0\\xaa\\xeb\\x42\\x35\\xfe\\xba\\xc7\\x10\\x2b\\x95\\x41\\xe3\\x17\\x3e\\xe5\\x51\\x0e\\x79\\xf0\\x07\\x2b\\xd6\\x4c\\x9c\\xe0\\xf1\\xe9\\x4a\\x07\\xef\\xac\\x4f\\x34\\xf6\\x9f\\x3f\\x63\\x40\\xa7\\xd3\\xaf\\x8d\\x35\\x2e\\xea\\x33\\xa8\\xb1\\x91\\xf9\\xcd\\xd4\\xc9\\xc5\\x3f\\x19\\x5f\\xb1\\xa8\\xa8\\xbe\\x20\\xd0\\x52\\x3d\\x66\\x8a\\x63\\x73\\xa2\\x70\\x5a\\xa8\\xb6\\x30\\x38\\x92\\xd2\\xc2\\x10\\xb0\\x4f\\x17\\xc2\\x9a\\x45\\xd0\\xf0\\x84\\x0f\\xd4\\x26\\x6d\\xc8\\x67\\x32\\x85\\x04\\xb6\\xc8\\x6f\\x71\\xbb\\x8b\\xc9\\xb7\\x90\\x89\\x73\\xe8\\x0c\\xc4\\x99\\xe5\\x0f\\x06\\xb9\\x1c\\x07\\x68\\xae\\xb1\\x1a\\xcf\\x2d\\x84\\x6a\\xb3\\x2b\\xf9\\x26\\x4d\\xb8\\x0a\\xf4\\x3c\\x57\\x8e\\x67\\x43\\x22\\xed\\x18\\x23\\x31\\xd1\\x84\\x1f\\xf0\\x70\\x4b\\x75\\xe3\\xef\\x9b\\x9b\\xe0\\x6e\\x9c\\x3c\\xb2\\xd9\\xad\\xe7\\x17\\x18\\xc6\\x6f\\x5f\\x39\\x94\\x3f\\x30\\x7b\\x4e\\xd4\\xcb\\x74\\x9a\\x45\\x9f\\xc6\\x5a\\x30\\xfa\\xe6\\x7f\\x48\\xbe\\x5f\\x0f\\x1b\\xec\\xd3\\x69\\x39\\x9f\\xd6\\x52\\x34\\x66\\x9d\\xfc\\x9d\\xd1\\xf7\\xe5\\xcc\\x68\\xec\\xff\\x7b\\xb6\\x35\\xc0\\xb3\\x1f\\x36\\xc1\\x06\\xfe\\x21\\xe0\\xff\\x81\\x13\\xa0\\xe0\\xf0\\x82\\xc8\\x32\\x4f\\x60\\xe6\\x68\\x92\\x68\\xed\\x55\\xaa\\x50\\x27\\x79\\x14\\x96\\x70\\x5d\\xd8\\x82\\xff\\x2a\\xff\\x1c\\xff\\x99\\xf7\\x5e\\x77\\x76\\x62\\xce\\xbd\\x22\\x8a\\x26\\x40\\xdd\\x43\\x60\\x81\\x6a\\xb4\\xf4\\xf6\\xc7\\x93\\xc0\\x11\\xc8\\x00\\x0d\\x99\\x21\\x2c\\x99\\x41\\xe2\\xca\\x30\\x13\\xae\\x63\\xdf\\xba\\x0e\\x8f\\x81\\x91\\xd0\\xff\\xc1\\x58\\xcc\\xbe\\xeb\\x98\\x2b\\xff\\x8f\\xc6\\xc2\\x63\\x00\\xb4\\x6e\\x63\\xf1\\xa0\\x4b\\x82\\x75\\x4d\\x10\\xc4\\x21\\x0c\\x43\\x1d\\x49\\x12\\xa3\\x35\\xa3\\x18\\x90\\xa8\\x63\\x3a\\xc6\\x7e\\x18\\xe0\\x3a\\xde\\x4b\\x6f\\x87\\xfb\\x67\\xc2\\xfd\\xc3\\xd9\\x65\\x70\\xbf\\x3b\\xa1\\xe5\\xa8\\x75\\x00\\x3a\\x05\\x98\\x07\\xf1\\xec\\x7d\\x70\\x57\\xd8\\x31\\x73\\x3e\\xde\\xc2\\x2e\\x3b\\xff\\xfd\\xfc\\xfc\\xfb\\xa8\\x0e\\x0b\\xe6\\x3d\\xa8\\xc0\\x1a\\x2d\\x3c\\x9e\\x03\\x85\\xe4\\x54\\x43\\x55\\xae\\x22\\x60\\xb3\\x44\\xe8\\x08\\x27\\xe7\\xc3\\x10\\x78\\x87\\xbc\\x99\\x5d\\x26\\x6f\\x9a\\x0f\\x7c\\x7a\\xbd\\x3c\\x02\\xbf\\x99\\xda\\x84\\x34\\x44\\x2f\\x67\\xb1\\x0e\\x38\\x03\\x8c\\x43\\xd8\\xf3\\xa9\\x1a\\xf5\\xa4\\xa2\\x77\\xb5\\x98\\x76\\x04\\x8c\\xc9\\x38\\x02\\x76\\x66\\xfc\\x00\\x0c\\x7a\\x8f\\xd3\\xb3\\x5b\\x40\\x3f\\x04\\x0b\\x01\\x46\\xd1\\x0b\\x88\\x63\\x35\\x8c\\x16\\x31\\x3c\\xa8\\xf7\\xf1\\xb7\\x6a\\x94\\x88\\x4d\\x45\\x7d\\xe5\\xe1\\xef\\x7f\\x88\\x0a\\xdb\\x35\\xc7\\xce\\xac\\xb2\\x73\\x67\\x16\\x2f\\x3e\\xbd\\x78\\x71\\x2a\\x85\\xde\\x63\\x87\\xb0\\x3f\\xe3\\xc7\\x9b\\x05\\xf1\\xb3\\xbb\\x94\\x5c\\xd3\\x3d\\xf8\\x48\\x6a\\x27\\xc0\\xe5\\x38\\x01\\x9c\\x5b\\x47\\x18\\x5f\\xd6\\xc5\\x42\\x09\\xbc\\x0e\\xb6\\x60\\xdc\\x81\\xeb\\x6f\\xdc\\x10\\xbb\\xfd\\x8e\\x98\\xbc\\xe7\\x03\\xdf\\x0d\\x37\\xf8\\xba\\xdf\\xcb\\xc2\\xbd\\x60\\x20\\x08\\x79\\xf7\\xc6\\x44\\x6a\\x2c\\x39\\xf0\\x35\\x77\\xdc\\x1e\\xdb\\x70\\xe3\\x06\\x79\\x0f\\xdc\\xf9\\xc1\\x07\\x24\\x5f\\x62\\x05\\x98\\x85\\x73\\x53\\x6f\\xc3\\xbd\\xee\\x84\\x4e\\xc3\\xc1\\x53\\x59\\x9d\\x16\\xb4\\xac\\xaa\\xb7\\xd4\\x13\\x5e\\x72\\x3b\\xdc\\xec\\x10\\xe1\\xf6\\x51\\x1f\\x90\\x67\\xca\\xcd\\x1b\\x14\\x10\\x50\\xf7\\xfb\\x39\\x2c\\xb2\\x98\\xd5\\xea\\xc8\\xe3\\xb3\\xf7\\xdb\\xe0\\xe1\\x04\\x78\\xc7\\x6e\\x02\\xf0\\x07\\x72\\x73\\x8c\\x42\\xa1\\xc8\\x9a\\x30\\xdc\\x7f\\x22\\xf5\\x21\\xd5\\x7b\\x0b\\x12\\x06\\xab\\x60\\x40\\x02\\x72\\x7b\\x1c\\xac\\xa4\\x55\\x90\\x99\\xb5\\x4b\\xf8\\x8b\\x68\\xb8\\xf8\\x44\\x0f\\x0d\\xf7\\xcb\\xee\\x0a\\x2e\\xa5\\x9f\\xdd\\xe8\\x35\\x7c\\x1e\\xff\\x07\\xe8\\xce\\x72\\x0c\\x73\\x40\\x74\\x48\\x35\\x49\\x49\\xbb\\x19\\xc5\\x92\\x7d\\x41\\xb1\\x64\\x5f\\x53\\x0d\\x59\\x26\\xf5\\x3e\\x7a\\x8d\\x79\\x9e\\xde\\xa3\\xa7\\x1e\\x30\\x11\\xeb\\x40\\xc3\\x33\\x68\\xe8\\x96\\x51\\x69\\x46\\xa5\\x1a\\x65\\x88\\xb0\\x32\\x90\\x28\\xbf\\x2d\\x9c\\xde\\xc7\\xe3\\x66\\x18\\xf0\\xfd\\x7d\\xe9\\x01\\xd3\\xf6\\x31\\x83\\x74\\xe8\\x75\\xd6\\xc2\\x18\\xe9\\xb8\\xfe\\x84\\x81\\x38\\xd6\\x0c\\x5a\\xad\\x31\\x6f\\x5c\\x9a\\x06\\x0f\\xac\\x2c\\xa3\\x85\\xe8\\xf2\\xb5\\x90\\xd7\\xf3\\x94\\x10\\x9c\\x1a\\x27\\x6f\\x67\\x50\\xea\\x2a\\x05\\x93\\x0e\\xad\\x47\\xeb\\xb6\\x68\\x11\\xb2\\xf3\\x06\\x62\\x9a\\xc5\\x41\\x01\\x51\\x08\\x3c\\xad\\x26\\x0b\\xdd\\xb4\\x64\\x6c\\xa5\\x5a\\x72\\x79\\x1f\\x77\\x6d\\x68\\xcd\\x94\\xac\\x92\\xbc\\x4a\\xde\\x0e\\xca\\x71\\x55\\x8b\\xaa\\x23\\x6f\\x5a\\x4d\\xfc\\x8f\\xbf\\xc6\\xf7\\x31\\x93\\xf8\\xed\\x66\\x11\\x05\\xd0\\x18\\xfc\\x22\\xf5\\x27\\x07\\xd8\\x73\\x4c\\x07\\x3f\\x40\\xdd\\xd7\\xf0\\x0b\\xa0\\x18\\xf3\\xd4\\xbe\\x54\\x56\\x91\\xf8\\x65\\x1d\\x60\\x11\\xe2\\x00\\x1e\\x74\\x7a\\x09\\x3f\\x60\\xc9\\xe9\\x9e\\xf7\\x61\\xc2\\x9b\\x04\\x96\\xd8\\xb6\\xa7\\x72\\xee\\xa3\\x16\\x29\\xd3\\xb1\\xe4\\x34\\x1e\\xc4\\x9e\\x3b\\xad\\xd8\\xa3\\x23\\x81\\x76\\x76\\xc3\\x7c\\xe9\\x7d\\xb0\\x87\\xc1\\xca\\x67\\xba\\xdd\\xe7\\x02\\xbb\\xd3\\x11\\x1e\\xb9\\xe4\\xb4\\xfc\\xdc\\x7a\\xb8\\xab\\xdb\\x3d\\xc4\\x92\\x86\\x7b\\x7a\\xc0\\x48\\xec\\x55\\xbc\\x5b\\x7e\\xee\\xf4\\x12\\xb9\\x59\\x81\\x31\\xf5\\xac\\xdc\\xcc\\xdc\\x99\\x3a\\x01\\x3b\\xde\\x9f\\xd0\\x73\\x82\\x00\\xf7\\xe6\\xb8\\x41\\x01\\x8d\\x16\\x7a\\x2f\\x6b\\x81\\xc7\\xd5\\xc5\\x2d\\x83\\x77\\xe2\\x0f\\x76\\xc2\\xa3\\x56\\x7c\\xf3\\x8d\\xfc\\x53\\xe5\\xfe\\x61\\xcc\\x9d\\x30\\x12\\x0f\\x7b\\x94\\x03\\xca\\x03\\x93\\x82\\xa1\\x90\\xd2\\x5b\\xe9\\x8d\\xc0\\xae\\x06\\xef\\x64\\xda\\xe5\\x61\\xf8\\x49\\xf9\\x95\\xcd\\x00\\x9a\\x5d\\x9e\\xcb\\xec\\x4f\\xbd\\x81\\xb4\\x28\\x92\\x00\\x44\\x0b\\xa4\\xb7\\x1f\\xcb\\xe9\\xf4\\x48\\x84\\x79\\x02\\xc8\\xb9\\xf9\\xac\\x54\\x8b\\x81\\x8d\\x0a\\xc2\\xcf\\x71\\x5b\\x2c\\xb4\\x67\\x4f\\x28\\x86\\xcf\\xca\\x7f\\x59\\x64\\xbb\\x3d\\x76\\xbb\\x6d\\x21\\xed\\xe1\\x2b\\xdb\\xf9\\x2f\\x53\\x3b\\xc4\\x30\\x31\\xfd\\x8f\\x50\\xda\\x87\\xc7\\x52\\x6a\\x7d\\x52\\xa1\\x7a\\xfe\\xcb\\x8c\\xff\\x46\\x6e\\xe6\\xbf\\x44\\xb6\\xfc\\x6b\\x31\\xa5\\x41\\xf8\\x17\\xea\\xb5\\xe1\\xbf\\x54\\xbd\\x36\\xb9\\x7e\\x5d\\xf3\\x71\\x51\\x02\\x0e\\x80\\x28\\xfb\\x99\\x5e\\xf3\\x63\\x5e\\x5b\\xa0\\x23\\xd5\\x06\\x34\\x0b\\xcc\\x1d\\x14\\xcf\\x8b\\xb9\\xd5\\xf8\\x2b\\xee\\x63\\xe0\\xad\\x9a\\x23\\xd4\\x17\\x00\\x30\\x02\\x0f\\xbd\\xc1\\xc6\\xac\\xb4\\x71\\xab\\x17\\x2f\\x26\\xb0\\xb5\\xf3\\x0f\\x31\\xab\\x04\\x77\\xee\\x35\\x18\\xae\\x91\\xdb\\x6d\\x1c\\x6b\\xe3\\x1f\\xea\\xe6\\x2b\\xb0\\x25\\xb4\\x7a\\x89\\x0f\\xf2\\x0c\\xaf\\x21\\xd7\\xbe\\x42\\xc0\\xfa\\xef\\xbd\\x01\\x28\\xcf\\x1f\\xa0\\x39\\xa2\\x65\\x15\\x5c\\xfc\\x88\\x41\\x4f\\x79\\xdb\\x29\\x6e\\x01\\xf3\\x1d\\x1f\\xa7\\xbc\\xcd\\xf0\\x98\\x43\\x2b\\xb1\\x94\\x5a\\xf2\\xef\\xce\\xe5\\x6a\\xcc\\x77\\x7d\\xcb\\xca\\xfa\\xf5\\x2f\\x2d\\xeb\\x2b\\xdf\\xd6\\xb7\\xac\\xb4\\x71\\x60\\xac\\xac\\x2f\\xf7\\x4e\\x59\\xff\\x81\\xb1\\xf2\\x86\\x7e\\x65\\x65\\xfd\\x1b\\x4b\\xcb\\xfa\\xf5\\xa3\\xbc\\x4c\\x76\\xf1\\xff\\x93\\x7a\\x43\\x2c\\x47\\x56\\x18\\x99\\xd5\\x18\\x25\\xca\\x2c\\x01\\x57\\x4a\\x01\\x04\\x72\\x3e\\x6d\\x17\\x44\\x47\\xa4\\x6e\\x20\\x3e\\x13\\x2f\\x6b\\x19\\x1a\\xbc\\x74\\xc1\\x3f\\xc6\\x4d\\x5d\\xd6\\x5c\\x2d\\x6c\\x0f\\x16\\xba\\x67\\x15\\xdc\\xd8\\x7f\\xa2\\xbe\\x66\\x1d\\x5b\\x40\\xe0\\xcc\\xf3\\x3d\\x18\\x1e\\x93\\xb4\\x0e\\x56\\x1d\\xed\\xff\\x95\\x4f\\x21\\xcf\\x8e\\x06\\xca\\xd0\\x10\\xca\\x50\\xb8\\x5b\\x9a\\x32\\xfe\\x4b\\xeb\\x2a\\xdf\\xb7\\x6f\\x3e\\xce\\x48\\xf0\\x03\\xce\\xd2\\xd8\\x0f\\xba\\xed\\xe1\\xd2\\x1a\\x6e\\x2c\\xba\\x8b\\xfa\\xed\\x81\\x96\\x31\\x5d\\x3f\\x1b\\xa8\\x07\\x77\\x65\\x7d\\xf5\\x4c\\xea\\x79\\xf8\\x68\\xa3\\xd7\\x88\\x80\\x03\\x85\\xff\\xd0\\xb5\\x22\\x57\\x92\\xbf\\x95\\x4b\\x96\\xfc\\x45\\xb9\\x41\\x7e\\x8e\\xde\\xc4\\xc8\\xf7\\x71\\xed\\x78\\x39\\xf5\\x45\\xeb\\x09\\x95\\x69\\x88\\x7f\\x86\\xc9\\x99\\xa2\\x36\\x57\\x20\\xd4\\xa9\\x3e\\xd2\\x85\\xf9\\xfe\\xdb\\xf4\\x8e\\x23\\x30\\xfc\\x91\\xeb\\x60\\x22\\x82\\x1d\\x68\\xd6\\x8b\\x3c\\x09\\x9d\\xd5\\x0a\\x26\\x96\\x9e\\xd3\\x50\\xb2\\x35\\xbf\\x52\\x63\\x7e\\xcb\\xd2\\x50\\x45\\x4e\\xfb\\xf3\\x68\\x37\\xf7\\xac\\xff\\x17\\x2b\\x09\\x19\\x77\\xb6\\x4d\\xdc\\xe2\\x1b\\xe1\\x3f\\xe2\\xca\\x90\\x65\\xc7\\xca\\x45\\x0d\\x83\\x86\\x0f\\x1f\\xb4\\xe3\\x46\\xdc\\x92\\xa1\\x50\\x2c\\x7f\\xc8\\x75\\xe0\\x40\\x7a\\x8f\\x68\\x88\\x87\\x85\\x41\\x06\\x60\\x2c\\x71\\xba\\x47\\x6c\\x35\\x4e\\x87\\x18\\xa1\\x91\\xc1\\x44\\x50\\x54\\xac\\xde\\x94\\x33\\x36\\xbf\\x76\\xcd\\x7c\\x75\\x48\\x65\\x7d\\x16\\x70\\x33\\xf0\\x74\\xfe\\x1d\\x64\\x26\\x38\\x36\\x01\\x73\\x82\\x01\\x6a\\xfb\\xd4\\x3b\\x80\\x62\\x0a\\x18\\x25\\x38\\x72\\xc1\\xca\\x6d\\x5b\\xfc\\x85\\xfe\\x3e\\xb1\\x78\\x13\\x77\\x66\\xd2\\xaa\\x68\\x53\\x34\\xee\\x70\\x3a\\x0b\\x0b\\xa3\\x15\\x83\\x7b\\x8e\\x61\\x62\\xe9\\x18\\xa4\\xa1\\x6e\\x1d\\xd8\\x1d\\xbd\\x18\\x35\\x33\\x67\\x7a\\x76\\x10\\xbe\\xb5\\xc7\\x20\\x17\\x83\\x43\\x49\\x8c\\x20\\x1d\\xd3\\x1d\\xbd\\xf0\\x82\\x81\\xb5\\xb1\\x3e\\x30\\xc6\\x96\\xed\\x2b\\xf8\\xd6\\xc6\\xc1\\x15\\xd1\\xc2\\x42\\xa7\\xd3\\x11\\x8f\\x36\\xc5\\xd4\\xda\\x59\\x1f\\xc3\\x18\\xef\\xff\\x08\\x1c\\xef\\xff\\x30\\x1c\\x29\\x97\\x3c\\x0a\\x5d\\x49\\xfd\\xdf\\x9a\\x23\\x48\\xe1\\x19\\x36\\x4a\\x08\\x23\\x7a\\xf8\\xca\\xe5\\xcf\\xe0\\xda\\xe3\\xf9\\xd7\\xaa\\xbc\\xf6\\xb3\\x6e\\x1e\\x72\\x2c\\xff\\x55\\x6e\\x46\\x8d\\x29\\x62\\xdb\\x9a\\x1e\\x67\\x39\\x50\\xb8\\x14\\xd5\\x97\\x6a\\x59\\xd4\\xcf\\xda\\xb8\\xe4\\x93\\x4f\\x40\\x6c\\x2d\\xed\\x5c\\x4a\\xf9\\x44\\xee\\xf5\\x58\\x00\\xba\\xce\\x5e\\xef\\x00\\xaa\\x76\\xc4\\x1b\\x3f\\x59\\xb2\\xe4\\x13\\xf9\\xf1\\xa5\\x78\\xd0\\x52\\x72\\xfd\\x77\\xdc\\xcb\\xf8\\x03\\x61\\x13\\xc0\\xa2\\x3b\\xca\\x10\\x67\\x1b\\xe5\\x57\\x8a\\xa1\\x33\\xa9\\xeb\\x1e\\xe6\\x63\\xf8\\xf7\\xc6\\xcd\\x32\\xc9\\x09\\x46\\xa7\\xd8\\x07\\x18\\x0d\\x7f\\xfc\\x87\\xf0\\xc4\\x68\\x0e\\xde\\xf8\\x54\\xac\\x2a\\x36\\xb8\\x4f\\xc3\\x28\\xde\\xb8\\xe3\\x44\\xf9\\xe8\\xfe\\x8b\\xfd\\xfe\\x40\\x79\\x59\\x9f\\x86\\x36\\x8a\\xa7\\xb8\\xdc\\x9c\\x92\\x41\\xff\\x33\\xc2\\x18\\xd4\\xd5\\x0e\\xda\\x77\\x9e\\x57\\x7c\\x73\\xda\\x29\\xfe\\x65\\xae\\x4f\\x5c\\xfe\\x16\\xe6\\xd5\\x37\\x75\\x33\\x9d\\x17\\xd8\\x01\\xaa\\x08\\x27\\xf3\\x52\\x3d\\xe0\\x7d\\xa9\\x03\\x1c\\xe4\\x37\\xf1\\x80\\x63\\xf9\\x73\\xb8\\xbe\\x97\\x7a\\x3d\\xe6\\x79\\x56\\x54\\x5c\\xe7\\xa4\\x41\\xbb\\xe2\\xed\\xee\\x45\\x9d\\xdd\\xbf\\x52\\x7d\\xdd\\xea\\xf8\\xd7\\xc1\\xce\\xa6\\xd7\\xa7\\xdd\\xdb\\x0a\\xde\\xd2\\x1e\\xed\\xbe\\x8a\\x43\\x1b\\xb0\\xa7\\x3a\\xb4\\xb1\\xfc\\xac\\xfc\\x15\\x1e\\x4c\\xcf\\x56\\x60\\x2d\\x89\\x76\\xa0\\xca\\xa6\\x67\\x89\\x00\\x53\\xce\\x54\\xe4\\x43\\xb0\\xde\\x2f\\xa0\\x7d\\x48\\x82\\xb1\\xf5\\xa2\\x48\\xb0\\xfc\\x56\\x0d\\x91\\x62\\xf5\\xdd\\xea\\x1c\\xbd\\x10\\xce\\x8b\\x70\\x2d\\xdb\\xf7\\x74\\x3a\\x6a\\xf5\\x9f\\x04\\x77\\x7f\\x07\\x22\\xba\\x01\\xc6\\xb1\\xc2\\x38\\x66\\xb3\\x01\\x91\\x39\\xd5\\xd4\\xa8\\x2c\\xa2\\x96\\xf6\\x28\\xcf\\x84\\x9e\\xfc\\x6e\\xf5\\x26\\xa1\\xe4\\x50\\x71\\xb6\\xf6\\xe7\\xb6\\xad\\xae\\xc6\\x6f\\xdf\\xca\\xa9\\x2d\\x84\\x53\\x65\\xf2\\xcf\\x11\\x9b\\xba\\x92\\xca\\x39\\x56\\x4b\\xe9\\xd0\\x95\\xc3\\x5d\\xd8\\x34\\x3f\\xf9\\x34\\xc3\\x43\\x18\\xf9\\x79\\xf9\\x7e\\xf4\\xb7\\xd4\\x92\\xb4\\xec\\x60\\x1d\\x5a\\x95\\x6f\\xba\\x2e\\x22\\xe3\\xfe\\xd6\\x53\\xc4\\x7d\\xdb\\x43\\xc2\\x31\\x29\\x3d\\xe0\\xff\\x6e\\xd5\\x2e\\x00\\xd9\\x99\\x36\\x07\\xf2\\xc7\\xcd\\x95\\x49\\x77\\xff\\x37\\x46\\x00\\xc8\\x02\\xc0\\x99\\x35\\xf5\\x74\\x2e\\x7f\\xe0\\xbb\\xef\\x6d\\x6b\\xe7\\xa6\\x75\\x85\\x65\\x85\\xf5\\xe5\\xf1\\x4b\\xde\\x9a\\xb2\\xb0\\xb8\\xa9\\xa8\\xce\\xe5\\x74\\x84\\x61\\x6b\\x8f\\x56\\xf0\\x24\\xc9\\x13\\x11\\xc9\\x84\\xb7\\x01\\x64\\x1a\\xd6\\x62\\xce\\x85\\x2c\\x93\\xc1\\x42\\xa2\\x9e\\x0a\\xf0\\x43\\xfb\\x76\\xb4\\x0c\\x70\\x55\\xf7\\x1e\\x30\\x6a\\xc8\\x25\\x43\\x26\\x85\\xc7\\x4d\\x3a\\x3d\\x67\\xb9\\x63\\xa4\\xb9\\xbe\\xa1\\xa2\\xbf\\x70\\x60\\xbc\\x66\\xbc\\xca\\x2b\\x16\\xa3\\x5d\\xd4\\xf7\\xae\\x3b\\x2a\\x81\\x21\\x59\\x45\\x46\\xb3\\xf5\\x70\\xa8\\xef\\xfa\\x11\\x7f\\x7a\\x6a\\x06\\xec\\xa5\\xb7\\xe9\\x39\\x20\\xe8\\x45\\x0a\\x1f\\x61\\x61\\x8f\\xd7\\xe4\\x9c\\xfd\\xc9\\x51\\x79\\x28\\xd6\\xa4\\x9e\\xa0\\x52\\x8e\\x43\\x8c\\x90\\x96\\x72\\x75\\xa0\\x98\\x5b\\xc2\\x96\\x9d\\x72\\x74\\x27\\xf3\\xb1\\x3c\\xf4\\x9b\\x6f\\xf0\\x0a\\x50\\x5c\\xb1\\x5c\\x2a\\x9f\\xc0\\x7c\\xea\\x72\\xe4\\x46\\xd1\\xc7\\x45\\x84\\xac\\x26\\x72\\x8c\\x69\\xd4\\x4a\\x2d\\x26\\xa7\\x59\\x47\\xcf\\x5f\\x38\\x72\\x58\\x1f\\x8f\\xbf\\x52\\x5e\\x43\\xf7\\x1f\\x0f\\xb3\\x8f\\x2b\\x1d\\x62\\xe2\\x4a\\x85\\x34\\x32\\x0f\\xf8\\x45\\xfe\\x1a\\x36\\xf0\\xb0\\x5a\\x7a\\x4a\\x36\\x67\\xc0\\x80\\x39\\xb0\\x52\\xc3\\xbe\\x1f\\x5e\\xd3\\x7b\\x04\\x39\\x41\\x1b\\x37\\x6e\\x6d\\x5b\\xef\\x11\\xf0\\xbc\\x17\\xe5\\x21\\xb0\\x3e\\x6b\\x40\\xce\\xbb\\x12\\x06\\xd0\\xce\\xc1\\x38\\x57\\x04\\x13\\x71\\xfb\\x53\\xa9\\xca\\xa7\\xc5\\xbd\\x7c\\x36\\x23\\xef\\xaf\\xc9\\x8a\\x7b\\x18\\xe3\\x0a\\x79\\x08\\x7a\\x3f\\x3d\\x06\\x22\\x63\\x88\\x8a\\x68\\x26\\x90\\xd2\\x31\\x70\\x5a\\x2d\\x95\\xaf\\xc8\\xe8\\xa5\\xf2\\x90\\x6c\\x34\\x01\\x96\\x5f\\x92\\xa7\\x62\\x2e\\xb5\\x12\\x64\\xa3\\x27\\x61\\x02\\x09\\x6c\\x06\\x10\\x54\\x35\\x92\\x8c\\x42\\x25\\x24\\x9b\\x2f\\x89\\x47\\xe5\\x29\\x91\\xf2\\xd4\\x1c\\x25\\x12\\xcb\\x37\\xc8\\x43\\x01\\xa6\\x76\\x65\\x3c\\x03\\xe2\\xcd\\x44\\x1f\\xcd\\xce\\x8c\\x8e\\x27\\xe6\\x4b\\xdc\\x40\\xee\\x78\\x8f\\xde\\x93\\xa7\\x93\\xca\\x9b\\xe5\\x2d\\xb8\\x02\\x6c\\x7e\\x17\\x0a\\x26\\xac\\xc4\\xcc\\x33\\xa3\\x10\\x2c\\xbc\\x9d\\x97\\x0c\\x41\\x03\\x63\\xa0\\x30\\xfe\\x7e\\xfa\\x2b\\x34\\x3a\\xf0\\x42\\xc6\\xde\\xc0\\x8b\\xd9\\x7a\\x5b\\xba\\xd9\\x7a\\xf0\\xac\\xdb\\x52\\x16\\x1c\\x49\\x6d\\xc9\\xe5\\x69\\xc4\\xaf\\x21\\xdf\\x46\\x1c\\x1b\\x5f\\x50\\x9d\\xbc\\xeb\\xf7\\x70\\xcd\\x1f\\xbb\\x5d\\x03\\x34\\xd5\\xf5\\x7b\\x8e\\xa3\\x57\\xc0\\x9e\\xee\\x7a\\x0b\\xc8\\xf0\\x5d\\x7a\\x0d\\x58\\x51\\xa0\\xb9\\x13\\x52\\xd2\\x1b\\xcd\\x2d\\x88\\x23\\x81\\x19\\x84\\x16\\xa7\\x13\\x32\\x82\\xe5\\x81\\x3b\\x8b\\xc9\\xdd\\x6f\\x71\\xdc\\xb9\\xf3\\x1c\\x27\\x37\\x2f\\x5e\\xfc\\x16\\x7d\\x4e\\x2a\\xcc\\x94\\xe3\\x77\\xd9\\xde\\x30\\x6f\\x4f\\xc2\\xa8\\xcc\\xb6\\xca\\xc0\\x1a\\x08\\x06\\xaa\\x5e\\x89\\xff\\x1e\\x30\\x79\\xb1\\x19\\x7f\\x7c\\x91\\x19\\x33\\xe5\\xdd\\x67\\x4c\\x9e\\x53\\xc7\\xac\\xc2\\xcf\\x30\\x7f\\xec\\x6e\\x87\\x9c\\x24\\x53\\x66\\x56\\x29\\x76\\xc8\\x5a\\x66\\x15\\xb3\\x31\\xff\\x1a\\x02\\xb9\\xbc\\x96\\xe3\\x94\\x4b\\xe0\\x9a\\x50\\xea\\x73\\xfc\\x11\\x7b\\x98\\x5e\\xc3\\x28\\x76\\x14\\x1f\\xc3\\xb0\\xe3\\x47\\xb3\\x2b\\x47\\xdb\\xc9\\x8b\\xb2\\x2f\\xdf\\x81\\xeb\\x46\\xf3\\xbb\\x73\\x75\\x54\\x31\\x82\\xe3\\xa7\\x3a\\x19\\xff\\x4c\\x3b\\x7f\\x37\\x85\\xa9\\x06\\xf6\\x77\\x97\\x2a\\x2b\\xe9\\x51\\x32\\x5c\\x93\\x77\\x1a\\x3d\\x21\\x7d\\x18\\xfd\\x65\\xee\\x59\\xb4\\x1c\\xc9\\xd9\\xf3\\x19\\x9b\\x95\\x48\\x75\\xc5\\x56\\x95\\x23\\x3b\\xf1\\xef\\x77\\xc2\\x35\\x8a\\xb1\\xca\\x50\\x59\\x39\\x88\\xf2\\x91\\x1c\\x5d\\x98\\xf0\\x24\\x3e\\x6c\\x09\\xd7\\x47\\x1c\\x71\\xf9\\x73\\x3c\\x49\\x7e\\xf0\\xb3\\x0d\\x1b\\xd6\\xcb\\xcf\\xfd\\x61\\x03\\x85\\xbf\\x97\\x7c\\x3b\\x46\\xc0\\x27\\xbc\\xb0\\xe7\\xb4\\xac\\xc1\\xe0\\xb2\\xd9\\x48\\x2e\\x39\\x75\\x3c\\xa8\\x82\\x93\\x12\\x76\\x00\\x2c\\xf9\\xda\\x4c\\x6b\\x84\\x1a\\xda\\x15\\xd6\\xf5\\xb0\\xb1\\xa9\\xa4\\x6e\\x68\\xeb\\xd0\\xba\\xd2\\x81\\xc6\\xf1\\xa6\\x25\\x23\\xe6\\x36\\x36\\xce\\x6d\\x59\\x6c\\x91\\x3f\\x2e\\xaa\\x68\\x89\\x7b\\xbd\\xd5\\x23\\x2b\\x8a\\x86\\x4c\\x1b\\x37\\x2e\\x39\\x4c\\x59\\x9b\\x5d\\x5c\\x01\\x1e\\xca\\xff\\x1a\\x64\\x83\\xf8\\x28\\x8f\\x06\\x54\\x91\\x03\\xfd\\x98\\x18\\xab\\x8f\\xd5\\xbb\\xc0\\xfe\\xc5\\x43\\x87\\xed\\xdf\\x9f\\xfe\\x9f\\x9b\\x4d\\xde\\x6e\\x54\\xbe\\x90\\x7b\\xbf\\xe6\\xfc\\xe8\\x35\\x21\\x84\\x1c\\x08\\xb1\\x19\\x9e\\x9f\\xd5\\x52\\x0d\\xf3\\x42\\xd1\\xd0\\xec\\x85\\xca\\x2b\\xb7\\x41\\x88\\xbb\\x2a\\x6b\\xfa\\x45\\x86\\xb6\\xb5\\x67\\x3e\\x81\\x6c\\x72\\xf3\\x0f\\xb1\\x7e\\xe1\\xcf\\x2a\\x7e\\x38\\x81\\xae\\x3d\\xb5\\xbe\\x54\\xba\\xfd\\x4c\\x21\\x5b\\x62\\x8a\\xbe\\xa5\\xd0\\x41\\x6a\\x2a\\xd7\\x8e\\xde\\xa4\\xb6\\x42\\xc6\\x9e\\x56\\xf4\\xc1\\x9f\\xf6\\x88\\xe7\\x40\\xaf\\x81\\x3d\\xbd\\xaf\\xdb\\xb5\\x54\\x1f\\x7c\\xad\\x47\\x3c\\x4c\\xea\\x0a\\xb0\\x19\\x6a\\xf9\\xd9\\xb0\\x1f\\xcc\\xc7\\xec\\x7c\\x66\\x1f\\x90\\x6d\\x70\\x11\\x2f\\xcf\\xd0\\x8b\\xec\\x03\\x7a\\x14\\xda\\x7d\\x1f\\xa0\\xd9\\x5c\\x1c\\x4f\\xe1\\xef\\xf9\\x41\\x5d\\x78\\x4a\\x8e\\x2e\\x1c\\xe9\\xa1\\x0b\\xb3\\x28\\x0e\\xf3\\x59\\xc3\\xbf\\x44\\x65\\x79\\x00\\x59\\x8f\\x6b\\x1d\\x0e\\x9f\\xc4\\xba\\x09\\x71\\x28\\xba\\xe8\\xc5\\xec\\x61\\x17\\x99\\x35\\xcb\\xac\\xa9\\x89\\x16\\xd7\\xd5\\x15\\x47\\x6b\\xe4\\x65\\xf1\\xe2\\x68\\x5d\\x5d\\xb4\\xa8\\xd6\\xc7\\xcf\\x3b\\x21\\x7c\\xca\\x3d\\x13\\xad\\xeb\\x53\\x1c\\x8b\\xd7\\x46\\x8b\\xfb\\xd4\\x45\\xa3\\xb5\\xf1\\x2b\\xc2\\x78\\x70\\xb1\\xfc\\x22\\xe0\\x65\\x38\\xd0\\x70\\x53\\xea\\x7a\\x80\\xdb\\xf4\\xb8\\x51\\xaf\\x27\\xba\\xd1\\xa9\\x1a\\xf3\\x6b\\x0a\\xd3\\xae\\xa5\\x3d\\x7c\\xec\\x4a\\x79\\x92\\xf6\\xca\\x0a\\x36\\xb2\\x2a\\xcc\\x15\\xf8\\xab\\x5d\\x45\\x2d\\x72\\x73\\x55\\xd4\\x1c\\x38\\x79\\xbc\\x24\\xe4\\xae\\x76\\x85\\x94\\xbd\\xf9\\x1d\\xf7\\x0e\\xe8\\xc4\\x97\\xd0\\xd5\\x66\\x04\\x4e\\x71\\xd0\\x29\\x7b\\x9d\\xc8\\x4c\\xd8\\x0b\\x44\\x68\\x72\\xef\\xa8\\x42\\x93\\xf2\\xba\\x93\\xc0\\xeb\\xde\\x51\\x79\\x9d\\xe1\\x31\\x8c\\x48\\xc8\\x99\\x62\\x53\\xa7\\x79\\xdb\\xc9\\x6e\\xbc\\x8d\\x91\\xff\\x01\\x30\\x5f\\x92\\xd9\\x77\\x3c\\x16\\xd2\\xfe\\x02\\x56\\xb5\\x41\\xef\\xa7\\x36\\x28\\x11\\xe6\\xaa\\x0d\\x9a\\xd6\\x53\\xaf\\xa2\\xfa\\x3a\\x75\\xb6\\x9d\\x4a\\xdb\\x02\\xe1\\xbe\\xc4\\x59\\x26\\x37\\xff\\xa1\\x93\\xd0\\xc9\\x36\\xe0\\x49\\x55\\xfc\\x2e\\xd2\\x7b\\x2b\\x61\\x13\\xb4\\x5a\\x06\\x14\\x5b\\xaf\\xc3\\x8c\\xbc\\x6e\\x06\\xfe\\xf3\\x19\\x88\\x59\\xd0\\x40\\x5b\\x9a\\x10\\x31\\x9e\\x3d\\xa4\\x53\\xa9\\x06\\xe4\\x38\\x6c\\xb0\\x68\\xf6\\x6c\\x1d\\x76\\x1a\\x2e\\xab\\x8b\\x54\\xf4\\xb3\\x01\\xe9\\x24\\xfb\\xf6\\x1f\\x3d\\x76\\x42\\x5d\\x51\\xfa\\x80\\xbd\\x6f\\xff\\x51\\xad\\xdc\\x5f\\x4b\\x6b\\x07\\x6d\\x5a\\x5d\\x32\\xbf\\xf7\\x8a\\x52\\x7a\\xc0\\x5e\\x32\\xbf\\x1a\\xb4\\xcb\\x03\\x9c\\x91\\x69\\x11\\x6e\\x06\\x4a\\x88\\xa0\\x2a\\x54\\x90\\x30\\xc1\\x46\\xb4\\x68\\x79\\x43\\xcc\\x60\\x09\\x73\\x95\\x3e\\x20\\xb0\\xdc\\xb4\\xf0\\x0b\\x52\\xb0\\x98\\x43\\x21\\xb9\\xd6\\x2f\\xbe\\xf4\\x22\\x94\\x7d\\x63\\x1c\\x28\\xa6\\xb6\\xa8\\xb8\\x76\\x62\\xfa\\x03\\xf7\\x6e\\x3e\\xad\\x2f\\x2c\\xaa\\x8d\\x17\\x17\\xd7\\xd6\\xe2\\x63\\xea\\x07\\x6a\\x8f\\xaf\\xe3\\x1c\\xcc\\x44\\x21\\x02\\xba\\x4f\\x6f\\x54\\x9c\\x30\\x3b\\x78\\xa3\\xd1\\xaa\\x45\\xe5\\xe5\\x9e\\x5e\\x05\\xd1\\x68\\xa1\\x87\\xd0\\x2f\\xe5\\x6d\\xe6\\xd7\\x6a\\x08\\xd2\\x2e\\x1e\\x7f\\xc0\\x5e\\xf8\\x67\\x3c\\xaf\\x7a\\x78\\x22\\x37\\x2c\\x21\\xd1\\x3f\\x54\\xd1\\xcf\\x0a\\x10\\xff\\x24\\x27\\x5e\\x61\\xcd\\x64\\xfa\\x0f\\x4a\\xbc\\x02\\x1f\\xc8\\x89\\x57\\xe8\\x93\\xd8\\xb4\\x5a\\xfe\\xae\\x7b\\x00\\x03\\x96\\x6f\\x91\\xe7\\xa2\\x7d\\xa9\\x37\\xc0\\xbe\\xb0\\x1e\\x67\\x75\\x3a\\x1e\\x19\\x35\\x94\\xf8\\x1a\\xd4\\x7e\\x08\\x11\\xd5\\x53\\x18\\x07\\x86\\xe9\\xe0\\x43\\xb1\\xbf\\x29\\xfe\\x42\\xf2\\x26\\xcf\\xb5\\x2d\\x52\\x7d\\x86\\x0b\\xe1\\x4d\\xa1\\xff\\xcf\\x80\\xc6\\x86\\xa6\\x4e\\x20\\x2d\\xb2\\x9f\\x10\\x19\\xac\\xc1\\x18\\x51\\x42\\x83\\x99\\x53\\xea\\xac\\x13\\x89\\xc9\\x22\\xc6\\x1c\\xb7\\x2e\\xb0\\xdd\\x16\\xbd\\xcd\\xb6\\x40\\x6e\\x4e\\x0f\\x09\\xf7\\xbb\\xbb\\x82\\x80\\xcc\\x8f\\xf8\\x17\\xe9\\xfe\\x27\\xab\\xde\\x1f\\x0d\\x43\\x13\\x50\\x07\\x5a\\x88\\xd6\\xa2\\x1d\\x68\\x0f\\xba\\x15\\x1d\\x42\\x8f\\xa1\\xe7\\xd1\\xab\\xe8\\x24\\x7a\\x0f\\xfd\\x1a\\x7d\\x88\\xce\\xa0\\x3f\\xa1\\x4f\\xd1\\x03\\x89\\xc9\\x61\\xdf\\xf6\\x67\\x9f\\xdd\\x78\\x62\\xdc\\xf4\\xe9\\x23\\x27\\x1f\\x99\\x3f\\xff\\xa1\\x59\\x0e\\xad\\x56\\x62\\x57\\xdf\\x7f\\xff\\xd2\\x3b\\x1b\\x9a\\x9b\\xe3\\x4d\\x07\\x76\\xef\\xbe\\xe1\\xaa\\xca\\x98\\xef\\xc4\\xe4\\x59\\xec\\x9d\\x4d\\x57\\xc5\\x62\\x57\\x35\\xdd\\xc9\\xce\\x9a\\x7c\\xc2\\xa7\\xfd\\xe0\\x8d\\x5f\\xfd\\xea\\x97\\x6f\\x9e\\xfe\\xe3\\x27\\x1f\\xff\\xe5\\xc5\\x77\\xde\\xf9\\xcb\\x27\\xa7\\xb9\\x77\\x7f\\xfb\\xfa\\x2f\\x7f\\xff\\xf2\\xa9\\x53\\x7f\\x78\\xe5\\x5d\\x2a\\x97\\x2c\\x74\\xf9\\xba\\x1d\\x4c\\xc7\\x69\\xa4\\xbc\\xf2\\x27\\x9d\\x11\\xf5\\x23\\x2f\\x24\\x26\\xac\\x4f\\x26\\x05\\xb4\\x38\\xe7\\x73\\xee\\xef\\x96\\x9c\\xcf\\xfc\\x7f\\x71\\x7d\\xee\\xef\\xb1\\x8b\\x5c\\xc3\\xfe\\x17\\xf7\\xf2\\x17\\xb9\\x26\\xef\\x77\\xca\\x2f\\x2c\\x8a\\xdf\\x3b\\x42\\x99\\x5a\\x98\\xf8\\x06\\xf8\\x30\\xfd\\x35\\x4c\\x43\\x08\\xe1\\xaf\\x8c\\x0b\\x9c\\xce\\x02\\xf2\\x97\\xdd\\x9f\\xfe\\x24\\xd7\\xa5\\x3f\\xa5\\xff\\xe2\\x21\\xe9\\x4f\\x5d\\xeb\\xd2\\x9f\\x98\\x9f\\xf4\\xfc\\xad\\x33\\x33\\x58\\x6b\\xfa\\xd3\\x77\\xe4\\x25\\xe8\\x80\\x51\\xef\\x22\\xaf\\x74\\xb4\\x8e\\xf4\\xa7\\xae\\x07\\xd3\\xff\\xca\\x8e\\xb9\\xc0\\x6f\\x2f\\x77\\x9e\\xc6\\x7d\\xe5\\x37\\x4e\\x77\\x9e\\x5b\\x7b\\xba\\x93\\x7c\\xea\\x3c\\xcd\\x34\\xcb\\x6f\\x90\\x4f\\xb8\\x2f\\x33\\xa4\\xb3\\xf3\\xec\\xbd\\x9d\\x9d\\xcc\\x47\\xf9\\xb0\\x16\\xc8\\x23\\xd5\\x0f\\xec\\x61\\xf5\\xc3\\xf2\\x6e\\x57\\x74\\xfd\\xb4\\xdb\\x0f\\x0f\\x2a\\xef\\x41\\xbc\\x5a\\x79\\x72\\x41\\xd7\\x73\\xe9\\x31\\xe6\\xa8\\x1f\\x54\\xe8\\x82\\x7f\\x52\\xdf\\xe5\\x13\\xea\\xa5\\x1f\\xab\\xef\\xec\\x9c\\xd3\\x9d\\x67\\x9b\\x3a\\x4f\\x73\\xc5\\x00\\xf4\\xd9\\x26\\xdc\\xf7\\x74\\x67\\x27\\xf7\\x7d\\xe7\\xf9\\x1d\\x0a\\xb8\\x8a\\x9e\\xf3\\x4f\\xce\\x82\\xfe\\xc4\\xdf\\x02\\x6a\\x14\\xe8\\x97\\x3c\\x95\\xbd\\x6c\\xdc\\xe5\\x20\\x87\\x79\\x31\\xab\\x8f\\x9e\\xc5\\xf1\\xb7\\x90\\xb3\\xb8\\x3b\\x6e\\xa7\\xb2\\x9a\\x03\\x21\\xf3\\x0e\\x7f\\x5b\\xae\\x7e\\x68\\xcb\\xf3\\xa5\\xb4\\xa5\\x7d\\x29\\xdc\\x7b\\x59\\x67\\x0a\\x93\\x7a\\x19\\x74\\x08\\x5e\\x70\\xc0\\xfe\\xf4\\x02\\xc7\\xb0\\xb8\\xdd\\x76\\x03\\x71\\x73\\xc7\\x5f\\xa9\\xe9\\x11\\xbc\\xc6\\xe6\\x9b\\x28\\xb8\\x39\\xed\\x13\\xa8\\xc9\\x33\\x56\\xb8\\x93\\xaa\\x8b\\x00\\x07\\x72\\xcd\\x16\\xe0\\x25\\x4f\\x01\\x2f\\x59\\x95\\x92\\x73\\x74\\x37\\x5b\\x8e\\xee\\xb6\\x2a\\x47\\x75\\x93\\x77\\xe5\\xa9\\x6e\\x80\\x0f\\x3f\\xdc\\x6b\\xa1\\x67\\x8d\\x9a\\x23\\x24\\x46\\x1c\\xf0\\xe1\\x12\\x5d\\x8e\\x08\\x39\\x9f\\xb4\\x28\\x27\\x9a\\xc9\\xdb\\xef\\x20\\x07\\x9c\\xa8\\xc7\\xf5\\x34\\x56\\x12\\xf4\\xe5\\x34\\xfe\\xfe\\xac\\xe0\\xaf\\x26\\x83\\x3e\\x90\\xbf\\x43\\xe0\\xfa\\xbf\\xd1\\xeb\\x2d\\x44\\x8b\\x15\\x10\\x32\\xe9\\x44\\x86\\xd1\\x01\\x2a\\xaa\\xe2\\xe6\\xb7\\x6a\\x88\\xaa\\xc2\\xd2\\x83\\xd4\\x48\\x4c\\xc4\\xe9\\x91\\xee\\x54\\x86\\x90\\x9f\\x51\\x46\\x94\\xf7\\x28\\xef\\xb8\\x49\\x1d\\x3a\\x7f\\x5d\\x54\\x1f\\x97\\x2d\\x4f\\x6f\\xdf\\x9a\\xd6\\xdb\\xb9\\xf7\\xb2\\x8a\\x3b\\xc6\\x67\\xb8\\x9f\\x33\\x7b\\xf9\\xf6\\x8b\\x9e\\x3b\\xec\\x4d\\x8b\\x33\\x9e\\xcf\\x8a\\x2d\\x98\\x37\\x27\\x8f\\x42\\x77\\xa7\\x5e\\x86\\x59\\x68\\x8e\\x18\\xe1\\x3e\\xd0\\x05\\xc5\\x7a\\x57\\x2c\\x0e\\x2f\\x22\\xb0\\x69\\x57\\xa4\\x1e\\x10\\x7e\\x3e\\x74\\x87\\x73\\x8c\\xeb\\x8e\\xd0\\xc1\\x83\\xa1\\x3b\\x5c\\x63\\x9c\\x77\\x84\\xee\\x7b\\xbd\\xe5\\xb2\\x7b\\xef\\xed\\x18\\xd6\\xbb\\x7a\\x58\\xfb\\x3d\\xf7\\xcd\\x6c\\xe9\\x4d\\x74\\x37\\x19\\x78\\x39\\x1e\\x0a\\x36\\x87\\x0d\\x4c\\xd5\\x72\\xb0\\x35\\x8d\\xa5\\x2e\\x97\\x31\\x12\\x08\\x88\\xbc\\xc4\\x5a\\x8c\\x44\\xac\\x64\\x35\\x06\\xf5\\x88\\x36\\xa7\\x68\\x34\\x55\\xe8\\x72\\x9c\\x34\\xf5\\xe9\\xd6\\xb1\\xa4\\xe0\\xd2\\xd0\\xb5\\x6d\\x44\\xd1\\x27\\x33\\x57\\xde\\xe5\\x05\\x43\\xeb\\x14\\xd7\\x4d\\xeb\\xf0\\x9a\\xea\\x91\\x2d\\xf1\\xba\\xa1\\x5f\\xb6\\xad\\x1d\\x3f\\x9e\\x20\\x84\\x38\\x08\\xc8\\x4f\\xb5\\xc3\\x86\\xd6\\xd5\\x0c\\x27\\xd7\\x8d\\xa2\\x34\\xdf\\x9b\\x9b\\x85\\x9f\\x10\\xa6\\x52\\xbf\\x1e\\xc3\\xf3\\xd4\\x97\\xa6\\xf8\\x37\\xeb\\x23\\xa0\\x3c\\xc6\\xd9\\x4f\\x9b\\xbe\\x99\\xb5\\x04\\xfe\\x72\\xb3\\xde\\xc4\\xbd\\xde\\x94\\x7f\\x01\\xf8\\x79\\x02\\x2c\\xb4\\x73\\xa9\\x3d\\x20\\x1f\\x0d\\x8f\\x69\\x90\\x9e\\x4f\\x6b\\x66\\x85\\x45\\xd1\\x58\\xdc\\xc9\\xc5\\x6b\\x8a\\x88\\x74\\xe6\\x98\\xe4\\x1b\\xf2\\x6f\\x0f\\xe9\\x47\\x94\\xe3\\xda\\xef\\xbe\\xc7\\xb5\\xe5\\x23\\xf4\\x87\\xe4\\xdf\\xca\\x6b\\x9b\\xb7\\xb6\\x0d\\x6e\\x69\\x19\\xdc\\xb6\\xb5\\x99\\x3c\\xff\\x25\\xae\\x43\\xe0\\xf9\\xb5\\x30\\xd6\\x85\\xcf\\x99\\xf2\\x87\\x64\\x67\\x5d\\x60\\x48\\xae\\x23\\x77\\x48\\x18\\xf3\\x30\\xf7\\x2e\\x7f\\x2d\\x3f\\x00\\xf4\\x40\\xd3\\x31\\x3d\\xc6\\x8a\\x7d\\xd1\\x31\\x5d\\xf1\\xd2\\x1c\\xe6\\xce\\x70\\xef\\x2a\\xb6\\xf0\\x7d\\xf2\\xd7\\xdc\\x8e\\xd4\\x65\\xb9\\x36\\x37\\xb1\\x40\\xa6\\x71\\x67\\xe4\\xaf\\x15\\x9b\\x1b\\xa7\\x4e\\x70\\xed\\x7c\\x98\\xef\\xbc\\xa0\\xbd\\x5c\\x43\\x1c\\x2a\\x35\\x17\\x53\\xb3\\xd8\\x67\\xe7\\xbe\\xf1\\xf4\\x83\\x23\\x2e\\xdb\\x6e\\xad\\xb5\\x3c\\x75\\xcb\\xdc\\xd7\\xd5\\xcf\\xb6\\x27\\xb8\\x76\\x50\\x35\\x2e\\xe9\\xb3\\xec\\x72\\x78\\x4b\\xf4\\x59\\xbe\\x8d\\x3e\\xe7\\x24\\xd7\\xc1\\x9b\\xd2\\x78\\xe8\\x71\\x96\\x80\\x6b\\x38\\xa7\\x2b\\x12\\x2d\\x8a\\x14\\x72\\xe4\\x29\\x45\\xcc\\xa2\\x37\\x71\\xec\\x90\\x6e\\x44\\xb9\\xfc\\xd6\\xf7\\xff\\x91\\xdf\\xaa\\x00\\x3c\\xe0\\x18\\xbf\\x76\\xe8\\xd6\\x09\\x39\\x78\\x48\\x4d\\x90\\xe7\\xb2\\xef\\xd1\\xf3\\x4f\\xe1\\x51\\x60\\x67\\x4a\\x96\\x79\\x5d\\x98\\x68\\x2d\\xec\\xa0\\x50\\xec\\xbc\\x8e\\xfd\\x56\\x55\\x59\\x3a\\x55\\x65\\x85\\x49\\xcd\\x63\\xca\\xf1\\x46\\x6e\\x03\\xd0\\x7e\\x01\\x2a\\x38\\xea\\x30\\x1b\\x9f\\xc0\\x8d\\x8f\\x71\\x7e\\xbf\\xf0\\x14\\x6e\\x52\\x62\\xbf\\xd4\\xa8\\x27\\xda\\x2e\\x33\\xa2\\xd6\\x45\\x51\\x34\\xda\\x38\\x2d\\x2b\\x93\\x89\\x5f\\xf5\\x0f\\xe1\\x1f\\xb2\\xce\\x9e\\xd8\\x32\\x25\\x79\\xeb\\xd4\\x96\\x4b\\x7c\\xa1\\x65\\xae\\x92\\xe0\\x80\\x59\\xfd\\xea\\x2a\\x2f\\x69\\x63\\x66\\x4a\\xbe\\xf6\\x85\\x0b\\xdb\\xe7\\x1e\\x5b\\xe0\\x71\\xb4\\x98\\x8d\\x53\\x6f\\x99\\x90\\x18\\xdd\\x46\\x9e\\xbf\\x95\\xa9\\xc0\\x1d\\xdc\\x46\\xe4\\x04\\x0c\\x04\\x8e\\xb1\\xb0\\x59\\x02\\x76\\x12\\x21\\xa6\\x15\\x8c\\x99\\x08\\xb1\\x74\\xe5\\x03\\x81\\xda\\x20\\xd9\\x36\\xd2\\x4a\\x5d\\x83\\x74\\xe1\\x3b\\xdc\\xf1\\xce\\xfd\\xcc\\xd6\\x3e\\x53\\x4b\\x2c\\x55\\xdb\\xfa\\xcd\\x9d\\x35\\x79\\xdf\\xf8\\xd1\\x93\\xe4\\xeb\\x56\\x5f\\x57\\x1c\\x69\\x5a\\xc4\\xa1\\xb6\\xe5\\xfa\\x8a\\x5b\\x8a\\x5d\\x9e\\xb2\\xfa\\x65\\x33\\x3b\\x8f\\xce\\x1d\\x7a\\x46\\x6c\\x6f\\x2e\\x2c\\xbf\\x9e\\x9e\\x3b\\x4a\\x4c\\x03\\x3a\\xc7\\xcf\\x85\\x3d\\x61\\x43\\x8e\\xa3\\x7a\\x8b\\x40\\x42\\xf3\\x32\\x91\\x6f\\xaf\\xd4\\x64\\x23\\xde\\xea\\x73\\xd8\\xc9\\x86\\x76\\xee\\xd5\\x69\\xa3\\xf9\\xc7\\x8a\\xa3\\x3e\\x5f\\x94\\xfc\\x65\\x66\\x49\\x3e\\x92\\xd7\\xf7\\x44\\x36\\x2f\\x94\\x49\\x5d\\x06\\xf3\\xdb\\x02\\xf3\\xd3\\x01\\x45\\xd9\\x8e\\x68\\xac\\x4f\\xe3\\x46\\xa0\\x3f\\x3d\\x9d\\x5a\\x13\\x21\\x40\\x75\\x87\\xc3\\x04\\x6c\\x99\\x39\\x01\\x9b\\xeb\\xd3\\xd4\\xd0\\xb6\\x75\\xc3\\xc4\\x4d\\x2b\\x3a\\xd7\\x8e\\xbf\\x61\\xda\\xec\\xb5\\xc7\\x59\\x6e\\xdc\\xa4\\xe7\\xae\\x7e\\xe0\\x79\\xf9\\xce\\xed\\x0b\\x67\\x1c\\x9c\\xbe\\x75\\xf1\\xfe\\x53\\x64\\xcd\\x97\\x31\\x65\\x78\\x31\\xb7\\x08\\x74\\x6e\\xff\\x11\\xc1\\x41\\xa2\\xd5\\x0c\\x0c\\x63\\x22\\x8b\\xa7\\xcf\\x2e\\x1e\\x79\\x8c\\x9a\\xf2\\xac\\xae\\x21\\x29\\xb9\\x41\\x53\\x5f\\x2b\\x1a\\x2b\\xe7\\x15\\x0e\\xea\\x9c\\x36\\x8c\\x3f\\x64\\xe9\\x5c\\xba\\x41\\x1c\\x30\\x98\\xff\\xd9\\x00\\x13\\x73\\x78\\xc0\\x88\\xbe\\x78\\x23\\xc9\\xfb\\x5c\\x75\\xf9\\x16\\x4d\\x6f\\x3c\\xd3\\xe4\\x93\\xef\\x1d\\x0e\\xcf\\x5b\\x07\\xf3\\x99\\x03\\xf3\\xf1\\x22\\xd7\\x51\\xab\\x49\\x47\\x96\\xca\\xeb\\xce\\x09\\xe6\\x83\\x75\\xca\\x5d\\x1d\\x35\\x62\\x8f\\xd0\\x08\\x21\\x91\\xc2\\xca\\xf5\\xfd\\xda\\x17\\x25\\x6f\\x6a\\x8b\\xce\\x2c\\xf4\\x85\\xb5\\x25\\x03\\x1a\\xe6\\xf6\\xdb\\xd4\\xd6\\xce\\xec\\x2e\\xab\\x5f\\xd2\\xb9\\xe8\\xe1\\x59\\x56\\xe3\\xed\\xf3\\xa2\\x93\\x6f\\xbe\\xf4\\x96\\x46\\x82\\xbb\\xd9\\x40\\x9b\\x3f\\xa3\\x3d\\x11\\x43\\x28\\x76\\xc4\\x65\\x23\\xa4\\xa9\\x2b\\x28\\x30\\x3c\\x07\\x4f\\x13\\x90\\x16\\xe6\\xc7\\x20\\x0e\\x57\\x52\\x4c\\xa6\\x27\\x8a\\x9b\\x68\\xb2\\x74\\x37\\x52\\x8d\\xe6\\x90\\xa9\\x53\\x2c\\x9c\\xce\\xbf\\xb4\\x37\\x43\\xac\\x07\\xa6\\x35\\x7a\\x2a\\x6b\\xfb\\x11\\x42\\x1d\\x36\\x86\\x5b\\x5c\\xfd\\x9a\\xe4\\x3b\\xff\\x3e\\x25\\xd7\\x19\\xf3\\x1e\\x9f\\x37\\xaa\\x60\\xda\\x6d\\xe3\\x28\\xad\\xe2\\x54\\x07\\xd3\\x17\\xcf\\x01\\x78\\x3c\\x28\\xf4\\x58\\xcf\\x14\\xee\\xca\\x6c\\x0a\\x37\\xe0\\xfb\\xa2\\x19\\xdb\\xd6\\x8b\\x24\\x6c\\xcf\\xba\\x58\\xc2\\x36\\x96\\xff\\x0c\\xcf\\x3d\\x0f\\x38\\x2f\\x43\\xd1\\x13\\xa8\\xb8\\xd8\\xe2\\xf3\\xb1\\x25\\xe4\\x99\\x11\\xdc\\xff\\xa8\\xd3\\x10\\x52\\x42\\x13\\x69\\xa9\\x86\\x74\\x34\\x57\\x4e\\xff\\xb6\\xdc\\xac\\xec\\xec\\x27\\x25\\xc7\\x18\\x2e\\x7a\\xa5\\x72\\x4e\\x45\\xbc\\x1f\\x3f\\x70\\xac\\xf0\\xf8\\x40\\x63\\x6d\\xf9\\x0a\\x4d\\xff\\xce\\x01\\x52\\x9f\\x8a\\xd5\\x62\\x7f\\x85\\x26\\xca\\xe7\\xf5\\xaa\\xeb\\xc7\\x7e\\x37\\xb0\\x39\\x31\\xc0\\x58\\x2a\\xdf\\x22\\x01\\x64\\x13\\xa5\\xc6\\xe5\\x35\\xf2\\x41\\x3c\\x7d\\x8c\\xb3\\x71\\x45\\x6f\\xf9\\x20\\xa1\\xf9\\x55\\x8d\\xc3\\xa8\\x7d\\x9d\\xba\\x19\\x60\\x6d\\x01\\x58\\x2d\\xc8\\xff\\x34\\xc9\\xc4\\xbe\\x60\\xee\\xf3\\x85\\xf2\\x9d\\xb1\\xbb\\x67\\xbe\\xf3\\xc6\\x1e\\xf9\\xce\\xa9\\x33\\x40\\x7f\\x2e\\xee\\x73\\x58\\x83\\xc0\\x31\\x93\\xcb\\x65\\xb5\\x00\\xb7\\xe8\\x7f\\x94\\x67\\x35\\x19\\x12\\x3c\\xa5\\xa0\\x80\\x2e\\xb6\\x4b\\xe8\\x51\\x5e\\x66\\x98\\xcf\\x51\\x52\\x6b\\x18\\x3e\\x2a\\x1e\\xe7\\x2e\\x19\\xc1\\xb7\\x8e\\x8f\\x3a\\xb7\\xeb\\xb6\\xf7\\xd3\\x33\\x77\\xf9\\x7c\\x56\\x7f\\xed\\x80\\x6a\\x73\\x14\\x2f\\xf4\\xb9\\xb6\\x6d\\xab\\x91\\x8f\\xd7\\xc3\\xf3\\xe6\\xc0\\xf3\\xd6\\xc0\\xfe\\xb2\\xc2\\xee\\xe5\\x4c\\x84\\x31\\x98\\x73\\x76\\x2f\\xce\\xa6\\xae\\x46\\x94\\xca\\x82\\x7d\\xb0\\x9b\\x64\\xd1\\x4a\\xbd\\xe5\\x8a\\xe5\\x43\\xf8\\x5b\\x26\\xdf\\x18\\xe3\\xfc\\x24\\x47\\x55\\x72\\xd5\\xb6\\xca\\x0b\\x68\\x52\\xed\\xf0\\xaf\\x2e\\x51\\x64\\xcd\\x54\\xc0\\xd5\\xe5\\x30\\x76\\x04\\x15\\x26\\xb4\\xe9\\x90\\x53\\x03\\x79\\x46\\x30\\x93\\xb1\\x9d\\x89\\xd8\\x64\\xff\\x8b\\xe0\\xd2\\x4b\\x7e\\x30\\xb8\\x74\\xc1\\x8f\\x07\\x97\\x62\\xbc\\x9f\\x6b\\x67\\x7e\\xc3\\xdf\\xfb\\xff\\xc7\\x1c\\x39\\xe5\\x8c\\x18\\xef\\xe7\\xe7\\xbd\\x2f\\xc8\\xe7\\x88\\x53\\xb0\\xa8\\x58\\xfe\\x08\\xf4\\x87\\xcb\\x41\\x67\\x7b\\x25\\x75\\x4d\\xae\\xff\\x90\\x87\\x05\\xad\\xc7\\xf8\\x15\\x72\\x2d\\xe6\\xd7\\x84\\xe5\\xdf\\x15\\xe3\\x10\\xd1\\x35\\x56\\xc1\\xb5\\x0b\\xa8\\x9f\\x4c\\x77\\x54\\xf5\\x92\\x65\\xcf\\x0f\\x33\\x3e\\xb2\\x53\\x3f\\xe6\\x23\\x43\\xce\\xd4\\xe7\\x6c\\x1b\\xfb\\x2a\\xf2\\xa1\\xca\\x84\\x4b\\x42\\xc8\\x29\\xb2\\xfe\\x80\\xc3\\xe3\\xb1\\x8e\\x4b\\x7a\\xcc\\x9c\\x7e\\x5c\\x52\\xc3\\xd1\\x1e\\x72\\xf9\\x4d\\x0b\\x88\\x14\\x64\\xa8\\x85\\x5b\\x4f\\x8e\\x51\\xd2\\xa2\\x4f\\xed\\xe0\\xc1\\xb6\\xed\\xfc\\xfb\\x75\\x33\\x1e\\xae\\xee\\x15\\xdf\\x32\\x71\\xd6\\x2d\\xd3\\x16\\x74\\x4e\\xdc\\x93\\x28\\x1a\\xf7\\x7a\\xfb\\xbd\\x0f\\x33\\x03\\xee\\x96\\xff\\x71\\xfb\\xf4\\xe6\\xb2\\xb2\\x7e\\x97\\x7f\\xff\\x93\\xed\\x57\\x24\\x2a\\xe3\\x23\\x27\\xbf\\x99\\xee\\xfb\\xb7\\x91\\x7d\\xd5\\x1a\\x65\\xef\\x45\\xc8\\x22\\x32\\xb7\\xa2\\x7e\\xe7\\xbf\\x01\\xbd\\xd5\\x8e\\xb7\\x15\\xe1\\x65\\x45\\xb8\\xb5\\x08\\x0f\\x29\\xc2\\xa1\\x22\\x8c\\x8a\\x70\\x11\\xb2\\x28\\x49\\x00\\xa4\\x57\\x3f\\xdc\\xab\\xce\\x01\\xee\\xad\\x53\\xee\\x4d\\xdd\\xf5\\x5f\\xdf\\xdb\\x21\\xbf\\xca\\x14\\xb2\\x2f\\x98\\x05\\x54\\x40\\xf1\\xf1\\x1d\\xd0\\x5d\\x3f\\x4a\\x77\\x7f\\x4f\\xac\\x83\\x45\\x10\\x85\\xff\\x43\\xe2\\x53\\x92\\x17\\x09\\xf1\\x6d\\x13\\xf7\\x8a\\x4c\\xa7\\xb8\\x4a\\x64\\x5a\\x45\\x3c\\x44\\xc4\\x21\\xb1\\x5a\\x64\\x38\\xd1\\x2e\\x32\\x5f\\xe6\\x10\\xdf\\x0c\\x71\\x99\\xc8\\x90\\xec\\x44\\xa6\\x5a\\xfd\\x35\\x06\\xc4\\x77\\x52\\xc4\\x8f\\x8b\\xf8\\x2e\\x20\\xbe\\x65\\x64\\x14\\x49\\x5c\\x2a\\x32\\x3a\\x96\\x67\\x6e\\x4c\\x12\\x35\\xf6\\x11\\xfe\\x1d\\x9e\\x23\\x67\\x5d\\xe5\\xb8\\xa3\\x3d\\x87\\x1a\\x97\\x5f\\x90\\x1a\\xd5\\x6a\\x4e\\x8a\\x9b\\xfa\\xbb\\x6e\\x14\\xd9\\xd3\\x07\\x3c\\x33\\x61\\x34\\x58\\x91\\xe0\\x13\\xdc\\x56\\xae\\x20\\x18\\xf0\\x3e\\x81\\x5d\\x27\\x92\\x81\\x80\\xa4\\x75\\x48\\x20\\xf3\\xdd\\x89\\xa2\\x24\\xfb\\x88\\xf4\\x8e\\xc4\\x48\\x89\\xfa\\x41\\x2d\\x21\\x29\\x21\\x31\\x41\\x09\\x23\\x69\\xaf\\xc4\\x3c\\x22\\xa5\\xc8\\xcf\\x5a\\x4b\\x8b\\x94\\x49\\xb3\\x4a\\x37\\x99\\xac\\x2a\\xcf\\x2d\\xec\\xfc\\xbf\\xf4\\x29\\x17\\xc7\\xb3\\x3e\\x65\\xe2\\x4b\\xae\\x8d\\xaa\\xef\\x3b\\x15\\x9f\\x72\\x2a\\x95\\xda\\x8b\\x10\\xf7\\x37\\x7e\\xb8\\x39\\x8a\\x8a\\x80\\x3e\\x04\\xb6\\xe1\\x8a\\x83\\xa8\\xd7\\xe3\\x8c\\x83\\x65\\x9c\\x80\\xd3\\x63\\x7a\\x73\\x0b\\x72\\xe2\\x27\\x52\\xfa\\x84\\xd1\\xe9\\xe4\\xf9\\x62\\x50\\xdb\\x13\\x36\\x77\\x0b\\xc2\\x96\\xf2\\xba\\x3a\\x40\\x53\\x1d\\x6a\\xaa\\xa3\\xb4\\x72\\x96\\xa9\\xc4\\x9f\\xb3\\x41\\xb3\\xa0\\x19\\x3c\\x11\\xbe\\xa7\\xbe\\x42\\x88\\x1f\\xc3\\x0f\\x34\\xc7\\x50\\x09\\xda\\x45\\x28\\x8f\\x6d\\x90\\xcf\\xa5\\x6e\\x45\\xa5\\xc7\\x71\\x01\\x8b\\xb7\\x05\\x61\\xcc\\x33\\x09\\x73\\x30\\x88\\x71\\x31\\x7a\\xde\\x8b\\xf7\\x78\\x71\\xc8\\x8b\\xbd\\x98\\x10\\x20\\x8c\\xab\\x0c\\x4b\\xc6\\xf9\\x1a\\x21\\xe1\\x28\\x1d\\xa7\\x1c\\xed\\x51\\xc7\\x39\\x4f\\xc6\\x79\\x8c\\x8c\\xf3\\x44\\xea\\x77\\x09\\x5b\\x30\\xc8\\x71\\xc5\\xe8\\x5d\\x84\\xdf\\x41\\xf8\\x79\\x84\\xb7\\x92\\x40\\x2a\\x4a\\xc8\\x75\\xe5\\x99\\x71\\xc8\\x86\\x66\\xaf\\xa2\\xe3\\x54\\xa0\\xdd\\xca\\x38\\x29\\x8d\\x02\\x8f\\x09\\xe0\\x91\\xe8\\x50\\x66\\x49\\x12\\xc5\\x62\\xf4\\x08\\xc2\\x7b\\x10\\xb0\\x12\\x75\\x9c\\x5c\\x78\\x90\\xa4\\xd4\\xe8\\x06\\x7c\\xd5\\xa8\\xa3\\xb8\\x60\\x94\\xd8\\xe3\\x4c\\x88\\x65\\x0a\\x00\\x63\\x47\\x61\\x15\\x9f\\x48\\x3d\\x90\\xd0\\x17\\x14\\x58\\xad\\x80\\x2e\\x02\\x8d\\x65\\x3a\\xe0\\x2a\\x0b\\x4b\\xea\\x33\\xc0\\x8d\\x4c\\x61\\x69\\x44\\xef\\xab\\x73\\xfa\\x32\\x75\\x2b\\xde\\xf1\\x24\\xf2\\xa7\\x5e\\x78\\x6c\\xdb\\xb6\\x16\\x3f\\xa1\\x67\\xdb\\xe6\\xcd\\x2d\\xfe\\xc4\\xc6\\x8d\\xf0\\xb2\\x6e\\x1d\\xbc\\xac\\x59\\xa3\\xfc\\xae\\x5d\\xb5\\x0a\\xbe\\xad\\x58\\xa1\\x7c\\x33\\x2d\\x5f\\x0e\\xdf\\x96\\x2e\\x85\\x97\\x45\\x8b\\xe8\\x4f\\x8f\\xcd\\x9b\\xa7\\x5e\\x38\\x7b\\x36\\xfc\\x3a\\x6b\\x96\\xf2\\x2d\\x36\\x73\\x26\\x7c\\x9b\\x31\\x03\\x5e\\x3a\\x3a\\xe0\\xe5\\xd2\\x4b\\xe1\\x65\\xf2\\x64\\x78\\x99\\x34\\x09\\x5e\\xda\\xda\\xe0\\x65\\xc4\\x08\\x65\\x84\\x96\\x16\\x75\\x84\\xe6\\x66\\xf8\\x75\\xf0\\x60\\xf5\\x51\\x83\\x06\\xc1\\xb7\\x44\\x02\\x5e\\x06\\x0e\\x54\\x2f\\x68\\x6c\\x84\\x6f\\xfd\\xfa\\xa9\\x17\\x34\\x34\\xc0\\xb7\\xfa\\x7a\\x78\\xa9\\xad\\x55\\x46\\xaa\\xae\\x56\\xfe\\xa9\\xb0\\xb2\\x12\\x7e\\x2d\\x2f\\x87\\x97\\xb2\\x32\\x78\\x29\\x29\\x81\\x97\\x60\\x10\\x5e\\x0a\\x0a\\xe0\\xc5\\xef\\x57\\xc7\\xf3\\x78\\xe0\\x9b\\xd5\\xaa\\xdc\\x6c\\x36\\xab\\xbf\\x1a\\x8d\\xf0\\xab\\x5e\\x4f\\xbf\\x1d\\xd7\\xe9\\x5a\\xb0\\x8b\\xac\\xfd\\x47\\x09\\xa7\\xdb\\xad\\xd1\\x14\\xa3\\x77\\xec\\xf8\\x11\\x3b\\xbe\\xd3\\x8e\\x9b\\xec\\xb8\\xca\\x8e\\xed\\x0a\\x1b\\x53\\x96\\x1f\\x97\\xff\\xaf\\xfe\\xa4\\xd7\\x67\\x2b\\x59\\x63\\x76\\x6a\\x76\\x75\\x90\\xfd\\x31\\x5c\\x49\\x9e\\xda\\xf7\\xf1\\xf2\\x72\\xb2\\xb4\\x59\\xda\\x1f\\x91\\xfa\\x9c\\xd9\\xcd\\xbf\\x04\\x3c\\x76\\x21\\xdd\\x43\\xfd\\x5c\\x08\\x99\\x13\\x5a\\x96\\xc1\\xd5\\x31\\x87\\x59\\x20\\x97\\xd6\\xd5\\x65\\xf6\\x5a\\x8b\\x55\\x20\\x7b\\x0d\\xee\\xb3\\xa5\\xce\\x72\\xc7\\x69\\xad\\x8b\\x62\\xaa\\x6b\\x7c\\x01\\xff\\xfe\\x36\\xd8\\xc8\\x66\\xd2\\xdf\\xd0\\x24\\x49\\x2c\\xcf\\x71\\x2c\\x8b\\x35\\xa2\\x68\\xc5\\x16\\xc1\\x34\\x83\\x54\\xa5\\x13\\xb8\\x8e\\xa4\\xc0\\x92\\xb0\\xc3\\x8e\\x24\\xb6\\xe7\\x97\\xd7\\x4d\\xf7\\xc7\\xb0\\xe6\\x24\\xab\\xd2\\x66\\x04\\xa4\\x90\\x59\\x84\\x25\\xb5\\xae\\x58\\x17\\x53\\xda\\xf5\\x9a\\xf6\\x91\\xf7\\x0e\\xe9\\xd8\\xaf\\x6a\\x2e\\x31\\x86\\x9e\\x6f\\x90\\xdf\\x7d\\xb3\\xce\\xcb\\xdd\\xe1\\xab\\x93\\xb7\\x82\\xf5\\x68\\x3c\\x37\\xcf\\x4b\\xf4\\xfa\\x67\\x00\\x96\\x36\\xbe\\x85\\xc8\\x5b\\xd4\\x2f\\xe1\\x64\\x05\\xc4\\x0b\\xbc\\x4e\\x64\\xb0\\x96\\x11\\xc0\\xe6\\xe7\\x34\\x3c\\xe1\\xba\\xd8\\x73\\x34\\x89\\xad\\x0a\\x14\\xb4\\xb6\\x33\\x4d\\x13\\x02\\x05\\x32\\xad\\x11\\x95\\x62\\xd2\\x16\\x47\\x8b\\xc3\\xdc\\x90\\x73\\xeb\\x24\\xe6\\xdc\\x73\\xef\\xca\\xd7\\x74\\xad\\x61\\xa3\\xad\\xdc\\x77\\xe7\\x34\\xdc\\xbc\\x73\\xc7\\x54\\x7c\\x73\\x2f\\x51\\x3c\\x94\\x50\\xbc\\x78\\xe0\\xfb\\x4e\\xfa\\x7d\\x00\\xdd\\x2f\\x7f\\x03\\x1e\\x10\\xa1\\xdf\\xcb\\x51\\x6e\\x9d\\x7c\\x3d\\x5c\\x59\\x8a\\xc6\\x27\\x8c\\xb6\\x02\\x43\\x34\\xaa\\x61\\x0a\\xb8\\xb2\\x72\\x1e\\x74\\x58\\x7b\\x22\\x94\\xac\\xe2\\x3b\\xf8\\x33\\x3c\\x9b\\xe2\\xb1\\x81\\xc7\\x7a\\x96\\xe7\\x0b\\xbd\\x85\\x52\\x47\\xb2\\x90\\xf3\\x3a\\x3b\\x92\\x5e\\x5b\\x5e\\x71\\x6d\\x22\\x0b\\x96\\xe7\\xf1\\x59\\xd0\\xc8\\xe3\\xae\\x30\\x6d\\x5b\\x5b\\xfc\\x83\\xc5\\xf4\\x99\\xa6\\xfe\\x89\\x71\\x09\\x16\\x2f\\x50\\xde\\xa2\\x3f\\x50\\x4e\\x9f\\x99\\xf9\\x53\\x7c\\xdb\\xae\\x5d\\x72\\xe7\\x4f\\xff\\xf0\\x03\\xe5\\xf4\\xc9\\x7c\\xbf\\x83\\x05\\x38\\x4b\\xe7\\x5b\\x41\\xe9\\x82\\xd0\\xe3\\xc3\\x40\\x17\\x1e\\xb4\\x2a\\x11\\x00\\x93\\x37\\x4a\\x73\\x33\\x9c\\x5a\\x87\\x43\\xaf\\xd3\\x99\\x25\\x91\\x73\\x31\\x0c\\x27\\xb1\\x46\\x9f\\x8f\\x6c\\x96\\x80\\x2f\\xd2\\x62\\xf4\\xba\\x1c\\x8c\\xd9\\x6a\\xee\\x48\\x6a\\x9d\\x46\\x8f\\x95\\xd5\\x71\\x92\\x11\\x66\\x2f\\x1a\\xad\\xd9\\x9e\\xb7\\x64\\xb1\\xe8\\x47\\x92\\x76\\x54\\x9e\\x4d\\x66\\xa3\\x19\\x53\\xa4\\xae\\x1f\\x89\\xff\\x47\\x80\\x1b\\x2c\\x61\\x2d\\xa9\\x42\\x4d\\xfa\\x57\\xd0\\x34\\x24\\xa5\\xa2\\x3b\\xd8\\x70\\xfc\\xc3\\xba\\xdb\\xba\\x4e\\xe3\\xe7\\xaf\\xd4\\xc9\\xa7\\xe4\\xd9\\x7b\\xa6\\x3c\\xa3\\xeb\\x3a\\xad\\x7b\\xe4\\xbd\\x07\\x74\\x8c\\x47\\xf7\\xe8\\x4c\\xe6\\xe0\\x5a\\x1d\\x3f\\xa0\\xce\\x2b\\x37\\x74\\x95\\xfa\\xea\\x98\\x87\\x57\\xcb\\x2e\\x52\\xc2\\x98\\xbb\\xc3\\x5b\\x57\\xe7\\xed\\xfa\\x05\\xd3\\xcb\\x5b\\xa7\\xe8\\xd8\\x97\\xc1\\x7a\\xbf\\x01\\xb4\\x66\\x42\\x83\\x13\\x45\\x40\\x67\\x26\\x8d\\x89\\x67\\x25\\x73\\x95\\xb9\\xc9\\xcc\\x48\\x66\\xac\\x65\\x4d\\xac\\x28\\x70\\x46\\x0d\\xe9\\xd1\\xd3\\x91\\xd4\\xb3\\x99\\x49\\x28\\xb3\\x20\\xb2\\x7c\\x79\\x1a\\xfe\\xde\\xd5\\xf5\\x4a\\x11\\x71\\xda\\x8c\\xa9\\x09\\xb3\\x1b\\x1e\\xd6\\xc9\\x83\\x75\\xfb\\x99\\xd7\\x9f\\xbb\\xe3\\x3e\\x5d\\xd7\\xdb\\xba\\xa7\\x16\\xb5\\x52\\x28\\x80\\xfe\\xe8\\xfb\\xf4\\x0c\\x4f\\x16\\x35\\x14\\xe7\\xd5\\xf4\\xfb\\xbf\\x00\\xe7\\xc7\\xe8\\x77\\xea\\x33\\x44\\x61\\xf8\\xee\\xa0\\xf5\\xe8\\xdc\\xb0\\x7b\\x37\\x24\\xbc\\x01\\xbf\\xdf\\xeb\\x8b\\x14\\x16\\x86\\xc2\\x36\\x2e\\xec\\xb3\\x08\\x42\\x71\\x54\\x8a\\x62\\x0f\\x5b\\xe0\\x21\\x04\\x58\\x9a\\xbc\\xad\\xe0\\x70\\x01\\x93\\x2a\\xc0\\x6f\\x16\\x60\\xa9\\x00\\x28\\x10\\xe4\\x81\\x60\\xb7\\x58\\xac\\x56\\xe3\\x65\\x49\\x2b\\xcb\\x89\\xa2\\x20\\x18\\x2e\\x4b\\x0a\\xea\\xe6\\xb1\\xa4\\x0b\\x4b\\x2a\\x9d\\x6e\\x08\\x45\\x02\\x49\\x92\\x99\\xe5\\xd4\\xf0\\x52\\xb2\\xe1\\x43\\x4a\\x85\\x72\\xda\\x94\\xd1\\x96\\x2e\\x64\\x07\\x06\\x7c\\x2e\\xd1\\x32\\x3f\\xc3\\x68\\x62\\xfb\\xa0\\x69\\xe7\\xce\\xd4\\x0d\\xb2\\x47\\xff\\x39\\xe9\\x7f\\x7e\\xbd\\x6c\\xc2\\xa0\\x89\\xec\\xb3\\x95\\x83\\x1c\\x8b\\x4f\\xcb\\x3f\\xe9\\x9f\\x68\\x4d\\x70\\xf8\\xae\\x7e\\xf0\\xc6\\x3e\\x68\\x7e\\x46\\xbe\\x06\\xaf\\x79\\x46\\xd4\\xb2\\x5f\\x99\\x6e\\xc7\\x23\\xe5\\x63\\xb7\\x9b\\xba\\x5e\\x4d\\x93\\x2a\\xdd\\x8f\\xea\\x7e\\x03\\x5c\\xd4\\xa4\\xf9\\x94\\x50\\x0e\\xb8\\xb0\\x91\\x5e\\xe0\\x66\\x8b\\x85\\x01\\x2e\\xc5\\x98\\xb4\\x5a\\x49\\xd0\\x30\\x1a\\xbb\\x43\\xc3\\xf2\\xc0\\x9c\\x78\\xf3\\x8c\\x24\\xcf\\x5a\\x4c\\x5a\\x06\\x31\\x1d\\x49\\x03\\xb2\\xab\\x1d\\x61\\x69\\xe5\\xdf\\xdc\\x6e\\x6c\\x79\\x19\\x94\\x91\\x0c\\x79\\x29\\xa4\\x16\\x86\\x77\\x8b\\xf6\\xd1\\x77\\x0f\\xe9\\xf8\\x56\\xdd\\x91\\x77\\x0f\\x6a\\xbb\\x3e\\xd3\\x1e\\x7d\\xbb\\xeb\\xea\\xb7\\x0f\\x6a\\xd3\\x94\\x74\\x6e\\x26\\x5d\\xc7\\x1b\\xce\\x2d\\xf6\\xa9\\xf2\\xf5\\x1b\\xa0\\xa7\\x47\\xe8\\xda\\xc5\\x29\\xbc\\xe7\\xe1\\xfb\\xdd\\x00\\xaf\\x03\\x8d\\x4c\\xc4\\x2c\\x92\\xd1\\xa0\\x91\\x60\\xcb\\xe8\\x74\\x4e\\x84\\x0d\\x2c\\xe3\\xb0\\x58\\x8c\\x0e\\x93\\x63\\x46\\xd2\\xc4\\xea\\x19\\x11\\xd4\\x45\\xe6\\xb2\\xa4\\x2e\\xcd\\x59\\xab\\x2c\\x71\\x95\\xb9\\x55\\x59\\xd4\\xc2\\xf5\\xca\\xe9\\x9a\\x5a\\x00\\xbb\\x48\\xa9\\x80\\xad\\xc5\\x84\\xc3\\xd6\\x47\\x23\\x61\\xe6\\x23\\x51\\x96\\xce\\xcf\\xc1\\xb1\\x22\\x40\\xff\\xf9\\x88\\x89\\x29\\x96\\xff\\xc7\\xcc\\x1e\\x68\\x1a\\x84\\x17\\xbd\\x22\\x7f\\xca\\xfc\\xa6\\xa4\\xeb\\xac\\x56\\x04\\x8c\\x8f\\x60\\x1a\\x99\\x79\\x63\\xe5\\xe7\\x7f\\x6b\\x52\\xf4\\x8a\\x2b\\x01\\xc6\\xcf\\x29\\xcc\\xf5\\xf4\\xfb\\x6a\\xa0\\xb7\\x52\\xfa\\xbd\\x91\\xd2\\xdf\\x6c\\xf8\\xfe\\x31\\xcc\\x41\\x44\\x12\\xaa\\x44\\x8f\\x27\\x86\\xe8\\xec\\xfe\\x82\\x82\\x58\\x50\\x14\\x4a\\x4a\\x2a\\xbd\\x1e\\x8f\\xdb\\x2c\\x99\\x2a\\x99\\x48\\xa4\\xd2\\xce\\xf6\\xaa\\x3a\\x53\\x85\\x51\\x55\\xa2\\x6a\\x46\\xd5\\xb2\\x2a\\xce\\xc0\\x92\\x40\\xa4\\x8e\\xa4\\x3b\\x18\\x33\\x9b\\x80\\x21\\x88\\x26\\x14\\x34\\x07\\x43\\x41\\x56\\xcf\\x06\\x09\\xbb\\x88\\x38\\x3c\\x2d\\xa6\\x84\\xcd\\x05\\x2f\\xa0\\xba\\x04\\x4d\\x41\\x93\\xaf\\xbc\\xa4\\xb2\\xbc\\xb2\\x23\\x59\\x6e\\x2d\\xf0\\xf8\\x3c\\x1d\\x49\\x1f\\x9b\\x2b\\x66\\x08\\x5f\\x70\\x57\\x91\\x32\\x2e\\x84\\x38\\x55\\x35\\x95\\xbc\\x52\\x95\\x3a\\xd3\\x28\\x2b\\xb3\\xae\\xf1\\x6c\\x3d\\xcd\\x90\\x85\\x94\\xde\\xd2\\xc3\\xbb\\xdd\\xd9\\x1f\\xdb\\x58\\xaa\\xbf\\xa2\\x70\\xbc\\x5e\\xa9\\xcf\\x45\\xbc\\x21\\x28\\xac\\x14\\x4a\\xc7\\xec\\x7e\\xbc\\xf3\\xce\\x9b\\xc3\\x57\\xec\\x93\\x37\\xdd\\x79\\x73\\xd9\\x95\\xfb\\x06\\x9d\\xf9\\x37\\x2e\\xc2\\xce\\x4d\\x8e\\x43\\x3a\\xc6\\xa4\\x3b\\xe2\\xe8\\xfb\\xe7\\x6f\\xe4\\x5f\\xc9\\x9f\\xad\\x70\\x03\\x49\\xfc\\x5b\\x7b\\x14\\x57\\xe0\\x87\\xee\\x79\\xb0\\x4b\\xcb\\xfc\\x47\\x9e\\x78\\xcf\\x83\\xcc\\x7f\\xce\\x3f\\xfd\\xde\\x5b\\x5f\\x63\\x66\\x33\\x21\\x90\\xcd\\x1f\\xbc\\xf8\\x95\\x7c\\xee\\xa7\\x84\\x4a\\x14\\xfa\\x00\\xd9\\xc6\\x17\\x53\\xdc\\xf6\\xa7\\x76\\x0d\\xc8\\x65\\xa1\\x1f\\xe0\\x36\\x86\\x7e\\x92\\x18\\x52\\x14\\x0c\\x86\\x42\\x11\\x17\\x68\\xbb\\x1e\\x9f\\x2f\\xe6\\x07\\x85\\xd7\\x21\\xb0\\xbc\\x64\\xb5\\x6a\\x8d\\x06\\x83\\x96\\xd7\\xfe\\x3f\\xbc\\xbd\\x77\\x80\\x14\\x55\\xd6\\x37\\x7c\\x6f\\xdd\\xea\\xee\\xea\\x58\\xd5\\x5d\\x9d\\x73\\x9c\\x9e\\xd4\\x93\\x7a\\x02\\x03\\x03\\xd3\\x33\\xa4\\x01\\x06\\x26\\x00\\x42\\x91\\x66\\x48\\x43\\x90\\x9c\\x91\\xa8\\x18\\x10\\x45\\x82\\x08\\x22\\x4a\\x52\\xc0\\xc0\\x0a\\x2a\\x28\\xa6\\x55\\x54\\x14\\x23\\xe6\\xb0\\xee\\x1a\\x56\\xdd\\x35\\xa0\\xfb\\xba\\xea\\xae\\xab\\x74\\xf1\\xdd\\x5b\\xd5\\xdd\\xd3\\x3d\\xe2\\x3e\\xef\\xf3\\xfd\\xf1\\x2e\\xeb\\x9d\\xee\\x99\\x66\\xa8\\x7b\\xef\\xb9\\xe7\\xfc\\xce\\xb9\\xe7\\xfc\\x4e\\x7e\\x20\\x14\\x2a\\x70\\x5b\\x94\\x96\\x0e\\x21\\xaa\\x54\\x1a\\x50\\xc8\\x65\\xd5\\x19\\x74\\x1d\\x82\\xdf\\x6e\\x40\\xb2\\x82\\x42\\xe6\\xac\\xd6\\xcc\\xb2\\x82\\x35\\xe5\\xf4\\x02\\xcd\\xea\\xe5\\x6f\\x94\\x97\\x27\\xe7\\x14\\x64\\x75\\x18\\xcb\\x69\\x7b\\x67\\xb5\\xa5\\x8e\\x06\\x89\\x12\\x92\\xaf\\x4a\\x3a\\x40\\x7d\\xf1\\xa0\\x26\\xf9\\x91\\xe6\\xb1\\x61\\x1f\\xbe\\xa7\\x8d\\x2f\\xd3\\xc0\\xde\\x8d\\x9a\\x55\\xd7\\xac\\x78\\x50\\x43\\x05\\x35\\x8f\\xad\\xb8\\xeb\\xa1\\xc0\\x50\\xd8\\x5b\\xb3\\xb6\\x4f\\x81\\xf8\\xb5\\xf8\\xb3\\xa4\\xf6\\xe0\\xbd\\x0f\\x9c\\x1c\\x54\\x05\\x79\\x67\\x95\\xb8\\xbb\\x57\\xcd\\x96\\x9b\\x20\\x75\\x48\\xd2\\xc6\\xe3\\x0f\\x9c\\x80\\xfb\\xb0\\xaa\\x3e\\xf9\\xd7\\x17\\x64\\xdf\\xb7\\x58\\xc6\\x40\\xa0\\x10\\x5c\\x9e\\xe8\\xc5\\x20\\xd6\\x60\\x50\\xaa\\xdc\\x1e\\x4f\\x24\\xac\\x0a\\x9b\\x42\\x0e\\x93\\xa3\\x28\\xbf\\xd8\\x0a\\x3a\\x04\\x2b\\x1d\\x51\\xb2\\x58\\xba\\xdc\\xac\\x21\\xe1\\xc1\\x7a\\x7b\\xb2\\x10\\x78\\x5d\\x0d\\x59\\x35\\x54\\xab\\xc3\\x8c\\x49\\xa6\\xe3\\x94\\x7b\\xc5\\x3b\\xed\\xdc\\x6b\\x15\\x69\\x31\\x82\\xf2\\x1a\\xe4\\xf0\\x42\\xca\\x51\\x7b\\x0a\\xcb\\x86\\x4d\\x52\\x6f\\x58\\x44\\x24\\xaa\\x7c\\xc9\\xd8\\x62\\xc9\\x60\\xd3\\x44\\xac\\xbc\\xd4\\x1e\\x00\\x75\\x7c\\x96\\xbc\\x66\\x45\\x20\\xf9\\x46\\xb4\\xd1\\xdf\\xfa\\x54\\x13\\xb3\\xef\\xcc\\xbd\\xb0\\xf7\\xb9\\x24\\xf4\\x89\\xdf\\xfc\\xe4\\xee\\xf3\\xd2\\xe8\\xf6\\xc6\\xe1\\xc9\\x37\\xc6\\x3c\\xfb\\xca\\x71\\xfa\\x82\\xf8\\xa1\\x78\\x61\\xef\\xd3\\x5e\\xf1\\x1e\\x38\\x74\\x2b\\x37\\x3f\\xfa\\xd3\\xbd\\x4f\\x40\\xd7\\xce\\xef\\xdf\\x4d\\x8a\\xa7\\xa2\\xf3\\xb9\\xad\\xe2\\xc3\\x70\\x8c\\x07\\x3a\\x7e\\x7c\\xf8\\x4c\\xca\\xf6\\xa2\\x3c\\xe5\\x7e\\x53\\x1e\\x59\\x01\\xa3\\x0a\\xcc\\x06\\x25\\x70\\x2e\\xb0\\x25\\xf4\\x14\\x64\\x15\\x79\\x14\\xdc\\xe5\\xd5\\x21\\xb5\\x84\\xe8\\x00\\xf9\\xaf\\xfb\\xac\\x4a\\x7f\\xa7\\x4e\\xfe\\x3b\\x18\\x68\\xa5\\xfe\\x8e\\x9d\\xfc\\x9d\\x7e\\x51\\x0b\\x63\\xec\\xf1\\x77\\xfa\\x5e\\xfc\\x86\\x1e\\xad\\xb8\\x13\\x63\\xc6\\xa9\\x32\\xc6\\x84\\x76\\xfc\\x03\\xed\\xc3\\xd4\\xcc\\x58\\x99\\xd6\\x2a\\xa1\\x4b\\xe9\\x73\\xc5\\xd8\\x7f\\x8f\\x48\\x9f\\x9b\\x21\\x7f\\x0e\\x7c\\x25\\x7d\\x0e\\x7e\\x50\\x52\\x1e\\x46\\xdd\\x9f\\x1b\\x22\\x0e\\x43\\x77\\x4a\\x9f\\x9b\\x95\\xfa\\x7d\\x8d\\xf2\\xe7\\xbe\\x08\\x84\\x19\\xbe\\xfb\\x73\\x2b\\x31\\x56\\xed\\x92\\x3e\\x27\\x63\\xd5\\x5a\\x3c\\x4d\\x7b\\x82\\x83\\x9d\\x16\\xd8\\x6a\\x81\\x09\\x0b\\xdc\\x64\\xb1\\x4b\\x90\\x95\\x00\\x68\\xfc\\xf9\\xf1\\xf8\\xdf\\x9f\\x27\\x61\\xdb\\xe5\\xd2\\xef\\xed\\x0d\\xfe\\x05\\xd2\\xe8\\xb6\\x2b\\xe6\\x42\\x76\\x19\\xdd\\x4a\\x31\\x7a\\x69\\x4e\\xe8\\x79\\xec\\x0b\\x17\\x63\\x0b\\xd9\\x3f\\xa2\\x75\\xf2\\x5e\\xad\\x37\\x66\\xf5\\x28\\x28\\x7c\\x8a\\xac\\xd6\\x12\\x0b\\xeb\\x2c\\x02\\x3c\\xc7\\xfb\\xf9\\x04\\x4f\\xab\\x11\\xcf\\x17\\x29\\x14\\xa0\\x88\\x2b\\xa2\\x74\\x74\\x51\\x11\\x97\\xcf\\x05\\x5a\\x05\\x8e\\x63\\xf2\\xdb\\x04\\xc6\\x4a\\x79\\x5a\\x04\\xca\\x92\\xdd\\x15\\x12\\x43\\x35\\x07\\x31\\x8c\\x92\\x52\\x2e\\x95\\x94\\x4f\\x7d\\x9a\\xdf\\x36\\x9e\\xdd\\xa3\\x29\\x42\\x2e\\x73\\xd3\\xac\\xd5\\xa4\\x43\\x13\\x6f\\x23\\xe9\\xe2\\x06\\xd2\\xe9\\xd2\\x86\\xb2\\xe1\\x1c\\x56\\x33\\xa7\\x99\\x77\\x8c\\x6e\\xd4\\x76\\x60\\xc1\\xba\\x9d\\x89\\x2b\\x4f\\xcc\\xf9\\x22\\x0a\\x0d\\xeb\\xee\\x60\\xf2\\xe6\\x6e\\x60\\x42\\xee\\x27\\x5b\\x46\\x4e\\xba\\x76\\xc4\\xf0\\x81\\x23\\x77\\x8e\\x85\\xb1\\x58\\xc9\\xb6\\x7e\\xbb\\x56\\x3d\\x7f\\xef\\xe2\\xf3\\x0f\\x8c\\x17\\xff\\xe3\\xf1\\x9e\\xcf\\x2f\\xbe\\xfb\\x83\\xdb\\x9e\\x6a\\xa4\\xc0\\xe1\\x1d\\x3b\\xc4\\xb7\\xaf\\x98\\xb7\\x7e\\xef\\x99\\x36\\xb9\\xe6\\xe5\\x63\\xb1\\x19\\xfd\\x47\\x71\\x10\\xdb\\x9b\\x42\\xd0\\x95\\xa8\\x0c\\x68\\x34\\x28\\xac\\x52\\x19\\xf3\\x11\\x32\\x15\\xb3\\xc5\\x18\\xcf\\xb8\\x9c\\xd8\\x6a\\xf2\\x26\\x53\\x91\\xd1\\xa5\\x8a\\x84\\x23\\xe1\\x56\\x21\\x12\\x01\\x5e\\xbd\\xb7\\x55\\xd0\\x5b\\x81\\xb5\\x55\\xc0\\xe7\\xef\\x37\\xad\\x84\\xec\\x59\\x93\\x95\\x60\\x41\\x6d\\x37\\xd0\\x27\\xb1\\x5a\\xab\\xd4\\x06\\x89\\x30\\x1e\\xd2\\x24\\xf6\\x84\\x42\\xbc\\xa9\\xda\\x46\\xf2\\x73\\x90\\x94\\xcc\\x2b\\x45\\x22\\xa5\\x58\\x14\\xf5\\xe8\\x8e\\xa3\\x87\\xb6\\xc0\\xb9\\x6b\\x2f\\x82\\x0f\\x46\\x5c\\x57\\x38\\xf2\\xd0\\x3f\\x63\\x7f\\x7b\\xa9\\x73\\xde\\x08\\xf7\\xb6\\xd0\\xca\\xc4\\xcd\\x47\\xaf\\x5f\\x61\\xd8\\x7b\\xef\\x65\\x8a\\x83\\x7b\\xae\\xbd\\xed\\x55\\x9f\\xc6\\x7e\\x70\\xf9\\x7b\\x49\\xaf\\x4d\\x2c\\x52\\x4c\\x86\\xd4\\x0f\\xad\\xed\\xa7\\xf6\\x5d\\x78\\xc9\\xe4\\x79\\xed\\x91\\x35\\xab\\x95\\x23\\xa8\\x17\\xfe\\x30\\x71\\x16\\xd1\\x15\\x11\\x3c\\xdf\\x51\\xe8\\x28\\xf0\\x82\\x7e\\x09\\x2f\\xed\\xb2\\xf2\\xbc\\xdd\\x45\\x01\\x17\\xf0\\x31\\x2c\\xeb\\xa7\\x21\\xef\\xb2\\xd8\\x5c\\xa4\\x29\\xa4\\x0e\\xb2\\xa9\\x70\\x99\\x74\\x5f\\x94\\xcb\\x79\\x6b\\x92\\xaa\\x8b\\xe3\\x26\\x3e\\xce\\x77\\x87\\x4d\\x95\\x2a\\x92\\x2b\\x0d\\x09\\xa5\\x42\\x1e\\x15\\x8d\\x30\\x6f\\xb6\\x96\\x31\\xef\\x4d\\x09\\xf1\\xcc\\x93\\x8a\\x5e\\xa3\\xc4\\x17\\xe8\\x32\\xeb\\x1d\\x05\\xba\\xa1\\x61\\xd7\\xb8\\x62\\xb4\\x2e\\x26\\xde\\x27\\x76\\xc2\\x2d\\x0f\\x24\\xbc\\x61\\x65\\x4c\\xe3\\xcb\\xbb\\x7a\\x47\\xf2\\xed\\x91\\xe2\\x87\\x43\\xb5\\x9e\\x7e\\xe2\\xf8\\xaf\\xe1\\x77\\xdb\\x24\\x19\\xad\\xc3\\xf2\\xfc\\x96\\x62\\x97\\x74\\xf3\\xdb\\x95\\xa8\\x51\\xe6\\x31\\xe1\\xb0\\xdb\\xad\\x2f\\x40\\x56\\x06\\x31\\xc5\\x7a\\x7d\\x8c\\x8d\\xf9\\x62\\xa5\\x31\\xa4\\x46\\x0e\\xa5\\x32\\xaf\\x45\\x00\\x4a\\x8c\\x11\\x94\\x4a\\x2d\\xd0\\xf2\\xad\\x02\\xab\\x85\\xc0\\x9f\\xd5\\x82\\x35\\xbb\\x3b\\x95\\x6c\\x00\\x8d\\x99\\x96\\x84\\xc6\\x4c\\x0d\\xad\\xdc\\x84\\xb5\\x26\\x2f\\x43\\x8f\\x90\\xee\\x6f\\x67\\x93\\x1b\\x9a\\x45\\xa5\\x18\\x61\\x54\\x12\\x4a\\x78\\xd7\\x91\\xd3\\x5f\\x7e\\xb5\\xfd\\x89\\xa3\\xf3\\xae\\x0a\\x95\\xda\\xac\\xad\\xb1\\x31\\x73\\x06\\x2f\\x9a\\x34\\x76\\xf5\\xfb\\x57\\x5d\\x76\\xd5\\xb0\\xad\\x07\\x1f\\x99\\x6e\\x7e\\xfa\\xee\\xc7\\x21\\x37\\xf8\\xf6\\x2d\\x6b\\xae\\xcf\\x7b\\x7e\\xae\\xcd\\x3e\\x72\\x64\\xd5\\xb2\\x85\\x9d\\x4f\\x2d\\xde\\xfc\\xaf\\xab\\x5b\\x2e\\x7f\\x6f\\xe9\\xa9\\x8d\\x95\\xe2\\x77\\xc7\\xd7\\x6e\\x90\\x75\\x38\\xd1\\x1d\\xe8\\x0c\\xc6\\x0b\\x53\\x13\\xac\\x23\\xac\\x2b\\x32\\xe5\\x17\\x85\\xe9\\x12\\x1f\\x42\\xa5\\x24\\x54\\x91\\x88\\x68\\xd9\\x26\\xaf\\xd7\\x1d\\x70\\xb7\\x09\\xf9\\xac\\x95\\xb5\\xe2\\x1d\\x62\\xdd\\x2c\\x85\\x11\\x03\\x0b\\x02\\x56\\xa0\\x6e\\x15\\xf0\\xf1\\xe4\\xd2\\xad\\x0b\\x4d\\xb5\\x99\\x36\\x5c\\xd9\\xee\\x66\\x06\\x77\\x43\\xf9\\x26\\x29\\x33\\x39\\xa9\\xc1\\x55\\x30\\x9a\\xbe\\xd3\\x49\\x87\\xf9\\xeb\\xa1\\xc4\\x62\\x40\\xe5\\x25\\xb6\\x95\\x84\\xcb\\x3c\\xe6\\x91\\xb1\\xce\\x25\\x35\\xa1\\x15\\xb5\\x71\\xae\\x32\\x78\\x67\\xdb\\xa8\\x29\\x63\\x76\\x5f\\xef\\x3f\\x72\\x6e\\xc7\\x81\\x2d\\x2b\\xa8\\xc6\\x11\\xe7\\xd0\\x19\\x33\\xf7\\xdc\\x62\\xd6\\xde\\x35\\xae\\x6a\\xac\\xde\\x34\\x43\\x6f\\x5f\\xd0\\x32\\xea\\xb2\\xce\\xb2\\x5b\\x37\\xae\\x9a\\xb9\\x95\\x57\\xb9\\xe6\\xf4\\x5f\\x7a\\x8d\\x6c\\xaf\\x1a\\xc5\\xfd\\xe8\\xb8\\xe2\\x36\\x8c\\xd3\\xa7\\x24\\x82\\x2c\\xb0\\x62\\x74\\xae\\x04\\x74\\x50\\xa3\\x09\\xf9\\x79\\x48\\xf3\\x66\\x9e\\xd2\\xb9\\x7c\\x10\\xf8\\xa0\\x81\\xe6\\x7d\\x6a\\x8c\\xd1\\x5d\\x09\\x8b\\x52\\xd5\\x26\\xac\\x57\\x42\\xa5\\x52\\x33\\x48\\x01\\x69\\x45\\xa5\\x82\\x52\\xa8\\xf1\\xc9\\x8b\\x63\\x8b\\x15\\x27\\x6c\\x4b\\x64\\xce\\xb5\\x04\\xd5\\x10\\x60\\xd3\\xcd\\xf7\\x41\\x32\\x1d\\x4c\\x20\\x52\\xa5\\xa8\\x0a\\xd7\\xd8\\x0c\\xc8\\x62\\xc6\\x6a\\x45\\x62\\x1a\\x55\\x45\\xab\\x65\\x22\\x8c\\xc6\\x1d\\xb0\\x12\\xe6\\x27\\xdf\\x81\\x9f\\x3d\\xc2\\x7e\\xfd\\xee\\x2e\\xa1\\x6c\\xca\\x8c\\x99\\xb3\\x76\\x1c\\xb4\\x3e\\x32\\x61\\xfc\\x91\\x5b\\x60\\xe2\\x2a\\x18\\x81\\x63\\x7f\\x51\\xb5\\x2d\\xf2\\x39\\x07\\xfd\\xed\\x9f\\x1f\\x7d\\x25\\xd4\\x0c\\xaf\\x76\\x3a\\xc7\\x37\\xcd\\xd8\\x5a\\x59\\x33\\x68\\x51\\xbc\\xb7\\x29\\xb8\\x5b\\x9a\\x93\\xa4\\xd3\\xf1\\xfe\\xf9\\xc1\\x84\\x04\\xc1\\x2e\\x4e\\x5e\\xaf\\x53\\xaa\\x54\\x6a\\x86\\x67\\x82\\x81\\x2d\\xc1\\x73\\x41\\x6a\\x41\\x10\\xb2\\xc1\\xd2\\x60\\x4b\\xb0\\x23\\x88\\xf5\\xa9\\xcb\\xa5\\x47\\x1c\\x6a\\xc7\\x3a\\x34\\xdd\\xe2\\x2a\\xd3\\xab\\x91\\x98\\x5d\\x09\\xa0\\x4d\\xec\\x6e\\x2d\\x9d\\xf6\\x28\\x60\\x86\\x9b\\x1e\\xc3\\x0b\\x55\\xea\\x5a\\x4a\\x85\\xb0\\x3c\\xaa\\x42\\x58\\x6e\\xf9\\x6a\\x2a\\x59\\x55\\x39\\xf4\\x44\\xed\\xbc\\xc3\\xbb\\x97\\x31\\xd0\\xea\\x6a\\x7b\\x74\\x5c\\xd7\\x6c\\xc7\\x58\\xce\\xc6\\x1c\\x0b\\xf1\\x13\\x6c\\xd4\\xf9\\x58\\xaf\\xb5\\x13\\x93\\x9b\\xd0\\x0c\\x47\\xec\\xe9\\x59\\xf3\\xe7\\x4d\\x0f\\x6f\\x12\\xe1\\x64\\xf1\\xbb\\x71\\xb1\\x2e\\x18\\x98\\x41\\xe9\\xd7\\x49\\xf8\\x75\\x1a\\x96\\xc5\\x3f\\x2a\\x6e\\x05\\x7a\\x7c\\x78\\xbc\\xa0\\x31\\x11\\xe2\\xbd\\x26\\x1b\\xed\\xb0\\x38\\x34\\x16\\xa4\\x41\\x3e\\xbf\\xc9\\x46\\x5a\\xa8\\x03\\x97\\xca\\xd5\\x2a\\xa8\\xac\\x52\\x4f\\xe0\\xdf\\x28\\xc1\\x34\\x0b\\x97\\xdc\\x4a\\x5d\\x7a\\x4a\\x4a\\x6a\\x70\\x51\\x63\\x52\\x10\\x4d\\x17\\xa8\\xae\\xe2\\xa0\\xd2\\xc2\\xc5\\x2b\\x4c\\x3c\\xb5\\x6e\\xcf\\x5d\\x9e\\x95\\xe2\\xcc\\x5b\\x76\\xf9\\x56\\xc0\\x35\\x2d\\xf3\\x47\\x16\\xc0\\x93\\x5e\\xd1\\x1b\\xbc\\x6e\\xd9\\x81\\x5a\\xc5\\xad\\x3f\\x7c\\x76\\xe5\\x9d\\xc9\\x11\\x5f\\x7f\\x78\\xf3\\xbd\\xd4\\xbd\\xad\\x2b\\xfe\\x75\\xfe\\xf4\\x6a\\xe8\\x49\\x8e\\x78\\xed\\x7a\\xf1\\x02\\x74\\xc2\\x06\\xb2\\xf6\\xd8\\x4e\\xc2\\xa4\\xd4\\x3f\\xb6\\x3a\\xe1\\x32\\x71\\x2c\\xab\\x53\\x02\\xa0\\xd3\\x59\\xac\\x46\\xb6\\x45\\x30\\x92\\xcb\\x32\\xa9\\x77\\x77\\x76\\xf3\\xf4\\x14\\x71\\x54\\x8a\\x68\\x24\\x22\\x4b\\x7d\\xa6\\x79\\x82\\x04\\xe2\\x60\\x61\\xc4\\x53\\x97\\xb0\\x94\\xce\\x1d\\x38\\xb8\\x4d\\x7b\\x39\\x21\\x92\\x5f\\x60\\xba\\x3f\\xdd\\xab\\xdb\\xdb\\x46\\x8d\\x76\\xc4\\x92\\xd7\\x4d\\x94\\xea\\xc0\\xf1\\xa2\\x7d\\x8b\\xff\\x7d\\x23\\x10\\x12\\x25\\x0a\\x2d\\xa5\\x35\\xe2\\x7f\\xdd\\xa0\\xd7\\x9b\\x28\\xb5\\x52\\x49\\x41\\x9a\\xa6\\x28\\x9e\\x36\\x90\\x7e\\x61\\x5a\\xa0\\x51\\xd0\\x4a\\xc8\\xb1\\x7a\\x8b\\xdc\\x73\\x2b\\x45\\xd2\\x9f\\xee\\x60\\x9b\\xa1\\x74\\x35\\x66\\x78\\xd0\\xe3\\x72\\xc9\\xbc\\x1a\\x12\\x76\\x1a\\xa9\\x4b\\x70\\x6a\\xf7\\x61\\x03\\xfc\\xcf\\x43\\xcc\\x74\\xf1\\xf4\\x37\\xf3\\x99\\x5f\\x5e\\xdb\\x53\\x7f\\x78\\x37\\x69\\x70\\x06\\xcf\\xc0\\xbf\\xc7\\x6c\\xe2\\xa7\\xc9\\x5f\\x6d\\x31\\xf8\\xd6\\x5c\\xf1\\x36\\xd2\\xe3\\x8c\\xf4\\x7c\\xc4\\xcf\\x38\\x00\\xdb\\x39\\x17\\x68\\x4f\\x14\\x3b\\xb4\\x76\\xbb\\x91\\xd3\\xe9\\x8c\\x34\\xf2\\xb0\\x1e\\x9f\\x87\\xd2\\x60\\x0c\\xed\\x36\\x5a\\xec\\xac\\x8d\\xb3\\x58\\x58\\x1a\\x1a\\x11\\x8d\\xbd\\x5e\\xd0\\x26\\xa8\\x60\\x7a\\xd1\\xb0\\x40\\x92\\xeb\\xc0\\x94\\x2d\\x98\\x34\\x31\\x9b\\xa8\\x05\\xa6\\x29\\x4e\\xf1\\xe9\\xe2\\x89\\x66\\x41\\x78\\x87\\xf1\\x77\\x20\\x3e\\x5f\\x70\\x62\\xc8\\x57\\x56\\x6e\\x69\\x19\\x3c\\x60\\x74\\x25\\x7f\\x87\\x7e\\x34\\xf3\\xdc\\x64\\x7e\\x84\\x55\\xfc\\xf0\\x0f\\x0c\\x15\\x75\\x18\\x13\\x8a\\x01\\xba\\x91\\x77\\x5b\\x2a\\x17\\xaf\\xba\\xc0\\x0f\\x73\\xc5\\xa8\\x4f\\x8a\\xb7\\xe4\\x8b\\xa8\\x08\\x6d\\x3e\\x7a\\x45\\x97\\xe4\\x0f\\x8a\\xe2\\x50\\xf4\\x34\\x5e\\x5b\\x3b\\x18\\x91\\x88\\x72\\x1a\\xad\\x16\\x23\\x7b\\xa7\\x9d\\x86\\x36\\x9b\\xdd\\xee\\xb0\\xbb\\x34\\x46\\xa3\\x55\\x6b\\x36\\xab\\xda\\x05\\xb3\\x95\\xd3\\xb7\\x08\\x9c\\x05\\x68\\x89\\xe1\\xca\\x69\\x7b\\x6a\\xaf\\xcf\\xd0\\xcb\\xa7\\x17\\x95\\x50\\xe5\\x66\\x5a\\x63\\x48\\xd7\\xf8\\x72\\x33\\x71\\x6c\\x8b\\xbf\\xbf\\xab\\xd3\\x91\\xa8\\xea\\x77\\x43\\xdf\\x0d\\xe4\\x0c\\x89\\x5f\\x9b\\x3a\\x17\\x0f\\x1a\\xd6\\xab\\xed\\x30\\x3a\\x9a\\x7c\\xfb\\x9a\\x82\\xd2\\xc6\\xca\\x42\\xea\\xdb\\x0b\\xb7\\x39\\x62\\xd7\\x4e\\xac\\x2b\\x12\\x2b\\x08\\x4e\\x73\\xe3\\xf3\\xb2\\x19\\x1d\\xc5\\x3e\\x8a\\x20\\xe9\\x82\\x41\\xe2\\x2e\\x34\\x07\\xdb\\xad\\x2a\\x70\\x6b\\xc2\\x55\\xa6\\x0b\\xf3\\x4a\\x60\\xf3\\x78\\x0a\\x01\\x47\\xf3\\x76\\x1d\\x53\\x5d\\xc3\\x45\\x63\\xd1\\x58\\xab\\x50\\x79\\xea\\xe2\\xcf\\x89\\x12\\x9b\\xb7\\xa9\\xa2\\x72\\x4a\\x25\\x65\\x57\\xe7\\xab\\x7b\\xa9\\xd1\\x0c\\x35\\x6c\\x52\\xc3\\x6a\\x35\\xac\\x54\\xa3\\x11\\x51\\xc8\\x46\\xa1\\x16\\x45\\xa3\\xc8\\xe3\\xb0\\xd9\\xcb\\xeb\\x9a\\x6c\\xa7\\x2e\\x7e\\x99\\x30\\x14\\x94\\x35\\xd9\\x1c\\x5e\\x3c\\xfd\\x36\\xc1\\x01\\x10\\x56\\x8f\\x44\\x75\\xe0\\x4d\\x32\\xd5\\x16\\x15\\xd9\\xb9\\xe7\\x8d\\x92\\xf2\\x9f\\x88\\x75\\x07\\x09\\x4c\\x4c\\x2c\\xba\\x54\\x37\\x46\\x45\\x96\\x06\\xec\\x56\\xf4\\xf5\\x50\\x51\\x13\\xc0\\x0b\\xa2\\x32\\xd0\\x19\\xab\\x20\\x19\\x05\\xbc\\xaf\\x56\\xa4\\x23\\x5a\\xb1\\x63\\xfc\\xd3\\x8f\\x7c\\xfe\\x29\\x35\\xfb\\xf2\\x4f\\xce\\x42\\xb1\\xc9\\x08\\x7b\\x4f\\xe9\\x2a\\x53\\xcd\\x98\\x32\\xae\\x21\\x3a\\x62\\xc0\\xd4\\x6a\\x3f\\xef\\xdf\\xfd\\xc0\\x9d\\xbd\\x66\\x6f\\x7e\\xbf\\x5f\\x4a\\x41\\x56\\x99\\xf2\\xee\\xdc\\x7c\\xe8\\x9d\\x3c\\x95\\x6f\\x9d\\x70\\xc5\\x29\\x1f\\xf2\\x4d\\x43\\xaa\\x2e\\x73\\xb0\\xbc\\x71\\x7c\\xed\\xa8\\x45\\x3a\\xed\\x6c\\x7d\\xc9\\xe1\\x8d\\xfd\\x2f\\xeb\\x1d\\xa8\\x4c\\xdd\\x9d\\x3d\\x8b\\xce\\xe0\\x75\\x94\\xea\\xd2\\x80\\xf6\\xe2\\x79\\xba\\x3c\\xd5\\x6f\\xb9\\x92\\x37\\x72\\x9c\\xdb\\xee\\xd0\\x61\\x7b\\xe7\\xf7\\x3b\\xcc\\x28\\xa4\\xf4\\x7a\\xc3\\x7e\\xce\\xe9\\x71\\x62\\xf5\\xe3\\xe6\\xdc\\x7e\\x37\\xd2\\x21\\xd2\\x09\\xd7\\x6c\\x51\\x28\\xd4\\x3d\\x0e\\x7c\\x7d\\x3c\\x6d\\xf8\\x7b\\xf6\\xfe\\x8a\\x5f\\x4a\\x03\\x60\\x97\\x0d\\x29\\x55\\x21\\x8c\\xc1\\x6a\\xf8\\x90\\x8a\\xb4\\xbc\\x0d\\x61\\x15\\xfb\\x53\\x38\\xa3\\x0f\\xb8\\x29\\xe2\\x5f\\xe7\\xf5\\xad\\x7a\\x84\\x19\\xd1\\x14\\x5e\\x7a\\xed\\xa0\\xda\\xde\\xe8\\x31\\xf6\\x89\\x4e\\x63\\x46\\x3d\\x94\\x8c\\xa7\\x62\\x62\\x9f\\xe4\\xce\\x58\\xff\\x8d\\x9b\\xe1\\x5b\\xeb\\xdf\\x1e\\x95\\xfc\\x70\\xb4\\x8c\\x37\\x5f\\xc1\\xf8\\x6b\\x37\\x3a\\x4d\\xea\\xb0\\xc0\\xd0\\x44\\x9e\\x49\\xab\\xa5\\x5d\\xac\\x0b\\xe3\\x4c\\xbb\\x8d\\x42\\x24\\x88\\xec\\xb4\\x53\\x14\\x03\\x18\\x0b\\x06\\xd6\\x1c\\xed\\x02\\x6c\\x37\\x84\\xa9\\xcf\\x6e\\xbe\\x9a\\x83\\x2d\\x09\\x6e\\x89\\xa6\\x58\\xe2\\x49\\xa8\\x53\\x19\\xad\\x90\\xbb\\xb2\\x69\\xa1\\x15\\x1e\\xbd\\x62\\x41\\xdb\\xa1\\xe3\\x81\\x3f\\x1d\\xb9\\xef\\xf5\\x2b\\xfe\\xba\\x63\\xc7\\xfd\\x0b\\xa6\\x3c\\x13\\x1f\\xb9\\xd0\\x5c\\x28\\x56\\xa3\\x2f\\x9e\\x7d\\xf5\\xcf\\x4f\\x1d\\xc1\\xfe\\x76\\x2b\\x74\\x7f\\x70\\xe3\\x3e\\xf1\\x33\\x31\\x56\\x46\\x7a\\x50\\x62\\xfb\\x3c\\x18\\xdb\\xb2\\x00\\xa8\\x4f\\x58\\x00\\xaf\\x57\\xa9\\xb4\\x3c\\x0a\\x3a\\x1c\\x21\\x9a\\xb3\\x69\\x6c\\x18\\x1c\\x3a\\x31\\x22\\x79\\x44\\xad\\x6b\\x72\\x3a\\x6d\\x9c\\x46\\x96\\xbf\\x78\\x69\\x51\\xea\\xb8\\xe5\\x18\\xdf\\xdf\\xda\\xdb\\x54\\x13\\xa8\\x74\\x1e\\xcb\\xaf\\x39\\xf6\\x76\\x17\\x44\\x6b\\xe7\\x6f\\x88\\xd4\\x98\\x2b\\xc6\\xb7\\xec\\xef\\x84\\x13\\x7e\\x6b\\x6c\\x97\\xdf\\x0a\\x0b\\x9f\\x8d\\xbc\\x7e\\x65\\xd1\\xbe\\xff\\xa4\\xfc\\x98\\xf3\\x74\\x9c\\xf6\\x03\\x2d\\xf6\\x64\\x6a\\x12\\x2e\\xb5\\x95\\xc6\\xe8\\xc8\\xeb\\x71\\xbb\\x7d\\x3a\\xa5\\x43\\xd9\\x2a\\xb8\\x5c\\x0e\\x23\\x0f\\x5a\\x05\\x3e\\xab\\x39\\x26\\xe8\\x41\\xde\\x24\\x37\\xfb\\x8c\\x4a\\x5d\\x30\\xa1\\xca\\x2a\\x37\\xae\\xcd\\xab\\xe2\\x40\\x01\\xac\\x89\\xab\\xe0\\xc3\\xa3\\xaf\\x1d\\x11\\x7f\\xf3\\xbb\\xd9\\xf0\\x15\\x38\\xff\\x8a\\x8f\\x36\\xde\\x77\\x16\\x16\\x43\\x16\\x56\\x37\\xd7\\x56\\xf6\\xd9\\xf0\\xe3\\x35\\x77\\xaf\\xbc\\x08\\xbe\\xbc\\xf9\\x20\\xf2\\xa8\\xb6\\x9d\\xbc\\xed\\x97\\x1b\\xde\\x7b\\x18\\xaa\\x61\\xe1\\x92\\xb3\\x44\\x7e\\x63\\x58\\x9e\\x5d\\x58\\x7e\\x6d\\x60\\x74\\xc2\\x6b\\x31\\x1a\\x0c\\x40\\xab\\xb5\\x2b\\x78\\xde\\xc1\\x3a\\x4a\\x1d\\xf5\\x8e\\xf9\\x0e\\x8c\\x03\\x2c\\xac\\x09\\x6f\\xb1\\x91\\x40\\x3c\\x56\\x6b\\x68\\x32\\x1a\\x4d\\x46\\x9a\\x92\\x3a\\xdb\\x5a\\xb3\\x1a\\xd8\\x65\\x41\\xd6\\x78\\xb7\\x0a\\x8b\\x98\\x73\\xac\\x96\\x2c\\xa9\\xc4\\x72\\x6d\\x6a\\x2c\\x1f\\xea\\x28\\x9b\\x33\\xb8\\xa9\\x4d\\x3b\\xf3\\x3e\\x2c\\x9d\\xd4\\x09\\x56\\xfc\\x7e\\xb2\\xe9\\xfe\\x71\\xe1\\x92\\xfc\\x6a\\xb9\\xcd\\x91\\x24\\x93\\x1d\\x32\\x1e\\x93\\xfc\\x46\\xf4\\x1c\\x70\\x82\\x86\\x44\\x50\\xea\\xff\\x6f\\x36\\x1a\\xed\\xc8\\xee\\x72\\xb3\\xee\\x63\\x6e\\x0a\\x3f\\x64\\xba\\xfd\\x3f\\x9b\\xdb\\xfe\\x5f\\x8e\\x79\\xd6\\x76\\x07\\xa3\\xb3\\xba\\xff\\xa7\\xd4\\x2b\\x89\\x23\\x91\\xcb\\x75\\x0b\\x47\\xc1\\x5b\\x6e\\x3e\\xc2\\x8f\\x18\\xce\\xfc\\x7b\\x9a\\x71\\x42\\x3b\\x0c\\x15\\x46\\xbc\\x93\\x97\\x88\\xe6\\x13\\x3b\\x46\\x4e\\x83\\xab\\x1c\\x31\\x91\\x1a\\xdd\\x38\\x6d\\x21\\x65\\x99\\x7b\\xdc\\xde\\xcb\\xfd\\xfc\\x16\\xf1\\x2b\\xf1\\xb8\\xb4\\xbf\\x62\\x33\\x5d\\x85\\xfd\\x54\\x27\\x08\\x83\\xb6\\x44\\x51\\x10\\xf9\\xbc\\x2a\\x95\\xdd\\xc6\\x58\\x74\\x3a\\x06\\x5b\\xa9\\xbc\\x08\\x9b\\x87\\x0f\\x8f\\xcf\\xa6\\xb6\\xb5\\x08\\x4a\\xb5\\x95\\x71\\x19\\x5d\\x00\\xc3\\x12\\x4e\\xc2\\xc2\\xf2\\xfa\\xd5\\x67\\x42\\x5e\\xdd\\x11\\xaf\\x34\\x9c\\x92\\xfa\\xb7\\x2a\\xf0\\xd1\\x91\\x1b\\xfd\\xe1\\xd5\\xa4\\x2c\\x9c\\x0d\\x1f\\x24\\x1b\\x41\\x59\\xd5\\x26\\xfc\\xf4\\xa8\\xe0\\xaa\\x4d\\xe2\\x77\\xe2\\x3f\\x87\\xce\\x1e\\x7a\\xec\\xa9\\xd9\\xa7\\x57\\x9b\\xda\\x16\\x35\\xbe\\x30\\xc7\\xb5\\x6e\\x52\\xcd\\x00\\x7e\\xce\\x91\\xc7\\x6b\\xd1\\xf3\\xc7\\x0e\\x88\\x6f\\x8a\\xa7\\x8c\\xe2\\x44\\x78\\x97\\xe1\\xcc\\x89\\x7d\\xbf\\xec\\x36\\xd6\\x7b\\xb6\\x7e\\x73\\xf5\\x45\\x10\\xa1\\xa6\\xed\\xde\\xd2\\x36\\x73\\x7e\\x72\\xaf\\x16\\xd6\\x43\\xf3\\x82\\xcb\\xe5\\x18\\xfa\\x04\\xac\\x03\\x8e\\x61\\xb9\\x08\\x81\\x8d\\x89\\x66\\x3b\\xeb\\xd2\\xeb\\x75\\x40\\xed\\xd1\\x6a\\x75\\x4a\\x48\\x5b\\x38\\x9e\\xe6\\xdd\\x3a\\x5d\\xc4\\xe3\\x72\\xbb\\xc3\\x66\\x0e\\x1b\\x36\\xf3\\x34\\x35\\x54\\xaa\\x21\\x0d\\xae\\x06\\x94\\x5a\\xcb\\x42\\xd6\\x8e\\xed\\xb3\\x9d\\x05\\x6a\\x5a\\xe1\\xc1\\x30\\x52\\xab\\xd3\\x69\\x59\\x05\\x6c\\x17\\x08\\xc3\\xac\\x2c\\xe2\\x24\\x6b\\x0a\\x4f\\x35\\x05\\x87\\x27\\xa6\\xfb\\x6d\\xc5\\x8d\\xdd\\xae\\x77\\xe6\\xb5\\xec\\xf7\\x40\\x54\\x42\\xf2\\xbc\\xac\\x36\\xde\\x44\\xca\\xb6\\x21\\xef\\x25\\xd9\\x89\\xd8\\x35\\x55\\x52\\x44\\x0f\\x2a\\xe0\\xd4\\x6d\\x9a\\xea\\x5a\\xe6\\x11\\xde\\x3c\\xf7\\x95\\x15\\x4f\\xa9\\x56\\x89\\x0f\\x1f\\x31\\x14\\x07\\x98\\xdd\\x66\\xe7\\x9a\\xbe\\xe2\\xc0\\x27\\x95\\x9e\\x11\\x42\\x47\\x87\\x00\\x07\\xc3\\x4f\\x02\\xc5\\xda\\x98\\xa1\\x09\\xaf\\x45\\xf9\\xd9\\xe8\\x21\\x31\\x98\\x3c\\x57\\x1a\\x56\\xc4\\x4c\\xd3\\xe0\\xbb\\x63\\xc5\\x35\\x0b\\x03\\xf9\\xf3\\xd6\\x6e\\xdc\\xb8\\x5e\\xe2\\xfb\\x6c\\x56\\x58\\xe8\\xd7\\x31\\xbe\\xbc\\x3c\\x51\\x63\\x32\\x1a\\x21\\x6f\\x36\\x93\\x7c\\x19\\xbb\\xd6\\x60\\x60\\x14\\xd8\\xb8\\xbb\\x5d\\x0a\\x97\\xcf\\xcf\\xfa\\x21\\x6b\\xc2\\x1b\\x6c\\x72\\x49\\x6d\\x41\\xed\\x1a\\xd6\\x6c\\xa4\\x8c\\xad\\x82\\x97\\xb2\\xca\\x6a\\x27\\x75\\x44\\x32\\x18\\x05\\x4e\\xcc\\xed\\x60\\x92\\xd5\\x72\\x40\\xee\\xa9\\xd1\\x43\\x3e\\xb1\\xed\\x27\\x5a\\x9e\\x84\\xe8\\x28\\x05\\xc5\\xce\\x1e\\xfa\\x87\\xb3\\x86\\x21\\x58\\x46\\x27\\xea\\xd7\\x4d\\x3f\\x37\\xfb\\xdc\\x86\\x7b\\x9d\\x33\\x20\\x60\\x3a\\xc6\\x37\\x8a\\x4d\\x62\\x33\\x3c\\xb8\\xef\\xa6\\x7a\\x01\\x3e\\x84\\x91\\xdf\\x9f\\x47\\x94\\x09\\x4b\\xe9\\x1d\\xbf\\xce\\x41\\x3b\\xb7\\x53\\x03\\x63\\x8e\\x64\\x52\\xdc\\x42\\xe8\\x7c\\x06\\x5c\\x3c\\xaf\\x68\\x46\\x4f\\x83\\x52\\x30\\x38\\x11\\x89\\x7a\\xed\\x34\\x5d\\x8c\\x31\\x8a\\xbe\\x38\\xe4\\x55\\x94\\x95\\x83\\x72\\x68\\x47\\xa5\\xa5\\x2e\\x43\\x90\\xb3\\xab\\x0a\\x5c\\x05\\x6d\\x82\\xd9\\x65\\xcd\\xb9\\xe5\\x29\\xcd\\x16\\xd3\\x54\\x9e\\xa6\\x81\\x52\\x99\\x33\\x45\\xdd\\x44\\x99\\x52\\x24\\x68\\x90\\x6e\\x24\\x6b\\xaa\\xae\\xb1\\xd1\\x28\\xd5\\x83\\xa5\\xb2\\x1e\\xa2\\x46\\x83\\xbb\\x40\\x23\\x0c\\xbd\\x6a\\xcb\\x82\\x89\\xf6\\xc3\\xcf\\x7c\\xfb\\xd2\\xc4\\x2b\\x6c\\xaa\\xba\\xed\\x93\\xb7\\xef\\x59\\xf5\\xf3\\x5e\\x95\\xf8\\x79\\x9d\\x6e\\xcf\\xa0\\x8d\\xf9\\x1a\\x35\\xd5\\xd9\\x32\\x6e\\x99\\x63\\xe2\\x92\\x0b\\x67\\x6f\\x78\\x20\\xda\\xe8\\xfe\\xf2\\xc4\\x4f\\xe2\\x07\\x1d\\x13\\x67\\x8d\\x7c\\xe6\\xbe\\xfd\\x90\\xfe\\x83\\xb5\\x71\\xba\\xf8\\xd0\\xf0\\xf8\\x2f\\x8b\\xa6\\x9d\\xad\\xab\\x24\\x18\\x67\\xe0\\xc5\\xf3\\xd4\\x02\\x45\\x3c\\x15\\x8b\\x52\\x81\\xd9\\x17\\x49\\x23\\x1a\\xfd\\x23\\x14\\xf4\\x65\\xee\\x4d\\xc9\\xe7\\x26\\x63\\x5d\\xb2\\x44\\xfa\\xdc\\x72\\x25\\x30\\x2a\\xc1\\xec\\x7e\\xf2\\xa7\\xaa\\x33\\xf1\\xa7\\x74\\x4c\\x0d\\xdb\\x7a\\x12\\xdb\\x22\\xb6\\x5e\\x8a\\x81\\x0d\\x97\\x63\\x6a\\x7f\\x73\\xfb\\x8c\\xf6\\xee\\x18\\x98\\x1c\\xd3\\xba\\x33\\x13\\xd3\\xaa\\x05\\x5f\\xcb\\xb1\\xb2\\xbd\\x2e\\x2f\\xca\\xfa\\x9c\\xb4\\xee\\x8a\\x3b\\xb9\\x3c\\xb4\\x2a\\xf5\\xfb\\x92\\x58\\x9c\\xf6\\x26\\x2e\\xd6\\x24\\xd6\\xaf\\x6f\\xaa\\x49\\xac\\x5b\\x87\\x87\\xb5\\x6b\\xf1\\xb0\\x66\\x0d\\x1e\\x56\\xaf\\xc6\\xc3\\xaa\\x55\\x78\\xb8\\xe2\\x0a\\x3c\\xac\\x5c\\x89\\x87\\x15\\x2b\\xf0\\xb0\\x7c\\x39\\x1e\\x96\\x2d\\xc3\\xc3\\xd2\\xa5\\x78\\x58\\xb2\\x04\\x0f\\x8b\\x17\\xe3\\x61\\xe1\\x42\\x3c\\x2c\\x58\\x80\\x87\\xf9\\xf3\\xf1\\x30\\x6f\\x1e\\x1e\\xe6\\xce\\xc5\\xc3\\x9c\\x39\\x78\\xb8\\xfc\\x72\\x3c\\xcc\\x9e\\x8d\\x87\\x59\\xb3\\xf0\\x30\\x63\\x06\\x1e\\xba\\xba\\xf0\\x30\\x7d\\x3a\\x1e\\xa6\\x4d\\xc3\\xc3\\xd4\\xa9\\x78\\x98\\x32\\x05\\x0f\\x9d\\x9d\\x78\\xe8\\xe8\\xc0\\xc3\\xc4\\x89\\x78\\x98\\x30\\x01\\x0f\\xe3\\xc6\\xe1\\x41\\x10\\xf0\\x30\\x76\\x2c\\x1e\\x2e\\xbb\\x0c\\x0f\\xa3\\x47\\xe3\\x61\\xe4\\x48\\x3c\\xb4\\xb7\\xe3\\xa1\\xa5\\x05\\x0f\\x23\\x46\\xe0\\xa1\\xb9\\x19\\x0f\\xc3\\x86\\xe1\\x61\\xc8\\x10\\x3c\\x34\\x35\\xe1\\x61\\xe0\\x40\\x3c\\x0c\\x18\\x80\\x87\\xc6\\x46\\x3c\\x34\\x34\\xe0\\xa1\\x5f\\xbf\\xa6\\x44\\xdf\\x9a\\x44\\x9f\\x3e\\xf8\\x75\\xef\\xde\\x78\\xe8\\xd5\\x0b\\x0f\\x35\\x35\\x78\\xa8\\xac\\xc4\\x43\\x79\\x39\\x1e\\x62\\x31\\x3c\\x14\\x16\\xe2\\x21\\x1a\\xc5\\x43\\x28\\x84\\x07\\xbf\\x1f\\x0f\\x0e\\x47\\x53\\x0d\\xb1\\x4b\\x66\\xbb\\x1d\\xbf\\xb3\\x5a\\xf1\\xc0\\xb2\\x4d\\xf0\\xb5\\xb2\\xb8\\x57\\x8a\\x90\\xfe\\xef\\x2e\\xeb\\x2f\\x79\\x81\\x4f\\x91\\xfb\\x78\\x94\\xc4\\x7e\\x89\\x11\\x44\\xc9\\x89\\xe1\\x2c\\x74\\x38\\x1c\\x50\\x5a\\xe8\\x7c\\xb5\\xdb\\x5d\\x10\\x50\\x29\\x55\\xd8\\x86\\xab\\x54\\x26\\x87\\x43\\xd7\\x2a\\x38\\xa0\\x09\\x5b\\x72\\xd3\\xa5\\x7a\\x77\\xe7\\x44\\x37\\x64\\x7b\\x1e\\xa9\\x09\\x1b\\x53\\x01\\x44\\x4e\\x11\\xa4\\x8c\\x72\\xfb\\x3b\\xb9\\x3f\\xad\\x1c\\xcc\\x81\\x3f\\x0f\\x5b\\x33\\x50\\xbc\\xa8\\x87\\xfd\\x87\\xb7\\xae\\x78\\x75\\x03\\x54\\xbf\\xf9\\xe7\\x63\\x30\\xfa\\xd0\\x86\\x23\\xed\\xdb\\x5b\\xa8\\x25\\x2b\\x16\\xbe\\x32\\x60\\xea\\x43\\x0b\\x7f\\x54\\x8f\\xd0\\xc0\\xa5\\x97\\xcd\\xf8\\x5c\\x1c\\xfb\\xaa\\x38\\x6c\\x2c\\x34\\x42\\xd5\\x0f\\xf0\\x91\\x1f\\xf7\\xad\\x9e\\x7c\\x64\\x09\\xa7\\xb1\\xdf\\xbe\\x7e\\xdd\\x7b\\xab\\xf0\\x3c\\xb0\\x9c\\xd2\\x83\\x15\\x9b\\xf1\\x2c\\x2a\\xc1\\xf8\\x44\\x69\\x38\\x3f\\x5f\\xe5\\xf4\\x78\\x6c\\xe6\\x12\\xec\\x95\\x56\\x61\\x04\\x55\\x2d\\x35\\x74\\x65\\xf5\\xe1\\x8a\\x70\\xab\\xa0\\xa9\\xa8\\x30\\xd2\\x46\\x3f\\xb6\\xfb\\x56\\xba\\xb0\\x55\\xa0\\xc1\\x25\\xfa\\x47\\xd7\\xf7\\x6c\\x33\\x9c\\x2e\\xf5\\x4a\\xe7\\xa2\\xca\\xe9\\x97\\x74\\xa8\\x87\\x42\\x23\\xfe\\x8c\\x54\\x6a\\x95\\x4a\\xd1\\xed\\x03\\xfb\\x41\\xaa\\xa4\\x7d\\xeb\\xc8\\xa9\\x33\\x34\\xe6\\x5e\\x6c\\xaf\\xc6\\x62\\xf1\\x87\\xff\\x93\\x65\\x88\\x0f\\x1d\\x88\\x0e\\x2a\\x5f\\x79\\x15\\xec\\x18\\x59\\xdc\\x56\\x36\\x62\\x7c\\xdc\\xa3\\xa2\\x0b\\xa7\\x1e\\x1a\\x3f\\x6f\\x4e\\xe5\\xd8\\x55\\xa3\\xc4\\x8d\\xc9\\x7f\\x9f\\xd8\\x31\\x49\\xe8\\x36\\xd0\\x47\\x3f\\x86\\x37\\xcc\\x85\\x60\\xf5\\xe0\\x55\\x43\\x06\\x0e\\xbc\\x47\\xe6\\xb4\\x58\\x2a\\xdd\\xbf\\x36\\x63\\x7b\\xd6\\x90\\x08\\x18\\x78\\xab\\xdf\\xcf\\x3b\\x51\\x58\\x41\\x51\\x11\\xbf\\xd1\\x85\\x0c\\xbc\\x91\\xef\\x10\\xf0\\xd4\\x98\\x4e\\x01\\x21\\x40\\xa7\\x63\\x54\\xf2\\x2c\\x4d\\xb5\\x3d\\x23\\x53\\xa4\\x45\\xbf\\x9c\\x07\\x4f\\xa5\\x2f\\xb1\\xb1\\xea\\xa3\\xf2\\x42\\x35\\x7e\\x60\\xc4\\xb8\\xcb\\x54\\xad\\xa0\\x67\\x35\\x45\\xfb\\xb8\\xf4\\xc5\\xe5\\x75\\xb7\\x6c\\x5f\\x17\\xad\\x7b\\x5d\\x9d\\xbc\\x45\\xfd\\xa7\\x61\\xfc\\xbc\\x17\\x56\\xab\\xa1\\x09\\xd6\\x51\\x8a\\xca\\xc7\\x3e\\x55\\x34\\x47\\xc5\\x5f\\xe7\\xc7\\xcb\\x67\\xbc\\x29\\x3e\\xfd\\x81\\x78\\x4c\\xbe\\x50\\x59\\x34\\xf9\\x2e\\xa8\\xda\\x5a\\x25\\xbe\\x26\\x9e\\x2f\\x28\\x7a\\x16\\xf6\\x3e\\x9a\\xc9\\x5b\\x3a\\xae\\x68\\xe6\\xa2\\x68\\x03\\xf8\\x35\\x2b\\x6f\\x49\\xf5\\x20\\x8c\\x22\\x92\\x38\\x92\\xba\\x37\\x38\\xa9\\xbc\\x12\\xeb\\xa1\\x0d\\xa9\\x7b\\x83\\x56\\x38\\x02\\x68\\x4e\\x50\\x30\\xae\\xc8\\x93\\xae\\x0a\\x10\\x28\\xc5\\x76\\xfd\\x47\\x2c\\x03\\x3c\\xf6\\xb2\\x43\\xa0\\x39\\x11\\x35\\xd3\\x7e\\x2d\\xcf\\xdb\\x18\\xe0\\xc6\\xd8\\x8f\\x46\\xe1\\x88\\x1a\\xf8\\xec\\x8c\\xbd\\x55\\xd0\\x32\\x9c\\xdf\\x06\\x49\\x18\\x05\\x5a\\xc1\\x6f\\xec\\x58\\x7d\\xc6\\x59\\xeb\\x06\\x2a\\x12\\x40\\x31\\x49\\xbe\\xaa\\x64\\x02\\x94\\x2a\\x2d\\x24\\xb7\\x4c\\x06\\x2a\\x82\\xcd\\x02\\xea\\x47\\xc1\\xde\\x43\\x6f\\x7d\\xf2\\xea\\x6f\\xb7\\xb5\\xcf\\x6b\\xbf\\xe3\\xd4\\x35\\xe7\\xb7\\x0d\\x7d\\x71\\xe2\\x65\\xdb\\x2f\\xdb\\x35\\x96\\xea\\xea\\x1c\\xb5\\x6d\\xcc\\xae\\x31\\xd8\\x7a\\x1d\\xa0\\xdf\\xbf\\x6f\\x1f\\x34\\xec\\x55\\xc0\\x17\\xc5\\x1a\\xf5\\x3b\\xf7\\xec\\x13\\xff\\xcf\\x1d\\xb4\\xd8\\x81\\x98\\x35\\xdb\\x54\\xa8\\x46\\xb3\\xe3\\xa7\\x55\\x57\\xdf\\xa4\\xbc\\xf0\\xa2\\xfe\\x96\\xef\\x24\\x5f\\x05\\xc4\\xb1\\x4e\\xbd\\x43\\xf2\\xbd\\xcb\\xc1\\xa8\\x44\\xcc\\x61\\x2c\\x31\\xc7\\xa8\\x22\\x1a\\xd0\\x54\\x50\\x13\\x30\\x1b\\x6d\\xea\\x8a\\xb8\\xcd\\x1e\\x08\\x18\\xec\\x25\\x94\\xc5\\x6e\\x69\\x15\\xec\\x6c\\xbe\\xd6\\x65\\x70\\xb5\\x09\\x2a\\x43\\x96\\x55\\x93\\xbd\\x2e\\x93\\xdc\\x80\\xb9\\x47\\x03\\x42\\x55\\xc8\\xda\\xd3\\x9c\\xd5\\x10\\x18\\xcb\\xa7\\xad\\x19\\xc6\\x22\\x69\\xe3\\x17\\x0d\\x18\\x28\\xc5\\x1d\\xec\\x4b\\x1b\\x53\\x26\\x6d\\xdb\\x94\\xed\\x7b\\xd6\\xaf\\xb9\\x69\\x70\\x6d\\x9f\\x4d\\xb2\\x45\\x3b\\xac\\xd6\\x0f\\x26\\x76\\x6f\\x53\\xf2\\x67\\x61\\x45\\x3f\\x74\\x74\\xd4\\xaa\\x77\\x24\\x9b\\x36\\x73\\xd4\\x33\\xf7\\x1d\\x82\\xaa\\x91\\xeb\\xdf\\x4e\\xee\\x97\\x0d\\x5a\\x65\\xcb\\x49\\x62\\xf8\\xde\\x9d\\x51\\x7e\\xc7\\xfb\\xc4\\x66\\x63\\x8c\\x49\\xfc\\x9d\\x06\\x70\\x7d\\xa2\\xc9\\x57\\x5e\\xee\\x54\\x2b\\x95\\xbc\\xd3\\xe9\\x2e\\x09\\xf2\\x75\\xb5\\x56\\x6b\\x55\\x55\\x0d\\x0b\\x40\\x4d\\x5d\\xd0\\x9d\\xaf\\x6c\\xec\\x5f\\x5b\\x81\\xbf\\xd3\\xd0\\xc0\\x55\\xb1\\x3e\\x5b\\x79\\x79\\x7e\\xbe\\xab\\xa8\\x28\\xdc\\x2e\\x14\\x71\\x2e\\x0b\\xd7\\xaf\\x5d\\xe0\\xac\\xb4\\x96\\x28\\x2c\\x3a\\xa7\\xf3\\x69\\xfa\\x64\\x13\\x5c\\x52\\x9f\\xea\\xab\\x1d\\xcf\\x59\\x8b\\xac\\x98\\x4f\\x6a\\x69\\x7a\\x74\\x40\\x55\\xc9\\x29\\xb1\\x0a\\x52\\xc4\\x1b\\xc5\\x2f\\x88\\x86\\xcb\\xd4\\xcc\\x48\\xea\\x20\\xd2\\x8f\\xe4\\x31\\x9b\\x59\\x98\\xc2\\x02\\xf4\\xe0\\x9a\\x1c\\xf6\\x1e\\xbd\\xb3\\x65\\x98\\xca\\x2e\\xde\\xcd\\x14\\xd8\\xef\\xa6\\x27\\x4c\\xf3\\xaa\\xa6\\xd4\\x0d\\xd7\\xd5\\xd8\\xaf\\x1e\\xdd\\x32\\x4c\\xeb\\x80\\xa3\\x35\\x65\\xe6\\xbb\\xe9\\x67\\x8c\\xec\\x54\\xfc\\x5d\\x68\\x10\\x5f\\x4e\\x33\\xfd\\x0c\\x41\\x73\\xe6\\x06\\x47\\xde\\xf0\\x66\\xe9\\x8e\\xb2\\x41\\x5d\\x77\\x0e\\xba\\x6f\\x90\\x77\\xd7\\xe8\\xfe\\xd7\\xef\\x9e\\x3b\\xaf\\x68\\xc6\\x0d\\xaf\\xd5\\xff\\x21\\x32\\xe8\\xad\\xed\\x53\\xc6\\xd4\\xee\\x1e\\xdd\\x5f\\x96\\x99\\x19\\x18\\xd7\\x91\\x7c\\x1f\\x0b\\x3e\\x01\\xfd\\x12\\x01\\x8f\\xda\\xa2\\xb4\\x1a\\x8d\\x4a\\x35\\x16\\x7e\\x8b\\xbf\\x43\\x50\\x5a\\x78\\xbd\\xa3\\x43\\xd0\\xd3\\xa9\\xeb\\x57\\x17\\xc8\\x6e\\xad\\x5e\\x94\\xb5\\x26\\x52\\x7d\\x0c\\x39\\xfc\\x79\\x54\\x76\\x12\\x8f\\x0a\\xe6\\xe4\\xf8\\x50\\xf7\\xc9\\x9d\\xb8\\xfb\\xbe\\xfa\\x43\\x3a\\x7d\\xe7\\x41\\xf1\\x95\\x97\\xe0\\x97\\xdd\\xc9\\x3d\\xe2\\xed\\xd2\\xd9\\x17\\xfc\\x30\\xf0\\x4a\\x2a\\x79\\xe7\\x2f\\xe2\\x95\\xef\\xf1\\xa8\\x35\\x2b\\xb5\\x07\\xa4\\x7c\\x0d\\x12\\x7f\\x00\\x26\\xe0\\x07\\xbd\\x13\\x3e\\x5e\\x69\\x44\\x4e\\xbd\\x1e\\x29\\x51\\x20\\x68\\xb4\\xb6\\x0a\\xc8\\x68\\xd5\\x78\\xb0\\xf2\\xe6\\x28\\x53\\x8b\\x40\\xb9\\xb2\\x7a\\xb7\\xf6\\x78\\x6e\\x55\\x20\\x75\\x5a\\x53\\xde\\xb8\\x74\\x54\\x33\\xd9\\xc5\\x58\\xaf\\x8d\\x67\\xc4\\x47\\x87\\x5d\\xbd\\x73\\xd3\\x4f\\xbb\\x0f\\x9f\\x5d\\xfc\\xe6\\x86\\xbe\\x6f\\xcc\\x9a\\x34\\xfe\\x50\\xe7\\xcc\\xa9\\xe3\\xef\\x9c\\x24\\xae\\x8c\\xc1\\xbb\\x5d\\xaf\\xde\\x76\\x00\\x9a\\x6e\\x7f\\xe7\\xe4\\xf6\\x8b\\xe0\\x90\\x49\\xdc\\x4f\\x3d\\xb3\\xf1\\xa6\\xed\\xc9\\x6d\\x37\\xe0\\x81\\xe8\\xdb\\x75\\xe2\\x3c\\xc5\\x2c\\x49\\xdf\\x56\\x26\\x1c\\xc0\\xac\\x57\\x2a\\x35\\x66\\x14\\xf6\\x38\\x9d\\x11\\x23\\x52\\xdb\\xed\\x78\\x99\\x5d\\x2e\\x3b\\x9d\\x12\\x40\\xee\\xb9\\xda\\x9e\\x2a\\x36\\x75\\x9b\\x21\\xa5\\x39\\x57\\x55\\x62\\xe0\\x9f\\x5e\\x62\\xac\\x7a\\xab\\x88\\xea\\xa5\\x29\\x38\\xfa\\xe4\\x1f\\xbf\\x39\\x76\\xec\\x39\\xae\\x6b\\x5e\\xdd\\xd2\\xb3\\xaf\\x7f\\xf3\\x0a\\x5c\\xf6\\xcf\\x37\\xbe\\x88\\x35\\xd4\\x1f\\xeb\\x3c\\x2a\\xfe\\x63\\x0f\\xb5\\x60\\xf3\\x73\\xfd\\x46\\x6c\\xba\\x6c\\xf1\\x9e\\x9a\\x06\\xdf\\xb8\\xc1\\x79\\xb5\\xd5\\xfd\\x12\\xd0\\x7c\\xf2\\xcf\\x70\\xca\\xb3\\x71\\xf1\\xc3\\xfb\\x8b\\x4a\\xef\\x13\\x5f\\x93\\x7d\\xcb\\x1a\\x71\\x17\\xda\\x48\\xdb\\xf1\\x8a\\xe2\\x67\\xa5\\xed\\x26\\xad\\x96\\xb5\\xa3\\x80\\xc7\\xe7\\x0b\\x32\\x16\\x83\\xdb\\xeb\\x76\\x63\\x8b\\xee\\x66\\x53\\x52\\x70\\x89\\x67\\x0d\\xa6\\xc2\\x4f\\x59\\x0f\\x9c\\x8e\\x22\\xf4\\x21\\xde\\x39\\xb5\\x6b\\xf5\\x93\\x4b\\x4a\\xa7\\xad\\xea\\x9a\\x72\\xef\\x1f\\xb8\\x99\\x97\\xb7\\x8f\\x7c\\x70\\xef\\x01\\xe8\\x3d\\x3e\\x69\\x58\\x6d\\x25\\x1a\\xbb\\xfc\\x1f\\x57\\x27\\x46\\x56\\xbb\\x6c\\x93\\x86\\xcd\\xb8\\xa3\\xb4\\x36\\xdc\\xd6\\x58\\x59\\x6d\\x0c\\xed\\xdb\\x70\\x37\\xf4\\xec\\x9f\\xf3\\xb4\\xec\\x8b\\x91\\xfc\\x93\\x1f\\xa5\\x7c\\x93\\xd1\\x89\\x22\\x95\\x5e\\x6f\\xd2\\x32\\x26\\x86\\x43\\x00\\xd8\\x38\\xab\\x92\\x87\\x90\\xb7\\x60\\xe3\\xa5\\xd2\\x91\\x7c\\x3e\\x95\\x8a\\xb3\\x20\\xbd\\x89\\x33\\x75\\x08\\x9c\\x09\\x64\\xec\\x57\\x69\\xca\\x3f\\x27\\x57\\x9d\\x99\\xa4\\xbe\\xac\\x73\\x2c\\xa5\\x9a\\xa0\\x00\\x3e\\xb6\\x81\\x4c\\x4e\\x16\\xfd\\x63\\x6d\\xa3\\x72\\xce\\x3b\\xe2\\x0f\\x53\\x29\\x47\\x71\\x5f\\x24\\xf6\\x9f\\xf0\\xa1\\x26\\xf9\\x8c\\xe6\\xe0\\x1b\\x77\\x6b\\x14\\x7d\\x49\\xa2\\x49\\xf2\\x8d\\x0b\\x07\\x93\\xff\\x4a\\xa7\\x60\\xe1\\xe7\\x4c\\x4a\\xb2\\x79\\x14\\xdb\\x16\\x6c\\x57\\xf4\\x1a\\x0d\\x79\\x44\\x8b\\x8a\\x65\\x39\\xce\\xac\\x35\\xa8\\x0c\\x58\\x2c\\xf1\\xe3\\xf1\\x50\\xc9\\x63\\xbc\\xc4\\x1b\\x5b\\x04\\x9e\\xe5\\xa4\\xb0\\x60\\x2a\\x0d\\x24\\x3b\\xa5\\xc1\\x18\\xcf\\x72\\x2e\\xc8\\xe3\\x15\\x41\\x14\\x97\\x52\\x91\\x42\\x52\\x64\\x19\\x3d\\x5b\\xd3\\xa8\\x9c\\xf5\\xfe\\x75\\xd3\\xff\\x56\\xd7\\x77\\x48\\x5f\\xf4\\xb7\\x05\\x87\\xff\\x76\\x15\\x83\\x8e\\x8a\\x67\\xf0\\x63\\x9d\\xdd\\x2f\\xce\\x3e\\x98\\x5c\\xaf\\x70\\x3a\\x62\\xf2\\xfe\\x62\\xd4\\x4e\\x43\\xa9\\x5f\\x2a\\xde\\x5f\\xa3\\xd9\\xac\\x53\\x2b\\x18\\x06\\x58\\xd4\\x16\\xbb\\x43\\x7d\\xa3\\x19\\x9a\\xcd\\x34\\x8b\\x68\\x13\\x69\\x01\\x57\\x4b\\xda\\x7c\\xa6\\xf2\\x88\\xba\\x33\\xa4\\x48\\x15\\x46\\x94\\x04\\xdc\\x78\\xb9\\x63\\xa9\\xcd\\xac\\x42\\x01\\x7c\\xe4\\xec\\x43\\x98\\xd3\\xa8\\x71\\xdd\\x85\\x7f\\xef\\xab\\x1b\\xa2\\xc2\\xaf\\x16\\x20\\xf5\\xfd\\x7d\\xae\\x19\\x6a\\x88\\x05\\x87\\x1e\\x82\\x8d\\x70\\xf7\\x9e\\x72\\xf2\\x7a\\xc8\\x21\\xf1\\x73\\x31\\xb1\\x1b\\x3f\\xc7\\x32\\x00\\x50\\x1b\\xb6\\xbd\\x2a\\x10\\x4e\\x60\\x8f\\x1e\\x3f\\x13\\x64\\xd4\\x0a\\xc2\\xc9\\x0a\\x90\\x45\\xfe\\xe7\\x73\\x7a\\x8c\\x04\\x48\\x2e\\x16\\x8c\\x83\\x8b\\x54\\xbb\\xf8\\xf1\\xa4\\x9f\\x93\\x47\\x61\\xe5\\x24\\xea\\xab\\xa4\\x8d\\x5a\\x89\\x88\\x1f\\x0a\\x9a\\xc5\\x81\\x8a\\xcb\\x14\\xb3\\x41\\x10\\xd4\\x25\\xbc\\x2a\\x26\\x08\\x68\\x97\\x0b\\x9b\\x72\\xc0\\xe8\\x14\\xa1\\xb0\\xcd\\x8d\\x2d\\x84\\x97\\x84\\xc8\\xb5\\x2c\\xd6\\x16\\xf5\\xcf\\x55\\xd4\\x12\\xdd\\x4e\\x6a\\x71\\x7a\\x58\\xb8\\x00\\x8f\\xb5\\x32\\x15\\xc1\\xeb\\x4a\\x22\\x60\\x44\\x8b\\x99\\x2c\\x66\\x0d\\xc4\\xaf\\x49\\x80\\x4e\\x2a\\xd8\\xa1\\xaa\\x2f\\x0b\\x7c\\xbc\\xfb\\x21\\xf1\\xca\\xf1\\xd3\\xc6\\xed\\xdc\\xee\\xdc\\x0a\\x95\\x9b\\x3f\\x86\\x2d\\x8f\\x4e\\x7f\\x68\\x76\\xed\\xaa\\xeb\\x4a\\xf2\\xa7\\x5d\\xe7\\x9a\\x0e\\xff\\xfe\\xc4\\x8f\\x76\\x18\\xe3\\x93\\x49\\x0a\\xb0\\x13\\x86\\x8c\\x6d\\x7a\\x49\\xbc\\xfe\\xbb\\xbb\\xc5\\x9b\\xc4\\x3b\\xd7\\xf9\\x9e\\x81\\x8f\\xbd\\xba\\x20\\x39\\x7a\\xd7\\x9e\\xe4\\xb3\\x40\\xe2\\x6c\\x6d\\x44\\x9f\\xd1\\x06\\xe0\\x06\\x4d\\x89\\x7c\\xa7\\xcd\\x8c\\xc5\\x04\\x1f\\x39\\xab\\x5b\\xa1\\xf0\\x78\\xcd\\xb6\\x36\\xc1\\x89\\xcf\\x9b\\xc5\\xe0\\x72\\x9a\\xf1\\x1f\\x03\\x45\\xa9\\xda\\x04\\x9a\\x4a\\xdd\\xf4\\x92\\xd3\\x47\\x18\\x38\\x48\\x18\\x39\\x35\\x0d\\xf9\\xf6\\x26\\x4d\\xe9\\x49\\x9e\\x9d\\x22\\x8f\\xde\\x17\\x46\\x15\\x51\\x88\\x15\\x07\\x8c\\x52\\x67\\x6f\\xba\\xb8\\x69\\x33\\x77\\xe2\\xe5\\x13\\x50\\xb3\\xfd\\xa9\\x4d\\x25\\x53\\x97\\x43\\xd1\\x1b\\x84\\x3f\\x6b\\xf2\\xb8\\xe4\\x7f\\x42\\xd4\\x47\\x67\\x83\\x7d\\x5a\\x6e\\x13\\xdf\\x3f\\xfd\\x47\\xd1\\x75\\x38\\x70\\x33\\x5c\\x75\\xd4\\x9f\\x77\\x61\\x0c\\x64\\x1a\\xe6\\x39\\xc4\\xef\\xc7\\xe0\\xe7\\x1d\\x2b\\x0e\\x52\\xce\\xc4\\xf2\\x33\\x08\\x2c\\x4b\\x44\\xf4\\xae\\xa8\\x6b\\xd0\\x20\\x10\\x2b\\x2f\\x2f\\x8c\\xf6\\x0e\\xd4\\x44\\x6b\\x06\\x03\\xd0\\x34\\xa8\\x57\\x71\\x71\\x61\\x87\\x50\\x8c\\x5c\\x81\\x40\\x43\\x3c\\x1c\\x3f\\x05\\x9d\\x8f\\x08\\xde\\x30\\xaf\\x77\\x1b\\xd5\\xa7\\xa0\\x23\\xa1\\x11\\x8c\\x46\\x9a\\xb6\\x75\\x0a\\xb4\\x3b\\x1d\\xef\\x95\\xef\\x54\\x64\\xe0\\x91\\x41\\x20\\x30\\x37\\xf8\\x21\\x9b\\xdb\\x8c\\xa1\\x4d\\x95\\x94\\xd7\\xc8\\x55\\x76\\x32\\xa7\\x16\\x2f\\x63\\x92\\x4c\\x50\\x98\\x5c\\x0b\\xc9\\x95\\x77\\x24\\x64\\x10\\x47\\xe4\\x3e\\x51\\x7e\\xad\\x9c\\x79\\x3e\\xef\\xfb\\xe3\\x9b\\x76\\xb4\\x2c\\xad\\x1b\\xb8\\x22\\x1c\\x0b\\xf6\\xda\\x5c\\xd7\\xb4\\xb1\\x79\\xc4\\x92\\xba\\x8e\\x19\\x96\\x41\\x6d\\xaf\\x8c\\xed\\x5a\\xd0\\x72\\x76\\xfc\\x94\\x05\\xae\\x5b\\xd6\\xaa\\x61\\xff\\x43\\x1a\\x6e\\x5a\\xe5\\xce\\xd9\\xda\\xfd\\x4f\\xdf\\x49\\x6b\\xd4\\xca\\xd9\\xd5\\xb7\\x5e\\xae\\x39\\xa0\\xe8\\xfb\\xcb\\xab\\x7f\\xfa\\x7a\\x40\\xc8\\x3f\\xb0\\xf1\\xb4\\xc7\\x97\\x5f\\x14\\x8b\\x4e\\x5b\\x08\\x17\\x2e\\xbe\\x61\\xfd\\xda\\x45\\x37\\xae\\x5a\\xd6\\x70\\x23\\x6a\\x76\\x56\\x5d\\x98\\x5a\\xb1\\x8a\\x5f\\x32\\x7b\\x7b\\x3d\\xda\\x79\\x61\\xaa\\xbd\\xb6\\x2a\\xa6\\x5f\\x32\\x6f\\x5b\\x1d\\x22\\xbc\\x42\\xc0\\x80\\xe5\\xf5\\x0a\\xac\\x1f\\x1a\\x48\\x0e\\x50\\x71\\x69\\x69\\x41\\x5e\\x2f\\x7f\\x95\\xde\\xe9\\x6c\\x68\\x00\\xa0\\x2a\\x0f\\x35\\xf6\\x6f\\xa8\\x66\\x8b\\x0a\\x5a\\x84\\x22\\xd6\\xe9\\xf7\\xd7\\x95\\x87\\xca\\xdb\\x05\\x4f\\xc8\\x8a\\xd7\\x50\\xd3\\x26\\xad\\x1f\\xb6\\x6f\\xbf\\xbf\\x7e\\xc4\\xc6\\x75\\x0b\\x76\\x6d\\x76\\xdf\\x5b\\x69\\x71\\xa4\\xd5\\x4b\\x2d\\xde\\x7f\\x59\\x3b\\x65\\xf7\\xd2\\x65\\x5e\\x2a\\xae\\x38\\x1a\\xfa\\xcb\\xd1\\x3e\\x2b\\x06\\x0f\\x59\\x51\\x77\\x68\\x58\\x2c\\xd0\\x7b\\x63\\xed\\xe6\\x1b\\x9b\\x67\\xd6\\x4c\\x5e\\x60\\xad\\x1f\\x7a\\x74\\xe8\\xd8\\xc9\\x4d\\xf7\\x35\\x8f\\x9e\\x6c\\xec\\x9c\\xcf\\x40\\xc7\\x0c\\xeb\\x65\\xc5\\x57\\x4c\\xd5\\x4c\\x3d\\xdc\\xe5\\x18\\x5f\\xbc\\x16\\xbf\\x40\\x47\\x2f\\x94\\x9c\\x7e\\x3b\\x18\\x0e\\x07\\x6f\\x7c\\xc2\\xeb\\x1d\\x55\\x92\\x37\\x75\\x01\\x1c\\xd3\\xb5\\x70\\xee\\xdc\\xae\\x25\\xb3\\xba\\xf2\\x26\\x50\\x25\\xf6\\x58\\xf2\\xb1\\xc5\\xf1\\x69\\xa3\\x36\\xd4\\x52\\x89\\xe4\\x63\\x1b\\x42\\xd3\\x2e\\xdb\\x50\\x43\\x25\\xc8\\x7a\\x61\\xc9\\x52\\x50\\xd8\\x86\\x46\\xc0\\xa4\\x84\\x95\\xe7\\x38\\xbb\\xd7\\xae\\xa1\\xbd\\xde\\x90\\x26\\x84\\xb1\\xa8\\xd7\\xeb\\x47\\x2e\\x92\\x31\\x9d\\xb0\\x0a\\xf8\\xdc\\x43\\x03\\x49\\x39\\x34\\x1a\\x0d\\x74\\x58\\xce\\xe5\\x36\\x65\\x85\\x66\\xd3\\x3e\\x9b\\xb4\\x46\\x39\\xed\\x87\\x64\\x0d\\x2b\\x25\\x75\\x67\\x95\\x70\\x66\\x75\\xd6\\x26\\xed\\xeb\\x53\\x09\\x94\\xb4\\x25\\xf9\\xb6\\xe6\\xb9\\x71\\xb3\\xee\\x6f\\xbd\\xf7\\xd1\\x39\\xe7\\xe6\\x4d\\x6e\\x2f\\x6c\\xa0\\xbd\\x89\\xce\\x99\\x4b\\x57\\x6d\\xdf\\x32\\x6b\\xb1\\x1a\\x7e\\xae\\x39\\xfe\\xc6\\xdd\\x18\\xc5\\x5c\\x2c\\xcf\\xbf\\x77\\xef\\x96\\xef\\xb6\\x05\\xbe\\xbf\\xa1\\xfc\\xb5\\xc7\\xae\\x5a\\x5b\\x4d\\x0d\\x4d\\xe5\\x55\\xe2\\x39\\xcd\\xc0\\xea\\xee\\x17\\xec\\x4b\\x87\\x41\\x6b\\x22\\xdf\\x6c\\x34\\x3a\\xfd\\x4e\\xad\\x12\\xf8\\xfd\\x01\\x6d\\x20\\x92\\xe7\\x07\\x6e\\xa6\\x5d\\x50\\x62\\x83\\xcb\\xb2\\x78\\xb3\\x79\\x16\\x82\\x60\\x8b\\x00\\x2c\\xb9\\xe9\\x11\\xd2\\x3c\\x32\\x93\\xe8\\x9e\\x05\\xd6\\x63\\x28\\x55\\x00\\x6a\\xaa\\xce\\x0a\\xdf\\x5b\\xba\\xeb\\x60\\xa9\\xf1\\x83\\x11\\xa3\\xd5\\x2a\\x1e\\xde\\xb4\\x63\\xf3\\xc6\\x6f\\xd6\\x8f\\xe8\\x17\\x2e\\xb7\\x7b\\xca\\x13\\xd7\\xb4\\x3e\\xd4\\x70\\x6b\\xf1\\xb5\\x87\\xbf\\xbd\\x83\\x81\\xbb\\x0c\\xc5\\x65\\xa5\\xc6\\xf5\\x47\\xef\\x3f\\x06\\x0b\\xef\\xe7\\x5f\\x5d\\x65\\xd9\\xfd\\xf3\\xb6\\xff\\x53\\xe8\\x43\\xf4\\x2f\\x8f\\xa6\\xec\\xc9\\xc5\\xf7\\x24\\xbd\\xdb\\x17\\x7b\\x1c\\xf3\\x12\\x5c\\xb1\\xdf\\x1f\\x71\\xe0\\x2d\\xd2\\xc7\\xf5\\x15\\xc5\\x9e\\x12\\x0f\\xd9\\x11\\x87\\x50\\x52\\x12\\xca\\x2f\\xca\\xcb\\xcf\\xeb\\x10\\xf2\\x91\\x3f\\x12\\x8a\\x74\\x08\\x21\\x93\\xde\\xcd\\xa5\\x94\\x01\\xc7\\xd1\\xb4\\xe5\\x37\\xca\\x20\\x27\\x27\\xd2\\x9e\\xb9\\x03\\xc8\\x36\\xd4\\x18\\x5c\\x66\\xe9\\x81\\xea\\xb4\\x24\\x9b\\x08\\x42\\xc2\\xd2\\x9d\\x93\\x4f\\x2d\\x5d\\x75\\x2a\\x2e\\xbb\\x47\\x7c\\xeb\\xd4\\xda\\x95\\xf5\\xb3\\xfb\\x0e\\x5e\\x13\\x8a\\x05\\x17\\x6d\\xd8\\xb1\\x7a\\xe0\\xe4\\xca\\x95\\xaf\\x2d\\x12\\xee\\x9a\\x3f\\x7f\\xe3\\x4c\\xec\\x96\\x9e\\x66\\x8e\\x9f\\x3b\\xcc\\x50\\x8d\\xea\\x0f\\xc7\\x3f\\xf2\\xc4\\x9a\\x67\\x66\\xc3\\x31\\x7f\\x15\\x77\\xbf\\x38\\x20\\x18\\x18\\xd4\\x70\\xba\\x6e\\x64\\x69\\xe4\\x3e\\x58\\xfc\\xc8\\xea\\xe7\\xe6\\x54\\x26\\x8f\\x65\\x65\\x5b\\xff\\x6b\\xda\\xba\\xcf\\xa5\\xbb\\xa2\\xa7\\x48\\x2c\\x0d\\xbd\\x0e\\x0a\\x40\\x1c\\x4c\\x49\\x54\\x97\\x47\\x8b\\x83\\x94\\xca\\xaf\\x56\\xa8\\x55\\xc1\\xa8\\xc2\\x5a\\x65\\xad\\xb4\\x9b\\xda\\x84\\x42\\xec\\x7d\\x04\\x8b\\x55\\x54\\x31\\x55\\x68\\xc7\\x7f\\x80\\xd5\\xa2\\x77\\xb7\\x0b\\x7a\\x2b\\xcd\\x81\\x92\\x36\\x81\\x84\\xc1\\x33\\x6d\\xe0\\xe5\\xc6\\xe3\\xf2\\x94\\x8b\\x8a\\x7e\\xdb\\x82\\xb5\\xc2\\x56\\x5d\\x63\\x53\\xaa\\x24\\xcc\\xda\\xbd\\x14\\x64\\x25\\x52\\xe8\\x35\\xcd\\xac\\xc0\\x57\\xd4\\xa4\\x44\\x18\\x3e\\xfa\\xec\\xec\\x42\\xff\\x80\\x70\\xef\\x8a\\xf5\\x1f\\xad\\xed\\x68\\x2a\\x2c\\x30\\xf9\\x0a\\xec\\x0d\\xd5\\xd7\\x34\\x0c\\x18\\x30\\x70\\xc0\\x95\\xcd\\xcc\\xf6\\x7b\\x17\\xad\\x7b\\xaa\\xfe\\xc0\\xb2\\xde\\x77\\x4d\\x5a\\xdd\\x8a\\xce\\xac\\xec\\x37\\xc8\\x33\\x6e\\xf4\\x94\\xf5\\xb7\\x8b\\x17\\x76\\x0e\\xce\\xf7\\x96\\x37\\x7d\\xd1\\xaf\\x7e\\xde\\x93\\xcb\\x7a\\x57\\x2c\\x9b\\x26\\x2c\\xbc\\x55\\xbc\\xbf\\x63\\x6b\\x6b\\x5d\\xac\\x3a\\x75\\x77\\x42\\x7b\\xf0\\xf9\\x2c\\x02\\xc3\\x12\\x79\\x1e\\x64\\xe0\\x42\\xf9\\x6a\\xab\\x35\\x9f\\x43\\x74\\x71\\x4c\\xe1\\x72\\xa9\\x01\\x3e\\xb3\\x3c\\xaf\\xeb\\x10\\x78\\x3a\\x0f\\x00\\x0c\\x79\\x01\\x9f\\x5b\\x60\\x91\\x8e\\x6e\\xe7\\x5e\\x7b\\x4a\\xca\\xa8\\x18\\x56\\xa7\\xfb\\x72\\xf2\\x29\\x6a\\x5e\\x48\\x2b\\x52\\xd1\\x13\\x82\\x42\\xa4\\xef\\xc0\\x77\\x5e\\x7f\\x5f\\x0d\\x87\\xc1\\x96\\x6d\\x0b\\xe7\\x6c\\x98\\xd6\\xaf\\x31\\x76\\xfb\\x83\\x4f\\xbc\\x88\\xb7\\xfc\\x0b\\xf1\\x7d\\xe6\\xaa\\x2d\\x7b\\x1e\\x72\\x96\\xad\\xda\\xf0\\xb9\\x79\\xff\\xde\\x68\\x6c\\xc1\\xc9\\x57\\x77\\x2e\\x59\\x5b\\x79\\x17\\xa4\\x0a\\x8f\\x1e\\x98\\x7e\\x74\\xc7\\x96\\xb9\\x79\\xde\\x79\\xf3\\x6f\\x5a\\xda\\xbf\\xa2\\xb6\\xef\\xba\\xd1\\xbb\\xc7\\x92\\xf9\\x6c\\xc1\\x7b\\xf9\\x2f\\x7c\\x36\\x83\\x60\\x70\\x22\\x0c\\xb4\\x56\\xbb\\xd1\\xeb\\x55\\xd8\\xb5\\x74\\x28\\xac\\x0f\\x06\\x8d\\x8c\\xcb\\x6e\\x77\\xb9\\xcc\\xad\\x82\\x0b\\xd2\\x4c\\xee\\xed\\xcf\\xef\\xcc\\x06\\x6f\\x17\\x97\\x7d\\x63\\x99\\x35\\xa7\\x74\\xaf\\x51\\x5a\\x01\\xfb\\x5f\\xb8\\x6e\\x9d\\xa9\\xee\\xd1\\xf9\\xc7\\x4e\\xaa\\xa0\\x19\\xba\\xd7\\xcc\\x9e\\x36\\x67\\x42\\xdf\\xf2\\xc8\\xf6\\x2b\\x4f\\xbe\\xb4\\x51\\xfc\\x51\\xfc\\x1c\\x0a\\xe2\\xaf\\xe1\\xda\\x40\\xc5\\x43\\xf7\\x87\\xaa\\x67\\x3d\\xfe\\xd7\\x7b\\x56\\x5d\\x55\\x32\\xff\\x35\\xdf\\x13\\x7b\\x77\\x7e\\xf9\\xcc\\x15\\xb2\\x3f\\x17\\xc6\\x7a\\x72\\x1e\\xde\\x87\\x3c\\x2c\\x85\\x53\\x13\\x91\\x7c\\xad\\xc5\\x16\\x65\\x7d\\xca\\x02\\xb5\\x5a\\xc9\\xda\\xb4\\x8a\\x42\\x18\\x89\\x14\\xb1\\x51\\xa5\\x2f\\xea\\xd3\\x3a\\x81\\xcd\\xe6\\x44\\xbc\\x93\\xc7\\x07\\xf1\\xa4\\x10\\x72\\xd2\\xda\\x7c\\xa9\\xe8\\x44\\x6b\\xca\\xe8\\x18\\x90\\x49\\xb5\\x92\\xbe\\xe6\\x74\\xa9\\x49\\xcd\\x2a\\x2a\\x4d\\xc2\\x6a\\x22\\x37\\xf2\\xd5\\xb0\\x46\\x92\\xc2\\xd4\\x46\\x79\\x29\\x9b\\x6c\\x62\\x10\\x29\\x52\\xb9\\x60\\xcf\\xaf\\x9d\\x7f\\x63\\xe7\\xc8\\x43\\x93\\x98\\x5f\\xef\\x67\\x36\\x43\\xe7\\x81\\x91\\x25\\xfd\\x2a\\xe3\\x65\\x63\\x1b\\xca\\xa6\\x2d\\x1d\\xb3\\xb8\\xad\\xb7\\x77\\x5c\\xfb\\x5d\\xd3\\xc7\\x4f\\x2c\\x4f\\x4e\\x12\\x47\\x50\\xb7\\xd0\\xae\\xfb\\xdd\\x2f\\x5c\\xfb\\x27\\x71\\xc0\\xdb\\x25\\x25\\xc7\\xe0\\xd5\\x7f\\xf9\\x7c\\xed\\x40\\xf7\\xfd\\xd0\\xe6\\xac\\x18\\x7b\\xc5\\x90\\x95\\xf3\\xa7\\x3b\\xc5\\xaf\\xc4\\x53\\xc9\\x3b\\xa4\\x39\\x97\\x60\\x4c\\xbb\\x0c\\xfb\\x81\\x21\\x3c\\xeb\\x89\\x89\\x32\\xb3\\x35\\xa2\\x0d\\x1b\\x3c\\xaa\\x3c\\xec\\x02\\x18\\xb4\\x56\\x8c\\x7c\\x82\\xc1\\x7c\\x43\\x58\\xe5\\x09\\x7b\\xb4\\x0e\\x60\\xb5\\x3a\\x90\\xc9\\x61\\x6a\\x15\\xfc\\x0e\\x4e\\x1b\\x69\\x15\\xb4\\x96\\xff\\xed\\x6c\\x95\\x2c\\x94\\x67\\xcb\\xa3\\xd4\\x64\\xa5\\x1d\\xf4\\x41\\x49\\x09\\xa9\\x20\\x0a\\xd0\\x21\\xde\\x5f\\x55\\x33\\xb9\\x7c\\xfb\\xc6\\xc1\\xca\\xe4\\x58\\xe5\\x9a\\x17\\x66\\xda\\xab\\x4b\\x0a\\xf2\\xfa\\x94\\x86\\x1b\\xc7\\x2e\\xbd\\xbe\\xb0\\xf8\\x86\\x05\\x47\\xc6\\xd6\\x85\\x93\\xb7\\xbe\\x03\\x13\\xd4\\x97\\xf3\\x6d\\x7d\\x06\\xbe\\x26\\xde\\x71\\x7b\\x20\\x70\\x07\\x34\\x41\\xef\\x80\\x3a\\xdb\\xfc\\x97\\xf8\\x05\\x0b\\x16\\x3f\\xb1\\x8b\\x7f\\x49\\xdc\\x2e\\xbe\\x2b\\xef\\xeb\\xc4\\x8b\\xe7\\x15\\x2f\\x2a\\x9e\\xc2\\xfb\\x5b\\x09\\xc6\\x25\\xb8\\x0a\\x03\\x53\\x5c\\x6c\\x31\\x58\\x82\\x55\\xc1\\xea\\x80\\xd7\\x2b\\x15\\xe6\\xb0\\x82\\xd7\\xc9\\x44\\xb4\\x58\\xbf\\x6a\\xb5\\x26\\xa7\\x53\\x41\\xf4\\xab\\x5a\\x70\\x7e\\x64\\x2a\\xed\\x10\\x4c\\x7c\\x8f\\x20\\x6c\\x3a\\xb3\\xbc\\xa7\\x56\\x4d\\x51\\x7b\\x90\\x6d\\xa3\\x89\\xff\\x1e\\xf2\\x03\\x23\\x36\\x21\\x61\\x59\\xa9\\x48\\x1c\\xc1\\x0a\\xfc\\x73\\x83\\xec\\xd0\\xe3\\x9f\\xe5\\xd1\\x8f\\x26\\x84\\xd6\\xcb\\xea\\x6e\\xfa\\x69\\xe0\\x15\\xe2\\x8a\\xef\\xa1\\xe9\\x41\\xf1\\xd4\\x9b\\xe2\\xf7\\xe2\\xb9\\xd5\\x7f\\x83\\xf9\\x5b\\x06\\x8d\\x1a\\xd9\\xb7\\x63\\xbd\\x27\\x16\\x5e\\x2c\\xea\\x57\\xfd\\xba\\xc0\\xab\\x57\\x3c\\x75\\xf2\\x67\\xa8\\x7c\\x90\\x7e\\x88\\xb7\\xf2\\xe7\\x1e\\x69\\x6b\\x3d\\x7f\\xee\\x94\\xf8\\xcd\\x4e\\x0c\\xef\\xd1\\xbd\\xb0\\xec\\xcb\\xab\\x59\\x76\\x44\\xed\\x2b\\x89\\xff\\x8c\\x6b\\x5d\\x30\\x7c\\x48\\xe4\\xad\\xf7\\x48\\xd5\\xe2\\x91\\x3f\\x90\\xf3\\x48\\xee\\x8d\\x2b\\x68\\x1f\\x28\\x06\\xc3\\x13\\xf9\\x61\\xbb\\xd7\\x5b\\x60\\x47\\x05\\x48\\x1f\\xd3\\x97\\xe4\\x05\\x5a\\x85\\xbc\\x3c\\xa0\\x52\\x73\\x6d\\x02\\xf6\\xf9\\xf0\\xa1\\xd4\\xa9\\x58\\x72\\xa7\\x98\\x95\\x4a\\x08\\xe2\\x99\\x89\\x67\\xcd\\xd7\\x94\\x49\\x20\\x0c\\xc7\\x7d\\x50\\x9e\\x1c\\xd6\\xa3\\xdd\\x64\\x09\\xf2\\x11\\x95\\xb0\\xb4\\xac\\x62\\xde\\x7c\\xe2\\x83\\x6d\\x90\\xda\\xd7\\xd1\\xd5\\x34\\xc7\\x13\\x0b\\xb6\\x8c\\xaa\\x1d\\x32\\xa4\\xd7\\xdc\\x7b\\xa6\\x2e\\x5f\\x7c\\xcd\\x9d\\x4b\\xe6\\x8c\\xec\\x6f\\x98\\x7e\\xfd\\xad\\x0f\\xac\\xfa\\xb3\\xf9\\xd5\\x53\\xb7\\x43\\xd5\\xad\\x4a\\xe5\\xa0\\xda\\xd3\\xc5\\x26\\xe3\\xb5\\xff\\xd9\\xb2\\xfe\\xfa\\xbb\\xaf\\x9b\\x36\\x93\\xaf\\x2e\\xbe\\xe3\\xda\\x19\\xc7\\xa6\\x12\\xbb\\xf9\\x0b\\xb6\\xfd\\x5b\\xa4\\xbc\\xf8\\x31\\x89\\xe2\\x88\\x56\\xeb\\xe5\\x38\\xa7\\x0a\\x80\\x02\\xb3\\xd3\\x99\\x1f\\xf6\\x05\\x7c\\x1d\\x02\\xb2\\xa9\\x4d\\x1e\\xec\\xbb\\x46\\x6c\\x1e\\x8f\\x21\\x80\\xb4\\x52\\x85\\x81\\x21\\xdb\\x91\\xad\\x8d\\xe7\\xee\\x63\\x3c\\xeb\\xba\\x59\\xa6\\x5d\\x94\\xfc\\xef\\xa2\\x74\\xc1\\x07\\xe9\\x1c\\x65\\x53\\x49\\x99\\x23\\xd8\\x17\\x4f\\x15\\x06\\xa0\\x2d\\xcb\\x96\\xda\\x06\\xd7\\x1d\\xec\\x77\\xe7\\x61\\x26\\xf9\\x15\\x73\\xfc\\xce\\xba\\xb3\\x4d\\xfe\\x61\\x23\\xd6\\xad\\xb8\\xc1\\x87\\x2d\\xa1\\x83\\x79\\xd0\\xb7\\xf9\\x0c\\x7a\\x34\\xb1\\xb8\\x21\\x56\\xdc\\x54\\xd4\\x71\\xa1\\x93\\x18\\x3e\\xb4\\x7f\\x59\\x4b\\x7d\\x34\\x3e\\xbb\\x71\\xd8\\xb0\\x13\\xc4\\x04\\x9e\\x00\\xe9\\x5a\\x10\\xea\\x07\\xec\\xd3\\xb1\\xa0\\x6f\\xc2\\xab\\x87\\x90\\xa1\\x95\\x34\\x65\\x30\\x18\\x29\\x4e\\x4d\\x7a\\xf6\\x60\\x4f\\x57\\xaf\\x62\\x29\\xba\\x3b\\xf9\\x38\\x1d\\x3e\\x85\\xd9\\x37\\x9d\\x04\\xa5\\x4a\\xe5\\x29\\x35\\x01\\xe9\\x9a\\x2f\\xa0\\x82\\x7f\\xda\\x25\\x3e\\xca\\x1c\\xba\\x41\\xfc\\x17\\x0b\\x35\\xa3\\x61\\x11\\xb3\\xa9\\x09\\x6a\\x58\\x34\\xf6\\xc2\\xdd\\x31\\x7c\\x96\\x47\\xc1\\x4f\\x63\\x0e\\x71\\xfa\\x28\\xd9\\xbf\\x1d\\x40\\xe2\\xfa\\x58\\x17\\x54\\x82\\xb9\\x89\\x5a\\x85\\xcd\\x86\\x1f\\xc9\\xcc\\x94\\x04\\x7d\\xe5\\xe5\\x2e\\x97\\x27\\xdf\\x13\\x64\\x28\\x83\\xb2\\xaa\\xda\\x67\\x2f\\xaf\\x50\\xd8\\xca\\x6d\\x45\\xc6\\xfc\\x7c\\x39\\x1e\\x68\\x75\\xb1\\xf8\\x49\\x8d\\x9a\\x76\\xc1\\xc8\\x41\\x4b\\x2a\\x41\\x87\\x64\\xa2\\x64\\xeb\\xf3\\xf8\\xef\\x84\\x01\\x09\\xe0\\x22\\x51\\xbe\\x7a\\x58\\xfd\\x3f\\x45\\xf9\\xe2\\xe9\\xeb\\x7f\\x12\\x1a\\x84\\xb5\\x24\\xb2\\x67\\x65\\x7f\\x3f\\xb2\\x57\\x63\\xbb\\x4a\\x48\\x87\\x01\\x49\\x38\\x6f\\xcd\\xd8\\xde\\xbf\\x13\\xce\\xbb\\x7a\\x6f\\x3a\\xee\\x27\\xe9\\x8b\\x98\\x38\\x10\\xbd\\x89\\xd7\\x21\\x08\\xca\\x48\\x5c\\xaf\\x90\\x05\\x21\\x95\\xca\\x01\\x50\\x79\\x85\\xd9\\xb7\\x4c\\x30\\x6b\\x5d\\x6e\\x43\\x4c\\x1b\\xc3\\xea\\xcf\\x4a\\xe7\\x61\\x57\\x82\\x03\\xf5\\xd9\\x31\\xfe\\xee\\x00\\x19\\x29\\xfa\\xe2\\x52\\x37\\x31\\x72\\xe5\\x7d\\x48\\x4e\\xaf\\x45\\x12\\xaf\\x57\\x29\\x2c\\xa1\\x60\\x65\\xf7\\x89\\xe9\\x07\\x63\\xd7\\x42\\x78\\xec\\xc8\\xd9\\x4d\\x3f\\xef\\x9a\\xb3\\xc5\\xa2\\x62\\xe7\\xdc\\x39\\xe6\\x6a\\xa1\\x04\\x55\\x68\\xa6\\x4c\\x59\\x7a\\xfd\\x8e\\x46\\xea\\xa7\\x99\\xd3\\xc7\\x1f\\x9c\\x34\\xab\\x73\\xdc\\x5d\\x93\\xaf\\x87\\x0c\\x5c\\xf2\\xf4\\xfb\\x0f\\x1e\\x14\\xff\\x71\\xfb\\xdc\\xce\\x65\\xf5\\xf3\\x27\\x9a\\x34\\xa6\\x70\\xbf\\xea\\x98\\xd5\\xa5\\xd6\\xe8\\x67\\xbe\\x4a\\xdd\\x7c\\xfd\\xd6\\x9b\\x93\\x37\\x5f\\xb7\\x65\\xbb\\x28\\xef\\x6d\\xaa\\x56\\x1f\\x38\\x09\\x67\\x80\\x01\\xa8\\x2c\\x00\\xb9\\xdc\\x66\\xbb\\xdd\\xd8\\x26\\xd8\\xad\\xb4\\x86\\x70\\x06\\x70\\x97\\xe2\\x0c\\xe0\\xe5\\xd0\\x9e\\x4d\\x95\\x75\\xb2\\x53\\x96\\xb8\\xef\\xd5\\xdf\\x6c\\x9b\\x78\\x6f\\x4d\\xc9\\xf2\\x2d\\xb9\\x84\\x01\\x70\\xc9\\x01\\xc8\\xdf\\x31\\x66\\x58\\xe1\\xb4\\x5c\\xbe\\x80\\x8b\\x11\\xb1\\x99\\x52\\x49\\xf5\\x5a\\xc3\\x73\\xeb\\xb7\\xe8\\xdd\\x39\\xcf\\xe8\\x05\\xf5\\x89\\x80\\x49\\x0f\\x1c\\x06\\x80\\x7c\\x2a\\x95\\x5f\\xcf\\x61\\xe9\\xd7\\xd3\\x76\\xb7\\xdb\\xd2\\x26\\xb8\\x2f\\xf1\\xb4\\xa6\\x8c\\x76\\x4a\\x35\\xfb\\xcb\\x7e\\x6a\\xa5\\x2a\\xa0\\x0a\\x28\\x7f\\xe7\\xc9\\x17\\xdf\\x1b\\x85\\xbd\\x0c\\xe2\\x0b\\xca\\x4b\\x3e\\xff\\x03\\x07\\x5b\\xe3\\xb1\\xcc\\x0c\\x72\\xb8\\x17\\xa4\\x67\\x04\\x1a\\x1b\\xf2\\x79\\x11\\xc7\\xf9\\x21\\x68\\x15\\x20\\x34\\xeb\\xcd\\x2e\\xbc\\x9e\\x66\\xab\\x5a\\xaf\\x57\\xb6\\x09\\x7a\\x2e\\xe3\\x3b\\x65\\xab\\xd0\\x78\\x2a\\xd4\\x50\\x13\\xa8\\xc9\\x66\\x60\\xb0\\x64\\xb3\\x33\\x54\\xd7\\x40\\xc1\\x00\\x6b\\x14\\x59\\x8f\\xd5\\xcd\\xcf\\xb0\\xec\\x68\\x04\\x3e\\xd6\\x3a\\x3c\\xfd\\x60\\x7f\\xcc\\xf0\\x33\\x3c\\x76\\x34\\x53\\x67\\x76\\xa5\\x54\\x47\\xb4\\x5f\\x7a\\xbf\\x40\\x6c\\x46\\xcf\\x28\\x36\\xe3\\xf7\\x4f\\x4b\\x73\\x58\\x88\\xd7\\x9d\\xc4\\x54\\x3d\\xa0\\x32\\xe1\\xe4\\x91\\xc3\\x85\\x5c\\x5e\\x9d\\x5a\\xed\\x53\\xb1\\xd8\\xfc\\xa9\\x68\\x27\\x00\\xd6\\x6c\\x8c\\x19\\x2f\\xca\\x4d\\x21\\x52\\xf8\\x41\\xcf\\x10\\x6a\\xba\\x6c\\x01\\x3b\\xbb\\xd4\\x4b\\xe2\\x97\\xe2\\x53\\xaf\\xc1\\xd5\\x3f\\xbf\\xf5\\x59\\xac\\xa1\\xfe\\xfe\\xc9\\xa7\\xc4\\x4f\\x6f\\xff\\xd3\\x2b\\x93\\x9f\\x1a\\xd1\\xaf\\xa1\\xcf\\x4f\\x66\\x18\\x4c\\xfe\\x04\\x57\\xbf\\x2e\\x47\\x4e\\x9f\\x11\\x0f\\x7c\\xfe\\xfe\\x67\\xa5\\x45\\xf7\\x8b\\x1f\\xc6\\xe5\\x7a\\x52\\x52\\xeb\\x08\\xec\\x60\\x72\\xa2\\x0c\\x3f\\x10\\xa3\\xb7\\x23\\xc4\\xd8\\x0d\\x46\\xc6\\xc8\\xb2\\x4e\\xa5\\xc3\\x6e\\x30\\x68\\x21\\x5e\\x59\\xad\\x51\\xad\\x55\\x77\\x08\\x94\\x16\\xd9\\x4c\\x88\\x51\\x32\\x1d\\x82\\x45\\x99\\x53\\x7b\\x99\\xf2\\x7d\\x52\\x1a\\x46\\xd2\\x90\\xe9\\x50\\x9c\\x29\\xd3\\xc4\\x0e\\x76\\x7b\\x39\\x18\\x62\\x65\\x2a\\xfb\\x50\\xaf\\x90\\xf8\\xe0\\x93\\xc7\\x35\\x62\\x2f\\xa9\\x62\\x14\\xb6\\xc0\\x66\\xaa\\x1f\\x1c\\x4f\\x7c\\x52\\x4d\\xf2\\x13\\xcd\\xa9\\x27\\xa9\\xde\\xd4\\xe0\\x5f\\xcf\\xa5\\x7d\\x98\\xe4\\x93\\x54\\xff\\x4c\\xad\\x5f\\xb9\\xac\\xcb\\xa7\\x88\\xc3\\xe9\\xbf\\xa3\\xa3\\x78\\x7d\\x85\\x44\\x8c\\xb5\\x3a\\xac\\x46\\x87\\x41\\xab\\xa5\\x38\\xa3\\xd1\\xa7\\xa2\\x28\\x2f\\x6b\\xb7\\x5a\\x4c\\x2d\\x82\\xc5\\x62\\x75\\x38\\x38\\xbd\\x5e\\xdb\\x22\\xe8\\x59\\xa0\\x6a\\x13\\x10\\xb9\\x1d\\xab\\x48\\xcb\\x74\\x56\\x34\\xa2\\x87\\x79\\x92\\x6c\\x2f\\x22\\xf7\\x25\\x92\\xa4\\x90\\x6e\\x8e\\x01\\x1e\\x4a\\x79\\x9d\\x3c\\x0c\\x69\\x21\\x65\\x80\\xbd\\xca\\xaa\\x43\\xc5\\x9c\\x51\\x5f\\x3e\\x65\\xf0\\xa1\\x4d\\x0c\\xec\\x35\\x0d\\x1e\\x7f\\x6a\\xfb\\x7c\\x46\\xfc\\xfb\\xf5\\x62\\x74\\xc8\\x82\\x1d\\x43\\x5b\\x3a\\xc4\\xe1\\x81\\x6b\\x8b\\x8d\\x9f\\xc3\\x08\\x75\\xd8\\x11\\x4b\\x3a\\xa8\\xbf\\x5f\\xd8\\x6d\\x8f\\x21\\xd7\\x85\\x37\\x50\\x69\\x72\\x93\\xf8\\xe2\\x8b\\x63\\xb1\\x4f\\xb6\\x28\\x95\\xbf\\x67\\xc5\\x9a\\xb0\\x39\\x91\\xef\\x47\\x2a\\x95\\x8e\\x71\\xf2\\x3c\\xcd\\x20\\x4d\\x58\\x13\\xe2\\x3c\\x6d\\xd8\\x03\\x55\\x6a\\xb4\\x9a\\x56\\x01\\x69\\xb5\\x80\\x71\\x01\\x5b\\x37\\x72\\x20\\x41\\xc8\\xac\\xcb\\xdd\\x74\\x36\\x92\\x74\\x3c\\x15\\xc1\\x28\\x39\\x94\\xd8\\xf5\\x0c\\xd5\\xc4\\x2f\\x95\\xc9\\xe7\\x85\\x24\\x95\\x2f\\x08\\xcb\\x58\\xf1\\x75\\xff\\x21\\xff\\x15\\xec\\x15\\x57\\xf6\\x48\\xea\\x2b\\x9b\\x6e\\x2e\\x7c\\x7a\\xd4\\xc3\\x0f\\x8f\\xa2\\x3e\\xfc\\x6d\\x62\\x9f\\xd9\\x2d\\xc9\\xb9\\x13\\xcb\\x79\\x9e\\x24\\xe7\\xbd\\x13\\x1e\\x05\\x65\\x32\\xeb\\x9c\\x4e\\x33\\x85\\xbc\\x3e\\xb3\\xd9\\x66\\xc3\\xb2\\x6e\\xa3\\x01\\x96\\x1d\\x84\\x88\\xa8\\x67\\xdd\\xd3\\x96\\xe6\\xb8\\x1e\\xf8\\x59\\xf9\\xb8\\x85\\xac\\x74\\x58\\x7e\\x3a\\xa5\\x8c\\xd0\\xfd\\x80\\x40\\x3c\\xf8\\xfa\\xbb\\x9f\\x48\\x52\\xfe\\x38\\x0c\\xdd\\xfb\\xe9\\xf3\\xb2\\x94\\xff\\xfb\\x0d\\x68\\x87\\x0d\\xaf\\x8b\\x6b\\xcd\\x71\\x18\\xc1\\x62\\x7e\\x06\\xce\\x7d\\xf3\\xe5\\xef\\xb1\\x98\\xc3\\x48\\x5c\\xfc\\xf4\\x5f\\xbf\\x88\\xeb\\x5e\\x97\\xf4\\x5f\\xea\\x1c\\x9a\\xf2\\xd0\\xbd\\x32\\x07\\x0a\\x9c\\x98\\x7c\\x03\\xf0\\x09\\x2d\\x5c\\x10\\x80\\x65\\x01\\x08\\x02\\x30\\x20\\x51\\x9f\\xa4\\xf2\\x3e\\x52\\xf3\\xc1\\x9f\\xbf\\x3f\\xc5\\xb7\\xb2\\xfd\\xbf\\x7d\\x5e\\xae\\x5f\\x57\\xfe\\xc5\\x94\\x47\\xea\\xd7\\x8d\\x2a\\xd0\\x1f\\x24\\xe1\\x08\\xc0\\x3c\\x04\\x03\\xd2\\x35\\x6e\\xd6\\x67\\x9e\\xcd\\x7c\\x66\\x36\\xdc\\x01\\xb7\\x02\\xc7\\xc3\\x14\\xf4\\x91\\x12\\xb1\\x53\\x30\\x70\\xa2\\xc4\\xed\\x40\\x59\\x55\\x62\\x10\\xdc\\x24\\x36\\x2b\\x76\\xe3\\x73\\x5a\\x01\\x36\\x27\\x22\\x7a\\x83\\x81\\x31\\x71\\x9c\\x94\\xd2\\xa9\\x66\\x62\\x65\\x65\\x7e\\x8f\\x27\\xc2\\xa0\\x78\\x65\\xa8\\xa8\\x13\\x63\\xcb\\x90\\xcb\\x8e\\xc5\\x9a\\xc0\\xe9\\x88\\x00\\x5c\\x9c\\x8b\\x72\\xb9\\x58\\x7c\\x58\\x0d\\x0b\\x0c\\x94\\x1a\\x19\\x0c\\xac\\x4d\\xcd\\xaa\\x3b\\x05\\x16\\xc9\\xe7\\x58\\x69\\xca\\x29\\xe9\\x94\\xd3\\x9c\\x88\\xc0\\x97\\x4e\\xcc\\x0a\\x42\\xc1\\xec\\xca\\xe3\\x78\\x56\\xbe\\x40\\x26\\x72\\x11\\x4a\\xd7\\x1f\\xd7\\x48\\xe4\\x02\\x58\\xc2\\xfc\\x46\\xb3\\x2a\\x73\\xcd\\x48\\x76\\xb3\\x46\\x2a\\xe7\\x41\\x3f\\x6f\\xbb\\x6e\\xe9\\x5e\\x75\\xf2\\x1f\\xea\\x07\\xcf\\xc5\\xdf\\xeb\\xa8\\xef\\x5f\\x43\\x2f\\xa9\\x19\\xa0\\xf6\\x9e\\x5e\\x53\\x3e\\x6c\\xd4\\x43\\x8d\\x70\\xb2\\x6e\\x82\\xff\\x95\\xbb\\xb6\\x0f\\x2b\\x6a\\x54\\x1a\\x1a\\x0b\\x6f\\x0c\\xcc\\xd3\\x2d\\x42\\xb4\\x2b\\x39\\x43\\x3a\\xee\\xbb\\xcc\\x6f\\xc0\\x3e\\xe2\\x99\\x37\\x54\\x5a\\x51\\x70\\x85\\xc4\\x37\\xfb\\xf4\\x4f\\x5e\\x78\\xfc\\x8c\\xf7\\xc7\\x1b\\x6c\\xce\\x3f\\x52\\xf3\\xfa\\x55\\x8f\\x9d\\x2d\\xef\\xc3\\xf3\\x78\\x8d\\x0f\\xa9\\x74\\x78\\xdf\\x06\\xbd\\x47\\xd6\\x78\\x19\\x9c\\x04\\xd7\\x00\\xcb\\x09\\x68\\x54\\xe4\\xe1\\x15\\x56\\x9d\\x30\\x9a\\xa1\\x4a\\x4a\\xef\\x29\\x92\\xd6\\x77\\xd1\\xc5\\x6f\\x25\\xfd\\x1c\\xc4\\x38\\xac\\xde\\xeb\\xf3\\xa9\\x4d\\x36\\x1b\\x42\\x7c\\x48\\xab\\x56\\x87\\x4d\\x96\\x4e\\x41\\x67\\xaa\\x33\\x35\\x9b\\x90\\x16\\x99\\x4c\\x2a\\x40\\x94\\xf6\\x7c\\x2d\\x04\\x5a\\xa8\\xc6\\x87\\x50\\x45\\x03\\x67\\x87\\x90\\xf0\\xb6\\x7a\\x3b\\xbd\\x08\\xfb\\x36\\x92\\x64\\x4f\\x94\\x33\\xe5\\x48\\x8a\\x5c\\x76\\x65\\x50\\x8f\\x92\\xcf\\x4b\\x28\\x76\\x90\\x65\\x3a\\x25\\xe5\\x4e\\x53\\x8f\\x8b\\xdf\\x8a\\x2f\\x9d\\x83\\x6b\\x7e\\x22\\xda\\xbd\\xdf\\xf1\\xce\\x4f\\xc4\\xc7\\xab\\xa9\\x52\\x36\\xf9\\x86\\xfa\\x8d\\xd3\\x8b\\xfe\\x34\\xa0\\xa9\\xa1\\xef\\x62\\xf1\\xdf\\x3c\\xf4\\x8b\\x3f\\xc3\\xd5\\xaf\\xca\\x5a\\x5e\\xfc\\xf8\\xc2\\xb8\\x81\\x43\\xde\\xfb\\x74\\x40\\xd5\\x8b\\xe2\\x99\\xc2\\x52\\x59\\x96\\xed\\xd8\\x8e\\x7e\\x2c\\x61\\x81\\x6a\\xf0\\x1b\\x6e\\x81\\x4c\\xbd\\xe3\\x91\\x9c\\x7a\\xc7\\x25\\xff\\x43\\xbd\\xa3\\x0f\\xff\\xce\\xbf\\x48\\xbf\\x23\\x26\\xc5\\x94\\x5e\\xba\\x78\\x5e\\xb2\\x27\\x01\\xec\\xcf\\xdf\\x98\\xe8\\xab\\xd7\\xe9\\x3c\\x2e\\xb7\\x2f\\x10\\x08\\x82\\x50\\x48\\xab\\x89\\xd2\\xb4\\xc6\\x8d\\xf8\\x22\\x50\\xe4\\x2f\\x6a\\x2d\\xc2\\xab\\xc9\\x17\\x06\\xdc\\x5e\\x37\\xb6\\x7c\\xc1\\x4e\\x01\\x6f\\x43\\x08\\x01\\xe0\\x0d\\x79\\x75\\x9d\\x82\\x17\\x19\\xed\\xa7\\xa0\\x13\\x3b\\x89\\x66\\xb3\\x91\\x67\\x42\\x9d\\x02\\xa3\\xc1\\xff\\x11\\x59\\x4d\\xa5\\xd9\\xe6\\x70\\x36\\x14\\xa5\\x7c\\x8a\\xec\\x24\\xcc\\x74\\x3d\\x79\\x0a\\xa4\\x4b\\x0a\\x8f\\x96\\xc2\\xa5\\x01\\xa4\\x81\\xdd\\x0d\\x6b\\x4d\\x92\\x36\\x67\\xa1\\x56\\xae\\x8d\\x0b\\xd0\\x4f\\x1f\\x38\\xfb\\x31\\x76\\xd7\\xff\\x9a\\x4c\\x6a\\x8e\\x9d\\x13\\xa7\\xb6\\x77\\xdd\\x7e\\x77\\xd7\\x84\\xb8\\x2f\\xe6\\xb5\\x55\\x8c\\x7f\\x62\\x61\\xdb\\x11\\x35\\xad\\xd1\\xdc\\x71\\xf9\\xb4\\x39\\xef\\x3f\\x20\\x7e\\x4a\\x7d\\xf5\\xc0\\xbe\\xd7\\x5e\\xae\\x2a\\xa1\\xd7\\x8b\\x2f\\x8a\\xeb\\xc5\\x2b\\x1e\\x2b\\xfd\\x40\\x88\\xc0\\x9d\\xf0\\x0f\\xb0\\x0a\\x7b\\x1a\\xae\\xe4\\xc1\\xe4\\xcb\\xdb\\x8f\\xfd\\x28\\xe7\\x66\\x13\\xee\\x8a\\x5f\\xf1\\xda\\xf8\\xf1\\xb9\\xbf\\x35\\xd1\\xaa\\x66\\x18\\x95\\x56\\xaf\\x37\\x40\\x8a\\x52\\xf1\\x16\\x4b\\xc0\\x1a\\x0c\\xfa\\x8d\\x1c\\xc7\\x02\\x7f\\x9e\\xd3\\xe9\\x57\\x21\\x45\\x21\\x28\\x2c\\x2b\\xa4\\xf4\\x48\\x51\\x10\\xc0\\x3e\\x4a\\xa7\\x60\\x65\\x59\\x8d\\x3f\\xe8\\xc5\\x4b\\xe5\\x35\\x59\\x38\\x3d\\xa3\\xc1\\xa7\\xd7\\xa4\\x41\\x18\\xdf\\xa9\\x3a\\x04\\x85\\x29\\x0b\\x3b\\xa4\\x4a\\xeb\\x53\\x30\\x2d\\x7e\\x89\\xc5\\x49\\x09\\x60\\xcf\\xaf\\xe4\\xe6\\x2a\\x27\\x12\\x19\\x48\\x7d\\xed\\x5e\\x3d\\xf2\\x9a\\x2c\\x13\\xfa\\x28\\xf9\\xf5\\x34\\x6c\\x9f\\xbf\\xcc\\xb0\\x3c\\x4c\\xa4\\xac\\x1d\\x7b\\x34\\xf0\\x3f\\x9a\\x3b\\xc6\\x67\\xad\\x20\\x8c\\xa6\\x56\\xea\\x9a\\xe4\\xcb\\x59\\x51\\xc8\\xef\\x29\\x03\\x79\\x97\\xbc\\x20\\xaf\\x1f\\x55\\x9c\\x5e\\x28\\x08\\xae\\x01\\x40\\xf1\\x22\\x5e\\xa7\\x42\\xb0\\x35\\xe1\\xd2\\x69\\x34\\x51\\x13\\x76\\x7b\\x28\\x15\\xc3\\x20\\xca\\xeb\\x70\\x04\\xac\\x94\\xb5\\xa8\\xd8\\x14\\x36\\x87\\x89\\x86\\x2b\\x13\\x80\\x99\\x33\\xfb\\xcd\\x48\\x8d\\xcc\\x66\\xb5\\xc3\\xeb\\xf6\\x76\\x08\\x6e\\x93\\x0e\\x30\\x0b\\x18\\xac\\xec\\x18\\x46\\x6d\\xc4\\x3f\\xe9\\x14\\xd4\\x28\\x5f\\xe2\\x1e\\x00\\x97\\x54\\x76\\x99\\x95\\xca\\xea\\xb8\\x5e\\x9b\\x4d\\x81\\x9d\\x52\\x79\\xe5\\x65\\xf1\\xdf\\x2a\\xba\\x6a\\x59\\xcf\\x65\\x32\\x89\\xe4\\x02\\x2a\\x9b\\xea\\x6f\\x9a\\x07\\xce\\xc5\\xdf\\xed\\x48\\xf4\\xef\\x45\\x2f\\xe9\\x35\\x40\\x13\\x78\\xb7\\xab\\x7c\\xe8\\xcb\\x2b\\xa0\\xa0\\x6f\\xd8\\xa1\\x11\\x39\\xcd\\xed\\x09\\xfd\\xfc\\x95\\x8d\\xb7\\x14\\x2d\\x7b\\x48\\xd3\\x43\\xad\\xf5\\x13\\x5f\\x28\\x1f\\x2d\\x6e\\x27\\xab\\x04\\xe7\\x8d\\x0e\\xcd\\x9e\\x6e\\x52\\x13\\xe5\\xd7\\xcd\\x17\\x74\\x3f\\xb1\\x2f\\xe8\\x65\\x20\\xeb\\x35\\x11\\xdb\\x17\\xac\\xd7\\x9c\\x92\\x5e\\x33\\x9d\\x70\\x7a\\xf4\\x20\\xad\\xd7\\xf0\\xe7\\xbf\\xc2\\x32\\x17\\x91\\x3e\\xff\\xa2\\x6c\\x8f\\xe0\\xb2\\x9e\\xf6\\x08\\x9c\\xbc\\x78\\x5e\\x59\\xad\\xbc\\x88\\x3f\\xf3\\x36\\xf9\\x8c\\x9a\\x82\\xbf\\xe0\\xcf\\x10\\x1b\\x97\\x87\\x7f\\xe9\\xb2\\xfc\\x20\\xaf\\xce\\x68\\x4a\\x82\\xb5\\xbe\\x16\\x3b\\x95\\x11\\xe9\\x4e\\x76\\x61\\xc2\\xab\\xc4\\x6b\\xac\\x96\\x58\\x1f\\x2c\\x56\\x8d\\xd1\\xc8\\xe9\\xb4\\x5a\\x03\\xc7\\x59\\x29\\x04\\x1c\\xc0\\x6e\\x3d\\x05\\x8d\\x09\\x07\\xa7\\x95\\x69\\x20\\xf4\\x0a\\x64\\x94\\x76\\xc1\\x0c\\x00\\x36\\x40\\xe9\\xbd\\xe8\\x21\\xb5\\xdd\\x3e\\x45\\x4f\\xaf\\x35\\x97\\x14\\x22\\xd0\\x4d\\x0e\\x81\\x42\\xbc\\x95\\x10\\x43\\xa8\\x29\\x87\\xfa\\x81\\xd7\\xa8\\xe5\\xaf\\xe1\\x57\\x76\\xf5\\x03\\xf8\\x1b\\xc9\\xd3\\x37\\x35\\xa0\\x0c\\x3b\\xc4\\x1c\\x7a\\x47\\x9a\\x25\\x42\\xec\\x84\\xfb\\x41\\x4f\\x1e\\x1e\\x7c\\x46\\x89\\x6d\\xbe\\x49\\xba\\xaf\\xf7\\x80\\xa5\\x89\\x84\\xd5\\x02\\x6c\\x36\\x0d\\x9e\\x93\\x86\\x33\\x18\\x5c\\xb4\\x86\\x66\\x7c\\x8c\\x17\\x58\\x33\\xca\\x4a\\x6f\\xd3\\x63\\xe3\\x00\\x38\\x8e\\xc3\\xd2\\xc6\\x11\\x64\\x89\\xa7\\x89\\x18\\x1b\\x51\\x57\\x1d\\xdd\\xea\\x2a\\x93\\x3e\\xdc\\xc3\\x16\\x74\\xa7\\x12\\xa7\\xa5\\x2c\\x57\\x51\\x49\\x64\\x3d\\x51\\x22\\x66\\x69\\xe5\\x04\\xdf\\x7f\\x2b\\x75\\xb4\\x5e\\xc6\\xe7\\x6e\\x8f\\x06\\xfd\\xa1\\xb0\\xc1\\x52\\xb0\\xb7\\xed\\xcc\\xac\\x69\\x7b\\xb3\\xf4\\x91\\x4c\\xe2\\xf3\\xf2\\xcb\\x8c\\x2e\\x79\\xb7\\x7c\\xb0\\x7a\\x72\\x0c\\xe1\\xb9\\xa7\\x38\\x86\\x4c\\x4a\\x34\\x48\\x9a\\x7b\\xa7\\xd8\\xa9\\x58\\x22\\xf5\\x29\\xb5\\x81\\x49\\x89\\xb0\\x42\\x63\\xa0\\xf4\\x16\\xb3\\x19\\xf0\\x3c\\x07\\x4d\\x26\\xbd\\x06\\x31\\x0e\\xc6\\x6e\\xd2\\xb3\\xfa\\x0e\\x81\\xa5\\x08\\x80\\xb0\\x32\\x64\\x7f\\x75\\xbc\\x46\\x89\\x27\\xab\\x54\\x74\\xca\\x58\\x22\\xb5\\x9f\\xf5\\x45\\x99\\x78\\x9d\\xad\\x36\\x93\\x6a\\x96\\xbe\\x97\\xe7\\x03\\x1a\\x88\\x37\\x2f\\xc4\\xd7\\x54\\x9b\\xd2\\x1b\\x89\\x42\\x08\\x15\\xbf\\x22\\x6e\\xad\\xf9\\x7e\\xcf\\xaa\\x7b\\x1a\\x1a\\xf7\\x3d\\xf0\\x73\\xe5\\x11\\x35\\xfa\\x11\\x6f\\xe4\\xf1\\x69\\x0d\\xf6\\x71\\xf4\\xf5\\xe2\\xd9\\xe4\\xce\\xbf\\x8f\\xc3\\x5b\\xf7\\x67\\xf3\\xaf\\xd4\\xe5\\xb0\\x97\\xbc\\x99\\x66\\x31\\x2c\\xef\\x65\\x0e\\x77\\x10\\xe1\\xec\\xc5\\xbe\\xcd\\x5e\\x29\\x66\\x75\\x73\\xa2\\x25\\x60\\xe6\\x83\\x41\\x83\\x1e\\x44\\xfd\\x51\\x88\\x94\\x2e\\xa5\\x42\\xc7\\xa8\\x5c\\x6e\\x8b\\xd3\\xe9\\x56\\x29\\x68\\x64\\xb7\\x17\\xa0\\x7c\\x3f\\x74\\x61\\xa0\\x09\\x8d\\x48\\x89\\xbd\\xca\\x00\\x3e\\x37\\x5c\\xd0\\xad\\x88\\x46\\xa2\\x1d\\x82\\x8f\\x8a\\x98\\x9c\\x16\\x5e\\xa7\\x32\\x70\\x06\\x8c\\x61\\xd5\\x1c\\x02\\x19\\x42\\x87\\x78\\x0e\\xb9\\x83\\x94\\x15\\xdf\\xed\\x02\\x65\\x33\\xe9\\xa4\\xd7\\x21\\xbd\\xcf\\x51\\x88\\x35\\x86\\x5a\\xb6\\x3d\\x59\\x44\\x3a\\x81\\x1e\\x14\\x3b\\x68\\xec\\x3a\\xd1\\x27\\xbe\\xa5\\x59\\x4d\\x15\\x8b\\x1f\\x5d\\xad\\x81\\x82\\x66\\x2c\\xdc\\x31\\x7f\\xbd\\x06\\x9e\\xd4\\x6c\\x9c\\x4f\\x5d\\xde\\xaa\\x81\\x9d\\x9a\\x1b\\xc5\\x81\\x30\\xba\\x54\\x23\\xfe\\x5d\\xfc\\xf5\\x89\\x11\\x58\\xbd\\xd4\\x68\\x36\\x52\\xda\\x5b\\x93\\x13\\xab\\x5c\\xd4\\x5f\\xe1\\x13\\x92\\xbe\\xbd\\x8e\\x5a\\x29\\x7d\\xbd\\x89\\x5a\\x44\\xbe\\x8a\\x8d\\x49\\xbf\\xab\\x8a\\xba\\x6f\\xbf\\x38\\x30\\x45\\x86\\x01\\xb1\\x4c\\x9c\\x47\\x2f\\x29\\x86\\x61\\xcb\\xdd\\x95\\xe8\\xa3\\x8d\\x9a\\x03\\x81\\x68\\x98\\x75\\x29\\xa8\\x22\\xaa\\x30\\xcc\\xb1\\x1c\\x06\\x3d\\xa5\\x1c\\xe4\\x38\\x2f\\x20\\xa0\\x72\\x81\\x6b\\xbd\\x4b\\xaa\\x33\\xf5\\x7a\\xb1\\xe7\\xea\\x95\\x60\\x3d\\xa1\\xa2\\x42\\x59\\xf8\\x27\\x23\\xf6\\x29\\x34\\x99\\xca\\xa4\\xcd\\x64\\xdf\\x48\\x38\\xdf\\x96\\xae\\x49\\x2f\\xc5\\x12\\x9f\\x4a\\x3b\\xeb\\xbe\\x39\\x51\\xaa\\xa4\\x32\\x76\\xd8\\x76\\xec\\x60\\xa4\\x51\\x13\\xd8\\xdc\\xfb\\xee\\xe3\\xeb\\x17\\x6d\\x36\\x6c\\xdb\\x71\\xeb\\xe9\\xaa\\xf5\\xf9\\xfd\\x1a\\x63\\x77\\x6d\\x7d\\xf4\\x8d\\x27\\x4f\\xdc\\xb8\\x53\\xfc\\xab\\xb9\\x08\\x3a\\x9f\\xb0\\xfa\\x8f\\xee\\x5b\\x7c\\x9d\\x8a\\x69\\x57\\xab\\xef\\xb9\\xf5\\xb4\\xcf\\x7a\\x17\\xa4\\x0a\\x6e\\xdf\\x72\\xcb\\x43\\x4e\\xe3\\x81\\xb5\\x2f\\x7e\\x20\\xeb\\x2f\\x49\\x27\\x62\\xb9\\x70\\x81\\xd9\\x89\\x6a\\xac\\xbf\\x1c\\x0e\\x49\\x7f\\x59\\x65\\xed\\xc5\\x51\\x1c\\x30\\x18\\x3c\\xc0\\xad\\xb1\\xa9\\xed\\x34\\x95\\xa5\\xbc\\xb0\\x53\\x99\\x52\\x5f\\xa6\\x2c\\x02\\x9b\\xd4\\xd6\\xa7\\x19\\x61\\x72\\x6a\\xbe\\x2f\\xa9\\xb8\\xe4\\x50\\x66\\xda\\xf7\\x85\\x2a\\x9b\\xca\\x96\\x31\\xa1\\x47\\x10\\xaf\\xc5\\xaf\\xec\\xb2\\xeb\\xfb\\xa5\\xe6\\xf8\\xbd\\x17\\xce\\xeb\\xef\\xd6\\xa4\\x35\\xd8\\x85\\x61\\x68\\x65\\x5d\\x37\\xd1\\x0d\\x7a\\xe9\\xc2\\x2a\\xbc\\x7d\\xdd\\x7a\\xfe\\x62\\x5a\\xcf\\x63\\x1d\\xfe\\x72\\x4a\\x87\\x87\\xb1\\x0e\\x3f\\x99\\xe7\\x07\\x86\\x1c\\x1d\\xde\\xcd\\x23\\xb5\\x22\\xd1\\x97\\xf0\\x48\\x29\\x08\\xf4\\x90\\xb9\\xa4\\x34\\xbc\\xc4\\x26\\xd5\\x4d\\x26\\x85\\x37\\xfc\\x7f\\xcd\\x22\\x65\\xcc\\xb9\\xfd\\x4b\\xc1\\xde\\x4c\\x3c\\xe3\\xff\\x09\\x97\\x14\\xc6\\xa2\\x8a\\xb3\\x78\\x8e\\x6e\\x30\\x31\\x51\\xe0\\xb0\\xdb\\x75\\x1a\\x2d\\xde\\x63\\x1b\\x87\\xb7\\xd8\\x60\\xf0\\x52\\x1e\\xa3\\xd5\\x8c\\x45\\xd7\\x6c\\xe2\\xb4\\x92\\xda\\xb6\\x77\\x62\\xd5\\x0d\\x54\\x18\\x75\\x9e\\xc8\\x75\\x50\\xb3\\x00\\x43\\x4e\\xe4\\x37\\x0d\\x2d\\x6d\\x3d\\x91\\x64\\x86\\xb0\\x08\\xc3\\x4c\\x21\\x17\\x39\\x72\\xb2\\x59\\xfa\\x52\\xfd\\xc0\\x39\\x71\\x1e\\x41\\x96\\xe6\\x1c\\xc0\\x98\\x61\\x30\\x4a\\xa1\\xc9\\x4b\\xf2\\x51\\xe5\\x70\\xa0\\xf5\\xe4\\x64\\x92\\xf5\\x3a\\xe1\\x64\\xc2\\x7a\\x7d\\xe4\\x6f\\x39\\x90\\xf0\\xe7\\x53\\xbe\\x0e\\x7e\\x9f\\xf7\\x5b\\xbe\\x21\\xac\\x07\\x24\\x3c\\x80\\xd7\\xcd\\x03\\x56\\x27\\xe2\\x88\\xa6\\x81\\xc7\\xad\\x53\\xa8\\x94\\x4a\\xad\\x56\\xe1\\xe1\\x69\\xaf\\x5a\\xed\\x53\\xe8\\xae\\xd6\\xc1\\xe5\\x3a\\x38\\x4a\\x07\\xfb\\xeb\\x60\\xa5\\x0e\\x52\\x3a\\x93\\x0e\\x5b\\x40\\xb7\\xce\\x01\\x39\\x07\\xc1\\xed\\x1c\\xc6\\xed\\x1c\\xaf\\x55\\xd2\\x1e\\xe8\\xc1\\x86\\x10\\xa2\\xec\\x58\\x91\\x9c\\xd5\\x20\\xd5\\x0f\\x91\\xff\\x19\\xe3\\x39\\x77\\xc5\\x69\\x1b\\xc1\\xcb\\xaa\\x50\\xd6\\x8f\\x06\\x29\\x8b\\x37\\xe5\\x47\\x56\\xd7\\xc0\\x57\\xd4\\x94\\x4e\\x7d\\x37\\x74\\xc2\\x4f\\x37\\xa9\\xe1\\x8d\\xea\\xab\\x93\\x4f\\xdf\\x76\\xcb\\x96\\x91\\xe5\\x82\\x23\\x10\\xf3\\xeb\\xe3\\xee\\xa6\\x3d\\x93\\xc5\\x3d\\x0a\\x86\\x08\\x44\\x2f\\xea\\xac\\x74\\x74\\x4e\\xff\\x79\\xef\\x10\\xa7\\xf1\\xfb\\xc9\\x36\\xe7\\xba\\x4d\\x68\\x3e\\xa9\\x43\\x5f\\x8e\\xd7\\x69\\x40\\x86\\x47\\xe9\\xc1\\x44\\x83\\xc4\\xa3\\x54\\xd0\\x4d\\xa4\\x54\\x94\\xc3\\xa4\\x44\\x68\\x94\\x16\\x94\\x62\\xa7\\xe5\\xff\\x21\\x89\\x52\\x36\\x87\\x52\\x37\\x12\\xfd\\xff\\xc7\\xa2\\xf4\\x33\\x61\\x51\\x1a\\x70\\xcd\\x69\\xc2\\xa2\\x34\\xfc\\xda\\x1d\\xd3\\x65\\x16\\xa5\\x7d\\x84\\x45\\xc9\\xae\\x79\\xc0\\x32\\x5e\\x66\\x51\\xba\\xc5\\x2e\\x13\\x6b\\xfd\\xdf\\xb2\\x28\\xfd\\x96\\x43\\xe9\\xe2\\x57\\x18\\x1f\\x86\\x25\\x0c\\x75\\x79\\xa2\\x8a\\x78\\x38\\x06\\x15\\xf1\\x75\\xb0\\x82\\xb1\\x50\\x10\\xb2\\x24\\xb1\\xd0\\xa2\\xe0\\x79\\x9b\\xc2\\x9a\\xe5\\xc5\\x00\\xd9\\x8b\\x31\\x74\\x62\\x4f\\x06\\x61\\x58\\x91\\x4e\\x2e\\xcc\\x28\\xd8\\x1c\\xed\\x7a\\x09\\x05\\x1b\\x21\\xf8\\xe1\\x37\\x8e\\x0b\\x7d\\x1b\\xc6\\x0e\\xc1\\x5f\\xbb\\x2e\\x01\\x0f\\x5b\\x25\\xe0\\xd0\\x13\\x1c\\x62\\xf9\\xff\\x04\\xcf\\xe7\\x53\\xc9\\x4f\\x5b\\x9b\\xc0\\x1b\\xeb\\xf3\\x62\\xab\\xe6\\xb4\\xd3\\x0e\\x87\\x97\\x35\\x1a\\xb1\\x47\\x6b\\x56\\x7b\\xd5\\xee\\x80\\x3b\\x68\\xb7\\x5a\\x95\\xc4\\x07\\xf1\\x09\\xac\\xd5\\x67\\xc5\\xe2\\x6f\\xb5\\x1a\\x90\\xd7\\x61\\x94\\x38\\xa0\\x5c\\x06\\xe4\\xeb\\x99\\xcd\\x93\\xc5\\x00\\x95\\xf6\\x34\\x7e\\x9b\\x35\\x96\\xe5\\x8b\\x49\\x18\\x50\\xd9\\x9d\\xe1\\x44\\x78\\x9e\\x24\\x62\\xf6\\x4c\\x5a\\xcf\\x8f\\x24\\xad\\xa7\\xed\\xd4\\x1d\\x27\\x1e\\x35\\xf6\\xdb\\xa1\\xa1\\x68\\xcd\\xf1\\x7a\\xc3\\xb7\\xab\\x0f\\x2d\\x4a\\xdb\\x90\\x2a\\x17\\x7c\\x49\\x38\\xb8\\x27\\x21\\xc0\\x31\\x92\\xd5\\xdf\\x37\\xa2\\xcf\\xcb\\x55\\xd4\\xfa\\x4c\\x4e\\x0f\\xb1\\x1b\\xcc\\x09\\xc9\\x16\\x6e\\x49\\x8c\\x30\\x9b\\x78\\xde\\x61\\xc7\\xf0\\xdd\\x68\\x94\\x30\\x6f\\x37\\xb6\\xa7\\x34\\x76\\x64\\x05\\x56\\x0f\\xeb\\x81\\xc0\\xc3\\x79\\xfc\\x9e\\x56\\x0f\\xad\\x45\\xc0\\x6d\\xe7\\xd3\\xf6\\xd1\\x42\\xd0\\xbd\\x9a\\xe0\\x7a\\x47\\x8e\\xa7\\x95\\xcb\\x7e\\x15\\x4f\\xf9\\xa1\\x0b\\x73\\xcd\\x43\\xee\\x1f\\x39\\x60\\xf9\\x5b\\xa4\\xdf\\x8d\\xf8\\x6d\\x59\\xdb\\x19\\x4a\\x6d\\xe7\\x6b\\x54\\x38\\x8d\\xfb\\xbb\\x0d\\x66\\x06\\xf2\\x67\\x41\\xff\\xb4\\x8c\\x4a\\xf3\\xf6\\x80\\xbb\\x13\\x13\\xba\\x65\\x14\\x5b\\x3e\\xab\\x95\\x25\\xa6\\xd0\\x61\\xb3\\xdb\\x3d\\x58\\x5c\\x01\\xf0\\x78\\x58\\xec\\x8c\\xbb\\x5c\\x3e\\xe0\\x83\\x5d\\xa5\\xbe\\x16\\x1f\\x05\\xb0\\x54\\x94\\xf9\\x12\\xbe\\xad\\x3e\\x85\\x1a\\x29\\xbc\\x1e\\x7b\\x5a\\x8e\\x9d\\x58\\x90\\xad\\x06\\x22\\xc4\\x29\\x71\\xce\\x88\\xf2\\xef\\xaf\\x84\\x4c\\x14\\x93\\xbd\\x16\\x97\\x5c\\x94\\xdf\\x13\\xf0\\xf4\\x57\\x55\\x21\\x11\\xf4\\x9f\\xdf\\xfd\\xaf\\x2b\\x73\\x69\\x91\\xcf\\x88\\x3e\\xa0\\xa4\\xbc\\xb5\\x3a\\xbc\\x2e\\x66\\x6c\\x35\\x2f\\x4f\\xd4\\x99\\xcc\\x66\\x0b\\xb0\\x5a\\xb5\\x1a\\x27\\x4d\\x6b\\x38\\xe4\\xf1\\x02\\x4b\\xc6\\xf7\\x31\\x5a\\x8d\\x66\\xbc\\xcf\\xdc\\x02\\xd9\\xf7\\x31\\x1a\\xb5\\x9d\\x82\\x11\\x31\\xd6\\xff\\x1b\\xdf\\x27\\x73\\x5d\\x77\\xa9\\xf0\\x4c\\x88\\x96\\x1c\\xec\\xee\\x88\\x0c\\xf5\\x4c\\x96\\xd3\\x73\\x2e\\x2e\\x7e\\x37\\x0c\\x7b\\xd5\\xe8\\x4a\\xcd\\x87\\x3d\\x9d\\x9e\\x5b\\x69\\x0e\\xfb\\xd1\\xdd\\x61\\x17\\x74\\xf1\\x1b\\x6c\\x3b\\xc7\\x4a\\x3c\\xaa\\x84\\xab\\x71\\x77\\xa2\\x1d\\x6b\\x78\\x7c\\xa4\\xc3\\x58\\xbb\\x87\\x35\\x56\\xa4\\x50\\x18\\x95\\x26\\x13\\x87\\x77\\x19\\xfb\\xac\\x61\\x14\\x34\\x04\\xf3\\x0c\\x11\\xf9\\x3e\\x3b\\x80\\xd2\\xd1\\x04\\xa5\\xb1\\x93\\x70\\xff\\x84\\x90\\x52\\x49\\x99\\x0c\\xa6\\x4e\\xc1\\xc0\\xe1\\xff\\x4c\\x0a\\xbc\\x5c\\x1d\\x02\\xd5\\xad\\xcc\\xb3\\x26\\x98\\xb9\\x9b\\xcc\\x42\\x0d\\x59\\x68\\xa8\\xa7\\xb8\\xcb\\xad\\x3f\\x2e\\x19\\x66\\x81\\x59\\xd8\\x08\\x2e\\xdd\\xa3\\xa1\\x6c\\x9a\\xc7\\xc7\\x67\\x2d\\x07\\x8c\\xca\\x6b\\x80\\x26\\xc9\\x80\\xf1\\x0d\\xf9\\xe8\\xd3\\xdf\\x5e\\x22\\xba\\x92\\x3c\\xdd\\x0d\\x94\\xb0\\xbf\\x87\\xd7\\x86\\x1e\\x9d\\x5a\\x9b\\xce\\x44\\xdc\\xaa\\xc9\\x5e\\x0e\\x0d\\xe7\\x34\\x18\\x1c\\xff\\x3f\\xa6\\x9e\\x93\\xa1\\x61\\xec\\xb6\\x55\\xbf\\x3b\\xc1\\xff\\x32\\xa9\\x4b\\xce\\x42\\xc2\\x28\\x25\\x18\\xf3\\xe8\\x15\\xcd\\xc0\\x87\\x9f\\xbc\\xda\\x66\\x51\\x31\\x5e\\x48\\x61\\x54\\xe7\\x63\\x2c\\xb4\\x3f\\x00\\xbd\\x9d\\x02\\x84\\x5a\\x97\\xc9\\xd5\\x21\\xb4\\x5a\\x3b\\xad\\x94\\xd5\\x6a\\xe2\\xe7\\x33\\x10\\x30\\x90\\xc4\\x84\\xb4\\x5a\\xba\\x43\\xd0\\xd2\\x59\\xcc\\x23\\x13\\xeb\\xe3\\xa5\\x13\\xb3\\xc8\\x65\\x6c\\xdd\\x46\\x86\\x44\\xc4\\x6a\\xb8\\x40\\x30\\x7d\\x03\\x61\\xe4\\x28\\x89\\x54\\x2b\\xe5\\xb8\\x00\\x3e\\x40\\x69\\xa9\\x4a\\x4a\\x5c\\xf8\\xe4\\x9d\\x7d\\x1b\\x7b\\xff\\xf4\\x24\\xf4\\xc2\\xb2\\x17\\xc4\\x1b\\xff\\xb3\\xf8\\x85\\x85\\x15\\x0d\\x54\\xf1\\x91\\x95\\xff\\x84\\x65\\x91\\xe4\\x73\\xd4\\xc7\\x43\\xe0\\xdb\\xe3\\xa4\\xdb\\x88\\xcf\\xc4\\x0b\\x17\\x81\\xb8\\xf1\\x05\\x4f\\x10\\xf6\\x39\\x5b\\x50\\x07\\x2b\\xa0\\x53\\x8e\\x0f\\x7e\\x75\\xf1\\x3c\\x63\\xc2\\x73\\xf2\\x83\\x12\\xb0\\x34\\xd1\\x8f\\x35\\x18\\xf4\\x46\\x9e\\x37\\xab\\x18\\x46\\x9f\\x6f\\x51\\xd2\\x01\\x8f\\x87\\xd6\\x23\\x6d\\x99\\xb6\\xd4\\x11\\xee\\x10\\x1c\\xb4\\x59\\xd5\\x49\\x40\\x96\\x9e\\x97\\x9c\\x52\\x0e\\x31\\x7a\\x2d\\xf6\\xcc\\xb5\\x26\\x50\\x94\\xba\\x49\\xcc\\x15\\x42\\xe9\\xc2\\x16\\xf4\\xb8\\x1a\\x8a\\xe7\\x06\\xff\\x14\\x41\\x92\\x6d\\x51\\xd3\\x23\\x04\\x58\\x4d\\xe2\\xd3\\x52\\x55\\x18\\x9d\\x5b\\x1d\\xa3\\xa8\\x3a\\xf0\\xd3\\x95\\x8c\\xb8\\x7f\\xaa\\x84\\x68\\xd3\\x8a\\x67\\x22\\x9c\\x94\\x7f\\x06\\xe6\\x3f\\x78\\xe0\\xc7\\xab\\x9e\\x12\\x1f\\x86\\x0d\\x4f\\xee\\xdf\\xfa\\xe5\\x96\\x87\\x0f\\x6c\\xfd\\x66\\xbb\\xf9\\x9a\\x1f\\xf6\\xf6\\x4f\\xe4\\x86\\x01\\x1f\\x87\\x8e\\xdd\\xf8\\xdb\\xdf\\x89\\x8b\\xcf\\xa1\\xa1\\x6f\\xff\\xf3\\x79\\x71\\xc7\\x99\\x37\\x7e\\x78\\x16\\xce\\xc7\\xeb\\x81\\xd1\\xaf\\x62\\xbf\\x84\\x23\\xbc\\x60\\x4d\\x62\\xa0\\x82\\x76\\x32\\x58\\x1f\\x79\\xb1\\x86\\x36\\x70\\x2c\\x5e\\x1d\\x86\\x46\\x94\\x4e\\xe7\\xa7\\x7c\\x0a\\x60\\xf1\\x62\\xbd\\xc4\\x7a\\x7d\\xde\\x7a\\x6f\\x8b\\x97\\xb6\\x20\\xaf\\x57\\x47\\xeb\\xb0\\x26\\xd2\\xe1\\x95\\xd1\\x21\\x33\\x4b\\x53\\x78\\xcb\\x4d\\x90\\x32\\x65\\xfc\\xf6\\x1e\\x42\\x0b\\x2e\\xe5\\xb4\\x64\\xd6\\x45\\x4d\\x5c\\x75\\x89\\xc3\\x24\\x5c\\x00\\xd3\\xf8\\xde\\x95\\x62\\xb7\\xea\\x03\\xa9\\xdb\\x44\\x41\\x7c\\x41\\xb3\\x15\\xde\\x38\\x6d\\x11\\xf4\\x43\\x1f\\x35\\x06\\x9f\\xc3\\x3d\\x9a\\xe4\\x3b\\x9a\\x73\\xe3\\x96\\x9e\\x79\\xef\\xb1\\x9d\\x37\\x9f\\xa5\\x9a\\x93\\x27\\xb0\\x37\\x6e\\x2d\\x38\\xb9\\xe2\\x85\\xc7\\xd2\\x30\\x1f\\x5e\\xa0\\x76\\xdd\\x72\\xeb\\xb5\\x9b\\x64\\x0e\\x40\\xf4\\x10\\x7a\\x0e\\x63\\xa8\\x01\\x52\\x3e\\xc4\\xb8\\x8b\\xe7\\xe9\\xbe\\x8a\\xc7\\x80\\x1e\\xcb\\xc2\\xc0\\x44\\x04\\x18\\x54\\xf9\\xf9\\x01\\x03\\x2a\\xb5\\x5a\\xcb\\x40\\x19\\x46\\x7a\\xc5\\xa8\\x55\\x28\\xb6\\x1a\\x5d\\xd6\\x48\\x40\\x13\\xd1\\xb4\\x0a\\x11\\xce\\x0a\\x53\\x76\\x46\\x02\\x94\\xf5\\x45\\x69\\x0a\\xb2\\xac\\xb2\\x9c\\xac\\x1a\\x21\\x15\\x07\\x22\\xfd\\xa8\\x9a\\xb8\\x01\\xa9\\x0c\\xb4\\x2a\\x9e\\x7d\\x1b\\x0e\\xd1\\xb4\\xb1\\x63\\x6e\\x1f\\x37\\x75\\xe2\\x98\\x3d\\x63\\xee\\x81\\x95\\xd0\\x73\\x74\\xf2\\x00\\xb6\\xc2\\xd8\\x6f\\xc6\\x2d\\xb3\\xda\\x16\\xb6\\x54\\x17\\x44\\x55\\x15\\xa7\\xe7\\x1e\\x7c\\xfa\\xea\\x7f\\xdc\\xbc\\xef\\x09\\x38\\xea\\xba\\x2d\\x3b\\x7e\\xde\\xb1\\x69\\xcb\\x2d\\xbf\\xf4\\x81\\xb7\\xc1\\x7f\\x06\\x79\\xb3\\xcf\\x31\\x62\\x5c\\xb9\\x4d\\xa7\\xf6\\x57\\x36\\x2f\\xb9\\x67\\xdc\\xe2\\xf7\\x1e\\x22\\xf9\\x12\\x3f\\x10\\xbc\\x5d\\x7f\\xf1\\x3c\\x1a\\x8d\\x5e\\xc0\\xc8\\xc0\\x83\\x3d\\x8f\\x6b\\x13\\x5e\\x27\\xa7\\xf7\\xba\\x79\\x5e\\x69\\x07\\x01\\xbd\\x1e\\x28\\x51\\x34\\x9f\\xcd\\x3f\\x97\\xff\\x71\\xfe\\x3f\\xf2\\x69\\x6c\\x51\\x08\\x17\\x4d\\x9c\\xcf\\x6f\\xe2\\x9c\\x58\\x0f\\xbb\\x5b\\x84\\x52\\xbc\\xb9\\x14\\xd9\\xe3\\x16\\x6f\\x87\\x77\\xbe\\x77\\x9f\\xf7\\x98\\xf7\\x1f\\x5e\\x46\\x87\\xf7\\x5a\\x63\\xd1\\x90\\xaa\\x57\\x0e\\x59\\x5a\\x05\\x64\\xed\\xc9\\xe7\\xbc\\x50\\xf6\\x36\\x8a\\xb2\\xf1\\xb4\\xb4\\xbd\\x32\\x33\\x81\\xb9\\x3b\\xed\\x38\\x15\\x6f\\x50\\x70\\x72\\x9e\\xa6\\x52\\xa5\\xac\\x49\\xb7\\x6c\\x40\\x79\\x5f\\x3c\\xb6\\xef\\x9e\\x2b\\xbf\\xda\\x72\\xe5\\xed\\xbb\\xb7\\x2d\\xbf\\x3a\\xf9\\xd2\\xf1\\x69\\x4b\\x3f\\xeb\\x33\\x4d\\xc5\\xbe\\xf5\\xf6\\x80\\x9a\\x19\\xf7\\x42\\xd3\\x95\\x87\\x4e\\xde\\xf3\\x47\\xe8\\xdf\\xb7\\x60\\xc2\\xb8\\x8d\\x85\\xfc\\x12\\xa7\\xf8\\xcf\\x59\\x63\\x8f\\xb9\\x35\\xca\\xd0\\x14\\xe3\\x35\\x33\\x7a\\x35\\x7d\\x84\\x75\\x56\\xc1\\xc5\\xf3\\xd4\\xf7\\xe8\\x69\\x10\\x02\\xb3\\x12\\x09\\xa5\\xc9\\x01\\x80\\x1e\\x59\\x7d\\x26\\x65\\x38\\xc2\\x46\\x7c\\x91\\xd2\\x08\\xd2\\x3a\\xac\\x50\\x63\\x85\\x3a\\x2b\\x0a\\xb0\\xc0\\xcb\\x79\\xfd\\x5e\\x84\\x01\\xa5\\x37\\x40\\x58\\xd9\\x02\\x9c\\x2e\\xa1\\x63\\x9b\\x74\\x3a\\x96\\x55\\xb7\\x61\\xc0\\x99\\x49\\x3f\\xce\\x89\\xb2\\xd4\\x62\\x5d\\x06\\xbb\\xa7\\x29\\x67\\x55\\x75\\xe7\\x90\\xa4\\x5b\\xec\\xa4\\xa7\\x25\\xa7\\x8a\\x51\\xdf\\x6f\\x3a\\xb8\\x6d\\xdc\\xd8\\xc1\\x43\\xef\\xaa\\xf4\\xee\\xfb\\xf3\\xfa\\x5b\\x7a\\xaf\\xdd\\xba\\x74\\xdc\\xc8\\x01\\x2b\\x57\\x05\\x6f\\x78\\x7e\\xfd\\x66\\xea\\xfc\\xf4\\x6b\\xaa\\xcb\\x85\\xb6\\xd6\\xe1\\xd5\\x79\\x85\\xb7\\x5d\\xb7\\x60\\xc0\\xc4\\x61\\x65\\xf9\\x93\\x5a\\x07\\xd4\\x8f\\x2a\\xde\\x3a\\x3b\\xcd\\x91\\x82\\x9e\\x97\\xfa\\xec\\x44\\x41\\x5d\\xc2\\xef\\xb5\\x46\\x38\\x0e\\x69\\xac\\x74\\x7e\\x01\\xf6\\xa2\\xf9\\x00\\x21\\x47\\xd1\\x29\\x5b\\x05\\x1d\\x04\\x84\\x4b\\x87\\xed\\x41\\xe4\\x98\\xcd\\xb5\\x5d\\x61\\xb5\\xe5\\x49\\xf9\\x7c\\xd2\\x73\\x99\\x2c\\x1c\\x48\\xed\\x8d\\xad\\x3b\\x61\\x87\\xd0\\x16\\x8e\\x68\\x58\\xe0\\xb2\\x3f\\x7b\\xbb\\xad\\xce\\xc9\\xd5\\x8d\\xda\\xfb\\xfd\\x95\\x58\\xa7\\x1e\\x7a\\x71\\xe3\\x0f\\x37\\x8c\\x3f\\x30\\x61\\xde\\x64\\x61\\xff\\xa4\\x59\\xe8\\x68\\x55\\xfe\\x79\\x70\\x91\\x51\\x34\\x9b\\x8f\\x88\\x67\\x5f\\x17\\x77\\x89\\xcb\\x3f\\x78\\xf8\\x76\\x48\\x6f\\x6b\\xdf\\xf8\\xdd\\xa6\\xeb\\x6f\\xbe\\xee\\x9b\\x1b\\x6e\\xda\\x26\\xf9\\xbe\\x44\\x26\\x3b\\x24\\x4e\\xa0\\x26\\xc9\\xae\\xe0\\x3d\\x52\\xb5\\xa3\\xe7\\x41\\x03\\xf8\\x38\\xb1\\x12\\x54\\xc4\\x54\\x0a\\x45\\x5d\\x81\\x56\\x53\\x58\\x58\\xac\\x66\\x8a\\xf2\\x75\\x79\\x79\\xae\\x80\\xd1\\xe8\\x2a\\xaa\\xab\\x50\\x34\\xf6\\x67\\xfb\\xfb\\xfa\\x53\\x7a\\x54\\xd6\\xab\\x55\\x60\\xe3\\x50\\x87\\xe2\\xf1\\x32\\x6b\\x41\\x31\\x53\\xdc\\x22\\x68\\x3f\\x66\\xfe\\xc1\\x50\\x2c\\xe3\\x63\\x5a\\x98\\x0e\\x66\\x3e\\xb3\\x8f\\x39\\x86\\xbf\\x81\\x65\\x15\\x03\\xea\\x22\\x8b\\x9f\\x6c\\xa4\\xdf\\x1f\\x0e\\x7b\\xdb\\x84\\xb0\\x95\\x25\\x17\\xf8\\x26\\xa8\\x33\\x99\\x58\\x4e\\xcd\\x82\\x06\\xe8\\x40\\x0d\\xc4\\x8f\\xc4\\x3b\\xdd\\xd4\\xd0\\x80\\x50\\x7d\\x9b\\x80\\xb8\\xcc\\x6e\\x13\\x9a\\x2c\\x6c\\xac\\xb2\\x20\\x06\\x96\\x00\\x99\\x8e\\x6f\\x61\\x1a\\x61\\x4a\\x1a\\x2d\\x57\\xda\\xe3\\x99\\xc0\\x63\\x06\\x71\\xf0\\xa9\\x1b\\x5a\\x42\\x51\\x11\\x4f\\x57\\x0e\\x48\\x39\\xd9\\x94\\x25\\xc3\\x56\\x84\\x1d\\xcc\\x1a\\x52\\xb5\\x15\\xca\\xbe\\xc6\\xad\\x96\\x2f\\xe5\\x55\\x3b\\x87\\xef\\x1f\\x0c\\x29\\xe5\\xdd\\x83\\x0e\\x0c\\x3e\\x59\\x72\\xfe\\xa6\\x8d\\x1d\\x81\\x1a\\xbb\\xb1\\x3e\\x6f\\xd8\\xc6\\xe1\\x63\\x06\\x5c\\xbe\\xd4\\x3b\\xe0\\xf0\\x50\\x51\\x54\\x9d\\x18\\x7a\\xe7\\xb0\\x23\\x25\\xe7\\xb7\\xa4\\x7f\\x3a\\xf4\\xba\\x96\\xf6\\x21\\x97\\x2f\\x45\\xe1\\xb6\\x36\\xf1\\x70\\xbf\\x0a\\x78\\x5c\\x6c\\x7d\\xed\\x42\\xfc\\xb9\\x05\\x0e\\xff\\xad\\xe2\\xaf\\xbb\\x97\\x2f\\x9f\\x56\\x38\\x6c\\x0c\\x1c\\x17\\xef\\x2b\\x0e\\x85\\x0f\\xa7\\x7e\\xb0\\x0b\\xa2\\xdb\\x17\\xac\\x9d\\x26\\xe1\\xf6\\x2f\\xf0\\x19\\xfa\\x0a\\x9d\\x01\\xf9\\x60\\x45\\x62\\x88\\x01\\x59\\x23\\x11\\x04\\x8c\\x5e\\x05\\x53\\xc8\\x16\\x42\\x2d\\x62\\x0a\\xf2\\x79\\x8e\\xe7\\xb0\\xac\\xf1\\x6e\\xbe\\x99\\x9f\\xc0\\xcf\\xe1\\x15\\x3a\\x9e\\x0f\\x2a\\x59\\x49\\x5d\\x20\\x2b\\x3e\\x4d\\xc1\\xa0\\xa3\\x55\\x08\\x72\\x4a\\x6d\\x9b\\xa0\\x4e\\xe8\\xf8\\x26\\xb5\\x5a\\x69\\x95\\x6a\\x19\\x7f\\x13\\xb1\\x9c\\x94\\x09\\x59\\x76\\xe4\\x1c\\x29\\xa9\\x56\\x90\\x2c\\x87\\x9c\\x72\\x59\\x04\\x6b\\x32\\x4d\\xff\\x48\\x72\\x6d\\x26\\x97\\x8e\\x32\\x34\\x8f\\x79\\xf7\\x85\\x7b\\xae\\xf5\\xad\\xba\\x79\\xc9\\xf2\\x07\\x57\\xb0\\x2b\\x67\\x2d\\xbb\\xac\\x3d\\x6f\\x62\\xa8\\xb6\\x26\\xaf\\xf7\\x92\\xa1\\x87\\xef\\x59\\x34\\x13\\x7e\\x62\\x9c\\xde\\x74\\xcb\\x81\\xce\\xba\\x5e\\xb3\\xa6\\xee\\x1b\\x39\\x73\\xe6\\xd0\\xe1\\x0e\\xeb\\x9c\\x57\\x74\\xfc\\x8a\\x59\\x5d\\x1b\\x2c\\x92\\x7c\\x76\\x5d\\xfc\\x12\\x3d\\x2c\\x71\\x7f\\x8d\\xcd\\xbc\\xff\\x46\\xf1\\x80\\x29\\x8f\\xbc\\x27\\x71\\x3e\\x70\\xb3\\xcc\\x57\\xb1\\x2c\\xcf\\xcf\\x33\\x29\\xbe\\x0a\\x2c\\xc7\\xd8\\x13\\x47\\x2f\\x4b\\xf5\\x7c\\x8b\\x13\\xfd\\x68\\x23\\x42\\x26\\x13\\x8f\\x61\\x1d\\xcf\\x6a\\x75\\x4a\\x85\\x42\\xa3\\xd1\\xf1\\xc8\\xcc\\x30\\x16\\x56\\xd7\\x22\\xb0\\x2c\\x6b\\x84\\x7a\\x85\\x91\\xe6\\xb4\\x34\\x76\\x80\\x4c\\x1a\\x85\\x4a\\xd1\\x22\\xa8\\x58\\xec\\xf5\\x81\\x16\\x81\\x62\\x73\\x33\\xc5\\xeb\\xe5\\x10\\x77\\xbc\\xb4\\xa8\\x67\\xd0\\x46\\xfe\\x23\\x29\\x55\\xe9\\xe2\\x22\\x1d\\xd9\\x4e\\x71\\xca\\xbd\\x4b\\xe8\\xe3\\xc6\\xc0\\xe7\\x2e\\x63\\x60\\x98\\x69\\x13\\x4f\\xff\\x6b\\x0a\\x73\\xfe\\xf3\\xad\\x8d\\x87\\x09\\x81\\x9c\\xe8\\x80\\xfb\\x5c\\xb1\\x98\\x4d\\x7c\\x4f\\x54\\xd8\\x62\\xf0\\xbd\\x45\\xe2\\x1e\\xbc\\xd7\\xfb\\x2f\\x7e\\x8b\\xaa\\xd0\\xb3\\x18\\xe3\\x0d\\x4a\\x44\\x5c\\x1a\\xb3\\xc5\\x82\\x51\\x29\\x15\\x60\\x03\\x18\\xc5\\x51\\x7e\\xb3\\xb1\\x45\\x30\\x5b\\x0c\\xf8\\xf4\\x18\\x38\\x29\\x95\\x07\\x91\\x34\\x98\\x8a\\xd2\\x6e\\xe5\\x92\\xda\\xb7\\xee\\x6c\\x61\\x4b\\x26\\x81\\x87\\x27\\x5c\\xb0\\x36\\x29\\x7d\\x47\\x36\\x87\\x06\\x54\\x56\\x16\\x2a\\x36\\x9a\\xd8\\xe2\\x96\\xc9\\xf9\\xe3\\xae\\x5c\\x39\\xbb\\x5d\\xca\\xdd\\xd9\\x65\\x2f\\xef\\xd3\\xd6\\x27\\x1a\\xad\\x6f\\x9a\\xc8\\x07\\xae\\x2d\\xe1\\x8e\\xc3\\x31\\x5b\\x76\\x36\\xd8\\xa4\\xc4\\x9d\\x59\\x9a\\x9a\\xf9\\x37\\x6c\\xf9\\xe8\\xd6\\x56\\x22\\x97\\x67\\xb0\\xbd\\x96\\xf3\\x8f\\xe6\\x24\\xfa\\x38\\x35\\x1a\\x87\\x41\\x6b\\xb7\\xb1\\x18\\xaa\\x60\\xbf\\x88\\xd5\\x22\\xca\\xc7\\xfa\\x7c\\xbe\\x52\\x1f\\xc2\\x4f\\xee\\x95\\x33\\x91\\x1c\\xd6\\x74\\x22\\x12\\x6b\\xb7\\x83\\x9c\\x19\\x48\\x0b\\x9d\\x22\\x1b\\x8f\\x67\\xcd\\x24\\x37\\x07\\x23\\x13\\x7a\\xbc\\x54\\x4a\\x12\\xc2\\xd2\\x07\\x8b\\x52\\x29\\x49\\x65\\x93\\x9a\\x1b\\x7f\\x9b\\x92\\x54\\x5e\\xdf\\x3e\\xd5\\x4c\\x32\\x92\\x3e\\x86\\x85\\x50\\xd5\\x33\\x23\\xe9\\x3d\\xf1\\xcb\\x8f\\xa6\\xc8\\xb2\\x34\\x10\\xcb\\xd2\\x51\\x3c\\x37\\x16\\x8c\\x4f\\x94\\xa7\\x68\\x27\\x59\\x83\\x82\\xa6\\x01\\x64\\x20\\x67\\x64\\x8d\\x1d\\xc6\\xf9\\xe4\\x9a\\x55\\x4f\\x32\\x66\\xf5\\x90\\xd5\\xca\\x94\\x93\\x34\\x6c\\x11\\x18\\xda\\xd2\\x33\\x67\\xb0\\x9b\\xd4\\x29\\x9e\\xb9\\x15\\x92\\xee\\x43\\xa4\\x27\\x0f\\xc8\\xe4\\x83\\xd8\\xab\\x45\\x47\\xa5\\x47\\x1d\\x28\\x6e\\x6a\\x3e\\xbc\\x87\\xc8\\x4e\\x33\\x5c\\x3a\\x08\\x1d\\x25\\x4f\\x08\\x8f\\x89\\x6d\\x92\\xd8\\x8c\\x81\\xf7\\xf4\\xe4\\x75\\x23\\xfc\\xc7\\xf8\\x79\\xef\\x93\\xde\\xb7\\x49\\xf1\\xcf\\x8d\\x24\\x17\\x4f\\x7a\\x3f\\x32\\xa3\\xf3\\x97\\x4b\\xef\\x07\\xc9\\x3d\\x3b\\x30\\xce\\x5c\\x28\\xbd\\x6f\\x95\\x3e\\x3f\\x5a\\x1c\\x84\\x6e\\x92\\xce\\xdc\\x04\\x89\\xaf\\xb2\\x46\\x6c\\x56\\x2c\\xc7\\xf6\\x4d\\x07\\x2a\\x40\\x3f\\x70\\x4d\\xa2\\x49\\xe3\\xe8\\x17\\xaf\\xc8\\x0b\\xe9\\xf5\\x7e\\x1f\\x8f\\x28\\xae\\xb6\\xa8\\x88\\x73\\xa0\\xfa\\x04\\x48\\x40\\x23\\xaa\\xa8\\x2a\\xad\\x6a\\x15\\x4a\\xad\\x79\\x75\\xf9\\x75\\xad\\x42\\x3e\\x17\\xf4\\xb7\\x08\\x41\\xe8\\x53\\x7a\\xf0\\xe2\\x78\\x38\\x1e\\xef\\x70\\xab\\x60\\x95\\xb9\\x04\\x5d\\x3d\\x31\\xba\\xbd\\xc7\\xfb\\x4b\\x44\\x00\\xd3\\x17\\xd1\\x91\\x8a\\x1a\\x3e\\xa3\\xac\\x89\\x8f\\xc8\\x57\\xd7\\x64\\x18\\x7b\\xb0\\x68\\xcb\\x05\\x71\\xaa\\xea\\xec\\x24\\x47\\x6b\\xb7\\xea\\x86\\x1b\\x3b\\xbb\\xae\\xf0\\xb6\\xe7\\x8d\\xdb\\x2d\\x08\\x70\\xcc\\x72\\x46\\xfc\\xbc\\x51\\x67\\x68\\x58\\x53\\xbf\\x7e\\xdb\\xb5\\xdf\\xef\\x1c\\xd7\\x67\\xc8\\x35\\x0c\\x2c\\x6e\\x56\\xea\\xe6\\x6f\\x5c\\xbd\\x6d\\xd3\\x97\\x1b\\x0b\\xa7\\x5a\\xb9\\x86\\xe1\\xc2\\x6d\\x82\\x30\\xa2\\x7d\\xea\\xc0\\x26\\xea\\x49\\xb3\\x73\\x97\\xf8\\xf3\\xcd\\x8b\\xb6\\x88\\x23\\xec\\xa5\\x70\\xcd\\xa0\\xea\\xf2\\xfc\\x13\\x7b\\x4f\\xc2\\xe2\\xc3\\x76\\xb8\\x07\\xef\\xca\\xe0\\xe2\\x68\\xe3\\xc3\\x3b\\x1f\\x12\\x5f\\x3b\\x6c\\xe5\\x84\\xb2\\x5b\\x20\\x75\\xc3\\x9a\\xad\\x7d\\xf1\\xba\\xfe\\x1d\\x2f\\xe6\\x5a\\x69\\x5d\\xc7\\x4b\\x72\\xd5\\x25\\xce\\x24\\xba\\x0d\\x9f\\x99\\x89\\x89\\x12\\x17\\x00\\x76\\x0b\\x09\\x3a\\x69\\xf4\\x6a\\x22\\x5e\\x58\\xca\\x18\\x0b\\xe3\\xf5\\x39\\xed\\x58\\x17\\x39\\x59\\x16\\x99\\x50\\xbb\\x60\\xb2\\x1a\\xb0\\x68\\x19\\x2c\\xba\\x53\\x90\\xcb\\xe1\\x33\\x8d\\x77\\x53\\x82\\xe6\\x5e\\xdb\\x1b\\xd3\\xe4\\x7b\\x72\\x15\\x19\\x31\\x65\\x35\\x3d\\x78\\x38\\x75\\x65\\x95\\xc3\\xee\\xef\\x35\\xff\\xf0\\xee\\x65\\x4b\\x9f\\x7d\\xe2\\xa0\\x6b\\xe4\\x89\\xb1\\xd3\\xbb\\xb4\\x5d\\xa4\\x20\\xb0\\xcb\\x76\\x3a\\xd6\\x6b\\xcd\\x78\\x6a\\xc5\\x85\\xdb\\x1c\\x62\\x1f\\x78\\xeb\\xe9\\xcb\\xe7\\xcd\\xed\\x62\\x87\\x53\\xad\\xf6\\x58\\xf2\\xf1\\xb5\\xd2\\x1c\\x6a\\x49\\x2f\\x21\\x3c\\x07\\x27\\x18\\x95\\x28\\xc4\\xc7\\xd8\\x62\\x4a\\x1d\\x10\\x13\\xe3\\x72\\x2b\\xf5\\x7a\\xd6\\xc6\\xe2\\xe7\\x66\\x59\\x9b\\xce\\x66\\xc1\\x13\\xb1\\xb1\\x3a\\x3c\\x01\\x5d\\x8f\\xaa\\xb8\\x34\\xf1\\x5e\\x26\\xed\\xa0\\xbb\\x00\\x32\\x9b\\x41\\x92\\x57\\xe6\\x3c\\x37\\x27\\x3d\\x77\\x9d\\xc4\\x22\\xf9\\xc9\\xe8\\xbb\\x4f\\x4c\\xef\\xd2\\x54\\x92\\xa7\\x8e\\xdb\\xe0\\x17\\xe4\\xb1\\xe1\\x28\\x42\\x23\\x09\\xbf\\xf8\\x00\\x3f\\xf3\\x08\\x58\\x84\\x37\\xe6\\x63\\xf9\\x99\\x47\\x5d\\xfc\\xbb\\xe2\\x34\\x7e\\xe6\\x52\\xe2\\x55\\xe9\\x38\\x4e\\xad\\x74\\x3b\\x1c\\xc0\\x6e\\xb7\\x15\\x16\\x84\\xc2\\xe1\\xbc\\x48\\xc4\\xa6\\x44\\x65\\xe5\\xfb\\xca\\xa1\\xaf\\xbc\\xa3\\x9c\\x02\\xe5\\x50\\x83\\x0a\\x7d\\x31\\x5f\\xbb\\x10\\xb3\\x16\\xe4\\xb5\\x08\\x05\\x96\\xb0\\x3d\\x75\\xc4\\x01\\x8f\\xf8\\x76\\x19\\x72\\x67\\x84\\x36\\x4b\\x8a\\x25\\x96\\xd9\\x85\\x19\\xbd\\x95\\xb5\\x33\\xf2\\xbe\\xe4\\x6c\\x44\\x06\\xe0\\xd5\\x64\\xa8\\x33\\xe5\\xd7\\x69\\xee\\xcc\\x3c\\x6a\\x5d\\xeb\\xb3\\x2d\\xa3\\xa6\\x68\\xa7\\x6f\\x50\\xc3\\xd8\\x0c\\xa5\\xa9\\xb4\\xbc\\x7c\\xf3\\x0c\\x35\\x29\\xd7\\x2c\\x8f\\xc7\\xb7\\x4d\\x67\\xa6\\x1c\\x91\\x08\\x35\\xdd\\x83\\x1f\\x1f\\x3d\\x69\\xe6\\x33\\x93\\xaf\\xb8\\x7c\\x3a\\xdf\\x46\\x0d\\xc3\\x8a\\xed\\x31\\xef\\x4a\\x36\\x56\\x33\\x6e\\x7d\\xb5\\x5c\\xa5\\x19\\xab\\xe9\\x58\\x5d\\x45\\x25\\xc8\\xea\\x3c\\xd3\\xb9\\x6a\\xbe\\xbc\\x26\\xe2\\x4c\\x69\\x4d\\xca\\xc1\\x8d\\x89\\xe6\\xec\\x35\\x29\\xc8\\xcf\\x8f\\x46\\xf3\\xf2\\x22\\xc5\\x45\\x78\\x6d\\x0a\\xa5\\xb5\\xa9\\x88\\xfb\\xe2\\x1d\\x71\\x0a\\xcf\\x4f\\x83\\x8a\\xb1\\x52\\x6f\\xc7\\xc7\\xbd\\x08\\x2f\\x4c\\x91\\xa5\\xc0\\xf5\\x3f\\x2d\\x4d\\xee\\xda\\xf4\\x58\\x9a\\x9c\\x00\\xe0\\xff\\x6a\\x89\\xba\\xe5\\x3a\\x77\\x91\\x18\\xee\\x52\\x8b\\x44\\xe4\\xfc\\x12\\xab\\x54\\xb0\\x40\\x7f\\xc9\\x55\\x22\\xa2\\x2f\\x2f\\x14\\x05\\x6a\\xb1\\xee\\xfc\\x1a\\xaf\\x13\\x29\\x9b\\x24\\x95\\x2d\\x1a\\xa7\\xd3\\xe2\\x60\\x7c\\x1c\\xc7\\x58\\x14\\x74\\x5e\\x54\\x13\\xd4\\x07\\xb1\\x49\\xd3\\x2b\\x3d\\x26\\x0f\\xa1\\x52\\x52\\x3a\\x08\\x71\\xb4\\x92\\x05\\xb9\\x19\\x5b\\x59\\xe9\\xee\\xa9\\x19\\x93\\x4c\\x42\\xe9\\xda\\x37\\x60\\x53\\xaa\\xe4\\x0a\\x33\\x2e\\x90\\x72\\x56\\xa4\\x9e\\xab\\xb2\\xde\\x52\\xc2\\x21\\xae\\x70\\xeb\\xd0\\x9a\\x52\\xca\\xc3\\xec\\xa8\\xcb\\x13\\x3a\\x0f\\x1e\\x15\\x5b\\x8f\\x9d\\xec\\x3d\\x77\\x5e\\xd7\\x8c\\xce\\xef\\xaf\\x58\\xdb\\x7f\\x9a\\x03\\x09\\x50\\x7d\\x0c\\xea\\x6c\\x7f\\xba\\x59\\xa9\\xbf\\x7e\\x95\\x78\\xf2\\xbe\\xbd\\xad\\x07\\xff\\x70\\x4d\\xf2\\xa3\\x2b\\xd6\\xfe\\x6d\\xe6\\x34\\xc7\\x18\\xac\\xcf\\x87\\x5e\\x3c\\xaf\\x08\\xe0\\x39\\x28\\x80\\x05\\xf8\\x41\\x57\\xa2\\xda\\x61\\x51\\x3a\\x9d\\x26\\xa3\\xd6\\x47\\x43\\xa8\\x00\\xc0\\x67\\x44\\x81\\x20\\x1b\\xc4\\x78\\x52\\x69\\x65\\xac\\xd8\\x88\\x31\\x66\\x8f\\x19\\xdb\\x6c\\x85\\x99\\x35\\xe0\\x59\\x19\\xac\\xc4\\xb2\\xd1\\x96\\x5c\\x82\\x8e\\xf4\\xb4\\x7a\\xf4\\x69\\xe9\\x61\\xde\\x60\\x56\\xd3\\x7b\\xb2\\xa5\\x3c\\xc9\\x15\\xc2\\xf6\\xdb\\x5f\\x55\\xa9\\x08\\x6c\\xdf\\xc0\\x88\\x6f\\xed\\xbe\\xf0\\xfe\\xec\\xc9\\x07\\x8f\\x7e\\xf4\\x45\\xcb\\x9f\\x4b\\x77\\x5e\\xc7\\xc0\\xf2\\x72\\x6e\\x0a\\x37\\x90\\x9f\\x57\\x0a\\x0d\\xb2\\xf1\\x43\\x47\\xc5\\x75\\xdc\\xf5\\xab\\xf6\\x1d\\x75\\x99\\xd0\\x08\\x7c\\xa8\\x07\\x31\\xb4\\xb8\\x44\\x6d\\xfa\\xf2\\x65\\xc9\\x17\\x23\\x7c\\x57\\x33\\x24\\x5b\\xed\\x04\\x23\\x12\\xf9\\x0e\\x05\\xcf\\x02\\xb3\\x59\\xa7\\x55\\x68\\xdd\\x2e\\xe0\\xc6\\xbe\\x05\\xe0\\x28\\x0e\\xa3\\x3a\\xca\\x60\\x33\\x60\\xec\\x67\\x60\\x19\\x0c\\xa0\\x98\\x9e\\x94\\x57\\xe9\\x69\\x64\\xa9\\x23\\x3c\\x83\\xdf\\x7f\\x76\\x38\\xe2\\xf7\\x9e\\x99\\x2a\\xfa\\xbd\\x67\\x85\\x18\\x35\\x9d\\x47\\x75\\x18\\xcb\\x7b\\x30\\x96\\x6f\\x76\\x43\\x84\\x38\\xce\\x83\\xdd\\x46\\x2f\\xc6\\x4a\\xf8\\x64\\x41\\x37\\x71\\x19\\xdd\\xb0\\x19\\x4e\\x80\\x73\\xa0\\x42\\x87\\x20\\xd4\\xf3\\xbc\\xa3\\x4d\\xb0\\x25\\x1c\\xde\\x26\\x5b\\x42\\x67\\x6a\\xb2\\xd9\\x78\\x2b\\xab\\xf1\\x69\\x4a\\x35\\xeb\\x34\\xb4\\x16\\x61\\xd3\\x21\\x41\\x10\\x2e\\x87\\x53\\x98\\xdc\\xac\\x75\\x07\\x7a\\x72\\x4c\\x2a\\x06\\xaa\\x81\\x1e\\xa5\\x9a\\x92\\xc7\\x29\\x9b\\xca\\x9a\\xc0\\x8f\\x70\\x07\\x7d\\xf9\\xf4\\xce\\xf6\\x81\\x35\\x25\\x87\\xe6\\xdf\\xfb\\x8c\\xf8\\x4d\\x72\\xec\\xde\\x78\\x70\\xc9\\xce\\xcd\\x47\\x1d\\x62\\x17\\x65\\xb0\\x16\\xdc\\xb0\\xb7\\xec\\x30\\x54\\xfa\\xce\\x3e\\x26\\x7e\\x21\\x3e\\xd7\\x27\\x5e\\x5b\\xff\\xc8\\x71\\xbc\\x07\\x7d\\xb0\\x7c\\xcd\\xc0\\xf3\\xb2\\x82\\x30\\x98\\x99\\xa8\\xc3\\x8b\\xaf\\x54\\x32\\x2a\\x9b\\x9e\\x46\\x5e\\x9e\\xc7\\x50\\x38\\x92\\x27\\x77\\x37\\xd0\\x29\\xf0\\xc3\\xea\\x3c\\xba\\xe1\\xba\\x89\\xba\\xb9\\x3a\\x3c\\x43\\x9d\\x4e\\x03\\x08\\x0d\\xa1\\x86\\x55\\x59\\x24\\x5f\\x39\\x87\\x99\\x35\\x2b\\xb2\\xdc\\x83\\xbf\\x29\\x9e\\x2a\\x3d\\xad\\x09\\xa5\\xd0\\x53\\xbc\\x3a\\x5d\\x01\\x93\\x1b\\xf5\\x41\\x2d\\x87\\xcf\\x52\\x0f\\x63\\x3c\\x45\\x36\\xa9\\xf9\\xa1\\x02\\xe8\\x79\\xee\\xf0\\xd9\\x4d\\x3f\\x89\\xf7\\x48\\x04\\x31\\xb3\\xa6\\x8c\\xbf\\x73\\x92\\xf9\\x9d\\x93\\xb5\\x69\\x74\\x75\\xf6\\x97\\x77\\x4e\\x1e\\x10\\xbf\\xbb\\x1d\\xce\\xbc\\x6e\\xcb\\xf6\\xe4\\xb6\\x4d\\x5b\\x08\\x3f\\x0c\\x75\\xf1\\x39\\x6c\\xf3\\x26\\xa1\\xa7\\x81\\x1a\\xef\\xdc\\xb4\\x44\\x95\\x51\\xcf\\x29\\xcc\\x1a\\xad\\x1a\\x00\\x97\\xd3\\x69\\xe6\\x90\\x01\\xef\\x5f\\xa9\\x8f\\xa4\\x1a\\x7b\\x8d\\x5a\\xb5\\xb6\\x55\\x50\\xab\\x39\\x9b\\x8d\\x6a\\x15\\x6c\\x9c\\x8b\\x33\\x60\\xe1\\xd3\\x6b\\x0c\\x96\\x74\\x1c\\x2e\\x57\\x25\\xe4\\xe2\\xdc\\x78\\x46\\x35\\xe4\\xa5\\x23\\x6d\\x88\\x0f\\xc1\\x50\\x2a\\x14\\x27\\x55\\x9b\\x90\\xc2\\xf0\\x7b\\xfb\\x0e\\x5b\\xbc\\x7c\\xe6\\xc4\\xf9\\x6d\\x0d\\x3b\\xc4\\x8f\\x3f\\x63\\x46\\x41\\x76\\xc8\\x84\\x0f\\x9e\\x2f\\x7b\\xb4\\x79\\xdb\\x06\\x06\\x8d\\x31\\xcc\\x99\\x3a\\xb2\\x43\\x74\\xc3\\x1d\\xe2\\x9c\\x98\\x0d\\xce\\xb3\\xad\\x6b\\xdb\\x7c\\x1b\\xa7\\xbb\\x70\\xc0\\x1e\\xcb\\xf8\\xff\\x8a\\x2d\\xd8\\x9f\\x6a\\x22\\x3d\\x30\\x40\\xff\\x7a\\x00\\x98\\x87\\xa8\\xa8\\x91\\x64\\xc7\\xa5\\x7e\\x7e\\x07\\xe1\\x1b\\x94\\x7e\\x4e\\x72\\x62\\x0f\\x49\\xbc\\x84\\x88\\x3a\\x55\\x19\\x34\\x82\\x14\\xe3\\x20\\x04\\x43\\x49\\xde\\x3e\\xc6\\x88\\x31\\xb0\\x35\\xd1\\x8e\\xd7\\xc1\\x12\\x0a\\x78\\x3d\\xbc\\xd9\\xec\\xb0\\x5a\\xb0\\x54\\x16\\x17\\x14\\xf8\\x28\\x0b\\x5d\\x52\\xca\\x96\\x96\\x96\\x9e\\x23\\x77\\xc8\\x01\\xab\\xc3\\xda\\x2a\\x78\\x59\\x87\\xcf\\x81\\x57\\xca\\xe1\\x70\\xe7\\x85\\xb8\\x3c\\xae\\x5d\\xc8\\xe3\\x9c\\x76\\x2d\\xd7\\xe4\\x76\\xb6\\x08\\x6e\\x60\\xb1\\x00\\x55\\x2b\\x71\\x0b\\x5c\\x69\\xc7\\x06\\x8b\\x43\\x51\\x56\\x3c\\x97\\x38\\x62\\x97\\x50\\x3a\\xdd\\x40\\x51\\x4e\\xd1\\x4e\\xd3\\x3c\\xd5\\x74\\xe7\\x27\\x12\\x7b\\x21\\x5d\\x13\\x93\\x74\\x63\\xd4\\xcd\\xf4\\x4e\\xc1\\xc7\\xbb\\x29\\x9d\\x96\\xdb\\x64\\x68\\x74\\xe8\\x99\\x1b\\xb8\\x4d\\xee\\x65\\x0c\\xf4\\x17\\x40\\x25\\x27\\xfe\\x5a\\xc1\\xb5\\x3e\\x82\\x41\\x12\\xb7\\xac\\xbf\\xd8\\x2c\\xb3\\x38\\x51\\xfb\\xd7\\x45\\x09\\xe6\\x48\\x5e\\x47\\x8f\\x1e\\xb9\\xdf\\x1e\\xfb\\x62\\xa4\\xf8\\x79\\xf3\\xac\\xf9\\x73\\xbb\\x02\\x13\\x93\\xd3\\xc5\\xc5\\x72\\x4d\\x28\\xf1\\x23\\xc6\\x28\\xb6\\x00\\x2d\\x30\\x82\\x60\\x82\\x53\\x6b\\x34\\x40\\xcb\\xea\\xb4\\x3a\\x13\\x42\\x3c\\xcb\\xc3\\x89\\x39\\xd7\\xbb\\x29\\x27\\x32\\x14\\x25\\xf4\\x31\\x21\\xb9\\x17\\xec\\x5f\\x56\\x32\\xd4\\x83\\xa5\\x35\\x86\\x99\\xe3\\xbb\\x76\\x1e\\x86\\x03\\x14\\x3f\\xbe\\xa3\\x14\\xe7\\xa3\\x2e\\x47\\x4c\\xfc\\xf1\\x30\\x7f\\xe1\\x08\\x69\\xc8\\xc9\\x45\\xc4\\x1f\\xc9\\x7e\\xa4\\x30\\x3e\\xf0\\x82\\x75\\x89\\x76\\xbb\\xc5\\xe9\\x54\\x02\\xbd\\xde\\xaa\\x44\\x12\\xe5\\x67\\x21\\xb2\\xd8\\xb1\\x72\\xb1\\xb8\\x2d\\xcd\\x96\\x09\\x96\\x39\\x16\\x7c\\xf4\\x2c\\x16\\x0d\\xd2\\x98\\x5a\\x85\\x16\\x43\\x87\\x81\\x62\\x0d\\x3e\\xc3\\x3a\\xc3\\x16\\xc3\\xc7\\x86\\x7f\\x18\\x94\\x1a\\x64\\x30\\x68\\x38\\xe4\\x6e\\x13\\xe4\\xb8\\x23\\xf2\\x7a\\x91\\x14\\x30\\xe8\\x4e\\xf1\\x5e\\xf8\\x3b\\x0a\\x46\\x66\\xd1\\x4d\\xc3\\xf2\\xb0\\x24\\xaf\\x32\\x3b\\x83\\x9c\\xe4\\x4d\\x2a\\xac\\x91\\xb2\\xed\\xa5\\xf1\\x07\\x8e\\xdf\\x08\\xd1\\x4d\\x83\\xf7\\x57\\xc6\\x6a\\xb8\\xfa\\x59\\x8b\\x9e\\x88\\xc2\\x71\\xac\\x78\\x58\\xf5\\xda\\x96\\x3d\\x37\\x0d\\x1b\\xf3\\xd8\\x5d\\xf7\\x43\\xdf\\xfd\\x5e\\xab\\xf8\\xcb\\xfd\\xf5\\xcf\\xed\\x6f\\x2d\\x6d\\xb8\\x08\\xa6\\xc9\\xbd\\xf1\\x2e\\x9e\\xa7\\x3e\\x96\\xfc\\x96\\xcb\\xe4\\xbc\\x0e\\x3c\\xf1\\x5f\\xa5\\xbc\\x8e\\x66\\xe9\\x3d\\x76\\xdf\\xa8\\xcd\\x92\\xec\\xfe\\x20\\xc9\\xf6\\xec\\x5b\\x64\\xae\\xcc\\xa9\\x4e\\x06\\xc1\\x6e\\xae\\xcc\\xdc\\x1a\\x31\\x7c\\xbe\\xf7\\x63\\xfd\\x15\\xc7\\x7e\\xb7\\x1a\\xfb\\x3b\\x33\\x13\\xbd\\x38\\x7f\\x34\\x0f\\x43\\x5a\\x4d\\x05\\x55\\x5c\\x5c\\xe1\\x47\\xb6\\x4a\\xb6\\xb2\\xb4\\x12\\x0b\\xad\\x2d\\x1e\\xa5\\x0b\\x68\\x8c\\x07\\x0b\\xc2\\x18\\x4a\\x12\\x9f\\x27\\xac\\x6b\\x15\\xc2\\x9c\\x05\\x2f\\x95\\xdd\\x6e\\xb1\\x66\\x33\\x94\\xfd\\xce\\x21\\xcf\\xb2\\x2e\\x91\\x0a\\x92\\xf9\\x45\\x0c\\x0a\\x4a\\x7b\\xe4\\xa1\\xb4\\x73\\xdb\\x0f\\xa6\\xfc\\xf5\\x2c\\x0b\\x84\\x36\\x5d\\xf8\\xb9\\xb0\\xd7\\x20\\xe3\\x8c\\x1d\\xee\\xea\\x86\\x71\\x8d\\x79\\x45\\x03\\x47\\x74\\x35\\x57\\x61\\x1f\\x9e\\xe3\\x2d\\xa1\\xde\\x83\\x47\\xc6\\xa6\\xdd\\xb8\\x76\\xc6\\x84\\xfe\\xed\\xe3\\x0e\\x1e\\x7d\\xfd\\xdd\\x96\\x8f\\x8a\\xeb\\xbf\\x7c\\x99\\x11\\x17\\x30\\x3c\\x2a\\xd4\\xd4\\x2e\\xbe\\x86\\xb8\\xed\\x81\\x6b\\xa3\\xb6\\xe6\\x07\\xa1\\x7a\\xf3\\xae\\x46\\x9b\\xb8\\x41\\x27\\x9b\\x29\\x49\\x4e\\xf1\\xfc\\x97\\x4b\\xbc\\xca\\x01\\xb0\\x2a\\x31\\xc8\\x62\\x36\\xb0\\xac\\x91\\xf3\\x42\\xe0\\xf3\\xd9\\xac\\x7a\\x9d\\x53\\xa9\\xd4\\x71\\x28\\x18\\x02\\xa1\\xb2\\x50\\x22\\xd4\\x1a\\xa2\\x59\\x64\\x31\\xb4\\x0a\\x96\\x04\\xef\\x69\\xb2\\x58\\x10\\x72\\xb7\\xe0\\x23\\x6b\\xb7\\xf1\\x29\\x9a\\x24\\x8b\\x1a\\xcb\\x9a\\xba\\x5b\\x93\\xa7\\x4b\\xe7\\xa4\\xd0\\x5d\\x51\\x0f\\x17\\xaf\\x87\\x47\\x9c\\x6d\\x71\\x33\\x9e\\xb1\\x0b\\x76\\x2f\\xd5\\xd3\\xdd\\x13\\x6c\\x12\\x97\\x67\\x1c\\xe5\\xeb\\x87\\x9d\\xb8\\xf0\\xef\\x22\\xb2\\x3a\\x18\\x2d\\xa4\\xa7\\x06\\x77\\x76\\x7b\\xcd\\x17\\x6e\\x4e\\x2d\\x87\\xa4\\xbb\\x88\\xbf\\x8c\\x75\\x57\\x18\\x9f\\x95\\x81\\x6a\\xbd\\xc3\\xed\\xb6\\xf2\\xfa\\xa0\\x96\\x51\\x85\\x42\\x61\\xd2\\x76\\x12\\x84\\x79\\xec\\x15\\x84\\x2d\\x0e\\x8c\\x85\\x1c\\x16\\xbd\\x8f\\xc3\\x88\\x17\\x68\\xf5\\x5a\\x8f\\x96\\x52\\xd3\\x0c\\x56\\xf0\\x88\\x61\\x54\\x1c\\x47\\x13\\xc5\\xa5\\xc2\\x02\\xa1\\x92\\xf8\\x26\\x8b\\x52\\xf5\\x48\\x20\\x93\\xd6\\x22\\x8b\\x42\\x8f\\x5e\\x6f\\xf1\\xf4\\x8c\\x25\\xb2\\x9c\\x4b\\x29\\x25\\xa5\\x84\\x9c\\xba\\x35\\x17\\xd4\\x5d\\x52\\x1b\\x31\\xb3\\x08\\x7c\\xea\\x4a\\xab\\xac\\x1e\\x7a\\xc8\\xd0\\x3b\\x89\\x5d\\x53\\x6a\\x50\\x5a\\x4d\\x91\\xf3\\x21\\xc5\\xc8\\x88\\xee\\x47\\xdf\\xc8\\xb9\\xd4\\xe0\\x11\\x39\\x96\\x76\\xb3\\xd9\\x96\\x89\\xa5\\xa5\\x63\\x70\\x92\\x8d\\x18\\x2b\\xdb\\x88\\x5e\\x40\\xca\\xa0\\x4e\\xd9\\x08\\x29\\x5e\\x70\\x4e\\x8a\\xc9\\x4d\\x20\\x3f\\x57\\x53\\xcb\\xa5\\xdf\\xf2\\xef\\xc2\\xb0\\x45\\x27\\xff\\x16\\x8a\\xf8\\x17\\x92\\xaf\\x8b\\x80\\x0f\\x23\\xce\\x2a\\x40\\x51\\x9c\\x87\\xa6\\x9d\\x36\\xce\\x28\\xf5\\x1c\\xb0\\xe9\\xfc\\x01\\xa2\\xf3\\xb5\\x6e\\xd6\\xa8\\x22\\xed\\x06\\x58\\xfc\\xb9\\x52\\x80\\xd4\\x08\\x80\\x74\\xe7\\x01\\xaa\\xdb\\xe9\\x8d\\xaf\\x4e\\xdf\\x5a\\x65\\xb9\\xbe\\xdd\\xc2\\x93\\xe2\\x6c\\xc7\\x02\\x83\\x7e\\xd3\\x81\\x20\\xcb\\x81\\x4c\\xe6\\x3f\\xbb\\x7c\\x4d\\xc6\\xf9\\xc5\\x9e\\x53\\xda\\xf7\\xdd\\xc0\\xc0\\x58\\x97\\xad\\x48\\xbc\\x19\\xf6\\x87\\xd6\\x8c\\x07\\x1c\\xfb\\x8d\\xfb\\x4b\\x38\\x61\\x2e\\x9e\\x67\\xbe\\x54\\x34\\xe3\\xb5\\x9c\\x91\\xa8\\x8a\\x15\\x1a\\xcd\\x85\\xe6\\xb8\\x36\\x1e\\x46\\xbd\\xb5\\x0e\\x47\\x6f\\x5f\\x98\\xae\\xeb\\x6b\\x28\\xcb\\x2f\\xeb\\x10\\xf8\\xe2\\xe2\\x7c\\xd4\\x1b\\xf4\\xee\\x10\\x00\\x08\\x58\\xf3\\x69\\x9f\\xaa\\x3a\\x50\\xdd\\x21\\x78\\x02\\x7c\\x2e\\x3f\\x71\\x3a\\x2d\\x3f\\xde\\xd3\\x45\\x30\\x75\\x53\\x6b\\xb1\\x10\\xfd\\xb6\\x36\\xac\\xc2\\x24\\xdf\\xcc\\x46\\x95\\x32\\x05\\x80\\x5c\\x52\\x53\\x23\\x95\\xd4\\x18\\x53\\xab\\x10\\x45\\xfb\\x49\\x16\\x84\\x10\\xbd\\x67\\xf4\\x3d\\xd0\\xbc\\x7b\\xef\\xe6\\xf6\\xdb\\xfb\\x56\\xf7\\xaf\\x38\\x73\\xf6\\xf3\\x1f\\x9f\\x15\\xb7\\xfe\\xf0\\xf8\\xab\\x9f\\x3c\\x2e\\xfe\\x24\\xbe\\xf5\\x07\\x38\\xe8\\xed\\xe7\\x1f\\x8e\\x0f\\xa4\\x62\\x37\\x8c\\xfc\\x5e\\xfc\\xf7\\xf3\\x0f\\xb7\\x9f\\x2a\\x13\\x8e\\x50\\xcf\\x57\\x3b\\x45\\x95\\xab\\xe0\\x29\\x38\\xe5\\xef\\x6f\\xff\\xbd\\xaa\\xfc\\x30\\xf4\\xd7\\x89\\x5f\\x5f\\x04\\xe2\\x45\\x71\\xc3\\x2b\\x75\\x75\\xb0\\x08\\x32\\xdf\\xc1\\xc5\\xaf\\xd4\\x89\\x9f\\x1c\\x2e\\xaf\\x12\\xe7\\x88\\x3b\\xff\\xf4\\x4d\\x81\\x0b\\xfe\\xc7\\x29\\xaf\\xd3\\x08\\xac\\x53\\x22\\x78\\xff\\xf3\\x40\\xff\\x44\\xc0\\xc2\\xe9\\xed\\x7e\\xad\\x4b\\x13\\x0a\\xb9\\xec\\x1c\\x1d\\x05\\x4a\\x65\\x7e\\xc8\\xee\\xd0\\xda\\xb5\\x7a\\x0f\\x32\\xb1\\x1a\\xbd\\x55\\x6a\\x25\\x1f\\xbf\\x04\\xb1\\x43\\xda\\xa4\\x57\\xa6\\xda\\xd8\\xc3\\x10\\xc2\\xff\\x27\\xf9\\x41\\x71\\x0c\\x90\\x6c\\x3c\\xcc\\xbc\\x74\\xc1\\x7e\\x90\\xbe\\xba\\x1f\\x73\\x8e\\xb9\\x4c\\x5c\\xdb\\x77\\x85\\x78\\xa0\\xef\\x6d\\x66\\xe6\\x01\\xa5\\x61\\x32\\x54\\xdb\\x98\\x87\\x94\\x86\\x71\\x7b\\x2b\\xe3\\x28\\x32\\xd0\\x12\\xb3\\xe4\\x0d\\xd9\\x95\\x1c\\x4f\\x15\\x26\\xdf\\xa5\\x5e\\x1e\\x3d\\x3c\\xbf\\xa8\\xce\\xdd\\xd2\\x57\\xac\\x83\\x07\\x2f\\x6f\\x4a\\xbd\\x6e\\x83\\x7a\\xe1\\xfa\\x94\\xfd\\x56\\x54\\x48\\xf9\\x72\\xf9\\xe0\\xf2\\x44\\x6f\\xaf\\x9f\\x63\\x20\\x0c\\x3a\\x75\\x6a\\x85\\xd9\\xac\\x76\\xfa\\xe9\\x82\\xc2\\xfc\\x50\\x24\\xd4\\x21\\x70\\xa0\\x53\\xd0\\xfa\\xfd\\x01\\xd6\\x1d\\x70\\x77\\x0a\\x4c\\x80\\xc3\\x7f\\xec\\x11\\x64\\x77\\x76\\x08\\x76\\xd8\\x29\\xd8\\xd3\\x99\\x21\\x32\\x5f\\x4c\\xbc\\x7b\\xcb\\x7b\\xec\\x79\\x26\\x08\\x92\\xae\\x38\\x09\\xa4\\xd9\\xe4\\xb2\\x72\\x45\\xe4\\x62\\x0c\\x39\\xa5\\x96\\xba\\x5b\\x4e\\x1b\\x18\\x06\\x9f\\xeb\\x35\\x40\\x33\\xee\\x95\\x3e\\xbd\\xb3\\x72\\x0a\\x1e\\xd0\\x8b\\xa4\\x18\\x03\\x3e\\x67\\x7a\\x4b\\x43\\xcd\\x51\\x7f\\x48\\x6d\\x91\\xb2\\x09\\xe0\\x7f\\xc4\\x33\\x6f\\x98\\xc4\\x47\\xe5\\x0c\\x12\\xf4\\x19\\x29\\xc4\\x98\\x9e\\x4a\\x89\\xc6\\x73\\x1e\\x82\\xf7\\xcd\\x2a\\xe1\\x88\\x42\\x30\\x21\\x51\\xee\\xb6\\x5a\\x6d\\x3e\\x83\\x09\\x86\\xd5\\x6a\\x68\\xb0\\xd1\\x45\\xc5\\x6e\\x93\\xd7\\xd4\\x26\\x78\\xf1\\x2e\\x2a\\xa3\\x2d\\x82\\x52\\xa9\\x75\\x92\\x80\\x95\\x93\\xb5\\x59\\xb4\\x41\\x52\\xad\\x9e\\x0b\\xe0\\xb3\\xaf\\xe3\\x61\\x0f\\xaa\\x0e\\x1b\\xb6\\x79\\xb9\\x7e\\x6f\\xc8\\x9f\\x6e\\xc4\\x53\\x1d\\xc8\\xf6\\x81\\xd1\\xfb\\xcc\\xa0\\x6b\\x8a\\x6f\\x6a\\xbb\\xf3\\xbe\\x94\\xef\\xab\\x17\\xbf\\xde\\x95\\xee\\xc8\\xb3\\x15\\xf6\\xdf\\x26\\xb9\\xc2\\x7d\\xe6\\x38\\xd0\\x19\\xdb\\xf0\\x57\\xe7\\xf0\\x1b\\x57\\xa7\\xbd\\xe0\\xcf\\xa4\\xd6\\x3c\\xc5\\x4f\\xbd\\x9f\\x5c\\x94\\x76\\x87\\x49\\x2e\\xd4\\xc5\\x6f\\x55\\x8f\\xe1\\x33\\x5c\\x01\\x36\\x25\\x9a\\x79\\x95\\x4a\\x17\\x8c\\x46\\xcd\\x28\\x56\\x5a\\x1a\\x42\\x3a\\x5a\\xe3\\x76\\x38\\x2a\\x35\\x71\\x9b\\xaf\\x43\\x70\\x3a\\x6d\\x74\\x44\\xc9\\x2b\\x3b\\x85\\xa0\\x8e\\xaf\\xe3\\x9b\\x79\\x52\\xc0\\xc5\\x6b\\xd8\\x54\\x49\\x00\\xad\\xd2\\x69\\x74\\x1d\\x82\\xc6\\x54\\x5a\\x0a\\x40\\x61\\x56\\x35\\x73\\x69\\xcf\\x34\\x84\\x34\\x6c\\x95\\x53\\x41\\x53\\x9c\\x86\\xb6\\x5c\\x22\\x62\\xa9\\x30\\xae\\x67\\x26\\x82\\x09\\x04\\xfe\\x4b\\xa1\\x9c\\x42\\x47\\x0a\\xe5\\x54\\xe2\\x85\\x9e\\xf9\\x08\\x54\\x3f\\x78\\x02\\xf6\\x4e\\xd5\\x46\\xa7\\xab\\xe7\\x5e\\x67\\x7a\\x54\\xcf\\x0d\\xaa\\xcc\\xcd\\x4c\\x80\\x61\\x38\\xa4\\xbb\\x9a\\x6e\\x50\\x53\\x56\\x35\\x1d\\x04\\x73\\xb1\\x5c\\x2c\\xc1\\x72\\x51\\x04\\xe6\\x24\\x7a\\x87\\x5c\\x2e\\xaf\\x4a\\xa7\\x0b\\xdb\\x8c\\x8c\\xcd\\x4b\\x17\\x53\\x45\\x45\\xb1\\x7c\\x1a\\xbb\\x6f\\x20\\x9f\\xd3\\x38\\x43\\xd8\\x91\\xc3\\x96\\xd4\\x1b\\x08\\xf8\\x5a\\x84\\x00\\xeb\\x75\\xb5\\x08\\x5e\\x0b\\x67\\x36\\x1b\\xda\\x04\\xb3\\x15\\xe4\\xc4\\x7d\\xb3\\xe9\\x99\\xe3\\xd9\\x3d\\xb5\\xba\\xa5\\xa4\\x27\\x7c\\xcc\\x10\\xf4\\x84\\x24\\x2b\\x29\\x39\\x7f\\x04\\x2b\\x59\\x6d\\x8a\\xc1\\xb9\\x58\\x72\\xf3\\x1d\\xde\\xb6\\x17\\x26\\x1d\\x38\\xae\\xfe\\xac\\xff\\x1d\\x8c\\xf8\\xe8\\x6e\\xd2\\x71\\xa8\\xe9\\x6f\\xa1\\xbd\\x6f\\xcf\\x6b\\xbc\\xa7\\x8c\\xba\\xa1\\x1b\\x5b\\x16\\x12\\xc8\\x59\\xdf\\x47\\xbc\\xca\\x11\\x93\\xb0\\xf5\\xcc\\x75\\xcf\\xcf\\xf1\\x9b\\x49\\x6f\\x11\\x7c\\xfe\\xf3\\x14\\x4d\\xd8\\xeb\\x0b\\x91\\x6a\\x71\\x9f\\xc5\\xe2\\x0c\\x18\\x18\\x63\\xc8\\x4b\\xd3\\x1e\\x8f\\xd1\\x89\\x22\\xf6\\x30\\xd6\\x04\\x21\\x5f\\xc0\\x67\\xf7\\xba\\x68\\x83\\x5a\\x6d\\x21\\x26\\xce\\x62\\xb7\\x74\\x08\\x3a\\xca\\xde\\x9d\\x7a\\x21\\x4f\\x26\\xd5\\x22\\x3a\\x9e\\xd2\\x70\\x3d\\x8a\\xf6\\x48\\xeb\\x3e\\x92\\xb4\\x6a\\x80\\xd9\\xa5\\x55\\x51\\x98\\x6e\\xe8\\xab\\x86\\x56\\x5b\\x75\\x8d\\x22\\x4f\\x2b\\x46\\xb4\\x5b\\x3a\\xfa\\x4e\\x36\\x55\\x4c\\x66\\xc4\\xad\\xcc\\xac\\x72\\x75\\xac\\x4c\\xfc\\xf6\\x3a\\x8d\\xb8\\x5d\\xb3\\x80\\xba\\xf7\\xa9\\x5f\\xc4\\x2e\\xf1\\x9b\\x2b\\xad\\x8d\\xbb\\xab\\xf0\\xc6\\x52\\x3a\\xe7\\xea\\xe9\\xe2\\x17\\x8e\\x58\\xcc\\x01\\xcd\\xbd\\x83\\x8d\\x23\\xcc\\x29\\x0a\\x4c\\xa9\\xff\\x74\\xf2\\x9f\\x03\\x56\\x5e\\xdd\\x4f\\xea\\xd9\\x07\\x00\\xcd\\xa1\\x13\\xd8\\xeb\\x0a\\x80\\xe9\\x89\\xb8\\x87\\xe7\\xed\\x3e\\xbd\\x8a\\x0b\\xb8\\x69\\xda\\xe5\\xe2\\xec\\x28\\x64\\x0d\\x2a\\x4c\\xa6\\x80\\xc7\\xe7\\xb1\\x62\\xc7\\xad\\x9d\\xd0\\x6e\\x33\\x0c\\xef\\xa2\\x69\\xde\\xca\\x63\\x13\\x4e\\x59\\x33\\xde\\x6d\\x7a\\xa6\\xe9\\x4e\\x41\\xff\\x7d\\xae\\xd8\\x92\\x91\\xe9\\x51\\x24\\xf7\\x00\\xa5\\x27\\x0a\\x11\\x99\\x28\\xcd\\xa9\\xc5\\x5b\\xd4\\xcd\\x4d\\xcd\\x56\\x4f\\x7f\\x46\\x7c\\x83\\x19\\xe4\\x51\\x86\\x9e\\x19\\xa8\\x16\\x3f\\x55\\xcf\\x84\\xdf\\xdc\\xf5\\xb4\\xf8\\xd8\\xfd\\x23\\xd8\\x8a\\x8e\\x18\\x99\\xd9\\xf8\\xfa\\xd5\\xfb\\xc9\\x14\\xf7\\x07\\xa3\\x83\\x4b\\xc5\\x03\\xe4\\x25\\x9a\\x77\\x61\\x3b\\xf5\\x89\\xf8\\x7c\\xed\\x98\\x8e\\x4a\\xb9\\x0e\\x51\\x75\\x04\\xef\\x63\\x0c\\xc4\\xc1\\xb6\\xc4\\xd0\\x02\\x8f\\x27\\x58\\x6a\\xb1\\x14\\x3a\\xcb\\xf1\\x66\\xc6\\x4b\\x68\\x3a\\x16\\x33\\x3a\\x83\\xb4\\xbf\\xca\\x5f\\x5e\\x59\\x52\\x44\\x9b\\x15\\xee\\x02\\xac\\xc6\\xe3\\xa5\\x05\\x05\\xfe\\x88\\xac\\xe0\\x23\\xc8\\x69\\xb1\\x04\\xf1\\x06\\x07\\x63\\x78\\xeb\\x83\\xfe\\x20\\x56\\xec\\x3a\\xca\\x2f\\xed\\x70\\xf6\\x16\\xa7\\x27\\x9f\\xa6\\x08\\xcd\\x32\\xf4\\xb0\\xa2\\x87\\x07\\x90\\x11\\xf1\\xff\\xb6\\xef\\x3d\\xd4\\x41\\x46\\x0e\\x54\\x47\\xfe\\x9b\\x1c\\x40\\x77\\xf2\\xa3\\x89\\x39\\x2a\\x61\\x2a\\xd5\\x08\\x27\\xfd\\xdf\\x09\\x07\\x65\\x4a\\x7e\\x97\\xa5\\x15\\x5e\\xa3\\x6e\\xcc\\x12\\x16\\x0a\\xcc\\x05\\x40\\x49\\x64\\x25\\x8a\\x57\\xf3\\x86\\xc4\\x60\\xa2\\x09\\x0a\\x78\\x3e\\x6c\\x2f\\x52\\x19\\xb0\\x0e\\xa0\\xa3\\x51\\x83\\xdd\\x8b\\xfd\\xfe\\x22\\x6f\\x7e\\x84\\xc5\\x42\\x13\\x2b\\x28\\x08\\x11\\x85\\xd0\\xad\\x0f\\xec\\x3c\\xef\\xc2\\xe2\\xe3\\x8a\\x62\\xe1\\x22\\xba\\xc1\\xaa\\xa5\\xbc\\x96\\xcc\\x42\\xe6\\xae\\x63\\x16\\x17\\x52\\xfa\\x00\\xe5\\x64\\x52\\xfe\\x66\\x15\\x7f\\x2b\\x51\\x52\\x17\\xe5\\x40\\xea\\x8a\\x2d\\x2d\\x5d\\xca\\xdf\\x97\\xae\\xd7\\xc5\\x44\\x43\\x46\\x5d\\x0c\\x85\\x1f\\xfd\\xe3\\x7f\\x14\\x36\\xb8\\x44\\xbc\\x31\\xa5\\x39\\x26\\xc1\\x7b\\xb3\\x04\\x4f\\xf2\\x2d\\x5f\\xc5\\xeb\\x75\\x10\\x63\\x88\\x30\\x5e\\xb1\\xa9\\x89\\x88\\xd1\\x1c\\x75\\x2a\\xb5\\x30\\x94\\xe7\\x76\\x87\\xbc\\x11\\x87\\xd6\\x69\\x66\\x4c\\x05\\xa6\\x7c\\x85\\xce\\x81\\x2d\\x49\\xc4\\xeb\\x70\\xa8\\x5d\\xae\\x28\\xc9\\xb1\\x36\\x08\\x2e\\x04\\x4d\\x26\\xa5\\x56\\xad\\xed\\x10\\xd4\\xdd\\x29\\xd5\\xe9\\xa6\\x45\\xf1\\x9c\\x62\\xb3\\x6e\\xb3\\x5a\\x40\\x3a\\x8f\\x84\\x52\\x73\\x27\\x84\\xa4\\x78\\x35\\xfa\\x51\\x35\\x10\\x1b\\x55\\xe8\\xa5\\x7c\\x94\\x1a\\x06\\x94\\xbb\\xc5\\xe7\\xeb\\x43\\xd7\\x2c\\xef\\x7a\\x40\\x9d\\xfc\\x48\\xfd\\x78\\xd7\\xa8\\xab\\x16\\xed\\x9a\\xfe\\xff\\xf1\\xf6\\xe7\\xf1\\x51\\x15\\x59\\xff\\x38\\x7e\\xeb\\xae\\xbd\\xdf\\xdb\\xfb\\xbe\\xa7\\xbb\\xd3\\xe9\\x74\\x3a\\x49\\x27\\xe9\\x84\\x25\\x69\\x96\\x84\\x00\\x81\\x2c\\x84\\xa5\\x51\\x48\\xd8\\x37\\x01\\x51\\x59\\x5c\\x10\\x70\\x47\\x44\\x45\\x5c\\x10\\x37\\x54\\x1e\\x60\\x14\\x15\\x10\\x15\\xf7\\x7d\\x1d\\x15\\x1d\\x75\\x1c\\xc7\\x99\\x71\\x7c\\x66\\x7c\\x74\\x66\\x70\\x19\\x47\\x67\\x93\\xdc\\xfc\\xaa\\xea\\xde\\x5e\\x93\\xa8\\xdf\\xcf\\x1f\\x3f\\xf2\\x82\\xdc\\xa6\\xfb\\xde\\xae\\x53\\xe7\\x54\\xd5\\x39\\x55\\xe7\\xbc\\xdf\\xe2\\x2b\\xca\\x2d\\xf7\\x5c\\x7d\\xf5\\xff\\x6c\\x10\\x8f\\xe9\\xe8\\xb5\\x3a\\x91\\x5a\\x73\\x65\\xff\\x98\\xe9\\xe7\\x0f\\x4c\\x07\\x8f\\x0f\\x24\\x40\\xeb\\x91\\xdb\\x06\\x9e\\x45\\xf6\\x40\\x8e\\x03\\xcd\\x97\\x89\\xa7\\x1e\\xaf\\x77\\xfc\\xfd\\xe4\\xf6\\x71\\x0c\\xc9\\x77\\x75\\x0d\\x7c\\xc3\\xb5\\xde\\xf8\\xf4\\xdf\\x1d\\xe4\\x0b\\xe0\\x23\\x49\\xe6\\x27\\xe0\\x7c\\xf2\\x67\\xe8\\xfb\\x79\\x89\\x00\\xc2\\x39\\xd7\\xf0\\x01\\x33\\x9c\\xc1\\xad\\xc0\\xe3\\xb1\\xda\\x7d\\x26\\xce\\xcc\\x2b\\xb4\\x65\\xda\\x20\\xa3\\x30\\x29\\x3a\\x33\\x3e\\xbb\\xc9\\xa4\\xb5\\x58\\xa0\\xef\\x60\\xe1\\x39\\xa0\\xc5\\x96\\x90\\x5b\\x19\\x46\\x12\\xd2\\x8f\\x12\\x37\\x10\\x41\\x13\\xe2\\x1e\\x08\\x62\\x01\\xa9\\x02\\x01\\xe9\\xdf\\x7d\\x57\\x65\\x5a\\x3c\\x6b\\xfa\\x81\\xe9\\x0b\\xcf\\x9b\\xb8\\xf9\\x7b\\xc5\\x99\\xab\\xe7\\xae\\xd8\\xd6\\xff\\xb9\\x86\\x6a\\xd4\\x88\\xf7\\xcc\\x5a\\xd7\\x11\\x4a\\xce\\x86\\xab\\x5d\\x58\\xf4\\x7d\\xb6\\x72\\x19\\x23\\xb6\\x82\\x27\\x99\\x19\\x17\\x7f\\x16\\xb7\\xdf\\x7b\\xe5\\x82\\x2a\\x06\\x2c\\x1d\\x3f\\x5e\\xdc\\xcb\\x34\\xac\\xd8\\x78\\xaf\\x1d\\xfc\\x07\\x24\\x71\\x9e\\x22\\x41\\x28\\x03\\x18\\x8b\\xa0\\x9e\\xb8\\x2a\\x1d\\x88\\x38\\x9d\\x3e\\x83\\xb9\\x3e\\xca\\x69\\xc8\\xda\\xba\\x58\\xac\\x36\\x9e\\x2c\\xd7\\xd8\\xa3\\x66\\x9f\\xca\\x93\\xf2\\x34\\x24\\x8d\\x15\\x15\\xf5\\x12\\x14\\x41\\x05\\xa5\\x65\\x1d\\x11\\x47\\x7f\\x26\\x1e\\x89\\x78\\x82\\x61\\x7f\\xd0\\xdf\\x97\\x09\\x52\\x4e\\x0d\\xe7\\xf3\\xf8\\xa0\\xdb\\xe0\\x31\\x90\\x46\\x03\\x76\\x7c\\x0b\\xeb\\x97\\xf3\\xd8\\xc2\\xd9\\x11\\x30\\x44\\xfe\\x9c\\xc1\\x0f\\xd1\\x34\\x30\\x34\\x83\\x52\\x17\\x22\\xab\\x79\\x00\\x3b\\x46\\x19\\x50\\x8e\\xa0\\xfa\\x7f\\x4c\\x9f\\x14\\x1c\\x68\\x2b\\xf1\\x23\\xa8\\x93\\xe2\\xc3\\x05\\xc6\\x30\\xf0\\x2a\\xb2\\x85\\xfa\\xfa\\xe1\\xac\\x01\\xac\\x58\\x3e\\xc5\\x59\\x5a\\xef\\x9c\\xb3\\x0d\\xf2\\x10\\x34\\x0d\\x3c\\x77\\x40\\x67\\xee\\x30\\xf4\\xa6\\x91\\x17\\x31\\xc6\\x6d\\xd3\\x0a\\x31\\x2f\\xa7\\xa8\\xf0\\x93\\xe5\\xe5\\xfe\\x60\\xd4\\xa3\\xf0\\x0a\\x36\\x65\\x65\\xdc\\x17\\xeb\\xca\\xf8\\x78\\x25\\x6b\\x72\\x9b\\xe0\\xc4\\x11\\x75\\xba\\xdd\\x36\\xa7\\xd3\\xde\\x99\\x71\\xf2\\x36\\x73\\x67\\xc6\\x66\\x56\\x90\\x3a\\xd9\\x4c\\xf2\\x4e\\x84\\xa1\\xa9\\xa0\\xcf\\x4a\\x00\\xa0\\x30\\x2b\\x6e\\x91\\xc1\\x80\\x6c\\x37\\x49\\xf3\\x02\\x55\\xd0\\x45\\x1c\\xab\\x90\\x8c\\xe7\\x60\\xa7\\x6c\\x3c\\x77\\x4f\\xad\\x12\\xd9\\x71\\x97\\x29\\xc4\\x5f\\x49\\x73\\x02\\xf9\\xc9\\x9f\\x0a\\x2c\\x49\\x6c\\x47\\x86\\x14\\x8f\\x17\\x9b\\xd2\\x37\\x0b\\x82\\x05\\x93\\x42\\x7f\\xce\\xa4\\xc0\\x1f\\x91\\x45\\x21\\x9b\\x5a\\x20\\xb6\\x52\\x5f\\xb3\\x9f\\x10\\x93\\x88\\x2e\\xe2\\xb2\\x74\\x7b\\xaa\\x29\\xda\\x5a\\xdb\\x32\\xb5\\xa5\\xd5\\x30\\xbe\\x2b\\xde\\xa4\\xe8\\xe1\\xbc\\xde\\xee\\xc9\\xd3\\xa7\\x4f\\xe9\\x1a\\x33\\xbe\\x2a\\x5e\\x15\\xef\\xcb\\x54\\x55\\xd1\\x63\\x9a\\x9a\\xc6\\x8c\\xa9\\xeb\\xcb\\x8c\\xa1\\x5d\\xaa\\xfe\\x8c\\xcb\\xc5\\x5b\\x67\\x64\\x78\\xde\\xe4\\xa2\\x03\\xfd\\x19\\xda\\x40\\x84\\x0b\\xb2\\x60\\xf3\\x88\\x01\\x05\\x80\\x23\\x4d\\x32\\xb8\\xaa\\x80\\xe0\\x95\\x4b\\xe0\\xf3\\x70\\x6d\\x62\\x0e\\x46\\xb5\\x21\\x25\\x21\\x1b\\x05\\x31\\x6f\\x04\\x29\\x05\\xd1\\x32\\xc2\\xdc\\x4f\\x14\\x2e\\x52\\xd6\\x50\\x12\\x45\\x69\\x29\\x70\\x43\\xf5\\xd8\\xe6\\xb2\\x69\\x8b\\x26\\x8e\\x8d\\x2d\\x6c\\xbb\\x6a\\x7d\\xd5\\x82\\x50\\x20\\xae\\x9e\\x37\\x3a\\xb5\\x60\\xc5\\xe6\\x9e\\xb3\\x2f\\x3f\\x71\\x59\\x4d\\xcf\\xd4\\xc4\\xa6\\xbb\\x46\\xa8\\x6d\\xfc\\xf7\\xfb\\xa7\\x40\\x65\\x23\\x2b\\xfe\\xeb\\x83\\xfb\\x58\\x93\\x4a\\xb5\\x61\\xf6\\xf8\\x59\\xe5\\x95\\x33\\xbc\\xee\\xe7\\xc7\\x4e\\xa9\\x48\\x56\\x9c\\xbf\\x72\\xdb\\x83\\x1a\\xcd\\x13\\xbb\\xce\\xbd\\x8a\\x1d\\xb6\\xee\\xf1\\xf9\\x4f\\xd9\\x7f\\x3c\\xf6\\x98\\x5f\\xfc\\x1a\\xe8\\xfd\\xa8\\xaf\\x3f\\x80\\x7d\\xfd\\x06\\xb3\\x8b\\x50\\xc0\\xbe\\xde\\x9f\\xee\\xb7\\xda\\x95\\x11\\xbd\\xcf\\x17\\x19\\x1d\\xe4\\x34\\x76\\x6e\\x12\\x45\\xf5\\xd4\\x4c\\x9a\\xd4\\xdd\\x5a\\xd7\\x95\\x69\\x75\\x35\\xa5\\xbb\\x33\\x4d\\x4d\\x63\\x5d\\x65\\x5a\\x8d\\x56\\x83\\xb2\\x3b\\xdc\\xda\\x69\\xda\\x79\\xda\\xd5\\x5a\\x46\\x43\\x69\\xb5\\x55\\xee\\xaa\\xa9\\x9d\\x99\\x2a\\x73\\xc5\\xf4\\xce\\x4c\\x85\\x05\\xc0\\x95\\x90\\x25\\x95\\x14\\xcb\\xba\\x15\\x76\\xbb\\x1b\\x59\\xab\\x5b\\x20\\x15\\x04\\xa6\\x4b\\xcc\\xf5\\xb9\\x54\\x6f\\x5f\\x0c\\xde\\x20\\x71\\x1a\\x27\\xf3\\xe9\\xc9\\xc9\\xc2\\x44\\x5c\\x14\\x1b\\x65\\x3b\\x71\\xc4\\x64\\x2b\\x3e\\x97\\x95\\x95\\xd3\\x1a\\xde\\x32\\xcc\\xeb\\x4c\\x82\\xc7\\x45\\x2a\\x03\\x17\\xe4\\x7b\\x13\\x78\\x51\\x62\\xd6\\xca\\xf5\\xb3\\x7a\\x62\\x7d\\x2e\\x29\\x31\\xeb\\xe0\\xa1\\x8d\\x8b\\x40\\xc7\\xec\\x03\\xf7\\x46\\x1b\\xc6\\x78\\xa6\\x2c\\x4d\\xd7\\x55\\x4c\\xeb\\x9e\\xdb\\x38\\x7b\\xa2\\x3f\\xae\\x9a\\x92\\xac\\x9c\\xd6\\x39\\xab\\xfe\\x64\\xf7\\x95\\x93\\x92\\xd3\\x83\\x67\\xae\\x66\\x76\\x65\\xfb\\xf5\\x87\\x1d\\x77\\xcd\\x58\\xb6\\x62\\xca\\x34\\xb7\\x01\\xe5\\x6f\\x6d\\x5c\\xb9\\x6a\\x8b\\x89\\xd5\\x2f\\x69\\xbf\\x61\\xbf\\x46\\xb3\\x6d\\x6e\\x6b\\x6b\\x2c\\x19\\x8b\\x3c\\xd5\\xd4\\x1c\\x8a\\x87\\xde\\x9f\\xb3\\xbd\\x43\\xbf\\x15\\xef\\x09\\xc0\\x7f\\xd9\\x33\\xe0\\x3c\\x1a\\x24\\xe6\\xa7\\x6b\\xb4\\x2a\\x1b\\x41\\xe8\\x19\\x97\\xd7\\xcb\\xa8\\xa8\\x32\\xb7\\x3b\\xe4\\x55\\x59\\xad\\x06\\x93\\x01\\xce\\x91\\xac\\x1e\\x95\\x9b\\xe9\\xf5\\x94\\x89\\x72\\x69\\xb2\\xc4\\xf2\\x05\\x4b\\x60\\x16\\xf6\\x27\\xeb\\x19\\x14\\x41\\xff\\x14\\x31\\xc8\\x47\\x28\\x74\\x6e\\x87\\x58\\x34\\xa5\\xd9\\x30\\x4b\\x4d\\xc5\\xd2\\x7e\\x8a\\x93\\xe6\\xc0\\xa9\\xeb\\xae\\x18\\xbf\\x7a\\x83\\x12\\x8c\\x9a\\xec\\x9a\\x34\\x7a\\xd3\\x21\\x25\\xa9\\x53\\x1e\\xd9\\x74\\xd7\\x93\\x9e\\xc9\\x60\\x94\\x12\\xb1\\xc7\\x7f\\x21\\xfe\\x57\\x66\\x8f\\xbf\\xeb\\x7f\\xc1\\xb9\\x8e\\x7a\\x31\\xbd\\xff\\x5a\\x32\\xcb\\x1c\\x0f\\x0e\\x3e\\x20\\x51\\xc7\\x7f\\xfa\\x1a\\x94\\x6f\\x82\\xd8\\xc1\\xf8\\x30\\x17\\x74\\x47\\x3a\\xa2\\x46\\x7b\\x8d\\x02\\xb0\\x3a\\x1c\\x40\\x41\\x79\\x6d\\x36\\x9f\\x55\\xcf\\x3b\\x14\\xd2\\x69\\x97\\x51\\x20\\x85\\x21\\x9c\\x5b\\xb2\\x74\\x43\\xa5\\x41\\x24\\x5b\\x55\\xa4\\x2c\\x0a\\x59\\xc4\\xb0\\xc5\\x06\\x49\\xcf\\x81\\x29\\x33\\xe7\\x57\\xf3\\xac\\xf9\\x1c\\x05\\x30\\x9b\\x15\\x7a\\x5f\\xe0\\xb6\\x03\\xb7\\x6d\\xbe\\x29\\x38\\x13\\xf8\\x14\\x5b\\x5a\\xab\\xbe\\xf8\\x35\\x22\\x2a\\x49\\xae\\xbe\\x6f\\x03\\x78\\xdc\\x1e\\x1f\\xf8\\xfe\\xf5\\x35\\x55\\xd4\\xd9\\xa7\\xaf\\x07\\x2f\\xbe\\x0e\\xfe\\x14\\xb7\\x8b\\x1b\\x44\\xf1\\x4b\\x9c\\xf3\\x23\\xd7\\x54\\x12\\x70\\x1e\\x21\\x1a\\x88\\x19\\x69\\x8d\\x91\\x88\\xf9\\xd8\\x64\\x2c\\x99\\x6a\\x74\\x2a\\x4f\\x00\\xd3\\x63\\x19\\xd6\\xe9\\x34\\x5a\\x2c\\x3a\\x84\\x64\\xa9\\xcf\\x58\\x2c\\x11\\x18\\x2e\\xf7\\x65\\x12\\x74\\x84\\xea\\xcb\\x44\\x86\\xa2\\x57\\x4a\\x5b\\x5a\\xf9\\x8d\\x3a\\x39\\xb5\\x83\\x30\\x16\\xa0\\x83\\xb3\\x85\\x00\\xd7\\xb2\\x8d\\x93\\x20\\x50\\x16\\x2e\\x24\\xa8\\x00\\x89\\xd7\\x0f\\xbc\\x08\\xa2\\xf5\\xe9\\x5b\\x1a\\xcf\\x3b\\xaf\\xa5\\x3b\\x9c\\xda\\x5c\\xa6\\xb6\\x8f\\xbf\\x61\\xd4\\xb9\\xeb\\x9b\\xbb\\xc3\\xf5\\x5b\\x03\\xcc\\x5b\\x87\\x2e\\x7a\\xff\\x2e\\x50\\x79\\xb7\\x38\\x78\\x6d\\x96\\xb2\\xe2\\x75\\xf1\\x20\\xf8\\xd7\\x2b\\xdf\\x80\\xc9\\x40\\x57\\xd3\\x3c\\xb5\\x3c\\x10\\x76\\x4c\\xdb\\x5b\\x37\\x6a\\x4a\\x34\\x10\\xb1\\x95\\xd7\\xbf\\xf6\\xdd\\xd5\\xe2\\xbf\\x4e\\x5f\\x7a\\xe5\\x3f\\x6f\\x95\\xd9\\x2b\\xbe\\x14\\xcf\\x39\\x89\\xfb\\x40\\xce\\xab\\x22\\x04\\x18\\x07\\x25\\x88\\x76\\xe8\\xad\\x11\\x21\\x17\\x5b\\x19\\xaa\\xac\\xae\\xb1\\x29\\xd0\\x1e\\xbf\\xd1\\xa8\\xed\\xce\\x18\\x8d\\x81\\x68\\xd4\\xdb\\x95\\x89\\x0a\\x01\\xaa\\x2b\\x13\\x18\\x7a\\x94\\x9c\\xe7\\xeb\\x95\\x04\\x37\\x4a\\x53\\x2a\\x1c\\xab\\x08\\xbb\\x13\\x4a\\x8d\\xa1\\x57\\x61\\x2c\\x2b\\x8b\\x6c\\x2c\\x48\\xc7\\x26\\xd9\\x2f\\x57\\xcc\\x5f\\xf7\\x64\\x59\\x57\\x43\\x75\\xc7\\xf8\\x96\\x40\\x4d\\x4a\\x65\\x9d\\x51\\x57\\x3d\\x75\\x7c\\x73\\xb0\\xae\\x96\\x59\\xbe\\xe8\\xac\\xe3\\x97\\xa0\\xf3\\xcb\\x5b\\xd1\\x3f\\xa0\\xf7\\xaa\\x6b\\x3f\\xf8\\x45\\x83\\x2f\\xe4\\xb3\\x8f\\xd9\\x56\\xe7\\x0d\\x79\\xed\\xa3\\x82\\x3b\\xae\\x7d\\x79\\x60\\xd4\\x07\\x8f\\x48\\x64\\x17\\xe8\\x24\\x13\\x8f\\xbb\\x55\\x83\\x9f\\xb2\\x19\\xa8\\x5b\\xd8\\xd4\\xb4\\x9a\\x57\\x09\\x2a\\x2b\\x69\\xb1\\xd8\\x4c\\x34\\x72\\x53\\x0c\\x30\\x6a\\x37\\xc1\\x68\\x4b\\xa3\\xe2\\x35\\x3c\\x8c\\x5b\\x69\\xa5\\x31\\x9f\\x56\\x5f\\x10\\x95\\x37\\x35\\x15\\x86\\xe3\\x20\\x28\\x25\\x3b\\x1a\\x01\\xd6\\x20\\x5b\\x35\\x9e\\x75\\xd5\\x4f\\x5c\\x97\\x1a\\xb8\\x2d\\x29\\x7e\\xb4\\x45\\x05\\xbe\\x54\\xfd\\xe2\\xb7\\xe0\\xc4\\xd4\\xe3\\x9b\\x66\\x76\\xd0\\xa3\\xf6\\x98\\x16\\x2d\\xf8\\xe1\\x59\\x46\\x8b\\xab\\x52\\xe3\\x54\\x70\\xc7\\xa5\\x4e\\x69\\x8f\\xd0\\x35\\x78\\x8a\\x7e\\x06\\xf6\\xb7\\x89\\xa8\\x4a\\x5b\\xb5\\x2a\\x95\\xce\\x4c\\x9a\\x4c\\x16\\x03\\xde\\x49\\x30\\x08\\x3a\\xa5\\x86\\x47\\xc7\\x08\\x70\\xb8\\x8f\\xdc\\x0c\\x3c\\x28\\xa4\\x46\\xd0\\xb7\\xd5\\xd8\\xdc\\x81\\x78\\x5b\\x48\\xb4\\x4d\\x7e\\x7a\\x9d\\x12\\x10\\xbb\\xc0\\xac\\xd6\\x2d\\x99\\x69\\xed\\xe4\\x67\\x17\\x1a\\x52\\xa3\\x4f\\x9f\\xa2\\x2e\\x80\\x03\\xa0\\x8c\\xac\\x5c\\x3b\\xd7\\x22\\xed\\x73\\xe3\\x7e\\x61\\xff\\x60\\x08\\xd3\\x21\\x8c\\x75\\xf5\\x2e\\x15\\x04\\x9d\\x98\\x83\\x28\\x20\\x71\\x10\\x49\\x5c\\xb4\\xf4\\x33\\x68\\x2f\\x1c\\xc1\\x22\\xa3\\xcf\\x90\\x06\\x78\\x33\\xfa\\x8c\\x4f\\x9f\\xe5\\x29\\x5a\\x26\\xb6\\xe1\\x3d\\x61\\x2d\\xe1\\x22\\xc6\\x10\\x2b\\xd2\\x6e\\x4e\\x5f\\x5f\\x4b\\xd8\\x3d\\xa3\\x2b\\xbd\\xa3\\x46\\x8d\\xb6\\xd7\\xea\\x99\\xb1\\xd0\\x64\\x9a\\xd1\\xab\\xe6\\xea\\x14\\xea\\x75\\x5b\\x26\\x99\\xac\\x76\\xb9\\x47\\xf7\\x65\\xc2\\x6e\\xde\\x8c\\xaa\\x09\\x69\\x9d\\xaa\\x2f\\xa3\\x2b\\x5c\\xbf\\x0b\\xd8\\x35\\x93\\xa5\\x2c\\xab\\xd9\\x5d\\xd1\\xc2\\xe2\\x14\\x10\\x90\\x91\\x95\\xe4\\xca\\x15\\xbf\\x13\\xe4\\xc9\\xe4\\x39\\x5c\\x50\\x2c\\x9f\\x8b\\x1a\\x53\\x54\\x84\\x5e\\xff\\xd0\\xed\\xd7\\xfe\\x79\\xfb\\xfd\\x7b\\xaf\\xf9\\xec\\xfa\\x81\\x7f\\x7d\\x29\\x7e\\x71\\x02\\xb4\\xbd\\xb7\\xf7\\x6f\\x5b\\x1f\\x15\\x9f\\x22\\xa7\\xc2\\xbe\\xfb\\x5b\\xba\\xc2\\xa6\\x78\\xc6\\x31\\x43\\x3c\\x6f\\xe3\\xb6\\x4b\\xa6\\x76\\x4f\\x0c\\xc5\\x05\\x47\\xe3\\x95\\x37\\xc7\\x1f\\x3b\\x9b\\x4a\\xbf\\xfb\\xb7\\x57\\xc5\\x2b\\x5e\\x3a\\xf9\\xf9\\xb3\\x60\\xc3\\xc0\\x06\\x10\\xfe\\xe6\\x9f\\xe0\\xaa\\x37\\x2f\\xfd\\xfe\\xce\\xef\\xc4\\xf5\\xbf\\xa4\\x9e\\x1b\\x28\\x03\\x37\\x9f\\xdd\\x1d\\xaa\\xe4\\xe2\\xd6\\xf2\\xce\\x9d\\x03\\x4b\\xde\\xb8\\x6d\\xaa\\xe1\\x97\\xfd\\x56\\xa0\\xeb\\xa1\\xe6\\xda\\x09\\x69\\x9c\\x89\\x6d\\x5c\\x18\\xea\\x5d\\x43\\x38\\x88\\x51\\xc4\\x92\\x74\\x03\\x21\\x24\\xab\\x39\\xab\\xab\\xa9\\xc2\\xdd\\xd8\\xd8\\x64\\xad\\x16\\x98\\xd1\\xbe\\x48\\x64\\x0c\\x7a\\x35\\xa6\\xaa\\xbe\\x3b\\x53\\x53\\x53\\xe5\\x72\\x36\\x75\\x66\\xca\\x9c\\xbc\\x49\\xd9\\x95\\x31\\x09\\x5a\\x38\\xf0\\xb4\\x96\\xff\\x4f\\x7d\\x65\\x94\\xf3\\x02\\x04\\x74\\xd6\\x56\\x3c\\xe2\\x7e\\xa2\\xa7\\xbe\\xec\\x9b\\x7f\\xc6\\xbe\\x33\\x9e\\x9f\\x7b\\xe7\\xdc\\xe3\\xfb\\x9f\\xbb\\xe2\\xef\\xb7\\xa0\\x7f\\xc0\\x8d\\x3f\\xda\\x45\\x68\\x68\\xee\\xfa\\xcf\\xcd\\xc0\\x7e\\xc3\\x69\\x91\\x7a\\xef\\xb1\\x7b\\x81\\x61\\x2f\\xfc\\x57\\xfc\\x6a\\xef\\x4f\\x75\\x0f\\x49\\x2c\\x1f\\x3c\\xc4\\x0a\\xcc\\x0d\\x84\\x9d\\x48\\xa2\\x9d\\x73\\x07\\x11\\xd1\\x12\\xda\\xba\\xfa\\xa0\\xdb\\xea\\xee\\xcf\\xf8\\x7c\\x70\\xee\\xb5\\x1a\\x2b\\xaa\\xe9\\xea\\xbe\\x4c\\x3c\\xce\\xa9\\x68\\xc4\\x4a\\xf3\\x96\\x9c\\x41\\xdb\\x92\\x74\\xc8\\x97\\x05\\xc4\\x1c\\x46\\x68\\x12\\x32\\x09\\x83\\x05\\xa3\\xc9\\x71\\x12\\xc3\\x40\\x98\\x48\\x99\\x2c\\x56\\xe9\\x8d\\x66\\x80\\xc9\\x33\\xa4\\x37\\x74\\x80\\x5c\\xfe\\x38\\x98\\xfe\\xb1\\x3a\\x15\\x0c\\x36\\xaa\\x3f\\x03\\x96\\xe7\\xc5\\x13\\x1f\\x6a\\x1a\\x82\\xc1\\x94\\xfa\\x7f\\xc5\\x3f\\xbf\\x76\\xe8\\x06\\x5d\\xd2\\xe7\\xab\\xd7\\x5d\\xff\\x8f\\x5b\\xee\\xdb\\xa9\\xad\\xf7\\x05\\xea\\xb5\\xbb\\xbe\\xdd\\x43\\x92\\x9f\\x83\\x2d\\x1f\\x2b\\xbc\\xe5\\x51\\x9f\\x41\\xfc\\xf8\\x77\\x5f\\x88\\xe7\\xbf\\xab\\xf4\\x44\\x22\\x5e\\x1d\\x88\\xbc\\x7f\\xfc\\xaf\\x66\\x67\\x20\\xe8\\xe2\\x4e\\x82\\x73\\x1f\\x79\\xe4\\x94\\xc5\\x15\\x08\\xb9\\x99\\xb7\\xc4\\x1d\\xf8\\xdc\\xf1\\x10\\x3d\\x9b\\x56\\x42\\x59\\x6b\\x89\\x74\\xda\\x2b\\xc9\\x9a\\xac\\x83\\x52\\x5a\\xd3\\x56\\x77\\x57\\xc6\\x6a\\x89\\x26\\xe8\\x44\\x57\\xa6\\xb2\\x12\\x4a\\x2a\\x14\\x4a\\x1a\\x23\\x1c\\x36\\x01\\xbe\\x2a\\x16\\xb4\\x21\\xc7\\x36\\x81\\x59\\x82\\xb2\\x54\\x0a\\x05\\x82\\x92\\xf5\\x75\\x59\\x31\\xc9\\xd6\\x8b\\xff\\x74\\x03\\x92\\xab\\x41\\x73\\xdb\\x13\\x57\\xfc\\x71\\x27\\xbc\\x0c\\xa4\\x34\\x77\\x9c\\x38\\x32\\xbb\\x4b\\x5b\\xef\\xf7\\x37\\x68\\x67\\xdd\\x3a\\xeb\\x80\\x24\\xf7\\xec\\x9b\\x67\\x81\\x0d\\x7b\\x81\\xe2\\x6e\\x95\\x17\\x46\\x72\\x8a\\x5f\\x3d\\xb4\\x4f\\xfc\\x6e\\x8f\\x12\\x5f\\xbf\\x77\\xcd\\xe6\\x6b\\xd4\\xee\\xb2\\x90\\x5b\\xbd\\xe7\\xdb\\xab\\xff\\xe3\\xf6\\x84\\x23\\x1e\\xf5\\x4d\\xdf\\x41\\x1b\\x5f\\x3e\\x78\\x4a\\xf1\\x17\\x6e\\x03\\x3a\\xf9\\x27\\xe6\\x10\\x37\\xa7\\x9d\\x75\\x35\\x1d\\x9d\\x6e\\x03\\x63\\xe8\\x34\\xd7\\xf0\\x6c\\xd3\\xa4\\xa6\\xd8\\xa4\\x99\\x33\\xc3\\x31\\x2a\\x33\\xb7\\x25\\x8c\\xf0\\x03\\xf4\\x99\\x96\\x96\\xf2\\xc4\\x94\\x86\\x44\\x43\\x5f\\x66\\x7a\\x32\\x99\\xa0\\x39\\x69\\x17\\x80\\x4e\\x98\\x6d\\x3e\\x8a\\x48\\xf0\\x3c\\x41\\x68\\xd0\\x07\\x75\\x19\\xa2\\x27\\x41\\x4f\\x18\\x53\\x3e\\x06\\x7a\\x4a\\xe5\\xd9\\xd3\\x24\\xa8\\xfc\\x97\\xb2\\x3e\\xa7\\xb5\\x49\\x90\\xaf\\x93\\xf9\\x42\\xb8\\x7c\\x54\\x54\\xe8\\x67\\x22\\x97\\x1e\\xba\\x8c\\x01\\x99\\x70\\xa2\\x19\\x18\\x4d\\x28\\x1b\\xad\\xbe\\xae\\x8a\\x94\\xf2\\x4d\\x28\\xd8\\x55\\xe8\\x80\\x29\\x87\\xd9\\x86\\x80\\xea\\xb3\\xe7\\x4b\\xc9\\x82\\x53\\x29\\x14\\x08\\xa0\\x4e\\xc6\\x36\\xc6\\x34\\xcf\\x3b\\xff\\xfc\\x79\\x69\\x53\\xfd\\x39\\x9b\\xc6\\xf4\\xc7\\xaf\\x69\\x98\\xe2\\xb8\\xf1\\x93\\x73\\x2f\\x52\\x5d\\x60\\x77\\xdb\\x47\\xc5\\x42\\xd5\\xcc\\xa6\\x47\\x1a\\xff\\xe7\\x1b\\xf1\\x4b\\xf1\\x97\\x8f\\x81\\xe9\\xef\\x9c\\x78\\x34\\x39\\x81\\xec\\xbf\\xfd\\x5b\\xf1\\xf3\\x93\\x2f\\x2c\\x7a\\x64\\xc1\\xf8\\xd1\\xb7\\x2e\\xbd\\x0f\\x58\\xee\\x3f\\xb0\\x67\\xf7\\xa5\\x8d\\x13\\x92\\x9b\\xf6\\x2c\\xff\\x0c\\x70\\xef\\x8a\\xdb\\xb9\\x0d\\xbd\\x33\\xc1\\x9a\\xb6\\x40\\x70\\xc7\\x65\\x37\\x8a\\xaf\\x9f\\xb1\\x3c\\xd8\\x18\\xaa\\x16\\x0c\\x06\\xbb\\x2d\\x52\\x95\\xfc\\xcf\\x96\\xce\\xf6\\x5b\\x40\\xe0\\xf4\\xf7\\xe0\\xe2\\x93\\xe8\\x3c\\x6a\\xa9\\xb8\\x50\\xbc\\xf5\\x83\\x3f\\x2f\\x39\\xfb\\xbc\\x05\\x2f\\x81\\xb5\\x6f\\xbf\\x7b\\x6a\\xe9\\x01\\xe0\\x2b\\xb3\\x89\\x9f\\x7c\\x7f\\x5a\\xbc\\xf8\\x4d\\x3c\\x07\\xb5\\x0d\\x9e\\x62\\x13\\x2c\\x03\\x23\\xfa\\x49\\x50\\x3f\\x57\\xa7\\xa7\\x0a\\xda\\x19\\xed\\xd1\\xca\\xd1\\x95\\xed\\x53\\xb5\\xad\\xac\\xa5\\xcc\\xc2\\x95\\xd5\\xd6\\x92\\x1c\\xd4\\xcf\\xa8\\xb1\\xdd\\x99\\x51\\xea\\x59\\xd3\\xa7\\x52\\xea\\x86\\xd6\\xd6\\x86\\x86\\xf1\\x3d\\x99\\x06\\xb5\\x8b\\xec\\x86\\x11\\x18\\xad\\x0e\\x1b\\xd5\\xc6\\xae\\x4c\\x8c\\xe7\\x13\\x6a\\xc1\\x67\\xa7\\xed\\xdd\\x19\\x82\\xb6\\xe4\\x75\\x92\\x2c\\x54\\x01\\x62\\x84\\x29\\xd6\\xd1\\x70\\x3a\\x61\\x02\\x91\\x62\\x5e\\x08\\xa4\\x1a\\x79\\x8e\\xcf\\x66\\x07\\xa0\\x59\\xac\\x30\\x1a\\x80\\x73\\xd8\\x4f\\x6a\\x92\\x76\\x7c\\x38\\xf1\\xe2\\x4f\\xef\\x39\\x71\\xc1\\x6f\\xb7\\xae\\xba\\x28\\x96\\xd2\\x9b\\x27\\x86\\xb7\\xdd\\xb6\\xfe\\x9c\\xcc\\x3d\\x81\\x46\\xf5\\xc5\\x73\\xd7\\x1c\\x9c\\x7b\\x4b\\x55\\x93\\xbb\\x35\\x15\\xab\\x5b\\xd5\\x7e\\xc3\\xdd\\xd7\\x7c\\x27\\xfe\\xdf\\x8f\\xaa\\xd0\\xb4\\x7f\\xff\\x5b\\x8f\\x1c\\x06\\x86\\x5b\\xbd\\xdf\\xde\\x60\\x76\\x88\\xff\\xfa\\xe4\\x9e\\x5d\\xf3\\x5b\\xdb\\xe6\\x5d\\xf6\\xd7\\x5d\\xc0\\x65\\xb3\\xde\\xf0\\xad\\xc6\\xf8\\xe6\\xc3\\x87\\xc4\\xbf\\xdc\\xc6\\xda\\x47\\xd6\\x5a\\x16\\xcb\\x43\\xf1\\x05\\xbb\\x03\\xae\\xaf\\x7a\\x5c\\xdf\\xf1\\x32\\xd3\\x25\\xe1\\x75\\xb5\\xe6\\xf1\\xba\\x8e\\x41\\xdf\\x74\\x3b\\xe3\\x15\\xc2\\xb4\\x61\\x31\\x21\\xc0\\xcf\\x50\\x67\\x0e\\xfe\\x2f\\xc2\\x30\\x84\\xfe\\xf6\\x4a\\x8c\\xbd\\x99\\x86\\x33\\xa5\\x0a\\xb0\\x2a\\xd6\\x63\\x14\\x04\\xaf\\xce\\xd2\\x87\\xd9\\x45\\x38\\xa2\\x2f\\xc3\\x19\\x01\\x4b\\xc3\\x70\\x82\\x2e\\x66\\x46\\x4b\\x94\\xe0\\xcd\\x86\\xe4\\x4d\\x93\\xb2\\x02\\x4b\\xcf\\xc1\\xce\\x5a\\xa9\\xfe\\x49\\x12\\x86\\xc9\\x18\\x71\\x50\\xfc\\xc3\\xdb\\x08\\x99\\xf0\\xb3\\xaa\\xf1\\xa0\\xe5\\x48\\xff\\x23\\xe2\\xa7\\x77\\xbc\\xf7\\xdb\\x4a\\xf1\\x6c\\x1c\\x22\\x74\\xab\\x80\\xfb\\x1f\\xff\\x05\\x9b\\xdf\\xce\\x42\\xcf\\xee\\xfb\\xd3\\x6f\\x3e\\xd1\\x62\\x5f\\x67\\xb2\\xd8\\x41\\x2d\\xc7\\xb9\\x7f\\xe9\\x74\\x00\\xb5\\xd5\\xa4\\xd7\\xb3\\x2a\\xca\\x03\\x1b\\xdb\\x95\\x31\\x18\\x74\\x02\\x47\\x74\\x67\\x38\\x0b\\x6a\\x6c\\xe7\\x30\\x8d\\x2d\\x44\\x0b\\xcd\\xb6\\x35\\xc7\\x89\\x26\\x27\\xd9\\xe0\\x6c\\x59\\x2b\\x39\\xb6\\xeb\\x0e\\x85\\x68\\x57\\xec\\x6f\\xbe\\xf9\\xc0\\x95\\x3f\\xec\\x48\\xef\\xaf\\x8a\\xa7\\x84\\xb1\\x8b\\xce\\xb8\\x7b\\xfe\\x65\\xdb\\x66\\x88\\x2d\\x78\\xc7\\xf2\\x4c\\xd5\\xc3\\x77\\x1d\\x01\\xae\\x87\\xfc\\x46\\x94\\x63\\xb3\\x4b\\xbc\\x69\\xcd\\xa5\\x6a\\x02\\x0c\\xde\\x3f\\x78\\x8a\\xfc\\x01\\xf3\\x2d\\xce\\x4e\\xd7\\x30\\x0a\\x52\\x0d\\x34\\x06\\xde\\x48\\xf1\\x1a\\xb5\\x42\\xab\\x54\\x70\\x7a\\xbd\\x99\\x33\\xa1\\xff\\xa2\\x75\\x04\\x7a\\x97\\x56\\xc1\\x0b\\xb8\\x04\\xa9\\x08\\x1d\\x2d\\x70\\x70\\x26\\x7a\\xcb\\xda\\x94\\x80\\x7f\\xb0\\x35\\xe7\\xe1\\x81\\x8a\\x28\\x31\\x22\\x9c\\x95\\x8b\\x60\\xef\\xd1\\x9a\\x82\\x7f\\x41\\x12\\x58\\xc9\\xf5\\xcf\\xac\\x7b\\xa6\\xf2\\x19\\xf1\\xbb\\x45\\xc0\\xf5\\x74\\xe5\\xd3\\xeb\\xe0\\x5f\\xa0\\x5c\\x28\\x7e\\xf1\\x0c\\xf9\\x9b\\xd6\\xdf\\xb4\\xce\\x6c\\x1d\\x38\\x4d\\x06\\xe1\\x2f\\x74\\x09\\x4e\\x0f\\x7c\\xd6\\x8a\\x7d\\x47\\xf1\\x08\\x3d\\x0a\\x4c\\x63\\xce\\x21\\xcc\\x84\\xee\\xb8\\x59\\xa9\\xd4\\xc1\\x29\\xf2\\x4d\\x18\\x16\\xd6\\x54\\x53\\x72\\x7d\\x63\\x43\\xd2\\x2f\\x19\\x3e\\x8a\\x92\\xfd\\xdb\\x1b\\x2b\\xa2\\x63\\xc6\\x34\\x82\\x45\\xa3\\x2a\\x2a\\x1a\\x9b\\x1a\\xc5\\xdb\\xe8\\xbb\\x2a\\x46\\x8f\\x89\\x56\\x8c\\x52\\x57\\x8c\\x1a\\x05\\xdf\\xc2\\xcf\\xdc\\x4b\\xf7\\x81\\xa5\\xcc\\x46\\x38\\x67\\x0b\\x8f\\xa8\\x35\\x1a\\x06\\x51\\x50\\xbe\\x59\\x8b\\x9f\\x6a\\xac\\x35\\x06\\xb1\\xcb\\xc9\\xc6\\x40\\x7d\\xaa\\x16\\x0e\\xbc\\xed\\xef\\x2b\\xa7\\xb8\\x2e\\xf6\\x77\\x36\\xac\\xdd\\x30\\x6f\\xf9\\xbc\\xb5\\x8d\\x73\\x98\\x8d\\xe2\\x17\\x3b\\x82\\x81\\xb6\\x35\\x60\\x66\\x25\\xc6\\xe3\\x22\\xce\\xa1\\xa7\\x83\\x29\\xcc\\x3b\\x30\\x9e\\x50\\x1c\\xe5\\x00\\x7c\\x16\\xe2\\xb2\\xcb\\x66\\xf2\\x41\\x4f\\x03\\x29\\x0c\\xb4\\xa9\\xfb\\x56\\xa6\\xeb\\x2b\\x9a\\x1a\\xcb\\xcc\\xf4\\x35\\xcd\\x89\\xb3\\xa7\\xb7\\x76\\xd5\\x04\\x9b\\xad\\xbc\\x59\\xa8\\x46\\xcf\\x58\\x49\\xf7\\x83\\x79\\xcc\\x49\\xfc\\x0c\\x2c\\xa4\\x54\\xe2\\x58\\x5f\\x30\\xb2\\xc1\\xbc\\x73\\xb7\\x5e\\xec\\x0a\\xb8\\x1a\\x22\\xc9\\x16\\xa6\\x6b\\xd6\\x79\\xe1\\x96\\x70\\xd2\\x6c\\xb1\\x04\\x02\\xe1\\xca\\x09\\x58\\xae\\xcb\\xe9\\x85\\x94\\x99\\xb9\\x00\\x3e\\xc3\\x9a\\x56\\x43\\xc1\\x08\\x9e\\xf3\\x72\\x24\\x47\\x13\\x89\\xb7\\xe6\\xd5\\x62\\xbd\\x50\\x59\\x4c\\x74\\x86\\x4e\\x9a\\x03\\xa1\\x2a\\xa0\\x99\\xb7\\x9c\\xdd\\xcf\\x3c\\xfc\\xd8\\x66\\xc0\\x00\\xfa\\xb6\\x23\\xe2\\xb7\\x87\\x76\\x30\\xc9\\x95\\xcb\\x6e\\xba\\xb4\\xab\\x6b\\x59\\xff\\xe8\\x10\\xd2\\x81\\xe2\\x74\\x4c\\x3c\\x42\\x7d\\xc0\\x1c\\x85\\x7e\\xaf\\x93\\x88\\x12\\x29\\xa2\\x95\\x98\\x41\\x2c\\x20\\xd6\\x12\\xcb\\xd3\\xf5\\x04\\xd7\\x1d\\xf1\\x4d\\x71\\xb5\\xb5\\x05\\xa7\\xad\\x9e\\x30\\x66\\x69\\xe3\\xc2\\x85\\x2d\\x2b\\xfa\\xea\\xab\\xe6\\x54\\xf4\\xf6\\xd6\\x9c\\x61\\x37\\x70\\x53\\xa6\\x2d\\x5d\\x31\\xe7\\x0c\\x83\\xe1\\x8c\\x39\\x2b\\x96\\x4e\\x9b\\xc2\\x29\\xd4\\x3a\\x33\\xad\\x26\\x12\\x70\\xbe\\x34\\x48\\x46\\x84\\x0d\\x29\\x59\\x98\\xdf\\x37\\xe4\\x02\\xd5\\x37\\xb1\\xe6\\xa0\\xd4\\x9b\\xc1\\xba\\x30\\x55\\xf4\\x0a\\xfc\\xc8\\x7b\\xc6\\x9f\\xfd\\xc9\\xe2\\x57\\xc9\\xf6\\xae\\x8d\\xbd\\xbd\\x1b\\xbb\\xda\\xea\\x73\\x57\\x64\\xef\\x30\\xff\\xd9\\x91\\xbb\\xfa\\x6f\\x63\\x7d\\x9b\\x74\\xd9\\x9e\\xcc\\x5d\\x1d\\xcf\\x5d\\x7d\\xd0\\x9e\\xec\\xdd\\xb8\\xb1\\xb7\\x7a\\x2a\\xdb\\x90\\xbd\\xfa\\xef\\x3b\\xd9\\x2b\\x3a\\x92\\xbd\\x12\\x15\\xd9\\xab\\x81\\x77\\x3b\\x12\\xe8\\x2a\\xd9\\x4e\\x47\\xb2\\x57\\xa2\\x22\\x7b\\x05\\x75\\x52\\x2d\\x2e\\xa6\\xde\\x61\\x69\\x1c\\xc3\\xd6\\x12\\x13\\x88\\xd9\\xc4\\x2a\\x62\\x0b\\xb1\\x9b\\x68\\x4c\\xfb\\x26\\xeb\\xae\\x9a\\xb8\\x2b\\xde\\x14\\x68\\xd8\\xbc\\xc8\\xbb\\x76\\xde\\xbc\\xb5\\xde\\x45\\x9b\\x1b\\x02\\x4d\\xf1\\x5d\\x13\\xaf\\xd2\\x4d\\xd6\\x51\\x26\\x68\\x5c\\x89\\x82\\xce\\x97\\xfe\\xd4\\x54\\x5b\\x4b\\xac\\x8d\\xaa\\x6b\\x48\\x99\\x59\\xb3\\xc9\\x43\\x4a\\x89\\x5a\\xa8\\x86\\x15\\x0d\\x8d\\xec\\x36\\x21\\x03\\x3d\\x86\\xa4\\xbc\\x1b\\x85\\xc6\\x1e\\xc0\\xa6\\x1e\\x91\\x63\\x5d\\xe9\\x33\\x00\\x9f\\xe0\\x5a\\xe5\\xcd\\x46\\xe9\\x73\\x21\\xbc\\xc3\\xc8\\xc9\\xbb\\x59\\xf2\\xb3\\x0b\\xcb\\x0e\\xa5\\x3d\\x48\\xcb\\xd9\\x8b\\x2f\\xda\\x14\\xa8\\x08\\xa4\\x62\\xc9\\x71\\x7f\\xcc\\x5f\\x52\\x73\\xe6\\xac\\x0a\\xb5\\x94\\xd5\\x5b\\x2d\\x66\\x3f\\xb4\\xfb\\x69\\xff\\x5d\\x59\\xfc\\x9a\\x3e\\xd8\\xbc\\x6c\\x74\\xbc\\xcc\\x62\\x31\\xc5\\x6d\\x9e\\xaa\\x09\\xa7\\x47\\x17\\xbd\\xa4\\xe6\\xad\\x9f\\x38\\x79\\x4d\\x65\\x5b\\xc4\\xe4\\x35\\xc6\\x7d\\xe5\\xe3\\x4f\\xff\\x21\\xff\\x3a\\xe1\\x29\\x1f\\x7f\\xbc\\xf8\\x61\\xcc\\xcd\\xc5\\xaf\\x07\\x5e\\x18\\xb6\\x4d\\xe2\\x27\\xc5\\x4f\\xa5\\x02\\xc5\\xaf\\x97\\x8f\\xd8\\x24\\x6f\\x7c\\x02\\x3e\\x77\\x40\\xb8\\x93\\xec\\x20\\x5c\\x33\\x62\\xc4\\x96\\xf4\\x38\\xbb\\x56\\x6b\\x40\\xe9\\x69\\x6a\\xa7\\x93\\x24\\x29\\x03\\x25\\xc4\\x85\\xca\\x68\\xd4\\x8c\\xcb\\x03\\xfd\\xe1\\xb0\\xa7\\x3f\\x13\\x36\\x3b\\x6d\\x24\\x66\\x58\\x74\\xa8\\xed\\x1a\\x5a\\x70\\x9b\\x29\\xad\\x8a\\xc2\\x0c\\x8b\\x0a\\xc1\\xc0\\x4a\\xf9\\x54\\x79\\x58\\x2a\\xa8\\x6d\\xf9\\x5a\\x78\\x05\\x7b\\x27\\x28\\x73\\xad\\x29\\x31\\xcc\\x81\\x03\\x9c\\x74\\x64\\xc0\\xc2\\x2c\\x84\\x9b\\xbf\\x08\\xde\\x2d\\x82\\x61\\xef\\xc9\\xa0\\x0f\\x21\\xcb\\xb3\\x21\\xd5\\x91\\x77\\x11\\x38\\x8b\\x78\\x47\\x16\\xcf\\xad\\x00\\x34\\x55\\x42\\x7c\\x9b\\xd6\\x7b\\x55\\x47\\xba\\x69\\xf5\\xb5\\xf3\\xc5\\x7f\\xd5\\x1e\\x34\\xce\\x45\\xf0\\x66\\x32\\xb0\\x61\\x0e\\xe5\\xad\\x04\\x03\\xee\\xbd\\xa5\\xdb\\x5d\\xe7\\x6d\\x9a\\xf4\\xad\\x6b\\x66\\x06\\xe5\\xa9\\xa0\\x5a\\xaa\\xbf\\xe1\\xb9\\x27\\x46\\xac\\x4b\\x8f\\xf2\\x06\\x02\\x2e\\x3b\\xaf\\xd3\\xc5\\x8c\\xd1\\x68\\x45\\x45\\xcc\\x4e\\x55\\xc6\\xa3\\xbc\\x5a\\xed\\xe1\\x29\\xd8\\x39\\x94\\x42\\x01\\x17\\x57\\x85\\x07\\x15\\xd5\\x7b\\x78\\x63\\xc8\\x12\\xea\\xc9\\x58\\x2c\\x86\\x58\\x67\\xc6\\x60\\x16\\x4a\\x2b\\xab\\x50\\x47\\x14\\xf6\\x46\\x4b\\xc9\\x79\\x82\\xec\\x38\\x17\\xc8\\x0b\\x86\\x29\\xb2\\x32\\xe7\\xf2\\xd0\\xc8\\x4b\\x8b\\x45\\x05\\x0b\\x86\\x56\\x5d\\xc9\\x39\\x69\\x7b\\xe9\\x17\\xf2\\x42\\xfe\\xb0\\x6a\\x68\\x05\\x56\\xb9\\x9c\\x9b\\xb6\\x47\\x3a\\x43\\xc8\\xe2\\x99\\x20\\xec\\x9a\\xae\\x74\\x54\\xaf\\xb5\\x58\\x54\\xac\\x83\\x60\\x09\\xda\\x43\\xbb\\xf5\\xe6\\xfe\\x8c\\xa0\\x50\\x2a\\xfa\\x33\\x5a\\xa5\\x1e\\xfe\\xd0\\x6a\\xca\\x02\\x9d\\x0b\\x7c\\x54\\x90\\xe3\\x91\\xc8\\xe5\\x23\\x15\\xa2\\x98\\x64\\xb7\\xeb\\xe4\\x84\\xa3\\x54\\x32\\x95\\xc4\\xdc\\xd8\\x70\\xf0\\x85\\xe4\\xcc\\x24\\x7a\\x66\\x36\\xcb\\xe8\\xf8\\xfd\\xc2\\x61\\xc7\\xf3\\x8e\\xf7\\x84\\xf7\\x5a\\xde\\x7b\\xed\\x93\\x81\\x0d\\x52\\x42\\x12\\xb8\\x15\\xe1\\x97\\x50\\x7f\\x9d\\x7b\\xf3\\xcd\\x73\\xc5\\xdb\\x8f\\xce\\xce\\xe2\\x98\\xc8\\xf5\\x1a\\xd0\\xc7\\x40\\x95\\x28\\x68\\x87\\x4d\\xeb\\x70\\xa8\\x58\\x2f\\x6c\\xb3\\x3f\\x60\\xb4\\x74\\xe2\\x16\\xc3\\xd8\\x5e\\x69\\x84\\x3f\\x94\\x9a\\xa0\\xdc\\x79\\x80\\x83\\xa2\\xd6\\x16\\x30\\xaa\\x25\\xb3\\x98\\x06\\x91\\x82\\xb6\\xa2\\x99\\x22\\x94\\xaf\\xd7\\xa0\\x96\\xfd\\xe1\\xb3\\x05\\xef\\x96\\x3f\\x7b\\x03\\x7f\\x43\\xf9\\x81\\xf2\\xf7\\xf9\\xf7\\x17\\xac\\x5c\\x70\\xef\\xfd\\xe2\\x99\\xa8\\x6c\\x43\\x7f\\x76\\x02\\xe8\\x40\\xea\\xae\\xc3\\x6e\\x81\\x4e\\xcf\\xf8\\xf4\\xd3\\x19\\x03\\xbf\\x12\\xae\\x6a\\x41\\x85\\x1b\\x0a\\x23\\x2a\\xdc\\x20\\xb3\\x78\\x72\\xb0\\x9f\\xfd\\xc4\\xda\\xf4\\x18\\x03\\x6f\\x75\\xd8\\x1d\\xbc\\x40\\x6b\\xfd\\x7e\\x00\\x58\\x97\\x96\\xd5\\xd2\\x41\\x3a\\x40\\xf8\\xfb\\x33\\xe8\\x2d\\x3d\\x0d\\xdf\\xa4\\x94\\xf0\\x1e\\xa5\\xd2\\xd7\\x9f\\x51\\x72\\x7d\\x19\\x25\\x25\\x3b\\xa1\\x86\\x52\\x00\\x19\\x38\\xce\\x24\\xb6\\x80\\x12\\x18\\x99\\x7c\\xf1\\x75\\xfe\\x34\\x0f\\x4f\\xa4\\xd0\\x7d\\x62\\x83\\x91\\x5a\\xe4\\x3c\\xa1\\x39\\x31\\x06\\xc7\\xdf\\xd1\\xce\\x1c\\xd9\\x29\\x69\\xff\\xcd\\x5f\\x8f\\xf6\\xb6\\xf5\\x5f\\x70\\xc2\\x72\\xfb\\xbc\\x95\\xad\\x2b\\xdb\\xae\\xdf\\x7d\\xe3\\xd9\\xa4\\x4e\\x1c\\x9f\\x1d\\x4e\\x0f\\x1f\\xf9\\x7e\\xe3\\x92\\x31\\xeb\\xeb\\xe6\\x36\\x5d\\x32\\x7a\\xeb\\xac\\x5b\\xaf\\xbf\\x62\\xe0\\x72\\xc9\\x96\\xe4\\x9a\\x51\\xb8\\x92\\x57\\x12\\x9b\\xd2\\x69\\x5f\\xd0\\x6a\\x32\\x9b\\xa0\\xff\\xeb\\xd2\\xbb\\x34\\x24\\xc9\\x85\\xf5\\x9c\\x9e\\xa9\\x62\\xe2\\x16\\xc6\\x6a\\xf2\\x05\\x03\\x41\\x13\\x65\\xd7\\xd9\\x3d\\x5d\\x19\\xbb\\x45\\x13\\xd5\\x45\\x7b\\x32\\x3a\\x41\\xae\\xe3\\x20\\x19\\xb2\\x33\\xc3\\x38\\x89\\x61\\xea\\x3b\\x0d\\x44\\x8e\\xf0\\xb0\\x50\\xd6\\x02\\x61\\x53\\x05\\xc8\\x88\\xd9\\x52\\x4e\\x49\\x62\\xa8\\x5d\\x54\\xa2\\x0f\\xa5\\xce\\x02\\x54\\x70\\x7f\\x51\\x57\\xef\\x53\\x88\\xe3\\x15\\xe7\\x7f\\xbc\\x4c\\x01\\x94\\xc6\\x07\\xae\\x3d\\x7f\\xf7\\xfa\\xa5\\xe7\\x4d\\xd8\\x74\\xf1\\x75\\x55\\x8b\\x40\\xf3\\xca\\xc5\\x33\\x16\\x4e\\xc8\\x34\\xb4\\x64\\xa6\\xd6\\x5f\\xdf\\x48\\xce\\x15\\xff\\x66\\x4b\\x24\\x6c\\xf4\\x7b\\xf6\\xf8\\x9e\\xa3\\xc7\\x6e\\xbf\\x4d\\xfc\\xfa\\xcc\\x6b\\x46\\xed\\x9a\\xae\\x3d\\xa7\\xba\\x63\\x53\\xd3\\x59\\x9d\\x1f\\xae\\x5a\\x7b\\xd1\\xf4\\xb1\\x59\\xac\\x4c\\xba\\x81\\xbd\\x1e\\xce\\x2b\\x13\\xd2\\x41\\x9a\\x61\\xd4\\x2a\\x95\\x82\\x02\\x04\\x49\\xf2\\x0a\\x1d\\x46\\x4d\\xa4\\x11\\xd4\\x8e\\x96\\x62\\x54\\x39\\xd0\\xa7\\x6c\\xfa\\x52\\xf6\\x24\\x27\\x59\\xc0\\xf1\\x03\\x27\\x80\\xfc\\x79\\x2c\\x35\\x73\\xdf\\xb8\\xd1\\x62\\xe3\\x3b\\xbf\\x54\\x0d\\xbc\\x8c\\xe7\\x43\\x66\\x2c\\x98\\x21\\xce\\xfa\\x61\\x05\\x9a\\xe6\\x10\\x80\\xad\\x54\\x7b\\x4c\\xbe\\x4d\\x1f\\x24\\x94\\x30\\x4e\\x08\\x51\\x34\\x8d\\x8a\\xd7\\x95\\x04\\x00\\x6a\\x5e\\x9d\\x50\\x77\\xaa\\xfb\\xd4\\xb4\\x92\\x52\\xc0\\x10\\x41\\x41\\xa1\\x5d\\x52\\x05\\xcf\\x20\\x2e\\x9c\\x64\\x36\\xb1\\x3a\\xa9\\x2f\\xfc\\x72\\xf4\\xdd\\x38\\x9f\\x8e\\xbc\\x25\\x15\\x11\\x7f\\x7b\\xf3\\x81\\x3d\\xe7\\x2b\\xc0\\xf3\\xf4\\x41\\xf1\\xd8\\xe9\\x83\\xe8\\x68\\x12\\xc9\\xfb\\x25\\xc6\\x03\\x46\\xd8\\xc6\\x99\\x74\\xdc\\xc0\\x71\\x16\\x8a\\x32\\x02\\x9d\\x5a\\x6d\\x57\\x32\\x00\\xd8\\xf4\\x18\\xe5\\xcb\\xcc\\x20\\xac\\x5b\\x03\\x0b\\x0d\\x1d\\xa8\\x28\\x4b\\x09\\xca\\x1b\\x1e\\x97\\xf9\\xf3\\x18\\x90\\x75\\xd1\\xf2\\x7c\\x41\\xd9\\x79\\x44\\x2a\\x70\\xa0\\x90\\xd1\\xa2\\x7c\\x67\\x2b\\x59\\x8e\\xfa\\x61\\xf9\\x61\\xe1\\x70\\xe6\\x90\\x8a\\xd6\\xd7\\x8e\\xd3\\x2e\\x78\\x5f\\x9c\\x03\\x2e\\x12\\xc4\\xcb\\x96\\xff\\xb2\\xde\\x41\\x76\\xce\\x05\\xdf\\x3b\\xeb\\xc5\\x2d\\xc0\\x6a\\x12\\xf5\\x73\\x07\\x8e\\x3a\\x0a\\x30\\x45\\xa2\\xc4\\xbc\\x74\\x8a\\x28\\x37\\x03\\x83\\x89\\xa5\\x6d\\xb6\\x32\\x9a\\xe7\\xbd\\xaa\\x32\\xba\\x22\\x56\\x6e\\xee\\x84\\x8d\\x83\\x13\\xbd\\xa9\\x1c\\x10\\x4a\\xd8\\x75\\xe5\\x26\\x0f\\xeb\\xd7\\xf8\\x9d\\xdd\\x19\\xbf\\x45\\xc3\\x75\\x67\\x34\\x42\\x7e\\xc7\\xde\\x8a\\x90\\x08\\xd1\\x9f\\x58\\x71\\x30\\x8e\\x8e\\xe0\\x8a\\x20\\x43\\xd0\\xf9\\x26\\x34\\xc4\\x61\\x90\\x45\\x22\\x60\\xcc\\xb2\\x99\\xed\\x32\\x7a\\xc8\\xb6\\x6b\\x2e\\xbb\\x63\\x51\\xeb\\xaa\\x85\\x93\\xe6\\x4c\\x6a\\xdd\\x37\\x16\\x83\\x8b\\x34\\xac\\xbf\\x64\\x3e\\x79\\xdf\\x9e\\xe0\\xec\\xc9\\x12\\x82\\xc8\\xca\\x45\\x97\\x36\\xec\\x8a\\xdc\\x1e\\x9e\\x31\\xa5\\x6b\\x5a\\x4d\\x0c\\x01\\x8c\\x8c\\x3b\\x73\\x72\\x7c\\x07\\xd2\\xc5\\x29\\xb1\\x03\\xe1\\x13\\xc3\\x15\\x6d\\x6d\\xda\\xad\\x0e\\x87\\x63\\x76\\x8b\\x57\\x60\\x29\\x4a\\xb0\\xc4\\xe8\\x68\\x3c\\x5a\\x19\\x8e\\x45\\x63\\x7d\\x19\\x75\\x40\\x1b\\x40\\x7b\\x43\\xce\\x8c\\x56\\x4b\\x46\\x0d\\x46\\x57\\x7f\\xc6\\x6a\\x35\\x3a\\x49\\x55\\x7f\\x86\\x61\\xc8\\x22\\x9c\\xaa\\x44\\xfe\\x20\\x58\\x4e\\x35\\x1e\\x21\\xa1\\x02\\x60\\xcd\\x64\\xf1\\xbd\\x6b\\x11\\x10\\x89\\x3f\\x0f\\x3f\\x69\\xd0\\xe7\\x40\\xbe\\x51\\x52\\xd2\\xc6\\x43\\x2a\\xea\\x7b\\x89\\xc0\\xe0\\xf5\\xee\\xeb\\x0e\\xbe\\xf1\\x91\\xb8\\x5d\\x7c\\x72\\xf6\\xcb\\x89\\xd8\\x78\\xd6\\xb6\\xb3\\xe5\\x8b\\xef\\x2e\\xbd\\xa8\\xf9\\xae\\xd4\\xd9\\x12\\xe1\\x01\\x02\\xb4\\x92\\x60\\xbe\\x9b\\x33\\xe2\\x97\\x83\\xe2\\x0e\\x71\\xb6\\xc7\\xf4\\xdd\\x0e\\x47\\x0c\\x9c\\x0f\\x96\\x3e\\xfb\\x92\\xcf\\x3c\\xb0\\x2d\\x9b\\x7b\\x0a\\x08\\x97\\xd8\\x4a\\xad\\xa0\\x0e\\x13\\x21\\x54\\x77\\xcf\\xfa\\x7c\\x7e\\x93\\x9e\\x0c\\xd9\\xd5\\xea\\x90\\xde\\x4f\\x87\\x23\\xac\\x4b\\xe1\\xea\\xc9\\x28\\x14\\xfe\\xb2\\xb2\\x40\\x67\\xa6\\x8c\\x41\\x64\\x38\\x65\\xbc\\xdf\\xcc\\xe3\\x00\\x9a\\x77\\x65\\xcb\\x2f\\xa4\\xa1\\x38\\x7c\\xd9\\x65\\xf6\\xf0\\x20\\x96\\x2d\\x35\\xc0\\xc4\\x8c\\x46\\x09\\xcc\\x34\\x9f\\x5d\\x8d\\x7a\\x83\\x4e\\x69\\xcf\\x9a\\x73\\xcf\\xbc\\x47\\x76\\x5f\\xbd\\x77\\xfb\\xbf\\x6e\\x5b\\x77\\x51\\x22\\xa5\\x6d\\xe9\\xbd\\xfd\\xc1\\xd9\\x73\\xc6\\xdf\\x55\\x57\\x71\\x70\\xef\\x26\\x05\\xf9\\x67\\x72\\xdf\\x01\\xe3\\xc0\\x57\\x0f\\x1e\\xb9\\xf3\\x09\\xf1\\xcb\\x9b\\xbc\\x80\\x3d\\x90\\x00\\x9a\\xaf\\x56\\x6f\\x9e\\x99\\xfa\\x52\\x1a\\x5d\\x18\\x93\\x59\\xec\\xc7\\x98\\xcc\\x51\\xe2\\x86\\xf4\\x74\\x3f\\xc7\\x39\\x34\\x8c\\x46\\x47\\x19\\xcb\\x8d\\xbc\\xc1\\x6e\\x2a\\x87\\x4b\\x2c\\x11\\x88\\x44\\x88\\xa8\\xc9\\x6c\\x60\\x85\\x50\\x28\\x26\\x54\\x44\\x02\\x3e\\xa7\\xc9\\x6e\\xb1\\xf7\\x65\\x58\\xad\\xdf\\xc1\\xe8\\xca\\x8d\\x46\\x9d\\x43\\x4b\\xab\\xca\\xdc\\x16\\x8a\\x16\\x0c\\x51\\x83\\x86\\x53\\xc1\\x25\\x85\\x54\\xc1\\x01\\xf8\\x4a\\xce\\x95\\x6b\\x49\\x16\\x52\\xe1\\x15\\x20\\xee\\xe9\\x4b\\x31\\x2b\\xf2\\x60\\xe3\\x68\\x27\\x21\\x48\\x05\\xf3\\x70\\xb4\\x3f\\x82\\xcf\\xcc\\x31\\xd0\\x9f\\xdb\\x94\\x47\\x5b\\x9e\\xfe\\xf3\\x30\\x9a\\xc3\\x63\\x90\\x4b\\x97\\x43\\x5d\\x06\\x4f\\xfe\\x24\\x46\\x33\\xc6\\xa4\\x11\\x97\\x63\\x4c\\x9a\\x09\\xc4\\x35\\xe9\\xa9\\x44\\x5d\\x82\\x69\\x56\\x57\\x56\\x2a\\xe2\\xe5\\x1a\\x67\\x59\\xc0\\x8f\\xe0\\x68\\xe2\\xcd\\x75\\xcc\\xc4\\xd6\\x32\\x4f\\xb0\\xb6\\x76\\x54\\x57\\xa6\\xd6\\xe2\\xab\\x8f\\x25\\xb8\\x44\\x67\\x46\\xcd\\xd5\\x73\\xc6\\x09\\x13\\x8c\\x5c\\x3d\\xad\\x8c\\x9b\\xc3\\x9e\\xee\\x4c\\xd8\\xa2\\xe4\\xad\\xe3\\xa8\\x71\\xdd\\x19\\x9e\\x12\\x72\\xfb\\x72\\x92\\x3f\\x21\\xef\\x56\\x64\\xf3\\xb1\\x25\\xcf\\x4f\\x3f\\x6c\\x86\\x59\\xf2\\xe7\\x01\\xc8\\x20\\x5a\\xea\\x9f\\x80\\x90\\x99\\x7a\\x77\\xfb\\x8f\\x40\\xc8\\xec\\x79\\xf1\\xed\\xd9\\x5d\\xc3\\x83\\xc8\\xa0\\xf7\\xa9\\xb2\\xe9\\xbd\\x23\\x80\\xc8\\x0c\\xfc\\x16\\x1c\\xaf\\x1e\\x06\\x47\\x06\\xbe\\x27\\x61\\x5d\\x8b\\xab\\x31\\xd6\\x75\\x23\\xaa\\x70\\xe2\\x35\\xc1\\x90\\xa2\\xc1\\x5c\\xe3\\x89\\xc5\\x6a\\xaa\\x1a\\xec\\x21\\x52\\xa3\\x68\\x1a\\x55\\xe5\\xb0\\xdb\\x1d\\x7d\\x19\\xbb\\xbd\\xae\\x9c\\x80\\xd3\\x3d\\x51\\x57\\x07\\xc3\\x06\\xad\\x56\\x55\\x67\\x0c\\x85\\xca\\xcb\\x7d\\x7d\\x99\\xf2\\x1c\\x82\\x1c\\xda\\xd8\\x94\\xb7\\x33\\x0b\\xea\\xf9\\x4b\\x07\\x9a\\x31\\x17\\xba\\x45\\xc2\\x3f\\x13\\xf7\\x1a\\x93\\xa5\\xb2\\xdf\\xf6\\xb7\\x3b\\xc2\\xd5\\xe3\\xa7\\xef\\x5e\\xd4\\x1b\\x1a\\xaf\\xf2\\x5d\\x33\\x66\\x24\\x0c\\xec\\xc1\\xaf\\xa7\\x5d\\x21\\xae\\xae\\x69\\x32\\xcc\\x98\\xb8\\x5d\\xaf\\xb6\\x00\\xc7\\x53\\x66\\xff\\xe1\\xbb\\x46\\x4a\\x0b\\x79\\xfa\\x43\\xed\\xb8\\x15\\x67\\x5c\\x28\\x8d\\xcb\\xcf\\xc4\\xd5\\x18\\x57\\xa7\\x91\\xd8\\x98\\x9e\\xe8\\x0f\\x2a\\x1a\\x8c\\x35\\xce\\x8a\\x8a\\x9a\\x78\\x83\\x25\\x48\\x72\\xda\\x51\\xda\\xa6\\x2a\\x9b\\xd9\\x66\\xee\\xca\\x68\\x6c\\x2e\\x5b\\x87\\xed\\x4c\\xdb\\x59\\x36\\x46\\x43\\xd9\\x6c\\x75\\x11\\x02\\x4e\\x3c\\xb0\\x6f\\x84\\xee\\x8c\\x4e\\xa7\\xae\\xb3\\x04\\x83\\x91\\x08\\xf4\\x83\\x22\\xc2\\x48\\x7d\\xd3\\x37\\x7f\\x08\\x10\\x78\\x69\\xf7\\x84\\x23\\xe1\\x9f\\xc2\\xd6\\x91\\xd3\\x3d\\x70\\xf7\\xdc\\x23\\x77\\x4f\\xe3\\xc4\\x8e\\x69\\xde\\x0b\\x77\\x9f\\xb5\\x65\\xa4\\x8c\\x8e\\xe7\\x8e\\xe7\\xba\\xa7\\xa5\\xc7\\x64\\xa9\\x1f\\xd3\\xb8\\x70\\xe5\\xb0\\x59\\x1b\\xd7\\xdd\\xa9\\x90\\x7a\\x06\\x0c\\x7e\\x21\\xf6\\x63\\x9c\\x6c\\x27\\xd1\\x97\\xae\\x45\\x94\\x39\\x84\\x55\\x30\\x3b\\xed\\x36\\x9b\\xd9\\x6a\\x01\\x0a\\x96\\x35\\x1a\\xdd\\xac\\xcb\\x2c\\xe8\\x30\\x3b\\x16\\xe0\\x59\\x83\\x1a\\x86\\x85\\x98\\x57\\xc7\\xc1\\x1a\\x10\\x06\\xaa\\x3c\\x29\\x8d\\x80\\x8e\\x5d\\x60\\x1e\\xc3\\xe0\\x60\\x4b\\x50\\xf0\\x08\\x16\\xff\\xcf\\xc3\\xc3\\x60\\x83\\xfd\\x18\\x28\\xfb\\x99\\x1b\\xe0\\x6c\\x34\\x2c\\x10\\xb6\\x84\\x92\\x2d\\x21\\xe4\\x4b\\xb8\\x40\\x30\\x4e\\x44\\xb8\\x40\\x66\\xa2\\x3b\\x1d\\xa3\\x4d\\x26\\xb3\\x5e\\xc3\\xa8\\x04\\x1d\\xb4\\x6b\\x8d\\xda\\x60\\x66\\x2d\\x0a\\x85\\x55\\xaf\\xe9\\xcc\\xe8\\x69\\x03\\xc9\\x9b\\xcd\\x2a\\x04\\xf4\\xd8\\x99\\xe1\\x24\\x0a\\x77\\x49\\x8e\\x57\\xa0\\x1c\\xc9\\xd8\\x50\\x96\\x86\\x52\\xd4\\x1f\\x34\\xe4\\x87\\xc7\\xfd\\x81\\x01\\xdf\\xa6\\x61\\x91\\x7f\\x50\\x84\\x27\\x81\\xff\\x14\\x61\\x94\\xfb\\x88\\x73\\xd3\\x63\\x9d\\x2e\\xa5\\xca\\xa5\\xf2\\xd8\\x3d\\x24\\x47\\xa3\\xc8\\xdf\\x40\\xd1\\x24\\xda\\xd6\\x09\\x08\\x7e\\x8f\\x1c\\xe4\\xbb\\x29\\xbb\\x5a\\xc1\\x38\\x55\\xf0\\x47\\xf0\\xc1\\x50\\x9f\\xc6\\x91\\xbe\\x60\\xe0\\x0c\\xf2\\x11\\xbe\\xac\\x05\\xbc\\xaf\\x33\\x44\\x15\\xd9\\x48\\x23\\x57\\x67\\x94\\x85\\x27\\x87\\x82\\x14\\x6b\\x06\\xd7\\xa2\\x96\\xa0\\x94\\x1f\\x18\\x3b\\x63\\xfa\\xb5\\x25\\x1a\\xba\\xae\\x6a\\xb6\\x0f\\x1c\\x2b\\x02\\x2b\\x1f\\x27\\x1e\\x05\\x4f\\x9e\\x57\\xac\\xa7\\x0d\\x00\\x3c\\x08\\x96\\x60\\xd0\\x72\\x09\\xb7\\xe9\\x7e\\x8c\\x27\\xb2\\x28\\x5d\\xcf\\x72\\x66\\x0b\\x67\\x51\\xd2\\x34\\x9c\\x89\\x8c\\x82\\x52\\xa7\\x13\\x78\\x07\\xed\\x74\\x19\\x85\\xce\\x8c\\xd1\\xa1\\xe0\\x69\\xab\\x89\\x61\\x2d\\xf0\\x87\\x74\\x98\\x75\\x4a\\xac\\x29\\x75\\xa1\\xa6\\xb2\\xa2\\xea\\x93\\x25\\x49\\x80\\x39\\x19\\xb1\\xc6\\x5a\\x40\\x92\\x4b\\x15\\x62\\x35\\x21\\x79\\x83\\xbf\\x46\\x25\\xe2\\xb3\\x2f\\xf6\\xcf\\x36\\xbe\\x3e\\x5f\\xd2\\xdc\\x6f\\xff\\xb1\\x50\\x71\\xea\\x81\\xd8\\x8c\\xd4\\x05\\xcd\\xb2\\xea\\x36\\xbd\\xbe\\xe4\\x45\\xac\\xbc\\xcf\\x07\\xbe\\xb7\\xc6\\xc1\\x45\\xff\\x00\\x63\\xd6\\x89\\x87\\x8b\\x74\\xe7\\x87\\xf3\\x49\\xda\\xe3\\x50\\xa9\\x8c\\x3c\\x47\\x7b\\x49\\x92\\xa6\\xa0\\x8f\\xae\\x25\\x88\\xa0\\x36\\x40\\x7a\\xbd\\x76\\x93\\xc5\\x04\\xf5\\xa6\\x37\\xe8\\xfb\\x33\\x0e\\x83\\x47\\xa1\\xa4\\xfc\\x06\\x83\\xd6\\x6f\\xa1\\x54\\x18\\x5d\\x5e\\x6b\\xe0\\xe8\\xbe\\x0c\\x67\\x28\\xc4\\xc9\\x41\\x45\\x62\\x7a\\x49\\x26\\x22\\x97\\x6b\\x3e\\x64\\x5d\\x2f\\xd4\\x5f\\x8e\\xa0\\x2a\\x95\\xc5\\xc5\\x86\\x42\\x8e\\x88\\x32\\x7f\\xe7\\x61\\xfe\\x81\\xa0\\xa4\\xc0\\xe0\\x0b\\xfc\\x8b\\x89\\x11\\xd0\\xe6\\xa9\\xcd\\x73\\x5f\\x45\\xea\\x7b\\x75\\xae\\xf8\\x0f\\x09\\x71\\x5e\\xc6\\xdc\\x82\\xb1\\xbc\\x13\\xae\\x29\\x4d\\x36\\x93\\x4a\\xc5\\xab\\xa1\\xad\\x62\\x99\\xd5\\x8c\\x8b\\x20\\xdc\\xa4\\x1d\\xe5\\x6d\\x5a\\xb5\\x3a\\x6d\\x57\\xc6\\xa4\\xd3\\x19\\x14\\x36\\x18\\xd4\\x3b\\x79\\x03\\xd4\\xa7\\x81\\x50\\x9b\\x71\\xed\\xa4\\xb9\\x90\\x50\\x1b\\x45\\xc3\\xc5\\xb1\\xc4\\x50\\x21\\x73\\x00\\x5b\\x59\\x01\\x29\\x59\\x3e\\xea\\x97\\x85\\x30\\x5b\\xcf\\x6c\\xd6\\x6d\\x2e\\x43\\x43\\xb1\\xe6\\x3b\\xdd\\x77\\xab\\xd1\\x70\\xa4\\x0e\\x17\\x01\\x6e\\xd1\\x55\\x5d\\x6f\\x40\\xa5\\xfe\\xbd\\x6b\\xe0\\x16\\x34\\x24\\xa1\\x0e\\x6f\\x90\\x75\\xe8\\x21\\x56\\xa6\\x9b\\x9c\\x98\\x10\\xc0\\x25\\x6b\\xd0\\x67\\xb2\\x58\\xbc\\xa4\\xcb\\xe5\\xb0\\xc2\\x25\\xd2\\x09\\xf5\\xa6\\xf5\\x58\\x2d\\x16\\xab\\x15\\xea\\xd1\\xfa\\x23\\xca\\x93\\x8f\\xfb\\xb2\\x3b\\x6d\\xfa\\x21\\xa4\\xc5\\xc3\\xa9\\x4d\\xc6\\x05\\xf9\\x31\\x6a\\x80\\x77\\xaa\\x67\\x9f\\x70\\xa5\\x27\\xa6\\xa8\\xb2\\x1f\\xe1\\x07\\xb8\\x49\\xc3\\x22\\x70\\xe0\\x2c\\x45\\x00\\x18\\x5c\\x2a\\x63\\xa4\\x59\\x89\\x59\\xe9\\x2a\\xa8\\x2e\\xa8\\x2d\\xb3\\xac\\x2d\\x3b\\xaf\\xd7\\xdb\\x48\\xb3\\x59\\x6b\\x80\\xaa\\x52\\x98\\xa0\\x9a\\xac\\x06\\xbd\\xde\\xc0\\x97\\x28\\x29\\xf9\\x93\\xb2\\x14\\x68\\x47\\xa6\\x0d\\x1a\\xa2\\x99\\x3d\\xc1\\x33\\xd6\\x4e\\x4e\\x55\\x83\\x6f\\x67\\x0f\\xa3\\x15\\x2a\\x63\\x3c\\x00\\x34\\xd2\\x2c\\x99\\xe5\\xde\\x09\\x62\\xdc\\xea\\x45\\xe9\\xa4\\xd2\\xe9\\x24\\x0d\\x7a\\x18\\x11\\x08\\x82\\x1e\\x06\\x39\\x3a\\x9d\\x97\\xf0\\x28\\x1d\\xfd\\x19\\x18\\xe6\\x31\\x05\\xbc\\x15\\x4e\\x9b\\xc4\\x5b\\x61\\xc1\\xc4\\x15\\xaf\\x14\\x73\\x36\\x26\\xb3\\x07\\xe2\\x43\\x66\\xc2\\xe1\\xd9\\x76\\xe4\\x3d\\x4f\\x14\\xc5\\x5b\\x24\\xf6\\x79\\xbb\\xe2\\xe1\\x33\\xc9\\x8d\\x67\\x4a\\xec\\xbb\\x27\\xf1\\x46\\xe7\\xed\\x8a\\x63\\x8b\\x06\\xb6\\x2f\\x3a\\xa0\\x28\\x48\\x7f\\xe6\\x0b\\xd8\\x5a\\xa0\\xcf\\x5b\\x8f\\xb2\\xa3\\x65\\x7c\\x31\\xb8\\x26\\x21\\x7c\\x31\\x3d\\x5c\\x93\\x2a\\x74\\x0a\\x85\\x12\\x65\\x92\\x0a\\x7a\\x3d\\xa1\\xa4\\x0c\\x46\\x81\\xd7\\x71\\x5d\\xd0\\xb7\\x60\\x34\\x1a\\x55\\x67\\x46\\xc3\\x2b\\xcd\\x14\\xc3\\xc0\\x99\\x8e\\x91\\x74\\x20\\xbc\\x92\\x2f\\xae\\x93\\x8a\\x8b\\x8b\\x25\\x08\\xe1\\x75\\xa8\\x00\\x56\\x2c\\x49\\x39\\xd0\\x02\\xb4\\xa7\\x18\\x57\\xec\\xfe\\x89\\xd2\\xe2\\x53\\x00\\x2c\\x26\\x73\\x1d\\x11\\x04\\x57\\x8b\\xd7\\xa0\\xd5\\xe9\\x94\\x4b\\x10\\xcc\\x3a\\x8f\\x87\\x33\\x73\\x46\\x8a\\x20\\x02\\x46\\x3f\\xe7\\x21\\x49\\x8f\\xcf\\xd3\\x97\\xf1\\x51\\x2e\\x1e\\xe5\\x20\\x1b\\x6d\\x4e\\x8b\\xcd\\xd2\\x97\\xb1\\x51\\x82\\x56\\x61\\x36\\x9a\\x61\\x78\\x6a\\x2c\\xa4\\xc9\\x2c\\x3c\\xfd\\xce\\x8d\\x86\\x6c\\x05\\x5c\\x21\\x2f\\x1c\\xc8\\x86\\x9f\\x05\\x55\\x1b\\x45\\xca\\xe0\\x6a\\x53\\x13\\x55\\x9e\\xa3\\xb3\\xea\\xdf\\x42\\x78\\xfd\\xd9\\xfe\\x1e\\xf8\\x6b\\x89\\x4e\\x98\\xb1\\x38\\xdc\\xfc\\x61\\x15\\xae\\x65\\xa9\\x2f\\x49\\x49\\xe7\\x1d\\xf2\\x1e\\x0b\\xfd\\x19\\xf6\\x09\\xe0\\x38\\x30\\x6a\\xb5\\x3a\\xb5\\xd9\\xcc\\x42\\x01\\x59\\x1d\\x65\\xb1\\x9a\\xd9\\xae\\x0c\\x49\\x9a\\x79\\xa3\\xa6\\x2b\\x63\\x34\\xaa\\xf4\\x7a\\x1e\\x7a\\x07\\xbc\\xce\\xac\\xe2\\x3a\\x33\\x2a\\x73\\x49\\x79\\xe3\\x90\\xd3\\xd9\\x9c\\x30\\x38\\xc6\\x2c\\x06\\x78\\xa3\\x3f\\xab\\x46\\x31\\x25\\x7f\\xd9\\x70\\x30\\x6f\\x18\\xd1\\xe1\\x54\\x31\\xd4\\x9b\\x64\\xff\\x1d\\xdc\\x3f\\xa0\\x3e\\xaa\\x88\\xb5\\x69\\x8b\\xd3\\xc7\\x52\\x11\\x9b\\x51\\x53\\x59\\x69\\xa4\\x7c\\xb4\\xa7\\xda\\x93\\x88\\xf0\\x51\\x1e\\x6d\\x06\\xf8\\x33\\xd1\\xa8\\x27\\x18\\x76\\x64\\x8b\\x0c\\x6c\\x46\\x5c\\x64\\x60\\xf1\\x18\\x10\\x42\\x3d\\x4d\\xe7\\x11\\x35\\x8a\\x54\\x93\\x1d\\x0b\\xc4\\x70\\x69\\xa7\\x23\\x6d\\x00\\x94\\x28\\x47\\xde\\x2f\\x60\\x52\\x23\\x6c\\x01\\xbc\\x3d\\xb0\\xfd\\x6d\\xa8\\xb2\\xbf\\xa0\\xba\\x02\\x15\\xd3\\xa5\\x3a\\xd2\\x23\\xef\\x19\\x74\\x0c\\xb7\\x13\\x40\\xef\\xfe\\x61\\x75\\x5e\\x65\\x62\\x7d\\x76\\xd7\\x00\\x8d\\x9b\\x4a\\xb1\\x95\\xb9\\x02\\xfa\\xec\\x0d\\xd0\\x36\\x47\\x57\\x95\\x97\\x47\\x79\\x0d\\xe2\\x56\\x77\\x9a\\x58\\xd6\\xa9\\x89\\xd2\\xa9\\xc6\\xaa\\xb2\\x9a\\xb2\\x9e\\x0c\\x61\\xa5\\xac\\x3d\\x19\\x8a\\xf2\\xd4\\x08\\x95\\x15\\x9d\\x99\\x4a\\x3e\\x6a\\x96\\x8a\\x10\\x55\\x7a\\x94\\xd1\\xad\\x72\\x15\\x02\\x35\\xb4\\x94\\x6e\\x8e\\x14\\x81\\x61\\xcb\\x3d\\x51\\x80\\x16\\x5c\\xba\\x59\\x50\\x5c\\xaa\\x8f\\x37\\x2e\\x73\\x65\\xfc\\xa9\\xe6\\x07\\xa7\\x5d\\x72\\x63\\xe1\\xee\\x41\\x77\\x4f\\xf3\\x4d\\xd5\\xee\\x5c\\xdd\\xfe\\x43\\x8d\\xd9\\x2a\\xd6\\xde\\xe3\\xb3\\x97\\x2c\\x55\\x80\\xb6\\xa9\\x8b\\x1f\\xdc\\x57\\xbc\\x9b\\xd0\\xdb\\x78\\x28\\x5b\\xc7\\xbf\\xf5\\x0c\\x5c\\xce\\x1a\\x7f\\xee\\xac\\xb3\\x56\\x2f\\xe5\\xc7\\xe2\\xfd\\xf4\\x47\\x06\\x4f\\x31\\xe7\\x30\\x1d\\x44\\x35\\x31\\x06\\x5a\\xc8\\xa8\\xc4\\x28\\x45\\x60\\x54\\xa0\\x26\\x54\\x53\\xe9\\xd6\\xa6\\x42\\x16\\x23\\x65\\x0c\\x69\\xe9\\xb1\\x95\\x95\\xcd\\x89\\x40\\x34\\xd9\\x97\\x09\\x44\\xa3\\xd0\\xa2\\xed\\x7d\\x19\\xb3\\x59\\x4f\\xab\\x50\\x15\\x8a\\x71\\x14\\xcb\\x12\\x7d\\x19\\xd6\\x38\\x24\\xe3\\x00\\x19\\x78\\xd3\\x70\\xfb\\x45\\xf9\\xa4\\x09\\xb9\\x1c\\x13\\xed\\xcf\\x66\\xf3\\x26\\xe4\\x90\\x58\\xa6\\xeb\\x4d\\xe5\\x72\\x14\\xd0\\x4e\\xae\\xc5\\x58\\x97\\xcd\\x52\\x68\\x30\\xd0\\x93\\x56\\xae\\xd0\\xd7\\xde\\xd4\\xdd\\xd5\\xb6\\x7c\\xe5\\xe7\\xe2\\xdf\\x5f\\x01\\xeb\\xfe\\x7c\\xef\\x25\\xd1\\x71\\x4a\\xff\\xd2\\xa6\\xfb\\xc5\\x7f\\x5e\\x7f\\xdf\\x1d\\x95\\xc1\\xfa\\xd6\\xf5\\xaf\\xac\\xbd\\x6e\\xdf\\xd1\\xfb\\x1d\\x1b\\xd7\\x8c\\xe9\\xab\\x4b\\x84\\xce\\xda\\x3c\\x26\\xd2\\xe8\\x08\\xd9\\xed\\xa0\\xec\\xbf\\x7f\\x03\\x17\\x7d\\x1c\\xf8\\xe2\\x7a\\xc1\\xf1\\xac\\x78\\xf7\\xe7\\x1f\\xfe\\x99\\xa9\\x7a\\x78\\xeb\\x0d\\xc4\\xe0\\x0d\\x4f\\xec\\x7f\\x54\\xfc\\xcb\\x6c\\x8e\\x6c\\xfe\\x61\\xdb\\x7b\\x9b\\xe6\\x3e\\x10\\x1e\\x03\\x0c\\xb8\\x9f\\xa2\\x83\\xa7\\xa8\\x55\\xd0\\x76\\x2a\\x61\\xc4\\xb7\\x34\\xdd\\x60\\xa0\\xe2\\x36\\x8d\\x32\\x50\\x1d\\xb3\\x54\\x5b\\x92\\xb6\\xa4\\xd7\\xab\\x8c\\xd8\\x28\\xa6\\x69\\x54\\x75\\x34\\x1a\\xec\\xca\\x44\\x2d\\xae\\x86\\x2e\\x38\\xbb\\x11\\x1c\\xa7\\xeb\\xca\\xa8\\xd5\\x9c\\x40\\x58\\x0a\\xf8\\xea\\x13\\x05\\xc3\\xbf\\xd0\\x66\\x8a\\x98\\x90\\xf2\\xd4\\xf5\\xb8\\x53\\xb2\\xf9\\x19\\xa3\\x41\\x58\\x4e\\xcc\\xc7\\x5b\\x8a\\x68\\xd7\\x00\\x59\\x15\\x6b\\xc4\\x49\\x6a\\x92\\x21\\x81\\xab\\x0e\\x3d\\x76\\x2d\\x00\\xd7\\x1d\\xdc\\x18\\x4d\\x19\\xc7\\xad\\x5a\\x70\\xff\\x82\\x0d\\xe7\\xb0\\xb3\\x3a\\x2e\\x9b\\xb2\\xf4\\x82\\x15\\xf3\\x0c\\xc6\\x89\\x8d\\xda\\xc9\\xcb\\x27\\x36\\x4d\\x08\\xfb\\x5d\\x93\\xa6\\xc5\\x2a\\x52\\xad\\xa6\\x47\\x7f\\x71\\x0c\\xb8\\xef\\x8f\\x7e\\x71\\xd5\\xe8\\xdd\\x03\\xbb\\xaf\\xb8\\xa1\\x6b\\x67\\xdf\\x5d\\x73\\x2f\\x59\\xba\\xe8\\x48\\x23\\xa9\\xab\\xab\\x30\\x9b\\x41\\xed\\xb8\\x85\\x96\\xd8\\xbd\\xcb\\xc6\\x4c\\xbd\\x56\\xca\\x4b\\x10\\x57\\x63\\xee\\xcf\\x04\\x31\\x23\\x5d\\xa9\\x8c\\x06\\x6d\\xbc\\x3e\\x6c\\xd6\\xdb\\xcc\\xee\\x28\\x53\\x4d\\x26\\x12\\x35\\x71\\x06\\x86\\x76\\x20\\x4e\\x3b\\x7d\\xfd\\x19\\xa7\\x25\\x6c\\x11\\x04\\x8b\\x45\\x03\\x27\\x93\\x5c\\x7d\\xb3\\x3e\\x09\\xc3\\x5b\\xa2\\xa4\\x66\\x37\\xbf\\xbf\\x36\\x94\\xb0\\x99\\x8e\\x01\\x4b\\x11\\x86\\x2c\\x0c\\x79\\x49\\xb9\\x73\\x98\\x31\\xa8\\x4a\\xf9\\x11\\xf1\\xd3\\xbb\\xb2\\xf5\\xc9\\x0b\\xc5\\xef\\xb6\\x70\\xd3\\xae\\x58\\x28\\xc7\\xb9\\xa3\\x9b\\x4e\\xbc\\x27\\xb1\\x81\\x52\\xdf\\x3d\\x18\\x4b\\x3c\\x2f\\xde\\xf9\\xbf\\x72\\x69\\x72\\x59\\x3d\\x0a\\x5b\\x71\\x80\\x3b\\x61\\xa6\\xae\\x02\\x08\\x27\\x31\\x23\\x28\\xc6\\xc3\\x11\\x57\\x63\\x3c\\x9c\\x28\\xd1\\x91\\x8e\\x86\\xcc\\x06\\x4a\\x60\\xbc\\x50\\xa1\\x0c\\xa5\\x32\\xb3\\x15\\x31\\xbb\\xbf\\x2b\\xe3\\xf1\\xd8\\x05\\x05\\xf2\\x76\\xa8\\x68\\x94\\xa2\\x22\\xdd\\x19\\x03\\x95\\xcb\\xdc\\x4a\\xe4\\xe5\\x2b\\x9c\\xdb\\x31\\xb8\\x0d\\x57\\x2c\\x49\\x04\\x9b\\x78\\x59\\x51\\x1a\\x8e\\x84\\x73\\x33\\xee\\x68\\x4f\\x67\\x4e\\x88\\x75\\x4b\\x57\\x21\\xc8\\x9b\\xf1\\xbf\\xa8\\xc6\\x90\\x37\\xfd\\x07\\x17\\xbf\\xbd\\xf3\\x8e\\x6b\\x9b\\xe7\\x28\\x27\\x64\\x25\\xb8\\x28\\xec\\xbf\\x7f\\x2b\\x42\\xbe\\xf1\\x99\\x50\\x56\\xce\\xb5\\xe2\\x1e\\x8c\\x7b\\x03\\x65\\xb9\\x42\\xec\\x47\\x7c\\x45\\x70\\xbd\\x9a\\x96\\x2e\\xd3\\x1b\\x15\\x1c\\xc7\\xb2\\x5a\\xa3\\xd6\\x02\\xfd\\x35\\x2b\\x30\\x1a\\x4d\\x0c\\x6f\\x82\\x8b\\xb1\\x89\\x62\\x65\\x40\\x7c\\xa5\\x7c\\xa6\\xa9\\x2f\\xe4\\x7d\\x4c\\x0e\\xe5\\x62\\x05\\x12\\xba\\x40\\xd6\\xc5\\x91\\x1d\\x36\\xfa\\x38\\x82\\x12\\xa8\\x39\\xf9\\xee\\x42\\xe8\\xd8\\x74\\xa9\\x3e\\x3a\\x99\\x7c\\x15\\x93\\x3a\\x56\\xd1\\xe4\\xbb\\x06\\xb8\\xae\\x8a\\x31\\xcc\\xa8\\x81\\x19\\x1c\\x25\\x7f\\x66\\x8a\\xb8\\x1c\\xe1\\x89\\x42\\x7b\\x5a\\x96\\x4e\\x86\\x79\\xde\\x28\\x08\\xb4\\xcf\\xe1\\x70\\x02\\x8a\\xa2\\x69\\x8e\\xab\\x74\\x56\\x56\\xd7\\x84\\x7d\\x3e\\x95\\x39\\x68\\xee\\xc9\\x44\\x83\\x82\\x74\\x0e\\x2b\\x38\\xcd\\x74\\x02\\xe1\\xca\\x15\\xe2\\x7c\\xb4\\xe4\\x97\\x28\\x7d\\x3e\\x8d\\x35\\xfb\\x63\\x28\\xd8\\xb8\\x84\\x4e\\x4e\\x43\\x16\\xdb\\x9d\\xc2\\xd7\\xd9\\xcb\\xfc\\x1c\\x9c\\x9b\\x89\\x99\\x75\\xd0\\x05\\x7a\\x62\\x99\\xb5\\x22\\x5e\\x79\\xfe\\x62\\x15\\x02\\x07\\x3c\\xa3\\x72\\xeb\\x02\\x78\\x81\\x67\\x5f\\x57\\xdb\\x83\\xd3\\xe6\\x2c\\x98\\x74\\xb8\\x63\\x66\\xbf\\x72\\x69\\x1c\\xf9\\x45\\x64\\xdb\\xf9\\xf1\\x78\\xaa\\xf7\\x92\\x51\\x03\\xcf\\x91\\x6d\\x97\\x06\\x17\\xcf\\xd9\\xd2\\x34\\xf0\\x1c\\xda\\xd4\\x7d\\x61\\xd1\\xa6\\x35\\xab\\x97\\x6c\\x58\\xb9\\xd4\\x32\\x69\\xe0\\x41\\x94\\x9b\\xb6\\x1e\\xc6\\x0c\\x51\\xcc\\x05\\x84\\x73\\x88\\x88\\x36\\xb1\\x83\\x6e\\x82\\xbe\\x85\\x09\\xa1\\x05\\x12\\x82\\x02\\xf0\\x24\\xc7\\xf1\\x02\\x65\\x66\\x18\\x0b\\x50\\xf0\\x94\\xc6\\x20\\x70\\x24\\x74\\x4b\\xa1\\xe0\\x06\\x5e\\xa7\\xc4\\xe8\\x98\\xce\\x21\\x84\\x39\\xd6\\xa6\\xe2\\xf5\\x18\\x9d\\x24\\xc9\\x1b\\x0d\\x59\\x0a\\x71\\x24\\x25\\x98\\x7e\\x3f\\x38\\x07\\x47\\xab\\xf3\\xc4\\xb6\\xc9\\x97\\x28\\xc4\\x7e\\xc5\\xf9\\xdd\\xef\\x2c\\x53\\x82\\x35\\x0a\\x6a\\xf9\\xc0\\x22\\xf2\\x56\\x14\\xac\\x9e\\xfe\\xab\\x38\\x0e\\x1d\\x7e\\x81\\xa7\\x29\\x8b\\x3d\\x0e\\xe3\\x1c\\x62\\x81\\xd4\\x66\\x18\\x73\\x2f\\x48\\x27\\x8d\\x3a\\x9a\\x20\\x4c\\x4a\\xad\\xd9\\xe1\\x00\\xd0\\x13\\x62\\x9c\\x36\\x9b\\x0b\\x86\\xd7\\x46\\xc1\\xd8\\x97\\xa1\\xd4\\x1a\\x75\\x1f\\x22\\x1c\\xd5\\x68\\x38\\xab\\x40\\xd1\\x4a\\x4e\\x29\\x47\\x38\\xb9\\xd0\\x54\\x2e\\xbc\\xcb\\xef\\x2e\\x14\\x31\\x2d\\x20\\xf4\\x12\\x2e\\xeb\\x2e\\xf8\\xa1\\x17\\x24\\x57\\x0d\\x48\\xe8\\x15\\x47\\xc0\\x5a\\x5e\\xdc\\x95\\x7e\\x57\\x35\\x70\\x93\\xea\\xa3\\xb4\\xb8\\x8d\\x07\\x17\\xfd\\x79\\xb7\\x8a\\x0c\\xaa\\x5e\\x78\\x0a\\x6c\\x3f\\xa2\\x02\\xc7\\x55\\xb7\\x90\\x42\\xaf\\x78\\x23\\xde\\x3a\\x3e\\xab\\x97\\xfc\\x03\\xf6\\xe2\\x76\\x92\\xe7\\xca\\xbc\\x45\\x6a\\xb9\\xaf\\xb1\\x1c\\x06\\x2d\\xe5\\x70\\x18\\x15\\x1a\\x93\\xdd\\x4e\\x68\\xb4\\x2a\\xc6\\x69\\xb5\\xba\\x8c\\x2a\\xde\\x6e\\xd2\\x1a\\x78\\x43\\x27\\xe2\\x92\\x75\\xa8\\x55\\x6a\\xe8\\xdb\\xa9\\xcc\\x0a\\x8a\\xa5\\x3a\\x33\\x6c\\x71\\xb7\\x17\\x86\\x07\\xc3\\xc8\\x11\\x1a\\x51\\x0c\\x40\\x6d\\xe2\\xc5\\x7b\\x47\\x4b\\xbd\\x3f\\x5e\\xbc\\x43\\x07\\x16\\x9d\\xc4\\x2a\\x58\\x96\\x57\\xce\\xa4\\xde\\x5e\\x71\\x37\\x56\\xc2\\xea\\x5e\\xca\\x00\\xb5\\x60\\xcd\\x69\\xe7\\x94\\xe4\\x77\\x3f\\x25\\xf6\\x23\\x4e\\x29\\x18\\xe7\\xac\\x4e\\x37\\x29\\x48\\x80\\xc8\\xf9\\x08\\x40\\xdb\\x54\\x36\\xb7\\x8a\\xe7\\x95\\x56\\x37\\xed\\xd4\\x3a\\xbd\\x5a\\x8f\\xdb\\xa6\\xb7\\x18\\xa1\\xc3\\x6d\\x25\\x94\\x02\\x21\\x68\\x1d\\x46\\x8a\\x57\\x00\\x95\\x16\\xf1\\x51\\xd2\\xda\\xe2\\x68\\x47\\x1e\\xeb\\xc3\\x6d\\xfc\\xe4\\x01\\x01\\xf1\\xc6\\x15\\x1a\\xfe\\x94\\x5c\\x72\\x5e\\xac\\xa2\\xaf\\xbf\\xbe\\x05\\xc5\\x37\\x8f\\xab\\xf6\\x3f\\x24\\x9e\\x7b\\x8f\\x4a\\x9c\\xaa\\xba\\x05\\xfc\\xf1\\xcd\\xdd\\xa8\\xc2\\xe3\\xfa\\x6b\\x40\\xcb\\x65\\x2a\\x70\\xab\\x6a\\x0f\\xf9\\xf7\\x81\\x3e\\x39\\xcc\\x01\\x3f\\x88\\x0c\\xf6\\xbc\\xe7\\x93\\x69\\xec\\xc0\\x2d\\x03\\xb7\\x4a\\x54\\x3b\\x50\\xc6\\xcf\\x61\\xdc\\x73\\x31\\xd4\\x57\\x84\\x68\\x4f\\x97\\xe9\\xd4\\x41\\xaf\\xa7\\x8c\\x27\\x8c\\x46\\x87\\xc3\\xe3\\x56\\xa9\\x99\\x28\\x82\\x85\\x29\\x53\\xf1\\x6e\\x95\\x9b\\xb6\\x6a\\xf9\\xa0\\x1f\\x21\\x4e\\xbe\\x92\\x6c\\x19\\x06\\x16\\x26\\x7f\\xb4\\x98\\x32\\xc1\\xc5\\x15\\xa5\\x5d\\xa4\\x42\\xb0\\xe1\\x49\\xa3\\x04\\xf4\\x2f\\x65\\xf2\\xf3\\xb9\\x4d\\x39\\x1d\\xb8\\xb6\\x42\\xf1\\xb8\\x30\\x69\\x3c\\xd0\\x1f\\x5e\\xa5\\xf8\\xf7\\xae\\x8b\\xd2\\x75\\xe5\\x46\\xc5\\x51\\xf3\\xd5\\xbf\\x7e\\xf6\\x7c\\x38\\x31\\x5c\\x7f\\xf0\\xfe\\x54\\xb2\\xd7\\xa5\\x8e\\x6b\\x3d\\xde\\x59\\x63\\x45\\xb0\\xc3\\x1e\\x17\\xf7\\x6e\\x18\\xdb\\x66\\x17\\xf4\\x6c\\x5c\\x70\\x8e\\xb9\\xe4\\x75\\xb1\\xdd\\x8c\\xc3\\xa5\\xeb\\xf7\\xd7\\x4b\\xf9\\x87\\xc4\\x7b\\x62\\x3f\\xa7\\xc3\\x7b\\x05\\x2b\\xd2\\x49\\xb3\\xc1\\xe0\\xd2\\xe9\\x04\\x87\\xca\\x45\\xa2\\x04\\x1d\\x44\\x1f\\x25\\x50\\x5e\\x82\\xf0\\x99\\x60\\x58\\xe7\\xb2\\x9b\\x49\\x8d\\x1e\\x51\\x3c\\xeb\\x29\\x07\\x25\\x1f\\x1b\\xb3\\xf9\\x29\\x3a\\x6f\\x79\\xf9\\x79\\xba\\xb4\\xde\\x57\\x02\\x38\\x2a\\xcc\\xc1\\x29\\x21\\xe5\\xc5\\x11\\x92\\x4e\\x62\\x0e\\xc5\\xec\\x5f\\x27\\xcd\\x57\\xc0\\x59\\x3b\\x45\\xad\\x42\\x51\\xd3\\xa5\\x2d\\xc6\\xb7\\x30\\x0d\\x58\\x51\\x9e\\x4d\\x01\\x09\\xef\\x0f\\xeb\\x11\\x23\\x92\\x74\\x06\\xb7\\x9c\\x66\\xf1\\x19\\xdc\\x39\\xe9\\x26\\x83\\xc9\\x6e\\xb1\\x84\\x10\\xe5\\xa5\\xa0\\xe5\\x42\\x21\\x02\\x0a\\x86\\x08\\xa2\\xb4\\x26\\x2a\\x1c\\x09\\xf1\\x36\\x93\\xc9\\xec\\x14\\xcc\\x42\\x57\\xc6\\xcc\\x73\\x7e\\x95\\xbf\\x27\\xa3\\xb2\\xb0\\x00\\x0e\\x2c\\x33\\x3d\\x24\\xa9\\x26\\xbb\\x08\\x95\\x06\\xac\\x92\\x9f\\x6d\\xc8\\x27\\x3b\\x14\\xe7\\xd2\\x64\\x85\\x84\\xeb\\x6a\\x3e\\xa7\\x86\\x66\\xf7\\x6e\\x2c\\xc8\\xa1\\x59\\x3c\\x2b\\x39\\x39\\x55\\x4d\\x6e\\x80\\xc1\\x55\\xe5\\xec\\x39\\x72\\x2e\\x0d\\x75\\xf8\\xf4\\x1e\\x6b\\x3e\\x81\\xa6\\x87\\x1c\\x8b\\xb7\\x15\\x60\\x90\\x25\\xea\\xb2\\x69\\x34\\x58\\x8f\\x7f\\x84\\xe3\\x0e\\x71\\x9f\\x05\\x88\\x95\\x69\\xab\\xcd\\xe9\\x34\\x0a\\x6a\\x9f\\x4f\\xd6\\xa2\\x40\\x06\\x09\\xa2\\xcc\\xad\\x45\\x01\\x96\\x23\\xa3\\x76\\xbb\\x15\\x66\\x9f\\xbc\\xf5\\x1a\\x30\\x53\\xc3\\xa8\\xb2\\x78\\x8b\\xa1\\x34\\xa7\\x23\\x99\\x9f\\xcc\\x0b\\x14\\x39\\x02\\xdd\\x19\\xf3\\x29\\xa2\\x36\\x42\\x63\\x6f\\xd7\\x08\\x84\\x67\\x92\\x2e\\xe5\\xe5\\x78\\x04\\xd6\\x33\\xc9\\x56\\x9b\\xe0\\xb8\\x43\\x98\\xcd\\x2e\\x22\\x93\\x8e\\x09\\x46\\xa3\\x56\\x05\\x95\\xe8\\x72\\x39\\x19\\xb8\\x46\\xab\\x9c\\x6e\\x8f\\x83\\xb7\\x70\\x3d\\x19\\xc6\\x62\\xa1\\x79\\x5e\\x8b\\xf0\\xf1\\x69\\x57\\xc9\\xba\\x9c\\x83\\x6a\\xc9\\xe3\\x99\\x95\\x88\\x24\\xad\\xc8\\xec\\xf0\\x39\\x50\\xd4\\x62\\xa8\\xaf\\xc3\\x45\\x90\\xcd\\x59\\x2c\\x67\\xbc\\xdc\\x16\\x63\\x36\\x97\\x67\\xc1\\x9c\\x89\\x02\\x6e\\xba\\x08\\x71\\x6e\\xba\\xcc\\xe7\\xd7\\x68\\xfd\\x5a\\xa5\\xc3\\xe1\\x76\\x9b\\x0d\\xca\\x50\\x88\\x34\\x90\\xe5\\x04\\x11\\x0d\\x39\\x48\\xb3\\xd5\\xdc\\x97\\x29\\x0b\\x78\\xbd\\xb8\\x3e\\xd1\\x94\\xd1\\x7a\\x7d\\x3e\\xaf\\x96\\x62\\x23\\xd6\\x21\\xac\\xff\\x72\\x86\\x29\\x56\\x54\\xc1\\xb2\\xd5\\xd4\\x54\\x68\\x8f\\xf9\\x3d\\x71\\x79\\xd6\\xc7\\xa7\\x31\\xa5\\xaa\\xb2\\x42\\xd9\\x1a\\xf2\\xda\\x52\\x61\\x72\\xba\\x0b\\xce\\x0f\\xcf\\x0d\\x71\\x85\\xfa\\x7a\\x75\\xf6\\xdc\\xd9\\x6b\\xb6\\xe4\\x55\\x86\\x96\\xb3\\x37\\x46\\x5b\\x7e\\xfb\\xab\\x62\\x95\\x3d\\xc9\\x83\\xbf\\x88\\x36\\x55\\x54\\x56\\x5c\\x1e\\x6b\\xbb\\x8c\\x58\\x93\\x4e\\x79\\xbc\\x0a\\xa5\\x57\\xc9\\x98\\x99\\xb2\\x32\\xc2\\x6c\\xb3\\x19\\x78\\x82\\x0f\\x87\\x82\\x0c\\x43\\x97\\xf1\\x9c\\xca\\xad\\xea\\xce\\xf8\\xdc\\x6e\\x8f\\x12\\xfe\\xd0\\x26\\x84\\xdd\\x6b\\xe2\\x8b\\x40\\x7b\\x31\\x1e\\x0b\\x5c\\x80\\x0c\\x4d\\x59\\x68\\x3a\\x43\\x11\\x00\\x77\\xc9\\x51\\x80\\x84\\xbe\\x8d\\x44\\x2e\\xd5\\xe8\\x68\\x8c\\x4c\\x89\\x0a\\x50\\xa9\\x2b\\x25\\x20\\xee\\xb9\\x0b\\x9c\\xbd\\xa6\\x40\\x59\\xa1\\x6a\\x75\\xda\\xea\\xde\\x58\\xd3\\x62\\xdf\\x18\\x38\\x0c\\x31\\x24\\xf7\\xfa\\xd4\\xde\\xf5\\x8a\\x62\\x15\\x93\\x40\\xff\\xad\\x77\\x51\\x3d\\xe8\\xcd\\x9d\\x7d\\xd0\\x5f\\xe0\\x71\\x78\\x66\\xda\\x68\\xd3\\x68\\xf4\\x14\\xcb\\xfa\\x3d\\x7a\\x0f\\x5f\\xc6\\x07\\x6d\\x4a\\x54\\x82\\x8a\\xaa\\xe6\\x9c\\x4e\\xde\\x24\\x15\\x09\\x9b\\x28\\xbf\\x86\\x42\\x50\\xfc\\x19\\xc0\\x0f\\xbf\\xe1\\xa4\\x2f\\x66\\x1b\\x94\\x24\\xc3\\xa9\\x28\\x92\\xdf\\x58\\x7c\\xc6\\x91\\x03\\x04\\xb5\\xd2\\x9f\\x0c\\x9c\\x56\\x1e\\x6d\\x53\\xad\\xd9\\xd4\\xff\\xcb\\x73\\xa4\\xb4\\x7f\\x04\\x88\\x50\\xa9\\x7c\\xb9\\x73\\xe9\\xbb\\x13\\x7e\\x71\\xaf\\x6e\\xd2\\x8d\\xf5\\x0e\\x70\\xdd\\xa8\\xea\\xfe\\x33\\xe3\\x03\\x9b\\xb2\\xa9\\x3b\\xf5\\x4e\\xb1\\x25\\x18\\xbf\\xf4\\xda\\xe6\\xe9\\xe2\\xd9\\x0e\\x09\\x63\\x1f\\x61\\x0c\\x42\\xbf\\x70\\x2a\\x8e\\x3f\\xbd\\x83\\xa7\\xd8\\x59\\x30\\xe6\\x2a\\x23\\xe2\\x50\\xc2\\x04\\x4b\\x95\\x9b\\x4c\\xca\\xa0\\xc3\\x15\\x13\\x04\\x57\\x90\\xa2\\xab\\x12\\x46\\x82\\xa6\\x09\\x05\\xd1\\x9f\\x29\\x57\\x28\\x7c\\x5a\\xa7\\xd3\\xe7\\xb3\\xf6\\x65\\x7c\\x46\\x6d\\x08\\xe5\\x1c\\x11\\x25\\x85\\xfc\\xc9\\xdc\\x56\\x5a\\x11\\x7a\\x98\\x74\\xac\\x88\\xb7\\x6d\\xa0\\xa2\\x10\\x8d\\x95\\x8f\\x86\\x32\\xf9\\xb9\\x5c\\x24\\x86\\x28\\x4e\\x08\\x7d\\x0a\\x04\\x08\\x0a\\x23\\x01\\x3f\\x5e\\x3b\\xd3\\x18\\x1b\\x6f\\x0e\\x35\\xcf\\xf1\\xbc\\x0b\\xc6\\x3f\\x05\\x00\\xd0\\x84\\x7e\\x38\\x45\\xbd\\xfc\\x4a\\xff\\xdb\\xad\\x13\\xd2\\xa3\\x76\\x7c\\xb1\\x41\\xfc\\x5e\\xfc\\x13\\x49\\xfe\\xe5\\x0d\\xf1\\x8f\\x15\\x54\\xbb\\xed\\x20\\xd9\\x69\\x50\\x7f\\x7f\\xab\\xf7\\x0d\\x50\\xf7\\x3f\\xff\\xfc\\xbf\\xbb\\x2e\\x99\\xf9\\xd9\\xaf\\xc7\\x8d\\x7a\\x4d\\x7c\\xa9\\x26\\x0a\\x5c\\x80\\x19\\x4f\\x3e\\x20\\x3e\\x27\\x7e\\x79\\xf9\\xc5\\xff\\x73\\x3f\\x92\\x99\\x1d\\x3c\\x45\\xd7\\xc0\\xb8\\xa0\\x8c\\xa8\\x22\\xe6\\xa4\\xe3\\x2c\\x15\\x32\\x9b\\x95\\x81\\x72\\x28\\x71\\x80\\xa2\\x13\\xd5\\x26\\x49\\xe2\\xce\\x4c\\x48\\xa1\\xf0\\x42\\x89\\xbd\\x5e\\x5b\\x77\\xc6\\x6b\\xd1\\xc6\\x64\\x48\\xe3\\x9f\\x90\\xb8\\x44\\x5e\\x6b\\x32\\x9b\\x71\\x4c\\xf3\\x32\\x8a\\x7c\\x16\\x2b\\x4a\\x3a\\x6e\\xc6\\xa1\\xc2\\x3e\\x28\\x6f\\x64\\xbc\\xb9\\xac\\xa5\\xc9\\x75\\xfb\\xaf\\xcf\\xbd\\xf0\\xa6\\x5b\\xc5\\xcf\\x1e\\xa3\\x57\\xad\\x98\\xbb\\x67\\xbc\\xfb\\xcc\\xb7\\xce\\xbc\\xe7\\x21\\xfa\\xf1\\x57\\xbe\\x1a\\x3b\\xaa\\xed\\xb2\\x7e\\x70\\x87\\x41\\xfd\\xf1\\xad\\x1e\\x72\\xfb\\x9f\\x36\\xaf\\x3b\\x33\\x73\\x4b\\x9f\\x66\\xf2\\x96\\x6d\\x63\\x23\\x15\\xd3\\x7b\\x1f\\xf9\\x45\\xac\\xbc\\x85\\xbf\\x7d\\x5d\\xd3\\xa4\\x73\\x9e\\x43\\x7a\\x15\\x1f\\xc7\\x7a\\x0d\\xc3\\xe8\\x67\\x45\\xba\\x81\\xa5\\x2a\\xa0\\x5e\\x43\\xde\\x80\\xc3\\x15\\x47\\x72\\x86\\x28\\xa6\\xba\\x26\\xa7\\xda\\x0a\\x85\\x42\\xeb\\x0f\\xa4\\xbd\\x01\\xa7\\x33\\x10\\x80\\xea\\x0d\\x18\\xb5\\x91\\x21\\xea\\x4d\\x3a\\x84\\xb7\\x46\\x50\\xf1\\xcf\\x54\\x32\\xde\\x89\\x0a\\x13\\xf5\\x3f\\x5b\\xcd\\xbf\\x7e\\xa9\\xe1\\xdc\\x86\\x1f\\xc4\\x7f\\xfd\\xb4\\x9e\\x3b\\x55\\xe2\\x9b\\xa0\\x4e\\x05\\x5c\\xff\\x2d\\xd5\\xb5\\xf8\\x38\\xd6\\x75\\x84\\xa8\\x41\\x3b\\xf5\\xd0\\xbe\\xa1\\xae\\x61\\x3f\\xc4\\xe4\\x5e\\xa8\\x4d\\xe6\\xd4\\x0d\\x0d\\x5c\\x1b\\xf0\\x7b\\xd3\\x79\\x8d\\x57\\x95\\x6a\\x1c\\x76\\x41\\xf2\\xe7\\x99\\xf9\\xf0\\x6a\\x47\\x1d\\x80\\xe2\\xf2\\x9f\\xa7\\xf9\\x49\\x8f\\xcd\\x6d\\x38\\x37\\x75\\xe5\\xe5\\x3f\\xa5\\xfc\\xb1\\x73\\x54\\xe2\\x1b\\xa0\\xd1\\xf0\\xe8\\xae\\x02\\x13\\x18\\x1c\\x1c\\xfc\\x37\\xec\\x80\\xff\\xe2\\x18\\xb0\\x12\\xe3\\xcb\\x62\\x1e\\x76\\xcc\\x4d\\xfd\\xaa\\xc4\\x59\\x43\\x5e\\x29\\xd5\\x34\\x55\\xe7\\x6b\\x9a\\x30\\xef\\x12\\xc2\\xd0\\xa4\\x3e\\x97\\x3f\\x33\\x8f\\xc0\\x28\\x9b\\x53\\xf4\\xd2\\x67\\xb0\\xbf\\xdc\\xc9\\x6c\\x87\\x73\\x62\\x25\\xb1\\x39\\x1d\\x0e\\x3b\\x1c\\xde\\x48\\xa5\\x56\\xa5\\x32\\x7a\\x8d\\x0c\\x53\\x49\\xd8\\xbc\\x8c\\xbb\\xa2\\xa2\\xca\\x1d\\xaf\\x8c\\x44\\x42\\xbe\\x80\\x0f\\xc6\\x69\\x16\\xd2\\x82\\xa6\\x49\\x7b\\xc6\\x1e\\x26\\x49\\x77\\x34\\x40\\x39\\xbc\\x6e\\x6f\\x5f\\xc6\\x6d\\x50\\x08\\x7d\\x19\\xb5\\x5a\\xe1\\xcc\\xa3\\xd2\\x67\\xc3\\x37\\xe9\\x88\\x7e\\x98\\x63\\x45\\x43\\xe1\\x3e\\x81\\x8c\\x14\\xee\\x47\\xe9\\x2c\\x5c\\x7e\\x43\\x98\\x07\\xc3\\x1c\\xe0\\x93\\xf7\\x5f\\x3a\\xe5\\xb1\\x17\\xc4\\xc7\\xc5\\xa7\\xf6\\x3f\\x5c\\x3e\\x91\\x8a\\x5d\\x30\\xe1\\x4f\\xbf\\xb9\\xf4\\xea\\x75\\x8b\\xaf\\x9e\\xf6\\xa4\\x72\\xe0\\x3d\\xe5\\xd1\\x77\\x0f\\x21\\x70\\x99\\x23\\xe7\\x90\\x77\\x5f\\xa4\\x04\\x7b\\x95\\x77\\x91\\x6f\\xd5\\xfc\\xe9\\x8f\\xe2\\x36\\x71\\x77\\xf2\\xf4\\xe5\\xb1\\x04\\xa8\\x03\\x7d\\xf7\\x1f\\xb6\\xaf\\x12\\xa7\\x16\\xec\\xdb\\x5f\\x4c\\x5e\\x92\\x8d\\x21\\x88\\x56\\xb1\\x93\\xfa\\x00\\xfb\\xa7\\xcb\\xd3\\x29\\xaf\\xdd\\xee\\xf0\\x85\\x60\\x9f\\x18\\x1c\\x06\\x86\\x09\\x11\\x56\\x07\\x13\\x0e\\x06\\x61\\x77\\xf8\\x9c\\x6e\\x67\\x67\\x86\\x30\\x93\\xe6\\xee\\x8c\\xcd\\x4b\\x92\\x8e\\x80\\x9b\\x77\\x98\\x15\\x7c\\x57\\x51\\x37\\x94\\xf4\\x80\\xbe\\xc0\\xf5\\x1e\\x4e\\xfc\\x92\\xcd\\x5f\\xcc\\xe6\\x9f\\xcf\\x00\\x20\\xe9\\x9a\\xea\\xeb\\x76\\x8a\\x03\\x7f\\x3e\\xff\\x5a\\xb4\\xd9\\xbb\\x68\\xc7\\xcd\\x4b\\x96\\xc4\\x27\\x2e\\x18\\x2f\\x6d\\xf2\\xe7\\xf2\\x01\\x48\\xbd\\xe6\\xa1\\x47\\xc4\\xdf\\x8b\\x8f\\x4b\\x3b\\xbc\\x8a\\xef\\xf6\\x5c\\xa3\\x9d\\x26\\xde\\x56\\x98\\x1a\\x20\\x71\\x79\\x43\\xbf\\xf4\\x35\\x1c\\x5f\\x2c\\x4a\\x9b\\x18\\xb3\\x1b\\xba\\x6b\\x4e\\xda\\x61\\x76\\x68\\x6c\\x36\\x1f\\xaf\\xd1\\x78\\x3d\\xd0\\x39\\x4b\\xab\\x1d\\x0c\\x76\\x7c\\xac\\x94\\x4a\\x8f\\x6a\\x43\\xb5\\x68\\x7b\\xdb\\xe8\\x2c\\xa5\\xe1\\xcd\\xe9\\x1c\\xbe\\xc8\\xa1\\x8d\\x0c\\x5d\\x16\\x31\\x7d\\x77\\x70\\x28\\xb7\\x37\\x15\\xa4\\x3d\\xe2\\x81\\x1c\\x81\\xf7\\x52\\x4c\\xf0\\x6d\\xab\\x29\\x24\\xf8\\x5e\\x3c\\xae\\x80\\xc3\\x7b\\x08\\xc1\\xb7\\x18\\x93\\xd6\\xf8\\x7d\\xd0\\x0f\\x45\\xfc\\x46\\x7e\\xa2\\x23\\x5d\\x0e\\x5d\\x50\\xbf\\x9f\\xf1\\xf9\\x82\\x56\\x83\\x21\\x60\\x34\\x06\\x3c\\x5c\\x57\\xc6\\xc3\\xc0\\xbf\\x82\\x60\\xed\\xce\\x08\\x16\\xda\\x8f\\x7d\\x50\\x67\\xd6\\x03\\xcd\\x11\\x93\\x27\\xe4\\x8d\\xac\\x3c\\xda\\x07\\x76\\x3d\\x87\\x80\\x28\\x67\\x39\\x8f\\x28\\x03\\x74\\x3e\\xff\\xa7\\x80\\xd8\\xa8\\x6d\\x08\\xf3\\x11\\x76\\x42\\xb3\\xfc\\x46\\xb7\\x76\\x16\\x11\\x1f\\xe1\\x33\\x98\\x56\\x7c\\x06\\x59\\x06\\x67\\xf8\\x94\\xcf\\x64\\xb2\\xab\\x15\\x86\\x40\\x80\\x24\\x15\\x76\\x0a\\x2a\\x2b\\x6c\\x0d\\xf9\\x8c\\xa8\\x36\\xdb\\xea\\x0a\\x78\\x49\\x87\\xcb\\x01\\x1d\\x51\\x17\\x65\\xb2\\x5b\\xed\\x50\\x31\\x06\\x56\\xd7\\x97\\x51\\x2a\\x59\\x57\\xc9\\xd0\\xfb\\xc9\\x93\\x48\\xe4\\x79\\x92\\x85\\x23\\xce\\x59\\x0a\\x06\\x07\\x7f\\xb3\\x41\\xc5\\xb1\\xc7\\x46\\x89\\x47\\xc5\\x7f\\xde\\xf0\\x88\\x34\\xd6\\x1e\\xff\\x5d\\x72\\xea\\x48\\x07\\x63\\x50\\x17\\x7f\\x13\\x9f\\x10\\x8f\\x49\\x03\\xcd\\x05\\xc2\\xe0\\xc1\\x61\\x8e\\xc7\\xe0\\x18\\x2b\\x17\\x5b\\xf1\\xf9\\xa4\\x1d\\x9d\\x4f\\x2a\\x59\\x2b\\x3a\\x08\\xb6\\xdb\\x09\\xc2\\xc0\\x52\\x0e\\xa7\\x9d\\xb7\\xc2\\x88\\xcf\\x6a\\x35\\x98\\xcd\\xc6\\x4e\\x18\\xf9\\x19\\xcc\\xb4\\xba\\x2b\\xc3\\x71\\x74\\x3e\\x01\\xf3\\xc7\\xce\\x27\\x11\\xd2\\x5d\\x6e\\x20\\x41\\xdf\\xb9\\x90\\xff\\xe8\\x96\\xf2\\xc1\\x67\\xe5\\xd1\\xb3\\xe1\\x36\\xcf\\xb8\\x52\\x22\\xa4\\x8b\\xbe\\xf8\\x01\\x0f\\x9a\\x17\\x9f\\x03\\xb7\\x14\\x1c\\x92\\x15\\x9e\\x11\\x2f\\x4f\\x27\\x51\\xae\\x0c\\xaa\\x90\\x91\\x42\\x38\\x03\\x29\\x78\\x05\\x8f\\x1d\\x46\\xdf\\x76\\xbb\\x90\\xab\\x8e\\xf9\\x89\\xba\\x98\\x52\\xe5\\x94\\x84\\x70\\xa5\\x11\\xdc\\xf0\\x7a\\x39\\x79\\x00\\x05\\x6f\\x07\\x7e\\xe4\\xa0\\xb2\\x20\\x7c\\x1b\\xf6\\xa0\\xb2\\xe4\\xac\\x78\\x4e\\x3a\\xc6\\xe9\\xf5\\x72\\x0c\\xce\\x2b\\x95\\x2a\\x42\\x65\\x34\\xe8\\x79\\x5e\\xd1\\x05\\x23\\x36\\x56\\xa6\\xd6\\x52\\x99\\x87\\x44\\xe0\\x25\\xea\\x18\\x46\\x16\\xaa\\xf4\\xcc\\x18\\x51\\x51\\xa1\\x41\\x33\\x0c\\x17\\xd5\\xd0\\x53\\xe3\\xc2\\x18\\x7a\\x79\\xda\\x82\\x63\\x68\\x85\\x52\\xa9\\xc6\\x81\\x34\\x0c\\xa1\\xcb\\xbc\\x6e\\x29\\x84\\xd6\\x67\\xdc\\x6e\\xb6\\x30\\x82\\x56\\xc0\\x46\\x3e\\x46\\xa9\\x58\\x55\\x61\\x78\\x56\\xd2\\xfd\\x05\\x60\\x06\\xf2\\xa4\\x5c\\x18\\x98\\xc1\\x16\\xa7\\x7e\\x3c\\x82\\x56\\x89\\xbb\\x1f\\x1d\\x37\\xfe\\x47\\x23\\xe8\\x7a\\xb1\\x1f\\x7c\\x30\\x72\\x04\\x9d\\x8f\\x9f\\xdd\\x44\\x4f\\xda\\x4f\\x33\\x8c\\xd3\\xe9\\xd2\\x9b\\x4c\\x3a\\xb5\\x4b\\xed\\xf5\\x38\\x79\\xab\\xa2\\x27\\xc3\\x5a\\xad\\xa4\\x20\\xe8\\x3a\\x33\\x02\\x8f\\x7a\\xfe\\x11\\xd2\\xdd\\x99\\x21\\x4b\\x0e\\x8b\\x0b\\x83\\xe7\\x82\\xde\\x0f\\x71\\x41\\x2a\\xe8\\x04\\x23\\x46\\xce\\x8a\\x23\\x2b\\x5e\\x7c\\x6a\\xf8\\xd0\\x39\\x2e\\x2e\\xff\\xb1\\xd8\\x19\\xe5\\xf2\\x71\\x0a\\xbc\\xcf\\xbb\\x24\\x5d\\x6b\\xd2\\xeb\\xd5\\x88\\xe8\\xd8\\xe1\\xb0\\x70\\x76\\xbb\\x59\\xa0\\x74\\x56\\xab\\x4b\\xe7\\xb4\\xeb\\x8d\\x30\\x86\\xe2\\x54\\x2a\\x8b\\x91\\x72\\xa8\\x59\\xcc\\xf0\\x6f\\xa6\\x75\\x06\\xa5\\x41\\x0e\\xff\\x73\\x04\\xde\\xa8\\x9c\\x5d\\x9f\\xcf\\xf1\\x97\\xb3\\xe1\\x4a\\xf6\\x00\\xa4\\xfa\\xb0\\xa0\\x3a\\xcf\\xe2\\x6c\\xc4\\xf8\\xd5\\x6c\\x48\\xaa\\x07\\x3b\\xf1\\xf4\\xc0\\xec\\xe0\\xe7\\x4f\\x1f\\x51\\x89\\x8d\\x38\\x6f\\x0c\\x5c\\xfc\\x36\\x39\\x0b\\xdc\\x00\\x35\\x55\\x2f\\x9f\\x2b\\xd4\\xfc\\xb0\\x85\\xde\\xf6\\xc3\\xc9\\xec\\x68\\x38\\x0d\\xa8\\x41\\xa4\\x25\\xcc\\x39\\x27\\x2e\\xc7\\x9c\\x73\\x5e\\x62\\x41\\xba\\xc6\\xa9\\xb0\\x41\\x69\\xbc\\x5e\\x37\\xe3\\xf1\\xb8\\x6c\\x94\\xdf\\xc4\\xf3\\x3e\\x46\\xa1\\x70\\xcb\\x78\\xc4\\x5a\\x13\\x5c\\x44\\x04\\xad\\xd9\\xc5\\x59\\x68\\xef\\x90\\x53\\x86\\x82\\x25\\xb1\\x70\\x63\\x31\\x27\\x4d\\x76\\x51\\x91\\x79\\xe5\\x0a\\x81\\xf9\\x65\\xd6\\x39\\xfa\\x25\\x34\\x40\\x64\\x5e\\xb9\\x19\\x8b\\xdb\\x65\\xe6\\xb9\\xe0\\xb8\\xa9\\xab\\x73\\xcc\\x73\\xd2\\xb2\\x22\\xb3\\xcb\\x7d\\xfe\\x87\\x05\\x88\\x7b\\x6e\\xf5\\x97\\xe0\\xd1\\x2c\\xf5\\x1c\\xf2\\x03\\x57\\x43\\xdf\\x51\\x83\\xe3\\xc4\\x4e\\xec\\x3b\\x5e\\x8f\\xea\\x31\\x90\\xef\\x08\\x57\\x1b\\xec\\x17\\x82\\x5e\\xec\\x3b\\x92\\xce\\xbc\\xef\\x38\\x76\\xf0\\x6f\\x74\\x1d\\xc6\\x5f\\x9f\\x28\\x73\\x22\\xfe\\x8e\\x28\\x60\\xf1\\x28\\x78\\xce\\xb6\\xec\\x73\\x88\\x95\\x60\\x16\\x7c\\x8e\\xea\\x38\\x45\\xe6\\xb1\\x6d\\x30\\x07\\x2f\\xe6\\x4b\\x98\\x28\\x73\\x7d\\x3c\\x88\\xb1\\x6d\\x28\\xb2\\x4a\\x2f\\x7f\\x66\\x70\\x0d\\x41\\xb0\\xa7\\xb1\\x6f\\x7b\\x95\\xcc\\x25\\xf7\\x37\\xa6\\x1c\\x73\\x30\\x1c\\xc2\\xdf\\x83\\xe2\\xf6\\x17\\x70\\x7b\\xcb\\xe5\\xf6\\xf6\\x48\\xbe\\x6e\\x59\\xbe\\xbd\\x88\\x9b\\xe2\\x4b\\xdc\\xde\\x76\\xb9\\xbd\\x37\\x49\\xed\\xad\\xc8\\xb5\\x97\\x58\\x39\\x78\\x8a\\x99\\xcf\\x74\\x08\\x2c\\xc0\\x1c\\x76\\x44\\x02\\xde\\xd3\\x49\\xbd\\x2c\\xb0\\xd0\\x03\\xc8\\xbd\\x8f\\xe4\\x41\\xef\\x63\\x79\\x76\\xc8\\xf2\\xd4\\xe6\\xe4\\xc1\\xf7\\x20\\x79\\xd0\\x3d\\x88\\xff\\xa1\\x5b\\x92\\xa6\\x56\\x46\\xea\\xc9\\xfb\\xe6\\xdb\\xb2\\xbe\\x39\\xb1\\x92\\xbc\\x10\\x3f\\x87\\x04\\xa9\\xdc\\x73\\x24\\xdf\\x3c\\x99\\xf5\\xcd\\xe1\\x67\\x66\\xc8\\x98\\x3f\\xdd\\xd9\\x7e\\x81\\xcf\\x3a\\x45\\xbd\\x81\\x9f\\xf3\\x9a\\xdc\\x77\\x0f\\xcb\\xcf\\x69\\xca\\x3e\\x07\\x71\\x77\\x52\\x24\\x7e\\xce\\x17\\x52\\x7b\\x54\\xd2\\x53\\x1a\\xb3\\xed\\x81\\x73\\x8b\\x0a\\xc6\\xc8\\x16\\x9c\\x6f\\xd3\\x95\\x8e\\x6a\\x94\\x4e\\xb7\\x85\\x30\\x52\\x14\\xe1\\x56\\xd2\\x7e\\x9b\\xd7\\x1b\\xf0\\xd9\\x3c\\xb6\\x7e\\xe8\\xd9\\x5b\\x38\\x8f\\xdb\\xed\\xa1\\x38\\xbe\\x2f\\xa3\\x52\\xa1\\x5a\\xfb\\xa4\\x9c\\x7c\\x92\\x8b\\x8d\\x87\\x39\\x88\\xc5\\x29\\xc3\\x34\\x5e\\x6d\\x39\\x19\\x38\\x02\\x25\\x18\\x03\\x79\\xef\\x98\\x23\\x17\\xde\\xfc\\xc0\\x2e\\x71\\xe0\\xce\\x5f\\xdd\\x92\\x9c\\xa0\\x72\\x9e\\x3f\\x6f\\xc5\\xc1\\x33\\xff\\xb9\\x84\\x07\\xd7\\x6d\\xf8\\x34\\x33\\xa1\\x35\\x45\\x01\\x1d\\x15\\x12\\x1e\\xdc\\xbe\\xfd\\xf3\\x4b\\xd2\\x60\\xf4\\xeb\\xe5\\x63\\x56\\x3c\\xbf\\xf5\\xbf\\xdd\\xe0\\x84\\xf9\\x57\\x60\\xac\\xc4\\x33\\xf8\\x11\\xf4\\x13\\xfe\\x4a\\x1d\\x86\\x3a\\xea\\x9d\\x89\\x5e\\xff\\x05\\xda\\x4a\\x88\\x9d\\x08\\xe5\\x7d\\x1d\\x63\\x25\\xed\\x00\\xcf\\x49\\xb6\\xe0\\xcd\\xdb\\x02\\xe6\\x16\\xa0\\xff\\x99\\xe5\\xf3\\x24\\x77\\x10\\xbb\\xa4\\xb8\\xc7\\x9b\\xb7\\x5d\\xe9\\x39\\xdb\\xb2\\xcf\\x81\\xba\\x7e\\x5c\\xee\\xdb\\x58\\x4e\\x47\\x12\\x47\\x41\\x32\\xfb\\x1c\\xd8\\xff\\x7b\\x65\\x1d\\xc5\\x72\\x3a\\xc2\\x98\\x66\\x78\\x0c\\xd4\\xca\\xcf\\x79\\x40\\xb6\\x99\\x78\\xc1\\x18\\x38\\x45\\xbd\\x88\\x9f\\xd3\\x23\\x3f\\xe7\\x80\\x3c\\x06\\x62\\x79\\x7c\\x27\\x19\\x1b\\x8d\\x87\\x1e\\x51\\x90\\x98\\x9a\\x8e\\xfa\\x6d\\x02\\x1d\\x70\\x58\\x35\\xb4\\xa6\\x2c\\xe4\\xb7\\xf5\\x65\\x34\\xfe\\x31\\xfe\\x0e\\x3f\\x62\\xb9\\xf1\\x13\\x70\\x0a\\x82\\x5e\\x05\\x4d\\x18\\x0b\\x49\\xc9\\x0b\\x32\\xc1\\x73\\x64\\x10\\x12\\x89\\x51\\x09\\xd8\\x99\\x04\\xe5\\x94\\xf2\\xb3\\x40\\x3e\\xda\\xf4\\x37\\x90\\xb7\\x94\\x40\\x9b\\x0d\\x3c\\xf1\\xfa\\x81\\x8b\\x3f\\xda\\x1f\\x38\\xbd\\x55\\x43\\xed\\x43\\xe8\\x67\\x37\\x97\\x53\\x9b\\x59\\x53\\x31\\xa0\\x19\\xa9\\x7e\\xe5\\x9b\\x9d\\xc0\\x78\\x70\\x1a\\x60\\x5e\\xfb\\xee\\x9a\\xef\\xf6\\x25\\x0b\\xf0\\xcd\\xb4\\x84\\x05\\xc6\\x15\\x93\\xd3\\x11\\xb7\\x59\\x47\\x79\\xac\\x26\\x15\\xa5\\xf2\\xfa\\xdc\\x28\\xd9\\xdd\\xed\\x72\\x93\\x1a\\xca\\xed\\x26\\x38\\x0e\\xa1\\x78\\x0b\\x84\\x3e\\x9f\\xf6\\xf0\\x63\\x52\\x14\\xc1\\x29\\x49\\x8b\\x97\\x9f\\x0d\\x49\\x59\\x31\\x7e\\x70\\x7f\\x0e\\xb3\\x0c\\x11\\x2f\\x9d\\xf3\\x4c\\x60\\xe0\\x2b\\x8e\\x8c\\x2c\\x5f\\xb4\\xea\\x91\\x10\\xa9\\x35\\x15\\xc2\\x95\\x81\\xe5\\x57\\x5d\\xfb\\xdb\\x07\\x12\\xaf\\xed\\xb8\\xf6\\xc5\\xdb\\x88\\x2c\\x3e\\x88\\xa4\\x43\\xfa\\xd6\\x22\\x1d\\xd2\\x54\\x72\\xa8\\x0e\\xe9\\xbd\\x45\\x3a\\xa4\\xa9\\xdc\\x3c\\x26\\xf1\\xe7\\x63\\x9b\\xfa\\x83\\xfc\\x1c\\xa7\\x6c\\x53\\x89\\xdc\\x73\\x30\\x3f\\x17\\x1e\\xaf\\xa2\\x34\\x5e\\x3d\\x92\\x45\\xc5\\xf3\\xf3\\x07\\xca\\xb7\\x61\\x1b\\xb0\\x8d\\xbf\\x2f\\xdb\\xf8\\x27\\x92\\x8d\\xfb\\x73\\x36\\x3e\\x98\\x11\\xdb\\x90\\x8d\\x0b\\x61\\xe2\\x4c\\x9a\\x10\\x64\\x1b\\xcf\\xdd\\xbb\\x2d\\x7b\\x2f\\x9c\\x57\\x0c\\x72\\x1b\\x72\\xf6\\x28\\x71\\x71\\x62\\x7b\\x3c\\x53\\x6a\\xc3\\x2a\\xa9\\x0d\\x89\\x21\\x6d\\xf8\\x36\\xd7\\x86\\xbb\\xc8\\x56\\xf9\\x39\\xd1\\xdc\\x73\\x60\\x1b\\xe8\\x38\\xb3\\x3f\\xd7\\x86\\xbb\\x88\\xf7\\xf0\\xbd\\x78\\x3f\\x1d\\xb7\\xe1\\x37\\x72\\x3f\\xdc\\x2e\\xdf\\x5b\\x9d\\xeb\\x07\\xbc\\xef\\x8c\\xfb\\xe1\\xdf\\x52\\x1b\\xe6\\x4b\\x6d\\xa8\\xc8\\xcf\\x5b\\x83\\x5f\\x8b\\xfd\\xb8\\x56\\x0d\\xfa\\x6d\\x69\\xaf\\x82\\x57\\x29\\x79\\xa5\\x16\\x71\\x77\\x68\\x8d\\x9c\\x60\\x80\\x3e\\x04\\x69\\xa0\\x14\\x38\\x2d\\x56\\xad\\xcd\\x16\\x2a\\xc9\\x9e\\x75\\x71\\xf6\\x1f\\x4e\\x96\\xa3\\xa4\\xcc\\x3f\\xd9\\x7d\\x88\\xa4\\xe8\\xb7\\x6b\\xc7\\x69\\x7d\\xcf\\x36\\x89\\xef\\xbc\\xb9\\x08\\xba\\x0d\\xdb\\x94\\x0f\\xbd\\x7b\\x10\\x7a\\x6b\\xa8\\x12\\x90\\xd3\\xfe\\xb0\\xdc\\x81\\x5d\\x05\\xa9\\x62\\x52\\xae\\x17\\xc2\\x35\\x81\\xe5\\xc4\\xa8\\xb4\\xc7\\x43\\x18\\x78\\xe8\\x8e\\x95\\xf1\\x5a\\x82\\xa9\\x88\\xb2\\x1e\\x53\\x30\\x1c\\xf6\\x77\\x67\\xc2\\x82\\x5e\\xa3\\x44\\xf8\\xf3\\x6f\\x25\\x5f\\x91\\x49\\x69\\x9a\\x8a\\x50\\x55\\x4a\\x88\\xc3\\x39\\x2a\\x7b\\x9a\\x31\\x12\\x7b\\x38\\x2a\\xf0\\x9b\\xd6\\x73\\xf6\\x8b\\x8f\\x56\\xd5\\x6c\\xbd\\x69\\xd4\\x85\\xbb\\xd7\\xcd\\xcf\\x15\\x01\\xe6\\x29\\xc4\\x6b\\x62\\x15\\xed\\x21\\xb1\\x13\\x5c\\xa3\\x40\\x44\\xe2\\x53\\x6a\\x22\\xf3\\xbb\\x65\\x22\\x71\\xa8\\xa3\\xbf\\xc1\\xb5\\x68\\x0e\\xd6\\xc5\\xef\\x64\\x7b\\x98\\x2d\\xdb\\x76\\x5d\\x4e\\x17\\x98\\xbb\\x0f\\xeb\\xe2\\xb4\\xac\\xaf\\x5e\\xd9\\xb6\\xab\\x65\\x6d\\x20\\x5d\\x48\\x75\\x83\\x11\\x94\\xb7\\x6c\\x31\\xba\\x38\\xb5\\x3a\\xe8\\x55\\x78\\x8d\\x7e\\xba\\x9c\\x8c\\x44\\xa2\\x2a\\x7f\\xc0\\xdf\\x9f\\xe1\\x02\\x01\\x77\\x38\\x5c\\xd6\\x97\\x09\\xb3\\xa8\\x82\\x35\\x4c\\xa9\\xe5\\xcd\\x21\\x01\\x4e\\x60\\x26\\x93\\x50\\xba\\x39\\x94\\x2b\\xa2\\x2b\\x59\\x5d\\x72\\x1e\\xb8\\xac\\x35\\xe9\\x7c\\x5f\\x02\\xd5\\x92\\x69\\xb7\\x5a\\x80\\x3f\\x5f\\xf0\\x49\\xdf\\x2e\\xa9\\x52\\xae\\xeb\\x7c\\x23\\xe8\\xdc\\xba\\xca\\x3f\\xcf\\x82\\x29\\xb7\\xd2\\x53\\x2d\\x46\\xd1\\xa7\\x94\\x4a\\x40\\x0f\\xaa\\xa8\\x7f\\x50\\x4f\\x21\\x0d\\x4b\\xc5\\x9e\\xaf\\xdc\\x74\\xad\\x59\\xf9\\xe4\\x1a\\xe7\\xe6\\x2d\\xcb\\x73\\xb5\\xa0\\x84\\xac\\xef\\x0e\\x8a\\x80\\xfa\\x46\\xb5\\x3b\\x2d\\x15\\x91\\x48\\xb5\\xc5\\x68\\x17\\xec\\xf5\\xd5\\x3e\\xb2\\x91\\xa9\\x67\\x04\\x93\\xe0\\x53\\x11\\xf5\\x6c\\xd3\\x28\\x0b\\xfc\\x6c\\x57\\xc6\\x08\\x40\\xad\\xd6\\xeb\\xad\\xad\\x75\\x75\\x67\\x6a\\x2d\\x65\\x95\\x5d\\x99\\xf2\\xf2\\x32\\xa7\\x4a\\xab\\x55\\x74\\xe7\\xa9\\xf3\\x0a\\x65\\x2f\\x58\\x53\\x4b\\x12\\xbb\\xd0\\x6f\\x7c\\x12\\x6b\\x4c\\xf9\\x87\\x94\\x87\\x26\\x39\\x7f\\xde\\x7e\\xa8\\x92\\x0e\\x91\\xdd\\xfb\\x54\\x92\\x07\\x4b\\xbb\\x27\\xe5\\x0c\\xa5\\x65\\xd2\\x4d\\xbc\\x78\\x74\\x63\\xb7\\x64\\x4d\\x35\\xb6\\x6d\\xab\\xb3\\x5d\\xd3\\x32\\xc5\\xe6\\xbc\\xf0\\x96\\xad\\x37\\xcd\\xe8\\x06\\xcf\\xf5\\xfa\\x67\\x4d\\x91\\x8b\\x47\\xdb\\x96\\x57\\xf4\\xc6\\x7a\\xbb\\xb0\\x61\\x89\\x7f\\xb9\\xee\\x46\\xdc\\x43\\x1b\\xae\\xb8\\x63\\xf2\\x95\\x67\\xf7\\x2c\\x09\\xe3\\x3c\\x82\\x0e\\x9c\\x47\\x10\\x25\\xce\\x4f\\xa7\\x79\\x8d\\xc6\\x4a\\xd9\\x48\\xbb\\x3d\\xe4\\xb3\\xd2\\xde\\xb0\\x27\\x12\\x21\\x49\\xda\\xe7\\x81\\xa1\\x3a\\x11\\x73\\x55\\x90\\x3e\\x5f\\x24\\x14\\x08\\x41\\x8b\\xa0\\xbc\\x36\\xda\\x15\\x0d\\x50\\x1e\\xbb\\xcb\\xde\\x97\\x71\\x19\\x54\\x86\\x7e\\xb4\\x93\\x34\\x64\\xbf\\x50\\xae\\x22\\x29\\xdd\\x29\\xc4\\x9d\\x53\\x8b\\x2e\\x72\\xe7\\xd4\\xc0\\x08\\xfb\\xa4\\xa8\\x00\\x0e\\x21\\xb2\\x0f\\x49\\x31\\x60\\x42\\xaa\\x3d\\xe2\\x59\\x2f\\xd4\\x9f\\xfd\\xec\\xf2\\x2d\\x53\\x63\\xe3\\x59\\xdd\\xf8\\x8a\\xf9\\xe7\\xc5\\x8f\\x0e\\x9f\\x6a\\x80\\x73\\xdc\\xa9\\x81\\x3f\\xde\\xb4\\xf4\\xbc\\x63\\x8b\\x3d\\xdf\\xed\\xb0\\x3a\\x36\\x2d\\xeb\\xb8\\x04\\x9c\\x1e\\x2e\\xe3\\x40\\xde\\x3f\\xed\\xc0\\xf9\\x06\\x49\\x22\\x93\\xae\\x0a\\x78\\x15\\x0c\\xa3\\x35\\x69\\x09\\x4f\\xd0\\x11\\x89\\x08\\x35\\xa6\\xaa\\x2a\\xc2\\x4b\\xd5\\x9b\\x1c\\x8e\\xba\\x60\\x8d\\x47\\xa0\\x6d\\x31\\x3f\\x6f\\x33\\x53\\xaa\\xae\\x0c\\xcb\\x52\\x85\\x5b\\x84\\x32\\x90\\x11\\x06\\x35\\x6a\\x6a\\xca\\xca\\x9b\\x3d\\xb2\\x66\\x4c\\xf9\\x2d\\x33\\x2c\\x23\\x9e\\x44\\x7e\\x34\\x29\\xc1\\x42\\x7e\\xfe\\xeb\\xff\\xe9\\x6d\\x0a\\x26\\x14\\xae\\xa6\\xb9\\x1b\\x62\\xd7\\xdf\\x9f\\x4a\\x96\\x66\\x27\\x44\\x4c\\x38\\x3b\\x61\\xeb\\xe4\\xa9\\x77\\xbf\\x66\\x78\\x75\\xb5\\xeb\\xfc\\xbe\\xb9\\x2b\\x40\\x66\\x7f\\x7d\\xab\\x67\\x98\\x2c\\x05\\xbd\\x90\\xcd\\x52\\xf8\\xf8\\x5e\\x29\\x97\\x04\\xce\\xf1\\x21\\x5c\\x8b\\x72\\x59\\x7a\\x92\\xc7\\x64\\xa5\\x8c\\x5e\\x2f\\xa9\\xe1\\xdc\\x36\\x96\\xd2\\x52\\x3a\\x52\\x67\\x34\\x9a\\x6d\\x1c\\x4d\\xb2\\x84\\x9e\\x08\\xea\\x03\\xa4\\xcd\\xe6\\x75\\x3b\\xa0\\xd3\\xc2\\x9a\\x2d\\xe6\\xfe\\x0c\\xa5\\xd5\\x7b\\x1c\\x16\\x8b\\xde\\xef\\xa0\\x38\\xa3\\x51\\xa3\\xd3\\xeb\\xa0\\xcb\\xa9\\xcf\\x1d\\xb1\\xe9\\x73\\x79\\x3f\\x85\\x99\\x3f\\x25\\x16\\x61\\x2d\\x80\\x31\\x90\\xcc\\x01\\xce\\x12\\x46\\xac\\xfc\\xac\\x0d\\x14\\x65\\xd1\\x60\\x33\\xd8\\x08\\x36\\x08\\xe2\\x7d\\xef\\xdf\\xa8\\x1a\\x18\\x2c\\xcc\\x36\\xf9\\x48\\xbc\\x48\\x00\\xf3\\x1f\\x2a\\xb5\\x03\\x38\\x45\\xdc\\x8f\\x0f\\x52\\xb3\\x09\\x27\\x33\\xe7\\x82\\xaf\\x4b\\xf5\\x2f\\xf1\\x2f\\x13\\x31\\x62\\x61\\xba\\xde\\x6a\\x02\\x15\\x46\\xc1\\x46\\xb9\\x34\\xae\\x70\\x94\\xa4\\xd8\\x60\\x30\\x52\\x61\\xd2\\x33\\x71\\x56\\xa3\\xa9\\x8c\\xea\\x0d\\xd0\\xd1\\x09\\x93\\x2a\\x9b\\xc5\\x60\\x50\\xf9\\x2c\\xbc\\xca\\x0c\\x2a\\x3a\\x33\\x20\\x57\\xf6\\x50\\x28\\x70\\xde\\x1a\\xac\\x4d\\x05\\xd8\\x05\\x51\\x50\\xa2\\x7a\\x49\\xc2\\x52\\xed\\x27\\xb9\\xa0\\xd1\\x4a\\x4d\\x19\\x24\\x0e\\xe6\\xd5\\x4e\\x88\\x7f\\xe6\\x01\\x71\\x6d\\x91\\xee\\x1f\\xfa\\x90\\xff\\xf8\\xf0\\x79\\x38\\xe1\\x24\\xa7\\xf3\\xaf\\x7a\\xc1\\xa4\\x52\\xa5\\xef\\xef\\x15\\x37\\x9a\\x09\\x92\\xd8\\x0c\\x75\\x3e\\x06\\xea\\x5c\\x49\\x38\\x89\\xf6\\x74\\x98\\xb0\\x32\\x6a\\xb5\\x60\\x15\\x5c\\x3a\\x9d\\xdb\\x09\\x27\\x7c\\xa7\\xd3\\xa4\\x35\\xe9\\xd1\\xb1\\x69\\x7f\\xc6\\x64\\x10\\xd4\\x18\\xca\\x80\\x2a\\x45\\xa3\\x28\\xde\\xed\\xc2\\x90\\xbd\\xa3\\x51\\xaa\\x89\\x2e\\x57\\x0f\\x0c\\x95\\x27\\xad\\x89\\x49\\x30\\x71\\xe7\\x6d\\x37\\x2e\\xda\\xbb\\xe9\\x81\\x7e\\x32\\x71\\xc6\\x3b\\x4a\\xb2\\x5e\\xb9\\xff\\x9d\\x83\\xca\\x81\\xf7\\x7f\\xfb\\xdb\\xdd\\xff\\xdc\\x0f\\x52\\xeb\\x97\\x93\\xf5\\x53\\xf7\\x81\\x56\\x92\\x46\\xda\\xf9\\x61\\xa1\\xa3\\xfe\\xb6\\xbb\\xcf\\x7f\\x73\\x39\\xf6\\x41\\x9a\\x61\\xfc\\xca\\xe0\\x98\\x77\\x12\\x3e\\x1b\\xdd\\x0c\\xfd\\x99\\x19\\xd8\\x5e\\x13\\x88\\x5f\\x93\\x0d\\x97\\x3b\\xc2\\x8e\\x80\\x3f\\xa0\\x89\\x19\\x0c\\x56\\x3f\\x41\\x58\\x35\\x54\\x75\\x8d\\x74\\xec\\x2b\\x54\\xf6\\x67\\x10\\xbf\\x92\\xd2\\x44\\xb1\\x65\\xca\\xb2\\xfe\\x8c\\xd2\\x48\\xbb\\xfb\\x33\\xb4\\xb1\\xb0\\xea\\x06\\xd7\\x81\\x95\\x92\\x2b\\x15\\x9f\\x6f\\xe3\\xa9\\x49\\x3e\\x1e\\x6c\\x06\\xa3\\x41\\x7e\\xf3\\x48\\xda\\x79\\x01\\x68\\x13\\x09\\xef\\x2a\\x21\\xe9\\xd9\\x19\\x63\\xa3\\xef\\xbf\\xb2\\x67\\xc1\\xe4\\x6b\\x67\\x9d\\xfc\\x14\\x8a\\xf7\\x88\\x2c\\xf0\\xbd\\xea\\xf6\\xf1\\x2b\\x36\\x38\\xc7\\xfd\\x70\\xec\\xf4\\xa5\\x6b\\xbc\\x7c\\xd5\\x15\\xa8\\x37\\x3e\\x12\\x8f\\x7c\\xf2\\xcc\\xf4\\x70\\xf9\\xd1\\xbb\\xa0\\xbc\\x92\\xf8\\xa7\\xfb\\xda\\x22\\x33\\x27\\x5e\\x77\\x0b\\x58\\x2d\\xce\\xff\\x7b\\x59\\xfd\\xcc\\xa6\\x0c\\x50\\x4e\\xdd\\x87\\x65\\x87\\x7d\\xc1\\x9c\\xc7\\xec\\x24\\x02\\x44\\x0d\\xd1\\x9f\\x4e\\x72\\x89\\x84\\xd3\\x19\\xa8\\xa8\\xd0\\x06\\xcd\\x66\\x5b\\x80\\x20\\x6c\\x5a\\xaa\\x36\\x89\\x98\\xb4\\xad\\x44\\x20\\x40\\xeb\\xf5\\xe1\\xae\\x8c\\x5e\\xe0\\xe2\\xaa\\x38\\x4a\\xb6\\xa1\\x3d\\x5d\\x19\\xda\\x42\\x94\\x80\\x6c\\x34\\x61\\xfe\\xa1\\x12\\xc1\\x65\\xb9\\xb9\\x2c\\xc6\\x67\\x8e\\xa1\\xd1\\x5a\\xb4\\xe5\\x84\\x99\\x46\\xf3\\x05\\xcd\\xcd\\x80\\x39\\xcf\\xe3\\x7b\\xf1\\xf1\\x9d\\x3b\\x55\\x4b\\xee\\x69\\xbb\\xf0\\xfa\\xdd\\x80\\xb8\\x75\\xfe\\x24\\x3a\\xbd\\x57\\x01\\x26\\xbe\\xac\\x6c\\x9b\\x3a\\x7f\\x8d\\x35\\x28\\x56\\x04\\xa7\\xd4\\xcf\\xdf\\xbf\\x78\\xce\\xd4\\x4d\\xdb\\x69\\x12\\x9c\\xbe\\xef\\xf1\\x07\\x16\\x2f\\x3e\\x6b\\xde\\xe3\\xb7\\xde\\x0f\\xe2\\x0f\\x59\\xab\\xc1\\x2a\\x5b\\xfc\\x87\\xc3\\xc9\\x58\\x77\\xd7\\x96\\x2d\\x2f\\x81\\xc9\\x56\\xc7\\x8d\\xe2\\xe9\\x1d\\xab\\xb6\\xde\\x58\\x6b\\x96\\xd6\\xf2\\x5f\\x42\\xdd\\xfb\\x99\\xa9\\x44\\x25\\x31\\x33\\x1d\\x77\\x79\\xb4\\x31\\x4b\\x19\\xb4\\x8d\\xb2\\x58\\x44\\xef\\x61\\xe3\\x55\\x11\\x03\\x1c\\x99\\x08\\x37\\x85\\x36\\x28\\xfd\\x1e\\x8f\\xdf\\x0f\\x97\\x27\\x3f\\xad\\x24\\x90\\xde\\x4b\\x4e\\x88\\x91\\xca\\x87\\x94\\x21\\xa3\\x1c\\x75\\xbc\\x8f\\x86\\x24\\xae\\x02\\x91\\x2a\\x90\\x2d\\x3e\\x0e\\x97\\x56\\x1f\\x93\\x56\\x03\\x3d\\x7e\\xee\\x72\\xe7\\xb8\\xe7\\xc7\\x46\\xdf\\x7e\\xf6\\xfc\\x9b\\xba\\x05\\xd3\\x86\\xab\\x77\\xea\\x76\\xdd\\x79\\x6c\\xd3\\xea\\x6c\\xd5\\xf1\\xf3\\x5f\\x3e\\x7d\\x7c\\xfe\\x59\\xa3\\x05\\x6f\\xdb\\xf5\\x37\\x43\\x5d\\x1e\\xf9\\xf8\\x85\\xf6\\xeb\\x77\\xdd\\x77\\x99\\x42\\xd1\\xa3\\x54\\x3d\\xb0\\x7b\\xfe\\x22\\xa9\\xde\\xf8\\xde\\xab\\x6e\\x7a\\xd8\\xa1\\x99\\xb4\\x7d\\x3b\\x86\\xd6\\x46\\xf9\\xd6\\x30\\xc6\\xff\\x1d\\x8c\\xbb\\xe2\\x48\\x46\\x8b\\x8d\\x0b\\x09\\xde\\x38\\x41\\x78\\x43\\x01\\xb5\\x8d\\xad\\x4a\\x04\\xd4\\x1a\\x8d\\xba\\x2b\\x13\\xd7\\xc4\\x35\\xb4\\xcb\\x66\\x73\\xb9\\x8c\\x5d\\x19\\x97\\x40\\x47\\x4b\\x74\\xfb\\x23\\x32\\x82\\x1c\\xd4\\xe9\\xc8\\xe5\\xc3\\x16\\x2b\\x82\\x9c\\x86\\x0a\\xa6\\x7f\\x87\\x34\\xba\\xe3\\x2a\\x87\\xa5\\x7d\\xd6\\xb0\\x75\\xc3\\x57\\x9b\\x75\\x9e\\xba\\x38\\x52\\x2d\\x56\\xe6\\xba\\xdd\\x1b\\x7b\\x87\\xd4\\x0c\\xdb\\x1f\\x5e\\xdb\\x16\\x82\\x0a\\x95\\xe4\\xbb\\x4e\\xec\\xa7\\x9e\\x85\\x3a\\x8c\\x40\\x0b\\xae\\xb6\\xda\\x19\\x85\\x22\\x84\\xf3\\xc4\\x42\\x7a\\xaf\\x37\\xa4\\xb1\\xd3\\xe5\\xd1\\x00\\x82\\xd3\\x47\\xd5\\xe4\\x2e\\xc6\\x6e\\x77\\xb9\\x4c\\xd0\\xc9\\xa0\\x19\\xa2\\x2f\\xc3\\x18\\xa8\\x92\\x54\\xb1\\x3c\\x4f\\xc1\\x90\\x4c\\xb1\\x6c\\x79\\x93\\x94\\xed\\x1b\\x1e\\x51\\x93\\x00\\xa5\\x71\\xd8\\xd1\\xf6\\xfb\\x83\\xf5\\xea\\xcb\\x6f\\x86\\x3a\\xbc\\xeb\\x91\\x8b\\x57\\x65\\x75\\xf8\\xe2\\xd7\\x1f\\xbe\\xb0\\xef\\xa0\\xb2\\x0b\\xef\\xbc\\x83\\x44\\x73\\xe3\\xca\\x73\\x95\\x92\\xfe\\x66\\xad\\x92\\xf4\\xb7\\xff\\xca\\x9d\\x8f\\xbb\\x4c\\x97\\x2c\\x1a\\x9f\\x80\\xb2\\xcd\\x15\\xcf\\x23\\xff\\x83\\xf3\\xc8\\x17\\xa4\\x6b\\x2c\\x68\\xcb\\x31\\x1a\\x0d\\xd3\\x1c\\x17\\x16\\xbc\\xde\\x30\\x54\\x20\\x53\\x11\\x0b\\x6a\\xd4\\x48\\x81\\x9a\\x62\\xf5\\x0d\\xc9\\xa0\\xfa\\x19\\xc2\\x21\\xd9\\x52\\x12\\xac\\xcf\\x8f\\x97\\x81\\x93\\xff\\x59\\x30\\xce\\x79\\x4b\\x85\\x62\\x7e\\xd7\\xf0\\xa5\\xdf\\x3d\\xb4\\xaf\\x41\\x6c\\x06\\xd7\\x7c\\x1d\\x37\\x8f\\x6f\\x1f\\xa2\\x3d\\xdd\\x9c\\xb1\\xf6\\xe8\\xc3\\xd2\\x99\\xdc\\x1b\\x83\\xa7\\x38\\x1b\\x9c\\x7b\\x11\\xdb\\x9b\\x9f\\xb3\\x52\\x2c\\xeb\\x75\\x85\\x23\\x11\\x97\\x95\\xaa\\xd4\\xeb\\x74\\xb1\\x70\\x98\\xb0\\xbb\\x38\\xab\\xdd\\xda\\x97\\xb1\\x53\\x1a\\x23\\x3a\\x64\\x54\\x67\\x78\\x5e\\x63\\x24\\x02\\xfd\\xb9\\xfd\\x8d\\xc2\\xdd\\x54\\xb4\\x6b\\x3f\\x0c\\x81\\x1f\\x23\\x6d\\xd1\\x8f\\x70\\xc4\\x58\\xb0\\xe1\\xad\\x03\\x8c\\xe1\\xde\\x37\\xf8\\x5b\\x47\\x3a\\x6b\\xbc\\x57\\xbd\\x74\\xc6\\xb2\\x0b\\xf1\\x28\\x7d\\xdf\\x74\\xf5\\xc6\\xf1\\xbd\\x54\\xff\\xb0\\xc7\\x8e\\xa7\\xe7\\xb7\\x45\\xda\\xbb\\xf1\\x94\\x0b\\xa7\\x63\\xf9\\xfc\\x11\\x8e\\xc3\\xcf\\xa8\\x17\\xe1\\x38\\x9c\\x9e\\x8e\\x68\\x05\\x81\\x88\\xb1\\x5c\\x8c\\x4b\\x04\\xdc\\xee\\x2a\\x8f\\xa7\\x8a\\x65\\x9d\\xd1\\xa8\\x01\\xe1\\xba\\x3b\\x03\\xdd\\x19\\xa7\\x45\\x4d\\xe6\\xf9\\xec\\x0a\\xf6\\x3f\\xf4\\xc9\\x44\\x61\\x26\\xbd\\xa4\\x38\\x93\\x94\\x79\\x81\\xc6\\xa1\\x0f\\xc9\\x39\\xe2\\x61\\x24\\x4b\\xbe\\x78\\xe3\\x8c\\x8c\\x3d\\x78\\xc0\\x13\\x7c\\xf0\\x01\\xf1\\x23\\xcd\\xdc\\x1f\\x39\\x96\\x5c\\xa1\\xfc\\xf8\\xee\\xb5\\xd7\\xbd\\x74\\xdf\\xab\\x77\\xfd\\x65\\xc2\\x34\\x92\\x1e\\xe6\\x74\\x72\\x60\\x67\\x12\\xd7\\x88\\x41\\x1d\\x9e\\x8b\\x7d\\xfe\\x85\\xe9\\x3a\\x93\\xdd\\xc0\\x07\\x02\\x44\\x84\\x53\\x28\\x22\\x76\\xca\\x1a\\xb3\\x56\\x44\\x02\\x5e\\x7c\\x2a\\x89\\x4e\\x29\\x39\\x1f\\xe7\\xb3\\x16\\x1c\\x4f\\x6a\\xa0\\x3f\\xa0\\x31\\x96\\xd4\\x1b\\x67\\x57\\xcf\\x52\\x6a\\x05\\x59\\xd6\\xbc\\xaa\\x82\\x59\\xad\\x96\\x1e\\x80\\x49\\x1c\\x0b\\x4f\\xe6\\x55\\xf5\\x26\\xd4\\x69\\x7c\\xf8\\x83\\x30\\x54\\x45\\x79\\xaf\\xfa\\x93\\xbc\\xb2\\x90\\x56\\x01\\x39\\xf4\\x40\\x0c\\x2b\\x15\\x9f\\x89\\xc1\\x98\\x78\\x0e\\xe6\\x59\\x98\\x91\\xae\\x34\\x5b\\x5c\\x84\\x4a\\xa5\\x53\\x2b\\x48\\x92\\xa2\\xd4\\x16\\xca\\xe7\\x75\\x40\\x5f\\xce\\x61\\x51\\xf1\\x0a\\xd0\\x95\\x31\\x2b\\x50\\xb6\\x37\\x4b\\x77\\x66\\x58\\x9e\\x32\\x13\\x2d\\xf9\\x4c\\xb8\\xec\\xd1\\xcc\\x50\\xf6\\xc5\\xc2\\xda\\xc9\\x3c\\xdf\\x9e\\xac\\xdb\\x06\\xf2\\x81\\xe2\\x42\\xca\\x15\\xaa\\xb6\\xa9\\x05\\x1a\\xe5\\x0a\\x0f\\xc7\\x06\\xae\\xaf\\x8b\\x77\\x77\\xc9\\x3a\\xf4\\x76\\x49\\x6b\\xc1\\x97\\xcc\\xff\\x31\\x1d\\x70\\xbd\\x6f\\x4b\\x97\\x99\\x0d\\x04\\xe3\\xd2\\x68\\xe0\\x2c\\x58\\x16\\x44\\xc8\\x03\\x7d\\x19\\x92\\x54\\x0a\\x72\\x40\\x4e\\x2b\\x61\\x78\\xae\\x34\\x96\\xd6\\x1c\\x15\\x7b\\x35\\x12\\x74\\x0f\\x4f\\xb2\\x74\\x21\\x48\\x73\\x51\\x01\\x4e\\x8a\\xde\\x7a\\x50\\x49\\xd2\\xca\\x3b\\x42\\x51\\xf1\\xc5\\xff\\x22\\xc6\\x40\\xa9\\x98\\x26\\x9e\\x2f\\xbb\\x39\\xfc\\xb4\\x9f\\xbc\\x1a\\x75\\xf0\\xc9\\x4f\\xbe\\x06\\x3e\\x11\\x17\\xd1\\x60\\x04\\x5b\\xa9\\xd6\\xe6\\xf0\\x71\\x69\\x9e\\x9f\\x34\\x78\\x8a\\x42\\x78\\xfd\\x7e\\xd4\\x76\\x23\\x65\\xf7\\x68\\x55\\x2a\\x0f\\x45\\x05\\x82\\x1e\\x5c\\xe7\\xed\\x74\\x12\\x1c\\x27\\xa0\\x89\\x70\\xa4\\x7a\\xa9\\xd2\\xb6\\x33\\x79\\x9e\\x68\\x4e\\xc2\\xdb\\x95\\xda\\xdc\\x22\\x09\\x05\\xdd\\xce\\x97\\x0f\\xff\\xea\\x7a\\x00\\xee\\xee\\xb8\\xb7\\x29\\xdc\\x4c\\xb9\\xd6\\x37\\x1c\\xf9\\x60\\xe3\\xd2\\x67\\xab\\x34\\x13\\x14\\x20\\xa1\\x68\\xe3\\x7c\\x1f\\x99\\x9e\\x3f\\xf0\\x14\\x70\\xdf\\xea\\xb2\\x7c\\x76\\x95\\x2b\\x2c\\xbe\\xff\\xef\\x4b\\xf6\\x88\\x13\\xec\\x95\\x71\\x7b\\xf9\\x63\\x0f\\x49\\x6d\\xbe\\x02\\xda\\x4a\\x02\\xfb\\x96\\xd3\\xd2\\x11\\xb3\\xd5\\x4b\\x10\\x06\\xde\\x65\\x87\\x83\\xc3\\xce\\x5b\\xe9\\x40\\xd0\\x69\\xb5\\xda\\xbc\\x06\\x1b\\x8c\\x77\\x39\\x4e\\x63\\xa3\\x0a\\x87\\x43\\x21\\x39\\xeb\\xd0\\xfc\\xa3\\x61\\x86\\x41\\x3e\\x25\\x1b\\x55\\xd5\\xb0\\xe4\\xc6\\x22\\xf3\\xd7\\xed\\xc9\\xd6\\xd1\\x60\\xaa\\xce\\x9a\\x3b\\x75\\x45\\x26\\x3f\\xa9\\x93\\x5a\\x2c\\xa7\\x63\\x1b\\x4e\\x6f\\xeb\\x91\\xea\\x6a\\xe0\\xb8\\x8e\\xc3\\xfe\\x46\\x9c\\x02\\x0d\\xb5\\x4e\\xa7\\xd7\\xe5\\xd2\\x55\\x86\\xa1\\xfb\\x66\\x34\\x12\\x8d\\x50\\x84\\xc6\\x08\\x35\\xb6\\xb9\\xb6\\xb2\\xd2\\xe2\\x4f\\xf8\\x7b\\xa0\\x00\\x91\\xfa\\x84\\x50\\x51\\xde\\x99\\xa9\\xe0\\x5d\\x11\\xb3\\x86\\x82\\x9a\\xc8\\x6a\\x40\\xfa\\x57\\x96\\xa8\\x48\\x20\\x79\\xf1\\xc9\\x57\\xd6\\x94\\xd8\\x7b\\xca\\xf0\\x73\\xab\\x6c\\x38\\x8a\\x65\\x74\\x45\\x63\\x41\\x57\\xaf\\xf9\\xc9\\x82\\x1b\\x6b\\x95\\xea\\xe3\\xdc\\x10\\x49\\x75\\x82\\x48\\x8f\\xed\\xc7\\x0b\\x6f\\x6a\\xb7\\x88\\xff\\xae\\x93\\xf6\\x86\\x83\\xd0\\x1e\\xff\\xc8\\x4c\\x13\\x58\\xd0\\xf3\\x25\\x21\\x61\\x83\\x51\\x65\\xf2\\x5a\\xdd\\x18\\x64\\x1c\\x6a\\x93\\x5e\\x4f\\x78\\x14\\x6a\\x86\\xad\\x88\\x29\\xdc\\x3e\\xb7\\x4f\\xda\\xe1\\xee\\x70\\x9f\\xe9\\x3e\\xcb\\xcd\\xa0\\x7d\\x6e\\x92\\xe7\\xad\\xa8\\xcc\\x97\\x17\\xa2\\x51\\x92\\x0c\\x77\\x67\\x48\\x4b\\x1e\\xc7\\x25\\x51\\x8a\\xe0\\x52\\x04\\xc2\\x2c\\xef\\xe8\\xb4\\x64\\xeb\\xf9\\x72\\x60\\x40\\x38\\x49\\x96\\x07\\xb9\\xbd\\x20\\xf2\\xb9\\x7b\\x3e\\xd8\\x7e\\xcb\\x75\\x5b\\xc1\\xcd\\xab\\x1e\\x5d\\x7d\\xf9\\x9a\\xb2\\xea\\x90\\xb9\\x27\\x32\\xff\\xbc\\x99\\xd3\\x56\\xf1\\x2b\\xb7\\x5e\\xbe\\x7c\\xf6\\xa4\\x0b\\x26\\x6d\\xd9\\x7d\\xc1\\xaa\\xe5\\xbb\\x5c\\x5c\\xf2\\x9a\\x9e\\xad\\x93\\xca\\x5e\\x5a\\xa7\\xb7\\x9d\\xb7\\xb0\\x7d\\x0a\\x9c\\x04\\x97\\xcc\\x9d\\x36\\x27\\x5a\\x2d\\xe5\\x03\\x75\\xe0\\x7c\\xa0\\x20\\x31\\x37\\xed\\x53\\x71\\x7a\\xbf\\x40\\x92\\x7e\\x8e\\xb2\\x41\\x2f\\xcb\\x69\\xb3\\x95\\x91\\x52\\xe1\\xaf\\xbe\\x3f\\x13\\xa4\\x2c\\x6e\\x29\\x17\\xc8\\x6e\\xb7\\x18\\x19\\x6d\\x7f\\x46\\xa1\\x60\\x9c\\xf9\\x03\\xa3\\x5c\\x22\\xcd\\x70\\xbc\\x43\\x28\\xe9\\xc4\\x9f\\xdb\\xb3\\x19\\x76\\xbd\\x66\\x5e\\x53\\x1e\\xfd\\xb8\\x4b\\x7c\\xf4\\x8a\\xa5\\x15\\xe3\\x18\\x6d\\x6f\\xf4\\x1a\\xff\\x7f\\x86\\x5b\\xab\\xf1\\xd9\\x7a\\x40\\x1c\\x53\\xf5\\xc5\\x0e\\xab\\xe7\\x19\\xe6\\xd2\\x61\\x16\\x69\\x39\\x27\\xa8\\x03\\xe7\\x04\\x45\\x89\\x89\\xe9\\x00\\x43\\xaa\\xc3\\x64\\x38\\xe6\\xb6\\xd9\\x2a\\xec\\xf6\\x8a\\x32\\x2d\\x62\\x57\\xb7\\xb8\\xbb\\x33\\x16\\x0b\\xc1\\x75\\x65\\x28\\x2a\\x5f\\xc5\\x5c\\xe0\\x52\\x15\\xe1\\x78\\x17\\x72\\xff\\x8f\\xb8\\x08\\xc3\\x79\\x25\\x95\\x27\\xfd\\x3f\\xf8\\x23\\x4b\\xf0\\x01\\xff\\x7d\\x59\\xc6\\x7f\\xea\\xc5\\xe1\\xd2\\x83\\xe2\\xaf\\xbc\\x2a\\xd9\\xe2\\x3a\\xf1\\x38\\x73\\x37\\xe6\\x94\\xaf\\xc3\\xaf\\x27\\x42\\xb9\\xde\\xc1\\xe7\\xa4\\xbd\\xf8\\xf5\\x95\\x83\\x9f\\x72\\xad\\xf8\\x1c\\x75\\x14\\x7e\\x5d\\x03\\xe7\\xa5\\x49\\xd4\\x61\\xf8\\x7a\\x2e\\xc6\\x68\\xde\\x2f\\x6e\\x21\\x62\\x83\\xbf\\x44\\xb8\\x98\\x69\\xa5\\x81\\xe5\\x79\\x35\\x01\\x00\\x38\\x31\\xf8\\xdc\\x71\\x0d\\xdf\\x0e\\xf4\\x44\\xe2\\xcd\\xd8\\xbc\\xda\\x26\\x89\\x4f\\x26\\x58\\xe4\\x19\\xa2\\xb1\\x0a\\x87\\x9f\\x73\\x89\\xd6\\x1f\\xaa\\xad\\x51\\x29\\x16\\xab\\x4c\\x33\\x26\\x08\\x4b\\xf4\\x6b\\xc5\\x2d\\x1d\\x2a\\x9f\\xbb\\xaa\\x21\\x51\\x33\\x7f\\x96\\x72\\xfe\\x7c\\xc3\\x39\\x2e\\x82\\x22\\xbe\\x65\\xa6\\x93\\xeb\\xd9\\xa7\\x08\\x35\\x61\\x85\\xb6\\x54\\x9e\\xb6\\x98\\x95\\x4a\\x9e\\xa7\\xc0\\x43\\xd4\\xd7\\xd4\\x20\\x45\\x51\\x69\\xa5\\xb6\\x9d\\x72\\xfa\\x4f\\x80\\x25\\xd0\\x64\\xe0\\x77\\xae\\xab\\xad\\x95\\xd8\\x15\\xf2\\xd4\\xec\\xa9\\x82\\x6b\\xae\\xe0\\xfa\\xdb\\xb8\\x2f\\x18\\x8f\\x07\\x7d\\xf1\\xcf\\xaa\\x7c\\x81\\xaa\\xaa\\x80\\xaf\\x6a\\x2f\\xba\\xa8\\xf6\\xf9\\xaa\\xd8\\xb5\\xbe\\x78\\x5c\\xfa\\x4f\\xe9\\xf7\\x43\\xe8\\x1a\\xbe\\x87\\x6d\\x40\\x64\\xa6\\x83\\x75\\xec\\x69\\xd8\\x26\\xf5\\x51\\x82\\xc5\\x5f\\x8d\\xa1\\xb2\\xad\\x1c\\x5a\\x16\\x22\\xf0\\x07\\xac\\xbb\\x6f\\xe7\\xe1\\x9d\\xcf\\x6d\\x3c\\xbc\\xf3\\xf0\\xb5\\xf7\\xb1\\xa7\\x67\\xe5\\xfe\\xe0\\x18\\x1a\\xdd\\xff\\xb2\\x2c\\x93\\x2f\\xad\\x57\\x52\\x69\\x83\\xbd\\x1d\\x4b\\xb2\\x89\\x02\\x14\\x6f\\x96\\x85\\x99\\x17\\x8b\\xd5\\x22\\xd2\\x94\\xe1\\x5b\\x0f\\x42\\xb0\\xb1\\xd5\\x89\\xa0\\xaf\\x2a\\x02\\x5b\\x5c\\x9d\\xf0\\x07\\xaa\\xd8\\xd5\\x81\\x78\\x1c\\x8a\\x81\\x5a\\x8b\\xfe\\xaf\\x0a\\xf6\\xdf\\x37\\xb0\\xff\\x76\\xc8\\xdf\\xe5\\x24\\xc2\\x69\\x93\\x9d\\xb2\\xfd\\xd8\\x17\\xbe\\x24\\xbc\\x34\\xf2\\x77\\x72\\x70\\xf9\\x00\\xa7\\xe0\\x57\\x54\\x57\\xfb\\x02\\xf1\\x50\\xb6\\xff\\x3e\\x9c\\xb0\\x76\\x62\\xfe\\xbb\\xf1\\x9b\\x55\\x55\\x55\\x60\\x8d\\x78\\x83\\x84\\x7d\\xfe\\x7b\\x68\\x2b\\x8a\\xc1\\x07\\x61\\x1b\\x34\\x0f\\x33\\xec\\x56\\x82\\x48\\x38\\xde\\x84\\x92\\x71\\xd8\\x59\\xe1\\xf0\\x62\\xf4\\x20\\xbb\\x28\\x63\\xba\\xf4\\x46\\xb6\\xc7\\xe9\\x1b\\xdf\\xbe\\x72\\xf3\\x3a\\x9f\\x1f\\xce\\x8f\\x6e\\x66\\x0e\\xe8\\x60\\x0f\\x41\\x29\\xd4\\x47\\x29\\x80\\x1b\\xf9\\x16\\xea\\x67\\xd8\\xbf\\x1d\\x0f\\x6e\\x3b\\xc4\\x12\\x87\\x0e\\x1d\\x42\\xfa\\xd8\\xc6\\x74\\x81\\x8f\\xd9\\x4b\\xe1\\x9a\\x19\\x4e\\xf3\\x84\\x5a\\xef\\x52\\xc3\\x1f\\x46\\xed\\x62\\xb7\\x5a\\xac\\x92\\x68\\x8e\\x37\\x9b\\x9a\\x6a\\x25\\x3c\\x56\\x19\\x0e\\xb7\\xbe\\x2e\\x92\\xca\\x52\\xf7\\xcb\\xd3\\xa0\\x95\\x93\\x21\\x9b\\xe1\\x64\\x02\\x46\\x7b\\x93\\xb1\\x50\\x6f\\xdf\\xa4\\xfa\\x8e\\x48\\x24\\xe2\\x29\\x7c\\xc1\\xec\\xad\\xad\\xae\\x37\\xb6\\xf8\\x17\\x4f\\x5e\\xd4\\x30\\xb9\\x2d\\x50\\xf4\\x42\\xf2\\xdb\\xd7\\x32\\xd3\\x89\\xbd\\xec\\x66\\x28\\xaf\\xf6\\x18\\x14\\x17\\x37\\xc1\\x01\\x2d\\x44\\x4a\\xe4\\x4f\\xe1\\xc5\\x27\\xc4\\x2e\\x9c\\x6b\\xba\\xe4\\x26\\x8e\\x99\\xee\\xf4\\xa5\\x27\\xaf\\xba\\xf8\\xec\\xa0\\x07\\xdf\\xbb\\x0d\\xf6\\xd5\\x67\\x83\\x9f\\x13\\x0c\\xa1\\x7f\\x34\\x0d\\xba\\x00\\x09\\xe8\\x13\\x60\\x01\\x34\\xb0\\x79\\x68\\x20\\xa1\\xec\\xba\\x7d\\x57\\xee\\x39\\x79\\xd3\\x87\\xe2\\x96\\xe3\\xc7\\x9f\\x20\\x48\\xf1\\x29\\xf8\\xf9\\xe8\\xe0\\xb7\\xf0\\xbb\\xf4\\x44\\x20\\xad\\xd6\\xeb\\xf9\\xad\\xba\\xeb\\x75\\xfb\\x74\\x94\\x0e\\x8e\\xc5\\x47\\xcc\\xb6\\x76\\x9d\\x92\\x22\\x12\\x49\\x3c\\x1a\\x13\\xd0\\x83\\x29\\xd0\\x66\\x88\\xf4\\xa7\\x6a\\x53\\xe2\\x53\\x55\\x3e\\x7f\\x02\\x59\\x3f\\x58\\x5d\\x2e\\xbe\\x60\\x3a\\x69\\x99\\x2f\\x59\\x53\\x55\\x95\\xf8\\xee\\xca\\x97\\xd1\\x3a\\xb5\\x0b\\xda\\xeb\\xbf\\xa1\\x3c\\x0c\\xc1\\x3f\\x4c\\x91\\x39\\x81\\xa0\\x0a\\x8d\\x06\\x3f\\x17\\xe0\\x76\\x95\\x83\\x16\\xf3\\x49\\x0b\\xfc\\x54\\x62\\xd5\\x4b\\x45\\x9f\\x37\\x3e\\x46\\xf1\\xa4\\x97\\x24\\x49\\xe9\\x9e\\x37\\xe7\\x8d\\x70\\x0f\\x39\\x38\\x0b\\x5e\\x7d\\x05\\xef\\x61\\x11\\x2b\\x51\\x5a\\xa3\\x52\\x2a\\xe5\\x3b\\x39\\xe9\\xd6\\x5a\\x78\\xaf\\x34\\xb2\\xd1\\xed\\x2c\\xe7\\x97\\x7e\\x5d\\x89\\x1e\\xb3\\xf2\\x6c\\xb5\\xb8\\xb0\\x1c\\x34\\x9b\\xe0\\x05\\x7e\\xe0\\x82\\x45\\xf8\\x1f\\x82\\xa0\\xc5\\xcf\\x98\\x2e\\x72\\x17\\xf4\\xef\\x10\\x5f\\x7f\\x8c\\x48\\x11\\xa1\\xb4\\xa9\\x3e\\x1a\\x15\\x12\\x2a\\x55\\x30\\x61\\x69\\xb1\\x74\\x5a\\xee\\xb2\\xd0\\x16\\x42\\x80\\x5d\\xf4\\x12\\xfe\\x82\\xdc\\xb4\\x0c\\xad\\x2c\\x9c\\x03\\xe4\\xf7\\x07\\x72\\xd7\\x18\\xdf\\x35\\x55\\x97\\xe7\\x1e\\x0c\\x15\\x5c\\x83\\x77\\x93\\x75\\x4b\\x27\\x2c\\x34\\xaf\\xeb\\xe9\\x5e\\xbb\\x66\\xe0\\xf2\\xee\\x73\\xd0\\x85\\x67\\x6c\\xcf\\x68\\x5f\\xd5\\xa8\\x70\\x78\\x54\\x63\\x79\\x79\\x23\\x19\\xcd\\x5e\\x31\\x3b\\x9d\\x73\\x7a\\x7b\\xc2\\xb5\\xdd\\xeb\\xce\\xe9\\xea\\x5a\\xb7\\x66\\x06\\xfa\\x3d\\x26\\x31\\xa9\\xad\\x5d\\xff\\x72\\x79\\x23\\xfa\\x40\\xee\\x2f\\x9c\\x33\\x9e\\xcf\\xc9\\xe1\\x24\\xac\\x69\\xad\\x31\\xa1\\x6a\\x51\\x75\\xaa\\xee\\x52\\xd1\\x2a\\x3b\\x1c\\x4f\\xb5\\x2f\\xa1\\x9e\\x2d\\x6d\\x75\\x6a\\xa4\\x96\\xe9\\x86\\x6f\\x42\\xf6\\x6b\\x91\\x1d\\x7e\\x05\\x3b\\x72\\x3d\\xbb\\x17\\x5a\\x95\\x0d\\xce\\x13\\x34\\xad\\xe4\\xa1\\x62\\x15\\x59\\x2d\\x62\\x8e\\x01\\x69\\x1b\\x27\\xc2\\x05\\x8d\\x70\\x42\\x97\\x36\\xe3\\xd6\\x2b\\x84\\x55\\xb3\\x02\\x16\\xc3\\xe2\\xd1\\x8b\\x6d\\x6c\\xb0\\x3a\\xae\\x56\\xb0\\x7b\\x6b\\xe7\\x2c\\x55\\x2d\\x05\\x1d\\x57\\x6b\\xe2\\xa9\\x5a\\x69\\x3e\\x78\\x17\\xda\\xec\\x1c\\xbc\\x76\\x78\\x1f\\x63\\x79\\x83\\x81\\xd0\\x03\\x3d\\xb2\\x56\\xb8\\x72\\xe8\\x55\\x40\\xb2\\x56\\xf8\\x0d\\xc8\\xe1\\x4e\\x16\\x05\\x34\\x68\\x01\\x81\\xe2\\x89\\x9f\\x16\\xac\\x1d\\x9d\\x93\\xf4\\x8b\\x85\\x35\\xf5\\x13\\x0d\\x3e\\x4f\\x02\\x2e\\x1d\\xf3\\x66\\xa9\\xe6\\xcf\\x17\\xce\\x75\\x63\\xce\\x05\\x71\\x3f\\x11\\x1f\\xfc\\x3d\\xb4\\x43\\xdd\\x23\\x14\\x41\\x02\\x12\\xf6\\x14\\x36\\x41\\x2b\\xe5\\x4f\\x25\\x53\\xf1\\x94\\xf8\\x84\\xf1\\xa3\\x50\\x50\\x7c\\x75\\xe5\\x49\\xdc\\xae\\x4f\\x60\\xbb\\x26\\xe2\\xb1\\x67\\x7c\\x4c\\x1a\\x7b\\x5b\\xe1\\xe0\\x5b\\x88\\x6c\\x1d\\x8e\\x3e\\x0a\\x8f\\x3e\\x12\\x8e\\xbe\\x9b\\xe5\\xd1\\x97\\x9d\\xdb\\x26\\xc2\\xb9\\x8d\\x81\\x73\\x1b\\x1a\\x1b\\xf2\\xdc\\x66\\xc5\\x63\\x6b\\x62\\xb9\\xf8\\x3c\\x34\\xf2\\x1e\\x3c\\x90\\x48\\x31\\x05\\x3f\\x7b\\x12\\x7f\\x56\\x4d\\x98\\x1e\\xa3\\x60\\xec\\xa4\\xd8\\xca\\xb0\\x50\\x5e\\x78\\x0b\\xb6\\x6d\\xe9\\xae\\x20\\xfe\\xf7\\xa4\\x74\\xef\\x4b\\x05\\x8f\\x90\\xc7\\x23\\x6e\\x67\\x70\\xf0\\xdf\\x04\\x07\\xbf\\x93\\x04\\x2c\\x83\\x7a\\x0c\\x0d\\x2c\\x06\\xc6\\x21\\x21\\x1e\\xd0\\xe2\\xc7\\xfa\\x5d\\x97\\x83\\x08\\xbf\\x5b\\x3c\\x96\\xec\\xb5\\x7f\\x94\\xec\\x92\\xf1\\x4a\\x05\\xa8\\xd3\\xd1\\x78\\x5e\\xe2\\xd1\\x3c\\xac\\x2e\\x18\\xc7\\x05\\x33\\xd3\\xab\\xec\\x92\\x39\\xe6\\x4b\\x6e\\x64\\xd1\\xcc\\x34\\xae\\x1d\\xce\\x4c\\x70\\x2e\\x26\\xe1\\x38\\x9a\\x45\\x5c\\x59\\x68\\x7f\\x6c\\x0b\\xdb\\xc9\\xde\\xc5\\xd2\\x6c\\xde\\xfe\\xa8\\x1f\\x19\\x25\\x73\\x86\\x1b\\x0b\\xcc\\xce\\xe1\\xac\\xfe\\xff\\x9f\\x36\\x82\\xfb\\x64\\x3d\\xfb\\x28\\xd6\\x79\\x27\\xdd\\x47\\x93\\xf4\\x56\\x20\\xf7\\xcb\\x3c\\x8c\\xbd\\x0a\\x75\\x0e\\x12\\x58\\xe9\\xcc\\x74\\xac\\x74\\x30\\xf8\\x31\\xbc\\x67\\x0e\\x7b\\x25\\x9a\\xa3\\x1f\\x41\\xc3\\x82\\x22\\xb3\\x0b\\x28\\xda\\xaa\\x47\\xa6\\x05\\xe6\\x48\\xb6\\xc5\\x5e\\x29\\x19\\x17\\x18\\xbc\\x0e\\xca\\xf3\\x04\\x5e\\x03\\x55\\xc7\\xe4\\x25\\x10\\xea\\xbb\\x60\\x05\\xa4\\xa5\\x15\\x90\\xcb\\xae\\x80\\xd2\\x7a\\x20\\xce\\x62\\xba\\x88\\x23\\xff\\x5f\\xd6\\x36\\xe3\\x4f\\xae\\x6d\\xc2\\xff\\xdb\\xd2\\x06\\x47\\x0f\\x73\\x1d\\xb8\\x94\\x33\\x60\\x5f\\x42\\xf3\\xb0\\x99\\xe2\\x95\\xb2\\xe5\\xe9\\x0b\\xbd\\x2d\\x93\\x25\\xb7\\x15\\x78\\x6e\\x57\\xd7\\xd9\\x6b\\x7a\\x7a\\xd6\\x2d\\x6c\\x8c\\x96\\x37\\x8e\\x0a\\x47\\x46\\xb1\\x3d\\x5d\\x67\\xaf\\xeb\\xec\\x3e\\xe7\\x9c\\x6e\\x49\\xd7\\x4d\\x18\\xcb\\xdb\\x29\\x6e\\x19\\xfc\\x74\\xf0\\x2b\\xfc\\xdc\\xc0\\x71\\x7e\\xa3\\x19\\x98\\xa1\\xaa\\x1f\\x86\\x3e\\x0a\\xfa\\xfd\\x08\\x74\\x53\\xcc\\xf2\\x22\\x16\\x43\\x66\\xc6\\x8d\\xe0\\x9d\\x3c\\x93\\x90\\xbc\\xb7\\x44\\x24\\x0e\\x5d\\x35\\xb8\\x84\\xc5\\x17\\x4a\\xde\\x5c\\xce\\x27\\x21\\x18\\x71\\x31\\xd4\\xc3\\x33\\xf2\\x77\\x05\\x89\\x04\\x31\\x9a\\x48\\x3e\\x96\\x74\\x3a\\x9b\\x36\\xfa\\x81\\x5f\\xfe\\x52\\xf4\\x3b\\xad\\x81\\xdf\\xea\\x8f\\x9b\\x95\\x7c\\x44\\x09\\xfd\\xf8\\x84\\x15\\x85\\x9e\\xf8\\xfb\\xf1\\x40\\x65\\x7e\\x86\\x7b\\x19\\x1a\\xe1\\xff\\xc5\\xc5\\x59\\x77\\xf3\\xff\\xe0\\x05\\x76\\x9a\\x72\\x7e\\x27\\x58\\x97\\xfd\\xaf\\x68\\xd6\\xa9\\xeb\\x87\\xed\\x97\\x3f\\x5f\\x55\\xe8\\x89\\x7e\\x2d\\xff\\x5f\\xde\\xd7\\x13\\x2f\\x84\\xb2\\xed\\x87\\xb2\\x51\\x78\\x94\\x96\\x3f\\x06\\x3d\\x72\\xe3\\x46\\x3b\\xb0\\xcb\\x72\\xd9\\xe5\\xce\\xb4\\x6b\\xb9\\x6c\\x67\\xe2\\x79\\x9c\\x81\\x91\\xf1\\x48\\x42\\x88\\x17\\x1a\\x40\\x9b\\x61\\x02\\x6a\\x08\\xfa\\x96\\x9c\\xab\\x79\\xcf\\xea\\xd5\\x69\\x7f\\x42\\xea\\xdc\\x6c\\x03\\x10\\x4f\\x55\\xae\\x0d\\x1c\\x61\\x84\\x2b\\x6e\\x4d\\x5a\\x43\\x6c\\x65\\xd1\\x4e\\x97\\x75\\xa3\\x1b\\xb8\\xe5\\x86\\xb8\\xe5\\x86\\xb8\\xf5\\xea\\x82\\x86\\xe8\\x93\\x68\\x48\\x80\\x54\\x10\\x36\\x27\\x38\\x72\\x83\\x3e\\x30\\xad\\x41\\x4d\\x5a\\x61\\x7a\\x6e\\x48\\xa3\\xc4\\x53\\xe7\\xac\\x5e\\x7d\\xce\\xb1\\x61\\xda\\x05\\x06\\x83\\xe2\\xfe\\xc1\\x17\\x07\\xc7\\x43\\xbd\\x2b\\x8e\\x62\\x63\\x82\\xd3\\x55\\xc1\\x63\\x7f\\x9f\\x7d\\x98\\xf8\\xad\\x7c\\x3b\\x9c\\xf3\\x8e\\xc1\\xf5\\x23\\x35\\x38\\x11\\xdb\\x0a\\x66\\xed\\xe1\\xd1\\x8d\\x92\\x83\\x30\\x82\\x01\\x88\\xc7\\xb2\\x8d\\xf9\\x22\\x2e\\xb9\\x55\\x71\\xf1\\x3b\\xb9\\x21\\x01\\xd9\\xaf\\xc2\\xfd\\x84\\xe6\\xb7\\xde\\x9c\\x1d\\x46\\xd3\\x1a\\x27\\xe1\\x07\\xfb\\xfc\\x7f\\xf4\\x7f\\xe3\\xa7\\xb0\\x01\\x2a\\x91\\x01\\x16\\x7c\\x27\\x8e\\x6d\\x7e\\x9e\\xe5\\x89\\xef\\x66\\x2d\\x26\\x17\\xd9\\xdc\\x9a\\xf5\\xd5\\x87\\x35\\x27\\x38\\x3c\\xd0\\x5c\\xf3\\xd1\\xa0\\x1d\\xc6\\x79\\x97\\x42\\xfb\\xd1\\x1c\\xa7\\x38\\x18\\xce\\x11\\x89\\x79\\xc8\\x3e\\xfc\\x9c\\x5f\\x3c\\x05\\x5a\\x0d\\xe2\\x13\\x9b\\x57\\xe2\\xcf\\xc1\\x7e\\x41\\x9f\\xe3\\x08\\xe1\\x11\\xac\\x5e\\x9a\\xc8\\xaa\\x8f\\x92\\xd5\\xf7\\x96\\x79\\xad\\x11\\xde\\xb1\\xca\\x20\\xee\\x5f\\xbf\\x72\\xe5\\x7a\\x69\\xfd\\xe9\\x67\\x74\\x80\\x60\\xd0\\x1c\\x28\\x3c\\x46\\x6d\\x55\\x02\\xaf\\x12\\xc0\\x19\\x64\\xde\\xbc\\x92\\x78\\xad\\x3f\\xdb\\x85\\xcc\\x7c\\x34\\x6e\\x51\\xe3\\xd0\\xbd\\x07\\x00\\xc1\\xb6\\x61\\xfd\\x51\\x4a\\xac\\xbf\\xe1\\xef\\xf9\\x67\\xf6\\x1e\\x4a\\xdc\\x0d\\xfb\\x78\\xdd\\xe0\\x37\\x72\\x1f\\x07\\xd3\\x26\\x33\\xcf\\x3b\\x9d\\xd5\\xfe\\xb4\\x7f\\xab\\xff\\x7a\\xff\\x3e\\x3f\\xe3\\xdf\\x8a\\x4d\\x01\\x4e\\xf5\\xb5\\x52\\x26\\x48\\x61\\xef\\x5a\\x47\\xb8\\x16\\x77\\x67\\x3b\\xf0\\xce\\xec\\x97\\xee\\xcb\\x0d\\x56\\xb9\\x67\\x27\\xcb\\x8d\\x68\\x2f\\xb2\\xc1\\x93\\xe4\\x3a\\x62\\x2d\\xa5\\x43\\x71\\xd0\\x71\\x8a\\x90\\x84\\x2f\\xb1\\xc3\\x1a\\x7c\\x1b\\xfc\\x4b\\x3e\\x23\\xe9\\x0b\\xe1\\x3c\\xd6\\x40\\xdb\\x7d\\x19\\xeb\\x45\\x71\\x14\\x4e\\xc3\\x89\\xb7\\x50\\x3f\\x27\\xb9\\x93\\x91\\xd5\\x21\\x71\\xff\\x27\\x9f\\xe0\\xbe\\x3d\\x4d\\x3f\\x4a\\xf5\\x30\\x1d\\xd2\\x67\\x24\\xfb\\x46\\x49\\x0c\\xc0\\x4a\\x8e\\x76\\x0e\\xbc\\xcc\\x74\\xdc\\x0c\\x9f\\xf3\\x0d\\xfd\\x6f\\xd0\\xc1\\x2c\\x84\\x6f\\x1b\\xd3\\x2a\\xc2\\x4b\\xb5\\x50\\xa4\\x02\\xc6\\x7f\\x59\\x15\\xc0\\x8f\\xd3\\xa0\\xdd\\x2c\\x3e\\xce\\x2c\\x5c\\x89\\x9e\\x09\\xa6\\x8b\\xfd\\xd4\\x2e\\xee\\x43\\x1c\\x7f\\x21\\x0f\\x7e\\x11\\x8e\\xbf\\x94\\x20\\x09\\xdf\\x02\\xf7\\xdd\\x2a\\xce\\x12\\xfb\\x95\\x1b\\xff\\xb9\\x5d\\xd6\\x6d\\x0c\\xea\\xf6\\x97\\x38\\x26\\xa6\\x94\\x27\\xc0\\x52\\xb8\\x32\\x8d\\xa4\\xa2\\x0b\\xb3\\x2a\\xfa\\x7f\\xd2\\x2b\\x49\\xcc\\x1a\\xfc\\x13\\xf8\\x80\\x7a\\x1e\\xeb\\x95\\x7f\\x98\\x87\\x8b\\x03\\xf6\\xd2\\x92\\x09\\xbc\\x1f\\x98\\xa5\\xd3\\xaa\\xb5\\x18\\x0b\\xae\\x41\\xfb\\xe4\\xea\\xda\\x49\\x6d\\xc9\\x9a\\xf6\\x9d\\xad\\x75\\x0d\\x13\\x26\\xd5\\xd6\\xb5\\x9e\\x59\\x3b\\xa9\\xbd\\x26\\xd9\\xd6\\x4a\\x9e\\xa8\\x69\\x6f\\x4b\\xc2\\x17\\xa8\\x3d\\xeb\\x59\\x2b\\x30\\x41\\x7f\\x60\\x84\\xf6\\xac\\xaf\\xf6\\xf9\\xab\\x12\\xb0\\x1d\\xec\\x52\\x29\\x08\\x46\\xfa\\xb1\\x8b\\x2b\\x07\\x4f\\x0c\\x2a\\x46\\x9a\\x5b\\x3e\\xcf\\xae\\x4b\\xe2\\x09\\x79\\x3d\\x82\\xdf\\x33\\x11\\x2e\\x7c\\xe7\\xd3\\x8f\\x12\\x11\\x22\\x70\\x54\\xeb\\x1c\\xa7\\x02\\xcb\\x88\\x0c\\xa1\\x05\\x7d\\xf0\\xad\\x30\\xbe\\x06\\x28\\xea\\xc3\\xdb\\x46\\x28\\x57\\x03\\xa7\\x68\\x20\\xf4\\xfe\\xba\\x86\\xd1\\x88\\xcc\\x25\\x7b\\xc0\\x16\\x03\\x01\\x0e\\xe5\\x01\\xa2\\x58\\x3a\\xe9\\x27\\xe3\\x62\\xdc\\x62\\x72\\xcd\\xaf\\x65\\xc9\\x71\\x0b\\x3a\\xc2\\x1e\\x86\\xe6\\x14\\x3a\\xfb\\xf4\\xf1\\xf1\\x5e\\x8d\\x82\\xa6\\xd5\\xd3\\xec\\x6e\\xe0\\xef\\xed\\xb0\\xd6\\x54\\x5e\\xff\\xda\\xb7\\x73\\x57\\xb7\\x1b\\xec\\x06\\xcd\\x98\\x8a\\xd6\\x19\\xb3\\xaa\\xee\\xdc\\x37\\xf9\\xee\\x3a\\xad\\x19\\xca\\x72\\x5c\\xdc\\x02\\x36\\x0e\\xde\\x49\\x28\\xe1\\x8c\\x47\\x03\\x8e\\x53\\xe2\\xa1\\x0d\\x47\\x36\\x13\\xc4\\x4c\\xf4\\x70\\x78\\x83\\xc5\\xc7\\x55\\xf4\\x6a\\x3a\\x7e\\xcc\\x08\\x8e\\xbc\\xb5\\xcf\\x64\\xda\\xb7\\x0a\\x36\\xda\\x3e\\xf8\\x19\\xfd\\x15\\xfd\\x14\\x31\\x85\\x48\\x3c\\xd6\\x1c\\x22\\xec\\x34\\x5f\\x53\\xfd\\x04\\x14\\xc1\\x07\\x16\\x3e\\x6c\\x21\\x79\\xe8\\x21\\x2d\\x3f\\x96\\x69\\xe5\\x4f\\x40\\x09\\x73\\xa8\\xe6\\x49\\x29\\xdd\\xa6\\x21\\x25\\xa7\\x68\\xd4\\x9a\\x39\\x53\\x52\\x72\\x42\\x71\\x26\\x6e\\x36\\x27\\x0b\\xfa\\x33\\x78\\x7b\\x12\\x51\\x38\\x71\\x7e\\xe9\\xa4\\x11\\xd3\\x3b\\x41\\x7f\\x37\\x7b\\x27\\x62\\x92\\x7b\\xf9\\x96\\xfb\\x6a\\xea\\x83\\xb5\\x7a\\x96\\x8e\\x9d\\x19\\xaf\\x8d\\xfa\\xdd\\xa9\\x7f\\x64\\x4e\\xc7\\x03\\xf5\\x6a\\xed\\x5c\\xb1\\x6f\\xde\\x99\\xc1\\x68\\x30\\x22\\xbe\\xaa\\x5a\\x69\\x0c\\x1a\\x6d\\xc6\\x73\\x96\\xa5\\xd7\\x06\\x7d\\xd5\\x3a\\x65\\xf3\\x68\\xf2\\x9e\\xc7\\xd6\\x54\\x54\\x7b\\x27\\x56\\x2b\\x42\\x6e\\x2a\\x59\\x31\\xaa\\x2e\\xf4\\xd5\\x75\\xe2\\xfe\\xd1\\xb5\\xc1\\x89\\xf5\\x56\\xff\\x66\\x72\\x5c\\xd3\\xc5\\xd3\\x12\\x33\\xba\\x66\\x24\\x46\\xb7\\xb7\\x38\\x02\\x96\\xc6\\x09\\xdd\\xd5\\x8b\\x8f\\xa7\\x23\\x7b\\x93\\xcd\\xe1\\xa9\\x75\\xa6\\xd0\\x59\\xd3\\xf1\\xd8\\x7e\\x0f\\x4e\\xea\\x3b\\xe9\\xe3\\xd0\\x4f\\x0b\\x1d\\xb5\\xa8\\x9e\\xc4\\x2a\\xb4\\x80\\xbe\\x87\\x7d\\x30\\xec\\x78\\xb2\\x40\\xa1\\x52\\xda\\x03\\x52\\x69\\xca\\x2f\\x81\\xac\\xfb\\x65\\xe6\\x73\\x33\\x56\\x21\\x92\\x5e\\x05\\xd5\\xc9\\x25\\x29\\xc3\\xe9\\xe7\\x7b\\xc9\\xde\\xfa\\xb9\\x91\\x26\\xb1\\x7f\\xa5\\x27\\xce\\xab\\xe8\\x08\\x38\\xb2\\xa4\\x3b\\x3a\\xce\\x68\\x9e\\x74\\xe8\\xd1\\x85\\xe0\\x83\\xb5\\xf5\\x91\\x33\\x83\\x53\\x92\\x06\\x0d\\xef\\x18\\x33\\xbd\\x5c\\xfc\\x8d\\xf8\\x46\\x55\\xed\\x24\\xa4\\xc3\\xc1\\xaf\\xc8\\x2e\\x68\\x5b\\x09\\xa2\\xea\\x38\\xad\\xf0\\x7a\\x4d\\xe3\\x34\\xb8\\x05\\x5e\\xd8\\xf9\\x0a\\x38\\xef\\xa0\\x6b\\x05\\x6c\\x0d\\x81\\x46\\x4d\\xfe\\xac\\x50\\xe2\\xd4\\x8f\\xa0\\x24\\xee\\x14\\xde\\x90\\x94\\x4e\\x76\\x03\\x39\\xdd\\x8c\\x06\\xd2\\x89\\x75\\x96\\x4d\\x0b\\x7c\\xa8\\xa0\\xdd\\xf1\\xb2\\x6d\\x46\\xf1\\x6f\\x3d\\x37\\x4f\\xbf\\xc8\\x5e\\xaf\\x0d\\xd7\\x7b\\x7a\\x5d\\x55\\x3a\\x15\\xd9\\x14\\x99\\xdf\\x6c\\x16\\xba\\x4c\\x36\\x53\\xc2\\xe0\\x79\\x76\\x6e\\xd5\\x9b\\xb1\\x47\\x0f\\xec\\x00\\xf1\\x89\\xd6\\x50\\x59\\x4f\\xf9\\xd4\\x26\\xc1\\x5c\\x16\\x89\\x79\\x5a\\x62\\x1f\\x3e\\x55\\xb3\\xac\\x7f\\x86\\xbb\\xf9\\x2c\\x3c\\x87\\xac\\x1f\\xfc\\x9c\\xfa\\x10\\xf6\\x61\\x84\\x70\\x3f\\x4e\\x78\\xa0\\xe1\\x98\\x09\\x0d\\x21\\x75\\x9e\\x06\\xd9\\x8d\\xd4\\x79\\xb8\\x96\\x1a\\x0f\\x6a\\xb9\\xc7\\xdc\\x78\\xf7\\x1a\\x0d\\x02\\x12\\x6d\\x9e\\xd6\\xa7\\xa0\\x5d\\x18\\x1a\\x52\\x9f\\xb4\\xc4\\xc6\\x39\\x55\\x6c\\x84\\xdc\\x35\\x85\\xd4\\x50\\xac\\xa2\\x6d\\xaa\\xd5\\x61\\x37\\xc5\\x56\\x6a\\x75\\x74\\xd4\\xe5\\x2d\\x6f\\x9b\\x41\\x9d\\xa8\\x4e\\xd4\\xae\\x12\\x6c\\x9c\\xad\\x51\\xa3\\x99\\xa8\\x53\\x93\\xfc\\xe3\\xbf\\x17\\x7f\\xb8\\x35\\x56\\x3e\\x8e\\xd7\\x75\\xdf\\xfd\\x0c\\xa0\\x8e\\x75\\x62\\xae\\x19\\x14\\x13\\xd2\\x4b\\xf1\\x58\\x6d\\x26\\x42\\xc7\\xc7\\x8e\\x55\\xbb\\x6a\\xe0\\x84\\xf3\\x30\\x72\\x84\\xa5\\xd6\\xa9\\xf3\\xad\\x43\\x87\\x16\\x28\\x12\\xcf\\x1b\\xb4\\xbf\\x16\\xe5\\x51\\xe1\\x41\\x4a\\x72\\x98\\xe8\\x1e\\x0d\\x64\\x3c\\x9a\\x81\\x89\\x63\\x79\\xcc\\xdf\\x5b\\xdf\\x80\\x5a\\x2d\\x8d\\x6b\\x10\\x5d\\xec\\xa9\\xd4\\x69\\xd8\\x10\\xf9\\xfb\\x71\\xac\\x8a\\x71\\x54\\x04\\x49\\x95\\x5b\\xe9\\x5f\\x65\\xe4\\x69\\x4b\\x4c\\x2f\\x70\\x9a\\xea\\xb1\\x03\\xd7\\x99\\xbd\\xa6\\x98\\xa6\\x7a\\xb1\\xc5\\x00\\x94\\x15\\xbc\\xc2\\x1f\\xf2\\x2e\\x35\\x0b\\xd4\\x89\\x65\\xde\\xd6\\xa4\\x2e\\x64\\xa9\\xf6\\x1b\\x9a\\x3c\\xbc\\x63\\xd1\\x52\\xf1\\xea\\x07\\xea\\xeb\\xa7\\xf1\\x42\\xea\\xfb\\x27\\x9f\\x0e\\xb6\\x2d\\x1f\\x2b\\x3e\\xaf\\x72\\x36\\x5e\\xf1\\xdf\\x29\\x0d\\xf5\\x56\\x4e\\xdb\\xbc\\xb0\\xfe\\xeb\\x51\\xf1\\x76\\x42\\xee\\xfb\\xef\\xc0\\x8b\\x50\\x46\\x3f\\x61\\x3e\\xe6\\xd4\\xd3\\x92\\x5c\\x7a\\x2c\\x17\\x61\\x4b\\x60\\xee\\xe6\\x18\\x28\\xe8\\x77\\x8b\\x64\\x0c\\x1c\\x25\\x49\\x64\\x6c\\x00\\xed\\x65\\xe1\\x68\\x43\\x45\\x8b\\x5d\\x45\\x0b\\xd6\\xf6\\xd6\\x31\\xca\\xdb\\xe8\\xba\\x32\\xb5\\x8a\\xde\\xa9\\xa4\\xb6\\x84\\x8d\\xb5\\x89\\xea\\xd5\\x06\\x8d\\x56\\x69\\x0e\\x27\\xf9\\x86\\xd3\\x3b\\x6c\\xb5\\x2e\\x95\\x97\\x72\\x49\\xfb\\x01\\xc4\\xe2\\xc1\\x6f\\xc8\\x5e\\xa8\\xf7\\x28\\x61\\x3f\\xee\\x25\\xcc\\x6a\\x73\\x69\\xaf\\x16\\xf7\\x28\\xfc\\x66\\x09\\xd1\\x4e\\x22\\x38\\xa4\\xa4\\x4e\\xad\\x43\\x1d\\xd8\\x4c\\x82\\x0b\\x0f\\x05\\x92\\x5a\\x2d\\x13\\x39\\x77\\xb3\\x83\\x67\\x59\\xaf\\xb5\\x62\\x8a\\x51\\x19\\x36\\x71\\xe5\\x6b\\x8c\\x6a\\xae\\xc2\\xa9\\x75\\x86\\xc6\\x52\\x0f\\x2e\\x8e\\xb7\\x25\\x54\\x6e\\xdf\\xb2\\xe0\\x2c\\xd6\\xbb\\xea\\xbc\\x3a\\xf1\\xd0\\xbd\\x91\\xd6\\x76\\x0d\\xa7\\x9b\\x71\\xe7\\x9c\\x53\\x87\\xd7\\xe2\\x36\\x21\\x9d\\x6f\\x87\\xfd\\x31\\x8a\\xf0\\x1e\\x4d\\x28\\xe0\\xb4\\xf5\\x30\\x61\\xf0\\x1a\\x9e\\xcc\\x8d\\xa3\\xac\\xba\\x61\\xcb\\xe4\\x4d\\x7b\\xd4\\x82\\x94\\x11\\x6a\\x35\\x58\\x38\\x9d\\x41\\xed\\xcb\\xca\\xd7\\xd1\\xf8\\x33\\x28\\x3d\\x9b\\x4c\\x81\\xf7\\xa6\\xb5\\x3b\\x4c\\xb6\\xf8\\x62\\xbb\\x8a\\x71\\x39\\xc6\\xeb\\xcf\\x98\\x15\\x6d\\x4e\\xfa\\x63\\x5a\\x0d\\x19\\x22\\x3f\\x4b\\xd2\\x1a\\xd6\\xdc\\xea\\x52\\xd0\\x82\\xb9\\x7e\\xa2\\x5e\\xab\\xd6\\x44\\x0c\\x46\\x67\\xaa\\x9c\\x3a\\xd1\\x71\\xe8\\xd4\\x89\\x1b\\x7b\\xbb\\xb5\\x9c\\xaa\\x7e\\x17\\x38\\x32\\xff\\xda\\xee\\x86\\xa4\\xa7\\x3d\\x61\\x72\\x3a\\x82\\xf1\\xf1\\x3e\\xfd\\xa8\\x7d\\xdf\\x5c\\xf1\\xf4\\x84\\xd6\\x4a\\x5e\\xe5\\x70\\xfe\\xfb\\x81\\xe3\\x37\\x2d\\x41\\xeb\\xcc\\xed\\x04\\x41\\xef\\x86\\x7d\\xdb\\x44\\xcc\\x3e\\x5a\\x5e\\x7b\\x02\\x2c\\x3b\\x96\\x29\\x77\\x49\\x62\\x94\\x83\\xbe\\xb4\\xb9\\x4f\\xb1\\x56\\x41\\x52\\xbc\\xc2\\xab\\x48\\x28\\x28\\x25\\xad\\x50\\x98\\x34\\xa6\\x26\\x79\\x39\\x32\\xc1\\x39\\x42\\x43\\x30\\xf2\\x00\\xec\\x2f\\x2d\\xab\\xe8\\x9b\\xd7\\x12\\x83\\x33\\x59\\x48\\xc6\\x16\\xe5\\x22\\xf2\\xa2\\xa4\\x03\\x08\\xc4\\x21\\x01\\x50\\x26\\x7a\\x56\\x6b\\x3c\\x28\\x52\\x9b\\x04\\xaa\\x49\\xcd\\x7f\\xb7\\x69\\x7c\\xef\\xbd\\x2b\\x9a\\x2e\\x7b\\x37\\xb3\\x60\\x45\\x6c\\xc6\\xde\\x01\\xbf\\xc0\\x30\\x96\\xaa\\x71\\xe7\\x7a\\x13\\x06\\x35\\x45\\x85\\xa7\\xaf\\xf3\\x68\\x19\\xc6\\x29\\x04\\x26\\xc7\\xcd\\x9a\\x47\\xc1\\x92\\x4f\\xe7\\xcc\\xbf\\xe3\\xfe\\xe0\\x3f\\xfe\\xf5\\xc0\\x2d\\xb3\\x9f\\xfb\\x58\\x7c\\x76\\xf1\\x92\\xb5\\x17\\xad\\xb8\\xe5\\xd2\\x6d\\x7d\\xe5\\x6d\\x09\\x41\\x2d\\xb8\\xfa\\x3c\\x0b\\x58\\xf7\\xd6\\x97\\x17\\x75\\xdd\\xbb\\x40\\xca\\xf3\\x21\\x23\\xe0\\x9f\\xf4\\x31\\x22\\x40\\x98\\x8f\\x6a\\xa1\\xff\\xb2\\xec\\xe1\\x8c\\x35\\xa8\\xc5\\x4b\\x90\\xa1\\x29\\x26\\xcf\\x23\\xd9\\xa9\\x57\\xb2\\x67\\xa4\\xc8\\x70\\x7d\\x83\\x9c\\x41\\x2f\\x36\\x34\\xf9\\x2b\\x05\\x0d\\xed\\x9b\\x72\\xc6\\x58\\x4f\\xe3\\xaa\\xb5\\x3a\\x95\\x85\\xf2\\xcf\\x3f\\x23\\x00\\x55\\x51\\x51\\xef\\xef\\xa8\\x12\\xe0\\xcc\\x9b\\x6a\\x2f\\xbf\\x66\\xe9\\xd2\\x49\\x21\\x8d\\xca\\xda\\xb2\\x69\\x42\\xd4\\x85\\xc6\\x92\\xb8\\x8e\\xda\\x0f\\x6d\\x27\\x48\\xd8\\x9f\\x25\\xec\\xd0\\x6d\\xd2\\xc2\\xd6\\x64\\xd7\\x77\\xdc\\x89\\xc5\\x73\\x98\\x45\\x9a\\xf6\\xe1\\x58\\x82\\x13\\x3f\\xfa\\x7e\\x69\\xea\\x0d\\x7e\\x36\\xbe\\x6a\\xac\\x13\\x0d\\x27\\xd2\\xdb\\xd1\\xa2\\xf9\\x1d\\xa5\\x6e\\x30\\x6b\\x59\\x9a\\x7e\\x4b\\x13\\x08\\x53\\x27\\x92\\xb5\\x95\\xd2\\x88\\xaa\\xa8\\x71\\x35\\xff\\xe0\\xe5\\x4d\\xd5\\x46\\x5a\\xe1\\xa6\\x2f\\x6f\\xa9\\x71\\xf0\\x70\\x0d\\x78\\x1e\\xae\\x47\\xfb\\xa1\\xde\\x3d\\xd0\\xbf\\xb0\\xaa\\x65\\x85\\x5a\\xe1\\xf7\\x23\\xc7\\x0e\\x5d\\x13\\x05\\xfe\\x05\\x5c\\xd4\\xe1\\x7c\\xdf\\x20\\xad\\x46\\x45\\x73\\x2b\\xc6\\x41\\x6d\\x99\\x01\\xde\\x9a\\xb1\\x34\\x72\\x41\\xcf\\x79\\xe2\\xb6\\xa6\\xaa\\x89\\x16\\x35\\x5c\\x88\\x6e\\xbb\\x66\\xe9\\xed\\x97\\x3e\\x5a\\x3b\\xe1\\x9d\\xaf\\x2e\\xec\\xad\\x4b\\x56\\x2f\\x41\\x8b\\xd0\\xb6\\xc7\\xdf\\x11\\xd3\\xf7\\x4a\\x63\\xfa\\xd2\\xc1\\x3f\\x51\\x37\\xb3\\xbb\\x88\\x34\\xe1\\x1d\\xa7\\x22\\xaa\\xe1\\x4a\\xe3\\x97\\x3b\\xc1\\x0f\\x1b\\x61\\x00\\xf3\\xe5\\x95\\x47\\xee\\x09\\x39\\xe9\\x14\\x61\\x60\\xc8\\x23\\xc7\\x9a\\x65\\x1c\\x95\\x7b\\x87\\x44\\xeb\\x8e\\xd5\\x94\\xcb\\x81\\x4c\\x35\\x53\\xd0\\x0b\\x00\\xc1\\xbf\\x8c\\x8e\\x75\\xf9\\x75\\x76\\x97\\x60\\xf6\\xd5\\xc1\\x85\\x67\\x62\\x4f\\x72\\x66\\x75\\x30\\x01\\x9e\\xe9\\x99\\x38\\xfa\\xe2\\x27\\x7f\\x47\\xba\\xaa\\xac\\x21\\xcf\\xf8\\xf3\\x6e\\xba\\x60\\x55\\x85\\xd3\\x50\\x33\\x99\\x3a\\xe1\\x4f\\xee\\xb9\\x32\\xe5\\xd3\\xea\\xcd\\x3a\\x85\\xdf\\xe4\\x4f\\x57\\xab\\x0c\\x66\\xc1\\x1c\\xb1\\xb4\\x6d\\x58\\x91\\x72\\xdb\\x5a\\xcf\\xd8\\x2e\\x0e\\xee\\x5a\\xbc\\xf1\\xff\\xc7\\xd9\\x7b\\xc0\\xc7\\x55\\x1d\\x7b\\xc0\\xf7\\xdc\\xbe\\xf5\\x6e\\xb9\\xdb\\x7b\\x5f\\x69\\xb5\\x5a\\x49\\x2b\\x69\\xd5\\xb5\\x92\\x9b\\x6c\\xcb\\xd2\\x4a\\x96\\xcb\\xda\\x72\\x95\\x5c\\xe4\\xde\\x70\\xc7\\x15\\x8c\\xb1\\xc1\\x14\\x17\\x6c\\x53\\x42\\xb5\\x4d\\x30\\xcd\\x36\\xc4\\x60\\x42\\x08\\x35\\x2f\\x09\\x2f\\x8f\\x40\\x42\\x08\\x2f\\xc9\\x4b\\x48\\x21\\x09\\xe9\\x2f\\x81\\x80\\x75\\xfd\\x9d\\x73\\xef\\xdd\\x26\\x93\\x7c\\xef\\xfb\\x7e\\xfc\\xb0\\x25\\x61\\xbc\\x33\\x73\\x66\\xfe\\x53\\xce\\x9c\\x99\\x99\\xd5\\xde\\x6a\\x67\\x85\\xb3\\x6e\\xc7\\xea\\x81\\x09\\xd9\\x69\\xb7\\x4e\\xac\\x88\\x70\\xd0\\x0f\\xcc\\x16\\x6d\\xe9\\x02\\x66\\x87\\x9e\\x20\\x72\\x31\\xa0\\x34\\x2b\\x65\\xb9\\x42\\x47\\x8f\\x91\\x58\\x44\\xfc\\x9a\\xcc\\xcb\\x15\\x02\\x04\\x6a\\x49\\xc5\\x09\\x9f\\xb1\\x8d\\x48\\x95\\x82\\x82\\x1b\\x10\\xc8\\xfb\\x43\\xfa\\x7d\\x5a\\x80\\x13\\xe4\\xd1\\x85\\x1d\\x57\\x97\\x0e\\xba\\x78\\xff\\x80\\xb7\\xa3\\xc5\\x5b\\xa1\\x55\\x42\\xf4\\xf7\\x2c\\x58\\x16\\xff\\x55\\x22\\xed\\xa8\\x6f\\x16\\x26\\x0e\\xb6\\x25\\x23\\xc4\\xde\\xc5\\xa3\\x7f\\x14\\xfe\\x86\\xbb\\x1e\\x98\\xd0\\x31\\xe8\\x48\\x36\\xb8\\x26\\xc4\\x95\\x3e\\x7b\\xf9\\xa2\\xab\\xef\\x1d\\x05\\xf3\\x0f\\x24\\x5b\\x9c\\xfd\\x3b\\x84\\x5f\\x08\\xbf\\x95\\xe4\\xaf\\xbd\\xf6\\x39\\xf4\\x59\\x97\\xb0\\x4e\\xac\\xe1\\xb9\\x1a\\x47\\x53\\x47\\x93\\x42\\xd4\\xff\\xa6\\x98\\xfb\\x65\\x91\\xcc\\x18\\x24\\xb9\\x03\\xeb\\x44\\x78\\x60\\xe8\\x10\\x6f\\x18\\x92\\xf2\\x3d\\xa5\\x74\\x8d\\xdc\\x28\\xb5\\x22\\xca\\x7b\\x60\\x20\\x8d\\xf0\\x2c\\xa0\\x03\\x68\\x85\\x9e\\xcb\\x20\\x6a\\x4a\\x04\\x45\\x60\\xc5\\x88\\x0c\\x8f\\x47\\x3c\\x15\\x79\\x78\\xae\\x2f\\x45\\x74\\x86\\x03\\x96\\x48\\xf3\\x4d\\xdb\\x97\\xfc\\xe8\\xc9\\x7d\\x21\\x4a\\x67\\x28\\xb3\\xe0\\xe1\\x27\\x6f\\x50\\x07\\xab\\xea\\xe3\\x26\\x47\\x14\\x3a\\xdc\\xb2\\xe0\\x01\\x5a\\x7f\\xc7\\x74\\xa5\\xd2\\xe1\\x76\\xaa\\xbe\\x7a\\x79\\x4e\\xcf\\xe8\\x95\\x9e\\xcb\\xe6\\x70\\x3b\\x60\\x56\\xdd\\x74\\x64\\xff\\x6f\\x85\\x67\\xde\\xb5\\x9b\\xcc\\x4a\\xd5\\x47\\xe0\\xe4\\x2d\\x86\\x98\\x3f\\x44\\xe0\\xa6\\x44\\x2c\\x38\\x3e\\xae\\x76\\xb9\\x57\\x9a\\x4d\\xcd\\xa1\\x9d\\xf3\\xc3\\x80\\x24\\xf0\\xbf\\xfd\\xf4\\x90\\x70\\xd7\\xd7\\x2e\\x4b\\x7c\\x47\\x84\\x61\\xf0\\xbf\\x90\\xef\\x0a\\x64\\x7b\\x18\\x18\\xc6\\x9c\\x18\\x27\\x32\\xec\\x2c\\xb6\\xbd\\x3c\\x56\\x8b\\x2b\\x4c\\x72\\x2a\\xcf\\xcb\\x30\\xe0\\x92\\xde\\xd6\\x40\\x7b\\x24\\x12\\xac\\xd6\\x5c\\xb1\\x4e\\x1b\\x70\\x35\\xd4\\x46\\xc6\\xd5\\xa5\\xed\\x6a\\xda\\xb7\\xa3\\xaa\\xd2\\x5c\\x61\\xab\\xd6\\x1e\\x27\\x54\\xfc\\x1c\\x61\\x98\\x66\\xa3\\xe3\\xfe\\x8a\\x6f\\xcb\\xac\\x2f\\x9f\\xea\\xb5\\x27\\x1a\\xca\\x56\\x69\\x15\\x4a\\xad\\xd5\\x13\\x62\\x2c\\xb3\\x9b\\x02\\x0b\\xfb\\xaf\\x76\\xa8\\xf5\\xfc\\x54\\x29\\xff\\xbb\\x04\\x83\\x89\\x76\\x88\\x0b\\x65\\xd0\\x26\\xdd\\x46\\x59\\x77\\xdc\\xa2\\xee\\x50\\x63\\x74\\x47\\x4c\\x64\\xa0\\x0c\\x7d\\x35\\x75\\x11\\x31\\xf6\\x2f\\x21\\x34\\x17\\x8a\\xa1\\x48\\xcc\\x62\\x06\\x1f\\xb4\\x98\\x85\\x78\\x3f\\x08\\x45\\x48\\x53\\xd0\\xd9\\x3a\\xc1\\xd7\\xd8\\xd0\\x66\\xd5\\x50\\x2d\\xdd\\x13\\xea\\x52\\xf3\\x79\\xc7\\x5b\\x81\\x9b\\x3d\\xcf\\x47\\x82\\x9b\\xe2\\x15\\x9b\\x66\\x5e\\x48\\xb4\\xc7\\xeb\\xc3\\x37\\xe8\\x5c\\xce\\x70\\x55\\xe5\\xe1\\xbf\\x9f\\x98\\x3c\\x75\\x19\\xd4\\xeb\\x15\\xd7\\xfe\\x48\\x76\\x8b\\x7a\\x1d\\x85\\x7a\\xed\\x80\\x98\\x2f\\xd3\\x86\\xa2\\x2e\\x1e\\x1a\\xac\\xe4\\x0c\\x16\\x97\\xe8\\x75\\x81\\x96\\x9c\\x81\\x92\\x52\\x93\\x6e\\x2a\\x29\\xb7\\xe3\\x4a\\xba\\x03\\xaa\\x3b\\x93\\x9d\\x30\\x0e\\xf3\\xea\\x71\\xf5\\xa1\\xe5\\x67\\x85\\xdf\\x3f\\xf1\\xea\\x0b\\xfb\\x57\\xaf\\x5e\\xbb\\xe5\\xc8\\xad\\x27\\x7f\\xba\\xa5\\x7b\\x0d\\x71\\x39\\x5c\\x53\\xb1\\x59\\xe9\\xd1\\x6a\\x4f\\x7f\\xf8\\x8e\\x70\\xe8\\xb5\\xf7\\xdf\\x3f\\x04\\x82\\x6b\\x16\\x09\\x9f\\x1f\\x3a\\x74\\xc7\\x5d\\x80\\x7c\\x70\\xeb\\x3c\\x51\\x76\\xef\\x43\\xdb\\x5b\\x08\\x65\\xd7\\x87\\x55\\x5c\\x54\\x57\\xb7\\x56\\x8b\\x9e\\xcc\\xda\\x8a\\x1c\\x73\\x1f\\x0c\\x5a\\x25\\x8f\\x16\\x2e\\x84\\xd8\\x49\\x89\\xcc\\x10\\xca\\x15\\x24\\x38\\x2f\\x09\\x5f\\x24\\x8d\\xc5\\xa5\\xcd\\xad\\x28\\xde\\x15\\xb7\\xfe\\xa0\\x3f\\x5a\\x64\\xa7\\x72\\xbc\\x2b\\x4e\\xc9\\x15\\x25\\x2d\\xb6\\x32\\xfe\\xd9\\xa1\\x9b\\x3c\\xcf\\xc8\\x35\\xf2\\x0d\\xc9\\xb4\\x59\\x4d\\x97\\xb5\\x6c\\xd2\\x5c\\x61\\xcb\\xc3\\x57\\x6f\\x19\\xf8\\x4e\\xc2\\xe3\\x09\\xb4\\x8d\\x6b\\xf1\\xd5\\xc0\\x58\\xbd\\xae\\xa1\\xb3\\xd2\\xa7\\x56\\xda\\x0c\\xfe\\xb0\\xc7\\x57\\x1b\\x7d\\xbe\\x6c\\xe2\\xdc\\x5f\\x7e\\xbb\\x3c\\xa2\\x8d\\x25\\xaa\\x2a\\xd7\\xf3\\x56\\xca\\x3a\\xcf\\xea\\x15\\x6a\\x5f\\x8d\\x4f\\x32\\xb9\\x96\\xb7\\x3c\\xbf\\xa6\\x26\\xb9\\x6c\\xd9\\xd4\\xf1\\x2b\\x47\\xaa\\x2b\\x23\\x93\\x12\\x3a\\x9b\\x37\\x54\\x16\\x9a\\x43\\x70\\xe3\\xeb\\xe2\\xb7\\xdc\\x9e\\x6a\\xbe\\x79\\xaa\\x14\\x27\\x09\\x5b\\x88\\x0f\\xa1\\x6e\\xb7\\x60\\xb5\\xcf\\xa9\\xad\\xd5\\x34\\x6d\\x84\\x59\\xd5\\xa5\\x2c\\x5d\\x13\\x85\\xe2\\x18\\xba\\x88\\xb9\\xa2\\xae\\xbc\\x67\\xcf\\xc9\\x41\\x0f\\x3d\\x9d\\x6c\\xcf\\xb9\\x16\\x0f\\x39\\x2d\\xad\\x13\\xcb\\xf3\\x8c\\x94\\x60\\xd5\\xa7\\xc4\\x5f\\x73\\xf0\\x24\\x7b\\x23\\xf8\\xa7\\xa0\\xc1\\x1b\\xd1\\x1f\\x04\\xe7\\x3a\\x36\\x86\\x9a\\x27\\x26\\xd3\\x76\\x46\\x89\\x47\\x5b\\x26\\xf2\\x5a\\xbd\\xd6\\xb4\\x62\\x53\\x68\\x68\\x82\\x5d\\x49\\x06\\xc0\\xe8\\x40\\x97\\xf6\\x07\\x64\\x8f\\x8e\\x65\\xf0\\x77\\xc8\\x48\\x23\\xf4\\x8f\\x27\\xe2\\x46\\x3e\\x52\\x57\\x7d\\x50\\xab\\x72\\x79\\xdc\\x65\\x2e\\xef\\xa4\\x6d\\x1f\\x6f\\x1a\\xac\\xdc\\x60\\xb0\\x39\\x6b\\xc7\\x55\\xf5\\x7d\\xd1\\x63\\x6c\\xa4\\xd5\\x0a\\x35\\x79\\x6f\\x75\\x2c\\x80\\xce\\xf7\\xe7\\xd0\\x5f\\x7d\\x02\\x75\\xb0\\x15\\xeb\\x7c\\xce\\x09\\x15\\xd9\\xe4\\x87\\xbc\\xa5\\x15\\x59\\x93\\xa9\\x89\\xe4\\x2a\\x9b\\x2a\\x65\\x8d\\x6c\\xfa\\x52\\x6b\\x29\\xcc\\x50\\x93\\x39\\x15\\xf1\\xc7\\x57\\x53\\x80\\x58\\x91\\x71\\xb1\\x17\\x15\\x45\\xab\\x52\\xbc\\x92\\x9b\\xda\\x98\\x0a\\x14\\x74\\x19\\xf1\\x4e\\x7c\\x72\\xcf\\xc1\\x51\\xbe\\x1f\\x7c\\xbe\\x6a\\xdb\\x7a\\x5f\\x67\\x9f\\xf0\\xd7\\xce\\xe5\\xae\\xfa\\xea\\x0a\\x6b\\x8b\\x5d\\x8b\\x47\\x9a\\x2b\\xc2\\x14\\xad\\xd1\\x68\\x35\\xab\\x87\\x3d\\x8d\\x89\\x71\\x36\\x16\\xfa\\xc2\\x07\\xf6\\xaf\\x27\\xfa\\xff\\x47\\x68\\x7b\\xe6\\xf9\\x75\\xa0\\xf6\\x81\\x29\\xfd\\xc1\\xe8\\x91\\x84\\x4e\\x6f\\x28\\x0b\\x24\\x56\\x1b\\xad\\x16\\xde\\x61\\xe2\\x0d\\xd5\\x9e\\xb5\\xbf\\x58\\x50\\x51\\x55\\xb3\\x4a\\xeb\\xb1\\xee\\x42\\x67\\x19\\x10\\x76\\x90\\x1b\\xe1\\x59\\x4e\\xc2\\x42\\x17\\x26\\xa8\\x02\\xf0\\xfc\\x2e\\x99\\x2a\\x61\\x42\\x21\\xea\\x75\\x93\\xaa\\x90\\x27\\x8b\\xef\\x03\\x4a\\xec\\xad\\x58\\x2d\\x19\\x1a\\x83\\xe1\\xaf\\x94\\x43\\xb4\\x02\\xe4\\x67\\x6a\\xf3\\x4e\\xd4\\x05\\x72\\x30\\xa1\\x25\\x98\\x7a\\x8c\\xb8\\xb1\\xbc\\x6a\\x8a\\x5d\\x4d\\xd6\\x27\\xd3\\xcd\\x01\\xad\\xd2\\xae\\x35\\xa7\\xb6\\x0a\\xe7\\x86\\x7b\\x3b\\x2a\\x0c\\x31\\x32\\x5a\\xcb\\xa8\\x8f\\xf2\\x6d\\x4d\\xe5\\xa0\\xa5\\xa5\\xdc\\x53\\xc9\\xb1\\x75\\xf1\\x86\\xc6\\xd8\\x9c\\x7a\\x8f\\x8d\\x18\\x06\\x7b\\x88\\xe7\\x6b\\xca\\xab\\xd7\\x6b\\x6d\\xde\\x60\\x8d\\x37\\x4b\\x1a\\xca\\x66\\x09\\x6f\\x6f\\x1a\\x5c\\x7b\\xcb\\xaa\\xcf\\xcc\\x11\\x8f\\x4e\\x41\\xb4\\xaf\\x3d\\xb1\\xa4\\xdd\\xe2\\x26\\x88\\x8a\\x40\\xa8\\xb7\\x5e\\xc7\\xc6\\x12\\xe5\\xb5\\x9d\\x87\\x97\\xcc\\xbd\\xaf\\x73\\x27\\x98\\x07\\x79\\xa5\\xa1\\xed\\xb6\\x42\\xdb\\x9d\\x86\\xa5\\xd2\\xaa\\xc9\\xd3\\xc6\\x47\\xba\\xeb\\xd2\\x5c\\x79\\x5d\\xb9\\xc8\\xab\\xbb\\xee\\x65\\xc8\\x6b\\x37\\x36\\x4d\\x3c\\xd3\\xee\\xdc\\x99\\x26\\x73\\xed\\xb9\\x8d\\x52\\x57\\x7c\\x2e\\x3a\\x10\\x91\\xb0\\x10\\x61\\xf3\\x79\\x5b\\x46\\x71\\x94\\x05\\x45\\x9c\\xd7\\xc9\\x49\\x8e\\x38\\x19\\x37\\x21\\x96\\x0f\\xf0\\x13\\xde\\x99\\x17\\xd7\\x34\\x6a\\x63\\x8a\\x4c\\x5b\\xdc\\x13\\xd3\\xaa\\x98\\x50\\xed\\xf6\\x70\\xa4\\x6d\\xd6\\xd0\\x53\\x73\\x3a\\xeb\\x50\\xc0\\x55\\x97\\xae\\x6f\\xf1\\x69\\x69\\x95\\xc6\\xe4\\xbe\\xf5\\x2b\\x93\\x9f\\xed\\xa8\\x34\\x76\\x5f\\x7d\\xb7\\xff\\x79\\x23\\xdf\\x7b\\x74\\xce\\xe4\\x88\\x3d\\x75\\x87\\x5b\\x1d\\x8a\\x96\\x7b\\x07\\xea\\xd5\\x5a\\x1d\\x65\\xed\\xf1\\xee\\xd8\\x19\\x88\\x4d\\x9b\\x78\\xe2\\xa5\\xf6\\x40\\x75\\xc5\\x2e\\xb5\\xcf\\x19\\x2f\\xf3\\xcd\\x54\\xab\\xf7\\xbd\\x77\\xe3\\x3d\\x8d\\x55\\x6e\\x13\\xfb\\xd5\\xe7\\x21\\xc6\\xb2\\xf0\\xbc\\x7d\\x50\\xbf\\x63\\x58\\x3b\\x16\\xba\\xd8\\xd0\\xa0\\x76\\x75\\x28\\x20\\xa2\\x56\\xc0\\xe8\\x50\\x2d\\x07\\x46\\xea\\x9c\\x87\\x6a\\x97\\x73\\xc8\\x12\\x84\\x15\\xdb\\xc4\\xc5\\x34\\x17\\x46\\x41\\xf2\\x08\\x11\\xc9\\x81\\x41\\x0d\\x07\\x28\\x05\\x93\\xbd\\xaf\\x09\\xe5\\x64\\x60\\x62\\x47\\x4d\\x87\\x45\\x49\\x73\\x4e\\x3c\\xd0\\x31\\xd1\\x55\\x66\\x3d\\xf2\\xc0\\xb6\\xe5\\x78\\x43\\x79\\xc0\\xf7\\x9d\\x69\\xf7\\x35\\xdc\\x62\\x4e\\x35\\x5d\\xfd\\xa7\\x9a\\xfc\\x2a\\xae\\x70\\x1b\\x78\\x35\\x43\\xb0\\xe4\\x57\\x89\\x48\\x9c\\xb8\\x5c\\x57\\x93\\x18\\xd6\\xb9\\x54\\x1a\\x77\\x67\\x76\\xff\\xa3\\xf3\\x0e\\x4d\\x4f\\x2f\\xa9\\x2e\\xab\\x4e\\xc7\\x5d\\xc7\\x6f\\xab\\x9d\\x19\\x9e\\xfb\\xdf\\xe3\\xe3\\x86\\xcf\\x5f\\x33\\x78\\x88\\x97\\x74\\x9c\\x45\\xad\\x65\\xe0\\xff\\x7d\\xb5\\xd5\\x12\\xf5\\xc8\\xf9\\xa3\\x18\\xf3\\xba\\x61\\xfe\\xa8\\x70\\x1b\\xaf\\xe4\\x7d\\x5b\\x2e\\x7f\\x84\\x67\\x51\\x48\\x16\\x4b\\x22\\x4d\\x68\\x75\\x84\\xad\\xbb\\x9d\\xbd\\x8f\\xe6\\xdb\\x35\\x2a\\xf2\\x08\\xeb\\x0f\\x0b\\x58\\x7b\\xbc\\xc5\\xa9\\x24\\x23\\xe4\\xea\\xf2\\xea\\xf1\\x57\\x6f\\xb3\\xd8\\xeb\\x50\\xbe\\x18\\x0a\\x84\\x0c\\x35\\xf1\\x9a\\xd5\\x06\\x9b\\x1b\\x7d\\xe6\\x79\\x0c\\xa3\\x90\\xaf\\x9f\\x8b\\xd5\\x3c\\x8f\\x19\\xfd\\x44\\xeb\\x64\\xe8\\x0f\\x96\\x5f\\xcc\\x56\\x2a\\x27\\x23\\xbf\\x90\\xb5\\x34\\x5a\\x24\\x3a\\x1a\\x8b\\xfc\\x02\\x52\\x2c\\x0b\\x72\\x60\\xf9\\x4f\\xf7\\x80\\x82\\x39\\xa1\\x07\\xec\\xa9\\xfa\\xeb\\xa3\\x51\\xe9\\xcf\\x88\\x41\\x81\\x0f\\x6d\\x14\\x97\\xb7\\xe2\\x8b\\x67\\x53\\xa2\\x65\\xd0\\x4d\\xa4\\x30\\xc2\\x30\\x67\\xaa\\x5d\\x89\\x37\\x56\\x2f\\x08\\xeb\\x28\\x9e\\x0f\\xd8\\x85\\x6f\\xde\\x09\\x2e\\x4c\\x9f\\xbc\\xff\\xc6\\x8e\\x74\\xc4\\xe2\\xf5\\x04\\x53\\x1c\\x0c\\x7e\\x52\\x99\\xec\\xa6\\x96\\x6d\\xb3\\xde\\x18\\x5d\\x48\\x86\\xab\\x92\\x65\\xe3\\x5c\\x34\\x5e\\xe3\\x1f\\x57\\x19\\xd4\\x50\\xa4\\xd9\\x10\\x89\\x99\\x4c\\xc3\\x00\\xa6\\xf4\\xea\\xee\\xba\\xb5\\x4a\\x43\\x80\\xa6\\x54\\xe3\\xfd\\x43\\xa4\\x39\\x26\\x70\\x3f\\x5d\\x7d\\xe3\\x87\\x3b\\xda\\xa6\\x38\\x39\\x9e\\x55\\xf9\\xfd\\xd1\\xae\\x2a\\xb5\\xd2\\xa7\\xe4\\xf8\\x96\\xea\\xc3\\x5b\\x5a\\x9e\\x3d\\x2d\\x9c\\xc1\\xb1\\x4b\\xdf\\x6a\\x53\\x56\\x87\\x93\\x4b\\x95\\xbc\\x4b\\x1f\\x08\\xfa\\x17\\x91\\xe6\\x39\\x2f\\x1f\\x7b\\xed\\xde\\xfb\\xc1\\xa3\\x52\\x1d\\xfa\\xda\\x27\\xe4\\x36\\xa8\\x8b\\x8d\\x58\\xf5\\x0b\\xa8\\x08\\x74\\x51\\xe5\\x8d\\x79\\xaf\\xe4\\xc2\\xc2\\x8b\\x06\\x8b\\xd9\\x92\\x2b\\x60\\x15\\x4a\\x56\\x72\\xed\\x85\\x12\\x63\\x27\\xa9\\x70\\x85\\xfc\\xbc\\xe4\\x14\\x03\\xa9\\x64\\x4d\\xaa\\x56\\xf4\\xfe\\x25\\x7e\\x44\\x44\\x5c\\x88\\x4e\\x24\\xb1\\x8d\\x53\\x07\\x46\\x3a\\xa6\\x08\\xb3\\x97\\x8e\\x18\\xf4\\x35\\x41\\x61\\x60\\xd0\\x43\\xea\\x37\\x6c\\x0e\\xac\\x6d\\x77\\x2a\\xe9\\x20\\x5e\\xb9\\x68\\x4e\\xd8\\xaa\\x0f\\xab\\x9d\\xee\\x50\\x2b\\xaf\\x56\\x79\\xe6\\xe0\\x55\\xbb\\x7b\\xda\\x97\\x0a\\xd7\\x0e\\x75\\xcc\\x9a\\xcd\\x73\\x5b\\x5a\\x9f\\xb7\\x29\\x66\\x75\\x9d\\x03\\x8e\\x5d\\x23\\x89\\xc5\\x30\\xea\\x2d\\x1b\\x5a\\xec\\x7a\\x65\\xc9\\xbb\\x13\\x77\\xaf\\xae\\xf0\\x8a\\xfd\\x69\\xb2\\xfe\\xe9\\xc2\\x14\\x85\\x61\\x3a\\x86\\xa2\\xc0\\xcf\\xc5\\x9f\\xdf\\x01\\x7f\\x7e\\x5e\\xfc\\xb9\\x42\\xfe\\xf9\\x6f\\xa5\\x9f\\xe3\\x11\\xe2\\x2d\\xf2\\x42\\xfe\\xe7\\x0a\\xf0\\x8e\\xe8\\x63\\x97\\xe3\\x77\\xc0\\xf8\\x71\\x35\\x66\\xc2\\x54\\xcf\\xaa\\x4c\\x22\\x0c\\xa3\\x9e\\x23\\x84\\x30\\x5a\\x52\\x2c\\x86\\xa1\\x00\\x18\\xbd\\x27\\xfb\\xc0\\x61\\xd1\\x75\\x4d\\x5d\\xe9\\x36\\x05\\xf4\\xac\\xe5\\x42\\x42\\x65\\x32\\x93\\xab\\x39\\x8d\\xd7\\x36\\xb2\\xfa\\x6e\\x9f\\x89\\x55\\x7a\\x80\\x7b\\xba\\xde\\x2c\\xd6\\x8f\\xe0\\xdf\\x49\\x84\\xe0\\xdf\\xc9\\x63\\xe5\\x18\\x07\\x85\\xcd\\x97\\x4b\\xf0\\xfe\\x76\\x4d\\xe9\\xdf\\xdc\\x46\\x26\\x03\\xd7\\x7f\\x10\\xa1\\xcc\\x7f\\x90\\x4e\\x5d\\x33\\x65\\xb8\\xdc\\xf3\\x8f\\x7f\\xf7\\xc9\\x8c\\xb1\\x7b\\xd3\\x63\\x53\\xbe\\x84\\x10\\xfc\\xda\\x4c\\xe8\\x63\\x17\\x10\\x97\\x30\\x0e\\x33\\x60\\x99\\x74\\x39\\x4d\\xe9\\xb4\\x7a\\x9d\\x41\\x43\\xa9\\x39\\x8e\\x54\\x33\\x24\\x83\\xc3\\xec\\x1f\\x37\\xea\\xb5\\x99\\xac\\x5e\\x8f\\xeb\\x28\\x4e\\xcd\\xe1\\x5c\\x6f\\x56\\x89\\x06\\x03\\x25\\x0b\\xd5\\xad\\xdc\\xfc\\xaf\\xc6\\xa2\\xd1\\xdc\\xe2\\x2e\\x64\\xf4\\x4c\\x32\\x29\\xbd\\x9a\\x8c\\xf8\\x18\\x40\\xf8\\xce\\x28\\x84\\x17\\x14\\xcb\\xc1\\xfb\\x8f\\x9e\\x5f\\xaf\\x10\\x56\\x29\\x37\\x95\\x09\\x8f\\xec\\x05\\xfb\\x7f\\x08\\xfc\\xf1\\x78\\xdc\\x46\\xac\\xb9\\x7a\\xb7\\x0d\\xfe\\xfe\\x8f\\x7f\\xe0\\xff\\x23\\xac\\xc0\\x64\\xfa\\xc8\\xe3\\xc4\\x79\\x98\\x37\\x87\\xb1\\xbb\\xd2\\x19\\x10\\x0e\\xa1\\xd7\\x9f\\x2a\\x9c\\x09\\x1a\\x30\\x9b\\xd5\\x68\\x34\\xb9\\x3c\\x1e\\x93\\x8d\\x21\\x29\\x95\\x2a\\x4a\\x45\\xdc\\x76\\x9f\\x3d\\x93\\xf5\\x05\\x7a\\xb3\\x3e\\x53\\x18\\x64\\xb2\\x06\\x5b\\x26\\x6b\\xe1\\x0d\\x61\\xf8\\x0f\\xa5\\xd4\\xe8\\xd1\\xf2\\x94\\x90\\x52\\xda\\xf2\\x2c\\xee\\x78\\x36\\x15\\x82\\x05\\x39\\x60\\x40\\x6d\\xf5\\x90\\xf6\\xd8\\x98\\x16\\xd3\\xa2\\xa1\\x24\\xc9\\xe2\\x67\\xa1\\x01\\x69\\x8d\\x3c\\xea\\xf5\\x66\\xa4\\x9e\\xe9\\x64\\x2a\\x49\\x04\\x22\\x68\\xd3\\x38\\x1a\\x63\\x09\\xff\\x9b\\x03\\x00\\xf0\\x53\\xe1\\xc2\\x12\\x56\\xf8\\x0e\\x3b\\x8c\\x8f\\x1b\\x61\\xf1\\xbf\\xc4\\xda\\xc1\\xe0\\x86\\x9d\\x2d\\x6f\\x27\\xda\\xea\\xdb\\xe8\\xff\\x6c\\xbb\\xf7\\xe6\\x81\\x49\\xed\\x4d\\xa3\\x41\\x76\\x55\\xf3\\x78\\xe1\\x77\\x20\\xfd\\x85\\x15\\xc9\\x22\\xc4\\xc7\\xff\\x7a\\x0f\\x2b\\x3c\\xb9\\x46\\x78\\x67\\x9d\\xf0\\x80\\xe2\\xbc\\xf0\\x59\\xdc\\x06\\xa6\\x82\\x03\\xc2\\x76\\x78\\x64\\x58\\xe5\\xb5\\xdf\\x53\\x16\\xe2\\x0d\\xcc\\x8f\\xd5\\x60\\xcd\\xe8\\xc5\\xa1\\xbb\\xbc\\x51\\x4f\\x47\\xcb\\xa3\\xc9\\xaa\\x24\\x56\\x65\\xb1\\xa8\\x31\\xa2\\xa5\\xb5\\xa2\\xde\\x5b\\x9f\\xc9\\x92\\x8d\\xbd\\x59\\xb7\\x57\\x4f\\x92\\x5a\\x87\\xd7\\xcc\\x07\\xfa\\xb3\\xbc\\x4e\\xa5\\xd5\\xb2\\x7d\\x59\\xad\\xae\\x64\\x61\\x0a\\x1a\\x24\\x08\\x23\\xc3\\xd2\\x0e\\x77\\x43\\x6e\\x48\\x06\\x3c\\xcd\\x5a\\xc9\\xb7\\x88\\x75\\x1d\\xb1\\x6f\\xa0\\x68\\xa7\\x4c\\x58\\x5c\\x70\\x0d\\xfc\\x68\\xbd\\xa3\\x8e\\xc9\\x45\\xfa\\xf2\\x1c\\x0d\\x2d\\xa8\\x3c\\xf0\\xd9\\x57\\xd8\\x17\\xa6\\xed\\x69\\x70\\xbd\\xf8\\xd5\\x65\\x3b\\xcb\\x33\\xe7\\x26\\xac\\xb8\\xe5\\xd8\\xb5\\x93\\xed\\x9b\\xcb\\x17\\xdc\\xbe\\x71\\x0f\\xf1\\x50\\xe5\\x86\\x5a\\xf6\\x7c\\x76\\xd6\\xdc\\x87\\x16\\xf7\\x5f\\xfd\\x76\\x75\\xd5\\xdc\\x03\\xfe\\x27\\x5e\\x78\\x72\\xce\\x7d\\xc3\\xea\\xfa\\xf6\\xf7\\x5a\\xa2\\xe5\\x0f\\xf7\\x64\\x7b\\xe6\\x5c\\xb9\\xe7\\xbc\\xf0\\x5f\\x4f\\xc4\\xdc\\x53\\x96\\xe3\\x7f\\x6f\\xab\\x69\\x08\\x09\\x1f\\x7e\\xd0\\xf9\\x20\\x20\\xf7\\xad\\xd9\\x36\\xba\\xb8\\xbe\\xe5\\x87\\x6f\\xea\\x1f\\x80\\x72\\x31\\x41\\xe1\\xcc\\x11\\x77\\x17\\x38\\xb1\\x10\\x7a\\x8d\\x88\\xf3\\x98\\xcb\\xe5\\x74\\xaa\\x18\\x2b\\xe9\\xd3\\xeb\\x49\\x46\\x41\\x86\\x31\\x2c\\xe2\\xc0\\x15\\x4a\\x45\\x26\\xeb\\xe2\\x95\\x4a\\x46\\xab\\x0d\\x65\\xb2\\x5a\\x75\\x6f\\x56\\xcb\\x31\\xce\\x4c\\x7e\\x51\\x58\\x7e\\x76\\x80\\x1c\\x76\\x8c\\x59\\xe4\\x86\\x24\\x83\\xfa\\x9d\\x02\\x90\\xdf\\xb2\\xfc\\xa4\\x00\\x2f\\x42\\x3e\\x20\\x6d\\xc1\\x24\\x8c\\x52\\xd3\\x03\\xfc\\x6a\\x8e\\x76\\xd1\\x44\\x61\\xb9\\x70\\xbe\\x67\\x97\\x76\\x57\\xeb\\x36\\x16\\x1c\\x07\\x75\\x53\\x26\\x08\\x7f\\xdd\\xb0\\xfe\\x9d\\x4d\\xed\\xd3\\x46\\x56\\x2c\\x9b\\x32\\x63\\x21\\xae\\xce\\x34\\x0e\\x0b\\x3f\\x07\\x2f\\x65\\xc0\\x1c\\x5b\\xfc\\xcd\\xa9\\x1b\\x5c\\xc2\\xa4\\x85\\x2b\\xbe\\x22\\xdc\\x03\\x5e\\x18\\x5a\\xdb\\xd2\\x8e\\x70\\x08\\xcd\\x08\\x79\\x01\\x9e\\xb9\\x0b\\xab\\x4d\\xdb\\xad\\x76\\x03\\x61\\x27\\xdc\\x6a\\x85\\xc2\\xc3\\x68\\xd1\\xda\\x58\\x9d\\x0d\\xc3\\x4c\\xbd\\xd2\\x8b\\x85\\x5c\\xba\\x53\\xd2\\x57\\x5c\\xbc\\xcb\\xa5\\x2e\\x57\\x70\\xcb\\xf7\\xc8\\x80\\x9f\\xbe\\xf1\\xdf\\xc7\\x80\\xe6\\x89\\xc3\\x8f\\x85\\x5a\\x07\\x6e\\xdc\\xf2\\xd2\\xf2\\xdd\\xbb\\x7a\\xf6\\x47\\x9a\\x9b\\x2b\\x7b\\x2f\\xf0\\xdf\\xbe\\xfc\\x0c\\x30\\x1c\\x0f\\xff\\xfe\\x48\\xc3\\x2d\\x9f\\x9e\\x3e\\x7a\\x3a\\x60\\xbf\\xf7\\x6f\\x66\\xab\\x54\\x07\\x9f\\x70\\x6d\\x94\\x78\\x0f\\xca\\x5b\\x01\\x25\\x1e\\x4f\\x5b\\x29\\x3d\\xa6\\xd1\\x6b\\x4c\\x66\\x71\\x7c\\x33\\x99\\xc9\\xf2\\x9c\\x9e\\x81\\xd0\\x51\\x24\\x52\\x90\\x6f\\x73\\x16\\x25\\x23\\xf6\\xa1\\x49\\x93\\x39\\x43\\x68\\xbd\\xb8\\xef\\x81\\xf3\\xb3\\x0e\\xce\\xee\\x7c\\xfd\\x3b\\xc2\\x2f\\x7e\\xf9\\x07\\xe1\\xdb\\xc2\\x67\\xc2\\xd3\\x27\\xb7\\xb1\\x78\\xe4\\xbe\\x93\\x57\\x3f\\xa3\\xfe\\x8c\\xaf\\x79\\xe3\\x25\\x41\\x10\\xde\\x23\\xe4\\xe5\\xc4\\x38\\xc6\\xcb\\x9f\\xaf\\x85\\xe7\\xdd\\x9d\\x2e\\xe3\\xad\\x56\\x5c\\xc3\\x29\\x14\\x26\\x0d\\x46\\xba\\xdc\\x16\\x71\\x78\\x02\\x0f\\x80\\x86\\xd2\\x40\\x5c\\xd0\\x98\\x28\\x63\\x26\\x4b\\x11\\xd0\\xf0\\x39\\x48\\x50\\xc9\\x50\\xf0\\x31\\x6b\\x93\\xd0\\x78\\x84\\xa4\\xbc\\xb0\\x5e\\x24\\x2d\\x24\\x52\\x8b\\xb6\\xf4\\x21\\x8a\\x79\\xe9\\x18\\xef\\xc9\\x91\\x38\\x0d\\xbf\\x03\\xd2\\xdd\\xfc\\x89\\xf6\\x93\\x76\\x44\\xbb\\x7c\\x88\\x32\\xad\\xe0\\xa5\\x95\\xf7\\x9d\\x14\\x9e\\xcd\\x08\\xf7\\x50\\x7f\\x16\\xfd\\x49\\x27\\xd4\\xd1\\x1a\\x71\\x36\\xe1\\xc6\\x74\\x5a\\x0f\\x13\\x07\\xad\\x8a\\xa6\\x49\\x95\\xd1\\x88\\x41\\xa9\\x5a\\xed\\x24\\xe9\\x50\\x19\\x32\\x59\\x9d\\x46\\xad\\x72\\xaa\\xba\\x55\\x83\\xaa\\x55\\x2a\\x4a\\x4d\\xa8\\x54\\x18\\x21\\xbe\\xec\\x27\\x08\\xd0\\x9b\\x25\\x38\\x0b\\x86\\x41\\x66\\x30\\x53\\xb1\\x33\\x2e\\xd4\\x61\\x93\\xd7\\x0f\\x6e\\xcf\\x3d\\xa0\\x15\\xd9\\xfa\\x52\\xb0\\xea\\x3c\\x0d\\x25\\xfd\\x96\\x0c\\x4e\\xff\\x59\\x59\\x0c\\x4e\\x48\\xde\\x63\\xd0\\x48\\xec\\x19\\x47\\xf3\\xa1\\xd0\\x0e\\x5a\\x03\\x8d\\xe6\\x43\\xa1\\x8b\\x68\\x61\\x21\\xb8\\x0c\\x79\\x43\\xbd\\x1e\\x55\\x69\\x8b\\x96\\x25\\x19\\x96\\xe1\\x4d\\x7a\\x15\\x23\\x2d\\xe1\\x43\\x0b\\x2f\\xd1\\xbe\\x4b\\xb9\\xb0\\xa4\\x7b\\xb3\\xa6\\x58\\x25\\xd0\\x93\\x25\\x34\\x12\\xaf\\xb8\\xa7\\x99\\xbe\\x9f\\x05\\x93\\x4e\\xed\\x65\\x85\\x1f\\xb4\\xa5\\xe3\\x15\\xe9\\x74\\x45\\x3c\\x8d\\xa8\\x41\\x43\\xb9\\x85\\xb7\\xa5\\xef\\xd3\\x52\\x9d\\x87\\xb8\\xf6\\x57\\x7c\\x22\\xfc\\x6c\\x1d\\x56\\x91\\x36\\xab\\x58\\x8c\\x60\\x09\\xbd\\x81\\xd6\\x64\\xd0\\xf0\\x4a\\x73\\xf1\\x07\\x4b\\x3b\\x71\\x4a\\x3e\\x15\\x2f\\x4c\\x40\\x48\\x81\\xe3\\xb7\\xb3\\xa0\\x7e\\x6d\\xe3\\xa7\\x4b\\xda\\x83\\x29\\xa5\\x25\\x59\\x5e\\xa7\\x46\\x9f\\x38\\x7a\\xb3\\xf0\\x4d\\xfb\\xb7\\xb7\\x3b\\x6a\\xc7\\xa3\\xde\\x78\\x78\\x86\\xef\\xa1\\xb9\\x51\\xc4\\xef\\x15\\xe2\\x2c\\x19\\xc8\\xfc\\xbb\\xe2\\x3e\\xb6\\xee\\x74\\x54\\xad\\xd3\\x51\\xc0\\x68\\x32\\x69\\xa0\\x7e\\x5b\\x54\\x34\\xda\\x75\\xaf\\x86\\x0e\\x87\\xd4\\x10\\xf0\\x1f\\xc0\\x72\\x50\\x23\\x75\\x19\\xe9\\x69\\x7e\\xe1\\xb1\\x77\\x6e\\x27\\x61\\x89\\x16\\x42\\x64\\x61\\x0a\\x3b\\x4c\\xe1\\xbf\\xe2\\x49\\xe1\\x47\\x47\\x9f\\x6d\\x3f\\xa6\\x3d\\xd6\\xbd\\x95\\x05\\xcf\\xb1\\xf7\\x34\\x7f\\xa4\\xfd\\xa8\\x63\\xdf\\xae\\x9e\\x69\\xed\\x60\\xb8\\x27\\xd3\\x03\\x2e\\x20\\x1f\\x2a\\x3c\\xb5\\x35\\xb3\\x55\\xb8\\x43\\xfd\\xaa\\x74\\x4e\\x6f\\xc0\\xf8\\xee\\x37\\x22\\xbd\\x7f\\x28\\xcc\\xb0\\x42\\xdf\\xa3\\x0a\\x66\\x6e\\xfe\\x90\\xd8\\xeb\\x2f\\xbe\\xdb\\xb9\\xf6\\x37\\xf8\\xfd\\x61\\x11\\x6b\\xea\\xd2\\x76\\xbd\\x51\\x6d\\x37\\xda\\x3d\\x14\\x8e\\xbb\\x8d\\x16\\x0b\\xf4\\xff\\x16\\x1d\\x06\\x9d\\x28\\x81\\xb0\\xa6\\x26\\x9f\\x6d\\x8f\\x01\\x9b\\xdc\\x0b\\x0c\\xf9\\x7d\\x6b\\xd1\\x13\\x50\\x9c\\x04\\x65\\x0f\\x1f\\x0b\\x37\\x53\\xde\\x4d\\xe9\\x7d\\xaf\\xaf\\xb8\\x73\\xcf\\xcd\\xab\\x6a\\x5a\\xe3\\x07\\x76\\xb5\\xbf\\xf9\\xf1\\x09\\xe1\\x13\\xbe\\xf2\\x6f\\xf7\\xda\\x03\\x47\\xfe\\x71\\xec\\xf6\\x07\\x1b\\x8e\\xfc\\xde\\xae\\xfe\\xcf\\x67\\x2f\\x08\\x9f\\x1c\\x43\\xba\\x15\\xc5\\x58\\x12\\x10\\x47\\x30\\x0d\\xe6\\xc0\\xca\\xd2\\xbc\\xd2\\x44\\x68\\x4d\\x5a\\xa7\\xcb\\xca\\x74\\x65\\xad\\x7a\\x3d\\xd6\\x95\\xc3\\x19\\x71\\x6f\\x31\\x28\\x6c\\xf8\\x92\\xf2\\x21\\x54\\xae\\x71\\x03\\xb1\\x17\\x20\\x28\\xc5\\xf9\\xa4\\x19\\x3f\\x75\\xf0\\xc8\\xdd\\xa3\\x77\\x1d\\x86\\xbf\\x80\\xab\\xd2\\xf8\\x26\\x69\\x94\\xd3\\xe5\\x91\\xf9\\x73\\x1f\\x5b\\xb8\\x7c\\x68\\xee\\x23\\xf3\\x5f\\xce\\x4f\\x7e\\x12\\xe7\\x8a\\x62\\x06\\x91\\x06\\x17\\xd4\\x6e\\xab\\x09\\xd3\\x32\\x8c\\xd2\\x8e\\x91\\x6e\\x8f\\x5d\\xa5\\x50\\xf5\\x65\\x15\\x84\\xa1\\x0b\\xda\\xa6\\x94\\xe0\\x48\\xbb\\xb8\\x73\\xc7\\x29\\xf7\\x0c\\x90\\x06\\x18\\xcc\\x45\\xea\\x92\\x05\\x9a\\xcc\\x1e\\x60\\x82\\x69\\x45\\xf4\\x4b\\x41\\x16\\xfc\\x01\\xa2\\xb2\\xf0\\xb7\\xaf\\x1e\\x3a\\x7b\\x1d\\x2a\\x8b\\xbd\\x55\\x98\\xff\\xda\\x33\\xe4\\x26\\xe2\\x97\\x50\\xef\\xdc\\x58\\x04\\xeb\\x4b\\x57\\xb9\\x7c\\x4e\\x3f\\x19\\x34\\x9b\\x55\\x41\\x8c\\x22\\x49\\x0c\\xd7\\x69\\x54\\x5a\\x26\\x5a\\x46\\xe1\\x4e\\xbf\\xcb\\xa7\\xd1\\xb1\\x06\\xc6\\xe0\\xe9\\xca\\x72\\x06\\x8e\\xb1\\x77\\x65\\x49\\xc6\\x24\\x17\\x79\\x45\\xec\\xb0\\x94\\xbc\\xe9\\x95\\x22\\x1c\\x9e\\xb1\\x98\\x22\\xb2\\xcc\\x52\\x91\\x3a\\x8b\\x28\\x37\\x8a\\x17\\xdf\\xd6\\x00\\x3a\\x04\\xd3\\x23\\x91\\x15\\xb2\\xb6\\xeb\\xe0\\x2b\\x2b\\x1e\\x44\\x12\\x9c\\x7a\\xd3\\xd7\\x57\\xdc\\x87\\x84\\x78\\x75\\xc3\\x6d\\xff\\x3c\\x3a\\xae\\x6e\\xf4\\xfb\\x8b\\x41\\x45\\x6b\\x0a\\xaf\\x98\\x7b\\xfb\\xff\\x82\\xcd\\xb7\\xce\\xdd\\xb2\\xf2\\xf1\\x3e\\x28\\xd1\\x43\\xf3\\x6e\\x58\\xfe\\x58\\xef\\xa1\\xbf\\x83\\xb9\\xf7\\xcf\\x51\\x83\\xdf\\xd6\\xcd\\x57\\x09\\xb6\\xda\\x91\\xb9\\x0f\\x0c\\x62\\x52\\x7c\\xf3\\x09\\x65\\x13\\xdf\\xe9\\x25\\xb0\\x06\\x6c\\x49\\x3a\\x65\\xac\\xaa\\x0a\\x27\\xe3\\x49\\x2e\\x4e\\x10\\x5e\\x85\\x93\\xa3\\x1a\\x9b\\x8c\\x55\\xbd\\x59\\x85\\xda\\xeb\\x36\\x1a\\xd5\\x0e\\xb7\\xdb\\xda\\x97\\x75\\xeb\\xd4\\xf5\\xe8\\xc1\\x18\\x53\\x06\\xbd\\xb8\\x19\\xf3\\x43\\x78\\xd4\\x15\\xbd\\x7d\\x95\\xf5\\x14\\x15\\x85\\xd0\\x20\\x8c\\xd8\\x98\\x20\\x47\\xca\\x47\\xa5\\x05\\x79\\x85\\x1b\\x85\\xdc\\x5e\\x3c\\x14\\xf0\\x58\\xea\\x2d\\xfe\\xe2\\x3a\\x66\\xfe\\x7d\\x14\\x09\\x6e\\x3e\\xba\\xeb\\xa3\\x3b\\x1e\\x9a\\x52\\xf5\\xd0\\xdc\\x15\\xdb\\xb7\\x7d\\xfc\\x15\\x4d\\x7f\\x2f\\x8a\\x75\\x2e\\x9d\\x7b\\xbe\\x6e\\xef\\x53\\x53\\x6e\\xcb\\x4e\\x68\\x9b\\x76\\x5b\\x26\\x3d\\xfa\\xcf\\x07\\x9f\\xa8\\x0c\\x4c\\x87\\x66\\xf5\\xfc\\x99\\x67\\x84\\x1f\\x9f\\xbd\\x6b\\x5c\\xcf\\xa2\\xb9\\xf3\\xef\\x1f\\xd6\\x74\\xf4\\x2c\\x1d\\x40\\x51\\xce\\x3d\\xf7\\xf4\\x9f\\x13\\x7e\\x73\\xdf\\xc8\\xc6\\x4b\\xc0\\x7e\\xf7\\xb2\\x0d\\xc2\\x62\\xee\\xc4\\xae\\x96\\xd6\\x4f\\x90\\xee\\x73\\xd0\\x1e\\x7b\\xa0\\x3c\\x42\\x58\\x25\\x36\\x3f\\x1d\\x8e\\x73\\x21\\xab\\xdf\\xe9\\x34\\x45\\x59\\x34\\xc3\\xd7\\xc4\\x91\\x89\\x2a\\xca\\xe0\\x89\\xc1\\x88\\xd7\\xe3\\x51\\x63\\xea\\x30\\x12\\x83\\xcd\\x2a\\xf5\\x8c\\xf1\\x5d\\x56\\x6b\\x28\\x84\\x44\\x51\\xa3\\x87\\xc8\\x97\\x6c\\x2f\\x59\\x8c\\x57\\x7c\\xe0\\xb2\\x18\\xc8\\xdc\\x13\\xf4\\x7c\\x35\\x4c\\xaa\\xb2\\xe4\\x67\\x4b\\xa1\\x44\\x98\\xa8\\x11\\x25\\x03\\x05\\x16\\x07\\xbe\\xf5\\x1b\\x67\\x2d\\x5d\\xfe\\xc6\\xc1\\xc7\\x5f\\xbc\\x67\\x4f\\x77\\xe6\\xcd\\xb3\\x9a\\xa1\\xfe\\x9e\\x89\\xc3\\xeb\\x9a\\xc7\\x3d\\x7a\\x75\\xce\\xe2\\x51\\xe2\\x0d\\xd5\\x77\\xb3\\x37\\x05\\x4c\\x6b\\x27\\x67\\x6f\\xef\\xbd\\x61\\x64\\xe5\\x03\\x0e\\xd3\\x60\\xdb\\x8a\\x03\\x74\\x9f\\x6e\\x7a\\x77\\xe7\\xc4\\x4d\\x37\\xd4\\xa5\\x35\\x57\\xbf\\xf5\\xab\\x71\\x03\\xbf\\x3c\\x89\\xee\\x58\\xc1\\x8f\\xc4\\xf9\\x6e\\x06\\x2c\\x9c\\x86\\x64\\xaa\\x19\\x8c\\x31\\xf2\\x4a\\x8c\\x24\\x39\\x18\\xc8\\xea\\x64\\xf3\\x2e\\xf6\\x19\\x46\\x79\\x76\\x3a\\x93\\x7b\\x51\\xc4\\x8c\\x37\\xde\\xf5\\xd1\\xa1\\x33\\xdf\\x62\\x2e\\xaa\\x96\\x0f\\x6d\\x7e\\xd9\\x0d\\x7e\\x74\\xfb\\x2f\\x76\\xfd\\xe0\\xb9\\xc6\\xf2\\x89\\xe9\\xc3\\x47\\x7e\\x73\\x59\\x8e\\xa3\\x5e\\x02\\x3f\\x92\\x3e\\x03\\xd7\\xb1\\x0a\\x9d\\xc2\\xc8\\xb3\\x06\\x8d\\x86\\x82\\x31\\x82\\xf9\\xcb\\x3e\\x23\\xf7\\xb8\\x3b\\x89\\x8a\\x15\\xc8\\x10\\x3e\\x55\\x8e\\xcc\\xbf\\xe1\\x55\\xf7\\x45\\xd3\\xdd\\x1f\\xdd\\x02\\x3f\\x0a\\xfc\\x28\\x3d\\xfe\\xe0\\x91\\x5f\\x3e\\x7f\\xe4\\xa3\\x1d\\x3f\\x78\\x2e\\xda\\x84\\xe2\\x22\\xa8\\xc4\\x75\\xd0\\x1f\\xb0\\x98\\x05\\x4b\\xa7\\xfd\\xa4\\x1e\\x33\\x9b\\x95\\x7a\\xa5\\xcd\\x8a\\x99\\xa0\\x5a\\x62\\x4a\\x69\\xd6\\x2d\\x9b\\x41\\xf3\\x6e\\xcd\\x85\\xad\\x9c\\x85\\x29\\x26\\x85\\x29\\xb7\\xf0\\x44\\x72\\x81\\xa4\\xd1\\x27\\xc7\\x24\\xa8\\xcb\\x87\\xb0\\x80\\x86\\xe6\\x9b\\x0f\\x2e\\x58\\x99\\x24\\x84\\x6f\\x9c\\x82\\xe1\\xc8\\xed\\xa7\\x1f\\x7a\\xe7\\xca\\xee\\x24\\x8c\\x18\\x37\\xed\\x1c\\x9c\\x75\\xf5\\x51\\xe4\\xb4\\xf6\\x6c\\x7d\\xf0\\x09\\xe1\\x27\\x36\\x31\\x97\\x7a\\x1d\\xd2\\x34\\x9f\\x78\\x05\\xc6\\x6a\\x2e\\x6c\\x6e\\xba\\x4a\\xa3\\xa3\\x78\\xb5\\x5e\\x85\\xc6\\xa9\\xea\\x79\\x1d\\xa9\\xf5\\x68\\xdd\\x7a\\x56\\xcd\\xaa\\x33\\x59\\x96\\x55\\x5a\\x2c\\x38\\x4c\\x9d\\x74\\x5a\\x1d\\x0c\\x8b\\x4d\\x4a\\x47\\x11\\x85\\x85\\xa8\\xe9\\xcb\\x76\\xc2\\x8b\\xe4\\x86\\x73\\x4f\\x08\\x09\\x63\\x00\\x35\\x08\\x01\\xb9\\x34\\x62\\xb6\\x40\\xef\\x8e\\x7f\\xb5\\x75\\xea\\xc6\\x2d\\xcb\\xe7\\xad\\xed\\xeb\\x38\\x26\\xfc\\xec\\x23\\x76\\x00\\x70\\x93\\x07\\x3f\\x78\\xb3\\xea\\x85\\xee\\xbb\\xf6\\xb3\\xc4\\x2c\\xed\\xaa\\xa1\\xe9\\x0b\\x04\\x27\\x38\\x26\\xac\\x8a\\x5b\\xc0\\x1a\\xcb\\xee\\xbe\\xdb\\x4f\\xeb\\xd4\\x57\\x1f\\xb2\\x4a\\xf1\\x5e\\x0c\\x9e\\xdd\\x5c\\x51\\xae\\x4e\\x6c\\x4e\\x3a\\x01\\x69\\x57\\x90\\x9c\\x85\\x87\\x99\\x20\\xcf\\x11\\x2e\\x85\\xc2\\x6d\\xb4\\x02\\x2b\\xcc\\xfc\\xac\\x56\\xb5\\xd3\\x69\\xef\\xcd\\x3a\\x39\\x33\\x8f\\x36\\x67\\xa9\\xe9\\xc2\\x53\\xd2\\xff\\x0b\\x0b\\x22\\x07\\x08\\xe2\\x88\\xfc\\x04\\x35\\x71\\x12\\x0e\\x8a\\x9e\\xf0\\xf9\\x6b\\x37\\xdf\\xff\\xd0\\xdc\\x0e\\xd0\\xf9\\xf8\\xf3\\xb7\\x3e\\xfa\\xe8\\xe4\\x6d\\x13\\x8e\\x74\\xb3\\x1f\\x1d\\x3d\\xd6\\xbe\\x99\\x05\\xdf\\xba\\x7b\\xe5\\x4d\\x5a\\x62\\xd6\\xd5\\x41\\xe7\\xc6\\x95\\x93\\x6f\\xcc\\xea\\x21\\x07\\x71\\x61\\x15\\x98\\x66\\x8f\\x4b\\x31\\xca\\x32\\x78\\x06\\x87\\x20\\xfd\\x46\\x6c\\x42\\x3a\\xa0\\x33\\x30\\x6a\\x5a\\xa3\\x51\\x1b\\x08\\x9e\\x80\\xc1\\x3b\\x6e\\x30\\x18\\x69\\xad\\x11\\xe6\\xda\\x46\\x8e\\x51\\x2b\\xd5\\xb2\\xd0\\x8b\\xb6\\x0f\\xe9\\xc7\\x8c\\xc8\\x2c\\x59\\xd3\\x9a\\xdf\\xa8\\x44\\x1c\\xaa\\x4a\\x69\\x06\\xa7\\x38\\x0f\\xef\\x63\\x85\\x71\\xec\\xf1\\xc3\\x8e\\x69\\x0b\\x26\\xa7\\xaa\\xe4\\xfd\\xac\\x7f\\x40\\xc1\\x01\\x61\\x44\\xab\\x84\\x10\\x3d\\xfb\\x60\\x5c\\xb0\\x54\\xdc\\xab\\xd3\\x9e\\xf6\\xc0\\xb4\\x90\\x26\\x78\\x1b\\x61\\x73\\x59\\x2c\\x6e\\x1b\\xcf\\x4b\\xa1\\x8b\\x99\\xe5\\x30\\x5d\\x5f\\xe1\\x29\\x74\\xd1\\xb4\\xa4\\xe2\\x01\\x02\\xd4\\x75\\x13\\x8c\\xeb\\x73\\xdf\\xc1\\xec\\xe2\\x17\\xcf\\x9e\\x53\\x2d\\x58\\xcf\\x82\\xbb\\xd8\\xed\\xf3\\x94\\x57\\x6e\\xb9\\xd7\\xb8\\x78\\x0b\\x0b\\xfa\\xd8\\xed\\x8b\\x9c\\xef\\xf3\\xbb\\xd7\\x57\\xb7\\xe0\\x2e\\x44\\xd7\\xe8\\x1f\\x9b\\x22\\x67\\x77\\x6e\\xc0\\x2b\\xc4\\x6f\\x7e\\x7c\\xf6\\x49\\x51\\x66\\x33\\x31\\x3f\\x69\\x27\\x36\\x40\\xaf\\xdf\\x91\\xf6\\x98\\x19\\xab\\x86\\x56\\xa8\\x08\\x9d\\x4e\\x45\\x5b\\x49\\xa7\\x4b\\xa1\\x56\\x43\\x1f\\xcc\\x9a\\x6d\\x36\\xcc\\x62\\x34\\xba\\x20\\x6d\\x30\\x63\\x83\\x40\\xf7\\xba\\xfc\\x72\\xa7\\x64\\xf3\\x84\\x1c\\x0d\\x84\\x23\\xa1\\x3a\\x2a\\x65\\xd1\\x47\\xe4\\xea\\x7f\\x38\\xc4\\x44\\xf4\\x94\\x99\\xe8\\x40\\x93\\x87\\x47\\x0f\\x22\\xbb\\x91\\x76\\x2e\\x4d\\x1b\\x7d\\xc6\\x1a\\xc7\\x27\\xec\\xfa\\x96\\xb4\\x91\\x09\\xbd\\xfc\\x15\\x7e\\x27\\xef\\x6c\\x5a\\x8a\\x26\\x19\\x2f\\xb5\\x40\\x5f\\x15\\xc3\\xfc\\x54\\x58\\xa4\\x2f\\x82\\x25\\xb1\\x19\\xe9\\x98\\x27\\x16\\x0b\\x55\\x97\\x10\\x5a\\x4d\\xd5\\xd6\\x39\\xfd\\xd1\\x4a\\xd2\\x58\\x4a\\x6f\\xdd\\x75\\xf4\\x96\\xfa\\xe0\\xc2\\xc8\\x82\\x7f\\x43\\x37\\xc8\\x5f\\xdf\\xd4\\xd6\\x1b\\x8b\\xbe\\x26\\xa7\\xfd\\x0b\\x7e\\x76\\x5f\\x1d\\x29\\x6f\\x6e\\x8b\\xc4\\x1a\\x9b\\xca\\xcb\\x9b\\x5b\\xca\\xca\\x9b\\x9a\\xfe\\x0d\\x83\\xf8\\xba\\x86\\xf2\\xf2\\xa6\\xc6\\x58\\x79\\x83\\x70\\x5f\\x43\\x79\\x59\\x4b\\x5b\\xa4\\xbc\\x41\\xd2\\xe5\\xe3\\xd7\\x7a\\xc9\\x39\\xe4\\x66\\x2c\\x8e\\x0d\\xa4\\xcb\\xfc\\x16\\x85\\x0a\\x33\\x47\\x7d\\xc1\\xb0\\xcb\\x60\\x88\\x11\\x44\\xd8\\x67\\x56\\x51\\x95\\x89\\x60\\x24\\xe2\\xf7\\x63\\x16\\x0b\\x74\\x41\\x01\\x0d\\x4d\\x2b\\x95\\x95\\x22\\xc7\\x88\\x5f\\xb1\\xbf\\xbb\\xf8\\x90\\x8a\\x06\\x89\\x24\\xf3\\xb3\\x5f\\xf3\\x5c\\x4a\\x2d\\x7e\\x00\\x89\\x00\\x7e\\x9d\\xfb\\x32\\x2f\\x0d\\x62\\x77\\x6e\\xa5\\xa1\\x2d\\x2e\\xaf\\x3e\\xdc\\xdf\\x28\\xbf\\xc0\\x9e\\xb9\\x3f\\x55\\x78\\x81\\x0d\\x66\\xc9\\x5b\\x12\\xf7\\x2b\\x40\\x5c\\x5c\\xa7\\xb8\\x7d\\x48\\x7e\\xdd\\xbd\\x6b\\x48\\x7a\\xdd\\x2d\\xfc\\x4e\\x7a\\xdd\\x0d\\xe3\\x62\\x27\\xc4\\x9b\\xdb\\xc5\\x38\\x39\\x2b\\xcd\\x8b\\x85\\xf6\\xf2\\x27\\xf1\\xfb\\x39\\xe7\\xe4\\x39\\xaf\\x04\\x2e\\x7e\\x2f\\xdd\\x49\\x7e\\x1d\\xfe\\x79\\x5a\\x9c\\xb3\\x2d\\xbe\\xd5\\xe7\\x1c\\x10\\x5f\\x1d\\x16\\x82\\xd2\\xdb\\x6c\\x1e\\xca\\x6d\\x37\\x58\\x61\\x66\\xe7\\xe0\\x38\\xc2\\x0a\\x45\\xc2\\x11\\x6c\\x1f\\xcc\\xe7\\xcc\\xb9\\x10\\x6c\\xcc\\x20\\xdc\\x52\\x3b\\x2f\\xd9\\x3c\\x2a\\x4d\\xc0\\x15\\x1f\\xcf\\xfa\\x18\\x28\\x27\\xfc\\xfe\\x4f\\xde\\x78\\xfc\\x80\\x67\\xc7\\xd1\\xf5\\x47\\xd6\\x8f\\xb8\\x59\\x10\\x1f\\x98\\x79\\x32\\x9c\\x4a\\x54\\xe0\\xfb\\x14\\xc2\\xd7\\xd6\\xec\\x00\\xd5\\x77\\x3c\\xbf\\xb0\\xa5\\xe1\\x86\\xa5\\xd3\\x17\\xc7\\x41\\xaf\\x51\\x77\\xcb\\xe7\\xd5\\xc2\\x63\\x9a\\x7d\\xe8\\x0c\\x5d\\x90\\x5e\\xab\\x18\\x57\\x2c\\x4a\\x57\\x53\\x76\\x1b\\x6d\\xa7\\x95\\x2e\\x17\\xc1\\xe9\\x7d\\x01\\xe8\\x03\\x02\\x7a\\x82\\x0c\\x47\\xa4\\x1f\\x63\\xbc\\x5e\\xcf\\xf3\\x68\\x0b\\xbe\\x2e\\x10\\xc0\\x30\\x4f\\xa6\\x50\\x6a\\x48\\x14\\x8d\\xf7\\xb9\\xce\\xe8\\xf4\\xa5\\x05\\x88\\x50\\x7e\\xe2\\x0d\\xa2\\x5e\\xca\\xf3\\x28\\x0e\\x88\\x80\\x81\\x2a\\x11\\x34\\x38\\x70\\xfe\\xeb\\x20\\xc8\\xd7\\xae\\x58\\xbf\\x64\\xde\\xc8\\x40\\xba\\x33\\x7e\\xec\\xae\\x87\\xbf\\x29\\xfc\\x37\\x5f\\xfb\\xe1\\x9b\\x4b\\xd0\\xb7\\x27\\xf8\\x4d\\xc3\\xdf\\x0d\\xac\\xa7\\x54\\x83\\x73\\x3b\\xc7\\x57\\x3f\\x2a\\xc4\\xb6\\x2c\\x42\\xdf\\x5a\\x9e\\x38\\x80\\xbe\\x41\\x3c\\x79\\x20\\x4f\\x7f\\x16\\xdf\\xd0\\xb7\\xa7\\x7d\\x1a\\x65\\x28\\x12\\x71\\x78\\x48\\xa3\\x49\\xc9\\x94\\xc7\\xe0\\xef\\x46\\xd6\\xaa\\x0b\\x70\\x68\\x8f\\x46\\x18\\xe6\\xd4\\x2c\\x92\\x7e\\x32\\x51\\xb4\\x50\\x2a\\x59\\x14\\xb2\\x43\\x8a\\x13\\xf2\\x93\\x36\\x29\\x39\\x84\\x6e\\x20\\xff\\x9e\\x49\\x0b\\x18\\x31\\xc1\\x11\\xa9\\x26\\x1a\\x97\\x6c\\x8b\\xd9\\xeb\\xdb\\x0f\\xce\\x9b\\x35\\x31\\x90\\xe0\\x5d\\xb1\\xd4\\xb4\\xa9\\xe3\\xef\\x79\\xf6\\xee\\xd5\\xc7\\xda\\xd7\\xee\\xd5\\x07\\xb2\\xe3\\x52\\xfe\\xa6\\x44\\xa0\\x9f\\x9f\\xd2\\x53\\xd5\\x3c\\x71\\x92\\xf5\\x8d\\xb5\\xbc\\xbd\\xb9\\xef\\x7b\\x4f\\x9f\\xfe\\xe6\\x5d\\xeb\\xa6\\xdc\\x76\\x68\\xab\\x77\\x7c\\x27\\xbf\\xf6\\xdb\\x46\\xc9\\xae\\x50\\x6e\\xd9\\x06\\x75\\x48\\x85\\x45\\xd3\\x26\\x9a\\x61\\xd4\\xb8\\x4a\\xa5\\x11\\xab\\x96\\x30\\x40\\x01\\x4a\\x0e\\x05\\xed\\x50\\x65\\x62\\xf9\\x25\\x12\\xe2\\xa3\\x24\\xe4\\x05\\xa4\\xa1\\x1f\\x56\\xb4\\xa2\\xfb\\xc8\\xc9\\x33\\xa7\\xb7\\xb2\\xf8\\x7f\\xe1\\x0f\\x42\\xd0\\x3f\\x2b\\xd7\\x4b\\xc0\\xb5\\xd5\\xf0\\xef\\xee\\x26\\x2e\\x61\\x5a\\x2c\\x95\\xb6\\x63\\x94\\x86\\xa5\\x58\\x42\\xa9\\xd4\\x11\\x9c\\x96\\xe6\\xe0\\x37\\x10\\xcd\\x7a\\xb3\\x2a\\xc2\\x54\\xb4\\x8d\\x2a\\x59\\x52\\xdb\\xad\\xae\\x4a\\x59\\x8a\\xab\\xba\\xc4\\x8c\\x4d\\x0a\\xe1\\x49\\xc5\\x5a\\xf0\\xbb\\x53\\xab\\xb7\\x28\\x84\\x79\\x8a\\xdd\\x13\\x27\\xda\\x8a\\x4a\\xb9\\xf8\\xdb\\xd2\\xdb\\xf2\\xc9\\x68\\x97\\x14\\x9a\\x85\\x8d\\x49\\xb3\\xb1\\xe5\\xf8\\xc8\\x40\\x53\\xe2\\xdb\\x2e\\x34\\x39\\x9c\\xdc\\x00\\x79\\x0e\\x63\\x2b\\xd2\\x75\\x0e\\x0c\\xe3\\x29\\xca\\xc3\\x19\\x0c\\x6a\\x85\\xc7\\xaf\\xf0\\x47\\xbc\\xde\\xa8\\x87\\x0b\\xd3\\x3c\\xf4\\x46\\x0e\\x9e\\x27\\xb4\\x76\\x93\\xc9\\xaf\\x46\\x25\\x3b\\x8b\\x96\\x93\\x68\\x26\\x4c\\xa5\\x0b\\x48\\xf5\\xf9\\xfd\\x75\\x98\\xbc\\x31\\xa4\\xe0\\xab\\x0a\\x83\\x22\\x24\\xaf\\x29\\x45\\xb7\\xe8\\x55\\x97\\xb8\\x0f\\x2d\\xb7\\x4c\\x2b\\x65\\x4c\\xa2\\xf9\\x1d\\x0c\\xee\\x1a\\x61\\x85\\x5d\\xec\\xc6\\xea\\xaf\\xdc\\x4d\\x46\\x07\\x58\\x21\\xae\\x3a\\xd9\\xbb\\x94\\x05\\xdb\\xd8\\xd5\\xbd\\xc3\\x6b\\xf8\\xda\\x51\\x76\\x5e\\xc4\\xfe\\xc6\\x0b\\x22\\xd7\\xc0\\x44\\xee\\x5c\\x6e\\x2c\\xfb\\xb5\\xbd\\xe2\\x8b\\xce\\xc8\\x29\\x25\\x78\\x55\\xcc\\xc4\\xdb\\xa8\\x35\\xab\\x41\\xa4\\xc2\\xfe\\x93\\xd3\\x77\\x90\\x08\\x33\\x1e\\xbc\\xf6\\x07\\x34\\x2f\\x00\\xe6\\xe2\\x9f\\x88\\x31\\x0d\\x87\\x27\\x89\\xf1\\xd4\\x3c\\xb1\\x06\\x3f\\x21\\xed\\xd4\\x18\\x74\\x7a\\x2d\\xaa\\xb4\\x8b\\x05\\x78\\x23\\xcf\\xa8\\xd5\\x24\\xa7\\xe5\\xc4\\xfa\\xfb\\x15\\x50\\x85\\x29\\x31\\x1c\\xb4\\x61\\xed\\x49\\xa9\\x62\\x9b\\xab\\x46\\x82\\x42\\xed\\x1d\\x06\\xac\\x4c\\x60\\x6c\\xe1\\xfd\\xcf\\xf4\\x87\\xf4\\x38\\x70\\x6a\\xc3\\x89\\xa9\\x8c\\xf0\\x11\\x33\\x33\\x22\\xbc\\xbe\\x03\\x0c\\xff\\x27\\xb0\\xe2\\xd3\\xbd\\x5e\\x1d\\xfe\\xf9\\x28\\xad\\x83\\xbf\\x7f\\xfc\\x31\\xfe\\x28\\xaa\\x2f\\xe3\\xd7\\xbe\\xc0\\x93\\xe4\\x5e\\x6a\\xa6\\x58\\x77\\xdf\\x98\\x4e\\x84\\xf2\\xd5\\xf6\\x70\\x10\\x10\\xb8\\x56\\xab\\x52\\x79\\x4c\\x36\\x32\\x8a\\x53\\x54\\x24\\xc0\\xe0\\x20\\x68\\xb3\\xf0\\x06\\xdc\\x17\\x34\\x04\\x0d\\x4a\\xb7\\xdd\\x77\\x19\\xb4\\x5d\\x0c\\xeb\\x35\\xca\\x17\\x41\\x02\\xa3\\x10\\xb1\\xd0\\xc6\\x20\\xbd\\xd2\\x5c\\x1e\\x43\\x7e\\x4a\\x7d\\xc9\\x3e\\xcc\\xe2\\x0a\\xbb\\x5c\\x59\\x0f\\x8c\\xad\\xac\\x33\\xf9\\x62\\x95\\xa8\\x7b\\x49\\x23\\x5e\\xfd\\xe9\\x63\\x83\\x34\\x7a\\xd0\\x0e\\x16\\xd2\\xf8\\x6d\\xfe\\x28\\x59\\x75\\xe7\\x4d\\xa9\\x0f\\x82\\xe1\\x8a\\x30\\xf8\\xa0\\xe9\\x81\\x3b\\x5b\\x5a\\x23\\xd5\\xa3\\xbb\\xe9\\x91\\xb3\\x1f\\x4c\\x22\\xa6\\x7e\\x8c\\x58\\xc4\\xff\\x43\\xe5\\x79\\x05\\x06\\x46\\x6f\\x2e\\xfc\\xc7\\x22\\xe1\\xb2\\xe2\\xf8\\x7b\\x5e\\x1d\\x04\\xd0\\xa3\\x28\\xe7\\x9c\\x87\\x27\\x88\\x20\\xe4\\x99\\xc5\\xf4\\x58\\x10\\x9b\\x9c\\x76\\xb0\\x10\\xf1\\xd4\\x5e\\xc2\\x6e\\xf7\\xba\\x78\\x32\\x14\\x86\\x00\\x18\\x74\\xe9\\x74\\x2c\\x6b\\x51\\x04\\xbf\\x0e\\xb9\\x62\\x30\\x0b\\xe4\\xcf\\x20\\xf1\\x27\\x9e\\x46\\xd2\\x70\\x3d\\xfe\\xc9\\x4f\\xcb\\x11\\x07\\xc6\\xdc\\x17\\x72\\x4d\\xc7\\x9b\\x4b\\xb4\\xe8\\x40\\x04\\xbc\\xb3\\x79\\xd1\\xb4\\x39\\x0b\\xea\\x66\\x6c\\x5c\\x35\\xb2\\x64\\x6d\\xcb\\x77\\xe8\\xcc\\x8d\\xc3\\x34\\x98\\x02\\xd8\\x91\\x05\\x83\\x4b\\x9f\\x7c\\xfa\\x57\\xc4\\xa7\\x3d\\x8b\\xda\\x9b\\x85\\xf7\\x85\\x35\\xd9\\xe5\\xfd\\x93\\x85\\x73\\xf5\\x90\\x95\\xd7\\x75\\x9e\\xc7\\x07\\xd6\\x68\\x98\\x85\\x3d\\xfb\\xb6\\x92\\x52\\x3d\\x00\\xf1\\x30\\x0d\\xf2\\x60\\xc1\\xbc\\x10\\xff\\x66\\xa6\\xcd\\x1a\\xa5\\xaa\\xac\\xcc\\xeb\\xc5\\xcd\\x0e\\x2e\\xc8\\xaa\\x58\\xce\\x8c\\x51\\xe5\\x31\\x1e\\x1e\\x50\\x5a\\xed\\xd1\\x60\\x58\\x99\\x12\\x00\\xca\\x6b\\x35\\x5e\\x81\\x5c\\x44\\xe1\\x59\\x25\\x44\\xc5\\x12\\x79\\x11\\x63\\x8f\\xf6\\x31\\x63\\x63\\xc4\\xaa\\xb7\\x31\\x5f\\xec\\x66\\x92\\xa8\\x00\\x8e\\xe8\\x0f\\xa0\\x9b\\x8e\\xeb\\x18\\xdd\\xa1\\xbc\\xa1\\x5e\\x62\\x63\\xfd\\x69\\xe5\\x8d\\xb3\\x21\\x1f\\x7b\\xe8\\x4c\\xdb\\x3b\\x12\\x8f\\x8f\\x4b\\x1c\\x13\\xdf\\xac\\x07\\x55\\x90\\x93\\x3d\\xf5\\xf5\\x55\\xcb\\x21\\x23\\xf0\\x40\\xe6\\x0b\\x8f\\x4a\\x5c\\x82\\x23\\x12\\xd7\\x52\\xcf\\x35\\x5e\\x4d\\x3c\\x27\\x9e\\x8f\\x19\\xab\\x4c\\xab\\x48\\x23\\xa6\\x36\\xaa\\x2d\\x56\\x9e\\x30\\x23\\x3d\\xd3\\x83\\xb6\\x0b\\x46\\x52\\x77\\x59\\xb4\\x8d\\x24\\xd2\\xb8\\xe2\\x1a\\x9f\\xce\\x17\\xc8\\xd7\\x9a\\x79\\x2c\\x10\\x0a\\x88\\x27\\x40\\x34\\x08\\xdf\\x59\\xb4\\xbd\\x6b\\xe6\\x85\\x57\\x84\\x3f\\xbf\\xf6\\x6d\\xe1\\xb3\\x5f\\x08\\xff\\xb3\\x8c\\x1e\\xb9\\x71\\x98\\x22\\x15\\xc0\\x32\\x3a\\x95\\xfc\\x10\\xe7\\x1f\\x7f\\xf0\\xc7\\x82\\x80\\x4b\\xc2\\x46\\xd8\\x0c\\x6d\\xb5\\x02\\xd2\\xe0\\xc0\\xba\\xd3\\x2e\\xa5\\xc1\\xe0\\xd0\\x41\\x6c\\x36\\x59\\x68\\x82\\xb0\\x68\\x1c\\x30\\x1c\\xd5\\x73\\x6a\\xa5\\x12\\x77\\x98\\x0d\\x36\\x64\\x03\\x0a\\x0a\\xc3\\x2f\\x8b\\x32\\x15\\xd5\\x3f\\x27\\xd6\\xb1\\x83\\xd3\\xa4\\x1a\\xe4\\xbf\\x52\\x73\\x50\\xb5\\x84\\xc6\\xe7\\x06\\x22\\x44\\xd5\\x9d\\xfb\\x1b\\xa0\\x6a\\xc7\\x22\\x48\\xb5\\xef\\x6a\\x69\\x89\\x22\\xd5\\x5e\\x4e\\x45\\x74\\x63\\x15\\x5a\\xbc\\xb3\\x4c\\x12\\x9b\\x45\\x3a\\x33\\x69\\x0f\\x09\\x8c\\x26\\x85\\x56\\xab\\x66\\x75\\x3a\\x9b\\x4d\\x6d\\x02\\xa4\\xd3\\x62\\x71\\xa9\\x55\\xf0\\x47\\xc0\\x66\\xd2\\x99\\x21\\x85\\x17\\xed\\xd0\\x88\\x65\\xd1\\x15\\x53\\x7a\\xfd\\x1e\\x57\\xf4\\x86\\x48\\x5a\\xdb\\x66\\x0c\\xa0\\x3b\\x5e\\x4b\\x52\\xca\\x3a\\xa4\\xd1\\x9a\\xf8\\x6f\\x47\\x77\\xdb\\xa2\\x6c\\xfd\\xd1\\x07\\x9a\\x10\\xa5\\x61\\xfc\\x83\\x86\\xfd\\x77\\x25\\xcb\\xa3\\x7e\\x7c\\x0e\\x35\\xb2\\x6b\\x18\\x4f\\xbe\\x77\\x5c\\x01\\xba\\x16\\xfd\\x63\\x21\\x68\\x62\\xf7\\xbd\\xe2\\xd1\\x8d\\xb6\\xe8\\x24\\x9f\\x77\\x02\\x8f\\x12\\x4f\\x51\\x0b\\x30\\x1f\\x56\\x97\\x36\\xd8\\xdc\\x06\\xc2\\x4d\\xf8\\x55\\x0a\\x45\\xc0\\x6d\\xb3\\x39\\x1c\\x2a\\x06\\xe1\\x9e\\x09\\xfe\\xb9\\x76\\xac\\xbd\\xa6\\x3d\\x29\\x46\\x8e\\x63\\x87\\xa6\\x14\\x66\\xd8\\xa4\\x4a\\x2e\\x37\\x72\\x63\\x98\\xfe\\xf4\\xc8\\xf3\\x3b\\x3f\\x3a\\x76\\x78\\xaf\\x27\\x8a\\x77\\xef\\x5a\\xf9\\xe4\\xc2\\x1d\\x6b\\x1a\\x57\\xf9\\xc3\\xc3\\x14\\x28\\xa3\\xfb\\xe2\\x53\\x8f\\xe1\\xd1\\xf3\\x27\\x8f\\x7f\\xb4\\x23\\x78\\x7e\\xa8\\x75\\xd3\\xbb\\x07\\x6f\\x3c\\xec\\x33\\xbf\\x8b\\xe0\\xe2\\x0b\\x97\\x5f\\xf4\\x9b\\xbf\\x85\\xf2\\x7c\\x44\\x94\\x67\\x5f\\xda\\xab\\xb0\\xd9\\x70\\x8b\\x4a\\xa5\\xc3\\xc5\\xd9\\xa4\\x36\\xb3\\x1e\\xb7\\x2a\\x74\\x2a\\x96\\xc0\\x31\\x82\\x52\\x28\\x34\\x10\\xa5\\x13\\x18\\x0f\\xff\\xaf\\x36\\x99\\x5a\\x43\\x63\\x11\\xe6\\x25\\xc7\\x14\\xe6\\xab\\xab\\x88\\xeb\\xe6\\x8e\\xc9\\x5b\\x9a\\xe1\\xef\\x16\\x6a\\x64\\xe7\\x10\\x09\\x3a\\xa9\\x95\\x29\\xb0\\x3d\\x25\\x7e\\xb5\\x62\\xe7\\x10\\x25\\x7c\\x83\\x5c\\xd9\\x2c\\x1c\\x68\\x1e\\x22\\xf1\\xa4\\xa4\\x9b\\x1e\\x9d\\xf0\\x3a\\x68\\x41\\xbf\\x43\\x99\\x42\\xc2\\x41\\xbf\\xf0\\x94\\xce\\x2b\\xca\\x76\\x1a\\x9e\\xc4\\xed\\x90\\x76\\x15\\x16\\x4b\\xab\\x30\\x8a\\x52\\xa8\\x15\\x1a\\x15\\x4d\\xb3\\xe8\\xdc\\xe1\\xb7\\x84\\x74\\xee\\xfa\\x64\\x7b\\x3e\\xab\\x13\\x25\\x5a\\x34\\x10\\x0d\\x24\\x86\\x48\\xe1\\x1b\\x88\\x14\\x0a\\x74\\x90\\x2b\\xf1\\x21\\x11\\x49\\xc5\\x4f\\x85\\x7f\\xff\\x12\\x3c\\x82\\x3f\\x0c\\xff\\x7e\\x03\\x56\\x86\\xfe\\x7e\\x8d\\x92\\x52\\xf2\\x46\\x28\\x8f\\xcb\\xa0\\xfd\\x42\\xde\\x00\\x6a\\xc6\\x18\\xa4\\xc4\\x28\\x5e\\x98\\xae\\x9c\\x02\\xdf\\x85\\x87\\x51\\x47\\xcd\\x9f\\x95\\x78\\x6b\\x5a\\xda\\x16\\x21\\xd8\\x1a\\xeb\\x0c\\x23\\xd2\\x6e\\xc8\\x1a\\x27\\xfc\\xc5\\x79\\x78\\x40\\xab\\x5f\\x8f\\xf8\\xe9\\x81\\x67\\xf1\\x1a\\xfc\\x3c\\x1b\\xd6\\x9b\\x76\\x98\\x95\\x30\\x20\\x22\\x2d\\x38\\x4e\\x12\\x2c\\x47\\xd9\\x1d\\xb8\\xc5\\x62\\xd2\\xe9\\x14\\x66\\x8d\\xcd\\x00\\x3f\\xf8\\x6b\\x4a\\x8e\\xd3\\x90\\x0c\\xa3\\xc9\\xf1\\xa8\\x87\\xb1\\x9e\\x38\\x1f\\x2e\\xef\\x37\\x4b\\x90\\x9a\\x03\\xd0\\xf0\\x99\\x00\\xc1\\x8c\\xdd\\x0a\\x47\\xbc\\x46\\xcf\\x13\\x2e\\x00\\x75\\x86\\xfe\\xda\\xa7\\x33\\xea\\xd6\\xd3\\xc2\\x45\\x7a\\xf9\\xae\\x25\\x34\\xe8\\xa4\\x57\\x34\\x81\\x13\\x5d\\x34\\x35\\x13\\x52\\xf9\\x27\\x61\\x9a\\xce\\x0b\\xee\\x9d\\x28\\x7c\\x58\\x90\\x0f\\xfc\\x9f\\x7a\\x20\\x72\\x60\\x12\\x76\\xe0\\xaf\\x42\\xba\\x39\\x2c\\x9e\\x56\\x63\\x0a\\xa8\\x2b\\x94\\x4e\\xcf\\x29\\x95\\x6a\\x74\\x10\\x0a\\x12\\x63\\x0a\\x06\\xa8\\x2f\\x91\\x55\\x1e\\x0a\\xe4\\xd3\\x88\\xec\\x19\\x99\\xdc\\x19\\x49\\x8e\\x3e\\x27\\xd1\\x30\\x8b\\xde\\x8d\\x2f\\x53\\x9d\\xfb\\x4d\\xfe\\x48\\xa4\\xcf\\x22\\x0f\\xc2\\xcf\\xb2\\x42\\x3f\\x66\\x27\\x58\\xab\\x5e\\xaf\\x61\\x09\\x9b\\x5d\\xaf\\x50\\xa8\\x2c\\x06\\x82\\x65\\x69\\x95\\x15\\xc7\\xb5\\x2a\\xf8\\xc9\\x97\\x34\\x00\\x98\\x68\\xf9\\xa3\\x91\\x12\\xe4\\x2e\\x8b\\x72\\x17\\xdd\\xf9\\x68\\xb8\\x78\\x27\\x4e\\xd2\\x08\\x92\\x79\\x45\\xc5\\x71\\xd3\\xa1\\x0d\\x2b\\x68\\xe1\\x4f\\x22\\x3d\\xbf\\xda\\x01\\x96\\xfe\\x05\\xa1\\x28\\x2d\\xbc\\x48\\xaf\\x5d\\x0f\\x99\\xbe\\x38\\x7a\\x63\\x4e\\x20\\xa3\\xf7\\xe2\\x4b\\x72\\x2a\\x8a\\xef\\x97\\x6c\\x7f\\x32\\x3c\\xcf\\xaf\\x43\\x5a\\x8d\\xd8\\x94\\x34\\x6f\\x50\\x28\\xb4\\x0c\\x86\\x51\\x5a\\x8a\\x27\\x08\\x13\\x85\\x71\\x1c\\xab\\x47\\x07\\x89\\xf0\\xcb\\x08\\x63\\xe1\\x17\\x21\\xa1\\x38\\xd2\\xa8\\x76\\xf9\\xd4\\xda\\x93\\xb9\\x48\\xa2\\xc4\\xa8\\x64\\x05\\x0b\\x14\\xf6\\xfb\\x25\\x8d\\x04\\xb7\\x82\\x06\\x06\\x7a\\xe4\\x40\\x93\\xf0\\x3f\\x5b\\x46\\x10\\xbd\\x23\\x37\\x2e\\xa1\\x7f\\xfb\\x27\\x49\\xc9\\x46\\xd5\\xf8\\xf7\\x47\\xe7\\xe7\\x09\\x3d\\x93\\x3b\\x33\\x12\\x13\\xed\\x7e\\x46\\xda\\x53\\x6a\\xf7\\x16\\xa5\\x12\\x7e\\xcd\\x12\\x04\\x85\\x10\\x00\\xd7\\x50\\x48\\x98\\x0a\\xab\\x95\\xc7\\x44\\x61\\xa2\\x7c\\x1e\\x1a\\x7f\\x91\\xdd\\x97\\x16\\x4d\\xe4\\xd2\\x62\\x41\\xc9\\x52\\xc5\\xb6\\x8f\\x26\\x07\\x8d\\x17\\x85\\x08\\x3a\\xe8\\x91\\x61\\xf0\\x3e\\xb3\\x44\\xfc\\x0a\\x49\\xf5\\x1b\\xf4\\x8a\\x25\\x42\\x94\\x19\\xa6\\x0b\\xb6\\x3f\\xfa\\x16\\x6e\\x0a\\x16\\x8c\\x1f\\x9f\\x30\\xfa\\xcb\\x32\\x68\\xfd\\x38\\x76\\x27\\x1e\\x21\\x9e\\x80\\xb8\\x8a\\xee\\x4c\\x42\\x69\\x25\\x66\\x65\\xf4\\x56\\xbd\\xcb\\x49\\x98\\xa4\\x48\\x52\\x8b\\x10\\x15\\xe9\\x5b\\xc9\\xbd\\x6c\\x1e\\x3e\\xdb\\x40\\x1e\\x57\\xa5\\x47\\x1c\\xc9\\x9d\\x43\\x73\\x4e\\xcc\\xdb\\x36\\x94\\x3d\\xb1\\x48\\x38\\x7f\\xfc\\xc5\\x4d\\xdf\\x3f\\x70\\xfc\\xc5\\x1d\\xdf\\x25\\x43\\xdb\\xef\\xdc\\xf1\\x8b\\x0d\\x5b\\xee\\xd8\\xfc\\x4b\\x61\\xe3\\xa5\\xdb\\x6e\\xff\\xed\\xbe\\x4b\\xb7\\xdd\\xf9\\xe7\\xad\\xc8\\x67\\x8f\\xc0\\xcf\\xf7\\x52\\xeb\\x60\\x1c\\x59\\x89\\x4d\\x4f\\x47\\x02\\x56\\x9f\\xd3\\x87\\x57\\x70\\x4e\\x53\\x84\\x65\\x29\\x83\\x89\\xa3\\x12\\x38\\x5e\\x65\\xb3\\x5a\\x61\\x4a\\x59\\xee\\xa6\\x60\\xc0\\xef\\x76\\x63\\x41\\x68\\x10\\x88\\xac\\xd7\\x1b\\x13\\x86\\x62\\xdf\\x33\\xc6\\x19\\x49\\x17\\xf0\\xe6\\x7f\\x57\\xac\\x96\\xe7\\x99\\xcb\\xb3\\x07\\x20\\x4b\\x78\\xc7\\xcf\\x6e\\x18\\x99\\xbd\\x64\\xd6\\x99\\xf5\\x47\\x4e\\xdf\\xb5\\x69\\xfc\\x8c\\x07\\xf7\\xb0\\xb3\\xbb\\xee\\x58\\xb8\\x6a\\xed\\x57\\x36\\xee\\x58\\x38\\xf3\\x2f\\x8b\\xa8\\x75\\xba\\x73\\x7d\\x5b\\xcd\\xca\\x6c\\xd7\\xb4\\x2d\\xe3\\x86\\xe7\\x0c\\xdf\\xa4\\xd6\\x64\\xda\\x66\\x6f\\x22\\xab\\xb4\\xb3\\x26\\xec\\x18\\x19\\x59\\x61\\x1a\\xb5\\xaf\\x5a\\x31\\x6e\\xf2\\xf7\\xba\\xa6\\x42\\xde\\xa6\\x42\\xbd\\xf5\\x42\\xdd\\x60\\xa0\\x95\\xd5\\xa7\\x79\\x06\\x6a\\xae\\xd6\\x86\\x9b\\x4c\\x76\\x85\\x96\\xd5\\x42\\x55\\xe5\\x68\\x3d\\x0a\\x4c\\xd4\\x72\\x00\\x2c\\x47\\xeb\\xf9\\xac\\x4d\\x0a\\x0d\\xe5\\x80\\xb0\\x80\\x37\\x52\\x01\\x07\\x7c\\xf3\\xe3\\x99\\xb3\\xb3\\xe3\\x94\\x89\\xfd\\xb4\\x70\\x8e\\x5e\\x24\\x42\\xcd\\xfe\\x43\\x4f\\x3d\\x4a\\x3c\\xfa\\xc3\\x99\\x19\\xe1\\xa6\\x7a\\xe1\\xef\\x39\\x45\\x5d\\xbd\\xec\\xc0\\x11\\xe9\\x2e\\x1e\\xd1\\x13\\x83\\xf4\\xa0\\xde\\x87\\x9e\\xb4\\xdd\\x09\\x00\\xcd\\x73\\x46\\x9d\\x55\\xa3\\xd1\\x71\\x34\\xe9\\x72\\x73\\x68\\x63\\x36\\xe9\\x60\\x14\\xc8\\x9e\\x74\\x46\\x23\\x09\\x68\\x9a\\x2c\\x00\\xa3\\x3e\\x17\\xf8\\x19\\xc6\\x8e\\x76\\x95\\xb7\\x29\\x17\\xe8\\x63\\x8c\\x08\\x24\\x23\\x72\\x9f\\x03\\x18\\xac\\x5f\\x49\\x0b\\xaf\\x48\\x54\\xb6\\xdf\\x7c\\xf0\\xfb\\x07\\x67\\xd3\\x97\\x8f\\x99\\x57\\x6e\\x7d\\x22\\xdb\\x42\\x1c\\x15\\xfe\\x2b\\x47\\xe9\\x92\\x79\\x2f\\xd7\\x08\\xdf\\x80\\x08\\xb9\\xb0\\x7e\\xe9\\xa2\\x3b\\x05\\x71\\xef\\xda\\xc3\\x90\\xe6\\x09\\xa2\\xed\\x37\\xa7\\x8d\\x34\\xab\\xc7\\x59\\x9c\\xd7\\x28\\x95\\x26\\x35\\xcb\\x2a\\x74\\x24\\x89\\x48\\xbd\\xa8\\x17\\x67\\x05\\xb5\\x89\\xf7\\x17\\xed\\x45\\xca\\x50\\xf0\\xfe\\xc6\\x5c\\xed\\x33\\x1f\\x45\\x59\\x98\\x2b\\xf4\\xbe\\x9d\\xee\\x35\\x9d\\x11\\x18\\x7b\\xec\\xf5\\x97\\xd1\\x4d\\x9b\\x5d\\x3b\\x6f\\x94\\x2c\\xe6\\x15\\xf5\\x8d\\x2f\\xbd\\x74\\xa3\\x6a\\xb4\\x43\\xf6\\x8f\\xaf\\xe1\\x11\\x52\\x09\\x69\\x70\\x62\\x8d\\x69\\x9e\\xb7\\x58\\x38\\x35\\x46\\xa9\\x29\\x17\\x41\\xb8\\x79\\x84\\x3f\\xb8\\x1e\\xf9\\x73\\x1b\\xa6\\x90\\x6d\\x65\\xac\\x13\\x2f\\x86\\x9b\\xfc\\x20\\xc5\\x92\\x32\\x28\\x31\\x38\\x42\\x03\\x3d\\xb5\\x62\\xc0\\xf6\\xb5\\x23\\xb7\\xdf\\x45\\xcf\\x84\\x7e\\xae\\x83\\x5a\\x31\\x83\\xbe\\xb4\\xe1\\x6e\\x9d\\xec\\xe0\\xbc\\x07\\x4f\\xae\\x5b\\xe5\\x08\\x82\\x5f\\x89\\xdf\\xb9\\x7d\\xce\\x07\\x36\\x2c\\x45\\xb4\\x3d\\x82\\x7b\\xc9\\x27\\xc5\\x33\\x9d\\x9a\\xf6\\x70\\xbc\\x92\\xa2\\x54\\xb8\\x96\\x87\\x96\\x63\\x30\\xf3\\x1c\\xa7\\xc4\\xd5\\x30\\xdc\\xa4\\x28\\x06\\xe6\\x63\\x80\\xbc\\x02\\x09\\xd4\\x63\\x4c\\x2e\\x86\\xd7\\x97\\xfe\\x03\\x8a\\x06\\xbd\\x23\\x24\\x0f\\xe4\\x66\\xd7\\x27\\xd1\\x48\\x3c\\x08\\xe6\\xf8\\xe7\\xe1\\x59\\x5f\\x44\\x36\\x8d\\xa7\\x80\\x95\\x5a\\x34\\x80\\x5d\\x73\\xce\\xf9\\x62\\x88\\xfe\\x84\\xee\\xc2\\xbd\\xb8\\x7d\\xf4\\xd7\\x04\\x23\\xc2\\xcb\\xf7\\xf0\\xe8\\xe8\\xfb\\x78\\x8d\\xe4\\x66\\xa0\\xce\\x6d\\xc1\\xc3\\xf8\\xad\\xe4\\x26\\xf8\\xb9\\x2e\\x2c\\x95\\xd6\\x58\\x15\\xa4\\xc1\\xa0\\x57\\xe8\\xdd\\x1e\\x93\\x0e\\xfa\\xdc\\x96\\x8b\\xa4\\xc3\\x41\\x23\\xba\\x60\\x6e\\x22\\x27\\xad\\x12\\x62\\x97\\x5c\\x6f\\xa0\\x98\\x8d\\xce\\x37\\xf0\\x5a\\x60\\x00\\x9c\\xbb\\x1b\\x85\\x61\\x01\\x1e\\x1b\\x47\\x3e\\xa1\\x5f\\x32\\xd0\\x35\\x7b\\xf6\\xbd\\x73\\xbb\\x3a\\x1c\\xde\\x75\\x96\\x88\\x77\\xf0\\xc6\\xba\\xf8\\x84\\x5e\\x7c\\x1e\\xe7\\x98\\xb7\\x62\\xe5\\xbc\\xe5\\x17\\x57\\xda\\x4c\\x5d\\x3a\\xcd\\xeb\\xfb\\xd3\\xd3\\x06\\x24\\x5b\\xd8\\x83\\x07\\xf1\\xbb\\xc8\\x0d\\xd0\\xd7\\x3a\\xb1\\xd6\\xb4\\x5a\\x47\\xa8\\xd5\\x5a\\x33\\xa3\\x65\\x5c\\x6e\\x2d\\x4a\\x75\\x8c\\x98\\x12\\xb4\\x5f\\x24\\xac\\x56\\x18\\xab\\xb5\\xc0\\x3f\\x04\\x40\\x73\\x9e\\xb8\\xe2\\x0d\\x83\\x52\\x23\\x88\\x49\\x7a\\x09\\x22\\x0e\\x36\\x72\\x00\\xf9\\x0a\\x4c\\xec\\x93\\x3f\\x45\\x3d\\x30\\x30\\xf8\\xd8\\xa3\\xfb\\x16\\x3a\\xd4\\xc3\\xf3\\x2a\\xab\\x63\\xb3\\x96\\x0f\\x75\\x76\\x9b\\x4c\\xe4\\x54\\x47\\xc7\\xb4\\xff\\x38\\xff\\x41\\xa6\\x03\\x57\\x08\\xf7\\xb7\\x75\\xbd\\x76\\xfc\\xb6\\xb6\\x6d\\x3b\\x24\\x79\\x45\\xf0\\x5b\\xc8\\x1b\\x72\\x74\\x99\\x19\\x91\\x32\\x46\\xeb\\x72\\x6b\\xae\\x40\\x1a\\x10\\x5d\\x2d\\x32\\x5d\\xed\\xf0\\x0f\\xe1\\x45\\x42\\x2b\\xd0\\x25\\x49\\x4d\\x12\\x9a\\x58\\x8d\\x82\\x22\\x53\\x01\\x79\\xb2\\x8e\\x38\\xf3\\x1c\\x5f\\x43\\x7e\\x05\\x0c\\xcc\\x7b\\xf4\\xcc\\x9e\\x05\\x90\\xb2\\xc1\\x44\\x75\\xf9\\xcc\\x91\\xa1\\x8e\\x69\\x41\\x0a\\xef\\x41\\x94\\x9d\\xf9\\x59\\xa6\\x63\\xf4\\x53\\x30\\xd4\\xd6\\xf5\\xca\\xc9\\xdb\\xda\\xbe\\xd5\\x21\\xe5\\x8e\\x6b\\xf0\\x30\\x31\\x1f\\xd2\\xe6\\x81\\x58\\x5d\\x0f\\xfd\\x9d\\x37\\x81\\x85\\x1d\\x7e\\x1d\\x15\\x0c\\xea\\x1c\\x0a\\x8c\\x4a\\x55\\x98\\x4c\\x0d\\xd1\\xea\\x6a\\x17\\x51\\xab\\xab\\x75\\x10\\x1a\\x9b\\x0b\\xd1\\xe8\\x85\\x09\\x70\\xcb\\x05\\x05\\x8a\\xb0\\x5a\\xc4\\xc4\\x2b\\xd9\\x5e\\xb4\\xc2\\xeb\\xba\\x85\\x5e\\xc6\\x5c\\xb7\\xb6\\xfc\\x34\\xd0\\x92\\xab\\xa5\\x41\\xe1\\x4a\\x1d\\x64\\x68\\x10\\x20\\x63\\x96\\xfb\\x06\\x00\\x2f\\xf5\\x8f\\xad\\x79\\xe6\\x18\\xb9\\xa6\\x6b\\x86\\xbe\\x73\\x49\\x65\\x4b\\xb7\\x6d\\xc5\\x40\\x3a\\x33\\xfb\\xd4\\xdc\\xc9\\xad\\x0d\\x33\\x26\\x74\\xe3\\x15\\xf5\\x93\\xa9\\x65\\x50\\x0c\\x8b\\x9a\\x6b\\x05\\x73\\x53\\x6d\\xc6\\x3a\\xbc\\x01\\xbf\\x77\\x60\\xb3\\xda\\x1f\\xdc\\xdd\\x62\\x4b\\x95\\xc7\\x53\\x4b\\xd6\\x67\\x97\\x3f\\xb7\\xac\\x22\\xde\\x0e\\xde\\x18\\xc7\\x07\\x9f\\xbc\\x29\\xba\\xf0\\xfe\\x69\\x93\\xc6\\x09\\x6b\\xc7\\x6f\\xdd\\xa5\\x58\\x20\\xea\\x4a\\x04\\xbf\\x9b\\x3a\\x00\\x75\\xd8\\x89\\x74\\x98\\x26\\xa0\\x0a\\xeb\\x5d\\xd0\\xd1\\xbb\\x79\\x0e\\x7a\\xa2\\x8b\\xb4\\xdd\\xce\\x22\\x35\\x81\\xe7\\x07\\x2a\\xf2\\xc7\\x51\\x84\\xe3\\x92\\xfd\\xa3\\xa5\\xd5\\x45\\xdc\\xa4\\xf2\\x33\\x6f\\x18\\xa0\\xc8\\x50\\x97\\xe2\\x5a\\xc5\\xc8\\xac\\x29\\x73\\xb2\\xf7\\xcd\\x5f\\x9b\\x59\\x16\\x68\\x9d\\xbf\\x2f\\x95\\xe8\\x9a\\x4e\\xcd\\xd3\\x3a\\x84\\xcf\\xfa\\x02\\x2b\\xa1\\x12\\x3f\\x37\\x52\\x63\\x77\\xbd\\x76\\xd3\\xf8\\xc9\\xd3\\x65\\xbb\\x7a\\x11\\xd2\\xc4\\x43\\x01\\x8f\\x4b\\x73\\x0e\\x8e\\xf3\\x51\\x26\\x25\\x86\\xe3\\x14\\xe5\\xb7\\x18\\x91\\x65\\x29\\xdd\\x6e\\xf5\\xcb\\xf0\\x00\\x68\\x08\\x4c\\x30\\x24\\xc2\\x48\\x99\\xb6\\x22\\xea\\xf4\\xd2\\x0e\\x4a\\x51\\x5b\\xda\\x45\\x0a\\xc7\\x58\\x5a\\xc1\\xd3\\xa7\\xf0\\x08\\xe3\\x1f\\x24\\x5f\\xbd\\x23\\x67\\x6c\\xd9\\x53\\x73\\x5b\\x6c\\xf1\\xda\\xa6\\x45\\xcd\\x75\\x15\\x93\\x7a\\xc8\\x65\\x55\\x6f\\x6a\\x1d\\x57\\xdf\\x17\\xed\\x6d\\xe1\\xb2\\x4b\\xcb\\xbb\\xdd\\x73\\xef\\xcf\\x88\\xd6\\x86\\x63\\x5b\\xa1\\xfc\\x66\\x41\\xbd\\x41\\x3d\\x08\\xc9\\xb4\\xce\\x4c\\x72\\x9c\\xc2\\x63\\xc3\\x30\\x2f\\x61\\x36\\xab\\x9d\\x88\\xd8\\x0b\\x2c\\x2d\\xfb\\x74\\xb9\\x4e\\x52\\x80\\x6f\\xa9\\xb6\\xcd\\x89\\xcb\\x0a\\x2c\\xf9\\x7b\\x77\\x28\\x46\\x2a\\x37\\x18\\x1d\\x9f\\xf5\\x9d\\x73\\xf8\\xee\\xfe\\xa5\\x86\\xba\\x9d\\x0d\\xcb\\x86\\x66\\x1d\\xeb\\x9b\\x36\\x53\\xb8\\x7b\\xc7\\xa1\\x60\\xa0\\x7d\\x15\\xf1\\x79\\xdf\\x46\\x75\\xec\\x34\\x22\\x74\\xdd\\xe2\\xa1\\x0b\\xcb\\x26\\xfe\\x4c\\xb1\\xa0\\xd3\\x1f\\xbb\\x5b\\xc2\\x80\\x35\\x90\\xae\\x69\\x90\\x2e\\x33\\xd4\\x68\\x48\\x97\\x1d\\xc3\\x94\\x5e\\x0b\\xa9\\xd3\\xc1\\xbc\\xca\\xa2\\x71\\xf1\\x28\\x3d\\x51\\xd0\\x05\\xbd\\xcd\\xd3\\x95\\x94\\x2f\\xc2\\x8d\\x68\\x9a\\x40\\x6d\\xe9\\x33\\x56\\x74\\x1d\\x91\\xcb\\x2d\\xd7\\x7c\\xe7\\x2c\\xb1\\xbb\\x7e\\x6e\\x54\\xdf\\xb0\\xa3\\x7e\\xe9\\xf0\\xac\\x63\\xfd\\xd3\\x66\\x80\\x35\\x3b\\x0f\\x85\\x20\\x61\\xf8\\xc3\\xfd\\x1b\\x55\\xb1\\xd3\\x21\\x8b\\x2d\\x51\\xb3\\x6e\\xf1\\xf0\\xd3\\x23\\x05\\xca\\x00\\xb6\\x12\\xd2\\x55\\x0b\\xe9\\x8a\\x61\\xed\\x69\\x6b\\x88\\xb4\\xa9\\x30\\x37\\xa3\\x22\\xa9\\x0a\\xa3\\x4e\\x17\\x67\\xfc\\x7e\\x87\\x03\\x37\\x1b\\xb4\\x48\\x6a\\xb1\\x28\\x9e\\x97\\x9a\\xa8\\x6a\\x86\\xc6\\x62\\x8b\\x82\\x92\\x93\\x00\\x20\\x55\\x27\\x5f\\xb0\\x16\\x0d\\x70\\xb5\\xd4\\x37\\x43\\x84\\x48\\x14\\x66\\xb8\\x82\\xcf\\x16\\x6f\\xbb\\x30\\x77\\x52\\x79\\xe2\\xf0\\x50\\x7f\\xda\\xec\\x32\\xab\\xaa\\xec\\x8d\\x13\\x1a\\x27\\x46\\x38\\x15\\x57\\xd3\\x99\\x4c\\x35\\xa7\\xea\\xa7\\xba\\xf0\\xdd\\xb3\\x6f\\x4d\\x0f\\x6b\\x49\\x6d\\x75\\xbc\\x6b\\xae\\xf9\\x86\\xf1\\x0a\\x6e\\x5c\\xaa\\x83\\x67\\x9a\\x08\\x8a\\x9b\\x50\\x55\\x91\\xf2\\xf3\\x52\\xff\\x1a\\xa4\\x5f\\x07\\xe9\\x8f\\x40\\x9f\\x6d\\xc6\\x5c\\x2e\\x1b\\xa5\\xf7\\x53\\x51\\x95\\xc5\\x52\\x66\\x27\\x60\\x6a\\xc1\\x87\\x02\\x5e\\x24\\x5b\\xbd\\x86\\xcf\\xcb\\xf6\\x3a\\xea\\xc5\\x38\\x33\\x22\\x16\\x10\\xd0\\x39\\x17\\xdf\\x06\\x30\\x26\\xf9\\xe2\\x47\\x32\\x21\\xb0\\x3f\\x60\\xbf\\xdd\\xa8\\x34\\x1e\\x28\\xab\\x1b\\xae\\x4b\\xf8\\x7d\\x96\\xe9\\x9d\\xc3\\xc3\\xb7\\x54\\xd7\\xed\\xd9\\xba\\x24\\x63\\xe8\\x9a\\xd3\\xd1\\x8d\\xff\\x24\\x52\\xcf\\x32\\x4d\\xac\\x6a\\x5c\\xd5\\x1c\\x67\\xc7\\x76\\x63\\x57\\xfb\\xf2\\x18\\xa9\\x49\\x97\\xcd\\x59\\xd8\\x14\\xf0\\x35\\x43\\x3d\\x98\\x0e\\x2a\\xf1\\xa3\\xd0\\x47\\xa9\\xb0\\x30\\xf4\\xf0\\x9c\\xdf\\xa3\\x30\\x78\\x0c\\x11\\x35\\x44\\xd9\\x68\\xd0\\xeb\\xbc\\x02\\x5a\\xa1\\x0d\\x99\\xa1\\xb8\\xd5\\x18\\x97\\x17\\x77\\x7b\\xb2\\x58\\x17\\xa4\\x50\\x0d\\x7a\\x75\\xf9\\x66\\x3b\\x55\\xa4\\xa8\\xa5\\x7b\\x92\\x52\\xa0\\x7b\\xd2\\x40\\xa7\\xdd\\x57\\x3e\\xb8\\xb7\\xfa\\xad\\xc8\\x9a\\x58\\xf7\\xec\\xb9\\x0f\\xcc\\xed\\xde\\x3a\\x6c\\xda\\xb3\\xa7\\x7e\\x75\\x50\\xe9\\x30\\x57\\xcf\\x39\\x6e\\xc3\\xd7\\x0f\\x80\\x0d\\xb4\\xe2\\x8d\\xfd\\x2d\\x7d\\xfe\\x78\\x7a\\xc5\\x7c\\x68\\xfa\\xd6\\xd1\\x57\\x77\\x6e\\xb2\\x1a\\x6e\\xed\\x4e\\x3c\\x28\\xea\\xee\\x7a\\xd0\\x0c\\xe6\\x91\\xcb\\xc4\\x3e\\xba\\x78\\x5a\\x2b\\xf7\\xd1\\xc1\\x8c\\x48\\xa5\\x27\\x19\\xe4\\xc1\\x10\\x18\\x49\\x3e\\xeb\\xf5\\x9a\\xa2\\x60\\x04\\x6a\\xad\\x6c\\xe7\\x25\\x63\\x4d\\x17\\x50\\x6f\\x0c\\x4e\\xa3\\x2e\\x86\\xc2\\x0e\\x7b\\x24\\x62\\x77\\x84\\xc9\\x56\\xce\\x31\\xfa\\x29\\xe7\\xb8\\xec\\x08\\x87\\x1d\\xf0\\x5f\\xe9\\xbd\\x3f\\x4c\\xd5\\x6e\\x82\\x98\\x63\\xc4\\xba\\xd2\\x36\\xe8\\xc7\\x8d\\x9c\\x9a\\x82\\xd9\\xa9\\x4a\\x67\\xa4\\x78\\x96\\x35\\xa9\\x39\\x0e\\x7e\\xb6\\x11\\xd5\\xb5\\x50\\xc8\\xf1\\x22\\xfc\\x78\\x11\\x0f\\x45\\xc0\\x91\\x32\\xea\\x31\\x21\\xba\\x0c\\x8b\\x21\\x14\\x5e\\xe0\\x62\\xc8\\x08\\x4f\\x19\\x50\\x7d\\xd4\\xd7\\x96\\x01\\xac\\x81\\x7a\\x8a\\xac\\x7e\\xe6\\xee\\x26\\xf2\\xc8\\xbe\\x6c\\x68\\x18\\x01\\xe1\\xe8\\x4b\\xff\\xd4\\x39\\x1c\\xda\\x73\\xc2\\x5b\\x5a\\x07\\xf0\\x4c\\xff\\x2e\\xa2\\x69\\x17\\x8c\\x0f\\x8f\\x41\\x5d\\x43\\x77\\x8c\\x4e\\xcc\\x6a\\x75\\xda\\x6c\\xea\\xa8\\xdf\\x1f\\x50\\x1b\\xe8\\x00\\x5d\\xa9\\x54\\x26\\xb0\\x68\\x94\\x77\\xbb\\x89\\xd8\\x8b\\x50\\xd5\\xc2\\xa0\\xf9\\x92\\x42\\xad\\xb6\\x05\\x0a\\xd9\\xac\\x9c\\x1d\\x16\\xe2\\x35\\x91\\xb0\\xfc\\x0d\\x00\\xc8\\x0d\\x4d\\x41\\x12\\x33\\xa2\\xe7\\xc3\\xc8\\xdc\\x73\\x53\\xa2\\x69\\x69\\x48\\x74\\x52\\x1a\\x12\\x8d\\xcf\\x8b\\x2f\\xad\\x48\\x36\\x32\\xcd\\x3d\\xd4\\xa5\\x56\\x9c\\x22\\x89\\xda\\xd8\\x46\\xa6\\x79\\xa8\\x95\\x4b\\x55\\x6c\\x62\\x9a\\x87\\x07\\x27\\x51\\x67\\xf5\\xe5\\xcb\\x2b\\xeb\\x9a\\x88\\xbf\\xb6\\x4d\\x48\\xb7\\xea\\xea\\x85\\x27\\x38\\x07\\x98\\xa7\\x71\\x39\\x2c\\x4c\\xcb\\xc6\\x2a\\xe1\\x2c\\x98\\xd7\\x63\\x6a\\x59\\x5f\\x23\\x9c\\xc5\\x15\\x9c\\x63\\x53\\x73\\x57\\x27\\xe2\\x0f\\xea\\xe6\\x76\\xc8\\x9f\\x0f\\x9b\\x90\\xe6\\x95\\x0c\\xc3\\xb9\\xad\\x56\\x9b\\xcd\\xcf\\x19\\x0c\\x04\\x16\\x70\\xf3\\xbc\\xf7\\x25\\xc8\\x97\\x13\\x8a\\xda\\x06\\xda\\x2e\\xa8\\x59\\x98\\x63\\xb6\\x4a\\xe5\\x4d\\xb9\\x58\\x23\\xde\\x1a\\x37\\xe6\\x78\\x12\\xfb\\xb5\\x88\\xa2\\x6d\\x4e\\xa9\\x31\\x8c\\x40\\x95\\xc0\\xb7\\x73\\x9d\\x65\\x8f\\x25\\x2b\\x8c\\x4e\\x85\\xce\\x11\\xad\\xd0\\x4e\\xd2\\xb6\\x54\\x8c\\xf8\\x3b\\x87\\xe6\\x4e\\x24\\xcf\\xea\\x16\\xaf\\xdb\\x4e\\x7c\\x6a\\xed\\x13\\x8e\\xfc\\xd1\\xb0\\xae\\x53\\x37\\xad\\x1f\\x1c\\xed\\x33\\xb4\\x4e\\x4b\\x09\\xb7\\xe0\\x4a\\xce\\xb1\\x71\\x2f\\x86\\xe5\\x62\\x98\\xa3\\x90\\x66\\x15\\x0c\\x8a\\x51\\x4e\\xc9\\x71\\x76\\xda\\x6c\\x76\\xb0\\x46\\xe4\\x24\\x09\\x98\\xef\\xc8\\x39\\x65\\xe1\\x7a\\xca\\x98\\x8f\\x99\\xb4\\xc0\\x58\\x92\\x51\\xfe\\x4f\\x5b\\xe3\\xc0\\xee\\xed\\xf5\\x8b\\x1a\\x37\\x0c\\x6f\\x19\\x38\\x3a\\x07\\xfd\\x82\\x5f\\xeb\\x9b\\xf9\\xf2\\xc1\\x73\\x33\\x4f\\x0a\\xdf\\xdb\\xbb\\x72\\xd1\\x63\\x83\\xe2\\x2f\\xe2\\x5c\\x20\\xf8\\xb9\\x3d\\xf0\\x73\\xed\\x58\\x0c\\x46\\x74\\x1a\\x98\\xd2\\x9a\\x69\\xda\\x69\\xd0\\x2a\\x11\\xda\\xd8\\xad\\x44\\x01\\x6d\\x0a\\xee\\x05\\x35\\x08\\x15\\x61\\x77\\xfe\\x1a\\x4f\\x0c\\x41\\x1e\\xad\\xde\\x9a\\x9a\\xbf\\x2a\\x7b\\x72\\x7a\\x64\\xc8\\xeb\\xf0\\x29\\xc3\\x6d\\x8d\\x4b\\x9b\\x77\\xcc\\x98\\x4f\\xf2\\xf1\\xda\\x35\\xc3\\x2b\\x9f\\x1c\\x36\\xaa\\xef\\x5f\\x1e\\x9e\\x79\\x62\\xf0\\x74\\x8b\\x68\\x1f\\x3b\\x88\\x1e\\x91\\x6f\\x1d\\xe6\\x83\\x9f\\x8f\\x61\\x7a\\x15\\x4d\\x1b\\x14\\x98\\x46\\xfe\\x60\\xc9\\x0e\\x73\\x1c\\xe7\\x26\\x8a\\x07\\xe4\\x03\\xd8\\xa1\\x7f\\xfa\\xc6\\xe1\\x2d\\xe4\\x2a\\x66\\xfb\\xc4\\x0d\\x06\\xa2\\x67\\xef\\x99\\xbd\\x2b\\x3d\\x4e\\x5f\\xe2\\xdc\\xad\\xd2\\x6c\\x09\\x24\\xd3\\x3b\\x88\\x1e\\xe9\\xef\\xc6\\xa1\\xa5\\xb1\\x0a\\x85\\x81\\xd5\\x51\\xb9\\x54\\xb8\\xe4\\xef\\x2e\\xb4\\x23\\x89\\x30\\x94\\xfa\\x35\\xdd\\xd6\\xd8\\xb5\\x51\\xbf\\xca\\xf8\\xd4\\x4e\\xf8\\x11\\x44\\x4f\\xb8\\xac\\x6f\\xe6\\x6d\\x2b\\xf6\\x3d\\xb6\\x77\\x65\\x33\\x3a\\x2f\\x25\\xd4\\xb1\\xbb\\x45\\x3f\\x18\\x40\\xb1\\x84\\x45\\x8d\\xe3\\x0c\\x13\\x74\\xe9\\xf5\\x21\\xb5\\xd7\\x8b\\x1c\\xcd\\x73\\x36\\x93\\x89\\x62\\xa1\\x18\\x9b\\x2f\\xc2\\xff\\x22\\xeb\\x98\\x5e\\x76\\x89\\xed\\xa5\\x39\\x2b\\xfa\\x7c\\xae\\x50\\x06\\x2a\\x8e\\x78\\xcc\\xf9\\x66\\x4f\\x9a\\xf9\\xa9\\xc2\\xb1\\x90\\x12\\xfe\\x4e\\x75\\xdd\\xd4\\x46\\x3d\\xa0\\x5a\\x3e\\x63\\xf2\\xac\\x39\\xa7\\xe7\\x76\\x9a\\xc2\\xed\\x2d\\x43\\xa9\\xba\\xb8\\x77\\x20\\x88\\xd7\\x8e\\x3b\\xa5\\x75\\x3a\\xb5\\xf8\\x2f\\x39\\xc7\\x5c\\x14\\xc3\\x5f\\x5e\\xda\\xed\\x9a\\x77\\xaa\\x6f\\xdc\\x94\\x78\\x18\\xca\\xe3\\x20\\x1e\\x01\\xdf\\x20\\x7f\\x0d\\x35\\xac\\x2e\\xad\\xe7\\x91\\xac\\x29\\x95\\xc9\\x6e\\x72\\x68\\x2d\\x16\\x83\\x1e\\xfa\\x95\\xe6\\x0b\\x14\\xda\\xbd\\x2d\\xa3\\xf5\\xdb\\x63\\x2c\\x5c\\xd6\\xb8\\x94\\x25\\xd7\\x15\\x11\\x68\\xc7\\x93\\xe8\\xae\\x82\\xa0\\xff\\xec\\x30\\x95\\x57\\x6b\\x26\\x77\\x27\\x93\\x64\\xc7\\x14\\xaa\\xb7\\x3f\\x62\\xde\\xa3\\xd8\\xdb\\xa4\\xc2\\xef\\x75\\x38\\x0c\\xce\\xda\\xd6\\x2a\\x5d\\x39\\x58\\xea\\xb0\\xec\\xd9\\x53\\x23\\x7c\\x2d\\x25\\xce\\x8b\\x08\\xe1\\x87\\xc9\\xa5\\x30\\xc3\\x6f\\x48\\x73\\x66\\x0c\\xd3\\xe9\\x18\\x9b\\x9a\\xa6\\x19\\xc6\\x4e\\x9b\\x90\\xbc\\xa0\\x2c\\xb5\\x2f\\x42\\x32\\x54\\x52\\x92\\x5f\\x14\\x7a\\xe5\\x1b\\xae\\x8d\\xbc\\x3c\\x65\\xdf\\x92\\x8f\\xd8\\x45\\x8c\\xa6\\xff\\xd6\\x1c\\x5b\\x1a\\x1e\\x37\\x04\\x81\\xe3\\x8c\\x6e\\x78\\xcd\\x76\\xaa\\x7d\\x1c\\x75\\xae\\x55\\x83\\x9f\\x6d\\x9d\\xd4\\x04\\x76\\x20\\x74\\xde\\xb4\\x6f\\x17\\x1b\\x01\\x2b\\x61\\x88\\xf8\\xe8\\x00\\xda\\x03\\x80\\x4f\\xc2\\xdf\\x22\\xc7\\x61\\x0e\\xac\\x2d\\xed\\x82\\x4a\\xa0\\x86\\x67\\xa6\\xa4\\x4c\\x84\\x13\\xd7\\x6a\\x5d\\xac\\x0a\\x6a\\xa3\\x82\\x31\\x9a\\xcd\\x18\\x8f\\x46\\xd7\\x16\\xf7\\x94\\x94\\x44\\xe1\\xb9\\xaa\\x83\\xd4\\x3d\\x61\\x8a\\xc0\\xd3\\x93\\x7a\\x2c\\xea\\x28\\x37\\x81\\x4f\\x68\\x99\\xd4\\x24\\x1c\\x10\\x01\\x6a\\xdf\\x2e\\x85\\x47\\x38\\xc2\\xd9\\xc1\\x20\\x82\\x30\\xfc\\x89\\x96\\xf2\\x65\\xa1\\x71\\x12\\x4c\\x0c\\xad\\xdd\\x4e\\xa6\\x3b\\xc9\\xc7\\x45\\x18\\x94\\xe7\\x6a\\x84\\x88\\xd3\\x50\\x4e\\x65\\xd8\\x6c\\x18\\x13\\x98\\x4c\\x36\\x18\\xfa\\x85\\x3c\\x1e\\x2f\\x74\\x1a\\x34\\x5d\\xee\\xf5\\xc6\\x7c\\x41\\xe4\\x38\\x3c\\x26\\x85\\x0a\\x8a\\x2d\\xad\\xc0\\x42\\x21\\x87\\x43\\xaf\\x8f\\x12\\xf2\\x19\\xe6\\x0b\\x10\\xb2\\x00\\x0b\\x85\\x9f\\x02\\x56\\xe7\\x2a\\x3c\\x92\\xf4\\x4c\\x39\\xb1\\x16\\xbe\\x42\\x02\\x46\\x7f\\x08\\x5c\\xa9\\x5c\\x56\\x9e\\x6c\\x22\\x3a\\x44\\x81\\x26\\x63\\xeb\\x15\\xcd\\xc3\\x6d\\x5c\\x2a\\xb6\\x41\\x29\\xc2\\xf4\\x19\\x5d\\xe5\\xd2\\x8a\\xb5\\xf8\\xd9\\x74\\x67\\x7b\\xab\\xd2\\x05\\x6e\\x80\\xf2\\x7d\\x64\\x80\\x6b\\x59\\x5b\\x0b\\xb2\\xc2\\x23\\x10\\xa2\\xd7\\xd4\\x81\\xac\\x28\\xfe\\x74\\xa7\\xc8\\xdb\\x10\\xb4\\xcd\\x0d\\x90\\x37\\x54\\xdf\\x56\\x73\\x6a\\x9d\\xda\\x88\\x31\\x0c\\xaf\\x26\\xb5\\x28\\x63\\xd3\\xc1\\xa3\\xcf\\xd5\\x05\\x8a\\x50\\x07\\xe4\\xd6\\xa5\\x41\\xe4\\x95\\x56\\xa8\\xd5\\xe3\\xbc\\x5d\\x4b\\x6d\\xe0\\xaa\\x85\\xd8\\x86\\x71\\xd4\\xe9\\x99\\x27\\xc2\\xa4\\xd9\\x62\\x27\\x1d\\x9c\\xa5\\xae\\x47\\x58\\x81\\x9b\\x38\\x87\\x30\\xe5\\x6f\\x6d\\xd2\\x7b\\xb3\\x30\\x7e\\x11\\xda\\x6b\\x18\\xeb\\x4c\\xf3\\x6a\\x85\\x3f\\x18\\xb4\\x39\\x09\\xbd\\x51\\xc1\\x44\\xa2\\xf0\\x77\\x3d\\x63\\x86\\x26\\x9b\\x56\\x78\\xb5\\x5a\\x26\\xa0\\x54\\xa2\\xaa\\x71\\xb1\\x04\\xc7\\xb6\\x30\\x00\\x7f\\x69\\x07\\x43\\x7d\\xd1\\x30\\xe0\\xa2\\xfe\\x05\\x7c\\xfc\\xea\\x6a\\xce\\x17\\xee\\x6b\\xaf\\x8e\\x98\\x9d\\x2a\\x9d\\xb3\\x66\\x5c\\x62\\xce\\xea\\x9e\\x29\\xb3\\xa6\\xac\\x56\\xd9\\x52\\x65\\x76\\x53\\xd0\\x69\\x2e\\xc7\\xc3\\x83\\xae\\x60\\x79\\x4c\\xb3\\x75\\x9c\\xba\\xac\\x79\\xe7\\xfa\\xe9\\x37\\x64\\x27\\x37\\x6c\\x1d\\xe2\\xab\\x3d\\xea\\x71\\xdb\\x55\\x68\\x0f\\x18\\xc4\\x99\\x8b\\xd4\\x51\\x98\\xb3\\x20\\xca\\xf5\\x36\\x9d\\x4e\\xef\\x56\\xa2\\x57\\xfe\\x64\\x24\\x48\\x10\\x51\\x3d\\xc4\\x95\\xe7\\x19\\x9f\\xcf\\xeb\\x75\\x68\\x50\\xe6\\x88\\xee\\x73\\xe2\\xd2\\x0d\\x09\\x12\\x5b\\xfb\\x75\\xad\\x6d\\xc5\\xeb\\x82\\x20\\xfd\\xd0\\x85\\xb5\\x01\\x0b\\xf2\\x65\\x92\\x33\\x89\\x48\\x4f\\x32\\xc1\\xff\\xce\\x5a\\xbe\\x3c\\x03\\x5a\\xfa\\x4e\\xef\\x5d\\xd8\\x58\\x33\\x74\\x97\\xe3\\xd0\\xb6\\xfe\\x5e\\xfb\\xac\\xba\\xde\\xd9\\xcb\\x4e\\xb3\\x0b\\x96\\xd6\\x50\\x47\\xe7\\xf6\\x2f\\xd8\\xc9\\xd1\\x9a\\xc1\\x9e\\xbd\\xf7\\x78\\x85\\xdf\\x10\\x8d\\xa7\\xef\\xae\\x5a\\x77\\x87\\xc0\\x3b\\x77\\xae\\xbe\\x9b\\x4e\\xe0\\x9b\\x97\\xa7\\xe4\\xf7\\x03\\xcb\\x21\\xfd\\x19\\x78\\xce\\x0e\\x14\\xd7\\xe2\\x0e\\xde\\x6c\\xd3\\x93\\xa4\\xd9\\x41\\x38\\x59\\x74\\xcb\\x43\\xea\\xf5\\xc0\\x84\\x82\\x45\\x55\\xae\\x5a\\x20\\x89\\xba\\x78\\xab\\xa8\\xfc\\x70\\xc4\\x6c\\x49\\xa6\\x44\\x02\\x93\\x62\\x68\\x81\\x06\\xd0\\xc2\\x0c\\x02\\xa6\\x58\\xcb\\xa9\\x5d\\x09\\x17\\xb5\\xb7\\xd9\\x47\\xad\\x27\\x6a\\x7e\\x82\\xdb\\x75\\xf3\\x6d\\x6c\\xd4\\x16\\x6a\\x26\\xa7\\x3a\\xde\\xbc\\xf6\\xa7\\x15\\x61\\x8f\\xda\\x41\\x1b\\x3c\\x43\\xc2\\xe6\\xb2\\x27\\x1b\\x68\\x7d\\xf4\\xb6\\x34\\xe8\\xfc\\x0f\\xc9\\xe7\\x6e\\x86\\x3a\\x78\\x1f\\x75\\x1b\\xe6\\x12\\xbb\\x5a\\xac\\x11\\xc2\\x14\\xa4\\xfd\\xac\\x1f\\x66\\xa6\\x04\\x51\\x0e\\x7d\\x61\\x8c\\x0e\\x06\\x0d\\x9c\\xea\\x0a\\x0c\\xc8\\xdc\\xf9\\x7b\\x32\\x24\\xd8\\xe2\\x2b\\x76\\x31\\x46\\xcb\\xbd\\x22\\x96\\xf5\\x00\\xa5\\x0c\\x72\\x54\\x6b\\x11\\x81\\x3c\\x22\\x82\\x78\\x44\\xcc\\x1b\\x40\\xcf\\x92\\x8d\\x47\\x0e\\xce\\x5a\\xb7\\x7c\\xc2\\x14\\x93\\x53\\xe3\\x6c\\xad\\x4d\\x97\\x8f\\x5f\\x33\\x69\\x6f\\x7f\\x6d\\x4f\\xc5\\xcc\\xa1\\x55\\xad\\x78\\x64\\xe3\\x92\\x8d\\x0f\\x47\\xe7\\xcf\\x98\\xda\\x6f\\xd9\\xdc\\xe1\\xac\\xae\\xf1\\x4e\\x1c\\xbf\\x6e\\xef\\xf4\\x3b\\x07\\x12\\xe9\\x3d\\x93\\xd6\\x65\\xbc\\x67\\x96\\x4d\\xed\\x45\\xf1\\x02\\x94\\xeb\\xfb\\xe4\\x66\\xf1\\x4e\\xba\\x3b\\xcd\\x3b\\xa1\\xf1\\xb0\\x1c\\xeb\\x31\\x78\\x08\\x83\\x4a\\xe5\\x23\\x08\\x3f\\x87\\x9c\\xd0\\x25\\x27\\xcf\\xd3\\x8a\\xaf\\x43\\xd2\\x59\\x28\\x64\\x2b\\x64\\xa2\\x05\\x31\\x21\\x5f\\x4a\\x14\\x61\\x42\\x01\\xe4\\x73\\x1a\\x22\\x4e\\xf7\\xad\\x47\\xe9\\x23\\xea\\xdf\\x90\\x95\\x04\\x71\\x81\\xa7\\x26\\x65\\x1f\\x7d\\xb8\\x22\\x1d\\xff\\xf0\\xb6\\xf5\\xaa\\xae\\x19\\x5b\\xd3\\xfa\\x69\\x29\\x5f\\x58\\xdb\\xb1\\x74\\x0d\\xb9\\x79\\xf1\\xf2\\x4b\\x6f\\x2a\\xbe\\xf8\\xc2\\xf8\\xa3\\x3b\\xaf\\x70\\x21\\xfb\\xd3\\x3b\\x4e\\x99\\xc1\\x9a\\x79\\x33\\xaa\\x1b\\xbb\\x84\\xa3\\xcc\\x37\\x1e\\xdb\\x8f\\x66\\x23\\x42\\xba\\x6f\\x81\\xfa\\xe0\\xc2\\xfa\\xd3\\x7e\\x9b\\xce\\xa1\\xc6\\x14\\x2a\\x95\\x9a\\x06\\xa4\\x99\\x27\\x79\\xa7\\x5a\\xed\\x71\\x38\\x9d\\x6e\\xde\\x6c\\x56\\x60\\x3a\\x1b\\x49\\x39\\x25\\xdd\\xa0\\x64\\xdd\\xb0\\xe4\\x6b\\xbd\\xfa\\xe2\\x4a\\xa1\\xbe\\xb1\\x51\\x2e\\x5c\\x13\\x95\\x40\\xdc\\xe9\\x60\\xa9\\x47\\x8d\\x27\\x1c\\x30\\xba\\x51\\x1d\\x2c\\x1c\\x21\\xd0\\xd3\\x59\\x10\\x99\\xc5\\x78\\xfd\\xd4\\x1a\\x56\\xdb\\x39\\x7f\\x78\\x23\\xd9\\x70\\x4f\\xc7\\xb0\\xc2\\xce\\x53\\x83\\x4a\\xfd\\xd4\\xa3\\xd3\\xd7\\x13\\xf8\\xa7\\x00\\xbd\\x7a\\x74\\x50\\xe5\\xd7\\x0e\\x9e\\xb1\\x4c\\xfd\\x60\\x9e\\xf0\\x8c\\xcb\\x44\\x38\\x14\\x6d\\xc0\\xf6\\xde\\x6d\\x3c\\xd2\\x17\\xea\\x5a\\x37\\xf6\\x17\\x7c\\xab\\x98\\x3f\\x40\\xd4\\xc2\\x08\\x56\\x4b\\x68\\x79\\x94\\x3d\\xd0\\x57\\xc0\\x04\\xb1\\x1c\\xd7\\x95\\xcb\\x1e\\x0a\\xb5\\x7f\\x0f\\x4c\\x19\\x11\\xba\\xa6\\x8a\\xa6\\x24\\xae\\x9b\\x4f\\xbd\\x3e\\x38\\x8d\\xbc\\x14\\x8a\\x38\\xec\\xe1\\xb0\\xdd\\x11\\x39\\xc4\\x39\\x90\\x7f\\xb8\\x2c\\x65\\x12\\x61\\x4c\\x7e\\x2f\\xd2\\x0d\\x1e\\x06\\x47\\x30\\x3d\\x56\\x93\\x56\\x53\\x38\\x6e\\x54\\x72\\x0a\\x85\\x52\\x69\\xd0\\xbc\\x08\\x3f\\x4d\\x09\\xba\\x2e\\x72\\x14\\x89\\x5d\\x06\\x13\\xd1\\xbd\\x08\\x3c\\xd4\\x62\\x1f\\x89\\xce\\x11\\x69\\x61\\x71\\xb8\\x0d\\x36\\xba\\xf5\\x76\\xbb\\x25\\xb1\\xbc\\x3c\\x8d\\x3c\\xce\\x19\\x43\\xd5\\x3a\\x70\\x84\\x3a\\xda\\x3d\\xb9\\x45\\xb8\\x03\\x7d\\xf8\\xee\\xc9\\x13\\xa4\\xcf\\x15\\xae\\xb5\\x81\\xcf\\xc1\\x6e\\xa8\\x2f\\x8d\\x69\\xad\\xe4\\x98\\xcd\\x18\\x4c\\xa4\\x6d\\xc8\\x3d\\x4f\\x10\\xdd\\xf3\\x15\\x30\\x19\\x63\\x21\\x4a\\x77\\x95\\x96\\x6e\\x92\\x35\\x39\\x07\\x6d\\xf9\\x57\\x0e\\x7a\\xf1\\x97\\x3a\\xe8\\xf4\\xbf\\xf0\\xcf\\xd7\\xbe\\x7f\\x2d\\x0d\\x7e\\x0e\\x69\\x31\\xc0\\x8c\\x8d\\xe3\\xd4\\x68\\x93\\x90\\x9a\\xd0\\xf0\\x1a\\xa3\\xe8\\x2a\\x26\\x88\\xae\\x62\\x72\\xc1\\x55\\x14\\xb2\\xf8\\xeb\\x7d\\x05\\xd8\\x3f\\xc6\\x57\\x80\\xc4\\x97\\xf9\\x0a\\xfc\\xda\\x93\\xc2\\x24\\xdc\\x8f\\x9f\\x17\\x31\\x77\\x7c\\xda\\xe0\\x56\\x42\\xa4\\x85\\x90\\x4b\\xea\\xa3\\x08\\x7e\\xf5\\x11\\x08\\xba\\x93\\x0a\\xa0\\x3b\\x59\\x04\\xdd\\x29\\x63\\x41\\x57\\x5f\\x4c\\xcc\\xff\\x11\\x75\\x87\\xfe\\x3d\\xea\\xe2\\xe7\\xff\\x2f\\xa8\\x0b\\xae\\xbd\\x2f\\x4c\\x02\\xdf\\x80\\x32\\x43\\x31\\x8d\\x55\\xc2\\x5c\\x0a\\xc2\\x2d\\x65\\x76\\x90\\xd0\\xee\\x9c\\x39\\xd4\\x9d\\x24\\xa2\\xee\\x84\\x12\\xd4\\x2d\\xdd\\xce\\x46\\xfc\\x1b\\xd8\\x2d\\xfb\\x17\\xb0\\x0b\\x86\\xff\\x0d\\xec\\xe2\\xd7\\xde\\x13\\xc6\\xe1\\x38\\xd4\\x69\\x37\\x16\\xc3\\x12\\x69\\xce\\x43\\x5b\\xe8\\x78\\x48\\x8b\\x61\\x15\\xda\\x68\\xd4\\xa6\\x44\\xd2\\xf4\\x43\\x33\\x9a\\x88\\x88\\x7a\\x3d\\x67\\xec\\x39\\xff\\xcf\\xd4\\x1a\\x8a\\xb2\\x8e\\x80\\x08\\xaf\\x6e\\xdc\\x04\\x0d\\x3c\\x01\\x2a\\x01\\x28\\x4c\\x41\\x6f\\x03\\x15\\xcf\\x3e\\x2c\\xe6\\x3e\\xe3\\xfb\\x35\\xa4\\xa2\\x73\\xe1\\x8d\\xcd\\x4e\\xdc\\xad\\x5e\\x37\\xe1\\x86\\x79\\xe0\\x8d\\xf6\\x96\\x59\\xdb\\xd2\\x8d\\xa9\\xc5\\x8d\\x8b\\xff\\x00\\x08\\x31\\x0f\\x1a\\xd7\\xd0\\x19\\xeb\\x6c\\x54\\x6a\\xcd\\x11\\xaf\\xc3\\xaa\\xa4\\x55\\xfb\\xc1\\xcb\\xfd\\x33\\xbf\\x79\\xa0\\x6f\\xe6\\xec\\x93\\x62\\x8f\\xff\\xaf\\xa1\\x3e\\x4c\\x04\\x77\\x88\\x58\\x3b\\x25\\x6d\\x14\\xb1\\x96\\xe5\\x0c\\x1e\\x0f\\x84\\x59\\x84\\xb6\\x08\\x6a\\x27\\xe6\\xa0\\x16\\xda\\x05\\x94\\x2c\\x82\\xda\\x89\\x63\\xa0\\x56\\x0a\\xf6\\xff\\x3f\\x20\\x2d\\x38\\xf3\\xaf\\x90\\x16\\xdc\\xf1\\xff\\x86\\xb4\\x48\\x0f\\x16\\x40\\x3d\\xf8\\x07\\xd4\\x03\\x17\\xa4\\xda\\x43\\x43\\x84\\x45\\x78\\xab\\xc0\\x54\\x4e\\x95\\x5a\\xcd\\x93\\x84\\x08\\xb5\\x12\\xce\\x9a\\x9d\\x92\\x3a\\x50\\x92\\x3a\\x94\\x2c\\x37\\x96\\x48\\x2e\\xb4\\x2a\\xfe\\x5b\\x8c\\x3d\\xf1\\x6f\\x21\\x56\\xf7\\xef\\x11\\x16\\x61\\xec\\xd2\\x6b\\x1f\\x53\\x6f\\x11\\x6f\\x60\\x95\\x58\\x03\\xb6\\x2e\\xdd\\x9a\\x20\\x0d\\x11\\x32\\x52\\xe3\\xf6\\xf9\\x1c\\xd6\\x68\\x59\\x0d\\x86\\xa9\\xcb\\xac\\x64\\x63\\x53\\x79\\x5d\\x45\\x5d\\x26\\x9b\\x20\\x7b\\xb3\\x86\\x44\\x82\\xab\\xd0\\x45\\x39\\x97\\xa3\\x37\\xeb\\xd2\\x99\\x82\\xfd\\x59\\x93\\x59\\xc5\\x71\\x6c\\x5f\\x96\\x33\\x17\\xbf\\xc4\\xce\\xcd\\xfb\\x18\\xfb\\x16\\x3b\\x59\\x7c\\xe5\\x05\\x78\\x9a\\xe4\\xe4\\xf7\\xd5\\x96\\x92\\x95\\xa8\\x25\\xdb\\x50\\x21\\xac\\x89\\x29\\x5a\\xae\\xe9\\x56\\x0b\\xa8\\xb7\\x4e\\x09\\xbf\\xfa\\x1a\\xb9\\x72\\x64\\xce\\xc9\\x4e\\xd7\\xe0\\xdb\\x83\\xb7\\x3f\\x6a\\x99\\xfb\\xd6\\xbc\\x42\\xbf\\xb7\\xdc\\x09\\xae\\xd9\\x7b\\xfb\\x8e\\xe3\\xa3\\xf7\\xbf\\xf9\\xc7\\xd6\\xa6\\x89\\x37\\x2d\\xc4\\x3f\\xcb\\xde\\xb3\\x40\\x3d\\x79\\xf7\\xde\\xd6\\x48\\x79\\xcf\\xc0\\x4d\\x37\\xec\\xdb\\x81\\xba\\xc9\\xf1\\x8c\\x35\\x3e\\x7a\\x65\\x57\\x14\\xb5\\x99\\xe3\\x5b\\x27\\x2e\\x58\\x2f\\x1c\\xe4\\xee\\x5b\\xdf\\x38\\x69\\xc3\\x2b\\xa2\\x7c\\x4c\\xd7\\x3e\\x21\\x5e\\xa5\\x6e\\x87\\x11\\x4b\\x3d\\x36\\x2b\\x9d\\xa8\\x52\\x7a\\x49\\xbc\\xbc\\xdc\\xa5\\xb7\\xea\\x23\\x4a\\xb2\\x21\\x65\\xc5\\xc2\\x0e\\x07\\x1f\\xc0\\x48\\xc6\\xe3\\x71\\xf5\\x66\\x3d\\x98\\xb6\\x22\\x93\\xd5\\x9a\\x49\\x98\\xa8\\xf5\\x67\\x99\\x92\\xb7\\xe9\\xf2\\xe3\\xb4\\xa4\\xbe\\xa8\\x55\\x5c\\x56\\x4c\\x7f\\x84\\x66\\xf2\\xef\\x0a\\x91\\x14\\x8c\\x62\\xfe\\x19\\x80\\x3f\\xb3\\xa0\\x1b\\x75\\x26\\x97\\x29\\x83\\xfc\\xf8\\x29\\xf8\\x9f\\xc1\\x0f\\xdd\\x4e\\x8b\\x39\\xf3\\xf8\\xa4\\x1b\\x4f\\x1c\\x17\\x3e\\xbf\\x77\\xf6\\xe3\\xed\\x2f\\x85\\xbd\\xb1\\x7a\\x6b\\xad\\x77\\xf3\\x6c\\x0f\\x77\\x33\\x0b\\x2a\\xca\\x1a\\xa2\\xe5\\x0d\\x96\\x5a\\xef\\x26\\xe1\\x5b\\x4d\\xcb\\x96\\x3c\\x39\\x3c\\xaf\\xa7\\xf9\\xd6\\x36\\xe2\\xaf\\xca\\xd3\\xbd\\xfd\\x0b\\x2f\\xde\\x7b\\x5e\\xf8\\xde\\x53\\xf1\\x08\\xe9\\x77\\x24\\xba\\x76\\x6f\\x24\\xa6\\x5b\\xe3\\x7f\\x49\\x54\\x4d\\xdc\\x79\\xc3\\xd5\\x6d\\x55\\x27\\x00\\x76\\xdb\\xba\\x1d\\x3d\\xad\\xd2\\x5e\\x5c\\xf2\\x75\\xc8\\x7f\\x0c\\x6b\\xc4\\x86\\xd3\\xf5\\x15\\x7a\\xda\\xe3\\x01\\xfe\\xa4\\x4a\\x65\\xf3\\x13\\x65\\x4d\\x65\\xcd\\x36\\x2c\\xea\\x74\\x9a\\x42\\x18\\xc9\\xf9\\x7c\\x9e\\xde\\xac\\x0f\\xe3\\x12\\x99\\x2c\\xa7\\xa3\\xeb\\xd9\\xfa\\xfe\\x2c\\x6b\\x1e\\x3b\\xa1\\xe0\\x3a\\x51\\x94\\x2e\\x36\\x14\\xab\\x6d\\xe8\\x9a\\x56\\x2e\\xf0\\x8b\\x2f\\xbd\\xc5\\x85\\x74\\x92\\x34\\x6a\\x44\\x71\\x10\\x39\\x71\\x50\\x45\\x4b\\x72\\xeb\\x53\\xc4\\x0f\\xed\\x67\\xd7\\xb3\\xc2\\x47\\xae\\xc7\\x6f\\xcb\\xad\\xc8\\xb5\\xd8\\xaa\\x1c\\xb2\\x44\\xbc\\x1e\\x3d\\x5a\\x97\\x9b\\x08\\xb8\\x73\\x22\\xc9\\xed\\xcb\\x6d\\xdc\\xd7\\x4a\\xfc\\x15\\xbf\\xda\\x6f\\x8b\\xdf\\xf7\\xac\\xbc\\x2e\\xf7\\x01\\xde\\x8d\\x84\\xa2\\x99\\x67\\x8d\\x0b\\x9f\\x59\\x91\\x54\\x9e\\xcc\\x6d\\xcc\\x9d\\x2c\\xe6\\x53\\xd7\\x9e\\x11\\xba\\x89\\x10\\xf5\\x30\\x96\\xc0\\xe6\\xa6\\xab\\x23\\x01\\x82\\xe0\\x75\\x64\\x30\\x4e\\x19\\x48\\x4a\\xe5\\xb2\\xdb\\xab\\x55\\x55\\xfa\\x70\\x20\\x9c\\xc9\\xaa\\x20\\xd0\\x6a\\x99\\x32\\x8c\\x24\\xf9\\x00\\x67\\xf5\\x64\\xb2\\x4e\\xa7\\x15\\x90\\x0e\\x94\\x66\\x4b\\x7b\\xc0\\x64\\xe6\\xc7\\x36\\xcc\\x27\\xe5\\x24\\x57\\xf4\\x5d\\xe1\\x02\\xfb\\xa8\\x08\\x90\\xdb\\x72\\x26\\xad\\x9e\\xca\\x3d\\xe7\\x16\\xd5\\x63\\xbd\\xc5\\x74\\xf0\\xcc\\xa9\\xaa\\x80\\xcc\\xb3\\xca\\x57\\xf9\\x30\\xfb\\x55\\x75\\xf4\\xa5\\x87\\xa7\\xb5\\x05\\xaa\\x8d\\xae\\x54\\xeb\\x44\\xb7\\xeb\\x1d\\xed\\x3b\\x6d\\xf1\\x90\\x24\\x04\\x30\\x40\\x5f\\xfd\\x2b\\xb1\\x36\\x88\\x98\\x85\\x31\\x61\\x75\\xa4\\xf3\\x67\\xef\\x18\\x5f\\xdf\\x60\\x1a\\x79\\xe8\\xbe\\x01\\xe1\\xde\\x20\\x62\\x1c\\x23\\xae\\xfd\\x1d\\xc3\\xa8\\xff\\x82\\x18\\x51\\x85\\xb5\\x61\\x53\\xb0\\xdd\\xe9\\x71\\x2d\\x98\\xd5\\xda\\x61\\xb3\\x19\\x26\\xc7\\xdc\\xee\\xb0\\xc7\\x50\\x5b\\xcb\\xd1\\x1e\\x3a\\xa0\\x56\\x77\\x07\\xa6\\x62\\xb1\\x58\\x6a\\x42\\xe5\\x84\\xfe\\x2c\\x51\\xa9\\x0b\\x98\\x54\\xed\\xed\\x1d\\x2d\\x76\\x8b\\x89\\xf6\\x94\\x95\\x45\\x7a\\xb3\\x65\\x9c\\xcd\\x63\\x32\\x70\\x10\\x45\\x4c\\xf9\\x85\\x78\\x79\\x55\\x28\\x7d\\x95\\x53\\x5c\\xe9\\x94\\x5c\\x92\\x3e\\x27\\x93\\x5c\\xb9\\x93\\x81\\x3c\\xd3\\x62\\xd3\\x81\\x91\\x91\\x9c\\x3c\\x54\\x07\\xf8\\xab\\x28\\xab\\x54\\x61\\x31\\x5e\\x01\\x36\\x50\\x44\\x10\\xaa\\xb1\\xe4\\xb6\\xe7\\xa5\\x88\\x11\\xf1\\x19\\x85\\xd2\\x37\\xcd\\x55\\x1b\\x39\\x54\\xbd\\x5f\\x21\\xbc\\xdb\\x60\\xb1\\xee\\x7c\\xb0\\xe5\\xcc\\xf8\\x39\\x8f\\x4d\\xeb\\x39\\x33\\x65\\x9a\\xbb\\x56\\x3b\\x23\\xd3\\x5c\\xd8\\x95\\x07\\x3c\\x21\\x79\\x97\\x9e\\x76\\xf6\\xc3\\xa3\\x13\\x77\\x3d\\xe6\\x9b\\x1b\\xdf\\xbb\\x50\\x61\\xc1\\x7f\\x87\\x5e\\x6e\\x58\\x7b\\x5e\\xf2\\x36\\x1c\\x4c\\x0b\\x1f\\xd9\\xe2\\xa0\\x19\\x84\\x84\\x87\\xc0\\x2d\\xd6\\xb0\\xd0\\x0c\\xce\\x79\\x9a\\x1a\\x56\\x07\\x40\\xaf\\xf4\\x78\\x43\\x98\\xff\\xf6\\x74\\x8b\\xb8\\x5c\\x2f\\x63\\x09\\x1e\\x8e\\xbc\\x68\\x1b\\x9e\\xbb\\x3b\\x05\\xa0\\xdf\\xfb\\x14\\xc3\\x48\\x95\\xf8\\x8e\\xa1\\x16\\x1b\\x4a\\xd7\\x7a\\xc2\\x61\\x87\\x21\\xae\\x0e\\x85\\x18\\x18\\x8d\\x59\\x48\\x4b\\x3d\\x59\\x47\\x7a\\xcc\\xf1\\x78\\x4d\\xd0\\x43\\xba\\x95\\x6e\\x08\\xc0\\x6e\\x93\\xba\\x8c\\x2b\\xeb\\x87\\xf6\\x26\\xcd\\x03\\xc1\\x4c\\xc5\\x5b\\x6e\\xc7\\x98\\x59\\x41\\xa2\\xb9\\xdb\\xd7\\xe4\\x75\\xa2\\x32\\xf1\\x84\\xa8\\x48\\x92\\x54\\x2b\\x89\\x08\\x01\\xe4\\x0d\\x67\\x6e\\xc2\\xd2\\x06\\x26\\x4f\\xeb\\xf6\\xd4\\xea\\x07\\x27\\xa5\\x90\\x40\\x1c\\x03\\x97\\x66\\x2d\\x59\\x5a\\x35\\x35\\x50\\xcb\\x2f\\xec\\x8c\\xef\\x67\\xa1\\xec\\x1a\\x16\\xcc\\x1e\\xa8\\xec\\xc1\\x49\\x08\\xbf\\x4f\\x37\\x28\\x1b\\x16\\xcc\\x9a\\x51\\x19\\x56\\x80\\xe7\\xdc\\x93\\x27\\x6d\\x77\\x81\\x66\\x5b\\xfc\\x95\\x55\\xab\\x56\\x2f\\xf5\\x09\\x7f\\xb1\\xf7\\xf6\\x6d\\xb1\\x09\\x5f\\x58\\xe3\\xa0\\x9d\\xf5\\x47\\x82\\x0a\\x18\\xa3\\x7c\\x12\\x6f\\xd8\\x33\\xb7\\x59\\xfc\\xee\\xc7\\x13\\xa0\\x2c\\x42\\xd0\\xbe\\x5e\\x85\\xb2\\x48\\x60\\x2d\\xd8\\x92\\x74\\x5d\\x55\\xc4\\x06\\x4d\\x8c\\xad\\x77\\xbb\\xe3\\x2c\\xc1\\xb5\\x71\\xad\\x1c\\x56\\x61\\xc0\\x0c\\xb4\\xdf\\x5f\\x93\\xc9\\xfa\\xcd\\xb6\\x46\\x47\\x63\\x7f\\xd6\\xa1\\x13\\x37\\x74\\x73\\x2c\\x41\\x13\\xbd\\x59\\xda\\x51\\x8a\\xbe\\xf9\\xbd\\xdc\\xff\\x02\\x78\\x8c\\xfe\\x88\\x38\\x08\\x05\\x2f\\x36\\x37\\x24\\x99\\xfa\\x22\\x60\\xa6\\xf3\\x50\\x4c\\x14\\x43\\xf1\\xaf\\x79\\xbb\\xf2\\x41\\x56\\xe8\\x64\\xb7\\x39\\x12\\x39\\xe3\\xb3\\x98\\x1e\\x5b\\xc6\\x02\\x85\\xf1\\xc9\\x23\\xdb\\x8e\\x9e\\x10\\x84\\x7b\\x2a\\x87\\x6c\\x94\\xa1\\x26\\x20\\x19\\x5e\\x7b\\xdb\\x8a\\xa1\\x87\\x16\\x67\\xa7\\xd6\\xdd\\xd9\\x20\\xbc\\xc1\\xa0\\x81\\x2d\\xd6\\xd3\\x01\\xd1\\x0a\\x89\\x87\\x6c\\xf1\\x93\\xcf\\x5e\\xb8\\xef\\x19\\xe1\\x9d\\xf3\\x1a\\x45\\xf3\\xa2\\x30\\x32\\x42\\x70\\xa6\\xea\\x6e\\xc0\\xdc\\xba\\x76\\x27\\xc4\\x64\\x70\\xed\\x7e\\x98\\xf9\\x04\\xc4\\xb7\\x21\\xfd\\xe9\\x32\\x9f\\x89\\x20\\x74\\x24\\x19\\x41\\xb0\\x13\\x53\\x95\\x9b\\x5c\\x56\\x57\\x3f\\x42\\x19\\x9d\\x0a\\x0b\\x6b\\x31\\x2d\\x69\\x34\\xea\\x7b\\xb3\\x46\\x8e\\x2c\\x2c\\x5d\\x95\\x8d\\x2d\\x51\\x8c\\x39\\x8d\\x05\\xf3\\xba\\x0e\\x72\\x72\\xda\\x21\\xe5\\x37\\x1c\\xc8\\xa3\\xcd\\x7c\\x83\\xad\\xe9\\xcc\\xd4\\xca\\xb0\\xcc\\x30\\x6f\\x4f\\x42\\xbd\\x30\\x79\\xfa\\x5e\\x9c\\x51\\xe3\\xaa\\x88\\x85\\x33\\x4f\\x4c\\xb2\\xe4\\x81\\xa6\\x8b\\x12\\x2e\\x82\\xa7\\x42\\x88\\x45\\x06\\x78\\x6c\\xf1\\xf7\\xb6\\x6d\\x62\\xff\\xb1\\x7b\\xfb\\xf0\\x5e\\x09\\x64\\x44\\x4c\\xfd\\x5f\\xc8\\x17\\x9a\\x07\\x83\\x2a\\x2f\\x5e\\xb7\\xc8\\x56\\x50\\x65\\x35\\x99\\xa2\\xaa\\x88\\x0a\\x0b\\x48\\xcc\\xd8\\x33\\x59\\x8b\\xc5\\xa8\\x13\\xd9\\x91\\x37\\x43\\x16\\x69\\x78\\xb2\\x28\\xda\\x1b\\xcb\\x47\\x29\\x6c\\xe6\\x99\\x78\\xce\\x62\\x6a\\x3e\\xd3\\x9d\\x87\\x4c\\xde\\x1e\\x7b\\xe1\\xa4\\x8c\\x96\\xe3\\x26\\x5a\\x8b\\x18\\xa0\\x85\\x0b\\xe0\\x69\\x11\\x29\\x99\\xd7\\x5f\\x44\\x20\\xb9\\xe3\\x8e\\x9b\\x72\\xc4\\x03\\x4c\\x03\\xe3\\x04\\x27\\xa4\\xbd\\x1e\\xbd\\x4a\\x0d\\xfa\\x34\\x58\\xa2\\xce\\x68\\x2f\\x73\\xb2\\x94\\x85\\x72\\xda\\xeb\\x30\\x1f\\x93\\x4c\\x25\\x1b\\x2c\\x75\\x35\\xf6\\x3a\\x3b\\xe1\\xf1\\x40\\xcf\\x10\\x08\\x78\\x74\\x84\\x2a\\x93\\xa5\\xa5\\xc7\\x53\\x89\\xa2\\x0d\\xad\\x63\\x15\\xb4\\xe8\\x2a\\x8a\\xa7\\x0b\\xcd\\xa6\\xe2\\xee\\xed\\x1c\\x83\\xd7\\x55\\x42\\xdc\\x44\\xaa\\x46\\x04\\x48\\x33\\x7e\\xe9\\x1b\\xaf\\x1f\\x3a\\x52\\x16\\xd7\\xdb\\x17\\xb4\\x7c\\xd8\\x33\\x65\\xfa\\xb8\\x28\\xe2\\xd5\\x36\\x2e\\x6e\\xbc\\xf0\\xc0\\x9a\\x07\\x42\\x09\\x6d\\xfb\\xb2\\xfe\\xc5\\xb6\\xda\\xc1\\xdb\\x2c\\x88\\xd5\\xb2\\xac\\x1d\\xf0\\x27\\xef\\x6c\\xfb\\xc5\\xad\\xce\\x8a\\x8b\\xf5\\xb3\\x83\\x31\\x78\\x66\\x0b\\x86\\x2d\\xe5\\xc9\\x9b\\xee\\x0a\\xbc\\xb3\\xaa\\x61\\x6a\\xaf\\x27\\x99\\xa8\\x9d\\x42\\x56\\x4d\\xfc\\x4a\\x7d\\x0d\\x3c\\xb3\\xa3\\xd7\\x3e\\xc1\\x17\\x93\\x7b\\xb1\\x6a\\x18\\x1d\\x55\\x94\\x85\\x48\\xd2\\xef\\xd6\\x25\\x94\\x3a\\xc2\\x16\\x0e\\x27\\x6d\\x35\\x9e\\x68\\x28\\x9a\\xc9\\xda\\xb0\\x4a\\x27\\xe6\\xd4\\x04\\xd2\\xfe\\x10\\x4c\\xa8\\x35\\x1a\\xa6\\x4f\\x7a\\xa2\\x2c\\xef\\xf7\\xb4\\xbf\\x2d\\x07\\x84\\x63\\x46\\x15\\x15\\x14\\x52\\xee\\xa2\\xb1\\xe4\\xdb\\xe3\\xc6\\x78\\x44\\xa9\\x2c\\x9e\\x3f\\xd2\\x01\\x87\\xd5\\x16\\x0f\\x4c\\xee\\x35\\x25\\xb7\\xf6\\xf4\\xce\\xa5\\x83\\xe5\\x7e\\xf9\\x70\\xf5\\x7c\\x62\\x07\\x7b\\xf3\\xad\\xe9\\xd0\\xfb\\xba\\xf7\\xdb\\xeb\\x82\\xf2\\xc9\\xf6\\xb3\\x87\\x7d\\xf1\\xb8\\x3b\\x11\\x4c\\x2e\\x9c\\x69\\x69\\xfc\\xae\\x07\\x1d\\x31\\x05\\xa8\\x78\\xe4\\x07\\x3f\\x18\\x10\\x1e\\x28\\x2b\\xe8\\xa7\\xfc\\x4e\\x0e\\x2b\\x87\\x88\\x54\\xeb\\x74\\xd3\\xac\\xda\\xa2\\xb4\\x5a\\xfd\\xb8\\x97\\xf0\\xb2\\x51\\xb7\\x81\\xaa\\x20\\x94\\xca\\x98\\xcf\\xe6\\xb1\\x65\\xb2\\x06\\x2c\\x62\\xc2\\x4c\\x4a\\x8f\\xdb\\xed\\xe1\\x54\\x84\\x92\\xc8\\x64\\x19\\x06\\x3d\\x84\\x95\\xac\\x4e\\x7e\\x27\\x57\\xca\\x34\\xe2\\x19\\xfe\\xac\\x46\\x5f\\xbc\\x44\\x33\\x37\\x82\\x29\\x05\\x4a\\x58\\xce\\x3f\\x9b\\xcb\\xf3\\xfc\\x93\\xca\\xc8\\x2b\\x6f\\x6c\\x9f\\xda\\x9d\\xe8\\x1a\\x1d\\x56\\x00\\x6b\\xc0\\x2d\\xb3\\x5c\\x19\\x7d\\xf3\\x78\\xc3\\x0a\\x6b\\x2a\\x11\\xc7\\x87\\x59\\xe1\\x97\\x1e\\x9f\\xcc\\x74\\xaf\\x59\\xf8\\x7d\\xe2\\xa8\\xf0\\xc7\\x38\\x38\\x6e\\x45\\x0c\\x5b\\x80\\x5b\\x7a\\x53\\x07\\x83\\x67\\x89\\x61\\x1c\\xc3\\x20\\x06\\xbf\\x46\\xbc\\x8e\\x69\\x20\\xc7\\x53\\xd2\\x61\\x2d\\x1a\\xea\\xc2\\x87\\xfc\\x7e\\xde\\x41\\xc4\\x2a\\x82\\xc1\\x88\\x27\\xd2\\x97\\xd5\\x62\\x7a\\xac\\x3f\\xab\\xd7\\x5b\\x3d\\x3a\\x2b\\x93\\xc9\\x5a\\x1d\\x25\\x4b\\x7b\\x73\\x4f\\xea\\x4a\\x1b\\x94\\x51\\xbe\\x95\\x9f\\xaa\\x41\\x95\\x06\\xbe\\x52\\x43\\x8d\\xac\\xc5\\x0c\\xee\\x6f\\xb8\\xb5\\x63\\xcd\\xd4\\x66\\xff\\xf0\\xf9\\xc5\\x59\\xe1\\x4a\\xd7\\xb3\\x93\\x76\\xdf\\x7d\\x4a\\xf8\\xe2\\x54\\xcb\\x37\\xa7\\x9e\\x0b\\xbd\\xff\\xfd\\xd9\\x2f\\x35\\x1a\\xe2\\xc1\\xbe\\x93\\xdb\\xef\\xb4\\x82\\x73\\x53\\x3a\\x46\\x4f\\x18\\xe9\\x13\\xc2\\x1d\\xab\\x76\\x37\\xf4\\x2e\\xbd\\x78\\xef\\xd3\\xc2\\xbb\\x4f\\x5b\\x0c\\xc4\\xcb\\xef\\xbe\\x5c\\xe6\\xfe\\xe5\\xae\\xde\\xdd\\xb7\\x89\\x76\\xea\\xc4\\x1b\\xf0\\x27\\xc8\\xf9\\x30\\x57\\x9f\\x92\\xf6\\x97\\xf6\\xc2\\xea\\x71\\xdc\\x66\\x36\\x5b\\x79\\x85\\x82\\xc6\\x78\\xd4\\x0a\\x4f\\x68\\x68\\x69\\x47\\x0d\\x7a\\x5c\\x67\\x40\\x8d\\x9c\\x35\\xfa\\x31\\xaf\\x86\\x0b\\xad\\x7b\\xe2\\xfd\\xb0\\x2f\\x25\\x76\\xa1\\xa1\\x22\\x4c\\x3b\\xee\\x83\\xee\\xc4\\x49\\x4e\\x9e\\x31\\x81\\xfc\\x09\\x39\\x39\\x0c\\x88\\xf0\\x04\\xf2\\xbf\\xc9\\xae\\x19\\xe3\\xe1\\xaf\\x93\\xcb\\x84\\xd1\\xb2\\x09\\x24\\xde\\x60\\x56\\x81\\x5f\\x29\\xcd\\x66\\xe5\\x07\\x1f\\xa0\\x5f\\x05\\x87\\xca\\x6c\\x56\\x7d\\xfc\\xb1\\x4a\\x9c\\xaf\\x76\\xed\\x77\\xc2\\x78\\xe2\\x0a\\xd4\\x37\\x3b\\x44\\xc4\\x6c\\x3a\\xa1\\xd5\\xf1\\x41\\xc6\\xc7\\xfa\\x2c\\x4a\\x83\\xc1\\xc2\\xea\\xc8\\xa8\\x83\\x20\\x22\\x46\\x95\\x1e\\x82\\x08\\x13\\xec\\xcd\\xc2\\x1c\\x59\\xcf\\x30\\x98\\x4e\\xcf\\x61\\xee\\x4c\\x16\\x3d\\x86\\xce\\x4d\\xc4\\x42\\xb1\\x53\\xac\\x44\\xcf\\x92\\x63\\x2b\\xa9\\x68\\x05\\x47\\x0a\\xf8\\xf2\\x7a\\x25\\x95\\x51\\x73\\x6d\\x62\\xa8\\x03\\x03\\xf4\\x3e\\xf8\\xc6\\xfe\\x3f\\x3d\\x30\\x49\\x01\\x06\\x85\\x73\\x0d\\x2b\\xad\\xf5\\x89\\x0a\\xfc\\x4f\\x0a\\xe1\\xd4\\xed\\x4b\\xf6\\x7c\\x24\\x5c\\x59\\x3d\\xef\\xe0\\x83\\x7d\\xd6\\xef\\x7e\\x5d\\x18\\x7f\\xf1\\xd4\\x81\\xef\\xdd\\x6c\\x1a\\xaa\\x03\\x13\\x24\\x7d\\xba\\xfc\\xe6\\xed\\x97\\x0f\\xfe\\xec\\x46\\x30\\x65\\xe3\\xc1\\x9f\\x5c\\x3c\\xb1\\xc1\\x1f\\xfb\\x6f\\xd1\\x96\\x5e\\xba\\xf6\\x09\\xf5\\x26\\xcc\\x2b\\xd2\\xd8\\xf3\\xe9\\xe1\\x54\\xb5\\x5a\\x5d\\xa9\\xb1\\x68\\xf0\\x68\\x2c\\x16\\xf2\\xf9\\x3d\\x15\\xf1\\x1a\\x32\\xe9\\x4e\\xd6\\x69\\x39\\x27\\xe9\\xaa\\xc5\\x29\\xaa\\xb5\\xb5\\xd6\\x0f\\x55\\x06\\x74\\xba\\xdc\\xee\\x8e\\xba\\x9a\\x64\\xb2\\xa9\\x2a\\xc5\\x36\\xb1\\xfd\\xd9\\x26\\x5d\\x55\\x65\\x6f\\xb6\\x0a\\xf3\\xc7\\xa2\\xb1\\x4c\\x36\\xae\\xad\\xe0\\x3c\\x4e\\xda\\x1d\\x4e\\x87\\xa2\\x9c\\xdb\\x64\\xb6\\xdb\\xf9\\xbe\\xac\\xdd\\xa4\\x31\\xa5\\xd1\\xac\\xb7\\xb7\\xdb\\xdb\\x73\\x0b\\x3a\\x20\\xe4\\x48\\x93\\x6a\\xac\\xa5\\x83\\x56\\x1b\\x1b\\xc7\\x6e\\xe3\\x15\\x6b\\xa0\\x79\\x38\\x2a\\xf2\\x93\\x21\\x18\\x20\\xe5\\xa6\\x35\\x40\\x47\\x03\\x8a\\x31\\x0a\\xf5\\x84\\xa0\\x45\\xd4\\x39\\x64\\x12\\x7b\\x4e\\x89\\x54\\x12\\xe4\\xd3\\x3c\\x9a\\xa0\\xde\\x84\\x11\\x53\\x2e\\x53\\x7d\\xec\\x56\\xc1\\xc7\\xe4\\x20\\x6b\\x5d\\x59\\xdf\\xd2\\x33\\xba\\xa1\\x3c\\x52\\x4d\\x07\\x3f\\xed\\x86\\x8e\\xd5\\x5b\\xfd\\xc4\\xb0\\xf0\\xa3\\x90\\x2a\\xf3\\xb5\\xd9\\x4b\\x96\\xb2\\x23\\xf1\\x38\\x3e\\x71\\x77\\x44\\x7c\\x1c\\x7d\\x0b\\xa1\\x19\\xfd\\x38\\xc9\\x4b\\x18\\x36\\x77\\xee\\x0b\\x95\\xb3\\xf1\\xb8\\x84\\x5e\\x31\\xdc\\x0c\\x9e\\x86\\x39\\xcc\\x5f\\xbe\\x21\\x3c\\xf7\\xe3\\xd8\\xc8\\xda\\xd5\\x4b\\xb5\\xcd\\xa3\\xf7\\x21\\xf9\\xff\\x13\\x2a\\x58\\x85\\xf8\\x86\\xbf\\x37\\x5d\\xa6\\x35\\x18\\x18\\x82\\x22\\x38\\x42\\x05\\x54\\x26\\xc0\\x6b\\x58\\x14\\x4e\\xea\\x29\\x9a\\x82\\xb9\\x2c\\x4d\\x03\\x25\\x47\\x18\\x80\\xa1\\xb7\\x64\\xd8\\x8f\\xf4\\x2a\\x71\\x2c\\x62\\x4b\\xe3\\x7e\\xda\\xf3\\xa3\\xc4\\x38\\x69\\xdc\\x94\\x05\\x1c\\x10\\x36\\xb2\\xdb\\x3a\\x1e\\xe4\\x1e\\x6c\\x5d\\xc7\\x82\\xdb\\xd9\\x2d\\xad\\xf7\\x73\\xf7\\x77\\xac\\x89\\xdb\\xc0\\xba\\x01\\x30\\x28\\x3e\\x30\\x7c\\x74\\x40\\xb8\\xd3\\x26\\xdd\\x61\\x04\\xa0\\x4f\\xc1\\xc5\\xf7\\xfc\\xd3\\xd2\\x51\\x0d\\xad\\x54\\xda\\x08\\x27\\x6b\\x74\\xa2\\x69\\x58\\x4a\\x71\\x1a\\x16\\x03\\x13\\x61\\xca\\x60\\x30\\x9b\\x75\\x68\\x27\\x71\\x7e\\x18\\x56\\x61\\x17\\x71\\xfe\\x0d\\xb2\\x9c\\x69\\x27\\x73\\x5d\\x90\\xe2\\x41\\x40\\x92\\x98\\xeb\\x5c\\x4a\\x80\\x3b\\xd4\\xb6\\x97\\x05\\xb1\\x29\\x90\\x48\\x8b\\x21\\xe4\\x6a\\x49\\x9b\\xaa\\x56\\x4d\\x98\\xd4\\xa7\\x76\\x81\\xe7\\x45\\x1a\\x85\\xf9\\x03\\xfb\\xe7\\x45\\x73\\x8e\\xc2\\x3d\\x13\\xf5\\xb8\\x10\\xd7\\x0e\\x42\\x8c\\xbc\\x0a\\xfd\\xbe\\x07\\xda\\x68\\x02\\x5b\\x97\\x6e\\x09\\xe9\\xf5\\x09\\x6d\\xa5\\x97\\x81\\xd0\\xe2\\x76\\x63\\x5a\\x8e\\xac\\x76\\x3a\\xab\\x9c\\xb6\\xde\\xac\\xd3\\x11\\xd6\\x8b\\xd4\\x57\\x22\\xc3\\xa2\\x78\\x7f\\x26\\xcb\\x9b\\x99\\x72\\x45\\x79\\x7f\\x56\\xa1\\xbb\\x8e\\x87\\xf6\\xd2\\xc9\\x6d\\xe8\\x7b\\x50\\x90\\x72\\x3e\\x84\\x97\\x59\\x92\\x63\\x54\\xa4\\x6c\\xb4\\x88\\xa3\\x72\\x2f\\xb6\\x43\\x72\\x10\\xbe\\x90\\x1c\\xc5\\xfb\\x02\\xdc\\xa6\\xb6\\x7c\\x54\\xca\\x76\\x72\\xe3\\x53\\xc2\\x87\\x2f\\xc2\\xc8\\x54\\x55\\x25\\x85\\xaf\\x47\\x56\\xb4\\xad\\xb8\\xe1\\xf9\\xa8\\xd0\\x01\\xbe\\x2f\\x06\\xa7\\x3e\\xf0\\x75\\x99\\x7d\\x14\\x93\\x36\\xd6\\x0e\\x7c\\xef\\x0b\\x8d\\x62\\x8e\\xf0\\x7b\\x14\\xb0\\x12\\x01\\xe1\\xb9\\xaa\\xb7\\x9f\\x3a\\x8b\\xa2\\xd2\\x8b\\xc8\\x5f\\x54\\xcb\\x73\\x18\\xdc\\x58\\x14\\x5b\\x9a\\xae\\x0b\\xf8\\xcd\\x66\\x80\\x39\\x22\\x41\\x9e\\x57\\x32\\x1a\\x95\\xc6\\xe1\\x22\\x6d\\x65\\xb6\\x72\\x87\\xd1\\x68\\xd6\\xea\\xb4\\xbd\\xd9\\x20\\xa6\\x52\\x43\\xec\\x72\\xf2\\x6a\\x35\\x69\\xd5\\x71\\xa4\\xa7\\x2f\\x4b\\x9a\\x0b\\xa8\\x25\\x73\\x5e\\x3c\\xa9\\x21\\x7f\\x96\\x85\\xe0\\xa0\\x68\\xda\\x71\\x5e\\xe5\\x7c\\x79\\xd5\\x03\\xe8\\xf1\\x94\\x38\\x26\\x99\\x38\\x69\\x72\\xbe\\xff\\xd4\\xb3\\xe7\\x08\\xc7\\x66\\x6e\\x73\\xab\\x34\\xc4\\xa1\\x15\\xfc\\xbe\\x55\\x9a\\xe0\\xd0\\x7a\\x03\\x37\\xfa\\x3f\\xb7\\xdc\\x6b\\x34\\x0b\\x26\\x33\\x05\\x9e\\xdf\\x7c\\xf6\\xc9\\xdd\\xeb\\x2d\\xd1\\x7b\\xf3\\xba\\x59\\xd0\\xd1\\x13\\x3b\\x37\\xec\\xdc\\x55\\xee\\x38\\x2b\\xe2\\x33\\xe4\\x17\\xcd\\x47\\xa9\\xc4\\xea\\xb0\\xa3\\xe9\\x6e\\xb3\\xd6\\x14\\x76\\x7b\\x4c\\x1e\\x7d\\x20\\x50\\x83\\x61\\xf6\\x0a\\xbd\\xd1\\x56\\x5b\\xab\\xa4\\x69\\x63\\x45\\x9c\\xf4\\xb2\\xde\\x14\\x5b\\xef\\x37\\x1a\\xf9\\x30\\xc7\\x73\\xfd\\xd9\\x24\\xc6\\x2a\\xd8\\x4c\\xb6\\xc2\\xa6\\x70\\x9b\\x35\\xe6\\xde\\x6c\\x44\\xa3\\x81\\x7e\\x87\\xf0\\xf0\\x1c\\x91\\xc8\\x64\\x09\\xf3\\x18\\xf0\\x16\\x07\\x67\\x14\\xe4\\x21\\xed\\xc2\\x2f\\xb1\\x3b\\x39\\x91\\xa9\\xd1\\x17\\x87\\xf2\\xa2\\x2e\\xd4\\x21\\xc9\\xa0\\xf5\\xd4\\x72\\x73\\x39\\x21\\x2e\\xc2\\xa9\\x85\\xbe\\xd6\\xc7\\x88\\x2f\\xae\\x19\\x37\\x70\\x01\\x46\\x14\\x16\\xd4\\x24\\x9e\\xf8\\x20\\x22\\xbc\\xff\\xc3\\xcb\\x6f\\x13\\x93\\xb8\\xa9\\x65\\xff\\x75\\x58\\xd7\\x7e\\xa8\\xaa\\x29\\xd5\\x04\\x1e\\xe9\\x5c\\x74\\x77\\x00\\x1f\\x8f\\x2f\\x1e\\xb4\\x82\\x87\\x5d\\x29\\x73\\xcd\\xcd\\x6d\\xe4\\xae\\x13\\xa0\\x9b\\x1b\\x3d\\xb5\\xf7\\xf5\\xe8\\xe8\\xd7\\x28\\x30\\xeb\\x91\\x6f\\x3d\\x72\\xa2\\x66\\x60\\xe7\\x13\\xce\\x3a\\xe5\\xd2\\x7f\\x5e\\xc3\\xb8\\x5b\\x47\\x42\\x83\\x1b\\x35\\x00\\xfb\\xe7\\x52\\x65\\x9d\\xe1\\xc1\\x9d\\x4a\\xd5\\x80\\xf0\\xf3\\x53\\x07\\x26\\xff\\x10\\xe9\\x4a\\x37\\xca\\xef\\x20\\xfe\\x07\\x61\\xe4\\x38\\x27\\x5d\\x15\\xc3\\x8c\\x84\\x46\\xe9\\x71\\x86\\x42\\x56\\xab\\x92\\xc0\\xc8\\x64\\x8d\\xa7\\xd2\\x5f\\xd9\\x9f\\x35\\x12\\x26\\xbf\\xce\\x01\\xad\\xc7\\x81\\x99\\x22\\x99\\xac\\xc9\\xcc\\x70\\x99\\xac\\x8a\\x71\\x14\\xc6\\xfa\\xcb\\xe1\\xc6\\x75\\x73\\xc7\\xf2\\x01\\x33\\x53\\xd2\\xdb\\x06\\xf5\\x41\\x9c\\xf4\\x28\\xd5\\x17\\xe5\\x02\\x41\\x71\\x2a\\x47\\xbc\\x3a\\x9c\\xad\\xb1\\xee\\x5d\\xed\\x9b\\x67\\x16\\x37\\x93\\xb7\\x4f\\xb1\\x3a\\x77\\x1c\\x9f\\xfd\\x78\\xfb\\xaf\\x50\\x45\\x6d\\x8a\\x5e\\x2a\\xb8\\x8d\\xd6\\x17\\x0a\\x6a\\xf8\\x96\\x3b\\x84\\x41\\xe1\\xe7\\x77\\x1c\\x33\\x29\\xae\\xac\\x71\\x6c\\x3e\\xf0\\x70\\x4f\\x3c\\x42\\xb1\\x10\\x75\\x27\\x6d\\x40\\x75\\xb6\\xd1\\x6c\\x49\\x3d\\x4d\\xe8\\x26\\x29\\xc8\\x77\\x00\\xf2\\x3d\\x3f\\x5d\\x63\\xe0\\xf9\\xa0\\xcf\\xa7\\x56\\xc4\\x6c\\x0a\\x1b\\x56\\x83\\x25\\x03\\xbe\\xde\\x6c\\x00\\x73\\x41\\x56\\x5d\\x3a\\xbe\\xd2\\x0c\\x25\\x60\\x36\\x1b\\x01\\x4c\\xe0\\x4c\\xb4\\x36\\x93\\x55\\x2a\\xe9\\xfc\\x06\\xf9\\xb1\\x15\\xb5\\x42\\x4c\\x52\\x93\\xcb\\x80\\x20\\x06\\x8c\\x61\\x3d\\x50\\x5c\\x57\\x43\\x35\\x56\\x63\\x49\\x05\\x8d\\xa4\\xfe\\xbc\\xde\\x5f\\xc4\\x7b\\x7a\\xaa\\xd9\\xf8\\x5a\\x51\\x39\\x8d\\x4c\\x9f\\x66\\x53\\x45\\x65\\x33\\xea\\xf6\\xcf\\x5f\\xb0\\xbd\\x2c\\x33\\x7e\\xe3\\xee\\xe5\\xf9\\xfa\\x59\\x15\\x58\\x69\\x8d\\x8f\\x5e\\x1e\\x53\\x33\\x9b\\x21\\xd7\\xcc\\xc2\\x58\\x5f\\xba\\xdc\\x68\\x36\\x93\\x00\\xb8\\x34\\x4a\\x65\\xd4\\xeb\\x72\\x45\\xec\\x10\\x0e\\xdd\\x6e\\x3b\\x04\\x2c\\xa3\\x39\\x93\\x25\\x8d\\xe2\\x70\\x03\\xb5\\x9a\\x05\\x98\\xa9\\x50\\x2c\\xcb\\xc5\\xce\\xb1\\x9c\\x97\\x2e\\x34\\x56\\x24\\xbf\\xbc\\x32\\x36\\x86\\xff\\xa1\\xe3\\x5f\\x5a\\x0f\\x7b\\xda\\xb1\\x67\\x65\\x31\\xcf\\xc4\\xec\\x92\\x4a\\xd8\\x55\\xcb\\xf1\\x23\\x39\\x16\\x91\\xee\\x02\\xa1\\x9b\\xca\\xc0\\xb8\\x38\\x81\\xb5\\x62\\x5b\\xd3\\xed\\x0e\\x6b\\x73\\xc4\\x57\\x5b\\x5b\\xa9\\x64\\x18\\x3d\\xa6\\xaf\\xac\\x8c\\x58\\x89\\x36\\x1d\\x86\\xb5\\x93\\xe2\\x14\\x22\\x32\\xa1\\x87\\xfc\\x24\\xc8\\x44\\x30\\x16\\x4b\\x65\\xb2\\x31\\x9d\\xaf\\x2a\\x58\\xd5\\x9f\\x0d\\x9a\\x4d\\xae\\xbe\\xac\\xcd\\x66\\x2a\\x1c\\x68\\x51\\x85\\x02\\xc2\\xab\\xe4\\xc9\\x62\\x25\\xd7\\x02\\x25\\xa9\\x20\\x53\\xda\\x0c\\x26\\x1a\\x76\\x09\\xb3\\x32\\x32\\xa2\\xb3\\x36\\x5b\\x08\\x64\\xdd\\xe2\\x69\\x8b\\x97\\xe2\\x54\\xc6\\x5a\\x74\\xce\\x65\\x8d\\x15\\x66\\xe1\\x9e\\xa1\\xd2\\x88\\x3a\\x22\\x45\\xdb\\x80\\x42\\xd1\\x76\\x4a\\x30\\x35\\x1d\\x6e\\x5d\\xd3\\xd2\\x9a\\x40\\x91\\x38\\xbe\\xf8\\x56\\xf9\\xd0\\x13\\x23\\x9b\\x46\\xbf\\x93\\x8f\\xb0\\x7f\\x2f\\xc6\\xdd\\x48\\x01\\x0c\\xc2\\x5b\\x02\\x3d\\xad\\x0d\\x5f\\xa1\\x53\\x88\\x11\\xb9\\xe8\\xd7\\x9b\\xe1\\xf9\\x3f\\x01\\x75\\xdf\\x8f\\xad\\x48\\x37\\x39\\xbc\\x50\\x5e\\xbc\\x5e\\xef\\xb7\\xf3\\xbc\\xc9\\x64\\xf0\\xf9\\xbd\\x94\\x3b\\xe0\\x0e\\x7a\\x1d\\xe8\\x66\\xc1\\x60\\x87\\x86\\xef\\xe2\\xac\\x10\\x19\\xad\\x98\\xc9\\xa4\\xf7\\xc3\\x70\\xc4\\x24\\xcb\\xb3\\xc4\\x02\\x24\\xeb\\x97\\xa7\\x0e\\x96\\x64\\xcc\\xb9\\x8b\\xd1\\xd0\\x75\\x36\\x40\\x30\\xf2\\x8c\\x09\\xe9\\xbd\\x0b\\x30\\x12\\x7b\\xc7\\x2a\\xfd\\xdd\\x3f\\x3e\\xd6\\x76\\xe6\\xcf\\xb7\\xb0\\xa0\\xfa\\x3c\\x38\\x3f\\x9f\\x05\\x41\\xb6\\x4f\\xf8\\xf1\\xdf\\xe2\\x45\\xaa\\x0e\\x7e\\x76\\x58\\x38\\x4f\\x75\\x59\\xe3\\x57\\x1b\\xc0\\x57\\x1c\\xf1\\xb8\\x45\\xf8\\xcd\\xe8\\xdf\\x21\\x8f\\x30\\x67\\xc2\\xd5\\x90\\x47\\x33\\xd6\\x94\\x76\\xeb\\xcc\\x66\\xbd\\x92\\xd1\\x33\\x56\\x8b\\x38\\x4b\\x14\\xd3\\x9b\\xff\\x15\\x1f\\xa5\\xb3\\xb2\\xae\\xa7\\x59\\xa2\\xf7\\xa5\\xb1\\x74\\xfe\\xe1\\x0f\\x28\\x64\\xf9\\x43\\x31\\x61\\x88\\xa6\\xcf\\x5f\\x10\\xe5\\x3d\\x05\\xea\\xe9\\x7a\\x18\\x9b\\xb4\\xc0\\xb8\\xa4\\x89\\xd7\\x63\\xe1\\x70\\x79\\x44\\x1f\\x71\\x54\\x3b\\xdc\\x6e\\x3a\\x55\\x5d\\x5d\\x43\\xd7\\xb4\\xb5\\x62\\xa9\\x94\\xaf\\xa2\\xa9\\xa2\\x3f\\x4b\\x34\\xe9\\xea\\x92\\xbd\\xd9\\x3a\\x5d\\xa4\\xc6\\xe4\\x50\\x40\\xc0\\x35\\x69\\xa1\\x21\\x1a\\x0c\\xda\\x12\\x3a\\x93\\xa5\\xe3\\x93\\x0a\\x44\\x97\\x14\\x6c\\x4b\\x7b\\x52\\xaf\\xe3\\xa5\\x5e\\x2e\\xc7\\xe6\\x7b\\x54\\xa5\\x2f\\xf3\\x55\\x48\\xb9\\x2c\\xab\\x58\\xba\\x7f\\x2c\\xbf\\xef\\x89\\xb3\\x6e\\xb6\\x0d\\xcb\\xb3\\x6e\\xf6\\x2c\\x92\\x66\\xdd\\xe4\\xaa\\xb3\\x52\\x15\\x56\\x9c\\x9f\\x53\\x24\\x11\\x79\\x92\\xce\\xbe\\x26\\x79\\x92\\xce\\xec\\xdd\\x8d\\x85\\x49\\x3a\\xe2\\xdb\\x4d\\xa4\\x97\\x50\\x4e\\xe5\\xd8\\xcc\\x74\\xa5\\xcf\\xe1\\x70\\xc2\\x33\\xe3\\xf9\\x48\\x84\\x71\\xc2\\x3c\\xd7\\x67\\x09\\x5a\\xa0\\xb9\\xea\\xc4\\xeb\\x1d\\xce\\x69\\xd2\\x97\\xff\\x5b\\x5d\\x1c\\x3b\\x8f\\xee\\x5f\\x9d\\x67\\x51\\xea\\x50\\x54\\x7d\\xa5\\x09\\xe2\\x89\\xb1\\x3c\\x4b\\x49\\xc2\\xd3\\x0d\\x6b\\x24\\x4e\\xa5\\xb2\\x2b\\x8c\\xff\\x4b\\x38\\x44\\x99\\xc0\\x9e\\xb9\\xa3\\x87\\x88\\x65\\x72\\x95\\x55\\xdb\\x34\\x7a\\x2f\\x8a\\x51\\x0e\\xca\\x75\\xd4\\x08\\x56\\x8b\\xa2\\xd3\\x28\\xea\\x9b\\x74\\xd9\\x03\\xc6\\x4a\\xbd\\xde\\x68\\x67\\x48\\xaa\\x9e\\xaa\\x0b\\x18\\x8d\\xa1\\x50\\x79\\x26\\x1b\\x32\\x5b\\x3c\\x99\\xac\\xc3\\x61\\x71\\xa9\\xab\\xb5\\xd5\\xfd\\x59\\xad\\x5c\\x55\\x66\\x70\\xf1\\x16\\xe7\\x4b\\xca\\xa9\\x05\\xe0\\xfa\\x92\\x7a\\x95\\x38\\x3b\\xbb\\xf0\\xe4\\x2e\\x17\\xa2\\x7e\\xa9\\x37\\x2e\\x76\\xc0\\xbf\\x55\\x55\\x1d\\x65\\x85\\x5e\\x76\\xdb\\x87\\xf9\\x40\\x75\\xe5\\xf8\\x52\\x87\\x1c\\x3a\\xfa\\x8d\\xca\\x21\\x50\\x28\\xa1\\xe2\\x72\\x44\\x4a\\xbe\\x2b\\xc5\\xa9\\xef\\x3e\\x25\\x6c\\xcb\\xbb\\xe3\\x1f\\xee\\xd3\\x6c\\x28\\x54\\x4f\\x91\\x1f\\x9a\\x00\\x65\\x82\\xea\\xa7\\x5e\\xac\\x27\\x1d\\xa5\\xec\\x76\\x8b\\x45\\x8d\\x7b\\xbd\\x7e\\x4e\\xad\\xf6\\x39\\x70\\x37\\xde\\x9f\\x05\\xc0\\xad\\xb3\\x59\\x7a\\xb3\\x36\\xce\\x6c\\x52\\x40\\xf8\\xd6\\x68\\x14\\xf9\\x93\\xce\\x0f\\x5f\\xcd\\x17\\x4f\\x8b\\x5e\\x42\\x4a\\x0d\\x20\\x5f\\x66\\xbc\\x52\\x05\\x15\\xff\\x54\\x2c\\x8b\\xde\\x3c\\xe6\\x88\\xbb\\x4f\\x15\\x0a\\xa7\\xf8\\x5b\\xbb\\xb7\\x0f\\x8f\\x32\\x85\\xc3\\x45\\x9a\\x8a\\xaa\\xa5\\x52\\x6e\\x64\\x83\\xf8\\xf2\\x33\\xb1\\xce\\x38\\x98\\xae\\xb6\\x99\\xab\\x83\\x6a\\x85\\x01\\x77\\x63\\x15\\x65\\x65\\x18\\xae\\x08\\x9a\\xe9\\x54\\x83\\xbb\\x1a\\xaa\\x6e\\x65\\x26\\x5b\\x5e\\x1e\\xd1\\xf1\\x4e\\x54\\x2e\\xe5\\xcd\\x63\\x83\\x87\\x31\\xe5\\xc6\\x2f\\x99\\xe5\\xf0\\xa5\\x07\\x55\\x54\\x79\\x8c\\x14\\xbd\\xd6\\xc8\\xb5\\x5e\\xb9\\x01\\x7e\\x49\\x97\\x2c\\x3d\\x2a\\xeb\\x82\\x33\\xf9\\xda\\xe3\\xbc\\x91\\x25\\x8b\\x8b\\x4a\\x8e\\x03\\x37\\x2c\\x5f\\x08\\xf8\\x8a\\x99\\xc2\\x4f\\xf2\\x67\\x75\\x6b\\x9d\\x54\\x77\\x6c\\x1e\\x4c\\x56\\x6f\\xc9\\xe4\\x2a\\x8e\\xf5\\xfd\\x2d\\xf5\\x3b\\xe1\\xb9\\xb1\\xf0\\xdc\\x7c\\x10\\x5b\\x2b\\xa1\\xff\\xa8\\x37\\xea\\x6c\\x0a\\x9d\\xa2\\x92\\x75\\x38\\xa2\\x51\\x2f\\x5e\\x59\\x59\\x15\\xf0\\x7a\\x13\\x1a\\x13\\x9a\\xf1\\xae\\x61\\xd1\\xa0\\x64\\x56\\xc3\\xba\\x2b\\x2a\\xc8\\x0c\\x3c\\xcd\\x0a\\xcc\\x1d\\xca\\x64\\x7d\\x3e\\xb7\\x63\\x6c\\xa5\\x75\\x8c\\xa3\\x2d\\x1c\\x66\\xa1\\x08\\x27\\x97\\xa2\\x08\\xdf\\x58\\x23\\xf6\\x95\\xb6\\x24\\x1a\\xa5\\x13\\x16\\x50\\x5c\\xd1\\x3e\\xd1\\x71\\x12\\x5c\\x0e\\x15\\x1f\\xf3\\x34\\x9e\\x13\\x1e\\xf1\\x04\\xbf\\x7a\\xb8\\xaf\\x57\\xfc\\x41\\xc7\\x54\\xeb\\xcb\\x91\\x97\\x1f\\x9a\\xd6\\x46\\x3e\\xbf\\xc1\\xb4\\xf6\\xde\\xab\\x8f\\xbf\\x2b\\x4b\\x61\\xd7\\xae\\x39\\x17\\xbf\\xfd\\x9a\\x1b\\x7e\\xb5\\xe7\\x10\\x99\\x82\\x51\\x88\\x54\\xb7\\x82\\xbc\\xdf\\x2e\\xce\\x90\\x1f\\x48\\x57\\x04\\xf4\\x66\\xb3\\xc9\\x66\\x32\\x28\\x19\\x1d\\x66\\xf3\\x7a\\x31\\xc6\\x40\\x06\\x43\\x2e\\x5e\\x74\\x32\\x9c\\x3e\\x90\\xc9\\x9a\\xf5\\xe6\\xb1\\x08\\x95\\xfc\\x72\\x74\\x32\\x34\\xca\\xd5\\x8c\\xb1\\xcc\\xa1\\x97\\x95\\x0e\\x20\\x0e\\x6c\\x93\\xfa\\x7a\\x00\\x41\\x04\\x4b\\x19\\xd2\\x0a\\xcf\\x7c\\x7d\\xbd\\x02\\x60\\x77\\xfd\\x33\\x5d\\x6e\\x65\\x5f\\xb6\\x4f\\x17\\x0e\\xb7\\xbc\\x9d\\xe7\\x62\\x80\\xd8\\x6e\\x8b\\x8f\\x06\\xc1\\x89\\xe5\\xd9\\x50\\x05\\x13\\xb7\\x44\\x67\\xdf\\x34\\xfa\\x84\\x68\\x7f\\xbf\\x81\\xbc\\xec\\x82\\xbc\\xd4\\x62\\x23\\xe9\\x46\\xad\\xaa\\x2c\\x5c\\x95\\x70\\x57\\xbb\\x30\\xbb\\x92\\xa3\\x8d\\x46\\xbb\\xdd\\x1d\\x56\\x91\\xf5\\x18\\x4d\\xd7\\x55\\xb9\\x7b\\xb3\\x55\\xa6\\x40\\x2c\\x93\\x8d\\x44\\x02\\x0e\\xce\\xa5\\xac\\x26\\x49\\x8b\\x34\\x74\\x32\\x77\\x9f\\x81\\xa1\\xd8\\xa8\\x00\\x44\\x5f\\xd2\\x43\\x21\\x2b\\x74\\x8a\\x47\\x4d\\x13\\x28\\x4f\\x0c\\x49\\xed\\x49\\xd2\\x2a\\x0c\\x91\\x35\\x0e\\x18\\xaf\\xf7\\x52\\x04\\xfc\\xc9\\x91\\x72\\xf6\\x05\\xdd\\xa4\\x4e\\xa0\\x3f\\xbf\\x92\\xfd\\xec\\xae\\x9d\\xe9\\xda\\xa8\\x91\\x7d\\xd6\\x74\\xe8\\x87\\xaf\\x6c\\x1a\\x0b\\xd2\\x67\\xce\\x3e\\x91\\x4a\\x0e\\x38\\x55\\x71\\x8d\\xdb\\x33\\xb3\\x55\\x00\\x87\\x6d\\x71\\xe1\\xf4\\xe6\\xd6\\x89\\x36\\x9d\\x9e\\x8e\\xeb\\x1c\\x2d\\xfb\\xfe\\x43\\xe8\\x32\\x15\\x87\\x0f\\x77\\x3e\\x5a\\x37\\x41\\xac\\x29\\x43\\x59\\xa0\\x5a\\x87\\x0f\\xfa\\x9e\\xb8\\xdb\\xab\\xd7\\x5a\\x18\\x3b\\x86\\x31\\x5a\\x2f\\x19\\xc0\\xad\\x56\\x3f\\x70\\xf8\\x1c\\x99\\xac\\xd7\\xeb\\xe3\\x68\\xda\\x6a\\xc5\\x33\\x59\\xab\\x49\\x65\\xcc\\x64\\x39\\x4e\\x55\\x1a\\x37\\x26\\x8a\\x21\\xa9\\xf4\\xf5\\x0a\\x23\\xb5\\xc7\\x8e\\x35\\x67\\x5f\\x7e\\xfa\\x1a\\x81\\xb3\\xa3\\xff\\x29\\xd6\\x8e\\xa7\\x8c\\xe1\\x6a\\xf4\\x8c\\x02\\xaf\\x95\\xcb\\xc7\\xc4\\xf9\\xea\\xab\\x3f\\x48\\x1c\\x15\\xe6\\x15\\x98\\x88\\x13\\x09\\x54\\xe3\\x13\\x6b\\xc5\\xad\\x30\\xaf\\x19\\x84\\x31\\xb1\\x1f\\x46\\xc5\\xd9\\x74\\x65\\xb9\\x4e\\xa1\\x52\\x05\\x02\\x56\\x9d\\xb5\\xca\\x87\\x61\\xd5\\x16\\x8e\\x0f\\xa3\\xa1\\x6b\\x50\\x3e\\xf1\\xfe\\xac\\xc6\\xac\\xb4\\xa1\\xb9\\x90\\x7e\\x3f\\x41\\x40\\x8f\\x43\\x38\\x0a\\x23\\xd8\\x4a\\x92\\x9a\\xe2\\xf7\\xd1\\x12\\x33\\x14\\x43\\xe7\\xb3\\xfd\\xe2\\x0e\\x81\\x24\\x61\\xd1\\x02\\x8b\\x38\\x7d\\x0d\\x14\\x65\\x34\\x29\\x72\\x30\\xd0\\x3a\\x6e\\xd1\\x6c\\xda\\xf5\\x2a\\xcc\\x62\\xb6\\x1d\\x3d\\x05\\xb0\\x13\\xdb\\x56\\xc6\\xeb\\x1f\\x58\\x6f\\xb2\\x12\\xb3\\x23\\x9e\\xa4\\xf0\\x9d\\xc8\\xf8\\x9a\\xe1\\xb3\\x0b\\x67\\x77\\xaf\\x3f\\xf0\\xe1\\x5b\\x86\\xf9\\x73\\xad\\x6d\\x8f\\xdd\\x07\\x1d\\xc8\\xd3\\xa0\\xfa\\x89\\x72\\xff\\xd5\\x43\\xb6\\xcd\\x77\\xb9\\x57\\xe9\\xb7\\x92\\x5e\\x87\\xe9\\x9e\\x6b\\x18\\xcc\\x64\\x0e\\x17\\x78\\x45\\x7b\\x0b\\xd0\\xad\\x47\\x9c\\x66\\xd9\\x00\\x8a\\x61\\xd5\\x35\\x6e\\xaf\\x37\\xc9\\x73\\x3a\\xc8\\xaa\\x4e\\xc7\\x56\\x28\\x2b\\xfa\\xb2\\x4a\\x33\\x63\\x46\\x23\\xc3\\x3d\\x1e\\x0c\\x83\\x58\\x8c\\xfd\\x5f\\x58\\x4d\\x16\\xf5\\xb7\\x22\\x36\\xbd\\xfa\\x5a\\x83\\x38\\x78\\xb4\\x98\\x4d\\x34\\x64\\x4e\\x7a\\x59\\x28\\x77\\x8e\\xd7\\x13\\x2f\\x20\\x46\\x9f\\x04\\x87\\xef\\x13\\xfe\\xb0\\xe7\\xe7\\x87\\x7a\\x56\\xf2\\xfc\\xd9\\x7b\\x73\\x8c\\x26\\x02\\xad\\xc2\\x77\\xfb\\x27\\xcd\\xbb\\xb3\\xff\\xb1\\xd6\\xb5\\x1d\\xd5\\x26\\xa1\\x5b\\xe4\\x75\\xd5\\x1e\\x90\\xb9\\x04\\xe2\\xe7\\x26\\x74\\xac\\xbe\\x7a\\x5a\\x66\\xf6\\x2d\\x03\\x39\\x75\\xd9\\xd6\\xc3\\xc2\\x5f\\x1e\\xf9\\x7d\\xb2\\x0e\\x70\\x9b\\xa4\\x3e\\x21\\x98\\xb7\\x52\\x51\\x98\\xbb\\x69\\xb0\\x06\\x94\\xb7\\x32\\xb1\\x30\\xaa\\x4a\\x99\\x9c\\x6e\\xb7\\x29\\x46\\x34\\xea\\x1a\\x1a\\x9a\\xea\\x0d\\x48\\x2f\\xeb\\x41\\x82\\xc8\\x64\\x13\\xba\\xb0\\x32\\xaa\\xec\\xcf\\x46\\xcd\\x2e\\x97\\x4f\\x5c\\x67\\xe1\\x28\\x1d\\xb3\\x97\\xf7\\xa2\\x45\\xfa\\x9a\\x67\\xbd\\x24\\x27\\xcd\\xe3\\x6f\\x61\\xba\\x9e\\xf4\\x3c\\xbd\\xe8\\xfc\\xdb\\x81\\x84\\xbd\\x9f\\x15\\xe5\\xa6\\xf8\\xb6\\x6a\\xab\\xab\\x3a\\x3d\\xd9\\xf6\\x5d\\x7e\\x66\\x32\\x54\\x99\\x08\\xcc\\x68\\xdf\\xbc\\xb3\\xba\\x90\\xcb\\xe2\\x54\\xf8\\xed\\xa3\\x3d\\x6d\\xc4\\x84\\x42\\x92\\x4a\\x7c\\x6f\\x87\\x69\\xf3\\xb1\\x2f\\xf6\\xac\\x69\\x38\\xe0\\x5c\\xfd\\x96\\x61\\xff\\xce\\x45\\x7f\\xce\\x25\\xb4\\xae\\xe8\\x0f\\x3e\\x34\\x22\\x39\\xb4\\x43\\x7b\\xfd\\xb1\\x78\\xf7\\x9a\\x44\\x37\\x7d\\xe5\\x76\\xad\\xc2\\x17\\x37\\x99\\x7c\\x5a\\xa2\\x36\\x8a\\x61\\x75\\xe5\\x50\\xb1\\xcb\\xcb\\x55\\x06\\x43\\x15\\x8c\\x9d\\x75\\x5e\\xaf\\x4a\\x05\\xb3\\x3c\\x95\\xb9\\xac\\x8c\\x20\\xc2\\xa5\\x9a\\x9e\\xfb\\x4d\\x1e\\xe1\\x3a\\xf6\\x79\\x43\\x41\\xd3\\x65\\x3e\\xe5\\x76\\xf7\\x42\\xbf\\x14\\x2e\\x0b\\xa4\\xd0\\xde\\x40\\xfc\\x58\\xd2\\xf6\\xb2\\xe3\\x07\\x1f\\x7e\\xfa\\xf6\\xcf\\x6f\\xdd\\x71\\xbc\\xa8\\x4b\\xaa\\x96\\x41\\x7a\\x30\\xda\\x27\\x37\\x43\\x49\\xda\\xde\\xfe\\xf1\\xec\\xe7\\x1e\\x3f\\x0b\\x7c\\x17\\xd7\\x0f\\x16\\x7a\\xa3\\x84\\xff\\x9e\\xe4\\x80\\x7a\\x80\\x7f\\xad\\xd0\\x07\\x05\\xb0\\x32\\xc8\\xf7\\x2d\\x90\\xef\\x0e\\xec\\x86\\x74\\x3a\\xa1\\xf2\\x19\\xe8\\x7a\\x87\\xd5\\x5a\\x1f\\xd5\\x1a\\x54\\x74\\x67\\x6b\\x7b\\xfb\\x38\\x6d\\xb0\\x22\\x58\\xd1\\x9b\\x55\\x07\\x9d\\x41\\x5c\\x4d\\x04\\x83\\xac\\xd9\\xec\\xce\\x64\\xed\\x76\\xb3\\xae\\xae\\x8e\\x65\\x6b\\xfa\\xb2\\xac\\xb9\\xad\\x0d\\xc3\\x9a\\x4b\\x8d\\xa0\\x80\\x5d\\xb9\\xa9\\xff\\xf9\\x69\\xb6\\x63\\x60\\xac\\x58\\x18\\x10\\xbe\\x72\\x3b\\x8c\\x8a\\x5e\\x8b\\xa2\\x5d\\x1e\\xe8\\xbd\\xa8\\x3f\\x92\\x7f\\x2f\\x9a\\x17\\x12\\x7a\\x1d\\xf0\\xcb\\x45\\xb3\\x99\\xd0\\xe6\\x23\\x47\\xef\\x39\\xb9\\x05\\x64\\x26\\xae\\x78\\x61\\xe5\\xcd\\x6b\\x82\\x55\\x21\\x53\\x7f\\x64\\x70\\x73\\x75\\xa5\\x77\\xbf\\xc1\\xa6\\xb7\\x37\\xdc\\x3a\\x7d\\xc1\\xf2\\x59\\x93\\xb6\\x4f\\xf2\\x54\\xaa\\x72\\x66\\x83\\x2c\\x25\\xfd\\xde\\x84\\x2d\\x6b\\x56\\x3f\\x62\\x63\\x1c\\xb3\\xd3\\xbd\\x3b\\x27\\x06\\x5f\\x5f\\xaf\\xb7\\xae\\x99\\x5f\\x33\\x55\\x4f\\x32\\x0b\\x35\\x96\\x8d\\xfd\\xd3\\x66\\x97\\x55\\x55\\x0a\\xd7\\x32\\x61\\xd1\\x7e\\xc4\\x9d\\x88\\x30\\x4e\\xfb\\x2d\\x94\\x57\\x3b\\xb6\\x33\\x3d\\xc9\\xeb\\x6f\\x6e\\x55\\x27\\xec\\x65\\x65\\x89\\x58\\xab\\xc1\\xcf\\x30\\x1d\\x29\\x82\\x48\\x57\\x58\\x38\\x34\\x86\\x5e\\x6d\\x71\\x5a\\xba\\x2d\\x83\\x96\\x55\\x16\\x4a\\x4d\\x58\\x2c\\x35\\xe1\\x1a\\x45\\x5f\\x96\\x61\\x6a\\xcc\\x7e\\x7f\\x38\\xec\\xca\\x64\\xc3\\xba\\x96\\x16\\x0c\\x6b\\xfc\\xff\\x29\\x36\\xa3\\x2c\\xae\\xdc\\xc4\\x6b\\x3a\\x06\\x52\\xd2\\xd6\\x93\\x3a\\xb9\\x24\\x9c\\x9f\\x68\\x5f\\x68\\x97\\x95\\xa6\\x8e\\x88\\x42\\x5b\\x0d\\x65\\x56\\xee\\xd9\\x71\\x74\\xd5\\xee\\xda\\x9a\\x87\\x27\\x7b\\xf5\\x5e\\xdf\\x33\\xda\\xc9\\x33\\x66\\xf6\\xc7\\x16\\x38\\x1b\\x53\\xe1\\xa6\\x4d\\x53\\xce\\x9e\\xfb\\x39\\xe8\\x19\\xfc\\xc1\\xb7\\x36\\xac\\x74\\x29\\x8b\\x24\\x66\\x4b\\xff\\xb1\\xa5\\x61\\xf1\\x8a\\xd6\\xac\\x51\\xbd\\x50\\x89\\xf3\\xeb\\xbb\\xa7\\x4c\\x73\\x19\\x56\\x7d\\x57\\x6d\\xdc\\xb2\\xe2\\xa9\\x2e\\x86\\x1f\\xe9\\x3a\\xf1\\x60\\xd5\\xa3\\x53\\x72\\xe2\\x82\\x76\\x55\\x09\\x31\\x35\\x06\\xe5\\x15\\xc7\\x52\\xa8\\xdf\\xa3\\x5a\\x57\\x69\\xf2\\xd3\\x0a\\x45\\x34\\x14\\xf2\\x3b\\x75\\x64\\x43\\x05\\x14\\x81\\xb2\\x92\\xaf\\xec\\xcd\\x06\\x79\\x5e\\xe3\\xf0\\x78\\xac\\x7d\\x59\\x8f\\x4e\\x53\\x8b\\x86\\x5d\\xc7\\xe3\\x04\\x51\\xfe\\xa5\\x6e\\x24\\x3f\\x3d\\x71\\xcc\\x03\\x87\\x12\\x5f\\x92\\x32\\x06\\x68\\x4c\\x52\\xab\\x60\\x3b\\x28\\x5d\\xf9\\xcb\\x24\\x73\\xb0\\x03\\xf2\\xd3\\x64\\xc8\\x98\\x68\\x65\\xca\\x95\\x54\\x4c\\xf8\\xf0\\x59\\x68\\x63\\xc0\\x51\\xd4\\x89\\xf8\\xf0\\xd3\\xd4\\xa2\\x65\\x56\\xd1\\xb7\\x1c\\x2f\\x36\\xb5\\x8a\\x36\\x7c\\xe9\\x3b\\xc2\\xc7\\xc5\\x76\\xd6\\x33\\xf0\\xdc\\xe3\\xbe\\x9a\\xd1\\x4b\\x37\\xb5\\x20\\x6b\\x7b\\x46\\x7b\\xbf\\x64\\x6d\\x38\\xb6\\x01\\xea\\xce\\x3d\\x54\\x37\\x66\\xc5\\x82\\xe8\\x06\\x44\\xc1\\x71\\x4a\\x9b\\x47\\xe9\\x09\\x59\\x30\\x2c\\xec\\x77\\x4e\\xcf\\xfa\\xe5\\x18\\x48\\x89\\xb6\\x18\\x99\\xac\\x56\\x82\\x30\\x5d\\xcf\\xbe\\xb4\\x42\\xa0\\xc4\\x83\\x96\\xf8\\x4f\\xb1\\xa2\\x90\\x77\\x27\\x44\\x51\\xb3\\x3c\\x7e\\x8f\\xc8\\x20\\xe3\\xfa\\xc3\\x29\\x54\\x5d\\x38\\x75\\xbf\\xec\\x43\\x56\\xe7\\x56\\x57\\x88\\x0c\\xd9\\x3a\\x1e\\x92\\x57\\x58\\x48\\x6e\\x83\\x7a\\xb1\\x78\\x8f\\xc5\\xb5\\x3f\\x41\\xbc\\xc8\\x88\\x39\\x75\\x57\\x3a\\x1c\\x8e\\x6a\\x6d\\xb6\\xa8\\x91\\xa8\\x80\\x0e\\x3f\\xe6\\x42\\x0b\\x40\\x68\\x97\\x59\\xbe\\xbe\\xd1\\x45\\x22\\x18\\x16\\xbc\\x5e\\xbd\\xc7\\x7a\\x87\\x9c\\x2e\\x1b\\xa5\\x00\\xc6\\x50\\xa7\\xcb\\xcf\\x5f\\x90\\x2e\\x8f\\x8b\\xd5\\xf6\\x1c\\x44\\xc1\\x4c\\x4a\\xd7\\x3e\\xb2\\xe0\\xf1\\xa1\\xff\\xbc\\xfd\\x7e\\x77\\xdf\\x5b\\xf3\\x1f\\x7a\\xe6\\x36\\x61\\xf4\\xc8\\x82\\xa5\\x76\\x45\\xb1\\x61\\xb7\\x83\\x6f\\x3f\\xd5\\x7e\\x04\\x86\\x05\\x00\\x1b\\x2e\\x9f\\x3a\\xeb\\xc5\\x47\\x9f\\x12\\x7e\\xfe\\x94\\xed\\xee\\x5e\\xa7\\xa4\\x99\\xe0\\x5a\\x4c\\xce\\x39\\x62\\xa8\\xd7\\xc6\\x68\\x62\\x43\\xa6\\x90\\x03\\x8f\\xc5\\xe2\\x9c\\xc3\\x51\\xe1\\x76\\x57\\x94\\x89\\xf9\\x45\\x19\\xc6\\xf3\\x56\\xab\\x1e\\x5d\\x7f\\xab\\xfc\\x19\\x88\\xf7\\xc5\\x97\\x51\\xb9\\x3b\\xff\\x44\\x51\\x86\\x31\\x36\\xb7\\x90\\x46\\x47\\x94\\x3a\\xb8\\x1c\\xa7\\x63\\x13\\x8b\\x9d\\x30\\x87\\xf0\\x96\\x7b\\x65\\x2e\\xd0\\x41\\xa5\\xe5\\x7c\\xe2\\x86\\xa2\\x7c\\x62\\x74\\xe2\\xb7\\x5f\\x63\\xce\\xb7\\x8b\\x6c\\xa0\\xc3\\x02\\x4b\\x51\\x3e\\x81\\xdf\\x93\\xcb\\x27\\x96\\x42\\x7b\\x1b\\x81\\x71\\x67\\x05\\xb6\\x20\\x5d\\xad\\x50\\x2a\\x7d\\x3e\\xbf\\xc5\\x6e\\xe7\\xf5\\x7e\\x7d\\x3c\\x86\\x61\\x95\\x3e\\x79\\xe4\\xb8\\xca\\xa5\\x75\\xf5\\x67\\xb5\\x66\\x65\\x00\\xa9\\x5a\\x45\\x05\\x41\\x94\\xfd\\x9f\\x02\\xb6\\xe4\\x97\\xc7\\x6c\\xff\\xa2\\xbb\\xb7\\xa0\\x87\\xff\\x0f\\x6b\\x7f\\x02\\x1f\\x55\\x75\\x3d\\x0e\\xe0\\xf7\\xbe\\x6d\\xf6\\x7d\\xdf\\x33\\x99\\xcc\\x4c\\xf6\\x49\\x32\\x49\\x26\\x10\\x92\\x0c\\x21\\x40\\xc2\\x4e\\x80\\xc0\\x00\\x21\\x20\\x9b\\xe0\\xc6\\x26\\x22\\x0a\\x88\\x45\\x51\\x51\\xa0\\xe0\\x56\\x40\\x51\\x50\\xdc\\x81\\x8a\\x82\\x56\\x45\\x6a\\xc1\\x56\\xc1\\x5a\\xab\\xd6\\xb6\\xae\\x75\\xab\\xb5\\x2a\\x6a\\xd5\\x5a\\x35\\x6f\\xfe\\xf7\\xde\\xb7\\xcc\\x9b\\x49\\xf0\\xfb\\xff\\xfd\\x3f\\x7f\\x30\\x66\\x98\\x77\\xee\\xb9\\xe7\\xde\\x7b\\xf6\\xf7\\xde\\x39\\xcc\\x12\\x91\\xf7\\x9e\\xce\\x2f\\xe0\\x2c\\x97\\x76\\x16\\x79\\x51\\x62\\x41\\xb1\\x24\\x74\\xfe\\x43\\xbc\\x32\\x4f\\xa2\\xf3\\xbb\\x11\\x9d\\x1f\\xae\\x65\\x9c\\x40\\xb1\\x46\\xaa\\x44\\xe5\\x74\\x57\\x54\\x99\\xfd\\xfa\\x90\\xd5\\xeb\\x0d\\xf9\\xab\\xdc\\x2a\\x8e\\xae\\xa5\\x6b\\xfc\\x66\\x73\\xb1\\xa7\\x98\\xa8\\xdd\\x62\\xa7\\xcf\\xe6\\xb1\\xe1\\xd2\\xeb\\x1e\\x53\\x25\\x52\\x3a\\x65\\x79\\x8c\\x99\\x7b\\x7a\\x43\\xba\\x3b\\x37\\xe8\\x53\\x3a\\x05\\x4a\\xb7\\xb0\\xd0\\xf1\\x00\\x25\\x3b\\x52\\x54\\xb2\\x83\\x17\\x3e\\xfe\\xec\\xd4\\x60\\xba\\xb5\\xb0\\x0e\\xf2\\xdc\\x6d\\x47\\x15\\x0a\\x95\\x02\\x8f\\x51\\x25\\xd4\\xf3\\xcc\\x4a\\x60\\x02\\x01\\x30\\x54\\x51\\x3b\\x26\\x18\\x52\\xd4\\x8e\\x41\\x16\\x9c\\xc5\\xef\\x9c\\x93\\x77\\xc1\\xce\\x55\\x38\\x46\\x35\\x78\\xe1\\x18\\xdc\\x34\\xf0\\x25\\x16\\x17\\x68\\xb9\\xf7\\x5e\\xb1\\x74\\x4c\\x5d\\xf9\\x8c\\xf3\\xe7\\x47\\xdb\\x4b\\x8b\\xd5\\xcc\\x38\\xdf\\xf0\\xf1\\x2f\\x3e\\xf2\\xd7\\x49\\xc3\\x29\\x2d\\xbf\\xa7\\xb5\\xf3\\xb9\\x5b\\x6f\\x0a\\x16\\x3d\\x9f\\xc6\\xbd\\x0d\\xa9\\x18\\xb5\\x8b\\xb9\\x14\\x78\\x70\\x9d\\x3d\\x07\\xc7\\x01\\xaf\\x49\\xaf\\xf7\\xe1\\xd7\\x9f\\x87\\x3d\\xea\\x71\\xd1\\xf2\\xdb\\xb0\\x79\\xef\\x21\\x2a\\x2b\\x15\\x08\\xf9\\x06\\x61\\xf7\\x52\\x54\\x4f\\xd5\\xe5\\x43\\xe7\\x5c\\x98\\xb9\\x6d\\xea\\x94\\xe9\\xc2\\xcb\\xcf\\x8b\\x87\\x5e\\x31\\x6d\\x0e\\xb5\\xb9\\x3c\\x75\\xf1\\x82\\x0b\\x0f\\xce\\x0f\\xdd\\x71\\x7e\\x6c\\xfa\\xed\\x33\\xc9\\xbb\\xcf\\xf8\\xfd\\x33\\x40\\xe6\\x56\\x23\\xad\\xd4\\x95\\x0e\\x99\\x8b\\x7c\\x16\\x86\\x41\\x5e\\xbc\\xd3\\x59\\x1c\\xa4\\x2b\\xb4\\x65\\x65\\x95\\x94\\x05\\xb9\\xfa\\x8c\\xcd\\xe6\\xd1\\x6b\\x62\\x98\\xa2\\x20\\xe7\\x51\\x16\\xaf\\x48\\xe0\\x87\\x01\\xf2\\xca\\xbd\\x92\\x37\\x5f\\x90\\x22\\xc2\\xbb\\x62\\x13\\x08\\x0b\\x40\\xb9\\x66\\x41\\x9c\\x53\\x45\\xc8\\x3b\\x6a\\xe2\\x53\\x2d\\x54\\xe5\\xa2\\x39\\x63\\x02\\xf3\\x46\\x8d\\xa9\\xd3\\x94\\xb6\\x20\\x52\\xbb\\x2f\\xe9\\xea\\x58\\xb7\\x68\\x65\\x63\\xcc\\x5c\\xe9\\xab\\xb4\\xa0\\x55\\xc4\\xce\\x2b\\xf6\\x51\\x8f\\x0f\\x69\\x9c\\x9a\\x80\\x31\\x42\\xb9\\xb6\\xbd\\x35\\xd9\\x31\\x6b\\x44\\x5b\\x79\\x4f\\xba\\x22\\x85\\x16\\x64\\x35\\xdc\\x21\\xf8\\xe3\\xf7\\x53\\x11\\xea\\xaf\\xec\\xcd\\x88\\x39\\x4b\\xc1\\x84\\xb4\\x2d\\xc4\\xc5\\xf4\\x00\\x78\\x9c\\x46\\x8b\\xcd\\xc4\\xa9\\xcb\\x5c\\xae\\x72\\xd7\\x13\\xb0\\x2a\\x6d\\xf4\\x6b\\xb5\\xb4\\xd3\\x63\\x31\\x32\\x76\\x93\\x89\\xb6\\xe3\\x37\\xeb\\xf0\\xeb\\x1e\\x6d\\xc2\\x3b\\x28\\xb8\\x5d\\x0f\\x8e\\xff\\xdb\\x94\\xb7\\x96\\xc5\\x87\\xcc\\xe4\\xea\\x2a\\x71\\x55\\x1b\\x44\\x61\\x23\\x8a\\x3e\\xb0\\x83\\xa0\\x92\\xdf\\xf8\\x40\\x8c\\x4d\\x9d\\xba\\x6f\\xd7\\x82\\x35\\x93\\x77\\xce\\x6e\\x69\\xb4\\xb4\\x9d\\xd4\\xde\\xd6\\xd4\\xa6\\xbe\\x70\\xc4\\x61\\xed\\xc6\\xa6\\xf4\\xbf\\x27\\x5f\\x9a\\x1e\\x52\\xdf\\x9b\\x6a\\xa3\\x9f\\xf9\\xdd\\x1b\\x6b\\x17\\xcd\\xdc\\x93\\x09\\x5c\\xd6\\xb5\\x78\\xc8\\xc4\\x2a\\x47\\x22\\x90\\xec\\x6d\\x1a\\x99\\x7c\\x4a\\xfd\\xe0\\xfa\\x89\\xd3\\x26\\x6c\\x9e\\x3c\\x79\\x9a\\x90\\xd7\\x5a\\x8d\\xf8\\x62\\x24\\xa9\\xc7\\xd1\\x96\\x76\\x9b\\xad\\x20\\x18\\xf4\\xb2\\xd6\\x08\\x5b\\xaa\\x77\\xbb\\xcb\\xbc\\x14\\xa5\\xd1\\x38\\x62\\x25\\x61\\xfc\\x8e\\xbc\\xd5\\xe8\\x50\\x56\\xe4\\x48\\x0c\\xac\\x27\\x52\\x2f\\x7a\\x39\\x03\\x8a\\x72\\xe4\\x3c\\x1c\\x5c\\x94\\x03\\x1e\\x6b\\x69\\xee\\xb6\\x69\\x6d\\x75\\x53\\x4b\\x53\\x0b\\xeb\\x13\\x11\\x52\\x94\\x63\\xe1\\x66\\x58\\xdb\\xb0\\x61\\xcd\\xa2\\x49\\xd6\\x31\\x33\\x6e\\xa2\\xde\\x9a\\xe0\\x56\\x0d\\x51\\xe9\\xda\\x6b\\x66\\x09\\x35\\x39\\x96\\x48\\x35\\x39\\x4a\\x8a\\x31\\xcd\\x37\\xc3\\x4a\\x6a\\x09\\xbb\\x13\\xb8\\xc0\\xb0\\xb4\\xcd\\x0e\\x00\\x0b\\x21\\xed\\xa0\\xdd\\x46\\x9d\\xce\\x43\\xb9\\x5c\\x2c\\x79\\xc3\\xdb\\x6c\\xd0\\xfc\\x06\\x56\\x21\\x09\\x6b\\x21\\xf5\\xd3\\xda\\xe4\\xe7\\x9b\\x73\\xfb\\x6d\\x8b\\x0c\\x7a\\xef\\xea\\xbf\\xf3\\x37\\xcf\\x63\\x16\\xa9\\xbd\\x97\\xcc\\xab\\x89\\x38\\x02\\x7a\\x4b\\xb8\\x3c\\x6e\\xb6\\xac\\x53\\xaf\\x87\\x95\\xb4\\x3a\\xe0\\x2a\\xbd\\x66\\xbd\\x6e\\xf5\\x48\\xfd\\xb8\\x29\\x73\\xea\\xc8\\xfe\\x5d\\x04\\xcb\\xa8\\x47\\x98\\x45\\xc0\\x8b\\x6b\\xfe\\xda\\x2d\\x1a\\xbd\\x9e\\xf2\\xd2\\x6a\\xb5\\xd7\\x42\\xfb\\x38\\xce\\x8f\\x78\\x43\\x03\\x21\\xeb\\xb2\\x9a\\x9e\\x80\\xd5\\x47\\x70\\xb9\\xbf\\x27\\xc8\\x2b\\x7e\\x72\\xb9\\xb4\\x64\\xe1\\x13\\xb1\\x64\\x27\\x95\\x0f\\x71\\xa8\\x14\\x65\\x2e\\x91\\x3b\\xa4\\xd5\\xac\\x1d\\xb3\\x90\\xc3\\xa5\\x2e\\xc7\\x2c\\xd0\\x2c\\x50\\xc9\\xe5\\x2e\\x3d\\xdd\\x0e\\x2f\\xd5\\x9b\\x84\\x07\\x70\\xc1\\x34\\x7e\\x66\\x32\\x2a\\x16\\xbd\\x5c\\x21\\xd6\\x77\\xdb\\x01\\x4b\\xa9\\xa7\\x89\\xfc\\xc7\\xc0\\xe8\\xb4\\xc9\\xab\\xb3\\xdb\\x8b\\x4c\\x2c\\x65\\xa2\\x9c\\x71\\x67\\xa9\\x03\\xbf\\x8c\\x1c\\xc0\\xc5\\x98\\x8e\\xe8\\x8a\\x8b\\x0d\\xb8\\x6e\\x91\\x8a\\xa6\\x01\\xa2\\x19\\xb4\\xd5\\x25\\xea\\x24\\x0d\\x95\\x7f\\xab\\x93\\x3c\\x27\\xa7\\xcc\\x52\\x4a\\xd5\\xa4\\x90\\x55\\xb5\\x29\\xeb\\x49\\xc1\\xc4\\xb8\\xc9\\xfe\\xb0\\x3a\\xd1\\x34\\x61\\xaa\\x43\\x8f\\xd4\\xd6\\x81\\xab\\xb0\\xda\\x5a\\xe0\\xbc\\xed\\x5a\\xb1\\xe6\\x55\\x94\\x85\\xa5\\xb6\\x3b\\x16\\xf8\\x17\\xac\\xec\\x18\\xff\\x22\\x29\\x2f\\xf5\\xc2\\xfa\\xeb\\xa9\\xdb\\x71\\xe9\\xab\\x9b\\x5a\\xff\\xd0\\x21\\xd4\\x59\\x43\\x67\\x7e\\x02\\xed\\xb3\\x07\\x0c\\x4f\\x5b\\x59\\x1a\\xdb\\x09\\x5c\\xe1\\x5b\\xe3\\xf5\\x78\\x7c\\x6e\\xbd\\x11\\xbf\\x4e\\xcf\\xda\\xed\\x2a\\xa9\\x5c\\x58\\x8b\\xa2\\x5c\\x98\\xf8\\xf6\\x67\\x2e\\x3d\\x8e\\xdf\\xe3\\xb1\\xe5\\xbd\\xac\\x27\\xbd\\x05\\x4e\\x35\\x8e\\x66\\x1f\\xa9\\x71\\x2c\\x58\\x76\\x39\\x93\\x1e\\xc1\\x3e\\xd0\\x6a\\x68\\xae\\x5a\\x52\\xdc\\xbe\\x00\\xf6\\x98\\x7c\\xd0\\x70\\xe1\\xc6\\xf5\\xaa\\x08\\x5c\\x4e\\xde\\xf8\\x36\\x0f\\x1b\\xd7\\x08\\xaf\\x40\\xfb\\xba\\x85\\xaa\\x83\\x7f\\x62\\xe7\\x22\\x7d\\xef\\x03\\x23\\xd3\\x66\\x13\\x7e\\x83\\xce\\xec\\xe4\\xd4\\x8c\\x1f\\x80\\x80\\x0d\\x69\\xb1\\x9a\\xb4\\x86\\x52\\xab\\x4d\\x1a\\x0d\\xa7\\x23\\x55\\xba\\x68\\xc0\\xe5\\x2a\\x70\\x2b\\xde\\x4f\\xcd\\xa9\\x01\\x15\\x29\\x5f\\x8d\\x1f\\xe5\\xc1\\x4f\\xb5\\xd1\\x36\\x85\\x8b\\x08\\xff\\xa4\\xb9\\x30\\x36\\x87\\x39\\x55\\x75\\x21\\xfa\\x3d\\x9e\\x3d\\x52\\xd5\\x4d\\x2a\\xb0\\xa0\\x1f\\x7a\\x61\\xdd\\x1b\\x88\\x48\\x88\\xff\\xcf\\x67\\xe1\\x93\\xe4\\x05\\x4b\\xec\\xe2\\xa1\\xbd\\x7b\\x99\\x8a\\xc1\\x63\\x68\\xef\\xf0\\xdb\\x9c\\x3a\\x0b\\x00\\x48\\x50\\xec\\x1c\\xe7\\x30\\x17\\x54\\x42\\x50\\x6c\\x14\\x56\\x46\\x79\\x35\\x10\\xc8\\x2e\\xc1\\x21\\x4e\\x4b\\xa4\\x54\\xdf\\x3e\\xb2\\xaa\\x9a\\xee\\x18\\xcf\\x3c\\x36\\x42\\x47\\xed\\x12\\x2b\\x1f\\x18\\x82\\x70\\x3d\\x9a\\x78\\x53\\x0d\\xe9\\x0b\\x82\\xf6\\xe4\\x35\\x34\\x9f\\x54\\x33\\x16\\x1d\\x93\\x58\\x33\\xb6\\xf9\\xe7\\x6b\\xc6\\x46\\xc4\\xe7\\xf9\\x20\\x4c\\xb6\\x33\\x67\\xd9\\xae\\xa9\\x23\\xd8\\x2f\\xd8\\xd1\\xd4\\x6c\\xe4\\xf4\\x99\\xe0\\x7b\\xf8\\xff\\x40\\x89\\x1f\\xd7\\xfc\\xf4\\x93\\x67\\xa8\\xd4\\x06\\x93\\x81\\x66\\x19\\xbb\\x4e\\xe7\\x30\\xa8\\xd5\\x5a\\x0b\\xcb\\x92\\xe7\\xa7\\xf0\\x84\\x56\\x9a\\x86\\xf2\\x84\\x92\\xc8\\x0d\\x10\\x3b\\xec\\x13\\xb6\\x51\\xe2\\x96\\x9b\\x28\\x2c\\x77\\x2e\\xb8\\xec\\x0b\\xb6\\x33\\x3e\\x57\\x33\\x37\\x3a\\x02\\x11\\xd3\\x59\\x32\\x47\\x33\\x27\\xde\\x4e\\xd5\\xf9\\x4c\\x6f\\xd7\\xbd\\x82\\x69\\x79\\xa5\\xee\\x6d\\x13\\x79\\x16\\xe9\\x07\\x58\\x0a\\x9f\\x41\\x3c\\x60\\x21\\x5d\\x3c\\xba\\xd2\\x36\\x1a\\x00\\xb7\\x01\\x16\\x1b\\x68\\x8d\\xdf\\x5f\\x66\\x45\\xd1\\x54\\x28\\x8a\\x18\\xe1\\x18\\xed\\xf1\\x00\\xbd\\x9e\\x33\\x63\\x36\\x70\\x20\\x36\\xa8\\xce\\xbd\\x92\\xa8\\x2c\\xfd\\x90\\xe3\\x04\\x44\\x86\\xe4\\xb9\\x35\\x93\\x9d\\x11\\x73\\x10\\x48\\xb6\\xa0\\x92\\x2b\\xca\\xa7\\x68\\xa6\\xda\\xe6\\x8e\\x6a\\x68\\x9a\\x3c\\xaa\\xf1\\xfc\\x29\\xec\\x13\\xfc\\x6d\\x5e\\x67\\x71\\x8d\\x3e\\x55\\x5e\\x05\\x6f\\x92\\xaa\\xf6\\xc0\\x6f\\xeb\\xc6\\x4d\\xac\\x8d\\xd5\\xb7\\x53\\xa3\\x4d\\xbe\\x7e\\x9f\\xdd\\x55\\xd7\\x1c\\xa5\\xaf\\xca\\xb1\\x09\\xda\\x57\\x64\\xa6\\xe0\\x09\\x76\\x33\\xb0\\xe3\\x1a\\x29\\x48\\x93\\x71\\x28\\xc0\\x31\\x5b\\xad\\x4e\\x74\\x70\\x95\\x8f\\x5a\\x8c\\x80\\xd4\\xf6\\xa8\\xab\\x6b\\x93\\x5f\\xf2\\xcb\\x65\\x08\\x52\\x39\\x39\\x12\\x72\\x64\\xe3\\xdb\\x27\\xd9\\x37\\x4f\\x60\\x8f\\xec\\xd2\\xd7\\x07\\x5d\\x3e\\xbf\\xa3\\x06\\x56\\x76\\x4d\\x2a\\x5e\\x41\\x33\\x26\\xdf\\x4f\\xd7\\x0f\\x2f\\x9e\\x6c\\x69\\x5f\\xa3\\xc3\\x73\\x5e\\x2b\\xcf\\x59\\x97\\x36\\x18\\xed\\x76\\x93\\x9a\\x35\\xb1\\x36\\x87\\xcd\\x69\\xfd\\x0d\\x32\\x9a\\x26\\xd8\\xfa\\xa8\\x96\\xa3\\xe5\\xc2\\x35\\x79\\x4f\\x80\\x62\\x51\\xe1\\x94\\xdd\\x15\\xc8\\x0b\\xc0\\x34\\xdc\\x6e\\x2f\\x5a\\x17\\x69\\xb4\\xfb\\x35\\x16\\xaf\\x27\\xe2\\x71\\x6d\\xdb\\x86\\xc8\\xd8\\x4a\\x8d\\x5f\\x71\\xc8\\xba\\xbc\\xdd\\x12\\x6a\\x5b\\x43\\x57\\x20\\x1a\\x5e\\x47\\x73\\x1f\\xa2\\xea\\xa8\\x26\\xc4\\x47\\x06\\xbc\\x5e\\xa0\\x52\\x19\\x69\\x96\\x35\\x61\\xfe\\xc1\\x82\\x91\\x2b\\xa9\\x9b\\x57\\xc4\\x24\\x57\\x51\\x57\\xac\\xa7\\xeb\\x9b\\x30\\xa2\\xa9\\x3a\\x16\\xe7\\xef\\x9c\\xdd\\xc9\\x40\\x15\\x3b\\x8b\\x5a\\xa0\\x5a\\xf5\\x08\\xae\\x78\\x83\\x99\\x15\\x82\\x47\\x91\\xd9\\x38\\x8e\\xf4\\x6e\\x12\\xcc\\x4d\\x17\\xb1\\x74\\x99\\xcd\\xe6\\xb2\\xd3\\x76\\x6d\\x71\\x20\\x10\\x0c\\xd6\\x27\\xb4\\x06\\x43\\x5d\\x22\\xd1\\x50\\x16\\x89\\x98\\x3c\\x9e\\xca\\xd8\\x33\\xc8\\xc0\\x86\\x11\\x73\\xd8\\x41\\x10\\x2d\\x5c\\x45\\xcb\\x3b\\x9e\\x5f\\x8b\\x48\\xae\\xb2\\xab\\x74\\xfa\\x95\\xea\\x58\\x59\\xb9\\x67\\x90\\x62\\x44\\x0e\\x29\\xca\\xa6\\x39\\xea\\xee\\xfa\\x4a\\xbc\\x53\\x9e\\xb2\\x2a\\xc3\\x68\\x43\\x7d\\xc5\\x0a\\x75\\xf3\\x82\\x16\\x53\\x63\\xe5\\xa5\\x52\\x51\\xa2\\x0a\\x5c\\x94\\x08\\xd7\\x2e\\x1a\\x6a\\x4c\\x57\\xc0\\x4a\\xbc\\x85\\xdd\\x13\\xe0\\xce\\x69\\x26\\x5c\\x8c\\xe8\\x00\\xec\\x9d\\xe0\\x1c\\xb6\\xa2\\x96\\x3f\\x80\\x17\\xbc\\x6a\\xd8\\xe8\\xf6\\xe1\\xb8\\x7a\\x51\\xb8\\x8b\\xbf\\xe9\\xac\\xa0\\xb3\\xe9\\x97\\xd1\\xfe\\x96\\x83\\x69\\x69\\x97\\xc7\\x89\\x4b\\x7b\\xe8\\x63\\x25\\x52\\x61\\x8f\\x8a\\xa2\\xa2\\x4a\\x5c\\xd8\\xa3\\x45\\x2a\\xec\\x71\\x34\\x06\\x7c\\x16\\x4b\\x59\\xae\\xaa\\x07\\xa9\\xfb\\x3c\\xa0\\xa6\\xc7\\xff\\x63\\x51\\x0f\\x9b\\x50\\xd5\\xe3\\xcb\\xd2\\x45\\x75\\x42\\x55\\x0f\\xa4\\xd5\\x93\\x65\\x2b\\xb4\\xc3\\x70\\xf1\\xa5\\xf2\\x15\\xba\\x61\\xf3\\x6f\\xe8\\x62\\x0f\\xd5\\x38\\xca\\x17\\x27\\x2e\\xa1\\x0e\\x0c\\xe9\\x6a\\x6b\\xd1\\xfa\\xe1\\x65\\xa2\\x92\\xbf\\x30\\x05\\x67\\xf2\\xfb\\xd1\\x1a\\x2f\\x6a\\x84\\x33\\x7f\\xfa\\xca\\x18\\x80\\xa6\\xa5\\xcd\\xa3\\x70\\x9c\\xfd\\x01\\xb2\\x47\\x4f\\xa2\\x73\\x2d\\x46\\x5e\\xa0\\x93\\x41\\x9e\\xac\\xc1\\x6c\\xd6\\xaa\\x8b\\xd5\\x5e\\x9d\\xae\\x24\\xe0\\xf5\\x46\\x42\\x3e\\x37\\x7e\\xa7\\x5f\\x0b\\x0c\\xb0\\xf5\\x08\\x63\\xb5\\x72\\xd8\\xdf\\xa7\\x14\\xfe\\x7e\\x32\\xff\\x05\\xff\\x5c\\xc2\\x4d\\x2c\\x8c\\xe3\\x50\\x11\\xea\\xa5\\xe3\\x53\\xd6\\x65\\x82\\x46\\xf2\\x52\\xf9\\x25\\x6b\\xd9\\xb6\\x09\\xcc\\xe3\\x2d\\xc6\\x61\\xd5\\x4b\\xc2\\xa3\\x2a\\xf6\\xe7\\x4e\\x12\\x57\\xe8\\x5a\\x75\\xf5\\x86\\x6a\\x7e\\xa7\\xd1\\x07\\x7b\\x67\\x69\\x86\\x4d\\x68\\xe0\\x2f\\x39\\x2b\\x9c\\x9d\\xc0\\x93\\xd4\\xd7\\x88\\xf6\\x28\\xae\\x1b\\x65\\x37\\x1a\\x4d\\xc8\\x61\\x09\\xb8\\x4d\\xee\\x58\\x38\\x12\\x89\\xdb\\xb5\\x5a\\x27\\xae\\x1b\\x65\\x45\\xb4\\x62\\xf1\\x2b\\x0e\\xc9\\x5c\\xd8\\xa6\\x90\\x84\\x3c\\x92\\x05\\x0d\\x30\\xa0\\x5a\\x14\\xbe\\xaf\\xae\\xc8\\x03\\x5e\\xd3\\x3e\\x29\\x50\\x45\\x88\\x6d\\x17\\x5f\\x8b\\x47\\x2b\\x18\\xa7\\xd4\\x0f\\xf5\\xb7\\x81\\xec\\x38\\x37\\xa6\\xf6\\x5a\\x4a\\x47\\x96\\xa0\\x09\\xf3\\x1d\\xb2\\xb6\\xc0\\xf2\\x54\\x45\\xc5\\x68\\x07\\xf1\\xb7\\x90\\xf7\\xed\\x34\\x99\\xac\\x2a\\xca\\x65\\xd0\\xda\\xb5\\x14\\xed\\xb3\\x5a\\xfd\\x46\\x27\\x2e\\xf1\\x6c\\x41\\xbc\\x84\\x0b\\x9c\\x6a\\x5d\\x7a\\x2c\\xc9\\x44\\x8e\\xda\\x04\\x39\\x22\\x14\\xb7\\xe5\\x9b\\x5c\\x29\\x78\\x24\\x6f\\xfb\\x26\\xeb\\x6c\\xd8\\x04\\x88\\x65\\x4d\\x69\\x72\\x3b\\x6a\\x69\\x30\\xe4\\xf0\\x6a\\xb4\\x9a\\x74\\x83\\xbf\\x83\\x7d\\xf2\\x85\\x96\\x4e\\xf6\\x65\\xb6\\x6b\\xf6\\xd0\\xaf\\x9d\\x91\\x69\\x54\\xcc\\x3e\\xc9\\xa3\\x83\\x43\\xee\\x40\\xc6\\x6f\\x3d\\x9c\\x81\\xa5\\xbe\\xff\\x3b\\xf8\\xb7\\x75\\x2f\\xe2\\x7e\\xc2\\x0f\\x21\\xdf\\xfa\\x0f\\x68\\x9f\\xf5\\x48\\xa0\\x7d\\xf8\\x2d\\x70\\xaf\\x81\\xa6\\xfd\\x0e\\x9b\\x56\\x1b\\xb0\\x7b\\xbd\\x2e\\x15\\x2e\\x79\\x65\\xce\\x2b\\x4c\\x0f\\x65\\xfe\\x56\\x54\\xa5\\xc7\\x31\\x4d\\xdc\\x2e\\x3d\\x50\\x8a\\xb7\\x38\\x0c\\xaf\\x5d\\x70\\x59\\xf7\\xce\\xd9\\x0b\\x2f\\x3b\\xca\\xb7\\x0d\\x19\\xb9\\xdc\\xce\\x3f\\x07\\x47\\xaf\\x1d\\x7e\\x81\\x0b\\x36\\x53\\xb1\\x8d\\x17\\xcc\\x3d\\xd0\\xbb\\xe1\\xa2\\x5b\\x5f\\xfa\\xeb\\xe4\\x9e\\x5f\\x9c\\x3f\\xfb\\xfe\\x55\\x73\\x70\\x7d\\xce\\x03\\xe8\\xcc\\xb3\\x48\\xcf\\x7a\\x41\\x11\\xf2\\x00\\xe7\\xa5\\x63\\x25\\x66\\xb7\\x3b\\xa0\\xa1\\x28\\x5f\\x38\\x6c\\x43\\xae\\x6a\\xdc\\x66\\x2b\\xc5\\xe5\\xc4\\x4b\\x02\\x01\\x17\\x1d\\x09\\x06\\xcd\\x1a\\x1a\\xfd\\x45\\xfb\\x57\\x79\\xc4\\x4d\\x4a\\xe8\\xb6\\x08\\x25\\x74\\x71\\x13\\x8e\\x5c\\x36\\xcf\\xa2\\xb0\\xe0\\x96\\x5c\\xe5\\x6f\\xf2\\x68\\x3e\\x45\\xee\\x54\\x8b\\x35\\xf4\\x85\\x22\\xcb\\xb8\\xf6\\x13\\x6d\\x77\\xd9\\x8c\\x30\\x5a\\x1f\\xa7\\x5b\\xe1\\x7b\\xec\\x79\\xd1\\x99\\x17\\x3e\\x72\\x75\\xd9\\x1c\\x16\\x96\\xb0\\xf3\\xcb\\x7b\\x2f\\x18\\xb7\\x25\\x53\\x32\\x87\\xfd\\x66\\xe1\\xf4\\x09\\x17\\xc3\\x6b\\x17\\x4f\\xef\\xbe\\x10\\x56\\x22\\x43\\xcb\\x6d\\x58\\x78\\xcb\\x1f\\xb8\\x7f\\xe1\\xdd\\xfd\\x97\\x6a\\xdd\\xe2\\xde\\xbb\\xe7\\xb2\\x7f\\x42\\xce\\xce\\xab\\xb7\\x5a\\xe0\\x67\\xba\\xdf\\x84\\x6e\\x37\\xf1\\x36\\xd3\\xd3\\x02\\x7f\\x6c\\x42\\xeb\\x6c\\x23\\xfa\\xb6\\x2b\\xed\\xb6\\x85\\x4a\\x8a\\xb9\\x6a\\x97\\xa7\\x54\\xaf\\xf7\\x54\\x17\\x87\\xd8\\x7a\\x2a\\x99\\x6c\\x60\\x60\\x2d\\x0e\\x31\\xdd\\x0e\\x3f\\x5a\\xd4\\xa3\\xb1\\xe2\\x5c\\xdd\\xbe\\x5c\\x1d\\x9e\\xc2\\x86\\x6e\\x71\\xa1\\x02\\xb4\\x4b\\x8a\\x63\\x0a\\x53\\x46\\x82\\x64\\x2a\\x6f\\xcf\\x53\\x65\\x7e\\x4d\\x7c\\xd8\\x85\\x8d\\xed\\xc3\\x86\\xad\\x58\\x1d\\x2e\\xb5\\xd4\\x07\\x9d\\x7e\\xc4\\xe5\\x65\\xed\\x13\\xb5\\x45\\x3e\\x6d\\xd9\\x88\\x4d\\xa9\\xf4\\xb0\\xe6\\x25\\x73\\x5b\\x16\\xd0\\x1f\\xa4\\x8b\\x67\\x17\\xd5\\x17\\x87\\xc6\\xd6\\xce\\x9a\\xae\\x9a\\x15\\x25\\xbc\\xde\\x35\\xc9\\x35\\xfe\\xc1\\xee\\xca\\x0b\\x4b\\x52\\xc1\\x40\\x67\\xcd\\x84\\x19\\x0e\\x92\\xdb\\xfb\\x0a\\xad\\x6d\\x31\\x3a\\x43\\x1f\\xa8\\x4d\\x9b\\xd4\\x0e\\x87\\x81\\xf2\\xf9\\x02\\x66\\x83\\xc1\\xcf\\x40\\x0f\\x36\\xd1\\x56\\x5c\\x93\\xbd\\x45\\x59\\xc6\\xcc\\x92\\x54\\x36\\xf9\\xc9\\xa5\\xbc\\x0a\\xee\\x9d\\x77\\x07\\x75\\xf6\\x50\\x59\\xa9\\x69\\xb5\\x6b\\xc9\\xc4\\xba\\x6a\\x62\\x39\\x4b\\xab\\x0c\\x2b\\x5c\\x2b\\xe6\\x55\\xc7\\x58\\xae\\xc3\\x30\\x6e\\x6a\\xff\\x82\\xab\\x2e\\xc1\\xfa\\x63\\x42\\x37\\xb5\\x79\\xf3\\x3a\\xbd\\xb0\\xd7\\xbf\\x40\\xb6\\xfb\\x1b\\xe6\\x63\\xe2\\xf3\\xb8\\x8c\\x3a\\x14\\x9b\\x85\\x3c\\xc8\\xb1\\xf4\\xe8\\xe8\\xd2\\x48\\xa4\\xcc\\x1f\\x8d\\x16\\x85\\x8a\\x05\\x1f\\xd3\\x89\\x23\\x48\\xb3\\x5e\\x93\\x23\\x4f\\x51\\x77\\x2b\\x3f\\xf6\\x11\\xfc\\xce\\x7c\\xc3\\x3e\\xb0\\x12\\x17\\x8c\\xfa\\x1c\\xf1\\x7a\\xbd\\xae\\x62\\xbf\\x48\\xaf\\x37\\xe2\\xb5\\x59\\x3c\\xc9\\x3a\\x26\\xdd\\xc5\\x4e\\xec\\x8e\\x39\\x37\\x6a\\xaf\\x1a\\x2a\\xba\\xa7\\x6d\\x44\\xf3\\x05\\x47\\x5c\\xc4\\xb4\\xd4\\x98\\xa2\\xf0\\x22\\xa1\\x42\\xd7\\xd1\\x14\\x89\\x8b\\x76\\x53\\x25\\xd4\\x5f\\x48\\x5c\\x51\\x0c\\x66\\xa6\\x5d\\x2a\\xaf\\x97\\x72\\x15\\xd9\\x34\\x1a\\x23\\xd2\\x1e\\x80\\x8e\\xe8\\xf5\\x25\\x36\\x74\\x6e\\x88\\xfc\\xb4\\x2e\\x6c\\x04\\x40\\xa7\\x42\\xe1\\x9c\\xc9\\x8a\\x3c\\x83\\x47\\x35\\x52\\x30\\x27\\xb9\\xf2\\x78\\x11\\x6d\\xca\\x45\\x25\\x2d\\xca\\xe7\\xc5\\x49\\x93\\x20\\xdc\\xa0\\x23\\x29\\x38\\xf8\\x42\\x00\\x92\\x22\\x05\\x44\\xda\\x60\\x84\\xdb\\xad\\x69\\x2b\\x41\\xd6\\xa9\\xea\\xdf\\x95\\x0b\\x2a\\xdb\\x35\\xed\\x71\\x6c\\x7d\\x91\\x86\\x74\\x8d\\x1f\\x56\\x75\\x7e\\xb1\\xf1\\xdf\\x4e\\x7a\\x48\\xdd\\x9f\\x8d\\xbe\\x1f\\x7f\\xfc\\x11\\xb9\\x9d\\xb8\\x7a\\x88\\x6d\\xd3\\xce\\x96\\x31\\x4d\\x13\\x36\\x09\\x67\\xb1\\x0f\\xe9\\x45\\x3d\\x5a\\x47\\x29\\x92\\xed\\x32\\x95\\xb1\\xd8\\x67\\xf4\\x69\\x43\\x21\\xbf\\x95\\xd6\\xea\\x5d\\xb1\\x98\\x9e\\xa6\\xcb\\xfc\\xfe\\xf2\\xa0\\x5e\\x6f\\x28\\x0e\\xa9\\xd5\\x06\\x2f\\x36\\xc0\\x11\\x1f\\x09\\x48\\xec\\xf9\\x25\\x7f\\x14\\xa2\\x3d\\xb0\\x66\\xba\\xf2\\x9e\\x90\\xf4\\x60\\x73\\x32\\x57\\x2d\\x1d\\xdf\\xe6\\x96\\x9f\\x6d\\x46\\x92\\x02\\xb7\\x2c\\xbb\\xfc\\xba\\x8b\\x35\\xb1\\x91\\xe5\\x91\\x70\\xe4\\xc7\\xf8\\xc4\\xc5\\x9b\\xe7\\x5f\\xdd\\xd0\\x62\\xfc\\xd1\\x12\\x36\\x54\\x0d\\x8f\\xd2\\x13\\x66\\x1c\\xa7\\x62\\xe7\\xcd\\x9c\\xff\\x2b\\x67\\x11\\xd7\\x72\\xcb\\x2e\\xdd\\xd6\\xbe\\xab\\xb6\\x2f\\xa8\\x1d\\xab\\xde\\x75\\x4b\\x0b\\x57\\xa4\\x9b\\x3b\\xe6\\x8a\\x3b\\x85\\xb5\\xbd\\x86\\xd6\\x56\\x4e\\x74\\x7e\\x73\\xda\\x81\\x5c\\x26\\x96\\xb2\\xba\\x28\\x97\\xcf\\xe1\\xf0\\xbb\\xb4\\x5a\\x2b\\xcb\\xe2\\xb0\\x0f\\x19\\xab\\xdc\\x3a\\x0a\\xdf\\x16\\x12\\xa9\\x16\\x3d\\x05\\xa9\\xb6\\x76\\x4a\\xfc\\x87\\x11\\xc2\\xfb\\x5e\\xa6\\x5a\\x3b\\xd8\\x2f\\x99\\x31\\x29\\x6e\\xd9\\xdd\\xee\\xe6\\xd1\\xcc\\x69\\xb6\\xab\\xd9\\xba\\x91\\x8a\\x6d\\x37\\xb8\\xe0\\x79\\x58\\xef\\xf0\\xcf\\x85\\x7c\\x0b\\xb6\\xc2\\x09\\xe4\\xf3\\xd1\\x45\\xa4\\xbe\\xf6\\x49\\xa4\\xdf\\x1f\\x25\\xf5\\x17\\x5b\\xd3\\x76\\x97\\xc7\\xa3\\xb1\\x5a\\x83\\x1a\\x9d\\x0e\\xb9\\xcd\\xc5\\xc1\\x60\\xc4\\xe3\\xf0\\x63\\x7f\\x4e\\x8d\\x48\\x33\\x48\\xa4\\x0d\\x08\\x47\\x45\\xe1\\xcc\\xb9\\xd0\\x2a\\x44\\x58\\x2b\\xa5\\xec\\x71\\x46\\x5e\\x08\\xea\\x1d\\x39\\x45\\xd5\\x8c\\xb8\\x63\\x24\\x37\\xb5\\x68\\xc6\\xa4\\xa6\\x9a\\x62\\x9f\\xbb\\x34\\xe0\\x28\\xad\\xb9\\x79\\xe6\\x5e\\x2a\\xd6\\x34\\x2c\\x1a\\x85\\x19\\xe4\\xb2\\xac\\x4e\\x4d\\x8c\\xf6\\xdc\\xb4\\x78\\x64\\xb3\\xa1\\xeb\\x0a\\xdd\\x81\\x0d\\xc7\\x2f\\x14\\xf6\\xef\\x26\\xe4\\xe7\\xde\\xc1\\xac\\x00\\x56\\x30\\x24\\x6d\\xd5\\x69\\xcd\\x66\\x40\\x2a\\xcc\\xe8\\x55\\x06\\x9b\\xc1\\x6e\\xc6\\x29\\xc0\\x23\\xc8\\x23\\x63\\x15\\x61\\x99\\xc2\\xcd\\x16\\xad\\x91\\xcd\\xee\\x14\\x1e\\xe4\\x40\\x6e\\x15\\xa9\\xc6\\xa9\\xe2\\xfe\\x2d\\x96\\x99\\xa9\\x5c\\xde\\xc1\\xee\\x9a\\x7e\\x4b\\x9c\\xba\\x5a\\x28\\x33\\x53\\x3f\\x09\\xde\\xda\\xff\\x29\\xd2\\xcf\\xc7\\xfe\\x33\\x9c\\xcc\\xbf\\x06\\xcd\\x3f\\x15\\x9d\\x9f\\x05\\xb4\\xa4\\xed\\x46\\x33\\xab\\x42\\xb6\\x5c\\x65\\xa6\\xad\\x94\\x46\\x63\\xd3\\xd2\\xb4\\x0a\\x07\\x86\\x8f\\x41\\x9d\\xce\\xa4\\x6c\\x7e\\x90\\x97\\xaf\\x11\\x4d\\x74\\x4a\\x7a\\x96\\x5e\\x7c\\xb6\\x42\\xb5\\x86\\x83\\xdd\\x99\\x29\\x81\\xb0\\xdf\\x07\\x2f\\x61\\xf9\\x43\\xab\\xbb\\xaa\\xaa\\xfd\\x15\\x28\\x44\\x83\\xff\\x72\\x4c\\xbe\\x35\\xc0\\x7b\\xfc\\x33\\xee\\xc1\\xf3\\x23\\xbd\\xb9\\x03\\xcd\\x1f\\x06\\xe3\\xd2\\x2e\\xb5\\x89\\x75\\xea\\x0c\\x16\\x8e\\x33\\x38\\x4d\\x4c\\x71\\x20\\x14\\x8a\\x98\\x51\\x78\\x8a\\x13\\x08\\x8f\\xa9\\x2c\\x16\\xd2\\xcc\\xe2\\xd1\\xa0\\x2f\\xe7\\x79\\x27\\x07\\x25\\x26\\x77\\x6a\\xe1\\x01\\x44\\x29\\x5c\\x9e\\x92\\xf6\\x89\\x7a\\xfe\\x6f\\x83\\x10\\x99\\x34\\x25\\x43\\xd8\\x20\\x24\\xb1\\xdb\\x53\\x34\\x5e\\x41\\xf0\\xf3\\xc3\\xe2\\x82\\xbb\\x43\\x21\\xba\\xdf\\xa2\\x56\\x12\\xbe\\x8f\\x80\\x19\\xe9\\x30\\x6b\\x05\\x01\\x26\\x6c\\x09\\xbb\\x2c\\x9c\\xce\\xa0\\x36\\x99\\x0c\\x1c\\x5d\\xe2\\x72\\x45\\x7d\\x76\\x3b\\x67\\x94\\xd6\\x70\\x34\\x80\\x16\\x41\\x03\\xb1\\x25\\xc7\\xf3\\x82\\x4a\\x12\\x8e\\x71\\x60\\xd2\\x5c\\x68\\xd2\\x4c\\x72\\xa5\\x11\\xe5\\x2a\\xa4\\x3c\\x6a\\xaa\\x58\\x25\\x88\\x35\\x1c\\xee\\x71\\x55\\xea\\x83\\xb7\\xe5\\x2f\\xa4\\x76\\xf9\\xf2\\xaa\\x86\\xde\\x4c\\xe7\\xf8\\x9e\\x05\\xa9\\x56\\x3f\\x55\\x17\\xad\\x0d\\xa5\\xe4\\x85\\xec\\xad\\x8b\\xa5\\xd2\\x7b\\x2f\\x89\\x04\\xad\\x7e\\xc2\\x03\\xc3\\x60\\x29\\xf5\\x30\\xa9\\x8f\\xd6\\x9e\\xf6\\x58\\x6c\\x7a\\x97\\xda\\xe3\\x71\\xd9\\x28\\xc6\\x6f\\x74\\x38\\x02\\xc8\\x8f\\xb3\\xbb\\xf4\\x7a\\x9b\\x58\\x9b\\x51\\x4c\\x3c\\xc9\\xcd\\x7a\\x06\\x36\\x2e\\xcd\\xeb\\x66\\x28\\x57\\xef\\x27\\xfd\\x1c\\x20\\xbb\\x7e\\xac\\x2f\\xbd\\xf4\\xc2\\xf5\\x13\\xc6\\x56\\xb1\\xdf\\x3e\\x88\\xc9\\xf5\\xc2\\x17\\x59\\xfe\\xbf\\x4f\\x3d\\x03\\x4b\\x27\\x05\\xaa\\xd7\\x2e\\x99\\x3e\\x3f\\x00\\x1d\\x88\\xca\\x10\\xff\\x0f\\xdf\\xd1\\x6b\\x1f\\x10\\xea\\x97\\x3f\\x87\\x64\\xf9\\x14\\x7b\\x13\\x12\\x55\\x27\\xa9\\x44\\x6d\\x09\\xda\\xed\\x16\\x8f\\x47\\xab\\xa5\\x43\\x74\\x91\\xcb\\x62\\xf1\\x91\\xd4\\x92\\x31\\x57\\x76\\x2e\\xa1\\x70\\x7c\\xea\\xe4\\x32\\x37\\x94\\xf4\\xd4\\x00\\x2e\\x6e\\x13\\xc6\\x04\\x4a\\xd1\\x08\\xc5\\xf6\\xcd\\x9b\\xba\\xf3\\xfc\\xd9\\x33\\xba\\xb7\\xf6\\xb5\\x4f\\x8d\\x41\\xce\\x5a\\xf6\\xbd\\x63\\xf2\\xa8\\x79\\x11\\xf6\\xa6\\x1d\\xd7\\x6d\\xe4\\x4f\\xdf\\xb6\\x6d\\xe3\\x66\\xd8\\x74\\x7b\\xcd\\x2d\\xaf\\xad\\xed\\x98\\x34\\x8b\\x3f\\x6f\\xed\\xd4\\x3d\\xf7\\xfd\\x8e\\xd0\\x96\\xdd\\xca\\xf4\\x51\\x0d\\xec\\x73\\x40\\x07\\x5c\\x20\\x00\\xec\\xc7\\x68\\x07\\xed\\xd0\\xf8\\xdc\\x26\\x90\\x48\\x9e\\xa9\\xc3\\x0e\\x59\\x2e\\x77\\x8c\\x8f\\x8e\\x55\\x7c\\x76\\xd1\\xa9\\xa4\\x4d\\x45\\x35\\xd4\\x45\\xa3\\xf5\\xf5\\xd1\\x68\\x1d\\xaf\\x45\\x9f\\x1a\\x1a\\xd0\\xa7\\x83\\xb7\\xab\\x9e\\xb2\\x71\\xec\\x62\\xf2\\xaf\\xfa\\xfa\\x57\\xc5\\xdf\\x1b\\x60\\x6b\\x94\\x3f\\x1e\\x26\\xf3\\x3e\\x8c\\xe6\\xad\\x50\\xcc\\x0b\\xf0\\x9b\\xff\\x3e\\xb7\\x5e\\x31\\xaf\\xad\\x38\\x57\\x11\\x90\\x55\\x7c\\x8e\\xe2\\xda\\x31\\x90\\x8e\\xd6\\x91\\x89\\xe1\\x03\\xe4\\x43\\x43\\x03\\x7f\\x11\\xbb\\xf6\\x75\\x8e\\xff\\x17\\x6b\\x68\\x10\\x08\\x6a\\x38\\x28\\x7d\\x80\\x61\\x38\\x3c\\xca\\xff\\x0e\\xfb\\x39\\x97\\xf3\\x23\\x41\\x53\\xf6\\x41\\x50\\x06\\xcc\\x8f\\xdb\\x2c\\x36\\x0b\\x3a\\x92\\xc4\\x19\\x71\\x3e\\xec\\x13\\x23\\xf5\\x18\\xc7\\xa2\\x27\\xd6\\x82\\x17\\xab\\x88\\x52\\x0e\\xbb\\x4b\\xfa\\x0d\\xaf\\x73\\x07\\xdd\\x56\\x6b\\x2c\\x1a\\x74\\x06\\xb4\\xd5\\x55\\x45\\xe5\\x9e\\x80\\xc7\\x66\\xf3\\x86\\xbc\\x63\\xf8\\x91\\xcc\\x50\\xbb\\xdb\\x62\\xd0\\xa8\\x50\\xec\\xe0\\xf3\\xb8\\x4d\\x76\\x4d\\xb1\\x23\\xe0\\xb5\\xfb\\x1d\\x66\\x8d\\xca\\x6c\\x46\\xe1\\xb9\\xd5\\xa4\\xf5\\xb0\\xc4\\xdf\\xaa\\x60\\xfa\\x60\\x3f\\x7b\\x19\\xb2\\x90\\xae\\xb4\\xce\\x06\\xa1\\x49\\x1f\\xd2\\x53\\x7a\\x23\\x7e\\x39\\xf5\\x64\\x2f\\x62\\x00\\x92\\x80\\x90\\x5e\\x84\\x4a\\x25\\x89\\x47\\xd5\\xd8\\x0c\\x61\\xff\\xf9\\x17\\xac\\x6f\\x5f\\x98\\x9c\\xdc\\xa3\\xee\\x64\\x56\\x86\\x46\\x8e\\x5c\\xf5\\xcb\\x5e\\x56\\x03\\xa9\\x29\\x15\\x65\\x0b\\xa7\\x0f\\x2b\\xda\\x12\\x28\\x13\\xeb\\x8f\\x25\\x98\\xd3\\x70\\x3f\\x7b\\x1a\\x70\\xc0\\x96\\xd6\\xe2\\x52\\x1e\\x09\\x14\\x2f\\xd1\\x14\\x41\\x8f\\x71\\x87\\x1b\\xc2\\xa9\\x24\\xdc\\x7f\\x0f\\x5f\\x03\\xaf\\x3b\\x5e\\xcd\\x1e\\xfa\\x70\\xd9\\xf6\\x81\\xe3\\x58\\x13\\x13\\x62\\x12\\x0c\\xcd\\x40\\x90\\x78\\xa9\\x17\\xd3\\x14\\x8e\\x37\\x24\\x5d\\x61\\xb8\\x9f\\xaf\\xb9\\xa7\\xfa\\x38\\xbc\\x8e\\x39\\xfd\\xa1\\x7f\\x90\\x71\\xb4\\x89\\x0d\\xb1\\x09\\x96\\x66\\xc9\\xb8\\x3a\\xe2\\x21\\xa2\\x09\\x5d\\x70\\x7f\\xf5\\x71\\x7e\\x0d\\xfc\\xd3\\x3d\\xcc\\xe9\\xed\\xcb\\x3e\\x1c\\x38\\x0e\\xca\\x84\\x82\\xc4\\x49\\x32\\x2e\\xac\\x8a\\x34\\xa4\\xf0\\x7c\\x6b\\x8e\\x57\\xdf\\x03\\xff\\xc4\\xce\\xda\\xee\\xcf\\x1f\\xa7\\x01\\x81\\xb4\\x09\\x27\\x41\\xc5\\x91\\x2a\\x9a\\x46\\x93\\x22\\xb9\\x41\\xe3\\x45\\xdf\\x94\\xc5\\x34\\x47\\xf1\\xe4\\x7b\\xf8\\x1f\\xee\\xa9\\xde\\x03\\x39\\x34\\xff\\xea\\xd5\\x1f\\xfa\\xd1\\x4f\\x01\\x2e\\x4f\\xda\\xa0\\xa6\\x64\\x54\\x78\\xd9\\xc9\\x24\\x5a\\x00\\xa6\\x44\\x15\\xc5\\xa4\\xb0\\xc2\\xa6\\xfd\\xb0\\x07\\x51\\xc3\\xed\\xc1\\xfb\\xb6\\x7a\\xb5\\x1f\\xfd\\x10\\x3c\\x75\\x88\\xb7\\x9e\\xca\\xbe\\x89\\xbc\\x05\\x67\\x5a\\x63\\x64\\x59\\x0d\\x03\\x80\\x81\\xbc\\x20\\x5e\\x77\\x86\\xe8\\x16\\x97\\x50\\x6f\\xc1\\x04\\xc5\\x30\\xf6\\x97\\x41\\xbd\\xdb\\xe5\\x98\\xde\\x13\\x5b\\xd0\\x32\\x96\\x39\\x68\\x99\\x16\\x65\\xae\\x19\\xb9\\xe6\\xef\\x70\\xba\\xd5\\x7f\\xf1\\x06\\x84\\xef\\x0b\\xc6\\x02\\x3e\\x60\\x77\\x01\\x35\\x50\\xff\\x5a\\xcd\\x20\\x3e\\xc5\\x0d\\x14\\x5d\\x8e\\x48\\xbc\\x21\\x95\\xfc\\x60\\xe7\\x4e\\xdf\\xdf\\xff\\xee\\x63\\x57\\xde\\x71\\x67\\x7c\\xed\\x2d\\x6b\\xb1\\xbf\\xc9\\x77\\xa0\\xf9\\x3f\\xcd\\xfe\\x91\\xf4\\x09\\x74\\xa5\\x35\\x2c\\x84\\x46\\x2d\\x72\\x18\\xb4\\x68\\x15\\x89\\xa4\\xf9\\x4c\\x5d\\x82\\xdc\\x98\\xc0\\xbb\\x91\\x4a\\x3a\\xa2\\x49\\x97\\x03\\xaf\\x28\\xbe\\xec\\x96\\xb5\\x71\\x84\\xa4\\x7f\\x26\\xc6\\xb7\\x73\\x27\\xbf\\x0d\\xff\\xdf\\xb7\\x10\\x21\\x8d\\xdf\\x79\\x07\\xe9\\x2d\\xbb\\x1d\\x31\\xf6\\xa7\\x6c\\xa7\\x35\\x06\\x4a\\x00\\x30\\xab\\xa8\\x7f\\x52\\x90\\xf4\\xca\\x6c\\xe1\\x47\\xd2\\x47\\xe8\\x93\\xe8\\xfb\\x0e\\xe1\\x7b\\xf8\\x1e\\xf9\\xde\\x96\\xfd\\x81\\x39\\xca\\xed\\x42\\xdf\\x47\\x01\\xb0\\xa8\\xa8\\xdd\\xb0\\x03\\x4e\\x00\\xea\\x23\\x74\\x19\\x1b\\x03\\x15\\x0d\\x04\\x66\\x9c\\x50\\x83\\x09\\xc1\\x8c\\x24\\x63\\x77\\x83\\x3f\\x09\\x63\\xf9\\x47\\x98\\xa3\\x6c\\x8b\\x30\\x16\\x7d\\xff\\x11\\x75\\xa9\\x00\\xcf\\x3f\\x92\\x07\\xff\\x11\\xfc\\x50\\x9c\\xcb\\x92\\x07\\xbf\\x0d\\xec\\x06\\x41\\xf4\\x7d\\x79\\xd6\\xa2\\x80\\xe7\\xa8\\x6d\\x9e\\x20\\x81\\x5f\\xc1\\x4f\\x63\\x97\\x70\\x6f\\xa3\\xef\\x63\\xe8\\xfb\\x38\\x58\\x0b\\x7b\\x31\\x8d\\x60\\x35\\x55\\x46\\x68\\xa4\\x9a\\x72\\x34\\xb6\\xf1\\xd3\\xe8\\xe7\\xd9\\x6d\\x08\\x76\\x14\\x82\\x8d\\x81\\xb5\\x11\\x34\\x03\\x58\\x0d\\xb1\\x84\\x91\\x1e\\xbb\\xd9\\x9f\\xd8\\xfb\\xc9\\x3a\\xe3\\xe2\\x3a\\x1f\\x10\\x70\\xf8\\x72\\x38\\x70\\xad\\x25\\x96\\xd0\\x31\\x9a\\xd0\\xb1\\x7b\\xfc\\x7f\\x85\\xb1\\xfc\\x23\\xec\\xfd\\x6c\\x8b\\x39\\x8e\\x56\\x78\\x1f\\x1a\\xcd\\x61\\x1c\\x80\\x7d\\x74\\x59\\x14\\x11\\x84\\xc7\\xa1\\x7d\\x40\\xe3\\xf0\\x75\\xf8\\x0c\\xb9\\x8e\\xc6\\x03\\x6b\\x5a\\xff\\x72\\x0d\\x7c\\xb6\\x06\\x1e\\xaa\\x81\\x6d\\x35\\x70\\x39\\xfa\\x43\\xe8\\xb0\\x60\\x5c\\x02\\x1d\\x64\\x0f\\xfe\\x40\\xf6\\xa0\\x15\\xed\\x8d\\x72\\xee\\x6d\\x23\\x82\\xe2\\xdc\\x43\\xf2\\xe0\\x3f\\x81\\x07\\xb3\\x9f\\x93\\x39\\x87\\x28\\xe0\\xf1\\xf7\\x5a\\xfc\\x3d\\x82\\xef\\xc8\\x83\\x3f\\x4b\\xad\\x26\\x6b\\x6b\\xe2\\x3b\\xf2\\xe0\\xcf\\xc2\\x23\\x04\\xff\\x27\\x00\\x30\\xcf\\xa9\\xc2\\xe8\\xfb\\x52\\xbc\\x2f\\x9a\\xdf\\x53\\xf8\\x41\\x77\\xed\\x63\\x14\\x0c\\x91\\x8d\\x69\\xc0\\x7b\\x8b\\xce\\x7f\\x17\\xb7\\x1c\\xc1\\x74\\xe2\\xbd\\xa5\\xb6\\x5c\\xfa\\x3e\\x3a\\x85\\x11\\xe0\\x0e\\xf0\\x3e\\xde\\xc1\\x62\\x0b\\x06\\x1c\\x04\\xd7\\x1f\\xce\\x81\\xeb\\xa1\\x01\\xb8\\x56\\x83\\x8f\\x0a\\x71\\x21\\x7a\\x9f\\x23\\xeb\\x28\\x15\\xd7\\x51\\x43\\xd6\\xe1\\xe0\\x3b\\xe8\\x3e\\xfa\\x94\\x38\\x1e\\xaf\\x63\\xbb\\xb0\\x0e\\x7e\\x7d\\x1e\\xfc\\xd7\\x54\\x29\\x81\\xe7\\xf8\\xf5\\x79\\xf0\\x5f\\xc3\\xeb\\x45\\xf8\\x69\\xcc\\x73\\x1c\\xfa\\x1e\\x7e\\x4a\\xf8\\x61\\x17\\x1c\\x4b\\xf8\\x01\\xd6\\xe4\\xf3\\xd4\\x2f\\xd9\\xcb\\x10\\xcc\\xbf\\xf1\\xa9\\x52\\xbb\\x96\\x01\\x4c\\x63\\xa3\\x44\\xe3\\xb7\\x68\\xbd\\xdf\\x10\\x9e\\x2a\\x13\\x79\\x6a\\x8e\\x80\\x43\\xc1\\x53\\x3e\\x7e\\x1c\\x5d\\xc6\\x9d\\x40\\x1c\\xd9\\xc5\\x10\\x18\\x70\\x12\\xae\\x02\\xb1\\xb4\\x6f\\x6f\\x14\\xa2\\x20\\x34\\x4b\\xfe\\x7b\\x37\\x0a\\x37\\x44\\xe1\\x25\\x51\\xd8\\x17\\x85\\x69\\xc4\\x54\\xe4\\xcf\\xf2\\x15\\x2b\\xd0\\xf8\\xe5\\xd9\\x2f\\xd8\\xdd\\x5c\\x07\\x9a\\xa3\\x9c\\xcc\\xb1\\x05\\x7e\\x21\\xcc\\x11\\xcd\\xcd\\x01\\xd1\\x1c\\x7f\\x63\\xbe\\x43\\x30\\x63\\x04\\x18\\xf0\\x18\\x20\\x94\\xd6\\x58\\x24\\x98\\x2c\\x5a\\x25\\x17\\x21\\xb4\\x56\\x88\\xb4\\x9e\\x16\\xf0\\x84\\x72\\x78\\xc6\\xe0\\xfe\\xba\\x04\\x66\\xac\\x08\\xd3\\x29\\xc0\\x14\\x51\\x39\\x3c\\xfc\\x23\\x5c\\x84\\xec\\x73\\x85\\x28\\xf3\\x7f\\x14\\xc6\\x22\\x99\\x7f\\x88\\xf0\\xd7\\x58\\x51\\xe6\\xbf\\x52\\xcc\\xdb\\x2b\\xcd\\x0b\\x96\\xc2\\x63\\xb0\\x9c\\xf0\\x44\\x85\\xcc\\x13\\x78\\xde\\xaf\\xb8\\x8d\\xd2\\xbc\\x60\\x29\\xf8\\x1f\\x9a\\x17\\xc3\\x54\\x92\\x89\\x1b\\x90\\x7e\\xfd\\x94\\x9f\\x86\\xe7\\x05\\x09\\x70\\x75\\x7a\\xa4\\xa7\\xac\\xcc\\x6a\\xaa\\x44\\xd1\\x43\\x25\\x4b\\xe3\\xbb\\x5e\\x45\\xd6\\x22\\x73\\x30\\x58\\x0b\\x6a\\xa1\\x99\\x36\\xd7\\x78\\x4a\\xe7\\x66\\x3c\\x1e\\xb3\\xa3\\xc8\\xe7\\xb6\\x39\\x6c\\x7d\\x99\\x80\\x83\\x36\\x56\\x56\\x9a\\xcb\\x62\\x61\\xab\\xd9\\xda\\x97\\xa1\\xd5\\xe8\\xa7\\xc4\\x6c\\xc5\\x15\\xd1\\x2b\\x84\\x06\\xc5\\xd8\\x77\\x93\\xde\\xaa\\x12\\x0a\\x11\\xe0\\x47\\x9f\\xfa\\xe6\\xf4\\xe6\\xa2\\x5d\\x8b\\xd2\\xe3\\x67\\xf3\\x1a\\x69\\xc7\\x53\\x91\\x9f\\x69\\xbe\\x18\\x41\\x21\\x30\\x7c\\xe0\\xe6\\x5f\\x74\\xb6\\xb8\\x6a\\x6a\\x5b\\xc6\\x75\\x0c\\x6f\\x7a\\x43\\x7d\\xf8\\xe5\\x03\\x6a\\xca\\xa3\\x3e\\x32\\x9b\\xba\\x6c\\x36\\xf9\\xf4\\xe8\\xcb\\x07\\x34\\xfd\\x9f\\xa8\\x1f\\x9d\\xdf\\x7f\\xfd\\xfc\\x03\\xea\\x4f\\x9c\\x93\\x7b\\x5e\\x5b\\xb4\\xdc\\x31\\xd6\\x9c\\x1a\\x52\\xd9\\xcc\\xad\\x6f\\xf0\\x31\\x77\\x7a\\x1b\\x1a\\xbc\\xfd\\x5f\\x51\\x26\\xfc\\xfb\\xc7\\xf3\\x7c\\x0d\\x0d\\x3e\\xaa\\xa1\\xff\\xb4\\xaf\\x21\\xa5\\xee\\x26\\xf6\\xec\\x49\\xc4\\xab\\xf8\\xdd\\xbe\\x1a\\xb0\\x30\\xdd\\xe8\\xb4\\xa3\\xf5\\x56\\x99\\x74\\xa0\\x38\\x1a\\x0d\\xf9\\xfd\\xc0\\x64\\x66\\xd8\\x3a\\xb6\\xb6\\x38\\x34\\x31\\x53\\xec\\x70\\x96\\x7a\\x4a\\xbb\\x33\\x1e\\x33\\xa9\\x4b\\x04\\x8c\\x55\\x55\\x66\\x5a\\x3d\\x29\\x43\\x9b\\x91\\xf1\\x3b\\x29\\xbe\\xdc\\x9c\\xf7\\x1a\\x7c\\x41\\x86\\x54\\x7a\\x3e\\xb6\\x70\\x0b\\xc8\\x23\\x45\\x2a\\xc5\\x6b\\x67\\xca\\xf2\\x0c\\x78\\x0f\\xa6\\x29\\xf7\\x20\\xf2\\x39\\xae\\xa8\\x30\\xa3\\x98\\x14\\x53\\xd0\\x2e\\xfe\\x85\\xa2\\x16\\x43\\x45\\xc1\\xea\\xf1\\x0b\\x75\\xbc\\xed\\x08\\x29\\x9e\\xd0\\xd9\\xff\\x80\\x5b\\x51\\x77\\x01\\x2f\\x9e\\xf0\\xe4\\xac\\x3c\\x9e\\xfc\\x92\\xda\\x2a\\xf2\\xe4\\xac\\x3c\\x9e\\xfc\\x12\\x3e\\x41\\x78\\xf2\\x2a\\x7e\\x3d\\xf5\\x03\\x81\\xaf\\x14\\x75\\x02\\x4d\\xbe\\x6f\\xe5\\xd7\\xc3\\x1f\\xd9\\x71\\xe8\\xfb\\x71\\xc2\\xf7\\xe0\\xb7\\xe4\\xfb\\xef\\x11\\x7f\\x1a\\x55\\x2e\\x01\\x1e\\xe9\\xb5\\x7a\\xb8\\x05\\xc6\\x81\\xfe\\x71\\x9a\\x82\\x71\\x81\\x89\\x05\\xf9\\xb9\\x08\\x19\\xf6\\x7e\\x6e\\x05\\x82\\xfb\\x0f\\xb1\\x41\\x4b\\xef\\x7a\\x86\\xe8\\xb6\\x14\\xf8\\x80\\x70\\xb3\\xce\\x22\\x70\\xb3\\xa8\\x77\\xd9\\x83\\xc4\\xb6\\x55\\x0b\\x36\\x0d\\xfe\\x75\\x80\\x3c\\x36\\xa3\\x79\\xdf\\x55\\x15\\x23\\x98\\x09\\x22\\x8c\\x07\\xee\\xc4\\x30\\x9e\\x9c\\x3c\\x7e\\x82\\x6c\\xd3\\x41\\xb2\\x96\\x6a\\x51\\x1e\\x05\\xbb\\xde\\x2c\\xcb\\xe3\\x04\\xf1\\x7b\\x4e\\x80\\x47\\xf6\\x47\\x09\\xbf\\x0d\\xd6\\x10\\xfb\\xd3\\x8c\\x6c\\x70\\x0e\\x1e\\xd9\\x9f\\x44\\x50\\xc2\\xcf\\x58\\x09\\x7c\\x42\\xc4\\xd3\\x4e\\xf0\\x57\\xf0\\x8f\\xe0\\xf7\\x2c\\xd1\\xf7\\x13\\x45\\x79\\x87\\x32\\x7c\\x0f\\xd1\\x57\\x18\\x3e\\x2e\\xc0\\x9b\\xb1\\xde\\xaa\\x85\\x13\\x84\\x71\\xb4\\x91\\xbb\\x4e\\x1c\\x17\\x17\\xc6\\xe1\\xeb\\xd9\\x7f\\xc1\\x1d\\x02\\x7d\\x79\\xf3\\x6d\\x03\\xd7\\x63\\xfa\\xb2\\x57\\x67\\x2d\\x79\\xf3\\x6d\\xcb\\x2e\\x27\\xdf\\x63\\x3b\\xa1\\x84\\x3f\\x4b\\xb5\\x11\\x3a\\xe6\\xf0\\x1d\\x79\\xf0\\x67\\xc1\\xdf\\xa4\\x7d\\x57\\xa9\\xc9\\xbe\\xd7\\x88\\xbe\\xc4\\x04\\x61\\xdf\\x83\\x79\\x7a\\x90\\x5d\\x4e\\x7c\\x89\\x49\\xe2\\xbe\\xbf\\x4f\\xf4\\x29\\xac\\xcf\\xe9\\x53\\x01\\xcf\\x2e\\x09\\x0f\\xb5\\x9b\\x2a\\x12\\xf0\\xf8\\x0b\\xf1\\x8c\\x93\\xf0\\x20\\x7d\\xba\\x5b\\xc0\\x53\\x67\\x51\\x9e\\x9f\\x4a\\x4d\\xe8\\xaf\\x11\\xf7\\xf7\\x5f\\x92\\x3e\\xc5\\xef\\x8e\\x0a\\x63\\xc9\\xf7\\x02\\xfd\\x48\\xab\\xb2\\x8f\\x93\\x79\\x6b\\x45\\x9c\\x0f\\x0b\\xf3\\xba\\x72\\xf3\\x92\\x3e\\xe9\\x64\\xde\\xc9\\x02\\x0c\\xb8\\x5f\\x98\\x37\\x94\\x9b\\xf7\\x2b\\x84\\xff\\x71\\x32\\x6f\\xad\\x88\\x7f\\xb7\\x30\\x16\\xf3\\x0d\\x99\\x77\\xb2\\x78\\xae\\xfd\\x02\\x3c\\xe2\\x1b\\x25\\xfc\\x36\\xf0\\x2f\\xc2\\x37\\x5d\\x98\\x6f\\x64\\x78\\xc4\\x37\\x6d\\x41\\x11\\x7f\\x47\\x1e\\xfc\\x59\\xaa\\x97\\xe0\\x1f\\x85\\xec\\xb7\\x12\\xff\\x59\\x48\\x64\\x0c\\x2c\\xce\\x7e\\xc6\\xde\\x46\\x7c\\x87\\x3a\\x22\\x63\\x2f\\x50\\x37\\x10\\xdf\\x81\\xa6\\xaa\\x64\\x3b\\xd1\\x92\\xfd\\x8c\\x71\\x72\\xaf\\x20\\x98\\x6e\\xc2\\x3b\\x77\\x82\\x87\\xb3\\x2f\\x11\\x2f\\x6f\\x12\\x6c\\x1f\\x04\\xc7\\x8b\\x14\\xb2\\xf5\\x48\\x4e\\x19\\x19\\x89\\xb0\\x3f\\x08\\x0f\\xfd\\x3a\\x37\\x41\\x81\\xe7\\xa1\\xec\\x4b\\xc4\\xee\\xbc\\x06\\x7d\\xa0\\xf4\\x18\\x75\\xd8\\x0f\\x6b\\xfc\\xd0\\xff\\x44\\xf6\\x44\\xda\\x64\\xf7\\x74\\xfa\\x2d\\x31\\x86\\x0e\\x35\\x41\\x53\\x13\\x6c\\x02\\x96\\xde\\xde\\x86\\x86\\x8a\\x8a\\xe5\\xcb\\x1b\\x06\\xa5\\xfb\\xf7\\xd4\\x75\\x22\\xdd\\x61\\x25\\xdd\\xf4\\xef\\xb8\\xd5\\xf2\\x7c\\x5b\\xc0\\xae\\xac\\xe0\\x41\\xdd\\x02\\xfe\\x09\\x2c\\xbf\\xa6\\xf0\\x4c\\x8f\\xdb\\xc3\\x78\\x22\\x50\\x81\\x0e\\x68\\x10\\xbc\\x7f\\x20\\x6b\\x19\\x88\\xf7\\x4f\\x79\\x78\\x77\\x13\\xbc\\xab\\xa1\\xf6\\x5c\\x78\\x89\\xcf\\x72\\x88\\x7b\\x07\\x8d\\x49\\x8a\\xbc\\xdd\\x07\\x27\\x62\\x5f\\x21\\xc7\\xff\\xc2\\x3b\\xab\\x84\\xff\\xa7\\x08\\x30\\xe0\\x13\\xc1\\x9f\\x28\\xcf\\xf1\\x8f\\x80\\x67\\x97\\x84\\x47\\x8e\\x1b\\x28\\x7f\\x21\\x9e\\x71\\x12\\x1e\\xc4\\x61\\x27\\x04\\x3c\\xa5\\xf9\\x78\\x7e\\x4b\\xf0\\x34\\x88\\x78\\x04\\x79\\xa4\\x8a\\x72\\xfc\\x3c\\x05\\xd7\\xdb\\x23\\x78\\xa6\\x11\\x3f\\x6c\\xf7\\x70\\xc2\\xcd\\x0e\\xd9\\x0f\\x43\\x3a\\xe7\\xb7\\x84\\xd7\\x1a\\x44\\x5e\\x7e\\x8c\\x8c\\x33\\x21\\x5e\\x8e\\x10\\x5e\\x9b\\x26\\x7c\\x8f\\xbc\\x4c\\x20\\xc1\\x13\\x1d\\xd5\\x20\\xea\\xa8\\xc7\\x44\\x1d\\xd5\\x42\\x74\\x14\\x1e\\x57\\x4f\\xfc\\xa9\\x69\\xc2\\x75\\x3c\\x0e\\xf1\\xf6\\x16\\x93\\x10\\x4b\\x7c\\x8b\\x74\\x94\\x72\\xbe\\x6d\\xe0\\x61\\xa2\\x8b\\x9e\\x46\\xb2\\x90\\x9b\\x0f\\xc9\\xc2\\x43\\x42\\x1c\\xe3\\x46\\xe7\\xf4\\x2e\\x59\\x63\\xa3\\xb8\\x0f\\x1f\\x09\\x32\\x5b\\x9b\\x5b\\xa3\\x27\\xfb\\x19\\xf5\\x2e\\x59\\x63\\x8f\\xb0\\xc6\\x91\\x64\\x8d\\x65\\xe2\\x1a\\x81\\x1b\\xd1\\x24\\x5c\\x6f\\x14\\xe5\\x52\\xf0\\xbb\\x3c\\x48\\x0f\\xbf\\x4b\\xe6\\xec\\x11\\xbf\\x5f\\x2a\\xcd\\xc9\\x0c\\x55\\x15\\x49\\x73\\x6a\\x4e\\x23\\xdb\\x37\\x89\\x58\\xa1\\xa4\\xcc\\x3f\\x68\\x4e\\x7a\\x23\\xbb\\x47\\x9c\\x13\\xc1\\x80\\x2c\\x7f\\x46\\xf0\\xcd\\x2c\\x12\\x0c\\xa6\\xfd\\x9f\\x2a\\xbd\\x8c\\xe7\\x0c\\x7c\\x50\\xf4\\xe9\\xeb\\xf3\\xf0\\x4c\\x63\\x3f\\x92\\xf1\\x9c\\x81\\x6e\\xfe\\x6f\\x82\\xff\\x96\\xc3\\x83\\xe9\\x97\\xf6\\x80\\xe8\\xfd\\x3f\\x8a\\xb1\\xe4\\x47\\x64\\xcf\\xc9\\x3a\\xa4\\xf5\\x93\\xeb\\x4b\\x85\\x18\\x6c\\x24\\xd9\\x73\\x70\\x2d\\xe2\\x93\\xcf\\xc8\\xf8\\x94\\xc8\\x27\\xf1\\x01\\x7a\\x6f\\x26\\xae\\x85\\xc7\\xd1\\x08\\x66\\xba\\x80\\x3b\\xfb\\x19\\x38\\x86\\xc7\\xa2\\xf3\\xfe\\x8c\\x9c\\x57\\x4a\\xe4\\x8f\\x0a\\x01\\x1e\\xcd\\x79\\x1e\\xb3\\x51\\x86\\xff\\x08\\x8e\\x12\\xe6\\x42\\xe7\\x9b\\x83\\x47\\xe7\\x78\\xa9\\xa0\\xd3\\xb0\\x0d\\x52\\xc2\\x8b\\x36\\x08\\xc5\\xa9\\x1d\\x79\\xf8\\xcf\\xc2\\xcf\\x09\\xfc\\x06\\x64\\x83\\x94\\xf0\\x67\\xc1\\x0f\\x04\\xff\\xd3\\xfc\\xbd\\x5c\\x23\\x81\\x6f\\x22\\xdf\\x7f\\x2c\\xfa\\x2b\\x8b\\xf8\\x7b\\xe9\\xa3\\xf4\\xc3\\xe8\\xfb\\x19\\xc2\\xf7\\x82\\xbf\\x82\\xe0\\xd7\\xe7\\xc1\\x7f\\x4d\\xdd\\x48\\xbe\\xaf\\x41\\xb1\\x8d\\x12\\xfe\\x6b\\x21\\xa6\\x43\\xf0\\x1d\\x79\\xf0\\x67\\xa9\\x9b\\xc9\\xf7\\x69\\xa4\\x7b\\x95\\xf0\\x67\\xe1\\x53\\x02\\x7c\\xf6\\x33\\xae\\x91\\xe8\\x9a\\x26\\x51\\xf7\\x3e\\x26\\x9e\\x71\\xa5\\x7c\\xc6\\x8b\\xb2\\x9f\\x20\\x9d\\xf9\\x77\\x71\\xac\\xa0\\x33\\xff\\x88\\x75\\x2f\\xf8\\x1a\\x8e\\x1d\\x04\\xc7\\x4b\\xd4\\xe3\\x44\\xf7\\xd2\\x32\\x12\\xe1\\x8c\\x30\\x9e\\xdf\\xb0\\xdf\\xc8\\x78\\xb6\\x80\\x9d\\xd9\\x3f\\x12\\xdd\\xfb\\x1c\\xf2\\xb6\\x4a\\xd2\\x66\\x9a\\x0a\\x45\\xa0\\x29\\x02\\x23\\x69\\x8d\\xa9\\x33\\x42\\x94\\xf0\\x11\\xab\\xbb\\xd3\\x0f\\x2c\\x15\\x0d\\x16\\xac\\x76\\x05\\x3c\\x17\\x64\\xff\\x81\\xe2\\xf9\\x47\\x11\\x9e\\x21\\x84\\x1f\\xee\\x84\\x37\\xc1\\xf1\\x98\\x1f\\x4c\\x39\\x7e\\xf0\\x23\\xbe\\x7c\\x96\\x5d\\x88\\x60\\x32\\x02\\x0c\\xd2\\xb7\\x44\\xaa\\x6c\\xb2\\xfe\\x01\\x17\\x08\\xb1\\xbd\\x80\\x87\\xf0\\xc6\\x32\\x61\\x2c\\xe2\\xd7\\x9b\\xc8\\x5e\\x65\\x44\\xde\\x10\\x74\\xca\\xe6\\xec\\x3f\\x54\\x23\\x89\\xff\\x30\\x94\\xe8\\xc6\\x11\\xf0\\x6b\\xc4\\x87\\x8e\\xc7\\xa0\\x83\\x8d\\xc1\\x27\\xb2\\xff\\x79\\xcc\\xe9\\xe1\\xac\\x51\\x88\\xb0\\x0b\\x7a\\xbc\\x16\\xe9\\xf1\\xd1\\x44\\x97\\xce\\x14\\xe1\\xf1\\x03\\x0c\\xba\\xa3\\xb0\\xc1\\x1b\\xe0\\x9c\\x04\\x70\\x50\\xbc\\xab\\xd1\\x8a\\x26\\x00\\x5b\\x5a\\x47\\x10\\xdf\\xe6\\x70\\xe7\\xb0\\x82\\xc1\\xf0\\xae\\xc6\\x99\\x07\\x8c\\xf7\\x3d\\x8f\\x7f\\x20\\xde\\x8d\\x32\\xde\\xa5\\x54\\x1b\\xc2\\xeb\\x4a\\x1b\\x28\\xe8\\x66\\x63\\x14\\x6c\\x8e\\x3b\\x04\\xcc\\x0d\\x82\\x6b\\x9a\\xc3\\x9d\\x94\\x71\\x2f\\x85\\xc8\\x93\\x01\\x86\\x63\\x14\\x5c\\x56\\xe1\\x11\\x90\\x37\\xe4\\x70\\xef\\x92\\x70\\x23\\x1f\\x68\\xae\\x20\\x93\\xee\\xdc\\x19\\x08\\xb8\\xc6\\x49\\xb8\\x90\\xdc\\xae\\x13\\xce\\xc0\\x9f\\x3b\\x83\\xcd\\xc8\\x07\\x1a\\x49\\xce\\x60\\xa8\\xb0\\xd7\\xf4\\x3c\\x61\\x2c\\x3a\\x9b\\xd1\\xe4\\x0c\\x66\\x8a\\x67\\xf3\\x10\\x91\\xab\\xa7\\x91\\x0f\\x14\\x25\\xf3\\x36\\x8b\\x38\\x2f\\x2e\\xf4\\x9d\\xb3\\x28\\x62\\xa7\\xaf\\x66\\xc7\\x21\\x2f\\x7c\\x16\\x43\\xf4\\xe9\\x06\\x9c\\xb1\\xd9\\x90\\xc4\\x29\\xa4\\x1c\\x8e\\x8d\\x12\\x0e\\xb4\\xc6\\x39\\x62\\xcc\\x29\\xc7\\xa5\\x22\\x8e\\xa4\\x84\\x03\\x2c\\x5d\\x43\\x70\\xb4\\x89\\x38\\xc0\\xa5\\xe8\\x9f\\x65\\x84\\x8e\\x61\\x22\\x1d\\xa3\\x0a\\xd7\\x9f\\xcd\\xf0\\xa3\\xe8\\x1d\\x84\\x8e\\xd9\\x8c\\xa0\\xef\\xae\\x16\\xf4\\x36\\xd2\\x67\\x9b\\x88\\x1d\\x6e\\x21\\x63\\xaf\\x83\\xd1\\xc2\\xdc\\x01\\xa9\\x77\\x59\\xce\\x6e\\x47\\x30\\xbd\\xc4\\x26\\x5c\\x57\\xa9\\xd8\\x39\\x41\\x67\\x32\\x9b\\xc8\\xbe\\xb5\\x88\\xfb\\x53\\x23\\xe5\\xab\\xf0\\x3b\\xcd\\xc2\\x38\\xc2\\xbb\\x97\\x89\\x36\\xc6\\x92\\x07\\xbf\\x0d\\x5c\\x43\\xec\\xd6\\x9b\\xc8\\x6e\\xe5\\xe0\\x91\\xbe\\x7b\\x51\\xb0\\x5b\\x63\\xe4\\x98\\x60\\xac\\xf0\\x7d\\x7b\\x50\\xd6\\xb3\\x7f\\x66\\x4f\\x4a\\x7a\\x0d\\x2c\\xcd\\xfe\\x1d\\xfc\\x52\\x3e\\xeb\\x17\\xe5\\xb3\\xde\\x03\\x67\\xe0\\xce\\x61\\x68\\x4f\\xfd\\x92\\x1d\\x10\\xf7\\xe3\\x45\\x71\\x3f\\x38\\x6a\\xcf\\xc5\\x94\\xe8\\x93\\xfd\\x9b\\x3e\\xc2\\x9e\\xb6\\x92\\xfc\\x24\\x1a\\x7b\\x15\\xb8\\x4f\\xf0\\x15\\xca\\x72\\x7c\\xe2\\x42\\xfe\\x44\\x9c\\x7b\\xcd\\x1a\\x83\\xc3\\x45\\x3b\\xfa\\x01\\xbc\\x8e\\xc8\\xb3\\x18\\x0f\\xa1\\x38\\xf8\\x93\\xec\\xb7\\xec\\x64\\x76\\x32\\x28\\xc7\\xd5\\xe2\\x5d\\x5e\\x4d\\xa9\\xb9\\xb8\\xb8\\x34\\xaa\\xa7\\xbd\\x9c\\xbb\\xd2\\x5d\\x11\\x35\\xe8\\x0d\\xfa\\xb9\\x19\\x83\\x01\\x84\\x42\\xb6\\xb9\\x99\\x10\\xe3\\xf6\\xf6\\x65\\xdc\\x56\\xc0\\xcd\\xcd\\x30\\xc0\\x06\\xda\\xea\\x14\\xf5\\x60\\x84\\xf7\\x42\\xc5\\xb7\\xfa\\x14\\x37\\x9d\\x58\\xfc\\x16\\xb7\\xd4\\x97\\x35\\x55\\x27\\x07\\xb9\\x38\\xe0\\x6f\\x85\\x25\\x62\\x6d\\x6c\\x7c\\xdf\\x9b\\xa1\\x2b\\xa7\\xdf\\x56\\xeb\\x59\\xb9\\xe9\\xc1\\x43\\x8f\\x3d\\x64\\x7a\\xe0\\xc8\\x4d\\x2b\\x76\\xbd\\x1d\\xbe\\x95\\xdf\\xa9\\xf9\\xf5\\xc6\\xe0\\x41\\xa8\\xda\\xfb\\xe7\\x4f\\x8f\\xdd\\xbe\\xf3\\x51\\xfe\\x23\\x5d\\xc8\\x3b\\xb2\\xe4\\xc1\\x7b\\xd6\\x5c\\x3e\\xf3\\x8e\\x5d\\x0b\\x56\\x7d\\xf8\\xdb\\x9f\\x0e\\xa2\\xe8\\xfe\\xad\\x87\\xbf\\xdf\\x78\\xe7\\x0d\\x37\\x3e\\xe1\\x30\\xec\\x5f\\xf7\\xf2\\xbb\\x62\\x6e\\xf7\\x91\\xbc\\xdc\\xee\\x47\\xd4\\x5c\\x31\\xb7\\xfb\\x48\\x5e\\x6e\\xf7\\x23\\xf8\\x17\\x01\\x1e\\xf1\\xd8\\xa7\\xdc\\x9f\\x05\\x78\\xa4\\x93\\xb3\\xd4\\xbb\\x82\\x6f\\x15\\xc9\\xc9\\xa7\\xb0\\xef\\x8b\\xa4\\x7d\\x47\\x30\\xb6\\x2c\\xc9\\xc4\\x25\\x72\\x3e\\x1a\\xc2\\xc3\\xa6\\x54\\x1e\\x09\\x8f\\x16\\x52\\xef\\x10\\x59\\xc9\\xf7\\x45\\xff\\xcd\\xac\\xc9\\x9d\\x1f\\x82\\x09\\x49\\xfe\\xbb\\x7c\\xf6\\x84\\x1e\\x05\\x1e\\x8a\\xfa\\xdd\\x60\\x78\\x94\\x7c\\x80\\x60\\xec\\xe7\\xc0\\xe3\\x95\\xf1\\xd0\\x32\\x9e\\xea\\x3c\\x7a\\x2c\\xec\\x19\\x19\\x0f\\x0d\\x7f\\x14\\xf1\\x0c\\x2d\\xc0\\xe3\\x92\\xf1\\x30\\x08\\x4f\\x9c\\xc0\\xf8\\xf2\\xe8\\x79\\x9b\\xfd\\x52\\xc6\\xc3\\x60\\x19\\x23\\x30\\xf1\\x1c\\x1e\\x7c\\x2e\\x44\\x96\\x4b\\x44\\x7f\\x72\\xae\\x28\\xd3\\x4d\\x42\\x2e\\x5d\\x11\\xd3\\x93\\xb3\\x22\\x32\\xdd\\x21\\xfa\\x39\\x0f\\x93\\x33\\xbb\\x0e\\x3c\\x94\\x3b\\x33\\xc5\\x1e\\xb1\\xd4\\x4b\\xe2\\xda\\x3c\\xe7\\xdc\\x23\\x96\\x8a\\x88\\x34\\x45\\xcf\\xb9\\xd7\\xdc\\xff\\x17\\x78\\xb8\\x73\\xe2\\xc9\\xed\\xb5\\x4a\\xc6\\x63\\x2b\\xc0\\x93\\xdb\\x6b\\x95\\x8c\\x27\\x54\\x80\\xa7\\x48\\xc6\\xa3\\x46\\x78\\x6a\\x08\\x4c\\x59\\x1e\\x9e\\x97\\x15\\x7b\\xad\\x96\\xf1\\x34\\x14\\xec\\xf5\\x29\\x79\\xaf\\x77\\xc1\\x11\\x70\\x82\\x45\\x94\\x05\\xcc\\xb7\\xb6\\xc2\\xbd\\xce\\x88\\x7b\\x1d\\xa3\\x76\\xad\\x7b\\x5f\\x92\\x0e\\x39\\x57\\xa1\\xcc\\x19\\x7f\\x44\\xed\\x10\\xf3\\xbe\\x8f\\xe4\\xe5\\x8c\\x3f\\x82\\x5f\\xe7\\x72\\xe5\\x44\\x9e\\x4a\\x45\\x59\\xd9\\x2a\\xe8\\xec\\x4a\\x45\\xce\\x18\\xf9\\x1c\\x7d\\xec\\x26\\x61\\x2c\\x86\\x81\\xdf\\x08\\x74\\xd5\\xe5\\xe5\\x0e\\x10\\x9e\\x23\\x12\\x1e\\x64\\xe9\\x9b\\x07\\xe4\\x0e\\x30\\x9e\\x23\\xc4\\x77\\xe9\\x14\\x7d\\x97\\xeb\\x05\\x3c\\xc5\\x79\\x78\\x58\\x2b\\x39\\xe3\\x52\\x51\\xe6\\x9e\\x14\\x6d\\x58\\xb9\\x32\\xdf\\xce\\xac\\x25\\x67\\xdc\\x29\\xc2\\x84\\xc5\\x3d\\xad\\x91\\xf7\\x54\\xc8\\xdb\\xe7\\xf0\\x50\\x83\\xe3\\xa1\\xb7\\x2b\\xf0\\x50\\xe7\\xc0\\xf3\\x3c\\xe1\\x95\\x52\\x51\\x2e\\x0f\\x8b\\x78\\x52\\x79\\xf4\\xa4\\x08\\xaf\\x74\\x8a\\x30\\x12\\x9e\\x96\\x02\\x7a\\x5a\\x65\\x3c\\x8c\\x4c\\x4f\\x49\\x1e\\x3d\\x27\\x09\\xaf\\x74\\x8a\\x30\\x2e\\x11\\x4f\\x79\\x0e\\x0f\\x3e\\x5f\\x22\\x97\\xa5\\x84\\x57\\xae\\x83\\x01\\x91\\x57\\x76\\x08\\x3e\\x48\\xb1\\x32\\xd7\\xff\\x08\\x7d\\x3b\\x91\\xcb\\x4e\\x01\\x16\\xec\\xca\\x3b\\xfb\\xef\\x01\\xa0\\x7e\\x20\\x67\\x5f\\x29\\x9e\\xeb\\x5d\\x03\\xce\\x0c\\xe7\\xff\\x86\\x12\\x5d\\xfa\\x1f\\x11\\x46\\xd0\\xa5\\xd0\\x9d\\x3b\\xb3\\xef\\x51\\xcc\\xa1\\xcc\\x3d\\x7e\\x04\\xa7\\x03\\xf1\\x1e\\x52\\x5e\\xee\\xf1\\x23\\x68\\x17\\xf2\\x0b\\xc8\\x07\\xba\\x8d\\x7c\\x5f\\x27\\xf2\\xe8\\x87\\x32\\x6f\\xff\\x8e\\xf0\\x68\\xb7\\xf8\\x3d\\xc8\\xe5\\x23\\x08\\x9d\\x42\\xde\\x20\\x4b\\x0f\\x15\\x74\\x7e\\xb5\\x52\\xe7\\x7f\\x46\\xff\\x8e\\xf0\\x68\\xb7\\xc8\\xc7\\x1e\\x81\\xb7\\x2a\\x73\\xb6\\x56\\xc8\\x3f\\x78\\x24\\x3c\\x5a\\xdc\\x6a\\x4c\\x90\\xfb\\xca\\xbc\\x7c\\xcc\\x8d\\x84\\x27\\xba\\x45\\xde\\x4a\\x16\\x9e\\xc1\\x00\\x3c\\x14\\x9d\\x18\\x0c\\x0f\\xa2\\x27\\x87\\x87\\x3a\\x27\\x1e\\xaf\\x8c\\x87\\x96\\xe9\\x19\\x92\\x47\\x4f\\x17\\xe1\\xad\\x6e\\x91\\xb7\\x24\\x3c\\xa9\\x02\\x3c\\x2e\\x19\\x0f\\x43\\x07\\x44\\x9d\\x1f\\xcb\\xa3\\xe7\\x2f\\x84\\xb7\\xba\\x45\\xde\\x2a\\x13\\xf1\\x94\\xe4\\xf0\\xe0\\x73\\x21\\xbc\\x55\\x27\\xea\\xfc\\x0f\\x45\\x9d\\x7f\\x93\\xa0\\xf3\\x13\\xf9\\x7a\\xe8\\x77\\x84\\xb7\\xba\\x45\\xde\\x7a\\xa0\\xf0\\xcc\\xb8\\xd5\\xd8\\xf7\\x87\\xe7\\x89\\xbe\\xfc\\x1b\\xc2\\x99\\x35\\xe4\\x9d\\x19\\x73\\x00\\xfb\\xfb\\x70\\x3e\\xf1\\xb9\\x56\\x83\\xef\\x07\\x1d\\x3b\\x02\\x5e\\xf2\\x7f\\x8e\\x1d\\x21\\xfa\\xa0\\xc2\\xd8\\x3f\\x4b\\x63\\x11\\xaf\\x64\\x84\\xb1\\x6d\\x85\\x63\\x37\\x49\\x63\\x11\\xaf\\xf8\\x14\\x63\\x8f\\x48\\x63\\x91\\x0e\\x3b\\x2e\\x8c\\xad\\x29\\x1c\\xbb\\x50\\x1a\\x8b\\x74\\xd8\\x3e\\x89\\xa7\\xb9\\xd5\\xec\\x31\\x61\\x6c\\x3e\\x4f\\x33\\x07\\x98\\x9b\\x64\\x78\\x69\\x7f\\x9e\\x46\\xf0\\xca\\x78\\xf6\\x23\\xea\\x03\\x31\\x5e\\x7e\\x24\\x2f\\x9e\\xfd\\x88\\xd2\\xe4\\xe2\\x59\\x22\\x03\\x4d\\xe2\\xba\\x04\\x3b\\x0c\\xab\\x72\\xb4\\xe1\\x38\\xf4\\x28\\x91\\x81\\x19\\xa2\\xac\\x7e\\x25\\xe8\\x04\\x85\\x0c\\x60\\x3c\\xbf\\x27\\x7b\\xbb\\x5c\\x8c\\xc9\\x3c\\x02\\x9e\\x64\\x1e\\x1e\\xe6\\x7d\\xb2\\xb7\\x2b\\x84\\x73\\x81\\xea\\x41\\xc7\\x8e\\x80\\x2b\\xff\\x8f\\xb1\\x1c\\x18\\xd1\\x03\\x14\\x63\\xff\\x2c\\x8d\\xcd\\xd1\\xdf\\x52\\x38\\x76\\x93\\x34\\xaf\\x40\\xbf\\x3c\\xf6\\x88\\x34\\x16\\x9d\\xcb\\x9b\\xc2\\xd8\\xea\\xc2\\xb1\\x0b\\xa5\\xb1\\xe8\\x5c\\x1e\\x94\\xf7\\xf9\\xf7\\xe4\\x5c\\x96\\x17\\xee\\x33\\xf3\\x3e\\x39\\x97\\x15\\x79\\xfb\\x2c\\xc4\\x3f\\x6f\\x4b\\xf1\\x0f\\xe2\\xab\\xb3\\x8a\\x98\\x95\\x73\\x7a\\xd4\\x16\\x65\\xcc\\x9a\\x9d\\x86\\x7c\\xff\\xad\\x24\\x66\\x9d\\x4d\\xee\\x92\\x8f\\x50\\x93\\x88\\x75\\x5d\\xb8\\xc4\\xa1\\x27\\x80\\x18\\x27\\x92\\xab\\x32\\x72\\xd6\\xc3\\xc4\\xb9\\x46\\xe4\\xc6\\x92\\xb3\\x9e\\x2d\\x7e\\xff\\xbe\\x82\\x86\\x3f\\x4b\\x34\\x20\\xfe\\x7c\\xbd\\xf0\\xfe\\xa8\\x38\\xef\\x26\\x71\\x5e\\xbc\\x57\\x6f\\x0a\\x67\\x9d\\xbb\\x3f\\x2a\\xe2\\x39\\x22\\xc7\\x72\\x77\\xc2\\x31\\x02\\x1e\\x47\\x3e\\x9e\\x27\\x89\\x4d\\x9e\\x2d\\xda\\xe4\\x6d\\x02\\x9e\\x22\\x8b\\xd2\\x9f\\x66\\xa6\\xb1\\xfb\\xac\\x31\\x7a\\x3e\\x86\\x51\\xed\\x00\\x77\\x09\\xba\\x35\\x59\\x08\\xb3\\x5d\\x86\\x39\\x03\\x83\\x02\\x4c\\xf3\\xb9\\x61\\xee\\x06\\xbf\\x12\\x75\\x50\\xd2\\xa2\\xf4\\x71\\x73\\x30\\x9c\\xea\\xe0\\x4a\\x01\\xa2\\x39\\x77\\x9f\\x69\\x00\\x9e\\x7d\\x60\\x77\\xa1\\xdd\\x1e\\x80\\xe7\\xd0\\xb9\\xf0\\x70\\xdb\\x64\\x3c\\xfb\\xc1\\x63\\x83\\xd3\\xa3\\x80\\x39\\x0c\\x6e\\x14\\x61\\xa6\\xe4\\xfb\\x81\\x6c\\x97\\xe4\\x07\\xaa\\x76\\x64\\xeb\\xb2\\xf7\\x01\\xd5\\xa3\\x94\\x8d\\x01\\x6d\\x22\\x9f\\xe4\\xc3\\x70\\xaa\\x33\\x7b\\x9f\\xc4\\x10\\x4e\\x02\\x81\\xae\\x23\\x6d\\xc1\\x4e\\x60\\x67\\xa3\\x18\\xb2\\x64\\x01\\xd9\\x9b\\xac\\x25\\x7b\\x06\\x68\\x8e\\xd0\\x02\\x12\\x02\\xf3\\x4d\\x01\\xcc\\x41\\xfe\\x5f\\x22\\x8c\\x53\\x86\\xb9\\x8a\\xcc\\x33\\x5b\\xa6\\x65\\x1f\\xff\\x88\\x08\\x13\\x96\\x61\\xb6\\x17\\xc0\\x1c\\xe2\\xaf\\x19\\x80\\x47\\x88\\xb3\\x5a\\x64\\x98\\xfd\\xfc\\x7f\\xb2\\x07\\x0b\\xe8\\x29\\x84\\x39\\xcc\\x9f\\x16\\x61\\xaa\\x25\\x18\\x50\\x89\\xec\\x4e\\x94\\xf0\\xce\\x62\\x91\\x77\\x6e\\x2c\\xbc\\xef\\x24\\xc2\\x6c\\x97\\x61\\xce\\x80\\x37\\x04\\x98\\x61\\xf9\\x30\\xc3\\x64\\x18\\x4e\\x75\\x77\\x4a\\xcc\\xd8\\x2a\\xce\\xb3\\x10\\xe6\\xa0\\x49\\x80\\x19\\x56\\x00\\x73\\x9b\\x02\\x66\\x5f\\x9f\\x00\\x53\\x5b\\x00\\x73\\xbb\\x02\\xe6\\x50\\x6a\\x20\\x1e\\xe4\\x5d\\xb0\\x37\\xb0\\x6d\\xe6\\x38\\xf2\\xc3\\xfe\\x20\\xac\\x8c\\x3f\\x96\\xbd\\x03\\x9d\\x29\\xf4\\x8b\\x67\\x8a\\xb3\\x30\\x05\\x30\\x67\\xb2\\x89\\xec\\x21\\x0c\\x13\\x92\\x60\\x90\\x39\\xe0\\x8e\\xb2\\xdd\\x18\\x06\\x7b\\xd5\\xe4\\xe4\\x13\\xd9\\xe7\\xd0\\x2e\\x52\\x02\\x22\\x31\\x7f\\x15\\x1f\\x00\\x77\\x30\\xab\\x12\\xe1\\x42\\x0a\\xb8\\x81\\xf8\\xf6\\xc9\\xf8\\xca\\x7f\\x16\\xdf\\xa1\\x41\\xf1\\x75\\xf1\\x63\\xe9\\xfd\\xe4\\xfc\\x96\\xe4\\xc9\\x3e\\x8c\\xe7\\xce\\x46\\x80\\xd9\\x2e\\xc3\\x9c\\x81\\x6e\\x01\\x26\\x71\\x6e\\x98\\xbb\\xc1\\x66\\x31\\x1f\\x2b\\xc7\\x9c\\x05\\x30\\xe8\\xfc\\xc4\\xb3\\x49\\x28\\xf6\\x1d\\xc3\\xfc\\x45\\x81\\x67\\x1f\\xb8\\x53\\xc4\\x53\\x92\\x87\\xe7\\x0d\\x05\\x9e\\x43\\xab\\x07\\xc5\\xc3\\x04\\x88\\x5c\\x2f\\x11\\x65\\xff\\xae\\xc1\\xe8\\x51\\xc0\\x70\\xaa\\xc3\\x6b\\x04\\x88\\xd1\\xf9\\x7c\\xc0\\xfd\\x9b\\x6d\\x45\\xfb\\x58\\xa1\\xe0\\x83\\x3d\\x85\\x7c\\x50\\x00\\x83\\xf9\\xe0\\x60\\x21\\x1f\\xa8\\x5d\\xe4\\x3c\\x2a\\xfe\\x2f\\x3e\\x28\\x80\\x3b\\x27\\x1f\\x14\\xc0\\x9d\\x93\\x0f\\x0a\\xe0\\x06\\xe7\\x83\\x51\\x18\\x8e\\x6b\\x51\\xc0\\xed\\xcf\\xae\\x21\\xd2\\x9e\\x4f\\xdf\\x40\\xb8\\xc3\\xd9\\x49\\x22\\x5c\\x93\\x02\\xee\\xf2\\xec\\x67\\x94\\x9d\\xf0\\xd5\\x05\\x64\\x6f\\x77\\xdc\\x47\\x38\\xc6\\x27\\xe5\\x01\\xf1\\x75\\x0b\\x39\\x43\\xe1\\xfa\\x99\\x22\\x72\\x3d\\x22\\x5d\\x4f\\xa0\\xeb\\xf3\\xe4\\xeb\\x78\\xb7\\x66\\x8b\\xe7\\xe7\\x93\\xcf\\x6f\\x6a\\x01\\xcc\\xc1\\x6c\\xbd\\x08\\x13\\xb1\\xe4\\xee\\x01\\x7c\\x46\\x9d\\x56\\xcc\\xb3\\x6f\\xa7\\x00\\xe1\\x56\\x9c\\x31\\xa6\\xe5\\x8c\\x02\\xcf\\xa1\\xec\\x05\\x03\\xf0\\xac\\x41\\x3a\\x23\\x4e\\x78\\x45\\xc0\\xb3\\xff\\xc1\\x3c\\x6a\\x24\\x3c\\x74\\xa9\\x02\\xe6\\xf0\\x2f\\x04\\x98\\xe6\\x7c\\x7e\\xa2\\x9f\\x23\\xbc\\x52\\x59\\xc8\\x4f\\x7a\\x05\\x3f\\x15\\xc0\\xc8\\xfc\\x64\\x52\\xf0\\x13\\xf3\\x05\\x39\\xd7\\xca\\x01\\xfc\\xa4\\xcf\\x3f\\xff\\x02\\xb8\\x1c\\x3f\\x99\\xf2\\xf9\\xa9\\x00\\x2e\\xc7\\x4f\\xde\\x9f\\xc5\\x77\\x68\\x50\\x7c\\x23\\x31\\x1c\\xe1\\x93\\x4a\\x99\\x9f\\x2e\\x13\\xf9\\x44\\x49\\x5f\\xc7\\x00\\xb8\\xc3\\xd9\\x09\\x22\\x5c\\x5c\\x01\\x27\\xc4\\x5b\\xfb\\xa4\\xf8\\x06\\xe9\\xa9\\x5b\\x0b\\x73\\x0b\\x22\\xcc\\x76\\x19\\xe6\\x0c\\x34\\x16\\xde\\x03\\x2e\\x80\\x41\\x76\\x66\\xbd\\x60\\xed\\x8b\\xf3\\xfc\\x86\\x7c\\x98\\x83\\x43\\xf3\\x22\\xbb\\x41\\x61\\xf6\\x6d\\xc8\\xcb\\x1e\\x0d\\x0a\\x73\\x68\\xc6\\x40\\x3c\\x2b\\x91\\xef\\xdb\\xc7\\x8e\\x43\\xeb\\xaf\\x93\\xf8\\x01\\x79\\x06\\x98\\x1f\\xa8\\xa0\\x74\\xd6\\xb7\\x14\\xc0\\x20\\x69\\xb9\\x1e\\x73\\x83\\x60\\xf2\\x85\\xfd\\x89\\x65\\x3f\\x53\\x6d\\x21\\xe7\\x52\\x27\\xf3\\xc3\\x14\\x72\\x2e\\xb4\\x80\\x48\\x84\\x1b\\x33\\x00\\xee\\x60\\xb6\\x5c\\x84\\x0b\\xe7\\xe0\\xb2\\xfd\\x68\\xce\\xdf\\x89\\x70\\x95\\x22\\x3f\\x48\\x70\\x95\\x0a\\x7c\\xc5\\x03\\xe0\\x0e\\x65\\xa9\\x81\\xf8\\xc0\\x2c\\xb4\\x17\\x17\\x13\\x7d\\x70\\x99\\xa0\\x0f\\x16\\x10\\x79\\x0f\\x4b\\xf2\\x2e\\x5c\\xdf\\x2e\\x5e\\xc7\\x3e\\xc2\\xab\\x40\\x71\\x37\\x59\\x81\\x63\\xbb\\x8c\\xe3\\xee\\x61\\x82\\x7c\\x85\\x15\\xfb\\x59\\x08\\x73\\xf0\\x5d\\x01\\xa6\\xac\\x00\\xe6\\x21\\x05\\xcc\\xbe\\x95\\x02\\x4c\\xb0\\x00\\xe6\\x26\\x05\\xcc\\xa1\\xca\\xc1\\xf1\\x7c\\x49\\xe4\\x5d\\x80\\xd9\\xbf\\x72\\x70\\x7a\\xfe\\xa1\\x80\\x39\\x2c\\xd2\\x3c\\x5c\\x01\\x03\\x91\\x1f\\xf1\\x15\\x91\\xf7\\x61\\x92\\xbc\\xf3\\xdf\\x0a\\xf2\\xee\\x96\\x78\\x60\\x12\\x00\\xaa\\x8d\\x64\\x9f\\x87\\x51\\x33\\xc4\\x73\\xab\\x11\\xe5\\xce\\xad\\xd8\\xe7\\x89\\x03\\xe0\\x0e\\xc9\\x72\\xac\\x84\\xeb\\xc2\\x70\\x44\\xee\\x24\\xb8\\xc3\\x88\\x5f\\x04\\xb9\\xab\\x51\\xca\\x67\\xf6\\x33\\x76\\x1c\\x39\\xb7\\x2b\\x04\\xee\\x84\\xe7\\x0b\\xe7\\xd2\\x98\\x3b\\x17\\x01\\x66\\xbb\\x0c\\x73\\x46\\x7a\\xf6\\xa8\\xf5\\xdc\\x30\\x77\\xc3\\x0e\\x51\\xc7\\x36\\xca\\x3a\\xb6\\x10\\xe6\\x20\\xf8\\x46\\x84\\x69\\x3d\\x27\\xcc\\x3e\\xb8\\x45\\x84\\x49\\x9e\\x13\\xe6\\x10\\x6c\\x1c\\x1c\\x0f\\x39\\x17\\x01\\x66\\x3f\\x5c\\x33\\x38\\x3d\\x0a\\x98\\xc3\\x70\\x92\\x08\\xd3\\x23\\xc3\\x20\\x6f\\x97\\x1b\\x8d\\x65\\x93\\x9e\\x25\\xcb\\x6f\\xb9\\xa0\\xcf\\x2b\\xa4\\xb3\\x3b\\x58\\x00\\x83\\xe4\\x77\\x1f\\x39\\xdd\\xea\\x9c\\xfc\\xb6\\xa2\\xf3\\x58\\x89\\xcf\\x8d\\x9e\\x25\\xcb\\xef\\x05\\xe2\\xb9\\x55\\x28\\xce\\x63\\xfe\\x00\\xb8\\x83\\xd9\\x11\\x22\\x5c\\xb5\\x42\\x7e\\x79\\x34\\xe7\\x43\\x22\\x9c\\x24\\xbf\\x15\\x22\\xdc\\x10\\xa5\\xfc\\x0e\\x80\\x93\\xe4\\x37\\x0f\\x1f\\x18\\x8e\\xe1\\x30\\xbf\\xc8\\x70\\xfb\\xb3\\x2b\\x45\\x7e\\x51\\xd2\\xd7\\x3e\\x00\\xee\\x70\\x76\\x9c\\x08\\x37\\x2a\\x4f\\x9f\\xe3\\xf8\\x6d\\xbf\\x1c\\x77\\x9d\\x00\\x37\\x17\\xe6\\x9c\\x07\\xc0\\x9c\\x86\\x25\\x03\\x60\\x84\\xd8\\x62\\xbf\\x1c\\x5b\\x9c\\x00\\x57\\x09\\xbc\\x97\\xcc\\x87\\x19\\xa2\\x80\\x39\\x0d\\xb2\\x03\\x60\\x04\\xdf\\x74\\xbf\\xec\\x2f\\x9e\\x00\\x4f\\x0b\\x30\\xb1\\x73\\xc3\\x9c\\x86\\xa9\\x01\\x30\\xc8\\x07\\x80\\xfd\\x04\\x46\\xf0\\x01\\x4e\\x3c\\x4b\\x20\\xbc\\x4a\\xbf\\x67\\x8d\\xe2\\xfa\\xe9\\xd6\\xfc\\xeb\\x82\\xcd\\xd8\\x2f\\xdb\\xb0\\x13\\x92\\x9d\\x0b\\x17\\xda\\xb0\\x1c\\x8c\\xbc\\x2f\\xe1\\x42\\x5d\\xb9\\x5f\\xd6\\x3b\\x27\\x96\\x28\\xa2\\xfe\\x01\\xd7\\xf1\\x9e\\xfc\\x30\\x20\\x2f\\x20\\xc8\\xd1\\x7e\\x99\\xff\\x4f\\xc0\\x6b\\x05\\x98\\x86\\x73\\xc3\\x9c\\xa6\\x8c\\x03\\x60\\x5a\\xf8\\x91\\xb9\\xfc\\x82\\x39\\x8e\\x6c\\xf7\\x36\\x9c\\x0f\\xa1\\xeb\\xb1\\x4f\\x2e\\x5f\\xdf\\x2e\\x5f\\x3f\\x03\\x55\\x3f\\x7b\\xfd\\x6e\\xfc\\x64\\xcd\\x39\\xaf\\xc7\\x54\\x07\\xe7\\xc8\\x57\\x07\\x1d\\x4f\\xf2\\x09\\x3f\\x33\\xfe\\xd0\\xd8\\x41\\xc6\\x4b\\x39\\x02\\x34\\x7e\\x3f\\xce\\x09\\x16\\x8e\\x97\\xaf\\xc7\\x54\\x87\\x2f\\xcf\\x1b\\x2f\\xbe\\xdf\\xd2\\x25\\xdd\\xff\\xa1\\xeb\\x45\\xc9\\x90\\xf2\\x08\\x74\\x89\\x22\\x8f\\x30\\x28\\xac\\x94\\x4f\\xa0\\xe3\\x72\\x3e\\x81\\x1f\\x99\\xcb\\x15\\x10\\xb8\\xed\\x40\\x99\\x57\\x60\\x04\\xa4\\x42\\x5e\\xe1\\x1c\\xb0\\x52\\x7e\\x81\\xa1\\xe3\\xb9\\xfc\\x02\\x99\\x7f\\xf6\\x00\\x5a\\xa5\\x3c\\x03\\x43\\xd7\\xe5\\xf2\\x03\\xe7\\x80\\x95\\xf2\\x0d\\x4a\\xbc\\x04\\x56\\xca\\x25\\x28\\x60\\xa5\\xbc\\x83\\x92\\xde\\x73\\xc1\\x4a\\xf9\\x07\\x86\\x6e\\x93\\xf3\\x0f\\x09\\x7e\\x64\\x2e\\x7e\\x25\\xbc\\x75\\x17\\xce\\x4b\\xd2\\xf5\\x4f\\x09\\x67\\x27\\x5c\\xdf\\x2e\\x5f\\x27\\xb1\\xeb\\xcf\\x5c\\x17\\x78\\xeb\\x5c\\xd7\\x63\\x38\\x66\\x15\\xae\\x8a\\xd7\\xfe\\xa2\\x18\\x4b\\x62\\xd5\\x82\\xb1\\x6f\\x28\\xc6\\xa2\\x38\\x55\\x39\\x36\\x17\\x7b\\x12\\x9e\\x1a\\x40\\xb7\\xe2\\x7a\\x0c\\xc7\\xa6\\xf2\\x58\\x0f\\x3f\\x52\\x19\\x6f\\xe2\\x55\\xe3\\x18\\xc2\\x82\\x78\\x8e\\xba\\x12\\x0d\\xcf\\x8b\\x4d\\x07\\xc0\\x92\\x58\\x42\\x09\\x9b\\x8b\\x51\\xf9\\x91\\xca\\x58\\x11\\xef\\x06\\xf6\\x1d\\x30\\x2c\\x8d\\x5f\\x35\\x1d\\x10\\xab\\x0e\\x80\\x27\\xb1\\x45\\x1e\\x7c\\x5e\\xcc\\x3a\\x00\\x7e\\xdf\\x00\\xfc\\xe5\\x3f\\x8b\\xff\\xd0\\xcf\\xe2\\x4f\\x62\\xf8\\x5c\\x6c\\x8a\\x77\\x35\\xbb\\x50\\x58\\xeb\\xa0\\xf4\\xd7\\x0d\\x80\\x3f\\x9c\\x1d\\x56\\x00\\x9f\\x52\\xfa\\x42\\x48\\x8e\\x64\\x5f\\x08\\xef\\x3a\\xf6\\x85\\xb0\\xa4\\xc3\\x7b\\x14\\xd7\\xb7\\xcb\\xd7\\x89\\x1f\\xf4\\x33\\xd7\\xef\\x86\\x23\\x7e\\xf6\\xfa\\x41\\xf0\\xed\\xcf\\x5e\\xdf\\x07\\x6f\\xfc\\xd9\\xeb\\xc4\\xef\\x29\\xbc\\x2e\\xf9\\x33\\x78\\x77\\xf0\\x33\\x36\\x3f\\x73\\x9d\\xf8\\x3b\\x8a\\xeb\\x37\\x22\\x5e\\x52\\xf8\\x31\\x58\\x32\\xf1\\x9b\\x5a\\x0a\\x9f\\x87\\x1a\\x26\\xfb\\x3c\\xe7\\x80\\x95\\x7c\\x1f\\xaa\\x4d\\xe1\\xfb\\xf0\\x23\\x95\\x3e\\x0d\\x86\\xa5\\xf7\\xe5\\xfb\\x40\\xf4\\x30\\xa5\\x0f\\x74\\x4e\\x78\\xd9\\x17\\x92\\x34\\x84\\xe0\\x0b\\x21\\x5a\\x14\\x3e\\x0e\\xa1\\xe5\\xef\\xf9\\x3e\\x11\\x3d\\xe6\\xff\\x77\\x78\\x30\\x1c\\xc3\\xe7\\x7c\\x1e\\x05\\xbc\\xec\\x23\\xe5\\xd1\\xdf\\x7e\\x4e\\x78\\xd9\\x57\\xa2\\xa7\\x0f\\xf0\\x95\\x2e\\x93\\xfc\\x20\\x6a\\x97\\xe8\\x9b\\x88\\x8f\\x97\\xe4\\x60\\xf0\\xf3\\xbf\\x22\\xcc\\x16\\x09\\xa6\\xa6\\xd0\\x0e\\xef\\x97\\xed\\x18\\xf1\\xb9\\x0a\\xed\\x18\\xfd\\xbc\\x78\\xbd\\xd0\\x3e\\xe6\\xc6\\x11\\x7f\\x43\\x79\\x9d\\xd0\\xb7\\x50\\x9e\\xfb\\x4e\\x31\\x76\\xcb\\xa3\\x8f\\xe0\\x58\\x28\\xe1\\x10\\x60\\x72\\x38\\xc4\\x5c\\xf3\\x29\\x29\\xd7\\x4c\\xed\\x12\\x9f\\x2f\\x50\\x3c\\x1b\\x21\\xc2\\x74\\xc8\\x30\\x5b\\x60\\x97\\x00\\xe3\\x2c\\x80\\x91\\x9e\\x37\\xc2\\x3e\\x4b\\x76\\x56\\xf6\\x5e\\xcc\\x6f\\x8e\\xc2\\x5c\\x7d\\xa7\\x9c\\xab\\x3f\\x7d\\xf5\\x3d\\x39\\x88\\x81\\xef\\xa3\\x22\\xfe\\xc7\\xf9\\x4e\\x08\\xcf\\x63\\x92\\xd4\\x45\\xec\\x3e\\x60\\x06\\x25\\x69\\x27\\x6d\\xe4\\x68\\x8b\\x15\\x1c\\xe6\\xc8\\x4b\\xc5\\x6d\\x5c\\x1f\\xb7\\x81\\x63\\x39\\x90\\xe8\\xed\\x3d\\x43\\xba\\xa5\\x88\\x2f\\xd5\\x73\\x2a\\xfc\\xaa\\x77\\x35\\xd5\\x50\\xdf\\x48\\xd1\\xd5\\xc3\\xd6\\xec\\xd4\\x5d\\xe7\\x0f\\xfb\\x53\\xec\\xbe\\xf6\\xfa\\xde\\x65\\x95\\x6d\\x65\\x8d\\x36\\xbb\\xdd\\xef\\xab\\x4c\\xe2\\x3a\\x03\\xab\\xf8\\x91\\x70\\x69\\x76\\x07\\xc2\\x1f\\x4e\\x9b\\x34\\x34\\x6d\\xb4\\x58\\x0d\\x00\\xe0\\x7e\\xdf\\xb8\\x33\\xef\\x4b\\x62\\x23\\x16\\xa1\\xbe\\xad\\x4d\\xac\\xdd\\x63\\x82\\x76\\xa1\\x25\\xe9\\x4b\\x55\\x95\\x74\\x64\\x55\\x98\\x09\\xfa\\x6b\\x5c\\x25\\x9d\\xfc\\xc8\\x44\\xcc\\x1c\\x38\\x7d\\xb4\\xb4\\xc8\\x5d\\xe3\\x2a\\x42\\xb4\\x0f\\x45\\xb4\\x8f\\x24\\xb4\\xdb\\x8e\\x89\\xa4\\x23\\x62\\xcf\\x45\\x2a\\x7c\\xf3\\x67\\x49\\xc5\\xb9\\x37\\xa6\\x8f\\xa6\\xd9\\x85\\x66\\x8e\\xba\\xf3\\x6f\\xb8\\x06\\xc1\\xbd\\xcc\\x52\\x7a\\x16\\xb7\\x81\\xbc\\x6f\\x9f\\x00\\xa3\\xd2\\xa5\\x7a\\x2b\\x07\\x40\\xd8\\x4a\\xd7\\x54\\x55\\xd5\\x56\\x06\\x4c\\x25\\xa1\\x92\\x44\\x09\\x5d\\x52\\x52\\x16\\x36\\xb9\\x43\\xee\\x84\\x7b\\xaf\\x9b\\x71\\x3b\\x34\\x1a\\x13\\x2d\\x74\\x4b\\x3e\\xd9\\x5b\\x57\\x57\\x97\\xe8\\x4d\\x2a\\xeb\\x3c\\x9c\\xbb\\x32\\x40\\xb4\\xb8\\x9a\\x92\\x5b\\x5b\\x07\\x29\\xb1\\x9f\\x35\\xf5\\xa7\\xa6\\xf2\\xf2\\xa1\\xcd\\x65\\xe5\\x4d\\xfc\\x9e\\xa6\\xf2\\xb2\\x61\\xad\\xf1\\xf2\\x26\\x08\\x6b\\xba\\xda\\x9a\\xc3\\x62\\x63\\xeb\\x9a\\x31\\x6d\\xcd\\x45\\x42\\x33\\x6b\\xe6\\xe5\\xf2\\xe6\\xd6\\x78\\xc5\\x90\\xa1\\xe5\\xe5\\xcd\\xc3\\xca\\xca\\x87\\x0e\\xbd\\xaa\\xa2\\xa1\\x02\\x37\\xb5\\x46\\xbf\\x48\\x33\\x6b\\xd9\\xf6\\xef\\x97\\x6d\\xf4\\x09\\xf0\\x9b\\x81\\xbe\\x01\\x7e\\x9e\\x81\\x5c\\x2f\\xf4\\x19\\x72\\xe3\\x4e\\xe3\\x67\\x51\\x15\\xd7\\x71\\xde\\x99\\x25\\xb2\\xb0\\x44\\x94\\x17\\xf1\\xde\\x9e\\xc2\\x7f\\xc7\\xf6\\x9f\\x93\\x60\\x88\\xbc\\xbc\\x95\\x87\\xe3\\x00\\x00\\xec\\x17\\xc4\\xae\\x97\\x8a\\xde\\xd1\\x89\\xec\\xf9\\xd9\\xdd\\xc4\\x9e\\xd3\\xa2\\x0e\\x9e\\x3e\\x00\\xe6\\x74\\xb6\\xaf\\x00\\x06\\xe1\\x51\\x4d\\x14\\xfc\\x83\\x73\\xe2\\x99\\x36\\x00\\xe6\\x74\\xb6\\x37\\x1f\\x26\\xfb\\x29\\xd2\\x69\\x8a\\xf7\\xd9\\x90\\xcc\\x1c\\x01\\xb8\\x46\\xd1\\xab\\x4c\\x98\\x66\\xd9\\xed\\x88\\xef\\x9c\\xa0\\x2c\\xed\\xb6\\x22\\xde\\x63\\x5c\\x0e\\x87\\xdb\\x06\\x2c\\x05\\x72\\x93\\x3c\\x53\\x27\\x1e\\xfe\\x20\\xfc\\x48\\x4a\\x41\\xc0\\xab\\xca\\x1a\\x2f\\xbd\\x4d\\x77\\x3d\\xe2\\xca\\x76\\xb8\\xe6\\x56\\xd5\\x53\\x16\\x8e\\xdd\\x3e\\x34\\x79\\xde\\xca\\xaa\\x1c\\x73\\xf2\\xf7\\xc1\\xa2\\x28\\xff\\x56\\x58\\x9a\\xbb\\x29\\x37\\xb7\\x05\\xe8\\x68\\xc6\\x65\\xb7\\xbb\\x6d\\x46\\x8b\\x89\\x0e\\xd1\\x6d\\x74\\x1f\\xbd\\x81\\x66\\xe9\\xc2\\xb9\\x95\\x13\\x23\\x66\\xb3\\xe1\\x72\\x10\\x34\\x7c\\x77\\xf5\\xad\\xc2\\xcc\\x35\\x65\\x8d\\x45\\xdc\\x9a\\xa7\\xb8\\x9f\\xd8\\xc8\\xdc\\x4b\\x15\\x33\\x0f\\xe5\\xff\\x11\\x86\\x25\\x51\\xfe\\x3d\\xb2\\xee\\x3f\\xa2\\xb9\\xd7\\x71\\xdb\\xd0\\xdc\\xa5\\x20\\x99\\x0e\\xa0\\x65\\x7b\\x99\\xb2\\x58\\xac\\x3c\\xea\\x0c\\x04\\x8a\\xbd\\x16\\x50\\xb0\\xf8\\xd7\\x4e\\x60\\xfe\\x97\\xd9\\x7f\\xe0\\x0e\\xb8\\x06\\x65\\x79\\xf8\\x7d\\x6e\\x47\\x7e\\x7f\\x0e\\x4e\\x1f\\xb0\\x45\\xaa\\x02\\x4e\\x97\\x73\\xe0\\x7f\\x22\\x36\\x86\\xc4\\xa5\\xd4\\xae\\x43\\x79\\xef\\xab\\x80\\x09\\xe8\\xfa\\xeb\\xc4\\xbe\\x08\\xd7\\xb7\\x1c\\x06\\xb9\\xa7\\x84\\xd0\\xf5\\xf3\\xd0\\xf5\\x7b\\xd9\\x2d\\x72\\x0e\\xfd\\x78\\x76\\x76\\xf6\\x05\\xe1\\x59\\x7a\\x21\\x5a\\x17\\x73\\x5d\\x85\\x70\\xcf\\x9e\\x03\\x2e\\x8d\\xe0\\xce\\x12\\xfe\\x17\\xe6\\xbb\\xf3\\x54\\x3e\\x3d\\x2b\\x48\\xae\\xbd\\x59\\x8e\\xa3\\x6f\\x7d\\xe9\\x69\\x01\\x8b\\x78\\x9b\\xa8\\x41\\x7c\\x07\\x72\\x0a\\xb1\\x29\\x95\\xa2\\xdd\\xac\\x13\\xee\\x8f\\xeb\\x73\\xf6\\x02\\xc3\\x4c\\x25\\x36\\xa5\\x52\\xb4\\x9b\\x09\\x01\\x46\\xf1\\x4c\\x3e\\xf2\\x7e\\x98\\x18\\x2b\\xe4\\xa8\\x25\\x19\\x59\\x94\\xdd\\x45\\xf2\\xf1\\x92\\x8c\\xf4\\x10\\x98\\x56\\x05\\xcc\\xe9\\xec\\x1c\\x41\\x46\\x04\\x18\\x40\\xc1\\x22\\xc4\\x13\\x55\\x0a\\x59\\xe0\\x0c\\x40\\x90\\x05\\xda\\x62\\x32\\x86\\x8c\\x6d\\xc6\\x3e\\xe3\\x06\\x23\\x6b\\x2c\\xe4\\x47\\xb1\\x2e\\x09\\x29\\x55\\xe5\\x52\\x55\\x43\\x56\\x10\\x86\\xa2\\x69\\xcd\\xb1\\xc4\\x88\\x32\\xdf\\xf9\\xba\\x39\\xbd\\xf0\\x4f\\x44\\x1a\\x98\\xf7\\xc7\\xcf\\x8b\\x86\\x5b\\x7d\\x66\\x9f\\xad\\xb6\\xb8\\x2d\\x38\\xbd\\x4f\\x96\\x05\\x32\\xf7\\x3c\\x85\\x2c\\x90\\xb9\\xb1\\x2c\\xfc\\x3f\\xce\\x2d\\x08\\x43\\xde\\xdc\\x2a\\xee\\xf2\\xa7\\x54\\x3f\\x0d\\x98\\x5b\\x12\\x06\\x0a\\x7c\\x87\\xe6\\xbe\\x17\\xc9\\x82\\x4b\\x90\\x85\\x60\\xd4\\xad\\x61\\xca\\x1c\\x8e\\x72\\x3b\\xab\\xd7\\x5b\\x34\\xc0\\x67\\x8a\\x85\\x62\\x6d\\xb1\\xbe\\xd8\\x06\\xfc\\x38\\xd3\\x60\\xb2\\x30\\x28\\xef\\xb3\\x85\\xb4\\x51\\xc7\\xce\\x21\\x01\\xfc\\x0e\\x05\\xb9\\xec\\xf5\\xf9\\xec\\x7f\\x5f\\x3e\\xd9\\x52\\xee\\x64\\x03\\x91\\x85\\xcb\\x04\\x59\\x98\\x93\\x7f\\xef\\x0a\\x5f\\xdf\\x44\\x64\\x41\\xb8\\xbe\\xa5\\x8f\\x5c\\x0f\\xe6\\xe7\\x56\\xb6\\xc8\\xb9\\x97\\xe3\\x45\\x22\\x87\\x37\\xc9\\xbc\\x39\\x00\\xe6\\x59\\xd3\\x00\\x98\\xec\\x19\\x7e\\x1c\\xfd\\x2b\\x12\\x6f\\xac\\x04\\xca\\x7b\\xeb\\x54\\x2e\\x47\\x23\\xc2\\x6c\\x97\\x61\\xce\\x40\\x0a\\x14\\xbc\\xaf\\x46\\xe6\\x7a\\x9c\\xc8\\xd2\\x65\\xa2\\xbd\\xd9\\x02\\x14\\x2b\\x92\\x61\\xbe\\x20\\xf2\\x24\\xe4\\x83\\x6e\\x05\\x3b\\xb3\\xa2\\x44\\x95\\x2b\\xe5\\x52\\x78\\xe6\\xe4\\x94\\xfc\\xcc\\xc9\\xae\\x81\\xcf\\x9c\\x88\\x30\\x1d\\x32\\x8c\\xe4\\xa7\\x29\\xdf\\xb1\\x40\\xea\\x83\\x7b\\x92\\xc8\\xd4\\x30\\x31\\x1b\\x71\\x22\\xbb\\x42\\x90\\x29\\xb7\\x24\\x53\\x63\\x07\\xc0\\x9c\\xce\\x4e\\x29\\x80\\xc1\\xf7\\xe0\\x2f\\x23\\x72\\x97\\x2c\\xb8\\x57\\x46\\x09\\x31\\x30\\xa0\\x21\\xc7\\xcc\\xa1\\xbb\\xe4\\x5a\\x40\\x35\\x69\\xb7\\xde\\x1a\\xf0\\x58\\xe9\\x20\\x72\\x50\\x42\\x1a\\x87\\xc3\\x64\\xf2\\xd1\\xd8\\x29\\xa1\\xdc\\x98\\xfb\\x5f\\x2a\\xa8\\xda\\xf4\\x7f\\xd5\\x27\\xa2\\xbb\\xea\\x62\\xb8\\xfe\\x50\\xac\\x8e\\x5f\\x96\\x8c\\xc6\\x1a\\x1a\\x62\\x25\\xf5\\xab\\xef\\x51\\x3d\\x15\\xe2\\x98\\xa7\\x63\\x0d\\x8d\\xd1\\x78\\xb2\\x3e\\x16\\x6d\\x6c\\x88\\xc5\\xea\\x93\\xd7\\xc0\\xb6\\x28\\xff\\x0c\\xa9\\x4f\\x34\\x18\\x4d\\x3e\\xf7\\xff\\x1f\\x68\\x22\\xf2\\x39\\x18\\x4d\\x3e\\xf6\\xfc\\x63\\xdc\\x3f\\x07\\xd2\\x14\\x86\\x23\\xa2\\xfc\\x6f\\x89\\x7f\\xdb\\xca\\xcc\\xa1\\x2c\\xec\\x7e\\xc0\\x02\\x7f\\xda\\xc8\\x20\\xb9\\x36\\xd1\\x90\\x36\\x81\\x10\\xbe\\x39\\x98\\xe8\\x7d\\xa9\\x97\\x38\\x9f\\xb8\\x47\\x34\\xd1\\x3f\\xaf\\x09\\x2a\\x67\\x8e\\xa8\\x63\\xe4\\xf8\\x73\\xbf\\x1c\\x3f\\x9e\\x20\\xef\\xc3\\x15\\xc4\\x97\\xf4\\x09\\xf1\\x7a\\x61\\xdc\\x9a\\x1b\\x77\\x9a\\xb2\\xe6\\x5f\\x27\\x39\\xc6\\x85\\x52\\x8e\\x91\\xba\\x13\\x0a\\xcf\\x15\\x2b\\x9f\\x85\\x12\\x70\\x2c\\x94\\x70\\x08\\x30\\x0a\\x1c\\x7f\\x25\\xf7\\xa9\\xc6\\xc9\\xf7\\xa9\\x38\\xd5\\x89\\x5d\\xbb\\xc9\\x3d\\x34\\x5a\\x8e\\x43\\x9d\\xf8\\x39\\x4b\\xe9\\xb9\\x55\\xc2\\x6d\\xc1\\x6c\\x21\\xcc\\x9b\\x24\\x5f\\x3e\\x4e\\xce\\x6f\\x23\\x3c\\x77\\x10\\x2d\\x5f\\x2d\\xc3\\xe0\\xf7\\x43\\xd9\\x0d\\x18\\x0f\\x8a\\x7d\\x09\\x1e\\xbe\\x3f\\x5b\\x00\\x03\\x2a\\x11\\xbd\\x32\\x0c\\xa1\\xf3\\x20\\x3e\\x03\\xf0\\x3d\\x3a\\x83\\xa1\\xd2\\x19\\x00\\x9a\\x53\\x0d\\x7e\\x06\\xc4\\x29\\x81\\xdf\\xb3\\xe7\\xbf\\xce\\xf1\\x3f\\x32\\x73\\x24\\x5d\\x0b\\xa1\\x9e\\x09\\xc3\\xaf\\x88\\x9e\\x2f\\x4a\\xdb\\x90\\x92\\x47\\x8e\\x3e\\x5d\\xa0\\xe0\\x65\\xa7\\xbf\\x50\\x81\\x42\\xbd\\x42\\x4f\\x16\\xea\\x73\\x00\\xb3\\x7f\\xe1\\xcf\\x82\\x72\\x56\\x85\\xbc\\x7d\\xcb\\xe3\\x90\\xa2\\x18\\x4c\\x92\\xd0\\xa1\\x06\\x11\\x64\\x89\\x58\\xca\\xa7\\xb2\\xaa\\xff\\x7d\\xc2\\xb9\\xf1\\x3b\\x2d\\x45\\x08\\xf6\\x3d\\xf6\\x5a\\x60\\x44\\xbc\\xed\\xd2\\x6b\\xd1\\xae\\x31\\x10\\x9a\\x0c\\x6a\\x1d\\x6b\\xa4\\x58\\x5c\\x44\\x49\\xa3\\x82\\x68\\x74\\x52\\xe8\\x28\\x21\\x56\\x8f\\x15\\xcb\\xaf\\x46\\x2c\\xaa\\x78\\x2a\\x9e\\x72\\xa5\\x5c\\x2a\\x97\\x2a\\x5e\\x3e\\x75\\x43\\xea\\x81\\x07\\xc4\\xff\\x36\\xf0\\x67\\xd9\\xcc\\x55\\xa9\\xfb\\xef\\x6b\\x7a\\xf0\\xc1\\xa6\\xfb\\xee\\x4f\\x5d\\x85\\xe7\\x7a\\x83\\x3f\\x0b\\x8f\\xa0\\xb9\\xb4\\xa0\\x2e\\xed\\x54\\xd3\\x34\\xd0\\x50\\x88\\x34\\x96\\xe5\\x74\\x8c\\x0a\\xa2\\xbf\\x9c\\x16\\xb9\\x58\\x09\\xab\\x50\\xfe\\x15\\xcd\\x54\\x97\\x57\\x20\\x15\\xcd\\x15\\x41\\xc4\\x87\\xe3\\x29\\x78\\xe4\\xdd\\xd4\\xa6\\xef\\xbb\\xe1\\x98\\x4d\\x29\\xe6\\x81\\x37\\x53\\xeb\\x7e\\xb8\\x88\\x7d\\x7f\\x5d\\x13\\x4e\\xe2\\x42\\x7e\\x1c\\x5a\\x4f\\x29\\x99\\xa3\\x26\\xed\\x50\\x33\\x0c\\x87\\xe2\\x33\\x8e\\x03\\x50\\x47\\x6b\\x58\\xf4\\x17\\x92\\xd5\\x28\\xa6\\xa8\\x53\\xb4\\x76\\x41\\xe8\\xd1\\x3a\\xd0\\x6a\\xc2\\xa5\\xdd\\xdf\\x6f\\x4a\\xbd\\x8b\\x66\\x81\\x63\\xd0\\x42\\x76\\xae\\x4b\\xbd\\xf9\\x76\\xd3\\x3a\\xc2\\x33\\x5f\\xc3\\x07\\x19\\x23\\x65\\xb6\\x72\\xaa\\x77\\xf0\\x7c\\xd2\\xbf\\xd1\\x5e\\xbb\\xd3\\x1a\\xc0\\x52\\x0c\\x4d\\xfd\\x26\\x43\\x3f\\x01\\xb5\\x40\\x6c\\x59\\x89\\x28\\x77\\x84\\x1b\\x18\\xe3\\x8f\\x1f\\x52\\x66\\x5c\\xd2\\x51\\x18\\xa3\\x8a\\xff\\xdf\\x63\\x54\\xf1\\xef\\x4f\\x2b\\xc7\\xa8\\x15\\xf3\\xd0\\xe7\\x18\\xa3\\x36\\xfe\\x57\\x9c\\x07\\xf1\\xee\\x75\\x68\\xe0\\x31\\xf6\\x26\\x33\\x07\\x7f\\x41\\x68\\xff\\xb2\\xff\\x6b\\xc6\\x9c\\x9d\\x63\\x8d\\xe3\\xbb\\x3f\\xfc\\x0f\\x66\\x0e\\x90\\xde\\xed\\x88\\xdd\\x3b\\xa8\\x25\\x6c\\x37\\xe2\\xc5\\x48\\xda\\xca\\xe9\\x74\\x80\\x70\\xa3\\x71\\xff\\x2c\\x9a\\xd9\\x93\\xa1\\x91\\x76\\xae\\x90\\x5a\\x58\\x5b\\x05\\x76\\x4c\\x39\\x38\\x87\\x3d\\x48\\x91\\x3a\\xb5\\x31\\x58\\x7d\\xe0\\x96\\xdf\\xc4\\x13\\xf1\\x8e\\x86\\x96\\x4e\\xfa\\xf3\\x5f\\x1c\\xab\\x18\\xdf\\x7c\\x91\\xdf\\x1f\\xa8\\x28\\x6f\\x1c\\x32\\x93\\x9c\\x09\\xac\\x45\\xf8\\x2f\\x14\\xf1\\xdb\\x38\\x84\\x5e\\x47\\xe3\\x09\\x10\\x72\\x23\\xbd\\x7f\\x96\\x51\\x9a\\xc0\\x85\\xbb\\x7a\\x0a\\x7e\\x7d\\x83\\xc2\\xaf\\xa7\\x2e\\xcc\\xe1\\x67\\x1e\\x18\\x04\\x3f\\xb8\\x9f\\x3f\\x05\\x3f\\x00\\xaf\\x8a\\xf4\\x23\\xea\\x75\\x3a\\x05\\xfa\\x7d\\x12\\xfd\\xa4\\xec\\x71\\x6d\\x4d\\xb4\\x00\\x3f\\xfc\\x20\\x87\\xbf\\xbc\\x00\\x3d\\xd2\\xb5\\x88\\xf6\\x79\\x88\\x76\\x13\\xc6\\xad\\xa5\\x69\\xb5\\xc1\\x60\\xb6\\xe8\\xb4\\x7b\\x32\\x40\\xb7\\x3f\\x03\\x18\\x05\\x6e\\xb9\\x3e\\x9f\\x28\\xa7\\x58\\xd3\\xc3\\xfe\\xaa\\xd4\\xac\\x9a\\x8a\\x9b\\xac\\x9f\\x5c\\xc0\\x76\\xd7\\x96\\x65\\x4a\\xec\\xe5\\xc5\\xd3\\x93\\xe3\\xc7\\xfe\\xfe\\xa2\\x6d\\xc8\\xd7\\xab\\xa4\\x3b\\x18\\x86\\xec\\x4b\\x18\\xb4\\xa5\\x43\\x2e\\x8b\\xdd\\xef\\xb7\\x58\\xe8\\xe2\\x08\\x39\\x83\\x48\\xc8\\x88\\xcf\\xc0\\xc1\\xe0\\x95\\xd8\\xf1\\x31\\x90\\x22\\x32\\xb9\\x96\\x67\\x43\\xa4\\xfa\\x31\\x83\\x9d\\x4a\\xb4\\xe0\\xdf\\xd4\\x0b\\xb9\\x55\\xf2\\xf3\\xcf\\x7d\\x62\\x13\\x07\\x6c\\x30\\x85\\xcf\\x8f\\xd1\\x28\\xe8\\xf4\\x5b\\xfc\\x76\\x3b\\xda\\x67\\x1d\\x3e\\xc7\\xe2\\x88\\x44\\x21\\xde\\xed\\x90\\x31\\x8f\\x4e\\xa9\\xdf\\x90\\x75\\x48\\x1d\\x29\\x77\\x33\\xf0\\x74\\xd9\\x9f\\x39\\x6d\\x78\\xc7\\xb9\\x4f\\x7e\\x10\\x3a\\xc1\\x14\\xfe\\x14\\x5d\\x41\\xf8\\x20\\x0c\\x9a\\xd3\\x01\\xc2\\x09\\x2e\\x0b\\xda\\x55\\x9d\\xbf\\x90\\xca\\x7d\\x03\\xa9\\x14\\x6a\\x62\\x0f\\xc6\\x21\\x85\\x34\\xc2\\xad\\x83\\xd3\\x58\\xfe\\x7f\\x91\\x88\\xf6\\x12\\xf1\\x13\\xc3\\x89\\x7b\\x89\\x2c\\x87\\xdd\\x17\\xa2\\xb5\\x46\\xae\\x38\\xe2\\xd7\\x59\\x30\\x37\\xd5\\x9d\\xac\\x53\\xa6\\x7a\\x64\\x95\\x8f\\x26\\x0e\\x17\\x7e\\x21\\x33\\xd7\\x95\\x17\\x5e\\x00\\xff\\x97\\xfb\\xcc\\x76\\xd7\\x94\\x4b\\x9c\\x56\\xba\\x7d\\xe6\\x45\\xdb\\x0a\\xfe\\x49\\x64\\x66\\x73\\xd6\\xcc\\x94\\x90\\x5a\\x94\\x53\\xd2\\xe5\\xc8\\x48\\xa0\\xad\\xd2\\x6a\\x55\\x2a\\x03\\xcb\\x68\\xd4\\x6a\\x86\\xa6\\x8d\\x26\\xad\\x8a\\x31\\x30\\x9c\\x9e\\xe5\\xd8\\xdf\\x66\\x74\\x9c\\x9a\\x7b\\x6e\\x96\\x1a\\x50\\x4f\\x40\\x9d\\xd8\\x9b\\x57\\xec\\xcf\\x2b\\x77\\x1c\\x4e\\xe6\\xca\\xfa\\xd6\\xd6\\x68\\x60\\xc4\\x96\\x62\\x53\\xac\\x2d\\x49\\x47\\x55\\x51\\xea\\x76\\x3e\\x5b\\x7d\\xc1\\x2c\\x7e\\x86\\x0f\\xfe\\x2a\\xb8\\x67\\x0d\\xbc\\xcf\\xc7\\x9f\\x4f\\xeb\\x7f\\x62\\xe8\\x9f\\xee\\x4a\\xec\\xa9\\x80\\x7b\\xf9\\x79\\x15\\x7b\\x12\\x88\\x26\\x1a\\xd1\\x14\\x45\\x34\\x79\\xc0\\xb6\\x74\\x83\\xc5\\x6c\\xc6\\xd5\\x3b\\x9d\\x76\\x87\\x43\\xab\\xd1\\x70\\x9c\\x1e\\x11\\x45\\xa9\\x55\\x2a\\xca\\x04\\x80\\x81\\x72\\x52\\x5e\\x9f\\xc7\\xec\\xb4\\x31\\x2e\\x8b\\xdb\\xe5\\xfe\\x6d\\xc6\\xea\\x72\\xb8\\x9e\\x9b\\xe5\\x40\\xe4\\xa5\\xed\\xb4\\x9e\\xd3\\x30\\xac\\x8e\\x61\\x99\\xdf\\x66\\xb4\\xac\\x8a\\x7d\\x6e\\x96\\x0a\\x00\\x25\\xcd\\xee\\x82\\x05\\x28\\x0a\\xcd\\x4b\\xd5\\xc5\\x2d\\x82\\xf1\\xc9\\x75\\xcb\\x89\\xe7\\x96\\x83\\xad\\x1d\\xfa\\x45\\x47\\x6c\\xe8\\x2b\\xb8\\x63\\x69\\x3c\\x7f\\x65\\xf1\\x4b\\x2a\\xfb\\xe0\\xfd\\x3e\\x7e\\xb1\\x77\\xcf\\x2a\\x7e\\xa6\\x17\\xde\\x0e\\x7f\\xf9\\xcc\\x71\\xc5\\x42\\xef\\x3a\\xfe\\xcc\\x5e\\xf4\\x2f\\x7e\\x2e\\xbc\\x0b\\x2f\\x1b\\xad\\xfb\\x3a\\xf8\\x28\\x75\\x09\\xbd\\x0b\\xf9\\x98\\xa6\\xc7\\x38\\xbd\\x41\\x43\\x83\\xc4\\x4b\\x98\\xac\\x7c\\xf7\\x91\\xba\\x64\\xeb\\xa2\\x85\\x5b\\xb7\\x2e\\x5c\\xb4\\x95\\x3a\\xb0\\x68\\xeb\\xd6\\x45\\xe8\\x07\\x59\\x83\\x8e\\xec\\x07\\xdc\\x0e\\xf0\\x3a\\xf1\\x4f\\x23\\x60\\x68\\x3a\\xa8\\xb7\\x5a\\x39\\x77\\x30\\x08\\x38\\x2e\\x5a\\xe2\\x0b\\xef\\x9e\\xe5\\xbb\\xcb\\xe4\\xd8\\x3d\\xcb\\x74\\x17\\xad\\xd9\\x3d\\x8b\\xbe\\x0b\\xb4\\x29\\xde\\x42\\xc5\\x6a\\xab\\x4e\\x2a\\xde\\x1d\\x3d\\x87\\xa7\\xaa\\xfc\\x0c\\x1b\\x47\\xd6\\xd7\\x8f\\x1c\\x95\\x4c\\x8e\\xa2\\x0e\\x0e\\xfc\\x34\\xbb\\xb6\\xb3\\xb3\\x36\\x39\\x6a\\x54\\xb2\\xe0\\x37\\x90\\x6d\\x3f\\xf3\\x0a\\xf2\\x97\\xdc\\xa4\\x22\\x21\\x45\\x71\\x00\\x97\\xa1\\x4c\\x48\\x45\\xc4\\x05\\xd7\\x24\\xec\\x28\\x9f\\x02\\xdf\\x62\\xae\\xc6\\x26\\x7d\\x22\\xb6\\xe7\\xe3\\x91\\x3d\\x2f\\x23\\xe3\\x1c\\xc7\\x68\\x80\\xec\\x39\\x03\\x70\\x35\\x46\\xc1\\x9d\\xc1\\x27\\xd3\\x10\\x46\\xc3\\xf8\\xf1\\xf0\\xad\\x29\\xcc\\xd5\\x13\\x7f\\x08\\xb2\\x3b\\x89\\x4d\\xc8\\x5a\\xd1\\xb8\\x2f\\xd8\\x5f\\x00\\x15\\x08\\xa6\\xf5\\x80\\xa2\\x58\\x5a\\x0d\\x59\\x96\\x56\\xd1\\xc4\\xfc\\x27\\x24\\xdb\\x2f\\x58\\x7d\\x3c\\xf1\\x17\\x27\\xa7\\x9e\\x84\\x6f\\xd1\\xaf\\xfc\\x18\\x64\\xde\\x87\\x8f\\xe6\\xe1\\xd0\\x81\\xca\\xb4\\x4d\\xcb\\x22\\x8f\\x0a\\x21\\xa2\\xf5\\x08\\x8f\\x56\\x4b\\x6b\\x70\\x71\\x4a\\xe2\\x17\\x25\\x73\\xce\\x4a\\x1e\\x46\\x47\\x58\\xc2\\xca\\x5f\\x0a\\xb7\\x48\\x98\\x27\\xf2\\xff\\xce\\xc7\\x5d\\x9d\\xb6\\x43\\x8e\\x53\\x33\\x3a\\x9d\\x5a\\xa3\\xd1\\xab\\xb0\\xea\\x67\\x34\\x48\\xdd\\xa3\\x45\\xca\\xc8\\x15\\x3d\\x04\\x68\\x84\\x95\\xac\\x19\\xfd\\xfd\\x02\\x6e\\x41\\xa8\\xdf\\x42\\x73\\x30\\x21\\xe8\\x98\\xc8\\x4f\\xc0\\x53\\x08\\x7e\\xab\\xf8\\xc7\\xcc\\xa9\\xf0\\x1b\\x89\\x2a\\xd0\\x9c\\xfd\\x40\\xf5\\x1b\\xa4\\x77\\xf4\\xc0\\x0b\\x82\\xa0\\x02\\x0c\\x01\\xa3\\xc0\\x54\\x2a\\x91\\xce\\xfa\\xfc\\x7e\\x3b\\x95\\x0c\\x1b\\xd4\\x81\\x60\\xb0\\x72\\xc2\\xb0\\xb0\\x9a\\x1a\\x16\\x8f\\x53\\xa3\\xdb\\xa9\\xf6\\x69\\x3d\\xe9\\x31\\x47\\x33\\x43\\xd3\\xc7\\x66\\x0d\\x9d\\x8c\\x7e\\xdf\\x15\\x4d\\x1c\\xcd\\x84\\xa2\\xc7\\x66\\x85\\x1a\\x8f\\x66\\x7c\\xa1\\xbb\\x80\\xeb\\x68\\x86\\x03\\xc7\\x66\\x05\\x38\\xce\\x8c\\x3e\\xbd\\xb3\\xa2\\x07\\xce\\xed\\x81\\x93\\x7b\\x60\\x7b\\x0f\\xac\\xeb\\x81\\x91\\x1e\\x68\\xef\\x81\\x54\\x0f\\xfc\\x4f\\x0f\\xfc\\xa0\\x07\\xbe\\xd6\\x03\\x4f\\xf5\\xc0\\xa3\\x3d\\xf0\\x9e\\x1e\\x78\\x4b\\x0f\\xbc\\xb6\\x07\\x5e\\xd6\\x03\\xe7\\xf5\\xc0\\xe9\\x3d\\x30\\xdd\\x33\\xa9\\x87\\xaa\\xed\\x81\\xc5\\x3d\\xd0\\xd6\\x03\\x99\\x1e\\xb8\\xe4\\xeb\\x1e\\xf8\\x61\\x0f\\x7c\\xbd\\x07\\x3e\\xdf\\x03\\x8f\\x29\\xe0\\xa7\\xf4\\xc0\\xe1\\x3d\\x50\\x09\\xfa\\xad\\x84\\xfc\\x64\\x0f\\x7c\\xbc\\x07\\x1e\\xe8\\x81\\xb7\\xf5\\xc0\\x6b\\x08\\xf0\\x8c\\x1e\\xd8\\xa1\\xa0\\x84\\x25\\xc0\\x1f\\x2b\\x28\\xb9\\x0f\\x03\\xa7\\xb7\\x60\\xf0\\xd5\\x3d\\x70\\x71\\x0f\\xec\\xea\\x81\\xa9\\x1e\\x18\\x93\\x70\\x0f\\x11\\xe0\\xdf\\x50\\xc0\\x5f\\x27\\x61\\xee\\xec\\x81\\xe5\\x04\\x0e\\x80\\x1e\\x88\\xc8\\x7d\\x9f\\xe0\\x45\\xe4\\x3e\\x4a\\x56\\x78\\x6b\\x0f\\x5c\\xd0\\x03\\x7b\\x7a\\x60\\x63\\x0f\\xe4\\x7a\\xe0\\x97\\x0a\\x80\\x7d\\x3d\\xf0\\x66\\xb2\\x9e\\x25\\x04\\x60\\x54\\x0f\\x2c\\xeb\\x81\\xbe\\x1e\\x68\\xe8\\x81\\xb0\\xaf\\x57\\xf9\\x67\\x79\\xee\\xcf\\x8a\\xbe\\x15\\x8a\\x3f\\x73\\x7a\\x7b\\xcf\\x05\\x48\\x80\\x57\\xfc\\x1c\\xb0\\x0c\\x2d\\xaa\\x44\\xa1\\x7f\\x3c\\xf9\\x55\\xa1\\xf0\\xf3\\x90\\x52\\xc0\\x1f\\x72\\xfe\\xb1\\x5c\\xdf\\x1c\\x27\\x77\\x70\\x09\\x5c\\x5b\\xbd\\xd8\\xab\\x8f\\xd4\\xcf\\x87\\x11\\x98\\xfc\\x99\\xab\\xe7\\xbe\\xb2\\xa6\\xbf\\xe7\\xde\\x2b\\x3f\\xaf\\x9d\\x75\\xcd\\x9a\\xda\\xa6\\xd1\\x53\\x6a\\x1a\\xda\\xda\\xc6\\x27\\xf9\\x85\\xcb\\x98\\xfb\\x97\\xf1\\x9d\\x83\\x5c\\x82\\x9f\\x0e\\xf2\\x25\\x75\\xfb\\x7f\\xd7\\xbe\\xbb\\xf4\\xf3\\xa9\\xcf\\xae\\x6b\\x81\\xff\\xe8\\x1a\\x35\\xe7\\x9d\\x9e\\x31\\x63\\xe7\\xbd\\xf5\\xe3\\x1f\\xd9\\x45\\x3f\\xfc\\x72\\xb0\\x2b\\xfc\\xda\\xc1\\xbe\\x25\\x76\\xf1\\x03\\x7a\\x36\\xfc\\x1b\\xdb\\x82\\x34\\x6b\\x20\\xad\\xa7\\x50\\x8c\\x02\\x20\\x03\\x59\\x1a\\xdc\\x0f\\xda\\x5e\\xca\\x15\\x63\\xc6\\x1d\\x7a\\xe8\\x08\\xb4\\x9f\\x7a\\x78\\x0c\\xdb\\xc2\\xe3\\xa0\\xef\\x2b\\x7a\\x36\\x7d\\x3e\\x19\\xa7\\x02\\x89\\xb4\\x83\\x53\\xa9\\x58\\x86\\x81\\x6a\\x01\\x03\\x0a\\xa2\\x28\\x06\\xa3\\xa8\\x7b\\xa9\\x4e\\xee\\x99\\xa0\\xe8\\x83\\x85\\x71\\xa1\\x1f\\x6a\\x3f\\xc2\\xc7\\x1f\\x16\\x91\\xc2\\x7f\\xf0\\x21\\x41\\x96\\xef\\x47\\xb8\\x8f\\xb3\\x2d\\xe6\\x62\\xd5\\x77\\xa7\\x80\\x39\\xa2\\xfa\\x0e\\xbc\\x86\\x24\\x9b\\x56\\x7d\\x07\\x3f\\x22\\x34\\x5f\\x02\\xc6\\x50\\x33\\xe8\\xa9\\x80\\x03\\x55\\x69\\x3b\\x45\\xb3\\x90\\x85\\x2a\\x35\\xc7\\xa2\\xc8\\xef\\xf3\\x59\\x14\\xf8\\x62\\x16\\xb2\\xda\\x56\\xe0\\x69\\x13\\x0a\\x12\\x0a\\x27\\x8c\\x1c\\x32\\x3c\\x2f\\xb4\\x45\\x60\\x8a\\xf2\\xb5\\xf0\\x27\\x8e\\xb5\\xf0\\x6f\\xeb\\xe8\\xa9\\xfc\\xa5\\xfc\\x46\\xb8\\xa0\\x5d\\xf0\\xab\\xbb\\x11\\xde\\x61\\x12\\x5e\\x1a\\x52\\x08\\x71\\x21\\x5e\\x5b\\x01\\x5e\\xe2\\x3f\\xa5\\x22\\x90\\x4e\\x42\\xd5\\xb6\\x16\\xd8\\xfe\\x64\\x0b\\x2c\\xd1\\x8d\\x81\\x37\\xc2\\xf5\\xfc\\x9e\\x76\\xbc\\x96\\x3b\\xb3\\x1f\\x30\\x2d\\x68\\x2d\\x31\\xe4\\xed\\xe0\\x77\\xda\\x18\\x5c\\xcf\\x06\\xe9\\xc3\\x93\\x1c\\x43\\x7d\\xcc\\x4d\\x45\\xfb\\xe7\\xc0\\xf1\\x0d\\xda\\x74\\x14\\xdf\\x20\\x4d\\x2f\\x07\\x37\\x48\\xe9\\x51\\x1f\\xff\\xf4\\x0e\\x5d\\xcc\\x31\\x93\\x90\\x5d\\xb8\\x15\\xe9\\xe2\\xe3\\x64\\xbf\\x6d\\xc7\\xd0\\x8a\\x19\\xea\\x7e\\xf0\\x00\\x10\\x9a\\x37\\x21\\xe8\\x30\\xda\\x4f\\xfe\\xa7\\x45\\xf4\\xc9\\x05\\x08\\x04\\xfd\\x61\\xc0\\xaa\\xec\\x07\\x54\\x03\\x7b\\x81\\x68\\x27\\x13\\xe8\\x8c\\x3c\\x80\\x2b\\x29\\x77\\x63\\x7b\\x19\\x2c\\xe7\\x98\\x9a\\x5a\\x4d\\xbc\\xca\\x17\\x36\\x71\\x0e\\xda\\x06\\xda\\x4e\\x2a\\x1c\\x1b\\xe1\\xbc\\x95\\xe6\\x51\\xd9\\x2d\\x8d\\x3e\\xc7\\x67\\xb8\\x48\\x32\\x8b\\x2f\\x4b\\x1f\\x46\\x4a\\x1f\\x46\\x17\\x5a\\x4c\\x66\\xbe\\xf8\\x81\\x1f\\x23\\x7d\\x68\\x93\\x8d\\x67\\xce\\x56\\x98\\x90\\x7d\\xf7\\x32\\x26\\x93\\x81\\xd5\\xaa\\xb5\\x7a\\xa8\\x47\\xa1\\x88\\xce\\x64\\x52\\xa3\\xe5\\x19\\x50\\xa4\\xce\\x90\\x72\\xc7\\x09\\x45\\xc7\\xbf\\x64\\x9e\\xdd\\x48\\x5a\\x22\\x0d\\x61\\x47\\xc4\\x92\\x74\\x08\\xb6\\xe3\\x24\\x32\\x4c\\x27\\x4f\\x4a\\xb6\\x03\\x99\\x25\\xd1\\x7a\\x50\\xf2\\x7c\\x34\\xda\\x2d\\x14\\x45\\x43\\x95\\x4a\\xa3\\xd1\\x22\\xdb\\xab\\xd5\\xea\\x51\\x44\\x8d\\x22\\x76\\x2d\\xcd\\x16\\x98\\x27\\x4b\\x9e\\x7d\\xa2\\x2d\\x82\\x81\\xba\\x03\\x0e\\xe5\\x9f\\x9f\\x8c\\x0d\\x14\\x9e\\x83\\xbf\\x03\\x3e\\x2a\\x9a\\x28\\x98\\x35\\xa3\\x39\\xbe\\x44\\x73\\x60\\xbb\\xce\\xd0\\x48\\x44\\x38\\x5c\\x65\\x59\\x34\\xeb\\x75\\xc4\\x88\\xd2\\x61\\xba\\x7c\\xea\\xf3\\xf0\\xbd\\xe7\\x51\\x08\\x1e\\x83\\x17\\xf3\\x3b\\x80\\x3c\\xee\\x06\\xc4\\x93\\xc8\\xae\\x73\\x98\\x4d\\x10\\x0f\\x31\\x14\\x4b\\x0d\\xb0\\xeb\\x98\\x02\\x1f\\x44\\x18\\xbe\\xfc\\x52\\xb4\\xbd\\x4f\\xf2\\xb8\\x76\\x2e\\x95\\xb5\\x20\\x1c\\x67\\xd9\\x6b\\x11\\x0e\\x2d\\xa8\\x4f\\xbb\\x34\\x34\\xad\\x62\\x59\\x84\\x5c\\xc7\\x51\\x5a\\x95\\x46\\x8b\\xfe\\x42\\x35\\x23\\x66\\x3d\\x84\\x44\\x41\\x72\\x80\\x85\\xc7\\x69\\x82\\x54\\x5c\\xe5\\x2a\\x9f\\x7a\\xea\\xec\\xd9\\x53\\x53\\xd7\\xaf\\x5f\\x8f\\xa8\\x64\\x1f\\x7f\\xfb\\xed\\xc7\\x1f\\x5f\\xbe\\x7c\\x59\\xbe\\x0f\\x62\\xc0\\x36\\x9e\\x31\\x18\\x74\\x6a\\xad\\x56\\xa7\\x33\\x6a\\x0c\\x06\\x14\\x9a\\x30\\xba\\x9c\\x8d\\xcf\\xdf\\x45\\xe9\\xac\\x94\\x27\\xe5\\x96\\x0f\\x8a\\xdf\\x23\\x9d\\x13\\xb0\\x50\\x2e\\xea\\x76\\x16\\x37\\x80\\x32\\x82\\xd9\\xe9\\x3a\\xda\\xa8\\xd3\\x51\\x40\\x8d\\x8e\\x8b\\xe3\\x20\\x65\\x60\\x28\\x46\\x63\\xd2\\x98\\x11\\x73\\x30\\xff\\xcc\\xa8\\x59\\x93\\x21\\x64\\x48\\x18\\x68\\x43\\xda\\x6c\\xef\\x34\\x18\\xd0\\x5a\\xdf\\x82\\x6f\\xe3\\x46\\x51\\x68\\xfe\\x8a\\xde\\xa4\\x1c\\x56\\xe6\\xba\\x59\\x08\\x1f\\xad\\x24\\x93\\xa8\\x8a\\xe0\\x1e\\x04\\x49\\x3a\\xa9\\x42\\x9a\\x2a\\x4c\\xe9\\xfd\\x5b\\xfd\\xfc\\x4e\\x2b\\xfc\\xea\\x82\\xb9\\x97\\xdb\\x7e\\x4d\\xf1\\xf7\\x43\\x17\\x75\\x74\\xef\\xde\\x79\\x54\\xac\\xff\\xbd\\xc5\\xf0\\x7d\\xfe\\x1a\\x41\\x7f\\x44\\x29\\x3d\\x75\\x39\\xa2\\xcf\\x0f\\x26\\xa5\\xcb\\x3d\\x5e\\xaf\\xd3\\x41\\x9b\\xcd\\x0e\\x35\\x1d\\x70\\xb9\\x82\\x0e\\x2b\\xb0\\x7e\\x9c\\x01\\xc0\\xc9\\x39\\x3d\\xff\\xcc\\x38\\xdf\\xe2\\x8c\\x1f\\x67\\xe6\\x6a\\x20\\xf2\\xf4\\xdf\\xc5\\x85\\xb2\\x7b\\xf3\\x0a\\xa5\\x80\\x81\\x9d\\xf4\\xa4\\x2e\\xac\\x62\\xd7\\x4a\\x52\\xa5\\x3d\\x62\\x0b\\xab\\xc2\\xaa\\x54\\x23\\x9c\\x74\\xed\\xc6\\xc7\\x0e\\x2e\\x5d\\xe4\\x1a\\xa2\\x72\\x4e\\xf4\\xff\\xf1\\x8e\\x21\\x0d\\x9d\\xa3\\xe0\\x53\\x0e\\xfe\\x86\\x52\\x4f\\x8a\\xfe\\x66\\xe9\\x9c\\x1b\\x6e\\xf5\\x1f\\x5d\\x66\\xb4\\xfd\\x65\\x9b\\x11\\xfe\\x6a\\xd9\\x27\\xac\\x16\\xd3\\xba\\x9e\\x72\\x53\\x2f\\x22\\x5a\\xd5\\xa0\\x21\\xed\\x63\\x91\\x43\\xa6\\x51\\xe1\\x36\\x8b\\x6f\\x33\\x6a\\x8a\\x52\\x7f\\x92\\xe9\\x83\\x97\\x40\\x0a\\x79\\xad\\x6f\\x09\\xc4\\x11\\xc2\\x14\\x3d\\xea\\x30\\x4b\\xe0\\xe6\\x00\\x68\\x73\\x8e\\x36\\x95\\x52\\x25\\x3a\\xbe\\x68\\x1e\\x7c\\x85\\xff\\x25\\x33\\xfd\\xe3\\xf6\\xfe\\x00\\x29\\x57\\x85\\xa4\\xa9\\x91\\xd2\\x50\\xb7\\xb2\\xa3\\x81\\x0d\\x04\\x40\\x0c\\x2c\\x4e\\x37\\x53\\x41\\x6b\\xb0\\x38\\x48\\x6b\\x18\\x17\\x17\\x35\\xf9\\xb5\\x5a\\x93\\x9e\\xe6\\xd8\\x78\\x18\\x80\\x52\\x5a\\x1f\\xf4\\x06\\xbd\\x1f\\x67\\xf4\\x41\\x7f\\xb0\\x32\\x48\\x1b\\xe8\\x60\\x50\\x6d\\xb5\\x46\\x3e\\xce\\x58\\xdf\\x52\\xdb\\x3f\\xce\\xa8\\xdf\\x05\\xca\\x52\\x32\\x52\\x8f\\xf8\\x82\\x26\\xf1\\x00\\x7d\\x2f\\x44\\xdc\\x41\\xe8\\x30\\x87\\x71\\x27\\x18\\xb1\\x75\\x10\\x14\\x4b\\xcb\\x38\\xec\\x36\\xa1\\xe3\\xaf\\xc3\\x4e\\xdd\\xda\\x33\\x36\\xd5\\xc6\\x3f\\xfb\\xcd\\x89\\xf2\\xd4\\x2d\\x5b\\xdf\\xe1\\xef\\x99\\x35\\xa5\\xad\\xf5\\xd0\\xf1\\x31\\x93\\xcf\\xbf\\x95\\xb9\\xb7\\x67\\xad\\xc3\\x3a\\xb5\\x85\\xff\\xec\\xe9\\x53\\x8d\\x96\\xd1\\xa9\\xb5\\xeb\\xfb\\xb9\\xc5\\x17\\x37\\xb7\\xbe\\xbc\\x01\\xde\\xd6\\x3b\\x6b\\xf1\\x13\\x8b\\xd1\\xfe\\x4d\\x40\\xbc\\xb8\\x81\\x99\\x89\\xb4\\xeb\\xf9\\xe9\\x46\\x1d\\x52\\x15\\xc8\\x5d\\xe6\\x4c\\x56\\x2b\\x70\\x38\\x6c\\x9c\\xcd\\xed\\x61\\x74\\x9c\\x81\\x65\\x39\\xce\\xe1\\xb0\\x7e\\x98\\x71\\xbc\\xad\\x55\\x7d\\x98\\xd1\\x6a\\x0d\\x06\\xea\\xa3\\xcc\\x21\\x03\\x34\\xa4\\x35\\x86\\x4e\\x03\\x52\\xf6\\xbd\\x42\\x33\\x66\\xa9\\x44\\xac\\x05\\x77\\xd6\\xc6\\x6c\\x28\\xe5\\x11\\x24\\x4f\\x44\\xe0\\x4a\\x7c\\xe6\\xf9\\x9d\\xc0\\x48\\x37\\x33\\xf8\\x5e\\x79\\xd7\\xf8\\xf6\\xed\\x99\\x51\\xaa\\x57\\xcd\\xe7\\x5d\\x70\\x39\\xd7\\x3c\\x51\\xfd\\x8f\\x16\\x03\\xfd\\xd7\\xb2\\x15\\xfc\\x75\\xf0\\x7f\\xa6\\xaa\\x55\\x57\\xaf\\x31\\x27\\xf8\\x43\\xc6\\x2a\\xd8\\xdb\\x41\\xf4\\xc1\\x7f\\xb2\\x6d\\x14\\x07\\xb7\\x02\\x0b\\xf2\\x8c\\x53\\x69\\x03\\x63\\xb5\\x5a\\x2c\\x45\\x1e\\x8d\\x26\\xe4\\x30\\x1b\\x9e\\x80\\xa3\\x8e\\x30\\x7e\\x3f\\xf7\\x14\\xec\\x22\\xf7\\x03\\x3a\\xf3\\x9b\\x7e\\x26\\x25\\x7f\\x80\\x15\\xbb\\xed\\x48\\xbd\\x75\\x11\\x4d\\xd5\\x50\\xf6\\x73\\x52\\xf0\\xbe\\x0e\\xf6\\x21\\xeb\\xc2\\x69\\x9d\\x33\\x32\\xbb\\x67\\x75\\x0e\\xf7\\x15\\x2d\\x73\\x95\\x86\\x5a\\xe6\\x0f\\x6d\\xa8\\x1a\\x3e\\xf5\\x06\\x93\\x6f\\xce\\x05\\x17\\xcc\\x59\\xfc\\xf8\\x52\\x8f\\xa3\\xd3\\x6c\\x98\\xb5\\x6b\\x4a\\x7a\\xfc\\x54\\x4c\\xd7\\x37\\xd9\\x36\\xf8\\x1a\\xa2\\xcb\\x09\\x42\\x20\\x99\\x36\\x7b\\x91\\xa0\\x87\\x5d\\x8c\\xd9\\x5c\\x44\\xbb\\x5c\\x86\\x80\\x1d\\x91\\xf6\\xa8\\x86\\x43\\x14\\x76\\xe5\\x1a\\x04\\x49\\xdd\\xbd\\xa4\\x9b\\x0f\\xe4\\xb1\\x93\\x46\\xfc\\xdc\\x89\\x4c\\x9a\\x93\\x25\\x0d\\x7e\\x71\\x7f\\xc7\\xd7\\x5e\\xbe\\x97\\xda\\xd0\\x38\\xab\\xd4\\x92\\xb8\\x6a\\xe8\\xe2\\xf9\\xd3\\x6f\\xee\\x1e\\xdf\\xc3\\xff\\xf2\\xd2\\x5f\\x46\\x23\\x6d\\x17\\x42\\xdb\\xd4\\xe5\\xba\\xca\\x5d\\x51\\x97\\xa7\\x3c\\xb5\\xec\\xbc\\x05\\x8f\\x2e\\x1e\\xf5\\xae\\x6a\\xce\\xc8\\xe2\\x8a\\x1d\\xe2\\x7e\\x99\\x11\\x5d\\x5a\\x74\\xda\\xd1\\xb4\\x16\\x9d\\xa9\\x07\\x18\\x8d\\x6e\\xb5\\xf5\\x29\\x38\\x0a\\x1b\\x0d\\x42\\x50\\x9b\\xb2\\x9f\\x61\\x2a\\xd7\\x5a\\xda\\xa6\\x6c\\x39\\x36\\xbb\\x6d\\xc8\\xd4\\x0d\\x6b\\xa7\\x5d\\xb9\\x42\\x6a\\x35\\xe6\\x9a\\xdc\\x73\\xfc\\xfa\\xfb\\x9f\\xe5\\xf7\\xca\\x1d\\xc6\\x90\\x1e\\x7d\\x36\\x3b\\x0e\\x7e\\x0c\\xaf\\x42\\x76\\x7b\\x42\\x3a\\xe4\\x2b\\x72\\x03\\x8d\\x91\\xb3\\x58\\xdc\\x21\\xbf\\x41\\xab\\xf5\\xbb\\xe9\\x28\\x8a\\x75\\x4b\\x8c\\x3e\\x4d\\x11\\xc3\\x38\\xf4\\x4f\\xc0\\x91\\x47\\xfc\\xa1\\x10\\xf3\\x04\\x39\\x29\\x7c\\x4e\\x58\\x1c\\xf2\\xfb\\xaa\\x10\\x8e\\xc2\\x1c\\xe4\\xb2\\x0b\\xfd\\x66\\xda\\x60\\x02\\x22\\x45\\x92\\x12\\xdb\\x0b\\x91\\x76\\xc2\\xb8\\x01\\x4d\\x1c\\x37\\x5e\\xf0\\x30\\x97\\x68\\xbb\\xef\\x59\\x9c\\x66\\x6e\\x99\\x3e\\x76\\xa4\\x5b\\xc7\\x2e\\xd5\\x77\\x6f\\x5c\\x39\\x8a\\xfd\\xd5\\xc2\\x45\\x31\\xef\\xd5\\x66\\x95\\x4f\\x6d\\x0d\\x8e\\xbf\\xfd\\x73\\x93\\xef\\x8d\\xd1\\x23\\x7c\\x5a\\x0d\\xe3\\xd3\\x58\\x4a\\x26\\xac\\xe1\\xbf\\x37\\xf8\\xbe\\x3c\\x2f\\x16\\x07\\xd2\\x39\\xbe\\x0a\\x6f\\x92\\xce\\x11\\x1d\\xa1\\xd6\\x1c\\xf6\\x02\\x20\\x9f\\x63\\x97\\x70\\x8e\\xa3\\x0a\\xce\\x51\\xe8\\x80\\x57\\x5b\\xa3\\xc2\\x8d\\x90\\x48\\x53\\x36\\xa9\\x27\\x3e\\x39\\xce\\xa8\\xc8\\x5c\\x8d\\xfa\\xd3\\xf7\\xd1\\xe4\\x18\\x9b\\xae\\x68\\x5c\\xb4\\x00\\x1f\\xe3\\x34\\x78\\xf1\\x95\\x37\\xe0\\x63\\x1c\\xd5\\xbd\\x52\\x57\\x81\\x4f\\x31\\x51\\x87\\x4e\\xf1\\xd0\\x92\\x51\\xef\\x6a\\xfa\\xda\\xf1\\x29\\x92\\x9e\\x39\\xc8\\x0a\\xfd\\x83\\xdd\\x08\\x92\\x60\\x7d\\x7a\\x84\\x8d\\x29\\x2e\\x2f\\x77\\x25\\x0d\\xda\\xd2\\x48\\x24\\x5a\\x95\\x08\\xfa\\x7c\\x89\\xa8\\x36\\xc9\\x70\\xf5\\x0d\\xe5\\xc9\\xda\\x64\\x5f\\x06\\x94\\x15\\x97\\xf5\\x65\\xe2\\x25\\xae\\xe2\\xb0\\xdb\\xeb\\xee\\xcb\\xf8\\xbd\\xc5\\xe8\\xaf\\xa9\\xba\\xd6\\xaa\\xd7\\xab\\x4d\\xea\\xbe\\x0c\\xbe\\x7d\\x2e\\xf5\\x52\\x17\\xed\\xa6\\x20\\xc3\\x49\\x65\\xa6\\x2d\\xbf\\x9f\\xba\\x94\\x5e\\x11\\x1a\\x9a\\x94\\x90\\x2e\\xc9\\x0d\\x52\\x78\\x40\\xda\\x91\\x86\\x91\\x58\\xc5\\x2a\\x90\\x3f\\x99\\x42\\x0e\\x72\\x3c\\x42\\x93\\xae\\x37\\xb8\\x1e\\x16\\x95\\xf4\\x9d\\x7c\\x6b\\x07\\x34\\xff\\xfa\\xe6\\xfb\\x62\\x2d\\x33\\x2f\\xbd\\xe2\\xd4\\x45\\xd7\\xaf\\xb3\\x0d\\xbf\\x5c\\x4d\\xbd\\x52\\xd1\\x06\\x67\\xaf\\xb8\\x76\\xd8\\x5f\\xab\\x5b\\x1b\\x5b\\xb9\\xbf\\xb6\\xde\\x7b\\xcd\\xd4\\xd1\\x6d\\x43\\xfb\\x19\\xf5\\xd5\\xf0\\xfe\\x97\\x8f\\xfe\\x1a\\x9a\\x6e\\x2e\\xf9\\x7c\\x6b\\xd3\\xb5\\xff\\xb9\\xe3\\xc6\\xfd\\xf0\\x52\\x4f\\xd5\\xd7\\xb7\\xa9\\xf9\\x47\\x2e\\xe6\\x5f\\x59\\xc6\\xdf\\xa9\\x79\\x98\\xff\\xbe\\xca\\x23\\xe8\\xea\\x65\\xd9\\x2b\\xd8\\xc5\\xec\\x0b\\xa0\\x0c\\xd4\\x80\\x46\\xb0\\x3b\\x3d\\xcd\\xec\\x34\\x34\\xe8\\x6b\\x35\\x55\\x55\\xb5\\x0d\\x4e\\xc6\\x6e\\xb7\\x50\\x95\\x65\\x75\\xf1\\xfa\\x12\\x97\\xab\\xbe\\xae\\x92\\x29\\xf7\\x97\\x33\\xfe\\x20\\x13\\x4c\\x59\\x2c\\x4d\\x20\\x5a\\x5c\\x59\\x57\\xef\\x62\\x3c\\x55\\xc5\\x9e\\xbe\\x4c\\x49\\xbc\\x8c\\x32\\x1b\\xf4\\x2a\\x75\\x71\\x30\\x58\\x6c\\x43\\x63\\x69\\x6b\\x95\\xba\\xaa\\x2f\\x63\\xb5\\x1a\\xb5\\x6a\\x06\\xb4\\x3d\\x5f\\x27\\x34\\x9c\\xc7\\x59\\xa9\\x64\\x02\\xdb\\x38\\xf1\\x5f\\xe6\\xe7\\xeb\\xf2\\x5a\\x24\\xe5\\x6d\\x5c\\x5e\\xc1\\x70\\xb4\\x41\\x16\\xb4\\x79\\xcd\\x88\\x85\\x55\\x58\\xef\\xb8\\x68\\xb4\\x87\\x71\\x28\\xf4\\x4c\\x4e\\xd2\\x1c\\x43\\xda\\xbb\\xa7\\x62\\x71\\xda\\xee\\x42\\x6e\\x16\\xa5\\x81\\x4e\\x17\\x8c\\x41\\xcf\\xa4\\xe5\\x2f\\xbe\\x0c\\xd7\\x7d\\xeb\\x4c\\x4f\\x6a\\x5f\\x39\\x7a\\xd2\\xb8\\x9b\\xab\\x86\\xc7\\x93\\xfd\\x07\\x87\\x8e\\x58\\xf1\\xf7\\x8e\\xce\\xe1\\x2d\\x2b\\xf9\\xff\\x2e\\x1f\\x3b\\x6e\\xf8\\xa4\\xae\\xc6\\xaa\\xb6\\x51\\x54\\xe8\\x31\\xfe\\x9f\\xb7\\x53\\x8f\\xf5\\xff\\x2e\\x9e\\xa4\\x26\\x57\\x5f\\xf3\\xd6\\x36\\x18\\xfd\\x1e\\x5e\\xf9\\xd2\\xba\\xab\\x34\\xd7\\xef\\x0c\\xf0\\x6f\\x1e\\xf4\\xda\\x7f\\x5c\\x67\\xec\\x68\\x78\\x81\\x3f\\x55\\x9e\\x30\\x6c\\xd8\\x66\\x71\\xc1\\x53\\x0f\\x5f\\xc2\\x84\\x98\\x53\\xfc\\x7e\\xaa\\xe4\\xc7\\xfb\\x4a\\xdc\\xcc\\xd5\\x7a\\xc2\\x73\\x2b\\xb2\\x9f\\xb3\\x4b\\xd8\\x71\\xa0\\x1a\\x2c\\x4f\\xfb\\x8a\\x43\\x21\\x9f\\x5e\\xaf\\xb1\\xd1\\xbe\\x58\\xcc\\x59\\x56\\x51\\xe1\\xa4\\xe9\\x84\\x46\\x53\\xe3\\x2b\\x0e\\x14\\x3f\\x01\\xed\\xe9\\x40\\xc6\\xe3\\xea\\xcb\\x78\\xc2\\x81\\x00\\x50\\xa9\\x4c\\x7d\\xc8\\x60\\xa8\\x18\\x67\\x0c\\xc4\\xfa\\x32\\x28\\x5c\\xc5\\x15\\xd5\\x06\\xb4\\xec\\x4f\\x56\\x14\\x38\\x0b\\x8a\\x50\\x0b\\xed\\x54\\x11\\x10\\xb9\\x0c\\xed\\x10\\xd6\\xce\\x0c\\x85\\x1b\\xee\\x11\\x2e\\x6b\\x14\\x3a\\x74\\x1b\\xa1\\x8a\\x6e\\x85\\xc2\\xb6\\x51\\x4f\\xf1\\x9f\\xf3\\x64\\x8b\\x5e\\xfd\\xa0\\x6a\\x78\\xdb\\xc1\\x79\\x8f\\xf3\\xff\\xd8\\xbb\\x7e\\xfd\\xc5\\xab\\xd5\\xd0\\x11\\xda\\x7b\\x57\\x24\\x50\\x59\\x11\\x1b\\xb1\\xbd\\xad\\x63\\xd9\\xcb\\x23\\x85\\xfd\\xb2\\xc1\\x22\\x1e\\xef\\x4a\\x12\\x6d\\x48\\x45\\xe2\\xb7\\xfc\\x9d\\xef\\xdf\\xf3\\x46\\x29\\xb5\\xc2\\x53\\xf5\\xda\\xe7\\xea\\xef\\x36\\x68\\xd7\\xce\\xe4\\x2f\\xa3\\xda\\x85\\x3d\\x22\\xfe\\xe1\\x3b\\x48\\xfe\\x86\\x23\\x9f\\x23\\x04\\x4e\\xa5\\xd7\\x52\\x7e\\xad\\xd5\\x1a\\x36\\x22\\x87\\x5e\\x8b\\x7c\\x4f\\x0f\\xe3\\x76\\xe3\\x34\\x53\\x58\\x5d\\xa4\\x63\\x20\\xb3\\x32\\x63\\x84\\xa6\\x60\\x28\\x48\\xe9\\x90\\x23\\x00\\x3c\\x60\\x55\\x06\\xf8\\xcc\\x3e\\xca\\xe7\\xf3\\x98\\x20\\x34\\x79\\x42\\x9e\\x36\\xcf\\x44\\xcf\\x25\\x9e\\x0d\\x1e\\xce\\x44\\x3e\\x6e\\xf0\\x1c\\xf2\\x3c\\xeb\\x79\\xd7\\x73\\xd6\\xa3\\xd6\\xd1\\x9e\\x74\\x49\\xbc\\x13\\x7a\\xa0\\x47\\x8d\\x94\\xe6\\xaa\\x0c\\xe2\\x5d\\x8b\\x69\\x65\\xc6\\xc2\\xe1\\x28\\x62\\x65\\x46\\xed\\x06\\x72\\x39\\x76\\x62\\x7b\\x89\\x23\\xe1\\x4e\\x24\\x2a\\x90\\xf7\\xb0\\xbc\\xd7\\x42\\xdc\\x1d\\x7c\\x81\\x94\\xac\\x17\\xb7\\x57\\x6c\\x0c\\xeb\\x1a\\x22\\x2a\\x29\\x8b\\xe8\\x26\\x62\\xff\\x0b\\x97\\xa7\\xc7\\x5d\\x8e\\x49\\xd1\\x76\\x41\\x78\\xc3\\x44\\x78\\xe1\\x03\\xa5\\xd0\\x6a\\xe2\\xbf\\x88\\xff\\x5e\\xdb\\xff\\x17\\xed\\xbe\\xf8\\xc3\\xa6\\x87\\x77\\xdf\\xaf\\xa5\\x37\\x0d\\x69\\xe7\\x2e\\x7c\\x7d\\xf9\\x3c\\x78\\x51\\x73\\x4b\\x67\\x0b\\x4d\\x2d\\xf8\\xb0\\xfb\\x1d\\x5c\\x83\\xfe\\x9d\\x6e\\xfa\\x62\\x6f\\x03\\xff\\xec\\xdf\\x8c\\xfd\\x6f\\xde\\xc5\\x2f\\xd8\\x27\\xf8\\x94\\x48\\x6d\\xa2\\x78\\x7c\\x1c\\x92\\xcb\\x9d\\xe9\\x69\\x91\\x58\\x8c\\x2b\\x0e\\x05\\x83\\xe6\\x32\\x8a\\x32\\x1b\\x75\\x9c\\x86\\x73\\x94\\x3b\\x2a\\x62\\x2a\\xb5\\x6a\\x65\\x26\\xa2\\x2e\\xd6\\x1b\\xf4\\x2b\\x33\\x21\\x83\\xe0\\xf9\\xf6\\x19\\x2e\\x31\\xb0\\x1a\\xe4\\x1e\\x5b\\x69\\xb5\\x41\\x6d\\xa0\\x6c\\x36\\xdf\\xca\\x0c\\x70\\x2d\\x73\\x51\\x1a\\xa4\\x86\\x6d\\x2a\\x1a\\xe1\\x28\\x5b\\x9d\\xa1\\xc8\\x76\\x10\\xf7\\x2e\\x99\\xf3\\xab\\xd0\\x76\\xa0\\xcf\\xf2\\x06\\x24\\x07\\x70\\x99\\x14\\x25\\xe2\\xd2\\xfc\\xb8\\xd3\\x55\\x32\\x16\\xc7\\xff\\x13\\xfa\\x34\\xa2\\xb5\\x63\\x6e\\xe3\\x1c\\x2e\\xbc\\x3f\\xa4\\xe1\\xb2\\x8a\\xbe\\xc2\\xf7\\xd3\\x6f\\xec\\x53\\x0e\\x38\\xde\\x34\\xfd\\x91\\x35\\xef\\x37\\x6d\\xf0\\xf4\\x7f\\x76\\xc3\\xce\\xaa\\xe1\\xaa\\xa2\\x85\\x75\\x3b\\xee\\x60\\xa0\\xd3\\xc4\\xff\\xc0\\x7d\\x67\\xfa\\xc6\\xd2\\xd7\\xb7\\x6b\\xd7\\xa5\\xe9\\x2b\\xaf\\xea\\xae\\xee\\xe8\\xee\\x9b\\xf1\\xce\\x97\\x15\\xfc\\xa7\\x4f\\x39\\x02\\x6f\\xbe\\x78\\x63\\xf7\\x8a\\xee\\x71\\x9b\\x46\\xe3\\x3d\\x19\\xc3\\x7f\\xc3\\x2e\\x67\\xee\\x44\\x7a\\x7c\\x43\\x3a\\x5c\\x56\\x6e\\xb6\\x94\\x5b\\x58\\x7f\\xa9\\xc1\\x60\\x35\\x1a\\xa9\\x62\\xbf\\x3f\\x40\\xb1\\x6c\\xb2\\x26\\x50\\x53\\xdf\\x50\\xac\\x76\\x45\\x5d\\x4f\\x40\\x0f\\x92\\x2c\\x7d\\xa9\\xd5\\x54\\x6a\\x32\\x56\\x95\\x45\\xcd\\x45\\xc1\\xbe\\x4c\\x91\\x29\\x60\\x37\\x1b\\xed\\x14\\x52\\xf4\\x94\\x5d\\xf0\\x2d\\x9f\\x6f\\x13\\x7e\\x89\\x27\\x9c\\x54\\x46\\xf9\\xca\\x6c\\xb9\\x45\\xd1\\xb5\\x2f\\x9a\\xab\\xcc\\x8f\\x1b\\x9b\\xa6\\x90\\x43\\x6c\\x25\\x66\\x1f\\xaf\\x98\\x94\\xf1\\x17\\xaa\\xf8\\xbb\\x6c\\x49\\x5a\\xec\\xe2\\x44\\xb3\\xcb\\x35\\xfc\\xab\\x8b\\x5d\\xe5\\x55\\xc5\\xe7\\x55\\xce\\x9f\\x7f\\x20\\xc8\\x67\\x27\\xc1\\x55\\x4d\\xdc\\xac\\xca\\xab\\xe6\\x69\\xe7\\x1f\\xf8\\x15\\x92\\x36\\xa7\\x7f\\xd4\\xc1\\xf1\\x3d\\x73\\xe9\\xef\\x27\\xed\\x1a\\x3b\\x6a\\xda\\x5c\\xcd\\xa2\\xaa\\x2a\\x6a\\xd4\\xe5\\x55\\x55\\xa9\\x21\\xd5\\x0f\\xf5\\x3f\\xf7\\x08\\x3f\\x9a\\x5a\\x07\\x47\\x54\\xea\\x17\\xcc\\xd8\\x30\\xa4\\xff\\x04\\xbd\\xc8\\x53\\xf5\\xdc\\xfc\\x35\\x4b\\x16\\xc3\\x07\\xf8\\xff\\xd6\\x2c\\x5d\\xe4\\x1c\\xdd\\x7f\\x10\\xb0\\x42\\x6d\\x73\\x24\\x6b\\x51\\xc4\\x39\\x55\\x48\\xa7\\x27\\xc1\\x83\\xe9\\x99\\x55\\xba\\xd2\\x04\\x53\\x5d\\x59\\x1d\\x8a\\x07\\xca\\x93\\x4c\\x5d\\x2c\\xa6\\x0d\\x85\\x38\\xaa\\xa4\\xae\\xd2\\x6f\\x30\\x78\\x9d\\xd6\\x12\\x6b\\xb1\\xd9\\xdc\\x50\\x5c\\x1f\\x2a\\x29\\x2e\\xe9\\xcb\\x24\\x83\\x5e\\xb4\\xd7\\x7d\\x99\\xf2\\x98\\x0b\\x56\\x95\\x39\\x19\\x96\\xe9\\xcb\\x54\\xdb\\x74\\x38\\xdb\\xc2\\x6a\\x8a\\xad\\xb5\\x7e\\xab\\xd5\\xa0\\xd2\\xa8\\xfa\\x32\\x35\\x26\\x0d\\x8d\\x2d\\x39\\xd9\\x30\\x37\\x69\\xbf\\x2d\\x34\\x34\\x95\\x9a\\x40\\xc8\\x9f\\xe4\\x7b\\x79\\x62\\x7f\\xde\\xa4\\xe2\\x47\\xe4\\x2d\\xf2\\x60\\x15\\xee\\xec\\x28\\x4a\\x94\\x2d\\xac\\x68\\xdb\\x8f\\xdb\\x54\\x46\\xe8\\xb0\\xd8\\x11\\x22\\x15\\x8e\\x47\\x58\\x04\\x18\\x4d\\xd2\\x30\\x15\\x69\\x31\\x1d\\x2d\\x39\\x6a\\x3c\\x3a\\xfa\\x7e\\x2d\\xdc\\x74\\x1c\\x56\\x8d\\x3a\\xac\\x85\\x2f\\x68\\x0f\\x8f\\x7e\\xc6\\xf8\\x4c\\xc9\\x33\\xa6\\x67\\xa6\\xcf\\x7b\\x9e\\x5f\\xdc\\x75\\x58\\xcb\\x37\\x69\\x0f\\x75\\xad\\x81\\x4b\\xbb\\xbf\\xa1\\xe0\\x0d\\x25\\x59\\x7e\\xce\\xf3\\xd7\\x53\\x4e\\xff\\x2c\\x78\\xb6\\xfb\\x4c\\x37\\xdc\\x86\\xc4\\xaf\\x18\\xff\\xbf\\xc1\\xcb\\x2f\\x47\\x5f\\xf0\\x16\\x78\\x96\\x9f\\x87\\x65\\x13\\xee\\xed\\x3e\\x73\\x06\\x41\\x4c\\xff\\x69\\xd7\\x5e\\x92\\x5f\\xc9\\xfe\\x33\\xfb\\x99\\x6a\\x31\\xda\\x5f\\x15\\xd2\\x66\\x9d\\x20\\x03\\xde\\x49\\x6f\\x54\\x75\\x71\\xdc\\x98\\x31\\x93\\x26\\xf6\\x50\\x6e\\x9b\\xd3\\xa9\\x35\\xa4\\xeb\\x2a\\x47\\xa5\\x46\\xd5\\xd9\\x23\\x01\\x03\\x35\\x51\\x33\\x7e\\xd6\\xf8\\x99\\x95\\xa3\\xea\\xd2\\x4c\\x43\\x91\\xc1\\x69\\x73\\xae\\x44\\x16\\xd1\\x6c\\xb3\\x35\\x34\\xb4\\x20\\xa9\\x6c\\x82\\x06\\xba\\xa9\\xa9\\x41\\xd5\\xb5\\x2a\\x63\\x52\\x41\\x93\\x2a\\xa4\\x9a\\xa8\\xea\\x53\\x31\\x7a\\x5a\\x95\\xb6\\x79\\x3a\\x1b\\x54\\x0d\\xaa\\xee\\xf1\\xdd\\x93\\x56\\x66\\xba\\xb9\\x55\\xe8\\x67\\xcc\\xc4\\xf1\\x13\\x57\\x66\\xc6\\xbb\\x8b\\xca\\x56\\x66\\x4a\\x4a\\x8a\\x3c\\x7e\\xbf\\x57\\xed\\x5d\\x95\\x51\\x7b\\x72\\xfe\\x48\\x42\\xd1\\x74\\x22\\x4f\\xc1\\xad\\x90\\x75\\x9b\\xf0\\x21\\x99\\x14\\xc2\\x4d\\xd1\\x69\\x54\\xca\\x77\\x7e\\xec\\x51\\x64\\xc1\\x7d\\xe1\\x68\\x9c\\xd8\\x4c\\xe5\\x7a\\x86\\xaa\\xc4\\x87\\xbc\\xc3\\xb8\\x8e\\xa7\\x10\\x99\\x36\\x2a\\x3b\\xb6\\xaa\\x24\\x4d\\x20\\xf5\\x79\\x95\\xba\\x79\\xa0\\x33\\xc5\\xd2\\xc0\\x84\\xe1\\xeb\\x70\\xe3\\x2f\\x77\\x78\\x97\\x51\\xd7\\x6f\\xe6\\xc6\\xf4\\x72\\x0b\\x36\\xb7\\x15\\xdd\\x6b\\xb8\\xb7\\x8b\\x69\\xaf\\x68\\xb0\\x44\\x36\\xc0\\xc7\\x5a\\xef\\x0b\\x47\\xab\\xec\\xf6\\x09\\x0d\\x5d\\x63\\xc7\\x4d\\x99\\x38\\xf9\\xce\\xeb\\x67\\x6f\\x88\\x24\\x9c\\xe6\\x91\\x15\\x4d\\xa3\\xda\\x16\\x74\\x4f\\xde\\xfd\\xc3\\xe7\\x13\\xef\\xd7\\xf4\\xf3\\x9a\\xfd\\x7f\\xda\\xa9\\x81\\x57\\xff\\xf5\\x53\\xfe\\x4d\\xfe\\x4b\\xea\\x7c\\xb8\\x70\\xdb\\xe6\\xfe\\x6b\\xfa\\x37\\xdd\\x1c\\x8a\\xc1\\xfd\\x91\\xf8\\xb1\\x63\\x63\\xf8\\x85\\x95\\xd3\\xcd\\x49\\x57\\x89\\xd7\\xf8\\xf2\\xc5\\xfe\\xd2\\x11\\x2d\\x15\\xad\\xa1\\x40\\x4f\\xeb\\xd2\\x15\\xa1\\xdf\\x5d\\xe4\\xf4\\x0c\\x4d\\x14\\xd5\\x56\\x44\\x66\\xb6\\x5e\\xba\\x81\\x2a\\xe6\\xdb\\xf1\\x81\\xe3\\x26\\x21\\x47\\x0e\\xbf\\xf7\\x19\\xc9\\x47\\x06\\xb2\\x9f\\xa9\\x75\\x24\\x87\\xd7\\x50\\x8a\\x73\\x78\\x3d\\x6c\\x25\\xe2\\x01\\x0e\\x14\\xe1\\x9a\\xbd\\x88\\x07\\xf0\\x3b\\x4c\\x09\\x24\\x61\\x8d\\x60\\x08\\xb8\\x3b\\x9d\\xf1\\x3a\\x12\\x96\\x21\\x86\\x9a\\xaa\\xda\\xd2\\x06\\xae\\x9c\\x0a\\xc7\\x62\\x14\\x57\\x5f\\x1a\\x0a\\x06\\xfc\\x55\\x29\\x83\\xc5\\x61\\x1c\\x5a\\x52\\xd2\\x1c\\x0b\\x87\\x03\\x0e\\xaf\\xcb\\xdb\\x97\\x19\\xd2\\xa8\\xe5\\x8c\\x26\\x23\\x92\\xa2\\xca\\x52\\xda\\x84\\x4e\\x83\\xb2\\xda\\xac\\xc8\\xef\\x0c\\xf9\\x6c\\x45\\x26\\x68\\xb2\\x99\\x6c\\xfa\\x88\\x8b\\xae\\x4f\\xa5\\xd4\\x7a\\x1b\\x10\\x3b\\x27\\x12\\xf9\\xea\\xcd\\x89\\x15\\x11\\x21\\xe9\\xb3\\xdc\\x85\\x65\\x80\\x53\\x20\\x39\\x9f\\x48\\x90\\x90\\x5e\\xa6\\x23\\xe4\\x6f\\x18\\x4b\\x11\\x32\\x57\\x44\\xc8\\x90\\xb0\\x25\\x65\\x81\\x83\\xc9\\x54\\x98\\x25\\x3f\\xf1\\x08\\x92\\x2f\\x36\\x15\\xe1\\x3e\\x36\\xfe\\x67\\x0e\\xac\\x32\\xf1\\x4f\\x7f\\xdd\\xd6\\xf3\\xaf\\x6f\\x87\\x4f\\xe4\\x1f\\x33\\xc1\\x9a\\xd0\\xe7\\xc6\\x57\\x87\\x2d\\xd7\\xc0\\x57\\x35\\x77\\x37\\x23\\xcf\\xbe\\xba\\x0d\\x76\\x1e\\xb9\\x57\\x03\\x6f\\xd0\\x5c\\xfe\\x04\\x7f\\xd5\\xae\\x59\\xfc\\xbf\\xfa\\x8f\\xee\\x9a\\xc3\\x7f\\x0a\\x9d\\x47\\xc3\\x8d\\xb0\\x75\\xdc\\xf9\\xfd\\x8f\\x4c\\x58\\x4c\\xf7\\x21\\xf1\\xea\\xff\\x9a\\x32\\xe2\\x1f\\x51\\xf4\\xb0\\xd0\\xc1\\xab\\xf8\\xab\\xa4\\xcf\\xfc\\xfb\\x67\\xf0\\x1f\\x3e\\xf5\\xd0\\x03\\xa4\\x9f\\x20\\x05\\x86\\x64\\xdf\\x65\\x1e\\x65\\x6e\\x02\\xb8\\x37\\x4f\\x4b\\x5a\\x1b\\x6c\\xd4\\x6a\\x1b\\xdb\\xdb\\x61\\x63\\xcd\\x70\\x03\\x3c\\x0f\\xed\\x7e\\x1c\\x9e\\x8f\\x24\\xb1\\x11\\xf6\\x21\\xbd\\x65\\x27\\x9f\\x21\\x9c\\x97\\xbb\\x03\\x88\\xfb\\x35\\x5a\\xd0\\x7f\\x68\\x0f\\xca\\xc4\\xee\\xa0\\xad\\x14\\x69\\x0a\\x8e\\xf9\\x33\\x19\\xae\\x6b\\x85\\xd6\\x14\\xf9\\xc6\\x6e\\xa4\\x54\\x14\\x44\\x4a\\x9c\\x32\\x89\\xfd\\xd0\\xbd\\x50\\x60\\x58\\xdc\\xeb\\xd7\\x04\\x71\\x97\\x59\\x5b\\x0a\\xa9\\x7d\\x7a\\x06\\xbf\\x31\\xd5\\xa4\\x99\\x49\\xdb\\x87\\xeb\\xd5\\xcc\\x54\\xce\\x5b\\x02\\xa9\\xfa\\x31\\x33\\x86\\x1a\\x74\\xea\\x51\\x36\\xa3\\xc1\\xee\\x50\\xb5\\xf7\\x3f\\xd8\\x32\\x71\\x76\\x9b\\x4e\\xa5\\x1e\\xa3\\xd7\\xd2\\x81\\xfd\\xb7\\xc3\\x1d\\xd5\\x95\\xea\\x99\\xb4\\xc9\\xe5\\x75\\xe8\\xb4\\x33\\xd4\\xde\\x48\\x79\\x8d\\x71\\x18\\x05\\xac\\x9e\\x66\\x75\\x98\\x8f\\x94\\xd8\\x3c\\xfa\\xa9\\xdf\\xc0\\x11\\x97\\x2f\\xae\\x19\\xe3\\x2d\\x5e\\x75\\xf5\\xfa\\x2a\\xfe\\x06\\xea\\xa6\\xde\\x6f\\xf9\\xad\\xdb\\x1b\\xfd\\xed\\x66\\x1d\\xbc\\x91\\xb2\\xbe\\x1e\\x49\\x44\\xab\\x78\\xca\\xe6\\xb2\\xbb\\x6d\\x06\\xf8\\xe3\\x50\\xa7\\x01\\xd0\\xd9\\x9f\\xf8\\xef\\x99\\xc9\\xec\\x4d\\xc8\\x93\\x0f\\x23\\x5e\\x5c\\x97\\x6e\\x2f\\xf3\\x27\\x9c\\x8c\\x4e\\x87\\x6c\\xa2\\xda\\x4f\\x03\\xb3\\x99\\xaa\\x05\\x35\\x56\\xb5\\x46\\x3d\\x29\\x63\\xd2\\x68\\x0c\\x4c\\x91\\xcb\\xe5\\x2c\\x2a\\x8a\\x4e\\xca\\x14\\x99\\x01\\x9c\\x9c\\x01\\x1e\\x4f\\x65\\x77\\xc6\\xe3\\x74\\xda\\x26\\x66\\x9c\\x0e\\x83\\x6e\\x62\\xc6\\x00\\x14\\xf7\\x4e\\x81\\xdb\\x7c\\x52\\x91\\x7f\\xc1\\x37\\x4b\\x12\\x39\\x6d\\xae\\x68\\xcd\\x2b\\xa4\\xf3\\x90\\xd9\\xa3\\x1b\\x53\\x0d\\x88\\xb7\\x52\\xd8\\x04\\x62\\x4d\\x81\\xc4\\x5e\\x4c\\x17\\x10\\x87\\x94\\x68\\x05\\x4a\\x08\\xe7\\x52\\x8c\\x9d\\x7e\\xda\\xfe\\x00\\x67\\xe3\\xff\\x6a\\x82\\xa5\\xfe\\x5d\\x6a\\xd8\\x51\\xba\\xca\\xb4\\xea\\xc9\\xe5\\x6a\\xfe\\x83\\xc0\\x03\\x37\\x5e\\xb1\\x7d\\x27\\x04\\xbf\\x9a\\x53\\x13\\x19\\xd3\\x30\\xe7\\x9e\\x05\\x33\\xc6\\x0e\\xb9\\xba\\x85\\xff\\x7e\\xd1\\x22\\xe6\\xf1\\xce\\x3e\\x66\\xea\\x1e\\x77\\xd5\\x3f\\xa6\\xfe\\xf8\\x85\\xa7\\x6a\\xcf\\xaf\\x9f\\xfc\\xd5\\x43\\xb0\\xea\\xd0\\x06\\x97\\xf7\\x66\\xfe\\xa7\\x2d\\x17\\x5c\\xd5\\x45\\x9e\\xf5\\x21\\xb5\\xfb\\x27\\x11\\xff\\xfb\\xb9\\xf4\\xfa\\x50\\x51\\x91\\xd9\\x41\\x73\\x26\\xab\\x9d\\x76\\xab\\xdc\\xe5\\x95\\x80\\xe6\\xaa\\x62\\xb1\\x44\\x8d\\x8a\\xe3\\x6a\\x5c\\xa5\\x65\\xa5\\x2b\\x33\\xf6\\x32\\x6b\\x55\\x75\\xd5\\xca\\x8c\\xa9\\xda\\x54\\xd6\\x57\\x46\\x85\\xca\\x26\\x96\\x3d\\x5b\\xf6\\x72\\xd9\\xd9\\xb2\\x6c\\x19\\xb7\\xb7\\x0c\\x9a\\xaa\\x43\\xd5\\x89\\x6a\\x7a\\x5b\\xf5\\xde\\x6a\\x4a\\xf8\\xdc\\x57\\x7d\\x09\\xfa\\xc7\\xa1\\xea\\x67\\xab\\xcf\\x56\\x6b\\x34\\x74\\x59\\x75\\x59\\x35\\x12\\x2b\\xe4\\x6a\\x85\\x42\\x11\\x0f\\x8d\\xfc\\x31\\x8b\\x1a\\x22\\x27\\x4c\\xad\\xa6\\x55\\x24\\x95\\x46\\x12\\x7d\\xc9\\x84\\xd2\\xcd\\x5a\\xbe\\x02\\xfd\\x57\\xe8\\x69\\x09\\x3e\\x3c\\x79\\x04\\x0d\\x6f\\xae\\xf0\\x74\\xa5\\xcd\\x0a\\xb0\\x33\\x81\\x82\\x1b\\xb2\\x7f\\x58\\x8c\\xc9\\xff\\x54\\x76\\x39\\xf8\\xc1\\x5b\\x8c\\x6d\\x27\\x76\\xca\\x9e\\x9b\\x00\\xab\\x5f\\x1d\\xb3\\x63\\x7e\\x59\\x07\\x13\\xbb\\x68\\xd8\\xb6\\xa7\\x87\\xc1\\x39\\x46\\xfe\\x0e\\x9b\\x0e\\x2e\\x30\\xf1\\xfb\\x98\\x0d\\xcb\\xbb\\x37\\x95\\x35\\x8c\\x68\\xb8\\xfb\\xd8\\x0b\\xef\\x50\\xcb\\x4c\\x4b\\xb4\\xf6\\xa5\\x46\\xba\\x05\\x1a\\x20\\xe5\\x08\\xfe\\x74\\x4d\\x45\\xe2\\xcd\\x0f\\x27\\x4f\\xe8\\xe9\\x5e\\x78\\xf0\\xc1\\x61\\x65\\x7b\\xf9\\x2f\\xda\\xfe\\xfb\\x66\\x53\\x77\\x66\\xec\\x64\\x52\\x17\\x1a\\xf7\\xdb\\x41\\x7a\\x2f\\x02\\x56\\xa5\\xdb\\x4c\\x76\\x83\\x9e\\x66\\x98\\x70\\x28\\xe4\\xd6\\xa9\\xc3\\x14\\x4b\\xa9\\xdd\\x76\\x27\\x67\\x05\\x20\\x6a\\x2d\\xa1\\xc2\\xe1\\xa0\\xc7\\x87\\xa2\\x42\\x83\\xca\\xe9\\x72\\xf6\\x65\\x42\\x8c\\xcb\\x65\\x8d\\xf8\\x68\\x93\\xdd\\x6a\\xc7\\x21\\xa1\\x5a\\x67\\x05\\x6d\\x2f\\x89\\x86\\x4a\\x68\\xf8\\x4c\\xd4\\x97\\xe0\\x7a\\x49\\xfb\\x90\\xcb\\x63\\x88\\xcf\\x98\\xa2\\x18\\x00\\x7b\\x96\\x10\\xf1\\x14\\x8c\\xa8\\x44\\x8b\\x22\\xfa\\x0b\\x48\\x71\\xa5\\x60\\x3c\\xc5\\x1e\\xd4\\xee\\xe9\\x7f\\xad\\x15\\xfe\\xd7\\xc8\\x77\\xc1\\x89\\xd7\\x6a\\xf9\\x97\\xf8\\x1b\\x96\\x8f\\x98\\xf1\\xb4\\xb6\\xff\\x35\\xed\\xa1\\xb9\\xa7\\x8c\\xa7\\xe6\\xdf\\xaf\\xa5\\x3c\\xda\\xc3\\xe7\\xd1\\xd4\\xfe\\xcb\\xb4\\x6c\\x0b\\x52\\x38\\x43\\x16\\x76\\xf7\\xbf\\xe7\\x6b\\xa0\\x96\\xa5\\x78\\x17\\xe9\\x09\\x55\\xd4\\x4d\\x55\\x92\\x56\\x51\\xaf\\x41\\xaa\\xc2\\xdb\\x20\\xf8\\xe3\\xa4\\x77\\x02\\x59\\xfb\\x95\\xe9\\x0e\\xa3\\x39\\x4c\\x05\\x38\\x8f\\xd6\\x1b\\xd4\\x72\\x94\\x9a\\x31\\xab\\x4b\\x1c\\x56\\x6b\\xd4\\x6e\\x36\\x5b\\xdc\\x7a\\x8b\\x7e\\x6e\\x86\\x65\\x38\\x5a\\xa3\\x2e\\x0a\\x68\\x55\\xa1\\xa0\\xdf\\xe3\\xf3\\x7a\\x3d\\x41\\x55\\x40\\x4d\\x33\\x6a\\x60\\xa1\\xc3\\x14\\xa0\\xfa\\x32\\xc0\\x2a\\x45\\x23\\x83\\xe8\\x6a\\x29\\x25\\x38\\x48\\x9f\\xdc\\x24\\x5a\\xb1\\xaa\\x8d\\x52\\xe1\\x85\\x93\\xbe\\x8a\\x52\\xe8\\x91\\x32\\x51\\x29\\xd2\\x33\\xeb\\xb0\\xf6\\x6f\\xa3\\xff\\x67\\xfa\\xde\\xfb\\x3f\\xe3\\xff\\xba\\x93\\xbf\\xef\\x4b\\x8f\\x68\\x62\\xaa\\x9b\\x3a\\xb4\\x33\\xcf\\xd4\\x8e\\xf8\\xce\\xf8\\x9d\\x17\\xfd\\xf4\\xbc\\xa2\\x45\\x9e\\xcd\\xce\\x05\\xdd\\x0b\\xb6\\x2f\\xe8\\x5e\\x08\\x5f\\xb6\\xbf\\x02\\x9b\\xf9\\x53\\xaf\\x58\\xf9\\xcd\\xf3\\xc9\\x57\\x0b\\x78\\x8f\\x0f\\xad\\x9a\\x05\\x65\\xfc\\x12\\xd5\\x17\\xec\\x1f\\x11\\xad\\x43\\xc1\\x28\\xd0\\x03\\xfa\\xc0\\xde\\x74\\xd7\\xf8\\x88\\x6b\\x7a\\x64\\xfa\\xd4\\xd9\\xb3\\x03\\xa3\\xe3\\xc9\\xaa\\xe1\\x6a\\xb5\\x41\\x33\\x35\\xd5\\x0c\\x40\\x4a\\x53\\x15\\x2f\\x0f\\xa8\\xe6\\xce\\x1b\\x9d\\xac\\x2a\\x8f\\x9b\\x5b\\xe7\\x66\\x32\\x45\\xd3\\x23\\xae\\xf1\\xc9\\x78\\x8d\\x39\\x32\\xbe\\xc8\\x6b\\x2e\\x32\\x17\\xd5\\x78\\xe7\\xcc\\xf1\\x5a\\x6d\\x93\\xfa\\x32\\x36\\xbb\\xfa\\x09\\x68\\x3e\\xc6\\x76\\xd0\\x1d\\x7d\\x19\\x5a\\xde\\x8c\\x36\\x41\\x4a\\xcc\\x27\\x89\\x27\\x29\\xe6\\xaf\\x72\\x9b\\x42\\x98\\x01\\xe6\\xc5\\x22\\x96\\x3c\\xbf\\x9c\\x3c\\x47\\x12\\xa7\\xc9\\xa3\\xf9\\x42\\x43\\x76\\x27\\x2c\\xae\\x86\\x71\\x31\\x2d\\x28\\x3c\\x91\\x8c\\x74\\x3a\\x72\\xd3\\x1b\\x1a\\xa3\\xa9\\xc6\\x94\\x0b\\xe7\\x8c\\xad\\x0e\\x3b\\xc5\\x40\\xe2\\xcd\\x0b\\x9a\\x09\\x62\\x3b\\xa0\\x22\\x5e\\x8d\\xb5\\xa1\\x9e\\x82\\xc2\\x95\\x64\\x9d\\xea\\x8b\\x43\\x5b\\x2f\\xec\\x69\\x8a\\x05\\x8f\\xf8\\xea\\x34\\xcb\\x4b\\x76\\xaf\\xbf\\xfa\\xfe\\x1f\\xeb\\x47\\xcd\\xbd\\xb8\\x2d\\xb6\\x61\\xdc\\x8c\\xde\\x85\\x93\\x62\\x3d\\x81\\xa2\\x96\\xcd\\x33\\xb6\\xfc\\xbb\\xf1\\x69\\x58\\x13\\x1b\\xbf\\xb1\\x66\\xcc\\xa4\\xdb\\x3f\\xbc\\x72\\x2f\\xff\\x2d\\xbd\\x75\\x5a\\xe7\\xb8\\xd9\\x33\\x46\\x77\\xf5\\xfe\\x98\\xad\\xec\\x6a\\xad\\x1b\\x99\\x1c\\xb2\\x79\\xca\\xa5\\xa7\\xd6\\x3e\\xd7\\xbf\\x38\\xdd\\x55\\xd1\\xb2\\xe8\\x12\\xd8\\xb8\\xf5\\xe1\\xf1\\x3c\\x7f\\x77\\xcb\\x90\\x3b\\x63\\xf0\\xe4\\x2d\\x37\\xec\\xe2\\x27\\x7b\\x9b\\xea\\x5a\\x47\\x8d\\xed\\x6a\\x9d\\xe4\\xb0\\xdc\\x09\\x27\\xc1\\x0d\\x0b\\xd5\\x09\\xff\\xd0\\x29\\x54\\x74\\x7c\\xb7\\x7b\\xc4\\x12\\x66\\x07\\xff\\xdd\\xbd\\xc7\\xf9\\xc3\\xc7\\x60\\x70\\xde\\xf2\\x55\\x73\\xe6\\xad\\x5a\\xc3\\x18\\x46\\x3c\\xfc\\xec\\x4b\\xfc\\x5f\\x97\\x55\\xa5\\x1f\\x80\\xad\\x07\\xdf\\x81\\x86\\x1f\\xcf\\xc6\\x62\\x15\\xd3\\x00\\x95\\x3d\\xce\\x8f\\x61\\x9c\\x48\\x17\\x46\\x51\\x3c\\xb0\\x2a\\xdd\\x0a\\x99\\xa0\\x0f\\xb0\\x95\\x9a\\x28\\x97\\xb0\\x45\\x90\\xe6\\xe7\\x34\\xac\\x8f\\x51\\xd1\\x31\\xb3\\xb9\\x8e\\xae\\xf5\\x14\\xf5\\x65\\xfc\\x88\\x67\\xa3\\x1c\\x64\\x6c\\x09\\x8e\\x4e\\x18\\x18\\x86\\x36\\x18\\xca\\xe6\\x66\\x0c\\x0c\\x6d\\x65\\x49\\x3a\\xa2\\x2d\\x67\\x0f\\xac\\xe2\\x59\\x10\\xd5\\x26\\xdc\\xda\\x19\\xc0\\xd0\\xb5\\x35\\xac\\x0e\\x05\\x48\\x3e\\x18\\xa3\\xe4\\x8c\\x28\\xa5\\x72\\x5a\\xe5\\x1b\\x1b\\x42\\xce\\x34\\x2e\\x9f\\x80\\xcb\\x0a\\x67\\x5f\\xff\\x4a\\x07\\xec\\xdb\\x7c\\xac\\xb2\\x71\\xc6\\xee\\xbe\\xb9\\x17\\x5c\\x7d\\x4f\\x65\\xeb\\x1b\\x07\\x26\\xb4\\x96\\xd4\\xba\\x03\\xb5\\x33\\x7a\\xc7\\xc2\\x51\\xcd\\x8d\\xd3\\x7a\\x23\\xae\\x7f\\xb9\\x60\\x13\\xff\\x2e\\xfc\\x84\\x3f\\x0d\\x8d\\xd7\\x41\\x53\\xdf\\xa5\\x4f\\x2d\\x3c\\xbf\\xb7\\x9b\\x3f\\xfb\\xe5\\x2e\\xfe\\x6f\\xd7\\x1e\\xfd\\xdc\\xf6\\xd2\\x15\\x8e\\xbd\\x3b\\xfe\\xf0\\x15\\xf5\\x51\\x6b\\xd7\\x8e\\x6b\\x26\\xbe\\xd2\\x09\\x2f\\xc4\\x3e\\x3c\\x7e\\x1e\\xda\\x80\\x64\\x39\\x0c\\x4a\\x51\\x8c\\x54\\x07\\x1e\\x4a\\x2f\\xac\\x42\\x51\\x64\\xcc\\x59\\xe3\\x4d\\xf8\\x2a\\xd4\\xb5\\xe1\\x12\\x8a\\xa3\\xc2\\x6a\\x1f\\x0a\\x8d\\xdc\\x76\\xad\\x19\\x80\\x7a\\x73\\xb2\\x0a\\x89\\x75\\xa5\\xda\\x6e\\xc7\\x19\\x7c\\x07\\x52\\x62\\x31\\xd6\\x11\\xa5\\xdc\\x1e\\x37\\x72\\xe0\\xc2\\x9e\\x49\\x55\\x73\\xab\\x28\\xe0\\x31\\x7b\\x50\\x8c\\x5d\\xe5\\xf0\\x78\\x1c\\x55\\xb4\\x39\\x10\\x48\\xcc\\xcd\\x04\\x7c\\x7d\\x99\\x00\\x6d\\x20\\x3d\\xf3\\xcc\\x32\\x97\\x57\\x88\\xa9\\xaf\\x04\\x31\\x03\\xd8\\xa1\\x13\\x99\\x3b\\x59\\x01\\x2a\\xc8\\xbf\\xe0\\xc0\\x54\\x58\\xce\\x8b\\x73\\xd9\\xb1\\x65\\xe5\\x98\\x0a\\x98\\x53\\x81\\x58\\xf5\\xa7\\x88\\x73\\xed\\x52\\x35\\xc4\\x91\\x92\\x6c\\x84\\x45\\xe4\\x46\\x8d\\x2a\\x1c\\x63\\x0d\\xc6\\xc9\\xd0\\xd0\\x61\\xec\\x4e\\xf1\\xdf\\x9d\\x7e\\x61\\xe2\\x9b\\xda\\xfe\\xe7\\xb4\\xfb\\xae\\x44\\xba\\xd0\\x73\\xca\\xf8\\x7c\\x08\\xeb\\xc3\\x27\\xdf\\x0d\\x3e\\x05\\xf9\\xa0\\x1b\\x7e\\xa9\\xe3\\xaf\\x84\\x9a\\xa9\\x7c\\x20\\x00\\x99\\x9b\\x03\\xf0\\x54\\x2d\\xd3\\xda\\x6d\\x6d\\x6e\\xeb\\xbe\\x72\\x93\\xe0\\x1e\\x53\\xc7\\xbb\\x6f\\xec\\x3e\\xec\\x6d\\xb8\\x7a\\xdd\\x72\\xb3\\xe9\\xc6\\x14\\xff\\xca\\x81\\x03\\xd4\\x15\\xf7\\xde\\x8b\\x7c\\xb4\\xe5\\xd9\\x05\\xec\\x6e\\xf6\\x34\\x28\\x42\\x7b\\x7a\\x65\\xba\\x5d\\xab\\xd3\\xe8\\xa3\\x36\\x7b\\x49\\x11\\x85\\x7c\\x31\\xaa\\xc4\\xa6\\xd7\\x71\\x96\\x70\\x98\\x75\\x07\\x2c\\x46\\x63\\x80\\xa5\\xcb\\xca\\x6d\\x51\\x4d\\x14\\xed\\x0d\\x49\\xb1\\x7a\\xbd\\x94\\xc6\\x6c\\xd6\\x6b\\xd3\\x1a\\xc6\\x5e\\x42\\xa1\\x10\\xb4\\x08\\x52\\x88\\xcf\\x5e\\x4a\\x0a\\xdb\\xe5\\x7d\\x29\\x89\\x33\\x86\\x43\\x12\\x83\\xa5\\x57\\x0b\\x36\\x49\\x48\\x13\\x92\\xf4\\x17\\xee\\x1a\\xee\\x74\\xd1\\x24\\x21\\x88\\xb5\\x81\\x60\\x24\\x18\\x15\\xc4\\xa9\\x30\\x8e\\xa1\\xa8\\x67\\xbb\\xdd\\x3c\\xff\\xe9\\x09\\x38\\xef\\x23\\x57\\xb7\\xeb\\x2f\\xaf\\x26\\x47\\xd0\\x97\\x9f\\x7e\\xbd\\x7b\\x77\\x53\\xdb\\x7d\\x1a\\x78\\x56\\x73\\xdd\\xd8\\x2c\\xf8\\x84\\x9f\\xff\\xf8\\xbd\\xaf\\xef\\xcb\\x82\\x9b\\xf6\\x6c\\xd1\\xc3\\xe0\\xd7\\x5f\\xc2\\xe5\\x7f\\xd6\\x6f\\xdc\\xc0\\x34\\xf1\\xef\\x1d\\x38\\x8f\\xf9\\x71\\x04\\x5b\\x5b\\x02\\xe7\\x79\\x1b\\x1b\\xbd\\xfc\\xec\\x05\\x34\\xa5\\x3e\\xf5\\x91\\x81\\x79\\xc2\\xfa\\x02\\x7f\\x18\\xf9\\x65\\xb8\\xde\\x7f\\x3d\\xdb\\x89\\xa2\\xc4\\x08\\xf2\\x5b\\x6f\\x4f\\xf7\\x78\\x82\\xee\\x50\\x84\\x8e\\x95\\x44\\x4b\\xb8\\xa8\\xa6\\x58\\xef\\x32\\x3b\\x2d\\x46\\x8b\\x59\\xaf\\xe1\\xe8\\x10\\x03\\x82\\x3a\\xbf\\x56\\x5b\\xea\\x8f\\x5b\\x82\\x41\\xa7\\xc7\\x8f\\x0c\\xa7\\xdb\\x4c\\x62\\xf0\\x22\\x03\\x8c\\xe8\\x49\\x04\\x5e\\xa2\\x61\\x01\\x34\\xc3\\x1a\\x98\\xc6\\xcf\\x69\\x40\\x56\\x65\\xf7\\x5b\\x63\\x2a\\x86\\xdc\\x80\\x90\\xe3\\x02\\x99\\x8d\\x7e\\xc6\\x98\\x4a\\x2e\\x86\\xb0\\x5b\\x38\\xe2\\x46\\xee\\x1a\\x4c\\xe2\\x5b\\x8a\\x2e\\xc4\\x56\\x36\\xc2\\x52\\xca\\x58\\x3b\\x8c\\xd3\\x5b\\xc6\\x17\\xa6\\xf3\\xfd\\x28\\xde\\x83\\xa9\\x67\\x57\\xc0\\x89\\x46\\xfe\\xe5\\xa2\\x6f\\x8c\\x7f\\xe9\\x5c\\xa7\\xe3\\xa3\\xba\\x6d\\xed\\xfd\\x1f\\xff\\x76\\xb3\\x96\\xdf\\xa1\\x5d\\x76\\x72\\x2f\\x7c\\x2f\\xc0\\xef\\xac\\x80\\xc9\\x09\\xf0\\x78\\xf7\\xfe\\x6e\\x6a\\x44\\xff\\x33\\xe8\\x17\\xbf\\x83\\xc4\\xd2\\x17\\x4b\\xbf\\xd1\\x57\\xf0\\x08\\xf2\\x27\\xfe\\x8b\\x7c\\xb4\\x26\\xa4\\x97\\x1a\\xc1\\xe1\\xf4\\x79\\xe1\\x60\\x49\\x30\\x5c\\x12\\x6c\\xa4\\x58\\x35\\xa3\\xad\\xd7\\x7a\\x2a\\xab\\xcd\\x56\\x1f\\xfa\\x86\\x89\\x7b\\xe2\\xf5\\x5c\\xbd\\xb5\\xba\\xd8\\xc3\\xf9\\x01\\x68\\xf2\\xa7\\xd4\\xfe\\x80\\xbf\\x2f\\xc3\\x06\\xa8\\x70\\x49\\xb8\\x2f\\xd3\\x58\\xa2\\x75\\x06\\xe2\\x91\\x5a\\xfc\\x46\\x2f\\x15\\x28\\x09\\x94\\x38\\x0d\\x55\\x81\\x2a\\x4a\\x4b\\x57\\xd5\\xd6\\x96\\xf7\\x65\\x6a\\x19\\x8b\\xc5\\xe9\\x34\\xf4\\x65\\x9c\\x36\\x39\\x4c\\xc6\\xbf\\x90\\xe0\\x59\\x89\\x23\\xd6\\x6b\\x21\\x0f\\x18\\x0f\\xe2\\x87\\x49\\x79\\x09\\x05\\xa7\\x21\\xad\\x67\\xde\\xcc\\x9e\\x20\\x62\\xc8\\x99\\x20\\xf6\\xc3\\x1c\\xb2\\x0f\\x26\\x35\\xaf\\x46\\xa2\\x88\\xf8\\x0d\\x6d\\x9b\\x78\\xff\\x09\\x9b\\x69\\xf1\\xcd\\x06\\xa6\\xc9\\xf8\\xe4\\xac\\xb7\\x2e\\xa0\\x5a\\x8d\\xfd\\x35\\x4b\\xaf\\x59\\x9b\\x39\\x5e\\x33\\x62\\x78\\x6a\\xe6\\x87\\x4b\\x4e\\xbc\\x1c\\x9d\\x64\\x5c\\x55\\x77\\xfd\\x78\\xfe\\x6e\\x23\\xd5\\x7d\\xf5\\xc2\\x4d\\x97\\xdf\\xb2\\xaa\\x6d\\x78\\xed\\xa9\\x7d\\x4f\\xbf\\xda\\x41\\x8f\\xe8\\x4e\\xa7\\x23\\xdd\\xdd\\xdb\\x97\\xac\\x1a\\x5d\\xf3\\x38\\xff\\x62\\x38\\xf6\\xe0\\xdd\\xcb\\xa7\\x76\\xb7\\x8c\\xf5\\x75\\xd7\\x5c\\x31\\xab\\xbb\\x77\\xcc\\x3d\\xd0\\x55\\x71\\xfb\\x0d\\x37\\xce\\x22\\xb1\\xd2\\x0a\\x24\\x87\\x4b\\x90\\x1c\\x06\\x90\\xb6\\x5f\\x91\\x6e\\xfe\\xff\\xf0\\xf6\\x1f\\x80\\x51\\x55\\xd9\\xe3\\x38\\x7e\\xcf\\xbd\\xaf\\x4c\\xef\\x25\\x93\\x36\\x99\\x4c\\x92\\x21\\x6d\\x12\\x32\\x99\\x84\\x04\\x21\\x43\\x0b\\x11\\x02\\x84\\x22\\x30\\x08\\x24\\x04\\x08\\x4d\\x04\\xa5\\x48\\x91\\x62\\x5d\\x5c\\x74\\x11\\xb1\\x61\\x41\\xd7\\x5e\\x50\\x6c\\x08\\xea\\xae\\x15\\x70\\x59\\x61\\x59\\x57\\x11\\x3b\\x2a\\xea\\x16\\xeb\\xee\\xba\\x16\\x92\\x79\\xf9\\xdf\\x7b\\xdf\\x9b\\xc9\\x24\\x80\\xee\\xe7\\xf3\\xf9\\xfe\\x7f\\x90\\x99\\x79\\xe5\\xdc\\x73\\xcf\\x3d\\xf7\\x9c\\x73\\xcf\\x6d\\xe7\\x32\\x3d\\xcc\\x77\\xba\\x02\\x39\\x5c\\x0f\\x03\\x5c\\x0f\\x73\\xed\\x96\\x5c\\xd1\\xeb\\x13\\x7d\\x45\\x16\\x4b\\xc8\\x99\\xaf\\xcf\\xa7\\xb6\\x49\\xd3\\xbe\\x00\\xa6\\x1c\\xcd\\xc1\\x19\\x19\\x9a\\x02\\x6a\\x73\\x1b\\x9a\\x0e\\xf6\\x99\\x3b\\xff\\xaf\\xb4\\x2f\\xca\\xb5\\x4f\\x65\\x4f\\x8f\\xea\\xed\\x67\\xaa\\xf7\\xd9\\x4b\\x30\\xfb\\xaf\\x54\\xf5\\xf6\\xbd\\x55\\x3e\\x64\\xcd\\x8b\\x6f\\xcd\\x39\\xc8\\x86\\xe3\\xe7\\x7f\\xbf\\x58\\x99\\xf1\\xc4\\xa3\\x47\\xef\\x53\\x94\\x6b\\x6e\\xfb\\xb5\\x05\\x72\\xff\\xf9\\x2d\\x2c\\x7b\\xdd\\x78\\xc9\\x06\\x52\\xa9\\xbc\\xf7\\xe8\\x24\\xa9\\x73\\x38\\x19\\x1a\\x39\\xa8\\xec\\x2f\\xaa\\x20\\x58\\xbf\\xff\\x13\\xab\\xb0\\xc7\\x76\\x50\\x79\\x44\\xdd\\xe7\\x12\\x22\\x0f\\xe3\\x59\\xd2\\x2d\\xb4\\xa7\\x6e\\x56\\xda\\xf9\\x01\\x33\\x02\\xba\\xbf\\xfb\\x33\\x29\\x2a\\x4e\\xa0\\xfd\\x23\\x2b\\xe5\\xc9\\x00\\x78\\x31\\xf6\\x6e\\xa4\\x00\\x41\\x6e\\x89\\x57\\xc2\\xc4\\x66\\x32\\x11\\xa9\\x04\\x0a\\xa4\\xba\\xfa\\xd5\\xf5\\x30\\xbf\\x1e\\xce\\xae\\x8f\\xd7\\xe3\\xfa\\x7a\\x28\\xae\\x87\\x8c\\x7a\\xd0\\xd7\\xd3\\x5e\\x16\\xfc\\xa3\\x1e\\xde\\xaf\\x87\\xd7\\xea\\x61\\x67\\xfd\\xef\\xea\\xf1\\xad\\xf5\\x70\\x75\\x3d\\xac\\x63\\xa0\\x30\\x80\\x03\\x66\\xd6\\x83\\xae\\x1e\\x16\\xfc\\x58\\x0f\\xef\\xd6\\xff\\xa3\\x1e\\x27\\x01\\x6f\\xa9\\x87\\xcd\\xf5\\x70\\x71\\x3d\\x2c\\x62\\x88\\x7c\\xf5\\xf8\\xa7\\x7a\\x78\\xbb\\x1e\\x0e\\xd6\\xc3\\xb3\\xf5\\xf0\\x70\\x3d\\xdc\\x56\\x0f\\xbf\\xae\\x87\\xb5\\xf5\\x30\\xbd\\xfe\\xbc\\x7a\\x8c\\x6a\\xea\\x81\\x02\\x7c\\x51\\x0f\\xcf\\xd4\\x1f\\xac\\x7f\\xa7\\x9e\\x50\\x88\\xfa\\x17\\x1b\\x86\\x36\\x8d\\xab\\x6f\\xad\\xc7\\x45\\xf5\\x20\\xd4\\x43\\xdd\\xc1\\xfa\\xbf\\xd7\\xe3\\xe7\\xea\\xe1\\xc1\\x7a\\xa0\\x64\\x5c\\xc3\\x50\\xaf\\xad\\xc7\\x83\\xea\\xc7\\xd4\\xcf\\xa8\\x27\\x15\\x34\\x01\\x3b\\x6c\\x6f\\x51\\x51\\x49\\xd3\\xed\\x3c\\x6f\\x5a\\xa4\\xd1\\xf5\\xe7\\xd6\\x2f\\xaa\\x27\\x0d\\xf5\\x50\\x5a\\x0f\\x39\\x1c\\xcb\\x7d\\xf5\\x9f\\xd7\\x7f\\x5f\\x4f\\xb6\\x27\\x41\\x06\\xaa\\x20\\xe5\\xf5\\x90\\x55\\x0f\\x66\\x4a\\x2b\\x18\\x9c\\x9f\\xc7\\x05\\xc3\\x9e\\x73\\x85\\x4c\\xfa\\xeb\\x1b\\x30\\x20\\x1a\\x88\\x7e\\x16\\xef\\x17\\xd8\\x73\\x6e\\xbf\\x8a\\xcf\\xe3\\x95\\x65\\xb1\\x32\\x5c\\x56\\xd6\\xaf\\x1f\\xfe\\x10\\xf9\\xd8\\xba\\x8a\\x0a\\x36\\x70\\x5e\\x9a\\xd4\\xac\\xd2\\x52\\x68\\x9d\\xd9\\x77\\x05\\x5e\\x69\\xfa\\x1a\\xbd\\x52\\xfe\\xa6\\xf5\\xd4\\x55\\x7c\\x33\\x4f\\xb7\\x7a\\xef\\x74\\x12\\x06\\x11\\x36\\x2a\\x55\\xeb\\x08\\xe4\\xd9\\x5d\\x16\\xe8\\xb3\\xcc\\x2e\\x6d\\x02\\x98\\x8d\\x42\\x69\\xef\\x58\\x6f\\x13\\x06\\x9f\\x2f\\x3c\\xb0\\x44\\x79\\x46\\xf9\\x8f\\x71\\x08\\x8c\\x04\\xf3\\xac\\x5d\\xab\\x1a\\xce\\x1e\\xdb\\x3e\\xa0\\xbe\\x71\\xcc\\xfc\\x81\\x89\\x92\\x41\\x77\\x35\\xae\\xba\\x6c\\xc9\\x8b\\xf3\\x97\\x74\\x14\\x96\\x1b\\x4b\\x9a\\x86\\x2e\\x1f\\x7a\\x4d\\xf8\\xc2\\xa8\\x4b\\xec\\x38\\xb9\\x0d\\xc4\\xf0\\x50\\x58\\xa2\\x74\\xad\\xff\\x72\\x25\\x7c\\x37\\xfe\\x9c\\x85\\xff\\x3e\\xa7\\x79\\xc2\\xa2\\x13\\x70\\x75\\x75\\x6c\\xe3\\xf2\\xf5\\xaf\\xad\\x28\\x78\\x65\\x6d\\xd9\\xec\\x9d\\x1d\\x0f\\x15\\x05\\xa9\\xfe\\x95\\x74\\x7f\\x49\\x46\\x8b\\x13\\xa9\\xdd\\xef\\x87\\xce\\x8b\\x0d\\x30\\x53\\x15\\x23\\x05\\x41\\x49\\xaf\\xcf\\xc9\\xf6\\x79\\x5d\\xc4\\x55\\x52\\xec\\xcb\\x5c\\x16\\xf7\\xf9\\xbc\\x5e\\xa9\\x40\\x5a\\x16\\xcf\\x2e\\x28\\x40\\x46\\xbb\\x71\\x79\\xdc\\x6a\\x06\\x3d\\xf5\\xb3\\xec\\x3e\\x94\\xb7\\x2c\\x8e\\x64\\xa4\\x79\\xc2\\xc9\\x91\\xf9\\x8c\\x8a\\x54\\xaf\\x20\\xb9\\x76\\x31\\x92\\x36\\x86\\x9a\\x5c\\x29\\x82\\xad\\xc0\\x1d\\x55\\xb6\\x1f\\x55\\xf5\\x78\\x6b\\xd9\\x9e\\x6d\\xe6\\x0a\\x7b\\xd9\\xf9\\x3a\\xdc\\x9d\\xbd\\x71\\x72\\xeb\\xa7\\x2f\\x94\\xea\\x96\\x6e\\x6a\\x1c\\xd1\\xff\\xf6\\x8b\\x17\\xad\\x10\\xf3\\xc7\\xaf\\x31\\x9f\\x3f\\x63\\xba\\xef\\xd6\\x0d\\x35\\xc3\\x5d\\x63\\x7e\\xf3\\xb0\\x38\\x71\\x7e\\xc7\\xab\\xca\\xde\\xa9\\xdf\\x95\\xe6\\x6f\\x39\\x7a\\xf3\\x1d\\x17\\x2e\\x75\\x57\\xbe\\x9c\\xe5\\x3f\\x3b\\xdb\\x8f\\xf5\\xdb\\xaf\\x6b\\x9e\\xb7\\x5a\\x19\\xd9\\x08\\xd9\\x8f\\x5e\\xc5\\xc7\\x43\\xf7\\x23\\x24\\xd7\\xf3\\xf5\\x69\\x6c\\xbd\\x59\\x25\\xba\\x2e\\x36\\xcc\\x63\\x32\\x99\\xcd\\x4e\\x87\\xd7\\x28\\x08\\x06\\x59\\x9f\\x45\\x42\\x01\\x08\\x87\\x43\\x7a\\x87\\x60\\xab\\xb2\\xf5\\xcf\\xa5\\xcd\\x7b\\x29\\x6d\\xf3\\x73\\xd9\\xd1\\x64\\xb9\\xa5\\xb9\\xa5\\xc8\\xad\\x17\\xf8\\x11\\xc3\\x26\\xc9\\xad\\x79\\x4a\\x04\\xb1\\xb1\\x7b\\x53\\x9c\\x90\\xa5\\xde\\x8d\\x5e\\xec\\x35\\xf2\\x83\\x86\\x23\\x33\\xa8\\x05\\xd2\\xba\\x8c\\xc9\\x41\\x7a\\x75\\x7c\\xb3\\xb4\\xd7\\x01\\xbb\\x3d\\x4c\\x49\\x4e\\x56\\xb0\\x51\\x2f\\xb5\\xf5\\x0f\\xa6\\x8d\\x43\\xea\\x21\\xe9\\xee\\x53\\x2b\\x4d\\xd2\\x67\\xeb\\x85\\x3f\\x62\\x9f\\x23\\xf1\\xd7\\x90\\x3a\\x94\\x7c\\x7c\\x4a\\xe2\\x1f\\xaf\\xaa\\x23\\xc8\\xaf\\x3f\\x60\\x80\\xab\\xe1\\x49\\x3c\\x75\\xec\\x92\\x81\\xd1\\x96\\x25\\x03\\xb7\\xce\\x5d\\x77\\xce\\xcd\\xad\\x73\\xd7\\x3d\\xd7\\xd1\\x21\\x7c\\xcd\\x4f\\x15\\x76\\x08\\x4f\\x77\\xde\\x92\\x1c\\x48\\xec\\xf2\\xc3\\x7d\\x8f\\x5d\\x36\\x7e\\xea\\x13\\xeb\\xcf\\x99\\x92\\xf8\\xfb\\x86\\xf3\\x67\\xdd\\x3b\\x63\\xc3\\xf9\\x37\\x1d\\xe2\\x76\\x69\\x65\\xf7\\x97\\xe2\\xfb\\x7c\\xbf\\x8d\\x9f\\x72\\xad\\x0e\\xb5\\xc7\\x6a\\x6c\\xa8\\x26\\x10\\x28\\xea\\x5f\\x9e\\xa1\\xd3\\x95\\x17\\x21\\xa1\\x7e\\x60\\xa0\\xa8\\xa0\\xe8\\x60\\xbc\\x26\\xef\\x60\\x3c\\x1a\\x2a\\x0e\\x1d\\x8c\\x17\\xd4\\x14\\x17\\xd7\\x14\\x10\\x93\\x60\\x72\\xfd\\x21\\x6e\\x72\\x0a\\xd9\\x7f\\x88\\x0b\\x42\\xcf\\x02\\x19\\xd5\\xa3\\x54\\x17\\xbb\\x9e\\x3a\\x09\\x4d\\xdb\\x7a\\x3e\\x04\\x23\\xf0\\xde\\x4e\\x30\\xbf\\x00\\xd7\\xba\\x1c\\x42\\xa4\\xaa\\x80\\x89\\x44\\x01\\x9b\\x23\\x14\\xed\\x5e\\x77\\x20\\x5a\\x6b\\x0f\\x45\\x03\\xea\\xaa\\xa3\\x5a\\x36\\xf4\\x6b\\xa7\\x0c\\x5a\\xf9\\x1c\\x0c\\x7a\\xf6\\x39\\x88\\x3d\\xb3\\x5b\\x79\\xe1\\xf9\\x67\\x95\\x17\\xf7\\x36\\xde\\x0f\\xfe\\xfb\\xee\\x87\\xbc\\x07\\x1e\\x52\\x3e\\xb9\\xff\\x7e\\xe5\\xa3\\x7b\\x71\\xf6\\x85\\xca\\x7d\\x6d\\xf3\\x61\\xd4\\x6d\\x77\\xfc\\xf6\\x96\\x47\\x27\\x2f\\x6b\\x18\\xb6\\xf0\\x5c\\xbc\\xe3\\xf7\\x30\\xe4\\xe9\\xbd\\xca\\x4b\\xbf\\x7f\\x46\\x79\\xe5\\x77\\x7b\\x21\\xf6\\xec\\xfd\\xca\\xf1\\x7b\\xef\\xa5\\xa9\\x1e\\x80\\xfc\\x7b\\xe8\\xf5\\x1b\\xca\\x71\\x3b\\x25\\x15\\x3f\\x66\\x2b\\x5e\\xb6\\x70\\xd9\\xaa\\xbf\\xc7\\xcf\\x56\\x9e\\x1a\\x45\\x75\\x68\\x3d\\xf6\\xc9\\xbf\\xa5\\x32\\xe5\\x44\\x65\\xf0\\x59\\xac\\xdb\\x1d\\x08\\x64\\x17\\xe5\\x66\\x65\\x65\\xe7\\x51\\xad\\xc9\\x36\\x19\\x1d\\x76\\x3b\\x60\\x6c\\xcc\\x26\\xba\\xe2\\xfc\\xd2\\xd2\\xb0\\xac\\x2b\\x08\\x85\\x8a\\x74\\x45\\xe5\\xe1\\xc2\\x1c\\x1b\\xd1\\x93\\x83\\xf1\\xac\\x00\\x98\\x02\\x60\\xc6\\x81\\x32\\x0f\\xd1\\xa3\\xd2\\xa2\\x6c\\xaf\\x9d\\x76\\xba\\x0f\\xc6\\x8b\\x33\\xdd\\x67\\xa3\\x05\\xe8\\x19\\x74\\x10\\x09\\x12\\xf5\\xa6\\x50\\x7e\\x9e\\xfe\\x01\\x29\\x0c\\x6f\\x85\\xe1\\x40\\x18\\x26\\x87\\xa1\\x38\\x0c\\x9e\\x30\\x18\\xc3\\xb0\\x20\\x11\\x86\\xaf\\xc2\\xf0\\x5e\\x18\\x0e\\x86\\xe1\\x41\\x7a\\x1f\\x86\\xc6\\x30\\x14\\x85\\x41\\x08\\xc3\\xf7\\x61\\xf8\\x9c\\x27\\x78\\x3a\\x0c\\x57\\x86\\x61\\x65\\x18\\xe2\\x61\\x18\\x1e\\x86\\x9a\\x30\\x14\\xf0\\xf4\\x14\\xe6\\x3b\\x0e\\xf3\\x4e\\x18\\x5e\\xe3\\xc9\\x6f\\x0d\\xc3\\x35\\x61\\x58\\x1b\\x86\\x45\\x61\\x98\\x11\\x86\\xd1\\x61\\xa8\\xe3\\x99\\x65\\x85\\xc1\\x4c\\xaf\\x7f\\x0a\\xc3\\x17\\x3c\\xb3\\xc3\\x61\\x78\\x26\\x0c\\x0f\\x87\\xe1\\xc6\\x30\\x5c\\xce\\x13\\x50\\xa2\\x62\\x23\\x69\\xd6\\xb4\\x13\\x0b\\x36\\x8e\\xba\\x33\\x09\\x7c\\x24\\x0c\\x2f\\x84\\x61\\x57\\x18\\xf0\\x1d\\x61\\xd8\\x10\\x86\\xd6\\x30\\x8c\\x0b\\x43\\x43\\x18\\xfc\\x61\\xb0\\x86\\xe1\\x9b\\x30\\x1c\\x0f\\xc3\\xc6\\x30\\xb4\\x85\\xa1\\x25\\x0c\\x15\\x61\\xe8\\x65\\x58\\x5b\\x93\\xd6\\xf7\\xbf\\x5e\\x71\\xdd\\x17\\xe8\\x02\\xa6\\x93\\xfb\\xe8\\x4d\\x55\\x55\\x95\\x36\\x06\\xcd\\x95\\x90\\xd9\\xff\\xe4\\x29\\xe0\\x50\\x97\\x26\\x81\\x91\\xde\\x47\\x60\\x47\\xd2\\x66\\xac\\x81\\x8a\\x1d\\x77\\x94\\xd8\\xca\\xcd\\x10\\x93\\x3a\\x2a\\x8a\\x41\\xe8\\x11\\x48\\x27\\x44\\xdc\\xb2\\x76\\x0b\\xd9\\x1b\\xfc\\xd7\\x55\\xd9\\x8b\\xf1\\xfe\\x62\\x5b\\xd9\\xed\\x39\\x1b\\xf0\\xf1\\x6c\\xe5\\xc4\\x62\\xe5\\xc4\\xfc\\xf9\\x60\\xf9\\x0e\\x74\\x4a\\x47\\x87\\x72\\xcf\\x79\\xd8\\x57\\x6a\\xc3\\x3b\\x4d\\xeb\\x0e\\x1c\\x58\\x67\\x48\\x4c\\xb6\\x95\\xe2\\xdb\\x13\\x3b\\x6c\\xa5\\xf4\\x19\\x15\\xb6\\xc4\\x33\\x78\\x64\\xb1\\x2d\\xd1\\xc2\\xef\\xdb\\xd4\\xf1\\x9d\\xcb\\xa8\\xbf\\xfe\\x5b\\x3e\\xdf\\x7a\\x61\\x6c\\x70\\x28\\x60\\xb5\\x58\\x24\\x39\\x2b\\x3b\\xbb\\x20\\x28\\x07\\x33\\xf4\\xc4\\x91\\xe1\\x28\\x2d\\x29\\x90\\xac\\x52\\x6b\\x3c\\xcb\\x6a\\x75\\xcb\\x6e\\xea\\x9b\\xbb\\x85\\x6c\\x8b\\x6c\\x99\\x15\\xcf\\xb3\\xe9\\xf3\\xf4\\x4b\\xf5\\x1b\\xf5\\x7f\\xd6\\x8b\\x7a\\x7d\\x50\\xe6\\xb6\\xaa\\x62\\x46\\x24\\x39\\xd9\\x9c\\x66\\xbd\\x53\\x1b\\xb0\\xea\\x7a\\xa6\\x59\\xaa\\xd8\\x02\\x65\\xb5\\xdb\\xeb\\x0c\\x10\\xda\\x19\\x1e\\x08\\x21\\xda\\x51\\xb6\\xa1\\x40\\x1e\\xb2\\xbb\\x90\\x15\\xb4\\x95\\x20\\x4e\\xee\\x4d\\x12\\xc7\\x27\\xef\\xef\\x7d\\x30\\x2b\\xf1\\xaa\\x73\\x68\\x5d\\xcb\\xa1\\x26\\xc3\\xb1\\x6e\\x68\\x86\\x61\\xf4\\x7f\\x73\\x37\\x7a\\xcb\\xd0\\x74\\xa8\\xa5\\x6e\\xa8\\x33\\xf1\\x6a\\xd6\\x43\\x7b\\xde\\x17\\xba\\x4e\\xfc\\xf8\\xea\\xd7\\x6e\\xe5\\x41\\x18\\x75\\xad\\x6d\\x6e\\x00\\x72\\xdf\\xa0\\xdd\\x87\\x2c\\xe5\\x33\\xe5\\xdb\\x37\\x94\\x4f\\x02\\x73\\x6d\\xd7\\x2a\\x4f\\xc3\\x14\\xf7\\xd7\\xaf\\xfe\\xf4\\x09\\xf7\\x1b\\xa7\\x76\\x7f\\x28\\x5c\\x2c\\x34\\x51\\x2b\\xee\\x47\\x6d\\xb1\\x1a\\xbf\\xcd\\x26\\x67\\x20\\xab\\x6c\\xcd\\x0b\\xa0\\x00\\x18\\x89\\xd7\\xeb\\xb2\\xf9\\x6d\\xcb\\xe2\\x66\\x7f\\x8e\\xbf\\xdc\\x3f\\xc3\\xbf\\xd8\\xbf\\xce\\x2f\\x19\\x89\\xdf\\x6f\\x24\\xc6\\xec\\x65\\x71\\x23\\x71\\x2d\\x8b\\x13\\x1f\\xb7\\x45\\x15\\x7d\\x16\\xeb\\x65\\x54\\x30\\x97\\xc0\\xde\\x53\\x68\\x6a\\x91\\x79\\xeb\\x84\\xa9\\x9f\\xc8\\xfc\\x62\\x87\\x3b\\x60\\xe7\\x63\\x2d\\xb5\\xc4\\xce\\xc6\\x37\\x65\\xbb\\x30\\xb8\\xed\\xbd\\x9b\\x77\\x7c\\x7b\\xc5\\xd5\\xdf\\x6d\\xbb\\xf9\\xbb\\x2b\\xba\\xf6\\x47\\xef\\x19\\x7f\\xf9\\xee\\x09\\xb3\\x22\\x77\\x4f\\x7e\\x72\\xc5\\xbf\\xb7\\x5f\\xbc\\x15\\xe4\\xdb\\x1f\\x06\\xf4\\xeb\\x6b\\x14\\xe5\\x3e\\xe5\\xb6\\x01\\xc3\\xe7\\x5f\\x0a\\xa3\\xc1\\x1d\\x1d\\xb2\\x42\\xf9\\x07\\xb7\\xad\\xa4\\xfb\\x35\\xe9\\x55\\x71\\x3e\\x5b\\x33\\x8d\\x3c\\x68\\x10\\xba\\x24\\x36\\x82\\x1a\\x3d\\x8f\\x5d\\xb4\\x39\\x9d\\x3a\\xaa\\xf7\\x46\\xdf\\xa0\\xaa\\x42\\xff\\x00\\x4c\\xca\\x4b\\x4a\\xc8\\x80\\xc2\\x41\\x46\\xd0\\xe9\\x06\\x37\\xd0\\x97\\x46\\x9d\\xce\\x22\\x55\\xf4\\x2b\\x2d\\xed\\xe7\\x70\\x4b\\xfd\\xdc\\xee\\x7e\\x12\\xd1\\x67\\x0f\\xa4\\xde\\xf0\\x40\\x87\\x0b\\xeb\\x65\\x75\\xd9\\x12\\x73\\x8a\\xa9\\x24\\x57\\xa8\\x0b\\x66\\x2b\\xd2\\x66\\xcd\\xfa\\xae\\xfa\\x49\\xba\\xc8\\x9a\\xd3\\x22\\x07\\x1b\\x80\\x76\\xb4\\x78\\x03\\x44\\xbb\\xe8\\xb4\\x93\\x45\\x85\\xfa\\x74\\x53\\x67\\x45\\xe9\\x33\\x67\\xc1\\xfc\\x10\\xd6\\x2f\\x14\\xee\\x5b\\x74\\xb2\\x5a\\x7a\\x4f\\x1a\\x06\\xdb\\x97\\xdd\\x38\\x5a\\x56\\x4e\\xc8\\x93\\x43\\xca\\x2b\\x6b\\x61\\xee\\x11\\xf0\\xe1\\xb6\\x90\\x6b\\x7a\\x5d\\x47\\x47\\xd3\\xac\\x29\\x13\\x6e\\xbc\\x74\\xd1\\xd4\\xdc\\x10\\x09\\x4f\\x6e\\x99\\x7c\\xf6\\xac\\xc9\\x13\\x6f\\xdb\\x71\\xe3\\xe4\\xa8\\x78\\x7b\\xd7\\xdf\\xf2\\xf2\\x6c\\xb8\\x33\\x21\\xda\\xe8\\xef\\xdf\\xfe\\x86\\xef\\x55\\x56\\x27\\x66\\x2d\\xcb\\x29\\x69\\x1d\\x5f\\xd9\\x54\\x59\\xd2\\x31\\xfc\\xfc\\x25\\xde\\x07\\xe6\\x15\\x8e\\x6d\\x2c\\x1b\\x5e\\x59\\x3a\\x77\\xd8\\x45\\x57\\xa9\\x7b\\x8c\\x91\\x03\\x21\\xb2\\x89\\xec\\xa4\\x32\\x31\\x37\\x16\\x71\\x59\\xad\\x76\\xbb\\xc5\\x60\\x90\\x2d\\x1e\\x0f\\x91\\x49\\x06\\x80\\xcf\\x61\\x77\\xb9\\xac\\x2d\\x71\\x97\\x4b\\x46\\xb2\\xb9\\x25\\xae\\xd3\\xc9\\xb2\\x30\\x2e\\x2e\\xbb\\x89\\x07\\x79\\x5a\\xe2\\xb4\\x69\\x3b\\x75\\xc1\\x85\\xba\\xca\\xb5\\x6f\\x2f\\x22\\x39\\x7a\\xa7\\x9d\\xfa\\x5f\\x1b\\x71\\xb3\\x45\\x51\\x54\\xf5\\x9c\\x11\\x6f\\xc4\\x19\\x82\\x47\\xe1\\x5d\\xdd\\xa5\\xd7\\xac\\xd1\\x25\\x2a\\x4a\\x1a\\xa6\\x5f\\x70\\xe5\\x59\\x6f\\x97\\x0f\\x8e\\x0e\\x96\\xde\\x8e\\x3d\\x41\\x76\\x96\\xfb\\xba\\x3e\\xe2\\x8b\\x9b\\x60\\xe2\\xf9\\x50\\xb1\\x14\\xe6\\x05\\xd4\\xbd\\x04\\x23\\xba\\x7f\\x14\\xbf\\x10\\x87\\xda\\x8a\\x90\\xba\\x87\\x3f\\x81\\x27\\xb1\\xbd\\xef\\x68\\x05\\x59\\x94\\xf8\\x9a\\xed\\xa1\\xb7\\xfa\\x52\\x7b\\xdf\\xfb\\x73\\xd8\\x46\\x0a\\xbb\\xfc\\xf4\\xb0\\x39\\x3d\\xb0\\x4d\\xdd\\x5f\\x89\\x07\\x54\\xbc\\x44\\x85\\x3d\\x8f\\xc1\\xea\\x74\\xa4\\x32\\xf1\\x29\\xca\\x8e\\x59\\x05\\x82\\xbd\\x3e\\xfa\\xb5\\xd6\\x0b\\x15\\x5e\\xf0\\xf2\\xa3\\xae\\xa3\\x2c\\x76\\x5a\\x32\\x2e\\x1a\\x4b\\xdf\\x68\\x0b\\xa9\\x29\\x52\\x18\\x24\\xb4\\xc2\\x85\\x50\\x41\\xcc\\x85\\x01\\xe9\\x7c\\x64\\x4e\\x3f\\xe8\\x47\\xaf\\xd6\\x22\\x60\\x1b\\x06\\x55\\x24\\xf6\\x19\\x69\\x78\\x54\\x3a\\x06\\xd9\\x8a\\x74\\x52\\x10\\x25\\xb1\\xd9\\x65\\x15\\x1b\\xc3\\x43\\x30\\x14\\xfa\\x84\\x39\\x23\\x60\\x04\\x50\\x62\\x0a\\xa1\\xa2\\x10\\x0a\\x4f\\x83\\x67\\x33\\xc5\\x73\\x13\\xc7\\x43\\xf5\\x9d\\x51\\x03\\xff\\xd1\\xca\\x03\\xb4\\x3c\\x33\\x63\\x0d\\x04\\x0b\\x6e\\x56\\x9e\\xc7\\xdc\\xb0\\xc5\\x0d\\x6b\\xdd\\x50\\xe1\\x06\\xab\\x1b\\xdc\\x70\\xdc\\x08\\x47\\x8c\\xf0\\x82\\x11\\xee\\x30\\xc2\\x66\\x23\\xac\\x35\\xc2\\x38\\x23\\x0c\\x34\\x82\\xdf\\x08\\x56\\x23\\x3b\\xa1\\x35\\xe6\\xc8\\x68\\xe2\\x27\\xce\\xf6\\xb4\\x27\\xda\\x75\\x92\\x23\\x6a\\x8c\\x03\\x32\\x89\\xec\\x77\\x48\\x24\\xca\\xf7\\x50\\xdf\\x85\\xe6\\x48\\x33\\xf1\\x70\\x64\\x46\\x39\\x31\\x33\\x32\\xea\\xb1\\x09\\x1b\\x45\\xc1\\x62\\x35\\x9b\\xd4\\xcd\\x82\\xa9\\x50\\x5c\\x1e\\x6f\\xb0\\x28\\x14\\xad\\xa9\\x8d\\x48\\x72\\xc0\\x8d\\x2f\\xa9\\x1b\\xdc\\xb4\\x61\\xcb\\x96\\x0d\\x4d\\x83\\xeb\\xc8\\x07\\x50\\x3c\\xec\\xd2\\x1b\\xce\\x2e\\x38\\xfb\\x86\\x4b\\xd9\\x69\\x40\\xb4\\xe1\\xec\\x7e\\x05\\x7f\\x2b\\x6c\\xa0\\x38\\x0b\\x63\\x76\\x11\\x49\\x46\\xbd\\x11\\x61\\x8a\\x93\\xa1\\x37\\x8b\\x14\\xef\\xbe\\xaa\\xba\\xba\\x74\\xdc\\x6c\\x1b\\x6c\\x6d\\xc4\\xe3\\x75\\x17\\x85\\xec\\x41\\x38\\xda\\x83\\x8d\\xdc\\xd9\\x93\\x4f\\x57\\xf0\\x14\\x7a\\xf5\\xd8\\x88\\x44\\x84\\xcd\\x14\\xb7\\xc9\\xdc\\x87\\xde\\xa2\\x10\\x43\\x28\\xc9\\xc1\\x9a\\xda\\x40\\x54\\xdc\\x90\\x8e\\x07\\x36\\xfc\\x0c\\xbd\\x92\\x91\\x62\\xa4\\x94\\x72\\x7a\\xb1\\x5e\\xa2\\x7c\\xf8\\xa0\\x0f\\xbd\\x85\\x6c\\x0b\\xb4\\xcc\\xd8\\xe1\\xf1\\xda\\x23\\xb8\\xb4\\x07\\xdb\\x5d\\xe9\\x6c\\xe9\\xc5\\x5f\\x2f\\x0a\\xc5\\x9c\\x46\\xa4\\xc7\\x6e\\x8b\\xd7\\xe4\\x30\\x59\\x30\\x92\\xa4\\x0c\\x1f\\x32\\xa6\\x53\\x7d\\x1a\\x4e\\xa7\\x95\\x22\\x9d\\xe7\\x58\\xe9\\xb9\\x4e\\xe3\\x7e\\xea\\x42\\xdd\\x1f\\x9f\\x2c\\x97\\x17\\x0d\\x8a\\xe5\\x48\\x76\\xbb\\x49\\x74\\x38\\xbc\\x7a\\x0b\\x76\\xbb\\xbd\\x26\\x8b\\xe0\\xcb\\x30\\x79\\x2d\\x6e\\x07\\xa3\\x89\\xd6\\x09\\x2b\\x62\\xef\\x72\\xa6\\x51\\x94\\x5e\\x3f\\x69\\x65\\x4f\\xab\\xa9\\xd4\\x45\\x7a\\x8d\\x25\\x70\\xcf\\x35\\xdb\\xa3\\x6c\\xeb\\x6e\\xe2\\xf4\\x10\\x94\\x85\\x46\\xc6\\xf2\\x0d\\x6e\\xb7\\x4d\\xef\\xf1\\x64\\x99\\xc1\\x29\\xa1\\x0c\\xa7\\x2d\\x2b\\x43\\xc8\\xce\\xb1\\x65\\x39\\x7c\\x1e\\x82\\x3c\\x56\\xc1\\x2c\\xe9\\x51\\xc5\\x21\\x46\\xd6\\x87\\x87\\x6d\\x87\\x7a\\x28\\x4b\\x9f\\x89\\xa0\\x96\\x3e\\xe0\\x0e\\x38\\xcf\\x44\\x9f\\x0d\\x3e\\x52\\xf2\\xf6\\x9f\\x4a\\xe4\\xfc\\x16\\x61\\xea\\x99\\xc8\\xa4\\x95\\x3f\\xbc\\xfb\\x33\\x72\\xa7\\xb8\\x1f\\x65\\xa3\\x12\\x4a\\x67\\x51\\x0e\\x35\\xc4\\xa8\\x40\\xa7\\xf3\\x22\\x52\\x56\\xea\\xf1\\xb8\\x2a\\xbd\\xb9\\x4d\\xae\\x58\\x26\\x58\\xf3\\x4c\\x79\\x2d\\x71\\x93\\x55\\x0c\\x8d\\x8b\\x8b\\x9e\\x64\\xbf\\x40\\x1d\\xbd\\x29\\x65\\x23\\xa8\\x3d\\x33\\x27\\x6c\\xa6\\xc4\\x00\\xda\\xbc\\x2c\\x9f\\x15\\x89\\xb0\\x69\\xed\\x7c\\x39\\x54\\x4b\\xef\\x1c\\x24\\x7d\\x9a\\xd6\\x41\\xee\\x6c\\xda\\x72\\xf0\\xe2\\x9b\\x1f\\xb8\\xfa\\xfd\\x4d\\x33\\xb6\\xe4\\x0b\\xc2\\x0d\\xbf\\x59\\xb4\\xba\\x60\\xc1\\xb8\\xb1\\x7b\\xf6\\x2d\\x73\\xac\\x1e\\x7b\\xee\\x8d\\xb3\\xe6\\xc7\\xc7\\x6f\\x5b\\x4a\\x1e\\x7a\\x48\\xb9\\x52\\xf9\\xea\\x37\\xcf\\xed\\xbc\\x15\\xc2\\x37\\xcd\\x9e\\xb8\\xfc\\xc4\\xbf\\x26\\x05\\x6e\\x0c\\x2a\\x5f\\x24\\xde\\x98\\xbe\\xfa\\xd7\\xca\\xd7\\x9b\\x2f\\xfe\\xf5\\x35\\x90\\xc9\\xcb\\x13\\xa6\\x8d\\xf4\\x5e\\xb1\\x89\\xaa\\x0a\\xdb\\x85\\xe0\\x23\\x92\\x24\\x8b\\x32\\x16\\xb1\\x41\\x2f\\x09\\x44\\xd0\\x89\\x58\\x06\\xb9\\x2d\\x0e\\xda\\x78\\x39\\x5f\\x5b\\x94\\xf2\\x25\\x55\\x7f\\xb1\\x18\\xa2\\x10\\xd1\\xe3\\x80\\xb0\\xb7\\x73\\x25\\x7c\\xf0\\x3c\\x7c\\x93\\xb8\\x52\\x59\\x4a\\x8a\\x5a\\x84\\x1f\\x3b\\x75\\xc2\\xf4\\xce\\x97\\xd4\\xf6\\xeb\\x42\\xa5\\x59\\x2a\\xe2\\xfd\\x88\\xb3\\x62\\x7e\\x3b\\xb6\\xe8\\xb1\\xde\\xe5\\xd6\\x11\\x91\\xb4\\xc6\\x45\\x5b\\x5b\\x5c\\x24\\x76\\xfa\\x88\\xcd\\xc6\\x99\\xa8\\x00\\x34\\x54\\x25\\x33\\x2b\\xed\\xb5\\xa5\\x9f\\xf6\\x9b\\x54\\x17\\x34\\xe5\\x7f\\x06\\xe8\\xef\\x85\\x3b\\x77\\x8a\\x4f\\xed\\xdc\\x99\\xf8\\xdb\\xce\\x44\\xe1\\x4e\\xa5\\x39\\x9a\\x25\\x4d\\x60\\xfd\\xbf\\x9f\\x1e\\x65\\x7d\\x3f\\x69\\xe4\\x4f\\xcf\\x64\\x69\\xf3\\x86\\xd3\\x95\\x66\\xb1\\x90\\xd2\\xe0\\x43\\x4d\\xb1\\x42\\x40\\x56\\x3b\\x72\\x9a\\xc4\\xac\\x4c\\xbb\\xc3\\xe7\\xf0\\xd1\\x32\\x22\\x9b\\xcd\\xe1\\x76\\xb3\\x90\\x28\\xd8\\x82\\x67\\xc5\\x8d\\x46\\x4b\\x16\\x4a\\xad\\xf3\\x64\\x0b\\x65\\xeb\\x7c\\x7c\\x72\\x94\\x1d\\xa1\\xab\\xd6\\x1f\\x8b\\x7f\\x01\\x81\\xaa\\xc1\\x02\\xf7\\x0a\\xa3\\x7a\\xbe\\x31\\x98\\xba\\x0c\\x01\\xd2\\x90\\x78\\x03\\x7e\\x5f\\x3c\\x6b\\x76\\xeb\\x98\\x01\\x06\\xea\\x06\\x76\\x8e\\xc2\\x43\\x13\\x5f\\x08\\xe3\\x87\\x96\\x2c\\xfb\\x4a\\x39\\x0f\\x8f\\x0e\\x75\\xfd\\x05\\x30\\xe5\\x2f\\xfe\\x54\\x69\\x1f\\x45\\x46\\x13\\xf3\\x38\\xe5\\xb7\\x3f\\x58\\x18\\x8d\\x7f\\xc7\\x2b\\x84\\xbb\\xf0\\x7b\\x54\\x0f\\x3c\\x31\\x03\\x46\\x82\\x48\\xf0\\x23\\x71\\xb2\\x0b\\xa9\\x7b\\xa7\\xeb\\xb4\\xc8\\x1e\\x77\\x75\\x8d\\xc4\\xef\\x75\\x74\\x74\\x77\\x27\\xf7\\xa4\\xd9\\x24\\x39\\xc1\\xcb\\x78\\x2f\\x2e\\x87\\x9b\\x88\\x9f\\x1a\\x8f\\xcc\\x98\\x81\\xda\\x11\\x93\\x99\\x6f\\xc2\\xd6\\x82\\x76\\xf0\\xed\\xd7\\xbd\\xb7\\x78\\xc3\\x4d\\x7c\\x9f\\x58\\x75\\xf5\\x08\\x7c\\x9f\\xb6\\x81\\x9a\\xe1\\x89\\x74\\xff\\x4b\\x68\\x97\\x26\\x51\\xa9\\x28\\x8a\\xd1\\x06\\x41\\x47\\x74\\x7a\\x83\\x40\\x1e\\xa1\\x9d\\x5c\\x90\\x25\\xf0\\x30\\xc6\\xf0\\x59\\x00\\x6d\\x67\\x1f\\x77\\xab\\x68\\x8f\\x41\\x0f\\x11\\xbc\\x64\\x91\\x72\\xec\\x01\\xb0\\x02\\x86\\x7d\\xd3\\x2c\\x64\\x50\\x4b\\xc2\\x2f\\x3e\\xcd\\xd7\\x37\\xd7\\xa1\\xd7\\xc4\\x35\\xe4\\x18\\xf5\\x03\\xf3\\x51\\x18\\x96\\xc6\\xba\\xf3\\x32\\xed\\x62\\x50\\x40\\xc5\\x46\\x64\\xac\\xac\\xf0\\x16\\x59\\x8a\\x1e\\x89\\x63\\x3b\\x98\\x45\\x30\\x11\\x31\\x33\\x68\\x17\\x74\\x2e\\x4b\\x4e\\x99\\xae\\x8c\\x32\\x40\\xaf\\x03\\x8b\\xee\\xb9\\x4a\\x78\\xb0\\x12\\x6e\\xad\\x84\\xcd\\x95\\xb0\\xb6\\x12\\x16\\x55\\xc2\\xb9\\x95\\x30\\xba\\x12\\x06\\x56\\x42\\x69\\x25\\x64\\x55\\x82\\xb9\\x12\\xa0\\xbb\\x12\\xbe\\xa9\\x84\\xf7\\x2a\\xe1\\xb5\\x4a\\xa0\\x09\\x1e\\xae\\x84\\x3b\\x92\\x09\\x96\\x24\\x13\\x34\\x54\\x42\\x05\\x4f\\x60\\xad\\x64\\xf0\\x5f\\xf4\\x86\\xef\\x93\\xc1\\xb8\\x64\\x06\\xfe\\x4a\\xc0\\x34\\x41\\x9d\\x9a\\xc3\\x0b\\x95\\xb0\\xab\\x12\\xb6\\x54\\xc2\\x86\\x4a\\x68\\xe5\\x50\\x2a\\x56\\x7f\\x12\\xeb\\x11\\x9e\\xf3\\x12\\xfe\\x56\\x7d\\xa5\\x3e\\xdf\\xc0\\x81\\x19\\xd8\\xe3\\x95\\xd0\\xab\\x67\\xd7\\xbb\\xf7\\xd7\\xfa\\xf3\\x3b\\x6e\\x2f\\xe8\\xd5\\x59\\x44\\x15\\x33\\xb5\\x5e\\x4e\\x45\\x24\\xad\\xdf\\x97\\xdc\\x20\\xe9\\xe5\\x5b\\x2f\\x59\\xad\\x93\\xf4\\xe9\\x57\\x3e\\xc8\\x52\\x98\\x2f\\xc9\\x49\\xcf\\x17\\x92\\x2b\\xc5\\xe8\\xad\\xb8\\xe6\\xd9\\xcd\\x6f\\x6d\\x1b\\xfa\\x60\\xdb\\xd6\\x3d\\x7b\\xb6\\x2e\\xd9\\xdb\\x30\\xf4\\xae\\xf3\\xb6\\x3e\\xa1\\xbc\\x3e\\x71\\xf3\\xd0\\xc1\\x9b\\xe3\\xb3\\x37\\x6c\\x4c\\xbc\\x35\\x70\\xf3\\x8c\\xb6\\x75\\xab\\xe7\\x4f\\xba\\x1a\\x8f\\xbd\\xef\\x03\\xd0\\x6d\\xb8\\xec\\x8d\\xc7\\x1e\\x78\\xef\\xf2\\xf5\\xeb\\x36\\xbc\\xb9\\xe8\\xea\\xdf\\x5c\\xf3\\x9b\\x3b\\xd6\\xaf\\xd9\\xa1\\x7c\\x79\\xf5\\x96\\x3b\\xd7\\xad\\xbf\\xf5\\x1a\\xd6\\xe6\\xdc\\x8c\\x90\\xd4\\x26\\xbc\\xca\\xf7\\xdf\\x61\\x51\\x14\\x24\\x99\\xb5\\x2e\\x87\\x53\\x71\\x4b\\xa9\\x23\\x4a\\x2d\\x36\\xdc\\x3c\\x53\\x58\\xd8\\x39\\x40\\x78\\xb5\\xf3\\xa6\\x99\\x6a\\x5b\\x95\\xd9\\xad\\x08\\x8f\\x0a\\x3a\\xe4\\x84\\x39\\xb1\\x39\\x46\\x83\\x13\\x19\\x90\\xdb\\x35\\xc9\\x3d\\xc7\\xbd\\xdc\\x4d\\x1a\\xdd\\x50\\xed\\x06\\x87\\x3b\\xdf\\x4d\\x7d\\x23\\xf8\\x97\\x1b\\xde\\x74\\x7f\\xea\\xc6\\x2f\\xbb\\xe1\\x1e\\xf7\\x53\\x6e\\x7c\\xa3\\x1b\\x18\\xd4\\xe5\\x6e\\x32\\xd9\\x0d\\xc3\\xdd\\x50\\xe4\\xae\\x61\\x70\\x2e\\x37\\x5e\\xf0\\x96\\xfb\\x73\\xf7\\xf7\\x6e\\x42\\x21\\x9f\\x72\\xc3\\x5d\\x6e\\xb8\\xdc\\x7d\\xbd\\x1b\\xaf\\x74\\x43\\x3b\\xf5\\xa7\\xf6\\x76\\x6f\\x8c\\xf9\\xcf\\x9d\\xd9\\xe4\\x70\\x43\\x1a\\xd2\\x03\\x6e\\x78\\x42\\x85\\xbb\\xc7\\x4d\\x28\\x4c\\x2c\\x66\\x6d\\x6e\\x69\\x72\\xb9\\x0b\\xdc\\x18\\x73\\x28\\x9e\\xae\\x7c\\xc8\\xc8\\x26\\x8a\\x86\\x91\\x87\\x87\\x72\\xe2\\xf2\\xdd\\xe0\\x72\\x03\\x05\\xa9\\xfb\\xce\\x0d\\x9f\\xb0\\xfc\\xf6\\xb9\\xdf\\x74\\x13\\x9a\\xa7\\x9a\\xc2\\x5a\\x56\\xa5\\x62\\x41\\x6e\\xf8\\x96\\x63\\x79\\x31\\x46\\x7b\\xde\\x4d\\xd7\\xba\\x81\\x91\\x8e\\x5b\\x68\\xe2\\x8f\\xdc\\xdf\\xba\\x31\\x7f\\xe3\\xc8\\xcc\\x69\\x7a\\xc1\\x0d\\x77\\xba\\xc1\\xef\\x6e\\x75\\x63\\xab\\x48\\xbd\\xbb\\x8a\\xaa\\x8a\\xc3\\xc0\\xc7\\x73\\xd9\\x50\\x42\\x29\\x15\\xa4\\xd2\\xd6\\xf4\\x21\\x84\\xd2\\x19\\xec\\xa9\\x2a\\x62\\xa5\\xa7\\x0e\\x2f\\x68\\xa3\\xbb\\x49\\x1b\\x2b\\xda\\xf9\\xe8\\x1b\\xed\\xf1\\xd8\\x83\\x76\\x75\\x1e\\xd8\\x0e\\x99\\xcb\\x5f\\xbf\\xf4\\xb2\\x37\\x2e\\x9a\\xb7\\xef\\xce\\xbb\\x5e\\xc4\\x18\\xdd\\xf8\\xcd\\x15\\x97\\xff\\xeb\\x7a\\x05\\x61\\xfc\\xfc\\xa7\\x9f\\xbc\\xac\\xa8\\x7b\\x0f\\x6f\\x48\\xbc\\x87\\xb7\\x53\\x5d\\x0f\\xc1\\xa1\\x98\\xc5\\x89\\x50\\x8e\\x3e\\xa7\\x9f\\xbe\\x38\\xb3\\x60\\x7c\\x3c\\xc0\\x28\\xef\\x76\\x78\\x9a\\x02\\x01\\x7f\\x66\\x6b\\x26\\xae\\xc8\\x6c\\xc8\\x5c\\x92\\xb9\\x2b\\x53\\xb0\\x66\\x8e\\xcb\\xdc\\x90\\xb9\\x25\\xf3\\x85\\xcc\\xee\\x4c\\xc9\\x40\\x32\\x25\\xeb\\xf8\\xb8\\x29\\xe6\\xf4\\x34\\x99\\x4c\\xd2\\xca\\x62\\x98\\x53\\x0c\\x93\\x8a\\x61\\x78\\x31\\x54\\x17\\x43\\x41\\x31\\x78\\x8a\\x41\\x2a\\x86\\xef\\x8b\\xe1\\xf3\\x62\\x78\\xab\\x18\\xf6\\x15\\xc3\\x53\\xc5\\x70\\x4f\\x31\\xdc\\x58\\x0c\\x57\\x16\\x03\\x85\\xef\\x28\\x86\\xc9\\xc5\\xd0\\x58\\x0c\\x35\\xc5\\x50\\xc4\\xe1\\x85\\x62\\x58\\x90\\x4a\\x70\\xa0\\x18\\xae\\x2f\\x86\\x4b\\x8b\\x01\\x96\\x16\\x43\\x5b\\x31\\xb4\\x24\\x71\\xe7\\x15\\x83\\x8d\\xc3\\x7e\\x57\\x0c\\x9f\\x16\\xc3\\x9f\\x39\\xee\\xc7\\x8a\\xe1\\x4e\\x9e\\xe0\\xf2\\x62\\x58\\xce\\x69\\xa1\\xc0\\x95\\x1c\\xd8\\x95\\x06\\xfc\\x66\\x92\\x10\\x15\\x92\\x62\\xc6\\x2a\\xea\\x58\\x31\\xa0\\x62\\xa8\\xfb\\xb6\\x18\\x3e\\xe2\\x28\\x63\\x67\\xbd\\x58\\x0c\\xd7\\x26\\x51\\xd0\\xfc\\x8e\\xf3\\x0c\\x96\\x26\\x81\\x2b\\x39\\x7c\\x0a\\xfc\\xc5\\x24\\x89\\x31\\x0e\\xdc\\xc7\\x0c\\xf4\\x1a\\x00\\x6a\\xfd\\x85\\x5d\\xf9\\xad\\xbf\\xb4\\x2d\\xbf\\x82\\x0d\\xe7\\xa2\\x0c\\x75\\x25\\x14\\x1f\\xda\\x85\\x9e\\x01\\x21\\xa7\\x8d\\xaf\\xd1\\xa3\\x2e\\x94\\x15\\x82\\x5c\\x1c\\x9c\\x2e\\x4c\\x2c\\x98\\xda\\x91\\x50\\x74\\x30\\x50\\xe7\\x8a\\x19\\x8f\\x67\\x2d\\xf2\\xec\\x3b\\x1b\\x7d\\x71\\xab\\xc3\\xe6\\x6e\\xac\\x8b\\x36\\x0a\\xb2\\x5e\\x9a\\x7b\\x6b\\x63\\xce\\x04\\x93\\xe0\\x16\\x5c\\x23\\xea\\xa3\\x8d\\x70\\x12\\x4c\\x60\\x5f\\xf8\\xfb\\x55\\x2e\\x93\\x7e\\xe8\\x90\\xc6\\xdb\\x2f\\x4e\\x7c\\x7e\\xb6\\xf2\\xbc\\xf2\\xd9\\xf9\\xbf\\xbb\\xd0\\x6b\\xd0\\x99\\x5b\\xbd\\x23\\x6e\\x5f\\xab\\x8e\\x7f\\x40\\xb9\\x30\\x40\\xf0\\xd3\\x76\\x3a\\x02\\xc1\\x58\\x66\\xbe\\x4e\\x17\\xd4\\x57\\xb8\\xdd\\x95\\x1e\\xbd\\xa7\\x3a\\x5a\\x59\\xe4\\xa7\\xcd\\x84\\x3f\\x96\\xd9\\xaf\\xc9\\xcf\\xa4\\xaa\\x40\\x6f\\x6a\\xf2\\xfb\\xcb\\x82\\x99\\x65\\x99\\x8f\\xc4\\x51\\xd9\\x9d\\x65\\x7f\\x2e\\xfb\\xb6\\x4c\\x30\\x93\\x32\\x8f\\x49\\x34\\x3d\\x12\\x17\\x19\\xa0\\xc8\\x00\\x37\\x52\\x40\\x51\\x74\\xe8\\x69\\x57\\xfa\\x11\\x4a\\xa5\\xdf\\x51\\xe1\\xb8\\xc3\\x71\\xc4\\x21\\xea\\x1d\\x2f\\x44\\x61\\x57\\x14\\xb6\\x44\\x61\\x49\\x14\\xc6\\x45\\xa1\\x22\\x0a\\xfe\\x28\\x58\\xa3\\xd0\\x1d\\x85\\x6f\\x92\\xcf\\x8f\\x47\\x81\\x82\\xdd\\x11\\x85\\x0d\\x51\\x68\\xe5\\x60\\x0d\\x1c\\x92\\x82\\xd5\\x51\\xa0\\x23\\x51\\x78\\x8c\\xbf\\x68\\xe0\\x89\\xbb\\x93\\x09\\x28\\xde\\xa5\\x51\\x68\\x89\\x42\\x65\\x14\\x7a\\x98\\xde\\xab\\x2e\\xd2\\x2b\\x8a\\x99\\xf1\\xd4\\xdc\\x42\\x69\\xaf\\x75\\xc2\\x3d\\x8f\\xd2\\xd7\\xc3\\xab\\x3e\\x78\\xbe\\xba\\xc2\\x57\\x0d\\x82\\xe9\\x51\\x97\\x00\\xd7\\x46\\x2c\\x98\\x9c\\xf1\\x45\\xe9\\xc2\\xcd\\xa3\\x66\\x15\\x8d\\x19\\x6b\\x9e\\xeb\\xb8\\x62\\x65\\xed\\xaa\\xd1\\x93\\x27\\x06\\x47\\x8c\\x75\\xce\\xb3\\xc7\\x16\\x4e\\x38\\xe3\\x1b\\xfc\\xea\\xea\\x86\\xba\\xc5\\x97\\x3f\\x77\\x7b\\x7d\\x43\\x53\\xff\\x05\\x57\\x5d\\xfa\\xeb\\x66\\xa5\\xa3\\xef\\x13\\xee\\x83\\x2c\\x46\\x57\\x0b\\x45\\xc2\\x3e\\xea\\xeb\\x2d\\x8a\\x8d\\xc0\\x92\\x53\\x6f\\x35\\x4a\\x2e\\xb7\\xc3\\x81\\x6c\\x56\\x1b\\x6d\\xcb\\xf3\\xac\\xf0\\xad\\x15\\x76\\x59\\xc1\\x66\\xa5\\x4e\\x58\\xcc\\xda\\x62\\xfd\\xc8\\x2a\\x98\\x88\\x55\\xaf\\x97\\x8d\\x26\\x23\\x75\\x31\\xf2\\x4c\\x2d\\x26\\x6c\\x35\\x1d\\x67\\x5f\\x47\\x4c\\xdd\\x26\\x42\\xfb\\x59\\x4c\\x2e\\xd5\\xc5\\xed\\xea\\x7a\\xbd\\x0b\\x7a\\xee\\x93\\xc1\\x8b\\x22\\xee\\x00\\xa1\\xed\\x07\\x09\\x3a\\xa9\\x23\\xe2\\x0c\\xd0\\x4f\\x84\\xd4\\x7f\\xa9\\x1c\\x3e\\x86\\x0d\\x89\\x47\\x0f\\xac\\x3d\\xf0\\x25\\x44\\x8e\\x25\\xbe\\xc7\\xe3\\x0f\\xac\\x23\\x0f\\x74\\x28\\x87\\x3a\\x94\\x4f\\x21\\xbb\\x03\\xaa\\x3b\\x20\\x9b\\xfa\\x26\\x7f\\x87\\xb1\\xc2\\x5d\\x02\\xe6\\xb1\\x14\\x8c\\xa8\\x3e\\xe6\\x17\\xf5\\x20\\x19\\x30\\x06\\x93\\xd9\\x60\\x34\\x12\\x89\\x2d\\x08\\xaf\\x90\\x89\\x4c\\x21\\x62\\x04\\xeb\\x08\\xab\\xa9\\xc3\\x15\\x33\\x0e\\x53\\x27\\xe8\\x70\\x4f\\x85\\x68\\x11\\xd1\\x92\\x1f\\xe6\\xa7\\x91\\x67\\xd4\\x0f\\x3c\\xd5\\xd1\\x81\\xc7\\x76\\x74\\x28\\xef\\x74\\x74\\x50\\x19\\x9f\\x45\\xfd\\xee\\x4c\\xe1\\x46\\xbe\\x1f\\x3c\\x1e\\xab\\xd5\\x49\\x7a\\xc0\\x92\\x00\\x12\\x98\\x8c\\x7a\\xc3\\x23\\x71\\xfd\\x83\\x02\\xb6\\xc4\\x25\\xc1\\x52\\x29\\xb5\\x49\\x2f\\x4a\\xe4\\x31\\x09\\xa4\\x3c\\x04\\x2d\\x42\\x9b\\x70\\xad\\x40\\xfc\\x42\\x85\\x30\\x8e\\xba\\x8f\\xbb\\x90\\xaf\\x61\\xc6\\x8c\\x48\\x24\\xf3\\xf0\\x8c\\x0b\\x4a\\x53\\x01\\x76\\xd2\\xfa\\x8b\\x4e\\x4a\\x86\\x1e\\x72\\x70\\x20\\x3a\\x8b\\xd2\\x70\\x8c\\x14\\x53\\xbf\\x71\\x4b\\x15\\x1c\\x9d\\xa7\\xac\\x56\\x56\\xcf\\x9b\\xc4\\xe3\\xbc\\xa9\\xb4\\x64\\xff\\x1c\\x2d\\xb4\\x83\\x1e\\x47\\xd8\\x52\\x89\\xda\\xd0\\x8b\\x88\\x3c\\x46\\xab\\x38\\x4f\\x12\\x5b\\x70\\x1b\\xbe\\x16\\x13\\x3f\\xae\\xc0\\xe3\\x30\\xc1\\xbf\\x48\\x4b\\x2d\\xf3\\x8f\\x81\\xb6\\x9c\\x81\\xe8\\x6c\\x4a\\xc8\\x31\\xf2\\x0c\\xee\\x1a\\xf9\\xec\\x3c\\xf8\\x15\\xfc\\x6a\\x9e\\x52\\x5a\\x95\\x38\\xc6\\xf9\\x72\\x0b\\xa5\\xa5\\x5a\\xb8\\x04\\x09\\x48\\x8f\\xfa\\xc5\\xec\\x58\\xa7\\x13\\x25\\x49\\x10\\xe9\\xbd\\xd1\\x80\\x75\\x22\\x6d\\xeb\\x0e\\xa7\\x18\\x9e\\xb2\\x50\\x11\\xbb\\x1e\\xec\\x85\\x01\\xfa\\x7d\\x0b\\x1c\\x86\\xc3\\x5d\\x4f\\xe3\\x93\\xca\\x65\\xca\\x65\\x78\\x2d\\x96\\x12\\x27\\x13\\x57\\x4c\\xc0\\x12\\x3c\\xa4\\x4c\\xe6\\xb2\\xf9\\x77\\xf4\\x1a\\xf7\\xaf\\x99\\x0f\\x82\\x68\\xf7\\x43\\x96\\x10\\xe9\\xe5\\x83\\xf0\\x28\\x3a\\xd0\\x32\\x8f\\x92\\xb7\\x42\\x99\\x8c\\x6d\\x1d\\xbc\\x6d\\xc3\\xf9\\x89\\x5b\\xc8\\x5f\\xa4\\x87\\x90\\x9b\\xfb\\xd5\\x00\\x3a\\xda\\xbd\\x37\\x8a\\x6c\\xc3\\xfe\\xe1\\xb4\\xc4\\xb4\\xbd\\xd4\\xb6\\x98\\x04\\xf3\\x43\\x45\\x6c\\xf0\\x50\\x96\\xdc\\x78\\xf7\\xb6\\x07\\xd6\\x37\\x8c\\x8e\\x14\\xe6\\x9a\\x6d\\x45\\x01\\x5b\\x81\\x5e\\x4a\\xdc\\x22\\x4f\\xde\\xf7\\x7d\\x43\\x65\\xbf\\x6a\\x83\\xae\\x24\\x14\\x0a\\x2e\\x50\\xfd\\x1c\\x31\\x71\\x0b\\xde\\x4d\\xf3\\x70\\xa1\\x0f\\x63\\x0f\\xba\\x30\\xd6\\x79\\xdc\\x2d\\x1e\\xb0\\x7a\\xfc\\x1e\\xfc\\xad\\x07\\xee\\xf0\\xec\\xf2\\xe0\\x36\\xcf\\x46\\x0f\\xf6\\x7b\\x2a\\x3c\\xe3\\x58\\x47\\x18\\x16\\xbe\\xe0\\x39\\xe2\\xc1\\x1b\\x3d\\x77\\x7a\\xf0\\x38\\xcf\\x12\\x0f\\xce\\xf3\\x54\\x7a\\xf0\\x11\\xcf\\x71\\x0f\\xbe\\xd6\\xf3\\x98\\x07\\xb7\\x7a\\x36\\x78\\x70\\xa5\\x27\\xe6\\xc1\\xc7\\x3d\\xdf\\x78\\xba\\x3d\\xe4\\x45\\x0f\\x2c\\xf1\\x6c\\xf1\\xe0\\x18\\x43\\x4b\\x3d\\x59\\x0f\\xfc\\xd9\\xf3\\x91\\x07\\x6f\\xf0\\xdc\\xe1\\xc1\\xc9\\xac\\x3e\\xf2\\x7c\\xeb\\xc1\\xbb\\x3c\\x90\\xca\\x0a\\xd3\\x8c\\x68\\xfe\\xbb\\x3c\\x2f\\x78\\xf0\\x52\\xcf\\xb5\\x1e\\x5c\\xe1\\x69\\xf0\\xb4\\x7a\\x88\\xcd\\x03\\x94\\x05\\x88\\xb3\\x20\\xcd\\x91\\x4d\\x6b\\x6a\\x92\\xb7\\xc9\\x3b\\xbb\\x23\\xe5\\xe8\\xf5\\xf4\\x40\\xbc\\x1e\\x75\\xd1\\x19\\xce\\xdf\\x76\\xf7\\xe5\\x03\\xc7\\x56\\x15\\x04\\x32\\x0d\\x7e\\xbf\\x2d\\xc7\\x2b\\x3d\\xf4\\xe3\\x03\\xaf\\xfc\\x67\\x50\\x45\\x28\\x6a\\x13\\x8a\\x0b\\x23\\x1b\\xb8\\x8f\\xf1\\x3d\\x2e\\x14\\x77\\xe3\\xa7\\x69\\xa5\\x6d\\xdf\\x4d\\xa8\\x58\\x00\\xda\\x0b\\x38\\xd6\\x1e\\x87\\xae\\x6f\\x44\\x78\\x41\\x84\\x5d\\x22\\x6c\\x10\\xa1\\x41\\x04\\xab\\x08\\x4b\\xbf\\xe1\\x37\\xf4\\xea\\x5a\\x11\\xf2\\x44\\x78\\x4c\\x84\\x98\\x08\\x36\\x5a\\x6b\\x22\\x0c\\xfc\\x56\\x84\\x17\\xf9\\xa3\\x8d\\x22\\xb4\\xf0\\x17\\x15\\x1c\\xb4\\x5b\\x84\\x23\\x22\\x6c\\x11\\xa1\\x55\\x04\\xbf\\x08\\xdf\\x24\\x51\\xf6\\x2a\\x5e\\xb2\\x4c\\xe9\\xa6\\xbc\\x27\\x28\\x22\\xa1\\x1d\\x54\\x83\\xf8\\x02\\x2e\\xdc\\xba\\x95\\xd7\\xeb\\x8b\\x89\\x6d\\x78\\xbc\\xdc\\xc4\\xfb\\x74\\x7a\\x4c\\x08\\xed\\xd4\\x29\\xe8\\x24\\x8b\\x1c\\x92\\xec\\x8f\\x45\\xec\\x41\\x78\\x71\\xeb\\x56\\xb9\\xe9\\xfb\\xd1\\x54\\xd6\\xae\\x49\\x6c\\xe3\\x65\\x14\\x51\\x7e\\xcc\\x40\\xa8\\xd3\\x0c\\xb2\\xa8\\x20\\xda\\x87\\xc3\\x4f\\xc4\\x51\\x97\\x3a\\x98\\xa0\\x6d\\x88\\x63\\x03\\xb5\\x6e\\xda\\xe9\\xc4\\xd7\\x90\\x7e\\x89\\x05\\x5b\\xf1\\xd3\\x5b\\x3b\\xcf\\x57\\xf9\\x94\\xd8\\x46\\x72\\x93\\x38\\x44\\x4c\\xbb\\xf1\\x92\\xa0\\x60\\x91\\xe3\\xc0\\x7d\\x71\\x10\\x1e\\xdc\\xc9\\x40\\xfa\\x6d\\xa5\\x34\\x9f\\xfc\\x40\\xb8\\x4e\\x95\\xf9\\x6b\\x18\\xaf\\x65\\x36\\x36\\xe0\\x67\\xfe\\xba\\x24\\xc8\\x1c\\xc1\\x53\\x0c\\xc1\\x49\\x1e\\x92\\x2d\\x45\\x04\\xf7\\xdc\\xf1\\x35\\x5b\\xf1\\x4d\\x5d\\x6f\\xcb\\x4d\\x9d\\xe7\\x6f\\xd5\\xea\\x8a\\xe4\\xf2\\xf4\\x94\\x06\\xcc\\x62\\x59\\x49\\xe4\\xe4\\xcf\\xd1\\x10\\xb1\\x1b\\xf0\\x4d\\x8c\\x06\\xe1\\xba\\x93\\x1f\\x68\\x34\\x30\\x5e\\x50\\x1c\\x32\\x2a\\x8e\\x99\\x44\\x00\\x84\\x74\\x82\\x5e\\x56\\xfa\\x10\\xd2\\x83\\xa8\\x87\\x1a\\xc6\\x14\\x4a\\x0f\\xe5\\x0a\\x27\\x28\\x9d\\x2f\\x1a\\x3e\\x0b\\x8b\\x60\\x22\\xe8\\x91\\x4e\\x52\\x28\\x5d\\x72\\x2f\\xba\\xd2\\xf1\\xa9\\xa4\\x05\\x39\\x71\\x2a\\x75\\xdf\\x8f\\xd6\\x78\\xc4\\xf0\\xf1\\xba\\x92\\x51\\x59\\xcc\\x2a\\xc8\\x32\\x22\\x84\\x23\\x64\\x21\\xc3\\x38\\x42\\xe8\\x4a\\x0e\\xbd\\xa7\\xfb\\x54\\x4c\\x44\\x38\\xcf\\xc5\\x17\\x58\\xb5\\x51\\x49\\xe9\\x3c\\x9f\\xa2\\xd4\\xe4\\x9b\\xd3\\x47\\xf1\\xd1\\x7a\\x43\\xb2\\x4c\\xf1\\x91\\x93\\xac\\xe8\\x3f\\x8f\\xcf\\xce\\x4a\\xcd\\xf9\\x77\\x13\\xa7\\x91\\x55\\x82\\x46\\x1f\\xc5\\x67\\x44\\xb5\\x31\\x97\\xa8\\xd3\\x61\\xa3\\x91\\xa2\\x34\\x23\\x93\\x81\\x96\\x59\\x67\\xc4\\x46\\x8a\\xf4\\xc9\\xb8\\xc8\\x8a\\xad\\xcd\\x92\\xa5\\xe1\\x8d\\xa4\\xa3\\x0e\\x68\\x1c\\xe0\\x2c\\x4d\\xe6\\xc0\\xa9\\x66\\xfb\\xcd\\xbf\\x87\\x0b\\xc4\\xdd\\x64\\x21\\x6f\\x3f\\xc3\\x54\\x6a\\x19\\xd9\\x82\\xa0\\x13\\x05\\x5e\\x4f\\x62\\x22\\x49\\x7d\\x67\\x72\\x2c\\x0c\\x52\\x0d\\x03\\xe3\\x05\\xa8\\x2a\\x73\\x72\\x08\\x55\\x9b\\x77\\xb6\\x6e\\x55\\x6e\\xe6\\xaa\\x83\\x30\\xbc\\x43\\xeb\\xeb\\x2f\\x5c\\x77\\x64\\x94\\x17\\xb3\\x50\\xd5\\x15\\x90\\xa0\\xd3\\xcb\\x84\\x72\\xf8\\x24\\x5b\\xff\\x9a\\x3e\\x3a\\xc4\\xf5\\x88\\x7d\\x28\\x0a\\x98\\xaf\\xea\\x93\\x7e\\x77\\x8f\\x4e\\x51\\xfa\\xf4\\xa8\\x2e\\x66\\xc5\\x92\\x64\\x94\\x59\\x94\\x24\\x83\\x51\\xaf\\x08\\x32\\x27\\x51\\x48\\x24\\x35\\xac\\x33\\x7d\\xbb\\x0a\\xa4\\x8f\\xbe\\x52\\x26\\xb8\\xd3\\xd4\\x8d\\x73\\x82\\x2c\\xdc\\x7a\\x6c\\x6b\\x57\\x3e\\xd3\\xf3\\x77\\x34\\x59\\xd0\\xa3\\xf2\\x98\\x59\\xd2\\x63\\x51\\x2f\\x1a\\xc0\\x88\\x25\\xbd\\x44\\x11\\xef\\x8e\\xeb\\xbb\\x04\\x9d\\xc2\\x16\\x09\\xa6\\x36\\xb4\\x26\\xc9\\x76\\x6b\\xb1\\xd5\\xec\\xe2\\x6e\\x25\\x87\\xa2\\xe3\\x6a\\xcc\\xf8\\x2b\\x06\\x35\\x1e\\x70\\xda\\x45\\x5a\\x8b\\x03\\x63\\x16\\xda\\x26\\x9a\\x09\\xd2\\x4b\\x48\\x32\\xd1\\x5c\\x28\\xea\\x3d\\x71\\x29\\x61\\xec\\xb1\\x10\\x1a\\xfd\\x91\\x53\\x5a\\x60\\xd5\\x54\\x68\\xdf\\xef\\x90\\xf7\\xbb\\x76\\x53\\x2e\\xe1\\xe5\\x34\\x4b\\x5a\\x88\\x93\\xcf\\x0a\\x4b\\xd4\\x72\\xa8\\x3a\\x92\\xe4\\x15\\x8f\\x65\\x6b\\x30\\x0a\\x94\\x59\\x3a\\x45\\x22\\x9c\\x57\\x52\\x27\\xd6\\xab\\xda\\x92\\x48\\xe3\\x15\\xa4\\xcf\\x1f\\xd1\\x4a\\x8d\\xaa\\x31\\xe3\\x0c\\x8c\\x4d\\xd4\\xb4\\xc0\\x05\\xb4\\x64\\x27\\x8b\\xc9\\x87\\x29\\x3d\\xfc\\x0b\\xe7\\x55\\x38\\x66\\xd3\\x4b\\x22\\x96\\xb0\\x11\\x19\\x28\\x83\\xa4\\x53\\x15\\xa7\\x17\\xb3\\x48\\x32\\x10\\x1d\\xb5\\x57\\xef\\x33\\x5e\\xa9\\x16\\x4b\\x15\\x44\\xac\\xe2\\xed\\xe1\\x95\\xce\\xc8\\x02\\x0a\\x99\\xcc\\x82\\x5e\\x6f\\x32\\xa8\\xbc\\x32\\x24\\xb0\\xac\\x70\\xb9\\x7c\\x22\\x2e\\xa6\\xf1\\xaa\\x67\\x4f\\x64\\xca\\x0f\\x88\\x02\\xfb\\x0a\\x90\\xbf\\x6c\\xed\\xda\\x8d\\x97\\x6f\\x55\\x72\\xf0\\x72\\xb2\\xf0\\x64\\xb1\\xd8\\xc8\\xcb\\xb1\\x95\\xdb\\x27\\x26\\xf7\\x54\\x3e\\xf5\\x2c\\x8a\\x07\\x95\\x2b\\xbd\\x9e\\xf2\\x4a\\xa7\\x33\\xf2\\x8a\\xa1\\x9c\\x4a\\x24\\x2d\\x55\\x67\\xca\\x52\\x95\\xf6\\xe6\\x94\\x6a\\xad\\xdc\\x49\\xfb\\xc9\\xc4\\x8a\\xd9\\xd0\\xae\\x7c\\x5a\\x38\\xd5\\x2f\\x78\\x47\\xb3\\x09\\x7a\\x54\\x12\\x33\\xea\\x44\\xac\\x17\\xf5\\x06\\x81\\x5e\\x50\\xc4\\x4f\\xc7\\xb1\\xae\\x0b\\x49\\x27\\xf9\\xda\\xd3\\xd2\\x5e\\x42\\xa5\\xea\\x2c\\xbd\\x26\\x43\\xb6\\xc2\\x89\\xae\\x82\\xad\\xc7\\xb8\\x1d\\x14\\x83\\xd4\\x12\\x52\\x99\\xd2\\xe8\\x4e\\xca\\x94\\xa8\\x33\\x8a\\x46\\xea\\xeb\\x0a\\x82\\x59\\x67\\xe4\\x14\\xeb\\x3a\\x39\\xe9\\xbb\\x69\\x25\\x4b\\xaa\\xaa\\xf5\\x22\\xbe\\x57\\x36\\xda\\xf7\\x3b\\x5b\\xc9\\xe8\\xae\\x02\\xaa\\x79\\x70\\x22\\x71\\xb5\\xdc\\x74\\xf2\\xd9\\xad\\xe2\\x31\\x5a\\x0e\\x5e\\xdf\\x70\\x01\\xb7\\xbb\\x5c\\xa6\\x24\\x8c\\x39\\x9f\\xa8\\x4c\\xc9\\x27\\xff\\xe7\\x32\\x15\\x51\\x65\\x8a\\xda\\x22\\x2e\\x53\\xe4\\xc3\\x93\\xc5\\x49\\xdf\\x80\\xdb\\x0a\\x2e\\x53\\x44\\xa2\\xcd\\x0d\\x32\\x82\\x41\\x27\\x9c\\xa4\\xf9\\x41\\x8f\\x75\\x3f\\x55\\xa6\\x40\\xc5\\xca\\x78\\xf5\\x17\\x4a\\xff\\x09\\x55\\xac\\x34\\xa1\\xe2\\xb6\\x8d\\xe3\\xd5\\x78\\x65\\xa4\\xde\\xbf\\x8e\\xca\\x94\\x1e\\x20\\x25\\x53\\x9d\\x82\\x74\\x32\\x99\\x47\\xe2\\x8c\\x32\\xc5\\xb3\\x09\\x44\\x54\\x99\\xea\\x2a\\x20\\xa3\\xb7\\x2a\\xf2\\xd6\\xc4\\xd5\\x70\\x82\\x96\\x43\\x6c\\xec\\x54\\x6d\\x5e\\x4f\\x9b\\x67\\x44\\x83\\x63\\x36\\x09\\xb3\\x00\\x4e\\x54\\x82\\xa9\\xd6\\x1b\\x95\\x9f\\x13\\xab\\x3e\\xfc\\xea\\x25\\x5a\\xa9\\xc6\\x50\\x6b\\x10\\xb9\\x74\\x31\\x6d\\x4f\\xd9\\x17\\xde\\xe6\\x18\\x51\\x24\\xe6\\x34\\x50\\x93\\x25\\xc9\\x46\\xd9\\x24\\x98\\x65\\xa3\\x82\\x74\\x7d\\x9b\\xec\\x48\\x3a\\xf3\\xd2\\xdb\\x5b\\x66\\x7a\\xb9\\xb0\\x51\\x8b\\xc2\\x2c\\xb8\\xd6\\xee\\x72\\x0b\\xcc\\xe2\\xd8\\x24\\xf3\\xa1\\xc6\\x0b\\x59\\xd1\\xc8\\x98\\xdd\\x22\\x49\\x76\\x04\\x26\\x9d\\xce\\xaa\\x07\\xbd\\xcd\\x6e\\xb2\\xf2\\x32\\x99\\x3a\\xb9\\x49\\x8e\\xe9\\xa9\\x4d\\x36\\xe0\\x93\\x7a\\xe0\\x46\\x33\\xd2\\x90\\xde\\xa9\\x48\\x9f\\x81\\x0a\\xda\\x23\\x4e\\xb5\\x79\\x52\\xbd\\x90\\x85\\x5b\\xb7\\x1e\\xe3\\x56\\x8d\\x8b\\x61\\x62\\x9b\\x7e\\x37\\x15\\xc4\\xae\\x7c\\xfd\\x6e\\x2e\\x8a\\x69\\x3e\\x00\\xe3\\xaf\\x83\\xf1\\x97\\x1a\\x07\\x33\\x15\\x46\\xda\\x26\\xa6\\x8b\\xa3\\xf1\\x14\\x71\\xec\\xcb\\xdf\\x1e\\x81\\x0c\\xa6\\x44\\x32\\x29\\x93\\xdf\\x8f\\xa6\\x96\\x4e\\xb3\\x47\\x1a\\x6f\\xfb\\xc7\\x1c\\xd4\\xce\\x19\\x8c\\x92\\x91\\xb6\\xbf\\x46\\x49\\xd1\\x9d\\xe2\\x75\\xf4\\x62\\x6d\\x9a\\xe7\\xc1\\x38\\x6b\\xa0\\x72\\xc9\\x5b\\xb5\\x94\\x07\\x22\\x06\\x19\\x63\\x49\\x2a\\x0f\\x95\\xaf\\x8d\\x31\\xbb\\x44\\x8b\\x64\\xc4\\xc4\\x48\\x6c\\x76\\xd9\\x6c\\xb6\\x59\\x4d\\x5c\\x48\\xad\\x09\\x62\\x54\\x92\\x6d\\x51\\x27\\x12\\xb8\\xd1\\x38\\x9d\\xa4\\xa6\\xb7\\xa5\\xac\\x1b\\xad\\x1a\\xc1\\x21\\xbc\\x59\\x66\\xd2\\xba\\x95\\x5b\\x42\\xb5\\x71\\xa5\\x42\\xab\\xd9\\x42\\xac\\xfa\\x1a\\xd4\\xf6\\xb2\\xb2\\xc6\\xb8\\x37\\x64\\x32\\x1b\\x09\\x31\\xeb\\x28\\x6b\\xf5\\x3a\\xb5\\x4a\\xf5\\x9d\\xe9\\xbe\\x51\\xa2\\x67\\xb3\\x51\\xef\\x18\\x85\\x3d\\x1e\\x92\\xe6\\x19\\x50\\xa9\\x4d\\x2c\\x10\\x5f\\xa0\\xcc\\xa5\\x55\\x49\\x3e\\x64\\x7c\\xe8\\xe5\\x7f\\x19\\x51\\x75\\xcc\\xa9\\x33\\x0a\\x4c\\x6e\\x09\\x65\\xaf\\x64\\x50\\x74\\xa7\\xf8\\x60\\x9a\\xde\\xdb\\x7b\\xb5\\x26\\xa9\\xc6\\x97\\xe6\\xa2\\xb6\\xbe\\x9a\\x37\\xa6\\xf9\\x36\\x24\\x55\\x2e\\xa6\\xff\\x56\\x74\\x76\\xcc\\x61\\xd6\\xe9\\xec\\xd4\\x0c\\x4b\\x58\\xb2\\xd9\\x2d\\x84\\xd8\\xac\\x16\\x6e\\x8a\\xad\\x9d\\x7a\\x22\\x10\\x7e\\x29\\x09\\x09\\xa3\\x26\\xb7\\xc9\\x75\\x17\\xe9\\x1c\\x4e\\x49\\x2e\\x65\\x6c\\x44\\xd5\\x1d\\xda\\x2d\\xa6\\x92\\xcb\\x18\\xab\\x0a\\x2f\\x5e\\x7e\\x72\\x08\\xad\\xd7\\x0f\\x59\\x79\\xc5\\x63\\xb4\\xb4\\x9a\\x8f\\xa5\\xc9\\x12\\xe5\\xaf\\x6c\\x34\\x9a\\xa9\\x87\\x68\\x32\\x23\\x9d\\xae\\x87\\xbf\\x89\\x74\\x5f\\xb1\\xb3\\x2f\\x7f\\x7b\\x76\\x1b\\x24\\xdd\\x3a\\xce\\x5f\\xee\\xd6\\x69\\xce\\x17\\xf9\\x90\\xea\\x89\\xe6\\x80\\xf5\\xf8\\xa3\\x9c\\xbf\\x6a\\x99\\x4d\\x4c\\x7c\\x65\\x72\\x52\\x7f\\x8a\\x4f\\x7a\\x5a\\xfe\\x6a\\xe5\\xa5\\xb9\\x70\\xc3\\x0a\\x27\\x52\\xa6\\x95\\x77\\x13\\x18\\x7f\\xd3\\xda\\x22\\xce\\x5f\\xc1\\x6a\\xb5\\x53\\xdf\\x54\\x34\\x8a\\x36\\xbb\\xde\\x64\\xb2\\x99\\x4d\\x9c\\xa9\\xe6\\x04\\x6d\\xf8\\xf4\\x6a\\xab\\x67\\xe8\\xec\\x69\\xf5\\xce\\xc8\\xdf\\x54\\xdb\\x14\\x0d\\xb0\\x62\\x72\\xdb\\x94\\xb8\\x5a\\x93\\x62\\x25\\x47\\x7c\\x81\\x1b\\x42\\x61\\x09\\x15\\x62\\x6a\\x88\\xb7\\xa2\\x34\\x7f\\xd9\\x89\\x26\\xc7\\x32\\xcd\\x7a\\x1b\\xb5\\xbf\\x4e\\xa7\\xcb\\x6d\\xb4\\x5a\\xdd\\xd4\\x42\\xb8\\x1c\\xd4\\x42\\xb0\\x4d\\x20\\x5c\\xa1\\xf4\\x62\\xa7\\x4d\\x15\\xb1\\x27\\xe3\\x66\\x26\\xcb\\x1a\\x2d\\xbd\\x1d\\xe9\\x94\\x33\\xdd\\xd7\\x66\\xa4\\x4c\\x73\\xca\\x76\\xa4\\x0c\\xb4\\x66\\x43\\x34\\x2b\\xcd\\x5d\\xa6\\x5e\\xb4\\x9d\\x1d\\xf3\\x39\\xf4\\x7a\\xab\\x89\\x76\\xaa\\x9c\\x3a\\x93\\xce\\x25\\xb8\\xcd\\x2e\\x64\\xa3\\x35\\x62\\xb6\\x98\\x39\\x69\\x0e\\x6c\\xe9\\x62\\xc6\\x9b\\x31\\x28\\x72\\x6a\\xd5\\x44\\xd2\\xd5\\xbc\\x47\\x03\\xb4\\x66\\x30\\x69\\xc3\\x8f\\x51\\x71\\x64\\x75\\xa6\\xd9\\x71\\xb5\\xd2\\x78\\xdd\\xa9\\xf1\\x17\\x92\\xf4\\xb0\\x7a\\xb3\\x23\\x2f\\x6a\\x8f\\x65\\x0a\\x16\\x8b\\xcf\\x65\\x34\\x7a\\x75\\xd8\\x6a\\x15\\x4d\\x3a\\x53\\x86\\xcf\\xad\\xd7\\x67\\x88\\x6e\\x8f\\x9b\\x89\\xa7\\x31\\x8e\\x3d\\x9d\\xc8\\x71\\xd2\\x9a\\xac\\x46\\x93\\x21\\x61\\x97\\xd3\\xd5\\x44\\xbb\\x48\\x0f\\x50\\x61\\x8f\\xa4\\x45\\x94\\x54\\xc9\\x25\\xe9\\x8a\\x13\\xd1\\xac\\x13\\xab\\xda\\x63\\x69\\x0a\\xa4\\x55\\x33\\xaf\\xe2\\x93\\xcf\\xaa\\x8a\\xc4\\xed\\x15\\x1f\\x07\\x42\\x78\\xb1\\xf8\\x30\\xb7\\x99\\x8e\\xa7\\x59\\xe8\\x4f\\x7c\\x12\\x50\\x45\\x43\\x2a\\xf0\\xa7\\x3d\\x20\\x3e\\x7c\\xf2\\x1c\\xf1\\x61\\xbc\\x58\\x78\\x4f\\x85\\xa7\\x65\\xa5\\x77\\x3d\\xf0\\x4c\\xbb\\x2b\\x4e\\x81\\x4f\\x6c\\x13\\xde\\xed\\x81\\xe7\\xf8\\x9d\\x7b\\x34\\xfc\\x4a\\x4f\\xac\\xd0\\xf4\\x04\\xfa\\xdd\\x1a\\x3c\\x7e\\xeb\\xb4\\xf0\\x3c\\x82\\x3d\\x85\\xc7\\x6f\\x25\\x4a\\xe8\\x47\\x85\\xc7\\x47\\xd3\\xf0\\x83\\x80\\xc4\\x53\\xe1\\x29\\xee\\x14\\x7c\\x09\\x9a\\x97\\xf8\\x8f\\xf8\\xb0\\x74\\xb7\\x36\\xbe\\x69\\xa5\\x32\\xe4\\x45\\x59\\x7c\\x47\\x54\\x32\\x72\\x42\\x2d\\x1a\\x88\\x1a\\xd0\\x30\\x34\\x12\\x8d\\x46\\xe3\\xd0\\x44\\x34\\x05\\x9d\\x8b\\x5a\\xd1\\x6c\\x34\\x0f\\x2d\\x42\\x4b\\xd0\\x32\\x74\\x11\\x5a\\x8b\\x36\\xa0\\xcb\\xd0\\xaf\\xd0\\x66\\xb4\\x05\\x6d\\x43\\x37\\xa1\\x5b\\xd1\\x1d\\xe8\\x6e\\x74\\x3f\\x42\\xce\\x88\\x3b\\x58\\xa8\\x7d\\xc4\\xb4\\x6b\\xf9\\xbf\\x78\\xee\\xfd\\x3f\\xc0\\xc3\\xcf\\x5c\\xdb\\x4f\\xf3\\x99\\x37\\x7f\\x3e\\xec\\xa0\\x9f\\x3b\\xe7\\xcd\\x4b\\x6c\\xa5\\xbf\\x77\\xa8\\x9f\\x23\\xf3\\xe6\\x29\\x6d\\xf3\\xe7\\x2b\\xed\\xf3\\xe7\\x0b\\x66\\xfa\\x3b\\x4b\\xfd\\x1c\\xe9\\x81\\x3e\\x72\\xda\\xa7\\x67\\xc0\\x71\\xa4\\xe7\\x69\\xd7\\xcb\\x3d\\xd7\\x9d\\xff\\xee\\x49\\xc9\\x7e\\x7b\\xfe\\x89\\xf9\\xed\\xec\\xdf\\xac\\xb6\\x9e\\x7f\\xb3\\x4f\\xbd\\x9e\\xc5\\xfe\\xb5\\xcf\\x64\\xff\\xda\\xf9\\xb5\\xfa\\x58\\xfe\\x8a\\x27\\x86\\x20\\xbf\\x53\\x8e\\xb7\\x2b\\xc7\\xdb\\x94\\x0f\\xe8\\xdf\\x2c\\xe5\\xc3\\x59\\xf2\\xd7\\x6d\\x68\\x12\\x95\\xad\\xff\\xff\\xd5\\xfd\\xc3\\x68\\x17\\x7a\\x12\\xed\\x41\\xcf\\xa1\\x17\\xd0\\x2b\\xe8\\x55\\xf4\\x1a\\x3a\\x82\\xde\\x40\\xc7\\xd0\\x7b\\xe8\\x38\\x3a\\x81\\xfe\\x8a\\xbe\\x40\\xdf\\xa0\\x7f\\xa3\\x1f\\x68\\xa7\\xb4\\x1b\\x08\\xc8\\x60\\x04\\x2b\\x38\\xc1\\x0b\\x59\\xe0\\x87\\x20\\x84\\xa0\\x14\\x2a\\x20\\x02\\xb5\\x30\\x10\\x1a\\x60\\x18\\x8c\\x84\\xd1\\x30\\x4e\\x95\\xa7\\xda\\xd3\\x7c\\xc4\\xff\\x0f\\x9e\\x17\\xf6\\x79\\x96\\x94\\xc5\\xd0\\x69\\x3e\\xf2\\x19\\xf0\\x78\\xff\\x87\\xf0\\xf0\\x3f\\x7c\\xee\\xd4\\x70\\x79\\x7f\\xe1\\xd7\\xae\\xc1\\xce\\xe3\\x42\\x49\\xff\\xfe\\xcc\\xff\\xe8\\x45\\xe7\\xd5\\x54\\xa8\\xd5\\x3f\\xf5\\xe9\\xbc\\x79\\x5d\\xd3\\xfe\\x0f\\x50\\xb0\\x23\\x1d\\xe6\\xe5\\x79\\xf3\\xc8\\xbd\\xbd\\x81\\xe8\\xdf\\xbc\\x53\\x90\\xcd\\xfb\\x2f\\x60\\x3a\\xff\\xfd\\xdf\\xd0\\xa0\\x26\\x9d\\x77\\xa6\\x6f\\xf6\\xab\\x69\\x59\\xfb\\x29\\xba\\xd6\\x76\\x06\\xbd\\x3b\\xe3\\xf3\\x59\\x3d\\xff\\x54\\x7d\\x9c\\x99\\xa6\\x95\\xb3\\xd2\\x74\\xb3\\x97\\x86\\xb6\\xa7\\xeb\\x69\\x5b\\x52\\x5b\\x67\\x69\\xc8\\xe9\\x87\\x22\\x63\\xb7\\x14\\x9c\\x02\\x21\\xaa\\x8d\\xac\\x0d\\x39\\x4a\\xf5\\xf6\\x6c\\x34\\x06\\x8d\\x47\\xe7\\xa0\\x38\\x9a\\x81\\x66\\xa1\\xb9\\x68\\x01\\x5a\\x8c\\x2e\\x40\\x2b\\xd0\\x6a\\xb4\\x0e\\x5d\\x82\\xae\\x40\\x57\\xa1\\x6b\\xd0\\x56\\x74\\x03\\xda\\x8e\\x6e\\x47\\xbf\\x45\\xf7\\xa2\\x07\\xd1\\x23\\xe8\\x71\\xb4\\x1b\\x3d\\x83\\x7e\\x8f\\x5e\\x42\\xfb\\xd1\\x41\\x74\\x18\\xbd\\x8e\\x8e\\xa2\\x77\\xd0\\x07\\xe8\\x63\\xf4\\x19\\xfa\\x3b\\xfa\\x0a\\xfd\\x13\\xfd\\x07\\xfd\\x84\\x12\\x00\\x20\\x82\\x1e\\xcc\\x60\\x07\\x37\\xf8\\x20\\x07\\x02\\x50\\x08\\xc5\\x50\\x0e\\xfd\\x21\\x0a\\x75\\x30\\x08\\x86\\xc0\\x08\\x38\\x1b\\xc6\\x00\\x0b\\x3a\\x41\\x9d\\x83\\x68\\xf0\\x34\\x9f\\x88\\xfb\\x4c\\x9f\\xa0\\x9b\\xf6\\x22\\x4e\\xfd\\x40\\x1f\\x40\\x2f\\x7d\\x16\\x4a\\xfb\\xc8\\x7d\\xde\\x8b\\xf4\\x59\\x6d\\xfa\\x3d\\xfd\\x04\\xe8\\x47\\x8e\\x06\\xdd\\x85\\xf4\\xd7\\x49\\x7f\\x83\\x69\\x9f\\xbe\\xe9\\x7f\\xf1\\x7d\\x9f\\xfc\\xa1\\xef\\x7d\\x1f\\x3a\\x93\\xe9\\x65\\x8d\\x2e\\x46\\x8f\\x97\\xe2\\xf5\\xf6\\xc1\\xef\\xec\\x7b\\xaf\\xa5\\x4f\\xfe\\x8a\\x47\\x4f\\x96\\x2e\\xec\\xf9\\xb7\\x88\\xfd\\x67\\xff\\x92\\xbf\\xc9\\x7f\\x27\\x6f\\xe8\\x79\\xf4\\x16\\xfd\\x5b\\xb8\\xf0\\x28\\xfd\\xd3\\x9e\\x25\\xfe\\xb1\\x50\\x7b\\xd9\\xf5\\xd0\\x22\\x68\\x58\\x74\\x74\\x11\\x3c\\xbc\\xa8\\x07\\x4d\\x1a\\xae\\xde\\xf7\\x29\\x44\\xd8\\xc3\\x6f\\x8e\\xf2\\x3f\\xfc\\x05\\x83\\x48\\x65\\xb0\\x88\\xe1\\x56\\x26\\xd3\\x37\\x47\\x93\\xa9\\x53\\xbf\\x0c\\x66\\x11\\x4f\\x94\\xd8\\x06\\xf9\\xb3\\xd8\\x5f\\xb0\\x0d\\x02\\xed\\xfc\\xaf\\x97\\xf6\\xbc\\x94\\x6a\\x94\\xe8\\xdf\\x4c\\xfa\\x2d\\x2d\\x4c\\xbe\\x7a\\xb1\\xaf\\x42\\xbe\\x98\\xbc\\x78\\x25\\x5d\\x4f\\x4e\\xd1\\xb7\\x9e\\x47\\x29\\x28\\xe9\\x70\\x52\\xc7\\x92\\x9a\\x4e\\x73\\xd5\\xb2\\x98\\x95\\x42\\xad\\xa2\\x7d\\x29\\x85\\x4c\\x45\\xd4\\x83\\x80\\x27\\x56\\xd7\\x0b\\xae\\x45\\x2b\\x84\\x69\\xc2\\x24\\x7e\\xa6\\x19\\xc1\\x82\\x48\\xf8\\x99\\x66\\xda\\x21\\x6b\\xd4\\xc3\\x5a\\x4b\\x8e\\x77\\x05\\x84\\x49\\x5d\\x01\\x84\\x11\\x8b\\xae\\x7d\\x44\\x38\\xc8\\xdb\\xd8\\xdc\\x98\\x49\\x40\\x32\\x20\\xd0\\xe9\\xa9\\x67\\xc6\\xa6\\x17\\x3f\\x38\\x9c\\xbe\\x86\\x91\\x26\\x75\\xda\\x03\\x76\\x49\\x38\\xd8\\x59\\xdb\\x2c\\xf4\\x67\\x3f\\xc2\\xba\\xce\\x23\\x42\\x7f\\x36\\x77\\x0e\\x1b\\xf0\\x02\\xb2\\x96\\xe7\\x89\\x89\\x20\\x02\\x4e\\xce\\x4e\\x6a\\x5e\\xe0\\x02\\x45\\x80\\x2e\\xd8\\x40\\xbb\\x5c\\x7c\\xee\\xb6\\x07\\x9e\\xe7\\x2b\\x12\\x09\\x13\\xac\\xd7\\xc9\\x20\\xe1\\xbe\\xf9\\x82\\x16\\x25\\x5d\\x45\\xd1\\xac\\xdc\\xc6\\xb0\\x28\\x2d\\x30\\x47\\xb9\\x4d\\x2d\\x2f\\xfd\\xa7\\x43\\x78\\xbe\\x7a\\x86\\x1b\\x12\\x05\\x02\\x3d\\xe5\\xa5\\xe9\\x02\\x3a\\xf4\\x23\\x7d\\x9d\\xb8\\x99\\x8d\\x49\\xee\\x40\\x48\\x6a\\x16\\x1e\\x65\\x11\\xc1\\x77\\x23\\x4a\\x28\\xa4\\xf1\\x26\\xa0\\xa7\\xef\\xf1\\x54\\x3c\\x59\\x78\\xb4\\x73\\x02\\x85\\xdd\\xda\\xfd\\x99\\x34\\x4d\\xd8\\xa9\\xc2\\x02\\xd1\\xce\\x86\\x53\\x61\\xf5\\x18\\xb6\\x72\\x06\\xec\\x4c\\xec\\x48\\xdc\\xaa\\x8e\\x77\\xee\\xa0\\xf0\\xcd\\xc2\\x36\\x0e\\x8f\\x51\\x6f\\xdc\\x7a\\x2c\\x35\\x27\\x1e\\x4a\\x3c\\x20\\x6c\\xeb\\x9c\\x20\\x3c\\xaa\\xc2\\xa7\\xe3\\xef\\x0b\\x4f\\x0d\\x9b\\x34\\x8d\\xa1\\xef\\xac\\xc3\\x73\\x29\\x84\\x8e\\x76\\x38\\xbf\\x16\\xef\\xa4\\x7d\\x16\\x3d\\x4c\\x8c\\xfd\\x4b\\xcf\\x17\\xbb\\x1a\\x0d\\x58\\xd4\\xcb\\x02\\x48\\x04\\x74\\xe0\\x5e\\x6e\\x84\\x39\\x46\\x88\\x19\\xa1\\xda\\x08\\x05\\x46\\xf8\\xce\\x08\\x9f\\x1a\\x61\\x9f\\x11\\x1e\\x33\\xc2\\x9d\\x46\\xb8\\xde\\x08\\x97\\x1b\\xa1\\xcd\\x08\\x93\\x8c\\x30\\xdc\\x08\\x79\\x46\\x70\\x19\\x41\\x30\\xc2\\x82\\x37\\x39\\x90\\xfa\\xfa\\x5c\\xfe\\x8e\\x26\\x46\\xc9\\xf4\\x6f\\xf2\\xf4\\xf7\\x70\\x80\\xa5\\x3c\\x83\\x49\\x1c\\xc0\\x95\\x7c\\x7b\\x4f\\x32\\x2d\\xcd\\xbe\\x85\\x27\\xa7\\xd9\\xdb\\x8c\\xb4\\xfe\\x8d\\x50\\xf7\\xad\\x11\\x5e\\xe4\\x08\\x36\\xf2\\xd4\\xe3\\x8c\\x50\\xc9\\x57\\xf6\\xd3\\xe7\\x1f\\x19\\xe1\\xcf\\x9c\\xb0\\x6b\\x39\\x55\\x34\\x69\\x05\\x4f\\xf7\\x0d\\x7f\\xbe\\x8b\\x6f\\x09\\x58\\x62\\x84\\xd6\\x64\\x92\\x53\\x96\\x0a\\x9d\\x76\\xc5\\xe1\\x69\\x16\\x11\\x9d\\x66\\x4f\\xb0\\x1a\\xf1\\xc0\\x5b\\x97\\x26\\x64\\x81\\xa0\\x1e\\x22\\x7a\\x01\\x07\\x27\\x28\\xb5\\x70\\x70\\x02\\xbc\\xa6\\x58\\x94\\x1d\\xd0\\x0e\\x6d\\xf8\\x08\\x7e\\x3d\\xd1\\x1f\\x47\\x13\\xaf\\x25\\x5e\\xc6\\x83\\xb9\\xec\\xde\\x8f\\xee\\x12\\xc2\\x42\\x31\\xdf\\x77\\x49\\x65\\xd7\\x86\\x32\\x74\\x48\\x97\\x17\\x70\\x99\\xb2\\x05\\x2a\\xbb\\xef\\xf7\\xd2\\x99\\xe4\\x92\\x34\\x1e\\x86\\x38\\x0c\\xb5\\x2e\\xb6\\x96\\x85\\x6d\\xc3\\x52\\x23\\x5e\\xdf\\xbf\\xea\\xf5\\xd5\\x6b\\xfe\\xb2\\x7a\\xf5\\xeb\\x6b\\xd7\\xfc\\x79\\xd5\\xe4\\xf6\\xfb\\x67\\xb7\\x3f\\x38\\xa7\\xfd\\xe1\\xf6\\x59\\x0f\\xb6\\xe3\\x39\\xec\\xf9\\x1b\\xf4\\xd5\\xaa\\x55\\x7f\\x5e\\xd3\\xfe\\xe0\\xac\\xb6\\x87\\xda\\xe9\\x9b\\x76\\x1e\\xcf\\xcc\\x86\\xda\\xd1\\x64\\xa1\\x55\\x98\\x40\\xb5\\xc7\\xca\\xf7\\x5b\\x85\\xa8\\x3f\\x5c\\x4b\\x7d\\xe1\\x91\\xd4\\x0f\\x9e\\x42\\x7d\\xe0\\x79\\xd4\\xff\\xbd\\x88\\xfa\\xbe\\x8f\\xc7\\x66\\x4d\\x3a\\xef\\xac\\x8b\\x5b\\xe6\\x0f\\x58\\x55\\xb6\\xbc\\xdf\\xd2\\x82\\x39\\x79\\x6d\\xa6\\x66\\x5d\\x93\\x30\\xdc\\x55\\x8d\\x62\\xb6\\xca\\x8c\\xca\\xec\\x58\\xf5\\xf0\\xa6\\xe6\\xb6\\x39\\x4b\\x97\\xaf\\x9a\\x7f\\xf1\\xd4\\xf3\\xa6\\x3b\\x36\\x5e\\x32\\xea\\xc2\\x0b\\xc7\\xae\\x1c\\xba\\x66\\x4d\\xe3\\xfa\\xaa\\x85\\x0b\\x6b\\xce\\xcf\\x9c\\x36\\x2d\\x77\\xa6\\x63\\xc2\\x04\\xcf\\x64\\x5c\\x5f\\x2f\\x0d\\x36\\x94\\x94\\x58\\xc2\\xe1\\xc1\\x93\\x67\\x9e\\xbf\\x7e\\xa5\\x5c\\xd4\\xd1\\x9e\\x5f\\xc4\\x96\\x61\\xa5\\x6d\\xcc\\xfb\\xd9\\xaf\\xd3\\xee\\x6f\\x8a\\xf4\\x5a\\x99\\xef\\x0a\\xe6\\x47\\xab\\x23\\x55\\x21\\xed\\xd7\\xa9\\xfd\\x7a\\xb5\\xdf\\xe4\\x7b\\xb9\\xcf\\x7d\\xdf\\xdf\\xbe\\xef\\xfb\\xde\\x17\\xf6\\xc1\\x9f\\xcc\\x8f\\xbc\\x5d\\x3d\\x60\\x40\\xf5\\xf5\\xec\\xeb\\x87\\xda\\x68\\x6d\\xb4\\x80\\x5d\\x29\\xb5\\x35\\xf4\\xdf\\x23\\xb5\\xd1\\x68\\x2d\\x9e\\xc0\\xbe\\x13\\x99\\xec\\x01\\xbe\\x2c\\x05\\x9b\\x78\\xb4\\x7a\\x40\\x4d\\x0d\\x07\\x86\\x3f\\xb0\\x77\\xca\\x74\\xf6\\xfd\\x03\\x03\\xbe\\x9e\\x5d\\x91\\x1b\\xe9\\x57\\x19\\xbd\\x53\\xde\\xa8\\xad\\x8d\\x9e\\xa0\\x37\\xb0\\x8d\\x5e\\x4c\\x63\\xc8\\x2e\\xa2\\x5f\\xf0\\x4c\\x4d\\xa4\\x2e\\x31\\x9c\\x5e\\x6d\\xaf\\xae\\x1e\\x80\\xb3\\x35\\x20\\x85\\xd0\\x8b\\x4f\\x59\\xb2\\xa3\\x03\\xaa\\x07\\x94\\xd0\\x0b\\x6e\\xf3\\x9e\\x40\\x57\\x09\\x41\\x72\\x12\\x99\\xd9\\xdc\\xbc\\x41\\xb0\\x58\\x65\\x2b\\xb3\\x84\\x15\\x33\\x52\\x46\\x97\\x4b\\x1d\\x0a\\xe6\\x23\\xb6\\x29\\x19\\x2f\\x3c\\xff\\x9d\\x0b\\x15\\x65\\xcf\\xd3\\x8a\\xb2\\xe4\\x18\\x39\\xb9\\xfc\\xdd\\x85\\x7b\\x14\\x05\\xc8\\xd3\\xe7\\x1d\\xbd\\x48\\xb5\\xc7\\xc5\\xb4\\x1d\\xd8\\x29\\x5c\\xc6\\xf7\\xbb\\xb1\\x76\\x00\\x4c\\x18\\x83\\xcb\\x6d\\x03\\x1d\\xea\\x6b\\x8f\\x23\\xd4\\xa6\\x42\\x1f\\x39\\x2e\\x16\\x2e\\xeb\\x12\\x56\\xbe\\x76\\xd1\\xca\\xc3\\x2b\\x57\\x1e\\xa2\\xdf\\x2b\\x84\\xcb\\x3a\\xd7\\xe1\\x21\\x2b\\x0f\\xad\\xa4\\xd7\\xf4\\xe1\\x45\\x87\\x28\\xe6\\xf4\\x3c\\x82\\xec\\x9c\\x28\\xc1\\xe5\\x02\\x53\\x76\\x36\\xcd\\xa9\\xa0\\xd0\\x96\\x41\\x75\\x88\\x95\\xe0\\x83\\x0f\\xfe\\x64\\xfb\\xe0\\x4f\\x7d\\xa6\\x00\\x79\\x9e\\x7d\\x74\\x29\\x74\\x1a\\x1a\\xc6\\xb7\\x3f\\x34\\x6b\\x16\\x55\\x14\\xfe\\x3d\\xe6\\x54\\x82\\x52\\xef\\xe8\\x77\\x3a\\x71\\x9c\\x07\\xcb\\xe0\\x0a\\x3c\\x9b\\xac\\xa0\\x3c\\xf5\\x31\\x1e\\x58\\x10\\xdb\\x94\\x96\\x95\\xe9\\x25\\x76\\x43\\x5f\\xbd\\xe6\\x6b\\x92\\x93\\xdb\\xed\\x3c\\x72\\x5a\\xdc\\x27\\x3c\\xfb\\xa6\\x59\\xc3\\x97\\x0e\\xdf\\x36\\x77\\xde\\xc8\\x51\\xcd\\x1d\\x8d\\x8d\\x1d\\xed\\xa3\\xc6\\xb4\\xe2\\x75\\x8b\\xae\\x19\\x72\\xe1\\x88\\x79\\x5b\\x47\\x8d\\x9c\\xd7\\xd8\\xd1\\xd1\\x38\\x72\\xee\\x02\\x24\\xc2\\xe3\\xd4\\xfe\\xaf\\xa6\\xf6\\xdf\\x88\\x32\\x50\\x01\\xaa\\x44\\xf5\\x68\\x49\\x2c\\xe6\\x94\\xea\\x7d\\xfe\\x9a\\xd2\\x42\\x13\\x42\\x85\\x7e\\x49\\x18\\x78\\x56\\xbf\\xec\\xfc\\x70\\x7e\\xb4\\xff\\xfc\\xfe\\x10\\xef\\x0f\\x23\\xfb\\x83\\xaf\\x3f\\xf4\\x8f\\x0c\\xb0\\xe6\\xb7\\xe6\\x2f\\xc9\\x27\\xba\\x01\\x31\\xbd\\xa5\\x29\\x7f\\x40\\xfe\\x00\\x62\\x65\\x93\\x11\\x1e\\xd6\\x6a\\xbf\\xcf\\x96\\x77\\xd5\\x55\\x54\\x94\\xce\\x9c\\x61\\x3b\\x1c\\x61\\x56\\x8f\\x11\\x6d\\x3b\\x5c\\xd5\\x73\\x00\\x5d\\x72\\x14\\xcd\\x85\\xe4\\x7c\\x14\\xaa\\x66\\x1b\\x45\\xe5\\x6a\\x14\\x62\\xcb\\x7e\\x5c\\xc8\\x5b\\x85\\xce\\x74\\x16\\x2f\\x8b\\x94\\x5d\\xeb\\x65\\xab\\x84\\xa4\\xd5\\xca\\xcd\\x5d\\x09\\xe5\\x16\\xa0\\x46\\x12\\xd3\\xff\\xed\\xd3\\x94\\x3f\\xbd\\xfd\\xee\\x4d\\xdb\\xa1\\xea\\xed\\x77\\xa0\\x32\\x71\\x6e\\x38\\x2f\\xaf\\xbc\\x3c\\x2f\\x2f\\x0c\\x6f\\x94\\xe5\\xe5\\x55\\x54\\xe4\\xe5\\x95\\x25\\xfe\\xd1\\xbc\\x6d\\x6b\\xf3\\xe0\\xf6\\x67\\x9e\\x69\\xc7\\x4d\\x0a\\x6d\\xc6\\xa1\\x23\\x71\\x12\\x16\\x2a\\x37\\xfc\\xf4\\x0e\\x54\\xc1\\x2d\\xdb\\xdf\\x79\\x5b\\xf9\\x13\\x40\\x35\\x4c\\xce\\x0b\\x27\\x13\\xf3\\x5f\\xe5\\x85\\xab\\xae\\x0a\\x3e\\xfb\\x2c\\x1f\\xbb\\x83\\xd7\\x29\\xcf\\xb6\\x73\\x9e\\xb1\\x58\\x01\\xe5\\x68\\x4e\\xac\\xae\\xc0\\xe4\\xe8\\x97\\x9b\\xe1\\xc8\\x90\\xa8\\x33\\x13\\xae\\x08\\xb8\\xad\\x59\\xd6\\xe2\\xf2\\xf9\\xe5\\x10\\x2f\\x87\\xd1\\xe5\\x30\\xa8\\x1c\\xca\\x4b\\x8b\\xac\\x56\\xbf\\xb5\\xd5\\xba\\xc4\\x2a\\xe8\\xc6\\x15\\xb5\\x16\\x61\\x6b\\x91\\xb5\\x88\\x1d\\x1d\\x77\\x88\\x47\\xbd\\xa1\\x6c\\xfa\\x53\\x0f\\x9b\\xfe\\x54\\x95\\xdc\\x1c\\xd0\\xb3\\x36\\x2e\\x8d\\x4d\\x62\\x5a\\x5d\\x17\\xa6\\xc7\\xfb\\x62\\x9c\\x09\\x71\\xce\\x6c\\xef\\xc3\\x99\\x04\\x3a\\x0d\\x33\\x1e\\x65\\x7c\\x18\\xdc\\xbc\\x75\\x5b\\x73\\x6f\\x66\\xac\\x49\\x2b\\x39\\xfb\\x55\\xde\\x7f\\xf6\\xd9\\xe0\\x55\\x57\\xb1\\xf9\\xae\\xc6\\xee\\x65\\x92\\x45\\x18\\x88\\x4a\\xa8\\xa5\\x3f\\x2b\\x56\\x10\\x0e\\x46\\x0d\\x41\\xc3\\x80\\xba\\xfe\\x1b\\x7d\\x7f\\xf6\\x7d\\xe4\\x23\\x1b\\x7c\\x50\\xe9\\x83\\x0a\\x1f\\xf8\\x4a\\xad\\x25\\x0d\\x25\\xe3\\x4a\\x88\\xae\\x84\\x2f\\xf7\\x7b\\x9f\\x95\\xad\\x97\\xf4\\xb2\\x3d\\xa3\\xec\\x28\\x5a\\x0f\\xeb\\x71\\x4b\\xec\\x44\\x5a\\x0b\\x96\\xdd\\x2c\\xd0\\x8a\\x1c\\xaa\\x2d\\x0a\\x05\\xa3\\x91\\x1a\\x76\\x58\\x6d\\x4d\\xad\\x57\\x2b\\x1e\\x0f\\xf7\\x4f\\xae\\x1a\\x3a\\x74\\xf6\\x59\\xcf\\x96\\xef\\x9d\\x2c\\x1d\\x3b\\x66\\x1f\\xbd\\xb7\\xff\\xd3\\x05\\xa3\\x06\\x47\\x87\\xae\\x9e\\xf3\\xbb\\xd2\\xa7\\xc7\\xda\\x8e\\x1d\\x33\\xb5\\x3c\\xd5\\xef\\xf7\\xe7\\x5f\\xe0\\xdf\\xfc\\xd2\\x2b\\x57\\x6d\\x6e\\x9b\\xbd\\x4f\\x18\\xf8\\x8e\\x14\\x2a\\x7f\\xba\\x7c\\xef\\x05\\xcb\\x07\\xaf\\x6b\\xa3\\x40\\x99\\x25\\x36\\xdd\\x3b\\xef\\xd8\\xcf\\x7e\\xaa\\x7c\\xef\\x9c\\x75\\x83\\x37\\xb6\\x52\\x0c\\x63\\xcc\\x83\\x0e\\x6c\\xda\\xb4\\x6f\\xd6\\xac\\x5f\\x6f\\x3a\\xc0\\xca\\xf8\\x2e\\x6a\\x11\\x8a\\x84\\x4b\\xa8\\x46\\x84\\xd0\\xa8\\x58\\x28\\xc7\\xe3\\xb0\\x58\\xdc\\xb4\\xe2\\x0b\\x0a\\xec\\x46\\xc1\\xd8\\xaf\\xd8\\xe1\\xb6\\xa2\\x0c\\x5b\\x46\\x4b\\x06\\xc9\\xc8\\xb3\\x20\\xb4\\x11\\x61\\x1d\\xf2\\xc9\\x4c\\xe8\\x67\\xce\\xa8\\x3a\\xcc\\xce\\x95\\xae\\x4a\\x4d\\xb5\\x69\\x4b\\x41\\xf8\\xee\\x68\\xed\\x3c\\x4a\\x2f\\x5b\\xe3\\x26\\x6b\\xc3\\xd7\\x6c\\x8e\\x28\\x75\\xea\\x04\\x3b\\xb3\\x12\\xf0\\xfb\\xcd\\x8b\\x86\\x3f\\x7a\\xe1\\xca\\x89\\x93\\xaf\\x5d\\x08\\xa8\\x1b\\x8d\\xa2\\x46\\x12\\x07\\x07\\x4c\\xaf\\x5b\\x3b\\x61\\xca\\xc0\\x41\\x75\\x33\\xf0\\x50\\x63\\xf3\\x9a\\xd1\\xeb\\xef\\x9d\\x3c\\x71\\xcd\\xe2\\xbb\\xcc\\xf7\\x35\\x2a\\x27\\x41\\x6a\\xc4\\x5b\\xa3\\xad\\x75\\x93\\x57\\x0f\\x1e\\x34\\xa9\\xbe\\xb5\\x9a\\x95\\x61\\x3c\\x3a\\x29\\xec\\xa2\\x65\\x28\\x43\\x03\\xd0\\xf0\\x58\\xb0\\xd2\\x5f\\x16\\x08\\x79\\xed\\xf6\\x1a\\x21\\x10\\x0a\\xd4\\xd5\\x97\\xf9\\x4b\\x22\\xa8\\x60\\x63\\x01\\x2e\\x28\\xa7\\xae\\x8f\\xd1\\x5a\\x02\\x6a\\x35\\x1d\\x9a\\xa1\\x29\\x6e\\x2a\\x36\\x87\\x3a\\x94\\xac\\x6e\\xfc\\x63\\x41\\x81\\x6a\\x78\\x98\\x33\\xb6\\xbb\\xca\\xcd\\xf4\\xd4\\x0f\\x2e\\x2b\\x8f\\x4c\\x27\\xab\\x0b\\xf7\\xb4\\x65\\x69\\x72\\x7a\\x48\\x8a\\xee\\x6d\\xa5\\x3a\\x49\\xd2\\x05\\x86\\x0f\\x9c\\x5a\\x5c\\x60\\xb6\\x49\\x36\\x93\\x20\\x58\\x9c\\x85\\x05\\xe6\\xaf\\x26\\xed\\x5a\\xbe\\xfc\\x91\\x07\\xd7\\x8c\\x9c\\x78\\x4b\\xfc\\xe2\\xf5\\x53\\xe2\\x6b\\x2e\\x16\\x50\\x69\\xa9\\x68\\xa6\\xae\\xbf\\x60\\x37\\x9b\\x2c\\x59\\x67\\xb5\\x8f\\x8d\\xe4\\xe9\\x25\\x69\\xc8\\xb4\\xaa\\xaf\\xc7\\x2f\\x5e\\xf7\\xe8\\xdd\\x6b\\x56\\x3d\\x54\\x9a\\xb7\\x26\\xde\\xba\\x72\\xdd\\xd4\\x29\\x17\\xf3\\x36\\x68\\x20\\xad\\x17\\x51\\x38\\x82\\x02\\xa8\\x3a\\x96\\x8d\\x8c\\x46\\xaf\\xdd\\xe6\\x25\\x52\\xb6\\x94\\x9d\\x1f\\xd4\\xfb\\x62\\x3a\\x63\\x93\\xcf\\x3e\\x8e\\xba\\x22\\xfc\\x94\\x67\\x6a\\x8d\\x92\\xc7\\x69\\xa9\\x91\\xd0\\x69\\xa9\\xa8\\x0c\\xd2\\x3f\\xbe\\xe6\\x30\\x17\\xfb\\x21\\x50\\x4b\\x8d\\xf9\\x20\\x6d\\x47\\x59\\x4d\\x2d\\x6d\\xb4\\xf2\\x7c\\x6d\\x37\\x5d\\xd3\\x88\\x2f\\x9d\\x72\\xfb\\x6c\\x32\\xee\\xee\\xcb\\x75\\x5d\\x7f\\x93\\x2e\\xde\\x39\\x65\\xda\\x43\\xf1\\x4b\\xe3\\xb3\\x37\\x5f\\x2e\\x1c\\x69\\x7b\\x70\\xf3\\xfa\\xcb\\x47\\xb6\\x6d\\x7c\\xe1\\x8e\\xfb\\x66\\xea\\x0b\\x0b\\x67\\xed\\xdc\\x6a\\x79\\x61\\xe3\\xf4\\xf8\\xa6\\x09\\x17\\x3d\\xcb\\xe8\\x3b\\x0b\\xd1\\xce\\x80\\xf0\\x2a\\xaa\\x46\\x0d\\xb1\\x40\\x05\\x8b\\xa5\\x99\\x91\\x2b\\xf6\\xb3\\xf6\\xb3\\x46\\xfb\\xd5\\x14\\x94\\xea\\x2a\\x5c\\x79\\x82\\xd1\\x6f\\x04\\x87\\xd1\\x61\\x84\\xac\\xd4\\x59\\xc7\\x33\\xd8\\xae\\x93\\xe4\\x74\\xa6\\x16\\x36\\xb2\\x18\\x6a\\x07\\x93\\x68\\x48\\x6d\\x77\\x18\\x71\\x55\\x5e\\x5e\\x25\\x5a\\x48\\xa6\\x9a\\xda\\xa4\\x68\\xf1\\x76\\x29\\x97\\x78\\x85\\xc6\\xae\\xa7\\x75\\xbf\\xba\\xa8\\x35\\x8a\\xeb\\x9e\\x88\\x8f\\xb9\\xa4\\xf1\\xba\\x19\\x83\\xe7\\x14\\xd9\\x8d\\x77\\x5d\\xb0\\xfc\\xce\\x11\\x93\\x6c\\x9e\\xd0\\x82\\xe1\\x67\\xdf\\xb6\\x7c\\xc0\\xca\\xd6\\x41\\x62\\xff\\xc5\\x1b\\x2e\\x0c\\x66\\xd5\\xac\\xba\\xa1\\xb9\\x62\\xd5\\xca\\xe6\\xf5\\x63\\x96\\xed\\x80\\xc8\\x90\\x7e\\x85\\x45\\xab\\x6f\\xbc\\x73\\xd1\\xe4\\xf6\\x7e\\x44\\x37\\xb6\\x79\\xf9\\xf2\\x7b\\xfb\\x4f\\x58\\xb0\\x7e\\xfb\\xaa\\xa8\\x9b\\xf3\\xbd\\xa3\\xfb\\xef\\xb4\\x7f\\xb7\\x9a\\xea\\x08\\x5b\\xd3\\x69\\x76\\xca\\xb2\\xd3\\x97\\x69\\x48\\x75\\x1e\\xd4\\x00\\xf3\\x62\\x18\\x2a\\x40\\x6b\\xa1\\xb4\\x1d\\x33\\x4c\\xf4\\x2d\\x80\\xdb\\x3d\\xe7\\x3e\\x36\\x6d\\x74\\xcd\\xe6\\xb9\\x53\\xb6\\x14\\xe5\\xff\\x66\\xea\\xac\\x2d\\x53\\x97\\x5c\\x7d\\x89\\x77\\xf2\\xd3\\x5f\\xae\\x9d\\x73\\xc9\\xd0\\x45\\x57\\x5d\\xb8\\xea\\xa2\\x15\\x9b\\xda\\x27\\x3f\\x7f\\xd5\\x93\\x47\\x69\\x5e\\x43\\xbb\\xff\\x4a\\xfe\\x42\\x79\\x68\\x42\\xfe\\x18\\x3b\\x8a\\xc9\\x40\\x0c\\xc4\\x6c\\x19\\x6d\\x00\\x03\\xf2\\x55\\xcc\\x48\\xe6\\xa7\\xee\\xf1\\x44\\x5e\\x09\\xc9\\x45\\xb8\\x28\\x54\\x83\\xb0\\xdc\\x04\\xfa\\x35\\xc3\\x95\\x3f\\x4d\\x2c\\x7c\\xe6\\xfa\\x73\\x96\\xd3\\xce\\xd3\\xab\\xeb\\x94\\x9b\\xae\\x6a\\x54\\x16\\x5c\\x3f\\x12\\xc4\\x17\\x3a\\xae\\x82\\xb8\\xda\\x77\\xdb\\x87\\x72\\xc8\\x40\\xaa\\x2b\\x3e\\x14\\x8e\\xb9\\xb1\\xc5\\xe2\\x33\\x88\\xa2\\xcb\\xe7\\xcb\\xcc\\x32\\xeb\\x74\\x6c\\xdb\\xb2\\xd7\\x4e\\x75\\xfb\\xd0\\x8c\\xba\\x8a\\xba\\xd4\\xd1\\xc1\\x29\\x1b\\xc6\\x38\\x2e\\x07\\xf9\\xce\\xf7\\xf4\\x75\\x99\\xf0\\xf7\\xe6\\xed\\x8b\\x67\\x56\\xd4\\x5d\\x18\\xdb\\xb6\\xa8\\xae\\x7e\\xdd\\xd8\\xb2\\xb0\\x70\\xc9\\x9c\\x97\\xb6\\x3d\\x74\\xe3\\xea\\x8d\\xab\\x56\\xed\\x30\\x2a\\xd2\\xda\\x9b\\x6a\\xc2\\x63\\x96\\x3b\\x91\\xba\\x7f\\xf3\\xa8\\xf0\\x8d\\xf0\\x2b\\x94\\x8d\\xf2\\x50\\x5b\\xac\\x3a\\xc7\\x6a\\x75\\x67\\xe6\\xca\\x26\\x76\\xf4\\x63\\x20\\xdf\\x92\\x33\\x39\\x07\\x86\\xe5\\x40\\x8e\\x39\\xb7\\x26\\x17\\x0a\\x73\\x99\\xd7\\x43\\x72\\x41\\x97\\x9b\\x9d\\x97\\x35\\x35\\x0b\\xb2\\xfc\\xd9\\x19\\x0e\\x83\\xc0\\x97\\xf6\\x56\\x44\\x22\\xbc\\xf9\\x98\\xa9\\xb6\\x23\\x11\\xde\\x98\\xa4\\x1d\\xc5\\xa3\\x35\\xb7\\x3d\\xbb\\x98\\xbc\\x76\\x31\\x45\\xb4\\x97\\xde\\x15\\x42\\x61\\x54\\x14\\xbe\\xa9\\x59\\x7b\\x76\\x5d\\xdd\\x9a\\xb1\\x95\\x25\\x89\\x77\\xaf\\x5a\\x56\\x57\\x7f\\xf1\\xb8\\xf2\\x72\\xfc\\x6c\\xe2\\x5a\\x5c\\x94\\x78\\x17\\x86\\x8f\\xbd\\x60\\x52\\x4d\\xc5\\xf8\\x25\\x0e\\x78\\xf1\\x06\\x65\\xe5\\x8a\\x5b\\xa3\\xe5\\xcd\\xab\\x88\\x13\\x7f\\xfb\\x84\\x32\\xef\\x86\\x15\\x37\\x73\\x1f\\xa6\\xfb\\x83\\xee\\x01\\xc2\\x44\\xf1\\x10\\x1f\\x27\\xbf\\x20\\x36\\xc4\\xe7\\x74\\x65\\x64\\x63\\xb0\\xda\\x72\\x0d\\x92\\x68\\xb4\\xc8\\x6e\\x77\\x40\\xce\\xc3\\xfe\\xac\\x8c\\x4c\\x5f\\xb6\\xdd\\xeb\\xf2\\xb8\\xdd\\x2e\\xbb\\x2f\\xc3\\x2f\\x81\\x43\\xd6\\x49\\x7a\\x92\\x6b\\x34\\x19\\xcc\\x39\\x36\\x9b\\xd9\\x94\\xab\\xd7\\x49\\xa2\\x85\\x2f\\x14\\xae\\xe8\\x13\\x3f\\xa9\\xef\\x7d\\x2a\\xd4\\x19\\xeb\\x45\\x39\\x45\\x12\\x74\\xca\\x3c\\xc2\\x28\\xb0\\x23\\x60\\xe9\\x87\\xc5\\x14\\xa5\\x1f\\xfa\\xa6\\x10\\xef\\x6c\\x1b\\xa0\\xdc\\x34\\xb8\\x6d\\xc0\\xdb\\xd9\\x6f\\x4f\\xa5\\x9f\\xfa\\xb6\\x08\\xcc\\x1f\\xd4\\x56\\xc3\\x6e\\x8f\\x65\\x1f\\x33\\x2b\\x37\\xc7\\x61\\x01\\x0c\\xba\\x53\\xb9\\x15\\x06\\xc7\\xef\\x88\\xc3\\x7f\\xd8\\xd7\\x48\\xe5\\xa3\\x3b\\x61\\xba\\xf2\\x1a\\xbd\\x56\\x8c\\xf4\\x0b\\x2f\\xbe\\x53\\x31\\xde\\xa9\\xc6\\x92\\x15\\x1c\\xfc\\x4c\\x88\\x05\\xb1\\x1a\\xaf\\x33\\x2b\\xcb\\xa4\\x13\\x72\\x91\\x80\\x70\\x00\\xe7\\x39\\xcc\\x56\\x73\\x6b\\x3c\\x53\\x92\\xa5\\xd6\\x38\\x6d\\xe7\\x0c\\x46\\x43\\x6b\\xdc\\x69\\x94\\xe9\\x7f\\x6c\\x25\\x59\\x02\\x16\\x5a\\xe3\\x7e\\x3f\\x76\\xa8\\x1b\\x25\\x79\\x0c\\xd5\\xf4\\x63\\x58\\xd2\\x0f\\x8f\\x4e\\x2e\\x2e\\xd0\\x5c\\x01\\x92\\x16\\x2d\\x51\\x8b\\x07\\x18\\xe0\\x71\\x74\\x03\\x84\\xda\\x66\\xa7\\xe0\\x98\\xdc\\x55\\x66\\xd8\\x75\\xf6\\x1e\\xeb\\x9e\\x82\\x3d\\x96\\x3d\\x23\\x1f\\x30\\xe0\\xb3\\x0c\\x6f\\x8c\\x84\\xab\\x2d\\xca\\xf2\\x02\\xb8\\xda\\xaa\\x2c\\x6f\\x7a\\xeb\\xf9\\x45\\x4b\\xe0\\x12\\x65\\x83\\x1a\\x1a\\x7e\\x42\\x7a\\xd0\\xf8\\x79\\x2e\\xf0\\xaa\\x7a\\x51\\x4f\\x2b\\x73\\x88\\x78\\x0d\\x8f\\x9b\\x90\\xeb\\x25\\xb2\\xec\\xb0\\x18\\x4c\\x36\\x83\\x20\\x50\\xad\\xf7\\x61\\x9b\\xdd\\x36\\x2e\\x2e\\x99\\xcc\\xa6\\x71\\x71\\x62\\x66\\x9b\\x44\\x3c\\x7a\\x76\\x52\\x19\\x6d\\x64\\x0c\\x6e\\xb7\\x73\\x5c\\xdc\\x8d\\x0c\\xf2\\xb8\\xb8\\xc1\\xdd\\xeb\\xe4\\x2b\\x16\\x7d\\xad\\x77\\xc9\\xbc\\x3d\\xd3\\xbb\\xa0\\x85\\xc8\\xf7\\xca\\x81\\xf4\\xd2\\x11\\x3c\\xc4\\xbc\\x83\\xfd\\x9f\\x71\\xbb\\x4e\\x79\\x66\\xc1\\x6d\\x66\\xfe\\x7f\\xc6\\x25\\x3a\\x28\\x5d\\x40\\xea\\x47\\x8d\\x1a\\x95\\xf8\\x87\\xaf\\x1c\\x4f\\xa7\\x17\\xd8\\x92\\x51\\x9e\\x78\\x04\\xa1\\xb4\\x7a\\x29\\x42\\x13\\x63\\x65\\x9e\\xfc\\x7c\\xab\\x50\\x88\\x50\\xb6\\x60\\x14\\x70\\x3f\\x1c\\x72\\xdb\\x1c\\xb6\\xd6\\xb8\\xd1\\x9f\\x65\\xf1\\x5b\\xb0\\x83\\x14\\x15\\x61\\x9c\\xdf\\x16\\x67\\xf5\\xc1\\x6a\\x23\\x19\\x04\\x2c\\xed\\x1c\\x85\\x53\\x8e\\x33\\xe3\\x35\\x50\\x94\\xdc\\x1e\\xe2\\xd5\\x2a\\xc1\\xa3\\x6e\\x11\\x01\\x16\\xbb\\x35\\xad\\x22\\x3a\\x02\\xbe\\xd2\\x9a\\x8c\\xea\\xbc\\x95\\x53\\x1d\\x13\\xd4\\xba\\x98\\x13\\x2e\\x2c\\x19\\xe0\\xad\\xce\\x5b\\x3e\\x2d\\xc3\\x3d\\xbe\\xa7\\x2e\\xf0\\x50\\x67\\x45\\xd3\\x86\\x65\\x00\\x47\\x78\\xdc\\xde\\x43\\x85\\x95\\x8d\\x17\\xaf\\x90\\x94\\x1a\\x5e\\x23\\x98\\xc5\\xfb\\x14\\x76\\xd1\\x32\\xb9\\xa8\\x9d\\x98\\x19\\xab\\xce\\xcb\\xb6\\x58\\xb0\\xd3\\xab\\xd7\\xe7\\x38\\x91\\x60\\xcf\\xb7\\x07\\x2c\\x4e\\xbb\\x93\\xc5\\x5a\\x6c\\x8b\\xfb\\x79\\xd4\\xc5\\x6c\\xc8\\xa3\\xff\\x45\\xbb\\x43\\xcc\\x62\\xbb\\x84\\x5b\\xe9\\x87\\x95\\x0e\\xf5\\x12\\xb4\\xbe\\x27\\xb0\\xa8\\x55\\xe1\\x54\\x59\\xaf\\xc6\\xb8\\x0f\\x6a\\xc1\\xa6\\x92\\x41\\xf4\\x59\\x1d\\x2d\\x32\\xef\\x8f\\xb2\\x90\\x9b\\x6a\\xc4\\xfa\\x64\\x34\\xce\\x2d\\xd4\\x75\\xbe\\xfc\\xda\\x6d\\xd7\\x47\\xfe\\x66\\xfe\\x5b\\x25\\xb9\\x78\\x14\\xf4\\x53\\xc3\\xd0\\xab\\x51\\x37\\x49\\x99\\xf2\\x25\\xcc\\xbd\\xf6\\x4a\\xe5\\xc4\\x28\\xe5\\x4b\\xda\\x24\\xff\\x5a\\x19\\x2d\\xbc\\xc4\\xcf\\x20\\xe8\\x87\\x96\\xc6\\xce\\x72\\xba\\xdd\\x06\\xab\\xd5\\x24\\x49\\xd9\\x7e\\x63\\xc8\\xd0\\x8f\\x14\\x16\\xf6\\x0b\\xf9\\x85\\xe2\\x92\\x90\\x6c\\x92\\x4d\\x6d\\x71\\x59\\x36\\x04\\x02\\xfe\\xd6\\x78\\x40\\x6a\\x8b\\x07\\x88\\xcb\\x95\\x91\\x61\\x6f\\x8b\\x67\\x64\\x19\\xfa\\xb5\\xc6\\x0d\\x8e\\xb4\\x5d\\xe2\\x15\\xda\\x91\\x01\\x5a\\xa4\\x8e\\x5e\\xbd\\xfd\\x48\\xd2\\x25\\x63\\x7d\\x53\\x6a\\xb4\\x69\\xd1\\x80\\x87\\x92\\xe7\\xd1\\xc6\\x58\\xac\\x3f\\xad\\x4b\\x55\\xab\\x95\\xde\\x26\\x3a\\xf1\\xfc\\xa7\\xf7\\x2b\\x9f\\x5c\\x3f\\x17\\xff\\xc7\\xa0\\x1c\\xfa\\xfe\\xf5\\xcb\\xa5\\x0b\\xa6\\xf5\\xaf\\x1d\\x5a\\x3a\\xe9\\x92\\x89\\x97\\x9c\\x6d\\x7a\\x9f\\xf2\\xc0\\xf5\\xde\\xe7\\xca\\x5d\\x27\\xf0\\x7d\\x8f\\xdc\\xf1\\xcf\\xc4\\x2b\\x89\\x2d\\x51\\xdc\\x9c\\x70\\x06\\x73\\xd6\\xf7\\xdf\\xfc\\x5d\\x6e\\xf3\\x35\\x0b\\xeb\\x9a\\x84\\xe3\\x99\\xd1\\xfb\\xee\\x50\\xf6\\x4d\\x4a\\xfc\\x4d\\x3d\\xab\\x88\\x28\\x57\\x90\\x7d\\x62\\x98\\xda\\xc7\\x02\\x54\\x4a\\xfb\\x5b\\x0d\\x79\\x62\\x16\\x0e\\xe5\\x07\\x8b\\x8c\\x16\\x6f\\x61\\xa1\\xc3\\xc4\\x4e\\x02\\x29\\xca\\xc7\\xa2\\x5c\\x8e\\x00\\xca\\xbc\\xc5\\xbe\\xe2\\x09\\x71\\xa3\\x25\\x58\\x94\\x1f\\xc2\\x59\\x3a\\xda\\x31\\x4c\\x46\\x39\\xb7\\x5b\\xf5\\xd9\\x2d\\x71\\xbd\\x2d\\x79\\xfe\\x07\\xff\\xb6\\xb3\\x13\\x89\\xd0\\x29\\x21\\x97\\x7b\\xba\\xb1\\xce\\xa0\\x93\\x95\\x90\\x87\\x31\\xa7\\x96\\xd1\\xe3\\xad\\x8d\\x24\\xa3\\x9b\\x87\\x80\\xef\\x96\\xf7\\x42\\x91\\x97\\x9f\\x47\\x54\\x7b\\x76\\xe3\\x1f\\x87\\x8e\\xdd\\x0e\\xe8\\x46\\x7f\\xd5\\x0b\\x4d\\x07\\x4a\\xfa\\x95\\xd7\\xec\\xd0\\xa2\\x9a\\x07\\xf2\\x60\\xe2\\x9c\\xfb\\xdb\\xc2\\xb0\\xd2\\xbb\\x36\\xa4\\xac\\xcb\\x2b\\xba\\xe0\\x4a\\xe5\\x0a\\xb8\\x3c\\xb8\\x7d\\xf9\\x2e\\xe8\\xff\\xb0\\x08\\x4b\\x94\\x2b\\x0d\\xb6\\xfc\\xae\\x5f\\xb3\\xc8\\xe6\\x3a\\x72\\xe9\\x4d\\xdd\\x68\\xf3\\x92\\x18\\x3e\\x2c\\x54\\x7a\\x13\\x39\\xf6\\xcd\\x6a\\x3b\\xd1\\x44\\xf9\\xb0\\x98\\xf2\\x21\\x97\\x7a\\x6f\\x0b\\x63\\x03\\x72\\x8c\\xd9\\x26\\x1f\\x42\\x1e\\x9b\\xcb\\x26\\x92\\xec\\x4c\\xbf\\x85\\x98\\xb3\\xb2\\xb2\\xb3\\x83\\x94\\x1f\\xf9\\xce\\x80\\x2f\\xd0\\x12\\xf7\\xe7\\x58\\x8c\\x82\\x3e\\xcb\\x1b\\xf3\\xf8\\xac\\x66\\x16\\xa5\\x88\\x8c\\x8f\\xeb\\x3d\\xda\\x3a\\x1d\\xdb\\xbe\\x86\\x48\\xe6\\xe1\\x03\\x8e\\xb4\\xf2\\xdb\\xb5\\x46\\xc1\\x9e\\x1c\\x17\\xe2\\x5e\\x49\\x21\\xf7\\xb5\\xbd\\xaa\\x9a\\x06\\x81\\x35\\x7e\\xda\\x89\\x10\\xce\\x08\\x48\\xb5\\xce\\x20\\xe8\\xca\\x83\\x67\\x8f\\x73\\x47\\x56\\x8d\\x9d\\x51\\xf6\\x9f\\x46\\xc8\\x15\\x8c\\xf3\\xd7\\xea\\xae\\xb8\\x2a\\x56\\xf8\\xec\\x47\\x4d\\x89\\x87\\x6d\\x95\\xef\\x6f\\x7f\\xb4\\xbc\\x3c\\xb7\\xa2\\x20\\xd2\\xa0\\x4c\\x83\\xaf\\x5c\\xd9\\x39\\xe3\\xf0\\xa8\\xf2\\xd0\\xd1\\xa3\\x70\\x69\\xa7\\x32\\x36\\x01\\xeb\\x58\\x0c\\xc7\\x7f\\x28\\x6d\\x52\\x50\\x1c\\xe4\\x90\\x84\\x89\\x48\\x3d\\xf3\\x65\\x3e\\xd9\\x49\\x6d\\x69\\x2e\\xdb\\x3f\\xef\\x76\\x5a\\x2c\\x6c\\x89\\x57\\x6e\\x96\\x35\\xcb\\x9f\\xe7\\x36\\x64\\x18\\x26\\xc4\\x33\\xa8\\x4d\\x1a\\x17\\x77\\x20\\xab\\x5b\\xc8\\x1d\\x47\\x6d\\x11\\xb5\\x9b\\x07\\xf8\\xba\\xb9\\xd4\\xe1\\x7a\\xbd\\x56\\xef\\xb1\\x70\\x19\\x6c\\xb7\\x56\\xf2\\xf8\\x16\\xed\\xb8\\x16\\x22\\x27\\xbd\\x2c\\x42\\x76\\xae\\x78\\xe5\\x77\\xcf\\x76\\x78\\x2b\\xab\\x47\\x3f\\x3a\\x60\\xc9\\xbd\\x5f\\xad\\xd4\\x41\\xde\\x42\\x5b\\xcb\\x9e\\xa9\\x73\\x3b\\x74\\x0b\\xca\\x95\\x81\\x70\\x33\\x6e\\xdc\\x10\\x2a\\x1f\\xb0\\xee\\xdc\\xc4\\xaf\\xc4\\x26\\x6a\\x38\\x77\\x36\\x2f\\x58\\xb2\\xb8\\xc3\\x52\\x9f\\xb8\\x95\\xd2\\xff\\x37\\xa5\\x8d\\xc5\\x48\\xb7\\x49\\xc2\\x68\\xd5\\xcf\\xa6\\xf4\\x3f\\x4c\\xe9\\x77\\xa3\\xc9\\xb1\\x0a\\x27\\xd6\\xeb\\x04\\x07\\x0b\\x8f\\x67\\x20\\x02\\x16\\x11\\xf5\\xba\\xb0\\x93\\xd9\\x7c\\x83\\xc3\\x48\\xcc\\x6e\\xab\\xcd\\x32\\x2e\\x6e\\x43\\xb2\\xd9\\xad\\x17\\xc6\\xc5\\xf5\\xee\\x74\\xf9\\x4c\\xab\\x9e\\xf4\\xc3\\x3a\\xd4\\xa8\\xe8\\x4e\\x2f\\x2b\\x12\\x49\\x96\\x05\\x42\\xb5\\xe4\\x61\\xdd\\x78\\xe5\\xdd\\x7f\\xb7\\xd3\\xa2\\xac\\x7a\\xf7\\xfa\\xc1\\xf7\\x7d\\xfb\\x2b\\x1d\\xf4\\xdf\\x09\\x3b\\x67\\xea\\xc8\\xce\\x72\\xaf\\xf2\\xd7\\xc4\\x7f\\xbc\\xac\\x24\\x70\\x7c\\xb3\\xb2\\x93\\x15\\xa2\\x6b\\x00\\xdc\\x91\\x45\\xd5\\x06\\xf9\\x94\\x36\\xe1\\x72\\x6a\\x5b\\xac\\x68\\x48\\x2c\\x60\\x21\\x3a\\x03\\x30\\xbf\\x91\\x45\\xca\\xb4\\x9b\\x25\\x23\\x35\\x21\\x06\\x83\\x91\\x08\\x16\\x62\\x69\\x8d\\x03\\x8b\\xdb\\x7d\\xa0\\xe7\\x68\\xaa\\x3e\\xd4\\xb1\\xb5\\x66\\x24\\x50\\x0b\\x5a\\x9c\\x72\\x19\\x02\\xe4\\xb7\\x43\\xf2\\xbb\\xde\\xb3\\x93\\x59\\x7f\\xf8\\xb1\\x75\\xf8\\x88\\x01\\x64\\x81\\xad\\xeb\\x26\\xa2\\x67\\x07\\xc4\\xcf\\x14\\xae\\x72\\xbd\\x01\\x83\\x26\\x77\\x2e\\x66\\x6d\\xd0\\xdf\\x29\\xcf\\x30\\xd9\\x89\\x6c\\x68\\x58\\x2c\\x5f\\x4f\\xfb\\x01\\x66\\xab\\x55\\x40\\xc4\\x81\\x65\\xd9\\x0e\\x06\\x9b\\xa1\\x25\\x6e\\xb5\\xda\\xac\\x3a\\x2c\\xe3\\x96\\xb8\\x28\\xbb\\x4f\\x43\\x44\\x24\\x9d\\x0a\\x96\\x33\\x25\\x80\\x51\\x22\\x51\\x52\\x6a\\x09\\xd6\\x25\\xfe\\x04\\x7f\\x59\\xff\\xca\\xef\\x12\\x6f\\xea\\x71\\xf5\\x0d\\x03\\x16\\x66\\xd4\\x56\\x94\\x93\\x9d\\xfd\\xbb\\x8e\\x2a\\x19\\x70\\x73\\x39\\xa9\\x70\\xda\\x7e\\x75\\x92\\xc7\\x52\\xfd\\x4a\\xbc\\x48\\x6c\\x46\\x66\\xaa\\x67\\x0d\\xb1\\x3c\\xc1\\x6b\\x37\\x18\\xf2\\xbc\\x79\\xf9\\x41\\x3f\\xc9\\xa2\\xcd\\x44\\x96\\x60\\x97\\x9d\\x32\\x75\\x4d\\x9c\\xb6\\x80\\x16\\xde\\xb9\\xe7\\xf4\\x15\\x6d\\x21\\x7f\\x0f\\x15\\xea\\x21\\x5c\\xac\\x75\\x0b\\x63\\x50\\xcd\\x46\\xd2\\x9c\\x70\\x53\\x42\\xae\\xbc\\x5b\\xf9\\xe7\\xad\\x2f\\xdd\\xb7\\xe7\\xe6\\x27\\xa6\\x34\\x8d\\x83\\x3d\\x7a\\x65\\x99\\x61\\xd3\\xf3\\x3b\\xba\\xae\\x3e\\x00\\x8b\\xbe\\x1c\\x7a\\xe9\\xac\\x5b\\x8a\\x3f\\x10\\xba\\x5e\\x53\\x6e\\x38\\xf2\\xc7\\x2f\\x2e\\x25\\x9d\\xf9\\x0e\\x7d\\x67\\x5d\\x74\\xca\\xc2\\x2b\\xbf\\xbb\\xf9\\xdf\\x70\\xc5\\x51\\x67\\x66\\x6e\\xa7\\x93\\xc7\\xf3\\xc9\\xee\\xfe\\x52\\x78\\x9e\\xec\\xa7\\xf2\\x57\\xc4\\xe5\\xef\\x57\\xdd\\x1f\\xcb\\xdf\\xd3\\x32\\xe4\\xa0\\xd9\\x31\\x9f\\x4e\\xef\\x71\\xb9\\x0d\\x46\\x93\\xd3\\x63\\x70\\x12\\x47\\x8e\\xc3\\x6c\\xce\\xc5\\x39\\x39\\xfe\\x2c\\x81\\xc5\\x5b\\xf4\\xc6\\x21\\x4b\\x30\\xb8\\x5c\\x26\\xab\\xd9\\x61\\x75\\xb4\\xc6\\xad\\x82\\xc7\\xe9\\xd4\\xa7\\x4e\\x1f\\x51\\x55\\x89\\xb9\\x22\\x0d\\x5a\\x80\\x6a\\x47\\x2a\\x3e\\x6e\\xaa\\xf9\\x03\\x35\\x78\\x95\\x4c\\x6b\\x9e\\xfe\\xa9\\x67\\x8b\\x40\\xc4\\x09\\x6c\\x2f\\xaf\\x57\\x7e\\x6d\\xa8\\x94\\x55\\xd3\\x30\\x3d\\x94\\xe8\\x6e\\xb8\\x4e\\x99\\x39\\xe4\\x15\\xf5\\xf0\\x90\\xab\\xe1\\xa1\\xf0\\x4d\\x30\\xa5\\x78\\xf6\\xe2\\xf1\\xe7\\x34\\x0b\\xf5\\x37\\xbb\\x26\\x9f\\xd3\\x79\\x1f\\xb9\\xb4\\x6b\\xbd\\x68\\x66\\xad\\x79\\xd7\\x54\\xb2\\xbd\\x6b\\x2e\\xc1\\x33\\x2f\\xac\\xc9\\xa2\\xe5\\xe9\\xdf\\xfd\\xa5\\xb4\\x8c\\xec\\xa7\\x6d\\xc0\\xa4\\x58\\xa9\\x4e\\xef\\x72\\x3a\\x68\\x79\\xec\\x2e\\x83\\x9d\\xd8\\xb0\\xcd\\x6c\\xce\\xc6\\x59\\x59\\x39\\x3e\\xa1\\x25\\x0e\\xe0\\xb3\\x19\\x1c\\x0e\\x93\\xd5\\xea\\xb2\\xdb\\xf5\\x26\\x8f\\x56\\x0a\\x76\\xd6\\x40\\x2a\\x56\\xf9\\x7f\\x51\\x00\\x4a\\x7b\\x24\\x4b\\x25\\x5f\\x6a\\xe9\\x9f\\x91\\x93\\x5f\\x3d\\x75\\x80\\xb2\\x71\\xe8\\xc5\\xca\\xcb\\x8d\\x0f\\x77\\xe8\\xfe\\x73\\x19\\x44\\x47\\xaf\\xf9\\xae\\xff\\xf4\\xd9\\xe3\\xc6\\x8e\\xc4\\x9f\\xad\\x75\\x4c\\xef\\x48\\x9c\\x85\\x17\\x25\\x6e\\x20\\x6b\\x7c\\xe5\\x89\\x41\\x38\\x9e\\xb8\\x1b\\x3e\\x6e\\x3d\\xbf\\xca\\xa3\\x8e\\x51\\x8a\\xdd\\x5f\\x92\\x6b\\xc8\\x73\\xd4\\xe7\\x2d\\x41\\xe7\\xc4\\xca\\x0a\\x1d\\x02\\xf1\\x38\\x3c\\xbe\\x7c\\x77\\x5e\\x9e\\x41\\x64\\x26\\xdc\\xa4\\x23\\xa5\\x65\\x39\\xd6\\x7c\\xb7\\x41\\x14\\xac\\xb2\\x2c\\x58\\xad\\xfd\\xa8\\xac\\xdb\\x3c\\x82\\x47\\xdd\\xc2\\xa1\\x06\\x5d\\xf7\\xd6\\x35\\xf4\\x0c\\x06\\x46\\xd2\\xe2\\xc9\\xb1\\x4e\\x0a\\xa3\\x5c\\x92\\x43\\x35\\xb5\\xa9\\x1e\\xae\\x24\\x67\\x41\\xf2\\xc0\\x47\\xd1\\xe5\\x4d\\x1e\\x8a\\x49\\xae\\x99\\xa8\\xc4\\xcf\\x5e\\x18\\x3f\\xdf\\xb5\\x74\\xba\\x6b\\xdd\\xcc\\x11\\x23\\xe6\\x8e\\x1f\\xf5\\x53\\xac\\x24\\x43\\xf7\\x7c\\x66\\x62\\xbf\\xa9\\xff\\x20\\x4f\\x66\\x41\\x11\\x59\\x3c\\xf5\\xf2\\xc4\\xb9\\xf0\\x9f\\xfe\\x55\\x8d\\xfd\\xab\\x26\\x0d\\xbd\\xf0\\xea\\x11\\xb5\\x23\\xd6\\x0e\\x54\\xae\\x86\\x1b\\x17\\x4e\\x29\\x2c\\x93\\xcb\\xbd\\x37\\xd7\\xd6\\xf4\\x1b\\x53\\xe6\\x2d\\x1c\\xc4\\x7d\\x47\\xe6\\x67\\xfd\\x85\\xc7\\x5b\\x99\\x1a\\x2b\\xc3\\x76\\xbb\\xc3\\xe1\\xb4\\x09\\x82\\x5e\\x2f\\x3b\\x9d\\x6e\\xd9\\xe5\\xb0\\xd9\\x48\\x5b\\x1c\\x6c\\x36\\xd9\\x64\\x35\\x98\\xa8\\x4b\\x6f\\x22\\x82\\x5e\\xd6\\xb7\\xc6\\x65\\x47\\x7a\\xa0\\x30\\x55\\xc6\\x7a\\x1f\\x87\\x91\\xbe\\x7c\\x35\\x14\\xe8\\x09\\xe1\\x69\\xe5\\x47\\xae\\x09\\x57\\xc5\\x70\\x62\\xc3\\x9c\\x77\\xf5\\xcc\\x93\\x7a\\xfd\\x01\\x3d\\xf6\\xe9\\x1f\\x9b\\x81\\x2f\\x19\\x18\\x83\\x13\\x77\\x25\\x5e\\x4b\\x06\\xe3\\xa4\\x7e\\xe1\\x3f\\xef\\x54\\xfd\\xf3\\xe1\\xd4\\x99\\x18\\x49\\xed\\x0b\\x5b\\xf7\\x59\\x80\\x8c\\x46\\x6a\\x90\\x0d\\x18\\x53\\x23\\x67\\xa6\\xae\\x81\\xc9\\x60\\x80\\x16\\x6a\\xe5\\x88\\xa4\\x17\\x24\\x6a\\x86\\x25\\x2b\\x71\\xf3\\x7d\\x67\\x1a\\x69\\x69\\xf1\\xcb\\x7a\\x11\\x16\\x50\\x8d\\xaf\\x55\\x3b\\x05\\x0e\\xbf\\xa5\\xb4\\x8f\\xb9\\xff\\x96\\x0b\\x75\\xb0\\x45\\x77\\xd1\\x20\\xb8\\xa3\\xba\\x7c\\x64\\x39\\xec\\x51\\xce\\x66\\xc7\\x76\\x95\\xfb\\x94\\x7b\\x6e\\x51\\x16\\x71\\x99\\x18\\xd4\\xfd\\xb5\\x10\\x25\\x07\\x68\\x5f\\x81\\xd9\\x18\\x7f\\xb6\\xcb\\x65\\x71\\xf8\\x1d\\x7a\\x3f\\xd1\\x93\\xfc\\xa0\\xc5\\x6c\\xcb\\x76\\x49\\xae\\x96\\xb8\\xe4\\x41\\x19\\x2d\\x71\\x64\\x4b\\x37\\x31\\x91\\xf4\\x1d\\xa9\\x75\\xc9\\x10\\xb0\\x36\\xda\\xf5\\xe5\\xa1\\x4c\\x69\\x43\\x8d\\xdd\\x36\\x6f\\x4f\\xe4\\x57\\xea\\x83\\x92\\xe2\\x4b\\x7f\\xad\\xbc\\xa9\\x1c\\xfb\\xc3\\x7b\\x0b\\x5e\\x5a\\xe7\\x18\\xb7\\x7c\\xe8\\xab\\xe7\\x65\\x6d\\x98\\x59\\x3b\\xdc\\x79\\xde\\xfd\\xcf\\x0d\\x20\\x07\\x76\\xfd\\x56\\xd9\\xa7\\x3c\\xf5\\xda\\xf3\\x3b\\x4e\\x6e\\x77\\x34\\xe4\\x6c\\xf9\\xe2\\x8a\\x6e\\x54\\x88\\xe7\\x6c\\xdf\\x32\\x7e\\xfe\\x92\\xc4\\x0e\\x23\\x34\\x80\\x6b\\xe9\\x22\\x46\\xb3\\x1b\\xdd\\x8d\\x6f\\x20\\x53\\xf9\\xfc\\x6f\\x56\\xcc\\x84\\x25\\xb6\\xeb\\x4a\\x8f\\x24\\x2c\\xa8\\xa7\\x53\\xd7\\x69\\xbb\\xa3\\x9d\\xb5\\xd4\\xf6\\xd2\\xcf\\x68\\x2f\\x8e\\x64\\x24\\x6e\\xce\\xc0\\xb4\\x7f\\xff\\xfa\\x65\\x20\\x5c\\x96\\xf8\\x13\\xfb\\xe6\\xbe\\xcc\\xdd\\xc2\\x4e\\xa8\\x90\\xf3\\x78\\x7c\\x66\\xcb\\x53\\x02\\x18\\x80\\x8d\\x82\\x1f\\xb0\\xed\\xa3\\xc9\\x29\\x1b\\x49\\x55\\xcf\\xf8\\xd8\\xcb\\x8b\\x61\\xf1\\x13\\xe5\\xb1\\x58\\x79\\x59\\x2c\\x26\\xe7\\x25\\xae\\x86\\xfb\\x07\\x57\\xd0\\xcb\\xb2\\xf2\\x18\\x3b\\xe3\\x40\\x94\\xe0\\x0d\\x39\\x8b\\xe3\\x31\\x3d\\x29\\x20\\x03\\x66\\xc1\\x9a\\xd8\\xe8\\xa1\\x97\\x36\\x87\\xf9\\x3d\\xda\\x00\\x57\\x8e\\x51\\x86\\x8f\\x69\\x2b\\x8b\\x0d\\x29\\x2b\\x6b\\x88\\xc9\\x56\\x76\\xf7\\x0d\\x43\\xc2\\xf0\\xaa\\xfe\\x55\\x85\\x78\\x23\\xdc\\x2d\\x07\\x34\\x9a\\x64\\x42\\xcc\\x0c\\x59\\xc4\\x76\\x40\\xdd\\x69\\x9d\\x7e\\x44\\x3a\\xdc\\xcd\\xe8\\xe0\\x24\\x51\\x14\\x12\\x59\\x9c\\xa2\\x90\\xea\\xc3\\x14\\xa1\\x15\\xd6\\xd2\\xfe\\xbc\\x88\\x0c\\x4f\\x10\\xc4\\x8e\\x12\\x3f\\xc4\\xce\\x0d\\x8f\\x46\\xec\\x81\\x07\\xe1\\xfe\\x75\\x89\\xf7\\x85\\xb7\\xbf\\x53\\xb6\\xa9\\xf3\\xc9\\x58\\x90\\xc9\\xeb\\xf2\\x4a\\xa4\\x67\\x3b\\xce\\x30\\x61\\xdb\\x84\\x0d\\x46\\x10\\x45\\xc2\\xb6\\x7d\\xab\\x27\\x7e\\xa7\\xe2\\xff\\xa8\\xe3\\x9f\\x10\\x01\\xf2\\xba\\xf2\\xc9\\x36\\xe5\\x13\\x38\\xd7\\x0e\\xb3\\x25\\x43\\x22\\x81\\x89\\x17\\xce\\x51\\x1e\\x3a\\x05\\x9f\\x4e\\x44\\x22\\xa1\\xf8\\x74\\x82\\x40\\x1b\\xcd\\xbe\\xf8\\xf4\\x10\\x04\\x75\\x71\\x30\\xc5\\x77\\xbb\\x5d\\xb9\\x17\\x72\\xb7\\x41\\xae\\x38\\x43\\x79\\x08\\xce\\xf1\\x62\\x92\\x48\\xb0\\xb1\\x96\\x5f\\x93\\x0e\\x42\\x34\\x9e\\xe4\\xc7\\x2c\\x02\\x55\\x10\\x1b\\xd8\\xcd\\xc4\\xcc\\x16\\xd8\\x25\\x87\\xdf\\x98\\x5a\\x24\\x77\\xdb\\x92\\xa0\\x37\\x8d\\x4f\\xb8\\xf8\\xdd\\xfb\\x66\\xae\\x4b\\x9e\\x07\\x2f\\x07\\x12\\xbb\\x7f\\x48\\x1e\\xfc\\x8e\\x61\\x23\\xe9\\xc0\\x3f\\xa5\\x70\\x5b\\x81\\xf9\\x1b\\x82\\x60\\xa7\\xd2\\x25\\x53\\xfc\\xe9\\xc8\\x1d\\xea\\xa6\\x7b\\xea\\x7d\\xa6\\xe3\\x2e\\x9a\\x59\\xf2\\x2e\\xac\\x4e\\x22\\x17\\x1f\\x4f\\xec\\x26\\x43\\x53\\xc7\\xca\\x53\\xfc\\x61\\xb8\\x0e\\xdf\\x2f\\x8e\\xf9\\xdf\\xe2\\x87\\x37\\x66\\x16\\xa7\\xe1\\x27\\x1f\\xf4\\xc6\\x0f\\xdd\\x7a\\x61\\x01\\xfc\\x96\\xd6\\xb3\\x1e\\xd9\\x76\\xd3\\x2a\\xd3\\xcb\\x84\\x55\\x75\\x95\\x6a\\xaf\\xd4\\x05\\x40\\xf6\\x00\\xfc\\xf6\\x9b\\x75\\xbb\\xd6\\xe1\\x9b\\xc5\\x71\\x9f\\x7f\\xfe\\x39\\xcc\\xa6\\xe9\\x14\\x36\\x1b\\x78\\x84\\x5e\\xb2\\x74\\x12\\xa1\\x95\\x03\\xfc\\x68\\xfb\\xc3\\x54\\x6a\\x23\\xec\\x54\\x74\\xbe\\x80\\xe7\\x48\\x62\\x3e\\x4d\\xf7\\x0d\\xcc\\xa6\\xc9\\x68\\x5e\\x0b\\x94\\x66\\x78\\xa6\\x7b\\x3d\\xd2\\xb1\\xf1\\x43\\x99\\xca\\x39\\x4d\\x2d\\xf1\\x0c\\x0f\\x27\\xcf\\x51\\x65\\x07\\x31\\x39\\x23\\x4e\\x39\\x18\\x12\\x6f\\x12\\xbf\\x38\\xba\\x59\\xac\\xf8\\x93\\xf2\\x2f\\xa5\\x39\\x00\\x76\\xe5\\x9b\\xc0\\x9e\\x3d\\x6a\\x5b\\x74\\x0c\\x3d\\x8e\\x43\\xe4\\x25\\x3e\\x17\\x93\\x17\\x33\\x23\\x93\\xc3\\x21\\x65\\xf8\\xdc\\xc4\\x4d\\xf4\\x56\\x6d\\x6e\\x25\\xe9\\x38\\xf7\\x8e\\xdd\\x94\\x7e\\xf8\\x3f\\x0e\\x25\\x99\\x32\\x33\\xc5\\x9d\\x26\\x8d\\x33\\x89\\x5d\\x3d\\x2c\\xa2\\xf9\\xcd\\x85\\x07\\xc8\\x7a\\xf2\\x00\\xb7\\x19\\x99\\x31\\x23\\x35\\x16\\xb4\\xc0\\x2c\\xde\\x17\\x56\\x79\\x05\\xec\\xb0\\x57\\x7e\\xb4\\x66\\x2d\\xfb\\x50\\x7b\\x95\\x18\\xe2\\x20\\x32\\xfb\\xc6\\x96\\x8e\\x0e\\xb8\\x85\\xc7\\x0d\\x00\\xf4\\x2e\\x5c\\x8b\\x65\\x1e\\x6f\\xda\\xf9\\x34\\xb0\\x6d\\xcd\\x90\\xdc\\x4a\\x9f\\x14\\x3b\\x18\\xba\\xff\\xc4\\x28\\x71\\x50\\x17\\xef\\x3f\\x80\\x05\\xef\\x49\\xc1\\x13\\x01\\x40\\x24\\xc9\\xe3\\xf7\\x1d\\x75\\x29\\xf8\\x5d\\x14\\x3e\\xb1\\x86\\xe3\\xf7\\x2a\\xcd\\x64\\xbb\\x78\\x17\\xf5\\x2f\\xce\\x8d\\xf5\\xcf\\x72\\x21\\x24\\x62\\xe0\\x47\\xba\\xbb\\xcd\\x46\\x30\\x66\\xe7\\xf8\\x3c\\xe3\\xe2\\x3e\\x37\\xce\\x72\\x65\\x51\\xdf\\xd3\\x65\\xd5\\xdb\\x5a\\xe2\\x31\\x16\\x3a\\xc2\\x64\\xd2\\x03\\x8b\\x22\\x96\\x3c\\xd3\\xbd\\x27\\xfc\\x6b\\x2a\\x4e\\x43\\xda\\x48\\x14\\xed\\x7f\\xd0\\x9e\\x53\\x5a\\x90\\x72\\x76\\x98\\x00\\x1f\\xbf\\x09\\xfc\\xfe\\xbe\\x8f\\xef\\xd2\\x3d\\x64\\x2a\\x7e\\xef\\xf0\\xec\\xf1\\xc1\\xa1\\xbe\\xa2\\xd1\\xd3\\xe6\\x07\\xb2\\xe0\\x8d\\xed\\x6c\\x0c\\xe7\\x46\\x6a\\xbc\\x9b\\x45\\x53\\xff\\xd0\\xd0\\x4f\\xfe\\xe4\\xdc\\x77\\xa1\\x7b\\xcd\\xb5\\xb7\\x75\\xdd\\xe2\\x2b\\xa7\\xa6\\x38\\x45\\xfb\\x51\\x4a\\x7b\\x36\\x1a\\x1d\\x0b\\xb1\\x13\\x56\\x5d\\x76\\x1b\\x11\\x04\\x94\\x6d\\xcb\\xce\\xc9\\xf5\\xc9\\x2d\\x71\\x1f\\x58\\xb3\\xec\\x16\\xa3\\xa5\\x25\\xee\\x32\\x5a\\x09\\x1a\\x17\\x27\\x5a\\x1f\\x23\\x92\\xda\\xb1\\x91\\x1e\\xe7\\x43\\xeb\\x2e\\x31\\xb2\\xa2\\x2a\\x8d\\xfc\\x20\\x46\\x4e\\x3a\\x0f\\xce\\x82\\x3f\\x67\\x54\\x7d\\x51\\x34\\x7a\\xfa\\xa2\\xbc\\xac\\xd7\\x2d\\xaf\\x7f\\xac\\xd2\\xee\\x5f\\xbc\\xfb\\xfa\\xf2\\x47\\x1c\\x8d\\xbe\\x72\\xf1\\x2c\\x70\\x5f\\xfc\\x9b\\xdb\\x26\\x9d\\xfc\\x8e\\x53\\x7d\\xff\\xee\\x49\\x6c\\x6f\\x39\\xa3\\xb5\\x8a\\xca\\x71\\x61\\xf7\\x73\\xb4\\x49\\xab\\x8d\\xb9\\x09\\x6d\\x84\\xed\\x0e\\x22\\x5c\\x17\\xb7\\x12\\x3f\\xa9\\x20\\xc4\\x44\\x2c\\xe4\\x39\\xf0\\xa2\\x38\\xb2\\x74\\xbf\\xf8\\xa4\\xd1\\xd2\\x64\\x41\\x2c\\x58\\x8c\\x1a\\x52\\x16\\x54\\xa1\\x14\\x5d\\x2c\\xcc\\x5e\\xb4\\x5a\\x9b\\x1d\\xf2\\x40\\xe1\\x8a\\xf5\\xeb\\xb3\\xf3\\xb3\\x6b\\x42\\x91\\x86\\x7d\\x53\\x2f\\x2c\\x6a\\x28\\x8a\\xb8\\x3d\\x9e\\xfc\\xfc\\xa2\\xb2\\x61\\x3c\\x16\\xdc\\x39\\xd8\\xd2\\x7d\\x10\\xd9\\xd1\\xe0\\x98\\xcb\\x22\\xd2\\x0c\\x45\\xd1\\xe1\\x24\\xba\\xad\\x71\\x44\\xc0\\x49\\xac\\x64\\x2f\\x78\\x77\\xc7\\xad\\x16\\x4a\\xc2\\x5e\\x9a\\xa5\\xd5\\xd1\\x64\\x65\\x59\\xa6\\xe7\\xa9\\xce\\x7c\\x88\\xea\\xa9\\x35\\xda\\x24\\x4d\\xa8\\x36\\x17\\xb0\\x65\\xcb\\xa6\\xa6\\x41\\xde\\xca\\xfe\\x83\\x9a\\x87\\x0f\\x59\\xdd\\x32\\xe5\\xcd\\xf6\\x15\\xee\\xd1\\xb6\\xda\\xba\\xb2\\x81\\xd2\\x48\\xdd\\x04\\xda\\x9e\\xbc\\xa5\\x4c\\x41\\x25\\x72\\x48\\xdb\\x4f\\x6c\\xa6\\xb6\\x58\\x94\\x24\\x9d\\x4c\\x4d\\xb1\\xc4\\x06\\xfe\\x93\\xc6\\x47\\x75\\xe1\\x9c\\xd4\\xb8\\xb3\\x4f\\xc9\\xa4\\x49\\x93\\xe4\\x50\\xd7\\x00\\xf2\\x87\\x93\\x3f\\xb2\\x6f\\xaa\\xfb\\x76\\x8a\\xe7\\x1b\\x8a\\xc7\\xc8\\xe7\\xdf\\x41\\x66\\x9b\\xc8\\x00\\x63\\x13\\xb5\\x1c\\xa2\\x9e\\x6d\\x53\\xaf\\xa0\\x36\\xa7\\x22\\x39\\xaa\\x1b\\xe9\\xd9\\x75\\x13\\xb1\\xf3\\xc0\\xca\\xd4\\xa4\\x7c\\xb3\\x7f\\x3f\\x7c\\xb8\\x7f\\xbf\\x32\\x65\\x8c\\xae\\x66\\xcc\\x98\\x1f\\xfe\\x38\\x86\\xd9\\x2f\\x46\\xdf\\xe7\\x14\\xaf\\xc0\\xe2\\x53\\x30\\x47\\x48\\x14\\x88\\xa6\\x24\\x2a\\x49\\x32\\xa5\\xe7\\xf3\\xdf\\x4d\\x92\\x56\\xdd\\xf3\\xe3\\x65\\xba\\x3f\\x73\\x9b\\x97\\xa9\\x95\\x49\\xa0\\x7a\\x25\\x50\\x22\\x44\\x75\\x81\\x15\\x68\\xf2\\x4d\\x13\\x84\\x4a\\x26\\xfd\\x4e\\x0e\\xfd\\x50\\x29\\xaf\\xbb\\x47\\xcb\\xe3\\x5b\\x0a\\x2f\\xa2\\x8c\\x98\\x1e\\x03\\x08\\x82\\x04\\x02\\x4b\\x12\\xe9\\xc9\\x86\\xd2\\x17\\xb0\\x97\\x1c\\x50\\x28\\x2d\\x3f\\x6c\\x18\\x47\\x33\\xa2\\xfd\\x99\\x2d\\x50\\x04\\xdf\\x0b\\x4f\\x38\\x8a\\x44\\x3d\\x8b\\x4b\\x2a\\x7c\\x87\\x8e\\x28\\xbb\\x91\\xe1\\x29\\x68\\x2b\\x82\\x22\\xc4\\x42\\x99\\x42\\xf7\\x66\\xf1\\x59\\x1c\\x94\\x4e\\xd0\\xba\\x75\\xc7\\x0c\\x3a\\x2b\\x82\\x1c\\x5a\\xe1\\x16\\x66\\x13\\xf7\\xcf\\x98\\xc1\\x5c\\x80\\xe4\\xc9\\x1c\\x11\\x6d\\x76\\xad\\x16\\x07\\x33\\x9e\\xbb\\x6d\\xf3\\x0e\\xe9\\x4e\\x61\\xc8\\xd8\\x96\\x45\\x06\\xe9\\xc4\\x96\\x5b\\x36\\x2e\\xcd\\xca\\x75\\xe6\\x8d\\x8e\\x2d\\x9a\\x88\\xd4\\x7c\\x2b\\xc9\\xab\\xc2\\x13\\x36\\x9e\\xaf\\x2d\\x44\\xf9\\xfb\\x3a\\xfd\\x95\\x85\\x6f\\xf0\\x58\\xec\\xa5\\xfd\\xfc\\x63\\xd4\\xd7\\x6d\\x13\\x9e\\x76\\x48\\xa2\\x83\\xc3\\xfb\\xba\\x3f\\x13\\xbe\\x16\\x7e\\x47\\xef\\xd5\\x38\\xb1\\x2b\\xba\\xff\\x4a\\x8e\\x09\\x4f\\xd1\\x7b\\xc2\\xef\\x87\\x77\\xff\\x55\\xe8\\xe0\\xf0\\x02\\x3f\\xab\\xe2\\x25\\xea\\x83\\xde\\xc3\\xdf\\x1b\\xf9\\xfb\\xcb\\xba\\x4f\\x90\\x1b\\xa5\\xad\\xf4\\xde\\xc4\\xef\\xa9\\x4a\\x0b\\xdb\\x68\\xb9\\x25\\xd1\\xac\\xe1\\xfb\\x8e\\xc2\\xb3\\xf4\\x19\\x3c\\xfd\\x11\\xda\\xcf\\x5b\\xcd\\xdf\\x67\\x72\\x7d\\x9a\\x8a\\xb1\\xd0\\x28\\xcc\\xa7\\x12\\x96\\xf1\\xa4\\x84\\x01\\xef\\x85\\x79\\x4f\\xc4\\x81\\x76\\xec\\x5a\\x51\\xc3\\x3e\\xa6\\xdd\\xcc\\x6f\\xa8\\x65\\xe1\\x69\\x02\\x42\\x61\\x57\\x24\\x00\\xbf\\x6a\\x7e\\xb6\\x19\\xae\\xc6\\xf8\\x59\\xd8\\xa9\\x4c\\x52\\x69\\xde\\x89\\x90\\x24\\x89\\xaf\\x51\\x5e\\xfb\\x78\\x59\\x7f\\x12\\xa5\\xe4\\x73\\xf1\\xbb\\xf4\\xe7\\xe8\\xe3\\xd3\\xc0\\x87\\x84\\xef\\xc8\\xe4\\xee\\x87\\xcf\\x98\\x2e\\xa4\\xa6\\xa3\\xef\\x39\\x1c\\xe7\\x99\\x8f\\xf3\\xac\\x88\\xf1\\x8c\\xf3\\x76\\xad\\xca\\x4b\\xe5\\x9e\\x5e\\xcf\\xbf\\x4d\\x3e\\xd7\\x78\\x9c\\x7c\\xfe\\x1d\\xae\\x4b\\x7c\\x4a\\x79\\xf1\\x06\\xe5\\xe5\\x35\\x94\\x97\\x45\\x22\\xa8\\xcf\\x61\\x07\\xc3\\xdf\\xfd\\x54\\xf7\\xd7\\xb8\\x85\\xf2\\xac\\x88\\x09\\x27\\x7b\\x8e\\xf6\\xf2\\x7c\\x93\\x75\\x53\\xc4\\xea\\x86\\xc9\\x14\\x2c\\xec\\x9e\\xcb\\x64\\xca\\x5a\\x0a\\xa5\\x4c\\xa6\\xd2\\xea\\xab\\x88\\xd5\\x17\\x83\\xc1\\x51\\x0e\\x83\\xad\\x43\\x61\\xa8\\x0a\\xd3\\xfd\\x7d\\xf7\\x77\\xf0\\x0a\\x87\\x11\\x35\\xd9\\x0c\\x69\\x78\\x0a\\xa1\\x50\\x83\\xf9\\x47\\xf7\\xb7\\x78\\x12\\xcf\\x4b\\xd2\\x60\\xb2\\x34\\x98\\x72\\x28\\xd7\\xf2\\xba\\x8d\\xd7\\x35\\x83\\xd1\\x69\\x79\\x35\\x2b\\x9d\\xc8\\xb2\\x07\\xae\\x1d\\x04\\xd6\\x41\\x30\\x88\\xc7\\xff\\xa5\\x70\\x12\\x0e\\xa5\\xe9\\x82\\x24\\x7c\\x57\\x3b\\x8d\\x63\\x4a\\x6a\\x02\\x97\\x13\\xe5\\x02\\x2e\\x27\\x45\\xa2\\x41\\x2b\\xdb\\x15\\x5a\\x7e\\x21\\x08\\x69\\x34\\x25\\x65\\xaf\\x88\\xc9\\x1e\\xe7\\xd7\\x4b\\x9c\\x2f\\x49\\x19\\x2c\\x62\\x32\\xc8\\xd3\\x5e\\xd2\\xfd\\x21\\x4f\\x3b\\x1c\\x86\\x6b\\xb4\\x5a\\xba\\x4f\\x52\\xbe\\xb0\\xb4\\x16\\xad\\x0e\\x6e\\x54\\x79\\x4d\\x1b\\xf9\\x06\\x9e\\xaf\\x4d\\xe3\\xf5\\x66\\x8e\\x73\\x21\\xed\\xdf\\x34\\x73\\x9a\\xed\\x5a\\xd9\\xc6\\x76\\x5f\\x4a\\xcb\\x86\\xfd\\x65\\x60\\x2d\\x83\\xb2\\x64\\xd9\\xe6\\x28\\x17\\x91\\xf7\\x38\\x5e\\xa7\\x06\\xd7\\xd2\\x3d\\x86\\xe7\\x1d\\x83\\x98\\x46\\x37\\x95\\x1e\\xf2\\x25\\xc7\\xe5\\xd2\\x60\\x2e\\xea\\x5e\\xc3\\x61\\x86\\xc0\\x10\\x8d\\x3e\\xb6\\x26\\x76\\x10\\xa7\\xc3\\xa3\\x95\\xc1\\xa7\\x5c\\x89\\xfc\\x31\\x27\\xb4\\x8e\\x07\\xeb\\x78\\x18\\x0f\\xb1\\xf1\\x50\\x39\\x1e\\xf2\\xe8\\x25\\x0b\\x46\\x1c\\xe5\\x04\\xa8\\xf2\\xaf\\x53\\xd6\\x0a\\x01\\x8e\\xdf\\xab\\x95\\xcd\\xdb\\xfd\\x66\\x9a\\xee\\x15\\x31\\xdd\\xe3\\x38\\x37\\x6b\\x3c\\xcd\\x87\\x7c\\x2d\\x5f\\x2e\\xeb\\x9c\\x7e\\x5f\\xba\\x8c\\xa7\\xf4\\xb4\\x88\\xe9\\x29\\xa7\\x79\\xa6\\x96\\x56\\xad\\xd8\\xa8\\x8a\\x1f\\x8e\\x8a\\x8f\\xaa\\x72\\x44\\xd3\\xfe\\x13\\x1d\\xe5\\x3a\\xce\\xe5\\x5a\\x6c\\x4f\\xc9\\xf5\\x0f\\x70\\x4f\\x8f\\xed\\xe0\\xcf\\x8d\\xda\\xf3\\xad\\xfc\\x39\\xe7\\x0f\\x7f\\xee\\xd2\\x9e\\x1f\\xe1\\xb6\\xe1\\x32\\xaa\\x37\\xc7\\xa4\\xad\\xa8\\x19\\x45\\x9f\\x8c\\xf5\\x0b\\x8c\\xdc\\x0b\\xed\\x4f\\x0e\\x2a\\x89\\x96\\xec\\x85\\xf9\\x4f\\xc5\\xa3\\x81\\x40\\xf3\\xef\\x61\\x1e\\x6d\\x6a\\x03\\xd4\\x56\\xd8\\x61\\xa6\\xd6\\xd9\\x4d\\xcd\\xac\\x51\\xc3\\x9c\\xaf\\xce\\xe9\\xb3\\xf6\\x4e\\x3b\\x26\\x83\\xf6\\xe7\\x79\\x78\\x72\\x7e\\xde\\x88\\x67\\x20\\x54\\xe5\\x62\\xaf\\xb3\\xa6\\x36\\x3f\\xf5\\x36\\x52\\xcb\\x67\\xd7\\xf9\\x60\\x8a\\xd3\\xa3\\x2e\\xfb\\x62\\xa7\\xf5\\xef\\x1f\\x5a\\x1a\\x0c\\x58\\x2c\\x39\\x15\\x79\\xd5\\x16\\x03\\x1e\\xd5\\xaf\\xa8\\x28\\xb4\\xb8\\xa4\\xaa\\xce\\x66\\xd0\\x3b\\xbc\\x1f\\xdc\\x79\\xd7\\xdc\\x60\\x84\\x0a\\x76\\xe9\\xf4\\xb2\\xaa\\x62\\x7f\\x6e\\xed\\x3f\\xcf\\x55\\xca\\x83\\xd5\\x26\\x9d\\x38\\x25\\xb1\\x97\\xec\\x9d\\x37\\x71\\xfd\\xc0\\xda\\x3c\\xd6\\x47\\xcf\\x28\\x0b\\xc4\\x2a\\x0d\\x0e\\x87\\xdb\\xec\\xf5\\x64\\x46\\xaa\\xaf\\x8d\\xe7\\xfb\\x32\\x4b\\xeb\\xfd\\xca\\xeb\\xbf\\x9f\\x3f\\xcd\\x3f\\xa2\\x42\\x57\\x98\\x43\\xfa\\x97\\x0d\\x29\\x2f\\xfc\\xd7\\x56\\xe5\\xee\\xc1\\x65\\xc1\\xe1\\xfd\\xa5\\xfe\\x17\\x91\\x42\\xc6\\x8b\\xc4\\x1f\\x85\\x17\\xd0\\x67\\x52\\x15\\xf5\\x9a\\x0d\\x4f\\x20\\x3d\\x0f\\x34\\xcc\\xdc\\xb1\\x7c\\x41\\x0e\\xd6\\x14\\x04\\x22\\x9f\\x09\\x5f\\x28\\x7b\\x66\\x5e\\xb1\\x0a\\xd6\\x83\\x39\\x43\\xdc\\xb3\\xf2\\xd2\\xe7\\x77\\xab\\xfe\\xca\\x87\\xc2\\x0b\\xe4\\x27\\x2d\\x9d\\x0e\\x92\\xe9\\x22\\x79\\x82\\x37\\x58\\x54\\x50\\x0a\\x1f\\x66\\x80\\x09\\x36\\xac\\xba\\x62\\xa6\\xb2\\xe7\\x0b\\x41\\xaa\\xda\\xfd\\xfc\\xa5\\x2b\\x79\\xba\\xc4\\x07\\xc2\\x3e\\xf4\\xb1\\xf8\\x67\\xb6\\x2e\\x2d\\x66\\xa6\\xa6\\x9c\\x58\\x8d\\x7e\\x63\\x85\\x91\\x18\\x75\\xd4\\x6d\\x9d\\x51\\x45\\xfb\\x61\\x14\\x8d\\xba\\x06\\x4e\\x8d\\x98\\xe6\\xfd\\xb8\\xed\\xb1\\xc6\\x73\\x2f\\x18\\xec\\xb8\\x2e\\xef\\xfd\\x67\\x2f\\x3a\\x26\\x74\\x7a\\x8b\\xbd\\xe1\\xaa\\x2d\\xeb\\xb4\\x78\\xb2\\x1f\\x0b\\xfb\\xc8\\xe7\\x14\\x9f\\x85\\xf6\\xbc\\x2d\\x16\\x86\\x4f\\x0b\\x12\\x46\\x8c\\xac\\x0f\\x30\\xc3\\xae\\x62\\x4c\\x45\\x5d\\x63\\x01\\xf3\\x3e\\x9e\\xf5\\xf8\\x88\\xcb\\x2f\\x75\\x5d\\xef\\x5b\\xfc\\xc4\\x9a\\xb1\\x8f\\x4c\\x15\\x6f\\xcd\\x28\\xa9\\x1e\\xd6\\x71\\x41\\x34\\xdf\\xad\\xae\\x47\\xe5\\x6b\\xb0\\xc5\\x97\\xd8\\xfa\\x64\\x4a\\x27\\xdb\\x55\\x99\\x83\\x02\\xfc\\x04\\xf1\\x0a\\x34\\x44\\x5b\\x93\\xba\\x10\\xad\\x44\\x3f\\xc6\\x36\\xca\\x7e\\xbf\\x43\\xca\\xcd\\x75\\x18\\xc1\\xed\\x76\\x5c\\x30\\x37\\xa3\\x64\\x51\\xdb\\x98\\x51\\xe7\\xcc\\x98\\xd1\\xd8\\x32\\x6a\\xea\\xd0\\xea\\x08\\x71\\xd6\\x37\\x34\\x38\\xcf\\x8a\\x0c\\x1d\\xd5\\xd8\\x56\\x32\\xd7\\x50\\x6a\\x40\\x0e\\xc7\\xaa\\xfc\\xcc\\x70\\xb8\\xd4\\x1a\\x0a\\x95\\x5a\\x8a\\x8a\\x82\\x59\\xa5\\xa5\\x17\\x19\\x83\\x61\\x4f\\xd9\\x8c\\xda\\xe5\\xcb\\x1b\\x2b\\xdb\\xa7\\x9f\\x03\\x59\\xe7\\xcf\\x9f\\x3f\\xf2\\xac\\x49\\x93\\x06\\x8d\\x2c\\x6b\\xaf\\x3e\\x27\\x6b\\xe4\\xc8\\xac\\x73\\xaa\\xdb\\xcb\\xa4\\xec\\x7e\\x79\\xae\\x70\\x38\\xe4\\x77\\x96\\x9a\\x0a\\xac\\x32\\xf1\\xf9\\x6c\\x3a\\x21\\x9b\\x96\\x51\\x3b\\xf6\\xe6\\x40\\x55\\xea\\x52\\x8d\\xc6\\xcf\\x03\\xf2\\xab\\x93\\xdc\\xc9\\xb1\\x7e\\xd5\\x0b\\xb2\\xed\\xab\\x52\\xfd\\x92\\xb4\\xe9\\x1c\\xf5\\xeb\\x94\\x79\\x9e\\xf4\\x31\\x9d\\x5e\\xa3\\x4e\\x51\\xea\\x40\\x89\\x6c\\x4b\\x2f\\x75\\xa2\\x58\\x48\\x05\\xfa\\xa1\\xbd\\x33\\x50\\x7b\\x76\\x69\\xcf\\x45\\xde\\x6f\\x2b\\xcc\\xe7\\x8e\\x21\\x73\\x11\\xa9\\xe7\\xc5\\x02\\x4f\\x15\\xba\\x24\\x76\\x94\\x4a\\x1e\\x1b\\x8e\\xcb\\x05\\xa2\\x1d\\xac\\xe2\\xd5\\x7e\\xc1\\x16\\x48\\x76\\xa9\\xd2\\x97\\x23\\xea\\xd0\\x9c\\xe3\\x30\\x2c\\xf1\\x92\\xf2\\x7b\\x18\\x86\\x1b\\xe6\\xcc\\xe9\\xbc\\x94\\x5d\\x09\\xeb\\x95\\xdf\\x1f\\x9f\\xf3\\xd3\\xb0\\xe3\\x73\\xd4\\x6b\\x18\\x76\\xf2\\xee\\x39\\x73\\x48\\x2e\\xbb\\x62\\xb0\\x73\\x8e\\x8b\\x68\\x46\\xab\\x7b\\x91\\xa9\\xa4\\xb2\\xaa\\x6c\\xe6\\x1f\\xe7\\x28\\x5b\\x6e\\xdd\\xf2\\xd8\\x6f\\x20\\x77\\xcc\\xd8\\xd9\\x1d\\xb7\\xc7\\x27\\xe7\\xe5\\xed\\xaa\\x98\\x3b\\xb7\\x7a\\xd0\\x4b\\x4a\\x4c\\x79\\xe7\\x86\\xeb\\xae\\xbb\\xf1\\xfa\\xeb\\x2e\\x88\\x4f\\x6f\\x9b\\x32\\x6d\\xfa\\x8c\\xb8\\xb0\\xfe\\xf8\\x9c\\x39\\x73\\xba\\xd6\\xc3\\x30\\x78\\x6f\\xce\\xc9\\x86\\x39\\xc7\\x85\\x4c\\x4a\\x00\\xbd\\x80\\xf7\\x60\\x58\\xd7\\xfa\\x39\\x34\\xc7\\xe3\\x27\\x5a\\x2f\\x72\\x8c\\x1e\\x3e\\xac\\x15\\x3e\\x99\\x96\\x78\\xf5\\xd2\\x8b\\xff\\x79\\xde\\x6a\\x52\\xba\\x6f\\x78\\x87\\xdd\\xb8\\x08\\x82\\x43\\xeb\\x14\\xe5\\xd3\\x11\\xa3\\x94\\x77\\x61\\x98\\x32\\xed\\xf0\\x3b\\x47\\x0f\\x1e\\x3c\\xfa\\xf0\\xf6\\x5b\\x1e\\x7a\\xf4\\x8e\\x9b\\xb8\\xec\\x46\\xa9\\x2d\\x64\\xe3\\x6e\\xf9\\x6c\\xb5\\x86\\xd3\\x6e\\xb3\\x65\\x67\\xf8\\x4c\\x56\\x2b\\xca\\xcb\\xf3\\xb9\\x48\\x90\\x8a\\x55\\x41\\x9e\\x2d\\x33\\x27\\xb3\\x25\\xce\\x7a\\x2c\\x79\\xd9\\xb4\\x17\\x90\\x9d\\x9d\\x63\\x75\\xb9\\xc5\\x3e\\x33\\x56\\x15\\x0d\\xc9\\x93\\x91\\xb4\\xa1\\xb8\\xf4\\x05\\xcc\\x5a\\xa7\\xa5\\x67\\xae\\x8a\\x1f\\xf8\\x1c\\x60\\x67\\x82\\xd6\\xb2\\x63\\x00\\x83\\xf4\\x37\\x40\\xbb\\x31\\x12\\x31\\x16\\xe4\\x9c\\x15\\x73\\x57\\x2c\\x1e\\x31\\x72\\xbc\\xad\\x5d\\xf9\\xfe\\xfc\\x41\\xd1\\x3d\\xba\\xb1\\x4d\\x05\\x2b\\xae\\x6c\\xac\\xab\\x27\\xf7\\x59\\x7f\\xd7\\x66\\xd7\\xa6\\xab\\xda\\x26\\x87\\xcf\\xc5\\xe5\\xca\\xc0\\xc4\\x8d\\xe5\\xc3\\x36\\x5d\\x03\\x6f\\x6c\\x7c\\x73\\x52\\xe2\\xbd\\x73\\x54\\x7d\\xdc\\x2c\\xb4\\x93\\xa9\\xe2\\xe3\\x54\\x6f\\xea\\x62\\x7e\\xa3\\x81\\x08\\x6c\\x3d\\xaf\\x91\\xf6\\xae\\x40\\x4f\\x88\\x4e\\x87\\xb6\\xc5\\xad\\x3a\\xbf\\x6e\\x97\\xee\\x88\\x4e\\xa0\\x1a\\x3f\\x83\\x9f\\xa8\\x4c\\x49\\xaf\\xab\\x48\\x5f\\xd2\\x47\\x55\\xd5\\x4b\\x55\\x35\\x8f\\x09\\x0d\\x7c\\x3b\\x69\\x53\\x73\\xac\\x6e\\xf1\\x6f\\x66\\x2a\\x3f\\x54\\xdd\\xef\\x9c\\x26\\xbc\\xdc\\x71\\x55\\xf6\\xf2\\x55\\x23\\xff\\x95\\x7d\\x4e\\x9c\\xf5\\x9b\\xc8\\x36\\x98\\x43\\xfb\\xb3\\x0e\\x94\\x1f\\x33\\x99\\xd9\\x6a\\x5c\\x17\\xeb\\x37\\xd9\\x68\\xff\\x25\\xe7\\x89\\x73\\x6d\\x7c\\xa2\\x3a\\x35\\x0e\\x00\\xac\\x8b\\x34\\x18\\xa7\\xf5\\x91\\xe6\\x6c\\xb9\\x7b\\x58\\x4b\\x51\\x4e\\x30\\xa7\\xb6\\xb4\\x6a\\xa8\\xf0\\xe8\\xe2\\xab\\x0a\\x1b\\xac\\x25\\x95\\x21\\xbb\\x2f\\x3b\\xe4\\x2f\\x2a\\x1e\\xab\\x96\\xa9\\x46\\x68\\x83\\x62\\xf1\\x08\\xb5\\x0c\\x25\\x31\\x13\\x32\\x12\\xe2\\xb0\\xb3\\x3c\\x2c\\xac\\x8f\\x14\\x33\\x9e\\x6b\\xb5\\xf8\\x2d\\xbb\\x2c\\x47\\x2c\\x82\\x85\\x15\\xa8\\x34\\x39\\xd8\\x57\\xcd\\x22\\x9d\\xbb\\x5d\\xb9\\x58\\x1d\\xb0\\xab\\xe9\\xe9\\x8d\\x09\\xc7\\xfb\\x74\\xc7\\xba\\xbb\\xa1\\x42\\x98\\x89\\x77\\x88\\x5b\\x6c\\x12\\xdb\\x73\\xf6\\xcb\\xf7\\xe8\\x47\\x7a\\x7f\\x80\\xdf\\xaf\\xfc\\xe5\\x7b\\x04\\x8a\\x57\\x3c\\xd8\\xfd\\x07\\xb9\\x94\\xf2\\xc9\\xf4\\x24\\xd1\\x99\\xad\\x7c\\x94\\x81\\xf6\\x85\\xd4\\x28\\xe7\\x6c\\x19\\x1e\\x5b\\x4b\\x18\\x8c\\x0e\\x86\\xe3\\x91\\x92\\xa6\\x46\\xff\\xb4\\x85\\x5f\\x8d\\x3f\\x77\\xe9\\x88\\x4a\\xe9\\x12\\x7f\\x7e\\xc6\\xec\\xdc\\x1b\\x06\\x9e\\x63\\xac\\x5a\\x45\\x72\\xb9\\x0d\\xb7\\x8b\\x07\\x95\\x97\\x4f\\xc5\\x05\\xa7\\xe2\\x52\\xb2\\x7e\\x1e\\x19\\x74\\x4d\\xa5\\xb8\\xf4\\xff\\x15\\xae\\x44\\xfb\\xcf\\xe2\\xa2\\x65\\x5e\\x2b\\xb4\\x92\\x12\\x71\\xae\\x4d\\xc2\\x3b\\xd0\\xe9\\xee\\x8f\\xd3\\xfb\\x80\\x78\\x11\\xbd\\xbf\\x85\\xdf\\x3f\\x4a\\x79\\xa4\\x88\\xd7\\xd2\\xfb\\x4d\\xbc\\x0f\\x67\\x55\\x0e\\x76\\xbf\\xd2\\xbd\\x82\\xf6\\x4b\\x75\\x8f\\x23\\xb6\\x75\\x87\\xf7\\x15\\xdd\\xff\\x7c\\x4a\\x39\\xb8\\x73\\xe7\\x2f\\xf3\\xfc\\x97\\xea\\x2c\\x59\\x07\\x0e\\x09\\xbf\\x76\\xba\\xfb\\x5f\\xa4\\xff\\xff\\x78\\xdf\\xd5\\xad\\x1c\\x4c\\x3c\\xd9\\xbd\\xc2\\x26\\xeb\\x1d\\x89\\x6f\\x11\\xf7\\xf1\\xba\\x36\\xd3\\x67\\x0d\\xda\\xb3\\x8b\\xd5\\x67\\x9d\\x5f\\x28\\x07\\xbb\\xee\\x50\\x9f\\x75\\xbd\\xaf\\xc1\\x1d\\xa1\\x70\\x97\\x69\\x70\\x2f\\x6a\\x70\\xf7\\x51\\xb8\\x69\\x1a\\xdc\\x4d\\xea\\xb3\\xbe\\x79\\x26\\x16\\x2b\\x07\\x95\\x80\\x0a\\xa3\\xcc\\x54\\x61\\x94\\xcb\\x29\\x9f\\x07\\xa8\\xcf\\x28\\xb7\\xd5\\x67\\x7f\\xa4\\xcf\\xd6\\xd3\\x67\\x92\\xde\\xf1\\x1c\\xcb\\xef\\x27\\x9a\\xdf\\x23\\x5a\\x7e\\xff\\x50\\x61\\x12\\x6b\\x28\\xae\\xb0\\x86\\x6b\\x91\\xf6\\xac\\x83\\x3e\\xcb\\xd4\\x9e\\x4d\\xd1\\x68\\xdd\\x41\\xd3\\x4e\\xd0\\xd2\\x6e\\xd1\\xe0\\x82\\xf4\\xd9\\x31\\x0d\\xce\\xa5\\xc1\\xd5\\x53\\xfa\\xbf\\xd6\\xe0\\x4a\\x4f\\x4f\\xff\\xff\\xec\\x9e\\xc7\\x5d\\x45\\xf0\\x3b\\x6a\\xd3\\x65\\xd4\\x2f\\xe6\\x42\\x44\\xa0\\x9e\\x88\\x4e\\xaf\\xcd\\x9b\\xa4\\x0d\\x30\\x95\\xa6\\x99\\x3b\\x3e\\xa0\\x14\\xaa\\x0d\\x80\\x9f\\x8d\\x1e\\x6d\\x67\\xeb\\x91\\x1a\\x7d\\xe5\\x6c\\x62\\x04\\x91\\xee\\x11\\xe2\\x6d\\xf0\\x9a\\x36\\x16\\x9c\\x85\\x1c\\x4f\\x9b\\x7d\\x3e\\x84\\x9d\\x32\\x57\\x13\\xee\\xda\\x10\\x36\\xc7\\x72\\x86\\x15\\xee\\xcf\\x39\\xf1\\x32\\xe7\\x94\\xaa\\xc2\\xc2\\xea\\xea\\xc2\\xc2\\x2a\\xe5\\x15\\x7a\\x15\\x8d\\xd2\\x2b\\xe9\\xa9\\xc5\\x8b\\x9f\\xe7\\x97\\xec\\x85\\xfa\\x4b\\xf3\\xba\\x44\\x18\\x02\\x97\\x89\\xdf\\x52\\xbf\\xc7\\x4e\\x3d\\x1e\\xd7\\x1e\\xb7\\x9e\\x3a\\x40\\x24\\x8b\\xeb\\x24\\x1b\\x94\\x61\\x8e\\x14\\x5b\\xdb\\x22\\xca\\x3d\\x11\\x36\\x8b\\x0a\\xd3\\xae\\xc7\\x0a\\xbf\\x7a\\x48\\x50\\xbe\\xf9\\x2a\\x99\\x23\\x0c\\x4a\\xe6\\x28\\x5a\\xbc\\xaf\\x65\\xfe\\x61\\x59\\x5a\\x7e\\xec\\x97\\xe6\\x29\\xd3\\x3c\\x87\\xd1\\x3c\\xf9\\xb8\\x2b\\xca\\x89\\x99\\xf4\\xee\\x5c\\x9f\\x9b\\xfe\\xcf\\xcc\\xb0\\xaa\\xc3\\xc6\\xea\\x12\\x23\\x3e\\x20\\x72\\x86\\x62\\x12\\x6f\\x6d\\xc4\\x0a\\xc1\\x50\\xed\\x0f\\xa7\\x16\\x75\\xed\\x91\\x1f\\x07\\x89\\x1f\\xbc\\x78\\x8b\\x28\\xdc\\xda\\xa7\\xc0\\x50\\xb9\\x76\\x6d\\xe0\\xa5\\x97\\x02\\x7c\\x2d\\x4d\\xb7\\x5e\\x18\\x82\\x7e\\x48\\x2b\\xbb\\x35\\x8b\\xb2\\x9b\\x50\\x0e\\xa4\\x95\\x9d\\x9d\\xcd\\x2c\\x7b\\xcf\\x40\\x84\\xe9\\x90\\xf0\\xd0\\x10\\xe1\\xd0\\xa9\\x14\\x88\\x96\\x3f\\x64\\xbe\\xe6\\x5d\\xd6\\x97\\xdd\\x08\\xd3\\xba\\xbd\\x11\\x0e\\x69\\x75\\x6b\\x7a\\xd2\\x8c\\xb0\\xcc\\x0f\\xd4\\x38\\xb5\\x4e\\x69\\x3d\\x2e\\x77\\x7e\\x91\\x9a\\x55\\xa1\\xb5\\xf7\\x84\\x7a\\x19\\xe3\\xf3\\x33\\x56\\xf1\\x5a\\x0d\\x4f\\x16\\xe5\\xa0\\x25\\x43\\x6f\\x8b\\x19\\xed\\x4d\\x36\\x1b\\x46\\x6e\\xb3\\xc0\\x3c\\xc4\\x7d\\x54\\x54\\x4a\\x23\\xaa\\xb0\\xc8\\x24\\x3f\\x8c\\x55\\xf7\\x9a\\xa2\\xce\\xc5\\xda\\x52\\x33\\x9e\\xc5\\x97\\x15\\xa3\\x87\\x9e\\x15\\xc8\\x2d\\xf6\\x39\\x22\\x15\\x8f\\x57\\x34\\x0f\\x39\\x2b\\xaf\\xac\\xc6\\x56\\x9d\\x75\\x3e\\xcb\\x51\\x79\\xdf\\x5f\\xe4\\xb7\\x67\\x96\\x3e\\x46\\x7f\\x0a\\x2b\\xa7\\x4f\\xa4\\xb2\\x7e\\x27\\x65\\xdc\\x1e\\xf1\\x12\\x2a\\x24\\x45\\x31\\x9b\\x0c\\x6c\\xfc\\xca\\x60\\xc4\\xb2\\x0c\\x3a\\x81\\x2f\\xb6\\x8c\\xec\\x53\\x67\\x94\\x21\\x39\\x1d\\x1b\\x08\\xda\\xb9\\x73\\x68\\x8f\\x90\\x3d\\x9b\\x94\\x7b\\x94\\xc3\\x30\\x17\\x4a\\x36\\x91\\xdb\\x61\\xfa\\x26\\xe5\\x2d\\x28\\x41\\xff\\x77\\x9c\\xd7\\x2a\\x1f\\x73\\x9c\\xf8\\x28\\x2e\\xd8\\xa4\\x8c\\x80\\xe7\\xfe\\x1f\\xe0\\xbc\\x52\\xf9\\x02\\x96\\x40\\xde\\x26\\xb8\\x83\\x4c\\xdb\\x94\\x98\\x86\\xef\\x4b\\xc7\\xa9\\x63\\xb3\\x3f\\x20\\x49\\x04\\x21\\xbd\\x41\\x02\\x99\\xed\\x7c\\xd4\\x30\\xa6\\xe3\\x4b\\x43\\xb7\\x41\\xf9\\x17\\x47\\x27\\xfc\\xb4\\xa9\\x6b\\x38\\xf9\\x1d\\xc5\\x35\\x26\\x1d\\x17\\xdb\\x39\\x49\\x31\\x11\\x02\\x22\\xd6\\x71\\x5c\\x11\\x6d\\x76\\x4a\\x1d\\xe6\\xa5\\xb4\\xe9\\xa1\\x56\\x0f\\x1c\\xd7\\x5e\\xa5\\x63\\x3a\\x0c\\x86\\xa6\\x4d\\xc2\\xab\\xca\\x21\\xb8\\x62\\x96\\xf2\\x26\\x54\\xab\\x3e\\xcb\\x84\\x54\\x99\\x0b\\x62\\xd6\\x64\\x99\\x89\\x24\\x81\\xa8\\xe7\\x48\\xd3\\x70\\x6a\\x25\\x0e\\x40\\x2d\\xdb\\x5d\\xce\\xd0\\x5e\\xaf\\x6c\\x69\\x87\\x91\\x50\\xbd\\x89\\xdc\\x0f\\x4b\\x66\\x29\\x7b\\x61\\x02\\xc7\\x99\\xa4\\x53\\x66\\x38\\x45\\x00\\x5a\\x66\\x9d\\x1e\\x8b\\x22\\x08\\xb2\\x86\\xf3\\x14\\x2e\\xd6\\xaa\\x85\\x4e\\xe4\\xb6\\xe2\\xcb\\x36\\xe1\\x51\\xf8\\xd0\\xcc\\xc4\\xad\\xf8\\xc2\\x34\\x5c\\xbd\\xe8\\xe3\\x75\\x22\\x9e\\x1e\\x57\\x94\\x96\\x1a\\x9c\\xf6\\x64\\xb1\\x27\\xc2\\x93\\xef\\x6f\\xfa\\x12\\xdf\\x0b\\x57\\x2c\\x52\\xe6\\x2b\\x15\\x64\\x01\\xc5\\xd9\\x98\\xe2\\x63\\x5e\\xcc\\x9c\\x56\\x27\\x42\\x12\\x63\\x3a\\xbe\\x34\\x74\\xf7\\x2b\\x4b\\xa7\\xc1\\xa3\\x1f\\x6f\\x22\\xbf\\x85\\x35\\x1d\\xca\\xc2\\xc4\\x6d\\xe4\\x24\\x2f\\x2f\\xc5\\x87\\x97\\x9e\\xae\\xbc\\x92\\xf0\\x73\\xe5\\xc5\\x4b\\x37\\x29\\x33\\xa7\\xd1\\x4a\\xa1\\x82\\xbd\\x71\\x8e\\xf2\\x36\\xf4\\x63\\xbe\\xfe\\xe9\\xeb\\x58\\xc6\\xe2\\x2f\\xd5\\xf1\\x53\\xca\\x84\\x45\\xb4\\x32\\x68\\x1d\\xaf\\x4e\\xbc\\x85\\x3f\\x1d\\x9b\\x38\\x8e\\x03\\x6a\\x1d\\x47\\x53\\x3c\\x0c\\xc7\\x5c\\x49\\x1e\\x4a\\x84\\x72\\x51\\xa4\\xa8\\x53\\x8c\\xac\\xd0\\x7a\\x71\\xbd\\x28\\xe5\\xf8\\xed\\x3d\\x19\\xcc\\x82\\x30\\x2d\\xbf\\xf2\\x38\\xfe\\x74\\x74\\xe2\\x49\\x28\\x87\\x3c\\x8a\\x7f\\xdc\\x99\\x64\\xa8\\x07\\xf5\\x99\\x65\\xe8\\x01\\x65\\xd5\\x72\\x98\\x03\\xba\\x4d\\xf8\\x56\\xbc\\xa3\\x29\\x71\\x17\\x9e\\xc9\\x69\\x2e\\xff\\x9f\\xd6\\x3b\\xa3\\x14\\xbc\\x2a\\xce\\x1d\\x4a\\xdb\\x4a\\xb8\\xfe\\xc7\\x4d\\x60\\x81\\xd9\\xf8\\x8f\\x8d\\x89\\xc6\\x9f\\xc8\\x93\\x14\\x67\\x93\\x86\\x53\\xe2\\xf5\\x2e\\xb0\\xbd\\xcd\\x3a\\x5a\\xe9\\xea\\xd4\\x56\\xdf\\x7a\\x4f\\x89\\xa4\\xef\\x22\\x5a\\x51\\xe2\\xa0\\xe1\\x9d\\xdb\\x85\\x79\\x28\\x49\\xdb\\xff\\xb6\\xbe\\x47\\x2c\\xa3\\x15\\x84\\x27\\xe3\\x13\\x4d\\xbc\\x7a\\x00\\x15\\xa4\\xea\\x3b\\x65\\x73\\xce\\x5c\\xe3\\xf6\\x53\\xf5\\x7a\\xd0\\xc5\\x6a\\x9d\\xfb\\xba\\x3e\\x10\\xe2\\x55\\x5d\\x1f\\x90\\xa0\\x4a\\x63\\xe1\\xe9\\x6c\\x19\\xc3\\xab\\xfb\\x05\\xbc\\x51\\x8e\\xf8\\x65\\xa5\\x7a\\x3d\\x4c\\x65\\x9a\\x7d\\x47\\xe2\\x0a\\xa1\\x5f\\xb4\\xeb\\x6f\\xb8\\xe3\\x89\\xde\\x78\\xff\\x4f\\xb2\\xf4\\xa4\\x32\\x6c\\x2d\\x2c\\x83\\x6c\\xca\\x0b\\xe5\\x71\\xa1\\xa9\\xaa\\x6b\\x1d\\x38\\xf0\\x05\\x14\\x7f\\xe8\\xff\\x22\\x4b\\x37\\x28\\xb3\\x57\\xc3\\x65\\x60\\xda\\x04\\xe3\\x89\\x52\\xd5\\x35\\x95\\x3c\\xc0\\x79\\x51\\x71\\x5a\\x1b\\x9c\\xa6\\xf0\\x15\\xa7\\x68\\xbc\\x37\\x69\\x40\\x9a\\x36\\xc0\\x23\\x6f\\x6e\\x82\\x91\\x02\\xa9\\xed\\x72\\xbd\\x25\\xbc\\xac\\xf1\\x40\\xab\\x7f\\x2a\\x47\\xc9\\xfa\\x4f\\xaf\\xfd\\x5e\\xf6\\x28\\x55\\xf7\\x83\\xd6\\xd2\\x8a\\xfa\\xb7\\x30\\x5d\\xab\\x25\\xa0\\xfe\\x43\\x92\\xae\\x54\\x59\\x29\\x5d\\x18\\x64\\x2e\\x91\\x6c\\x7f\\x71\\x5d\\xdd\\x99\\x6b\\xbe\\x66\\x1d\\x8c\\x61\\xc6\\xe3\\x58\\x57\\xb1\\x38\\xbe\\xb2\\xab\\x98\\x1c\\xe3\\x73\\x99\\xa7\\xe3\\x1f\\xc5\\x29\\xea\\x7f\\x16\\x67\\x54\\x43\\x5a\\xb9\\x1e\\xe2\\x30\\x64\\x13\\x59\\xd1\\xb5\\x59\\x1c\\x57\\xd1\\xe5\\x25\\xe7\\x6d\\xd4\\xfa\\xb6\\xff\\x3b\\xbc\\x49\\x36\\x8e\\xdb\\x00\\x63\\xa1\\x6c\\x13\\xde\\x92\\xb8\\x40\\x9c\\x58\\xde\\x79\\x02\\x2f\\x86\\xc7\\xfb\\xe0\\x2d\\x89\\x39\\xd2\\xf5\\x5c\\xd4\\x33\\x69\\xe5\\x13\\xfb\\x67\\xd2\\xf6\\xc2\\x14\\xf6\\xf5\\xb0\\x1c\\xe4\\x4d\\x30\\x40\\xf9\\x03\\xc3\\xbe\\xf6\\x24\\xb9\\x9a\\xe1\\xae\\x4c\\xb5\\x43\\x99\\x2c\\xae\\x36\\xab\\x25\\x89\\xb7\\xbb\\x91\\x34\\x1b\\x5a\\x0c\\x14\\x53\\x84\\x61\\x52\\x4a\\x95\\xb1\\x97\\xc0\\xb6\\x2f\\x36\\x89\\x13\\xc3\\x9d\\x6c\\xb6\\x86\\xe1\\x28\\xd6\\xea\\x3a\\xcd\\x66\\xc8\\xba\\x9f\\xb5\\x19\\xac\\xaa\\x87\\x5c\\x02\\x83\\x19\\x1a\\xb5\\x56\\x50\\x9a\\x8d\\x94\\x51\\x76\\x8c\\x05\\x62\\x67\\x7b\\xce\\x80\\x48\\xbd\\x05\\x50\\x93\\xe7\\x10\\x04\\x58\\xb9\\x0e\\x29\\xbb\\x67\\xd1\\x72\\x7d\\x27\\xfc\\xa4\\xec\\x9d\\x05\\x4b\\x54\\x3c\\xcd\\x7d\\xf8\\x25\\x32\\x7e\\xc9\\x18\\x53\\x6c\\x3a\\x0d\\x1d\\xc3\\x77\\x1a\\x7e\\x85\\x92\\xb5\\xb1\\x47\\x79\\xe9\\x5c\\xb8\\x95\\x89\\xce\\x75\\x10\\x55\\xde\\xeb\\x80\\xd5\\xd4\\x27\\xa8\\xfe\\x7f\\x83\\xfb\\x66\\xe5\\xdd\\x73\\x38\\x6e\\x5c\\x8c\\x2f\\x51\\xbe\\x9f\\x0f\\xab\\x13\\x2f\\xe1\\x86\\xd3\\xe3\\x36\\x1a\\x7e\\x19\\x77\\x14\\xc4\\x14\\xee\\xcb\\x95\\x2f\\x27\\x72\\xdc\\x7f\\x27\\x8f\\x30\\xcc\\x5d\\x6f\\x90\\x72\\xce\\x93\\x99\\xe9\\xfa\\x2d\\x9d\\xd6\\x82\\xd6\\xa5\\xb5\\x99\\x69\\x28\\xaf\\x51\\xfe\\x3d\\x9e\\xa2\\xac\\xd9\\x24\\x5c\\xf5\\x57\\xca\\x87\\xae\\x41\\xe4\\x15\\x95\\x56\\xad\\xce\\x29\\x3e\\x91\\xcb\\xa4\\xac\\xa3\\x08\\xb1\\x74\\x5a\\x7b\\x61\\xa7\\x15\\xc6\\x6b\\xfd\\xe5\\x99\\x70\\xdb\\x26\\xe1\\x65\\xe5\\x83\\x05\\xb0\\xba\\xb7\\xef\\x47\\x65\\x47\\x6d\\xcb\\x05\\xda\\x4a\\x68\\xee\\x5a\\xdf\\x96\\x5c\\x66\\xae\\x1f\\xa3\\xaa\\x5b\\x59\\x0a\\x93\\x60\\xe0\\x26\\x61\\xdf\\xc7\\x9b\\xc0\\xd3\\xcb\\x2f\\xed\\x17\\xb3\\x27\\x75\\x44\\xc6\\x02\\x6b\\x72\\xf4\\xea\\x22\\xa2\\x8a\\xba\\x53\\xac\\x6d\\x9a\\x2b\\x79\\x2b\\xf5\\x9a\\x59\\xc3\\x8d\\x17\\xc0\\x1a\\x4a\\x26\\x3b\\xa6\\xb3\\xb7\\xbf\\x9b\\xa6\\xd3\\x82\\xdc\\x1b\\xeb\\x99\\x70\\xee\\x50\\xde\\x80\\x0d\\x60\\xdb\\x04\\x51\\xfc\\xe8\\xa6\\xc4\\xbf\\x48\\x41\\x6f\\x9c\\xdc\\xa6\\xa9\\xb6\\xd6\\xa0\\x27\\x12\\xab\\xe6\\xd3\\xe3\\x64\\x28\\x35\\xff\\xea\\x11\\x65\\x1f\\xec\\xf8\\xe7\\x26\\x72\\x62\\x53\\xa2\\x21\\xa9\\x37\\x2d\\x29\\x7c\\xa9\\xb2\\xb3\\xda\\x15\\x49\\x1a\\x1f\\x59\\xb7\\xeb\\x4c\\x76\\xf2\\x19\\x65\\x7e\\x1b\\xe4\\xc2\\xac\\x4d\\xc2\\xaa\\xc4\\x51\\xf8\\x6d\\xbb\\xf2\\x1e\\x9e\\xdc\\x5b\\x8f\\x2a\\x63\\xee\\x9e\\x76\\x8c\\x4a\\xa4\\xc8\\x91\\xeb\\x53\\x8b\\xb3\\x7e\\xa1\\x25\\xdb\\xab\\xcc\\x6d\\x83\\x81\\x4c\\x9b\\x1e\\x53\\x9e\\x81\\xdb\\xda\\x94\\xfd\\xb4\\x41\\xb6\\x25\\xfd\\xc2\\x53\\xdb\\x60\\x22\\x89\\x52\\x3a\\xfa\\x33\\xb7\\x66\\x1d\\xca\\xe3\\xed\\x50\\x02\\x33\\xa8\\x67\\x04\\x2b\\xa7\\x2b\\x4f\\x53\\xcf\\xa8\\x87\\x6e\\x99\\xe1\\x54\\xdb\\x1e\\xbd\\x8e\\x1d\\xd0\\x25\\x24\\xd7\\x93\\x9d\\xaa\\x9f\\x29\\x57\\x26\\x67\\x26\\xbe\\x62\\x13\\x84\\xf0\\xa7\\xb3\\x13\\x6b\\xc9\\xcd\\xbd\\xec\\xc9\\xff\\x8f\\xb5\\xeb\\x00\\x8c\\xa2\\xe8\\xfe\\x3b\\x6d\\x4b\\x12\\x02\\x21\\x14\\x43\\x0d\\x1d\\x84\\x24\\x64\\x77\\x2f\\x85\\x22\\xa4\\x5c\\xe8\\x45\\x5a\\xe8\\x70\\x24\\x97\\x02\\x49\\x2e\\xa4\\x50\\x15\\xb0\\xc7\\xcf\\xde\\x11\\x7b\\xf9\\xec\\x82\\x62\\xef\\x22\\x28\\x16\\x10\\xa5\\x28\\x8a\\xa0\\x80\\x34\\x41\\x11\\x04\\x14\\x24\\x77\\xff\\xb7\\x73\\x2f\\xe1\\x12\\x82\\x7e\\x9f\\xdf\\x5f\\xcc\\x9b\\xb9\\xdd\\x9d\\xf7\\x7b\\xef\\xcd\\xec\\xfc\\xde\\xec\\xdd\\xcd\\xd5\\xe5\\xc6\\xd0\\xee\\xba\\x50\\x36\\x0c\\x8e\\x4f\\x21\\x2f\\x6c\\xaf\\xa2\\xe5\\x64\\x45\\x8e\\x7f\\xac\\x3f\\x87\\x4f\\x09\\xb9\\x77\\x34\\xbc\\x77\\x82\\xdc\\x58\\xc7\\xba\\x86\\x33\\xa3\\xdc\\x69\\x64\\x40\\x15\\xcd\\x25\\xf7\\x7b\\xfd\\x6b\\xe8\\x94\\x7a\\xbc\\xfd\\x4f\\xfb\\x7e\\x50\\x25\\xe8\\x1f\\x57\\xc5\\xdb\\x9e\\xdd\\xc7\\x3c\\x59\\xd5\\xf7\\xb2\\x01\\x8e\\xde\\xd4\\xff\\xbd\\xef\\x6b\\xf8\\x72\\xcc\\x3c\\x92\\x22\\x33\\xf8\\xea\\xb9\\x6c\\xd0\\xa0\\xea\\x47\\xe8\\x2d\\xf8\\xbe\\xd7\\x80\\x10\\x8c\\x16\\xa1\\x18\\x0c\\x3a\\x8b\\xc2\\x64\\x12\\x04\\xa9\\xfd\\x3d\\xe4\\x0b\\x8e\\xaf\\x0f\\xfc\\x23\\xe7\\x93\\x69\\x4e\\xa6\\x54\\xee\\x7f\\x9c\\x4d\\xec\\x5f\\x3d\\x9e\\xa4\\xd0\\xc1\\xf5\\x30\\xfe\\xd1\\xf8\\x7a\\xcc\\x5f\\x3c\\x1f\\x56\\x98\\x61\\x55\\x64\\x02\\x8b\\xe9\\x5f\\x6d\\xb2\\xc7\\x42\\x74\\xfe\\x17\\xe3\\xa1\\x65\\xcd\\xf2\\x60\\xea\\x7c\\xb2\\xe2\\x7b\\x98\\x10\\x58\\x9f\\xfe\\x67\\x77\\x7d\\x16\\xcc\\x95\\x06\\xd4\\x8e\\x87\\xda\\xf1\\x2a\\x73\\xe5\\xbf\\x1d\\xaf\\xce\\x98\\xc8\\x9e\\x4f\\xcc\\x2a\\x12\\xc7\\xd2\\xfb\\x57\\x3f\\xc3\\x7a\\xd6\\xc9\\x17\\xea\\xe4\\xcb\\xce\\x44\\xa8\\xab\\x32\\x5b\\xb0\\x1a\\x18\\x63\\xa1\\x59\\xd3\\xa8\\xcb\\x89\\x5d\\x93\\x35\\x19\\xbd\\xcf\\xce\\xad\\x99\\x67\\x5c\\x0d\\xae\\xfd\\x9d\\xa9\\xf0\\x6f\\xf4\\xd6\\x8c\\x84\\x91\\x97\\x93\\x7e\\x35\\x99\\x93\\x91\\x78\\x76\\x8a\\xcc\\x9c\\x2e\\x90\\xdf\\x38\\x23\\xad\\xbe\\xe6\\xbf\\x9a\\x61\\x42\\xb3\\xa7\\xf0\\xb8\\xb3\\x3d\\x65\\xf6\\xf4\\x3f\\xe9\\x6e\\x38\\x77\\x0a\\x8b\\xfb\\x73\\x1d\\xe6\\x4e\\x49\\xb5\\xf3\\x8c\\xb3\\x53\\x95\\xcc\\x9d\\x18\\xe3\\x5a\\x30\\x7b\\x3a\\xc7\\x80\\x75\\xf2\\xa7\\xde\\x8e\\xb2\\xfb\\x7e\\xa8\\x72\\xf4\\x5c\\x8a\\xf9\\x93\\x2b\\x94\\x4b\\x6b\\xf3\\x27\\x18\\xff\\x6a\\x83\\xe3\\xa9\\xb6\\xeb\\x47\\x2c\\x85\\xc5\\x07\\x28\\x3a\\xbb\\x88\\x7d\\xa1\\xd4\\x99\\xf7\\x1c\\x7b\\xc8\\x05\\x12\\xa8\\x7a\\x19\\xd4\\x6e\\xff\\xb3\\x3e\\x32\\xdf\\xc9\\xa0\\xaa\\xd7\\x0e\\xa3\\x8b\\xea\\xce\\xfb\\xbd\\x06\\x46\\xd7\\xe4\\x38\\x90\\x6f\\xaa\\xf5\\x12\\x91\\x86\\x32\\xce\\xda\\xb4\\x61\\xb3\\xff\\x4d\\x5f\\x4d\\x06\\xd5\\xce\\x1f\\x01\\xaa\\x65\\x06\\xf5\\xff\\xa6\\xff\\x45\\xff\\x0e\\x5f\\x4d\\x16\\x35\\xd6\\x3f\\x10\\xf4\\xcb\\x2c\\xaa\\xae\\xfe\\xe0\\x38\\x0d\\xe6\\x68\\xe7\\x65\\x51\\xf5\\x9e\\x88\\xd4\\x6a\\xbe\\xcf\\x7f\\xcc\\x87\\x39\\x54\\xa5\\x7f\\x3a\\x28\\x0e\\x26\\x51\\xf5\\x78\\xe0\\xef\\x73\\xa8\\x10\\x95\\x0f\\xfa\\x7f\\xf1\\x91\\xe7\\x9d\\x1c\\x6a\\x8c\\x7f\\xb6\\xa3\\xd1\\x49\\xa2\\xa4\\xad\\x05\\xff\\x30\\x8f\\x3a\\xea\\x23\\xcb\\xaa\\xf8\\x12\\x7f\\xbf\\x11\\x75\\xfb\\x4c\\x0d\\xee\\xd2\\x73\\x21\\x2d\\xb5\\x3a\\x1c\\xaa\\x9b\\x33\\x92\\xee\\xad\\xe2\\x9b\\xaa\\xbf\\x28\\x08\\xea\\xc8\\xaa\\x97\\x43\\x89\\xe0\\x5c\\xc9\\xe1\\x5f\\xc8\\x64\\x59\\xbf\\x4f\\xe4\\x48\\x0a\\xba\\xf9\\xae\\xff\\xad\\x59\\x64\\x36\\x59\\x0a\\xe9\\x89\\x7f\\xf9\\x54\\x72\\x27\\x69\\x51\\xaf\\x3f\\x82\\xeb\\x61\\xec\\x6f\\xa6\\xd5\\x57\\xdd\\x34\\xd5\\xfc\\x4f\\x72\\x72\\x7a\\x45\\x6d\\x4e\\x4e\\xdd\\x7f\\xa1\\x5f\\xd5\\xea\\xe9\\x6f\\x90\\xa9\\xce\\xcf\\xcb\\x49\\x4c\\x6d\\x5e\\xce\\x46\\xd5\\xe9\\x77\\x98\\x43\\x60\\xbe\\xc7\\xf9\\x34\\xc8\\xb2\\x7a\\x1d\\xed\\x75\\xee\\x53\\x56\\xab\\xba\\x70\\x5f\\x3e\\xac\\xe4\\x4b\\xab\\x60\\x02\\xf8\\x71\\x2a\\xf9\\xe0\\xec\\xe3\\xbc\\x73\\x9d\\x3c\\x00\\xe2\\x1d\\xec\\x7b\\x39\\xef\\x6b\\xac\\xf6\\x83\\xef\\x0d\\xdc\\x03\\x10\\x6e\\x97\\x1c\\x02\\x6b\\xa6\\x41\\x2a\\xcd\\x3e\\xf1\\xaf\\xf1\\x92\\xfb\\x4f\\xd5\\xcd\\x2b\\x43\\xe6\\x7d\\x4e\\x75\\x51\\x6b\\x25\\xfc\\x5f\\x4f\\x1b\\xab\\xc9\\xa8\\x0f\\xf8\\x27\\x92\\x09\\x24\\xb5\\x8a\\x4f\\xf6\\xa7\\x55\\x39\\x0f\\x98\\x42\\x73\\xdf\\xe0\\x7d\\x1a\\xcc\\x7d\\x05\\xdc\\xa9\\x46\\x48\\xfe\\xdb\\x10\\xff\\x6b\\xb5\\x39\\xf0\\x71\\x7f\\x0e\\xc9\\x23\\x3d\\xaa\\xd8\\xbd\\xfe\\x2a\\xd2\\x87\\x74\\x56\\x2e\\x94\\xab\\x53\\xad\\x7e\\x56\\x7d\\xe1\\xbc\\xfa\\x01\\xff\\x56\\x92\\x03\\x93\\x3d\\xe9\\x4c\\xe6\\x57\\xf9\\x3f\\x64\\xf7\\x5e\\x30\\xaf\\x36\\xc2\\xfe\\x2e\\xaf\\x26\\x35\\x8f\\xd8\\x3e\\x21\\xd7\\x13\\x15\\xf2\\xc8\\x2a\\x3f\\xe7\\x93\\xa5\\xbe\\x09\\xb5\\xfa\\x6a\\x9f\\xe3\\x38\\x77\\x3c\\x15\\x7a\\xbd\\x9e\\x8f\\x6a\\x70\\xed\\x2d\\x82\\x7c\\xfa\\xbe\\x3f\\x7f\\x06\\xb8\\x35\\xb7\\x8a\\x77\\xae\\x8e\\x22\\x37\\x4c\\xf7\\x33\\x0f\\xe8\\xce\\xae\\x8d\\x81\\x59\\x37\\xf7\\xa1\\xc2\\xa8\\x97\\x60\\x45\\xfd\\x6d\\x86\\x55\\x3a\\x9d\\x34\\x25\\x05\\x55\\x6c\\x59\\xf5\\x3b\\xe4\\xaa\\xe9\\xfe\\x3f\\xe8\\xa2\\x63\\x8e\\xfd\\x93\\xfe\\xff\\xf2\\xf7\\xb2\\x29\\x90\\x12\\x0c\\xaa\\xa2\\x45\\x30\\x89\\x5f\\x99\\xe7\\xdf\\x46\\x4c\\x1a\\x8c\\x51\\xf6\\xff\\x96\\x5f\\x2d\\xf7\\xdf\\x3a\\x8b\\x0c\\x23\\x3d\\x21\\xbf\\x22\\x45\\x53\\xfd\\xef\\xcb\\xfc\\x6a\\x42\\xed\\x5c\\x16\\xc2\\x87\\x0e\\x1d\\xd6\\x67\\xd6\\x7a\\x4f\\x21\\xbb\\xcd\\xa0\\x8b\\xaa\\xe8\\xfb\\xd3\\xab\\x1f\\xe4\\x1f\\x3a\\xb6\\x4d\\xfd\\x5f\\xf2\\xaa\\x8a\\x69\\x24\\xa1\\x0a\\x9c\\xbe\\xc1\\xeb\\xdf\\xcc\\x6e\\x90\\xbe\\xa6\\x84\\x8e\\xaf\\xe0\\x5a\\x35\\x78\\x73\\x85\\x24\\x12\\x4d\\x53\\x1b\\x7e\\xf2\\xfc\\xa9\\x7f\\x80\\x8f\\xf4\\x84\\x85\\x0a\\x5b\\x7b\\xb6\\x3f\\xfd\\x66\\x98\\x3f\\x86\\x67\\x3a\\x3a\\x93\\x1b\\xba\\xc7\\xa0\\x87\\x8c\\x7a\\x09\\x4a\\x83\\x23\\xec\\xdc\\x08\\x18\\xed\\x83\\x55\\xd0\\x8c\\x2a\\x16\\x77\\x76\\x8b\\xa3\\x3c\\x82\\x15\\x1c\\x0a\\xde\\x13\\xc9\\xff\\x1f\\xb9\\x15\\x68\\x1f\\x40\\x86\\x56\\xd1\\x01\\x40\\xb1\\xdf\\x0c\\xab\\x3e\\x44\\x87\\xd1\\x1e\\x4e\\x3c\\x02\\xd5\\x0d\\xdc\\xc7\\x02\\x46\\x97\\xa1\\x3a\\x5f\\x9d\\x90\\xaa\\xf1\\xcb\\x1e\\x0d\\x6a\\x7e\\xc3\\xd1\\x3c\\x19\\x16\\xdd\\x64\\x92\\xff\\x71\\xfa\\xdd\\xb0\\xea\\x37\\x49\\x1a\\x9b\\x55\\x27\\xd6\\xff\\x5d\\x6e\\x75\\xa9\\x8f\\xdc\\xf4\\x67\\x95\\x63\\x63\\x2e\\xe6\\x56\\x29\\x0d\\xe5\\x56\\x7f\\x33\\x96\\x68\\xe9\\xf5\\x8e\\xa6\\x34\\xa9\\x68\\x2f\\x97\\xdc\\x38\\xe8\\xbf\\xc8\\xad\\x3a\\x61\\x6e\\xf5\\x8b\\x7f\\xe9\\x42\\x20\\x94\\x6d\\xfc\\xf4\\xd9\\x69\\x26\\x0b\\xda\\xe3\\xfe\\xff\\xc8\\x7d\\x7e\\xf4\\x3f\\xbf\\x98\\x3c\\x40\\x46\\x54\\xb1\\x05\\xa4\\xe9\\xd9\\x0d\\xa0\\xdb\\xff\\xa2\\xb3\\xcf\\xf8\\xff\\x97\\xfe\\xcf\\xfd\\x6b\\x17\\x93\\x47\\x1d\\xa6\\xcd\\x21\\xc7\\xaa\\x69\\x22\\x3b\\x53\\x7d\\x80\\xc6\\x84\\xe8\\xbf\\xfa\\xbf\\xd7\\x1f\\x9a\\x61\\xbd\\xe2\\xff\\x2e\\xa8\\xff\\x01\\x56\\x59\\x9d\\x69\\xb2\\xb3\\x67\\x1f\\x66\\xd3\\x94\\x3a\\xf6\\xcb\\xf5\\x6c\\x0d\\xd7\\xaa\\xa2\\x5e\\x9a\\x75\\xde\\xfb\\x4f\\xb5\\xaa\\x9f\\xf3\\xef\\x0b\\xaa\\x66\\xd5\\xd5\\x93\\x20\\x30\\x35\\xcf\\x7c\\xdd\\xff\\x30\\xcf\\xda\\x0e\\xda\\xae\\xe7\\x6d\\xaa\\xfb\\xc8\\x0e\\x24\\xca\\x15\\xa1\\x39\\x60\\xd0\\x7f\\xe0\\x58\\x1e\\xf2\\xc0\\xaa\\x1e\\x13\\x3a\\xa6\\x39\\x96\\x7d\\xef\\x7f\\x6a\\x3e\\x99\\x45\\x86\\x57\\xf1\\x0f\\x3e\\xab\\x9e\\xd1\\x9f\\xbe\\x41\\x5c\\xa1\\xfa\\xfe\\xbb\\x9c\\xab\\x53\\x6d\\xce\\x75\\xc8\\xff\\xe2\\x3c\\x52\\x46\\xfa\\x41\\xca\\x55\\x5d\\xde\\x9f\\x6e\\x97\\x29\\x57\\x9d\\xf5\\xfb\\xff\\x94\\x73\\x6d\\xf6\\xaf\\x9c\\x47\\x56\\x3a\\x23\\x61\\x12\\xb9\\xb1\\x7a\\xee\\x20\\x36\\xc8\\x3f\\x8e\\x0e\\xf9\\xdf\\xf4\\x87\\x8e\\x84\\x17\\xfc\\x5f\\x04\\xf5\\xbf\\x42\\x7f\\xa9\\x7e\\x19\\xd4\\x57\\xc7\\xb2\\xcb\\x70\\x9f\\x9b\\x06\\x72\\x2e\\x55\\xd4\\x63\\x5e\\x47\\xfb\\x05\\x46\\xc2\\x53\\xfe\\xed\\x95\\x90\\x73\\xc3\\x48\\xb8\\xa3\\x7a\\x5d\\x16\\x1b\\x7c\\xf6\\x2e\\xae\\xd5\\xc6\\xe6\\xfc\\xbc\\xcb\\xf9\\x4d\\xc9\\xff\\x2c\\xef\\xfa\\x78\\x3e\\x59\\x55\\xc5\\xde\\xa8\\x7e\\xa8\\x3f\\x1b\\xf1\\x90\\xa3\\xef\\xb6\\x5a\\x5b\\x71\\x6e\\x68\\x78\\x44\\x04\\xf3\\xad\\x9a\\xf1\\xb0\\xdd\\x7f\\xd7\\x14\\x20\\xbd\\xc1\\x55\\x7c\\x8a\\x3f\\xc7\\xbf\\x3c\\x87\\x8c\\xa7\\xe5\\x21\\xba\\x24\\x67\\x31\\x4d\\xa3\\xaa\\x0a\\x33\\x9f\\xf3\\x6d\\x33\\xa1\\x89\\x86\\x38\\xcb\\x90\\x76\\x45\\x75\\x62\\x09\\xd5\\xef\\x4c\\xa1\\x0f\\x56\\x55\\xb1\\xef\\xaa\\x17\\xe5\\xd0\\xbd\\xfb\\xce\\x2c\\x0d\\xb5\\xed\\x1f\\xe7\\xf4\\x3f\\xf8\\x77\\x4e\\x21\\x83\\xc9\\x04\\xc8\\x8c\\xfc\\x6f\\xe5\\x90\\xd9\\xf8\\xde\\xe3\\x6d\\xff\\xc3\\xf8\\x0a\\x49\\x8c\\xdf\\x0e\\x04\\x83\\x40\\xd2\\x49\\xa2\\x7f\\x6f\\x0e\\x59\\xe0\\xdf\\xc0\\xae\\xae\\x1b\\xd3\\x3a\\x39\\x77\\xb0\\xfb\\x55\\x9c\\xbb\\xcf\\xb7\\x9c\\x68\\xe7\\xd6\\x5c\\xbb\\xa6\\x4b\\xd5\\x74\\xf8\\xe9\\x3c\\xb2\\xa0\\x7a\\x0b\\xbf\\x5c\\xb9\\x50\\xce\\xfd\\x9f\\xf4\\x7d\\xd4\\xb9\\x9c\\x9b\\xde\\x29\\x73\\x6e\\xda\\xb3\\x7e\\xce\\x59\\x9b\\x73\\x37\\xf8\\x04\\xbb\\x7e\\xc6\\xbd\\xc3\\x3f\\x9c\\x8c\\x21\\xfd\\xab\\xd8\\xd7\\xd5\\xb0\\x62\\x7a\\xac\\xfe\\xf3\\xe6\\x3a\\x39\\x77\\x4d\\x46\\xf0\\x17\\x39\\x37\\xab\\x4d\\x66\\x8f\\xfa\\x67\\x92\\x91\\xce\\x73\\x96\\xce\\x7e\\xb3\\x8a\\x96\\xc0\\x44\\xf3\\xbf\\xe8\\x0d\\x49\\x92\\xbf\\xf2\\xdf\\x47\\xda\\xc3\\x32\\x86\\xde\\xe1\\x5f\\x5b\\x45\\xae\\xa3\\x6d\\x1a\\xc8\\xbb\\x9d\\xaf\\x9a\\xc2\\x02\\x21\\x8c\\x50\\xaa\\x72\\x5d\\x6d\\x20\\x06\\xa8\\x10\\x26\\xb1\\xf7\\xf0\\x13\\x26\\x90\\xfd\\x55\\xf9\\x0f\\xf3\\xd7\\xcf\\x2c\\xad\\xf7\\xbc\\x35\\x64\\x1d\\x23\\x43\\x5a\\x93\\xb1\\x9c\\x3f\\xcf\\x9e\\xcb\\xb7\\xe5\\x33\\x57\\x85\\xc0\\x8d\\xb0\\xf9\\x6c\\x3c\\x59\\x98\\x77\\x98\\xdf\\x54\\x67\\x8d\\x18\\x9a\\xab\\x34\\x90\\x65\\x9d\\xaf\\xd5\\x75\\x4e\\x6d\\x04\\xb9\\xac\\x8a\\x8d\\x3f\\xfb\\x2c\\xa8\\xfd\\x9d\\x6d\\x5f\\xd3\\xc0\\xb3\\x8c\\xff\\x32\\x7f\\x0b\\x79\\x4c\\xdc\\x96\\xcc\\x91\\x19\\x16\\xe8\\xf6\\x9f\\xa1\\x4b\\x69\\x8f\\x06\\xdf\\xcb\\xfa\\x47\\xf9\\x1b\\x68\\x1f\\x40\\x86\\x40\\x36\\x0b\\xd9\\x3b\\x68\\xdf\\x41\\x5c\\xec\\xf6\\x3a\\xef\\xb7\\xfd\\x27\\x39\\x96\\x9c\\x0f\\xfc\\x89\\xfe\\xfc\\xe9\\x64\\x3e\\x09\\xaf\\x22\\xf3\\x0a\\xfd\\x4f\\xf3\\xd3\\xf8\\xbe\\xdd\\x3f\\xc8\\xb1\\xaa\\x1c\\x4d\\x7d\\xa5\\x9e\\x1f\\x82\\xcf\\x41\\xeb\\xbe\\x17\\x29\\x73\\x2c\\xa6\\xd6\\x7f\\x2f\\x32\\x24\\xbf\\x3a\\xec\\x2f\\xbe\\x82\\xac\\x76\\xf2\\xab\\x3f\\xb5\\x78\\x31\\xb6\\xde\\x7b\\xa5\\x21\\xf3\\x9d\\xfc\\x4c\\x44\\xad\\xaa\\x06\\xde\\x29\\xed\\x72\\x8e\\x36\\x4e\\xfb\\x6f\\x5c\\x42\\x5e\\x74\\x68\\xe3\\xc6\\x33\\x7f\\x2e\\x8e\\x13\\x63\\xfd\\x1f\\x93\\x94\\xfa\\xef\\xef\\xfe\\x37\\xba\\x43\\x28\\xe9\\x3b\\xff\\x33\\x4b\\xa5\\x6e\\x3a\\x94\\xfc\\xfc\\xe7\\xa7\\xa0\\xbc\\x7a\\x1b\\x0d\\x3e\\xb3\\x6d\\xf9\\x4f\\x74\\x87\\x32\\xe9\\x5a\\xff\\x63\\x4b\\xc8\\x17\\xa0\\xfb\\x27\\xd6\\xe4\\xac\\x91\\x20\\x46\\x9d\\xdd\\x21\\xbf\\x96\\x52\\xe7\\x3d\\xf4\\xe0\\xf3\\x6a\\x79\\x3f\\x69\\xce\\x03\\x0c\\xbc\\x9b\\xac\\x0b\\x71\\xe8\\xeb\\xfe\\x97\\x2e\\x27\\x9f\\xe2\\xb3\\xe0\\xde\\xe2\\xd2\\x73\\xef\\xd5\\x9e\\x7b\\xcf\\x57\\x72\\x5e\\x30\\x9f\\xa2\\x2a\\xab\\xd3\\x5b\\xf5\\xdf\\xfb\\xbb\\x82\\xbc\\x27\\x35\\xc9\\xce\\x0a\\x7d\\xef\\x02\\x74\\xd4\\xe4\\x52\\x54\\xe7\\x0d\\xe9\\xa8\\xcd\\xa3\\xb6\\xfa\\xc7\\x2e\\x25\\xaf\\x3b\\xbc\\xf9\\xc1\\x57\\x67\\x9b\\x25\\x73\\x46\\x06\\x29\\x0d\\x7c\\x26\\x42\\xd4\\x7c\\x26\\xc2\\xa8\\x1d\\x84\\x17\\xcc\\xa1\\x4e\\xf8\\xbd\\x0b\\xc9\\x2b\\x64\\x2c\\xe4\\x50\\x67\\xdb\\x9a\\x3c\\xb5\\x26\\x87\\xea\\xd2\\xd0\\x7b\\xbd\\x92\\xe3\\x42\\xd5\\x9e\\xff\\xa4\\xa2\\x4e\\xa6\\x7e\\xd3\\x62\\xf2\\x0e\\x64\\xea\\x74\\x2e\\x64\\xea\\x97\\x9b\\x7c\\xb0\\xff\\x45\\x3a\\xe1\\x9f\\xeb\\x0e\\xed\\xf1\\xaf\\xfd\\x0f\\x2c\\x21\\x5f\\x13\\xab\\xea\\x23\\x3a\\xfb\\xec\\x17\\x2e\\x3e\\xb0\\xfa\\x0a\\x67\\xa1\\x5a\\xef\\xf3\\x32\\x21\\xb9\\x13\\x30\\x27\\x0b\\xd1\\x7c\\xc1\\x3e\\x7f\\xe3\\x32\\xb2\\xd6\\xe9\\xf3\\x4e\\x67\\x77\\x9a\\x7c\\xd2\\xd9\\x9d\\x3c\\xa6\\x36\\x1e\\x75\\x3e\\xd3\\x53\\xc3\\x9d\\x44\\xab\\x51\\x7b\\xc1\\x9c\\xe9\\xf5\\xc5\\x64\\x2d\\xac\\x56\\xce\\x56\\x99\\xfc\\xfd\\x5b\\x94\\x3a\\x9f\\x33\\xfa\\xcf\\xc6\\x8f\\xb3\\xbe\\xbf\\x75\\x3e\\x3d\\x50\\xc5\\xf3\\xff\\xbc\\x37\\x53\\xf4\\x6f\\xe8\\xf3\\x4f\\x35\\xef\\xc5\\x9f\\x0b\\xe0\\x79\\xcf\\xa5\\x6a\\xdd\\xfc\\xc3\\x5f\\x34\\x8f\\x3c\\x4c\\x66\\x55\\xb1\\x97\\x4e\\x57\\x67\\x65\\xd1\\x4f\\x49\\x0e\\x89\\x6c\\xe0\\x73\\x5a\\x7f\\x3f\\x8e\\x42\\x72\\xa5\\x3f\\xfc\\xf7\\x57\\x90\\x2a\\x32\\x11\\x72\\xa5\\x6a\\xef\\x60\\xba\\x03\\x73\\x25\\xd7\\xff\\x3e\\x8e\\x36\\xfb\\x1f\\x9a\\x03\\x79\\xf2\\xf0\\x2a\\x12\\x4b\\xe2\\xaa\\x5f\\x1a\\x46\\x7f\\xf4\\xbf\\xc8\\x1e\\xa9\\xf3\\x59\\xb8\\xd0\\xbe\\xae\\xf7\\x50\\xe2\\xaf\\xfa\\x3a\\xa8\\x96\\x76\\xa8\\xfe\\x7e\\x24\\xfd\\xb1\\xfa\\x2b\\xbe\\xb0\\xe1\\xcf\\x6f\\xfd\\x47\\x7d\\x1d\\x9c\\xd6\\x5f\\x2f\\x27\\x6f\\x49\\x85\\x83\\xe9\\x5e\\x39\\xd6\\xb3\\xfe\\x8b\\xfb\\xbc\\x36\\x3f\\xde\\xed\\x1f\\x33\\x99\\xdc\\x4a\\x26\\x55\\xc1\\xe2\\xf3\\x7e\\xff\\xec\\x3c\\xb2\\x48\\xfa\\x5b\\xff\\xb3\\x8e\\x7f\\xdf\\xe7\\x52\\xa3\\xe4\\xf0\\xef\\xfc\\x23\\xc6\\x92\\x15\\xce\\xc8\\x2e\\xf4\\x27\\xf8\\x0b\\xe6\\x90\\x6b\\xe8\\xbf\\x8f\\x34\\xf0\\x59\\xcc\\xff\\xd0\\x57\\x67\\x48\\x5e\\x3e\\x83\\xee\\xa9\\xa2\\x65\\xd5\\xf7\\x4d\\xa7\\x1b\\xe8\\x50\\xe5\\xfc\\xcf\\x8a\\xfe\\x57\\xe3\\x67\\x83\\xff\\x8d\\x59\\x64\\x2e\\x29\\x82\\x7c\\xc8\\xff\\xb2\\x87\\x94\\xcb\\xa4\\x30\\xf4\\x33\\xad\\xff\\xac\\x8f\\x3f\\x98\\x2a\\xbd\\x06\\xfa\\xdf\\xea\\x21\\xd7\\xf8\\x37\\xf0\\xf5\\x4a\\x83\\x9f\\xc9\\xfc\\x6f\\xfa\\x78\\x32\\x79\\xb4\\x8a\\x74\\xf7\\x6f\\xcf\\x25\\xcb\\xd8\\x03\\x4a\\xbd\\xcf\\xf0\\x9e\\x7b\\xcf\\x51\\x17\\x50\\x4b\\x58\\x67\\x9d\\x97\\x59\\x91\\x9a\\x2c\\x18\\x16\\x18\\xb7\\x91\\x48\\x72\\x45\\x15\\x7b\\xfb\\x6c\\x66\\x15\\x24\\x14\\x17\\xf8\\x8c\\xb1\\x7c\\x32\\x1a\\xa2\\xad\\xa1\\x2c\\xd5\\x55\\xab\\xb0\\x89\\xf3\\x26\\x44\\xd7\\xb3\\xdf\\x56\\xf1\\x1e\\x5f\\x28\\x17\\xfc\\xdc\\xf2\\x7f\\xa2\\x33\\x18\\xc4\\x3d\\xfe\\x5b\\x48\\x1b\\x52\\x5e\\x45\\x33\\xab\\xdf\\xae\\xa2\\xbf\\x39\\x9b\\x2b\\xfc\\xcf\\x3a\\x9d\\x6c\\xda\\x22\\x53\\xab\\xc8\\xc5\\xfe\\xaf\\xaa\\xc8\\x54\\x08\\xa3\\x42\\xfc\\x43\\x79\\x11\\xd9\\x0a\\xd3\\x5b\\x23\\xa5\\xe9\\xab\\xb0\\xfc\\x8b\\x30\\x84\\xec\\xe1\\x8d\\xb8\\xe3\\x4b\\xb7\\x4e\\x5a\\xf0\\x2f\\xb9\\x83\\x46\\xa6\\x24\\xb5\\x7b\\x2b\\xd3\\x05\\x7f\\x49\\x49\\x1a\\xbb\\x4a\\xe3\\x45\\x25\\xf0\\xdf\\x73\\x5d\\xba\\x38\\xdf\\xa5\\xc0\\xef\\x8e\\x35\\x55\\x0d\\x2a\\x3f\\xd7\\xbe\\x4e\\x3c\\x44\\x87\\xc9\\xcf\\xb5\\x1b\\x4a\\xe4\\xcb\\x2a\\x21\\x86\\xe2\\x58\\xe8\\xec\\x3b\\xe4\\x7c\\x90\\xbd\\x9b\\xa3\\xd2\\xea\\xe7\\x7c\\x70\\xfd\\x6d\\x9a\\xbe\\x8a\\x3f\\x29\\x1e\\x2a\\x2e\\xfe\\x28\\xec\\x85\\x16\\xe7\\xb7\\xd5\\xe5\\xa0\\x0e\\x69\\xcb\\x9c\\x2f\\x0c\\x24\\xcb\\xb6\\x07\\x9f\\xe4\\x3f\\xa7\\x53\\xa7\\x2d\\xb9\\xb2\\xc5\\x0b\\x61\\xd0\\xf6\\x75\\x71\\x2b\\x9d\\x0e\\x6d\\x5b\\x28\\x6d\\x94\\x4e\\x03\\xa3\\x5b\\x37\\x0b\\x67\\x03\\x8d\\xa8\\xc1\\x8c\\x5d\\x34\\xd0\\x88\\x18\\x7c\\x91\\xae\\x34\\x96\\x1f\\xaa\\xef\\xe9\\xec\\x41\\x6b\\x39\\x0a\\xe5\\x6f\\x39\\xd0\\xda\\x4d\\x5b\\x9d\\xcf\\xd7\\x6b\\x44\\x22\\x0c\\x6e\\xb6\\x78\\x6c\\xaf\\x51\\x83\\x07\\xb4\\xed\\xd1\\xb7\\x91\\xdd\\x6c\\xd1\\xb8\\x5e\\xa3\\x06\\x0d\\x6c\\x3b\\xa1\\x35\\x59\\x10\\x04\\xbd\\x6b\\xd4\\xcc\\x98\\xb6\\x31\\xdd\\x3b\\x8c\\x9a\\x01\\xc5\\x50\\x72\\xa3\\x83\\xcf\\x42\\xf0\\x3b\\x2a\\xf1\\x4a\\x8f\\x81\\x2d\\x7a\\xc5\\x3a\\xc0\\xb1\\x8d\\xbb\\xb6\\xaa\\x35\\x05\\x8d\\x08\\x9a\\x60\\x36\\xd9\\xd0\\xd3\\xbc\\x90\\x1d\\x17\\xf8\\xbe\\xc2\\x85\\x2c\\x53\\x6a\\xbe\\xa2\\x40\\xfa\\xd7\\xd4\\xea\\x9b\\x69\\xd6\\xff\\x1a\\x87\\xf3\\x7b\\x13\\x62\\x16\\xbd\\x52\\xfd\\x42\\x7e\\x7f\\xa2\\xe9\\xab\\x86\\xd1\\x58\\xa1\\xce\\x0e\\x18\\x66\\x42\\x93\\x0d\\xa9\\x09\\xce\\xd6\\x57\\xd1\\x96\\x46\\x42\\xbf\\xc0\\xf1\\x92\\x7a\\x62\\x9b\\xe6\\xf7\\xa5\\x58\\x9d\\x3b\\xdb\\x56\\x97\\xce\\x96\\x98\\xd5\\x81\\x34\\xe9\\xe2\\x3f\\x41\\x5a\\x74\\xb6\\x9c\\x63\\xf2\\x73\\xec\\xa0\\x42\\x5c\\x47\\xfb\\x6b\\x11\\x70\\x8f\\x36\\x53\\x3a\\x0c\\x6c\\x1a\\xd1\\x74\\xa0\\xd1\\x68\\x70\\x53\\x95\\xea\\x4e\\xa9\\xeb\\x44\\x55\\x82\\x7b\\x01\\x07\\x23\\x10\\x5d\\xf3\\x4d\\x90\\xd0\\x3d\\xa9\\xfa\\x6f\\x3a\\x9d\\x22\\x76\\xae\\x59\\x21\\xc8\\x15\\x35\\x60\\x6a\\x61\\xf0\\xbb\\x1f\\xc3\\x42\\xb0\\x58\\x60\\xad\\xb8\\x9f\\x0e\\x85\\xb8\\x87\\xcb\\xef\\xda\\xc4\\x0c\\x8c\\x88\\x66\\x2c\\xc6\\x70\\x80\\x8c\\x46\\x11\\xce\\x17\\x41\\x7a\\x9a\\x66\\xfd\\xef\\xa1\\x10\\x67\\x30\\x85\\xbc\\x3e\\x52\\x13\\x19\\xff\\xd7\\xce\\xe0\\x8a\\xac\\x79\\xa9\\xae\\xc7\\x60\\xf9\\x5f\\x80\\x81\\xd6\\xb3\\x36\\x72\\x98\\x53\\xd2\\x48\\xb9\\xff\\x5a\\xda\\xc0\\x8e\\x0a\\x8b\\xd0\\x1a\\x69\\x4c\\xf0\\x26\\x51\\x8d\\x85\\x2a\\x46\\x4f\\x8a\\x50\\x55\\x16\\x16\\xa6\\x8f\\x9a\\x14\\x56\\xff\\x1b\\x44\\x4a\\xed\\xce\\x70\\x35\\xdb\\xdf\\xe1\\x97\\x89\\x6a\\x36\\x3c\\xb6\\xb4\\x4e\\xc1\\x2f\\x15\\x8d\\xb8\\xa1\\xf1\\x0d\\xfd\\x9d\\x2f\\x16\\x0d\\x7d\\xb8\\xf1\\xc3\\x59\\x31\\x71\\xe4\\xd5\\x71\\x64\\x6a\\x4c\\x9c\\x7f\\xfa\\x38\\xe7\\xbe\\xeb\\x1f\\x38\\xcc\\xc7\\xab\\x6f\\x34\\xed\\xca\\x72\\x9c\\x7d\\x29\\xe8\\x0d\\xca\\x86\\xc0\\x9e\\x28\\x4d\\x7b\\x44\\xd9\\x4f\\x7a\\x28\\xd1\\x2f\\xd3\\xd1\\x71\\x24\\xce\\xd9\\x05\\x26\\xfc\\xa2\\xc1\\x71\\x4a\\x54\\xcf\\xb9\\xb8\\x3f\\xc0\\x85\\xda\\x3d\\xaa\\xfc\\xfa\\x8f\\xda\\xad\\x54\\x5e\\xfe\\x47\\xed\\x56\\x29\\x1f\\xff\\x7d\\x3b\\x2d\\xb6\\xb6\\xdd\\x0a\\x65\\x7d\\xe0\\x9b\\x26\\x8e\\x7f\\x27\\xc9\\xad\\xe7\\x9f\\x07\\xfb\\xcf\\x90\\x5b\\x9b\\x68\\xc1\\xeb\\x1a\\x38\\xbf\\x12\\xf0\\xfe\\xea\\xfc\\x2a\\x65\\x73\\x9d\\xf3\\x83\\x02\\x47\\xe8\\x26\\x69\\xf7\\x1c\\x38\\xdf\\x95\\xde\\xf0\\xf4\\x37\\x4e\\x74\\x03\\x9f\\x4a\\xab\\xc9\\xe8\\xe6\\xa4\\x39\\x5a\\xdd\\x3c\\x68\\x75\\xb0\\x0d\\x8b\\x38\\xaf\\xcd\\xa3\\x81\\xad\\x7f\\xdd\\x86\\x7e\\x7e\\x5e\\x9b\\x95\\x81\\xe5\\x7f\\x83\\xd3\\xe8\\xbc\\x36\\xab\\x02\\xcf\\xfd\\x45\\x9b\\x85\\x80\\xf3\\xbd\\xf4\\x37\\xd8\\x66\\xc5\\x93\\xdb\\x9d\\x68\\x06\\xbe\\x25\\xb7\\x2a\\x78\\x9e\\x35\\x3d\\xef\\xfc\\xa3\\xa1\\xe7\\xe9\\x0f\\xe7\\x9d\\x5f\\x19\\x78\\x29\\xa4\\x7d\\xb3\\xda\\xf3\\x10\\x4f\\xe7\\x8c\\xf3\\xad\\xcd\\x27\\xb7\\xcb\\xf3\\x53\\xe0\\xfc\\x52\\x69\\xf3\\xfc\\xa0\\xcd\\x93\\x65\\x3c\\x95\\xb9\\x68\\x73\\x6b\\xd2\\x1a\\x6d\\x6e\\x5d\\x6b\\xb3\\xd3\\xe6\\xdd\\xf3\\xda\\xac\\x52\\xa6\\xfd\\x4d\\x9b\\xf3\\x71\\x56\\x2a\\x23\\xff\\xa6\\xcd\\xaa\\x06\\x70\\xfe\\xae\\xcd\\x4d\\xd2\\xdf\\x60\\x9b\\x15\\x13\\x65\\x3c\\x95\\x2a\\x8c\\x87\\x73\\xfe\\xd3\\xf3\\xce\\x3f\\xaa\\xdc\\x1e\\x72\\xfe\\xfc\\xf6\\x2b\\x95\\x99\\x21\\xe7\\x3f\\x3a\\xef\\xfc\\x2a\\xc5\\x8b\\xe7\\x67\\x43\\x7f\\x9c\\xd0\\x3a\\xd4\\xf4\\x87\\x32\\xfb\\x81\\x97\\x9c\\xbb\\x2b\\xb0\\x49\\x59\\x1f\\xa5\\x29\\x19\\x81\\x4d\\xe4\\x76\\xa5\\xcd\\xc0\\x30\\x16\\x37\\xd0\\x08\\x1b\\x1c\\x47\\xc9\\x45\\xd2\\x83\\x46\\x83\\x2f\\x02\\x0f\\x5c\\x2e\\xf8\\xfb\\x5b\\x1d\\xf3\\x94\\x98\\xff\\x54\\x87\\xba\\x2e\\x54\\x47\\x94\\x16\\xa6\\x92\\x42\\xe5\\x34\\xac\\x42\\x9a\\x71\\xb6\\x2a\\x8e\\xdc\\x12\\x47\\x06\\xc0\\x5d\\xee\\xf0\\x61\\x03\\x5a\\x9c\\x0d\\x4c\\x5c\\xe7\\x7c\\x3a\\x4f\\x97\\xf8\\x47\\xba\\x9c\\xf8\\x3d\\x2a\\x7d\\x9b\\x1f\\xd4\\x35\\x42\\xfa\\xa6\\x5c\\x1e\\x8c\\x8f\\x72\\x25\\xfa\\x96\\xe4\\xf8\\x96\\x44\\x49\\x3b\\xd4\\xd4\\x2e\\xc4\\xb7\\xbf\\xd6\\x31\\x0f\\x66\\x94\\xff\\x4c\\xc7\\xbd\\xd2\\xa7\\x5a\\x1d\\x4e\\x7c\\x68\\x64\\xad\\x4f\\xa9\\xe4\\x96\\x54\\x32\\x20\\x95\\xa4\\x3a\\x3e\\xa5\\x9e\\xaf\\xa5\\xae\\x4f\\xe7\\xeb\\x12\\xff\\x48\\x57\\x19\\x90\\x67\\xac\\xd6\\xb5\\x69\\x57\\xe7\\xc9\\x9f\\xf4\\x66\\x32\\xb9\\xc7\\xd9\\xaf\\xa7\\xb7\\x4e\\x62\\x75\\xa2\\x07\\xb7\\x94\\x21\\x81\\x83\\xfe\\x4c\\x91\\x2b\\x06\\x29\\x5d\\x95\\x9c\\x81\\x2d\\x21\\x67\\x0f\\x6b\\xd3\\xb4\\x69\\xcb\\xb0\\x46\\x8d\\xba\\x74\\x6c\\xd9\\xb1\\x79\\xf7\\xe6\\xdd\\xda\\x34\\x6e\\xdf\\xd8\\xd9\\x79\\x37\\x66\\x52\\x7b\\xde\\xea\\xa2\\x19\\x93\\x5a\\xb1\\xa6\\x2d\\x9b\\xb7\\x9c\\x31\\xa9\\x79\\x53\\x45\\x9f\\x39\\x89\\x31\\x48\\xc7\\x06\\x98\\x09\\x75\\x37\\x15\\xae\\xf3\\xcb\\x06\\xd6\\xb9\\x5d\\x2b\\x9c\\x1d\\x86\\x9d\\xef\\x6b\\x3a\\xbb\\x4e\\x24\\x3b\\x9b\\x5b\\x43\\x2a\\x74\\x6e\\xa3\\x54\\x2d\\xa9\\x73\\xf0\\xd7\\x4e\\x18\\x65\\xcd\\xaf\\xcd\\xbb\\x38\\x4d\\x34\\x1a\\xd7\\xe3\\xc6\\x0e\\xeb\\xf5\\xad\\x6f\\x9c\\x7e\\xf5\\x49\\xa3\\xfa\\x80\\xf1\\xe2\\x97\\x4f\\x19\\x64\\x4e\\x8b\\x25\\xa4\\x5d\\xfe\\x23\\xf7\\x34\\x7a\\x6a\\xb4\\x3f\\x33\\xfe\\xe0\\x0d\\x2d\\xdb\\xbd\\xcb\\xa7\\x77\\xef\\xf5\\x61\\xe5\\x9f\\xa7\\x6a\\xb6\\x51\\xbd\\x71\\xe0\\x84\\x25\\x55\\xf6\\xc8\\xb3\\x43\\xfc\\xfd\\x1c\\x2e\\x0f\\x1c\\xf3\\xbb\\xc5\\x2b\\x90\\x0b\\x77\\x50\\xbc\\x03\\xad\\x70\\x5d\\x6f\\xda\\xb6\\x59\\xb3\\x98\\xa6\\xed\\xdb\\xd3\\x18\\xc8\\x65\\x3a\\xb5\\xec\\xd8\\xb4\\x5d\\xbb\\x96\\x6d\\xda\\xd3\\x56\\x6d\\x5a\\xcd\\x98\\xd4\\x21\\xba\\x0d\\x6b\\x16\\xd3\\x32\\x66\\xc6\\xa4\\x96\\x4d\\xd5\\xc8\\x99\\x93\\x0c\\x43\\x6d\\x23\\x7f\\xc4\\xe1\\xdc\\x9e\\xa6\\xc1\\xdf\\x8d\\x0f\\x7e\\x9a\\x42\\xee\\x0b\\x76\\xee\\x87\\xc4\\xd0\\xcb\\xc6\\x84\\xc9\\x1d\\xc8\\xd1\\xd7\\xa4\\x01\\x84\\x9c\\xf3\\xd3\\x11\\xe2\\x95\\xb0\\x17\\x0e\\xc4\\xee\\x79\\x62\\xe9\\xb0\\x9e\\xe9\\x6a\\x64\\xfa\\xc5\\xf9\\xcb\\xa3\\x9b\\xfb\\x3b\\xaf\\x7f\\x21\\xcc\\x9f\\x12\\xb6\\xea\\xcb\\xa7\\xc2\\xc8\\xd5\\xe4\\x96\\x47\\x5f\\x08\\x13\\xfd\\x5d\\xad\\xce\\x7c\\xff\\xc6\\xa6\\x76\\x27\\x6e\\x68\\xd9\\xea\\xda\\xb9\\x0b\\xf9\\xb3\\x7f\\xae\\xa8\\x71\\xf2\\x6c\\x34\\x03\\x19\\xfc\\x5e\\x61\\xe0\\x88\\xc8\\x81\\x3e\\xec\\xa6\\xcc\\x1a\\xd8\\x2d\\xb6\\x6d\\x13\\x55\\x0d\\xef\\xa2\\x28\\x17\\x35\\x6f\\x1e\\xde\\x96\\x75\\xef\\xa1\\x86\\x1b\\xe1\\x33\\xc0\\x8f\\xd6\\x91\\xad\\x3b\\xce\\x98\\xd4\\xae\\x5d\\xeb\\xe8\\x26\\x2c\\x9a\\x39\\x7d\\x6a\\x4c\\x8a\\xe6\\x91\\x11\\x33\\x26\\x45\\xb2\\x3a\\x7b\\xb6\\x26\\xd4\\x6e\\xb1\\x5f\\x9b\\xc5\\x58\\x21\\xfb\\x8c\\xc8\\x5d\\x00\\xea\\x76\\x5b\\x6c\\x94\\xd3\\x6b\\x4a\\x07\\xc7\\x63\\x4d\\x6e\\x5e\\x16\\x9d\\xc4\\x1f\\xf4\\xfa\\xde\\x38\\x3d\\x2c\\xd8\\x71\\x79\\xb5\\x1d\\x47\\x52\\x1a\\x0d\\xb6\\xfc\\x8f\\xfb\\x37\\xaf\\x7a\\xbd\\x47\\x26\\x9f\\xbc\\xf2\\xdb\\x9f\\xe3\\x06\\xe9\\x3c\\x72\\xa6\\xa7\\xd2\\x3f\\xd6\\x71\\x8d\\xa6\\xc9\\xfe\\xf3\\x9f\\x49\\x1a\\xee\\xcf\\x87\\x25\\xd8\\x7e\\xeb\\xec\\x35\\x93\\x0f\\x57\\x93\\xdb\\xbb\\xcb\\xdc\\xd3\\x7f\\x48\\x71\\x93\\x1e\\xec\\x2a\\xf9\\x9b\\x66\\xd1\\x2f\\x46\\xaa\\x6f\\x91\\x34\\xa5\\x39\\x04\\x21\\x03\\x86\\xe1\\x00\\x30\\xaf\\x5b\\xc7\\x28\\xbb\\xa9\\xdc\\xa2\\x80\\xaa\\xd1\\x30\\xc0\\xd4\\xe0\\x8e\\xd6\\x49\\x4d\\x2f\\xf9\\x66\\xe2\\xbd\\x65\\x3b\\x27\\x2f\\x2f\\x98\\xde\\x7f\\x6c\\x5a\\xcf\\x84\\x8c\\x71\\x97\\xb8\\x89\\x72\\x17\\x69\\x7b\\xe3\\x99\\x5b\\xfd\\x3b\\x6e\\xa1\\x53\\x1f\\x5e\\xe2\\xff\\xba\\x72\\xd0\\xc4\\xeb\\x88\\x7c\\x8e\\x1a\\x68\\xad\\x4c\\x50\\xfc\\xec\\x0a\\x25\\x4c\\x89\\x59\\xad\\x31\\xe3\\x75\\x92\\xf6\\x92\\x22\\x04\\x84\\x2d\\x1d\\x46\\x83\\xdc\\xa4\\x39\\xb1\\x77\\x72\\x30\\x08\\x5a\\x72\\x17\\x6b\\xf2\\xe3\\x86\\xbf\\xab\\xfe\\x64\\xc9\\xb3\\xb0\\xaa\\x19\\x7c\\x57\\x64\\x62\\x62\\x24\\x9d\\xdb\\x27\\xe1\\x5a\\x99\\x4b\\x06\\x34\\x65\\x02\\xc9\\x66\\xd7\\x80\\xc5\\xad\\x5f\\x6a\\xd4\\xc8\\x68\\xe2\\x28\\xa3\\x2d\\x5b\\x92\\x5a\\x65\\x90\\x2d\\x83\\xb6\\x0e\\xc9\\xce\\x36\\x18\\x5d\\xe5\\x5e\\xe4\\xc9\\xf8\\x05\\xee\\xc6\\xa4\\xc3\\x69\\x7f\\x64\\xe3\\xcd\\x77\\x0f\\x4d\\x49\\xbe\\xa4\\x4f\\xd7\\xe4\\xf6\\x73\\x2f\\xad\\x58\\x72\\xfd\\xf2\\xe7\\xc9\\x55\\x13\\x66\\xde\\x7b\\xe7\\x1d\\x63\\x6c\\x77\\x87\\x59\\xcf\\xb5\\xce\\xcb\\xf6\\xbc\\x51\\x2c\\xdf\\xf3\\xf0\\x07\\x94\\x21\\x64\\x02\\x60\\x75\\x53\\x3a\\xbc\\xd6\\x31\\x32\\xb2\\x71\\xe3\\x98\\xe6\\x6d\\x00\\x6f\\xb5\\xce\\x94\\xd7\\x65\\x90\\x20\\x4a\\x56\\x6a\\x70\\x9b\\xc0\\x6e\\xe7\\x46\\xa8\\xcb\\x4e\\x20\\x03\\x88\\xb3\\x7d\\x52\\x1d\\x78\\xcd\\xd9\\x3f\\x49\\xed\\x56\\x3a\\xbb\\x55\\xb2\\xd6\\x6c\\x48\\x97\\xfc\\xfc\\x1b\\xc6\\x47\\x64\\x0f\\xce\\x5e\\x94\\x96\\x04\\xa6\\xcc\\x9e\\x50\\x7e\\x7d\\xd9\\xdc\\x19\\xb3\\xde\\x18\\xd2\\xfa\\xcd\\xd2\\x46\\xcd\\xa6\\xe7\\x2e\\x0e\\x57\\xd3\\x38\\x9b\\x30\\xb5\\xa8\\x6d\\xde\\x73\\xad\\xa7\\x8f\\x9e\\x3c\\x37\\x2a\\x3c\\x3b\\x6b\\xfe\\x1d\\xb2\\xdf\\x1e\\x51\\xc6\\x93\\xee\\x6c\\x31\\xc4\\x33\\x12\\xd6\\x0c\\x61\\xce\\x6e\\xbc\\xa2\\x51\\x23\\x1a\\xa1\\xbe\\x49\\x06\\x2a\\xd4\\x09\\xc4\\x00\\xf9\\xfe\\x4e\\x70\\x81\\x9b\\xec\\x6c\\x80\\x92\\x0c\\xeb\\x7a\\x4b\\x63\\x9d\\x48\\x87\\xfb\\xdb\\xdc\\xdc\\xc6\\x7f\\x47\\x53\\x72\\x6c\\xce\\xcc\\x85\\xd1\\x2f\\x52\\xff\\x53\\xa4\\xe5\\x89\\x87\\x1e\\xf2\\xd0\\xae\\xd5\\x3f\\xe4\\x93\\x3d\\xfe\\x6b\\xc0\\xef\\x8d\\x30\\x2e\\xba\\xb2\\x45\\x4a\\x2b\\xa5\\xed\\x2b\\x51\\x8a\\xa2\\x5e\\xd4\\xfc\\x75\\x32\\x70\\x75\\x23\\x43\\x95\\x5e\\x5b\\x56\\x50\\x3b\\xac\\xc7\\xf0\\x7b\\xf1\\x8e\\xe7\\x30\\x2e\\xe4\\x1c\\xe4\\xec\\xfc\\x0e\\xe3\\xb8\\xd9\\xb5\\x57\\x3c\\xff\\x94\\x6f\\xd6\\x45\\xc9\\x7a\\xc2\\xd8\\x77\\xaf\\xcb\\x4c\\x48\\x1f\\x4c\\x5e\\x6d\\xe6\\xbf\\xbb\\x7b\\x57\\x9a\\x58\\x34\\xf3\\xfa\\x7b\\xda\\xbe\\x5a\\xd9\\xea\\xeb\\x1b\\x1b\\x91\\xfb\\x4a\\x77\\xeb\\xc1\\xb1\\x78\\x44\\xc9\\x22\\xbd\\xd9\\x32\\xf9\\xeb\\x7a\\xed\\x5f\\x8b\\xea\\xd0\\x21\\x3a\\x3a\\x32\\x5c\\x73\\x46\\x64\\x9b\\xda\\x11\\x69\\x39\\x4f\\x54\\xe4\\xb8\\xc4\\x5d\\xa9\\x6a\\x36\\xd3\\xd4\\x30\\xc4\\x0c\\x7f\\x4b\\x0b\\xec\\x50\\x5b\\x57\\x5e\\x9d\\xff\\x6a\\xf1\\x98\\x82\\x98\\x64\\xad\\x67\\xbf\\x11\\x0b\\x3b\\x4f\\x9c\\x38\\x7b\\xf6\\x43\\xa7\\xfa\\xb8\\xb2\\x46\\xe5\\xba\\xc7\\x18\\x59\\x77\\x54\\xdd\\x7b\\xe6\\xc6\\x2e\\x77\\x4f\\x6e\\x73\\xcf\\x3d\\xbd\\xbd\\x13\\x6f\\x5c\\x49\\x34\\x8f\\xf7\\x8a\\xb2\\x79\\xed\\xfb\\xc2\\x18\\x8b\\x55\\xc6\\x91\\x22\\xb6\\x10\\xd6\\x64\\x2d\\xdf\\x50\\x54\\x92\\xfe\\x32\\x87\\x85\\x18\\x85\\x18\\xe0\\xa6\\xe2\\xe0\\xb9\\xb3\\xa7\\x0c\\x81\\x68\\x3e\\x95\\xd2\\x9d\\x76\\x0e\\xf7\\xc7\\x7a\\xc8\\x97\\xfe\\xdb\\xe8\\x1d\\xfb\\xd3\\xab\\xdb\\xd2\\x57\\x80\\x2e\\xfc\\x3b\\x20\\x86\\x7d\\xe1\\xde\\x8a\\x56\\xda\\x02\\x1f\\x74\\x1c\\x68\\xb0\\x88\\x56\\x11\\xed\\xda\\xe9\\x9d\\x9a\\x3a\\x3e\\x35\\x53\\x74\\x19\\x4a\\x19\\xc9\\xd4\\xe0\\x5c\\x10\\x1c\\x21\\x4d\\x3a\\x74\\x74\\xd9\\xc9\\xf8\\x5b\\x50\\xf2\\xb7\\x37\\xc0\\xc1\\xe6\\xcd\\xa2\\x83\\x6e\\x35\\x6f\\x46\\xfa\\x4e\\x18\\x96\\x3c\\xc0\\xff\\xde\\x89\\xf7\\x2f\\x4e\\xbe\\xf9\\xae\\x5d\\xfe\\xc7\\xa7\\x8c\\x1d\\x70\\xc9\\xaa\\x77\\x87\\x5e\\x5a\\x70\\x37\\xdd\\x3d\\x61\\x51\\xf3\\xa6\\xe3\\xfa\\xfb\\x8f\\xbc\\xfd\\x91\\x2b\\x6a\\x50\\x72\\xc5\\xd5\\xd5\\x6a\\x7e\\x49\\xdf\\x4b\\x36\\x2d\\x25\\xf7\\x4c\\x9b\\x92\\xff\\x7a\\xbe\\x13\\xe7\\xdd\\x10\\xe7\\x2e\\xf5\\xe2\\x1c\\x06\\x71\\xce\\x90\\x71\\x4e\\xab\\x13\\xe7\\x68\\x13\\x37\\xf2\\xc2\\x0e\\x4e\\x4a\\xc6\\x75\\x60\\x34\\x6e\\x5a\\xe4\\xfc\\xc0\\x59\\xaf\\xd0\\x38\\x8f\\x5c\\xd4\\xb1\\x6e\\x9c\\xd9\\xb2\\xda\\x40\\x3f\\x70\\x9b\\x0c\\xb4\\xff\\x74\\x4d\\xa0\\xe5\\xfd\\xbc\\x4e\\xe5\\x74\\xbf\\x1a\\xfc\\xfd\\x63\\x45\\x10\\x4e\\xe5\\x57\\xe7\\x48\\xed\\x9b\\x92\\x74\\xff\\xd9\\x5d\\xac\\xa3\\xca\\x47\\x03\\x0f\\x0f\\x27\\x77\\xd3\\x99\\x34\\xa1\\xa9\\x2a\\xf7\\xb0\\x22\\x81\\x3d\\x7c\\x06\\xe9\\x26\\xae\\x86\\x18\\x87\\xad\\x66\\x7a\\x13\\x67\\x73\\x01\\x67\\x5f\\x9a\\x9a\\x9d\\x55\\x82\\xf7\\x7c\\xa7\\x01\\x24\\xe9\\x9e\\x8e\\xad\\x07\\x58\\xea\\xe0\\xf1\\x97\\x66\\xe7\\xe4\\x34\\x49\\xd7\\xbb\\x4d\\x12\\xd1\\x2d\\x5a\\x36\\xbe\\xa4\\x79\\x72\\xef\\x7e\\x43\\xf4\\xc4\\xe9\\x5a\\x63\\xb9\\x8e\\x0a\\xbc\\xad\\x28\\x7c\\x9c\\x80\\xd5\\x37\\x1b\\x24\\x9f\\xcf\\x84\\xf1\\x19\\x74\\x92\\xf8\\x0c\\xd6\\xfc\\x91\\xce\\xce\\x14\\xba\\xce\\x88\\x1a\\x71\\x6e\\x67\\x8a\\xe0\\x13\\x10\\x01\\x33\\x96\\x33\\x0e\\x05\\x59\\xed\\x3c\\xf3\\x20\\xd5\\x7b\\x55\\x12\\xb5\\xfc\\x55\\xd5\\xfe\\xd6\\x7f\\x58\\x7c\\xd6\\xe2\\x85\\xb0\\x17\\x3a\\x54\\x57\\x77\\x78\\xec\\x31\\x88\\xfd\\x72\\xb0\\xd7\\x57\\xab\\x4f\\x0b\\x0f\\xa7\\xc2\\x50\\x43\\x76\\xba\\x90\\xcf\\x7b\\xc0\\xa3\\x4e\\x52\\xe5\\x3c\\xe2\\x3c\\xf3\\x21\\xbf\\x81\\x9e\\xfe\\x2a\\x69\\xb2\\xfc\\x35\\x55\\x34\\x0e\\x7b\\xa1\\x85\\xff\\xce\\xc7\\x1e\\x73\\x34\\xa2\\x7d\\x2d\\xc4\\x06\\xa5\\x29\\xac\\xe6\\x9b\\xbd\\xd6\\xaa\\x79\\xf3\\x26\\x06\\x8d\\x8e\\x91\\x0a\\xd1\\xc2\\x3a\\x51\\x90\\xf7\\x05\\xa9\\x35\\xb7\\x5d\\x5a\\xea\\x80\\x01\\x23\\x07\\x87\\x9b\\x6a\\xbb\\x01\\x17\\x77\\x37\\xab\\x0f\\x86\\xd8\\xfd\\x56\\x54\\x7c\\xd7\\x38\\x17\\x6f\\x9f\\x29\\xc2\\x7b\\x75\\x8c\\xf4\\x6f\\x47\\x17\\x00\\xb3\\x13\\x4f\\x23\\xcf\\x8b\\x5f\\x9d\\xe7\\xc6\\x4a\\xeb\\x81\\xe1\\x31\\x4d\\x0d\\x8d\\xd2\\x36\\x91\\xcd\\x14\\xb5\\x16\\xf7\\x03\\x67\\x1b\\x6e\\x36\\x80\\x48\\x1c\\xad\\x8b\\x7c\\x4c\\x03\\x16\\x9c\\xdb\\x8d\\x41\\xdd\\x29\\x76\\xbd\\x7f\\xaf\\xb0\\x3e\\x3f\\x4d\\x96\\xf4\\xcc\\xe8\\x93\\xd4\\x2e\\xab\\x65\\xa3\\x84\\x84\\x87\\x2f\\xce\\xec\\x9b\\xdc\\xb6\\x7b\\x62\\x93\\x84\\x78\\x9e\\xe6\\x3c\\xbc\\x58\\xbc\\xf8\\x58\\xfb\\xae\\xed\\x93\\xdb\\x3b\\x3b\\x32\\x74\\x4e\\x5c\\x25\\xe7\\x89\\xc0\\x30\\x3e\\x8c\\xdc\\x20\\x63\\xd8\\x4c\\x69\\x3f\\xb0\\x71\\x54\\x18\\x87\\x7f\\x91\\x91\\xc4\\x79\\x8a\\xe1\\x3c\\x2c\\xd9\\xd0\\xd3\\xc9\\x21\\x9c\\xcf\\x20\\x38\\xdb\\xb5\\x39\\x1d\\xd4\\x12\\x86\\x6c\\xb2\\x55\\xb3\\x41\\x1a\\x79\\xe4\\x49\\x7e\\x24\\x9d\\xf6\\x9c\\x7f\\x05\\x1b\\x2a\\xf2\\xc6\\x8f\\xbd\\xac\\xd5\\xd0\\x16\\x2f\\xc8\\x7e\\x5a\\x57\\xe8\\xe9\\xd1\\x67\\xc0\\x25\\x7d\\x4b\\xaf\\x6a\\x10\\x87\\xc2\\xbf\\xc8\\x48\\xe1\\xe0\\x88\\xfa\\x38\\xb2\\xe3\\x58\\x5d\\x9c\\x17\\x69\\xfa\\x4a\\xfe\\x44\\xd7\\xba\\x38\\xb2\\x03\\x97\\x9d\\x03\\xaa\\xc1\\xd9\\xe0\\xcc\\xe4\\x0e\\x4e\\x38\\x8f\\x81\\x7f\\xed\\xa3\\x1c\\x98\\x28\\xe7\\xe7\\x5c\\xcd\\x0d\\x3d\\xcd\\x5a\\x9c\\xba\\x08\\xec\\xfc\\xde\\xcd\\x90\\x70\\xf9\\xe3\\xc6\\x2f\\x8e\\x01\\xb8\\x97\\xfa\\x27\\xf6\\x4b\\xc9\\xca\\xd0\\xe3\\xb5\\xd6\\x49\\x9d\\xdb\\x5b\\x7c\\x98\\x04\\x1e\\x98\\x5a\\x7a\\x15\\x29\\x8d\\x8a\\x6b\\x73\\x71\\x82\\xd3\\xc1\\x61\\xed\\xda\\x35\\x76\\x7e\\x63\\x86\\x0f\\x27\\xcf\\x41\\xbf\\x36\\x87\\x79\\xa1\\xd3\\xc0\\xa8\\x0e\\xad\\x5a\\x35\\x01\\xf8\\x68\\x11\\xee\\x3c\\x8e\\x0b\\x6f\\xd7\\x02\\x1f\\x0f\\x49\\x56\\x91\\x9b\\x85\\x34\\xd0\\xad\\xa2\\xae\\x7d\\x3b\\xcf\\xf5\\xed\\x23\\x17\\x67\\xf6\\xc1\\xbe\\xf5\\xaf\\x99\\xbb\\x80\\x25\\x69\\x05\\xe3\\x27\\x2c\\x6c\\x91\\xd4\\xe2\\x41\\x61\\x86\\xf6\\xf1\\xfe\\xc9\\xe3\\x3a\\x25\\x58\\x76\\xbc\\xb7\\xc8\\xc9\\xbb\\x49\\xe8\\xfe\\x94\\x4d\\xba\\xf2\\x63\\x8f\\x84\\xee\\x52\\x49\\x1b\\x8f\\x26\\xa3\\x6b\\xf7\\xc1\\xac\\x7b\\xad\\xea\\x5c\\x7b\\xfe\\xfe\\x98\\x72\\x6f\\xd1\\xd6\\x2c\\xb2\\x81\\xe3\\x07\\x69\\x02\\xfd\\xd5\\xd9\\x13\\xd3\\xbf\\xd4\\xd9\\x3b\\xb1\\x69\\x57\\xfd\\x8c\\x3c\\x7e\\x88\\x5e\\x11\\xdc\\xaf\\xb5\\xde\\xf1\\x5f\\x6a\\x8f\\x3f\\x5e\\xe7\\xf8\\xcf\\x35\\xc7\\xeb\\xed\\xef\\xda\\xe0\\x5e\\xa6\\x8a\\x5a\\x7d\\xcc\\xbf\\x94\\x98\\x81\\x5f\\xf0\\x37\\x52\\x13\\x94\\xbe\\xca\\x00\\xe0\\xf4\\xa8\\x7e\\x56\\x07\\x25\\x95\\x0c\\x4c\\x7d\\x38\\x95\\xa6\\xf6\\x8f\\x6b\\xcc\\xba\\x05\\x37\\xc2\\x5b\\x37\\x6d\\xae\\xe9\\xdc\\x5d\\x22\\x64\\x53\\x9a\\xe4\\x90\\xfa\\x85\\x36\\xae\\x09\\x3d\\xae\\x45\\x5b\\xac\\xfa\\x58\\x7c\\x6c\\xc7\\xf8\\xf8\\x8e\\xb1\\xf1\\xfb\\x6a\\x2a\\xf7\\xc6\\xc5\\x76\\x8a\\x8b\\xeb\\x14\\x1b\\x47\\x27\\xc4\\x75\\x8c\\xed\\xdd\\x3b\\xb6\\x63\\x5c\\x97\\x9a\\x43\\x5f\\x67\\xf8\\x32\\x67\\x3a\\xbf\\x73\\x1a\\xbc\\x54\\x96\\xab\\x64\\xbd\\x77\\xef\\x5f\\x3b\\xc6\\xc5\\x39\\xc7\\x56\\xc9\\x36\\xf1\\xf1\\xf1\\xa4\\xc4\\x7f\\xbb\\x73\\xaf\\xf2\\xea\\xd3\\xfe\\x65\\xa4\\x2d\\xf8\\x16\\xdc\\xdb\\xa7\\xbd\\xe3\\x17\\x53\\x94\\x36\\xd1\\xb0\\x58\\x1e\\x18\\xf3\\x70\\x0c\\x8d\\x69\\xdb\\x48\\x93\\x4f\\x9a\\x1d\\xaf\\xe4\\x84\\x25\\x20\\x79\\xf8\\x2b\\xbb\\xfd\\x11\\xc4\\xdd\\xd4\\xff\\x26\\xbd\\xa6\\x41\\x13\\x5d\\xb3\\x2f\\xb9\\x80\\x31\\xe7\\x6c\\xd1\\x80\\x2d\\xda\\x43\\xa4\\xbb\\x0c\\x8c\\x56\\x9d\\xad\\x8f\\x63\\x5b\\x2a\\x6d\\xc9\\xc0\\xb6\\x0f\\xb7\\xa5\\x6d\\x3b\\x44\\x39\\x5b\\x2a\\x5a\\x1b\\xd0\\x1a\\xc9\\x40\\xc9\\x72\\xf3\\x38\\xed\\x2f\\x6d\\x1a\\xdb\\xdc\\x17\\x0d\\x66\\xcd\\x69\\x4a\\xde\\x6e\\xd0\\x2c\\xff\\x91\\xca\\xd9\\xb3\\x2b\\x5f\\xba\\x50\\x9c\\xa8\\x12\\x05\\x6b\\xd5\\x07\\xc4\\x3d\\x4a\\x4f\\x65\\x20\\xd0\\xda\\x25\\xcc\\xd9\\x6a\\x3b\\xb8\\x93\\xa6\\xda\\x8e\\xb6\\x6c\\xc7\\xb4\\x48\\xe6\\x3c\\xec\\x4e\\xbe\\x84\\x25\\xc7\\x33\\xa6\\x06\\x6f\\xb7\\x4b\\x48\\x3c\\xe9\\x06\\xff\\x47\\x32\\x52\\x16\\x91\\x36\\x73\\x91\\x3b\\x33\\xb7\\x45\\xbf\\x9e\\x79\\x97\\xe6\\x45\\xea\\xd1\\x71\\x59\\xbd\\xec\\x61\\x3d\\x44\\xe3\\x8b\\x26\\x2f\\x7b\\xcc\\x33\\xe3\\xa6\\x71\\x2d\\x5a\\xb4\\x98\\x7a\\xd9\\x5d\\x97\\x76\\x4e\\xee\\x14\\xf6\\x68\\x13\\x76\\xf1\\xa8\\x7e\\xc5\\xf7\\x77\\x8b\\x20\\xad\\xed\\x6e\\x6a\\x18\\x77\\x15\\x4c\\x1d\\xca\\x1f\\xef\\x33\\xf9\\x92\\x0e\\x7d\\xdb\\x77\\x49\\x18\\x9d\\xd9\\x25\\x23\\x73\\x48\\x4f\\x57\\x81\\xef\\xb2\\x21\\x25\\x2b\\x17\\x0d\\x74\\x15\\x3e\\x50\\x50\\xf8\\x50\\xf9\\xb0\\x66\\xdd\\x86\\x0e\\xbf\\xb4\\xba\\xc9\\xf0\\x45\\xd9\\x09\\x2f\\xbd\\xde\\xaf\\x60\\xea\\xd8\\xee\\x22\\x4c\\x44\\xa5\\xcc\\xba\\xcb\\xb1\\x7f\\x5c\\xe0\\x80\\x38\\xcc\\x4f\\x41\\x3f\\x5b\\x60\\xbf\\x93\\x19\\xd5\\xfc\\x74\\xa2\\x7c\\x4a\\x8b\\xbf\\xda\\xea\\x6c\\xc6\\x67\\x31\\x35\\xa4\\xee\\xfc\\x9a\\x96\\xbc\\x92\\x5c\\x1c\\xcd\\x57\\x46\\x9f\\x7d\\x72\\xf4\\xda\\x51\\xe3\\x66\\x85\\x7b\\xaf\\x32\\x48\\x5c\\xbe\\xda\\x34\\x21\\x31\\xf1\\xa6\\x7c\\x23\\xe7\\x89\\xbc\\x98\\x44\\xcb\\xba\\xcd\\xab\\xcf\\x7a\\xf2\\xde\\x79\\xba\\xff\\xa7\\x36\\x83\\xde\\x1a\\x3f\\xbd\\x80\\x5f\\x5f\\x5c\\x7c\\x36\\xd5\\xb3\\x68\\x8e\\x37\\xfa\\x52\\x3a\\x2c\\x26\\xae\\xfa\\xcd\\x76\\x0b\\x1b\\xc7\\x25\\x4f\\x5e\\x96\\x44\\x07\\x56\\xbf\\x79\\x55\\xa7\\xb8\\xe4\\x19\\x97\\xb9\\xe8\\x40\\x67\\xbb\\xf4\\x0f\\x66\\x2e\\xf6\\xc9\\x38\\xe7\\x05\\x0e\\xb2\\x9f\\xa5\\x9d\\xed\\xd1\\xce\\xe0\\xee\\xd0\\xa1\\xa6\\xd4\\x18\\xad\\x92\\x88\\x68\\xfa\\x79\\x74\\xb5\\x19\\xfc\\x59\\xa8\\x27\\x24\\x74\\xeb\\xb1\\x2f\\x4f\\xf4\\xe6\\x85\\xe7\\xf9\\x74\\x12\\x93\\xd7\\x52\\x9a\\x90\\xe2\\xfc\\x30\\x14\\x5d\\xe0\\xe0\\xac\\x99\\x53\\x52\\x9c\\xd7\\x78\\x04\\x1d\\x7d\\x51\\x5c\\xf5\\x5b\\x4b\\xe4\\x6a\\x52\\x89\\x1e\\xae\\x10\\xe6\\x82\\x29\\xc0\\xd0\\x2e\\x01\\xdc\\xce\\x81\\x1d\\x0a\\x63\\x7d\\xa5\\xcc\\x94\\x72\\x90\\x94\\x23\\x41\\x36\\x53\\x9a\\x05\\x0a\\x60\\xf6\\x65\\x50\\xef\\xac\\x24\\x07\\x5e\\x06\\x99\\x1a\\x58\\x01\\xb2\\x8f\\xac\\xf7\\x0b\\xdc\\x02\\x72\\x92\\x94\\x93\\xa5\\x9c\\xea\\x48\\xed\\x47\\x38\\xdb\\x43\\x69\\xec\\xff\\x03\\x64\\x94\\x94\\x9d\\x41\\x26\\x48\\x3d\\x09\\xa0\\xe7\\x6b\\x90\\xa9\\x70\\x4d\\x82\\xd4\\x93\\x00\\x7a\\x9c\\x23\\x53\\x03\\x6b\\x95\\x04\\xd9\\xd6\\x92\\x57\\x5a\\x52\\x83\\x25\\x35\\x58\\x52\\x83\\x0b\\x5a\\xed\\x00\\xd9\\x47\\xca\\x7e\\x52\\x4e\\x05\\x99\\x2c\\xaf\\x4f\\x56\\x1a\\x83\\xb5\\xc9\\x4a\\x13\\x29\\xa3\\xa4\\x6c\\x0b\\xf6\\x24\\x2b\\xed\\x02\\x8b\\x41\\x76\\x96\\x47\\x4c\\x79\\x65\\x66\\x20\\x13\\x64\\x96\\x94\\x83\\xa5\\x1c\\x2e\\xaf\\x1c\\x23\\xeb\\xe3\\x65\\x7d\\x82\\xac\\x4f\\x94\\xf5\\xc9\\xb2\\xed\\x54\\x90\\xa9\\x12\\x2b\\x55\\xda\\x96\\x0a\\x58\\xb7\\x80\\x8c\\x92\\xf5\\xb6\\x80\\x92\\x0a\\x58\\xce\\x35\\x9d\\xa5\\x34\\xc1\\xa3\\x54\\xc0\\x6a\\x0b\\x72\\xb0\\x94\\xc3\\xe5\\xf1\\x31\\xb2\\x3e\\x5e\\xd6\\x27\\x4a\\x39\\x15\\xb0\\xfa\\x80\\xfd\\x8e\\x6c\\x02\\x11\\xe8\\x03\\xf6\\x3b\\x75\\x47\\x67\\x1f\\x69\\x7f\\x1f\\xd0\\x39\\x17\\x64\\xa6\\x3c\\x3e\\x58\\x4a\\xc7\\xe6\\x3e\\xd2\\xe6\\x3e\\xd2\\xe6\\x3e\\xd2\\xda\\x3e\\x52\\x5b\\x3f\\xa9\\xad\\x9f\\x8c\\x46\\x3f\\xa9\\xad\\x9f\\xd4\\xd6\\x4f\\x6a\\xeb\\x27\\xb5\\xf5\\x93\\xda\\xfa\\x49\\x6d\\xfd\\xa4\\x6d\\xfd\\xa4\\xb6\\x7e\\xca\\x58\\x29\\xc7\\x81\\x9d\\xfd\\x40\\xa7\\x53\\x9f\\x04\\x72\\x88\\xf6\\xa3\\xf2\\xb6\\x32\\x1e\\x34\\xb7\\x05\\xd9\\x04\\x7a\\x6d\\x3c\\x68\\x76\\xea\\x59\\x60\\xf3\\x78\\x65\\x90\\x94\\x83\\xa5\\x1c\\x2a\\xe5\\x30\\x88\\xd5\\x78\\xd0\\xe9\\xd4\\xc7\\x39\\x12\\x34\\x0c\\x57\\x26\\xc9\\x9e\\x9a\\x24\\xfb\\x68\\xb2\\xac\\x4f\\x96\\xf5\\xa9\\x50\\xbf\\x05\\x64\\x54\\xe0\\x16\\xd6\\xd7\\x89\\x33\\xeb\\xcb\\x86\\x05\\x9e\\x00\\x39\\x46\\xca\\x09\\x81\\x97\\x41\\x66\\x07\\x26\\x82\\x9c\\x28\\x8f\\x4c\\x93\\x75\\x6f\\xe0\\x71\\x90\\x3e\\xa7\\x15\\x5b\\x08\\xf5\\x81\\x70\\xcd\\x73\\x2c\\x4d\\x59\\x1e\\x78\\x95\\xa5\\xb1\\x0c\\xa5\\x2f\\xc8\\xcc\\x40\\x2a\\xc8\\x41\\x81\\x72\\x90\\xc3\\xe4\\xf1\\x91\\xf2\\xc8\\x18\\x59\\x9f\\x18\\xb8\\x0e\\xe4\\xf4\\x40\\x16\\xc8\\x99\\x81\\x87\\x41\\x7a\\x02\\xcb\\x41\\xe6\\xc8\\x23\\x79\\x81\\x4a\\x90\\x85\\xf2\\xf8\\x1c\\x79\\xbc\\x48\\xd6\\x4b\\x02\\x05\\x20\\xe7\\xca\\x6b\\x2a\\xa5\\x5c\\x20\\xe5\\x65\\x12\\x71\\x09\\xd4\\x33\\xa5\\x17\\x99\\xd2\\x8b\\x4c\\xe9\\x45\\xa6\\xf4\\x22\\x53\\x7a\\x91\\x29\\xbd\\xc8\\x94\\x5e\\x64\\x4a\\x2f\\x32\\xa5\\x17\\x99\\xd2\\x8b\\x4c\\xe7\\x5e\\x60\\x59\\x30\\xd2\\xce\\x80\\x8c\\x72\\x24\\xf8\\x32\\x01\\x64\\xa6\\x7f\\x27\\xc8\\x41\\x52\\x8e\\x94\\x72\\x0e\\xb4\\x1a\\x24\\xb1\\x06\\x01\\xd6\\x37\\x20\\xc7\\x48\\x39\\x41\\xca\\x6c\\xf0\\x7a\\x10\\xa0\\x94\\xb3\\x61\\x10\\x87\\x27\\x40\\x0e\\x0a\\x6c\\x04\\x39\\x52\\xd6\\x27\\x40\\xab\\x61\\x32\\x62\\xc3\\xe0\\x9a\\xe7\\xd8\\x08\\xd0\\x70\\x0b\\xc8\\x31\\x52\\x4e\\x04\\xdb\\x46\\x40\\x64\\x3e\\x04\\x99\\x23\\x65\\x9e\\x94\\x05\\x52\\xce\\x96\\xb2\\x54\\xca\\xb9\\x52\\x56\\x4a\\xb9\\x40\\xca\\xc5\\x52\\x2e\\x91\\x72\\x19\\xc8\\x91\\xd2\\xc2\\x91\\x32\\x1a\\x23\\x65\\x34\\x46\\xca\\x68\\x8c\\x94\\xd1\\x18\\x29\\xe3\\x30\\x46\\x5a\\x38\\x46\\x5a\\x38\\x46\\x5a\\x38\\x46\\xda\\x36\\x46\\xda\\x36\\x4e\\x46\\x63\\x9c\\x8c\\xc6\\x38\\x88\\x83\\x23\\x07\\x05\\x86\\x83\\x1c\\x09\\xf5\\xf1\\x6c\\x5e\\xe0\\x4d\\x36\\x41\\xa2\\x4c\\x70\\x46\\x3e\\xc8\\x28\\x29\\x61\\x1e\\x00\\xd9\\xce\\x91\\x10\\xc3\\xc9\\x20\\x33\\x9d\\xe3\\xd0\\xf6\\x09\\x90\\xc3\\x9c\\xeb\\x01\\xcb\\x39\\x32\\x46\\xd6\\x27\\x4a\\x39\\x45\\x4a\\x67\\x54\\x4c\\x60\\x33\\x02\\x0f\\x82\\xcc\\x91\\x75\\xaf\\xbc\\x32\\x4f\\xd6\\xf3\\xa5\\x2c\\x94\\x9a\\xe7\\x48\\x59\\x22\\xa5\\x4f\\x5e\\x33\\x57\\x9e\\xad\\x94\\x72\\x81\\x94\\x0b\\xe5\\xf1\\x45\\xf2\\x9a\\x25\\xf2\\xc8\\x52\\xa8\\x67\\xc3\\xc8\\xcf\\x02\\xe9\\xd8\\x9c\\x0d\\x36\\x3b\\xf5\\xb6\\x81\\xcb\\x41\\xb6\\x73\\xa4\\x1c\\xc3\\xd9\\x72\\x0c\\x67\\xcb\\x31\\x9c\\x2d\\x6d\\xce\\x96\\x63\\x38\\x5b\\xda\\x9c\\x2d\\xc7\\x70\\xb6\\xb4\\x36\\x5b\\x8e\\xe1\\x6c\\x39\\x86\\xb3\\xa5\\xcd\\xd9\\x60\\xf3\\xa3\\x20\\x9d\\x91\\x9c\\x2d\\x47\\x72\\xb6\\x1c\\xc9\\xd9\\x72\\x24\\x67\\xcb\\x91\\x9c\\x2d\\xad\\xcd\\x96\\xd6\\x66\\x4b\\x6b\\xb3\\xe5\\x48\\xce\\x96\\x76\\x4e\\x94\\xfd\\x32\\x11\\xfa\\x62\\x16\\xc8\\x69\\x20\\x27\\x41\\xff\\x6e\\x04\\xb9\\x0c\\xe4\\x64\\xc0\\x7d\\x02\\x64\\x8e\\x94\\x79\\x52\\xce\\x96\\xc7\\xe7\\xca\\x7a\\xa5\\x94\\x0b\\xa4\\x5c\\x2c\\xe5\\x12\\x29\\x97\\x81\\x9c\\x02\\x3a\\xbf\\x04\\x39\\x0d\\xe4\\x34\\xe9\\xe9\\x34\\xe9\\xe9\\x34\\xe9\\xe9\\x34\\xe9\\xe9\\x34\\xe9\\xe9\\x34\\xe9\\xe9\\x34\\xe9\\xe9\\x34\\xe9\\xe9\\x34\\xe9\\xe9\\x34\\xe9\\xe9\\x34\\xe9\\xe9\\x34\\xe9\\xe3\\x34\\xe9\\xe3\\x34\\xe9\\xe3\\x34\\xe9\\xe3\\x34\\xe9\\xe3\\x34\\xe9\\xe3\\x34\\xe9\\xe3\\x34\\xe9\\xe3\\x34\\xe9\\xe3\\x34\\xe9\\x63\\x1e\\xf4\\xce\\xd7\\xac\\x00\\x34\\xdf\\x00\\x72\\x66\\xe0\\x5d\\x90\\x39\\xb2\\xee\\x0d\\xac\\x00\\x99\\x17\\x78\\x0a\\x64\\xa1\\x3c\\x3e\\x5b\\xd6\\xe7\\xc8\\x7a\\x91\\x94\\x3e\\x79\\xcd\\x5c\\x79\\x7d\\x19\\x8c\\xc3\\x02\\x40\\x71\\xea\\xf3\\xc0\\x8b\\x02\\xc0\\x72\\xea\\x8b\\xa5\\x5c\\x22\\xe5\\x32\\x90\\xc5\\x6c\\x7e\\x60\\x27\\x2b\\x05\\xc4\\x67\\x40\\xe6\\x48\\x99\\x27\\x65\\x81\\x94\\xa5\\x52\\xce\\x95\\xb2\\x42\\xca\\x4a\\x29\\x17\\x48\\xb9\\x04\\xe4\\x5c\\x69\\x73\\x19\\x2b\\x50\\x3a\\xb0\\x79\\x52\\x2e\\x60\\xc5\\x81\\x6d\\x20\\x9d\\xe3\\x0b\\x41\\xf3\\x36\\x90\\x39\\x52\\xe6\\x49\\x59\\x20\\xe5\\x5c\\x29\\x2b\\xa4\\xac\\x94\\x72\\x81\\x94\\x8b\\xa5\\x5c\\x22\\xe5\\x32\\x90\\x8b\\xa5\\x9e\\x25\\x52\\x2e\\x93\\xf2\\x65\\x18\\xab\\x4b\\x41\\x46\\x05\\xf2\\x40\\xb6\\x55\\x2c\\xf6\\x26\\xcc\\x54\\x3a\\x7b\\x0b\\xe4\\x70\\xb6\\x86\\x7d\\xa8\\xb4\\x05\\xf9\\x71\\x60\\x1f\\xc8\\x0d\\x70\\xfd\\x1a\\xb6\\x29\\xb0\\x1a\\xe4\\x17\\x30\\x1e\\xd6\\xb0\\xcd\\x52\\x6e\\x91\\x47\\xb6\\x82\\x9e\\x35\\x6c\\x1b\\xf4\\xd1\\x1a\\xb6\\x5d\\xd6\\x77\\x41\\x0c\\xd7\\xb0\\xdd\\x81\\xdd\\x20\\xf7\\x48\\xb9\\x5f\\xca\\xa3\\x52\\x1e\\x97\\xf2\\x44\\xe0\\x6d\\x90\\x27\\x65\\xdd\\xef\\x48\\xc0\\x4d\\x64\\x1f\\xb0\\x35\\x81\\x4f\\x40\\x7e\\xa8\\xc4\\x80\\x5c\\x0f\\x56\\x7d\\xc0\\x3e\\x56\\x86\\x83\\xdc\\x1a\\x58\\x09\\x72\\x9b\\x3c\\xfb\\x15\\x58\\xf5\\x01\\x60\\x39\\xf5\\x5d\\xb0\\x1e\\xfa\\x80\\xed\\x93\\xd7\\x9f\\x08\\x1c\\x60\\x1f\\x38\\x3f\\x06\\xc2\\xd6\\x82\\x9e\\xd5\\x20\\x3f\\x0c\\xdc\\x01\\x72\\x3d\\xb4\\x5d\\x0b\\xbe\\xbc\\x09\\x72\\x13\\x8c\\xa2\\xb5\\x60\\xbf\\x23\\xb7\\x40\\xdf\\xad\\x05\\xcd\\x63\\x40\\x6e\\x0b\\xdc\\x06\\xf2\\x2b\\xf0\\x6b\\x2d\\x68\\xbe\\x06\\xe4\\x0e\\x98\\x2b\\xd6\\xb2\\x1f\\xe4\\x95\\x8e\\xfe\\xb5\\xec\\x67\\xc0\\x5d\\xcb\\x7e\\x93\\xf5\\x13\\x80\\xbb\\x96\\x9d\\x92\\xf2\\x0f\\xe7\\x08\\xe0\\xc6\\xb0\\x75\\x32\\xaa\\xeb\\x64\\x54\\xd7\\xc9\\xa8\\xae\\x03\\x4b\\xa0\\x0e\\x5e\\x74\\x03\\xb9\\x01\\x34\\xac\\x63\\x1b\\x01\\x65\\x1d\\x58\\xe2\\xd4\\x7f\\x90\\x72\\xb7\\x3c\\xb2\\x17\\x6c\\x5e\\xc7\\xf6\\xc1\\xdd\\xb1\\x0e\\x22\\xb6\\x16\\xe4\\x21\\x98\\xf9\\xd7\\xb1\\x23\\xe0\\xc5\\x3a\\x40\\x5f\\x09\\xf2\\x17\\x79\\xfc\\x68\\xe0\\x6e\\x90\\xc7\\x02\\xeb\\x41\\x9e\\x80\\x31\\xbc\\x8e\\x9d\\x95\\xd7\\x54\\x43\\xe4\\xd7\\xb1\\x40\\x60\\x31\\x5b\\xc7\\x15\\xb8\\xfe\\x23\\xf0\\x7a\\x2f\\x5b\\x0f\\x58\\x77\\x80\\xdc\\x2c\\xe5\\x56\\x88\\xc3\\x7a\\xf0\\xd1\\x91\\x47\\x01\\x7d\\x3d\\x68\\x80\\xe8\\xb0\\x2d\\x60\\xff\\xc7\\x70\\x76\\x1f\\xc8\\xed\\xa0\\xe7\\x63\\xf0\\xba\\x35\\xfb\\x4c\\x46\\xec\\x33\\x19\\xb1\\xcf\\xe4\\xd9\\xcf\\x20\\x56\\x53\\x41\\xee\\x92\\xf5\\xfd\\x60\\xf9\\x67\\xa0\\x67\\x35\\xc8\\xe3\\xb2\\xee\\xd8\\xf3\\x19\\xf4\\xe9\\x46\\xb6\\x11\\xae\\x74\\xe4\\x6e\\xb0\\x61\\x23\\x5c\\xe9\\xc8\\xa3\\x52\\x1e\\x07\\xb9\\x09\\x22\\xf3\\x20\\xc8\\x0f\\xe1\\x9a\\x4d\\xd0\\x47\\xab\\x41\\x6e\\x90\\xf5\\xad\\x81\\xeb\\x41\\x6e\\x03\\x7b\\x36\\x41\\x8f\\xac\\x00\\xb9\\x5d\\x9e\\xfd\\x01\\xe4\\x97\\x10\\xe1\\xe1\\x20\\xa3\\x02\\x16\\x48\\x27\\xc2\\x5f\\x82\\x1e\\x38\\x02\\x7a\\x5c\\x20\\xd7\\x43\\x64\\xbe\\x04\\xaf\\xdf\\x06\\xb9\\x21\\x30\\x13\\xa4\\x13\\xed\\x2f\\x65\\xb4\\xbf\\x04\\xcd\\x3e\\x90\\xce\\x28\\xfa\\x12\\x34\\x2f\\x05\\xf9\\x83\\xbc\\x66\\xb7\\xa3\\x19\\x22\\xff\\x2a\\xc8\\xfd\\x52\\x1e\\x95\\xd2\\x0f\\x76\\x7e\\x09\\x91\\xdc\\xc8\\x36\\xcb\\x11\\xb5\\x99\\x6d\\x00\\xab\\x36\\xcb\\x38\\x6c\\x96\\xe3\\x70\\x33\\xd8\\xe6\\xc8\\xdd\\x4a\\x24\\xc8\\x3d\\x52\\xee\\x97\\xf2\\x80\\x94\\x07\\xa5\\x3c\\x2a\\xe5\\x71\\x29\\x7f\\x83\\x3b\\x6b\\x33\\x3b\\x29\\xeb\\x7e\\x90\\x5b\\xc0\\xa3\\x15\\x20\\xa3\\xc0\\x9e\\x2d\\xe0\\xd1\\x70\\x90\\xed\\x00\\x65\\x8b\\x52\\x0c\\xde\\x6d\\x51\\x2e\\x77\\x24\\xa0\\xc3\\x59\\xb8\\x2f\\x9c\\xba\\x63\\xff\\x16\\xb0\\xf9\\x55\\x90\\x7b\\xa5\\xdc\\x2f\\xe5\\xa1\\xc0\\x26\\x90\\x87\\x65\\xfd\\x88\\x94\\x3f\\x4b\\x79\\x54\\xca\\x5f\\xe5\\xd9\\x63\\xe0\\xcb\\x16\\x88\\xbf\\x73\\xe4\\x84\\x3c\\x72\\x4a\\xca\\x33\\x52\\x9e\\x95\\xc7\\xab\\xa5\\x0c\\x38\\x12\\x7c\\x87\\xfe\\x00\\x0b\\x97\\x83\\x74\\x2c\\xdc\\x2a\\x63\\xbe\\x15\\x6c\\x8b\\x01\\xe9\\xd8\\xb6\\x55\\x8e\\xf0\\xad\\x10\\xff\\x95\\x20\\x37\\xc0\\xd8\\xdb\\x0a\\xd1\\xfe\\x04\\xe4\\x36\\x18\\x6f\\x5b\\x21\\xc2\\x8e\\xdc\\x03\\x51\\xda\\x0a\\xd6\\x3e\\x0c\\xf2\\x47\\xf0\\x77\\x2b\\x44\\xdb\\x39\\xb2\\x5f\\x1e\\x39\\x20\\x8f\\x1c\\x94\\xf2\\x10\\xcc\\x06\\x5b\\xd9\\x4f\\xf2\\xec\\x61\\xb0\\x76\\x2b\\xf8\\xe2\\x1c\\xff\\x59\\xca\\x5f\\xe4\\x91\\xa3\\xb2\\xd5\\xaf\\x30\\xfe\\xb7\\x82\\x47\\x0e\\xee\\x71\\x79\\xe4\\x94\\x94\\xbf\\xcb\\xb6\\xa7\\xa5\\x3c\\x23\\x65\\xc0\\xb9\\x12\\x7c\\x79\\x98\\x6d\\x03\\x6b\\x57\\x80\\xfc\\x50\\xd6\\x9d\\xfb\\x71\\x1b\\x8c\\x90\\x13\\x20\\x37\\x81\\x47\\xdb\\x60\\x4e\\x70\\x8e\\x6c\\x05\\x66\\xdc\\x26\\xef\\x91\\x6d\\xf2\\x0e\\xdd\\x06\\x36\\xec\\x66\\x5f\\x81\\x5f\\xcb\\x41\\x6e\\x86\\x91\\xf0\\x95\\x1c\\xdb\\x5f\\x81\\x25\\x5f\\x83\\x3c\\x01\\x72\\x07\\x5c\\xf9\\x21\\xdb\\x21\\x67\\xd1\\x9d\\x80\\xf2\\x26\\xc8\\x0f\\xa1\\xed\\x4e\\x18\\x93\\xeb\\x41\\x7e\\x2c\\xeb\\x1b\\xe1\\xca\\x9d\\xa0\\x67\\x23\\xc8\\xcd\\xb2\\xbe\\x05\\x74\\xee\\x84\\xb1\\xb4\\x12\\xe4\\xf6\\x40\\x6b\\x90\\xbb\\x40\\xff\\x4e\\x89\\xbb\\x53\\x6a\\xdb\\x05\\x1a\\xf6\\x81\\xfc\\x18\\xa2\\xbd\\x4b\\xda\\xbc\\x0b\\xae\\x5f\\x0d\\xf2\\x07\\x59\\xdf\\x07\\x23\\x6a\\x17\\x8c\\x37\\x47\\x1e\\x09\\x1c\\x07\\xf9\\x33\\x8c\\xdb\\x5d\\x30\\x23\\xb5\\x65\\xdf\\x83\\x25\\x37\\x81\\x74\\x2c\\xf9\\x1e\\xf4\\x6c\\x04\\xb9\\x41\\xca\\x4d\\xf2\\xc8\\x16\\x29\\xbf\\x02\\x1b\\xbe\\x07\\x74\\xe7\\xf8\\x3e\\x18\\x93\\xdf\\xcb\\xd1\\xbb\\x1b\\xfc\\xda\\x07\\xf2\\x0f\\x90\\x7b\\xa0\\x8f\\x1c\\x79\\x50\\xca\\x23\\x70\\xe5\\x1e\\x40\\x59\\x0d\\xf2\\xa8\\x3c\\x72\\x5c\\xca\\x13\\x52\\x9e\\x94\\xf2\\x14\\x78\\xb7\\x07\\xdb\\xfe\\x29\\xaf\\xf7\\x3b\\x75\\x79\\x37\\xed\\x85\\xd1\\x7b\\x1c\\xa4\\x33\\x2a\\xf6\\xc2\\x48\\xf8\\x06\\xe4\\x41\\x59\\x3f\\x2a\\xe5\\x71\\x29\\x4f\\xca\\x6b\\xfe\\x74\\xea\\xd0\\x6a\\x1f\\xfb\\x11\\x46\\x20\\x48\\x40\\xdf\\xc7\\xf6\\xc1\\x5d\\x16\\x03\\xf2\\x84\\xac\\xff\\x29\\xa5\\xa3\\x7f\\x3f\\x68\\x76\\xe4\\x1e\\x29\\xf7\\x01\\xd6\\x7e\\xb0\\xdc\\x91\\x07\\xe5\\x91\\x23\\xb2\\xfe\\xb3\\x94\\x47\\xe5\\x91\\xe3\\x52\\xfe\\x26\\xe5\\x49\\x79\\xfc\\x94\\xac\\x3b\\x96\\x1f\\x90\\xda\\x0e\\x48\\x6d\\x07\\x60\\xac\\x3a\\xf2\\xa0\\x94\\x47\\xe1\\xca\\x03\\x72\\xc6\\x3b\\x80\\x57\\x3a\\x36\\x1c\\x94\\xa3\\xfa\\xa0\\x8c\\xd5\\x41\\x79\\xe5\\x41\\x89\\x78\\x50\\x22\\x1e\\x94\\x88\\x07\\x25\\xe2\\x41\\xb0\\xfc\\x38\\xc8\\x3f\\x64\\xdd\\x69\\x7b\\x58\\x29\\x86\\xbb\\xe6\\xb0\\xe4\\x82\\xc3\\x80\\xe8\\xc8\\xfd\\x52\\x3a\\x7a\\x0e\\xb3\\x23\\x4a\\x0f\\x90\\xce\\x4c\\x7b\\x18\\x34\\x38\\xf2\\x37\\x79\\xfc\\xa4\\xbc\\xe6\\x0f\\x59\\x77\\x22\\x70\\x04\\xe6\\xa2\\x18\\x90\\x7b\\xa4\\xdc\\x0f\\x63\\xe6\\x08\\xcc\\x42\\x4e\\xfd\\xa8\\x94\\xc7\\xa5\\x3c\\x21\\xaf\\x3c\\x29\\xeb\\x4e\\xdb\\xa3\\xd2\\xc7\\xa3\\xd2\\xfe\\xa3\\x32\\x62\\x47\\x25\\xee\\x51\\x69\\xff\\x51\\xd9\\xd7\\x47\\xe5\\x38\\x3f\\x2a\\x7b\\xf6\\x28\\xb4\\x82\\x79\\x5f\\x22\\x1e\\x95\\xbd\\x73\\x4c\\xb6\\x3d\\x26\\xdb\\x1e\\x93\\x6d\\x8f\\x41\\xdb\\xd5\\x20\\x9d\\x3b\\xf7\\x98\\xb4\\xf6\\x98\\xc4\\x3d\\x26\\x35\\x1c\\x93\\xb8\\xc7\\xa4\\x86\\x63\\x52\\xc3\\x71\\xf0\\x1d\\x58\\x44\\x5a\\x72\\x5c\\x46\\xfb\\xb8\\x8c\\xe4\\x71\\xa9\\xed\\xb8\\x8c\\xf9\\x71\\x19\\xb7\\xe3\\xd2\\xeb\\xe3\\xb2\\xa7\\x8e\\x4b\\x3d\\xc7\\x65\\x0c\\x7f\\x53\\x1a\\x83\\xbf\\xbf\\x29\\x51\\xe0\\xd7\\x6f\\x32\\x0e\\xbf\\x49\\xdf\\x7f\\x83\\x56\\x1b\\xd9\\x6f\\x92\\xa3\\x4f\\xc8\\xf9\\xf6\\x84\\x9c\\xcd\\x4e\\x40\\x7e\\x0e\\x63\\x08\\xf2\\xf3\\xd5\\xec\\x04\\xd8\\x7f\\x06\\xa4\\x63\\xff\\x09\\x89\\x78\\x02\\xec\\xff\\x04\\xe4\\xcf\\xf2\\xc8\\x31\\x79\\xe4\\x94\\x94\\x8e\\xcd\\x27\\xc0\\xe6\\xdd\\xec\\xa4\\x8c\\xcf\\x49\\x19\\x9f\\x93\\xb2\\x7f\\x4f\\x4a\\x4f\\x4f\\xca\\x0c\\xe7\\xa4\\xb4\\xed\\xa4\\xf4\\xee\\x94\\x1c\\x4b\\xa7\\x64\\xcf\\x9e\\x92\\xfa\\x4f\\x49\\x8f\\x4e\\xc9\\x51\\x74\\x4a\\x7a\\x74\\x4a\\x5e\\x7f\\x4a\\xde\\x2f\\xa7\\x24\\xca\\xef\\xd2\\x8b\\xdf\\x65\\x3f\\xfe\\x2e\\x7d\\xf9\\x5d\\xf6\\xe3\\xef\\xb2\\x1f\\x7f\\x97\\xf1\\x3c\\x03\\xd7\\x58\\x20\\xf7\\x4b\\xe9\\x9c\\x3d\\x23\\x8f\\x57\\x4b\\x4b\\xaa\\x41\\xe7\\x6a\\xe6\\x97\\x51\\xf5\\xcb\\x3e\\xf2\\x4b\\x1f\\xfd\\xd2\\x06\\xbf\\xb4\\xdf\\x2f\\xed\\xf7\\x4b\\xfb\\xfd\\x72\\x7c\\xfa\\x65\\x5b\\xbf\\xbc\\x97\\xfd\\xb2\\xbf\\xfc\\xf2\\xce\\x0d\\x48\\x3d\\x01\\xd9\\x2f\\x01\\xd9\\x36\\x20\\xdb\\x06\\x64\\xdb\\x80\\x6c\\x1b\\x80\\xeb\\x57\\x82\\xfc\\x43\\xd6\\xc1\\x0b\\xde\\xd8\\x89\\x39\\x48\\x88\\x39\\xc8\\xb6\\xf2\\x08\\xc4\\x1c\\x24\\xf0\\x08\\xc8\\xcb\\x41\\xa6\\xc1\\x35\\x1b\\x41\\x46\\xc1\\xf1\\x34\\x87\\x65\\x40\\x16\\x4b\\x09\\x2c\\xa3\\xed\\xd5\\xf6\\x06\\xda\\x6a\\x3f\\xc2\\xaa\\xd0\\x91\\x13\\xfc\\x7f\\x80\\xcc\\x76\\xea\\x30\\x43\\xb6\\xd5\\xf6\\xb1\\x97\\x02\\x31\\x20\\xdf\\x96\\x72\\x8b\\x94\\xdb\\xfd\\xcb\\x41\\xee\\x08\\x0c\\xd7\\x0e\\xc9\\xb3\\x87\\xe4\\xd9\\x43\\xf2\\xec\\x21\\x98\\xeb\\x14\\x90\\x3b\\x02\\x2b\\x14\\x45\\x69\\x47\\x4a\\x9c\\x67\\x6a\\xf2\\xbf\\x09\\xca\\x4a\\xac\\x13\\xa5\\x09\\xe9\\x86\\x75\\xaa\\xa8\\x24\\x0b\\xeb\\x4c\\x69\\x4d\\xae\\xc1\\x3a\\x57\\x5a\\x92\\x2f\\xb1\\x2e\\x94\\x48\\xaa\\x61\\x5d\\x55\\x5a\\xd0\\x4c\\xac\\x6b\\xca\\x22\\x76\\x29\\xd6\\x75\\xa5\\x19\\x3b\\x85\\x75\\x43\\x89\\xe4\\x3d\\xb0\\x1e\\x46\\x4a\\xb4\\x16\\x58\\x0f\\x57\\xda\\xe8\\xef\\x61\\x3d\\x42\\x89\\x37\\xfa\\x60\\xbd\\x91\\xe2\\x32\\xb6\\x61\\x3d\\x52\\x69\\x15\\x96\\x06\\x96\\x10\\x6e\\xc0\\xab\\xe7\\xa4\\x55\\x4e\\x9d\\x28\\xb1\\x44\\x60\\x9d\\x2a\\x11\\x24\\x05\\xeb\\x4c\\x49\\x22\\x23\\xb0\\xce\\x95\\x78\\xf2\\x08\\xd6\\x85\\xd2\\x86\\x1c\\xc2\\xba\\xaa\\xf4\\xa2\\x2d\\xb0\\xae\\x29\\x27\\xe8\\x14\\xac\\xeb\\x4a\\x77\\xc8\\x7a\\x82\\x75\\x43\\x69\\xc3\\xc3\\xb1\\x1e\\x46\\xbf\\xe3\\x35\\xfa\\xc3\\x95\\x14\\xfd\\x1a\\xac\\x47\\x28\\x53\\xf5\\xef\\xb0\\xde\\x48\\x99\\x6d\\x14\\x62\\x3d\\x52\\xb1\\xc3\\xc2\\x95\\x4c\\xa5\\x50\\xc9\\x87\\xbf\\x0a\\xf8\\x5b\\xa4\\x78\\x95\\x5c\\x25\\x16\\xfe\\x3c\\xf0\\xda\\x03\\xb5\\x1c\\xc5\\xa7\\x94\\x2a\\x0b\\x95\\x32\\x79\\x55\\x01\\x1c\\x8d\\x55\\xba\\xc3\\xd1\\x1e\\x50\\x9a\\x4a\\x6f\\x25\\x11\\xfe\\x62\\x95\\x41\\x70\\x95\\x0f\\xce\\x17\\x41\\xfb\\x58\\x25\\x03\\xea\\x65\\xd0\\xca\\x91\\x1e\\xa9\\xd7\\xa7\\x94\\x28\\xf1\\x4a\\x98\\x3c\\xf3\\xd7\\xda\\x4c\\xa8\\x8d\\x41\\x2b\\x06\\xcb\\xd6\\xbd\\xa0\\x36\\x04\\xda\\xe7\\x80\\x06\\x25\\xb3\\x30\\xbf\\xb0\\xa2\\x70\\x91\\x37\\x37\\x36\\xd7\\x53\\xe1\\x89\\xcd\\xf1\\x95\\x2e\\x2c\\x2b\\xcc\\x2f\\xa8\\x88\\xed\\x9e\\xd3\\x23\\xd6\\xec\\x9d\\xd8\\x3b\\x76\\x90\\xcf\\x97\\x5f\\xe4\\x8d\\xcd\\xf0\\x95\\x95\\xfa\\xca\\x3c\\x15\\x85\\xbe\\x92\\xf8\\xb0\\x8c\\xfa\\x97\\x99\\xb1\\x63\\x40\\xc5\\x60\\x4f\\x45\\xaf\\xd8\\x21\\x25\\x39\\xa0\\x77\\x38\\x18\\x34\\x0b\\x60\\x43\\x0d\\x8e\\x55\\xc6\\xca\\x23\\x85\\x4a\\x1e\\x5c\\x50\\x38\\xcb\\x1b\\x54\\x17\\x3b\\xd6\\x5b\\x56\\x08\\x47\\x86\\xc8\\x08\\x15\\xc1\\xe9\\x1c\\x78\\x51\\xe1\\x29\\x2a\\x84\\x32\\x4d\\x29\\x87\\x97\\x5e\\x68\\x9d\\x2b\\xdb\\xc6\\x2a\\x71\\xf0\\xf7\\xb7\\xda\\xd3\\xca\\x73\\xbc\\x25\\xb9\\xde\\xb2\\xd8\\xb8\\xd8\\xf3\\x81\\xfe\\xae\\x75\\x6c\\x5d\\x53\\xea\\x2b\\x88\\xad\\xb1\\x6d\\x82\\x6c\\x51\\x5e\\xab\\xc1\\x84\\x80\\xf6\\x86\\x7f\\xf1\\x10\\x76\\x65\\x82\\xb7\\xac\\xdc\\x69\\x62\\xc6\\xf7\\xee\\x1d\\x9f\\xd8\\x30\\xe8\\x39\\xc8\\xb8\\x0b\\x41\\x4a\\xc4\\xb8\\x1a\\xc4\\x86\\x2d\\x2f\\x04\\x1b\\x62\\xe5\\xe0\\xaa\\x90\\x67\\x9c\\x48\\x15\\x43\\x59\\xa6\\xcc\\x81\\x63\\x3e\\xe9\\xd1\\x85\\x87\\x40\\x2c\\x5c\\xe7\\x95\\x03\\xb6\\x1c\\xce\\x78\\xe5\\xab\\x5c\\xa9\\xd5\\xd1\\x3d\\x1e\\xae\\x18\\x2b\\xaf\\x1a\\x2d\\x5b\\x3a\\x3d\\x51\\x21\\xd1\\x4a\\xe4\\x55\\xe3\\x1a\\x40\\x1c\\x05\\x88\\x79\\xd2\\x11\\x6f\\xc8\\x95\\x39\\x52\\xb7\\xe3\\x64\\x50\\xb3\\x0f\\xea\\x05\\xd8\\xa7\\xb3\\x95\\x4a\\x19\\x88\\x72\\xb8\\xd2\\x69\\x57\\xe3\\x5b\\xb9\\x33\\x44\\x43\\xe2\\x5f\\x58\\x1e\\xeb\\x89\\xad\\x28\\xf3\\xe4\\x7a\\x8b\\x3d\\x65\\x73\\x62\\x7d\\x79\\x75\\x87\\x5d\\x6c\\x99\\x37\\xbf\\xb0\\xbc\\xc2\\x5b\\x06\\x07\\x0b\\x4b\\x62\\xc7\\xc7\\x8f\\x8d\\x8f\\x1d\\xed\\xa9\\xf0\\x96\\x54\\xc4\\x7a\\x4a\\x72\\x63\\xc7\\xd5\\x36\\x1c\\x95\\x97\\x57\\x98\\xe3\\x95\\x07\\x73\\xbc\\x65\\x15\\x1e\\xb8\\xd8\\x57\\x51\\x00\\xc3\\x65\\x76\\x65\\x59\\x61\\x79\\x6e\\x61\\x8e\\x83\\x56\\x1e\\xdf\\xd0\\xf0\\x6b\\xf8\\x5e\\x3c\\x37\\xe0\\x42\\xee\\x13\\x05\\x22\\xe7\\x44\\x6c\\x9e\\x8c\\xc3\\x08\\x79\\xb9\\xf3\\xba\\x3c\\xd8\\x64\\x6c\\x85\\x77\\x9e\\x37\\x76\\x84\\xa7\\xa2\\xc2\\x5b\\xee\\x5c\\x9c\\x0e\\x17\\x94\\x63\\xf0\\x83\\x1d\\x3b\\x4e\\x86\\xca\\x07\\x47\\x9d\\x0e\\x9b\\x0f\\xe1\\x72\\x82\\x53\\x20\\xeb\\x1e\\xd9\\xe9\\xb9\\x52\\x9d\\x73\\xef\\x97\\x60\\xcb\\x59\\x30\\x1b\\xc4\\xfe\\x25\\x70\\x2c\\xb6\\xf5\\xe0\\xe0\\x29\\x91\\x18\\xf3\\xd0\\x1b\\xa7\\x4d\\x2f\\x1c\\x14\\x79\\x52\\x96\\x4b\\xdc\\x12\\xc0\\x88\\x95\\xf6\\xd5\\xdc\\x24\\xa1\\xd8\\xb1\\xb2\\x33\\x3d\\x72\\x68\\x04\\x87\\x63\\x31\\x9c\\xad\\x90\\xd7\\xe6\\xc8\\x71\\x5d\\x24\\xed\\x72\\x66\\xbf\\x62\\x88\\x5e\\x10\\x6b\\x16\\xce\\x6f\\xf3\\xe5\\x6c\\x59\\x80\\x1e\\x17\\x4b\\xbd\\xb1\\xca\\x48\\x28\\xe7\\xcb\\xa1\\xeb\\x93\\x83\\xab\\xa4\\x43\\x47\\x39\\x10\\xcf\\x45\\x25\\x38\\xb8\\xf3\\xf0\\x36\\x8c\\x95\\x6d\\x4b\\xa1\\xee\\x93\\x5e\\xd4\\xc4\\x31\\x4e\\xf6\\xa1\\xe3\\x89\\x57\\x5a\\xea\\xd4\\x3c\\x72\\x46\\x9e\\x05\\x2d\\x8a\\x24\\x76\\xd0\\xb6\\x02\\x39\\x84\\x3d\\x72\\x00\\x7a\\x71\\x40\\x56\\x48\\x0f\\xca\\x43\\x06\\x72\\x70\\xd8\\xc6\\x4a\\x2f\\x1c\\xed\\x6e\\x39\\x78\\x9d\\x79\\xd8\\x8b\\x31\\xcd\\x86\\xf9\\x7b\\x78\\x83\\x1a\\x83\\x11\\x0c\\xbd\\x81\\x9c\\x3e\\x29\\x92\\xf6\\x96\\x87\\xe8\\x2e\\x91\\xd6\\xe6\\xd6\\xfa\\x18\\x8c\\xb6\\x73\\x55\\x11\\x22\\x05\\x3d\\x2e\\x92\\x3c\\x31\\xa7\\xb6\\x7f\\xf2\\xe4\\xb8\\x0c\\x46\\x34\\x57\\x6a\\x8b\\xbb\\x40\\xcc\\xf3\\x64\\x6c\\x2a\\x10\\xd5\\x27\\x2d\\xca\\x85\\x7f\\xc1\\x1e\\x0f\\x8e\\x2d\\x1f\\xb4\\xad\\x94\\xfd\\x11\\xbc\\xe9\\x83\\xa3\\xbe\\xe2\\xbc\\xc8\\x79\\x64\\x7c\\x7d\\xd8\\xae\\x14\\xce\\x38\\x58\\x41\\x5b\\x8a\\x83\\x37\\x71\\xba\\xa7\\x1c\\x6e\\x4a\\xb8\\x85\\xc7\\x15\\x96\\xf8\\xca\\x7b\\xc5\\xce\\x2f\\x28\\xcc\\x29\\x88\\x9d\\xef\\x29\\x8f\\xcd\\xf5\\x96\\x17\\xe6\\x97\\xc0\\xc9\\x59\\x0b\\x63\\xeb\\xde\\x12\\xb1\\x70\\xd6\\x03\\x37\\x7d\\x49\\x89\\x6f\\x1e\\xdc\\x50\\xf3\\xbc\\xbd\\xe0\\x06\\xcf\\x2b\\xf3\\x96\\x17\\x14\\x96\\xe4\\xc7\\x96\\xcb\\xb9\\x38\\xd8\\x3a\\xb6\\xa2\\xc0\\x53\\xe1\\xcc\\x0e\\xc5\\xde\\x8a\\xb2\\xc2\\x1c\\x4f\\x51\\xd1\\x42\\xa0\\xb2\\xe2\\x52\\x68\\x35\\x0b\\xb8\\x6b\\x7e\\x61\\x45\\x01\\x00\\x17\\x7b\\xcb\\x63\\x47\\x7a\\xe7\\xc7\\x8e\\xf1\\x15\\x7b\\x4a\\x9e\\x89\\x0f\\x9a\\x02\\x93\\x48\\x1e\\x4c\\xd5\\xb1\\x85\\xc5\\xa5\\x65\\xbe\\x79\\xd2\\xc6\\xb8\\xf2\\x9c\\x32\\xaf\\xb7\\x04\\xc0\\x3c\\xb9\\x9e\\x59\\x85\\x45\\x85\\x15\\xa0\\xad\\xc0\\x53\\xe6\\xc9\\x81\\xa9\\x05\\xe6\\x97\\xc2\\x9c\\x72\\x39\\x75\\xc0\\x8c\\x11\\x5b\\xea\\x29\\x89\\x73\\x57\\x96\\xf9\\x4a\\xbd\\x60\\x69\\xf6\\xa0\\xe1\\xe7\\x2e\\x04\\x03\\x83\\xd3\\x4e\\xb9\\xaf\\x68\\x1e\\x20\\x3b\\x57\\x97\\x78\\xbd\\xb9\\x0e\\x22\\x98\\x3d\\xcf\\x5b\\x04\\x8d\\x00\\xb8\\xc8\\xe7\\x9b\\xe3\\xf8\\x93\\xe7\\x2b\\x03\\x43\\x73\\x2b\\x0a\\xe2\\x42\\x2c\\xcf\\xf3\\x95\\x54\\x40\\x53\\x5f\\xac\\x27\\x37\\x17\\x1c\\x87\\x68\\xf9\\x72\\x2a\\x8b\\x9d\\x09\\x0d\\x26\\x99\\x8a\\x1a\\xe3\\x3c\\x39\\x65\\x3e\\x38\\x57\\x5a\\xe4\\xa9\\x00\\x2d\\xc5\\xce\\xc4\\x55\\x20\\x6f\\xf9\\x52\\xa5\\x8f\\x92\\x00\\xff\\xe6\\xcb\\x7f\\xf1\\xf2\\xc6\\x0f\\x9d\\xce\\x72\\x70\\x32\\x8b\\xc7\\x41\\x92\\x00\\x0d\\x2b\\x2a\\x4a\\xfb\\x24\\x24\\xcc\\x9f\\x3f\\x3f\\xde\\x83\\x73\\x5a\\x0e\\x4c\\x69\\xf1\\x60\\x54\\xc2\\x3f\\x57\\xeb\\x8c\\x93\\x52\\x39\\xa2\\x43\\xe7\\xab\\x32\\x39\\x36\\x1c\\x9d\\xc5\\x30\\x66\\xfe\\x12\\xba\\x62\\x61\\xa9\\x17\\x47\\x4a\\x59\\x79\\x7c\\x41\\x45\\x71\\x51\\x90\\x0d\\x83\\xb0\\x35\\xd3\\x66\\x65\\xc8\\x44\\x5d\\x73\\x2b\\x8d\\x05\\xa6\\x1b\\x2e\\x59\\xa9\\x14\\x27\\x80\\x2c\\x1c\\xfa\\xb1\\xf5\\x34\\x38\\xd3\\x5e\\x7d\\x4e\\x4f\\x0c\\xb2\\xf9\\x70\\xa0\\x8b\\x12\\x67\\x04\\x57\\xca\\x49\\xde\\xe9\\xcb\\xb1\\x43\\x86\\xc7\\x8e\\x2a\\x85\\x61\\x92\\x05\\x7d\\x14\\x8b\\x17\\xf4\\x8a\\xad\\xe1\\xfd\\x44\\x87\\xf4\\xeb\\x86\\x2b\\x38\\x0d\\x15\\xc2\\xeb\\x0a\\xe9\\x78\\xb9\\xbc\\x89\\xe2\\x65\\xb0\\xf2\\xe1\\xfc\\x28\\xb0\\x6c\\x78\\x6d\\x18\\x60\\x10\\x16\\x96\\x56\\x94\\xc7\\x97\\x17\\x16\\xc5\\xfb\\xca\\xf2\\x13\\x46\\x65\\x0d\\xc7\\xef\\xbd\\x05\\x8e\\x3e\\xf3\\x7e\\xa0\\x03\\x38\\xda\\xc0\\x7f\\x61\\x17\\xc9\\xbc\\x9e\\x42\\x46\\xca\\x21\\xf7\\x55\\x21\\xcf\\xd5\\x9d\\x5f\\xe2\\x84\\xfc\\x35\\x02\\x72\\xd5\\x48\\x58\\x3d\\x36\\x71\\xbe\\x87\\xe7\\xfc\\x1a\\x9e\\xd2\\x5c\\x69\\xa1\\xb4\\x54\\x2e\\x52\\x62\\x94\\x56\\x4a\\x6b\\xa5\\x0d\\xac\\x48\\xda\\x29\\xed\\xc1\\xe9\\x0e\\x4a\\x47\\xa5\\x93\\xd2\\x59\\xe9\\xa2\\x74\\x55\\xba\\x41\\x3e\\xd9\\x43\\xb9\\x58\\xe9\\x09\\xe1\\x89\\x03\\x63\\x13\\x30\\xab\\xb4\\x14\\x5b\\x71\\x29\\x49\\x4a\\xb2\\x92\\xa2\\xa4\\x82\\x83\\x7d\\x95\\x7e\\x4a\\x7f\\xe5\\x12\\x65\\x80\\x32\\x10\\x58\\x33\\x1d\\x78\\x32\\x13\\x66\\xc6\\x2c\\x98\\x09\\x07\\x43\\x07\\x0c\\x55\\x86\\x81\\x6b\\x23\\x60\\x4e\\x1f\\x05\\x89\\xc4\\xa5\\x30\\xa7\\x8f\\x85\\x79\\x7c\\x3c\\x84\\x3b\\x5b\\x99\\xa8\\x4c\\x52\\x26\\x2b\\x53\\x94\\xa9\\xca\\x34\\x65\\xba\\x32\\x43\\x99\\xa9\\x78\\x08\\x55\\x1e\\x53\\xae\\x56\\xae\\x51\\xde\\x51\\xee\\x56\\x0e\\x2a\\xd7\\x2a\\x37\\x2b\\x37\\x28\\x0f\\x28\\x4f\\x2b\\x8f\\x13\\xa6\\xfc\\x8b\\x70\\xe5\\x2a\\xe5\\x0e\\xe5\\xb8\\xf2\\x9b\\x72\\x13\\xac\\x05\\xaa\\x88\\xaa\\xec\\x52\\x8e\\x29\\x0f\\x2a\\xcf\\x28\\x27\\x95\\x13\\xca\\x29\\xe5\\x51\\xe5\\x79\\xe5\\x13\\x65\\x3d\\xac\\x73\\x66\\x41\\xc8\\x6f\\x85\\x48\\x7d\\x06\\xdd\\xfa\\xb1\\xf2\\xa9\\xb2\\x49\\xd9\\xa0\\x6c\\x54\\x3e\\x57\\x0e\\xc1\\xec\\xb4\\x45\\xf9\\x42\\xf9\\x52\\x59\\x05\\xa1\\xff\\x55\\xb9\\x4d\\xf9\\x4a\\xd9\\xaa\\x6c\\x83\\x0e\\x3b\\xac\\xfc\\xac\\x5c\\x0f\\x09\\x49\\x21\\xcc\\xaa\\xce\\xa8\\x2c\\x51\\x1e\\x86\\x0e\\x9a\\x2b\\x79\\xa5\\x1c\\x06\\x58\\x05\\xcc\\xc2\\xf3\\x95\\x9f\\x94\\x05\\x90\\xdb\\x2f\\x54\\x16\\xc3\\xca\\xed\\x32\\xe5\\x75\\xe5\\x11\\x65\\xa9\\xb2\\x44\\x59\\xa6\\x5c\\xa1\\x1c\\x51\\x7e\\x51\\xde\\x24\\x1a\\xd1\\x89\\x41\\xc2\\x48\\x38\\x89\\x50\\xaa\\x15\\x3f\\x69\\x44\\x22\\x49\\x63\\xd2\\x44\\x09\\x10\\x85\\x44\\x91\\xa6\\x24\\x9a\\x10\\xd2\\x8c\\x34\\x27\\x2d\\x48\\x4b\\x72\\x11\\x89\\x21\\xad\\x48\\x6b\\xd2\\x86\\xb4\\x25\\xed\\x48\\x7b\\xe5\\x0f\\xe5\\x34\\x89\\x25\\x1d\\x48\\x47\\xd2\\x89\\x74\\x26\\x5d\\x48\\x57\\xd2\\x8d\\x74\\x27\\x3d\\xc8\\xc5\\xa4\\x27\\xe9\\x45\\xe2\\x48\\x3c\\x49\\x50\\xce\\x28\\x5f\\x93\\xde\\x24\\x91\\x98\\xc4\\x22\\x36\\x71\\x91\\x24\\x92\\x4c\\x52\\x48\\x2a\\xe9\\x43\\xfa\\x92\\x7e\\xa4\\x3f\\xb9\\x44\\xd9\\xa3\\xec\\x25\\x03\\xc8\\x40\\x92\\x46\\xd2\\x49\\x06\\xc9\\x24\\x6e\\x92\\xe5\\xfc\\x6c\\x08\\x19\\x42\\x86\\x92\\x61\\x64\\x38\\xac\\x95\\x5e\\x50\\x5e\\x24\\x23\\xc9\\x28\\x32\\x9a\\x5c\\x4a\\xc6\\x90\\xb1\\x64\\x1c\\x19\\x4f\\x26\\x90\\x6c\\xe5\\x4f\\xe5\\xac\\xf2\\xa3\\xb2\\x8f\\x4c\\x24\\x93\\xc8\\x64\\x32\\x85\\x4c\\x25\\xd3\\xc8\\x74\\x32\\x83\\xcc\\x24\\x1e\\x32\\x8b\\xe4\\x90\\x5c\\xe2\\x25\\x79\\x24\\x9f\\x14\\x90\\x42\\x32\\x9b\\xcc\\x21\\x45\\xa4\\x58\\x79\\x8b\\x94\\x10\\x1f\\x29\\x25\\x73\\x95\\xfd\\xca\\x01\\x52\\x46\\xca\\x49\\x05\\xa9\\x24\\xf3\\xc8\\x7c\\xb2\\x80\\x2c\\x24\\x8b\\xc8\\x62\\x72\\x19\\xb9\\x9c\\x2c\\x21\\x4b\\xc9\\x32\\x72\\x05\\xb9\\x92\\x5c\\x45\\xae\\x56\\x9e\\x20\\xd7\\x90\\x6b\\xc9\\x75\\xa4\\x8a\\x5c\\x4f\\xfe\\x45\\x6e\\x20\\x37\\x92\\x9b\\xc8\\xcd\\xe4\\x16\\x72\\x2b\\xb9\\x8d\\xdc\\x4e\\xee\\x20\\x77\\x92\\xbb\\xc8\\xdd\\xe4\\x1e\\xb2\\x9c\\xdc\\x4b\\x56\\x90\\xfb\\xc8\\xfd\\xe4\\x01\\xf2\\x20\\x79\\x88\\x3c\\x4c\\x1e\\x21\\x8f\\x92\\xc7\\xc8\\xe3\\xe4\\xdf\\xe4\\x09\\xf2\\x24\\x79\\x8a\\x3c\\x4d\\x9e\\x21\\xcf\\x92\\xe7\\xc8\\xf3\\x64\\x25\\x59\\x45\\x5e\\x20\\x2f\\x92\\xd5\\xe4\\x25\\xf2\\x32\\x79\\x85\\xbc\\x4a\\x5e\\x23\\xaf\\x93\\x37\\xc8\\x9b\\xe4\\x2d\\xf2\\x36\\x79\\x87\\xbc\\x4b\\xde\\x23\\xef\\x93\\x35\\xe4\\x03\\xb2\\x96\\xac\\x23\\x1f\\x92\\x8f\\xc8\\x7a\\xf2\\x31\\xf9\\x84\\x7c\\x4a\\x3e\\x23\\x1b\\xc8\\x46\\xf2\\x39\\xd9\\x44\\xbe\\x20\\x5f\\x92\\xcd\\x64\\x0b\\xd9\\x4a\\xb6\\x91\\xaf\\xc8\\xd7\\x64\\x3b\\xf9\\x86\\x7c\\x4b\\x76\\x90\\xef\\xc8\\x4e\\xb2\\x8b\\x7c\\x4f\\x7e\\x20\\xbb\\xc9\\x1e\\xb2\\x97\\xfc\\x48\\xf6\\x91\\xfd\\xe4\\x00\\x39\\x48\\x0e\\x91\\x9f\\xc8\\x61\\x72\\x84\\xfc\\x4c\\x7e\\x21\\x47\\xc9\\xaf\\xe4\\x18\\x39\\x4e\\x7e\\x23\\x27\\xc8\\x49\\x72\\x8a\\xfc\\x4e\\xfe\\x20\\xa7\\xc9\\x19\\xf2\\x27\\x39\\x4b\\xaa\\x89\\x9f\\x04\\xa8\\x42\\x09\\xa5\\x94\\x39\\x9b\\xf9\\x53\\x95\\x6a\\x54\\xa7\\x06\\x0d\\xa3\\xe1\\x34\\x82\\x36\\xa2\\x91\\xb4\\x31\\x6d\\x42\\xa3\\x68\\x53\\x1a\\x4d\\x9b\\xd1\\xe6\\xb4\\x05\\x6d\\x49\\x2f\\xa2\\x31\\xb4\\x15\\x6d\\x4d\\xdb\\xd0\\xb6\\xb4\\x1d\\x6d\\x4f\\x63\\x69\\x07\\xda\\x91\\x76\\xa2\\x9d\\x69\\x17\\xda\\x95\\x76\\xa3\\xdd\\x69\\x0f\\x7a\\x31\\xed\\x49\\x7b\\xd1\\x38\\x1a\\x4f\\x13\\x68\\x6f\\x9a\\x48\\x4d\\x6a\\x51\\x9b\\xba\\x68\\x12\\x4d\\xa6\\x29\\x34\\x95\\xf6\\xa1\\x7d\\x69\\x3f\\xda\\x9f\\x5e\\x42\\x07\\xd0\\x81\\x34\\x8d\\xa6\\xd3\\x0c\\x9a\\x49\\xdd\\x34\\x8b\\x0e\\xa2\\x83\\xe9\\x10\\x3a\\x94\\x0e\\xa3\\xc3\\xe9\\x08\\x3a\\x92\\x8e\\xa2\\xa3\\xe9\\xa5\\x74\\x0c\\x1d\\x4b\\xc7\\xd1\\xf1\\x74\\x02\\xcd\\xa6\\x13\\xe9\\x24\\x3a\\x99\\x4e\\xa1\\x53\\xe9\\x34\\x3a\\x9d\\xce\\xa0\\x33\\xa9\\x87\\xce\\xa2\\x39\\x34\\x97\\x7a\\x69\\x1e\\xcd\\xa7\\x05\\xb4\\x90\\xce\\xa6\\x73\\x68\\x11\\x2d\\xa6\\x25\\xd4\\x47\\x4b\\xe9\\x5c\\x5a\\x46\\xcb\\x69\\x05\\xad\\xa4\\xf3\\xe8\\x7c\\xba\\x80\\x2e\\xa4\\x8b\\xe8\\x62\\x7a\\x19\\xbd\\x9c\\x2e\\xa1\\x4b\\xe9\\x32\\x7a\\x05\\xbd\\x92\\x5e\\x45\\xaf\\xa6\\xd7\\xd0\\x6b\\xe9\\x75\\xb4\\x8a\\x5e\\x4f\\xff\\x45\\x6f\\xa0\\x37\\xd2\\x9b\\xe8\\xcd\\xf4\\x16\\x7a\\x2b\\xbd\\x8d\\xde\\x4e\\xef\\xa0\\x77\\xd2\\xbb\\xe8\\xdd\\xf4\\x1e\\xba\\x9c\\xde\\x4b\\x57\\xd0\\xfb\\xe8\\xfd\\xf4\\x01\\xfa\\x20\\x7d\\x88\\x3e\\x4c\\x1f\\xa1\\x8f\\xd2\\xc7\\xe8\\xe3\\xf4\\xdf\\xf4\\x09\\xfa\\x24\\x7d\\x8a\\x3e\\x4d\\x9f\\xa1\\xcf\\xd2\\xe7\\xe8\\xf3\\x74\\x25\\x5d\\x45\\x5f\\xa0\\x2f\\xd2\\xd5\\xf4\\x25\\xfa\\x32\\x7d\\x85\\xbe\\x4a\\x5f\\x53\\xb6\\x2b\\xbb\\xe9\\xeb\\xca\\xb7\\xf4\\x0d\\xfa\\x26\\x7d\\x8b\\xbe\\x4d\\xdf\\xa1\\xef\\xd2\\xf7\\xe8\\xfb\\x74\\x0d\\xfd\\x80\\xae\\xa5\\xeb\\xe8\\x87\\xf4\\x23\\x65\\x87\\xf2\\x9d\\xb2\\x53\\xf9\\x41\\xf9\\x46\\xf9\\x9e\\xae\\xa7\\x1f\\xd3\\x4f\\xe8\\xa7\\xf4\\x33\\xba\\x81\\x6e\\xa4\\x9f\\xd3\\x4d\\xf4\\x0b\\xfa\\x25\\xdd\\x4c\\xb7\\xd0\\xad\\x74\\x1b\\xfd\\x8a\\x7e\\x4d\\xb7\\xd3\\x6f\\xe8\\xb7\\x74\\x07\\xfd\\x8e\\xee\\xa4\\xbb\\xe8\\xf7\\xf4\\x07\\xba\\x9b\\xee\\xa1\\x7b\\xe9\\x8f\\x74\\x1f\\xdd\\x4f\\x0f\\xd0\\x83\\xf4\\x10\\xfd\\x89\\x1e\\xa6\\x47\\xe8\\xcf\\xf4\\x17\\x7a\\x94\\xfe\\x4a\\x8f\\xd1\\xe3\\xf4\\x37\\x7a\\x82\\x9e\\xa4\\xa7\\xe8\\xef\\xf4\\x0f\\x7a\\x9a\\x9e\\xa1\\x7f\\xd2\\xb3\\xb4\\x9a\\xfa\\x69\\x80\\x29\\x8c\\x30\\xca\\x18\\xe3\\x4c\\x30\\x95\\x69\\x4c\\x67\\x06\\x0b\\x63\\xe1\\x2c\\x82\\x35\\x62\\x91\\xac\\x31\\x6b\\xc2\\xa2\\x58\\x53\\x16\\xcd\\x9a\\xb1\\xe6\\xac\\x05\\x6b\\xc9\\x2e\\x62\\x31\\xac\\x15\\x6b\\xcd\\xda\\xb0\\xb6\\xac\\x1d\\x6b\\xcf\\x62\\x59\\x07\\xd6\\x91\\x75\\x62\\x9d\\x59\\x17\\xd6\\x95\\x75\\x63\\xdd\\x59\\x0f\\x76\\x31\\xeb\\xc9\\x7a\\xb1\\x38\\x16\\xcf\\x12\\x58\\x6f\\x96\\xc8\\x4c\\x66\\x31\\x9b\\xb9\\x58\\x12\\x4b\\x66\\x29\\x2c\\x95\\xf5\\x61\\x7d\\x59\\x3f\\xd6\\x9f\\x5d\\xc2\\x06\\xb0\\x81\\x2c\\x8d\\xa5\\xb3\\x0c\\x96\\xc9\\xdc\\xce\\xe7\\x35\\xd8\\x60\\x36\\x84\\x0d\\x65\\xc3\\xd8\\x70\\x36\\x82\\x8d\\x64\\xa3\\xd8\\x68\\x76\\x29\\x1b\\xc3\\xc6\\xb2\\x71\\x6c\\x3c\\x9b\\xe0\\xbc\\x83\\xcf\\x26\\xb1\\xc9\\x6c\\x0a\\x9b\\xea\\xbc\\xbb\\xcd\\x66\\xb0\\x99\\xcc\\xc3\\x66\\xb1\\x1c\\x96\\xcb\\xbc\\x2c\\x8f\\xe5\\x3b\\xef\\x3d\\xb3\\xd9\\x6c\\x0e\\x2b\\x62\\xc5\\xca\\x53\\xac\\x84\\xf9\\x9c\\xf7\\x86\\x59\\x19\\x2b\\x67\\x15\\xac\\x92\\xcd\\x63\\xf3\\x9d\\x77\\x7d\\xd9\\x22\\xb6\\x98\\x5d\\xc6\\x2e\\x67\\x4b\\xd8\\x52\\xb6\\x4c\\x79\\x88\\x5d\\xc1\\xae\\x64\\x57\\xb1\\xab\\xd9\\x35\\xec\\x5a\\x76\\x1d\\xab\\x62\\xd7\\xb3\\x7f\\xb1\\x1b\\xd8\\x8d\\xec\\x26\\x76\\x33\\xbb\\x85\\xdd\\xca\\x6e\\x63\\xb7\\x2b\\xf7\\xb0\\x3b\\xd8\\x9d\\xec\\x2e\\xe5\\x3e\\x76\\x37\\xbb\\x87\\x2d\\x67\\xf7\\xb2\\x15\\xec\\x3e\\x76\\x3f\\x7b\\x80\\x3d\\xc8\\x1e\\x62\\x0f\\xb3\\x47\\xd8\\xa3\\xec\\x31\\xf6\\x38\\xfb\\x37\\x7b\\x82\\x3d\\xc9\\x9e\\x62\\x4f\\xb3\\x67\\xd8\\xb3\\xec\\x39\\xf6\\x3c\\x5b\\xc9\\x56\\xb1\\x17\\xd8\\x8b\\x6c\\x35\\x7b\\x89\\xbd\\xcc\\x5e\\x61\\xaf\\xb2\\xd7\\xd8\\xeb\\xec\\x0d\\xf6\\x26\\x7b\\x8b\\xbd\\xcd\\xde\\x61\\xef\\xb2\\xf7\\xd8\\xfb\\x6c\\x0d\\xfb\\x80\\x39\\xef\\x3e\\x7e\\xc8\\x3e\\x62\\xeb\\xd9\\xc7\\xec\\x13\\xf6\\x29\\xfb\\x8c\\x6d\\x60\\x1b\\xd9\\xe7\\x6c\\x13\\xfb\\x82\\x7d\\xc9\\x36\\xb3\\x2d\\xce\\xfb\\x3e\\xec\\x2b\\xf6\\x35\\xdb\\xce\\xbe\\x61\\xdf\\xb2\\x1d\\xec\\x3b\\xe7\\x1d\\x0d\\xf6\\x3d\\xfb\\x81\\xed\\x66\\x7b\\xd8\\x5e\\xf6\\xa3\\xf3\\xec\\xde\\x79\\x8e\\xce\\x0e\\xb1\\x9f\\x9c\\xe7\\xda\\xec\\x67\\xf6\\x0b\\x3b\\xca\\x7e\\x65\\xc7\\xd8\\x71\\xe7\\x49\\x2d\\x3b\\xc9\\x4e\\xb1\\xdf\\xd9\\x1f\\xec\\x34\\x3b\\xc3\\xfe\\x64\\x67\\x59\\x35\\xf3\\xb3\\x00\\x57\\x38\\xe1\\x94\\x33\\xce\\xb9\\xe0\\x2a\\xd7\\xb8\\xce\\x0d\\x1e\\xc6\\xc3\\x79\\x04\\x6f\\xc4\\x23\\x79\\x63\\xde\\x84\\x47\\xf1\\xa6\\x3c\\x9a\\x37\\xe3\\xcd\\x79\\x0b\\xde\\x92\\x5f\\xc4\\x63\\x78\\x2b\\xde\\x9a\\xb7\\xe1\\x6d\\x79\\x3b\\xde\\x9e\\xc7\\xf2\\x0e\\xbc\\x23\\xef\\xc4\\x3b\\xf3\\x2e\\xbc\\x2b\\xef\\xc6\\xbb\\xf3\\x1e\\xfc\\x62\\xde\\x93\\xf7\\xe2\\x71\\x3c\\x9e\\x27\\xf0\\xde\\x3c\\x91\\x9b\\xdc\\xe2\\x36\\x77\\xf1\\x24\\x9e\\xcc\\x53\\x78\\x2a\\xef\\xc3\\xfb\\xf2\\x7e\\xbc\\x3f\\xbf\\x84\\x0f\\xe0\\x03\\x79\\x1a\\x4f\\xe7\\x19\\x3c\\x93\\xbb\\x79\\x16\\x1f\\xc4\\x07\\xf3\\x21\\x7c\\x28\\x1f\\xc6\\x87\\xf3\\x11\\x7c\\x24\\x1f\\xc5\\x47\\xf3\\x4b\\xf9\\x18\\x3e\\x96\\x8f\\xe3\\xe3\\xf9\\x04\\x9e\\xcd\\x27\\xf2\\x49\\x7c\\x32\\x9f\\xc2\\xa7\\xf2\\x69\\x7c\\x3a\\x9f\\xc1\\x67\\x72\\x0f\\x9f\\xc5\\x73\\x78\\x2e\\xf7\\xf2\\x3c\\x9e\\xcf\\x0b\\x78\\x21\\x9f\\xcd\\xe7\\xf0\\x22\\x5e\\xcc\\x4b\\xb8\\x8f\\x97\\xf2\\xb9\\xbc\\x8c\\x97\\xf3\\x0a\\x5e\\xc9\\xe7\\xf1\\xf9\\x7c\\x01\\x5f\\xc8\\x17\\xf1\\xc5\\xfc\\x32\\x7e\\x39\\x5f\\xc2\\x97\\xf2\\x65\\xfc\\x0a\\x7e\\x25\\xbf\\x8a\\x5f\\xcd\\xaf\\xe1\\xd7\\xf2\\xeb\\x78\\x15\\xbf\\x9e\\xff\\x8b\\xdf\\xc0\\x6f\\xe4\\x37\\xf1\\x9b\\xf9\\x2d\\xfc\\x56\\x7e\\x1b\\xbf\\x9d\\xdf\\xc1\\xef\\xe4\\x77\\xf1\\xbb\\xf9\\x3d\\x7c\\x39\\xbf\\x97\\xaf\\xe0\\xf7\\xf1\\xfb\\xf9\\x03\\xfc\\x41\\xfe\\x10\\x7f\\x98\\x3f\\xc2\\x1f\\xe5\\x8f\\xf1\\xc7\\xf9\\xbf\\xf9\\x13\\xfc\\x49\\xfe\\x14\\x7f\\x9a\\x3f\\xc3\\x9f\\xe5\\xcf\\xf1\\xe7\\xf9\\x4a\\xbe\\x8a\\xbf\\xc0\\x5f\\xe4\\xab\\xf9\\x4b\\xfc\\x65\\xfe\\x0a\\x7f\\x95\\xbf\\xc6\\x5f\\xe7\\x6f\\xf0\\x37\\xf9\\x5b\\xfc\\x6d\\xfe\\x0e\\x7f\\x97\\xbf\\xc7\\xdf\\xe7\\x6b\\xf8\\x07\\x7c\\x2d\\x5f\\xc7\\x3f\\xe4\\x1f\\xf1\\xf5\\xfc\\x63\\xfe\\x09\\xff\\x94\\x7f\\xc6\\x37\\xf0\\x8d\\xfc\\x73\\xbe\\x89\\x7f\\xc1\\xbf\\xe4\\x9b\\xf9\\x16\\xbe\\x95\\x6f\\xe3\\x5f\\xf1\\xaf\\xf9\\x76\\xfe\\x0d\\xff\\x96\\xef\\xe0\\xdf\\xf1\\x9d\\x7c\\x17\\xff\\x9e\\xff\\xc0\\x77\\xf3\\x3d\\x7c\\x2f\\xff\\x91\\xef\\xe3\\xfb\\xf9\\x01\\x7e\\x90\\x1f\\xe2\\x3f\\xf1\\xc3\\xfc\\x08\\xff\\x99\\xff\\xc2\\x8f\\xf2\\x5f\\xf9\\x31\\x7e\\x9c\\xff\\xc6\\x4f\\xf0\\x93\\xfc\\x14\\xff\\x9d\\xff\\xc1\\x4f\\xf3\\x33\\xfc\\x4f\\x7e\\x96\\x57\\x73\\x3f\\x0f\\x08\\x45\\x10\\x67\\xbb\\x59\\xc1\\x85\\x10\\xaa\\xd0\\x84\\x2e\\x0c\\x11\\x26\\xc2\\x45\\x84\\x68\\x24\\x22\\x45\\x63\\xd1\\x44\\x44\\x89\\xa6\\x22\\x5a\\x34\\x13\\xcd\\x45\\x0b\\xd1\\x52\\x5c\\x24\\x62\\x44\\x2b\\xd1\\x5a\\xb4\\x11\\x6d\\x45\\x3b\\xd1\\x5e\\xc4\\x8a\\x0e\\xa2\\xa3\\xe8\\x24\\x3a\\x8b\\x2e\\xa2\\xab\\xe8\\x26\\xba\\x8b\\x1e\\xe2\\x62\\xd1\\x53\\xf4\\x12\\x71\\x22\\x5e\\x24\\x88\\xde\\x22\\x51\\x98\\xc2\\x12\\xb6\\x70\\x89\\x24\\x91\\x2c\\x52\\x44\\xaa\\xe8\\x23\\xfa\\x8a\\x7e\\xa2\\xbf\\xb8\\x44\\x0c\\x10\\x03\\x45\\x9a\\x48\\x17\\x19\\x22\\x53\\xb8\\x45\\x96\\x18\\x24\\x06\\x8b\\x21\\x62\\xa8\\x18\\x26\\x86\\x8b\\x11\\x62\\xa4\\x18\\x25\\x46\\x8b\\x4b\\xc5\\x18\\x31\\x56\\x8c\\x13\\xe3\\xc5\\x04\\x91\\x2d\\x26\\x8a\\x49\\x62\\xb2\\x98\\x22\\xa6\\x8a\\x69\\x62\\xba\\x98\\x21\\x66\\x0a\\x8f\\x98\\x25\\x72\\x44\\xae\\xf0\\x8a\\x3c\\x91\\x2f\\x0a\\x44\\xa1\\x98\\x2d\\xe6\\x88\\x22\\x51\\x2c\\x4a\\x84\\x4f\\x94\\x8a\\xb9\\xa2\\x4c\\x94\\x8b\\x0a\\x51\\x29\\xe6\\x89\\xf9\\x62\\x81\\x58\\x28\\x16\\x89\\xc5\\xe2\\x32\\x71\\xb9\\x58\\x22\\x96\\x8a\\x65\\xe2\\x0a\\x71\\xa5\\xb8\\x4a\\x5c\\x2d\\xae\\x11\\xd7\\x8a\\xeb\\x44\\x95\\xb8\\x5e\\xfc\\x4b\\xdc\\x20\\x6e\\x14\\x37\\x89\\x9b\\xc5\\x2d\\xe2\\x56\\x71\\x9b\\xb8\\x5d\\xdc\\x21\\xee\\x14\\x77\\x89\\xbb\\xc5\\x3d\\x62\\xb9\\xb8\\x57\\xac\\x10\\xf7\\x89\\xfb\\xc5\\x03\\xe2\\x41\\xf1\\x90\\x78\\x58\\x3c\\x22\\x1e\\x15\\x8f\\x89\\xc7\\xc5\\xbf\\xc5\\x13\\xe2\\x49\\xf1\\x94\\x78\\x5a\\x3c\\x23\\x9e\\x15\\xcf\\x89\\xe7\\xc5\\x4a\\xb1\\x4a\\xbc\\x20\\x5e\\x14\\xab\\xc5\\x4b\\xe2\\x65\\xf1\\x8a\\x78\\x55\\xbc\\x26\\x5e\\x17\\x6f\\x88\\x37\\xc5\\x5b\\xe2\\x6d\\xf1\\x8e\\x78\\x57\\xbc\\x27\\xde\\x17\\x6b\\xc4\\x07\\x62\\xad\\x58\\x27\\x3e\\x14\\x1f\\x89\\xf5\\xe2\\x63\\xf1\\x89\\xf8\\x54\\x7c\\x26\\x36\\x88\\x8d\\xe2\\x73\\xb1\\x49\\x7c\\x21\\xbe\\x14\\x9b\\xc5\\x16\\xb1\\x55\\x6c\\x13\\x5f\\x89\\xaf\\xc5\\x76\\xf1\\x8d\\xf8\\x56\\xec\\x10\\xdf\\x89\\x9d\\x62\\x97\\xf8\\x5e\\xfc\\x20\\x76\\x8b\\x3d\\x62\\xaf\\xf8\\x51\\xec\\x13\\xfb\\xc5\\x01\\x71\\x50\\x1c\\x12\\x3f\\x89\\xc3\\xe2\\x88\\xf8\\x59\\xfc\\x22\\x8e\\x8a\\x5f\\xc5\\x31\\x71\\x5c\\xfc\\x26\\x4e\\x88\\x93\\xe2\\x94\\xf8\\x5d\\xfc\\x21\\x4e\\x8b\\x33\\xe2\\x4f\\x71\\x56\\x54\\x0b\\xbf\\x08\\xa8\\x8a\\x4a\\x54\\xaa\\x3a\\xdb\\x59\\x0a\\x55\\x55\\x35\\x55\\x57\\x0d\\x35\\x4c\\x0d\\x57\\x23\\xd4\\x46\\x6a\\xa4\\xda\\x58\\x6d\\xa2\\x46\\xa9\\x4d\\xd5\\x68\\xb5\\x99\\xda\\x5c\\x6d\\xa1\\xb6\\x54\\x2f\\x52\\x63\\xd4\\x56\\x6a\\x6b\\xb5\\x8d\\xda\\x56\\x6d\\xa7\\xb6\\x57\\x63\\xd5\\x0e\\x6a\\x47\\xb5\\x93\\xda\\x59\\xed\\xa2\\x76\\x55\\xbb\\xa9\\xdd\\xd5\\x1e\\xea\\xc5\\x6a\\x4f\\xb5\\x97\\x1a\\xa7\\xc6\\xab\\x09\\x6a\\x6f\\x35\\x51\\x35\\x55\\x4b\\xb5\\x55\\x97\\x9a\\xa4\\x26\\xab\\x29\\x6a\\xaa\\xda\\x47\\xed\\xab\\xf6\\x53\\xfb\\xab\\x97\\xa8\\x03\\xd4\\x81\\x6a\\x9a\\x9a\\xae\\x66\\xa8\\x99\\xaa\\x5b\\xcd\\x52\\x07\\xa9\\x83\\xd5\\x21\\xea\\x50\\x75\\x98\\x3a\\x5c\\x1d\\xa1\\x8e\\x54\\x47\\xa9\\xa3\\xd5\\x4b\\xd5\\x31\\xea\\x58\\x75\\x9c\\x3a\\x5e\\x9d\\xa0\\x66\\xab\\x13\\xd5\\x49\\xea\\x64\\x75\\x8a\\x3a\\x55\\x9d\\xa6\\x4e\\x57\\x67\\xa8\\x33\\x55\\x8f\\x3a\\x4b\\xcd\\x51\\x73\\x55\\xaf\\x9a\\xa7\\xe6\\xab\\x05\\x6a\\xa1\\x3a\\x5b\\x9d\\xa3\\x16\\xa9\\xc5\\x6a\\x89\\xea\\x53\\x4b\\xd5\\xb9\\x6a\\x99\\x5a\\xae\\x56\\xa8\\x95\\xea\\x3c\\x75\\xbe\\xba\\x40\\x5d\\xa8\\x2e\\x52\\x17\\xab\\x97\\xa9\\x97\\xab\\x4b\\xd4\\xa5\\xea\\x32\\xf5\\x0a\\xf5\\x4a\\xf5\\x2a\\xf5\\x6a\\xf5\\x1a\\xf5\\x5a\\xf5\\x3a\\xb5\\x4a\\xbd\\x5e\\xfd\\x97\\x7a\\x83\\x7a\\xa3\\x7a\\x93\\x7a\\xb3\\x7a\\x8b\\x7a\\xab\\x7a\\x9b\\x7a\\xbb\\x7a\\x87\\x7a\\xa7\\x7a\\x97\\x7a\\xb7\\x7a\\x8f\\xba\\x5c\\xbd\\x57\\x5d\\xa1\\xde\\xa7\\xde\\xaf\\x3e\\xa0\\x3e\\xa8\\x3e\\xa4\\x3e\\xac\\x3e\\xa2\\x3e\\xaa\\x3e\\xa6\\x3e\\xae\\xfe\\x5b\\x7d\\x42\\x7d\\x52\\x7d\\x4a\\x7d\\x5a\\x7d\\x46\\x7d\\x56\\x7d\\x4e\\x7d\\x5e\\x5d\\xa9\\xae\\x52\\x5f\\x50\\x5f\\x54\\x57\\xab\\x2f\\xa9\\x2f\\xab\\xaf\\xa8\\xaf\\xaa\\xaf\\xa9\\xaf\\xab\\x6f\\xa8\\x6f\\xaa\\x6f\\xa9\\x6f\\xab\\xef\\xa8\\xef\\xaa\\xef\\xa9\\xef\\xab\\x6b\\xd4\\x0f\\xd4\\xb5\\xea\\x3a\\xf5\\x43\\xf5\\x23\\x75\\xbd\\xfa\\xb1\\xfa\\x89\\xfa\\xa9\\xfa\\x99\\xba\\x41\\xdd\\xa8\\x7e\\xae\\x6e\\x52\\xbf\\x50\\xbf\\x54\\x37\\xab\\x5b\\xd4\\xad\\xea\\x36\\xf5\\x2b\\xf5\\x6b\\x75\\xbb\\xfa\\x8d\\xfa\\xad\\xba\\x43\\xfd\\x4e\\xdd\\xa9\\xee\\x52\\xbf\\x57\\x7f\\x50\\x77\\xab\\x7b\\xd4\\xbd\\xea\\x8f\\xea\\x3e\\x75\\xbf\\x7a\\x40\\x3d\\xa8\\x1e\\x52\\x7f\\x52\\x0f\\xab\\x47\\xd4\\x9f\\xd5\\x5f\\xd4\\xa3\\xea\\xaf\\xea\\x31\\xf5\\xb8\\xfa\\x9b\\x7a\\x42\\x3d\\xa9\\x9e\\x52\\x7f\\x57\\xff\\x50\\x4f\\xab\\x67\\xd4\\x3f\\xd5\\xb3\\x6a\\xb5\\xea\\x57\\x03\\x9a\\xa2\\x11\\xcd\\xd9\\x48\\x8b\\x6b\\x42\\x53\\x35\\x4d\\xd3\\x35\\x43\\x0b\\xd3\\xc2\\x35\\x67\\xdb\\x8f\\x48\\xad\\xb1\\xd6\\x44\\x8b\\xd2\\x9a\\x6a\\xd1\\x5a\\x33\\xad\\xb9\\xd6\\x42\\x6b\\xa9\\x5d\\xa4\\xc5\\x68\\xad\\xb4\\xd6\\x5a\\x1b\\xad\\xad\\xd6\\x4e\\x6b\\xaf\\xc5\\x6a\\x1d\\xb4\\x8e\\x5a\\x27\\xad\\xb3\\xd6\\x45\\xeb\\xaa\\x75\\xd3\\xba\\x6b\\x3d\\xb4\\x8b\\xb5\\x9e\\x5a\\x2f\\x2d\\x4e\\x8b\\xd7\\x12\\xb4\\xde\\x5a\\xa2\\x66\\x6a\\x96\\x66\\x6b\\x2e\\x2d\\x49\\x4b\\xd6\\x52\\xb4\\x54\\xad\\x8f\\xd6\\x57\\xeb\\xa7\\xf5\\xd7\\x2e\\xd1\\x06\\x68\\x03\\xb5\\x34\\x2d\\x5d\\xcb\\xd0\\x32\\x35\\xb7\\x96\\xa5\\x0d\\xd2\\x06\\x6b\\x43\\xb4\\xa1\\xda\\x30\\x6d\\xb8\\x36\\x42\\x1b\\xa9\\x8d\\xd2\\x46\\x6b\\x97\\x6a\\x63\\xb4\\xb1\\xda\\x38\\x6d\\xbc\\x36\\x41\\xcb\\xd6\\x26\\x6a\\x93\\xb4\\xc9\\xda\\x14\\x6d\\xaa\\x36\\x4d\\x9b\\xae\\xcd\\xd0\\x66\\x6a\\x1e\\x6d\\x96\\x96\\xa3\\xe5\\x6a\\x5e\\x2d\\x4f\\xcb\\xd7\\x0a\\xb4\\x42\\x6d\\xb6\\x36\\x47\\x2b\\xd2\\x8a\\xb5\\x12\\xcd\\xa7\\x95\\x6a\\x73\\xb5\\x32\\xad\\x5c\\xab\\xd0\\x2a\\xb5\\x79\\xda\\x7c\\x6d\\x81\\xb6\\x50\\x5b\\xa4\\x2d\\xd6\\x2e\\xd3\\x2e\\xd7\\x96\\x68\\x4b\\xb5\\x65\\xda\\x15\\xda\\x95\\xda\\x55\\xda\\xd5\\xda\\x35\\xda\\xb5\\xda\\x75\\x5a\\x95\\x76\\xbd\\xf6\\x2f\\xed\\x06\\xed\\x46\\xed\\x26\\xed\\x66\\xed\\x16\\xed\\x56\\xed\\x36\\xed\\x76\\xed\\x0e\\xed\\x4e\\xed\\x2e\\xed\\x6e\\xed\\x1e\\x6d\\xb9\\x76\\xaf\\xb6\\x42\\xbb\\x4f\\xbb\\x5f\\x7b\\x40\\x7b\\x50\\x7b\\x48\\x7b\\x58\\x7b\\x44\\x7b\\x54\\x7b\\x4c\\x7b\\x5c\\xfb\\xb7\\xf6\\x84\\xf6\\xa4\\xf6\\x94\\xf6\\xb4\\xf6\\x8c\\xf6\\xac\\xf6\\x9c\\xf6\\xbc\\xb6\\x52\\x5b\\xa5\\xbd\\xa0\\xbd\\xa8\\xad\\xd6\\x5e\\xd2\\x5e\\xd6\\x5e\\xd1\\x5e\\xd5\\x5e\\xd3\\x5e\\xd7\\xde\\xd0\\xde\\xd4\\xde\\xd2\\xde\\xd6\\xde\\xd1\\xde\\xd5\\xde\\xd3\\xde\\xd7\\xd6\\x68\\x1f\\x68\\x6b\\xb5\\x75\\xda\\x87\\xda\\x47\\xda\\x7a\\xed\\x63\\xed\\x13\\xed\\x53\\xed\\x33\\x6d\\x83\\xb6\\x51\\xfb\\x5c\\xdb\\xa4\\x7d\\xa1\\x7d\\xa9\\x6d\\xd6\\xb6\\x68\\x5b\\xb5\\x6d\\xda\\x57\\xda\\xd7\\xda\\x76\\xed\\x1b\\xed\\x5b\\x6d\\x87\\xf6\\x9d\\xb6\\x53\\xdb\\xa5\\x7d\\xaf\\xfd\\xa0\\xed\\xd6\\xf6\\x68\\x7b\\xb5\\x1f\\xb5\\x7d\\xda\\x7e\\xed\\x80\\x76\\x50\\x3b\\xa4\\xfd\\xa4\\x1d\\xd6\\x8e\\x68\\x3f\\x6b\\xbf\\x68\\x47\\xb5\\x5f\\xb5\\x63\\xda\\x71\\xed\\x37\\xed\\x84\\x76\\x52\\x3b\\xa5\\xfd\\xae\\xfd\\xa1\\x9d\\xd6\\xce\\x68\\x7f\\x6a\\x67\\xb5\\x6a\\xcd\\xaf\\x05\\x74\\x45\\x59\\xad\\xbc\\xa4\\x13\\x9d\\xea\\x4c\\x79\\x55\\x79\\x4d\\x59\\xa7\\x73\\xe5\\x65\\xe5\\x15\\xe5\\x43\\x5d\\x28\\x57\\x2a\\x1f\\x28\\xd7\\x29\\xcf\\xea\\xaa\\xae\\xe9\\xba\\x6e\\xe8\\x61\\x7a\\xb8\\xf2\\x91\\x1e\\xa1\\x37\\xd2\\x23\\x95\\x77\\x95\\xf7\\xf4\\xc6\\x7a\\x13\\xe5\\x6d\\x3d\\x4a\\x6f\\xaa\\x47\\xeb\\xcd\\xf4\\xe6\\x7a\\x0b\\xbd\\xa5\\x7e\\x91\\x1e\\xa3\\xb7\\xd2\\x5b\\xeb\\x6d\\xf4\\xb6\\x7a\\x3b\\xbd\\xbd\\x1e\\xab\\x77\\xd0\\x3b\\xea\\x9d\\xf4\\xce\\xca\\xef\\x7a\\x17\\xbd\\xab\\xde\\x4d\\xef\\xae\\xf7\\xd0\\x2f\\xd6\\x7b\\xea\\xbd\\xf4\\x38\\x3d\\x5e\\x4f\\xd0\\x7b\\xeb\\x89\\xba\\xa9\\x5b\\xba\\xad\\xbb\\xf4\\x24\\x3d\\x59\\x4f\\xd1\\x53\\xf5\\x3e\\x7a\\x5f\\xe5\\x46\\xbd\\x9f\\xde\\x5f\\xbf\\x44\\x1f\\xa0\\x0f\\xd4\\xd3\\xf4\\x74\\x3d\\x43\\xcf\\xd4\\xdd\\x7a\\x96\\x3e\\x48\\x1f\\xac\\x0f\\xd1\\x87\\xea\\xc3\\xf4\\xe1\\xfa\\x08\\x65\\xb9\\x3e\\x52\\x59\\xa1\\xdc\\xab\\x1c\\xd5\\x47\\x29\\x6b\\x95\\x7f\\x2b\\xb7\\xeb\\xa3\\xf5\\x4b\\x95\\xfb\\x95\\x27\\x95\\x5b\\xf4\\x31\\xca\\x9d\\xca\\x5d\\xfa\\x58\\x7d\\x9c\\x3e\\x5e\\x9f\\xa0\\x67\\xeb\\x13\\xf5\\x49\\xfa\\x64\\x7d\\x8a\\x3e\\x55\\x9f\\xa6\\x4f\\xd7\\x67\\xe8\\x33\\x75\\x8f\\x3e\\x4b\\xcf\\xd1\\x73\\x75\\xaf\\x9e\\xa7\\xe7\\xeb\\x05\\x7a\\xa1\\x3e\\x5b\\x9f\\xa3\\x17\\xe9\\xc5\\x7a\\x89\\xee\\xd3\\x4b\\xf5\\xb9\\x7a\\x99\\x5e\\xae\\x57\\xe8\\x95\\xfa\\x3c\\x7d\\xbe\\xbe\\x40\\x5f\\xa8\\x2f\\xd2\\x17\\xeb\\x97\\xe9\\x97\\xeb\\x4b\\xf4\\xa5\\xfa\\x32\\xfd\\x0a\\xfd\\x4a\\xfd\\x2a\\xfd\\x6a\\xfd\\x1a\\xfd\\x5a\\xfd\\x3a\\xbd\\x4a\\xbf\\x5e\\xff\\x97\\x7e\\x83\\x7e\\xa3\\x7e\\x93\\x7e\\xb3\\x7e\\x8b\\xf2\\x86\\x7e\\xab\\x7e\\x9b\\x7e\\xbb\\x7e\\x87\\x7e\\xa7\\x7e\\x97\\x7e\\xb7\\x7e\\x8f\\xbe\\x5c\\xbf\\x57\\x5f\\xa1\\xdf\\xa7\\xdf\\xaf\\x3f\\xa0\\x3f\\xa8\\x3f\\xa4\\x3f\\xac\\x3f\\xa2\\x3f\\xaa\\x3f\\xa6\\x3f\\xae\\xff\\x5b\\x7f\\x42\\x7f\\x52\\x7f\\x4a\\x7f\\x5a\\x7f\\x46\\x7f\\x56\\x7f\\x4e\\x7f\\x5e\\x5f\\xa9\\xaf\\xd2\\x5f\\xd0\\x5f\\xd4\\x57\\xeb\\x2f\\xe9\\x2f\\xeb\\xaf\\xe8\\xaf\\xea\\xaf\\xe9\\xaf\\xeb\\x6f\\xe8\\x6f\\xea\\x6f\\xe9\\x6f\\xeb\\xef\\xe8\\xef\\xea\\xef\\xe9\\xef\\xeb\\x6b\\xf4\\x0f\\xf4\\xb5\\xfa\\x3a\\xfd\\x43\\xfd\\x23\\x7d\\xbd\\xf2\\xbe\\xb2\\x46\\xff\\x58\\xff\\x44\\xff\\x54\\xff\\x4c\\xdf\\xa0\\x6f\\xd4\\x3f\\xd7\\x37\\xe9\\x5f\\xe8\\x5f\\xea\\x9b\\xf5\\x2d\\xfa\\x56\\x7d\\x9b\\xfe\\x95\\xfe\\xb5\\xbe\\x5d\\xff\\x46\\xff\\x56\\xdf\\xa1\\x7f\\xa7\\xef\\xd4\\x77\\xe9\\xdf\\xeb\\x3f\\xe8\\xbb\\xf5\\x3d\\xfa\\x5e\\xfd\\x47\\x7d\\x9f\\xbe\\x5f\\x3f\\xa0\\x1f\\xd4\\x0f\\xe9\\x3f\\xe9\\x87\\xf5\\x23\\xfa\\xcf\\xfa\\x2f\\xfa\\x51\\xfd\\x57\\xfd\\x98\\x7e\\x5c\\xff\\x4d\\x3f\\xa1\\x9f\\xd4\\x4f\\xe9\\xbf\\xeb\\x7f\\xe8\\xa7\\xf5\\x33\\xfa\\x9f\\xfa\\x59\\xbd\\x5a\\xf7\\xeb\\x01\\x43\\x31\\x88\\x41\\x0d\\x66\\x70\\x43\\x18\\xaa\\xa1\\x19\\xba\\x61\\x18\\x61\\x46\\xb8\\x11\\x61\\x34\\x32\\x22\\x8d\\xc6\\x46\\x13\\x23\\xca\\x68\\x6a\\x44\\x1b\\xcd\\x8c\\xe6\\x46\\x0b\\xa3\\xa5\\x71\\x91\\x11\\x63\\xb4\\x32\\x5a\\x1b\\x6d\\x8c\\xb6\\x46\\x3b\\xa3\\xbd\\x11\\x6b\\x74\\x30\\x3a\\x1a\\x9d\\x8c\\xce\\x46\\x17\\xa3\\xab\\xd1\\xcd\\xe8\\x6e\\xf4\\x30\\x2e\\x36\\x7a\\x1a\\xbd\\x8c\\x38\\x23\\xde\\x48\\x30\\x7a\\x1b\\x89\\x86\\x69\\x58\\x86\\x6d\\xb8\\x8c\\x24\\x23\\xd9\\x48\\x31\\x52\\x8d\\x3e\\x46\\x5f\\xa3\\x9f\\xd1\\xdf\\xb8\\xc4\\x18\\x60\\x0c\\x34\\xd2\\x8c\\x74\\x23\\xc3\\xc8\\x34\\xdc\\x46\\x96\\x31\\xc8\\x18\\x6c\\x0c\\x31\\x86\\x1a\\xc3\\x8c\\xe1\\xc6\\x08\\x63\\xa4\\x31\\xca\\x18\\x6d\\x5c\\x6a\\x8c\\x31\\xc6\\x1a\\xe3\\x8c\\xf1\\xc6\\x04\\x23\\xdb\\x98\\x68\\x4c\\x32\\x26\\x1b\\x53\\x8c\\xa9\\xc6\\x34\\x63\\xba\\x31\\xc3\\x98\\x69\\x78\\x8c\\x59\\x46\\x8e\\x91\\x6b\\x78\\x8d\\x3c\\x23\\xdf\\x28\\x30\\x0a\\x8d\\xd9\\xc6\\x1c\\xa3\\xc8\\x28\\x36\\x4a\\x0c\\x9f\\x51\\x6a\\xcc\\x35\\xca\\x8c\\x72\\xa3\\xc2\\xa8\\x34\\xe6\\x19\\xf3\\x8d\\x05\\xc6\\x42\\x63\\x91\\xb1\\xd8\\xb8\\xcc\\xb8\\xdc\\x58\\x62\\x2c\\x35\\x96\\x19\\x57\\x18\\x57\\x1a\\x57\\x19\\x57\\x1b\\xd7\\x18\\xd7\\x1a\\xd7\\x19\\x55\\xc6\\xf5\\xc6\\xbf\\x8c\\x1b\\x8c\\x1b\\x8d\\x9b\\x8c\\x9b\\x8d\\x5b\\x8c\\x5b\\x8d\\xdb\\x8c\\xdb\\x8d\\x3b\\x8c\\x3b\\x8d\\xbb\\x8c\\xbb\\x8d\\x7b\\x8c\\xe5\\xc6\\xbd\\xc6\\x0a\\xe3\\x3e\\xe3\\x7e\\xe3\\x01\\xe3\\x41\\xe3\\x21\\xe3\\x61\\xe3\\x11\\xe3\\x51\\xe3\\x31\\xe3\\x71\\xe3\\xdf\\xc6\\x13\\xc6\\x93\\xc6\\x53\\xc6\\xd3\\xc6\\x33\\xc6\\xb3\\xc6\\x73\\xc6\\xf3\\xc6\\x4a\\x63\\x95\\xf1\\x82\\xf1\\xa2\\xb1\\xda\\x78\\xc9\\x78\\xd9\\x78\\xc5\\x78\\xd5\\x78\\xcd\\x78\\xdd\\x78\\xc3\\x78\\xd3\\x78\\xcb\\x78\\xdb\\x78\\xc7\\x78\\xd7\\x78\\xcf\\x78\\xdf\\x58\\x63\\x7c\\x60\\xac\\x35\\xd6\\x19\\x1f\\x1a\\x1f\\x19\\xeb\\x8d\\x8f\\x8d\\x4f\\x8c\\x4f\\x8d\\xcf\\x8c\\x0d\\xc6\\x46\\xe3\\x73\\x63\\x93\\xf1\\x85\\xf1\\xa5\\xb1\\xd9\\xd8\\x62\\x6c\\x35\\xb6\\x19\\x5f\\x19\\x5f\\x1b\\xdb\\x8d\\x6f\\x8c\\x6f\\x8d\\x1d\\xc6\\x77\\xc6\\x4e\\x63\\x97\\xf1\\xbd\\xf1\\x83\\xb1\\xdb\\xd8\\x63\\xec\\x35\\x7e\\x34\\xf6\\x19\\xfb\\x8d\\x03\\xc6\\x41\\xe3\\x90\\xf1\\x93\\x71\\xd8\\x38\\x62\\xfc\\x6c\\xfc\\x62\\x1c\\x35\\x7e\\x35\\x8e\\x19\\xc7\\x8d\\xdf\\x8c\\x13\\xc6\\x49\\xe3\\x94\\xf1\\xbb\\xf1\\x87\\x71\\xda\\x38\\x63\\xfc\\x69\\x9c\\x35\\xaa\\x0d\\xbf\\x11\\x08\\x53\\xc2\\x48\\x18\\x0d\\x63\\x61\\x3c\\x4c\\x84\\xa9\\x61\\x5a\\x98\\x1e\\x66\\x84\\x85\\x85\\x85\\x87\\x45\\x84\\x35\\x0a\\x8b\\x0c\\x6b\\x1c\\xd6\\x24\\x2c\\x2a\\xac\\x69\\x58\\x74\\x58\\xb3\\xb0\\xe6\\x61\\x2d\\xc2\\x5a\\x86\\x5d\\x14\\x16\\xa3\\x55\\x96\\x14\\xf6\\xee\\x9d\\xd6\\x1b\\xcb\\x4c\\xc3\\x37\\xcf\\x5b\\x56\\x9e\\xe3\\x2b\\xf3\\xb2\\xe2\\xca\\x44\\xb5\\xb8\\x30\\x37\\xd7\\x57\\xa1\\xa5\\x15\\x3b\\x0f\\x99\\x4b\\x34\\x4f\\xb0\\x54\\xd3\\x66\\x95\\x79\\xe7\\x79\\x55\\x8f\\x2c\\xb4\\x34\\x5f\\xbe\\xaf\\xc4\\x3b\\x47\\xf3\\x04\\xcb\\xf0\\x8c\\x9c\\xc2\\xb2\\x9c\\xca\\xe2\\xbc\\x22\\xef\\x82\\xf0\\x9c\\x73\\xf5\\xb0\\x0c\\x50\\xe5\\xc9\\xc9\\xf1\\x96\\x54\\x84\\xe5\\xd4\\x56\\xd5\\xcc\\x1c\\x8f\\xa3\\x32\\x37\\x58\\x64\\x82\\x7e\\x4f\\x85\\xe6\\x46\\x40\\x2f\\x02\\xba\\x83\\x80\\x5e\\x59\\x84\\xb9\\xcf\\x29\\xf2\\xd6\\x56\\x35\\x37\\x9a\\xe1\\x0d\\x96\\xaa\\x3b\\xa8\\xd1\\x2b\\x8b\\xf0\\x41\\x21\\x46\\xe5\\x87\\x18\\x35\\xe8\\x9c\\xae\\xfc\\xda\\x6a\\xc4\\xa0\\x1c\\x5f\\x71\\xb1\\x07\\x5f\\xe4\\x87\\xbc\\x08\\x1f\\x1c\\xa2\\xa7\\xe0\\x5c\\x9d\\x0f\\x9e\\xe5\\x29\\xe3\\x05\\x20\\xd4\\x21\\x15\\x85\\x45\\xb9\\x5e\\xb5\\x50\\x16\\xda\\x10\\xf4\\xa4\\x10\\x3d\\x19\\x12\\xf4\\xa4\\x30\\x18\\xba\\x21\\x68\\x73\\x61\\xb0\\xa4\\x43\\x86\\xd2\\xc2\\xd9\\xe1\\x43\\x43\\x30\\x66\\x9f\\xab\\x47\\x0c\\x0b\\xb5\\x6a\\x4e\\x9d\\x17\\xf9\\xce\\x7b\\x16\\x45\\x9e\\x92\\xdc\\xc2\\x1c\\x75\\xb8\\x27\\xa7\\xb2\\xc2\\xab\\x16\\xc9\\x22\\x62\\x78\\xe8\\x75\\x45\\x21\\x2f\\xd4\\xe1\\xc1\\x00\\x15\\xc9\\x82\\x0f\\x07\\xef\\x79\\x11\\x08\\x75\\x64\\xb0\\x7d\\x49\\xb0\\xfd\\xc8\\xd0\\xf6\\x25\\xa1\\xed\\x47\\x06\\xdb\\x97\\x04\\x03\\x5c\\xe2\\x29\\xf5\\x95\\x57\\x94\\xf9\\x4a\\x0b\\xbc\\xcc\\x5d\\x92\\xcf\\xbc\\x25\\xf9\\xda\\x28\\x74\\xde\\x87\\xce\\x8f\\x0a\\x3a\\xef\\x93\\x45\\xa3\\x51\\x05\\x95\\x25\\xf9\\x9e\\xb2\\xca\\xe2\\x22\\x4f\\x65\\x45\\x23\\x5f\\xe8\\x2b\\x75\\x4c\\xd0\\x86\\xb2\\xa0\\x0d\\x63\\x42\\x6d\\x28\\x0b\\xb5\\x61\\x4c\\xd0\\x86\\xb2\\x60\\x31\\x36\\xd8\\xaa\\x5c\\x16\\xe1\\x63\\x43\\xc2\\x58\\x1e\\x12\\xc6\\x71\\xa1\\xda\\x2a\\x42\\xb5\\x8d\\x0b\\xaa\\xa9\\x08\\x46\\x64\\x9c\\xd3\\xa5\\x15\\x4e\\x97\\x8e\\x0f\\x76\\x69\\x65\\xb0\\x4b\\xc7\\xa3\\x57\\x95\\xe8\\xd5\\xf8\\xa0\\x57\\x95\\xb2\\x10\\xe3\\xcb\\x0a\\x4b\\xf2\\x45\\xa5\\x23\\x1b\\x8d\\xaf\\xe3\\x61\\x65\\xe8\\x2b\\x6d\\x3c\\x76\\x7d\\x25\\xde\\x35\\xd9\\x21\\xd6\\xce\\x0f\\xa9\\x4f\\x0a\\xa9\\x2f\\x3c\\x57\\x57\\x27\\x07\\x7d\\x5d\\x24\\x8b\\xb0\\xc9\\xe7\\x86\\xf1\\xa2\\xda\\xaa\\x28\\xf2\\x95\\xe4\\x97\\xcb\\x5b\\x3b\\x31\\xa5\\x37\\x96\\x89\\x58\\x9a\\x58\\x5a\\x58\\xda\\x58\\xba\\xb0\\x4c\\xc2\\x32\\x19\\xcb\\x14\\x2c\\x53\\xb1\\x4c\\xc3\\x32\\x1d\\xcb\\x0c\\x2c\\x33\\xb1\\x74\\x63\\x99\\x15\\x2c\\x53\\x11\\x3f\\x15\\xf1\\x53\\x11\\x37\\x15\\x71\\x53\\x11\\x37\\x15\\x71\\x53\\x11\\x37\\x15\\x71\\x53\\x11\\x37\\x15\\x71\\x53\\x11\\x37\\x15\\x71\\x53\\x11\\x37\\x15\\x71\\x53\\xb3\\xc4\\xa8\\x02\\x5f\\x19\\x2c\\x3c\\x1d\\x19\\x3c\\x96\\x86\\x3e\\xa7\\x21\\x76\\x1a\\x62\\xa7\\x21\\x76\\x1a\\x62\\xa7\\x21\\x76\\x1a\\x62\\xa7\\x21\\x76\\x1a\\x62\\xa7\\x21\\x76\\x1a\\x62\\xa7\\x21\\x76\\x9a\\x5b\\x8c\\x97\\x98\\x95\\xe7\\x30\\xd3\\xd1\\xdf\\x74\\xc4\\x4e\\x47\\xec\\x74\\xc4\\x4e\\x47\\xec\\x74\\xc4\\x4e\\x47\\xec\\x74\\xc4\\x4e\\x47\\xec\\x74\\xc4\\x4e\\x47\\xec\\x74\\xc4\\x4e\\x47\\xec\\x74\\xf4\\x3b\\x1d\\xe3\\x9d\\x81\\xf1\\xce\\x40\\xfc\\x0c\\xc4\\xcf\\x40\\xfc\\x0c\\xc4\\xcf\\x40\\xfc\\x0c\\xc4\\xcf\\x40\\xfc\\x0c\\xc4\\xcf\\x40\\xfc\\x0c\\xc4\\xcf\\x40\\xfc\\x0c\\xc4\\xcf\\x40\\xfc\\x0c\\xc4\\xcf\\x40\\xfc\\x4c\\xc4\\xcf\\x44\\xfc\\x4c\\xc4\\xcf\\x44\\xfc\\x4c\\xc4\\xcf\\x44\\xfc\\x4c\\xc4\\xcf\\x44\\xfc\\x4c\\xc4\\xcf\\x44\\xfc\\x4c\\xc4\\xcf\\x44\\xfc\\x4c\\xc4\\xcf\\x44\\xfc\\x4c\\xc4\\xcf\\x44\\x7c\\x37\\xe2\\xbb\\x11\\xdf\\x8d\\xf8\\x6e\\xc4\\x77\\x23\\xbe\\x1b\\xf1\\xdd\\x88\\xef\\x46\\x7c\\x37\\xe2\\xbb\\x11\\xdf\\x8d\\xf8\\x6e\\xc4\\x77\\x23\\xbe\\x1b\\xf1\\xdd\\x88\\xef\\x46\\xfc\\x2c\\xc4\\xcf\\x42\\xfc\\x2c\\xc4\\xcf\\x42\\xfc\\x2c\\xc4\\xcf\\x42\\xfc\\x2c\\xc4\\xcf\\x42\\xfc\\x2c\\xc4\\xcf\\x4a\\x0d\\x4b\\x73\\xe6\\x92\\xe0\\x6d\\xee\\xa9\\xad\\x6a\\x69\\xee\\x60\\xe9\\xf1\\x06\\x67\\xbb\\x51\\xe5\\x45\\x9e\\xf2\\x82\\x60\\xdd\\x77\\xae\\x2e\\xb5\\x98\\xbd\\x7b\\x63\\x99\\x88\\xa5\\x89\\xa5\\x85\\xa5\\x8d\\xa5\\x0b\\xcb\\x24\\x2c\\x93\\xb1\\x4c\\xc1\\x32\\x15\\xcb\\x34\\x2c\\xd3\\xb1\\xcc\\xc0\\x32\\x13\\x4b\\x37\\x96\\xc1\\x68\\x98\\x89\\x88\\x9f\\x88\\xf8\\x89\\x88\\x9f\\x88\\xf8\\x89\\x88\\x9f\\x88\\xf8\\x89\\x88\\x9f\\x98\\x1c\\x31\\x36\\x74\\xb6\\x2e\\x0f\\x79\\x81\\x57\\xa0\\x25\\x89\\x68\\x49\\x22\\x5a\\x92\\x88\\x96\\x24\\xa2\\x25\\x89\\x68\\x89\\x89\\x96\\x98\\x68\\x89\\x89\\x96\\x98\\x68\\x89\\x89\\x96\\x98\\x68\\x89\\x89\\x96\\x98\\x18\\x09\\x13\\x23\\x61\\x62\\x24\\x4c\\xc4\\x37\\x11\\xdf\\x44\\x7c\\x13\\xf1\\x4d\\xc4\\x37\\x11\\xdf\\x42\\x7c\\x0b\\xf1\\x2d\\xc4\\xb7\\x10\\xdf\\x42\\x7c\\x0b\\xf1\\xad\\x24\\x63\\x76\\x3c\\xcc\\xe8\\x45\\xde\\xf2\\x72\\x3c\\x82\\x16\\x58\\x68\\x81\\x85\\x16\\x58\\x68\\x81\\x85\\x16\\x58\\x68\\x81\\x85\\x16\\x58\\x68\\x81\\x8d\\x16\\xd8\\x68\\x81\\x8d\\x16\\xd8\\x68\\x81\\x8d\\x16\\xd8\\x68\\x81\\x8d\\x11\\xb0\\x31\\x02\\x36\\xe2\\xdb\\x88\\x6f\\x23\\xbe\\x8d\\xf8\\x36\\xe2\\xdb\\x88\\x6f\\x23\\xbe\\x8d\\xf8\\x2e\\xc4\\x77\\x21\\xbe\\x0b\\xf1\\x5d\\x88\\xef\\x42\\x7c\\x17\\xe2\\xbb\\x10\\xdf\\x85\\xf8\\x2e\\xc4\\x77\\x21\\xbe\\x0b\\xf1\\x5d\\x88\\xef\\x42\\x7c\\x17\\xe2\\xbb\\x10\\xdf\\x85\\xf8\\x49\\x88\\x9f\\x84\\xf8\\x49\\x88\\x9f\\x84\\xf8\\x49\\x88\\x9f\\x84\\xf8\\x49\\x88\\x9f\\x84\\xf8\\x49\\x88\\x9f\\x84\\xf8\\x49\\x88\\x9f\\x84\\xf8\\x49\\x88\\x9f\\x84\\xf8\\x49\\x88\\x9f\\x84\\xf8\\xc9\\x88\\x9f\\x8c\\xf8\\xc9\\x88\\x9f\\x8c\\xf8\\xc9\\x88\\x9f\\x8c\\xf8\\xc9\\x88\\x9f\\x8c\\xf8\\xc9\\x88\\x9f\\x8c\\xf8\\xc9\\x88\\x9f\\x8c\\xf8\\xc9\\x88\\x9f\\x8c\\xf8\\xc9\\x88\\x9f\\x8c\\xf8\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\x98\\x09\\x98\\xa9\\x88\\x8f\\x19\\x81\\x89\\x19\\x81\\x89\\x19\\x81\\x89\\x19\\x81\\x89\\x19\\x81\\x89\\x19\\x81\\x89\\x19\\x81\\x89\\x19\\x81\\x89\\x19\\x81\\x89\\x19\\x81\\x89\\x19\\x81\\x89\\x19\\x81\\x99\\x8a\\xf8\\xb8\\xd8\\x31\\xd3\\x10\\x1f\\xb3\\x02\\x13\\xb3\\x02\\x13\\xb3\\x02\\x13\\xb3\\x02\\x13\\xb3\\x02\\x13\\xb3\\x02\\x13\\xb3\\x02\\x13\\xb3\\x02\\x13\\xb3\\x02\\x13\\xb3\\x02\\x13\\xb3\\x02\\x13\\xb3\\x02\\x33\\x0d\\xf1\\xd3\\x10\\x3f\\x1d\\xf1\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x33\\x30\\x31\\x13\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x31\\x03\\x30\\x91\\xd1\\x4d\\x64\\x74\\x13\\x19\\xdd\\x44\\x46\\x37\\x91\\xd1\\x4d\\x64\\x74\\x13\\x19\\xdd\\x44\\x46\\x37\\x91\\xd1\\x4d\\x64\\x74\\x13\\x19\\xdd\\x44\\x46\\x37\\x91\\xd1\\x4d\\x64\\x74\\x13\\x19\\xdd\\x44\\x46\\x37\\x91\\xd1\\x4d\\x64\\x74\\x13\\x19\\xdd\\x44\\x46\\x37\\x91\\xd1\\x4d\\x64\\x74\\x13\\x19\\xdd\\x44\\x46\\x37\\x91\\xd1\\x4d\\x64\\x74\\x13\\x19\\xdd\\xcc\\x42\\xfc\\x2c\\xc4\\xcf\\x42\\xfc\\x2c\\xc4\\xcf\\x42\\xfc\\x2c\\xc4\\xcf\\xca\\x32\\xf2\\xcb\\x3c\\xf3\\xbc\\x40\\x7d\\xb3\\x0c\\xc9\\xe9\\x4e\\x4d\\x9e\\xb3\\x7a\\x9b\\x86\\x5c\\x93\\x84\\x1c\\xb1\\xb1\\x74\\x61\\x99\\x84\\x65\\x32\\x96\\x29\\x8d\\x0a\\x7c\\xbe\\x39\\x9e\\x59\\xbe\\x79\\xa1\\xad\\xd2\\xb0\\x4c\\xc7\\x32\\x03\\xcb\\x4c\\x2c\\xdd\\x58\\x06\\x63\\x61\\x21\\x9f\\x5b\\xc8\\xe7\\x16\\xf2\\xb9\\x85\\x7c\\x6e\\x21\\x9f\\x5b\\xc8\\xe7\\x16\\xf2\\xb9\\x95\\x88\\x56\\x24\\xa6\\x60\\x99\\x8a\\x25\\xe2\\x23\\x8b\\x5b\\xc8\\xe2\\x16\\xb2\\xb8\\x85\\x2c\\x6e\\x21\\x8b\\x5b\\xc8\\xe2\\x16\\xb2\\xb8\\x65\\x9a\\x11\\xc0\\x91\\xb3\\xbc\\x45\\xbe\\xf9\\xe7\\x9c\\x42\\x2a\\xb7\\x90\\xca\\x2d\\xa4\\x72\\x0b\\xa9\\xdc\\x42\\x2a\\xb7\\x90\\xca\\x2d\\xa4\\x72\\x0b\\xa9\\xdc\\x42\\x2a\\xb7\\x90\\xca\\x2d\\xa4\\x72\\x0b\\xa9\\xdc\\x42\\x2a\\xb7\\x90\\xca\\x2d\\xa4\\x72\\x0b\\xa9\\xdc\\x42\\x2a\\xb7\\x90\\xca\\x2d\\x0b\\xf1\\x2d\\xc4\\x47\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\x22\\xb7\\x90\\xc8\\x2d\\x24\\x72\\x0b\\x89\\xdc\\x42\\xa2\\xb6\\x90\\xa8\\x2d\\x24\\x62\\x0b\\x89\\xd8\\x42\\x22\\xb6\\x90\\x88\\xad\\x64\\xb7\\xa8\\xf0\\x95\\xf8\\xca\\x1b\\xe5\\x16\\x7a\\xcb\\xbc\\xe5\\x85\\xe5\\xf2\\x55\\x58\\x5a\\x51\\x69\\x81\\x47\\x56\\x0d\\x4f\\x89\\xaf\\xc2\\x5b\\xe4\\x2d\\xf4\\x44\\xb8\\x4b\\xcb\\x0b\\x61\\xf5\\x2e\\x0f\\xeb\\xee\\x0a\\x3c\\x3f\\xc4\\x87\\xb5\\x88\\x51\\xc5\\x85\\xce\\xb3\\x87\\xe0\\x8b\\xf1\\x21\\x17\\x87\\x8d\\x2a\\xf6\\xe6\\x07\\x2f\\x8a\\x2a\\x84\\xcb\\xeb\\x60\\x09\\x89\\xc5\\xd3\\xbd\\x15\\x1e\\x31\\xc8\\x03\\x99\\xb4\\x86\\x38\\x7c\\x32\\x1c\\x62\\x80\\x23\\xc6\\x15\\x40\\x8d\\x3b\\x40\\x62\\x98\\xa7\\xb4\\xd4\\xa3\\x0e\\xf7\\x14\\xcf\\xca\\xf5\\xd0\\x11\\x95\\x74\\x64\\x25\\x9d\\x58\\xa8\\x21\\x32\\x1d\\x5d\\xc8\\xc6\\x14\\xf8\\xc4\\xd8\\xc2\\xfc\\x62\\x0f\\x1b\\xe7\\xa9\\xd4\\xd0\\x0a\\x36\\xba\\xa0\\x90\\x65\\xc0\\xdf\\xe8\\xf2\\xc2\\x88\\x21\\x21\\x16\\x34\\xc6\\x0b\\x6a\\x5e\\x87\\x79\\x6a\\x1d\\x8f\\xf0\\x86\\xba\\xeb\\xad\\x71\\xb7\\xb0\\xc6\\xdd\\x66\\x95\\x75\\x9b\\x06\\x9d\\x91\\xed\\xf9\\x2c\\xc7\\x99\\x7c\\xc7\\x19\\x91\\xeb\\x2d\\xaa\\xf0\\x68\\xa8\\x8b\\x2f\\x72\\x5c\\x72\\x4e\\x56\\x48\\x97\\x1c\\x65\\x62\\x8e\\x74\\xa9\\x28\\xe8\\x52\\x49\\x25\\x5d\\x50\\xa8\\xf9\\x82\\xfe\\xb0\\xb2\\x02\\x9f\\x5a\\xee\\x38\\x93\\x28\\x64\\xc1\\x2a\\xc0\\x27\\xc4\\x65\\xa5\\xe0\\x4f\\x0e\\xfc\\xc1\\x4b\\xe1\\x73\\x02\\x1c\\x11\\x1a\\xdb\\xc6\\xf5\\xcc\\x8b\\xf0\\x85\\xf6\\x4e\\x65\\x68\\xef\\xf8\\x6a\\x7b\\x27\\x38\\x26\\x90\\x24\\x2d\\x24\\x49\\x0b\\x49\\xd2\\x42\\x92\\xb4\\x90\\x24\\x2d\\x24\\x49\\x0b\\x49\\xd2\\x42\\x92\\xb4\\x70\\x99\\x6c\\xe1\\x32\\xd9\\xc2\\x65\\xb2\\x85\\xcb\\x64\\x0b\\x97\\xc9\\x16\\x2e\\x93\\x2d\\x24\\x55\\x0b\\x49\\xd5\\x42\\x52\\xb5\\x90\\x54\\x2d\\x24\\x55\\x0b\\x49\\xd5\\x42\\x52\\xb5\\x90\\x54\\x2d\\x24\\x55\\x0b\\x49\\xd5\\x42\\x52\\xb5\\x90\\x54\\x2d\\x24\\x55\\x0b\\x49\\xd5\\x42\\x52\\xb5\\x90\\x54\\x2d\\x24\\x55\\x0b\\x49\\xd5\\x42\\x52\\xb5\\x90\\x54\\x2d\\x24\\x55\\x0b\\x49\\xd5\\x42\\x52\\xb5\\x90\\x54\\x2d\\x24\\x55\\x0b\\x49\\xd5\\x42\\x52\\xb5\\x90\\x54\\x2d\\x24\\x55\\x0b\\x49\\xd5\\x42\\x52\\xb5\\x90\\x54\\x2d\\x24\\x55\\x2b\\x2b\\x88\\x6f\\xe3\\xc2\\xd8\\xc6\\x85\\xb1\\x8d\\x0b\\x63\\x1b\\x17\\xc6\\x36\\xd2\\xa9\\x8d\\x74\\x6a\\x23\\x9d\\xda\\x48\\xa7\\x36\\x2e\\x8c\\x6d\\x5c\\x18\\xdb\\x48\\xa4\\x36\\x12\\xa9\\x8d\\x44\\x6a\\x23\\x91\\xda\\x48\\xa4\\x36\\x12\\xa9\\x8d\\x44\\x6a\\x23\\x91\\xda\\x48\\xa4\\x36\\x12\\xa9\\x8d\\x44\\x6a\\x23\\x91\\xda\\x48\\xa4\\x36\\x12\\xa9\\x8d\\x44\\x6a\\x23\\x91\\xda\\x48\\xa4\\x36\\x12\\xa9\\x8d\\x44\\x6a\\x23\\x91\\xda\\x48\\xa4\\x36\\x12\\xa9\\x8d\\x44\\x6a\\x23\\x91\\xda\\xb8\\x1c\\xb6\\x71\\x39\\x6c\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\x23\\x87\\xda\\xc8\\xa1\\x36\\x72\\xa8\\x8d\\x1c\\x6a\\xe3\\x62\\xd8\\xc6\\xc5\\xb0\\x8d\\x8b\\x61\\x1b\\x17\\xc3\\x36\\x72\\xac\\x8d\\x1c\\x6b\\xe3\\x62\\xd8\\xc6\\xc5\\xb0\\x8d\\x8b\\x61\\x1b\\x17\\xc3\\x36\\x72\\xb0\\x8d\\x1c\\x6c\\x23\\x07\\xdb\\xc8\\xc1\\x36\\x2e\\x86\\x6d\\x5c\\x0c\\xdb\\xb8\\x18\\xb6\\x71\\x31\\x6c\\xe3\\x62\\xd8\\xc6\\xc5\\xb0\\x8d\\x8b\\x61\\x1b\\x17\\xc3\\x36\\x2e\\x86\\x6d\\x5c\\x0c\\xdb\\xb8\\x18\\xb6\\x71\\x31\\x6c\\xe3\\x62\\xd8\\xc6\\xc5\\xb0\\x8d\\x8b\\x61\\x1b\\x17\\xc3\\x36\\x2e\\x86\\x6d\\x5c\\x0c\\xdb\\xb8\\x18\\xb6\\x71\\x31\\x6c\\xe3\\x62\\xd8\\xc6\\xc5\\xb0\\x8d\\x8b\\x61\\x1b\\x17\\xc3\\x36\\x2e\\x86\\x6d\\x5c\\x0c\\xdb\\xb8\\x18\\xb6\\x71\\x31\\x6c\\xe3\\x62\\xd8\\xc6\\xc5\\xb0\\x8d\\x8b\\x61\\x1b\\x17\\xc3\\x36\\x2e\\x86\\x6d\\x5c\\x0c\\xdb\\xb8\\x18\\xb6\\x71\\x31\\x6c\\xe3\\x62\\xd8\\xc6\\xc5\\xb0\\x8d\\x8b\\x61\\x1b\\x17\\xc3\\x36\\x2e\\x86\\x6d\\x5c\\x0c\\xdb\\xb8\\x18\\xb6\\x71\\x31\\x6c\\xe3\\x62\\xd8\\xc6\\xc5\\xb0\\x8d\\x8b\\x61\\x1b\\x17\\xc3\\x36\\x2e\\x86\\x6d\\x5c\\x0c\\xdb\\xb8\\x18\\xb6\\x71\\x31\\x6c\\xe3\\x62\\xd8\\xc6\\xc5\\xb0\\x8d\\x8b\\x61\\x1b\\x17\\xc3\\x36\\x2e\\x86\\x6d\\x5c\\x0c\\xdb\\xb8\\x18\\xb6\\x71\\x31\\x6c\\xe3\\x62\\xd8\\xc6\\xc5\\xb0\\x8d\\x8b\\x61\\x1b\\x17\\xc3\\x36\\x2e\\x86\\x6d\\x5c\\x0c\\xdb\\xb8\\x18\\xb6\\x71\\x31\\x6c\\xe3\\x62\\xd8\\xc6\\xc5\\xb0\\x8d\\x8b\\x61\\x1b\\x17\\xc3\\x36\\x3e\\x26\\xb7\\xf1\\x31\\xb9\\x8d\\x8b\\x63\\x1b\\x1f\\x93\\xdb\\xb8\\x48\\xb6\\x71\\x91\\x6c\\xe3\\x22\\xd9\\xc6\\x45\\xb2\\x8d\\x8b\\x64\\x1b\\x17\\xc9\\x36\\xf2\\xbf\\x8d\\xfc\\x6f\\x23\\xff\\xdb\\xc8\\xff\\x36\\xf2\\xbf\\x8d\\xfc\\x6f\\x23\\xff\\xdb\\xc8\\xff\\x76\\x66\\x8a\\xe1\\xc9\\x2b\\x2c\\x4c\\xec\\x9d\\x52\\x33\\x33\\x61\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\x60\\x63\\x06\\xe0\\xc2\\x0c\\xc0\\x85\\x19\\x80\\x0b\\x33\\x00\\x17\\x66\\x00\\x2e\\xcc\\x00\\x5c\\x98\\x01\\xb8\\x30\\x03\\x70\\x61\\x06\\xe0\\xc2\\x0c\\xc0\\x85\\x19\\x80\\x0b\\x33\\x00\\x17\\x66\\x00\\x2e\\xcc\\x00\\x5c\\x98\\x01\\xb8\\x30\\x03\\x70\\x61\\x06\\xe0\\xc2\\x0c\\xc0\\x85\\x19\\x80\\x0b\\x33\\x00\\x17\\x66\\x00\\x2e\\x64\\x74\\x17\\x32\\xba\\x0b\\x19\\xdd\\x85\\x8c\\xee\\xc2\\x99\\xc3\\x85\\x33\\x87\\x0b\\x67\\x0e\\x17\\xce\\x1c\\x2e\\x9c\\x39\\x5c\\x38\\x73\\xb8\\x70\\xe6\\x70\\xe1\\xcc\\xe1\\xc2\\x99\\xc3\\x85\\x33\\x87\\x0b\\x67\\x0e\\x17\\xce\\x1c\\xae\\xd4\\x1a\\x1c\\xb4\\x1b\\x67\\x0e\\x17\\xce\\x1c\\x2e\\x9c\\x39\\x5c\\x38\\x73\\xb8\\x70\\xe6\\x70\\xe1\\xcc\\xe1\\xc2\\x99\\xc3\\x85\\x33\\x87\\x0b\\x67\\x0e\\x17\\xce\\x1c\\x2e\\x9c\\x39\\x5c\\x38\\x73\\xb8\\x70\\xe6\\x70\\xe1\\xcc\\xe1\\xc2\\x99\\xc3\\x85\\x33\\x87\\x2b\\x2d\\x4b\\x94\\x17\\x78\\xe7\\x79\\xc2\\x60\\xed\\xe0\\xc9\\x2b\\xf7\\xe6\\xfb\\x8a\\x82\\xd5\\x52\\x10\\x05\\xe1\\xb2\\x3a\\xd7\\x53\\xec\\xa9\\x28\\x17\\x05\\x85\\x65\\x85\\x73\\x45\\x45\\x39\\x64\\xe5\\x42\\x5e\\x28\\xe4\\x35\\x6a\\xcd\\x69\\x1f\\x2c\\x04\\x82\\x4a\\xd3\\xd3\\xd4\\xb9\\x95\\xb3\\x2a\\x2b\\xca\\xd5\\x5c\\x4f\\xbe\\xb7\\xbc\\x40\\x14\\x7b\\x2b\\xbc\\xf9\\xa2\\xd8\\x33\\xd7\\x93\\xc7\\xcb\\x3c\\x79\\x5e\\x68\\x59\\xee\\x9d\\xab\\x39\\x5f\\x3e\\x74\\xde\\x22\\x2f\\x97\\x85\\x5e\\xee\\x03\\xd4\\xf2\\xca\\xb9\\x46\\x65\\x69\\xa9\\xb7\\x6c\\x86\\x73\\xa8\\xc8\\x37\\xdf\\x5b\\xe6\\x7c\\x66\\x42\\xea\\xcd\\x48\\x0a\\x0f\\x82\\xcd\\x05\\xe0\\x12\\xee\\x29\\xf2\\xe6\\x31\\x58\\xb0\\x88\\xfc\\xc2\\x62\\x6f\\x91\\xc8\\x85\\xd7\\x15\\xb4\\xc0\\xcb\\xe6\\x79\\xe6\\x89\\x45\\x9e\\x85\\x85\\x25\\x0c\\x96\\x2a\\xac\\x02\\xfe\\x16\\xfa\\x72\\xf5\\xbc\\xc2\\x12\\x4f\\xd1\\x1c\\x4f\\x1e\\x83\\x3f\\x01\\xa6\\x7a\\xf1\\x50\\xb1\\xb7\\x98\\xc1\\x5f\\xf0\\x45\\x49\\x65\\x09\\x83\\x3f\\xb5\\x1c\\xce\\xcf\\x29\\xe0\\x8e\\x12\\x4d\\x9e\\x28\\xf5\\xd2\\x52\\x6f\\x98\\xac\\x56\\x94\\xc3\\x52\\x45\\x48\\xc9\\xe6\\xfa\\xc0\\x21\\xf0\\x90\\x3b\\xae\\xc0\\x1a\\x67\\x9e\\x0a\\xe0\\xf3\\x82\\x05\\x80\\xaa\\xf0\\xe7\\x14\\xf9\\xce\\x4a\\xa6\\xc0\\x80\\xa2\\xbc\\x00\\x74\\xca\\x30\\x25\\x66\\x06\\xef\\x15\\x28\\x13\\xb1\\x34\\xb1\\xb4\\xb0\\xb4\\xb1\\x74\\x61\\x99\\x84\\x65\\x32\\x96\\x29\\x58\\xa6\\x62\\x99\\x86\\x65\\x3a\\x96\\x19\\x58\\x66\\x62\\xe9\\xc6\\x32\\x2b\\x58\\x26\\x22\\x7e\\x22\\xe2\\x27\\x22\\x7e\\x22\\xe2\\x27\\x22\\x7e\\x22\\xe2\\x27\\x22\\x7e\\x22\\xe2\\x27\\x22\\x7e\\x22\\xe2\\x27\\x22\\x7e\\x22\\xe2\\x27\\x22\\x7e\\x22\\xe2\\x27\\x22\\x7e\\x22\\xe2\\x9b\\x88\\x6f\\x22\\xbe\\x89\\xf8\\x26\\xe2\\x9b\\x88\\x6f\\x22\\xbe\\x89\\xf8\\x26\\xe2\\x9b\\x88\\x6f\\x22\\xbe\\x89\\xf8\\x26\\xe2\\x9b\\x88\\x6f\\x22\\xbe\\x89\\xf8\\x26\\xe2\\x5b\\x88\\x6f\\x21\\xbe\\x85\\xf8\\x16\\xe2\\x5b\\x88\\x6f\\x21\\xbe\\x85\\xf8\\x16\\xe2\\x5b\\x88\\x6f\\x21\\xbe\\x85\\xf8\\x16\\xe2\\x5b\\x88\\x6f\\x21\\xbe\\x85\\xf8\\x16\\xe2\\xdb\\x88\\x6f\\x23\\xbe\\x8d\\xf8\\x36\\xe2\\xdb\\x88\\x6f\\x23\\xbe\\x8d\\xf8\\x36\\xe2\\xdb\\x88\\x6f\\x23\\xbe\\x8d\\xf8\\x36\\xe2\\xdb\\x88\\x6f\\x23\\xbe\\x8d\\xf8\\x36\\xe2\\xbb\\x10\\xdf\\x85\\xf8\\x2e\\xc4\\x77\\x21\\xbe\\x0b\\xf1\\x5d\\x88\\xef\\x42\\x7c\\x17\\xe2\\xbb\\x10\\xdf\\x85\\xf8\\x2e\\xc4\\x77\\x21\\xbe\\x0b\\xf1\\x5d\\x88\\xef\\x42\\x7c\\x17\\xe2\\x27\\x21\\x7e\\x12\\xe2\\x27\\x21\\x7e\\x12\\xe2\\x27\\x21\\x7e\\x12\\xe2\\x27\\x21\\x7e\\x12\\xe2\\x27\\x21\\x7e\\x12\\xe2\\x27\\x21\\x7e\\x12\\xe2\\x27\\x21\\x7e\\x12\\xe2\\x27\\x21\\x7e\\x12\\xe2\\x27\\x23\\x7e\\x32\\xe2\\x27\\x23\\x7e\\x32\\xe2\\x27\\x23\\x7e\\x32\\xe2\\x27\\x23\\x7e\\x32\\xe2\\x27\\x23\\x7e\\x32\\xe2\\x27\\x23\\x7e\\x32\\xe2\\x27\\x23\\x7e\\x32\\xe2\\x27\\x23\\x7e\\x32\\xe2\\xa7\\x20\\x7e\\x0a\\xe2\\xa7\\x20\\x7e\\x0a\\xe2\\xa7\\x20\\x7e\\x0a\\xe2\\xa7\\x20\\x7e\\x0a\\xe2\\xa7\\x20\\x7e\\x0a\\xe2\\xa7\\x20\\x7e\\x0a\\xe2\\xa7\\x20\\x7e\\x0a\\xe2\\xa7\\x20\\x7e\\x0a\\xe2\\xa7\\x22\\x7e\\x2a\\xe2\\xa7\\x22\\x7e\\x2a\\xe2\\xa7\\x22\\x7e\\x2a\\xe2\\xa7\\x22\\x7e\\x2a\\xe2\\xa7\\x22\\x7e\\x2a\\xe2\\xa7\\x22\\x7e\\x2a\\xe2\\xa7\\x22\\x7e\\x2a\\xe2\\xa7\\x22\\x7e\\x2a\\xe2\\xa7\\x21\\x7e\\x1a\\xe2\\xa7\\x21\\x7e\\x1a\\xe2\\xa7\\x21\\x7e\\x1a\\xe2\\xa7\\x21\\x7e\\x1a\\xe2\\xa7\\x21\\x7e\\x1a\\xe2\\xa7\\x21\\x7e\\x1a\\xe2\\xa7\\x21\\x7e\\x1a\\xe2\\xa7\\x21\\x7e\\x1a\\xe2\\xa7\\x23\\x7e\\x3a\\xe2\\xa7\\x23\\x7e\\x3a\\xe2\\xa7\\x23\\x7e\\x3a\\xe2\\xa7\\x23\\x7e\\x3a\\xe2\\xa7\\x23\\x7e\\x3a\\xe2\\xa7\\x23\\x7e\\x3a\\xe2\\xa7\\x23\\x7e\\x3a\\xe2\\xa7\\x23\\x7e\\x3a\\xe2\\x67\\x20\\x7e\\x06\\xe2\\x67\\x20\\x7e\\x06\\xe2\\x67\\x20\\x7e\\x06\\xe2\\x67\\x20\\x7e\\x06\\xe2\\x67\\x20\\x7e\\x06\\xe2\\x67\\x20\\x7e\\x16\\xe2\\x04\\x73\\xb2\\x44\\x37\\xf2\\x8c\\x1b\\x79\\xc6\\x8d\\x3c\\xe3\\x46\\x9e\\x71\\x23\\xcf\\xb8\\x91\\x67\\xdc\\xc8\\x33\\x6e\\xe4\\x19\\x37\\xf2\\x8c\\x1b\\x79\\xc6\\x8d\\x3c\\xe3\\x46\\x9e\\x71\\x23\\xcf\\xb8\\x91\\x67\\xdc\\xc8\\x33\\x6e\\xe4\\x19\\x37\\xf2\\x8c\\x1b\\x79\\xc6\\x8d\\x3c\\xe3\\x46\\x9e\\x71\\x23\\xcf\\xb8\\x91\\x67\\xdc\\xc8\\x33\\x6e\\xe4\\x19\\x37\\xf2\\x8c\\x1b\\x79\\xc6\\x8d\\x3c\\xe3\\x46\\x9e\\x71\\x23\\xcf\\xb8\\x91\\x67\\xdc\\xc8\\x33\\x6e\\xe4\\x19\\x37\\xf2\\x8c\\x1b\\x79\\xc6\\x8d\\x3c\\xe3\\x46\\x9e\\x71\\x23\\xcf\\xb8\\x91\\x67\\xdc\\xc8\\x33\\x6e\\xe4\\x19\\x37\\xf2\\x8c\\x1b\\x79\\xc6\\x8d\\x3c\\xe3\\x46\\x9e\\x71\\x23\\xcf\\xb8\\x91\\x67\\xdc\\xc8\\x33\\x6e\\xe4\\x19\\x37\\xf2\\x8c\\x1b\\x79\\xc6\\x8d\\x3c\\xe3\\x46\\x9e\\x71\\xff\\x1f\\x7b\\xdf\\x03\\x26\\x45\\x75\\xed\\x79\\xab\\x6e\\xf5\\x4c\\x77\\xcf\\x1f\\x06\\x1c\\x79\\x60\\x80\\x20\\xf2\\x65\\x7d\\x7e\\x7e\\x2e\\xf4\\xcc\\xf4\\x1f\\x43\\x58\\x61\\xa6\\xae\\x86\\x10\\x75\\x09\\x20\\x1a\\x12\\x99\\x61\\x1a\\x67\\x74\\x98\\xc1\\xf9\\x83\\x88\\x46\\x5d\\xd7\\x97\\x97\\xa8\\x89\\xc6\\x24\\xae\\xeb\\xba\\x2e\\xeb\\xb2\\x88\\x13\\x97\\xe7\\xe3\\xb1\\xac\\xcf\\xc7\\xf2\\xd4\\xf8\\x07\\xf3\\x18\\x48\\x10\\xc4\\x04\\xf4\\xc9\\x9f\\xc1\\x51\\x51\\x10\\x07\\x44\\x42\\xa8\\x3d\\xf7\\xd4\\xaf\\xbb\\xaa\\xab\\xbb\\x71\\xd0\\x67\\x36\\xd9\\x6f\\xbf\\xf9\\xee\\xbd\\xe7\\xde\\x3a\\xf7\\x9c\\x73\\x7f\\xf7\\x56\\x9d\\x73\\xab\\xaa\\xa7\\xe0\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x86\\x9f\\xb1\\xe1\\x67\\x6c\\xf8\\x19\\x1b\\x7e\\xc6\\x4e\\xa8\\x92\\xab\\xf8\\x59\\x67\\xc9\\x4d\\x6e\\x71\\x95\\xfb\\x92\\xe3\\x4d\\x5c\\x44\\xae\\xca\\xdc\\x60\\x8f\\xdc\\x94\\xa1\\xdc\\x7e\\xf0\\x33\\x36\\xfc\\x8c\\x0d\\x3f\\x63\\xc3\\xcf\\xd8\\xf0\\x33\\x36\\xfc\\x8c\\x0d\\x3f\\x63\\xc3\\xcf\\xd8\\xf0\\x33\\x36\\xfc\\x8c\\x0d\\x3f\\x63\\xc3\\xcf\\xd8\\xf0\\x33\\x36\\xfc\\x8c\\x0d\\x3f\\x63\\xc3\\xcf\\xd8\\xf0\\x33\\x36\\xfc\\x8c\\x0d\\x3f\\x63\\xc3\\xcf\\xd8\\xf0\\x33\\x36\\xfc\\x8c\\x9d\\xb2\\x23\\xd3\\x32\\xcf\\x2b\\x23\\x8d\\x19\\x2a\\x3a\\x2d\\xfb\\x64\\x36\\xda\\x98\\x25\\xab\\xa6\\x79\\x2f\\x7d\\x32\\x0c\\x55\\x8d\\xc1\\x06\\x1f\\x07\\xc3\\xe6\\xe7\\xe0\\x86\\x6a\\x1f\\x47\\x56\\x70\\x75\\x63\\x81\\x46\\xbf\\x2c\\x7e\\xb2\\xec\\x97\\xc5\\x0d\\x67\\xf9\\x38\\x32\\x96\\x9f\\xd5\\x98\\xdf\\x56\\xe6\\xbe\\x24\\xee\\xbe\\x90\\xd6\\xe8\\xa3\\xdd\\x76\\xb6\\x0b\\xed\\x4c\\x0f\\x73\\xdb\\xb3\\x96\\x0c\\x6b\\xcc\\xad\\xa3\\x1f\\xdb\\x80\\x7e\\x4c\\x57\\xba\\xed\\x19\\xb5\\x95\\x8d\\x39\\xd5\\x88\\x9d\\xa5\\xb2\\x6d\\x51\\xdb\\xc3\\xd9\\x93\\x5f\\x62\\xbb\\x2f\\xf9\\xba\\x52\\xab\\xec\\x20\\xc8\\xe9\\x60\\x83\\x1d\\x44\\x3d\\x1d\\x44\\xdd\\x2e\\x84\\x7a\\xba\\x10\\xea\\x76\\x10\\xf5\\x74\\x10\\x75\\xbb\\x00\\xea\\xe9\\xfc\\xb6\\xe8\\xd7\\xbd\\xb1\\xb5\\x66\\xc9\\xc8\\xd7\\xb3\\x28\\xb4\\x66\\xa9\\x2b\\xb2\\x54\\x47\\xb6\\xf7\\x15\\x5e\\xef\\x0e\\xcf\\xba\\x2b\\x82\\x43\\xef\\x08\\x36\\x5c\\x11\\xc4\\xa2\\x23\\x88\\xc5\\x15\\x85\\xb0\\xe8\\x28\\x84\\xc5\\x15\\x41\\x2c\\x3a\\x82\\x58\\x5c\\x51\\x00\\x8b\\x8e\\x02\\x58\\xf0\\x0b\\xc0\\xee\\x8b\\x93\\x1d\\x1e\\xc9\\xad\\x6c\\x94\\xdb\\xca\\x64\\x25\\xb7\\x66\\x8d\\xa8\\xec\\xc8\\xa9\\xba\\x7d\\x58\\xb9\\xdb\\x87\\xc9\\x0a\\x6e\\xcd\\x68\\xab\\xe8\\xf0\\xd7\\x22\\x73\\xb2\\x54\\x4f\\xd6\\x9e\\x39\\x9e\\xc0\\x1e\\x8f\\x9c\\xe3\\x99\\xd6\\xe3\\x91\\x73\\x3c\\x2b\\x7b\\x3c\\x2b\\xe7\\xe4\\x5a\\xd9\\x93\\x6b\\xe5\\x1c\\xcf\\xca\\x1e\\xcf\\xca\\x39\\x39\\x56\\xf6\\xf8\\x6b\\x25\\x57\\xbb\\x97\\xd9\\x9b\\xb9\\x88\\x5c\\x9d\\xb5\\xf9\\xe6\\xac\\xcd\\x57\\x7b\\xe2\\x6f\\xf6\\xce\\x95\\xab\\xdd\\x73\\xe5\\x66\\xf7\\x85\\x78\\x7d\\x4d\\x53\\x88\\xd9\\x14\\x62\\x36\\x85\\x98\\x4d\\x21\\x66\\x53\\x88\\xd9\\x14\\x62\\x36\\x85\\x98\\x4d\\x21\\x66\\x53\\x88\\xd9\\x14\\x62\\x36\\x85\\x98\\x4d\\x21\\x66\\x53\\x88\\xd9\\x14\\x62\\x36\\x85\\x98\\x4d\\x21\\x66\\x53\\x88\\xd9\\x14\\x62\\x36\\x85\\x98\\x4d\\x21\\x66\\x53\\x88\\xd9\\x14\\x62\\x36\\x85\\x18\\x4d\\x21\\x46\\x53\\x88\\xd1\\x14\\x62\\x34\\x85\\x18\\x4d\\x21\\x46\\x53\\x88\\xc9\\x14\\x62\\x32\\x85\\x98\\x4c\\x21\\x26\\x53\\x88\\xc9\\x14\\x62\\x32\\x85\\x98\\x4c\\x21\\x26\\x53\\x88\\xc9\\x14\\x62\\x32\\x85\\x98\\x4c\\x21\\x26\\x53\\x88\\xc9\\x54\\x2c\\xa3\\x0f\\xe3\\x43\\x4c\\xa6\\x10\\x93\\x29\\xc4\\x64\\x0a\\x31\\x99\\x42\\x4c\\xa6\\x10\\x93\\x29\\xc4\\x64\\x0a\\x31\\x99\\x42\\x4c\\xa6\\x10\\x93\\x29\\xc4\\x64\\x0a\\x31\\x99\\x42\\x4c\\xa6\\x10\\x93\\x29\\xc4\\x64\\x0a\\x31\\x99\\x42\\x4c\\xa6\\x10\\x93\\x29\\xc4\\x64\\x0a\\x31\\x99\\x42\\x4c\\xa6\\x10\\x93\\x29\\xc4\\x64\\x0a\\x31\\x98\\x42\\x0c\\xa6\\x10\\x83\\x29\\xc4\\x60\\x0a\\x31\\x98\\x42\\x0c\\xa6\\x10\\x73\\x29\\xc4\\x5c\\x0a\\x31\\x97\\x42\\xcc\\xa5\\x10\\x73\\x29\\xc4\\x5c\\x0a\\x31\\x97\\x42\\xcc\\xa5\\x10\\x6b\\x29\\xc4\\x58\\xaa\\x2e\\x23\\x17\\xf6\\x23\\xa6\\x52\\x88\\xa9\\x14\\x62\\x2a\\x85\\x98\\x4a\\x21\\xa6\\x52\\x88\\xa9\\x14\\x62\\x2a\\x85\\x98\\x4a\\x21\\xa6\\x52\\x88\\xa9\\x14\\x62\\x2a\\x85\\x98\\x4a\\x21\\xa6\\x52\\x88\\xa9\\x14\\x62\\x2a\\x85\\x98\\x4a\\x21\\xa6\\x52\\x88\\xa9\\x14\\x62\\x2a\\x85\\x98\\x4a\\x21\\xa6\\x52\\x88\\xa9\\x14\\x62\\x2a\\x85\\x98\\x4a\\x21\\xa6\\x52\\x88\\xa9\\x14\\x62\\x2a\\x85\\x98\\x4a\\x21\\xa6\\x52\\x88\\xa9\\x14\\xf6\\xea\\x0a\\x7b\\x75\\x85\\xbd\\xba\\xc2\\x5e\\x5d\\x61\\xaf\\xae\\xb0\\x57\\x57\\x88\\xa1\\x14\\x62\\x28\\x85\\x18\\x4a\\x21\\x86\\x52\\x88\\xa1\\x14\\x62\\x28\\x85\\x18\\x4a\\x25\\x33\\xfa\\x30\\x5e\\xc4\\x50\\x0a\\x31\\x94\\x42\\x0c\\xa5\\x10\\x43\\x29\\xc4\\x50\\x0a\\x31\\x94\\x42\\x0c\\xa5\\x10\\x43\\x29\\xc4\\x50\\x0a\\x31\\x94\\x42\\x0c\\xa5\\x10\\x43\\x29\\xc4\\x50\\x0a\\x7b\\x75\\x85\\xbd\\xba\\xc2\\x5e\\x5d\\x61\\xaf\\xae\\xb0\\x57\\x57\\xd8\\xab\\x2b\\xec\\xd5\\x15\\xf6\\xea\\x0a\\x7b\\x75\\x85\\xbd\\xba\\xc2\\x5e\\x5d\\x61\\xaf\\xae\\xb0\\x57\\x57\\xd8\\xab\\x2b\\xec\\xd5\\x15\\xf6\\xea\\x0a\\x7b\\x75\\x85\\xbd\\xba\\xc2\\x5e\\x5d\\x61\\xaf\\xae\\xb0\\x57\\x57\\xd8\\xab\\x2b\\xec\\xd5\\x15\\xf6\\xea\\x0a\\x7b\\x75\\x85\\x3d\\xba\\xc2\\x1e\\x5d\\x61\\x8f\\xae\\xb0\\x47\\x57\\xd8\\xa3\\x2b\\xec\\xd1\\x15\\xf6\\xe8\\x0a\\x7b\\x74\\x85\\x3d\\xba\\xc2\\x1e\\x5d\\x61\\x8f\\xae\\xb0\\x47\\x57\\xd8\\xa3\\x2b\\xec\\xd1\\x15\\xf6\\xe8\\x0a\\x7b\\x73\\x85\\xbd\\xb9\\xc2\\xde\\x5c\\x61\\x6f\\xae\\xb0\\x37\\x57\\xf5\\xd0\\x5b\\x0f\\xbd\\xf5\\xd0\\x5b\\x0f\\xbd\\xf5\\xd0\\xdb\\x00\\xbd\\x0d\\xd0\\xdb\\x00\\xbd\\x0d\\xd0\\xdb\\x00\\x7d\\x0d\\xd0\\xd7\\x00\\x7d\\x0d\\xd0\\xd7\\x00\\x7d\\x0d\\xd0\\xd7\\x00\\x3d\\x0d\\xd0\\xd3\\x00\\x3d\\x36\\xf4\\xd8\\xd0\\x63\\x43\\x8f\\x0d\\x3d\\x36\\xc6\\x67\\x63\\x5e\\x6d\\xe8\\xb5\\xa1\\xd7\\x86\\x5e\\x1b\\x7a\\x6d\\xe8\\xb5\\xa1\\xd7\\xc6\\x38\\x6d\\xe8\\xb7\\xa1\\xdf\\x86\\x7e\\x05\\x7d\\x0a\\xfa\\x14\\xf4\\x29\\xe8\\x51\\xd0\\xa3\\xa0\\x47\\x41\\x8f\\x82\\x1e\\x05\\x3d\\x0a\\x7a\\x14\\xf4\\xb8\\xf7\\x40\\x62\\x93\\x5c\\x3f\\x4a\\xe5\\x64\\x94\\x31\\x94\\x35\\x28\\x6b\\x51\\xd6\\xa1\\x8c\\xa3\\x4c\\xa0\\x4c\\xa2\\x4c\\xa1\\x9c\\x86\\x72\\x3a\\xca\\x7a\\x94\\x0d\\x28\\x33\\x7a\\x95\\x5b\\x4e\\x86\\xbe\\xc9\\x90\\x3f\\x39\\x5e\\xc1\\xff\\xf6\\x8e\\x7f\\x14\\xda\\xdc\\xd4\\x56\\x71\\x63\\x4f\\x87\\xfe\\x27\\xab\\xfa\\x77\\xa2\\xe9\\x66\\xf0\\xa0\\x6f\\x0c\\xba\\x62\\xd0\\x15\\x83\\xae\\x18\\x74\\xc5\\xa0\\x2b\\xa6\\x4a\\x16\\xb7\\xb6\\xf3\\x4f\\xf5\\xd2\\x0b\\x3b\\xda\\x21\\xa5\\xa6\\x36\\x92\\x5e\\xb6\\xb0\\xad\\x71\\x31\\x69\\x89\\x74\\x36\\x36\\xeb\\x7f\\xe5\\x98\\x5e\\xe6\\x1e\\xab\\x43\\xcf\\x38\\x34\\xc4\\xa1\\x21\\x0e\\x0d\\x71\\x68\\x88\\x67\\xf8\\x54\\xf9\\xa2\\x8e\\x9e\\xce\\xae\\x9e\\x25\\xe9\\xce\\xd6\\x8e\\xce\\xf2\\x45\\xad\\x4b\\xd3\\x99\\x4a\\x45\\x17\\x19\\xdf\\x9e\\xad\\xa5\\xf5\\xbf\\x32\\xce\\xd4\\x22\\xd9\\x76\\x57\\x4e\\x0a\\xb3\\x91\\xc2\\x6c\\xa4\\x80\\x4e\\x0a\\xb3\\x91\\xc2\\x6c\\x4c\\x03\\xdf\\x34\\xf0\\x4d\\x8b\\x59\\x6d\\xad\\x9d\\x8d\\xa8\\x00\\xca\\x69\\xf1\\x92\\x25\\xe9\\xae\\x74\\x77\\xa6\\x19\\x33\\x35\\x2d\\x55\\xd2\\xd5\\x92\\xbe\\x31\\xdd\\x66\\x35\\x77\\xb4\\x5f\\x67\\xe9\\x7f\\x28\\x89\\x03\\x18\\xd4\\x34\\x0c\\x6a\\x1a\\x60\\x9e\\x0e\\x65\\xd3\\xa1\\x6c\\x3a\\x8c\\x9a\\x0e\\xa3\\xa6\\xc3\\xa8\\xe9\\xd0\\xeb\\x3e\\x62\\x8d\\x4d\\xc6\\x92\\x99\\xec\\x86\\x44\\x54\\xc6\\x51\\x26\\xe4\\x15\\x2d\\x8b\\x23\\xe9\\xae\\xee\\xd6\\xc5\\x8d\\xdd\\x98\\xd4\\xc9\\xae\\x63\\xa6\\xd2\\x0e\\x77\\xb4\\xa7\\xbb\\x5b\\x5a\\x3b\\x9b\\x23\\xdd\\x37\\x75\\x30\\xd1\\x15\\xa1\\x26\\x06\\xae\\xa5\\xbc\\xbb\\xa5\\x33\\x0d\\xba\\xab\\x4c\\xe3\\x0c\\xba\\x9c\\x61\\x46\\xc5\\x15\\x95\\xac\\x8d\\x34\\x76\\x76\\x76\\xdc\\xd4\\x96\\x5e\\xd4\\x5d\\xca\\x54\\xcf\\x92\\x28\\x97\\xfc\\xff\\xa4\\xdd\\x83\\xcd\\x1d\\x37\\xb5\\xbb\\x54\\x13\\x29\\x8b\\x80\\xad\\xb9\\xbd\\x3c\\x4b\\x35\\x75\\x71\\xcc\\x19\\xc3\\xcf\\x94\\x62\\xb1\\xc9\\x75\\xd1\\x8e\\xce\\xee\\x16\\xfd\\x4b\\xca\\xc6\\xb6\\xf2\\xd6\\xf6\\x6e\\xbd\\x36\\xf9\\xdf\\xf8\\x96\\xa5\\x6f\\xec\\x69\\x5d\\x4a\\xeb\\xa8\\x7d\\x61\\x3a\\xd4\\xd2\\xd1\\xd3\\x95\\xae\\xa0\\xa5\\xdb\\xd6\\x71\\x9d\\x5e\\x5c\\xed\\x1d\\xdd\\x51\\xcd\\x4c\\xd1\\x6f\\x5b\\xf7\\x92\\x2c\\xd9\\xc4\\x0f\\xef\\x62\\x78\\x32\\x1c\\xc3\\x13\\xe1\\x18\\x9e\\xe4\\xc6\\xf0\\xc4\\x96\\xca\\x5a\\x94\\x49\\x94\\x38\\x1e\\x43\\x3b\\x56\\x7f\\x5d\\x0d\\xea\\x35\\xa8\\xd7\\xa1\\xbf\\x1b\\xe9\\x50\\x09\\xf9\\x6e\\xa4\\x43\\x25\\xf8\\xdd\\x48\\x87\\xca\\x38\\xca\\x04\\x4a\\xe8\\x73\\x23\\x1e\\x2a\\xa7\\xa1\\x9c\\x8e\\x32\\xa3\\xa7\\x01\\xa5\\x8d\\xd2\\x5d\\x3e\\x75\\x71\\xe8\\x8f\\x43\\x7f\\x1c\\xfa\\xe3\\xd0\\x1f\\x87\\xfe\\x38\\xf4\\xc7\\xa1\\x3f\\x0e\\xfd\\x71\\xe8\\x8f\\x43\\x3f\\xce\\xc9\\x3a\\x9c\\x93\\x75\\xfa\\x9c\\x5c\\xd2\\xd4\\xd6\\xb1\\xf0\\x86\\x52\\x9a\\x2b\\x5d\\x86\\xdc\\x5a\\xdb\\x22\\xb7\\xec\\xec\\x46\\xbd\\xbb\\xab\\xa5\\xb1\\x39\\x1d\\xe2\\xbc\\xb4\\xf9\\x06\\x2e\\x23\\x8b\\x5a\\xdb\\xda\\xe8\\x42\\xd3\\xe1\\x9e\\xf9\\x78\\xbe\\x1c\\xc3\\xf3\\x61\\x2a\\xa7\\x47\\x5d\\x8e\\x4e\\x9a\\xe1\\xd2\\xee\\xce\\xd6\\xc6\\xeb\\x7a\\x96\\xb8\\x65\\x27\\xea\\xcd\\xed\\x6e\\xd9\\xb6\\xa8\\x44\\xef\\x0a\\xdb\\xdc\\xd5\\x52\\x57\\x0f\\x5c\\xea\\x55\\xa4\\xb5\\x7d\\x69\\x53\\x0f\\x09\\xe9\\xd6\\x94\\xcb\\x13\\xed\\x58\\x92\\x6e\\x47\\x63\\xd7\\xe2\\x56\\x5a\\xa2\\x8d\\x0b\\xd3\\xb4\\x96\\x96\\x66\\x2b\\xb2\\xab\\xa7\\xbd\\x64\\x51\\x7a\\x31\\xad\\x26\\x4b\\x67\\xa1\\xae\\x25\\x64\\xaf\\xb5\\xb0\\xad\\xa7\\x29\\xd4\\x92\\x6e\\x24\\xed\\xcd\\xad\\x8d\\x8b\\xe9\\x72\\x56\\xb6\\xb8\\xa7\\x0b\\xeb\\x2b\\x5d\\xe9\\xa3\\xe9\\xba\\xc6\\x16\\xc4\\xdd\\x98\\x30\\x56\\x8f\\x99\\xa8\\xc7\\x4c\\xd4\\x63\\x26\\xea\\x31\\x13\\xf5\\x98\\x89\\x7a\\xcc\\x44\\x3d\\x66\\xa2\\x1e\\x33\\x51\\x8f\\x99\\xa8\\xc7\\x4c\\xd4\\x63\\x26\\xea\\x31\\x13\\xf5\\xb8\\x3a\\xd6\\xe3\\xea\\x58\\x9f\\x80\\x9e\\x04\\xf4\\x24\\xa0\\x27\\x01\\x3d\\x09\\xe8\\x49\\x40\\x8f\\x1b\\x7b\\xc6\\x70\\x5f\\x7b\\x5a\\x22\\x5b\\x26\\x51\\xa6\\x50\\x4e\\x43\\x39\\x1d\\x65\\x3d\\xca\\x06\\x94\\x36\\x4a\\xe5\\x96\\xee\\x5e\\x8a\\xca\\xc9\\x6e\\x99\\x84\\xbc\\x24\\xe4\\x25\\x21\\x2f\\x09\\x79\\x6e\\xac\\xa9\\xe0\\xfb\\x14\\x7c\\x9f\\x82\\x6f\\x53\\xf0\\x6d\\x0a\\xbe\\x4d\\xc1\\xb7\\x29\\xf8\\x36\\x0a\\xc1\\x1a\\x50\\xda\\xe5\\xee\\xf3\\xed\\x6b\\xf9\\x45\\x80\\x61\\x74\\xda\\xa7\\x69\\xc3\\xad\\xff\\xbb\\xb0\\x7e\\x70\\x1e\\xd6\\xcf\\xe7\\x6f\\x6a\\xa5\\x35\\xc8\\x4f\\xe6\\x35\\x55\\xd2\\x92\\xd6\\x45\\xe9\\x0d\\x8d\\xee\\x01\\x7e\\x0c\\xaf\\xa9\\xf2\\xcc\\xa3\\x78\\x5d\\x09\\xeb\\x87\\xe5\\xcc\\xd7\\xdd\\xb8\\x94\\x8f\\x92\\xe4\\x6b\\x97\\xb4\\xf5\\x74\\xe9\\xff\\x59\\x5b\\xa6\\x1f\\xb5\\xe3\\xcd\\x81\\x28\\xd3\\x4c\\x0e\\xe7\\x26\\x7e\\xdd\\x00\\x07\\xab\\x7c\\x2d\\xdc\\x10\\xd1\\x06\\xb1\\xa9\\x51\\x4d\\xb9\\xaf\\x12\\x70\\xe3\\xe2\\xc6\\x25\\xad\\x37\\x46\\x9a\\xd2\\xdd\\x2e\\x7b\\x19\\xbf\\x50\\x00\\x9a\\x8d\\x77\\xe9\\x70\\x4b\\xda\\x25\\x22\\x4b\\x1b\\x97\\xe2\\x30\\xbf\\x68\\x80\\xd6\\xee\\x0c\\x63\\x84\\x40\\x71\\xa9\\xca\\xcc\\x6b\\x07\\x38\\x90\\xa5\\xca\\x78\\xec\\x68\\xa5\\x81\\x83\\x6a\\xef\\x81\\xb0\\x72\\xf7\\x15\\x04\\xb7\\x52\\x81\\x77\\x10\\x60\\x46\\x86\\x28\\xe3\\x97\\x10\\xd0\\xf3\\xc6\\x0e\\x48\\x8e\\x6a\\xf8\\x40\\x7a\\x10\\x44\\xba\\x33\\x26\\x87\\xc9\\x78\\xf7\\x65\\x0d\\x1a\\xb0\\x7e\\x1b\\x43\\x4f\\x87\\x2e\\xc9\\x9d\\xea\\x82\\x11\\x61\\xeb\\x78\\x9a\\xf1\\xf8\\x44\\xe1\\xf1\\x89\\xc2\\xe3\\x13\\x85\\xc7\\x27\\x8a\\x42\\x2f\\xab\\x9d\\x4e\\x74\\xb9\\xa4\\x75\\x72\\xc5\\xc2\\x9b\\x3b\\xe9\\x6a\\xd2\\xba\\x90\\xef\\x1a\\x56\\xf1\\x0f\\xff\\x7d\\xbf\\x31\\x1d\\xee\\xa3\\x3b\\xf5\\xdb\\xe8\\xe9\\x28\\xdf\\x2a\\xb9\\x88\\xe6\\x77\\xb2\\x47\\xc6\\x3c\\xb2\\x26\\xca\\xf7\\x6f\\x5c\\x86\\x2c\\x19\\xf3\\xc8\\x9a\\xca\\xec\\x6d\\x14\\x66\\xca\\xad\\xc6\\x72\\xab\\x35\\x51\\xbe\\xc3\\xe2\\x4a\\xcb\\x92\\xb1\\x28\\x5b\\xcb\\xad\\xc3\\xbc\\xfb\\x5e\\x5c\\xaf\\xc8\\xdc\\xb9\\x09\\x58\\x50\\xeb\\x91\\x75\\x9e\\xb5\\xb5\\x1e\\x59\\x97\\xab\\xb9\\x36\\xb7\\x5a\\xe7\\x69\\xf7\\xd9\\x54\\xeb\\x91\\x3e\\x86\\xb8\\x47\\x26\\x3c\\x32\\x99\\x63\\x59\\x2c\\xa7\\x56\\x93\\x53\\xab\\xcd\\xa9\\xd5\\xe5\\xd4\\x7c\\xb2\\x53\\x39\\x07\\x12\\x39\\xb5\\x5c\\x65\\xa9\\xca\\x1c\\x50\\x26\\xe5\\x56\\x27\\xe7\\x56\\x63\\xb9\\xd5\\x9a\\xdc\\x6a\\x6d\\x6e\\xb5\\xae\\xcc\\x9b\\x9f\\x49\\x3e\\x7a\\xb2\\x8f\\x8e\\xf9\\x68\\x1e\\xa8\\xfe\\x29\\x6f\\xab\\x3b\\x79\\xb4\\x1c\\xf5\\x4f\\xb2\\xf4\\xcf\\xb6\\x2e\\x5a\\xd8\\xb8\\xc4\\x57\\x9f\\x1c\\xa8\\xd7\\x07\\xea\\x93\\x7c\\xf5\\x44\\xa0\\x7f\\x4d\\x4e\\x3d\\x66\\xd7\\x21\\xc5\\x03\\xf5\\x44\\xa0\\x9e\\x0c\\xd4\\x53\\xbe\\x7a\\x5c\\x97\\x81\\x7a\\x3c\\x50\\x4f\\x04\\xea\\xc9\\x40\\x3d\\x55\\xe6\\xab\\xfb\\x8e\\x25\\x02\\xb2\\x13\\x05\\x8e\\x27\\x02\\xf5\\x64\\xa0\\xee\\x97\\xed\\xe7\\x4d\\x06\\x64\\x27\\x03\\xb2\\x93\\x05\\xf8\\x93\\x81\\xba\\x5f\\xb6\\xff\\x58\\x2a\\x20\\x3b\\x15\\x90\\x9d\\x0a\\xc8\\x4e\\x15\\xe8\\xef\\x97\\x9d\\xc1\\x3b\\x9e\\x99\\x83\\x40\\x3d\\x1e\\xa8\\x27\\x02\\xf5\\x64\\xa0\\x9e\\x91\\x1d\\x0f\\xc8\\x2a\\x54\\x4f\\x04\\xea\\xc9\\x40\\xdd\\x6f\\x5b\\x22\\xd0\\x3f\\x11\\xb0\\x2d\\x11\\x90\\x97\\x08\\xc8\\x4b\\x04\\x6c\\xf3\\xf3\\x26\\x03\\xb2\\x93\\x01\\xd9\\xc9\\x02\\xfc\\xc9\\x40\\xdd\\x2f\\xdb\\x7f\\x2c\\x15\\x90\\x9d\\x0a\\xc8\\x4e\\x05\\x64\\xa7\\x0a\\xf4\\xf7\\xcb\\xce\\x60\\x92\\x08\\xcc\\x57\\x22\\x30\\x5f\\x89\\xc0\\x7c\\x25\\x02\\xf3\\x95\\x08\\xcc\\x57\\x22\\x20\\x2b\\x5e\\xa0\\x1e\\x0f\\xd4\\x13\\x81\\x7a\\x32\\x50\\xf7\\xcb\\xf6\\xf7\\x0d\\xea\\x2a\\x74\\x3c\\x19\\xa8\\xfb\\xc7\\x9d\\x0c\\xf4\\x4f\\x06\\xfa\\x27\\x03\\xb6\\x25\\x03\\xf2\\x92\\x01\\xdb\\xfc\\xc7\\x52\\x01\\xd9\\xa9\\x80\\xec\\x54\\x40\\x76\\xaa\\x40\\x7f\\xbf\\xec\\x8c\\xdd\\xc9\\xc0\\x7c\\x25\\x03\\xf3\\x95\\x0c\\xcc\\x57\\x32\\x30\\x5f\\xc9\\xc0\\x7c\\x25\\x03\\xb2\\xe2\\x05\\xea\\xf1\\x40\\x3d\\x11\\xa8\\x27\\x03\\x75\\xbf\\x6c\\x7f\\xdf\\x44\\x40\\x76\\xa2\\xc0\\xf1\\x44\\xa0\\x9e\\x0c\\xd4\\xfd\\xb2\\xfd\\xbc\\xc1\\x71\\x04\\x75\\x17\\xe2\\xf7\\x63\\x9a\\x0a\\xf4\\x4f\\x05\\xfa\\xa7\\x02\\xfd\\x53\\x01\\xdb\\x52\\x01\\xdb\\x32\\xb2\\x53\\x81\\xf9\\x4a\\x05\\xe6\\x2b\\x15\\x98\\xaf\\x54\\x60\\xbe\\x52\\x81\\xf9\\x4a\\x05\\x64\\xc5\\x0b\\xd4\\xe3\\x81\\x7a\\x22\\x50\\x4f\\x06\\xea\\x7e\\xd9\\xfe\\xbe\\x89\\x80\\xec\\x44\\x81\\xe3\\x89\\x40\\x3d\\x19\\xa8\\xfb\\x65\\xfb\\x79\\x93\\x01\\xd9\\xc9\\x80\\xec\\x64\\x01\\xfe\\x64\\xa0\\xee\\x97\\xed\\x3f\\x16\\xc4\\x28\\x38\\xae\\xa0\\x2d\\x6e\\xff\\x4c\\x34\\x7d\\x6d\\x47\\xb7\\xfe\\xd4\\x52\\xc4\\x8d\\x53\\xa9\\x15\\x91\\x49\\x6d\\x20\\x72\\xa9\\x0d\\x44\\x3a\\x35\\x05\\xea\\x49\\x5f\\x7d\\xb2\\x8e\\x76\\x7c\\xf5\\xfa\\x40\\xbd\\x36\\xc3\\x5f\\xde\\xd4\\xd8\\xd9\\x9a\\xf9\\xbf\\x29\\x67\\xf1\\xc1\\xe9\\x93\\x5d\\x86\\xc9\\x5a\\xe8\\xa4\\x02\\x6d\\x93\\x03\\x6d\\xb5\\x05\\xf8\\x6a\\x03\\x7c\\xf1\\x02\\xf2\\xe2\\x05\\xe4\\xc5\\x0b\\xc8\\x8b\\x07\\xe4\\xa5\\x0a\\xd8\\x97\\x2a\\x60\\x5f\\xaa\\x80\\x7d\\xa9\\x02\\xf6\\xa5\\x0a\\xd8\\x97\\x2a\\x60\\x5f\\xaa\\x80\\x7d\\xa9\\x7c\\xfb\\xea\\xeb\\xf2\\xed\\xcb\\x69\\x0b\\xf2\\xd5\\x16\\xe0\\x0b\\xca\\x8b\\x17\\x90\\x17\\x2f\\x20\\x2f\\x5e\\x40\\x5e\\x21\\xfc\\x92\\x99\\x45\\x56\\xa0\\x2d\\xc8\\x17\\x2f\\xc0\\x17\\x0f\\xe8\\x0d\\xc8\\xcb\\x69\\x0b\\xf2\\xc5\\x0b\\xf0\\xb1\\x3c\\xfd\\xbf\\x09\\xba\\xd3\\xcd\\xad\\xbc\\x03\\x0b\\xdb\\xed\\xd7\\x71\\xf0\\x9f\\x21\\x62\\x19\\xa2\\x26\\xbc\\x3c\\xdd\\xd9\\xa1\\xa9\\xd2\\x8e\\x76\\xde\\x2f\\x94\\x76\\xdf\\xc4\\xf5\\x08\\xdf\\x63\\xd5\\x54\\x58\\xdf\\xd5\\x76\\x89\\x56\\x77\\x67\\x56\\xda\\xd5\\xca\\x3b\\xbf\\x08\\xdf\\x6e\\x65\\x8a\\xef\\xb9\\x32\\x53\\x7b\\xab\\x2b\\xa8\\x2c\\x7b\\x3b\\xfd\\x22\\xbe\\xad\\x36\\x09\\xf7\\x96\\xc9\\xba\\x54\\xe9\\x9c\\xcb\\xbf\\xae\\x6f\\xa5\\x0e\\x0b\\xbc\\xd4\\x31\\x2c\\xf0\\x0a\\x47\\x65\\xee\\xcb\\x1a\\xc3\\x02\\x6f\\x65\\x44\\xbd\\x57\\x7c\\xa2\\xde\\x5b\\x3d\\x91\\xec\\x4b\\x3c\\x51\\xef\\x95\\x9d\\x2a\\xde\\xab\\xf3\\x8e\\x1e\\xbb\\x7e\\xaf\\x21\\x7b\\xfb\\xc1\\xbd\\xd9\\x51\\x91\\xa9\\xf2\\x6f\\x3e\\xce\\xca\\x6e\\xf4\\xbd\\x1f\\x7f\\x54\\x66\\xdb\\x02\\x55\\xfe\\xdd\\x47\\x95\\xef\\x16\\x0f\\xb7\\xf2\\x8d\\x14\\xdc\\x8c\\xd0\\x00\\xd4\\xd1\\xa9\\x58\\x37\\xbd\\x01\\x74\\xcc\\x47\\xd7\\x68\\xda\\xfa\\xd6\\xb5\\xd3\\x6d\\xca\\x66\\xeb\\xec\\x4a\\x5b\\xe0\\x0b\\x99\\x61\\x61\\x8a\\x6a\\x61\\x38\\x8e\\xfe\\xf6\\x23\\x7f\\xaf\\x52\\x88\\x65\\xe2\\x0e\\xfe\\x42\\xcf\\x70\\x21\\xac\\x4d\\xc2\\xb0\\x5e\\xb1\\x8e\\x0a\\x69\\x1d\\xb3\\x8e\\x11\\xfd\\xb1\\xf5\\x31\\xd1\\xc7\\xad\\xe3\\x44\\x7f\\x62\\xfd\\x81\\xe8\\x53\\xd6\\x29\\xa2\\x1d\\x8b\\x24\\x84\\x44\\xb8\\x4f\\x18\\xe1\\x2d\\xe1\\x2d\\x42\\x86\\xb7\\x86\\x3f\\x21\\xfa\\x44\\xf8\\x84\\x30\\xc3\\xbf\\x8f\\x96\\x0b\\x23\\x5a\\x11\\x1d\\x26\\x4c\\xfd\\xbf\\x3b\\x89\\x1e\\x11\\xad\\x16\\x32\\x7a\\x76\\xf4\\x2f\\x48\\xab\\xe5\\x7e\\x0f\\x88\\xf5\\x67\\x52\\x54\\x34\\x89\\x07\\x85\\x45\\x17\\xdc\\x36\\x71\\xce\\x75\\x9d\\xe9\\x1b\\x44\\xac\\x25\\xdd\\xd4\\x29\\xa6\\xb6\\x35\\x76\\xb7\\xeb\\xcf\\x0b\\x09\\xf3\\x9b\\xdf\\x68\\x18\\x2f\\xaa\\xbe\\x35\\x6b\\x3a\\xe5\\x42\\xd0\\x08\\x0c\\xfe\\x5a\\x90\\x00\\x2d\\xb2\\xb4\\xc9\\x5f\\x12\\xca\\x39\\xb2\\x70\\xe1\\xe2\\x25\\xe2\\x1c\\xce\\xc7\\x37\\xb7\\xb5\\x5e\\x27\\xce\\x6f\\xeb\\x58\\xa8\\x3f\\x62\\x24\\xb2\\xf6\\xe8\\x6f\\x0f\\xe9\\x5a\\xc6\\xa2\\x12\\xc2\\x66\\xa4\\x18\\x27\\xbe\\x42\\x5c\\x71\\xb4\\x4e\\x22\\x5e\\xcd\\xa1\\x50\\xce\\x25\\x2e\\x2a\\xcd\\x51\\x2c\\xc3\\x30\\x67\\xb9\\xed\\xa5\\x1b\\x49\\x5a\\x95\\x08\\x45\\xcf\\x16\\xef\\x8b\\x19\\xd1\\xbf\\x88\\xea\\x2f\\x88\\x86\\xe4\\x5e\\xfe\\xc2\\xc2\\x61\\xf9\\x11\\xd5\\x46\\x50\\x0a\\x6b\\xdd\\x1a\\xaf\\x50\\xb9\\xee\\x15\\x22\\x09\\xc6\\x23\\x62\\xb4\\x48\\x8a\\xe9\\x34\\xe2\\xb9\\x62\\x81\\xb8\\x5e\\x74\\x8b\\xdb\\xc4\\x0f\\xc4\\xc3\\x62\\xa5\\x58\\x23\\x9e\\x15\\xbf\\x13\\xfb\\x89\\x31\\x6a\\x54\\x1b\\xe3\\x8c\\xf3\\x8d\\x98\\x31\\xc5\\x50\\xc6\\x95\\xc6\\x03\\x5a\\x4e\\x74\\x84\\x30\\x69\\xde\\x34\\x75\\x56\\x96\\xaa\\xce\\x52\\xc3\\x89\\x1a\\x64\\x7d\\x7b\\xb2\\xd4\\xde\\x2c\\xb5\\x2f\\x4b\\xed\\x67\\xca\\xa4\\x71\\x95\\x87\\x8f\\x11\\xfd\\x61\\xb8\\x3f\\x7b\\xec\\x40\\x96\\x7a\\xdb\\xc7\\x35\\xa0\\x69\\x5a\\x07\\xa6\\x75\\x90\\xd7\\x57\\xa5\\xa8\\xa6\\xd9\\x37\\xad\\x81\\x68\\x19\\xe5\\x87\\xc3\\xef\\x64\\x7b\\xbd\\xcb\\x94\\xe6\\xa9\\x12\\x23\\xa3\\x11\\x5a\\x4b\\x83\\xd6\\x87\\xd1\\x28\\x6b\\x79\\x2f\\xcb\\x75\\x30\\x4b\\xbd\\x9f\\xa5\\x3e\\xc8\\x52\\x87\\xb2\\xd4\\xe1\\x2c\\xf5\\x61\\x96\\x3a\\x92\\xa5\\x3e\\x62\\xaa\\x94\\x34\\x8d\\xe2\\x6f\\x8b\\x4e\\xa2\\x39\\x9c\\x12\\x7e\\x83\\x74\\x9e\\x20\\x6b\\xdf\\x60\\xdd\\x27\\xf4\\xd7\\x50\\x69\\x55\\x0f\\x72\\x39\\x68\\x7d\\x12\\x1e\\xe4\\xb1\\xec\\xa2\\xfc\\x44\\xf8\\x77\\x94\\x7f\\xc2\\xb2\\x8e\\x62\\xb4\\xa5\\xd6\\x3b\\xd6\\x7b\\xfa\\x73\\xb2\\xa1\\x12\\x5a\\xfb\\x61\\x9a\\xb5\\x68\\xa8\\x32\\x54\\x29\\xf8\\x0b\\x07\\xa2\\x4a\\x7f\\xe1\\x40\\x8c\\x08\\x8d\\x0c\\x9d\\x43\\x67\\x98\\xe4\\x35\\x55\\x2d\\x26\\x90\\x84\\x0b\\x79\\xf5\\x84\\xf4\\x1a\\xe0\\x6f\\x25\\x94\\x85\\xaa\\x43\\x63\\xf5\\xea\\xe5\\x6f\\x2b\\x7c\\xac\\x57\\x1e\\xb5\\x8f\\x15\\x22\\xfc\\xa3\\xf0\\x8f\\xc4\\xb8\\xf0\\x6f\\xc2\\xaf\\x8b\\x2f\\xd3\\x7a\\xb8\\x9e\\xfa\\x54\\x19\\x13\\xcc\\x5a\\xa9\\xac\\x79\\x62\\x8c\\xb8\\x98\\xd6\\xc5\\x0c\\x31\\x4b\\x5c\\x43\\xe7\\xca\\xf5\\xa2\\x53\\x2c\\x17\\x77\\x8a\\xbb\\xc5\\x03\\xb4\\x3a\\x1e\\x13\\xbd\\x62\\xad\\x78\\x46\\x3c\\x2f\\x7e\\x25\\xb6\\xd1\\x2a\\xd9\\x2b\\xde\\x15\\x47\\xc4\\x09\\x5a\\x2b\\x25\\x46\\x79\\xe4\\x5b\\x42\\x9a\\xbf\\x30\\x7f\\x11\\x99\\xc5\\x65\\x6f\\xe4\\xdf\\x72\\xf9\\x44\\xe4\\x4a\\x2e\\x57\\x47\\xae\\xe0\\xf2\\xf1\\xc8\\x37\\xa9\\xec\\x25\\xbe\\x99\\x5c\\xf6\\x46\\xbe\\xc1\\xe5\\x13\\x91\\x19\\x5c\\xae\\x8e\\x7c\\x9d\\xcb\\xc7\\x23\\x97\\x52\\xf9\\x04\\xf1\\x29\\x2e\\x7b\\x23\\x36\\x97\\x4f\\x44\\x1a\\xb8\\x5c\\x1d\\xa9\\xe7\\xf2\\xf1\\xc8\\x34\\x2a\\x57\\x13\\xdf\\x25\\x5c\\xf6\\x46\\xfe\\x0d\\x97\\x4f\\x44\\xa6\\x72\\xb9\\x3a\\xf2\\x35\\x2e\\x1f\\x8f\\x4c\\xa1\\xf2\\x71\\xe2\\xfb\\x2a\\x97\\xbd\\x91\\x8b\\xb9\\x7c\\x22\\x92\\xe2\\x72\\x75\\xe4\\x72\\x61\\x52\\xeb\\x6c\\xca\\x7f\\x11\\x99\\x4e\\xf9\\xea\\xc8\\x65\\x94\\x3f\\xf1\\x39\\x10\\xe9\\x00\\x22\\xed\\x40\\x64\\x31\\x10\\x69\\x03\\x22\\x37\\x00\\x91\\x56\\x20\\xd2\\x02\\x44\\xae\\x03\\x22\\x8b\\x80\\x48\\x1a\\x88\\x2c\\x04\\x22\\x4d\\x40\\xa4\\x11\\x88\\x2c\\x00\\x22\\xd7\\x02\\x91\\xef\\x02\\x91\\xef\\x00\\x91\\xf9\\x40\\xe4\\xdb\\x40\\xe2\\x6a\\x20\\x31\\x0f\\x48\\x5c\\x05\\x24\\xe6\\x02\\x89\\x39\\x5c\\x3e\\x1e\\x59\\xc2\\x58\\x34\\x6b\\x14\\x22\\xd7\\x50\\xfe\\x78\\xe4\\x7a\\x8d\\xd1\\xe7\\x40\\xe4\\x1e\\x20\\x72\\x37\\x10\\xf9\\x21\\x10\\xf9\\x01\\x10\\xf9\\x6b\\x20\\xf2\\x57\\x40\\xe4\\x2e\\x20\\xf2\\xef\\x81\\xc8\\x9d\\x40\\xe4\\xdf\\x01\\x91\\x3b\\x80\\xc8\\xed\\x40\\xe4\\x36\\x20\\xf1\\x3d\\x20\\x71\\x0b\\x90\\x58\\x0e\\x24\\x6e\\x06\\x12\\xcb\\xb0\\x36\\x6e\\x02\\x22\\x3d\\x40\\xa4\\x1b\\x88\\x74\\x01\\x91\\x4e\\x20\\x72\\x23\\x10\\xf9\\x3e\\xaf\\x91\\x7b\\x19\\x97\\xa5\\x8c\\xc8\\xad\\x7a\\xa5\\x7c\\x0e\\x44\\x1e\\x07\\x22\\xab\\x80\\xc8\\x7f\\x07\\x22\\x2b\\x81\\xc8\\x7f\\x03\\x22\\x8f\\x01\\x91\\xff\\x0a\\x24\\x56\\x00\\x89\\xff\\x02\\x24\\xfe\\x33\\x90\\x78\\x04\\x48\\xfc\\x27\\xac\\x8d\\x87\\x81\\xc8\\x7f\\x04\\x22\\xff\\x01\\x88\\x3c\\x08\\x44\\x7e\\x0e\\x44\\x7e\\x06\\x44\\x7e\\x0a\\x44\\x7e\\x02\\x44\\xee\\x07\\x22\\xf7\\x01\\x91\\x1f\\x03\\x91\\x1f\\x01\\x91\\x47\\x79\\x75\\xac\\x66\\x44\\x1e\\x60\\x44\\x1e\\xfa\\x9c\\x88\\xbc\\x00\\x24\\x7e\\x09\\x24\\x9e\\x07\\x12\\xcf\\x01\\x89\\x7f\\x04\\x12\\x1b\\xb1\\x36\\xfe\\x37\\x10\\xd9\\x00\\x44\\xfe\\x01\\x88\\xfc\\x3d\\x10\\x79\\x1a\\x88\\xfc\\x2f\\x20\\xb2\\x1e\\x88\\xfc\\x4f\\x20\\xf2\\x77\\x40\\x64\\x2d\\x10\\xf9\\x5b\\x20\\xf2\\x14\\x10\\xf9\\x1b\\x20\\xf2\\x3f\\x80\\xc8\\x93\\x40\\xe4\\x17\\x40\\xa4\\x17\\x88\\x3c\\x01\\x44\\x9e\\x61\\x44\\x9e\\xe5\\x95\\xb2\\x86\\x11\\x59\\xc7\\x88\\x50\\xbc\\xa0\\xfb\\xb3\\x87\\x9f\\xa1\\xaf\\xb9\\x74\\xd5\\xbe\\x90\\xfc\\xc5\\x25\\xf0\\x70\\xff\\xcc\\x7e\\xec\\x4d\\xca\\x0f\\xb1\\x3f\\xa0\\x2b\\x36\\x5d\\xb5\\x35\\x75\\x3c\\x4b\\x7d\\x92\\xa5\\xb6\\x82\\xcf\\x7f\\xad\\xcf\\xc4\\x38\\xb3\\xc5\\xbd\\x39\\x31\\xce\\x57\\x38\\xc6\\x89\\x71\\x8c\\x33\\xb5\\x60\\x2c\\x93\\x4b\\x1b\\x39\\xed\\xe6\\x0d\\x14\\x20\\x8a\\x4a\\xbd\\x5f\\x25\\x4f\\xc3\\xdf\\x45\\xa7\\xbc\\xea\\x53\\xbf\\xa4\\x38\\x5a\\xd4\\x8a\\x29\\xa2\\x81\\x62\\x8c\\xd9\\x62\\x3e\\x7f\\x3b\\xf5\\x0e\\xf1\\x63\\xf1\\x08\\xc5\\x18\\x4f\\x8a\\x75\\x34\\xf3\\xef\\x8a\\x41\\x71\\xd2\\xb0\\x8c\\x72\\x8a\\x33\\xc6\\x18\\x13\\x8d\\x0b\\x8d\\x5a\\x37\\xae\\x31\\xc2\\x1c\\xb3\\x18\\x72\\x35\\xd5\\x4b\\xa9\\xdc\\xee\\xb6\\xcb\\x13\\x6e\\x69\\xfd\\xca\\x2d\\xa3\\x77\\xbb\\xb1\\x4d\\xd5\\xfa\\xe1\\xe1\\xe1\\xd7\\x0c\\x7f\\xd2\\xad\\x0d\\x3f\\x3c\\xa2\\x65\\xc4\\xbb\\x67\\xb5\\xb9\\xb5\\xb3\\x5e\\xab\\x3e\\xbf\\x7a\\x79\\xf5\\x66\\xb7\\x76\\x76\\xd5\\xd9\\x0f\\x8c\\x8c\\x8e\\xbc\\xd7\\xed\\x3f\\xf2\\x98\\x5b\\x8e\\x5e\\xe3\\x96\\x63\\xae\\x61\\xae\\xf0\\x97\\x4b\\xbe\\xdc\\xfd\\xe5\\x2d\\xe3\\xcf\\x1f\\x7f\\xe7\\xf8\\xdd\\xe7\\xc6\\xcf\\xbd\\x9f\\x5b\\x2b\\xce\\xdd\\x7c\\xee\\xc9\\x09\\x17\\x4e\\x98\\x3f\\xe1\\xde\\x09\\x1b\\x26\\x1c\\x3c\\x6f\\xcc\\x79\\x33\\xcf\\xbb\\xf5\\xbc\\x27\\xcf\\xdb\\x3d\\xb1\\x9c\\x8f\\x9b\\x13\\xc7\\x4c\\x9c\\x41\\x78\\x10\\x3d\\xb1\\x9d\\x31\\x34\\x6a\\xda\\x5c\\xb9\\x35\\xdd\\x6e\\x19\\x1f\\xef\\x96\\xa9\\xb7\\xdc\\xf2\\x6b\\x63\\x5c\\xbe\\x4b\\x76\\xa3\\xdc\\xcf\\x31\\xa5\\x31\\x4d\\xc7\\x78\\x0f\\x9a\\x24\\xc5\\x7c\\x84\\xd0\\x9c\\x49\\x67\\xcc\\x0a\\xb1\\x8a\\x50\\x5b\\x2b\\x9e\\x16\\x1b\\xc5\\x0b\\x84\\xdd\\xaf\\xc5\\x6b\\x62\\x37\\x9d\\x37\\x03\\xe2\\x03\\x42\\x11\\x67\\x8e\\x31\\xc2\\x18\\x45\\x11\\xdb\\x44\\xe3\\x02\\x63\\x92\\x11\\xa7\\xa8\\x6d\\xba\\x71\\x99\\x71\\xb9\\x31\\xdb\\xb8\\xc6\\x58\\x60\\x2c\\x32\\xda\\x8c\\x4e\\x63\\x99\\x71\\x9b\\x71\\x97\\x71\\xb7\\x71\\xbf\\xf1\\xa0\\xf1\\x88\\xf1\\x98\\xb1\\xda\\x58\\x63\\xac\\x33\\x9e\\x31\\x9e\\x35\\x5e\\x32\\x36\\x1b\\xdb\\x8c\\xd7\\x8d\\x37\\x8d\\xfd\\xc6\\xbb\\xc6\\x61\\xe3\\x98\\x71\\xd2\\x34\\xcd\\xb0\\x59\\x69\\x56\\x9b\\xe7\\x98\\xe3\\xcd\\xaf\\x98\\x17\\x9a\\x31\\x33\\x69\\x4e\\x35\\x1b\\xcc\\x19\\xe6\\x95\\xe6\\x5c\\x73\\x3e\\xd9\\xda\\x1c\\x8a\\x51\\x3e\\x85\\xf3\\x3b\\x39\\x1f\\xc7\\xb9\\xdb\\xbe\\xc2\\x47\\x2f\\xe3\\xfc\\x4a\\x1f\\xff\\x38\\x8f\\x76\\x16\\xf8\\xf8\\xa7\\xf8\\xf2\\x65\\x3e\\x09\\xcd\\x3e\\x09\\xfe\\x76\\x3f\\x67\\x75\\x9e\\x3d\\x22\\x4f\\x66\\xb3\\xaf\\xbd\\x39\\xcf\\xe6\\x7c\\x7b\\xaa\\x7d\\xd2\\xdc\\xa3\\x7b\\xf3\\xe8\\xe6\\xbc\\xbc\\x18\\x26\\xe3\\x7c\\xd6\\x4e\\xf1\\x59\\x92\\x8f\\x86\\x5f\\x42\\xfe\\xd8\\xa7\\xe4\\xc9\\xf4\\xf1\\x3b\\x07\\xf3\\x46\\xcd\\xed\\xa7\\x9e\\xa5\\xd8\\x11\\x39\\x7a\\xe9\\x9c\\xae\\x3f\\x39\\x91\\xe1\\x56\\xba\\xba\\x7c\\x99\\xe3\\xc3\\xf1\\xe1\\xdf\\xd1\\x35\\xe7\\xfc\\x68\\x84\\x62\\xed\\xcb\\xf8\\xdc\\xfb\\x50\\xb8\\xbb\\x16\\x6d\\x77\\x35\\xef\\xee\\x46\\x09\\xbd\\xcf\\x70\\xaf\\x3d\\xc3\\xc1\\x43\\xfb\\x22\\x92\\x48\\x57\\x91\\x50\\x09\\xc5\\xa9\\x21\\xfd\\x0d\\x2e\\x71\\x0e\\x4b\\xd4\\x6b\\x7e\\x8c\\xd0\\x3b\\x95\\x09\\xa2\\x9c\\xaf\\x34\\x86\\x39\\x8f\\xed\\x31\\x48\\xb7\\xee\\xfd\\x49\\x56\\x43\\x2f\\x5b\\xf8\\x92\\x78\\x94\\xf2\\xcd\\xc4\\x3d\\x82\\x76\\x49\\x17\\x8a\\x18\\xed\\x5c\\xa6\\xd2\\x75\\x65\\x86\\xb8\\x92\\x76\\x2f\\xf3\\xc9\\xbb\\xb4\\xf0\\x07\\x6b\\x97\\xd3\\xf5\\xe5\\xfb\\x74\\xe5\\x23\\x79\\xe6\\x3c\\xca\\xef\\xd0\\x39\\x5d\\xbe\\xe6\\x65\\x5a\\x5c\\xda\\xcd\\x9d\\x2d\\x72\\x7c\\x26\\x07\\xff\\x18\\x83\\x6c\\x31\\x6e\\xf5\\xf8\\x8d\\x95\\x9c\\xaf\\x31\\x37\\x70\\xae\\xdb\\xdb\\x74\\x2e\\xc7\\x1b\\x83\\x99\\x9c\\x22\\xf1\\xd2\\x50\\x45\\x68\\x58\\x68\\x44\\xe8\\x6c\\xf7\\x5b\\x63\\x84\\xa1\\xf7\\x15\\x13\\xfd\\x0d\\x93\\xdf\\x51\\xa4\\xaf\\xc7\\x35\\x98\\x1d\\x57\\xb5\\x96\\x48\\x3b\\xdf\\x2d\\xb4\\x27\\x1b\\xa3\\xcf\\x70\\xda\\x63\\x25\\x8d\\xa9\\x46\\x83\\x31\\x83\\xf6\\x59\\x73\\x8d\\xf9\\x46\\x93\\xd1\\x62\\xb4\\x1b\\xdd\\xc6\\x72\\xe3\\x0e\\xe3\\xfb\\xc6\\xbd\\xc6\\x03\\xc6\\x43\\xc6\\xa3\\xc6\\x4a\\xa3\\xd7\\x78\\xca\\x58\\x6f\\x6c\\x30\\x9e\\x37\\x36\\x19\\x5b\\x8c\\xed\\xc6\\xef\\x8c\\xb7\\x8c\\x03\\xc6\\x41\\xe3\\x88\\x71\\xdc\\x38\\x65\\x5a\\x66\\xd4\\xac\\x32\\x47\\x9a\\x63\\xcc\\x09\\xe6\\xf9\\xe6\\x45\\x66\\xad\\x79\\xb1\\x79\\x89\\xa9\\xcc\\x99\\xe6\\x2c\\x1a\\xd1\\x77\\xcd\\x66\\xf3\\x7a\\x73\\x89\\xb9\\xd4\\xbc\\xd5\\xbc\\xd3\\xfc\\x81\\xf9\\x63\\xf3\\x67\\xe6\\xc3\\xe6\\x0a\\x73\\x95\\xf9\\xa4\\xb9\\xd6\\x7c\\xda\\xdc\\x68\\xbe\\x60\\xfe\\xca\\xfc\\xb5\\xf9\\x9a\\xb9\\xdb\\xdc\\x6b\\x0e\\x98\\x1f\\x98\\x83\\xe6\\x09\\x29\\x64\\x89\\x2c\\x97\\x23\\xe4\\x28\\x39\\x4e\\x4e\\x94\\x17\\xc8\\x49\\x32\\x2e\\xa7\\xc8\\xe9\\xf2\\x32\\x79\\xb9\\x9c\\x2d\\xaf\\x91\\x0b\\xe4\\x22\\xd9\\x26\\x3b\\xe5\\x32\\x79\\x9b\\xbc\\x4b\\xde\\x2d\\xef\\x97\\x0f\\xca\\x47\\xe4\\x63\\x72\\xb5\\x5c\\x23\\xd7\\xc9\\x67\\xe4\\xb3\\xf2\\x25\\xb9\\x59\\x6e\\x93\\xaf\\xcb\\x37\\x69\\x5f\\xfa\\x2e\\xed\\x4b\\x8f\\xc9\\x93\\x96\\x69\\x85\\xad\\x4a\\xab\\xda\\x3a\\xc7\\x1a\\x6f\\x7d\\xc5\\xba\\xd0\\x8a\\x59\\x49\\x6b\\xaa\\xd5\\x60\\xcd\\xb0\\xae\\xb4\\xe6\\x5a\\xf3\\xad\\x26\\xab\\xc5\\x6a\\xb7\\xba\\xad\\xe5\\xd6\\x1d\\xd6\\xf7\\xad\\x7b\\xad\\x07\\xac\\x87\\xac\\x47\\xad\\x95\\x56\\xaf\\xf5\\x94\\xb5\\xde\\xda\\xc0\\x6b\\x26\\xa6\\xf3\\x92\\x16\\x9a\\x9b\\xa7\\x35\\x6d\\x3c\\xcd\\xf4\\x6c\\xa6\\x67\\x33\\xbd\\x99\\xe9\\xcd\\x9a\\x36\\x27\\x31\\xff\\x24\\x4d\\x8b\\xdd\\xbc\\xae\\x76\\x33\\xcf\\x25\\xcc\\x73\\x09\\xf3\\xf8\\x64\\xfa\\x69\\x71\\x98\\xf9\\x0f\\x07\\x65\\xe6\\xc8\\x0f\\x33\\x7f\\xf8\\x74\\x72\\x0c\\x8b\\xf9\\xad\\xa0\\x9d\\x7e\\xdb\\x72\\x68\\xbf\\x4c\\x3f\\x5d\\x8c\\xc7\\xd7\\x9e\\x63\\xdb\\x71\\x6e\\x3f\\x9e\\x67\\x4f\\x91\\xb1\\xe4\\xf4\\x2d\\xc2\\x5f\\xb4\\xbd\\x98\\x0d\\x45\\xf0\\x29\\x26\\x33\\xc7\\xe6\\xa1\\xd0\\x45\\x30\\xff\\xa2\\xd7\\xc9\\xe7\\x59\\x1b\\x45\\xd7\\x40\\xb1\\x79\\xff\\x3c\\x73\\x6d\\x85\\x0e\\x67\\xc7\\xf2\\x74\\x68\\x77\\x16\\x87\\x95\\x4c\\xaf\\x64\\x7a\\x50\\xd3\\xa7\\xd7\\x5b\\x64\\x8c\\x43\\xf7\\x20\\xc3\\xb3\\xdf\\x8c\\xd4\\x5f\\x8c\\xdc\\xce\\x5f\\x8a\\xfc\\xad\\xf5\\x16\\x7f\\x17\\xf2\\x6d\\xeb\\x63\\xeb\\x64\\x78\\x8b\\xbe\\x43\\x28\\x94\\x10\\x7c\\x3f\\x6e\\x16\\xa5\\x79\\x94\\xbe\\x4b\\x49\\x7f\\xd3\\xfb\\x7a\\x4a\\x4b\\x28\\x2d\\xa5\\x74\\x2b\\xa5\\x3b\\x29\\xfd\\x80\\xd2\\x8f\\x29\\xfd\\x8c\\xd2\\xc3\\xda\\x6f\\x53\\xb9\\x8a\\xca\\x03\\x21\\xc5\\x7e\\x4a\\xb1\\x2f\\x51\\x8c\\x82\\xd7\\xe2\\xe6\\x2b\\x74\\xee\\x3c\\x92\\xd7\\xee\\xe6\\xd5\\x39\\x2d\\x77\\xea\\xdc\\x3a\\xa8\\xf3\\x92\\x4a\\x6e\\x59\\x97\\xbd\\x8e\\x5f\\xf4\\xff\\xaf\\xe3\\x9f\\xed\\x3a\\xce\\x77\\x34\\x39\\x37\\x9e\\xf6\\xe5\\xb3\\xbd\\xdc\\xfc\\x35\\xd3\\xf7\\x33\\x3d\\xc9\\xcb\\x0d\\xfe\\x9a\\xbb\\x11\\xf7\\xd1\\xa3\\x3c\\x69\\xf9\\x39\\x45\\xcc\\xd9\\xdc\\x95\\x56\\x20\\xf7\\xeb\\xbd\\xa3\\x70\\xee\\x2c\\xf0\\xf2\\xa2\\x7a\\xfd\\x76\\x6e\\xf6\\xe5\\x83\\x5e\\x6e\\xee\\x0f\\xb6\\xa0\\x7d\\x83\\x47\\x53\\x7c\\xe2\\xb5\\xfb\\xe5\\xfb\\xad\\x1a\\xe3\\xe5\\xf9\\xd2\\xf2\\xfb\\x16\\x6b\\x2f\\x8a\\xf3\\x10\\xf0\\xc9\\xb1\\xd3\\x6f\\x5b\\x91\\xb9\\x28\\x96\\x1b\\xee\\x1d\\xee\\x79\\xce\\x96\\x2c\\xdd\\xa4\\xe9\\x2f\\x7a\\x9d\\xe4\\xac\\x8d\\x95\\xbe\\x7c\\x08\\x63\\x2f\\x26\\xb3\\xd8\\xbc\\xe7\\xcf\\xb5\\x9b\\x0f\\x65\\xae\\x73\\xc6\\xe2\\xc7\\xc1\\x6f\\xa7\\x5f\\xcb\\xec\\x22\\xb9\\x9f\\xdf\\x1b\\xef\\xd0\\xaf\\xe3\\xe7\\x58\\xaf\\x58\\x5b\\xac\\x57\\x73\\xbe\\xf0\\xbb\\xb7\\xc0\\x37\\x7d\\x3f\\xb2\\x8e\\x5a\\x7f\\xb0\\x1c\\xf7\\xbb\\x6a\\xe2\\x1c\\x31\\x94\\x2b\\xb8\\xc0\\x15\\x5c\\xd0\\x9e\\x57\\x7f\\xf5\\x51\\x08\\x3d\\xc6\\x8d\\x94\\x5e\\xa0\\xf4\\x2b\\x4a\\x7a\\xa6\\x5f\\xa3\\xa4\\xe7\\x6b\\x2f\\x59\\x33\\x40\\xe5\\x07\\x94\\xf4\\x98\\x4f\\xe8\\x89\\xd4\\xb1\\x3d\\x3f\\x81\\x7a\\x44\\x8f\\x8d\\xf2\\x71\\x94\\xbf\\xa0\\x5b\\xa8\\xae\\xe9\\xbd\\x3a\\x17\\x82\\x8f\\xee\\x45\\xae\\xdb\\x9f\\xe2\\x5e\\x19\\x7a\\x1c\\xcb\\xf1\\xf2\\xa7\\x98\\x73\\x15\\xe7\\x2f\\xf8\\x5a\\x32\\xb9\\xd7\\xf2\\x02\\xaf\\xa7\\x75\\x42\\x04\\x24\\xe8\\x5c\\xf2\\x1e\\xc8\\x60\\x6b\\x78\\x07\\xc8\\xcf\\x69\\x4c\\xeb\\x63\\xf2\\x7d\\x45\\xee\\xd2\\x8b\\xca\\xd3\\xf9\\x4d\\x92\\x68\\x92\\xc4\\x29\\x2c\\x53\\x04\\x24\\x7e\\x5a\\xdf\\xc2\\x1a\\x3f\\xc5\\x46\\x5e\\x19\\x82\\xd7\\x84\\xc1\\x6b\\xe2\\xdc\\x2f\\xda\\xc6\\x02\\x1a\\xb5\\x8d\\x33\\x60\\xe3\\x02\\x96\\x78\\x16\\xe5\\xa3\\xcf\\x60\\x65\\x66\\xd6\\x65\\x31\\xd4\\xa3\\x85\\x64\\xfd\\x11\\xf4\\x0e\\xfb\\x94\\x7e\\xff\\xa2\\x16\\x14\\x9c\\xcb\\xff\\xfb\\x16\\x14\\xc3\\xde\\xe4\\xfb\\x8a\\xde\\x2a\\xaa\\xfe\\xd4\\xd5\\x73\\xfa\\x73\\x4b\\x8f\\xa4\\x16\\x23\\x99\\x31\\x44\\x89\\xc5\\xe6\\xcd\\xd5\\xf3\\x39\\x6d\\x2c\\xb2\\xd2\\x3f\\x83\\x8d\\x05\\x71\\xf5\\x6c\\x9c\\x21\\xda\\x7c\\x36\\x9e\\xfd\\x19\\xe7\\xef\\xd3\\xd7\\x4a\\x31\\xdc\\xb5\\x05\\x4d\\xff\\x22\\x16\\x14\\x5e\\x2b\\xa7\\xd3\\xfb\\x47\\x1b\\x79\\xc1\\xd9\\xfc\\x23\\x8c\\xbc\\xd0\\xdc\\xe3\\xae\\xf2\\x8a\\x3f\\xf1\\xbb\\xca\\xd8\\x53\\xf3\\xee\\xf2\\x42\\xa6\\xd7\\x31\\x3d\\x8a\\xe9\\x4d\\x5e\\x3b\\x8e\\x1e\\xf6\\xda\\x91\\x73\\x8b\\xf3\\x54\\x1e\\xcf\\xe1\\x60\\x0b\\x64\\x1e\\xce\\xcb\\x7d\\x5a\\xfc\\x32\\x73\\x5a\\x36\\x9d\\x8e\\x33\\xc7\\xe6\\x7c\\x7b\\x36\\xe5\\xd9\\x36\\xa5\\x08\\x9d\\x97\\x9f\\x1e\\x93\\xd3\\xa3\\x51\\x80\\x33\\x6f\\x5c\\x45\\x47\\xed\\x5a\\xb5\\xc2\\x97\\xbb\\x92\\x27\\x7a\\xb9\\x4f\\xef\\xd0\\x63\\x49\\x69\\xfd\\xc6\\xda\\x63\\x1d\\xe0\\xb7\\x19\\x2a\\xf9\\xda\\x26\\x28\\x52\\x2c\\xb0\\x1f\\xc7\\xfa\\x7d\\xf4\\x4f\\x7b\\xfd\\xca\\x93\\x7c\\xbf\\x64\\x03\\x23\\xf7\\xb0\\xce\\xe5\\x78\\xce\\xef\\xf2\\xad\\xdc\\xfb\\xbd\\x16\\x97\\xdf\\x6d\\x97\\xe5\\x5e\\xee\\x4a\\x70\\x8f\\xfa\\x79\\x8c\\x16\\x5f\\xdf\\xbb\\x7c\\xf2\\x7d\\x5a\\xe4\\x7c\\xce\\x2f\\x63\\x39\\xfb\\x75\\x1e\\xe2\\xd9\\x93\\xdb\\xdd\\xfb\\x43\\xc1\\x5c\\x0e\\xf8\\xb4\\xfb\\xec\\x77\\xa5\\xb9\\x12\\xfc\\xf6\\xb8\\x2d\\xae\\xb4\\xd0\\x6e\\x4f\\xbe\\x9f\\xf6\\x5b\\x5e\\x00\\x93\\xf2\\x22\\x98\\xf8\\x46\\xea\\xf2\\xfb\\x73\\x1c\\xf5\\x23\\xe0\\x43\\xec\\xf4\\xa3\\x76\\xef\\xff\\x61\\x2c\\xfb\\x3d\\xc4\\x72\\xe4\\x7b\\xd2\\x86\\xbe\\x7e\\x4d\\x6b\\x87\\xf5\\x3a\\xbf\\x6b\\x16\\x15\\xfa\\xc9\\xa8\\x7e\\xaa\\xa2\\xf8\\x7c\\xf9\\xf3\\x59\\xb3\\x03\\xbc\\xc7\\xfc\\x7b\\xce\\xdd\\x9d\\xec\\x0a\\xde\\x93\\xfe\\x8c\\xf7\\x86\\x7f\\xc1\\x7e\\xea\\x30\\xb7\\x3c\\xc3\\xf9\\xdf\\x78\\xfb\\x1b\\xb9\\x9d\\xf9\\x9f\\xf3\\x76\\xac\\x16\\xbf\\xc7\\x26\\x9f\\xe5\\xbe\\xfc\\xc4\\xdb\\xf8\\x39\\xb7\\xb8\\xfb\\xdc\\xf9\\x9c\\xb3\\x46\\x39\\xdd\\xb7\\xe7\\x75\\x7c\\x7b\\xde\\xe3\\x2c\\x27\\xc9\\x3c\\x6f\\x71\\xcb\\x1b\\x9c\\x0f\\xf8\\xf6\\xcb\\x3e\\xda\\x92\\x3e\\x9b\\x7f\\xc8\\xf4\\xce\\xa0\\x3d\\xae\\x4c\\xf9\\x9e\\x27\\x39\\x3f\\x97\\x27\\x83\\x79\\x0e\\x26\\x3f\\xf7\\xe4\\x1b\\x86\\x0f\\x93\\xd3\\xa2\\x01\\x1c\\x5c\\xdb\\xfe\\xd6\\x37\\xf6\\x91\\x22\\xbb\\xeb\\x2f\\x30\\xea\\x9d\\x9e\\x16\\xd8\\xc0\\x32\\x65\\x99\\x08\\xdc\\x1f\\x70\\x35\\x72\\x7e\\x26\\x6b\\x76\\x9b\\xd5\\x9f\\xb3\\x66\\x85\\x38\\x9f\\x77\\xbe\\x51\\xec\\xd4\\xa6\\xfa\\xe2\\x93\\x91\\xd9\\x1e\\x9f\\x1e\\xf3\\x18\\x62\\x64\\xc8\\x0c\\xc9\\x50\\x28\\x54\\x12\\x8a\\x84\\xca\\x43\\x55\\xa1\\x51\\xe1\\x6d\\xfc\\x2c\\x4c\\x7f\\xbb\\x5f\\x7f\\xb9\\x7f\\x20\\xfc\\x5e\\xf8\\xfd\\xf0\\x47\\xe1\\x63\\xfa\\xfb\\xeb\\xa4\\x4d\\xd2\\x9e\\x78\\xa2\\xb8\\x40\\xf7\\x2c\\xa0\\xcf\\xe0\\x3b\\xae\\x86\\x35\\xf0\\x05\\x48\\x3e\\xfa\\x05\\x4b\\x3e\\xf8\\x85\\x49\\x7e\\xff\\x0b\\x93\\x7c\\xe8\\x0b\\x93\\x7c\\xf8\\x33\\x48\\xd6\\x2b\\x71\\x42\\x91\\x95\\xe8\\xca\\x3d\\x73\\x89\\xae\\xa5\\x19\\x89\\xfa\\x5d\\xe1\\x12\\x8e\\xa2\\xdd\\x08\\xfa\\x68\\xce\\xfc\\x0d\\x95\\x7f\\x17\\x66\\xe5\\xcc\\xe4\\x0f\\x9d\\xdf\\x95\\xff\\xc1\\x90\\xf9\\xb7\\x9d\\x21\\xff\\x16\\xcc\\xfd\\x50\\xf9\\x07\\x30\\xa3\\x43\\xe5\\x3f\\x78\\x86\\xfc\\x5b\\xce\\x90\\x7f\\xdb\\x19\\xf2\\xef\\x3a\\x43\\xfe\\xdd\\x67\\xc8\\x7f\\xd4\\xc7\\x3f\\x81\\xae\\xac\\x26\\xad\\xdc\\x31\\xe8\\x31\\xca\\x27\\xf1\\x0d\\x91\\x79\\xab\\xc2\\x08\\x8d\\x18\\x22\\xf7\\x20\\xb8\\x8d\\x4a\\xf7\\x6d\\xae\\x26\\xb1\\x45\\xec\\x17\\xef\\x1a\\x55\\x14\\x33\\x4c\\xa1\\x38\\x61\\x81\\xd1\\x6b\\x0c\\x98\\xe3\\xf8\\x59\\xd1\\xbd\\xf4\\xf7\\xa0\\xb9\\x42\\x3f\\x11\\x92\\x17\\xc8\\x79\\x72\\xa9\\xbc\\x5f\\xf6\\xca\\x01\\xcb\\xb4\\x46\\x59\\x17\\x59\\xb5\\xd6\\x9a\\xd0\\x98\\xd0\\x05\\xa1\\xda\\xd0\\x77\\x43\\x2d\\xa1\\x8d\\xa1\\x17\\x4a\\x2a\\x4b\\xaa\\x43\\x1b\\x4b\\xa6\\xd2\\x5f\\x43\\xc9\\xe5\\xd4\\x42\\x7f\\x25\\xb7\\x96\\xdc\\x5d\\x72\\x7f\\xc9\\x83\\x25\\x03\\xa5\\xe7\\x94\\xb6\\x95\\x6e\\x29\\xdd\\x5e\\xfa\\x41\\x58\\x84\\x2f\\x08\\x5f\\x12\\x5e\\x14\\x7e\\x3a\\x7c\\x2c\\xd2\\x1c\\xf9\\x20\\x3a\\x2a\\x7a\\x51\\x34\\x19\\x6d\\x8f\\x3e\\x14\\x7d\\x3e\\xba\\xb9\\xcc\\x2c\\x3b\\xbf\\x2c\\x56\\xd6\\x50\\xb6\\xbc\\xec\\x91\\xb2\\x97\\xca\\x8e\\x97\\x8f\\x2b\\x9f\\x59\\xbe\\xbc\\x7c\\x75\\xf9\\xf3\\xe5\\xc7\\x2b\\x46\\x56\\x4c\\xa9\\x98\\x5b\\xd1\\x52\\xd1\\x59\\xb1\\xb2\\xe2\\x57\\x15\\xfb\\x2b\\x4e\\x54\\x8a\\xca\\x11\\x95\\xe7\\x8b\\x90\\x98\\xe8\\xec\\x92\\x5f\\xa5\\xd4\\x40\\xe9\\x52\\x4a\\x97\\x3b\\x7a\\x96\\xaa\\x9d\\x16\\x11\\x11\\x92\\xe8\\x84\\xb3\\x4e\\xa4\\x9c\\x87\\xc5\\xc5\\x54\\x4e\\x71\\xee\\x13\\x57\\x53\\xba\\x86\\xd2\\x7c\\xe7\\xbe\\xd2\\xfd\\xd4\\x26\\xc5\\xb0\\x53\\xc7\\xc5\\x70\\x4a\\x13\\x29\\x95\\xa2\\xcf\\x4e\\xea\\xb3\\x0e\\x7d\\x76\\x12\\xef\\x2f\\x99\\xd7\\xe2\\xa3\\x7e\\x7e\\x8b\\xf8\\x76\\x11\\xdf\\x2e\\xe2\\xdb\\x45\\x7c\\xbb\\xc4\\x08\\x97\\x87\\xf4\\x57\\x51\\x1a\\x4e\\x69\\x2c\\x69\\x1b\\xe7\\xdc\\x42\\x96\\xb6\\x88\\x18\\x1d\\x6b\\x70\\x1a\\x84\\xa2\\x74\\x19\\xa5\\x99\\x74\\x6c\\x16\\x95\\x73\\xa8\\x9c\\x4b\\xe5\\x3c\\xb6\\xae\\x85\\x24\\xb5\\x88\\x61\\x59\\x6d\\x55\\xd4\\xaa\\x35\\x8e\\x25\\x29\\xe3\\xe8\\x88\\x2b\\xe9\\x97\\x24\\x69\\x2c\\x49\\x19\\x4b\\x52\\x5a\\x48\\xca\\x58\\x92\\xd2\\x42\\x12\\x74\\xef\\x06\\x51\\x41\\x36\\x34\\x50\\xcf\\x75\\x64\\x43\\x03\\x7a\\x6a\\x1b\\x6e\\x64\\xfd\\x41\\xdd\\xf3\\x18\\x91\\x06\\xfd\\x0e\\x1e\\xf7\\x6a\\x39\\x4d\\xaf\\x16\\xee\\xf5\\x2d\\x4a\\xb3\\x49\\xe7\\x3c\\x2a\\xaf\\xa6\\x64\\x94\\xee\\x17\\x1b\\x44\\x19\\xf5\\x1f\\x4b\\xfd\\x77\\x52\\xff\\xb1\\x34\\xca\\x75\\xe2\\x52\\x4a\\x97\\x51\\x9a\\x41\\xe9\\x1b\\x34\\x9e\\x59\\x54\\xce\\x76\\xd6\\x11\\xf7\\x4c\\x5a\\xb1\\xc3\\x80\\x91\\xa6\\x68\\x8c\\x94\\xa2\\x7a\\xd4\\xf2\\x1b\\xce\\x2a\\x39\\x8b\\xd2\\x5c\\x67\\x9d\\xbc\\xca\\x99\\x27\\xe7\\x11\\xfd\\x1d\\x2a\\xd3\\xce\\x4a\\xd9\\xe1\\xdc\\x27\\x6f\\x76\\x56\\x52\\xf4\\x72\\x95\\xf3\\x24\\xad\\xf9\\x87\\x9c\\xf5\\xb2\\x5e\\x7c\\x95\\x56\\x40\\x8a\\x56\\x40\\x17\\xf5\\x5d\\x4f\\xab\\x20\\x45\\xfd\\xd7\\x53\\xbf\\xbf\\x96\\xdf\\x75\\x94\\x5c\\xe0\\xac\\x90\\x8d\\xce\\x43\\x72\\x21\\xd1\\x8b\\x9c\\x1e\\xd9\\x4a\\xf5\\x1b\\xa8\\xde\\x46\\x65\\xbb\\xd3\\x22\\x6f\\xa4\\xf6\\x1e\\x4a\\xcb\\x28\\xdd\\x4a\\xb2\\x6e\\x73\\x14\\x8d\\x65\\x88\\x96\\xf0\\xda\\x28\\xa5\\x99\\x3a\\x41\\xb3\\x74\\x82\\x6c\\x99\\x2b\\x1b\\x4e\\xbd\\x21\\x2f\\xa5\\x74\\x39\\xa5\\x1b\\x68\\x54\\x25\\x90\\xf5\\x5b\\x92\\xf5\\x5b\\x92\\xf5\\x5b\\x92\\xd5\\x45\\x72\\xba\\x44\\x09\\xd9\\xbd\\x8a\\xec\\xee\\x23\\x9b\\xb5\\x96\\x5d\\x7a\\x54\\x74\\xe4\\x49\\x31\\x8c\\xf8\\xef\\x23\\xfe\\xfb\\x48\\xe7\\x3c\\x1a\\xc5\\x8b\\x64\\xfd\\x8b\\x64\\xfd\\x8b\\xb2\\x85\\xd2\\xf5\\x94\\x96\\x50\\xba\\x91\\x52\\x0f\\xa5\\x65\\x94\\x6e\\xa1\\x74\\x1b\\xa5\\x3b\\x9c\\x17\\xb3\\x1a\\x73\\xad\\x27\\xcb\\x45\\x28\\x47\\x63\\x46\\x5b\\x28\\x6b\\x7f\\x03\\xa5\\x4b\\x9d\\x99\\x64\\xfb\\x09\\xc2\\x78\\xa9\\xf3\\x8c\\x7e\\xfa\\x40\\x33\\x97\\xbb\\x9e\\xef\\xa3\\x71\\x5e\\x43\\x92\\x5a\\x88\\x77\\x15\\xe9\\xd1\\x67\\x5e\\x0b\\xe9\\xda\\x45\\xd6\\xee\\x92\\xdf\\xa6\\xa4\\x71\\xbf\\xd6\\x79\\x94\\x31\\x4f\\xd3\\xb1\\x45\\x54\\x5e\\x47\\xa9\\x95\\xfa\\x12\\x26\\x84\\xfb\\x7d\\x84\\x60\\x2e\\xf6\\x37\\x53\\x7d\\x39\\xb5\\x13\\xfe\\xf2\\x76\\xd2\\xf3\\x25\\x5a\\x17\\x0a\\x9a\\x15\\x69\\xfe\\x1e\\x69\\xfe\\x5e\\x60\\xb6\\x77\\x61\\xb6\\x77\\x15\\x9c\\xed\\xb4\\xf3\\xd8\\x90\\x67\\x5c\\x32\\x32\\x57\\x39\\x4d\\x84\\x48\\x93\\x30\\x09\\xcf\\x3e\\xc2\\xb2\\x4f\\x44\\x49\\xea\\x2a\\x92\\xb6\\x8a\\x24\\xad\\x22\\xe4\\xfb\\xa8\\xf7\\x2a\\xea\\xbd\\x8a\\x7a\\xaf\\x22\\xae\\x55\\xd4\\x7b\\x15\\x71\\xae\\xa2\\x3e\\x57\\x39\\xbf\\xa1\\xde\\xbf\\x11\\x67\\x9f\\x91\\x95\\x43\\xb5\\xd0\\x20\\x84\\x76\\x8a\\x11\\xd4\\xff\\x1e\\xea\\xbf\\x91\\xfa\\xde\\x43\\x23\\x7c\\x98\\xfa\\xaf\\xa6\\xfe\\x1b\\xc9\\xb6\\xd5\\x24\\x63\\x23\\xc9\\xd8\\x48\\xd8\\x3e\\x4c\\x32\\xee\\x91\\x9d\\xce\\x33\\x24\\xe7\\x1e\\x9a\\xc9\\x2e\\x92\\x75\\x0f\\xd9\\x7b\\x0f\\xc9\\xba\\x87\\xec\\xbd\\x87\\xe4\\xdd\\xe4\\xbc\\xc1\\xe3\\xeb\\x25\\x59\\xbd\\x24\\xa7\\x97\\x56\\x57\\x2f\\xad\\xac\\x5e\\xea\\xdb\\x2b\\xbb\\x29\\xf5\\x50\\x5a\\x46\\xe9\\x36\\xa7\\x97\\xf8\\x5b\\xc4\\xb9\\x34\\xca\\xc5\\xce\\x0e\\xb6\\xa4\\x8c\\x7a\\xee\\xa0\\x9e\\x3b\\xa8\\xe7\\x0e\\xea\\xb9\\x83\\x7a\\xed\\xa0\\x5e\\x3b\\xa8\\xd7\\x0e\\xea\\xb5\\x83\\xb4\\xed\\xa0\\x9e\\x3b\\x48\\xdb\\x0e\\x7d\\xad\\x75\\x6e\\xa7\\x99\\x5c\\x24\\xc6\\x8a\\x1a\\x7d\\xc5\\x70\\xc2\\x9c\\xcf\\x14\\xd5\\xf2\\x45\\x31\\x56\\x6e\\x72\\xfa\\xe5\\x66\\x67\\xa7\\xdc\\xea\\xac\\x95\\xbf\\x26\\x94\\xb7\\x51\\x7a\\x95\\xe8\\xed\\xce\\xed\\x72\\x07\\x21\\xf3\\x3a\\x95\\x6f\\xd2\\xa8\\xf6\\x38\\x7b\\xe4\\x5e\\x4a\\x07\\x28\\x1d\\xa2\\x74\\x84\\xd2\\xa0\\xb3\\x41\\x1e\\xa5\\xf2\\x94\\xb3\\x87\\x24\\x4e\\x16\\xe5\\xf2\\x39\\xe7\\x15\\x92\\x3a\\x5a\\xbe\\x2c\\x6a\\xe4\\x26\\x31\\x93\\xa4\\xac\\x21\\x29\\xaf\\xc8\\xd7\\x48\\xcb\\xeb\\x54\\xbe\\xe9\\xec\\x93\\xfd\\x74\\x7c\\xd0\\x79\\x9b\\x1c\\xe2\\xbf\\x26\\x1b\\x9e\\x23\\x5d\\x2f\\x3a\\x3f\\x95\\x2f\\x13\\xe7\\x26\\x42\\x6d\\x2b\\xcd\\xc4\\x36\\x4a\\xaf\\x12\\x5a\\xdb\\x9d\\x59\\xd4\\xfb\\x27\\xd4\\xbb\\x8f\\x7a\\xff\\x95\\xdc\\x45\\x2b\\xfb\\x2d\\x3a\\xa6\\x25\\xbc\\x4f\\x12\\x3f\\x62\\x49\\xfb\\xe4\\x31\\x4a\\xc7\\xc5\\x68\\x92\\x38\\x9a\\xbc\\xb0\\x6f\\xbc\\x24\\x7d\\x11\\xd9\\xf1\\xaf\\x68\\x84\\xfd\\xb2\\x8f\\xa4\\x6c\\xa5\\xf2\\x2d\\x4a\\x7b\\x88\\xde\\x47\\x9a\\xfb\\x69\\x6d\\x1c\\x70\\x7e\\x29\\xdf\\xa1\\xab\\xc3\\x41\\xb2\\xe2\\x7d\\xb2\\xe2\\x03\\xaa\\x1f\\x72\\x1e\\x94\\x1f\\x3a\\x2f\\x93\\xf4\\xd5\\xf2\\x24\\xb5\\xff\\x81\\x10\\x70\\x9c\\x5b\\x2c\\xe1\\xac\\xa1\\xf9\\xd8\\xe4\\xec\\xa3\\x6b\\xc8\\x56\\x6a\\xdf\\x46\\x69\\x3b\\x59\\xfd\\x3a\\xa5\\x43\\x24\\x77\\x90\\x3c\\x84\\x25\\x5f\\x25\\xbb\\xb6\\xf3\\x88\\x1f\\x26\\x5b\\xbf\\x44\\x73\\x9d\\x19\\x95\\x6e\\xdd\\xe1\\xcc\\x27\\x1c\\xfa\\x49\\x6f\\x1f\\xf5\\x59\\x4b\\x48\\xf6\\xb1\\x9e\\x53\\xb4\\xea\\x43\\x74\\xb4\\x8f\\xac\\xdb\\x47\\x47\\xf7\\xd1\\xd1\\x7d\\x74\\x74\\x9f\\x88\\xd0\\x38\\x1e\\x25\\x94\\xfa\\x08\\xa5\\xb5\\x34\\x96\\x3e\\x92\\xf3\\x43\\xb9\\x83\\xb4\\xbc\\x46\\x1a\\x5e\\xa7\\xb6\\xb7\\x9c\\xb5\\x14\\xe7\\x0c\\xa3\\x59\\x1d\\xee\\xd4\\x60\\xe4\\x33\\xa9\\x47\\x1d\\xf5\\x78\\x90\\xec\\xdd\\x40\\xbd\\x16\\x64\\x11\\xd8\\xee\\x74\\x60\\x56\\x6e\\xa7\\x9e\\x0b\\x48\\x9f\\x46\\x62\\x3d\\xe9\\x5c\\x4f\\x3a\\xd7\\x93\\x25\\xfb\\x68\\xa4\\x7d\\x74\\x35\\xd4\\xb3\\xb3\\x19\\xa3\\x71\\xe7\\x90\\xb0\\x13\\x95\\x72\\x2f\\xa5\\x03\\x94\\xde\\xa6\\x34\\x40\\xe9\\x10\\xa5\\x23\\x94\\x3e\\xa2\\x15\\x75\\x94\\xca\\x53\\xe4\\xd5\\xf4\\x75\\xe4\\x61\\xb2\\xe7\\x76\\xb2\\x67\\x26\\x5d\\xcf\\x46\\x8b\\xc5\\xb4\\x02\\xbf\\xc7\\xb6\\xdd\\x4e\\xab\\xa4\\x86\\x6d\\xd8\\x43\\xfa\\xf6\\x41\\xf7\\x3b\\xce\\x56\\xf9\\x1e\\x95\\x07\\x29\\xbd\\x0f\\x5b\\x0e\\x53\\xdb\\x87\\x64\\xf7\\x11\\xa2\\x07\\x89\\x3e\\x46\\xe9\\x04\\xa5\\x93\\x54\\xff\\x03\\x25\\xc7\\x59\\x4f\\xb6\\x6e\\xa5\\x68\\x6c\\x98\\xf3\\x10\\xb4\\xd5\\x90\\xa6\\xd1\\xd0\\xb4\\x88\\x50\\x58\\x43\\xa3\\xbf\\x85\\x46\\xfe\\x0a\\x69\\xfc\\x29\\x8d\\xf8\\xa7\\xb4\\x92\\xfb\\x49\\xeb\\x0a\\xb9\\x5f\\xcf\\x10\\xcf\\xc5\\x0a\\xf9\\x36\\xd1\\x03\\x94\\xde\\xa1\\x15\\xfd\\x2e\\xb5\\xbd\\x47\\x5a\\x0f\\x52\\xfd\\x7d\\x4a\\x1f\\xf0\\x5c\\xad\\x20\\x6b\\x5e\\x26\\x6b\\xd6\\x90\\x35\\x2b\\xc8\\x92\\x15\\xf2\\x63\\xe2\\xfb\\x84\\xd2\\x09\\x4a\\x8e\\xf3\\x32\\x59\\xb2\\x82\\x66\\xfb\\x39\\xea\\xf1\\x22\\x1d\\x75\\x57\\xdd\\xa0\\xdc\\x4a\\x08\\xbe\\xca\\xb8\\x37\\xf1\\x4a\\xd1\\x2b\\xf0\\xa0\\xb3\\x87\\x66\\x7b\\x2b\\x9d\\x61\\xdb\\x08\\xe3\\x1d\\x2c\\x7f\\x27\\x8d\\x70\\x27\\x9d\\xe9\\x6f\\x39\\x2f\\xf2\\x79\\x5a\\x41\\x92\\x9e\\x21\\x49\\xfd\\x34\\x8b\\x2f\\xf3\\x99\\xda\\xc7\\x67\\xaa\\x3e\\x4b\\x77\\x92\\xc4\\x87\\x68\\x4e\\xd6\\x90\\xc4\\x2f\\xd1\\x7a\\xd2\\x6b\\xa0\\x9f\\x7b\\x45\\x89\\xbb\\x9f\\x56\\x7d\\x0d\\xeb\\x7f\\xcd\\x3d\\x42\\xeb\\x70\\x2c\\xcd\\xd6\\x58\\xd2\\x7b\\x84\\x46\\x44\\xf3\\x4b\\x38\\x69\\x4b\\x7f\\x04\\xf9\\x7d\\xbc\\xae\\xf4\\xea\\x78\\x95\\x7b\\xe9\\x33\\xbf\\x8f\\x7a\\xf1\\x1c\\x93\\x4d\\x83\\xd4\\x7a\\xdc\\xe9\\x27\\x9b\\xde\\x26\\x6a\\x80\\x47\\xd0\\x47\\x92\\xd6\\xf2\\xba\\x3f\\xc2\\x6b\\xbf\\x9f\\xae\\x06\\xfd\\x84\\xcb\\x4e\\xcd\\x29\\x7f\\x4f\\xc7\\x4f\\x39\\xfd\\xbc\\x92\\x22\\x34\\xcf\\x47\\x18\\xf5\\x7e\\x3a\\xd3\\x74\\xef\\x4c\\xaf\\xa3\\xd4\\xfe\\x7b\\xe6\\xd2\\x77\\x39\\x86\\xb3\\xdc\\x7e\\x3a\\x87\\x0e\\xf0\\xb9\\xad\\xa5\\xf4\\x6b\\x29\\xa4\\x77\\x0f\\x51\\xae\\x84\\x3e\\xb2\\xa1\\xcf\\x67\\x43\\x5f\\x56\\xda\\x47\\x2c\\xb1\\x8f\\x6c\\x70\\xad\\x0d\\x67\\x7b\\x1d\\x80\\xd5\\x87\\x78\\x2d\\xf5\\xc1\\xc2\\x7e\\xc2\\x40\\xcf\\x7f\\xee\\x98\\xfa\\x7c\\x63\\x3a\\x92\\xe5\\x2c\\x17\\x8b\\x79\\xbd\\xf6\\x91\\xbc\\x3e\\x3e\\x7b\\xb9\\x87\\xf8\\x4b\\x9c\\xc5\\x6b\\xb3\\xda\\x8f\\xc3\\x66\\x1a\\x35\\x8d\\x62\\x2f\\xa5\\x03\\x34\\x1b\\x03\\x54\\x1e\\xa2\\x74\\x04\\x23\\x3b\\x4a\\xa5\\xb6\\xb1\\x0c\\xa3\\xea\\x0f\\x8c\\x6a\\xad\\x5e\\x0d\\x40\\xf3\\x9f\\x80\\xa4\\xe6\\xce\\xe5\\x5c\\xcb\\xeb\\xf3\\x23\\xe0\\x9f\\xc1\\xde\\xe3\\xde\\x43\\x7d\\x33\\xe3\\x7f\\xdb\\x87\\x81\\x1e\\x99\\x0f\\x29\\x1e\\x61\\x09\\xc5\\xbf\\x35\\x62\\x38\\xd9\\xa5\\xed\\x1e\\x60\\x3b\\xfb\\xf8\\xaa\\x5a\\xe1\\x9d\\xcb\\xc4\\x37\\x8e\\xaf\\x17\\x27\\x7c\\x56\\xbc\\xc2\\xa8\\x7d\\xc8\\x16\\x64\\xb4\\xef\\x11\\xa5\\x39\\x6b\\xc4\\xb5\\x71\\x83\\xd6\\xc6\\xb6\\x45\\x30\\x37\\x7d\\x39\\xf3\\x72\\x34\\x3b\\x37\\xbc\\x7a\\xe8\\x3a\\xbb\\xa7\\x30\\x7e\\xb4\\x46\\xf6\\x50\\xab\\x3e\\x72\\x08\\x2d\\x26\\xeb\\x38\\x4e\\xd7\\xc2\\xf2\\xa2\\x98\\xe6\\xae\\x14\\x46\\x0c\\x2b\\x74\\x2f\\x10\\x0a\\x72\\x1e\\xa3\\x73\\x2c\\x33\\xa3\\x25\\x41\\x1c\\x70\\xa5\\x19\\xad\\x63\\x39\\x92\\x32\\x9c\\x5a\\xdc\\xeb\\x0f\\x5f\\xe9\\xc8\\xd3\\xee\\xa3\\x98\\x5c\\xef\\x61\\xc6\\x8a\\xb9\\xb4\\x9b\\xb8\\xca\\x19\\x4b\\xe7\\xe8\\x58\\x3a\\xf3\\xff\\xce\\x19\\x2d\\x37\\x38\\xfa\\xba\\x30\\x5a\\xbe\\x7e\\xea\\x21\\xf2\\x6d\\x33\\x83\\xad\\x8e\\xa0\\x56\\xfd\\x9e\\x64\\x13\\x79\\xf1\\x6a\\xda\\xcd\\xfe\\x25\\x79\\xcc\\x1a\\x51\\x27\\x12\\x22\\x25\\x2e\\x16\\x53\\xc4\\xd7\\xc5\\x1c\\x71\\xb5\\xb8\\x46\\xcc\\x97\\x5f\\x95\\x97\\xc8\\x69\\xb2\\x41\\x2a\\x79\\xa9\\xfc\\x86\\xfc\\xa6\\xbc\\x5c\\xce\\x92\\xb3\\xe5\\x1c\\x39\\x57\\x5e\\x45\\x7b\\xc9\\xab\\xe5\\x35\\xf2\\xdb\\xf2\\x3b\\x72\\x91\\x6c\\x91\\x8b\\xe5\\x12\\x79\\xa3\\xec\\xa4\\xfd\\xe5\\x32\\x79\\xb3\\xbc\\x45\\xde\\x26\\xef\\xe0\\xf7\\x06\\xff\\x41\\x3e\\x27\\x9f\\x97\\xbf\\x94\\x2f\\xc8\\x97\\x24\\x5d\\x6b\\xe4\\x3f\\x49\\xba\\x1a\\xc8\\xdf\\xc8\\x6d\\xf2\\x55\\xb9\\x5d\\xee\\x90\\xaf\\xc9\\x5d\\xf2\\x0d\\xf9\\xa6\\xfc\\x67\\x49\\x71\\x80\\xdc\\xc7\\xbf\\x5d\\x3e\\x20\\xdf\\x96\\x03\\xf2\\x3d\\x79\\x50\\x1e\\x92\\x1f\\xca\\x23\\xf2\\x23\\x39\\x28\\x8f\\xca\\x63\\xf2\\x63\\x79\\x42\\xfe\\x41\\x9e\\x92\\x8e\\x35\\xcc\\x9a\\x56\\xba\\xaf\\x74\\x7f\\x69\\x7f\\xe9\\x3b\\x34\\x8e\\x28\\xa1\\x34\\x9a\\x72\\xec\\xa4\\xff\\x4c\\xee\\xb8\\x9f\\xf4\\x9e\\x37\\x18\\xaf\\xf9\\x9e\\xdf\\x6c\\xf7\\x9e\\x85\\x18\\x83\\xde\\x33\\x0f\\x6b\\x62\\x1e\\xa7\\x9b\\x47\\xf3\\x9e\\x12\\xad\\xf4\\x71\\x6e\\xf7\\x1d\\x5d\\xee\\xcb\\x4f\\xe6\\x3d\\x43\\xe2\\xa7\\x26\\xa1\\x7b\\x7d\\x47\\xa7\\xe6\\xe5\\x27\\xf3\\x68\\x9f\\xcd\\xa0\\x7d\\xcf\\x90\\x5c\\x99\\x2e\\x5d\\x72\\xbf\\x27\\xdf\\x4f\\xe7\\x3f\\x25\\x1a\\x0a\\x26\\x45\\xd1\\xf0\\x69\\xcf\\x41\\xc0\\x3f\\xf6\\xd3\\x8e\\xda\\x7d\\xb3\\x1a\\x4f\\x92\\xa6\\x16\\x79\\xce\\xe4\\x69\\x3c\\x93\\x3b\\xee\\xee\\xfb\\x1d\\xbe\\x3b\\xee\\xee\\xbb\\xc4\\xfa\\x2d\\x62\\xac\\xd9\\xcd\\x7f\\xda\\x6b\\x36\\xe7\\xfd\\xcb\\xd9\\xbe\\x27\\x37\\xfc\\x9e\\xa5\\xd8\\xe4\\xe5\\x39\\xef\\x56\\x6e\\xf2\\x9e\\x94\\xe0\\x8d\\x43\\x2b\\xc8\\x03\\x99\\x17\\xfa\\xda\\x27\\xf9\\x7a\\xb9\\xef\\x32\\xae\\xf4\\xd1\\x9b\\xbd\\x67\\x3f\\x39\\x72\\xf2\\xde\\xe8\\xf5\\xb7\\xfb\\xdf\\x7f\\xcd\\x79\\xb7\\xd5\\x6f\\x4f\\x9e\\xcc\\xfc\\x5c\\xde\\xe5\\xe5\\x45\\x31\\x99\\x57\\x18\\x13\\x77\\x8c\\xc5\\xd0\\xf0\\xbf\\x45\\x9a\\x33\\xf6\\xd3\\x8e\\xda\\x95\\x9f\\xf3\\x26\\xe8\\xa0\\x27\\xd9\\xcd\\x5d\\x69\\x9c\\x0f\\x7d\\xcd\\x7e\\x96\\x77\\x52\\x46\\x93\\x86\\x45\\x94\\xda\\x28\\x75\\x0a\\xfd\\x7f\\x3f\\x84\\xb8\\x8d\\x92\\x46\\xeb\\x6e\\x4a\\xda\\xbe\\x07\\x29\\xe9\\x37\\x33\\x1f\\xa3\\xb4\\x9a\\xd2\\x1a\\x4a\\xfa\\xe9\\x99\\x7e\\xb6\\xf8\\x2c\\xa5\\x97\\x28\\xe9\\xb1\\x6e\\xa3\\xf4\\x3a\\xa5\\x37\\x29\\xe9\\xb7\\xa5\\xdf\\xa5\\xa4\\x47\\x70\\x4c\\x18\\xa7\\x9e\\xd4\\xef\\x53\\x7e\\x4a\\xbe\\xdd\\x97\\x9f\\xfe\\x68\\x26\\x17\\xbe\\xbc\\x70\\x0b\\x3f\\xbb\\xc3\\x3b\\xa3\\x55\\xfc\\x4e\\xa7\\x2f\\xc7\\x79\\xbc\\xfe\\x4f\\xfd\\x3c\\xf6\\x9e\\x87\\xe3\\x57\\x28\\x9b\\xbd\\x6b\\x9f\\xfb\\xbb\\x17\\xf7\\x17\\x2f\\x99\\xdf\\x90\\x70\\xfb\\x61\\x8f\\x13\\xfc\\x1b\\xbc\\xa3\\xee\\x75\\x19\\xbf\\x71\\x9a\\xed\\x49\\x43\\x1e\\xf6\\xe5\\x93\\x82\\x34\\xa4\\x1d\\xf7\\x49\\xdb\\x9c\\xa7\\x6b\\x5e\\x11\\x7a\\x52\\x11\\x7b\\x7c\\x9c\\xf9\\xef\\x3b\\xf8\\x75\\xf9\\xf3\\xa1\\x63\\x52\\x0c\\x0d\\xe0\\x30\\xbb\\xc8\\xd8\\x4f\\x3b\\x6a\\xfc\\x9e\\xd3\\xff\\x5e\\x91\\xe5\\x1b\\xd7\\x86\\x80\\xc6\\xa1\\x9f\\xc7\\xa7\\x7f\\x53\\x50\\xbf\\x73\\x73\\x31\\xa5\\x4b\\xc4\\x99\\xfe\\xee\\x46\\x8f\\x47\\xf1\\xdb\\x1a\\x8a\\x6d\\x52\\x3c\\x12\\xc5\\x48\\x29\\x7e\\x4f\\x23\\xdb\\x4e\\xde\\x5b\\x31\\x3a\\x8a\\xb1\\x2b\\x98\\x1b\\xa3\\xf4\\x6f\\x6c\\xfe\\x5c\\x7d\\xa1\\xb9\\xda\\xe7\\x57\\xac\\x22\\x7e\\xce\\xca\\xf3\\x55\\x2d\\xdc\\x72\\x07\\xe7\\xee\\x33\\x9f\\x7b\\x83\\x9e\\x00\\xbf\\x66\\xf0\\xfd\\x2e\\x84\\xdf\\x90\\xcf\\xd0\\xf7\\xe6\\x79\\x05\\x9f\\xb4\\xfc\\x5f\\x7b\\xe4\\xfc\\xc2\\x60\\x75\\x9e\\x2f\\xf4\\xdb\\x33\\x04\\x5f\\xe8\\xff\\xb5\\xc4\\x99\\x62\\x52\\x14\\x8d\\x31\\x79\\x08\\x6c\\x08\\x8e\\xa5\\xd8\\xa8\\xa1\\x25\\xdf\\x17\\xb6\\xf8\\xe4\\x7b\\xf6\\xff\\x3f\\xe1\\x0b\\xe9\\x7c\\xa8\\xf6\\xc5\\x1a\\xd5\\x8c\\x42\\xb5\\xaf\\x7d\\x5c\\x16\\x97\\x16\\x60\\x74\\x1e\\xe3\\xeb\\x1d\\x9d\\xcd\\xf9\\x25\\x5e\\x8e\\x98\\xe2\\x42\\xe4\\xe3\\x7c\\x74\\xa0\\x05\\xb3\\x75\\x2b\\xb7\\xf8\\x72\\xfd\\xbf\\x10\\x48\\x96\\xf7\\xae\\x89\\xd6\\x56\\x72\\xea\\xb2\\x53\\x4f\\x9e\\x5a\\x72\\x6a\\x3b\\xe5\\x27\\x0b\\x3c\\x39\\xe5\\x5f\\x82\\xd3\\x5f\\x39\\x3f\\xed\\xdc\\xe4\\x24\\xf1\\xf4\\x53\\xf0\\xd8\\x34\\x14\\x5f\\x7b\\x6c\\xab\\x2e\\xff\\xf1\\x4b\\x8d\\x87\\xb9\\xfe\\x93\\x53\\x73\\xff\\x4f\\x00\\x00\\x00\\xff\\xff\\xb7\\xf8\\x6f\\xa0\\x18\\xa9\\x05\\x00\")\n\nfunc liberationserifItalicTtfBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_liberationserifItalicTtf,\n\t\t\"LiberationSerif-Italic.ttf\",\n\t)\n}\n\nfunc liberationserifItalicTtf() (*asset, error) {\n\tbytes, err := liberationserifItalicTtfBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LiberationSerif-Italic.ttf\", size: 370968, mode: os.FileMode(420), modTime: time.Unix(1459927769, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _liberationserifRegularTtf = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\xe4\\xfd\\x79\\x60\\x54\\x45\\xd6\\xff\\x01\\x9f\\xba\\xf7\\x76\\x77\\x1a\\xb2\\x27\\x2c\\x21\\x40\\x77\\x48\\xc2\\x62\\x80\\x04\\xc2\\x16\\xd6\\x66\\x49\\x88\\xac\\x01\\x02\\x26\\xac\\x09\\x86\\x00\\xb2\\xcb\\x22\\xa8\\x48\\x54\\xf6\\x45\\x36\\x65\\x47\\xa3\\x02\\xb2\\x29\\x41\\x11\\xd1\\x71\\x14\\x47\\xdc\\x46\\x19\\x99\\x71\\xdf\\x11\\x90\\xe8\\xb8\\x31\\x8c\\x3b\\xd0\\xfd\\x7e\\xea\\x76\\x07\\x03\\xea\\xcc\\x3c\\xef\\xef\\xfd\\xef\\xcd\\x33\\x27\\x75\\x6f\\xd5\\xa9\\xb3\\x7c\\xcf\\xa9\\xaa\\x53\\xdd\\xe1\\x51\\x94\\x88\\xc4\\xf1\\xcb\\x92\\x8c\\x9c\\x9c\\xfc\\xfe\\xc5\\xf1\\x37\\x3e\\x25\\x8e\\xaf\\xce\\xd0\\x5b\\xbf\\x77\\xaf\\xec\\x9c\\xf9\\xaf\\xce\\x72\\x8b\\xa3\\xbc\\x03\\xef\\x4b\\x7b\\xe7\\x0d\\x1c\\xf2\\x8f\\xe2\\x82\\x89\\xe2\\xd8\\xb3\\x46\\xa4\\xe7\\xe0\\xde\\x43\\x86\\xf6\\xe8\\xff\\x72\\xf3\\x58\\xc6\\x8f\\x8a\\x84\\x9d\\x18\\x38\\x24\\xbd\\xb5\\xb9\\xf4\\xc5\\x72\\x11\\x75\\x04\\xfe\\xa2\\xeb\\xa7\\x14\\x4f\\x4f\\x5a\\x9e\\xfd\\x27\\x91\\x6b\\x0a\\x44\\x9c\\xed\\xae\\x9f\\x33\\xcb\\x3b\\x3a\\x71\\x70\\x2b\\x91\\x4e\\x6f\\x8a\\x18\\xff\\x28\\x9d\\x3e\\x7e\\xca\\x6d\\xc5\\x87\\x63\\x44\\x32\\x90\\xe7\\x3a\\x34\\xbe\\x78\\xe6\\x74\\xa9\\x27\\x5a\\x5f\\x53\\xe6\\x47\\x8f\\x9f\\x3c\\xaf\\xd4\\x7a\\x7b\\xec\\x8b\\x22\\xa5\\x5f\\x89\\x75\\xf0\\xe2\\x84\\x71\\xc5\\x25\\xd2\\x61\\xe1\\x05\\xe4\\x77\\x66\\xbc\\xdd\\x04\\x3a\\x22\\x46\\x44\\x7c\\xc2\\xfb\\x2c\\xde\\x53\\x26\\x4c\\x99\\x35\\xf7\\xad\\x41\\xe7\\xef\\x47\\x76\\x5d\\x91\\xa6\\xbe\\x49\\xe3\\x6e\\x9c\\xda\\x7a\\x7f\\x6f\\x8f\\x38\\xea\\x7e\\x2e\\x12\\x5f\\x32\\x79\\xda\\xf5\\xc5\\x09\\x6f\\x6d\\x28\\x11\\xe9\\xba\\x9b\\xf1\\x5e\\x53\\x8a\\xe7\\x4e\\x8f\\xd8\\xee\\x78\\x8b\\xf9\\x9b\\x98\\xef\\x9d\\x5a\\x3c\\x65\\x5c\\xbb\\x8e\\xf3\\x22\\xc4\\xd1\\xa2\\x9f\\x48\\xcd\\x07\\xa7\\x4f\\x9b\\x39\\xeb\\x4f\\xef\\xdf\\xb9\\x48\\x1c\\x1d\\xce\\x89\\x8c\\x6f\\x3f\\xfd\\xc6\\x71\\xd3\\xd5\\xf8\\x7b\\x9c\\x22\\x1d\\x7a\\x89\\x98\\x6b\\x6c\\xec\\x0c\\x91\\xa8\\x1f\\x5b\\xe6\\x8d\\x89\\xea\\xfc\\xbd\\xe1\\x09\\x13\\xfd\\xf3\\xda\\xfa\\x06\\xb9\\x55\\xed\\x85\\x5d\\x97\\xd6\\xd7\\xe8\\xe8\\x7a\\x9f\\x57\\x3d\\xa8\\x6c\\x06\\x7e\\xbb\\x92\\xfc\\xd9\\x72\\x5d\\x8d\\xbd\\x17\\x76\\xfd\\xf2\\x49\\x8d\\x8e\\xa1\\xfe\\xcb\\x3f\\x35\\xa2\\x75\\x4f\\x8d\\x68\\x35\\x58\\xf2\\x65\\x85\\x38\\xd1\\x12\\x2d\\xe9\\x32\\x12\\x75\\xcf\\x9b\\x2f\\x8a\\xc9\\xa8\\x69\\x95\\xa8\\x35\\xe2\\x10\\x71\\x6c\\x71\\x64\\x22\\x32\\x35\\xd8\\x9a\\xe5\\x52\\xa2\\x76\\x28\\x87\\x61\\x38\\x4d\\x87\\xe5\\x30\\x4c\\xeb\\xa4\\xd4\\x08\\xe4\\xc9\\xdc\\x00\\x62\\x93\\xb4\\xec\\x56\\xdd\\x87\\xf4\\x14\\x9f\\x78\\x03\\x17\\x1d\\x2b\\xfd\\x39\\x2a\\xd3\\x95\\xa4\\xfe\\x54\\x24\\xea\\xd9\\x4f\\x7e\\x64\\xf6\\x7e\\x47\\x17\\x8d\\x84\\x44\\x3a\\xb3\\x82\\x96\\x18\\x55\\xb4\\x57\\x3e\\x30\\x7b\\xc9\\x02\\x4b\\x24\\x15\\x2a\\x70\\xee\\x95\\x1c\\x78\\x06\\xa8\\x19\\x32\\x8c\\xb1\\xe1\\x50\\x0f\\xfa\\x4b\\xac\\x3b\\xa5\\x14\\xfe\\x01\\xbc\\xf7\\xa3\\x5d\\x62\\x64\\xe9\\xd4\\x92\\x01\\xd0\\x21\\x68\\x38\\x34\\x16\\x6a\\x0a\\xdd\\xa4\\xe5\\x40\\x4b\\x42\\xe3\\x3d\\xe0\\x7d\\x00\\xba\\x41\\xcb\\x08\\xd1\\x04\\x73\\x95\\xdc\\xe0\\x1a\\x2d\\x53\\x1c\\x2f\\x49\\xbc\\x63\\x98\\x74\\x82\\xf2\\x79\\xee\\x64\\x9d\\x86\\x66\\xf2\\xfe\\x52\\xf0\\x1d\\x7d\\x7d\\xcc\\x06\\x92\\x56\\x35\\xe6\\x6a\\x60\\x8f\\xd9\\xe3\\x97\\xf9\\x86\\xd9\\x73\\x96\\x31\\x9e\\xca\\xbb\\xe6\\xad\\xe3\\x5a\\x25\\x06\\x6d\\x0b\\xfd\\x4c\\xff\\x58\\xe4\\x6c\\xd2\\x36\\xdb\\xf2\\x9e\\x93\\x06\\x96\\x04\\xce\\xf1\\x7c\\x13\\x76\\xe4\\x62\\xa3\\xd0\\x6a\\x5b\\xfb\\xd0\\xe6\\xd1\\xdf\\x2d\\xe4\\x43\\x3c\\x73\\xd2\\x8c\\xac\\xc0\\x0b\\x3c\\x37\\xe1\\xb9\\x19\\xd8\\xa4\\xf1\\x9c\\x1e\\xf2\\x2d\\x49\\xcf\\x81\\xbf\\x19\\x36\\xe6\\x33\\x1e\\xcf\\x7b\\xa2\\x96\\x87\\x5e\\x83\\x36\\x16\\x4a\\x40\\x66\\x7b\\xf3\\x1d\\x79\\x4a\\x6d\\x91\\x2d\\xba\\xb5\\xf2\\x25\\xab\\x0a\\x7b\\xc6\\x35\\xf6\\xf3\\xa0\\x22\\xc8\\xd0\\x3c\\xb4\\x0f\\x68\\x1b\\x9c\\xf1\\x52\\x60\\xb4\\x95\\x64\\xde\\x67\\xdb\\xf8\\x83\\xbd\\xee\\xc3\\xf6\\x6f\\xcd\\x4c\\xf0\\x2e\\x91\\xa1\\x46\\xa9\\xf4\\x82\\xd2\\x18\\xdb\\x66\\x6d\\x93\\x1e\\xe4\\x49\\x18\\xcf\\x1f\\x42\\xab\\xe9\\xef\\x61\\xdc\\x62\\xc7\\x75\\x30\\xc9\\xdd\\x23\\x44\\xda\\xc7\\x7c\\x1b\\xf7\\xdf\\x21\\xf0\\xd5\\xf1\\xc8\\xb7\\xe3\\x50\\x8d\\x90\\xd7\\x4e\\x63\\x07\\xc5\\x6a\\xdb\\xe0\\x6d\\x5b\\x15\\x87\\xab\\x09\\x5b\\x1f\\x08\\x3d\\xa7\\x5d\\x45\\x75\\x88\\x93\\xc6\\x3b\\x5e\\xe3\\xfe\\x7b\\x84\\x6e\\xdd\\x0e\\xd0\\x71\\xa8\\x4e\\x60\\x5b\\x3b\\x14\\x8b\\x77\\xa1\\x5f\\x42\\xf8\\x57\\xc5\\xe1\\x4a\\x02\\x17\\xda\\x9c\\x50\\x2c\\xaa\\x53\\x02\\x14\\xa9\\x5b\\xed\\xab\\xad\\xef\\xea\\x16\\xdf\\xb5\\xfe\\x3f\\x6c\\xb5\\xcf\\xcd\\xa5\\x8f\\xf6\\x5f\\xc7\\x5e\\x63\\xa3\\xed\\xfb\\x6f\\xad\\x8d\\x0b\\x39\\xf5\\x1f\\xda\\x4e\\x1a\\x97\\xaa\\xd6\\xc6\\x39\\x2b\\xf0\\x3e\\x6d\\x22\\xed\\x19\\x1b\\xff\\xac\\x40\\xc0\\x8e\\x41\\x96\\x1d\\x6f\\xbb\\x75\\xec\\xc3\\x86\\x49\\x92\\xa6\\xd7\\x88\\xce\\xd3\\xd0\\xfc\\x26\\x36\\xe9\\xb8\\x91\\xb3\\xd5\\x5b\\xd3\\x27\\xbd\\xed\\xf7\\xa3\\xf6\\x7b\\x9a\\xce\\xd9\\xd0\\x9c\\xf4\\xab\\x5b\\xeb\\x2d\\xd6\\xd0\\x76\\xe6\\x7c\\x6f\\xf7\\x69\\x3b\\x07\\x5c\\xdd\\x92\\x2f\\x3a\\xce\\x1a\\x1f\\x9d\\x23\\xcd\\xae\\x6a\\x63\\xf5\\xba\\xd4\\x6b\\x23\\xd4\\xf6\\xb9\\xea\\x5d\\xe7\\x59\\xaa\\xbd\\x6e\\x68\\xcd\\x49\\xc1\\x36\\x64\\x93\\x5e\\x67\\x89\\xff\\x6b\\x1b\\x5a\\xef\\x86\\x9d\\x63\\xc1\\xf8\\xda\\xeb\\x5e\\xaf\\xbd\\xab\\x5b\\xe4\\xb7\\x62\\x0d\\x5d\\x60\\x2d\\xa5\\x5a\\x9b\\x6c\\x5f\\x97\\xd1\\xa6\\xd8\\xeb\\x76\\x98\\xcc\\xa8\\x16\\xeb\\xb6\\xce\\x45\\xc4\\x79\\x93\\xf4\\x64\\xac\\x97\\xf9\\x02\\xfb\\xc2\\x69\\x29\\xb5\\x7d\\x37\\x64\\x94\\x35\\x33\\xa0\\xf7\\xba\\xe7\\x43\\xb9\\x5e\\xc7\\xd9\\x8c\\xb8\\xb9\\x02\\x7e\\xfc\\x4e\\x0e\\x61\\xa8\\x71\\x4f\\x32\\x3f\\x95\\x76\\xce\\xa5\\xda\\xa6\\xc0\\x84\\x10\\xbe\\xc1\\x75\\xd2\\x09\\xfc\\x4a\\xc9\\xa5\\xa5\\xe8\\xca\\x94\\x2e\\xf6\\x7e\\x32\\xd3\\xde\\xcb\\x6e\\x05\\x9b\\xee\\xd6\\x6e\\xf2\\xfe\\xa8\\x58\\x21\\x7c\\xc2\\xaa\\x70\\x72\\xb6\\xc5\\xe7\\x61\\xf8\\x7e\\x5e\\x6e\\xd0\\xfe\\x3b\\xbb\\x05\\x7d\\xbe\\xec\\x67\\x1e\\xe3\\x79\\xd2\\x8d\\xe7\\x1c\\x3b\\x07\\x83\\xfb\\xf3\\x35\\xe6\\x4a\\x69\\x63\\x16\\x49\\x4b\\x7c\\xff\\x99\\x7d\\x66\\x9b\\xd1\\x4d\\x96\\x2a\\xbf\\x44\\xe8\\x7d\\xa8\\xc6\\x5e\\xe9\\xe4\\xce\\x67\\x7f\\x5d\\x25\\x7d\\x38\\xd0\\x3a\\xb9\\xea\\x63\\xc7\\x8d\\xd2\\x2c\\xec\\x8c\\x74\\xd2\\xef\\xec\\x7b\\xe9\\x55\\x6b\\x24\\x94\\x9b\\x1f\\x55\\xcb\\x85\\xff\\x29\\x46\\xcc\\xed\\x7d\\xf5\\x7a\\x0b\\xed\\x37\\xb9\\x21\\x59\\x72\\xd5\\x7a\\x68\\x72\\x75\\xbe\\x69\\xdf\\x98\\x97\\xa4\\x73\\xbd\\xba\\xcd\\x55\\xf3\\x5c\\x9b\\x99\\x77\\x8b\\x34\\xaa\\x96\\xcb\\xbf\\xa7\\x27\\x27\\xd4\\xdf\\xa4\\x6a\\xfc\\xea\\xf5\\x6a\\xec\\x0d\\x1c\\x47\\x47\\x59\\x68\\xdd\\x9d\\xfb\\x4d\\xfe\\xdb\\xf9\\x1d\\xb8\\xfb\\x72\\xbe\\x5f\\xe5\\xeb\\x6f\\xf2\\xfb\\x76\\xe9\\x6b\\x36\\x93\\xfe\\x97\\xd7\\x79\\xa6\\xdd\\xf6\\xb1\\xde\\xb4\\xf7\\xc3\\x01\\x55\\xb1\\xbb\\xda\\x9e\\x3f\\x5a\\x77\\xd5\\x5a\\x3b\\xf6\\xf6\\xfa\\xc6\\x5f\\x63\\x99\\xc4\\x69\\x6c\\x9c\\xad\\xa4\\x8f\\xb3\\xa5\\x8d\\x4b\\x70\\x3f\\xd7\\xe7\\xcc\\x69\\x7b\\xcd\\xa7\\x6a\\xbb\\xec\\x3c\\xc9\\x96\\x7b\\xcd\\x96\\xf6\\x5a\\x6d\\x67\\xef\\xcf\\xc7\\xed\\xfc\\xb2\\xf5\\x5e\\xde\\x4f\\xee\\xb5\\xe7\\xf6\\xa9\\xe6\\x67\\x9d\\xd0\\x99\\x56\\xdf\\x4a\\xc7\\xfe\\x74\\xdb\\xfe\\x65\\xbc\\x77\\x0b\\x9d\\xa5\\x7d\\x42\\xe7\\x68\\x6f\\x3b\\xde\\x16\\xb2\\x46\\xca\\x40\\xa8\\x93\\x75\\x08\\xd9\\x2b\\x38\\xaf\\xf6\\x06\\x96\\x5c\\xe6\\x2b\\xb7\\x71\\xd0\\xe7\\xaf\\x84\\xf6\\x68\\xed\\x47\\x33\\xfc\\xa9\\x63\\x34\\x91\\x16\\xb4\\xc3\\x20\\xdb\\x3f\\xdb\\xc7\\xfb\\xec\\x33\\xd8\\x1b\\x22\\xb0\\x0e\\xac\\xd4\\x7e\\x9b\\xbf\\x48\\x9c\\x8d\\x47\\x0d\\xc9\\x76\\xf4\\x92\\xbe\\xd6\\x14\\xbb\\x56\\x89\\xad\\x46\\xcd\\x42\\x94\\x08\\x75\\x34\\x2b\\xc1\\xa1\\x32\\x88\\x05\\xf6\\x9c\\xd4\\x64\\xce\\xb7\\xdb\\xd7\\x75\\xbc\\x2e\\x9f\\xe5\\x25\\x52\\x60\\xfe\\xe5\\xf2\\x99\\x8e\\x3b\\x12\\x6d\\xfe\\x4b\\x9c\\xf6\\x99\\xfe\\x23\\x44\\x2e\\x42\\xb1\\x50\\x09\\xd4\\x2b\\xd4\\xda\\xf1\\x31\\x5f\\x42\\x3e\\xfe\\xda\\x3e\\xe6\\xea\\x3c\\x08\\xec\\x60\\xbe\\xdb\\x9c\\x6e\\x9f\\xc9\\x7d\\xaa\\xe6\\x38\\x27\\x11\\xab\\xbf\\x40\\x6f\\x80\\xc9\\x22\\xe2\\xff\\x08\\x31\\x6b\\x25\\xf1\\xce\\xfe\\xec\\x37\\x4b\\xf0\\xf9\\x66\\xa8\\x01\\x7a\\xde\\x93\\xce\\x56\\x40\\x8a\\xad\\xaf\\xa5\\xd8\\x58\\x27\\x8d\\xa1\\x4c\\xd5\\x35\\xf0\\xa3\\xfa\\x33\\xed\\x9f\\x25\\x5e\\x93\\x51\\x08\\xdf\\x14\\xf6\\xa0\\x22\\x71\\xaa\\xa3\\x32\\xce\\xf8\\x4a\\xa6\\xe1\\xef\\x0b\\xd0\\xa1\\x50\\xfb\\x2f\\x4d\\xea\\xa2\\x78\\xa1\\x86\\x9c\\xd5\\xd7\\xeb\\x7a\\x0c\\x1a\\xa2\\xe9\\x57\\xbc\\x54\\xc3\\x10\\x56\\xdb\\x74\\x9d\\x54\\xed\\xfd\\x26\\x9b\\xb2\\xe4\\x61\\x9b\\x42\\xf2\\x42\\xf2\\xab\\x48\\xf3\\xb5\\x85\\xbe\\x84\\x96\\x41\\xf3\\x83\\x32\\x03\\x3f\\x41\\xdf\\x98\\x91\\xe4\\x69\\x81\\x38\\x54\\xbe\\xd4\\x53\\x8f\\x49\\x3d\\x23\\x8f\\xba\\x07\\x5b\\xcc\\x68\\xd9\\x70\\x35\\x31\\x6f\\x6c\\x88\\x62\\xb4\\x5c\\xf0\\xd2\\x75\\xe9\\xda\\x10\\x7d\\x10\\xa2\\xe5\\x41\\xbb\\x02\\x47\\x83\\x3a\\xf4\\xfe\\x74\\x85\\x3d\\x36\\x91\\xeb\\x8d\\x35\\xf1\\x1c\\x2f\\x72\\xe9\\x6b\\x11\\x3f\\xf5\\xbc\\xff\\x69\\x42\\x1b\\x4b\\xcb\\x7d\\xe4\\x92\\x9f\\xf6\\x53\\x91\\xc0\\xdd\\xb4\\xff\\x84\\xea\\xf0\\xdc\\x96\\xf6\\xc1\\x20\\x5f\\xe0\\x15\\x68\\x18\\xcf\\x87\\x83\\x7c\\x36\\xef\\x9a\\x5f\\x49\\xff\\x04\\xda\\x84\\x68\\x70\\x90\\xfc\\xab\\x69\\xb9\\x67\\x04\\xb6\\x42\\x63\\x7e\\x25\\xad\\xcf\\xff\\x55\\x68\\xce\\x7a\\x9e\\xbf\\x0c\\xea\\x0a\\x2c\\x86\\x7c\\x50\\x56\\x50\\x9f\\x9e\\xef\\x5f\\x17\\xd4\\x6f\\x53\\x48\\xaf\\xfd\\x1c\\xb2\\xd9\\xb6\\xbb\\xda\\xbb\\xdf\\x0b\\xbd\\x1e\\xd4\\xe9\\x5f\\x49\\x3b\\x94\\x76\\x23\\x6d\\x32\\x74\\x4f\\x88\\x67\\x7c\\x50\\xb7\\xed\\x17\\xb6\\xfb\\xb9\\x6f\\x05\\xee\\x08\\xea\\xd3\\xe3\\xda\\x4f\\xdb\\xce\\xa7\\x7f\\xa5\\x80\\x09\\x0d\\x62\\xdc\\x43\\xbb\\x28\\x24\\xff\\xd3\\x90\\xdc\\x45\\x41\\xf2\\x3f\\x1c\\xec\\x17\\x6e\\x26\\x81\\x8c\\xa0\\xed\\x81\\xae\\xd0\\xab\\x57\\xd1\\x13\\xa1\\x76\\x08\\x14\\x01\\x35\\x80\\xa6\\xc2\\x7f\\x11\\x3a\\xc9\\x73\\xbd\\x20\\x26\\xfe\\x0f\\x20\\x8d\\x45\\x76\\xc8\\x9e\\xe3\\x90\\xae\\x8b\\xde\\x81\\xde\\x80\\x8e\\x87\\xf6\\x1e\\x9f\\x5e\\x77\\xfa\\x9e\\x11\\x1a\\xcb\\xd4\\x7b\\x1f\\xef\\x4b\\x1c\\xab\\x02\\x47\\x9c\\x37\\x05\\x8e\\x98\\x7d\\x02\\x47\\x38\\x83\\x8f\\x39\\x97\\x04\\xfe\\xec\\x38\\x1f\\x38\\x66\\x34\\x09\\xfc\\x58\\x75\\xff\\xb0\\x58\\xa3\\x8e\\x54\\x7b\\x1f\\xd6\\xf5\\xee\\xd8\\xaa\\xda\\x56\\xd7\\x59\\xf6\\xf3\\x71\\xbb\\x36\\x0e\\xde\\x3d\\x52\\x65\\x6a\\xd5\\xfd\\xc4\\x3e\\xaf\\x77\\xdb\\xe7\\x86\\xbe\\x7b\\xd4\\x71\\xbc\\x27\\x5d\\xed\\x7b\\x47\\xa5\\x38\\xf5\\xf9\\x1c\\xaa\\x95\\xeb\\x58\\xad\\xa8\\x69\\xd9\\x07\\xd9\\x2f\\xbd\\x7a\\x5f\\x33\\x7f\\x60\\x4f\\xa1\\xcf\\x8a\\x95\\x85\\xe6\\xb2\\xc0\\x25\\x6a\\x8b\\xfe\\xf6\\x3e\\x99\\x27\\x85\\x9a\\xc7\\x7c\\x4b\\x8a\\x34\\x9f\\x15\\x26\\x4d\\x74\\xfd\\x60\\xf5\\x91\\x5d\\xe6\\xbd\\xe2\\x30\\xd7\\xda\\x67\\xf9\\x00\\xab\\x86\\xd4\\x37\\xfd\\xcc\\x4d\\x63\\xaf\\xcb\\x43\\x76\\xfb\\x90\\xcc\\x7b\\x91\\xb1\\x2a\\xe0\\x77\\x18\\x9c\\x45\\xbd\\x38\\xc7\\x9a\\x04\\xfe\\x65\\xf7\\x33\\x47\\xb7\\xba\\xcf\\xd6\\xf9\\x43\\xf0\\xac\\x72\\x79\\x44\\xd9\\x67\\x56\\x3b\\x7b\\xdf\\x14\\xce\\xce\\x06\\xd5\\xce\\xb8\\x7c\\x6c\\xea\\xab\\x7d\\x34\\xd7\\x8b\\xc7\\xda\\xca\\xbc\\x6d\\xd4\\x1c\\xef\\x4b\\x0d\\x8b\\x48\\x39\\xcb\\x25\\x41\\xef\\xc3\\xec\\x47\\x39\\x56\\x1a\\xf3\\xfb\\x48\\x3f\\x62\\xe0\\xa0\\x36\\xb9\\x0e\\x3a\\xe6\\xf0\\x51\\x37\\xed\\x92\\xee\\x8e\\x4d\\x8c\\xc7\\xa2\\xff\\x38\\x6b\\xbc\\xb6\\xd4\\xd3\\x3a\\x78\\x2f\\x0a\\xc6\\xcb\\xae\\x59\\xf3\\xcd\\x2e\\x8c\\x77\\xc1\\x8e\\xe0\\xfd\\x20\\x52\\xeb\\xb6\\xf1\\xe6\\x7e\\x8c\\x9f\\x35\\xaa\\xea\\x32\\xdd\\x56\\xdd\\x49\\x9c\\x16\\xfb\\xa8\\x8e\\x5b\\x6e\\xb0\\x9e\\x0c\\xdd\\x4f\\xba\\xe9\\xb3\\xcb\\xc9\\x79\\x00\\x75\\x72\\x7c\\x43\\x5c\\x86\\x85\\xe2\\xb6\\x17\\x5b\\x82\\x71\\x8d\\xd7\\x75\\xdf\\xe5\\xb8\\xcf\\xe6\\x4e\\xa0\\xef\\x96\\x69\\xf8\\x6f\\x48\\x71\\x88\\xc7\\x1e\\x77\\x4c\\x91\\xb8\\xea\\x77\\xce\\xaa\\x98\\x87\\xee\\x48\\xa9\\x5a\\xa6\\x73\\xb0\\x0c\\x09\\xdd\\x35\\x3b\\x71\\xae\\xd7\\x0a\\x8b\\xa5\\x66\\x82\\x1c\\xbb\\xa4\\x8b\\xb6\\xc1\\xd6\\x95\\x2b\\x33\\xc2\\xb2\\xec\\x79\\x61\\xf6\\x39\\xa9\\xfd\\xd7\\xe7\\x03\\xe7\\x02\\xcf\\x62\\x9f\\xf5\\x4b\\x02\\x3f\\x51\\x23\\x74\\xd4\\x67\\x85\\x26\\x53\\x9f\\xd5\\x7e\\xf2\\x13\\x0c\\xec\\x3e\\x1d\\xf7\\x60\\x9b\\x64\\xdf\\x91\\x16\\xb0\\x7f\\xeb\\x5a\\x37\\x9d\\x18\\xe9\\xbb\\xa6\\x1e\\x73\\x8a\\x87\\x3a\\x34\\x59\\x93\\x95\\x2c\\x29\\x8e\\x22\\x64\\xec\\x82\\xa6\\x11\\x9f\\x5f\\x24\\x85\\xb3\\xc5\\x79\\xf9\\x5e\\xf5\\x11\\x67\\x4d\\xae\\x3d\\x36\\x20\\x74\\x7f\\xd5\\xf7\\x01\\xb7\\x1d\\x93\\xbf\\xa3\\xf7\\x15\\x5b\\x57\\xbc\\xb6\\x23\\xa4\\x37\\x81\\x36\\xc5\\x5d\\x2c\\x45\\x8e\\x18\\xc6\\x47\\x4b\\x5d\\xab\\x40\\xea\\xb9\\x9e\\x61\\x8d\\x4c\\x92\\x8e\\x36\\xae\\x47\\x24\\x26\\xac\\x27\\x67\\xd9\\x7e\\xe9\\x08\\x9e\\xad\\x1c\\x4b\\xa4\\xb5\\x9b\\x3b\\x8a\\xeb\\x16\\xfc\\x32\\x44\\xe1\\x9f\\x38\\x2a\\x03\\x9f\\x93\\x9f\\x91\\x55\\x79\\xe6\\xbc\\x83\\xf5\\xc1\\x8e\\x5a\\xd5\\x86\\x3d\\x4f\\xec\\x6b\\xd0\\x5f\\x0f\\x9c\\x96\\x48\\x8e\\xfb\\x90\\x2c\\x75\\x0e\\x93\\xec\\xcb\\x7a\\x83\\xf5\\x79\\x8e\\xb1\\x5f\\xd8\\x33\\xfc\\x15\\xd0\\x96\\x5f\\xf7\\xe0\\x4b\\x3b\\x44\\x2e\\x12\\xc9\\x8b\\x19\\x76\\xac\\x72\\x83\\x35\\xbe\\xf9\\x3c\\x6b\\x69\\xa6\\x5d\\x6b\\x24\\x99\\x5b\\xa8\\x65\\x5e\\x27\\xd7\\x88\\xbd\\xf6\\xdf\\x11\\x41\\xbf\\x47\\x52\\x75\\xfc\\x75\\x0c\\x74\\x0e\\xe8\\x38\\xe8\\xf8\\x6b\\xdf\\xaf\\x6e\\x9d\\xd7\\x22\\x73\\x83\\x34\\xac\\x92\\xef\\xfc\\x1b\\xed\\x45\\x49\\x0d\\xeb\\x41\\x4e\\xe6\\x49\\x67\\xf8\\x06\\x63\\x5f\\x66\\xd5\\x3d\\xc2\\xae\\xb9\\x16\\xd8\\xfc\\x75\\x42\\x75\\x44\\x55\\xdb\\x42\\xc7\\xcd\\x59\\x24\\xd7\\x58\\x6f\\x90\\x3f\\xe4\\x8e\\x8e\\x5f\\xb5\\xd6\\xae\\x15\\x5d\\x2e\\x89\\xb6\\xc6\\x48\\x58\\x55\\xab\\xf3\\xbc\\xca\\x56\\x3b\\x87\\xb1\\x5d\\xe7\\xa9\\x9d\\x2b\\x21\\x9b\\x2e\\xb7\\x21\\x59\\x55\\x6b\\x49\\xd7\\x50\\x7f\\x54\\x83\\x57\\xaf\\x39\\x43\\xb5\\xba\\xdd\\x5e\\x8d\\x0b\\xad\\xee\\x4f\\xfa\\x8d\\xae\\x3f\\xaa\\x51\\xc9\\x7d\\x3b\\xff\\x58\\x2b\\x76\\xbe\\x5e\\xdd\\x86\\x6c\\xac\\x8a\\x87\\xbd\\x6e\\x8b\\x82\\x6b\\xdb\\x0c\\xca\\xb5\\x71\\xaa\\x6a\\x89\\x67\\x2f\\x5d\\x3f\\x39\\xa7\\x52\\x3b\\x5d\\x43\\x3b\\x49\\xa6\\x38\\x76\\x4a\\xa9\\xb5\\x51\\xa6\\x9a\\xf7\\x49\\xa9\\xab\\x3b\\x6b\\xdf\\x02\\x37\\xee\\x02\\xd4\\x50\\x8d\\x6c\\x3f\\xca\\xb1\\x63\\x2d\\x32\\x4f\\xb0\\x66\\xb8\\xbb\\xe1\\x47\\x76\\x35\\xcc\\xec\\x1a\\xb7\\xea\\x0e\\x49\\x1e\\xb1\\x13\\x0a\\x5e\\x07\\xa6\\xd0\\x8e\\xd6\\x9f\\x79\\xf2\\x3c\\x00\\x9a\\x40\\xae\\xbd\\x05\\x1d\\x09\\x9d\\xdb\\xcd\\x7e\\xfd\\x6c\\x4f\\xf7\\xf9\\x9b\\xf0\\xa0\\xcf\\xb1\\x91\\x41\\x19\\x01\\xea\\x8b\\x00\\xf3\\x03\\x37\\x04\\xc7\\x03\\x63\\x83\\x63\\x9a\\xcf\\x1e\\x1f\\x1d\\xe4\\xd1\\x3f\\x97\\xf6\\xf2\\xdc\\x05\\xd2\\xf9\\xfc\\x06\\x74\\x3e\\x48\\xfa\\xdd\\xee\\xef\\x12\\x92\\x3b\\x32\\xd4\\xa7\\x29\\x36\\xd4\\xbe\\x42\\xad\\xa4\\xcf\\xdf\\x91\\xd6\\xed\\xea\\xbb\\xaa\\x71\\xfd\\xb9\\xdb\\xe5\\xe7\\x2d\\x72\\x27\\x4a\\xda\\x5a\\xc7\\xd9\\x77\\x3e\\xa0\\x3e\\xdb\\x41\\x1d\\xfb\\x1e\\xeb\\x79\\x8b\\x94\\x1a\\xe1\\xd4\\xd7\\x9d\\xe4\\x26\\xeb\\x69\\x59\\xc1\\x9d\\x7f\\x98\\x91\\x20\\x99\\xe6\\x37\\xd4\\xf8\\x5f\\x48\\x03\\xf3\\x99\\xc0\\x77\\x96\\x5f\\xca\\xad\\x67\\x24\\xcb\\xa8\\x21\\x5d\\x90\\x13\\x6d\\xad\\x92\\xb1\\xac\\xcb\\x4c\\x2b\\x55\\x86\\x71\\x86\\x75\\x61\\xef\\x9f\\x46\\xdb\\x8a\\x1c\\xb8\\x49\\xcf\\x23\\xae\\x03\\xac\\x4f\\xb9\\xa7\\x69\\x19\\x3f\\x21\\xeb\\x0b\\xea\\xd3\\xf7\\xd8\\x63\\x58\\xd3\\x96\\x03\\x8c\\x9b\\x89\\x69\\x7f\\xce\\x73\\x84\\x75\\xf1\\x06\\xf7\\xd1\\xd6\\xc4\\x05\\x32\\xef\\x82\\xc8\\x2f\\x7b\\x1f\\x1a\\x83\\x9e\\x41\\xbc\\xaf\\x96\\xfa\\xd5\\xf7\\x3f\\xf8\\x3b\\x5b\\x43\\xa5\\xab\\xd5\\x9f\\x3c\\x1c\\x6a\\x9f\\x5d\\x03\\xcc\\xdb\\xb8\\xcb\\x84\\x3e\\xfb\\xb1\\xf7\\x3a\\xbd\\xc7\\x69\\xd2\\xfb\\x63\\x3f\\xc9\\xe2\\xac\\x4c\\x75\\x74\\xc1\\x77\\xb7\\x2d\\xc3\\xfe\\x6c\\xce\\xae\\xdf\\xd1\\x45\\x3d\\xd8\\xc5\\x1a\\xc8\\x5d\\x25\\x28\\x5f\\xec\\x7d\\x17\\x19\\x56\\x47\\xe6\\x93\\x1b\\x66\\x51\\x20\\x60\\x0d\\xe0\\x7c\\xae\\x2b\\xcd\\xa1\\x86\\xd4\\xee\\xd7\\x18\\x3f\\x60\\xdf\\x0f\\xd2\\xc5\\x9c\\xc3\\x99\\xbb\\x58\\xae\\x51\\x9b\\x25\\x4d\\xfd\\x4c\\x6d\\xba\\x97\\xfe\\x9f\\xd0\\x33\\x58\\x9a\\x99\\x8f\\x49\\x77\\x73\\x09\\x77\\xee\\x02\\x69\\x64\\x54\\x48\\xb4\\xf1\\x10\\xcf\\xbd\\x99\\x7b\\x16\\xdc\\xcb\\xf1\\x79\\x6a\\xe0\\x7b\\x23\\x83\\x5a\\x54\\xd3\\x9d\\x9c\\xf1\\x1e\\x69\\x68\\xdc\\x2c\\x1e\\x63\\xbe\\x34\\x31\\x22\\x24\\x45\\x93\\xfa\\x56\\xea\\x43\\x49\\xc6\\x04\\x69\\xa2\\x06\\x8a\\xcb\\x58\\x8c\\x6d\\x5f\\x48\\x2b\\xa3\\xbb\\x64\\x1a\\x03\\xb8\\x4f\\x84\\x53\\x4b\\x0c\\x90\\x64\\x9b\\xe6\\x4b\\x0b\\xb5\\x94\\xf6\\x3e\\xe6\\xdf\\x68\\xc7\\xae\\xb9\\x31\\x3c\\xf0\\x8b\\xb1\\x8a\\xb6\\x07\\xfc\\x1e\\xa9\\x69\\xa4\\x21\\xf7\\x61\\x78\\x7a\\x48\\x2c\\xf2\\xea\\xa9\\xb7\\xe9\\xbf\\x4f\\x5a\\xc2\\x77\\x81\\xbe\\xb6\\xf0\\x44\\x18\\xa3\\xb1\\xe7\\x61\\xf8\\x7a\\xb0\\x86\\x6a\\xeb\\xba\\x21\\xb0\\xcf\\xb2\\x3f\\xe3\\x0c\\x9c\\xe3\\xac\\xd7\\x77\\xac\\x18\\xfa\\x76\\xf3\\x4e\\xed\\x4f\\x4d\\xd5\\x00\\xbb\\xb3\\x02\\x3b\\xed\\xfb\\xa4\\x48\\x3f\\x63\\x03\\xf1\\x7e\\x81\\x73\\x2f\\x89\\x7a\\x5d\\xc7\\xb1\\x89\\x7d\\x1f\\x4e\\xb2\\xe3\\x50\\x22\\xb5\\x6d\\x8c\\x83\\x9f\\x99\\x76\\xb3\\x5e\\xb4\\x3f\\x63\\xbd\\xfa\\x73\\xd5\\xa4\\xaa\\xcf\\x53\\xcd\\x71\\x81\\x93\\x21\\xfe\\x58\\x3b\\x5e\\xfa\\xdc\\x4c\\xbf\\x7c\\xbf\\xbc\\x7c\\xaf\\xd4\\x7b\\x94\\xd6\\x65\\x9f\\x89\\x0b\\xa9\\x4d\\x82\\x9f\\x35\\x74\\x04\\xd7\\x2c\\x30\\xf2\\x40\\x89\\x46\\x7f\\xf1\\x80\\xa5\\x47\\xed\\x93\\xa6\\x6a\\x5f\\xe0\\x3d\\x23\\x49\\xea\\x73\\x7f\\x6a\\x04\\x0e\\x11\\x6a\\x36\\x31\\x1c\\x24\\xed\\xa0\\x86\\x6a\\x85\\xd4\\xa6\\x2f\\x41\\xe3\\x63\\x5c\\x23\\xc9\\xe6\\x3d\\xd2\\x0a\\x2c\\xaf\\x31\\xee\\x0b\\x7c\\x0c\\x56\\x1d\\x8c\\xf5\\xc4\\x53\\xe3\\xbd\\x96\\xf8\\x3c\\x26\\x89\\xea\\xc9\\xc0\\x25\\x70\\x6f\\xc8\\x58\\x0b\\xee\\xde\\xcd\\x59\\x1f\\xa9\\xc6\\x10\\xf8\\x35\\xf6\\xad\\x68\\x5b\\x31\\x67\\x2a\\xe4\\xe5\\x3e\\xdb\\x54\\x52\\x59\\xd3\\x4f\\x04\\x29\\x70\\x30\\x78\\x6e\\xd9\\xf7\\x80\\xdf\\x21\\xfb\\x0e\\x60\\xd7\\xd3\\xd5\\x3e\\x9b\\xec\\x14\\xfa\\x8c\\xea\\xea\\xf6\\xf2\\x67\\x93\\xf6\\x5d\\xfd\\xbf\\xb4\\xff\\xeb\\x67\\x96\\xfa\\xbc\\x0c\\xd5\\xaf\\xbf\\xfb\\x19\\xe5\\x1f\\xb5\\xcc\\xa9\\x4d\\x4e\\xbc\\x17\\xfc\\x8c\\x32\\x10\\xa8\\xf6\\x59\\xce\\x15\\xed\\x95\\x9f\\x4f\\x06\\x4e\\x84\\xda\\x33\\xa1\\xf6\\x5d\\x7d\\x66\\xe9\\xbc\\xb8\\xba\\xfd\\xa3\\xcf\\x2b\\xab\\xb5\\xff\\xf1\\x33\\x93\\xaa\\x3a\\xa0\\xaa\\xfd\\x83\\xcf\\x2e\\x53\\x42\\x6d\\xf2\\x6f\\x3e\\xb3\\xfc\\xa3\\xb6\\xda\\x67\\x99\\xbf\\xb6\\x81\\x8b\\xa1\\x77\\xe7\\xff\\xe1\\x33\\xcd\\x2b\\xea\\x84\\xaa\\x73\\xe9\\xbf\\xb5\\x57\\x9f\\x93\\x55\\x9f\\xd5\\xfc\\xd1\\xe7\\xa0\\x56\\xf0\\xfb\\x0d\\x6d\\x97\\x11\\xfa\\x4c\\x27\\x57\\x7f\\x36\\xea\\x78\\x1c\\xfa\\xa3\\xcf\\xc7\\xed\\x36\\xf0\\xed\\x7f\\x1e\\xff\\xef\\xed\\xff\\x96\\x83\\x36\\x76\\xbf\\x3b\\xfe\\x9b\\xcf\\xc1\\xff\\x73\\xcc\\x1b\\xfd\\xc7\\xf1\\x4e\\xff\\x53\\x7b\\x45\\x8c\\xaa\\x3e\\x83\\xfd\\x6f\\xad\\xa3\\xfa\\xe7\\xd1\\xbf\\xd3\\xda\\x77\\xc0\\xff\\x40\\x8e\\xd0\\xf7\\x32\\xce\\x7c\\x51\\xbf\\x47\\xa1\\x3d\\xf0\\x37\\xe4\\xb8\\xc8\\xd9\\x08\\xb9\\x3a\\x5f\\x49\\xfa\\x6e\\xf9\\x9f\\xc8\\x79\\x12\\xb9\\x50\\x98\\xf7\\xf7\\xc9\\xfe\\x4c\\xce\\xa6\\xc0\\x5f\\x83\\x64\\xf7\\x41\\x81\\xd7\\x35\\x51\\x67\\x2b\\x4d\\x0e\\xf3\\xf7\\xc9\\xfa\\xbd\\xef\\x6b\\xf4\\x1d\\x20\\xe4\\x8f\\xeb\\xa7\\x10\\x65\\x04\\x49\\xdf\\x53\\xff\\x13\\xd9\\xb6\\x5e\\xf3\\x2b\\xe9\\xfb\\xed\\x7f\\x22\\xe7\\x02\\xf4\\x40\\xae\\x0b\\x21\\x9a\\x76\\x25\\x55\\xe1\\x5e\\x85\\x63\\x15\\x2e\\x55\\x7e\\x5f\\xae\\x33\\x42\\xfa\\xab\\xe4\\xfe\\xbf\\xc6\\xf1\\xff\\x35\\x2e\\xff\\xbf\\xf2\\xfb\\x3f\\xd9\\x5e\\x9d\\x58\\x77\\x9f\\xe9\\xcf\\x5e\\x42\\xad\\xfe\\x6c\\x2e\\xe6\\xf7\\xec\\xd6\\x39\\xe8\\x8c\\x83\\x3e\\x85\\x7e\\xb4\\xeb\\x35\\xbd\\xa7\\x76\\x0f\\x51\\x0c\\x39\\x73\\x0e\\x7a\\x1b\\xfa\\x25\\x44\\xc7\\x6d\\x0a\\x7e\\x7e\\x98\\x68\\x1e\\x23\\x07\\xde\\x27\\xbf\\xaa\\xcd\\xf9\\x4d\\x1e\\xe8\\xcf\\x41\\xfc\\xc1\\xcf\\x34\\x42\\x9f\\x6b\\xd4\\xd1\\xe4\\x72\\xe3\\x5b\\x26\\x3a\\x57\\xda\\xf3\\x33\\x43\\xf4\\xc6\\xef\\xe2\\x73\\x1c\\xfb\\xd2\\xa1\\x33\\x50\\x6b\\xe6\\x9c\\xbf\\xfc\\x39\\xd2\\x67\\x56\\xe8\\x4b\\xfe\\xaa\\xd6\\xd8\\x17\\xfc\\xee\\x5c\\x0d\\x0d\\xf6\\xd9\\xcf\\x9c\\xe4\\xb2\\xaf\\xea\\x2e\\x10\\x78\\x1b\\xf2\\x42\\xef\\x70\\x7e\\xf7\\xa3\\x5e\\x3a\\xaf\\x29\\x2c\\x44\\xfa\\x7b\\x97\\xd0\\xf7\\xcf\\x55\\x9f\\xcb\\x3e\\xaa\\x9f\\xd9\\xd7\\xf4\\xbe\\x3c\\x2c\\x44\\xfa\\xfb\\x74\\xfd\\x3d\\x74\\x37\\xe3\\xb8\\xcc\\x44\\xef\\x7b\\x21\\x79\\xfd\\x43\\x75\\xbf\\x4d\\x5a\\x2f\\x63\\x2d\\xf4\\x67\\xbd\\xe6\\x50\\x99\\x06\\x79\\x90\\xb5\\x48\\x93\\x75\\x8f\\xfe\\x6c\\x34\\x70\\x4c\\x0d\\xf3\\x6f\\x60\\x8f\\x7c\\xb0\\xda\\xbc\\xe8\\x10\\xc5\\xe8\\x77\\xa3\\x54\\x2c\\x28\\x1d\\x6a\\x0c\\x35\\x32\\x16\\x51\\xdf\\xe8\\xba\\x54\\xd7\\xa1\\xba\\xce\\x1c\\xcc\\x78\\x84\\x34\\xb6\\xbe\\x95\\x96\\xa1\\xcf\\x60\\xf4\\xde\\x59\\x1f\\x9a\\x17\\x3a\\x8f\\x33\\x5c\\x47\\xa5\\x79\\xd8\\x09\\xfb\\xbb\\x18\\xc3\\xfa\\x48\\xee\\xb4\\xea\\xb1\\x77\\x0b\\x77\\xd8\\x97\\xa4\\x91\\x3e\\xff\\xc2\\x82\\x9f\\xeb\\x37\\xe2\\xac\\x6c\\x14\\xfa\\x1c\\x25\\x9e\\xe7\\xe6\\x5a\\x16\\x3e\\x95\\x3a\\xf7\\xc9\\x14\\xf3\\x2d\\x99\\xe7\\x7a\\x80\\x33\\x3e\\x5e\\x0a\\x5c\\xef\\x48\\x91\\x33\\x15\\x39\\xc7\\x79\\x8e\\x0c\\x04\\xf0\\x6b\\x5c\\xe8\\xfb\\xeb\\x5e\\xa1\\x76\\x28\\x74\\x1d\\xa4\\xbf\\xc3\\xef\\x16\\x26\\xea\\x01\\x4b\\x54\\xf4\\xd5\\xad\\x26\\xf3\\x3b\\xee\\x8b\\x9f\\x49\\x0b\\xe7\\x06\\xb9\\xd1\\x71\\x48\\x46\\xea\\xef\\xd2\\x6d\\x4c\\xf4\\xdf\\x28\\x94\\x70\\x4f\\x3f\\x24\\xfd\\x5d\\x6f\\xa9\\x4d\\x8e\\x97\\x54\\x3d\\xa3\\x55\\xe0\\x1e\\xfa\\xb2\\xec\\xef\\x90\\xf5\\xdf\\x2a\\xe8\\xb6\\x04\\x7f\\x8f\\xcb\\x16\\xfb\\xfd\\x2d\\xa3\\x91\\xf5\\x96\\x72\\x38\\xf6\\x05\\x7e\\x70\\xec\\x33\\x56\\x05\\xa9\\xea\\xb9\\x7a\\x7b\\x35\\xa9\\xf7\\x82\\x63\\xba\\xd5\\x54\\x7d\\xec\\xff\\xda\\xff\\xbf\\x10\\xf5\\xc3\\x15\\x64\\xbc\\x45\\x3b\\xde\\x7e\\xe6\\x06\\xcb\\x3d\\xef\\x16\\xc8\\x69\\xbc\\x2d\\x53\\x34\\xe9\\xbc\\x76\\x7d\\xa9\\xee\\x85\\xd6\\x56\\xb5\\xe0\\x16\\x06\\xcf\\x43\\xd6\\x73\\xe4\\xe2\\x5b\\xf2\\x28\\xd4\\x4c\\x13\\xfc\\x33\\xc3\\xd2\\xd4\\xc1\\xb0\\x49\\xea\\xef\\xae\\xa1\\x2a\\xc7\\x29\\xea\\x7d\\x68\\x90\\xe5\\xe3\\xde\\xee\\xe3\\x7e\\x76\\x14\\x9c\\x6a\\xd9\\x7f\\x37\\x72\\xcc\\x69\\xc7\\x40\\x5a\\x93\\x03\\x19\\xa1\\x5a\\x2f\\xd6\\xce\\x81\\x61\\xf6\\x39\\x4e\\xbd\\x11\\xf8\\xf0\\xaa\\xfa\\xb1\\xc9\\xe5\\xef\\xc2\\x5e\\x01\\x77\\x2a\\x61\\xd7\\x45\\x31\\x9c\\x1b\\x25\\xdc\\x7c\\x91\\x5a\\x32\\x07\\x1e\\x7d\\x8f\\xbb\\x57\\x06\\x92\\xe3\\xfa\\xb3\\xe3\\x8e\\xa1\\xcf\\xb7\\x75\\xdd\\xfc\\x0d\\xf3\\x37\\x6b\\xaa\\xf6\\xdd\\x80\\xfe\\xfc\\xb8\\x5c\\x53\\xe8\\x7b\\x81\\x07\\x8c\\x7f\\x73\\xf7\\x99\\x21\\xc3\\x42\\x7f\\xe3\\xd2\\x1a\\x7b\\xba\\x69\\xd2\\xf7\\x5e\\xfd\\xd9\\xbe\\x45\\x6b\\xdf\\x6f\\xf5\\x5d\\x39\\x74\\x47\\xae\\x7e\\x17\\xd6\\xf7\\x5a\\x7d\\xbf\\xb5\\x16\\xc8\\x70\\x7d\\xd7\\xad\\x4e\\x7a\\x4e\\x15\\xfd\\xf6\\x9e\\x1d\\xf8\\xd4\\xe8\\x14\\xf8\\x34\\x78\\xc7\\x0e\\x7c\\x7a\\xc5\\x1d\\x5b\\xdf\\xaf\\xab\\xee\\xd6\\x55\\xf7\\xea\\xdf\\xb9\\x53\\xeb\\xbb\\xba\\x96\\xab\\xe7\\xd9\\x3c\\xc7\\x03\\xdc\\xf7\\x2f\\x7e\\x01\\x06\\x97\\x68\\x2f\\x4a\\x68\\x8f\\xd2\\x3f\\xe4\\x6d\\x7d\\xd6\\xff\\x67\\xaa\\x97\\xb4\\xd6\\x44\\xd7\\x4d\\xd5\\x68\\xdb\\xaf\\xa4\\xbf\\xe7\\xb8\\xc4\\x5e\\x70\\xb1\\x20\\xf8\\x5d\\x88\\x4d\\x6d\\x83\\x6d\\x20\\xaa\\x1a\\x6f\\x68\\xae\\xe6\\xd7\\x74\\x99\\xf7\\x2a\\xba\\x18\\x80\\x56\\x88\\x5c\\xf8\\x92\\xf6\\x75\\xda\\x5d\\xc1\\xfe\\x4b\\x53\\x98\\xb7\\x10\\xfa\\x2b\\xfd\\x3f\\xf3\\x7e\\x33\\x54\\xca\\xf3\\xbd\\xb4\\xc9\\xb4\\x1d\\xaf\\x96\\xa5\\x6b\\xbb\\xd0\\x7d\\xc8\\x4d\\x7b\\x26\\xd4\\xea\\x58\\x3f\\x67\\x5d\\x27\\xe5\\x57\\x51\\x7f\\x68\\x70\\xa8\\xd5\\x94\\x63\\x46\\x4b\\x0e\\x6d\\xdb\\x10\\x0d\\x84\\x5a\\x40\\xb9\\xf4\\xeb\\x36\\x05\\x4a\\x0d\\x51\\x13\\x28\\x9d\\x7e\\xfd\\xdc\\x00\\xaa\\x03\\xb5\\x0b\\x51\\x06\\xfd\\xcd\\x42\\xf3\\xfb\\x55\\xa3\\xd1\\xf4\\xf7\\xfb\\x1d\\x3b\\xf2\\x42\\xe3\\x39\\x55\\xbc\\x21\\xbe\\x74\\x28\\x0b\\xea\\x56\\x45\\xf4\\x77\\x0b\\xe9\\x68\\x5b\\x4d\\x5f\\x3b\\xfa\\xdb\\x5e\\xa5\\xab\\x4a\\xce\\x84\\xab\\x65\\x57\\x93\\x7f\\xb5\\x1d\\xc3\\xa0\\xeb\\xa0\\xc2\\x50\\x3b\\x0c\\xbe\\x91\\xb4\\x1d\\xa0\\xf6\\x21\\xd2\\xcf\\x1d\\xe8\\xd7\\x6d\\x6f\\x28\\xbb\\x3a\\xd1\\xaf\\xdb\\xdb\\x43\\x94\\x15\\xa2\\x8e\\xf4\\xeb\\x76\\xed\\xd5\\xf4\\x07\\x76\\x5c\\xed\\xc7\\x40\\xf8\\x34\\x96\\x19\\xd5\\x7c\\xd6\\x78\\x37\\x08\\xe1\\x9c\\x1e\\x8a\\x47\\x55\\x6c\\x52\\x42\\x71\\xc9\\x0d\\xc5\\x6f\\x60\\x55\\x4c\\x43\\x71\\xcc\\xa9\\x16\\x73\\x3b\\xfe\\xa1\\xb8\\x5f\\x61\\x07\\x39\\xd3\\x55\\xaf\\x87\\x6a\\xf7\\xec\\xaa\\xef\\xb5\\x06\\x06\\x73\\xcb\\xff\\xa2\\xfe\\xde\\xf9\\xbf\\xd5\\x72\\xa1\\x7a\\xa5\\x3a\\x9d\\x0b\\xd1\\xc7\\xba\\xfd\\x6f\\x35\\x2b\\x3c\\x6f\\x86\\xe8\\x67\\x4d\\xbf\\x19\\xd7\\x67\\xea\\xf6\\xd0\\x77\\x0e\\xb4\\xc1\\xef\\x09\\xf5\\x59\\xed\\xd7\\xdf\\xdb\\xfd\\x3b\\xf8\\xdd\\x9e\\x9f\\xf5\\xe3\\xaf\\x84\\x7e\\x0a\\x7d\\x57\\x59\\xa9\\xcf\\x7a\\xfd\\x37\\x62\\xfa\\x73\\x40\\xfd\\x5d\\x16\\x7d\\x27\\xa0\\xa4\\x50\\xfb\\x71\\xb5\\xef\\x0e\\x35\\x7d\\xcc\\xbe\\x33\\xc9\\x26\\xbd\\x0f\\xe9\\x3d\\x8d\\xbd\\xa4\\x8a\\xec\\x3d\\xe9\\xb8\\xfe\\xdc\\xd3\\xfe\\x8e\\x54\\x7f\\xef\\x36\\x46\\x7f\\x47\\xa5\\xbf\\xaa\\x0f\\x51\\xfd\\xe0\\x5f\\x37\\x5a\\xcd\\xed\\xbf\\x5b\\xd4\\xef\\x96\\x15\\xad\\xff\\x08\\x52\\xff\\x19\\x24\\xef\\xb7\\x99\\xd3\\xcc\\xd9\\xe6\\x6d\\xe6\\x72\\x73\\xa5\\x79\\xbf\\xf9\\x37\\x47\\x9c\\xa3\\x81\\xe3\\x25\\xc7\\x3f\\x1d\\xdf\\x35\\xf8\\x6b\\xc3\\xad\\x0d\\xef\\x6d\\xf8\\xb3\\xa7\\x96\\xa7\\x81\\x27\\xdb\\xd3\\xdf\\x73\\x9d\\xa7\\xd0\\x33\\xc2\\x33\\xca\\x33\\xdf\\x73\\xc8\\x73\\xcc\\xf3\\x86\\xe7\\x03\\xcf\\xb7\\x9e\\xef\\x3c\\x7e\\x6f\\x94\\xb7\\x91\\xb7\\xb1\\x37\\xc3\\xdb\\xc6\\xdb\\xd1\\xdb\\xd9\\xdb\\xd5\\xdb\\xcb\\x3b\\xda\\x3b\\xcd\\x3b\\xdb\\x3b\\xd7\\xbb\\xc0\\x7b\\xb7\\xf7\\x71\\xef\\xb9\\x24\\x47\\x52\\x5c\\x52\\x9d\\xa4\\x46\\x49\\x8d\\x93\\x5a\\x26\\x0d\\x48\\xca\\x4f\\x1a\\x9d\\xb4\\x30\\xe9\\x9e\\xa4\\xdd\\x8d\\x8c\\x46\\xce\\x46\\x51\\x8d\\x62\\x1b\\xd5\\x6a\\x54\\xaf\\x91\\xa7\\x51\\xb3\\x46\\x69\\x8d\\x72\\x1b\\x15\\x37\\x1a\\x97\\x6c\\x24\\x47\\x27\\x27\\xa5\\x52\\xd2\\xa4\\x86\\xa7\\x46\\xa7\\xc6\\xa7\\xd6\\x4d\\xad\\x9f\\x9a\\x92\\xda\\x3c\\xb5\\x4d\\x6a\\xe7\\xd4\\xc9\\xa9\\x65\\xa9\\x0b\\x53\\x97\\xa6\\xae\\x4c\\x5d\\x9f\\x7a\\x7f\\xea\\xfe\\xd4\\x47\\x53\\x9f\\x4a\\x7d\\x3a\\xf5\\x58\\xea\\x6b\\xa9\\xaf\\xa7\\xbe\\x97\\x7a\\xb6\\x71\\xe7\\xc6\\xbe\\xc6\\x3d\\x1a\\x17\\x35\\xbe\\xbe\\x71\\x69\\xe3\\x49\\x8d\\xa7\\x35\\x9f\\xd2\\xfc\\xa6\\x96\\x75\\x1e\\x4a\\x7a\\x68\\xe5\\x39\\xeb\\x82\\x71\\xa1\\xdd\\x85\\xce\\x17\\xba\\x5e\\xe8\\x7e\\xa1\\xd7\\x85\\x81\\xfe\\xe4\\xc0\\xc5\\x40\\xc0\\xfe\\x7b\\xcb\\x72\\x73\\x96\\x79\\xb3\\xb9\\x10\\x04\\xee\\x32\\x1f\\x34\\x4f\\x38\\xea\\x39\\xd6\\x3a\\x4e\\x38\\xce\\x35\\x90\\x06\\x7e\\x10\\x28\\xf7\\x88\\xa7\\xae\\xc7\\xeb\\xc9\\xf5\\xe4\\x85\\x10\\x18\\xe3\\x29\\xf3\\x1c\\xf6\\xbc\\xe8\\x79\\xdb\\xf3\\x91\\xe7\\xbc\\xe7\\x07\\xaf\\x78\\x63\\x41\\xe0\\x1a\\x6f\\x6b\\x6f\\xd6\\x65\\x04\\x6e\\xf0\\xce\\xf2\\xde\\x04\\x02\\x6b\\xbc\\xe5\\x21\\x04\\x6a\\x87\\x10\\xe8\\x9f\\x34\\x24\\x69\\x04\\x08\\xac\\xb9\\x8c\\x40\\x0c\\x08\\x24\\x34\\x6a\\x18\\x42\\xa0\\xa8\\x51\\x89\\x8d\\x80\\xf7\\x0f\\x10\\xc8\\xbb\\x8c\\xc0\\x9a\\xd4\\xf2\\xd4\\xbd\\x97\\x11\\xf8\\x2b\\x08\\xbc\\x0b\\x02\\x1d\\x2f\\x23\\x30\\xae\\xf1\\x0d\\x20\\x50\\xd4\\x7c\\x06\\x08\\xd4\\x79\\x68\\x29\\x08\\xa8\\x0b\\x0d\\x2e\\x74\\x00\\x01\\xdf\\x85\\x9e\\x17\\x72\\xfc\\x5e\\x8d\\x40\\xe0\\x74\\xe0\\x2f\\x81\\x67\\x02\\x4f\\x05\\x1e\\x0f\\x1c\\x0a\\x3c\\x16\\x78\\x34\\x70\\x30\\xb0\\x2f\\xd0\\x21\\x90\\x11\\x48\\xfb\\xdc\\x5b\\xf9\\x75\\xe5\\x97\\x95\\xff\\xac\\x3c\\x53\\x79\\xaa\\xf2\\x64\\xe5\\xc7\\x95\\x1f\\x56\\x7e\\x50\\xf9\\x7e\\xe5\\x7b\\x95\\xef\\x56\\xbe\\x5d\\xf9\\x56\\xe5\\x9b\\x95\\xff\\xa8\\xfc\\x7b\\xe5\\xeb\\x95\\x7f\\xab\\x3c\\x5e\\xf9\\x6a\\xe5\\xcb\\x95\\x2f\\x54\\x1e\\xab\\x3c\\x5a\\xf9\\x6c\\xe5\\x33\\x95\\x4f\\x56\\x96\\x57\\xde\\x53\\xb9\\xb6\\x72\\x4d\\xe5\\xf2\\xca\\x9b\\x2b\\xa7\\x55\\xb6\\xad\\x4c\\xaa\\x8c\\xaf\\x8c\\xad\\x0c\\xab\\x74\\x9c\\xf5\\x9f\\x3d\\x79\\xf6\\xc3\\xb3\\x6f\\x9f\\x3d\\x78\\x76\\xd7\\xd9\\xbb\\xcf\\x76\\x3a\\xdb\\xe1\\x6c\\xc6\\xd9\\xf4\\xb3\\x2d\\xce\\x5e\\x73\\xb6\\xc9\\xd9\\x86\\x67\\x1b\\x9c\\x55\\x9f\\xfd\\xf3\\xb3\\xcf\\x3f\\xeb\\xf7\\x59\\xb7\\xcf\\x32\\x4e\\x0f\\x3e\\x3d\\xe8\\x74\\xee\\xe9\\xec\\xd3\\x3d\\x4e\\x77\\x3b\\xdd\\xf9\\x74\\xdb\\xd3\\x2d\\x4f\\x37\\x39\\xed\\x3d\\x1d\\x71\\xea\\x97\\x53\\x3f\\x9e\\xfa\\xee\\xd4\\xbf\\x4e\\x7d\\x73\\xea\\xd4\\xa9\\xf7\\x4f\\xbd\\x75\\xea\\x6f\\xa7\\x8e\\x9f\\x7a\\xf1\\xd4\\x73\\xa7\\x9e\\x3d\\xf5\\xc4\\xa9\\x7d\\xa7\\x0a\\x4e\\x0d\\x3d\\x95\\x7f\\xaa\\xfd\\xa9\\xb6\\xa7\\xda\\x9c\\x6a\\x75\\xaa\\xe5\\x87\\x5d\\x3f\\xec\\xf4\\xfe\\xb6\\xe2\\xed\\xc5\\xed\\xeb\\x1e\\x8d\\x38\\x16\\xb1\\x37\\x62\\x4f\\xc4\\xee\\x88\\x87\\x22\\x76\\x45\\xec\\xac\\xf1\\x56\\xd8\\xa5\\xab\\xff\\xf6\\xf7\\xff\\x0f\\x7f\\x9c\\x46\\x0d\\xdd\\x28\\xf9\\x0d\\x16\\xca\\xbe\\x34\\xe9\\x1f\\xe3\\xbf\\xc8\\x08\\xce\\x34\\xb9\\x68\\x39\\xc4\\xc9\\xbe\\x12\\x26\\x6e\\xa9\\x21\\x35\\x25\\x5c\\x22\\x24\\x52\\xa2\\x24\\x5a\\x62\\xa8\\x14\\xe2\\x24\\x5e\\x6a\\x49\\x6d\\xa9\\x23\\x75\\x25\\x41\\xea\\x49\\x22\\xbb\\x51\\x03\\x69\\x28\\x1e\\xd6\\x60\\x92\\x34\\x92\\x64\\x49\\x91\\x54\\x69\\x2c\\x4d\\xa4\\xa9\\x34\\x93\\x6b\\xa8\\x29\\x9a\\x4b\\x0b\\x69\\x29\\xe9\\x92\\x21\\xad\\xa8\\x8c\\x32\\xa5\\x0d\\xf5\\x4e\\x3b\\x69\\x2f\\x1d\\x24\\x4b\\x3a\\xb2\\xe7\\x76\\x96\\x2e\\xd2\\x55\\xba\\x89\\x4f\\xba\\x4b\\x0f\\xe9\\x29\\xbd\\x24\\x5b\\x72\\xa4\\xb7\\xe4\\xca\\xb5\\xd2\\x47\\xfa\\xb2\\xcb\\xf6\\x67\\x87\\x1d\\x28\\x79\\x32\\x48\\x06\\x53\\x87\\xe6\\xcb\\x50\\x19\\x26\\xd7\\x49\\x81\\x14\\xca\\x70\\x19\\x21\\x23\\x65\\x94\\x8c\\x96\\x31\\xec\\xa0\\xc5\\xd8\\xbf\\x58\\x96\\xc8\\x32\\x59\\x21\\xeb\\x65\\x93\\xdc\\xcb\\x4d\\xec\\x01\\xd9\\x21\\xbb\\x64\\xa7\\x3c\\x24\\x7b\\xb8\\x35\\xee\\x95\\xfd\\xf2\\xb0\\x1c\\x90\\x47\\xa4\\x42\\x0e\\xca\\x63\\xf2\\xb8\\x1c\\x92\\xc3\\x72\\x44\\x9e\\x90\\xa7\\xe5\\x4f\\xf2\\x67\\x79\\xc6\\xf5\\xa5\\xdc\\x28\\x25\\x32\\x4e\\x26\\xba\\xbe\\x96\\xb9\\x72\\xbf\\x4c\\x97\\x49\\x61\\xd7\\xc8\\x1c\\xb9\\x21\\xac\\x8f\\x2c\\x95\\x2d\\x61\\xd9\\x54\\xe4\\xfd\\xc2\\xfa\\xcb\\x78\\xb9\\x29\\xac\\x4b\\x98\\x2f\\xac\\x9b\\x79\\x63\\x58\\xae\\x4c\\x96\\x5b\\xcd\\x11\\xb2\\x5b\\x9e\\x92\\xdb\\xe5\\x7a\\x99\\x1a\\xd6\\x4b\\xe5\\x87\\x5d\\x1b\\xd6\\x55\\xa6\\xc8\\x7c\\xd7\\x37\\x32\\x56\\xee\\x90\\x45\\xb2\\x51\\xc5\\xab\\x5a\\xae\\x8f\\x5d\\x9f\\xb8\\x2a\\x5d\\x9f\\xbb\\x4e\\xbb\\xce\\xc8\\x93\\x61\\x2b\\xe4\\x39\\xd5\\xd1\\x75\\x29\\x2c\\xd1\\xf5\\xb3\\xeb\\x97\\xb0\\x17\\xc2\\x5e\\x74\\x7d\\xc5\\xcd\\xec\\x33\\xd7\\x17\\xae\\xef\\x65\\xa1\\xac\\x94\\x3b\\x65\\x95\\x2c\\x97\\xd5\\xb2\\x46\\xd6\\xca\\x5d\\x72\\x8f\\x6c\\xc0\\xc3\\xbb\\xa9\\x0f\\xb7\\xcb\\x56\\xf9\\xb7\\xb1\\xd4\\xb8\\x57\\x66\\x18\\x5b\\x8c\\xad\\xc6\\x36\\xb9\\xd9\\xb8\\xcf\\xd8\\x6e\\x2c\\x13\\xf1\\xf5\\x1e\\x31\\xbc\\xb0\\x60\\x68\\xfe\\x90\\xc1\\x83\\xf2\\x06\\x0e\\xe8\\xdf\\xaf\\x6f\\x9f\\x6b\\x73\\x7b\\xe7\\x64\\xf7\\xea\\xd9\\xa3\\xbb\\xaf\\x5b\\xd7\\x2e\\x9d\\x3b\\x75\\xcc\\xea\\xd0\\xbe\\x5d\\xdb\\x56\\x19\\xe9\\x2d\\x5b\\x34\\x6f\\xda\\xa4\\x71\\x6a\\x4a\\x72\\xa3\\x24\\x4f\\xdd\\xf8\\x98\\xe8\\xa8\\xc8\\x88\\x9a\\x35\\xdc\\x61\\x2e\\xa7\\xc3\\x32\\x0d\\x25\\xcd\\xbd\\x15\\xaa\\x28\\xbb\\xc2\\x4c\\xf5\\xc6\\xe4\\x14\\x27\\x67\\x27\\x17\\xe7\\xb6\\x68\\xee\\xcd\\xae\\x3b\\xa1\\x57\\x8b\\xe6\\xd9\\xc9\\x39\\x45\\x15\\xde\\x62\\x6f\\x05\\x8d\\xd5\\x38\\x39\\x37\\xd7\\xee\\x4a\\x2e\\xae\\xf0\\x16\\x79\\x2b\\x1a\\xd3\\x14\\x57\\xeb\\x2e\\xaa\\xf0\\xc1\\x59\\x7a\\x15\\xa7\\x2f\\xc8\\xe9\\xbb\\xcc\\xa9\\xa2\\xbd\\x9d\\xa5\\xb3\\x56\\x91\\xec\\xad\\x38\\xde\\x2b\\xd9\\x7b\\x44\\x0d\\x1f\\x54\\xc0\\xf3\\xaa\\x5e\\xc9\\x85\\xde\\x8a\\xaf\\xed\\xe7\\xfe\\xf6\\xb3\\xd5\\xd8\\x7e\\x89\\xe0\\x25\\x29\\x89\\x19\\xb6\\x55\\xda\\x5a\\x6f\\x76\\x45\\xce\\x9c\\x09\\xcb\\xb3\\x8b\\xb0\\x51\\x1d\\xac\\x59\\xa3\\x67\\x72\\xcf\\x71\\x35\\x5a\\x34\\x97\\x83\\x35\\x6a\\xf2\\x58\\x93\\xa7\\x8a\\xa6\\xc9\\xd3\\x0f\\xaa\\xa6\\x5d\\x95\\xfd\\x60\\x34\\xcd\\xee\\x78\\xd0\\x90\\xb0\\x08\\xad\\x16\\x4f\\xb3\\x8b\\x4b\\x2a\\xf2\\x06\\x15\\x64\\xf7\\x4a\\x4c\\x4a\\x2a\\x6c\\xd1\\xfc\\xda\\x8a\\xc8\\xe4\\x5e\\xf6\\x90\\xf4\\xb4\\x45\\x56\\x38\\x7b\\x56\\xb8\\x6c\\x91\\xde\\x89\\xda\\x74\\x59\\xe1\\x3d\\xd8\\xfc\\xe8\\xf2\\x95\\x47\\xa2\\x65\\x6c\\x51\\x5a\\x78\\x49\\x72\\x49\\xf1\\xc8\\x82\\x0a\\xb3\\x98\\xb9\\xcb\\xcd\\xec\\xe5\\xcb\\x97\\x54\\xc4\\xa4\\x55\\x34\\x4b\\xee\\x55\\xd1\\xec\\xe6\\x33\\x75\\xf1\\x7c\\x5c\\x45\\xf3\\xe4\\x5e\\xd9\\x15\\x69\\x5a\\x6a\\xdf\\xc1\\x97\\xf5\\xf4\\xfd\\x55\\xa5\\xaa\\x70\\xa4\\x72\\x6c\\x2c\\xff\\x5e\\x70\\x27\\xf9\\xeb\\xaf\\xae\\xec\\x29\\x0e\\xf5\\x38\\x53\\xa3\\xbf\\x17\\xfd\\x58\\x61\\xf4\\xac\\x50\\x83\\x0b\\x92\\xf4\\x4f\\x62\\x0e\\x58\\x2f\\x5f\\x9e\\x93\\xec\\xcd\\x59\\x5e\\xb4\\xbc\\xf8\\x48\\xa0\\x6c\\x6c\\xb2\\x37\\x3a\\x79\\xf9\\xc1\\xf0\\xf0\\xe5\\xd3\\xb3\\x81\\x5b\\xf2\\x0a\\x10\\x71\\x24\\xf0\\xd4\\x8a\\xc4\\x8a\\x9c\\x95\\x85\\x15\\xd1\\x45\\x13\\x54\\xc7\\xc2\\x90\\xeb\\x39\\x83\\xfb\\x56\\xc4\\x0d\\x1a\\x51\\x50\\x61\\xa4\\xe6\\x78\\x27\\x14\\xd3\\xc3\\xff\\xba\\x25\\x27\\x75\\x48\\x4c\\x8a\\xb9\\xcc\\x93\\xf7\\x47\\xc3\\x02\\x2c\\x80\\x03\\xc2\\x49\\x49\\x1a\\x86\\x15\\x47\\x7c\\x32\\x96\\x97\\x8a\\xb2\\x41\\x05\\xc1\\x77\\xaf\\x8c\\x4d\\x7c\\x54\\x7c\\xe9\\x69\\x85\\x15\\x46\\x91\\x1e\\x39\\x5a\\x35\\x52\\x6b\\xa8\\x1e\\x29\\xab\\x1a\\xb9\\x3c\\xbd\\x28\\x99\\xd8\\xf6\\x1d\\x52\\xb0\\xbc\\xc2\\x4a\\xbd\\xb6\\x24\\x39\\x1b\\xc4\\x57\\x14\\x57\\x94\\x8d\\x25\\xbb\\x6e\\xd0\\x81\\x49\\x8e\\xae\\x88\\xfc\\x21\\x31\\x29\\x79\\x79\\x6c\\x8c\\x37\\x2b\\xbd\\xd0\\xe6\\xf5\\x62\\xd5\\xb5\\x25\\x13\\xbd\\x15\\x8e\\xc6\\x80\\xc4\\xac\\xea\\x13\\xc8\\x1b\\x3d\\x65\\x79\\xb4\\xfd\\x12\\xf9\\x43\\xb0\\xf9\\x3a\\x11\\x05\\x8d\\x63\\x62\\xbd\\x59\\xc9\\x88\\xd1\\x72\\xb2\\x93\\xb3\\x8b\\x42\\xff\\x9b\\x33\\xa1\\x2e\\x02\\xbc\\x00\\x9d\\x9b\\x16\\x4c\\x84\\xfc\\x82\\x0a\\x5f\\x2f\\x1e\\x7c\\xc5\\xa1\\x88\\x65\\x1f\\xcc\\x48\\x67\\x46\\x71\\x11\\x01\\x9b\\xd8\\xcb\\x0e\\x66\\x45\\x7a\\xf2\\xf4\\x8a\\xf8\\xe4\\x1e\\x97\\xa3\\xab\\xcd\\xca\\x9e\\x38\\xa4\\xc0\\x9e\\x12\\x9a\\x56\\x11\\xdf\\xb3\\x42\\x8a\\xae\\x0f\\xcd\\xaa\\x48\\xcf\\xb6\\xd7\\x95\\x37\\x7b\\x79\\x51\\xaf\\xa0\\x09\\x5a\\x56\\xf2\\xa0\\x82\\x27\\x25\\x33\\x70\\xf2\\x60\\x1b\\x6f\\xe2\\x63\\x7a\\xeb\\x2c\\xec\\xa5\\x99\\x6b\\xf7\\x24\\xcb\\x1a\\x67\\x2f\\x2f\\x28\\x29\\xad\\xf0\\x14\\x25\\x96\\xb0\\xee\\x4a\\xbd\\x05\\x89\\x49\\x15\\xbe\\x42\\x22\\x5c\\x98\\x5c\\x30\\xae\\x50\\xa7\\x1d\\x08\\x35\\x3b\\x99\\x68\\x27\\x47\\xa1\\x9d\\x2b\\xf9\\x05\\x7d\\x87\\x24\\xf7\\x1d\\x34\\xbc\\xa0\\x43\\xc8\\x90\\xe0\\x80\\x16\\x67\\xa5\\x66\\x5f\\x25\\x26\\xb9\\x20\\x31\\x28\\x86\\x04\\xac\\x08\\x4b\\x0d\\xf3\\x16\\x18\\x89\\x66\\x21\\x8c\\xd1\\x74\\x78\\x73\\x78\\x48\\xee\\xd1\\x99\\xdf\\x15\\xae\\xd4\\x30\\x28\\x1a\\xc0\\xed\\x5e\\x9d\\xb8\\x3d\\x3a\\x7b\\x0b\\x54\\xa2\\x54\\x71\\x63\\x46\\x45\\x33\\x6f\\xf6\\xb8\\x5e\\x21\\x3e\\xfd\\x7e\\x85\\x50\\x87\\x4e\\xa7\\x9e\\xb9\\x55\\xd2\\x9c\\xfa\\x15\\x39\\x3d\\x73\\x13\\x93\\x0a\\x93\\x82\\x3f\\x2d\\x9a\\x1b\\x0c\\x7b\\x43\\x8a\\x99\\x11\\xa6\\x41\\xcd\\xad\\x1a\\x62\\x9b\\x62\\x20\\x8c\\xfc\\xec\\x99\\x6b\\x77\\x69\\x2c\\xeb\\xea\\xa4\\xf7\\x16\\x24\\x8f\\x4b\\x2e\\x4c\\x9e\\xe0\\xad\\xf0\\xe5\\x15\\x68\\xdf\\x34\\x3c\\x36\\xca\\x21\\x30\\x6c\\xcc\\x43\\xb1\\xca\\xbf\\xe2\\xad\\x1a\\x58\\xc0\\x24\\x49\\x0c\\x57\\xbd\\x68\\x30\\x2b\\x72\\xd2\\x12\\xab\\x83\\x5b\\xd1\\xdb\\x7e\\xbf\\xfc\\x9a\\x7b\\xd5\\xf0\\xb5\\x55\\xc3\\xde\\xe5\\x61\\xc9\\x7d\\x87\\x2c\\xd7\\xc2\\x93\\x43\\x02\\x05\\xcb\\xaf\\xad\\x10\\x9d\\xc2\\xbe\\x0e\\x31\\x89\\xf6\\x5e\\xa0\\x17\\x74\\x32\\x7b\\xaf\\x37\\x9a\\x25\\x6d\\x2f\\xe8\\xe5\\x07\\x7d\\x3e\\xbd\\x98\\x27\\x74\\xd4\\x42\\x92\\xaf\\x2d\\x59\\x9e\\x3c\\xa4\\xa0\\xb3\\xcd\\xcd\\x7e\\x32\\x3f\\xf1\\x66\\xad\\x2b\\x56\\xfa\\xaa\\xbe\\xf9\\x3d\\x5a\\x34\\x67\\x6b\\xeb\\x71\\x30\\x59\\x2d\\x1d\\x74\\xd0\\xa7\\x96\\x0e\\x19\\x5e\\xf0\\x24\\x97\\x06\\xef\\xd2\\xfc\\x82\\x47\\x0d\\x65\\xf4\\x2c\\xea\\x51\\x78\\x30\\x85\\xb1\\x82\\x27\\xbd\\x1c\\x1a\\x76\\xaf\\xa1\\x7b\\x75\\xa7\\x7e\\xf1\\xea\\x17\\x2d\\x69\\x30\\x2f\\x61\\x36\\x7f\\xe2\\x93\\x3e\\x91\\x32\\x7b\\xd4\\xb2\\x3b\\xec\\xf7\\xeb\\x8f\\x28\\xb1\\xfb\\xc2\\xaa\\xfa\\x94\\x5c\\x7f\\xc4\\x08\\xf6\\x45\\x07\\x15\\x35\\xb6\\x15\\xf9\\xa8\\x41\\xae\\x3f\\x62\\x05\\x47\\x7c\\x55\\xdc\\x16\\x7d\\x61\\xc1\\xbe\\x32\\xbb\\xcf\\xfe\\x39\\x28\\x1a\\x32\\x5f\\x0d\\x87\\x2f\\xcc\\xe7\\xf6\\x85\\x1b\\x11\\x46\\xe2\\x41\\xa5\\xbb\\x1e\\xa5\\xe7\\x29\\x6a\\x15\\xb7\\x92\\xc7\\xc2\\x55\\x84\\x4a\\x3c\\xc8\\xac\\xc1\\x76\\xf7\\x11\\x55\\x76\\xd0\\xed\\x4b\\x0c\\x72\\x94\\xc1\\xe1\\x0b\\x5a\\xb8\\x74\\xe8\\xaf\\xaa\\x87\\x0e\\x2f\\x78\\x8c\\x8a\\x46\\x25\\xda\\xbf\\x51\\xd4\\x43\\xff\\x90\\x2e\\x75\\x27\\x10\\x6c\\x8e\\x95\\x6c\\x6f\\x89\\x4e\\x94\\x5b\\x0b\\x27\\x2c\\x2f\\x2a\\xd4\\x8b\\x4d\\x6a\\x13\\x1a\\xfe\\xa7\\x2a\\x54\\x72\\x57\\xc2\\x94\\xdc\\x15\\x43\\x9c\\xe1\\x15\\x35\\x92\\xc7\\xf5\\xa8\\xa8\\x99\\xdc\\x43\\xf7\\x77\\xd3\\xfd\\xdd\\x82\\xfd\\x4e\\xdd\\xef\\x22\\x45\\x55\\x6d\\xc5\\xf4\\x32\\x62\\x9f\\x57\\xa1\\x74\\x06\\x8c\\x28\\x48\\x62\\x49\\x7a\\xeb\\xbd\\x92\\xb8\\x3c\\xfa\\x6b\\x1d\\xa9\\x42\\x36\\x95\\xe5\\xd1\\x9f\\xb5\\x38\\xe8\\xce\\xeb\\x3e\\x56\\x8d\\x13\\xa5\\x26\\xa8\\xf1\\x94\\x58\\x1e\\x55\\x24\\x03\\xd4\\x18\\x19\\xaa\\xba\\x4b\\x17\\xe5\\xa3\\x05\\x54\\xd5\\x83\\xb6\\x27\\xef\\xba\\x6d\\xa9\\xba\\x48\\x19\\x7c\\x5d\\xe8\\xef\\xca\\x3b\\x45\\x94\\xea\\x44\\x61\\xe4\\xe1\\x77\\x37\\x68\\x20\\xb4\\x1a\\xb2\\xa0\\x20\\x47\\x06\\x1c\\xe9\\xb4\\xe9\\xa1\\xf7\\x16\\xbc\\x37\\x67\\xc6\\xeb\\xfc\\x56\\x36\\xe9\\xde\\x6e\\xf4\\xea\\xb6\\x0f\\xef\\xb9\\xb4\\xbd\\x43\\x6d\\x0e\\xfd\\xd9\\xb4\\xd9\\xa1\\xf7\\x6b\\x79\\xa7\\x95\\x22\\xe5\\x22\\xdc\\xdd\\xec\\xdf\\xcf\\x2a\\xcb\\xf7\\x98\\x3a\\x79\\x49\\xbd\\x7e\\x49\\x79\\x2f\\xa9\\x05\\x17\\x54\\xde\\x05\\x55\\x76\\x7e\\xcd\\x79\\xe3\\x5f\\xe7\\x9a\\x79\\x0e\\x9c\\x7b\\xf6\\x9c\\x31\\xf0\\xdb\\x31\\xdf\\x1e\\xf8\\xd6\\xcc\\xf8\\x56\\x45\\x7d\\xab\\xc2\\xe4\\xeb\\xe8\\xaf\\xf3\\xbe\\x2e\\xfa\\x7a\\xfa\\xd7\\xe5\\x5f\\x3b\\x6b\\x44\\x7d\\xa5\\xc2\\xe5\\x4b\\x15\\x73\\xfa\\x64\\x07\\xcf\\x27\\x5d\\x3e\\x1a\\xfa\\x71\\x97\\x0f\\x87\\xca\\x47\\x78\\xf6\\x51\\xc6\\x47\\x79\\x1f\\x95\\x7d\\x54\\xf1\\x91\\xe3\\x23\\x65\\x0e\\xfd\\xd0\\xac\\xed\\x89\\x3e\\xea\\x3d\\x9a\\x71\\x74\\xfa\\xd1\\xb2\\xa3\\x27\\x8e\\x9e\\x3c\\x7a\\xee\\x68\\x58\\xd9\\x33\\x6b\\x9e\\x31\\xfe\\xfc\\x74\\xba\\x27\\xea\\x69\\xcf\\xd3\\x86\\xe7\\xb1\\x81\\x8f\\x2d\\x78\\xcc\\x2c\\xda\\xad\\xa2\\x76\\x7b\\x76\\x1b\\x79\\x5b\\x8b\\xb6\\x1a\\x6b\\xb6\\xa9\\xa8\\x6d\\x9e\\x6d\\xe9\\xdb\\xcc\\x2d\\x9b\\x5b\\x7a\\x36\\xf7\\x6e\\xe8\\xd9\\xb8\\xa1\\x89\\xe7\\xe4\\x86\\x73\\x1b\\x8c\\x23\\x81\\xa3\\x8f\\x6d\\x88\\x88\\xc9\\x79\\x5a\\x0d\\x54\\xfd\\x28\\x46\\x3d\\x6a\\xc0\\x63\\x66\\xc0\\x73\\xa0\\x7b\\x2d\\xd5\\x1f\\xb7\\xa2\\x94\\xfe\\x8b\\x86\\xfe\\x92\\x0e\\x0d\\x84\\xa6\\x41\\xab\\x21\\x27\\x23\\xfd\\x18\\xe9\\xc7\\x48\\x3f\\x5f\\x07\\x73\\xcc\\x3d\\xaa\\xe6\\xba\\xc4\\x75\\x69\\xeb\\x6e\\x59\\xb7\\x62\\x9d\\x63\\xfa\\xe2\\xb2\\xc5\\x6b\\x16\\x9b\\x65\\x8b\\xd6\\x2c\\x32\\x0e\\xcc\\x79\\x76\\x8e\\x31\\x33\\xaf\\x99\\x67\\xda\\xd4\\x34\\xcf\\xd4\\xde\\xd7\\x78\\x12\\x32\\xeb\\x0e\\x75\\x65\\x9a\\x43\\x9d\\xa8\\x41\\xbb\\xef\\xda\\xb1\\xa9\\x4d\\x73\\x8a\\xc6\\xf8\\x3c\\x63\\x60\\x1a\\x31\\x3c\\xc3\\x33\\xbc\\x77\\x33\\x4f\\x5c\\x66\\xec\\x50\\x07\\x0e\\x5b\\x30\\x46\\x99\\x1e\\xb3\\x9b\\x39\\x90\\x7b\\xfe\\x6a\\xf3\\x59\\xd3\\x15\\x36\\x38\\xaf\\xa1\\x67\\x10\\x74\\x32\\xef\\x5c\\x9e\\xe1\\xcb\\x73\\x87\\xe7\\x44\\x0d\\xf4\\x0c\\x4c\\x1f\\x68\\x1e\\x09\\x9c\\xf4\\x8d\\xeb\\x9b\\x84\\xb4\\x3e\\xd3\\xfb\\x94\\xf5\\x31\\xaf\\xcd\\x69\\xe6\\xc9\\xed\\xdd\\xc1\\x13\\xd5\\xdb\\xd3\\x3b\\xbd\\xf7\\xeb\\xbd\\x3f\\xe9\\xfd\\x6d\\x6f\\xe7\\x98\\xde\\xea\\x3e\\xfe\\x97\\x73\\x20\\xe7\\xd9\\x1c\\xd3\\x97\\xd3\\x2c\\x3d\\xc7\\x97\\xd3\\x30\\x29\\xa7\\x7e\\x6e\\xe2\\xd0\\xda\\x99\\xb5\\x86\\xc6\\xa8\\xa8\\xa1\\xd1\\x99\\x51\\x43\\xa9\\x01\\x87\\xaa\\x4c\\x19\\x9a\\x1e\\x15\\x88\\x32\\xa2\\xa2\\xc6\\x44\\x2d\\x88\\x32\\xa3\\x28\\xd4\\x8d\\xb2\\xda\\xca\\xa1\\x8e\\xa8\\x35\\x07\\xf3\\x87\\xa4\\xa5\\xf5\\x3d\\xe2\\x0a\\x50\\x3b\\x84\\xe5\\x8d\\xa8\\x50\\x4b\\x2b\\x52\\x87\\xe8\\xdf\\xbe\\x41\\xc3\\x2b\\x9c\\x4b\\x2b\\x64\\xe8\\xf0\\x11\\x05\\x07\\x95\\xba\\xab\\x70\\xd1\\xaa\\x55\\xd2\\xa3\\x41\\xdf\\x8a\\xd6\\x43\\x0a\\x2a\\x8a\\x1a\\x14\\xf6\\xad\\x28\\xe1\\xc1\\xa7\\x1f\\xca\\x78\\x88\\x6e\\x70\\xb0\\xb6\\xf4\\x28\\x9c\\x39\\x73\\x56\\x9a\\xfd\\xa3\\xd2\\xd2\\x78\\x9e\\xcd\\x6f\\x49\\x9b\\x9d\\x46\\xe7\\xe8\\x99\\xc1\\x5e\\xb9\\x3c\\x2e\\x69\\x33\\xd5\\xcc\\x99\\x32\\x73\\xa6\\x3d\\x49\\xa5\\x69\\x86\\xe0\\xbb\\xe2\\x77\\x9a\\x1e\\xa3\\x43\\xcf\\x53\\xcc\\x1e\\x3d\\x53\\xf4\\x2f\\x3d\\x98\\x16\\x9c\\xa4\\x67\\xcf\\x0c\\x89\\xb3\\x27\\x07\\x7f\\xd9\\x0f\\x75\\x47\\x3b\\x56\\x71\\xc7\\xc9\\x75\\x74\\xe1\\xd6\\x33\\xdd\\xfe\\x7d\\xc5\\x8f\\xb9\\x9f\\x9b\\xcf\\x66\\x91\\x80\\xfd\\x37\\xe5\\xbf\\xfe\\xf6\\xf7\\x0b\\xfc\\xf2\\xff\\xed\\x05\\xee\\xf7\\x7e\\x42\\x9f\\x2e\\x6f\\xe2\\xfe\\x72\\x88\\x7b\\xc0\\x7b\\xdc\\x73\\x82\\x3f\\x39\\xdc\\x85\\x26\\xca\\x6c\\xfd\\x3d\\x55\\xb5\\x9f\\xe7\\xe4\\xef\\xf4\\xea\\x9f\\x3c\\xee\\x45\\x7b\\xb9\\x37\\xfc\\xfe\\xcf\\x7e\\xee\\x3b\\xc3\\x43\\x7c\\x45\\xdc\\x2d\\x36\\xff\\x01\\x5f\\x9e\\x6c\\xe4\\x86\\xf4\\xd2\\x15\\x5a\\xf2\\xb8\\xd1\\xdc\\x82\\x2d\\x8f\\xcb\\x7b\\xaa\\x95\\xbc\\xc2\\xa5\\x71\\x9a\\x9c\\x67\\x21\\xdf\\x2e\\x2f\\x20\\xf5\\x3c\\x7d\\xfd\\x7f\\x4f\\x94\\x11\\xc9\\xaf\\x52\\xfb\\xb1\\xb4\\x5a\\xef\\x07\\xb2\\xd5\\x58\\x21\\x7d\\x8c\\x33\\xbc\\x6c\\xd6\\x23\\x46\\xba\\x11\\x2d\\xc7\\x64\\x9b\\x1a\\x6d\\xff\\x8b\\xe4\\x1c\\x34\\x55\\x79\\xdc\\xf9\\x37\\x42\\x97\\xc8\\x7c\\x7e\\x0f\\x91\\x09\\xdc\\xce\\x96\\x04\\xbb\\x1c\\x5d\\x2e\\xbe\\x2f\\xee\\xc0\\xbf\\xf1\\x6a\\x3e\\x77\\xc7\\x3b\\xb8\\x51\\x4e\\xae\\x36\\xe3\\x69\\x75\\x9f\\xc9\\x3d\\xd9\\xcc\\x97\\xfb\\xc0\\xf4\\x39\\xbb\\x2f\\xbd\\x6a\\xd0\\x95\\x6b\\xde\\x60\\x1c\\x36\\x8c\\x4b\\xeb\\x79\\x59\\xcb\\xfd\\x6e\\xad\\x14\\x2b\\x7c\\x37\\x56\\x99\\xdd\\xff\\x00\\xa1\\xff\\xf3\\x8f\\x39\\x94\\x33\\xa7\\x99\\x99\\xca\\xcd\\xfa\\x77\\x7e\\x8c\\x36\\x12\\xe5\\xff\\xc5\\x68\\x1d\\xf8\\xce\\x4c\\xe1\\xe6\\x3d\\x54\\xff\\x5b\\x86\\x60\\x5f\\xa0\\x6f\\xe0\\xdf\\x66\\xb1\\x7f\\xaa\\x35\\xc6\\xaa\\xef\\xe8\\x62\\xbd\\xfa\\x9f\\x74\\x38\\xd7\\x5a\\x53\\x98\\x2d\\x81\\xcf\\xfc\\xb7\\xf8\\x4b\\x1c\\x03\\x1c\\xbb\\x88\\xd6\\xee\\x3f\\xe2\\x56\\xbd\\xd0\\x31\\x1d\\xcb\\xe6\\x8a\\x58\\x47\\x41\\xf0\\x10\\x48\\x6c\\x22\\xf7\\x3e\\xe7\\x84\\xed\\x07\\x55\\x88\\xd4\\x4c\\x81\\x6e\\x85\\x88\\x53\\x38\\x63\\xe1\\x1f\\x8a\\x44\\xd4\\x85\\x18\\x8b\\x6c\\x0e\\xc1\\x1b\\xf5\\x9d\\x48\\xf4\\x52\\x91\\x98\\x91\\x22\\xb1\\xcc\\x8b\\x7d\\x59\\x24\\xee\\x69\\x91\\x78\\x34\\xd7\\xda\\x21\\x52\\x7b\\x02\\x84\\xfc\\x3a\\x4d\\xa1\\x32\\x91\\x84\\x6d\\x22\\x89\\x05\\x22\\x0d\\x48\\xf2\\x86\\x25\\x22\\xfa\\x1f\\x7e\\x7b\\xd0\\xed\\x65\\x2c\\xe9\\x98\\x48\\x23\\xe4\\x25\\x5f\\x14\\x49\\xed\\x20\\xd2\\x38\\x43\\xa4\\x09\\xb2\\xf5\\x9f\\x80\\x36\\x43\\xf7\\x35\\xf0\\xa4\\xc5\\x8b\\x34\\x47\\x56\\x0b\\xfa\\x5a\\xbc\\x2b\\xd2\\x12\\x5b\\x32\\xda\\x88\\xb4\\xaa\\x2f\\xd2\\x9a\\xfe\\xcc\\xd7\\x44\\xda\\xc0\\xdb\\x16\\x3d\\xfa\\xcf\\x6f\\xda\\x63\\x63\\x07\\xe4\\x65\\x9d\\x14\\xe9\\x98\\x0f\\x2d\\x14\\xe9\\x74\\xb7\\x48\\x67\\xfc\\xee\\x82\\xcd\\x5d\\xd1\\xdf\\x95\\x35\\xdc\\x0d\\x59\\xdd\\x8b\\x44\\x7a\\x62\\x7b\\xaf\\x37\\x45\\xb2\\x69\\x7b\\x33\\x3f\\x17\\x99\\xb9\\xd8\\xd4\\x97\\x3c\\xec\\x87\\xdd\\xfd\\xe1\\x19\\x90\\x27\\x32\\x10\\xdb\\x06\\xa2\\x2b\\x0f\\x3d\\x83\\xc0\\x62\\x30\\x25\\xd6\\x10\\xe6\\x0c\\xc5\\xae\\x61\\xf0\\x16\\xa0\\xa7\\x70\\x96\\xc8\\x70\\x30\\x1c\\x81\\xff\\x23\\xc9\\xc7\\x91\\xc8\\x19\\x85\\xcc\\xd1\\xd8\\x31\\x86\\xbe\\x22\\xf4\\x14\\xaf\\x11\\x19\\xbb\\x52\\xa4\\x84\\x39\\xe3\\xc0\\x6b\\xfc\\x09\\x91\\x09\\xf0\\xdd\\xc0\\xf3\\x64\\xe4\\x4d\\xc6\\xf6\\x29\\xe1\\x22\\x53\\xcb\\x21\\xf8\\xa7\\xf3\\x3c\\x9d\\x98\\xcc\\xa0\\xbd\\x11\\xf9\\xb3\\xb0\\x6f\\x36\\x98\\xcc\\x41\\xee\\x9c\\x5c\\x91\\xb9\\xe8\\x9b\\x8b\\x6f\\xf3\\xc0\\xf2\\x16\\x70\\xb8\\x15\\x79\\xf3\\xe1\\x9d\\x8f\\xce\\x05\\xd8\\xbd\\x00\\x0c\\x17\\x80\\xd9\\x02\\xf0\\x28\\xc3\\xe6\\x32\\xf2\\xa0\\x0c\\xfe\\x3b\\x89\\xeb\\x9d\\x3e\\x88\\x9c\\xb8\\x13\\x5d\\x77\\x32\\x6f\\x21\\x32\\x17\\x82\\xed\\x42\\xe2\\xb4\\x10\\xcc\\x16\\x12\\xdb\\xc5\\x5e\\x08\\x39\\x8b\\x91\\xb3\\x18\\x39\\x8b\\x91\\xb3\\x04\\x39\\x4b\\x90\\xb3\\x84\\xf7\\xa5\\xc4\\x7d\\x29\\x58\\x2e\\x03\\xd7\\x65\\xc4\\x70\\x19\\x7e\\x2f\\x03\\xa3\\xe5\\xf8\\xb4\\x92\\x79\\x2b\\xd1\\xb5\\x12\\xf9\\x2b\\x91\\xb5\\x92\\x3c\\x5f\\x45\\xdc\\x56\\x61\\xf7\\x5d\\xf0\\xdc\\x85\\xcd\\x77\\x11\\x8b\\xd5\\xf8\\xb3\\x1a\\x3c\\x56\\xa3\\x77\\x35\\xf8\\xac\\x26\\x3f\\x56\\xe3\\xcb\\x1a\\xec\\x59\\x43\\x3c\\xd7\\xa2\\x6f\\x2d\\xb2\\xd7\\x12\\x8b\\xb5\\xe4\\xc7\\x5a\\xf4\\xae\\x65\\x7c\\x1d\\xb8\\xac\\x27\\xdf\\xd6\\x33\\x67\\xfd\\x11\\x08\\xdb\\xee\\xc6\\x8e\\xbb\\x89\\xd5\\x3d\\xe8\\xbb\\x07\\x7d\\x1b\\xb0\\x7f\\x03\\xfa\\x36\\x60\\xd7\\x06\\x7c\\xda\\x40\\xff\\x06\\xfa\\x37\\xa2\\x73\\x23\\x3e\\x6c\\xc4\\xff\\x8d\\xf4\\x6f\\x24\\x3e\\x1b\\xc9\\xfb\\x4d\\xf4\\x6f\\x02\\x97\\x4d\\xf4\\x6f\\x3a\\x23\\xf6\\xa6\\xb9\\x19\\x1b\\xb7\\x80\\xd7\\x16\\x6c\\xdc\\x82\\xbe\\x2d\\xc4\\x6f\\x0b\\xfa\\xb6\\x60\\xc3\\x56\\x6c\\xdc\\x4a\\x3e\\x6c\\x25\\xb7\\xb6\\x82\\xd1\\xd6\\xfd\\x10\\x58\\x6e\\x25\\x8e\\xdb\\x90\\xb5\\x0d\\x59\\xdb\\x98\\xb3\\x8d\\x39\\xdb\\xf0\\x6b\\x1b\\x36\\x6e\\x47\\xce\\xbd\\xd8\\x7c\\x1f\\xf1\\x05\\x1a\\x29\\x27\\x86\\xe5\\xc4\\xab\\x1c\\xac\\xca\\xc1\\xb3\\x9c\\x3c\\x2b\\xc7\\xc6\\xfb\\x99\\x7f\\x3f\\xf3\\xef\\x47\\xff\\x03\\xe8\\x7f\\x80\\x35\\xf9\\x00\\x98\\xed\\x20\\xbe\\x3b\\xf0\\x71\\x07\\xf9\\xb9\\x93\\xb9\\x3b\\xd1\\xbd\\x13\\xdd\\x3b\\x99\\xbb\\x13\\xdd\\xfa\\xab\\xc1\\x5d\\xcc\\xdb\\xc5\\xf8\\x2e\\x30\\x7a\\x08\\xec\\x76\\x83\\xc1\\x6e\\xf2\\x67\\x37\\x76\\xec\\xc6\\x8e\\xdd\\xd8\\xbe\\x07\\x39\\x7b\\x98\\xbf\\x07\\x9e\\xbd\\xac\\xe5\\x7d\\x60\\xb5\\x4f\\xb7\\xf8\\xbe\\x8f\\xf8\\xec\\x03\\x93\\x7d\\x60\\xb0\\x0f\\x5f\\x1e\\x46\\xff\\x23\\xf0\\x3e\\x82\\x9c\\x47\\xc0\\xf2\\x11\\xec\\x7f\\x04\\x0c\\x1e\\x21\\x3e\\x07\\x88\\xcf\\x01\\x7c\\x3a\\x40\\x7c\\x0e\\xd0\\x7f\\x80\\xfe\\x03\\xf8\\x59\\x41\\x2c\\x2a\\xd0\\x5d\\x81\\x7d\\x8f\\x82\\xc1\\xa3\\x38\\xfb\\x28\\xf6\\x3f\\xca\\x9c\\x43\\xc8\\x78\\x9c\\xb1\\xc7\\x89\\xf9\\xe3\\xc4\\xf4\\x71\\x6c\\x7a\\x9c\\x3c\\x3a\\x0c\\x9e\\x87\\xc9\\xf1\\xc3\\xf4\\x1f\\xc6\\xd6\\xc3\\xd8\\x70\\x18\\xfe\\x27\\xd0\\xf1\\x04\\xb9\\xf9\\x04\\x3a\\x9e\\x60\\xad\\x3d\\x41\\x0e\\x3c\\x01\\x7e\\xdc\\x28\\xe4\\x08\\xfd\\x47\\xf0\\xf5\\x08\\xfd\\x47\\xc0\\xff\\x08\\xbe\\x3d\\x09\\x06\\x4f\\x82\\xe7\\x53\\xc4\\xf8\\x4f\\xe8\\xf9\\x13\\x78\\x3e\\xcd\\xd8\\x9f\\x79\\xfe\\x33\\xb6\\x3d\\x03\\x16\\xcf\\xf2\\xfc\\x2c\\xfe\\x3d\\x4b\\xae\\x1e\\x05\\xbb\\xe7\\x88\\xc1\\x5f\\xc0\\xfc\\x2f\\xf4\\x3d\\x0f\\x26\\xc7\\x18\\x7f\\x81\\xf7\\x17\\xd0\\xf3\\x22\\x36\\xbe\\x84\\xcd\\x2f\\x93\\xbf\\x2f\\x63\\xcf\\x2b\\xe0\\xf0\\x0a\\x58\\xff\\x95\\x75\\xfb\\x2a\\xb2\\x5e\\x45\\xc6\\x6b\\xf8\\x77\\x1c\\x1b\\xfe\\x86\\xfd\\x7f\\x63\\xce\\xeb\\xbc\\x9f\\x40\\xce\\xdf\\x91\\xf3\\xf7\\x9f\\x44\\xfe\\x81\\xfe\\x37\\xc0\\xe2\\x4d\\xec\\x7d\\x0b\\xbb\\xdf\\xc2\\xb7\\xb7\\x91\\xf9\\x36\\x3c\\xef\\x10\\xcf\\x77\\xb0\\xfb\\x5d\\xfc\\x7e\\x4f\\xff\\x69\\x0a\\x73\\xdf\\x67\\xec\\x03\\xec\\xff\\x90\\xb8\\x7c\\x08\\x6e\\x1f\\x31\\xf7\\x63\\xec\\xf9\\x18\\xbd\\x9f\\xa0\\xe7\\x24\\x72\\x4f\\x92\\x1b\\x9f\\x92\\x17\\xa7\\x88\\xd9\\x69\\x64\\x9c\\xc6\\xb7\\x33\\xc4\\xe0\\x33\\x74\\x7c\\x06\\x9e\\x67\\xc1\\xf3\\x2c\\xb6\\x9e\\x25\\xef\\xcf\\xf2\\x5e\\xc9\\x7b\\x25\\x71\\xac\\x44\\x6e\\x25\\xf2\\x2a\\xb1\\xbd\\x12\\x9c\\x2b\\xf1\\xa3\\x92\\xfd\\xa7\\x12\\xbb\\x3f\\x87\\xe7\\x73\\xe6\\x7f\\x8e\\x2d\\x9f\\x23\\xeb\\x73\\xec\\xfc\\x1c\\xfc\\xbe\\xc0\\x8e\\x2f\\x58\\xd3\\x5f\\x80\\xc5\\x17\\xf0\\xfd\\x93\\xfc\\xf9\\x27\\xb9\\xff\\x4f\\xf8\\xfe\\x49\\xbe\\xfc\\x53\\xf7\\x81\\xc3\\x97\\xcc\\xf9\\x12\\x7d\\x5f\\x11\\xb3\\xaf\\xd0\\xf3\\x15\\x7e\\x7c\\xc5\\xf8\\x57\\xe4\\xf5\\xd7\\xe8\\xf9\\x96\\x79\\xdf\\x92\\x2f\\xdf\\xd2\\xff\\x2d\\xfd\\xdf\\xd2\\x7f\\x0e\\x7f\\xff\\x85\\x1f\\xff\\x62\\xde\\xbf\\xc0\\xea\\x3c\\x18\\x9e\\x27\\x1e\\xe7\\xc9\\xeb\\xf3\\xf4\\x9f\\x27\\xde\\xe7\\x19\\x3b\\xcf\\xd8\\xbf\\x19\\xfb\\x0e\\x19\\xdf\\xd1\\xf7\\x1d\\xfe\\x7e\\x8f\\x9e\\xef\\xe1\\xfd\\x1e\\xbd\\xdf\\x63\\xeb\\xf7\\xc4\\xef\\x07\\xfa\\x7e\\xc0\\x87\\x1f\\xc8\\xbb\\x1f\\xd0\\xf1\\x03\\x3a\\x7e\\x20\\x8f\\x7f\\x04\\xa3\\x1f\\xb1\\xf7\\x47\\xd6\\xfc\\x8f\\x60\\xfa\\x23\\xf2\\x7e\\xc2\\x87\\x9f\\xc0\\xe2\\x27\\x70\\xf8\\x89\\xf9\\x3f\\xe1\\xc3\\xcf\\x60\\xf4\\x33\\x32\\x7f\\xc6\\xd7\\x9f\\xc1\\xe5\\x67\\x70\\xfe\\x85\\xd8\\xff\\x82\\xff\\xbf\\x80\\xfd\\x2f\\xe4\\xeb\\x2f\\xe8\\xb9\\x80\\x1d\\x17\\xd0\\x73\\x01\\xde\\x0b\\xf8\\x73\\x11\\xdb\\x2e\\xbe\\x16\\xfc\\xbb\\x81\\x4b\\xc8\\xbd\\x04\\xe6\\x7e\\xfd\\x6f\\x15\\xbf\\xe3\\x86\\x71\\xd4\\xbe\\x54\\x29\\xf5\\xa1\\x28\\x23\\x1c\\xea\\x2c\\xca\\xd4\\x7f\\x41\\x98\\x02\\x8d\\x84\\x76\\x43\\x8c\\x39\\x9a\\x42\\x05\\xd0\\x52\\xe8\\x69\\xe8\\x73\\x51\\xce\\xba\\x10\\x73\\x5d\\x1c\\xe5\\x61\\xd1\\x10\\x7c\\x6e\\x2e\\x8b\\x35\\xe8\\xab\\x39\\x5d\\x54\\xf8\\xad\\xa2\\x22\\x56\\x42\\xdb\\x44\\x45\\x22\\x33\\xca\\x2b\\x2a\\x9a\\x39\\xd1\\xaf\\x89\\xe2\\xac\\x56\\x31\\xc8\\x88\\xfd\\x49\\x54\\x1c\\x36\\xc4\\x9d\\x10\\x15\\xcf\\x7b\\x6d\\x6c\\xa8\\x8d\\xce\\x3a\\x13\\x44\\xd5\\xcd\\x80\\xb0\\x31\\x01\\xfe\\x7a\\x73\\x45\\x25\\x76\\x10\\x55\\x1f\\x3d\\xf5\\xd1\\xd3\\x60\\xa1\\xa8\\x86\\xd8\\xd4\\x90\\x67\\x0f\\x76\\x79\\xb9\\x44\\x7a\\xcf\\x89\\x4a\\x3a\\x24\\xaa\\x51\\x3f\\x08\\xb9\\xc9\\xcc\\x4d\\xb1\\xa0\\x33\\xa2\\x1a\\xd3\\x36\\x7e\\x53\\x54\\x13\\xec\\x6a\\x5a\\x22\\xaa\\x19\\xfc\\xcd\\x90\\x7b\\x0d\\x72\\xd3\\xb0\\x29\\x0d\\x1b\\x9a\\x97\\x89\\x6a\\x81\\xac\\x96\\x61\\x10\\x7d\\x2d\\x67\\x89\\x4a\\x6f\\x03\\x31\\x3f\\x03\\x99\\xad\\x98\\xd3\\x1a\\xfd\\xad\\x2f\\x8a\\x6a\\x03\\x4f\\x1b\\xe6\\xb4\\x65\\x4e\\x3b\\xfa\\xda\\xe1\\x5b\\xbb\\xaf\\x44\\xb5\\x47\\x7f\\x07\\xfc\\xcd\\xe2\\x3d\\x6b\\x87\\xa8\\x8e\\x60\\xd1\\x11\\xdf\\x3a\\xe1\\x4f\\xa7\\x77\\x45\\x75\\xe6\\xbd\\x0b\\xfc\\x5d\\xb0\\xa5\\x2b\\x38\\x76\\x03\\xaf\\x6e\\xcc\\xf3\\x61\\x57\\x77\\x9e\\xbb\\x23\\xb3\\x07\\x3c\\x3d\\xd1\\xdf\\x13\\x3c\\x7a\\x21\\xbf\\x17\\x7e\\x64\\x83\\x7b\\x0e\\x78\\xe4\\x30\\xa7\\x37\\x36\\xe7\\xf6\\x82\\xe8\\xbf\\x16\\x9f\\xfb\\x80\\x45\\xdf\\xfa\\x10\\xba\\xfb\\x61\\x6f\\x3f\\xfa\\xfa\\xbf\\x2c\\x6a\\xc0\\x26\\x51\\x03\\xf1\\x35\\x0f\\xbb\\xf3\\xc0\\x63\\x10\\xe3\\x83\\x89\\xeb\\x60\\xe6\\x0d\\xa9\\x10\\x95\\x3f\\x59\\xd4\\x50\\xec\\x1a\\x06\\xde\\xd7\\x31\\x5e\\x70\\x52\\x54\\x21\\xf3\\x86\\x63\\xef\\x08\\x64\\x8c\\xe4\\x79\\x14\\x18\\x8c\\xc6\\x86\\x31\\xd8\\x3c\\x06\\xac\\x8b\\x8e\\x89\\x2a\\x26\\x76\\x63\\xe3\\xa1\\x72\\x51\\xd7\\xe3\\xe7\\xf5\\xe8\\x29\\xc1\\xb6\\x12\\x70\\x1a\\x87\\x1f\\xa5\\x60\\x53\\x8a\\xfd\\xa5\\xc4\\xa7\\x94\\x98\\x95\\xe2\\x4f\\x29\\xb8\\x96\\x82\\x47\\x29\\x72\\xc7\\x93\\x17\\x13\\xe0\\x99\\x00\\xcf\\x04\\x78\\x26\\x30\\x67\\x02\\x7e\\x4d\\xc4\\x8f\\x1b\\xf2\\x20\\xf4\\x4d\\x82\\x67\\x12\\xb9\\x33\\x09\\x2c\\x27\\x11\\xa7\\x49\\xd8\\x37\\x19\\x1d\\x93\\xb1\\x77\\xf2\\x11\\x08\\xcc\\xa6\\x20\\x7b\\x0a\\x73\\xa6\\x60\\xe7\\x54\\xf2\\x66\\x2a\\x63\\x53\\xef\\x86\\xe0\\x9d\\xce\\xd8\\x74\\x6c\\x9d\\x01\\x1e\\x33\\xf6\\x8b\\x9a\\x89\\xcc\\x99\\xe0\\x39\\x0b\\x5b\\x66\\xd1\\xce\\xa6\\x7f\\x36\\x31\\x98\\x83\\xee\\x39\\xc4\\xf3\\x26\\xf8\\x6f\\x42\\xd6\\x4d\\xf8\\x3e\\x17\\x2c\\xe7\\xe2\\xe3\\x5c\\x64\\xcd\\x25\\x66\\xf3\\x78\\x9f\\x57\\x04\\xc1\\x3b\\x0f\\x0c\\xe7\\x21\\xff\\x66\\xf2\\xf9\\x66\\x6c\\xbc\\x19\\x59\\xb7\\x80\\xe9\\x2d\\xc8\\xbf\\x05\\xde\\x5b\\xf1\\x93\\x7a\\x47\\xcd\\xc7\\xbf\\xf9\\xc4\\x73\\x3e\\xf8\\xcd\\x47\\xff\\x7c\\xfc\\xbe\\x0d\\x5f\\x6f\\x63\\xce\\x6d\\x60\\x7f\\x1b\\x58\\x2d\\x00\\xbb\\x05\\xf8\\xb4\\x00\\xd9\\x0b\\x88\\xef\\x02\\xf0\\x2d\\xa3\\xaf\\x0c\\xbf\\xcb\\xe0\\xbf\\x3d\\x1f\\xc2\\xff\\xdb\\x91\\x7b\\x07\\xf2\\xee\\xc0\\xf6\\x3b\\xd6\\x88\\xba\\x93\\xf5\\x76\\x27\\xf9\\x78\\xa7\\x7e\\xc6\\x87\\x85\\xe0\\xb8\\x10\\x7b\\x17\\x22\\x63\\x21\\xf6\\x2d\\x44\\xf6\\x22\\xe2\\xb3\\x08\\xfd\\x8b\\xf0\\x69\\x11\\xd8\\x2e\\x02\\xaf\\xc5\\xf8\\xb1\\x18\\xfb\\x16\\x63\\xc3\\x62\\xf2\\x6c\\x09\\x6b\\x62\\x09\\x3c\\x4b\\x88\\xdf\\x12\\xf4\\x2d\\xc5\\x96\\xa5\\xf0\\x2f\\xc5\\xfe\\xa5\\xe4\\xc8\\x32\\xfc\\x5a\\x06\\x06\\xcb\\xc0\\x7f\\x39\\xbc\\xcb\\xd1\\xb9\\x1c\\xdb\\x96\\xc3\\xbb\\x02\\x9d\\x2b\\x98\\xbb\\x02\\x59\\x2b\\xc8\\x9b\\x95\\x8c\\xaf\\xc4\\x3f\\xea\\x2b\\xb5\\x12\\x9f\\x57\\xe2\\xf3\\x4a\\xfc\\x59\\x45\\xde\\xac\\x82\\x67\\x15\\x36\\xdc\\xc5\\xf3\\x5d\\xe4\\xed\\x5d\\x8c\\xdf\\x45\\x2e\\xac\\xc6\\x8f\\xd5\\xc8\\x5c\\x8d\\xfc\\x35\\xc4\\x6f\\x0d\\x98\\xae\\x01\\xe3\\x35\\x8c\\xad\\xa1\\x6f\\x2d\\xb6\\xae\\x23\\x77\\xd7\\xe3\\xcb\\x7a\\xf2\\x78\\x3d\\xfd\\x1b\\x90\\xb9\\x11\\x3f\\x36\\xf2\\x4e\\x6d\\xa4\\xa8\\x8b\\xd4\\x26\\xb0\\xdf\\x84\\x3f\\x9b\\x89\\xe1\\x66\\x9e\\x37\\xf3\\xbc\\x85\\xf8\\x6e\\xc1\\xce\\xad\\xb4\\x5b\\xf1\\x81\\xed\\x56\\x6d\\xe3\\x79\\x1b\\xf3\\xb6\\x31\\x8f\\x7a\\x47\\x6d\\x67\\x1d\\xdd\\x8b\\xde\\x7b\\xb1\\xe7\\x5e\\x30\\xbe\\x8f\\xf9\\xf7\\xb1\\x16\\xca\\xc1\\xba\\x1c\\x6c\\xa9\\x75\\xd4\\xfd\\xf4\\x3f\\x80\\x8d\\x0f\\x10\\xb3\\x07\\xe1\\x7d\\x90\\x78\\xec\\xc0\\x97\\x1d\\xe0\\xb3\\x13\\xdd\\x3b\\xc9\\xc5\\x9d\\xe4\\xc0\\x2e\\xf0\\xd8\\x85\\xff\\x0f\\xe1\\xff\\x43\\xe8\\xdd\\x0d\\x76\\xbb\\xc9\\xc7\\xdd\\xe4\\xe6\\x1e\\x74\\xed\\x61\\xde\\x1e\\x6c\\xdf\\xcb\\x9c\\xbd\\x60\\xbc\\x17\\x79\\x7b\\xb1\\x73\\x2f\\x58\\x53\\xdf\\xa8\\x7d\\xc8\\xd9\\x07\\xef\\x3e\\xf4\\xed\\x43\\xde\\x7e\\xfa\\xf7\\x83\\xeb\\x7e\\x64\\x3d\\x8c\\x7d\\x0f\\x33\\xe7\\x61\\xfc\\x78\\x04\\x9b\\x1f\\x21\\xce\\x07\\xb0\\xf5\\x00\\xf9\\x70\\x00\\xde\\x03\\xe4\\x23\\x75\\x8d\\x3a\\x88\\x9e\\x83\\xc8\\x7a\\x14\\x7c\\x1e\\x03\\xbb\\xc7\\x88\\xd5\\x63\\xe8\\x78\\x8c\\xd8\\x1f\\x02\\xfb\\x43\\xf8\\x7f\\x88\\xfe\\x43\\xc8\\x7a\\x1c\\xbe\\xc3\\xd8\\x7c\\x18\\x3b\\xa8\\x5d\\xd4\\x11\\xf6\\x82\\x27\\x91\\xf9\\x24\\x7a\\x9f\\xe2\\xfd\\x29\\xfc\\xfb\\x13\\x79\\xf1\\x34\\x73\\x9e\\xc6\\xdf\\x3f\\x93\\x8b\\xcf\\x80\\xc9\\x33\\xac\\xf9\\x67\\x89\\xe1\\xb3\\xf8\\x72\\x94\\xf1\\xe7\\x18\\x7f\\x8e\\x9c\\xfb\\x0b\\x7d\\xcf\\x83\\xcf\\xf3\\xcc\\x3f\\x46\\xbc\\x5f\\x20\\xa7\\x5f\\x40\\xce\\x0b\\xe4\\xc1\\x0b\\xf4\\xbd\\x80\\xbc\\x17\\xd1\\xf7\\x22\\xf9\\xfa\\x12\\x58\\xbc\\x8c\\xae\\x97\\xc9\\xd9\\x97\\x91\\xf9\\x0a\\x36\\xfd\\x95\\xdc\\x7b\\x15\\x6c\\x5e\\xc5\\xdf\\xd7\\xe8\\x3b\\x8e\\x2f\\xc7\\x99\\xf7\\x37\\x7c\\xff\\x1b\\x7d\\xaf\\x63\\xdf\\xeb\\xd8\\x71\\x82\\xf7\\xbf\\x23\\xe7\\x1f\\xd8\\xff\\x06\\x7a\\xa8\\x5b\\xd4\\x9b\\xac\\xdf\\xb7\\xf0\\xf1\\x6d\\xf0\\x7a\\x87\\x1c\\x79\\x17\\x5b\\xde\\x23\\x76\\xef\\x91\\x43\\xef\\xe3\\xdf\\x07\\xc4\\xe1\\x43\\xe4\\x7d\\xc8\\xf3\\x47\\xd8\\xf4\\x31\\xcf\\x1f\\x63\\xf3\\xc7\\xec\\x0f\\x1f\\x63\\x0f\\x75\\x8b\\x3a\\x89\\x9c\\x93\\xcc\\x3b\\x89\\x9f\\x27\\xd1\\xf7\\x29\\x79\\x70\\x0a\\x5d\\xd4\\x2f\\xea\\x34\\x72\\x4e\\xa3\\xe3\\x0c\\xb9\\x78\\x06\\x9b\\xcf\\x80\\xeb\\x67\\xcc\\xf9\\x0c\\x79\\x67\\xb1\\xe1\\x2c\\xef\\x67\\xf1\\xe9\\x2c\\xf6\\x9e\\xc5\\x86\\x4a\\x62\\xf8\\x39\\x71\\xf9\\x02\\xec\\xbf\\xc0\\xae\\x7f\\x92\\x6f\\x5f\\x62\\xcf\\x97\\x8c\\x7d\\x89\\xec\\xaf\\xd0\\xfd\\x15\\xba\\xbf\\x42\\xf7\\xd7\\xc4\\xf3\\x6b\\xe2\\xf9\\x0d\\x58\\x7e\\x4b\\xee\\x9f\\x43\\xff\\x39\\x72\\xf8\\x5f\\xb4\\xe7\\xc9\\xd9\\xf3\\xc4\\xed\\x3c\\x7b\\xc2\\x79\\xec\\x38\\x0f\\x3e\\xe7\\xc9\\xaf\\xf3\\x60\\x7b\\x1e\\xde\\x7f\\x83\\xc3\\x77\\xf0\\x7d\\x47\\x4e\\x7f\\x4f\\xee\\x7d\\x8f\\xce\\x1f\\x90\\xfb\\x23\\xb9\\xf4\\x13\\xb6\\x53\\x2b\\xa8\\x5f\\x90\\xf1\\x0b\\xb8\\x5d\\x40\\xe7\\x45\\x6c\\xbd\\x88\\xad\\x97\\xc8\\x1b\\x3f\\xfc\\x7e\\x7c\\x0c\\x30\\x37\\x30\\x4b\\x0c\\x59\\x23\\x86\\xa2\\xe5\\xce\\x6f\\x18\\xfd\\xc4\\x30\\xe3\\xa1\\xd7\\xc4\\xb0\\xca\\xc4\\x70\\xf0\\xee\\x18\\x09\\x7d\\x05\\xe9\\xbf\\xd2\\x0c\\x87\\xb6\\x41\\xfb\\xc5\\x70\\xbd\\x09\\x9d\\x11\\x23\\x6c\\xa9\\x18\\xee\\x5c\\xd1\\x7f\\x0a\\x60\\xd4\\x60\\x5e\\x4d\\xe4\\x85\\x23\\x2f\\x22\\x05\\x62\\x3c\\x92\\xbe\\xa8\\x95\\xd0\\xd3\\x10\\xef\\xd1\\xc8\\x89\\xf1\\x42\\x3c\\xc7\\x7c\\x27\\x46\\xac\\x05\\x35\\x87\\x3a\\x8b\\x11\\xd7\\x41\\x8c\\x78\\xda\\x5a\\xd3\\xa1\\xbb\\xc5\\xa8\\x8d\\x9c\\xda\\x87\\xc4\\xa0\\x26\\x30\\xea\\xde\\x2a\\x46\\x02\\xf3\\xea\\x61\\x43\\x3d\\xe6\\x51\\xfe\\x18\\xf5\\x91\\xd1\\xe0\\x88\\x18\\x0d\\xd1\\xe9\\x39\\x26\\x86\\x17\\x3b\\x93\\x4e\\x8a\\xd1\\x08\\x9d\\xdc\\xe3\\x8d\\xd4\\xa6\\x62\\x34\\x46\\x4e\\x93\\x9f\\xc4\\x68\\x4a\\x5f\\x33\\x64\\x5c\\x53\\x22\\x46\\x1a\\xfa\\xd2\\x90\\xdb\\xdc\\x07\\xa1\\xa3\\xf9\\x6e\\x31\\x5a\\x94\\x8b\\xd1\\x72\\xa1\\x18\\xe9\\xe8\\xce\\xc0\\x1f\\xce\\x7b\\x23\\xf3\\x28\\x74\\x4e\\x8c\\x36\\xe8\\x6d\\x83\\xfc\\xb6\\x60\\xd1\\x0e\\xfd\\xed\\xb0\\xa7\\x1d\\xef\\xed\\xeb\\x42\\xf0\\xb7\\x7f\\x57\\x0c\\xce\\x7c\\xa3\\x13\\xb6\\x74\\x46\\x4f\\x97\\x0f\\xc5\\xe8\\x8a\\xac\\x6e\\xe8\\xe1\\xea\\x63\\xf8\\xd0\\xdf\\x1d\\xbd\\xdd\\x4f\\x88\\xd1\\x83\\xb9\\x3d\\x91\\xd1\\x13\\xb9\\xbd\\x5e\\x16\\x23\\x1b\\x5f\\x7a\\xc3\\x97\\x8b\\x9c\\x6b\\x37\\x89\\xd1\\x07\\xbe\\xbe\\xe0\\xd0\\x0f\\xfc\\xfa\\x13\\x8b\\xfe\\x8c\\x0f\\xc0\\xa7\\x81\\xd8\\x9b\\x07\\x8e\\x83\\xf0\\x67\\x70\\x91\\x18\\x43\\x98\\x33\\x04\\xb9\\xf9\\xf8\\x3c\\xf4\\x73\\x31\\x86\\x61\\xc3\\x75\\x15\\x62\\x14\\xc0\\x53\\xd8\\x0b\\x62\\xce\\x70\\x64\\x0e\\x27\\x8e\\x23\\xc2\\x20\\xb0\\x1a\\xc9\\xdc\\x51\\xf8\\x39\\x1a\\xde\\x31\\xf0\\x15\\x81\\x75\\x31\\xf8\\x17\\x63\\x33\\x67\\xba\\x71\\x3d\\xb6\\x95\\xe0\\x53\\x09\\xb8\\x8d\\x63\\xce\\x38\\xec\\x2b\\x25\\x6e\\xe3\\xc1\\x77\\x3c\\xe3\\x13\\xe9\\xbb\\x61\\xae\\x18\\x93\\xa0\\xc9\\xc8\\x9e\\x82\\x0d\\x53\\xd0\\x3f\\x15\\xbf\\xa6\\xa1\\x7b\\x3a\\xba\\x66\\xe4\\x8b\\x71\\x23\\x32\\x6e\\x04\\x83\\x99\\x60\\x32\\x0b\\x7f\\x66\\x81\\xf1\\x2c\\xfd\\x4c\\xce\\xcc\\x46\\xc6\\x6c\\xf4\\xce\\x26\\xb7\\x66\\x83\\xe7\\x6c\\xec\\x98\\x8d\\x8e\\xd9\\xd8\\x30\\x9b\\x39\\x73\\xc0\\x7d\\x0e\\xf6\\xdf\\x84\\xbf\\xf3\\x32\\xc4\\xb8\\x19\\x1e\\xce\\x58\\xe3\\x56\\xe6\\xdc\\xca\\x9c\\xf9\\x8c\\xdd\\x56\\x5f\\x8c\\x05\\xe8\\x29\\x9b\\x0c\\x61\\x57\\x19\\x72\\x39\\x2f\\x8d\\x3b\\xd0\\x73\\x07\\xb1\\xbc\\x03\\x39\\x77\\x62\\xd7\\x42\\x70\\x59\\x84\\x9c\\x45\\xf8\\xbe\\x18\\xbc\\x97\\x80\\xe9\\x52\\xe6\\x2e\\xcd\\x13\\x63\\x19\\x73\\x97\\x93\\x0f\\xcb\\xc9\\x13\\xce\\x32\\x83\\x73\\xcb\\x58\\xc5\\xbc\\xbb\\xf0\\x63\\x35\\x39\\xcd\\x79\\x64\\xac\\x85\\x6f\\x1d\\x36\\xac\\xc7\\x66\\xce\\x20\\x63\\x3d\\xb2\\xee\\x06\\x8b\\x7b\\xf0\\x7f\\x03\\x76\\x71\\x67\\x37\\x36\\x81\\xdf\\x26\\x72\\x61\\x33\\xe3\\xdc\\xc5\\x8d\\xad\\x60\\xb8\\x8d\\xfe\\x6d\\xc8\\xdd\\x8e\\x4d\\xf7\\x16\\x88\\x71\\x1f\\xf3\\xef\\x03\\x93\\xfb\\xb0\\x87\\x3b\\xb5\\x71\\x3f\\x3c\\xf7\\x23\\xe3\\x7e\\xf4\\xdc\\x4f\\xcc\\xef\\xa7\\xef\\x01\\x72\\xe2\\x01\\x7c\\x79\\x80\\xb8\\x3d\\x88\\xde\\x07\\xc1\\x74\\x07\\xb2\\x77\\x80\\xf1\\x0e\\xf4\\xee\\xc0\\x9f\\x9d\\xe4\\xc3\\x4e\\xec\\xde\\x09\\xdf\\x4e\\xec\\xdc\\xc5\\xf8\\x2e\\xf8\\x1e\\x22\\x8f\\x1f\\x22\\xb6\\x0f\\x91\\x2b\\xbb\\xc9\\x55\\xee\\xd7\\xc6\\x6e\\x7c\\xda\\x0d\\xa6\\x7b\\xc8\\xbf\\x3d\\xcc\\xdb\\x43\\x3e\\xee\\x81\\x67\\x0f\\x39\\xbd\\x07\\x2c\\xf6\\x32\\x77\\x2f\\x36\\xed\\xc5\\x8e\\xbd\\xe4\\xc3\\x3e\\x6c\\xd8\\x0f\\x36\\xfb\\xb1\\x99\\x33\\xc8\\x78\\x18\\xbd\\x0f\\xa3\\xf7\\x61\\x30\\x79\\x04\\xfb\\xb9\\x6b\\x1b\\x8f\\xe0\\xcb\\x23\\xbc\\x73\\xc7\\x36\\x0e\\x80\\xcb\\x01\\x30\\xe0\\x8e\\x6d\\x1c\\x40\\x26\\xd7\\x1f\\xa3\\x82\\xfe\\x0a\\xf4\\x56\\x60\\x5b\\x05\\x98\\x1f\\xc4\\xb7\\x83\\xd8\\xf0\\x28\\xb6\\x73\\x26\\x19\\x87\\x88\\xd9\\x21\\x70\\x79\\x1c\\x3b\\x0f\\xa3\\xf7\\x09\\x6c\\xe5\\x7a\\x6e\\x3c\\x89\\xef\\x4f\\x62\\xdb\\x53\\xe8\\x7f\\x0a\\x9d\\x7f\\x62\\xfe\\xd3\\xe4\\xcd\\x9f\\xa1\\x67\\xb0\\xf3\\x19\\xde\\x9f\\x25\\x1e\\x47\\xc1\\xf8\\x39\\xf8\\xfe\\x82\\xce\\xe7\\xb1\\xf3\\x18\\x7a\\x5f\\x80\\xff\\x45\\xd6\\xcb\\x4b\\x60\\xf2\\x32\\x3e\\xbe\\xc2\\x9c\\xbf\\x92\\x27\\xaf\\x12\\x83\\x57\\xe1\\x7f\\x0d\\xbb\\x5f\\x43\\xff\\x71\\xd6\\xca\\xeb\\xc8\\xe7\\xba\\x6a\\x9c\\x80\\xef\\xef\\xd8\\xfa\\x77\\x7c\\xf9\\x07\\xb2\\xde\\x60\\xce\\x1b\\xc4\\xe6\\x4d\\xec\\x7b\\x8b\\xfe\\xb7\\xd0\\xf7\\x36\\xfa\\xde\\x01\\x83\\x77\\xc8\\xbb\\x77\\x88\\xef\\xbb\\xe8\\x78\\x97\\xf5\\xfd\\x1e\\x73\\xdf\\x27\\x7e\\x1f\\x68\\x42\\xff\\x87\\xc8\\xfc\\x90\\xfe\\x8f\\xe0\\xff\\x98\\x75\\xf3\\x31\\x3a\\x3f\\xa1\\xfd\\x04\\x3c\\x4f\\xc2\\xfb\\x29\\xf1\\xfa\\x14\\x4c\\x3e\\xc5\\xff\\x4f\\xb1\\xf9\\x14\\xf6\\x9c\\x02\\x83\\xd3\\xd8\\x7d\\x06\\xbe\\x33\\xc8\\x3d\\x83\\xfc\\x33\\xe4\\xf0\\x67\\xf8\\x70\\x16\\x8c\\xcf\\x32\\x5e\\x09\\x7e\\x9f\\x23\\xeb\\x0b\\x72\\xff\\x9f\\xd8\\xcc\\x9d\\xd6\\xf8\\x92\\x3d\\xfa\\x4b\\x78\\xbf\\x42\\xf7\\x57\\xe8\\xfe\\x9a\\xf9\\x5f\\x63\\xf7\\x37\\xf8\\xfb\\x0d\\xfe\\x7d\\x4b\\x3e\\x9d\\x43\\xde\\x39\\x74\\xff\\x8b\\x79\\xe7\\xc1\\xf5\\x3c\\x7c\\xff\\x66\\xde\\xbf\\xb1\\xf1\\x3b\\xf2\\xe4\\x3b\\x62\\xff\\x3d\\x7a\\x7e\\x80\\x8f\\xfb\\xa7\\xf1\\x23\\x6b\\x8f\\xfb\\xa6\\xf1\\x13\\x79\\xf7\\x33\\xfb\\xca\\x2f\\xf8\\xff\\x0b\\x73\\x2e\\x60\\xcf\\x45\\xe4\\x72\\x77\\x34\\x2e\\x81\\x93\\x1f\\xd9\\x7e\\x74\\x04\\xd0\\x1d\\x78\\x5a\\x4c\\x89\\x86\\x68\\x55\\x06\\x74\\x44\\x4c\\xa3\\xb9\\x98\\x26\\x7d\\x66\\x99\\x98\\x16\\x7d\\xd6\\x39\\x31\\x1d\\x3c\\x3b\\x7d\\xd0\\x77\\x62\\xba\\xb6\\x89\\x19\\x16\\x0f\\xdd\\x2d\\xa6\\xbb\\x2e\\xb4\\x50\\xcc\\x1a\\x9d\\xa1\\xd7\\xc4\\xac\\x39\\x4b\\xcc\\xf0\\xa6\\xd0\\x51\\x31\\x23\\x0e\\x89\\x19\\x59\\x21\\x66\\x14\\xcf\\xd1\\x3c\\xc7\\x32\\x3f\\xae\\x40\\xcc\\xf8\\xe9\\x62\\xd6\\xa2\\xad\\x9d\\x02\\xfd\\x24\\x66\\x9d\\x13\\x62\\xd6\\x45\\x6f\\xc2\\x19\\x31\\xeb\\xa1\\x27\\x91\\xb1\\xfa\\xf0\\x37\\xe8\\x00\\xbd\\x2c\\x66\\x43\\xe4\\x7a\\xd6\\x88\\xe9\\xdd\\x2f\\x66\\xd2\\x52\\x31\\x1b\\xcd\\x15\\x33\\x39\\x5f\\xcc\\x14\\xfa\\x53\\x19\\x6f\\xcc\\x73\\x13\\xfa\\x9b\\x4e\\x10\\xb3\\x19\\x74\\x0d\\xf6\\x73\\x1f\\x34\\xd3\\xb0\\xbb\\xf9\\x0e\\x31\\x5b\\x60\\x6f\\x4b\\x64\\xa6\\x43\\x19\\xd8\\xd9\\x0a\\xbd\\xad\\x2e\\x8a\\x99\\x89\\x8f\\x6d\\x78\\x6e\\x1b\\x0e\\x21\\xab\\x1d\\xba\\xdb\\x33\\xde\\x21\\x0c\\xfa\\x4a\\xcc\\x2c\\x64\\x66\\x61\\x5f\\xc7\\xdd\\x62\\x76\\x62\\xac\\x33\\xf6\\x74\\x46\\x5f\\x17\\xe4\\x74\\x65\\x4e\\x57\\xec\\xe9\\xd6\\x0f\\x62\\xbc\\x1b\\xf2\\x7c\\xd8\\xd5\\xbd\\x0d\\x84\\xad\\x3d\\xc0\\xa7\\x07\\xef\\x3d\\xf1\\xb5\\x17\\xfc\\xd9\\xc8\\xcc\\xc6\\xc7\\x9c\\x5c\\xe8\\x5d\\x31\\x7b\\x33\\x37\\xf7\\x56\\x88\\x79\\xd7\\x96\\x8b\\xd9\\x67\\xa4\\x98\\x7d\\xc1\\xad\\x2f\\xf6\\xf6\\x03\\xf3\\x7e\\xd8\\xcc\\x99\\x61\\xf6\\x3f\\x26\\xe6\\x00\\xec\\x18\\x88\\x9d\\x9c\\x1b\\x66\\x5e\\x1e\\x84\\x6d\\x83\\x98\\x33\\x18\\xfb\\x07\\xe3\\xfb\\xe0\\x4d\\x10\\x32\\x87\\xe0\\xf3\\x10\\xfc\\x1f\\x82\\x9e\\x7c\\x64\\xe5\\xf3\\x9c\\xff\\xa1\\x98\\x43\\xd1\\x3d\\x14\\xbb\\x86\\x96\\x40\\xc8\\x1a\\x4a\\x4c\\x86\\xc2\\x3f\\x4c\\x20\\xf8\\x86\\x21\\x63\\x18\\x71\\x1b\\x86\\xee\\x61\\xe4\\xc1\\x30\\xe2\\x70\\x1d\\xfe\\x5d\\xc7\\x9c\\xeb\\xb0\\xeb\\x3a\\xe2\\x7b\\x1d\\xf6\\x5e\\xf7\\x26\\x84\\xbd\\x05\\xd8\\x57\\x80\\x1d\\x05\\xf4\\x17\\x30\\xa7\\x00\\xec\\x0a\\xc8\\x8b\\xc2\\xfa\\x50\\x2f\\x08\\x59\\x85\\xd8\\x57\\x48\\x5c\\x87\\xa3\\x63\\x38\\xfc\\xc3\\x8b\\x20\\x70\\x19\\x4e\\x2e\\x0c\\xff\\x5c\\xcc\\x11\\xd8\\x3e\\x02\\xde\\x11\\x60\\x34\\x12\\x9d\\xa3\\x88\\xd5\\x68\\xec\\x1f\\x4d\\x8e\\x8c\\xc6\\xee\\xd1\\xf0\\x8e\\x06\\xeb\\xd1\\xf0\\x8e\\xa1\\x7f\\x0c\\xb8\\x8d\\x01\\xcb\\x31\\xf8\\x3a\\x06\\x19\\x63\\xe8\\x2f\\x42\\x46\\x11\\x31\\x29\\xc2\\xaf\\x22\\xf8\\x8b\\xf0\\xbb\\xe8\\xa4\\x98\\xc5\\xf8\\x5b\\x8c\\xce\\x62\\x74\\x16\\xd3\\x5f\\x0c\\x7f\\x31\\xf2\\xc7\\x22\\x67\\x2c\\xf2\\xc7\\x22\\x87\\x33\\xd2\\x1c\\x8b\\xfc\\xb1\\xf4\\x5f\\x4f\\xff\\xf5\\xf4\\x73\\x66\\x9a\\xd7\\xc3\\x7f\\x3d\\x98\\x5f\\x0f\\x06\\x25\\xf8\\x53\\x42\\x3e\\x94\\xc0\\x5f\\x42\\x7f\\x09\\xfd\\xdc\\x8f\\xcd\\x71\\xc4\\x65\\x1c\\xb6\\x8f\\xc3\\xcf\\x71\\xf8\\x3f\\x0e\\x5c\\x4a\\xf1\\x93\\xbb\\xb2\\x59\\x0a\\x2e\\xa5\\xc4\\xb5\\x94\\xf8\\x95\\xc2\\x5f\\x4a\\xac\\xc6\\x23\\x67\\x3c\\x79\\x32\\x1e\\xfe\\xf1\\xf4\\x8f\\x07\\x97\\x09\\x16\\x84\\xed\\x13\\x26\\x43\\xf8\\x34\\x01\\xdb\\x27\\xe0\\xd3\\x44\\x7c\\x9a\\x48\\xff\\x44\\x6c\\x9f\\x48\\xac\\x26\\x12\\xab\\x89\\xc4\\xea\\x06\\xe4\\xdf\\x80\\x7c\\xee\\xd6\\x26\\xe7\\xb6\\x79\\x03\\xf6\\xdf\\x80\\xfd\\x37\\x60\\xff\\x24\\x72\\x63\\x12\\x31\\xe4\\xae\\x6d\\x4e\\x42\\xe7\\x24\\x62\\x31\\x99\\xbe\\xc9\\xe8\\x9c\\x8c\\xce\\xc9\\xf0\\x4e\\x86\\x77\\x32\\xfd\\x53\\xf0\\x75\\x0a\\x58\\x4e\\xc1\\xa7\\x29\\xf4\\x4f\\xc1\\x96\\x29\\xe4\\xf8\\x54\\x2f\\x84\\xec\\xa9\\xe4\\xf9\\x54\\xf2\\x6c\\x2a\\xb6\\x4c\\x83\\x77\\x1a\\xbc\\xd3\\xd0\\x37\\x0d\\x3f\\xa7\\x11\\xe7\\x69\\xc8\\x98\\x8e\\x3f\\xd3\\xf1\\x7f\\x3a\\xb6\\x4f\\xc7\\xf6\\xe9\\xf4\\xcf\\xc0\\xbe\\x19\\x60\\x3e\\x03\\xbb\\x6f\\x24\\x6f\\x6e\\x24\\x6f\\x6e\\x24\\x3f\\x6e\\x44\\xd6\\x8d\\x60\\x36\\x13\\xcc\\x66\\x22\\x6b\\x26\\xd8\\xcc\\xc4\\xa7\\x99\\xf4\\xcd\\x42\\xfe\\x2c\\x6c\\x9c\\x85\\xce\\x59\\xe4\\xd7\\x2c\\xe4\\xcc\\x46\\x0e\\xf7\\x7a\\x73\\x36\\xb1\\x98\\x0d\\x56\\xb3\\xb1\\x6f\\x0e\\x58\\xcd\\x01\\x93\\x39\\xe8\\x9b\\x83\\xbe\\x39\\x60\\x35\\x87\\x38\\xdf\\x44\\x9c\\xb9\\xf3\\x9b\\x37\\xc1\\x7b\\x13\\xfd\\x37\\xe1\\xe3\\x4d\\xe4\\xe7\\x5c\\xec\\x98\\x4b\\x4e\\xcc\\xa5\\x6f\\x2e\\x32\\xe7\\x21\\x73\\x1e\\x32\\xe7\\xc1\\x37\\x8f\\x3d\\x8b\\xfb\\xbf\\x39\\x0f\\xfd\\x37\\x63\\xd3\\xcd\\xc4\\xf7\\x66\\x78\\x6f\\x06\\xbb\\x9b\\xe9\\xbf\\x99\\xfe\\x5b\\xe8\\xbf\\x05\\x5b\\x6f\\xc1\\xd6\\x5b\\xb0\\xf5\\x16\\xfa\\x6e\\xc5\\x56\\x6a\\x16\\xf3\\x56\\x6c\\xbd\\x15\\xbe\\x5b\\xd1\\x3f\\x1f\\xb9\\xf3\\xc1\\x79\\x3e\\x32\\xe6\\xe3\\xf7\\x7c\\x70\\x9a\\x8f\\xcd\\xf3\\xc9\\xb7\\xf9\\xcc\\x99\\x8f\\x2d\\xb7\\x31\\x7e\\x1b\\xf3\\x6e\\x23\\x0e\\xb7\\x31\\x76\\x1b\\xf6\\xdc\\x46\\xff\\x02\\xf0\\x5e\\x80\\xed\\x0b\\xc0\\x69\\x01\\x63\\x0b\\xb0\\x75\\x01\\xeb\\x60\\x01\\x72\\x17\\x10\\x8f\\x32\\xc6\\xcb\\xb0\\xa1\\x0c\\x99\\xd4\\x45\\x66\\x19\\xbe\\x95\\x31\\x76\\x3b\\xf9\\x71\\x3b\\xb9\\x7a\\x3b\\xf1\\xbb\\x9d\\xfe\\xdb\\xc1\\xe7\\x0e\\xec\\xb8\\x03\\xff\\xee\\xc0\\xbf\\x3b\\xd0\\x71\\x07\\x7d\\x77\\x82\\xd9\\x9d\\xc8\\xbf\\x93\\xbd\\xe7\\x4e\\x64\\xdc\\x49\\xff\\x9d\\xd8\\x75\\x27\\x76\\x2d\\x04\\xb7\\x85\\xec\\x91\\x0b\\x89\\xf7\\x42\\xfc\\x59\\x88\\x8f\\x0b\\x91\\xbd\\x08\\xd9\\x8b\\x88\\xeb\\x22\\xf8\\x17\\xc1\\xbf\\x08\\x7e\\xea\\x2d\\x73\\x31\\xfc\\x8b\\xe1\\x5f\\x0c\\xff\\x62\\xf8\\x17\\xc3\\xbf\\x98\\xfe\\x25\\x60\\xb2\\x04\\xdf\\x96\\xd0\\xb7\\x04\\x4c\\x96\\x90\\x33\\x4b\\xd9\\x37\\x96\\x82\\xff\\x52\\xf2\\x71\\x29\\x72\\x96\\x22\\x67\\x29\\x72\\x96\\xc2\\xbf\\x0c\\x39\\xcb\\xb0\\x69\\x19\\x76\\x2e\\xa3\\x7f\\x19\\x76\\x2e\\xc7\\xce\\xe5\\xf4\\x2d\\x27\\xb6\\xcb\\xf1\\x67\\x39\\xf9\\xbb\\x1c\\x39\\x2b\\x90\\xb3\\x02\\x39\\x2b\\x90\\xb3\\x02\\x39\\x2b\\xe0\\x5f\\x81\\x9c\\x15\\xe4\\xfb\\x4a\\xb0\\x59\\x49\\xff\\x4a\\xd6\\xc7\\x4a\\x30\\x5b\\x49\\xdf\\x2a\\x62\\xb6\\x0a\\x39\\xab\\xc0\\x73\\x15\\xf6\\xac\\x22\\x5f\\x57\\x81\\xd9\\x2a\\xb0\\xbc\\x8b\\x75\\x73\\x17\\xfd\\x77\\xb1\\x86\\xef\\x42\\xfe\\x5d\\xf4\\xad\\xc6\\x9f\\xd5\\xc4\\x6c\\x35\\x39\\xba\\x9a\\xfd\\x7b\\x35\\x71\\x59\\x8d\\x9c\\x35\\xc8\\x5e\\x83\\x9f\\x6b\\xe8\\x5f\\x43\\x9e\\xad\\x61\\xfd\\xae\\xa5\\x6f\\x2d\\xfa\\xd6\\xa2\\x6f\\x2d\\x79\\xba\\x16\\xbb\\xd7\\xb2\\x0e\\xd6\\xe1\\xff\\x3a\\x62\\xbf\\x0e\\x39\\xeb\\xe0\\x5f\\x87\\x9c\\x75\\xac\\x55\\x6a\\x4c\\x73\\x3d\\xb6\\xac\\xc7\\xcf\\xf5\\xc4\\x75\\x3d\\x76\\xac\\x47\\xe7\\xdd\\xe4\\xc2\\xdd\\xc8\\xb9\\x1b\\xde\\xbb\\xc1\\xeb\\x6e\\x30\\xb9\\x07\\xbb\\xef\\x01\\xf3\\x7b\\xc8\\xc1\\x7b\\xe8\\xbf\\x07\\xbb\\xef\\xc1\\xc6\\x7b\\x18\\xdb\\x00\\x36\\x1b\\xc0\\x80\\xfa\\xd4\\xdc\\xc0\\xd8\\x06\\x74\\x6f\\x40\\xfe\\x46\\xfa\\x37\\xd2\\xbf\\x91\\xfe\\x8d\\xd8\\xb4\\x11\\x59\\x1b\\xd9\\x83\\x36\\x62\\xd3\\x26\\xe4\\x6d\\x22\\x17\\x36\\xa1\\x67\\x13\\x79\\xb5\\x09\\x4c\\x37\\xe1\\xdb\\x26\\xf4\\x6f\\x46\\xff\\x66\\x7c\\xdb\\x4c\\x5e\\x6f\\xc6\\xd6\\xcd\\xcc\\xd9\\x42\\xee\\x6c\\x01\\x8b\\x2d\\xc4\\x71\\x0b\\x31\\xa0\\xee\\x35\\xb7\\xa0\\x67\\x0b\\x73\\xb6\\xe0\\xfb\\x56\\x7c\\xdc\\x8a\\x7d\\x5b\\xc9\\xb7\\xad\\xc4\\x60\\x2b\\xbe\\x6c\\x45\\xcf\\x36\\x30\\xd9\\xc6\\x9c\\x6d\\xc4\\x66\\x1b\\x36\\x6f\\x43\\xd6\\x76\\xec\\xda\\x8e\\x8e\\xed\\xf4\\x6f\\x47\\x16\\x35\\xb3\\xb9\\x9d\\xf8\\x6c\\x47\\xce\\xbd\\xec\\x19\\xf7\\x82\\xd5\\xbd\\xd8\\x7c\\x2f\\xbe\\xdc\\x4b\\xbe\\xdd\\x87\\x0f\\xf7\\xa1\\xaf\\x1c\\x9b\\xef\\x67\\xee\\xfd\\xcc\\xbd\\x1f\\x9e\\xfb\\xe1\\xb9\\x9f\\xfe\\xfb\\xb1\\xe3\\x7e\\xb0\\xbe\\x1f\\x7d\\x0f\\x60\\xc7\\x03\\x8c\\x3d\\x00\\x4e\\xd4\\xd5\\xe6\\x83\\xf0\\xec\\xc0\\x86\\x1d\\xf8\\xb3\\x83\\x78\\xef\\xc0\\xcf\\x1d\\xe4\\xc7\\x0e\\x62\\xb8\\x93\\x3c\\xde\\xc9\\x1a\\xd9\\x89\\xcd\\x3b\\x59\\xef\\x3b\\x89\\xe3\\x2e\\x30\\xd9\\x45\\xde\\x3e\\x04\\x26\\x0f\\x61\\xef\\x43\\xd8\\x4b\\x8d\\x6d\\xee\\x46\\xf7\\x6e\\xfc\\xdb\\x4d\\xff\\x6e\\xfa\\x77\\xd3\\xbf\\x07\\x5b\\xf6\\xc0\\xbf\\x87\\xb5\\xb3\\x07\\xac\\xf6\\x20\\x7b\\x2f\\xef\\x7b\\xf1\\x7d\\x1f\\x63\\xfb\\xb0\\x73\\x1f\\x3e\\xee\\xc3\\xc7\\x7d\\xf8\\xb8\\x0f\\x1f\\xf7\\x61\\xd3\\x7e\\xc6\\xf6\\x93\\x6b\\xfb\\x19\\xdb\\x8f\\x9d\\x0f\\x13\\x9b\\x87\\x4f\\xfe\\xdf\\xe9\\x11\\x72\\xff\\x11\\x70\\xa5\\x3e\\x37\\x0f\\xe0\\xf3\\x01\\xe4\\x1d\\xc0\\x8e\\x03\\xe0\\x71\\x40\\xf7\\x81\\x67\\x05\\xba\\x2a\\xf0\\xf5\\x20\\xef\\x8f\\xc2\\xf3\\x28\\x76\\x1c\\x22\\xdf\\x1e\\x07\\x93\\xc3\\xf4\\x3f\\x01\\x7e\\x47\\xc0\\xf9\\x49\\xf2\\xe5\\x29\\xfc\\xfc\\x13\\x79\\xf8\\x27\\xb0\\x7c\\x9a\\xdc\\x7c\\x1a\\x79\\x4f\\x13\\xff\\x3f\\xf3\\xfc\\x67\\x70\\x7d\\x06\\xdf\\x9f\\x45\\xfe\\xb3\\x8c\\x3f\\xcb\\xdc\\xa3\\xf8\\x7a\\x94\\xf7\\xe7\\x99\\xf3\\x3c\\x3e\\x3f\\xcf\\xfc\\x63\\xb4\\x2f\\x90\\xd3\\x2f\\xa0\\xe7\\x05\\x30\\x7a\\x91\\x79\\x2f\\x82\\xfb\\x8b\\xd8\\xfb\\x12\\xf9\\xff\\x32\\x79\\xf4\\x32\\x31\\x79\\x85\\x78\\xbc\\x42\\xae\\xfd\\x15\\xf9\\xaf\\x82\\xc5\\xab\\xc8\\x78\\x0d\\x7c\\x5f\\x23\\xa7\\x8f\\x13\\x87\\xd7\\xe1\\x7b\\x1d\\x79\\x27\\xb0\\xfb\\x1f\\xc4\\xe8\\x0d\\x64\\xbc\\x49\\xff\\xdb\\x60\\xf5\\x36\\xed\\xbb\\xc4\\xee\\x3d\\xfc\\x79\\x8f\\xfc\\x7d\\x9f\\xbe\\x0f\\x88\\xdf\\x87\\xd8\\xf7\\x31\\x7e\\x7d\\x02\\x2e\\x27\\xd9\\x13\\x3f\\xc5\\x8e\\x53\\xe8\\x3c\\xcd\\xdc\\x33\\xf0\\x9d\\xc1\\xef\\xcf\\x78\\x3e\\x8b\\x5f\\x95\\xc4\\xe4\\x73\\xe6\\xfc\\x13\\xfc\\xbe\\x24\\x6e\\x5f\\x61\\xd3\\xd7\\xd8\\xfb\\x0d\\xfd\\xdf\\x60\\xd3\\x37\\xac\\xab\\x6f\\xb1\\xeb\\x5b\\xc6\\xbf\\xc5\\xdf\\x73\\xc8\\x3d\\x47\\x1e\\x9e\\x43\\xd7\\xbf\\xc8\\x8f\\xf3\\x60\\xf2\\x6f\\xde\\xff\\xcd\\xd8\\xf7\\xc4\\xf9\\x07\\x64\\xfd\\x88\\xfc\\x9f\\xb0\\xe9\\x27\\x70\\xff\\x19\\x7f\\x7e\\x06\\x8b\\x9f\\xc1\\xf5\\x17\\xda\\x0b\\xc8\\xba\\x48\\x2c\\x2e\\x32\\x7e\\x11\\x7d\\x97\\xb0\\xcf\\x0f\\x05\\x5e\\x16\\x4b\\x3a\\x40\\x4f\\x8b\\xa5\\x7a\\x41\\x67\\xc4\\x32\\xea\\x42\\xb7\\x42\\x1f\\x8a\\x45\\x7d\\x6d\\x99\\x3e\\x68\\x21\\x04\\xaf\\x15\\x06\\xf5\\x83\\xb6\\x41\\x5f\\x89\\xe5\\xe8\\x0c\\xad\\x84\\xbe\\x13\\xcb\\x49\\xbf\\xf3\\x6e\\xe8\\x27\\xb1\\x5c\\x79\\xd0\\x51\\xb1\\xc2\\x52\\x20\\x64\\x85\\xc1\\xeb\\xa6\\xcf\\xbd\\x43\\xac\\x1a\\xf1\\xd0\\x5c\\xe8\\x84\\x58\\x35\\x91\\x5d\\xb3\\x42\\xac\\x70\\x74\\x86\\x97\\x8b\\x15\\x11\\x0e\\x4d\\x87\\x90\\x11\\x39\\x19\\x82\\x27\\xaa\\x00\\x7a\\x4d\\xac\\xe8\\x0c\\x08\\x3b\\x63\\x78\\x8f\\xf9\\x5c\\xac\\x58\\x64\\xc5\\xbe\\x29\\x56\\x9c\\x05\\xb5\\x81\\x4a\\x20\\xf4\\x27\\x30\\xee\\x61\\xbc\\x31\\x6d\\xe3\\x77\\xc5\\x6a\\x82\\xdd\\x4d\\xd7\\x88\\xd5\\x0c\\x1f\\x9a\\xa1\\xab\\x19\\x7e\\x5d\\x83\\x9e\\x6b\\xb0\\xfd\\x9a\\x09\\xd0\\x49\\xb1\\xd2\\x98\\xdb\\x82\\xf1\\x96\\x8c\\xa7\\xd3\\x66\\x60\\x77\\x2b\\x64\\xb6\\x66\\x3c\\x93\\xb1\\x36\\xb9\\x62\\x51\\x7f\\x5b\\x6d\\xf1\\xb3\\x3d\\xe3\\x59\\xf8\\x4c\\xcd\\x6d\\x75\\x44\\x47\\x47\\x74\\x74\\xda\\x2d\\x56\\xe7\\x22\\xb1\\xba\\x34\\x85\\xc0\\xb0\\xcb\\x45\\xb1\\xba\\xe2\\x7f\\x37\\x7c\\xf2\\x21\\xbf\\x3b\\x6d\\x77\\x64\\xf7\\xc0\\xa7\\x9e\\xe0\\xdd\\x0b\\x1c\\x7b\\x21\\x23\\x1b\\x7c\\xb3\\x8f\\x89\\x95\\x03\\xf6\\x39\\xd8\\xdc\\x1b\\xd9\\xb9\\xc8\\xc9\\x45\\xcf\\xb5\\x8c\\xf7\\xc1\\x86\\x3e\\xf8\\xd4\\xe7\\x9c\\x58\\x7d\\xc1\\xb7\\x2f\\x32\\xfa\\xf2\\xdc\\x0f\\xdc\\xfa\\xd1\\xdf\\x0f\\x3d\\xfd\\xe1\\xa7\\xfe\\xb6\\x06\\x80\\xeb\\x00\\x6c\\x1d\\x80\\x2d\\x03\\xbd\\xd0\\x2c\\x08\\x8c\\x06\\x82\\x51\\x1e\\xd8\\xe5\\xc1\\x9f\\x87\\xcd\\x83\\xd0\\x39\\x68\\x24\\x44\\x5c\\x06\\xa1\\x63\\x10\\xb1\\x1c\\xb4\\x1f\\x02\\xdb\\x41\\xe0\\x3c\\x08\\x7c\\x06\\x11\\xaf\\x41\\xc8\\x1e\\x8c\\xcf\\x83\\xe1\\x1d\\x8c\\xac\\xc1\\xf0\\x0e\\x86\\x6f\\x30\\x3c\\x83\\xf1\\x71\\x30\\xe3\\x43\\xd0\\x39\\x04\\xdb\\x87\\x30\\x3e\\x64\\x13\\x84\\x8c\\x21\\xf8\\x9b\\x4f\\x4c\\xa8\\xed\\xad\\x7c\\xe6\\xe6\\x33\\x96\\x8f\\x1d\\xf9\\xc4\\x21\\x1f\\xfd\\x43\\xe9\\x1f\\x0a\\x6e\\x43\\x89\\x33\\x75\\xbe\\x45\\x9d\\x6f\\x0d\\xc5\\xc6\\xa1\\xe8\\x1c\\xc6\\x3c\\x6a\\x7d\\x6b\\x18\\xfe\\x0d\\x83\\x67\\x18\\x3c\\xc3\\xe0\\xb9\\xee\\x10\\xc4\\xdc\\x02\\x62\\x56\\x00\\x96\\x85\\xe0\\x37\\x62\\x7a\\x90\\x46\\x62\\xc3\\x48\\x6c\\x1b\\x09\\x2e\\xa3\\xc8\\xb1\\x51\\xe0\\x31\\x8a\\xfe\\x51\\x65\\x10\\x71\\x1f\\x05\\xff\\x28\\x74\\x8c\\x86\\x6f\\x34\\x3e\\x8f\\xc6\\xf6\\xd1\\xe0\\x3b\\x06\\x5d\\x63\\xe8\\x1b\\x43\\xac\\xc7\\x80\\xed\\x18\\x6c\\x1d\\x43\\x7c\\xc6\\xc0\\x33\\x06\\x79\\x63\\xc0\\x65\\x0c\\xfe\\x8e\\xc1\\xa7\\x31\\xf8\\x3c\\x06\\x5c\\xc6\\x60\\xe3\\x18\\xfc\\x2e\\x02\\x97\\x22\\x30\\x2e\\x22\\x3e\\x45\\xe4\\x46\\x11\\x73\\x8b\\xd0\\x59\\x84\\xce\\x22\\x70\\x2e\\x22\\x06\\xd4\\xf9\\x56\\x11\\xf3\\xa8\\xf5\\xad\\x22\\xf4\\x51\\xef\\x5b\\xc5\\xf5\\x21\\x62\\x51\\x8c\\x7f\\xc5\\xd8\\x4a\\xed\\x6f\\x15\\x33\\x8f\\xda\\xdf\\x1a\\xdb\\x1c\\xc2\\xd6\\xeb\\xb1\\xe7\\x7a\\xb0\\xbc\\x1e\\x5d\\x25\\xac\\x93\\x12\\x64\\x8c\\x43\\x17\\x75\\xbc\\x35\\x0e\\xbe\\x52\\x6c\\x2e\\x25\\x2f\\x4b\\xc1\\x64\\x3c\\x32\\xc7\\x83\\xd3\\x78\\xf0\\x1d\\x0f\\x3e\\x13\\x78\\x9e\\x80\\xcd\\x13\\x05\\xc2\\xae\\x89\\xd8\\x32\\x11\\x39\\x37\\x10\\xa3\\x1b\\xe0\\xb9\\x01\\x9e\\x49\\xf4\\x4f\\x02\\x97\\x49\\xe0\\x30\\x19\\x3c\\x27\\xc3\\x33\\x19\\xec\\xa6\\xe0\\xcb\\x14\\x7c\\x9f\\x42\\x2e\\x51\\x67\\x5b\\x53\\x79\\x9e\\x4a\\x6e\\x4f\\x23\\x1e\\xd3\\xb0\\x71\\x1a\\xfe\\x4c\\x27\\x77\\xa6\\x93\\x63\\xd3\\xd1\\x3d\\x03\\x0c\\x66\\xd0\\x3f\\x03\\xfe\\x1b\\xb1\\xe9\\x46\\xfa\\x6f\\x04\\xe7\\x99\\xd8\\x34\\x13\\x1c\\x67\\xb2\\x76\\x67\\xe1\\xcb\\x2c\\xec\\x9e\\x05\\xcf\\x6c\\x7c\\x9f\\xcd\\x33\\xb5\\xb2\\x35\\x07\\x5f\\xe7\\xf0\\x3c\\x07\\x6c\\x6f\\x22\\x0e\\x37\\x31\\xf7\\x26\\x78\\xe6\\xc2\\x33\\x17\\x99\\x73\\xd1\\x35\\x17\\x9c\\xe7\\xe5\\x43\\xe8\\xa2\\x06\\xb6\\x6e\\x46\\xe6\\xcd\\xf0\\xdf\\x82\\xde\\x5b\\xe0\\xbf\\x85\\xe7\\x5b\\x79\\xbe\\x15\\x2c\\x6e\\x05\\xa3\\xf9\\xe0\\x3a\\x9f\\xf5\\x33\\x9f\\xe7\\xdb\\x90\\x73\\x1b\\x72\\x6e\\x43\\xd7\\x02\\x74\\x2d\\x20\\x87\\x16\\xf0\\x5c\\xc6\\x3e\\x53\\x06\\xe6\\x65\\xe0\\x78\\x3b\\x3e\\xde\\x4e\\xbc\\x6e\\xc7\\xc7\\x3b\\x78\\xbe\\x03\\xfe\\x3b\\xc8\\xd1\\x3b\\xf1\\xf7\\x4e\\xf8\\xa9\\x41\\xad\\x85\\x60\\x42\\xed\\x69\\x2d\\x64\\xee\\x22\\xfa\\x17\\xd1\\xbf\\x88\\x78\\x2e\\x46\\x17\\x35\\xa6\\xb5\\x98\\xb9\\x4b\\xe0\\x59\\x82\\xde\\x25\\x3c\\x53\\x53\\x5a\\x4b\\xc1\\x76\\x29\\x98\\x2f\\xa3\\x7f\\x19\\x18\\x2e\\x43\\xd7\\x72\\xec\\x59\\x4e\\x2c\\x97\\x93\\xe7\\x2b\\x90\\xb3\\x02\\x5f\\x56\\xe0\\xe3\\x4a\\xec\\x5f\\x89\\xfd\\x2b\\xf1\\x7d\\x15\\x3c\\xab\\x78\\x5e\\x45\\xfc\\xee\\x22\\x7e\\x77\\xe1\\xfb\\x5d\\xe0\\xb9\\x1a\\x3c\\x57\\xf3\\xbc\\x9a\\xdc\\x58\\x4d\\x1e\\xad\\x21\\x77\\xd6\\x10\\x33\\x6a\\x3e\\x6b\\x2d\\x7b\\xc9\\x5a\\x74\\xaf\\x45\\xf7\\x3a\\xfc\\x5c\\x87\\x4d\\xeb\\xb0\\x95\\xba\\xce\\x5a\\x4f\\x0e\\xaf\\xc7\\x07\\xea\\x38\\x8b\\xba\\xcd\\xba\\x07\\x5c\\x36\\x90\\x07\\x1b\\xb0\\x61\\x23\\xf2\\x36\\x82\\xff\\x46\\xe4\\x50\\x97\\x59\\x1b\\x75\\x1f\\xb2\\xa9\\xcb\\x2c\\xea\\x32\\x8b\\xba\\xcc\\xa2\\x2e\\xb3\\x36\\x31\\xbe\\x89\\xf1\\x4d\\x8c\\x6f\\x62\\x7c\\x33\\xe3\\x9b\\x19\\xdf\\xcc\\xf8\\x66\\xc6\\x37\\x33\\xbe\\x99\\x71\\x6a\\x34\\x6b\\x33\\xe3\\x5b\\x18\\xdf\\xc2\\xf8\\x16\\xc6\\xb7\\x60\\x2f\\xb5\\x99\\xb5\\x0d\\x7f\\xb7\\x83\\xf9\\x76\\xfc\\xda\\x4e\\xfe\\xdd\\x47\\x8e\\x96\\xe3\\x7b\\x39\\xcf\\xf7\\x83\\xcd\\x03\\x60\\x4a\\x9d\\x64\\x3d\\x08\\xf6\\x3b\\x88\\xcf\\x0e\\x64\\xee\\x64\\x3d\\xee\\xe4\\x7d\\x17\\xf3\\x1e\\x22\\x3f\\x1e\\x62\\x7c\\x37\\xd8\\x52\\xf7\\x58\\xd4\\x3d\\xd6\\x1e\\xf4\\xec\\xc1\\xaf\\x3d\\xf8\\xbd\\x17\\x3c\\xf6\\xb2\\xde\\xf6\\x91\\xd7\\xfb\\xc8\\xe3\\xfd\\xd8\\xb5\\x1f\\xd9\\x0f\\xd3\\x47\\x7d\\x62\\x3d\\xc2\\x5a\\x7a\\x04\\x1c\\x1f\\x41\\xde\\x23\\xc4\\xee\\x11\\xc6\\x0e\\x90\\xc7\\x07\\xb0\\xeb\\x00\\x38\\x1d\\x60\\x1d\\x56\\xf0\\x5c\\x01\\xcf\\xc1\\x5e\\xfa\\xbf\\x1f\\x23\\x86\\x7c\\x10\\x38\\xad\\x8e\\x3b\\xba\\x48\\x4d\\x89\\x52\\x2e\\xdf\\x13\\x12\\x11\\xe1\\x0c\\x0f\\x8f\\x8e\\x89\\x30\\xa3\\x22\\x55\\xb8\\x19\\x69\\xfa\\x4c\\xf7\\xd6\\x11\\x66\\xdc\\xdb\\x31\\xea\\xc5\\x18\\x95\\x13\\xa3\\xda\\xc5\\xa8\\xc3\\x31\\x6a\\x57\\x8c\\x6a\\x1c\\xa3\\x6a\\xc7\\xa8\\x60\\x3f\\x3d\\x3b\\x62\\xd4\\xdd\\x31\\xea\\x8e\\x18\\xa5\\xa6\\xc7\\xa8\\xa2\\x18\\x95\\x17\\xa3\\x7a\\xc5\\xa8\\x36\\x31\\x2a\\x25\\x46\\x45\\xc7\\x28\\x89\\x51\\x59\\xe7\\x62\\xd4\\x99\\x18\\xf5\\x66\\x8c\\x3a\\x1a\\xa3\\x0e\\x55\\xcd\\x28\\x8b\\x09\\x4d\\xc8\\xaf\\x9a\\x60\\xc5\\x28\\x38\\x4f\\xc6\\xa8\\x13\\x31\\xea\\x58\\x15\\x67\\x89\\xcd\\xe0\\x8b\\x51\\x46\\x46\\x8c\\xf2\\xda\\x22\\x4f\\xd8\\x82\\x2a\\x6c\\x11\\xa3\\xf8\\x99\\x31\\x63\\xc6\\x98\\x19\\x55\\x3f\\x37\\x5e\\xf1\\x33\\x7a\\x54\\xe8\\x67\\x4c\\xb0\\xa9\\xe2\\x90\\x6e\\x69\\x52\\xaf\\x6e\\xf4\\x6b\\x63\\x46\\x8f\\xea\\x16\\x13\\xab\\xb2\\x62\\x32\\x33\\x63\\x32\\x5b\\x65\\xa4\\xc6\\x3b\\x93\\x1b\\x35\\x6e\\xdb\\xa6\\x5d\\x66\\xeb\\xda\\x66\\xa6\\x99\\xac\\x8e\\x67\\xb7\\x69\\x93\\x9d\\x93\\x99\\x99\\x73\\xf6\\xfd\\xae\\xa3\\x47\\xb6\\xca\\xcd\\x6d\\x95\\x99\\x93\\x63\\x3d\\x72\\xd1\\xfe\\x7f\\x40\\x69\\xc8\\x02\\x73\\xa4\\xf1\\x02\\x18\\x9a\\xe2\\x92\\x80\\xef\\x31\\x87\\xa5\\x28\\x34\\xc2\\xdc\\x2e\\xa7\\xa1\\x6a\\x18\\x14\\x23\\x87\\xdd\\x6a\\x97\\x5b\\x4d\\x74\\xab\\x42\\xb7\\xea\\xeb\\x56\\x96\\x5b\\xfd\\xe0\\x56\\x67\\xdd\\xea\\x6d\\xb7\\xda\\xe3\\x56\\x9b\\xdd\\x6a\\x99\\x5b\\xcd\\x73\\xab\\x76\\x6e\\xd5\\xd8\\xad\\x6a\\xbb\\xd5\\x17\\x6e\\xf5\\xa2\\x5b\\xcd\\x72\\xab\\x52\\xb7\\x1a\\xec\\x56\\xca\\xe7\\x56\\x19\\x6e\\xe5\\x75\\xab\\x78\\x7b\\x72\\xc7\\xa3\\x6e\\x75\\xc8\\xad\\x76\\xb8\\x55\\x99\\x5b\\x4d\\x77\\xab\\x12\\xb7\\xca\\x77\\xab\\x14\\xb7\\x12\\xb7\\xfa\\xce\\xad\\xce\\xb8\\xd5\\x9b\\xf6\\xe8\\xdd\\xf6\\x10\\x93\\xdb\\xd8\\xa3\\x4c\\x3e\\x56\\x35\\xc5\\x28\\x72\\xab\\x3c\\xb7\\x1a\\xe8\\x56\\xe9\\xf6\\xb4\\xcb\\xe0\\xcc\\xf8\\x2d\\x82\\xa3\\xab\\x21\\x77\\xf5\\xb0\\x74\\x6b\\x7d\\x7c\\xf4\\xa8\\xd6\\x1a\\x3b\\xc0\\xd3\\xd8\\x29\\x8d\\x17\\x64\\xc8\\x0b\\x5d\\xfb\\xf8\\x7b\\xf0\\xcb\\xd1\\xc5\\xef\\x51\\x9f\\xfa\\x3d\\x41\\xac\\x52\\x29\\x38\\x3f\\x00\\xab\\x44\\xf1\\xc8\\x46\\xdf\\xd0\\x38\\x4f\\x7d\\xa7\\xe5\\x8a\\x8d\\x8e\\x08\\x77\\x5b\\x61\\x31\\x75\\xea\\x25\\x1a\\x96\\x59\\x3b\\xbe\\x61\\x03\\x87\\x65\\xd5\\xaa\\x55\\xdb\\x32\\x63\\x63\\x5c\\x61\\x61\\x31\\x66\\x6d\\x4b\\xd5\\x50\\x35\\x92\\xbc\\x4e\\xa3\\x46\\xcd\\x1a\\x0f\\x17\\xd6\\x4f\\xac\\xe9\\xa9\\x17\\x19\\x15\\xf9\\x70\\x61\\x9d\\xb8\\xa8\\xa8\\x9a\\x2a\\x2a\\x4a\\x85\\xd5\\x8c\\xaa\\x19\\x65\\xd6\\x8a\\x31\\xc3\\xcc\\x58\\xe9\\x96\\xd9\\x2d\\x33\\x36\\x2b\\x2b\\x3d\\x1d\\xdb\\x89\\x69\\x5a\\x8c\\xe8\\xc0\\x86\\x5a\\xdb\\xd6\\xd8\\x3a\\xb6\\xbd\\xf6\\xff\\xe9\\xe7\\x6a\\x84\\x0f\\xb5\\x92\\xcc\\xe4\\x38\\x4d\\xc9\\x6d\\x33\\xa1\\xa4\\xb8\\x4c\\x53\\x53\\x66\\xad\\x64\\xb3\\x99\\x62\\xe0\\x03\\xff\\xc5\\x01\\x13\\x06\\xf8\\xff\\xda\\x7f\\xe2\\x80\\xfd\\x47\\x3b\\xfe\\xa2\\xc2\\xfb\\x4d\\xe8\\xab\\xda\\xf6\\x9b\\xd0\\x6f\\xc7\\xe1\\x2c\\xff\\x58\\xd5\\x36\\xcb\\xff\\xaa\\x11\\x5e\\xea\\x1f\\xae\\x76\\x69\\x2a\\x55\\x99\\xe3\\xd5\\x46\\xff\\x44\\x4d\\xe3\\xfd\\xc7\\x95\\xfe\\x8f\\x12\\x49\\x41\\xa0\\xc4\\x7c\\xce\\xf1\\xaa\\x34\\x95\\x74\\x69\\x2f\\x1b\\x7c\\x85\\x19\\x56\\x6d\\x4f\\x0b\\xb3\\x49\\x5c\\x9b\\x26\\xa6\\xbb\\x69\\xd3\\xe8\\x66\\xcd\\x12\\x92\\xa3\\x93\\x3b\\x64\\xb5\\x6d\\x58\\xbb\\xe1\\xcc\\xc2\\x66\\xc9\\xcd\\x6b\\x78\\xda\\x44\\x67\\x84\\xd5\\x16\\xa9\\xa7\\xdc\\x66\\xbd\\x7a\\xb5\\x7c\\x71\\xb5\\x5d\\x2d\\xdc\\xe2\\x9e\\x59\\xd8\\x54\\x1a\\x3b\\x1c\\x92\\x50\\x94\\xa5\\x32\\xb2\\x94\\x37\\x4b\\x49\\x96\\x3a\\x99\\xa5\\xca\\xb3\\x14\\x3d\\xbe\\xac\\xaa\\xb5\\xa1\\x63\\x95\\xde\\x3a\\xfa\\xb8\\x06\\xa1\\x6e\\xb7\\xcc\\x7a\\xc7\\x33\\xd3\\x49\\x7b\\xed\\xb0\\xee\\x09\\x45\\x90\\x96\\xdf\\x75\\x32\\x63\\xea\\x64\\xb6\\x6e\\xdd\\x2a\\xc3\\xd1\\x52\\x35\\xe1\\xb5\\xa1\\xaa\\x13\\xd3\\xd2\\x62\\x3d\\xb4\\x6f\\x9b\\x59\\xab\\x76\\x9d\\x98\\xe4\\x26\\xba\\x9f\\xee\\x5a\\xf1\\x4e\\x57\\xad\\x64\\xd5\\xa6\\x71\\x93\\x98\\xae\\x4a\\xc5\\x6b\\xbe\\x48\\xa5\\x3e\\x9d\\x54\\xd9\\xbe\\x47\\x23\\xcf\\xc3\\x85\\x37\\x15\\xf5\\x6b\\xdf\\xe0\\xf8\\xde\\xc1\\x9b\\xb7\\x74\\x6f\\xd0\\x70\\x5e\\xd7\\x31\\x3b\\x97\\xbf\\xf3\\xc4\\x60\\xd5\\xae\\xf8\\xce\\xa9\\x73\\x2e\\x5d\\x68\\xd2\\x67\\x74\\xc9\\xa4\\x78\\xa3\\x79\\x82\\xf2\\x3d\\xdb\\xec\\x5a\\x87\\xd1\\xae\\x59\\x7a\\xc7\\x01\\xe3\\xba\\xae\\x39\\x1c\\x79\\xfb\\x02\\x67\\xaa\\xff\\x8b\\x1d\\xf5\\xaf\\xb1\\xfc\\xc9\\x8d\\xba\\x3c\\xb6\\xf8\\xc0\\x3b\\x11\\x2b\\xd5\\xd9\\xd1\\x37\\xb7\\xbe\\xf4\\x4d\\xcc\\x42\\x33\\xbf\\xd3\\x90\\x2e\\x4d\\xd4\\x9f\\x22\\x6e\\xd0\\xf9\\xe4\\x90\\x9c\\xc0\\x67\\xce\\x12\\xc7\\x60\\x10\\x8d\\x90\\x04\\x49\\x91\\x0c\\x19\\xe9\\x6b\\x67\\x98\\xa2\\xd2\\x3c\\x91\\x96\\xa5\\x4c\\x8f\\xe5\\x4e\\xad\\x17\\xef\\xae\\xe7\\x6e\\xdd\\xca\\x59\\xe7\\x70\\x61\\x4d\\xe7\\x13\\x23\\x6a\\xc6\\xd0\\x5a\\x86\\xd5\\xa8\\xe9\\xe1\\xc2\\xfa\\x8d\\x9e\\x18\\x51\\xbf\\x25\\x6d\\x7d\\x89\\xd3\\x00\\xa5\\xa5\\xa5\\x49\\xdd\\x6e\\xdd\\x68\\x2e\\xe7\\x74\\xb5\\x54\\x01\\x11\\x92\\x5b\\x45\\x27\\xb1\\x3b\\x44\\x27\\xb5\\xae\\xed\\x6a\\xd3\\x38\\xb9\\x91\\xb3\\x56\\x7c\\xed\\xcc\\xd6\\xed\\x82\\xbd\\xf6\\x9e\\x71\\x45\\xf7\\x91\\xa9\\xe6\\xa1\\x69\\x97\\x4a\\xfc\\x87\\xef\\x2f\\x57\\xbd\\xef\\xdb\\xb9\\x6d\\xc8\\x88\\xeb\\x06\\xe6\\x0d\\x1b\\x9e\\x6f\\xa5\\xfb\\x9f\\xb8\\xff\\xfe\\x07\\x76\\xdd\\xb7\\x63\\x6b\\x55\\x57\\xbc\\xa3\\xd4\\xbf\\xd6\\xbf\\xf2\\x99\\xc3\\x6a\\xda\\x91\\x27\\x36\\xad\\x5a\\x54\\xbe\\x63\\xc9\\x6a\\x7f\\x9c\\x7f\\xc5\\x33\\x4f\\x3c\\xfa\\xe7\\xcb\\x1d\\x78\\x3a\\x20\\xf0\\x95\\x33\\x1e\\x9f\\x53\\xa4\\x85\\x74\\x50\\xad\\x7c\\xaf\\xc5\\x35\\x69\\xda\\xc0\\xf2\\xc4\\xc6\\x46\\x3a\\xac\\x0c\\xab\\x65\\x54\\x1b\\x69\\xe9\\x09\\x77\\xb9\\xc4\\x63\\x26\\xd4\\x88\\x4a\\x4b\\x88\\x4a\\xe8\\x98\\x15\\xee\\x72\\xbb\\xf2\\x0a\\xdd\\xee\\xd8\\xb8\\x26\\x91\\x0e\\x98\\x33\\xc2\\x1a\\xd5\\x6e\\xd4\\x2e\\xaf\\xb0\\x91\\x55\\x3b\\x35\\xaf\\xb0\\x76\\xed\\xd8\\xa8\\xbc\\xc2\\xd8\\x5a\\xe7\\x3a\\xaa\\x93\\x1d\\x55\\x45\\x47\\x55\\xde\\x51\\x4d\\xef\\xa8\\xf2\\x3a\\x2a\\x5f\\x47\\x95\\xd1\\x51\\x79\\x3b\\xaa\\xe8\\x8e\\x4a\\xe8\\x64\\xf8\\x44\\x47\\xb5\\xe6\\xca\\x31\\x06\\x98\\x79\\xd4\\x9e\\x99\\x57\\x6d\\xc2\\x49\\x5b\\xd0\\x65\\xce\\xa0\\x08\\x5f\\x75\\x0d\\x5e\\x9b\\x29\\x28\\x91\\xf9\\x51\\x1d\\x55\\xd8\\xe8\\x60\\xb6\\x56\\xdf\\xb6\\xaf\\xda\\x91\\x2e\\xef\\xe6\\xfc\\xe8\\x1d\\xbc\\x6e\\x90\\x62\\x62\\x85\\x48\\x65\\xd5\\x4d\\xaf\\x96\\xcf\\xd5\\xa3\\xc7\\x53\\x66\\x68\\x7d\\xc7\\x47\\x2a\\x97\\x6a\\xd7\\xbe\\x49\\xdb\\xa4\\x5a\\x2e\\xc3\\xe5\\x61\\xbd\\x37\\x89\\x54\\xf6\\x96\\xdf\\x55\\xb5\\x0f\\x05\\x51\\xb5\\x6e\\xaf\\x22\\xc9\\xf0\\xda\\x66\\x7c\\x9d\\xae\\x46\\xdb\\x36\\x44\\xd4\\xfc\\xa8\\xe7\\xcd\\xab\\xd5\\xae\\x62\\xe7\\x5d\\xea\\x95\\x15\\xfd\\x6e\\x3a\\xb3\\xd3\\xbf\\x7b\\xdf\\x84\\xd3\\x4b\\x7e\\xfa\\x39\\xf7\\xd6\\xc5\\x1b\\x8f\\x1e\\x7e\\xe4\\x88\\x7f\\xfe\\x7b\\x9b\\xfd\\x11\\x13\\x47\\xef\\x71\\x6f\\x29\\x1e\\x9a\\x76\\x78\\xe2\\x48\\xab\\xd3\\x80\\x1b\\xaf\\xeb\\xe0\\x2f\\x7b\\x71\\x67\\x62\\xdb\\xb6\\x89\\xfe\\x1f\\x2b\\x4e\\x24\\xb4\\xdd\\x3a\\x6a\\xf0\\x73\\x4f\\x14\\xaf\\xbc\\x3e\\x73\\xdd\\xe3\\xab\\xef\\xb9\\xeb\\xc2\\x6d\\x9b\\xd5\\x2b\\x2d\\xb6\\x4c\\x5d\\xbb\\xcd\\x92\\x07\\x67\\xa5\\x64\\x97\\xf4\\x39\\x5a\\xa4\\xff\\xed\\xfe\\x30\\x73\\xa4\\x4a\\xd4\\x67\\x8a\\x6a\\xeb\\xfb\\x48\\x91\\xe9\\x96\\x7d\\x9a\\x88\\x39\\xcf\\xa1\\xae\\x75\\xa8\\x2c\\x87\\xda\\xec\\x50\\xcb\\x1c\\x6a\\x98\\x43\\x35\\x73\\xa8\\x04\\x87\\x72\\x3b\\xd4\\x84\\x1f\\x1c\\xea\\x6d\\x87\\x7a\\xd1\\xa1\\x0e\\x3b\\xd4\\x2e\\x87\\xea\\xe5\\x50\\xed\\x1c\\x2a\\xc5\\xa1\\xe2\\x1d\\xca\\x72\\xa8\\xef\\x1c\\xea\\xcc\\x95\\x0c\\x1b\\x1c\\x6a\\x8e\\x43\\x95\\xda\\x52\\x72\\x6c\\xe6\\xb3\\x0e\\xb5\\xc3\\xa1\\xd6\\x39\\xd4\\x1d\\x0e\\x4e\\x72\\x87\\x2a\\x72\\xa8\\x3c\\x87\\xf2\\x39\\x54\\x46\\x35\\x41\\x1d\\x82\\x92\\x4e\\x38\\xd4\\x31\\x87\\x3a\\x64\\xcf\\xb8\\xdb\\xa1\\x16\\x3a\\xd4\\x39\\x87\\x3a\\x69\\xf7\\x1b\\x47\\x1d\\xaa\\xc2\\xa1\\xca\\x1d\\x6a\\x8d\\x43\\x95\\x39\\xb4\\xa4\\xcb\\x62\\xbc\\x0e\\x15\\xed\\x50\\xcf\\x3a\\xd4\\x01\\x87\\x8a\\x72\\xd8\\x01\\xaf\\x76\\xae\\xd8\\x67\\xf8\\xef\\x9f\\xdb\\xd5\\x98\\x66\\xfc\\xe6\\x6c\\xa7\\x4f\\xba\\x1d\\xd7\\x1b\\x9a\\x3e\\xc6\\x5b\\x65\\xb0\\x5d\\x27\\x0f\\x0b\\x9d\\x3e\\x1a\\xcf\\xe1\\xfe\\x7e\\xc6\\x04\\xc7\\x2a\\x89\\x91\\xfa\\xbe\\x70\\x71\\x47\\x5a\\x6e\\x2b\\x36\\x2e\\x42\\x1c\\x89\\xd2\\xad\\x5b\\xf5\\xe3\\x2b\\x3a\\xb6\\x76\\x9d\\x5a\\x2d\\x15\\x01\\x8f\\x6d\\xd7\\xbe\\x56\\xa4\\x32\\x54\\x62\\xce\\x86\\x19\\x2f\\x7e\\x32\\x71\\xc2\\xc7\\x2f\\xdf\\xbc\\xa6\\xa7\\xfa\\xc6\\x7f\\xd1\\xff\\xea\\x9b\\xdd\\xf3\\x27\\xfe\\xac\\x06\\x7d\\xfb\\x8d\\x1a\\xf8\\xd3\\x0d\\xf9\\x39\\x1f\\xf8\\x3f\\xd4\\xff\\xf4\\x42\\x7a\\xa0\\x23\\xaf\\x4a\\x87\\x5b\\x1c\\x91\\x12\\x19\\x1b\\x57\\x43\\xe4\\x2a\\x1d\\x71\\x6d\\xbb\\xaa\\xd8\\x98\\x68\\xa3\\x71\\x93\\xb6\\x0d\\x55\\x6c\\xad\\x78\\xc3\\xd9\\x63\\xc6\\x86\\x9c\\x9e\\x6b\\x6e\\x7e\\xf9\\xe3\\x09\\x13\\x3e\\xf6\\xf7\\xcb\\xef\\xfe\\x96\\x6a\\xab\\x4c\\xe5\\x54\\x29\\x1f\\xe4\\xe4\\x4f\\xfa\\xd1\\x7f\\xf0\\x9b\\x6f\\xfc\\x07\\x7e\\xb2\\xff\\x79\\x87\\x94\\x18\\x03\\xcc\\x7b\\xc9\\x8b\\x18\\x95\\xea\\x6b\\x1c\\x1d\\x6e\\x59\\x11\\x66\\x58\\x4d\\x47\\xa4\\x11\\xe3\\x14\\xb7\\xcb\\x65\\x8a\\x19\\x1b\\x17\\x55\\x23\\xda\\x5d\\x33\\x32\\x26\\xcc\\x70\\xb8\\xc4\\xa9\\x22\\xc3\\xf5\\xbf\\x48\\xdb\\xed\\x0e\\xcf\\x0d\\xb7\\xcc\\x94\\x38\\x55\\x3b\\x4e\\x19\\x71\\xea\\xbb\\x38\\x75\\x26\\x4e\\xbd\\x1d\\xa7\\x5e\\x8c\\x53\\x3b\\xe2\\xd4\\x86\\x38\\xb5\\x38\\x4e\\xcd\\x89\\x53\\xa5\\x71\\xca\\x17\\xa7\\x5a\\xc7\\xa9\\x46\\x71\\x2a\\x3e\\x4e\\x59\\x71\\xea\\x87\\x38\\x75\\x2a\\x4e\\xbd\\x19\\xa7\\x8e\\xc5\\xa9\\xc3\\x71\\x6a\\x97\\xcd\\x36\\x36\\x4e\\xa9\\x3c\\x9b\\xb5\\x4d\\x9c\\x42\\x68\\x74\\x9c\\x92\\x38\\x95\\x15\\x94\\x7a\\xc8\\x16\\x59\\x16\\xa7\\x66\\xc5\\xa9\\x92\\xb8\\x2b\\xf8\\x82\\x0c\\xc1\\x51\\x63\\x7a\\x9c\\x2a\\x8a\\x53\\xde\\x38\\x75\\x34\\x4e\\x55\\xc4\\xa9\\x72\\xfb\\xb5\\x7a\\x25\\xf7\\xdb\\x0a\\x6e\\xcc\\xa8\\x2b\\xb7\\x84\\x5f\\xb3\\x41\\xba\\xbd\\x96\\xa6\\xcf\\x6f\\xa5\\xd7\\xbb\\xbd\\xe8\\xc1\\x9a\\x23\\x2c\\xae\\xbd\\x83\\x12\\x2e\\xb5\\x4e\\x84\\x72\\xa5\\xc6\\x25\\xc7\\x39\\x9a\\xa4\\x96\\xf8\\x54\\xa7\\xb4\\x6d\\xe9\\xaa\\x8b\\xcf\\x7f\\x48\\xf5\\xf3\\xf9\\x9f\\x4f\\xdf\\x96\\xe6\\x7f\\xc1\\xa7\\x72\\xad\\x66\\xab\\xff\\xa2\\x7a\\xfb\\x9f\\x7c\\x66\\xd5\\xd8\\xe2\\x55\\x4f\\xfb\\xff\\xa4\\x72\\x9f\\x5f\\x7d\\xbd\\xc6\\xbc\\x54\\x5e\\xb5\\x3c\\xd6\\x22\\x6a\\xe4\\x54\\x5f\\x0c\\xf5\\x98\\xd3\\x30\\xc2\\x23\\xc4\\x72\\x58\\x0f\\x17\\xba\\x1d\\x8f\\x51\\x6d\\x54\\xed\\x38\\xa1\\xfa\\x51\\xc5\\x24\\xc7\\x24\\xb5\\x4d\\x22\\xda\\x49\\xb5\\x8c\\xd9\\xe3\\xfd\\x05\\x6a\\xf7\\x78\\xb5\\xd7\\x98\\xed\\x1f\\xa6\\xf6\\x96\\xaa\\xbd\\xfe\\x61\\xa5\\xc1\\x58\\x0e\\xf0\\xbf\\xa0\\x16\\xc8\\x1b\\x12\\x2d\\xcd\\x7d\\x75\\x9d\\xdc\\x84\\x6a\\xd6\\x8c\\x89\\x35\\xad\\xed\\x85\\x91\\xe6\\xee\\x11\\xce\\xc8\\x13\\xb1\\xaa\\x28\\x16\\x40\\x24\\x3d\\x33\\x78\\x1c\\xfd\\x5a\\x9e\\xba\\xda\\xb6\\x6b\\xcb\\xa9\\x5b\\xb5\\x55\\x2d\\xb8\\x6f\\x5d\\x45\\xc3\\xd4\\x5e\\xbd\\xda\\xfa\\x06\\xb6\\x5a\\xf6\\xe4\\x35\\xfd\\x3b\\x4c\\x8f\\xf7\\xc6\\x25\\xfb\\xda\\x65\\x8d\\xb4\\xf5\\xf4\\x53\\x1b\\x8c\\x22\\x23\\x9d\\x93\\x63\\x8b\\x6f\\xb2\\x29\\xba\\x3e\\x7d\\xb2\\x50\\x3d\\x9d\\xf1\\x9b\\xbd\\xe1\\xcd\\xaa\\xe5\\xcc\\x5a\\x9e\\x65\\xef\\x1f\\x77\\xdb\\xcb\\xd7\\xb8\\x6a\\x27\\x60\\x09\\x0b\\x7b\\x10\\xcb\\xfd\\x68\\xd5\\x8a\\xbf\\xbc\\xe0\\x83\\xab\\x1d\\xbe\\x05\\x0e\\x35\\xea\\xd7\\x00\\x8d\\xfe\\x75\\x25\\x57\\x5f\\xc3\\xd2\\x2d\\x78\\xd0\\xea\\x55\\x91\\x54\\xab\\x9f\\x11\\xaf\\x36\\x6c\\xde\\xac\\x6d\\x5e\\xc2\\xbd\\x64\\x9e\\xbc\\x05\\xe6\\x75\\x7d\\x35\\xc5\\xe9\\x0c\\x8f\\x08\\x5e\\x44\\x42\\x13\\xae\\x2e\\xd3\\xd5\\xbc\\xaa\\x12\\xbd\\xaa\\x3c\\xd7\\xff\\xff\\x4f\\x02\\x5f\\x19\\x59\\x8e\\x1c\\xfc\\x6e\\xe4\\x8b\\x35\\x95\\x83\\x33\\x9f\\x53\\xde\\xa1\\x3a\\x97\\xdb\\xee\\xcc\\x98\\x31\\x7a\\x54\\xd5\\xca\\x6c\\x95\\x51\\x87\\x93\\xbd\\xa4\\x44\\xbd\\x33\\x36\\xde\\x31\\x9c\\x3a\\x95\\x33\\xd6\\x7c\\x94\\x33\\xb6\\x86\\xd4\\x16\\x9f\\xaf\\x71\\x8c\\xa3\\x26\\xc5\\x46\\x9d\\xba\\x61\\x91\\x33\\x0b\\xc3\\x5c\\x46\\xfc\\xcc\\x42\\x23\\xc1\\x57\\x57\\x49\\x5d\\x75\\xb2\\xae\\x2a\\xaf\\xab\\x8a\\xea\\x2a\\x5e\\x83\\x99\\x29\\x55\\xe7\\x51\\xb5\\x5d\\x25\\xa9\\x91\\x11\\x13\\x1d\\x9b\\xd9\\x3a\\xd6\\x8c\\x36\\x92\\x2f\\x3f\\x3f\\xea\\xcf\\x7d\\xf3\\xdd\\x77\\x3f\\x7c\\xf3\\xc3\\x23\\x37\\x2f\\xbe\\xe3\\xc6\\x59\\x65\\x0b\\x6f\\x35\\x76\\x5c\\xca\\x55\\x25\\x2a\\x5f\\xf5\\x57\\xc5\\xfe\\x07\\xfd\\x07\\x54\\x0f\\x55\\xdf\\xff\\x9d\\xff\\x11\\xff\\x7e\\xff\\x97\\x2a\\x19\\x9f\\x0e\\x51\\x3c\\x2e\\x72\\xe4\\x62\\x57\\x5f\\x5f\\x0b\\x97\\x38\\x1c\\x35\\xc3\\xc5\\x15\\xed\\xf2\\xba\\x4c\\xb7\\xe9\\xf2\\xd5\\x70\\x8a\\xc3\\x74\\xcc\\x2c\\x34\\xeb\\xfa\\xc2\\x95\\x84\\xab\\x93\\xe1\\xaa\\x3c\\x5c\\x15\\x85\\x2b\\x5e\\x2f\\x1b\\x67\\x17\\x80\\xf5\\x8e\\x8f\\xa9\\xda\\x2c\\x35\\x94\\x8e\\x5a\\x49\\x6d\\x53\\x63\\x1c\\x6d\\x53\\x33\\x8d\\x99\\x2a\\xf6\\x52\\xba\\x8a\\xf3\\xff\\x4b\\x2d\\x69\\x93\\xa7\\x8f\\x2d\\x2b\\xa7\\xb8\\xed\\xc7\\xf6\\x1e\\x8a\\xee\\xd5\\x8e\\x7e\\x52\\x5f\\x8a\\x7c\\xed\\x13\\xa3\\x8d\\xfa\\xae\\x5a\\x46\\xad\\x06\\x0d\\x5d\\xb1\\x89\\x12\\x19\\x1d\\x69\\xb8\\xcd\\xc8\\xc8\\xd8\\xd8\\x1a\\x33\\x0b\\x63\\x9d\\x46\\xa2\\x4a\\x9c\\x53\\xa8\\xea\\xfa\\x1a\\x2a\\x69\\xa8\\x4e\\x36\\x54\\xe5\\x0d\\x55\\x51\\x43\\xc5\\xeb\\x95\\x56\\xd8\\xbf\\x83\\x75\\x68\\xd6\\xe5\\x12\\x54\\x1b\\xd4\\x4c\\xb5\\x6d\\xaf\\x4f\\x5d\\x5d\\x48\\x45\\xa9\\xe4\\x18\\x1d\\xe3\\x5a\\xfa\\xd8\\x76\\xba\\x92\\xcc\\xd5\\x17\\x5f\\x7d\\xea\\xb1\\xdd\\xd7\\xce\\x59\\xdc\\x76\\x7a\\x5a\\x72\\x8f\\xc3\\x0b\\x3e\\xfc\\xe8\\xba\\x43\\x27\\x0a\\x4b\\x8c\\x47\\xd7\\xef\\xd9\\xfe\\x97\\xbf\\x2d\\xba\\x63\\x69\\x83\\xba\\x3b\\x94\\x91\\xf6\\xc4\\x43\\xd3\\x5f\\x7a\\xe1\\x60\\xbf\\x11\\xf6\\x1a\\x18\\x4b\\x3c\\x2b\\xb0\\xfd\\x1a\\x59\\xea\\x1b\\xd4\\x34\\x36\\x35\\xb5\\x4e\\x9d\\x58\\x8f\\xe9\\x8c\\x8c\\x14\\xa7\\xa4\\x35\\x6f\\x1a\\x17\\x1b\\x17\\x3b\\xb3\\x30\\x3d\\x4e\\xc5\\xc5\\x25\\x9b\\xd2\\x30\\xba\\x21\\xde\\x34\\x6c\\x98\\x9c\\x5c\\x6f\\x66\\x61\\xb2\\xcb\\xac\\x39\\xb3\\x70\\xba\\xab\\xcc\\x65\\x44\\xb9\\x14\\x7b\\x6c\\x82\\xaf\\xb9\\x92\\xe6\\xea\\x64\\x73\\x55\\xde\\x5c\\x15\\x35\\x57\\xbc\\x56\\x79\\x95\\x99\\x3e\\x6a\\x54\\x30\\xf8\\xbf\\xfa\\x95\\x3e\\x4a\\x97\\x26\\x55\\xee\\x85\\x6e\\x1e\\xb1\\x76\\x19\\x42\\xfe\\x36\\x31\\x75\\x7d\\x4d\\xa1\\x88\\xaf\\xe9\\xda\\x69\\xf5\\xab\\xd3\\x5d\\x55\\xa6\\x37\\x86\\xc5\\xde\\x50\\x99\\x15\\x3f\\x9d\\x7e\\x66\\x6f\\xcd\\x1e\\x2d\\x9a\\xac\\xee\\xba\\x7d\\xc3\\xf2\\xb5\\xab\\x57\\xcf\\x98\\x3c\\xbb\\xac\\xed\\xac\\xe6\\xc9\\x3d\\xae\\x5f\\xd3\\x5b\\x3d\\xb2\\x79\\xe5\\xe1\\xfd\\x6a\\xca\\xe3\\xaf\\xa5\\xa9\\x7a\\x4f\\xd7\\xf6\\xae\\xd9\\xbd\\x70\\x99\\x2b\\x6c\\xb0\\xdb\\x59\\x76\\xc7\\x92\\x5b\\x6c\\x2c\\xea\\xc5\\xf8\\x0f\\xaf\\xd8\\x19\\x5f\\xeb\\x21\\xfb\\x0e\\xd6\\x94\\x38\\x9e\\x74\\xf4\\x22\\x87\\x22\\x65\\xb0\\x2f\\x3d\\xc2\\x0a\\x53\\xce\\x48\\x65\\x1a\\x96\\x11\\x15\\x1d\\xe6\\x88\\x34\\x23\\x67\\x17\\x8a\\x69\\xaa\\x9a\\x2e\\x27\\x11\\x8c\\x56\\x12\\xad\\x4e\\x46\\xab\\xf2\\x68\\x55\\x14\\xad\\x78\\xad\\xf2\\x55\\x5f\\xb1\\xd2\\xab\\xdf\\xa9\\xea\\x84\\x6a\\xe4\\xe0\\xf6\\xa7\\x78\\xae\\xa5\\x92\\x55\\x92\\x79\\xcd\\xfe\\x4b\\x7b\\x8d\\xd5\\x33\\x0f\\xfb\\xef\\x75\\xf8\\xbd\\xea\\x33\\xd5\\xc4\\xff\\x9e\\x6a\\xb2\\xc8\\xdc\\x74\\xf1\\xc6\\xd5\\x66\\xeb\\x4b\\xa3\\x82\\x7b\\xe1\\x4d\\x76\\x7c\\xba\\x48\\x43\\xb9\\xd1\\x97\\xdd\\xa0\\x6e\\x5d\\x77\\x8c\\x69\\x26\\xba\\x4d\\x8f\\xb7\\x4e\\x2d\\xa9\\x35\\xb3\\x30\\x8a\\xeb\\xa2\\x11\\x6e\\x8a\\x38\\x13\\x12\\xea\\xcf\\x29\\x4c\\x70\\x3a\\x59\\x88\\xd3\\x6b\\x94\\xd5\\x30\\xa2\\xb8\\x18\\xd6\\x70\\x26\\xf8\\xbc\\x4a\\xbc\\xea\\xa4\\x57\\x95\\x7b\\x55\\x91\\x57\\xf1\\xfa\\xdb\\x98\\x10\\x05\\x3b\\x28\\xa1\\xed\\xba\\xaa\\x32\\xc4\\x62\\x9d\\x5c\\x57\\x06\\xa3\\x25\\xf5\\xa0\\x0b\\x3f\\x6a\\x25\\xc5\\xb4\\x53\\x9f\\x7d\\x7e\\xfa\\x87\\xcf\\x9e\\xb9\\x07\\xfc\\x9b\\xdf\\xd2\\xe1\\xde\\x7b\\x7c\\x2b\\xe7\\x8c\\xb8\\xae\\xc8\\xd8\\x7d\\xe9\\xd1\\xc9\\x66\\xf4\\x33\\xcf\\xff\\xf5\\x3d\\x0d\\x7b\\xdd\\x86\\xf7\\x1c\\xbc\\x75\\x41\\xe7\\xba\\xc6\\xe6\\xcd\\xfe\\xfc\\xba\\x36\\xce\\x05\\xf8\\xf4\\x3c\\x39\\xa7\\xef\\x25\\x73\\x7d\\xbd\\x6b\\x35\\x6a\\xe4\\x6c\\x10\\x41\\xbe\\xa5\\x36\\xe6\\xd1\\x5b\\xc7\\x3b\\xab\\x30\\xaa\\x8e\\xa7\\x0e\\x6e\\xd5\\xa9\\x63\\xd6\\xa8\\x41\\xfe\\xe9\\x65\\xe4\\x8d\\x34\\xf5\\x42\\xaa\\xe1\\x32\\xc9\\x3d\\x72\\xad\\xb1\\x92\\xc6\\xea\\x64\\x63\\x55\\xde\\x58\\x15\\x35\\x56\\xbc\\x56\\xdf\\x64\\x32\\x83\\xee\\x5c\\xe1\\xd8\\xaf\\x77\\xb9\\xa0\\x6f\\xda\\x31\\x23\\x86\\x72\\x26\\xb3\\x75\\x9d\\x5a\\xfa\\xea\\xc6\\xab\\x19\\xac\\x70\\xdb\\xd9\\xb9\\xe6\\x8a\\x8e\\x35\\x9f\\x7f\\xe3\\xa5\\x53\\xdf\\xde\\x76\\xfa\\x9e\\x75\\x6b\\x7b\\x24\\x27\\x4d\\x6f\\xb1\\xee\\xc1\\xb0\\x07\\x77\\x1c\\x7c\\xca\\x3f\\x76\\xde\\xe4\\xf1\\xd3\\x97\\x6d\\x59\\xae\\xca\\xff\\x7e\\x5a\\x15\\xa9\\x3e\\xef\\xaa\\x8e\\x3b\\x92\\x2b\\x97\\xc5\\x26\\xfa\\x3f\\xf3\\x9f\\x1b\\xf6\\xd2\\xa5\\x4f\\xb6\\x3f\\xbe\\x63\\x5d\\x6b\\xff\\xeb\\xfa\\x3f\\x35\\xa5\\xf4\\xbf\\xda\\x35\\xf5\\xe7\\x20\\x61\\x32\\xc8\\x97\\xee\\x70\\x3a\\x95\\xcb\\x54\\xa6\\xbb\\x86\\xa3\\xae\\x65\\x84\\x19\\x61\\x73\\x0a\\x57\\x87\\xfe\\x1f\\x5a\\x19\\x4e\\x5f\\x0d\\x25\\x35\\xd4\\xc9\\x1a\\xaa\\xbc\\x86\\x2a\\xaa\\xa1\\x78\\xbd\\x22\\x5a\\xb6\\x43\\x55\\x25\\x53\\x6c\\xb0\\x9e\\xd3\\xb1\\xd0\\xe9\\xf4\\x4a\\x0f\\xb3\\xeb\\xa5\\xbd\\xb7\\x1b\\x7d\\x2f\\x3d\\x66\\x89\\xea\\xd2\\xff\\x42\\xb4\\xb5\\x23\\x78\\x27\\xb2\\xf7\\xeb\\xda\\xd2\\x48\\x5a\\xca\\x78\\x5f\\xa7\\x06\\xcd\\x62\\x92\\xb1\\x27\\x32\\xc6\\xaa\\x59\\xc7\\x59\\xd3\\x99\\x9e\\x61\\x46\\x36\\xaf\\xd7\\x1c\\x4c\\x9b\\x37\\xf7\\xc6\\xc7\\x37\\x9e\\x59\\x18\\xef\\x72\\x7b\\x67\\x16\\xba\\x13\\x7c\\x19\\x4a\\x32\\xd4\\xc9\\x0c\\x55\\x9e\\xa1\\x8a\\x32\\x14\\xaf\\x57\\x6d\\xe3\\x62\\xdf\\x29\\x68\\xaa\\xd6\\x70\\xe8\\x4e\\xd1\\xda\\x06\\xd7\\x65\\x5f\\x83\\x93\\xbd\\x31\\x5c\\x8f\\x5b\\xaa\\xd0\\x87\\x46\\xd5\\x2e\\x80\\x57\\x3c\\x2f\\x9b\\x34\\xe2\\xc6\\xf9\\x6f\\x9f\\xf2\\xe7\\x97\\x4d\\xb9\\x6e\\xca\\xab\\x47\\x9f\\x3a\\xbe\\x62\\xfe\\x92\\x85\\xb3\\xe6\\xdc\\xb1\\x68\\x41\\xb3\\xc9\\x53\\x6e\\x18\\x5f\\x32\\x65\\xfa\\x44\\xf3\\x87\\xa9\\x9b\\x9b\\x5e\\xf3\\x58\\xd9\\x33\\x47\\xd5\\x6d\\x8b\\x0e\\x34\\x6b\\xba\\x69\\xda\\xae\\xc3\\x8f\\x5f\\x3c\\x5e\\xbe\\x66\\xd9\\x43\\x7b\\x16\\xaf\\x30\\x33\\x96\\xdf\\x71\\xdb\\x5d\\x2b\\xe6\\xdd\\xa2\\xf3\\xab\\x07\\x3e\\xef\\x27\\xbf\\xea\\xe2\\x33\\xf9\\x95\\x58\\x53\\xf0\\xcc\\x29\\xce\\xe4\\x94\\x78\\xaf\\xb7\\x61\\xed\\x86\\xb3\\x0a\\xa5\\x76\\x74\\x6d\\xf2\\xab\\x76\\x6d\\xd3\\xed\\x8e\\x61\\x15\\x45\\x78\\x22\\xd2\\x39\\x48\\xcd\\x88\\x08\\x77\\x82\\x99\\x40\\x7e\\xb9\\x7c\\x29\\x4a\\x52\\xd4\\xc9\\x14\\x55\\x9e\\xa2\\x8a\\x52\\x14\\xaf\\xff\\x6b\\x7e\\xc5\\x04\\x77\\xea\\x38\\xed\\x31\\xe5\\xac\\xb0\\x7c\\xda\\x06\\x97\\x4f\\x6c\\x9c\\x3e\\x98\\x55\\xa3\\x18\\xed\\x74\\xfb\\x68\\xa3\\xc7\\xa9\\xbf\\x7d\\xf6\\x96\\xff\\x9b\\x9f\\x1e\\x5c\\xda\\x3d\\xd9\\x3b\\xb9\\x7d\\xf9\\x7e\\xf7\\xa6\\xed\\x07\\x5f\\x55\\x8f\\xfe\\x32\\xf7\\xb6\\xdb\\xef\\x9c\\x67\\xee\\xf8\\xeb\\xc7\\xfe\\xc3\\xfe\\x72\\xff\\x01\\xff\\xd6\\x46\\x9f\\xaf\\x89\\xaa\\xab\\x12\\x54\\xcc\\xd0\\x37\\x8c\\x5a\\xfe\\x1d\\x9b\\xd7\\xb1\\x8d\\x28\\x8f\\xf6\\xf5\\x01\\xea\\x81\\xf5\\xe6\\x73\\xd4\\x03\\x75\\xa4\\xc2\\x37\\x2f\\x5c\\xff\\xd7\\x7f\\x9c\\x75\\x13\\x6a\\x45\\x6d\\x1d\\x51\\x2b\\x3a\\x58\\x1a\\xbc\\x99\\xa0\\x8e\\x25\\xa8\\x43\\x09\\x6a\\x47\\x82\\x5a\\x98\\xa0\\x66\\x25\\xa8\\x92\\x04\\xe5\\x4b\\x50\\x19\\x09\\x2a\\x25\\x41\\xc5\\x27\\x28\\x2b\\x81\\x12\\xd5\\x66\\x2a\\xab\\x1a\\xce\\x4f\\x50\\xbd\\x12\\xd4\\x89\\x6a\\x33\\xbd\\x09\\xca\\x88\\x4e\\x50\\x92\\xa0\\xce\\x25\\xa8\\xf2\\x04\\xb5\\x26\\x41\\x4d\\x4f\\x50\\x45\\x09\\x2a\\xcf\\x16\\x76\\xb9\\xfe\\x1c\\x53\\xfd\\x1e\\x52\\xfd\\x4a\\x3a\\xaa\\xda\\xf9\\xff\\x3b\\x1f\\x28\\xc6\\x54\\xaf\\x5a\\xd6\\x67\\x67\\xea\\xaa\\xa5\\x75\\x4e\\x4e\\xeb\\xcc\\x9c\\xec\\x36\\x99\\xd9\\xa1\\xea\\x25\\xdb\\x38\\x42\\x09\\x93\\xc9\\x8b\\xf6\\xfd\\x06\\xea\\xc4\\x6d\\xb6\\xef\\xf5\\x65\\x82\\xaf\\x7b\\x6c\\x78\\x78\\x1d\\x2a\\xa2\\xa8\\x3a\\x75\\x1a\\x34\\x8c\\x8a\\xde\\x5e\\x58\\x2f\\x6a\\xf7\\x88\\xd8\\x7a\\x6e\\x73\\xeb\\x08\\x77\\x74\\x99\\x7d\\xe0\\x76\\x5b\\xd3\\x50\\xf1\\x74\\xa2\\xa1\\xaa\\xb0\\x8f\\xde\\x93\\xf6\\xf3\\x51\\xfb\\xb5\\x2c\\x78\\x06\\x8f\\x0a\\x55\\x65\\xf6\\x67\\xa0\\x75\\xaf\\xa8\\x30\\xab\\xed\\x1b\\x21\\x3b\\xe3\\x7e\\x53\\x71\\xae\\xaf\\x32\\xd8\\x7d\\xdf\\xfa\\x83\\xde\\x94\\x5e\\xd9\\x6d\\x7c\\x79\\x66\\x6e\\xc8\\xe6\\x8b\\x47\\x82\\x45\\x68\\x2d\\x6f\\x6c\\xa3\\xee\\xed\\xb2\\x46\\x04\\x6b\\xe8\\xa7\\xa8\\xa1\\x37\\xb0\\xfb\\xb5\\xf2\\x25\\x5a\\x6c\\x01\\xe2\\x74\\x85\\x71\\xa5\\x95\\x74\\x4b\\x45\\x59\\xdd\\xac\\x69\\xd6\\xeb\\x56\\x80\\x92\\x5a\\x12\\xd2\\x47\\xcd\\xc8\\xcc\\x3c\\x7e\\xfc\\x8a\\x0b\\x93\\xaa\\xe5\\x56\\xb5\\x4a\\xcd\\x27\\x2f\\xbe\\x63\\x36\\x33\\x56\\xb7\\x56\\x6f\\x8d\\xf7\\xcf\\xf3\\xcf\\x1b\\x0f\\x36\\xa5\\x6a\\xb7\\xe5\\x31\\x77\\xdb\\x9f\\xbd\\xfa\\x7c\\x29\\x4e\\xc3\\x41\\x67\\x98\\xdb\\x34\\x1e\\xe6\\x0c\\x53\\x1c\\x22\\x2e\\x9f\\xcb\\xf9\\x70\\xa1\\xc7\\xa5\\xf4\\xe1\\xed\\x0b\\x8f\\xce\\x75\\x49\\x7a\\xda\\xa8\\x19\\xf6\\x07\\xbf\\x7f\\x0b\\x66\\xf7\\xaf\\x75\\x1a\\x55\\x90\\x26\\xcb\\x73\\xb1\\x37\\xca\\x7a\\x1b\\x91\\xa5\\xa5\\x6a\\x4b\\x69\\x29\\xf6\\x4f\\xc0\\xfe\\xa4\\xdf\\xd8\\x8f\\xbd\\xe9\\x86\\x8a\\x32\\xba\\x19\\xd3\\x8c\\xd7\\x8d\\x80\\xe1\\x30\\x6c\\xfb\\x8f\\x1f\\xcf\\xcc\\xac\\x26\\xb6\\x7d\\x5b\\x37\\x17\\xba\\x5a\\x13\\xcc\\x66\\xd8\\xff\\xe4\\x53\\xe3\\xd5\\x12\\xb5\\x64\\xbc\\x3f\\xad\\xb5\\x1d\\xdb\\xc0\\x69\\x33\\x8b\\x35\\xcc\\xbe\\xa5\\x0e\\xf8\\x02\\x75\\x0c\\x65\\x36\\x70\\xc6\\x46\\xc4\\x36\\x30\\x53\\x92\\x8d\\xda\\xdb\\x0b\\x0d\\x23\\xba\\xea\\xec\\xab\\xe7\\xab\\xe7\\xdd\\x3a\\xa2\\x5e\\x5c\\x78\\x78\\x74\\xb4\\x7b\\x7b\\x61\\xb4\\x75\\x4b\\x8a\\x9a\\x94\\xa2\\xc6\\xa4\\xa8\\x81\\x29\\xaa\\x53\\x8a\\x4a\\x4f\\x51\\x89\\x29\\xaa\\x66\\x8a\\xba\\x90\\xa2\\xbe\\x4d\\x51\\x1f\\xa4\\xa8\\xd7\\x53\\xd4\\x9f\\x52\\xd4\\xbe\\x14\\x75\\x5f\\x8a\\x5a\\x9d\\xa2\\xe0\\x1f\\x91\\xa2\\xfa\\xa6\\xa8\\x6e\\xd5\\x98\\x27\\xc0\\xfd\\x65\\x35\\xee\\xad\\x29\\x6a\\x45\\x8a\\x5a\\x90\\xa2\\xa6\\xd9\\x42\\xd3\\x6c\\xbe\\xa8\\x2a\\x9e\\x57\\x6d\\x9e\\x03\\xb6\\xac\\xa0\\xee\\xbe\\xd5\\xb4\\x9e\\x49\\x51\\x27\\x52\\xd4\\xb1\\x14\\x75\\x28\\x45\\xad\\x49\\x51\\x0b\\x53\\xd4\\x74\\x7b\\x57\\xc9\\x4f\\x51\\xbd\\x52\\x54\\x9b\\x14\\x95\\x92\\xa2\\xe2\\x53\\x94\\x95\\xa2\\x3a\\x04\\xf9\\x2a\\x52\\x94\\x51\\x6e\\xf3\\x96\\xd9\\xbc\\xbe\\x56\\x6c\\x40\\xde\\x14\\x15\\x5d\\xb5\\x2b\\x1d\\xb5\\x79\\x18\\xc9\\xb3\\xfb\\xe9\\xfc\\xc4\\x66\\xc7\\x7c\\x8f\\xfd\\xfa\\xff\\x61\\xef\\xdf\\xe3\\xab\\xa8\\xae\\xc6\\x61\\x7c\\xaf\\x99\\x39\\xb7\\x9c\\xcb\\xcc\\xb9\\xdf\\xaf\\x39\\x39\\xb9\\x11\\x73\\x39\\x09\\x21\\x44\\xc8\\x10\\x31\\xc6\\x80\\x70\\x88\\x11\\x39\\x20\\x9c\\x88\\x29\\x72\\x95\\x80\\x5c\\x54\\x54\\x82\\xdc\\x4a\\xd1\\x12\\x34\\x5e\\x8a\\x16\\x52\\x1e\\x44\\x8b\\x51\\x23\\x46\\x1f\\x2f\\x6d\\x89\\x8a\\xb6\\xd6\\x5a\\xf0\\x11\\x6b\\xad\\xb5\\xc4\\x8a\\x5a\\x9f\\x5a\\x4d\\x2d\\x5a\\x0b\\x64\\xf2\\xdb\\xb3\\xe7\\xcc\\xc9\\x9c\\x24\\xf6\\xf9\\x7e\\x9f\\xdf\\x5f\\xef\\xfb\\x79\\x15\\x98\\x33\\x7b\\xd6\\x5e\\xb3\\x67\\xef\\xb5\\xd7\\x5e\\x6b\\xed\\xb5\\xd7\\xd2\\x2e\\x1a\\xcf\\x44\\x94\\x1a\\x3d\\x27\\xb3\\x55\\xc6\\xf1\\x37\\x07\\x46\\xc1\\xa5\\x65\\xd4\\xd2\\x91\\x3d\\x02\\x73\\x8d\\xb8\\x0e\\x48\\x72\\x83\\x53\\x24\\x97\\x5c\\x5a\\x96\\xd7\\xb0\\xb8\\x56\\x35\\x91\\x48\\x6b\\x2c\\x58\\x95\\x33\\xfc\\xb9\\x84\\x67\\xcf\\xdc\\x59\\xcb\\x77\\xb4\\x37\\xe7\\xd6\\xef\\xdf\\x05\\x8f\\xfe\\x64\\x5f\\xcd\\x15\\xf2\\xa4\\x87\\x45\\x30\\xcb\\x6f\\xbe\\x73\\xc7\\x3d\\x37\\x97\\x1f\\x12\\x8a\\x85\\x9e\\xff\\x78\\x2d\\x64\\x1c\\x3a\\x97\\xe6\\x00\\x98\\x36\\x56\\x09\\x9b\\xd4\\x5f\\xa9\\x5a\\xd0\\x54\\x74\\x39\\x7a\\x97\\xdf\\x55\\xad\\x41\\x8e\\xb2\\x32\\xd3\\x74\\x5f\\x5e\\x61\\xdd\\xe5\\x85\\xb4\\xc3\\xe7\\xd0\\x98\\x34\\xa6\\xa6\\x19\\x96\\x09\\xef\\x26\\x2d\\x6e\\x77\\xc3\\xef\\x93\\x11\\xfe\\x77\\x49\\xd6\\x9d\\x72\\xaf\\x76\\xd3\\x7a\\x36\\x12\\x8c\\x50\\x1c\\xed\\x8e\\xb8\\x23\\xb4\\x5e\\x1f\\x7f\\x27\\xa9\\x67\\xa6\\xd2\\x74\\xed\\x3b\\x49\\x9a\\x9d\\x01\\xc3\\x33\\x60\\x60\\x06\\x9c\\x9c\\x01\\xfd\\x33\\xa0\\x77\\x06\\x74\\xcf\\x80\\x41\\xb9\\x84\\x9b\\x01\\x68\\x06\\xf0\\xb8\\x88\\x9f\\x01\\xed\\x33\\xa0\\x55\\x86\\xe8\\x9c\\x01\\xc1\\x19\\x80\\x2b\\x67\\xba\\x5c\\xee\\xbb\\x74\\xa7\\xa2\\x52\\x59\\xa8\\x17\\xd7\\x4a\\x57\\xa9\\xb8\\x62\\xe0\\xf9\\x25\\x16\\xa6\\x27\\x99\\x25\\x23\\x25\\x9a\\x25\\x4b\\x73\\x79\\x99\\x4a\\xcd\\xe4\\x46\\xa2\\x54\\x15\\x67\\x41\\xe1\\x10\\x32\\xdb\\x28\\x7c\\x5b\\x55\\x59\\x2d\\x9b\\xe3\\xe8\\x5a\\xa8\\x70\\xd2\\xc4\\x0e\\x87\\xd7\\x4f\\x4b\\x55\\x25\\x0a\\x47\\x18\\xca\\x6c\\xb3\\x30\\xf8\\xb6\\x1a\\xf2\\x23\\x6a\\xca\\x6e\\x13\\x7f\\xaa\\x8e\\xde\\x25\\x7c\\x78\\xf8\\x43\\xe1\\xa7\\x2f\\x9e\\x87\\x17\\xc1\\x04\\x09\\x58\\xf3\\xb2\\xf0\\xec\\xd3\\xd3\\xb4\\x57\\x3f\\x7a\\x49\\xe3\\xec\\x29\\xab\\x1f\\xe9\\xbe\\x23\\x1a\\x2b\\x5b\\xab\\x65\\xf3\\xf2\\xd6\\xf5\\xb7\\x0b\\xbf\\x12\\xbe\\xf8\\x4c\\xd8\\xfd\\xee\\x83\\x10\\xfb\\x55\\xd7\\xbf\\xb6\\x0b\\x7f\\x2e\\xbf\\xe3\\xc9\\x65\\x89\\x49\\xf7\\x4c\\x79\\xee\\x86\\xd4\\xcf\\x61\\xde\\x1f\\xc0\\x07\\xbf\\x01\\x4a\\xf8\\x85\\xf0\\xa7\\x5f\\x08\\x4f\\xfd\\x3a\\x5e\\x31\\xe3\\xea\\xe4\\xaa\\x05\\x1b\\x3f\\xea\\xdd\\x54\\xa2\\x1e\\xfa\\x22\\x77\\xad\\x3b\\xcf\\xfd\\x1f\\x10\\xd9\\x77\\x01\\x5c\\x1f\\x09\\x57\\x0a\\xe7\\x5f\\x11\\x4e\\x3e\\x76\\x45\\x8a\\xee\\x61\\x92\\xc2\\xb7\\xf7\\xde\\x3b\\xb5\\x52\\x9c\\xd7\\x36\\x84\\x54\\xcf\\x61\\x3d\\x8d\\x45\\x16\\x48\\xf1\\x5f\\x99\\x4d\\x2c\\xcb\\x58\\x8c\\x9c\\xc1\\xa0\\xd1\\x70\\x0c\\x6d\\xb5\\x19\\x4d\\x66\\x53\\x6b\\xd2\\x62\\x36\\x03\\x87\\xb9\\x88\\x41\\xc3\\xb0\\xc0\\xa6\\x92\\x39\\x60\\x39\\x6b\\x83\\x33\\x36\\x38\\x65\\x83\\xe3\\x36\\xe8\\xb3\\xc1\\x21\\x1b\\x74\\xd9\\x60\\x9b\\x0d\\xd6\\xd9\\xa0\\xcd\\x06\\x2d\\x36\\x98\\x6e\\x83\\x4a\\x1b\\x44\\x6d\\x60\\xb3\\x01\\x63\\x83\\xff\\x5b\\xf8\\x9a\\x7f\\x53\\x41\\x09\\xcd\\x10\\x98\\x7e\\x1b\\x50\\xbd\\x36\\xe8\\xb6\\x41\\xa7\\x0d\\x3a\\x6c\\xd0\\x6e\\x83\\x84\\x0d\\x78\\x1b\\x94\\xd9\\x20\\x64\\x03\\xce\\x06\\x03\\x04\\x68\\x14\\xc0\\x6c\\x1b\\x8c\\x9d\\x76\\xa9\\xef\\xdc\\x96\\x1b\\xdf\\xaa\\x43\\xc4\\x41\\xa2\\x5f\\x88\\x1b\\x16\\x92\\xb6\\x81\\x2e\\xca\\x48\\xee\\x16\\xc2\\x5e\\x45\\xd5\\x3d\\x0f\\xb3\\xec\\x6a\\x2c\\x28\\x38\\xc5\\x2b\\x1d\\xc6\\x42\\x67\\x18\\xde\\x14\\x2e\\x7b\\x00\\x5e\\xff\\x05\\xbc\\x7f\\x64\\xe8\\xf5\\xbe\\xed\\x43\\x83\\x3b\\x61\\xf7\\x27\\xf0\\x76\\x95\\xa8\\xce\\x7e\\x7b\\x5e\\x2b\\xaa\\xb5\\xb0\\x55\\xb8\\x8d\\x59\\x3a\\xb4\\x5e\\xd4\\x3f\\x68\\x54\\x3b\\x7c\\x8e\\xf9\\x8a\\xc8\\xae\\x16\\x14\\x43\\x1f\\xf0\\xf7\\xe8\\x22\\xc8\\xa7\\x32\\x99\\xec\\xf6\\xa0\\x2f\\xc2\\x14\\xe4\\xe7\\x71\\xad\\xc9\\x3c\\x4b\\x50\\x65\\x50\\x19\\x5a\\x93\\xac\\x0a\\xf4\\xb4\\x4a\\xe5\\xb2\\xba\\x1c\\xa9\\xa4\\x8b\\x69\\x4d\\xba\\x68\\xab\\x3d\\x95\\xb4\\x5a\\xba\\x0b\\xa0\\xb3\\x00\\x3a\\x0a\\xa0\\xbd\\x00\\x5a\\x0b\\x80\\x2f\\x80\\x81\\x02\\x38\\x40\\x4a\\xf0\\x6d\\x82\\x94\\x84\\x0a\\xe0\\x74\\x01\\xf4\\x93\\x92\\x32\\x72\\x8b\\x0a\\x60\\xf2\\x09\\xf2\\x98\\x2b\\x80\\x41\\x82\\x02\\x91\\x9a\\x27\\x0b\\xa0\\x9b\\xe0\\x92\\x6a\\x2e\\x1c\\x59\\xb8\\x15\\x66\\x4f\\xe5\\x6e\\x1c\\x11\\x3c\\x94\\xf2\\x1a\\x11\\xa4\\x8b\\x15\\xca\\x0e\\x59\\xe6\\x2a\\x63\\xc5\\x80\\xe5\\xd7\\x89\\x56\\xf2\\x43\\x9c\\x59\\xaa\\xaa\\x6a\\x73\\x7e\\x55\\x38\\x24\\xea\\x41\\x44\\xa2\\x65\\xc2\\x79\\xf4\\x2f\\xf6\\x3d\\x7e\\xe2\\xfd\\x83\\x3f\\xfa\\xde\\xcf\\x4e\\x0c\\xfe\\xe0\\xa1\\xc7\\x8e\\x5c\\x70\\xf5\\xf4\\x50\\xdf\\x43\\xc3\\x9f\\xef\\xdd\\xfa\\xcc\\x6b\\xc2\\xd7\\xc3\\x48\\x68\\xa1\\xbf\\xdd\\xd4\\x2e\\xa8\\x3a\\x04\\xc7\\x5d\\x5b\\x87\\x7e\\xa3\\xde\\xfb\\x31\\xee\\xdd\\xfd\\x9e\\xaa\\xfb\\x0f\\x6d\\x38\\xec\\xb3\\x3e\\xfe\\xfd\\x97\\x7e\\xa9\\x26\\xba\\x5d\\xcb\\xf0\\xe7\\xcc\\xc7\\x78\\x8d\\xf3\\xa2\\xa9\\x7c\\xd8\\x4c\\x8b\\xa2\\xa7\\xcf\\xaf\\x36\\xa5\\x92\\x58\\x07\\xd0\\x61\\xcd\\x47\\xcd\\xb8\\xdd\\x08\\xd9\\xf0\\xbd\\x95\\xf7\\xc3\\xc2\\x0c\\xe3\\x95\\xa5\\xcf\\xcc\\x42\\xaa\\xc2\\x1c\\x82\\x43\\xe1\\x0a\\xa7\\x95\\xe8\\x31\\x21\\xc9\\x8e\\x32\\xb1\\x0e\\xe2\\xb4\\x9a\\x56\\x0b\\x2f\\x08\\x5d\\x98\\xa5\\xce\\x7b\\x6b\\x50\\x5d\\x1f\\x68\\x78\\xbe\\x55\\x18\\xfe\\xfc\\x9f\\x9f\\xaf\\xfd\\x75\\x6d\\xde\\x34\\xf5\\x1f\\x6d\\x70\\x1d\\xf0\\x30\\x1f\\xae\\x8b\\x0b\\xef\\x3f\\x51\\x5c\\x2a\\xfc\\x97\\xf0\\x8a\\xf0\\x47\\xe1\\x37\\xd5\\x17\\xfd\\x4a\\x78\\xb5\\x4e\\x9c\\xaf\\xb5\\xc3\\x17\\x54\\xeb\\xf1\\xf8\\xeb\\xb0\\x7c\\x39\\x13\\x6b\\x2f\\x36\\x64\\xb4\\x19\\x5d\\x6e\\x27\\x1e\\x56\\x27\\x1e\\x60\\x27\\xcd\\xe1\\xf6\\x71\\x9a\\xd6\\x24\\x66\\x54\\x6e\\xa8\\xe3\\x89\\xa0\\x38\\x40\\x24\\xc4\\x76\\x22\\x15\\xae\\x59\\x2b\\x5a\\x93\\x8a\\xe5\\x11\\x50\\xd8\\x7e\\x50\\x38\\x57\\xec\\x63\\x0b\\x48\\xad\\xcf\\xcb\\x25\\x7d\\xcd\\x1c\\x12\\xde\\x12\\x3e\\xed\\xbb\\xe9\\xe1\\x6f\\x3e\\x1b\\xfa\\x16\\x6e\\x84\\x25\\xc2\\x23\\xc2\\x4f\\x85\\x48\\x0f\\xee\\xe3\\x47\\xb1\\x04\\x1c\\x39\\xbf\\x49\\x0b\\x11\\xfa\\x55\\xe1\\x19\\xa1\\x4f\\xe8\\x15\\x0e\\x33\\x52\\xd7\\x92\\xfe\\xac\\x45\\x88\\xb9\\x8d\\xec\\xa1\\xde\\xc0\\x37\\x18\\xf0\\xb4\\x76\\xe3\\x55\\x87\\xf1\\xf9\\x0d\\xd6\\xd6\\x64\\xca\\xb0\\xda\\x40\\x95\\x18\\x80\\x46\\x06\\xce\\x40\\xe9\\x54\\x06\\x03\\xe3\\xf5\\xda\\x5a\\x93\\x5e\\x48\\x25\\xbd\\x16\\x46\\xdf\\x9a\\x64\\xa8\\x54\\x92\\xa1\\x07\\xfc\\xd0\\xed\\x87\\x76\\x3f\\x24\\xfc\\x20\\x76\\x7a\\x5a\\x70\\x1d\\x45\\x40\\x29\\xa2\\x8c\\xa5\\x89\\xa7\\xbc\\xac\\x0e\\x44\\x22\\x31\\xe7\\xe6\\x8b\\x64\\x13\\xae\\x8e\\xe3\\x5f\\x61\\x73\\x38\\x24\\xf6\\x7f\\xb8\\xb6\\xa7\\x87\\xfe\\xa2\\x3e\\xd4\\x7e\\xea\\x7d\\x58\\x1e\\xe4\\xf9\\xa0\\x70\\x1f\\x68\\x81\\x4a\\xd4\\xd4\\x5b\\xcf\\xbf\\x25\\xb5\\x5d\\x38\\xf6\\x9e\\x69\\xe8\\x6c\\xb7\\xd0\\x76\\x70\\xe8\\x03\\xee\\x5b\\x61\\x7f\\xe6\\x5b\\x0a\\xf1\\xb7\\x38\\xd1\\x59\\xfe\\xb0\\xc3\\x62\\xb1\\x99\\x01\\xd4\\x6a\\x9b\\x9e\\x76\\xbb\\xcc\\x08\\x7f\\x8e\\x79\\xb5\\x99\\x2a\\x31\\xe3\\xcf\\x31\\x73\\x66\\xfc\\x39\\x66\\xb3\\x5a\\xa7\\xc3\\x53\\x51\\xa7\\x49\\x25\\x75\\x34\\xa8\\x19\\x35\\xfe\\x18\\x8b\\x24\\xb9\\x77\\x29\\xe4\\x7a\\x86\\x88\\xef\\x67\\xdc\\x70\\x8a\\x94\\xaf\\x23\\x12\\xfc\\x58\\x61\\xbf\\x4b\\xa1\\x29\\xb4\\xc8\\xca\\x42\\x48\\xa9\\x2c\\x9c\\x91\\xe1\\xf0\\x7d\\x3f\\x56\\x0d\\x7a\\xdd\\x80\\x19\\xd9\\x78\\xec\\x6b\\x94\\x70\\x91\\x31\\x71\\x7d\\x47\\x6f\\xca\\xb6\\x12\\xc2\\xb4\\xc6\\x74\\x2b\\x3c\\x7a\\x7a\\xe8\\xa5\\x03\\x99\\x1e\\xdd\\x1d\\x9c\\x32\\x25\\x48\\xcd\\x1f\\xfa\\x86\\xd8\\xe3\\xe4\\xbe\\x7c\\x4b\\xec\\x4b\\x69\\x7e\\xa9\\x76\\xe2\\xf9\\x15\\x42\\xfd\\xfc\\x66\\x9b\\xda\\x63\\xc0\\x52\\x6a\\x38\\x12\\xf2\\xfa\\xbd\\xa9\\xa4\\xdf\\x2f\\xaa\\x7e\\xb8\\xb3\\x18\\xda\\x99\\x4a\\xd2\\xd6\\x0d\\x11\\x58\\x12\\x81\\x86\\x08\\xc4\\x22\\xf0\\x4d\\x04\\xfe\\x2b\\x02\\xd0\\x1f\\x81\\xbe\\x08\\x1c\\x8a\\x40\\x57\\x04\\xb6\\x45\\x20\\x11\\x81\\xe9\\x11\\xa8\\x8c\\x40\\x34\\x02\\x4c\\x04\\x6a\\xf0\\xdf\\xb3\\x11\\x38\\x13\\x81\\xe3\\x04\\xae\\x4b\\xf1\\x98\\x8b\\x00\\x35\\x10\\x81\\xf6\\x08\\xb4\\x46\\x80\\x8f\\x40\\x28\\x92\\xf6\\x24\\x18\\x91\\xb4\\x14\\x9d\\x94\\x36\\xfd\\x8e\\xd2\\xab\\x15\\x7b\\xcf\\xa2\\xa6\\x84\\x17\\x7e\\x79\\x92\\x9b\\xb3\\x26\\x39\\xe9\\x23\\xbb\\x46\\xc5\\xac\\x3b\\xd7\\x49\\x66\\xfa\\xb5\\x70\\xd5\\xd9\\x8f\\x2e\\xf1\\x5e\\xfa\\xd2\\x8a\\x61\\xf4\\xb7\\xb3\\x5f\\xb6\\x3c\\x57\\xd6\\x03\\x5f\\x6e\\x6d\\x88\\x55\\x42\\x2b\\x5c\\x82\\xff\\x2e\\xbc\\x58\\x18\\x38\\x5c\\x5e\\x25\\x9c\\x10\\x5e\\x13\\xde\\x13\\x4e\\x14\\xf8\\xe0\\x36\\xcf\\xc4\\x89\\x1e\\x89\\xe6\\x54\\xbb\\xc9\\xfc\\x79\\x92\\xbf\\x21\\xc7\\xe1\\x30\\xeb\\xdc\\x6e\\xca\\x4c\\xf9\\x7d\\x3a\\x17\\xe6\\xed\\xba\\x3a\\xdd\\x6c\\x1d\\xad\\xc7\\xdd\\x86\\x54\\x9c\\x5e\\x4b\\xab\\xe8\\x54\\xd2\\xa8\\xa2\\xdd\\x0e\\x33\\x85\\xf0\\xd4\\xb1\\x21\\x4b\\xa5\\x1f\\xa2\\x7e\\xb0\\xf9\\x81\\xf1\\xc3\\xe4\\xe3\\x7e\\x68\\xf3\\xc3\\x74\\xf9\\xfe\\xac\\x1f\\xce\\x90\\x5b\\x09\\x08\\x4f\\x33\\xea\\xa4\\x62\\xaa\\x49\\xfd\\x30\\x42\\x27\\x8b\\xa4\\x79\\x57\\x91\\x59\\xe6\\xa4\\x1f\\x78\\x71\\x73\\x65\\x33\\x3f\\x89\\x5c\\xe2\\x55\\xe9\\x6e\\x30\\x87\\xd3\\x57\\x89\\x7c\\xc2\\xf8\\x8a\\x27\\x20\\xe5\\xee\\xa1\\x36\\xf6\\x50\\x98\\x4f\\x0f\\xfd\\xa5\\x67\\x68\\x57\\x8f\\x44\\x2b\\x55\\x9e\\xa1\\xbf\\x53\\xac\\x78\\x3d\\xbf\\x58\\xa4\\x1f\\xaa\\x6a\\xe8\\x0d\\x6f\\x15\\xee\\x87\\x26\\xcc\\xf8\\x16\\x8b\\xbe\\x3f\\xa0\\xe7\\x7f\\xae\\x32\\x1a\\xf4\\x6a\\x2d\\x9e\\x4e\\x5a\\x5a\\xb4\\x21\\x63\\x5a\\xb1\\x74\\x1a\\xa1\\xc3\\x08\\xed\\x46\\x68\\x33\\x42\\x8b\\x11\\xa6\\x1b\\x21\\x64\\x04\\xce\\x08\\x8c\\x11\\x06\\x8d\\x30\\x60\\x84\\x53\\x46\\x38\\x6e\\x84\\x3e\\xf9\\x69\\xa5\\x11\\xa2\\x46\\x38\\xa3\\x28\\x3f\\x64\\x84\\x2e\\x19\\x49\\xab\\x0c\\x56\\x46\\xc0\\x6c\\x04\\x4f\\x6d\\x06\\x7a\\x9b\\x11\\xd6\\x91\\x37\\x49\\x88\\x18\\xf2\\x82\\x93\\x46\\xa0\\xfa\\x8d\\xd0\\x6b\\x84\\x6e\\x82\\x20\\x41\\x6a\\x4b\\xad\\xc0\\xcf\\xa4\\x47\\x18\\xbd\\x72\\xfe\\xa5\\xc6\\xf8\\xae\\x8c\\x23\\x60\\x64\\x20\\x94\\x96\\x68\\xb1\\xb3\\x31\\x09\\x66\\x66\\xa4\\x5d\\x03\\xcf\\x8a\\x3d\\x29\\xf6\\x68\\x42\\x9e\\x79\\x55\\x1e\\xc2\\xb7\\x8a\\x87\\x3f\\xa7\\x44\\x79\\xc1\\x86\\x7a\\xf9\\x9b\\x6c\\x06\\xb5\\xda\\x61\\xcf\\xb1\\x60\\xea\\x31\\x05\\x4d\\x54\\x8e\\x68\\xbf\\xb3\\x8a\\x8a\\x68\\x2a\\x49\\xd1\\x7b\\x1c\\xb0\\xd9\\x01\\xb3\\x1d\\x10\\x74\\x00\\xeb\\x80\\x61\\x07\\x9c\\x70\\xc0\\x93\\x0e\\x38\\xe0\\x00\\xe9\\x51\\x29\\x79\\x74\\x5a\\x51\\x58\\x4a\\x20\\x2f\\xfe\\xd2\\x01\\xc7\\x1c\\xb0\\xda\\x01\\x75\\xa4\\x0e\\xfe\\xdd\\x4d\\x2a\\x84\\x1c\\x90\\x72\\x00\\x72\\xc0\\xc2\\x11\\x4a\\x5a\\x34\\x0e\\x13\\x92\\xbf\\x6d\\x64\\x1d\\xb5\\xd4\\x88\\x46\\x2b\\x89\\x72\\x6c\\xa2\\x8c\\x2d\\x9b\\x6c\\xaa\\x60\\x5f\\x0f\\xc5\\x3c\\xd0\\xfc\\xc8\\xf5\\x1d\\xb3\\xeb\\x03\\xd6\\x86\\xa2\\x3b\\x99\\x2f\\xc4\\x6f\\xbd\\xf0\\xf2\\x8e\\xd7\\xd7\\x07\\xce\\xee\\x76\\x7a\\x7e\\x81\\x64\\x7e\\xad\\x3a\\x8a\\xbf\\xdb\\x8d\\xbe\\xe5\\x7f\\xea\\xc8\\xc9\\x61\\x9d\\x58\\xe9\\xa5\\xb5\\xac\\xca\\xe3\\x75\\xda\\x29\\xce\\xc2\\x61\\x56\\xe3\\xd0\\xd2\\x8c\\xd1\\x6d\\xa1\\x73\\x18\\xd6\\x88\\x85\\x5a\\x8d\\xd1\\x72\\xc8\\x0b\\x9d\\x5e\\xd8\\xe6\\x85\\x36\\x2f\\xb4\\x78\\xa1\\xd6\\x0b\\x8c\\x17\\x06\\xbd\\x70\\xc6\\x0b\\x7d\\x5e\\x78\\xd0\\x0b\\xeb\\xc8\\xa3\\xe9\\x5e\\xa8\\xf4\\xc2\\x49\\x2f\\x1c\\xf7\\x02\\xae\\xd2\\x25\\xc3\\x4b\\xe5\\x21\\x2f\\xd8\\x48\\xc5\\x1a\\xfc\\x80\\xf7\\x02\\xf2\\x02\\x85\\x71\\x0c\\x78\\xa1\\xdf\\x0b\\xbd\\x5e\\xe8\\xf0\\x42\\x3b\\x79\\x50\\x46\\x60\\x07\\x08\\xa6\\x6e\\x2f\\x24\\xbc\\x59\\xf4\\xb1\\x66\\xb4\\x72\\x38\\x86\\x71\\x4b\\x93\\x10\\xf7\\x5b\\xda\\x39\\x26\\x3e\\xca\\x5a\\x6c\\xd7\\xe8\\x44\\x59\\x13\\x34\\x66\\x05\\xa9\\x98\\x71\\xb7\\xaa\\x2e\\x7f\\x50\\x98\\x48\\x4d\\xd9\\x2b\\x3c\\x37\\xf4\\x8f\\x67\\xfa\\x87\\xde\\x96\\x66\\xe4\\x1d\\xdb\\x55\\x53\\xaa\\x3c\\x02\\x3f\\x14\\xf1\\x56\\x51\\x87\\xf7\\x0a\\xb5\\x23\\xa4\\x34\\xf4\\x7d\\xea\\x26\\x71\\x51\\x97\\xd6\\xc1\\xa5\\x62\\x6c\\x4a\\x98\\xc4\\xff\\x81\\xd2\\xe8\\xf5\\x66\\x0e\\x0c\\x26\\x43\\x2a\\x69\\xa2\\x75\\x7a\\x2c\\x19\\x69\\xc0\\x44\\x6b\\x34\\x3a\\x1d\\x8d\\xd7\\x3e\\x4b\\xc6\\x7b\\x6e\\x9b\\x19\\xd6\\x99\\x61\\x89\\x19\\xe6\\x12\\xe7\\x3c\\xc9\\x27\\x4f\\x6d\\x86\\xb3\\x66\\xf8\\x84\\xb8\\xda\\xbd\\x26\\xbb\\xeb\\x6d\\x20\\x60\\x2d\\x32\\xd8\\xef\\x14\\xbe\\x75\\x12\\x9e\\x0c\\xc0\\x74\\x33\\x54\\xe0\\x45\\x38\\x64\\x06\\x9b\\xe4\\xb7\\x77\\x56\\xf6\\xdb\\xeb\\x22\\x7e\\x78\\x95\\xf2\\x03\\x2a\\xe3\\xa6\\xd7\\x4f\\x9c\\xf8\\x78\\x33\\x64\\x9c\\xf3\\x06\\x14\\xfe\\x79\\xdd\\xe4\\x69\\x82\\x00\\x8c\\x99\\x88\\x29\\xe5\\x54\\x4d\\xfd\\x8f\\xea\\x3a\\x1a\\xd9\\x5a\\x91\\xf7\\x59\\x88\\xdd\\xaa\\x46\\x1c\\x17\\xcc\\x15\\x2b\\xaa\\x45\\x5f\\x2d\\x69\\x4c\\xa8\\x8d\\x27\\x40\\xfb\\x4e\\xdb\\xd4\\x69\\x96\\xf3\\x1f\\xe3\\x91\\xb8\\x58\\xa5\\xf5\\x9c\\x5f\\x6a\\x03\\xa7\\xb0\\x39\\x5b\\x96\\x52\\x7f\\x88\\xfb\\xdd\\x85\\xb6\\xf0\\x16\\x93\\xd3\\x69\\x01\\x64\\x34\\xd0\\xb4\\x56\\x6b\\xb4\\xd0\\x1e\\xb7\\xf1\\xb9\\xe1\\x6f\\xf9\\x89\\x3a\\x63\\xa3\\x51\\xaf\\x76\\x99\\x75\\x7a\\x1d\\x1e\\x0f\\x4a\\x8b\\xef\\x29\\x3d\\xed\\xb4\\xd0\\x5a\\xb5\\x16\\x0f\\x0d\\x80\\x5d\\x6d\\x19\\xf0\\xc0\\x49\\x0f\\xf4\\x7b\\xa0\\xd7\\x03\\xdd\\x1e\\xa8\\xf3\\xa4\\x3f\\x15\\x53\\x13\\x26\\x9a\\x11\\xf6\\x2e\\x6f\\x98\\xd4\\x28\\x25\\x81\\x34\\x61\\x85\\x73\\x15\\xe2\\x80\\x0e\\x46\\xd8\\x3b\\xbd\\x28\\x57\\xb0\\xf7\\x09\\xd5\\x3d\\x3d\\x70\\x1f\\xf4\\xc1\\x1f\\xa1\\x03\\x73\\xf8\\x81\\x3e\\x66\\xcb\\xf9\\x13\\x32\\x2d\\x5d\\x60\\xe8\\x0b\\x32\\x83\\x67\\xca\\x47\\xe6\\xea\\x03\\xf8\\xdb\\xac\\xe8\\x6a\\xbe\\xcc\\xaa\\x51\\x5b\\x74\\x3a\\x93\\xda\\x64\\xb7\\xa9\\x10\\x6b\\xc6\\xf3\\x52\\x4b\\x61\\x59\\xdc\\x64\\xc0\\x72\\xb8\\x55\\x63\\xb0\\x20\\x3b\\x96\\x6a\\xed\\x10\\xb2\\xc3\\x80\\x1d\\xba\\xed\\x20\\x4b\\xb4\\x92\\xdb\\x9c\\xab\\x2e\\xcb\\x7d\\x4e\\x36\\xfe\\xa6\\x59\\x89\\xb2\\xdd\\xc0\\x6c\\xed\\x83\\xd7\\x7b\\xae\\xbd\\xf0\\x6a\\xba\\xc1\\xd4\\x51\\x89\\x95\\x9c\\xb7\\x30\\xcf\\x9e\\xdf\\x97\\x69\\x6f\\xda\\x1f\\x50\\x94\\x5d\\x6e\\xc4\\xb2\\x8b\\x1e\\x39\\xd0\\x44\\x3e\\x80\\x0c\\x6a\\xb3\\xc1\\xec\\x74\\xd9\\xf0\\xa2\\x6b\\xb3\\x9a\\xc4\\xfe\\x66\\x90\\x0b\\xb7\\xcc\\x05\\x21\\x57\\x7a\\xc7\\x76\\xec\\xee\\xaa\\x85\\x58\\xa0\\xc5\\x8d\\x55\\x9a\\x0b\\x4b\\xe2\\x43\\x08\\x41\\xde\\xef\\x3f\\xf9\\xf8\\x0f\\xef\\x7d\\xf2\\xe9\\xbb\\x6f\\x51\\x7b\\x60\\x3a\\xcc\\xc4\\x62\\x74\\xbf\\xf0\\x92\\xd0\\x4b\\x75\\x0b\\x3f\\x17\\xfe\\x04\\x11\\x2c\\x25\\x4c\\x03\\x71\\x27\\xe3\\x18\\xd5\\x23\\x3c\\x2c\\x3c\\x29\\x1c\\x11\\x0e\\x62\\xed\\x83\\x22\\x73\\x31\\x4c\\x74\\x41\\x17\\x96\\xa8\\x3a\\x90\\x5d\\x85\\xf9\\x9c\\x9d\\xf5\\xb8\\x75\\x6a\\x3c\\xfb\\x74\\x46\\x8b\\x05\\xcf\\x42\\x91\\xd3\\x61\\x16\\x47\\x38\\x9c\\xd1\\xb2\\xc7\\x03\\x9b\\x3d\\xb0\\xda\\x03\\xa5\\x1e\\x60\\x3d\\x70\\xda\\x03\\xc7\\x3c\\x70\\x80\\x94\\xcc\\x26\\xd4\\x80\\xcb\\x87\\x49\\xf9\\x09\\x52\\x98\\x22\\x60\\x93\\x24\\xb8\\x63\\xa4\\xb2\\x54\\xf3\\x49\\x52\\x6d\\x33\\xa9\\x13\\x24\\x25\\x5a\\x05\\x6b\\x1f\\x57\\xef\\x1b\\x2d\\x69\\x2a\\x85\\x06\\x85\\xb2\\xa7\\x1a\\x19\\x23\\xd1\\x4e\\x95\\x4b\\xcf\\xdf\\xf7\\xec\\xe2\\xa5\\x3f\\xfd\\x89\\x30\\xeb\\x9d\\xa1\\x37\\x0e\\xf4\\xc0\\x39\\xf8\\xfc\\x5f\\x9f\\xd1\\xbd\\x0f\\xff\\x70\\x68\\xfb\\xbe\\xb3\\x42\\x7d\\x46\\xd2\\x5c\\xff\\xdb\\xdf\\x89\\xe3\\x24\\xf4\\xa9\\x0e\\x91\\x71\\x8a\\xa2\\xb9\\x7c\\x29\\xb2\\x86\\x0c\\x6e\\x71\\xa8\\xf2\\x62\\xce\\x3d\\x3e\\x40\\x3e\\xac\\xc8\\xf9\\x22\\x21\\x6b\\x24\\x82\\x07\\x2e\\x22\\x0f\\x5c\\x0c\\x0f\\x5c\\x0c\\x42\\xb1\\xac\\x81\\x13\\x59\\x2b\\x77\\x1c\\x4f\\xe0\\x8c\\xdf\\xa8\\xe8\\xab\\x59\\x31\\xee\\x38\\xaa\\xc4\\xc5\\x49\\x74\\xc3\\xc9\\x8d\\x5c\\x04\\xf9\\xea\\x5c\\x79\\x54\\xdf\\x3f\\xf3\\xc9\\xef\\xc5\\x51\\xad\\x87\\x59\\xc2\\x8f\\x2b\\xe6\\xdd\\x7a\\x71\\xb3\\x73\\x73\\xe9\\x65\\x37\\xb4\\x6f\\x8d\\x96\\x09\\xc7\\x84\\xa3\\xd4\\x7e\\x3c\\xc2\\x03\\x10\\x80\\x4b\\xf1\\x18\\x7b\\x85\\x8f\\xf0\\x08\\x3f\\x81\\x47\\xf8\\x71\\xc1\\x7e\\xf7\\xd4\\x1b\\x16\\x31\\xf5\\x39\\xde\\xd2\\xeb\\x0f\\x33\\x90\\x92\\xc6\\x5a\\x75\\x25\\x1e\\x6b\\x3b\\x0a\\x60\\x6d\\x6a\\xaa\\x9d\\xe3\\xbc\\x46\\x2f\\x56\\x41\\x1c\\x46\\x9b\\xd9\\x62\\x36\\xaa\\x99\\x60\\x88\\xc3\\x82\\x22\\x56\\xa0\\xbc\\x3a\\x46\\xe7\\x96\\x35\\x0f\\xb3\\xa4\\x7a\\xd8\\x18\\x0b\\x17\\x82\\x93\\x21\\x68\\x97\\xb7\\x1c\\x15\\xcb\\x47\\x71\\xb6\\x8c\\xab\\xf4\\x38\\xad\\x19\\x25\\xfb\\x93\\xfd\\x47\\x8d\\xb8\\xa8\\xe8\\x32\\xe3\\x05\\x8f\\xbe\\x31\\xf4\\xce\\x81\\x1e\\xea\\x92\\x0b\\x83\\x77\\x6f\\x81\\x15\\x7b\\xf1\\x87\\xed\\x84\\x9c\\x7b\\x5f\\x7c\\xec\\xa9\\xa7\\xef\\xa7\\x66\\x0a\\x8c\\x3c\\x40\\x47\\x7e\\xb6\\xe3\\x95\\xd8\\xd0\\x5f\\xf0\\xda\\x32\\x13\\x6e\\xfb\\xd1\\x96\\xa1\\x57\\xb6\\x8b\\x73\\x7f\\xd7\\xf0\\xe7\\xf4\\x59\\x3c\\x5e\\x25\\x28\\xc9\\x57\\x3a\\xb5\\xf9\\x01\\x64\\xce\\x37\\x97\\x5e\\x14\\xd0\\xda\\x8a\\x8a\\xb0\\x70\\x07\\x45\\x56\\x1b\\xd6\\x0e\\x5c\\x36\\x66\\xb0\\x14\\x06\\x4a\\xe1\\x64\\x29\\xf4\\x97\\xc2\\x20\\xf9\\xb7\\xac\\x14\\x42\\xa5\\xd2\\x92\\x99\\x5e\\x0e\\x11\\x11\\x4c\\x15\\x3b\\x60\\xe9\\xad\\x9f\\x91\\xdd\\x52\\x35\\x31\\x77\\x8a\\x22\\xbb\\xb4\\xdb\\x15\\x50\\x93\\x0d\\xd5\\x58\\xfe\\xee\\x69\\xb9\\x79\\xcf\\xcc\\xbb\\xf3\\xc7\\x53\\xae\\xbb\\x7d\\xfb\\xed\\xd7\\x4d\\x19\\x7c\\xe7\\xe0\\x2f\\xa6\\xe5\\x2e\\xb9\\x6f\\xc7\\xfd\\x53\\xae\\xdb\\xbc\\x7d\\xf3\\x75\\x53\\xbe\\x18\\x58\\xf9\\x87\\xab\\x60\\xd9\\x33\\xa5\\x8d\\x7b\\x6e\\x6f\\x5c\\x34\\xad\\xe4\\xa2\\x49\\x73\\x37\\x2f\\xec\\x7e\\xb6\\x58\\xf8\\xec\\x50\\xd3\\xaa\\xd6\\x69\\x73\\xa7\\x4c\\x28\\xad\\x5d\\xb0\\xb5\\xf5\\xe5\\x77\\x62\\x61\\xc2\\xd3\\xf2\\xf0\\xdc\\x7c\\x49\\x94\\xbb\\xe0\\x62\\xfe\\x03\\x0b\\xa5\\xa7\\xb4\\xb4\\xdd\\x61\\x40\\x5a\\x4c\\x7f\\x5a\\xad\\x0e\\x33\\x34\\x71\\x81\\xa4\\x2d\\x44\\x54\\x47\\x96\\x3a\\x22\\x48\\x0d\\x10\\xd9\\x49\\x12\\xb6\\x52\\x44\\x9a\\x0a\\x91\\xf2\\x15\\x83\\x44\\xae\\xea\\x26\\xcf\\xda\\x15\\x32\\x9a\\x54\\xde\\x2b\\x8b\\x63\\xab\\x49\\x35\\xde\\x01\\x65\\x04\\x00\\x11\\x61\\x0d\\x3f\\xed\\x20\\xe5\\x65\\xa4\\xa4\\x76\\x98\\xbc\\x47\\xaa\\xb6\\x87\\x3c\\x98\\x4d\\x9e\\x0d\\x92\\xf2\\x5e\\xf9\\x1d\\x52\\x85\\x10\\xa9\\x33\\x48\\x10\\xf5\\x93\\xd7\\x74\\x90\\xa7\\x75\\xb2\\x34\\x48\\x84\\xbb\\xef\\x94\\x5a\\x17\\x7d\\xe7\\x12\\xb9\\x68\\xa4\\x4e\\x96\\x64\\x2b\\x2d\\x99\\x32\\x19\\xe2\\xa5\\x06\\xd3\\x1d\\xb1\\x5a\\x9b\\xc3\\x44\\xcd\\x2a\\x16\\x89\\x11\\x6a\\xdf\\x89\\x0f\\x2d\\xf4\\x5e\\xc2\\x3c\\x34\\xdd\\x1b\\xf8\\xf5\\x4d\\xe5\\xef\\x60\\x02\\xbb\\xdf\\xf6\\x16\\xd4\\x0a\\xaf\\xbe\\xa5\\xd1\\x9f\\x5f\\xe1\\xad\\x42\\xb2\\xec\\xab\\x7a\\x88\\xac\\x99\\xf7\\xf0\\xad\\x56\\x83\\x4b\\x6d\\x50\\xbb\\x3d\\x16\\x15\\x32\\xb2\\x46\\x2c\\xf0\\xb2\\xb4\\xce\\x8e\\xc7\\xc0\\xca\\x60\\x1e\\xd6\\xe6\\x81\\x16\\x0f\\x4c\\xf7\\x40\\xa5\\x07\\xa2\\x1e\\xb0\\x79\\xa0\\xcf\\x03\\x87\\x3c\\xd0\\xe5\\x81\\x6d\\x1e\\x58\\x27\\x97\\x73\\x1e\\xc0\\xd0\\x67\\x3d\\x80\\x57\\x51\\xea\\xa4\\xbc\\x86\\xb6\\x7b\\x20\\xe1\\x01\\xa5\\xea\\xa8\\xf8\\x54\\x99\\x9f\\x64\\x14\\xa6\\x91\\xe5\\x20\\x2d\\xde\\x32\\xb9\\xa1\\x68\\x55\\x5a\\x36\\xe3\\xc2\\x98\\x4a\\x99\\x9d\\xe2\\xc2\\x24\\xfc\\xf3\\x82\\xf0\\xb5\\xf0\\x4f\\x51\\xa6\\x87\\xeb\\xfa\\xdf\\x4c\\x8b\\xb9\\xa7\\xff\\x3e\\xf8\\xf7\\x0f\\xe8\\x4a\\xf2\\xfb\\x7d\\xe1\\x9e\\x67\\x9f\\x16\\xbf\\xd3\\x39\\xfc\\xa1\\x4a\\xf4\\x49\\x30\\xa1\\xdf\\xf0\\xbb\\x0d\\x14\\x43\\xeb\\x73\\x54\\x2a\\x3d\\xe6\\x4d\\xac\\x21\\x87\\x52\\x69\\xf0\\x34\\x32\\x69\\xb0\\xa2\\x68\\x4d\\x71\\x10\\xe4\\xe0\\x4b\\x0e\\x9e\\xe4\\x60\\x33\\x07\\xb3\\x39\\xa8\\xe3\\x80\\xe5\\x60\\x98\\x83\\xd3\\x1c\\xf4\\x72\\xd0\\x4e\\x1c\\x27\\x10\\x07\\xb5\\xfd\\xe4\\x5e\\xf2\\xa5\\x48\\x90\\xd2\\x32\\x0e\\x3a\\x39\\xe8\\xe0\\x20\\xc4\\xc1\\x20\\xf1\\xb4\\x38\\x29\\xc3\\x48\\xe5\\xed\\x0a\\xc8\\x10\\xc1\\x32\\x5a\\xa5\\x19\\x8f\\x2a\\xc8\\xc4\\x55\\xf4\\x8e\\xc4\\x7d\\x64\\xf9\\x15\\x72\\xa5\\x5e\\xd2\\x89\\x42\\x6b\\xef\\x3d\\x43\\x1f\\xc7\\x87\\x4e\\xdf\\x4f\\x05\\xfa\\xb0\\x78\\x71\\x6f\\xaf\\x28\\xad\\x9e\\xfb\\x87\\xca\\x48\\x3a\\x23\\x8f\\x7e\\xdf\\x23\\xea\\x8a\\xd4\\xf0\\x87\\x9a\\x5d\\x64\\xde\\xcd\\xe6\\x43\\xac\\x2d\\x47\\x65\\x53\\x39\\xec\\x94\\x36\\x07\\x8b\\x42\\x06\\x83\\xd1\\x68\\x63\\x73\\x48\\x87\\x98\\x35\\xb4\\x49\\xaf\\x17\\xa5\\xa6\\xe3\\xf8\\x91\\x9e\\x06\\xf1\\xb8\\xa2\\x03\\xe6\\x3a\\xc0\\xe1\\xc0\\x4c\\x15\\x3e\\x73\\xc0\\xfb\\x0e\\x78\\xcd\\x01\\x87\\x1d\\x70\\x9f\\x03\\x96\\x90\\x47\\x0d\\x0e\\x98\\xe8\\x80\\x18\\x01\\x58\\xf6\\x8d\\x03\\x3e\\x71\\xc0\\xef\\x1c\\xf0\\xbc\\x03\\xee\\x70\\x80\\x38\\x2b\\x30\\x82\\x33\\x0e\\x38\\xe5\\x80\\xc7\\x1c\\xf0\\xa0\\x03\\x76\\x3b\\xd2\\x85\\x2d\\x64\\x52\\x56\\x3a\\x20\\xea\\x00\\x1b\\x01\\x38\\xee\\x80\\x3e\\x07\\x1c\\x22\\x30\\x09\\xf2\\x94\\x92\\xa6\\x67\\xcd\\xa0\\xac\\x42\\x75\\x3a\\x80\\x23\\x45\\x27\\xc9\\xd4\\xeb\\x25\\xc8\\x38\\x32\\x49\\x33\\x25\\xb3\\xe5\\x69\\xa8\\x9c\\x80\\x99\\x4e\\x4e\\x8d\\x95\\x50\\xd7\\x48\\x5b\\x4e\\x63\\xf5\\x0a\\x51\\x7e\\x12\\x25\\xa7\\xcc\\x50\\xe0\\x89\\x18\\x2f\\x8d\\x67\\x19\\x35\\x73\\x75\\x23\\xc3\\x11\\xd7\\x49\\xbf\\x54\\x8b\\xaa\\x84\\x43\\xc2\\x83\\x55\\xc2\\xf4\\xf5\\x14\\x7a\\x15\\xea\\x60\\x59\\x09\\x5c\\x03\\x65\\x6f\\xc1\\xcf\\xd6\\x07\\xe9\\x87\\x2e\\xb4\\xa5\\x47\\x67\\x36\\x7d\\xf0\\xc2\\x22\\xfa\\x29\\xa2\\x95\\x82\\x18\\x3c\\x5b\\x75\\x90\\xd8\\x35\\x0e\\xf1\\x2b\\x55\\x76\\x9f\\xdf\\x6a\\x12\\xfd\\xbe\\x53\\x49\\xaf\\xda\\x66\\x64\\x68\\x4e\\x47\\x7b\\xec\\x92\\x6e\\xef\\xa2\\x2d\\x29\\x3f\\x04\\xfd\\xf0\\xa5\\x1f\\x9e\\xf4\\xc3\\x66\\x3f\\xcc\\xf6\\x43\\x9d\\x1f\\x58\\x3f\\x0c\\xfb\\xe1\\xb4\\x1f\\x7a\\x89\\xc1\\x82\\xf7\\x03\\xf2\\x43\\x2d\\xbe\\x74\\xfa\\xa1\\xc3\\x0f\\x21\\x62\\xd0\\x38\\xe9\\x87\\x7e\\xd9\\xa4\\xd1\\x4a\\x20\\x14\\xa4\\x38\\x96\\x08\\x33\\xb2\\xaf\\x52\\x9b\\xaa\\xc9\\x28\\xda\\xba\\x11\\x4a\\x0c\\xa7\\x15\\xab\\xaa\\x6a\\x80\\x29\\x87\\x85\\xa6\\x2e\\xf8\\x95\\xb0\\xe9\\x7e\\xaa\\xf0\\x08\\x38\\xa0\\xfa\\x30\\xfc\\x67\\x17\\x5e\\x00\\xdf\\x7c\\x60\\xe8\\xdd\\x23\\x42\\x37\\x51\\xc7\\xa9\\x45\\x14\\x2f\\x7e\\xba\\xb0\\x18\\x88\\x36\\x25\\xe4\\x0c\\xcd\\x23\\xe5\\x5a\\x89\\x4f\\x39\\x71\\x7f\\xdc\\x43\\x74\\xf4\\xd5\\xfc\\xa5\\x48\\xa3\\xc1\\x8b\\x2c\\x6b\\xd4\\xe6\\x60\\x99\\x5d\\x83\\x4c\\x34\\x63\\xce\\xc9\\x18\\x10\\x31\\x39\\xd4\\x49\\xf4\\x92\\x90\\x99\\xf3\\x00\\x59\\x18\\x24\\xb6\\x9c\\x90\\xb9\\xbf\\x72\\xce\\x2d\\x5a\\x98\\xd1\\xaf\\xb3\\xbe\\x4c\\xb9\\xb4\\x67\\x7d\\x1b\\xdd\\xf0\\xce\\xd0\\xbd\\xef\\x08\\x85\\xf7\\x53\\xd5\\x7d\\xb0\\x05\\x6e\\x38\\x02\\x7d\\xf7\\x50\\x9c\\xc0\\x93\\xcd\\x88\\x17\\xa8\\x33\\x44\\x21\\xbc\\x97\\x5a\\x91\\xb1\\x31\\x2c\\xc6\\x6b\\xdd\\x8d\\xb8\\xfd\\x16\\x08\\xf1\\xbf\\x06\\x5d\\x0e\\x56\\x55\\x74\\x1c\\x63\\xb3\\xa2\\x1c\\x4b\\x4e\\x2a\\xc9\\x5a\\x2c\\x3a\\xd0\\x42\\x6b\\x52\\xa5\\xa5\\x95\\xfb\\x38\\xed\\xe3\\x6d\\xfc\\x28\\x37\\x7d\\x0e\\xc9\\x7b\\x3d\\x78\\x32\\x53\\x83\\x64\\x07\\xe7\\x24\\xd9\\xc4\\x19\\xbb\\xd1\\x23\\xed\\xf2\\x60\\xb8\\x9a\\x01\\xf2\\x20\\xb3\\xeb\\x83\\xe4\\x8d\\x9f\\x5e\\x52\\xde\\x4e\\xf6\\x84\\x32\\x8f\\xc6\\x22\\x95\\xd0\\xd5\\x91\\xa7\\xdf\\xb9\\xb0\\x65\\x5b\\x6b\\x52\\xe3\\xaa\\x7f\\xb2\\x36\\x92\\x25\\x54\\x95\\x97\\x55\\x43\\x7a\\x35\\xb3\\x03\\x66\\xf5\\x44\\x09\\x5c\\x4c\\x0d\\x9e\\xfb\\xe7\\xc2\\xe0\\xa5\\xf4\\xde\\x21\\x3d\\x44\\xd6\\x7d\\x59\\x5e\\xdb\\xe0\\xbd\\x90\\xb3\\x88\\xd9\\x65\\x7b\\x1b\\xa6\\xcc\\x3d\\xbf\\xca\\xa1\\x07\\x24\\xec\\x16\\xfb\\xf9\\x01\\xe1\\x0b\\xaa\\x55\\x75\\x17\\xd2\\xa0\\x9f\\xf3\\x77\\x68\\x28\\x06\\x28\\xd0\\x69\\x29\\xfa\\xeb\\x24\\x85\\x7b\\xfc\\xeb\\x24\\xaa\\xd5\\x41\\xb1\\x0e\\xde\\xd7\\xc1\\x63\\x3a\\xd8\\x46\\x8e\\x70\\x49\\x25\\x5e\\x72\\x1c\\x6b\\xd9\\x59\\x1d\\xbc\\xa8\\x83\\x05\\xe4\\xc1\\x1b\\x3a\\x78\\x50\\x07\\xbb\\x75\\xb0\\x82\\x94\\x64\\xe0\\x58\\x1d\\x0c\\xeb\\x80\\xfa\\x52\\x07\\xa7\\x75\\xf0\\xa4\\x0e\\x0e\\x90\\xf3\\x57\\xb8\\xb4\\x06\\x17\\xf7\\xeb\\xe0\\x24\\x39\\xa8\\x75\\x9a\\x9c\\xcf\\x52\\x6e\\xad\\xca\\xc6\\xc2\\x51\\x66\\x1e\\xb2\\xbe\\x97\\x8e\\x56\\x84\\xac\\xf8\\xf3\\x55\\x66\\x95\\xfd\\x01\\x3c\\x6f\\xde\\x85\\x42\\xe1\\x0b\\xf5\\x81\\xd2\\xc2\\x73\\xe6\\xc2\\xd2\\x2c\\x5f\\xd8\\x6f\\xf9\\x5e\\x31\\x1d\\x1c\\x85\\x54\\x0c\\x65\\x45\\x8c\\xe4\\xb5\\xdb\\x25\\xfb\\xfc\\xb6\\x10\\xb7\\xdf\\x4a\\xe2\\x14\\x2c\\x79\\x04\\x8f\\xf2\\xf1\\x6f\\x23\\x7e\\xc0\\x12\\x4c\\x94\\xb8\\xf2\\x63\\x4c\\x69\\xcf\\xff\\x8c\\x13\\xf0\\x28\\x7f\\x61\\x4e\\xe9\\x2f\\xdc\\xa1\\x78\\x26\\x9d\\x05\\x18\\xeb\\x3e\\xdc\\x2a\\xbb\\x19\\xf7\\x92\\x9a\\xdf\\x2d\\x02\\xa5\\x3b\\x23\\xb5\\x66\\xcd\\x78\\xf6\\x82\\x6c\\xbf\\x7b\\x73\\x1c\\x72\\x17\\xc3\\xbb\\x6d\\xaa\\x86\\x73\\x87\\xc9\\xfc\\x6a\\xc2\\xe3\\x6e\\x21\\xe3\\xfe\\x22\\xbf\\x85\\x41\\x94\\x46\\x83\\x74\\x5a\\x15\\xf3\\x75\\x52\\x85\\x9f\\xe2\\x71\\x97\\x46\\x04\\x8f\\x4e\\x2f\\x19\\x97\\xd9\\xe4\\xa8\\xdc\\xb2\\x41\\x1d\\x1c\\xd3\\x41\\xb7\\x0e\\x3a\\x75\\x90\\x22\\xa5\\x1c\\x79\\x70\\x42\\x07\\xab\\x49\\x49\\x1d\\x39\\x55\\x17\\x94\\x07\\x5d\\x39\\xe6\\x1d\\x99\\x61\\xc7\\x58\\x5b\\xff\\xcd\\xb0\\x7f\\xd7\\xa1\\x97\\xf1\\x46\\xbd\\x2a\\xcf\\x9c\\x57\\x15\\x36\\x37\\xe1\\x11\\x7f\\x17\\x8f\\xfc\\x17\\xa5\\x85\\xaa\\x2f\\x0b\\x4b\\xff\\x75\\x2d\\xf9\\x46\\x3f\\x6c\\xa7\\x0f\\x63\\x1e\\xa2\\x46\\x97\\xf3\\xc5\\x2a\\x35\\x5e\\x8f\\x69\\x8a\\x62\\xd4\\xb4\\xe8\\x7c\\xc3\\x60\\x6a\\xd0\\xc2\\xac\\x90\\x16\\x06\\xb5\\x30\\xa0\\x85\\x5e\\x2d\\x74\\x63\\x86\\xa2\\x85\\x84\\x56\\xde\\x6b\\x14\\x99\\x5c\\x45\\xe9\\x68\\x01\\x02\\x77\\xa4\\xb8\\x66\\xbd\\x5e\\x0e\\x3d\\xd7\\x0b\\x07\\x85\\x83\\x4b\\x54\\x53\\x2e\\x34\\x8a\\xde\\x2d\\x84\\xef\\x0e\\x0f\\x0a\\xdf\\x32\\xdc\\xf0\\x22\\x8c\\xdd\\xce\\xeb\\x28\\x4c\\x4a\\x80\\x5e\\x48\\x82\\xe8\\x1e\\x00\\xa4\\x3e\\x8d\\xb9\\x21\\xc7\\x84\\x84\\x6f\\x97\\x2c\\x91\\x7c\\x3f\\x99\\x14\\xc5\\xa9\\x3a\\x91\\x0a\\xfd\\x95\\x7f\\x04\\x2f\\x50\\x94\\x8a\\xd2\\xa8\\x11\\x75\\xf7\\x02\\xd1\\xf3\\xa5\\x14\\xd1\\x5a\\xd4\\xaf\\x81\\x5e\\x0d\\x74\\x6b\\xa0\\x43\\x03\\xed\\x1a\\x68\\xd5\\x40\\x42\\x03\\xbc\\x06\\x42\\x1a\\xe0\\x34\\x80\\x34\\x30\\xa8\\x81\\x01\\x19\\xa6\\x93\\x80\\x49\\x00\\x65\\x04\\x46\\x7a\\x7a\\x52\\x03\\xfd\\xe4\\xa9\\x84\\xa1\\x4c\\xae\\x3b\\x49\\xaa\\x26\\x55\\x90\\x40\\x25\\x14\\x52\\x65\\xa9\\x9a\\x54\\xa7\\x54\\xae\\xa3\\xcd\\x3e\\x9b\\x34\\x8a\\x22\\xc7\\x37\\x5d\\x95\\x66\\x6f\\x66\\xea\\xa0\\x2a\\x6e\\xb5\\xc3\\x7b\\xc2\\xfe\\x77\\x8e\\x33\\x29\\x30\\xe4\\x09\\x83\\x61\\xc9\\x26\\xd2\\x88\\x75\\xb7\\x35\\xf4\\x4b\\x78\\x1d\\xcf\\x43\\xab\\xf8\\x3a\\xb3\\x36\\x2f\\x8f\\x09\\x19\\x0c\\x6e\\x86\\xce\\x8f\\xe5\\x45\\x72\\x22\\x73\\x92\\x2e\\xbb\\xd9\\xec\\x4b\\x24\\x59\\x73\\xd0\\x4c\\x19\\x68\\xb3\\x19\\x69\\x73\\x1c\\x1a\\x26\\x91\\xd4\\xd8\\x91\\x3d\\x91\\x44\\x5c\\x47\\x3e\\xa4\\xf2\\x81\\xcf\\x07\\xfc\\x63\\xe1\\x9a\\xcc\\xce\\xb0\\x28\\x2f\\x5b\\x6a\\x32\\x3b\\xc3\\xa3\\x14\\xd3\\xb4\\x23\\xac\\xb8\\x74\\x61\\x55\\x3b\\x62\\xae\\x9c\\x8a\\xe5\\x8e\\x11\\xef\\x16\\xd0\\x88\\x6e\\x18\\xc4\\xed\\xe2\\xad\\x7d\\x7b\\xd7\\x0b\\x82\\x75\\xed\\x53\\x7f\\xbf\\xbc\\xfb\\x81\\xbb\\x2e\\x6b\\x6a\\xbb\\x32\\x32\\xe9\\x20\\xa0\\xad\\x3b\\x52\\x7b\\xa6\\x5f\\x57\\x41\\xbf\\x74\\xfb\\x1d\\x43\\xdb\\xdd\\x25\\x8b\\xd6\\x82\\x6b\\xd1\\xa6\\x69\\x34\\x73\\xcf\\xb5\\xd7\\x94\\xae\\x7f\\x33\\x57\\x08\\x30\\xaa\\x45\\x37\\xf4\\x06\\x5d\\x24\\x77\\x29\\xf1\\xd7\\xbc\\x0b\\xe9\\x91\\x1f\\x75\\xf0\\x73\\x2c\\x1a\\x8d\\x1f\\x39\\xfd\\xce\\x40\\xd0\\xa3\\x4b\\x24\\x3d\\x0e\\xb5\\xc5\\x62\\xb3\\xd1\\x73\\x92\\x36\\x2c\\x6b\\xe3\\xef\\x44\\x7c\\x10\\x3a\\x82\\x80\\x82\\x50\\xd3\\x19\\x04\\x2e\\x08\\x03\\x41\\xe8\\x0f\\x42\\x6f\\x10\\x3a\\xc9\\x83\\xd6\\x20\\xf0\\xa4\\x44\\xfa\\x1d\\x0a\\x42\\xd6\\x14\\x5a\\xb4\\x70\\xe1\\xda\\x11\\xf3\\x83\\x39\\xae\\x9c\\x40\\x69\\x1b\\x09\\xd6\\x5a\\x35\\x64\\x27\\x5c\\x5c\\xab\\xcd\\x36\\x8d\\xe4\\x70\\x4e\\x89\\x2a\\x2c\\x25\\x74\\xec\\xa8\\x5d\\xe7\\x69\\x59\\xff\\x83\\x5b\\x87\\x76\\xef\\x82\\x52\\x75\\xdb\\x03\\xfd\\x6f\\x7e\\xf8\\xce\\xdc\\x13\\xb3\\x60\\xf0\\xb9\\x3e\\xbb\\x61\\xc8\\xc9\\xfd\\x9e\\xb9\\xc8\\x55\\x22\\xf4\\x4e\\xec\\x9c\\xf5\\xd9\\xe7\\x43\\xc2\\xbf\\x62\\x41\\xe9\\x7c\\x07\\xfe\\xc6\\x59\\xf4\\xab\\xc8\\x81\\x5a\\xf9\\x8b\\xcd\\x2a\\xbd\\x43\\xe5\\x70\\xba\\xb4\\x6c\\x22\\x69\\xd0\\x72\\x0e\\x1b\\x6d\\x9b\\x93\\xa4\\x1d\\xc8\\x05\\x53\\x79\\x17\\x94\\x11\\xfb\\x16\\xe7\\x82\\x41\\x17\\x9c\\x24\\x27\\x0a\\x3a\\xc8\\x89\\x82\\x27\\x5d\\x90\\x72\\x65\\xdb\\xf9\\x33\\x52\\x87\\x92\\x98\\xc8\\xbe\\x99\\x79\\x44\\x07\\x0f\\x49\\xbe\\x97\\xf4\\xac\\xf2\\x9e\\xf9\\x42\\xf5\\x67\\xef\\xed\\xec\\xae\\x2e\\xbe\\x72\\x9d\\x70\\xf6\\x3f\\x1e\\xbb\\x7b\\x65\\x4d\\xb4\\x10\\xfe\\xfe\\xd7\\xa1\\xa0\\x70\\xee\\x70\\xa9\\xb0\\xf4\\xd4\\x33\\x61\\x71\\x3c\\x9a\\x70\\x5b\\x3f\\xc5\\xe3\\x61\\x25\\xe3\\x31\\xdb\\xc6\\xe8\\x91\\xdb\\xcd\\x31\\x5c\\x20\\x68\\xe5\\x12\\x49\\xab\\x5d\\x1a\\x06\\x0d\\x26\\x3a\\x0d\\xe7\\xc6\\x15\\x28\\xe7\\x9c\\x24\\xe5\\xc0\\x03\\x72\\x59\\x82\\xf4\\x7d\\x19\\xe9\\x75\\x24\\x0f\\xc2\\xf8\\xa3\\xb1\\x56\\xf9\\x05\\x64\\x18\\x46\\x0e\\xef\\xa5\\x3f\\x45\\xfa\\x1a\\xe2\\x4f\\x6b\\xc1\\x1f\\x13\\x9b\\x42\\xc6\\x43\\xb4\\xb6\\x93\\x0f\\x32\\xe3\\x4f\\xa3\\xde\\x5e\\x73\\xbf\\xb0\\xf9\\x0f\\xa7\\x56\\xae\\x56\\xef\\x87\\xe9\\xeb\\x84\\x6f\\x85\\x60\\xc7\\xb6\\x35\\xf3\\x93\\x6b\\x85\\x0b\\x0d\\xf3\\xe1\\xc3\\x7f\\x02\\x38\\xc3\\xdb\\xcf\\xba\\x4a\\xce\\x3d\\xef\\x2e\\x81\\x37\\x7f\\xf1\\x62\\x3e\\xf5\\xa9\\x99\\xcc\\xab\\x04\\xfe\\xc6\\x06\\x3c\\x1e\\x76\\xe4\\x43\\x77\\xf1\\xf3\\xdd\\x00\\xac\\x47\\x6b\\x67\\xed\\xfe\\x80\\x1b\\xe1\\xaf\\x73\\x07\\xdd\\x78\\x32\\xb9\\xdd\\x06\\x8b\\xc5\\x91\\x48\\x5a\\x38\\x83\\x6a\\x4e\\xd2\\xe0\\xe8\\x97\\x9d\\x28\\x25\\x9f\\xca\\x76\\x72\\x90\\x21\\x41\\xdc\\x2c\\xa7\\x26\\xc8\\x91\\x86\\xb2\\x00\\x84\\x02\\xc0\\x05\\x60\\x90\\xc0\\x61\\xa0\\x35\\x6b\\x46\\xef\\x10\\x67\\x6d\\x7a\\x2a\\x36\\xf6\\x32\\x5b\\x0a\\x36\\x62\\x49\\x91\\x4c\\x5d\\x31\\x71\\x20\\x43\\x66\\x3b\\x44\\xd4\\xf6\\x70\\x65\\x0c\\x98\\x29\\x9b\\xaf\\x9f\\xd8\\x55\\x56\\xf6\\xf0\\xdc\\xf7\\xdf\\xf8\\xed\\x31\\x58\\x26\\xdc\\xbf\\x74\\x35\\xdc\\x7d\\x0d\\xbc\\x67\\xf9\\xc1\\x8f\\x12\\x16\\xfd\\xa4\\xe0\\x45\\x9f\\x83\\xea\\x9b\\xaf\\x84\\x25\\xcd\\xf0\\xd0\\xa3\\x87\\x9e\\x26\\xe7\\x67\\x44\\xa7\\x86\\x23\\xaa\\x83\\xc8\\x0b\\x13\\xf9\\xdf\\x5b\\x1c\\x0e\\xda\\xeb\\x75\\x5a\\x73\\x18\\xbf\\xcf\\xe1\\x75\\x7b\\x13\\x49\\xb7\\x1d\\xd9\\xac\\xb6\\x44\\x92\\xb6\\xb2\\x1a\\x53\\x22\\xa9\\xd7\\x80\\x57\\xde\\xbe\\x7c\\xd1\\x0f\\xdb\\xfc\\xb0\\x8e\\x6c\\x6b\\x16\\xfb\\xd3\\xe5\\x2b\\xce\\xf8\\xe1\\x94\\x1f\\x8e\\xfb\\xa1\\xcf\\x0f\\x5d\\x04\\x02\\x3f\\x9e\\xa1\\xa8\\xf3\\x18\\x29\\x5f\\x40\\xea\\x48\\x5b\\xa1\\x6f\\xc8\\xe5\\x18\\x57\\x8b\\x62\\x8b\\x74\\xf2\\x5f\\x09\\xa2\\x43\\x44\\xab\\xc8\\xbc\\x2a\\xb3\\xa9\\x8a\\x97\\x2c\\x6a\\x50\\x56\\x34\\xba\\x89\\xde\\x21\\xa9\\x22\\x58\\xfb\\xe0\\x64\\xcd\\x84\\xcb\\xe8\\x1d\\x19\\x56\\x9b\\x52\\xf0\\xda\\xd1\\xab\\xe8\\x38\\x3b\\x82\\x92\\x77\\x91\\x6c\\x41\\xc8\\x6c\\x25\\x38\\xe5\\x9d\\x68\\x6b\\x6e\\x55\\xb5\\x64\\xd4\\xb2\\x4b\\x46\\x2d\\x3f\\xc4\\xed\\xb9\\x92\\x5c\\xff\\xe1\\xc1\\x83\\x0f\\xdf\\x7b\\x45\\x7d\\x79\\x49\\xa4\\xac\\xae\\xf2\\xdc\\xb9\\x37\\x04\\x66\\x37\\x3d\\xaf\\x3c\\xbf\\xfe\\xe4\\x80\\xf5\\xcd\\x4d\\xf6\\xf6\\x7d\\x0f\\xb5\\x5c\\xf8\\x26\\x5c\\x52\\x12\\x16\\xcf\\x79\\x0b\\x0d\\xf4\\x7b\\x8c\\x17\\xe5\\xa3\\x4a\\xc4\\xc3\\x7e\\x7e\\x78\\x42\\x69\\xa9\\xd3\\xa6\\xf6\\x4c\\xf5\\x4f\\x42\\x05\\x46\\x23\\x8a\\xe5\\xaa\\xbc\\x7e\\x8f\\x4d\\x37\\xad\\x9e\\xae\\x4a\\x24\\x9d\\xc5\\xc5\\x39\\x2a\\x6f\\x2c\\x97\\xa1\\x73\\xe8\\x9c\\x90\\x39\\x54\\x9b\\x48\\x86\\x38\\x73\\x45\\x22\\x69\\xf6\\xf5\\xd5\\x43\\x77\\x3d\\x74\\xd5\\x43\\x47\\x3d\\xac\\xab\\x87\\xb6\\x7a\\x68\\xa9\\x87\\xe9\\xf5\\x50\\x59\\x0f\\xd1\\x7a\\xb0\\xd5\\x03\\x53\\x0f\\x03\\xf5\\x70\\xaa\\x1e\\xfa\\xeb\\x01\\x03\\x1f\\x22\\xc0\\xdb\\xb2\\x81\\x25\\x48\\x54\\x0f\\x67\\xeb\\xe1\\x0c\\x01\\x3e\\x9e\\x0d\\xdc\\x36\\x06\\x67\\x8d\\x12\\xf4\\x90\\x0c\\xa4\\x7c\\x37\\x33\\x06\\x20\\xf3\\x4a\\x9e\\xc0\\x84\\xea\\x81\\xe2\\xc8\\x6b\\x07\\xeb\\xf9\\x88\\xd8\\xca\\x93\\xa4\\x95\\xbd\\xe4\\x93\\x3a\\xc9\\x27\\xb5\\xd7\\x43\\x6b\\x3d\\x94\\x11\\xe0\\x2c\\xd1\\x2e\\x4b\\xb6\\x5b\\x3b\\xde\\x18\\x8f\\x5e\\x73\\x47\\x03\\x2a\\xe6\\x9e\\xe8\\x95\\x28\\x2d\\x77\\xd9\\x8e\\x18\\xb2\\x60\\x43\\x0e\\x81\\x68\\xf0\\x54\\x0c\\x4b\\xc7\\x8d\\x24\\x3f\\x4e\\xd1\\xaf\\x5f\\x3e\\x16\\xec\\xac\\x76\\x6a\\x88\\x7f\\x7f\\x58\\x76\\x4a\\x94\\x8f\\x51\\x88\\x3e\\xfe\\xf4\\x92\\x97\\x9f\\x6d\\x6e\\xa8\\xa3\\x1b\\x27\\x82\\xe3\\x81\\x7b\\xd6\\xff\\xf9\\x27\\xfd\\xaf\\x37\\xb6\\xd6\\xcc\\xda\\xbf\\xff\\x95\\x17\\xf2\\xd6\\x05\\x3f\\xc8\\xdd\\x7d\\x49\\x61\\xc3\\x65\\x42\\x57\\x51\\xd5\\xad\\x1d\\x8f\\x3c\\x23\\x3c\\xbd\\x6a\\xc1\\xa2\\xa5\\xcb\\x16\\xb7\\x52\\x5b\\x0f\\x1e\\x66\\xb7\\x9a\\x03\\xdb\\xd6\\x2d\\x7b\\xe8\\xaa\\x0d\\xab\\xaa\\xae\\xbf\\xd4\\x7a\\x4d\\xd5\\xd1\\xa6\\xf7\\xf6\\x3d\\xca\\xe6\\xac\\x2e\\xee\\x9c\\x71\\x61\\x65\\x0d\\x1f\\x5d\\x5d\\x36\\x77\\xc6\\xad\\xd4\\xfa\\xdb\\x36\\x6f\\x5f\\xb3\\x76\\xdb\\xb6\\x9b\\xc4\\x39\\x6e\\x43\\x88\\xfe\\x18\\xf3\\x6c\\x3f\\x7a\\x81\\xbf\\x19\\xd9\\x6c\\x6e\\xa3\\xc9\\xa4\\x73\\xeb\\x02\\x41\\xbf\\x27\\x91\\xf4\\x23\\x1b\\xbe\\x71\\xba\\xf1\\x6a\\xe3\\xb4\\x5b\\x29\\x4a\\xa5\\x32\\x37\\x27\\x55\\x5c\\xb7\\xbc\\x76\\x72\\xd2\\x72\\x3a\\x40\\x96\\xd0\\x76\\xc2\\xa8\\x95\\x9c\\x3c\\x48\\x1e\\x4b\\xab\\x6b\\xbb\\xbc\\xc0\\x9e\\x94\\x57\\xdd\\x6e\\x45\\xb9\\xb2\\xff\\x47\\x8d\\xce\\x9a\\x11\\x4e\\x9f\\x31\\x03\\x8c\\x76\\x69\\x00\\x9b\\x66\\x2a\\xc4\\xd3\\x72\\x07\\x56\\x99\\x2b\\x73\\x23\\x8a\\x7d\\x55\\x68\\xd0\\x34\\xfe\\x67\\xdd\\x2d\\xb7\\xae\\x15\\x56\\xdc\\x76\\x78\\xd1\\xd6\\xcd\\x42\\xdb\\xc6\\x3b\\xa1\\x82\\xfe\\x66\\xe9\\x45\\x85\\x17\\xff\\x70\\xe7\\xd0\\x7d\\xee\\x92\\x12\\x37\\xb5\\xa8\\xc7\\x3f\\x64\\x15\\x7f\\xa9\\x28\\x57\\x09\\xe6\\xf3\\xc5\\x98\\xf7\\x59\\xc8\\x5e\\x85\\x1d\\xfd\\x98\\x5f\\x82\\x0c\\x06\\xb5\\xd9\\xec\\x74\\xd0\\xba\\x2b\\x45\\x9f\\x70\\x8e\\xa6\\xed\\xbc\\xdd\\x92\\x48\\xe2\\x35\\xcd\\xcc\\x9a\\x31\\xe3\\xb7\\xdb\\x9c\\xc0\\x38\\x31\\xa5\\x3b\\xa1\\xd3\\x09\\x54\\xbb\\x13\\x5a\\x9d\\x90\\x70\\x02\\xef\\x84\\x7e\\x27\\xf4\\x3a\\xa1\\x9b\\xdc\\x86\\x9c\\xc0\\x39\\x01\\x39\\x61\\x90\\x94\\x60\\x50\\x25\\xe4\\x58\\xb1\\x3d\\x45\\x7a\\x21\\x63\\x86\\xcd\\x72\\x38\\x57\\x12\\x9c\\x1c\\x69\\x64\\xe4\\xa3\\x37\\xf1\\x25\\x13\\x78\\x7e\\x42\\x09\\x9f\\xf3\\x13\\xc1\\xdd\\xbd\\x1d\\x8a\\x99\\xd3\\xd2\\x3d\\x7f\\x7e\\xb2\\xf8\\x9d\\x74\\xc8\\x8d\\xbf\\x73\\xf8\\x55\\x61\\x26\\xec\\x22\\xdf\\xe9\\x47\\x9f\\xf1\\xfb\\xf1\\x77\\x9a\\xd5\\x6e\\x77\\x20\\x38\\xf2\\xa1\\x7e\\x9e\\x90\\x02\\xcb\\x8a\\x0b\\x1a\\xeb\\x3d\\x1f\\x84\\x17\\x83\\xb0\\x2d\\x08\\xfa\\x20\\xac\\xc2\\x37\\x7f\\x0d\\xc2\\x8c\\x20\\xd4\\x06\\xa1\\x38\\x08\\x5e\\x52\\xfa\\x60\\x10\\x76\\x07\\x61\\x53\\x10\\x16\\x90\\x47\\x95\\x04\\xe6\\x7d\\x52\\xed\\x31\\x52\\x8e\\x61\\x6a\\xf1\\xe8\\x53\\x1d\\x0a\\xa2\\x09\\x29\\x28\\x23\\x23\\x07\\xf4\\x2a\\x00\\xd8\\x60\\xb6\\x9f\\xf6\\x5a\\xa9\\x7b\\x16\\x8d\\x16\\xa1\\xd7\\x66\\x1c\\x62\\xe2\\x92\\x64\\x30\\xaa\\xcb\\xc6\\xf6\\x19\\x99\\xb0\\x55\\x71\\xa7\\x38\\x11\\x89\\xb1\\x17\\x76\\x91\\x7e\\xc2\\xfd\\x97\\x73\\xff\\xdd\\x53\\xaf\\x2c\\xf5\\x86\\x2b\\x6a\\x2f\\xbe\\x0b\\xe2\\x99\\x1e\\x3c\\xf7\\xe6\\x2b\\xbf\\xb6\\xfc\\x72\\x95\\xef\\xf6\\x3b\\xe9\\x7e\\x77\\x09\\x91\\xd3\\xf2\\x91\\x98\\x24\\xff\\x2e\\xe4\\x46\\xc7\\xf9\\x2b\\x4c\\x1a\\x8d\\x9a\\x45\\x1c\\x67\\x07\\xb5\\x51\\xab\\x55\\xdb\\x69\\x8f\\x97\\xf7\\xb6\\x7a\\xa9\\x6e\\xd1\\xe1\\x20\\x84\\x7f\\x27\\xbc\\xfd\\xde\\x01\\xaf\\x7a\\x0a\\xe7\\xed\\xf5\\x52\\x9c\\xb7\\x0c\\x17\\xb4\\x7a\\x4f\\x7a\\x07\\xbd\\x6a\\x84\\x7f\\xb6\\x7b\\x3b\\x71\\x79\\x3f\\x2e\\xd0\\x68\\x69\\xaf\\x98\\x8a\\x34\\xb9\\xb0\\x91\\x5c\\xaf\\xb8\\x4a\\xba\\x56\\xd5\\x90\\x2b\\x1f\\x29\\x2e\\x6f\\x74\\xe3\\x71\\x71\\x23\\xce\\xa8\\xb5\\x5b\\xed\\xa2\\x7c\\x65\\xd2\\x30\\xb4\\xde\\x6a\\x57\\x03\\x0d\\x78\\x6d\\x66\\xc7\\x1a\\x98\\x70\\xa7\\x80\\x98\\xd4\\x12\\x77\\x8a\\x68\\x6b\\x5b\\xb3\\x56\\x19\\xc9\\x24\\x7d\\x54\\x6a\\x94\\x29\\x4d\\x39\\x9b\\xe6\\xc1\\x96\\xc5\\x30\\x73\\xbd\\x70\\x16\\xe6\\x2d\\x11\\x36\\xcf\\x15\\x84\\x4d\\x6d\\xc2\\xe6\\x8d\\xbb\\xa1\\x1c\\x5e\\x85\\x03\\xde\\x92\\x12\\xa7\\xf0\\xc5\\xd0\\x17\\x4e\\x4c\\x61\\x70\\xef\\x4e\\xe1\\xab\\xcc\\x94\\xc2\\x7d\\x54\\x88\\xe7\\x14\\x87\\xfb\\x48\\x87\\x0e\\xf2\\xed\\x2a\\x7d\\x8e\\x4e\\x9d\\x48\\xea\\x90\\x68\\x4d\\xc4\\x0d\\xb5\\x9f\\xd2\\xc3\\x71\\x3d\\xf4\\xe9\\xe1\\x90\\x1e\\xba\\xf4\\xb0\\x4d\\x0f\\xeb\\xf4\\xd0\\xa6\\x87\\xa8\\x1e\\x6c\\x7a\\x60\\xf4\\x78\\x6e\\x11\\x88\\x4e\\x3d\\x9e\\x5e\\x7a\\x68\\xd5\\x43\\x42\\x0f\\xbc\\x1e\\xfa\\xf5\\xd0\\xab\\x87\\x6e\\x72\\xcb\\xe9\\x01\\xe9\\x61\\x90\\xdc\\x62\\x38\\x25\\xd8\\x18\\x5d\\x6b\\xb4\\x0b\\xc7\\xc8\\x5e\\xc7\\x28\\x17\\x1e\\x58\\x2d\\xce\\xa0\\x6e\\x68\\x68\\xc8\\x7c\\x0c\\x88\\xfc\\x41\\xed\\xc6\\x72\\x60\\x39\\x1c\\xe5\\x87\\xcd\\x06\\xb5\\xcf\\x17\\x46\\x05\\x05\\x78\\xbd\\x36\\xd0\\xf1\\x8a\\xf2\\x8b\\x12\\xc9\\x72\\xb6\\x20\\xec\\x33\\x1b\\x4a\\x8a\\x4b\\x12\\xc9\\x20\\x5b\\x6c\\x77\\xab\\xd5\\x3a\\x9d\\xad\\x39\\xa9\\xe3\\x30\\xa9\\xd0\\x74\\x5e\\x73\\x92\\xe6\\x36\\xc4\\x61\\x6e\\x1c\\x26\\xc6\\x21\\x1a\\x07\\x47\\x1c\\xd4\\x71\\xf8\\x26\\x0e\\x67\\xe2\\x70\\x2a\\x0e\\xaf\\xc5\\xe1\\x50\\x1c\\xee\\x8b\\xc3\\xe2\\x38\\x40\\x22\\x0e\\xd3\\xe3\\x50\\x46\\xe0\\x6c\\x71\\x60\\xe2\\xb0\\x74\\x50\\x06\\xec\\x8b\\xc3\\xba\\x38\\xf0\\x71\\xa8\\x24\\x8f\\xf1\\xb3\\xb3\\x71\\x78\\x3f\\x0e\\xfd\\x71\\xe8\\x25\\x38\\xb6\\xc5\\xa1\\x2d\\x9e\\x46\\x21\\xc1\\x70\\x32\\xd8\\xc9\\x38\\x1c\\x8f\\xc3\\x63\\x71\\xe8\\x24\\x60\\x2b\\xe2\\x50\\x1b\\x87\\x90\\xfc\\x8e\\x49\\xd2\\x0b\\xba\\xe3\\xd0\\x1a\\x87\\x16\\xf9\\x1d\\x36\\x52\\xf3\\x0c\\xa9\\xd9\\x15\\x87\\x0e\\xfc\\x7a\\xbe\\x58\\xf1\\xdc\\x4b\\xea\\x9e\\x21\\x0d\\xa0\\x7a\\x09\\x40\\x3b\\x79\\x3d\\x7e\\x2b\\x1b\\xcf\\x28\\xbd\\xa9\\x7f\\xbf\\xf5\\x34\\x7a\\x31\\x1e\\xbd\\x62\\x67\\xdb\\xcf\\x15\\xca\\x80\\xbc\\x54\\xc8\\xa6\\xf2\\xf8\\x68\\xd7\\x65\\x32\\xfd\\xc9\\x6a\\xe1\\x14\\xff\\x75\\x43\\x66\\xc9\\x30\\x51\\x9a\\x91\\x15\\x24\\x36\\x6a\\x09\\x99\\xf1\\x28\\x7f\\xe9\\x7a\\xff\\x15\\x27\\xa6\\x0f\\xde\\x2c\\x5c\\x75\\x67\\xb7\\xe7\\xd2\\x4b\\xeb\\xec\\xe6\\xbb\\x84\\xfa\\xdd\\x57\\x5d\\x35\\x6f\\xeb\\x5d\\xc2\\xdc\\x8d\\x1b\\xc1\\x4a\\xb7\\x16\\x4f\\xae\\xac\\x29\\xae\\x17\\xfe\\x9a\\x5e\\x54\\xe6\\xf5\\x68\\x73\\x8c\\xcc\\xc4\\x69\\xf2\\xed\\x95\\x49\\xff\\x90\\x3b\\xc3\\x7c\\x09\\xdf\\x28\\xc5\\xc4\\xf0\\x21\\xa6\\x23\\x1f\\xea\\xe7\\x6f\\x43\\x56\\xab\\x4b\\x6f\\x30\\x68\\x5c\\x1a\\x7f\\xc0\\x87\\x57\\x5d\\x1f\\x6b\\xc5\\x37\\x0e\\x57\\x22\\x99\\xe3\\xb0\\x5b\\x44\\xb2\\xe1\\x44\\xb2\\x39\\x14\\x80\\x33\\x01\\x38\\x1e\\x10\\xa3\\xe5\\x30\\x01\\xa8\\xc1\\x37\\x5d\\x01\\x58\\x17\\x80\\xb6\\x00\\xb4\\x04\\x60\\x7a\\x00\\x2a\\x03\\x10\\x0d\\x80\\x97\\x3c\\xc6\\x9a\\x07\\xa5\\xd4\\x3b\\x78\\xc5\\x41\\xae\\x6e\\x45\\xb9\\xb2\\x47\\x53\\xff\\xab\\x55\\x38\\x7b\\x0d\\x1e\\xd5\\x83\\xd3\\xaf\\x78\\x62\\xb2\\xb4\\x06\\xcf\\xb9\\x6a\\x3e\\x5e\\x84\\x97\\xaf\\x59\\x03\\x06\\xba\\x75\\x42\\x4d\\x66\\x09\\x9e\\x77\\x65\\x2a\\xbd\\x06\\x4b\\x6b\\x93\\x74\\x1e\\x13\\xf7\\x8d\\x78\\x7e\\xfe\\x05\\x7e\\xcb\\xc8\\xf9\\xf9\\x44\\x52\\xcb\\x51\\x58\\xf3\\xa0\\x1c\\x21\\xf9\\xfc\\x7c\\x82\\xe8\\xbf\\x92\\xf2\\x3b\\x40\\xf4\\xdf\\x7e\\x17\\xf4\\x12\\x2d\\xb8\\x93\\x28\\xc2\\xed\\xf2\\x01\\x7b\\xa9\\x4a\\xed\\x01\\x52\\x94\\x20\\x45\\x19\\xcd\\x19\\x65\\xd7\\x97\\x54\\x68\\xa9\\x1a\\xfe\\x77\\x8c\\x26\\xb0\\x68\\x8c\\xf4\\xa8\\x90\\x14\\xb3\\x4e\\xee\\x8f\\x13\\xd5\\x47\\x3e\\xb9\\xff\\xbb\\x3f\\xf4\\xdd\\xbe\\x63\\xeb\\xfa\\x8d\\x5b\\xb6\\x75\\xc0\\xfb\\x82\\x59\\xf8\\xfb\\x17\\x17\\xfe\\xf9\\x8f\\xdf\\xbf\\xfc\\xc2\\xc0\\x47\\x3f\\x3f\\x2e\\xd9\\x72\\xc2\\xc2\\x4c\\xba\\x17\\xf7\\x83\\x13\\x85\\xd1\\x76\\x7e\\x4e\\x80\\x65\\x2c\\x16\\xa7\\x2b\\xc7\\x99\\x13\\xc9\\x75\\x5a\\x6c\\x58\\x0a\\xb1\\x79\\x8d\\xa1\\x44\\xd2\\xe8\\xf0\\x7b\\x35\\xde\\x39\\x49\\x46\\xc3\\xd1\\x48\\x64\\xfd\\x7c\\x2e\\x74\\xe4\\x02\\xca\\x85\\x9a\\xb2\\x5c\\x18\\xc8\\x85\\x7e\\x72\\xdf\\x9a\\x0b\\xbc\\xe2\\x77\\x5d\\xee\\x88\\x0a\\xa4\\x30\\x72\\xc8\\x1a\\x8d\\xc2\\x41\\x4a\\x36\\xf1\\x88\\x8a\\x0d\\x1e\\x51\\xa7\\x34\\xdc\\xa2\\x7d\\x23\\xdf\\xe1\\x4f\\x2f\\x14\\xd2\\xa8\\xe3\\xcf\\x7b\\x60\\x05\\x68\\xa9\\xa2\\xbb\\x2e\\xef\\x7b\\xf5\\xdd\\x37\\xd6\\x2c\\x51\\x1f\\x12\\xf8\\x8d\\x54\\xdb\\x6d\\x9b\\xd7\\xcf\\x4a\\x2e\\xbf\\x40\\x2f\\x71\\x97\\x54\\x47\\x27\\x9c\\xfb\\xef\\x2f\\x85\\x73\\x8e\\xc6\\x42\\x01\\x0b\\xd4\\x2e\\x7a\\x56\\xff\\x8b\\xe1\\x21\\xb3\\x99\\xd8\\x11\\xf0\\xf7\\xbe\\x4f\\xbf\\x87\\xac\\x28\\x80\\x6e\\xe2\\x2f\\xb7\\x99\\x3c\\x56\\x8d\\x86\\x32\\x51\\xc1\\x90\\xd9\\x9f\\x48\\x82\\x99\\xf3\\xe4\\xe4\\x18\\x0c\\x4e\\x51\\xb3\\xa6\\x34\\x2a\\x4d\\x22\\xa9\\xf2\\xf2\\x21\\xe8\\x20\\xa7\\xb7\\x6b\\x12\\xe4\\xf8\\x76\\x87\\x7c\\x82\\xbb\\x5f\\xfe\\x1d\\x0a\\x65\\xbe\\x53\\xfe\\x4c\\xe5\\xd6\\xb6\\xd2\\x14\\x92\\x36\\x50\\xca\\x84\\x5c\\x9d\\xb1\\x24\\x10\\xfb\\xc1\\x44\\x62\\x40\\xa0\\x4b\\x1a\\x96\\x0a\\x6b\\xb6\\xe4\\xac\\xf8\\x89\\xb0\\xf9\\xbd\\xb7\\xda\\x57\\x0b\\xc5\\x9b\\xb7\\xd7\\xde\\xe8\\x17\\x0d\\x08\\xf4\\x7b\\xe7\\x5e\\x10\\x3f\\x09\\x54\\xd7\\x36\\x5c\\x09\\x9f\\xfe\\x1d\\xc0\\x29\\xe4\\x1d\\xeb\\xb7\\x19\\xa9\\xbf\\x99\\x91\\xbc\\x0e\\x3e\\x80\\xc7\\xd3\\x86\\xe6\\xf0\\x25\\x66\\x8d\\x06\\x0c\\x06\\xbb\\x43\\x6d\\x26\\xee\\xe9\\x26\\x95\\x99\\xa6\\x6c\\x1c\\x67\\x4c\\x24\\x39\\x56\\x63\\xc8\\x31\\xe0\\xb9\\x6f\\x4f\\x91\\x8d\\x44\\xde\\x01\\x6b\\x14\\x9e\\x3a\\xe2\\x20\\xc5\\xe3\\xe2\\x91\\xb2\\x78\\xda\\x2d\\x53\\xb2\\x02\\xe4\\xe6\\x8b\\x66\\xa8\\xcc\\xc4\\x13\\x87\\x89\\x7a\\xa0\\x78\\x72\\xc5\\xae\\x8a\\x9f\\x08\\xf5\\x98\\x4d\\x59\\x74\\x17\\xbf\\x79\\x31\\xfd\\xaa\\x70\\x83\\xd7\\x31\\x54\\x2f\\xcf\\xb6\\xf5\\x15\\xd7\\x20\\xf9\\x9c\\x05\\xf5\\x36\\x6e\\x5b\\x81\\xe8\\xf3\\x11\\xd6\\xd8\\x3c\\x46\\xdc\\xcc\\xc2\\x22\\x63\\x98\\x76\\x3a\\x03\\x89\\xa4\\xd7\\xc9\\xd1\\xfa\\x44\\x52\\x43\\x3b\\x3a\\x8a\\xa0\\xbd\\x08\\x5a\\x8b\\x20\\x51\\x04\\xa1\\x22\\x78\\xb2\\x08\\x52\\x45\\x30\\xbb\\x08\\x64\\x5a\\xfa\\x37\\x3e\\x1f\\x92\\xf4\\x95\\x16\\xb9\\xaa\\x2a\\x4b\\xe1\\x22\\x2a\\x4b\\x4b\\xc6\\xf3\\xc3\\x19\\xa0\\xa9\\xb7\\x9f\\x7a\\xbc\\xe1\\xa7\\x65\\x25\\xe5\\x33\\x6e\\x7a\\xf9\\x47\\xc9\\xef\\x5d\\x53\\xf1\\xd3\\xce\\xeb\\x1f\\x2c\\x2d\\xaa\\x5a\\x3b\\xe7\\xaa\\x2b\\x66\\xdd\\x33\\x1f\\xd3\\xad\\xf6\\xce\\x4e\\xbf\\xe5\\xd3\\xad\\xd3\\x0f\\xdf\\x52\\xe9\\x0f\\x4f\\xbf\\xae\\xe1\\xd6\\x3d\\xc1\\x37\\x57\\x95\\x26\\xa6\\xd7\\xcc\\xf2\\x54\\x5c\\x74\\xc9\\x5c\\xf2\\x3d\\x36\\xfc\\x3d\\x25\\xcc\\x16\\xcc\\x41\\x2e\\xe3\\xf3\\x73\\x4c\\x26\\x8d\\x95\\xa6\\x9d\\x2e\\xc6\\xa0\\xc7\\x1d\\xab\\xd3\\xe8\\x59\\xac\\xff\\x98\\xe7\\x24\\x91\\xe3\\x00\\xe1\\x16\\x75\\x2e\\x28\\x75\\xa5\\x5d\\x70\\x94\\x2e\\x6b\\xe9\\x0e\\x26\\x3d\\xac\\xc2\\x93\\xd9\\x9c\\x5b\\x55\\x87\\x55\\x79\\x51\\x99\\x27\\x26\\x25\\xbb\\x09\\x60\\x56\\x6b\\x6a\\xd3\\x6d\\xdf\\xab\\x7b\\xf7\\xdd\\xda\\xb2\\xc9\\x57\\xe6\\x6e\\xb3\\xad\\xbd\\x9e\\xba\\xa7\\x24\\xff\\x9d\\x77\\x5a\\x86\\x36\\x4f\\xab\\xe7\\xa6\\xb9\\x24\\x7b\\x9e\\x17\\xf3\\xb4\\x0f\\xe8\\x1e\\xdc\\x9e\\x7b\\xf9\\x14\\xb2\\x18\\x19\\x46\\x67\\xd1\\x39\\x5d\\x2a\\xab\\xc3\\x8a\\xbb\\xd5\\xc1\\x32\\x14\\x47\\x35\\x27\\x8d\\x9c\\xc3\\xa0\\xc3\\x5a\\x97\\xbd\\x9b\\x70\\xa3\\x7e\\x99\\x39\\xd5\\x0c\\x28\\xf8\\x15\\x22\\x4d\\xce\\xf0\\xb5\\x5e\\x99\\x5f\\x49\\x25\\x21\\x17\\x28\\xd9\\x92\\x92\\x91\\x8f\\x4c\\xef\\xf8\\xa8\\xb9\\x2d\\x8e\\x8d\\x68\\x21\\x4b\\xdb\\xcb\\x48\\x44\\x2b\\xb7\\x28\\x0a\\x42\\x4d\\xf7\\xad\\x2b\\x7f\\x08\\xf1\\x8d\\xc2\\x17\\xda\\xcb\\x5e\\xa8\\x1b\\xbc\\x09\\x02\\x60\\xe8\\x09\\x52\\x9f\\xba\\x4b\\x2e\\xec\\x73\\x97\\xcc\\xcc\\xaf\\x01\\x1b\\xb5\\x24\\x2d\\x0b\\xa3\\xe1\\xcf\\xc5\\xb0\\xd9\\xc8\\x04\\xab\\xf9\\x61\\x0d\\xa5\\x33\\x51\\x26\\x96\\x33\\xe9\\x34\\x14\\x43\\x25\\x92\\x7a\\x86\\xd5\\x68\\xc1\\xa8\\x45\\xe0\\x58\\xc7\\x41\\x1b\\x07\\x2d\\x1c\\x4c\\xe7\\xa0\\x92\\x83\\x28\\x07\\x36\\x0e\\x18\\x0e\\xce\\x72\\x70\\x86\\x83\\x53\\x1c\\x1c\\xe7\\xa0\\x8f\\x83\\x43\\x1c\\x74\\x71\\xb0\\x8d\\x83\\x7f\\x03\\x3f\\xf0\\x7f\\x03\\x5f\\xf3\\xff\\xe7\\x0b\\xba\\xc7\\x83\\x97\\x3c\\x2b\\x38\\x02\\x7f\\x9c\\xe0\\xec\\xe0\\xb0\\xa0\\xda\\x47\\xdc\\x34\\x46\\x07\\x46\\x1c\\x6b\\x60\\x18\\xc7\\x1a\\xf1\\xdd\\x15\\x44\\x8f\\x80\\x45\\x0b\\xc7\\xf1\\x5b\\x51\\xe5\\x66\\xed\\x16\\x53\\x25\\x4d\\xc2\\x6d\\xad\\xf0\\xec\\xbd\\x60\\x01\\xf5\\xbd\\x70\\xcd\\x7c\\x1b\\x7d\\x0b\\x9e\\xf1\\xde\\xa1\\x8d\\xd4\\x6e\\x7c\\xb5\\x13\\x9f\\x8c\\xcf\\x55\\xbf\\xc0\\x63\\x65\\x43\\xff\\xe0\\x03\\x39\\x2a\\xd6\\xa6\\xb2\\xd9\\x1d\\x92\\x4f\\x86\\xec\\x91\\x91\\x48\\x9a\\x35\\x6c\\xda\\x23\\x63\\xab\\xec\\x91\\xe1\\x68\\x71\\xc0\\x74\\xe2\\x35\\xc1\\x39\\x80\\x71\\xc0\\x59\\xe2\\x35\\xd1\\xed\\x80\\x2e\\x07\\x6c\\x73\\xc0\\x3a\\xf2\\xb4\\x8c\\x00\\x1c\\x22\\x85\\x92\\xaf\\x85\\xe8\\x46\\x71\\x96\\xb8\\x62\\xb4\\x64\\x5c\\x2b\\x42\\xb2\\x37\\x45\\x87\\x03\\x5a\\x15\\x1b\\xe5\\x21\\xe2\\x4d\\x71\\x4c\\xb1\\x87\\x9e\\x22\\x85\\xe3\\x4a\\xf2\\x59\\xc7\\x48\\xd7\\x64\\xbc\\x1a\\xc7\\xf1\\x9c\\xc8\\xf6\\x9b\\xd0\\xcb\\x7e\\x13\\x5e\\x88\\x7b\\xa5\\x5f\\x8c\\x77\\xd6\\x5f\\x3e\\x6e\\x12\\x5e\\x5c\\x0d\\xc7\\x1e\\x3a\\xfd\\x51\\xcb\\x9f\\xdf\\xd9\\x07\\x4b\\x96\\xda\\xa8\\x95\\x43\\x5d\\xe9\\xde\\xdb\\x4e\\x7d\\x6f\\xe8\\x7e\\x6a\\x0b\\xe9\\x41\\x91\\xde\\x45\\xc9\\xec\\x53\\xdc\\x87\\x5e\\x74\\x8a\\xff\\x9e\\x5a\\x6f\\x31\\x1a\\x54\\x1e\\xab\\xcd\\xcd\\x78\\xbd\\x6e\\x3b\\x6d\\x55\\x99\\x35\\x46\\x7d\\x8e\\xcf\\xef\\xe7\\xaf\\x6d\\x6b\\x64\\xfc\\x36\\x3f\\x15\\xf5\\x57\\xfa\\xa7\\xfb\\xdb\\xfc\\xdb\\xfc\\x87\\xfc\\xc7\\xfd\\xa7\\xfc\\x67\\xfc\\x3a\\xb1\\x3c\\x8a\\x0b\\xc5\\xa2\\x3e\\x5c\\x78\\xc6\\x7f\\xd6\\x9f\\x53\\xc3\\xe0\\x32\\x11\\xac\\x0b\\x97\\xaa\\xa3\\x04\\x5a\\x7c\\xa0\\xf2\\x8b\\x3a\\xa0\\x3f\\xdc\\x28\\x5e\\xf9\\x22\\xd6\\xd9\\xc8\\xfb\\x81\\x42\\xfe\\x32\\x3f\\xa5\\xa3\\xdd\\x36\\x8b\\x91\\xc5\\xab\\x87\\xca\\xe0\\xb1\\x32\\x3a\\x07\\xcb\\x7a\\xd5\\x8c\\x5e\\x87\\x79\\x36\\xa5\\xb3\\x8f\\xeb\\x49\\x01\\xe4\\x54\\x51\\x71\\xb1\\xa4\\x0b\\x16\\x67\\x85\\xb5\\x94\\x2c\\xe9\\xe2\\x52\\xa2\\x07\\xa5\\xa7\\x85\\x57\\x26\\x33\\xfa\\x53\\x61\\xee\\x6d\\xef\\x09\\x5b\\x84\\x27\\x56\\x41\\x95\\x30\\xb8\\x1a\\x8e\\xdc\\xf6\\xcc\\xc9\\x2d\\xd0\\xbc\\x52\\xf8\\x16\\xaa\\x4a\\xb0\\x32\\x08\\x57\\x08\\x4f\\xd9\\x4b\\x4a\\x38\\x78\\x00\\xf6\\x8a\\x9d\\x27\\x7c\\x05\\x9c\\xd8\\x71\\xc2\\x11\\xe1\\x22\\xb1\\xef\\xdc\\x42\\x03\\xfd\\x2d\\xee\\x3b\\x1f\\x7c\\x24\\xea\\x51\\x56\\x97\\xc1\\x15\\x70\\x53\\x16\\x30\\x32\\x16\\xbd\\xdf\\x65\\x35\\x1b\\x4c\\x98\\x51\\xdb\\x4d\\x2c\\xd2\\xcc\\x49\\xd2\\xc8\\x87\\x85\\xdc\\x25\\x01\\x98\\x8b\\x45\\xda\\x00\\x7c\\x45\\xc4\\xe0\\x53\\x01\\x78\\x2d\\x00\\xcf\\x06\\x60\\x17\\x11\\x81\\x25\\xc3\\x7a\\x7d\\x00\\x2a\\x88\\x08\\x8c\\x25\\x64\\x75\\x00\\x96\\x7e\\x13\\x80\\xdf\\x05\\xe0\\xe5\\x00\\x1c\\x0d\\x00\\x96\\x9e\\xef\\x0e\\xc0\\x36\\x02\\xbd\\x84\\x08\\xcc\\x0d\\x04\\x3a\\x12\\x00\\x0b\\x11\\x98\\xcf\\x06\\xe0\\x13\\x02\\x8f\\x25\\xec\\xbe\\x00\\x1c\\x96\\xe1\\xd7\\x06\\x60\\x71\\x00\\x9a\\x65\\x01\\x3b\\x16\\x00\\x87\\x0c\\x9f\\x69\\x47\\x5f\\x36\\xfe\\x51\\xf0\\x52\\x6b\\x26\\x7d\\x43\\xa0\\x33\\xad\\xe9\\x92\\xb1\\xf3\\x57\\x2b\\xdb\\x13\\x25\\xed\\x11\\xf7\\x08\\x06\\xe5\\xe8\\x0b\\x52\\x83\\xba\\x64\\xec\\x6d\\xe4\\x5b\\x25\\xec\\x67\\x09\\x00\\x25\\x89\\xf5\\x19\\x71\\x7f\\x76\\x00\\xd8\\xc0\\xc8\\x46\\x63\\x6a\\x94\\xc3\\x51\\xea\\x7f\\xc9\\x7f\\xbe\\xdb\\x7a\\x2a\\x1e\\x43\\x52\\x78\\xd4\\x11\\xf9\\x24\\xae\\xd8\\x67\\x96\\x0d\\x2d\\x53\\xa1\\x3a\\x8b\\x92\\xc0\\x44\\xfd\\x72\\xd6\\xcc\\xd2\\x70\\xb0\\xba\\x72\\xde\\xe5\\xd5\\xc2\\xbe\\x56\\xe8\\xeb\\x12\\xbe\\xb9\\x07\\x16\\x2d\\x16\\xf6\\x4e\\x6b\\x5d\\x27\\x34\\x58\\xde\\x68\\x75\\x5e\\xbc\\xe1\\x01\\xba\\x9d\\xcc\\xc0\\xd5\\xd4\\x3d\\x22\\x11\\x5d\\x58\\xf0\\x70\\x67\\x93\\x24\\xb7\\x54\\xe3\\x39\\xd8\\x82\\xe9\\xc8\\x8a\\x1e\\xe5\\xdb\\x29\\xbd\\x01\\x40\\xab\\xb7\\x30\\x76\\x9b\\x9e\\xca\\xc1\\x8b\\x8e\\x26\\x87\\x05\\x03\\xc2\\x94\\x64\\x41\\xf6\\x3d\\x76\\x90\\x7c\\xd4\\x91\\x1d\\x4e\\xda\\xa1\\xd7\\x0e\\xa7\\xed\\xd0\\x69\\x87\\x76\\x3b\\x24\\xe4\\xf2\\x8b\\xf7\\x90\\xcb\\x00\\x79\\xdc\\x49\\x7e\\x0f\\x92\\xdb\\x7e\\x72\\xdb\\x21\\x43\\xcf\\x26\\x8f\\xb4\\x8b\\x46\\xe9\\x00\\x19\\xa3\\x94\\xc4\\x84\\x2a\\xc6\\xf7\\x37\\x89\\x57\\x81\\x14\\xa4\\xa9\\x4a\\xf2\\x38\\x11\\x8f\\x40\\x56\\x53\\xcc\\x07\\x93\\x96\\xda\\x82\\xa5\\xd4\\xb3\\x43\\x17\\xc0\\x5a\\x73\\xbb\\x27\\x5e\\xea\\x2e\\xa1\\x4b\\xad\\xdc\\xce\\x73\\xe5\\x17\\xde\\xf1\\xda\\x5e\\x15\\x7e\\x46\\xbe\\xf7\\x05\\xe1\\x0b\\xda\\xaf\\xba\\x0b\\x45\\x50\\x13\\x9f\\xcf\\x45\\xec\\x7e\\x4d\\x8e\\xcb\\xcf\\xd0\\x11\\x3a\\x9a\\xeb\\xd2\\x6a\\xb4\\x9a\\xaf\\x93\\x5a\\x2d\\x1b\\x8e\\x84\\xbf\\x4e\\x46\\x58\\xee\\xeb\\x24\\x8b\\xda\\xa3\\x20\\xed\\x20\\x95\\x2a\\xc3\\xd1\\x8c\\x8a\\xba\\x24\\x8a\\x36\\x95\\x58\\x32\\x9b\\x88\\x2f\\x13\\x6b\\xb1\\x2c\\x89\\x85\\x31\\x31\\x7a\\x94\\x3d\\x00\\xf8\\xea\\xc0\\x25\\xd4\\x7d\\xb7\\xef\\x5c\\x76\\xc3\\xbb\\x77\\x6c\\xdd\\x39\\x75\\xc1\\x15\\x4b\\xe7\\x25\\xaf\\xbf\\x62\\xc1\\x54\\xe1\\x8b\\x7d\\x77\\x42\\xfe\\xfa\\xf5\\x4c\\x09\\xf3\\x17\\x88\\xdd\\xf5\\x40\\xe9\\xaa\\xe5\\xc2\\xb3\\xa9\\x5d\\x56\\xda\\xbe\\xf3\\x5a\\xe1\\xe8\\xf2\\x55\\xa2\\xef\\xc8\\x3e\\xa1\\x01\\x44\\xfb\\x18\\x0d\\x1d\\xfc\\x30\\x8d\\x48\\x00\\x39\\xe4\\x53\\x86\\x8d\\x8c\\xa9\\xe0\\x1b\\x12\\x3c\\xf2\\x77\\x24\\xa8\\xe4\\x8e\\x31\\x71\\x25\\xa5\\x40\\x73\\x94\\x0a\\x96\\x7d\\xa5\\x82\\x3f\\xab\\x20\\xcb\\xe7\\xa3\\x53\\x76\\x3e\\x69\\x93\\xfd\\x42\\x2a\\x65\\xd7\\x10\\xa4\\x08\\x2a\\x99\\x81\\xef\\x52\\xb8\\x89\\xb4\\x64\\x87\\x95\\x44\\x8a\\x50\\x76\\xc7\\x09\\xfc\\xa1\\x31\\xa1\\xeb\\x38\\xe2\\xdc\\x52\\x73\\x96\\xe0\\x95\\xe0\\x24\\x74\\x6d\\x0a\\xf7\\x97\\xa8\\x22\\x7a\\xa5\\x32\\xfc\\x9d\\xb8\\xbc\\x65\\x37\\x1d\\xe3\\x0d\\xaa\\x20\\x4b\\x01\\x1f\\x2f\\x74\\xe1\\xff\\xd1\\xb4\\x4c\\x8d\\x0b\\x9e\\x76\\x63\\x91\\x5c\\x7c\\xe2\\xe6\\x7d\\x4b\\x84\\x06\\xcd\\x65\\xdf\\x3e\\x3f\\x8a\\x96\\x2e\\xe3\\xa3\\x3a\\x97\\x97\\x0e\\x06\\x8d\\x2a\\xbc\\xa8\\xa9\\x72\\xa3\\x39\\x1e\\xaf\\xc7\\xfb\\x75\\xd2\\xe3\\x01\\xab\\xd5\\xf2\\x75\\xd2\\x2a\\x39\\xb5\\x64\\x1c\\x48\\x46\\xd1\\x11\\xd1\\x9d\\x9c\\xc4\\x9f\\x84\\xd8\\x52\\xc5\\x68\\xbf\\x17\\x81\\x48\\x52\\xc5\\x50\\x45\\x6c\\x03\\x36\\x27\\x16\\x95\\x45\\x92\\xca\\x7d\\x01\\xd3\\xcf\\x92\\xf9\\xf3\\x96\\x62\\xfa\\xf9\\xfe\\x1d\\x77\\xbc\\xbb\\x72\\xc5\\xce\\xdb\\x84\\x2f\\x30\\xe5\\xc0\\xac\\x6b\\x77\\xe2\\x55\\xf3\\x07\\x8b\\xa0\\x09\\x53\\xce\\x03\\x77\\x09\\x7f\\xf8\\x0b\\xa6\\xab\\x75\\x1b\\x84\\xf7\\x76\\x3f\\x88\\xc4\\xb8\\xc4\\xdf\\x30\\x6e\\x7a\\x16\\x72\\xa3\\x4a\\xde\\xa7\\x73\\x78\\xbc\\xc8\\xf2\\x38\\x6e\\x90\\xb6\\x55\\x4b\\x69\\x69\\x2d\\x6f\\x37\\x18\\x54\\x8f\\x27\\x0d\\x65\\x5e\\x4c\\xec\\xb8\\x91\\x9c\\xeb\\xb8\\xe7\\x8f\\x98\\x05\\x1d\\x97\\x23\\x04\\x42\\x84\\x04\\xaf\\x52\\x6b\\x72\\x25\\x13\\x90\\xb4\\x63\\x1a\\x37\\x51\\xb4\\x61\\xf9\\xee\\xa6\\x6b\\x63\\x57\\xcc\\x32\\x7e\\xcf\\xb2\\x7d\\xc3\\xa4\\x8d\\x33\\xe6\\x5e\\x99\\x7b\\xe9\\x2c\\xeb\\xf5\\x66\\x7e\\x39\\x7c\\x73\\x73\\x5d\\xcd\\xaa\\x6d\\x2f\\xfe\\x78\\x72\\x5d\\x63\\xf9\\xb2\\x5d\\x77\\xfc\\x60\\xe6\\xf0\\x30\\x4a\\xff\\xc7\\xa9\\x11\\x4d\\x74\\xf4\\xf7\\x85\\x25\\xf0\\x26\\x89\\xaf\\xc3\\x82\\x8d\\x7f\\x45\\x6d\\x30\\x20\\xa3\\x91\\x33\\xf3\\x86\\x4e\\xc3\\x80\\x81\\xc6\\xac\\xc7\\xd0\\x6d\\x18\\x34\\x30\\x66\\xda\\x60\\xd2\\x49\\xf1\\xd0\\xb9\\xff\\x57\\xc7\\x43\\xff\\xad\\xb8\\x43\\xbd\\x46\\xb1\\x4d\\x41\\x62\\x3c\\x49\\x21\\xd2\\x62\\xd6\\x5c\\x6b\\xfc\\x7d\\x65\\x3c\\x74\\xba\\x31\\x1d\\x71\\xf1\\xfc\\x1c\\xfa\\x79\\x29\\x1e\\x3a\\xe6\\xe7\\x9b\\x55\\x53\\x90\\x07\\xeb\\xf4\\x34\\xdf\\xe3\\x35\\xeb\\xdc\\xea\\x80\\x9b\\xf6\\x78\\x68\\x9b\\xcd\\x40\\x1b\\xc2\\x91\\x20\\xa7\\xe3\\x12\\x49\\xa3\\x51\\xad\\x0b\\x98\\x5d\\xa2\\x0a\\xe7\\xd2\\xe1\\xff\\xb5\\x6e\\xbb\\x96\\xee\\x20\\x67\\x89\\x13\\xf2\\x71\\x62\\x14\\x81\\x93\\x11\\xf1\\x84\\x72\\x77\\x04\\x3a\\xb2\\xcb\\x71\\x61\\xaf\\x5c\\x8e\\x0b\\xcb\\xe4\\xf2\\xda\\x4c\\x85\\x0c\\xb4\\x12\\x45\\xa6\\xfe\\xc0\\x98\\x72\\x14\\x19\\x67\\x17\\xe7\\x3b\\x37\\x93\\xf1\\xac\\x24\\x31\\xc6\\xa5\\xd3\\x5d\\x66\\x51\\x3e\\x55\\x6a\\x64\\x16\\x89\\x35\\x8b\\x51\\xc2\\xf2\\x48\\x5c\\xb0\\x4c\\xf0\\xec\\x58\\xbe\\x59\\x52\\x3b\\x35\\xf6\\x5c\\x1a\\xab\\xcb\\x66\\x35\\xe5\\x3a\\xf1\\xeb\\xb7\\x5f\\x6b\\xde\\xb9\\xb1\\xba\\xb8\\x7e\\xbe\\xf3\\xee\\x95\\xb9\\x3f\\x6c\\x6b\\xfe\\xf8\\x86\\x8d\\x1f\\xbf\\x60\\xfc\\xf6\\x6f\\x1f\\x0c\\xe9\\x7b\\x8e\\xa8\\x5d\\xc2\\xb9\\x87\\xa3\\x39\\x17\\x3e\\x0c\\x5f\\xec\\x2b\\xd6\\xbc\\x40\\xf5\\x1c\\x7d\\xc6\\x45\\xdb\\xfd\\x78\\x4e\\x89\\xc9\\xd4\\x5e\\x52\\xcd\\x44\\x79\\xe8\\x61\\x7e\\xb5\\x9e\\x0a\\xf9\\x23\\x5e\\xaf\\x29\\xa2\\x46\\xf6\\x80\\x5a\\x67\\x30\\x51\\xda\\x58\\x3e\\x9f\\xdf\\x9a\\xdf\\x91\\x4f\\x87\\xd2\\x3f\\xba\\xf3\\x7b\\xf3\\xd5\\x28\\x5f\\xba\\x65\\x6a\\x33\\xbf\\xc4\\x1f\\x03\\xf9\\x34\\xca\\xef\\x17\\x2f\\x3a\\x3a\\x94\\xa3\\xcf\\xb9\\x31\\xe9\\xd7\\xeb\\x29\\xb3\\xd9\\x7d\\xa3\\x14\\x49\\x4c\\x47\\x3b\\x1c\\x66\\x0d\\x9d\\x47\\x51\\x79\\x1b\\x92\\x94\\x0b\\xa5\\xd9\\x48\\x56\\x98\\x30\\xd2\\x1b\\x30\\x76\\x7f\\x82\\x84\\xeb\\x48\\x0b\\xa4\\x24\\x94\\x54\\x6e\\x55\\x5c\\xde\\x53\\x95\\x8e\\x8d\\x60\\x06\\x13\\xb6\\x87\\xc9\\x49\\x18\\xfa\\xa5\\x0b\\x2f\\x34\\xee\\x09\\x3b\\x0e\\x6e\\xbe\\xe4\\xad\\x93\\x93\\x36\\x6c\\x9c\\x96\\xbb\\xb0\\xed\\x63\\x3f\\x38\\x84\\x73\\x5c\\xe3\\xd5\\xfb\\xf6\\xad\\xe7\\x6f\\xbd\\xad\\x74\\xf1\\xc4\\xe6\\x87\\x76\\x3f\\xfa\\x2c\\xeb\\x13\\x84\\x43\\x55\\xc2\\x37\\xbb\\xf6\\x37\\xaf\\x9a\\x92\\xfc\\x61\\x13\\xa6\\xbf\\x56\\x60\\xe8\\x83\\x4c\\x03\\x96\\xe9\\x0b\\xd1\\x64\\x3e\\xe8\\x43\\xb9\\x26\\x64\\x2a\\x2a\\xb6\\x87\\x1e\\x4f\\xe2\\x75\\x9f\\x25\\xeb\\xbe\\x8e\\xb6\\x6b\\x78\\x4d\\xec\\xf1\\xa4\\x18\\x0e\\x4a\\x0e\\xf0\\xb3\\x66\\x4d\\x96\\x63\\x5d\\x65\\x75\\x7e\\xb5\\x53\\xb4\\x6d\\x88\\x7b\\xbe\\x76\\x9b\\xc6\\xa9\\xc9\\x27\\xfb\\xc3\\xf9\\xd5\\xb1\\x6a\\x9b\\x1c\\xb4\\x31\\x37\\x62\\x82\\x4d\\x89\\x15\\x4d\\x4b\\x57\\xde\\x71\\xc7\\xca\\x95\\x8d\\xab\\x9a\\x9b\\x57\\x35\\xae\\xbc\\x7e\\xe7\\xf6\\x65\\xcb\\x1b\\x57\\x24\\x5a\\x67\\x7f\\x7f\\xd6\\x4d\\x4f\\x3e\\x71\\xf3\\x15\\x3b\\xe7\\x50\\x87\\x76\\x5c\\xbf\\xa2\\x89\\x3c\\x5e\\x75\\xc3\\xe6\\x3b\\x56\\x8a\\x8f\\x13\\x2b\\x1a\\x97\\x2f\\xdb\\x7e\\xc5\\xf7\\x13\\x3d\\x37\\xdf\\xfc\\xc4\\xac\\x1f\\x88\\xfc\\x9c\\xc2\\xe3\\x29\\xe0\\xb9\\x13\\x45\\x3b\\xf9\\x22\\xa7\\xc5\\x1d\\x08\\xe4\\x86\\x81\\x36\\x5a\\x68\\x9a\\xcd\\xd1\\x6a\\x63\\x79\\x4e\\x77\\x80\\xb6\\xd8\\x2c\\xa9\\x64\\xc4\\x64\\x36\\xa5\\xb0\\x62\\x60\\xd0\\xa5\\x92\\x51\\x12\\xe3\\x37\\x20\\xc6\\xf8\\xe5\\x83\\xc6\\x5c\\xb5\\xcb\\x66\\xe6\\x75\\xc6\\x46\\xb3\\x59\\xed\\xb5\\xd1\\xd2\\x29\\x45\\xb5\\x65\\x64\\x33\\xa9\\xa6\\xb4\\xd8\\x52\\x83\\xc7\\x23\\xee\\xf9\\x4d\\x71\\x85\\x14\\x9e\\x87\\xfc\\x75\\xca\\x41\\x6c\\x09\\xe1\\x8e\\xf8\\xa6\\x84\\xed\\x44\\x7f\\xa8\\x0a\\xe3\\xff\\xf3\\xc3\\x55\\xf1\\x6c\\xe9\\x2f\\x6e\\x0f\\x6b\\xec\\xf4\\x7a\\xe1\\x33\\xf1\\xa8\\xb4\\xf0\\x19\\x38\\x59\\xe1\\xdb\\x4f\\x84\\x7f\\xb5\\xc1\\xab\\x5b\\xbf\\xfc\\x66\\x13\\x24\\x96\\x0a\\xff\\xfc\\x8b\\xf0\\xb5\\x01\\x76\\x35\\x7f\\x2a\\x7a\\x3a\\x7f\\xda\\xbc\\x25\\xb7\\x99\\x5a\\xad\\x74\\x76\\x1e\\xda\\xdb\\xec\\xdf\\x89\\xbf\\x3c\\x23\\x67\\x20\\x0d\\x7c\\x1f\\x4b\\x1a\\x1a\\x0d\\x62\\x18\\x9d\\x56\\x85\\x54\\x08\\x18\\x1f\\xa0\\x75\\x72\\xae\\x83\\xe9\\x24\\xa7\\x81\\x94\\xeb\\x40\\x4a\\x74\\xb0\\x8d\\xe4\\x4b\\xc8\\x3c\\x95\\x12\\x25\\x2c\\x3d\\x4b\\x52\\x21\\x48\\x0e\\x9c\\xdd\\x63\\xe0\\xa4\\x9c\\x0a\\x92\\xf3\\xe6\\xa0\\x0e\\x06\\x88\\x3b\\xa6\\x04\\x3c\\x0a\\x69\\x42\\x37\\x92\\x83\\x81\\x23\\xa8\\x33\\x79\\x16\\x8e\\x93\\x7c\\x0a\\xad\\xd9\\x30\\xd2\\xeb\\x27\\x65\\x80\\x3a\\x89\\x83\\xe7\\xa8\\xe6\\xf7\\xca\\x4e\\xa4\\x54\\x47\\x36\\x8e\\x2f\\xa5\\x86\\xf0\\x2e\\x19\\x26\\x93\\xa9\\x41\\xf2\\x29\\xd5\\x8e\\xf6\\x34\\xcc\\x16\\x38\\x16\\xfd\\x9f\\x8b\\x1b\\x63\\xb6\\x6c\\x32\\x3c\\x4d\\xc1\\xfb\\x31\\x15\\xd0\\x44\\xea\\x58\\xb2\\x84\\x0e\\x8b\\x9a\\xf4\\xf9\\x3c\\xea\\x86\\xa1\\xbb\\x49\\x4c\\x3e\\x44\\x2f\\x55\\xad\\x42\\x93\\x51\\x23\\x7a\\x90\\x4f\\x35\\x54\\xd7\\xa3\\xfa\\x09\\x01\\xc4\\xb2\\x75\\xde\\x00\\xe3\\xaa\\xad\\xcd\\x55\\xab\\x5d\\x95\\xae\\xca\\xcb\\x9b\\x26\\xd4\\x35\\xb0\\x0c\\x1d\\x0e\\x17\\x26\\x92\\xd1\\x68\\x47\\x18\\xd8\\x70\\x69\\xb8\\x2e\\x8c\\x99\\x4c\\x98\\xc6\\x72\\x3d\\x4f\\xa2\\xaa\\x0e\\x34\\x41\\xa8\\x09\\x50\\x13\\xf0\\xe4\\x47\\x6f\\x13\\x74\\x37\\x41\\x67\\x13\\x74\\x34\\x41\\x19\\x29\\x51\\xc8\\xe5\\xa8\\x34\\x5e\\x2a\\x9e\\xff\\x15\\xd9\\xce\\xc2\\x78\\x69\\x3a\\xf4\\x7b\\x3a\\xc4\\x94\\xa5\\x46\\x0e\\xb2\\x1a\\xaf\\x10\\xb9\\x8e\\x1c\\x7e\\x4f\\x3e\\xea\\x2e\\x1f\\x57\\x93\\xa3\\x35\\xca\\x41\\x31\\xc5\\x53\\x6b\\xe0\\x0c\\x50\\x24\\x02\\x0e\\x45\\x57\\x5e\\x04\\xf9\\x26\\xe2\\x97\\xe5\\x9c\\x0a\\x74\\xd3\\x0b\\x4f\\xce\\x7e\\x26\\xaf\\x24\\x3f\\x70\\xdb\\xc5\\x8b\\x57\\x94\\x34\\xa5\\x16\\xa7\\x9a\\x4a\\xb6\\x2d\\x5b\\xb9\\xf8\\xa7\\x9d\\x37\\xee\\x29\\x0d\\xbb\\x16\\xd6\\x36\\xb7\\x94\\x5d\\xb9\\x63\\x55\\xdb\\xa4\\xef\\xdf\\x72\\xcd\\xbc\\xb2\\x4d\\x45\\x89\\x05\\x57\\xdd\\x10\\xad\\x5f\\x75\\xcd\\x32\\xff\\x0f\\xee\\x09\\x9b\\xfe\\xb2\\xcd\\x97\\x7f\\xd5\\x9c\\x8a\\x99\\x17\\x57\\x56\\xd5\\x5e\\x71\\x5d\\x7d\\xeb\\x6e\\x7b\\xf5\\xee\\xf9\\xb7\\xee\\x71\\xbf\\xbd\\xca\\xee\\x49\\x4c\\x2f\\x6b\\x98\\x34\\xb5\\xa2\\x79\\x69\\xfd\\xf2\\x7b\\x3d\\x55\\x57\\x2f\\x87\\x33\\xc5\\xf5\\x93\\x0b\\x99\\xd6\\x86\\x8b\\xa6\\x4d\\xbc\\x58\\xdf\\x26\\xae\\xa7\\x75\\xcc\\xa5\\xd4\\x72\\x95\\x49\\x8c\\x7d\\x08\\x7f\\xe4\\x87\\x0d\\x16\\xa4\\xb6\\xa8\\xdd\\x2e\\x9d\\x9d\\xb5\\xdf\\x93\\xa4\\xb5\\xac\\x8b\\x2d\\x60\\x1b\\xd9\\xa5\\xac\\x4a\\xcb\\xde\\xe2\\x86\\xe5\\x6e\\x98\\xef\\x86\\x19\\x6e\\xa8\\x75\\x43\\xb1\\x1b\\x7c\\x6e\\xc8\\x71\\xc3\\xbf\\xdc\\xf0\\xdf\\x6e\\xf8\\x83\\x1b\\x7e\\xed\\x86\\x17\\xdd\\xf0\\x98\\x1b\\x1e\\x74\\xc3\\x9d\\x6e\\x40\\x9b\\xdc\\xb0\\xc2\\x0d\\x0b\\xdd\\x70\\x85\\x1b\\xa6\\xb8\\xa1\\xd4\\x0d\\x7e\\x37\\x18\\xdd\\xb0\\x74\\xd8\\x0d\\x7f\\x75\\xc3\\x7b\\x6e\\x78\\x43\\xae\\xf1\\x63\\x37\\xdc\\xe5\\x86\\xdb\\xdc\\xb0\\xda\\x0d\\x0b\\x14\\x6f\\xf0\\x92\\x0a\\x43\\x6e\\xf8\\x9b\\x1b\\x4e\\xcb\\xf0\\x8f\\x2b\\xe0\\x57\\xc9\\xf0\\x6e\\x37\\xe8\\x48\\x5b\\xa4\\xc0\\x2c\\xc7\\xdd\\xf0\\xac\\x1b\\x0e\\xbb\\xe1\\x6e\\x12\\x86\\x65\\xad\\x1b\\x16\\xcb\\x41\\x5a\\x2a\\xdd\\x10\\x73\\x83\\xc3\\x0d\\x6a\\x37\\x4c\\xc2\\xa0\\xaf\\xc9\\xa0\\xf7\\xb9\\xf9\\x79\\xb0\\x83\\xc4\\x6c\\x59\\x22\\x03\\x4f\\x24\\xc0\\x16\\x37\\xa4\\xa3\\x36\\x0e\\xc8\\xd8\\x7b\\x15\\x41\\x5e\\x12\\x6e\\xa0\\x32\\xf1\\x5d\\x30\\xd0\\x31\\x37\\x3c\\x49\\xa2\\x3b\\xe2\\x4f\\x0e\\xba\\x81\\x75\\x67\\xf9\\xf4\\xa6\\xbe\\x4b\\xd1\\xfe\\x1f\\xf4\\xec\\xb5\\xdf\\xa5\\x66\\x8f\\x89\\x5c\\x2e\\xba\\x03\\x67\\x9b\\x70\\xb3\\x5d\\x1b\\x54\\x8a\\xdf\\xd4\\xf2\\x49\\x45\\x45\\x93\\x27\\x17\\x15\\x4d\\x12\\x1e\\x9a\\x54\\x54\\x78\\xf1\\xd4\\xfc\\xa2\\x49\\xcc\\x91\\xa2\\x5a\\x7c\\x15\\x4b\\x6b\\x2f\\x2e\\xc4\\x57\\x29\\x8e\\xd5\\x3c\\xd1\\x26\\xa8\\x6a\\x46\\xa2\\xeb\\xf4\\x24\\xb4\\x8a\\x9f\\x52\\x58\\x5d\\x96\\x5b\\x9d\\x8b\\x5c\\x2e\\x2d\\x87\\xb4\\x68\\x72\\x4d\\x55\\x28\\x54\\xf1\\x7a\\x32\\x56\\xf2\\x7a\\xb2\\x28\\xc6\\x86\\x82\\xa1\\xd2\\x10\\xad\\x45\\x31\\x2e\\x86\\x17\\xf7\\x50\\x2c\\x14\\x33\\x30\\x06\\xdb\\xaf\\x92\\x06\\x2b\\xe3\\xfb\\x55\\x92\\x61\\x46\\xb9\\x4e\\x91\\x80\\x6e\\xe6\\x78\\x71\\xb6\\xe5\\xd9\\x32\\xb2\\x60\\x5a\\xa2\\xf1\\x0a\\x46\\x0c\\x69\\x4f\\x82\\xba\\x55\\x93\\x30\\x6d\\x51\\x4b\\x55\\x25\\x15\\xcd\\x8d\\x30\\x14\\xa4\\xbf\\x27\\x08\\xe9\\xbd\\x02\\x2e\\x5c\\x81\\x15\\x67\\x8d\\x7a\\xde\\x8b\\x30\\xe5\\x85\\x17\\x81\\x7f\\xfe\\x19\\xe1\\xd8\\x2f\\x5e\\x10\\xfa\\x9f\\x6b\\x78\\x04\\x82\\x87\\x1f\\x81\\xd0\\xa3\\x47\\x84\\x3f\\x3f\\xf2\\x88\\x30\\xf0\\x30\\x75\\xdb\\x2b\\x1f\\xbc\\x7d\\xe2\\xc6\\x1f\\x31\\xe5\\xd6\\xe6\\x0d\\xf7\\x74\\x80\\xf1\\xae\\x26\\x47\\x39\\x73\\x2b\\xb5\\xff\\xe7\\x30\\xed\\xd9\\xe7\\x84\\x97\\x7e\\xfe\\xbc\\xf0\\xca\\xcf\\x9e\\x03\\xfe\\x85\\x47\\x84\\xd3\\x0f\\x3f\\x8c\\x2b\\x3e\\x0a\\x91\\x43\\xf8\\xf7\\xd0\\x2f\\xde\\x79\\xe9\\xad\\x53\\x81\\x17\\x97\\xc5\\x8f\\xfc\\x4c\\xf8\\x8f\\x8b\\x37\\xfe\\x32\\x1f\\xcf\\xa7\\x5c\\x5a\\x4d\\x95\\xe3\\x3e\\xf2\\xa2\\x18\\xd4\\xf2\\xe5\\x61\\xb7\\xc9\\xa2\\x8d\\xc5\\x18\\x13\\x93\\x5f\\x60\\xf6\\x9d\\x49\\x9a\\x79\\xab\\xa3\\xd1\\xec\\x36\\xbb\\xf5\\x48\\x1f\\x3d\\x93\\xd4\\x30\\xf8\\xaf\\x06\\xe9\\x21\\xa4\\xef\\xd4\\x53\\xbd\\x7a\\xd0\\x8b\\x8b\\xed\\x21\\x3d\\xdb\\x88\\xcb\\xb4\\xb4\\x1e\\xf1\\xc8\\x7e\\x26\\x89\\x98\\x15\\x05\\x30\\xa3\\x00\\xf4\\x24\\x6a\\xd7\\xf1\\x02\\xe8\\x2b\\x80\\x43\\x05\\xb0\\xae\\x00\\xda\\x0a\\x60\\x7a\\x01\\x54\\x16\\x40\\xb4\\x00\\x98\\x02\\x58\\x76\\x56\\x71\\x6f\\x23\\x45\\x67\\x0a\\xe0\\x14\\xa9\\x1c\\x2a\\x00\\x8a\\x23\\xc1\\xbf\\x06\\x49\\xfc\\xaf\\xfe\\x02\\xe8\\x25\\xb7\\x35\\xfd\\x24\\x12\\x98\\x14\\x5b\\x8c\\x93\\xa3\\x8a\\x49\\x41\\xc6\\x42\\xa4\\x44\\xaa\\x23\\x55\\xd8\\x5c\\x00\\x75\\x05\\x50\\x5a\\x00\\x63\\x85\\x59\\xd9\\xd2\\x9a\\x1a\\x47\\xbc\\x4d\\x27\\x51\\xc8\\x48\\x43\\xc5\\x58\\x7c\\x13\\x33\\xa2\\xc8\\xa3\\x5f\\x9c\\xb5\\xcb\\x36\\xe2\\x2d\\x9e\\x2b\\x27\\xcf\\x98\\x28\\xba\\x8b\\xa7\\xbd\\xc5\\xad\\x26\\x9a\\x6c\\x95\\x56\\x83\\xfb\\x86\\xef\\x5d\\xfa\\x84\\x21\\xb4\\xbc\\xea\\xf2\\x99\\x37\\xee\\x6a\\xb9\\x76\\x6a\\x99\\xbd\\xb8\\xf9\\xe7\\x37\\x97\\x06\\xb9\\xa2\\x09\\x93\\x2f\\x53\\x35\\x27\\xaf\\x14\\xba\\xd9\\xbc\\xa9\\xa1\\xa2\\xab\\xae\\x6c\\xbe\\x9a\\xa6\\x12\\xab\\xfd\\xb5\\xb7\\xd8\\x85\\x77\\xe8\\x1c\\x57\\x71\\xde\\xc4\\xa2\\x7c\\x91\\xff\\xad\\x47\\x4d\\xf4\\x13\\x74\\x0b\\x52\\x23\\x23\\xbc\\xcd\\x0f\\xeb\\x72\\xf4\\xb4\\x91\\xa2\\x19\\x5a\\x6d\\x54\\xb3\\x26\\x83\\x0a\\x54\\x7f\\x5b\\xa0\\x85\\x2f\\x97\\xb0\\x70\\x15\\x0b\\x97\\xb2\\x30\\x91\\x85\\x18\\x8b\\xc5\\x10\\xd0\\xb0\\xf0\\x29\\x0b\\xbf\\x64\\xe1\\x3f\\x59\\x78\\x98\\x85\\xfb\\x58\\xd8\\xc1\\xc2\\x46\\x16\\x30\\xe4\\x5c\\x16\\x1a\\x58\\xa8\\x66\\x21\\x9f\\x80\\x2d\\xfb\\x86\\x85\\x8f\\x59\\x38\\xc5\\xc2\\x2b\\x2c\\xa0\\x5e\\x16\\xba\\x59\\xb8\\x9b\\x85\\x3b\\x58\\x58\\xc7\\x42\\x1b\\x0b\\xcd\\x2c\\xd4\\xb3\\x50\\xc9\\x42\\x94\\x05\\x0b\\x0b\\x14\\x0b\\x67\\x59\\x38\\x43\\x2a\\xbc\\xcc\\x42\\x1f\\x0b\\x07\\x59\\xe8\\x62\\x61\\x1b\\x0b\\x1b\\x08\\xfa\\x04\\x0b\\x3c\\x0b\\x15\\x2c\\xe0\\xce\\xb0\\xb1\\xc0\\xc8\\xf0\\xff\\x25\\xc3\\x1f\\x22\\xcd\\xc9\\xe0\\x9f\\xab\\xc0\\xef\\x60\\x41\\xcd\\x42\\x0d\\x06\\x3d\\x4e\\x40\\x0f\\x13\\xd4\\x3b\\x08\\x28\\x46\\xdd\\xc2\\x27\\x48\\xdb\\x27\\x12\\xcc\\x18\\xf2\\x1b\\x19\\x33\\xf4\\xb3\\xd0\\x4b\\x50\\x63\\xf8\\x15\\x18\\x92\\x85\\xe9\\x2c\\x94\\x11\\xa4\\x36\\xd2\\x82\\xc7\\xe4\\x56\\x62\\x54\\xc5\\x2c\\x78\\x59\\x92\\x39\\x89\\x4a\\x8d\\xd1\\x70\\xc6\\x18\\x31\\xfe\\x2f\\x0d\\x8c\\xa9\\xef\\x34\\x7c\\x20\\xe5\\xbe\\x95\\x33\\x6d\\x71\\x80\\x38\\x6d\\xcd\\x85\\x3c\\xe9\\xb2\\x1e\\x66\\xcd\\xf9\\xe8\\xa3\\x39\\xc2\\x51\\xf8\\x11\\xcc\\x9e\\x73\\xe6\\xcc\\x1c\\xe1\\x29\\x18\\x84\\x36\\x61\\x93\\xb0\\x49\\xf4\\x2a\\x4d\\xff\\xc8\\xe4\\x65\\xa0\\xde\\xc7\\xe2\\x61\\x88\\xe7\\x28\\x60\\x40\\xad\\x11\\x73\\x32\\xf0\\x14\\x50\\x62\\x5a\\x86\\xdf\\x64\\xbc\\xac\\xe5\\x98\\xe4\\x4c\\xf0\\xfa\\x0b\\x4f\\x50\\xef\\x0f\\x0d\\xc2\\x91\\x25\\xc3\\xc3\\x72\\x5e\\x04\\x4e\\x8d\\x38\\x24\\xba\\x80\\x29\\x79\\x67\\x15\\x9a\\x8a\\x7e\\xcd\\x6f\\xaa\\x2a\\x2b\\x0b\\x4f\\x2c\\xa9\\x2c\\x2f\\x2f\\x71\\xd5\\x86\\xc3\\xb1\\x98\\xcc\\x47\\xf9\\xba\\xf2\\x58\\x38\\x1a\\x7e\\x3d\\x59\\x19\\x2d\\x0b\\xd5\\x86\\x5e\\x4f\\xe6\\x4f\\x2e\\x9c\\xfc\\x7a\\x12\\x45\\xb9\\x28\\x15\\x8a\\x76\\x44\\x3b\\xa3\\xdd\\xd1\\xc1\\xa8\\xaa\\x9b\\x84\\x4e\\xd5\\xa2\\x42\\xae\\x10\\xf3\\xd7\\x68\\x6d\\x61\\x61\\x6d\\x94\\xce\\x66\\xb1\\x27\\x79\\xe0\\x79\\x28\\xe3\\x01\\xe1\\x1f\\x03\\x3c\\xe0\\xfb\\x6e\\x1e\\x5a\\x79\\xd1\\x89\\x7c\\x0d\\xc9\\x8d\\x82\\x14\\xf9\\x6d\\xf0\\x34\\x94\\xb8\\x30\\x31\\xf7\\xa3\\xb4\\xea\\x39\\x2a\\x32\\x87\\x45\\xca\\x7c\\x93\\x4e\\x80\\x53\\xf3\\x7f\\xc2\\x9a\\x55\\xa3\\x63\\x11\\x58\\xf1\\xbc\\xa6\\xab\\xe5\\x58\\x04\\xff\\x33\\x83\\x06\\x61\\xad\\x70\\xb8\\x75\\x29\\x34\\x3d\\x74\\x60\\xfe\\xbc\\x77\\x5a\\xde\\xfc\\xf8\\x89\\xb9\\x37\\xd6\\x5d\\xb2\\x7c\\xc1\\xff\\xc8\\xa1\\xdf\\x16\\x4e\\x9b\\x31\\x67\\xa1\\x7a\\xb9\\xc2\\x1b\\x97\\x5f\\xd1\\xee\\x13\\xde\\x34\\x17\\xc3\\xc2\\xcf\\x92\\x97\\x0b\\x7d\\x4d\\x08\\x86\\xbf\\x54\\xf5\\x30\\x16\\x75\\x0e\\x5e\\xd9\\xdc\\xbc\\x01\\x89\\x67\\x89\\xa8\\x17\\x92\\x98\\xd6\\x01\\x89\\x71\\xf5\\xa5\\xf3\\x44\\x80\\x15\\x13\\xc6\\x72\\xfe\\x03\\x26\\x57\\xd5\\xb3\\x08\\xf3\\x8b\\xc5\\xd4\\xc7\\xd4\\x09\\x3c\\x8e\\x26\\xe4\\x41\\x1f\\xf1\\x07\\x58\\x64\\xd7\\x22\\xad\\xd7\\x67\\xb0\\x3c\\x9e\\xdc\\x63\\x38\\x60\\x38\\x66\\x38\\x61\\x60\\x36\\x1b\\xf6\\x18\\x28\\x64\\xc0\\x0c\\xdc\\xc0\\xf0\\x8c\\xeb\\x71\\x3c\\x12\\x58\\xc5\\x38\\xeb\\x83\\x01\\x1f\\x9c\\xf2\\xc1\\x71\\x1f\\xf4\\xf9\\xe0\\x90\\x0f\\xba\\x7c\\xb0\\xcd\\x07\\xeb\\x7c\\x30\\x9d\\x94\\x74\\xfb\\x80\\xea\\xf4\\x41\\x87\\x0f\\xda\\x7d\\xd0\\xea\\x83\\x84\\x0f\\x78\\x1f\\x94\\x91\\x08\\x18\\x7c\\xbf\\x0f\\x7a\\x09\\x88\\x12\\xa2\\x4c\\x2e\\x1c\\x5b\\x27\\xe4\\x83\\x41\\x1f\\xfc\\x9b\\xb3\\x6d\\x59\\x36\\x7f\\x65\\xb6\\xba\\x85\\xa3\\x14\\x55\\xd1\\x20\\x26\\x46\\x6d\\x24\\x8c\\xb8\\x9a\\x78\\x3a\\x48\\x3e\\xc9\\x8b\\x9b\\xf7\\x5e\\x79\\x65\\x67\\xcb\\x55\\x9d\\xcd\\x77\\xf4\\x2d\\xd9\\x74\\xd5\\xbc\\x9b\\x6f\\x9e\\x77\\xd5\\x26\\xc6\\x8b\\x8b\\xf0\\x9f\\x96\\xbd\\x73\\xfa\\xee\\x48\\xde\\x7c\\xcb\\xbc\\xe4\\x2d\\x37\\x8b\\x7c\\xf6\\x2a\\x3c\\x09\\x4c\\x24\\xcf\\x09\\x8b\\xca\\x79\\xb7\\x41\\x07\\x6a\\x60\\x69\\x8a\\x32\\x73\\x26\\xc3\\xe3\\x49\\x13\\xa2\\xd5\\xf4\\xe3\\x49\\x9d\\x5a\\xce\\x78\\x92\\x8e\\x34\\x22\\x99\\x39\\xb2\\xb3\\x9e\\x98\\x31\\x31\\x51\\x6d\\x72\\xe6\\x93\\x0b\\x97\\x29\\x73\\x9f\\x0c\\xfd\\x7d\\x49\\x3a\\xff\\xc9\\x74\\xca\\x49\\x55\\xab\\x1a\\x90\\x0b\\x4d\\xe5\\x03\\x4e\\x23\\xb8\\x34\\x56\\xb0\\xba\\x3d\\x1a\\x27\\x47\\x42\\x1c\\x9f\\x49\\x72\\x7f\\xa2\\x9c\\xe0\\xfc\\x38\\x09\\x1f\\x64\\x27\\x8c\\x18\\x9d\\x2d\\x02\\x13\\x40\\xb5\\x94\\xa3\\x49\\x8a\\xc3\\x4b\\x48\\x98\\x85\\x30\\x55\\x2d\\x18\\x6f\\x68\\x5b\\x90\\xbf\\x6d\\x4a\\x95\\xbd\\xfa\\x86\\xc4\\x8e\\xbb\\x16\\xdc\\x7c\\x00\\xb6\\x52\\xce\\xd6\\xb6\\x05\\x6b\\x36\\xcd\\xd9\\x13\\x5e\\xdc\\xe3\\x5d\\xdd\\x76\\xed\\x03\\xcb\\x7e\\x98\\x8e\\x6b\\x40\\xe5\\x50\\x75\\xb8\\x3d\\x05\\xe8\\x0b\\xfe\\xc7\\xce\\x7c\\x4b\\x34\\x60\\x11\\x13\\x44\\xa0\\xa8\\x9a\\x2e\\x2c\\xca\\x17\\x53\\x44\\x9c\\x49\\xce\\xb6\\xa6\\xac\\xab\\xad\\xb4\\xc1\\xea\\xb3\\xe2\\x19\\x6d\\xb5\\x86\\x69\\xbf\\x3f\\x1c\\xf6\\x9c\\x49\\x86\\xff\\x44\\xeb\\xcf\\x24\\x19\\x31\\xce\\xb4\\x86\\x3e\\x7d\\xa6\\x08\\x8e\\x17\\x41\\x5f\\x11\\x1c\\x2a\\x82\\xae\\x22\\xd8\\x56\\x04\\x4c\\x11\\x9c\\x22\\xb7\\xf8\\xf7\\xba\\x22\\x68\\x2b\\x82\\xe9\\x45\\x50\\x49\\xca\\xeb\\x47\\x81\\x4a\\xbf\\xdb\\x8b\\x80\\xca\\xb8\\x68\\x70\\x45\\x80\\x8a\\x60\\xa0\\x08\\x4e\\x16\\x41\\xf7\\x88\\xa3\\x46\\x6a\\xcd\\xe8\\x93\\x26\\x23\\x6c\\xb6\\x74\\x91\\x22\\x15\\x85\\x59\\x3a\\xf6\\x95\\x49\\x45\\x91\\x89\\xa0\\x6a\\xa9\\x91\\xe5\\xce\\x52\\x18\\x37\\x13\\x85\\xa2\\x47\\x35\\x0e\\xaa\\xee\\xc8\\x5d\\xcb\\x6e\\x50\\x57\\x7b\\x1d\\x8d\\x79\\xad\\x89\\xc6\\xf9\\x73\\xe7\\x4e\\xaf\\xa9\\x4d\\xf0\\xe5\\xb6\\xea\\xd5\\x57\\x6c\\xbb\\x7f\\xf1\\x82\\x0f\\xa9\\xaf\\x96\\xdf\\xee\\x7d\\xa1\\xdd\\x68\\xbb\\xfc\\xda\\x59\\x33\\x54\\xea\\x69\\x0c\\x7d\\xe9\\xac\\x2b\\xa6\\xfa\\x97\\xf4\\x78\\xaf\\x6f\\x9d\\xb1\\xdc\\xe4\\x26\\xfd\\xfc\\x10\\x93\\xa2\\xaa\\xc4\\xf3\\x7e\\x70\\x0f\\x3f\\x4c\\xd1\\x2a\\x1a\\x21\\xe9\\xbc\\x9f\\x0e\\xb9\\x51\\xa1\\x78\\xde\\x6f\\x89\\x06\\xe6\\x6a\\x60\\xa2\\x06\\x62\\x1a\\xc0\\x5d\\x7a\\x56\\x03\\x9f\\x68\\xe0\\x77\\x1a\\x78\\x4d\\x03\\x87\\x35\\x70\\x9f\\x06\\x36\\x68\\x00\\xc3\\x34\\x10\\x18\\xb5\\x06\\x96\\x9e\\xd1\\xc0\\x29\\xf2\\xf8\\x59\\x02\\xb1\\x81\\xd4\\xc7\\x8f\\x1d\\xa4\\xb0\\x4f\\xae\\xb6\\x43\\x81\\xf7\\x1b\\x0d\\x48\\xb5\\x8e\\x93\\x5a\\x87\\x34\\x70\\xb7\\x06\\xee\\xd0\\xc0\\x5a\\x0d\\x2c\\xd6\\x40\\xd6\\xf9\\xc1\\xf4\\x39\\xc1\\xb3\\xa4\\x86\\x74\\x1e\\x50\\x3a\\x33\\xd8\\xa5\\x81\\x6d\\xd9\\x27\\x12\\x2b\\x35\\x10\\xcd\\x3e\\x94\\x28\\xbd\\xa1\\x8f\\xbc\\x41\\x82\\x6f\\xd1\\xc0\\x74\\x19\\x35\\x9f\\x4b\\x65\\x80\\x47\\x1d\\x50\\x1c\\x7b\\xd8\\x70\\xf4\\x71\\x88\\xef\\x52\\x37\\x52\\x63\\x57\\xe9\\x7f\\xa3\\xf3\\x97\\x66\\xfb\\xa4\\x5b\\xab\\xac\\x71\\x3b\\x3c\\x74\\xfc\\x1d\\x61\\x3f\\x93\\x0a\\x03\\x97\\x27\\x9c\\x95\\x72\\x5b\\x31\\x49\\xba\\x07\\xaf\\x8c\\xdb\\xf9\\xd9\\x41\\xe4\\x74\\xfa\\x34\\x5a\\x95\\xd9\\xac\\x35\\xf8\\x0c\\xe1\\x50\\xd0\\x97\\x48\\x06\\xed\\x2e\\xa3\\xe8\\xf9\\xe4\\xe1\\x58\\x8d\\x17\\x39\\x79\\xd6\\x5c\\x67\\xa6\\x58\\x55\\x9d\\x8a\\x32\\xd1\\x78\\x75\\xa1\\x6d\\xb4\\xad\\x39\\x69\\xa0\\x1d\\xb6\\x30\\xf4\\x85\\xa1\\x23\\x0c\\xed\\x61\\x68\\x0d\\x03\\x15\\x0a\\x83\\xd4\\xde\\xf4\\xe1\\x6e\\xa7\\xb8\\xed\\xb8\\xd0\\xc3\\xbd\\xee\\xaa\\x1b\\x39\\x9a\\xa3\\x38\\x2c\\x95\\x3e\\xa9\\x98\\x47\\xa2\\xd7\\x71\\x1a\\x4c\\x9c\\x16\\xe2\\xf8\\x6d\\x4e\\xfb\\x77\\xa5\\xdd\\x5f\\xe8\\xb2\\x05\\xb7\\xd4\\x6c\\x9c\\x12\\x39\\x6a\\x0f\\xde\\x09\\x15\\xab\\x5b\\xe3\\x9b\\x27\\xfe\\x10\\xe2\\xbb\\x84\\xff\\xbe\\xf9\\xca\\xc9\\xb3\\x84\\x81\\xdf\\x96\\x5c\\x02\\x96\\x8d\\x74\\xd8\\x5d\\x32\\xb4\\xee\\xea\\x65\\x65\\xf9\\xd4\\x93\\x92\\x33\\x0c\\xa1\\x4f\\xad\\x20\\xd0\\x62\\xac\\x0b\\x16\\xf5\\xf1\\x1b\\x55\\x6a\\x75\\x0e\\x05\\x90\\x63\\xe6\\x34\\x78\\x6e\\x1b\\x11\\x63\\x64\\x6e\\x4c\\x1a\\xd5\\xea\\x74\\x4c\\xb3\\x32\\x62\\x7b\\xef\\x27\\x51\\xce\\x3a\\x88\\xe1\\x9e\\x23\\xf6\\xfa\\x93\\xc4\\x14\\xdf\\x49\\x4a\\x78\\x62\\xa2\\x17\\x4d\\xfe\\x03\\xb2\\x8d\\xbe\\x53\\x8e\\x89\\x36\\xdb\\x0c\\xa5\\x66\\x38\\x6d\\x86\\x63\\x66\\x38\\x60\\x06\\xd6\\x0c\\x5f\\x9a\\xa1\\xce\\x0c\\x0a\\xdf\\x9f\\x31\\xd3\\x7b\\xad\\x64\\x02\\x21\\x53\\xdb\\x42\\x52\\xde\\x65\\xa5\\xca\\x10\\x19\\x31\\xfe\\xdf\\x2a\\x69\\x5b\\x61\\x3b\\x5d\\xbc\\xe8\\xc8\\x22\\xea\\xad\\x2f\\x06\\xfe\\x0b\\x4e\\x30\\x5f\\x9d\\x33\\xa8\\xce\\x9e\\x33\\xd0\\xd5\\x6f\\xbf\\xf8\\x9f\\xaf\\xa4\\xe3\\xb9\\xfc\\x91\\x2a\\x81\\xdf\\xd2\\x41\\xd1\\xbe\\xc0\\xe7\\x90\\x5c\\x4b\\x24\\x99\\x00\\x2a\\xcd\\xa4\\x5a\\x52\\x2a\\xa6\\xf0\\x5b\\xd1\\xf2\\x2f\\xee\\x00\\x50\\x87\\xe5\\x24\\x05\\x80\\xf6\\x08\\x33\\x29\\x0e\\x59\\x90\\x0d\\xee\\xe3\\x87\\x59\\xb3\\xca\\x80\\x90\\xca\\x61\\x67\\x2d\\x16\\xda\\xcc\\x6b\\xb9\\x46\\xb3\\x4e\\x4d\\xdf\\x47\\x1f\\xa6\\x69\\x3d\\xad\\x0c\\xb4\\xd1\\x4d\\xe2\\x71\\xdc\\xe1\\x80\\xb5\\x0e\\x58\\x4c\\xfc\\x4a\\xea\\x65\\xf7\\x11\\xc9\\xad\\xe4\\x2b\\x39\\x30\\xc7\\xcb\\x0e\\x38\\x4a\\xe0\\xef\\x96\\xe1\\xdb\\x64\\xf8\\x4c\\x00\\x10\\xb5\\x03\\xa4\\xe8\\x21\\xca\\x48\\x20\\xf7\\x11\\x07\\x14\\x09\\x7f\\x33\\xf1\\x6c\\xc1\\x9f\\x10\\x21\\xf0\\x8c\\xe4\\xd0\\x22\\x55\\x78\\x99\\x54\\x38\\xe8\\x00\\xb1\\x45\\xdb\\x88\\xcb\\x4a\\x2b\\x79\\x83\\xe4\\x0b\\x63\\x23\\xcd\\x39\\x9b\\x1d\\x27\\x44\\xe9\\x32\\xa3\\x88\\x47\\xc2\\xe7\\xa6\\x1b\\x24\\xf9\\xd6\\x9c\\x91\\x5b\\x83\\xdb\\x41\\xb5\\xcb\\x7e\\x32\\x0b\\xc7\\xe6\\x54\\x1d\\x35\\x53\\x53\\xff\\x0b\\xc1\\x7b\\xad\\x74\\xce\\x38\\x2e\\x5a\\x78\\x4b\\xe3\\x19\\xb2\\xa8\\x29\\x2f\\x53\\x49\\x47\\x25\\x64\\x0e\\x9f\\x5f\\x1d\\xd7\\x04\\xb0\\xb6\\xb9\\x7b\\xe5\\xcc\\xa9\\x8e\\x99\\x8e\\x8b\\x27\\x26\\x1a\\x0b\\xe7\\x5a\\x16\\x5c\\xff\\xdf\\xd7\\xdc\\xe0\\x68\\xd2\\xe8\\x6a\\x4b\\xca\\xa7\\xaa\\x7f\\xd4\\xac\\x9b\\x47\\xf2\\xda\\xe1\\x75\\xda\\xaf\\xaa\\x47\\x39\\x28\\x9f\\xb7\\x90\\x94\\x53\\x6a\\x0d\\xaf\\xfb\\x93\\x18\\xe0\\xf2\\x4c\\x92\\xfa\\x60\\x24\\xa5\\xd4\\x48\\xfc\\x0b\\x49\\x9a\\xd4\\x54\\x55\\xc7\\x61\\xe3\\x61\\x21\\xef\\xe1\\x9f\\x7c\\xd6\\x48\\xcd\\x35\\x95\\x97\\x9b\\xa8\\x35\\x93\\x4b\\x77\\x88\\x79\\x60\\xb1\\x5c\\x31\\x17\\xcb\\x68\\x62\\x3e\\x8f\\x21\\x9e\\xb3\\xa8\\xc5\\xa0\\xb5\\x2e\\x37\\x8d\\x55\\xe9\\x5e\\x1a\\x68\\x51\\xc5\\xfe\\xb1\\xa8\\x62\\xd3\\x58\\x42\\xa3\\x75\\xbc\\x8e\\x3d\\x93\\xd4\\x31\\x75\\x0a\\x6b\\xcd\\xb0\\x1b\\xbe\\x74\\xc3\\x09\\xd9\\x90\\x73\\xc0\\x0d\\x7b\\xdc\\x50\\x47\\x1e\\xad\\x3c\\x4d\\x8a\\x36\\x13\\x4b\\xd5\\x6c\\xb9\\x74\\x98\\x58\\xa7\\x4e\\x28\\xa0\\x79\\x19\\x4c\\x02\\xa8\\x1d\\x85\\xb2\\x95\\xfc\\x4e\\x91\\x77\\x4a\\x8f\\x8e\\x91\\x6a\\xad\\xc4\\x8a\\x94\\x19\\x0b\\xc5\\x28\\x65\\x0f\\x48\\xb6\\x67\\x41\\x96\\x62\\x5d\\xfc\\x1d\\x46\\x1f\\xa5\\x8f\\x31\\x35\\xb7\\x6b\\xd7\\x96\\x7b\\xee\\xdd\\xbe\\xfd\\xee\\x2d\\x4d\\xcd\\x57\\x34\\x5c\\x36\\xb3\\xb9\\x89\\x29\\xd9\\xbb\\xef\\xc1\\xce\\xce\\x7b\\x1f\\xda\\xb5\\x65\\xc5\\x92\\x1d\\x3b\\x97\\xad\\x92\\x7c\\x8c\\x9b\\xb1\\x7e\\xbc\\x7b\\x44\\x3f\\xd6\\xe8\\xf4\\x74\\x0e\\xa2\\x18\\x9a\\xa6\\x73\\x58\\x13\\xa5\\x35\\x68\\xff\\xb6\\x80\\x31\\xfc\\x7f\\xfa\\xf1\\xff\\x63\\xf5\\x63\\x1d\\xe4\\x5a\\xe9\\x38\\xa8\\xa4\\x0b\\xbd\\x5b\\x38\\x2a\\x2a\\xc8\\x30\\x4b\\xb8\\x5e\\x78\\x4a\\x54\\x90\\x61\\x36\\x3c\\x21\\x3c\\x04\\xdb\\x61\\xbb\\xf0\\x50\\xbd\\xfc\\x03\\xeb\\xb7\\xf5\\x98\\x07\\xaf\\x55\\xd5\\x73\\xf9\\x9a\\x21\\xaa\\x05\\x21\\x2e\\x86\\x36\\x21\\x64\\xc6\\xeb\\x36\\xed\\x1c\\xfa\\x6f\\xf4\\xd6\\x33\\x41\\x3e\\x95\\x6a\\x0c\\x8a\\xfe\\x68\\x8b\\x16\\x49\\xd7\\x85\\x0b\\xc9\\x95\\x37\\xcd\\x9f\\xdf\\x18\\xe4\\x5b\\x5a\\xf0\\x3f\\x57\\x5e\\x99\\x2e\\x6a\\x6e\\xc6\\x77\\x33\\x66\\xe0\\x7f\\x1a\\x1b\\xa5\\x22\\x5d\\x43\\x03\\xbe\\xab\\xab\\x4b\\xdf\\x4d\\x9e\\x8c\\xef\\xe2\\x71\\x09\\x53\\x79\\x79\\xba\\xf4\\xa2\\x8b\\x70\\x69\\x7e\\xbe\\x54\\x1a\\x8b\\x49\\xd7\\xbc\\xbc\\xf4\\xd3\\x48\\x04\\x3f\\xf5\\xf9\\xd2\\x77\\x1e\\x0f\\xbe\\xb3\\x5a\\xa5\\x3b\\x8b\\xc9\\x84\\x17\\x96\\x32\\xe0\\xa1\\x1d\\xba\\x81\\xa1\\x29\\xce\\x8e\\xea\\xaa\\xaa\\x60\\xe1\\x45\\x55\\xc5\\xe3\\xff\\x87\\xd2\\xdf\\x7c\\x74\\xec\\x37\\xa3\\x75\\xf4\\x26\\xfc\\xcd\\x4e\\xde\\x24\\xa2\\x6c\\x87\\x0e\\x11\\xa5\\x84\\x51\\x44\\x88\\xa7\\x11\\xae\\xdb\\x84\\xeb\\x5e\\xa5\\x6a\\x50\\xd4\\x5d\\x1f\\x24\\xfd\\x45\\x9d\\xc3\\x75\\xf3\\x78\\x27\\xe4\\xa4\\x72\\x00\\xa5\\xab\\xd3\\x62\\xd3\\x28\\x9a\\xba\\x28\\xdd\\x2c\\x8c\\x86\\x60\\x12\\x63\\x25\\xce\\xa3\\x73\\xe9\\x97\\x48\\x4e\\x97\\x1f\\xf2\\xc3\\x0e\\x5c\\x06\\x4e\\x3f\\xf8\\xd5\\x26\\xb5\\xc5\\x64\\x91\\xf2\\xba\\xe0\\x22\\x2d\\x66\\x81\\x1c\\x0a\\x49\\x59\\x5d\\x38\\x39\\xab\\xcb\\xe5\\x51\\xa8\\x89\\x42\\x61\\x14\\xde\\x8b\\xc2\\xeb\\x51\\xd8\\x15\\x85\\x9b\\xa3\\xb0\\x2c\\x0a\\x73\\x49\\xa1\\x3b\\x0a\\x3a\\x7c\\x8b\\x1f\\x3c\\x1f\\x85\\xc3\\xf2\\xb3\\x64\\x14\\x1a\\xc8\\x83\\x7f\\x45\\xe1\\xa7\\x51\\xf8\\x51\\x14\\x76\\x90\\x42\\x09\\x57\\x2c\\x0a\\x9f\\x44\\xe1\\x77\\x72\\x62\\x16\\x5c\\xab\\x8b\\x00\\x6c\\x88\\xc2\\xe2\\x28\\x88\\x99\\x55\\x78\\x39\\x39\\x0b\\x8a\\x62\\x29\\x37\\x3b\\x8f\\x4b\\xb7\\x9c\\xca\\x65\\x9d\\x02\\x4e\\x4a\\xe2\\x32\\x10\\x85\\x53\\x32\\x98\\x04\\xd0\\x42\\xb2\\xb4\\x50\\x41\\x39\\x53\\x4b\\x3f\\xae\\xcc\\x5b\\x48\\x0e\\x98\\xc4\\xd8\\xa4\\x2d\\xd9\\xf2\\xec\\x78\\x92\\x6c\\xea\\x3b\\xe5\\xd8\\x2c\\xe6\\x9a\\xce\\x3c\\x92\\x4e\\xd5\\xf2\\x5b\\x73\\x4d\\x56\\xec\\x6c\\x4b\\xd6\\xc9\\x00\\xab\\x26\\x7d\\x70\\x57\\x74\\x02\\x97\\xf2\\x76\\xd5\\x01\\xad\\x70\\x70\\x80\\x77\\x48\\xca\\x96\\x95\\xdb\\xc4\\x94\\x2d\\x5d\\xf7\\x08\\xf3\\x7e\\xb2\\x6f\\xf2\\xac\\x4b\\x2b\\x2b\\x2e\\x13\\x9d\\x1c\\xa8\\x06\\xe1\\xa8\\x98\\xb2\\xa5\\xeb\\x26\\x31\\x65\\x0b\\xb4\\xfc\\xe4\\x57\\x21\\x23\\xa5\\x2e\\x6f\\xbc\\xac\\xa2\\xf2\\xd2\\x06\\x91\\x86\\x48\\xde\\x0f\\xf5\\x9f\\x2c\\x31\\x14\\x25\\x74\\x77\\x09\\x4c\\x87\\x59\\xc8\\xde\\x47\\x59\\x55\\x31\\xea\\xb9\\xe1\\x83\\x7d\\x36\\x27\\xa5\\xcd\\x83\\xe2\\x2a\\x84\\xff\\x8c\\x03\\xbf\\x01\\x7e\\x89\\xe1\\xad\\xbc\\x9e\\x54\\xb8\\xdc\\xea\\x18\\x81\\x46\\x23\\xf0\\xa7\\x65\\x78\\xea\\xfb\\x70\\xb3\\x12\\xff\\x67\\x7d\\xd6\\xf1\\xf0\\x1f\\xcd\\xc0\\xef\\x87\\x8d\\x4a\\xf8\\x4f\\xfb\\xfc\\x05\\xe3\\xc0\\x6f\\xca\\xb4\\x67\\x39\\x6c\\x81\\x55\\xc8\\xfd\\x2c\\x4d\\x39\\x54\\x31\\x1a\\xd7\\x18\\xec\\xcb\\xb3\\x4a\\x35\\xc4\\x2a\\x8a\\x3a\\x7b\\x32\\xef\\x78\\x08\\x6e\\x47\\xc7\\x91\\xeb\\x19\\x9a\\x2a\\x60\\xc4\\x2a\\x9f\\xf7\\xb9\\x33\\x55\\xf0\\x54\\x41\\xe9\\xfc\\x28\\xea\\x67\\xb1\\x8c\\x9d\\x8b\\x62\\x94\\x9f\\x1f\\x8e\\xd1\\x79\\x8c\\xc9\\x69\\xf3\\xe5\\xe5\\xf8\\x68\\x00\\x93\\x93\\x0e\\x33\\xba\\xb0\\xae\\x20\\x3f\\x14\\xca\\xcd\\xf5\\xb5\\x26\\x73\\x21\\x95\\xcc\\xb5\\x38\\xbc\\x36\\x6f\\x6b\\xd2\\x6d\\x8b\\x52\\xad\\xc9\\xd5\\xb6\\xcd\\x36\\x6a\\x8a\\x0d\\x1c\\xb6\\x98\\x8d\\x12\\x6d\\x6c\\xb4\\x2d\\x6a\\x8b\\x1a\\x34\\x79\\x56\\x31\\x0b\\x02\\x62\\x41\\x47\\xb3\\xac\\xc1\\x90\\x93\\xc2\\x3a\\x07\\xa3\\xd3\\xe8\\x52\\x49\\x8d\\x65\\x6e\\x01\\x34\\x14\\xc0\\xc4\\x02\\x88\\x15\\x80\\xa3\\x00\\xd4\\x05\\x70\\x96\\x18\\xdf\\x7f\\xa7\\x30\\xd8\\xdf\\x57\\x00\\x3b\\x0a\\x60\\x43\\x01\\x2c\\x29\\x80\\x66\\x85\\xa5\\x5e\\x82\\x5f\\xfe\\x4d\\x01\\x7c\\x52\\x00\\xaf\\x15\\xc0\\xd1\\x02\\x38\\x58\\x00\\x23\\xd9\\x3e\\xda\\x48\\x92\\x8e\\xe9\\x24\\xa5\\x47\\xc6\\xb0\\x2f\\x59\\xf1\\x4f\\xc9\\x76\\xf9\\xee\\x02\\xe8\\x22\\x90\\x52\\xda\\x0f\\x1b\\x79\\x39\\xd9\\x2d\\xe0\\x6f\\x14\\xdf\\xdd\\x25\\xef\\x17\\x24\\xc6\\x6c\\x11\\xd4\\xe0\\x96\\xbe\\x5f\\x00\\x8f\\x15\\xc0\\xee\\x02\\x90\\x76\\x1a\\x6a\\x0b\\xa0\\x98\\x3c\\x46\\x8a\\x17\\x1d\\x27\\x00\\xb8\\x3e\\xc5\\x17\\x00\\x5b\\x00\\xc3\\x05\\x70\\xa2\\x00\\x8e\\xc9\\x5b\\x07\\x09\\xb2\\x33\\x10\\x24\\x8f\\xc6\\xd3\\x2a\\xbf\\x6b\\x39\\x1b\\x77\\x19\\x1b\\x1b\\xf1\\x4e\\x01\\x3b\\x26\\xc3\\xa7\\xb4\\xaa\\xc9\\xdb\\x48\\x0b\\x17\\x2e\\x94\\xcd\\x97\\x24\\x50\\xaa\\x64\\xa3\\xc8\\x64\\xd7\\x13\\x4d\\x4a\\x52\\xbe\\x20\\xac\\xe9\\x55\\x9b\\xc3\\xd2\\xd9\\x68\\x18\\x9b\\x7c\\x22\\x2e\\x25\\x9f\\xb0\\x9a\\x81\\x7a\\xff\\x01\\xa1\\xed\\xc4\\x7e\\xe1\\x86\\xef\\x53\\x3b\\x0f\\xd1\\x1f\\x4d\\x0b\\xb7\\x9f\\xda\\x05\\xee\\x00\\xcf\\x07\\x84\\x4f\\x9f\\x05\\x2a\\x31\\x79\\x9a\\xe5\\x42\\xf5\\x03\\xc2\\xbd\\x52\\xe2\\x17\\x12\\x3c\\xf5\\xb0\\x65\\x4c\\x4e\\x0a\\xaa\\x84\\x3a\\x38\\xb4\\x08\\xd3\\x74\\x0b\\xd6\\x77\\x3f\\x56\\xcd\\xc4\\x34\\x1d\\x23\\xf3\\xe0\\x16\\x78\\x1c\\xd3\\xad\\xfe\\x59\\xac\\xb3\\xfa\\x68\\x37\\x99\\x30\\x64\\x3e\\x92\\x5c\\x1c\\x64\\xfe\\x16\\xa4\\xe7\\xbb\\x5f\\x9a\\xbf\\xe0\\x53\\xc5\\x80\\xf1\\x87\\x90\\x3b\\x6b\\xfe\\x8e\\x86\\xdf\\x00\\x93\\x15\\xf0\\x0d\\xbe\\xe0\\xb8\\xf0\\xa7\\x65\\x78\\x3c\\xdf\\x95\\xf8\\x9d\\xbe\\xf1\\xf1\\x6f\\xca\\xe0\\x5f\\x0e\\xf9\\x78\\xfe\\x3a\\x79\\x23\\x05\\x41\\x3c\\xe3\\x21\\x78\\x91\\x4f\\xaa\\x21\\xcd\\x5e\\x52\\x67\\xa2\\x98\\x07\\x80\\xb4\\x69\\x82\\xf4\\x0d\\xc3\\xc7\\x08\\x8f\\x00\\x03\\x7e\\xc5\\x73\\xc3\\x8f\\xf7\\x19\\x39\\x1a\\x14\\x3c\\x42\\xcc\\x1b\\xb0\\x5c\\x01\\xbf\\x01\\x55\\xa5\\xdb\\x24\\x56\\xb8\\xcc\\xc0\\x8e\\x40\\x13\\xfc\\x16\\x0c\\xbf\\x8f\\x7c\\xc3\\x04\\xe9\\x1b\\xb0\\x52\\x31\\x02\\x8f\\x0c\\xdc\\x28\\xf8\\x3a\\x82\\x7f\\x53\\x06\\xff\\x72\\x0c\\x2f\\xf2\\x20\\x0a\\x58\\xf1\\x13\\x9e\\x1b\\x1e\\xee\\x0b\\x18\\xa4\\x3a\\xe9\\xaf\\xa0\\x50\\x55\\x3a\\x7f\\x8b\\x19\\x05\\xd1\\x47\\xfc\\x03\\x96\\x1c\\x3a\\x68\\x37\\x9a\\xec\\x74\\x8e\\x87\\xce\\xa1\\x43\\x61\\xbd\\x2d\\x68\\x4b\\x25\\x4d\\x6c\\xb0\\x2e\\xb8\\x3a\\xb8\\x39\\xf8\\x64\\xf0\\x74\\xf0\\xcb\\xa0\\x46\\x4b\\x07\\x83\\x66\\xb5\\xd9\\xdf\\x9a\\x14\\xe3\\x61\\x9b\\x69\\x2d\\x66\\x17\\x5a\\x8b\\xda\\xd9\\x9a\\x54\\x5b\\x7a\\xc3\\x10\\x0c\\xc3\\x60\\x18\\x9e\\x24\\xd6\\x8a\\xba\\x30\\x94\\x86\\x81\\x0b\\xc3\\x89\\x30\\x74\\x87\\x21\\x15\\x86\\x32\\xd1\\x8f\\x01\\x26\\x1d\\x20\\x0f\\xbe\\x0c\\xc3\\x31\\xf2\\x60\\x73\\x18\\x66\\xcb\\xcf\\x4e\\x87\\xe1\\x00\\xa9\\xbc\\x99\\xc0\\xe0\\x12\\xed\\xe8\\xf0\\xcd\\xd9\\xa7\\xe2\\x15\\xd9\\xec\\x47\\x42\\xc5\\x64\\x6d\\x12\\x3b\\xe3\\x72\\xf2\\x58\\x45\\x32\\x99\\xdc\\xaa\\xb8\\x39\\x5f\\x4c\\x5c\\x47\\xd2\\xcc\\x98\\x49\\xc2\\x19\\x6a\\x23\\x6c\\xc2\\x84\\xfe\\xac\\x70\\x54\\xc8\\xe9\\xe9\\x39\\x7a\\xb4\\x87\\xfa\\x44\\xd8\\x79\\xd3\\xc3\\xff\\xfc\\x8b\\xf0\\xae\\x70\\xe2\\xa0\\x6a\\x8a\\xf0\\xb8\\xf0\\x33\\xe1\\x11\\xe1\\x49\\xa6\\xca\\x4b\\xe5\\x35\\x53\\xf9\\x9e\\xaa\\xa1\\x1f\\x34\\x0f\\x7d\\xa6\\x05\\xac\\xee\\x40\\x18\\xa2\\x43\\x67\\x32\\xf4\\xa4\\x7a\\x80\\xac\\x1f\\xe5\\xe9\\xf5\\xe3\\x81\\xf4\\xd8\\xd9\\x44\\xfa\\x0e\\x14\\x1a\\xe8\\xac\\xb1\\x23\\xf1\\xbc\\x09\\x6d\\x54\\xa4\\xe7\\xc3\\x6a\\x69\\xbd\\x71\\x92\\xf5\\xe6\\x44\\x9f\\xcb\\x6b\\x30\\x2b\\x68\\x69\\x34\\xfc\\x06\\x78\\x37\\xbd\\xfe\\x89\\x15\\xae\\x71\\x7a\\x46\\xa0\\x15\\xf8\\x4f\\xcb\\xf0\\x78\\x3e\\xec\\x51\\xc0\\x83\\xd3\\x3b\\x2e\\xfc\\xd1\\x0c\\xfc\\x7e\\xb8\\x53\\xd9\\x9e\\xe1\\xbe\\xf0\\x84\\x71\\xda\\xb3\\x29\\xd3\\x9e\\xe5\\xb0\\x3b\\xbd\\xfe\\x79\\xa4\\xf5\\xef\\x42\\x5f\\xa1\\x53\\xaa\\x91\\xa6\\x3d\\x40\\x07\\xf1\\xea\\xf3\\x11\\xd3\\x84\\x75\\xd9\\x7c\\xde\\xca\\x50\\x6a\\xa4\\xcd\\xc1\\xfa\\x17\\x6d\\x30\\x96\\xd2\\xd0\\x89\\x95\\x59\\x92\\x13\\x30\\x2b\\x85\\x80\\x0e\\xf2\\x75\\x50\\xad\\x03\\xa7\\x0e\\x34\\x54\\xbd\\xf0\\xc8\\x65\\x30\\x4f\\x78\\xb4\\x09\\xe6\\xc2\\xfc\\xcb\\x84\\x47\\x61\\xde\\x65\\x54\\xab\\xf0\\x68\\x23\\xcc\\x87\\xb9\\x4d\\xe2\\x6d\\xa3\\xf0\\xa8\\x70\\xb8\\x51\\xda\\xdf\\x6f\\x19\\x7e\\x5d\\x75\\xa3\\x6a\\x35\\x9e\\x53\\x1e\\x14\\x41\\x1b\\xf8\\x52\\xbf\\x23\\x60\\x67\\xac\\x5e\\xb5\\x86\\x31\\x99\\x39\\xb5\\xce\\x8a\\xbc\\x3a\\xa4\\xcb\\x8d\\xb2\\x7e\\xd1\\xcb\\x4d\\x8f\\x0b\\x03\\x76\\xbf\\x43\\xc3\\x68\\x29\\x83\\x21\\x94\\x4a\\xb2\\xa2\\x64\\xed\\xd4\\xea\\x1b\\xf1\\xe2\\x68\\xa5\\x5c\\xa9\\xa4\\x8a\\xc7\\x37\\x2a\\x15\\xc5\\x60\\xd9\\x8e\\x58\\x8d\\x8b\\xa5\\xbc\\x9f\\xc5\\xd2\\x7e\\x93\\xc8\\xaa\\x33\\xba\\xaa\\xc8\\x99\\xf1\\xdf\\xf2\\x32\\x2b\\x17\\x0e\\x39\\xab\\xe3\\x1a\\x07\\x89\\xb4\\x9e\\xaf\\xc9\\xad\\x8e\\x59\\x6d\\x4e\\xc0\\xba\\x2b\\x05\\x95\\xf9\\x20\\x52\\x61\\x0b\\xb5\\x07\\xe8\\x03\\x9b\\x6e\\x3c\\x72\\x84\\x84\\x5d\\x1f\\xda\\x77\\xf3\\xc6\\x23\\x3d\\x6f\\x4d\\xa3\\xde\\x58\\xf9\\xe7\\x4f\\xdf\\xa5\\x6f\\xe3\\x87\\x26\\x2d\\x3f\\xfd\\xf1\\x1f\\xa8\\x6e\\xaa\\x67\\x4d\\xd7\\x9b\\x47\\x31\\xcc\\x11\\xe1\\xe0\\x0d\\x7b\\xdf\\xec\\x85\\xf9\\x43\\x7b\\xe9\\x6b\\x77\\x89\\x51\\xd9\\xcf\\xee\\xb9\\xb0\\x7f\\x07\\x44\\xa4\\x71\\x24\\x31\\x87\\x09\\x9d\\x4c\\x4a\\xd3\\xd5\\x8d\\x12\\x8f\\x72\\x13\\x1e\\xf5\\x76\\x9f\\xc7\\x6f\\xa2\\x15\\xe3\\x38\\x1a\\x7e\\x03\\x0c\\xa6\\xe9\\x56\\xac\\xb0\\xde\\xed\\x33\\x65\\xd3\\xad\\x04\\x7f\\x5a\\x86\\xc7\\x74\\x75\\x44\\x01\\xef\\x73\\xfb\\xc7\\x85\\xdf\\x94\\xc1\\xbf\\x1c\\xd3\\x61\\x9a\\xcf\\xfa\\x44\\x42\\x44\\xc5\\x6e\\xa9\\x86\\x82\\xcf\\x92\\x78\\xa4\\xa4\\x4d\\x17\\xa7\\xdb\\xf4\\x71\\xfa\\x1d\\x76\\xfc\\x8e\\x9b\\xec\\x2e\\x9d\\x65\\xe4\\x1d\\x62\\x1c\\xb8\\x4c\\x1c\\x7a\\x1f\\x3a\\xcf\\x3f\\xe6\\x53\\x71\\x58\\x61\\xd1\\xdb\\xf5\\xfe\\x80\\xd7\\x21\\x66\\x1e\\xf3\\xd1\\x78\\x40\\xd5\\xf8\\x2f\\x1b\\x64\\x4b\\x59\\x5a\\x4b\\xfb\\x58\\x1f\\x6b\\x75\\xd1\\x9c\\x5d\\xca\\x46\\xb6\\x27\\x00\\x9b\\x03\\xb0\\x3a\\x00\\xa5\\xe4\\x28\\xc9\\xe9\\x00\\x1c\\x0b\\xc0\\x01\\x52\\x32\\x3b\\x00\\x75\\xa4\\x7c\\x98\\x94\\x9f\\x90\\x21\\x53\\x32\\xf0\\xa4\\x0c\\xf4\\x1e\\x02\\x8d\\x4b\\x83\\x04\\xee\\x18\\x01\\xcd\\xc0\\x7d\\x49\\xea\\x4b\\x60\\x9b\\x09\\x8c\\xf2\\xd0\\xca\\xf8\\xf6\\x10\\xa5\\x24\\x21\\xcb\\x09\\xc4\\xed\\x4c\\x14\\x13\\x8a\\x47\\x1f\\x59\\x56\\x84\\xb0\\x07\\x31\\x70\\x7d\\x31\\xd8\\x15\\x69\\x37\\xec\\xf4\\xfc\\x03\\x4f\\x2d\\x5e\\x7a\\xf8\\x90\\xf0\\xbe\\x18\\xbf\\xfe\\xfe\\x9e\\xa1\\xb3\\x07\\x0e\\x50\\x86\\x1e\\xea\\x89\\x23\\xf7\\x0d\\xad\\xfc\\x0f\\x6a\\xaa\\x18\\xbf\\xfe\\x67\\x23\\x19\\x37\\x9e\\x96\\xce\\x95\\xd2\\xcf\\xa9\\x0e\\x62\\x8e\\xf6\\x5b\\x7e\\x8b\\x2a\\x88\\x22\\x96\\x60\\x30\\x32\\xc1\\xed\\xd6\\xe7\\x4f\\xd0\\x4f\\x88\\x57\\xa8\\xdc\\x26\\xc4\\xa3\\x48\\x67\\x84\\xd2\\xd2\\x91\\x88\\xb3\\xb4\\x34\\x2f\\x91\\x44\\xa5\\x60\\x56\\x95\\x42\\x41\\x71\\x22\\x59\\x60\\x37\\x39\\x13\\x49\\xab\\xd5\\xe4\\xd8\\x1c\\x87\\x14\\x09\\x9d\\x70\\x9a\\xfc\\xa8\\x23\\xf1\\x17\\x8e\\x91\\xb0\\x09\\xf8\\x77\\x30\\x0e\\x28\\x0e\\x35\\x07\\x48\\x08\\x86\\xe1\\x38\\x0c\\x90\\xb0\\x0a\\x9b\\xe5\\x0a\\xfd\\x24\\x3a\\x03\\xae\\x90\\xe9\\x11\\xe5\\x6a\\x40\\x7a\\x26\\x5e\\x2a\\x2f\\x07\\x59\\x59\\x78\\x3d\\x6f\\x5a\\x6a\\x6a\\xc6\\xb8\\xdf\\x10\\xed\\x86\\x38\\x5d\\x38\\xa5\\x8c\\xc4\\x23\\x1e\\x6f\\xa2\\xb9\\x4f\\x72\\x41\\x16\\xcd\\x4b\\x76\\x33\\x39\\x19\\x4d\\xc2\\xa7\\xac\\x2a\\x49\\xcd\\x2c\\x9f\\xbd\\x60\\x6e\\xcb\\x8f\\xba\\xa6\\xee\\x8a\\x94\\x84\\x9d\\xb3\\xe3\\xf7\\xcd\\xb9\\xfa\\xca\\xab\\x6e\\xbf\\x75\\xee\\x8a\\x97\\x85\\xdf\\xde\\xf9\\xcc\\xd3\\x2f\\x1e\\xa1\\x3f\\x56\\x19\\xa3\\xf5\\x93\\x2f\\x5f\\xcd\\x4f\\xb9\\x6f\\xe9\\xae\\xdd\\x1e\\x7b\\xff\\x22\\x5f\\xec\\xf0\\x9c\\x9b\\x6a\\x6b\\xf6\\x5c\\xb7\\x72\\x87\\xfd\\x91\\xae\\x0b\\xe7\\x8f\\x94\\xb8\\xe9\\xd3\\x3f\\x7b\\xe9\\x14\\xa6\\x71\\x12\\xbb\\x50\\xd5\\x89\\x69\\x7c\\x3a\\xa6\\x71\\x35\\xba\\xe4\\x32\\x84\\x4c\\xcf\\x23\\x6a\\xf8\\x89\\xbe\\xfc\\x22\\x83\\x4a\\x12\\x9c\\xc6\\xc0\\x89\\x32\\xc4\\x0b\\x44\\xbe\\xa2\\x1a\\x62\\x85\\x32\\xd8\\x08\\xdc\\x5e\\x19\\x1f\\xf5\\xfd\\xdb\\xd2\\xf8\\xfe\\xd9\\x17\\x1b\\x8b\\xaf\\x2d\\x03\\xb7\\xff\\xc6\\x34\\xdc\\xdf\\xfa\\xca\\x6a\\xc7\\xc0\\x99\\x32\\xed\\x5b\\x8e\\xe1\\x6c\\x7d\\x34\\x95\\x98\\x84\\xb9\\xc8\\x5f\\xfb\\x26\\xc5\\x08\\xec\\xc2\\xaa\\xaa\\x0c\\xec\\x1b\\x72\\x1b\\xa9\\x87\\xd0\\x56\\xf1\\xd8\\xc0\\x53\\xe2\\x32\\x70\\xbe\\x6f\\x82\\x04\\x4a\\x26\\x37\\x2d\\xc2\\xaa\\x2c\\xf4\\xab\\xa8\\x08\\x4b\\x53\\x53\\xd0\\x01\\x7e\\x41\\x55\\xd0\\x12\\x2d\\x9f\\x8c\\x4c\\xce\\x12\\xc4\\x94\\x97\\x5b\\x6a\\x6b\\xb5\\x45\\x96\\xa2\\xa9\\x75\\x93\\xc5\\x48\\x73\\x93\\x83\\x93\\x29\\x03\\x3d\\x79\\x72\\xcc\\x10\\xab\\x4e\\x24\\x63\\x5c\\x20\\xe0\\x8c\\x7a\\x23\\xde\\x44\\xd2\\x59\\x9e\\x48\\x9a\\x4a\\x4a\\x8a\\x33\\x79\\xc1\\xb9\\x08\\xc7\\x15\\xcf\\x49\\x72\\x0e\\x29\\x18\\x5d\\xa2\\x0e\\x4a\\xeb\\x60\\xa1\\x42\\x50\\x90\\xf6\\xf5\\x44\\xc3\\x7f\\xb1\\xb4\\x1d\\x20\\x6a\\xc1\\xe3\\x84\\x99\\x4b\\xbb\\xa3\\x5b\\xa4\\x7c\\xff\\x60\\x0f\\x50\\x99\\x70\\x73\\xe3\\x05\\x7b\\x8c\\x57\\x88\\x8e\\xcf\\x0e\\x3f\\x40\\x45\\xf5\\x45\\x30\\x45\\x8a\\xfd\\x98\\x8e\\x47\\x47\\x5d\\xa0\\xe2\\x2b\\xe6\\x4d\\xec\\x2a\\xab\\x78\\xe8\\xca\\x4f\\xae\\xd9\\xfb\\x92\\x32\\x08\\xe4\\xa6\\x47\\x1a\\xe6\\x3d\\xf4\\xe4\\x53\\x17\\x56\\xdc\\xb8\\x45\\x67\\xd9\\xba\\x23\\x45\\x1d\\x4f\\x5d\\x0d\\x4b\\xaf\\x86\\xf7\\xe6\\xdf\\xba\\xae\\xd6\\xa2\\x9f\\x14\\x2a\\xd9\\xb2\\x25\\x3b\\x2a\\x64\\xd3\\xac\\x93\\xbf\\x6e\\x16\\xb6\\x4c\\x37\\xb7\\x96\\x75\\x93\\xf8\\x90\\xb4\\xb7\\xeb\\xb9\\xc7\\x7e\\x22\\x8e\\xd5\\x2c\\x61\\xa6\\x18\\x3f\\x11\\xf7\\x7f\\x83\\x24\\x83\\xa3\\xa3\\x92\\x0c\\x1e\\xf7\\x39\\x55\\x68\\x84\\x46\\x48\\x5c\\x3f\\x42\\x4b\\x8d\\x12\\xcd\\xdd\\x9c\\x1e\\xfb\\xaf\\xfa\\x02\\x61\\xd6\\x96\\x19\\xfb\\x6c\\x38\\x91\\xe6\\xfe\\x2c\\xd1\\xdc\\x66\\x7f\\x48\\x06\\x1b\\x81\\xdb\\x2b\\xc3\\x61\\x79\\x75\\xbb\\x04\\xc7\\xf9\\xc3\\x63\\xe1\\x4c\\x99\\xf7\\x2e\\xc7\\xb4\\x69\\xfc\\x4f\\x9a\\x52\\x97\\xfa\\x25\\xb0\\x34\\x9c\\x83\\xc4\\xa3\\x12\\xdf\\xfb\\x0f\\xa9\\x7d\\x07\\x10\\xb2\\x3c\\x2d\\x06\\xbc\\x79\\x6e\\xf8\\x78\\x9f\\xde\\x44\\x44\\xd9\\x85\\x52\\x1b\\xc5\\xd8\\x55\\xb9\\x0a\\xd8\\x0d\\x5f\\x90\\x2f\\x9e\\x94\\x63\\x4c\\x0b\\xc9\\xc3\\xc3\\xc3\\xbf\\xc7\\x30\\xad\\xa4\\x7d\\xff\\x90\\xe6\\xc4\\x6b\\xe4\\x7b\\x61\\x58\\xe8\\xcb\\x31\\xa5\\xc1\\x44\\xb8\\x73\\x18\\x2e\\x8f\\xb4\\x4f\\xc2\\xb5\\xfc\\x45\\x91\\x7a\\x45\\x01\\xfa\\xef\\x7d\\xbe\\x1c\\x59\\x80\\x4e\\xc7\\xea\\x50\\x1d\\xc2\\x12\\x45\\x0c\\xb5\\xf1\\x95\\x3a\\xb5\\x1b\\x18\\x5a\\xab\\x0d\\x1b\\xc3\\xb4\\xc7\\x63\\x71\\x7a\\xbd\\x46\\x8b\\x31\\xbf\\xc0\\x0d\\x3a\\x35\\xe3\\xf1\\x68\\xec\\xf6\\x00\\x26\\x54\\xbb\\x9d\\x61\\xd9\\x28\\xa6\\x65\\x87\\x46\\x43\\x33\\x48\\x3c\\xad\\x9b\\x21\\xbc\\x78\\xfa\\xea\\x1c\\xe1\\x52\\x22\\xdd\\x55\\x90\\x6d\\x7b\\x22\\x3f\\x54\\x63\\xde\\xe4\\x70\\xe6\\xd9\\x35\\x0e\\x4b\\x70\\x24\\xc4\\x86\\x33\\x96\\xaf\\x02\\x85\\x05\\xfc\\xe3\\x33\\xd7\\xaf\\x7b\\x66\\x07\\xe4\\xbc\\x7c\\xff\\x21\\x86\\x92\\x02\\x6e\\xac\\x9a\\x57\\xb6\\x5b\\x78\\x8f\\x72\\xdf\\xbe\\xe3\\x8e\\x0d\\x62\\xd4\\x0d\\x66\\xd6\\xd6\\xa6\\xe8\\xac\\x09\\xc9\\x87\\x16\\xdd\\x78\\x8b\\xb0\\x7d\\x38\\x57\\x28\\xfb\\xe2\\xcf\\xa7\\x3f\\xcf\\x3d\\xba\\xad\\x67\\xe8\\xb7\\xbf\\x7a\\xfa\\xc8\\x5b\\x6f\\x3f\\xf1\\xac\\x34\\x06\\x24\\x56\\x0b\\xe1\\x0f\\x73\\x24\\x39\\x10\\x3d\\x81\\xd2\\xbd\\x76\\xa1\\x2f\\xbf\\xc2\\x41\\xcc\\x13\\x22\\xcd\\x91\\xbe\\x10\\xfb\\xbf\\x59\\x92\\x33\\xd0\\x1d\\x28\\x4d\\x4d\\xaf\\x61\\xd9\\x55\\x22\\xbb\\x71\\xe0\\x36\\xa0\\x6f\\x25\\x1a\\x69\\x75\\x7a\\x94\\xb4\\x29\\xc1\\xed\\x95\\xe1\\x30\\x2d\\xfd\\x54\\xc6\\x37\\xdc\\xe7\\x1c\\x8d\\xaf\\x2d\\x03\\xb7\\x1f\\x1d\\x94\\xe1\\xbe\\xc5\\x32\\xea\\x28\\x38\\x53\\xe6\\xbd\\xcb\\xd1\\xa3\\x19\\x9e\\x34\\x84\\x45\\x53\\x09\\x50\\xe2\\x49\\x57\\xa1\\xd7\\x19\\x13\\xb3\\x93\\xec\\xb1\\x78\\x51\\x03\\x9f\\x27\\x46\\x42\\xb3\\x58\\x3c\\x2e\\x8f\\xcb\\xe7\\xb7\\xf3\\x88\\xe5\\xd9\\x0e\\x96\\x16\\x0d\\x25\\x5e\\xaf\\xe7\\xf1\\x24\\x8d\\xc5\\x52\\x9d\\xf7\\x69\\x54\\xf7\\xc7\\x85\\x6f\\x66\\xd4\\x76\\xcf\\x9b\\xb2\\x5f\\xf5\\x38\\x21\\xcb\\xb2\\x72\\x99\\x8b\\x2e\\x1f\\x7b\\x27\\x15\\x14\\x4e\\x9a\\x54\\x58\\x30\\x49\\xbe\\xc2\\x6d\\x17\\x2e\\x63\\xf2\\xc5\\x7b\\xfc\\xf7\\xc2\\x1f\\xd2\\x3f\\xe0\\x07\\x4b\\x96\\xe0\\xf6\\x35\\x0c\\xf7\\xd0\\xcf\\xd1\\x42\\x5a\\x96\\x5d\\xc3\\x4f\\x4c\\xcb\\xb2\\x56\\x9d\\x17\\xcc\\x9a\\x1c\\xc6\\x80\\x68\\x03\\x9d\\x1b\\x15\\x05\\x58\\xc6\\x15\\x62\\x5d\\x89\\xa4\\x19\\x72\\x34\\x8c\\x8a\\xb5\\xf0\\x5a\\x73\\xa3\\xc5\\xc2\\x72\\xaa\\x50\\x22\\xa9\\x15\\x45\\xda\\x1c\\x2d\\xd7\\xa8\\xd5\\xaa\\x1c\\x5c\\x14\\xd6\\x2a\\xa5\\x58\\x33\\x39\\x2a\\x3d\\xe2\\x1e\\x2e\\xca\\xb0\\xf1\\x8a\\x0a\\x89\\x0c\\x41\\xe3\\xb0\\x63\\xe2\\x23\\xf2\\xab\\x14\\x3b\\xb5\\x1a\\x24\\x31\\x56\\xad\\x92\\xc4\\xd8\\x89\\xf4\\x73\\x9b\\xd6\\x0b\\x8d\\x7b\\xaf\\x9d\\xbb\\x72\\xf3\\xc6\\xdf\\xff\\xf1\\xde\\xef\\xb5\\x0c\\x1d\\xf5\\xc3\\xbd\\x53\\x6f\\xdd\\xba\\x1e\\x2e\\x04\\x85\\x15\\x17\\xaf\\xdb\\xd6\\x41\\x0b\\x4f\\x6c\\xfe\\x46\\x30\\xd7\\x6e\\x3a\\x7a\\x1b\\xa0\\x2f\\x2e\\xf0\\x37\\x0f\\x7d\\xf0\\x93\\x05\\x54\\x7d\\xcb\\x0b\\x03\\xf7\\x2c\\x1c\\xfa\\xd9\\xcc\\xe3\\x12\\x1d\\x90\\xd8\\x11\\x84\\x5e\\xe6\\x49\\x3c\\x60\\x6e\\x9a\\xfa\\xf6\\x63\\xaa\\xb2\\xe5\\x64\\x78\\x54\\x36\\x9c\\x28\\x23\\x6a\\x25\\x9e\\xb7\\xce\\xe9\\x91\\xc1\\x46\\xe0\\xf6\\xca\\x70\\x98\\xae\\x1e\\x91\\xe0\\xb0\\x0a\\x34\\x16\\xce\\x94\\xc1\\xb7\\x1c\\xf5\\x20\\x91\\x4b\\x51\\xc0\\x14\\x3a\\x25\\x40\\x22\\x2f\\x93\\xb3\\xdc\\xe4\\xbd\\xd7\\x64\\xd1\\x33\\xcc\\xf3\\x87\\x8c\\x8e\\x34\\x3e\\xcc\\x2b\\x4c\\x62\\x3c\\x1b\\xd5\\x5d\\x28\\x07\\x45\\x21\\x97\\xff\\x25\\x72\\xb2\\xea\\x60\\x30\\xea\\x8c\\xc6\\xf2\\xa2\\xc1\\x70\\x30\\x91\\x0c\\x7b\\x3d\\x5a\\x31\\x80\\xaf\\x8a\\x16\\xc3\\xf7\\x9a\\x6d\\x9c\\x49\\x8f\\x97\\x34\\xb4\\x3a\\x06\\x75\\x24\\x13\\xd0\\x70\\x0c\\x4e\\xc7\\xe0\\x44\\x0c\\x8e\\xc5\\xe0\\x40\\x0c\\x36\\xc7\\x00\\x3f\\x4a\\x91\\xa7\\xa5\\x31\\x08\\xc6\\x80\\x8d\\xc1\\x32\\x0c\\x74\\x32\\x06\\xfd\\x31\\xe8\\x8d\\x41\\x77\\x0c\\x3a\\x62\\xd0\\x1e\\x83\\xd6\\x18\\xf0\\x31\\xe0\\x62\\x80\\x48\\xa1\\x94\\x58\\x08\\xff\\x1e\\x90\\x81\\x25\\xc8\\x56\\x52\\x58\\x83\\x8b\\xf6\\x10\\xdc\\x18\\xeb\\x20\\x81\\xc0\\x28\\x12\\x31\\x28\\x8b\\xc1\\x97\\xe4\\xfd\\x9d\\x31\\x98\\x4d\\x9e\\xe2\\x17\\x66\\xa9\\xe5\\x4a\\x51\\x75\\x94\\x5d\\x7a\\xf4\\xd1\\x8a\\x7f\\x1f\\x6e\\x67\\x24\\xb4\\x70\\x56\\x64\\xe1\\x71\\x42\\xef\\x50\\xdf\\xdc\\x7c\\x9b\\x18\\x5d\\xe7\\xd6\\x5b\\x86\\x0e\\xfe\\x00\\x4a\\xd5\\xd9\\xb1\\x77\\xe0\\xc3\\x57\\x9e\\x13\\xc3\\xeb\\x9c\\x60\\xa6\\x8a\\x41\\x86\\x27\\x75\\x8e\\x0a\\xbf\\x83\\x46\\xc6\\xcf\\x94\\x19\\xbf\\xe5\\xe8\\x95\\xf4\\x38\\xb3\\xa5\\x7e\\x69\\x00\\x15\\xb6\\xda\\xb2\\x8c\\xad\\x76\\x37\\xfc\\x50\\x69\\x0f\\x1e\\xea\\xb3\\xda\\xb3\\xec\\xc1\\x44\\x06\\x62\\xfe\\x9c\\x91\\xab\\x76\\xdf\\x9a\\xe6\\x4a\\x5f\\xf7\\xc5\\x0a\\x14\\x72\\x95\\x84\\xf7\\xd5\\x0c\\xde\\x7d\\xb0\\x09\\xe3\\xd5\\x3e\\x2d\\xe2\\x45\\x59\\xb2\\xd7\\xc6\\x0c\\xae\\x7d\\x6b\\x71\\x0b\\x45\\x5c\\x5f\\xf4\\x15\\x96\\x7b\\xe8\\xbc\\x8c\\x8d\\x5b\\x58\\x25\\xe6\\xce\\xce\\xe0\\xfa\\x31\\x7d\\x39\\x7e\\xe0\\xe1\\xcd\\xd4\\x6a\\x92\\xa8\\x22\\x44\\x52\\x57\\x60\\x0d\\xd7\\x6f\\x26\\x23\\x41\\x64\\x35\\x61\\x15\\x7d\\x90\\x7e\\x29\\x23\\xab\\xfd\\x18\\xee\\x43\\x69\\xec\\x3f\\xef\\x2b\\x2c\\xcc\\xcb\\xcb\\xcb\\xe8\\xf7\\xcc\\xc7\\x44\\x07\\x8b\\xa5\\xe7\\xd7\\xeb\\xa4\\x9d\\x10\\x1e\\x69\\x27\\x89\\xdb\\x4c\\xe6\\x42\\x43\\x7a\\x2e\\xfc\\x17\\xc6\\x65\\xe5\\x8d\\xe9\\xf0\\x2c\\x2b\\x5d\\x6e\\xcc\\x66\\x8b\\x17\\x2e\\x1c\\xb1\\x31\\x60\\x9c\\xa7\\x65\\x9c\\x58\\x77\\x3c\\x8a\\x71\\x5a\\xb0\\x5e\\x87\\x91\\xc2\\x0a\\x5f\\x88\\x76\\xe7\\x91\\x0e\\xcd\\xe0\\xde\\x2b\\xe3\\xc6\\xf3\\xf6\\x08\\x46\\x92\\xf3\\x2c\\x54\\x90\\xc5\\x80\\xc0\\x48\\xf8\\xf6\\x65\\xf0\\x3d\\x08\\x3f\\x4d\\xe3\\x0b\\x62\\x7c\\x6d\\x11\\xdf\\x18\\x7c\\x33\\x33\\xf8\\x1e\\x44\\x2f\\x4a\\xf8\\xa6\\xfb\\x9d\\xd9\\xf8\\x46\\xda\\xb7\\x0b\\x9e\\xc4\\xf8\\x1c\\xbc\\x89\\xb4\\xaf\\x35\\x0a\\x4b\\xa3\\x41\\x11\\xe5\\xc2\\xef\\x68\\xe3\\x2e\\xd4\\x8b\\x71\\xb2\\x7c\\x8e\\x18\\x34\\x74\\x52\\xd0\\x43\\x3e\\x5e\\xb6\\x37\\x8a\\x76\\x37\\x82\\x3b\\x3f\\x8d\\x7b\\x2b\\xc6\\x6d\\xeb\\xa3\\xfc\\x84\\x9e\\x1e\\xeb\\x0b\\x79\\xed\\xc6\\xbc\\xb4\\x52\\x2b\\xda\\x0e\\xb1\\x9c\\xac\\x55\\xfd\\x90\\x8b\\xa1\\xcb\\xc8\\x5e\\xe4\\x10\\x7d\\x08\\xaf\\xc8\\x57\\x3f\\x8f\\x2a\\x86\\xfb\\x9f\\x2e\\x2c\\x6c\\xac\\x10\\xb7\\x07\\x0b\\x0a\\xa4\\x6b\\x7e\\xbe\\x74\\x8d\\xc5\\xa4\\x6b\\x5e\\x9e\\x74\\x8d\\x46\\xa5\\x6b\\x6e\\x2e\\xb9\\xf2\\x46\\xbf\\xbf\\x91\\x3a\\x16\\x81\\xeb\\x22\\x11\\x96\\x15\\xdb\\x96\\xd9\\x11\\x24\\xef\\x4c\\xdb\\x06\\x31\\xd7\\xbd\\x5b\\xec\\x9b\\xe7\\x51\\x78\\xb8\\xff\\x28\\xc7\\x35\\x16\\xa7\\xe3\\x5e\\x5f\\xc0\\xfc\\x4c\\x8c\\xb5\\xbe\\x91\\xbf\\xc4\\x67\\x64\\x90\\x81\\xa5\\xc3\\x36\\x7b\\x98\\x76\\x31\\xae\\x58\\xbe\\x07\\xaf\\x3a\\x1e\\xbb\\xd3\\x68\\x32\\x26\\x92\\x36\\x93\\x49\\x63\\xb1\\x70\\x62\\x24\\x02\\x0d\\x16\\x7d\\x90\\x86\\xd3\\x50\\x3a\\x5a\\xc3\\x85\\xb1\\xba\\x48\\x51\\x41\\x31\\x20\\x76\\x28\\x5f\\xce\\x5f\\x4d\\x3c\\x98\\x32\\x69\\x0a\\x47\\x8e\\x46\\x66\\xdc\\x99\\xc8\\xe6\\x2e\\x49\\xc8\\x99\\x15\\xee\\x9a\\x1c\\xb2\\xc3\\x9a\\x6d\\x3a\\xd8\\xf0\\xb8\\x61\\xaf\\x85\\xbf\\x81\\x75\\x3f\\x4c\\xdf\\xb5\\x6b\\xfc\\xe0\\xd7\\x6b\\x5c\\x2d\\x0f\\xb9\\x4a\\x3e\\x6c\\x39\\xff\\x85\\x22\\x00\\x76\\xc6\\x36\\x5c\\x96\\xb1\\x25\\xef\\x06\\x5f\\x9a\\xae\\x44\\x5b\\xb2\\xdd\\x17\\x40\\x23\\x74\\x45\\x64\\x5b\\x32\\xef\\x25\\x19\\x78\\x37\\xfa\\x3e\\xa1\\x2b\\xca\\xe2\\x0f\\x62\\xe1\\x96\\xc0\\x48\\xf8\\x5e\\xcd\\xe0\\xdb\\x47\\x6c\\xd3\\x19\\x7c\\xc1\\xfc\\xd1\\xf8\\xc8\\xdc\\x97\\xf0\\xed\\x43\\x1d\\x12\\x3e\\x5d\\xa8\\x20\\x1b\\xdf\\xbe\\x0c\\xbe\\x07\\x21\\xaa\\xa0\\xfb\\x60\\xc4\\x37\\x06\\xdf\\xcc\\x0c\\xbe\\x07\\x89\\x9c\\x86\\xf1\\x99\\x72\\xfd\\x19\\x7c\\xc2\\x2a\\x31\\x4f\\x76\\x06\\xdf\\x8f\\xa9\\xa4\\xc4\\x13\\x60\\xf8\\x2f\\x7d\\xc5\\xc5\\x6e\\x77\\x9a\\x27\\x24\\x30\\xef\\x68\\x20\\x7a\\x46\\x63\\x9a\\x77\\xc4\\x50\\x86\\x33\\x4d\\x98\\x60\\xb3\\xa5\\xe1\\x46\\xdb\\xe2\\x77\\x61\\x09\\x5a\\xa4\\x75\\x32\\x8d\\x9e\\x1b\\xfe\\x47\\x5f\\x34\\x48\\xa9\\x14\\xb4\\x3e\\x5a\\x8f\\xd8\\x85\\x76\\x49\\x6d\\xb4\\xe5\\x85\\xe4\\x36\\x92\\xdc\\xcd\\x04\\x67\\x51\\x9a\\x77\\x3c\\x95\\xfe\\xe6\\x18\\x46\\xea\\x0e\\xe7\\xa9\\x03\\x99\\x6f\\x26\\xb1\\xa4\\x09\\xbe\\xa6\\x2c\\xde\\x41\\x73\\xd3\\x2e\\xf5\\x23\\x25\\xbe\\x57\\x33\\xf8\\xf6\\xc1\\xe3\\x18\\x9f\\x99\\xd7\\x91\\x46\\xf2\\x61\\x08\\x9b\\x17\\xca\\xbc\\x5d\\xc2\\xb7\\x51\\xc2\\xc7\\x89\\x63\\xd2\\x99\\xb1\\x99\\xee\\x24\\xe3\\x50\\x94\\x1e\\x87\\xde\\x74\\x9b\\xa2\\x18\\x87\\x27\\x3f\\x3c\\xa6\\x4d\\x33\\x33\\x6d\\x7a\\x10\\xdd\\x4f\\xe4\\x06\\x9a\\xbb\\x6c\\x9a\\x5f\\x21\\x07\\xb7\\x08\\x33\\xc5\\x1c\\xd5\\x32\\x4e\\xed\\x71\\xea\\x2a\\x89\\x4f\\xe9\\xa2\\x12\\xba\\x0c\\xae\\x13\\x32\\x2e\\xad\\x00\\x73\\xa4\\x71\\xa0\\x87\\xdf\\xef\\x9b\\x36\\xdd\\x66\\x1c\\x19\\x07\\xd5\\x6e\\xd2\\x67\\xc5\\xe9\\x3e\\xbb\\x4b\\xc1\\x6f\\x91\\x2f\\x84\\x4c\\x99\\xf6\\x91\\x18\\xc9\\x1a\\x0d\\x86\\x9d\\x21\\xcb\\x49\\xb0\\x01\\xd5\\x3d\\x05\\x01\\x91\\x81\\xb8\\x5c\\x8d\\xe4\\x6a\\xb5\\x4b\\x57\\xb3\\x59\\xba\\xb2\\x2c\\xb9\\xf2\\x46\\xad\\xb6\\x31\\x40\\x61\\x9c\\x81\\x88\\x37\\x87\\xe0\\x24\\xff\\xa5\\x65\\x21\\xb1\\x1d\\x77\\x92\\x3d\\xcc\\x7c\\xf4\\x47\\x7e\\x02\\x56\\x5e\\x72\\x54\\x1e\\x15\\xa5\\x67\\xbc\\x0c\\x95\\x6f\\x0c\\x87\\xd5\\x54\\xd4\\x14\\x08\\xd8\\xdd\\x94\\xbb\\xa0\\x90\\x29\\x9c\\x5e\\x48\\x55\\xe2\\x7f\\xce\\x14\\x9e\\xc5\\x37\\x22\\xf2\\x85\\x93\\xa7\\x34\\x0e\\x14\\x02\\x95\\x28\\x6c\\x2f\\xec\\x2e\\x3c\\x59\\xc8\\xb0\\xb1\\x60\\x8c\\x8a\\xb1\\xae\\xa0\\x0b\\xb3\\x15\\x17\\xa3\\x62\\x52\\xc9\\x98\\x1d\\x8c\\x76\\xbf\\x9d\\xb2\\xc7\\x8c\\x60\\x34\\xfa\\x8d\\xf8\\x81\\x51\\x95\\xcf\\xe7\\x87\\x5a\\x93\\xf9\\xf9\\x94\\xce\\xc6\\x1a\\x34\\x9a\\x90\\x56\\xdf\\x28\\x66\\x79\\x32\\xeb\\xe8\\x70\\xc0\\x4d\\x32\\xdf\\xf9\\xb0\\x4c\\xad\\x4c\\x2a\\x8d\\x8a\\xcd\\x72\\x56\\x69\\xc9\\x0b\\xa9\\x82\\xe4\\x5f\\x94\\x36\\xe1\\xc4\\x3d\\x86\\x85\\xa2\\x13\\x66\\xb1\\x78\\x5c\\x5b\\xf6\\xaa\\x96\\xfe\\x20\\xbc\\xbc\\x4a\\x69\\xa7\\x73\\xab\\xe2\\x55\\x92\\xc5\\x2d\\x9c\\xbe\\x66\\xc2\\xa1\\x93\\xf4\\xd3\\x80\\xcb\\x6a\\x7b\\x1e\\x7b\\x6c\\x24\\x09\\xf5\\xe3\\x8f\\xa7\\xd3\\x50\\xc3\\x1b\\x43\\xbb\\xaa\\xbc\\xf4\\xaa\\xe6\\xd3\\xa2\\x05\\xee\\xb4\\xf4\\x6f\\xf3\\x85\\x7b\\x46\\x92\\x51\\x53\\xa7\\xff\\xf4\\x27\\xc9\\x17\\x51\\x8e\\x69\\x9d\\x87\\xde\\x7e\\x1e\\x85\\x86\\x07\\xf9\\xb0\\x8e\\x6b\\xa4\\x91\\xcb\\x15\\xf6\\x5b\\xf0\\xf7\\xc7\\xf2\\xd3\\xe7\\xd4\\x2f\\x2d\\x4b\\x9f\\x65\\x67\\xf2\\xc5\\xbe\\xb4\\x17\\x97\\x35\\x1e\\xcb\\x87\\xee\\x7c\\x40\\xf9\\x1c\\x81\\x60\\x58\\x5a\\x7c\\xf2\\x74\\x30\\xd2\\x48\\x20\\x72\\xac\\x8e\\x46\\x3a\\x18\\xc2\\x22\\x2a\\x7a\\x0e\\xa3\\xad\\xc4\\x68\\x51\\x28\\xa4\\x8b\\x1a\\x23\\xfe\\x08\\xc5\\x32\\x11\\x4e\\x67\\x6a\\x8c\\x46\\x12\\xc9\\x28\\xf2\\xbb\\xa4\\x28\\x4c\\x5e\\xd6\\xee\\x14\\x03\\xbf\\xda\\x9b\\x93\\x48\\xc7\\xe9\\x28\\x1d\\x87\\xea\\x16\\x8e\\x8d\\xa4\\x89\\xc4\\x60\\xbc\\xa4\\x6b\\x25\\x13\\x0c\\x48\\xd1\\x79\\xd7\\x14\\xaf\\x25\\xc5\\x99\\xf3\\x52\\xa8\\x58\\x74\\x54\\xb7\\x87\\xed\\xdf\\x1d\\xf0\\x3a\\xdd\\xc7\\xd0\\x00\\x56\\xe1\\x6f\\x63\\x02\\x5f\\xef\\xda\\x75\\x27\\x54\\x30\\x3d\\x2d\\x8b\\xc7\\x0f\\x7e\\xcd\\x58\\x44\\xae\\x3f\\xb2\\xdf\\x76\\x34\\xb3\\xdf\\xb6\\x9f\\xec\\xb7\\x59\\xe4\\xfd\\x36\\x47\\x18\\xab\\xfe\\xe9\\xf9\\x31\\xfc\\x07\\x92\\x03\\xbc\\x2d\\x63\\x4b\\xd8\\xff\\x2b\\x32\\x2b\\x91\\x2d\\x28\\x01\\x11\\x1d\\x02\\xc3\\xec\\x21\\xeb\\xc6\\x84\\xf4\\x5a\\x80\\x24\\xbe\\x27\\xed\\x0f\\x0e\\xf7\\x19\\x4c\\x32\\x46\\x62\\x77\\x38\\x83\\xe1\\xe7\\x91\\xb5\\x43\\xc2\\xb9\\xfb\\x75\\x09\\x67\\x8e\\x61\\x04\\xa7\\xb8\\xe7\\xb8\\x8e\\xf0\\xa9\\x09\\xe9\\xf5\\x00\\xb2\\x71\\xb2\\xce\\x2c\\x9c\\xc3\\x18\\x7e\\x0a\\xe1\\x55\\x12\\xce\\x7d\\xbf\\x96\\x70\\x1a\\xed\\x23\\x38\\x9b\\x84\\x55\\x62\\x3e\\xf3\\x34\\x4e\\x35\\xf5\\xe3\\x99\\x04\\x66\\x32\\xeb\\x1d\\x81\\x29\\xc6\\x30\\x36\\xc2\\x87\\x66\\x4a\\x30\\x5a\\xc2\\x91\\x2f\\x72\\xe7\\xb1\\xc6\\x0c\\x1e\\xb2\\x1f\\xba\\x2f\\xd3\\xb6\\x07\\x87\\x87\\xd3\\xfd\\xc7\\x8a\\xfd\\x67\\x31\\xa8\\xf5\\xe9\\x96\\xc1\\xff\\x8f\\xb5\\x37\\x81\\x8f\\xa2\\x48\\xff\\xc6\\xab\\xfa\\x98\\xfb\\xee\\xe9\\xb9\\xef\\x23\\x93\\x64\\x72\\x0f\\x21\\xdc\\x69\\x4e\\x23\\x22\\x99\\x84\\x20\\x34\\x02\\x09\\xa0\\x80\\x20\\x82\\x5c\\xba\\xeb\\x81\\x8a\\x0a\\x11\\x50\\x14\\x45\\xc4\\x0b\\x14\\x11\\x35\\xba\\xa8\\x01\\xcf\\x55\\x58\\x51\\xd7\\x13\\x11\\x2f\\x44\\xd7\\x6b\\x5d\\x5d\\x97\\x55\\x74\\x59\\x0f\\x20\\x9d\\x7f\\x55\\x75\\xf7\\x1c\\x01\\x7f\\xbf\\xf7\\xfd\\x7f\\x5e\\x91\\x09\\x33\\xe9\\xa9\\xae\\xa7\\xba\\xea\\xa9\\xef\\xf3\\xd4\\xf3\\x7c\\x1f\\x99\\x6b\\x9c\\xee\\x02\\x7a\\x70\\x8d\\x30\\x09\\xb0\\xac\\xc1\\x48\\x98\\x91\\xad\\x2a\\x33\\x72\\x9e\\xfe\\xf8\\x7f\\xe2\\x3e\\x8e\\x14\\xd0\\x1f\\xff\\xe9\\x7f\\xa6\\x3f\\x3e\\x1d\\xb5\\xb8\\x1a\\x76\\x59\\xc0\\x7b\\x7c\\xb1\\xc2\\x1c\\x3e\\x46\\x65\\x89\\x54\\xb0\\xd7\\x55\\xec\\x50\\x9b\\x7a\\xae\\x5a\\x49\\xe1\\xc4\\x07\\xc7\\x33\\x20\\xd6\\xbb\\xe7\\x29\\xa3\\xb1\\x09\\x67\\xc6\\x7a\\xd1\\xf6\\x90\\x26\\xe3\\x34\\x8e\\x7e\\x8e\\x1d\\x67\\x93\\xc7\\x49\\x0b\\xce\\xa6\\xea\\xd0\\xb5\\xb3\\x9e\\x41\\x60\\x6a\\xcf\\x93\\x5e\\x6f\\x53\\x3d\\x5e\\x5b\\x6e\\xb7\\xfc\\xd3\\xe1\\xc0\\x3f\\xaf\\x7a\\x12\\x61\\xaa\\x7a\\x45\\x7d\\x92\\x9f\\x16\\x0b\\xf9\\x29\\x98\\x4c\\xa6\\x26\\x9a\\xfa\\x53\\x35\\x5c\\x54\\x0d\\xab\\x65\\x73\\x5d\\xd7\\x54\\x0d\\xc1\\x9f\\xd0\\x00\\xa2\\xfb\\xd5\\xdb\\x31\\x96\\xae\\x2f\\xc2\\x6c\\x69\\xb4\\x77\\x0e\\x21\\x3a\\xbe\\x52\\xd1\\xdb\\xf7\\x29\\xcf\\xc0\\x47\\xe6\\xb0\\x17\\xa8\\x3b\\x2d\\xe1\\x41\\xa7\\x66\\xb0\\x37\\x03\\x3b\\xf0\\x81\\x23\\xc2\\x56\\x87\\xc6\\xec\\x36\\x03\\x10\\xf0\\x3b\\xbd\\x37\\x8a\\x0e\\xe7\\x2d\\xe7\\x7a\\x1c\\x76\\xc1\\x6e\\xc9\\x8a\\x76\\x2b\\x6d\\xc8\\x8a\\x1a\\xda\\x7f\\x22\\x00\\x9f\\x23\\x79\\x3d\\xc6\\x00\\x5c\\x80\\xde\\xfc\\x2b\\x00\\xcf\\x0a\\xc0\\xc1\\x01\\x98\\x0e\\x40\\x3f\\xf9\\xf4\\xce\\x00\\x5c\\x13\\x80\\x97\\x05\\xe0\\xb9\\xe4\\x57\\xfd\\xc8\\x35\\x87\\xc9\\xd7\\x1e\\x21\\x9f\\xa3\\x6b\\x06\\xe3\\x64\\xa0\\xc2\\xac\\x9e\\x48\\x00\\xbe\\x13\\x80\\x72\\x16\\xd0\\x7a\\x35\\xc3\\x07\\x90\\xb7\\xb9\\x6b\\xac\\x81\\x62\\x2a\\xf4\\xff\\x3b\\x2e\\xf4\\xba\\x74\\x3e\\x52\\x3f\\x93\\x8b\\xe9\\x2d\\xa0\\x3f\\x4f\\xd6\\x73\\x19\\x8e\\x8f\\x27\\x59\\xb8\\xa2\\x88\\xfe\\x5c\\x9a\\xf2\\xf1\\xfb\\x87\\x06\\x48\\xc7\\xa4\\x63\\xa9\\x42\\xfa\\xf3\\x27\\xa3\\xd0\\x2e\\xfd\\x10\\x7d\\xea\\x29\\x19\\xcb\\xa3\\x3d\\xfa\\x09\\xb2\\x7e\\xaa\\x94\\x3d\\x7a\\x9a\\xbc\\x47\\xeb\\x82\\x3e\\x33\\x2b\\xef\\xd1\\x29\\x69\\x1c\\xe6\\x4a\\x47\\xd7\\x8c\\x97\\xaf\\x81\\xed\\x2a\\xa6\\xfa\\xbe\\x3b\\xe8\\x73\\xeb\\xc9\\x22\\x52\\x38\\xd5\\xd1\\xba\\xf0\\x82\\xf9\\xc2\\x60\\x8b\\x56\\x6b\\x83\\x1a\\x8d\\x0e\\xd3\\xaa\\x9b\\x75\\xbc\\xce\\xe7\\xaf\\xc1\\x6c\\xea\\x59\\x3f\\x65\\xa0\\x09\\x05\\xba\\xf5\\xff\\x92\\x02\\x5d\\xe6\\xa7\\x51\\x0f\\x3e\\x1c\\xb9\\xd0\\xf7\\xff\\xa7\\xd4\\xe7\\x74\\x14\\x53\\x9f\\x2b\\xb8\\x6f\\x2e\\xb1\\x19\\xab\\x15\\x7b\\xb0\\x13\\xcd\\x45\\xff\\x2e\\x68\\x43\\x53\\xd1\\x4e\\x22\\x17\\x75\\x96\\xfe\\xc3\\xec\\x76\\x93\\x29\\x99\\x2e\\x38\\x23\\xc4\\x5c\\xb1\\x35\\x5a\\x0d\\xfa\\x5e\\xb3\\xfc\\xbd\\xde\\x13\\x08\\x7b\\x20\\x5b\\xd3\\x40\\xe5\\x6c\\x4d\\x34\\xe6\\xb8\\xee\\xbb\\xda\\x36\\x1a\\xcf\\xb7\\x64\\xbf\\x4b\\x90\\xb3\\xe9\\xb5\\x79\\xfc\\x54\\x86\\xe3\\xeb\\xc9\\xb8\\xe3\\xb6\\x34\\xba\\x7d\\xcb\\x94\\x51\\x3f\\xd1\\x6d\\x36\\x28\\xea\\x2d\\xd7\\x57\\xb2\\xc6\\xe5\\xf6\\x7a\\x28\\xa4\\xe1\\x81\\xf3\\x19\\x90\\xc0\\xcb\\x0e\\x2d\\x50\\x58\\xef\\xb4\\x01\\x2d\\xba\\x3e\\x4d\\xae\\x47\\x56\\x18\\x1d\\x20\\xf6\\x58\\x73\\x88\\x5c\\x0f\\x9f\\x46\\xf6\\x58\\xc9\\x33\\x20\\x84\\xd6\\x2f\\xaf\\xc0\\x22\\xf4\\x35\\x02\\x87\\x0c\\x68\\x41\\xc3\\x69\\x16\\x8b\\x1e\\x3f\\x65\\xb4\\x54\\xf3\\xf7\\x93\\xfb\\x6f\\xc3\\x58\\xf1\\x60\\x8f\\xa4\\xc8\\xfe\\x14\\xbb\\xce\\xa6\\xc8\\x8e\\x70\\xe1\\x7f\\x7a\\x24\\x6c\\x7b\\xb9\\x91\\xed\\x85\\xf4\\x43\\x5a\\xd6\\x9d\\xa4\\xe6\\xbd\\x1b\\xcc\\x16\\x06\\xea\\x4c\\x00\\x9a\\x68\\xde\\x6e\\xe0\\x69\\x8f\\x57\\xa3\\x83\\x2e\\x68\\xd4\\x31\\x6e\\xe0\\x86\\x76\\x5a\\xef\\xd6\\xbb\\x19\\x0e\\x9f\\x69\\xda\\x6c\\x1c\\x67\\xee\\x10\\x39\\x07\\xe6\\x23\\x6d\\x17\\x19\\x7a\\x91\\x17\\x4e\\x2b\\x0e\\x35\\x2a\\x4c\\x56\\x47\\x73\\x66\\x9a\\x7c\\xee\\xee\\x96\\x53\\x5b\\xd4\\x5a\\xfd\\x49\\x9e\\x2d\\xa8\\x15\\xaf\\x4d\\x3f\\xdf\\x45\\x0d\\xd9\\x8f\\x56\\xc9\\x5b\\xf9\\x82\\xf1\\xcf\\x53\\x9a\\x05\\xd4\\x65\\x84\\x9e\\xe4\\x3f\\x4f\\x4c\\x7f\\xa2\\xe7\\xa0\\x52\\x39\\x1e\\xee\\xbb\\x48\\xc1\\x29\\x54\\x35\\xc2\\x29\\x76\\xf0\\xa6\\xb0\\x4a\\xa7\\x31\\x18\\x20\\xb0\\x5a\\x1d\\x1c\\xae\\x07\\x9e\\x15\\x6d\\xd8\\x55\\x6e\\x07\\x5a\\x68\\xa4\\xb5\\x76\\xad\\x9d\\x35\\xf3\\x2c\\x95\\x15\\x59\\xf0\\x1e\\x07\\xf7\\x71\\xb0\\x9b\\x83\\xdb\\x38\\x78\\x2b\\x07\\xaf\\xe5\\xe0\\x52\\x0e\\x9e\\xc7\\xc1\\x04\\x07\\x9d\\x1c\\x64\\x38\\xb4\\x4f\\x90\\x2b\\xd6\\x73\\x68\\xab\\xe0\\x60\\x07\\x07\\xb3\\x1c\\x14\\x38\\xb8\\x87\\x83\\x3b\\x39\\xb8\\x85\\xbc\\xb5\\x71\\x10\\x70\\xf0\\x28\\x79\\x8b\\xae\\x2b\\xbc\\xec\\x94\\x43\\xd7\\xd3\\xd0\\xe4\\x83\\xfc\\x51\\xab\\xb2\\xa2\\xf2\\xb5\\x15\\x72\\x23\\x64\\x6f\\xc8\\x95\\x9e\\xd7\\x3a\\x77\\x6d\\x81\\x63\\xf6\\xec\\xc1\\xdb\\xc9\\x2e\\x4a\\x33\\x87\\x3a\\xec\\xa9\\xec\\x11\\x16\\x4d\\x5f\\xd4\\xf3\\x21\\x5e\\x23\\xf0\\xaf\\x73\\x0b\\xe3\\x44\\xfe\\xa6\\xc6\\x89\\x80\\xe5\\xf0\\x17\\x45\\x5f\\xe3\\x38\\x91\\xe5\\xbc\\xdb\\xca\\xe6\\x30\\xb9\\xec\\x8b\\x5f\\x2f\\xfb\\xe2\\x6d\\xf8\\x5a\\x98\\xd3\\x3f\\x9b\\xc8\\x5c\\xaa\\x55\\xf4\\x4f\\x95\\xaa\\x5b\\xbe\\xe9\\x76\\x3b\\x4d\\xb4\\x82\\xff\\xab\\xd1\\xde\\xf4\\x05\\xb1\\xd7\\x5a\\x94\\x35\\xd3\\x96\\xd7\\x41\\x91\\xa0\\x4b\\x57\\x60\\x27\\x6c\\x22\\x7b\\x48\\xad\\x62\\xaf\\xad\\x93\\x31\\x86\\x8f\\x60\\x8c\\xe3\\xdd\\x7e\\x8f\\xb5\\xd0\\x5e\\x93\\xfb\\x75\\xb3\\xda\\x2f\\x64\\xaf\\x75\\x91\\xcf\\x29\\x34\\x4f\\x9f\\x40\\x73\\x39\\x85\\x3e\\x3f\\x80\\x5b\\xd2\\xfe\\xbd\\x77\\x3c\\x6a\\x7d\\xd0\\x33\\xa0\\xba\\x77\\x4f\\x37\\x5e\\x54\\x51\\xb4\\x3c\\x76\\xe9\\x8d\\x4d\\x51\\x00\\x48\\xb0\\x34\\xda\\x21\\x81\\x80\\xac\\x0b\\x20\\x38\\x5d\\x4d\\xf8\\xa3\\x27\\xf5\\xfa\\x26\\x60\\x27\\xc6\\x83\\x9d\\xac\\x3d\\x5c\\x9f\\x1f\\xed\\xc7\\x90\\x3d\\x03\\x94\\x80\\x29\\x42\\x2d\\x6a\\x35\\x64\\x2a\\x29\\xf1\\x98\\x3c\\xa9\\xd2\\x40\\xa2\\x43\\x0c\\x07\\x38\\x0d\\xed\\xa4\\x11\\xf6\\xc4\\xd4\\xd2\\x06\\xc6\\xee\\x64\\x6c\\x66\\xb4\\x02\\x68\\x4c\\x2c\\xdd\\x2e\\x1a\\x1c\\x45\\x64\\xd2\\x4a\\x80\\x5d\\x21\\x15\\xb6\\x4a\\x2a\\xad\\xd4\\x36\\xcb\\x93\\x4a\\xf7\\x4f\\xc8\\x74\\x6e\\xe4\\xec\\x4f\\x3d\\x22\\x66\\x46\\x2c\\x5f\\x75\\xce\\x07\\x17\\x77\\xf5\\x7c\\xd3\\xd5\\x05\\xe7\\x53\\xcb\\xa0\\x79\\xce\\xde\\x3f\\xb5\\x3e\\x38\\xe7\\xaa\\xe6\\x11\\x21\\x6e\\x4c\\xf9\\x3a\\x7a\\xf7\\x9a\\x1b\\x87\\x0c\\x3c\\xf1\\xb3\\x7a\\x92\\xbe\\x76\\x44\\xdb\\xd3\\xef\\xf4\\xfc\\x78\\xfd\\x6b\\xcb\\x42\\xc7\\xd6\\xb8\\x7d\\x2f\\x10\\x3e\\x7c\\xf4\\x5c\\x86\\xd3\\x2f\\x23\\x7b\\x68\\x8e\\x30\\x38\\xc8\\x71\\x1a\\x8f\\xd9\\x0c\\x3c\\x20\\x91\\x5c\\x94\\xdc\\x99\\x7c\\x27\\x49\\x5b\\x93\\xd5\\xc9\\xe6\\x24\\xad\\xa7\\x1d\\xc1\\x60\\x24\\x62\\x6b\\x15\\x23\\x36\\xbf\\x17\\xe3\\x6c\\x0f\\xc7\\x73\\x59\\x91\\xe7\\xf1\\xf6\\xac\\xa5\\xfd\\xea\\x96\\x57\\xec\\x56\\x25\\xa4\\x52\\x2a\\xa2\\x56\\x84\\xeb\\xb3\\x01\\x16\\xd7\\x8e\\x51\\x48\\xce\\xe9\\xe1\\xf9\\x9d\\xf0\\xe6\\xec\\x52\\x85\\xbd\\x5e\\x3f\\xfc\\xfe\\x81\\x17\\x2d\\xce\\x6d\\x86\\xd4\\xaf\\x4f\\x14\\xf0\\xd7\\x8f\\x2b\\x1f\\xbc\\x6e\\x75\\x61\\xfc\\x50\\x4d\\x2e\\x7e\\x48\\xf6\\x97\\xa2\\x79\\x8d\\xe3\\x81\\x28\\xe0\\xf6\\x9a\\xec\\x45\\xbe\\xb8\\x27\\x08\\xee\\x6d\\x55\\x70\\xf2\\x23\\xb2\\xbd\\x8f\\x2e\\x2b\\xf0\\xc5\\xa1\\xf6\\x5e\\xce\\xb5\\xb7\\x99\\xc4\\x2f\\x39\\x94\\xf8\\x25\\xe0\\x8b\\xf5\\x6d\\x8f\\x60\\xde\\x56\\x05\\x23\\x77\\x29\\xed\\xf9\\x62\\xc5\\xed\\xe5\\xe2\\xa7\\xa8\\x7b\\xe1\\x21\\xd4\\x9e\\xa1\\x9b\\xc6\\x0e\\x38\\x1c\\x7a\\xd2\\xf7\\xac\\x0a\\xcd\\xeb\\x7b\\xc1\\x31\\x62\\xbf\\xb6\\xf5\\x1e\\xd7\\xec\\x66\\x47\\x81\\x10\\xd2\\xd6\\x6b\\x85\\x6c\\x8a\\xb1\\x61\\x33\\xcb\\xc0\\x45\\x19\\xb6\\x3c\\xed\\x70\\xdb\\xdc\\x1d\\x22\\xdf\\x6e\\x5b\\x68\\xa3\\x2a\\x6d\\x90\\x46\\x7b\\xb7\\x8d\\xd2\\xb3\\x36\\x9b\\x0e\\x68\\x13\\xed\\xa2\\x56\\xab\\xd3\\x59\\x3b\\x44\\x04\\x59\\xf5\\xb4\\xd1\\xa8\\xa3\\x61\\xb8\\x5d\\x44\\xcb\\x38\\x10\\x00\\xc0\\x83\\x3e\\x76\\x08\\xe9\\x9c\\x62\\xae\\xb6\\xcb\\x81\\x0c\\x19\\x35\\x0c\\x34\\x47\\x63\\x49\\xd8\\x6b\\xa7\\x65\\xfa\\xd4\\x21\\xac\\xad\\x89\\xb2\\x72\\x74\\x1b\\x7b\\xfa\\x70\\xcf\\x24\\x71\\x88\\xc5\\x28\\xbb\\xcd\\x41\\xff\\x2a\\xfd\\x4b\\x7a\\x4e\\xda\\x0d\\x47\\xc1\\xb3\\xa0\\x9d\\xba\\xe8\\xb4\\x61\\x9f\\x8d\\xe3\\x85\\xba\\xa9\\xdf\\x7c\\xf8\\xa1\\x06\\x4e\\x84\\x2d\\x70\\x02\\x6c\\xd1\\xf6\\x0d\\xfb\\x1c\\x6b\\x60\\x6e\\x33\\xa2\\x96\\xf6\\x4a\\x7b\\xa4\\xef\\xc8\\xd9\\x19\\x1a\\x33\\x76\\x05\\xa9\\xed\\x50\\x06\\x6a\\xc0\\x65\\xc2\\xa8\\x88\\xc3\\xec\\x2e\\x41\\x78\\xa0\\xa4\\xc4\\x51\\x55\\xa5\\xf5\\x3b\\xfc\\xb5\\x75\\x55\\xb8\\x04\\x63\\x55\\xb8\\x8a\\x32\\xd1\\x55\\x55\\x5e\\xa3\\xb7\\x1c\\x21\\x19\\x9b\\x3b\\xc8\\x07\\xd1\\x5c\\xb6\\x99\\xe3\\xd6\\x38\\x3e\\x1e\\x35\\x32\\x2d\\xa2\\xd1\\xf5\\x62\\x1d\\x5c\\x54\\x07\\xf3\\x75\\xe0\\x72\\xfb\\xd5\\xef\\x1d\\xd6\\xab\\x09\\xfc\\xa4\\x36\\x9c\\xab\\xe8\\xac\\x5e\\x39\\x2c\\xcd\\x95\\x88\\x23\\xbf\\x1e\\x0a\\xab\\x60\\x54\\x3e\\x9f\\xa7\\x3b\\x56\\x77\\x66\\xd6\\xa4\\xab\\xb7\\x8c\\xff\\x78\\xc6\\xac\\xb7\\xf7\\xfe\\xe5\\xa5\\xbf\\xfe\\x75\\x56\\xfb\\x3e\\x38\\xf9\\x64\\xeb\\x45\\x33\\x66\\x2e\\xb8\\x78\\x1e\\x3b\\x0f\\x7e\\xd7\\x71\\x3e\\x5c\\x38\\x01\\x1e\\x72\\xfc\\xf5\\x11\\x72\\x28\\xbf\\x72\\x65\\xcf\\x4f\\xdf\\x9f\\x5c\\xbd\\x9a\\x94\\x90\\x7b\\xee\\xb3\\xcf\\xf7\\xfc\\xf5\\x23\\xff\\xfe\\x9d\\x3b\\xb6\\xed\\xbc\\x4b\\xd5\\xa3\\x13\\xc8\\x1c\\xab\\x57\\x74\\xfb\\xe5\\xb2\\x6f\\x3f\\x91\\xf7\\x99\\xe3\\xfd\\x7e\\x3b\\x99\\x63\\x13\\xe5\\x73\\xeb\\x8b\\x09\\x72\\x1c\\xe1\\xf2\\x98\\x41\\x32\\x8f\\x75\\xd8\\x09\\x44\\xbf\\xd7\\x2b\\xfa\\xbd\\x44\\x9e\\xcf\\x30\\x16\\xd6\\x39\\xe4\\xf9\\x8c\\x71\\xce\\x26\\xa2\\xdb\\x27\\xca\\x38\\xe7\\x6c\\x45\\xb3\\xdf\\xd4\\xed\\xe1\\x0d\\xa0\\x10\\xe7\\xa0\\x3e\\x7d\\xa6\\xb6\\x85\\x74\\x7b\\x5c\\xf6\\x3b\\x27\\x88\\xdf\\xf9\\x40\\x77\\x2a\\xa6\\x2d\\xf4\\x3b\\x13\\x9b\\x98\\xe8\\x76\\xd2\\x2e\\xd5\\xa9\\xee\\x18\\xcf\\x76\\x07\\xd5\\x2e\\xe2\\xeb\\x3a\\xd1\\x5a\\x39\\x46\\x64\\xed\\xaf\\xc8\\x3a\\x56\\xd9\\xc7\\x32\\x68\\xd3\\x58\\x5a\\x55\\x6b\\x4f\\xe5\\xd6\\x27\\xe1\\xdb\\x27\\x32\\x9f\\xa3\\xe0\\xc2\\x9b\\x65\\xbc\\x3c\\xbb\\xbc\\xc2\\xa9\\xac\\x4f\\xb9\\xbd\\xcf\\xd4\\xf6\\x90\\x1d\\xf3\\x95\\xbc\\x07\\x65\\xc8\\x1e\\x74\\xa2\\xbb\\xaa\\x4e\\x6d\\x51\\xf5\\x8f\\xa3\\x36\\x6f\\x56\\xda\\xd4\\x50\\xab\\x07\\xe4\\x70\\x5e\\x59\\xa5\\xb3\\xa0\\x9f\\x48\\xd7\\x1e\\x23\\x76\\x6c\\x7f\\x25\\x36\\xe2\\x13\\x55\\xa2\\x23\\xdd\\x99\\x2a\\x90\\x52\\xcf\\x3b\\xd0\\x78\\x1e\\x24\\xe3\\x49\\xda\\x03\\x7f\\x0c\\x29\\x57\\x1d\\xea\\xae\\x2a\\xd3\\xf6\\x95\\x3b\\xdf\\xcf\\x4e\\x08\\x95\\xd8\\x34\\xdc\\x51\\x4f\\x3d\\x96\\xbb\\x4f\\x5c\\x25\\xf5\\xf7\\x82\\x7e\\x76\\x8e\\x25\\xa8\\xd5\\x54\\x83\\x25\\x97\\xe3\\x14\\x40\\x12\\x61\\xdb\\xbd\\x04\\x8b\\x36\\x28\\x31\\xd4\\x26\\xb4\\x4d\\x1c\\x15\\x8c\\x69\\xe1\\xca\\x2b\\x9b\\xd2\\xc2\\x65\\x97\\x35\\xa5\\xf1\\x6e\\x19\\xfc\\xc3\\x1f\\xd0\\xbb\\xe5\\xcb\\xd1\\xcb\\x92\\x25\\xe8\\x65\\xf1\\x62\\xf4\\xb2\\x68\\x11\\x7a\\xb9\\xe8\\x22\\xf9\\x0a\\xfd\\x82\\x05\\xe8\\xdd\\xfc\\xf9\\xca\\xbb\\x79\\xf3\\xd0\\xbb\\x39\\x73\\x94\\x77\\xe7\\x9f\\x8f\\xde\\xcd\\x9a\\x25\\xbf\\xe3\\x66\\xce\\x44\\xef\\xda\\xdb\\xd1\\xcb\\xd4\\xa9\\xe8\\xe5\\xdc\\x73\\x95\\xab\\xa6\\x4c\\x41\\xef\\x26\\x4d\\x92\\xdf\\x79\\xce\\x39\\x07\\xbd\\x6b\\x6b\\x43\\x2f\\x13\\x26\\xa0\\x97\\x96\\x16\\xf4\\x92\\xcd\\x92\\x5f\\x3e\\xd9\\xdc\\xac\\x7c\\x65\\xfc\\x78\\xf4\\xe9\\xb8\\x71\\xca\\xbb\\xb3\\xce\\x42\\xef\\x9a\\x9a\\xe4\\x6b\\xc6\\x8c\\x51\\x3e\\x1d\\x39\\x12\\x7d\\x2a\\x08\\xf2\\xa7\\xc3\\x86\\x29\\x9f\\x0e\\x1e\\x8c\\x3e\\x1d\\x30\\x40\\x79\\xd7\\xd0\\x80\\xde\\xd5\\xd7\\x2b\\x1d\\xec\\xd7\\x0f\\xbd\\xab\\xad\\x45\\x2f\\x55\\x55\\xe8\\xa5\\xb2\\x52\\xfe\\x6e\\x45\\x85\\xfc\\xb3\\xb4\\x54\\xfe\\x99\\x4a\\x29\\xdf\\x4e\\x24\\xd0\\x55\\xd1\\xa8\\xf2\\x2e\\x12\\x41\\xef\\x42\\x21\\xf9\\x9a\\x40\\x40\\xfe\\xe9\\xf7\\xcb\\x3f\\x11\\xea\\x90\\xaf\\x42\\xc8\\x23\\x2d\\xb8\\x5c\\xca\\x3b\\x04\\xe3\\xd3\\x02\\xb2\\xd1\\xd3\\x8a\\x8b\\x53\\xee\\x07\\x3e\\x00\\x41\\x96\\x39\\x7a\\x41\\xa6\\x7f\\x5a\\x30\\x18\\xe4\\xcf\\xad\\x08\\xa8\\xc0\\x84\\x60\\xe7\\x9a\\x12\\x82\\xc1\\xd8\\x94\\x40\\x98\\xe5\\xf7\\xf2\\xad\\xfe\\x0f\\xff\\x53\\xce\\xf4\\xc6\\xe1\\x5a\\x0e\\x68\\x2e\\x4c\\x92\\xe7\\x21\\x03\\x40\\x70\\x57\\xa5\\x50\\x57\\xd7\\x54\\x49\\x3c\\xad\\x4e\\x67\\x53\\x25\\xee\\x4e\\x25\\xe9\\x4e\\xce\\x0f\\x90\\x44\\xd8\\x6b\\x2f\\x99\\x97\\x0d\\xca\\xbc\\xf4\\xcb\\xe7\\x75\\xbe\\xbc\\xee\\xc1\\xf1\\x7c\\x67\\xb0\\x0f\\x2a\\x6d\\x63\\x1b\\xe6\\x2b\\x30\\x0f\\xaf\\xc3\\xcf\\x7d\\x3e\\x03\\x71\\xdb\\x42\\xb9\\x1d\\x64\\x6b\\x04\\x60\\x99\\xf0\\xbe\\xcb\\xe7\\xd3\\x50\\x26\\x2b\\x45\\x07\\x43\\xd6\\x50\\x63\\x88\\xfa\\x1c\\x47\\x43\\xb6\\x87\\x56\\x84\\x6e\\x0a\\xbd\\x18\\x62\\x23\\x24\\x86\\x71\\xfe\\x51\\x12\\xee\\xb8\\x85\\x44\\x36\\x2e\\xc2\\x1f\\x85\\x43\\xcd\\x21\\x5a\\xfe\\x74\\x27\\x8e\\x80\\x5c\\x88\\x2e\\xbf\\x37\\xc4\\xd4\\x84\\x84\\x10\\x15\\x26\\x05\\x41\\x3f\\xc3\\xdc\\xdd\\x3b\\x43\\x54\\x3b\\x7e\\x57\\x13\\xa2\\x06\\xf7\\x12\\xf6\\x6f\\xf9\\x0b\\xcd\\xe8\\x0e\\x37\\x85\\xe8\\x1a\\xfc\\xe6\\xf3\\xd0\\xd1\\x10\\x2d\\xb7\\x4b\\xae\\x8d\\xa0\\xab\\x71\\xd3\\x9f\\x91\\xe2\\x3e\\xf7\\xe2\\x5f\\x5c\\x85\\x1b\\xad\\x46\\xbd\\xa3\\x51\\xc3\\xb4\\xcd\\x04\\x4c\\x50\\xcf\\x98\\xcc\\xbc\\xce\\xac\\xeb\\x10\\xbd\\xc4\\x39\\xec\\x62\\x59\\xca\\x4c\\xfb\\x88\\xc7\\x17\\x38\\xf2\\x91\\x94\\xd5\\x99\\x3c\\x35\\x0c\\xa9\\x31\\x02\\x8b\\x4a\\x2e\\xfd\\x5e\\xc2\\xaa\\xfc\\x89\\xcc\\x9d\\x27\\x6f\\xc3\\xd8\\xb5\\x8b\\x53\\x2e\\xe4\\xd2\\xea\\x76\\xcc\\x93\\x87\\x37\\x63\\x9e\\xf8\\x7b\\x07\\xbf\\x2f\\xbd\\x08\\x87\\x67\\x7a\\xa6\\xf9\\x47\\x32\\x77\\x8d\\xf2\\x87\\x5e\\xbf\\xb4\\x16\\x8e\\x92\\x9e\\x7f\\x5f\\x0e\\x28\\x8f\\x38\\x0f\\xc0\\xc1\\xd2\\xcb\\x07\\xb4\\xc6\\x9e\\x2f\\x5b\\x7b\\x0e\\xfb\\xeb\\x0b\\xea\\x79\\x84\\xc0\\xc5\\xc2\\x70\\x87\\xc5\\xe5\\x32\\x6a\\x69\\xda\\x1f\\x8e\\xac\\x88\\xc0\\xf5\\x11\\x88\\xc9\\xc8\\x28\\x23\\x6d\\xd7\\x5b\\xf4\\x68\\xff\\x64\\x35\\x6c\\x56\\x74\\x2c\\xd4\\x40\\xa0\\x81\\x16\\x5a\\x63\\x16\\xf4\\x96\\x26\\xb3\\x60\\xb4\\x58\\xfd\\x5e\\xe0\\x6d\\x11\\x03\\xc0\\x95\\xe7\\xe6\\xf6\\xbd\\x95\\x26\\xa4\\x28\\x39\\x2e\\x4b\\x82\\x14\\x55\\x5f\\xb6\\xe2\\x2a\\x91\\x2b\\x7f\\x64\\x0a\\xaa\\x7f\\xf4\\xad\\x00\\x72\\xe9\\xa5\\x72\\x0d\\x90\\xb7\\xdf\\xce\\x55\\x01\\x81\\x15\\x6d\\x90\\x23\\x85\\x40\\xa4\\x7f\\xb7\\x49\\xff\\x50\\x6b\\x81\\xe4\\xe2\\x7f\\x9f\\xc8\\xc5\\x0b\\xdf\\x93\\x3b\\xf3\\xc5\\xf1\\xc2\\x89\\x78\\x95\\x85\\xce\\xed\\x13\\x72\\x0c\\xc6\\x79\\xb9\\x58\\x8d\\x7b\\xd4\\x33\\x5f\\x26\\x5a\\xe1\\x34\\xc8\\xfb\\x84\\xdc\\x5e\\x4d\\xae\\xbd\\x35\\xb0\\xab\\xe0\\x2c\\x2d\\xe8\\xf5\\xf7\\x6d\\x8f\\xe0\\xcc\\xc9\\x45\\x38\\x13\\x32\\x6e\\x6f\\x71\\x7b\\x2f\\xe7\\xda\\xdb\\x0c\\x9f\\x2d\\xe8\\x5f\\x79\\x20\\x71\\x4a\\xff\\x2e\\xc9\\xb5\\xa7\\xe2\\x4c\\xc8\\xf8\\x62\\x45\\xed\\x69\\xbd\\xb9\\xf6\\xee\\x82\\x2f\\xa0\\xf6\\x22\\x4f\\x29\\xe1\\xce\\x72\\xfe\\xa6\\xc5\\xd6\\xbf\\x2a\\xec\\x35\\xe3\\xa8\\x80\\x5c\\xe0\\x73\\xae\\xfd\\x37\\x72\\xed\\xdf\\x45\\xda\\x37\\xa1\\xef\\x82\\xa0\\x9b\\xc3\\xd6\\x5a\\xfd\\xe9\\x62\\xbc\\xa9\\x7b\\x29\\x06\\xdd\\xc3\\x2b\\x58\\x28\\x7c\\xf0\\x44\\xc1\\xac\\x0f\\xda\\x7c\\xd0\\x67\\xc7\\xce\\x42\\x35\\xf7\\xac\\x4f\\xbc\\x0c\\xc2\\xb6\\xff\\x52\\xda\\x36\\x79\\x22\\x85\\x6d\\x4b\\x73\\xd9\\xbb\\x08\\xf6\\x18\\xa0\\x9c\\x05\\x56\\xf5\\x9e\\x20\\x3b\\xa1\\x74\\x4d\\x77\\x24\\xa2\\xd1\\x28\\xfb\\xa5\\x5f\\x5a\\xc0\\x40\\xba\\x2b\\xd7\\xde\\xdd\\xf0\\xbf\\xf2\\x58\\x80\\x60\\x10\\xbb\\x77\\xf0\\x58\\x50\\xbd\\x5f\\x68\\x3b\\x89\\x4e\\x1a\\x24\\xef\\xe9\\xd4\\xad\\x05\\xbe\\xc9\\x04\\xef\\xd5\\x38\\x72\\x63\\x4b\\x6a\\x74\\x90\\x7d\\x72\\x8a\\x72\\x56\\xa5\\x8c\\x6d\\x4c\\xb9\\x2c\\x17\\x17\\xfe\\x99\\x1a\\x17\\x5e\\x70\\x9e\\x85\\xdb\\xb3\\xf0\\x5e\\x7d\\xbe\\x3d\\x39\\xce\\xe3\\x66\\x35\\xce\\x03\\xe1\\x89\\xbd\\x72\\x7b\\x96\\x60\\xd4\\xec\\x2a\\x6c\\xef\\xb2\\x5c\\x9c\\xf9\\x3c\\xb8\\x59\\x8d\\x4d\\xf7\\xe0\\x71\\xf4\\xa6\\x78\\x39\\xd2\\xbc\\x20\\x36\\x7d\\x26\\xd2\\x8f\\xb2\\x1d\\x31\\x54\\xc1\\x3d\\xb3\\x95\\x3e\\xa0\\xaf\\xc0\\xd9\\x4e\\x97\\x56\\x97\\xeb\\x03\\xe1\\xeb\\x27\\x63\\x3e\\x4d\\xc1\\x3d\\xdd\\x72\\x1f\\x32\\xbc\\x5b\\xaf\\xcc\\x17\\xb9\\xbd\\xcd\\x6a\\x7b\\xd4\\x9d\\xb9\\xb3\\x61\\x17\\x6a\\xcf\\xe4\\xe5\\x4e\\x69\\x6f\\x9c\\xd2\\x9e\\x86\\xba\\xf3\\x0f\\x72\\xb4\\xc1\\x4e\\x1f\\xf4\\xfa\\x9c\\xb8\\xc5\\x69\\xf5\\xf9\\x3e\\x7e\\x96\\x6b\\xb3\\x13\\x46\\x15\\x8c\\x82\\xfb\\x68\\xf2\\xb9\\x80\\xad\\x08\\xa3\\xc8\\xed\\xde\\x9c\\x6b\\xb7\\x73\\x09\\xc1\\x28\\xb4\\xdf\\x0d\\xe4\\x40\\x7b\\xa4\\x93\\x6a\\x11\\x2e\\xbc\\x8e\\xbd\\x0f\\x70\\xa0\\xbf\\x10\\xc4\\xa4\\x15\\xac\\x93\\xb7\\xf2\\x61\\x1e\\x69\\x22\\xcc\\x51\\x6d\\xd2\\x43\\x4c\\x73\\x90\\x15\\x29\\x3e\\x5f\\x77\\x1b\\xca\\x07\\x3e\\x4a\\x85\\x0d\\xe5\\x14\\xa7\\xb0\\x06\\x12\\x9c\\x79\\xbf\\x54\\xb1\\xe6\\x81\\xdb\\xc6\\x8d\\x94\\x4b\\x04\\x8f\\xc7\\xc5\\x80\\xe9\\x6d\\x6a\\x79\\x60\\x74\\xcb\\xde\\x13\\x68\\xde\\x3e\\x43\\x6a\\x4e\\x26\\xc1\\x24\\xa1\\xd2\\xc0\\x44\\xa3\\x5e\\xde\\x67\\xe5\\xad\\x25\\x29\\x07\\xb2\\x1b\\x1c\\x2e\\xad\\xdb\\xe3\\xce\\x8a\\x8c\\xc7\\x63\\xa2\\x22\\xb8\\x64\\x56\\xb0\\x45\\x34\\xd9\\x28\\xd0\\x2c\\x52\\xa0\\xb0\\x94\\xb9\\x72\\xf0\\x54\\xc4\\x93\\xa2\\xba\\x87\\x71\\xa5\\x2f\\x5e\\x3e\\x71\\x2a\\x28\\x67\\x8e\\xb5\\x60\\x61\\xc1\\xf3\\xf5\\x9d\\xb0\\x1a\\xa6\\xa5\\xf7\\xf3\\x65\\xcd\\x6f\\xbb\\x8d\\x5a\\x96\\x2b\\x79\\xce\\x36\\xe1\\x50\\x02\\x7f\\xbe\\xb4\\x39\\x93\\x6a\\xeb\\x19\\xa5\\xd6\\x3d\\x27\\xb6\\x52\\xb2\\xf7\\x38\\xbb\\x8d\\xe4\\x29\\x38\\x40\\x25\\x98\\x21\\xd4\\xa5\\x4b\\x59\\x8b\\x25\\x0a\\x4a\\xf5\\xa5\\x3e\\xce\\xc7\\x55\\x55\\x33\\x81\\x44\\xa0\\x43\\x4c\\xb3\\x66\\xd6\\xdc\\x21\\x5a\\x59\\x68\\xa4\\x59\\x64\\xdb\\x79\\x12\\xb4\\xc5\\xe7\\xf1\\xb5\\x8b\\x6e\\x8f\\x43\\xa5\\x94\\xca\\xe7\\x01\\x14\\x14\\xa8\\x97\\x69\\x8a\\xec\\x38\\x6e\\x2f\\x43\\x72\\x9f\\xd4\\x7c\\x00\\x8e\\xfc\\x83\\x58\\x47\\x4e\\x26\\x9a\\x24\\x47\\x68\\xa4\\x2a\\x03\\xd7\\x3f\\x13\\x8d\\x10\\xca\\xa2\\x10\\x64\\x16\\x6d\\x7e\\x74\\xff\\xe1\\xfb\\xee\\x38\\xff\\xf9\\xfd\\x47\\x6f\\xb8\\xeb\\x91\\x87\\xf7\\x4b\\xff\\xed\\x05\\x52\\x5b\\x2f\\xe8\\xea\\xdf\\x3c\\xd3\\x53\\x37\\x52\\xdb\\xbe\\x87\\xd2\\x82\\xde\\x23\\x37\\xaf\\xdc\\xf5\\x0a\\xfd\\xeb\\x65\\x8b\\x24\\xf6\\x2a\\xc9\\xb5\\x6e\\x65\\xcf\\x9b\\x9a\\x9b\\xef\\xde\\xfb\\xaa\\xa6\\xde\\xcf\\x6c\\xa8\\x1c\\xfc\\x07\\x68\\xa8\\xbd\\x7d\\xdb\\xf2\\xed\\x01\\xee\\xd1\\xdc\\xd9\\x2f\\xc9\\xcd\\xe0\\xd1\\x6e\\xd6\\x2a\\x54\\x58\\x68\\x3d\\xef\\xf7\\xeb\\x5d\\xb4\\x9e\\x0e\\x47\\xac\\x11\\x24\\x21\\xef\\x43\\xd6\\x33\\xaf\\x35\\x39\\x0d\\x72\\x12\\xaa\\xd6\\xdf\\x21\\xca\\x69\\xa8\\xe8\\xf1\\xe5\\x63\\xc5\\xf0\\x89\\xac\\x32\\x9f\\xd4\\xd2\\x2d\\x44\\x44\\x39\\x1b\\x59\\xf1\\x64\\x70\\xca\\xce\\x9b\\x13\\x9c\\x6a\\xfc\\xf7\\x7f\\x8f\\xff\\x24\\x69\\xba\\xee\\xa5\\xaf\\x33\\x0f\\x1f\\x58\\xb6\\x6d\\xfc\\xdd\\xf0\\x89\\xad\\x0f\\xcd\\x9d\\xb9\\xeb\\x4e\\xea\\x9f\\x7f\\x7e\\xfa\\x99\\xe7\\xea\\x7d\\xcc\\x3d\\xfe\\x7a\\xe9\\x8d\\x37\\x74\\x26\\x89\\x92\\xae\\xb9\\xb3\\xb3\\xe7\\x8d\\x2b\\x49\\xbf\\x3b\\x89\\x2f\\x60\\x28\\x30\\x82\\x18\\x38\\x5b\\x48\\xf1\\x0e\\x93\\x5f\\x8b\\xba\\x64\\x72\\x98\\xe2\\x09\\xad\\xc3\\x61\\xd5\\x84\\x42\\x11\\xce\\x9f\\x15\\x39\\x3a\\x42\\xb7\\x88\\x11\\x9b\\x55\\x8f\\x8d\\xd8\\x82\\xc4\\x34\\x79\\xd6\\x65\\xec\\x85\\x39\\x1a\\x76\\xe5\\xa9\\xe4\\xe6\\x54\\x83\\x32\\xd5\\xd4\\x9e\\x2b\\x33\\xb0\\xa0\\x92\\x7e\\x37\\x99\\x69\\xd4\\x01\\xb9\\xf7\\xf7\\x93\\xc9\\x97\\x2f\\xa7\\xff\\x01\\x99\\x69\\xac\\x49\\xea\\xb9\\x43\\x67\\x7a\\x18\\xcf\\x3d\\xdc\\xf7\\x04\\x1a\\xf3\\x36\\xc2\\xcb\\xe3\\x01\\x03\\x85\\x90\\x89\\xe7\\x75\\x1a\\x1b\\xd0\\x00\\xaf\\xcf\\xe4\\xec\\x10\\x4d\\x26\\xc6\\x40\\x33\\x7c\\x87\\xc8\\x68\\xda\\x45\\x46\\x1d\\x65\\x4c\\x76\\xdd\\x27\\x22\\x2f\\x37\\xae\\x49\\x3c\\xa7\\x30\\xe7\\x86\\x3c\\xa8\\x4c\\xdb\\x89\\x9f\\x7a\\xde\\xeb\\x7a\\x09\\x8e\\x6e\\x7c\\xfd\\xbb\\x5f\\xff\\xba\\xf5\\xa1\\xcd\\xb7\\xee\\xba\\x13\\x2e\\xdc\\xfd\\x4c\\xbd\\x8f\\x6e\\xdb\\xde\\xb8\\xab\\xa7\\x6b\\xcf\\x0b\\xca\\x40\\x52\\xb8\\x4e\\x16\\x1a\\xc7\\x75\\x68\\x1c\\x43\\x60\\x84\\x10\\xb5\\x6b\\xb5\\xe6\\x10\\xf0\\x84\\x3c\\xe1\\x88\\x36\\x14\\x42\\x33\\x21\\x2b\\xfa\\x5d\\x1a\\x8e\\xe3\\x79\\x34\\x8a\\xbc\\xcd\\x8a\\xd6\\x6c\\x9f\\x3a\\x97\\xa7\\x09\\x13\\xd4\\xe4\\xe2\\x04\\x1b\\x32\\xf6\\xa2\\x35\\x5b\\x30\\x70\\x3d\\x6b\\x3a\\x7b\\xea\\xf2\\x6b\\x35\\x3f\\x66\\xd4\\x3b\\x8f\\xd5\\xee\\x93\\x76\\xe6\\x17\\x2a\\xf1\\x31\\x5e\\x8c\\xf6\\x1f\\x8a\\x1d\\x07\\xfc\\xa0\\x4a\\x70\\xeb\\xbd\\x76\\xda\\x4b\\x07\\x82\\x1a\\x4b\\xbb\\xa8\\xd7\\x70\\x5e\\x00\\x9c\\x08\\x39\\x32\\x79\\xcd\\x56\\x48\\x4b\\x22\\xbb\\x60\\x62\\x29\\x9a\\x78\\x08\\x23\\x0e\\xbb\\x8d\\x52\\x17\\x17\\x95\\x85\\x63\\xe0\\x85\\xd2\\x7d\\xd2\\x8e\\x03\\x47\\x35\\x23\\x42\\x63\\x9e\\xe9\\x80\\xf0\\xc8\\x2f\\x47\\x16\\xbf\\x3e\\x38\\x39\\x5c\\xf3\\x29\\x3b\\x4e\\xba\\x5b\\xda\\x23\\x6d\\x97\\xee\\xce\\xc0\\xe4\\x63\\xe9\\x6a\\x88\\x13\\x08\\x12\\xb0\\x5f\\x43\\xd5\\x5f\\xe1\\xe0\\x46\\xb9\\x4e\\x9d\\x66\\x88\\x66\\x1e\\x28\\x03\\x43\\x85\\xb0\\xde\\x1d\\x83\\x76\\xb7\\xbd\\x3c\\x1d\\x4e\\x75\\x88\\xe1\\x38\\x42\\xe6\\xed\\x22\\xf4\\x31\\x76\\xa7\\xd3\\xd4\\x2e\\x3a\\xb9\\x7c\\xdf\\x80\\xc7\\xb6\\x6f\\x5f\\x01\\x15\\x14\\x66\\x99\\x21\\xcc\\xcd\\x11\\xec\\x08\\xca\\xc8\\x35\\x58\\x34\\x71\\xb9\\xdb\\x75\\xc4\\xf9\\xa7\\x52\\x3b\\xf3\\xcc\\x5b\\x0c\\xe9\\xa6\\xd4\\x9b\\xeb\\xe6\\x27\\x3d\\xd2\\xb3\\xd2\\xad\\x70\\x3a\\x9c\\xfc\\xf8\\x63\\xec\\x0d\\xcb\\x14\\x3f\\xe7\\x5a\\xe6\\xab\\x1f\\x50\\x97\\xa5\\x77\\xa5\\x97\\xa4\\x4f\\xa4\\x37\\x51\\x97\\xa5\\x97\\x1b\\xe1\\x2c\\x28\\xc0\\x29\\x70\\x56\\x64\\xd3\\x76\\xc5\\xd9\\x09\\xb1\\x7f\\x88\\x99\\xc2\\xec\\x05\\x71\\x20\\x08\\x11\\x8d\\x3d\\x00\\x8c\\x76\\x63\\x22\\xe9\\xb2\\x7a\\x23\\x59\\xd1\\x1b\\x74\\x3a\\x99\\xac\\x88\\x46\\x17\\x2d\\x9f\\x96\\xdc\\xf2\\x21\\x5e\\x30\\x2c\\x03\\xfa\\x77\\x91\\x18\\x78\\xd7\\x88\\xe4\\xa0\\x28\\xa1\\x24\\xc8\\xe4\\x05\\x20\\x3b\\x0a\\xdd\\xd0\\x90\\x9e\\xb0\\x54\\x3a\\x76\\xff\\x23\\xb7\\x5c\\x58\\xdb\\x35\\x45\\x6a\\xf8\\xe7\\xa1\\x99\\x73\\xec\\x4b\\x2e\\x52\\x77\\x18\\x6a\\xcb\\xf6\\x6a\\x69\\xee\\x7b\\xbb\\xa2\\x43\\x12\\x65\\xf0\\xc7\\x7f\\xf5\\x58\\x3b\\xaf\\x51\\xf6\\x9a\\x7c\\xfc\\x9b\\x43\\x8e\\x7f\\x23\\xb9\\xb2\\x9a\\x06\\xb4\\x8e\\xf4\\x64\\xee\\xc6\\x6c\\x6c\\x08\\xb8\\x43\\x6e\\x3c\\x73\\x03\\xa1\\x76\\xd1\\xcf\\x76\\x88\\xfe\\x80\\xcd\\xc6\\x05\\x1c\\x8c\\x91\\x33\\x76\\x20\\x55\\x50\\x60\\x5a\\xf4\\x65\\xff\\x25\\x35\\x32\\x71\\xc2\\x29\\x4e\\xfa\\x83\\x05\\xda\\x37\\x97\\x9e\\xca\\xce\\x96\\x0e\\x48\\xdf\\x74\\x5f\\xfa\\xc0\\xcf\\xff\\x3c\\x39\\x32\\xaf\\x72\\x69\\xb8\\x04\\xce\\x96\\x1e\\x94\\x1e\\x92\\x62\\x5d\\x5d\\xd4\\x0e\\xe8\\x85\\xb1\\x13\\x97\\xe9\\x60\\x8c\\x9e\\x2f\\x6b\\x5b\\x69\\x97\\xd4\\x2d\\xed\\x94\\xb6\\x33\\xf5\\x38\\xfc\\x00\\x8c\\x44\\x6b\\x7f\\x2a\\xd9\\x63\\x42\\x60\\xb4\\x90\\x04\\x1e\\xb3\\x9d\\x61\\x82\\xe6\\x60\\x38\\x12\\xe0\\xbc\\x5c\\x87\\x68\\xd3\\xa0\\xbf\\x36\\x83\\xc7\\x4b\\x1b\\x82\\xed\\xa2\\x81\\xee\\x90\\x3d\\xe4\\x64\\xdc\\xb1\\x0e\\x28\\xea\\x34\\x89\\xba\\x83\\xb8\\x26\\x0e\\xde\\x2f\\xa0\\x9c\\x7f\\x20\\xbf\\xc1\\xdd\\xc7\\x27\\x44\\x6e\\x68\\xbc\\x73\\xd7\\xad\\x9b\\x1f\\xda\\x4a\\xb7\\xf4\\xbc\\xf7\\x9f\\xe3\\xc7\\xff\\xf9\\xda\\xfe\\xec\\x03\\x25\\x03\\x87\\x9b\\xe9\\xa7\\xee\\xed\\x82\\xf3\\x37\\x5c\\x49\\xd5\\x77\\xf6\\x1c\\x7f\\x66\\xf7\\x73\\x2f\\x42\\xc9\\xa4\\x7b\\x03\\xd6\\xd7\\xfb\\x4f\\xcc\\xf4\\xc9\\x7b\\xc3\\x28\\xa4\\x1b\\xbe\\x20\\xe3\\x1b\\x05\\x2d\\x42\\x19\\x08\\xda\\x3c\\x26\\x96\\x8d\\xd8\\x22\\xb1\\x78\\x30\\x18\\x0a\\x79\\xb3\\x62\\x88\\xe3\\x74\\x48\\xc7\\xda\\x4c\\x16\\x0b\\xd2\\x0f\\x16\\x97\\x31\\xd2\\x2c\\x1a\\xf9\\x22\\xe7\\x20\\x9e\\x2a\\x45\\x79\\xf1\\xa4\\xbe\\x33\\xea\\x37\\x97\\x8b\\x08\\x84\\xd1\\x54\\x61\\xe4\\xa0\\x6a\\xa6\\xb9\\x7f\\x55\\x23\\x02\\xa9\\x7f\\x4a\\xbf\\x9a\\x72\\x51\\x83\\x7f\\x90\\xa6\\xfa\\x47\\x52\\x1f\\x2e\\x55\\x43\\x02\\x4f\\xae\\xcb\\x45\\x0c\\x5e\\xb7\\xc1\\x79\\x07\\xa4\\x4f\\xe8\\xbd\\xa4\\xff\\x8d\\xd2\\x19\\xf4\\x05\\xf4\\x2b\\x20\\x82\\x76\\xf3\\x51\\x42\\xbc\\x34\\x94\\x00\\x09\\xde\\x02\\xd2\\x7e\\x3f\\xd0\\xf2\\x4c\\x55\\x75\\xa8\\xd4\\x5e\\x8a\\x80\\x49\\x34\\x2b\\x7a\\x6c\\x8c\\x11\\x81\\x94\\x40\\x21\\x4f\\xb4\\xbd\\xd0\\x97\\x2b\\xa7\\xf0\\xb3\\xbc\\x4a\\x30\\xe8\\x52\\xf9\\x05\\x15\\xf2\\x75\\x65\\x8f\\x96\\xdd\\x98\\x61\\x48\\x38\\x07\\xa9\\x2f\\x9f\\xdd\\xd2\\x71\\x81\\xb1\\xba\\xa6\\xe6\\x1c\\x71\\xea\\xe8\\xb1\\x17\\xdc\\x7c\\xfd\\x57\\x2f\\x3e\\xf9\\xfe\\xc3\\xf7\\x5f\\x38\\x49\\xfa\\x7e\\xd1\\xc5\\xd3\\x2e\\x4c\\x2d\\xbd\\xf0\\xb2\\x17\\xcd\\x17\\xad\\xe0\\xde\\xba\\x20\\x75\\xe6\\x88\\xcc\\xb9\\xfd\\xce\\x9c\\xf5\\xe5\\x5d\\xaf\\xfd\\xf0\\x8f\\x37\\x1e\\xfc\\xa6\\x5f\\xcb\\xe5\\xf4\\xd1\\xfb\\x6f\\xdb\\xf8\\xfc\\xd9\\x81\\xca\\xdd\\x77\\xed\\x7a\\x51\\x8e\\x29\\x9a\\x8d\\xe6\\xce\\x0e\\xf4\\x3c\\xfc\\x60\\x88\\x10\\xb6\\x6a\\xb5\\x3e\\x9f\\x89\\xa7\\x98\\x40\\xd0\\x6b\\x73\\xd9\\x3a\\x44\\xbd\\xc5\\x02\\x5d\\xb4\\x4f\\x0b\\xb5\\x1d\\x22\\x3c\\xc5\\x8a\\x2e\\xa8\\xf9\\x54\\x06\\x91\\x2a\\x74\\x95\\x21\\x03\\x58\\x8b\\x8c\\x47\\x77\\xce\\x2e\\xc6\\xb3\\x85\\xd9\\x71\\xe2\\x00\\x37\\x62\\x60\\x16\\x52\\x50\\x27\\x6d\\x0c\\x0b\\x42\\x18\\xce\\x3b\\xfc\\xe1\\x82\\xc8\\x08\\xfa\\xfb\\xae\\x2e\\x38\\xf3\\x57\\xa4\\x3b\\xef\\x83\\x77\\x6d\\xa1\\x4c\\x96\\x43\\x70\\x78\\xbd\\xef\\xc4\\x4c\\x3f\\xf1\\xbf\\x1f\\x61\\x97\\x22\\xdd\\xcc\\x83\\x00\\x38\\x4b\\x28\\xf7\\xd9\\x39\\xaf\\xd7\\x68\\x64\\xed\\x74\\x30\\x24\\xc8\\x5e\\x01\\xca\\x4f\\x3b\\x10\\x8e\\x70\\x38\\x2c\\x3a\\x8b\\xab\\x5d\\xb4\\x70\\x3a\\xd0\\x2e\\xea\\x0a\\x69\\xb9\\x15\\xf8\\x50\\x50\\x07\\x1c\\x17\\xca\\x51\\x56\\xa1\\xbc\\x08\\xd1\\x6b\\x43\\x94\\x2a\\xa1\\xeb\\x1c\\xf6\\xa8\\xcd\\x41\\x3d\\xd7\\xf1\\xcc\\x98\\xd0\\x08\\xcd\\xd1\\x03\\x48\\xa5\\x4d\\x92\\x1e\\x91\\x9e\\x97\\x5e\\x94\\x9e\\xa5\\x99\\x33\\xad\\x9f\\x7d\\xf8\\xed\\xe7\\x27\\xaf\\xf9\\x88\\x39\\x59\\x9d\\x7e\\x0c\\x26\\x33\\xe8\\x57\\x9b\\xa4\\xa7\\xa4\\xed\\x48\\x45\\x4e\\x1c\\x0b\\x03\\xbf\\x9c\\x18\\x0a\\x4b\\x60\\x8d\\x74\\x50\\xfa\\x10\\x8f\\xe9\\x34\\x34\\xc7\\xb7\\xb2\\x67\\x83\\x72\\x70\\xae\\x50\\x17\\x74\\x6a\\x4c\\x5e\\x5a\\xc3\\x20\\x2c\\x9b\\x4c\\x57\\xd0\\x1e\\xaf\\xc7\\xdb\\x2e\\x56\\x7a\\x20\\x8d\\x26\\xb1\\x87\\xd2\\xb3\\x1e\\x8f\\x3e\\x59\\x5a\\x1a\\x69\\x17\\x4b\\x39\\xbd\\x1d\\x81\\x21\\x3d\\x53\\x70\\xc4\\xe3\\x50\\x0f\\x02\\x0a\\x8a\\x11\\x11\\x61\\xea\\x48\\xe1\\x99\\x1c\\x4d\\xbf\\x3d\\x47\\xd3\\x8f\\x26\\x0a\\xaf\\xb2\\xb8\\x28\\x5a\\x3f\\x96\\x98\\xb6\\xe3\\xb1\\x1b\\xef\\xff\\xe4\\xe0\\xad\\x0f\\x8e\\x88\\x26\\x2f\\x6d\\xb8\\xe2\\x82\\xab\\x97\\xde\\x74\\xd3\\x86\\xd5\\x37\\x6e\\xac\\xef\\x2c\\x4b\\x8f\\x30\\x3e\\xb8\\xeb\\xd3\\x5e\\x00\\x17\\xdc\\xf6\\x20\\xcf\\x3f\\x76\\xcd\\xd6\\x87\\xd2\\x92\\xb4\\xcd\\x15\\xbe\\xea\\x9a\\x2b\\xae\\xd7\\xe8\\x5b\\x75\\xda\\x1b\\x56\\x3e\\x78\\x73\\xc8\\xf3\\xbc\\xf4\\x8f\\xf4\\x7e\\x24\\x5b\\xef\\x25\\xd2\\x68\\xa6\\x0c\\xcd\\x97\\x08\\x98\\x22\\xd4\\x6b\\x2c\\x16\\x3e\\x00\\xf4\\x01\\x3a\\x1a\\xd3\\x20\\xf4\\xda\\xae\\x59\\xa8\\xa1\\x2a\\x35\\x48\\x34\\x8d\\x4d\\x83\\x44\\xd3\\x68\\x1c\\xe1\\x30\\xd2\\x38\\x61\\xa4\\x35\\xc3\\xe4\\x61\\xf1\\xbc\\x23\\x90\\xcb\\xdd\\x2c\\x3a\\xe8\\x50\\x8b\\x59\\xe7\\xb4\\x7e\\xc1\\xc9\\x46\\xf1\\x69\\x1c\\x46\\xee\\x4c\\xd9\\x88\\xc8\\xa2\\xf7\\x0e\\xc3\\x35\\xe1\\xa1\\x43\\xc3\\xd2\\xb2\\xd6\\x07\\x2f\\x50\\xf7\\x28\\xd8\\x45\\x7f\\x4f\\x9f\\x3c\\x64\\xe9\\x39\\x40\\x4e\\x30\\xfe\\xb4\\xea\\xb5\\xa5\\xf2\\xbe\\xc4\\xde\\xe6\\xc3\\x7e\\x96\\x97\\xa4\\xaf\\xe8\\x2b\\xd8\\x56\\x84\\x92\\x3a\\x84\\x06\\xb7\\xd3\\xe3\\x61\\x21\\x40\\xda\\x85\\xf6\\xfa\\xa0\\x8b\\x77\\xa1\\xf5\\xca\\x22\\x5c\\xa2\\x03\\x1e\\x9d\\x35\\x2b\\x66\\x4d\\x1d\\x26\\xca\\x64\\x42\\x73\\xca\\x07\\x3f\\xf7\\xc1\\x2d\\x3e\\xd8\\xe1\\x83\\x82\\x4f\\xce\\x4a\\xc5\\x62\\x90\\x3a\\x0b\\x58\\x85\\x0e\\x1c\\x58\\xb8\\x20\\x14\\x13\\xc3\\x0f\\xe3\\x8d\\x54\\xc1\\x4e\\x65\\x81\\x56\\x98\\xd1\\xc6\\xe9\\xc3\\x9d\\x5b\\x75\\xdb\\x23\\xae\\xee\\xd5\\xe7\\x36\\xe2\\xc2\\x70\\x55\\x83\\x93\\x8e\\xd0\\x6f\\x96\\x5f\\x6f\\x42\\x3d\\x3b\\x5c\\x17\\xfb\\x76\\xeb\\x53\\xdc\\xee\\x0e\\x77\\xbf\\xf3\\xaf\\xfc\\xb0\\xed\\x64\\x12\\x28\\xb5\\x6b\\x35\\x59\\x84\\x09\\x2a\\x91\\xc6\\x2c\\x8f\\x6a\\xec\\xde\\x14\\x00\\x5e\\x0d\\x5d\\x55\\x5d\\x59\\x5a\\x5e\\xda\\x2e\\x96\\x97\\xd3\\x7a\\x8b\\xab\\x43\\xb4\\xe8\\xf5\\x68\\x8b\\x72\\x18\\xf5\\x0c\\x9d\\x68\\x17\\x69\\x4e\\xd9\\x59\\xf7\\x29\\xea\\x52\\x29\\x6a\\xd5\\xe7\\x38\\x09\\x73\\x45\\x9e\\x16\\x16\\xd8\\x8b\\xf0\\x83\\x12\\x1c\\xc0\\x32\\x4b\\x8f\\xaf\\x27\\xd8\\x60\\x06\\x9c\\xb8\\xfb\\xcf\\xf4\\x9a\\xe5\\xea\\xb8\\x8f\\xf4\\x8f\\xde\\x3b\\xbf\\x17\\xfc\\xfb\\xd8\\x0f\\x6d\\x4f\\xd7\\x74\\xc1\\x1f\\x56\\x8e\\x29\\xe9\\x07\\x3b\\xe0\\x48\\xf4\\x77\\x5a\\xf2\\x8e\\x87\\xe5\\x67\\x20\\x6d\\xde\\x5e\\x5b\\x2f\\xed\\x97\\x5e\\x91\\x0e\\x49\\xfb\\x4b\\x03\\xf0\\x0a\\x5f\\xff\\xfe\\xca\\xbe\\xe0\\x96\\x46\\xb3\\x3b\\x89\\xcd\\x10\\x00\\xc3\\x84\\x88\\xdd\\xc4\\x51\\x26\\x2a\\x18\\xa2\\x38\\xce\\x64\\xb7\\xa0\\x75\\xe1\\xa0\\x8d\\x1e\\x46\\xcb\\x5b\\x64\\x5b\\x41\\x51\\xaa\\xb9\\xc0\\x17\\x7b\\x51\\xa5\\x00\\x5e\\x0b\\x5d\\x0e\\x37\\x9b\\xca\\x15\\xe3\\xc3\\xa1\\x2f\\x74\\x09\\x2e\\x59\\xe1\\x66\\x77\\x6e\\x90\\xaa\\x5a\\x9a\\xcc\\xd2\\x4d\\x23\\xb4\\xb5\\xc3\\x7a\\x8e\\xdf\\x4e\\x85\\xba\\xe1\\x46\\x78\\xdb\\xce\\xb7\\xcd\\x83\\xbc\\x69\\x27\\x3b\\x14\\x29\\xa0\\xfb\\x5f\\xef\\x05\\x97\\x18\\x83\\x33\\x9f\\xbf\\x97\\xd9\\x8f\\x83\\x1c\\x4e\\x26\\xe9\\xc3\\xbe\\xfa\\xdf\\x66\\x2e\\xbe\\x69\\xd8\\xe6\\x32\\xad\\x12\\x8b\\x89\\xf4\\xd3\\x16\\x84\\x71\\xcb\\xc0\\x78\\xa1\\xcc\\xa1\\x47\\x6b\\x80\\xb6\\xc4\\x52\\x96\\x54\\x79\\x3a\\x19\\x6f\\x16\\x93\\x56\\x8f\\xa6\\x15\\xed\\x00\\x76\\x6b\\xb3\\x68\\x07\\x61\\xbd\\xc5\\x64\\x69\\x16\\x81\\x29\\x57\\xa8\\xd2\\x53\\x60\\x33\\xe4\\xe9\\x29\\xf3\\x65\\x78\\x8b\\x0f\\x6b\\x73\\x89\\x31\\x32\\x8f\\xa7\\x42\\xe9\\xa9\\x61\\x1a\\x9e\\x78\\x5a\\x09\\x7f\\x5c\\x0b\\xeb\\xe4\\x90\\xc8\\x05\\x93\\x26\\x2d\\xb8\\x11\\x66\\x9e\\x71\\xde\\x7c\\x2d\\xbc\\x5f\\x8d\\x7e\\xc4\\xa5\\xfd\\xa5\\x0b\\xe4\\xc8\\x48\\x69\\xda\\xf4\\xa5\\x4b\\xa7\\x53\\xa2\\xb7\\xb2\\x67\\xe2\\xf5\\x37\\x11\\x59\\x7a\\x11\\xf2\\xa3\\xb4\\x48\\x16\\x1b\\x48\\x08\\x0e\\x1d\\x4d\\x9b\\xed\\x0e\\x62\\x27\\x30\\x00\\x21\\x1c\\xc0\\x15\\x57\\xfe\\x56\\x7a\\xa8\\xb2\\x8a\\x12\\x07\\xe1\\xe4\\x73\\xce\\xdb\\x02\\xc7\\xd4\\x56\\xc7\\x05\\xf7\\x3c\\xe7\\xe2\\x39\\xcc\\x4a\\x4f\\xe5\\x89\\x33\\x87\\x8c\\xb1\\x0d\\xe7\\x12\\x78\\xac\\xe2\\xe8\\x01\\xaf\\x46\\xcf\\x96\\x03\\x23\\x85\\x98\\x83\\xa2\\x8c\\x5a\\xad\\x93\\xc7\\x15\\x30\\x11\\x9a\\xd5\\x1b\\x90\\xdd\\xe7\\x30\\x18\\x58\\x0b\\x8d\\x6b\\x5e\\xb7\\x8b\\xec\\xe9\\x9d\\xb5\\x79\\x0e\\x56\\x18\\xcf\\x47\\x84\\x2a\\x21\\x2b\\x19\\x6a\\xf5\\xbb\\x38\\x9e\\xf6\\xe0\\x41\\x1c\\x5b\\xfb\\x2e\\x75\\x7f\\xcf\\xa3\\x24\\x7e\\x76\\x42\\x2b\\xfc\\x0d\\x3f\\x40\\x49\\x2b\\xc7\\x14\\x00\\xc0\\xee\\x61\\x5b\\x50\\x7f\\xa6\\x0b\\x75\\x51\\x77\\x20\\x16\\x74\\x01\\x10\\x34\\x07\\xe8\\x10\\x1b\\x62\\x93\\x89\\xa8\\x23\\xe0\\xf6\\xba\\xdb\\xc5\\x60\\xcc\\x15\\x67\\x90\\x2d\\x60\\x70\\x20\\xa0\\xc4\\x84\\x00\\x0e\\x57\\x44\\xeb\\xc9\\x51\\x50\\x8d\\x1f\\x1b\\x4f\\xf2\\xd4\\x53\\xe1\\x2a\\xce\\x9d\\x93\\xd7\\x54\\x5d\\xde\\xef\\x51\\xb8\\xa0\\x34\\xbc\\xbd\\x20\\x00\\x0b\\x6a\\xe1\\x8e\\x3d\\x3d\\x07\\xbb\\x5a\\xb6\\xcd\\x9c\\x3f\\x65\\x44\\xc8\\x2e\\xc4\\x87\\x9d\\x49\\xad\\xbf\\x0e\\x6e\\xbb\\x53\\xea\\x4f\\x0d\\xbd\\x59\\x7a\\xba\\xe7\\x3f\\x2f\\x35\\xe3\\xae\\xd3\\xc3\\xae\\x7b\\x1d\\x87\\x11\\xb8\\xfc\\x1d\\xd3\\xa5\\x34\\x75\\x3d\\x11\\x47\\xe8\\x89\\xf9\\xeb\\xa9\\xed\\x77\\xcb\\x32\\x31\\x80\\xbd\\x0f\\xc9\\x34\\x55\\xa8\\xf1\\xb2\\x2c\\x1d\\xf1\\x85\\xa9\\x48\\xd8\\x10\\x35\\x44\\x13\\xc9\\xb0\\x2f\\xe0\\x6b\\x16\\x23\\xb4\\x97\\x61\\x74\\x01\\xab\\x85\\xcf\\x8a\\x38\\xad\\x85\\xa5\\x0c\\x3a\\x03\\x9a\\x8e\\xba\\xdc\\x74\\xec\\x23\\x93\\xea\\x56\\x90\\x25\\xaa\\x53\\xdc\\xdd\\xb9\\x88\\xb1\\x22\\x77\\x4e\\x81\\x50\\x54\\x2e\\x72\\x2c\\xef\\xdd\\x29\\x08\\x2c\\x2b\\x8c\\x1e\\xeb\\x52\\xdd\\x3d\\x3d\\x57\\x14\\x06\\x98\\x21\\x79\\xa2\\x68\\xae\\x78\\x48\\xec\\x10\\xb2\\x1c\\xad\\x10\\x1a\\xd0\\x26\\xc2\\x01\\x9d\\x1e\\x41\\x42\\xab\\x5e\\xcf\\x98\\xcd\\xc6\\x66\\xd1\\x0c\\xa0\\x86\\xd1\\x34\\x8b\\x0c\\x0f\\x8a\\x0f\\x8a\\x4f\\x99\\x2a\\xc5\\x33\\xc5\\x9e\\xe1\\xe1\\x42\\x1c\\xac\\xb3\\x63\\x07\\x9a\\xae\\x0f\\x51\\x5b\\x7b\\x1e\\x20\\x61\\xc2\\xe7\\xb6\\x51\\x13\\x3c\\x95\\x3d\\x73\\xdb\\xd0\\xfd\\xfb\\x03\\x40\\x7f\\x80\\xc6\\x33\\x44\\xb4\\x10\\xcd\\x02\\x1f\\xeb\\x0b\\x47\\x5c\\x06\\xaf\\x56\\x03\\x35\\x6e\\x1d\\xfa\\xc3\\x20\\x95\\xd4\\x22\\x72\\x10\\xe0\\xdb\\x67\\xf2\\x05\\x40\\x1c\\x05\\x29\\xbd\\x78\\xc4\\x68\\x0d\\x8c\\xd7\\xc3\\x14\\xac\\x87\\x05\\x4c\\xd1\\xee\\x06\\xa4\\x9c\\x42\\x68\\xb0\\x68\\xc7\\xbf\\x63\\xd2\\x17\\x8f\\xc1\\xc7\\x7c\\xd2\\x63\\xb0\\xff\\x98\\xf6\\x40\\xb0\\xb4\\x76\\x74\\xf3\\xa4\\x05\\xe9\\xe7\\xee\\x86\\x63\\x6d\\x23\\x62\\xd4\\xc9\\xe9\\x3d\\x33\\xa3\\xf4\\x33\\xe3\\xa5\\x67\\x16\\xc3\\x8a\\x97\\x4d\\x13\\x1e\\xe6\\x66\\x2f\\xd9\\xb5\\x78\\xd3\\xc9\\x70\\x4d\\x85\\xa1\\x52\\xd6\\x41\\xde\\xde\\x6f\\x34\\xf3\\xd0\\xba\\xaa\\x05\\xcd\\x42\\xca\\x11\\xf5\\xf9\\x8c\\x20\\x95\\xaa\\x32\\x56\\xd5\\x65\\x2a\\x4b\\x23\\x7e\\x79\\x81\\x95\\x07\\x2d\\x74\\x55\\x82\\xd7\\xf3\\x33\\xc5\\xda\\x5a\\x5a\\xef\\x20\\xc9\\xc8\\x8a\\x0e\\xca\\xa8\\xd5\\x83\\x33\\xc5\\xb9\\xc8\\x0a\\x83\\x70\\x49\\xbe\\x4c\\x36\\x5a\\x63\\xf2\\x41\\xbb\\xbc\\xf2\\x73\\x6f\\x95\\x37\\x68\\x94\\xd9\\xf4\\xa4\\xc7\\x86\\x35\\x5d\\x16\\x9e\\xf8\\xd1\\xa8\\xe3\\xd7\\xc0\\xb7\\xd7\\x9e\\x75\\x4e\\x62\\x6b\\x9d\\x7d\\x1d\\xfc\\x68\\xcd\\x39\\x13\\xd3\\x6b\\x93\\xeb\\xe0\\xdb\\x57\\x5f\\x2d\\xbd\\x36\\xae\\xba\\x7f\\xbf\\x81\\x95\\x02\\xe4\\xe9\\x9f\\x88\\x62\\x8d\\x4c\\x10\\xdd\\xa6\\xfe\\xc3\\xf3\\xef\\x1c\\x46\\x86\\x94\\xbf\\x42\\x20\\xb0\\x9e\\xe8\\xa6\\xb9\\x68\\x5f\\xd8\\x84\\xcf\\xa6\\x10\\xda\\x8e\\xf9\\xf5\\x7a\\xab\\x1b\\xad\\x65\\xd6\\xcd\\x06\\x43\\x2c\\xf0\\xf8\\x3c\\x08\\xf1\\x51\\x3e\\xda\\x84\\x4c\\x75\\x9b\\x29\\x10\\xc0\\xfe\\xa3\\x8c\\x52\\x9f\\xbd\\x2f\\xf1\\xbf\\x32\\x23\\xe4\\x0e\\xc7\\xa1\\xbd\\xb0\\x56\\xbb\\xac\\x52\\x21\\xb3\\xb2\\x1b\\xbe\\xd6\\x35\\xe3\\xe4\\xcb\\xb7\\xdf\\x52\\xb9\\x3c\\x30\\x66\\x58\\x62\\xc8\\xd9\\xe3\\xbb\\xe0\\x46\\xea\\x09\\xe6\\x7b\\xd2\\x27\\x07\\xb3\\xfb\\x44\\xe0\\xa5\\xd7\\x4d\\x9a\\xef\\x6e\\xe7\\xaf\\x5c\\xcb\\xa2\\xf5\\x79\\x32\\x2c\\xc7\\xf6\\x8c\\xc6\\x31\\x57\\xa8\\x8f\\x59\\xa1\\x1c\\x70\\x9c\\xc7\\xa4\\xf5\\x68\\x83\\x21\\xbf\\xb7\\x59\\xf4\\x5b\\x39\\x8f\\xcb\\xd3\\x2c\\xba\\x78\\x1c\\x9a\\xd4\\x2c\\x1a\\x02\\xb8\\xa8\\x32\\x6d\\x6b\\x15\\x69\\x1b\\x28\\xf2\\x7a\\x78\\x1a\\xfb\\x3a\\x2a\\x49\\x7f\\x8b\\xc3\\xe1\\x4b\\x8a\\xf6\\x05\\x38\\xea\\xec\\xc7\\x06\\xc9\\x61\\xf0\\x2d\\x13\\xa7\\xac\\x54\\xa2\\x77\\xe8\\x8e\\x8a\\x81\\x37\\xae\\x3a\\x71\\x98\\xc4\\xbd\\x73\\x13\\xda\\x0b\\x62\\x77\\x08\\x47\\xce\\x11\\x76\\x09\\xc2\\xd5\\x06\\xb4\\xc2\\x3c\\x60\\x9a\\x50\\xcf\\x5b\\xad\\xc0\\x65\\xb1\\xb0\\x80\\xf5\\xfa\\x10\\xb6\\x01\\xbe\\x88\\x0f\\x21\\x6b\\xde\\xda\\x2e\\x8e\\xe3\\x21\\x6d\\xe5\\x1b\\x79\\xca\\xc8\\x20\\x48\\x44\\xe9\\x8c\\x68\\xb0\\x39\\xca\\xd1\\x2e\\x52\\xc5\\x20\\x5b\\x06\\xa8\\x0a\\xd2\\xce\\xb9\\xbd\\x32\\x32\\x15\\x8e\\x82\\xb2\\x61\\x9d\\x83\\x8b\\xfa\\x20\\x17\\xa3\\xe8\\xa8\\x01\\x62\\x02\\x9c\\x51\\x70\\x1c\\x61\\xbf\\xd9\\x2b\\xed\\xa4\\x6e\\xfa\\xe2\\x10\\x7b\\x72\\x25\\x75\\xe8\\xab\\x8f\\x3f\\xd6\\xd3\\x97\\xe9\\x0f\\x61\\xea\\x1b\\xe9\\x01\\xe9\\x4f\\x98\\xf8\\x06\\x4e\\x93\\x7e\\x82\\x6e\\xd8\\x5f\\x7a\\x5b\\xfa\\x9a\\xd9\\x2b\\xf5\\x4a\\x5f\\xc0\\x00\\x64\\x94\\x18\\x9d\\x23\\x1a\\x3d\\xfb\\x14\\xc9\\xcd\\x9f\\x28\\x54\\xfb\\x79\\x1b\\x00\\x51\\x0b\\x65\\x60\\x0c\\x4c\\xaa\\x54\\x28\\xdd\\x52\\x4a\\x81\\xd2\\x48\\x29\\x92\\xc6\\x42\\x21\\xfb\\xc0\\xa2\\x35\\x99\\x10\\x2e\\xf2\\x98\\x18\\x2d\\x82\\x49\\x5a\\x65\\x5b\\xdb\\xd7\\xc7\\x52\\x50\\x14\\x9f\\x52\\x9d\\x10\\x3a\\x71\\x1a\\x34\\x31\\x13\\x90\\x2c\\x1c\\x21\\x07\\x56\\x73\\xba\\x31\\x2e\\x92\\x1d\\x3f\\x94\\x46\\xff\\x7a\\xbf\\xbc\\x30\\x70\\xc7\\xed\\xb3\\x43\\xc9\\x51\\xa3\\xea\\x87\\xb6\\x9e\\x08\\x7c\\xf4\\x8f\\xaf\\x3f\\x3e\\xf4\\x8f\\x6f\\x3e\\x64\\xf9\\x57\\xe7\\xad\\x7e\\x5e\\x16\\x08\\x4e\\x42\\xe2\\x7d\\xdc\\x30\\xdc\\x19\\xe1\\xe2\\x42\\xff\\x81\\x93\\x7a\\x04\\xe9\\xcf\\xd2\\xdf\\x60\\x0c\\xa1\\xa5\\xe1\\xd0\\x2f\\x7d\\x0d\\x64\\xde\\x01\\xa6\\x85\\x59\\x47\\x64\\x1b\\x2d\\xc4\\xa3\\x58\\x36\\xbf\\x85\\xd2\\x33\\x7a\\x24\\x9b\\x85\\x6a\\x46\\xf2\\x68\\x4c\\xa6\\x10\\x32\\x33\\x4d\\x36\\x4d\\x22\\x2b\\x6a\\x5c\\x7d\\xe4\\xc9\\x2b\\xf1\\x22\\x59\\x14\\x3e\\x81\\x88\\xbb\\x48\\x96\\x02\\x62\\x01\\xa6\\x65\\x4f\\x54\\xe6\\x13\\x80\\xc6\\x39\\x53\\x15\\x39\\xa4\\x47\\xaf\\xbc\\x7e\\xe5\\x32\\x4c\\x2a\\x40\\xff\\xeb\\xa5\\x79\\x1d\\x2b\\x25\\xbb\\xf4\\xe3\\xf7\\x27\\x5f\\xea\\x37\\x2c\\x27\\xc2\\x03\\x1f\\xfd\\xe5\\xd9\\xcf\\xbf\\xfa\\xf3\\x3e\\xdc\\xf7\\xb1\\xd2\\x68\\xed\\x10\\x34\\xc7\\x1c\\x48\\x8b\\x8e\\x13\\xca\\x5c\\x66\\x5d\\x80\\x05\\x20\\x60\\xa6\\xc3\\x11\\x3b\\x32\\x24\\xed\\xb4\\x8d\\x43\\xeb\\x95\\x09\\x78\\x0d\\xc8\\x14\\xd2\\x19\\x38\\x65\\x83\\x0d\\x14\\xf8\\xda\\xf2\\xd1\\x6d\\x85\\x60\\x55\\xa1\\x4e\\x8e\\xdb\\x99\\xb8\\x1a\\x04\\xc5\\xe6\\x11\\x6a\\x89\\x66\\x3d\\x06\\x01\\xc7\\xa4\\x63\\x5f\\xa3\\x07\\x71\\x0f\\x86\\xa8\\xf0\\x0e\\xf8\\xcb\\xc9\\x4b\\x11\\x2c\\xfd\\xee\\x9b\\x09\\x4f\\xa4\\x9f\\x97\\x6e\\xc3\\xb0\\x40\\x33\\xfe\\xc4\\xac\\x29\\x70\\x26\\x1a\\x6b\\x84\\x4d\\xad\\xc3\\x09\\x1e\\xfd\\x44\\x7a\\xb3\\xcc\\xcf\\xcc\\x96\\x6d\\xfc\\xf1\\xd2\\x38\\xf6\\x5c\\xb4\\x9e\\x79\\xb4\\x1b\\x8d\\x11\\x92\\x61\\xd6\\xeb\\x35\\x50\\x9c\\x81\\x8b\\xa1\\x1b\\xe3\\x48\\x79\\x73\\x20\\x2b\\x9a\\x6d\\x5a\\x64\\x2d\\x68\\x5d\\x1c\\x05\\xd0\\xc3\\x40\\xe6\\x73\\x61\\x48\\x5e\\x5f\\x5c\\x87\\x7a\\x4e\\xba\\x9d\\x67\\x73\\x70\\x65\\xc8\\x39\\x31\\xd6\\x3c\\xca\\xd0\\xd3\\x6f\\x5e\\x7d\\xa7\\x3c\\xee\\xd5\\x57\\x5c\\x51\\x0f\\x37\\xcc\\x3d\\x79\\xef\\xb5\\x57\\x6d\\xbc\\x08\\x8d\\xba\\x34\\xae\\xda\\xc3\\xec\\x93\\xae\\x95\\x07\\xdd\\x64\\x3e\\xfe\\x8d\\xa7\\x1a\\xfe\\xb0\\xef\\x13\\x78\\x79\\x08\\x0f\\xb9\\x8c\\x9f\\x87\\x22\\x1c\\xf0\\x2f\\xe2\\x03\\x0a\\xa3\\x3e\\x27\\x58\\x9b\\x2d\\x40\\xf8\\x90\\x22\\x51\\xc6\\x1d\\x76\\x77\\x88\\xac\\x15\\xfd\\x0d\\xb0\\x01\\x2e\\x9c\\xa3\\x40\\x2a\\xa2\\x17\\x4a\\x9f\\x36\\x3d\\xbb\\x88\\x5a\\x48\\xdd\\x4c\\x55\\x0b\\x9a\\x49\\x6c\\xde\\x3d\\x73\\xee\\x43\\x5b\\x15\\x76\\xa1\\xf7\\x7b\\xde\\xb8\\x37\\xe7\\xc2\\xa2\\x77\\x3e\\x70\\x63\\xcf\\x75\\x9b\\xa9\\xc1\\x98\\x62\\x48\\x1a\\x41\\x22\\x23\\x95\\xa3\\x02\\xb9\\xbf\\x51\\x92\\x2b\\x7f\\x1f\\xd0\\x83\\x0a\\xd0\\x2a\\xa4\\x2b\\xbc\\x76\\x4d\\x34\\x5a\\x02\\xbc\\x25\\xde\\xca\\xaa\\x72\\x4b\\x56\\x2c\\x87\\xd1\\x92\\x44\\x49\\xb3\\x98\\xf0\\x07\\xd0\\xd6\\x1f\\x70\\xb1\\x1c\\xe7\\x72\\xd1\\x2d\\xa2\\xcb\\x56\\x0c\\xc3\\x4e\\x55\\x9a\\x99\\x9c\\xc3\\x9d\\xb8\\x8c\\x69\\x05\\xa8\\x9c\\x36\\xb9\\x5c\\xc6\\x32\\xd4\\xc9\\x2b\\x56\\xe0\\x14\\xf3\\x93\\x77\\xca\\xa0\\x45\\x5b\\x9c\\x63\\xfe\\xc0\\x6d\\x67\\x8f\\x80\\x5f\\xec\\x79\\x0e\\xe7\\x99\\x33\\xab\\x30\\x6a\\x59\\xd1\\xd6\\x27\\xcd\\x9c\\x6d\\x47\\x80\\x46\\x3e\\xfb\\xe8\\x0d\\xb3\\x73\\xc9\\x73\\x88\\x81\\x99\\x42\\xc6\\x69\\xb5\\x9a\\x62\\xac\\xcb\\xe5\\xe7\\x6c\\x36\\x60\\xf2\\x9b\\xe2\\x89\\x68\\x20\\x14\\x68\\x17\\xad\\x3c\\xcb\\x77\\x88\\x31\\x06\\x3d\\x94\\x18\\x1b\\xf3\\x86\\x68\\x97\\xdf\\xeb\\x47\\x8b\\x82\\xf3\\xa2\\xc7\\xf2\\x4a\\x5d\\xdf\\x07\\x53\\xf0\\x70\\x32\\x39\\x29\\x8b\\x9f\\x91\\xec\\x2e\\x22\\xd8\\x32\\x6e\\x2f\\x22\\x81\\xba\\xff\\xb6\\xe7\\x1e\\x79\\xfc\\xc9\\xdb\\xa5\\xc3\\x27\\x8f\\xde\\x72\\x35\\xbc\\xea\\x66\\xe9\\x45\\x69\\xf1\\x8f\\x6f\\xf4\\xbc\\x7f\\x6f\\x17\\x35\\xe0\\x0d\\x5a\\x7b\\xc7\\xd5\\x3d\\x2f\\x5d\\x47\\x39\\x1e\\x7e\\xfe\\xfa\\x97\\x4a\\x7a\\x5e\\x43\\xb8\\x72\\xbe\\xf4\\x4a\\x8e\\x13\\xca\\xbf\\x18\\xed\\x6f\\x97\\xf7\\x1e\\xa1\\xbf\\x41\\xeb\\xb9\\x02\\x0c\\x12\\x42\\x09\\x8d\\xc5\\xef\\xaf\\xe0\\x35\\x4c\\x65\\x95\\x25\\x41\\xf3\\x1e\\x0f\\x32\\xce\\x3c\\x4c\\x05\\x4d\\xa7\\x14\\x9b\\x33\\xb7\\x97\\xc9\\x4c\\x4c\\xaa\\x87\\x28\\xa9\\x14\\xc2\\x1a\\x46\\x15\\x54\\xcf\\xb0\\xcb\\x6e\\x2e\\x8b\\x26\\xef\\xaf\\xf8\\xba\\xed\\xe3\\x05\\x5f\\xfc\\xbb\\x6e\\xfa\\xb5\\xef\\x2c\\x5c\\x74\\xfb\\xf5\\x1b\\x67\\xc7\\x87\\xbf\\x70\\xdf\\x7b\\x3f\\x0e\\x9d\\x75\\xe5\\x75\\x57\\xce\\x1a\\x7a\\xf7\\xda\\x49\\x8f\\x97\\xc7\\x87\\x67\\xa2\\x25\\x1f\\xec\\x9d\\x74\\x79\\xc7\\xc8\\xa6\\xd4\\xe2\\x96\\x8e\\x05\\x63\\xb7\\x41\\x77\\x7a\\xf7\\x96\\x69\\x2b\\xce\\x19\\x50\\x55\\x39\\x7c\\x7a\\xd3\\x95\\x37\\x8d\\xa9\\xdd\\x85\\xfa\\x3d\\x1c\\xd9\\x35\\x7b\\xd0\\x3a\\x4e\\x81\\x06\\xc1\\x6f\\x8d\\xf1\\x01\\x0c\\x79\\xf9\\xd2\\x32\\x5d\\xc0\\x51\\x52\\x82\\x54\\x67\\x89\\xcb\\x61\\xcc\\x8a\\x0e\\x5b\\x91\\x87\\x2e\\x8f\\x84\\x06\\x92\\xea\\x31\\xd4\\xa9\\xc5\\x3e\\xb0\\x21\\x8f\\x7a\\x2c\\xd3\\xe4\\x62\\xfb\\x79\\x78\\x7c\\xf8\\xb9\\xeb\\x9b\\xc7\\x4d\\x6c\\x59\\x5c\\x5f\\x5e\\x7d\\xe7\\x9c\\xf5\\x0f\\xd5\\x4d\\x9b\\x25\\x6e\\xfe\\xcb\\xa5\\x67\\xd5\\x56\\x56\\xed\\x38\\x13\\xa9\\x7c\\xdd\\xb0\\x49\\xa3\\xaa\\x6a\\xfd\\x67\\x0f\\x1c\\x95\\xad\\x5e\\xf0\\x56\\xf8\\xa6\\xcb\\xcf\\x98\\x35\\x32\\x1a\\xec\\xf7\\xc7\\xed\\xa3\\x56\\x7e\\xe3\\x08\\x92\\x7c\\x58\\xb4\\x7e\\x87\\x63\\x3f\\x34\\x3d\\x91\\xcc\\x23\\x06\\x61\\x0a\\x96\\xdd\\x44\\xf4\\x7f\\xa3\\x10\\xf1\\x71\\x1c\\x9b\\x30\\x1a\\x43\\x2c\\x9b\\x2a\\xf5\\xa3\\x05\\xe1\\xf7\\x53\\x16\\x4b\\x14\\xe3\\x79\\x0a\\xa9\\x21\\x2a\\x50\\xec\\xf5\\xca\\x41\\x60\\x45\\x6d\\x92\\xc0\\x48\\x7b\\x2e\\x3c\\x52\\x2e\\x7a\\x4e\\xba\\x0f\\xd5\\x62\\x38\\x58\\x03\\xb1\\x23\\xce\\xde\\xb8\\xad\\x76\\x48\\xdb\\x25\\x97\\xb4\\xb5\\x5e\\x36\\x26\\x23\\xd4\\xc4\\x2a\\x6b\\x7b\\x5e\\xaf\\x39\\xab\\x29\\x93\\x69\\x1a\\x2b\\x4d\\xe6\\xbe\\xd8\\xcf\\x54\\x46\\x2e\\x69\\x6b\\xbb\\x64\\xda\\x93\\xd7\\x9c\\xb8\\x63\\xd3\\x62\\xfe\\x32\\xb6\\x72\\x4c\\x7d\\xa6\\xa9\\x29\\xd3\\xef\\x0c\\x62\\x13\\x4b\\xe3\\xa8\\x21\\xcc\\xd5\\xc8\\x16\\x39\\x43\\x48\\xf8\\x42\\x21\\xb7\\x86\\xe3\\x12\\x49\\x33\\x00\\x49\\x67\\xd0\\x17\\x44\\x5b\\x95\\xe0\\xf6\\x59\\x6d\\x51\\x4c\\xd9\\x84\\xa3\\x99\\x71\\x30\\xb3\\xaa\\x2e\\x71\\x9c\\x0a\\x9e\\xe3\\x50\\xad\\xd1\\x24\\xab\\xa0\\xa2\\x18\\xe6\\xa1\\x8a\\x1c\\xf9\\x28\\x15\\x62\\x80\\x52\\x43\\x6e\\xbf\\x45\\x68\\x91\\x63\\x98\\x03\\x15\\x1d\\xed\\x72\\xa0\\xca\\xe0\\x9a\\x41\\x33\\x73\\x11\\xcc\\x59\\xc3\\xe2\\x39\\xd4\\x06\\x12\\xab\\xd2\\xb3\\x62\\xf8\\x08\\x0e\\xd7\\xb1\\x50\\x62\\x9e\\xdc\\x68\\x6e\\x04\\xb4\\x26\\x60\\xe2\\x68\\x8f\\x17\\x22\\x25\\xa3\\xb1\\xb8\\x2c\\x1d\\xa2\\xeb\\xd4\\x50\\x72\\xf5\\x70\\x4f\\x9e\\xd2\\xc4\\x49\\x45\\x0e\\x1e\\xfb\\x68\\xc5\\x28\\xb3\\x57\\x0e\\xf8\\x79\\xbf\\xe7\\xb6\\xf7\\x5f\\xcf\\xe9\\xc3\\x0d\\x0c\\x75\\x40\\x6b\\x3c\\x31\\x9f\\xac\\xac\\xdb\\xaa\\x15\\x4d\\x28\\xc7\\xfd\\xec\\x21\\xf6\\x1b\\x5a\\x5b\\x5a\\xa3\\xd1\\xef\\x76\\x27\\xe2\\xc9\\x30\\x9d\\x15\\xc3\\xd0\\xe0\\xc5\\x21\\xe0\\x5a\\xbf\\xd5\\x69\\x69\\x11\\x9d\\xae\\x62\\x46\\x0d\\x34\\x54\\x79\\xde\\x19\\xa2\\xe2\\x82\\xb0\\x30\\x6a\\x47\\x19\\xaa\\x06\\xa5\\x8c\\x30\\x4f\\xcd\\x99\\x1a\\xab\\x19\\x3b\\x88\\x8c\\xcc\\x84\\xf8\\xb5\\x03\\xd0\\x40\\x5d\\xf6\\xc8\\x96\\xca\\x6b\\x1a\\x98\\xdb\\x76\\xf0\\x17\\xdf\\x71\\x17\\x19\\x19\\x1c\\xc2\\x23\\x0f\\xd5\\x98\\xf7\\x0f\\x7b\\xb8\\x2f\\x65\\x3b\\x23\\x29\\x8d\\x26\\x63\\x15\\x04\\x43\\x84\\x88\\xd6\\x0d\\x2c\\x6e\\x8b\\x93\\x0e\\x85\\x3d\\x4e\\x27\\x1f\\xb4\\xf1\\xb6\\x0e\\x91\\x47\\x96\\x32\\x4f\\x1b\\x28\\x64\\x2f\\xab\\x33\\xb1\\xcf\\x70\\x39\\x48\\x95\\x05\\x79\\x89\\xf3\\xe8\\x31\\xe2\\xea\\xe9\\xc5\\xa1\\x53\\xd4\\x81\\x75\\xe5\\x63\\xb8\\xd0\\x88\\xe6\\xab\\xe6\\x3e\\x38\\xa1\\x28\\x72\\xea\\xc1\\x17\\x7c\\xee\\x35\\xc7\\x42\\x4b\\x5f\\x5b\\xc5\\xfc\\x2d\\x17\\x39\\x45\\x6a\\x12\\x21\\xfc\\x57\\x8b\\xf0\\x5f\\x29\\x38\\x4b\\x28\\xb1\\x1b\\xe2\\xc8\\x54\\xf7\\xbb\\x10\\xf8\\x2b\\x2b\\xf7\\xd3\\xed\\x68\\x89\\x68\\xcd\\x6e\\x9b\\xd1\\x8c\\x60\\x6b\\x89\\xd7\\x4c\\x6b\\xb9\\x8e\\x1c\\xe8\\xcb\\xec\\x53\\x8c\\x83\\x3c\\x50\\xca\\x64\\x0a\\xce\\x40\\x91\\x79\\x83\\x10\\x46\\x42\\xb5\\x75\\x6c\\x51\\xd5\\xe9\\x42\\x54\\x81\\x8a\\x9a\\x34\\xb5\\xf7\\xdc\\x2f\\xfd\\x72\\x52\\xfa\\xaf\\xf4\\x0b\\x76\\x3b\\xc0\\x59\\x7b\\xde\\xea\\x86\\xc1\\xf3\\xcf\\x55\\x30\\x13\\xcb\\x2f\\x7f\\xb6\\x56\\xf2\\xfe\\x78\\xf4\\xc7\\x4f\\xe9\\x7e\\xc4\\xbe\\x39\\x2c\\x6d\\xd8\\xfd\\x24\\x5d\\xe6\\xab\\x97\\xf6\\x45\\xdb\\x4a\\x55\\xe8\\x24\\x8f\\xb1\\x1f\\xe1\\xbd\\xb5\\x08\\xef\\x95\\x82\\x73\\x85\\x6a\\x87\\x59\\xe7\\x72\\x31\\x44\\x1e\\xc6\\x4c\\xc4\\xc1\\x2b\\x5e\\x6b\\x73\\x5b\\x6c\\x96\\x66\\x24\\x8d\\xcd\\x6a\\x74\\xb6\\x8a\\x3a\\xa3\\x4b\\xcb\\x34\\x8b\\x5a\\x5e\\x9d\\x18\\x39\\xc9\\x8a\\x05\\x2b\\xd4\\x04\\x4e\\x39\\xdb\\x21\\x6f\\xd9\\xd9\\x9d\\xf8\\xc0\\x04\\xcb\\x59\\x24\\x1b\\xb3\\x76\\xfd\\xc6\\x4b\\xa4\\xef\\x75\\x67\\x3c\\xdb\\x78\\xf4\\x52\\x18\\xda\\x72\\xf9\\x85\\x37\\xc2\\xcc\\xa4\\xf1\\x8a\\x68\\xf4\\xbf\\x2e\\xde\\x95\\xe9\\xe9\\xf6\\x56\\x8e\\x4b\\x0d\\x84\\x4e\\x6a\\xb6\\xb7\\xb2\\xa7\\xa3\\x2b\\x4c\\x7d\\xe3\\xad\\x7c\\x33\\xd2\\x9c\\x2c\\x10\\x0c\\x82\\x79\\xbd\\x3f\\xb2\\xd8\\xf7\\x53\\x86\\x6d\\xd4\\x54\\x34\\x10\\xb7\\x68\\xe3\\x5a\\x8f\\x9e\\x76\\x78\\x1c\\xe5\\x69\\x4b\\x30\\x16\\x9c\\x21\\x1a\\xa2\\xd1\\x98\\xd5\\xef\\xe7\\xb5\\x31\\x9a\\x07\\xed\\x68\\x32\\xa9\\xce\\x3d\\x5c\\xa5\\x23\\x63\\x2f\\xda\\xfc\\x14\\xfb\\xa2\\x0e\\xdb\\xa8\\x72\\xad\\x0e\\x1a\\x9f\\xa3\\xa3\\x4d\\xd0\\xed\\x02\\x0a\\x52\\xef\\x07\\x1a\\xe5\\xf3\\x1e\\x2e\\x4a\\x13\\x4f\\x38\\xf5\\xdb\\x97\\x9f\\x3c\\xfd\\x90\\x9f\\x1a\\x88\\x4f\\x21\\xde\\x6c\\x32\\x7c\\x08\\x7a\\xa5\\x5d\\xd2\\xf3\\x08\\x74\\x77\\x43\\xf0\\x81\\xa1\\xe9\\xcd\\xec\\xc0\\x11\\x1c\\x35\\xd0\\xff\\xf0\\x53\\x9f\\x0c\\xff\\xea\\xd7\\x57\\xbf\\xe7\\xe1\\x24\\x69\\xf7\\x7a\\xdb\\xf9\\x51\\xe9\\xcb\\x83\\xd2\\x51\\xe9\\x6b\\xe8\\x87\\xb6\\x83\\x30\\x14\\x3d\\xdf\\xb6\\x1e\\x8e\\x95\\x1e\\xe2\\xbf\\x7f\\xf5\\xb7\\x2f\\x95\\xf9\\xc7\\x1c\\x65\\x5b\\xd0\\x4e\\x8f\\xf6\\x17\\x4f\\xc4\\x40\\x5b\\x23\\x74\\x24\\x9e\\xe0\\xf4\\x8c\\x86\\x41\\xf3\\xcf\\xa3\\x61\\x80\\x29\\xef\\x40\\xeb\\x6b\\x91\\x92\\x25\\xd1\\x77\\x92\\x11\\x5d\\xac\\xec\\x34\\x44\\x4d\\x33\\xd4\\xbf\\x0a\\x27\\xd8\\xa8\\x61\\xe1\\x41\\xf6\\xf8\\xb8\\x29\\xf3\\x3b\\xe6\\x0c\\x90\\x7e\\x71\\x16\\x4f\\x2d\\xea\\xd2\\xe9\\x1d\\x21\\x0e\\x2d\\x15\\xe1\\xfa\\xc5\\x3d\\xdd\\x3f\\x1e\\xc5\\x7d\\x74\\x03\\xa0\\xf1\\xa2\\xbd\\x3b\\x00\\x6a\\x05\\x8f\\x39\\x18\\xe2\\x8d\\x76\\xda\\x69\\x47\\xf6\\x72\\xc0\\x6b\\x67\\x74\\x66\\xa3\\xb9\\x5d\\x34\\xe6\\xcb\\x5f\\x2b\\x63\\x4d\\x76\\x41\\x55\\xad\\x68\\x55\\x15\\xa7\\x7a\\x7a\\x64\\xaf\\x16\\xfb\\x61\\x34\\xd4\\x7f\\xd0\\x94\\x72\\xe9\\x3e\\xac\\xe8\\xa4\\xb2\\xdb\\xa9\\x86\\x6e\\x78\\x35\\xac\\x1a\\x7e\\xd3\\x94\\x89\\x2d\\xcc\\xa0\\x4d\\xce\\x33\\x9b\\x7a\\x9e\\x93\\x04\\xac\\xef\\xe0\\xb3\\xd4\\xdf\\xe5\\x9a\\xd6\\xb0\\x67\\x41\\xbb\\xff\\x17\\xe2\\xbb\\x90\\xc6\\xb0\\xb3\\xd9\\x75\\x20\\x01\\x04\\x21\\x1a\\xf4\\x78\\x92\\x25\\x61\\xad\\x36\\x51\\x12\\x63\\x5a\\xc4\\x18\\x08\\x99\\x7c\\x1e\\xb4\\x63\\x34\\x8b\\x3e\\xab\\x89\\x6b\\x11\\x4d\\x81\\x82\\xa8\\x1e\\x34\\xb5\\x89\\xf2\\x53\\x37\\x0a\\xe5\\x8c\\x18\\xf7\\xd3\\x42\\xe5\\x37\\x8b\\x46\\x28\\x77\\x97\\x93\\xbb\\xcb\\xce\\xae\\x4e\\x45\\x2a\\x9a\\x26\\xc5\\xa4\\xc4\\xf0\\x8e\\xa5\\x67\\x8d\\x1f\\x87\\x3d\\xef\\x67\\x2d\\xaf\\xf5\\x49\\x9b\\x3b\\x60\\xf7\\xad\\x12\\x9c\\x5f\\xb5\\xe1\\xc2\\x49\\x02\\xd3\\xb5\\xd0\\xd9\\x32\\xf1\\xc4\\x90\\x07\\xd6\\x8f\\x75\\xbc\\xd1\\xe1\\xbe\\xe2\\xfa\\x33\\xe8\\x45\\xc8\\x78\\xf6\\xf7\\x2c\\xa4\\x5f\\xba\\xec\\x72\\xbc\\x6f\\x90\\x38\\x2b\\x52\\xbf\\x7f\\xb2\\x50\\x65\\xb1\\x9b\\x1d\\x0e\\x64\\x8c\\xb2\\xac\\xd9\\x63\\x36\\x00\\xc6\\x1f\\x00\\x0e\\x1f\\x32\\x90\\xed\\x14\\x8d\\x2d\\x4e\\x9a\\x36\\x7a\\x7c\\x0e\\xb3\\xc6\\xa8\\x41\\x8a\\xd1\\x48\\xe7\\xe2\\x78\\x32\\x7d\\x3c\\x9b\\x6a\\xc1\\x31\\xa5\\x24\\x73\\x03\\xe6\\x39\\x51\\x4f\\x2c\\x79\\x9c\\x16\\x0f\\xd1\\xdc\\x20\\x09\\x79\\x33\\xe1\\x62\\x84\\xb6\\xcf\\x85\\x4d\\xc7\\x7f\\x99\\x16\\x1e\\x4d\\xdf\\x2c\\x3d\\x03\\x13\\xc8\\x50\\xee\\x84\\xb1\\xa5\\x3f\\xd4\\x0e\\x1e\\xe3\\x3f\\x69\\x98\\x4e\\x0d\\x6e\\x83\\xc7\\x9d\\x07\\xe1\\xd0\\x73\\x24\\x4d\\x5b\\xcf\\x73\\x2e\\x23\\x04\\xd2\\x1a\\x59\\xc7\\x90\\x98\\x2f\\xba\\x0b\\x19\\x2b\\x6d\\x42\\x05\\xf0\\x42\\x0f\\x34\\x5a\\x0c\\x56\\xab\\x47\\xeb\\xe1\\x0d\\x4c\\x20\\xe8\\xb1\\xb9\\x6c\\x59\\x11\\x98\\xcc\\xa6\\xac\\xe8\\x35\\x9b\\xf5\\x2e\\xab\\x01\\xea\\x61\\x56\\xd4\\xf3\\xbf\\xe3\\x91\\xed\\xd3\\x6f\\x48\\x47\\x65\\x08\\x17\\xad\\xe7\\xe2\\x38\\x30\\x47\\x9e\\xc9\\x51\\x9e\\xce\\xf0\\xf0\\xd8\\x3f\\x20\\x37\\xf0\\x4a\\x5f\\xa6\\xda\\x7b\\xf2\\xe4\\x89\\x77\\x20\\xfb\\xde\\xa7\\x03\\xe6\\x3a\\xc3\\xd5\\xd4\\xee\\x6f\\xdf\\x81\\xcf\\x4a\\x1b\\xfd\\xce\\x97\\xa5\\xe7\\x2b\\xe1\\xba\\x36\\x38\\x9e\\xb3\\xad\\x3a\\x5e\\x2b\\x6d\\x68\\x93\\xfb\\x9c\\x46\\x7b\\x8f\\x1d\\x8d\\x77\\x18\\x9c\\x29\\x94\\xf8\\xac\\x76\\xaf\\xd7\\xea\\x42\\xe3\\x1a\\xa4\\x83\\x91\\xa8\\xd7\\xe1\\x46\\x1b\\x8f\\xcd\\xe7\\xb3\\xb6\\x8b\\x3e\\x1f\\x70\\xd3\\x40\\xd7\\x2e\\x82\\x80\\x9a\\xc9\\x57\\xdd\\x07\\x39\\x3b\\x54\\x28\\x0a\\xd5\\xc0\\x0d\\xa2\\x41\\xd2\\xb0\\x3e\\x3f\\xd8\\x44\\x89\\xc0\\x7d\\xef\\xbc\\xcc\\x8c\\xf4\\x56\\x3f\\x30\\xed\\xc5\\xd7\\x3e\\xfb\\x68\\x21\\x7c\\xf8\\x91\\xaf\\xda\\x42\\xa3\\xe9\\x5a\\x29\\xdb\\x03\\x9d\\xd2\\x1b\\xd2\\x68\\x01\\x0e\\x7e\\xad\\xb2\\xe1\\xd8\\x77\\xff\\x3d\\x36\\x9e\\x6a\\xe4\\xdf\\x85\\x43\\x5b\\x7b\\x9e\\xb3\\x4b\\x1f\\xf5\\x4a\\x3d\\xd2\\xc7\\xa8\\xcf\\x8d\\xa8\\xcf\\x49\\xd2\\xe7\\xd1\\x42\\x82\\xb7\\x6a\\x35\\x76\\x83\\x5d\\x4b\\xd3\\xa4\\xcf\\x1a\\x34\\x3d\\x6c\\x1a\\x0d\\x20\\x19\\x42\\x3a\\x1a\\x78\\xf2\\x3d\\x2e\\x60\\x08\\xcc\\x9d\\xf3\\xc9\\xc6\\x23\\x31\\x76\\x1b\\xa0\\xca\\xf0\\x0e\\xf9\\x9c\\xb5\\x4e\\x4e\\xf8\\xa8\\xb5\\xd2\\xb7\\xd2\\x1b\\xd0\\xd9\\x23\\x65\\xe9\\xda\\xd1\\x21\\xf1\\x6f\\x8f\\xc0\\x87\\x17\\x7e\\xf4\\xd9\\xeb\\x2f\\x4c\\xdf\\x56\\xed\\x1d\\xc9\\xbc\\x2c\\x8d\\x86\\x25\\x90\\x86\\x00\\x96\\x38\\xa8\\xd1\\xad\\xd2\\x4b\\xef\\xf2\\x3d\\x7b\\xc7\\xff\\xf7\\xd8\\x77\\xc7\\x1a\\x2a\\x5f\\x93\\x5e\\x16\\xc8\\x38\\x8f\\x41\\x78\\xf3\\x42\\x34\\x37\\xf0\\x69\\x6b\\x99\\x55\\xe3\\xa4\\xec\\xac\\x57\\xcf\\x52\\x1a\\xec\\x68\\x73\\x34\\x8b\\x36\\xd6\\xcb\\x1a\\x0c\\xac\\x97\\x06\\x5a\\xad\\x15\\x61\\x12\\x2b\\x70\\xb7\\x14\\x75\\x5c\\x2e\\xbf\\x69\\xcf\\xf4\\x31\\xd8\\x71\\xbc\\x06\\xee\\xb8\\xec\\x04\\x8f\\xa2\\x9e\\xe7\\x83\\x39\\xa8\\x7a\\xa9\\xe1\\xae\\x5b\\xa5\\x87\\x29\\xa9\\x3a\\xcc\\x9d\\x3f\\x44\\xfa\\x3b\\x1c\\x37\\x46\\x8d\\xe2\\x40\\x5d\\x7e\\xfa\\xa1\\x0f\\x62\\xf0\\xd3\\xda\\xe3\\xab\\xac\\x4e\\xa9\\xba\\x52\\xda\\xba\\xfb\\x2e\\x1c\\xc0\\x81\\xfb\\x9a\\x55\\xfa\\x5a\\x86\\xe7\\x71\\xd4\\x63\\x2a\\x31\\x39\\x69\\x4a\\xe7\\xb3\\xb8\\xdd\\x3e\\x8a\\x2e\\x4f\\x9b\\x3d\\x1e\\x53\\xb3\\x18\\xd5\\x79\\x9c\\x1e\\x27\\xe0\\x79\\xd4\\x5d\\xde\\x0a\\x12\\xc5\\xdd\\x25\\x1e\\xdb\\x81\\x03\\x8b\\x8e\\xc3\\xd4\\x83\\x55\\xb9\\xd3\\x64\\x3b\\xc4\\x73\\x23\\xaa\\x4e\\x63\\xc8\\x60\\xe8\\xaf\\x1e\\xae\\x12\\x09\\xac\\xd2\\xf0\\x3d\\x8f\\x2f\\x9b\\x7a\\xc3\\x35\\x63\\xe0\\x38\\xe9\\xef\\xf2\\x8c\\x96\\xa4\\x87\\x61\\x4d\\xe3\\x95\\xd7\\x5f\\x73\\xc5\\xdd\\x0f\\x2a\\xa2\\x8c\\xef\\x7c\\xc8\\x61\\x1a\\x34\\x68\\x6c\\x63\\x25\\x6c\\x96\\xa7\\xf7\\x03\\x89\\x07\\x85\\x6c\\xa5\\xd1\\xb8\\x74\\xd9\\x15\\x0b\\x65\\xb1\\x90\\x5c\\x53\\xd0\\xfa\\xbc\\x09\\xe9\\xea\\x38\\xda\\x2b\\xcb\\xa2\\x20\\xcc\\x30\\x56\\x93\\x5d\\x67\\x0f\\xb3\\x61\\xaf\\x8e\\x49\\x24\\x81\\xd9\\x82\\xb4\\x75\\xd4\\x62\\xd1\\x06\\x02\\x58\\x81\\x33\\x5a\\x66\\xa6\\x1c\\x32\\x07\\x4e\\xf1\\x80\\xab\\x4b\\x53\\x09\\x32\\x80\\xd8\\x64\\x89\\x62\\x2d\\x3e\\x0c\\x36\\x20\\xed\\xa2\\x80\\xfe\\xbc\\x05\\xa6\\xcd\\xf0\\x34\\xa8\\xbd\\xe3\\xd1\\x2e\\xea\\x89\\x93\\x6f\\xec\\xdc\\xbc\\xa9\\x54\\x1a\\x0e\\xbf\\xa9\\x58\\x7e\\x7d\\xfd\\xa2\\x74\\x7c\\xc4\\xee\\x15\\x9f\\x7c\\x2a\\x4c\\xa1\\xee\\x19\\x7e\\xdb\\xc6\\x4d\\x9b\\x37\\xdc\\xbb\\x7a\\xcb\\xa8\\xd6\\x0b\\x6f\\xb9\\x66\\x75\\xd0\\xb3\\x0d\\x52\\xe9\\xa7\\x1e\\x5c\\xbd\\xbc\\x55\\x5e\\xab\\xe5\\xc8\\x4e\\xbc\\x8b\\x70\\xbe\\x8c\\x10\\xe2\\x01\\xbb\\xd1\\xee\\xa2\\xa3\\x74\\x34\\x91\\x0c\\x59\\xda\\xc5\\x50\\x08\\x38\\x9d\\xfe\\xe5\\xa2\\x13\\xcd\\x7f\\xa7\\xbc\\x50\\x39\\x50\\x44\\xe7\\x9e\\x2e\\x3c\\x76\\xc0\\xa7\\x4c\\x85\\x8b\\x14\\x19\\xf3\\x71\\x7b\\xbe\\xc4\\x81\\x12\\x1d\\x01\\xf7\\xbe\\x70\\x9b\\x71\\x44\\x65\\xc5\\x65\\x03\\xee\\xb9\\xed\\xca\\x1b\\xce\\x3d\\xab\\xa3\\x8b\\x3e\\x1b\\x1f\\x0c\\x6f\\x9d\\x7d\\xc1\\xeb\\x07\\x7f\\x76\\xa6\\xa1\\xef\\x79\\x4f\\xe8\\xf6\\x3f\\xed\\xb8\\xc9\\x43\\x8d\\x45\\xa8\\xeb\\xaa\\x43\\x16\\xa9\\xcd\\xf3\\xf4\\x6b\\xaf\\x1f\\x92\\xfb\\xdb\\x0f\\xf5\\x77\\x34\\x9a\\x47\\xd8\\x5e\\x49\\x15\\xf5\\x37\\xab\\xf4\\xb7\\x55\\x74\\x7a\\xd0\\x5f\\x07\\x82\\xdf\\x56\\x80\\xcc\\x2e\\xa0\\x46\\xfb\\xfd\\x6e\\xa7\\x0b\\x2b\\x45\\x16\\x77\\x9a\\x57\\x3b\\xfd\\xf0\\xa3\\x9d\\x3a\\x64\\xd1\\x2d\\xed\\xbf\\xe6\\x9a\\x25\\x2b\\xc7\\x8f\\x1d\\xbd\\x91\\xea\\xc1\\x9d\\x9e\\x33\\x71\\xd2\\xce\\x97\\x0f\\x3a\\x43\\x87\\x57\\x5a\\x3c\\xe7\\x5f\\xb2\\x78\\xba\\x0d\\x2e\\x8e\\x09\\xd2\\xae\\xc7\\x2c\\xff\\xb1\\x6f\\x58\\x79\\xc7\\x16\\xd4\\xdf\\x2a\\x40\\xd3\\x3c\\xb2\\xaf\\x92\\x20\\x23\\xf8\\x9c\\xda\\x64\\xc0\\x12\\xd0\\xd2\\xa9\\x92\\x40\\x32\\x96\\x44\\xe6\\x42\\xcc\\x6a\\x70\\x20\\x83\\xd0\\xc0\\x2b\\xf1\\x03\\x7d\\x43\\x34\\x20\\x29\\xe1\\x5f\\x40\\x7f\\xec\\xc2\\xec\\xc7\\x55\\x30\\x85\\x43\\xd0\\x72\\x36\\x15\\x6c\\x2e\\x1d\\x79\\xe9\\xd5\\x33\\x1f\\x7f\\x74\\xcc\\x43\\x35\\x95\\xb5\\x67\\x5d\\xfa\\x97\\xb2\\x91\\x57\\xac\\x9e\\x21\\xdb\\x54\\xd4\\xb1\\xaa\\x21\\x65\\xe9\\xea\\x6b\\xcf\\x5b\\xbb\\x3e\\xe8\\xf8\\x66\\xe5\\xa8\\xed\\x75\\x23\\x2a\\xd2\\x55\\x2b\\x66\\xac\\x22\\x96\\x15\\xf1\\xeb\\xf4\\xfe\\x86\\xd6\\xe6\\xb3\\xc8\\xe6\\xb6\\xa2\\x1d\\x72\\xac\\x90\\xb2\\x21\\x3b\\x8b\\xe6\\xcc\\xb4\\xd9\\x1f\\xb0\\x59\\x91\\x1a\\xe1\\x7d\\x3a\\x9d\\xc1\\xe0\\x6a\\x11\\x0d\\x36\\x0d\\xc2\\xae\\x68\\x06\\xd2\\xcd\\x22\\x0c\\xf4\\x8d\\xa1\\xec\\xe3\\xd1\\x91\\xab\\x98\\x12\\xa0\\x44\\x06\\xd1\\xc6\\xe2\\xca\\x86\\xfd\\xc8\\x99\\xba\\x16\\x0e\\x95\\x9e\\xbf\\xe7\\x0e\\xd8\\xb8\\xfa\\x9d\\xd5\\x77\\xf7\\xac\\xfc\\xe6\\xe8\\xbc\\x73\\xd2\\xd9\\xf1\\xe3\\xa5\\xd1\\x95\\x5e\\xe6\\xb0\\xb7\\xf2\\xb5\\x2f\\x5f\\xea\\x92\\xfa\\xbd\\x77\\xc6\\x14\\x58\\xfb\\xe6\\x25\\x6b\\xe3\\xc2\\x64\\x5c\\x63\\x13\\xf5\\x54\\x42\\xd8\\x83\\x06\\xce\\xa7\\x00\\x84\\x0c\\x4b\\xe1\\xd8\\x96\\xb7\\x54\\xa6\\x90\\x4c\\xdc\\x9e\\x91\\x66\\xce\\x44\\x17\\x20\\x3b\\x1c\\xd7\\x63\\x78\\x8a\\x5c\\xab\\x05\\x61\\xc1\\xcc\\xb0\\x10\\xb0\\x40\\xa7\\xa7\\x34\\x10\\x1f\\x54\\x66\\xde\\xaa\\x2b\\x38\\x78\\x8e\\xa2\\x2f\\xd2\\xe8\\x2f\\x7c\\x6a\\xe6\\xcc\\xb7\\x70\\x03\\xc7\\x97\\xa0\\x6f\\x42\\x80\\x2c\\x60\\xf8\\x23\\xfa\\x17\\x3e\\xff\\x8c\\x3a\\x2c\\xf8\\x00\\x94\\xa6\\x9d\\xbc\\x9d\\x9c\\x7d\\x5a\\x0c\\x90\\xd5\\xb0\\xed\\xa2\\x43\\x63\\x40\\x7f\\x4c\\xf8\\x98\\xf1\\x15\\xec\\xf7\\xb1\\x17\\xd4\\x2f\\x2e\\x4a\\x43\\x87\\xa4\\x82\\x61\\x7d\\xa6\\x1e\\x9f\\x6a\\x65\\x70\\xa6\\x06\\x9f\\x81\\x3f\\xee\\x9d\\xb9\\x17\\xfd\\x87\\x5f\\xe0\\x2f\\x92\\x1e\\xfe\\xd2\\xb6\\xbb\\x8d\\x1a\\xd0\\xf3\\xd7\\xb6\\xdd\\xbd\\xbd\\xe0\\x70\\xef\\x57\\xf0\\x2d\\x12\\xe3\\xc6\\xa8\\xbc\\x74\\x86\\x41\\x9a\\xcf\\x6c\\x84\\x97\\xce\\x96\\x02\\x43\\xd9\\x57\\xe5\\x98\\x71\\xcd\\xb7\\x24\\x7f\\x88\\xae\\xc9\\xe7\\x0f\\xa1\\x6b\\xf5\\x7e\\xf6\\xe6\\xdc\\xb5\\xd3\\xf0\\xb5\\x38\\xff\\x5b\\xd3\\xa4\\xe6\\xe4\\x69\\xdb\\xc8\\xef\\xcf\\x90\\x7f\\x8f\\x5d\\xf3\\xf8\\xf7\\x68\\x9e\\xca\\xdf\\x3f\\xa2\\x7d\\x5f\\xe5\\x5c\\xb0\\x69\\x41\\x25\\xf3\\x95\\x9a\\xef\\xa8\\xb9\\x90\\x70\\xa8\\xc8\\x9f\\x9f\\xad\\x7c\\x5e\\x26\\x8d\\xa3\\xff\\xa2\\x72\\x23\\xe0\\xcf\\xa9\\x81\\x6a\\x3b\\xba\\x67\\x48\\x3b\\xb5\\x72\\x3b\\xb8\\x1f\\x72\\x3b\\xda\\x2c\\x69\\x47\\xfe\\xfc\\x6c\\xe5\\xf3\\x6a\\x69\\x1c\\xdb\\x49\\x3e\\x6f\\x51\\xda\\x07\\xa7\\xad\\x11\\xd4\\x09\\xaf\\x94\\x39\\x1e\\xbd\\x24\\x37\\xf2\\xfb\\x6e\\xbf\\x9b\\xd6\\xf7\\xe5\\x78\\x2c\\xe0\\xd8\\xee\\x5c\\x04\\xf0\\xd5\\x15\\x76\\x7c\\xf5\\x77\\xdd\\x55\\xe5\\x26\\xcd\\xff\\x58\\xcf\\xa3\\x33\\x57\\xcf\\xc3\\x81\\xb9\\x59\\x9c\\x36\\x9d\\xa1\\xf0\\xfa\\xde\\x4f\\xd1\\xf5\\xe7\\x17\\xf0\\x15\\x77\\xbe\\x01\\xc8\\xd5\\x36\\x7b\\x09\\xa4\\x1c\\x16\\x86\\x3a\\xa5\\xfe\\x42\\xbe\\xbe\\x43\\x27\\xbc\\x5d\\xa9\\xef\\x80\\x09\\x05\\xf5\\xe1\\xbe\\xf5\\x1d\\xfa\\xf2\\xeb\\x76\\x92\\xdc\\x1a\\x72\\x3d\\xea\\x3e\\x08\\x2b\\x0c\\xbb\\xbf\\xcb\\xf3\\xdf\\x09\\x3b\\xe5\\x3a\\x02\\x61\\x92\\x8f\\x79\\xb2\\x3b\\x1a\\xb4\\x32\\x05\\xfd\\xe9\\xcb\\xb3\\xda\\x49\\x72\\x6d\\x70\\xef\\x51\\xfb\\x90\\x0d\\xfb\\x79\\xe3\\xa9\\xed\\x6b\\xa3\\x6a\\xfb\\xfa\\x4a\\xea\\x24\\xfa\\x85\\x5f\\xb0\\xd2\\x14\\xac\\xc0\\x15\\x24\\xa0\\xc7\\x17\\x90\\xef\\x20\\xa7\\x5f\\x14\\xf1\\xb4\\xfe\\x59\\xbe\\x0f\\x9a\\x63\\xf3\\xc0\\xc3\\xbd\\x5f\\x92\\xdc\\x9e\\x87\\xc1\\x61\\x90\\x12\\xbc\\x74\\xb5\\xa0\\x37\\x37\\x55\\x53\\x98\\xe0\\xd4\\x46\\x08\\x4d\\x77\\x12\\x12\\xd3\\x12\\x60\\x27\\x89\\x5c\\x98\\x45\\xa7\\xa8\\x0f\\xae\\x5c\\x1f\\xaa\\xa8\\x93\\xe8\\x32\\xb9\\x0f\\xfd\\xe4\\x3e\\x84\\x6b\\x7f\\xaf\\x0f\\x9a\\xc5\\xc5\\x7d\\xc0\\xfc\\x0c\\xe0\\x53\\xf0\\x65\\xae\\x5d\\x77\\xae\\xdd\\x6a\\xd4\\x6e\\x4a\\x69\\xb7\\x54\\x6e\\x77\\x60\\xfd\\xef\\xb6\\xbb\\xa4\\xa0\\xdd\\x87\\x88\\x6c\\x9d\\xe0\\x21\\xf0\\x25\\x1a\\x4b\\x13\\xdd\\x4f\\xb0\\xb9\\x9a\\xfa\\x61\\x01\\xfb\\x61\\x92\\x84\\x22\\x39\\xf2\\xf7\\xab\\x29\\xb8\\x5f\\x95\\x7c\\xbf\\xda\\xf0\\xff\\x91\\x1c\\x0f\\x11\\x39\\x46\\x82\\xc5\\xe8\\x7e\\x14\\x38\\x03\\xfd\\x7e\\x28\\x39\\xfb\\x08\\x80\\xc1\\x42\\xc8\\xa7\\xf3\\x3a\\x81\\xd5\\x69\\x45\\x86\\xa3\\x0f\\xb3\\x10\\x38\\x4c\\x0e\\x17\\xce\\xc0\\x20\\x94\\xeb\\xb6\\x53\\xbd\\x8e\\xc4\\xd5\\x53\\x47\\x0e\\x3c\\xfa\\x91\\xa8\\x07\\x6d\\x3d\\x71\\xbb\\xe3\\xe3\\xd6\\x88\\xbd\\x1e\\xbb\\x1b\\xa3\\xc8\\x20\\xef\\x1c\\xba\\x62\\x4e\\xff\\x5b\\x6b\\x6a\\x1e\\x38\\xe7\\xf0\\x1b\\xfb\\x5f\\x90\\x6e\\x87\\x17\\xcc\\x5d\\x28\\x5d\\x34\\x15\\x7e\\xe4\\xb8\\xe1\\x8e\\xac\\xc3\\x38\\x20\\x5c\\x75\\x44\\x3a\\xf1\\xf3\\x4f\\x70\\x73\\xab\\x74\\xde\\x8e\\x6d\\x4f\\xde\\x51\\xb0\\x76\\xc9\\xfc\\x49\\x28\\xf3\\x07\\x73\\x8f\\x86\\x04\\x3d\\x43\\x53\\x25\\x6c\\x89\\x52\\x4f\\xcb\\xe9\\x92\\x17\\xb0\\x22\\x76\\x6e\\x0d\\xff\\x59\\x5e\\xc3\\x48\\x23\\xcc\\x5b\\x22\\xcf\\x9e\\x25\\xf2\\xec\\x61\\x86\\xe1\\xc1\\x1d\\x46\\x53\\xff\\xe3\\xec\\x39\\xcd\\xfd\\x6b\\xc9\\xfd\\x0b\\xea\\x9f\\x14\\xdc\\x5c\\xcd\\xc1\\x92\\xef\\x7d\\x48\\xbd\\x37\\x75\\xe7\\xa2\\x6e\\x72\\xef\\xc5\\xe0\\x17\\x9c\\x25\\x5e\\x66\\x2f\\xc9\\x71\\xf1\\x69\\x76\\x93\\x1c\\xb7\\xd5\\x72\\xde\\x1a\\x75\\x44\\x59\\xdb\\xe5\\x68\\x6d\\x7f\\x52\\x5a\\xae\\x8b\\x16\\xad\\x25\\xc2\\xa9\\x4f\\xf2\\xdc\\x76\\x28\\x39\\x71\\xd3\\xe5\\xb5\\x47\\x0f\\xb7\\x97\\xd0\\x9a\\xc6\\xe1\\x8e\\xf2\\x82\\x7a\\x19\\x50\\xe6\\x2d\\x44\\xd8\\xb2\\x14\\x9c\\x23\\x54\\xba\\x74\\x91\\x40\\x20\\x45\\x51\\x16\\x1d\\x5d\\x56\\x0e\\x43\\xe1\\x50\\xbb\\x98\\x0a\\x97\\x44\\xe3\\xd1\\x76\\x31\\x1c\\x0f\\xc7\\x59\\xa3\\x91\\x6b\\x17\\x8d\\x0c\\xeb\\x6d\\x17\\x59\\xae\\x0f\\x68\\x2e\\xda\\x95\\xdc\\xaa\\x9b\\x19\\x6f\\x4b\\x7c\\x41\\x28\\x59\\x9f\\xe8\\xb1\\x7a\\x95\\xb9\\x53\\xcb\\x67\\xd8\\x55\\x2b\\x0b\\x82\\xc8\\x8e\\x7d\\x55\\x14\\x39\\x26\\xfd\\x07\\x9a\\x71\\xf4\\xd8\\x4a\\xe8\\x7a\\x27\\x1f\\x40\\x36\\x44\\xfa\\xbc\\x28\\x70\\xec\\x8e\\xb6\\xf5\\x38\\x72\\x6c\\x3d\\xde\\xcf\\xa4\\x31\\x74\\x2f\\xe3\\x47\\xda\\x76\\x00\\x10\\xd0\\x1e\\xb4\\x5e\\x18\\x37\\xd4\\x68\\x1c\\xd8\\xa8\\x1f\\xad\\x8f\\x59\\xfa\\xdb\\xdd\\xbe\\xa8\\xb5\\x26\\x80\\x86\\x7e\\x60\\xc0\\x6e\\xb1\\xfa\\x58\\x4d\\x99\\xa6\\xac\\xe9\\xcc\\x70\\x65\\x56\\xb4\\x86\\xc3\\x43\\x9d\\xa3\\x81\\x56\\xa7\\xcd\\x8a\\x8d\\xe5\\x3a\\x1d\\x3d\\x74\\x68\\xb2\\x55\\x1c\\xca\\x3b\\x33\\x59\\xd1\\xe7\\x71\\xda\\xe8\\xe1\\x59\\xf9\\x48\\x12\\x09\\xff\\x4a\\xa6\\x10\\x62\\x67\\xf2\\xce\\xc3\\x02\\x5b\\x2d\\x5f\\x81\\xd9\\xae\\xa4\\xe3\\xd8\\xe5\\x68\\x29\\x39\\x94\\x02\\x6d\\xd6\\x24\\x5c\\xb3\\x41\\x71\\xb0\\xb9\\x1b\\xdc\\x5a\\xb9\\xa8\\x5e\\x4a\\x8b\\xf0\\x62\\x14\\xa1\\x1a\\x84\\xc1\\x0b\\xdd\\xf1\\xf8\\x08\\x2b\\xaa\\xd1\\x46\\x59\\x34\\x7e\\xd1\\x10\\xa4\\x5f\\xa8\\x3e\\xf6\\xec\\xb3\\x6f\\x30\\x93\\xe7\\xc5\\x96\\x0e\\x1c\\x7f\\xcf\\x3d\\x2f\\x3d\\x9b\\x5c\\x1a\\xfe\\x34\\xbe\\x66\\xe4\\x5f\\x76\\xb7\\x8e\\x69\\xa4\\x9b\\xfa\\x43\\xd7\\xa6\\x0d\\x74\\x59\\xcf\\x8f\\x0b\\xce\\x9d\\x3e\\xf7\\x82\\x99\\x1d\\x70\\xf7\\x98\\x33\\xa4\\x5b\\x1b\\xdd\\xd4\\x78\\xe9\\x81\\xeb\\xb6\\x44\\x7a\\xf6\\x68\\xaf\\xf8\\x7c\\xde\\xa2\\x8b\\x2f\\x68\\x1b\\xd5\\xca\\x4d\\xad\\x7f\\x62\\xec\\xa1\\xcd\\x3b\\xac\\x86\\x85\\xe9\\xf5\\x67\\xdd\\x72\\xdf\\x76\\xeb\\x4a\\x7b\\xe8\\xda\\xa5\\x15\\x6d\\xd4\\x9c\\x2b\\x56\\x5c\\x77\\xf1\\xe2\\x6b\\xaf\\xbd\\xb4\\xe7\\xf8\\x40\\xa1\\xa1\\xf9\\x6f\\xe3\\x86\\x35\\x8d\\x00\\x05\\xbc\\x97\\x79\\x2e\\xce\\x4e\\xf8\\x94\\xb2\\xaf\\xa5\\x30\\xff\\x68\\x59\\x52\\x13\\x2e\\x9a\\x9f\\x7d\\xf9\\x38\\x3b\\x01\\xe6\\x1c\\xe6\\xbb\\xe9\\x33\\xd0\\xf4\\x7c\\xba\\xf7\\xbd\\xee\\x33\\x47\\x3b\\xcd\\x05\\x7b\\x09\\x8e\\xcd\\x7a\\x82\\xb4\\x5f\\xa5\\xb4\\x2f\\xc8\\x7b\\x4f\\x84\\xec\\x3d\\x5b\\xba\\x63\\x21\\x87\\xa6\\xe0\\x7a\\xc2\\xa1\\x45\\xb8\\x2b\\xc7\\xab\\xed\\xc3\\xe5\\xe4\\x7a\\x0a\\x5f\\x7f\\x08\\x5d\\xef\\xc9\\xef\\xb4\\xb8\\xee\\xe4\\x02\\x12\\xf7\\x80\\x73\\xca\\x90\\x85\\xeb\\x73\\xd0\\xb4\\x5b\\x17\\x31\\xeb\\xcc\\x25\\x29\\x01\\x13\\x23\\x46\\x52\\x94\\x9f\\x36\\xc4\\xdb\\x45\\x03\\x03\\xf8\\x0e\\x11\\xb0\\x6c\\x10\\x19\\xea\\x78\\xf6\\xcb\\xd9\\x15\\x64\\x02\\x14\\xc4\\x38\\x90\\x17\\xac\\xe7\\xf0\\x99\\x4a\\x43\\x82\\xc4\\x07\\xe0\\xb9\\xcf\\x6a\\x14\\xeb\\x50\\x53\\x18\\x20\\x40\\x2f\\x5f\\x78\\xe9\\x60\\xe9\\x35\\x69\\xaf\\x12\\xf8\\xf0\\xb5\\x74\\x24\\x71\\xc6\\xc8\\x21\\x03\\x46\\xf5\\x9c\\xa5\\x06\\x08\\x48\\x0b\\x96\\xcc\\x9e\\xdc\\xac\\x81\\xb3\\xe0\\x58\\x25\\xf8\\xe1\\x55\\x69\\x9b\\xaf\\xe9\\xac\\xb1\\xcd\\x2e\\xa1\\x8a\\xc9\\xf4\\x8d\\x10\\x90\\xcf\\xa9\\x17\\xd0\\x4f\\x20\\x5d\\x8d\\x65\\xba\\x4e\\x88\\x47\\x18\\xab\\x55\\xef\\xf4\\x21\\x55\\x52\\x92\\xb2\\xa5\\xb6\\xa4\\xf6\\x60\\xa6\\x47\\x90\\x7a\\x27\\x75\\x34\\x45\\x37\\xe2\\x37\\x14\\x21\\x7b\\xf4\\x0c\\x1f\\xdb\\xd4\\x98\\x82\\x36\\x59\\x6a\\x21\\x45\\x03\\xfc\\x2b\\x99\\x11\\x52\\x70\\x25\\xab\\x9a\\xdc\\xc1\\xac\\xe8\\xb6\\x99\\xd0\\xba\\x30\\xd9\\xed\\xf1\\xac\\x48\\xd9\\x5d\\xc5\\xa3\\x40\\x38\\x1c\\x17\\x2f\\xc6\\x24\\x8e\\x17\\xf7\\x19\\x0d\\x5b\\x5e\\x7e\\x72\\xda\\xa4\\x46\\x28\\x17\\x55\\xef\\xa5\\x9f\\x90\\xb6\\xc8\\xe2\\x9f\\x87\\x86\\xe5\\xe5\\x97\\x3f\\xfa\\xe4\\x83\\x8f\\xbb\\xd5\\x00\\x03\\x78\\x58\\x1a\\x53\\x3d\\x7e\\x0c\\x11\\x7b\\xc9\\xec\\x49\\x59\\xe3\\x89\\x6f\\xbf\\x3f\\xf9\\xcb\\x7f\\x72\\xe1\\x05\\x84\\xb7\\x61\\x81\\xcc\\x3b\\x83\\xf3\\x45\\x73\\xbc\\x33\\x58\\x57\\x96\\x61\\x9e\\x98\\x54\\x99\\xce\\x5c\\x8c\\x83\\xf0\\x38\\x61\\x5d\\x89\\xeb\\xd4\\xe5\\x72\\x82\\xc9\\xf5\\x76\\x72\\xbd\\xb3\\x0f\\x0e\\xc2\\x3e\\x27\\x3c\\x17\\xe1\\x1f\\x94\\xb9\\xf5\\xae\\x32\\xd7\\x31\\xef\\xac\\xa1\\x34\\x41\\x07\\x8b\\xae\\x8f\\x22\\x9b\\x67\\x02\\x9e\\xeb\\xb8\\x32\\x2a\\xc6\\x70\\xe7\\xc9\\x28\\xa8\\x04\\xa1\\x20\\x50\\x9a\\x60\\x82\\xf9\\x79\\x4b\\xf8\\xf8\\x26\\xe2\\x6b\\xe1\\x6f\\xf2\\xb5\\xcf\\xc9\\xd7\\x7a\\xd0\\xb5\\x0b\\x7d\\x2e\\x4d\\x61\\xbd\\x2d\\x82\\xd3\\x09\\xe6\\x4d\\x11\\x0c\\x3b\\x54\\xc5\\xbc\\x04\\x93\\xe7\\x3f\\x9f\\xa6\\x7c\\x2e\\x63\\xf1\\x75\\x0a\\x16\\xd7\\xca\\x58\\x3c\\xb7\\x76\\xff\\xa6\\xae\\x5d\\xb0\\x1c\\xbe\\x59\\x20\\xcf\\x19\\xb1\\xd3\\xaf\\xdd\\xf5\\xea\\xda\\x55\\x78\\xf6\\xf1\\xde\\x32\\x06\\x2d\\xde\\xc9\\x23\\x0a\\x56\\xae\\xca\\xd5\\xa4\\x35\\x21\\xbb\\x1f\\xed\\xac\\xc2\\x20\\x64\\xde\\xb8\\xac\\x25\\x25\\xda\\x40\\x54\\x1b\\x4d\\x95\\x5a\\x60\\x87\\x88\\x43\\xc0\\xad\\x96\\x46\\x4b\\xb3\\x85\\x36\\xd2\\x96\\xb0\\x25\\xcc\\x1a\\x78\\x9b\\x59\\x67\\xd0\\xe1\\xc0\\x4f\\xda\\x2b\\x87\\x7d\\x26\\x58\\x47\\x3e\\x38\\x56\\x89\\x4b\\xcb\\x97\\x44\\x4c\\x17\\x86\\x53\\xc8\\x11\\x89\\x30\\x5a\\x78\\xca\\x6d\\x8f\\x16\\xc6\\xa5\\xa9\\x11\\xb2\\x08\\x72\\x30\\xe1\\x9e\\x4e\\x42\\xdc\\x94\\xa3\\x5e\\xed\\x38\\x6f\\xf2\\xfc\\x4b\\x61\\xe8\\x99\\x9d\\xd2\\xe5\\xd4\\x75\\x98\\x60\\x55\\x2d\\x7f\\xd4\\xf3\\x23\\x65\\x25\\xce\\xf4\\xf0\\xc5\\x33\\x96\\x4d\\x53\\x43\\x64\\x21\\x4f\\xd6\\x5a\\x0c\\xcd\\x89\\x0c\\xd2\\x1f\\x36\\xb4\\xda\\x90\\x5d\\x6b\\xc7\\x76\\xad\\x13\\xd9\\xb5\\x3e\\xbf\\xcd\\xde\\x81\\xcf\\xed\\xb1\\x5d\\xeb\\x9e\\x81\\xd4\\x07\\xf6\\xfd\\x6b\\x68\\x48\\xb7\\xff\\xff\\xb0\\x6b\\x01\\x36\\x6c\\xe5\\x30\\x2f\\xb8\\x4e\\xba\\xed\\xe1\\x87\\xe1\\xfc\\x6b\\x5e\\x79\\xb8\\x5b\\x7a\\x48\\x7a\\xfc\\xc8\\x7f\\x16\\xcf\\x5d\\x75\\xa5\\x34\\xba\\xde\\xaf\\x11\\x7d\\xf5\\xaf\\x7e\\xd0\\xfb\\x8d\\xf4\\xae\\x34\\xec\\xda\\x19\\x0b\\xd0\\xe4\\x37\\xdf\\xbe\\x73\\x83\\xca\\xe9\\xa5\\x4d\\xe5\\x78\\xc6\\x46\\xc2\\x8b\\xe0\\xed\\xf9\\x3a\\x60\\x7f\\xed\\x76\\x79\\xed\\x85\\xf8\\xbd\\x88\\x6b\\x0c\\xd7\\x5d\\x98\\x87\\x35\\x34\\x8c\\xd9\\xf1\\xd5\\xdb\\xbb\\xc3\\x31\\xbf\\xfe\\xd4\\xfa\\xaa\\xda\\x8f\\x65\\xfc\\x63\\x4b\\xc9\\xb5\\x4c\\xc9\\xfc\\xf8\\x80\\x1a\\x0b\\xa2\\x82\\x99\\xa6\\x4a\\x69\\xe6\\xc2\\x8a\\x2a\\x2f\\x97\\xc4\\x70\\x48\\xea\\xf6\\x72\\x2c\\x4e\\x1e\\xaf\\x4f\\xcb\\xc5\\x4d\\x55\\x3c\\xa4\\x4d\\x2b\\x78\\x28\\x25\\xd7\\x0d\\x22\\x79\\xd2\\xfb\\xe0\\x9d\\xc0\\x87\\xb0\\xdc\\xc4\\xc6\\xe1\\x15\\x25\\xc9\\x3e\\x75\\x84\\x0a\\x30\\xd2\\xdf\\x54\\x8c\\x04\\x96\\xd3\\x82\\xcc\\x6b\\x53\\x81\\x6d\\x37\\x38\\xb2\\x3b\\x55\\xae\\x8d\\x16\\xf0\\xc5\\x10\\x8c\\x44\\xe4\\xdb\\xa1\\xcc\\xe3\\x7b\\x49\\x2e\\x36\\x3d\\x65\\xd8\\x70\\x47\\x99\\xca\\x11\\xf5\\x9a\\xc2\\x11\\xb5\\x59\\xb9\\xe6\\x43\\x39\\x17\\x9b\\xc6\\xa8\\x7d\\x6a\\xbc\\x04\\x68\\x72\\xb9\\xd8\\xa4\\x26\\x07\\x69\\xef\\x59\\x90\\xaf\\x03\\x81\\xda\\x9b\\x11\\x2f\\xd1\\x2b\\x9c\\x36\\x7d\\x6a\\xd6\\x52\\x07\\xa8\\xab\\x70\\x9e\\x3e\\xc2\\x88\\x21\\x19\\x23\\x3e\\xda\\xed\\xf7\\xf4\\xc1\\x88\\xa9\\xe2\\x7a\\x4f\\xd4\\x01\\x78\\xb1\\x82\\x2b\\x6b\\xed\\xe4\\x3b\\x3b\\xba\\xab\\xd2\\xb2\\x9d\\xd9\\xa7\\xae\\x6c\\xbe\\xa6\\xc0\\x41\\xea\\x7d\\xd9\\x8e\\x0d\\x11\\x3b\\xf6\\x87\\xee\\x90\\xeb\\x34\\x76\\xec\\x25\\xb9\\x7b\\x1c\\x84\\x9f\\x28\\x3a\\xb0\\x16\\xeb\\xc0\\xda\\xb2\\x3e\\x76\\x6c\\x9f\\x5a\\x9c\\x48\\x0e\\x37\\x91\\x83\\xc2\\xfb\\x3d\\x2e\\x93\\xf3\\x76\\x77\\x22\\xea\\xf7\\x16\\xf5\\xa9\\x4f\\x0d\\x21\\x24\\xc7\\x76\\x45\\x8e\\x52\\x59\\x8e\\xef\\xbb\\x93\\x31\\x2b\\x5f\\xf4\\x9d\\xbe\\x3c\\xe9\\x07\\xa9\\x69\\x05\\xb8\\x02\\xa6\\xc2\\xfe\\xe2\\x1a\\x9e\\x7d\\xb9\\xd2\\x0f\\xc2\\xcf\\x14\\x39\\xd0\\x3d\\x28\\x67\\x69\\x44\\x6e\\x3f\\x67\\x5f\\xbf\\x85\\x16\\xef\\xaa\\x7c\\x3d\\x4e\\xd4\\x27\\x55\\x0e\\xb7\\x2c\\xc7\\x7b\\xdd\\x4e\\xbb\\xce\\x50\\xd8\\xa7\\xde\\xab\\xd0\\x77\\x06\\xe5\\xea\\x0c\\xa1\\xef\\x80\\xd7\\x89\\x1c\\x14\\xe4\\xed\\xe4\\x3b\\x2f\\x76\\x3b\\xac\\xb2\\x65\\x9e\\x93\\xa3\\x2f\\x67\\xef\\x41\\x38\\x51\\xc6\\x2f\\x6e\\x85\\xb3\\xd7\\x6d\\xcd\\x5b\\xfe\\xe8\\x1e\\x47\\xd1\\xf5\\x55\\x39\\xce\\x5e\\x7c\\xbd\\x95\\xe0\\x23\\x7c\\x0b\\x52\\x84\\x88\\x37\\x9f\\xc6\\xf6\\xcf\\x73\\x99\\xe5\\xe7\\x55\\x4c\\x9e\\x57\\x3b\\xbb\\xc3\\x81\\xc2\\xda\\x8b\\x7d\\xb9\\xcd\\x8a\\x9e\\x47\\x4c\\x7e\\x1e\\xcf\\xa0\\xef\\xa8\\x45\\x71\\x94\\xef\\xf4\\xe5\\x60\\x3b\\x48\\x7d\\x29\\xcf\\xab\\x98\\x52\\x13\\x32\\xe6\\x2b\\xaa\\x09\\xd9\\x97\\x87\\xed\\x20\\x94\\x88\\x1c\\xf8\\x16\\x44\\x05\\xc4\\x7c\\x79\\x2f\\xc3\\xa9\\x7c\\x59\\xa8\\x4f\\xbf\\x29\\x72\\x94\\xcb\\x72\\x8c\\xee\\x4e\\x25\\xf4\\x5c\\xd1\\xf3\\xb8\\x15\\x8d\\xd5\\xa6\\x1c\\x7f\\x16\\x7e\\x1e\\x7f\\x53\\x9e\\x47\\x44\\x7e\\x1e\\x37\\x77\\x07\\x7d\\x56\\xd8\\x77\\x5e\\xa1\\xfb\\xbc\\x9c\\xbb\\xcf\\x41\\x6a\\x8e\\x2c\\x47\\x39\\x91\\x63\\x4b\\x77\\x79\\x4c\\xbe\\x8b\\xd2\\xaf\\x32\\x72\\x8f\\x4b\\x72\\xf7\\x38\\x08\\x97\\x2a\\xbe\\x0c\\x74\\x0f\\xc8\\x45\\x3c\\x56\\x78\\x1a\\x5f\\x49\\x9e\\x8f\\xe3\\x00\\x75\\x9d\\x32\\xaf\\x12\\xf2\\xbc\\xda\\xd5\\x1d\\x0d\\x29\\xf6\\xf7\\xef\\xf1\\x71\\x1c\\x80\\x37\\x2b\\x72\\xc4\\x64\\x39\\x76\\xa0\\xe7\\x21\\xfb\\x4c\\x72\\xdf\\xe9\\xcb\\x55\\x72\\x90\\xd6\\x2a\\xeb\\x03\\xf3\\xcd\\xc7\\x13\\x81\\xbc\\x47\\xa6\\xc0\\x57\\x92\\xe7\\x2b\\x39\\x48\\xe9\\x15\\x39\\xb0\\x5a\\x37\\xc7\\x7c\\x7d\\x7c\\x32\\x7d\\xb8\\xb2\\x74\\xfb\\xe0\\x45\\x40\\xa9\\xbe\\xf3\\x6e\\x77\\x5d\\x95\\xcc\\x6c\\x75\\x0a\\x57\\x16\\xba\\x0e\\x1c\\x51\\xaf\\x3b\\xd1\\x5d\\xa9\\x20\\xa8\\x53\\x79\\xad\\x50\\x7b\\xb8\\xc8\\x0f\\xfb\\xc4\\x51\\x5c\\xfc\\xa1\\x2f\\xd7\\x91\\x0d\\xb7\\x73\\x23\\xc1\\x10\\x67\\x29\\xfb\\x6b\\x02\\x0c\\x17\\xa2\\xa6\\xb8\\x23\\xaa\\x8f\\xc6\\x2d\\x3e\\x86\\x41\\x28\\x3f\\x59\\x12\\x37\\x59\\x2d\\x16\\x13\\x13\\x0a\\xf1\\xed\\x62\\x88\\x61\\x71\\x4e\\x65\\x26\\x9f\\x51\\x99\\x29\\xce\\xc0\\xa8\\xad\\x49\\x3a\\x35\\x0c\\x5b\\x5f\\x01\\x49\\x7c\\x80\\x46\\x8b\\xfe\\x95\\x3f\\xee\\x18\\x06\\x33\\x11\\xec\\x40\\x66\\x98\\xcc\\x01\\x69\\x8c\\x74\\x3f\\x52\\x07\\x53\\xb7\\xdf\\xbc\\xee\\xee\\xb7\\x60\\x03\\xac\\xd8\\xb6\\x73\\x7c\\x57\\x43\\x7c\\xc4\\x55\\x2f\\x4c\\x86\\xa9\\x13\\xd2\\x41\\x38\\xe1\\xbe\\xa7\\x7e\\xda\\x10\\x6d\\x4d\\x5c\\xff\\xfa\\xc6\\x7b\\x9f\\x34\\x97\\xbb\\x5a\\x2b\\xde\\x7f\\xf6\\xde\\xb5\\x61\\xd7\\x36\\x48\\xf9\\xec\\x4f\\xbc\\x2e\\xfd\\x77\\x7d\\x13\\xee\\xfb\\xd9\\xd2\\x68\\xea\\x1b\\x84\\xc3\\x23\\x38\\x67\\x80\\x71\\x38\\x9c\\xc0\\xc4\\x78\\x83\\x2e\\xaf\\x2b\\x1a\\x73\\x86\\x21\\xf0\\x99\\xc2\\x80\\xb6\\x7a\\x03\\x56\\x84\\xa8\\xad\\x8a\\xcf\\x24\\x97\\x2e\\x52\\x70\\x34\\x59\\x5b\\xd3\\x50\\x3f\\x0c\\x9e\\x72\\x32\\xc3\\xf0\\x4e\\x24\\x4d\\x02\\x09\\x93\\xd2\\xbc\\xd8\\xb5\\x75\\xf2\\xf4\\xba\\x6c\\x30\\xdd\\xb0\\xf6\\xf2\\xbd\\xf7\\x7d\\x0e\\xb5\\xd2\\x3e\\xe9\\x3e\\xd0\\xfb\\x8f\\xe7\\xb2\\x92\\x10\\xdf\\xb1\\x7e\\xd9\\x9c\\x88\\x75\\x3b\\xd4\\x84\\xd7\\xdd\\xfd\\xe9\\xc2\\x51\\xdf\\x1f\\xfc\\xac\\x44\\x28\\xff\\x4b\\xd7\\x07\\x75\\x5e\\x65\\x3d\\xac\\xd1\\x86\\x1d\\x6a\\x5d\\x80\\x4e\\x88\\x50\\x33\\xd9\\xed\\x89\\x7e\\x92\\xba\\x13\\x11\\x96\\x2b\\xae\\x75\\x4e\\x7f\\xad\\x2d\\x73\\xa8\\xb5\\x01\\x3a\\x41\\x37\\xdc\\x24\\xcf\\x3b\\x64\\x60\\x99\\x4b\\x62\\x01\\x63\\x31\\x06\\x94\\xc6\\xb1\\x25\\xec\\x19\\xc0\\x8f\\x73\\xd4\\x1c\\x3a\\x9d\\x99\\xf2\\x9a\\xbd\\x81\\xa0\\xd6\\xe1\\xe0\\x79\\x76\\xa6\\xc8\\x33\\x36\\x0b\\x26\\xe8\\x54\\x23\\x0e\\x64\\x2a\\xfe\\x82\\xb0\\xd9\\x3e\\x7c\\x96\\xc5\\x41\\xf0\\x08\\x23\\xd9\\x8a\\x22\\xdf\\xf9\\x5c\\x58\\x3c\\x6d\\xe9\\xfa\\xe4\\x86\\x2e\\x99\\x9a\\x73\\xc1\\x0d\\x7f\\x69\\xbe\\xed\\xbe\\x2e\\x69\\x5c\\xbd\\x9f\\xad\\x82\\xec\\xdc\\x13\\xff\\x54\\xc1\\xdd\\x8a\\x71\\x43\\x5f\\x79\\xf6\\xf8\\xfb\\x7e\\xb9\\xf6\\xd7\\x58\\x34\\xd7\\x76\\xb0\\xeb\\xd0\\xf3\\x2a\\x47\\xda\\x61\\x99\\x30\\x34\\xcd\\x71\\x38\\x0b\\xd4\\x63\\x08\\x06\\x6b\\x2c\\x94\\xa5\\x7f\\x83\\xa7\\xa6\\xa6\\xca\\x56\\xd5\\x2a\\x06\\x2d\\x16\\x9b\\x0d\\xf8\\xfd\\xae\\x4c\\x56\\x74\\x05\\x4c\\x86\\x66\\xd1\\x04\\xd8\\xb2\\xac\\xc8\\xda\\x4a\\xc2\\x61\\x40\\x0e\\x15\\x5d\\x7d\\xe2\\x51\\xf3\\xb5\\x07\\x55\\x37\\x49\\x41\\xe4\\x66\\x3e\\x12\\x87\\xcd\\xe7\\x26\\x63\\xac\\x9a\\x2b\\xb1\\x8f\\xe6\\x6b\\xbc\\x7f\\x43\\xaa\\x5e\\x93\\x2f\\x6e\\x22\\xc7\\xb2\\x92\\x43\\x25\\xf8\\x86\\x92\\xaf\\x7c\\x0f\\x1c\\x55\\x51\\x75\\xfe\\xf2\\x8b\\x67\\xec\\x1e\\x5c\\xeb\\x3b\\x33\\x30\\x03\\x2e\\x92\\xb6\\xaa\\x99\\xcd\\x74\\xf3\\xe0\\x91\\xfd\\x4a\\xe9\\xe1\\x43\\xca\\x6b\\x9c\\x6a\\x0e\\xf3\\x31\\x4f\\xe5\\xf1\\x80\\xf1\\xc2\\x09\\xe3\\x67\\xde\\x3e\\x70\\xd2\\x9d\\xb3\\xb8\\xbf\\x4f\\x84\\x5f\\xc8\\x99\\xce\\x27\\x16\\x26\\xea\\x8d\\x67\\xb7\\x56\\xe1\\x9a\\xaa\\x38\\x06\\x89\\x9d\\x0b\\xe2\\x68\\x0f\\x5b\\x2c\\x24\\x80\\x87\\xd7\\x94\\xd3\\x8e\\x92\\xf2\\x00\\x1f\\xa1\\x4b\\x78\\xda\\xaa\\xb7\\xea\\x2b\\xab\\x3c\\x5e\\x5c\\x01\\xda\\x11\\x2a\\x0d\\x95\\x76\\x88\\x1e\\x52\\x5f\\x40\\x6f\\x6e\\xf2\\x84\\x3c\\x21\\x60\\x02\\x71\\x64\\x39\\x9b\\x4c\\x89\\x0e\\xd1\\x24\\xbb\\x8d\\x94\\xbc\\x43\\xe2\\x37\\x92\\x53\\x58\\x33\\xe9\\x3e\\xd9\\x45\\x38\\xd8\\x64\\xa0\\x7c\\x48\\x49\\x0e\\xa7\\xb4\\xf8\\x95\\x89\\x46\\x12\\xf5\\x6a\\x7e\\x6b\\x83\\xdb\\x02\\x79\\x64\\x5e\\xdb\\x71\\xb4\\x4f\\x04\\x1b\\xda\\x08\\xe5\\x53\\xf7\\xff\\xed\\x8d\\x6d\\xeb\\x76\\xee\\x95\\xfe\\x29\\xfd\\x57\\x3a\\x26\\x7d\\xb7\\xe7\\xf1\\x1b\\x1e\\x7c\\xeb\\x30\\xbc\\x78\\x3e\\xe4\\x21\\x3f\\x7b\\xf9\\x40\\x38\\x41\\x7a\\x54\\x7a\\x74\\x07\\x3b\\xd7\\xba\\x75\\xfb\\xd5\\x8f\\x05\\xb9\\xc7\\x3b\\x5f\\x7d\\xe5\\x95\\x57\\x57\\x3f\\xc1\\xf9\\xee\\x5f\\xbe\\x66\\x8d\\x75\\x0a\\x77\\x81\\x28\\xfd\\x0c\\x13\\x17\\x5d\\xed\\x3a\\x31\\x00\\x56\\x43\\x97\\xf4\\xdd\\x9d\\xb7\\x82\\x5c\\xbd\\xbf\\xf5\\x20\\x88\\x76\\x84\\xb1\\x42\\x49\\xc2\\xaa\\xf7\\x39\\x9d\\x01\\xad\\x9e\\x61\\x43\\x80\\x05\\xe5\\xe9\\x80\\x56\\xeb\\x88\\x3a\\xa2\\x59\\xd1\\xe1\\xa0\\xdc\\x26\\x40\\xa5\\x90\\x7d\\xec\\xca\\x07\\x2c\\x29\\x42\\x16\\x47\\x1c\\x10\\xc3\\x18\\x87\\x7e\\xdb\\x88\\xf7\\xa7\\xc1\\x2d\\xdb\\xc1\\xf6\\x7e\\xa9\\x06\\x2c\\xac\\xd6\\x45\\x17\\x1b\\xc7\\x4d\\xef\\x7d\\xf4\\xef\\xfd\\x17\\xcf\\x2a\\x3b\\xf3\\xc2\\x8b\\xfe\\x71\\x66\\xd9\\xac\\x8b\\x0f\\xfc\\xd0\\x7d\\xc5\\xaa\\x95\\xcb\\x96\\x5f\\x73\\xdd\\x0a\\xb8\\x4b\\x6a\\x38\\xf2\\x29\\x14\\xa6\\x8c\\x3d\\x34\\xed\\xf6\\xf2\\xf2\\xb3\\x37\\xaf\\x5e\\x01\\xb5\\x9b\\xcf\\x2e\\x2f\\xdf\\x34\\xf5\\xc3\\xb3\\xa6\\x48\\x2f\\xbe\\xf4\\xf8\\x43\\x6f\\xbc\\xf5\\xe8\\x2e\\x79\\x4d\\xce\\x44\\xf3\\x1c\\xc7\\x22\\x7b\\x40\\x3f\\xc1\\x8f\\x74\\xb1\\x8d\\xe2\\x91\\xe1\\xa5\\x65\\xbc\\x3e\\x4f\\xc0\\xa2\\xef\\x10\\x2d\\xb4\\xc6\\x8e\\x6c\\x15\\x47\\xde\\x4a\\x29\\x3e\\xbc\\x27\\xbe\\xa8\\x68\\x41\\x74\\x44\\x54\\x0e\\x32\\xa6\\x93\\x5b\\x6e\\xbc\\xbc\\xe7\\x41\\xea\\xa8\\x12\\x85\\xd2\\x63\\x84\\xaf\\x3f\\xba\\x6b\\xed\\xcd\\xd2\\x95\\x0b\\x67\\x67\\xa7\\x4d\\x67\\x3a\\x49\\xf8\\xc9\\x89\\x05\\x0b\\xe6\\x9f\\xb9\\x11\\x9f\\xb7\\x35\\x48\\x1d\\x74\\x15\\xdd\\x05\\x7c\\xd8\\xa3\\xcc\\xe9\\xf4\\x0e\\xda\\xed\\x76\\x58\\x75\\x8c\\x3f\\x60\\xb5\\xda\\x6c\\x86\\xac\\x68\\xb3\\xfa\\xb4\\x5a\\x2e\\xab\\x86\\xb2\\xd9\\x5e\\x69\\xcc\\x65\\xf7\\xbb\\x0b\\x53\\x61\\x72\\xfd\\x51\\x4f\\xe4\\x95\\x24\\x79\\x8a\\x39\\x6b\\xe4\\x86\\xd5\\xd2\\x1e\\x8a\\x51\\xa3\\x4a\\x7a\\x4e\\xbe\\xb3\\xf5\\x4f\\x97\\xdf\\x20\\xdd\\x9e\\x99\\x5a\\x3f\\x7e\\x52\\x25\\x5d\\x4d\\x8e\\xdd\\x4f\\xbe\\x3f\\x67\\xce\\x19\\xab\\x27\\xe4\\xf1\\xf3\\xe6\\x1c\\x7e\\xbe\\x13\\x5e\\x25\\xe3\\x03\\x17\\xc1\\x07\\x3f\\x21\\xd3\\xe5\\x34\\xf8\\x79\\x5c\\xee\\x1c\\xe8\\xce\\x85\\x04\\xe5\\x94\\x29\\xe7\\x40\\xc8\\x50\\xd1\\xf4\\xd5\\x87\\xb8\\xbe\\x0e\\xa8\\x01\\x17\\x09\\x8d\\xb1\\xf2\\x72\\x1b\\x13\\x48\\x32\\x7a\\xc6\\x5d\\xed\\xae\\xae\\xad\\x8b\\x95\\x75\\x88\\xed\\xb1\\x85\\x31\\xaa\\x32\\x06\\x69\\x10\\xb3\\xc5\\x28\\x3d\\x1b\\x8b\\xf1\\x3e\\x4f\\xd4\\x17\\xed\\x10\\x7d\\x74\\xb9\\x9b\\x77\\x23\\xed\\xc8\\x3b\\xb4\\x48\\x59\\x6a\\xfd\\x7d\\x02\\x3f\\x95\\xf8\\xbe\\x7c\\xde\\x74\\x2e\\x29\\x9c\\x1c\\x42\\x6a\\x95\\x33\\xde\\x54\\xbd\\x7a\\x0e\\x9d\\x6a\\x50\\x13\\x49\\x8b\\xf3\\xaa\\xa3\\x84\\x31\\x96\\xba\\xd6\\x72\\xee\\x9c\\x35\\x17\\x8e\\x1b\\xe6\\x1a\\xe7\\x1a\\xd2\\x3f\\xdb\\x94\\x90\\x2c\\x5d\\x5d\\xf4\\xf7\\x72\\x82\\xf5\\x3c\\x9c\\xae\\x2f\\x6d\\x84\\x3a\\x48\\xe1\\x20\\x39\\x41\\x3f\\xf9\\xcc\\xa9\\x17\\xb9\\xc6\\x6a\\xf5\\x83\\x2b\\x6b\\x87\\x69\\x56\\xc9\\xda\\xb5\\x2f\\x63\\x2c\\x5e\\x47\\x59\\x84\\x2b\\xc6\\xa0\\x3d\\x11\\x33\\xc4\\x4e\\x12\\xaa\\x2a\\x21\\x34\\x47\\x02\\x36\\x5b\\x84\\xa7\\xe3\\x55\\x65\\xf1\\xb2\\xda\\xba\\x4a\\x90\\x15\\x2b\\x2b\\x4d\\x25\\x25\\xe5\\xb8\\xca\\x2b\\xe7\\xcd\\x8a\\x9c\\x3f\\x62\\x92\\x4b\\xb9\\x16\\x25\\x53\\xf4\\x39\\x5d\\x50\\x96\\x94\\xc2\\xfe\\x4a\\x44\\x24\\xe1\\xae\\xa7\\x13\\x5b\\x76\\x3e\\x29\\x54\\xb0\\xd1\\x7e\\x25\\x90\\xc9\\x9d\\x3b\\xe8\\x8b\\x64\\x8e\\x3c\\x7a\\xff\\xdb\\x2f\\xc2\\x0b\\xa4\\xdb\\xe7\\x2e\\x84\\xb7\\x4c\\x85\\x87\\x72\\xc7\\x10\\x15\\xc5\\x02\\x5f\\xea\\xfc\\xfe\\xbb\\x9f\\x7f\\x22\\x4c\\xb0\\xf8\\x58\\x42\\xc5\\xcb\\xe4\\x4c\\xa0\\x4e\\x39\\x93\\xf8\\xbb\\x7c\\xa6\\xc5\\x10\\x44\\x8b\\x5e\\x81\\x47\\x41\\xcc\\x45\\xe7\\x30\\xb2\\x9e\\xf9\\xb3\\xc2\\x3b\\x7c\\x9a\\x33\\x2d\\x46\\x3e\\xd3\\xfa\\x5f\\x4e\\x25\\xf2\\x3c\\xcc\\x05\\x7d\\xa8\\x23\\x7d\\x70\\x63\\x7b\\xdc\\x8f\\x41\\x35\\x95\\xac\\x29\\xaa\\xca\\x9e\\xbf\\xff\\x61\\xf5\\xfe\\xd4\\x3d\\xe0\\xa1\\xde\\x17\\xc9\\xfd\\xbb\\xc0\\x6f\\xa0\\x4c\\xf0\\xd3\\x2f\\x56\\xc1\\x2a\\x41\\x6f\\x6f\\xaa\\xa2\\x04\\x37\\xdc\\xe9\\x86\\xfb\\xdd\\xf0\\x4f\\x6e\\x78\\x93\\x1b\\xba\\xe5\\x1e\\x2c\\xc6\\xa5\\x29\\x0a\\x6c\\x86\\xcd\\x39\\x9b\\xe1\\x4e\\x52\\x47\\x9e\\x53\\x79\\xa0\\x83\\xee\\xd3\\x9e\\x4b\\x56\\xe7\\x6c\\x86\\x3b\\xd1\\xbd\\xbf\\x92\\xaf\\xb7\\x93\\xeb\\xfb\\x9c\\x4b\\xf6\\x95\\xaf\\x96\\xfa\\x4a\\x95\\x8f\\x18\\xd5\\xf9\\x11\\xee\\x2b\\xdf\\xa1\\x9c\\x7c\\xf8\\x1e\\xdd\\x8a\\xef\\x8f\\x9c\\xbc\\xf8\\xec\\xb9\\x33\\x6e\\x99\\x13\\xae\\x26\\xc7\\x31\\xb7\\x06\\xde\\x57\\xc0\\x9d\\x16\\x73\\x79\\x0c\\x5c\\x51\\x7f\\x08\\xcf\\x1c\\xb3\\x2f\\xc7\\x33\\xb7\\x06\\xbc\\xd6\\xfb\\x65\\xce\\x56\\xe0\\x43\\x11\\x8b\\xbb\\xa8\\x56\\x79\\x19\\xc2\\x87\\xdb\\x10\\xde\\x70\\x82\\x30\\xe6\\x3c\\xe1\\x59\\x36\\x6a\\xb0\\x5a\\x7d\\x00\\x44\\xa2\\x06\\x9f\\x0f\\xd9\\x7d\\x14\\xe5\\x69\\x15\\x29\\xca\\xcc\\x71\\xf6\\x66\\x91\\x03\\x66\\xbf\\x2e\\x98\\x15\\x75\\x8a\\xf7\\xa8\\xb1\\x30\\x75\\x5f\\x4d\\x75\\x2f\\x88\\xe9\\x65\\xfb\\x62\\x07\\xc2\\x8a\\x55\\x80\\x19\\x16\\x96\\xf4\\x2b\\x44\\x0a\\x5b\\xe0\\x98\\x8f\\x73\\x00\\x61\\x52\\x01\\x26\\x60\\xff\\xe5\\xa9\\xfc\\x6d\\xa2\\x82\\x06\\x70\\xbf\\xab\\xd1\\xfe\\xb1\\x8d\\xe4\\x4f\\xd4\\x81\\x4b\\x84\\xc6\\x52\\x93\\xa9\\x1f\\x08\\x85\\xe2\\x76\\x97\\xab\\x52\\x1b\\xd7\\x66\\xfa\\x95\\x24\\x9a\\xc5\\x12\\x6b\\x28\\x1e\\x8d\\x37\\x8b\\xf6\\xca\\xca\\xb4\\x3e\\xdd\\x2a\\xba\\xb4\\x5a\\xbd\\xde\\x19\\xe5\\x9d\\x7e\\x6b\\x0d\\x82\\xbb\\x81\\x20\\x4e\\x77\\xf4\\xf7\\x49\\x77\\xc4\\x52\\x15\\x02\\xa4\\xe2\\x24\\x9e\\x82\\x63\\x94\\x7c\\x02\\xe4\\x29\\x42\\xf6\\xcd\\x85\\x2c\\x10\\x58\\x4e\\x8b\\x2c\\xc6\\x47\\x85\\x09\\x92\\x96\\x9c\\xf8\\x72\\xae\\xe4\\xc9\\xdf\\x0a\\x46\\x81\\x1e\\x5e\\x94\\x32\\x79\\xa2\\xbf\\x3a\\x20\\x14\\xe0\\x7a\\x8f\\x50\\xf3\\x98\\xab\\xd1\\x3e\\x96\\x00\\x53\\x84\\x2a\\x77\\x24\\x02\\x80\\xc1\\xe6\\x67\\x6d\\x6c\\xb2\\xc4\\xee\\x73\\xfb\\xb2\\xa2\\x21\\x12\\x09\\x51\\xa1\\x56\\x91\\x3c\\x53\\x33\\x2f\\x38\\xdd\\x56\\xb3\\x4b\\x17\\x43\\x0f\\x53\\xc1\\x08\\x38\\xd1\\xa1\\xaf\\xe4\\x85\\x59\\x57\\xf2\\xbe\\xdb\\x57\\xd6\\x5c\\x74\\x8e\\xfc\\x58\\x09\\x11\\x56\\x7d\\x79\\x8d\\x2c\\x5f\\x75\\x00\\xcb\\x27\\x47\\xe8\\xa0\\x07\\x5b\\x55\\xa5\\xf9\\x63\\x79\\x0d\\x6c\\x36\\x61\\x91\\x36\\xd6\\x4f\\xb9\\xe3\\x3c\\x27\\xd5\\x26\\xa7\\x3e\\xd4\\x22\\x51\\xee\\xad\\x92\\x73\\xfe\\x5f\\x96\\xc6\\xc1\\x15\\x68\\x4f\\xb6\\x83\\x12\\x81\\x63\\x81\\xd9\\xec\\xe0\\x70\\x6c\\xb9\\x4d\\x2d\\x03\\x93\\x23\\x21\\x91\\x27\\xdb\\xe9\\xea\\xa9\\xf4\\x29\\xa3\\x52\\x54\\x3c\\x45\\xc6\\xd9\\x68\\xdd\\xfe\\x8c\\xe6\\x7d\\x00\\xe0\\x95\\x3b\\x4f\\x18\\x18\\x74\\x55\\x55\\xd9\\x35\\xb1\\x98\\x21\\x05\\x0c\\x20\\xd3\\xcf\\x57\\xde\\x22\\xfa\\x6c\\x4e\\x47\\xb3\\xe8\\x04\\x1a\\x8f\\xc6\\x43\\x5b\\x09\\x2d\\xb8\\xd5\\x9c\\xc4\\xf9\\x75\\xba\\x48\\x0b\\x1a\\x36\\x1a\\xcd\\x22\\xba\\x90\\x63\\xad\\xf0\\x2c\\xf2\\x94\\x4c\\xbb\\x8c\\x82\\xb6\\x64\\x66\\xb0\\x42\\x02\\x20\\x99\\x46\\x81\\x24\\x3b\\x16\\x03\\x6b\\x85\\x58\\x8c\\xfd\\xf9\\x8b\\xf7\\x27\\xbf\\xd9\\x3c\\xfb\\xae\\x3c\\xc0\\x26\\x44\\x62\\x27\\x74\\x57\\x5d\\xbb\\xb2\\x09\\xc3\\x6a\\x66\\x14\\xe1\\x19\\xbb\\xf2\\xac\\x1b\\x2e\\x87\\x47\\x7b\\xa4\\xdf\\xaa\\xc2\\x67\\x17\\xa0\\x6b\\x99\\x5c\\x4c\\xfa\\xf1\\x85\\xe7\\xc2\\xd4\\x0f\\x76\\xe9\\x0a\\xc2\\x3c\\x16\\xf6\\x7c\\x24\\xdb\\x1b\\xe3\\xd8\\xaf\\xe9\\x43\\x20\\x8a\\x70\\x75\\x7f\\x70\\x95\\x30\\x3a\\xe6\\x2d\\x2d\\x35\\x67\\x02\\xc8\\x4a\\x32\\x3b\\x2b\\x91\\x5a\\x68\\x18\\x10\\xae\\x69\\x11\\xc3\\x36\\x5b\\xc0\\x16\\x60\\xbd\\xde\\x32\\x5c\\xf5\\xc5\\x9d\\xce\\x8a\\x3e\\xb7\\xcd\\x91\\x6c\\x11\\x1d\\x2e\\x6c\\x36\\x35\\x8b\\x46\\x3f\\x9b\\x69\\x16\\x59\\x9e\\xae\\xef\\x33\\x26\\xb9\\xcd\\xf2\\x95\\x3e\\xc3\\x53\\x30\\x34\\xca\\xf4\\x52\\x47\\xa7\\x20\\x05\\xae\\x21\\x37\\x4e\\x0d\\x19\\xd9\\xb0\\x62\\x95\\xec\\xee\\x9c\\xf1\\x81\\x87\\x88\\xfd\\x5a\\xc9\\x88\\xeb\\x7f\\xb5\\x61\\xfe\\x56\\x69\\xc5\\xa1\\x03\\x8b\\x16\\x4e\\x19\\x93\\xbe\\x76\\x6c\\xf7\\xcb\\x27\\xbc\\x2b\\xae\\x1b\\xbc\\x24\\x48\\x46\\x29\\xa3\\xe4\\xd2\\xc1\\x2f\\x0a\\xf2\\xe3\\x20\\x3b\\x63\\xcc\\x04\\xf8\\xcd\\x8f\\x68\\xb4\\xd2\\xd3\\xa3\\x65\\xc7\\x7f\\x7d\\x71\\x8f\\xd3\\x4c\\xfd\\xdb\\x2e\\x5d\\x24\\xa7\\xd5\\xe1\\x39\\xc9\\x00\\x67\\xef\\x26\\xf6\\x69\\x76\\x09\\xa9\\xc8\\x1c\\x42\\x6b\\xec\\x0a\\x61\\xa4\\x26\\x1a\\xb5\\x3a\\x78\\xbb\\xcb\\x6e\\xf3\\xd0\\x2e\\x17\\x13\\x08\\xfa\\x3d\\xde\\xb0\\x55\\x9f\\x2c\\x61\\xc3\\xde\\x70\\x87\\x18\\xf2\\xc6\\xf4\\x81\\xa0\\xc3\\x6b\\x0b\\x78\\x03\\x5e\\xbd\\xcd\\xe6\\x99\\x29\\x72\\x36\\xc6\\xec\\x70\\x59\\x69\\x8d\\x5e\\x83\\x0c\\x4d\\x48\\x32\\xde\\xdf\\x52\\xab\\xe3\\xa0\\x01\\x52\\x07\\x47\\x49\\xf5\\xb5\\x17\\x87\\xc9\\x65\\xd4\\x0c\\x66\\x4c\\x69\\x54\\xdf\\x40\\x47\\xd1\\x20\\xc5\\xb5\\xf1\\x86\\x78\\x7d\\x03\\xcc\\xf8\\x61\\x46\\x0f\\xdd\\x90\\x46\\xff\\x48\\x59\\x21\\xad\\x75\\x37\\x70\\xec\\xd3\\x3d\\xaf\\x75\\x5f\\x27\\x3d\\x26\\x49\\x17\\xdf\\x33\\x72\\xd6\\xc8\\xa7\\x37\\xc1\\xd7\\x5e\\xe8\\xd8\\x37\\x4b\\xea\\x81\\x93\\x1e\\x3e\\x79\\xe4\\x1f\\x97\\xfe\\xed\\x0a\\xf1\\xde\\xdf\\x3a\\x74\\x34\\xf3\\x7c\\xbd\\x1f\\xae\\x94\\x96\\xd8\\xeb\\xe7\\xce\\x45\\xa0\\xe9\\x57\\x49\\x82\\x95\\xd2\\xe2\\x93\\xf3\\xfd\\xcc\\xca\\x9e\\x65\\xf0\\x1c\\xe9\\xe1\\x63\\xc7\\xa6\\x48\\x47\\x38\\x5a\\x07\\x63\\x40\\xc9\\x6d\\x5e\\xc9\\x7c\\xcd\\xbe\\x8e\\x6c\\xd4\\x52\\x70\\xb5\\x30\\x36\\xaa\\x33\\x27\\xe2\\x2c\\xc3\\x58\\x2c\\x94\\xdb\\x65\\x63\\xac\\x34\\xcd\\x30\\x0e\\x84\\xa1\\x43\\xba\\x50\\x59\\xb9\\x9b\\xea\\x10\\xe3\\xc8\\xc8\\x76\\xc7\\x83\\x9c\\xcd\\xc6\\x05\\xe3\\x6e\\xbc\\xa0\\x91\\x15\\x66\\x76\\xa1\\xbf\\xb4\\xb1\\xa4\\x5d\\xb4\\x18\\x19\\xe0\\x6d\\x17\\x19\\x1c\\x74\\xb9\\x2f\\x3f\\x53\\xf2\\x91\\xbb\\xb2\\x81\\xa6\\xd2\\x49\\x12\\x13\\xc6\\x3d\\xb0\\xce\\xae\\x38\\x26\\x58\\xb9\\x10\\x34\\x55\\x4f\\x0e\\xf7\\x1b\\x32\\x5a\\x37\\x4e\\xba\\x90\\xcb\\x40\\x93\\x10\\x64\\x68\\xc3\\xb5\\xa1\\x23\\x14\\xad\\x79\\x7a\\x6d\\xf6\\xdc\\x19\\x37\\xdd\\x86\\xc9\\xe3\\x66\\x5e\\x3a\\x6a\\xc6\\x59\\xeb\\x34\\x23\\x42\\xe9\\x01\\x3d\\x5f\\x2d\\x7a\\x50\\xe5\\x96\\x8b\\xad\\xa5\\xf4\\x62\\xb3\\xd4\\x7b\\xc4\\x39\\xe8\\xfe\\x57\\x27\\xc0\\x92\\x37\\x31\\x7f\\x9c\\xe9\\x86\\xdb\\x7d\\xd2\\xe1\\xc7\\x7c\\xce\\x13\\x4f\\x8d\\x97\\x99\\xe5\\xa8\\x07\\xa4\\x57\\x36\\x31\\xe5\\x9c\\xf4\\x2e\\xde\\x73\\x57\\xa0\\x85\\xb4\\x82\\xc4\\xb0\\x9d\\x47\\xf0\\x75\\x59\\xae\\x3e\\xce\\x59\\x42\\x09\\xa5\\xd1\\x70\\x56\\xab\\xd1\\xe3\\x45\\x6b\\xdb\\xd9\\x2e\\xb2\\x76\\x07\\xb2\\x6b\\x28\\x87\\x01\\xfd\\x31\\xbb\\x68\\x8d\\xd5\\x6c\\x6d\\x17\\xcd\\xc5\\xf9\\xae\\xf6\\xcc\\xa9\\x79\\x95\\xb8\\xea\\x35\\x61\\x70\\xce\\x97\\xbf\\x51\\x98\\x23\\xa8\\x4b\\xf6\\xc3\\xcb\\xa5\\x6b\\xf3\\x15\\x70\\x5e\\x78\\xa1\\x8b\\x1a\\xc2\\xea\\x7c\\x3d\\xbd\\x6d\\x3d\\x7f\\x56\\xaa\\xdf\\x50\\x67\\xb6\\x51\\xd0\\xa7\\xec\\xf9\\xc9\\xde\\x3d\\xcc\\x5e\\xf6\\x4e\\xb4\\x57\\x84\\xc1\\x32\\x61\\x88\\xd9\\x61\\x02\\x20\\xe8\\x74\\x52\\xde\\x90\\x01\\x1a\\x8d\\x26\\xa8\\x33\\x79\\xad\\x56\\xaf\\x8e\\x8e\\x44\\x9d\\x5e\\x37\\x7a\\x32\\x36\\x9d\\x2f\\xa8\\xd3\\x05\\x7d\\x34\\x9a\\x61\\x8e\\x80\\xdf\\x61\\x67\\xd0\\x04\\x46\\x4f\\xcf\\xa8\\xa7\\x01\\x8e\\x3f\\x50\\x88\\x1a\\x3c\\x8d\\xfb\\xd0\\x23\\xa9\\xce\\x85\\x07\\x92\\x79\\x8b\\x66\\xb1\\x12\\xee\\x4b\\xc4\\x50\\xc2\\xf1\\xdd\\x71\\xa8\\xa6\\x58\\xa1\\x07\\x86\\x10\\x7f\\x35\\x54\\x33\\x39\\xb8\\xb8\\x9d\\x2b\\x79\\x61\\x16\\xdc\\x45\\xf2\\xac\\xe8\\x57\\x87\\xce\\x1a\\xba\\x78\\x94\\xbf\\x55\\xda\\x8b\\x53\\x39\\x7e\\xaa\\xfd\\x2c\\x2b\\x50\\x5b\\xa8\\x55\\x38\\xd7\\x6a\\xfa\\x74\\xe9\\xe5\\x03\\x7a\\x89\\xef\\x69\\x27\\x89\\x1c\\x97\\xd2\\x41\\x69\\x1b\\x9c\\xcc\\x28\\x31\\x25\\x08\\xd7\\x1c\\x44\\xf8\\x60\\x20\\x38\\x47\\x48\\xd7\\x79\\x92\\xb4\\x2b\\x1d\\x72\\x25\\x2d\\x20\\x09\\x06\\x0d\\xf6\\x54\\x78\\x2a\\x98\\xd2\\xd2\\xea\\xac\\x58\\x6a\\x33\\x99\\x6c\\x8c\\x4d\\xdf\\x2a\\xda\\x02\\x4c\\x20\\x2b\\x32\\xae\\xa2\\xb0\\xa1\\xc6\\x82\\x15\\x89\\x1e\\x04\\x96\\x85\\x04\\x4f\\x64\\xe4\\x74\\xa5\\x34\\x0c\\xd1\\x58\\x17\\x91\\xac\\xb1\\x92\\x54\\x15\\xb2\\xd5\\xd5\\xd0\\xd5\\x6a\\x58\\x45\\xd5\\x17\\x91\\x91\\x38\\x5d\\xee\\x10\\x4d\\x1d\\x7c\\xfc\\x51\\x4d\\xb0\\x3c\\x5d\\x5f\\x56\\x55\\xa7\\xad\\x0c\\xd4\\xcc\\x5c\\x57\\xd9\\xd8\\x58\\x75\\x01\\x09\\x66\\xbd\\x43\\x3c\\x7f\\x6a\\xdd\\x43\\xeb\\xe7\\xdc\\x59\\x5d\\x5e\\xbf\\xb8\\x65\\xe2\\xd9\\xe3\\x37\\x4c\\x69\\x8c\\x43\\xdd\\xda\\xf5\\x65\\xe7\\x4f\\x1e\\x5c\\xe5\\xd9\\x6b\\x9c\\x7d\\xfe\\x9a\\x49\\xc6\\x10\\x8e\\x6d\\xfd\\x63\\xbf\\x60\\x74\\xd4\\xac\\x31\\x97\\xdf\\x14\\x7e\\x6b\\x41\\x75\\x76\\xd4\\xc0\\xf1\\xbe\\xba\\x2a\\x5c\\x98\\x9c\\xd8\\xb3\\xa3\\x69\\x1f\\xda\\x3b\\x63\\xa0\\x49\\x48\\x98\\x28\\x1d\\xf4\\x18\\xa1\\x31\\x9e\\x70\\xb9\\x7c\\xc0\\xc7\\xb5\\x8a\\x3e\\xa4\\xd8\\x81\\x5e\\x4f\\x93\\x52\\x77\\xa6\\x2c\\xb2\\xe3\\x4e\\x23\\xb0\\xa7\\x40\\x5c\\x1c\\x73\\x5a\\x68\\xd5\\x86\\x28\\x39\\x84\\x58\\x16\\xba\\x8a\\xc2\\xa1\\x34\\x0d\\x05\\xb6\\x6d\\x4f\\x7d\\xf3\\xb0\\xc1\\xbe\\xc1\\x49\\x59\\xbe\\x21\\x93\\xc7\\x64\\x06\\x47\\x26\\x0c\\xc8\\x19\\xb9\\x1f\\x52\\x15\\x13\\x6f\\x10\\x06\\x61\\x71\\xc2\\x83\\x5b\\x57\\x9e\\x31\\x1a\\xf7\\x19\\x19\\x65\\xf4\\x31\\xf6\\x3e\\xe0\\x05\\x83\\x84\\x80\\xde\\xc2\\x59\\xbc\\xac\\x97\\xf5\\xf9\\xbd\\x5e\\x13\\xcf\\x53\\xed\\x22\\xcf\\x60\\x8e\\xa2\\x76\\xd1\\xe4\\xe8\\x43\\xa9\\x52\\x40\\x31\\x5b\\x5b\\xc3\\xa9\\xac\\x74\\xca\\x3c\\xc2\\x41\\xf2\\xb6\\x28\\x9e\\x63\\xf7\\xec\\xdc\\xff\\xf5\\x4f\\x6f\\xec\\xc5\\xf9\\xf7\\x93\\x1e\\xde\\x20\\x7d\\x7b\\xcf\\xca\\xf8\\x08\\x76\\x4a\\xd3\\xe7\\x1f\\xec\\xfb\\x31\\x24\\x35\\x10\\x32\\x1e\\xc6\\xe0\\xdc\\xfb\\x0c\\x9c\\xd9\\xf2\\x80\\xba\\x7e\\xa9\\x5f\\x49\\xec\\x02\\xea\\x8f\\x1b\\x81\\x25\\x0d\\x67\\xe6\\x7c\\x7e\\xb3\\x19\\xd8\\x6c\\xfa\\xac\\x68\\xb3\\xb9\\xe5\\xc4\\xfa\\xbe\\x14\\x2f\\x05\\x3b\\x9a\\x5c\\x7b\\xb3\\xa1\\x7f\\x9f\\xec\\x5c\\xd2\\xbb\\xcd\\x5b\\x06\\x1d\\xb8\\xec\\x8f\\x8b\\x5a\\xe3\\x23\\xee\\xe9\\xfc\\xeb\\xe7\\xab\\xd7\\x6f\\xad\\xf4\\xc2\\x46\\x63\\xc9\\xc7\\x4b\\x17\\xd4\\x6e\\x93\\xd2\\xf7\\xdf\\x72\\xd9\\x86\\xb8\\xf4\\x0d\\x81\\x29\\x68\\x7f\\xee\\xdf\\x7b\\x9c\\xf9\\x89\\xe8\\x92\\x24\\xa8\\x02\\xd7\\x09\\x63\\x6d\\xe6\\x74\\xdc\\xeb\\xd5\\x94\\x98\\x43\\x66\\x8a\\xa3\\xb8\\xea\\x1a\\x5c\\x77\\xb4\\xda\\x43\\xeb\\x94\\xca\\xa3\\x71\\xd6\\x96\\x8e\\xa5\\x63\\x84\\xaf\\xd7\\x9a\\xc6\\x94\\xbd\\x69\\x36\\x8d\\x1e\\x79\\x79\\x87\\x88\\x8b\\x8d\\xea\\x69\\xd9\\xbd\\xe9\\xce\\x55\\x1a\\x55\\xa3\\xdc\\x95\\xe3\\xec\\x69\\x39\\x5f\\x18\\xa9\\x30\\xda\\x87\\xc6\\x97\\x64\\x86\\x21\\xd1\\xea\\x15\\xe5\\xa3\\x92\\xf5\\x62\\xb7\\x58\\x92\\xe3\\x5d\\x6a\\xda\\x0a\\x1f\\xe5\\x39\\x35\\xfd\\x7b\\x70\\xd7\\xe3\\x8f\\x77\\x51\\xe7\\x2b\\x54\\xbd\\x32\\x8b\\xef\\x02\\xcc\\xe8\\xfb\\xfc\\xfe\\xa3\\xf0\\x9c\\x3d\\x32\\xcb\\x6f\\xbd\\xff\\xfb\\x36\\x7a\\xaa\\xaf\\x5e\\x21\\xeb\\x5d\\xbd\\xf7\\x55\\x0d\\x1c\\xf6\\x77\\xcd\\xcd\\x77\\xac\\x5b\\x79\\xb2\\x8d\\x7a\\x96\\xd0\\xfb\\x62\\xdd\\x45\\xce\\x1c\\x08\\xe7\\x4a\\x02\\x4c\\x14\\xd2\\x21\\xbb\\x5d\\x67\\x42\\xba\\x0b\\x78\\x4d\\xde\\x64\\x89\\xd7\\x29\\x13\\xcb\\x84\\x00\\x09\\x5f\\xf6\\x39\\x0c\\x06\\xc6\\x65\\xa1\\x99\\x68\\x87\\xc8\\x70\\x05\\x99\\x7b\\xb2\\xca\\x52\\x0f\\xf2\\xf3\\xc0\\x3e\\xa3\\x58\\xee\\x38\\xc1\\x12\\xc7\\x9d\\x67\\xfa\\x1c\\xe0\\x67\\xf8\\x32\\xec\\xed\\x43\\x32\\x32\\x47\\xd5\\xec\\xca\\x2e\\x7c\\x6e\\x4f\\x1d\\xc5\\xec\\x2c\\x5d\\xd2\\xbf\\x7a\\x6c\\x38\\x13\\x8e\\xba\\x6b\\x3f\\x4e\\xad\\xfc\\xb2\\x0d\\x4a\\x84\\x13\\x89\\x52\\x7f\\xb6\\x1d\\xc4\\xb9\\x70\\x39\\x1f\\x0f\\xdb\\xe4\\xd0\\xd0\\xe3\\xc9\\x73\\x1e\\x8c\\xf6\\xd4\\x2b\\xd0\\x9e\\x1a\\x43\\x16\\x4d\\x39\\x58\\x2b\\x9c\\x5d\\x1a\\x0f\\x04\\x90\\x79\\x92\\x34\\x18\\x70\\x55\\x53\\xb4\\x53\\x44\\x35\\xd1\\x74\\x45\\xd2\\x91\\xd2\\xa7\\x3a\\x44\\x5f\\x79\\x1c\\x3d\\x4f\\xae\\x3d\\xbe\\x30\\x4e\\x55\\xc6\\x21\\x0d\\xe2\\xb6\\x38\\xa5\\x67\\xe3\\x71\\x06\\x29\\x65\\xf9\\x31\\x97\\xfa\\x03\\x01\\x0d\\xa6\\xca\\xa2\\x00\\x26\\xd5\\xcd\\xbc\\xa2\\xd8\\x68\\x32\\x45\\xe5\\x2b\\x78\\x1c\\x0a\\xca\\xf8\\x14\\xa4\\xff\\xa9\\x75\\x04\\xea\\xc8\\xff\\xc4\\x6b\\x43\\x30\\x06\\x1e\\x03\\x55\\x59\\xd3\\x19\\xe2\\xa6\\x89\\xd3\\xbc\\xec\\xa7\\x81\\x19\\x2e\\x15\\xb7\\x37\\xc4\\xe1\\xf8\\xc1\\xe7\\x0e\\x7a\\xaa\\xab\\x8b\\xae\\x1c\\x39\\x63\\x64\\xc7\\x88\\x48\\xe5\\xb1\\x0b\\xb1\\x93\\x66\\xe3\\x7b\\xaa\\x93\\xa6\\x67\\xd8\\x96\\x63\\xcf\\x1c\\x5e\\xb6\\xec\\x8a\\x2b\\x64\\xf7\\xcc\\xba\\x75\\xd2\\x8b\\x87\\xd8\\x9e\\x1e\\xec\\xa0\\x91\\x86\\x9f\\x87\\x3d\\x34\\xd4\\x87\\x94\\x8e\\x39\\x79\\xef\\x09\\x19\\x77\\x65\\xa5\\xed\\xf4\\x18\\xd6\\x02\\x82\\xe8\\x79\\x97\\x81\\x4a\\xd0\\x29\\x9c\\x59\\x16\\x4d\\x26\\xfd\\xc8\\x6e\\xb6\\x96\\x56\\xc6\\x2a\\xe2\\x46\\x9d\\x2e\\x1e\\x2b\\x4d\\x01\\x0d\\x5d\\xce\\x5b\\x68\\x4b\\x55\\xb5\\xb5\\x2c\\x8a\\x40\\x6a\\xa5\\x35\\x1a\\x8e\\x52\\x26\\x3a\\x1a\\xd5\\x78\\x53\\x0e\\xaf\\xa3\\x45\\x0c\\x02\\xaf\\xab\\x22\\x1e\\x0f\\x69\\x42\\x59\\x11\\x7d\\x49\\xaf\\xb1\\xe1\\xcd\\x4b\\x35\\x76\\x8a\\xd2\\x53\\x71\\x65\\xdd\\xa2\\xcc\\xce\\x1c\\x2d\\x66\\x46\\x71\\xf0\\xe0\\x93\\x1c\\x95\\xe0\\x10\\x6d\\xc7\\x2e\\x3b\\x1f\\xa5\\x0b\\xaa\\xfd\\xd0\\x71\\xec\\xd5\\xc9\\x70\\x25\\xd0\\x89\\xd0\\x48\\xb2\\x5f\\x4a\\x0b\\xad\\x33\\xa6\\xbf\\xfd\\xe2\\xb0\\x7e\\x97\\x9c\\x73\\xd5\\xc3\\xd2\\xb3\\x97\\x8d\\xe8\\x90\\x5d\\x3d\\x13\\x9a\\x2e\\x39\\x07\\x36\\xcf\\x5d\\xf8\\xe2\\x85\\x71\\xe9\\x67\\xe1\\xfc\\x07\\xe0\\xad\\xa5\\x13\\xfd\\x75\\x9f\\x3e\\xf9\\xf3\\x4f\\x66\\x84\\xbc\\x6e\\x14\\xa5\\x6f\\x5b\\xa5\\x7b\\x13\\xc4\\xdd\\xc3\\x49\\x0f\\x32\\xfb\\x77\\x6c\\x83\\x03\\x9c\\x52\\xeb\\x73\\x22\\x2c\\xc9\\x6e\\x1f\\x7f\\x4c\\xc9\\x43\\x43\\xb6\\xdf\\x4f\\x64\\x4d\\x8c\\x16\\xe2\\x7e\\x08\\x9d\\x7a\\xbb\\x3d\\x18\\xf2\\xf1\\x6e\\xbe\\x5d\\x84\\x0e\\xce\\xd1\\x2e\\xfa\\x39\\x4e\\xe3\\xa6\\x35\\x16\\xa4\\x03\\xf4\\x1a\\x4e\\x65\\x39\\x3c\\x0d\\x89\\x99\\x1a\\x2e\\x59\\x4c\\x6b\\x58\\x44\\x67\\xf6\\xd3\\xa6\\x7c\\x79\\xb1\\xb5\\x78\\xfa\\x33\\x9b\\x36\\x51\\x77\\x1d\\xc9\\x55\\x14\\x83\\x77\\xe5\\xa6\\xbd\\x52\\xe3\\x33\\xac\\xc4\\xb6\\x65\\x85\\xb2\\x88\\x1b\\x42\\x9f\\x43\\x6b\\xb1\\x94\\xa4\\x82\\xf1\\x09\\x62\\x90\\x07\\x36\\xbb\\x2d\\x2b\\xba\\xed\\x76\\x86\\xe7\\xb9\\x66\\x91\\xb7\\x62\\x62\\x52\\x2d\\x53\\x60\\xe3\\xe5\\x2b\\xb0\\xdb\\x5e\\x51\\x4d\\x3e\\x35\\xdd\\xc0\\x5e\\x6c\\xf8\\xe5\\xb9\\xb4\\x68\\x67\\x8e\\x51\\xc0\\x85\\x6d\\x41\\x35\\x09\\x7f\\xeb\\x56\\x64\\x0d\\x6e\\xd9\\x28\\x54\\x54\\x0a\\x42\\x65\\x85\\x00\\x9f\\x95\\xc2\\xb9\\x52\\x62\\xce\\x36\\x38\\xd9\\x5b\\x29\\xcd\\x6c\\xa3\\x93\\x15\\x02\\xb9\\x82\\xc4\\xe6\\x8d\\xd6\\x34\\xa3\\xfe\\x1b\\xd1\\xba\\x1c\\x21\\xc4\\x68\\x7b\\xca\\xa5\\xd7\\x47\\xbd\\x76\\x6f\\x69\\x59\\x24\\x1e\\xf7\\x23\\x70\\x1b\\x70\\xd3\\x4e\\xd0\\x2e\\x3a\\x19\\x8b\\x06\\x33\\x7d\\xe6\\x4d\\x9f\\xc6\\x62\\x04\\xa7\\xa4\\xf7\\xe5\\x29\\x61\\xb8\\x3c\\xe9\\x31\\xe6\\x8d\\x2e\\x4a\\x40\\xa7\\xc1\\x7f\\xbe\\xfd\\xfa\\xcb\\x51\\x5d\\xa3\\xff\\xf8\\x87\\xbb\\x1f\\x93\\xde\\x91\\xfe\\x04\\xcf\\x85\\x2d\\xd7\\xdc\\xbb\\x2e\\xb3\\x26\\x97\\x88\\xde\\xc2\\x9c\\x24\\x74\\xc7\\x1f\\x48\\xef\\x26\\x43\\xcc\\xb8\\x7e\\x27\\x6a\\x87\\x13\\xc2\\xe3\\x49\\x70\\x76\\xd2\\x75\\x3c\\x20\\x27\\xa6\\x2f\\x7f\\xfb\\x7a\\x19\\xf3\\xe1\\x73\\xa5\\x55\\xc8\\xce\\x33\\xa0\\xe7\\x30\\x4e\\x28\\x01\\x2e\\xbf\\x4d\\xa3\\x31\\x86\\x5c\\xa1\\x92\\x54\\xc0\\xeb\\xd5\\xe3\\x0a\\x58\\x1a\\x87\\xc3\\xe9\\xa4\\x71\\x36\\x7f\\xd2\\x6c\\x8e\\x22\\x33\\x37\\x50\\xcc\\x2f\\xa0\\x68\\x8e\\x3e\\x12\\x71\\x05\\xf6\\x98\\x12\\x57\\x57\\x60\\xb3\\xa9\\x5c\\x0e\\x52\\xce\\x08\\xa3\\x3b\\x5b\\x84\\x1b\\xee\\x2d\\xb0\\xd2\\x86\\x0c\\xae\\x8b\\xfa\\xab\\xe1\\x41\\xc5\\xec\\x3a\\xfe\\x77\\xc7\\x13\\xf7\\x75\\xe4\\x2c\\xb2\\x13\\xaf\\xac\\xbd\\x32\\xb0\\x40\\x96\\x81\\x9c\\x9b\\xa3\\x79\\xee\\x45\\x5a\\xf2\\x7c\\xa1\\x5f\\x18\\x42\\x83\\xd7\\xe9\\xe1\\x79\\x9f\\x53\\x63\\xd7\\xd8\\xe3\\x09\\x8f\\x03\\x69\\x55\\x9d\\x5e\\xd7\\x21\\x86\\x09\\x1d\\x5b\\x08\\x63\\x54\\x84\\xae\\x69\\x1e\\x42\\x4d\\x8e\\x5d\\x5c\\x95\\xa5\\x28\\x2b\\x2d\\xcf\\x95\\xa7\\x04\\xcb\\xd6\\xd5\\x9d\\x86\\xa4\\x2d\\xcf\\x63\\xa2\\xcf\\x93\\x9b\\xec\\xc0\\x74\\x25\\xdb\\xb7\\x77\\x51\\x23\\x09\\x87\\xc9\\x7c\\xcc\\x61\\xb2\\x0a\\x1a\\x64\\x62\\x13\\x6a\\x9c\\xc4\\x10\\x74\\x7a\\x72\\x0a\\xd5\\xe4\\xab\\x97\\x89\\x4c\\xbe\\xf5\\xd7\\x53\\xe3\\xe0\\x15\\x84\\xdc\\x44\\xc5\\x1b\\x9b\\x08\\x47\\x57\\xab\\x50\\xe6\\x93\\x89\\xe5\\xb8\\x60\\x08\\x81\\x70\\x27\\x67\\x93\\xf9\\xe5\\x7c\\x39\\x7e\\x39\\xeb\\xff\\xc4\\x2f\\x87\\xd3\\xa4\\x8b\\xce\\xf4\\x4e\\x11\\xc1\\x3d\\x0c\\x0e\\x86\\x08\\x93\\x62\\xdf\\x42\\x86\\x87\\x63\\xb6\\x4a\\x23\\x2e\\x41\\xff\\x41\\x87\\x7e\\xc8\\x5b\\x43\\xac\\xe9\\x41\\x75\\x9d\\x75\\x8f\\xc0\\x2e\\x69\\x33\\x29\\x12\\x39\\xbb\\x0d\\xce\\xf6\\x56\\x2e\\xab\\x9b\\x2a\\x5d\\xe4\\x77\\x49\\x27\\xdb\\x30\\x17\\x26\\xf6\\x47\\x12\\xbe\\x85\\x08\\xb1\\x6e\\xd0\\x62\\x88\\xf9\\x5d\\x2e\\x0b\\x87\\x79\\x93\\x22\\xd0\\x68\\x42\\x03\\x1e\\x70\\x86\\x4c\\x26\\x8d\\xc7\\x46\\xd3\\x3a\\x8d\\x4e\\x39\\xc4\\xc9\\x25\\x17\\x0f\\x2c\\xdc\\x7d\\x55\\x87\\x21\\x0e\\x36\\xcb\\xa5\\x72\\x47\\xeb\\xa3\\xd5\\x38\\x2d\\x53\\xeb\\x8e\\x36\\x60\\xa5\\x63\\x45\\xbf\\xe3\\xa2\\xec\\x06\\x34\\xd7\\x8f\\x92\\x7c\\xee\\x4f\\xa4\\xdd\\x90\\xbf\\x12\\x27\\x75\\x5f\\x06\\x7b\\x97\\x3d\\x0c\\xbb\\x37\\x5c\\x02\\x0d\\x3d\\xab\\x5f\\x95\\xe6\\xd0\\xef\\x49\\x43\\xd4\\xbc\\x6e\\xf8\\x7a\\xdb\\x2b\\x58\\x0d\\xbd\\x22\\xbf\\x4a\\x68\\x01\\xa1\\xfe\\x13\\xff\\x28\\xc2\\xc7\\x49\\x64\\xbb\\x22\\xfc\\xe0\\xe3\\x83\\x31\\x2d\\xcf\\xc7\\xca\\xca\\x63\\xc1\\x20\\xef\\x73\\xfb\\x9a\\xc5\\x52\\x80\\x54\\x66\\x56\\x8c\\xfb\\x6d\\x25\\x1c\\xc7\\x86\\xdd\\x56\\xd6\\xd4\\x22\\xea\\xd8\\x80\\x9a\\xba\\x26\\x53\\xaa\\x9e\\x22\\x84\\x6c\\xe7\\x60\\x49\\xe8\\xe2\\x5c\\x6f\\x1a\\x8d\\x7c\\x1f\\x79\\xd0\\xc0\\x73\\x68\\xbf\\xf8\\x21\\x9f\\xee\\x7d\\xe6\\xf2\\x8c\\xef\\xab\\xaf\\xf6\\xce\\xc0\\x09\\xdf\\xe7\\x42\\x41\\xdc\\x00\\xa7\\xcf\\x6c\\xdf\\x2b\\x35\\x5e\\x29\\xf5\\x52\\x89\\x9e\\xad\\x4a\\xce\\xf7\\x25\\x6b\\x9a\\xa8\\xaa\\xb6\\xef\\x71\\xd6\\xf7\\x11\\xfc\\xca\\xff\\xd4\\x86\\x34\\x43\\x0b\\x5e\\x1b\\x01\\x92\\x2f\\xb8\\x17\\xf8\\x91\\x64\\xe7\\x08\\x15\\x01\\x9d\\xc3\\x11\\xf1\\xd2\\x26\\xda\\x54\\x92\\xf2\\x80\\x24\\x0e\\x00\\x8c\\xe1\\xc4\\xb6\\x80\\xbd\\x59\\x44\\xb8\\x42\\x23\\x27\\xb8\\x01\\xbe\\x20\\x6d\\x50\\xf1\\xe4\\x82\\x22\\x3a\\x11\\x79\\x45\\xd4\\xe5\\x4b\\xf1\\x90\\x42\\x94\\xe8\\x03\\x42\\x34\\xc3\\x2b\\xab\\x9b\\xd7\\x40\\x92\\x93\\x4a\\x32\\xdd\\x9f\\xdf\\x7c\\xf3\\x32\\x48\\x71\\x8b\\x1f\\xff\\xb1\\x75\\xe3\\x1d\\xeb\\xce\\x18\\x7b\\xde\\x84\\xd8\\x80\\xfb\\x7a\\xc1\\xca\\x6b\\x67\\xdc\\x34\\x6a\\x56\\x9d\\xf3\\xca\\x6b\\xa8\\xcb\\xbc\\x95\\xd3\\x17\\x4b\\xdf\\x9e\\xff\\x87\\xc1\\x0c\\xb3\\x61\\xc6\\xd4\\xea\\x65\\x6f\\xc5\\xe1\\x97\\x0c\\x35\\xe3\\xa2\\x9d\\x61\\x0f\\xd1\\x55\\x98\\xd3\\x07\\xad\\x07\\x1b\\x9a\\x65\\x67\\x08\\x09\\xb7\\xd6\\x4c\\x07\\x83\\x36\\xad\\x2d\\x14\\xb6\\x58\\x0d\\x4e\\xa4\\x98\\x0c\\xb6\\x20\\x4d\\xb3\\xac\\xaf\\x45\\x64\\x5d\\x94\\xad\\x59\\x2e\\xf2\\x51\\x10\\xc8\\x98\\x29\\xa0\\x6a\\x57\\xd4\\x54\\x92\\xcf\\x93\\x6e\\xbb\\xdc\\x68\\x2d\\x14\\x9e\\x6b\\x36\\xd0\\xdf\\x48\\xbf\\x3a\\x96\\xef\\x94\\xee\\xdf\\xff\\xf4\\x39\\x7f\\xac\\xd8\\xbe\\x7d\\xc5\\x45\\x4b\\x16\\xce\\x58\\x78\\xe6\\x1f\\x87\\x54\\x56\\x5e\\x78\\x15\\x3c\\x74\\x0c\\x9a\\x1a\\x86\\x4d\\x3d\\xb9\\x19\\xee\\xdc\\xfd\\xfa\\x17\\xef\\x3c\\xb5\\xa7\\xae\\x3f\\xd1\\x47\\xf8\\xdc\\xed\\x6b\\xd2\\xcf\\x00\\xee\\xa7\\x9d\\xb6\\x58\\xac\\x2e\\xad\\x55\\x1b\\x0c\\x59\\x79\\xb9\\x9f\\xae\\x00\\xee\\xa7\\x17\\xf5\\xd3\\x06\\x51\\x3f\\xa1\\xf5\\x7f\\xea\\xa7\\x5c\\xfb\\x83\\x8c\\x6f\\xc4\\x2e\\x7b\\x09\\x79\\x64\\x0c\\xcb\\xc7\\xb1\\xc4\\x1b\\xd8\\x04\\x75\\xa8\\x97\\x70\\x5a\\xae\\x97\\x5f\\x92\\x4e\\xd2\\xd7\\xa2\\x5e\\x4a\\xa9\\x63\\xd2\\x31\\xd4\\x4b\\x7a\\xb6\\x94\\xdd\\xf5\\x06\\x7c\\x9c\\xf4\\x52\\xad\\x1b\\x71\\x1f\\xda\\xbf\\x08\\x57\\x4f\\x4c\\x29\\x1a\\x91\\x2a\\xd5\\xc4\\x62\\x89\\x04\\xd2\\xf6\\x09\\x9b\\x2b\\x98\\x15\\x5d\\xf0\\x77\\x0a\\x46\\x14\\xc5\\x3a\\x9c\\xa6\\x52\\x44\\xb1\\x8d\\x7b\\xfa\\x6a\\x11\\x98\\xa4\\x4a\\x66\\xaf\\x3a\\x6d\\xb9\\x08\\x7a\\xaf\\xca\\xb8\\x79\\x71\\xc7\\xf8\\x7f\\xe2\\x1c\\x75\\xd4\\xe7\\x46\\x34\\xae\\x6e\\x5c\\xfb\\xc0\\xe8\\xb6\\xb3\\x6e\\xd6\\xe3\\xc5\\xa4\\xc7\\x46\\x9d\\xcb\\xed\\xa4\\x9d\\x2d\\x39\\x8f\\x7d\\x9f\\xda\\x07\\x1c\\x8e\\xa0\\x91\\x31\\x81\\x1d\\x2f\\xbf\\x88\\x32\\x6e\\x8d\\x55\\x8f\\x4e\\x85\\xaf\\xfd\\xf3\\xd0\\xaa\\x2d\\x98\\x8d\\x1f\\x9a\\xee\\x7f\\x64\\xd4\\x8d\\x15\\xf4\\xa5\\xf1\\x72\\xc9\\xfa\\x9d\\x14\\x86\\x9a\\xed\\xd5\\x70\\xd3\\x7b\\xbb\\x38\\x0b\\x79\\xa6\\x8f\\xd2\\xb3\\xd1\\xbd\\x43\\x48\\x3f\\x4c\\x16\\x6a\\x79\\x7d\\x38\\x10\\xb0\\xea\\x59\\xa6\\xac\\xdc\\x1b\\x6b\\x15\\xad\\xde\\xb0\\xb7\\xda\\x4b\\x23\\x23\\xca\\x0b\\x4c\\x26\\x0e\\xd9\\x82\\x26\\x5b\\x82\\xa2\\xdc\\x5a\\x2d\\x00\\x25\\xe8\\x29\\xe3\\xc5\\xb4\\x2f\\x77\\x18\\x22\\xf7\\xae\\xa0\\x4a\\xa4\\x9a\\xee\\xca\\x2a\\xde\\xf3\\x92\\x1c\\x43\\x36\\x29\\x24\\xe0\\x56\\x8c\\xc4\\x86\\x9c\\x27\\x9d\\xe2\\xde\\xbe\\xb4\\x8c\\x3b\\x93\\x1b\\x30\\x5a\\xed\\xbc\\x74\\xcc\\xb8\\xea\\xb1\\x55\\x77\\x3f\\x3e\\x79\\xee\\x05\\xf7\\x5e\\x34\\xa1\\xeb\\xc2\\x25\\xce\\x45\\x6d\\xe7\\xae\\x5d\\xb0\\xf4\\x85\\x1f\\xa4\\xb0\\x74\\x7c\\x7b\\xb5\\x34\\x6b\\xf2\\xe0\\x05\\x7f\\x9c\\x79\\xd1\\xe5\\x7f\\xcb\\x0c\\x99\\xbc\\xae\\x51\\xd9\\xfb\\xc7\\x31\\xab\\xd8\\x75\\x40\\x8f\\x30\\xcc\\x99\\x68\\xef\\xb7\\xb8\\xd8\\x54\\xca\\x67\\xf1\\x95\\x46\\xcb\\xa2\\x89\\x04\\x7a\\xfa\\x09\\xbf\\xc7\\xd5\\x2c\\x7a\\x80\\x1d\\xed\\x34\\x76\\x9b\\x89\\x56\\xce\\x39\\x8b\\xdc\\xda\\x84\\x00\\xc9\\x51\\xb0\\xa2\\x0a\\xf8\\xec\\x4f\\x71\\x66\\xab\\x6a\\x01\\xe3\\x01\\x49\\x8d\\xfd\\x80\\xfb\\x17\\xdd\\x92\\xf7\\x60\\xcb\\xdb\\x7e\\x8b\\x70\\xcb\\xed\\x39\\x5e\\xfb\\xb7\\x27\\x16\\x86\\x84\\x78\\xf1\\xc6\\xff\\xaa\\xe3\\xb5\\x7d\\x40\\xd1\\x09\\xcc\\x46\\xc2\\xc9\\x86\\xf1\\x4b\\x29\\xf0\\x86\\x79\\x96\\x4d\\xd8\\xbd\\xf6\\x92\\x54\\x32\\x16\\x33\\x67\\xc5\\x18\\x0c\\x59\\x09\\x1d\\x9b\\xcd\\x8d\\xfa\\xef\\x76\\x39\\x91\\xa6\\x73\\xf2\\xc5\\x52\\x9c\\x0e\\x91\\x15\\x88\\xa1\\xb0\\xc6\\xba\\x0b\\x54\\x85\\x3b\\x25\\x4f\\xf0\\x9c\\x10\\xf4\\x1c\\x32\\x91\\x97\\x16\\x12\\xf4\\x6f\\xdb\\x38\\x6e\\xa4\\x2a\\x04\\x6c\\xc6\\x13\\xf9\\x84\\xe4\\xad\\x54\\x49\\xfa\\x47\\xbe\\xf3\\x05\\xf7\\x16\\x91\\x41\\xcd\\x5f\\x73\\x22\\x2d\\x3d\\x54\\x08\\x7b\\x4c\\xc0\\xeb\\x74\\x6a\\x80\\x26\\x10\\xf4\\x80\\xac\\xe8\\xf1\\xe8\\x69\\xbd\\xad\\x45\\xd4\\xbb\\x68\\xa4\\x96\\xe9\\xd3\\x27\\xb0\\xe5\\xb4\\x84\\x0d\\x83\\x11\\x9b\\x9c\\x2e\\x4d\\x1c\\x32\\x43\\x21\\x2d\\x1f\\x24\\x9f\\x01\\x2f\\x78\\x61\\xff\\x1b\\x87\\x27\\x3e\\x58\\x9d\\xd9\\x58\\xbb\\x61\\xfd\\xa1\\xf6\\xa9\\xf0\\x96\\x85\\xf0\\x50\\x2b\\xdc\\xfc\\xd3\\xcf\\xd2\\x89\\x23\\x55\\xe1\\x01\\x26\\xfb\\x23\\x7f\\x75\\xc0\\xbb\\x36\\x75\\x3f\\xf0\\x60\\x51\\xbf\\x54\\x3e\\x7b\\xa7\\x17\\x00\\xab\\x55\\xe7\\xa4\\x83\\xa1\\x77\\x14\\x3e\\xfb\\x28\\xfd\\xbf\\xe7\\xd8\\x29\\xd5\\xdd\\x0b\\xa2\\x22\\xfe\\x5f\\xe7\\xd9\\xe1\\xb3\\x7b\\x64\\xff\\x33\\xa8\\xaf\\x38\\x37\\x77\\x8e\\xd0\\x3f\\x44\\xd3\\x09\\x4d\\xa2\\xb6\\xcc\\x61\\x32\\xa7\\x52\\x5e\\x8d\\x49\\x53\\x53\\x5b\\x66\\x8a\\xa2\\xd1\\x2c\\x35\\x7b\\x99\\xac\\x68\\x8a\\x9a\\xbd\\x5e\\x73\\xd4\\xc4\\xe8\\x5d\\x2e\\x2b\\x26\\xe8\\xd3\\x57\\x64\\xd1\\x00\\xf7\\xa5\\x86\\xe8\\xcb\\xc6\\xa1\\x3a\\x03\\x54\\x12\\x17\\x34\\x8b\\x95\\x84\\xa8\\x12\\xc2\\x98\\xab\\x4a\\x84\\xc0\\x54\\x83\\x5b\\xce\\x29\\x71\\x5b\\x60\\x32\\x25\\x9f\\x4d\\xd4\\x33\\x03\\xce\\x5f\\x52\\xe5\\xdc\\xff\\xc2\\x93\\xbb\\xa9\\x9a\\xba\\xcf\\x64\\x19\\x37\\x3f\\x55\\x8e\\xae\\x99\\xdc\\xd0\\x78\\xce\\xf0\\x52\\xcb\\x12\\xc9\\xca\\x48\\x8b\\xa6\\x4d\\x9f\\xb7\\x10\\xee\\xba\\xee\\x8f\\xee\\x73\\x2f\\xfa\\xf9\\xa7\\x57\\x5f\\x84\\xa9\\x7d\\x44\\xea\\x85\\xf3\\x83\\x2e\\xb7\\xa9\\xf1\\xe2\\x0b\\x2f\\x4f\\x8d\\x9d\\x55\\x3f\\xf5\\xdd\\x07\\x36\\x3c\\xb2\\x55\\x3e\\xdb\\x6d\\x46\\xcf\\x29\\x4a\\xbf\\xec\\xd0\\xd0\\x73\\xd4\\xdc\\x06\\xda\\x8c\\xc6\\xa2\\x12\\x4c\\x13\\xea\\xf4\\x09\\x27\\xd2\\xe8\\xa6\\x00\\x03\\x34\\xa5\\xa0\\xb4\\xaa\\x3a\\x61\\x32\\x9b\\x11\\x70\\xb1\\x9a\\xc3\\x66\\xca\\x84\\xb0\\x63\\x3a\\x0c\\xe8\\x34\\x5a\\x19\\x69\\x57\\x20\\x1c\\x76\\x67\\xc5\\xb0\\xad\\x08\\xdd\\x3b\\x72\\x5a\\x4a\\xe5\\xf2\\xcf\\x73\\x92\\x34\\xe4\\xa2\\x16\\x34\\x69\\x58\\x2f\\xcb\\x9d\\x0b\\x05\\x4c\\x29\\xa1\\x80\\xbc\\x1a\\xe3\\x30\\x78\\x5a\\xe7\\xf0\\x4b\\x56\\x35\\x8d\\xfe\\xd3\\xa8\\x48\\x84\\xbf\\xab\\x66\\xc0\\xc8\\x05\\xe7\\x55\\x77\\xf8\\x07\\xd6\\xc0\\x15\\x37\\xee\\x3c\\xf0\\xf4\\x9c\\x3f\\xec\\xdb\\xbd\\xbf\\x73\\x55\\xd8\\x39\\x6f\\xf2\\x19\\xe7\\x39\\xcd\\x1d\\x5a\\xc6\\x36\\x75\\x34\\xb6\\x3e\\x2e\\xde\\x97\\xb8\\x6a\\xd1\\xed\\x43\\xb5\\xfc\\x15\\xe7\\xde\\x70\\xfb\\x14\\x55\\x3e\\xa6\\x1b\\xc9\\xd7\\x08\\xe6\\x0b\\x83\\xbd\\x9a\\x04\\x53\\xd7\\x40\\xd7\\x69\\x82\\x15\\x8c\\x8d\\x36\\xd8\\x0c\\xc2\\xd0\\xe1\\x83\\xd0\\x83\\xd6\\x04\\x03\\xc1\\x40\\x8b\\x58\\x47\\x37\\x8b\\x83\\x82\\x75\\x75\\xc1\\x41\\xb4\\xb9\\xa2\\xba\\x3a\\x95\\x15\\xab\\x6d\\x36\\xce\\xcc\\xb5\\x88\\x66\\x57\\x11\\xf1\\x9f\\xfc\\xc4\\xd3\\x4a\\x9d\\x2a\\xa2\\xd2\\xd0\\x53\\x76\\x17\\x50\\x4b\\xe2\\xa7\\xad\\xc9\\xcb\\x53\\xff\\xbf\\x4a\\x5f\\x3c\\x0d\\xe8\\x6f\\xcf\\x5f\\x92\\x09\\x6e\\x90\\x05\\xfd\\xfd\\xb1\\x78\\xe0\\x1d\\x83\\xdf\\xc5\\x4d\\x1e\\x38\\x94\\x4c\\x08\\x3c\\x0f\\x7c\\xb3\\x33\\x8a\\xf4\\xc3\\x4f\\x3b\\x3c\\x4b\\xce\\x37\\x39\\x4b\\x4d\\x8d\\xcb\\xe6\\xe2\\x89\\xa1\\xd6\\x2b\\xc1\\x71\\x2c\\x3e\\x50\\x05\\x9a\\x84\\x24\\xe3\\x09\\x85\\x62\\x76\\x3a\\x6d\\x4c\\xa6\\x93\\xd5\\x35\\x51\\x87\\xdd\\x61\\x6f\\x11\\x1d\\x8e\\x52\\x7f\\xa9\\xae\\x55\\x2c\\x75\\xf9\\x41\\xab\\xe8\\x3f\\x45\\xab\\x14\\x3f\\x6d\\x92\\x34\\x66\\x51\\x63\\x57\\xb0\\xcc\\xd8\\x77\\x49\\x8a\\xda\\xe0\\x37\\xb2\\xfd\\xa3\\x8e\\x0c\\x26\\x4c\\x84\\xf0\\xe8\\x79\\x77\\x4f\\x9a\\x7c\\xf7\\xac\\xc5\\x6b\\x96\\xcf\\xcf\\x2c\\x72\\xb9\\x22\\x7f\\x98\\x77\\x75\\xe7\\xd2\\x2d\\xbb\\x17\\x4e\\x98\\x34\\x7f\\xd7\\xd6\\x03\\x87\\xe7\\xee\\xa5\\x93\\xe3\\x6f\\xb9\\x70\\xc1\\x86\\xb3\\xb3\\xa3\\x06\\x4f\\x30\\x33\\xfa\\x0e\\xa3\\xfe\\xec\\x41\\xa3\\xc6\\x6f\\xb9\\xf5\\xea\\xe6\\x45\\x56\\xad\\xe9\\x92\\x73\\xae\\xbd\\x45\\xfa\\x61\\xf3\\xa7\\xcb\\x00\\xec\\x5d\\x25\\x8d\\xa6\\xa6\\x11\\x9e\\x97\\xd1\\x42\\xdc\\xa9\\xb7\\xf9\\x29\\x1b\\x25\\xfb\\x31\\xb2\\xc4\\x8f\\x91\\x95\\xfd\\x18\\x56\\xbd\\x46\\x63\\x41\\x0f\\x3e\\xf0\\x7b\\x64\\xec\\x2a\\xcd\\x75\\xb2\\x8f\\x1f\\xa3\\xd0\\xa5\\x97\\xa1\\xa6\\x3d\\x58\\xe0\\xc7\\x78\\xfd\\x75\\xec\\xc7\\x78\\xb0\\xa9\\x31\\xe7\\xc6\\xf8\\xa1\\x8d\\xda\\x4b\\x32\\x6f\\x1a\\x73\\xf6\\x33\\xde\\x7f\\x52\\xa0\\x1f\\x8e\\x19\\xaa\\xf3\\xa5\\xa3\\x3c\\xaf\\xd5\\x9a\\x7d\\x74\\x7d\\xaa\\x7f\\x0a\\x21\\x29\\xb4\\x8b\\xc2\\x60\\x75\\x56\\x8c\\x04\\x6d\\x69\\x97\\xcb\\xe3\\x29\\x6d\\x11\\x3d\\x2e\\xcc\\x7a\\x61\\x36\\x04\\x0a\\xaa\\x66\\xe4\\x60\\x9f\\xba\\xa3\\x16\\xce\\x3c\\x65\\x03\\x52\\x01\\x8c\\xa2\\xd7\\x0b\\x60\\xab\\xbc\\x19\\x41\\x6c\\x6f\\xab\\xf0\\x95\\x39\\x9f\\x6c\\x48\\xef\\xbe\\xb3\\x6c\\x63\\x43\\x3a\\x79\\x5e\\xfa\\xea\\x45\\x7f\\x78\\x54\\xc1\\xb1\\x98\\xea\\xbc\\x67\\xc0\\xe8\\xcb\\x1a\\x09\\x9c\\x65\\xfe\\x42\\x76\\xa6\\x27\\xdf\\xff\\x02\\x23\\x1e\\xde\\xf7\\xc0\\xde\\x8b\\x55\\x68\\x7b\\x1f\\x06\\x60\\x27\\xd6\\x56\\x0d\\x84\\xc3\\x65\\x80\\x9b\\xf3\\x19\\xd0\\x4b\\xd0\\xfc\\x32\\x21\\x2c\\x74\\xb6\\x90\\x32\\x94\\xd0\\x7e\\x3f\\xf7\\xff\\x51\\xf7\\x26\\xf0\\x51\\x55\\x67\\xe3\\xf0\\x39\\x77\\x99\\x3b\\xfb\\x9d\\xed\\xce\\x9a\\xcc\\x92\\x49\\x32\\xd9\\x13\\x32\\x19\\x42\\xd8\\x32\\x20\\x81\\xb0\\x48\\x02\\x44\\x64\\x14\\x08\\x68\\x04\\x41\\x76\\x15\\x04\\x45\\xb0\\xa0\\xb8\\xb0\\x2a\\xe2\\x86\\x0a\\xa8\\xd4\\x22\\xb6\\x22\\x6b\\xd5\\xba\\x54\\x5c\\x5a\\xa5\\x60\\x45\\xad\\xb4\\xee\\x75\\x79\\x5b\\x5b\\x6d\\x5d\\xaa\\x42\\xee\\x7c\\xcf\\x39\\xf7\\xde\\x59\\x92\\x60\\xdb\\xff\\xf7\\x7e\\xdf\\xef\\xfb\\x58\\x66\\xe6\\xce\\xdc\\x7b\\xce\\x73\\xce\\x79\\xce\\xb3\\x9f\\xe7\\x09\\x5b\\xc2\\x96\\xf2\\x8a\\x98\\x58\\x1a\\x8d\\x0a\\xa0\\x25\\xd9\\xd8\\x82\\x82\\x60\\x10\\x4d\\x48\\x05\\xdd\\x36\\x2f\\x29\\x8d\\xd3\\x73\\xb0\\x79\\x89\\xe8\\x89\\x19\\x39\\xae\\xe4\\x47\\xcb\\x8e\\x80\\x3f\\xeb\\x78\\x1b\\xe3\\xf8\\x77\\x1a\\xf8\\x8c\\xab\\xaf\\x21\\x3a\\xb6\\x8e\\xcf\\x42\\x3d\\xa9\\x8f\\xa1\\x4d\\x55\\xe9\\xe4\\xfd\\x54\\xa6\\x1b\\x9e\\x8c\\x98\\x90\\x83\\xf7\\x22\\x1e\\x85\\xc2\\x41\\x1f\\xcd\\x82\\x1d\\x60\\xf4\\x8a\\x6c\\x69\\x63\\xa4\\xb6\\x6c\\xc0\\x64\\x7e\\x51\\x8a\\x6c\\x5a\\xb4\\x92\\x6c\\x25\\xef\\xac\\x6b\\x27\\x9b\\x6f\\x9c\\x1d\\x75\\xf8\\x8e\\x93\\x7f\\xf9\\xe8\\x8f\\xb7\\xed\\x1a\\xea\\x9e\\x74\\xc3\\xad\\x6b\\x6f\\x5a\\x53\\x77\\x91\\xf7\\x72\\xbc\\x78\\x4a\\xf5\\xb0\\x33\\x9f\\x9e\\xf9\\xa1\\xfa\\x2f\\xeb\\x9b\\x7f\\xff\\xe6\\x6f\\x5e\\xf7\\xdb\\x30\\xe7\\x07\\x15\\x9b\\xce\\x33\\x02\\xdc\\x42\\x80\\xf7\\x6a\\x7d\\x09\\xab\\xc1\\x26\\x19\\xa4\\xc2\\xa0\\x64\\xb3\\x19\\xac\\x26\\x6b\\x5b\\x4a\\x44\\x7a\\x2f\\xc7\\x39\\x4c\\x22\\x17\\xc8\\x16\\xed\\xe9\\xbb\\xbe\\x44\\x49\\x10\\xf7\\x2c\\x2e\\x01\\x6f\\x58\\xa9\\x2f\\xc1\\x4c\\xea\\x68\\xb1\\xca\\x37\\x0f\\xd1\\xd7\\x8d\\x93\\x6f\\x9f\\x81\\x0f\\xdd\\x8e\\x39\\xec\\xba\\x1d\\x4f\\xbd\\x40\\xde\\x61\\x1f\\x52\\x5c\\xed\\x5a\\xf8\\xfa\\x5f\\x67\\x9a\\x0a\\xdb\\x1e\\x3e\\xc8\\x4e\\xa1\\x89\\xc5\\x56\\x32\\xd7\\x13\\x25\\xf3\\x74\\xe2\\x8a\\xcd\\x13\\x36\\x15\\x0b\\x48\\xab\\x9f\\xb6\\x01\\x60\\x75\\x22\\x1f\\xa9\\xca\\x63\\x35\\x39\\xb0\\x09\\xfb\\x03\\xd8\\x44\\x8c\\x13\\x36\\xd6\\xe0\\xe5\\x74\\x0e\\x8b\\xe8\\x76\\xe9\\x5c\\x6a\\xde\\x67\\x55\\xf1\\xcf\\xcd\\xde\\xaf\\xba\\x33\\x75\\x82\\xdb\\xc9\\xc7\\x40\\x0a\\x66\\x01\\x48\\xb7\\xa7\\x3f\\xac\\xb6\\xa7\\x11\\xa8\\x2c\\xbb\\xe1\\xea\\x9d\\x73\\x96\\x57\\xc8\\x73\\x47\\x05\\x6e\\x98\\xfa\\xb3\\xb9\\xd8\\x72\\xd5\\x84\\x4b\\xd6\\xbf\\xd8\\xfd\\x88\\x6b\\xa7\\x73\\xe0\\x24\\x76\\x95\\xfb\\xd5\\x87\\xba\\xe5\\x33\\xa6\\xc2\\x23\\x5f\\x1c\\xc4\\xd8\\x57\\x7d\\xf0\\x9e\\xed\\x07\\xce\\xdc\\x2d\\x08\\x2b\\x6e\\xbc\\x9b\\xe6\\x2a\\x94\\xc7\\xb1\\x9f\\x03\\x7c\\x41\\x42\\x11\\x41\\x86\\x09\\x06\\x03\\xfa\\x00\\xac\\x75\\xa0\\x2d\\x15\\x0c\\xf8\\x25\\xab\\xc1\\x64\\x68\\x4b\\x79\\x4c\\xa2\\x8b\\x61\\x78\\xde\\x3e\\x11\\x14\\x48\\x94\\xb3\\x2f\\x55\\x57\\x7c\\x7e\\x9e\\x73\\xbe\\xa1\\x51\\x4d\\x59\\xa9\\x1e\\xe3\\xcb\\xcf\\x2e\\xcf\\x3c\\x21\\x4c\\x7c\\x6c\\xf0\\x8a\\x6b\\x96\\xe0\\xdb\\x57\\xee\\x2e\\xdf\\x54\\xbe\\x0a\\x6f\\x5f\\xb6\\x5e\\xfe\\xdd\\x98\\x39\\xd5\\xd5\\x03\\x36\\xae\\x63\\xe6\\x12\\x4b\\x4a\\xf7\\xae\\xbd\\x0e\\x13\\xf3\\x37\\xf2\\xf1\\x74\\xb1\\xbd\\x5a\\xb1\\xf9\\xb0\\x1f\\x53\\x7a\\x02\\x3b\\x2b\\x40\\x62\\xd2\\x4b\\x2c\\x25\\x65\\xe5\\x42\\x30\\x48\\x7c\\xbc\\xfc\\xc4\\x54\\xc4\\x66\\x87\\xfd\\x64\\xc7\\x25\\x7a\\x86\\x06\\x58\\x90\\x4a\\x30\\x39\\x10\\x6a\\x44\\xbc\\xbe\\x87\\x8e\\x46\\xa3\\x26\\xb2\\xd1\\x47\\xb9\\x78\\x5a\\x88\\x33\\xb5\\x3a\\x3c\\x12\\xd3\\xbe\\x52\\xad\\xcf\\x91\\x2d\\x88\\xa0\\x94\\xe9\\x58\\x52\\xed\\x63\\xa6\\x6b\\xe5\\x39\\xb2\\xd5\\x10\\x26\\x2a\\x35\\x3a\\xba\\xb7\\x11\\xcf\\x14\\xa6\\xb9\\x50\\x2e\\x07\\xf8\\x6b\\x49\\x4c\\x7d\\xd4\\x66\\x93\\x8c\\xd5\\x52\\x75\\x5d\\xbf\\xd2\\xf2\\x72\\xcb\\xc4\\x54\\xb9\\x8d\\x94\\x53\\x2b\\xf4\\x61\\x92\\xce\\xb9\\x2d\\xc5\\xb2\\xc8\\x29\\x21\\xa0\\x16\\x28\\x90\\x97\\xff\\x2c\\x97\\x12\\xe6\\xe9\\x99\\x39\\x26\\xdd\\x7f\\x3f\\x16\\x97\\x8e\\x19\\xa3\\x99\\x77\\xcf\\x32\\xa4\\x3b\\xe4\\x71\\xaa\\x8d\\x57\\x3e\\xfb\\xc0\\xca\\x9f\\xff\\xad\\x62\\xdf\\x62\\x4a\\xf9\\x71\\xc8\\x8e\\x0a\\x89\\xbd\\xda\\x21\\x62\\xec\\x35\\xea\\x74\\xc1\\x90\\x14\\x98\\x94\\x92\\x2c\\x3d\\xab\\x3d\\xfc\\xb8\\x35\\x2e\\xc7\\x60\\xdd\\x97\\x2d\\xae\\xa7\\x9d\\x7a\\x31\\xa9\\xff\\x70\\xe0\\xc0\\xf5\\xb8\\xf2\\xe0\\x23\\xc4\\x3a\\x4d\\x6c\\xd0\\x3d\\x6c\\x71\\x72\\x47\\x07\\x1b\\xd7\\xac\\xd3\\x44\\x26\\xac\\x4e\\x7f\\xce\\x04\\xd9\\xbd\\x20\\x13\\x5e\\x46\\x65\\xa6\\xc9\\xf0\\xf2\\x11\\xe0\\xbf\\x09\\x55\\x26\\x25\\xc4\\xf3\\x66\\x8b\\x49\\xa7\\x07\\x08\\xf5\\x22\\xc9\\x64\\x0e\\x6b\\x21\\xe5\\x8b\\x7d\\x8a\\xf5\\xad\\x24\\xe7\\xb8\\x2a\\x5e\\xbc\\x44\\xbe\\xfc\\xca\\x2b\\xf1\\x86\\x25\\x23\\xb5\\x40\\x33\\x4a\\xa7\\x30\\xec\\x78\\xc4\\x84\\x41\\x8f\\x0c\\x81\\x66\\x6c\\xf5\\x30\\x8c\\x43\\x10\\xc2\\x11\\x52\\xd5\\xd9\\x8a\\x48\\xac\\x7d\\xd0\\x60\\x6d\\x45\\xf6\\x64\\xa1\\xdd\\x6e\\x9c\\x90\\xb2\\xdb\\x79\\xc5\\xa0\\x8f\\xc8\\x19\\x5a\\x12\\x19\\xd4\\x63\\x86\\xc8\\x85\\xdf\\x6b\\x3b\\x56\\x59\\x5f\\x99\\x5b\\x15\\x23\\xa6\\x4e\\x11\\x95\\xb2\\xa3\\xb0\\xc4\\x1e\\x3a\\x53\\x94\\xc2\\xc6\\xad\\x18\\xaf\\x95\\xc8\\x24\\x15\\xfa\\x22\\xc5\\xba\\x5a\\x66\\xc2\\x68\\xd7\\x0e\\x3c\\x32\\xe2\\x0e\\x17\\x0b\\xb5\\x6c\\x1b\\x33\\x85\\xe9\\xfe\\x9c\\x16\\xcd\\x58\\xe4\\x28\\x6f\\x9c\\x3a\\x8b\\x61\\xc2\\xde\\xea\\xee\\x61\\xce\\x8a\\x86\\xce\\x8b\\x94\\x58\\x47\\x78\\xb1\\xd1\\x58\\xc7\\x00\\xb1\\x91\\x49\\x3a\\xab\\xc3\\xe1\\x35\\x30\\x3a\\xa6\\xa0\\xd0\\xce\\x7a\\x81\\x83\\x5b\\xbd\\x06\\x1f\\x28\\x62\\x06\\xaf\\x01\\xb4\\x7b\\x7a\\xa0\\xc2\\xd1\\x97\\xa7\\x57\\x4b\\x35\\x91\\xab\\x31\\xa8\\xa8\\x4b\\xbc\\xbe\\xca\\x7a\\xaa\\x0b\\x4c\\xf2\\x5d\\x63\\x17\\xb0\\x6e\\x2b\\x2e\\xdf\\x91\\x9c\\x31\\x23\\x09\\x00\\xef\\xdc\\xb9\\x53\\x9e\\x5b\\x13\\x89\\xd4\\xc0\\xb2\\xbe\\x30\\x7d\\xc4\\x88\\xe9\\xf8\\x7b\\x6f\\xf5\\x99\\xd7\\x26\\xc8\\x4d\\xbe\\x6a\\xe6\\xd1\\xa2\\x1a\\xbc\\x0b\\xd7\\xaa\\x7b\\x8c\\x59\\x43\\xeb\\x8d\\x94\\x25\\x5d\\x7a\\x96\\x75\\x88\\x4e\\x6a\\xb7\\x43\\x22\\x42\\xa6\\xf6\\xbc\\x13\\x2a\\x38\\x9e\\x55\\x55\\xec\\x79\\x2a\\x38\\xfe\\xe7\\xad\\x77\\x40\\x9f\\xaa\\xba\\x2d\\x8f\\xfb\\xcd\\x51\\x7e\\x61\\x56\\xbb\\x56\\xfc\\xdd\\xc0\\x7f\\x86\\x42\\x3f\\xa5\\xa8\\x2b\\x99\\x28\\xf6\\xfb\\x91\\xc3\\x11\\x12\\x59\\x57\\x69\\x29\\x1b\\x62\\x63\\x65\\x4e\\x84\\x1c\\x30\\x05\\xa8\\xb0\\xb8\\x18\\xe4\\xb0\\x62\\xb1\\x28\\xdc\\x96\\x2a\\x42\\xfe\\x50\\x61\\xa8\\x2d\\x55\\x28\\x11\\xe3\\x28\\x5f\\xd0\\xa3\\x02\\x5e\\x73\\x5f\\x15\\x9d\\x32\\x55\\x84\\xc8\\x59\\x0a\\x72\\xe4\\x40\\x93\\xac\\x6d\\x91\\xa8\\x9a\\xc9\\x2e\\xa7\\xac\\x50\\x44\\x62\\x3e\\xdb\\xba\\x5d\\x6e\\x9c\\xba\\xb7\\xb6\\xe2\\x96\\xd1\\x7b\\x77\\xc9\\x5f\\x67\\xd2\\xd8\\x11\\x04\\x80\\x11\\x31\\xc7\\xf1\\x7d\\xd1\\x37\\x1f\\x96\\x5b\\x2b\\xa2\\x83\\x2d\\xae\\xed\\x87\\x70\\x67\\x35\\x7e\\xcd\\x69\\x5b\\xd7\\xbd\\x35\\x53\\x57\\x28\\xd4\\x8f\\x8e\\x2f\\x9c\\xfe\\x54\\x67\\x85\\x3d\\x51\\x07\\xb4\\xaa\\xcc\\x11\\xd6\\xf9\\x7c\\xa6\\x6a\\x53\\x75\\xbf\\xfa\\xea\\x3a\\xa9\\x2a\\x16\\xf2\\x13\\x9f\\x71\\x5b\\xaa\\xbc\\xc0\\x2a\\x82\\xd0\\xe9\\x9a\\x98\\x42\\x3a\\x1d\\x4b\\x74\\xc4\\x78\\x26\\xfa\\x33\\x9e\\x13\\xe3\\x92\\xb1\\x8a\\xaa\\x92\\x4c\\x1f\\xd5\\x48\\x7e\\xb4\\x18\\x09\\xf7\\xd5\\xf9\\x3b\\x07\\xb5\\x5c\\x59\\x78\\xee\\xf1\\x11\\x5f\\x2e\\xc7\\x8f\\xac\\xdf\\x51\\x7c\\x7f\\xc2\\xbe\\x01\\x3f\\x7d\\xcb\\x79\\xe7\\x95\\xdf\\x50\\xb5\\x01\\xef\\x59\\xb6\\x4c\\xfe\\xdb\\xb8\\xba\\x44\\x43\\x53\\xe5\\x70\\x2c\\xa9\\xec\\xe3\\xe1\\xbd\\x6e\\x4b\\xff\\x61\\xda\\xc5\\xa4\\x94\\xdd\\x4c\\x12\\xda\\x56\\xfb\\xce\\xbc\\xef\\x53\\xeb\\xad\\x84\\xe5\\x71\\xea\\x18\\x53\\xc9\\x1a\\x67\\x44\\xf0\\xc7\\x10\\xf2\\x9b\\x6b\\xcc\\x35\\x30\\xcc\\xb2\\x70\\x80\\xf8\\x90\\xdb\\x52\\x15\\x85\\xa2\\x58\\x2c\\x19\\xa5\\x89\\x29\\x4e\\xc0\\xac\\xd1\\x8d\\x6a\\xda\\x32\\x34\\xd9\\xd3\\x6b\\xac\\x39\\x32\\x9b\\x5a\\xa5\\xc1\\xfe\\x5f\\x0e\\x96\\xfb\\xc7\\xc4\\xdd\\x4d\\xff\\x66\\xac\\xe3\\x70\\xba\\xba\\xf1\\x3f\\x1a\\xec\\xe9\\x2a\\x3a\\x58\\x92\\x77\\x73\\x1c\\xbf\\x83\\xc6\\xf6\\x5c\\x92\\x4c\\x54\\x46\\x22\\xfd\\x24\\xc9\\x6f\\xf4\\x97\\x36\\x96\\x36\\x0e\\x1c\\x64\\x09\\xd6\\x04\\x27\\xa6\\xfa\\x55\\x56\\x36\\xd4\\xd8\\xca\\x63\\xb0\\xac\\xa2\\xe4\\x8f\\xb0\\x34\\x5d\\xbf\\xb7\\x58\\x62\\x51\\x86\\x0d\\x69\\xd6\\x43\\xe4\\x51\\x71\\x36\\x9e\\x17\\xf2\\xea\\xc8\\x29\\x30\\xd4\\x83\\x1f\\x59\\x19\\xe1\\x6c\\x55\\x4f\\x3c\\x9a\\x59\\x20\\x5e\\xef\\xc3\\x2e\\x1d\\xb7\\x4c\\x63\\x4c\\x3b\\xfc\\x2d\\x2d\\xcd\\x92\\x7d\\x83\\x3c\\x1c\\xc6\\x3e\\x65\\xcd\\x06\\x79\\xf2\\xb2\\x65\\xd8\\xa9\\x1f\\xfb\\x70\\x52\\x9d\\x9e\\x2c\\x8b\\xfa\\x6e\\xaf\\xde\\x68\\xe1\\xfa\\x0f\\x23\\x9c\\x16\\x68\\xd9\\x94\\x49\\xa9\\xc2\\x6e\\x9f\\x46\\x89\\xc7\\x55\\x0e\\x24\\x73\\x25\\xff\\x95\\xb2\\x2b\\xd0\\x99\\xd6\\x03\\x1f\\x26\\xf5\\x5d\\x8a\\x89\\x55\\x2c\\x60\\x30\\x58\\xdd\\x4c\\x91\\xbb\\xa8\\xa4\\x34\\xa8\\x03\\x6d\\x2f\\x68\\xf3\\x79\\xda\\x52\\x3e\\x51\\xa4\\xb6\\x4a\\x73\\xa0\\xa8\\x17\\x35\\xd3\\x36\\x6c\\xbc\\x47\\xb1\\xdd\\xec\\xd8\\x7a\\x85\\xd6\\x7a\\xb2\\x32\\xc4\\x38\\x5a\\xdb\\x25\\xeb\\x5d\\x5d\\x8c\\xcd\\x06\\xa5\\xec\\x0b\\x05\\xbc\\xb3\\xf0\\xcc\\xee\\xdc\\xc0\\xdb\\x71\\x24\\xa0\\x99\\x0a\\x10\\xa4\\x2e\\xcd\\x38\\x6e\\x0d\\x85\\xbb\\x2d\\x59\\xee\\x32\\x1a\\xc5\\x28\\x1b\\x10\\x03\\x25\\xa5\\x2e\\x8f\\x47\\x98\\x98\\xf2\\xd8\\x1c\\xb6\\xb6\\x94\\x43\\x34\\x8a\\x16\\x11\\xb8\\xac\\x54\\x84\\x50\\xb0\\xfd\\xec\\x47\\xf2\\x72\\xac\\x36\\x2a\\x09\\xec\\x73\\x5d\\xa4\\x2c\\x55\\x64\\x81\\x2a\\xe6\\x84\\x5d\\x2b\\x50\\xe7\\xd0\\x48\\xe6\\x85\\xbc\\x48\\x6b\\x0a\\xf9\\x99\\x6f\\x73\\x68\\x26\\x50\\x45\\xf6\\x13\\x2a\\x07\\x8f\\x48\\x16\\x39\\x60\\xde\\x49\\xe9\\x1f\\x2b\\xef\\x92\\x78\\x24\\x92\\xca\\x6a\\x7a\\xc6\\x2e\\x2a\\xa5\\xd5\\xcc\\x92\\x53\\x50\\xab\\x31\\xe5\\xec\\xaf\\xdc\\x2a\\xcc\\x79\\xb5\\x7f\\xb2\\x51\\xe3\\xac\\xe1\\x1a\\x9c\\x5a\\x3a\\xb3\\xfb\\xc3\\x15\\xf2\\xc3\\x4b\\x97\\xe2\\x04\\x7e\\x8e\\x9d\\x45\\x37\\xfd\\xdd\\xac\\xd4\\xdd\\x4f\\x03\\xad\\xfb\\x9a\\xec\\x99\\x02\\x62\\x1b\\xe2\\xee\\xa6\\xbc\\xae\\x25\\x7d\\x86\\x3b\\xc6\\xee\\xa3\\x76\\xec\\x89\\xc9\\xea\\x52\\x9b\\xd7\\x1b\\x36\\x3a\\xc3\\x2c\\x57\\xc8\\x15\\x96\\x57\\xd8\\x3c\\x24\\x8c\\x09\\x53\\xc5\\x47\\x2f\\x0a\\xd1\\xb6\\x94\\x20\\x62\\xa0\\xe7\\x18\\x44\\x4e\\x2c\\x69\\x85\\xae\\x7b\\x99\\x1f\\xb3\\x67\\xc6\\x22\\x82\\xc2\\xe5\\x3c\\x24\\x7b\\x2a\\xf5\\x84\\x2a\\x01\\x21\\x76\\x3a\\xbf\\x6c\\x49\\xa3\\x56\\x3a\\x84\\x39\\xf1\\xfc\\x07\\x9f\\xbe\\xff\\xd9\\x0b\\xf8\\xb9\\xc6\\xc2\\x21\\xb7\\x75\\x3d\\xe3\\x6a\\x6c\\x74\\x3d\\xb3\\x66\\xed\\xf9\\xd5\\x8d\\xe6\\xee\\x71\\x53\\x22\\x8d\\xb7\\xaf\\xbb\\x89\\xfb\\xfb\\xdf\\xfe\\xfe\\x39\\xff\\xcf\\x3b\\xf4\\xf2\\xcf\\x17\\xc8\\xbf\\x5f\\x24\\x6f\\x37\\xec\\x95\\xbf\\x1b\\xc9\\xb3\\x6e\\xfe\\xc9\\x93\\x6f\\x3d\\x01\\x63\\x19\\x9b\\xfe\\x9c\\x3b\\x4d\\xed\\x1c\\x55\\x28\\x99\\x0c\\x99\\xdc\\x12\\x2b\\x45\\x2b\\xa2\\x15\\xd5\\x35\\x52\\x50\\x0a\\x97\\x96\\x0a\\xe4\\x94\\x0e\\xb2\\x86\\xad\\xed\\xa9\\x40\\xd8\\x8d\\xb2\\xa7\\x91\\x14\\x5e\\x9d\\x1b\\xc2\\xa4\\xa6\\xe6\\x26\\x66\\x49\\xad\\x10\\x65\\x63\\xac\\x74\\x08\\xa0\\x84\\x4b\\x70\\x7b\\x8a\\x62\\x51\\x2a\\x8e\\x11\\x9f\\x3c\\x47\\x6c\\x1d\\xec\\xe6\\xce\\x79\\x0b\\x8f\\xae\\xbd\\xfe\\xc5\\x05\\xf3\\x2e\\x68\\x9b\\x65\\x33\\x04\\x76\\x97\\x46\\x1f\\x3b\\x3c\\x5a\\x3f\\xfa\\x89\\xfb\\xf6\\xe1\\x38\\x2e\\x7d\\x12\\x5b\\x36\\x1d\\x69\\x79\\x6a\\xfb\\xa6\\xb7\\xe7\\x2d\\x78\\xe7\\xa6\\xfb\\x7f\\xb9\\x74\\x7e\\xff\\xbb\\x12\\x0d\\x0d\\x8d\\xc7\\x3e\\x4a\\x3d\\xf5\\xd4\\x27\\xc7\\xb1\\x01\\x07\\xd6\\x7e\\xff\\xd3\\xdf\\x7d\\xaa\\xc4\\x72\\x8d\\x07\\x9c\\x0f\\x01\\x9f\\xf5\\xc0\\xaa\\x94\\x90\\x7a\\xeb\\xde\\xa8\\x28\\x49\\x01\\x3d\\xc3\\xe8\\x42\\x0e\\x9d\\x03\\x08\\x2b\\xd5\\x4e\\x4c\\xa8\\xa8\\x40\\x5f\\x00\\x52\\xa6\\xde\\x16\\x0d\\xb0\\xa0\\xf2\\xb9\\x58\\xb7\\xd4\\xa3\\x94\\x4b\\x3c\\xef\\x2d\\x37\\x91\\xb0\\x26\\x6d\\xaa\\x85\\x5d\\x6a\\x70\\xc2\\x56\\xe2\\x54\\xb0\\x8b\\xf0\\x5d\\x5e\\x95\\x47\\x80\\x94\\xf3\\x0d\\xa5\\x31\\xfb\\x50\\x8c\\xcf\\xd9\\xf1\\xdb\\x57\\xf0\\xed\\x78\\x27\\xfe\\x74\\xe7\\x6f\\x8e\\xc9\\x73\\x77\\x76\\xff\\x61\\xee\\xb2\\x2b\\xe6\\x33\\x73\\x16\\x5c\\xb1\\x78\\xb1\\x3c\\x0e\\x64\\x94\\xe9\\xae\\xef\\xdf\\xc5\\xbf\\x2a\\xc7\\x37\\x10\\x9c\\x93\\x57\\xb8\\xbe\\x79\\x47\\x1e\\x56\\x29\\xef\\xf4\\x55\\xb3\\x9b\\x8e\\x3e\\xeb\\x66\\x6b\\x9c\\xbf\\x7c\\xf9\\xc8\\x33\\xfe\\x33\\x7f\\xf0\\x1c\\x55\\x78\\x91\\x23\\xfd\\x29\\x73\\x1d\\xec\\x0d\\x17\\xb1\\x72\\x83\\x7e\\xc8\\x9b\\x24\\xb7\\xc2\\x64\\xad\\xa2\\x09\\x63\\x9e\\xd7\\x53\\xbd\\xcb\\xd1\\x96\\x13\\x7e\\x98\\x53\\x62\\x5b\\xdd\\xcd\\x80\\x64\\xc0\\x69\\x88\\xc9\\xcd\\x93\\xcb\\x53\\xf0\\xc2\\xac\\xa7\\x7a\\x27\\x7e\\x7a\\xd9\\x32\\xd5\\x3d\\xcd\\x3c\\x9d\\xc3\\x10\\x55\\x18\\xa8\\xac\\xd7\\x0b\\x06\\xf4\\xff\\x18\\x0c\\xdc\\xfd\\x04\\x86\\x1f\\xd2\\x1a\\x0c\\x40\\x9b\\x83\\x54\\x17\\x6d\\x49\\x46\\x0b\\x25\\xc9\\xca\\xea\\xd9\\x50\\xd8\\x45\\xe9\\x83\\x5d\\xb4\\x72\\x9c\\x5e\\x6f\\x9a\\x98\\xd2\\xbb\\x0b\\x10\\xf2\\xf6\\xa4\\x6e\\x3d\\x21\\x51\\x29\\xdb\\x10\\xdc\\x0b\\x9c\\x0c\\x4d\\x63\\x36\\xdc\\x7a\\xc7\\xf0\\xa3\\x43\\xb2\\x60\\xe5\\xd0\\xb3\\xbb\\x1b\\xa6\\xe4\\x4c\\x52\\x52\\x23\\x64\\x8a\\x8c\\x79\\x27\\xf5\\x49\\x34\\x27\\xc3\\x22\\xcf\\x1b\\x8d\\x2e\\xc9\\xcd\\x89\\xa2\\xd3\\x89\\x27\\xa6\\x9c\\x36\\x45\\xc9\\xe1\\x69\\x51\\x3e\\x7d\\x7e\\x21\\xa1\\x7c\\xff\\x20\\x21\\x61\\x45\\xba\\x7c\\x92\\x3b\\x08\\x58\\xfa\\x7c\\x0a\\x0c\\x09\\x32\\x50\\x43\\x0c\\x98\\x97\\x00\\x8e\\xd3\\x1b\\x69\\x05\\xb0\\x93\\x4a\\x70\\x41\\x2e\\x1c\\x05\\xb0\\x5e\\x61\\x0f\\xcf\\x3b\\x0a\\x2c\\x0e\\xb6\\x30\\xe8\\x09\\x04\\x30\\x31\\x5b\\x2a\\xb1\\x41\\x66\\x51\\x24\\xda\\x57\\x6f\\x38\\x72\\x32\\xc9\\x52\\x28\\xf2\\x1c\\x50\\x3d\\xa1\\xc9\\x7a\\x9e\\xf2\\x60\\x3a\\xb3\\x4b\\x73\\x38\\xb1\\x1b\\xb2\\x70\\x91\\x22\\xd6\\x8b\\x01\\x2e\\x27\\xaa\\x48\\x4a\\x7a\\x8b\\x05\\xb9\\x24\\x52\\x68\\x09\\xdb\\x6d\\xea\\xb9\\x07\\xa9\\x97\\x27\\x32\\x93\\xf5\\x5d\\xca\\x55\\x5c\\x99\\xc5\\x8a\\x46\\xba\\x41\\x4e\\x6e\\x20\\xfa\\x29\\xf3\\x31\\xad\\x31\\x48\\x4b\\xa1\\xe1\\xe3\\x4a\\x89\\x1e\\xe8\\x6f\\x20\\xf4\\xb7\\x99\\xf6\\x57\\x9d\\x74\\xeb\\x4c\\x4e\\x93\\x4b\\xd2\\x99\\x0c\\xb0\\x0a\\x06\\xc9\\xc9\\x30\\x40\\xae\\x19\\x5b\\x4f\\x05\\xae\\x29\\x1b\\xfe\\x9a\\x23\\x95\\x88\\x38\\x3a\\x90\\xd4\\x4c\\x21\\xfd\\x35\\x34\\x93\\x72\\x29\\xec\\xe3\\xce\\x0f\\x8e\\xcb\\x94\\x71\\x30\\x25\\x77\\x2d\\x96\\xae\\xa6\\xb1\\xe0\\x40\\x98\\x5e\\xa1\\xb6\\xa7\\x20\\xea\\x4c\\xd6\\x4b\\x36\\x9b\\x25\\x80\\xb1\\xce\\x6d\\x71\\xd9\\xed\\x16\\x1d\\x41\\x57\\xc9\\x06\\x93\\x40\\x6a\\x3c\\x70\\x06\\x83\\xbf\\x3d\\x65\\x00\\x65\\xce\\x20\\xda\\x71\\xbe\\xe2\\x9b\\x1b\\x51\\x93\\xb1\\xf8\\x65\\xa3\\xe6\\x54\\xe5\\x24\\x8b\\x1d\\x8a\\x25\\xd9\\x09\\xea\\x3c\\xce\\xc4\\x89\\xe2\\xd6\\x5b\\xe4\\x89\\x2b\\x57\\xe2\\xdd\\xfb\\x1f\\x9d\\x79\\xfe\\xd7\\x5d\\xdf\\xc8\\x67\\x1e\\x9a\\x75\\xf9\\xe4\\x0b\\x16\\x77\\xe1\\xad\\xf2\\x7e\\xbf\\xca\\xee\\xae\\x59\\x3b\\x7d\\x5d\\x40\\xbe\\xc3\\x5d\\x8d\\xb7\\x62\\xb1\\xeb\\x3c\\xf9\\xa6\\xf3\\xd5\\x98\\xf6\\x9c\\x71\\x4c\\x4b\\xf6\\xb3\\xc3\\xa5\\x2d\\x18\\x34\\xf8\\x58\\x87\\x24\\xb1\\x06\\x18\\x87\\x43\\xb4\\x15\\xc2\\x26\\xb3\\xd9\\x04\\xb3\\x24\\x8a\\x46\\xaa\\xde\\x89\\x02\\x48\\x15\\x82\\x41\\xad\\x53\\x91\\x8b\\xd5\\x54\\x85\\x47\\x7d\\x8f\\x42\\x31\\x7f\\x67\\xd3\\x3b\\xc5\\x01\\xd1\\x04\\xac\\x06\\xbe\\xda\\x99\\xcb\\xcf\\x9f\\xf9\\xe8\\x7e\\xf9\\x02\\x18\\xc8\\xcf\\x6f\\xb9\\x19\\x73\\xdf\\x74\\xc9\\x8d\\x4b\\x2f\\xee\\x5a\\x7c\\x01\\x83\\x02\\xeb\\xa6\\xaf\\xbd\\x46\\xd5\\xa8\\xfd\\xf2\\x7e\\xbc\\xb5\\xda\\x7d\\xe6\\xd3\\xc9\\x17\\xcf\\x9a\\x22\\xdf\\x94\\x17\\xb3\\x9e\\x20\\x91\\x29\\x3e\\x73\\x8c\\x8f\\x98\\xfb\\xd7\\x38\\x1a\\x22\\x0d\\x91\\xfe\\x8d\\xd5\\xd5\\xfd\\x8a\\xfb\\x55\\xb4\\xa7\\xfa\\x15\\x94\\xba\\x7d\\xbc\\xa8\\x18\\x9c\\xdd\\xa2\\x3b\\x9b\\xb6\\x41\\x65\\x77\\xcd\\x3d\\xa3\\xa3\\x69\\x60\\x0a\\x95\\x63\\x9d\\x3f\\x1a\\x9b\\xae\\x78\\x3b\\xa4\\xfc\\xad\\xb3\\xe6\\xac\\x91\\xe9\\xfb\\x1e\\x1d\\x30\\x4c\\x29\\xc3\\x73\\xce\\xb8\\x6d\\x0f\\x62\\xe6\\xac\\x61\\xe9\\xcd\\xeb\\x37\\x1b\\x26\\x93\\x82\\x3c\\xc7\\x00\\xfd\\xb0\\x05\\x64\\xd6\\xf7\\x61\\x9c\\xaf\\x02\\x6d\\x0e\\xa0\\xda\\xa4\\xc7\\x2f\\x08\\x66\\x97\\x8b\\x1c\\x9e\\x21\\x1a\\xb8\\x17\\x19\\xed\\xbd\\x4c\\xe6\\xb9\\xe6\\x81\\x1c\\x0b\\x79\\x56\\x26\\xa7\\x63\\x61\\xee\\xa1\\xfb\\x2b\\x1b\\x6c\\x40\\x76\\x19\\xf7\\x28\\x35\\x7a\\xff\\x5a\\x33\\xf6\\x70\\x43\\xc9\\xa7\\x1c\\x18\\xa2\\x68\\x64\\x32\\x1a\\xf1\\x81\\x8e\\xab\\x03\\xdd\\xa8\\x44\\x09\\x47\\x8c\\xd8\\xed\\x9c\\x9b\\x84\\x45\\xf8\\xdd\\x48\\x89\\x47\\x2c\\xc8\\x26\\xae\\xee\\x55\\xcd\\x53\\x75\\x36\\x48\\xf9\\xf5\\x80\\x88\\x8d\\x27\\xbf\\x1a\\x69\\x5c\\xc2\\x3f\\xcb\\x42\\xf7\\x97\\xbf\\x64\\xad\\x54\\xfb\\x86\\x8e\\xd6\\x00\\xbc\\xbf\\x83\\x1d\\xab\\x7d\\x3e\\xd3\\xd9\\x41\\xcf\\xc3\\xbd\\x9f\\xfe\\x3c\\x3b\\x5f\\x56\\x41\\x40\\x64\\xbe\\x2c\\x76\\xbb\\xb1\\x3d\\x65\\x77\\xb3\\x84\\x75\\x80\\x5e\\xd3\\xe7\\x7c\\xb1\\x4a\\xdc\\x79\\x0f\\x7a\\xa8\\x90\\x87\\x30\\x59\\x37\\x65\\x05\\x09\\x9d\\xa0\\x34\\x82\\x7b\\x94\\x2c\\x52\\xf7\\x1c\\x6d\\xb9\\x98\\x3b\\x54\\x3a\\x91\\x3e\\xae\\xce\\x97\\x11\\x55\\xa0\\x73\\x93\\xe5\\x28\\x14\\x2a\\xf6\\x9b\\x9c\\x4e\\x5d\\x71\\x71\\x65\\x55\\x11\\xf0\\xd2\\x62\\x49\\xe7\\xe7\\x8a\\x8a\\xbc\\x65\\x65\\x40\\xa3\\xcc\\x65\\xa8\\x00\\x16\\xb3\\xa0\\xc0\\x0b\\xa4\\x3a\\xcf\\x9c\\x4e\\xcc\\xc0\\x1a\\x78\\xaa\\xe8\\xab\\x06\\x10\\x92\\x39\\xd2\\xe8\\xa6\\x53\\x02\\x61\\x2c\\x4a\\x0e\\xc9\\x69\\xa6\\x76\\x96\\xbe\\x56\\xd4\\x55\\x0c\\x1e\\xc6\\x96\\x35\\x0c\\x4d\\x32\\xbb\\xd4\\x1a\\xae\\x78\\x66\\xc1\\x68\\x7f\\xbf\\x41\\x87\\x66\\x2c\\x59\\x7e\\x51\\x3c\\x86\\xc9\\x9c\\xca\\x1f\\x46\\x6b\\x26\\x9e\\x6b\\xaa\\xe3\\x77\\xd1\\xb5\\x1f\\xe2\\x74\\x5e\\x7c\\xcf\\xf9\\x4d\\x77\\xcc\\x6c\\x3b\\xff\\x52\\x13\\xd7\\x40\\x29\\xad\\x52\\xdb\\xa8\\x9a\\xbb\\x0e\\xb9\\xd1\\x80\\x64\\xc0\\xed\\x74\\x32\\xbc\\x99\\xf7\\x78\\xdd\\x2c\\x07\\x70\\x3b\\x39\\x4e\\xc4\\xa2\\x61\\x42\\x4a\\xc4\\x4a\\x3c\\x47\\xfe\\x92\\x6b\\x93\\xcb\\x47\\x69\\x14\\x3c\\x55\\x35\\x12\\xaa\\x82\\x41\\x28\\xc1\\xd8\\xe6\\xdc\\x42\\x46\\x2b\\x5d\\x6f\\x74\\x30\\xd7\\x69\\xe5\\x8b\\xba\\xe7\\x57\\xc7\\x90\\x56\\x8f\\x6a\\x34\\xf4\\xef\\x41\\x83\\x93\\x85\\x6e\\xa3\\xd5\\x2a\\xb0\\xac\\xd7\\xc7\\xf3\\xc8\\x68\\xb4\\x80\\x4c\\x9e\\x34\\x8a\\x12\\x42\\xf6\\x5c\\xa9\\x80\\x54\\xa1\\xca\\x6c\\xec\\x4c\\x74\\x5f\\xef\\xa2\\x53\\x8a\\xd5\\xe7\\xc8\\xad\\x77\\x28\\xc7\\x2e\\x73\\x84\\x00\\x76\\x15\\x3d\\x6b\\x79\\x66\\x7c\\x46\\x8f\\x61\\x94\\x9c\\x3c\\xb4\\xee\\x46\\x11\\xd0\\xff\\x7e\\xce\\x70\\xd8\\x6a\\x72\\xf1\\xa1\\x90\\x0f\\x99\\x50\\xb4\\x58\\xa2\\xb2\\x4a\\x58\\xad\\xbb\\xe1\\xb4\\x58\\x38\\x8f\\x5d\\xd4\\x17\\x80\\xe8\\xa4\\x77\\x73\\x58\\x25\\xff\\x99\\xfa\\x3e\\xf9\\xa1\\xf5\\x79\\x71\\x16\\xf1\\x0c\\xfd\\xa7\\xd6\\x03\\xbb\\x76\\x7e\\x40\\x09\\xad\\x27\\x5b\\xa3\\xbe\\xd1\\x1e\\x91\\x5c\\xec\\x2c\\xad\\xb2\\xcf\\xa5\\x97\\x5e\\x05\\x94\\xf6\\xc6\\x8d\\x38\\xbe\\x40\\xe6\\xaf\\x99\\x27\\x5f\\x85\\x0f\\xc9\\x9b\\xd5\\xaa\\x3e\\x87\\x3a\\xf0\\x54\\x5f\\xb5\\x3c\\x5d\\x79\\xed\\x90\\xf7\\x84\\x70\\xe3\\x9e\\xbd\\x74\\x5e\\xa7\\x80\\xae\\xc0\\xd0\\xfa\\x0b\\xa4\\xee\\xac\\x59\\xb0\\x46\\x0b\\x82\\x5e\\x6b\\x01\\x1b\\x63\\x63\\x15\\x95\\x21\\xb3\\xd9\\x12\\xd5\\x5b\\x08\\xba\\xea\\x74\\xa8\\xc0\\x92\\x17\\x00\\x97\\xa9\\x7c\\x92\\x1b\\xfa\\x96\\x89\\x06\\x55\\xc2\\xdf\\x1a\\xfa\\xab\\xe5\\x7b\\x1a\\xd5\\xf2\\x3d\\x71\\xad\\xd0\\x8f\\x47\\x29\\xf4\\x43\\x79\\x03\\x53\\xfd\\xc1\\xd7\\x07\\xb6\\xeb\\x9a\\x6f\\xae\\x29\\x6b\\xb4\\xe2\\x07\\xa4\\x25\\xd7\\xdc\\xb6\\xf5\\xf6\\x2d\\xd7\\x2c\\x96\\xf0\\x2e\\xb1\\xb1\\xac\\xe1\\xfa\\xa1\\xba\\xed\\xfb\\xff\\xe9\\x7a\\xe1\\xc5\\xdb\\x5f\\xf6\\x27\\x8c\\xb3\\xbe\\x4f\\x23\\x71\\xd7\\xda\\x9f\\xde\\x79\\xd7\\xee\\xeb\\x77\\x8a\\x18\\x7d\\x3f\\xcb\\x98\\x08\\xbc\\xbc\\xf5\\xc5\\x17\\x14\\x79\\x80\\xac\\x0f\\xd1\\x93\\x0b\\x51\\x53\\xb2\\x50\\xb0\\xb8\\x18\\x3f\\xe3\\x0f\\x86\\x40\\x4b\\x26\\x51\\xd3\\x36\\x9e\\x6d\\x4b\\xf1\\x22\\x32\\xe4\\x84\\xf1\\xe5\\xe9\\xc4\\x24\\x76\\x8f\\xe4\\x73\\xc9\\x94\\x53\\xea\\x55\\x2f\\x8e\\xd1\\xe1\\x37\\xe5\\x5f\\xc1\\x54\\xef\\x99\\xb6\\xfd\\xdc\\xce\\xf3\\x14\\x7a\\xbe\\xfd\\xb6\\xb9\\xaf\\xb8\\xf0\\x60\\x66\\x28\\xa8\\x97\\x5d\\x27\\x6f\\x78\\xff\\x8e\\x3b\\x1f\\x24\\xf4\\xe0\\xb9\\x63\\x8f\\xc8\\x3f\\xdc\\xad\\xc0\\x45\\x83\\xf3\\xd9\\x67\\x91\\x15\\xc5\\x93\\x5e\\xce\\xc0\\x98\\x0d\\x66\\xd1\\xc6\\x0a\\x46\\x9b\\x99\\x61\\x0c\\x1c\\xa9\\xfd\\x84\\x84\\xbc\\x1a\\xce\\x8e\\xa6\\xdc\\x6c\\xf4\\x89\\x46\\x83\\x72\\xc4\\x13\\xb4\\x28\\x20\\xdd\\x63\\x6e\\x97\\xff\\x2e\\xff\\x70\\xbb\\xfc\\xe0\\x05\\x78\\xf9\\x18\\xbc\\x66\\x46\\x75\\x80\\xb9\\xa9\\xfb\\x4a\\xe2\\x7c\\x62\\xaf\\x3d\\x73\\x83\\x66\\xe3\\xe2\\x41\\xc5\\x7e\\x0e\\xfa\\x74\\xa1\\x61\\xc9\\x90\\x60\\x66\\x1c\\x66\\x87\\x44\\x8e\\xd0\\xe9\\x2c\\x20\\xb7\\xda\\x2c\\x36\\x07\\xc3\\x98\\x05\\x23\\xc8\\x27\\xc8\\x98\\xd7\\x35\\x59\\x59\\x25\\x72\\x29\\x0f\\x02\\x13\\x8e\\x9a\\x34\\x20\\x02\\x14\\x0e\\x8e\\xd9\\xfe\\xde\\x47\\x1d\\x1f\\xbe\\x71\\xb7\\x7c\\xf7\\xa5\\x78\\xd0\\xf8\\xcf\\x3e\\x1e\\x83\\x5b\\x16\\x02\\x2c\\x57\\x77\\xdf\\xc3\\xcc\\xe9\\x5e\\xa5\\xc0\\xd3\\xbd\\x95\\x99\\x97\\x85\\xc9\\x06\\x82\\xc6\\x17\\xfc\\x2c\\x58\\x9f\\xe1\\xc9\\x08\\xcc\\x43\\xc0\\x1e\\x30\\xb0\\xc1\\x90\\x9f\\xb5\\x0a\\x56\\xf7\\x84\\x94\\xc3\\x2a\\x04\\xfa\\x9e\\x10\\xdb\\xd1\\xfa\\x4c\\x55\\x3f\\x4f\\x2e\\x50\\x0a\\x44\\x43\\x19\\x5a\\x19\\x4d\\x21\\x88\\x22\\x26\\x93\\x34\\x68\\xab\\xfc\\xed\\x6d\\xf2\\xae\\x8b\\xf0\\x42\\x12\\x37\\x1a\\x2c\\x9f\\xa4\\x05\\x8e\\xe2\\x59\\x64\\xc2\\xb6\\x74\\xcf\\xa7\\x00\\x3e\\xf4\\xd0\\xe6\\x31\\xac\\xa8\\x44\\x8b\\x9e\\xd9\\xac\\xc1\\xa9\\x03\\x38\\xff\\x4a\\x75\\xb2\\xa6\\x64\\x01\\x63\\x30\\x90\\xe0\\x21\\x33\\x06\\x1e\\x02\\x42\\x75\\x5b\\xca\\x69\\x16\\x49\\xac\\x6e\\x5b\\x4a\\x27\\xe5\\x69\\x98\\x6a\\x0c\\x8c\\x16\\xa3\\xdb\\xa3\\xdc\\x52\\x80\\xbc\\xb1\\x7f\\x9d\\x2b\\x9f\\xdc\\x22\\x37\\x6d\\x96\\x9f\\x9e\\x8d\\x1f\\x58\\xfa\\xd5\\x5f\\x16\\xe3\\x71\\xec\\x2a\\xb7\\x6c\\x96\\x5f\\xa3\\xa2\\x6d\\x39\\xfe\\xc1\\x4d\\xc4\\x9d\\xe5\\xf8\\x26\\xaf\\x0a\\x4b\\xa3\\xdc\\xc2\\x4d\\xa7\\x67\\xd4\\x80\\x93\\xd8\\x75\\x82\\x2d\\xcc\\xf9\\x3c\\x3e\\x9b\\x45\\xc7\\x47\\x8b\\x6d\\x7a\\x2b\\x88\\xf8\\x16\\xab\\xa8\\xb3\\xf3\\x40\\xfe\\xdc\\xbc\\x14\\x42\\x08\\x94\\x61\\xd4\\xb3\\x02\\x6b\\x5f\\x69\\x9e\\x89\\x7e\\x94\\x97\\x83\\x45\\x29\\xfa\\xc3\\x64\\x85\\x1a\\xf6\\xf8\\xb6\\x07\\xbb\\x77\\xe5\\xe6\\x62\\xd1\\x4a\\xff\\xa8\\xb2\\x8c\\xdc\\xf2\\xc1\\x71\\x53\\x36\\x27\\x0b\\xa9\\xfd\\xf3\\xdc\\x2c\\x85\\x1d\\x52\\x7a\\xd9\\x98\\x5e\\xcc\\x9e\\xa2\\x31\\x0a\\xc5\\x68\\x72\\xb2\\xa6\\xc0\\x1e\\x32\\x1a\\x91\\xe8\\x08\\x14\\xe9\\x74\\x01\\xd1\\x6b\\xe7\\x4b\\x4a\\x03\\x4e\\x9f\\xb3\\x3d\\xc5\\x82\\xf4\\xc0\\xb2\\x36\\xaf\\x4f\\x0c\\xd9\\x0b\\x6c\\x05\\x34\\x68\\x55\\xd2\\x8e\\xe1\\xa8\\x38\\x59\\x99\\xa7\\xbb\\x64\\x86\\x51\\xa2\\x16\\x03\\xd5\\x91\\x14\\xcb\\xd1\\xfe\\x8d\\x79\\x23\\x2a\\x29\\x12\\x88\\x0c\\x57\\x8a\\x37\\x9c\\xf3\\xfc\\x82\\x8b\\x96\\xad\\xb9\\x56\\x7e\\x3f\\xe4\\x6d\\x75\\xfa\\xe5\\x13\\x79\\x83\\xfa\\xea\\xc1\\x15\\xff\\x7a\\xa8\\xa5\\x7d\\xd5\\x5d\\x17\\x4d\\x38\\x7f\\xfa\\xf0\\x73\\x3b\\x06\\x65\\x87\\xf4\\xf2\\xcb\\x97\\x94\\x0f\\xa4\\xeb\\x40\\x73\\xc3\\xc2\\x58\\x42\\x68\\x6c\\x32\\xe6\\x17\\x6d\\x3e\\x23\\x2d\\x60\\xa4\\xd4\\x2f\\xb2\\x7b\\x60\\xfa\\xfd\\xa2\\x48\\xfc\\xcf\\x22\\x72\\x7b\\x44\\x24\\x64\\xcb\\xd4\\xc4\\x7b\\x55\\x30\\xca\\x66\\x38\\xc3\\x59\\xcb\\xbe\\x56\\xc0\\x28\\x73\\x78\\x90\\x9c\\xad\\xc2\\xf3\\x66\\xfe\\xb2\\x5f\\xdd\\xf6\\xd6\\x27\\x7f\\xb1\\xeb\\xd6\\xb1\\xb8\\x5c\\x56\\x80\\xfe\\x58\\x7e\\xfa\\xf0\\x63\\xb2\\x2c\\xb7\\x54\\x44\\x07\\x5b\\x9d\\xf7\\x1e\\x7c\\xe8\\x89\\x7e\\xf8\\x18\\x81\\xb8\\x41\\x2e\\xf5\\x1f\\xfd\\xc5\\x5b\\xdf\\xc0\\xdc\\x3b\\x54\\x78\\x4b\\x50\\x3f\\x74\\x71\\xb2\\xb1\\x56\\x08\\x3a\\x5d\\x85\\xd6\\x48\\xa4\\xd0\\xe9\\x17\\xf8\\xfa\\x78\\xa1\\x14\\x00\\x72\\xee\\x0c\\x06\\xed\\x6d\\xa9\\x60\\xd0\\xe8\\x0f\\x88\\xe6\\xf2\\x28\\xc3\\x01\\x47\\xad\\x6a\\x4f\\x19\\x25\\xae\\x74\\x02\\x71\\x9e\\x6b\\x12\\x89\\x1a\\xfd\\xd5\\x73\\x28\\x9e\\x5c\\xa3\\x5c\\xae\\x04\\xd2\\xf7\\x68\\x40\\x4e\\x21\\xb1\\x0c\\x4a\\x11\\x7d\\x97\\x9b\\xf9\\x9d\\x49\\xba\\xf9\\xf8\\xb6\\x47\\x37\\x2d\\xfd\\xfd\\x0e\\x77\\xaf\\xe1\\xcd\\x0d\\xda\\xe4\\xa6\\xc9\\x1b\\xab\\x87\\x3f\\x36\\x71\\xdc\\xcc\\xab\\xe4\\x71\\x55\\x95\\xd3\\x6f\\x98\\x3f\\x6d\\xc9\\x8e\\x61\\xe7\\xf7\\x18\\xed\\xd3\\x2b\\x86\\xb6\\xcd\\x1c\\xd0\\xd0\\x3a\\x79\\x4c\\x62\\xc8\\x78\\x65\\xcf\\x74\\xc1\\xfe\\x1d\\xcd\\x3f\\x82\\xfc\\x20\\x2f\\x04\\x7d\\xac\\x1e\\xb4\\x1a\\x2b\\x1b\\x28\\xf0\\x72\\x1c\\xb6\\x3a\\x1c\\x20\\x09\\x3a\\xb0\\x8f\\xc5\\xac\\x6a\\xbe\\xcb\\x86\\x3b\\x11\\xc1\\x25\\x87\\xc2\\x90\\x83\\xe3\\xca\\xd1\\x48\\xe5\\xf8\\xad\\x86\\x6a\\xa0\\xb8\\x33\\x8f\\x75\\x7f\\xb6\\xb7\\xf5\\x96\\x15\\xaf\\x2f\\xbf\\x26\\x3a\\x7c\\xc4\\xcb\\xe7\\x3e\\xf7\\xca\\xee\\xfb\\xf7\\x26\\x02\\x8c\\xc5\\xe8\\x7a\\xfa\\x29\\x72\\x36\\x12\\x33\\x85\\x95\\x1f\\xbc\\xf1\\xfc\\x3f\\x83\\x72\\x4d\\x80\\xc2\\x34\\x02\\x60\\x2a\\xa7\\x30\\x0d\\x4d\\x06\\x75\\x26\\x9b\\xcd\\x45\\x5c\\x6b\\x05\\x76\\xa3\\xd1\\x8a\\x3d\\x1e\\xd0\\x92\\x3d\\xd8\\x64\\xb3\\x02\\xa3\\xb2\\xf6\\x09\\x93\\xea\\x45\\xa9\\xd7\\xf4\\x65\\x90\\x5e\\x42\\x1a\\x81\\xd1\\x52\\x33\\x7b\\xd8\\xf2\\xe1\\xd1\\x6b\\x96\\xbf\\xbe\\xe2\\x96\\x56\\x72\\x7e\\xf3\\xfe\\xdd\\xbf\\xfd\\x75\\xdb\\x8b\\x23\\xb8\\x99\\x0f\\x4d\\x90\\xef\\x7b\\xf2\\x19\\x97\\xb1\\xfb\\x2b\\x1a\\xec\\xff\\xfb\\xe0\\x3f\\x8e\\x9e\\xfc\\xb0\\xb2\\x50\\x9d\\x2b\\xe0\\x99\\xa3\\x79\\x52\\x9f\\x3a\\x99\\x0c\\x49\\x56\\x2b\\x6b\\xf4\\xb2\\xde\\x40\\x81\\x55\\x92\\x90\\x9d\\x58\\x5f\\xda\\x53\\x1c\\x02\\x05\\x31\\xa7\\x66\\x8e\\x66\\xf9\\xcf\\x42\\xa6\\x2a\\x7b\\x3c\\x89\\x71\\xa6\\x22\\x3d\\xc8\\x79\\xb5\\xd8\\x9e\\x31\\xa4\\xb9\\x74\\xf8\\x57\\x00\\x49\\x06\\x38\\xc6\\x4b\\x80\\x73\\x55\\x16\\x62\\xe6\\xa1\\x09\\xf8\\x22\\x02\\x1b\\xc3\\x12\\xd8\\xe4\\x01\\x14\\x36\\x02\\xd7\\x78\\xc0\\xdf\\xf1\\xc0\\xcb\\xbd\\xa8\\x2a\\xe9\\xb1\\x31\\x92\\x81\\x61\\x7d\\x7e\\x1d\\x88\\x7b\\x46\\x9d\\x4d\\x72\\x22\\xe7\\x84\\x7c\\x2a\\x97\\x29\\xe6\\x09\\xec\\x3b\\x27\\x4e\\xd8\\x87\\x33\\x25\\x9e\\x3c\\x72\\x63\\x36\\x2e\\x38\\x53\\x9c\\xea\\x1f\\xf8\\xa7\\x7f\\xed\\x56\\x82\\x81\\x2f\\x95\\x53\\x27\\x0f\\xaa\\x35\\x9c\\xb2\\xf5\\xd5\\x4d\\x30\\xec\\x22\\x34\\x24\\x59\\x88\\x3c\\x85\\x85\\x66\\x9d\\xdd\\x6c\\x8f\\x16\\x87\\xfd\\x61\\xbf\\xd5\\x65\\x05\\x49\\xc2\\xea\\x72\\x01\\x1a\\xa9\\x25\\x3d\\x73\\x92\\xa4\\xd9\\xf3\\x8b\\x46\\xe7\\x66\\x10\\xcf\\xa9\\xa5\\x9e\\xeb\\xcf\\x2e\\xd1\\xf2\\x87\\xbf\\xd6\\xa3\\xa6\\xfa\\x19\\xcd\\xbb\\xcd\\xec\\xc8\\xcf\\x1d\\x2e\\x3f\\x93\\x5b\\x5c\\x1d\\x4f\\xd2\\x3c\\xdd\\x2c\\xd5\\xef\\xaf\\xa3\\xf6\\xf6\\x02\\xf8\\x7c\\x69\\x72\\xa0\\xd9\\x50\\x58\\x50\\x10\\x31\\x18\\x18\\x98\\x49\\x5b\\x69\\x0c\\xc5\\x70\\x80\\x35\\x07\\x0a\\x0b\\x03\\xa0\\x7e\\x14\\x16\\x14\\x32\\x66\\xb6\\xb0\\x10\\xf1\\x7c\\x49\\x7b\\x4a\\x15\\x92\\x08\\x13\\xd1\\xbc\\x1f\\xb9\\xb5\\x9d\\xb4\\xa8\\x47\\x4c\\x4f\\xbb\\x66\\x86\\x68\\xd7\\x8e\\xba\\x66\\xcd\\x15\\x6a\\xe0\\x5b\\x4c\\xa5\\x6c\\xbe\\x0c\\x8d\\x2b\\x01\\x65\\xff\\xd6\\x77\\x0e\\xcf\\xef\\x5a\\x75\\xe3\\xb1\\x4f\\xc4\\xad\\x2b\\xae\\xbb\\x7b\\xee\\xdc\\xab\\xe6\\x2f\\x5c\\x31\\x4b\\x51\\xf6\\x17\\x5c\\x39\\xe3\\x52\\x8f\\xde\\x3a\\x6b\\xd6\\x86\\xab\\xdb\\xa7\\x74\\x75\\x4e\\x90\\xb7\\xe2\\xa7\\xda\\x67\\x4c\\x68\\xcb\\x8f\\xe1\\xab\\x26\\x11\\x2b\\x5e\\x53\\x89\\x23\\x52\\xc2\\x06\\xb9\\xca\\x60\\x65\\x4d\\x6d\\x11\\x49\\x99\\x30\\x21\\x65\\xb3\\x05\\xca\\x68\\x0c\\x9f\\x8d\\xc6\\xf0\\xb9\\xff\\x6d\\x0c\\x5f\\x09\\x95\\xf3\\x34\\xa2\\xe4\\xe9\\x4f\\x4e\\xfc\\xd4\\x62\\x2a\\xb0\\x7a\\xe8\\xea\\x34\\x26\\xd4\\x0d\\xe6\\x20\\x88\\x7c\\x77\\xd7\\xf6\\x29\\xe7\\x6f\\xbf\\xe4\\xf2\\x9b\\x7f\\x32\\x67\\x79\\xd8\\xed\\x6e\\xee\\x9a\\x73\\xd5\\xfa\\xc5\\x3b\\x0e\\xcd\\x9b\\x3c\\x69\\xe1\\xa1\\x1d\\x2f\\x7e\\xf2\\xc7\\xf5\\xe3\\x6f\\x9b\\x77\\xd9\\x6d\\xe3\\xcf\\x6d\\x19\\x34\\xce\\x60\\x9a\\xc1\\x19\\x2c\\x13\\x07\\xb7\\xb4\\xed\\xd8\\x72\\xfd\\xe4\\x65\\x66\\x41\\x5c\\xd4\\x76\\xdd\\x56\\xf9\\xf4\\xa7\\x5f\\xc8\\x6a\\x6e\\xb1\\xf4\\x3f\\xb9\\x09\\xdc\\x8b\\xa0\\x25\\x8e\\x4f\\x96\\x89\\x11\\xb7\\x1e\\x05\\x22\\x81\\xca\\xaa\\x32\\x62\\x33\\x2b\\x8b\\x06\\xdc\\x34\\xd0\\xdc\\x1b\\x8c\\x46\\x41\\xa1\\x30\\x44\\xc5\\xa0\\x03\\x68\\x75\\x1f\\x21\\x57\\xaa\\x78\\x94\\xf1\\xad\\x67\\x6c\\x6a\\x85\\x38\\x2f\\xe8\\x4a\\x29\\xdc\\xa0\\x94\\x0f\\xb6\\x45\\xea\\xa9\\x9f\\xc7\\xc3\\x4d\\x50\\x94\\x43\\x25\\x02\\xeb\\xc6\\xb5\\x6a\\x04\\x16\\x09\\xcc\\xc2\\x4f\\x2f\\x59\\x66\\x98\\x3b\\xff\\xdc\\xe1\\xec\\x27\\x44\\x39\\x7c\\x75\\x7d\\xf3\\xef\\x4e\\x1c\\xfd\\x9d\\xdf\\xf6\\x03\\xb1\\x2f\\xc9\\xaf\\x0f\\xfb\\xee\\x03\\xfc\\xb9\\x7f\\xe7\\x8d\\x4e\\x3a\\x16\\xc0\\x39\\xce\\x4b\\x75\\xa3\\x79\\xc9\\x66\\x9d\\xdb\\x1d\\x10\\x9c\\x4e\\x6b\\xc0\\x5a\\x50\\x88\\x0a\\x6d\\x85\\x75\\x85\\x40\\x80\\xdd\\x70\\xed\\x0b\\x10\\xb1\\xa9\\x3d\\x25\\xea\\x42\\xba\\x36\\x5d\\xa7\\x6e\\xa1\\x8e\\x37\\xb3\\x3a\\x1d\\x63\\xf7\\x49\\x16\\x3d\\x0f\\x4b\\xdc\\x96\\x32\\x32\\x62\\x4e\\xec\\x8e\\x7a\\xf4\\xb6\\x52\\xb9\\xce\\xa2\\x9d\\xc6\\x76\\x9c\\xf9\\x87\\x8e\\x15\\x82\\xa8\\x66\\x14\\xdf\\xb5\\x12\\xdf\\xbe\\x04\\x1f\\x21\\xaf\\x4b\\xe4\\xcb\\x56\\xca\\xad\\xe4\\x55\\x71\\x0b\\xc9\\x0f\\x12\\x75\\x48\\x31\\x81\\x83\\xdc\\xb5\\x58\\xde\\xa4\\x04\\x6e\\xb0\\xe9\\x07\\x41\\x77\\x37\\xa8\\x31\\x2d\\x65\\x24\\xaa\\x05\\x89\\xa2\\x31\\xa8\\xd3\\x95\\x18\\x8d\\xe5\\x15\\x6a\\x5c\\x4b\\xa9\\xa1\\x94\\xc6\\xb5\\xb0\\x6a\\x5c\\x0b\\x1b\\xc9\\x96\\x98\\x38\\x4b\\x4c\\x4b\\x26\\x3e\\x4a\\xad\\x9e\\x0d\\x68\\xd6\\x57\\x54\\x8b\\x4b\\xb5\\x87\\x80\\x7a\\xbf\\xd2\\x78\\xc3\\xb2\\x19\\x4b\\x96\\xcc\\x4d\\x6d\\xc0\\xf1\\x9b\\x57\\x6b\\x87\\x30\\xe5\\xa5\\x0d\\xe5\\x83\\x87\\x5d\\xd8\\x9c\\xfc\\xe5\\xaa\\x35\\xd3\\xce\\x1d\\x37\\x83\\x7d\\xc5\\x57\\x7d\\xfa\\x8b\\x0e\\xfe\\x4e\\x75\\xf7\\x7f\\xff\\xa7\\xf2\\x9a\\xd4\\x79\\xfa\\x04\\x5d\\x13\\x83\\x3c\\x8e\\xfd\\x10\\xd6\\xc4\\x87\\x2e\\x4c\\xd6\\x59\\xf4\\xd8\\x2a\\x08\\x3a\\x64\\xb3\\xe9\\xf4\\x92\\x5e\\xf2\\x07\\x7c\\x80\\x5d\\xbe\\x80\\x64\\xd3\\x5b\\x8c\\x16\\x12\\x37\\x67\\x15\\x38\\xce\\x61\\x14\\x75\\x38\\xa3\\xac\\xe6\\x85\\xa3\\xe5\\xc4\\x7a\\x51\\xf7\\x50\\x26\\x44\\x41\\x55\\x4e\\xb4\\xf0\\xb9\\xdc\\x68\\xaf\\x7d\\xf2\\xaa\\x8b\\xe4\\x03\\x57\\x62\\xb3\\xfc\\xf0\\x2c\\x7c\\xdd\\x64\\xcc\\x5c\\xdd\\x85\\xaf\\x5b\\x76\\x8b\\x7c\\x1c\\x7f\\x2a\\xcf\\x0c\\x54\\x57\\x7b\\xb0\\x83\\x71\\x78\\xc8\\x7a\\x5c\\xb6\\x0e\\x5b\\xa9\\xdf\\xba\\xd2\\x5b\\xad\\xe1\\x13\\x5b\\x05\\xb0\\x8b\\xa4\\x46\\x1a\\x63\\x32\\x09\\x36\\x3b\\x56\\xdd\\x22\\xc4\\xc2\\x2b\\x00\\x31\\xcb\\x56\\xb4\\xec\\xe1\\xdc\\xa4\\xf9\\x3f\\x14\\xe7\\x9a\\xe6\\x1f\\x3c\\x7a\\xcd\\x63\\xd7\\x8c\\xaf\\x6c\\xb6\\x74\\xeb\\x80\\xfc\\xdc\\xcf\\xae\\xf2\\x9d\\xf9\\x9b\\xf9\\xd7\\xf2\\x7b\\x0a\\xcd\\xd1\\xce\\x7d\\x90\\x98\\xd5\\x10\\xec\\xc6\\x71\\xc9\\xb2\\xb0\\x2b\\xa4\\xd7\\x97\\xfa\\x2c\\x2e\\x4b\\x65\\x55\\x21\\xec\\xc7\\x42\\xec\\x21\\xd9\\x7c\\x3c\\x36\\x47\\x14\\x68\\x4c\\x36\\x91\\x4f\\x96\\x05\\x21\\x6f\\x4e\\xa6\\xa5\\x9c\\x28\\x97\\x9e\\xf6\\xed\\xec\\x89\\x4f\\x45\\x56\\xc2\\xd9\\x33\\xa1\\xdc\\x36\\x65\\x2f\\x5e\\x2a\\x2f\\xd6\\x52\\xf3\\xcc\\x5e\\x42\\xac\\x34\\x67\\x2e\\xcd\\xe6\\xe5\\xa1\\x91\\xa9\\x3f\\x8c\\xcd\\xcf\\xc6\\xe3\\x3e\\xe7\\xc4\\xfb\\xce\\x33\\x23\\xd4\\x63\\xa1\\xb9\\x32\\x50\\x11\\x3a\\x3f\\x59\\xe5\\x2d\\x28\\x60\\x22\\x11\\x8b\\xe0\\xb2\\xb8\\xa2\\xc5\\x05\\x91\\x10\\xe0\\xab\\x87\\x0d\\x90\\x0a\\x8c\\x29\\x2f\\x06\\x49\\x08\\xdb\\x43\\x92\\xc5\\x6e\\x37\\x90\\x18\\xba\\x3e\\xb2\\xab\\xe4\\xa5\\xb7\\xca\\x14\\xab\\x76\\x26\\xe2\\x89\\xbe\\xa4\\x23\\x62\\x5c\\x91\\xe8\\x60\\x13\\x73\\x4f\\xf5\\x90\\x91\\x4e\\x9d\\x22\\x92\\x09\\xb6\\x77\\x7c\\xd7\\x4b\\x50\\xfa\\x55\\xc7\\x73\\x44\\x04\\x78\\x2e\\x47\\x56\\x2a\\x22\\xf9\\x48\\x02\\x61\\x7a\\xc6\\xd3\\x2a\\x59\\xa5\\x68\\xb1\\x29\\xa4\\x04\\x95\\x85\\x0d\\x21\\x43\\x88\\x73\\xdb\\xed\\x3e\\x02\\x32\\x31\\xaf\\xb7\\xe7\\xc5\\x95\\xd1\\xa2\\xf5\\x30\\x45\\x79\\x89\\x5b\\x55\\xc8\\x09\\x43\\x56\\xe1\\x23\\xd5\\xd7\\x32\\xd2\\x93\\x3d\\x2b\\x58\\xc1\\x10\\x98\\xd1\\x04\\xd2\\x53\\xa7\\x54\\x29\\x4a\\x93\\x5d\\x4e\\x61\\xbb\\x02\\x66\\xc7\\xaf\\x54\\x31\\x4a\\x96\\x35\\xf9\\xea\\xbb\\x0e\\x25\\x57\\x96\\x6e\\x30\\xb5\\x3f\\x96\\xa0\\x2a\\x34\\x27\\xd9\\x58\\xe0\\xb4\\x55\\x55\\x19\\x50\\xa4\\xd4\\x11\\x71\\x70\\x3e\\xce\\x57\\x5d\\x53\\xe5\\x0c\\x80\\xd2\\xe3\\x0d\\x48\\x8e\\x98\\x2d\\x06\\x48\\x6c\\x13\\x15\\x57\\x9b\\x50\\xdc\\x9e\\x12\\x6c\\x4c\\x08\\x44\\x1b\\x46\\x2b\\xfe\\x97\\xa9\\xab\\x9e\\xaf\\xc8\\xa9\\xc6\\xea\\x78\\xd6\\x7f\\x59\\xd2\\xf3\\x5c\\x51\\x46\\xa3\\x63\\x23\\xd9\\x4c\\x59\\x3c\\x95\\xc8\\xed\\xcc\\xeb\\x99\\xf3\\x38\\xf7\\xe1\\x11\\xcc\\xba\\xac\\x66\\x77\\xe6\\x29\\x39\\xa4\\x1d\\xdf\\xe1\\x4a\\xa8\\x92\\xa4\\x9d\\xcd\\x51\\xd2\\x63\\x85\\x54\\x45\\xef\\x29\\xed\\x10\\x8f\\x87\\x84\\x11\\xa5\\xb5\\x18\\x68\\xdd\\x78\\x18\\x7b\\x3d\\x1a\\x8c\\xd6\\x25\\x47\\xc7\\x2b\\xdc\\xee\\x12\\xff\\x80\\x6a\\xd1\\x56\\x65\\xac\\x12\\xd9\\x01\\x5c\\xb0\\x2e\\x58\\x37\\x64\\xa8\\x58\\x5d\\x0d\\x7a\\x52\\x75\\x75\\x85\\xaf\\xca\\x5e\\x01\\x7a\\x53\\x85\\x58\\x56\\x4a\\x4e\\x92\\x46\\x06\\xb5\\xa7\\xa2\\x11\\x5b\\x41\\xff\\x09\\x29\\x7f\\x81\\x9b\\x52\\x27\\x29\\x57\\x8f\\xca\\xda\\xce\\xf2\\x6d\\x37\\x79\\x81\\xc7\\x99\\x7c\\xcc\\x99\\x14\\x62\\x7d\\x6a\\x58\\xf9\\xe7\\x96\\xb2\\x33\\xa6\\x28\\x5d\\x99\\xe9\\xe2\\x66\\xf7\\x56\\xbf\\xf2\\x4e\\x33\\x91\\xd9\\x3b\\xa4\\x68\\x63\\xa7\\x1f\\xd7\\xe6\\xad\\x97\\x5e\\x46\\xa2\\xac\\x7a\\xcc\\xa2\\xa6\\xa9\\xb1\\x37\\x2a\\xb3\\x48\\x4d\\x44\\x63\\xd2\\x8b\\x75\\xbf\\xa6\\x67\\xcf\\x6c\\x28\\x81\\x86\\xa0\\x5b\\x93\\xe3\\x51\\x71\\xc4\\x66\\x2b\\xb0\\xf3\\x03\\x6a\\x6b\\x4b\\x1a\\x8c\\xd1\\x41\\xd1\\x06\\x3e\\xc8\\x49\\x95\\x52\\xe5\\xd0\\xe6\\xb2\\xfe\\xed\\xa9\\xb2\\xb2\\x44\\x64\\x80\\xad\\x38\\x01\\x98\\x53\\x9b\\x90\\xa2\\xa6\\x88\\xa9\\x3d\\x15\\x11\\x43\\x85\\x6d\\xa9\\x10\\xf2\\x7b\\xbd\\xb0\\x53\\xbc\\xb6\\x7a\\x67\\xd2\\xee\\x74\\xb2\\x13\\x52\\x4e\\x75\\x83\\xf8\\xbd\\xb6\\xdf\\xf5\\x70\\x0a\\x66\\x4c\\x18\\x8e\\xbc\\x00\\x86\\xac\\xa6\\xad\\xa1\\x99\\xb3\\x27\\x2a\\x09\\x7d\\xcc\\x62\\xbc\\xa7\\x52\\x8e\\x55\\x45\\x5c\\xee\\x81\\x5a\\x3b\\x7a\\xa2\\xe1\\xaa\\x1e\\x8a\\xfa\\x66\\xd6\\x48\\x95\\xf3\\x7c\\x64\\xbb\\xac\\x17\\x46\\x66\\x75\\x77\\xec\\x55\\x55\\x76\\xc0\\x47\\x57\\xfa\\x73\\x6e\\x28\\x77\\x1d\\x8a\\x00\\x46\\x76\\x24\\xab\\x0c\\xa5\\xa5\\x3a\\xc6\\x5d\\x54\\x15\\x0c\\x8a\\x45\\x0c\\x17\\x6f\\x70\\x57\\x99\\x11\\x89\\xf5\\x11\\xcd\\x36\\xb6\\xc4\\x50\\x42\\x2c\\xc9\\x3a\\x83\\x88\\xca\\x73\\xcc\\x9c\\xfe\\x63\\x59\\x0d\\x23\\xd7\\xfc\\xa4\\x59\\xb5\\x8b\\x34\\x83\\x72\\xa4\\x4f\\x17\\x11\\x6e\\x68\\xa4\\x76\\xe6\\x88\\xea\\x49\\xc2\\x53\\x7e\\x43\\x0c\\xcd\\xb8\\xe6\\x9c\\x89\\x3d\\x1d\\x44\\xf2\\x7b\\xfd\\x9e\\x4c\\x24\\xf1\\x00\\xc5\\x81\\xe4\\x3a\\xce\\xdc\\x4b\\xec\\xcf\\xbe\\x9e\\xde\\x21\\xe6\\x77\\xd3\\x93\\xdd\\x53\\x47\\xd5\\xab\\xfe\\x23\\x75\\x9c\\xa0\\x2b\\x9d\\x00\\xbc\\x29\\x07\\x5d\\x3f\\x95\\xac\\x89\\xd4\\xd6\\x56\\x15\\xb9\\x5c\\x66\\xbf\\xe0\\x17\\xea\\xcb\\xe2\\xe5\\xa5\\xa5\\xa0\\xa3\\x94\\xa2\\x40\\x4d\\xa4\\xa6\\x3d\\x15\\x8c\\x88\\x9e\\x8a\\x09\\x29\\xc9\\xe3\\xce\\x77\\x1e\\xc5\\x7b\\xa6\\xa6\\x55\\x0e\\x30\\xaa\\xa7\\x10\\xce\\xe6\\x4f\\x1a\\xa2\\xa4\\x31\\xd0\\xac\\xea\\x99\\x33\\x17\\x8d\\x76\\x32\\x6e\\xf6\\xfe\\x1e\\x5e\\xa6\\x0b\\x3a\\x89\\x91\\xff\\x92\\xe6\\xdf\\x93\\xaf\\xba\\x4f\\xd4\\x0e\\xf8\\xfd\\xa0\\x9e\\x4e\\xa7\\x45\\xd1\\x25\\xb3\\x99\\xdb\\xc8\\xd8\\xfb\\xd1\\x83\\x16\\x3f\\x35\\x30\\xa7\\xbb\\x57\\x0d\\x1b\\xae\\xad\\xe7\\x69\\x58\\xcf\\x3a\\x34\\x90\\x44\\x84\\x88\\x4e\\xa7\\x39\\x16\\x08\\x44\\xf4\\x03\\x6a\\xf4\\x35\\x83\\x06\\x07\\x61\\x05\\x23\\x41\\x5b\\x65\\xbf\\x89\\xa9\\xca\\x4a\\x5e\\x34\\x38\\x44\\x52\\x46\\x35\\x69\\x16\\xc5\\x84\\x9b\\x77\\x03\\x1d\\xe1\\xb3\\xe1\\x2e\\xea\\xc2\\x2a\\xe8\\x9e\\x1b\\xd2\\xa5\\x14\\x40\\xaa\\x57\\x0f\\x9e\\xaa\\xa1\\xec\\xf9\\x3e\\x83\\xb3\\x1e\\x45\\x65\\x95\\x73\\xa8\\x80\\xe7\\xec\\xde\\xdf\\x2f\\xaf\\x5d\\x33\\x53\\x19\\x2c\\x71\\x70\\xd4\\x8c\\x08\\x8e\\xcc\\x6a\\x9f\\xe2\\xe5\\x4f\\xac\\xbd\\x77\\xdf\\xd2\\x7b\\xe7\\x75\\xfc\\xf4\\xf2\\x39\\xb3\\x5d\\xcb\\x1b\\x5a\\xb4\\x31\\x77\\x90\\xa1\\x56\\x47\\x97\\xfc\\x3a\\x73\\x42\\x75\\xfa\\x88\\x6b\\xae\\xea\\x5a\\x70\\x0d\\x3e\\x77\\xca\\x86\\x11\\xf5\\xf1\\xc1\\x54\\x36\\x6a\\x96\\xc7\\xf1\\x0f\\x83\\xac\\x32\\x88\\x64\\xf3\\xac\\xf3\\x7a\\x23\\xf5\\x36\\x9b\\xc4\\x48\\x31\\xb6\\xd0\\xd8\\x54\\xd8\\x34\\x78\\x88\\x58\\x5f\\x9f\\x48\\x58\\x26\\xa6\\x12\\xb6\\xa0\\xa7\\xce\\x03\\xb3\\x52\\x27\\x96\\x54\\x01\\xb1\\x28\\xc1\\x5e\\xc9\\x56\\x18\\x28\\x24\\x29\\x7a\\x69\\x8c\\x39\\x4b\\x2c\\x3c\\xf5\\x99\\x95\\x8f\\xc7\\xfb\\xc0\\x83\\x9e\\x39\\xb0\\xfb\\x8a\\xf2\\xeb\\x21\\x78\\xc3\\x84\\x35\\x26\\xf2\\x23\\xd0\\xb3\\x51\\x65\\x3a\\x6e\\x95\\x16\\x02\\xb7\\xa5\\xfd\\x0a\\x12\\x53\\x26\\xaf\\x7e\\x45\\xe6\\x6e\\xd9\\xb5\\x2b\\x8b\\x27\\x4c\\xc0\\x30\\xec\\x81\\xa6\\x05\\x4b\\x72\\x02\\xfd\\x1e\\xd7\\x22\\xcc\\x1c\\x67\\xbe\\x8d\\x54\\x57\\x47\\x58\\x63\\xbf\\xd8\\x70\\x0d\\x69\\xb6\\x8f\\xab\\x18\\xb4\\xe1\\x46\\x25\\xcc\\x8f\\xc4\\x47\\x00\\x9e\\x34\\xc3\\x7e\\xa8\\x21\\xf1\\x72\\x96\\x98\\xdf\\x1f\\xd6\\x3b\\x91\\x1e\\xd5\\x82\\xb6\\x00\\x8a\\x6e\\x31\\x3d\\x77\\xa4\\x04\\x0f\\x29\\x66\\x5c\\xd6\\xd6\\x3b\\x37\\x65\\x76\\xc7\\xe7\\xd5\\xc5\\xa2\\xc8\\xaf\\xc5\\xdd\\x2a\\x13\\x70\\x36\\x1f\\x31\\xd7\\xbc\\xef\\xd1\\x85\\x5d\\x72\\x80\\xc4\\xdf\\xf6\\xeb\\xfa\\xed\\x82\\x39\\x67\\x4d\\x5a\\xe6\\x52\\x42\\x70\\x4f\\x6f\\x5c\\x33\\x6d\\xc2\\x79\\x67\\xcd\\x57\\x46\\x63\\xb2\\xb9\\x01\\x34\\xc6\\xd9\\x4b\\x46\\x66\\x04\\x15\\xcb\\x05\\x72\\x30\\xe8\\xf4\\x3e\\xbf\\x41\\x12\\x24\\x52\\xcf\\x9b\\x2a\\xf0\\xc8\\x69\\x44\\xc6\\x76\\x9a\\xbd\\x34\\x1b\\xc2\\xd8\\x57\\x1c\\xa0\\x2a\\xc4\\xc7\\x33\\xca\\x7b\\x8e\\xd8\\x80\\xed\\xf4\\x3c\\x6a\\x39\\x8d\\x1f\\xce\\x11\\x11\\xba\\xdb\\xf1\\x63\\x84\\x7a\\x67\\xe2\\x86\\x55\\x81\\x80\\x79\\xbc\\x3b\\xcd\\x3c\\xe2\\xb4\\x29\\x34\\x29\\x92\\xfe\\x8a\\xfd\\x9e\\x1f\\x82\\x5c\\x00\\xf5\\xca\\xe4\\xd0\\x90\\xdf\\xc8\\x17\\x97\\x8b\\x2e\\x57\\x39\\xef\\xe7\\x2a\\x2a\\xa3\\xe1\\xb0\\xcf\\x53\\x54\\xe4\\x06\\x3e\\xef\\x12\\x45\\xde\\x68\\x14\\xac\\x26\\x13\\xc7\\x58\\x2c\\x58\\xc0\\x5c\\x79\\x71\\xb1\\x3f\\x14\\x2a\\x2d\\xe0\\xe0\\xaf\\xcf\\x2e\\xb0\\x3e\\x58\\x1a\\xa2\\x08\\x52\\x79\\x54\\x63\\x48\\x76\\x25\\xfb\\x6a\\x8e\\x31\\x38\\xfb\\x4d\\x0f\\xcb\\x64\\xd4\\x84\\xa3\\xac\\x6a\\x84\\x27\\x29\\x1f\\x13\\x71\\x49\\x60\\xfb\\xfa\\x92\\x79\\xbf\\x61\\xfb\\x5d\\xf5\\x6f\\x8f\\xc5\\x55\\x73\\xb6\\xdd\\x39\\xe0\\xce\\x8d\\xb3\\xbf\\x1c\\xf9\\x7a\\xaf\\x6f\\x98\\x27\\xf0\\xfd\\xf2\\x4c\\xa6\\xc3\\x1e\\x0c\\x3a\\xe4\\xc9\\xf8\\x1e\\xf9\\x22\\xfc\\x73\\xf8\\x6c\\xfd\\xe1\\xc3\\xbe\\xbf\\x87\\xb9\\x80\\x5d\\xcb\\xde\\x0b\\x73\\x61\\x06\\x4d\\x6c\\x40\\x32\\xe8\\x31\\x5a\\x90\\x11\\xf9\\x03\\xce\\x5a\\x6f\\xb3\\x97\\xf1\\x7a\\xad\\x40\\x31\\xc3\\xc6\\x3a\\x23\\x63\\x34\\xea\\x4c\\x2c\\x89\\xa5\\xae\\x9d\\x16\\x57\\x5e\\x73\\x43\\x86\\x48\\x25\\xc6\\x4a\\xac\\x24\\x02\\xb4\\xe7\\x5e\\xb0\\xf7\\x8e\\x28\\x09\\xed\\x9f\\x3a\\xf0\\xd5\\xa9\\x25\\xe7\\xb0\\x33\\x73\\x3f\\xb3\\x77\\x7d\\x2c\\x58\\x5c\\x1f\\xe3\\x07\\x7f\\x78\\x5e\\xfd\\x40\\xf7\\xc7\\x4c\\xd0\\x75\\x4e\\xd0\\x7c\\xc0\\x93\\x92\\x95\\x5e\\xbb\\x01\\x87\\x42\\xc5\\x86\\xe2\\xb2\\xf2\\xe2\\x50\\x24\\xd4\\x06\\xf2\\x83\\xdd\\xe5\\xb2\\xb4\\xa7\\x5c\\xb6\\x20\\x0b\\xba\\x79\\x60\\x22\\x39\\x9b\\x54\\x92\\x0d\\x7e\\xce\\x3f\\xac\\xd6\\xe3\\x40\\x0a\\xf5\\x5c\\x66\\xce\\x00\\xe5\\xb9\\xcf\\x7a\\x06\\x3c\\xb3\\xf7\\x09\\xa3\\x0f\\x0c\\xd1\\x22\\x49\\xa7\\x35\\x90\\x20\\xd3\\x8a\\x9b\\xcb\\x57\\xe1\\x6d\\x8b\\xd7\\xcb\\xe3\\xf0\\xfc\\xb1\\xe7\\x56\\x0c\\xda\\xb8\\x0e\\xcf\\xd5\\x22\\x8d\\xe4\\x3f\\x4e\\xea\\x74\\x98\\x98\\xcf\\x72\\xd4\\x44\\x3a\\x96\\x16\\x7e\\x0a\\x8c\\xa5\\x0e\\x74\\xdc\\x5a\\x8f\\x4d\\x8f\\x82\\xc1\\xca\\xa8\\x3e\\xda\\xaf\\xbe\\xa2\\x86\\xaf\\x01\\xe9\\xba\\xa6\\x20\\x1a\\x0c\\x07\\xdb\\x52\\x61\\xd1\\x06\\xec\\x82\\x1c\\xba\\x2b\\x24\\xa7\\x99\\xfc\\xf9\\xa7\\x99\\xf2\\x22\\x65\\x73\\x8c\\x44\\xda\\x98\\xf8\\xff\\x64\\x48\\xb9\\x81\\x03\\x3f\\x32\\x38\\x2d\\xa4\\x6a\\xcb\\x9d\\x83\\x46\\x8e\\x3c\\xfb\\x10\\xcf\\x34\\x29\\xdf\\xbe\\xa8\\x8c\\xb3\\x94\\xa9\\x67\\x16\\xf1\\xeb\\x88\\x30\\x9c\\x34\\x21\\xa7\\xd3\\x6b\\xd1\\x7b\\xf5\\x85\\xc1\\xc0\\x11\\x5c\\x75\\xc8\\x09\\x9f\\xbd\\x26\\xf7\\x11\\x3c\\xf4\\x80\\x83\\x61\\x6c\\xfc\\x11\\x3c\\x58\\x89\\xc8\\x6f\\x56\\x6a\\x55\\x34\\xe7\\x9d\\x18\\x72\\x2a\\xa7\\x81\\x88\\x42\\x1a\\xcd\\x1e\\x80\\x52\\x92\\x96\\xc5\\xdf\\xe5\\x4b\\xaf\\x2c\\xde\\x3a\\xe2\\xab\\xb1\\x17\\xb7\\x0c\\x1f\\xf7\\xaf\\x51\\x1d\\x47\\xb8\\x5b\\xeb\\xcb\\xdc\\xb1\\xdd\\xf2\\x06\\x31\\x10\\x10\\xf1\\xbc\\xd9\\x0e\\xb9\\x99\\x7c\\x62\\xb1\\xa8\\xd8\\xb5\\xe3\\x14\\xae\\xdb\\x50\\x29\\x6a\\x4d\\xda\\x49\\x26\\x5c\\xa6\\xb8\\xd8\\x69\\x61\\x63\\x65\\x42\\x30\\xc8\\x47\\x7e\\x05\\x90\\x78\\x71\\x1d\\x90\\x20\\x3b\\xae\\x3e\\x54\\xac\\x87\\x1d\\x8e\\x4c\\x00\\x27\\xd2\\x20\\x8b\\x37\\x6b\\x59\\x78\\x72\\x8f\\xc2\\xe7\\x41\\xd5\\xd7\\x51\\x26\\x02\\x3c\\x5e\\xa9\\x02\\xd9\\x35\\xa5\\x5f\\x09\\xc9\\x27\\x5b\\x11\\x50\\x80\\x67\\xea\\x73\\x21\\x65\\x1a\\x56\\xaf\\x31\\x5d\\x3d\\xc6\\x3c\\xb6\\xa3\\x3e\\x33\\x12\\xc4\\xa4\\xff\\x85\\xab\\xb0\\x8e\\x9f\\x81\\x4c\\x30\\xa3\\xfd\\x60\\x46\\xcd\\x66\\xbb\\xce\\xeb\\x2d\\x0c\\xfa\\x60\\x46\\x07\\x3d\\xee\\x76\\x88\\x4f\\xe2\\x21\\xa0\\xce\\x19\\x00\\xf8\\x66\\x32\\x8f\\xcd\\xf9\\x59\\xbf\\x72\\x8c\\x36\\x6c\\x8e\\x40\\x44\\xe2\\xe7\\xe2\\x58\\x17\\xf3\\x07\\x4a\\x4b\\x03\\xfe\\x98\\xee\\xc2\\xf3\\x63\\x75\\x05\\x36\\x57\\x10\\x26\\x92\\x0f\\xfa\\x63\\xf0\\x7d\\x2c\\x76\\xe6\\xc3\\x2b\\x57\\x98\\xae\\x1a\\x6e\\xdf\\xc1\\x24\\xb3\\x73\\x88\\x1f\\xe6\\xae\\x24\\x09\\x84\\x93\\x06\\xbb\\x20\\x98\\xcd\\x48\\x72\\x8b\\x00\\xc7\\x7e\\xf8\\x68\\x84\\xe9\\x3a\\xa8\\xb3\\xdb\\x59\\x06\\xd1\\x75\\xad\\x27\\x1c\\xb8\\x99\\x2c\\x6e\\x2e\\x71\\x50\\xb3\\x14\\x69\\x31\\x63\\x71\\xc2\\x6e\\xf1\\xc3\\xbe\\x68\\x68\\x52\\xc1\\x0c\\xf9\\x9b\\x51\\xa3\\x1e\\xe4\\x2b\\x97\\x16\\x71\\x57\\xde\\x39\\xdc\\x6e\\x91\\x2f\\xa4\\x4b\\xf9\\xbe\\x18\\x18\\x59\\x14\\x57\\xe2\\x2b\\x98\\x28\\xbe\\x99\\x9b\\x85\\x9c\\xa8\\x21\\x69\\xb2\\x63\\x23\\x6f\\x74\\x49\\x36\\x93\\xc9\\x02\\x10\\x1c\\x34\\x62\\xac\\xd7\\xf1\\x4f\\xe0\\x66\\xb8\\x71\\x28\\xa1\\xc3\\x0a\\x5e\\xd9\\x73\\xc2\\x3e\\x9d\\x99\\xb0\\xcf\\xec\\xe6\\xfe\\x98\\xf4\\x67\\xf0\\x17\\x8d\\x1e\\x39\\x13\\x9b\\x5b\\x5b\\x99\\x7a\\xe8\\xeb\\xce\\xe1\\x41\\xfc\\x10\\xe9\\x5b\\x0e\\x93\\x81\\x43\\xbf\\xb0\\x06\\x9f\\x41\\xbf\\x24\\x8e\\xd1\\x12\\x70\\x3a\\x39\\xab\\xde\\x5a\\x18\\x74\\x5a\\xad\\x36\\xd2\\xb3\\x85\\xe3\\x4c\\x06\\xfd\\x11\\xdc\\xfc\\x38\\x30\\x80\\x23\\xb0\\x1a\\x30\\xf4\\xde\\xdd\\xf7\\x8a\\xf5\\x6c\\xcc\\x9e\\x3c\\x54\\xa2\\x3b\\xb6\\x9c\\x7f\\x61\\xd1\\xca\\x68\\x16\\x96\\xa0\\xd3\\x5e\\x50\\x83\\xab\\x56\\x5c\\x39\\x35\\xd8\\x3f\\x03\\x52\\xf7\\xb3\\x3b\\xec\\xc3\\xaf\\x32\\xa9\\xbc\\x0b\\x70\\x7a\\x22\\xc0\\x45\\xe2\\xe3\\x26\\x25\\x0b\\xd5\\xf8\\x38\\x10\\x3d\\x58\\x83\\x64\\x90\\x42\\x61\\x64\\xb3\\x99\\x05\\x12\\x18\\x67\\x74\\x98\\x9f\\xc6\\x83\\x40\\x5f\\x13\\x60\\x6e\\x82\\x48\\x47\\x11\\xbb\\x59\\xd9\\x76\\x1a\\x43\\xca\\x09\\xa8\\xce\\x8f\\x8a\\xab\\xc4\\x5a\\x54\\x9c\\x14\\x6f\\xcc\\x89\\x8a\\x93\\xf0\\x9a\\xda\\xe4\\xac\\x05\\xdd\\x63\\xc7\\x62\\x66\\xd2\\xa4\\xed\\xb7\\x0d\\x96\\xff\\x36\\x72\\x48\\xd3\\xa8\\xfe\\xec\\x25\\xe2\\xd8\\xe6\\xf1\\xe3\\x94\\xa5\\x0b\\xd8\\x5e\\xfa\\x67\\xc0\\x22\\x17\\xc7\\x07\\x0f\\x1c\\xf0\\x01\\x89\\x7b\\x92\\x99\\x52\\x76\\x21\\xc0\\x4c\\x62\\x78\\x9d\\x46\\x5e\\x74\\xf1\\x2e\\xc9\\x4d\\x79\\x2b\\x63\\x36\\x73\\x76\\x01\\x66\\xf4\\x00\\xf0\\x58\\xcc\\xc1\\x84\\x6a\\xc4\\x81\\xc0\\x57\\xdb\\xe3\\x50\\x6c\\x9f\\xdc\\x92\\xb9\\xa2\\xf6\\x96\\x9b\\xab\\x9e\\x3f\\x07\\x9b\\xa7\\xdd\\x70\\x63\\xfd\\x8d\\xab\\xa7\\xbd\\x35\\x94\\x29\\xc5\\x57\\xc8\\xeb\\x19\\x37\\x01\\x45\\x5e\\x83\\x17\\xc9\\x1b\\xf0\\x75\\xf0\\xd9\\x42\\xfd\\xe7\\xb8\\x9c\\x49\\x01\\x2c\\x01\\xd4\\x94\\x74\\xd9\\xcd\\x4e\\xaf\\xd7\\xcc\\xb0\\x05\\x85\\x5e\\x20\\xc0\\x76\\xbb\\xc9\\x21\\x59\\xc9\\x16\\x13\\x58\\x58\\xd4\\x1a\\x65\\x51\\x69\\x0d\\x99\\x5c\\x32\\x00\\x48\\x95\\x9b\\x15\\x2a\\xe3\\x41\\x27\\x9c\\xdb\\x8a\\x17\\x54\\xd5\\x15\\xb8\\x9c\\x91\\x86\\x16\\xaf\\xf8\\xe6\\x40\\xac\\x4b\\xdd\\xb9\\x75\\xca\\xef\\x07\\xfd\\xa9\\x61\\x06\\x2e\\x37\\x2d\\x6f\\xb2\\x4e\\x6e\\xa9\\x64\\x6c\\x14\\xac\\xa5\\xf8\\x16\\x02\\x52\\xf7\\x6b\\xeb\\x3a\\x69\\xdc\\xff\\x25\\xec\\x54\\x7c\\x21\\x3f\\xc4\\xa6\\x13\\xbe\\xa5\\xd7\\x0b\\xd9\\xa9\\xcc\\x27\\xf4\\xfa\\x5f\\xf4\\xfa\\x05\\x76\\x24\\xfe\\x96\\xef\\x80\\x6b\\xa5\\x86\\xfd\\x01\\x76\\x04\\xfe\\x98\\x9f\\x08\\xd7\\x7f\\x56\\x7f\\x1f\\x01\\xbf\\x4f\\x74\\xe8\\x84\\x4f\\xe8\\xbe\\xf9\\x07\\x97\\xc0\\x4f\\xf1\\xaf\\x20\\x0b\\xf2\\x27\\x8d\\x48\\x10\\x8c\\x2c\\x6b\\x15\\x39\\x23\\xaa\\xfd\\x5d\\x6e\\x18\\x1e\\x70\\x8c\\x84\\xa2\\x0d\\x27\\xea\\xfb\\xe3\\x79\\xad\\xf1\\x8e\\x65\\xcb\\x3a\\xea\\xc6\\xf2\\x28\\xde\\xda\\xbe\\xac\\xa3\\x63\\x59\\xfb\\xc8\\x5e\\x6d\\x99\\x58\\x16\\x9a\\xb3\\x8a\\x46\\xae\\x47\\x5b\\xc0\\x62\\x24\\x85\\xee\\x48\\x45\\x3a\\x3c\\x6c\\x4c\\x3f\\xd2\\x56\\xbc\\x95\\x47\\x0d\\xa3\\x94\\xb6\\x68\\x1d\\xab\\x30\\xd0\\x93\\x77\\xf8\\xbb\\x40\\xda\\x68\\x4c\\xda\\x49\\xb6\\x53\\xab\\xcb\\xea\\xf2\\x07\\x3c\\xc4\\xff\\x69\\xb4\\x1f\\xc1\\xd5\\xfb\\xbd\\x2c\\x8b\\x15\\x32\\x4c\\x99\\x44\\x0f\\x44\\x55\\xcb\\x59\\xaa\\x69\\xaa\\xf2\\x33\\xb2\\xe2\\xeb\\xe4\\xa7\\x67\\x57\\x4d\\x1c\\x73\\xed\\x98\\xd1\\x52\\xd9\\x65\\x5d\\x57\\xac\\xb8\\x64\\xfa\\x6c\\xa6\\x3e\\x6c\\xc3\\x83\\x74\\xa6\\x2b\\x16\\x9d\\xac\\xbb\\xf8\\xee\\xaa\\x75\\xab\\xaf\\xb8\\xcd\\x2e\\x7f\\x66\\xa3\\x73\\x14\\x04\\x58\\x4e\\x69\\xb0\\x68\\x7e\\x4f\\x7f\\x80\\xf8\\x3d\\x39\\xe4\\x21\\xb0\\xc0\\x77\\xd6\\xb3\\xc0\\x92\\xe3\\xf0\\x94\\x7a\\x3b\\x3c\\x3d\\xf8\\x54\\x4c\\x1a\\x3d\\x66\\xd5\\xb9\\xed\\x95\\xb3\\xe5\\x67\\x66\\x77\\x76\\x2d\\xbf\\xa2\\xeb\\x32\\xee\\xf5\\x8b\\xeb\\x4e\\x5e\\xbe\\xd8\\xa4\\x93\\x5f\\xb0\\x85\\x01\\x2c\\xaf\\x63\\xf3\\xd2\\xd5\\xeb\\xaa\\xe8\\xfa\\x5d\\x8c\\x9e\\x01\\x99\\xf2\\x1e\\x9b\\x0e\\x85\\xba\\x79\\xb8\\xbe\\x14\\x3d\\xc1\\x45\\xb8\\x6d\\x0e\\x1d\\x8a\\x50\\x58\\x27\\xa1\\x57\\xb8\\x5a\\x6e\\x2d\\xd2\\xa1\\x60\\xd2\\x8c\\x61\\xd7\\x73\\x9c\\xa0\\x67\\x74\\x1c\\x46\\xb5\\xf1\\x63\\xf5\\x39\\xeb\\x50\\x12\\x35\\xe0\\x28\\x8e\\x73\\xb5\\xb3\\xe5\\xe5\\xf2\\xf2\\xd9\\xf8\\x8d\\xfa\\x57\\xd8\\xf2\\x33\\x6f\\xb1\\xbf\\x44\\xbd\\xdb\\xd1\\x81\\xd0\\xce\\xb2\\x82\\x9e\\x45\\x3c\\xd3\\xb3\\x1d\\xda\\x8a\\x01\\x73\\xb5\\x72\\x65\\xbd\\x5c\\x39\\x1b\\xaf\\xc3\\xeb\\xb8\\xb5\\x67\\x46\\xb1\\xbf\\x84\\xb6\\xca\\xd5\\xf3\\x01\\x5c\\x27\\x73\\x37\\xbf\\x05\\xd4\\x97\\xed\\xc9\\xcb\\x58\\x46\\x10\\x10\\x89\\x7b\\x33\\x30\\xc2\\xc6\\x14\\x62\\x6e\\xbd\\x50\\x27\\xa2\\x10\\xaa\\x45\\xac\\x1e\\x75\\x1a\\x71\\xad\\x11\\x87\\x8c\\x38\\x6d\\xc4\\x5f\\x18\\xf1\\x42\\x23\\x6e\\x36\\x62\\x91\\x5e\\xb6\\xd1\\xef\\xe1\\x73\\x13\\xfc\\xf0\\xac\\x11\\x2b\\xb7\\x2a\\xf7\\x9d\\xc8\\xb9\\xef\\x7d\\x23\\x7e\\x4c\\xbb\\x7b\\xda\\x34\\x5a\\x9d\\x04\\xfe\\x2c\\x81\\x3f\\xd3\\x73\\xaf\\x50\\xed\\xf4\\x69\\xf5\\xd9\\x2c\\xe3\\x6a\\x92\\x1d\\x67\\xdc\\x29\\x45\\x4b\\x78\\xc7\\xa9\\x37\\xde\\x1e\\x20\\x7f\\x2d\\x7f\\xcd\\x75\\x46\\xb0\\x5d\\xfe\\x22\\x72\\xf8\\x70\\x8f\\x71\\xdc\\x9f\\x9c\\xa7\\xe3\\x81\\xab\\xb0\\xac\\x1e\\xc6\\x01\\x93\\x04\\xa3\\xc0\\x1b\\xa9\\x4b\\xa8\\x56\\xc7\\xea\\x75\\xff\\xef\\x0e\\xa4\\x32\\x5f\\x19\\x22\\x43\\xe1\\x4b\\xe2\\x12\\x1b\\x65\\x13\\x63\\xb0\\x19\\x9b\\x07\\xbc\\xfd\\xc6\\x29\\x7e\\xcb\\xe1\\xc3\\x11\\xf9\\x0b\\x6c\\x8f\\xd0\\x35\\xc1\\x41\\xae\\x0d\\xaf\\x87\\xb1\\xb0\\xc8\\x79\\x08\\x2e\\x39\\x9e\\x05\\x0c\\x39\\x96\\x89\\xfc\\x89\\xda\\xe3\\x78\\xfd\\x82\\x05\\x70\\xd3\\x70\\x35\\x2e\\x8d\\xbb\\x92\\xd9\\xc4\\x7d\\x08\\xf7\\x7f\\x94\\x7c\\x00\\xb0\\x8a\\x47\\x78\\x43\\x8a\\x2c\\x1c\\xa3\\x47\\xcf\\xf0\\xf8\\x17\\x3c\\xbe\\x9f\\xc7\\x9b\\x78\\xbc\\x8a\\xc7\\x0b\\x79\\xdc\\xc9\\xe3\\x36\\x1e\\x37\\xf3\\xb8\\x96\\xc7\\x21\\x1e\\x8b\\x3c\\x4e\\xf3\\xf8\\x0b\\x1e\\xbf\\xc7\\xe3\\xe3\\x3c\\xce\\xdc\\xbf\\x90\\xde\\x23\\x6a\\xdf\\x2b\\x5f\\x2a\\x2d\\x28\\x8f\\x2b\\xcf\\x36\\xf5\\x7e\\xf2\\xf8\\xd9\\x9f\\x6f\\xe7\\x71\\x98\\x57\\xa6\\x2c\\x3b\\x67\\xea\\xac\\xe5\\x7c\\x9b\\xf3\\x93\\xf2\\x87\\xce\\x24\\x9d\\x45\\x9a\\x95\\x4d\\x0a\\x30\\x57\\x70\\x57\\xce\\x9f\\x0f\\x7b\\x6c\\x3b\\xac\\x7b\\x82\\xdf\\x0c\\x7b\\x6c\\x29\\xdd\\x83\\xcb\\xe0\\xda\\x46\\xaf\\xcf\\x51\\xe6\\x52\\x6e\\xc1\\xeb\\xd3\\xeb\\xb2\\x73\\x89\\xd9\\x3e\\xe6\\x12\\x6e\\xd2\\xe6\\x52\\xfe\\x8a\\xd9\\x94\\x9e\\x41\\xef\\x67\\x61\\x6b\\x11\\xa7\\x61\\x6d\\xe6\\x6c\\xb6\\xda\\xb7\\xfc\\xd5\\xfc\\xf9\\x70\\xef\\x32\\x79\\x24\\x63\\x4b\\x2f\\x43\\xa0\\x0f\\x1f\\xe2\\x30\\xd6\\x09\\x28\\xb7\\x6d\\x03\\x88\\x0b\\x4e\\x09\\xbf\\x2d\\xdf\\xf7\\xc6\\x51\\x79\\x24\\x36\\x97\\xc8\\x5f\\x2a\\xeb\\xfb\\x7f\\xf8\\x1c\\x83\\x1e\\x85\\x87\\x6f\\x61\\xf7\\xc2\\x73\\x26\\x14\\x4e\\x5a\\x61\\xe7\\x0b\\x2c\\x6b\\xb6\\x18\\x04\\x89\\xe1\\x45\\xd4\\x7c\\xac\\xf9\\x58\\x2e\\x2d\\x17\\xa2\\xc0\\xcf\\x88\\xa9\\x24\\xee\\xc1\\xb7\\x74\\xf4\\xef\\x78\\xf7\\x5d\\x78\\x61\\xd7\\xed\\xdd\\x5b\\x72\\xa6\\xa3\\x64\\xef\\x5e\\x80\\xe3\\x51\\xe6\\x8f\\x6a\\x7b\\xae\\xc3\\x08\\x74\\x31\\x01\\xd3\\x66\\xb2\\x21\\x66\\xa4\\x05\\xe5\\x59\\xfa\\x1c\\xe5\\x23\\x28\\x85\\x9f\\xc2\\x5f\\xfc\\x9f\\xf1\\x24\\x5c\\x9c\\xcf\\x93\\x72\\xdb\\xfa\\x6f\\x79\\x12\\x2e\\xce\\xe3\\x49\\x07\\xd0\\xcf\\xf1\\xb7\\x0c\\x46\\x02\\xcc\\x8c\\x05\\x16\\x4e\\x07\\x14\\xc0\\xa0\\x03\\x55\\x0c\\xb6\\xce\\xab\\x71\\x7b\\x6e\\x20\\x76\\x49\\x24\\x11\\x07\\x4e\\x1f\\xc7\\xdf\\xca\\x4f\\x2f\\xec\\x5a\\xf8\\xf3\\x05\\x1f\\x7f\\xac\\xac\\x4b\\xcf\\x36\\x40\\x8f\\xd3\\x1b\\x30\\xcf\\x83\\x28\\x51\\xfb\\x6a\\x7d\\x5e\\x1b\\x38\\x2a\\x91\\x88\\xe3\\x08\\xfe\\x16\\x5a\\xc0\\xc3\\xf1\\x6d\\x1f\\x7f\\xbc\\x40\\x6d\\xe3\\x71\\xfc\\x2d\\x96\\x61\\x85\\xea\\x92\\x92\\x11\\xfa\\x87\\x25\\x42\\xf4\\xec\\x3f\\x34\\x64\\xd4\\xe9\\x0c\\x64\\xa9\\x9b\\x6a\\xb3\\xe9\\x36\\x73\\x0d\\x09\\xb4\\x4d\\x15\\x36\\x68\\x97\\x34\\x1d\\x59\\xb8\\x70\\xc1\\xc2\\x85\\x2a\\x6e\\xe2\\xc9\\xcc\\x26\\xfc\\x7c\\x16\\x37\\x81\\x87\\xd4\\xd6\\xf7\\xc0\\x4d\\x3c\\x99\\xe2\\x66\\x02\\xf6\\xc1\\xe5\\xfc\\x32\\x98\\xdb\\xda\\xa4\\x8f\\x35\\xc1\\xbc\\x8a\\x6c\\x88\\x65\\x0c\\x00\\x4d\\x12\\x09\\x9b\\x14\\xf2\\x00\\x8f\\x4f\\xab\\x44\\xe4\\xe4\\x7f\\x27\\x90\\x5c\\x75\\x7f\\x11\\x8f\\x46\\x5c\\xcd\\x2b\\x6f\\xc5\\xb8\\xe3\\x86\\x6d\\xec\\x18\\xdb\\xe2\\x8e\\x8e\\x45\\xf6\\x31\\xfc\\x36\\xae\\xf3\\xae\\x55\\xe7\\xb4\\xb6\\x9e\\xb3\\xe6\\x76\\xe8\\xe3\\xaf\\xdc\\xe5\\xf8\\x28\\x89\\x61\\xc1\\xce\\xe4\\x8b\\x48\\xa7\\x33\\x5b\\x58\\xc3\\x96\\x94\\x89\\x0d\\xb0\\x8c\\x9e\\x7d\\xd2\\x82\\x6f\\xb1\\xe0\\xab\\x2d\\xf8\\x42\\x0b\\xae\\xb4\\xe0\\xd3\\x16\\xfc\\x57\\x0b\\x7e\\xc5\\x82\\xef\\xb1\\xe0\\xcb\\xe8\\x97\\x83\\x2c\\xd8\\x64\\xc1\\x27\\x2d\\xf8\\xa8\\x05\\x3f\\x66\\xc1\\x0f\\x5a\\xf0\\x56\\x0b\\x5e\\x6d\\xc1\\x8b\\x2c\\x78\\x86\\x05\\xb7\\x5b\\xf0\\x08\\x0b\\x6e\\xb0\\xe0\\xb0\\x05\\xbb\\x2c\\x98\\xb3\\xe0\\xa6\\xaf\\x2d\\xf8\\xcf\\xf4\\x81\\x67\\x2d\\xf8\\x00\\x7d\\x60\\xb3\\x05\\xaf\\xb5\\xe0\\x2b\\x2c\\xb8\\xcb\\x82\\x3b\\xb4\\x07\\xe0\\x6e\\x64\\xc1\\xcc\\x97\\x16\\xfc\\xbe\\x05\\x9f\\xa0\\x77\\x43\\xf3\\x3b\\xb4\\xb6\\x93\\x16\\x5c\\x47\\x5b\\xb5\\x59\\xb0\\x72\\xcf\\x6a\\xad\\x43\\xf8\\xb2\\x27\\x11\\x5a\\xbc\\xb8\\x73\\x49\\xfe\\x9f\\x1c\\x5a\\x95\\x7b\\x6b\\x3e\\x99\\xea\\xa9\\xc3\\xe1\\xa3\\x5a\\x94\\x0d\\xf7\\x5e\\x36\\x9f\\xf1\\x4d\\x5c\\x82\\x09\\x81\\x4c\\x66\\x42\\x1e\\x34\\x34\\x59\\xea\\xd0\\x99\\x81\\x5b\\x79\\x7d\\x06\\x71\\x7d\\xca\\x90\\x34\\x98\\x5b\\x61\\xb1\\xa4\\xf5\\x29\\xb2\\x6e\\xb5\\x6c\\x1b\\xbb\\x90\\xdd\\xc4\\xea\\x80\\xcd\\x93\\x3e\\x68\\x30\\x50\\x6e\\xb6\\xc5\\xdc\\xce\\x72\\x4b\\xe8\\x33\\x21\\xb2\\x45\\x94\\x6d\\x12\\x8f\\xb7\\x8e\\xe9\\x47\\x04\\x43\\xe5\\x0b\\xb2\\x89\\x5a\\xe3\\x0d\\xa3\\x46\\x52\\xdc\\x5a\\x29\\xcf\\x67\\xcc\\xc8\\x86\\x80\\x5b\\x25\\x0b\\x04\\x23\\x6c\\x6b\\xd1\\xe1\\xd4\\x78\\x26\\xab\\x43\\x96\\xf5\\xa9\\x30\\xaa\\xd3\\x50\\x86\\x46\\xea\\xe4\\x76\\xaf\\x44\\xb2\\xc4\\xd5\\x38\\xec\\x46\\x50\\x8b\\xba\\x16\\x5e\\x55\\x5b\\x39\\xdf\\x13\\xa2\\xf5\\xfb\\xe5\\xf9\\x97\\xcf\\x4a\\xcc\\xa9\\x8a\\x5c\\x5a\\x4e\\xeb\\xf5\\x53\\x7e\\x3d\\x1d\\xf8\\x75\\x17\\x72\\xa3\\xaa\\xa4\\xcf\\x28\\x79\\xbc\\x2e\\x3e\\x64\\xae\\x35\\x37\\x9b\\x59\\xb3\\xdd\\x98\\x11\\x3a\\xc8\\x60\\x8f\\xc6\\xdf\\x99\\x56\\x7f\\x34\\x83\\x9c\\x35\\x0c\\x39\\x2e\\x2a\\x44\\x61\\xa4\\x41\\x86\\x22\\xa9\\x0e\\xbf\\x55\\x37\\xa1\\xf5\\x9c\\x48\\x38\\x06\\x43\\x17\\x0f\\xd4\\x4d\\x18\\x7d\\x4e\\xb8\\xb2\\xce\\xd0\\x20\\x72\\xd3\\x2b\\x13\\x95\\xde\\xea\\xfa\\x7f\\xc2\\x5b\\xfd\\x88\\x7f\\x10\\x1a\\x9a\\xfe\\x0e\\xf6\\x05\\xa9\\xdb\\x08\\x34\\x14\\x6f\\x4f\\xa6\\xf5\\x3a\\x03\\x03\\x5b\\xc2\\x60\\x41\\x66\\x3d\\x43\\x05\\x1e\\x03\\x88\\x92\\xe5\\xa4\\xef\\xe5\\x16\\x3c\\xcb\\x82\\x27\\x5b\\xf0\\x48\\x0b\\xee\\x6f\\xc1\\xc5\\x16\\xec\\xb6\\x60\\x9d\\x05\\x7f\\x6b\\xc1\\x87\\x2c\\x78\\xb7\\x05\\x6f\\xb3\\xe0\\xa5\\xf4\\x9e\\x72\\x8a\\x9f\\x97\\xc2\\x0f\\x1f\\x5a\\xf0\\xef\\x29\\x42\\x2b\\xf8\\x09\\x77\\xdc\\x90\\x8f\\x9f\\xd0\\x50\\x91\\x05\\x3b\\xe8\\x03\\x5f\\xd3\\xfb\\x4f\\x6a\\xf7\\xef\\xd6\\xee\\x87\\x9b\\x27\\x6a\\xc8\\x9c\\xdb\\xeb\\x8b\\xf4\\x9e\\x5b\\x2d\\x38\\xbb\\x4b\\x3a\\x34\\x7c\\x2e\\xd6\\x76\\xc9\\x80\\x13\\x39\\xfd\\x5f\\x41\\x77\\x99\\x8d\\x6e\\x08\\x05\\xd7\\x99\\xcc\\x86\\x58\\x65\\xc1\\x0b\\x2d\\xc9\\x52\\x82\\xf7\\xb9\\x5b\\x42\\xb9\\xf3\\x19\\x0b\\xfe\\x05\\xdd\\x5e\\xb5\\xf4\\x1b\\xfd\\xf4\\x5e\\xfb\\xa2\\x33\\xcb\\xa0\\xb3\\x3b\\xa2\\xb3\\xe7\\xe6\\xe9\\xc1\\xc6\\xf3\\xee\\xd6\\x6e\\x50\\xc4\\x3d\\xc5\\x25\\x94\\x31\\xb8\\x92\\xe3\\x32\\xce\\xb8\\x04\\x7a\\x02\\x79\\xd5\\x6f\\x7f\\x56\\xfe\\x23\\x8e\\xc1\\xeb\\x9f\\x88\\xd8\\x67\\x2b\\x91\\xbf\\x56\\x5e\\x29\\x5d\\x4c\\xff\\x1d\\x1f\\x64\\xac\\x6c\\x02\\x39\\x09\\xdd\\xb6\\x0a\\x40\\x89\\x5c\\x92\\xa0\\x33\\x3b\\xed\\xb0\\x59\\xe2\\x47\\xff\\xa4\\x20\\x0f\\x31\\xad\\x00\\xfe\\x28\\x66\\x36\\xa1\\x19\\x67\\xf3\\xc4\\x31\\x56\\xeb\\xe5\\x63\\x2f\\xb9\\xfc\\x1a\\x3c\\xba\\xc4\\x6b\\xa6\\x49\\xe0\\x98\\x8b\\xc6\\x5c\\x7c\\xfd\\x8a\\xe6\\x54\\xcc\\xe5\\x91\\x68\\x92\\x37\\x85\\xfe\\xd6\\x32\\x7f\\x62\\xde\\xe3\\x37\\xc0\\x7e\\x0d\\x24\\x8d\\xb0\\x13\\xf4\\x84\\xe4\\x61\\x01\\xf9\\x6a\\x73\\x59\\x03\\xc8\\xce\\x06\\x1c\\x33\\xe0\\x46\\x03\\x66\\xde\\x93\\xff\\x81\\xc5\\x56\\xf9\\x4b\\xf9\\xcb\\x56\\x6c\\x93\\xbf\\x1c\\x8d\\x45\\x6c\\xe3\\x47\\xc8\\xff\\x20\\xd7\\x56\\xf9\\x1f\\xad\\xd8\\x8e\\xc5\\xd1\\xf2\\x97\\xb4\\xa6\\x37\\x83\\x78\\x5c\\xc6\\x5c\\x46\\x75\\x6c\\x12\\x59\\xea\\xb1\\xe8\\x45\\x97\\xde\\x15\\x28\\x00\\x2d\\xdb\\x62\\xd1\\xeb\\xad\\x48\\xf0\\x70\\xac\\xdd\\xf8\\x24\\x1e\\x04\\x28\\xca\\x12\\xdd\\x36\\x4e\\xa3\\x67\\xb4\\x59\\xcb\\xd9\\x8e\\x6e\\x8f\\x40\\x12\\x4f\\xe5\\x2b\\xb6\\xa5\\x31\\x9d\\xe4\\xc1\\x73\\x27\\x5b\\xdf\\x2f\\xe1\\x0a\\x6a\\xdf\\x1e\\x88\\x85\\x0b\\xb6\\xef\\x4e\\x9d\\xe8\\xff\\xba\\xa1\\xb4\\xce\\xcc\\x5c\\xf9\\xa7\\xb9\\x82\\xa3\\xf2\\xa2\\xcb\\x19\\x86\\xea\\xb6\\xd7\\xe2\\x35\\x54\\xb7\\x0d\\x8f\\x9c\\x3c\\xaf\\x4e\\xad\\xe3\\xe2\\x07\\x5d\\x6b\\x28\\xbf\\x0e\\x19\\x50\\xd1\\x21\\x60\\x69\\x46\\x93\\x4e\\x7f\\x04\\x57\\xed\\x87\\x8f\\x6c\\x56\\xc1\\xca\\xb0\\xa3\\x8c\\xad\\xe8\\x9d\\x99\\xf2\\x9f\\x66\\xcc\\x78\\x9e\\x99\\x9a\\x35\\xec\\x91\\xb6\\x4a\\xf1\\xdd\\xdc\\x95\\xa8\\x18\\xe8\\x8d\\x2d\\x64\\xd6\\x79\\x1d\\xc8\\x81\\x4a\\x4a\\xcd\\x21\\xb6\\xc0\\x27\\x1d\\xc1\\x83\\x1f\\x37\\xea\\x58\\xd5\\x94\\x40\\x95\\xb6\\xa6\\xec\\x29\\x90\\x8c\\x9f\\x44\\x2b\\xf0\\x42\\xca\\xbd\\xf4\\x76\\x90\\x60\\x7c\\xf7\\x65\\xb3\\x67\\x8e\\x0d\\x14\\xd6\\x8c\\xba\\x62\\x78\\x5b\\xeb\\x98\\xd9\\xe7\\xb5\\x4e\\x2a\\xf0\\x85\\x5b\\xea\\xe2\\xc3\\x26\\xb6\\x8e\\x65\\x4e\\x74\\x4c\\x2e\\xb8\\xa5\\xad\\xbc\\xab\\xba\\xbf\\xc7\\x35\\x3e\\x39\\x66\\xb2\\xf3\\xea\\xe1\\x05\\x75\\xe5\\xe5\\xf5\\x5e\\xf7\\x24\\x02\\x1f\\xc3\\xd4\\x33\\xe3\\xa9\\x8d\\x61\\x38\\xd1\\x2b\\xb9\\x80\\x29\\x50\\x50\\xe8\\x73\\xb9\\x1c\\x0e\\x8b\\x85\\xda\\xce\\x92\\x86\\x00\\xc7\\xe9\\x74\\x26\\x13\\x63\\xc8\\x18\\x1c\\xed\\x9a\\x4d\\xb4\\xe7\\x7a\\x10\\x43\\x63\\x4c\\x20\\xf6\\xc6\\x66\\xac\\xe6\\x9f\\x6e\\x24\\x8b\\x22\\x62\\x27\\x33\\x3e\\x3d\\xf6\\x27\\x77\\x8d\\x7f\\x65\\xd8\\x13\\x0f\\x0e\\x47\\xe9\\xb1\\xf3\\x57\\xc2\\xc7\\xfb\\x7e\\xc9\\x9c\\x1b\\x08\\x58\\x5f\\xfe\\x8d\\x25\\x10\\x30\\x7e\\xfd\\x0f\\xb2\\x20\\xbb\\x1e\\x20\\xcb\\x71\\x4c\\xfe\\x9f\\xff\\x2f\\xe9\\xbc\\x00\\xcb\\x36\\x40\\xdc\\x15\\xfc\\x23\\x40\\x4f\\x0b\\x0f\\x83\\x0a\\xca\\xeb\\x04\\x96\\x39\\x82\\x99\\xc7\\x53\\x20\\xa0\\xd4\\xd6\\x66\\xcb\\xc2\\x45\\xec\\x91\\x44\\xc4\\x8e\\xff\\x47\\x7e\\x14\\xff\\x99\\xf7\\x6f\\xf9\\xe1\\xbc\\x9c\\x67\\x05\\x54\\x9a\\x04\\xb1\\x0f\\xb1\\x82\\xa0\\x37\\xd0\\xc7\\x0f\\xa4\\x40\\x1c\\x25\\x0d\\x34\\xd5\\xe6\\x66\\x24\\x52\\x1a\\x89\\x2b\\xcd\\x4c\\xda\\xc2\\xbe\\xba\\x05\\x8f\\x87\\x96\\xd0\\xff\\x42\\x5b\\xcc\\xd6\\x2d\\xcc\\x0d\\xff\\x4b\\x6d\\xe1\\xf1\\x00\\x5a\\x8f\\xb6\\x78\\xa0\\x4d\\xa0\\x8d\\x92\\x09\\xe2\\x10\\x86\\xa6\\xf6\\xa5\\xa0\\x1d\\xc2\\x49\\x33\\x53\\x14\\xa7\\x6d\\x6c\\x83\\x06\\xb6\\xf0\\x7e\\xfa\\x38\\xa9\\xcd\\x0b\\xcf\\x8f\\x66\\x17\\xc1\\xf3\\xde\\xa4\\x81\\x23\\x82\\x2d\\x4c\\x30\\x3c\\x79\\x2c\\x9e\\x7d\\x0e\\x9e\\x8a\\x48\\x17\\xcd\\xc1\\xd7\\xb2\\x8b\\xce\\x7c\\x3f\\x27\\xff\\x39\\x2a\\xcb\\x82\\x3a\\x0c\\xa2\\xb0\\xde\\x00\\xdd\\x73\\x8c\\x22\\x7f\\xe6\\x40\\xef\\xb4\\x47\\x69\\x0b\\xaf\\xcc\\x81\\x26\\xf0\\x1a\\x79\\x25\\xbb\\x48\\xbe\\x66\\x0e\\xb4\\x61\\x97\\x5b\\x98\\xbb\\x40\\x4f\\xd1\\xd3\\xbe\\x05\\xc1\\x60\\x84\\x66\\x88\\xc8\\x79\\x2c\\x23\\x74\\x7a\\x34\\x65\\x76\\xb4\\xa6\\xcc\\xde\\x94\\xab\\xcb\\x32\\xa0\\x9b\\x9a\\x98\\x4d\\x20\\x23\\x82\\x70\\x4f\\xac\\x15\\x20\\x0d\\x73\\xa4\\x2e\\x00\\xc8\\xd6\\x20\\xe7\\xc7\\x5f\\xcd\\xb5\\x56\\x10\\x01\\x96\\x57\\x84\\xd8\\xee\\xf5\\xa0\\xe0\\xbd\\x37\\x7f\\xfe\\x49\\xaa\\xe3\\x4d\\x66\\x47\\xb0\\x95\\xd4\\x4e\\xf6\\x19\\x1d\\xdb\\x16\\x79\\x13\\xe3\\x4f\\xaf\\x05\\xb8\\x0a\\x92\\x26\\x5e\\x80\\x36\\x0d\\x46\\x1e\\xeb\\xb8\\x1c\\xf3\\x07\\x89\\x17\\xc6\\x44\\x7d\\x21\\xb5\\xea\\xf0\\x8e\\xdb\\x57\\xc4\\xee\\xbd\\x2f\\x26\\x6f\\x3a\\x15\\xb8\\xed\\xb6\\x40\\xef\\x36\\xb0\\x5e\\x4f\\xda\\x60\\x11\\xd6\\xf5\\x6c\\x23\\x26\\x50\\x0d\\x4a\\xc2\\x5f\\xdd\\x77\\x6f\\x6c\\xc5\\xed\\x2b\\xe4\\x4d\\xd0\\xc2\\xa9\\x53\\x94\\x86\\xfd\\x11\\xd4\\xc6\\x13\\xe9\\xdf\\x41\\x1b\\xa0\\xbf\\xe8\\x81\\x1a\\x60\\x6c\\x30\\x22\\x00\\xe3\\xd5\\xbc\\x63\\xb2\\x09\\x62\\x7d\\x85\\x16\\x0e\\x9e\\x22\\xdd\\xcb\\x2d\\x2b\\x14\\x68\\x94\\x75\\xca\\x6b\\x03\\x10\\x8d\\x23\\x6d\\x10\\x30\\x72\\xdb\\x70\\x12\\xf2\\x01\\x63\\x91\\xbe\\x25\\xf0\\x9f\\x92\\x5b\\x62\\x14\\x18\\x32\\xbf\\x37\\xc3\\x1a\\x85\\xd3\\x7f\\xa4\\x32\\x24\\xac\\xb4\\x99\\x1c\\x9e\\xd5\\x79\\x7d\\x12\\xbb\\x5a\\x34\\xc0\\x58\\xfc\\x79\\x33\\xcc\\x9f\\x4d\\x4a\\x0c\\xf7\\x92\\x12\\xbf\\xec\\x25\\x24\\x82\\xde\\x8a\\x5e\\x64\\x6c\\xf8\\x5f\\x80\\x8b\\xfe\\xa4\\x99\\x67\\x18\\x9d\\x40\\x75\\x0a\\xb2\\xd3\\x8f\\x4d\\xcb\\xa4\\x2f\\xcb\\x51\\x5f\\x5f\\xd4\\xb4\\x57\\x26\\xfd\\x2c\\x3c\\xfb\\x3f\\xf4\\x59\\x13\\x2a\\x4e\\xda\\x4d\\x7a\\x3d\\x0f\\x2d\\x98\\xf5\\x4a\\x0b\\x3a\\x8a\\x55\\xa0\\x82\\xe0\\x8c\\x36\\xa4\\xb4\\x13\\x51\\x5a\\x2b\\x22\\xad\\xe1\\x54\\x4e\\x9b\\x39\\x7a\\x71\\xfa\\x3b\\x68\\xfb\\x71\\xb5\\xed\\xa2\\xa4\\xcd\\xa0\\xd3\\x01\\x48\\x7d\\x36\\x4d\\x83\\x0b\\x62\\x7d\\x4b\\x16\\x2f\\xf6\\x10\\x2c\\x48\\xce\\x88\\x95\\xcc\\xdd\\xe9\\x35\\x20\\xa3\\x36\\x24\\x0b\\x24\\xa3\\xd1\\xe3\\x45\\xf6\\x8d\\x29\\x23\\x02\\x31\\x39\\x8c\\x58\\xd0\\xe4\\x92\\x2e\\xb3\\x99\\xdf\\x98\\x32\\xd3\\x8d\\x6c\\x3b\\xea\\x7f\\x07\\xa4\\xe2\\xa3\\x59\\x05\\xe0\\xbf\\x91\\x55\\xe5\\x95\\xbd\\x64\\x55\\x74\\x00\\xaf\\xc5\\x1b\\xe8\\x19\\x01\\x0f\\xaa\\x80\\xbe\\xd4\\xb5\\x35\\xb0\\x5b\\x52\\x06\\x31\\x29\\x4a\\x5b\\x40\\x8b\\xab\\xa5\\xfa\\xdb\\xab\\x79\\x79\\xdb\\x72\\x56\\xd9\\x9e\\xab\\x84\\x6c\\xd0\\x94\\x90\\x5e\\xca\\xc8\\x99\\x3f\\x67\\xf2\\xd8\\x11\\x1d\\x96\\x3d\\x8d\\xbf\\xe5\\x87\\x28\\x34\\x87\\xc5\\x94\\xe6\\x60\\x9e\\xea\\xc0\\x1a\\xcd\\x71\\x46\\x24\\xd0\\x56\\x0f\\xe0\\xe1\\x27\\x17\\xf0\\x43\\x16\\x9c\\x44\\x3d\\x9e\\x03\\x5c\\x26\\xf6\\x4d\\x16\\x1e\\x24\\x0a\\xb8\\xb6\\xa3\\x14\\x2d\\x57\\xd1\\x9b\\x17\\x9c\\xc4\\xc3\\xd9\\xd3\\x27\\x17\\x90\\xe7\\x60\\x0f\\x7c\\x9b\\x5e\\xa7\\xf6\\xc7\\x90\\xfe\\x98\\xdc\\xc7\\x08\\x9d\\x21\\xf1\\x31\\x91\\x03\\x0b\\x4e\\xca\\x4f\\x2f\\xef\\xf1\\x0c\\xd9\\x37\\xc4\\xd2\\x03\\x0f\\xe5\\x02\\xa9\\x9a\\x99\\x41\\x9b\\x26\\x7a\\xfe\\xc9\\x05\\x72\\x0b\\x80\\x89\\x51\\xa9\\xdc\\xc2\\xea\\xd3\\x87\\x15\\x6a\\x04\\x34\\x8d\\x25\\xd4\\xa8\\x2f\\xdb\\xa9\\xd3\\x0e\\x1d\\x26\\xe2\\xf6\\xd2\\xb5\\xf8\\xd4\\x5a\\xe8\\x6c\\xc9\\x37\\xdf\\xc8\\x1b\\x55\\x5f\\xa9\\x3c\\x8a\\xe8\\x26\\x0a\\xbc\\xbc\\x42\\x93\\x89\\x99\\x28\\x07\\x5e\\x27\\xa5\\xa8\\xa5\\x6b\\x99\\xe9\\xf2\\x28\\xfc\\x4b\\xf9\\xe8\\x4a\\xe5\\x9c\\xf1\\x6c\\x66\\x5b\\xfa\\x65\\x90\\x9f\\xca\\x80\\x6f\\x63\\xcc\\x0a\\xd0\\x39\\xcb\\x1a\\x4d\\x48\\x80\\x01\\x03\\xe8\\xb9\\x74\\x59\\x75\\x53\\x80\\x20\\x97\\x68\\xf4\\x08\\x11\\x69\\x7b\\x2c\\xbc\\x69\\x53\\x38\\x86\\x7f\\x90\\x3f\\x99\\xe7\\xbc\\x37\\x76\\xaf\\xf3\\xb2\\x2e\\x68\\xb3\\xfb\\x6f\\xfc\\x97\\xe9\\x1b\\x84\\x08\\xc0\\x62\\x3f\\x48\\x6c\\x49\\x74\\x33\\x52\\x5c\\x07\\x11\\x9a\\x6e\\x9e\\x7d\\x64\\xd7\\xf0\\x5f\\x66\\x36\\x0c\\x96\\x5b\\xe1\\x99\\x0f\\xd4\\x67\\x08\\xf4\\xb9\\xcf\\x60\\xba\\x2d\\xe4\\xd6\\xa3\\x6f\\xc8\\xf7\\xf1\\x5f\\x6a\\x9b\\x01\\xcb\\x4f\\x71\\x9d\\x78\\x04\\xb5\\xaf\\x8a\\xfb\\x61\\xb4\\xba\\x23\\x78\\x1c\\x29\\x98\\x59\\xaf\\x3c\\x41\\x4d\\xb3\\xf2\\x53\\x7d\\xd9\\x66\\x81\\x7e\\xab\\xba\\x9e\\x4d\\xc7\\xdc\\x47\\xfb\\x7f\\x91\\xbb\\x12\\x0f\\xa4\\xf6\\x4a\\x77\\xd2\\xa2\\xd9\\x2a\\x33\\xfa\\x5e\\x25\\x69\\x32\\x22\\xc9\\x2f\\x2a\\x36\\x3e\\x18\\xa3\\xcc\\x3f\\x02\\xc4\\xc6\\x0b\\xf7\\x9b\\x0e\\x90\\xdb\\x09\\xe3\\x54\\x6e\\xea\\x96\\x39\\x8e\\x7f\\x64\\x3e\\xad\\x49\\x83\\xe5\\x0f\\x00\\xc6\\x10\\xb5\\x79\\x44\\x92\\xa2\\x51\\xe4\\x42\\x1c\\x63\\x20\\xec\\x46\\xd8\\x94\\x42\\x14\\x5e\\xba\\x4b\\x89\\xa9\\xa3\\x5f\\x9d\\x3d\\xcf\\xca\\x71\\x56\\x1b\\x47\\x7a\\x2b\\x77\\x39\\x9a\\xaf\\x9c\\xd3\\x49\\x52\\xf3\\x86\\xa2\\x8e\\xb3\\xaa\\x22\\x4e\\xdc\\xdd\\xd9\\x1d\\x36\\xbf\\xb7\\x96\\x0f\\xfb\\x58\\xfe\\x0b\\xd7\\x82\\x25\\xde\\x4a\\xf7\\x71\\x61\\xd2\\x26\\x19\\x58\\xc3\\x6d\\x29\\x31\\xaf\\x21\\x1a\\x3d\\x93\\xbf\\x75\\x73\\x89\\x35\\x96\\x06\\x54\\x54\\x0c\\x1c\\x58\\x51\\x31\\x40\\xde\\x3e\\xa0\\xa2\\x7c\\xf0\\xd0\\x58\\xc5\\x00\\x6e\\x4f\\xc5\\x20\\x78\\x27\\xdf\\x0e\\x1a\\x5c\\x0e\\xef\\x74\\x0e\\x3c\\xfc\\x6f\\xd2\\x2f\\x0b\\x95\\x20\\x4c\\x97\\x26\\x6d\\xa2\\xd5\\x8a\\x90\\x91\\x54\\xb0\\xe1\\xa1\\x23\\x8b\\x48\\x39\\xae\\xed\\xc5\\x1c\\x45\\x0b\\x90\\x84\\x9e\\x99\\x27\\xb9\\xb3\\x69\\x70\\x75\\x34\\x31\\x14\\xbf\\x17\\xaf\\x68\\x1d\\x19\\xba\\x60\\xee\\xdf\\x26\\x5c\\xb8\\xa8\\xa5\\x4e\\x77\\x5d\\xa8\\xc8\\x7b\\x71\\xf0\\xf6\\x41\\xe7\\x99\\xea\\xaf\\x62\\x83\\x40\\x6f\\x13\\x5c\\x02\\xbd\\xa2\\xda\\x2d\\x3c\\x49\\xb3\\x68\\x90\\xf2\\xc7\\xf2\\x6a\\x7d\\xfe\\xb4\\xe4\\xb2\\x9a\\x57\\xfe\\x23\\x7b\\x04\\x23\\x3f\\x00\\x6b\\x39\\x4d\\xd1\\xd3\\x01\\xe3\\x88\\x05\\x82\\xae\\x60\\xbd\\x86\\x71\\x1a\\x01\\x97\\x1f\\xf8\\x51\\xdd\\x30\\x0f\\x6f\\x19\\xe0\\xef\\x39\\x78\\xab\\x89\\x2e\\xf2\\xd7\\x7d\\x1a\\xe2\\x71\\xfa\\x37\\x5c\\x1b\\x6a\\xa4\\x76\\x78\\x29\\x69\\x02\\x86\\x8a\\x43\\x20\\xbc\\xb3\\x7a\\x4c\\x06\\xe9\\x3f\\x46\\xd8\\xb2\\x3d\\xde\\x98\\x31\\xc4\\x33\\xe9\\xc9\\x70\\xff\\x1e\\x7a\\x3f\\xe8\\x84\\x49\\x8b\\x8e\\x5d\\xcd\\xe7\\x3d\\x13\\xf7\\x93\\x7e\\x59\\x78\\x8a\\x3c\\x39\\x78\\xc1\\x82\\x4f\\x94\\x87\\xe5\\xa7\\x49\\x03\\x8c\\x7c\\x08\\x60\\x5d\\xa4\\x8e\\xd9\\x7e\\x40\\xcf\\xae\\xd6\\x06\\x4d\\x9f\\x33\\xe4\\x32\\xc4\\x26\\xf9\\x8f\\xcf\\x6e\\x97\\xe7\\xca\\x7f\\x7a\\x76\\x3b\\x3c\\x94\\xc7\\x11\\x19\\x65\\x1f\\xe8\\x5c\\xb0\\x0f\\x7c\\x84\\x3a\\xda\\x85\\x5a\\x0f\\xf6\\x80\\x70\\x91\\x99\\xc2\\xa3\\xd3\\xec\\x4d\\x3d\\xb7\\x40\\xee\\x39\\x91\\xbc\\xed\\xe0\\xc9\\x20\\x75\\x66\\x5f\\xe0\\xd6\\x2c\\x7a\\xe7\\xed\\x3b\\x77\\xd2\\x20\\x28\\x96\\x45\\x13\\xa7\\xcc\\xf4\\x51\\xba\\xd9\\xea\\xdd\\x9e\\xa8\\x52\\x7e\\x20\\x3a\\x14\\xaf\\xdd\\xc6\\x6b\\xad\\x33\\xdb\\xf8\\x65\\x5b\\xd7\\x92\\x46\\xaf\\x55\\xce\\xb2\\xa7\\x37\\x73\\x33\\xd0\\x22\\xfe\\x38\\xb0\\x58\\xd3\\x3e\\xd6\\x4a\\xdb\\x78\\x95\\x20\\x69\\xff\\x46\\x09\\x30\\x28\\xc8\\x28\\xd9\\xce\\x17\\x75\\x5d\\x73\\x55\\x51\\x45\\x51\\x63\\x65\\x7c\\x18\\xf7\\xe9\\x94\\xcb\\x4a\\x9a\\x8b\\x13\\x1e\\xb7\\x14\\x29\\x2a\\xad\\x3a\\xb7\\x47\\x1b\\x56\\x56\\x6b\\x03\\x30\\x52\\x48\\x90\\x7c\\x63\\x4a\\x30\\x9d\\x3b\\xa7\\x0d\\xbe\\xf5\\x47\\xdb\\xc8\\x83\\x83\\x7a\\x2a\\xad\\x00\\x87\\x47\\xaa\\xc1\\x8b\\x86\\xd7\\x57\\x36\\x42\\x23\\x57\\x5d\\x7d\\x09\\xdf\\x3a\\x68\\x5c\\x55\\x69\\x51\\x44\\x72\\x7b\\x12\\xc5\\xcd\\x25\\x97\\x91\\x73\\xf9\\xd0\\xc6\\xfb\\xff\\x16\\x8e\\xf7\\x7f\\x14\\x8e\\x06\\x79\\x24\\x3a\\x46\\x7d\\x05\\xc6\\xc7\\xd1\\x6a\\xd8\\x5f\\x14\\xf1\\x28\\x12\\x6c\\xcb\\xf7\\x10\\x9c\\xe5\\x5e\\xc5\\x8e\\xf2\\x2a\\xa1\\xe7\\xf2\\xc8\\x0c\\x3d\\x4f\\x4f\\x94\\x5b\\xd0\\x43\\xc0\\x3f\\x05\\x64\\x3d\\xc0\\x72\\x1c\\x16\\x14\\xb5\\x80\\xca\\x9a\\xd4\\x06\\xfd\\xd0\\x82\\x8f\\x3f\\x06\\xa6\\xb9\\xb0\\x6b\\x21\\xea\\x79\\x3f\\x06\\x01\\x8b\\xcf\\xde\\x2f\\x01\\x32\\x4b\\xf1\\x87\\x3e\\x5e\\xb0\\xe0\\x63\\xf9\\xc0\\x42\\x3c\\x7c\\x21\\xc1\\x89\\x4d\\xdc\\xf3\\x78\\xb1\\xee\\x1a\\x0a\\x0b\\xc3\\x11\\x06\\x43\\x88\\x02\\xd5\\x93\\xfe\\xd6\\xbd\\x8b\\xf9\\x10\\x7e\\x1e\\xbc\\x52\\x1e\\x45\\xdb\\xfe\\x92\\x3d\\x80\\x87\\xf1\\x87\\x61\\x9e\\xf4\\xfb\\x8c\\x36\\xe0\\x83\\x00\\x35\\x4d\\xe5\\xa0\\xa2\\x23\\x21\\x4c\\xb6\\x13\\xc1\\x92\\x11\\x23\\x12\\x43\\x26\\xee\\xfa\\x05\\x87\\x47\\xa4\\x5c\\x61\\x67\\x34\\xd9\\xbf\\xe9\\xfc\\xb1\\x4b\\x0f\\xd1\\xb3\\x48\\xe9\\x7b\\x00\\xbe\\x59\\x20\\x07\\x5b\\xa0\\x0d\\xea\\x8e\\xe8\\x57\\x27\\xe4\\x79\\x0e\\x24\\xcd\\x71\\xf0\\x65\\xae\\xdf\\x20\\xdd\\x09\\xcf\\xed\\x4c\\xdf\\x49\\xc7\\x05\\x3a\\x92\\x2a\\x41\\x50\\x09\\x47\\xb1\\xc4\\xef\\xa4\\x4e\\x02\\x90\\x1e\\x88\\x97\\x20\\xff\\x7e\\xcc\\xf3\\xb0\\xa9\\xa8\\x7b\\x81\\x94\\xd1\\x55\\x3c\\x02\\x3b\\xa9\\x43\\xe0\\x4d\\xd5\\x1f\\xa0\\xde\\xbf\\x05\\x76\\xb4\\xeb\\xb0\\xe2\\x01\\x60\\x0d\\x19\\x0f\\x80\\x32\\x7b\\x9a\\xcd\\x7f\\xa7\\x62\\xf2\\x87\\x39\\xa4\\x26\\x7f\\xe0\\x93\\xf2\\x57\\x78\\x20\\xf5\\x45\\xe9\\xf7\\x51\\x37\\x54\\x96\\x33\\x52\\x0f\\x14\\x99\\xe7\\xcf\\xe5\\x71\\x68\\x37\\xda\\x8a\\x44\\x64\\x3b\\xa8\\xd3\\x19\\x8d\\xac\\x48\\x06\\x00\\x0a\\x3f\\x40\\x94\\x1f\\x49\\x1d\\xdf\\x9d\\x2d\\xc3\\xbe\\x3b\\x53\\x84\\xfd\\xef\\x04\\x4f\\xe5\\x71\\xf8\\x09\\xb5\\x0d\\x22\\x97\\x9b\\x71\\xa6\\x0d\\x80\\x2b\\x2f\\x5f\\xcd\\x6e\\x25\\xba\\x6c\\xd2\\xd0\\x5b\\xef\\xd8\\xfa\\xf7\\x6c\\x51\\x18\\x9c\\xbe\\x4d\\x7e\\x14\\xcd\\x4b\\xdf\\x40\\x28\\xd7\\x41\\xe2\\x0a\\xa0\\xa3\\x54\\x65\\x0a\\x4f\\x0e\\x69\\x99\\xa7\\x51\\x93\\x4f\\x33\\x76\\x70\\xf9\\xaf\\xf2\\x43\\xd8\\x9d\\x5e\\x40\\xf9\\x89\\x79\\xbf\\xc8\\x4a\\x06\\x2a\\x8c\\xe5\\xeb\\x2b\\x79\\xec\\xd0\\xdd\\x9b\\x1d\\x7e\\xdb\\x93\\x1b\\x02\\x9f\\x82\\xb9\\x7f\\x45\\xd5\\x8d\\xcc\\xfb\\x25\\x96\\x6a\\x44\\x84\\x39\\x79\\xfe\\x63\\xe6\\xd4\\x5b\\x0d\\x82\\xb1\\xde\\x20\\x73\\x68\\x79\\xfa\\xa7\\x14\\x5f\\x59\\x2b\\xc5\\x57\\x4f\\x8f\\x4d\\xbd\\xfc\\x27\\x8b\\xd7\\x47\\xca\\x23\\xfd\\x2b\\xea\\x93\\xa7\\x16\\x6c\\x0d\\x0f\\xa9\\xba\\xc0\\xed\\xf1\\x14\\x15\\x55\\x56\\x8f\\x82\\xe7\\x93\\xb0\\x66\\xcf\\x01\\x87\\x76\\x91\\x35\\x33\\x18\\x58\\x87\\x5d\\x65\\xcc\\x99\\x35\\xcb\\x94\\x7c\\x68\\x8c\\x0b\\x41\\xfc\\xdc\\x2d\\xf3\\xc6\\x0d\\x75\\x8f\\x73\\x0f\\xee\\xdf\\xde\\x5a\\x3e\\xd9\\x71\\xe1\\xec\\xbf\\x4c\\x5d\\xe0\\x1e\\x23\\x18\\x06\\x55\\xf7\\x1b\\xaa\\xbb\\x6b\\xa2\\x61\\x0a\\xb4\\xd9\\x24\\xcf\\x47\\x2f\\x53\\xfb\\xbd\\xf5\\x80\\x68\\xb1\\x20\\x82\\x97\\xb4\\x45\\x67\\x2f\\xd3\\x7c\\xf8\\xc7\\x2c\\xf3\\x94\\xef\\xc1\\xbc\\x35\\x52\\x9f\\xa9\\x7e\\x1f\\x75\\x97\\x66\\x58\\x5d\\xc6\\x4f\\x2a\\x6f\\x02\\xc2\\xb3\\x38\\x7d\\x04\\xfa\\x31\\xef\\xe7\\x10\\xa3\\x53\\x57\\x8c\\xe8\\xf0\\x24\\x7e\\xf4\\x6f\\x32\\xc8\\xbe\\x1f\\xca\\x23\\xbf\\xf9\\x06\\x2f\\x01\\xb1\\x19\\xcb\\xb7\\xca\\x87\\xf1\\x82\\xf4\\x4f\\x90\\x17\\x95\\x1e\\x32\\x4a\\x20\\xf8\\x3a\\xac\\x24\\x4f\\xb5\\xc9\\x20\\xb6\\x5a\\x6d\\x54\\x54\\x03\\xbd\\x79\\x5a\\xfc\\x68\\x25\\x09\\x3f\\x3b\\x0a\\x2d\\x09\\x30\\x01\\x71\\x25\\xa9\\x4b\\x9c\\x4e\\x0a\\x5d\\x32\\xf8\\xe6\\x01\\xd8\\xbf\\xa3\\x1a\\xa8\\x23\\x71\\xd6\\x90\\x21\\xb3\\x60\\xb1\\x46\\x7d\\x3f\\xba\\xbe\\xdf\\x18\\xe2\\x64\\x9c\\x30\\x61\\x59\\x47\\xbf\\x31\\x94\\xef\\x03\\xa8\\x23\\xa8\\xed\\xc2\\xbc\\x3f\\x63\\xb5\\xe8\\x57\\x67\\xc1\\xbd\\x98\\x7e\\xae\\xc1\\x22\\xff\\x39\\x2a\\xd7\\xd7\\x9e\\x4d\\xc8\\x95\\x5b\\xb2\\x42\\x2e\\xf0\\x40\\x79\\x2a\\x0e\\xa5\\xaf\\x00\\xfa\\xe3\\x04\\x1e\\x48\\x54\\x44\\x06\\x11\\x57\\xa6\\xca\\x00\\xcf\\x2e\\x6d\\xca\\x53\\x33\\xd2\\xa6\\xd2\\xce\\x48\\x68\\x67\\x3a\\xb4\\x63\\x3d\\x60\\xe2\\x56\\x0b\\x04\\x70\\x3f\\xc1\\x59\\xe9\\xec\\x3c\\x74\\x57\\x86\\x85\\x12\\xf8\\xaf\\x05\\xf8\\xd7\\x82\\xce\\x0a\\x12\\x88\\x5d\\xd3\\x55\\x91\\x8b\\x37\\x13\\x58\\xde\\x99\\x76\\x94\\xc6\\x3e\\xf5\\xa1\\x98\\x5e\\x77\\x16\\xbd\\xf4\\xda\\x9e\\x7a\\x29\\xd0\\xa5\\xb4\\x1d\\xe8\\xd2\\xb5\\xd0\\xac\\xf9\\x80\\x40\\x6c\\xa5\\xd0\\xf4\\x34\\xd8\\xad\\x2a\\x6d\\xfa\\x42\\x95\\xc7\\xbb\\xe5\\xb4\\x9d\\x61\\xfa\\xbe\\x8f\\x08\\xee\\xea\\x7d\\x4c\\xb7\\x2c\\xb7\\xa8\\xf7\\x09\\x48\\xda\\x87\\x49\\x02\\xf3\\x83\\x16\\x5b\\x2b\\xe2\\x08\\x56\\xbd\\x5a\\x59\\xaf\\x90\\xbd\\x12\\xf5\\xb1\\xd3\\x67\\x38\\x4e\\x6e\\x99\\x3f\\xff\\x55\\xa2\\x1b\\xc8\\x4f\\x31\\x95\\x78\\x04\\xdb\\x4f\\x19\\xaf\\x8b\\x17\\xcd\\xc4\\x8b\\x44\\x7c\\x48\\x30\\x71\\x8a\\xe7\\xe8\\xbf\\x1b\\x2f\\x53\\xd9\\xc7\\x78\\x99\\x2b\\xf0\\x40\\xe6\\x03\\x65\\x3f\\x90\\x05\\xc9\\xd2\\x61\\xe6\\x0a\\x85\\x0e\\x77\\xcb\\xf0\\x99\\xe9\\x7d\\x0f\\x01\\x58\\xbb\\x47\\x0e\\xa7\\x3f\\xc7\\xef\\xb3\\x7b\\xe9\\x3d\\xd4\\x86\\x07\\x73\\x11\\xc3\\x1e\\x79\\xfe\\xb9\\xec\\xe5\\xe7\\xba\\xc8\\x8b\\xb2\\xb7\\x8e\\xc3\\x7d\\xe7\\xf2\\x1b\\xe8\\x7d\\x34\\xf4\\x03\\x76\\x43\\x14\\xc7\\x8f\\x75\\x31\\x05\\x17\\xb9\\xf8\\x9d\\xbd\\xf8\\x1d\\x75\\x99\\x03\\xed\\xc8\\xf3\\xba\\xbb\\x35\\xa7\\xfb\\x97\\xb9\\x3e\\x77\\x79\\x7d\\xce\\xbe\\xcd\\xa8\\xbd\\x24\\xa8\\x5a\\xd1\\x76\\xe5\\xf5\\x6b\\xf1\\x3b\\x6b\\xe1\\x1e\\x45\\xdd\\x65\\xd2\\xe7\\x41\\x3f\\x8f\\x50\\x5a\\x40\\x9e\\xd0\\x51\\x75\\x9e\\xd2\\x50\\x21\\x62\\x8f\\x34\\x46\\xa5\\xf8\\x23\\x78\\xb2\\xbc\\xe7\\xb3\\x15\\x2b\\x96\\xcb\\x4f\\xbf\\xbb\\x42\\x81\\xff\\x0e\\xf9\\x5e\\x3c\\x07\\xf6\\xba\\x1f\\xb4\\x03\\x03\\xb2\\xb1\\x66\\xb3\\xa4\\xf7\\x38\\xe9\\x73\\xc0\\x0f\\x68\\x77\\x14\\x91\\x0b\\x71\\x54\\x29\\xde\\x43\\x93\\xcb\\xd7\\xd3\\x73\\x2e\\x20\\xa9\\x5a\\x9a\\xcb\\x12\\x23\\xdb\\x47\\x26\\xca\\x87\\x5a\\x26\\x5a\\x17\\x8c\\x99\\x3d\\x78\\xf0\\xec\\xd6\\xf9\\x76\\xf9\\xc3\\xe2\\xaa\\xd6\\xb8\\xdf\\x5f\\x37\\xb6\\xaa\\x78\\xc4\\xd4\\x09\\x13\\x52\\x8a\\xec\\x10\\xe5\\x82\\xe8\\x1d\\xfe\\x2d\\xa0\\xf1\\xe6\\xfd\\x06\\x81\\xc5\\x1a\\x1d\\x12\\x62\\x42\\xac\\x31\\xd6\\xe8\\x01\\xdd\\xf9\\x9d\\x51\\xdb\\xb6\\x69\\xff\\xb8\\x4b\\xc8\\xdb\\xed\\xca\\x05\\x79\\xfe\\x76\\xae\\x00\\xcd\\xd6\\x85\\x91\\x04\\xb4\\xd8\\xc2\\x98\\x8c\\xf0\\x81\\xc0\\x49\\x7c\\x8d\\x6c\\x86\\x9e\\x67\\x45\\xcf\\xcb\\x2e\\x0d\\x97\\x86\\x2f\\x51\\x5f\\xb9\\x15\\xba\\xb8\\xa7\\xba\\x7e\\x60\\x74\\x64\\xc7\\xf4\\xcc\\x27\\x82\\xcf\\x54\\x5f\\xfd\\xb3\\x3a\\x67\\x9c\\x8e\\xe2\\xc3\\xab\\x7d\\xa0\\x31\\x51\\x5d\\x09\\x1a\\xc3\\x9c\\xcd\\xe6\\x3a\\x11\\xa2\\xb2\\xbf\\xe5\\x71\\x76\\xb5\\x22\\xa9\\x53\\xf1\\x8d\\x8a\\x7a\\x8d\\x44\\xd4\\xd3\\x04\\x7d\\x6a\\x83\\x40\\x70\\x75\\x57\\x1f\\xf7\\xdb\\xa9\\xb8\\x47\\xa4\\x3d\\x4d\\x1b\\xd2\\xf4\\xa0\\xe9\\xa0\\x07\\x11\\x7f\\xab\\xf3\\x20\\x10\\x03\\xd8\\x1f\\xf4\\x11\\xd8\\x22\\xff\\xed\\x0e\\xe9\\xe9\\x55\\x25\\xb2\\x72\\x1c\\x64\\xe5\\x5d\\x40\\x6a\\x9c\\x49\\xa3\\x35\\x4f\\x17\\xfc\\x37\\x72\\x77\\xa0\\x87\\xbc\\xcb\\xca\\xef\\xc1\\xb8\\x8a\\xf8\\x5f\\x13\\xdb\\x04\\x2a\\x44\\xa1\\x24\\x89\\xb4\\x64\\x57\\x4b\\x86\\x3c\\x13\\x41\\x3d\\x68\\x44\\x54\\xf8\\xa4\\xc2\\x2d\\x5b\\x72\\x16\\x31\\x61\\x6c\\xbf\\x27\\x0f\\xe2\\xfe\\xf5\\xa5\\x25\\x89\\x44\\x49\\x69\\xbd\\xbc\\x28\\x5e\\x52\\x9a\\x48\\x94\\x96\\xc4\\xc9\\xcc\\x0c\\x2f\\x91\\x7f\\x3d\\x8d\\x5c\\x96\\x36\\x34\\x94\\xaa\\xef\\x04\\x1f\\x7e\\x02\\xf8\\xbe\\x3a\\x7d\\x2b\\xa5\\xbf\\x46\\xbd\\x1e\\x11\\x39\\x97\\xf2\\x51\\xb6\\x48\\x49\\x4d\\xac\\x14\\x96\\xb2\\xf5\\x1f\\x70\\x45\\x69\\xb0\\xa2\\x20\\xdc\\x2c\\xb7\\x8c\\x3e\\xe7\\xb9\\xa7\\x93\\xde\\x7a\\x4f\\x50\\x91\\x7b\\x8f\\x83\\xdc\\x3b\\x8c\\xae\\x3c\\xa3\\xe3\\x34\\xbe\\x93\\xcf\\x17\\xb9\\xe3\\x2a\\x5f\\xcc\\xa7\\x7d\\xc0\\xa9\\x54\\x9a\\xf7\\x23\\x24\\x8f\\xe8\\x99\\x00\\xe3\\x9e\\xcc\\x9e\\xe4\\x89\\xd1\\x47\\xc1\\xfa\\x7c\\xd5\\x92\\x30\\x6b\\x45\\xb5\\xcc\\xc8\\xa1\\xeb\\xa8\\x3c\\x4e\\x8d\\x79\\xc7\\x34\\x59\\x3f\\xb2\\x93\\x98\\xe2\\xe4\\x96\\x77\\xbb\\x14\\x3c\\x01\\xf1\\x9a\\x5f\\x0f\\x7b\\x37\\x91\\x0c\\xbb\\xc5\\x8d\\x29\\x9d\\xe8\\x0e\\xb9\\x6b\\xdd\\xac\\x81\\x75\\xeb\\x93\\x2e\\xbd\\x9e\\xd9\\x98\\x12\\xf5\\x21\\x7d\\xad\\x9e\\x85\\xd9\\xa1\\xf1\\x0e\\x4a\\xed\\x08\\x62\\x56\\x21\\xe6\\x10\\xa5\\x3a\\x04\\x61\\xd8\\xb0\\x01\\x4b\\x33\\x48\\x05\\x1b\\x71\\xdc\\xe0\\x62\\x8a\\x40\\x07\\x06\\x0c\\x1f\\x38\\xa5\\x79\\x70\\xb1\\x8a\\x59\\xe4\\x8a\\xfb\\x9f\\x72\\x40\\xa5\\xb2\\x39\\xfd\\x96\\x94\\x13\\xcc\\x2a\\x9b\\x53\\x87\\x00\\x17\\x9e\\xe2\\xac\\x78\\x84\\xee\\x0e\\x9a\\x21\\xa5\\x06\\x8d\\x4d\\x56\\x85\\xfd\\x9b\\x53\\x61\\x54\\x5a\\xb5\\x39\\x55\\x6a\\x96\\xa8\\xe9\\x55\\xa5\\xf7\\x06\\xd6\\x8c\\x92\\xd4\\x38\\x9b\\x8f\\x27\\x99\\xe0\\x16\\x2d\\x5d\\x02\\x29\\x9a\\x5c\\x79\\x16\\x7c\\x17\\xce\\x62\\x37\\x3d\\xcb\\x3e\\x78\\x37\\x5e\\x1c\\x8d\\xc7\\xa3\\xc5\\x71\\xed\\x9d\\x3b\\x9e\\xb7\\x31\\x2e\\x53\\x7f\\xc5\\x47\\xd4\\x0f\\xd4\\xae\\xf1\\x14\\x27\\xc1\\x98\\xa2\\x30\\xa6\\x6a\\x34\\x23\\xd9\\x74\\x96\\x51\\xa0\\x68\\x55\\x34\\x5a\\x00\\x3f\\x44\\x43\\xd1\\xda\\x28\\xfc\\x10\\xf5\\x24\\x3d\\x65\\x1b\\x53\\x11\\xd1\\x13\\xf2\\xd4\\x7a\\x58\\xbd\\x47\\x31\\x1a\\xf5\\x18\\x5e\\xfe\\x78\\xcf\\x32\\x4c\\xf6\\xbf\\xd8\\xeb\\x07\\xfa\\xfe\\x9a\\x2f\\xcc\\x1b\\xa9\\xfc\\x5d\\x2f\\x9e\\x99\\x66\\xe5\\xd9\\xa8\\x3b\\xfd\\x32\\xe8\\x14\\x8e\\x43\\xac\\xd1\\x08\\x64\\x4a\\xaf\\x10\\x56\\xaa\\x33\\xc6\\x1a\\xa3\\xaa\\x61\\x33\\x0e\\x34\\x5a\\x5a\\x10\\x8e\\xfd\\x45\\x31\\x6f\\x92\\x37\\x79\\xb6\\x73\\x9e\\x6a\\xe2\\xbc\\x0c\\xde\\x14\\xbb\\xc0\\x04\\xc0\\xdf\\x5f\\xa4\\x0f\\x23\\x03\\xe8\\x51\\x02\\x83\\xf5\\x18\\xd3\\xad\\x09\\xfc\\xc4\\x46\\x31\\x3f\\x01\\xd8\\x16\\x87\\x36\\xa5\\xfa\\xb9\\xce\\xed\\xa5\\xdb\\x9d\\x73\\xe5\\x16\\xad\\x49\\x78\\xde\\xdb\\x1d\\x82\\xc9\\x7f\\x9f\\x7f\\x8e\\xea\\x02\\x51\\xc0\\x90\\x41\\x68\\x14\\x9a\\x84\\x3a\\xd1\\x65\\x68\\x19\\x5a\\x83\\x36\\xa1\\x7b\\xd0\\x4f\\xd1\\x7e\\xf4\\x0c\\x7a\\x01\\xbd\\x82\\x5e\\x43\\x6f\\xa1\\x3f\\xa2\\xf7\\xd0\\x47\\xe8\\x53\\xf4\\x70\\xf2\\xfc\\x48\\xe0\\xba\\x5f\\xfd\\xea\\xea\\xc3\\x13\\xa6\\x4d\\x1b\\x7b\\xfe\\xbe\\x39\\x73\\x1e\\xb9\\x58\\x32\\x18\\x44\\xf6\\xca\\x87\\x1e\\x5a\\x78\\x7f\\x53\\x4b\\x4b\\xbc\\xf9\\xae\\x0d\\x1b\\x6e\\x5b\\x57\\x1d\\x0b\\x1c\\x3e\\xff\\x62\\xf6\\xfe\\xe6\\x75\\xb1\\xd8\\xba\\xe6\\xfb\\xd9\\x8b\\xcf\\x3f\\x1c\\x30\\x9c\\x7a\\xf9\\xcd\\x37\\x5f\\xff\\xed\\xc9\\x0f\\x3e\\xfe\\xf0\\x93\\xe7\\x8e\\x1f\\xff\\xe4\\xe3\\x93\\xdc\\x89\\xb7\\x5f\\x7a\\xfd\\x9d\\xe7\\x8f\\x1d\\x7b\\xf7\\xe8\\x09\\x98\\x0e\\x7a\\x48\\xa5\\xb6\\x57\\x4d\\xfb\\xb8\\xa7\\xa9\\x56\\xfb\\x93\\x3d\\x21\\xfd\\xa3\\x2f\\x24\\xe6\\x4e\\x55\\x95\\x01\\x6f\\x4b\\x72\\x3e\\xe7\\x7e\\x6f\\xcf\\xf9\\xcc\\xff\\x07\\xf7\\xe7\\x7e\\x1f\\x3b\\xcb\\x3d\\xec\\x7f\\xf0\\x2c\\x7f\\x96\\x7b\\xf2\\xbe\\xa7\\xb4\\xc8\\xae\\x58\\xec\\xa3\\x94\\x58\\x92\\xf4\\x25\\x71\\x3e\\x42\\xbf\\x8d\\xd0\\x50\\x4d\\xf8\\x2f\\xe3\\xa0\\xdb\\x1d\\x24\\xff\\xd9\\x6d\\xda\\x27\\x39\\xa1\\x7d\\xd2\\xfe\\xe3\\x11\\xda\\xa7\\xee\\xab\\xb4\\x4f\\xcc\\x8d\\xbd\\xbf\\xeb\\xca\\x34\\xd6\\xae\\x7d\\xfa\\x8e\\xbc\\x84\\x24\\x68\\x75\\x07\\x79\\xa5\\xad\\x75\\x6a\\x9f\\xba\\xf7\\x68\\xbf\\xb2\\xe3\\xfb\\xf8\\xee\\xf9\\xae\\x93\\x78\\x80\\xfc\\xf2\\xc9\\xae\\xd3\\xcb\\x4e\\x76\\x91\\x4f\\x5d\\x27\\x99\\x16\\xf9\\x65\\xf2\\x09\\x0f\\x60\\x46\\x74\\x75\\xfd\\xf0\\x40\\x57\\x17\\xf3\\x7e\\x3e\\xac\\x41\\x79\\xac\\xfa\\x81\\xdd\\xab\\x7e\\x58\\xdc\\xe3\\x8e\\xee\\x8d\\x3d\\xbe\\xd8\\xa3\\xbc\\x87\\xf0\\x95\\x4a\\xcf\\xc1\\xee\\xa7\\xb5\\x36\\x66\\xa9\\x1f\\x54\\xe8\\x42\\x1f\\xa9\\xef\\xf2\\x61\\xf5\\xd6\\x0f\\xd5\\x77\\x76\\xd6\\xc9\\xae\\x1f\\x9a\\xbb\\x4e\\x72\\x25\\x00\\xf4\\x0f\\xcd\\x78\\xc0\\xc9\\xae\\x2e\\xee\\xfb\\xae\\x33\\x6b\\x14\\x70\\x95\\x7d\\x77\\x3d\\x67\\x47\\x2b\\xf8\\xbb\\x15\\x1f\\xb0\\xc0\\x30\\x3c\\x42\\x06\\x6a\\x24\\xa1\\xba\\xbd\\x62\\x41\\x8e\\x7b\\x24\\xe2\\x25\\x8d\\x5d\\x1d\\xa0\\x1e\\x4e\\xfe\\x6e\\xe2\\xe1\\xbc\\xef\\x5e\\x45\\x4e\\x05\\x86\\x36\\x8b\\xdf\\x0e\\xfc\\x14\\x9e\\x57\\x63\\x3c\\x95\\x10\\xcf\\xec\\xf3\\x7d\\xdb\\x69\\xb8\\xd7\\xb2\\x86\\x9a\\x7c\\x9b\\x66\\x45\\xd2\\x41\\x12\\x63\\xb1\\x26\\x93\\xdf\\xe3\\xb1\\x23\\xce\\x24\\x08\\x20\\x2d\\x10\\x7d\\xf7\\x68\\x3d\\x39\\x14\\x43\\x9b\\x56\\x8e\\xc2\\xe4\\x5b\\x1e\\x73\\x8d\\xd2\\x79\\x1a\\xd4\\xd7\\x9a\\x55\\x42\\xe7\\xd2\\x74\\x29\\xf9\\x88\\xea\\x27\\x53\\xe6\\x21\\x0a\\xf4\\xe7\\x9d\\x34\\x89\\xeb\\x2c\\x4b\\x12\\xe5\\x42\\xc7\\x71\\x66\\x13\\xcf\\x30\\x7a\\x3d\\x8b\\x41\\xdf\\x23\\xfc\\x17\\x48\\x1b\\xd0\\xa2\\xec\\xb8\\xce\\x26\\x83\\xca\\xeb\\x7b\\xc8\\xa0\\xd7\\x43\\xdb\\x2b\\xa8\\x0f\\x98\\xf8\\xbf\\xe0\\x1b\\x9e\\x37\\x70\\xfa\\xbc\\x39\\xf6\\x90\\xe0\\x11\\xe2\\x49\\x5e\\xa1\\xb8\\x9f\\x53\\xf7\\xde\\x47\\xbc\\xd1\\xea\\x1a\\xe5\\x3e\\xaf\\xae\\x11\\x8d\\x7b\\xcd\\x3e\\x2f\\xf4\\x58\\xa3\\xfa\\xcc\\x12\\xc1\\xdc\\x3e\\x0a\\x92\\xc2\\x24\\xfa\\xbc\\x1d\\x35\\x24\\x3d\\x36\\x93\\x89\\x68\\xb0\\x3c\\x6f\\x35\\x18\\x9c\\x3a\\x24\\x30\\xa0\\xb8\\x31\\x56\\x23\\xf1\\x4f\\x35\\x29\\x04\\x49\\x6b\\xd7\\xa1\\xfa\\xd9\\x58\\xea\\x22\\x8f\\xc6\\x04\\xac\\x75\\xd3\\x5f\\x69\\x5f\\x7e\\x4a\\xe9\\x4e\\xde\\xa4\\xbc\\xe3\\xe6\\x6c\\xbf\\x3d\\x70\\x43\\x8d\\x25\\x56\\x42\\x89\\xb3\\x73\\xd8\\xb7\\x4e\\xc3\\xbd\\x96\\x55\\x6a\\x30\\x4a\\x73\\xbf\\xc0\\x7b\\xf9\\xa9\\x9a\\xed\\xc9\\x42\\x63\\x6c\\x35\\x7f\\x56\\xae\\xd9\\x68\\xaf\\xc6\\xaa\\x79\\x3e\\xcb\\x93\\x71\\xba\\x0e\\xe6\\xef\\xb5\\xf4\\x53\\x30\\xfa\\xfa\\xa4\\x9b\\x33\\x9b\\x59\\x8b\\x05\\x19\\x04\\xc1\\x86\\x10\\xcd\\x57\\x24\\x62\\x0b\\x47\\x4c\\x76\\x4d\\x3d\\x87\\xae\\xcc\\x6c\\xa3\\x27\\x16\\x87\\x17\\x01\\x98\\x8f\\x27\\xda\\x08\\x2b\\x7e\\xa2\\xf8\\x2e\\xdf\\x05\\x05\\xf7\\x14\\x3f\\xf0\\x40\\xf1\\x3d\\x05\\x17\\xf8\\xee\\x2a\\xde\\xf5\\xfa\\xc4\\x8b\\x77\\xec\\x98\\x39\\xa1\\xaa\\x72\\x42\\xe7\\x7d\\x3b\\xbb\\x26\\x56\\x81\\x6c\\x73\\x2b\\xcc\\xf9\\x02\\xd0\\xdf\\x9c\\x20\\xaf\\x54\\xa2\\xc1\\xc9\\x80\\xc8\\x87\\xc3\\x2e\\x97\\xb1\\x14\\x21\\xbf\\xd1\\x58\\x55\\x2e\\x7a\\x3c\\x96\\x28\\x5f\\x58\\x28\\xb0\\x76\\x0b\\x65\\x9c\\x80\\xdc\\x84\\xd9\\x1d\\xcd\\x83\\xc0\\x41\\xf4\\x14\\x3e\\x6b\\x1e\\x51\\xb2\\x23\\x12\\x31\\x38\\xb7\\xa2\\xba\\x96\\x1a\\x97\\xa4\\x7d\\x5a\\xb0\\xac\\x83\\x28\\x54\\x64\\x1a\\x95\\x77\\x79\\xee\\xc8\\x84\\x62\\xeb\\x6a\\x1f\\x5d\\x5f\\x37\\xb6\\x35\\x9e\\x18\\xf9\\x65\\xc7\\xb2\\x89\\x13\\xc9\\xec\\x12\\x73\\x0a\\xf9\\xaa\\x61\\xd4\\xc8\\x44\\xfd\\x68\\x72\\xdf\\x38\\x32\\x5f\\x43\\xb9\\x8b\\xd1\\x0b\\xba\\x0b\\x15\\x1f\\x2a\\xd6\\xe9\\xc8\\x36\\x60\\x78\\x9e\\x08\\xbb\\xd4\\x85\\x99\\xdd\\xd9\\x8d\\x51\\x67\\x5c\\x88\\xb3\\xe6\\xe6\\x6f\\x2e\\x5e\\x00\\xff\\xb9\\x8b\\x7f\\x8b\\x6b\\x7e\\x2b\\xff\\x1e\\xda\\x78\\x45\\x5e\\xc6\\x5b\\xd3\\x9b\\x40\\x3e\\x00\\x19\\xdf\\xcc\\x71\\x36\\xa4\\xdf\\x94\\x52\\xcc\\x26\\x26\\x9e\\x9a\\x4d\\x2a\\xb5\\x15\\x2c\\x2a\\x2e\\x8d\\xc5\\xdd\\x5c\\xbc\\xbe\\x98\\x18\\x4f\\x38\\x66\\xde\\xcb\\xf2\\xdb\\x3f\\x35\\x8d\\xa9\\xc4\\x0d\\xdf\\x7d\\x8f\\x1b\\x2a\\xc7\\x98\\x7e\\x2a\\xbf\\x2d\\x2f\\x6b\\x59\\xd5\\x41\\x36\\x6e\\xc7\\xaa\\x16\\xba\\xa6\\xaf\\x70\\x9d\\xbc\\x95\\x5f\\x06\\xed\\x57\\x24\\x9d\\xa4\\x7d\\x93\\xc8\\x87\\x78\\xc6\\xc0\\xc2\\xe6\\xd0\\xf7\\xf2\\x07\\xfe\\x37\\x5d\\x71\\x9d\\x79\\x5d\\xd1\\xbe\\x4e\\x70\\x7b\\x78\\x72\\x9c\\x53\\xd9\\xbf\\x1c\\x75\\x52\\x1e\\xc1\\x6d\\xa8\\x59\\x1b\\x04\\x0b\\x92\\x7c\\x82\\x7b\\x8f\\x3b\\xa1\\xda\\x46\\x60\\xfc\\x5f\\x73\\x7b\\xd2\\x33\\xa9\\x6f\\x89\\x3e\\xc3\\xb0\\x1b\\x52\\xa0\\x8d\\xf7\\x78\\x40\\xfe\\x5a\\xb1\\x1d\\xa4\\x0f\\x73\\xd3\\xf9\\x08\\xe8\\x6f\\x1e\\x54\\x97\\xf4\\xba\\xfa\\x94\\x1a\\x0d\\xaa\\x4a\\x97\\x15\\x02\\xc9\\xf0\\xb4\\x38\\x04\\x55\\xc9\\x56\\x05\\x3e\\x2b\\x66\\x7f\\x35\\xfb\\xe5\\x27\\xf7\\x8c\\x99\\x79\\x9d\\xa3\\xc1\\xfe\\xc4\\xdd\\xb3\\x5f\\x52\\x3f\\x3b\\x8f\\x50\\xfd\\x6e\\x58\\xff\\x45\\x3f\\x81\\xb7\\x64\\xff\\xc5\\xab\\x51\\x8f\\xf9\\xf4\\x25\\xcd\\x64\\x06\\x15\\x37\\x8f\\x99\\xd7\\xdc\\x3c\\xc4\\x23\\x5b\\xcf\\x91\\x54\\xe1\\xc5\\xd1\\x22\\x8e\\x74\\x56\\xcc\\xcc\\xfb\\x2d\\x8e\\xfd\\xd4\\x38\\xa6\\x52\\x7e\\xf5\\xfb\\x7f\\xc9\\xaf\\x56\\xc1\\xf4\\xe1\\x18\\xbf\\x6c\\xe4\\xaa\\x49\\xda\\xf4\\xe1\\xf4\\x24\\x79\\x36\\xfb\\x1a\\xf5\\x89\\x53\\x3f\\x04\\xb5\\x5b\\x52\\x19\\x11\\xc7\\x1a\\x81\\xeb\\x13\\xe9\\x90\\x1d\\x1e\\x8e\\x9d\\x31\\xb2\\xdf\\xaa\\xa2\\x61\\x97\\x2a\\x14\\x32\\x69\\x0b\\x53\\x85\\xbe\\xe2\\x96\\x83\\xae\\x12\\x45\\xb1\\x03\\x51\\xbd\\x3e\\x42\\x0e\\xb3\\xee\\xb7\\xd9\\x38\\x01\\xde\\x1f\\xf7\\xba\\xb4\\x13\\xad\\xcd\\xf1\\xa6\\xda\\x66\\x15\\x25\\x95\\xca\\x0c\\x51\\xb2\\x5f\\x48\\xcd\\xdc\\xe6\\xec\\x19\\x34\\xa7\\x40\\x6c\\xa4\\xa0\\xdf\\x09\\xd3\\xcf\\x1b\\x75\\x8f\\x79\\xc4\\xdc\\x2d\\xfd\\xa6\\x4c\\x3f\\xef\\xfc\\xe6\\x5a\\x57\\x51\\xd7\\x1d\\x6d\\xed\\x4d\\x93\\x07\\x8d\\xe2\\x96\\x8f\\x1f\\x27\\xaf\\x11\\x03\\x03\\x46\\x3c\\x3c\\x78\\x4c\\x94\\x61\\x52\\x8b\\x0b\\x46\\x5e\\x2d\\xc9\\xef\\x32\\xcc\\xc0\\x61\\x73\\x69\\x9c\\x4b\\x21\\xc0\\xf4\\x67\\xee\\x6a\\xe4\\x40\\x5e\\x14\\x38\\x88\\x24\\xc9\\xe8\\x14\\x9f\\x04\\x28\\x38\\x64\\x54\\x4f\\x6f\\x3a\\x14\\xcd\\x55\\xd2\\x32\\x47\\xd2\\x74\\x79\\xf1\\xfa\\x42\\x1c\\x2b\\x92\\xe2\\x0d\\xa5\\xcb\\xce\\x9f\\x32\\x62\\x62\\xe1\\x8c\\xc6\\xeb\\xae\\xf9\\xfb\\xdb\\x6f\\x5f\\xf7\\x8f\\x46\\xb6\\xc3\\xb4\\x7c\\x96\\xa3\\xc8\\x5e\\x78\\xcb\\xfd\\xb8\\xe4\\xdb\\x7e\\xff\\x7a\\xe9\\xb2\\xa9\\xa4\\x9f\\x05\\xcc\\x00\\x74\\x2b\\x3f\\x0b\\x68\\x9e\\x84\\x02\\xfb\\x59\\x83\\xc3\\x45\\xce\\xf3\\x9a\\xed\\x76\\x31\\x1b\\xf7\\x77\\xb4\\x87\\x1f\\x96\\xcd\\x84\\x64\\x36\\x92\\xd3\\xc3\\xe4\\x14\\xb1\\x8e\\xc4\\x66\\xb6\\xef\\xe7\\x8b\\xd5\\xc3\\xc3\\xdd\\x51\\xed\\xf0\\x2e\\xf0\\x85\\x33\\x4c\\x15\\xe6\\x61\\x2c\\x06\\xe8\\xc3\\xb9\\xcf\\x22\\x90\\x71\\x38\\x11\\x43\\xa3\\x32\\x9b\\xc9\\x12\\x91\\xca\\x71\\xb4\\xfa\\x79\\xae\\x11\\x1d\\xf3\\xf2\\x77\\xab\\xaf\\xc3\\xfc\\xea\\xb5\\xf3\\xc6\\x4c\\x1c\\x3f\\x6a\\xd4\\xf8\\x89\\x63\\xd8\\xf3\\xe4\\xb7\\xee\\xb8\\x15\\x97\\x6e\\xbd\\x75\\xf5\\xd2\\x05\\x37\\xde\\xb8\\x44\\xb5\\x13\\xbd\\x0f\\xed\\x47\\xb8\\x79\\xa0\\x0b\\xc5\\x0e\\xf0\\x4e\\xa7\\x20\\x91\\x43\\xa4\\x9c\\xc5\\xc2\\xd8\\x9e\\x84\\x31\\x18\\x90\\x59\\x9d\\x31\\x2d\\xaa\\x92\\x88\\x0a\\x71\\x7a\\x00\\x37\\x4e\\x97\\x90\\xcc\\x1d\\x3d\\x11\\x7d\\xc5\\x8c\\xd1\\xc3\\xcf\\x3b\\x32\\xea\\x41\\xbe\\xe8\\x8a\\x8a\\xcd\\xad\\x7b\\x99\\xb7\\x67\\x3b\\xf0\\xd3\\x62\\xa0\\xfb\\x5b\\x31\\x50\\xe3\\x2a\\xdd\\x8d\\x17\\xd1\\x98\\xd3\\xb4\\x1f\\xd6\\xe6\\x53\\x18\\x8f\\x1b\\x49\\x8f\\x8b\\x26\\x3d\\x19\\x8e\\x0b\\xb1\\x5a\\x27\\x30\\x57\\xd0\\x60\\x38\\xf7\\x3c\\xb8\\xb2\\x46\\x9f\\xfa\\xe7\\x0c\\x90\\xff\\xbe\\x71\\x75\\x6a\\x4a\\xc4\\x5f\\xdb\\xba\\x73\\xe6\\xec\\xc9\\xe7\\x30\\x17\\x38\\x03\\xb8\\x62\\xd3\\x36\\xe7\\xbd\\x5d\\x05\\xdf\\xac\\x9a\\xef\\x52\\xf8\\xe8\\x5f\\x61\\x3c\\x6e\\x7e\\x03\\xcd\\x8b\\x59\\xbd\\xcf\\xe6\\x24\\xa3\\x30\\x23\\x2b\\xae\\x3e\\xe0\\x33\\x18\\x02\\x80\\x93\\x83\\xf7\\x7b\\x91\\x9b\\x51\\xc3\\x45\\xeb\\xd5\\x81\\x91\\x99\\x74\\xc2\\x22\\x29\\x1d\\xd3\\x2c\\x47\\x74\\x78\\xd8\\xa5\\x64\\x42\\x2a\\x5a\\xdc\\x72\\xc1\\xa7\\x6b\\x56\\x8d\\x48\\x72\\x9d\\xcf\\xb7\\xdc\\x27\\xbf\\xb7\\xbd\\x25\\x51\\xdf\\xba\\x9d\\xb9\\xa8\\x3f\\x8e\\xdc\\x76\\x8f\\xb5\\xa0\\xdf\\xcf\\xc4\\xc0\\x99\\x37\\xc4\\x00\\x96\\x3e\\xf2\\xe2\\xa7\\x8d\\x64\\x5e\\xff\\xc8\\x0c\\xc0\\x25\\x00\\x47\\x01\\xaa\\xdc\\x47\\xce\\x9b\\x57\\xff\\xfb\\x13\\xfc\\x74\\x6e\\x7f\\xe4\\xdc\\xfe\\xfc\\x5e\\xe7\\xf6\\xef\\xfc\\xd1\\x73\\xfb\\x72\\x13\\xc0\\xf0\\x32\\xcc\\x75\\x35\\x6a\\xde\\x57\\x51\\x45\\xe2\\x65\\x8d\\xc5\\x41\\x9f\\xcd\\x54\\x5e\\x5e\\x60\\x8d\\x01\\x1c\\x49\\x93\\x33\\x12\\x61\\xdd\\xd1\\x28\\x8f\\xf4\\xac\\x0a\\x0e\\x31\\xfd\\xab\\x21\\xb4\\x14\\x2a\\x05\\x2e\\x4c\\x6d\\x83\\x1a\\x68\\x6a\\x4d\\x55\\x5d\\x4e\\xd9\\xb7\\x3c\\x40\\xe5\\x8f\\x2a\\xe6\\x16\\x77\\x16\\x55\\xac\\x2e\\xdf\\x3c\\x5a\\x4e\\x77\\xcc\\x70\\xcf\\xf6\\x18\\x3b\\xe4\\x6f\\x26\\xcd\\x6a\\x19\\xda\\x91\\x1e\\x35\\xea\\x21\\x6e\\xa8\\xaf\\x78\\x98\\xb7\\x5c\\x03\\xfc\\xd2\\xd9\\xa2\\x2e\\x1c\\xcb\\x5c\\xd8\\xe5\\xe1\\x19\\xfc\\xc7\\xe9\\x16\\xd8\\x63\\x4f\\xc0\\x18\\x5c\\xa8\\x72\\xbf\\xce\\x6e\\x77\\x91\\xc8\\x6b\\x0b\\x12\\xd5\\x73\\xf3\\x64\\x75\\x19\\x18\\x2a\\xa1\\x30\\xcd\\xea\\x4a\\x52\\x91\\xa5\\xaf\\xb3\\xf2\\x4f\\xf4\\x3c\\x2a\\x7f\\x75\\x5f\\x47\\xe5\\x89\\x9d\\x06\\x70\\x74\\x27\\xf7\\x39\\xe0\\x68\\xe0\\x20\\x6c\\x05\\xbd\\x40\\xe3\\xbd\\xed\\xca\\xe9\\x78\\xe8\\xe7\\x98\\xd2\\x47\\xef\\xb4\\x41\\x84\\x94\\x04\\x9a\\x9a\\xc6\\x8c\\x1d\\x52\\x72\\xdd\\x75\\xc5\\x85\\xb1\\x6a\\xc7\\x58\\xa6\\xaa\\x65\\x08\\x5e\\x1f\\xf0\\xac\\x5e\\x5d\\x2f\\xaf\\x8a\\x95\\x19\\x63\\x66\\x89\\xae\\xcd\\x31\\xc0\\xd3\\x38\\xec\\x3b\\x2b\\x2a\\x4a\\x1a\\x40\\xc8\\x13\\x40\\x66\\x34\\x71\\xa4\\x1f\\x3d\\xc2\\xd9\\x3d\\xa7\\x46\\x20\\x45\\xf3\\xa2\\xc8\\x03\\x55\\x9f\\x91\\xc0\\xf1\\x87\\xee\\x4d\\x9d\\xe8\\xcf\\x54\\xa9\\xe7\\xb3\\x57\\xe0\\x75\\xea\\xd9\\x6c\\xf9\\x14\\xac\\x7b\\x29\\xb4\\x1d\\x40\\xf1\\xa4\\x51\\x8d\\x97\\xf6\\x48\\x79\\x01\\xd3\\xb8\\x57\\xc0\\x74\\xf6\\x08\\xd4\\x8f\\x04\\x4a\\xe3\\xd2\\x3e\\x03\\xa5\\x27\\x9d\\x35\\x50\\x9a\\xda\\x49\\xdf\\x02\\xbd\\xe1\\x2d\\xfe\\x41\\x04\\xf2\\x70\\xf2\\x62\\x1a\\xaa\\xb5\\x56\\xd8\\x2a\\x1c\\x10\\x8e\\x0a\\x5c\\xbb\\x30\\x43\\x60\\x38\\xa1\\x58\\x68\\x10\\x46\\x08\\xdc\\x92\\x2e\\xf8\\xfe\\x41\\xf8\\xfe\\xa4\\xf0\\xb5\\xa0\\xab\\x13\\x92\\xe4\\x37\\x17\\xfc\\xca\\x16\\x0b\\x57\\xc0\\x0f\\x07\\xe0\\x07\\xde\\x26\\x60\\x4e\\xc0\\x1d\\x6a\\x1b\\x7f\\x26\\x77\\x86\\x05\\x72\\x2f\\x6c\\x1e\\x8c\\x04\\x3c\\x5c\\x38\\x92\\x4e\\xee\\x1f\\x3a\\xac\\x15\\xde\\x57\\x27\\x0d\\x03\\x86\\xb4\\x92\\x7b\\x18\\xe5\\xaa\\x3e\\xd1\\x4a\\x9e\\x53\\xaf\\xaa\\x6a\\x5b\\x49\\xcf\\xea\\x55\\x69\\x79\\xeb\\x08\\xa1\\x83\\x5e\\x3d\\x9b\\x8c\\x85\\x4b\\x5a\\x49\\xb3\\x0c\\x83\\x04\\x9b\\xc0\\xcc\\x10\\x16\\x09\\x9b\\x85\\x67\\x85\\x13\\xc2\\x97\\x82\\xae\\x96\\xf4\\x03\\x5f\\xea\\xb3\\x46\\x5f\\x4c\\x8e\\x54\\x2c\\xee\\x5c\\x5c\\xb9\\xb8\\x72\\x09\\xfd\\x5b\\xa9\\x9d\\x42\\x55\\x8f\\x5b\\xd8\\x1d\\xea\\x01\\x31\\x62\\x2c\\x7d\\xab\\xe5\\xc9\\xdf\\x10\\x03\\x68\\x71\\x89\\xfc\\x3e\\xcc\\xcf\\xeb\\x20\\x87\\xbe\\x9e\\xbe\\x19\\xf1\\x48\\x52\\xce\\x00\\x42\\xbb\\x24\\x70\\x40\\x0b\\x62\\xe4\\x25\\x36\\x9a\\x70\\xe2\\xd7\\xe1\\xa9\\xa5\\x11\\xf9\\x4f\\x25\\x38\\xac\\xcc\\xeb\\x31\\x78\\xee\\x15\\x6a\\x27\\x25\\x7a\\x9d\\x8e\\x9c\\x02\\x54\\x8d\\xa5\\x99\\x18\\x38\\x9c\\x67\\x31\\xc5\\x83\\xfa\\x36\\x99\\x92\\x7c\\x53\\xe9\\xcf\\xd9\\x66\\xf6\\x45\\x90\\x6d\\xca\\x92\\x2e\\x07\\x6f\\x26\\x81\\x75\\x3e\\xb7\\x38\\x21\\xe5\\xb6\\x31\\x86\\x09\\x99\\x32\\xe0\\x79\\xe7\\x9d\\x72\\x8b\\x96\\x2a\\x3e\\x04\\x52\\xf6\\x23\\xcc\\x36\\x6b\\x65\\x4a\\x1f\\x79\\xe0\\x81\\x47\\x46\\x6c\\xac\\xaa\\x79\\x74\\x2a\\xfe\\x0d\\x7e\\x5b\\x76\\xd2\\xca\\xa4\\x07\\x4f\\x9c\\x38\\xe8\\xb4\\x0e\\x8e\\x56\\xd0\\xb8\\xb4\\x24\\xf4\\x9b\\x64\\x8f\\xda\\x4a\\xd9\\x07\\xfe\\x89\\xec\\x02\\x73\\x0f\\x7a\\xa7\\x5b\\x87\\x9c\\x49\\x13\\x5e\\xe8\\xc3\\x6d\\x3e\\x8c\\x7c\\xd8\\x87\\xec\\x30\\x81\\x24\\xc4\\x40\\xad\\xeb\\x37\\x9e\\x7d\\x11\\xee\\x4f\\x88\\xca\\xfd\\xf8\\x47\\xef\\x9f\\x2b\\xbf\\x80\\xb7\\xb3\\xcf\\xd9\\x74\\x28\\xd8\\x03\\x17\\xf5\\xff\\xbf\\xc1\\xc5\\xda\\xff\\x04\\x17\\x45\\x66\\x21\\x73\\x9c\\x79\\x8f\\xe1\\x18\\x05\\x27\\x8f\\x4d\\xfb\\xbf\\x81\\x93\\x2c\\x8a\\x73\\x9d\\xcc\\xd2\\x8c\\x0f\\xa0\\x39\\x19\\xe2\\x30\\xf6\\xea\\xcc\\x66\\x87\\xd7\\x1b\\x0c\\x89\\x01\\x29\\xb0\\x39\\x25\\x32\\xcf\\x40\\x8f\\xac\\x1e\\x08\\xb0\\x41\\x52\\x44\\xd0\\x78\\xed\\x31\\xc5\\xee\\x99\\x09\\xa1\\x54\\xb3\\x61\\xfc\\xa8\\x8f\\x00\\x1b\\xfe\\x4b\\x27\\x01\\xac\\x2b\\xb0\\x7b\\xfe\\x08\\x3f\\xda\\x51\\x8a\\x8a\\x11\\xb2\\xeb\\xd8\\xa6\\x3b\\x1f\\x42\\x05\\x07\\x18\\x89\\x65\\xdc\\x30\\x65\\x8f\\x1b\\xcc\\xad\\x47\\xe4\\x1f\\x0e\\xb8\\xdd\\x3c\\x5f\\x52\\x59\\x99\\x40\\xcd\\x09\\x58\\xfb\\x75\\x4c\\x35\\x5e\\xce\\x86\\x88\\xfd\\x31\\x69\\x24\\x4a\\xaa\\xd9\\xc0\\xde\\x73\\xa1\\x01\\xd5\\xf6\\x7d\\x5e\\x70\\xf9\\xc8\\x78\\x7c\\x64\\x4b\\x43\\x43\\x0b\\xb3\\x3b\\x3e\\x72\\x64\\xbc\\x5f\\x6b\\x6b\\x3a\\x9d\\x3e\\x02\\xfd\\xc6\\xf8\\xa1\\xb6\\x18\\x2a\\x43\\x7b\\xa0\\x67\\x81\\x6d\\x92\\x3f\\x48\\xdf\\x8d\\x86\\x1d\\xc6\\x41\\x16\\x2f\\x0a\\xe1\\x10\\xe9\\x5e\\x0f\\xdd\\xa7\\x63\\xc9\\x82\\x50\\x88\\x61\\x4a\\xd0\\x17\\x08\\x6f\\x46\\x78\\x13\\xc2\\xab\\x10\\xee\\x44\\xa0\\x92\\x60\\x82\\x89\\x76\\xf5\\x0c\\x56\\xa2\\xb2\\x72\\x1a\\x05\\x90\\xe0\\x2b\\x69\\x5f\\x97\\xa0\\xed\\x57\\xe6\\xb5\\x7f\\x5e\\x5f\\xed\\x57\\x2a\\xed\\x43\\x83\\xcd\\xf4\\x5f\\x2d\\xc2\\x5f\\xd0\\x7f\\xef\\x9d\\xbd\\x3b\\x7a\\xe6\\xab\\x57\\x9f\\x2c\\x43\\xfb\\xac\\x42\\x3b\\x72\\xfa\\x1c\\x7e\\x18\\x5b\\x59\\x3c\\xc3\\x86\\x6d\\xb4\\x4f\\x0b\\xf4\\x59\\x94\\x74\\xdb\\x6c\\x30\\xa7\\xe8\\x7d\\xda\\xc9\\x71\\xad\\x1f\\xe2\\x2f\\xde\\xaf\\xd7\\xb7\\x22\\x7b\\x65\\x8f\\x41\\x41\\xfb\\x47\\x95\\x3c\\xeb\\xb0\\x56\\xf5\\x6a\\xeb\\x7f\\x83\\xd6\\x4b\\x92\\x76\\xc6\\xc7\\x32\\x5f\\xfa\\xf0\\x6a\\x1f\\x5e\\xe4\\xc3\\x33\\x60\\xe7\\xd2\\x56\\x4c\\xad\\x3e\\xa5\\x15\\xda\\x00\\x3c\\xff\\x2b\\x98\\x93\\x49\\x14\\xbe\\xc1\\xe8\\x59\\xb5\\x85\\x4f\\xa0\\x85\\x91\\x49\\x2b\\xf6\\xb2\\x78\\xb3\\x17\\x2f\\xf2\\xe2\\x19\\x5e\\xec\\xa5\\x60\\x9a\\x00\\xcc\\x4f\\x92\\x3e\\xaf\\xd7\\x60\\x28\\x41\\xbf\\xa0\\x00\\x2a\\xb3\\xd0\\x9c\\x37\\x11\\x04\\xc2\\x69\\x39\\x30\\xc2\\xba\\xde\\xc4\\x8f\\xb3\\x95\\xea\\x2b\\x3f\\xcb\\xc2\\x58\\x7e\\x18\\x57\\xb1\\xf8\\xb1\\x0a\\x5c\\x41\\x20\\x13\\xed\\xad\\x15\\xb4\\x0b\\x23\\x74\\x91\\x3a\\x50\\x51\\xe1\\x70\\x00\\x72\\x55\\x66\\xe0\\xfc\\x57\\xfa\\x73\\x66\\x20\\xff\\x6b\\x47\\x29\\xa9\\x3d\\x0e\\x38\\x39\\x10\\x1a\\xb5\\x3f\\xce\\x32\\xf8\\x48\\xfa\\xab\\x03\\xe5\\x1e\\x2b\\xa0\\x62\\x22\\xa1\\xd2\\x25\\x05\\x7f\\x5b\\x1d\\x3a\\x82\\xbf\\x70\\x3d\\x28\\xfd\\x03\\xf7\\x4f\\x7e\\x08\\x5c\\x97\\x50\\x3a\\x35\\x08\\xd4\\xd1\\xe9\\xa0\\xcf\\x8a\\x68\\x68\\x32\\x62\\x65\\x0d\\x7a\\x56\\x6f\\xb3\\xeb\\x2c\\x33\\x52\\xc8\\x80\\xf5\\xbc\\x41\\xa7\\xe3\\x3a\\x53\\x84\\xe2\\x23\\x6b\\x67\\x0a\\x14\\x9d\\x9c\\xec\\x56\\x9d\\xda\\x31\\xfd\\x9c\\x0a\\x07\\x20\\x3d\\x80\\x0c\\x41\\xca\\xb1\\x79\\x98\\x65\\xdd\\x47\\xf7\\xee\\xe5\\xec\\x8e\\x61\\x43\\xbb\\xde\\x90\\x8f\\x27\\xfc\\xdc\\x7d\\x81\\x84\\xbc\\x0a\\x7b\\x5c\\xa7\\x2f\\xf5\\x2b\\xe7\\x45\\xc6\\x43\\xdf\\x7f\\xe0\\x5b\\x61\\xef\\xeb\\x51\\x53\\x32\\x20\\x70\\x24\\x7d\\xb7\\x9e\\x67\\x78\\x83\\x51\\xc7\\xb1\\x1c\\x03\\xb4\\x53\\xc0\\xc2\\x84\\x14\\x56\\xfb\\x25\\x79\\x78\\x9b\\xe3\\x79\\xc9\\x83\\xeb\\x49\\xc7\\x31\\x1c\\x37\\x30\\x11\\xee\\x0f\\xa7\\x97\\x61\\xfc\\xce\\xd3\\xf8\\x8b\\xee\\x1b\\xe4\\x45\\x6c\\x69\\x3b\\xf7\\xdd\\x69\\x3d\\x37\\xf5\\xf4\\x73\\xca\\xb8\\xa1\\xaf\\x95\\x74\\xdc\\x65\\xf4\\xfa\\x22\\xb8\\xbe\\x9c\\x5e\\x0f\\xd1\\x7e\\xe7\\x6f\\xa1\\xd7\\x95\\xa8\\x77\\xce\\xfe\\xae\\xe4\\x20\\x5f\\x18\\xe9\\x90\\x9a\\xb4\\x1f\\x15\\xe3\\xe6\\xba\\xe2\\xf6\\x62\\xc6\\x63\\x28\\xc0\\xb5\\x05\\x9d\\x05\\xcc\\x90\\x02\\xcc\\xa2\\x02\\x5b\\x41\\xb8\\x80\\xd5\\xf3\\x05\\x05\\x2e\\xab\\x8b\\xed\\x4c\\xb9\\x9c\\x56\\x43\\x67\\xca\\xca\\xe5\\x65\\xf3\\x86\\x69\\xeb\\x9c\\xb6\\x78\\x49\\x1c\\x2f\\xce\\xc9\\x3f\\x4e\\x6d\\x3b\\x67\\x4b\\xed\\x2f\\x44\\xed\\x71\\x4f\\x84\\xd6\\x79\\x3d\\x6b\\x6a\\x7f\\x7c\\x2a\\x94\\x4c\\x86\\xf0\\x5c\\xf2\\xfa\\x6f\\x92\\xfb\\xfb\\x36\\xe2\\xed\\xeb\\xd7\\xcb\\x5d\\x1b\\xe9\\xb8\\xc7\\xc0\\x42\\x5c\\x44\\xc7\\x5d\\x95\\x99\\x87\\xc7\\xe9\\x35\\x8d\\x0f\\xd2\\xf0\\x07\\xe4\\xc7\\x51\\xc9\\x62\\x41\\x67\\xb5\\x02\\xe7\\xb7\\xe8\\x79\\xbd\\x68\\x1b\\x69\\xc5\\x16\\xf8\\xc7\\x5a\\x05\\x1d\\xa7\\x24\\x5c\\xef\\x4c\\x99\\x18\\x47\\x6e\\xc2\\x75\\x82\\x23\\xd9\\xa3\\xc3\\x6a\\x4e\\x8c\\x92\\x6c\\xfd\\x21\\xf2\\x8e\\x7d\\x07\\xe4\\x51\\x5b\\xf0\\x89\\xa7\\xf1\\x1f\\xf7\\x74\\xff\\xe6\\x80\\x7c\\x65\\x3b\\xc9\\x89\\x4c\\xd6\\x8e\\xbe\\x4f\\x53\\x60\\xd2\\x7d\\x40\\x61\\xaa\\xcb\\xc0\\x78\\x27\\xbd\\xee\\x47\\xd7\\x6a\\x01\\xac\\xe5\\x21\\x9a\\x13\\xcf\\x0b\\x58\\xde\\x95\\x1c\\x52\\x14\\xb0\\xbb\\x38\\x01\\xfe\\x96\\x94\\xfa\\x0c\\x41\\x5c\\x4b\\xfe\\x75\\x06\\x99\\xe6\\x20\\xb6\\x04\\xb1\\x3e\\x18\\xd4\\x6d\\xf6\\xee\\xf0\\x32\\xc8\\x6b\\xf3\\x9e\\xf0\\xb2\\x0e\\xd6\\x9b\\x74\\xd9\\x1d\\xac\\xce\\x3c\\x33\\x25\\x70\\x3a\\x32\\x00\\x25\\x71\\x65\\xdc\\x4f\\x0c\\x2b\\x8b\\x41\\x87\\x87\\x51\\x00\\x2f\\xcb\\xa6\\x05\\x86\\x41\\x84\\x69\\x36\\x64\\x36\\xee\\x01\\xb1\\xc4\\x49\\x6c\\x0a\\x4e\\xc0\\x7c\\xd0\\x23\\x73\\x57\\x8b\\xf9\\x1f\\xcc\\xb4\\x37\\x0d\\x77\\x9e\\x7e\\xd7\\x39\\xbc\\x29\\xfa\\xd6\\xe5\\xdc\\x1f\\xe6\\x35\\x0c\\x77\\xb1\\xbf\\x72\\x0d\\x6f\\x58\\x74\\x52\\xfe\\x17\\x5d\\xb1\\x1d\\xe4\\x75\\x8f\\xed\\x29\\xf9\\x66\\xbc\\xf4\\x29\\xc1\\xc0\\x7e\\x65\\xbd\\x17\\x8f\\x95\\x0f\\xde\\x6b\\xed\\x7e\\x21\\x6f\\x9d\\x54\\x7c\\x84\\x31\\xd7\\x6b\\xfb\\x96\\xe0\\x2b\\xe8\\x9f\\xf3\\x92\\x3e\\x3b\\x63\\x35\\x30\\x06\\x97\\xb4\\x55\\x7a\\x50\\x3a\\x20\\x7d\\x2d\\x71\\x27\\xa5\\x3f\\xc3\\x1b\\x2b\\x11\\xae\\x5e\\x3e\\x70\\x48\\xeb\\x66\\x09\\x33\\x48\\x0a\\x4b\\xed\\xd2\\x6a\\x89\\x23\\xe5\\x50\\x79\\x40\\x4f\\xde\\x36\\x23\\xc5\\xb3\\x76\\x78\\x14\\x31\\x9d\\xa4\\xe6\\x3e\\xc9\\xdf\\xa9\\x65\\x67\\x27\\x1f\\x30\\xc5\\xd5\\xca\\x69\\x8b\\x35\\x3c\\xcd\\xa4\\x76\\xcc\\x4b\\x8f\\x3f\\x68\\xef\\x5e\\xbe\\x7d\\x2f\\x49\\x71\\xdd\\x7d\\xd3\\x5e\\x58\\xb2\\xfb\\xfc\\x89\\x84\\xff\\xf4\\x45\\x74\\xf9\\x6e\\x3b\\x3d\\x3f\\x90\\xd0\\xf6\\x5f\\x84\\xae\\x99\\x92\\x27\\xac\\x1d\\xae\\x87\\x01\\xfc\\x12\\xa9\\x45\\xc4\\x60\\xb3\\xd9\\x62\\x63\\x8d\\x7a\\xa3\\xde\\xed\\x11\\x3d\\xd8\\xc4\\x5a\\x24\\xab\\x04\\x34\\x08\\x9b\\x01\\x3e\\xd6\\x64\\x64\\x8c\\xcc\\xcc\\x94\\xde\\xa8\\x20\\x17\\xd9\\x46\\xcd\\x71\\x25\\x93\\x7c\\x26\\x8b\\xbf\\x56\\x82\\x01\\x93\\x9c\\x93\\xc5\\x4a\\xba\\x76\\x03\\x28\\x15\\x34\\xb1\\x6a\\x84\\xd9\\x2d\\xcf\\xc7\\xfc\\xa5\\xb8\\x24\\x02\\xcb\\x71\\xa6\\x08\\x1f\\x92\\x27\\xb2\\x77\\x0d\\xaf\\x58\\xf4\\x6b\\xf9\\x5b\\xe6\\xf3\\x78\\xf7\\x3f\\x0c\\x02\\x2c\\xc0\\x18\\x66\\x30\\x73\\x69\\x9b\\xfc\\xcc\\xdb\\x56\\x80\\x97\\xd4\\x20\\x78\\x8e\\xc2\\xdb\\x48\\xe7\\xdf\\x03\\xf3\\x7d\\x1b\\xbd\\x1e\\x4c\\x71\\x6e\\x28\\x5c\\xdf\\x03\\xf0\\x87\\x80\\x9e\\xf4\\x43\\x0f\\x24\\x2f\\x29\\x73\\x23\\xb1\\x1a\\xb1\\x3c\\x6f\\x8a\\xfa\\xcb\\x4d\\x7e\\x53\\xbc\\x3e\\x19\\x5f\\x1d\\xdf\\x1c\\x67\\x59\\xc9\\x26\\xda\\x42\\xb6\\x5a\\x1b\\xab\\xe7\\x1c\\xb6\\xce\\x54\\x59\\x95\\x50\\xd5\\x99\\x0a\\x09\\xb1\\x5a\\x6b\\x6d\\x67\\xca\\x6d\\x15\\x92\\x06\\x0b\\xec\\x2f\\x9b\\x75\\xb3\\x75\\x87\\xf5\\x31\\x2b\\x5f\\x67\\x4d\\x5a\\xdb\\xad\\x2c\\x2b\\x58\\x05\\x2b\\xe3\\x20\\x36\\x4c\\x84\\xf5\\x1c\\xd9\\x5d\\x64\\x73\\x55\\x22\\x32\\x62\\x2d\\xa7\\x3a\\x50\\x92\\xca\\xdc\\xbc\\xea\\xea\\xaf\\xb8\\x33\\x43\\x5a\\x60\\xd3\\x79\\xe2\\x39\\xfb\\x2e\\x11\\x2d\\x22\\xc7\\x3f\\x8b\\x07\\xe1\\x84\\x9a\\x2f\\xac\\x9e\\x93\\x5c\\x24\\xe1\\x59\\xa3\\x56\\x49\\x13\\xbb\\xdc\\x83\\xb0\\x1d\\xc4\\x6c\\x76\\xd4\\xde\\xee\\x7f\\xee\\x5d\\x7c\\xeb\\x9b\\x2b\\x30\\xf3\\x97\\xd9\\x7b\\x19\\xeb\\xde\\x4b\\xff\\x82\\x99\\xe5\\x6f\\xde\\xb6\\xe4\\x9c\\x1d\\x7b\\xf6\\xec\\x1e\\xd2\\xfd\\xf4\\x9e\\x1d\\xc3\\x07\\xef\\xde\\x43\\x77\\xec\\xc6\\xb9\\xa7\\x6e\\x7d\\xf3\\xd3\\x95\\x64\\xed\\x57\\x7e\\xfa\\xe6\\x96\\x53\\x97\\x8d\\x7f\\xe9\\x99\\x23\\x4f\\x74\\xeb\\xf1\\x0d\\xcf\\xbc\\xc4\\x7c\\xf7\\x04\\x99\\xc3\\x6a\\x98\\xb3\\x5d\\x74\\x0e\\x07\\x51\\x1c\\xd0\\xc1\\xf5\\x87\\x30\\x87\\x51\\x34\\x35\\x59\\xe3\\x05\\x1e\\xc6\\xf3\\x61\\xab\\x21\\x10\\x36\\x84\\x8b\\x4b\\xa2\\x3a\\xbb\\xae\\x33\\xe5\\xb5\\xdb\\x91\\x39\\xe4\\x71\\x18\\xcd\\xc6\\xce\\x54\\x81\\xcb\\xcc\\x2a\\x64\\x86\\xc9\\x30\\x22\\xad\\x6a\\xbe\\x5a\\x39\\x34\\x37\\x81\\x64\\xc6\\x6a\\xaf\\x0c\\xdc\\x1e\\x2e\\xa6\\x15\\x69\\xed\\xa4\\x08\\xb3\\x82\\xc2\\x43\\x71\\xc2\\x4e\\xd3\\xbb\\xe9\\x22\\xec\\xf8\\x43\\xdd\\xef\\x1e\\x92\\x3f\\x4b\\xa3\\x15\\x78\\xe0\\x83\\x07\\x0e\\x31\\x45\\x87\\x0e\\x3e\\x84\\x07\\xae\\x48\\xcb\\x1f\\xd3\\xd1\\xe1\\x3d\\x2f\\x7e\\x84\\xc7\\xfa\\x13\\xf2\\xcc\\x47\\x7e\\x86\\x99\\x87\\xc8\\x28\\xbb\\x2f\\xc4\\x0f\\xef\\xc5\\xf7\\x27\\xfc\\xf2\\xc1\\x0f\\x5f\\xa2\\xe3\\x99\\x0b\\xe3\\xb9\\x11\\x78\\x46\\x39\\xfa\\x79\\xf2\\x12\\xd1\\xaa\\x13\\x8a\\x0b\\x02\\x51\\x01\\x74\\x6a\\xd6\\xe0\\x88\\x45\\xbc\\x0e\\x6f\\x45\\x65\\xb4\\x60\\x66\\x2a\\xea\\x40\\x84\\x77\\x98\\xb9\\x40\\x71\\x67\\x2a\\x20\\x22\\x5d\\xbb\\x0e\\x2e\\x44\\x18\\xee\\x26\\x11\\x5f\\x25\\xe2\\xd1\\x22\\x16\\xc5\\x90\\xc8\\x18\\x45\\x11\\x09\\x3e\\x84\\x59\\x11\\x61\\x9b\\x4e\\x82\\x71\\x4b\\x5c\\xc4\\x00\\x7c\\xd9\\xce\\x83\\x1a\\x6f\\x05\\x6a\\xa5\\x4e\\x83\\x8a\\x11\\x74\\xf1\\xe9\\xca\\x7b\\x6b\\xa9\\x04\\x4e\\xbf\\xb0\\x79\\x8f\\xd2\\xf7\\x9c\\x6a\\x02\\x76\\x3a\\x5f\\x6a\\x02\\x42\\x45\\x7b\\xa3\\xc7\\xa8\\x9d\\x84\\x9e\\xc1\\xda\\xc7\\x4a\\x99\\x04\\x65\\x3d\\x76\\x17\\x12\\xb1\\x5a\\xfc\\xc0\\x49\\x4b\\xd8\\x31\\xdf\\x7f\\xf8\\xa7\\x23\\x3f\\x0b\\x74\\xbf\\x04\\x14\\xad\\xfd\\xd5\\x56\\xe3\\x5b\\x69\\x3c\\x0e\\xf8\\xcc\\x39\\x78\\x5c\\x1a\\xbd\\x69\\x6c\\x7d\\x95\\x90\\xbb\\xee\\x97\\x02\\x7b\\x0e\\xff\\x89\\x3b\\xf3\\xd1\\x77\\x2f\\xfd\\x5d\\x92\\x7f\\x86\\xc7\\x6c\\xb6\\x5d\\x12\\xc1\\xc1\\xd7\\xb1\\x8d\\x72\\xa3\\x2f\\x5f\\x97\\x3f\\x8c\\x5c\\x62\\xdb\\x2c\\x1f\\xc2\\xe7\\x4b\\x7f\\x7f\\xe9\\xfb\\x0f\\xe9\\xfe\\x6a\\x06\\x3e\\x34\\x57\\x77\\x35\\xc8\\x6e\\x55\\x44\\xf2\\x22\\x73\\x89\\xe7\\x23\\xdf\\x21\\x06\\x8b\\x7c\\x29\\x91\\x6c\\xd2\\x07\\x82\\x66\\x16\\x97\\x60\\x10\\x6d\\x10\\xf9\\xaf\\xed\\x49\\xfa\\xcc\\x60\\xe5\\x19\\xbc\\x09\\x9e\\xf1\\x24\\x2d\\x0c\\xf6\\x92\\x87\\x7c\\x31\\xc9\\xe0\\xc8\\x3e\\xa1\\xe9\\x75\\x1c\\xcb\\x3f\\x08\\xb2\\xd3\\xc5\\x8a\\x84\\x87\\x88\\xf1\\x40\\x4c\\x1a\\x99\\xb6\\x32\\xec\\x29\\xab\\x34\\x4b\\x25\\x95\\x9a\\x4e\\xd7\\x06\\x3a\\x60\\x84\\xde\\x3b\\x5b\\xbd\\x97\\xe4\\x04\\x36\\x1e\\xc2\\x73\\x6a\\xfa\\xf1\\x08\\x84\\x2c\\xb8\\x27\\x2c\\x8f\\x63\\x8f\\xd2\\x7b\\xe6\\xa8\\xf7\\x7c\\xad\\xdc\\x93\\xf2\\x17\\x22\\x93\\x72\\x4f\\x35\\xc8\\x6b\\x41\\x7a\\x8f\\x22\\xaf\\x35\\xfd\\x95\\xde\\x61\\xb3\\xdb\\x2d\\x16\\xb8\\x83\\xf6\\x45\\xea\\x0d\\x3e\\x44\\x65\\xba\\x65\\xb4\\x9d\\x81\\x44\\x42\\x06\\xb8\\x0c\\x20\\xd6\\xb9\\xea\\x82\\xbc\\xa4\\xc9\\x74\\x44\\x6e\\x22\\x63\\x00\\x1d\\x3a\\x80\\x62\\x84\\x7a\\x46\\xcc\\x9c\\xb3\\xa0\\xc0\\xc7\\x04\\x02\\x2e\\x49\\xf2\\x99\\xd9\\xb2\\x72\\xbe\\xc0\\xe7\\xe0\\x18\\x17\\x60\\x11\\x29\\x53\\x6b\\x28\\x9e\\x90\\x32\\xb8\\x03\\x8c\\x52\\x0c\\x5f\\xcd\\x49\\x4c\\xe8\\x65\\x4e\\x11\\x37\\x87\\x52\\xeb\\xa2\\x44\\x8a\\x96\\xc6\\xa2\\x56\\x86\\x2a\\x27\\x0e\\x12\\xa2\\x47\\xd2\\x09\\x5a\\xb1\\xe0\\xf6\\xb0\\xc4\\xb3\\x4a\\xad\\x4f\\x43\\x31\\x87\\x4e\\x96\\x14\\xea\\x5a\\xa7\\x2e\\x1a\\xbd\\xed\\x81\\x63\\x4f\\xac\\xde\\x56\\xab\\x1b\\x79\\xaf\\x67\\xe8\\x05\\x4d\\xe7\\x9c\\xf1\\x2f\\xe9\\xfa\\x60\\xfa\\xf8\\xc1\\x9d\\x6d\\xd5\\xd5\\x4b\\xb7\\xdf\\x34\\xa7\\xe1\\xdb\\x8f\\xfe\\x89\\xc5\\xd5\\x5b\\x7f\\x28\\x2b\\xde\\xf8\\xc5\\xb7\\xfb\\xf0\\x6d\\x1f\\xbe\\x20\\xb7\\x1d\\x79\\x66\\xdc\\x7a\\x3a\\x8e\\xb5\\x30\\x77\\x4f\\xf2\\xbb\\x40\\xc6\\x28\\x45\\x93\\x92\\x15\\xa6\\xa8\\xa4\\x8f\\xea\\x71\\x58\\x2c\\x20\\x47\\xfc\\xc4\\x58\\x99\\xa9\\x38\\x5a\\x1c\\x6d\\x4f\\x15\\x17\\xf3\\x41\\x47\\xb0\\x3d\\xe5\\x70\\xf3\\xde\\xf6\\x14\\x8f\\xf3\\x4a\\x89\\xf5\\xa8\\xc4\\x93\\x19\\x8b\\x72\\x28\\x38\\x13\\x04\\xa1\\xd5\\x10\\x2a\\x8a\\x61\\xc5\\x7c\\x6d\\x57\\x4a\\x4b\\xc5\\x12\\x43\\x31\\xae\\xd8\\xfd\\x9b\\xd7\\x7e\\xf6\\xeb\\xeb\\xe7\\x6d\\xdd\\xf4\\xca\\x53\\x9b\\x57\\xe0\\x83\\x17\\xcd\\xfc\\xc9\\xa2\\xa5\\x37\\xfe\\x79\\xdb\\x3d\\xeb\\x56\\xca\\xe3\\xf8\\x99\\xa7\\x7f\\x38\\xb8\\xeb\\xfa\\x03\\x1e\\x63\\xe8\\xb1\\xbb\\x8f\\xfe\\x21\\xc1\\xc5\\x56\\xdf\\xfc\\xca\\xbb\\x67\\x9e\\x2b\\xc5\\xc3\\x76\\x6e\\xd7\\x8d\\xe7\\x36\\x2b\\xb6\\xbc\\x6e\\x18\\xcb\\x05\\xec\\x5e\\x14\\x46\\x55\\x49\\x37\\x13\\x36\\xda\\xc3\\xf6\\x22\\xb1\\x28\\x54\\xc4\\x14\\xb8\\xf8\\x88\\x37\\x10\\xb6\\x62\\x91\\xe6\\x37\\x20\\x1b\\x0e\\x4f\\xcb\\xf0\\x53\\x36\\x11\\x77\\x3b\\x3c\\x71\\x65\\x73\\xc5\\xe0\\x42\\x72\\x09\\xac\\xdb\\x21\\x09\\xb1\\x86\\xfe\\x8d\\x4c\\x0d\\x8e\\xb1\\xa7\\x06\\xdf\\x35\\x48\\xbf\\xc7\\x1b\\xad\\xf1\\x3e\\x67\\x3a\\xff\\x3b\\x8b\\xed\\xfe\\x1a\\xc9\\xfe\\x93\\x29\\xed\\x51\\x76\\x55\\xf5\\x3a\\xf9\\xbc\\x57\\xf1\\x9d\\xfd\\xaf\\x2d\\x29\\xaf\\x13\\xaa\\xed\\x83\\xa6\\x3e\\xd3\\x7d\\xac\\x4d\\xfe\\xe0\\x5c\\x53\\x61\\xea\\x9d\\x14\\x5e\\xf9\\xb7\\x5f\\xb7\\xc0\\x1c\\x9f\\x0b\\x78\\x75\\x15\\x7f\\x07\\x0a\\x82\\x5c\\x3b\\x21\\x59\\x6d\\x41\\xa8\\x3a\\x54\\x5e\\x60\\x63\\x7d\\x25\\x3a\\xa7\\xcf\\x59\\x55\\x2d\\x56\\xb7\\x55\\xff\\xa2\\xfa\\x99\\x6a\\xce\\xc0\\x96\\x5b\\xdc\\xac\\xbb\\xa8\\x3d\\xe5\\x76\\xb3\\xc6\\xf6\\x94\\x2e\\xa7\\xb6\\x2d\\xc9\\x5e\\x9d\\xad\\x97\\x43\\x42\\x58\\xea\\xed\\x8a\\x4a\\xdf\\x3b\\x13\\x83\\xa4\\xa9\\xb6\\x8d\\x35\\x98\\xd5\\xbc\\x91\\xa4\\x08\\xd2\\xe9\\x3d\\x9b\\x66\\xde\\x5e\\x5b\\x91\\x98\\x35\\xe1\\xbc\\xf3\\x6e\\xdd\\x78\\xf9\\x6b\\xcf\\x1d\\x7d\\xe3\\xe9\\x7d\\xf3\\x3b\\x98\\x6b\\x96\\xcc\\x5f\\x3a\\xf9\\x62\\xdf\\xcd\\x57\\x72\\x0f\\x2e\\x5a\\xa3\\x24\\xaa\\x6e\\xbc\\x7c\\xe9\\x95\\x6f\\xac\\x7b\\xe7\\xfb\\x3f\\xbc\\x72\\xe4\\xeb\\x9a\\x19\\x9b\\xba\\x6b\\x77\\xec\\xdd\\x7f\\x64\\xe9\\xbe\\x0e\\x57\\xdd\\x1b\\x84\\xce\\xd2\\x7d\\xc9\\xbe\\x00\\xfc\\xe4\\xe2\\x64\\xff\\x98\\xcf\\x54\\x60\\xb0\\x47\\x0c\\x26\\x8e\\x07\\x45\\xa2\\xa6\\xd6\\x10\\x82\\x59\\x9f\\x90\\x0a\\x85\\x2a\\xac\\x56\\x77\\x7b\\x2a\\xe6\\xc0\\x7e\\x07\\x90\\x50\\x07\\x36\\xf3\\x0e\\xab\\xad\\xba\\x82\\xa9\\x50\\xad\\x4c\\x0a\\xff\\xa0\\x24\\x73\\x5a\\x6f\\x4c\\xd2\\x52\\x94\\xd3\\x6a\\x18\\x6a\\xed\\x26\\xd5\\xe7\\x2a\\x90\\x84\\xc9\\xea\\x78\\x69\\x79\\xf3\\x28\\xc9\\xee\\xae\\xfa\\x5f\\xd9\\xc8\\x4d\\xc7\\x0f\\x3f\\xbf\\x7c\\xf6\\x91\\x13\\xfb\\x36\\xae\\xc2\\x75\\x4d\\x81\\x99\\x35\\x5d\\xf3\\xcf\\x19\\x50\\x76\\xbf\\x3f\\x1c\\x1e\\xf1\\x8b\\x96\\xd6\\x75\\xcb\\x5a\\x6e\\x98\\x3a\\xf2\\x82\\x3b\\x6e\\xbe\\x70\\xa5\\x24\\x0c\\xb9\\x63\\xd1\\xea\\xe2\\xa3\\x8b\\x6d\\xbe\\x54\\xfb\\x88\\x69\\x36\\x4e\\x98\\x61\\x71\\x5d\\x32\\xf2\\x82\\x4b\\x5d\\x21\\xc5\\xee\\x96\\x92\\xb7\\xb1\\x45\\xfc\\x7d\\x80\\x53\\x17\\x26\\xe3\\x7e\\x87\\xc5\\xe6\\x76\\x0b\\x1c\\x39\\xf1\\x58\\x64\\x07\\x14\\x71\\x3a\\x26\\xa6\\x9c\\xa2\\x10\\x12\\x6a\\x05\\xc2\\x21\\xf4\\x9c\\xdf\\x82\\x40\\x85\\x92\\x30\\x4b\\x6a\\x5e\\xb2\\x38\\x93\\x3e\\x88\\xec\\x75\\x22\\x88\\xbf\\x98\\x97\\x86\\x3c\\x9b\\x8f\\xd8\\x45\\xed\\x69\\x5a\\x6a\\x0d\\x84\\x13\\x7c\\xa2\\xb8\\x51\\x32\\x32\\x92\\x2b\\x48\\x0a\\xab\\xb2\\x45\\x6b\\xef\\x6b\\x6f\\xbd\\x74\\xd6\\xf3\\x3f\\xc7\\x46\\x5c\\x2b\\x0b\\x78\\xe7\\xef\\xdf\\x3d\\xd2\\x59\\x7f\\xf1\\xb5\\x57\\xaf\\x9c\\x38\\x73\\x4d\\xc3\\xb0\\xd0\\xb9\\xfd\\x07\\x0e\\x74\\xc5\\x1e\\xd9\\xf5\\x14\\x7e\\x15\\x37\\x73\\xe3\\x97\\x04\\x42\\x23\\xe4\\x7f\\xc9\\xef\\xc8\\x9f\\x6f\\x69\\xed\\x1c\\x12\\x2a\\xbc\\x98\\x8e\\x85\\xd2\\x49\\x58\\x33\\x1f\\xa9\\xd7\\xc9\\xb8\\xdd\\x1e\\x8b\\x28\\x9a\\xf5\\x1e\\xbd\\x3f\\xe0\\x96\\xcc\\x01\\x89\\x61\\x38\\xce\\x39\\x31\\xc5\\xd9\\x68\\x45\\x7e\\x31\\x3f\\x3b\\x74\\x73\\x6e\\x06\\x65\\xe5\\xbc\\x8e\\x47\\xcd\\x99\\xec\\x00\\xe4\\x2b\\xf5\\xd1\\x3d\\x2d\\xd8\\xa3\\xf6\\x58\\x18\\x87\\x0d\\xbf\\x5b\\x7d\\xed\\xf5\\x3e\\xfb\\x2f\\x22\\x13\\xa7\\xcd\\xb8\\x7b\\xf7\\xf5\\xec\\xde\\xce\\xab\\x36\\xae\\xeb\\xde\\xb6\\x5a\\xfe\\x2c\\x51\\x7d\\x00\\x0f\\x64\\xba\\xa6\\x5c\\x70\\xce\\x99\\xaf\\xd8\\xff\\x8b\\xb5\\xf7\\x80\\x8f\\xa2\\x4c\\x1f\\xc7\\xe7\\x9d\\x77\\x66\\x7b\\x99\\xd9\\xd9\\xde\\x4b\\x36\\x9b\\x64\\xb3\\x69\\x9b\\x42\\x42\\x20\\x9b\\x84\\x12\\x21\\x98\\x84\\x22\\x19\\x5a\\x42\\xa4\\x08\\x22\\x5d\\x10\\x14\\x41\\xc5\\x82\\x62\\x43\\xb1\\x9f\\xa2\\x87\\xed\\x8c\\x1d\\x15\\x14\\xdb\\x89\\x28\\x22\\x22\\x1e\\x7a\\x96\\xb3\\x9d\\xf5\\x14\\xbb\\xe7\\x59\\xb2\\xc3\\xff\\x7d\\xdf\\x99\\xdd\\xec\\x06\\xf4\\xee\\xff\\xfd\\xfc\\xce\\x4b\\x76\\x37\\x59\\x36\\xef\\xf3\\xbc\\x4f\\xaf\\xf3\\x5c\\xc4\\x8e\\xeb\\x45\\xb4\\x74\\x36\\x7b\\x1d\\xf2\\xf3\\x04\\xca\\x8d\\x7c\\x9c\\x28\\xe7\\x74\\xaa\\x78\\x87\\x03\\x19\\x27\\x1e\\xaf\\xd9\\x8b\\xfc\\x1b\\x0e\\x9d\\x88\\xe3\\xac\\x5a\\x2d\\xde\\x9c\\x85\\x48\\x3a\\x67\\xbe\\xbb\\x42\\x35\\xc7\\xae\\x92\\x02\\xc4\\x89\\xe3\\x89\\x43\\x07\\x70\\xfd\\x5d\\x48\\x07\\x60\\x95\\x45\\x08\\xb9\\x01\\x3c\\xfb\\xe5\\x57\\xf6\\x3c\\xf3\\xdc\\xbe\\x97\\x5e\\x94\\xe6\\xb5\\x8b\\xc8\\xf4\\x7d\\x94\\x5d\\x74\\xfa\\x8a\\xd3\\x58\\x69\\x3c\\x3d\\x9b\\xde\\x2b\\x5d\\x2a\\x5d\\x0f\\x16\\x80\\x65\\x60\\x29\\xe8\\x93\\xae\\x04\\x81\\x15\\x5f\\x0e\\x80\\x13\\x00\\xff\\xeb\\x0f\\x40\\x00\\x6d\\xd2\\x9d\\x12\\xd9\\x8d\\x4f\\xf4\\x09\\x92\\x35\\x1c\\x55\\x9b\\xf2\\xb3\\x78\\xdc\\xb0\\xe5\\x1b\\x0b\\xa0\\x2c\\x15\\x16\\x5a\\x07\\xcd\\x46\\x24\\xf3\\xcd\\x2c\\xd4\\x42\\x2c\\xf5\\xb3\\x0e\\x3b\\x90\\x5d\\x31\\xc5\\x05\\xcb\\xcd\\x47\\x92\\x9d\\x46\\xdd\\xe5\\x85\\x65\\xad\\x91\\xc5\\xc9\\x29\\x93\\xce\\x07\\xf1\\x37\\x9a\\x9b\\xb9\\x66\\x97\\x7f\\xf9\\x7c\\xfa\\x56\\x57\\x02\\xfd\\xbd\\x18\\x42\\xd4\\x11\\xf4\\xf7\\x78\\xaa\\x3b\\x55\\xae\\x63\\x01\\xc3\\x32\\xc8\\x15\\x36\\x18\\xb5\\x2a\\xa3\\xca\\x22\\x50\\x42\\x50\\xa0\\x8d\\x90\\x41\\x16\\x6c\\xa7\\xa8\\xa7\\x74\\x2c\\xa3\\x05\\x9c\\xd9\\xa0\\xd5\\xaa\\x06\\x97\\x2a\\x0d\\xae\\x7e\\xca\\xc7\\x55\\x56\\x0e\\x6a\\xf1\\x2e\\x77\\xb2\\xfd\\x09\\x90\\x7b\\x44\\x47\\x1a\\x05\\x1e\\xda\\x75\\xba\\xf4\\x33\\x98\\x3c\\xef\\x28\\x25\\xfd\\x63\\xe3\\x1d\\xab\\x81\\x0f\\x3c\\x0f\\x3e\\x4b\\x38\\xa4\\x2f\\xd2\\xdf\\x3b\\x12\\xe0\\xed\\xc5\\xd2\\xd5\\x70\\x7e\\x66\\x76\\x77\\x2d\\x3a\\xe3\\x1b\\x48\\x97\\x38\\xa9\\x51\\xa9\\xa8\\x41\\xa0\\x19\\xa7\\xc0\\x08\\x2e\\xb7\\xd9\\xdd\\xe1\\x26\\x8d\\xc1\\x2c\\xa4\\xf5\\x66\\xb3\\x06\\xef\\x96\\x76\\x9e\\x60\\x07\\x76\\xa2\\x0d\\x67\\x26\\xe5\\xb8\\x82\\xa3\\x3e\\xf7\\x58\\x44\\x75\\xa8\\x40\\xa4\\x86\\x6c\\xa9\\xc8\\x8c\\x2c\\x75\\x00\\xc4\\x0d\\xb6\\x08\\x1d\\x0d\\x4b\\x1f\\xde\\x07\\xee\\x4b\\xb4\\xcd\\xf3\\xfa\\x8a\\x2a\\x47\\x77\\xcc\\x5c\\x39\\x0c\\x9c\\xc8\\xb5\\x84\\xf7\\xd0\\x03\\xb3\\xd2\\x7d\\x21\\xb8\\xeb\\xe2\\x0f\\x0c\\x93\\xfe\\x22\\xac\\xbd\\x6b\\x40\\xa8\\x28\\xd5\\x25\\xf0\\xd9\\xee\\x90\\xc6\\xc1\\x9f\\xc8\\x0e\\x3d\\x44\\xfb\\x26\\x9d\\x4e\\xcf\\x5a\\x2c\\x40\\x0f\\xac\\x36\\x9d\\xc7\\xc2\\xb2\\x6a\\x35\\x37\\x51\\x54\\xdb\\x19\\x80\\xd7\\x0e\\x19\\x30\\xed\\x57\\xe5\\x51\\x7f\\x8e\\x66\\x1b\\x5c\\xe6\\x8c\\x35\\x19\\x19\\xe5\\x41\\x12\\x87\\x70\\x3d\\xde\\xde\\x7c\\xc3\\xb2\\x8e\\xda\\x3b\\xee\\xb8\\x63\\xe1\\xd9\\xb0\\x7f\\xe0\\x06\\x57\\xe2\\xa4\\x85\\xe5\\x52\\x39\\xdb\\x97\\xee\\xed\\x4f\\xc0\\x00\\xc1\\x11\\x8b\\x68\\x7d\\x31\\x39\\xc7\\xb8\\x54\\xd8\\x6c\\xa0\\xd4\\x06\\xb5\\xd5\\x66\\xb6\\x21\\x27\\xcb\\x6c\\x32\\x21\\xea\\x36\\x99\\xab\\xb9\\x51\\x1c\\x3d\\x8a\\x03\\x9c\\x4e\\x6f\\x87\\x3b\\x8f\\x7e\\xf0\\x88\\x96\\x6b\\x83\\x0c\\x59\\xa2\\x86\\x94\\xd7\\xcc\\x65\\x4d\\x43\\xaf\\x90\\xcc\\xff\\x53\\xf4\\x16\\x88\\xe0\\xb4\\x11\\x40\\xba\\x8c\\xfe\\xa8\\xd2\\xb7\\x57\\x18\\x2e\\x3d\\x35\\x56\\xba\\x6d\\xec\\xbf\\x80\\xf5\\xa6\\x70\\x04\\xba\\x4b\\x2b\\xb4\\x89\\x50\\x59\\xe7\\x59\\xe9\\xe9\\x70\\xad\\x2b\\x91\\x0e\\x82\\x69\\xed\\xe7\\xca\\x77\\x37\\x0d\\xc9\\xb9\\x93\\x91\\x8e\\xaa\\xa6\\xb6\\xa5\\x0a\\x54\\x54\\xb8\\x2a\\x1c\\x85\\xb1\\x72\\x27\\xb4\\x45\\x8b\\xcb\\x59\\xbf\\x93\\xd7\\xfa\\x79\\x7f\\x4d\\x6d\\xac\\xbc\\xac\\xb8\\xa4\\xb8\\x4b\\x2c\\x29\\xd3\\xee\\x3c\\xfa\\x6d\\xaa\\xce\\xe1\\x6b\\xeb\\xd5\\x82\\x89\\x5a\\x60\\xe6\\x81\\xc6\\xe8\\xf4\\x39\\x69\\x2f\\xe3\\xe4\\x1c\\x9e\\x36\\x27\\xef\\xd7\\x56\\x45\\x55\\x65\\xd6\\x10\\x64\\x20\\xd3\\x25\\x22\\x0f\\xac\\x8c\\xb2\\xda\\x90\\x50\\xb4\\x02\\x8d\\x35\\x2b\\x14\\xeb\\x33\\xe2\\x1e\\x11\\x26\\x82\\x08\\x5b\\xcc\\x71\\x79\\xcb\\xda\\xa0\\x90\\xe4\\x33\\x33\\x97\\x2c\\xf5\\xf2\\x6a\\x03\\x40\\x76\\xfa\\x11\\x71\\xef\\xa7\\x65\\x6d\\x97\\x2b\\x3c\\x95\\x05\\x7f\\x51\\x24\\x42\\x87\\x83\\x02\\xcc\\x61\\x78\\x39\\x69\\xdb\\xc9\\xd5\\xc1\\xe0\\xd6\\x9b\\x6f\\xac\\x14\\xcf\\x9e\\x70\\xd6\\x39\\x58\\x9a\\xce\\x5c\\xf6\\xdd\\x33\\xfb\\xf6\\x9e\\x7e\\x1d\\xb8\\x4e\\x72\\x4e\\x5e\\x08\\xc6\\x9c\\xbd\\xe7\\xa5\\x95\\x30\\xac\\x5f\\x68\\x4c\\xde\\xb2\\xa6\\x65\\x52\\x6d\\x98\\xf7\\xcc\\xeb\\x56\\x64\\x6b\\x4d\\x93\\xb5\\xf4\\xb6\\xad\\xeb\\xf6\\x35\\xeb\\x43\\xd7\\xcd\\x7c\\x77\\x06\\x74\\xcf\\xa6\\x55\\x27\\x45\\x6f\\x5d\\x39\\x75\\x7d\\x36\\x4f\\xf1\\x10\\x7c\\x1e\\xf9\\x54\\x13\\x09\\x2e\\xbd\\xe8\\x35\\xde\\x37\\xec\\xa7\\x5a\\x53\\x51\\x4a\\xe7\\xe7\\x1d\\xbc\\xce\\xc8\\x04\\x82\\x0e\\x9b\\xc7\\xd6\\x25\\x7a\\xec\\x7e\\x3d\\x6f\\xe6\\x3b\\xc5\\x94\\xb1\\xd3\\x48\\x1b\\x91\\x0c\\x86\\x36\\x3c\\x88\\xbb\\x7c\\xa6\\xb2\\x1e\\x37\\x6f\\x1b\\x2b\\x02\\x97\\x56\\xa9\\x23\\x35\\x23\\xe9\\x3a\\x01\\xf9\\x31\\x75\\xa1\\x9c\\xf4\\x23\\xce\\xc6\\x83\\x53\\x93\\x36\\xfd\\x63\\xd5\\x71\\x97\\xa6\\xe4\\x82\\x8a\\x7a\\x1b\\x7c\\x7c\\x77\\x45\\xa1\\xaf\\xc6\\x39\\xb9\\xe2\\x21\\xd8\\x9d\\xbe\\xf0\\x91\\x92\\x44\\x6d\\xd7\\xf2\\x69\\xe0\\xcd\\x0d\\x87\\x27\\xa7\\xcf\\xc6\\x22\\xc5\\x1a\\x79\\x8b\\xbe\\x4a\\xb1\\xfb\\xee\\x81\\xcf\\x22\\x52\\xf7\\x50\\xc3\\x53\\x01\\xb7\\xc9\\x64\\x16\\xd4\\x66\\xb5\\xd7\\x67\\xf6\\xdd\\xef\\x43\\xdc\\x6a\\xf2\\xe8\\x39\\x24\\x4a\\xec\\xd0\\x81\\x2e\\x8f\\x1b\\xdc\\xa5\\x91\\x2f\\x3b\\x14\\xeb\\x03\\xdf\\x01\\x3e\\x0e\\x62\\x07\\x32\\xf5\\x1a\\xab\\x66\\x17\\xb0\\x6f\\xdc\\x75\\xf7\\xb9\\x87\\x96\\xcf\\x7d\\xec\\xf4\\xd3\\xcf\\xba\\x1d\\x9c\\x7d\\xd6\\xd9\\xa3\\xce\\xec\\x7a\\x6e\\x11\\x5d\\xf9\\xdc\\x81\\x73\\xbf\\xbd\\xe5\\xd2\\xfd\\x8b\\x4a\\xa4\\x5a\\xf0\\xed\\xae\\xfb\\x2e\\x7b\\x7e\\x9e\\xf4\\x91\\x54\\x14\\x97\\xe9\\x70\\x3c\\xa2\\x43\\x07\\xd2\\x51\\x21\\xaa\\x33\\x55\\x6a\\xf2\\xeb\\x20\\xc2\\x9d\\x43\\x17\\x8e\\x98\\x23\\x4d\\x11\\x24\\xe1\\x74\\xc0\\x04\\x79\\x1d\\x84\\x46\\xbf\\xc7\\x43\\x75\\x8a\\x1e\\xce\\x68\\x42\\x34\\x65\\x44\\xc4\\x97\\xa1\\x29\\x45\\x98\\xa0\\x63\\x82\\x5c\\x71\\x42\\x66\\xd9\\x65\\xd4\\xe9\\x10\\x8a\\xb1\\x64\\x0c\\x28\\x30\\xb0\\x78\\x73\\xf5\\x29\\x37\\x2c\\x59\\x7a\\xee\\xb6\\xae\\xb1\\x33\\x67\\xbe\\x75\\xff\\xca\\x7d\\x2b\\x97\\xae\\xaf\\x8b\\xb7\\xc0\\xb3\\xa4\\x8f\\xde\\x1a\\x23\\x36\\x14\\x7a\\xe6\\x76\\xcf\\x3e\\xb7\\xb6\\x25\\x38\\xa1\\xae\\xbe\\x41\\x40\\x34\\xb1\\x1d\\xb8\\x6f\\x0b\\xbf\\x75\\x4e\\x65\\xd6\\x27\\xa8\\x64\\x9c\\x24\\x8b\\x52\\x9f\\xf2\\x7a\\x8c\\x4e\\x44\\xf6\\x40\\x6d\\x54\\xfb\\x03\\xd0\\x89\\x55\\x18\\x95\\xe2\\xcc\\x3a\\x4b\\xa7\\xa8\\x53\\x94\\x97\\xfb\\x95\\xdc\\x65\\xf1\\x19\\xe1\\x92\\x54\\x87\\x32\\x96\\x32\\x5d\\x53\\x5d\\x90\\x0c\\xc9\\x93\\xc4\\x63\\xc4\\xda\\x81\\x3f\\xd7\\x5b\\xa4\\x77\\x67\\x9e\\xfc\\xe5\\xde\\xfd\\xdf\\x03\\xdf\\xcf\\x60\\xa6\\x34\\x65\\xd9\\x86\\x96\\x86\\xa7\\x5e\\xda\\xca\\x38\\x9f\\x51\\x77\\xfd\\x7d\\xc5\\xeb\\xff\\x06\\xa6\\xf7\\xdf\\xf9\\x79\\xe0\\xf2\\x97\\x1e\\xdb\\xf4\\xf7\\xc6\\x83\\x7b\\x77\\x1d\\xa4\\x14\\x7d\\x05\\x75\\x44\\xee\\x0c\\x4f\\xf9\\x69\\xb5\\xda\\x62\\xb1\\x32\\x58\\xee\\xe8\\xa1\\x5e\\x4b\\xd6\\xfd\\xdb\\x55\\x48\\x13\\x77\\x8a\\x34\\x34\\x53\\xb9\\xfb\\x62\\xc8\\x7d\\x67\\x0b\\x0f\\x05\\x42\\x81\\x64\\x9b\\x7a\\x56\\x75\\x5d\\x83\\xc8\\x8e\\x7e\\x51\\x7a\\xfb\\x94\\xe2\\x56\\xe7\\xe2\\xaa\\xee\\x85\\xb0\\x9b\\x10\\xdb\\xb9\\x98\\xd6\\x4e\\x5d\\x8c\\x88\\x8d\\xfc\\x7d\\xe2\\x5b\\xc1\\x3d\\xc8\\x5f\\x6c\\x49\\x45\\x35\\x90\\x37\\x99\\x6c\\xd0\\xe6\\x74\\x99\\x5d\\xe5\\xae\\xfb\\x5d\\x10\\xf7\\x64\\x76\\x88\\x16\\x4e\\xc5\\x20\\xa3\\xd7\\x4c\\xe9\\x87\\xec\\x74\\x1f\\x4a\\x74\\xac\\xa2\\x32\\xf9\\x41\\xdb\\x16\\x23\\x8c\\xa6\\xe9\\x87\\xf0\\x3a\\xf7\\x05\\xb3\\xcf\\x5a\\x96\\x6c\\x05\\x37\\x5e\\xf9\\xae\\xf5\\xc1\\xbb\\xe8\\x10\\x12\\x74\\x8b\\xe7\\xac\\x7c\\xe4\\x8d\\xfb\\xde\\x2c\\x3a\\x21\\xf4\\xdd\\x6b\\x5f\\x4b\\xbf\\xe2\\xc5\\x94\\x52\\x3b\\x73\\x22\\xf2\\xdf\\x5c\\x64\\xa3\\x5e\\x99\\x16\\x99\\xa6\\x41\\xe4\\xeb\\x01\\xb7\\xdd\\x0e\\x58\\x18\\x29\\x30\\x17\\x00\\x2d\\x34\\x07\\x5d\\x41\\x84\\x12\\x97\\x5d\\xa3\\xed\\x10\\x35\\x1a\\x41\\xc0\\xab\\x76\\x38\\xd9\\xf7\\xc1\\x18\\x2a\\xcf\\x2e\\xd7\\x91\\x4f\\x28\\xb3\\x6c\\x32\\xab\\xc0\\x22\\xf2\\x98\\xaf\\x3a\\xb5\\xbc\\x7e\\x34\\xe3\\x09\\xd1\\x6a\\x62\\x2c\\xd9\\x78\\x24\\xa5\\x37\\x2e\\xfc\\xfc\\xa3\\x3b\\x9e\\x03\\xbd\\x93\\x2e\\xb8\\x62\\xed\\xb2\\x3f\\xf5\\x1f\\x79\\x0f\\x38\\xba\\x3b\\x97\\x5c\\x7e\\x91\\xd4\\x0e\\xb6\\xf3\\x5f\\x7e\\xfa\\xfe\\x77\\xe1\\x13\\x0a\\x9e\\xfc\\xeb\\x33\\x2f\\x38\\xe8\\x39\\x97\\xdd\\xf0\\xdd\\xbf\\x3e\\x92\\x7e\\xb5\\x82\\x6f\\x5e\\x78\\xf5\\xef\\xe9\\x9b\\x6d\\xfb\\xb1\\xcf\\x23\\x21\\x3e\\xde\\x88\\xee\\xd5\\x87\\xbd\\x37\\x8b\\x93\\x77\\xe9\\x18\\x3d\\x45\\xb9\\x78\\xbd\\x4b\\xaf\\xb1\\xda\\xed\\x01\\xbf\\x4a\\xa3\\xf1\\x37\\x05\\x80\\x45\\xe7\\x64\\x18\\xbb\\xd5\\x68\\x32\\x7b\\x35\\x2a\\xb2\\x26\\x48\\x9e\\xbe\\x8f\\xd4\\xee\\x4c\\x25\\xfc\\x9d\\x35\\x05\\xe4\\x60\\x1e\\x61\\x19\\xec\\xfd\\xd0\\x48\\xfc\\x50\\x75\\x90\\xa8\\x18\\x87\\x60\\x41\\xce\\x28\\x0d\\x89\\x22\\xa6\\xbf\\x34\\xc4\\x0d\\x6f\\xbc\\x30\\xfd\\x21\\xd0\\x30\\xfe\\x93\\xe0\\x82\\xc7\\x5c\\xbe\\xdd\\xd7\\xcf\\xbc\\xff\\xa6\\x9d\\x40\\x67\\x4f\\x86\\xa5\\x76\\x4d\\xa7\\x1f\\x7c\\x24\\x9d\\x71\\x28\\x44\\x9f\\x70\\x25\\xf8\\x60\\xb4\\x90\\xe0\\x47\\x4b\\xe3\\x41\\xd5\\x5b\\x31\\xe9\\x2b\\xe9\\x8a\\xf4\\xc1\\xf2\\x02\\x56\\xb1\\x1b\\x3c\\xe8\\x2e\\x3e\\x67\\x5e\\x45\\x76\\xc3\\xe4\\x54\\x29\\xa5\\xd3\\xd9\\xf5\\x7a\\xb5\\xd5\\x4c\\x23\\x71\\xe4\\x72\\x53\\xee\\x5e\\x37\\xe2\\x7b\\x15\\x67\\xc1\\x4b\\xff\\x1d\\xd0\\x62\\xa6\\xec\\x06\\xe4\\x53\\x68\\x0d\\x76\\x1d\\xbe\\x87\\xcc\\x02\\xa8\\x64\\xf9\\x50\\xb5\\x38\\x18\\x7b\\x2a\\x90\\x43\\x4c\\x1c\\xcb\\x93\\x0b\\x91\\x29\\x87\\xe5\\x93\\xf4\\x63\\xc8\\xa2\\xf3\\xaf\\x91\\xda\\x16\\xbe\\xfb\\x2e\\x22\\x1b\\x60\\x5d\\xd8\\x68\\xfe\\x90\\xde\\x90\\x70\\xa5\\xdf\\x96\\x9e\\x34\\x49\\x33\\xc1\\x6d\\xea\\x3f\\xdf\\x45\\x17\\x22\\xfa\\xd9\\xf0\\xa1\\x99\\xb9\\x5a\\x8e\\x99\\x22\\x1e\\xff\\x11\\x3e\\x83\\x3c\\x39\\xe4\\xf7\\x38\\x79\\xba\\xa0\\xc0\\x16\\xa2\\x54\\xaa\\x10\\x0f\\x4b\\x13\\x4b\\x13\\xa0\\x33\\x01\\x02\\x09\\xc4\\x6d\\x40\\x07\\xc3\\x61\\xe8\\x29\\xd6\\x22\\x65\\x69\\xd2\\xda\\xb1\\xe6\\xc3\\x15\\xd4\\x74\\x87\\x2c\\x4c\\xf3\\x89\\x07\\x07\\x8b\\x88\\x6d\\x88\\xa3\\xbc\\x39\\x34\\x84\\x6d\\xd8\\x68\\x8d\\xdd\\x22\\x3b\\xcd\\x11\\xd9\\x07\\xb2\\x28\\x1a\\x0d\\x3b\\x3a\\x31\\x39\\xe1\\xaf\\x26\\x69\\x79\\xa6\\x49\\xfa\\xe5\\xb5\\x2f\\xee\\xfb\\xd3\\x63\\x27\\x68\\x4e\\xd8\\x79\\xd3\\x8e\\x2f\\x0f\\x6d\\xb8\\xf0\\xd4\\x59\\x8d\\xb3\\xcd\\x5a\\xcf\\x1d\\x85\\x7c\\x77\\xe3\\xac\\x79\\xe0\\x36\\xb0\\xf2\\x94\\x96\\x88\\xf4\\xd1\\x3b\\x07\\xbf\\xd8\\xbd\\xfb\\x8b\\x83\\xef\\x02\\x6f\\xb8\\xa5\\xea\\xbb\\x5d\\x37\\x3c\\xba\\xb2\\xaf\\xf6\\xfa\\x9a\\xea\\xea\\xba\\x03\\x73\\x4e\\xbb\\xff\\xe8\\xd1\\xa3\\xdf\\x91\\x58\\x89\\x29\\x13\\x2b\\xa1\\x16\\x3e\\x44\\x51\\x86\\xc7\\x68\\x00\\x23\\xbc\\x91\\xc3\\x31\\x90\\x6c\\xac\\xc4\\x94\\x89\\x95\\x50\\x0b\\xa9\\x3b\\x29\\xf9\\x5d\\x9e\\x12\\xa7\\x1c\\x29\\x19\\xd4\\x8d\\x38\\xee\\x82\\x75\\x23\\x89\\xcd\\x7c\\x48\\x62\\x33\\xf4\\x30\\x87\\x3b\\x13\\xbf\\x91\\x3f\\x6b\\x7b\\x36\\xee\\x52\\x4f\\xbd\\x2d\\xc7\\x6f\\xba\\x9c\\x1e\\xf2\\x51\\xe8\\x3d\\x04\\xef\\xe4\\x3d\\x67\\xca\\xef\\x01\\x1b\\xe4\\xf7\\xd4\\x94\\x96\\xf3\\x2a\\x1c\\xc1\\x41\\x3a\\x0d\\x7d\\x0e\\x8e\\x65\\x58\\xc8\\xf6\\x92\\x28\\xa7\\xf5\\xf9\\x82\\x2c\\xb4\\xd3\\x05\\xf6\\x82\\x58\\x51\\x90\\x55\\xa9\\x58\\x24\\x5d\\x54\\x82\\xdb\\x8d\\xec\\x2c\\x37\\x10\\x90\\xb4\\x13\\xfe\\x97\\x7d\\xc2\\x4a\\x88\\xa2\\x46\\x09\\x5a\\xc8\\x7b\\x84\\x87\\x46\\x35\\xe8\\x22\\x12\\xab\\xc0\\x61\\x8b\\x4d\\xab\\xf7\\xbf\\x93\\x09\\x66\\xbc\\x36\\x2a\\x13\\xa2\\xb8\\x19\\x87\\x2c\\xd2\\x2f\\x6e\\xbe\\xb5\\x7b\\xdf\\xd3\\x74\\x7d\\x4e\\x3c\\xe3\\x85\\xd7\\xc9\\xdc\\x36\\x74\\xf6\\x9f\\xd8\\x4b\\x91\\x9f\\x59\\x82\\xe3\\x49\\x86\\x98\\xc3\\xa1\\x06\\x25\\x16\\x8b\\x1f\\xa8\\x41\\xbc\\xd4\\x5d\\x80\\x4e\\x4c\\x59\\x91\\x45\\x81\\x94\\x87\\xa6\\x43\\x2c\\xf6\\xeb\\xcc\\x0c\\xde\\xe5\\xad\\x9c\\x7f\\x4f\\x55\\x3c\\xbb\\xec\\x26\\xeb\\xa6\\x65\\x66\\x0f\\xf2\\x56\\x3a\\x92\\x2f\\x30\\xf9\\x6c\\xe2\\xdb\\x87\\xe8\\x27\\xa6\\x14\\x13\\x0e\\x07\\xf0\\xa9\\xf7\\x5f\\xda\\xbd\\x17\\xb1\\xc2\\xd2\\xd3\\x2e\\x3e\\x43\\x5c\\xbd\\x71\\xc3\\xb2\\x4d\\x1b\\x86\\xbd\\x37\\xbc\\xa5\\xa1\\xe5\\xe6\\xe9\\xb0\\x5b\\xba\\xe8\\x1b\\xe9\\xb7\\x7b\\xfb\\x65\\x81\\x3a\\x77\\xc5\\xc3\\x6f\\x82\\x4b\\xb6\\x6c\\xba\\xf0\\xaa\\x67\\xde\\x6a\\x9b\\x7c\\xe0\\x8a\\xcd\\xf3\\x7b\\x5f\\xc1\\xfc\\x81\\xd4\\x38\\xfb\\x0e\\xdb\\x8e\\xe4\\x51\\x32\\xe5\\x32\\xf0\\xbc\\x3f\\xe0\\x36\\xdb\\x1d\\xd0\\x80\\x2c\\x9e\\x1e\\xd1\\x6c\\xa1\\xd4\\xbd\\x22\\xa4\\x18\\x65\\x4b\\x59\\xc6\\x2d\\xa9\\xcf\\xe6\\xe4\\xab\\x1c\\x82\\x1c\\xc8\\xa0\\xb3\\xe5\\x66\\x74\\x41\\xa4\\x26\\x48\\x09\\xb5\\x96\\x5a\\x96\\x3d\\xad\\x4f\\xdd\\x5a\\x15\\x9f\\xd7\\xf3\\xcc\\xd2\\xd7\\xd3\\x5b\\x5f\\xbf\\x53\\x3a\\x72\\x0b\\x98\\x08\\xce\\xf1\\x58\\x36\\xbf\\xce\\xb6\\x57\\x4a\\x3f\\xad\\x59\\xf0\\xae\\x74\\xe3\\x21\\x69\\x29\\x89\\x16\\x3f\\xfe\\x02\\x58\\xf0\\x4a\\x8d\\x74\\xb7\\xf4\\xe4\\x1e\\x50\\xdf\\x8f\\x69\\x11\\x50\\x94\\x5a\\xcf\\xb6\\x73\\x31\\x78\\x1e\\xa8\\x90\\xa9\\xe8\\x68\\xc9\\xd1\\x1b\\x28\\xf5\\x43\\x20\\x04\\xe5\\xbc\\xae\\x7c\\x7e\\xd5\\x39\\x88\\xce\\xce\\x53\\xe2\\x99\\x5b\\xc1\\x0a\\x12\\x03\\x4d\\xc8\\x31\\xd0\\xcf\\x76\\x54\\xf8\\x1d\\x30\\x27\\xa2\\x09\\xa9\\xd1\\x48\\x06\\x7f\\x83\\xee\\x0e\\x89\\x26\\x04\\x37\\xf2\\xcf\\x38\\x8f\\xd6\\x6c\\x16\\x54\\xe8\\x77\\x0e\\x03\\x34\\xf8\\x03\\xe6\\x40\\x20\\x50\\x1e\\x80\\x1a\\xa8\\xa6\\xdc\\x56\\x15\\xf2\\x5e\\xb5\\x2a\\xce\\x23\\x00\\x01\\x99\\xfb\\xc0\\x4e\\xe5\\x8a\\x31\\xf9\\x21\\x7f\\x1d\\x77\\x66\\x57\\x23\\xe0\\x0b\\x10\\xd5\\xd5\\xa1\\x9b\\x45\\x14\\x87\\x84\\x19\\xc0\\x2a\\xc5\\x04\\x58\\x44\\x9e\\x48\\x93\\x20\\x51\\xdb\\x77\\xe0\\xd0\\xe2\\x03\\x87\\xa4\\x3e\\xe9\\xae\\xa5\\x6b\\xd7\\x2e\\xa5\\x5b\\x96\\x9f\\xb1\\x6a\\x25\\xd2\\x23\\xb7\\x79\\xc1\\xa1\\xf7\\x7f\\x35\\x83\\x97\\xa4\\x5a\\xd3\\x4f\\x1f\\x4b\\xc9\\x80\\x34\\x13\\x5e\\xfe\\xda\\x53\\x26\\x58\\x63\\x7a\\xfc\\xe0\\xb3\\x7f\\xb5\\x0c\\x1c\\xb4\\x3c\\x4f\\xec\\x17\\x8a\\xc8\\xb6\\x7e\\xca\\x46\\x95\\x51\\xed\\xa9\\xa8\\x9d\\x0b\\x07\\x4a\\x84\\x80\\x1e\\xf9\\xe5\\xe5\\x15\\xc1\\xa0\\x86\\x4f\\x58\\x4d\\x3c\\xf2\\x2f\\x39\\xde\\x1c\\x73\\x69\\x5c\\x5d\\x22\\x0b\\x35\\x76\\x4a\\x09\\xff\\xe7\\x6d\\x9c\\xcc\\xee\\x9e\\xc0\\xd1\\x9b\\xec\\xf8\\x50\\x59\\x80\\x71\\x75\\x8a\\x19\\xab\\x6c\\x47\\xce\\x17\\x62\\x35\\x5c\\x2c\\xa4\\x62\\x7e\\xcc\\x4a\\xb1\\x67\\xef\\x42\\xd6\\x05\\xf3\\xfe\\xb3\\xcf\\x0e\\xf0\\xf9\\xc2\\xec\\x49\\xa9\\x69\\x37\\xb8\\x5d\\x16\\x64\\x20\\x78\\x15\\x32\\x39\\xb6\\x4a\\xef\\xe7\\x4b\\xb2\\x9b\\x40\\xdd\\x7a\\x32\\x07\\xcc\\x87\\xf4\\xcb\\x7c\\x64\\x53\\x36\\x52\\xa7\\xa4\\x6a\\xf9\\xa2\\x22\\x57\\x31\\xc7\\x55\\xea\\x2a\\x69\\x17\\x0c\\x35\\x84\\x1a\\x46\\x8c\\x2c\\xe6\\xf8\\x22\\xae\\xc8\\x56\\x6a\\x0e\\x15\\x14\\xf8\\x26\\x8a\\x05\\x9c\\xcd\\x56\\x6f\\x30\\xd4\\x4c\\x14\\xf5\\x06\\xfb\\x71\\xd6\\xea\\x39\\x9b\\x06\\x57\\xea\\x0e\\x0e\\x1e\\xcd\\x19\\x0c\\x9b\\xcc\\x5d\\xa8\\x37\\x02\\xa8\\x71\\x5d\\x16\\x8e\\xf0\\x44\\x10\\xd3\\xd5\\x29\\x62\\x24\\xa2\\xb0\\x5f\\x14\\xcf\\x8a\\xc0\\x9e\\x9b\\x4d\\x99\\xbd\\xc0\\x5b\\x55\\x70\\x64\\x66\\xa3\\x9e\\x73\\xd1\\xc9\\xd2\\x01\\xde\\x78\\x97\\xed\\xe2\\xe6\\xb1\\x8d\\x23\\xeb\\x4e\\x39\\x69\\xd1\\xc9\\xa0\\xc2\\x62\\xb8\\xcb\\x76\\x21\\x79\\x9d\\xdd\\xa7\\xd7\\x46\\x1f\\x38\\xd0\\xf4\\x5a\\xeb\\x45\\x45\\x63\\x53\\xdb\\x16\\xaf\\xbb\\xf2\\xba\\x29\\xad\\x17\\xde\\x78\\xe0\\xc0\\xac\\x57\\xc6\\xfd\\xb9\\x60\\x6c\\x73\\xff\\xea\\x3e\\xfc\\x13\\x69\\x3f\\x59\\xa7\\x87\\xee\\x79\\xb2\\xd4\\x4e\\xf2\\xea\\xd8\\x4e\\x1d\\x99\\x0a\\x5a\\x34\\x66\\xa7\\x99\\x62\\x29\\x16\\x11\\xaa\\xad\\x47\\xd4\\x98\\x2d\\x5a\\x93\\xc1\\xd4\\x23\\x1a\\x3c\\xb4\\xa7\\x47\\xa4\\x19\\x2a\\x7f\\xad\\x68\\xce\\x02\\x1c\\x64\\x10\\x2a\\x39\\x72\\x56\\xe1\\xd6\\x02\\x4a\\xc8\\xc9\\xa0\\x4f\\x56\\x12\\xe4\\x9f\\x48\\x47\\x70\\x6a\\x52\\xfa\\x52\\xfa\\xe4\\x50\\x26\\x79\\x4e\\x6f\\x53\\x32\\xe2\\x2f\\x48\\xdb\\xdd\\xd2\\x3d\\x84\\x65\\x27\\xbb\\xc0\\x2c\\x50\\x9f\\x9f\\x39\\xc7\\x76\\x35\\xe2\\x2f\\xe4\\x5f\\x51\\x1c\\xe5\\xc5\\xe7\\x75\\xd0\\x5a\\x5e\\x8b\\xa9\\xd2\\xe7\\x37\\x21\\x5e\\x32\\x71\\x5a\\x77\\x87\\x48\\x6b\\xed\\x50\\x43\\xd6\\xff\\xe5\\xef\\x70\\x1e\\x72\\x5e\\xc0\\x65\\x4f\\xca\\x1f\\x33\\x8e\\x04\\x3e\\x24\\xdd\\x7a\\xab\\xe4\\xda\\x26\\xdd\\xfa\\xe6\\x3f\\xde\\x78\\x7b\\xc7\\xd9\\x17\\x9c\\x77\\xfa\\xea\\x73\\x36\\x6e\\x00\\xef\\x48\\x63\\xca\\xa5\\x6d\\x64\\xb3\\x78\\x4f\\x29\\x78\\xea\\xeb\\x81\\xff\\xfc\\xf0\\xe6\\x5f\\x1f\\xff\\xe0\\xa3\\x27\\xf7\\xc8\\xf6\\xcb\\x64\\x69\\x31\\x73\\x08\\xe1\\xb3\\x00\\xf7\\xb3\\x50\\x0e\\x1f\\xa7\\x75\\x68\\xa3\\x85\\x1c\\x65\\x70\\xbb\\xc3\\x3d\\xa2\\xcf\\xcd\\x18\\x0d\\x3b\\xc1\\x78\\x52\\xe6\\x99\\x1f\\xfe\\x93\\xcb\\x90\\xb0\\x4b\\x02\\x07\\x5d\\x92\\x72\\x50\\x40\\xe1\\xd4\\x0f\\x11\\x85\\xd8\\x93\\xa2\\x41\\x74\\x46\\xff\\xce\\xf9\\xfd\\x67\\x8e\\xbe\\x69\\x5b\\xeb\\x94\\x95\\x1b\\xef\\x96\\x7e\\x93\\x3e\\x05\\x0b\\xc0\\x84\\x43\\xdf\\xaa\\x5a\\xfc\\x63\\x76\\xf5\\x7e\\xff\\x1b\\x7d\\x60\\xed\\xbd\\xeb\\x5a\\x0a\\x5b\\xda\\x7b\\x9a\\x4f\\xbd\\xb8\\x62\\x8c\\xa7\\xa3\\x79\\x58\\x57\\x71\\xdd\\x34\\x30\\xe2\\x30\\x18\\x09\\xa6\\x27\\xa5\\x77\\xee\\x8b\\x97\\x4b\\x1f\\xca\\xfe\\xd5\\xb5\\xd0\\x83\\x7c\\x14\\x3f\\x55\\x96\\xb2\\x63\\xe7\\xca\\xa7\\x73\\xc0\\x40\\x90\\x87\\x26\\xa3\\xd7\\xed\\x46\\xea\\xc5\\x2d\\x07\\xfe\\xb8\\xbd\\x7b\\xaa\\x72\\x16\\xa4\\x2a\\xf9\\xa9\\xe3\\x78\\x4f\\x1c\\x35\\x1c\\xd4\\x25\\xd5\\xf4\\xb0\\x6b\\x6f\\x21\\xae\\xd3\\xc6\\x9b\\x65\\xd7\\x09\\xe8\\x3e\\x5a\\x3e\\xac\\xde\\x02\\xbb\\xbf\\xf8\\x3c\\xe3\\x38\\x21\\x67\\x3a\\xeb\\x38\\x01\\x23\\x68\\x58\\xf4\\x0c\\x95\\xad\\x7f\\x29\\x26\\x79\\xe8\\xee\\x54\\x35\\x5e\\xff\\xac\\xb7\\xa8\\x20\\x92\\x6d\\x54\\xaf\\xd8\\xc3\\x2f\\xe1\\xe9\\x04\\x0f\\x20\\x22\\x32\\x9e\\xd6\\xb2\\x3c\\xcf\\x68\\xb5\\x5c\\xaf\\xa8\\x55\\xf7\\x88\\x5a\\x88\\x17\\x45\\xf7\\x88\\xcc\\x60\\x49\\x4c\\x6e\\x7d\\x07\\xa9\\x8c\\xc9\\x9e\\x3e\\x5b\\x1e\\x4c\\xb2\\xd1\\x71\\x80\\x2c\\xc2\\x48\\x0c\\xdc\\xf5\\x7e\\xfa\\xd9\\x5b\\xfa\\xe1\\xd7\\x2d\\xc1\\xa5\\x87\\xdf\\x01\\x9f\\x8d\\x08\\xd0\\xd3\\xd2\\x3f\\x91\\xa4\\xf9\\xcd\\xee\\x1a\\x9c\\x85\\x4e\\x1f\\x1a\\xb8\\x8d\\x9c\\x31\\x20\\x8d\\x86\\x67\\x13\\xff\\xa9\\x2e\\xe5\\x37\\x02\\x40\\xab\\x39\\x1a\\x5a\\x6d\\x46\\x84\\x31\\xa3\\x91\\x66\\x59\\x64\\x52\\xb0\\x10\\x7d\\x99\\x69\\x2f\\xf6\\x0e\\x06\\x0d\\x8a\\xec\\x11\\xa2\\x72\\x4c\\x4d\\xf9\\xf3\\x49\\xb9\\x96\\xa4\\xeb\\x8e\\xcd\\xb0\\x07\\xff\\xf5\\x0b\\x3f\\x0d\\x8c\\x18\\x11\\xd8\\x97\\x3e\\x8b\\x75\\x66\\xfe\\xf2\\x36\\x69\\x8e\\xfc\\xb7\\x37\\x22\\xfc\\x38\\x10\\x7e\\x5c\\x54\\x41\\x8a\\x13\\x8c\\x2a\\xbc\\xc0\\xc1\\xa3\\xb3\\xdb\\x19\\x0e\\x62\\xd8\\x71\\x18\\xe5\\x40\\x4e\\x15\\x50\\xd4\\x8a\\x03\\xb2\\x48\\xbf\\x0b\\x21\\x01\\x39\\x47\\x72\\x64\\x48\\x05\\x43\\x50\\x05\\x6f\\x99\\xf6\\xac\\xde\\x3e\\x6e\\xe0\\x3f\\x53\\x5d\\xe8\\x89\\xa3\\x19\\x6a\\x7b\\x5c\\x37\\xf5\\x70\\x09\\x57\\xb2\\xf4\\x3c\\xd0\\x0d\\xae\\x5f\\xd9\\x4c\\x5e\\x94\\x5d\\x28\\xbd\\x2e\\xa5\\x56\\x66\\xf2\\xa9\\xb0\\x0a\\xe9\\x36\\x35\\x15\\x4b\\x09\\x14\\xcb\\x00\\x16\\xe0\\xb9\\xb6\\x13\\x45\\xf4\\x73\\xe4\\x31\\xda\\xe4\\x3f\\x9f\\x5b\\x84\\x24\\x84\\x20\\x2e\\xc4\\x48\\x7e\\x40\\x4f\\xbc\\x79\\xd6\\x45\\xe9\\xfe\\xbb\\x67\\xd1\\xff\\x4a\\x3b\\xe8\\x35\\xd0\\x8a\\x3f\\x4f\\x27\\x8d\\x66\\xb7\\xb2\\x0b\\x91\\xd7\\x95\\x4a\\x85\\x34\\xda\\x30\\xe5\\xd1\\x52\\x46\\xb2\\xc7\\xdc\\xe1\\xd5\\xa9\\x39\\x75\\x9f\\xc8\\xf8\\xd1\\xd5\\x32\\x7e\\x68\\xe0\\x70\\x35\\x44\\x39\\x2e\\x32\\x90\\x6f\\x77\\x70\\x22\\xb5\\xfc\\x87\\x42\\x58\\x1b\\x16\\x16\\xe0\\x18\\x9c\\x0a\\x8f\\xdf\\x4e\\x06\\x19\\x0b\\xb2\\x75\\xd4\\xb1\\x5a\\x4b\\x4d\\x35\\x8d\\xdd\\x65\\x9e\\x7e\\x79\\xc7\\xd6\\xa5\\xd2\\x8b\\xcf\\xcd\\xb9\\x66\\x7d\\xec\\xec\\xdf\\x2e\\x43\\xb6\\xd4\\x0d\\x1f\\xad\\x9f\\x35\\xb2\\xbe\\x45\\x9c\\x36\\x67\\x11\\xf8\\x6c\\xf7\\x8f\\xce\\x2d\\xdb\\x75\\xe9\\x34\\x4d\\x99\\x67\\x9c\\x70\\xd2\\xb8\\xa3\\x52\\x42\\xfa\\xf4\\x5d\\xa9\\xf2\\xd2\\xc0\\x1a\\xd0\\xfd\\xd4\\x5d\\xe0\\x84\\x4b\\xae\\xbd\\x31\\xfd\\x9c\\x4c\\xa3\\x94\\x34\\x9a\\xa9\\x60\\x4c\\x48\\x02\\x0d\\x4f\\x05\\x05\\xaf\\x83\\x35\\xb0\\x06\\x9f\\xdf\\x69\\xeb\\x12\\x29\\x37\\xf2\\x56\\x9d\\x1e\\x3b\\xa3\\x31\\x7b\\x59\\x8d\\x06\\x76\\x89\\x1a\\xaa\\x5c\\x51\\x10\\xe4\\xec\\xd9\\x63\\x2b\\x73\\x38\\xd4\\x38\\x96\\xc9\\x58\\x6c\\x99\\xa3\\xc6\\xd8\\x18\\x28\\x8c\\x81\\x18\\xfd\\xb7\\x93\\xde\\x3d\\x7b\\xd3\\xf5\\xb7\\xbe\\x70\\x10\\x34\\xef\\x3c\\x65\\x62\\x4d\\x75\\x8d\\x53\\x1a\\x5f\\x05\\xf6\\x17\\x35\\x4a\\x45\\x55\\xf4\\x7b\\xb3\\xe7\\x87\\x1a\\x27\\x3c\\x29\\xdd\\xf0\\xc6\\x0b\\xd2\\x8a\\xb3\\xdc\\x4b\\x41\\xfc\\xf6\\x9e\\xb9\\x03\\x53\\x81\\x66\\x69\\xb7\\xf4\\xdd\\x54\\x72\\x46\\x97\\x34\\x5a\\xb5\\x10\\xd1\\xc9\\x68\\x6a\\x51\\xaa\\x21\\xde\\x10\\x40\\x16\\x98\\xcb\\x94\\x2c\\x00\\x05\\x60\\xcc\\x58\\xaa\\xa4\\xba\\xbe\\x99\\x8d\\xc6\\xa2\\x3d\\x62\\x6b\\x6d\\x0c\\x8e\\x28\\x0b\\x97\\xf5\\x89\\xae\\x40\\x20\\xcc\\x69\\xfb\\x44\\x8e\\x63\\xbc\\x61\\xc1\\xe8\\x65\\x6c\\xbd\\x22\\xa3\\xac\\xe7\\x26\\x8d\\x33\\x83\\x55\\x0d\\x4a\\x9a\\xdf\\x91\\xcc\\xbf\\x05\\xc5\\xc0\\xc4\\xea\\x5d\\xe9\\xfa\\xc4\\xc0\\x39\\x88\\x2e\\x6f\\x92\\x87\\xbf\\x93\\xb6\\x11\\x17\\x18\\xdc\\xa9\\x88\\x17\\xee\\xf2\\xb9\\x2f\\xc9\\x0b\\xf6\\x5f\\x2f\\x3f\\x75\\xfe\\x35\\x27\\xae\\x1e\\xd1\\xb6\\xd4\\x91\\x98\\xbf\\xf1\\xda\\xdb\\x26\\xaf\\x19\\x31\\xa7\\x13\\xd0\\x53\\xef\\x1b\\xd9\\x76\\x66\\x60\\xca\\x9b\\xa3\\x7e\\x3d\\x17\\xbc\\xb2\\x79\\xfc\\x49\\x05\\xb7\\x56\\xf1\\x97\\x82\\x37\\x2f\\x39\\x69\\x4a\\x7c\\x73\\xf4\\x52\\xf0\\x0a\\xf3\\xf5\\x6f\\x9e\\xf7\\x3e\\x1d\\x15\\x0e\\x8d\\x4d\\x3d\\xdb\\x38\\xa9\\xb4\\xa8\\x77\\xd6\\x0f\\xe5\\xb5\\xd5\\xf5\\x89\\x14\\xb0\\xc1\\xef\\x71\\x8d\\xc0\\x40\\x70\\x92\\xe8\\x30\\xd4\\x36\\x0f\\xbe\\xb2\\xe8\\x99\\x25\\x6e\\x92\\xc8\\xc5\\x39\\x91\\xd1\\x2a\\x13\\xe2\\x6b\\x82\\xb3\\xd2\\x86\\x60\\x32\\xe5\\x76\\x9b\\x93\\x51\\x10\\xc5\\x38\\x8b\\x63\\x9c\\x15\\xe2\\x75\\xe6\\xad\\xb5\\x45\\xe6\\x11\\x65\\x91\\xb2\\x89\\xa2\\x3b\\x18\\x8c\\xf0\\xba\\x2e\\x11\\x49\\x22\\x5f\\xc4\\x6e\\xf2\\x32\\xc8\\x19\\xfd\\xbf\\xe2\\xac\\xf0\\x58\\xa4\\x8d\\x38\\x1e\\xd2\\x7e\\x17\\x67\\xd7\\x3e\\x7d\\x4f\\xc3\\xea\\xae\\x8e\\x73\\x9a\\xc7\\x2d\\xc6\\x48\\xbb\\xec\\x96\\x29\\x2b\\xea\\x7a\\x66\\x4e\\xbc\\xa3\\x7e\\xf4\\xe9\\xbe\\x09\\x07\\x47\\x7d\\xbb\\x06\\xdc\\xb3\\x79\\x5b\\xc1\\x2d\\x35\\x08\\x63\\x4f\\x5d\\x32\\x65\\x4a\\xf1\\x05\\xa5\\x97\\x82\\xbf\\xc0\\x79\\x03\\x2b\\x9f\\x7b\\x2d\\x14\\x8d\\x86\\xda\\x53\\xbb\\x1b\\x27\\x27\\x62\\x33\\x4e\\xf9\\x3e\\x51\\x57\\x5d\\x1f\\x6f\\x01\\x36\\x7a\\x21\\x56\\x73\\xe9\\xbb\\xfa\\xed\\xc6\\xda\\xe6\\xcc\\x8b\\x49\\x22\\x6f\\xa0\\x3f\\x43\\xcf\\x11\\xbe\\xc6\\x20\\x59\\xf4\\x20\\xd1\\x75\\xe3\\x52\\x85\\x0e\\x2f\\x84\\x9c\\x36\\xa2\\x8d\\x44\\x0b\\xc3\\x3e\\xc4\\xc4\\xbd\\xa2\\xca\\x8d\\x18\\x58\\xa5\\x02\\x01\\xce\\xc8\\x44\\x20\\x80\\x3d\\xd9\\xc2\\x41\\xa7\\x32\\x17\\x3d\\xae\\x98\\x89\\xb9\\x5a\\x99\\xd4\\x2d\\xca\\xee\\x2d\\x69\\x3e\\x19\\x4c\\x66\\x26\\x07\\x77\\x10\\x32\\xdb\\xd3\\xfb\\x5f\\xbf\\xe3\\x89\\xa7\\xde\\x9f\\x71\\x33\\xf2\\x94\\x5b\\xfc\\x45\\x23\\xda\\x46\\xdc\\x7a\\xf7\\xa2\\x73\\x56\\x81\\x8f\\xfa\\x6f\\xa9\\xf1\\xd0\\xda\\x39\\x3f\\xbc\\x74\\xce\\xa3\\x27\\x47\\xbf\\xba\\xa4\\xf2\\xc6\\xbb\\xef\\xbf\\xb1\\x9a\\x9e\\xa8\\xd4\\x40\\x91\\x7b\\x1e\\x8d\\xd7\\x76\\x21\\xdf\\xb0\\x90\\x9a\\x92\\x2a\\x75\\x07\\x68\\xda\\xa2\\x2f\\xd0\\x63\\xb7\\x30\\xd2\\x21\\x06\\xa9\\x00\\x8b\\x38\\xd7\\x3b\\x51\\xd4\\x68\\xcc\\x94\\x19\\x5d\\xa8\\xc5\\x0c\\x0a\\xe8\\xdc\\x65\\xbb\\x99\\x05\\xc2\\xca\\x6e\\xfa\\xe4\\x31\\x86\\x05\\x71\\x55\\xc8\\x52\\x51\\x3a\\x0f\\x08\\xe4\\xab\\x73\\xe4\\xbe\\xe4\\x7a\\x2d\\x7a\\xe2\\x7a\\xf5\\xa4\\x07\\x47\\xdd\\xf8\\xc0\\xc9\\x8f\\xac\\x6e\\x6f\\xc5\\xdb\\x91\\x6b\\x27\\x57\\x7c\\x55\\xb9\\x35\\x0a\\x7c\\xab\\x37\\x23\\xfb\\xa2\\x6b\\x41\\xa2\\xac\\x0e\\x68\\xfe\\x75\\xd3\\x3f\\x96\\xe1\\x55\\xc8\\x7d\\x8f\\x9e\\x23\\x6d\\xb4\\xe8\\x61\\x32\\xe1\\xfa\\x55\\x72\\x62\\xfc\\xb7\\x23\\xf9\\xc9\\x20\\x1e\\x2f\\xa5\\xe6\\xa5\\x6a\\x8b\\xbc\\x5e\\x63\\xc8\\x41\\x85\\xa8\\x44\\x99\\xa7\\xa8\\xa8\\xa4\\xc4\\xd5\\x27\\x96\\x94\\x04\\x0a\\x62\\xe1\\x02\\x64\\x77\\x14\\x40\\x6f\\x28\\x10\\xea\\x11\\x15\\x06\\x0f\\x58\\x86\\xf0\\x37\\x26\\xd5\\xdc\\x9d\\xaf\\x59\\xd8\\xb2\\xb2\\x5c\\xd1\\x26\\x34\\xa1\\xd4\\xc2\\x3c\\x42\\x0d\\xf2\\x5c\\x28\\x3c\\xd8\\x73\\x83\\x81\\x43\\xbf\\xb1\\xb0\\xcc\\xca\\xbf\\x5f\\xd9\\xb0\\x78\\xf4\\x79\\x4b\\x65\\x2e\\xde\\x7a\\xf1\\xb8\\x05\\x35\\x40\\x25\\x5d\\xb4\\xe8\\x9c\\xd7\\xd3\\x4f\\xf5\\xdf\\x42\\xd7\\xa0\\x1b\\xfc\\xe0\\xe3\\x2f\\x0e\\x4b\\xaf\\xde\\x1a\\x2c\\x68\\x25\\x2c\\x5b\\x56\\x48\\x37\\x83\\x5f\\xaa\\xd3\\xf7\\xe1\\xeb\\xc2\\x05\\xaa\\x35\\x9e\\xf4\\x7f\\xe6\\x48\\xfb\\x65\\x5b\\x95\\x3d\\xfa\\x13\\x2c\\x47\\xb6\\x5f\\x09\\x55\\x4d\\x4d\\x4b\\x55\\x94\\x69\\x3d\\x49\\x41\\x28\\xf2\\x14\\xd5\\xd4\\xea\\xd9\\x2e\\xb1\\xd2\\xd1\\x29\\xda\\x92\\x85\\xa1\\x64\\xa8\\x32\\xa2\\xaf\\xd4\\x57\\x6a\\x23\\x5c\\x20\\xde\\x25\\x06\\x38\\xad\\x8d\\xe2\\x26\\xca\\xb7\\x87\\x61\\x95\\x93\\x0d\\xb8\\x9b\\x5a\\xb1\\xd9\\x73\\x96\\xb9\\xc8\\x09\\xd8\\x4c\\xcf\\x66\\x66\\x46\\x07\\x12\\xcb\\x2a\\xb9\\x4c\\x4b\\x1e\\x95\\x84\\xe7\\x95\\xe0\\xd0\\x1d\\xc8\\x90\\x65\\x21\\xd8\\xdf\\xdc\\xd3\\x56\\xef\\x8a\\xf8\\x75\\xcd\\xa6\\xf3\\x4b\\x5b\\x5b\\x27\\xd4\\x76\\x9f\\x14\\x38\\x7f\\xdb\\xa8\\x53\\x9b\\xda\\xce\\x9e\\xb4\\x7b\\x7d\\xc4\\x74\\x02\\x57\\x33\\x73\\xaf\\xf4\\x79\\xd7\\x8c\\xee\\xd6\\x73\\xce\\xec\\xd2\\x15\\x57\\x16\\xd7\\xb6\\x7e\\x12\\x2b\\x8f\\x6d\\xbc\\xe5\\xa2\\x93\\x57\\x0c\\x9b\\x5b\\x3f\\x72\\x49\\xd3\\xfa\\xa6\\xfa\\x19\\x33\\x2e\\x7a\\x7a\\xdf\\x51\\x0a\\xce\\x6f\\x6f\\xaa\\x6b\\x3b\\x7d\\x2b\\xa6\\xd5\\xa9\\x47\\x8f\\xc0\\x1f\\x10\\x8f\\x15\\x51\\x6d\\xa9\\x88\\x5b\\x6d\\x0b\\x72\\x36\\x18\\x85\\xd1\\xe2\\x12\\x88\\x2c\\x34\\xb5\\x25\\x12\\xa1\\xcc\\x16\\x8b\\xae\\x47\\xb4\\x30\\x94\\xaf\\x47\\x44\\x26\\x49\\xd6\\x40\\xc7\\x97\\x68\\xa9\\x27\\xd1\\xda\\x1c\\x91\\x53\\x25\\x47\\x4c\\x4b\\x81\\xd2\\xba\\x81\\xb7\\x0c\\x67\\xe6\\x6a\\xaa\\x95\\x10\\x6a\\xac\\x0e\\xbf\\x04\\xf4\\xd8\\x81\\x1f\\x81\\x0f\\x78\\x37\\x5c\\xb0\\xa6\\xf9\\xcc\\xd2\\x48\\xf3\\x53\\xb7\\x3d\\xf7\\x71\\xfb\\xd6\\x5f\\xbf\\xbd\\xed\\xbe\\x35\\x5b\\x2b\\x0a\\x6f\\x5e\\xf4\\x57\\xeb\\x8b\\x2f\\xcd\\xbb\\x6b\\xcf\\x45\\x9b\\xae\\x2d\\x09\\x6e\\x07\\x8e\\xf8\\x8b\\xf7\\xcc\\xb9\\x73\\xf3\\x05\\xb3\\x6e\\xb8\\x70\\xe3\\xac\\x09\\x27\\xd4\\x8f\\xb9\\x7a\\xe2\\x26\\x79\\xa6\\x16\\xb5\\x07\\xc1\\x70\\x1f\\xe2\\xb7\\x00\\xd2\\x97\\x3e\\xc4\\x53\\x2a\\x83\\xd7\\xe0\\x0d\\x86\\x0c\\x14\\x65\\xd6\\xd9\\x5d\\x2e\\x4b\\xa7\\xe8\\x02\\x3a\\xa4\\x2b\\x75\\xf6\\xdc\\xd3\\xe7\\x1d\\xbc\\x8a\\x6c\\xd6\\xc4\\xcc\\x83\\x43\\xcd\\x41\\x58\\x60\\xa9\\xc9\\xdb\\xd6\\x8b\\x8e\\x0b\\xce\\x30\\xdd\\x78\\x65\\xeb\\x45\\x85\\xa5\\x77\\x74\\x4b\\xbd\\x36\\x30\\xe2\\x97\\x73\\x97\\x2e\\x99\\x51\\x5c\\x79\\xed\\xcd\\xbb\\xdf\\x5e\\xfa\\x0f\\x70\\xd9\\x5d\\x5b\\xac\\xc6\\xc6\\x48\\x09\\x78\\xfc\\x3c\\xe0\\x38\\x74\\xc3\\x9d\\x65\\x4b\\x5e\\x09\\xbc\\xf5\\xc4\\xc5\\x6f\\x3c\\x84\\xe8\\xaa\\x15\\xc9\\x83\\xdf\\x08\\x8e\\xe3\\xb8\\xe3\\xa1\\xc4\\x18\\xd7\\x19\\x75\\xa5\\x89\\xe2\\x90\\xc1\\x47\\xb9\\xdd\\x3e\\x68\\xf3\\x21\\x5e\\x89\\xfa\\x18\\x43\\x49\\xaf\\x68\\xb0\\x50\\x4d\\x59\\xef\\x6f\\x30\\x40\\x3a\\xd8\\x1c\\x13\\x93\\xb1\\x6a\\xb7\\x60\\x7e\\xa8\\x15\\xea\\x62\\x84\\x98\\x14\\x34\\x23\\x9b\\xb9\\x8e\\xd0\\x10\\xaf\\x05\\x21\\x66\\x57\\x5d\\x69\\xc3\\xf0\\xf9\\xd5\\x6d\\x6b\\x7e\\xd8\\xf8\\xdb\\x7d\\xa7\\xfc\\x63\\xed\\x59\\x0d\\x95\\xd5\\xd1\\x60\\x91\\xbd\\xae\\x65\\xf6\\x8a\\x19\\x17\\x2c\\x9e\\x35\\x6a\\xe4\\x95\\xf3\\xa7\\xcf\\x4e\\x5f\\x2f\\xed\\xa2\\xb7\\x32\\xf6\\xfb\\xbc\\xbd\\x7d\\x17\\xbc\\x2d\\x8d\\x3a\\x5c\\x56\\x76\\x3b\\xb8\\xec\\xdd\\x8f\\x4f\\x69\\x74\\x9b\\x4c\\xf7\\x01\\xaf\\x7b\\xf8\\xf2\\x6d\\x6b\\x96\\xcc\\x75\\x4b\\x1f\\x4b\\x4f\\xa6\\xff\\x84\\xf9\\xa4\\x19\\xc1\\x33\\x17\\xf1\\x49\\x04\\x49\\xb8\\xba\\x94\\xc7\\x1e\\x89\\x15\\x15\\xf8\\xf4\\x2e\\xca\\x6e\\x77\\x41\\x0b\\x46\\x77\\xd0\\xc5\\xe9\\xa3\\x9d\\xa2\\xde\\xf6\\x7b\\xb0\\x0c\\xc2\\xa1\\x80\\x41\\xaa\\x8d\\x32\\xd8\\x0e\\x80\\x3a\\x92\\x25\\x01\\x30\\xc4\\xd4\\xc6\\x82\\xa5\\x63\\xa6\\x14\\x2c\\xde\\x71\\x7a\\xba\\x7b\\xfa\\x9f\\x6e\\x28\\x6a\\x2e\\x2e\\x0d\\xc6\\xca\\x53\\x53\\x57\\x5c\\xdf\\xda\\xbc\\x60\\xf2\\xdd\\x53\\x53\\xe9\\x37\\xb7\\x81\\x14\\xfd\\xf9\\x12\\x6b\\xfd\\xa8\\x57\\xa4\\x27\\x1e\\x0f\\x85\\xae\\x02\\x5e\\xe0\\x1f\\x5b\\x6b\\x5d\\xf2\\x92\\xb0\\x68\\xe5\\x8a\\xdd\\xd7\\x0a\\x2f\\x49\\x5b\\xa4\\x37\\xf0\\xb9\\xc7\\x1c\\x3d\\xc2\\x76\\xb1\\x4f\\x23\\x19\\x56\\x8e\\xa8\\xbd\\x40\\x1d\\x8b\\x25\\x82\\x82\\x51\\x30\\x56\\x54\\x46\\xd5\\x6a\\x9d\\x0e\\xc9\\x31\\x9d\\x8e\\x0b\\x38\\x1c\\x4c\\xaf\\xe8\\x60\\xb8\\x12\\x24\\xce\\x86\\x90\\x7b\\xae\\xcc\\x42\\xc2\\x38\\xb3\\xce\\x9e\\x88\\x2b\\x6c\\x13\\x52\\x36\\xb9\\x8c\\xae\\xda\\x52\\x80\\xce\\x2f\\x4f\\x4b\\xb2\\xa9\\x58\\xf4\\x5b\\x95\\x0d\\xbb\\xaa\\x98\\x27\\x18\\xff\\xd8\\xa5\\x4b\\x87\\x5f\\xff\\x7a\\x74\\xc9\\x77\\x2b\\x11\\xc9\\xd5\\x4a\\x8f\\x4a\\x7b\\xa4\\xe7\\xa5\\x47\\xff\\x02\\x6a\\xfb\\x27\\x8a\\xdd\\x2d\\x27\\x2c\\xb5\\x27\\x16\\x4b\\x4d\\x67\\x1e\\x99\\xcd\\x1e\\xfe\\xe0\\xbd\\xbf\\xef\\x67\\x1e\\xf6\\xfb\\x5f\\x7e\\x7c\\x62\\x87\\xf4\\xcd\\x6f\\x52\\x5a\\xfa\\x0e\\xf4\\x81\\x89\\x7b\\xc0\\xb0\\xc7\\xcd\\xe6\\xb6\\xa6\\x97\\x53\\xbf\\x4c\\xeb\\x6c\\x2e\\x97\\x9e\\x96\\xfe\\xf1\\xfa\\xd7\\x9f\\x1f\\x26\\xbc\\x80\\x63\\xa0\\x2f\\x33\\x78\\xee\\xc0\\x88\\x54\\xc0\\xe9\\x2f\\x80\\xe6\\x62\\x58\\x5c\\x9a\\x28\\x0c\\x75\\x8a\\x85\\x85\\x94\\x5a\\x8d\\x8c\\x48\\xa3\\xda\\x4c\\x79\\x06\\xb3\\x1e\\xc9\\x1c\\xff\\xa1\\x1e\\xf3\\x73\\x7d\\x95\\x92\\xf6\\x20\\xe2\\x28\\x03\\x45\\x24\\x3c\\xa8\\x27\\x65\\xde\\x56\\x67\\x56\\x7b\\xd2\\xae\\xf7\\x8f\\xac\\xff\\xe7\\xc5\\x25\\xb3\\x22\\x6d\\x3d\\xd6\\xc4\\x84\\x99\\xf1\\xf6\\x09\\x89\\x2b\\x6e\\xb9\\xfe\\xa2\\x55\\xeb\\x2f\\xb8\\x64\\x42\\xeb\\xa4\\x55\\x8f\\xbd\\xfe\\x91\\xf5\\xab\\x4f\\xae\\xfa\\xe0\\x4c\\xc3\\x98\\xfa\\x67\\x4b\\x8d\\x86\\xc3\\x3b\\x1f\\x7e\\xe9\\x9c\\xb5\\xe7\\xaf\\xb6\\x35\\x16\\x3d\\xb4\\xf5\\xd6\\x1d\\xe4\\xdc\\x7e\\x64\\xe3\\xdf\\x8f\\x74\\x4d\\x31\\x25\\xa6\\xca\\xac\\x9e\\x42\\xbd\\x3e\\xc0\\xe1\\x51\\x8b\\x1e\\x58\\x12\\x8f\\x06\\xc3\\xc1\\x1e\\x11\\x3a\\x75\\x16\\xbf\\xa5\\x47\\x2c\\xf4\\x3b\\xd1\\x7f\\xa6\\x30\\xd4\\x73\\x26\\xae\\x47\\x34\\x65\\x75\\xbe\\xb2\\xe5\\x7d\\xd0\\x26\\xca\\x3a\\x44\\x99\\x40\\x89\\x95\\xd8\\xee\\x35\\xd5\\xf1\\x8c\\x8b\\x46\\xda\\x80\\x1d\\x6a\\x92\\x39\\xc9\\xa9\\x90\\xb5\\xc3\\xfb\\xfb\\x66\\x79\\xeb\\xe3\\x0f\\x8f\\xc4\\xa1\\x84\\x11\\x0f\\xc7\\xeb\\xbd\\xb3\\xfa\\x56\\x2c\\xd8\\xdc\\x4f\\x3b\\xfb\\x2f\\x5d\\xb8\\x1c\\xde\\xdf\\xb2\\xb8\\xa1\\xa4\\x68\\x6c\\xd1\\xc2\\x81\\x5e\\xac\\x42\\xe0\\xb6\\x85\\xe8\\x45\\x49\\xc3\\xe2\\x96\\x51\\x63\\x77\\x60\\xcd\\xb2\\x43\\xde\\xbb\\xe5\\x46\\x44\\x37\\x40\\x62\\x75\\xc3\\x52\\x3e\\xe4\\xc7\\x69\\x18\\x86\\xe3\\xb5\\x86\\x0e\\x51\\x8b\\xfb\\xc3\\x54\\x9d\\xf8\\x26\\x68\\xa6\\x43\\xa4\\x73\\xf9\\x44\\xd1\\xf6\\x19\\x8f\\x9d\\x27\\x55\\xd7\\x64\\xb9\\xbe\\x1a\\x2f\\xd8\\x7f\\x4f\\xda\\x75\\xab\\xf4\\x4f\\x44\\x38\\xf1\\xf3\\x81\\x1f\\x76\\x0f\\xdc\\x95\\x40\\x3c\\x37\\x19\\x7c\\x98\\x70\\x49\\x73\\x27\\xe3\\xf8\\xd3\\xd1\\x23\\x24\\xfe\\x54\\x4e\\x75\\xa5\\x8a\\x13\\x56\\x2b\\xeb\\xb7\\xc5\\xd9\\xb8\\x31\\x6a\\x8c\\x22\\x2a\\x2f\\x2a\\x0a\\x4d\\x14\\x8b\\xec\\xb6\\xd2\\x84\\xb5\\xd4\\x0a\\x9c\\x66\\x4e\\x3b\\x51\\x34\\x72\\x1c\\x20\\x39\\x61\\x45\\x6f\\x91\\xb6\\xcd\\xdc\\xc5\\x96\\xf5\\x59\\xfc\\x85\\xfe\\xa7\\xa0\\x12\\x31\\x36\\x49\\x10\\x0a\\x6c\\xfa\\xbd\\x60\\xd2\\xfc\\xa9\\x24\\xd8\\xf4\\x07\\x11\\x24\\xfc\\x13\\x1c\\x65\\xc2\\x7c\\xdb\\x8b\\xfc\\x61\\x5c\\x4b\\xe4\\x43\\x12\\x14\\xc9\\x1b\\x5d\\x24\\xe2\\xb7\\x51\\x0c\\xf2\\xe3\\x4b\\xec\\x5e\\xbd\\x5a\\x5d\\xd8\\x29\\xaa\\xed\\x34\\x22\\x70\\x9a\\xcb\\x0d\\x1f\\xe5\\xb3\\x29\\x0e\\x1e\\x29\\x76\\x70\\xc4\\x0f\\x1d\\xe8\\xff\\x91\\x32\\x50\\x8e\\x7c\\x24\\x9a\\xe4\\xc7\\x64\\x4b\\xb7\\x17\\xf4\\x83\\x9d\\x6f\\x1c\\x5e\\x72\\x6f\\x44\\xad\\x09\\x36\\x2d\\x59\\x36\\xfb\\x8a\\xd9\\x55\\xb0\\xca\\xd8\\x7b\\xea\\xea\\x3f\\x3f\\x2f\\xd2\\x0f\\xac\\x3f\\xff\\xe7\\x55\\xe7\\x5e\\x70\\x36\\x58\\x42\\x9f\\x24\\xf1\\xdf\\xff\\x7c\\x6a\\xdf\\x35\\xeb\\xdb\\x8a\\x8d\\x7a\\x6b\\xbc\\x6b\\x8c\\xdd\\xa5\\xd3\\x73\\x7f\\x46\\x1f\\xb7\\xe8\\x9d\\xe7\\xa5\\xde\\x0f\\x77\\xfd\\x35\\xc3\\x8b\\x27\\xc2\\x3d\\xc8\\x32\\xa8\\x4c\\x39\\xf5\\x14\\xcf\\x52\\xac\\xdd\\xc1\\x99\\x54\\x1a\\xab\\xa9\\x4b\\xb4\\xda\\x69\\x4d\\x57\\xde\\x91\\xf3\\xd6\\x0a\\x09\\xb8\\xf5\\xde\\x61\\x1b\\x34\\x4d\\x89\\x5e\\x3a\\x11\\xec\\x9b\\xf6\\x97\\xe4\\xa2\\x2d\\xfd\\xb7\\xfd\\xf9\\x9e\\x2d\\x8b\\x2a\\xfb\\xa7\\x49\\x75\\xe0\\x2d\\xf0\\x65\\x51\\xb4\\x31\\xb4\\xe3\\xe0\\xab\\x8f\\x84\\x1a\\x0b\\x8a\\x8f\\x1e\\x3d\\xfa\\xbc\\xd4\\x0e\\x36\\x91\\xde\\x81\\x09\\xf9\\xbd\\x04\\xcc\\xf5\\x59\\x19\\x61\\x41\\xf8\\xf4\\x50\\x27\\xa5\\x2a\\x90\\x7a\\xe7\\x69\\x97\\x86\\xd6\\x78\\x7d\\x4e\\x9b\\xd6\\x60\\xb6\\xe0\\x72\\xa2\\x80\\xb9\\xc3\\xdc\\x63\\x5e\\x62\\x66\\x0d\\xd0\\x6c\\xc6\\x1b\\x0e\\xbb\\x44\\x96\\xa3\\xb0\\x03\\x6a\\x1f\\xda\\xdc\\x92\\x77\\x72\\x52\\x36\\x81\\x84\\x87\\xdc\\x69\\x6f\\xc7\\x63\\xb4\\xb1\\x6c\\x0c\\xd9\\x42\\x59\\xe5\\x0a\\x7e\\x90\\xa6\\xbf\\xf5\\xf2\\xa4\\x9b\\xcb\\x0a\\xd7\\x35\\x5f\\x75\\x99\\x16\\xd4\\x49\\x2f\\xd0\\x5b\\xae\\x1b\\x71\\x76\\x71\\xd9\\x8d\\x56\\xf0\\xdd\\x91\\x81\\xe2\\x82\\x46\\xa3\\xf5\\xb6\\x07\\x3b\\x9f\\xb8\\x47\\x30\\x21\\x70\\x48\\x9c\\xff\\xe8\\x11\\xfa\\x1b\\x72\\xde\\xee\\x54\\xa5\\xa0\\x87\\x6e\\xa3\\x4e\\xe7\\x86\\x6e\\xaf\\x8f\\x51\\x0b\\x9c\\x41\\xdf\\x49\\xa6\\x65\\x74\\x18\\x7a\\x0c\\x4b\\x90\\xa3\\x0c\\x0d\\x06\\xca\\xe1\\xe0\\xba\\x44\\x07\\x47\\xa9\\xff\\xeb\\x81\\xe5\\x52\\x0f\\x22\\xee\\x94\\x8e\\x53\\x3c\\x99\\x42\\x3e\\x75\\x0d\\x11\\x7f\\x36\\x0e\\x8c\\x93\\x4f\\xbb\\x75\\x0b\\x2b\\xbd\\x00\\xea\\x0c\\x97\\x5e\\x49\\x4e\\x7b\\xd2\\xfe\\xb7\\xad\\xe4\\xb0\\xb7\\x3f\\xdb\\xf9\\xd8\\x4d\\xe4\\xb0\\xbf\\x7d\\x25\\x99\\x11\\xbe\\xdb\\xb2\\xbd\\x0f\\xdb\\x08\\xfe\\x4d\\x52\\x3b\\x7c\\x80\\xbd\\x14\\xbd\\x7e\\x46\\x8e\\xe1\\x21\\x1e\\xfd\\x04\\xd9\\x03\\x1e\\xaa\\x36\\xe5\\xa6\\x4c\\x56\\x8d\\x09\\x21\\x5f\\x8d\\x24\\x8f\\x9e\\xe7\\x5d\\x3d\\x22\\xcf\\xe8\\x91\\x2f\\xa3\\x17\\x72\\x0e\\x8e\\x4e\\x5e\\x9e\\xd7\\x21\\x6b\\x21\\x3e\\x6f\\x12\\xaa\\x22\\x72\\xdb\\x50\\x6e\\x00\\xef\\xa7\\xaf\\x96\\xbf\\x34\\x3c\\xda\\xac\\xfa\\x47\\x5a\\x7a\\x5c\\xba\\x1a\\x9c\\x06\\x46\\x0f\\xbc\\xab\\x6a\\x8e\\x0e\\x7f\\x71\\xe5\\xd7\\xff\\xa6\\x6f\\x92\\x0e\\x4b\\xfb\\xea\\xca\\x5e\\x94\\x9e\\x6f\\x02\\xf3\\xc1\\x09\\xe8\\xbf\\xf9\\x4d\\xd2\\xf3\\x2f\\x96\\xa1\\x6b\\xc8\\xc4\\xc7\\x70\\xef\\x0d\\xe5\\xa4\\xa6\\xa7\\x12\\x80\\x32\\x1a\\x1d\\x1a\\x03\\x84\\x1a\\x93\\xc3\\x61\\xd1\\x58\\x5c\\x6e\\x93\\x9e\\xd7\\xea\\xb5\\x3d\\x22\\x92\\x66\\x2a\\x27\\xad\\x87\\x0e\\x0b\\x8e\\x84\\xf6\\x88\\x36\\x55\\x7e\\x23\\x10\\xf1\\xbe\\x86\\x20\\x3a\\x93\\x27\\x22\\x8b\\x42\\x72\\x82\\x64\\xc8\\x54\\xc9\\xf6\\x97\\xc0\\xf9\\x11\\xc9\\xb0\\x43\\xaa\\xeb\\xef\\x07\\x4b\\xc1\\xe7\\xe0\\x45\\x70\\x41\\x7f\\x7f\\xfa\\x83\\x1d\\x74\\x03\\x3d\\xf6\\xb7\\x83\\x99\\x60\\x59\\xfa\\x35\\xba\\x2c\\xdb\\x71\\x72\\x86\\x6c\\x03\\x96\\x4b\\xed\\x0c\\x9e\\xbf\\xea\\xa4\\x96\\xa6\\x1a\\xa1\\x20\\xf0\\x1c\\xc3\\x9a\\x4c\\x8c\\x53\\xeb\\xd4\\xba\\xdc\\x01\\x37\\x12\\xc6\\xc0\\x00\\x05\\xa7\\xdd\\xd9\\x21\\xda\\x3d\\xbc\\x0d\\x47\\x9d\\x3b\\x44\\x86\\xa1\\x0d\\x36\\xb3\\x85\\xb6\\x20\\x6f\\x0c\\xe7\\xe9\\x45\\x96\\xce\\x54\\x24\\x64\\x54\\x4a\\x79\\x4e\\x14\\x3e\\x53\\x53\\xa7\\x78\\x62\\xd8\\xbb\\x26\\xac\\x3a\\x04\\x86\\x2c\\x70\\xb7\\xad\\x00\\x13\\x90\\x8b\\x6d\\x05\\x2d\\xcb\\x97\\x4b\\xeb\\x17\\x48\\x3b\\x6a\\xa5\\xdd\\xb3\\xa4\\x83\\x2b\\xe0\\x3c\\x57\\x22\\x3d\\x95\\xbe\\x3b\\xe1\\x1a\\xf8\\x00\\x7b\\xbd\\xf4\\x57\\x03\\x07\\x60\\xc5\\x6f\\x7d\\xf8\\x39\\x96\\x77\\x3a\\xa5\\x5e\\x06\\x4f\\xb3\\xeb\\x48\\x15\\x85\\x6d\\x78\\xc5\\x93\\xc7\\x44\\x9b\\x0a\\xa2\\x56\\x8b\\x8e\\x62\\x58\\x06\\x79\\x22\\x2c\\x4b\\x5b\\x2c\\x4e\\x5c\\x25\\xad\\x0b\\x20\\xd3\\x96\\xa3\\x87\\x54\\x49\\x2b\\x1a\\xb0\\x3e\\xd7\\xc3\\x22\\x3d\\xdf\\x64\\x26\\x39\\x9f\\x57\\x4a\\x63\\x0b\\xd9\\x60\\x4e\\x2d\\x0d\\x28\\xbe\\x7d\\xed\\xda\\xc1\\x7a\\x1a\\x50\\x31\\x55\\xa9\\xa7\\x91\\x1e\\x7d\\x74\\x32\\xfd\\x4e\\xb6\\xa6\\xe6\\x99\\xc9\\xa0\\x61\\x68\\x4d\\xcd\\x32\\x24\\x6b\\xe8\\x0c\\x6d\\xdb\\x55\\x26\\x4a\\x45\\x79\\x7d\\x2a\\xbb\\xca\\x0e\\x5d\\x2e\\xbe\\x47\\x74\\x31\\x50\\x8f\\x54\\xf9\\x1f\\xd2\\x36\\x15\\x0a\\xc7\\xe4\\x46\\x2b\\x25\\xb6\\x8f\\xad\\x5b\\xa1\\x16\\x99\\x57\\x2c\\x2d\\x5d\\x25\\x3d\\x31\\x48\\xcd\\x19\\x4a\\x7f\\x77\\x00\\x8c\\x01\\x8b\\x10\\x6d\\x3f\\x26\\x5d\\xdf\\x04\\x86\\x23\\x6a\\x06\\xf5\\xa0\\x04\\x94\\x82\\x3a\\x44\\xe9\\x60\\x78\\x93\\x74\\x7d\\x46\\x0e\\x62\\xbe\\xb3\\x14\\x42\\xd2\\x01\\x4b\\xdf\\x08\\x1e\\x48\\x1f\\x22\\x3d\\xde\\x1d\\x61\\x50\\x1e\\x06\\x54\\x18\\x84\\x73\\x7b\\xbc\\x15\\x58\\xd0\\xfb\\xef\\x93\\xdf\\x4f\\xfd\\xf4\\x87\\xef\\x27\\x3d\\x87\\xaa\\xf7\\x2c\\x85\\xb8\\xe7\\x90\\x57\\x53\\xad\\xc8\\xbb\\x39\\x91\\xbc\\x3f\\xc4\\x16\\x02\\xc6\\x1f\\xf2\\xb8\\x70\\x2e\\x8f\\x8a\\xe7\\xbd\\xff\\x9c\\xec\\xfb\\x17\\x82\\x00\\x58\\x81\\x77\\x91\\xd0\\x20\\x80\\x13\\x80\\x8e\\x32\\x2f\\xe5\\x8a\\x66\\x92\\x7f\\x80\\x8a\\x4a\\xed\\x2c\\xee\\xa1\\x2a\\xa3\\x16\\xa7\\x1a\\xdd\\x2a\\x55\\x4c\\x5f\\x56\\x16\\x0c\\x5a\\xf5\\x3c\\x53\\x5e\\x51\\x50\\xda\\x2b\\xc6\\x0a\\x3c\\x6e\\x96\\x85\\x5e\\x38\\x51\\xf4\\x7a\\x2d\\x5a\\x97\\xc1\\x62\\xe8\\x15\\x3d\\x56\\x60\\xa5\\x78\\xa0\\x65\\x70\\xcb\\x9b\\x5e\\x8b\\xb0\\xaf\\xb5\\xe4\\x56\\x43\\x27\\x67\\x0e\\x71\\xc9\\x95\\xc4\\x0b\\xb1\\x9c\\x14\\x79\\xae\\xd4\\xdb\\x66\\x6c\\x26\\xec\\x6c\\x64\\x62\\xcb\\x4a\\x5d\\x2e\\x21\\xa3\\x1a\\xf9\\xd2\\x6a\\x98\\x73\\x4e\\xdf\\x34\\x67\\xd5\\x9f\\xd3\\xdf\\xdc\\x9b\\x7c\\x73\\x9a\\xa7\\x95\\x69\\x1b\\xe5\\x99\\xf4\\x61\\xe5\\xdd\\xab\\x5f\\x78\\x70\\xe2\\x9d\\xf3\\x37\\x74\\xb4\\xf8\\x85\\x31\\x25\\x9b\\xc1\\x97\\x17\\x5f\\xee\\x49\\xcf\\x27\\x3c\\x7c\\xad\\xf5\\x10\\x18\\x2e\\x3d\\x7f\\xc8\\x22\\x89\\x23\\x1f\\x3f\\x28\\xf9\\x2e\\xd8\\x77\\xba\\xff\\xc7\\x4b\\x1c\\xee\\xa7\\x06\\xf1\\x34\\x0b\\xe3\\x15\\x8e\\x21\\x78\\x5a\\x05\\xa6\\x20\\xbc\\x5a\\x10\\x5e\\x6d\\x08\\xaf\\xcb\\x38\\x01\\x68\\xa2\\x32\\x5a\\x07\\x65\\xab\\x1f\\xc9\\xaf\\x2a\\xca\\x66\\xd6\\xfa\\x00\\x30\\x9b\\xb5\\x81\\xa0\\x39\\x08\\x4c\\xd0\\x07\\x90\\x87\\xe5\\x6b\\xf4\\xb5\\xfb\\xa0\\x1e\\xfa\\x7c\\x06\\x8b\\xc5\\xdd\\x23\\xda\\xed\\x16\\xc6\\xc0\\xf4\\x88\\x1a\\x8d\\x01\\xd1\\x65\\x52\\xae\\x95\\x28\\xcf\\x51\\x18\\x79\\x25\\x41\\x72\\xad\\x4a\\xc8\\x0d\\x7e\\x57\\x02\\xc3\\x10\\x3c\\x2d\\xbd\\x93\\xfe\\xcf\\x17\\x79\\x62\\x78\\x16\\xe8\\xce\\xe6\\x50\\xbe\\x32\\xd0\\x63\\xe8\\xf3\\xa5\\x0f\\xa5\\xbf\\x29\\x92\\xf8\\x64\\x90\\x02\\xd3\\xc0\\xc9\\x4a\\xf2\\xe4\\x27\\xe9\\x2b\\x02\\xf7\\x26\\xa4\\xa7\\x7f\\x24\\x7a\\xbc\\xf6\\xb8\\xbd\\x9b\\x72\\x0f\\xcd\\x39\\x79\\x3d\\x34\\x2b\\x28\\xe7\\x31\\x3d\\x34\\xd9\\xf4\\x31\\xce\\x39\\x23\\x5d\\x2a\\xf7\\x03\\x27\\x48\\xcc\\x43\\x38\\x7a\\x44\\xf5\\x08\\xa2\\xa9\\x10\\x55\\x42\\x2d\\x49\\x8d\\x44\\x92\\x2b\\x16\\x43\\xc6\\xa6\\x36\\xec\\xd1\\x7a\\xe2\\xa5\\xe6\\x52\\x24\\x35\\x1d\\x85\\xbd\\x22\\x69\\xd2\\x73\\x38\\xfc\\x82\\x3f\\xd6\\x2b\\xfa\\x43\\x3d\\xa2\\xdf\\x62\\xe7\\x05\\xc4\\xd0\\x02\\xc2\\xa8\\x00\\x55\\xc6\\x3e\\x51\\xab\\x12\\x32\\x0d\\x04\\xc7\\x64\\x48\\xe2\\xb9\\x59\\xe6\\x6c\\x69\\x15\\x08\\x41\\x1d\\x40\\x26\\x59\\x39\\x20\\xe9\\x4b\\x8b\\x47\\x89\\x41\\x2a\\x73\\x23\\x71\\xb7\\x28\\x69\\x50\\xc3\\xe9\\xb2\\x36\\xe9\\x88\\x27\\xd4\\x7d\\xe1\\xbc\\x59\\xc3\\xd5\\x89\\x72\\x5f\\xd5\\xf4\\xd3\\xa3\\x9e\\x7e\\xb8\\xfb\\xf5\\x7d\\x5f\\xfc\\xf2\\xdb\\xf7\\xe9\\xc3\\xfd\\xf4\\xed\\xb7\\xde\\x7d\\xc3\\xd5\\x8f\\xdc\\xc8\\x7c\\x24\\xed\\x93\\x2e\\x94\\x96\\xef\\x2a\\x7f\\x4b\\x8c\\x82\\x6b\\xc0\\xbd\\xa0\\xc6\\x8d\\x83\\x3c\\x03\\xcf\\x3c\\xfe\\xe8\\xae\\x1a\\x37\\xf0\\xde\\xb8\\x29\\xbd\\xff\\x6c\\x04\\x37\\xd6\\x73\\x18\\xee\\x20\\xf2\\x38\\x36\\xa7\\x26\\xf8\\x2d\\x16\\xb6\\xb0\\x30\\x60\\x36\\x3b\\x42\\x5a\\x87\\xb6\\x24\\x6e\\x8e\\x23\\xc0\\xfd\\x3c\\x02\\xdc\\xdf\\xe4\\xef\\xf0\\x23\\x6a\\xf1\\x23\\x69\\x69\\x31\\x3b\\x6c\\x0e\\xa4\\xec\\x2c\\x6c\\x14\\xfd\\x86\\x45\\x28\\xc1\\x0b\\x15\\x0c\\x85\\xd8\\x6d\\xf7\\x39\\x99\\x20\\x40\\x6e\\x8a\\x1b\\xc0\\x1c\\x4d\\x98\\x83\\x02\\xc5\\xca\\x93\\x59\\x6d\\x28\\x4e\\x88\\x78\\x96\\x79\\x6d\\x08\\x0a\\x48\\xcb\\xe5\\x60\\xe4\\x2b\\xc4\\x67\\x71\\x42\\x7f\\x41\\xbb\\xfe\\xb2\\x06\\x23\\x40\\x2a\\xe8\\x97\\xb8\\xfe\\xf4\\x67\\xfd\\xfd\\xb4\\xab\\x1f\\x7c\\x4b\\x4f\\xb9\\xf5\\xee\\x71\\xa3\\x1e\\xb9\\x91\\xd5\\xe4\\x80\\x4e\\xd7\\xa6\\xf7\\x67\\x14\\x68\\x8d\\x3b\\xfd\\x1d\\x6d\\x1e\\x58\\x27\\x23\\x83\\xc8\\xed\\x28\\x45\\xb1\\x07\\x11\\x3e\\xa2\\xd4\\xdc\\x54\\x2d\\x1f\\x89\\xd0\\x5e\\x87\\x43\\x4f\\x6b\\x98\\xc2\\x18\\x1f\\x0e\\x07\\x85\\xe0\\x44\\x51\\x10\\xf0\\xbc\\x6f\\x2d\\x44\\x22\\x45\\x0f\\xf4\\x94\\x06\\x89\\x14\\x8d\\x16\\x46\\xbc\\x0e\\xd2\\x4e\\xea\\xce\\x6b\\x27\\x3d\\xae\\x60\\xc9\\xba\\x63\\xc4\\x97\\xf8\\x1d\\x49\\xa2\\x14\\x62\\x28\\xf2\\x06\\x0c\\x57\\x44\\xc8\\x18\\x24\\x42\\xde\\x47\\x22\\xe4\\xf9\\xbb\\xaf\\x93\\x0a\\x36\\xae\\xdc\\x80\\xc4\\xcb\\x10\\xb9\\xf1\\xc8\\x21\\x49\\xc4\\x90\\x81\\x5b\\xae\\x3e\\x97\\xc8\\x95\\xac\\xec\\x60\\x67\\x12\\xd9\\xb1\\x5f\\x91\\x1d\\xf7\\x2b\\xb2\\x03\\x89\\x58\\x30\\xde\\xed\\x33\\xb2\\x8a\\xec\\xa0\\xe5\\x1e\\x5b\\xd5\\x7b\\x48\\x77\\x85\\xa8\\x8b\\x52\\x1e\\xad\\xcb\\x45\\xeb\\xec\\x76\\x9e\\xe6\\xc3\\x11\\x26\\x32\\x2a\\x42\\x57\\xa3\\x6f\\x1f\\x47\\x7e\\x44\\x2f\\x70\\x9f\\x6d\\x75\\xc3\\x88\\xb6\\x0f\\x22\\x80\\xee\\x8c\\x2c\\x8d\\x6c\\x8b\\xbc\\x1a\\x61\\xcc\\xfe\\x80\\x9f\\xd6\\x42\\xbf\\x97\\x4d\\x71\\x72\\xc7\\xad\\xd1\\xa1\\x63\\xa1\\x0b\\x7d\\x02\\xc6\\x90\\xd6\\x69\\x25\\x38\\xaa\\x1a\\xc4\\x92\\xd2\\xcd\\xe8\\x76\\x72\\xef\\xe1\\xd6\\x63\\x80\\xbb\\x6f\\x97\\x2d\\xcf\\x6f\\x2d\\x18\\xec\\xc0\\x55\\xfc\\xd3\\x8c\\x95\\x61\\x73\\xd8\\xe4\\x5d\\x31\\xc3\\xc9\\xb5\\xd3\\xab\\xb1\\x77\\xaa\\x74\\xe5\\x3e\\x8f\\x67\\x8a\\x67\\xee\\x7a\\xa0\\x0e\\xde\\x5a\\x34\\xd8\\xa3\\x0b\\xdf\\x18\\xe8\\xa9\\xf1\\xd4\\xb0\\xf7\\xca\\x13\\xc7\\x11\\x8e\\x9a\\x91\\x9e\\xbb\\x5b\\xf5\\x22\\xc2\\xd1\\x61\\x8c\\x23\\xcd\\x00\\xd8\\xa9\\xe8\\x2d\\x3f\\xc2\\x91\\x23\\x54\\x4c\\x69\\x07\\xf5\\x16\\xb6\\x11\\x91\\x1e\\xc2\\xbd\\xc8\\x0e\\xea\\xcc\\x94\\x57\\x6b\\x75\\x38\\x68\\x1d\\x42\\x92\\xd3\\x75\\xb5\\x6b\\xbb\\x6b\\x87\\xeb\\x47\\x17\\x73\\xd8\\xf5\\x31\\x7a\\x80\\x78\\xec\\x42\\x2a\\x81\\xdb\\x91\\x5d\\x80\\xa6\\x5c\\x41\\x57\\xa7\\x6b\\x83\\x8b\\x31\\x41\\x9b\\x87\\xd3\\x2b\\x08\\x62\\xa1\\x8c\\x1c\\x2b\\x45\\x69\\x7b\\xb3\\x03\\x07\\x72\\x8b\\x3c\\x94\\x12\\x95\\x9c\\xbe\\x64\\xa5\\xd6\\x28\\x99\\xc3\\x13\\x59\\xc4\\xc0\\x08\\xcc\\x47\\xc7\\xb3\\xa3\\x9b\\xc7\\x64\\x7b\\x94\\x17\\x31\\x57\\x67\\xf0\\x80\\x5c\\xa4\\x1d\\xc7\\xcc\\x4b\\x90\\x69\\x00\\xdb\\xee\\xc8\\x67\\xf3\\x53\\xbd\\xa9\\x1a\\x93\\x16\\x9d\\xd6\\xa3\\xc5\\x23\\xb2\\x89\\x0a\\xd1\\x43\\x9b\\x1b\\xb1\\x3e\\xae\\x65\\xb5\\xd9\\xd4\\x06\\x83\\x15\\xbd\\x30\\xe0\\x66\\x55\\x03\\x54\\x7b\\x7a\\x45\\x35\\x32\\x8d\\x49\\x97\\x66\\x86\\xdb\\x7f\\x4f\\x8b\\x60\\xbe\\xc0\\x25\\x48\\x59\\x2e\\x27\\x93\\x14\\x90\\xfe\\xc0\\xfd\\xb8\\x59\\x06\\x6f\\xfa\\xea\\xdf\\xbf\\x7e\\x2f\\xa9\\xfa\\x6f\\x81\\xe7\\x1b\\x9b\\xeb\\x8b\\xb7\\x9f\\xf8\\x27\\xf0\\xd0\\xad\\x77\\x9f\\xd2\\xf7\\xc8\\x8d\\xf4\\xbf\\x9e\\xdc\\xb9\\xeb\\x09\\x65\\xc8\\xc2\\xfe\\xfd\\x1a\\x83\\x44\\x4b\\xe7\\x12\\x76\\x1e\\x3a\\xf3\\x21\\xa3\\x3f\\xf1\\x6b\\x48\\xf6\\x6f\\x61\\x7f\\x84\\x6d\\x25\\xbb\\xfc\\x1c\\x54\\x5b\\x2a\\x46\\x1b\\x8d\\x02\\xab\\xa3\\x04\\x9d\\xe0\\x74\\x59\\x8c\\x66\\x63\\x8f\\x68\\xa6\\x11\\x58\\xd0\\xae\\xf6\\x08\\x3a\\x15\\x82\\x4d\\x45\\xf5\\x8a\\x2a\\x02\\x95\\x7c\\x2f\\xf2\\x93\\xbc\\xc6\\x5b\\x9c\\x72\\x0e\\x71\\xb4\\x19\\xa0\\x0b\\xa8\\xab\\xb5\\x64\\x2e\\x04\\xbd\\x82\\x07\\xa5\\x45\\x17\\xae\\x5d\\x33\\xbb\\x99\\x7f\\xe0\\xbc\\xab\\xfb\\x19\\x4b\\xff\\x0e\\xbe\\x79\\xf6\\x34\\x66\\x93\\xf4\\x66\\xfa\\x9a\\xff\\x4c\\x43\\xd7\\xf0\\xad\\xf5\\x67\\x7a\\x11\\x68\\x90\\x2f\\xc6\\x2a\\x71\\xf2\\xbd\\xe4\\xcd\\x6f\\xc0\\x39\\x51\\x8a\\x52\\xc7\\xd1\\x99\\x63\\xd4\\x86\\xd4\\xa8\\xa0\\xc7\\xe3\\x0e\\x03\\x95\\x4a\\x1d\\xb3\\xb9\\x0d\\x6a\\x6b\\x38\\x6c\\x8c\\xc5\\xd4\\x6e\\xc8\\x06\\xbc\\x34\\xeb\\x65\\x8b\\x8b\\xc2\\x5e\\x36\\x16\\x8d\\xf5\\x88\\x54\\xc8\\x68\\x05\\x41\\x95\\x47\\xc3\\x05\\xe8\\xa8\\xc5\\x6d\\x13\\x0c\\x6a\\x13\\x67\\xea\\x11\\x1d\\x3a\\x0e\\x52\\xd9\\x5e\\x62\\xc5\\x63\\x91\\xfb\\x55\\x92\\xc9\\xdc\\x56\\x00\\x3e\\x99\\xeb\\xb8\\x28\\x73\\x6d\\x40\\x0c\\xa0\\x1b\\xd3\\xca\\xca\\x0a\\x64\\x98\\x93\\x3c\\x64\\x3a\\x5a\\x08\\x8b\\xc2\\x9a\\xab\\xa4\\x0b\\xa4\\x37\\xd7\\x80\\xfb\\xa4\\xab\\x2f\\x02\\xbd\\x93\\xc1\\x4f\\x1b\\xc1\\xbe\\x8d\\xe0\\xa7\\xc9\\xa0\\xf7\\x22\\x64\\x10\\xdc\\xb7\\x46\\x7a\\x53\\xba\\x68\\xeb\\x75\\x52\\x64\\x23\\x1d\\x38\\x3f\\x3d\\xa3\\xc6\\x43\\x7f\\x00\\x9e\\x22\\xc2\\xf9\\x32\\x7a\\x79\\xee\\xa3\\xd4\\x92\\x0e\\x7a\\x6a\\xe8\\xed\\xe7\\x4b\\x95\\x98\\x81\\x09\\x3e\\x66\\x93\\x3a\\xc6\\x09\\x48\\x6b\\x9f\\x94\\x4a\\x14\\x09\\x8e\\x68\\x54\\x08\\x40\\x62\\x6e\\xc7\\x4b\\x8b\\x04\\x8b\\x60\\x41\\xb7\\x28\\x20\\x2a\\x15\\x04\\x18\\x08\\x87\\x91\\x95\\x13\\x26\\x96\\xb7\\x0a\\x66\\x95\\xb4\\x12\\xd3\\x94\\xc7\\x7a\\xe4\\x97\\x22\\x12\\xda\\xb4\\x32\\x91\\xac\\x1d\\x2e\\xd7\\x3d\\xd7\\xd4\\x65\\x2a\\x13\\x07\\xa3\\xfa\\x2a\\xb5\\x1f\\xc0\\xdb\\x8f\\x52\\xef\\x3e\\x72\\xa7\\xbe\\x25\\x1e\\xb9\\xb4\\x6e\\xeb\\xe5\\x17\\x5f\\x79\\xf9\\xe5\\x67\\xac\\x5b\\xb0\\xae\\x6e\\x5d\\x30\\xd4\\x72\\xe7\\xd5\\xaf\\xbd\\xbb\\xfd\\xd2\\xfb\\xee\\x02\\xa7\\x3d\\x74\\x30\\x0e\\xdc\\xbb\\xed\\xc1\\x2b\\xef\\xdc\\xb8\\x49\\xad\\x99\\xa8\\x55\\x6d\\x5a\\x7b\\xee\\x86\\x90\\x75\\x3b\\xa0\\xe3\\x77\\xdd\\x76\\xde\\xbd\\x36\\xdb\\x9d\\xb9\\x73\\x0e\\x3c\\xd4\\x85\\xb9\\x12\\xd8\\xeb\\xbb\\xda\\xb7\\xdd\\xb7\\xc3\\xf7\\xa3\\x8f\\xf9\\x18\\x7d\\xa3\\x7d\\x19\\x09\\x7c\\x85\\x0f\\x89\\x16\\x5f\\xd0\\xd7\\xe9\\xdb\\xe0\\x43\\xa2\\x05\\xd9\\x29\\x3c\\xeb\\xc8\\x11\\x2f\\x48\\xfa\\xca\\x1d\\xd4\\x8a\\x98\\xc9\\x68\\x29\\xac\\xa0\\x92\\x83\\x42\\x06\\xbf\\x3e\\x66\\xfc\\xc1\\x7f\\x17\\xc0\\xc7\\x11\\xbd\\x7f\\x2c\\x75\\x07\\x67\\x8f\\x10\\x79\\xbb\\x4f\\x91\\xb7\\x5b\\x14\\x9d\\xe4\\x45\\xf2\\x16\\x06\\x62\\x94\\x29\\x6b\\xcf\\x12\\xfd\\x45\\xea\\x31\\x56\\xa6\\x9a\\x34\\xd0\\x41\\x43\\x9a\\x31\\xdb\\x75\\x3a\\xb3\\x9a\\x31\\x33\\x6e\\x0f\\xe5\\x01\\x46\\xe8\\xb0\\xd1\\x1c\\x9e\\x34\\x30\\x17\\x02\\x0a\\x02\\x2d\\xa4\\xed\\x80\\x67\\xb4\\x76\\x0d\\x64\\x8c\\x2e\\x0b\\xd4\\x31\\x66\\xa3\\x19\\x89\\x25\\x63\\xd6\\x43\\x97\\xbb\\xb3\\x30\\xb4\\xb3\\x66\\xca\\x8d\\x20\\xc9\\x63\\x84\\x53\\xc6\\x1b\\x1b\\x42\\xd3\\x83\\xd4\\xce\\x46\\x6e\\x94\\xa6\\x82\\xaf\\xae\\x94\\xee\\x93\\xda\\xee\\x79\\x26\\xfd\\x37\\x19\\x13\\x53\\x37\\xb0\\x23\\x10\\xc1\\x36\\xa6\\x0b\\x11\\xc1\\xde\\x7c\\xbd\\x34\\x3e\\xc7\\xe4\\x38\\x8f\\x5e\\xe7\\xae\\xc1\\x77\\x8c\\x6c\\x4e\\xb6\\x0a\\xc1\\xe4\\xa5\\xc6\\xa4\\xa2\\x4e\\xbd\\x1e\\xda\\x79\\xc8\\xfb\\xfc\\xbc\\xdd\\x6a\\x47\\x57\\x64\\xe1\\xf4\\x46\\x44\\xa9\\x46\\x67\\xaf\\x68\\x84\\x94\\xba\\x4f\\x84\\x38\\xeb\\x54\\x95\\x6b\\x58\\x0e\\x4a\\x1f\\x99\\x23\\x1d\\xc7\\x98\\x90\\xca\\xb4\\x0a\\x6c\\x5f\\x3e\\x9c\\x6b\\x32\\x32\\x1c\\xb9\\x27\\x69\\x31\\x36\\x26\\xad\\x79\\x46\\x62\\x76\\x84\\x85\\x62\\x41\\x66\\xed\\x87\\x63\\x66\\x91\\x64\\xe7\\xc6\\x0c\\x9d\\xd3\\x91\\xfb\\x7b\\x38\\x89\\x3a\\x66\\x0e\\x46\\x8e\\x0f\\xaa\\xa2\\x0a\\xc9\\xeb\\xbc\\xb9\\x13\\x08\\x37\\x44\\x17\\x23\\xdc\\xf8\\xa8\\xe6\\x14\\x72\\xed\\x18\\x9f\\x4a\\xef\\xd3\\xfb\\x03\\xac\\x17\\x70\\x9c\\xab\\x4f\\xb4\\x72\\x82\\x5e\\xc5\\xf8\\x80\\x0f\\xb9\\x2b\\x79\\x86\\x66\\x72\\x68\\x1f\\x53\\xbd\\xbc\\x98\\x42\\x9d\\x91\\x53\\xa4\\xc9\\x1b\\xa3\\x49\\x8e\\x72\\x81\\x66\\x3a\\xf1\\x17\\x70\\x09\\x98\\x73\\x0d\\xd8\\xbc\\x5e\\x3a\\x61\\xc5\\x99\\xe7\\x4c\\x4c\\x74\\xfb\\xb4\\x89\\x4a\\xbe\\xce\\x7b\\xc2\\x79\\x63\\xd2\\x69\\x6c\\x3c\\xba\\xd3\\xed\\x34\\x09\\x68\\x0f\\xec\\x79\\xeb\\xb6\\xf1\\x4e\\xe1\\xbb\\xd9\\x0e\\xf7\\x86\\x0b\\xe1\\x32\\x0a\\x52\\x08\\x3a\\x15\\x95\\x9d\\x87\\x71\\x67\\xea\\x94\\xec\\x3c\\x0c\\x77\\xb1\\x3e\\xe2\\xd6\\xbb\\xab\\x92\\x54\\x12\\x54\\x24\\x97\\x26\\x1f\\xf8\\x7f\\x30\\x12\\x83\\xfe\\xbf\\x8c\\xc4\\x58\\xf6\\xdf\\x66\\x62\\x84\\x92\\x99\\x88\\x7f\\xf0\\xf7\\x67\\x62\\x6c\\xc2\\xf4\\x32\\xfb\\xb6\\x23\\x17\\x02\\x3b\\xd0\\x9d\\x84\\x19\\x7d\\x2a\\x40\\x8e\\xe7\\x85\\x5f\\xdd\\xda\\x57\\xf9\\xc4\\x9e\\xbd\\xcf\\x94\\xa4\\xaf\\x7c\\x6e\\x77\\x45\\xf1\\x33\\x7b\\xb3\\x53\\x31\\x5e\\xfd\\x4a\\x9e\\x8a\\xf1\\xf5\\xc1\\x2d\\x6f\\x2f\\x3c\\xf1\\xc5\\xa7\\x76\\xed\\xc2\\x53\\x31\\x9e\\xdc\\x47\\xff\\xac\\xd0\\xd4\\xd0\\xb9\\x18\\xd8\\x9e\\xba\\x8a\\xd8\\x1c\\xa7\\xa7\\xbc\\x80\\x31\\xa9\\xcd\\x78\\x56\\xae\\xdd\\x71\\xb5\\x63\\xbb\\x63\\x87\\xe3\\x47\\x07\\x73\\xd8\\xf1\\x31\\x7a\\x80\\x0e\\x2c\\xf4\\xe2\\x58\\xe8\\x39\\x90\\xd0\\x73\\x04\\x1d\\x9d\\x8e\\x0d\\x0e\\x6c\\x4f\\x71\\x46\\x8d\\x4e\\xd3\\x23\\x5a\\x74\\x88\\x5f\\x58\\x75\\x8f\\xc8\\x9a\\x7a\\x45\\xd6\\x22\\x47\\x84\\xf2\\x6c\\xa9\\x21\\x22\\x4e\\x91\\x70\\x51\\xac\\xa7\\x43\\x43\\xcd\\x29\\xe6\\x7d\\xa4\\xa9\\x4f\\xfd\\x6d\\x6e\\x8e\\x88\\xeb\\x24\\xea\\x79\\xa8\\x39\\x45\\x60\\xb0\\x21\\x3a\\xfe\\x99\\xd0\\xc3\\xb4\\x54\\x19\\xaf\\x73\\x40\\xe8\\xd7\\xf9\\x83\\x21\\x73\\x08\\xe9\\x20\\xc6\\xe1\\xb0\\xaa\\xad\\x13\\x45\\xb5\\x9a\\x32\\xfa\\x9c\\x32\\x7b\\xbb\\x8d\\xe8\\x1d\\x94\\x3f\\x77\\xc8\\x54\\xee\\x68\\x0f\\xf9\\x3e\\x87\\xf6\\xe2\\x90\\xda\\x8d\\xc1\\x2e\\xd6\\xfc\\x02\\x15\\x5c\\xb6\\xf1\\x73\\xfa\\xf0\\x33\\x7d\\x4f\\xb6\\xee\\x7f\\xe8\\x3a\\x9a\\xe9\\x3f\\xeb\\xe2\\xf8\\xc2\\x8d\\x44\\x32\\xd7\\x78\\xc0\\xb3\\x05\\xa5\\x7f\\x7d\\x07\\x5c\\x41\\xd4\\xe9\\xb2\\xdb\\x36\\x9a\\x02\\xf4\\x45\\x83\\x25\\x1b\\xb2\\x9c\\x55\\xff\\x9d\\xe8\\x9d\\xf3\\x52\\x5e\\x5e\\x67\\xd1\\xea\\x68\\x17\\xed\\xf2\\xfa\\xaa\\x7d\\xc0\\xea\\x2b\\x40\\x0f\\x87\\x7d\\x58\\xf1\\xa8\\xb2\\x8a\\xe7\\x55\\xa2\\x78\\x38\\x5f\\x85\\x2f\\xe5\\xeb\\xf5\\x5d\\xe1\\x7b\\xc6\\xa7\\xd6\\x41\\xa7\\x90\\x51\\x3d\\x36\\x6c\\xda\\x6a\\xb1\\x51\\xeb\\x22\\x9a\\x67\\x88\\x69\\x9b\\x35\\x3d\\x94\\x1b\\x51\\xac\\x7e\\x4b\\x7d\\xd5\\x10\\x9d\\x13\\x3a\\xc6\\xc6\\x55\\x74\\x0e\\xc0\\x90\\xd1\\xb4\\x02\\xdf\\x10\\x03\\x37\\xc7\\xd0\\x95\\xe9\\x4b\\xfd\\x3e\\x91\\x29\\x97\\xa5\\x82\\x80\\xb1\\x9b\\xcd\\x6a\\x07\\x43\\x99\\xd0\\x75\\xf8\\x03\\xd5\\x01\\x60\\x0d\\x14\\xa0\\x87\\xc3\\x81\\x8f\\x03\\x3f\\x06\\x54\\x78\\x0c\\x5c\\xaa\\x16\\xc3\\x17\\x40\\xf0\\x05\\xb8\\x40\\x45\\x20\\x15\\xe8\\x0d\\x5c\\x11\\x78\\x26\\x80\\xe0\\xf3\\x39\\x33\\xb4\\xe6\\x46\\xc4\\x66\\x37\\x61\\x42\\x53\\x48\\xce\\x02\\x33\\xad\\x4a\\x7f\\x0c\\x22\\x66\\xc4\\x4c\\x8b\\xd7\\xf1\\x09\\x2f\\xf3\\xa8\\x8e\\x63\\x02\\xfc\\xc5\\x75\\x0c\\xbc\\xc7\\x27\\xc3\\x1c\\x72\\x44\\xf2\\x62\\x04\\xe2\\xb1\\x3e\\x04\\xb3\\x15\\x41\\x3d\\x23\\x55\\xcd\\xbb\\xdd\\x2a\\x44\\xa2\\x2a\\xe4\\xd4\\x07\\x78\\x17\\xb2\\x6e\\x79\\x44\\x97\\x3c\\xcf\\x1a\\x8d\\x48\\x1c\\x51\\x06\\xa0\\x65\\x0d\\x46\\xa3\\x06\\x6b\\x1c\\x06\\xd9\\xf7\\xd9\\x4a\\xcf\\x8c\\xa1\\x94\\x31\\x92\\x32\\xe6\\x52\\x8e\\x23\\x0b\\x14\\x03\\x1e\\xf9\\x7f\\xd8\\x99\\x95\\x7d\\x77\\x75\\xc6\\x84\\x67\\xfb\\x06\\xbe\\x45\\x06\\x7c\\x52\\xfa\\xe6\\x04\\x4f\\x2b\\x3c\\xe7\\xf5\\x6b\\xff\\xf5\\xcb\\x0b\\xb2\\x05\\x0f\\x56\\xec\\x7a\\x1c\\xd9\\xef\\xd7\\x31\\x1c\\xf2\\x61\\xb1\\x9b\\xbe\\xfb\\xaf\\xb2\\x3b\\x0e\\x89\\xce\\xd9\\x8d\\xce\\xae\\x41\\x5a\\x3f\\x4a\\xcd\\x49\\xd5\\x50\\x06\\x83\\x25\\xe0\\x62\\x59\\x4b\\xc0\\x6d\\x71\\x17\\xc6\\x5c\\x0c\\x02\\xc0\\x85\\x00\\x70\\xb9\\x38\\x5b\\x34\\xe8\\x14\\x6c\\x02\\xb2\\xef\\x6c\\x10\\xfd\\x96\\x43\\x76\\x1f\\xc7\\xf6\\x8a\\x3e\\x8e\\x68\\xfb\\x8c\\xba\\xcf\\xe1\\xac\\xbc\\x31\\x6e\\x83\\x36\\x6d\\xe6\\xc0\\xf9\\x2e\\x09\\x56\\xf5\\x39\\x7a\\x1f\\x6e\\x96\\xa3\\x2c\\xd2\\x27\\x4a\\xd8\\x05\\x17\\xd9\\x30\\xa7\\x60\\x09\\x89\\xef\\x05\\x9c\\x4a\\x20\\xa0\\x79\\x39\\xe2\\xa0\\xd4\\xd7\\x0c\\x28\\x41\\xbe\\x9b\\x95\\xcb\\x91\\x7d\\xac\\xc9\\x0a\\x7c\\x93\\x53\\x65\\x18\\x30\\xca\\x60\\x31\\xb8\\x3d\\x66\\x0f\\x06\\x2a\\x17\\x3a\\x19\\x36\\x1b\\xc4\\x30\\x11\\xd8\\x72\\x6f\\xe5\\x38\\x91\\x94\\x6c\\x8f\\xf2\\xef\\x40\\x73\\x5c\\x08\\x7e\\xe7\\xdc\\x99\\x78\\x36\\xf3\\x03\\x89\\x27\\x76\\xa4\\xe2\\x46\\xbb\\x17\\x9a\\xf4\\x7a\\x2f\\xf4\\x06\\x82\\x46\\x43\\xaf\\x68\\x30\\x36\\x1a\\xdb\\x8d\\x50\\x8f\\x97\\x0a\\xd8\\x94\\xf8\\x36\\x85\\x98\\x83\\x19\\xb4\\x58\\xf2\\xac\\x6c\\x90\\x1b\\x43\\x64\\x07\\xa3\\xdc\\x42\\xa8\\x26\\xa4\\x03\\x39\\x81\\x6e\\x9e\\xa3\\xe8\\x96\\x7f\\xbf\\xa1\\x6a\\x8e\\xd6\\x3c\\xb6\\xee\\xd3\\xff\\x30\\xe9\\xdd\\xf4\\x28\\xfd\\x3b\\x5f\\xf5\\xee\\x1a\\xe3\\x6f\\x51\\x7d\\x7b\\x08\\x4c\\x06\\x27\\x48\\x5b\\xac\\x38\\xd4\\x5d\\xdc\\x08\\xca\\x80\\x7f\\x1a\\xf0\\x00\\xba\\x3c\\x7e\\x1f\\x88\\x26\\xa5\\x07\\xa4\\x5b\\xa5\\xa7\\xa4\\x2b\\x31\\x9e\\x8f\\x1e\\x51\\xe3\\x58\\x28\\xa6\\xa2\\x45\\xa9\\x46\\x37\\x30\\x18\\x54\\x02\\x65\\x32\\x09\\x41\\x95\\xa0\\x42\\x64\\x64\\xb5\\x5b\\x11\\xf1\\x1b\\x11\\x1c\\x54\\x23\\xd5\\x4e\\x21\\x38\\x90\\x39\\x6a\\x87\\x26\\x81\\x47\\x38\\xe7\\x2d\\x5a\\x64\\x64\\x68\\x05\\x18\\xe9\\x11\\x21\\x93\\xd3\\x20\\x99\\x49\\x8c\\x60\\x90\\xf2\\xfc\\xc0\\x9c\\xf4\\x4e\\xc8\\x92\\x1d\\x67\\x07\\xf3\\xe2\\x57\\xb9\\x33\\xef\\xc0\\x5d\\x60\\x89\\x87\\x1e\\x0f\\xaa\\x40\\xad\\xb4\\x57\\x7a\\x4d\\x7a\\x5b\\x7a\\x5e\\x25\\x6d\\xc9\\x84\\xb1\\xe8\\xa6\\xbd\\xaf\\x1e\\xda\\xbb\\xe7\\x6f\\x87\\x9e\\xa7\\xdf\\xa7\\x4f\\x93\\xb6\\x23\\xb8\\xfa\\xa5\\x6d\\x60\\x22\\x18\\x9b\\x17\\xc7\\x7a\\x48\\xda\\x2d\\xbd\\x0f\\x22\\xa0\\x05\\x34\\x01\\x9f\\xf4\\x19\\xa1\\x2f\\x0d\\xe2\\x7d\\x8f\\xe2\\xc3\\xcf\\x4c\\x55\\x50\\x2c\\x6b\\xb5\\x6b\\x34\\x66\\xc0\\xb8\\xad\\x56\\x33\\x63\\x0e\\x04\\x59\\x84\\x12\\x24\\x98\\x5d\\x34\\xba\\xcb\\x5e\\x51\\x8f\\x3c\\x42\\x3d\\x44\\xbf\\x01\\x0c\\xd2\\xa1\\x20\\xc7\\x4c\\x8e\\xe7\\xd6\\xe1\\xe5\\x0e\\x9c\\xc9\\x18\\x9e\\x5a\\xec\\x09\\x02\\x52\\x3e\\x50\\x0c\\x06\\x3d\\x83\\x8c\\xf1\\x40\\x5f\\x8a\\x4e\\xf7\\xf4\\xb5\\xa0\\xea\\xac\\x4d\\xbf\\x01\\x9a\\x9e\\xd8\\x7f\\x4b\\xfa\\xf5\\xfd\\xe9\\x4f\\xae\\xd9\\x71\\xe8\\xf1\\x67\\xb7\\xd1\\xed\\x69\\x24\\xc3\\x68\\x7b\\xf4\\xb9\\x4d\\x8f\\x3e\\x90\\xb1\\x3e\\xc1\\x00\\x58\\x77\\xf3\\xf9\\xf4\\x88\\x8d\\xd8\\x4e\\x68\\x43\\x3e\\xde\\x32\\xf8\\x2c\\xb2\\x13\\x46\\x11\\xb8\\xf0\\xec\\x8a\\x3d\\xec\\xe3\\xc8\\x6e\\x8e\\x51\\x8d\\xa9\\x30\\x2e\\xce\\xd2\\xba\\x28\\x57\\x51\\xb1\\x27\\xda\\x29\\x7a\\xec\\xf6\\x20\\xce\\x06\\x71\\xbd\\x9a\\x2b\\x34\\xdb\\x34\\xd0\\xac\\x01\\x1a\\xaa\\x7c\\xe6\\xcc\\xbc\\xd6\\x84\\x4c\\x23\\x35\\x67\\xa9\\xad\\x1b\\x49\\xd7\\x25\\x4d\\xc8\\xc4\\xa2\\xd5\\x49\\x25\\xd1\\x19\\x0a\\x2a\\xc3\\x72\\x70\\x15\\x61\\xef\\xf4\\xbd\\xdb\\xee\\x99\\xd1\\x68\\xa8\\x82\\x55\\xb3\\xaf\\x98\\x7d\\xce\\x39\\x0d\\x7a\\x75\\xa4\\x7f\\xe9\\xe1\\x37\\xa4\\x36\\x69\\x32\\xfd\\x00\\xee\\x57\\xf8\\x79\\xe3\\x06\\xba\\x05\\x08\\xa0\\xf9\\x21\\x41\\xb0\\xf9\\x5d\\x1d\\x62\\x95\\xdd\\xc0\\x8d\\xdf\\xfa\\x46\\xdf\\xa9\\xbf\\x7c\\x27\\xf1\\xe0\\x1b\\xdc\\xb7\\x20\\xf5\\x92\\xbe\\x05\\x88\\xed\\x5c\\x78\\x0e\\xa9\\x69\\xf7\\xa2\\xe7\\x8b\\x53\\x29\\x83\\x37\\xa4\\xd5\\xd2\\x9c\\xcf\\xeb\\xa5\\x69\\xae\\x30\\x46\\xc5\\x80\\x07\\x1a\\x7c\\x1e\\x9f\\xa7\\x53\\x34\\xf8\\xbc\\xbe\\x76\\xdf\\x0c\\xdf\\x22\\x1f\\x6b\\x80\\x3e\\x1f\\xba\\xbf\\x68\\xa6\\xe2\\x9d\\xf2\\x76\\x8a\\x14\\xdd\\x29\\x57\\xdb\\x29\\x2e\\x41\\x8e\\x5c\\xa6\\xea\\x87\\xc4\\xea\\x65\\x43\\x58\\x51\\xa7\\x79\\x93\\x81\\x62\\x8a\\xa9\\xe7\\x52\\xdc\\xdb\\x38\\x88\\xae\\x5b\\x07\\xb6\\xbc\\xfb\\xd8\\x69\\x73\\xd6\\x5f\\x74\\xe0\\x53\\xf3\\xd5\\x6b\\xcf\\xb9\\x61\\xe1\\xc2\\x33\\x4e\\x5b\\xb2\\x76\\x5e\\xc2\\x05\\x83\\xae\\xc4\\xe2\\xd3\\x7b\\x4f\\x71\\x68\\x4c\\xf3\\xe6\\x5d\\x7a\\x66\\x67\\xf7\\x9c\\x9e\\x2e\\xe4\\xc2\\xef\\xee\\xec\\xed\\xea\\xc8\\xc6\\x4f\\xa1\\x80\\xe0\\x33\\x53\\xad\\xa9\\x98\\x4a\\xaf\\xa7\\x38\\x9e\\xe2\\x01\\x07\\xc9\\x9c\\x05\\xb6\\x53\\x54\\x96\\x75\\x6a\\x91\\xde\\x35\\xeb\\x55\\x1a\\x55\\xa7\\xa8\\xb1\\xe5\\xa6\\x61\\xe2\\x39\\x42\\x0c\\xe7\\x47\\x49\\x48\\x34\\xcb\\x38\\x50\\xa8\\x8b\\x2f\\xe9\\xbe\\xed\\x06\\xa9\\x75\\xdd\\x3a\\xfa\\x6b\\x7a\\xdb\\x1d\\xc2\\xc0\\x57\\x38\\x5b\\x88\\xcf\\x25\\xeb\\x3b\\x4a\\x5a\\x09\\x3f\\x26\\x33\\x3b\\x1c\\xd4\\xac\\x54\\xb5\\x0d\\xe9\\x36\\x8b\\xce\\x24\\x68\\x59\\x13\\xeb\\x74\\xe1\\xd8\\x1b\\xad\\x87\\xac\\xc9\\x64\\x21\\x2d\\xe1\\x36\\x03\\xa5\\x7e\\x40\\x4d\\x1b\\xa0\\x9a\\xe1\\x01\\xdf\\x29\\x02\\x1b\\xfa\\x32\\x67\\x02\\x3c\\x18\\x97\\x4a\\x09\\x48\\x8e\\x05\\x96\\xd1\\xdb\\x8a\\x5b\\x41\\x62\\x3b\\x21\\x39\\xda\\x53\\x87\\x78\\x3c\\xa2\\xa2\\x3f\\xa7\\xff\\xb1\\x7c\\x0b\\xdf\\x3c\\x35\\xbd\\x78\\x6a\\x33\\x7f\\x75\\xd7\\x32\\x6e\\x01\\xb8\\xff\\x5b\\xe3\\xc9\\x70\\x7d\\x02\\x27\\x3a\\x39\\x69\\x24\\xd8\\x2c\\xad\\x04\\x7f\\x15\\x6e\\x00\\xb7\\x7c\\x3c\\xf0\\x15\\x14\\xde\\x91\\xe6\\xcb\\xf6\\x70\\x27\\xa2\\xeb\\x31\\x64\\xa6\\x41\\x1b\\x99\\xad\\xf4\\x33\\xde\\x96\\x88\\x60\\x89\\x51\\x57\\xa4\\x3a\\x8f\\x13\\xeb\\x51\\xbb\\x63\\x83\\xb1\\x9e\\x60\\xf1\\x86\\xe2\\x67\\x8a\\xa1\\xb9\\x18\\x39\\xbe\\x6e\\x9b\\x60\\x32\\xa8\\xb5\\xea\\x4e\\x31\\x44\\x59\\x8d\\x41\\xe0\\x51\\x69\\x68\\x07\\xa7\\x35\\xc7\\xc2\\x5e\\x96\\x46\\x97\\x10\\x0d\\x90\\x31\\x20\\xb9\\x79\\xea\\x4c\\xd4\\x27\\x99\\x93\\xdd\\xfd\\xe3\\xd8\\x4f\\x04\\x71\\x3c\\x3c\\x4e\\xec\\x07\\xe2\\x71\\x21\\x19\\x3f\\x99\\x5e\\xb5\\x41\\xfa\\xe0\\xbd\\x76\\x30\\x4e\\x9a\\x0b\\xaa\\xba\\xc1\\xb2\\x29\\x60\\xf4\\x64\\xb0\\xac\\x1b\\x54\\xcd\\x95\\xc0\\xb8\\xf6\\xf7\\xa4\\x0f\\x36\\x4c\\x96\\x9e\\x98\\x02\\x56\\xcc\\x93\\x62\\x09\\x07\\xad\\x06\\x3e\\x47\\x22\\xe1\\x91\\xfa\\x00\\xe9\\xfc\\x91\\x7a\\xc1\\xcd\\x9e\\x44\\xc2\\x21\\x7d\\x94\\xfe\\xc5\\x91\\x00\\x6f\\xcd\\x93\\xfe\\x26\\xa7\\x86\\x11\\x9d\\x35\\x1c\\x3d\\x42\\x7f\\x0c\\x9f\\x47\\x5e\\x17\\xe2\\xa1\\x4c\\xdc\\x47\\x83\\x47\\x3c\\x16\\x97\\x90\\xb8\\x4f\\xa7\\xe8\\x15\\x4a\\x85\\x19\\xc2\\x22\\xe1\\x2c\\x81\\x15\\x04\\xb6\\xc4\\x0f\\x5c\\x7e\\x00\\xcd\\x7e\\xa0\\x57\\xf9\\xc3\\x61\\x77\\xa7\\x18\\xe6\\xb4\\x7a\\x56\\xdf\\x25\\xb2\\xf6\\x21\\xe3\\x5d\\x7b\\x66\\xce\\xc4\\xba\\xea\\x77\\xe2\\x41\\xb8\\x11\\x90\\x0c\\xe6\\xb6\\x67\\x18\\xa6\\x26\\x3b\\xa0\\x7b\\xb0\\x4e\\x52\\xa5\\xa6\\x43\\x53\\x16\\x4b\\xbd\\xe3\\x6e\\x0d\\xcc\\x38\\xe7\\x92\\xcb\\x96\\x4e\\x3b\\x63\\xcd\\x49\\x73\\xc5\\x85\\xc5\\xdd\\xbe\\x82\\xba\\x2b\\x97\\x3c\\xd9\\xdf\\x7b\\x22\\xf8\\xd4\\xb4\\x6c\\x82\\xf4\\x5a\\x89\\xaf\\xd1\\x33\\x63\\x5e\\xbb\\x38\\x69\\xc6\\xc4\\xe9\\xb3\\xdc\\xb6\\x8b\\x3e\\x0f\\xac\\x3d\\xb7\\x6b\\x89\\x4f\\xe1\\x25\\xc6\\x89\\xee\\xdf\\x83\\xfb\\x9e\\x55\\x76\\xbb\\x47\\x2d\\x08\\x26\\x8f\\xc9\\xab\\xd8\\xda\\x10\\x7a\\xec\\x02\\xa5\\x02\\x7a\\x56\\x45\\x66\\xd0\\x20\\x33\\xc1\\x6c\\x45\\xaf\\xac\\xf2\\x54\\x52\\x44\\xdf\\xd9\\x2c\\xbe\\x1c\\xd8\\x51\\x0c\\x20\\x39\\xe4\\x93\\x33\\x2b\\x51\\x11\\x86\\xbf\\x17\\xdc\\xc1\\x19\\xfc\\x75\\x60\\xeb\\x72\\xb0\\x13\\x7f\\x5f\\x2e\\x9d\\xba\\x4e\\x6a\\xc3\\xdf\\x71\\xfa\\x3e\\xe1\\x4a\\x3f\\x08\\xfe\\xb1\\xc2\\x95\\xc8\\xe6\\xf0\\x1b\\xa5\\x82\\x5e\\xfc\\x44\\xf1\\xe9\\x9d\\xec\\x5a\\x4b\\x21\\xfc\\x17\\x62\\x7b\\xb5\\x66\\x80\\x7a\\x39\\x2b\\x23\\x3e\\x21\\x70\\xcd\\x49\\x55\\x5b\\x8d\\x46\\xbb\\xda\\x60\\x30\\x79\\x30\\x80\\x32\\x78\\x94\\x0f\\x09\\x0c\\x3b\\x7a\\xee\\x42\\x42\\xd0\\xa6\\xb2\\x1a\\x19\\x9a\\x77\\xd9\\x0c\\x6a\\x19\\x2a\\x6d\\x0e\\x54\\x83\\xf3\\x75\\x8e\\x13\\xba\\xc9\\x28\\x27\\xe1\\x98\\xc8\\x24\\xa2\\x5c\\x05\\x40\\x19\\xb0\\x0d\\x7d\\xa0\\xfd\\x74\\xe9\\x47\\xd0\\x3d\\x43\\xda\\x74\\x92\\x24\\xad\\x1d\\x84\\x2e\\x4b\\x82\\x5f\\xa7\\xbf\\x76\\xe0\\x66\\xb4\\xad\\xa7\\x64\\x88\\x10\\x50\\x56\\xc4\\xaf\\xaf\\x90\\x99\\x23\\x9d\\xa9\\x38\\xcf\\x30\\x6e\\xb3\\xce\\xad\\x23\\xe1\\x71\\xc4\\x82\\x76\\x3b\\xd5\\x25\\xda\\xed\\x3a\\xb3\\xd1\\xdc\\x29\\x1a\\x6d\\x5a\\x86\\xcc\\x59\\xe0\\xc9\\xac\\x85\\xdc\\x00\\x8e\\x73\\xc8\\x6c\\x19\\xf9\\xcc\\xc8\\x01\\xcf\\x0f\\xe1\\x44\\x20\\x4d\\x1c\\x3e\\x39\\x72\\x71\\x65\\xe9\\xf8\\x78\\xc9\\x79\\xf4\\x8f\\xe4\\x36\\x8e\\xc6\\x13\\x4d\\x33\\x46\\x85\\xea\\x4c\\xaa\\x44\\x40\\xe5\\x39\\xe9\\x47\\xa4\\x8a\\xb4\\x83\\x17\\x02\\x05\\xe9\\x5f\\xd2\\x7b\\x07\\xe7\\xda\\x0c\\x7f\\xae\\xd1\\xcb\\x3e\\x6a\\x39\\xba\\x17\\xb9\\x46\\x44\\x4c\\x95\\x41\\x41\\x70\\x22\\x81\\x98\\x57\\x1f\\xe2\\x14\\x4c\\x5a\\xbd\\xb6\\x53\\x64\\x68\\x3b\\xaf\\xb7\\x69\\x08\\xda\\x2d\\x66\\x16\\x12\\xcc\\x27\\xb3\\xcd\\xa7\\xe8\\xac\\x83\\xa8\\x3f\\x0e\\x35\\xfd\\x3f\\x28\\x06\\x49\\xdb\\x09\\xb2\\x73\\x79\\x61\\x49\\x2a\\x95\\xcb\\x0b\\xb2\\xef\\x09\\x4d\\x50\\x85\\x84\\xb7\\x41\\xe5\\x55\\xb5\\xab\\x66\\xa8\\x16\\xa9\\x90\\xc6\\x54\\xa9\\x38\\xda\\x63\\x37\\x09\\x9c\\x40\\x78\\xe3\\x78\\x5c\\x71\\xac\\x4b\\x70\\xec\\x4c\\x2b\\xe1\\x98\\xe4\\xca\\x60\\x32\\xf2\\x0f\\xf8\\x42\\xda\\x0e\\x66\\x0c\\xde\\x02\\x58\\x26\\x5d\\x2e\\x93\\xcd\\x71\\x66\\xd7\\x64\\x60\\x13\\xa8\\xb6\\x54\\x91\\x49\\xd0\\x23\\xab\\xd4\\x6a\\xa3\\x6c\\x9c\\xad\\xc2\\x86\\xe0\\x12\\x4c\\xb2\\x9e\\xe4\\x35\\x36\\x19\\x00\\xda\\x88\\xbe\\x06\\x89\\x28\\x79\\x2c\\xf9\\x67\\x0f\\x3d\\xe4\\xb0\\xf0\\x87\\x63\\x8e\\x99\\x21\\x12\\x59\\x8f\\xca\\x7a\\x28\\x84\\xeb\\xb4\\xc8\\xf9\\x26\\xe5\\xec\\x04\\xc0\\xaf\\xc7\\x64\\x6b\\x54\\x67\\x93\\xf3\\x8e\\x4f\\x59\\xd4\\x06\\x60\\xb0\\x40\\xf9\\xbc\\xb4\\x11\\x02\\x8b\\x65\\xe7\\xd1\\x0f\\x52\\x36\\xad\\xa1\\xcd\\x22\\xa8\\x4c\\x02\\x92\\x4b\\x82\\x59\\xd6\\x45\\x83\\x43\\xb1\\x32\\x51\\xaa\\x9c\\x11\\x1e\\xb8\\xc4\\x33\\x57\\xd9\\xcb\\x39\\x51\\x38\\x1b\\xeb\\xfb\\xc2\\x0b\\xa4\\xd6\\x2b\\xa3\\xdd\\x4b\\xe2\\x75\\xb0\\x5f\\xfa\\x31\\xab\\xf3\\x05\\xe1\\x0e\\x60\\xc0\\xe7\\x73\\x49\\x63\\xe0\\xcf\\xb0\\x1f\\x9d\\x6f\\x06\\xb1\\xb1\\xc6\\x4b\\xed\\xcc\\xc7\\xec\\xa5\\x08\\xaf\\x65\\x54\\x3d\\x75\\x46\\xaa\\xb9\\xda\\xab\\x52\\x95\\xb8\\xf4\\xfa\\x48\\xa1\\xa5\\x3c\\x62\\x89\\x34\\x0c\\x0f\\x0e\\xaf\\x18\\x4e\\x9b\\x87\\x03\\x23\\xf4\\xb8\\x90\\xc9\\x48\\x55\\x26\\x6c\\x89\\x4e\\x31\\xe8\\x77\\xd8\\x38\\xc5\\x28\\xf1\\x54\\x97\\x14\\xd5\\x51\\x75\\x9d\\x22\\x67\\x82\\xb8\\x76\\x2e\\x27\\x5d\\x99\\xa1\\xfe\\x4c\\x99\\x6a\\xbe\\xc2\\xcc\\x34\\x8f\\xcb\\xb5\\x74\\x76\\x9f\\x2c\\x6f\\x6a\\xaa\\xeb\\x54\\x78\\xef\\x0e\\xb2\\xfa\\x1d\\x31\\x2c\\x61\\x79\\xb5\\x32\\x97\\x04\\x70\\xca\\x0a\\x1c\\xc0\\xe1\\x5c\\x2f\\x89\\x4a\\xc2\\x8d\\xc5\\xa2\\x5f\\x75\\x96\\xb4\\x70\\x35\\x33\\x6b\\xae\\xf4\\xdc\\x43\\xf7\\x8e\\x99\\xc1\\xae\\x00\\x76\\x38\\x6d\\xe9\\x15\\x7f\\xde\\x35\\x70\\xf8\\xf1\\x09\\xcd\\xa9\\xb6\\x67\\x60\\xf2\\x89\\x09\\x29\\xd7\\xc4\\x70\\x9f\\x68\\x75\\xf3\\x6d\\x63\\x7e\\x72\\x96\\x97\\x3b\\xff\\x7d\\xf2\\x98\\xd1\\xe0\\xc3\\x6f\\x81\\xa6\\xf0\\x91\\x1f\\x9d\\x09\\xe9\\xee\\x07\\x53\\xff\\xf9\\xea\\x4b\\xe9\\x27\\xf0\\xa1\\xb4\\xae\\x80\\xfe\\xca\\x2a\\x2d\\x07\\xe7\\x07\\xd2\\x76\\x13\\xf7\\x77\\x72\\xaf\\x16\\x84\\xac\\xcf\\x08\\xde\\xa6\\xcb\\x74\\x28\\xad\\x64\\xdc\\xa4\\x17\\x7d\\x6a\\xaa\\xd2\\x62\\xd3\\xd2\\x36\\x9c\\xcf\\xb4\\x3b\\x82\\x8e\\x0a\\x47\\xa7\\x03\\x52\\xd6\\x07\\xac\\xc8\\x56\\xb2\\xca\\xa1\\x1d\\x24\\xd4\\x58\\x33\\x4e\\x5a\\x22\\x9b\\x4e\\x9b\\x31\\x44\\xf3\\xf2\\x95\\xe5\\x24\\x95\\x9b\\x17\\x61\\x3b\\x4e\\xae\\x12\\x99\\x4e\\xd8\\xe0\\xcc\\xb0\\xd1\\x4a\\xbe\\x79\\xb6\\x6c\\xcf\\x21\\xda\\x44\\xc6\\x91\\x6b\\xd0\\x68\\x92\\x7b\\x42\\xd1\\x99\\x5f\\x27\\x32\\x77\\x56\\xaa\\x8a\\x72\\xb2\\x3c\\x6f\\x70\\x1a\\x02\\x41\\x0b\\xcb\\x42\\x1b\\x9c\\x28\\x9a\\x6d\\x01\\x5b\\xb9\\x0d\\x6a\\xa1\\xcd\\x66\\xd2\\xf0\\x06\\x62\\x75\\x22\\x9b\\x5c\\xbe\\x54\\x8f\\xc6\\x9c\\x57\\x92\\x90\\xe3\\x39\\x0f\\x2d\\xd1\\xc3\\xf1\\x8c\\xdc\\x46\\x28\\x42\\x93\\xb9\\x11\\x37\\xd0\\x32\\xa1\\x75\\xee\\x05\\x19\\xc6\\x3f\\xed\\xf2\\x86\\x65\\x6b\\xf1\\x0b\\xba\\x68\\x64\\x67\\x08\\xdc\\x93\\xc3\\xf8\\x23\\x6a\\x8a\\x37\\x9e\\x05\\x9a\\x33\\x3a\\x23\\x42\\x51\\x2a\\x9a\\xc8\\xb1\\x99\\xa9\\x24\\xaf\\xd3\\xb9\\xb4\\xb4\\x85\\x04\\xd8\\xb0\\x1c\\x4b\\xf9\\x3a\\x7d\\x8c\\x39\\x1b\\x3d\\xeb\\xc4\\xd1\\x33\\x33\\x8e\\x9e\\x75\\x92\\xe8\\x59\\x67\\xb6\\x35\\xea\\x78\\xa1\\xa5\\x5c\\x0a\\xfc\\xe3\\xc8\\x59\\x44\\xc6\\x37\\x39\\x30\\x58\\x83\\xbf\\xaf\\x3b\\x06\\xe5\\x59\\xd4\\x13\\xc3\\x1a\\x9d\\x5b\\x3a\\x89\\xfd\\x85\\xcc\\xbc\\x59\\x88\\x3c\\x68\\x1f\\x3a\\x39\\xed\\x43\\xe7\\xf6\\x07\\x70\\x6c\\x2c\\x15\\xe8\\x0c\\x30\\x66\\xb3\\x37\\xe0\\xed\\xf1\\x42\\x1e\\x7a\\xff\\xff\\x03\\x20\\x13\\x4b\\xae\\x0e\\xfc\\x2f\\x40\\x20\\xb2\\x39\\x16\\x8c\\xe3\\x12\\x4f\\x0e\\x11\\x05\\xc1\\x5f\\xb0\\x8f\\x50\\x80\\x68\\xe8\\x63\\xc5\\x07\\x3b\\x39\\x15\\x82\\x5e\\xaf\\xd1\\xa1\\x56\\x1b\\x2d\\xd0\\xe7\\x87\\xc8\\xe2\\xc0\\xcb\\xbd\\x3b\\x60\\x0f\\x5c\\x02\\x91\\x12\\x81\\x50\\x6f\\xc1\\xa1\\x40\\x97\\xd6\\x88\\x04\\x1a\\x11\\x67\\x34\\x16\\x69\\x7a\\xe4\\x80\\xe9\\x8d\\x4a\\x6f\\x47\\x36\\x27\\x13\\xb7\\x1c\\x37\\x34\\x96\\x5f\\xc8\\x42\\xb2\\x86\\x20\\x13\\x61\\xa7\\xa7\\xac\\x3b\\xf9\\xed\\x83\\x7b\\x3f\\x95\\xd6\\xad\\x5b\\x5d\\x13\\xaf\\xa3\\xd9\\x2b\\x56\\xaf\\xba\\xb2\\x0b\\xf6\\x23\\x0d\\x72\\xc7\\xaa\\xf3\\xb7\\x9e\\x85\\x05\\x1d\\xad\\xb9\\x1f\\x18\\x06\\xb6\\x4f\\x9f\\x8d\\xbd\\xad\\xac\\x1f\\xc9\\x56\\x20\\x18\\xe4\\xd8\\xd8\\x69\\xa9\\x11\\x1c\\x84\\xf6\\xa0\\x41\\xa3\\xb1\\x47\\x83\\xf6\\x60\\x61\\x0c\\x7d\\xb7\\xda\\x91\\x42\\x54\\x1f\\x53\\x15\\x6c\\xd5\\x5a\\x35\\x9d\\x62\\xc4\\x6a\\x0b\\xb8\\x1d\\x7a\\xad\\x1e\\xd9\\xc9\\x5a\\xf3\\x31\\x09\\x14\\x67\\x36\\xac\\x71\\x4c\\x5c\\x03\\x8f\\x67\\x51\\xce\\x2e\\xe4\\x03\\x16\\xab\\x61\\x73\\xd8\\x05\\xdc\\x8b\\x21\\x99\\x8b\\xc0\\x22\\xe0\\x2d\\x58\\x87\\xd4\\x4f\\x86\\x5f\\x3a\\x65\\x50\\xe0\\x8c\\x1c\\x28\\xd1\\xad\\x8d\\x19\\xe4\\x1b\\x7c\\x4f\\xd8\\x4e\\x3c\\x45\\x81\\x71\\x46\\xaa\\x16\\x03\\x07\\x39\\x3b\\x47\\xe2\\x63\\x08\\x92\\xdf\\x03\\x0d\\xc3\\x6d\\xb5\\xc9\\xb0\\x61\\xd0\\xfe\\xa8\\x0a\\x4b\\x89\\xbf\\xfe\\x2e\\x40\\xc7\\x02\\xf1\\x3b\\x47\\x27\\xfd\\x8e\\xca\\x7c\\x56\\x0f\\x35\\x3f\\x35\\x42\\xe3\\xb1\\x01\\xb7\\xdb\\x64\\xc3\\x26\\x0a\\xf6\\xe5\\x11\\xad\\xb5\\x23\\xfd\\xb4\\x88\\x42\\x27\\xa5\\x28\\x64\\x56\\x39\\x78\\x47\\x97\\xc8\\x23\\x43\\x26\\xae\\x3e\\x53\\x0d\\xa1\\x59\\x8d\\x4c\\x77\\xb5\\x5e\\x8f\\xac\\x44\\x3d\\x47\\x0d\\xba\\x22\\x43\\x05\\xd5\\x60\\x62\\x0b\\x67\\xb6\\x42\\x4a\\xbf\\x90\\x92\\x85\\xc6\\xb9\\x2d\\xd9\\x31\\xa9\\x0b\\xbd\\x0d\\xb6\\xa8\\xcf\\x5c\\xbb\\xb0\\xad\\xa8\\x6e\\xdb\\xea\\xd7\\xde\\xfa\\xed\\xcb\\xc9\\xe7\\x06\\x7b\\x2f\\xb8\\xe9\\x66\\xb5\\xb4\\x98\\x36\\xed\\x78\\xb8\\xfc\\x0e\\xa0\\x0a\\xfc\\xf8\\xcd\\x0f\\x52\\x3a\\xee\\x6d\\xf4\\xdc\\xb7\\x8b\\xf0\\xc5\\xd1\\x23\\x6c\\x3f\\x99\\x55\\x1a\\xa5\\x96\\xa5\\x52\\x82\\x5a\\x1d\\xb4\\xb2\\xac\\xc1\\xed\\xa6\\x0c\\x54\\x61\\xcc\\xe1\\xeb\\x14\\x1d\\x9c\\x80\\xe4\\xa8\\x41\\xf0\\x0a\\xed\\xc4\\xb5\\x42\\xb0\\x08\\x82\\x59\\x87\\xab\\x25\\x70\\xb9\\xbc\\xda\\xa0\\x33\\x60\\xb7\\x9a\\x8e\\x74\\xe6\\x6c\\x34\\xa2\\x86\\x0a\\xdb\\xdc\\x38\\x8c\\xbc\\xcd\\x62\\x70\\xdd\\xd1\\x90\\x2a\\x2f\\x12\\x91\\xc9\\x9d\\x17\\xc1\\xf6\\x4b\\x6d\\x07\\xde\\xd0\\x48\\x12\\x26\\x23\\xc2\\xf9\\xb4\\xee\\xcd\\x43\\xf9\\x93\\x23\\xf8\\x2f\\x3e\\x94\\xad\\x2d\\x59\\x12\\x48\\xdb\\xdf\\xfc\\x28\\x67\\x7a\\x04\\x8d\\xe7\\xaf\\xc3\\x4d\\x88\\xae\\xac\\xe8\\x4e\\xe6\\xa6\\x6a\\xac\\x8c\\x4b\\xcd\\xa8\\x8d\\xd0\\x6b\\xb1\\x18\\xb5\\xd0\\x08\\xfd\\x3e\\xc6\\xea\\xb1\\x22\\x78\\x3c\\x40\\xc3\\x7a\\x3c\\x9c\\xd6\\x08\\x2d\\x1c\\xf2\\x27\\x29\\xce\\xa6\\x25\\x53\\xb0\\x14\\xb2\\xca\\xb6\\xaa\\xe4\\xab\\x91\\x3c\\x76\\xc9\\x08\\x32\\xe4\\x2c\\x0b\\x78\\x70\\x43\\x4e\\x74\\x2c\\x22\\x28\\x13\\x80\\xbe\\xf8\\xb8\\xeb\\xfd\\x39\\x4b\\xc0\\x65\\xe0\\xba\\x75\\xeb\\xa4\\xbe\\x33\\xb7\\x6c\\x99\\xb7\\x76\\xc9\\xdb\\xa7\\x27\\x1c\\x60\\xb1\\x63\\x63\\x2f\\x75\\x54\\xe1\\x08\\x37\\x32\\x9b\\x5f\\x9c\\x2e\\xee\\xc9\\xc4\\x09\\xd8\\x2b\\x2c\\x85\\x38\\x4e\\xc0\\xab\\xa8\\xd6\\x35\\x14\\x65\\xdb\\x41\\x87\\xf9\\x42\\x7a\\xe7\\xd1\\xef\\x77\\x04\\xc2\\x66\\x5b\\x5e\\x7d\\xad\\xfc\\x7e\\x93\\xf2\\x7e\\x5c\\x1f\\x79\\x3d\\x99\\x1b\\x05\\x69\\x55\\xb9\\xcf\\x6c\\x95\\xe7\\x46\\x61\\x7f\\x06\\xd9\\x7d\\x2b\\x90\\xdd\\x94\\xa0\\xae\\x45\\xf4\\x70\\xf4\\xdb\\xd4\\x70\\x2d\\xd7\\xa6\\x55\\x15\\x16\\xba\\xe2\\xc1\\xa0\\x10\\x17\\xca\\xca\\x97\\x96\\x3f\\x50\\x4e\\x9b\\xcb\\xcb\\xcb\\x69\\x2d\\x8c\\x17\\x16\\x15\\x76\\x8a\\x45\\x36\\x3b\\xa2\\x0b\\x97\\xdd\\x63\\x88\\xa6\\xa2\\x11\\x73\\x64\\xa2\\xa8\\x4d\\x50\\xc8\\x96\\x52\\xe1\\x59\\x95\\x76\\xf4\\xef\\x55\\x78\\x57\\xa8\\x99\\x33\\xa3\\x7f\\x61\\xe6\\x18\\x24\\x3b\\x19\\x4a\\x26\\x0c\\x84\\xaf\\x6c\\x6f\\x32\\xfe\\x72\\x73\\xfb\\x9c\\x83\\x25\\x19\\xb9\\x46\\x95\\x3c\\x84\\x92\\xc2\\x3b\\xed\\xe5\\x4c\\x25\\xfe\\x4f\\xde\\xe4\\x87\\x6b\\x6e\\x55\\x91\\xec\\xe0\\x97\\x9a\\xcc\\xa6\\x3c\\x82\\x60\\xfb\\xc5\\x9b\\x41\\x15\\x60\\xa5\\xdf\\xd4\\x6d\\x8f\\x35\\xad\\x3d\\xeb\\xda\\x2d\\x23\\x27\\xc9\\x23\\x5e\\xee\\x98\\x75\\xde\\x7a\\x69\\xce\\xea\\x8b\\x99\\xbb\\xb6\\x39\\x13\\x9f\\x4c\\x5a\\x71\\x4a\\x59\\x71\\xe3\\x65\\x17\\xa6\\x47\\x3c\\xf7\\x92\\x3c\\xda\\x85\\xfe\\xa2\\xdf\\x97\\x8e\\x61\\xda\\x61\\xcc\\xb2\\x1f\\x0b\\x05\\x8c\\x6f\\xf8\\x31\\xc1\\xf7\\xaa\\xf5\\x64\\x0a\\xd6\\x78\\x4e\\xd0\\x52\\x64\\x8e\\x79\\xb6\\xc7\\x05\\xf3\\xce\\x69\\xa9\\x94\\xde\\xe2\\x62\\x79\\x2b\\xe2\\x1d\\x17\\x91\\x55\\x3c\\xe4\\x11\\x39\\x19\\x78\\x2f\\xdf\\xce\\xcf\\xe0\\x17\\xf1\\x88\\x6b\\x78\\x1e\\x6a\\x34\\xc8\\x31\\xf4\\xe8\\xe3\\x7a\\x1a\\x9a\\xf5\\x88\\xf7\\xf5\\x1a\\xce\\xe5\\x20\\xa3\\x1f\\x87\\x4c\\x69\\xfe\\xc3\\x0a\\xdc\\xe8\\xe0\\x3e\\x47\\xb2\\xf2\\x21\\x0c\\x95\\x26\\x93\\x3a\\x78\\x22\\xe9\\x8b\\xf9\\xd7\\x5b\\x17\\x6e\\xab\\x8b\\x4f\\x5a\\xf9\\x2b\\x0f\\x4e\\x92\\xee\\x66\\x6f\\xbb\\x73\\xcb\\xa2\\xfa\\x82\\x62\\xf0\\xdd\\x97\\xe9\\x80\\xf4\\xeb\\x1d\\xe5\\xd2\\x2d\\x9d\\xcf\\xdf\\x13\\xa2\\x32\\x39\\x79\\xfa\\x6f\\xc4\\xce\\x3f\\x89\\x52\\xe6\\x32\\xd1\\x16\\x92\\xa3\\x6f\\x27\\xaf\\xb5\\xe8\\x75\\x35\\xa1\\xa3\\x1f\\xe4\\x19\\x65\\x2f\\x51\\x94\\xf9\\x41\\x5c\\x60\\xfb\\xdd\\x0e\\xaf\\x4e\\x29\\xb0\\x1d\\xda\\x77\\x83\\xf8\\x0d\\xf9\\xc9\\xec\\x16\\xc4\\x6f\\x11\\xaa\\x14\\xc9\\x95\\x96\\x80\\xd1\\xe8\\x13\\x4a\\x4b\\x7d\\x3e\\x26\\xe6\\x60\\x1c\\x89\\x32\\x21\\x8e\\x78\\x4d\\x08\\x08\\x1d\\x42\\x8f\\xb0\\x44\\x16\\x29\\x6e\\xb3\\xbb\\xb4\\x53\\x74\\x23\\xca\\x72\\xdb\\x14\\xe1\\x82\\x47\\xba\\x9b\\x29\\x6d\\x17\\xa2\\x1f\\xfb\\x90\\x32\\x88\\xfc\\x94\\xd4\\xa0\\x01\\xc1\\x2b\\x45\\x11\\x83\\xe9\\xfe\\x63\\x2b\\x6b\\xf9\\x10\\x76\\xac\\xb3\\x0a\\x60\\x43\\xc6\\x8d\\xe6\\x88\\x87\\x0d\\x6d\\x59\\xc1\\x2f\\x7d\\x89\\xdd\\x6c\\x28\\x10\\x7d\\x60\\x95\\xbd\\xe9\\xac\\xab\\x3d\\xa8\\xaa\\x65\\x67\\x7b\\x8e\\xa2\\xaa\\x89\\x0e\\x63\\x37\\x91\\xf9\\xe8\\xc5\\xd4\\x86\\xd4\\x58\\x2f\\xc7\\xc1\\xe2\\x62\\x9f\\xd1\\x68\\x2b\\x50\\xdb\\xd4\\x25\\x71\\x2a\\x0e\\x3c\\xb0\\xc8\\xec\\x45\\xa4\\x00\\xb1\\xfd\\xd4\\x81\\x2c\\xa8\\x25\\x5e\\x84\\x03\\xaf\\x57\\xa0\\x38\\xa3\\x4d\\x40\\x4e\\xad\\x60\\xd3\\x15\\x63\\xa9\\xea\\xf7\\xd8\\x89\\x0d\\xe5\\x24\\xb3\\x72\\xb3\\x66\\xec\\xd0\\x7a\\xda\\xe4\\xb1\\xf1\\x84\\x6c\\x4d\\xed\\x1f\\x57\\xd4\\x22\\x75\\x97\\xc1\\x03\\xfc\\x74\\x10\\xf0\\xf3\\xb3\\xa2\\xf6\\xcc\\x75\\xe0\\x22\\x02\\x7f\\xae\\x79\\x92\\x71\\x6d\\x33\\xc2\\x16\\xbb\\xbd\\xb9\\xb6\\x0a\\xd9\\xa5\\x03\\x3f\\x21\\xfe\\xd8\\x1e\\x59\\xae\\x84\\x88\\x5c\\xf1\\xfb\\x41\\xc4\\x29\\x44\\x04\\x1c\\xf4\\x0e\\xc6\\x3e\\x88\\xc1\\xd1\\x15\\xb1\\x0d\\xb1\\x6d\\xb1\\x07\\x62\\x4c\\x0c\\x9b\\x5c\\xb6\\x78\\x45\\xdb\\xd3\\x31\\xb0\\x2d\\x06\\xa8\\x18\\x47\\xde\\x81\\x6c\\x63\\xfc\\x9b\\x87\\x03\\xe1\\x36\\xf2\\x0e\\x9f\\x60\\x6f\\x8b\\xf8\\x71\\x6e\\xac\\x53\\x0c\\xd9\\x6c\\x06\\x9f\\x0f\\xb1\\x1b\\x92\\x40\\x51\\x2a\\xfa\\x7f\\x91\\x40\\x7c\\x8e\\x37\\x1d\\xc7\\xb3\\x71\\x97\\x2d\\x8b\\x2f\\x1f\\x64\\xb8\\xe4\\x1f\\x08\\xa1\\xbc\\x35\\x9d\\xc7\\x13\\x3e\\x18\\x87\\xbf\\x23\\x76\\xfe\\x42\\xc2\\x1d\\xe3\\x06\\x45\\x8e\\x52\\x0f\\x83\\x70\\x86\\x65\\xce\\x97\\x72\\xbd\\x6e\\x66\\x3e\\xdf\\x08\\x6f\\x00\\x98\\xe5\\xd9\\x7b\\x72\\x7c\\xed\\x0a\\x52\\xa7\\x7b\\x6a\\xaa\\x61\\x30\\x2a\\x12\\x8e\\x50\\x11\\x2e\\x52\\x11\\x81\\x26\\x25\\x8c\\xd6\\x21\\xda\\x54\\xbc\\xcb\\x96\\xad\\xcc\\xa5\\x53\\x72\\x34\\xa4\\x43\\xd4\\x59\\xd5\\x4a\\x54\\x47\\x06\\x3c\\x53\\x83\\x3b\\xf8\\x93\\xdf\\x8d\\x88\\x1c\\x37\\x52\\xa8\\x25\\xa5\\xb8\\xc7\\x8d\\x8b\\x80\\x67\\x70\\x35\\xee\\x1f\\x47\\x0d\\x19\\x97\\x5c\\x8d\\x4b\\x65\\xfd\\x7a\\x76\\x2d\\x57\\x88\\xfd\\x7a\\x5c\\x1f\\x46\\x3d\\x86\\x70\\x50\\xb8\\x8b\\x2a\\x45\\x34\\xc0\\xf3\\x6d\\xa5\\x98\\x16\\xf4\\x7a\\xf2\\x98\\xd2\\x69\\xb5\\x6d\\x80\\x0e\\x16\\x19\\xed\\x08\\x39\\x71\\xa4\\x9c\\x01\\x55\\x20\\x9d\\xc6\\x38\\x10\\xef\\x39\\xa8\\xbe\\x54\\x2d\\x92\\xc7\\x0e\\xb5\\x49\\xe5\\x70\\x98\\x70\\x1e\\x80\\x73\\x55\\xb8\\x10\\x76\\x4c\\x0e\\x9b\\xa3\\x53\\xe4\\x6d\\x36\\x64\\xd5\\xd8\\x96\\xe0\\x59\\xe2\\xc8\\xb0\\xb4\\x1c\\x37\\x52\\x84\\x59\\x6b\\x66\\x79\\x86\\x54\\x8e\\x75\\xb8\\x8e\\x0d\\x13\\xc9\\x39\\xfd\\x5b\\x73\\x51\\xd1\\x9b\\x6c\\xae\\x96\\xa6\\x64\\x42\\x2f\\x39\\x3e\\x96\\x74\\x1a\\xb8\\x8a\\xc4\\xb9\\x7a\\x8f\\x1e\\xd1\\x52\\x6c\\x3b\\x35\\x0c\\xc7\\xe6\\x2a\\x98\\x5a\\x4b\\x6d\\x11\\x0c\\xeb\\x9c\\x61\\x67\\x7d\\x83\\x31\\x11\\x4d\\xf4\\x88\\xb0\\x8e\\xaa\\xeb\\x11\\x2d\\xc5\\xc5\\xe8\\xf6\\x03\\xb6\\x28\\xa3\\x4e\\x06\\x92\\x3d\\xa2\\xcf\\x13\\x10\\x72\\xc6\\xc2\\x21\\xb2\\xe6\\x33\\x75\\x40\\x39\\x45\\x62\\x99\\x5d\\x41\\xf8\\x80\\xf9\\x6d\\x45\\xbc\\x92\\x6d\\x0d\\xe1\\x25\\xeb\\x99\\x46\\x0e\\x5e\\x69\\xe4\\x20\\xf3\\xdc\\x71\\x75\\x09\\xdc\\x4e\\x3b\\xfb\\x2b\\x76\\x4e\\xfe\\xe6\\xc7\\x27\\xf7\\x4e\\xb9\\xb6\\xd6\\xd3\\xfa\\xec\\x7e\\xe0\\x07\\x25\\xd2\\x56\\x69\\xd7\\xb3\\xef\\xbd\\xf7\\x34\\xe9\\xef\\x28\\x06\\x81\\xfd\\xcf\\xb6\\x7a\\x6a\\xaf\\x9d\\xf2\\xc2\\xee\\x1f\\xbf\\x99\\xbc\\xb3\\xa2\\x9f\\xde\\x5b\\xeb\\x96\\xd4\\xde\\x22\\x50\\x09\\x62\\xa0\\x09\\x94\\xd6\\x54\\xde\\x01\\x82\\x8d\\xd2\\x9f\\xa5\\x6d\\xd2\\x53\\xd2\\x2d\\x8d\\x8d\\xa0\\x17\\xb4\\xa2\\xaf\\x99\\x8d\\xd2\\x07\\x77\\x54\\xd6\\x48\\x87\\xa5\\x67\\xa5\\xb7\\xa4\\x83\\x45\\x5e\\xf0\\x8b\\x5b\\x91\\x1f\\x47\\x8f\\x30\\x5f\\xa3\\x7b\\x0c\\x51\\x65\\x29\\x9b\\x60\\xa1\\xd4\\x16\\x75\\x38\\x62\\x70\\x38\\xdc\\x8c\\xc5\\xec\\xb7\\xdb\\xf5\\x26\\x7b\\x76\\xd1\\x6f\\x7e\\xf3\\x68\\xee\\x8c\\x6e\\x3d\\x88\\xe0\\x04\\x65\\xd2\\xee\\xf0\\x64\\x1f\\x47\\x02\\xe6\\x64\\x3c\\xb1\\xbb\\x5c\\xfa\\x69\\xc4\\xdb\\xe9\\x11\\xd2\\x67\\x01\\xe7\\x6e\\x7d\\xf4\\xfe\\x27\\xe2\\x0e\\xf4\\x70\\xc7\\x92\\x80\\x27\\x33\\xbd\\x7b\\xca\\xea\\xf4\\x74\\xba\\x24\\xfd\\x06\\xbd\\xbf\\xf3\\xb4\\x61\\x1b\\x7b\\xa5\\xe1\\xe0\\xda\\xe5\\xa7\\xd6\\xa0\\x27\\x13\\x81\\x61\\xfc\\x79\\x58\\xc7\\x39\\x95\\x5c\\x2b\\xee\\x1f\\x59\\x98\\x1a\\xee\\xb7\\xc5\\x62\\x26\\x55\\x98\\xa2\\x1c\\x2a\\x03\\x13\\x2f\\xb5\\x9a\\x79\\x73\\x8f\\xe8\\x2f\\xec\\x15\\x9d\\x06\\x83\\xd1\\xa7\\xd6\\xe0\\x1a\\x0b\\x9b\\xd1\\xa8\\xeb\\x15\\xfd\\x46\\xbf\\x91\\xe1\\x21\\x13\\x1b\\x52\\x6e\\x41\\x8a\\xba\\x32\\x17\\x48\\x18\\x2f\\x93\\x65\\x76\\xe4\\xb4\\xb1\\x65\\xab\\x2e\\xe4\\x16\\x02\\xa5\\x8e\\x2b\\xc4\\x2b\\x25\\xd4\\x79\\x25\\x18\\x1e\\x92\\xe8\\x37\\xbf\\x31\\xc9\\xd3\\x0a\\xae\\x21\\xf9\\xfe\\x6b\\x46\\x79\\xfc\\xbb\\x4f\\x34\\xef\\xfb\\xe2\\x97\\x17\\xe5\\x72\\x00\\xb0\\x04\\x27\\xfe\\xe1\\x3f\\x2d\\x87\\xc0\\xf0\\x39\\x38\\x0f\\x3b\\x47\\x7a\\xfe\\x90\\x5a\\x2f\\xed\\x7c\\xe6\\xa9\\x6c\\x8f\\x04\\x8d\\xfb\\xb9\\x19\\x37\\x99\\x9b\\x59\\x4c\\xcd\\x4b\\xd5\\xf9\\x6c\\xc5\\xc5\\x26\\x55\\x81\\x0c\\x6b\\x49\\x1c\\xc3\\xda\\x21\\xf2\\x94\\xaf\\xa8\\x53\\x86\\xd6\\xc7\\x18\\xbd\\x18\\x62\\x1c\\x0d\\x30\\x33\\x48\\x95\\x31\\xaa\\x0e\\x91\\xb1\\x1d\\x6b\\x41\\x13\\x20\\xa9\\x21\\xc3\\xb8\\x8f\\x0b\\x67\\x56\\x65\\x29\\x83\\xbd\\xaa\\xec\\x59\\xcd\\xc5\\xb8\\x89\\xd6\\xe2\\x71\\xb8\\x10\\x34\\xac\\x03\\xdb\\xd6\\x81\\xe1\\x38\\x88\\x68\\x41\\xfa\\x4c\\x1a\\x4d\\xb4\\x17\\xe0\\x65\\x5d\\x8d\\xe3\\x87\\xe0\\x46\\xa2\\xb5\\xe6\\xe2\\xb8\\xa2\\xf4\\xf0\\x2a\\xe9\\xf1\\xac\\xe2\\x02\\xd4\\xb8\\xa3\\x47\\xd4\\x13\\x11\\x2f\\x26\\x90\\xd5\\xd2\\xe8\\xe3\\xf9\\x52\\x00\\xfc\\xe6\\x02\\xca\\x0c\\xed\\x5a\\xbb\\xb6\\xac\\x3c\\x54\\xdc\\x23\\x16\\x84\\x18\\xc0\\xf9\\xb8\\x5e\\x11\\x99\\x33\\x56\\x97\\xd7\\xe1\\x72\\xe0\\xda\\x87\\x4c\\x05\\xa7\\xd6\\x80\\xfb\\xa9\\x70\\x37\\xd5\\xd0\\x78\\xff\\xe0\\xde\\xa6\\x9c\\xf9\\x7e\\x8e\\x5c\\x55\\x9d\\xdf\\x59\\x05\\x87\\xe8\\x6a\\x4b\\x7e\\xa3\\x15\\xfb\\x76\\x7e\\xa3\\xd5\\x93\\xd2\\x55\\xb4\\xf4\\xef\\x6c\\x3d\\x8a\\x51\\x00\\x33\\xc1\\xa8\\xdf\\x6f\\xbb\\xea\\x01\\x0d\\xf9\\x4d\\x31\\x20\\x09\\x1a\\x72\\x9b\\xb0\\x48\\xbe\\x8d\\x6d\\x41\\xf6\\x6d\\x31\\xf2\\x6d\\x87\\xa9\\x0a\\x0a\\x8a\\x05\\xbb\\x5d\\x1d\\xf6\\x18\\x6d\\xe1\\x62\\xb6\\x24\\x5e\\x50\\x1c\\x2b\\xee\\x10\\xed\\x11\\x15\\x72\\xfc\\x04\\x95\\x8a\\x8e\\xd9\\x02\\xae\\x2e\\x31\\x60\\xd7\\xf1\\x9d\\xa2\\x51\\xc7\\xc9\\xaa\\x86\\x36\\xe7\\x4f\\x09\\x94\\x87\\xd1\\xe7\\x0a\\xa9\\x9c\\x64\\x63\\x56\\xa0\\x26\\xe5\\x39\\x1e\\xf9\\xb6\\xad\\x3c\\x07\\x3b\\x16\\x91\\x91\\xf2\\x18\\x16\\xae\\x9f\\x19\\x3f\\x7b\\xf9\\x18\\x4b\\x17\\x59\\xc0\\xef\\x7d\\xa2\\xfa\\x24\\x27\\x2a\\x7f\\xdf\\xc1\\x7f\\xe6\\xd8\\xbd\\x8d\\x05\\xc5\\x9f\\x7f\\x2b\\x9d\\x4b\\x02\\x0e\\x74\\x76\\xe7\\x9f\\x8b\\x0a\\x50\\xb3\\x53\\x15\\x7e\\x33\\xc7\\xd9\\xd4\\x06\\x2f\\xe3\\x83\\xd0\\xe0\\xb3\\x39\\x6d\\xce\\x60\\x88\\x31\\xfb\\x11\\x23\\x7b\\xfd\\x6e\\xf4\\x9f\\xe0\\xb3\\x33\\x06\\x35\\xe4\\x04\\xae\\x47\\xd4\\x01\\xc1\\x92\\x97\\x51\\xcd\\x1d\\xc2\\x30\\x38\\x16\\x26\\xa3\\x46\\xb1\\xe5\\x8e\\x8b\\xf8\\xa0\\x2a\\x6b\\x3a\\xc4\\x60\\x76\\x3f\\x20\\xa8\\xad\\xd3\\x03\\x3b\\xbb\\x53\\xd2\\xad\\x78\\xe2\\xec\\xb9\\xd2\\x15\\x73\\x37\\x3c\\xb9\\x44\\xda\\xac\\xec\\x0a\\x1c\\xf8\\xae\\xe4\\xf2\\x9d\\xbb\\xb7\\xd4\\x78\\x68\\x73\\xeb\\xed\\xd2\\x41\\x12\\x63\\xac\\xfc\\xf3\\xe8\\xf4\\x77\\xd9\\xf5\\x81\\x60\\xe7\\xea\\x26\\x5a\\x97\\xfe\\x77\\x0b\\xe6\\x55\\x1e\\xf1\\xea\\x9d\\xf0\\x21\\x02\\xd3\\xfc\\x54\\xb5\\x47\\xe5\\x56\\xab\\x0d\\x4e\\x68\\x0b\\x58\\xdd\\x56\\x37\\xc4\\x6d\\xed\\xc1\\x90\\x4d\\xe5\\x41\\x1c\\x19\\xf0\\xe0\\xaa\\x03\\x9d\\xdb\\x68\\x36\\x5b\\xad\\x4e\\x03\\x54\\xeb\\xd4\\x1d\\xa2\\x05\\xe8\\x72\\x32\\xc5\\xb2\\x85\\x34\\x04\\x34\\xde\\x91\\x03\\x98\\x25\\x03\\x59\\x4d\\x2e\\x40\\xa4\\x0b\\x40\\xe5\\x03\\x0e\\x04\\x96\\xa3\\xb6\\x8e\\xfe\\x17\\x82\\x69\\xd2\\xf6\\x19\\xd2\\x2b\\xf3\\xc0\\xf5\\x1b\\xc1\\xad\\xcb\\xa5\\x33\\x66\\xdc\\xd9\\x39\\xf7\\xf1\\x8d\\x27\\x47\\xc2\\xb3\\x13\\xae\\x6d\\xe7\\x8d\\x91\\xae\\x25\\x16\\xe5\\xa2\\x81\\xad\\x6e\\x0c\\xdf\\x82\\xd1\\x1b\\xb7\\xb9\\xd0\\xbf\\x7a\\xbf\\xa1\\xa7\\xb7\\x41\\x96\\x41\\xe3\\x28\\x4a\\x53\\x8c\\xee\\xaa\\x98\\x2a\\xa7\\xae\\x49\\xb5\\x17\\x38\\x9d\\xbe\\x32\\x73\\x82\\xe3\\xd4\\x06\\x7b\\xd4\\x56\\x58\\x58\\xca\\x24\\x20\\x4c\\x18\\x6c\\xd0\\x57\\xe4\\x2b\\xaa\\xa8\\x4c\\x14\\x32\\x66\\xc6\\x51\\xe0\\xe8\\x15\\xcb\\x4a\\x4b\\x0a\\x0a\\x3c\\xc1\\x88\\x3f\\xe8\\xef\\x11\\x83\\x90\\xb3\\xd9\\x7c\\x45\\x10\\x3a\\x0d\\x6a\\x04\\x7c\\x8f\\x28\\xe8\\x80\\xc7\\x92\\x63\\x0d\\x29\\xc4\\x98\\xc3\\xb3\\xf5\\xc9\\x6c\\xed\\x78\\xce\\x0c\\x52\\x04\\x76\\x95\\x8c\\x83\\xaa\\x41\\xa7\\xff\\xf8\\x17\\x2c\\x0c\\xe1\\x64\\x21\\x7b\\xe1\\x9a\\xe2\\x21\\x17\\xfe\\x6c\\xfa\\xfd\\x0c\\x0b\\xd3\\x2d\\x5f\\xff\\xd7\\xcb\\xa7\\x2d\\xe9\\xaf\\x73\\x98\\xf8\\x15\\x7a\\x73\\x1e\\x31\\xd0\\x14\\x42\\x9d\\xea\\x46\\x44\\x0b\\x18\\x67\\x9b\\x53\\x6d\\x98\\x8b\\x3d\\x71\\x6f\\x89\\x37\\x24\\x38\\xd5\\x61\\x4d\\x48\\x53\\xce\\x95\\x98\\xcd\\x25\\xce\\x10\\x2c\\xd6\\x15\\xeb\\x2a\\x2a\\x0b\\xbc\\x4e\\xc1\\x4c\\x18\\xdb\\xc3\\x11\\xce\\x2e\\x8f\\x27\\x62\\x88\\xb9\\x03\\x76\\x63\\xcc\\x56\\xa2\\x31\\x1f\\xc3\\xd5\\x18\\x6f\\x88\\xa3\\x2d\\x19\\x1c\\x65\\x82\\xbb\\xc7\\x45\\x54\\x6e\\x78\\x44\\xc8\\xc1\\x45\\x96\\x56\\xe4\\xb4\\xc9\\x10\\xac\\x01\\x88\\x09\\x88\\x30\\x3c\\xf8\\x70\\xef\\x20\\xed\\x64\\x09\\xea\\x5e\\x69\\x34\\xe1\\xf6\\x45\\x84\\x98\\xb2\\xa9\\xb8\\xbb\\x72\\x29\\x29\\x91\\x43\\x63\\x60\\xa5\\xb4\\x99\\x58\\xa0\\xaf\\x66\\xa8\\x8b\\xc6\\xdb\\x35\\x55\\x69\\x44\\x5b\\x05\\x54\\x8c\\x5a\\x90\\xaa\\xe3\\x62\\x2e\\x9f\\xca\\xa9\\xd2\\x17\\x7a\\x81\\x57\\x8f\\xd4\\x46\\x44\\x88\\x14\\x15\\xb3\\x06\\xa7\\xa1\\x47\\x8c\\xfa\\x9c\\x4e\\xad\\xdb\\x1b\\x73\\x23\\xed\\xed\\x66\\x00\\x6f\\x51\\x45\\x04\\x98\\xdb\\x5c\\xec\\x90\\xfb\\x84\\xb2\\x12\\x3f\\x57\\x20\\x28\\xc3\\x6b\\xc9\\x37\\x32\\x90\\x0d\\x0f\\xff\\xc9\\xa6\\x1a\\xd4\\xc8\\x78\\x6c\\x02\\x23\\xe9\\x3a\\xdc\\x08\\x09\\xfc\\x8c\\xe0\\xd0\\x82\\x90\\x2a\\x2d\\xed\\x3d\\x63\\xd4\\xcd\\x67\\xe0\\xa5\\x7d\\x67\\xdc\\x38\\xfa\\x0c\\x69\\xef\\xda\\x33\\x4e\\x3e\\xe3\\xba\\x15\\xd2\\x78\\xe6\\x1c\\xa9\\xbb\\xe3\\x74\\x71\\xe2\\xd4\\x2b\\xd6\\x0e\\xbc\\x01\\xfa\\xd2\\x75\\x60\\xf4\\xce\\xab\\xd2\\x4f\\x63\\x4a\\xa0\\x9b\\xe9\\xcb\\x1f\\x97\\x9e\\xa8\\x71\\x7f\\xf7\\xe2\\x65\\xad\\x2c\\xed\\xee\\xec\\x4c\\x7f\\xc2\\x86\\x86\\xcf\\xdf\\x2e\\xbd\\xe7\\xa6\\x0f\\x83\\xd7\\x08\\x3f\\x55\\x21\\xd9\\x37\\x99\\xf8\\xe8\\x85\\x04\\xe6\\x42\\x04\\xb3\\xca\\xa9\\x8f\\x2a\\x30\\x87\\x85\\x70\\xac\\x08\\xc3\\xdc\\x21\\x16\\xc8\\x30\\x17\\xba\\x0b\\xf1\\xe0\\x52\\xc0\\xdb\\x54\\x61\\x02\\x73\\x47\\x26\\xc1\\xf7\\xff\\x03\\xe6\\x10\\xd6\\x60\\xb1\\x2c\\xcc\\xb8\\x7c\\x22\\x07\\x66\\x3a\\x40\\x03\\x21\\xc4\\x4e\\xfe\\xf1\\xa4\\xd2\\xd3\\xa6\\x9f\\x25\\xcd\\x5e\\x37\\x63\\x61\\xd9\\x94\\x7f\\x77\\x77\\xa6\\xc4\\x35\\xbd\\xd2\\xdb\\x70\\x98\\xf4\\xe1\\xac\\x55\\x27\\x8d\\xea\\x9c\\x9a\\xbe\\xee\\x88\\x14\\xfb\\x64\\xd5\\x74\\x56\\xba\\xd8\\x99\\x48\\x38\\xc1\\x2a\\xf6\\xa4\\x33\\x3f\\x29\\x75\\x6d\\x3f\\xbf\\xaf\\x9c\\x05\\xf3\\x5a\\x5a\\xa4\\x1b\\x98\\xb2\\x59\\x97\\x6c\\x77\\x01\\x09\\x94\\x2b\\xb2\\x43\\xbb\\x0e\\xdd\\x6f\\x15\\x55\\x83\\xbb\\xa8\\xa2\\x2e\\x17\\x27\\xd4\\xc4\\xe2\\x2a\\x55\\xa1\\xbe\\xba\\x04\\x94\\xe8\\x63\\x02\\xe3\\xaf\\xf4\\x57\\xd6\\xd6\\x19\\x58\\x67\\xd4\\xd9\\x2b\\x26\\xe3\\xd1\\xa8\\x37\\x54\\x52\\x53\\x53\\x10\\x08\\x05\\x7a\\xc4\\xa2\\x10\\xa3\\xd2\\xbb\\x84\\x4a\\xd6\\xef\\xc5\\x63\\x33\\xbd\\x16\\x74\\xef\\xca\\xa0\\x59\\x19\\xf6\\x8c\\xc5\\x36\\x08\\xfd\\xf1\\xc0\\x57\\x14\\xfd\\xf1\\xaf\\x1d\\xd4\\x0d\\x11\\x13\\xb9\\x54\\xa0\\x5d\\x77\\x2c\\x15\\x34\\xf7\\xd4\\xa4\\x47\\x66\\xa4\\x05\\x7c\\x4d\\x6a\\xff\\x9f\\x08\\xe2\\xfc\\xab\\x12\\x43\\xba\\x61\\x5d\\xc7\\x50\\x07\\x91\\x1b\\xea\\x36\\x44\\x1b\\x95\\x54\\x75\\x16\\x5f\\xd5\\x32\\xbe\\x92\\x19\\x7c\\x55\\xf8\\x2b\\x6a\\x6a\\x09\\xbe\\x3a\\xc5\\x2a\\x19\\x5f\\xd5\\xd5\\x18\\x5f\\x1d\\x08\\x5f\\x66\\x8c\\xaf\\x0a\\x8c\\x2f\\x44\\x24\\x5e\\x1b\\xa2\\x99\\xff\\x3b\\xbe\\x8e\\x4f\\x32\\xbf\\x83\\x2f\\x99\\x82\\xd4\\x6d\\x43\\x29\\x28\\x32\\xb2\\x48\\x52\\x65\\xc2\\x1a\\xf4\\xbb\\xd2\\x07\\xff\\x9d\\x98\\xda\\xe6\\x47\\xa4\\x4b\\x72\\xe2\\x1c\\xb7\\x83\\x9e\\xa1\\x94\\x85\\x69\\x0b\\x48\\xa3\\xe1\\xd3\\xaa\\xf7\\xa9\\x36\\xaa\\x8b\\x3a\\x3f\\x35\\x0e\\x96\\x35\\x46\\x4d\\x8d\\x13\\x9a\\xc6\\x15\\x77\\xd6\\xaa\\x3d\\x2d\\x9e\\x96\\x89\\x93\\xf4\\x42\\x9f\\xa8\\xd7\\x3b\\x47\\x8f\\x0e\\xf7\\x88\\xa3\\x05\\x73\\x17\\xd0\\xc2\\xae\\x8e\\xfa\\x54\\x53\\x49\\x71\\x09\\x32\\x28\\x4b\\x4a\\xa8\\x5a\\xa4\\x43\\x7b\\xc4\\x7a\\xc6\\xa9\\x42\\xee\\x82\\x97\\xf3\\x52\\x7e\\xa5\\x23\\x34\\x33\\x55\\x2f\\x53\\x4c\\x4b\\xe2\\x5e\\x59\\x87\\x3d\\x6f\\x7c\\x15\\x41\\x9d\\xc2\\x63\\x99\\xd0\\x79\\x9d\\x3c\\x8a\\x26\\x22\\x4f\\x75\\xc9\\x2e\\x62\\x77\\xd8\\xff\\x5b\\x5f\\x9b\\xbc\\x0b\\xa1\\x10\\xb2\\xd1\\xa4\\x0d\\x39\\xb5\\x35\\x60\\x62\\x5b\\xf7\\xd4\\xd1\\x25\\x93\\x47\\x9f\\xb1\\xb8\\x6c\\x69\\x49\\xc2\\x76\\xca\\xc8\\xe2\\x49\\xa3\\xd6\\x9e\\xbd\\xe1\\xe6\\x9b\\x96\\x57\\x9d\\xd8\\x56\\x7c\\xea\\xe2\\x8b\\xae\\xba\\xfc\\xf2\\xd3\\x37\\xe4\\x75\\xbe\\xdd\\x75\\xdf\\x9e\\x87\\x5a\\x9b\\x46\\x6e\\x45\\x16\\xb7\\x61\\xd8\\x5b\\xaf\\xbf\\x7d\\x4a\\xd7\\xb8\\xbe\\x82\\x8a\\x49\\x01\\xdf\\xb3\\x8d\\xe3\\x7d\\x85\\xa3\\x2e\\x5f\\xbd\\xf2\\x3a\\x83\\xe1\\xfa\\xad\\x9b\\x2e\\x23\\x2d\\x71\\x17\\x9e\\x95\\xdf\\x12\\xf7\\xe8\\x35\\xf7\\xff\\x55\\xa7\\x53\\xbd\\xff\\xd8\\x63\\x21\\xe9\\x1b\\xc0\\x87\\x32\\xb5\\x7e\\xa3\\xe9\\x5f\\xd8\\x2b\\xa9\\xb1\\x54\\x27\\x75\\x51\\xca\\x49\\x95\\x0c\\x0b\\xe9\\x86\\xb5\\x0f\\x3f\\x21\\x5a\\xd5\\xa1\\x76\\x34\\x39\\x9a\\xba\\x26\\x8e\\xeb\\x4c\\x9d\\x70\\xe2\\x4e\\xd0\\x9e\\x2a\\x1f\\x5e\\x18\\x2d\\x8c\\x76\\x8a\\x85\\x55\\x85\\x55\\xa3\\x6b\\x46\\x7b\\x3a\\xc4\\xd1\\x36\\x8d\\xb9\\x4b\\xd4\\x68\\xac\\xcd\\xcd\\x88\\x2a\\x9b\\xed\\x35\\x89\\x4e\\xb1\\x86\\xb3\\xc2\\x4e\\xd1\\xea\\x35\\x78\\x33\\x33\\x44\\x72\\xf6\\x14\\xe4\\xce\\xe9\\xc8\\x2c\\xe3\\x75\\x1f\\xa8\\x1a\\x8a\\x6e\\x47\\x16\\xd7\\x0a\\xaa\\x95\\xad\\x92\\x99\\x19\\x62\\x7f\\x50\\x31\\x66\\x93\\x4b\\xcb\\xc8\\x7c\\xb1\\x2c\\xb2\\x37\\x8f\\x1f\\xe9\\x6f\\x6c\\x98\\x25\\x8e\\x3f\\x31\\x61\\xed\\x1e\\x5e\\xd4\\x32\\x76\\x4a\\xfd\\xfc\\xf5\\x4d\\x8b\\x46\\x24\\xbb\\x22\\x27\\x4e\\x3a\\xb5\\xe7\\x98\\xb2\\x32\\x71\\xa1\\x74\\xa4\\xb8\\xbe\\xc9\\x37\\x7c\\xbc\\x31\\x83\\xeb\\x87\\x27\\x4d\\xf7\\x94\\x8c\\x8a\\xed\\xae\\x1f\\x19\\x4d\\x44\\x2f\\x5d\\x77\\xc2\\xb2\\x11\\xfc\\x82\\x39\\x53\\xfb\\x86\\x54\\x9c\\xa9\\xcc\\x6b\\xba\\xa5\\x4f\\x0d\\x86\\x1e\\xf6\\x48\\x16\\xcd\\xe0\\xe8\\xe7\\xca\\xae\\xda\\x02\\xaa\\x3b\\x55\\x66\\x0d\\x60\\x9d\\x10\\xd1\\xf3\\x80\\x07\\xd1\\x42\\xc0\\xfb\\xa1\\xcb\\xe3\\xea\\x11\\x65\\x5d\\x18\\x40\\x6a\\x21\\xe2\\x81\\xc2\\x31\\xd3\\x35\\x9a\\x92\\x39\\x66\\xbe\\x23\\x77\\x0c\\xa9\\x8c\\x31\\x40\\x36\\xd1\\x2a\\xec\\x1b\\xc6\\xdb\\x4f\\x70\\x13\\xb0\\x1f\\xe4\\xad\\xab\\x65\\xff\\x89\\x77\\xd2\\x62\\x89\\xd7\\xb9\\xe6\\xb4\\xae\\xfb\\xd7\\x82\\x86\\xeb\\x6a\\xe6\\x8e\\xca\\xec\\xab\\x65\\x35\\x64\\x1b\\xad\\x74\\x92\\xbc\\xb3\\xb6\\xe5\\xaa\\x7e\\xb0\\xc2\\x5d\\x23\\xa5\\x6e\\xbe\\x9a\\xce\\x5b\\x5a\\x2b\\xc7\\x13\\x4c\\x48\\x3a\\x7e\\x44\\x6a\\x08\\xc6\\xa6\\x0a\\x78\\x97\\x4a\\x65\\x57\\xfb\\xd4\\x26\\x60\\x02\\x81\\xa0\\x09\\xf8\\x40\\x87\\xe8\\x33\\x3b\\x38\\xb3\\xcb\\xae\\xb1\\x77\\x8a\\xac\\xc6\\xae\\xce\\x5d\\x16\\x90\\x37\\x12\\x2c\\x17\\x04\\x4e\\x15\\xe1\\x23\\xe8\\xf8\\xb4\\x72\\x7c\\x1a\\x8b\\x2c\\x72\\x74\\xe6\\xa3\\xb5\\xcf\\xbc\\x7e\\xc7\\x94\\xf9\\xa3\\x12\\xee\\xbe\\xd5\\xc0\\xb6\\x0c\\x79\\x4b\\xe1\\x3b\\xd6\\x2d\\x07\\x41\\xb8\\xde\\x25\\xad\\x92\\xd2\\x47\\xa4\\x1e\\x70\\x6b\\xf2\\xb4\\xbf\\xac\\x02\\xbb\\x5c\\x89\\xf4\\xbf\\xf7\\x2d\\x2e\\x83\\x4b\\x07\\xae\\x00\\xcf\\xed\\x03\\x1f\\xc9\\xb9\\xde\\xcc\\x4e\\x76\\x1d\\xe5\\xa1\\x4a\\xa9\\xb6\\x54\\x61\\x40\\x10\\xa8\\x12\\x97\\x8b\\xa5\\xd8\\x44\\x99\\x3e\\xd6\\x27\\x86\\x39\\x24\\x52\\xc2\\xfa\\xb0\\x86\\xd6\\x20\\xbf\\x53\\x23\\xd0\\xde\\xdc\\x19\\xf2\\x19\\x9a\\x8d\\x0f\\xd9\\xa8\\x26\\x0c\\xee\\x5a\\x8f\\x66\\x46\\x09\\xbb\\x49\\x19\\xbe\\x09\\x00\\xe4\\x55\\x12\\xc7\\x4b\\xee\\x92\\xa3\\x0b\\x27\\xe7\\xef\\x5d\\x87\\x93\\x57\\xad\\x6f\\x9d\\x56\\x58\\xb7\\xca\\xcf\\xbe\\xf5\\xc1\\x47\\x6f\\xd3\\xc3\\x37\\x1e\\xa5\\xde\\x7f\\x53\\xdd\\x78\\xc1\\xb0\\x15\\xe7\\x9e\\x30\\x39\\x9a\\x3c\\x23\\xa0\\x7f\\x33\\x3b\\x6d\\x9e\\xec\\x5f\\xff\\x60\\x7c\\x61\\x41\\xcc\\x29\\xbd\\x26\\x7d\\x01\\xbc\\x20\\x55\\xdd\\x40\\xff\\x0d\\xb9\\x96\\x6f\\xd7\\x0c\\x1b\\x57\\x12\\x8a\\xba\\x80\\x7f\\x00\\xc1\\xa9\\xd4\\x45\\x21\\x38\\x5d\\x64\\x0e\\x67\\xa1\\x0f\\x4f\\xa3\\x70\\x3a\\x29\\x96\\x2a\\x2e\\xd1\\x17\\xe0\\x19\\xa3\\x5d\\xa2\\x3e\\xa0\\x0f\\xd0\\x1a\\x8d\\xbb\\x53\\xd4\\x70\\xb4\\x2d\\x37\\xcf\\xf8\\x7b\\x70\\x92\\xc4\\xa2\\xbc\\x7a\\x03\\x90\\x91\\xa3\\xf2\\xfc\\xcd\\x3a\\x15\\x44\\x00\\x2b\\xb3\\x47\\xf1\\xd2\\xce\\x87\\xa4\\xb6\\xc3\\x6f\\xe2\\x29\\xf4\\xd2\\xe1\\xb2\\x13\\xc7\\x34\\x87\\x2a\\xcb\\x4f\\x3f\\x6f\\xc3\\xd9\\xec\\xa8\\xa7\\xcf\\x3c\\x5d\\xdd\\x5a\\x53\\x36\\x01\\xfd\\xa8\\x2a\\xc1\\xac\\xc7\\x09\\x46\\xe9\\xbb\\xaf\\x07\\xfe\\x23\\xed\\x0c\\x46\\x83\\xee\\xb7\\x9e\\x7c\\xe4\\xe5\\x5a\\xf0\\xcd\\x9f\\x77\\xd7\\x04\\xa2\\x01\\xd7\\x73\\x0f\\x22\\xfa\\x72\\x1c\\xfd\\x50\\xd5\\x85\\xee\\xcb\\x41\\x95\\xa7\\x9c\\x9c\\x5e\\xef\\x70\\xba\\x6c\\x0c\\x92\\xe1\\x36\\x46\\xcf\\xe1\\x3e\\x1b\\x23\\xe4\\x75\\x02\\xa5\\xd0\\xd2\\xa0\\xff\\xaf\\xd4\\x3b\\xe3\\xf9\\xb5\\xf2\\x4e\\x39\\x52\\xae\\x48\\x6e\\x41\\xd5\\xd5\\x12\\xf2\\xd7\\x26\\x5b\\x53\\x7e\\xa9\\x31\\x99\\x7e\\xff\\x5a\\xda\\xbf\\x03\\x5c\\x03\\xc6\\x37\\xfc\\x69\\xf9\\x94\\x2e\\xa6\\xe1\\x3a\\x6b\\x6c\\xea\\x09\\xbf\\xfd\\x95\\x35\\x92\\x16\\xc5\\x28\\x2c\\xbc\\xec\\x7c\\x0f\\xe9\\x15\\x3f\\x7a\\x84\\xb9\\x09\\xe1\\xd3\\x4e\\x0d\\x4b\\x79\\x4d\\x5a\\xad\\xcd\\xe1\\xb4\\x0b\\x02\\xc4\\xfb\\x94\\xcc\\x66\\x8d\\x5e\\x6b\\xd2\\x9b\\x3a\\x44\\xbd\\x19\\x2f\\x94\\x18\\x34\\xd7\\x72\\xbb\\x4a\\x33\\xe3\\x29\\xb3\\xc7\\xc1\\x4b\\xee\\xb0\\x60\\x63\\x4e\\x4d\\x84\\xa3\\xf1\\x61\\x4e\\xe9\\xc1\\x71\\xd2\\xba\\x5e\\xf0\\xe8\\x56\\x60\\xf9\\x7b\\x62\\x75\\xcf\\x84\\x16\\xfa\\x93\\x33\\x6d\\xc9\\xfa\\x81\\x8f\\xf0\\xaa\\xbb\\x84\\x27\\xbd\\x9a\\x76\\x2c\\x3d\\x59\\x38\\x80\\x77\\x16\\x63\\x9c\\xe0\\xf9\\x13\\x4c\\x94\\xcc\\x10\\x3a\\x44\\x7f\\x0d\\x4e\\x24\\x3b\\x3e\\x22\\xf2\\x8c\\x96\\x03\\x3b\\x82\\x3e\\xa3\\x23\\x6f\\xcf\\x31\\x39\\x3f\\x8e\\x81\\x33\\x85\\xf2\\xbf\\x01\\x6f\\x20\\x7e\\xc0\\xff\\x06\\xa7\\x3a\\xd1\\xbf\\xb9\\x71\\x47\\xc0\\xab\\xb7\\xe7\\xed\\x05\\x99\\x2c\\xb5\\x6b\\x3e\\x43\\xb8\\xb7\\x53\\x61\\x2a\\x41\\x4d\\x49\\x25\\x1c\\xbe\\x22\\x15\\x28\\x02\\x91\\x48\\x99\\xb1\\x3c\\xee\\xee\\x11\\xe3\\x42\\x34\\x88\\x0c\\x77\\x46\\x8d\\xde\\x6d\\xf7\\xe8\\x2d\\xbd\\xa2\\x49\\xcf\\x01\\x15\\x54\\xf5\\x88\\x30\\x3f\\x40\\x81\\xa5\\x96\\x42\\x5a\\x20\\x89\\x27\\xbc\\xd6\\x2b\\x56\\x6b\\x54\\x46\\x86\\x07\\xe4\\xcc\\x1c\\xc6\\x28\\xca\\xe9\\xe9\\x80\\x83\\xbc\\xa5\\x7a\\x48\\x7a\\xa1\\x17\\x5c\\xb3\\xea\\xe0\\xe5\\x05\\x7d\\x9d\\xe3\\xcb\\x13\\x2e\\x4b\\xb4\\xab\\x40\\xba\\x69\\xd1\\x6f\\xd4\\xc3\\x4f\\xec\\x7e\\xf8\\xa1\\x27\\x9f\\x7c\\xf0\\x10\\xdd\\x84\\xc4\\x4e\\x44\\x7a\\x5b\\xfa\\x54\\xfa\\x4c\\x7a\\xdb\\x04\\xbb\\x09\\xf2\\x76\\x83\\xbf\\x9f\\x2e\\x0a\\xb7\\x8d\\xb5\\xae\\xfb\\x6d\\x16\\x33\\x59\\x7a\\x5c\\xfa\\x10\\xe0\\xed\\x90\\x29\\xe0\\x45\\xef\\x7a\\x12\\xf1\\xd6\\x1d\\xd2\\x7d\\xd2\\x3d\\xd2\\xad\\xa0\\x07\\xf3\\x8e\\xd4\\xae\\xae\\x20\\xbc\\x63\\x47\\x70\\x4f\\x4e\\x25\\x78\\x56\\x4f\\xf9\\x30\\xef\\xc0\\xb2\\x82\\xf2\\x84\\x27\\x5c\\x8c\\x94\\x5f\\x98\\x73\\xfa\\xdc\\xbe\\x0e\\x64\\xb6\\xfb\\x1d\\x36\\x8d\\x89\\xb0\\x90\\x35\\x87\\x85\\x28\\x67\\x0e\\x51\\xa2\\x17\\x18\\xee\\x9c\\x32\\x96\\x41\\x3e\\xca\\xcb\\xc8\\x1f\\x1f\\x1b\\x70\\x95\\x34\\x6f\\xef\\x8b\\xfb\\x0e\\xec\\x7d\\x79\\xc7\\xe2\\xd5\\x2b\\x4e\\x59\\xb0\\x7c\\xd5\\x12\\xba\\xfe\\xf8\\x98\\xc0\\x1c\\x95\\xfe\\x1e\\xaf\\x78\\xf8\\xfb\\x73\\x3b\\xff\\xf9\\xc9\\x13\\x7b\\x7f\\x38\\x0e\\x06\\x90\\xbe\\x6f\\x3b\\x7a\\x17\\xfb\\x1a\\xd2\\xf7\\x76\\xaa\\x8c\\x1a\\x93\\x0a\\x39\\x0a\\x83\\xc1\\x52\\xb7\\x9b\\x8a\\xe8\\x29\\x7d\\x79\\x45\\xd0\\xe7\\x4e\\xf1\\xee\\x3e\\x91\\x2f\\x2e\\x4d\\x15\\x96\\xb2\\xa5\\xb3\\x45\\x56\\x1e\\x09\\x8f\\x0c\\xa4\\x03\\x48\\x7b\\xe3\\x87\\xdc\\x6e\\xe9\\xa4\\xb2\\x4b\\x23\\x4a\\x14\\xb3\\x83\\x21\\x1b\\x35\\xe4\\xb0\\x12\\x59\\xa8\\xe1\\x90\\x7f\\x5e\\x8b\\x2f\\x34\\x26\\xff\\x5c\\x45\\xb7\\xd1\\xb3\\xf4\\xc3\\x22\\x91\\x7a\\x3d\\xa8\\x00\\xe5\\xd2\\x01\\xe9\\xb0\\xbe\\x3e\\x12\\x19\\xa6\\x97\\xde\\x90\\x5e\\x3e\\xb4\\xe7\\x80\\xb1\\x26\\x18\\xac\\x31\\xbd\\xbc\\x77\\x2f\\x79\\x56\\x6d\\x7a\\xf5\\x59\\x24\\x02\\xd7\\x96\\x05\\x8b\\x8b\\x83\\x6e\\xe9\\x2e\\xe9\\x25\\xe9\\x05\\xe9\\x36\\x57\\xb0\\xa8\\x28\\xe8\\x02\\x33\\x41\\x83\\xf4\\x0f\\xe9\\x7d\\x97\\x37\\x12\\xf1\\xba\\x40\\x10\\x44\\x11\\xf9\\x78\\x9c\\xde\\x70\\xd8\\xeb\\x92\\x3e\\x92\\x67\\xb4\\xde\\xc9\\x34\\x33\\x5a\\xca\\x86\\x6e\\x13\\xc1\\x1a\\x76\\xc5\\xe3\\x81\\x68\\x54\\x6f\\xa7\\xf4\\x54\\x59\\xb9\\x37\\x90\\x72\\x05\\xb8\\xc0\\x44\\x91\\x8b\\x17\\x45\\x53\\x6c\\x74\\x22\\x81\\x55\\x06\\x31\\x0b\\xf3\\x31\\xb0\\x02\\x4e\\x81\\x0f\\x17\\x22\\x28\\x60\\xfb\\x01\\xba\\xca\\x58\\x66\\xfc\\xb9\\xbc\\xd9\\x17\\xff\\x7c\\x24\\x60\\x9a\\xa5\\x85\\xfa\\xfa\\x02\\x04\\xeb\\xfe\\xfd\\xe0\\x1a\\x04\\x67\\xc1\\x30\\xfd\\xbe\\x57\\x76\\xac\\x58\\x65\\x4a\\x62\\xd8\\xce\\x58\\xb2\\xf4\\x0c\\x63\\x75\\x30\\x90\\x34\\xad\\x59\\x86\\xee\\xef\\x84\\xca\\x50\\xbc\\x24\\xe8\\xf8\\xf5\\x2d\\xf0\\x70\\x65\\xb0\\xa4\\x24\\xe8\\xfc\\xe1\\xad\\xc7\\x9e\\x76\\xb9\\x83\\x61\\x8f\\x6d\\xd7\\x9e\\xbd\\x4f\\xda\\xbd\\xe1\\x90\\xdb\\xfb\\x1c\\xa2\\xd3\\x8b\\x8e\\x1e\\xd1\\x16\\xa9\\x57\\x51\\x63\\xa8\\x5e\\x6a\\x25\\xb5\\x31\\x35\\xca\\xab\\x5f\\x30\\x77\\xe5\\xca\\xc5\\x8b\\x3b\\x3b\\x67\\x54\\x36\\xf2\\x33\\xa0\\xbe\\x45\\xdf\\x72\\xfa\\xaa\\xae\\x13\\x4f\\x1c\\x3b\\x63\\xd9\\xb2\\xb1\\x73\\x4d\\xdd\\xe6\\xb1\\x81\\xb1\\xb4\\x16\\x8e\\x4d\\xcd\\x30\\xd5\\x3a\\x4c\\x8e\\x1e\\x71\\xb8\\x20\\x34\\x99\\x98\\xd2\\x90\\x2a\\xd4\\x23\\x16\\x42\\x48\\x91\\x79\\x4b\\xc9\\xc1\\xf1\\xef\\xca\\x33\\xee\\x0d\\x37\\xb6\\x8b\\xab\\xb8\\xbd\\x7c\\x3d\\x9e\\x41\\x5d\\x9e\\xe7\\x54\\x58\\x32\\xc1\\x65\\xb9\\x4e\\x13\\x63\\xa0\\x8c\\x6c\\x7f\\x47\\xc0\\x2b\\x79\\x0f\\x13\\x5e\\x5d\\x88\\x74\\xc3\\x48\\xc4\\x9e\\x7e\\x88\\x1f\\x6b\\xaa\\xb3\\x43\\x86\\xc9\\x98\\x5b\\xde\\x6a\\xa2\\x41\\x95\\x9f\\x49\\x22\\xb2\\x0f\\x97\\x31\\x64\\x98\\xf5\\x48\\x68\\x31\\xd1\\xf2\\xae\\x0e\\xf4\\x81\\xf2\\xc6\\x2a\\xd5\\xaa\\x0d\\xfb\\x26\\x4d\\x3a\\xb0\\xe1\\x96\\xa3\\x3b\\x7a\\x71\\x82\\xe4\\xb4\\xe7\\xa7\\x91\\x0c\\xc9\\x8c\\xcb\\xe7\\x54\\x9f\\x78\\xfe\\xfd\\xb3\\xab\\x16\\xcd\\x9d\\x16\\x6c\\x0e\\x76\\xcf\\x39\\x35\\x39\\xfb\\xfe\\xf3\\x4f\\xac\\x9e\\x73\\xc5\\x74\\x92\\x5e\\x99\\xf6\\xfc\\x69\\x38\\xbf\\xd2\\xbb\\xe3\\x68\\x7a\\x7a\\xc9\\xb8\\xd6\\x54\\xeb\\xb8\\xf8\\x29\\x33\\xab\\xa6\\x8c\\x6f\\x6d\\x6a\\x0a\\x0e\\x9b\\x64\\x1e\\x07\\x5c\\x35\\x93\\xbe\\x77\\x55\\x8d\\xaf\\xaa\\xaa\\x0f\\x14\\x04\\x2a\\x0b\\x4b\\x46\\x5a\\x5b\\x26\\x4c\\x68\\x99\\x7a\\xcf\\xc0\\xed\\x38\\xa1\\x12\\xf4\\x92\\x8c\\x4a\\xf3\\x96\\xaf\\xee\\xb9\\xf7\\xb3\\x8b\\x1b\\xc2\\x0d\\x9d\\x65\\xa0\\xbc\\x13\\x3d\\x5e\\xfc\\xd9\\xbd\\xf7\\x7c\\xb5\\xa5\\x99\\x24\\x62\\xbc\\x41\\x9c\\x89\\xb9\\x7d\\xe0\\x9e\\xa9\\xea\\x8b\\x5d\\xd1\\xd2\\xa8\\x1b\\x2c\\xb6\\xf9\\xa3\\x7e\\x5b\\xf3\\xb8\\x11\\xf3\\xc7\\x95\\x48\\x17\\xa6\\x2a\\xa2\\xe6\\x61\\x5c\\x91\\xc3\\x6a\\x15\\xfc\\xfe\\x70\\xac\\xa9\\x5e\\xb6\\x49\\x46\\x1f\\x3d\\xa2\\x12\\x54\\x4e\\xe5\\x1e\\xcf\\x48\\x8d\\xcc\\xde\\x62\\xbd\\x65\\x06\\xd4\\x35\\xeb\\x9a\\x4f\\x5f\\xd5\\xd1\\x89\\xae\\x70\\x6e\\xf6\\x02\\x67\\xcc\\x35\\xa7\\x92\\x4e\\x33\\x72\\x10\\x87\\x59\\xad\\x8d\\x66\\x2e\\x1e\\x64\\x83\\x5d\\x62\\x94\\xa6\\xc7\\xb0\\xf6\\xe3\\xdd\\x20\\xf6\\x6c\\xde\\x20\\x57\\x88\\x2e\\x90\\xdb\\x53\\x95\\x13\\x25\\x57\\x6e\\xaf\\xb2\\x82\\xc9\\x5e\\x5d\\xf5\\x48\\x5a\\x76\\x6f\\x32\\x4b\\xaa\\xe5\\xab\\xab\\x4b\\x66\\xae\\x2e\\x63\\x6d\\x63\\x02\\xf7\\xd3\\x78\\x0e\\x77\\xe4\\x7f\\xb9\\x3b\\x06\\xdc\\x5e\\x51\\x71\\xfb\\x69\\x27\\xdf\\xb4\\xa8\\xa1\\x7e\\xce\\x05\\x27\\x36\\xaf\\xa9\\xaa\\x8b\\xbb\\xda\\x0a\\x7b\\x66\\x87\\x47\\x2f\\x18\\x5b\\x31\\xa5\\xa5\\x4c\\x3f\\x4c\\x57\\xde\\x32\\xa5\\x62\\xec\\x82\\xd1\\xe1\\xd9\\x3d\\x85\\x6d\\xae\\x78\\x5d\\xd5\\x9a\\xe6\\x13\\x2f\\x98\\x53\\xdf\\xb0\\xe8\\xa6\\x93\\xa5\\xf9\\xff\\xe3\\xbd\\x4d\\x44\\xff\\x4b\\x9d\\xfd\\xf8\\x9a\\xb3\\x76\\xae\\x19\\x2e\\x18\\xbe\\xdf\\x62\\x73\\xbf\\xf4\\xca\\xb4\\xcb\\xe7\\xd4\\x7a\\x12\\xc3\\x83\\xc1\\xe1\\x09\\x4f\\xed\\x9c\\xcb\\xa7\\xbd\\xf2\\x92\\xdb\\xb6\\xe5\\x7b\\x83\\x30\\x7c\\xcd\\xce\\xb3\\xd6\\x3c\\x7e\\x76\\x4a\\x55\\xfa\\x3f\\x5e\\x18\\xd2\\xa5\\x24\\xaf\\xa8\\xba\\x04\\xe9\\x52\\x1e\\xeb\\x52\\xed\\xd3\\xcc\\x03\\xca\\x6c\\xa3\\x56\\xb6\\x10\\x50\\xa3\\xc7\\x84\\x9d\\x79\\x35\\x43\\x24\\xe7\\xc6\\x06\\xd0\\xfb\\x2d\\xf2\\xfb\\xe9\\x4d\\x47\\xff\\x49\\xde\\x5f\\xca\\x17\\x02\\x4d\\x59\\xb9\\x45\\x9d\\x37\\x0b\\x09\\xe9\\x5d\\xb2\\x8f\\xc7\\x43\\x35\\xa6\\x02\\x4e\\xa0\\x52\\xe9\\x38\\x1d\\xe7\\xf5\\x19\\x6d\\x3d\\x22\\x67\\x44\\xca\\xb6\\x47\\x54\\x0b\\xca\\xea\\x98\\xec\\xb2\\xa0\\xcc\\xd4\\x65\\xd9\\x98\\x96\\x55\\x6b\\x76\\xa7\\x51\\xee\\x2c\\xb9\\x20\\x8d\\x85\\x33\\xbc\\x85\\x8c\\xac\\x78\\x49\\xba\\x27\\x77\\x88\\x9c\\x74\\xf4\\x08\\xa0\\x41\\xa8\\x54\\xd9\\x40\\xd6\\x65\\x00\\x7d\\xa0\\x3a\\x67\\x88\\xdc\\x6b\\xd2\\x73\\xe8\\xeb\\x5d\\x33\\xde\\xa3\\x20\\xb5\\x2b\\xf3\\x5e\\xd1\\x19\\x35\\x46\\x8b\\xc5\\x8e\\x54\\x89\\xd7\\xe7\\xc2\\x6d\\x69\\x2e\\x4e\\xd0\\x4f\\x14\\x05\\xbb\\xd1\\xc2\\x59\\x3a\\x44\\xee\\x8f\\xce\\x08\\x06\\xf7\\xa0\\x07\\x32\\xe5\\xea\\x64\\xa5\\x29\\x52\\x7f\\x50\\x57\\x57\\x12\\xef\\xae\\x5e\\xb9\\x71\\xf3\\x35\\x53\\xf0\\x5a\\xa3\\xdd\\xfb\\x3e\\x7c\\xe9\\xf2\\x8b\\xe9\\x6d\\xeb\\xcb\\x63\\x6f\\x3f\\xf1\\x97\\x47\\x39\\xad\\x14\\x27\\x51\\xc7\\x99\\xc6\\x7f\\x7f\\xf3\\x11\\xa0\\xe5\\x7a\\x7a\\xdf\\xd1\\x23\\xf4\\x65\\xec\\xa5\\x94\\x40\\xf5\\xa4\\x2a\\x55\\x6a\\x56\\x43\\xeb\\x81\\xc1\\x62\\xe6\\x78\\xde\\x6c\\xd0\\x6b\\xd4\\x2a\\xad\\xa0\\x15\\xac\\x36\\x83\\x19\\x58\\x34\\x7a\\x96\\x36\\x5b\\x4c\\x94\\x9e\\xd6\\x31\\x8c\\x8e\\x32\\x31\\x9c\\x1a\\x09\\xbf\\x3d\\x8e\\xfa\\xcc\\xfa\\x48\\x3e\\xdb\\xab\\x95\\xb3\\xcc\\x3d\\xc7\\x14\\x8e\\xa9\\x1d\\xea\\x18\\x8c\\x08\\xb1\\x3a\\x47\\x1d\\xfa\\x12\\x92\\xd0\\x41\\x2f\\xdb\\x3f\\xee\\x25\\xdf\\x4b\\x0f\\xce\\xd9\\xbd\\xcf\\xb7\\x6f\\x3c\\xfa\\xba\\xbf\\x6f\\xd7\\x7e\\xfa\\xcd\\xd1\\x6f\\x8e\\x9e\\x32\\x3a\\x3d\\x40\\x47\\xd0\\x03\\x7e\\x0a\\x06\\xd2\\x9f\\x8c\\x26\\x77\\x2d\\x3d\\xc0\\x34\\x80\\x09\\xec\\x72\\xa4\\x9b\\x6c\\x8f\\xe9\\x78\\xde\\x86\\x1c\\x28\\x1b\\x55\\x8e\\x8c\\x05\\x45\\xa0\\xc2\\xcc\\x2a\\xfc\\x64\\xa8\\x26\\xb3\\xb2\\x2f\\x12\\xda\\x34\\xac\\xa4\\xb8\\xb1\\x71\\x18\\x38\\xb9\\xa1\\xa4\\x64\\x58\\xfd\\x30\\xe9\\x46\\xe6\\x96\\x92\\xe1\\x8d\\xc5\\x25\\x0d\\xfa\\x92\\x86\\x06\\xf4\\x2b\\xf9\\xb3\\x6f\\x60\\x7a\\xc0\\x3c\\x76\\x35\\xc5\\x53\\x9e\\x94\\x96\\xd6\\x5b\\x0c\\x7a\\x96\\xda\\x00\\x91\\x0b\\x4f\\x35\\xb9\\x5f\\xae\\x42\\x42\\x00\\x10\\xb5\\x5d\\x25\\x44\\x88\\x61\\xaa\\x42\\xbe\\x74\\x5d\\x55\\xdd\\x48\\xb0\\xe9\\xb0\\x76\\x9c\\xf7\\xec\\x50\\x47\\xed\\x92\\x55\\x33\\x4f\\x99\\xb9\\x64\\x58\\x37\\xbb\\x5a\\xfa\\xfc\\x92\\x48\\x78\\xcc\\x62\\x30\\xa5\\xb4\\x88\\x7c\\xf6\\xd1\\x2b\\x98\\x5e\\x6a\\x29\\x7b\\x90\\xe2\\xf0\\x67\\x1b\\xf5\\x2a\\x5c\\x86\\x09\\x4d\\xe4\\xb3\\x5f\\xae\\x92\\x8f\\x8f\\x4f\\x5f\\x9d\\x99\\xd3\\x6f\\xb3\\xe2\\xc1\\xbd\\x4b\\x5b\\xaa\\xe2\\x75\\xe1\\x92\\xf0\\x19\\x67\\xce\\x65\\xdb\\x86\\xb7\\x97\\x16\\x86\\x43\\x36\\xbb\\xa3\\xa6\\xa0\\x29\\x7a\\x6a\\xde\\x67\\xfa\\x52\\x3a\\x15\\xa4\\x28\\xbd\\x9e\\x57\\x99\\x60\\xee\\x87\\x12\\x41\\x25\\xe0\\x05\\x4e\\xb5\\x83\\x72\\x65\\xe9\\x9c\\xb3\\xce\\x40\\x1f\\x5a\\x17\\x4f\\x36\\xb3\\x6d\\xdd\\xa7\\x46\\x9b\\x0a\\x6a\\x1c\\x76\\x1b\\x32\\xb0\\x4a\\x71\\xcd\\x14\\x48\\x6f\\x67\\xfa\\xe8\\x6a\\x76\\x2d\\xfa\\xdc\\x58\\x8a\\xd7\\x33\\x0c\\x6f\\xd0\\x5f\\x2a\\x1a\\x0c\\x88\\x93\\x36\\x8b\\x6a\\x86\\x7c\\xfc\\x01\\xb9\\x4b\\x31\\x4e\\xfe\\x08\\x3a\\x37\\x91\\x60\\x08\\x3d\\x2c\\x93\\xb4\\x85\\xa3\\x65\\xe0\\xab\\x99\\xa7\\xa8\\xb6\\xb3\\x0f\\x3f\\xb6\\x0e\\xb0\\x80\\xb9\\xf1\\x01\\xe9\\xfb\\xbb\\x2e\\x61\\x93\\x0b\\xe7\\x6f\\x3d\\xaf\\xb3\\x73\\x7e\\xef\\xf0\\x28\\xc6\\x89\\x66\\x20\\x8e\\x7c\\xb9\\xd7\\xd9\\x07\\x29\\x23\\xe2\\x8a\\x62\\xaa\\x8e\\x1a\\x4d\\x4d\\xa2\\x66\\x53\\x4b\\xa8\\x6d\\xa9\\x8e\\x59\\x9d\\x9d\\xdd\\xe3\\x9c\\x3a\\x9d\\x85\\x29\\x43\\x1a\\xbf\\xb0\\x90\\x19\\x07\\xe7\\x35\\xb6\\xb4\\x2c\\x9a\\x37\\x6f\\x59\\x57\\x2c\\x38\\x6e\\xdc\\x04\\xef\\x98\\x31\\x91\\x09\\xa7\\xb5\\x36\\xce\\x9b\\xb7\\x60\\x58\\x5f\\x5f\\xd3\\x82\\x9e\\x9a\\xb2\\xee\\xee\\xe9\\x25\\x93\\x27\\x57\\x4e\\x9f\\xb0\\x60\\xfa\\xf4\\x05\\x13\\xa0\\xde\\xe6\\xb2\\x58\\x4c\\x36\\x4a\\xad\\x66\\xf4\\x54\\x79\\x32\\x59\\x9e\\x24\\xdf\\x30\\x61\\x96\\xe3\\x1c\\x12\\xc1\\x4e\\xb9\\xdc\\x30\\x71\\xbc\\xa7\\x0a\\x49\\x0d\\x76\\x21\\x26\\xb3\\x5a\\xdb\\x96\\x9d\\xbd\\x8d\\x1e\\x0a\\x61\\xde\\x2b\\xf0\\x07\\xbf\\x13\\xfe\\xe7\\x77\\xe6\\xbf\\x4a\\xb6\\x75\\xae\\x9e\\x3c\\x79\\x75\\xe7\\x98\\x9a\\xec\\x33\\x7a\\xf2\\x71\\x7e\\xd8\\x9e\\x7d\\xf6\\xeb\\xb0\\x9a\\x31\\xf2\\xd3\\xb6\\x64\\xf6\\xd9\\x8e\\xec\\xb3\\xd7\\xdb\\x92\\x93\\x57\\xaf\\x9e\\x5c\\x31\\x5e\\x55\\x9b\\x79\\xf6\\xeb\\xab\\x99\\x67\\x4c\\x2c\\xf3\\x4c\\xd2\\x64\\x9e\\xa5\\x0f\\xb5\\x97\\xe3\\x67\\xc9\\x36\\x26\\x96\\x79\\x26\\x69\\x32\\xcf\\xd0\\x5d\\x56\\x48\\x73\\xe0\\xab\\x2a\\x06\\xd1\\x4c\\x88\\xaa\\xa2\\x5a\\xa9\\xa9\\xd4\\xa9\\xd4\\x7a\\xea\\x2a\\x6a\\x43\\xea\\xff\\xe3\\xec\\x4b\\xe0\\xdb\\xa8\\xae\\xbd\\xe7\\xce\\xa6\\x6d\\xa4\\xd1\\x48\\x1a\\x8d\\xf6\\xd1\\x62\\x49\\x96\\x65\\x59\\xb6\\x65\\x59\\x76\\xec\\xd8\\x13\\x67\\x27\\x8b\\x15\\x27\\x84\\xc8\\x24\\xb1\\x13\\x42\\x80\\x84\\x10\\x12\\x02\\x01\\xd2\\x90\\xd0\\x40\\x37\\xa0\\x61\\xdf\\x0b\\x29\\x0d\\xcb\\xa3\\x29\\x6b\\x48\\xa1\\xd0\\x94\\x96\\xa5\\xd0\\x92\\x52\\xda\\xd2\\x05\\xfa\\x68\\x69\\x4b\\x37\\x68\\xa1\\x2d\\xef\\x3d\\x0a\\xf1\\xf8\\xbb\\xf7\\xce\\x68\\xf3\\x92\\xd0\\x8f\\xfc\\xb0\\x2d\\xd9\\x92\\xee\\x59\\xee\\xb9\\xe7\\x9c\\x7b\\xce\\xff\\xcc\\xda\\x7b\\xe5\\x39\\xa3\\xa7\\x07\\x24\\x51\\xc0\\x2a\\x3a\\xff\\xd4\\x9d\\xe7\\x9e\\xbb\\x6d\\xdb\\xa9\\x16\\xe1\\xf4\\x2b\\xd9\\xce\\xd6\\x78\\x7c\\x56\\x67\\xe7\\x8d\\x0b\\xe7\\xcc\\xd9\\x77\\x5d\\x22\\x13\\x8d\\xf6\\xe5\\x3a\\x77\\x6f\\x5d\\xb5\\xe6\\xba\\xce\\xad\\x6b\\xd6\\x6c\\xed\\xbc\\x8e\\xa6\\x64\\x97\\x8d\\x22\\xb2\\xaf\\x64\\x5f\\xd1\\xc4\\x96\\xb5\\xbf\\x62\\x3f\\x66\\x7f\\x05\\x0a\\xf2\\x58\\x3b\\x72\\x38\\x5f\\xa9\\x13\\x53\\xf9\\x5f\\x4e\\x28\\xcb\\x12\\xe5\\xc4\\xea\\x95\\x1f\\x6e\\xb1\\x82\\x88\\x8f\\x68\\x9c\\x5a\\x4c\\x00\\x78\\x70\\xa3\\xfd\\xac\\xa7\\xca\\x3a\\x91\\x47\\x96\\x73\\xa3\\x63\\x5b\\x33\\x1e\\x18\\xbe\\xc0\\x90\\xd4\\x53\\x66\\xda\\xdf\\x00\\xf4\\xb5\\x20\\xe9\\x41\\x88\\xf6\\x77\\x71\\x9c\\xcf\\x34\\xe8\\xb1\\x89\\xfe\\xde\\x38\\x79\\x59\\xd0\\x53\\x6f\\x93\\x36\\xdf\\x6f\\xab\\x3f\\x52\\xab\\xea\\xf7\\xe1\\xc7\\x9b\\xea\\x1f\\xd3\\xf7\\xf7\\x9d\\xd5\\x93\\x69\\x70\\xbb\\x5d\\x19\\x4f\\xa8\\x65\\xf6\\xf1\\x9e\\xba\\x87\\xd4\\x9a\\x0b\\xe7\\x2c\\x3c\\xaf\\x79\\x5e\\xd2\\x25\\x3b\\x33\\xe1\\xc6\\x81\\xe3\\x6f\\x55\\x1f\\x67\\x43\\x8d\\x03\\x87\\xeb\\xdf\\x8c\\xb9\\xb9\\xfe\\xf1\\xd8\\xf7\\xa6\\x5c\\x93\\xfa\\x9b\\xfa\\x77\\xa5\\xa2\\xf5\\x8f\\xcf\\x9e\\x76\\x49\\x72\\x66\\x36\\xc6\\x98\\x50\\x17\\x33\\x77\\xb0\\x2f\\x11\\x41\\x22\\x8d\\xbc\\x6d\\xd1\\x64\\x6a\\x4c\\xa5\\xa2\\x11\\x37\\xcb\\x06\\x09\\x8a\\x8a\\xd8\\x82\\xb6\\x60\\x73\\xa6\\x91\\x8f\\xc8\\x11\\xe8\\xa2\\x45\\x42\\x4a\\x28\\x3e\\x52\\x0a\\x09\\x4a\\x40\\xd2\\x4a\\x56\\xbc\\x06\\xb7\\x40\\x05\\x4d\\x2c\\x1e\\x4e\\x68\\x14\\x69\\x4e\\x43\\xd3\\xc9\\xd5\\xf6\\x0e\\x57\\x2b\\xc7\\x7e\\xa4\\xc5\\x20\\xd8\\x65\\xab\\xa6\\xc8\\x2a\\xfa\\x80\\xf3\\xf7\\x71\\x34\\xa9\\xac\\x5a\\x2f\\x36\\x01\\x52\\x0c\\x20\\xc9\\x6b\\x39\\xa7\\x9c\\x0d\\x30\\x77\\x3c\\x3a\\xab\\x5d\\xbd\\x15\\xc1\\x89\\x95\\xd1\\x10\\x30\\xfe\\x8e\\x6a\\xf8\\xe6\\xe3\\xcc\\x41\\xf6\\xec\\x35\\x9a\\x85\\xeb\\xd5\\x60\\x50\\x74\\x68\\xb1\\x29\\x80\\xc7\\x98\\xd1\\x2b\\x6e\\x3c\\x6b\\x13\\x32\\x7d\\x38\\x6f\\x8c\\xfa\\x9c\\x52\\xd0\\xb6\\x5a\\x21\\x4f\\xf6\\x2a\\x03\\x31\\x49\\x32\\x5b\\x2c\\x34\\xd5\\xe0\\x72\\xa5\\x6d\\x82\\x40\\x05\\xd2\\x81\\x74\\x73\\xa6\\x29\\x1e\\x0d\\xca\\x30\\x56\\x36\\xa3\\x76\\x10\\xc8\\x1b\\x8a\\x50\\x08\\xc3\\x60\\x89\\x50\\x92\\x62\\x83\\xcc\\xa7\\x25\\x57\\xc0\\x17\\x40\\x25\\x0f\\x0e\\xbb\\x4f\\x24\\xfa\\x5f\\xac\\xe7\\x88\\xaf\\x86\\x13\\xe5\\x06\\xc3\\x69\\xf8\\x51\\x4f\\x31\\x80\\xdc\\x89\\x4d\\xcb\\x1d\\x32\\x5c\\x47\\x37\\x18\\x7a\\x64\\x56\\xfb\\x9f\\xf4\\xea\\xba\\x6a\\x99\\x19\\xbd\\xbe\\x4c\\xed\\x27\\x3f\\x43\\x7d\\x53\\x35\\xe5\\x75\\xda\\xdd\\x45\\x4d\\xf1\\x5d\\x1d\\x0e\\x09\\xc2\\x88\\x59\\xa2\\xa4\\x04\\xab\\xcf\\x67\\x66\\x45\\x82\\x25\\x34\\x8c\\x18\\xbb\\xd1\\x84\\x10\\x61\\x4c\\x02\\xfc\\x47\\x5b\\x26\\x03\\xc3\\xd4\\xd4\\x03\\xa4\\x27\\xa0\\x6c\\x57\\xca\\x76\\xf2\\xb9\\x7c\\x4e\\xcc\\x89\\xb1\\xba\\x8a\\x24\\x7a\\x05\\xae\\x48\\x3a\\x74\\xe8\\xbb\\x3f\\xfd\\xe9\\xa4\\x1a\\x24\\x75\\xf8\\xe6\\x9b\\x87\\xd5\\x3b\\xab\\x85\\x47\\x24\\xc2\\x8b\\xa2\\xae\\x84\\x7e\\x52\\x65\\x9d\\xc1\\xa0\\x19\\x86\\x20\\x78\\x9d\\x81\\x22\\x5e\\x67\\xb1\\xb2\\x4e\\x82\\x0e\\x4e\\xa8\\x34\\xfa\\x4f\\xd7\\x59\\x2d\\x86\\xbd\\x12\\x97\\x14\\x5d\\x7f\\xfd\\x7d\\x3f\\xfb\\xd9\\xc4\\x2a\\x22\\xda\\xb9\\xfc\\xed\\xb7\\x97\\x8f\\xd5\\x54\\x0e\\x55\\xb1\\x33\\x9d\\x44\\x98\\x38\\x4b\\x99\\x21\\xca\\x52\\xc0\\x26\\x70\\x01\\x00\\x58\\x89\\x63\\xb9\\x48\\x34\\x40\\x8c\\x96\\x44\\x79\\xa4\\x24\\x0a\\xeb\\x4a\\xf6\\x80\\xe8\\x72\\x89\\x01\\x3b\\x4d\\x9b\\x4c\\xfe\\x13\\xce\\x58\\x94\\x50\\x72\\x13\\xa5\\x37\\xd3\\x75\\x10\\x1c\\xe5\\xa9\\xe1\\xd5\\xeb\\xaf\\xb0\\xe0\\x42\\x5e\\x1e\\x1b\\x73\\x4a\\x3a\\x01\\xb9\\xf6\\x42\\x12\\x3c\\xf0\\xfa\\xd8\\x0f\\xef\\x3e\\x04\\x3e\\x06\\xef\\xed\\xda\\xde\\x73\\xd9\\xf9\\x8f\\xec\\xdb\\x96\\xbc\\xfd\\xc8\\xfa\\xb3\\xbf\\xba\\x64\\x27\\x69\\x53\\x07\\x2a\\x03\\x18\\x2f\\xfc\\xc1\\x79\\xdb\\x7a\\x77\\xf7\\x82\\xe2\\xb6\\x05\\xbb\\xee\\xfd\\xf2\\xd8\\x95\\xb3\\x2f\\xc6\\xbc\\xd7\\x7b\\x42\\xa1\\x97\\xd0\\x44\\xec\\x50\\x66\\x06\\x53\\x72\\x3c\\xce\\xf1\\x66\\xda\\xed\\xf6\\xcb\\x66\\xbf\\x39\\xdd\\xec\\xc6\\x65\\xa6\\x36\\x9b\\xe0\\xf5\\x07\\x53\\x3c\\x47\\xdb\\x02\\x01\\xc1\\x20\\x24\\x8b\\x25\\xc1\\xdd\\x40\\xd3\\x06\\x43\\x74\\x59\\xc9\\x60\\xaf\\x14\\x0c\\x54\\x46\\x3d\\x54\\xee\\x57\\xe0\\xe1\\x51\\x86\\x99\\xaf\\xa7\\x4f\\x2f\\x2a\\x41\\x35\\x02\\x92\\x0e\\xd0\\xa1\\x91\\x17\\xad\\x74\\x57\\x02\\x49\\x9f\\xc4\\x22\\xa0\\x9e\\xbd\\xe4\\xad\\x9b\\x81\\x91\\x6c\\xba\\x66\\xe1\\xe1\\x17\\x76\\xed\\xea\\xbe\\x7c\\xe4\\x8b\\xdb\\x36\\xb2\\x07\\x55\\x65\\x27\\xf8\\xde\\x8e\\x96\\xdd\\x7b\\x2e\\x5c\\x5a\\xda\\xb4\\xb1\\x67\\x2f\\xaa\\x0c\\x28\\x34\\x34\\x7f\\xfc\\x57\\x75\\x7c\\xdf\\xa5\\x33\\xf6\\xce\\x74\\x2f\\x48\\xa9\\xa8\\x83\\x92\\xbc\\x77\\xc7\\xd9\\x4f\\x3c\\xfb\\x74\\x64\\x4c\\x10\\x66\\x5f\\xae\\xe1\\x61\\x51\\x57\\xb2\\xd7\\x42\\x5b\\x91\\x53\\xfc\\x8c\\x99\\xa0\\xcc\\x94\\x8d\\xc7\\xb8\\x7c\\xf4\\x68\\x89\\xb4\\x52\\x66\\xc6\\xc0\\xe8\\x58\\xa7\\x7a\\xde\\xac\\x76\\x2e\\x23\\x70\\xe6\\x9c\\xf1\\x8a\\x64\\xc8\\x57\\x37\\xcc\\x12\\xd4\\xd8\\xab\\x63\\xcf\\x1f\\x3a\\xc4\\xcc\\x04\\xcb\\xd5\\x95\\xe0\\x93\\xb3\\xcb\\x13\\xb8\\xb4\\x39\\xce\\xe4\\xd3\\xf4\\xfd\\xf0\\xb3\\x3a\\x95\\x00\\x60\\xcd\\x56\\xd6\\x6a\\xe3\\x39\\x13\\xee\\x9d\\x45\\x8d\\xef\\x3c\\x0b\\x28\\x50\\x2c\\x51\\x62\\x8d\\x5e\\x10\\x75\\xf5\\x8e\\x55\\x25\\x28\\x40\\xe7\\x69\\x1b\\x8a\\x40\\xae\\x24\\x89\\x05\\x19\\x6a\\xd5\\xf1\\xbf\\x97\\xf7\\xff\\x27\\xea\\xa3\\xfa\\xfc\\xcf\\xb5\\x18\\xbb\\x76\\xa1\\x12\\x77\\xb8\\xdd\\x06\\x17\\xc5\\x51\\x9c\\xc7\\x2b\\x60\\x54\\x2b\\x91\\x61\\x99\\xd1\\x92\\x83\\x65\\x81\\x99\\x72\\x4f\\x18\\x29\\x37\\xa1\\x66\\x4b\\x43\\xeb\\x6a\\xaf\\xc0\\x92\\x21\\x50\\x7d\\x0c\\xe2\\x4a\\x69\\x13\\x3f\\x23\\x82\\x44\\xee\\x44\\x14\\x1f\\x3a\\x44\\x0b\\x8e\\x59\\x7d\\x1b\\x5e\\x57\\xc1\\x67\\xd4\\x2b\\x5e\\xcd\\xfb\\xc8\\xc1\\x61\\xf0\\x3f\\xfe\\xbc\\xba\\x07\\x48\\x2e\\x55\\x18\\x1e\\x7b\\xd4\\x57\\x83\\x1f\\x22\\x11\\xa7\\x29\\x2d\\x06\\xc9\\xc6\\x98\\x4c\\x0e\\x9b\\x4d\\x42\\x35\\xbb\\xc0\\x4e\\x19\\xed\\x82\\xbd\\x58\\x42\\x4d\\x9f\\xa2\\xe8\\x1c\\x2c\\x89\\x68\\x00\\x00\\xaf\\xcd\\x30\\xe0\\xc4\\x89\\x9d\\x5e\\x13\\x0a\\x75\\xb5\\x1b\\x66\\x9c\\xd2\\x46\\x5b\\x42\\x2c\\xdf\\xb9\\xeb\\x0b\\x16\\xc8\\x5f\\x23\\x68\\x91\\x9f\\xff\\x1c\\x83\\x8b\\x94\\xe1\\x45\\xd4\\x67\\x56\\xa8\\x57\\xe2\\x88\\x6d\\xd7\\x0a\\xb0\\xcc\\x9b\\x51\\x3f\\xc4\\x38\\x62\\x73\\xe9\\x97\\xf0\\x8c\\x9e\\x35\\x4a\\xab\\xad\\xb1\\x31\\xea\\x33\\x52\\x2e\\xca\\xd5\\x94\\x96\\xe0\\xa6\\xf6\\x49\\x81\\xa4\\xcd\\x66\\xb7\\xc7\\xd1\\x04\\x38\\xc0\\x5a\\x69\\x16\\x41\\xaa\\xb3\\x54\\xe3\\xc4\\xc9\\x7c\\x95\\x8c\\x7b\\x4d\\xe9\\x79\\x75\\x0e\\x57\\x85\\x9f\\x1a\\x20\\x6e\\x19\\x18\\xda\\x81\\x6b\\x74\\xcb\\xfd\\x0c\\xf0\\x91\\x06\\x10\\xad\\x71\\xb8\\xcc\\xdf\\xdf\\x5d\\x7e\\xe0\\xb9\\x61\\xf5\\x6f\\xea\\x87\\x5f\\xfd\\x0e\\x3d\\xc7\\x95\\xfb\\xec\\xec\\xa7\\xfe\\xeb\\xba\\x7b\\xcf\\xff\\xaf\\x57\\x75\\x98\\xdc\\xa7\\xdf\\x74\\xa9\\xf3\\x06\\xbf\\xa4\\xfe\\x45\\x55\\xd5\\x6f\\xa9\\x8f\\xe5\\x8e\\x5f\\x99\\xce\\x82\\x00\\x48\\x80\\xd6\\xb1\\xcc\\xd8\\xc5\\x7a\\xcd\\x6d\\x5c\\x9d\\x4b\\xbd\\x81\\xb1\\x47\\x46\\x94\\x76\\x36\\x14\\xf2\\x38\\x88\\x18\\x17\\xe3\\x1a\\x53\\x41\\x96\\x85\\x96\\x6a\\x59\\xc9\\x64\\x8a\\x24\\x12\\x0d\\x83\\xa5\\x04\\x8a\\x9e\\x13\\x7c\\x28\\x16\\x89\\x0d\\x96\\x22\\xa2\\x36\\xc9\\x2f\\x50\\x03\\xae\\xaa\\xef\\x09\\x62\\xd2\\xdc\\xa8\\xf2\\xe0\\x28\\x8d\\x3a\\x6d\\x6b\\x63\\x67\\x4d\\xc0\\xcd\\x3c\\x42\\x2d\\xd8\\x7e\\x15\\xfb\\x65\\xee\\xcd\\x9d\\xcf\\xbc\\xf0\\xfa\\x0f\\x2e\\xb9\\xa1\\x90\\x5e\\xb0\\xfe\\xdd\\x9b\\xbf\\x3c\\xb8\\xb9\\x06\\x0d\\x46\\x1d\\x8a\\x25\\xdf\\xfd\\xdd\\x9f\\x3f\\x91\\x01\\x7b\\x5f\\x16\\xec\\x7b\\xf2\\xdb\\x5e\\xf5\\x27\\xb5\\xf8\\x30\\x68\\xa6\\xe8\\x62\\x8c\\x9f\\x9b\\x22\\x6e\\x52\\x96\\xf0\\x0e\\xaf\\xcb\\xe6\\x64\\x1a\\x23\\x06\\x83\\x8f\\x8b\\x52\\x68\\x24\\x6e\\x63\\xd2\\xe0\\x74\\x71\\x49\\xce\\x45\\x39\\x52\\x8e\\x54\\x53\\x3a\\x19\\x8d\\x86\\xfd\\x2e\\xaf\\xdb\\x3b\\x52\\x8a\\xf8\\x18\\x5b\\xa3\\xd3\\x69\\xf3\\x51\\xe6\\x86\\xa0\\x9b\\xa2\\xed\\x8e\\x94\\xc1\\xe0\\xe0\\xcc\\xdc\\x48\\xc9\\xac\\x83\\x0c\\x6a\\x85\\x0c\\x5a\\x29\\x54\\xc5\\x1b\\xae\\x96\\x92\\x55\\x82\\x72\\x87\\x96\\x4c\\xd0\\x7c\\x80\\xba\\x08\\x3d\\x8e\\x1a\\x5b\\xab\\x28\\xa3\\x27\\x40\\xd8\\x35\\xa4\\x85\\x59\\x9b\\x37\\xeb\\xc8\\xb9\\x27\\x44\\xd8\\x7d\\x14\\x3b\\x48\\x15\\xdc\\x5c\\xf0\\xea\\xc9\\x50\\x76\\x35\\x2c\\xc0\\xf1\\x8f\\xd4\\x1d\\x18\\x7f\\x26\\x45\\x1c\\x54\\x56\\x7d\\x0a\\x5e\\x85\\xd3\\x7b\\xd3\\xcf\\xa6\\x29\\x3e\\x0d\\x4c\\x54\\x85\\x6f\\x83\\x13\\xf8\\xc6\\xd3\\x76\\x51\\xe7\\x1b\\x3c\\x0b\\x50\\x75\\xe1\\x8b\\x27\\x61\\x5b\\xcd\\xb8\\x91\\xff\\x88\\x75\\xd3\\x03\\xd4\\x30\\xd7\\x0a\\xb3\\xd6\\xa5\\x75\\xf0\\x99\\xe9\\x01\\x6a\\x96\\x74\\x22\\xf7\\xa9\\x82\\x3b\\x03\\x32\\x27\\x43\\xa9\\xf9\\x1f\\x4d\\xc7\\xd6\\xa9\\x5b\\x30\\x26\\x71\\x37\\xf1\\x15\\xe5\\xf4\\x6c\\xb3\\xd7\\x58\\x08\\x35\\x37\\x17\\xbc\\x64\\x82\\xb1\\x8a\\xed\\xd6\\xf6\\x19\\x3d\\x79\\xab\\x19\\xcd\\x12\\xcc\\xfa\\xbc\\x3e\\xa8\\x57\\xbc\\x6f\\xab\\x6f\\x8f\\xef\\x61\\xdf\\xab\\x3e\\x46\\x76\\x0c\\x3a\\x46\\x1c\\x5b\\x1d\\x77\\x3b\\x1e\\x76\\xb0\\x83\\x0e\\xc0\\x3b\\x64\\x47\\x16\\x3f\\xb3\\x07\\x3e\\x33\\xee\\x30\\x1a\\x29\\x87\\xcf\\xe1\\x83\\x12\\x81\\xe6\\x99\\x78\\x12\\x2c\\xfa\\x66\\x22\\x95\\x8a\\x8c\\x94\\x52\\x74\\xb5\\xc4\\x58\\xbf\\x06\\x45\\xed\\x2b\\xdb\\xb5\\xde\\xb1\\xda\\x36\\xde\\x32\\x7b\\xb1\\x25\\x8c\\x96\\x41\\x6c\\x92\\x89\\x4f\\x87\\x70\\x8c\\xbe\\xe2\\x80\\xec\\x8a\\x0d\\x73\\xba\\x7a\\x67\\xcf\\xbf\\x79\\xdf\\xa9\\xb5\\x68\\xc7\\x13\\x6a\\x3e\\x1e\\x7a\\xe0\\x97\\x47\\x57\\x5f\\xaa\\x6e\\x69\\x51\\xdc\\x8b\\xfa\\xaf\\x71\\x39\\xc4\\x7a\\xdc\\xe3\\x89\\x45\\x1e\\xf7\\xdf\\xf4\\xb5\\x1f\\xda\\x67\\xee\\x5c\\xb3\\x0d\\xd7\\x1b\\xab\\x5b\\x30\\xbe\\x4f\\x27\\xb1\\x5f\\x39\\xa5\\x39\\xe5\\x36\\x76\\xf8\\x53\\xa9\\x0e\\x37\\x19\\x63\\x38\\x47\\x2b\\xd7\\x5a\\xe8\\x6a\\xe7\\xcd\\x4a\\xb3\\xe4\\x96\\xa0\\xbd\\x19\\x34\\xdf\\x6d\\x7e\\xd8\\x4c\\x0d\\x9a\\x47\\xcc\\xe3\\x66\\xea\\x61\\x33\\xe0\\xa5\\x41\\x69\\x44\\xda\\x2f\\xdd\\x2d\\x3d\\x2c\\xb1\\x46\\xca\\x2c\\x99\\x25\\x22\\x41\\x20\\x43\\x05\\x59\\xa6\\x98\\x62\\x89\\x44\\xa8\\x58\\x4a\\xd8\\xdd\\x44\\x76\\x0a\\xae\\x41\\xb6\\x95\\x0b\\x6b\\x8e\\x9d\\x94\\x6b\\x27\\x03\\x01\\xc2\\x20\\x5b\\x0c\\x66\\x59\\x87\\xc6\\xb2\\x9b\\xae\\xce\\x4e\\x03\\x08\\x74\\xea\\x79\\xea\\xeb\\xeb\\xcb\\xec\\xfa\\x92\\x47\\x4a\\x4f\\x09\\x0c\\xc4\\xda\\xb6\\x2d\\x19\\x6f\\xec\\xfd\\x0c\\x62\\x93\\x8e\\x99\\xba\\x06\\xe3\\x75\\x6e\\x50\\x3a\\x19\\x9f\\xcf\\xeb\\x34\\x18\\x50\\x83\\x31\\xed\\xf7\\x7b\\x39\\x0a\\x63\\xe9\\x58\\x29\\xaf\\x4b\\xc3\\x33\\x67\\x58\\xa7\\x8f\\x36\\xbb\\x79\\xca\\x6f\\xd0\\xcd\\x16\\xad\\x19\\xae\\xfe\\x72\\x4d\\xeb\\x04\\x34\\x9d\\x9a\\x82\\x6c\\xbd\\xf5\\xbb\\x7e\\x8f\\xd5\\x19\\x24\\x66\\x0d\\x34\\x48\\x37\\xd5\\xa3\\x20\\x83\\x83\\x08\\x1d\\xf9\\xef\\x9a\\x01\\x9a\\x0a\\x07\\x19\\x83\\x24\\xc7\\xcb\\x67\\xce\\x0e\\x8c\\x0b\\x84\\x30\\x06\\xba\\x20\\x0d\\x6c\\xd0\\x10\\x08\\xf8\\x61\\xc8\\x6a\\xb3\\xf9\\x83\\x94\\x1c\\x22\\x64\\xe8\\x02\\x04\\x44\\x83\\x91\\xe6\\x04\\x3f\\x0c\\x72\\x71\\xa3\\x81\\x47\\xe0\\xd1\\x91\\xa4\\xcd\\x31\\x22\\x39\\x1c\\x8b\\x55\\x0d\\x4a\\xa5\\xb4\\x4c\\xea\\xae\\x52\\x54\\x77\\xfb\\x83\\x29\\xaa\\x02\\x02\\x4d\\xa0\\x89\\x7a\\x07\\x5a\\x8a\\xe7\\xcb\\x98\\x40\\x75\\x60\\x41\\xc3\\x9d\\x5a\\x70\\x55\\x81\\x04\\xd2\\x0b\\xc3\\xaa\\x88\\x41\\xef\\xd5\\xe0\\x56\\x87\\x89\\xcf\\x28\\x03\\x21\\x52\\x92\\x18\\x97\\x2b\\x88\\x64\\xe4\\x09\\x02\\x59\\x0e\\x72\\x54\\x24\\x4a\\x44\\xa1\\x88\\x82\\x1e\\x8f\\x26\\x23\\xd6\\xc9\\xb8\\xa4\\x90\\xcb\\x49\\x32\\x22\\x0d\\xff\\x99\\x7d\\x3c\\x55\\x16\\x96\\x8c\\x31\\xf9\\xfa\\x2b\\x3d\\x3e\\x30\\x9c\\xd1\\xe9\\xd1\\xc9\\xac\\x25\\xb1\\x4c\\xa6\\x16\\xe0\\xa4\\x00\\x10\\x62\\x42\\x3d\\x8d\\x05\\xe8\\x04\\x55\\x40\\x91\\x98\\x35\\xea\\x43\\xea\\x15\\xc3\\xd7\\x94\\x65\\x77\\xcd\\x30\\x38\\x5f\\x97\\xde\\xdf\\xae\\x23\\x07\\xd4\\x6f\\x80\\x1b\\x2f\\xab\\x97\\xde\\xcd\\x60\\xce\\x3b\\xe0\\x0b\\xba\\x04\\x13\\xfe\\x1a\\x5c\\xa7\\x28\\xb1\\x47\\x99\\x1d\\xa6\\xbd\\x5e\\x83\\xdb\\x2d\\x23\\xf1\\xf9\\x64\\x2a\\x12\\x91\\x6d\\x54\\xac\\x81\\x68\\x80\\x22\\x94\\x7d\\x3e\\x4d\\x76\\x46\\xd1\\xe0\\xf6\\x86\\xdd\\x22\\xcd\\x48\\x2c\\xfc\\xc7\\x05\\x04\\x3e\\x42\\x51\\x9a\\x2c\\x01\\x12\\x65\\x8d\\x24\\xff\\x43\\x72\\xf3\\x05\\x4a\\x9c\\x44\\x30\\x8c\\xed\\x0a\\x65\\x82\\xa9\\x77\\xd4\\x2f\\xae\\x7c\\xb1\\xb8\\xb1\\x2c\\xd7\\x8d\\xc5\\x1f\\x54\\x50\\xa0\\xa0\\x50\\x0b\\xef\\x80\\xf6\\xd3\\xea\\xe5\\x7a\\xde\\xaf\\x3f\\xf7\\x46\\x05\\x0b\\x8a\\xa8\\x91\\x6d\\x84\\xd8\\xa6\\xf4\\x78\\x5c\\x34\\x6d\\x35\\x91\\xb2\\x37\\x04\\xc2\\xe1\\x90\\x6c\\xa2\\xa3\\xb1\\x90\\xd7\\xeb\\xc4\\x38\\xfb\\x94\\x87\\x94\\x25\\x0b\\x67\\x19\\x2d\\xb9\\x3c\\x32\\xc7\\x19\\xfc\\x76\\x2a\\x0c\\x03\\x3e\\x6d\\x4a\\x02\\x12\\x6a\\x25\\x18\\x42\\xa5\\x52\\xd0\\x31\\xd2\\x1d\\xa5\\xaa\\xfa\\x82\\x2a\\x95\\x15\\x81\\x1a\\xaa\\x0e\\x6c\\x19\\xbf\\x19\\x92\\x5c\\x2f\\x51\\x7d\\x33\\x62\\x91\\x3e\\xf7\\x5c\\x65\\x43\\x42\\x91\\x96\\x37\\x23\\xb5\\x7b\\xf8\\xfb\\x48\\x88\\xdf\\x1f\\x56\\x0f\\x56\\x36\\x64\\xc2\\x5f\\xc1\\xe9\\x82\\xf1\\x76\\x84\\xd8\\xa5\\xf4\\x7b\\x43\\xb4\\x1c\\x92\\xc3\\x1e\\x17\\xcb\\xf2\\x16\\x2a\\x6c\\x09\\x23\\xfa\\xfc\\xf0\\x78\\x67\\x3c\\xb4\\xec\\x91\\x4d\\x7e\\xc9\\x6a\\xb3\\x16\\x4b\\x2e\\x9b\\xcd\\xe1\\xe7\\x1d\\xf6\\xc1\\x92\\x83\\x08\\x53\\xb8\\x16\\x0c\\xca\\xd2\\x54\\x27\\xcb\\xda\\xce\\x8f\\xca\\x70\\xe0\\xda\\x48\\x26\\x87\\x31\\xf6\\x6a\\xca\\xe8\\x27\\xd2\\x2a\\xd4\\x51\\x8a\\x45\\x59\\xde\\xa2\\x50\\x98\\xb1\\x7f\\xfd\\xab\\x06\\xd2\\xab\\x76\\x87\\xfe\\xb9\\xf8\\x32\\xf4\\xe1\\xff\\x51\\x1c\\xbb\\xb5\\x06\\xd6\\xab\\x8c\\xc1\\xc4\\x0e\\x41\\x59\\x86\\x50\\x47\\x93\\xc5\\xeb\\x0d\\x49\\x0e\\x4e\\x70\\x3b\\x9d\\x82\\x23\\xc4\\x32\\x72\\xd8\\x09\\x9f\\x41\\xd5\\xbe\\x1e\\x8b\\xe4\\x60\\x1d\\x16\\xca\\x10\\x70\\x40\\x5f\\x9c\\xe3\\xcc\\x06\\x78\\x8e\\xdb\\x0c\\x06\\x30\\x5a\\x32\\x50\\x55\\x68\\x13\\x44\\x65\\x7f\\x8d\\xb2\\x4e\\x10\\xa1\\xe6\\xf6\\x6a\\x87\\xeb\\x34\\x43\\x13\\xc0\\xaf\\x5b\\x4f\\x3b\\xe2\\xf7\\xcf\\xa1\\x1a\\x0e\\xd5\\x48\\xad\\x22\\x51\\xfa\\x1d\\x8e\\x45\\x78\\xb9\\xb5\\x56\\xb4\\x16\\x6a\\xbe\\x8c\\xd3\\x44\\x7f\\x03\\xee\\x47\\x99\\xd8\\xac\\x74\\x49\\x01\\x3a\\x18\\x08\\x86\\xdc\\x2c\\x8b\\x66\\xf8\\x58\\x04\\x2a\\x1c\\x09\\x48\\x92\\xe8\\x10\\xa1\\x04\\xdd\\x74\\x50\\x80\\x1e\\xad\\xc9\\xeb\\x70\\x58\\x91\\xfb\\x1e\\x9a\\x4e\\x70\\xa8\\xf0\\x74\\x1a\\xaa\\xa6\\x91\\x57\\x74\\x12\\x8d\\xf4\\x37\\xaa\\xd2\\x8a\\xa1\\x2e\\x2d\\x72\\xc3\\xf6\\x69\\xc4\\x85\\x3b\\xb4\\x26\\x80\\xb0\\xe1\\x33\\x6f\\x07\\x9e\\x8d\\x10\\x24\\xee\\x55\\xc2\\xc8\\xbe\\xa0\\x6c\\x26\\x3c\\x2f\\x82\\xb6\\x60\\x48\\x76\\xc9\\x3b\\x64\\xf2\\x43\\x19\\x68\\x38\\xce\\x14\\xc2\\x71\\x7e\\x7c\\xc6\\xcc\\x05\\x18\\xcf\\x79\\x46\\xb2\\x69\\xc1\\xb5\\x18\\xcf\\x39\\x2c\\x17\\xe5\\xbd\\x32\\xc2\\x0c\\x37\\xa2\\x31\\x26\\xfd\\xe2\\xa0\\x48\\xa1\\x51\\x26\\x9c\\x50\\xc9\\x7c\\x56\\xf3\\x9e\\x34\\xe7\\x00\\xd0\\x71\\x28\\x57\\x01\\x4e\\x07\\x1b\\x36\\xb2\\x26\\x9d\\x5e\\x53\\x3f\\xb6\\xa6\\xea\\x98\\x4e\\xdd\\x6f\\x8d\\xbe\\x33\\x57\\xc1\\x23\\x46\\xbd\\x63\\x52\\x92\\x13\\x1f\\x2f\\xd0\\x4d\\xcf\\x4f\\x9c\\x57\\x84\\x73\\x9a\\x6b\\x74\\xbc\\xa6\\x4e\\x7c\\x5e\\x9e\\xa3\\x74\\x4d\\xe4\\x83\\x86\\x59\\x4d\\x21\\x0a\\x61\\x90\\x5c\\x21\\x6c\\x10\\x12\\xc6\\x6b\\x84\\x4d\\x38\\x2f\\x27\\x22\\x8f\\x4f\\xec\\xfb\\xfd\\x34\\xb4\\xd0\\x9d\\x90\\x96\\x71\\x62\\x52\\x4a\\xb2\\x7c\\x54\\x4e\\xd1\\x2a\\x9e\\xf1\\x1e\\xff\\x9d\\x3e\\x6f\\xf1\\x0e\\x7c\\x4e\\xae\\x57\\x3a\\xfd\\x3c\\xef\\x0a\\x40\\x3b\\x49\\x18\\x5c\\xf0\\x7c\\x0c\\xfa\\x58\\x51\\x12\\x47\\x4a\\x7e\\xdb\\x68\\x09\\x48\\xbc\\xbf\\xdf\\x3f\\xe8\\x87\\xc2\\xf2\\xfb\\x1d\\xb2\\x44\\xf1\\x9c\\xc1\\xe5\\x70\\xa1\\xd3\\xb1\\x6e\\xf0\\xa2\\x86\\xcb\\xeb\\xe8\\x4e\\x57\\xb2\\xaf\\x52\\x6d\\x45\\xa0\\xde\\x1e\\x59\\x07\\x8f\\x56\\x4b\\x0a\\x7b\\x07\\xee\\x8c\\xcc\\xeb\\xb3\\x2c\\xaa\\x72\\xa1\\x1a\\x69\\xf2\\x35\\x83\\xe5\\x93\\xcd\\xb8\\xe1\\x66\\x0a\\xd1\\x94\\xf1\\xdc\\xde\\xc2\\xfb\\x6e\\xa3\\xd2\\xe3\\xb3\\xd9\\x9c\\x7e\\x8b\\x85\\x25\\x58\\x27\\xda\\x72\\x5e\\xc6\\xe5\\x76\\x0d\\x96\\x7c\\x08\\xd2\\xc0\\x37\\xe8\\x1b\\xf1\\xed\\xf7\\xdd\\x0d\\x7d\\x7f\\xe8\\xa5\\xfa\\x7c\\x02\\x08\\xb9\\x79\\x9b\\x85\\x75\\x0a\\xce\\xc1\\x92\\x49\\x10\\x27\\x4e\\x92\\xac\\x40\\xf2\\x4c\\x41\\x4f\\xe2\\x44\\xe4\\xd0\\x6f\\xa1\\xd0\\x99\\xaf\\xb6\\x62\\xeb\\x92\\x21\\x4f\\xaf\\x42\\xa8\\x4e\\x25\\x1b\\x2d\\xd7\\x61\\x18\\x87\\x72\\xc9\\x10\\x67\\x29\\xf9\\xb4\\x29\\x16\\x6b\\x0c\\x36\\x8a\\x24\\x4f\\xf2\\x2d\\x59\\x34\\x33\\x4e\\x74\\x04\\xa2\\x26\\x93\\xc5\\x12\\x46\\x35\\xed\\x04\\xd3\\xa4\\x81\\xbe\\x33\\x54\\xba\\x31\\x86\\xe1\\xde\\x13\\x75\\xe3\\xb0\\xaa\\xad\\x9e\\x53\\xe5\\x3c\\xf4\\xea\\xba\\x5c\\xed\\x74\\xfb\\xe9\\x12\\x1e\\x15\\x4a\\x7b\\x0e\\x1d\\x62\\x8a\\x87\\xa6\\xc9\\x78\\x4c\\x18\\x45\\xa2\\xf6\\x4f\\x97\\xf5\\xb8\\x44\\x9b\\x78\\xf1\\xc9\\x16\\x9c\\x87\\xeb\\x55\\xe7\\xb2\\x66\\x28\\xbf\\x34\\x71\\x89\\x32\\xd7\\x27\\x27\\x1c\\x0e\\x89\\x83\\xea\\x29\\xc9\\x74\\x73\\x46\\x48\\xc0\\x88\\x8b\\x5f\\x56\\xe2\\x53\\x83\\xa9\\x91\\xd4\\xfe\\xd4\\xdd\\xa9\\x87\\x53\\x50\\x78\\xa9\\x54\\x30\\x1a\\xf7\\x86\\xa3\\xe1\\xc1\\x52\\x94\\xf7\\x49\\x0e\\x39\\x28\\x0f\\x96\\xc4\\xa0\\x48\\x99\\x8b\\x25\\x96\\x2a\\xa7\\x43\\x72\\x93\\x19\\x51\\x0b\\x3e\\x56\\x2b\\xd2\\xf8\\x74\\x99\\x90\\x7a\\xf1\\xe2\\xac\\x09\\x6b\\xae\\xc9\\x87\\x14\\xce\\xc5\\x62\\xbe\\x08\\x8b\\x99\\x7a\\x61\\xfb\\xcc\\x2f\\xe4\\x9f\\x79\\xa1\\xb1\\x26\\x25\\xe2\\x52\\x8f\\xd5\\x42\\xfe\\xe9\\xf2\\x2e\\x06\\xa3\\xef\\xa2\\x3c\\xef\\xd0\\xf8\\x7b\\x8c\\x9b\\x59\\x4c\\x34\\xc1\\xc8\\x6b\\x91\\x92\\xf0\\xb6\\x85\\xc3\\x02\\x97\\x26\\x13\\x5c\\xa2\\xd0\\x15\\x6b\\x19\\x29\\x39\\x6c\\xb1\\x18\\xf4\\xc7\\xdd\\xf0\\xd4\\xa3\\x89\\x80\\x29\\x00\\x85\\x6d\\x72\\x12\\x35\\x23\\x9b\\x09\\xdc\\xc8\\x5b\\x4e\\x82\\x6a\\xc7\\x02\\x2a\\xec\\x68\\x2f\\xe0\\xd9\\xd9\\x5a\\x77\\x79\\xa4\\xbd\\x5c\\xa8\\xa3\\x35\\x97\\x17\\x12\\x42\\xb9\\x50\\xc0\\xe0\\x76\\x96\\x8b\\x0b\\x51\\x15\\x5a\\xef\\xb6\\x73\\x36\\xdd\\x54\\x5c\\xb4\\xe1\\x1c\\xf5\\x0d\\xf5\\x65\\x72\\xff\\xd7\\xbe\\x30\\x2b\\x16\\xd9\\xd2\\xfd\\xa7\\x5f\\x3c\\xfb\\x4a\\x67\\xec\\xd9\\x67\\xef\\xf8\\xca\\x4b\\x57\\xee\\x70\\x3b\\x16\\xce\\x9b\\xb3\\xe8\\x94\\xb9\\x0b\\xe7\\xf5\\x36\\xcf\\xec\\xf7\\xa2\\xe2\\xba\\xd3\\xc8\\x43\\xd1\\x3f\\x5f\\x6b\\xf7\\xa9\\xef\\xa8\\xdf\\x51\\x9f\\x51\\x7f\\xcb\\x5c\\x0b\\x86\\x8e\\xfe\\xe1\\xcf\\x4f\\x1f\\x7a\\x7f\\x2e\\x0b\\xde\\xba\\xf7\\xc8\\x93\\x5f\\xfb\\xd2\\xcf\\xfb\\x3a\\x5e\\x86\\xf4\\xe6\\xc6\\xdf\\xa3\\xae\\xc1\\x38\\xb2\\x6d\\x88\\x5e\\x7b\\xca\\xdd\\x12\\x71\\x9b\\xa8\\x00\\x15\\x68\\xcf\\x79\\x5b\\x8b\\x25\\x33\\xeb\\xf5\\x12\\x2c\\x0b\\xb7\\x2b\\x6b\\x97\\x9d\\x84\\xb3\\x58\\x8a\\x6b\\xf8\\x23\\x53\\xd2\\x8b\\xd4\\x38\\x57\\x19\\xfe\\xdf\\xd1\\x59\\x29\\x88\\x44\\xe4\\xf4\\x80\\x44\\xb9\\x1c\\xc2\\x20\\xe9\\x3d\\xac\\x49\\x96\\x72\\x49\\x28\\xd6\\x8e\\x45\\xc1\\xef\\x7e\\xf2\\xdf\\x7f\\xf8\\xc9\\x15\\x77\\x14\\xd2\\x4b\\xcf\\xdf\\x77\\xd9\\xf5\\x57\\xb2\\x9f\\xbd\\x7a\\xf3\\xe6\\xab\\xbf\\x1c\\x5f\\xd0\\xe7\\x39\\xad\\x75\\x6e\\xef\\x80\\xeb\\x8c\\x4c\\xc7\\xfa\\xf5\\xae\\xb1\\x0f\\xff\\xaa\\xca\\x7f\\xfe\\x42\\xf6\\x95\\x57\\xbe\\xf7\\x9b\\xb3\\x9f\\xbe\\xe4\\xb6\\xdb\\x2e\\x39\\xb2\\x99\\x14\\x7a\\xed\\xa2\\x28\\x82\\xcf\\x3d\\x35\\xd8\\x70\\xc9\\x92\\x63\\x5a\\x3d\\xce\\x16\\x3c\\xff\\xb1\\x99\\x58\\xa8\\xb8\\x03\\x46\\xb2\\xa9\\xc9\\x65\\x6b\\xb0\\x35\\x64\\x5a\\x44\\x01\\xe5\\x0e\\x62\\x96\\x46\\x1c\\x0b\\x73\\x8d\\xa8\\xa1\\xc9\\xa9\\x8d\\xdb\\xad\\x56\\x81\\x0a\\xb9\\xfa\\xce\\x55\\x84\\xd1\\x54\\x1b\\xf9\\x26\\x92\\x89\\x49\\x05\\x3a\\xe5\\x51\\xbc\\x36\\x80\\x53\\x04\\xe4\\xf5\\x5a\\xbc\\x3b\\xb4\\xe2\\x6f\\xea\\xf8\\x84\\x82\\x9d\\xff\\x7b\\x4f\\xeb\\x54\\x5e\\xfe\\xfe\\x85\\xcb\\xca\\x01\\xef\\xc2\\x53\\x1d\\x39\\xb0\\x02\\x98\\x26\\x94\\xee\\xfc\\x5a\\x7d\\x05\\x37\\x29\\x7b\\x63\\xe4\\xc0\\xf9\\x7a\\xcc\\xbb\\x54\\xdd\\x82\\xb1\\x76\\x12\\xc4\\x2c\\xc5\\x13\\xb1\\x9b\\x19\\xc6\\x2f\\x26\\xc4\\x44\\xb2\\xd1\\x23\\x17\\x4b\\x7e\\x8f\\xdd\\x08\\xa5\\x65\\x84\\xd4\\x1d\\xa1\\x1a\\x96\\x95\\x9c\\x08\\x4e\\xa7\\xd2\\x70\\x5c\\x23\\x28\\x8d\\xa6\\xb8\\xbe\\xdc\\x58\\x0d\\x6d\\x0d\\x35\\x78\\x3a\\x61\\x3c\\x5a\\xa3\\x40\\x2d\\x4d\\x7f\\x69\\xe1\\xd0\\xa5\\x5b\\x34\\x9a\\x16\\x0f\\xaa\\xbf\\x2c\\xe3\\xea\\xa8\\x1f\\xa2\\x11\\xd4\\xdd\\xe1\\x04\\x33\\x1b\\xae\\x0f\\x93\\x32\\x7f\\xb9\\xb8\\x04\\x5c\\x5f\\x06\\xd8\\x39\\xfb\\x67\\x4f\\x44\\xca\\xf1\\xed\\x62\\x34\\xe3\\x06\\xea\\xcf\\x22\\x25\\x69\\xb4\\x58\\x0c\\x06\\x97\\x44\\xa0\\xe4\\x36\\x70\\xb9\\x44\\x96\\xb1\\x8b\\xf6\\x51\\x68\\x50\\xe1\\xff\\x94\\x01\\xfb\\x1d\\x9c\\xc3\\x5c\\xce\\x2a\\xea\\xb9\\xfe\\x5c\\xb9\\xb6\\x07\\x8f\\xa7\\x9f\\x70\\x98\\xe9\\x27\\xb3\\xee\\x72\\xd1\\xdf\\x85\\x47\\xd8\\x0f\\x2e\\x6e\\x7b\\x1d\\x06\\xe5\\xea\\xd0\\xeb\\xb9\\xb1\\x35\\xfe\\xd9\\xf4\\x9d\\xfa\\xe9\\x55\\x1e\\x1c\\x81\\x07\\x07\\x6a\\xbe\\x22\\x8c\\xbd\\xd7\\x61\\xec\\xc7\\x39\\x4a\\xc4\\x60\\x36\\x43\\x95\\x27\\xac\\x90\\x77\\x12\\x70\\x3a\\x5d\\x0c\\xef\\xe2\\xa1\\x6b\\xcf\\xb3\\x56\\x8b\\x75\\xb0\\x64\\x11\\x4d\\x9a\\x37\\x54\\xd3\\xce\\x5e\\x6f\\xc0\\xaa\\x27\\x52\\xfd\\x9a\\x74\\x38\\xcf\\x9b\\x91\\xc3\\xf3\\x47\\x1d\\xd1\\x73\\x36\\x3e\\x82\\xde\\x77\\x68\\x1e\\x82\\xe6\\xf2\\xa1\\x7a\\x71\\x18\\x5b\\xdd\\x80\\x67\\xc3\\xf4\\x96\\xf3\\xb6\\x34\\x81\\x31\\xbb\\xba\\x95\\x00\\x9a\\xdf\\xef\\xb6\\xd1\\x66\\x17\\xcf\\x1b\\xad\\x66\\xb8\\x24\\xc1\\xcc\\xa3\\x3b\\xb3\\xc1\\x9a\\xe2\\xb2\\x9a\\xae\\x32\\x6d\\x8e\\x7c\\xb5\\xb8\\xac\\xec\\x8a\\xe2\\x6f\\xe4\\xe9\\xe8\\x96\\x44\\xfd\\xba\\x56\\xc5\\x0e\\xd8\\x9b\\xc0\\xea\\xe1\\x05\\xea\\x29\\xf8\\x48\\x7c\\x9c\\x8a\\xe0\\x3a\\xe4\\x33\\xc8\\xbb\\xe1\\x77\\x11\\xad\\x43\\x5f\\x17\\xe1\\x23\\x76\\x2a\\x0b\\xbd\\x00\\x58\\x8c\\x46\\x7f\\x80\\x08\\x80\\x7e\\x7b\\x20\\x1c\\x20\\xc3\\x01\\x40\\x04\\xd0\\x4f\\x4a\\xa0\\x18\\x38\\x3f\\xf0\\x48\\xe0\\xc7\\x81\\x0f\\x02\\x26\\x04\\xa8\\xeb\\xe4\\x04\\x9b\\x30\\x02\\x1d\\x6a\\x33\\x0c\\xfa\\xbc\\x0e\\x9b\\xd9\\xcc\\x88\\x36\\x8a\\xd4\\x67\\x86\\x10\\xd5\\xa0\\x1e\\xb5\\xcf\\xd6\\xc0\\x3e\\x00\\x9c\\xc7\\xc3\\x9e\\x58\\x79\\x14\\x7e\\xf9\\x04\\x88\\xe4\\x23\\x75\\x94\\x80\\x08\\xfd\\xb8\\x7a\\xc3\\xeb\\x63\\x37\\xbd\\xae\\xee\\x01\\xbb\\xd5\\xcc\\x2d\\x64\\xe1\\x30\\xb8\\x1c\\x9c\\xf7\\x20\\x38\\x7c\\x83\\x3a\\x0f\\x6c\\x01\\xcf\\xa8\\x37\\xe2\\xfc\\xef\\xb9\\x2b\\xc8\\xb7\\xb0\\xc7\\x72\\x13\\xb9\\x19\\x7f\\x8f\\x12\\x75\\x3c\\xf6\\xa1\\x69\\xcb\\x1e\\x82\\x30\\x1b\\x0c\\x01\\xbf\\x60\\xb4\\x4a\\x0e\\x07\\x6a\\x5c\\x18\\x2c\\xb9\\xac\\xbc\\xc7\\x64\\x44\\x68\\x9f\\x46\\x71\\x4a\\x7e\\x4f\\xc1\\x76\\xbc\\xe6\\xe9\\x97\\x2c\\xea\\xfc\\x5f\\x04\\x1e\\x52\\x1f\\xab\\x95\\x81\\xfa\\x2d\\x70\\xb7\\x7a\\x3d\\x16\\xc3\\x79\\x2b\\x28\\x47\\xad\\x1c\\x8e\\xff\\x75\\x05\\x5e\\x6f\\x46\\x5d\\xcc\\xdc\\x8b\\xe3\\x80\\xdb\\x94\\xb3\\x0c\\x1c\\x19\\x0c\\x32\\x01\\x2e\\x10\\x92\\x65\\x79\\x44\\x26\\x79\\xb9\\x5f\\x1e\\x94\\xf7\\xc8\\x0f\\xcb\\xef\\xcb\\xec\\x6f\\xe4\\x71\\x19\\x7a\\xfd\\x8a\\x7c\\xbe\\xfc\\x88\\x4c\\xf7\\x28\\x32\\x08\\x43\\xf7\\xff\\x5a\\x99\\x22\\xe4\\x51\\xf8\\xdc\\x01\\xf9\\x59\\xf9\\xc7\\xf2\\x6f\\x65\\x03\\x82\\x4e\\x17\\x11\\x62\\xf0\\x48\\xc9\\xe5\\xb7\\xb2\\xb4\\x59\\xb2\\x53\\x01\\x86\\xe1\\x0c\\x66\\x28\\x26\\xca\\xec\\x00\\x95\\x56\\x20\\x3d\\x5a\\xd7\\xd3\\x65\\x55\\x39\\x55\\x02\\x80\\xca\\x46\\xa0\\x70\\x0a\\x5f\\x07\\xc7\\xa9\\x25\\x1e\\xc5\\xe8\\x37\\xc2\\xcd\\x79\\xdd\\x83\\xea\\x01\\xf5\\xd2\\xfb\\xd4\\x53\\x6e\\x04\\x2f\\xa9\\xbb\\x6e\\x21\\x53\\x0f\\x02\\x37\\x28\\xdc\\x07\\xbe\\x79\\xa3\\xfa\\x79\\x70\\xec\\x0e\\x34\\xa1\\x11\\xfa\\x9a\\xc6\\xb1\\x8f\\xb0\\xcf\\xb9\\x96\\x54\\xb0\\x2f\\xb3\\x1e\\x68\\x3e\\x8d\\x79\\x6c\\x95\\x0b\\xf2\\xc2\\x01\\xf7\\xef\\x5f\\x71\\x2c\\xf0\\x7d\\xe5\\x34\\xd6\\x02\\x02\\x01\\xda\\x6f\\xf1\\x43\\x5e\\x28\\xeb\\x36\\x2c\\xa0\\x61\\x54\\x44\\xa2\\xe1\\x36\\x73\\xe4\\x0d\\xf2\\x15\\xf2\\x41\\xf9\\x79\\x3c\\xe6\\xc6\\x84\\x9e\\x6f\\x80\\x4f\\xa2\\xa7\\x0e\\xc3\\x27\\x51\\xc4\\x64\\xee\\xa6\\xe1\\x73\\xe8\\xcf\\x6e\\x84\\xcf\\xb2\\x0d\\xf8\\xaf\\xd1\\x2f\\x18\\x1c\\x4a\\x05\\x23\\x5a\\x28\\x95\\xe1\\xa5\\x05\\x0a\\x0e\\xa5\\x5a\\x65\\xd2\\x44\\x79\\x5d\\x2e\\xab\\x83\\x77\\x0c\\x96\\x9c\\x3e\\x8e\\xa1\\x4d\\x6e\\x9e\\xf7\\xd3\\xb4\\x85\\x35\\x41\\x15\\x21\\x09\\xd3\\x84\\xa4\\x5c\\x3d\\xd7\\x50\\xd8\\x84\\x38\\x87\\xd3\\xae\\xb5\\x9c\\x43\\x69\\x39\\x4b\\x1d\\xe3\\xfc\\xd5\\x90\\x9f\\xba\\x75\\xdd\\xc7\\xbb\\x7f\\xa5\\x5e\\xae\\x3e\\xb4\\x05\\xe4\\xd5\\x0f\\xb6\\x82\\x07\\x77\\x3f\\xf1\\xe3\\xcb\\xc1\\xd0\\xb9\\xea\\x47\\xa0\\x7d\\x87\\xa0\\xee\\x80\\xd6\\x44\\x02\\x4b\\xd4\\x47\\xc5\\x4c\\xc6\\x0e\\x6e\\x05\\xd7\\x21\\x05\\x52\\xff\\x09\\xec\\x48\\x81\\xd4\\x07\\xd5\\x76\\xbb\\xda\\x87\\x74\\xa8\\x49\\x5d\\xcc\\xa6\\x71\\xdc\\x3f\\xa8\\xa4\\x44\\x26\\x44\\x92\\xee\\x60\\xd0\\xc6\\x58\\x68\\x39\\xcc\\x5b\\x2c\\x1c\\x0c\\x9a\\x0c\\x26\\x0e\\x4d\\x2f\\xe2\\xa8\\xa0\\xc8\\x50\\x0c\\x54\\x03\\x4d\\x0b\\xca\\x19\\xd3\\x5a\\xa0\\x80\\x1a\\x04\\x8b\\xb2\\xe4\\x6b\\x86\\xbb\\x62\\x2b\\x5d\\xc1\\x07\\x62\\x7d\\x78\\xa8\\x94\\x78\\x25\\xb4\\xcb\\xd4\\x66\\x68\\xab\\xbf\\x5c\\x70\\x6a\\x81\\xdf\\x61\\x4d\\xe2\\x95\\xa9\\xae\\xd0\\x60\\x5f\\x58\\x9e\\x63\\xe4\\xd2\\xf4\\x7e\\x07\\x7d\\x0d\\xc6\\x90\\x1d\\x52\\x78\\x07\\xe3\\x27\\x49\\xa7\\xcf\\x67\\x65\\xcc\\x74\\x20\\x88\\xe2\\x54\\xc5\\x03\\xad\\x8b\\xc5\\xeb\\x12\\x58\\x0b\\x5b\\x2c\\xb9\\x2d\\xbc\\xcf\\x01\\x17\\x3e\\x58\\xb9\\x37\\xae\\x09\\xf4\\xb0\\x3c\\xa6\\x5c\\x76\\x75\\x24\\x6d\\x15\\x6e\\x45\\xa2\\x3f\\x33\\x6b\\xdd\\xf1\\xa3\\xbb\\x57\\xb6\\xc2\\xa0\\xfd\\xa2\\x42\\xba\\x75\\xa5\\x8e\\xd9\\x8b\\xb9\\xad\\xdb\\x6e\\x0c\\xd0\\xfc\\x71\\x05\\x73\\x15\\xcf\\xc4\\x82\\xfb\\x94\\xc0\\x79\\xb2\\x61\\xa5\\xc5\\xc9\\x79\\x19\\x26\\x1c\\x21\\xc9\\x30\\x17\\x8e\\xc6\\x64\\x9f\\x96\\xf5\\xf4\\xa2\\x5b\\x45\\xf7\\xfa\\x92\\x09\\xba\\x5e\\x3c\\x15\\x9e\\xc8\\x68\\xcd\\x32\\x6a\\x27\\x4d\\x6d\\x3d\\x4d\\x5d\\x3e\\x85\\x9a\\x88\\xd1\\x3b\\x71\\x2a\\xd6\\xfb\\x70\\xb3\\x7d\\x71\\x8a\\xb9\\x58\\x3a\\xc3\\xa7\\x9f\\x8d\\xe5\\xd2\\xec\\xa3\\x0c\\xf7\\xd8\\x2f\\x30\\x96\\xdb\\x6a\\x25\\xe3\\xb0\\x48\\x34\\x1d\\x92\\x01\\x08\\x59\\x42\\x30\\x46\\xf5\\x20\\xb0\\xe1\\xc1\\x92\\xc4\\x30\\x46\\xa3\\x38\\x54\\x32\\x1a\\x49\\x9f\\x8d\\x0f\\xd1\\x24\\x0d\\x37\\x80\\x48\\xd4\\x9e\\x97\\x27\\xa7\\x04\\x29\\xfe\\x64\\x42\\x2a\\x74\\x50\\xd4\\x95\\xeb\\xfe\\x50\\x85\\x1c\\x2e\\xe3\\x10\\xeb\\x4a\\x5f\\x87\\x38\\xac\\x7e\\xaf\\x06\\x8e\\x18\\x6b\\x7c\\xed\\x8c\\xb2\\x38\\xba\\xdb\\x15\\x6d\\xac\\xdf\\x6f\\xf2\\x50\\x0d\\x0d\\x1e\\x1b\\x95\\x48\\xc6\\x42\\x5a\\xfa\\x83\\x35\\x79\\x4c\\xeb\\xa1\\x33\\x65\\xf4\\x78\\xbd\\x1e\\x23\\x05\\xc2\\x02\\xd5\\x30\\xf1\\x06\\xbb\\x5c\\xc5\\x59\\x39\\xae\\xea\\x50\\x7b\\x2a\\x37\\xd8\\xac\\x41\\x8c\\xe5\\x0d\\x75\\xd4\\x48\\xf0\\xd7\\x13\\xc6\\x95\\x9d\\x77\\xd1\\xb0\\x53\\xd0\\x04\\x73\\xf6\\x25\\xc3\\xc5\\x1b\\x2b\\x03\\xcb\\x9a\\x3c\\xbf\\xfd\\x29\\xa8\\xca\\xe5\\xc6\\x2f\\x1a\\xc1\\x5f\\x54\\x8f\\x31\\x56\\x3b\\xb8\\xac\\x8a\\x0b\\x1d\\x27\\x4a\\x4a\\xd6\\x65\\xf5\\x49\\x64\\x2c\\x26\\x59\\x21\\x41\\xd1\\x20\\xca\\xc1\\x0e\\x96\\x18\\xa3\\x64\\x5c\\x56\\xf2\\x49\\x06\\xc9\\xe3\\x91\\x0c\\xd0\\xf0\\xdb\\x79\\x14\\xa2\\x0e\\x56\\x20\\x89\\x4f\\x4c\\x50\\x79\\x56\\x33\\x26\\x86\\xad\\x17\\x4d\\x3e\\x27\\x56\\x89\\x11\\x49\\x65\\xf7\\xa9\\x03\\x2b\\x22\\x4d\\x65\\xe9\\xac\\xe8\\x5f\\x85\\xc1\\xbf\\x90\\x64\\x52\\x9e\\xaf\\x5d\\x63\\xa8\\x15\\xce\\xbf\\x3f\\x34\\x88\\x55\\xb8\\x68\\x3d\\xa7\\x1c\\xc2\\x67\\xda\\x90\\x92\\x46\\xf3\\x2d\\xe1\\x7e\\x80\\x47\\x9a\\x1b\\x7a\\x0d\\x1e\\xc3\\xfa\\x92\\xdb\\xe3\\xf6\\x58\\x1d\\x22\\x1e\\x73\\xe9\\xa0\\x02\\x66\\x0a\\xcf\\xb4\\x04\\x56\\xc7\\x64\\x60\\xeb\\x49\\xbd\\x90\\xba\\x38\\x26\\x5c\\xab\\xeb\\x71\\xb6\\x28\\x48\\x4c\\x68\\xec\\x38\\xdc\\x14\\x6b\\x9e\\xd1\\x60\\x04\\x9a\\x9f\\xfd\\xe5\\x97\\x5e\\x3e\\x7c\\x6b\\xde\\x07\\xf6\\xdf\\x73\\x05\\x2a\\x0c\\xc8\\x97\\x47\\x42\\xa9\\xfd\\xc5\\x67\\xff\\x5b\\x3d\\xdf\\xa7\\xcf\\x0d\\x46\\x39\\x62\\xe8\\xa7\\x2d\\xc2\\x75\\x42\\xf6\\xf1\\xf7\\xd8\\x47\\x60\\xdc\\x11\\x26\\x92\\xc4\\x72\\xa5\\xb9\\xc1\\xe1\\x30\\x86\\xe3\\x3c\\xef\\x0b\\x93\\x74\\x63\\x4a\\x20\\x0c\\xc4\\x68\\xa9\\x81\\xf2\\xf2\\x06\\x60\\xa3\\x0c\\x86\\xa0\\x25\\x28\\x8e\\x94\\x82\\x4e\\x4b\\x64\\xa4\\x64\\xa9\\xed\\x57\\xc5\\x71\\x71\\x7b\\xae\\x16\\x17\\x48\\xf7\\x24\\x9c\\x1a\\xd6\\x67\\x0f\\x54\\x43\\xd4\\x61\\x27\\x1a\\x22\\xa2\\x0b\\xc6\\x21\\x55\\xa0\\x24\\x00\\x43\\xca\\x88\\x9d\\x7c\\x64\\xe3\\x8c\\x81\\xd6\\x74\\xdf\\xbd\\x24\\x8c\\x06\\x8b\\x60\\x26\\xe8\\x20\\x3f\\x39\\x0c\\x48\\x40\\x6d\\x7c\\x6e\\x51\\x68\\x80\\xfd\\xf8\\x03\\xf5\\x2e\\xf5\\x5b\\x02\\xf9\\xd0\\xdf\\xfe\\x41\\xed\\xfa\\x3e\\x39\\x18\\xfc\\x9f\\xdb\\x64\\x30\\x08\\x56\\xa8\\x87\\xd5\\x6f\\x15\\x3a\\x3c\\x9f\\x8c\\x13\\xd9\\xf4\\x43\\xea\\x9b\\x39\\x20\\x83\\x39\\xe4\\x23\\xea\\x31\\xf5\\xbf\\xc1\\x2c\\x20\\xe2\\x99\\x4a\\xe3\\xef\\xd1\\x09\\x18\\x7b\\xa0\\x39\\xc9\\xa7\\x28\\x09\\xca\\x6a\\x35\\xd0\\x62\\x80\\xe3\\x02\\x32\\x15\\x4f\\x58\\x83\\x0d\\xc1\\x62\\x29\\x0c\\xf7\\x92\\xd7\\xe4\\x75\\x2c\\x2b\\x79\\xdd\\xb8\\x6e\\xc7\\x5e\\x47\\x59\\x2d\\x55\\xd0\\xd7\\x6b\\xd7\\xab\\x00\\x59\\x31\\xd2\\x91\\x00\\x8e\\x48\\x58\\x40\\xb8\\x82\\x5a\\x41\\xa0\\x06\\x73\\x24\\x94\\xf1\\x4d\\xc9\\x6f\\x9f\\xbd\\x15\\x5c\\xbf\\x5a\\x95\\xc2\\x60\\x13\\x38\\x67\\xec\\xe8\\xcc\\x3d\\x67\\x75\\xde\\xd8\\xda\\x7a\\xef\\xca\\x37\\x5e\\x39\\x54\\x6c\\x6e\\xcb\\x04\\x53\\xd4\\x85\\x0f\\x1c\\x7c\\xfc\\x36\\xf5\\x30\\xb8\\x53\\xdd\\x38\\xe4\\xf8\\xd2\\x6d\\x45\\x87\\xa5\\x4b\\x6e\\x79\\x17\\x90\\xce\\x63\\xbb\\x44\\x4d\\x3e\\xea\\x53\\x58\\x3e\\x0d\\x44\\x1a\\x59\\xe3\\x46\\x51\\xe4\\x62\\x0d\\xa9\\x86\\x10\\x1a\\x90\\xcb\\x52\\xcd\\x19\\xd1\\x40\\x5b\\xe8\\xd1\\x52\\xa3\\xc5\\xc2\\x37\\x44\\x95\\x50\\x34\\x0a\\x23\\x43\\x22\\xea\\xe4\\xe3\\x23\\x25\\x5e\\x97\\x50\\xb9\\x39\\xe7\\x58\\x39\\x87\\x5f\\x21\\x06\\xe5\\x70\\x34\\x7a\\x98\\x06\\x82\\x8a\\x9d\\x40\\x54\\x30\\xea\\x12\\x62\\x4e\\x4d\\x54\\x34\\xa9\\xbe\\xa8\\xbe\\x61\\xff\\xdd\\x09\\x25\\x76\\xd7\\x33\\x1b\\x2f\\xe8\\xc3\\xd2\\x72\\x70\\x20\\x02\\x3a\\xa6\\x91\\x98\\xec\\x04\\xea\\x31\\x76\\x5e\\x55\\x62\\x58\\x66\\xea\\x53\\x58\\x66\\x48\\x27\\x57\\x28\\xe9\\x06\\x96\\x25\\x9c\\xae\\xb8\\xcb\\xe6\\x61\\x18\\x8f\\x9f\\x6a\\x4c\\x05\\x58\\x34\\x93\\xbb\\xd4\\x10\\x0e\\x93\\x2e\\x87\\xe2\\xb0\\x2c\\x2b\\x39\\xdc\\x64\\xa4\\x58\\x22\\xcb\\x82\\x23\\x4e\\x42\\xed\\x64\\xb1\\x41\\xea\\x50\\x4f\\x48\\x59\\x72\\x65\\xf1\\xe6\\xea\\x24\\x97\\xba\\x72\\xe9\\x05\\xdf\\xfc\\xba\\x2e\\x3a\\x52\\xc0\\xc2\\x25\\x53\\xb5\\xb2\\xf3\\xa5\\x59\\xf5\\x87\\xa0\\x53\\x78\\xf7\\xef\\x48\\x80\\x60\\x31\\x92\\xae\\xd6\\x9f\\x73\\x0a\\x24\\x6c\\x3d\\x8e\\x8f\\x9a\\x35\\x2c\\x04\\x34\\x17\\x9a\\x7d\\x09\\x52\\x98\\x27\\x1e\\x51\\xd6\\xc8\\xa2\\x2f\\xec\\xc7\\x43\\x82\\x00\\x0b\\xf7\\x51\\x73\\x9a\\x33\\x90\\xf0\\xf7\\x49\\xbf\\x8f\\x0d\\x30\\x01\\xa6\\xd0\\x19\\x88\\x46\\xb5\\xd9\\xd0\\x30\\x36\\x45\\x23\\x82\\x80\\x9f\\xb5\\xb2\\xa6\\xb8\\xa3\\x9d\\x4f\\xcb\\x69\\x84\\xee\\xdb\\xa8\\x34\\x66\\x47\\x4a\\x8d\\x26\\x05\\x7a\\xc4\\x4e\\x9b\\x81\\x33\\x71\\x23\\x25\\xc9\\x6e\\xa2\\x64\\x4a\\x03\\x3b\\xa9\\x3a\\x3e\\xf5\\x85\\xbf\\xfd\\x55\\x1f\\xae\\xee\\x02\\x6b\\x32\\x9c\\x87\\xfe\\xad\\xfd\\xd3\\x4f\\x92\\x76\\xd6\\xd5\\xca\\x7e\\xfa\\xb9\\xd2\\xa3\\x75\\x65\\xb3\\xff\\xd9\\x94\\xe9\\xfa\\xda\\x61\\x6d\\x26\\x13\\x73\\x29\\xe6\\xf3\\x51\\xa5\\xe7\\xa4\\x7c\\x0e\\x17\\xf6\\x16\\x9e\\x2d\\x50\\x7c\\x01\\xd4\\x71\\x76\\xb0\\xd4\\x88\\x60\\x29\\x9a\\x74\\x31\\x0c\\x4e\\x10\\x83\\x58\\x61\\xfa\\x20\\x62\\x3a\\x2f\\x53\\xe2\\x04\\xa6\\x7b\\xa6\\xe4\\x73\\x59\\x57\\x91\\x20\\x40\\xb5\\x68\\x66\\x5a\\xae\\x7f\\xaa\\x19\\x4e\\xf5\\x5c\\xff\\x74\\x13\\x9d\\x96\\xd6\\x17\\x2a\\xff\\x47\\xf3\\x9d\\xe8\\x40\\x85\\xe3\\x38\\xff\\xcc\\x38\\xe1\\x79\\x88\\x90\\x83\\x7b\\x12\\x3e\\x1f\\xe1\\x49\\x36\\x37\\x7b\\xcc\\x94\\xec\\x64\\x64\\x26\\xd3\\xd2\\x9c\\x4c\\xc6\\xc3\\xd1\\x30\\x74\\x20\\x13\\x1e\\x37\\x09\\x1d\\x48\\x22\\x41\\x92\\xc1\\x54\\x94\\xf2\\xc9\\x41\\x19\\x1e\\x2a\\xc6\\xa0\\xc3\\x08\\x8f\\x4a\\x63\\x80\\xd0\\x6f\\x1d\\xab\\x3e\\x58\\xf9\\x96\\xb5\\x4e\\x45\\xcb\\xd7\\x5b\\xda\\xb6\\xee\\xc4\\x19\\xe7\\x9a\\xfc\\x73\\x27\\x3e\\x3d\\x79\\x30\\x45\\xad\\x00\\x79\\xf9\\xb6\\xe5\\x7f\\x7b\\x5b\\x1d\\x53\\x3f\\x2a\\xe7\\xa0\\x1f\\xb9\\xeb\\x6b\\x0f\\x6f\\x1b\\xdd\\x59\\xa9\\x86\\xc8\\xee\\x05\\xb7\\xdf\\x41\\x1e\\x6b\\x53\\xdf\\x50\\x9f\\x53\\x7f\\xa6\\xfe\\x1c\\xa7\\xa0\\xff\\x0e\\xec\\xc7\\x3f\\xf6\\x6e\\xae\\xbb\\x5a\\xbf\\x8c\\xfc\\x6c\\x65\\x9e\\x2c\\xaa\\xc3\\xfb\\x15\\xce\\x45\\x43\\xfa\\x1b\\x3c\\x1e\\xc2\\x1d\\x6f\\x12\\x9a\\xdc\\x66\\x2a\\xc8\\x04\\x19\\x54\\xa5\\x1e\\x47\\x50\\x66\\x50\\x4b\\x1a\\xdc\\x2e\\xd2\\xb5\\xac\\x44\\x34\\x90\\xa4\\x3f\\x19\\xe6\\x3d\\x41\\x7f\\x70\\x10\\xd2\\xef\\x17\\x11\\xcc\\xf4\\xa7\\xa6\\xbf\\xac\\x2c\\x15\\xfa\\x35\\x50\\xf9\\xda\\x44\\xf4\\x94\\xd4\\x03\\xf0\\xf6\\xdc\\x99\\x4f\\x1e\\xfd\\xd9\\xb3\\x5a\\x1e\\xfa\\xb7\\xd7\\x7d\\xa1\\x6f\\x79\\xae\\x72\\xd3\\x70\\x11\\xbe\\xdd\\x53\\x49\\xa3\\xf8\\xd1\\x5f\\x3e\\x50\\xff\\xad\\xa5\\xa2\\x6f\\x79\\xe1\\x79\\xa1\\x6d\\xea\\xca\\x09\\x34\\x1b\\x5b\\x9f\\xcd\\x1f\\x22\\x96\\x2a\\x8d\\x06\\x09\\xc6\\x65\\x8c\\xc4\\x07\\xf9\\xa0\\x1c\\x0e\\x18\\x30\\xca\\x22\\xcf\\x79\\x29\\xce\\xb9\\xbe\\xc4\\x39\\x83\\x93\\xa3\\x05\\x2d\\x87\\x59\\x53\\xf7\\xe4\\xe8\\xae\\xc6\\x37\\xce\\x48\\x79\\x24\\x76\\x6c\\xf2\\xbc\\x6c\\xfa\\xfa\\x59\\xed\\xea\\x2d\\xfa\\x60\\xec\\x8d\\x13\\x46\\x66\\x7f\\x5b\\x8f\\xcc\\xca\\xa3\\xb1\\x27\\xce\\xcd\\xd6\\xe3\\x04\\x17\\x8c\\x13\\x7e\\x83\\xe3\\x84\\x65\\x4a\\x93\\xc1\\x1b\\x86\\x6b\\xf7\\xda\\x65\\xbb\\x1c\\x89\\x6a\\x37\\xe6\\x76\\xce\\x6f\\x28\\x96\\xfc\\x3c\\x27\\x2e\\x2b\\x01\\xce\\x2d\\xd7\\x45\\x67\\x9e\\xfe\\x17\\xcb\\x95\\x93\\xb5\\x29\\xd8\\x9a\\xe5\\xc7\\x26\\x8d\\x83\\xaa\\x41\\xb6\\x96\\xa8\\x2c\\xea\\x09\\xa8\\x9f\\x09\\x65\\x2f\\x8f\\x8b\\xda\\x57\\x8e\\xd4\\x6a\\x67\\x42\\xd5\\x0c\\x8c\\xb2\\xeb\\x35\\x45\\x73\\xf1\\xfd\\x6a\\x03\\x71\\x8e\\xd2\\x2d\\x3b\\x9d\\x61\\xbb\\xdd\\xe8\\x21\\x3d\\x64\\x3c\\x21\\x3b\\x46\\x4b\\x5a\\x62\\x85\\xb2\\x50\\xb2\\xec\\xf6\\x47\\x42\\x00\\x43\\xc0\\x20\\xe0\\x17\\xe8\\x9a\\xc2\\x9d\\xc6\\xb8\\x1d\\x0c\\x2a\\x35\\xd2\\x35\\x4e\\xa8\\xcb\\x0b\\x4d\\x9c\\x63\\x80\\xfb\\x21\\x34\\x5d\\x33\\xd4\\x5f\\xf4\\x78\\xc1\\x14\\xf7\\x58\\xcc\\x55\\x87\\xd4\\x0f\\x55\\xb5\\x7a\\xc9\\x33\\xe1\\xce\\x94\\x31\\xfa\\x3e\\x79\\x57\\x7d\\x46\\x7d\\xa4\\x7a\\xbb\\xf3\\xd0\\x54\\x57\\x74\\xda\\xbe\\xc2\\x33\\x97\\xa2\\xc4\\x56\\xa5\\x3f\\x28\\x08\\x21\\x9b\\xcd\\x00\\x0d\\x08\\x19\\x6b\\x08\\xda\\x8b\\x25\\x3e\\x38\\x18\\x1c\\x09\\xee\\x0f\\xde\\x1d\\x7c\\x38\\xc8\\x1a\\x29\\x84\\xed\\x29\\x07\\x00\\xd4\\x3b\\x68\\xa8\\xbd\\x3c\\x82\\xf7\\x1c\\x84\\x94\\xba\\x44\\x86\\x2b\\xfe\\xff\\x50\\x5a\\x73\\xb7\\x33\\x25\\x9d\\xb4\\x67\\xfb\\x6b\\xfa\\x4e\\x7a\\x77\\xc2\\x55\\x2a\\xb5\\xc7\\x7b\\xfc\\x7b\\xef\\xa8\\xfa\\x6d\\x0e\\xb8\\x7b\\x8a\\x4b\\xbb\\x4a\\x5d\\xd8\\x1d\\x38\\x8e\\xd8\\xa4\\x74\\x97\\xef\\x86\\x09\\x8a\\xc2\\x77\\xc3\\x9f\\xf2\\xd2\\x9b\\xf4\\x9f\\xe8\\xca\\x7b\\x42\\xdc\\x5a\\xdb\\xdb\\x33\\xcd\\x45\\xf7\\x34\\xdd\\x3c\\x7a\\xfb\\xce\\x34\\x17\\xdd\\xeb\\x2b\\xb5\\x61\\x74\\x0a\\xe7\\xb7\\xb6\\x2b\\x7d\\x93\\xe9\\x81\\x22\\x83\\xd4\\x8c\\x88\\xfb\\xc5\\xbb\\xc5\\x87\\x45\\x28\\xb2\\xe9\\x6e\\xbc\\x39\\x91\\x3c\\xc9\\x55\\xfe\\x34\\x74\\xc5\\xa6\\xbf\\xf4\\x4e\\x4d\\xd9\\x86\\x73\\xe2\\x3b\\xef\\xdf\\x6a\\x79\\x11\\x1c\\x87\\x47\\x88\\x55\\x4a\\xc6\\xc9\\xd1\\x00\\xa0\\xd4\\xc8\\xd4\\x69\\x11\\x10\\xe0\\x29\\xca\\x1f\\x66\\x00\\x53\\x1b\\x82\\x4f\\x9f\\x4c\\xa8\\x44\\x7c\\x68\\x34\\xe5\\x89\\x67\\x85\\xab\\xd7\\x6d\\x9e\\x25\\x4c\\x35\\x2e\\x1c\\x5a\\xbb\\x0f\\x5c\\x27\\x9c\\x18\\xae\\xe5\\x44\\x5e\\xc7\\xb6\\xee\\x74\\xa5\\xc1\\x65\\x65\\x48\\x12\\xae\\x39\\x6c\\x0d\\x47\\xa2\\xb2\\x4f\\x0b\\xbc\\xbd\\x06\\x83\\xd9\\x2c\\x0d\\x95\\xcc\\x66\\x32\\x60\\xe7\\x69\\x54\\xb4\\x1a\\x66\\x49\\x16\\xe7\\x45\\x3e\\x2d\\x19\\x71\\x31\\x36\\x35\\x1d\\x95\\x79\\xc6\\xaf\\xff\\x6e\\xdd\\x2c\\x61\\x72\\x52\\x24\\x93\\x41\\xa3\\x36\\xed\\xd3\\xe6\\x44\\xca\\x7b\\x85\\xfd\\x27\\xce\\xe9\\x9f\\xa9\\xe4\\x9c\\x66\\xb3\\xd1\\x00\\x77\\x36\\xe3\\xf5\\x91\\xa4\\x8b\\xf7\\xf2\\x5e\\x7f\\xc0\\x83\\xe3\\x6d\\xd6\\xc4\\x9a\\x1c\\x2e\\xab\\xe8\\xa0\\xbc\\x66\\x06\\xc7\\xdd\\x94\\xd5\\x61\\xd4\\x8e\\x9d\\x1a\\x75\\xaa\\xf1\\xc8\\x26\\x37\\x7d\\xb5\\xd7\\x1c\\x41\\x95\\x91\\x78\\x42\\x75\\x56\\x1e\\x3b\\x0b\\x6e\\x91\\xfd\\x87\\xc7\\xfe\\x12\\x53\\xc5\\xc3\\x6a\\xe1\\xd0\\x21\\x78\\xbc\\x1c\\x06\\xbf\\x06\\x7b\\x2b\\x67\\x4f\\xdb\\x27\\x7b\\xe8\\xcb\\x3f\\x79\\xb5\\xbc\\x53\\x8e\\xd3\\xd4\\x71\\xed\\xe8\\x01\\x44\\x16\\xee\\x91\\x7f\\xe0\\xfc\\xfd\\x5a\\x25\\x3b\\x1d\\x1d\\x83\\x90\\x0e\\x93\\xe8\\xe0\\x35\\x1a\\x06\\x4b\\x2e\\x0a\\x58\\x45\\x34\\x83\\x15\\xf5\\xb0\\x55\\xcb\\x0d\\x4e\\x46\\x40\\x6c\\x1a\\x02\\x68\\x48\\xc0\\x4f\\xab\\x53\\xfd\\xaa\\xc3\\xfe\\xf4\\xa3\\xa7\\x76\\xac\\x1f\\xda\\x12\\xe5\\x91\\x7f\\x76\\x18\\xd3\\xa4\\xa0\\x83\\x6d\\xc7\\xb9\\x84\\x41\\x42\\xcf\\x2d\\x30\\x4f\\xb2\\x2f\\x39\\x12\\x68\\x62\\x13\\xc2\\x7f\\x07\\xbb\\xc0\\x52\\x34\\xe9\\xc4\\xc9\\xa0\\x49\\x27\\x7f\\x39\\xec\\x0e\\x51\\xa6\\x32\\x0a\\x41\\x79\\x4e\\x30\\x9a\\x37\\x89\\xe6\\x04\\x0b\\xac\\xf1\\xf8\\x76\\x3c\\x17\\x25\\x81\\xe7\\xa2\\xfc\\xf5\\x70\\xaa\\x8d\\x63\\xeb\\x31\\x0e\\xf0\\xfb\\xef\\x2a\\xbf\\x3f\\xb1\\x09\\x5c\\x0e\\xb6\\x10\\xde\\x23\\x14\\x19\\x65\\x12\\x14\\x7c\\xcd\\x07\\x87\\xe3\\x4e\\xed\\x13\\x2a\\x98\\x44\\xda\\x67\\xd8\\xca\\x9f\\x41\\x6c\\xba\\x80\\xc0\\xaf\\xc8\\x0b\\xf8\\x15\\xef\\x1e\\xee\\x4a\\x68\\x9f\\xa2\\x23\\x12\\xe9\\x9f\\xc3\\x1e\\xc1\\xb1\\xda\\x17\\x08\\xfd\\x3d\\x18\\x07\\x9e\\xb3\\xf1\\x00\\x7e\\x8c\\x7a\\x71\\x76\\x63\\x3a\\x1b\\x75\\x3a\\x83\\x3a\\x36\\x43\\x80\\x49\\x00\\x51\\x4e\\xfa\\xbd\\x53\\xcc\\x73\\xb9\\xb4\\x3c\\xcf\\xc5\\x78\\x9c\\xd8\\x0b\\x7f\\x01\\xff\\x9e\\x0c\\x42\\x52\\x4d\\xe1\\xc6\\x09\\xf3\\x5f\\x10\\x7e\\xd8\\x0e\\x66\\xb1\\x9d\\x05\\xcb\\xf0\\xe3\\xf9\\xf0\\xf5\\x33\\xa9\\x17\\xec\\x2c\\x34\\xf0\\x95\\xdf\\x23\\x3e\\xa0\\xdf\\x63\\x3e\\xec\\xd1\\xf9\\xd0\\x5c\\xe6\\x43\\x36\\x28\\x58\\xea\\xf8\\x80\\xdf\\x03\\xf1\\x01\\xbd\\x07\\xe2\\xc3\\xa8\\xc6\\x87\\x66\\x8d\\x0f\\xff\\x82\\xaf\\x10\\xf9\\x5a\\x3e\\x10\\x94\\x1e\\xa3\\xae\\x86\\xb1\\x53\\x8e\\xe8\\x27\\x0e\\x28\\xcb\\x2b\\xc1\\x53\\x4b\\x63\\x63\\xc7\\x0c\\xc0\\x72\\x06\\x03\\x3b\\xa3\\x1c\\x3b\\xcd\\x52\\xa6\\x8b\\x51\\xdb\\x66\\x16\\x66\\xae\\x2b\\xa5\\x0b\\x9f\\x32\\x36\\x6d\\x2f\\xf7\\x2d\\x9d\\x20\\x2e\\xad\\x89\\x8d\\xaa\\x79\\xd8\\x4f\\x19\\x95\\x82\\x0a\\xdc\\x41\\xbb\\x9b\\xa9\\xf9\\xf9\\xd3\\xc7\\xa7\\xe0\\xa2\\xae\\x26\\x04\\x82\\xd0\\xd4\\xa5\\xde\\x89\\x50\\x12\\xfa\\x92\\x4d\\x5d\\xff\\x61\\x94\\xfa\\x40\\x53\\x0f\\x7c\\x15\\x7a\\x0f\\x8c\\xa9\\x30\\x03\\xf2\\x5b\\x8f\\x55\\x6d\\x3a\\xbf\\x1f\\x51\\x46\\x4e\\xc2\\xef\\xf0\\xac\\xbd\\xb3\\x9e\\x9d\\x45\\xf1\\xb3\\x80\\x89\\x9a\\x2e\\x30\\x45\\xbc\\x5f\\x5e\\xcf\\xfb\\xe9\\x42\\xd4\\x93\\xf0\\xbe\\xbe\\xad\\x63\\x6a\\xfe\\x7f\\xaa\\xf8\\x74\\x3a\\xfe\\x7f\\xca\\xd9\\xc3\\x1b\\x26\\xf3\\xfe\\x3f\\x8c\\x57\\x37\\x4c\\xe6\\x3d\\xb1\\x0e\\xee\\x8f\\x7b\\xd9\\x5d\\xb8\\x8e\\x66\\x00\\x21\\xea\\xb6\\xa5\\xd3\\x85\\x99\\x52\\xdc\\x16\\x6f\\x74\\xcc\\x94\\x19\\x96\\x60\\x89\\xd9\\x73\\x3a\\x94\\x19\\xca\\xba\\x52\\xcb\\x8c\\xa8\\x82\\x47\\x16\\x8f\\x94\\x9c\\x4e\\x4a\\x8e\\x46\\x7d\\x23\\xa5\\x28\\x4d\\x59\\xe0\\x89\\x43\\x39\\x6b\\x1a\\xa9\\x6a\\x21\\x3f\\x35\\xc6\\x4e\\x4a\\xab\\xa0\\x4e\\x56\\x3a\\x16\\xfd\\x74\\xcd\\x1c\\xd4\\x74\\x7a\\x7b\\xef\\x38\\xf1\\xdf\\x4f\\xdc\\x5f\\xdb\\xd8\\x71\\xf1\\xee\\x09\\x8d\\x1d\\x77\\x4e\\xc1\\xb4\\x2d\\x8f\\xbd\\x9a\\xae\\xef\\xf0\\xf8\\xe2\\xa5\\x13\\x3a\\x3c\\x68\\x71\\x12\\xab\\x20\\xaf\\xf0\\x2c\\x67\\xa8\\xa7\\x8d\\x44\\x07\\xa1\\x40\\x7f\\xbc\\x2f\\x9b\\x4a\\xe5\\x7b\\x34\\x5e\\xf5\\xc8\\x8c\\x89\\x32\\x51\\xb3\\x06\\x9a\\xfb\\xda\\xa9\\x2e\\x9d\\x51\\xd5\\x11\\x64\\x34\\x9a\\x16\\xc4\\xc8\\xfa\\x3c\\xe7\\xca\\x34\\xe7\\x1a\\x8e\\x95\\x07\\xa2\\x23\\xa6\\x49\\xed\\x53\\x71\\xec\\xd3\\x0e\\x74\\x76\\x4e\\xa7\\x67\\x27\\x19\\xf4\\x7c\\xf1\\x14\\xbc\\x3a\\xe1\\xec\\x67\\xf2\\xe8\\x44\\x2e\\x01\\x64\\xa3\\xa9\\x43\\xb8\\x3e\\xb2\\xa8\\xa4\\xfc\\x82\\xc3\\xc7\\xf9\\x60\\xac\\x47\\x87\\xe8\\x50\\x24\\x2a\\xf8\\xfd\\xd0\\x3d\\xf1\\xfb\\x09\\x8f\\xcf\\xe9\\x71\\x8e\\x96\\x24\\x0f\\x45\\x98\\xa0\\x07\\x4f\\x38\\xf5\\x41\\x49\\x13\\x7a\\x0d\\xeb\\x78\\xa0\\xe1\\x5f\\xd5\\x28\\x0c\\x24\\x1f\\x94\\xcb\\x76\\x11\\x6f\\x5c\\x34\\x78\\xfc\\xd4\\xa7\\x17\\xd1\\xb3\\xbd\\xf1\\x7d\\x8b\\x6e\\x3c\\x78\\xef\\x57\\x17\\x80\\x81\\x8b\\x7e\\xbf\\x22\\x34\\x97\\x02\\xea\\xa1\\x6f\\xbe\\xac\\x7e\\xe0\\x8a\\x05\\x41\\xcf\\xcb\\xcd\\x5d\\xf7\\x3d\\xf0\\xe0\\xa1\\x65\\xe0\\x49\\xf1\\x27\\x60\\xe6\\x32\\xb5\\xdb\\xfa\\xf3\\xc7\\x5e\\x7c\\xab\\x3c\\x4f\\x76\\x2e\\xb5\\x1c\\xcd\\x19\\x25\\x57\\x94\\xfb\\xcd\\x99\\xab\\xd8\\x56\\xc2\\x4f\\xc8\\xc4\\x35\\x4a\\xc8\\xe4\\x85\\xc1\\x95\\xd9\\xed\\x0e\\x90\\x02\\x29\\x84\\x23\\x37\\x46\\x0e\\x46\\x0e\\x47\\x3e\\x8c\\xd0\\x7f\\x80\\x5f\\xc8\\x08\\xba\\x6c\\xce\\xcd\\x98\\xb9\\xe0\\xda\\x08\\x20\\x89\\x48\\x38\\x52\\x8c\\xec\\x8d\\xd0\\x36\\x2a\\x10\\x1c\\x2d\\x05\\x18\\x45\\x9b\\x33\\x39\\x52\\xb2\\x4a\\x66\\x86\\xf2\\xba\\x05\\x5c\\x74\\xe8\\x31\\xb9\\x70\\xd9\\x61\\x75\\x64\\x6b\\x3d\\x48\\x81\\x7e\\xeb\\xbc\\x66\\x9b\\x8e\\x9a\\x53\\xcd\\x78\\xe4\\x26\\xb5\\xdc\\x57\\x87\\xdb\\x50\\xf0\\x71\\x4f\\x4d\\xd8\\xa2\\x17\\x17\\x7e\\x9d\\xdc\\x31\\x05\\xe2\\x00\\xae\\xac\\xd7\\xf0\\x08\\x98\\xe7\\xb6\\x6c\\xd1\\xf2\\xd0\\x78\\x5e\\x0f\\xfd\\x3b\\x4c\\xf7\\xb9\\x4a\\x37\\xeb\\x76\\xcb\\x01\\x83\\xd3\\x19\\xf0\\xdb\\xfc\\xb6\\x70\\x84\\x88\\xd8\\x23\\xad\\x91\\x89\\x23\\x7b\\x02\\xc1\\x65\\xa5\\x13\\x8f\\xeb\\xf9\\x11\\x96\\xf0\\xa4\\x69\\x3d\\xb5\\x64\\x9d\\x68\\x60\\x0f\\x9a\\x62\\x3f\\xe5\\xb8\\x9e\\x59\\xe4\\x8e\\x93\\xcc\\xea\\xc9\\x62\\xc2\\x28\\x5d\\x9e\\xab\\x21\\x5d\\xe8\\xa4\\xb9\\x5d\\x89\\x40\\x89\\x46\\x03\\x81\\xc6\\x16\\x28\\xd4\\x16\\x24\\xd4\\x8e\\xfc\\x8d\\xf9\\x83\\xf9\\xc3\\xf9\\x0f\\xf3\\xf4\\x1f\\xe0\\x17\\x32\\x8f\\x84\\xda\\x89\\x84\\x9a\\x87\\x42\\xcd\\x87\\xf3\\xc5\\xfc\\xde\\x3c\\x14\\x6a\\xbc\\x2d\\xdd\\xb6\\xae\\x24\\xa7\\xff\\xff\\xe4\\x8a\\x9f\\x9d\\x52\\xb6\\x9f\\x46\\xbc\\xd3\\x9d\\x22\\x53\\x88\\x1c\\x1c\\x9c\\xbc\\xa3\\x4f\\xa2\\x03\\x1f\\x4d\\x65\\xf7\\xb4\\xf9\\x4d\\x36\\x9d\\x6f\\x17\\x2b\\xfd\\x50\\x23\\x30\\xdf\\xa0\\x52\\xb4\\x20\\xa5\\xe8\\xc8\\x13\\x79\\x7b\\xbe\\x35\\x3f\\x51\\x29\\x10\\x9f\\x96\\x43\\x3e\\x9d\\x58\\x2f\\xf4\\xb3\\x77\\x5a\\xd5\\xf8\\x34\\xda\\x31\\x1d\\x57\\xa6\\xd4\\x18\\xf2\\xda\\xc9\\x7c\\x39\\x89\\x0a\\x4d\\x3e\\x3a\\x75\\x7f\\xf4\\x02\\xec\\x97\\xb7\\xeb\\xfe\\xe8\\x55\\xba\\x3f\\x9a\\xd0\\xfc\\xd1\\xe3\\x87\\x53\\x12\\x27\\xd4\\xf9\\xa3\\x18\\x3b\\x16\\xfb\\xe5\\x43\\xfa\\x8c\\xc3\\x07\\x08\\xcd\\x23\\x4d\\x68\\x1e\\xe9\\x18\\x7c\\x0d\\x43\\xd4\\x63\\x85\\x56\\x70\\x75\\x05\\x3c\\x0b\\x3d\\x27\\xf2\\x3c\\xe1\\xb6\\xd9\\x18\\x02\\x06\\x4d\\x0a\\x9a\\x85\\x1e\\xf6\\x91\\x7e\\x4a\\x84\\x91\\x5e\\x4d\\xb6\\xc4\\x48\\x1a\\x2d\\x18\\x64\\xd7\\x31\\x01\\x64\\xb7\\xda\\x09\\xb0\\x7d\\xc2\\xbc\\xac\\x2a\\x18\\x28\\x68\\x77\\x38\\x23\\x3e\\xe0\\x44\\x43\\x5b\\xcc\\x60\\x02\\xa8\\x2e\\xb9\\xff\\xed\\x5f\\x31\\xc7\\xf7\\x91\\xbf\\xfa\\xfd\\x1b\\x6f\\x98\\xa8\\x5d\\xa6\\x5f\\xd5\\x23\\xe8\\xaa\\xff\\x44\\x93\\x22\\xd4\\x1f\\xa9\\xef\\xd0\\xdf\\x55\\xc7\\xd5\\xb7\\x41\\x00\\xd0\\x58\\x8f\\xaa\\xb8\\xb9\\x88\\x8e\\xdd\\x4a\\x16\\xd2\\xc1\\x40\\x3a\\x08\\x86\\xf0\\xfa\\x0e\\xf8\\x9e\\xf5\\xfd\\xd6\\x47\\x21\\x5a\\x5a\\x7d\\x54\\x3f\\x7a\\x40\\xa2\\x07\\x0a\\x7a\\x0e\\xfe\\xcc\\x53\\x3e\\xb4\\x1b\\x43\\xf1\\xc6\\x05\\x22\\x0f\\x0f\\x56\\x31\\x20\\x92\\x1c\\x24\\x93\\x34\\x1a\\x1d\\x18\\x20\\xd4\\x32\\x01\\x63\\x57\\x27\\x33\\xad\\x17\\x3c\\x6d\\xab\\xa7\\xb5\\x16\\x6c\\x17\\x4d\\x21\\x0d\\x41\\x5a\\x59\\x43\\xa4\\x0e\\x5e\\x77\\xc1\\xde\\x3d\\x8c\\x4a\\x43\\xf7\\xec\\xd2\\x8b\\x0c\\xe0\\xdf\\xa6\\xcb\\x2a\\x88\\xba\\x63\\x5b\\x9e\\xfc\\xc9\\xcf\\x8e\\x50\\x33\\xbe\\xfa\\xf4\\x91\\xfb\\x6a\\xf5\\x80\\xbe\\xad\\x4e\\x0f\\x68\\xaa\\x91\\x49\\xd0\\x14\\xd2\\x83\\xb4\\x97\\x60\\xa6\\xd6\\x03\\xfa\\xf6\\x3a\\x3d\\x80\\xaf\\x11\\xf0\\x6b\\xc6\\xe0\\x6b\\x26\\xe8\\xc1\\xb6\\xf1\\xf7\\xe8\\x7f\\x41\\x5f\\x2d\\x84\\xbd\\xb5\\x75\\x4a\\x7b\\x5c\\x96\\xd3\\x6d\\x16\\x9b\\x8d\\x6b\\x73\\x53\\xa8\\x14\\xb8\\xd0\\xd5\\xd8\\xd1\\xd2\\xb1\\xae\\x14\\x6d\\xf1\\x2a\\x56\\x6e\\xb4\\x64\\xb5\\x12\\x6e\\xaf\\x57\\x40\\xa3\\x7e\\x08\\xe3\\x48\\x89\\xaa\\x1c\\xb4\\x15\\x37\\x8d\\x38\\x91\\x8f\\xc6\\x54\\x1c\\x34\\xa8\\x0c\\x79\\xa8\\x07\\x9a\\xa3\\xe1\\xd4\\x67\\x70\\x4d\\xe7\\x97\\x91\\x03\\xff\\xf3\\x73\\x76\\x56\\x3c\\xff\\xcd\\xdd\\x7f\\xfc\\x3f\\x7a\\xec\\x19\\x72\\x8e\\xe5\\xcd\\xbf\\x8d\\x3e\\x35\\x2f\\x34\\xc0\\x7e\\xf0\\x1a\\x58\\x01\\x16\\xaa\\xd7\\x4b\\x93\\xf7\\x9f\\xab\\x1f\\xf4\\xbc\\x94\\xea\\x05\\x2d\\x20\\x34\\x0c\\xfc\\x80\\xcc\\xa6\\x1f\\x02\\xf1\\x1c\\xd4\\xb8\\xaf\\xaa\\x47\\xd5\\xeb\\xd8\\xf4\\x54\\x76\\x09\\xcf\\xb1\\xad\\xd8\\xa5\\x51\\xa5\\x1d\\x1b\\x25\\x1f\\x00\\x44\\x8b\\x91\\x12\\x6d\\x22\\xb2\\x4b\\xfe\\x62\\x09\\xc1\\xa7\\x69\\x33\\x6c\\xcb\\xf6\\xc8\\xa2\\x18\\xeb\\x06\\xd8\\xd6\\x58\\xa1\\xc9\\xe8\\xf4\\xd5\\x2b\\xfd\\x13\\x0c\\xb1\\x9d\\xce\\xfe\\x4c\\x3f\\xdc\\x16\\x3c\\x3a\\x45\\x2c\\x35\\xc5\\xc0\\x5b\\xf2\\xfd\\xc9\\xa4\\x43\\x53\\x3a\\x0b\\xea\\xdc\\x7f\\x41\\xdf\\x24\\x48\\x44\\x88\\x95\\x4a\\x9a\\x0e\\xcb\\xac\\x4b\\x0e\\x5a\\x82\\x96\\x68\\x2c\\xc0\\x30\\x76\\x60\\xf7\\xae\\x2f\\xb9\\xec\\xce\\x90\\x3c\\x5a\\x0a\\x01\\xc5\\xc2\\xb2\\x41\\x1a\\x20\\x80\\x07\\x40\\x55\\x1b\\xa5\\x2a\\x87\\x32\\x26\\x5a\\xa8\\x1d\\x00\\x84\\xc1\\xeb\\x6a\\x0b\\x20\\x31\\xe4\\x55\\x25\\x8b\\x5f\\x00\\x05\\xf8\\xec\\x2c\\x32\\xf3\\x20\\x54\\xf5\\x0d\\x37\\x83\\xab\\xf7\\xa8\\x0b\\x2f\\xd8\\x75\\xf9\\x50\\x66\\x55\\xd0\\x94\\x69\\x13\\x0a\\x81\\x85\\xfb\\xe6\\x8d\\x8d\\x7d\\x42\\xee\\x60\\x8c\\x28\\x16\\x5c\\x4c\\x1e\\xc6\\x67\\xce\\xf3\\xbf\\xba\\x67\\x91\\xc7\\xf9\\x8f\\x75\\x92\\x6f\\xef\\xe7\\xa9\\x6d\\xaf\\xe3\\x63\\xb9\\x3c\\x3f\\x8f\\xfe\\x9d\\x43\\x9f\\x9f\\x47\\x5e\\x45\\xfc\\x50\\xcb\\x13\\x80\\xb0\\x90\\x00\\x52\\x28\\x6c\\x93\\x6a\\x30\\x1c\\x29\\x9d\\xf6\\xd5\\x90\\xf6\\x14\\x91\\x27\\xd6\\x2b\\x6d\\x74\\x43\\x28\\xd4\\xd4\\xca\\xba\\x5a\\x11\\x03\\x3a\\x0b\\xb5\\x0c\\x48\\xe6\\x32\\xb9\\x75\\xa5\\x48\\xe6\\x44\\x3c\\x68\\xaf\\x24\\xc4\\x27\\xb1\\xe1\\xe4\\x9c\\x30\\x4d\\x27\\xfa\\x93\\x71\\x87\\xfa\\xcc\\x64\\x05\\x38\\x11\\xbb\\x80\\x79\\xaa\\x33\\x48\\x9b\\x3d\\x68\\x2b\\xf3\\x0e\\xda\\x91\\xe7\\x20\\x8f\\x24\\xc5\\x4a\\x22\\x00\\x4c\\x12\\xf0\\xd9\\xa0\\x4d\\x9a\\x90\\xdf\\xd0\\xf8\\xf7\\x16\\xe4\\x5f\\x0c\\x72\\xf0\\x4c\\xa5\\x83\\x6e\\x48\\x26\\x23\\x21\\xd6\\x15\\x42\\xfc\\x6b\\x4a\\xd7\\xf2\\x2f\\xc1\\x87\\xe5\\x30\\x69\\xa2\\xc2\\x0d\\x27\\x52\\xa3\\xb7\\xda\\xb5\\x3b\\xf5\\xff\\x3f\\x16\\x82\\x78\\xde\\x99\\x13\\x41\\x04\\x7f\\x3d\\x19\\xdb\\x40\\xe3\\x9d\\xcf\\xaa\\x6f\\x82\\x24\\xfc\\xfa\\xeb\\x13\\xb1\\xeb\\x3b\\x11\\x60\\x8f\\xab\\x1f\\x6a\\x5f\\x6b\\xf4\\x0c\\xcf\\x23\\xd6\\xf4\\xec\\x6e\\x40\\x94\\x79\\xd5\\x88\\x78\\xb5\\x38\\x94\\x9c\\xc4\\x2b\\x5c\\x83\\x06\\x75\\x4d\\x26\\xd2\\x44\\x81\\xb8\\x48\\x99\\x29\\x20\\x34\\xe7\\x76\\x89\\xa2\\xda\\xcd\\x21\\x73\\xa8\\xab\\x9b\\xef\\x06\\x16\\x2a\\x95\\xcf\\xe6\\xd7\\x95\\x62\\x59\\xab\\x12\\xf4\\xd8\\x2d\\x08\\x76\\x47\\x42\\x58\\x42\\xae\\xf5\\x25\\x83\\x01\\xf8\\xac\\x54\\x68\\x52\\x49\\x5a\\x7d\\x1e\\xb9\\xce\\x2d\\x9c\\xe8\\xfb\\xe8\\xf5\\x50\\x27\\xc8\\x8d\\x4f\\xa7\\x82\\xb8\\x60\\x6d\\xaa\\x84\\xf9\\x6d\\x53\\x39\\x86\\x27\\xc8\\xa0\\x33\\xcf\\x4d\\x65\\x7f\\x71\\x2d\\x1b\\xb4\\xbf\\xda\\x79\\x74\\x9e\\xd2\\x45\\xe0\\x03\\x89\\x11\\x84\\x36\\x0f\\xe7\\xe1\\xb4\\xd3\\x68\\x39\\x3c\\x8d\\xfc\\x4a\\xc8\\xc2\\x6a\\x4d\\xb8\\x0e\\x87\\x28\\x52\\x43\\x25\\x51\\xe4\\x8d\\x7e\\x9e\\x13\\x78\\x61\\x10\\xfa\\x2c\\x27\\x65\\x4b\\x5d\\x7e\\x57\\xaf\\x0a\\xa8\\xab\\x35\\x14\\x27\\xd6\\x54\\x4e\\xc7\\x12\\x30\\x50\\x4e\\xb9\\x23\\x4f\\xb0\\x92\\x87\\x07\\xaf\\x4e\\x61\\x8d\\x1b\\x6b\\x12\\xf0\\xb8\\xc0\\xbb\\x26\\x3b\\x0f\\xe6\\x4c\\x8e\\x7d\\x7b\\xd4\\xc5\\x18\\xab\\x48\\x20\\x66\\x28\\x41\\xad\\x37\\xc1\\x4a\\x38\\x9c\\x0c\\xee\\xad\\x26\\xec\\x14\\x6a\\x4b\\x18\\x29\\x59\\x1c\\xa6\\x9a\\x72\\xd1\\x2a\\x75\\x95\\x8b\\x53\\xaa\\xb6\\x23\\x01\\xdd\\xb2\\xad\\xc5\\x68\\x39\\x2f\\xa0\\x06\\x89\\xab\\x10\\x7a\\x0e\\xf5\\x0c\\x90\\x5c\\x9f\\x6c\\x76\\xe3\\xfb\\x28\\x0d\\x94\\xa9\\x82\\x4b\\x80\\x30\\x89\\x04\\x84\\x1b\\xcb\\x9a\\x4c\\x0c\\xc3\\x71\\x82\\xc3\\x29\\xf0\\xbc\\x15\\x72\\x99\\x46\\x83\\x89\\x19\\x0c\\x67\\x62\\xac\\xc0\\x99\\x4c\\xc4\\x66\\xd2\\xb1\\xf4\\xeb\\x17\\xa0\\x43\\x0e\\x5d\\xab\\xf5\\x4c\\xea\\x10\\x36\\xd5\\x56\\x88\\x30\\x86\\x1b\\x82\\x4e\\x1c\\xea\\x8d\\x7c\\x06\\xee\\x15\\x6d\\xd6\\x7f\\x1b\\x31\\x93\\xb8\\x50\\xe9\\xf1\\x32\\x4c\\x73\\x22\\xd1\\xde\\xc5\\x11\\x72\\x17\\x81\\x40\\x41\\xfa\\xfa\\xb3\\x3d\\xf9\\x9e\\x75\\xa5\\x54\\x5e\\x54\\xbc\\xf4\\x68\\xc9\\xeb\\xb5\\x8b\\xf1\\x30\\x1a\\x8e\\x3b\\x52\\x8a\\x8a\\x94\\xec\\x63\\x1c\\x76\\xe8\\xb2\\x06\\xed\\x0e\\x62\\xea\\xcb\\xaf\\xc9\\x4e\\x4b\\x77\\x7d\\xa0\\x00\\xca\\xc0\\x6d\\xa0\\x76\\x44\\x3e\\x8e\\x1d\\x6a\\xee\\xc5\\xa6\\x4d\\x87\\x5e\\xad\\xe1\\xbb\\xa9\\xef\\xfc\\xf5\\xdf\\x18\\xf7\\x0d\\x8d\\xa0\\xa4\\xcf\\x2e\\xcf\\x2c\\x52\\x3f\\x3b\\x45\\x9a\\x64\\x33\\x06\\x7f\\x23\\x85\\x67\\xbf\\x85\\x30\\xe1\\xb4\\xea\\xc3\\xb1\\xe3\\x63\\x67\\x55\\xef\\x09\\x27\\x5b\\x6f\\x06\\xcf\\x5c\\x6e\\x85\\xfb\\xa7\\xca\\xaf\\x9d\\x4a\\x1f\\x67\\x34\\x62\\x7e\\xd9\\xa9\\x78\\x17\\xe5\\x0e\\xbb\\xc3\\x1a\\xbf\\x96\\x43\\x7e\\x79\\x15\\xd9\\x67\\xc1\\x97\\xbb\\x9c\\x01\\x7a\\xc0\\x9c\\x2b\\xe0\\xe5\\xe3\\x61\\x7c\\xc9\\x1b\\x73\\xb9\\x8c\\xc5\\x92\\x4b\\xac\\xb6\\x76\\x97\\xb7\\xd3\\x34\\x3b\\xa9\\x9e\\x63\\x95\\xb9\\xd2\\xce\\xfa\\xc9\\xcb\\xc9\\x3c\\x53\\xb3\\xc1\\xa6\\x73\\xf8\\xc0\\x37\\x30\\xd0\\xdc\\xee\\xca\\x28\\xe6\\xdd\\xd4\\xbf\\xca\\x3b\\x6c\\xf9\\x64\\x6e\\x15\\x35\\x00\\x3a\\x6a\\x75\\xcd\\x3c\\x6a\\xa8\\x43\\xf3\\xaa\\x1b\\x6d\\x8a\\x70\\x4b\\xbf\\xef\\xc7\\xfb\\x2b\\x81\\xf1\\x87\\xcd\\xe6\\xa8\\xdf\\x62\\x11\\x04\\x43\\x08\\x1a\\xa0\\x64\\x23\\x13\\x8b\\xc7\\x46\\x4a\\xa6\\x70\\x24\\x3c\\x5a\\x62\\x23\\x91\\x40\\x9c\\x32\\xe3\\x4e\\xf8\\x80\\x83\\x77\\x8f\\x4c\\x82\\x7a\\x9a\\x0a\\x1c\\x4c\\x2b\\xa8\\x69\\xaf\\xd9\\x84\\x18\\x15\\x4c\\xac\\x19\\xdc\\xde\\x07\\x66\\x82\\x1a\\x2c\\x2e\\x7d\\x67\\x62\\x9c\\xb0\\x6d\\xdb\\xfb\\xfa\\xda\\x32\\x01\\x7f\\x73\\xda\\xab\\x86\\x34\\x14\\x31\\xbc\\x4f\\x35\\xc4\\xb0\\x17\\x6f\\xbf\\xd6\\x79\\x6c\\x97\\x33\\xbb\\xf1\\xd4\\x3d\\x15\\x40\\xb1\\x4a\\xdd\\x0c\\xda\\xb3\\x09\\x34\\xe1\\x1f\\xd1\\x83\\xe8\\x12\\x92\\x3a\\x51\\x88\\x9c\\xa2\\x46\\x4e\\x3c\\x36\\x58\\x8a\\x33\\xc5\\x52\\x9c\\x37\\xe3\\xf9\\x54\\x81\\x29\\x21\\xac\\xea\\x30\\xc5\\x2a\\x68\\xd0\\x18\\xf7\\xac\\xae\\xe1\\x49\\x83\\x15\\x9b\\x9e\\x32\\x1d\\xc4\\xea\\xe7\\x3f\\xbf\\xbd\\x96\\xae\\xaf\\x4c\\x04\\x1c\\x3b\\x5a\\x25\\xab\\x02\\x3d\\x46\\xe8\\x3d\\x2f\\x73\\x99\\x53\\x30\\x7e\\xd5\\xe9\\x4a\\x1b\\xb0\\x1a\\x79\\x57\\xd2\\x15\\x32\\x52\\xac\\x87\\xf5\\x40\\x07\\xa3\\x61\\xb4\\x24\\x07\\x02\\x7a\\x5b\\xd4\\x48\\xc9\\x26\\x1a\\x08\\x9a\\x16\\xcc\\x14\\x0b\\x68\\x50\\x0b\\x28\\x58\\xd3\\x82\\x51\\x37\\x7f\\x34\\xa7\\x97\\x86\\x4d\\xd3\\xaf\\x82\\x50\\x91\\x81\\x46\\x9a\\x9e\\x2d\\x4c\\x92\\xcf\\x4d\\xdb\\xba\\xb2\\xfd\\xac\\xb5\\x07\\xd7\\xee\\x1d\\x1c\\x08\\x39\\xe7\\x35\\x2d\\x5e\\xbb\\x8e\\x5c\\x35\\x6d\\x07\\xcb\\x6f\\x6e\\xb9\\x63\\xe3\\xdd\\xa7\\x87\\x3e\\xbc\\x4a\\xf2\\x9d\\x3f\\xb2\\xe5\\x5a\\x02\\xf7\\xb3\\xcc\\xa5\\x9e\\x84\\xf2\\x6b\\x24\\x56\\x2b\\x6d\\x62\\x24\\x10\\x6b\\xb4\\x37\\x1a\\x03\\x94\\x0f\\xfe\\x4b\\x35\\x35\\xc6\\x62\\x81\\x48\\x28\\x32\\x58\\x8a\\x12\\x7e\\x17\\xed\\x89\\x87\\x78\\x9f\\xe8\\x11\\x07\\x4b\\x1e\\x11\\x35\\x6a\\x9a\\xd8\\x09\\xf0\\x63\\x55\\x62\\x27\\x11\\x0a\\x9c\\xee\\x5a\\x69\\xe1\\xf6\\xbf\\x29\\x7b\\x4e\\xc8\\x39\\x3f\\xbd\\xf8\\x91\\xeb\\x8a\\x3d\\x59\\x7f\\x38\\x3f\\x38\\xda\\xd1\\xf5\\xfc\\x14\\xad\\x27\\xa4\\x4b\\xfd\\xde\\x63\\x5f\\xbb\\xe6\\x61\\xc7\\xf7\\xb7\\x04\\xb6\\xac\\xe8\\xda\\xbb\\x12\\x64\\xa6\\xee\\x3f\\x41\\x72\\x84\\x36\\xea\\x1e\\x7c\\xf7\\x7f\\x86\\xd2\\x6e\\xf6\\xba\\xfc\\x61\\xa3\\x2b\\xcc\\x53\\x3c\\x15\\x8d\\x85\\xfd\\x3a\\xe0\\x98\\x89\\x14\\x1c\\xc2\\x68\\x29\\xe2\\x73\\x38\\xac\\x41\\x18\\x89\\x1a\\x8d\\xbc\\xd9\\x6a\\x1e\\x29\\xb1\\xd5\\x72\\xef\\x32\\x66\\x48\\xed\\xc4\\x45\\x21\\x37\\xa9\\xa7\\x1a\\x88\\x91\\x32\\x51\\x5a\\x5a\\x67\\x52\\x23\\x16\\xfd\\x47\\x75\\x3f\\xb8\\xe9\\xd6\\xb1\\x5f\\x54\\x9b\\x91\\xbe\\xab\\x0e\\x81\\xcb\\xd4\\xc7\\xea\\xa4\\x7a\\x35\\x39\\x3e\\x3c\\xf6\\x75\\x2c\\xc6\\x72\\x43\\xd2\\xa9\\xc3\\xe0\\xfd\\x3a\\x79\\x0a\\x58\\x7e\\xd0\\x87\\xf9\\x13\\x9e\\xd9\\x0c\\xe9\\xa3\\x9d\\x36\\xd1\\x47\\xda\\x7c\\x26\\xd9\\x24\\x47\\x63\\x7a\\x8b\\xd5\\x60\\x29\\x44\\x59\\x38\\x4b\\xb1\\xe4\\x77\\x71\\x9c\\x41\\xb2\\xf3\\x32\\x49\\x9a\\x68\\x03\\x3d\\x58\\x22\\x0c\\x13\\xa1\\x5f\\x4e\\x46\\x5f\\xa4\\xd2\\x29\\x84\\x28\\xa3\\x6a\\x05\\x07\\x22\\x62\\x0c\\xfe\\x8a\\x9c\\x59\\xee\\x16\\xca\\xa8\\x3f\\x02\\xc6\\xb7\\xaa\\x52\\x1b\\x27\\x00\\xff\\x27\\xc0\\x9c\\x57\\xd3\\x2e\\xf4\\xe5\\x15\\x60\\x7e\\x5d\\xbf\\xd0\\x13\\x2b\\xd4\\x9d\\x62\\x06\\xc5\\x87\\x73\\xa0\\xdf\\x8a\\x30\\x5f\\xd0\\xd9\\x32\\x47\\x69\\x20\\xdc\\x26\\x9a\\xb6\\xbb\\xed\\x3e\\xbf\\x97\\x45\\x47\\xae\\x93\\x43\\xd3\\x60\\x9d\\xd4\\x68\\xc9\\xe9\\xe0\\xcd\\x1c\\x14\\x16\\x47\\x4d\\xc4\\x25\\xac\\xaf\\xc9\\x07\\xa8\\x31\\x58\\x88\\x45\\xd9\\x78\\xd5\\xe7\\xd2\\x0e\\x00\\xc0\\xdd\\xf1\\xc4\\x8d\\xb7\\xff\\xd7\\x57\\xc1\\x1f\\x5e\\x27\\xf3\\x77\\x1f\\x1a\\xfb\\xd9\\xbf\\x3e\\xfe\\xf8\\x2f\\x60\\xf3\\x0d\\x97\\x91\\xf9\\x2f\\xfe\\x9e\\xa4\\x11\\xf3\\x3f\\x59\\xef\\xcb\\x3f\\x75\\xe4\\xe9\\xef\\xe8\\x35\\xc1\\x30\\x6e\\xff\\x13\\xbe\\x3f\\x9f\\x8f\\x63\\xd9\\x39\\xe3\\xef\\xb1\\x23\\x70\\xad\\x66\\xa8\\x6d\\x83\\x4a\\x23\\xe1\\x75\\xb0\\xac\\x4d\\x4e\\xd8\\x12\\x2d\\x59\\xcd\\x2d\\x88\\x87\\x8d\\x82\\x71\\xb4\\x14\\x15\\x04\\x8b\\x48\\x05\\x48\\x0b\\x39\\x5a\\x4a\\x59\\xaa\\xdd\\xdc\\x95\\x8a\\xe7\\x1a\\x57\\xc6\\x51\\xee\\x05\\xb6\\x47\\xda\\x0b\\xd0\\x29\\x84\\x0b\\xc7\\x48\\xcc\\x9d\\x3d\\xa0\\xd6\\x85\\xae\\xf8\\xd3\\x2c\\x1e\\x9c\\x02\\x38\\xd0\\x78\\xc9\\x59\\x03\\x9f\\x81\\xc4\\x08\\x7f\\xfc\\xd7\\xc7\\x7f\\xf9\\x3a\\xa2\\x68\\xc5\\xc6\\xd1\\xe1\\x43\\x24\\x7d\\xeb\\x63\\x2f\\x2d\\xb9\\xac\\xf7\\xf3\\x60\\xb3\\xfa\\x66\\xc3\\x8a\\x97\\x80\\xe9\\x8b\\x63\\x7f\\xfc\\xc1\\x53\\x4f\\x7f\\x47\\x23\\xf0\\xf8\\xc8\\x35\\x97\\xec\\xbf\\x05\\x84\\xb0\\x62\\x8d\\xbf\\xf9\\xbd\\x86\\xa6\\xa5\\xfa\\xfc\\x57\\x18\\x6b\\xfd\\x2f\\x73\\x0d\\x8c\\xb4\\x5a\\x11\\x52\\x64\\x83\\xd7\\xd5\\xdc\\x6c\\x95\\x49\\x2b\\xd9\\xd6\\x2e\\x41\\x4b\\x20\\x11\\x40\\x6b\\xc6\\x8f\\x32\\x76\\x7b\\xb6\\x58\\xb2\\xdb\\x2d\\xc9\\x65\\x25\\x8b\\x9b\\x09\\x14\\xab\\x37\\x44\\x35\\xc3\\xdd\\xca\\x39\\x8a\\x7a\\x1a\\x0d\\x1a\\x84\\x34\\x1a\\x31\\x11\\x16\\x30\\xbe\\x7f\\x62\\x26\\xd2\\x2a\\x8d\\x46\\xfc\\x23\\xa3\\x45\\x0c\\x90\\x13\\x89\\x58\\x98\\xf9\\xdf\\xed\\xf7\\x1d\\xd9\\xba\\xbf\\x71\\xf9\\xf5\\x43\\xea\\x9e\\x37\\x7e\\x76\\xee\\x56\\xf6\\x2e\\x30\\xe7\\xb4\\xb5\\x6b\\x51\\x03\\xc8\\x27\\xc6\\xbd\\x57\\xcc\\xbc\\x2c\\x2b\\x97\\xb6\\xab\\xc7\\xc1\\xab\\xde\\x0d\\xdf\\xfe\\xaf\\x9e\\xbe\\x81\\x02\\x78\\xfb\\xff\\x00\\x90\\x22\\x57\\x7e\\xe8\\xc9\\x7c\\x72\\x68\\xef\\x9e\\x3d\\x7b\\x2e\\xf3\\x66\\xb2\\x47\\x9f\\x96\\x43\\x4b\\x76\\x90\\x76\\x01\\xee\\xa3\\x2d\\x50\\x86\\xab\\x99\\x25\\x44\\x0b\\xaa\\xd6\\x8f\\x58\\x42\\x21\\x7b\\x93\\xc5\\x8e\\x8a\\xf1\\xb2\\xad\\x20\\x9d\\x49\\x8f\\x94\\x22\\x1c\\xdc\\x44\\x23\\xa5\\x0c\\x97\\xe1\\x18\\x8f\\xdf\\x0f\\xa5\\xea\\xa7\\x99\\xe4\\x68\\x89\\x71\\xd6\\xde\\x83\\x55\\x86\\xd6\\x4d\\xf2\\x55\\x30\\xa4\\x99\\x2e\\xa8\\xbc\\x3d\\x9e\\x9c\\x1e\\xfa\\xad\\x22\\x57\\x76\\x35\\x94\\xd9\\x0f\\x9f\\x56\\x5f\\xdb\\xbf\\xff\\xd2\\xfd\\xdb\\x2f\\xeb\\xfa\\xbc\\x1c\\x19\\xb8\\xff\\xae\\x9f\\xbd\\x83\\x2e\\x06\\x87\\x47\\x47\\x87\\xef\\x01\\x1f\\x93\\x07\\xb1\\xb8\\xbe\\xfb\\x03\\xc0\\xf0\\xc6\\x21\\x93\\xe1\\xaa\\x9d\\xfb\\xf6\\x68\\x37\\x81\\x0f\\x1e\\xd0\\xb0\\xde\\x6e\\xdd\\xaf\\xc9\\x15\\xd2\\xb8\\x11\\xca\\xf2\\x2c\\xea\\x05\\x28\\x49\\x94\\x6b\\xe2\\x64\\x59\\x48\\x18\\x9b\\x8d\\x02\\x47\\x79\\x49\\x2f\\x94\\x27\\xc8\\x64\\x33\\x50\\x92\\x56\\xce\\xca\\x15\\x4b\\x59\\x6b\\xd6\\xca\\x78\\xe1\\x19\\x57\\x2c\\x05\\xec\\x4c\\xaa\\x38\\xe1\\xbe\\x6f\\x2a\\x3a\\x75\\x6b\\xaf\\x53\\x2a\\xea\\x0e\\xd6\\x89\\x21\\xdb\\xaa\\xf2\\x3d\\x0b\\x8a\\xf4\\xc8\\xe3\\x5b\\x4f\\x9f\\x74\\xad\\x37\\x7a\\xc6\\xaa\\x35\\x58\\xb2\\x9a\\x34\\x6f\\xbe\\xf5\\xd4\\xc5\\x13\\xa1\\xda\\xec\\x67\\x2d\\xdb\\x7c\\x09\\x96\\x29\\x3e\\xbb\\xcf\\x53\\x77\\xd0\\xcb\\xa0\\x2c\\x63\\xe8\\x0e\\xcf\\x16\\x20\\x28\\x8a\\x09\\xc8\\x26\\xca\\x1d\\x75\\x47\\x1b\\xe2\\xb2\\x19\\xb7\\x06\\x9b\\xcd\\x74\\x39\\xb5\\x48\\xc7\\x50\\x82\\xd9\\x41\\x54\\x0b\\x42\\x2b\\x37\\xc0\\x75\\x43\\x07\\x2b\\x28\\x66\\xc2\\x09\\xa1\\xfb\\x04\\x7a\\x19\\x0c\\x34\\x5e\\xf8\\xda\\x81\\xfd\\xfb\\x2f\\xbb\\xfb\\x33\\x97\\x75\\x5d\\x8b\\xae\\x73\\x1f\\xf8\\xd5\\x5f\\x91\\xd4\\x34\\xa0\\xc3\\x9d\\xbb\\xf7\\x1b\\x91\\xb0\\xae\\xb9\\xb0\\x2c\\xac\\x6f\\x7c\\x45\\x13\\x96\\xfa\\x16\\x5a\\xff\\x46\\x18\\x07\\x5d\\x0a\\xe5\\xd4\\x40\\xac\\x50\\x9a\\xe4\\x80\\x29\\x60\\x83\\x24\\xd0\\x26\\x9b\\xbb\\xc1\\xdd\\x10\\x4f\\x60\\x02\\x8a\\x65\\x02\\x8a\\x25\\xaf\\x9d\\x6e\\x18\\x84\\x04\\x88\\x27\\x20\\xa0\\xbb\\x3b\\x57\\x95\\x4d\\x99\\x86\\x13\\x08\\x26\\x08\\xa8\\x4b\\x21\\x11\\xb7\\x4c\\x89\\x9e\\xa7\\x11\\xe1\\x9e\\x12\\x31\\xef\\x27\\x68\\xfd\\xce\\xf1\\xf7\\x0c\\x1d\\xd0\\x1e\\x36\\x41\\x8b\\x91\\x31\\xfb\\xc2\\x46\\x9f\\xd1\\x91\\x20\\x1d\\x64\\xba\\x59\\x36\\xfb\\x02\\xbe\\x91\\x12\\x48\\xa6\\x92\\xc8\\xa7\\x4d\\xa5\\x98\\x00\\xc5\\xbb\\xd7\\x97\\x78\\x27\\x13\\xab\\xd9\\x4a\\x1a\\x6e\\x55\\x4d\\x7f\\x58\\xc5\\x60\\x94\\x01\\x78\\xcb\\x1b\\x69\\xba\\xfa\\xe2\\xea\\x26\\x32\\x74\\xc0\\x4d\\xf4\\xf2\\xa3\\xea\\xd5\\x93\\x0a\\x8d\\xa9\\x7f\\x1e\\xaa\\xdf\\x45\\xcf\\xbd\\x41\\x0d\\x4f\\x59\\x71\\x7c\\x7c\\x4f\\x65\\x17\\xe1\\xba\\x63\\xb8\\x8f\\x50\\xdd\\x71\\x33\\xb1\\x56\\x69\\x33\\x07\\xa2\\xc6\\x80\\xd1\\xd9\\x48\\x3a\\xc9\\x4c\\x4b\\x24\\x10\\x0a\\x0c\\x96\\x40\\x2a\\x9d\\x1a\\x2c\\x39\\xf9\\x74\\x9a\\x09\\x85\\xcc\\xc5\\x52\\x88\\xe7\\x3d\\xcb\\x4a\\xbc\\x9b\\x89\\x4f\\x69\\x14\\x85\\x09\\x9e\\x7c\\x2d\\x99\\xfa\\x2e\\x9a\\xbe\\x0e\\xb9\\x66\\x07\\xfd\\x06\\xed\\xa0\\x7b\\xa7\\xa9\\x48\\xd6\\xad\\xa3\\xb6\\x87\\x1e\\x7c\\x86\\x34\\x4c\\x59\\x99\\x3c\\xf6\\x53\\xdd\\x36\\x6a\\xf1\\x0a\\x94\\xe3\\x35\\xd8\\x07\\x5e\\xab\\x64\\x25\\x8b\\x45\\xf6\\x18\\x8d\\xf6\\x38\\x69\\x27\\x9b\\xd2\\x09\\x60\\x96\\xcc\\xa3\\xa5\\x46\\x49\\xb2\\x39\\x43\\x5e\\xb7\\xe0\\x84\\x3b\\xc9\\xef\\xa4\\xa2\\x16\\xbb\\x0d\\x9e\\xcb\\x8c\\xad\\xe2\\x38\\xd5\\x87\\xbe\\x13\\xa4\\x59\\xa9\\x73\\xd3\\xc5\\x39\\x73\\xaa\\x22\\xdd\\x7a\\x69\\x5e\\x83\\xa5\\x39\\x76\\x7f\\xa5\\xb4\\xb5\\x84\\x82\\xda\\x89\\x72\\x3c\\x3e\\x55\\x89\\x6b\\x8d\\x14\\x01\\x11\\x85\\xf6\\x7e\\x06\\xc6\\x5c\\x9d\\x9a\\xb6\\x62\\x2d\\x6d\\x83\\x90\\x36\\x1e\\xd3\\x36\\x08\\x69\\x13\\xff\\x43\\xda\\xc4\\x93\\xd3\\x86\\x05\\xc8\\xce\\xc0\\x02\\x54\\x3b\\x2a\\xf5\\xad\\xaf\\xa0\\xaf\\x13\\x24\\x77\\xe6\\x54\\x65\\xae\\xf5\\x72\\x43\\xf7\\x39\\x5f\\x67\\x16\\x43\\x9f\\x70\\x40\\x89\\x48\\xa6\\x20\\x4f\\x9a\\xc8\\x68\\x0c\\xe0\\x51\\xec\\x3c\\x17\\x0e\\x33\\x30\\xf4\\x86\\x0e\\x13\\xcd\\xc0\\xad\\x58\\x3d\\xbe\\x6a\\x74\\xb1\\x0c\\x2a\\x53\\x5e\\x3f\\x11\\x89\\x36\\x68\\x43\\xbb\\x26\\xe0\\x90\\x68\\x8a\\xf7\\xf5\\x5b\\xd5\\x0f\\x54\\xf5\\x27\\xea\\xb1\\x07\\x26\\xe0\\x8f\\x7c\\xf8\\xe7\\xc7\\x0e\\x40\\xcf\\x03\\x8a\\xe5\\x2b\\xc7\\xd5\\x4f\\x6e\\x05\\x1d\\xbf\\x98\\x80\\x3a\\xf2\\x2b\\xf5\\xd5\\x17\\x5f\\xfb\\x96\\x4f\\xcf\\xff\\xa0\\x3b\\xa5\\xdd\\xd0\\xee\\x85\\xd0\\xba\\x9d\\xac\\x97\\x03\\x2c\\x90\\xc3\\x04\\x34\\x19\\x83\\x25\\xce\\x14\\x08\\xd0\\x26\\x93\\x1d\\xb5\\xf9\\xd1\\x30\\x70\\xa4\\xdd\\x27\\x5b\\x37\\x62\\x7b\\xb8\\x06\\x61\\xa4\\x3c\\x47\\x0f\\xaf\\x59\\xa4\\x52\\x07\\xbf\\xa1\\x5e\\xf4\\xeb\\x9f\\x5c\\x80\\xc0\\x45\\x46\\x2f\\xdf\\xb9\\x61\\xfb\\x9a\\xa5\\xe7\\x80\\x33\\xc0\\xa5\\x8d\\x4f\\x3e\\x04\\xfe\\xfa\\x3f\\x1f\\x63\\x4c\\x91\\xe7\\xdf\\xfc\\xf5\\xb3\\x7b\\x2f\\x1b\\x80\\x1c\\xd6\\x62\\x5d\\xc8\\xd7\\x3d\\x38\\x96\\x40\\xf3\\x0e\\x8d\\x41\\x92\\x14\\x8c\\x36\\xba\\xcc\\x59\\x87\\xcd\\xc6\\x43\\xde\\xf2\\x4e\\x8e\\xe7\\x46\\x4b\\x6e\\x33\\x0f\\xf7\\x07\\x4f\\x31\\xbe\\x7a\\x17\\xa1\\x52\\x21\\x22\\x54\\x4b\\x3f\\xa5\\x49\\x56\\xad\\xda\\xcc\\x8e\\x82\\xdd\\xaa\\xfa\\x33\\x7b\\xa0\\xfa\\xbf\\xf4\\x78\\xee\\x77\\xc3\\xfe\\xd9\\xf4\\xe8\\x1c\\xff\\xf2\\xf7\\xdb\\xea\\x55\\xff\\x7b\\x6f\\x52\\x6b\\xf5\\x76\\x76\\xc7\\xf1\\x2f\\xd4\\xe8\\x7b\\x68\\xfc\\x3d\\xfa\\xdb\\x38\\x4e\\x58\\xa4\\x24\\x27\\xac\\x7d\\xb0\\xb2\\x76\\xb4\\x6a\\x9c\\x66\\xf3\\xd5\\x1f\\xf8\\xd3\\xaf\\x58\\x9c\\x7e\\xc5\\x98\\xd1\\xf4\\xb7\\xb7\\x3f\\xf1\\xf4\\x91\\x7b\\xbb\\x31\\x06\\xc9\\x66\\x14\\x94\\xcf\\x80\\x0a\\x7d\\xae\\xae\\xd0\\xdf\\x7c\\x18\\x99\\xa2\\x72\\x3b\\xfb\\xd8\\x6f\\x75\\x2d\\x86\\x3e\\xf6\\x1a\\xa8\\x0b\\x5f\\x65\\x96\\x38\\x58\\x30\\x84\\x79\\x3f\\x77\\xfc\\x3d\\xf2\\x7d\\x8c\\x1f\\x54\\x52\\x72\\x61\\xc9\\xc4\\x07\\x58\\x13\\x4d\\xc6\\xc9\\x78\\xaa\\x89\\xf1\\x05\\x7d\\xc1\\x62\\x89\\x83\\x7a\\xb2\\xd8\\xb7\\xda\\x77\\xae\\x8f\\xe1\\x28\\x9f\\x8f\\x80\\x4a\\x0e\\x49\\xe1\\xec\\x44\\x6c\\x59\\x89\\x70\\x57\\x5a\\x2a\\x2b\\x37\\xab\\x75\\xe7\\xbb\\x86\\x25\\x84\\xd4\\xa5\\x90\\x47\\x33\\xa6\\x74\\x44\\xa1\\xf2\\xfc\\xa9\\x1e\\x20\\x96\\xf5\\x07\\x75\\x1d\\x82\\x77\\xd4\\xd1\\xf3\\x4e\\x5d\\x3a\\x7a\\xe8\\xdb\\x5b\\xaf\\x2b\\x34\\x04\\x57\\xa5\\x36\\x95\\xce\\x5c\\x79\\xc9\\xc5\\xc3\\xe7\\x5f\\x7d\\xcd\\xe5\\xab\\xe5\\x03\\x2e\\xd0\\xb2\\x78\\xbb\\x8d\\x0d\\x6e\\x5d\\xf6\\xd9\\x4b\\xe5\\x3f\\x7f\\x41\\xf4\\xad\\x3d\\x7d\\x68\\xf5\\xf2\\xd2\\xe2\\x8d\\xab\\xfd\\xbd\\xc1\\x26\\x4d\\xd7\\x9d\\xea\\x5c\\xa6\\x1d\\xf7\\x86\\xcf\\x53\\xe2\\x8e\\x68\\xd4\\x6e\\xf4\\x91\\x3e\\x32\\x91\\x04\\xd1\\x86\\xe8\\x48\\xa9\\xc1\\x81\\xda\\x77\\xa5\\xd0\\xfa\\x92\\x4f\\x72\\xb2\\xb6\\xd1\\x9a\\x58\\x5b\\x0b\\xb8\\xeb\\x92\\xca\\xdd\\x65\\xe5\\xa9\\x4d\\x1a\\x4c\\x7d\\x34\\x32\\xed\\x87\\x86\\xee\\x3f\\x47\\x4f\\x16\\x7c\\x79\\xca\\xee\\x1b\\xd4\\xdc\\xe1\\xff\\xfc\\xcb\\x3b\\x70\\x9a\\xe0\\x28\\xf3\\xa5\\x29\\x4e\\x44\\xdc\\x7b\\xb3\\x98\\xfa\\x11\\xce\\xfb\\xc0\\xf5\\xdb\\xa3\\x51\\x1b\\xeb\\x05\\x5e\\x90\\x6c\\x24\\xe0\\xfa\\x07\\x4b\\x0d\\x70\\x9f\\x36\\xf0\\x62\\x68\\x59\\xc9\\x2b\\xba\\x69\\x18\\x7b\\x1a\\x10\\x80\\xc9\\x89\\xd7\\x2f\\xd4\\xe5\\x07\\xa6\\x3b\\xf1\\xa8\\xd5\\xb7\\x5c\\xaf\\x2c\\xcb\\xfa\\x23\\xed\\x3d\\xbd\\x53\\x1f\\x75\\xd4\\xc6\\xe3\\x17\\x3c\\xf7\\x03\\x94\\x1b\\xb8\\xec\\x6a\\xea\\xf1\\xa9\\x8e\\x39\\x5c\\xfb\\xa0\\x1e\\x66\\x0e\\x32\\x8b\\x61\\x0c\\xd7\\xa1\\xc5\\x74\\x90\\x9e\\x37\\xa9\\x5f\\xc1\\xc7\\x2b\\xf0\\x63\\x72\\xfc\\x6d\\xc3\\x17\\x71\\x2d\\xf1\\x0c\\xfd\\xf1\\x7b\\xcc\\x51\\x54\\x5b\\x45\\x0c\\x63\\xcc\\xee\\x39\\xea\\x1e\\xe2\\xe8\\xf8\\x0f\\x09\\x68\\x1b\\x15\\xa7\\xc0\\xd8\\x6c\\xe6\\xdf\\x00\\x40\\x00\\x05\\x14\\xc1\\x28\\xa0\\x81\\x9d\\xc8\\xbe\\xb2\\x66\\x4d\\x3b\\x0a\\xa8\\xdb\\x5a\\x9d\\x31\\xcd\\xc9\\x0a\\x42\\x27\\x0b\\x29\\x58\\x0e\\xb9\\xbe\\x47\\x37\\x26\\x5a\\x73\\xc9\\x0d\\xb3\\xe7\\x6d\\x5c\\x30\\x5b\\xdd\\x93\\xed\\x6c\\x69\\xe9\\xcc\\xb6\\xad\\x1a\\xb6\\xac\\x5d\\x6b\\x39\\xfd\\x34\\xed\\xee\\x26\\xcd\\x2c\\x05\\x0f\\xb1\\xcf\\x10\\x16\\x42\\x82\\xbe\\x6c\\xa3\\xe2\\x16\\x4d\\x26\\x9e\\xa7\\xc0\\xc3\\xd4\\xfb\\xd4\\x38\\x45\\x51\\x8a\\xc9\\xba\\x80\\xf2\\x47\\x9e\\x04\\x67\\x42\\xde\\xbe\\x92\\x5e\\xb3\\x4d\\x4b\\xfe\\x39\\x2b\\xb3\\xc0\\xa2\\x89\\x42\\xcd\\xcf\\x86\\x9a\\x9f\\xd3\\x2d\\xe1\\x68\\x4b\\x4b\\x34\\xdc\\xf2\\x4e\\xf9\\x87\\xed\\xf0\\x87\\x4c\\x06\\xfe\\xc0\\x6e\\x0d\\x67\\x32\\xda\\x93\\xda\\xf7\\x87\\xf1\\xcf\\xad\\xad\\x98\\xee\\x2d\\xcc\\x52\\xe2\\x06\\xf6\\x38\\x5c\\x93\\xe5\\x51\\x82\\xc5\\x1f\\xfd\\x0a\\xfc\\x48\\x83\\x04\\xff\\xc5\\x0a\\x49\\xf8\\xef\\x86\\x3b\\xe0\\x7f\\x8f\\x5c\\x84\\xbe\\xde\\xc1\\x1e\\x5f\\x59\\xf9\\x4f\\x8b\\x27\\xd7\\x42\\x9a\\x08\\x9d\\xa6\\xa8\\xe2\\x34\\x4d\\x24\\x87\\x17\\x6b\\xc8\\xa9\\xa7\\xa5\\x76\\xfd\\xa3\\x70\\xb5\\xad\\xd9\\x58\\xb8\\x85\\x6c\\x0d\\x87\\x5b\\xb3\\x91\\x68\\x0b\\xbb\\x45\\x5b\\x3e\\x5a\\x2e\\x7a\\xae\\x45\\xe3\\xe1\\x28\\xfc\\xbc\\xef\\xeb\\x9f\\xe7\\x47\\x3c\\xf4\\x52\\x9e\\x13\\x7f\\xe8\\xf3\\xf6\\xe7\\x51\\x0a\\xbe\\xfa\\x59\\x62\\xed\\x1a\\xa0\\xdd\\x03\\x49\\xcc\\x0e\\xc4\\x9a\\x70\\x24\\x8b\\x78\\xf7\\xfd\\xad\\xd5\\x4f\\xd7\\x56\\xd3\\xd2\\x02\\xce\\x53\\xaf\\x87\\xfc\\x5a\\x0a\\xf5\\xe4\\xe6\\xf1\\x87\\x08\\x03\\x61\\xff\\x26\\x45\\xd0\\x76\\x9a\\xa4\\x09\\xa4\\x1b\\x90\\x36\\x34\\x1e\\x59\\x84\\xb6\\x73\\xce\\x8e\\x8d\\x77\\x1e\\x1a\\x5a\\x7d\\xce\\xa6\\x03\\xfb\\x35\\x3c\\xf8\\xb3\\x99\\x55\\xc4\\xad\\xec\\x03\\x70\\xf5\\x96\\x47\\x29\\x80\\x97\\x76\\x0c\\xf1\\x38\\x59\\xb8\\x15\\xfe\\xc7\\x12\\x0f\\x3c\\xf0\\x00\\x9e\\xe1\\xf6\\x3a\\x53\\x04\\x69\\x76\\x1f\\xb4\\xe9\\x61\\xc5\\x2a\\x04\\x08\\x4b\\x00\\xfe\\xe3\\x25\\x20\\xe9\\x72\\x59\\xa3\\x0d\\x62\\xd1\\x87\\x96\\x89\\x2e\\xc9\\xa0\\x27\\xbc\\x2b\\x59\\xc5\\x82\\x4e\\x16\\x34\\x74\\x77\\x06\\xe2\\xdd\\xbe\\x2d\\x43\\xb3\\xb2\\xcb\\xf2\\x8d\\x85\\x30\\x7e\\xb0\\xac\\xaf\\x7d\\x79\\x47\\x73\\x1b\\xdb\\x9d\\x88\\x2b\\xee\\x05\\x89\\x8b\\x67\\x0d\\xe5\\x4f\\xe9\\xce\\xe2\\x07\\xa9\\x0b\\x67\\x0d\\x75\\x2e\\xec\\x6b\\xc2\\xeb\\x78\\x12\\xea\\x04\\xc1\\xee\\x81\\x34\\x3a\\xbf\\x49\\xf1\\xb4\\x8c\\x68\\xd4\\x57\\xd0\\x8e\\xe6\\xbc\\x25\\x62\\x79\\xc8\\xbf\\xad\\xdb\\xce\\xbe\\xfd\\x21\\x66\\xe9\\xea\\xb3\\xb7\\xdc\\x7d\\x7d\\x19\\x07\\x69\\x0f\\x18\\x18\\xff\\x13\\xc1\\x10\\xc6\\x47\\x01\\x0d\\xb9\\x82\\xd3\\xbb\\x85\\x9c\\x01\\x0c\\x5c\\xfb\\xd8\\x63\\xd7\\x3e\\xae\\xee\\x39\\x7c\\xf8\\x30\\xdc\\x79\\x29\\xcc\\xc3\\x7f\\xa2\\xf7\\x27\\x44\\xc5\\x64\\x30\\xd0\\x0a\\x05\\x28\\x01\\x4d\\x3a\\x7b\\x05\\xed\\x31\\x3c\\xf8\\x0a\\x7e\\x46\\x67\\x9e\\xa9\\x11\\xd5\\xcd\\x0f\\xde\\x75\\xe6\\x45\\xe3\\x44\\x59\\x46\\x43\\xd7\\xdc\\xb3\\xe9\\x9c\\xd5\\x9c\\x2e\\x1e\\xed\\xf3\\xa1\\x6e\\x2c\\xd0\\xd7\\x4d\\xe3\\xf1\\x43\\x94\\xb6\\xee\\x63\\x68\\xdd\\xc8\\x75\\x40\\xc3\\xcf\\x1e\\xba\\x7d\\xe3\\x05\\xcc\\xd2\\xeb\\x0e\\x6c\\x39\\x73\\x04\\xcd\\x4a\\xd6\\x5e\\x63\\x67\\xe9\\x9f\\x21\\x7d\\x46\\xb4\\xeb\\xef\\xc1\\x13\\x01\\x85\\xe3\\x2c\\x16\\xfd\\x9d\\x8c\\xda\\x5b\\xb5\\xc3\\xf7\\xc2\\xbb\\xb2\\xfc\\x76\\x91\\x9a\\xb7\\x55\\x17\\x1e\\xba\\xb3\\xf2\\xe6\\xfb\\xef\\x81\\x5f\\xe0\\x7b\\xd2\\x6a\\x92\\x59\\x01\\x7e\\x61\\xb0\\xc3\\x77\\xf4\\xe3\\x5b\\xdb\\xa4\\x22\\x3a\\xf3\\xf9\\x98\\x97\\xa2\\xb2\\xd9\\x54\\x7f\\x6a\\x30\\x45\\xa5\\x4c\\xc5\\x18\\x88\\x11\\xd9\\x35\\xb9\\xe7\\xd7\\x54\\x73\\xe3\\x35\\x9b\\x25\\x09\\x95\\x25\\x51\\x70\\xb9\\x2b\\x01\\x1e\\xa3\\xcf\\xaa\\x99\\x6a\\xb2\\xf0\\x8a\\xf3\\x8b\\x43\\xdb\\x2e\\x28\\xb6\\xb6\\x2c\\x5d\\x54\\xf4\\x8e\\x76\\x35\\xa6\\xba\\x66\\x24\\x13\\x33\\xd4\\xff\\xf5\\x16\\x17\\x2d\\x6d\\x69\\x2b\\x6e\\xdf\\xb6\\xac\\xb8\\x6d\\x14\\x3d\\x85\\x7e\\xc5\\x2e\\x2d\\x6e\\xdf\\x5e\\x1c\\xda\\x2a\\x15\\x17\\x17\\x13\\xbd\\x8d\\x5d\\x5d\\x8d\\xf0\\xff\\xe6\\xae\\x04\\x7c\\x28\\x9d\\xbf\\x6c\\xd9\\xb6\\x6d\\x4b\\xf4\\xe7\\xb4\\xfd\\x1e\\xac\\xa1\\xc5\\xab\\xd8\\xbc\\x59\\xaa\\x9f\\x1a\\x84\\xfb\\xce\\x59\\x34\\x01\\x93\\x4e\\xc0\\x89\\x57\\x3e\\xf5\\xea\\xa6\\x5c\\x06\\xdc\\x3b\\xab\\xa1\\x2e\\x3e\\xc0\\xde\\x8e\\x2a\\xb4\\xe0\\xd6\\xa6\\x69\\x13\\x1a\\x48\\x69\\x2c\\x6b\\x23\\xb4\\xc7\\xf0\\xc3\\xb4\\xcf\\x41\\xc3\\x87\\x44\\xcd\\x4f\\x79\\xe0\\xb4\\xd3\\xa2\\xd2\\x99\\x67\\x9a\\x23\\xad\\x09\\xf6\\xf6\\xf6\\x55\\x1b\\xcd\\x1b\\xc1\\xe2\\x2f\\x71\\x99\\x42\\x3b\\x31\\xd9\\xd6\\xf3\\x14\\xcb\\xfe\\x86\\x01\\x04\\xa3\\x30\\x45\\x66\\x94\\xa1\\x19\\xa7\\xa6\\x87\\x6b\\x34\\x5b\\x8f\\x46\\xb0\\x89\\x31\\xe8\\x43\\xcc\\x04\\xb9\\xb2\\xbf\\x99\\x3b\\x3a\\x77\\xde\\xc6\\xd9\\xf3\\x36\\x24\\x73\\xad\\x89\\x8d\\x1b\\x87\\x87\\x2d\\xab\\x57\\x9b\\x87\\x4f\\x6f\\x6b\\xcb\\xb7\\xb6\\xe6\\xdb\\xe0\\xfb\\x2f\\x50\\x0f\\x12\\xfb\\xc7\\xff\\x1b\\xee\\x03\\xdb\\x13\\x14\\x41\\x02\\xb2\\x6c\\x21\\x24\\x21\\x92\\xcf\\xe5\\xf7\\xab\\x4f\\xbd\\x19\\x53\\xbf\\xbf\\xe9\\x55\\xb4\\x96\\xb5\\x70\\x2d\\xf7\\xd4\\xef\\x19\\x27\\xde\\x33\\xf7\\x5c\\x7b\\xf8\\xf0\\xb5\\x87\\xb5\\x2d\\x03\\xff\\x6e\\x13\\xfc\\xbb\\xc7\\x74\\xbb\\x43\\x13\\x94\\x1d\\xe9\\x36\\x91\\xc5\\x8a\\x5d\\xde\\x2c\\x8f\\x7d\\xfd\\x2b\\x1b\\x77\\x0c\\xed\\x3f\\xb0\\x69\\xd3\\xe9\\x84\\xa6\\xcb\\x70\\x3f\\x2e\\xc0\\xaf\\xe1\\xa1\\xac\\xb0\\x2e\\x6b\\xaf\\xe4\\xe1\\x4b\\x2b\\x8a\\x2c\\xea\\x2f\\x8f\\xe8\\xdf\\xbf\\xfe\\x95\\xb3\\xb6\\x83\\x6f\\x3e\\x78\\xd7\\x59\\xdb\\xd1\\x7b\\x6d\\x1e\\x86\\xfb\\x6c\\xb3\\x76\\x46\\xae\\x87\\x6b\\xb8\\x73\\xfc\\x23\\xf8\\x7e\\xdc\\x61\\x05\\x00\\xc0\\x20\\xb2\\xe0\\x7a\\x99\\x7c\\x21\\x19\\x17\\x0d\\x77\\xaa\\xbf\\xbf\\xe6\\x41\\x20\\xef\\x57\\x1f\\xcb\\x15\\xdd\\xbf\\xcd\\x2d\\xf6\\xc2\\x73\\x16\\xcb\\xef\\x20\\xdc\\x5f\\x06\\xfa\\x35\\xe2\\x20\\xa1\\xad\\x0b\\xee\\x07\\x78\\x1a\\x57\\x74\\xc8\\x99\\xb5\\xf6\\x5b\\x07\\xad\\x94\\xd5\\x5b\\x34\\x00\\x43\\x45\\x87\\xa8\\x13\\x68\\xf8\\xca\\x69\\x54\\x79\\x0a\\xb5\\x85\\x6b\\xd0\\xe5\\x0d\\xf7\\xf8\\x1b\\x98\\x0e\\x78\\x66\\x11\\xf7\\xb0\\x47\\x20\\xcf\\x2d\\x8f\\xd2\\xa0\\x72\\xe6\\xd5\\xb0\\x9d\\x59\\x8a\\xd9\\x8e\\x64\\x09\\xff\\x76\\x3f\\xfb\\x79\\xf8\\xb7\\xc2\\x13\\x48\\xf5\\x28\\x52\\x3f\\x5a\\x10\\xe1\\x15\\x71\\xb2\\x9f\\xc7\\xf2\\x44\\xf6\\x44\\xe3\\x39\\xa4\\xf7\\x47\\xc4\\x63\\x04\\xce\\x2f\\x8f\\x3d\\xc8\\x14\\xa1\\x3d\\xdd\\x07\\x9f\\xfb\\xb1\\xfa\\xba\\xc6\\x83\\xf1\\x99\\xcc\\x7e\\xe2\\xbb\\x06\\x07\\x3e\\xc7\\x44\\xc5\\x22\\x96\\xf7\\x11\\x6f\\xd2\\xac\\x60\\x75\\x9e\\x26\\x3e\\xf6\\x6b\\xf6\\xcf\\x73\\x17\\x14\\x97\\x9d\\xbf\\x75\\x68\\x68\\xdb\\x19\\x88\\xbe\\x19\\x09\\xb8\\x77\\x86\\x8a\\xe7\\x6f\\x5f\\x3a\\xb8\\x63\\xfb\\xb2\\xf2\\xbe\\x21\\xc7\\x1f\\x81\\x34\\x17\\xc7\\xff\\x8e\\xdf\\x5f\\x52\\x38\\x9e\\x10\\x81\\x22\\x1e\\x10\\x49\\xd1\\x44\\xe1\\x0f\\x40\\x87\\xb1\\x61\\x9a\\x43\\xb1\\x88\\x4c\\x2a\\x3a\\x73\\xcb\\x67\\xf1\\xfa\\x48\\x16\\xfe\\x58\\x73\\x14\\x33\\xea\\x4f\\x21\\x9d\\x19\\xfd\\xfd\\xa1\\xe1\\x22\\x7a\\xa0\\x55\\x73\\xe5\\xfc\\xfe\\x6e\\x22\\x02\\x94\\xc8\\x81\\x08\\x19\\xc9\\x40\\xef\\x26\\xc9\\xa3\\x4f\\xc3\\xb8\\xe4\\xaf\\x94\\xdd\\x19\\xe6\\x53\\xb8\\x33\\xf1\\x69\\x9e\\x57\\x7f\\x3a\\xd9\\xcf\\xc9\\x84\\x63\\x99\\x4c\\x2c\\x9c\\x01\\x0b\\xcb\\x4f\\x55\\x7c\\x88\\x51\\xb8\\x66\\xfd\\xb9\\x96\\x5a\\xcf\\xe7\\x7d\\xfd\\xb9\\x0a\\x3d\\x94\\xfa\\x4f\\x48\\x8f\\x1d\\xd2\\x43\\x61\\xad\\x0c\\x2a\\x50\\xd6\\xc0\\x49\\x78\\x81\\xe2\\x3d\\xe0\\x25\\xbd\\x56\\x83\\xce\\x34\\x6c\\x70\\x18\\xe8\\xb7\\x16\\xa6\\xe1\\x9d\\xfa\\x4f\\x30\\xbf\\x0b\\x2e\\x27\\x9b\\x45\\xcb\\xd2\\x97\\x76\\xcf\\x96\\x2d\\x4a\\xf9\\x23\\x75\\x4f\\x83\\xa8\\xf9\\x4c\\x74\\x0e\\xca\\xd0\\x16\\x09\\x2c\\x49\\x52\\x94\\x44\\x04\\x81\\x12\\x3c\\x10\\x24\\x83\\xfa\\x89\\x88\\x3f\\x15\\x1f\\xfa\\xf9\\x18\\xfc\\xe4\\xd8\\xb4\\x9f\\x7d\\xe0\\x3c\\x30\\x7f\\xd3\\x3d\\x13\\x3f\\x5c\\x7d\\x6f\\xfb\\x96\\x2d\\xdb\\x1f\\x9b\\xf4\\xf9\\x00\\xea\\xc8\\x41\\xa8\\x23\\x03\\x50\\x86\\xc6\\x47\\xb1\\x5a\\xd4\\x2b\\x5d\\x45\\x0d\\xd4\\x7f\\xea\\xf2\\x47\\x7a\\x0b\\x5f\\xf3\\xdc\\xf8\\x1c\\x2c\\x77\\xdb\\x61\\xe4\\xc0\\x62\\x09\\x0b\\x13\\x5e\\x5b\\xbb\\xc4\\xe7\\xca\\xe2\\xf8\\x73\\xf9\\xec\\x56\\x3f\\xd4\\x19\\x1f\\xad\\x1e\\xdf\\x04\\x05\\xdf\\x7b\\x0f\\x7c\\xef\\xb2\\x4e\\x41\\x19\\xf8\\x2b\\xca\\x54\\xf3\\x41\\x93\\x75\\x77\\x3a\\x2d\\x7a\\xae\\x25\\xaa\\x7d\\xce\\x9f\\x91\\xf4\\x11\\x05\\x17\\x56\\x34\\x5a\\xfb\\x05\\xfe\\x70\\xf4\\x47\\x0f\\x23\\x0d\\x29\\xfb\\xc4\\xab\\xc7\\xbd\\xc4\\xc1\\xf1\\x7d\\x50\\x17\\xb8\\xc3\\x94\\x01\\x1a\\x3a\\x64\\x93\\xe0\\x47\\x46\\xc4\\xc8\\x41\\xb0\\x40\\x7d\\x72\\xf7\\x26\\xed\\x1c\\x59\\x0d\\x79\\x81\\xfe\\xce\\x40\\x98\\x1f\\x37\\x22\\x33\\x9f\\x5d\\x53\\x15\\x52\\x7e\\x2b\\x58\\xb0\\x59\\x3d\\x78\\xe1\\xa6\\x4d\\x17\\x62\\x5e\\x33\\x3c\\x51\\x64\\x1e\\x86\\xb4\\x39\\x15\\x33\\xb5\\xd7\\xf4\\x88\\x89\\x94\\xb5\\x13\\x73\\xcd\\x44\\xb6\\x97\\x17\\xc6\\x8c\\x68\\x3b\\xb0\\x15\\xd9\\x51\\xfd\\xf5\\xd0\\x86\\xfd\\x03\\xf3\\xca\\x01\\x79\\xf5\\xc1\\xf8\\x07\\x3a\\xaf\\xfc\\x8a\\x55\\xe4\\x79\\xbf\\x5f\\x63\\x96\\xbe\\xc5\\xdb\\x1d\\x58\\x5b\\x6b\\x39\\x22\\x4d\\xf3\\xf3\\xdf\\xcb\\xdb\\xe4\\xae\\xf2\\x87\\x1f\\xa8\\xec\\x21\\x5d\\x71\\x16\\xea\\x8b\\x59\\x50\\xde\\x33\\x90\\x26\\x72\\x1b\\x51\\xa4\\x6c\\x58\\x7f\\x28\\xd3\\x64\\xfd\\x29\\x9b\\x10\\xf2\\xa8\\xa6\\x89\\x19\\xf8\\x9a\\x97\\x21\\xcf\\x0a\\x98\\xb7\\xc6\\x47\\xa1\\x3b\\x81\\x5f\\x83\\xc6\\x4b\\x9c\\xa7\\x1e\\xfc\\xcd\\x6f\\xa0\\x7d\\xbd\\x92\\x3e\\x42\\x7e\\x97\\x59\\x0c\\x7f\\x2f\\x3c\\x41\\x00\\x9a\\x21\\x10\\x2d\\x38\\xb2\\x44\\x05\\xaf\\x62\\xe4\\x4a\\xb2\\x77\\xec\\x79\\x66\\xf1\\xcd\\x98\\xff\\xf4\\x27\\xc4\\x41\\x66\\x23\\xfc\\x13\\x49\\xb1\\x12\\x7b\\x29\\x20\\x43\\x23\\x4a\\x1a\\xa1\\x2f\\x89\\xd8\\x8a\\xf9\\x5a\\x16\\x19\\xb3\\x71\\x33\\x96\\x19\\xf8\\x50\\x1d\\x25\\xaf\\x31\\xfc\\x02\\xbe\\xc6\\x79\\x04\\x8d\\x7b\\x61\\xd0\\xe1\\x9c\\x2d\\x23\\x9d\\x02\\x14\\x0e\\x7c\\x78\\x9b\\x3a\\x6a\\xda\\xf9\\xbf\\x5f\\x24\\x34\\xb9\\x35\\x43\\xbe\\xbf\\x02\\x69\\x14\\x14\\x13\\x25\\x9b\\xf6\\x98\\x1e\\x36\\x51\\x26\\x4d\\x21\\xa6\\x96\\xda\\x67\\xca\\x52\\x23\\x26\\xcb\\x8d\\x84\\x67\\xfd\\xef\\xc1\\x0d\\xd4\\x77\\xb1\\xdc\\x22\\xf0\\x4c\\x26\\x08\\x07\\xcb\\x7a\\xbc\\x3c\\xb4\\xcb\\x4f\\x82\\xf5\\xf0\\x60\\xd1\\xa8\\x2d\\x0f\\x59\\xa9\\xa9\\x6a\\x11\\x6a\\x2b\\x5c\\x6e\\x98\\x9b\\xeb\\x98\\x3b\\xb7\\x23\\x37\\xb7\\xfc\\x7d\\x75\\xdb\\x82\\x05\\x6d\\xb9\\x79\\xf3\\xc8\\xa7\\xd0\\x63\\xf8\\x00\\xad\\x9d\\x95\\x88\\x22\\x3c\\xe7\\x4e\\x26\\x1f\\x76\\x23\\x36\\x0a\\x58\\x3e\\x8f\\xa8\\x9b\\xa0\\x4d\\x30\\x9e\\xdc\\x26\\x3c\\x59\\xb6\\x09\\x80\\xd8\\x07\\x09\\xfb\\x22\\x7d\\x84\\x68\\x26\\x0a\\x0a\\x17\\x27\\x08\\x4f\\x8a\\x6a\\xc9\\x10\\xc9\\xa6\\xe4\\x2c\\x33\\x38\\x8b\\x28\\x11\\x4d\\x60\\x1d\\x61\\x23\\xfc\\xf8\\x67\\x1b\\x18\\xa9\\x4d\\x43\\xe1\\xcc\\x53\\x5b\\x2b\\xdc\\xc1\\xf8\\xfa\\x25\\x89\\x73\\x35\\x3d\\x78\\x82\\xa4\\xf6\\xa1\\x69\\x10\\x85\\x81\\x0e\\x82\\x7e\\x86\\x47\\x7f\\x2e\\x22\\x45\\x5a\\xc0\\x3e\\xb3\\x3d\\xd5\\x28\\x1b\\x85\\xae\\x65\\x8b\\x13\\x01\\xd6\\xe8\\x4c\\xed\\xcc\\x0c\\x79\\xa4\\x76\\x73\\x04\\x44\\x72\\x6a\\xc6\\x11\\x79\\xcc\\x15\\x8d\\xac\\xfc\\xc2\\xaa\\x33\\xbf\\x95\\x5d\\x25\\xcf\\x6c\\x76\\x78\\x1d\\x5c\\xa9\\x65\\xe7\\xca\\x9e\\xeb\\xae\\xeb\\x9c\\x71\\x4b\\x90\\x93\\x8f\\xb4\\x5c\\x00\\xd7\\x8c\\xc6\\xe7\\xbd\\x33\\x7e\\x17\\x61\\x42\\x7b\\x57\\x73\\x3b\\xa0\\x61\\x8f\\x49\\xd0\\xd7\\x2b\\xc0\\x0d\\x0c\\xde\\x39\\xec\\xdc\\x62\\x7f\\x0c\\x3c\\x72\\xec\\x80\\xcb\\x75\\x40\\xd3\\x1d\\x62\\x74\\xfc\\x1d\\x7a\\x1f\\xfd\\x0c\\x71\\x0a\\x31\\x4f\\x71\\x49\\xa9\\x86\\x20\\x61\\x31\\x76\\x07\\x5d\\x99\\xd6\\x94\\x69\\xd1\\x62\\xba\\x67\\x41\\xcf\\x93\\xe0\\x6c\\xc5\\x54\\xca\\xb8\\xba\\x8d\\x74\\xb8\\x63\\xc1\\x93\\x60\\xe4\\xb1\\x08\\x1f\\x7e\\x12\\x52\\xdf\\x9f\\xcb\\x55\\xca\\x29\\x6a\\xd3\\x6d\\x2e\\x34\\x73\\xd7\\xc0\\x1a\\x2a\\x15\\x22\\x89\\x24\\xb0\\xa1\\x6b\\x34\\x09\\x5d\\xa6\\x19\\xa0\\x7b\\xd1\\xae\\x4f\\xff\\xed\\x07\\x49\\x28\\x7b\\x04\\x5b\\x2e\\xb9\\x25\\xd0\\x59\\x88\\x56\\x30\\xb1\\xdd\\xb9\\x42\\xbb\\x9b\\xde\\xe7\\x8f\\x87\\xc2\\xad\\x5f\\x3e\\x1d\\x14\\xfa\\x7d\\x4d\\x9c\\x91\\x94\\xd6\\x8f\\x7d\\xb4\\x50\\x69\\x6a\\xc9\\xa4\\x5d\\xea\\x8b\\x9b\\x33\\xf1\\x4c\\xbc\\xb4\\x24\\x7f\\x55\\x9f\\x2f\\x61\\x36\\x1b\\xf8\\x6b\\x81\\x75\\xcb\\xfd\\x3d\\xf3\\x3a\\x3d\\x2c\\xe9\\x0a\\xae\\xee\\x9c\\x49\\x7d\\xd0\\x1c\\x8d\\xa7\\x3f\\xf3\\x63\\xf5\\xe0\\xdc\\xce\\xe8\\x40\\xab\\x71\\xee\\x3a\\x72\\x4e\\xfb\\x59\\x03\\x99\\xf5\\xb3\\xfa\\xd7\\x67\\x3b\\x13\\xfd\\xad\\xde\\x39\\xab\\xce\\x9d\\x35\\xf7\\xc6\\x42\\xec\\xce\\x85\\xf3\\x22\\x4a\\xb3\\xab\\xe5\\x5e\\xf5\\x17\\x07\\x76\\xf5\\xe4\\x9a\\x97\\x5b\\x04\\xaf\\x48\\xcd\\xd6\\xf8\\xe3\\x47\\x33\\x1f\\xe9\\xc3\\xd0\\x1e\\xe5\\x15\\xb3\\x21\\x08\\xf8\\x20\\x15\\x6f\\x90\\xb8\\xa7\\xb1\\xe0\\x25\\x30\\xf2\\x78\\x14\\x1a\\x49\\xed\\x11\\x40\\x4c\\xa9\\xde\\x1e\\x6b\\x5a\\x90\\x02\\x85\\x08\\xaa\\xfb\\xe9\\x68\\x01\\xb1\\x72\\x37\\x44\\x10\\x40\\xa9\\xb7\\xa3\\x81\\xc7\\x06\\x1b\\x30\\xe4\\xa8\\xe1\\xe3\\xdf\\xcd\\x93\\x2b\\x5c\\x82\\x23\\xdb\\xab\\x9e\\xd2\\xda\\xdd\\xec\\xe6\\x32\\xe0\\x99\\x53\\x17\\xc5\\x6c\\x0e\\x36\\x2b\\x3c\\x70\\xa4\\xff\\x2b\\x37\\xcd\\xd9\\x73\\xa0\\x65\\x6e\\x47\\xcb\\xa9\\x0e\\x67\\x54\\x5e\\xf4\\xd6\\xc1\\xf7\\xcf\\x90\\x96\\xea\\xf8\\x32\\xf0\\xac\\x25\\xd7\\x43\\x3d\\x6d\\x23\\x7a\\x14\\x9b\\x98\\xe1\\x02\\x19\\x82\\xce\\xb5\\x1b\\xb9\\x58\\xcc\\x77\\x14\\xaf\\x2a\\x06\\x95\\x93\\x23\\xac\\xe0\\xac\\xc7\\x4a\\x14\\xa7\\xc9\\xad\\x92\\x93\\xae\\xac\\x52\\xdb\\x93\\x49\\x74\\xbb\\x6d\\x88\\x14\\xd0\\x25\\x36\\xd4\\x5c\\xa1\\x03\\xa1\\x94\\x46\\xf1\\x92\\x45\\x17\\x54\\x60\\x24\\x3f\\x3c\\x09\\x3d\\x04\\xc8\\xf5\\x7e\\xd4\\x96\\x95\\x2c\\xca\\xa7\\x5b\\xd4\\x77\\x3b\\x6e\\xea\\x56\\x82\\x82\\xc1\\x99\\x69\\x92\\x37\\x26\\xdd\\xdc\\x40\\x72\\x89\\x12\\xe1\\x78\\x6e\\x28\\xe9\\xd9\\xd0\\xb2\\x20\\x60\\xbd\\x7d\\x47\\xc7\\x0f\\x92\\x47\\x3a\\x86\\x3b\\x0b\\x9d\\x20\\xb3\\xbc\\xcb\\x7b\\x41\\x7b\\xc9\\x95\\x77\\xb7\\xa6\\xfc\\x33\\x87\\xb6\\x2c\\x7a\\xe5\\x2b\\xcb\\x56\\x42\\x3a\\xbc\\xe3\\x7f\\xa2\\x2e\\x81\\x7c\\x6e\\x22\\x52\\x8a\\xc9\\x65\\x08\\x18\\x08\\xaa\\x39\\x6d\\x3b\\x0a\\xcd\\x47\\x1c\\x7a\\x2c\\x88\\x90\\x78\\x79\\x97\\x55\\x56\\x0d\\x60\\x1c\\xc3\\x6a\\x3b\\x09\\x55\\x3b\\xe7\\x0b\\x9d\\xf9\\x2c\\x80\\xbb\\x0e\\xf3\\x19\\xa9\\x95\\x68\\xc0\\x8c\\x06\\x22\\x7c\\x6b\\xe3\\x59\\xbc\\xcd\\x14\\xd8\\x64\\x71\\x50\\x30\\x46\\x6d\\x9b\\x31\\x76\\x79\\x2e\\x23\\xca\\x56\\x8e\\xcc\\x90\\x77\\xf9\\xc3\\x3c\\xf5\\x2b\\x9b\\x85\\xf4\\x1c\\x5a\\xf1\\xec\\xb3\\x5f\\x0e\\xa0\\xee\\x17\\x6e\\xfe\\xfd\\x7f\\x7d\\x74\\xdd\\x15\\x03\\x73\\x3b\\xe5\\xde\\x84\\x5d\\x0a\\xf3\\xde\\x90\\x16\\x2b\\x6e\\x1c\\xff\\x13\\xcd\\x42\\x7e\\x67\\x88\\xb9\\x44\\xa7\\x62\\xf7\\xb0\\xb9\\x99\\x91\\x99\\x2c\\x41\\xcf\\x9f\\x37\\x7b\\x76\\x93\\xd0\\x85\\x16\\xdc\\x44\\x84\\x74\\x13\\xa1\\x2f\\x18\\x15\\xad\\xd4\\xef\\x10\\xb4\\x6a\\x07\\x5c\\x35\\x6d\\x60\\xb5\\x75\\x77\\xa0\\x9d\\xa0\\xaf\\x5c\\xd3\\x10\\x37\\x5c\\xb9\\x88\\xff\\xd4\\x59\\xa1\\x2e\\xd9\\x81\\xa7\\x60\\xd3\\xac\\x2b\\xeb\\x8b\\x43\\x4d\\x24\\xa9\\x0e\\xd1\\xec\\xa4\\x38\\xbb\\x10\\x6a\\x1f\\x4b\\x41\\xcd\\x71\\xd9\\x1c\\x12\\xf9\\xc7\\xd9\\x63\\x7d\\xbc\\x83\\x76\\x74\\x0c\\xd8\\xdd\\x54\\x98\\xb4\\x77\\x0c\\x08\\xac\\x95\\x7a\\x2d\\x6c\\x4d\\x2c\\xe9\\x7e\\x41\\xfd\\xc7\\xe7\\xd2\\xe9\\x28\\x45\\x92\\x69\\xab\\x57\\xe8\\xd8\\xba\\xeb\\xe8\\xb7\\x63\\xf3\\xcf\\x9a\\x39\\xb7\\x13\\xea\\x96\\x24\\xf0\\x1d\\x6a\\x1f\\x13\\x1a\\x18\\x55\\xdf\\x6e\\x6f\\xce\\x44\\x24\\x9b\\xb2\\xf1\\xed\\xb9\\x3d\\xb3\\xda\\x8c\\x58\\x3e\\x1f\\x82\\x2d\\x90\\x6e\\x99\\x48\\x1c\\x31\\xca\\xb2\\x3d\\x12\\xa6\\x8f\\x42\\x65\\xf2\\x21\\xcd\\x82\\xb4\\xfa\\x6a\\x84\\xd3\\xad\\xab\\x94\\x5e\\x2a\\xac\\x69\\x91\\xbe\\xb5\\x83\\xb8\\xc4\\x05\\x89\\x04\\x6c\\x11\\x0a\\x9c\\x99\\xe1\\xe4\\x74\\x4f\\x6b\\x6b\\xca\\xc5\\x18\\x9c\\xbe\\xbe\\x85\\x7d\\xde\\x61\\xa7\\xaf\\x9b\\xf7\\x51\\x81\\x19\\xed\\xce\\x39\\xb9\\xfc\\x10\\xc7\\x3a\\x2d\\x5e\\x77\\xbe\\x1f\\xeb\\xfa\\xce\\xf1\\x0f\\x80\\x0a\\x75\\x24\\x03\\x75\\xc4\\xea\\xe3\\xa2\\x1c\\x41\\x65\\x5b\\x9c\\x61\\x43\\xda\\xa0\\x6d\\xc0\\x34\\x5e\\x04\\xda\\x80\\xd9\\x5a\\x1d\\x41\\x26\\x08\\x47\\x59\\xd8\\xe4\\xa2\\x55\\x55\\x38\\xde\\x07\\x0a\\x51\\x4d\\x55\\xe0\\xc2\\xe0\\xba\\x80\\x6a\\x33\\x99\\xac\\x6e\\x7f\\x6b\\x9b\\x9d\\x77\\xd9\\x57\\x39\\x6d\\x8c\\xd7\\x60\\x10\\x9a\\xe2\\xdf\\xf2\\x44\\xad\\x7c\\xe6\\x82\\xeb\\xa8\\x3f\\x85\\x67\\xf0\\xee\\xbd\\x23\\x4b\\x5f\\x39\\xb6\\xa0\\xbd\\x51\\x9a\\x6d\\x17\\xd7\\x5c\\x3b\\xff\\x9c\\x73\\x86\\x97\\xad\\x58\\xdd\\xb5\\x3b\\xd9\\xd7\\x60\\x73\\x26\\xe0\\x3a\\xaf\\x82\\x3a\\x92\\x82\\xbc\\xea\\x85\\x36\\xc3\\xe6\\x62\\xe5\\xc6\\xb6\\x46\\x82\\x35\\x32\\x7d\\x33\\xb9\\x18\\x3c\\x0f\\x1f\\xf7\\xb4\\x74\\xb5\\x68\\x0b\\xee\\xaa\\x2c\\xb8\\x3f\\x37\\x59\\x41\\x74\\xfb\\x09\\x19\\x97\\xef\\xa0\\x92\\x48\\x3b\\x90\\x19\\xad\\x3c\\x5d\\xd6\\xf6\\xf2\\x01\\x8a\\x8e\\x12\\x68\\x3b\\xe9\\x94\\xbd\\x2f\\x16\\x4b\\xce\\x75\\xf2\\x16\\x0f\\xd3\\xd0\\x30\\xf6\\xec\\x8c\\x26\\x8b\\x45\\x5a\\x19\\xb2\\xd1\\x0e\\x86\\x51\\x16\\xf5\\xe7\\x7a\\x9b\\x5d\\xf6\\x34\\xf9\\xc7\\xb8\\x87\\x7a\\x33\\x68\\xef\\x3d\\xad\\xf8\\xee\\x7b\\x6b\\xd3\\x0b\\xbb\\x25\\xae\\x23\\xfb\\x19\\xb0\\x7b\\xeb\\x82\\x0d\\xf9\\x05\\x17\\x6f\\x2e\\x7c\\xed\\xe0\\x9c\\xfe\\xc5\\x25\\xa7\\xbd\\xff\\xb3\\xc7\\x7e\\x5f\\xfa\\xf2\\x4a\\xa4\\x1f\\xe1\\x94\\x43\\xd2\\x6c\\xce\\x4a\\xe8\\x63\\x6c\\x82\\x72\\x98\\x49\\x0c\\x2b\\x8e\\x56\\xa2\\xb3\\xd0\\x68\\xb6\\x9b\\x0b\\x04\\xdd\\xdf\\xd7\\xc9\\xcc\\x98\\x91\\xd3\\xec\\xce\\x0c\\x30\\x4a\\x78\\x89\\x06\\x64\\x77\\xbc\\x56\\xfd\\xd0\\xf4\\x42\\x7a\\x19\\xa2\\x19\\xff\\xcc\\x60\\x6b\\x89\\xf3\\xec\\x13\\xcc\\x51\\x99\\x09\\x36\\x40\\x45\\xd0\\x74\\x01\\xb4\\x31\\xca\\x34\\x1a\\x90\\x94\\xf4\\x24\\x0c\\xba\\xf8\\x40\\x1c\\x09\\x01\\x29\\x52\\xae\\x73\\x30\\x24\\x1d\\xf0\\xcf\\x42\\x80\\xde\\x24\\x34\\xad\\x1a\\xf3\\xf3\\xe1\\xa4\\x1c\\xed\\x5f\\x90\\xf5\\xc2\\x7d\\xbe\\x74\\xae\\xc2\\x9b\\x59\\xca\\x10\\xb4\\xf9\\xc3\\x32\\xe7\\x9f\\x4d\\x76\\x2d\\x4c\\xad\\x5e\\xb0\\xe8\\xca\\x95\\x03\\x17\\xde\\xbf\\xa6\\xf7\\xfc\\xd9\\xe4\\x83\\x83\\x9f\\x7b\\x58\\x7d\\x63\\xde\\x65\\x37\\x1f\\xba\\xe0\\x94\\x6b\\xce\\xee\\xef\\xed\\x58\\x62\\x17\\xa3\\xca\\x2c\\xb9\\x8f\\x31\\x89\\x9d\\x37\\x2d\\x6c\\x5f\\xb7\\xf3\\xad\\x1f\\x7d\\xe7\\xf4\\xdd\\xb7\\xdc\\xfa\\x88\\x1f\\x44\\x5e\\xdb\\xf1\\x23\\xcc\\x8b\\x1c\\x99\\x04\\xf7\\xd1\\x8f\\x11\\x51\\xa2\\x41\\x31\\xdb\\x08\\x42\\x6c\\x60\\x42\\xb1\\x90\\x53\\x93\\x6f\\x48\\x93\\x2f\\x24\\xad\\xbc\\x2b\\x80\\x4b\\x9f\\x6b\\xdf\\x0f\\xd0\\x92\\xab\\x06\\xd6\\xad\\x29\\x60\\x08\\x80\\xfb\\x1a\\x4f\\x1f\\xe5\\x4d\\x61\\x93\\x7b\\xee\\x29\\xee\\xac\\x62\\xbb\\xa0\\xd9\\xcd\\x98\\x92\\xc3\\xc5\\x82\\x9f\\xba\\x6e\\xe9\\x05\\x67\\xcc\\x4b\\x19\\x8d\\xac\\x33\\x7f\\x56\\x4f\\x53\\xb3\\x63\\x67\\xdb\\x90\\x99\\x75\\x46\\x1b\\x47\\xd0\\xfe\\x54\\xb7\\x51\\x4b\\xa1\\xce\\x85\\xe1\\xfe\\x34\\x85\\xc3\\x42\\x34\\xc2\\x1c\\x05\\x67\\xc0\\xe3\\xcb\\x86\\x57\\xe2\\x9f\\xb4\\x3f\\xb1\\xf1\\x2c\\x6f\\xd0\\xca\\xd1\\xe4\\xd6\\x2d\\x0f\\xb2\\x99\\x4b\\x8d\\x19\\x87\\xd5\\xc4\\x70\\x81\\xe6\\xb1\\xb7\\xcb\\x5b\\x94\\x94\\xe1\\x1e\\x55\\x7f\\xc1\\xbb\\x5a\\x9d\\x76\\x2f\\x7d\\x77\\x57\\xce\\x55\\xb7\\x4b\\x01\\x11\\x84\\xe7\\xe5\\x6e\\xa8\\x1b\\x61\\xa2\\x5d\\x31\\x9b\\x09\\xca\\x41\\x50\\xd1\\x88\\x9f\\xd7\\x15\\x00\\x2d\\x83\\x22\\x68\\xfc\\x33\\x55\\x51\\x80\\xea\\x66\\xb5\\xc3\\xd3\\x27\\xd2\\xde\\x47\\xe6\\x27\\xae\\x09\\x9f\\x97\\xd4\\xee\\x3b\\xc7\\x7a\\xf3\\xe0\\xb5\\xc1\\x52\\x67\\xa8\\x65\\xed\\x4a\\x75\\x65\\x4b\\x7b\\x93\\x9b\\x31\\xc0\\xc3\\x72\\xc5\\x69\\x73\\xe3\\xe4\\x3e\\x75\\xeb\\x3f\\x8f\\x74\\x6d\\xfc\\xca\\xb6\\x2d\\x5f\\x9b\\x37\\xb7\\x23\\xbb\\x02\\xae\\x2a\\xda\\x72\\xf9\\xab\\x5a\\x5c\\xf3\\xe1\\xf8\\xef\\xa9\\x95\\xec\\x75\\xc4\\x3c\\xe8\\xcf\\x59\\x05\\x8b\\x8f\\xe8\\x8f\\xc5\\x2c\\x04\\xb5\\x60\\x7e\\xdb\\x2c\\x13\\x58\\x0b\\xb9\\xb4\\x9e\\x18\\x20\\xc2\\x78\\x61\\x03\\x65\\x5e\\xf5\\x4f\\x52\\x48\\x03\\x3a\\xfe\\xdc\\xe5\\xb2\\x21\\x78\\x9e\\x15\\xf0\\x5a\\x49\\x6d\\xad\\x05\\x5c\\x32\\x8a\\xdc\\x3d\\x7d\\x80\\xad\\xe6\\xf2\\xe0\\xd7\\x60\\x9e\\x52\\x2b\\xa5\\xd3\\xce\\xb8\\xe9\\x14\\x3f\\xdf\\x12\\x8d\\x67\\xe6\\x9d\\x1a\\x3f\\x6d\\xcd\\x5a\\x99\\x77\\xb7\\x0d\\xaa\\x69\\xe8\\xab\\x84\\x3d\\x52\\xca\\xe7\\x49\\x72\\x66\\xca\\x2e\\xaf\\x8c\\x27\\xb3\\xc9\\x64\\x01\\xbc\\xd9\\x3b\\x37\\x46\\xf9\\x3f\\x7b\\xd1\\xb9\\xfd\\x23\\x03\\x9d\\x3e\\x5b\\x23\\xdf\\x9c\\xcb\\x37\\xcd\\xbf\\x6c\\x76\\xa0\\xd0\\xbb\\x6c\\x78\\x4d\\x72\\x4b\\x9b\\x63\\xc3\\x99\\xcb\\x4e\\x5d\\x24\\x3a\\x45\\x93\\xd0\\x1a\\x0d\\x74\\x24\\x4c\\x16\\xce\\x66\\xf1\\xc8\\x5e\\xd7\\xcc\\x65\\xeb\\xbb\\xbb\\xe3\\x9d\\x0f\\xa1\\x33\\xeb\\x00\\x9a\\xef\\x0c\\x75\\xd4\\x47\\x24\\x91\\x97\\xe0\\x27\\xe2\\x14\\x65\\x25\\xa8\\x54\\x63\\xd8\\x2c\\x9a\\x75\\xc9\\x88\\x58\\x32\\xf1\\x89\\x92\\x99\\xe0\\xda\\x51\\x11\\x0a\\x1e\\x41\\x15\\x93\\x53\\x16\\x8c\\x01\\x8b\\x0b\\x5b\\xa7\\x48\\x27\\xbd\\xd6\\x7e\\x7c\\x23\\x69\\xf4\\xce\\x68\\x88\\xb5\\xf7\\xa6\\xdd\\xd6\\x14\\xb9\\xf0\\x8c\\x65\\x39\\x69\\x6d\\x64\\xf6\\x0a\\x75\\xee\\x29\\xcd\\x66\\xf2\\x25\\x89\\xbc\\xeb\\x2d\\x55\\x21\\x83\\xd7\\xaf\\x18\\x18\\x6c\\x98\\x97\\x6b\\x3e\\xd5\\x26\\x85\\x5b\\x37\\x3d\\x31\\xf6\\x95\\x87\\x16\\x2f\\xde\\xb1\\x7b\\xec\\xa5\\xdb\\xa0\\x1e\\x75\\x8f\\x7f\\x4c\\xaf\\x80\\x7a\\xd4\\x43\\xac\\x50\\x04\\xa7\\x97\\x23\\xe2\\x5e\\x9a\\xa0\\x67\\xf6\\x76\\x04\\xba\\xe9\\x6e\\x9b\\xbe\\xe8\\x6e\\x68\\x63\\x5a\\x88\\x28\\xfe\\xb9\\x05\\xfa\\x62\\x12\\x4d\\x33\\xda\\xce\\xa3\\x6b\\x7c\\xb1\\xb2\\x79\\xe9\\xae\\x23\\x85\\xd4\\x54\\x8d\\xca\\xdb\\x23\\xd0\\x8a\\x40\\x11\\xb1\\x78\\x2b\\x3a\\x90\\x10\\x5b\\x40\\xb2\\xea\\x8b\\x62\\x83\\x63\\x40\\x93\\x59\\x0a\\xf0\\x09\\x07\\xbd\\x42\\xf6\\x8d\\x7d\\x2b\\x0b\\x76\\x45\\x64\\xbf\\x8b\\x53\\x0f\\x9d\\xf2\\xcc\\x97\\xe7\\x73\\xce\\x54\\x70\\xe3\\xe9\\xb4\\xa7\\xb9\\x3f\\x3f\\xa3\\xc1\\x6d\\x64\\xb3\\xb6\\x91\\x21\\x86\\x39\\x67\\x85\\x65\\x89\\xe7\\xb5\\x3f\\x91\\xc4\\x95\\xea\\x7b\\x67\\x3d\\x29\\xb4\\xaf\\xbc\\xb0\\x03\\x1c\\xfd\\xcc\\xdf\\xd5\\x43\\xaf\\xf9\\xc4\\xf4\\x5f\\xc0\\xcd\\xfb\\xcc\\xde\\x86\\x26\\x27\\xb5\\x64\\xa0\\x65\\xa1\\xc5\\x9d\\xe8\\xeb\\x9f\\x17\\x90\\xd6\\x6d\\xee\\x30\\xab\\x8f\\x20\\xbb\\x32\\x53\\xdd\\x00\\x6e\\x85\\xf4\\x37\\x22\\x7f\\x48\\x60\\x02\\x8d\\x0c\\xd5\\x94\\xb2\\x1c\\x05\\x1b\\x88\\x06\\x78\\xd8\\x22\\x12\\x1b\\xa6\\xf0\\x87\\x78\\x80\\xdc\\x05\\x56\\xf3\\x2a\\xfa\\x80\\x53\\x0f\\x41\\x2a\\x5e\\x9c\\x6e\\x3e\\xc1\\xad\\x8d\\xae\\xa0\\x68\\xb0\\xac\\x94\\x8c\\xb4\\x09\\x90\\xbc\\xdb\\x1e\\xec\\x56\\x2e\\x49\\x49\\x36\\x32\\xb9\\x6b\\x56\\x33\\xf5\\x51\\xcf\\xe2\\x64\\xef\\xa6\\xe3\\xfd\\x36\\x9b\\x75\\xa5\\x25\\x7a\\xc6\\xcf\\xc9\\xcb\\x36\\x8e\\xc6\\x83\\xed\\xae\\xe8\\xce\\x96\\xd3\\x1c\\x62\\xb8\\x39\\x87\\xfc\\x4e\\xa8\\x58\\x12\\xb4\\x37\\x29\\x22\\xa7\\x58\\xb8\\x38\\x2d\\xc6\\x09\\x3a\\xdd\\x14\\x74\\xea\\x92\\x09\\xc2\\xc5\\xd1\\xd0\\xc6\\x57\\x65\\x51\\xb7\\xd1\\xa1\\xbf\\x89\\xd9\\xaf\\x9d\\xc2\\x88\\xe5\\x55\\x47\\xd3\\xad\\x59\\x78\\x03\\xda\\x35\\x92\\x9b\\x94\\x82\\x92\\x9a\\xe9\\x00\\xe1\\x48\\x30\\xe4\\x91\\x86\\x32\\x3b\\x1b\\x9d\\xbc\\x3f\\xb1\\x78\\x79\\xa7\\x31\\xdb\\x12\\xf5\\x3f\\xc6\\x9f\\x33\\xe3\\x88\\x6c\\x5d\\xbd\\x3a\\xdf\\x79\\xdd\\x75\\x3d\\x2b\\x77\\x66\\x86\\x43\\x5e\\x47\\x4b\\x8f\\xdc\\xac\\xaa\\x17\\xaf\\xbb\\x66\\x41\\xb7\\xe6\\xb3\\xad\\x1f\\xff\\x3b\\x9d\\x81\\xfa\\x1f\\x80\\xd1\\x1c\\xd4\\xff\\x20\\x91\\x30\\xd8\\xa0\\x7f\\xd9\\x92\\x89\\x59\\x24\\x8b\\xbe\\x60\\x09\\x2f\\x38\\xa5\\x2f\\x78\\xfd\\x34\\xfa\\x4f\\xb2\\x68\\x4a\\x51\\xed\\xa1\\x6b\\xd0\\xb6\\x36\\xda\\x02\\xa4\\xb6\\x05\\x70\\xa1\\x3f\\x9d\\xb9\\xf0\\xcd\\x5b\\x7e\\xfb\\xb7\\xa1\\xb9\\xf3\\xdb\\xf3\\x29\\x89\\x23\\xe3\\x0e\\xb2\\x6d\\xd1\\x8a\\x62\\xd3\\xfa\\x40\\x7e\\x61\\x51\\xbd\\x73\\xd1\\x92\\x27\\x1e\\xda\\xf5\\xd0\\x30\\xb9\\xf5\\x45\\xf5\\xe7\\xd7\\x01\\x2f\\xb0\\x5f\\xf0\\xcb\\x95\\xed\\xfd\\xcd\\x6b\\x6c\\x12\\x2f\\x74\\xde\\xf3\\xd4\\x65\\x2b\\xaf\\x58\\x13\\x5b\\xfa\\xdc\\xa6\\xef\\xbf\\x74\\xe6\\xcb\\xe8\\x8c\\x81\\xfb\\x17\\xf9\\x9c\\x25\\x62\\xbe\\xe2\\x1c\\xa0\\xbb\\x85\\x0e\\x37\\xe7\\x77\\x0b\\xb4\\x91\\x3d\\x7d\\xf8\\x14\\x6f\\xdc\\xfb\\x24\\x3a\\x64\\x57\\xc6\\x61\\x6c\\xf6\\x78\\x8f\\x95\\xb3\\x6a\\x3b\\x80\\xab\\xee\\x80\\xfa\\x8a\\x08\\xdd\\xc3\\x20\\x35\\x57\\x02\\xc9\\x21\\x87\\x75\\x9e\\x44\\x87\\x92\\xee\\x0d\\x55\\x4e\\x23\\xb1\\xd6\\x7d\\xd2\\xe2\\x37\\x5d\\x68\\xfd\\x40\\x93\\x5a\\xa2\\xf6\\xf8\\x82\\xae\\xa9\\x7d\\x8e\\x5b\\x4c\\x58\\x8e\\x7f\\x3e\\xff\\x43\\x56\\x48\\xb5\\xa5\\x64\\xf7\\xf5\\x52\\xc2\\xca\\x1a\\x7a\\x0a\\x5d\\xad\\x5e\\xbb\\xd1\\x6c\\xe2\\xfc\\x62\\xb8\\x3d\\xdd\\xdc\\x06\\x1e\\xf1\\x1a\\x4d\\x33\\x5c\\xa2\\x12\\xcf\\x75\\x27\\x5d\\xac\\x29\\xd3\\x33\\x6b\\x0e\\xcd\\xc6\\x96\\xa8\\xbf\\xfa\\xce\\xe2\\x65\\xcb\\xec\\xde\\xdd\\x81\\x23\\x52\\x6f\\x43\\x6e\\xfd\\xa6\\x4b\\x16\\x0d\\x14\\xbb\\xf6\\xc8\\x5d\\x09\\x0b\\x63\\x4f\\x89\\xd9\\x54\\xbc\\x87\\xe5\\x1a\\x9a\\xfb\\x2e\\x3c\\x7b\\x5f\\x77\\xef\\x6d\\x92\\x7b\\xde\\xdc\\xbe\\x53\\x7f\\xbe\\x68\\xb1\\xb3\\x30\\xb3\\x2b\\xb3\\x9a\\x33\\x4a\\xa1\\x4e\\xcd\\x47\\x51\\x77\\xe2\\xb8\\xad\\x97\\x58\\xa8\\x08\\xa6\\x5e\\xa1\\x31\\xdb\\x28\\xf5\\xd2\\x7d\\x33\\x7d\\x71\\xc6\\xe9\\x84\\xf1\\xeb\\xd9\\x87\\x4b\\x4e\\x67\\x17\\xf3\\x24\\x38\\xe3\\x71\\x5b\\x73\\x57\\xf3\\x24\\x7f\\x0c\\x77\\xc9\\x4d\\x32\\x1a\\x75\\x47\\x26\\x12\\xb6\\x5c\\xf6\\x46\\x12\\x49\\xcd\\xff\\x28\\x9f\\x0c\\xb1\\x7a\\x4f\\xde\\x2d\\x52\\x57\\xda\\xa4\\x18\\xf4\\x2e\\x5d\\x4d\\x39\\xf5\\xc1\\xce\\x52\\x61\\x45\\x7b\\x67\\xc2\\xc9\\x72\\x64\\xaa\\xab\\xbd\\x93\\x65\\x5c\\x82\\xa7\\x38\\xa7\\xa3\\xa5\\xab\\xd9\\xc3\\xd9\\xbd\\xa4\\x7d\\xf5\\x29\\xea\\x73\\x82\\x5d\\xf0\\xd9\\xbc\\xf4\\x1d\\x6d\\x9d\\x9e\\xf8\\xfe\\x6c\\xa3\\x81\\xec\\x6c\\x1b\\x38\\xd7\\x66\\x69\\x69\\x0e\\x37\\x05\\x76\\xcc\\x1b\\x7e\\x7a\\x49\\x6f\\xae\\xe9\\x0c\\x87\\xd3\\xe4\\x1d\\xda\\x8c\\xec\\x05\\x3c\\x77\\x5f\\x80\\x3a\\xde\\x4b\\xac\\x52\\x1c\\x66\\xc2\\xd1\\x48\\xb5\\x34\\x7a\\x09\\xe8\\x73\\x06\\xe2\\x94\\x28\\x46\\xb4\\x28\\x5e\\x14\\xa9\\x02\\x9f\\x2e\\xa4\\x75\\x9d\\x2f\\x4c\\x7d\\x1a\\x57\\xe0\\x61\\x26\\x92\\x5f\\x7f\\x3a\\x63\\x5d\\xaf\\x78\\x63\\xd8\\xfd\\x12\\x35\\xea\\x2b\\xc4\\x57\\x4f\\xee\\x17\\xee\\x1c\\x73\\x75\\x80\\x7f\\x2f\\x3c\\xbd\\x5b\\x6e\\x2f\\x8e\\xa8\\xff\\xcc\\x15\\xe3\\xad\\x91\\xb6\\xae\\x24\\x0c\\x68\\x3b\\x37\\xd0\\xa2\\xdd\\xfb\\xf9\\x7c\\x6b\\x47\\xb3\\xc8\\x18\\xd3\\xe0\\xd9\\xa1\\x12\\x3e\\xcc\\xb7\\xff\\xcf\\x91\\x19\\xe7\\x1e\\xdc\\xb6\\xfd\\xae\\x42\\x64\\x4f\\x5e\\x76\\xe4\\xdb\\xda\\xce\\xf2\\xca\\xd1\\x9c\\x6f\\x9d\\x72\\xe4\\xc0\\x8c\\x5c\\x76\\x2d\\x3c\\xde\\xc3\\x2d\\x7b\\x5f\\x81\\xb4\\x6f\\x55\\x77\\xd1\\x5e\\x28\\xeb\\xf9\\xc4\\x5c\\xc5\\x99\\x97\\xba\\x58\\x5e\\x6a\\x09\\x4a\\xb1\\x20\\xc1\\x32\\x0b\\x17\\xe4\\x67\\xbb\\xa0\\x90\\x8f\\xb0\\xe1\\xae\\xa6\\xd9\\xb3\\xbb\\x34\\x39\\xcf\\x2e\\xcb\\x59\\xc8\\x61\\x51\\x4f\\x1c\\xa1\\x07\\x09\\x42\\x3a\\x6f\\xb0\\xd1\\xc1\\x1a\\x99\\x77\\x56\\xcf\\x77\\xb4\\xf3\\xdd\\x32\\x46\\xc4\\x31\\xe0\\x63\\xaf\\x93\\x28\\x54\\x05\\x8e\\x77\\x0e\\xed\\x75\\x99\\x4c\\x1e\\x57\\x30\\xbd\\xe2\\xd8\\xfd\\xe7\\x36\\x58\\xdd\\x09\\xab\\xc9\\x10\\x48\\xc6\\x7d\\x8d\\xfd\\xdd\\xcd\\x22\\x47\\xcf\\xc9\\xe6\\x15\\xef\\xdc\\x0c\\x37\\x1b\\xcc\\xfd\\x52\\x47\\x5f\\xbb\\xc8\\xf7\\xf4\\x75\\xb6\\xfa\\x69\\x22\\xaa\\xd0\\x8e\\xd4\\xfc\\x57\\x5f\\x7e\\xe4\\xde\\x2f\\x7c\\x24\\xb9\\xec\\x11\\x9b\\x97\\x6a\\xdb\\x70\\xdb\\xa9\\xa7\\xf8\\x9c\\x4e\\x86\\xe9\\x18\\x48\\x9c\\xee\\x4e\\xd1\\x14\\xd9\\x9d\\x69\\xec\\xbc\\xf9\\x1b\\x4b\\x7a\\xce\\xdd\\x02\\xce\\xba\\xb0\\xa7\\x35\\xbb\\xc1\\x66\\x4f\\xb9\\x5b\\x91\\xde\\xb7\\x41\\x3d\\xf8\\x3d\\xb4\\x15\\x8b\\x89\\xd3\\x94\\x20\\xd7\\xe3\\x94\\xf8\\x3e\\x43\\x57\\xd8\\x99\\x0a\\x1b\\x08\\x9e\\x5d\\xba\\x84\\x77\\xc1\\xe7\\x16\\x1a\\x12\\xfd\\x0b\\xfb\\xb1\\xd5\\x68\\x5f\\x78\\x14\\xf2\\xc2\\x49\\xb8\\x30\\x5f\\x9c\\x65\\x25\\x28\\xd7\\x09\\x76\\x6b\\x7d\\xc6\\x35\\x73\\x3d\\x6b\\x22\\x2a\\x1b\\x69\\x28\\x5b\\x10\\x64\\x14\\x12\\x59\\x52\\xb3\\x21\\x48\\x13\\x6a\\x79\\x01\\x4f\\x4f\\x7d\\x82\\x5b\\x21\\x16\\xad\\x7d\\x9e\\xfa\\xbd\\x60\\x32\\x71\\x86\\x40\\x68\\x68\\xc5\\x60\\xe3\\x8b\\xf7\\x34\\x1a\\x8e\\xff\\xb4\\x83\\xec\\x0e\\x7a\\xe5\\xc0\\xc5\\x5f\\xdd\\x16\\x76\\xd1\\x5d\\x9d\\x6d\\x9d\\x4d\\x2e\\x2e\\x95\\x9b\\x3b\\x87\\x76\\x75\\xef\\x5b\\x74\\x75\\x51\\x3e\\xbf\\x59\\xe0\\x7a\\xfb\\x4f\\xe9\\xa6\\x54\\x69\\x3e\\xc7\\x9d\\xbe\\xeb\\xa6\\x91\\x1b\\x2f\\x49\\x73\\x37\\x89\\x47\\xa0\\x03\\x2a\\xb9\\x57\\x9c\\xbf\\xb6\\x3b\\xd9\\xfb\\xa5\\xa4\\x6c\\xef\\xe9\\x4c\\xad\\x87\\x47\\x55\\xae\\xb9\\xfd\\xea\\xc5\\xed\\x73\\xd6\\xdd\\x72\\x58\\xb9\\x30\\xb3\\xda\\xe1\\x6c\\xe8\\x46\\xe7\\xc1\\x4e\\x75\\x17\\xf5\\x36\\xdc\\x2b\\x6d\\x84\\x42\\xf4\\x41\\xef\\xc2\\xea\\x27\\x94\\x19\\x0d\\x33\\x08\\x2b\\x3d\\x30\\xab\\xaf\\xaf\\xd9\\x0e\\x3d\\xc2\\xf5\\x70\\x73\\x9c\\x01\\x8f\\x8b\\x08\\xe6\\x4b\\x73\\xc5\\x23\\xac\\x8d\\xe4\\x2b\\x26\\x81\\x07\\xf5\\x6e\\x21\\xf4\\xed\\x6b\\xbc\\xc2\\xce\\x4a\\x1e\\x82\\xd4\\x95\\x09\\xea\\x12\\xce\\x4e\\x50\\x6f\\xdb\\xe5\\xc4\\xbc\\x6d\\x67\\xf4\\xfb\\xb8\\x36\\x39\\x96\\x3d\\x7b\\x5b\\xdf\\xfa\\xd5\\xb2\\xe8\\x9b\\x31\\x53\\x65\\xd3\\xf9\\xb4\\xc3\\x4a\\xb5\\x92\\x83\\x9d\\x73\\xbd\\xf6\\xb1\\x38\\x34\\x05\\xa2\\xdd\\x3c\\xc7\\x68\\xa6\\xfc\\x97\\x6c\\xce\\xf6\\xb6\\x2f\\xec\\xeb\\x69\\x97\\xa1\\x3b\\x98\\x6b\\xee\\x4c\\x9d\\x76\\xfd\\x29\\x8d\\xfd\\xcb\\x4a\\xa7\\x37\\x6d\\xcc\\xb9\\x66\\xb5\\x76\\x2e\\xb7\\x7b\\x03\\x99\\x55\\xd7\\x7e\\xb2\\x47\\xf2\\xd9\\x82\\x41\\xea\\xc7\\x4e\\x21\\xcf\\x6b\\xf1\\x3b\\x8e\\x0f\\xfe\\xbf\\xe2\\xf7\\xa9\\xc3\\x03\\x7b\\x61\\xca\\xe8\\x60\\xd8\\xe5\\xeb\\x42\\x11\\xfc\\xe4\\xd8\\x60\\x29\\x41\\x30\\xb7\\xc3\\x7d\\x3a\\x4a\\x0c\\x29\\xd2\\x20\\x31\\xab\\x79\\x9e\\x31\\x95\\xb0\\xd8\\x2d\\xa9\\x66\\x82\\x59\\xbf\\x6e\\x68\\x56\\xb3\\x4d\\xb2\\x41\\xad\\x7c\\xbc\\xb4\\xb6\\x53\\x42\\x87\\x59\\x6a\\x9e\\x71\\x9e\\xb6\\x61\\x8d\\x35\\x87\\xd9\\x34\\xe3\\x45\\x10\\x6f\\xa1\\x83\\x0e\\x3d\\x54\\x6c\\x7f\\xcb\\x31\\xb1\\xb6\\x49\\xcb\\x1a\\x0b\\x7f\\x74\\x48\\x9d\\x05\\x67\\x79\\x0f\\xd7\\xff\\xda\\xc0\\x5a\\x40\\x04\\xee\\x72\\x2d\\x36\\xab\\x7a\\xf2\\x50\\xb6\\x32\\x70\\x33\\xb7\\xcf\\x3a\\x2d\\xbf\\xb2\\xf7\\x8b\\x63\\xc3\\xa3\\x7e\\x97\\x74\\x5e\\x9b\\x64\\x9c\\xd7\\xd6\\xde\\xee\\x34\\xb2\\x94\\x24\\x4a\\x6e\\xfb\\xec\\xb6\\xa6\\x0b\\x7f\\xd0\\xd1\\x9d\\x93\\xb8\\x81\\xb6\\xce\\x0e\\x11\\x72\\xc6\\xe4\\x93\\xdd\\xe9\\xcb\\xfe\\x0b\\x3c\\xb5\\x5c\\x5e\\x79\\x46\\x67\\x2c\\x28\\x04\\x3a\\x3a\\x03\\x4d\\x1c\\xe7\\x91\\xf2\\x23\\x34\\xd1\\xba\\xe7\\xfc\\x81\\x07\\xef\\x50\\xef\\x23\\x73\\x0f\\xa4\\x7b\\x16\\xb5\\x38\\xcf\\x6b\\x5e\\xe2\\xc8\\x51\\x24\\xd5\\x98\\x69\\x28\\xd2\\x6e\\x6f\\x57\\xd7\\x79\\xea\\xd5\\x77\\xaf\\xfd\\x37\\x78\\xdc\\xd0\\xdd\\xd6\\xb2\\xc6\\x95\\x66\\x19\\xaa\\x25\\x17\\x5b\\xc2\\xd9\\xd2\\x67\\xa8\\x1f\\xa9\\x77\\xde\\xb5\\xf8\\xa5\\x4b\\x66\\xa5\\xda\\x9c\\x76\\x91\\xb5\\x76\\x76\\x44\\x7b\\xe3\\x6e\\xab\\x97\\xb1\\x8a\\xf8\\xec\\x4b\\x8f\\xbf\\x47\\x2f\\x80\\xfa\\xdd\\x05\\xfd\\x05\\x9b\\x95\\x70\\x35\\x04\\xd3\\x0d\\x04\\x3d\\xa3\\xdb\\x1b\\x32\\xa0\\xfc\\x83\\xa3\\x31\\xd7\\xa8\\x9f\\x00\\x39\\x28\\xf6\\xa0\\x9e\\xae\\x0a\\xd6\\x9e\\x00\\x08\\xc2\\xb8\\xee\\xe4\\xb3\\xd1\\x48\\x19\\x0a\\x9d\\x9a\\x3a\\x94\\xbd\\x01\\xd6\\x10\\x2b\\xe4\\xda\\xf3\\xc9\\x89\\x47\\x1e\\xd6\\x76\\x7a\\x01\\xe0\\x4c\\xd1\\x46\\x0b\\x6b\\x66\\xa4\\xf0\\xec\\x53\\xd5\\x15\\xfb\\xe6\\x99\\xf8\\x88\\x5b\\xcd\\xaf\\x96\\x4d\\xed\\x73\\x97\\xf6\\xb4\\xf5\\x65\\x44\\x2e\\x45\\xae\\x5c\\x5f\\x6c\\x76\\x91\\x33\\x6f\\x7a\\xe2\\xae\\xa6\\xb8\\xcf\\xc8\\x36\\xdf\\x00\\xce\\xbe\\xf3\\xa1\\x25\\x5f\\xfd\\xee\\x7d\\x0f\\x78\\x1b\\x05\\xe7\\xd6\\x8e\\x23\\x5e\\xf9\\xb3\\xd7\\xee\\xf9\\xf1\\x39\\x73\\xf2\\x2d\\xcb\\x61\\xa0\\x90\\xdd\\xf1\\x22\\xda\\xc3\\x65\\x7d\\x0e\\x11\\x7d\\x44\\xa7\\x62\\x35\\x86\\xfa\\x60\\xc4\\x64\\x0f\\xd1\\x4a\\x3f\\x1d\\x7b\\x12\\xac\\x7b\\xdc\\xda\\xdc\\xdd\\x8c\\x2d\\x9c\\xaf\\xfb\\x49\\xa4\\xdb\\xb9\\xc9\\x69\\x96\\x13\\x66\\xa8\\xa0\\x93\\x7c\\x92\\x04\\x56\\x75\\x03\\xf4\\x65\\xdb\\xa0\\xfe\\x1b\\x9d\\xbe\\xfe\\x33\\xbb\\x55\\x79\\xea\\xb4\\x56\\x75\\x53\\xcc\\x6d\\x6f\\x3f\\x15\\x6f\\x8a\\xdc\\x69\\xc7\\x77\\x4e\\x93\\xed\\x42\\xb3\\x28\\x3f\\xa4\\x56\\x42\\xfa\\x82\\xd0\\x46\\x75\\x2b\\x82\\x31\\x18\\x6a\\xce\\x35\\x27\\xec\\x41\\x66\\x20\\xd6\\x3b\\x8b\\x6b\\xa3\\x9f\\x86\\xd2\\xea\\x25\\xda\\x30\\x85\\xbd\\x3a\\x85\\x84\\x26\\xb5\\xee\\x93\\x90\\x58\\xa1\\x90\\x39\\x69\\x32\\x82\\x5a\\x69\\x2f\\x58\\x4c\\x8c\\x25\\x94\\xe9\\x6b\\x69\\x4d\\xba\\xac\\x1a\\x89\\xc5\\xe9\\x32\\x14\\x15\\x2a\\xdb\\xdc\\x73\\x72\\xd9\\x55\\x0e\\x4c\\xe4\\xd0\\xb4\\x59\\x0b\\x24\\xc7\\x1c\\x99\\xa4\\x76\\x42\\x5d\\x8d\\xc1\\xc8\\xbc\\x5b\\x71\\xf3\\x44\\x43\\x7b\\x77\\x7b\\xb3\\x9b\\x30\\xb1\\x0b\\xe6\\xb3\\xa9\\xd4\\xc0\\x7c\\x67\\x61\\xa0\\x80\\x05\\x29\\x0f\\x54\\x05\\x89\\x27\\xe0\\xd5\\xeb\\x27\\x75\\x62\\x4a\\x3e\\x05\\xad\\x3b\\xdd\\x99\\x55\\x4b\\x2d\\x06\\x9d\\xae\\x01\\xae\\x4a\\x97\\x9a\\x9d\\x3e\\x27\\xd3\\x33\\xbc\\xf8\\xd4\\x8e\\x98\\x6d\\x32\\x79\\xa7\\x9e\\x80\\x6e\\x68\\x0b\\xc9\\xfd\\xe0\\x2a\\x7a\\x0b\\x21\\x12\\xee\\x23\\x16\\x82\\x90\\xdc\\x46\\x27\\x26\\xef\\x58\\xe5\\xda\\x0e\\x7a\\x16\\x94\\x26\\xb3\\x42\\xa7\\x03\\x86\\x71\\x28\\x3d\\x79\\x95\\x6d\\xc1\\xca\\x9c\\xd3\\x15\\x33\\x59\\x18\\xf7\\x3e\\x8f\\xd1\\x21\\xf6\\x06\\xe8\\xd5\\x82\\xef\\xda\\x7b\\x4a\\x92\\xd5\\x68\\x34\\x67\\x40\\x4c\\x11\\xdc\\x98\\xaf\\xf0\\xfd\\xc9\\x67\\xf0\\xfb\\xa7\\xd1\\x9d\\x9c\\x85\\x70\\x47\\x88\\x48\\xa6\\xd9\\x18\\x72\\xa6\\x34\\x36\\x1e\\x6b\\xaf\\xb4\\x1e\\x4e\\xfd\\x61\\xcc\\x14\\xcf\\x91\\xcf\\xd8\\x0b\\xf3\\x17\\x4b\\x52\\xc4\\x64\\xb1\\x89\\x3b\\x7d\\x46\\xa7\\xab\\x2f\\xa0\\xbe\\x3a\\xd5\\xa2\\x6c\\xc1\\x2d\\x57\\x5d\\x1d\\xb2\\x1a\\x2d\\xa1\\x66\\x60\\x9c\\xeb\\x10\\x85\\xfa\\x55\\x3a\\x44\\xb8\\x46\\x12\\xc6\\x35\\x24\\xf5\\x18\\xc1\\x13\\x0e\\xe8\\xad\\xc0\\x03\\x8f\\xe3\\x0c\\x82\\xcd\\xce\\xf3\\x76\\x03\\x6d\\xa0\\x5d\\x4e\\xab\\x4d\\xb0\\x15\\x4b\\x0e\\x41\\x20\\xed\\x2c\\xc3\\x1b\\x38\\x8e\\xe6\\x49\\x7e\\xb0\\x64\\x26\\xeb\\x5b\\x42\\x73\\xd5\\xf9\\xf1\\x65\\x04\\x0b\\xcd\\x71\\x41\\xde\\x4a\\x1c\\x37\\x82\\xe6\\xb4\\x86\\xd0\\x64\\xc4\\xe0\\xa4\\x22\\x60\\x48\\x7d\\x64\\x13\\xe8\\xbd\\x13\\xcc\\xdf\\xa9\\x0e\\x5f\\xba\\x52\\x7d\\xf8\\xb4\\xb1\\x2f\\x01\\x4f\\x06\\x35\\x2c\\x9c\\x7b\\xfc\\x26\\x1f\\xfc\\xfe\\x7f\\xff\\x47\\xfe\\x58\\xdd\\x85\\xf9\\x88\\xee\\x53\\x7f\\x4d\\x1d\\x82\\xfa\\x99\\x20\\xf6\\x2b\\xcb\\x12\\x54\\x9c\\x8e\\x03\\x9b\\x14\\x71\\x05\\x02\\x66\\x40\\x9b\\x4c\\x20\\x42\\x35\\x26\\xe3\\x66\\x33\\x67\\x77\\x72\\xce\\x62\\x29\\x41\\x15\\x4b\\x2e\\x7f\\xb1\\x14\\x36\\x24\\xa0\\xab\\xb5\\x35\\x01\\x78\\x97\\xec\\x1a\\x74\\x8d\\xb8\\xb6\\xba\\x18\\x8e\\x4a\\xb8\\x12\\x2e\\x03\\xc7\\xcb\\x01\\x13\\xc0\\xcd\\xad\\xb1\\x6a\\x73\\xab\\xe6\\x88\\x76\\x67\\xb3\\x3a\\x12\\xaa\\x80\\xe6\\x55\\x6b\\x6d\\x52\\x42\\xdd\\x59\\xa7\\xfb\\x64\\x98\\xb6\\x42\\x3e\\x66\\xd0\\x3a\\x5d\\x51\\xd9\\xb1\\xde\\x75\\x5e\\xc8\\x09\\xb1\\x64\\x4c\\xc8\\xb5\\xa3\\xd9\\x3a\\x11\\xa7\\x40\\x81\\x77\\xcf\\x56\\x3f\\x77\\x8e\\xfa\\xc3\\x51\\xf0\\xc4\\x16\\xf2\\x93\\x7e\\xdf\\xea\\x0b\\x3e\\xf7\\x0b\\x7f\\x5f\\x9f\\xef\\x97\\xf7\\x5e\\xb1\\xa2\\xb1\\xdf\\x32\\xe6\\x3b\\xfb\\x27\\x19\\xef\\xc7\\x9f\\x78\\x10\\x03\\xe2\\xae\\xcc\\x3f\\x6f\\x31\\xaa\\xdf\\x38\\x4f\\x7d\\xed\\x7c\\xf5\\x2e\\xd3\\x21\\xf5\\x23\\x70\\x1d\\xf8\\x9c\\x7a\\x29\\xae\\x53\\xd5\\xb1\\x8a\\x31\\x12\\xc9\\x4c\\x62\\x8b\\xd2\\xdb\\xd3\\x26\\x49\\xc4\\x8c\\x19\\x79\\xa3\\x9c\\x72\\xa4\\x1c\\x7d\\xfd\\xfe\\x42\\xa2\\x50\\x2c\\x49\\x3d\\x4d\\x3d\\xc5\\x52\\x1b\\xdf\\x24\\x37\\x65\\x9b\\x46\\x9a\\xb6\\x36\\x31\\x76\\xaa\\xa9\\x89\\x6b\\x88\\xca\\x09\\x77\\x9a\\xe1\\x98\\x65\\x25\\xbb\\x8d\\xb3\\x13\\xfa\\x49\\x8e\\x41\\xe9\\xb4\\x81\\xd6\\x93\\xd1\\x02\\x72\\xdd\\x15\\x28\\x12\\x1c\\x74\\xc0\\x00\\x2b\\x8f\\xef\\x0b\\xe1\\xc6\\x45\\xa5\\xe4\\xbc\\x16\\x6f\\x43\\x4a\\xf5\\x81\\xc2\\xa8\\x87\\x05\\x44\\x0d\\xa8\\x3b\\x0c\\x67\\x3e\\x00\\x2e\\x02\\x73\\x93\\x6b\\x73\\xe7\\x96\\x3a\\x6f\\x6c\\x6d\\xbf\\x73\\xf9\\x1f\\x57\\x5f\\xf7\\xdd\\x7f\\x0c\\xdd\\x7c\\xdb\\x35\\xf3\\x4f\\xd9\\xb0\\x3c\\xda\\x75\\xcf\\xae\\xfb\\xe7\\xad\\xba\\xf3\\xe1\\x47\\xa9\\x9b\\x2e\\xb8\\xdc\\xe4\\xd8\\x77\\xc5\\xba\\xb1\\xde\\x91\\xd3\\xd4\\x5b\\x4f\\x03\\xbf\\x1c\\xde\\xb9\\x73\\xa6\\xc3\\xd2\\x15\\xce\\x5c\\x7e\\xb9\\xfa\\xe7\\x33\\x2f\\xe9\\xa1\\xe9\\x1b\\xd6\\xad\\xce\\x5e\\x78\\x2c\\x76\\xca\\xd2\\x1f\\xff\\x60\\x08\\xec\\x99\\x23\\x8c\\xb6\\x1e\\xa0\\xc9\\x75\\xe7\\x3d\\x72\\xfc\\x9d\\x1b\\x9f\\xfc\\xfa\\x57\\x89\\x32\\x8e\\x1f\\x75\\x39\\xd4\\x17\\x89\\x08\\x13\\x29\\xe2\\x6c\\xa5\\xd7\\x0f\\x35\\x30\\x1c\\xb6\\x89\\xb4\\x99\\x36\\xa7\\x9b\\x64\\x12\\x77\\x2e\\x46\\x24\\xde\\x2a\\x5b\\x07\\xad\\x23\\xd6\\xad\\x56\\xa8\\x17\\x56\\xab\\x51\\x10\\x52\\xc5\\x12\\x02\\xa8\\x17\\x78\\x63\\xb8\\x58\\x32\\x9a\\x07\\x4b\\x08\\x88\\x3b\\xad\\x57\\xa2\\x97\\x3b\\x02\\x72\\x53\\x0d\\xb2\\xc0\\x4d\\xdd\\xb1\\x0a\\xa0\\x84\\x0e\\x2f\\x80\\x93\\x28\\x40\\x07\\x9d\\xf0\\x56\\x00\\x3d\\xa9\\xcb\\xcf\\x3f\\xff\\xd8\\x1f\\xd5\\xd3\\x2e\\x83\\xff\\x81\\xeb\\xff\\xfb\\x9b\\xe7\\xab\\x7f\\xb8\\x61\\xd7\\xe5\\xb7\\x6f\\xda\\x74\\xf1\\x96\\xad\\x97\\x6e\\x24\\xb9\\x62\\x7e\\xcf\\x35\\xbb\\x32\\x5e\\x70\\x51\\x11\\x0c\\x7b\\x33\\xe7\\x5d\\xb8\\x6f\\x86\\x3a\\x7f\\xe5\\x19\\x23\\xcb\\xd4\\x5b\\xc0\\x53\\xc5\\xd1\\xe2\\x12\\x68\\xbb\\x5a\\xc6\\xdf\\xa3\\xce\\x87\\x7a\\xe0\\x23\\x5a\\x14\\x89\\xa7\\x8c\\x12\\x25\\xf9\\x03\\x0c\\xc2\\x3c\\x61\\xec\\x12\\x41\\x38\\x06\\xb5\\x5e\\x86\\x0a\\xe0\\x53\\xc5\\xcc\\x30\\xd1\\x86\\xbc\\x3d\\xd2\\x2e\\x83\\xda\\x5e\\x17\\x28\\x3c\\xe8\\xb8\\x91\\x9e\\x3f\\xa9\\x63\\xe0\\x6f\\x37\\x3c\\x4a\\xcf\\xf4\\x8e\\x7e\\xfe\\xd0\\x9d\\xf7\\xdd\\xb9\\x6c\\x6f\\x43\\xb8\\x87\\x1e\\x7c\\xc6\\xa5\\xbe\\x03\\xfe\\x37\\xf1\\xee\\x97\\xbb\\x5e\\xfb\\xe5\\x0f\\x7e\\x12\\xf3\\xdd\\xf1\\x2f\\xa8\\x73\\x24\\x11\\x1f\\x1f\\xa3\\x7e\\x0f\\xf9\\x6c\\x82\\x9c\\xee\\x52\\x64\\xc6\\x45\\x58\\x5d\\x56\\x8f\\x17\\xf7\\xfb\\xd2\\x50\\x07\\x79\\x34\\x0a\\x1e\\x72\\x93\\x81\\x5c\\x75\\xe0\\x5d\\x56\\x6d\\xbc\\xae\\x9a\\x3d\\x8c\\xc7\\x81\\x16\\x01\\xc2\\x34\\x62\\x5f\\x3c\\x86\\x7b\\x9f\\xa8\\xf6\\x17\\x9e\\xde\\xb4\\x61\\xe9\\xbd\\x37\\xa8\\xdf\\x00\\x14\\x00\\x1f\\xfd\\x43\\xfd\\xf0\\x65\\xc8\\xad\\x5f\\x3f\\xfd\\xfc\\xf1\\x8f\\x98\\x97\\xc8\\x9b\\xff\\xf8\\xee\\xdf\\x3f\\xa0\\xb4\\xfe\\x26\\xa2\\x66\\x2d\\x82\\x36\\xe5\\x5d\\x46\\x3d\\xed\\x66\\x1f\\x65\\xa6\\xc2\\x11\\x17\\x16\\xb7\\x3c\\x59\\xda\\xa1\\xb2\\xb4\\x25\\x33\\x92\\xb5\\x41\\x2c\\x96\\x0c\\xc6\\x09\\xeb\\x2c\\xcb\\xbc\\xae\\xed\\x4e\\x07\\xcf\\xa8\\x59\\xaf\\x26\\x6f\\xa8\\x01\\x82\\xbb\\x2c\\x64\\x01\\xfc\\xa6\\x66\\xe1\\x97\\x5d\\x46\\xf2\\xef\\x21\\x72\\x20\\x55\\xd4\\x21\\x7d\\xf1\\xba\\x80\\xd5\\xd1\\xa2\\x7a\\x0b\\xf3\\xd2\\x8b\\x4f\\x3f\\xaf\\x3e\\xaa\\xcf\\xab\\xa7\\x9a\\xf1\\x3c\\xc9\\xd5\\x4a\\x9e\\x73\\xb9\\x78\\x16\\xea\\x8e\\x37\\x10\\x44\\xc6\\x8d\\xe7\\x64\\x6e\\x90\\x1b\\xe1\\xb6\\x72\\x90\\x0a\\x8e\\xf3\\xd3\\x92\\x0b\\xf8\\xc1\\x60\\xc9\\x2f\\x1a\\x2d\\xa8\\x81\\x82\\x26\\x07\\x4b\\x34\\x4f\\xf4\\x97\\x49\\x10\\x88\\x29\\x46\\x5f\\x74\\xe3\\xf5\\xf7\\x6b\\x1d\\xe2\\x53\\x9a\\xac\\x38\\x5c\\xef\\x6b\\xd8\\x4c\\xfd\\xd2\\x57\\x63\\xa6\\x68\\x8d\\xe1\\x13\\xcc\\x13\\x5a\\x33\\xc6\\x0c\\xc6\\x7d\\x37\\xab\\x95\\x8e\\x46\\x87\\x14\\x8f\\x3b\\x64\\xca\\x68\\xa3\\x8c\\x54\\xaa\\xe9\\xff\\x91\\xf6\\x1e\\x70\\x52\\x95\\xe7\\xfe\\xf8\\x79\\x4f\\x99\\x3e\\x73\\xda\\x9c\\xe9\\x7d\\x76\\x67\\xb6\\xcc\\xb6\\x99\\xad\\x6c\\x3b\\x2c\\xdb\\x80\\x85\\xad\\x94\\xa1\\x2e\\x4a\\x93\\x0e\\xb2\\x80\\x74\\x04\\x44\\x54\\x04\\x45\\x82\\x41\\x63\\xd7\\x60\\xa2\\x26\\x2a\\x22\\x37\\xe6\\xda\\xa2\\x49\\xae\\xc6\\x44\\xa3\\xf9\\x59\\xa2\\x37\\xcd\\x5c\\x73\\x13\\x4d\\x62\\x34\\xcd\\xb0\\x87\\xff\\xfb\\xbe\\xe7\\x4c\\x5b\\xc0\\x7b\\xef\\xe7\\x1f\\xc2\\xee\\x0c\\xee\\xce\\x79\\x9e\\xe7\\x7d\\xfa\\xfb\\x3e\\xdf\\x97\\x50\\x31\\x82\\x59\\x31\\x28\\xf6\\x8b\\x8b\\xc5\\xf5\\x22\\xf3\\xbf\\x46\\x09\\xce\\xbf\\x05\\x08\\xcf\\x0b\\xff\\x6f\\xc1\\x81\\xff\\x27\\x10\\xe0\\x2f\\x47\\xfc\\x55\\x7b\\x96\\xe5\\x4a\\x17\\x29\\xc0\\x75\\x30\\xc3\\x08\\x3e\\x49\\xf6\\xeb\\x44\\x91\\xb0\\x58\\x1c\\x4e\\x74\\x15\\x44\\x7f\\x9a\\x65\\x8d\\xd4\\x70\\x1a\\xd6\\xce\\x16\\xb1\\x3f\\x6d\\xc9\\x40\\x3b\\x55\\xe5\\xb5\\x2c\\x33\\x87\\x6d\\xf2\\x67\\x13\\xc4\\x2c\\xa8\\xc0\\x8b\\x72\\x45\\x42\\x96\\x13\\x15\\xb2\\xe9\\x5e\\xf0\\xd1\\x3d\\x07\\x95\\x27\\xd4\\x77\\x32\\xd8\\xa1\\x42\\x74\\x6a\\xf7\\x0f\\x72\\x17\\xfe\\x42\\xd6\\x43\\x1a\\x44\\xa2\\x4c\\x96\\x60\\x6e\\x2a\\x4a\\x76\\x13\\x3f\\x90\\xb6\\x9a\\x1c\\x2a\\xd0\\x28\\x42\\x19\\xcd\\xb7\\x72\\x3e\\x85\\x91\\x8d\\xd4\\x91\\xc1\\xcc\\x9c\\x0f\\x94\\x55\\x1d\\x30\\xdf\\x0a\\xfe\\xfd\\xba\\xce\\xb1\\xa9\\xf3\\xa7\\x34\\x84\\xbc\\xb5\\xb3\\x34\\x20\\xd0\\x57\\x57\\xde\\x34\\xdd\\xf3\\xca\\x76\\xef\\x36\\x55\\xef\\x68\\x09\\x3e\\xcb\\x0d\\xd7\\xb0\\x52\\x67\\xb7\\x0b\\x56\\xbd\\x85\\xb7\\x5a\\xdc\\x36\\xb7\\xcd\\xe3\\xb5\\xdb\\xdc\\x4e\\x77\\x7f\\x5a\\xd4\\x09\\x56\\x9d\\x95\\x74\\x4a\\xbc\\x64\\xd1\\xeb\\x55\\x1a\\x8c\\x18\\xea\\x34\\x9b\\x0c\\xb4\\x6b\\x73\\xa9\\x05\\x5e\\xf2\\x12\\xe8\\xb7\\x59\\xe4\\xf6\\x2c\\x72\\xb8\\x8a\\x62\\xfa\\xc0\\x15\\x40\\x1e\\x53\\x7e\\x04\\x0e\\xaf\\xfe\\xa7\\xf2\\xd5\\xb5\\x7b\\x94\\x45\\xbb\\x54\\x5a\\x95\\x25\\xe0\\x6b\\x18\\xee\\xfb\\x4d\\xc5\\xe8\\xac\\x00\\x3f\\x4d\\xab\\x17\\xe7\\xab\\xfb\\xa1\\x3e\\xcd\\x66\\x9c\\x78\\x96\\x5b\\x10\\xf4\\x14\\xe5\\x74\\xb9\\xad\\x06\\x93\\x01\\x1a\\x36\\xcd\\xdb\\x68\\x1b\\xcb\\xc0\\x3f\\xc0\\xc4\\x3a\\x01\\x80\\xca\\x08\\xa8\\xfe\\x34\\x90\\xb2\\x76\\x82\\xc3\\x7e\\x1e\\xdd\\xf9\\x13\\x82\\x18\\x95\\x4c\\x9f\\x1d\\xc8\\x6c\\xc0\\xd0\\x41\\xc8\\x4a\\x82\\xe3\\xba\\x5d\\xd7\\x5d\\xb7\\x0b\\xdc\\xbd\\xf3\\xc7\\x3f\\xfe\\xf6\\xce\\x99\\xe5\\xed\\xd0\\xa2\\x03\\x33\\x07\\x66\\x82\\x27\\x30\\xb9\\x8f\\x6d\\x1b\\xd8\\xa6\\x1c\\xb5\\xbc\\x88\\xe9\\xab\\x82\\xb2\\xfd\\x25\\xa4\\xcf\\x45\\x5c\\x21\\xa7\\xa0\\xf6\\xf3\\x1c\\xcd\\xd8\\x6c\\xb4\\xcb\\xe8\\x32\\xba\\x3d\\x41\\x84\\x6d\\x0a\\xa0\\x51\\xd8\\x8c\\x2e\\x87\\x0b\\xaa\\x93\\x43\\xa2\\x79\\x89\\x15\\x04\\xd2\\x80\\x05\\xcc\\x64\\x05\\xcc\\xab\\xe9\\x56\\x7b\\x1e\\x84\\x6c\\x21\\x8e\\x5a\\x56\\xc2\\xda\\xfd\\x0f\\x52\\xc1\\xcd\\x16\\xf7\\xe5\\xee\\x7f\\xd8\\xa4\\xec\\xc9\\x5d\\x0b\\x81\\x04\\x9c\\xb9\\xf9\\x01\\x03\\xc2\\xe6\\xdd\\x0a\\xa1\\x61\\x6e\\x21\\x6c\\x5c\\xec\\x93\\x16\\xcb\\x49\\x9d\\xc3\\xe1\\xd5\\x8b\\xa2\\xcd\\x6b\\xf3\\xf9\\x09\\x3f\\xe7\\xaf\\xf6\\x53\\x36\\x0a\\xfe\\xa3\\x86\\x89\\xcb\\xbb\\x61\\xd4\\xd3\\x93\\x06\\xab\\x55\\x03\\xc3\\xcd\\xd7\\x0f\\x3e\\x83\\x71\\xa3\\x5e\\x78\\x9b\\x05\\x82\\xcb\\x76\\xfe\\xbe\\x0c\\xfe\\xf6\\x92\\x30\\xb7\\x5f\\x0e\\x69\\x9b\\xc1\\x20\\xc5\\xf7\\x3b\\xa8\\x33\\x82\\x2d\\xf0\\xfd\\x6e\\x1c\\x3b\\xab\\x64\\xa7\\x48\\x5b\\x5c\\xb4\\xcb\\xeb\\x13\\x1d\\x0e\\x18\\x0b\\x1c\\x1c\\x61\\x84\\x0e\\x14\\xc5\\xce\\x64\\xbe\\x29\\x67\\x83\\x67\\x6e\\xce\\xac\\x4e\\xbd\\x7c\\x2b\\xda\\x50\\x9f\\x0a\\xf1\\x76\\x1a\\xdc\\x36\\xe3\\x99\\x3e\\xba\\x39\\x54\\xb4\\x77\\x10\\x06\\xce\\x47\\x0e\\x8d\\xba\\x5b\\xe9\\xc7\\x8f\\x83\\x4f\\x94\\xf3\\x76\\x97\\xe3\\xb3\\x3b\\x3c\\xd1\\x9f\\xbe\\xf2\\xce\\x1b\\x8d\\x37\\xff\\x21\\xa6\\x98\\x7e\\xab\\xa8\\xfe\\xa5\\x8d\\x70\\xd1\\x4e\\x6a\\x27\\x61\\x82\\x8f\\x8b\\xc9\\x82\\xcd\\x60\\x27\\x0d\\xa4\\xd3\\xc5\\xf0\\xc3\\x69\\x86\\x30\\x0f\\xa7\\x09\\x02\\xb9\\x93\\xaa\\x82\\x68\\x19\\xca\\x1e\\xd7\\x73\\x66\\x82\\x37\\x24\\x84\\x2c\\x01\\x7f\\x52\\x3e\\xfd\\xd3\\xbf\\xfe\\xfe\\xd9\\x3b\\x2f\\x7e\\xe7\\x97\\x1f\\x7e\\xf7\\x25\\x6a\\x27\\x42\\x77\\x7d\\xf7\\xfd\\x9f\\xbd\\x77\\x66\\xf7\\x75\\xfb\\xc7\\xb6\\xee\\x3b\\xb0\\x57\\x5d\\xc7\\x49\\x44\\x33\\x2d\\x52\\xbb\\x10\\x96\\xa8\\x2c\\xb0\\x26\\x91\\x26\\xdc\\x22\\x0c\\x2d\\x0e\\xfd\\x70\\x1a\\x16\\x2d\\x2c\\x51\\x95\\xaa\\xca\\x3e\\x30\\x85\\x9d\\x49\\x31\\x3e\\xa9\\xa1\\xe5\\x0a\\x41\\x20\\xe1\\x96\\x8c\\x80\\x3d\\x9a\\x9e\\x22\\xf3\\x53\\x02\\xe5\\xb7\\x5f\\x9c\\x8f\\xf5\\x4e\\xcc\\x1d\\xa6\\x7e\\x04\\xa8\\x7f\\x7c\\x7e\\xcb\\x19\\x35\\x37\\x03\\x84\\x40\\x0f\\x53\\x07\\x60\\xb5\\xe1\\x21\\x22\\xc4\\x2c\\xb9\\xca\\xe1\\x97\\x02\\x74\\xc8\\xe5\\x32\\x86\\x04\\x8e\\x30\\xe9\\xa1\\x55\\x30\\xb6\\x68\\x91\\x14\\x70\\xf8\\x69\\xaf\\x68\\xf1\\x42\\x29\\x70\\x7a\\x13\\x4d\\x1a\\x2d\\xa4\\x38\\x9c\\x16\\xd0\\xc9\\x4e\\x24\\x13\\xf5\\xd0\\x9b\\x40\\x38\\xf3\\xa1\\x17\\x60\\x58\\x86\\xdf\\x21\\xc5\\x3a\\x75\\x2b\\x38\\x5e\\xe7\\xc4\\x6b\\x03\\xf3\\xf3\\xe2\\x64\\x03\\x40\\xf4\\x8b\\x11\\x3d\\xda\\x33\\x89\\x51\\xf7\\xee\\xba\\x40\\xfc\\xe9\\x5f\\xf2\\x35\\x8f\\xed\\xf9\\x1b\\xf8\\x53\\xf3\\x8e\\xf1\\x37\\xee\\x9d\\x3f\\xfe\\xec\\xc8\\x77\\x7e\\x79\\x7c\\x21\\xd9\\xd9\\xf7\\xd2\\x2d\\x5b\\xdf\\x79\\xff\\xc4\\xb2\\x91\\x95\\x3b\\xc6\\x94\\xde\\x5b\\x96\\xcc\\x5e\\xf3\\x5d\\x3f\\x38\\xd1\\xb6\\x73\\xff\\x18\\x38\\x1f\\x54\\x56\\xb7\\x6c\\xc6\\xc2\\xc4\\x38\\xbf\\xcc\\x1e\\xa8\\x47\\x3e\\x98\\x65\\x56\\xa3\\xfb\\x61\\x2b\\xe3\\x44\\x05\\xe1\\x0d\\x09\\x5e\\xa1\\x26\\xe9\\x2f\\x73\\x97\\x0d\\xa4\\x7d\\x95\\xf0\\xaf\\xcf\\xec\\x94\\xdc\\x0e\\x36\\x0a\\x43\\x20\\x67\\x35\\x9b\\xe9\\xc1\\x2c\\x20\\xab\\xba\\x33\\x9a\\xca\\x02\\x98\\xe5\\x0f\\xf6\\xab\\x09\\x77\\xac\\x20\\xdf\\xd6\\x4e\\x5d\\xa0\\x81\\xe5\\x3a\\x90\\x09\\x7b\\x7e\\x18\\x14\\xc3\\x5a\\x8e\\xbd\\xf6\\xfa\\xc3\\xa9\\x1b\\xcb\\xab\\xee\\x99\\xf9\\xde\\x92\\x2b\\x7f\\xfc\\xc2\\x8b\\x2f\\xfd\\xe0\\x87\\x57\\x2e\\x7e\\x49\\x39\\x4d\\x3d\\xb6\\x6e\\xc9\\x15\\x6b\\x37\\xae\\x22\\x57\\x2b\\xae\\xd1\\x65\\xca\\x2d\\xc3\\xe0\\x1d\\xe1\\x87\\xdf\\xc4\\x99\\xf5\\xfe\\xfd\\xe3\\x7f\\xf9\\xd3\\xbf\\xae\\xbf\\x1e\\x9c\\x1a\\x52\\x96\\x3e\\xf3\\x8b\\x5f\\x3e\\xff\\xc3\\x77\\xbc\\x3f\\x38\\x77\\xfa\\x81\\x6f\\xdf\\x89\\x75\\xb4\\x01\\xdd\\x6d\\x02\\x79\\x8c\\x12\\x09\\x62\\xbb\\xdc\\x5d\\xc6\\xea\\x7c\\x46\\x5f\\x88\\x12\\xa4\\x58\\x8c\\x22\\x5c\\x12\\xcd\\x1a\\x59\\x63\\x45\\xa5\\x4e\\x10\\x02\\x25\\x81\\x92\\x81\\xb4\\xcb\\x0d\\xff\\xba\\x08\\x36\\xd0\\x1f\\x58\\x1c\\x38\\x1a\\xb8\\x3b\\xf0\\xad\\x80\\xce\\x40\\x05\\x02\\x16\\xc2\\x52\\x34\\x00\\xfd\\x1a\\x01\\x85\\x40\\x70\\x13\\xd1\\x8b\\x55\\xf6\\xf3\\x11\\x35\\x9d\\x4d\\x6a\\x7f\\x21\\x89\\xbf\\xaa\\x71\\x5f\\x83\\x3d\\xc9\\xec\\xee\\xe0\\xfe\\x61\\x83\\x13\\xf5\\x13\\xd1\\x69\\xc6\\x58\\x9c\\x82\\x5f\\xa3\\x11\\xb8\\xc8\\xe0\\xad\\xd3\\x77\\x2d\\x1a\\x5e\\x39\\xf6\\x83\\x17\\x5e\\xf8\\xfe\\xd8\\xb2\\x59\\xf3\\xee\\xbb\\x1f\\x0c\\x75\\x3f\\xf6\\x58\\xf7\\x90\\xe3\\x9d\\x77\\xde\\x59\\x4b\\xbd\\x6c\\xde\\xb4\\xad\\x6f\\x4b\\xc8\\xb5\\x63\\xd6\\x8d\\x47\\x6f\\xbe\\x69\\xe1\\x56\\xbb\\x6f\\x6d\\xcf\\xf2\\xa5\\xe6\\x41\\x5b\\x57\\xe3\\x23\\xcf\\xf5\\xce\\x62\\xcf\\xff\\xf0\\xfb\\x67\\xcf\\xae\\x5c\\xa4\\xcd\\x9a\\x83\\x77\\x30\\x96\\xb3\\x15\\x5a\\x28\\x0f\\x08\\x42\\x6f\\x30\\xd8\\x58\\x90\\x07\\xab\\x4b\\xb8\\xb8\\x97\\x92\\x79\\xd1\\x1e\\x44\\x55\\x5b\\x89\\xaa\\x20\\x7b\\x4f\\x40\\xfb\\x3b\\xb0\\xf9\\x0c\\xc2\\x59\\x06\\xef\\xbc\\xf7\\xbd\\xef\\xfe\\xea\\xd3\\xf3\\xff\\xc8\\xcc\\xb0\\x3f\\x01\\xde\\x21\\x2c\\x30\\xae\\x8b\\x16\\x82\\xd0\\x31\\x8c\\xd5\\x46\\x10\\x16\\x86\\x24\\x8d\\x59\\x80\\x67\\xf8\\xc9\\x4d\\x55\\xf9\\x9f\\x8d\\xc1\\x9c\\x53\\xaa\\xd5\\xab\\x00\\xce\\x67\\x90\\x69\\x83\\x77\\x14\\xfb\\xf8\\x9f\\x7e\\xfd\\xcc\\x4b\\xef\\x12\\x1a\\xae\\x3d\\xb5\\x12\\xfa\\x6a\\x03\\xb4\\x31\\x84\\x89\\xe4\\x76\\x5b\\x68\\xbb\\xc5\\xee\\xf5\\x11\\x2e\\x84\\x12\\x6c\\x52\\x71\\x12\\xd1\\x1d\\x5d\\xac\\x1b\\xe3\\x24\\x9a\\xa4\\xff\\x01\\x13\\x29\\x93\\x6b\\x89\\x1a\\x2e\\x81\\xba\\x2b\\x89\\xd0\\x13\\x41\\xef\\xb2\\x5b\\xb6\\x6c\\x3d\\xb6\\xec\\x0e\\xa5\\x63\\xd7\\x2e\\x70\\xf2\\xce\\xef\\xcc\\xfe\\x8f\\x5f\\x6e\\xbd\\x03\\xfc\\x79\\x70\\xf1\\x92\\xf9\\xe7\\x1f\\x50\\xd3\\xc5\\x86\\xcd\\xcb\\xaf\\xbd\\x46\\x79\\xc8\\x8d\\x68\\xd3\\x41\\xda\\x0e\\x43\\xda\\xec\\xd0\\x6a\\x16\\xc8\\xd5\\x04\\x45\\xb9\\xed\\xb4\\x4f\\x10\\x68\\xbd\\x55\\x6f\\xf5\\x07\\x68\\xbb\\xd7\\x3e\\x90\\xf6\\x7a\\x39\\x23\\x4c\\xd1\\x05\\x0e\\x96\\x31\\x9c\\x64\\x74\\x0c\\xa4\\xd1\\xad\\x26\\x46\\x16\\x05\\xec\\xcc\\x59\\x25\\x42\\x85\\x29\\x29\\xb8\\x42\\x41\\x4b\\x32\\x54\\x6c\\x79\\x98\\x96\\xa3\\x1e\\x33\\x57\\x0a\\xb2\\x51\\x24\\x2a\\x62\\x2f\\xd6\\x0c\\x7e\\xff\\xe1\\xe0\\x2f\\x96\\xae\\x07\\x37\\x83\\xdb\\x77\\xed\\x52\\xae\\xd8\\x71\\xeb\\xad\\xcb\\xb7\\xaf\\x7f\\x6f\\xac\\xc2\\x09\\xd6\\x39\\x0f\\x8c\\x12\\x17\\xb4\\x20\\xe2\\x81\\xc1\\xf2\\x87\\xf3\\xd3\\x2f\\x4d\\xa4\\x7b\\xb6\\x5c\\x69\\xd2\\xeb\\x5d\\x66\\x9d\\xc5\\xe7\\xd3\\x51\\x22\\x25\\xfa\\x03\\x7a\\x41\\xcd\\x0a\\xcd\\x90\\x56\\x9d\\xd9\\x0c\\x60\\x76\\xc8\\x02\\x2f\\x4c\\x33\\xc4\\x4c\\x9a\\xa1\\xed\\x5c\\xa8\\xb5\\x05\\x7f\\x29\\x8a\\x4b\\x01\\x9e\\x2b\\xa7\\x60\\xc6\\x26\\xa6\\xb2\\x90\\xa7\\x58\\xa3\\x9b\\x01\\x75\\x58\\x59\\xa9\\x6c\\x5a\\xbf\\xf4\\x17\\x83\\x1f\\xfe\\xfe\\xd6\\x1d\\xe0\\x2e\\x48\\xf7\\x07\\x63\\xef\\xc1\\x6a\\x91\\xb8\\x30\\x7a\\x00\\xd1\\x5d\\xa1\\xac\\x01\\x33\\x3c\\x6a\\xfc\\x03\\x77\\xbc\\x94\\x9e\\xaf\\xea\\x6f\\x00\\xd2\\xbd\\x04\\xe7\\x8f\\x0d\\xb2\\x4f\\x6f\\x01\\x16\\x81\\xb2\\x4b\\xa4\\x20\\x88\\x3a\\x9b\\x68\\x1b\\x48\\x8b\\xac\\x7e\\xa2\\x06\\x68\\x59\\x46\\xee\\x44\\x83\\x36\\xab\\xaf\\x89\\x10\\xcf\\xef\\x53\\x4b\\xd0\\x84\\x7e\\xec\\x3a\\x65\\xca\\x2d\\xc5\\x78\\x62\\xff\\x11\\x7c\\xcd\\xfc\\x27\\x18\\x71\\x02\\x5f\\x3b\\x4f\\xe0\\xf3\\x23\\x1f\\xe3\\x7c\\xd2\\x45\\xa4\\x64\\xb7\\x4d\\x2f\\x02\\x3d\\x70\\x7b\\xec\\x56\\x02\\x27\\x65\\x0e\\x13\\x4b\\x73\\x83\\x59\\x7c\\x86\\x89\\x17\\x8d\\x65\\x06\\xbd\\x73\\x48\\xb0\\x59\\x14\\x2b\\xea\\x9e\\xe7\\x9e\\x7a\\xee\\xd9\\x2d\\xe0\\x96\\xb1\\xff\\xda\\x77\\x60\\x27\\x18\\xa4\\x96\\x8f\\xbf\\xf7\\x8d\\x6f\\x7c\\xf3\\x0e\\xb2\\x16\\xe7\\x01\\x6f\\x7f\\xba\\xe3\\x6a\\x32\\x91\\xc3\\x62\\xf8\\x35\\xf5\\x5b\\xea\\x01\\x18\\x61\\x93\\xb2\\xcb\\xe0\\xa0\\xad\\x56\\x0b\\xc9\\x39\\x38\\xa7\\x4b\\x74\\x0c\\xa5\\x45\\x2b\\x63\\x60\\x86\\xd2\\x06\\xa2\\x4a\\x4b\\xde\\x33\\x81\\x2f\\xa3\\xf7\\x68\\x9f\\x3d\\xac\\x8f\\xf2\\x61\\x58\\x1d\\x61\\xe7\\x53\\x0a\\xe0\\x3b\\xf2\\xe5\\x47\\x82\\xe3\\x6e\\x77\\x05\\x4a\\x3c\\xfa\\xe2\\x4d\\xca\\xc7\\xe3\\xa7\\xdc\\x15\\x80\\xb8\\x67\\xe7\\x9a\\x9b\\x41\\x6a\\xab\\xf2\\x47\\x43\\xcf\\x77\\xda\\xff\\xbc\\x0d\\x20\\xd1\\x13\\x75\\x17\\x7e\\xcd\\x84\\xf1\\xf3\\x23\\x44\\x25\\xd1\\x2f\\xc7\\x3c\\xb1\\x58\\x48\\xa3\\xc3\\x91\\xe0\\x12\\x5c\\x55\\xb5\\xdf\\x19\\x2d\\x75\\x96\\x1a\\xc4\\xcb\\x50\\x44\\x68\\x76\\x98\\x6d\\x37\\xe4\\xa9\\xcc\\x65\\x08\\xa4\\x92\\xb9\\x8d\\x30\\x31\\xef\\x35\\x0d\\x2e\\x41\\xf8\\x0f\\x27\\x60\\x50\\x5e\\x82\\x11\\xf0\\xbd\\x8b\\xd1\\x2d\\x31\\xa6\\xe3\\xdb\\xd4\\xef\\xe9\\x97\\x89\\x24\\xcc\\xb9\\xe3\\xe5\\x41\\x36\\x26\\x49\\xc6\\x12\\xe8\\xca\\x74\\x14\\x0c\\x0a\\xa9\\x5a\\x8f\\x3f\\xe2\\x1f\\x4a\\x47\\x22\\x95\\xd6\\xd2\\xca\\xa1\\x34\\x51\\x6a\\x15\\x86\\xd2\\x56\\x35\\xa5\\x49\\xe5\\xe1\\x7c\\xe5\\x92\\x8d\\xcc\\x9f\\x89\\xfe\\x3e\\xac\\x8f\\xf3\\x41\\x10\\xc6\\x47\\xd6\\xe3\\xea\\xdb\\x94\\x33\\x8c\\x07\\x93\\x11\\xef\\xf0\\x35\\xe4\\x9e\\x3a\\x58\\x5d\\x57\\xdb\\x54\\xde\\x71\\xd3\\x0d\\xe3\\x27\\x71\\x02\\x38\\xe7\\x51\\x83\\xc9\\x4a\\xd7\\x4f\\x1e\\xff\\x0a\\x7e\\x3b\\x77\\x38\\xed\\x47\\xbc\\xab\\x2e\\x89\\xfa\\xc6\\x9c\\xfb\\x27\\x75\\x6d\\xf6\\xcf\\xf8\\x49\\xe7\\x96\\xed\\xd7\\x00\\xf0\\x4d\\x70\\xd3\\x3d\\x9e\\xae\\xae\\x76\\x89\\x3f\\x02\\xc0\\xbf\\xdf\\x38\\x6b\\x56\\xfa\\xda\\x23\\xe0\\x1b\\x5b\\xb7\\x2a\\x9f\\xa0\\xd9\\x3b\\xa8\\xc7\\x04\\x9e\\xe9\\x4f\\x5f\\x3c\\xe3\\x0f\\xdf\\x37\\xc0\\x85\\x1e\\xc1\\xef\\x17\\x12\\xb9\\x5a\\xf8\\x11\\xe8\\x29\\x66\\xca\\x25\\x4e\\x8b\\xcd\\xe1\\xb0\\x88\\x14\\x65\\xf4\\x50\\x1e\\x7f\\xc0\\xea\\x74\\xa2\\x0b\\x9a\\x9c\\x76\\xc2\\x61\\xb3\\x23\\x03\\xb4\\xb3\\x84\\xae\\x00\\x78\\xe2\\xa2\\x9b\\x61\\x32\\x77\\xe0\\xaa\\x37\\xc3\\x64\\x0a\\xdf\\xe8\\x84\\x5b\\x61\\x74\\xa0\\x53\\xab\\x76\\x4f\\xec\\x04\\x60\\xe9\\xed\\x2b\\xcb\\x1b\\xc8\\x1b\\x94\\xcf\\xb6\\x9d\\xf8\\xb9\\x5d\\x2d\\x72\\x17\\xac\\xab\\x03\\x3d\\x0e\\x68\\x9a\\x75\\xca\\xc3\\xfc\\x89\\x55\\x37\\xdd\\x8e\\x69\\x6d\\x85\\xb4\\x7e\\x0a\\xe3\\x5b\\x9c\\x98\\x2c\\x87\\x03\\x3c\\xe5\\x61\\x8a\\x4d\\x4e\\x27\\x43\\x51\\x25\\xa5\\x01\\x13\\xc1\\xdb\\xed\\xd6\\x81\\xb4\\x9d\\x83\\x11\\x25\\x3c\\x90\\xd7\\x51\\xd2\\xc0\\xbd\\x34\\x1f\\x91\\x59\\x34\\x06\\x67\\x5d\\x59\\xc0\\xab\\x5c\\x39\\xae\\x97\\xf4\\xb6\\xbc\\x2e\\x21\\x78\\xef\\xbb\\x6f\\x7d\\x91\\x9a\\x7b\\xc5\\x86\\xf5\\xcb\\xa6\\x47\\x3b\\x6e\\x3e\\x8c\\xde\\xa5\\x97\\xac\\xb9\\x1a\\xbf\\xb3\\xef\\x58\\xff\\x6c\\x70\\x23\\x63\\xec\\x1f\\x1e\\xec\\xab\\x79\\x40\\x29\\xcf\\xbe\\xed\\x9f\\x89\\xde\\x22\\x9a\\xd1\\x5d\\x67\\x7f\\xc5\\x3d\\xd0\\x26\\xd9\\xeb\\xf4\\x5b\\x4a\\x2c\\x25\\xe5\\x89\\x10\\x63\\xb7\\x1b\\x3d\\x5c\\x11\\x87\\xb0\\x5f\\xe2\\x16\\x0b\\x61\\x74\\x10\\xd9\\x7b\\xf3\\xf0\\x01\\x83\\xbc\\x62\\x14\\xd1\\x0a\\x75\\x49\\x9f\\x57\\x20\\xb7\\x81\\x06\\x6d\\x47\\x12\\xf7\\x0f\\x70\\x8e\\x8f\\xa9\\xa5\\x16\\xb5\\xf4\\xb4\\xd5\\x4d\\x2b\\xaf\\xdd\\xb1\\x7c\\x8e\\x5c\\x15\\x0f\\x25\\xea\\x7b\\x3b\\xea\\x76\\x2c\\xb9\\x6b\\xf7\\xf6\\xfb\\x16\\xef\\x71\\xd6\\x5c\\xd9\\x97\\x08\\xc5\\xab\\x64\\x3b\\x17\\xa9\\x59\\xd6\\x3c\\xb5\\x53\\x7c\\x65\\xbd\\xdd\\xd3\\x3c\\x78\\xe8\\x95\\x05\\x07\\x4e\\x7f\\xfd\\xe0\\x82\\x97\\x8e\\x84\\x7a\\xdb\\xec\\xeb\\x5f\\x11\\x33\\x7d\\x1d\\x84\\x81\\xca\\x42\\x5f\\x1c\\x80\\x51\\x82\\xe0\\x78\\x82\\x07\\x1c\\x65\\x83\\x1a\\x61\\x63\\xa0\\x7c\\x6d\\xac\\xce\\x6c\\x34\\xc3\\x48\\x97\\x43\\x8a\\x2e\\x2f\\xcf\\x55\\x48\\x59\\x54\\xd3\\x2c\\x3e\\x90\\x06\\x5f\\x7a\\x4a\\x99\\x92\\x85\\x2b\\xfe\\x24\\xa3\\xe2\\x2a\\x06\\x21\\x1a\\x14\\x27\\xa8\\xe7\\x05\\x1d\\x39\\xb3\\xa0\\x8e\\x13\\x89\\x2e\\xb9\\xd8\\x26\\x9a\\x75\\xa2\\xce\\x2e\\x11\\x12\\x27\\x55\\x4b\\xb0\\x86\\xb3\\xc1\\xf7\\x3c\\x0c\\x59\\x46\\x5e\\xb2\\x16\\xf6\\x17\\x72\\x35\\x5b\\x7e\\xc5\\x96\\xad\\xd6\\x54\\x8a\\xc2\\x99\\x32\\x9e\\xfa\\xec\\xa2\\xfa\\x4c\\x2d\\xcb\\x28\\x8d\\x40\\x4c\\x9b\\x96\\xa7\\x08\\x3a\\xa6\\x11\\xd3\\x06\\x63\\x2c\\x5d\\x87\\xfb\\xfc\\x0b\\xe4\\x4a\\x9b\\xd1\\xc8\\x78\\x43\\x21\\x17\\x41\\xf0\\x0c\\x53\\x54\\x1c\\xd5\\xf1\\xba\\xfe\\xb4\\x8b\\xe7\\x29\\x4b\\xd0\\x29\\x98\\x2c\\xa6\\xfe\\xb4\\xcf\\x6e\\x61\\x89\\x09\\x77\\xf5\\xa6\\x2e\\x42\\x5a\\xca\\xa6\\x4f\\xd9\\x02\\xb3\\x58\\x25\\x16\\x8d\\x5e\\xc3\\xb5\\xe7\\xed\\x0e\\xa7\\x16\\x62\\xd0\\xbc\\x45\\x4a\\xd2\\xe3\\xf6\\xd1\\x86\\x4d\\xca\\xd5\\x63\\xcf\\x3d\\x92\\x56\\x16\\x5e\\x35\\x06\\x8e\\x6c\\x5a\\xb5\\x68\\x7c\\xee\\xb7\\x9e\\xc5\\xd0\\xbd\\x40\\xa2\\x8f\\x7d\\xf5\\x03\\x4f\\x42\\x79\\x77\\xf5\\x06\\x06\\xbc\\x88\\x4b\\xfd\\x36\\x66\\xdd\\x5a\\x10\\x4f\\x78\\x3e\\xb8\\xe3\\x28\\x45\\x64\\xb0\\xbf\\x30\\xee\\x49\\x00\\xfa\\xfc\\x72\\x9e\\x66\\x4d\\x26\\xda\\x43\\x05\\x43\\x6c\\x08\\x18\\x29\\x13\\xbe\\xe8\\xd1\\x6a\\xf5\\x38\\x1c\\xc4\\x60\\xda\\x21\\x19\\x69\\x1d\\xdd\\x9f\\xd6\\xf1\\x30\\x75\\x98\\xd0\\xb9\\x53\\xdd\\x80\\x2a\\xf1\\x8c\\x13\\x68\\xc8\\xbb\\x5c\\x58\\x0d\\xc9\\x05\\x08\\x28\\xb7\\x64\\x90\\xbc\\x90\\xe8\\x0b\\x91\\x4f\\x66\\xe7\\xdd\\x2c\\xac\\x2e\\x46\\x3e\\xea\\x89\\x3a\\x3f\\x7c\\x81\\x4c\\x52\\x4b\\x98\\x85\\x78\\x3f\\x68\\xb6\\xec\\xc5\\x5b\\x41\\xb4\\x8e\\xb1\\x0a\\x16\\xce\\xa2\\xd7\\x73\\x34\\x25\\xda\\x05\\x1b\\xda\\x0d\\x62\\xce\\x81\\x6a\\xd9\\xa4\\xb7\\x58\\x58\\x9a\\x26\\x4d\\x26\\xf2\\x1c\\x68\\x43\\x53\\x66\\xda\\x0e\\x89\\x06\\x12\\x9a\\xd9\\x34\\xc9\\x00\\xcb\\xa9\\x87\\x57\\x2e\\xb1\\x1d\\x64\\x50\\xfe\\x3e\\x1f\\x08\\x9b\\x80\\x7f\\xb9\\xf2\\xc8\\x9a\\x01\\xe5\\xa5\\xc1\\x4f\\x6e\\x00\\x2e\\x72\\x28\\x14\\xe2\\xc8\\x7f\\x8d\\x33\\x1c\\xfc\\xfe\\xbb\\xdf\\x91\\x0f\\x2a\\xd7\\x60\\x1a\\xc7\\x21\\x8d\\xff\\x60\\xe6\\xe0\\xfd\\xa0\\xf5\\x72\\x39\\xda\\x0f\\xa2\\x8d\\xc5\\xc0\\x69\\xc3\\x1b\\x42\\x61\\x1b\\x30\\xd2\\xf1\\x12\\x2a\\xe6\\xc5\\x5b\\x3e\\x7b\\xec\\x78\\xcb\\x27\\x5a\\x2c\\xda\\x4c\\x96\\x73\\xa0\\x4a\\x36\\x85\\xa3\\x51\\x3d\\x80\\xbf\\x61\\xd4\\xab\\x34\\xab\\x7a\\x51\\x85\\xee\\xca\\x43\\x95\\x58\\x53\\x55\\xd5\\xc2\\xbc\\x04\\x28\\xa5\\x82\\x74\\x65\\x89\\x57\\xf7\\x7b\\xa2\\x13\\xf7\\x7b\\xa4\\x6c\\xf3\\x54\\x8f\\xf7\\x7b\\x4e\\xcf\\xff\\xfb\\xae\\xc5\\x9f\\x0e\\x81\\x03\\x57\\x92\\xb3\\xe2\\x62\\xd3\\x0d\\x43\\x0f\\x0b\\xb1\\x98\\xf0\\xf0\\xda\\x3b\\xaa\\xa3\\x71\\xf3\\xf8\\x33\\xf3\\xdf\\x23\\x87\\x20\\x4b\\x88\\x31\\xf2\\x15\\x73\\xe8\\x85\\x6b\\x8d\\xca\\xcb\\xa3\\x7f\\x5f\\xa2\\x9c\\x33\\xdd\\xf6\\x16\\x98\\x09\\x4e\\x28\\xab\\x61\\xee\\x90\\x20\\x2b\\x29\\x00\\xf9\\x34\\xc0\\x8a\\xa9\\x88\\x98\\x2e\\x07\\xfc\\x1e\\xc6\\x66\\x13\\x8d\\xa1\\x90\\x47\\xa4\\x8a\\x63\\x7e\\xab\\x75\\x31\\xb3\\x9e\\xd9\\x03\\x4d\\x80\\xe1\\xed\\xb4\\x03\\x32\\x77\\x86\\x8d\\x46\\x45\\x5e\\x65\\x4b\\xe5\\x08\\x2e\\xc3\\xc2\\x54\\xc1\\xe9\\x2a\\xdc\\x46\\xcd\\x20\\x87\\x8b\\xf8\\x85\\x33\\xc9\\x68\\x79\\xbd\\x23\\x17\\x75\\x8b\\xc9\\xde\\xf4\\xea\\x5d\\x07\\xae\\x98\\xdf\\xb2\\x7e\\xf7\\xb1\\xc7\\x7f\\x34\\x7e\\x7a\\xe5\\x4a\\xb0\\xe1\\xf6\\xa3\\x0b\\xa7\\xae\\xda\\x7e\\xf7\\x1d\\xca\\x05\\xfa\\xb6\\xee\\x1e\\xe5\\x27\\x7d\\xca\\xcf\\x47\\xfa\\x95\\xc7\\xe8\\x24\\xe4\\xe3\\x65\\x2e\\x94\\x5e\\xda\\x37\\xca\\x99\\x96\\xcd\\xba\\xfa\\x1a\\xe8\\x74\\x88\\x00\\xa4\\xdf\\x06\\xe9\\x77\\x13\\x61\\xe8\\xab\\xd3\\x72\\x31\\xe1\\xb4\\xc7\\x83\\x41\\xab\\x31\\x62\\x47\\x77\\xa0\\x1a\\xa9\\xf2\\x44\\x80\\x30\\x9b\\xe3\\x4e\\xd4\\xce\\xde\\x83\\xda\\xd9\\xfa\\x98\\x8d\\x43\\x6c\\x84\\x18\\x26\\xb3\\x3a\\x79\\x6c\\xa8\\x56\\x9c\\xe3\\x24\\x7b\\x1a\\xca\\x31\\xa1\\x0f\\xaf\\xf1\\x01\\x6d\\x59\\x63\\x8f\\xca\\xf0\\x4b\\xde\\x7d\\x05\\x22\\xfe\\xd4\\xca\\x2d\\x5b\\x30\\x37\\xad\\xa9\\x67\\x6e\\xc0\\xec\\xb5\\x20\\x5e\\x97\\x2c\\xa0\\xbe\\x53\\xbf\\x0a\\x12\\x1f\\xe2\\xc0\\xdc\\x7a\\xd0\\x80\\x18\\x6a\\x9d\\xed\\xac\\xbf\\x1f\\xf3\\x48\\x56\\x23\\x8e\\x67\\xa8\\xbd\\x9b\\x32\\xb2\\x9a\\x9a\\x01\\x79\\x43\\x7b\\x1f\\x55\\xb2\\x39\\xb3\\xf7\\x21\\xd1\\x4e\\x48\\xff\\x53\\x7a\\x8e\\xb3\\x33\\x82\\xc6\\x80\\xca\\xc1\\xa5\\xb7\\x3c\\x92\\x8e\\xbc\\x2d\\x0f\\xf2\\xf5\\x27\\x1f\\x59\\xd3\\x7b\\xe5\\xed\\xd7\\x2b\\x3f\\xfc\\xc5\\xff\\x7b\\xe5\\x4d\\xe5\\xd7\\x2b\\x57\\xae\\xa4\\x5e\\x79\\xe8\\xf1\\xf1\\xa9\\xf4\\x93\\x64\\xdb\\xf7\\x7f\\xf8\\xf2\\x5b\\xa4\\x2a\\x66\\x74\\xbe\\x84\\x4c\\x92\\xff\\x06\\x9f\\xef\\x25\\xa6\\xc8\\x5e\\x56\\x67\\xb1\\xdb\\x81\\x5b\\x07\\x28\\x9f\\x5f\\xcc\\x0a\\x93\\x76\\xdb\\x81\\x17\\xd2\\xf0\\xa4\\x59\\x47\\xd2\\x90\\x2a\\x4c\\x8b\\xb6\\xd3\\xb7\\x30\\x27\\x47\\xa4\\x0f\\x62\\x03\\x7f\\x59\\x6d\\x2e\\x5f\\xb9\\x92\\x5c\\x50\\x22\\x36\\x1d\\x3e\\xf0\\x9e\\x10\\x8f\\x0b\\xef\\xdd\\x7d\\x67\\x55\\x04\\xaa\\xf0\\x2e\\xa8\\xc0\\x88\\x96\\x02\\xd5\\x55\\x7d\\x5f\\x2b\\xa4\\xed\\x55\\x4c\\x9b\\x2c\\x7b\\x58\\xbd\\xde\\xe3\\xb1\\x48\\x24\\xed\\xf3\\x1b\\x17\\xdb\\xd6\\xdb\\xf6\\xc0\\x28\\x63\\x03\\x6e\\x89\\x43\\xfa\\xfa\\xa4\\x47\\x4f\\x82\\x8c\\x98\\x2e\\x26\\x0d\\x8a\\x2a\\x1c\\x87\\xd1\\x19\\x01\\xf2\\xea\\xe1\\xd2\\x3a\\x53\\x6a\\xfd\\xa1\\x3a\\x3f\\xf2\\xd5\\xf1\\x5d\\xe6\\x78\\xa4\\xfa\\x8e\\xbb\\x55\\xc2\\x0e\\x1c\\x4d\\x89\\x25\\xe4\\x02\\x48\\x6e\\xf2\\x67\\x27\\x4c\\xa0\\x77\\xc9\\xdf\\x47\\x41\\xb3\\x61\\xff\\x0b\\x21\\x76\\x7c\\x12\\x87\\xb1\\xba\\xc9\\x18\\xd5\\xc7\\x8c\\x12\\x7e\\xa2\\x4e\\x16\\x78\\xc6\\x65\\xf2\\x33\\xfe\\x40\\xd0\\xef\\x72\\x79\\x3c\\xa4\\xcd\\xa4\\x7f\\x06\\x54\\xc3\\xf2\\x8e\\x04\\xed\\xea\\xbd\\x99\\x02\\x9e\\x8e\\x2f\\x80\\x8a\\x53\\x31\\x59\\xc3\\x18\\xf2\\x2b\\xb7\\x79\\xd6\\xa0\\x76\\x2a\\xc9\\xf1\\xfb\\x8e\\xbd\\xf4\\x1e\\xb8\\xf7\\xc4\\xc1\\x12\\x6e\\xde\\xfe\\xaf\\x1e\\x3d\\x7e\\xb4\\x7a\\x5d\\x70\\x05\\x28\\xed\\x27\\x17\\xd4\\xff\\xec\\x79\\xf0\\x60\\xd1\\xa3\\x57\\xb6\\x3d\\xf5\\xdc\\xb7\\xcf\\xb9\\xf8\\xdf\\xb2\\xe1\\x30\\x3a\\x0f\\x56\\x06\\xfd\\xd8\\x3c\\x2c\\xa7\\xa9\\xb2\\xd3\\xe8\\x76\\x93\\x26\\x87\\x83\\x27\\x79\\x9f\\xdf\\x05\\x63\\x1f\\x1a\\xed\\xa3\\xac\\xd0\\xcb\\x56\\x9d\\x45\\xf7\\xad\\x91\\x76\\x02\\xcb\\x09\\xe5\\xfd\\x58\\x54\\xb8\\x4a\\x69\\xaa\\x4a\\x15\\x5c\\x8f\\x8d\\xee\\x1f\\x99\\x08\\x1c\\x98\\x0b\\xcd\\x65\\xd0\\x82\\xa7\\xac\\x04\\x3b\\x56\\x80\\xc9\\x2b\\x56\\x28\\xcf\\xad\\x50\\x0e\\x42\\x51\\xa9\\x1a\\x15\\xe2\\x94\\x97\\x40\\x0b\\xfa\\x3e\\xde\\x8c\\xbe\\x82\\x61\\xe5\\xd1\\x8c\\x9e\\x81\\xb5\\x90\\x46\\x33\\x11\\x97\\x8d\\x04\\xc3\\x58\\xac\\x66\\x9d\\xce\\x80\\x96\\x0e\\xbe\\xa1\\x32\\x0e\\xb4\\x5d\\x93\\x14\\x96\\x52\\xfe\\xdd\\x03\\xba\\x15\\xca\\xb3\\xf0\\xa9\\x1d\\x2b\\xc8\\x2b\\xb0\\xaf\\xc3\\x8f\\xc2\\x33\\x9d\\x64\\x0c\\xbc\\x0c\\x3f\\x57\\x24\\x8a\\x65\\xa3\\x55\\x27\\x8a\\x76\\x89\\xb7\\x9a\\xce\\x81\\xf6\\x27\\x60\\xde\\xa1\\x2a\\x6b\\x52\\xb3\\x1a\\x9c\\x5b\\x8a\\x97\\xd8\\xd2\\xf8\\xfb\\x0a\\x50\\x37\\xbf\\x61\\x71\\xeb\\xb4\\x64\\x5c\\x70\\x36\\x8e\\x30\\x71\\xcc\\x87\\x2d\\xbd\\x45\\x16\\x6e\\x1d\\xf6\\x6f\\x52\\xcf\\x61\\x41\\x19\\x5f\\x8d\\x7d\\xd0\\xa8\\x1c\\x72\\x98\\x4c\\x06\\xca\\x49\\xea\\x29\\x92\\xa5\\x59\\xda\\xe3\\x25\\x9d\\x4e\\x89\\xe3\\x04\\xa3\\xc3\\x40\\x39\\x28\\xab\\x5b\\x40\\xe1\\xc1\\x48\\x9b\\x50\\x83\\x44\\xaf\\xb7\\xe6\\x45\\x34\\x35\\xa0\\x65\\xc5\\x9c\\xba\\x08\\xf2\\x5a\\x45\\x12\\x2c\\xdc\\xcd\\xc8\\xdd\\x90\\x4a\\xd5\\x2e\\x54\\x3e\\x01\\x73\\xe7\\xbc\\xac\\xbc\\xbc\\x76\\xb3\\xf2\\xb8\\xba\\x0c\\xd7\\x0e\\x30\\x73\\x20\\xb9\\x9f\\x29\\xbd\\x5c\\x08\\x9c\\x9c\\xa3\\xfc\\x39\\x27\\x20\\xe5\\x20\\xd8\\x01\\xa5\\x8f\\xe8\\xaf\\x83\\xb6\\xf4\\x34\\xa4\\x9f\\x25\\x4a\\x65\\x13\\x69\\x36\\xeb\\x39\\x1e\\x58\\x2c\\x36\\xb4\\x00\\x66\\x3d\\x69\\xcc\\xd9\\x4e\\x56\\x55\\x31\\xc4\\x9b\\x66\\xbb\\x2a\\x11\\xe0\\xc8\\xae\\xbb\\xaf\\xab\\x2f\\x86\\x46\\x7b\\x18\\x3e\\x7a\\x2e\\xd3\\xc0\\x8d\\xb7\\x5b\\xbe\\xfe\\x51\\xd6\\x97\\x94\\x92\\x49\\x3a\\x0e\\x9f\\xe1\\x22\\x46\\x64\\x97\\x85\\xa2\\x00\\x61\\xb5\\x39\\x9d\\x56\\x83\\x60\\x10\\xdc\\x1e\\x17\\x49\\xf2\\x46\\xa3\\xcd\\x8c\\x64\\x63\\x76\\x0a\\x94\\xc1\\xa0\\xb3\\x02\\x20\\xe9\\xb4\\x27\\x6b\\x02\\xd1\\x34\\x72\\x42\\x5f\\x23\\x73\\x3b\\x75\\x2e\\x63\\x4d\\x19\\x61\\x4a\\x9d\\x91\\x0f\\x69\\x96\\x94\\xf7\\xd6\\x28\\x9f\\xac\\x5c\\xf9\\x39\\xd0\\x01\\xff\\x47\\x2b\\x57\\x2a\\xff\\xb6\\x06\\xf2\\x7b\\x66\\x7c\\x67\\x46\\x16\\xe3\\x77\\x92\\x4b\\x33\\x3a\\x49\\x1e\\x80\\xb4\\x4e\\x86\\xeb\\x79\\x0d\\xd6\\x9b\\x2e\\x99\\x15\\x20\\x61\\x7a\\x82\\x60\\x6c\\x8c\\x5d\\x62\\x0d\\x30\\xee\\x55\\x3d\\x6d\\xb4\\xd9\\x2c\\xa2\\x5e\\x0f\\x23\\x7d\\x5b\\x81\\x26\\x65\\x56\\x71\\xa2\\xbd\\x68\\x99\\x54\\x3e\\x89\\x80\\x7c\\x73\\x0d\\x10\\x56\\x4c\\x52\\x38\\x8d\\xb6\\xbb\\x54\\xcd\\x1a\\x37\\x93\\x6f\\x8d\\x2f\\xc8\\x52\\xf6\\x08\\x5e\\x9f\\x9c\\x0d\\x0f\\xc8\\x7c\\xbe\\x0d\\x9b\\x39\\xce\\x69\\x45\\xcb\\x04\\xcd\\x98\\xc1\\x79\\x87\\xd1\\xe5\\xba\\xd8\\x92\\x93\\xaa\\xf1\\xb4\\xe7\\x64\\x77\\x09\\x53\\xbe\\x78\\x2f\\xe4\\x4b\\x4d\\x79\\xfc\\x19\\xb2\\xc2\\x95\\xb3\\x65\\x72\\xc6\\xf8\\x9b\\x21\\xac\\x4e\\x30\\x6e\\x45\\xa0\\x0f\\xac\\x83\\x3e\\xd0\\x0c\\x8b\\xb9\\x62\\xd9\\x44\\x58\\x74\\xbc\\x85\\x77\\xba\\x28\\xfb\\x33\\xd0\\xef\\x19\\x09\\x1b\\xf4\\x81\\xc8\\xfb\\xe5\\x45\\x2b\\x31\\x0f\\x23\\x46\\xcf\\x85\\xb3\\xa0\\x20\\x07\\x0e\\xdd\\xb4\\xef\\xda\\x1b\\xaf\\xdf\\xbf\\x1b\\x1c\\xfe\\xde\\x0f\\x5e\\x79\\xfe\\xb9\\x57\\xa8\\x97\\xbf\\xf7\\xe8\\xe3\\xcf\\x3d\\xf7\\xc8\\xe9\\xef\\x81\\x3b\\xde\\x78\\xe5\\xb5\\x9f\\xfe\\x14\\x3d\\x8f\\x23\\x63\\xe4\\xdd\\xcc\\x06\\xdc\\x3f\\x1e\\x92\\x63\\x3a\\xaa\\xac\\x8c\\xcd\\xf4\\x8f\\xa3\\xee\\x4c\\xff\\xd8\\xed\\x12\\x74\\x25\\x25\\x01\\x17\\xfc\\x13\\x25\\x8a\\xe0\\xe2\\x21\\x1f\\xfc\\x52\\x52\\xc5\\x25\\xcb\\x9c\\x80\\x2e\\xec\\x0b\\x6b\\xf8\\xd1\\xff\\xa7\\xbe\\xf0\\xf6\\x83\\xdb\\x47\\xe7\\x2c\\xdb\\xf6\\xd0\\xbd\\xf7\\x3f\\xb8\\x75\\xc5\\xd0\\xb2\\x5d\\xfb\\x40\\x6f\\xcb\\x43\\x0f\\xb5\\xf6\\x44\\x5e\\x7d\\xf5\\x47\\xcb\\x99\\x0d\\xc6\\xd1\\xa5\\x7d\\x57\\x09\\xe6\\x15\\xb3\\xc7\\xae\\xd9\\xbe\\x79\\x78\\x95\\x99\\xbd\\xb2\\x7b\\x64\\xd8\\x58\\x6f\\x91\\x6b\\xef\\xfe\\x56\\xc7\\x0c\\xeb\\x78\\xe4\\xec\\xd7\\xbf\\xbe\\x68\\x6e\\x26\\xfe\\x27\\xc9\\x7d\\x38\\x37\\x73\\xc1\\x6a\\x8e\\x67\\xa0\\xd3\\x20\\x24\\x56\\x72\\x7b\\x8c\\x0c\\x63\\xe5\\x68\\xe4\\x4a\\x9e\\x44\\x7e\\x24\\xe7\\x21\\xd5\\x80\\x52\\xd0\\x56\\xcd\\x64\\x25\\x4c\\xce\\x61\\x84\\x10\\x23\\xa4\\x69\\x74\\x55\\x73\\xfb\\xb2\\x25\\xca\\xbf\\xf6\\x2a\\x8f\\x8e\\xae\\x04\\x50\\x4b\\x4f\\xde\\x40\\xaf\\x5c\\x36\\xa2\\xec\\x9f\\x77\\x4c\\xf9\\x3c\\xa3\\x82\\x9f\\xec\\xda\\x93\\xa1\\x85\\x6a\\x82\\xb4\\x48\\xb0\\xda\\x98\\x21\\x7b\\xa0\\x4b\\xb3\\x7a\\x01\\xd0\\xd9\\x79\\xde\\x61\\xd5\\x59\\x83\\xc8\\xe1\\x7a\\xbd\\xb4\\x47\\x6f\\x44\\xa9\\x09\\x0f\\x74\\x3a\\x3b\\x9d\\xb5\\xde\\x4b\\x45\\x3a\\x5e\\xcb\\x79\\x51\\x0f\\x2e\\x4b\\x98\\x76\\xe7\\x2e\\xf4\\x6f\\x54\\x43\\xf6\\xde\\x19\\x66\\xbb\\xf2\\x24\\xa4\\x6f\\xc1\\xed\\x47\\x17\\x4c\\x7d\\x6f\\xce\\x0b\\xbf\\xbe\\x27\\xbd\\x71\\xc5\\xea\\x35\\xf3\\xa8\\xe3\\xca\\x4f\\x32\\x44\\xae\\xd8\\x30\\x3c\\x66\\x57\\x9e\\x85\\x3e\\x6e\\xc9\\x87\\x0b\\x66\\x2a\\xa7\\x07\\xb5\\x99\\x79\\x28\\xbf\\xb7\\xb0\\x1d\\xa7\\x64\\x0e\\x7a\\x02\\xd2\\x40\\xd9\\x25\\x8b\\xc1\\x60\\xe4\\x28\\x0a\\xd1\\xf9\\x24\\x34\\x14\\xcd\\x4e\\xb4\\xf0\\x92\\xdf\\x93\\x14\\x33\\x9d\\xc8\\x6c\\xd2\\xe2\\x94\\x9e\\xde\\x1b\\x3c\\x55\\xc7\\x97\\x90\\x2f\\x95\\x72\\xad\\x5f\\xf1\\xef\\xc1\\xe6\\xf0\\x82\\x65\\xd7\\xbf\\xff\\xfb\\x2e\\xf3\\xb8\\x8c\\xfd\\x5c\\x25\\xd4\\xfd\\x4d\\x38\\x16\\x54\\x41\\xdf\\x61\\x25\\x18\\x2b\\xe3\\xf1\\x0a\\x0c\\x61\\xb5\\x92\\xec\\x33\\xd0\\x51\\x38\\x08\\x63\\x26\\xf8\\xf3\\x13\\x7a\\x91\\x79\\xe8\\xf9\\x05\\x57\\x53\\xd5\\x91\\xaf\\xae\\x01\\xe2\\xca\\xbb\\x4f\\xde\\x73\\x37\\x32\\xc5\\xb5\\x2b\\xc7\\xae\\xd1\\xc2\\x50\\xe8\\xd6\\xa3\\xc7\\x0e\\x82\\x8f\\xf1\\x6b\\xff\\xda\\x75\\xeb\\x35\\x6c\\x97\\xbf\\x92\\x41\\x1a\\xf9\\x2f\\x3b\\xd1\\x28\\x0b\\x26\\x86\\xb5\\x43\\xd7\\xe5\\x20\\x61\\x15\\x05\\x35\\x88\\xe6\\xf5\\x28\\xf9\\xb5\\x99\\xcd\\x08\\xb1\\x2b\\x53\\x46\\x69\\xed\\xc8\\x3c\\x62\\xa2\\x66\\xe8\\x52\\xb5\\x3b\\x15\\x52\\x5a\\x2d\\x48\\x25\\x82\\x6f\\xfc\\xbf\\x90\\xf2\\xd7\\x6e\\x90\\xda\\xf2\\xfc\\x3b\\xde\\x37\\xce\\xee\\x02\\xa6\\x6e\\x32\\x48\\x96\\x8f\\xff\\x8c\\x32\\x60\\x5f\\xf0\\x1f\\x64\\xe5\\xf8\\x4f\\xc9\\x06\\x1c\\x80\\x49\\x22\\x06\\xed\\xd2\\x42\\x5f\\x4d\\x78\\xa0\\x65\\x4e\\x91\\x85\\xa0\\x85\\x37\\x44\\xa3\\x34\\x0d\\xdd\\x3f\\xac\\xb5\\x0d\\x86\\x30\\x0a\\xc5\\x67\\xbc\\x3c\\x4f\\xa3\\x34\\xfc\\x09\\x17\\xf2\\x59\\x2d\\xc8\\x67\\xb5\\xa7\\x9a\\xaa\\xb2\\xde\\x2a\\x7b\\x20\\x0e\\x75\\x22\\x1d\\x12\\x8f\\xf2\\x22\\x3c\\x87\\xd2\\x06\\xda\\x01\\x32\\x3a\\xdc\\x02\\x12\\xf5\\xaa\\x2d\\x36\\x00\\x61\\xd1\\xac\\x9e\\x3b\\x2c\\x9d\\xab\\x6e\\xa9\\x99\\xbb\\x68\\xd6\\x9c\\xf6\\x2a\\x7b\\x64\\xe9\\xc9\\xfe\\x81\\xa6\\xd9\\xcd\\x3d\\xf4\\xd5\\x33\\xfb\\x94\\xfd\\xac\\xb7\\xb1\\xf3\\x74\\xcb\\xb4\\x28\\x49\\xa6\\x37\\xfa\\xba\\x77\\x48\\xca\\x7f\\x92\\xe4\\xa4\\xc9\\xab\\xc2\\x17\\xd3\\xeb\\x35\\x08\\x02\\x15\\xb4\\x5a\\xdd\\x94\\x46\\x2f\\x8c\\x4f\\x2d\\x67\\x78\\xa8\\xe6\\x30\\x30\\x35\\x3f\\xe1\\x44\\xf4\\xb6\\x5f\\x86\\x5e\\xb5\\xc1\\xa8\\x2e\\x64\\xca\\xa9\\x1e\\x2e\\xd7\\xb1\\x98\\x44\\xb5\\xe1\\x83\\x1b\\x58\\xd1\\x88\\x1e\\x84\\x16\\xcd\\xee\\xbe\\xc3\\x1c\\x5a\\x54\\x73\\xcb\\xf2\\x6b\\x47\\xe6\\xb4\\x24\\xed\\x91\\xe5\\x27\\x66\\xf6\\x37\\xcf\\x6e\\xeb\\x24\\x63\\x33\\x66\\x80\\x5d\\x90\\xde\\x50\\xd1\\xe9\\x91\\x11\\x8a\\x9a\\x8b\\xe9\\x05\\x61\\x2a\\x43\\x6f\\x1c\\xd2\\x3b\\x44\\x8f\\xc1\\xb8\\xed\\x21\\x3a\\x64\\x8b\\xa4\\x47\\x58\\xb3\\xac\\x9e\\xf5\\xfa\\xa0\\x4b\\x68\\x3e\\xc3\\x59\\x2c\\xa2\\x09\\x91\\xec\\xa1\\x28\\x17\\xf3\\x1d\\x48\\x2b\\x89\\x74\\xbd\\x3d\\x95\\x89\\x05\\xed\\xd9\\x05\\x57\\xc5\\xab\\x4a\\x56\\x85\\x29\\x86\\x35\\x0e\\x02\\x4b\\x8c\\x60\\x15\\x6c\\x20\\x87\\xee\\x32\\x77\\xad\\xfe\\xe9\\xae\\x75\\xcb\\x6b\\x96\\x2e\\x9d\\x31\\xf9\\xfa\\x49\\x53\\x66\\x75\\x92\\x33\\xbc\\x93\\x67\\x00\\xdf\\x6d\\x77\\x77\\x37\\x8c\\xff\\x0d\\x50\\x6b\\xb7\\x2b\\xe7\\xd7\\x6f\\x6a\\x23\\x70\\x4d\\x16\\x23\\x15\\x48\\x57\\x8c\\xa8\\x21\\x1a\\x60\\x85\\xef\\xa8\\x2f\\x4e\\xd8\\xed\\x44\\x5d\\x35\\xcb\\xfa\\xea\\xf4\\xc5\\x4c\\x63\\x93\\x33\\x99\\x0c\\x45\\xa0\\xf4\\x64\\x63\\xa2\\x1e\\xd6\\xce\\x31\\xa3\\x37\\x00\\xdf\\x3d\\x15\\xa7\\x69\\xab\\xce\\x88\\xb5\\x20\\x95\\xad\\xf0\\x9d\\x17\\xab\\x02\\xa6\\x16\\x47\\x0b\\x3d\\xea\\xfe\\x39\\xf1\\x11\\x7f\\xf5\\x94\\xe0\\xc4\\x43\\x82\\xc5\\x11\\xbd\\x23\\xef\\x8c\\x60\\xd4\\x0e\\x16\\xf5\\xcc\\xec\\x1c\\x9a\\x39\\x7a\\x43\\xc3\\xac\\x2d\\xaa\\x8e\\x20\\x99\\x2f\\xed\\x59\\x56\\x5a\\xb7\\xe8\\xaa\\x55\\x64\\xac\\x6b\\x06\\x07\\xd5\\x45\\x99\\x33\\x29\\xf5\\x0e\\x35\\xa3\\x7e\\x59\\xbf\\x10\\xa9\\x9c\\x31\\xe3\\x74\\xcb\\xd4\\xa2\\x8c\\xc2\\x54\\x54\\xed\\xde\\x56\\xf3\\x5f\\xa5\\x21\\x79\\x14\\x2b\\x8e\\x12\\x9d\\xbf\\xe6\\x07\\xaa\\xbf\\x0e\\x42\\xbe\\xe7\\x30\\x87\\x08\\x13\\xb4\\xfe\\x06\\xd9\\xc2\\xea\\x74\\x6e\\xc2\\xee\\xb6\\x7b\\xbc\\x06\\x27\\xd2\\x74\\x86\\xe3\\x28\\xe1\\x19\\xc8\\x9c\\x99\\xb0\\x82\\x44\\xc6\\x07\\xb4\\x5f\\xe4\\xaf\\x21\\x57\\x6a\\xe1\\x06\\x55\\x47\\xd2\\xe3\\x13\\x90\\x88\\x1f\\xf0\\x87\\xbe\\xa1\\xbe\\x44\\xc5\\xf4\\x91\\x69\\xca\\x75\\x43\\x67\\xe9\\x96\\xf9\\x7f\\xda\\x7f\\x60\\xc3\\x7a\\x6a\\xc1\\x9a\\x75\\x76\\x65\\xb2\\x71\\x1f\\x79\\x2d\\xeb\\x7d\\x65\\x6b\\x95\\xf2\\xd1\\x6d\\xf7\\x95\\x66\\x74\\x03\\xd2\\x22\\x12\\x3e\\x98\\xc5\\x58\\xed\\xb4\\x99\\x70\\xb9\\x38\\x9a\\xf3\\x07\\x38\\xf1\\x19\\xa8\\x06\\x16\\x18\\x86\\x13\\x67\\xdc\\x46\\xa3\\x17\\x1a\\x5f\\xcb\\x93\\x2e\\xc2\\x41\\xaa\\x11\\x51\\x4d\\x89\\x53\\x05\\x01\\x3a\\x5b\\x99\\xa8\\xba\\x11\\x53\\x9b\\x5a\\x28\\x0d\\x45\\x26\\xc7\\x43\\x8a\\xc1\\xa3\\x5d\\xf3\\x3e\\xda\\xbf\\xa7\\x53\\xa6\\x17\\x7f\\xaf\\xeb\\x2e\\xe5\\x17\\x77\\x76\\xd5\\x25\\x7b\\xef\\x84\\x55\\x09\\x08\\x1f\\xbf\\xc3\\xe6\\xab\\x79\\x98\\xf5\\x9e\\xff\\x19\\xeb\\x05\\xd2\\x6f\\x5c\\xe0\\x59\\x13\\xa4\\xaf\\x08\\xe6\\xe6\\x7f\\x80\\x3a\\x22\\xc0\\xd8\\x56\\x87\\x8e\\x09\\x13\\x56\\x87\\x5e\\xb0\\xc2\\x64\\x10\\x86\\x18\\xc9\\x24\\xb2\\x48\\x50\\x34\\x61\\xd2\\x9c\\x25\\x6e\\x99\\xe4\\x47\\x0f\\x0c\\x9d\\xa8\\x41\\x20\\xe3\\x8a\\x09\\x9d\\x77\\x8f\\x47\\xa4\\x54\\x6d\\xec\\xd8\\x9c\\xb9\\x9d\\x43\\xfe\\xd1\\x86\\x7d\\x3b\\xff\\xf8\\xee\\xbb\\xfb\\x3e\\x6d\\xa0\\x66\\x9a\\xaf\\x59\\x2e\\x44\\x78\\xff\\x8d\\x77\\x83\\xe2\\xbf\\xd5\\xfc\\xfd\\x07\\xab\\x17\\xa8\\xeb\\x95\\x4f\\x43\\x4a\\xe6\\x1d\\x7a\\x1e\\x91\\xc1\\x5b\\xdd\\x1e\\x87\\x20\\x60\\x12\\xda\\x31\\x09\\x2d\\x1a\\x09\\x05\\xa1\\x35\\x4f\\x05\\xd5\\x29\\x70\\x2e\\x1a\\x69\\x05\\xce\\x24\\x54\\x31\\x07\\xd8\\x83\\x48\\xf0\\x2d\\xd1\\x48\\xf8\\x4b\\x1d\\x35\\x23\\x4b\\x82\\xf2\\x73\\x44\\xc2\\x8a\\x51\\x74\\x9e\\x08\\x3e\\xff\\xc7\\xf0\\xf9\\xa5\\xd0\\x4f\\x3b\\x8a\\x18\\xb7\\xb9\\x94\\x0f\\x18\\xcc\\x8c\\xae\\xac\\xdc\\x18\\x08\\xf8\\xfd\\xa4\\x43\\xb0\\x21\\x29\\xc4\\x0b\\xeb\\x45\\xa1\\x60\\x56\\x2f\\x93\\x91\\xd4\\xa9\\x67\\xfe\\x9d\\xfa\\x2c\\x50\\xb4\\x13\\x95\\xd8\\x91\\xb8\\xd6\\x14\\x6f\\x00\\x3f\\x1e\\xda\\xb5\\x6e\\xac\\x7b\\xf2\\xfa\\xdd\\x57\\xcd\\xeb\\x05\\xfe\\x08\\x3b\\xc9\\xdf\\xdc\\x31\\xed\\x90\\x28\\x46\\x36\\x94\\x26\\x86\\x7a\\x46\\x16\\xc2\\xc5\\x9a\\x37\\x5c\\x37\\x9d\\xa5\\xe3\\x73\\x3b\\xfb\\x1c\\x63\\x9d\\x46\\xb6\\xae\\x7a\\xd0\\xad\\x6b\\xd2\\x5b\\x9a\\xcb\\xeb\\xdb\\x83\\x90\\xde\\x30\\xa4\\xf7\\x4d\\x48\\x6f\\x09\\xa4\\x57\\x62\\xfd\\x4c\\x34\\xea\\x0f\\x9a\\x9c\\x25\\xba\\xd2\\xb2\\xa0\\xc9\\x64\\x36\\x7b\\xc8\\x18\\xaa\\xad\\x9c\\x82\\x47\\xb3\\xe0\\xf6\\x8b\\xe9\\x15\\xb5\\x3c\\x2f\\x8e\\x4b\\xed\\xdc\\x99\\xba\\x78\\xa6\\x89\\x9f\\x19\\xd3\\x09\\xcf\\x9b\\xd3\\x33\\x94\\x28\\xbd\\xd5\\x6e\\x3f\\x34\\xad\\xa3\\xc5\\x3f\\x89\\x8d\\xf8\\x41\\xef\\xbc\\xab\\x76\\xaf\\xeb\\x9c\\x32\\xb6\\x7e\\xe7\\x10\\xb9\\x3f\\xd8\\x5e\\x5f\\xde\\x6c\\xd1\\x37\\xe9\\xdc\\x83\\xd5\\x75\\xac\\xb1\\x73\\xcc\\x31\\x63\\x4a\\x3a\\x46\\x73\\x33\\x92\\x43\\xf3\\xeb\\xd5\\x73\\x20\\x71\\x50\\x4a\\x4e\\xa6\\x1f\\xd6\\xee\\x83\\x1b\\x95\\x13\\xa5\\x89\\x84\\xa3\\xd9\\xa7\\x73\\xd7\\x41\\xd7\\x54\\x14\\x66\\x3c\\x6e\\x9f\\x5e\\xb4\\x8a\\xd6\\xb6\\x76\\x87\\xb1\\x34\\x19\\x2e\\xf2\\x30\\x34\\x15\\x2c\\xa5\\x4a\\x29\\xae\\x31\\x12\\x44\\x92\\xaf\\x22\\x38\\x50\\x99\\x91\\x3c\\x56\\x40\\x27\\x3a\\xd6\\x38\\xf1\\x92\\x91\\xcc\\x46\\x99\\x0a\\x19\\x1a\\x00\\xd9\\x61\\xc9\\x4c\\xae\\xa8\\x4d\\x29\\x39\\x1b\\x9c\\x7a\\x07\\x55\\x5b\\x0e\\xb4\\x35\\xa9\\xa7\\x92\\xb9\\x53\\x2f\\xe0\\xfc\\xd8\\xda\\xba\\x58\\x8c\\x4c\\x84\\xbe\\x3e\\x7f\\xee\\x9d\\xb7\\x6e\\xda\\xde\\x94\\x08\\xa4\\x16\\x2d\\xda\\xba\\xb6\\xa3\\xe2\\x80\\x34\\x5c\\xe2\\x1e\\xf9\\xb9\\x3b\\x34\\x7d\\xc6\\x9a\\xa5\\x3f\\xe8\\xa8\\xaf\\xeb\\xe8\\x68\\x6c\\xa0\\xce\\x2c\\x59\\x6a\\xec\\x37\\x09\\xfd\\xdd\\x8b\\x37\\x74\\x77\\x94\\xc8\\x41\\x43\\x53\\x78\\x75\\xc5\\xb5\\x8b\\xaf\\x60\\xa7\\x78\\xe6\\x54\\x8e\\xbf\\xdf\\xeb\\x98\\x1c\\x48\\x55\\x0c\\x80\\xcd\\xd3\\xfb\\xfa\\x7a\\x7a\\xfa\\xfa\\xa6\\xab\\x3a\\xaf\\x07\\x8d\\xa0\\x9c\\x5e\\x8e\\xcf\\x1b\\x56\\xc8\\x30\\x33\\xe7\\xf1\\x79\\x43\\x23\\xcc\\x96\\x51\\x1b\\x87\\xc7\\x75\\x5f\\xb3\\x96\\x4e\\x7e\\x3f\\x79\\xb9\\x23\\x86\\x99\\x5a\\x21\\x7a\\x45\\xcc\\xeb\\x89\\xc7\\x3d\\xde\\x98\\x6e\\x09\\x28\\x1a\\x1d\\x78\\x12\\x5c\\xe3\\x8d\\xc5\\xbc\\xf0\\x2f\\xf9\\x9f\\xac\\xd7\\xcb\\x2a\\x21\\xd6\\xab\\xee\\x09\\xc0\\x5c\\x6c\\x33\\xf4\\x47\\x6e\\x62\\x91\\x2c\\x10\\x1c\\x67\\x83\\x75\\xbb\\x55\\xaf\\x93\\x0c\\x92\\xc1\\xe3\\x75\\xb8\\xce\\x81\\x84\\xcc\\x19\\xac\\x56\\x4e\\x92\\x44\\x96\\x80\\x05\\x97\\x9e\\x32\\x8b\\x88\\x20\\x1d\\x00\\x54\\x8e\\xa0\\xc2\\xfa\\xb8\\xfd\\x92\\x27\\xff\\x1a\\x90\\xdb\\x64\\x81\\x88\\x1b\\xa8\\x71\\xbd\\x84\\xbf\\xa3\\x30\\xfc\\xfe\\x47\\x93\\x7e\\xd0\\x7d\\xef\\x8f\\x5b\\x3f\\xaa\\xbd\\x63\\x5a\\xcb\\x47\\xbd\\x23\\x4f\\x53\\x1d\\xff\\xe4\\xbc\\x5e\\xdb\\x03\\xca\\x8b\\x36\\x48\\xea\\x67\\x83\\xf7\\x21\\x8a\\x29\\x00\\x29\\x06\\x44\\x0d\\xcc\\x77\\x9f\\x87\\xba\\x5e\\x41\\x2c\\x90\\x9d\\x44\\x51\\x51\\x29\\xe3\\x76\\x07\\x38\\xb3\\x39\\x50\\x4a\\x55\\x56\\x39\\xa2\\x51\\x86\\x28\\x4b\\x40\\xba\\x64\\x53\\x51\\xc0\\xcd\\x99\\x4b\\x4b\\x7d\\xb6\\x38\\x24\\xf7\\x8c\\x18\\x0e\\x1b\\x28\\x4d\\xfd\\x71\\x94\\xc5\\x59\\x1e\\xce\\x80\\x93\\x85\\xf9\\x81\\x66\\x0f\\xf8\\xd4\\x0d\\xce\\x0f\\xb4\\x34\\xb8\\x16\\x95\\x40\\x8e\\xbc\\x77\\x58\\xcc\\x2a\\x07\\x3f\\x2f\\x5b\\x55\\xb4\\x38\\x52\\xb6\\xb7\\xf4\\xd8\\x54\\xe5\\xc2\\xc8\\xa8\\x63\\x85\\xd3\\x34\\xa2\\xfc\\x75\\x78\\x79\\x57\\xdb\\xc8\\x85\\x9e\\x9e\\x07\\xe9\\x46\\x77\\xd1\\x64\\x57\\xe9\\x43\\xca\\x11\\xc4\\x08\\x58\\xb9\\x82\\xd5\\x85\\xe2\\xd9\\x37\\xbc\\xd2\\x81\\x5f\\xfd\\x12\\xf3\\x97\\x02\\x09\\xd2\\x0c\\xf9\\x0b\\x13\\x3d\\x32\\xef\\x13\\x04\\xa7\\x05\\xd6\\xb8\\x4e\\x2a\\x12\\xe5\\x7d\\x3e\\x16\\x2b\\xbf\\x8b\\xf0\\x80\\xe6\\x27\\x05\\xa7\\x13\\x29\\xc6\\x13\\x26\\x1d\\x64\\xab\\x55\\xb5\\x6a\\x35\\x3a\\x14\\xb2\\x93\\x51\\x7f\\xad\\x6d\\x32\\x81\\x70\\x95\\x43\\xd2\\x3c\\x7f\\x4e\\x69\\xa5\\x8f\\xb3\\x07\\x7a\\xe6\\xb4\\x34\\xf5\\x7d\\xde\\xd9\\x79\\x2f\\x13\\xbe\\x2a\\x7c\\x88\\xf4\\x8e\\x6d\\x37\\x6f\\xeb\\xe0\\xef\\x01\\x3f\\x5c\\x2d\\x28\\xed\\x19\\x2a\\x2b\\x1d\\xf1\\x87\\xd4\\xb3\\x26\\x30\\x96\\x55\\x42\\x5a\\x8d\\x50\\x67\\x61\\x3d\\xc9\\x31\\x26\\x82\\x21\\x1c\\x4e\\xab\\x1e\\x91\\x29\\x66\\xbd\\x63\\x7e\\xfa\\x8a\\x0f\\xb1\\xa0\\x42\\x32\\x1f\\x79\\x95\\xac\\x54\\xfe\\xb1\\x77\\x1f\\x60\\xf6\\x1e\\x58\\x33\\x6d\\x68\\x66\\x4f\\xcf\\xcc\\xa1\\x69\\x54\\xbf\\xf2\\xf6\\xc9\\x5b\\x41\\xec\\xb6\\x5b\\xf7\\x6e\\x59\\x77\\xfd\\xf5\\x9b\\xb6\\x23\\x5d\\x0d\\x41\\x3f\\xf7\\x09\\x7c\\x9e\\x83\\x88\\xcb\\x66\\x13\\xc1\\x33\\x50\\x32\\x2e\\xd6\\x6c\\x40\\xf1\\xc0\\x4e\\x50\\x5a\\x3c\\x28\\xa8\\x5f\\x21\\x7f\\xa1\\x7c\\xd0\\x78\\x35\\x32\\x84\\x3c\\x57\\x35\\x02\\xe1\\xc8\\xbe\\xf4\\xdc\\xb0\\xa7\\xaa\\xf7\\xde\\x25\\x2b\\x66\\x75\\xd2\\x3d\\xa2\\x57\\xf9\\x7f\\x47\\x6e\\x17\\xbf\\xb6\\xd4\\xf7\\xd7\\x3d\\x6b\\xed\\xe8\\x79\\x51\\x6a\\x26\\x99\\x80\\xcf\\xb3\\xa0\\x09\\x1e\\x68\\x8e\\x3a\\xbd\\xde\\x6a\\x83\\x16\\xa0\\x65\\x42\\x85\\x47\\x7f\\xb4\\x93\\x3f\\xb8\\x48\\x06\\xcf\\x4f\\x1f\\x9c\\xd9\\xb3\\x06\\x71\\x44\\xcd\\xdc\\xb7\\x65\\xdd\\x61\\x10\\x3f\\xa1\\xe1\\x59\\x47\\xa1\\xcc\\x12\\xd4\\x4c\\xf5\\x33\\x33\\x67\\x7f\\x2c\\x8c\\x91\\xcc\\xd4\\xbd\\x97\\x3b\\xf2\\x43\\x26\\x90\\x90\\xd6\\xf4\\xcc\\x1c\\xe8\\xa3\\x66\\x2a\\xef\\x9c\\xbc\\xe5\\xfa\\x8d\\x5b\\xaf\\x55\\x7d\\x47\\x05\\xd4\\x99\\x7e\\x2c\\x97\\x20\\xd4\\x1a\\xbb\\x8f\\x86\\xc5\\x9f\\xd3\\xe4\\x30\\x85\\xc2\\xbc\\xc3\\x61\\x0f\\x58\\xad\\x7a\\x3b\\xd4\\x91\\x33\\x5e\\x9a\\x76\\xe3\\xa5\\x81\\xbf\\x83\\x2d\\x57\\xb5\\x05\\xad\\x02\\x9c\\x10\\x43\\xc5\\x8c\\x76\\x68\\xc7\\xce\\x9c\\xea\\x21\\x4c\\x50\\xab\\x65\\x41\\x9b\\xe5\\xbb\\x48\\xf7\\x50\\xe5\\xea\\xad\\x7b\\xb7\\xcb\\x93\\xa9\\x2b\\x95\\xcf\\x7a\\xc0\\xfa\\x93\\x3d\\x95\\x4d\\x2d\\x27\\xe9\\x16\\xd6\\x1b\\x96\\xbc\\xc7\\x8f\\xde\\x72\\xa7\\xb5\\xf3\\x76\\x9b\\xdf\\x6f\\x03\\xe7\\x7f\\x63\\x57\\xda\\xcc\\x19\\xfe\\xc1\\x32\\xfa\\xbf\\x20\\xad\\x15\\xb2\\xcd\\x64\\xb3\\xe1\\xb3\\xba\\xb4\\xd5\\x6a\\xd0\\x9b\\x9e\\x81\\x44\\xa1\\xfb\\xea\\x50\\xee\\xde\\x9e\\x7a\\x2d\\xdb\\x56\\x54\\x57\\x12\\x5f\\x20\\x51\\x87\\x92\\x48\\x74\\xaf\\x63\\x26\\xc5\\xf8\\x45\\x53\\xd3\\xb4\\xe9\\xad\\xc5\\xfb\\xf6\\x15\\xf9\\xe3\\x15\\xc2\\x74\\x98\\x26\\xb6\\x82\\x9b\\xbc\\xce\\xbd\\x7b\\x93\\xca\\x9e\\x78\\x89\\x29\\x6e\\x41\\xf7\\xfb\\xa1\\x9c\\x6b\\x25\\xf4\\xad\\x0e\\xa2\\x55\\x66\\x09\\x01\\x21\\x3e\\x0b\\x46\\xa7\\x8b\\x11\\x45\\xbd\\x84\\x12\\x72\\xf8\\x78\\x92\\x53\\x7b\\x20\\x16\\x5c\\x1b\\xe7\\x52\\xf1\\x82\\x1c\\x50\\xb4\\xab\\xb7\\xf1\\xe2\\x14\\x2b\\x8e\\x41\\xa0\\xd0\\xbb\\x37\\x47\\xa7\\x76\\xcc\\x3a\\xd7\\xf3\\x00\\x13\\xd9\\x5c\\x76\\xac\\xf7\\x11\\xf2\\xcd\\x15\\x02\\x78\\x96\\xf5\\x8e\\xff\\x0d\\x9a\\x8a\\x3d\\xf6\\x10\\xd8\\x80\\x5d\\x2d\\x9a\\x01\\x26\\xcb\\xc9\\x34\\xbd\\x06\\xd2\\x51\\x26\\x0b\\xf9\\xe7\\x51\\x1c\\xa2\\x95\\x61\\x0c\\x08\\x94\\x32\\x95\\xcd\\x65\\x26\\x9e\\x43\\xa9\\x0b\\xc3\\xbc\\x01\\x37\\x3b\\xa2\\xe8\\x1d\\x78\\x64\\x85\\x80\\x1c\\x07\\x69\\x52\\x9f\\xa2\\x1c\\x83\\xaf\\xdf\\x2e\\xa4\\x04\\x3d\\x33\\x41\\x46\\xa9\\x67\\x20\\xef\\x15\\xc4\\x42\\x99\\xe7\\x4d\\x41\\xc6\\x45\\x44\\xa3\\x65\\x65\\x2e\\x13\\x74\\x97\\x65\\x15\\xd0\\x83\\xc8\\xa6\\x52\\xec\\x2a\\xcd\\x31\\x2f\\xaa\\x4e\\x64\\x73\\x58\\x14\\x0d\\xd8\\x91\\x52\\x86\\x4c\\xe6\\x99\\xcc\\x76\\xd0\\xb2\\x6e\\xb3\\x70\\x2b\\x06\\x92\\x89\\x9b\\xb3\\x19\\x99\\x64\\x0e\\xed\\x34\\xe4\\x1f\\xe1\\xc9\\x5d\\x64\\x1c\\xa5\\x78\\xe8\\x31\\x47\\xc3\\xc9\\xed\\xf1\\x63\\x53\\x01\\x31\\x32\\x6a\\x5f\\x12\\x32\\xcd\\x02\\x16\\xec\\x31\\x09\\xe4\\x32\\xc9\\x51\\xe8\\x32\\xbd\\x50\\x78\\x57\\xe3\\x68\\x75\\xfb\\x0a\\xab\\x21\\x14\\xcf\\xbe\\xe1\\x91\\x7c\\x33\\x41\\x0c\\x5c\\xf8\\x02\\xae\\xef\\x28\\xe4\\xd1\\x86\\xb2\\x45\\x3d\\x69\\xb4\\x91\\x36\\x96\\xb3\\x19\\x8d\\x7a\\x3d\\x09\\x7d\\x29\\x52\\x2b\\x03\\x01\\x72\\xd5\\x3d\\x3f\\xb1\\xa4\\xce\\xdd\\x51\\x08\\x25\\x0c\\x7a\\x13\\xbf\\x9b\\x04\\xf4\\xf3\\x1e\\xfc\\x5a\\xfa\\xf5\\x7a\\xf8\\xc1\\x0e\\xf8\\x24\\x4e\\xd9\\x0e\\x0e\\xc1\\xef\\x56\\x75\\x1d\\x13\\x30\\x66\\x2e\\xa1\\xf7\\xc1\\x04\\xb0\\x51\\x76\\x4b\\x5e\\x53\\xcc\\x14\\x2b\\x29\\x0d\\x08\\x82\\x8b\\xa6\\x0d\\xae\\x30\\xcb\\x1a\\x8a\\xcc\\x66\\xc2\\xa0\\x56\\xf1\\x78\\x7b\\x11\\x9a\\x98\\xd0\\xc4\\xe7\\x1f\\x41\\x00\\x68\\xcb\\x36\\xff\\x08\\x42\\x7d\\xc1\\x09\\x84\\xec\\x01\\x04\\x52\\xd7\\xd6\\x13\\xf6\\x78\\x82\\xd3\\x5a\\x93\\x25\\x3e\\xa7\\xe8\\xad\\x99\\x54\\xd2\\xd3\\xba\\xa8\\x6f\\xea\\x15\\x93\\xfa\\x2a\\x5a\\x12\\x5e\\xc1\\xe5\\x2b\\x23\\x93\\x25\\x15\\xd1\\x68\\xa2\\xd4\\xbc\\x7d\\x8a\\x25\\xd6\\x36\\x63\\x47\\x53\\xff\\xb2\\x65\\xfd\\x8d\\x5b\\x87\\xe4\\x22\\xcb\\x94\\xed\\x66\\x3c\\xe3\\x09\\xfd\\x43\\x98\\x39\\x0e\\x7d\\x64\\x8c\\xe8\\x93\\x7d\\x3e\\x82\\x90\\x0c\\x21\\x83\\x39\\x0a\\x43\\x2a\\x60\\xe3\\x25\\xe6\\x68\\xb4\\xa8\\x88\\x11\\x7c\\x76\\x7b\\x40\\xf8\\x77\\x28\\x26\\x17\\xc1\\x80\\x0a\\x28\\xb0\\x56\\x54\\x93\\x6a\\x56\\x90\\xc9\\x17\\xb3\\xe9\\x95\\x1a\\xd3\\xa3\\x7c\\x96\\xe4\\x6c\\x86\\xa8\\x79\\x42\\x5e\\xf5\\xb6\\x71\\x98\\x85\\x9f\\x5c\\xba\\x6d\\xf7\\xca\\x4d\\xfd\\x1d\\x0b\\x86\\x77\\xae\\x9f\\xd3\\x0b\\x74\\x8d\\xad\\xfd\\x1d\\x53\\x66\\x1d\\x1e\\x5e\\x3a\\xbb\\x1b\\x24\\xa8\\xe6\\x93\\x27\\xd6\\x2e\\xe9\\x5f\\x63\\xd3\\x49\\xab\\xe6\\x5d\\xb3\\x3b\\x44\\xee\\xee\\x99\\xbb\\xe3\\x80\\x62\\x73\\x3e\\x3f\\xff\\x4a\\xba\\x8a\\x9c\\x0f\\xe5\\x6d\\x86\\xf4\\x73\\x70\\x7d\\xbd\\xb0\\x22\\xe1\\x49\\xc9\\x69\\x74\\x7a\\x39\\x2f\\xe7\\xf3\\xbb\\x45\\x86\\x01\\x0e\\xe8\\xda\\x9e\\xf0\\x5a\\x81\\x9a\\x8c\\xa4\\x0a\\x0f\\x7b\\xa4\\xb4\\x7b\\xd9\\x53\\x0e\\xc1\\x99\\x52\\xe1\\x23\\xe0\\x6b\\x74\\x78\\xd9\\x21\\xe9\\xe3\\xb5\\x0d\\x64\\xdc\\xbc\\xbf\\x6c\\x7e\\x80\\x59\\x1e\\xf5\\xb2\\x9b\\xf5\\xb5\\x27\\xf8\\xc5\\x3e\\xe7\\xa1\\xc9\\xf4\\x74\\xef\\x22\\x45\\x59\\xf3\\xd7\\xd9\\x09\\xb7\\x9f\\xf6\\x1a\\x62\\xa9\\x2d\\xca\\x63\\xbb\\x8e\\xe8\\x85\\x55\\x07\\xc1\\x89\\x9d\\x6a\\x7d\\x42\\x9a\\x99\\x23\\xf8\\x4e\\xf0\\x76\\xd9\\x11\\x74\\x5b\\x7d\\x25\\x30\\x15\\x21\\x18\\xb7\\xe8\\x16\\xcb\\x13\\xbe\\x92\\x12\\x53\\xc4\\x81\\x52\\x6e\\x93\\x1e\\x06\\xe7\\x8a\\x4c\\xca\\x5d\\xb0\\x71\\x90\\x19\\xc4\\x11\\x33\\xd7\\xc8\\x68\\xe1\\xd0\\x59\\xd8\\xce\\xa4\\xec\\xaa\\x18\\xab\\xa0\\x7d\\x1d\\x59\\x39\\xdc\\x3a\\xc7\\xe7\\x0e\\xb7\\xd4\\xa4\\x52\\x73\\x87\\x7a\\x77\\x6c\\xb9\\x7a\\xff\\xa6\\x55\\x75\\x6d\\x64\\x4f\\xef\\xf5\\xf5\\x4d\\x2c\\x0c\\x61\\xff\\xea\\x9a\\x21\\xee\\x98\\xec\\xaf\\x2e\\x8d\\x74\\xf6\\x4c\\xb9\\x76\\xe8\\xe0\\x89\\xdd\\xbb\\xd6\\xdf\\xea\\xab\\x9a\\xa3\\xa4\\x17\\xac\\x79\\x6f\\xea\\xea\\x6a\\x4b\\x68\\x17\\x8e\\x17\\x51\\x28\\xcf\\xc3\\xf4\\x16\\x98\\xf3\\x45\\x88\\x6e\\x59\\xb2\\x30\\x1e\\x87\\x01\\x30\\x21\\x82\\x60\\x01\\xe3\\x88\\x16\\xf9\\x45\\xd1\\x68\\x40\\xfd\\x89\\x10\\xcb\\xba\\x49\\xd4\\x9f\\xd0\\x74\\x61\\x82\\x53\\x54\\x15\\x23\\x63\\x44\\xea\\x95\\x38\\x0d\\xea\\x61\\x1f\\x67\\x4e\\x2f\\x44\\x0c\\x4c\\xc2\\xb7\\x01\\xb0\\xa5\\xfd\\xc8\\xa1\\x2b\\xb7\\x80\\xa6\\xe4\\xc8\\x70\\x6f\\xd7\\xa2\\x15\\x37\\x1f\\x3c\\x5d\\x5b\\x33\\x65\\xf6\\x10\\x48\\x9c\\x37\\x1f\\xbd\\xfe\\xc0\\x2d\\x52\\xb9\\xb4\\x69\\x6c\\xeb\\x66\\x2b\\x58\\x3f\\x6b\\xe1\\xb1\\x23\\x87\\xee\\x36\\x83\\xd2\\xcd\\x7b\\xf7\\x29\\xb7\\x5a\\x71\\xec\\x17\\x20\\xcd\\x55\\x50\\x07\\xfc\\x44\\x8b\\xec\\x64\\xf4\\x9c\\x89\\x10\\x25\\x93\\x5e\\x72\\xeb\\xdd\\x81\\x20\\x6f\\x74\\x51\\xb4\\x4e\\xb4\\x22\\x4b\\x87\\x11\\x15\\xa7\\x43\\x18\\x1a\\x15\\x13\\x8a\\xee\\x06\\x56\\x9b\\xc6\\x88\\x4e\\x28\\x52\\x1d\\x74\\x9f\\x42\\x03\\x85\\x55\\xc1\\x29\\xd6\\x37\\x20\\x33\\xd3\\x8b\\x01\\xe0\\x94\\xc0\\x9b\\x3a\\xfb\\xcd\\x9b\\x5a\\x56\\xdf\\xb0\\xf8\\xb0\\xd4\\xba\\xd6\\x22\\x6d\\xdc\\x10\\xbd\\x2a\\x7a\\xb3\\xf7\\x1e\\x5b\\xc0\\x0e\\x12\\x4c\\x14\\x4c\\xfe\\xc5\\x0d\\x76\\xe2\\xc2\\xd3\\x20\\x94\\x30\\x7a\\x0d\\x09\\xe5\\x8b\\xdf\\x0d\\x39\\xdb\\x95\\xcf\\x1b\\x94\\x6f\\xf9\\xed\\xb4\\x57\\x8d\\xc5\\x9e\\x0b\\xd3\\x41\\x1b\\x79\\x4d\\x26\\x8f\\x47\\x59\\x03\\x8a\\xc6\\x30\\x8f\\x87\\x31\\xb8\\xeb\\x49\\x0b\\xcf\\xb3\\xe7\\x40\\xef\\x25\\xf3\\xf8\\xfc\\xfb\\xb9\\xb3\\x1b\\x12\\xbf\\xc9\\xe5\\xf1\\xca\\xfb\\x30\\x8f\\x27\\x1b\\xf0\\xdb\\x78\\x7c\\x3c\\x9a\\xcd\\x1a\\x31\\x0e\\x1e\\x7c\\xee\\x69\\x70\\x33\\xb4\\xf1\\x26\\xd9\\xc4\\xeb\\xf5\\x16\\x0b\\x90\\x1c\\x56\\x16\\x3d\\x13\\xbe\\x36\\xc1\\x67\\x3e\\x05\\x09\\xa1\\x50\\x5f\\xb5\\x1b\\xf5\\xc6\\xb2\\x7b\\x0f\\xf9\\x9e\\x10\\xaa\\x21\\x4c\\x72\\x73\\xbb\\x21\\x28\\x01\\x00\\xa7\\xdd\\xd1\\xe0\\xb0\\x6f\\x54\\xf9\\x6b\\x0f\\x0c\\x2c\\xe5\\x5b\\x22\\xe0\\xe6\\xdb\\x3b\\x78\\xab\\x32\\x3f\\xf3\\xf8\\xee\\x48\\x0a\\xcf\\x24\\xb6\\x93\\xeb\\xc1\\x1e\\x18\\xdb\\x9a\\x2f\\x11\\x63\\xbb\\x9e\\x80\\x11\\xf6\\x1c\\x98\\xfa\\x84\\x91\\xb6\\xa8\\xec\\xa7\\xda\\x53\\x97\\x88\\xb0\\xce\\x4b\\x47\\xd8\\xf7\\x0a\\xe3\\x9a\\xfd\\x92\\x01\\x16\\x5c\\xf8\\x17\\xa4\\x61\\x09\\xa4\\xc1\\x46\\xd4\\xc8\\x5c\\x5e\\x1c\\x20\\xf5\\x7a\\x14\\x06\\xba\\x70\\x18\\x98\\x9a\\x6d\\xf2\\x16\\x44\\x01\\x66\\x42\\x14\\x98\\x9a\\x17\\x05\\x5e\\xb8\\x28\\x08\\x90\\x44\\x9d\\xd2\\x45\\x46\\xc9\\x47\\xb0\\x4f\\xed\\xbc\\x9c\\x4f\\x85\\x31\\x01\\xa0\\x0e\\xdf\\x34\\xf8\\xdc\\x1e\\x64\\x41\\xaa\\x1f\\xfd\\xff\\xe3\\x4b\\xbf\\x7a\\x79\\x5f\\xaa\\x74\\xfd\\x2f\\x7c\\xa9\\x15\\xcd\\xb5\\x41\\x19\\x79\\x51\\xac\\xbc\\xc8\\x97\\x3e\\x03\\xc9\\xb4\\x42\\x62\\xbb\\x90\\x90\\xfe\\x8f\\x9e\\xd4\\x7a\\x09\\x4f\\x0a\\x96\\x7e\\x99\\x27\\x45\\x72\\x8c\\x41\\x7a\\x2a\\xc1\\xad\\x08\\xaa\\x12\\x51\\x64\\x0a\\x06\\x3d\\x22\\xac\\x22\\x98\\xe2\\x98\\x39\\xa2\\xd7\\xa3\\xad\\xa9\\x1e\\x68\\xf3\\x14\\x52\\x5a\\x35\\x55\\xcd\\x5e\\x57\\xa9\\x8a\\x0d\\xe1\\xb4\\x87\\x78\\x0e\\x01\\x40\\x45\\x03\\xa4\\x13\\xfe\\x3f\\x0a\\x9d\\x65\\x25\\xc0\\x92\\x53\\xcb\\x8b\\xd8\\xde\\xbd\\xc0\\x70\\xa1\\x73\\xa5\\x9d\\xd6\\x47\\xa6\\x0f\\xec\\xe9\\x8d\\x90\\x01\\xdb\\xe6\\x9e\\xa3\\xbb\\xc1\\x9d\\xd3\\x86\\x6e\\xeb\\x86\\xc5\\x46\\xf9\\xb9\\x6f\\x29\\x6f\\x2b\\xef\\x75\\x34\\x6d\\x99\\x19\\x33\\x58\\x7d\\xc9\\x84\\xc7\\xa8\\xb3\\xfd\\x10\\x14\\xef\\xdd\\xfe\\xc5\\xa1\\xf5\\x5b\\xb5\\x9e\\x14\\xa4\\xf3\\x06\\x70\\x14\\xfb\\xcc\\x4e\\xd9\\x6e\\xc1\\xde\\xd2\\x03\\xdd\\xa6\\x03\\xb9\\x4c\\xa3\\xc1\\xe0\\x87\\x65\\x71\\x57\\xc6\\x65\\x4e\\xcd\\x2c\\x78\\xa1\\xcb\\x54\\x0b\\x62\\x55\\x94\\xff\\x1b\\x8f\\xb9\\xf5\\xd2\\x1e\\x53\\xe9\\xfa\\x9f\\x3d\\xa6\\x76\\x7f\\x18\\x59\\x0d\\xd7\\xda\\x4f\\x54\\xca\\x9c\\x09\\xfa\\x4a\\xe4\\x2c\\x29\\x97\\x91\\x57\\x9d\\x65\\x17\\x76\\x96\\x3d\\x05\\xce\\x52\\xcb\\x4e\\xbe\\xdc\\x4b\\xbe\\x75\\x59\\x2f\\xa9\\x74\\xfd\\xcf\\x5e\\x92\\x24\\xbc\\x17\\x3e\\x66\\x4e\\xe3\\x33\\x9c\\x35\\x30\\x2b\\xad\\xf1\\x56\\x16\\x13\\x44\\x28\\x64\\x74\\x54\\x95\\x39\\xca\\x92\\xa9\\xf2\\x30\\xbe\\xfe\\xbf\\x92\\x18\\x48\\x1b\\xd8\\xca\\xe2\\xe2\\x4a\\xd6\\x40\\x0b\\xf1\\xa8\\x9b\\x83\\xe6\\x14\\x18\\x4a\\x5b\\x04\\x47\\x0e\\x4d\\x04\\xd1\\x5d\\x05\\xff\\x57\\x7e\\x89\\x1b\\x40\\xd5\\xb1\\x6c\\x3b\\x9e\\xd7\\xd2\\xba\\x91\\xd8\\xa3\\x40\\xa9\\xf3\\x99\\x7b\\x83\\xd5\\xec\\x14\\x69\\x90\\x04\\xf0\\xbd\\x3b\\x31\\x6a\\x79\\xeb\\x9e\\x15\\xf5\\xb7\\x55\\x57\\x3f\\x38\\xfb\\xd0\\xe3\\xe5\\xd5\\x0f\\x6e\\x5c\\xbf\\xb1\\x65\\x1b\\x08\\x4c\\x5b\\xf4\\xcb\\x9b\\x41\\x6a\\xee\\x3e\\x70\\x95\\x72\\x72\\xe5\\x7a\\x70\\xeb\\x02\\xf0\\xae\\x70\\xc3\\x57\\x07\\x04\\x73\\x63\\xb0\\x72\\xee\\xcc\\x99\\x73\\x9b\\xf7\\xae\\x25\\x87\\xdc\\x15\\xe3\\x9b\\x97\\x2c\\xfe\\x94\\x94\\xdc\\x15\\x81\\x06\\x65\\xf9\\x10\\xb8\\xf3\\xf4\\x03\\x4f\\x7e\\x55\\x3d\\x5b\\xf7\\x4d\\x34\\xf3\\x01\\x73\\x06\\xd4\\xf3\\x5a\\x21\\x37\\x86\\x99\\x8a\\x0a\\x1f\\x1f\\x33\\xf3\\xe6\\x64\\x8a\\x8a\\x0e\\xa5\\xbd\\xf6\\xa1\\x34\\xe5\\x2a\\xf6\\x7a\\x8b\\x61\\x28\\x33\\x04\\x83\\xfe\\xfe\\x74\\x90\\xa8\\xa8\\xb2\\x55\\x0d\\xa4\\x79\\x9b\\x23\\xa1\\xd3\\x19\\x0c\\xa5\\x83\\x69\\x03\\x97\\x81\\xcd\\x72\\x65\\x44\\xa0\\x0e\\x42\\xb9\\x34\\x21\\xe4\\x35\\x86\\xb3\\x39\\xb9\\x5e\\xd5\\x2b\\x84\\xbe\\x11\\xe7\\xf1\\x46\\x6e\\x14\\xba\\x75\\x27\\xde\\x56\\xc6\\x0d\\x48\\x75\\x77\\x17\\xb7\\xb6\\xc9\\x94\\x71\\xd9\\xac\\x70\\x48\\xb7\\xf4\\xf6\\xe7\\x5f\\xfb\\xd5\\xcf\\x66\\xff\\x64\\x66\\x2c\\x54\\x9a\\x32\\xd4\\xc2\\x7f\\xf4\\x1e\\x06\\x55\\x53\\xa3\\xb3\\x58\\xe2\\xc2\\xde\\xeb\\x9a\\x37\\x7b\\x46\\xc6\\x6e\\xd8\\x49\\xff\\x66\\xc3\\x5a\\xc3\\xc9\\x99\\xff\\xfd\\xf1\\xb8\\xf2\\xcf\\x58\\x90\\x8e\\xf3\\x15\\xf5\\x9b\\xd6\\x90\\xcb\\x5d\\x15\\xff\\x1d\\xbd\\x62\\xdc\\x7a\\xee\\x8c\\x64\\x19\\x77\\x72\\xef\\xa8\\xf7\\x43\\xd3\\x03\\x90\\xf7\\x32\\xa2\\x96\\x18\\x93\\xe5\\x72\\xda\\x69\\x26\\xaa\\xab\\x7d\\x71\\x3a\\x5e\\x57\\x5f\\x16\\xef\\x4f\\x97\\x49\\x45\\x70\\x61\\x25\\xdb\\x50\\xba\\x48\\x08\\x49\\x52\\x48\\x28\\xa2\\xf5\\x1e\\x8f\\xab\\x3f\\xed\\x21\\x6a\\x50\\x16\\x9f\\x1a\\x48\\xeb\\xb9\\x6a\\x28\\x45\\xb2\\x72\\x50\\x1d\\x8f\\xd1\\x64\\x90\\xfb\\x9e\\x27\\x04\\x22\\x77\\x79\\xb4\\xba\\x95\\x87\\x8e\\x7d\\xea\\xf2\\x2e\\x8d\\xce\\xca\\x20\\x99\\x13\\x42\\xca\\x06\\xca\\x41\\x1c\\x45\\x3e\\x80\\x4b\\x4b\\x74\\x83\\x34\\xf9\\xe6\\xc6\\x93\\xda\\xd5\\xd1\\xd3\\x23\\x9a\\x18\\x22\\xa1\\xbb\\x40\\x67\\x51\\x78\\x16\\x8b\\xde\\x58\\xad\\x9b\\x95\\x7f\\x28\\xc1\\xbd\\x07\\x36\\xce\\x43\\x37\\x49\\x77\\xcf\\xd3\\x6e\\x90\\xde\\xc8\\x14\\x21\\x51\\x18\\xd7\\xba\\x2a\\xfe\\xc5\\x5f\\xb1\\x61\\x2d\\x38\\xdf\\xee\\xae\\x00\\xaf\\x3d\\xfb\\x4c\\x9c\\xfc\\x88\\x87\\x71\\xea\\xcf\\x90\\x95\\x6f\\x30\\xf7\\x11\\x49\\xe2\\x4a\\xb9\\xa1\\x3c\\x4e\\x51\\x2e\\x7b\\x89\\x21\\x68\\x08\\xa6\\x6a\\x7d\\xd1\\x81\\x74\\xc8\\x07\\xca\\x1c\\x2e\\xc7\\x40\\x9a\\xa8\\x18\\x4a\\x0b\\xe6\\xa1\\x34\\x47\\x54\\x0b\\x42\\x35\\xc1\\xd1\\xba\\xb8\\x8b\\xa5\\x0c\\x3a\\xc3\\x40\\x5a\\x97\\x3b\\xf4\\x9a\\xb5\\x80\\xc2\\x79\\x7f\\x34\\xa8\\x9e\\xd4\\x76\\xbb\\xe2\\x5a\\x44\\xc7\\x08\\x4c\\xfa\\x68\\x3d\\xbe\\xed\\xb2\\xae\\xa1\\x2e\\x3f\\xf5\\xf4\\x83\\x94\\x36\\xc0\\xde\\x90\\xd2\\x81\\xa7\\xdc\\xd2\\xab\\x0a\\x7d\\x63\\x43\\x24\\x14\\x77\\xe8\\x6b\\xd9\\x33\\x4e\\xe7\\x7d\\xf7\\x3d\\x78\\x62\\x46\\x47\\x4d\\x45\\xa4\\xba\\xbd\\xf6\\x8b\\x2f\\x6a\\x8b\\xcb\\xab\\x8d\\xb5\\x2c\\x18\\xd1\\x29\\x9f\\x87\\x2b\\x2a\\xc2\\x60\\x6d\\x91\\xab\\x22\\xf9\\x17\\x1d\\xa0\\x6b\\xe2\\x1d\\xaf\\xff\\x52\\x7c\\x6d\\x87\\xb4\\xe1\\xd4\\x9d\\x23\\xca\\x1d\\x45\\xc9\\x4e\\x7c\\xb7\\x04\\x21\\x42\\x5f\\x53\\x09\\x6d\\xbe\\x81\\xe8\\x26\\x06\\x89\\xbb\\xe4\\xe1\\x01\\xa2\\xa4\\x24\\x35\\x45\\xf6\\xfb\\xa7\\x46\\x1a\\x9d\\x4e\\x4b\\xa4\\x42\\xa8\\x10\\x86\\x86\\x7d\\x51\\x4f\\xbc\\xd1\\x33\\x94\\x1e\\x88\\x0f\\xa5\\xa7\\x4c\\x6d\\xb4\\xd5\\x34\\xda\\x06\\x06\\x6c\\x8d\\x35\\x74\\x79\\x7d\\x7d\\x6d\\x7f\\xba\\x9e\\x2d\\x89\\xf8\\x9d\\x42\\x45\\x79\\x45\\x7f\\x3a\\x04\\xdd\\x5f\\xf3\\x0c\\x6a\\xc6\\x50\\x5a\\xd6\\xe9\\xfa\\x09\\x23\\xc5\\x65\\x6a\\xd5\\xc2\\xe3\\xc0\\xa9\\x42\\x05\\x41\\x1e\\xae\\x3c\\x8b\\xad\\x97\\x87\\xe2\\x80\\x5d\\x86\\x26\\x32\\xdc\\xf8\\xc0\\xed\\x0f\\x5e\\x42\\x02\\xd1\\x72\\xa2\\x3a\\x14\\x93\\xf9\\xcc\\x11\\xe2\\xec\\x61\\x6c\\xa8\\x4d\\xf5\\xea\\x61\\x1b\\xb4\\x75\\x68\\x23\\xd1\\xce\\x16\\x74\\x3b\\xc5\\x50\\xbf\\x70\\xbb\\x49\\xaa\\x07\\xdd\\xd3\\x4f\\xcb\\x5d\\x63\\x68\\xe4\\xe0\\xcf\\x1d\\xae\\x5a\\xcf\\xe6\\x6b\\x94\\x59\\x37\\x15\\x37\\xee\\xfd\\xc6\\x11\\xa5\\xe3\\xc6\\xa5\\xdf\\x99\\x25\\x1c\\x51\\x66\\x6f\\xed\\xb1\\xd7\\x3a\\xb7\\x6d\\x05\\x22\\xf5\\x5d\\x6d\\x1c\\x61\\xe9\\x33\\xb3\\xce\\x3f\\x3b\\xf6\\xe4\\xac\\x59\\x73\\xf7\\x97\\x51\\xa3\\xe5\\x93\\xd0\\x88\\x83\\xf2\\x87\\xdf\\x84\\xda\\x76\\x4f\\x51\\xde\\x47\\x87\\x78\\xff\\xc4\\x94\\x2b\\x7f\\xc0\\xe7\\x92\\x27\\xfb\\x12\\xca\\x56\\xfc\\x6a\\x45\\xa4\\x75\\x77\\x27\\x98\\x0d\\x7d\\xd1\\x85\\xcf\\x1e\\x51\\xa7\\x20\\x9e\\xf5\\x95\\xdf\\x5d\\xbe\\x67\\x38\\xed\\xff\\x6f\\x1d\\x8e\\x65\\x3c\\xba\\x28\\x06\\xae\\x05\\xba\\x37\\x6c\\xa3\\xdc\\x9a\\x20\\xbc\\xde\\x78\\xa8\\xc6\\x6e\\xd7\\xb3\\x21\\xb6\\xb1\\xa9\\x46\\x1a\\x4a\\x27\\xe0\\x12\\x14\\xd5\\x98\\x12\\x09\\x53\\x4d\\x11\\x1d\\x28\\x2b\\x2b\\x81\\x46\\xca\\x7a\\xed\\x6c\\x28\\x10\\xea\\x4f\\x0b\\x01\\x09\\x4d\\x3d\\x50\\x75\\xd0\\x65\\x4d\\x74\\x48\\xa9\\xcb\\xb8\\xa4\\x54\\x9e\\x57\\xd2\\x00\\x2e\\xdb\\x00\\xb2\\xba\\x8c\\x64\\x2b\\xa9\\x78\\x4e\\x9a\\xf0\\x3f\\x21\\x71\\x8a\\x01\\x4a\\x93\\x20\\xe8\\x9c\\xf1\\xd8\\xa4\\xed\\x3b\\x4b\\x12\\xfa\\x5a\\xe3\\xf4\\x66\\x74\\xba\\xb9\\x6e\\xd9\\x92\\x85\\xe5\\x7b\\x94\\x55\\x1b\\x7b\\xc5\\x5a\\xd3\\xb4\\xe6\\x8d\\xc0\\x62\\xae\\x5d\\xbe\\x64\\x41\\x62\\x70\\xd6\\xbc\\xfd\\xd4\\x68\\xa2\\xe9\\xe6\\x43\\x9f\\x8b\\xed\\xfe\\x81\\x6d\\x3e\\xe5\\x02\\x12\\xcb\\x1f\\xf5\\x45\\xe5\\x65\\x56\\xe5\\x20\\x16\\xd1\\xb6\\x70\\xff\\xc8\\x66\\x1f\\xa8\\x75\\x57\\x28\\xa7\\x0c\\xe8\\xdf\\xff\\x6b\\x78\\xb1\\x1f\\xfa\\xe8\\xd3\\x4a\\x1f\\xf5\\x6d\\x28\\x97\\x4a\\xa2\\x91\\xd8\\x2c\\xcb\\x75\\x71\\x37\\x45\\xd9\\x0d\\x55\\xd0\\x32\\x9b\\x26\\xd5\\x35\\x44\\x1a\\xa0\\x49\\x96\\xaa\\x26\\x49\\x70\\x09\\x41\\x48\\x70\\x04\\xad\\x2b\\x8a\\x38\\x6a\\xdd\\x6e\\x9f\\x2f\\x39\\x98\\xf6\\x71\\x18\\xfd\\x02\\x9b\\x68\\x7f\\x5a\\xe7\\x2d\\x04\\xc0\\xd5\\x84\\x54\\x60\\xae\\x05\\xfe\\x5a\\x35\\x55\\xb5\\xcd\\x56\\x97\\x6f\\xaa\\x50\\x12\\x99\\x4e\\x1c\\x74\\xe2\\x71\\x28\\x3a\\xcd\\x4c\\xc5\\xec\\x9e\\x24\\x58\\xeb\\xf0\\x3c\\xa0\\xc8\\x5b\\xeb\\x33\\x06\\xeb\\x70\\xae\\x06\\x06\\xb2\\xec\\xc8\\xd4\\x33\\x2f\\xbf\\xfd\\xea\\xc6\\xe5\\xba\\x86\\x22\\x6c\\xb0\\x3f\\xdf\\xb5\\x67\\x6c\\x66\\x7a\\xd5\\x79\\xe5\\x65\\x3d\\x5a\\x20\\xd7\\xa9\\x28\\x36\\x5b\\xea\\x5e\\x77\\x45\\x43\\x51\\xe2\\x8b\\xdf\\xff\\x49\\xf9\\xc2\\xd1\\x5b\\x5a\\x1e\\x83\\x56\\x4b\\xf9\\x9e\\x7f\\x26\\x3c\\xce\\x23\\x7f\\xf5\\x28\\x54\\x9a\\xdb\\xb1\\xbe\\x2c\\x95\\xeb\\x8b\\xb0\\x50\\x0c\\x81\\x44\\x45\\xd4\\xed\\xf6\\xfb\\x43\\x43\\xe9\\x80\\x9f\\x23\\x62\\x19\\xb9\\x94\\x0a\\x42\\x29\\x92\\x8b\\xb3\\x40\\x16\\x79\\x13\\x66\\x85\\x9e\\x3a\\x95\\x3f\\x11\\x97\\x51\\x90\\x4b\\x3a\\x2c\\x55\\x0a\\xcd\\x99\\x1a\\x25\\xe3\\xa9\\x36\\x49\\xce\\x7b\\x95\\x8e\\xad\\xf5\\xc5\\x1a\\xe3\\x76\\xdf\\x56\\x20\\x18\\x5b\\x5e\\x6b\\x61\\xcb\\x27\\x25\\x0f\\x27\\xeb\\xc3\\xaa\\xa3\\xea\\x65\\x94\\x7f\\xaa\\xe6\\x11\\x43\\x1c\\xeb\\x41\\xd0\\x5d\\x31\\x96\\x5c\\xa0\\xac\\xf3\\x3a\\x94\\x5f\\x47\\xb1\\x93\\x02\\x17\\xce\\x41\\x3e\\x37\\x42\\x3e\\x4b\\xd1\\xb9\\x7d\\x83\\x28\\x16\\xb9\\x5c\\x44\\x59\\x39\\x67\\x1a\\x4a\\x47\\xbc\\xd0\\x0d\\x87\\xac\\x91\\x88\\x35\\xc4\\xd1\\x8e\\x78\\x9c\\x1e\\x48\\x83\\x38\\x27\\xe2\\x81\\x7d\\x87\\x94\\x8f\\xc2\\x70\\x29\\xcd\\x57\\x67\\x37\\xb0\\x93\\xd5\\xc8\\x8e\\x5e\\x8a\\x45\\x1c\\x91\\xc8\\x8d\\xaa\\x8f\\xad\\x53\\x3d\\xec\\x19\\xb7\\xe3\\x88\\x22\\x1f\\xa9\\x2d\\xca\\x3a\\x62\\xf3\\x03\\x37\\xf4\\x4d\\x21\\x7f\\x8b\\x1c\\xec\\xfe\\x62\\x48\\xb8\\x4e\\xf9\\x07\\x66\\xec\\x2a\\xd5\\x03\\x7f\\xf7\\x05\\x51\\x9d\\xfd\\x83\\xf9\\x86\\x1e\\xf2\\x92\\x82\\xd9\\x6a\\xb8\\x54\\x32\\x54\\xd9\\x22\\x86\\x48\\x6d\\x9d\\x47\\xe7\\xa7\\xe1\\x9f\\x62\\x73\\x71\\xc5\\x40\\xba\\xb4\\xd8\\x61\\x16\\x06\\xd2\\x36\\x34\\xcb\\x9a\\xca\\x5d\\x7d\\x8b\\x18\\x10\\x32\\xde\\x51\\x5b\\x13\\x31\\x82\\x9d\\x5c\\xac\\xae\\xb0\\x5d\\x11\\x20\\x55\\x7e\\xf4\\x19\\x10\\xd6\\x4c\\x97\\xbd\\x92\\x3c\\x5d\\x12\\x33\\xd4\\x9a\\x7a\\x1c\\x0f\\x1f\\x5b\\x71\\x47\\x55\\x59\\xdd\\xa6\\xc1\\x59\\xe5\\x33\\x3f\\x4c\\x96\\xc4\\xf5\\xb5\\x96\\xc9\\x81\\xc7\\x1f\\xed\\x7e\\xb8\\xba\\xa2\\x66\\xfa\\xb6\\x17\\x13\\x83\\x9f\\x80\\x37\\x8b\\xeb\\x4e\\x34\\x55\\x76\\xed\\x3c\\x1a\\x7c\\x6d\\x6d\\xd5\\x40\\x67\\x79\\x7b\\x65\\x5f\\x2c\\x75\\xbc\\xa1\\xb1\\xef\\xa6\\x63\\x7e\\xe1\\xa3\\xfd\\x9d\\x0f\\xd5\\x74\\x26\\xa7\\xc3\\xf5\\x79\\xf0\\xc2\\xc7\\x64\\x05\\xbd\\x8f\\xa8\\x20\\x46\\xe4\\xca\\x58\\x84\\xa2\\x82\\x5e\\x96\\x35\\x54\\x56\\xf9\\x8a\\x23\\xc5\\xd0\\x36\\x4b\\x86\\xd2\\x6e\\x01\\xea\\xa0\\xb3\\xdc\\xed\\x2e\\x77\\x12\\xb4\\x25\\x24\\x07\\x23\\xac\\x45\\x37\\x88\\x66\\x8f\\xd5\\x09\\x2b\\xcf\\x6b\\x97\\xb2\\xbf\\x9c\\xde\\xe5\\x6f\\x5d\\xe3\\x44\\x21\\x2f\\x5e\\x66\\x5a\\xcf\\x19\\xcd\\x5b\\xe5\\xf1\\x36\\x57\\x4f\\x1a\\x8e\\x1e\\x68\\x1c\\x5d\\x5c\\x9d\\xb1\\x3b\\xde\\xb1\\x63\\xd7\\xb2\\xf6\\xb7\\xdf\\x6e\\x51\\xed\\x0d\\x0c\\x19\\xf6\\x4f\\xee\\xe0\\x26\\xbb\\x82\\x9b\\x56\\xfc\\x23\\x84\\x16\\x88\\x01\\x4c\\x45\\xfc\\x67\\x3f\\x1b\\x51\\xee\\x2a\\x55\\x43\\x23\\x5c\\x2b\\x6d\\x86\\x0c\\xda\\xd7\\x62\\x39\\x15\\x25\\x21\\x63\\x56\\x97\\xdb\\x1d\\xb4\\x18\\x23\\x96\\x48\\xa2\\x82\\x28\\x1e\\x4a\\x3b\\x58\\xc8\\x97\\x58\\xe2\\x70\\x94\\x88\\x04\\x6d\\x0e\\x86\\x42\\x1e\\x98\\x27\\xb0\\x46\\xb3\\x99\\x1a\\x48\\x9b\\x0b\\xc6\\x37\\x85\\x42\\xfd\\x43\\xcd\\x8f\\x64\\xa6\\xe1\\x84\\x59\\xa4\\xc2\\x18\\xf2\\x87\\x0a\\xd7\\x89\\x79\\x89\\x90\\xa8\\x41\\xa8\\x84\\x25\\x4d\\x45\\x6d\\x80\\xac\\x6d\\x68\\x3e\\x03\\xc4\\xa6\\xdd\\x9e\\x54\\x95\\xfb\\xfc\\xf9\\xf1\\x54\\x51\\x6d\\x9d\\xb1\\xd6\\xbc\\x6e\\x59\\xb2\\xf5\\xe9\\x0f\\x1a\\x57\\xda\\x83\\x55\\xe4\\xd9\\x0b\\x44\\x4d\\x69\\x4d\\x83\\xa9\\xd6\\xb4\\x1e\\xf4\\x7b\\x95\\xff\\xf2\\xda\\x5f\\x56\\xbe\\x5b\\x01\\x6e\\xf1\\xd5\\x4e\\xd9\\x35\\xe6\\x01\\x61\\x91\\x3b\\xf4\\x45\\x8d\\xb2\\x36\\x90\\x9a\\xb2\\x63\\x0b\\xcc\\x01\\xfa\\xc6\\xff\\x4c\\xbd\\x86\\xe7\\xcd\\x6a\\x09\\x99\\xd8\\x20\\xb7\\x94\\x34\\x12\\x3a\\x4f\\x9b\\x3f\\x51\\x55\\xe5\\xf4\\x7b\\xbc\\x4c\\x34\\x46\\xe8\\xad\\x76\\xab\\x7d\\x72\\x47\\x2c\\xea\\x65\\xa8\\xba\\x81\\xb4\\xb3\\xbc\\x1c\\x5a\\x5f\\x94\\xa1\\xca\\xa9\\xf2\\x10\\x1f\\x6a\\x1e\\x48\\x17\\x85\\x7c\\x7c\\x12\\x26\\xc5\\xda\\x1c\\xf9\\xf7\\xb3\\x1a\\xdb\\xd4\\x94\\x45\\xaf\\xca\\xdb\\x07\\xce\\x6e\\xe9\\xa1\\x3b\\x0d\\xd5\\xbd\\xde\\x0c\\x9c\\x66\\x66\\x73\\x03\\xf5\\xd4\\xb3\\xfa\\x8b\\x2e\\x96\\x44\\x87\\x1e\\xb3\\x17\\x1a\\x80\\x3c\\xa4\\x85\\xe7\\x5e\\x3c\\x3b\\xd4\\xdd\\x4e\\xf5\\xd6\\x2b\\xbf\\xbf\\xfd\\xf8\\xd8\\xaf\\xef\\x7d\\xfe\\x3f\\x66\\xcc\\x6f\\x9a\\x79\\xd7\\x5d\\xdf\\xfb\\x4e\\xf1\\xa6\\xf0\\x07\\xd1\\x1b\\xa7\\x94\\x76\\xf7\\x80\\x35\\x65\\x75\\x3b\\xf7\\x7e\\xfd\\x29\\x30\\x63\\xed\\xfc\\x45\\x2b\\xd7\\x2e\\x5a\\xb0\\xed\\xbe\\x87\\xd8\\xfd\\x7c\\xe0\\xc0\\xe6\\xab\\xee\\x9c\\xb5\\x65\\x6d\\xdd\\xea\\xc9\\xe2\\x82\\xba\\x27\\xa6\\xbd\\x7b\\xea\\xb4\\xcd\\xbc\\xbe\\xfc\\xd8\\x74\\xea\\xb6\\x26\\xb9\\x68\\x7d\\xf5\\xec\\xe9\\x3b\\xc7\\x6f\\xdc\\xb5\\xe7\\xe0\\xc6\\x6d\\xbb\\x77\\xef\\x56\\xef\\x35\\x68\\x24\\x97\\xd0\\x8b\\x60\\x9d\\xde\\x2d\\x87\\x0a\\xcf\\x87\\xbb\\x8c\\x76\\x1d\\x3e\\x4c\\x4a\\xd8\\xd5\\x83\\xe2\\x3a\\xb5\\xd5\\x8c\\x86\\x0d\\xd4\\x8c\\x37\\xff\\x54\\x46\\xe1\\x89\\x52\\x34\\xe2\\x14\\xae\\xc3\\xdf\\xd5\\x5d\\x40\\xb8\\xe2\\x4e\\x29\\xd5\\xd3\\xf3\\x41\\x0f\\xa0\\x7a\\xde\\xef\\xee\\x7e\\xbf\\x47\\x19\\xef\\x21\\x1b\\x1d\\x66\\xf0\\x5b\\xf8\\x44\\xd3\\xbb\\xef\\xa2\\xaf\\x8a\\xd7\\xec\\x70\\x98\\x7f\\xf7\\x3b\\xb3\\x8a\\x6d\\xd7\\xaa\\x74\\x52\\x5b\\x31\\x56\\x4c\\x9c\\x98\\x23\\x27\\x3c\\x94\\x68\\x14\\x74\\x45\\xfa\\x50\\x48\\xd0\\xb3\\x14\\xe5\\xa4\\x9c\\x25\\xa5\\x06\\xbd\\x28\\xea\\x04\\x13\\x67\\x82\\x2b\\xa6\\xd3\\x11\\x2c\\xc7\\x12\\x7e\\x68\\xa2\\xbe\\xec\\x85\\x2c\\x6a\\x96\\x96\\xdf\\x62\\x70\\x66\\x70\\xe3\\xd4\\x4d\\x7b\\xb5\\x03\\x1a\\xaf\\x03\\xe1\\xac\\x66\\xaa\\xbd\\x51\\x90\\x59\\x8e\\x2a\\x60\\x23\\xc1\\x5b\\xdf\\xf9\\xe0\\xa3\\x37\\xe7\\x82\\x88\\x72\\x5a\\x55\\xc9\\x3f\\x29\\x6f\\x7e\\x7b\\xd6\\xd4\\xdf\\x2a\\x73\\xf6\\xae\\xdd\\x36\\xd6\\xd4\\x1b\\xd8\\xb2\\xaf\\x53\\xe9\\x7c\\xf5\\xa9\\xb3\\xbf\\xf3\\x5f\\x59\\x07\\xba\\x54\\x85\\x3c\\xf7\\xfd\\x25\\x8f\\x8d\\xfe\\xf0\\x2f\\x60\\xc7\\xe1\\xfb\\x1f\\xbf\\xe7\\x8a\\x13\\x03\\x11\\xcf\\xe8\\xdd\\x48\\xe6\\xfc\\x85\\x8f\\x75\\x56\\x58\\xa7\\xb4\\x13\\xf7\\xcb\\xc3\\x0d\\x29\\xbf\\xbf\\xba\\xa4\\x95\\x90\\xa4\\x46\\x0f\\x1b\\xf1\\x24\\x4c\\x09\\x93\\x3c\\x99\\x68\\xf5\\x36\\xb6\\x36\\x96\\xb6\\xb7\\xb5\\xe9\\x9a\\x9b\\x9b\\xfa\\xd3\\xcd\\x84\\xaf\\xa1\\xc1\\x95\\xaa\\xa8\\x4f\\xd5\\x0f\\xa4\\x93\\x72\\x75\\x8a\\x2d\\x73\\x94\\xc6\\x3c\\x12\\x6b\\x0a\\xc5\\x42\\x83\\x69\\xab\\xcb\\x15\\x93\\xec\\x14\\xa5\\xd3\\x41\\xbf\\xa4\\xcb\\xcf\\x95\\xaa\\x32\\xc9\\x29\\x06\\xcd\\x81\\x7e\\x29\\x8b\\xaa\\x98\\xc5\\x46\\xc8\\x6e\\xaa\\x17\\xb6\\x0e\\x52\\xd9\\xbc\\x5e\\xb2\\xeb\\x55\\x1d\\x2e\\xdc\\x93\\x56\\x8f\\x09\\xe7\\x1c\\x59\\x1c\\xdd\\xb9\\x9c\\xe7\\xbf\\x54\\xe4\\xa7\\x86\\x14\\xb5\\x4e\\xdf\\xfb\\x74\\xfb\\xf6\\x9d\\x28\\x9b\\x7a\\x68\\xf1\\xb5\\x7b\\x94\\xa5\\x5b\\x95\\xb5\\x9a\\x47\\x5b\\x5f\\xdd\\xb8\\x7c\\x2f\\xa9\\xba\\x32\\x70\\xfc\\x26\\x90\\x1c\\x5b\\x4a\\xdb\\x5c\\x2b\\x2b\\x4b\\x5b\\x6e\\x3e\\xa4\\xcd\\xd4\\x2e\\x7a\\xc4\\x3f\\x2e\\xe2\\x57\\xbf\\x1a\\xff\\x71\\x40\\x75\\x72\\xfd\\xfd\\x4f\\x88\\xe4\\xd7\\x55\\xff\\x56\\x46\\xd6\\x80\\x13\\xae\\x8a\\xcf\\xee\\x57\\x7d\\x5c\\x39\\x54\\x1c\\x1b\\x9e\\x3d\\x9c\\x22\\x47\\x54\\x8c\\x1e\\xbb\\xa4\\x42\\xf4\\xf0\\x8c\\x8e\\x81\\x51\\x48\\xa7\\x03\\x26\\x56\\xa0\\xb2\\xe0\\x3c\\x19\\x18\\xf0\\x02\\x54\\xba\\x7c\\x58\\x1e\\x6d\\xde\\x07\\x41\\xf2\\x40\\xb6\\x9c\\xe0\\x37\\xca\\xd5\\x63\\xf7\\xdc\\x83\\x26\\xf6\\xbe\\xf6\\xb5\\x4d\\x30\\x22\\x6e\\x18\\x01\\x0b\\xf0\\x84\\xde\\x03\\x23\\xca\\x31\\xb7\\x8a\\xcb\\x4a\\x06\\xf0\\x4c\\x7a\\xa7\\x1c\\x71\\x00\\xc0\\x5b\\xad\\x3a\\xb7\\x47\\x67\\x42\\xea\\x39\\x90\\x76\\x70\\x9c\\xc9\\x6e\\x17\\xfa\\xd3\\x76\\xd6\\x44\\x0f\\xa6\\x4d\\x8e\\x02\\xa4\\x8a\\x8b\\x12\\x15\\xbc\\x00\\xf9\\xd1\\x42\\x23\\x07\\x12\\x03\\xe6\\x56\\xc5\\x2a\\xa7\\x44\\xd7\\xa5\\x66\\x0d\\x1f\\x3a\\x74\\x10\\x94\\xdf\\x0f\\xce\\xfe\\x72\\xf2\\x64\\x6e\\xb2\\x3b\\xb0\\x69\\xc5\\xa7\\x98\\x28\\x65\\xd1\\x08\\xf4\\x87\\x61\\x98\\x6f\\xa2\\x59\\xd6\\x00\\x51\\x04\\x6b\\xe3\\xed\\x72\\x7b\\x49\\xd4\\x69\\x34\\x0a\\xb6\\xd2\\x70\\xd8\\x0f\\x6b\\xf7\\xf2\\x44\\xdc\\xe9\\xf4\\x78\\x8a\\x07\\xd3\\x1e\\x2e\\x02\\x38\\x9e\\x1b\\x48\\x97\\xf8\\x79\\x9e\\x96\\x24\\xb1\\x3f\\x2d\\xb1\\x46\\x9b\\xc5\\xd6\\x9f\\xb6\\x78\\xa3\\x3a\\x1d\\x4d\\x07\\x07\\xd4\\x69\\xfa\\xbc\\xc2\\x38\\x47\\x7a\\x4a\\x1b\\xe2\\x9c\\xc8\\x42\\x2e\\xef\\x8c\\x62\\x45\\x81\\x99\\xa5\\x36\\x55\\xa8\\xb2\\xa2\\x66\\x9d\\xce\\x14\\x48\\x8a\\x61\\x1e\\xc1\\xa7\\xf0\\x61\\x92\\xfa\\x6b\\xb7\\xf9\\xed\\xe7\\x60\\x46\\x89\\xd2\\xcd\\xb5\\x6b\\xb5\\x2c\\xf3\\xe1\\xef\\x1b\\xbb\\x15\\xf3\\x9f\\x2c\\x4a\\x47\\x7a\\xd5\\xd8\\x4c\\xf0\\xac\\x19\\x9c\\xfd\\xc5\\x1f\\x60\\x26\\xa9\\xa0\\x24\\x93\\x8a\\x62\\x9e\\x61\\x82\\xf9\\xeb\\x77\\x95\\x1a\\xb0\\x43\\xf9\\x0a\\x4f\\x85\\xc3\\xca\\x4f\\xc0\\x10\\xf4\\x25\\x19\\x9c\\x00\\x1f\\x94\\xc1\\x2c\\xb9\\x5c\\x88\\x46\\xcd\\x7a\\x11\\xc6\\x37\\xa0\\x07\\xc5\\x31\\xb7\\x9d\\xb7\\xa0\\x01\\xd9\\x08\\x61\\x34\\x19\\x07\\xd2\\x1e\\xc1\\x64\\xa2\\x1d\\x36\\x96\\xf6\\xe7\\x61\\x07\\xe0\\x59\\x43\\xcc\\x60\\x01\\x8a\\x40\\xde\\xce\\xa4\\xea\\xda\\xb3\\x0b\\x94\\x37\\x1e\\x03\\x97\\x0a\\xdd\\xbd\\x1b\\x86\\x36\\xaa\\xe2\\x0a\\x6c\\x41\\xc8\\x02\\xe0\\x0f\\x3b\\xc1\\xe0\\xd8\\x98\\x12\\xdb\\x77\\x40\\x91\\xc0\\xd9\\x2d\\x08\\x5f\\xe0\\x40\\x56\\x97\\x72\\x3a\\xf5\\x95\\x1d\\x57\\xef\\xbc\\xe6\\x53\\xc8\\x83\\x03\\xf2\\x30\\x13\\xf2\\x80\\xfa\\x59\\x3b\\xe5\\x4e\\xc8\\xb3\\x51\\x67\\xb5\\x17\\xf9\\xdd\\x95\\x95\\x25\\x44\\x90\\xf0\\xdb\\x75\\x82\\x2e\\x99\\x2a\\xb2\\x89\\xb6\\xa1\\x74\\x15\\xa1\\x37\\xe8\\xe1\\x42\\xba\\x0c\\x21\\xa1\\xd8\\x22\\x88\\x2c\\x2c\\xfc\\xab\\x0c\\x94\\x91\\x32\\x58\\x0c\\x16\\xca\\x2f\\xb2\\x54\\xf9\\x40\\x9a\\xca\\x31\\xa7\\x22\\x52\\x66\\x0f\\xd7\\x64\\x19\\xcd\\x1f\\xbf\\x2e\\xdc\\x84\\x8d\\xc5\\x21\\xa3\\xe8\\x10\\xae\\x8a\\x50\\x14\\xa6\\xd0\\x9d\\x62\\x95\\x00\\x06\\x7e\\x27\\x3e\\x2e\\x0d\\xbd\\xa8\\x13\\x33\\xde\\x10\\x0e\\x00\\x9a\\x31\\xfd\\xf9\\xdd\\x77\\x3f\\x35\\xf5\\x4e\\xe3\\x1e\\xbf\\x49\\xd7\\x7e\\x43\\x65\\x49\\x83\\x0d\\xdc\\x2f\\xad\\xda\\x62\\x26\\x7b\\xcc\\x63\\xab\\x24\\x70\\x1f\\xdb\\x50\\x52\\x7b\\xb0\\x4d\\x77\\xec\\x51\\x76\\xfa\\xf8\\x87\\x37\\x1e\\xd7\\x8f\\x9f\\xd1\\x1f\\x07\\x73\\x9e\\x3e\\x73\\xe6\\xe9\\x91\\x6b\\x4f\\xbb\\xeb\\x4c\\xcb\\xff\\x79\\x81\\x60\\xaf\\x5b\\xb3\\xfa\\x10\\x0b\\x88\\x7f\\x2e\\x37\\xd5\\xb9\\xbf\\xb9\\x67\\x44\\xf9\\xd5\\x75\\x5f\\xfd\\xca\\x61\\x1c\\x2b\\x08\\xa5\\x0b\\xf7\\xbd\\x10\\x02\\xc2\\xa0\\x9c\\xa0\\xcb\\xca\\x22\\x3e\\x5b\\xd4\\x6c\\xb6\\x89\\x11\\xba\\xaa\\x3a\\x98\\x18\\x48\\x07\\x1d\\xbc\\x6b\\x20\\x6d\\xe7\\x7d\\xa5\\xa8\\xcb\\x15\\x43\\x5d\\x2e\\x3c\\x7c\\x4c\\x10\\x85\\x95\\x53\\xfe\\x0d\\x16\\xd9\\xa0\\x86\\x1b\\x79\\x6a\\x87\\x8b\\xd3\\x4b\\x79\\x07\\x3d\\xd0\\x9d\\x6f\\x38\\xa2\\xe7\\xb7\\xb7\\x0e\\x1f\\x06\\x55\\xb8\\xb7\\x75\\xf5\\xc6\\x4d\\x6d\\x6d\\x35\\x15\\x3e\\x6f\\xa2\\xdc\\xbd\\xf4\\xe0\\xec\\x9f\\xcc\\x24\\xc7\\xb2\\x6d\\x2d\\xa6\\xd7\\x55\\xa1\\x7c\\xbb\\xfe\\xd8\\xcc\\xff\\xfe\\x58\\xb9\\xb0\\x7f\\xfc\\xd4\\x31\\xf1\\xb5\\x1d\\x62\\xd5\\xf2\\x59\\xf7\\xd6\\xc7\\x82\\xe0\\xb9\\x6c\\x5b\\x0b\\xf5\\xb5\\x20\\x6f\\x1f\\x61\\xde\\x12\\xc4\\x4a\\xb9\\x31\\x2a\\x78\\x6c\\x25\\x25\\x81\\xa0\\xc5\\x12\\x08\\x90\\x02\\x55\\x51\\xe9\\xf3\\xf4\\xa7\\x7d\\x44\\x29\\x2c\\x85\\x24\\xb8\\xa8\\x12\\x57\\x62\\xb3\\x71\\x1c\\x64\\x90\\x73\\x58\\x03\\xfd\\x69\\xab\\x44\\x40\\x45\\xa0\\x50\\x4c\\x54\\xe1\\xa6\\x08\\xd7\\xa5\\x1a\\x5b\\x79\\xfc\\xaa\\x6b\\x9c\\xcf\\x61\\x34\\x9e\\xdf\\xd8\\x42\\xc2\\x70\\x66\\x22\\x24\\x6e\\x61\\x51\\x74\\x96\\xcd\\xc7\\x2c\\xd9\\x6e\\xd6\\x5d\\xa0\\x73\\xf3\\xc6\\xf1\\xeb\\x33\\x7d\\x2b\\xa5\\x4b\\xe3\\x70\\x4f\\xb6\\x83\\x75\\xf0\\x73\\x57\\xc5\\x17\\xff\\xe6\\x7e\\xf6\\xd4\\x31\\xea\\x7a\\xad\\x6d\\x05\\xfd\\x67\\xbb\\xd2\\x85\\xfb\\x56\\x65\\xb0\\x0e\\xac\\x8d\\xc4\\x62\\xa2\\x25\\x1e\\x8d\\x93\\x14\\xeb\\x61\\x3d\\xe5\\x09\\xaf\\x57\\x74\\x3a\\x03\\x30\\x65\\x03\\xc5\\xbc\\xc8\\x0f\\xa4\\x23\\x22\\x1b\\x63\\xad\\xd0\\xaf\\x52\\x14\\xa1\\xb2\\x9a\\x89\\xfe\\xf8\\x6a\\x07\\xa2\\xb0\\x85\\xd9\\xe4\\xaa\\xca\\xa6\\x01\\xd9\\x73\\x7b\\xf9\\x9c\\xaa\\x6e\\xe9\\x52\\x3d\\x2b\\xcc\\xf1\\xfa\\x2c\\x9f\\xca\\xa2\\x1b\\x0b\\x7b\\x55\\xaf\\x6e\\xcc\\x31\\x58\\x11\\xa6\\x4c\\x05\\x1d\\xaa\\xf3\\x7f\\x0b\\x43\\x26\\xa1\\x2f\\x9e\\xab\\x74\\xd3\\xef\\xd1\\x5e\\x62\\x12\\xd1\\x43\\x0c\\x13\\x87\\xe5\\xbe\\x12\\xa1\\x3a\\x45\\xd7\\x95\\x59\\x1a\\x1a\\x66\\x75\\x0c\\x96\\x89\\xf1\\xe9\\x75\\x75\\xf1\\x32\\x92\\x0e\\x7b\\xc2\\x9e\\x91\\x59\\x14\\xa1\\x27\\xa0\\x11\\x0b\\xbd\\xd0\\x27\\xd7\\x5b\\x07\\xd2\\x42\\xaf\\xbe\\xb7\\xbe\\xbe\\x57\\x4f\\x55\\x14\\xb5\\xb7\\x3b\\x86\\xd2\\xed\\x52\\xc5\\xcc\\x81\\x74\\x4d\\x05\\x17\\xe8\\x1a\\x48\\x07\\x7c\\x99\\x5c\\x95\\x28\\xc8\\xd1\\x11\\xc2\\x6c\\x21\\xe0\\x6a\\x66\\xa9\\xd5\\xf3\\x16\\x2a\\x9e\\x55\\x81\\x10\\xd4\\x78\\x1e\\x00\\xf8\\x46\\x0b\\x0d\\x5b\\xba\\xe0\\x28\\xa3\\x03\\x9f\\x65\\x94\\xf4\\x61\\x24\\x14\\xa8\\xf9\\x99\\x1b\\x51\\xea\\x41\\xde\\x91\\x46\\xea\\xef\\x39\\x69\\xbd\\x1d\\x3c\\x77\\xab\\x9a\\xd4\\x02\\x87\\x96\\xd4\\xf6\\x8e\\x6a\\x49\\xed\\xe6\\x20\\x4a\\x6a\\x01\\x18\\xdb\\xa8\\xbc\\xd5\\xdd\\xa3\\xdc\\xa6\\x66\\xb6\\xca\\x93\\x28\\xb3\\xbd\\xea\\x8a\\xd1\\xb3\\x9a\\x54\\x43\\xab\\xd7\\xe4\\x67\\xb8\\x2b\\xba\\x32\\x19\\x2e\\x6b\\x42\\x19\\xee\\xad\\xe1\\x6b\\x4f\\x1d\\x53\\x5e\\xcd\\xa4\\xb9\\xe4\\x18\\x4a\\x73\\x37\\x1d\\x38\\xb0\\x0d\\xe7\\x05\\x71\\xa5\\x8b\\x26\\xa0\\x0d\\x95\\x10\\x5b\\xe5\\x56\\x2e\\x1a\\x8d\\xf8\\x04\\xc1\\x1f\\x29\\xb6\\x58\\x58\\x32\\xe2\\x2c\\x72\\x16\\x95\\x96\\x45\\xfc\\xa8\\x1b\\xce\\xfb\\xb8\\xa8\\x2f\\x2a\\x05\\x59\\xb5\\x2f\\x5c\\xc4\\xb2\\x82\\x53\\x72\\x22\\x2b\\x9a\\x60\\x46\\x39\\x2c\\x42\\x55\\xd7\\x26\\xc0\\xfa\\x65\\xa6\\xd1\\x91\\x8c\\xb5\\x39\\x97\\x09\\x6a\\x96\\x3f\\xc2\\x97\\x07\\x54\\x68\\xd7\\x51\\xfe\\x9c\\xd8\\xde\\x9d\\xad\\x28\\x3b\\x96\\x2a\\x7b\\xb6\\xde\\x08\\x6a\\xc0\\xbe\\x2b\\x40\\xdf\\x98\\xf2\\x39\\x98\\xbb\\x3c\\x5f\\xd5\\xdc\\xe0\\xc4\\x21\\xe5\\x2f\\x28\\x58\\x30\\xa4\\xab\\xe2\\x7c\\x23\\xb8\\x1b\\x03\\x18\\xfe\\x71\\xfc\\x8f\\x4e\\xa4\\x72\\x68\\xf6\\x0e\\xda\\x13\\x07\\x79\\x77\\x11\\x2d\\x72\\x50\\xb2\\x58\\xec\\x76\\x92\\x65\\xdd\\x1e\\x81\\xeb\\x4f\\x0b\\x84\\x5d\\x05\\x0a\\x98\\xe8\\x24\\xb2\\xd7\\x5b\\xe6\\x0e\\x5c\\x5f\\x64\\x27\\x59\\x3f\\x50\\x91\\x23\\xf8\\xea\\x7b\\xee\\x01\\xdd\\xf7\\x16\\xd0\\x87\\xc8\\x52\\x8d\\x1c\\xe5\\x46\\x4a\\x97\\xce\\x0d\\x73\\x11\\x99\\xb8\\x46\\x6e\\xab\\x8e\\xc5\\x60\\xe2\\x11\\x6c\\x85\\xab\\x10\\x24\\xcb\\x5b\\xca\\x5b\\x26\\x77\\x38\\x8b\\x8b\\xeb\\xab\\xab\\x53\\x42\\x34\\x15\\x1d\\x4a\\x37\\xa5\\xb8\\xca\\x44\\x7f\\xba\\x92\\x6d\\x89\\x05\\x3d\\x6c\\x79\\x69\\x79\\x7f\\xda\\x6f\\x2d\\x9d\\xb8\\x10\\xf9\\xfd\\xd7\\xbc\\x56\\x4f\\xe1\\x76\\x58\\x2a\\xab\\xf1\\x97\\x60\\x44\\xeb\\xa6\\x66\\x13\\xdc\\x58\\x2e\\xc3\\xcd\\xa5\\x27\\xe8\\xab\\x1b\\x2f\\x10\\x53\\x9f\\xe3\\xf7\\x5b\\x59\\x4c\\x17\\xa5\\xe3\\x46\\xd4\\x41\\x45\\x1d\\xd6\\xad\\x40\\x34\\xe4\\x1a\\xb1\\xd7\\x14\\x48\\x83\\x9c\\xfb\\xc8\\x97\\x60\\xc6\\xf4\\x65\\xba\\xaf\\xf0\\xbf\\xe2\\xd5\\xc3\\xb8\\x8e\\xd0\\xff\\xff\\x0a\\xf7\\xc5\\x16\\xca\\xd5\\x21\\x58\\x9c\\x23\\xad\\xf5\\xc6\\xbd\\xf1\\x44\\x85\\x14\\x0a\\x45\\xa3\\x22\\x2c\\x5d\\xb9\\x80\\xaf\\x3f\\x1d\\x60\\xe3\\x0e\\x16\\xc3\\x23\\x5a\\xdd\\x97\\x54\\xd7\\x82\\x2e\\x61\\x7e\\x5b\\xfa\\x32\\x72\\xb9\\x94\\x20\\x24\\xbc\\xe6\\xa4\\x92\\x93\\xc1\\xcb\\xbb\\x50\\x37\\x14\\x35\\x49\\x37\\x02\\x8b\\x11\\x77\\x50\\x37\\x4d\\xe0\\x79\\x78\\xb1\\x96\\xc5\\x63\\x26\\x51\\xdb\\x34\\xcb\\x20\\x09\\xf3\\xd3\\x2e\\xdc\\x0f\\x2d\\x21\\x92\\xc4\\x2a\\xb9\\xb1\\xca\\x2f\\x8a\\x96\\x62\\xb2\\xd8\\x55\\x1a\\x75\\x45\\x53\\xb5\\x95\\x7e\\x7f\\x28\\x94\\x18\\x4c\\x87\\x38\\xaf\\xbb\\x3f\\xed\\x65\\xd5\\x6e\\x98\\xca\\x1d\\xe1\\xf0\\x42\\x13\\xb6\\xd9\\x6a\\x60\\x5e\\xef\\x28\\x2c\\x7b\\x26\\xf6\\x44\\x0b\\x60\\xef\\x32\\x7d\\x98\\x82\\x18\\x9e\\xcb\\x4b\\xf3\\x3a\\xa1\\x68\\x20\\x8b\\xca\\xf6\\x3f\\xc9\\x63\\x59\\xae\\x57\\xdd\\x0b\\x93\\xd3\\x53\\xca\\xb4\\xad\\xd9\\x06\\x68\\xeb\\x46\\x5d\\xa6\\xed\\x99\\xe1\\xfd\\xc5\\x39\\x99\\xe4\\x94\\x7e\\x53\\x6b\\x7d\\x9e\\xdd\\xa2\\x7c\\x07\\x86\\xbb\\x3b\\xb5\\xae\\x67\\xc6\\x3e\\x6f\\xc7\\xf8\\x77\\xb3\\xe4\\x44\\x08\\xda\\x67\\x30\\x08\\x0d\\xd4\\x55\\x54\\x1c\\xb0\\xdb\\x5d\\x2e\\xef\\x50\\xda\\xed\\xe2\\xb0\\xb1\\xb2\\xc1\\x2f\\x33\\xd6\\x4b\\xb6\\x39\\x2f\\x67\\xb8\\xf9\\x3d\\x4e\\x6c\\xc3\\xb9\\x08\\xae\\xdc\\xb9\\xb5\\xa0\\xb7\\x59\\x68\\xcd\\x68\\x01\\xb5\\x8e\\xe6\\x78\\x47\\x4e\\x47\\x47\\x20\\x0f\\x6f\\xe2\\x7d\\x97\\x41\\xb9\\x2c\\xe1\\xb2\\x14\\x91\\x3c\\x15\\xac\\x0d\\xd6\\x36\\x36\\xb9\\x12\\xb6\\x48\\xa4\\x74\\x20\\x5d\\x1c\\xe1\\x6a\\xd1\\x5a\\x39\\x60\\x18\\x83\\x8b\\x75\\xb1\\x76\\xf2\\xa9\\x6c\\x67\\x30\\x1f\\x70\\xf1\\xe2\\x85\\xca\\xb5\\xff\\xaa\\x00\\xbe\\x60\\x78\\xc2\\xc9\\x26\\x4a\\x82\\x8b\\x06\\xfe\\x9c\\x65\\x68\\xee\\x23\\x99\\x2e\\xe0\\x57\\xd3\\xcb\\x16\\x24\\x73\\x9d\\xc2\\x19\\x33\\x8f\\xcf\\x6b\\x8f\\xe6\\xd8\\x7b\\xa2\\x47\\xed\\x03\\x6e\\xaf\\xf5\\x87\\x3b\\xaf\\xec\\xce\\x34\\x0a\\x9b\\x66\\x7a\\x92\\x95\\x53\\x66\\xb7\\x2b\\x2b\\xb0\\x3f\\xbd\\xf0\\x4b\\xa8\\xaf\\xa3\\xd0\\x9f\\x56\\x12\\x23\\x72\\xb9\\xa5\\xbc\\xcc\\x6a\\x15\\xc9\\x88\\xb7\\xdc\\x5b\\x5e\\x55\\x5d\\x06\\x83\\x74\\x59\\x19\\x1f\\x0c\\xc6\\x60\\x66\\x12\\x24\\xb4\\x8c\\x53\\x0d\\xe3\\x7a\\x22\\x9b\\x8f\\x64\\x7b\\xa0\\x59\\x3c\\x30\\x74\\x4e\\x2b\\x79\\x29\\x3f\\x9b\\x9f\\x6c\\xd6\\xd7\\xf1\\x05\\xcc\\xf2\\xe8\\xbf\\x92\\xbb\\x72\\x2b\\x77\\x7f\\x2e\\x21\\x79\\xf0\\x44\\xdf\\x14\\xf5\\x15\\x78\\x7a\\xa3\\xf2\\x5b\\x8d\\xc3\\xd5\\x27\\x33\\x39\\x09\\xdd\\x96\\x79\\x75\\xfe\\xe1\\xd7\\xd4\\x38\\x41\\xa0\\x18\\x09\\xeb\\x8b\\x20\\x31\\x43\\x8e\\xbb\\x78\\xe0\\xd1\\x03\\x31\\x28\\x06\\x43\\xe1\\xa0\\xc7\\x23\\xba\\x24\\x68\\x75\\x3e\\x89\\x75\\x0b\\x02\\xe4\\x45\\x70\\x30\\x96\\x81\\xb4\\x81\\xf1\\x65\\xaf\\x19\\xce\\x26\\x5a\\x13\\x5a\\x09\\x70\\xfd\\x8a\\xc3\\x13\\x33\\xe6\\x70\\x26\\xde\\xa9\\xa8\\x06\\x33\\x41\\x7b\\x5e\\xa2\\xac\\x7c\\x5b\\xd9\\x35\\x0a\\xce\\x9e\\x00\\x02\\xd0\\x9d\\x00\\x0b\\xe6\\xb5\\xbc\\x96\\xcd\\x8d\\x57\\x53\\xdb\\xa1\\x13\\xf1\\x8e\\x6f\\x25\\x6f\\x84\\xdf\\xd1\\x99\\x5b\\x01\\xe5\\xc6\\xb8\\x26\\x82\\x9e\\x23\\x6e\\xe1\\xfd\\xae\\x60\\x91\\x85\\x2d\\x22\\x5d\\x94\\x23\\xe6\\x88\\x95\\x27\\x8a\\x82\\x41\\x97\\xdf\\x03\\x03\\x7b\\xa0\\xd8\\xc9\\xd1\\xf6\\xb0\\x07\\x66\\x8b\\xac\\x83\\xb7\\xf3\\xd0\\x8c\\xec\\x97\\x0d\\xe9\\x99\\xfb\\xae\\x2f\\xee\\xf1\\x5d\\xd2\\x51\\x9a\\x55\\xbf\\x61\\x04\\xd9\\xa3\\x3d\\xb9\\x60\\x9e\\x67\\x57\\xdf\\xde\\xf5\\xae\\xb2\\x4f\\x79\\x6c\\x2d\\xa8\\x53\\xfe\\xbc\\x1e\\x7c\\x63\\xd7\\x53\\xaf\\xef\\x03\\x43\\x6b\\x94\\x7f\\x80\\xba\\x75\\xf9\\x26\\xe6\\x04\\x33\\x94\\xc7\\xa5\\x8a\\x0a\\x0e\\xdc\\x0e\\x6e\\x41\\xec\\x2a\\x7f\\x01\\x1c\\x62\\x57\\xf9\\x86\\x52\\x29\\x69\\x31\\xbd\\x01\\xf2\\x8d\\x7a\\xb9\\x11\\xb4\\x56\\x6e\\xd6\\x65\\x09\\x4a\\xa4\\x2d\\xe8\\xb2\\xb9\\x8a\\x82\\x51\\x17\\xe7\\x80\\xf9\\xa2\\xe4\\x60\\x6d\\x6e\\xab\\x7b\\xe0\\x32\\xee\\x42\\x33\\x39\\xcc\\x5d\\x93\\x96\\xbe\\x4c\\xb4\\xb5\\x30\\xc2\\xff\\xca\\x74\\xc5\\xd4\\x7e\\x2e\\xb4\\x2c\\x72\\x63\\x96\\xa5\\xf1\\x56\\x92\\xce\\xf4\\x68\\xc7\\xcf\\x6b\\x4d\\xdc\\x7c\\x5e\\xa8\\x2a\\xdc\\x0a\\x3b\\xff\\x33\\xd4\\xb2\\x2d\\xd7\\xfc\\x7d\\x2f\\xd4\\xb3\\x2d\\xd4\\x0b\\x78\\x9f\\x7e\\x99\\x5c\\x57\\xc5\\xea\\x6a\\x6b\\x03\\x41\\x9a\\x2e\\x71\\x9a\\x02\\xa6\\x40\\x5d\\x3d\\x0b\\xe3\\xbc\\xd3\\xc3\\xb2\\x0c\\x54\\x3b\\x58\\x8d\\x73\\x86\\x1a\\x58\\xac\\x39\\x18\\x58\\xcb\\x30\\x52\\x09\\x41\\x14\\x69\\x29\\x7e\\xce\\xc1\\xe7\\xda\\x27\\x42\\x53\\x79\\xe1\\x6e\\xab\\x76\\x3e\\x03\\xd7\\xe5\\xea\\x74\\xa3\\x3a\\x37\\x9a\\x8f\\x1d\\x86\\x1c\\x60\\xf6\\x24\\x2c\\xd0\\x26\\x49\\xeb\\x1b\\xa8\\x2f\\xc6\\xd6\\x9d\\x16\\x37\\x3d\\x5e\\x70\\x8b\\xc0\\xa9\\x5b\\xc6\\xdc\\xb0\\x08\\xf1\\x55\\xd4\\xb4\\x29\\x81\\xfd\\xd7\\x2d\\x3e\\xda\\x79\\x65\\x52\\xe9\\x3a\\x7e\\xf2\\x96\\x45\\x9b\\x80\\x2b\\xff\\xf6\\x80\\xdd\\xd7\\x8e\\x1f\\x74\\x3f\\x32\\x7b\\x59\\x95\\xb8\\xe3\\x35\\x91\\x3a\\x45\\x33\\x8b\\xd6\\x7d\\x3b\\xe8\\x22\\xb4\\x7a\\x8e\\xfe\\x18\\xfa\\xca\\x20\\xac\\xe7\\x16\\xcb\\x35\\x31\\x13\\xa7\\x4b\\x24\\x44\\x3b\\x4d\\xfb\\x45\\x93\\x58\\x51\\xc9\\xb3\\xd6\\xe8\\x40\\x9a\\xb3\\x72\\xd9\\xe3\\x18\\x0e\\x46\\x44\\xbc\\xfb\\x09\\xc2\\x7d\\x11\\xef\\xf9\\x65\\x6b\\xe1\\x78\\xb5\\xe6\\x4c\\x62\\xf9\\xe5\\x9b\\xc3\\x89\\xcf\\xbc\\xe5\\xb1\\x9b\\x37\\x1f\\xd1\\x40\\x6f\\x18\\x5b\\xf7\\x98\\xb0\\xe5\\xdb\\xca\\xfd\\x3f\\x39\\x37\\x7b\\x7b\\xe2\\xa1\\xcd\\x59\\x56\\x83\\x7b\\xd6\\x5d\\xbd\\x7e\\xc9\\xfa\\xa9\\xdb\\x5b\\x30\\xb3\\x6b\\xf6\\x82\\x77\\x3f\\x07\\x96\\x86\\xb6\\x05\\xe7\\x4f\\xe5\\x98\\x7c\\xfc\\xec\\x2b\\xbf\\x7a\\xfd\\xe9\\xe7\\x93\\xf5\\x98\\xc7\\x3e\\xfa\\x2b\\xb0\\x86\\x33\\x12\\x55\\x18\\x83\\xb3\\xa8\\x8c\\x09\\x06\\xdd\\x26\\xa1\\x48\\xa8\\xae\\xa9\\xb0\\x0d\\xa4\\x4d\\x15\\x40\\x57\\x5a\\x1a\\x8f\\x1b\\x06\\xd2\\x71\\x8e\\x09\\x85\\x22\\x11\\x6a\\x30\\x1d\\x71\\xb8\\x7d\\x3e\\x69\\x20\\xed\\xf3\\x16\\x22\\x45\\xe6\\xb3\\x99\\xbf\\x97\\x92\\x85\\x0e\\xc0\\x45\\x68\\xe6\\xb6\\x01\\x3e\\xef\\xaa\\x88\\x18\\x0a\\x18\\x5a\\xe5\\x1a\\xc7\\xbe\\x53\\xc9\\x94\\xa3\\xd4\\xed\\xaa\\x7b\\x6c\\x69\\x4e\\x86\\xbd\\x55\\x83\\xf2\\xad\\x27\\x37\\xdc\\xaa\\x15\\xae\\x0f\\x7c\\xa5\\x6f\\x4a\\xe6\\x1c\\x05\\xe8\\x47\\x3e\\xf2\\x5f\\x8b\\x6e\\xda\\xed\\x5b\\xfb\\x03\\xe1\\x3f\\x5e\\x5a\\x39\\x4b\\xad\\x5d\\xa7\\xbc\\xfe\\x2b\\x11\\xf2\\x39\\x00\\xd7\\x32\\x86\\x63\\x77\\x19\\x31\\x47\\xae\\x88\\x13\\x84\\xc1\\x55\\x22\\xb8\\xfc\\x11\\x7f\\xa4\\x3c\\x11\\x87\\x9e\\x32\\x1e\\xf7\\x84\\x42\\x50\\x65\\x43\\x9c\\x81\\xf1\\x30\\x83\\x69\\x97\\xc7\\xa1\\x21\\xde\\xf9\\x0a\\xee\\x6d\\xcc\\xaa\\x70\\xf9\\xc5\\x79\\x59\\xf6\\x74\\x51\\x6e\\xdd\\x34\\xd6\\x22\\x31\\xbe\\x36\\xff\\x58\\x11\\xa0\\xd5\\x63\\x45\\x99\\x85\\x6b\\x1b\\x5b\\x77\\xd5\\xca\\x9f\\xbf\\xfa\\xe3\\xe7\\x2e\\x3a\\x50\\xf4\\x67\\x6d\\xd5\\x8e\\x9f\\xbc\\x27\\xfa\\x31\\x60\\xfe\\xf6\\x97\\xfc\\x83\\x44\\x80\\xe8\\xd7\\xf8\\x6a\\x21\\x56\\xcb\\x93\\xca\\xfd\\xec\\x24\\x5a\\x2a\\xb2\\xb2\\xb4\\xb1\\xc6\\x58\\xd3\\xda\\x66\\x89\\xc6\\xa2\\xb1\\xc1\\xb4\\x05\\x56\\x4a\\xa4\\x85\\x8a\\x46\\x75\\x82\\xe0\\x81\\x0e\\x47\\xe0\\x6a\\x2a\\x75\\x95\\x83\\x69\\x5a\\xe7\\x98\\x44\\x10\\xf5\\xf9\\xaa\\x9a\\xca\\xdb\\xb9\\xbc\\x08\\x7a\\x5f\\x73\\xae\\x19\\x3b\\xbd\\xfc\\x48\\xa3\\x43\\xcb\\x5a\\xb2\\x53\\x8d\\xf5\\x0d\\x7c\\x4e\\x24\\xd4\\x37\\xc6\\xd6\\x6d\\xba\\xe9\\xe9\\xef\\x5d\\xb3\\xe2\\xdc\\xeb\\x8f\\xdf\\xbc\\x07\\x54\\x37\\x79\\x97\\x54\\x2e\\x5d\\x3b\\xa5\\xb1\\xe4\\x6e\\xb8\\x04\\x9d\\xdf\\xea\\xea\\x3d\\xb4\\xb5\\xeb\\xba\\x05\\x59\\x9d\\x86\\x8a\\xfc\\x70\\xe2\\xe4\\x0d\\xf3\\x77\\x49\\xfa\\xd6\\x93\\x1b\\xf6\\x16\\xbd\\xb4\\x91\\x73\\xa7\\x07\\x3a\\x17\\x72\\xb4\\x7e\\xd4\\x6a\\x5f\\xd6\\x3d\\x0f\\xfa\\x35\\xe5\\x0b\\x4d\\x4c\\x48\\x26\\xcd\\xd0\\xe7\\x5a\\xb1\\x4c\\xd6\\xc8\\xcd\\x35\\x2e\\x74\\x1c\\xbf\\x99\\x0f\\x31\\x74\\x82\\x4e\\xb4\\xb6\\x95\\xf0\\x1c\\xcf\\x41\\x99\\xf0\\x3e\\x1e\\xca\\x84\\xe7\\xab\\xa2\\xb4\\xbe\\x4a\\x3f\\x98\\xae\\xa9\\x72\\xc0\\x14\\xdd\\x3b\\x00\\x53\\xf4\\x89\\x42\\xc9\\x77\\xc4\\x17\\x5f\\x48\\xa0\\x9d\\xd9\\xd4\\xc6\\xc8\\x33\\x70\\xe0\\x71\\x1d\\xbe\\x8d\\x00\\x49\\xe2\\xf2\\xc3\\x93\\xf9\\xf6\\x1d\\x18\\x5b\\xb7\\xf0\\xf0\\xe4\\xad\\x87\\x7a\\xbb\\xbe\\xd5\\x19\\x0a\\x49\\x77\\x56\\x37\\x4e\\x59\\xbb\\xb4\\x6a\\xd4\\xdb\\x54\\x0d\\xf6\\xdc\\xfc\\xed\\x37\\xce\\xad\\xb8\\xe6\\xa5\\xb3\\x37\\x6d\\xca\\x17\\x0a\\x70\\x05\\xed\\xab\\xe6\\xf6\\x2c\\xb5\\x5b\\x47\\xf5\\x34\\xb7\\xa0\\x6b\\x20\\xed\\xe6\\x36\\xbe\\x54\\xb4\\x77\\xc3\\xc9\\x56\\xbd\\xb4\\x6b\\xfe\\x0d\\x27\\x13\\x27\\x33\\x42\\x21\\x89\\x1e\\xa8\\x27\\x77\\xe1\\xbd\\xb6\\x4a\\x62\\x9e\\x5c\\x99\\x28\\xb7\\x58\\x8a\\x7d\\x8c\\xdd\\xec\\x35\\x7b\\xab\\xaa\\xa1\\x68\\xcc\\x89\\x81\\xb4\\xd7\\x6c\\x36\\xb8\\x5c\\x3c\\xd4\\x7d\\xce\\x50\\x02\\xb3\\x06\\x87\\x06\\xf5\\xe8\\xbb\\xe8\\xea\\x5e\\xad\\xff\\x9d\\x0f\\x44\\x9a\\x27\\x03\\xd4\\x3d\\x0e\\xf1\\x75\\xe1\\x82\\x2b\\x62\\x1c\\xd0\\xd5\\xe5\\xb1\\xab\\x62\\x54\\xd3\\x91\\xb1\\x75\\x0c\\xf7\\xea\\xb7\\x94\\x93\\x64\\x47\\xf6\\x9c\\xdd\\x7b\\x3f\\xca\\xae\\xfd\\xf8\\xc0\\xca\\xf5\\xca\\xba\\x05\\x88\\x5b\\xd2\\xfd\\xfa\\x8f\\xc0\\xa9\\xa1\\xec\\x29\\xbb\\x4f\\x2e\\x10\\xe3\\x0f\\x6b\\xfc\\x81\\xbf\\x6b\\xf6\\x80\\xef\\x69\\xa0\\x9c\\x4c\\x1f\\xac\\xa1\\x8b\\x60\\xc4\\x2d\\xb1\\xd2\\xb4\\xdb\\x61\\xb1\\x04\\xf5\\xfa\\xe2\\x98\\x2f\\x32\\x9c\\xf6\\x99\\xd0\\x0e\\x83\\x89\\xb5\\xe8\\x19\\x3d\\x72\\xd5\\x0e\\x82\\x10\\x2e\\x5e\\x6a\\x04\\xb7\\xfc\\xfd\\x5c\\x51\\x9d\\xe7\\xa1\\xf3\\xca\\xe9\\x1c\\x2f\\x79\\x07\\xb5\\xc9\\x3b\\xc6\\xd6\\xc1\\xda\\xfa\\x20\\x28\\xbf\\x37\\xbb\\x54\\xf7\\x65\\x6e\\x77\\xc0\\x2e\\x59\\xcd\\xcc\\xf3\\xdc\\xb1\\xee\\x94\\x76\\xdb\\x83\\x8a\\x31\\x0d\\xe9\\x9f\\x09\\xd7\\x29\\x46\\xc8\\x72\\xd8\\x6b\\x72\\x70\\xf1\\x62\\xda\\x41\\x3b\\xe2\\x25\\x6e\\xe8\\x81\\x21\\x2f\\x76\\xeb\\x60\\xda\\xce\\x15\\x11\\x44\\x68\\xe2\\xc2\\xe4\\x4e\\x7a\\xf1\\x4d\\xb9\\xb5\\x40\\x39\\x42\\x88\\xcf\\x41\\x87\\x6b\\xd3\\x6f\\xf9\\xe4\\xf7\\x8e\\xad\\x6b\\x28\\x1f\\xde\\x0c\\x2c\\xf7\\x7f\\xb3\\xf3\\xe6\\x44\\xe5\\xa3\\x0b\\xc0\\x7f\\xfc\\xf7\\xbb\\x8b\\xd7\\x15\\xa8\\xda\\x7d\\x0f\\x55\\x81\\xdb\\xdf\\x7a\\x4a\\xb4\\xb5\\x44\\xcb\\x14\\xf6\\xf7\\x0a\\xb7\\x23\\xcf\\xde\\x4c\\xb0\\xa6\\xf8\\x1b\\xcc\\xb3\\x4b\\x11\\x6e\\xa8\\xd9\\xeb\\x95\\x22\\xa5\\x91\\xd2\\xb2\\xf2\\xd2\\x18\\xba\\x7d\\x29\\x46\\xd8\\x9d\\x4e\\x98\\xe6\\x38\\x7d\\xa6\\x20\\x54\\x31\\x93\\xa3\\x20\\x13\\xcd\\x6f\\xc4\\xa8\\x3e\\x34\\x13\\x1b\\x74\\xd1\\x78\\xa1\\x1b\\x55\\x79\\xc9\\xe5\\xd6\\xe4\\xcb\\x5a\\xfe\\x5c\\x97\\xe7\\x44\\x73\\x39\\x35\\xfd\\x28\\x8a\\x07\\xe3\\x57\\xbd\\xfe\\x4b\\x72\\x6d\\xd6\\x85\\x82\\x85\\xe8\\x1f\\x49\\x9c\\x5c\\xab\\xf5\\x90\\x17\\xda\\xc5\\xaf\\x61\\x7e\\x56\\x8c\\xac\\x82\\x08\\x9b\\x3c\\x1e\\xa3\\x8f\\xa6\\x45\\x63\\xd8\\x18\\x8b\\x33\\x91\\xa2\\x48\\x7f\\x5a\\x5f\\xc4\\xd2\\x3e\\x5f\\xd0\\x48\\x06\\xc9\\xa1\\x74\\xd0\\xe1\\x95\\xd0\\xed\\x00\\x03\\x69\\x47\\x56\\xf8\\xed\\x79\\x97\\x31\\x5c\\x0a\\xc4\\x16\\x8d\\x5c\\x6a\\xd3\\x4e\\x05\\x7a\\xa3\\x6e\\x42\\xe0\\x33\\xa8\\x6e\\x94\\x8a\\x82\\x26\\x0d\\x6c\\x37\\x8f\\x9f\\x73\\x59\\xd8\\x5d\\xcb\\x23\\x41\\xf2\\xa3\\x02\\xc5\\x81\\xca\\xd4\\x17\\x6f\\x02\\x76\\x72\\xb9\\x5b\\xc5\\x37\\x9e\\x04\\xd7\\xe1\\x43\\x9c\\x63\\x5f\\x21\\xa7\\x82\\xb4\\xd3\\x62\\xb4\\x39\\x4a\\x2c\\x22\\x45\\x3b\\x3c\\xb4\\xa7\\x3c\\x91\\x85\\x9b\\xf5\\xfb\\x75\\x83\\x69\\xbf\\x23\\x0b\\x3a\\x3b\\x31\\x57\\x9b\\x18\\xe7\\x34\\x96\\xa0\\x62\\x39\\xf3\\x26\\x27\\xd0\\x8a\\x5c\\x0e\\x7f\\x76\\x82\\x86\\xf9\\xc7\\xd6\\x5d\\x0a\\x8c\\xf6\\xe5\\xb9\\x73\\x0b\\x94\\x8c\\xb8\\x14\\x32\\xad\\xf7\\xba\\xac\\xa6\\x21\\xfb\\x6e\\x22\\xa3\\xe4\\x52\\x7a\\x13\\xc6\\xd2\\xe8\\x92\\x2d\\x18\\x49\\x43\\xd2\\xb3\\x7a\\xaf\\xcf\\x86\\xe6\\x7a\\x35\\x2c\\x8d\\x76\\x15\\x4b\\x03\\x0d\\x37\\xb2\\x04\\xc8\\x1b\\x6e\\x2c\\x84\\xd3\\x50\\x8f\\xb2\\xa0\\x01\\xf7\\x0c\\x78\\x83\\x14\\xe5\\x71\\xa2\\xa2\\xb6\\x54\\x9a\\xee\\x36\\xf5\\xac\\x7a\\x63\\xc7\\xfa\\x15\\x35\\x57\\x5e\\x39\\xa3\\xe3\\xd0\\xa4\\x29\\xc3\\xdd\\xf4\\x74\\xef\\xe4\\x19\\xca\\x87\\xc7\\xef\\xe9\\x6e\\x20\\x4d\\xca\\xf8\\xda\\xed\\x80\\xc6\\x68\\x1a\\x48\\xfe\\x41\\x32\\x06\\x3e\\xce\\xcc\\xa3\\xf2\\x66\\x86\\x60\\x08\\x6d\\x1e\\xb5\\x05\\xcf\\xa3\\xb6\\xe7\\xcf\\xa3\\x42\\x7d\\x57\\x37\\x68\\x42\\xf9\\xb5\\xa2\\x86\\x01\\xf0\\xb1\\xe7\\xaa\\x46\\xe5\\x8f\\x37\\xef\\xcd\\x0e\\xa4\\xce\\x9e\\x42\\x8e\\x88\\x5e\\x50\\x76\\xf4\\x2b\\xd9\\x81\\x54\\x92\\xf0\\x92\\x04\\xf8\\x4f\\xf8\\xbc\\x00\\x51\\x42\\x34\\xc8\\x42\\x91\\x24\\x31\\x46\\xd6\\x67\\xf4\\x95\\x96\\x45\\xdc\\x6e\\x42\\x64\\x2d\\xe7\\x40\\xcb\\x13\\x31\\x46\\x85\\x3f\\x79\\xe9\\x22\\xd8\\xa1\\x4c\\x11\\x7b\\xf1\\x49\\x1e\\x74\\x81\\xae\\x7a\\x18\\xa2\\x01\\xcb\\x01\\x37\\x8c\\xc3\\x57\\x4f\\x71\\x5a\\x13\\xe6\\x48\\xe9\\x4d\\xd7\\x6a\\x64\\xe9\\xfa\\x16\\x4f\\x9f\\x73\\x45\\x79\\x63\\xd3\\x48\\x4b\\xc5\\x82\\xf6\\x26\\x32\\x36\\xa5\\xb2\\x79\\x78\\x4a\\xf7\\xc6\\xa3\\x5f\\x45\\x44\\xfe\\xa3\\x3e\\x32\\x79\\x6a\\x73\\xfb\\x8c\\x83\\x81\\xe2\\xba\\x59\\x65\\x19\\xdc\\x8d\\x12\\xe6\\x36\\xec\\x9b\\x47\\xe5\\x92\\xa0\\xe4\\x76\\x5b\\x28\\x97\\xde\\xa8\\x73\\x02\\x17\\x82\\x9e\\xb2\\x40\\x1f\\x2d\\x89\\x46\\xa7\\xc1\\x05\\xb3\\x7b\\x82\\x70\\x89\\xf0\\x0f\\x1d\\x81\\xeb\\xda\\xfe\\xa4\\x41\\xaf\\xa7\\xcf\\x61\\x30\\x8e\\xaa\\x2c\\xca\\x44\\x4a\\xbb\\xec\\xa4\\xe0\\xcc\\x40\\xf6\\x74\\x87\\xd8\\x80\\xf0\\x91\\x9d\\x0d\\x92\\xde\\x21\\x3a\\x33\\x63\\xc6\\xce\\x58\\x5c\\x9f\\x9f\\x49\\x5f\\x73\\xb8\\xad\\x6b\\xed\\xc0\\xdd\\x9b\\x9f\\xa1\\x49\\x75\\xe4\\xb8\\xa3\\x2e\\x34\\xf8\\x38\\x98\\x32\\x7d\\x70\\x46\\x6f\\xef\\x8c\\x81\\x3e\\xfa\\x07\\xfd\\x09\\x47\\x95\\xaf\\x76\\x61\\x63\\xd7\\x57\\x95\\x37\\x25\\xe5\\xf7\\x37\\x5f\\x0f\\xec\\xd2\\xba\\xbe\\x15\\xca\\x63\\x5b\\xd7\\x2e\\xdb\\xb3\\x67\\xe5\\x86\\xcc\\xba\\xbf\\x81\\xf1\\x21\\xda\\x65\\x67\\xd8\\xcc\\x05\\x98\\x80\\xd9\\x45\\x41\\x26\\x8b\\xca\\xca\\x43\\x66\\xb3\\xc5\\xe2\\x25\\xe3\\x68\\xfc\\xcb\\x25\\x7a\\x2f\\x46\\x5c\\xc8\\x66\\x10\\x18\\x7b\\xd1\\x91\\x9f\\x3d\\x7c\\x19\\xee\\x42\\x70\\xe1\\x08\\xc2\\x5d\\xd8\\x10\\x11\\xc5\\x43\\xd3\\x3a\\x9a\\x73\\xc0\\x0b\\xeb\\x3b\\xa7\\x8c\\xad\\xdb\\x75\\x19\\xe0\\x85\\xb9\\xf1\\x1c\\xf0\\x02\\x20\\x4a\\xc8\\x24\\xb8\\x83\\x39\\x4e\\x78\\x89\\x66\\xd9\\x2a\\x38\\x1c\\x94\\xd7\\x6b\\xf2\\xf9\\x1d\\x5e\\xaf\\x1b\\x4d\\x92\\xdb\\x4c\\xfa\\x73\\xa0\\xe2\\x8c\\x04\\x80\\xa0\\x4d\\xf6\\xab\\x06\\xd4\\x3e\\x61\\xdb\\x5b\\xbc\\xdc\\x36\\x0c\\x8c\\x95\\x87\\x97\\x2c\\x59\\x3a\\xb7\\xa6\\xd8\\xef\\x75\\xb9\\xcb\\xbc\\x5f\\xf9\\xca\\x35\\xca\\xeb\\xc3\\x74\\xad\\xdf\\x59\\xb2\\x77\\xbf\\x79\\xc7\\x34\\xcb\\xf4\\x91\\x45\\x49\\xa5\\xc2\\xee\\xf5\\xda\\x55\\x3c\\xa4\\x77\\x41\\x09\\x38\\x82\\xe7\\xfa\\x5a\\x65\\x09\\xb8\\xdd\\x9c\\xd1\\x6e\\xf7\\xf9\\xdd\\x76\\xbb\\x03\\xf0\\xbc\\x47\\x10\\x74\\x0e\\x84\\xe7\\x63\\x35\\xea\\xce\\x61\\xb4\\x07\\x75\\xfe\\x23\\x95\\x1b\\xe0\\xcc\\x46\\xea\\xa8\\x94\\x8f\\x0d\\x98\\xbf\\xd3\\x9b\\x02\\x47\\x96\\x36\\x2d\\x6a\\x99\\x8a\\xae\\xa5\\x6a\\x1c\\xd9\\xbe\\x7d\\x25\\xa8\\x9f\\xbf\\x94\\x5c\\x18\\x4b\\x6f\\x6b\\x13\\x8e\\x8f\\xf8\\x37\\x1d\\x4d\\x81\\xaf\\xb3\\xa1\\x10\\xab\\xa4\\xa1\\xbe\\xfa\\x40\\x09\\x49\\xc2\\x75\\x35\\xc1\\xa5\\xec\\x92\\xad\\x86\\x08\\xe9\\x72\\x71\\x7e\\xb3\\xdf\\x5c\\x1c\\x8b\\x22\\x4a\\x22\\xba\\x10\\x1a\\x8b\\x23\\xa1\\xb1\\x79\\xd1\\xfa\\x4a\\xbc\\x2d\\x43\\x59\\x46\\x56\\x79\\xe3\\x32\\x38\\x24\\x27\\x1b\\xea\\x34\\xb4\\x1e\\x26\\xbf\\x5f\\xd4\\x9a\\x03\\x6d\\x69\\x48\\x01\\x66\\xa4\\x0b\\x61\\xf7\\x00\\x79\\xcf\\xce\\x19\\xc3\\x61\\x4f\\xaa\\x69\\x66\\x47\\xcf\\x55\\x18\\xd4\\xc7\\x9c\\x26\\x97\\xb4\\x3d\\xaf\\x42\\xf8\\x24\\xf7\\x5c\\x8f\\xcc\\xec\\xca\\xcd\\x9d\\x1a\\xba\\x0f\\x5e\\xd3\\x08\\x48\\x90\\x6b\\xa0\\x0c\\x03\\x50\\x17\\xcd\\x36\\x63\\x40\\x92\\x3c\\x46\\x4f\\x30\\x14\\x38\\x07\\x5a\\xcf\\x7a\\x24\\x9b\\xd1\\xe8\\x34\\xa3\\x11\\x67\\x3b\\x49\\xf2\\x8c\\x36\\xce\\xcb\\x67\\x40\\xae\\xda\\x27\\x20\\xdc\\x34\\x68\\x97\\x95\\xaa\\xc7\\x83\\x70\\xad\\xcd\\x67\\x8f\\x0a\\x81\\xa7\\xe8\\xe2\\xcd\\xb1\\xde\\xe9\\x5d\\x9f\\x4d\\x5f\\x5a\\x34\\xcc\\xf5\\xfd\\xbd\\x77\\xe4\\x69\\xd2\\x5b\\x1c\\x72\\xc4\\x67\\x0d\\x6a\\x83\\xb9\\xb7\\xad\\xb0\\xd1\\xe0\\x05\\xf4\\x72\\xdc\\x61\\xd6\\xe6\\xe1\\xac\\x50\\xe7\\xa6\\x32\\xa3\\x04\\x4f\\xf8\\x89\\x4e\\xd9\\x22\\xb0\\x00\\xb8\\x4c\\x3a\\x5d\\x20\\x28\\x79\\x11\\x88\\xb0\\x91\\x30\\x18\\x58\\xa3\\x91\\x36\\xa3\\xd9\\xe3\\x27\\x81\\x4e\\x47\\xe7\\x40\\xd3\\xb4\\xd5\\x6e\\xcf\\x5b\\x6b\\x0c\\x2f\\xa3\\x9e\\x90\\x85\\x6b\\x8c\\xce\\x31\\xf1\\x29\\x89\\xca\\xcb\\xc7\\xde\\x47\\x53\\x72\\x6b\\xd6\\x0c\\x3c\\xb9\\x76\\x45\\x66\\x70\\x8e\\x4a\\xbd\\x8d\\x48\\x7a\\x3b\\x09\\xbf\\x29\\x17\\x92\\xe0\\x0f\\xda\\x00\\x1d\\xa1\\x61\\xf8\\xc5\\xc0\\x08\\x94\\x1f\\x47\\x84\\x9e\\xd6\\x11\\x16\\x0b\\x2f\\x58\\x59\\x34\\x47\\x48\\x65\\xf1\\xc0\\x72\\x30\\x94\\xf9\\xb8\\x36\\x48\\x30\\x1f\\xf8\\x9c\\x81\\x18\\xd7\\x11\\x4d\\x25\\x07\\x9e\\x24\\x9f\\x88\\xe1\\x71\\xf3\\xae\\x56\\x70\\x5b\\x66\\xde\\xbb\\x1e\\xf2\\x5e\\x84\\x31\\x3d\\x0a\\xf1\\x33\\x9b\\x2f\\x8b\\x9f\\x29\\x66\\x91\\x19\\x24\\xfd\\x2f\\xba\\xfe\\xd8\\xdd\\xfd\\xc7\\x2e\\x72\\x41\\x66\\xd0\\xce\\x8b\\x70\\x43\\x03\\xf0\\x33\\x65\\xf8\\x99\\x22\\xb4\\x19\\x7b\\xee\\x1c\\x8d\\xc1\\xc4\\x33\\x0c\\x3e\\x42\\x83\\x3e\\x5e\\xa0\\x28\\x90\\xfd\\xf8\\x8b\\x8d\\x46\\x1b\\xd8\\xcc\\xca\\x50\\xd2\\xa3\\x83\\x41\\x92\\x13\\xc4\\xfe\\xd8\\x3d\\x3a\\x0a\\x9f\\xb9\\x78\\x71\\x17\\x99\\xf4\\xb2\\x1f\\x24\\xdf\\x40\\x4f\\x7d\\x23\\xf9\\x01\\x8b\\xcf\\xf0\\x3b\\xa0\\xbd\\x5e\\xa7\\xad\\x65\\x9c\\x98\\x22\\xbb\\x05\\x9b\\xcd\\x1c\\xd0\\xe9\\x8a\\x5c\\x66\\x73\\x49\\xa9\\x57\\xb2\\x12\\xc5\\xc5\\x70\\x31\\x29\\x33\\x9e\\xc4\\x0c\\xc3\\x08\\x58\\x99\\x45\\xe8\\x81\\x0f\\xe5\\xb2\\xe3\\x8e\\xb9\\x44\\x29\\xb3\\x85\\xd9\\x0c\\xf8\\x8b\\x17\\x13\\x0f\\xbf\\xb6\\xa2\\x92\\x02\\x24\\x99\\xe1\\xee\\xe6\\x29\\x5d\\xed\\x75\\x23\\xe7\\x86\\x67\\xa0\\x55\\x45\\xab\\xfb\\x49\\xc8\\x35\\xbd\\x3e\\x16\\x07\\xdf\\xeb\\xeb\\x6f\\xaa\\xa8\\x6c\\x22\\x7b\\x58\\xef\\xf8\\xd1\\x24\\x35\\x5f\\x5b\\xe0\\xf3\\x83\\x2e\\xdf\\x4a\\x26\\xa8\\xcd\\xde\\x83\\x04\\xb8\\x96\\x39\\x04\\xd7\\x39\\xf2\\x34\\xab\\xa7\\x69\\x5e\\x40\\x68\\x61\\x89\\x27\\xac\\x26\\x02\\xe3\\x67\\x20\\xb4\\xb0\\xec\\x4a\\x67\\x00\\xc2\\xf8\\x0c\\x6c\\x15\\x28\\x9f\\x33\\x7f\\xf4\\x7b\\xbd\\x01\\x91\\xf7\\x55\\x82\\xc4\\xf6\\x31\\xaa\\x83\\xf5\\x9e\\x1f\\xbb\\x87\\xef\\xd8\\x66\\x26\\xd0\\xf5\\x5d\\x25\\xa0\\x0d\\x7e\\x36\\x42\\x4c\\xb2\\x48\\x30\\x23\\x11\\x49\\x8e\\x73\\x7b\\x38\\x01\\x3e\\xe0\\x49\\x3b\\xcb\\x5a\\x11\\xb0\\x13\\x05\\xa9\\xa8\\xc4\\xc8\\x06\\x79\\x2a\\xad\\x9d\\x62\\x28\\xd8\\xd2\\xaf\\xcb\\x0c\\x40\\xda\\x75\\x67\\x8b\\x63\\x01\\x2f\\xc7\\xc3\\x94\\xe7\\x8f\\xa3\\xa3\\xdf\\x5b\\xd2\\x0b\\x4a\\x2c\\xd0\\x8d\\xfa\\xda\\x93\\x7d\\x2a\\x1e\\xca\\xf9\\x9f\\xb1\\x9b\\xae\\x18\\xd4\\x70\\x15\\x92\\xe0\\x73\\xa8\\x17\\x17\\x61\\x85\\x36\\xff\\xaf\\xb1\\x42\\x53\\xc0\\x37\\xed\\xaa\\x8e\\x46\\x77\\xcc\\xa0\\x34\\x4c\\x9f\\xfe\\x4f\\x7a\\x3a\\xab\\x94\\xe8\\x37\\x3f\\x9a\\x19\\x32\\x05\\x44\\x0d\\x48\\x50\\x5b\\xa1\\x7f\\xac\\x25\\x96\\xc8\\xde\\xb8\\xdf\\xef\\x64\\x05\\xa3\\x40\\x46\\x92\\x91\\x64\\x5d\\x3d\\xeb\\xf3\\x25\\xe2\\xf1\\x32\\x8b\\xc7\\x53\\x55\\x86\\xf2\\x9f\\x28\\x51\\x0c\\x9a\\xcf\\xfa\\x9d\\x42\\x24\\x22\\x85\\x32\\xfc\\xb7\\x62\\xfe\\x55\\xdf\\x93\\x9b\\xc5\\x9f\\xd0\\x98\\x9e\\xd0\\xca\\xad\\xfb\\x52\\xe4\\x15\\x67\\x1e\\x4e\\x8b\\x5d\\x47\\xbe\\xac\\xc1\\x98\\x5c\\x04\\xc1\\xc2\\x64\\x11\\x5a\\xe6\\x83\\x84\\x86\\x69\\x72\\x59\\x18\\x96\\x4a\\x0d\\xae\\xa5\\x6f\\x6c\\xbb\\xea\\x23\\x20\\xdf\\xff\\x86\\x31\\x14\\x16\\xc9\\x2e\\x3e\\xa8\\xf3\\x80\\xe2\\x62\\x8f\\xa5\\xcc\\x52\\x56\\x59\\x55\\x56\\x1c\\xf4\\xf0\\x16\\x4b\\x1c\\x65\\xa3\\xcd\\xb2\\x25\\x62\\xb7\\x1b\\x9d\\x45\\x45\\x3a\\x00\\x68\\x23\\x02\\x94\\x28\\x2f\\x60\\x7a\\x22\\x8a\\xc2\\x04\\xbc\\x54\\x04\\xb9\\xf8\\x7f\\x41\\x51\\xa0\\x6c\\xb1\\x55\\xf1\\x4b\\x83\\x28\\xcc\\x02\\x44\\x4f\\x0f\\xd4\\xf8\\x94\\x23\\xf6\\x3f\\xa2\\x28\\x8c\\x7b\\x34\\x7f\\x75\\xe1\\x3f\\x61\\x2c\\xd9\\x06\\xd7\\x37\\x42\\xf4\\xc8\\x9c\\xdb\\x60\\xb0\\xda\\xc9\\x90\\x3d\\x14\\x2d\\xd2\\xbb\\xdd\\x8c\\x0f\\x2d\\xaa\\x44\\x38\\x61\\x18\\x14\\x10\\x20\\x6c\\xeb\\x93\\xa1\\x02\\x90\\xc6\\x3c\\xe8\\x99\\xfc\\x6c\\x33\\xb3\\x60\\x05\\x18\\x34\\x39\\x68\\x11\\xc8\\x05\\x38\\x38\\x7d\\x69\\x47\\xc7\\xfc\\xb9\\xa5\\x95\\x7e\\x4e\\x0c\\xf6\\x74\\xde\\xcb\\x94\\xae\\x2d\\x82\\x61\\x06\\x39\\x20\\xb0\\x72\\xb5\\x30\\xae\\x68\\x20\\x34\\xa4\\x0c\\x57\\xc6\\x55\\x3c\\x6b\\x10\\x2d\\x19\\x5e\\x97\\x46\\x48\\xef\\x1b\\x98\\xde\\xa9\\x32\\x2f\\x1a\\x8d\\xb6\\x10\\x45\\x79\\x6c\\x9e\\x68\\x91\\x41\\x14\\x75\\x0e\\xb5\\x18\\xe0\\xa1\\x01\\x20\\x5c\\x58\\x94\\xe1\\x04\\x7d\\x79\\xb6\\x7e\\x11\\xc1\\x79\\x65\\xce\\x25\\x74\\x0c\\xd2\\x9a\\x71\\x06\\xe4\\xf6\\x39\\xf3\\x21\\xc9\\x2a\\x4e\\x0e\\x26\\xb6\\x37\\x60\\xe7\\x54\\xc7\\x00\\x1e\\x2e\\x40\\xca\\xc1\\xe4\\x56\\x64\\xfc\\x44\\x84\\x4c\\x92\\xeb\\xb0\\xef\\xee\\x96\\x85\\x7c\\xfc\\x5a\\x86\\x60\\x31\\x84\\xad\\x4a\\xea\\xbf\\x43\\xa1\\x8a\\x84\\x1e\\x7e\\xc5\\x30\\x2d\\xed\\x39\\x90\\xd8\\x4b\\x00\\xd8\\xa6\\x32\\x00\\xb6\\x1a\\xb1\\x00\\x7c\\x36\\xed\\xe5\\x9e\\x49\\xca\\xe3\\x53\\x5f\\xee\\xe9\\xf9\\x0e\\x70\\x22\\x34\\x16\\xb8\\xc6\\x7f\\x03\\xbf\\x51\\x7a\\x32\\x64\\x29\\x6b\\x55\\x1c\\x2e\\x8c\\x45\\x83\\xf1\\x7b\\x38\\xc2\\x89\\xd0\\xde\\xec\\x36\\x1b\\x23\\x59\\xad\\xb0\\x8e\\x71\\xb9\\x6d\\x76\\x3b\\xc9\\x63\\xb8\\x18\\x53\\x16\\xc9\\x47\\xb8\\x18\\x73\\x3a\\x87\\xe8\\xa3\\x9d\\x28\\x43\\x93\\x02\\xe1\\x4a\\xa0\\xc2\\xd5\\x20\\x04\\x1c\\xe5\\x1f\\x33\\xfb\\x48\\xe5\\x27\\x64\\xf7\\x8c\\xa9\\xbd\\x34\\xa8\\xa2\\xa7\\x67\\xb1\\x7d\\x94\\xcd\\x57\\x6f\\xdf\\xb7\\x06\\xfc\\x79\\xf1\\xa6\\xd5\\xcb\\x11\\x3d\\x45\\x70\\x3d\\xd7\\x41\\x3f\\x2a\\xc1\\xd2\\x34\\x4a\\xa4\\x65\\xc9\\x11\\xb6\\x89\\xa2\\x5b\\x4f\\x92\\x8c\\x9f\\x63\\xb8\\xa2\\x62\\x77\\x38\\x4c\\x09\\xa8\\x3c\\x40\\x01\\x0f\\x3a\\xd7\\x33\\x21\\x8f\\xc7\\x86\\x71\\xf2\\x44\\xac\\x8c\\xad\\x19\\x65\\xbc\\x18\\x58\\x37\\x83\\xa5\\xa9\\x4e\\x31\\x37\\xd4\\xc5\\x78\\x4e\\xc3\\xee\\x96\\x1c\\x3c\\x87\\xd0\\xa8\\x00\\x1a\\xc2\\xb5\\x01\\x06\\x66\\xe3\\x7c\\x1b\\x78\\x7a\\xf4\\xb3\\xcf\\x46\\x41\\xd1\\x92\\xcf\\x3f\\x5f\\xa2\\x3c\\x35\\xb9\\xbb\\xb7\\x1d\\x6c\\x6a\\xe9\\xeb\\x6b\\x01\\x09\\x2f\\xfb\\x53\\x17\\x60\\x81\\xc9\\xf3\\x7b\\x24\\xce\\xdf\\x7b\\x94\\xbf\\x29\\x9f\\xb9\\xdf\\x64\\xbd\\x64\\xf4\\x9a\\x8d\\x16\\xf0\\x3b\\xeb\\x86\\xb1\\x65\\x3b\\x78\\xc5\\xcb\\xed\\xd1\\xfa\\x0d\\x30\\x36\\xdc\\x01\\x65\\x9c\\x84\\xf1\\x92\\x77\\x45\\x93\\x0c\\x9f\\x48\\x52\\xe6\\x80\\x39\\x90\\xaa\\x2d\\x8f\\x57\\xc2\\xf4\\xf1\\x29\\x17\\x63\\x4b\\x52\\x61\\x9c\\x4f\\x0a\\xb6\\x6c\\xbd\\x80\\x6a\\x9e\\xf6\\x42\\x44\\x33\\x44\\xb9\\x86\\x61\\x14\\xd7\\xc0\\x42\\x2e\\x01\\x1c\\x11\\x97\\x0a\\xdb\\xec\\x8d\\xfe\\xca\\x9e\\xcd\\x1d\\xfd\\xbd\\xd3\\x56\\xcc\\xea\\x1d\\xf6\\xb9\\x43\\x5d\\xd5\\xa9\\xc9\\x43\\xbd\\xd3\\x57\\xaf\\x08\\x96\\xf9\\x4a\\x03\\xa2\\x37\\x50\\x5a\\x31\\x77\\x29\\xf9\\x5a\\x7f\\xe9\\xd2\\x8a\\x7a\\xa7\\x7d\\xa6\\x3c\\x6d\\xb6\\xb8\\xa3\\xc3\\x57\\x5d\\x5a\\x9a\\x74\\x39\\x86\\xe5\\x91\\xd9\\x4c\\x6a\\xa4\\xcf\\x3a\\x6d\\x87\\x65\\xff\\xde\\xfb\\x90\\x8f\\x18\\x87\\xfc\\x3c\\x0b\\xd7\\xc8\\x0b\\xe3\\x8c\\xd9\\xa3\\xd7\\x5b\\x50\\xca\\xee\\xa5\\x10\\x50\\xd8\\x13\\x18\\xc4\\x3b\\x9b\\x0f\\xe7\\xe5\\x1a\\xb9\\x1e\\xcf\\x45\\x3b\\xa6\\xe0\\x1e\\xaf\\xdd\\x5f\\xea\\x5b\\x3a\\xb7\\xa2\\xd4\\xef\\x75\\x78\\xcb\\xbc\\xcb\\xe0\\x2b\\x86\\x98\\x66\\xed\\x1b\\x19\\xdf\\xbc\\x77\\x3f\\x8c\\x77\\xf0\\x15\\x79\\xe3\\xde\\x03\\x96\\x1d\\xea\\x5c\\x0b\\xf4\\x6a\\x57\\xd1\\xff\\x05\\x6d\\xbe\\x5d\\x16\\xdc\\x7e\\xbf\\x83\\x11\\xac\\x11\\x21\\x12\\x2d\\x12\\x7d\\x3e\\xa7\\xc3\\x8d\\x12\\x8f\\x10\\xc1\\x22\\xec\\x8d\\x3c\\x60\\xac\\x1c\\x9a\\x90\\xea\\x9a\\x52\\x13\\x71\\xb1\\xb4\\xe6\\xf6\\x44\\x80\\x21\\x70\\x55\\x06\\x18\\xab\\x57\\xf0\\xe4\\x21\\x0d\\xd5\\x67\\x91\\xb1\\xaa\\x75\\x05\\x80\\x43\\x16\\x15\\x8f\\x09\\xda\\xd5\\x3a\\x5c\\xd7\\x44\\x88\\xb9\\x72\\x20\\x24\\x08\\x66\\x36\\xc8\\x48\\x12\\xe1\\x62\\x5d\\xd1\\x22\\x89\\x65\\xf9\\x10\\xcc\\x34\\xdd\\xa2\\xd5\\x6a\\x70\\x22\\xab\\x3f\\x13\\x60\\x18\\x9f\\x01\\x01\\x6d\\xd0\\x79\\x40\\xa0\\x38\\x6b\\xca\\x86\\x8d\\xfc\\x93\\x03\\x2a\\xf9\\x52\\x06\\x22\\x01\\xd7\\x3b\\x38\\x8f\\xd3\\xbe\\x4a\\x0c\\x2c\\x3b\\x60\\x4d\\x44\\xc6\\x35\\xc8\\x84\\xb6\\xb6\\xde\\x47\\xfe\\x30\\xeb\\x5c\\x87\\xf2\\xfa\\xd4\\x8e\\x3f\\x50\\x4d\\x1f\\xa8\\xb8\\x09\\x6b\\x51\\x7a\\xf7\\x2f\\xf4\\x37\\xf9\\x9a\\xf0\\xcc\\xf2\\x15\\x1a\\xb6\\x4d\\x8c\\x5c\\x0c\\x69\\x2f\\x21\\x86\\xe5\\x88\\x40\\xe9\\x6d\\x51\\x9f\\xcb\\x67\\xb3\\x50\\x54\\x20\\x4e\\xc5\\x4b\\xcb\\x82\\x16\\x8b\\x35\\x0a\\x23\\x83\\x97\\x65\\x8b\\x74\\x3a\\x1f\\x4e\\xf4\\xa4\\x2c\\x66\\x53\\x5e\\xa6\\x99\\xa1\\x19\\x37\\x91\\x92\\xf9\\xde\\xb5\\xb6\\x3e\\x73\\x34\\x35\\x95\\xb9\\x19\\x48\\x3d\\xcd\\x9f\\xca\\x9e\\x4f\\x95\\xec\\xa0\\xeb\\xfa\\x5b\\xd6\\xcd\\xa7\\x63\\x9d\\x65\\xae\\xb0\\xe1\\xbc\\xb5\\x6b\\xda\\x9c\\x79\\xf3\\xe6\\x4c\\xeb\\xb2\\xfc\\xcb\\x18\\x76\\x55\\xb7\\xc7\\xe8\\xf9\\xeb\\xc8\\xd8\\x96\\xad\\x0b\\xb6\\xb0\\x21\\x5d\\xeb\\x89\\x53\\xc6\\xd1\\x81\\xa5\\xf3\\xe7\\x2f\\xed\\x5f\\x62\\x3c\\x75\\xa2\\x55\\x17\\x62\\xb7\\x2c\\xf8\\x44\\xc5\\xb6\\x8b\\x91\\x5b\\x20\\x2f\\xe8\\x96\\x06\\xd6\\x6a\\x10\\x11\\x60\\x33\\x94\\x3a\\x2c\\x39\\x24\\x0c\\x36\\xc5\\x41\\x79\\x5f\\x06\\xf3\\x37\\x07\\xf7\\xab\\x95\\x42\\xea\\x4b\\xb2\\xfa\\xea\\x35\\x57\\x6f\\xea\\xf9\\xb4\\xfb\\x86\\x3b\\xa7\\xbd\\x42\\xb7\\x28\\x67\\x97\\x2f\\x5f\\xbe\\x08\\x0c\\xe1\\x80\\x7a\\xe6\\xd8\\xcd\\x60\\x26\\x7c\\x95\\xad\\x2b\\xc8\\x3a\\x68\\xf7\\x7e\\xa2\\x46\\xb6\\xe8\\xac\\x12\\xe5\\xa1\\x3c\\x81\\xa0\\x9d\\x73\\x3e\\x0b\\x2d\\x9c\\x22\\x18\\xf8\\x78\\x63\\x56\\x6e\\x79\\x4d\\x22\\xb5\\x91\\x9b\\xcd\\x3e\\x2f\\xba\\x4e\\xc9\\x06\\x40\\xed\\x8b\\xbd\\x8f\\x2c\\xaf\\x4f\\xd7\\x36\\xd6\\x42\\x83\\xf1\\x17\\xd7\\x2c\\x9c\\xdb\\xb5\\x95\\x8c\\x3d\\x0b\\xe6\\x42\\xcf\\xbe\\x7e\\xcf\\xd4\\xeb\\xae\\x98\\x7f\\xa5\\x75\\xea\\x0e\\xf3\\xd8\\xf6\\xd5\\x77\\xcf\\x26\\x54\\x7c\\xa4\\x24\\x39\\x4a\\x6f\\xc2\\xb8\\x18\\x26\\xda\\x48\\x5a\\x8c\\x16\\x96\\xa3\\x10\\x04\\xed\\xd3\\x16\\x92\\x34\\xd2\\x34\\xa1\\xcf\\x61\\x42\\x4f\\xc4\\x04\\x51\\x77\\xd1\\xd1\\x85\\x7a\\x29\\x58\\x9d\\x80\\x79\\xe9\\x07\\xee\\x9a\\xf7\\x46\\xfd\\xaf\\x2b\\x7e\\xd7\\x04\\x23\\x34\\x07\\xae\\x53\\xae\\x41\\x98\\x18\\xa4\\x6b\\xfc\\xf7\\x18\\xbf\\x0e\\x61\\x63\\x1b\\xa0\\xcc\\x05\\x18\\x4f\\x58\\xb3\\x1e\\xf0\\xa4\\x09\\x98\\x44\\xbb\\x89\\x24\\xf5\\xa8\\xf2\\x39\\x03\\xcc\\x66\\x3e\\x87\\x81\\x3e\\x01\\x4e\\x06\\x77\\xe7\\x40\\x06\\xdc\\x19\\x68\\x97\\x93\\x97\\x81\\xfa\\x83\\xc3\\x6e\\xd1\\x07\\xee\\x55\\x5e\\x79\\x30\\xd4\\xe3\\x08\\xfa\\x58\\xf8\\x68\\xf0\\xdf\\xd2\\xe0\\x57\\xfc\\x8a\\xdb\\x66\\xdb\\xf2\\x22\\xce\\x05\\x4a\\xc8\\xb3\\xf0\\xb9\\x11\\x58\\xb9\\x0b\\x9c\\x45\\x47\\x39\\x1c\\x61\\x3d\\xab\\x63\\xa3\\x45\\x2c\\x74\\x52\\x18\\x77\\x57\\xc7\\x71\\x0e\\x06\\xe5\\x01\\x21\\x94\\x07\\x54\\xaa\\x79\\xc0\\x84\\x30\\x91\\xca\\x74\\x09\\xb5\\xee\\xff\\x45\\xc4\\xe8\\x72\\xee\\x95\\x1c\\x9d\\xbb\\x54\\xb9\\xed\\x22\\xe2\\x18\\x93\\xe6\\x57\\x41\\xc9\\xfe\\xbd\\xfa\\x7c\\x3a\\xdb\\x37\\xcc\\x50\\x7d\\x29\\xf4\\x11\\x8d\\xe0\\x7d\\x72\\x05\\xf6\\x11\\x51\\x68\\x69\\x51\\xaf\\x93\\x0f\\xeb\\x74\\x82\\x87\\xf7\\x14\\x15\\x7b\\x04\\xc1\\xe5\\x0b\\x52\\x55\\x54\\x3b\\x75\\x94\\xba\\x9b\\xfa\\x16\\xa5\\xa3\\x28\\xce\\x09\\x3d\\x6c\\xf3\\x53\\x01\\x28\\x6a\\x13\\xa7\\x2e\\xd6\\xf7\\x33\\x5e\\x62\\xe1\\x04\\x0f\\x91\\x37\\x65\\x8b\\x2f\\x6a\\xc4\\xfd\\xbe\\x68\\x1e\\x2b\\xc5\\x11\\x3d\\x8e\\x22\\x80\\xa9\\x18\\x6b\\x9d\\xdc\\xd1\\xdf\\xf7\\x88\\xdd\\x9a\\x30\\x73\\x67\\xf3\\x58\\x01\\xe5\\x57\\x4c\\xbd\\xed\\xca\\x22\\xf2\\x8a\\xe1\\x59\\x6d\\x15\\x75\\x8d\\xf1\\xaa\\xca\\x92\\x2c\\x27\\xdb\\xb6\\xb5\\xda\\xe3\\x48\\xc7\\x9d\\xb8\\x5f\\xb2\\x1c\\x46\\xeb\\xc9\\xb2\\xdb\\x65\\x65\\x9d\\x4e\\xab\\x3d\\x73\\xd7\\x99\\xcd\\xea\\x72\\x49\\x4e\\x96\\xb5\\x4b\\xc8\\xd2\\x74\\xd9\\xe2\\x07\\xd1\\xa7\\xdd\\x0e\\x54\\x70\\xbd\\x99\\x58\\x78\\xaf\\xb7\\x98\\x21\\x96\\x42\\x3c\\x7c\\xd0\\xbc\\xde\\xd7\\xb3\\x68\\xc3\\xaa\\xc5\\xf3\\x2a\\x9e\\xb8\\x1d\\x93\\xf8\\xdd\\x17\\xde\\xb9\\x0b\\x94\\x78\\xec\\x45\\xe2\\xc2\\xb5\\x57\\x6c\\xf4\\x03\\x09\\x92\\x16\\x54\\x7e\\x13\\x78\\xfd\\xda\\x5b\\xd5\\xdc\\x06\\xd9\\x3e\\xc5\\x1c\\x81\\xc9\\x0b\\x4f\\xb8\\x51\\x6e\\x63\\x73\\x38\\x74\\x2c\\xf4\\xc1\\x3a\\xc2\\xe3\\x75\\xd8\\x6c\\x94\\x19\\x26\\xe8\\x15\\x50\\x4d\\xa9\\x2f\\xc9\\x6d\\x72\\xb5\\xa8\\x1e\\x6d\\xe3\\x56\\x02\\x0a\\xe7\\x38\\x24\\x49\\x6d\\xbe\\x76\\xfb\\xba\\xf5\\xbb\\x3f\\xfd\\x5b\\x67\\x23\\xd0\\x91\\x72\\x6f\\x57\\x07\\xa5\\x7c\\x41\\xba\\xeb\\xa8\\xf7\\xdf\\xfa\\xf5\\xaf\\x7e\\xf6\\xe6\\x7f\\x56\\xdf\\xf9\\xda\\x0b\\xa7\\xcf\\xff\\xe3\\xc1\\x97\\xef\\x3a\\x3c\\x05\\xd3\\xa3\\x3c\\x4d\\x2f\\x06\\x93\\x99\\x17\\x61\\x6a\\x85\\xaa\\xe7\\x26\\xd9\\x43\\x32\\x8c\\xcb\\x02\\x97\\xdc\\xe5\\x0a\\x48\\xde\\x63\\x69\\x48\\x19\\x6b\\x3c\\x96\\x66\\x59\\x0a\\xea\\x66\\x1f\\xd1\\xfe\\x5a\\x32\\x7b\\x0b\\x20\\x48\\x69\\xd7\\xdd\\x60\\x39\\x51\\x75\\x29\\x51\\xca\\xc7\\x0a\\x62\\xf2\\x5e\\xbb\\x9f\\x7a\\xa6\\xe6\\xd3\\x64\\xac\\xb8\\xae\\xae\\x38\\x96\\x54\\x4a\\x53\\xc5\\xb1\\xba\\xba\\x58\\x71\\x0a\\x3e\\xbb\\xad\\x58\\x79\\x36\\x0c\\x8c\\xe8\\x7d\\xac\\xb6\\xf6\\x2d\\xed\\xfb\\x65\\x68\\x83\\xb5\\x1a\\x22\\x0c\\x92\\x17\\xf4\\x4a\\xc7\\xd2\\xd0\\xa7\\x19\\xd9\\x63\\x69\\x58\\xd9\\x7f\\x39\\x6d\\x54\\x9d\\x08\\x0b\\x78\\x90\\x87\\x47\\xca\\xe4\\xbd\\x9e\\x5b\\xf3\\xcc\\x53\\xca\\x3b\\x19\\xe2\\xc0\\xdb\\x39\\xe2\\xc2\\xa0\\xa3\\x58\\x79\\x11\\x12\\x57\\x5b\\x1b\\x83\\xff\\x76\\xbd\\xf6\\x1d\\xfb\\xae\\xc7\\x95\\x2e\\x62\\xf0\\xc2\\x37\\x88\\x04\\x51\\x2f\\x7b\\xcb\\xc8\\x90\\x45\\x5f\\x4c\\x14\\x5b\\x48\\x5a\\xe2\\xbd\\x5e\\x49\\xaa\\xe0\\x43\\xfa\\x32\\x3a\\x41\\x88\\x2e\\xa2\\x2a\\xf5\\xa3\\x24\\x54\\x26\\x80\\xd7\\x4e\\xc8\\xc1\\x5f\\x8a\\x68\\xd4\\x8f\\x44\\x13\\xa9\\xea\\x77\\x0d\\x9b\\x1a\\xb9\\x52\\x12\\x0d\\xb0\\xaa\\xdf\\x9d\\xfd\\xc7\\xed\\x2e\\x3b\\xcb\\xb3\\xa2\\x43\\x8c\\xb8\\xfd\\xa1\\x44\\xb4\\xc6\\xee\\xb4\\xb3\\x22\\xeb\\x70\\x3b\\x06\\x95\\x2e\\x7a\\x32\\x2f\\x71\\x16\\x83\\xde\\x6c\\x15\\x58\\x56\\x12\\x78\\x93\\xd3\\x5c\\xc2\\x87\\x83\\xbc\\x4b\\xe4\\xf4\\x06\\xb3\\x55\\xe4\\x38\\x89\\xb3\\x1a\\x7d\\x0c\\xf6\\xfd\\xca\\x29\\x28\\xcf\\xe5\\xcc\\x56\\xa8\\x5c\\x09\\x59\\x34\\x11\\x46\\xa3\\x68\\x14\\x04\\xe2\\x48\\x5a\\xd0\\xc9\\x3a\\xcb\\xd1\\xb4\\x0e\\x0b\\xb1\\x9c\\xf0\\xb8\\xb8\\x1f\\xe1\\xcd\\x16\\xa0\\x99\\xac\\x5e\\xa7\\x57\\x07\\x38\\x52\\x78\\x0b\\xbd\\xbe\\x19\\x80\\xe5\\x2b\\x47\\x57\\x37\\xcd\\x2d\\xbf\\x6a\\x23\\x35\\xcd\\xb7\\x3b\\xdc\\xdf\\xb0\\x6e\\xcb\\x42\\xc6\\x08\\xc8\\xe1\\x44\\xc9\\x4d\\x37\\xdd\\x18\\x8d\\x76\\xe1\\xe7\\x7d\\x9f\\x7e\\x15\\x4c\\x62\\x5e\\x85\\xaa\\x1d\\x90\\xcd\\x3a\\xe8\\x69\\x19\\x8a\\x22\\x8f\\xa4\\x61\\xfe\\x33\\x53\\xbd\\x4a\\xf6\\xfb\\xf8\\x11\\xe8\\x09\\x61\\x04\\x23\\x08\\x26\\x3d\\xa0\\x54\\x83\\xeb\\x9f\\xad\\x64\\xbe\\xf5\\xe1\\x06\\xf5\\x9c\\xe0\\x84\\xcf\\xa0\\xf4\\x14\\x90\\x19\\x70\\x24\\xcd\\x68\\x9f\\x01\\x69\\x7d\\x0d\\x7e\\x48\\x12\\xdf\\xca\\x03\\x73\\xa6\\x30\\x98\\xa4\\x54\\x3f\\x50\\xf9\\x2c\\xb8\\x9e\\x7e\\xf5\\x43\\xdf\\x45\\x9f\\xe1\\x91\\x4d\\x04\\x45\\xe9\\x19\\x48\\x05\\x03\\xce\\x81\\x7e\\xa8\\x33\\xe5\\x19\\x1a\\xa2\\x71\\x48\\x84\\x13\\x4c\\xaa\\x7c\\x56\\xd9\\x06\\x5e\\x7f\\x80\\x7e\\xf5\\xd8\\x86\\x0f\\x2f\\xf3\\xfb\\x3a\\x28\\x34\\x94\\xc6\\xc1\\xdf\\xff\\x51\\xf6\\xf7\\x11\\xfa\\x61\\x03\\x7a\\xfe\\xb6\\x67\\x2b\\x1f\\x00\\xaf\\x33\\xf3\\x8f\\xf9\\x26\\xfc\\xbe\\x11\\xe3\\x75\\x32\\x26\\xd2\\x60\\x60\\xf6\\xea\\x29\\xa4\\xb5\\xfd\\xb8\\x32\\xf0\\xfc\\x08\\x65\\x22\\x2a\\x1b\\xd1\\x38\\x83\\x18\\x29\\x46\\x94\\xdc\\xa9\\x7c\\xf1\\x40\\xe5\\x9d\\x40\\x07\\x89\\xd9\\xb2\\xe5\\x43\\x1f\\xfc\\x3b\\xe1\\xf3\\xa2\\xb2\\x15\\x86\\x49\\x13\\xa9\\xd3\\x19\\xf7\\xea\\x61\\x71\\x8f\\x3f\\x30\\x95\\xfb\\x40\\x55\\xb8\\xc5\\x88\\x32\\x46\\x95\\xef\\x17\\x77\\x42\\xe2\\x74\\x77\\x22\\x11\\x6f\\xd9\\xe2\\x83\\x7f\\xa1\\x2e\\xcb\\x50\\x97\\x5f\\xbc\\xf0\\x73\\xc2\\x0e\\x73\\x67\\x81\\x65\\x18\\xd1\\x64\\x92\\x68\\x96\\x85\\xfa\\xc3\\x98\\x4c\\x06\\x1f\\xfe\\xc4\\xf7\\x5f\\xc2\\x78\\xb4\\x20\\x93\\xe6\\x39\\xd1\\x49\\x50\\x29\\x1f\\x91\\xab\\x19\\x48\\x0f\\xc6\\x02\\xb3\\xdd\\xab\\x94\\x0f\\xfb\\xfb\\xbf\\xa9\\x0b\\xef\\x2b\\x36\\xbd\\x36\\xcd\\x61\\xfe\\x1d\\x1f\\x08\\xf0\\xa0\\x44\\xf0\\xf5\\x05\\xdb\\x4e\\xab\\xf5\\xfc\\x41\\x9a\\x27\\xb6\\x33\\xa7\\xd0\\x5d\\xc0\\xb2\\x09\\xf5\\x5f\\x18\\xa8\\x3b\\x06\\x9a\\xa8\\xfa\\x51\\x53\\xee\\x01\\x22\\xba\\xd1\\x2c\\x5e\\xd7\\x90\\xda\\x7e\\xfc\\xb8\\xf7\\xbd\\xf7\\xbc\\xcc\\xd5\\x5f\\xbb\\x2b\\xbe\\xfd\\xc4\\x76\\x82\\x54\\x1e\\x55\\xba\\xc0\\xf0\\x85\\x1f\\xc3\\xdf\\xe7\\x89\\xa4\\xec\\xb0\\x70\\x1c\\x69\\x64\\xf4\\x7a\\x1b\\x54\\x68\\x1d\\xc3\\x01\\x0a\\xfe\\x31\\xda\\x88\\xaa\\x1f\\xab\\xf7\\xe7\\x27\\x53\\x39\\x6f\\xa0\\xba\\xaa\\x28\\x22\\xb8\\x21\\x25\\x15\\xa7\\x9c\\x12\\x12\\x4d\\xfc\\xdd\\x13\\xdb\\xe3\\xf0\\xd3\\xc7\\xe7\\xa1\\x07\\x1d\\x3f\\xae\\x1c\\x45\\x5f\\xbd\\xcb\\xe0\\xd3\\xe2\\x77\\x7d\\x8d\\xc0\\xf7\\x02\\x22\\x08\\xa1\\x73\\x4c\\xaf\\x10\\x23\\x8a\\x08\\x82\\xd7\\x93\\x1f\\x91\\x5f\\x87\\xff\\x81\\x7b\\x9c\\x22\\xcf\\x5d\\x78\\xe1\\x8c\\x5b\\xa4\\x8c\\xc5\\xa0\\x1c\\xf9\\x06\\xf8\\xb3\\xbd\\x4a\\x17\\xb5\\x91\\x7a\\x01\\xfe\\x6c\\xa7\\xfa\\xb3\\xe0\\xe9\\xec\\xcf\\xfe\\xfc\\x4c\\x22\\x66\\xd1\\xe5\\x7e\\xb6\\xf9\\xc2\\x17\\xf4\\x5f\\x74\\xa7\\xe0\\xcf\\x16\\xe3\\x9f\\xbd\\x03\\xc4\\xa0\\x66\\x4b\\x67\\xa8\\x32\\x26\\x46\\x9d\\xbb\\xf0\\xd1\\x99\\xff\\x8f\\xba\\x37\\x81\\x6f\\xaa\\x4a\\xff\\x87\\xcf\\xb9\\x4b\\xf6\\x34\\xfb\\x9e\\x34\\x49\\x93\\x26\\x6d\\xd3\\x36\\x6d\\xd2\\x15\\x28\\x0d\\x50\\x6a\\x41\\x96\\x52\\x16\\x89\\x2c\\x2d\\x0c\\xa2\\x22\\x2a\\x8b\\xe2\\x38\\x8a\\xa0\\xe2\\xc2\\xa0\\xb8\\x2f\\x83\\x08\\x88\\xe8\\xa8\\x3f\\x04\\x06\\x23\\x6e\\xa3\\xa2\\x03\\x8e\\x8e\\x30\\xea\\xb8\\xcc\\x38\\xea\\xa8\\x08\\xb3\\xe9\\x08\\x23\\x8c\\xe3\\x28\\xbd\\x7d\\xcf\\x72\\xef\\xcd\\x4d\\x5a\\xe0\\xf7\\x9f\\xf7\\xf3\\x7e\\x3e\\xef\\xbf\\x85\\xde\\x24\\xf7\\x7b\\x9e\\xe7\\x2c\\xcf\\x76\\x9e\\x73\\x73\\x4e\\x4d\\xdc\\x5d\\x86\\xe1\\x00\\xfd\\xa3\\xe7\\x7e\\xe2\\xef\\x2d\\x21\\xfc\\x58\\x8a\\x07\\xaf\\x23\\xda\\x9a\\xa7\\x98\\xb0\\x25\\x86\\x21\\x84\\xa6\\xf0\\x24\\xf7\\x0d\\xdf\\x26\\xd3\\x3c\\xc2\\x6c\\x42\\x18\\xfd\\x1e\\x56\\x2d\\x13\\xa3\\xe7\\x30\\x0a\\x4f\\x16\\xd0\\x3a\\x02\\xff\\x43\\x70\\x4c\\x30\\x5a\\x5a\\xe2\\xca\\xe3\\x86\\x0f\\x58\\x0a\\xe8\\x1d\\x67\\xf0\\x06\\xaf\\x25\\xcf\\x01\\x76\\xe0\\xab\\x5c\\x45\\x15\\x25\\x49\\xea\\x66\\x29\\xa0\\x77\\x1c\\x7e\\x42\\xe9\\x71\\xc1\\xb0\\x92\\xde\\x34\\x61\\x02\\x77\\x44\\xf5\\x27\\x84\\x8b\\xa1\\x6e\\x89\\x83\\x9f\\xc0\\x27\\x31\\x1e\\xac\\x80\\x6f\\xa0\\xb6\\xa3\\xb6\\xd4\\xf3\\x72\\x5b\\x26\\x09\\x13\\xd8\\x49\\xfc\\xed\\x08\\xdb\\x49\\xb0\\x2b\\xc0\\xef\\xd0\\x55\\x0d\\x7e\\x02\\x76\\x8b\\x75\\x3b\\xc9\\x5f\\x4e\\xfa\\x2f\\x2e\\xf6\\xdf\\x05\\xa4\\xff\\x18\\x1f\\x1f\\x43\\xdd\\xfd\\xd7\\x5c\\xa9\\xdb\\x65\\x54\\xf4\\xdf\\x78\\xd4\\x7f\\x7f\\x21\\x75\\x3c\\x0b\\xd1\\x51\\x31\\x0f\\x74\\xff\\x5b\\xea\\x33\\xfe\\x72\\xd2\\xc6\\xb8\\xd8\\x67\\xcf\\xd3\\x36\\x32\\x03\\x87\\x64\\x1a\\xb8\\x3c\\xea\\x33\\xb9\\x3c\\xe9\\xb3\\x77\\x25\\xdc\\xf3\\xb9\\x68\\x29\\x67\\x15\\x71\\xa8\\xcf\\x0a\\xe8\\x1d\\x67\\xee\\x96\\x70\\xbf\\xcc\\x79\\x7c\\x79\\x7a\\xa8\\xcf\\x94\\xf4\\x8e\\x33\\x7a\\x09\\x77\\x3c\\x17\\x0c\\xe7\\xe9\\x09\\x5c\\x01\\xbd\\xbf\\x32\\xaf\\x49\\xb8\\xaf\\x73\\x7e\\x65\\xfd\\xb8\\x02\\x7a\\x7f\\x65\\x02\\xe2\\x18\\x94\\x89\\x95\\x13\\xc7\\x14\\xc9\\xb3\\x92\\xde\\x51\\x66\\xaf\\x44\\xef\\xaf\\x39\\x4f\\x40\\x41\\x6f\\x6c\\x01\\xbd\\xa3\\x50\\x90\\x70\\x7f\\xce\\x05\\x23\\xf9\\xfa\\x01\\xc0\\xad\\x54\\x87\\x11\\xae\\x02\\xe3\\xb4\\xaf\\x30\\x78\\xd3\\x7c\\x57\\xc6\\xc8\\xc0\\x20\\x1a\\x09\\x08\\x02\\x41\\x9f\\x87\\x8a\\x3d\\x11\\x7d\\x5c\\x87\\x6e\\x7c\\x8e\\xbb\\x6a\\x19\\x2a\\xd3\\x45\\xc6\\x76\\x0c\\x58\\x07\\x0e\\x99\\xd5\\xcc\\x3a\\x70\\xd3\\xc0\\xa1\\x21\\x68\\xbe\\xfa\\x5f\\xd0\\x5c\\x01\\x1e\\x2f\\xa4\\x89\\x9c\\xe6\\x4a\\xd2\\xee\\x0a\\xb1\\xdd\\x57\\x91\\xfe\\x81\\xc1\\x40\\x98\\x12\\x13\\xe9\\xa0\\x76\\x77\\xb2\\xfb\\x29\\x1d\\xd2\\xee\\x8f\\x68\\x3f\\x9a\\x4b\\xcb\\x4c\\x0e\\x65\\x3f\\x5e\\x53\\x40\\xef\\x1b\\x66\\x35\\xa5\\x17\\x8d\\xd5\\x17\\xd2\\xbb\\xa6\\x80\\xde\\x37\\xf0\\x33\\x4a\\xcf\\x11\\x4f\\x15\\xd2\\x9b\\xc0\\xad\\x54\\x21\\x1c\\xfc\\x3b\\xc1\\x6d\\x80\\x7e\\x24\\xcf\\xb6\\x8c\\x1e\\x22\\xa5\\x80\\xf6\\x86\\x11\\xde\\xa4\\x24\\xcd\\x22\\xdd\\x09\\x6c\\x27\\x7f\\x05\\xc2\\x7f\\x89\\xf0\\x2a\\x66\\xc3\\x35\\x00\\xa3\\x99\\x7a\\x4b\\x8c\\x51\\x37\\x8c\\x88\\x54\\x2a\\x64\\x1f\\xf7\\x67\\x25\\xd1\\x95\\x4a\\x51\\x57\\x34\\x22\\x6d\\xa4\\x2c\\xb0\\xa6\\xd4\\xad\\xd5\\x17\\xd0\\x6e\\xc7\\xfb\\x41\\xa9\\xf6\\x22\\xfc\\x38\\xd1\\xd6\\x6c\\x83\\x97\\x11\\x3c\\x5e\\x69\\xbe\\xa9\\xcc\\xcf\\xe8\\x0a\\xf0\\xd3\\x06\\xbe\\xe2\\x6f\\x52\\xd5\\x21\\x7c\\x15\\xc1\\xaf\\x83\\xaf\\x88\\xf4\\xa3\\x88\\x7e\\x45\\x59\\x54\\x15\\x2c\\xc0\\xcf\\x14\\x3a\\xd9\\x0f\\xb9\\x43\\x08\\x3f\\x9e\\xe2\\xc1\\xb3\\xe8\\x06\\xb2\\x7d\\x1d\\x16\\x6c\\xfb\\xfe\\x95\\x1b\\xdd\\x61\\x37\\x16\\xd6\\x9f\\x5f\\x47\\xea\\x9f\\x10\\xeb\\xff\\x53\\xa2\\xeb\\x58\\x1a\\xe0\\xb3\\x03\\x03\\xb9\\x32\\x3f\\x6f\\x53\\xe0\\xed\\x28\\x88\\x3c\\x42\\xf0\\x67\\x8b\\x78\\x95\\x58\\x1f\\x7c\\x32\\xc1\\xbc\\x68\\xa9\\xbf\\xb0\\xbd\\xd8\\x06\\xac\\x23\\x63\\x99\\x10\\x6d\\xc0\\x17\\x74\\x2c\\x81\\x4c\\x58\\xf4\\x05\\x4f\\xb2\\x47\\x88\\x4e\\x9c\\x2d\\xe2\\x78\\x8a\\xd3\\xc8\\x24\\x41\\xbe\\xbe\\xb3\\x25\\x7a\\x60\\x11\\xbc\\x15\\xf1\\xf7\\xec\\x61\\x60\\x02\\x8b\\x2f\\xae\\x71\\xad\\x48\\x98\\x4a\\xb0\\x5c\\xe7\\x6b\\x25\\xda\\x60\\x11\\x78\\x1d\\x2e\\xa7\\x32\\x8f\\xd3\\x37\\x30\\x54\\x27\\xb2\\x90\\x64\\x9e\\x3c\\x67\\x38\\x01\\xd7\\x1b\\xd4\\x81\\x5c\\x26\\x14\\x57\\xa9\\x3c\\x56\\x63\\x05\\xcb\\x1a\\x43\\xc9\\x50\\xb2\\x3e\\x65\\x4f\\x5d\\x96\\x62\\x4e\\xa4\\xe0\\x7b\\xa9\\xc3\\xa9\\x13\\x29\\x36\\xf5\\xec\\xc0\\xde\\xa7\\x86\\xb5\\x75\\xe1\\x6b\\x66\\x6c\\xbc\\xaa\\xeb\\xf6\\x14\\x64\\x40\\x2a\\x94\\xea\\x4e\\xad\\x4e\\x71\\x25\\x6c\\x9c\\xef\\xcb\\x9a\\xe2\\xed\\xf1\\xc9\\x71\\x56\\xcf\\xc6\\xe3\\xa5\\x91\\xda\\xca\\x58\\x38\\x12\\xee\\xcd\\x26\\x22\\x6c\\x32\\x14\\xd2\\xcd\\x47\\x81\\x4f\\xa8\\x34\\xd4\\x9b\\xd5\\xc2\\x52\\xab\\xd9\\xd9\\x9b\\x35\\xfb\\xc4\\xef\\x04\\xe7\\xbf\\x03\\xac\\x38\\x39\\x5d\\x7c\\x4a\\x11\\x9f\\x16\\xdb\\x3b\\x27\\x91\\x98\\xb3\\x74\\x99\\xf8\\xb0\\x84\\xb8\\xb6\\x20\\x7f\\x69\\x1e\\x3f\\x92\\x14\\x91\\xce\\xcc\\x8a\\x37\\xca\\x8f\\x2f\\x36\\x47\\x06\\x1f\\x1e\\xc8\\xaf\\xeb\\xff\\xeb\\xf6\\xfe\\xb5\\xdb\\xff\\x5c\\x32\\xeb\\xfc\\x75\\x8b\\x27\\x8c\\x74\\x4e\\x70\\x8e\\x68\\xea\\xee\\x8a\\x7e\\xbc\\x7d\\x3b\\xe3\\xd9\\xce\\x5c\\xb1\\x9d\\x71\\x6f\\xdf\\xde\\xe8\\x63\\x1a\\xfb\\xdf\\xf4\\x35\\x66\\xb4\\x33\\xc7\\xcd\\xbe\\xc4\\x39\\x5e\\xad\\x1d\\x5e\\x53\\x3f\\x52\\x75\\x53\\xa3\\x8f\\xdb\\xe4\\x6d\\x6c\\xf4\\xf6\\xff\\x93\\x31\\xe1\\xeb\\x0f\\xf3\\xc9\\x1a\\x92\\x1d\\xe9\\x11\\x1a\\x53\\x90\\x02\\x0f\\xa3\\x3e\\xd4\\x68\\x7c\\x76\\x13\\x63\\x2a\\xab\\x2b\\xab\\x4b\\x37\\x80\\x86\\x50\\xc3\\x67\\x0d\\xec\\xd8\\xba\\x86\\xd5\\x0d\\x5b\\x1a\\x76\\x35\\x70\\x0d\\xb8\\xef\\x1c\\x89\\xba\\xae\\x97\\x1b\\xe0\\x96\\x06\\x08\\x1a\\xcc\\x04\\xc1\\x99\\x58\\x7c\\xe7\\xa9\\x60\\x59\\x17\\x41\\xc4\\x6c\\xce\\xae\\x6a\\xbe\\x27\\x5b\\x6d\\x2e\\x8f\\x4c\\xce\\x96\\x83\\xba\\xb2\\x32\\x43\\x4f\\x56\\xc3\\x94\\x85\\xca\\x26\\x67\\xf5\\x20\\xe4\\xb0\\xba\\xbb\\xb3\\xd6\\xa1\\xba\\x8f\\x3c\\x97\\x06\\x13\\x09\\xd4\\x6b\\x4b\\x97\\x26\\x96\\x89\\x67\\x1b\\x5b\\xf3\\xab\\x50\\xca\\x05\\xa7\\xd3\\x74\\x9a\\x45\\xb1\\x13\\x03\\xd3\\xbd\\xf2\\xd1\\xb9\\xd7\\xaf\\xfa\\x9f\\xa2\\x3e\\xdb\\x70\\xc5\\x2d\\x30\\x25\\x6e\\xb8\\x90\\xdf\\x3d\\xa1\\xb8\\xd3\\xe8\\x97\\xf2\\x84\\x0b\\xf3\\x3b\\x2d\\x50\\x7d\\x99\\x5d\\xa0\\x2f\\xc7\\x98\\x43\\xd4\\x37\\x40\\x24\\xd9\\xc1\\x38\\x95\\x6c\\xa2\\x2f\\xb3\\x0b\\xf4\\xe5\\x18\\xf1\\x71\\x48\\x5f\\x4a\\xc2\\x95\\x4a\\x7d\\x71\\x0a\\xd7\\x30\\x9b\\x08\\xbd\\x6a\\xd1\\x46\\x9e\\x4b\\x71\\x9c\\x33\\xac\\xd1\\xc9\\xb8\\x81\\x0f\\x11\\x6e\\x1e\\x3f\\x01\\xe1\\x26\\x88\\xb8\\x80\\xe4\\x93\\x06\\x72\\xa1\\x84\\xb9\\x44\\xf2\\x5d\\xc8\\x7e\\xcd\\x57\\x3b\\x25\\x7a\\xda\\x5a\\x38\\x03\\xc6\\x80\\x2f\\x63\\x62\\x19\\x18\\x47\\xe1\\x15\\xf2\\x20\\xd6\\x28\\x25\\x4c\\xd5\\x49\\xa4\\x8f\\x22\\x19\\x66\\x18\\xf1\\x21\\xc7\\x91\\x0f\\x89\\x81\\x45\\x7b\\x91\\x07\\x41\\x9e\\x84\\x07\\x87\\x64\\xbd\\xde\\x4d\\xe2\\x97\\x5a\\x31\\x6e\\xd9\\x26\\xda\\x15\\x6c\\x88\\x9c\\xbe\\x52\\xab\\xaa\\xc0\\xae\\xc4\\xf1\\x79\\xd7\\xc4\\x8f\\x4d\\xa2\\x78\\xf0\\x27\\x78\\x87\\x6c\\x47\\xd3\\xbe\\x52\\xb7\\x6e\\x90\\x1d\\xda\\x4d\\xfa\\xa1\\x56\\xb4\\x2f\\xdf\\xe6\\xfb\\x35\\xe4\\xa5\\xd4\\x31\\x5d\\x14\\xe7\\x01\\xd2\\xaf\\x93\\x44\\x9c\\x87\\xf6\\x17\\x1f\\xf2\\xba\\x75\\x05\\xf1\\x5b\\x01\\xbd\\xe3\\xcc\\xf7\\x14\\xc7\\xfa\\x02\\x62\\x55\\x69\\x3d\\x51\\x9c\\xa7\\xa4\\x77\\x5c\\xa6\\xe7\\x0b\\x14\\xd0\\x43\\x7c\\x2f\\x20\\xf4\\x92\\x22\\xdf\\x8b\\x28\\xce\\xe3\\x34\\x97\\xa8\\xf3\\xb8\\x4a\\xe1\\x49\\xfc\\x3d\\x52\\x84\\x9b\\x2c\\xc6\\x4a\\xfe\\x7c\\x3b\\xcc\\x3a\\x0d\\x23\\xc7\\x36\\x88\\x1e\\xf1\\x1b\\x49\\xec\\xb3\\x29\\x3d\\xe2\\x3f\\x5c\\x34\\x1e\\xf4\\xcb\\xf1\\xe0\\xc0\\xdb\\x88\\x66\\x87\\x6a\\x39\\xa5\\x89\\xb0\\xeb\\x06\\x9e\\x86\\x77\\xc8\\xb4\\x35\\x4f\\x41\\x1d\\x93\\x8f\\x83\\x51\\x7b\\x94\\xf5\\x3c\\xce\\x9c\\x4f\\xeb\\xe9\\xb0\\xd8\\x14\\xf5\\x1c\\x38\\x3c\\x60\\x61\\x66\\x2a\\xea\\x79\\x1c\\x96\\x52\\x1c\\xd4\\x1b\\x69\\x25\\xe5\\x98\\xa9\\x80\\xde\\x51\\x12\\xd3\\x21\\xdc\\x68\\x8b\\x43\\x49\\xef\\x0f\\xc2\\x58\\xa6\\x4f\\x41\\xef\\x28\\xa9\\x1b\\xf6\\x23\\x7a\\x53\\x01\\x3d\\x00\\x54\\x9f\\x13\\x39\\xaa\\xa3\\x72\\xc1\\x8c\\x13\\xe5\\xa8\\x14\\xc9\\x51\\xc4\\x1b\\xd0\\xdb\\x0b\\xe4\\x02\\x69\\x99\\xca\\x43\\x62\\xe1\\x6e\\x11\\x8f\\xed\\x3f\\xc6\\x37\\x5b\\x62\\xb0\\x33\\xdd\\x54\\x57\\x52\\x28\\x47\\x84\\xfe\\x06\\x89\\x3e\\xf3\\x00\\x53\\x43\\xfd\\xa5\\x9f\\xf8\\xcb\\x7f\\xe7\\x82\\x9e\\x3c\\x07\\x99\\xfe\\x04\\x89\\x3e\\xf2\\x97\\xaf\\x13\\x7f\\x0c\\x1b\\x2d\\x18\\x2f\\xe4\\x5a\\x52\\x79\\x0e\\x74\\xdc\\x54\\x9f\\x93\\xfe\\xa0\\xf4\\x8f\\xb0\\x13\\xa4\\xf1\\x7d\\x49\\xa6\\x8d\\xe9\\x22\\x9c\\x87\\xc4\\x3e\\xdd\\x22\\x2e\\x24\\xe1\\xf2\\x34\\x45\\xbd\\xba\\x9f\\xd4\\xb7\\x5e\\xe4\\xff\\x90\\xd8\\x1f\\x2e\\x54\\x61\\x93\\xd7\\x6e\\xe1\\x0a\\xda\\x87\\x46\\x81\\xfd\\x9c\\xd4\\x77\\x8a\\x18\\x9f\\x3c\\x4c\\xeb\\x1b\\x22\\xf5\\x3d\\x9e\\x8b\\x04\\x7c\\xda\\xc2\\xfa\\xf2\\xf7\\x93\\xfa\\xd6\\x2b\\xfc\\x3b\\xa9\\xc7\\x7f\\x72\\x12\\x75\\x4c\\x17\\xf9\\xf7\\xcf\\x49\\x7d\\xa7\\x88\\x38\\x8d\\x38\\x7e\\x32\\x41\\x59\\xaf\\x94\\xf4\\x8e\\x33\\x47\\x45\\x7d\\x71\\xb8\\xc4\\xaa\\xd2\\x7a\\xa2\\x18\\x5f\\x49\\xef\\x38\\xa3\\xa3\\x38\\xa6\\x34\\x54\\x40\\x0f\\xc5\\xe4\\x4a\\x7a\\x47\\x99\\xc3\\x52\\xfd\\x7e\\xc8\\x39\\x3c\\x8a\\xfa\\x8d\\x2d\\xa0\\x77\\x94\\xd1\\x8a\\xf2\\x5a\\x5a\\xa6\\xa4\\x87\\xe3\\xb1\\xe5\\xc4\\xee\\xa4\\x88\\xfd\\xfb\\x15\\xa1\\x87\\x62\\x09\\x96\\x89\\x61\\xf3\\x07\\x5c\\x11\\x83\\xa5\\x28\\x7e\\x9e\\x84\\xe7\\x97\\xaa\\xb7\\x51\\x99\\x1e\\xa2\\x5f\\x9b\\xc0\\x13\\x03\\xbf\\xc5\\xd6\\x0f\\x32\\x30\\x33\\x04\\xcd\\x7d\\x84\\x26\\xb2\\xa9\\x1c\\x21\\xca\\x29\\xa9\\x2a\\x6c\\xaa\\x48\\x77\\xd2\\x20\\xba\\x8b\\xc0\\xf6\\x21\\xe9\\xbe\\x42\\xc6\\x86\\xd4\\xd5\\x4b\\xea\\xea\\xf6\\x9e\\xa2\\xae\\x2b\\x24\\x9a\\x68\\xfe\\x70\\x23\\xf8\\x33\\x89\\xf5\\xb7\\x93\\x58\\xbf\\x98\\xe6\\xab\\xff\\x05\\xcd\\x15\\xe0\\x40\\x01\\x4d\\x1c\\x43\\x87\\x89\\xce\\xa6\\x45\\x5b\\xfe\\x03\\x95\\x51\\x06\\xe9\\x2c\\xd3\\xe8\\x0d\\x58\\x1d\\x05\\x32\\x8a\\xf7\\xd2\\xd9\\x45\\x74\\x76\\xaa\\x88\\x7f\\x8f\\xea\\x2c\\x13\\x47\\x11\\xfa\\xb4\\x48\\xcc\\xa9\\x2b\\xd6\\x59\\x44\\x7f\\x83\\x44\\x1f\\xe9\\x00\\x27\\xd2\\x47\\x4a\\xcb\\xd4\\x04\\x3d\\x43\\xd2\\x9f\\x20\\xd1\\x47\\x3a\\x90\\x13\\xe9\\x97\\x23\\xfa\\x91\\x8a\\xb2\\xc1\\xf4\\xf9\\xa9\\x84\\x7e\\xa3\\x48\\xdf\\x4f\\xe7\\xcb\\x65\\x64\\xbe\\xfc\\x64\\xae\\x3c\\xa8\\x55\\xc6\\xd0\\x95\\x78\\x8f\\x45\\x42\\x7f\\x3a\\x99\\x5f\\x3c\\x90\\xa2\\x16\\xc7\\x8d\\x54\\xac\\xd2\\xe7\\x30\\xc1\\x22\\xfd\\x9a\\x4a\\xe4\\xb7\\x51\\xd4\\x9b\\xb7\\xe8\\x1c\\x47\\x2d\\x13\\x95\\xfd\\xc2\\xfd\\x44\\x7e\\xa7\\x53\\x1c\\xf6\\xb3\\x54\\xce\\xef\\xcc\\x49\\x34\\x25\\x7a\\xc4\\x2f\\x34\\x8a\\x7e\\xe1\\x2d\\xd1\\x2f\\x84\\x89\\x5f\\x60\\x13\\xf9\\x3c\\x41\\x14\\xd3\\x24\\x73\\x89\\xe9\\x14\\x4b\\x7c\\xb7\\x8a\\x59\\xa7\\xcd\\xeb\\xaa\\xb2\\x6e\\xc7\\x99\\x9f\\x4a\\x31\\xc3\\xaf\\x72\\xa1\\x32\\xad\\x14\\xab\\x44\\x90\\x2f\\x50\\xd6\\xed\\x38\\x9c\\x23\\xd5\\xad\\x3f\\xe7\\x74\\xcb\\x75\\x5b\\x8b\\xe4\\xe4\\x04\\xe9\\xc7\\x26\\xb1\\xdf\\xbf\\x54\\xcc\\xd3\\xb8\\x86\\x5a\\x4b\\xbc\\x78\\x6e\\xc4\\xbc\\x4b\\xfa\\x71\\x06\\xed\\xc7\\x26\\x62\\xa9\\xaa\\x89\\xa5\\xfa\\x3e\\x97\\xac\\xb4\\x83\\x02\\xfc\\x5a\\x64\\x83\\x4e\\x10\\x7c\\x93\\xd8\\x97\\x15\\x52\\x3d\\xfe\\x96\\x93\\xa8\\x93\\x5c\\xca\\x93\\xf8\\x7b\\xd4\\x22\\x5d\\xec\\x07\\xaf\\x94\\x70\\x47\\x64\\xaa\\x52\\x7d\\xd5\\x21\\x89\\x9e\\x76\\x3f\\xd3\\x81\\xac\\x31\\x99\\x57\\xb4\\xe3\\xc9\\x48\\xb6\\x61\\x24\\xa5\\xa9\\xd0\\x05\\x5c\\xe7\\x8f\\xf9\\x8d\\x12\\x6d\\xed\\x7e\\x78\\xbd\\x70\\x80\\x96\\x19\\x86\\x84\\x0b\\x8e\\x49\\xb6\\x52\\xfa\\x8a\\x32\\x94\\x8f\\x41\\xe6\\xf3\\x1a\\xe2\\x23\\xce\\xd9\\x33\\x98\\x0f\\x3f\\x7a\\x68\\x3e\\xef\\xf2\\x47\\x64\\x3e\\xaf\\xc1\\xad\\xc2\\x87\\xb4\\xcc\\x70\\xcc\\xa7\\xa4\\x6d\\x08\\x3e\\xb8\\x7f\\xa4\\xfe\\x27\\xb2\\x51\\xa1\\x18\\x07\\x14\\x33\\xb4\\xe5\\x65\\x83\\xf4\\x91\\xd4\\xf7\\xe6\\x18\\xee\\x7b\\xb3\\xd4\\x53\\xf8\\x7e\\x39\\xd2\\xb9\\x57\\x08\\xad\\x66\\x85\\x4e\\x10\\x29\\x47\\x63\\x09\\x7c\\x8e\\xa2\\x79\\xb1\\x1d\\xef\\xf7\\xa8\\x62\\x10\\xfe\\x1c\\x8a\\x1f\\xd8\\x0b\\xf6\\xd0\\x3e\\xff\\x77\\x2e\\xe0\\x52\\x49\\x7e\\xaf\\x1c\\xc5\\x35\\xaf\\x10\\x99\\x6b\\x16\\xc7\\xf0\\x32\\xd1\\x8f\\xc8\\x24\\xa5\\xf9\\x24\\xde\\x3f\\x52\\xa6\\x77\\x04\\xce\\xa0\\xb8\\x46\\x89\\x98\\x58\\x4f\\x14\\xcf\\x28\\xe9\\x1d\\x67\\x2e\\x17\\xfd\\x88\\xd3\\xad\\xa0\\x37\\x70\\x12\\xc9\\xf0\\x12\\x05\\xbd\\xe3\\xb0\\x49\\x8c\\x7b\\xdc\\xde\\x02\\x7a\\x28\\x9e\\x51\\xd2\\x3b\\x2a\\xd5\\x0f\\x3a\\xbd\\xca\\xfa\\xa9\\x50\\x3c\\xb3\\x5e\\x41\\xef\\x28\\x1c\\x4f\\x71\\x95\\x6e\\xbf\\x92\\x5e\\x42\\x78\\x84\\xdf\\x48\\xe8\\xb5\\x10\\xdc\\x9f\\x89\\xbd\\x35\\x3e\\x83\\xe2\\xec\\x84\\xc7\\xc4\\xd1\\x11\\x44\\x38\\x9f\\xf0\\x08\\xfb\\x09\\xbb\\x1d\\xe1\\x66\\x8a\\xb8\\x12\\x11\\x67\\xad\\x74\\x39\\xf4\\x32\\x2e\\x21\\x5c\\x53\\x40\\xef\\x1b\\x79\\x3e\\x1e\\xa9\\x35\\x29\\xfc\\xab\\x4f\\xb8\\xa6\\x80\\xde\\x37\\x92\\x7f\\x2d\\x09\\x57\\x3b\\xf4\\xca\\xfa\\x8d\\x2d\\xa0\\x77\\x14\\x59\\x09\\xda\\x5e\\x6f\\x69\\x21\\xbd\\xb1\\x05\\xf4\\x8e\\x32\\x06\\x8a\\x33\\xbb\\xfd\\x05\\xf4\\x90\\x7f\\xd9\\x48\\xfc\\x4b\\x0b\\xf5\\xaf\\xac\\x4e\\x92\\xf5\\x0a\\x2c\\xeb\\x31\\x4f\\xb9\\xd4\\x6a\\x59\\x6e\\x7d\\x48\\x3f\\x3e\\x51\\xfd\\x91\\xd2\\x96\\xfc\\x20\\xf1\\x0b\\x5b\\x51\\xaf\\x96\\x3c\\x03\\xdf\\x72\\xc1\\x5d\\x2e\\xe8\\x02\\x96\\x39\\x73\\x1a\\x87\\xe0\\xf1\\x6b\\xc2\\x83\\xce\\x61\\xfc\\x64\\x0e\\x13\\xf3\\xfa\\x45\\x2e\\x4a\\x7f\\x4b\\xf8\\xf0\\x27\\x64\\x3e\\xeb\\xc0\\x63\\x84\\xcf\\x22\\xf0\\x04\\xf8\\x33\\x96\\x6d\\x96\\xd9\\x59\\x0a\\x4b\\x33\\x5a\\x63\\x57\\x29\\xb0\\x24\\xe6\\x48\\xe5\\x5c\\x03\\x9f\\xf3\\xbb\\x54\\xbb\\x51\\xb9\\x56\\xd2\\xf6\\x4d\\xf0\\x97\\xa2\\x2e\\x98\\x90\\x2e\\xd4\\x7a\\xa2\\x6a\\x58\\xa0\\x0b\\x60\\xe0\\x2b\\x34\\x67\\x58\\x80\\xf0\\x59\\x8a\\x07\\xbf\\x17\\x63\\x52\\x13\\x32\\x6d\\x35\\x9e\\x28\\x67\\x2c\\xc0\\xbb\\x90\\x4d\\xdf\\x45\\xc6\\xa0\\x55\\xd4\\x89\\xbf\\x49\\x31\\x93\\x49\\x24\\x2d\\xe5\\xa6\\xf1\\xde\\x02\\x32\\x5d\\x39\\x06\\x53\\x3b\\x4c\\x22\\x49\\x82\\x63\\x06\\x3e\\x57\\xaf\\x25\\xfe\\x78\\x18\\xf1\\xaf\\x63\\x98\\xeb\\x51\\x7d\\xad\\x88\\x3f\\x72\\xf1\\x48\\x90\\x3d\\x2a\\x6b\\x39\\x61\\x4f\\xb0\\x5f\\xf1\\x2f\\x11\\x5f\\x7c\\x2e\\xc5\\xc2\\x9b\\xb0\\xdc\\x61\\xbd\\xfd\\x32\\x27\\x21\\x87\\xa0\\xb9\\x82\\xf9\\xb5\\x82\\xe6\\x22\\x87\\xfb\\x34\\x34\\x57\\x40\\x2c\\xa3\\xba\\x3d\\xf0\\x22\\x11\\x26\\xd3\\x9b\\x2d\\xd3\\x5b\\xc4\\x6c\\x44\\xf4\\x9c\\x58\\x4e\\xdc\\x58\\x4e\\x12\\x71\\x07\\x81\\x92\\xf1\\x93\\x69\\x96\\xc8\\x34\\x17\\xc1\\xdd\\x88\\xa6\\x01\\xe9\\x47\\x4c\\x46\\xe6\\xeb\\xb9\\x41\\xa2\\x8b\\xe2\\xfb\\x8d\\x0a\\xbb\\x55\\xeb\\x73\\xa8\\x6d\\x05\\x7d\\x4f\\xe9\\x4e\\x90\\xe8\\x22\\x3b\\xb7\\x07\\xe4\\xbd\\x79\\xcd\\x60\\xbc\\xf0\\xa4\\x7a\\x2d\\x19\\xab\\x61\\x62\\xdc\\xfe\\x5b\\x31\\xcf\\x25\\x43\\x25\\x1c\\xff\\x12\\x19\\xab\\x73\\xc5\\xb1\\xfa\\xb3\\x34\\x6f\\x2c\\xc0\\xd5\\xa0\\xd8\\x63\\x2b\\xa9\\xef\\x70\\x91\\xff\\xcf\\x15\\xf3\\x66\\x57\\x99\\x9f\\x73\\x15\\xf0\\xb7\\xa2\\xf8\\xfe\\x2f\\xa4\\xbe\\xb3\\x0a\\x63\\x1b\\x18\\x44\\xf5\\x35\\x95\\xf9\\x75\\x85\\xb2\\x48\\xe9\\xcf\\x96\\xe8\\xa3\\x7e\\xc3\\xf4\\x89\\x3e\\x92\\x84\\x9b\\xbd\\x56\\xe4\\xa0\\xd0\\x47\\xca\\xa3\\x44\\xe2\\x81\\xf4\\x23\\x27\\xe9\\x70\\x02\\xfb\\x1e\\x43\\xad\\xc8\\x45\\x51\\xc6\\x85\\xf8\\xdc\\x45\\xda\\x31\\x42\\x6c\\xc7\\x36\\x45\\xbf\\xc7\\x7c\\x0e\\x5d\\x61\\x3f\\x7a\\x84\\x4e\\xf6\\x3b\\xd2\\x8e\\xd9\\x62\\x3b\\x3e\\x16\\xdb\\x81\\x27\\x2a\\x89\\x48\\xa0\\xa4\\xb0\\xdd\\xf3\\x91\\x3f\\x5a\\xae\\xfa\\x14\\xe1\\xdb\\x08\\xfe\\x66\\x12\\xef\\x48\\x79\\x5a\\x83\\xdd\\x6d\\x35\\x17\\xe0\\xc9\\x3e\\xbd\\xfc\\x1d\\x08\\x3f\\x87\\xc4\\x16\\x37\\x2f\\xa7\\xd4\\xfd\\x88\\x3a\\xeb\\xf0\\x40\\xab\\x22\\x46\\x9b\\x8f\\xf4\\x6a\\x39\\x19\\xd3\\x36\\x71\\xac\\x46\\x4b\\xf1\\xc2\\xef\\x73\\x1e\\x1b\\xa5\\x8c\\x69\\x22\\xff\\x3a\\x8d\\x8c\\xe9\\x1c\\xd1\\x27\\xfd\\x52\\xc2\\x7d\\x8b\\xe6\\x4a\\x50\\xca\\xfb\\xcf\\x47\\x3e\\x49\\x49\\xef\\x38\\xb3\\x58\\xb4\\xa9\\x76\\xa7\\x58\\x4d\\x5a\\x47\\x34\\x07\\x52\\xd2\\x3b\\x0e\\x5f\\x96\\xe8\\x7d\\x9f\\x73\\xb8\\x64\\x7a\\x76\\x84\\x53\\xe6\\x8a\\x8e\\xcb\\xb9\\xa2\\x60\\x58\\x99\\x2b\\x52\\x21\\x1f\\x5c\\xcf\\xef\\x93\\x7c\\x12\\x58\\x34\\xf0\\x6b\\xe4\\x83\\xcd\\xbf\\xc0\\x69\\xd5\\x1f\\x72\\x95\\xa2\\xdf\\x6c\\x54\\xc8\\xfd\\x9b\\xb2\\x7c\\x6e\\x84\\xcf\\x4a\\x63\\xec\\xc6\\x63\\x5c\\x2d\\x89\\xa9\\x62\\x8c\\xe9\\x98\\x1d\\x94\\xc7\\x6c\\x23\\xf8\\x04\\x30\\xb4\\x4c\\x08\\x97\\xa9\\x90\\x46\\x4d\\x51\\xa6\\x0b\\xd9\\xdc\\xa5\\x84\\x0f\\x5d\\xf7\\x5b\\x0d\\xd6\\x8a\\xb1\\x78\\x1d\\x2a\\xc2\\xd6\\xd7\\x18\\x0a\\xf3\\x42\\x68\\x96\\xc7\\xdc\\xa0\\x7a\\xcf\\x1a\\x83\\xa3\\x44\\xb9\\xd8\\x0c\\x6f\\xa6\\xf3\\x5d\\x26\\x06\\x1f\\xf0\\xda\\x39\\x43\\x1e\\x8f\\x9f\\x73\\x1f\\xf8\\x17\\x7f\\x16\\x3f\\x05\\xc5\\xe4\\x33\\x32\\xd5\\x51\\xbd\\xde\\xe9\\x2c\\x09\\xab\\xc3\\x9e\\xb8\\x27\\x5e\\x95\\x88\\xea\\x75\\x7a\\x5d\\x5f\\x56\\xaf\\x0f\\x80\\x80\\xa5\\x2f\\x1b\\xe0\\x5c\\x9e\\xde\\xac\\xcb\\x0a\\xf8\\xbe\\x2c\\xb0\\x81\\xe2\\x6d\\x2f\\x94\\x5f\\x1b\\x27\\x8f\\x70\\xd2\\x07\\x25\\xf8\\x32\\xfc\\xac\\x0b\\xf9\\x9a\\x6e\\x5c\\xdc\\x97\\xad\\x04\\x3a\\x2c\\x24\\xdb\\x08\\xd2\\x29\\x92\\x68\\xa4\\xe9\\x46\\x76\\xe6\\x9d\\xcb\\x56\\xaf\\x81\\xa1\\x5f\\xbd\\x0e\\x6f\\xbb\\x7f\\xcb\\x4d\\xf3\\xee\\x9f\\x2e\\xdc\\xb5\\x1d\\xba\\xff\\x73\\xff\\xe1\\x15\\x77\\x5c\\xff\\x8b\\xdf\\x7c\\xaf\\x6f\\x1e\\x17\\x83\\xc1\\x3b\\xd7\\x9f\\x7b\\xf3\\xcd\\xcb\\x6f\\xe9\\xdd\\x75\\xd9\\xc9\\x5b\\x1a\\x7d\\x8c\\x70\\x02\\x9a\\xa6\\xde\\xbf\\x60\\xc5\\xa3\\x7e\\xeb\\x2f\\xd7\\x3d\\xbb\\x4f\\x8a\\x7d\\x0a\\xd6\\x55\\x15\\xeb\\x6e\\xef\\xc9\\xcb\\xaa\\xb8\\x6f\\x91\\x3c\\x2a\\xd7\\x54\\x8f\\xc0\\xed\\x12\\xee\\x2d\\x79\\x49\\x95\\xe6\\xcf\\xf9\\x67\\x55\\xbf\\x93\\xe8\\x69\\xff\\xc3\\x7c\\xaa\\x98\\x3f\\x01\\x9b\\x9b\\xd5\\x16\\x8c\\x01\\x1d\\xb3\\x85\\x12\\x5d\\xed\\x7f\\xe0\\xe7\\x03\\x87\\x08\\x3e\\x89\\xc6\\x4c\\x1f\\x4b\\x14\\x8d\\x19\\xa1\\xaf\\xf6\\xc8\\xf4\\x7f\\x60\\x7e\\x45\\x6c\\xb9\\x81\\x65\\x3c\\x3c\\x9a\\x52\\x7a\\x4a\\x59\\x0d\\x15\\x8b\\x76\\x62\\xcb\\x31\\xfd\\x57\\xf2\\x32\\xa1\\xfd\\x01\\x1e\\x92\\xe6\\xa0\\x0d\\x16\\xe4\\xbe\\xe7\\xd4\\x54\\x48\\xcb\\xc1\\xb2\\x1c\\x15\\xf3\\x38\\x49\\x78\\x78\\xf6\\xb0\\x4c\\x18\\x7b\\xfc\\x67\\x07\\x6e\\xcc\\xb9\\xc2\\xd2\\x82\\x33\\x8d\\x95\\x06\\x8e\\x16\\xca\\x9e\\xf6\\x24\\xc4\\xb6\\x1a\\x97\\x21\\x6c\\x9e\\x1d\\xd8\\x90\\xab\\x6a\\x50\\x72\\x92\\xf9\\x78\\x65\\x3e\\xfd\\x84\\x0f\\xa9\\x9b\\x0f\\x33\\xf2\\xda\\x0b\\xb8\\x28\\xfa\\xeb\\x80\\xcc\\xa7\\x9f\\xe8\\x31\\x29\\x53\\x8b\\x19\\x85\\xe2\\x0d\\xa7\\x68\\x8f\\x4b\\xe6\\x23\\x20\\x3e\\x71\\x52\\x37\\x1f\\x6d\\xcf\\xa7\\xb9\\x58\\x7d\\x61\\x7b\\x44\\x3e\\xc7\\x64\\x3e\\x02\\x7c\\x5f\\x6c\\x4f\\x2d\\x6d\\xcf\\x0f\\xb9\\xd6\\x8e\\xe2\\xf6\\x60\\x59\\x22\\x76\\x33\\x2a\\xce\\x09\\x9e\\x17\\xed\\xe7\\x95\\x74\\xbe\\x18\\xcc\\xcf\\x09\\x88\\x3c\\x11\\x9b\\xd9\\x41\\xe6\\x04\\x37\\xaf\\xa4\\x73\\x82\\xed\\x60\\xe8\\x31\\x18\\x60\\x0e\\x8a\\x63\\xe0\\xa1\\x75\\xfe\\x4b\\xce\\x1f\\x1d\\xb2\\xce\\xf9\\x31\\x18\\x80\\xaf\\x89\\x75\\xae\\xa6\\x75\\xfe\\x7b\\x2e\\xd9\\x3c\\xe4\\x18\\xc8\\x7c\\x74\\xe0\\xff\\x9c\\x8f\\x0e\\xfc\\xaf\\xf9\\xc8\\x63\\xad\\x83\\x32\\x1f\\x9b\\xc4\\xc7\\x59\\x3a\\x24\\x1f\\x79\\xac\\x75\\x50\\xe6\\x13\\x93\\xf8\\x54\\xd6\\x0f\\xc9\\x27\\x24\\xf3\\x61\\x10\\x9f\\x3a\\x52\\xa6\\x8a\\xf2\\xf9\\x5b\\x2e\\x50\\x71\\xfa\\xb1\\xd6\\x31\\x70\\x9f\\xc8\\xa7\\x4d\\xe2\\x53\\x37\\x7c\\xc8\\xb1\\xde\\x3f\\x68\\xac\\x37\\x9c\\x72\\xac\\xb3\\xf2\\x58\\x6f\\x58\\x79\\xa8\\x60\\xac\\x71\\xfe\\x59\\xb9\\x86\\x2b\\xcf\\xd3\\x50\\x48\\x52\\xb8\\x86\\xfb\\x64\\xc1\\x1a\\xee\\x11\\xf8\\x0d\\xcd\\x6f\\xc4\\x22\\x81\\x82\\x35\\x5c\\xbc\\x6e\\x4d\\x6c\\x50\\x85\\x68\\x83\\xae\\x14\\xfd\\x77\\x39\\xf2\\xdf\\x51\\xbf\\xb4\\xd0\\x9c\\x50\\xae\\x59\\xf3\\x6b\\x24\\xba\\xc8\\x06\\x9d\\x10\\xfd\\x06\\xea\\x67\\xa6\\x2e\\x20\\x2d\\x38\\x17\\xd2\\xdf\\x2d\\xd7\\x77\\x13\\x0c\\x88\\xf4\\x71\\x62\\xd7\\x25\\x2f\\x3c\\x17\\xd2\\x5f\\x20\\xd7\\x7b\\x93\\xec\\x97\\x02\\x88\\xbe\\x5d\\x5e\\x80\\x2e\\xa0\\x4f\\x64\\xb2\\x42\\xb4\\x71\\xcb\\xa5\\x38\\xaa\\x0a\\xc7\\x51\\x97\\x44\\x4a\\x87\\x5c\\x77\\x7f\\x9e\\xc8\\x64\\x97\\x68\\xe7\\x3e\\x92\\xec\\x42\\x02\\x0f\\xe2\\xf9\\xd1\\x20\\xe5\\xa2\\x28\\x53\\xcc\\xe7\\x24\\xe1\\x83\\xd7\\x47\\xab\\xe8\\xfa\\xe8\\xde\\x5c\\xa8\\x4a\\xc9\\x89\\xcc\\x6d\\x71\\x5b\\xf2\\x7c\\x4e\\x12\\x3e\\x58\\x56\\x12\\x54\\x56\\x9e\\xcb\\x85\\x13\\x4a\\x4e\\x32\\x1f\\xaf\\xcc\\xa7\\x3f\\xdf\\x9e\\x28\\x66\\x34\\x2d\\x50\\x35\\x64\\x7b\\x6e\\x24\\xb2\\xdf\\x25\\xda\\x39\\xb9\\x3d\\xe5\\x98\\xd1\\xc4\\xd2\\xc4\\x29\\xda\\x33\\x52\\xe6\\x23\\x14\\xf1\\xf1\\x24\\x87\\x0d\\xfd\\xbc\\x02\\x91\\xfd\\x2e\\xd1\\xce\\x15\\xf2\\xb1\\xd6\\x0d\\x1f\\xcc\\x07\\xcb\\x2b\\xb1\\x73\\x15\\x44\\xf6\\x6f\\xc6\\xe3\\x2f\\xcb\\xad\\xe6\\x29\\x98\\x5f\\x2f\\xa1\\x32\\x4b\\xec\\x5c\\x17\\xc5\\x82\\x0d\\x80\\x5a\\xba\\x6f\\xc8\\x7d\\xb2\\x46\\x46\\x64\\xb5\\x5a\\x94\\xbd\\x73\\x45\\x59\\x72\\x20\\x59\\xd2\\x1b\\x2c\\x1a\\x5d\\xf1\\x1a\\x04\\x63\\x25\\xfe\\xf2\\xb8\\x88\\xb7\\x21\\x7f\\xe9\\xc8\\x41\\x1b\\xc9\\x64\\x9d\\xcc\\xe9\\x4c\\x1c\\xa3\\x88\\x37\\xc7\\x0b\\x4f\\x32\\xf3\\x15\\x6b\\x7a\\x47\\xe0\\x39\\xe2\\x1c\\xde\\x6a\\x50\\xac\\xe9\\xe1\\x35\\x02\\x44\\x37\\xbf\\xa6\\x77\\x04\\xda\\x25\\xff\\xfe\\xaf\\x9c\\xdf\\x29\\xaf\\xe9\\x4d\\x43\\x7a\\xbf\\x9c\\xe0\\x52\\xa2\\xae\\x1e\\xa6\\x3a\\x08\\x02\\x2e\\x9a\\xcc\\x05\\xe2\\x73\\x43\\x4f\\xb2\\xbb\\x89\\xae\\xf6\\x88\\x38\\x20\\xe3\\x78\\x50\\x94\\x23\\x27\\xed\\x4f\\x89\\xba\\xda\\x2f\\xc6\\x0b\\x21\\x34\\x64\\x21\\x97\\x5f\\x24\\x9a\\x50\\xe6\\x87\\x89\\xae\\xf6\\x88\\x78\\x8f\\xa8\\x4b\\x38\\x2c\\x44\\x78\\x1e\\x14\\xe7\\xfd\\xf8\\xe5\\x44\\xc6\\x53\\xa2\\x2e\\xfd\\x55\\xf2\\xb1\\xe5\\xd8\\x20\\xce\\x2e\\xf5\\x0c\\x99\\x83\\xfe\\x8c\\xc8\\x78\\x8f\\x58\\x06\\x16\\xc8\\xc4\\xcc\\x52\\x0f\\x5f\\x9c\\x0f\\x2b\\xe6\\x73\\x92\\xf0\\xc1\\x7a\\x51\\x4e\\xed\\xee\\x93\\x39\\x5f\\xb9\\x92\\x13\\x2a\\x53\\x46\\xda\\x92\\xe7\\x73\\x92\\xf0\\x21\\x65\\xa8\\x2e\\x3d\\x81\\xca\\x28\\x39\\xc9\\x7c\\xbc\\x32\\x9f\\xfe\\x7c\\x7b\\x82\\x98\\xd1\\x68\\x77\\xf9\\xd0\\x39\\x75\\xa2\\x4b\\x3d\\x62\\x19\\xb9\\x3d\\x41\\xcc\\x68\\xa4\\xbb\\xfc\\x14\\xed\\x71\\xc9\\x7c\\x04\\xe6\\x73\\x14\\x33\\xe4\\xf9\\x80\\xaa\\xc6\\x53\\xf0\\x39\\x26\\xf3\\x11\\x8a\\xf8\\xb0\\x55\\x8d\\x83\\xf9\\x60\\x79\\x22\\xba\\x94\\x12\\xfd\\xc8\\x61\\x31\\x66\\xc0\\xcf\\x6a\\xe8\\x72\\x2c\\x13\\x21\\xca\\xd4\\x28\\xc9\\x14\\xd1\\xa5\\x1e\\x51\\x97\\x1e\\xa7\\xba\\xc4\\xc8\\x75\\x56\\x69\\x71\\xde\\x00\\xce\\x17\\x73\\x01\\xbf\\xa7\\xb9\\xc8\\xb8\\xe2\\x79\\xb6\\x81\\xaf\\xb8\\x29\\x38\\x5f\\x00\\x7f\\x44\\x9e\\x63\\x5b\\x01\\xbe\\x1b\\xb2\\xec\\x18\\x78\\xe9\\x19\\xcb\\x8e\\x01\\xd7\\x29\\xca\\xfe\\x4e\\x2a\\x2b\\xca\\x30\\x2a\\x5b\\x57\\x5c\\x76\\x0d\\x2d\\x4b\\x30\\x3e\\x62\\x2b\\xf0\\xd4\\x44\\xce\\x93\\x12\\x3a\\xbb\\x25\\x3a\\xc8\\xaf\\xdc\\x32\\xf8\\x79\\x3c\\x42\\x67\\x81\\x54\\x07\\xe4\\x4b\\xb6\\x4a\\xfd\\xa8\\xd2\\xf2\\xcf\\xc8\\x65\\x8f\\x48\\x6b\\x57\\xcc\\xc0\\xd3\\xb9\\x9a\\xb8\\x4e\\xca\\x43\\xa3\\x3e\\xe4\\xa6\\x70\\xb7\\x4a\\xf5\\x10\\xf5\\x92\\xe0\\x76\\x21\\x9c\\x16\\xe4\\xd7\\x0c\\x0b\\x72\\x75\\x8a\\xb5\\xba\\x81\\x5c\\x50\\xcc\\x26\\x92\\x5c\\xdd\\x93\\x05\\xb9\\xba\\x23\\xd2\\x5a\\x98\\x21\\xe0\\x1a\\x94\\xab\\x23\\x7a\\x4e\\xf3\\x68\\xff\\x61\\xa5\\x67\\x81\\xca\\x90\\x9d\\xab\\xf4\\x48\\x09\\xc0\\x44\\x41\\xfe\\x6c\\x8d\\x44\\x17\\xd9\\x39\\x7c\\x28\\x8e\\xbc\\xb6\\x78\\x32\\xe7\\x92\\x52\\x81\\xe2\\xda\\x29\\xea\\xbb\\x7a\\x32\\x7e\\x4b\\xc5\\xb1\\x3f\\x46\\xfa\\x0e\\x56\\xe6\\xfb\\x0e\\xd1\\xe4\\x6e\\x21\\xe3\\xb7\\x8c\\x8e\\x3d\\xd4\\x80\\xa1\\xca\\x8e\\x81\\xcb\\xcf\\x50\\x56\\x05\\xc6\\xcc\\x00\\x8a\\xb2\\xbf\\x93\\xca\\x8a\\xed\\x42\\x65\\x53\\xc5\\x65\\xd7\\xd0\\xb2\\x72\\x5b\\x30\\x26\\x3f\\xf6\\x94\\xce\\x6e\\x89\\x0e\\x1a\\xfb\\xdd\\xa7\\xa8\\xc3\\x02\\xa9\\xfe\\x38\\x77\\x29\\xd9\\x6e\\x55\\x3d\\x19\\xfb\\xa5\\xc5\\x63\\xf5\\x74\\x2e\\x59\\x69\\x04\\xf9\\xb1\\xe2\\x6e\\x21\\x63\\xbf\\x4c\\x31\\x56\\x32\\xce\\x2c\\xe1\\x68\\x7e\\xe5\\x4f\\x52\\x7e\\x05\\xf5\\x47\\x0f\\xaa\\x8b\\x3d\\x47\\xd2\\x6f\\xf8\\x71\\x5b\\xa7\\x47\\x2b\\x66\\xe0\\x14\\x73\\xf5\\xdb\\xc5\\xb9\\x3a\\xea\\x9b\\xab\\xc5\\xac\\xde\\x33\\xb9\\xd2\\xb0\\xd1\\x59\\xae\\xcc\\x3d\\xde\\x45\\x64\\x6a\\x84\\xc8\\x5f\\xcc\\xff\\x9a\\xe4\\x94\\x4d\\x9e\\x1e\\x91\\xa9\\xd9\\xa2\\x7e\\x1f\\x52\\xe4\\x7d\\x7e\\x27\\x95\\x47\\x7d\\x5d\\xae\\x58\\xaf\\x3f\\xc7\\xe1\\x1d\\x32\\xef\\xb3\\x46\\xca\\x21\\x20\\x9d\\x0b\\x8b\\x79\\x1f\\x14\\xd7\\xc1\\x60\\xa0\\xac\\x28\\xef\\x43\\xe9\\xef\\x96\\xeb\\xb7\\x09\\x3e\\xab\\xf0\\xc5\\xad\\xc1\\xaa\\x21\\xe9\\x2f\\x90\\x73\\x14\\x9b\\xc0\\x67\\x22\\xfd\\x00\\xce\\xe7\\xc5\\x53\\x45\\xf4\\xb1\\xee\\xb2\\xb8\\x9f\\x58\\xa2\\x7b\\xea\\x3b\\xc1\\xf3\\x44\\xa6\\x71\\xe8\\x44\\x66\\x00\\xd5\\x15\\x06\\xa7\\x42\\xa6\\x8b\\xf1\\x07\\x24\\x7c\\x93\\x88\\xaf\\x68\\x3a\\x2d\\xfe\\x21\\xf2\\x6c\\xb2\\x22\\x36\\xfb\\x57\\xae\\x7a\\x24\\x2d\\x21\\xfb\\x93\\xe2\\x32\\x3b\\xe4\\x32\\x4d\\x52\\x99\\x8a\\x33\\x95\\xd9\\x3a\\x04\\x9f\\xb6\\x33\\x94\\xd9\\x39\\x04\\x9f\\x21\\xcb\\xa8\\xd6\\xc9\\x65\\x1e\\x1e\\xcc\\x67\\xcc\\xa4\\x33\\x94\\xd9\\x35\\x98\\xcf\\xa0\\x32\\x64\\xce\\xc4\\x8f\\x17\\xe7\\x4c\\x2a\\xf5\\x9d\\xfb\\x9f\\x07\\xea\\xdd\\x4c\\x98\\x03\\xed\\x43\\xde\\x3f\\x40\\xef\\x3b\\xa5\\xfb\\xc8\\xcb\\xa9\\xc6\\xf2\\x73\\xcc\\x71\\x74\\xff\\x56\\x82\\x78\\x68\\xef\\x41\\xa0\\x7d\\x8a\\xa5\\x24\\x14\\x98\\xb9\\x0a\\xcc\\x8e\\xbd\\xbf\\x25\\x18\\xe7\\x69\\x30\\x5b\\x45\\xcc\\xe9\\xe8\\xec\\x1c\\x9a\\x8e\\xea\\x02\\x05\\xe6\\xe1\\x63\\x9f\\x0c\\x45\\xa7\\x00\\xb3\\x4b\\xc4\\xe4\\xe9\\x4c\\x46\\x36\\x38\\x4c\\xc6\\xec\\x7c\\x51\\x5e\\xa5\\xfc\\x6f\\x3d\\x92\\xef\\x29\\xa9\\x5a\\xbe\\xa6\\x40\\xbe\\x8b\\xf1\\x07\\xc0\\xcd\\x22\\x7e\\x04\\xc2\\x97\\xd7\\x8e\\x38\\x2d\\x1e\\xf5\\xda\\x8f\\xc5\\xac\\x20\\x7e\\x78\\x16\\x3a\\x52\\x1d\\x14\\x2f\\x8f\\x53\\x31\\x7e\\x87\\x84\\x1f\\x41\\xf0\\xb5\\xa7\\xc7\\x63\\x39\\xdd\\x02\\x94\\x1c\\xda\\x52\\x63\\x94\\x25\\x86\\x6c\\xc3\\xce\\x7c\\x19\\xc2\\xa5\\xad\\x76\\x70\\x19\\xd4\\x97\\xfc\\xbd\\xfc\\x48\\xd4\\x97\\x15\\xd0\\x43\\x7b\\x6a\\xc0\\x3f\\xb0\\x03\\xc9\\x08\\xac\\x52\\xc8\\x48\\x11\\xe6\\x80\\x84\\x09\\x2a\\xe5\\xe8\\x03\\xbe\\x07\\x63\\x98\\xac\\x28\\x47\\xaf\\xa2\\x31\\x61\\x28\\x99\\x53\\x60\\x76\\x88\\x98\\xe0\\x69\\x30\\x5b\\xff\\x17\\x74\\x76\\x0e\\xa2\\x13\\x12\\x26\\xb0\\xfb\\x48\\x5f\\x5c\\x28\\x8e\\xff\\xeb\\x0a\\xfb\\x96\\x28\\xf5\\x7a\\x0c\\x05\\xe3\\x59\\x8c\\x3f\\x20\\xe3\\x2b\\x30\\xde\\x5b\\x71\\x06\\x3c\\xb5\\x57\\xa4\\xaf\\xf1\\xc4\\x18\\x71\\xa8\\xa3\\x25\\x14\\x7d\\x5d\\x5c\\x66\\x47\\xbe\\x4c\\x05\\x29\\xe3\\x3d\\x73\\x99\\xad\\xe0\\xd3\\x02\\x3e\\xa3\\x4b\\x93\\x67\\x2c\\xb3\\x33\\x5f\\x86\\xf0\\x19\\xed\\x3d\\x45\\x19\\x62\\x7b\\x2e\\x54\\xd8\\x2b\\x45\\x7b\\x1a\\x33\\x67\\x2c\\xb3\\xab\\xb8\\x3d\\x43\\x94\\xc1\\x63\\xb7\\x8d\\xc8\\x52\\xe2\\x74\\xf2\\x56\\x84\\x19\\x52\\xde\\xd4\\x87\\x89\\x0c\\x24\\x4e\\x27\\x6f\\x45\\x98\\x21\\xe5\\x0d\\x61\\xa6\\x2a\\x30\\x5b\\xf7\\xfe\\xea\\x8c\\x74\\x06\\xcb\\x1b\\xc1\\x10\\x9b\\x24\\x61\\xa8\\xdd\\x1a\\x44\\xa7\\x00\\xb3\\x4b\\xc4\\xe4\\xe9\\xd4\\xe0\\xf3\\xbc\\xc8\\xd8\\x5d\\x44\\xed\\xf9\\x4b\\x24\\x72\\xb4\\x93\\xc8\\xf1\\xeb\\x9c\\xc3\\x62\\x2a\\xcc\\x29\\x17\\xe3\\x0f\\x50\\x7c\\x50\\xc4\\x5b\\x82\\x85\\xf8\\x81\\xdf\\x14\\xe1\\x1f\\x5a\\x0b\\x48\\xd6\\xc4\\x6e\\x21\\x59\\x93\\xe7\\x72\\x8e\\xb8\\xa9\\x28\\x07\\x3b\\xa8\\xcc\\x0e\\xb1\\x4c\\x50\\x2a\\x63\\x19\\x54\\x06\\x05\\x50\\x5f\\x31\\x95\\x8a\\x32\\x5b\\xf7\\x16\\xf0\\x39\\x96\\x73\\xc4\\xce\\x58\\x66\\xe7\\xde\\x02\\x3e\\xc7\\x72\\x96\\x41\\x65\\x06\\xde\\x42\\x65\\xce\\x21\\x32\\x48\\xcb\\x3c\\xfc\\x52\\x01\\x9f\\xaf\\x73\\xd5\\xcd\\x67\\x2c\\xb3\\xeb\\xa5\\x02\\x3e\\x43\\x95\\xc1\\x63\\xc7\\x5e\\x45\\x64\\xb2\\xba\\x58\\x6e\\xbd\\x0a\\x99\\x2c\\xc2\\xc8\\x72\\x6b\\x52\\x60\\xb8\\x17\\x88\\x2c\\x55\\x17\\xc9\\xad\\x57\\x29\\x27\\x45\\x18\\x49\\x6e\\x4d\\xa7\\xc1\\x6c\\xfd\\x5f\\xd0\\xd9\\x39\\x34\\x1d\\x22\\x93\\xd5\\x45\\x72\\xeb\\x3d\\x0d\\x46\\x92\\xdb\\x3c\\x1d\\x3a\\x7f\\xbe\\x5d\\x9a\\x3f\\x23\\x7b\\xbb\\x5d\\xcc\\x6d\\x78\\x71\\xaf\\xfa\\x5c\\x45\\xb9\\x8d\\x62\\xfc\\x01\\x19\\x8f\\x9f\\x3d\\x83\\xae\\xf2\\x33\\xe0\\x1f\\x22\\x78\\xfa\\x3c\\x1e\\x0e\\x8e\\xa0\\xaf\\x66\\xd0\\xfc\\xbc\\xb8\\xcc\\x0e\\xb0\\xbe\\x30\\x47\\xf1\\x45\\xce\\x55\\x53\\x94\\xa3\\x28\\x2e\\xb3\\x75\\x10\\x9f\\xea\\x33\\xf2\\xd9\\x99\\x2f\\x43\\x18\\x41\\xd7\\xe0\\x32\\x48\\xd6\\x55\\x80\\x9f\\x80\\xfa\\x34\\x45\\x62\\x98\\xbc\\x3c\\x31\\xe5\\xb2\\xac\\x0c\\xc2\\x48\\xf2\\xc4\\x78\\x15\\x18\\xf5\\x36\\x32\\xc6\\x29\\xa6\\x5e\\x21\\x4f\\x2c\\x25\\x73\\x0a\\xcc\\x0e\\x11\\xe3\\x55\\x62\\x54\\x1f\\x53\\x0c\\xbc\\x50\\x21\\x4f\\x45\\x74\\x8a\\x30\\x3b\\x07\\xd1\\xc1\\x73\\xdf\\x47\\x88\\x0e\\x5f\\x51\\x28\\x07\\xd0\\x87\\x4c\\x52\\xd8\\xef\\x56\\x39\\x06\\xcd\\x95\\x95\\xf8\\x03\\x38\\x27\\x20\\xcf\\x73\\x5c\\xee\\xd8\\x19\\xf0\\x0f\\x81\\x07\\x24\\x9f\\xe3\\xc3\\x82\\x63\\xf6\\xd7\\xaa\\x8a\\x73\\x9e\\x85\\x65\\x50\\xeb\\x17\\x50\\x7d\\x8f\\x51\\x7d\\xff\\x30\\xe7\\x3e\\x53\\x19\\x2c\\x07\\xbf\\x2b\\xe0\\x73\\x96\\xbf\\xe6\\x8c\\x65\\x76\\xe6\\x9f\\x07\\x20\\xac\\x2a\\xdd\\xa7\\x28\\x43\\x6c\\xd1\\x15\\xa2\\xdf\\x7d\\xae\\x80\\x4f\\x6d\\x7a\\xe4\\x19\\xcb\\xec\\xc2\\x73\\x69\\x05\\x9f\\xe0\\x10\\x65\\xb0\\x4f\\xdd\\x4e\\x6c\\xd3\\x88\\x62\\xdb\\xe4\\x56\\xfa\\xd4\\x6f\\xc9\\xf8\\x8e\\x60\\x7e\\x54\\x60\\x77\\xdc\\x05\\x3e\\xac\\x10\\xb3\\x73\\x68\\x0c\\xb1\\x17\\x12\\x46\\xb2\\x17\\x79\\x4c\\x37\\x9a\\xeb\\x9c\\x20\\x7d\\x75\\x15\\x95\\x13\\x38\\x59\\x1c\\xf7\\x24\\x1a\\x77\\xa6\\xae\\xda\\xa2\\x2a\\x5e\\x87\\x28\\xc0\\x1f\\x90\\xf1\\xc3\\x30\\xbe\\x7a\\xd8\\x19\\xf0\\x0f\\xc1\\x0c\\xa0\\xa3\\x9e\\xa4\\xa3\\x7e\\x3c\\x57\\x37\\xda\\x52\\xb8\\x2e\\x54\\x5c\\x66\\x07\\x74\\x8b\\x65\\x86\\xd1\\x32\\x6f\\xe6\\xaa\\xcf\\x54\\x66\\x2b\\xbc\\x59\\x1a\\x0b\\xc2\\x68\\x78\\xdd\\x28\\x4b\\xb1\\x2f\\x29\\x2e\\xb3\\x13\\xce\\x92\\xca\\x10\\x46\\x25\\xd5\\xa7\\x28\\x43\\xc6\\x9c\\x96\\x79\\x18\\x66\\x0b\\xf8\\x18\\xce\\xea\\x39\\x63\\x99\\x5d\\xf9\\x32\\xc3\\x4e\\x55\\x06\\xcb\\x49\\x2d\\xb6\\x39\\x9a\\x44\\x91\\x5d\\x82\\x2d\\xca\\xf8\\xac\\x10\\x23\\xcb\\x52\\x8d\\x52\\x96\\x9e\\xc0\\x72\\xa2\\x49\\xe0\\x4c\\x8d\\xc2\\xcf\\xb5\\x14\\xc8\\x49\\x21\\x46\\x92\\xb7\\x9a\\x02\\x4c\\x29\\xc5\\xc0\\x95\\x05\\x7e\\xae\\xe5\\x34\\x98\\x9d\\x43\\xd3\\xc1\\x32\\x29\\x63\\x24\\x3f\\xd7\\x72\\x1a\\x8c\\x24\\xb7\\x35\\x4a\\x3f\\xc7\\xb1\\xfc\\x36\\x71\\x8e\\xae\\x52\\xef\\x9d\\x45\\xb2\\x1a\\x35\\x24\\xab\\x71\\x63\\xae\\xaa\\x26\\x9f\\xd5\\x00\\x83\\xf1\\x6a\\xb6\\x55\\x7e\\x86\\x1b\\x17\\x61\\x2a\\xab\\x8b\\xf0\\x74\\x0e\\xb7\\x4d\\x9e\\x27\\x52\\xfa\\x30\\x4d\\xe2\\xb9\\x6f\\x73\\x75\\xe9\\x21\\xe7\\xa1\\x12\\x1e\\xd3\\xdf\\x27\\xea\\x05\\x2e\\xf2\\xa3\\x64\\xaa\\x08\\x4f\\xe7\\x06\\xdb\\xe4\\x98\\x7d\\x2f\\xb8\\x0f\\x28\\x22\\xc6\\xef\\x72\\xfe\\x60\\x7e\\xa6\\x33\\x18\\x8f\\xe8\\x9f\\x04\\xf9\\xe7\\xa8\\xe6\\xf9\\x4a\\x8b\\xe6\\x45\\x34\\x1e\\xdd\\x26\\xc7\\x56\\x7b\\x6f\\x24\\xd4\\x9d\\x84\\x7a\\x2e\\x67\\x73\\x0e\\x19\\xbf\\xca\\x78\\xb6\\xf5\\x9f\\x94\\x3a\\x2e\\x50\\x66\\x75\\xe4\\xd1\\xb2\\x9f\\xdd\\x26\\xfa\\x59\\xb9\\xef\\xfd\\xa4\\xef\\x77\\xe4\\x3c\\xc5\\xeb\\x27\\x85\\x78\\x65\\xdf\\xe3\\x22\\x09\\xb7\\xaf\\x08\\x4f\\xed\\xf7\\x36\\xd9\\x4f\\x88\\x7d\\x1f\\x20\\x75\\xff\\x6d\\xce\\x1b\\x18\\xd2\\x17\\x49\\x78\\x05\\x7d\\x52\\xe4\\x6c\\x8f\\xbf\\x08\\x4f\\xf5\\x7e\\x9b\\xac\\x8f\\x7b\\xc9\\x77\\x7b\\x10\\x87\\x7a\\xc2\\xe1\\x60\\xae\\xb6\\xde\\xa2\\x6c\\x6f\\x11\\x9e\\x6d\\x85\\xb7\\x29\\x72\\x18\\x1d\\x35\\x75\\x45\\x36\\x6f\\x92\\x30\\x36\\x9f\\xa7\\x32\\xc7\\x91\\xef\\x7d\\x14\\xe7\\x20\\x59\\x35\\xe3\\x1f\\xf2\\xfe\\x81\\x33\\xdc\\x7f\\x08\\xfb\\xaf\\xd3\\xdc\\xdf\\x71\\x86\\xfb\\x24\\xb7\\x76\\x9a\\xfb\\x24\\x3f\\x51\\x7c\\x5f\\xca\\x7f\\xa1\\xfb\\x0f\\x63\\xfa\\x16\\xf1\\x3e\\x59\\x4f\\x49\\x58\\xf2\\xeb\\x29\\x85\\xd8\\x5d\\x83\\xb0\\x4d\\x32\\x96\\xee\\xbf\\x30\\x5e\\x5a\\xef\\x47\\x98\\xaf\\x15\\xb9\\x32\\x36\\x29\\xe7\\xca\\x4e\\x81\\xa3\\x39\\x33\\x36\\x2a\\xdb\\x36\\x61\\xac\\x6a\\x2c\\x3f\\x5b\\xca\\x3f\\x99\\x63\\xc8\\xb6\\x1d\\xc0\\xbc\\xd9\\x35\\x88\\x37\\xb2\\x17\\xac\\x22\\x57\\x45\\xb0\\x73\\x15\\xd8\\x1d\\x7b\\x7f\\x5b\\x80\\x75\\x9e\\x06\\xbb\\xb5\\x08\\x7b\\x3a\\xba\\x3b\\x4f\\x4f\\x37\\x9f\\x2f\\x43\\x58\\x64\\xfb\\x4e\\x47\\xb7\\x00\\xbb\\xab\\x08\\xeb\\x54\\xe4\\x58\\xc6\\xe6\\xf3\\x0c\\x44\\xde\\xc4\\xf1\\x86\\x2d\\x60\\xa8\\xfb\\x07\\xce\\x70\\xff\\xa1\\x33\\xdc\\xdf\\x71\\x86\\xfb\\x24\\x37\\x72\\x9a\\xfb\\x3b\\x87\\xba\\x2f\\xe5\\x2f\\x88\\xbc\\xbd\\x4e\\x65\\x08\\xdf\\x47\\x32\\x44\\x52\\x1f\\xa2\\x0c\\x15\\x63\\x77\\x0d\\xc2\\x56\\xc8\\x58\\xdc\\x87\\xdb\\xf8\\x36\\x29\\x7f\\x81\\x7b\\x06\\xf9\\xc7\\x27\\x31\\x9a\\xc3\\xdf\\x72\\x2b\\xc8\\x75\\x10\\xec\\x48\\x05\\x96\\xf8\\x52\\x25\\x36\\xa8\\xc0\\x2a\\xf3\\x10\\x44\\xee\\x5e\\xc5\\x48\\xfe\\x16\\x3a\\x36\\xca\\x5c\\xc3\\x20\\xec\\x8e\\x22\\x6c\\xf0\\x34\\xd8\\xad\\xff\\x07\\x74\\x77\\x9e\\x9e\\x6e\\x3e\\xdf\\x91\\x97\\xbb\\x53\\xd1\\x2d\\xc0\\xee\\x2a\\xc2\\xe6\\xe9\\xe2\\x73\\x90\\xe4\\xf8\\x09\\xf7\\x2e\\x8e\\x05\\x89\\x1d\\x39\\x01\\x86\\xba\\x7f\\xe0\\x0c\\xf7\\x49\\x6c\\x78\\x9a\\xfb\\x24\\x0e\\x3c\\xcd\\x7d\\x12\\xf3\\x9d\\xe6\\x3e\\x89\\xef\\x8a\\xef\\x4b\\x71\\x19\\x96\\x3b\\x98\\x15\\x6d\\xd7\\x09\\x51\\x96\\x92\\xb2\\x2c\\x15\\x63\\x77\\x0d\\xc2\\x0e\\x2b\\x90\\x3b\\x45\\x5c\\x26\\xca\\x1d\\x91\\x25\\xf6\\x13\\x2a\\x4b\\x2d\\x4a\\xb9\\x2b\\xc4\\x1e\\x28\\xc6\\xd6\\x28\\xe5\\x4e\\x11\\xa7\\x29\\xe4\\x2e\\x2b\\x8e\\x4d\\x4b\\xc1\\x38\\x16\\x62\\x77\\x14\\x61\\x6b\\x0a\\xb0\\x8a\\xb8\\x2d\\x2f\\x77\\xdc\\xc1\\x21\\xe9\\x16\\x62\\x77\\x16\\x61\\x8b\\xe8\\xe6\\xe3\\xb8\\xbc\\xdc\\x9d\\x8a\\x6e\\x01\\x76\\x57\\x11\\xb6\\x38\\xf6\\xbb\\x42\\x8a\\xe5\\x98\\x0d\\x80\\x7e\\xc7\\x95\\xa9\\x20\\x11\\xc8\\x89\\x5c\\x22\\x3d\\x78\\x4d\\x0b\\x7f\\xaf\\x4c\\xc4\\xaf\\x93\\xf0\\x74\\xcd\\xec\\x5f\\xb9\\xca\\x44\\x21\\x9e\\xf8\\xc7\\x6d\\x92\\x4f\\xa3\\xbe\\xcc\\x4c\\xe3\\x10\\xf9\\x3e\\xfb\\x9a\\x1c\\x4b\\x52\\x5f\\x27\\x3e\\xe7\\x52\\x2d\\xf2\\x3e\\x25\\x1d\\x31\\x3e\\x91\\xdb\\xb1\\x40\\xae\\xd7\\xa6\\xc2\\x76\\x7c\\x9b\\x4b\\xb5\\x0d\\x51\\xaf\\x05\\x12\\x3d\\x8a\\x57\\xf8\\x6d\\xfa\\xdc\\xec\\x7e\\xf9\\x39\\xdc\\x0d\\xf0\\x2a\\xfa\\xbd\\x40\\x1b\\xf9\\x5e\\xe0\\xdf\\xe4\\xa7\\x03\\x45\\x7a\\x14\\x5f\\x27\\xe3\\xd7\\xc1\\xf5\\x14\\xef\\x24\\xf8\\xfe\\x9c\\xdd\\x39\\x18\\x2f\\x3f\\xe7\\x8b\\xfa\\xe3\\x96\\x6d\\x05\\x6b\\x58\\x45\\xf7\\xd9\\xd6\\x9f\\x3d\\x5c\\x78\\xbf\\x70\\xff\\x25\\xea\\xd7\\xf1\\xf3\\x3c\\x5a\\x97\\x54\\x31\\x80\\x9f\\x91\\x3e\\xc2\\x85\\xe1\\x7e\\xfe\\x76\\x60\\xc6\\x7b\\x6d\\xa9\\x00\\x60\\xf5\\x7a\\x8b\\x55\\x55\\xb2\\x9a\\x7d\\x16\\x4e\\x04\\xed\\x78\\x5f\\x2c\\xc5\\xfe\\xaf\\x76\\x95\\xba\\xb1\\x89\\x6e\\xc1\\x86\\xb7\\x5e\\x83\\xfb\\x17\\x5c\\xfd\\xe3\\xb2\\xaa\\xb2\\xe6\\x44\\x7a\\x14\\xaf\\x9d\\x79\\x51\\x79\\x7b\\xb4\\xd1\\xe5\\x74\\x84\\xcb\\x62\\xd5\\x13\\x31\\xed\\x83\\xc2\\x58\\xf8\\xe6\\xc0\\x9d\\xc0\\x08\\xfc\\x19\\xa3\\x5e\\xc5\\xb2\\x25\\x26\\x80\\x4f\\x43\\xc2\\x27\\xd6\\x1c\\x4c\\x28\\x77\\x69\\x6f\\x83\\x69\\x7c\\x26\\x60\\xb3\\xab\\x04\\xc2\\xe1\\x4d\\x2d\\x97\\xc5\\x4a\\xab\\xfc\\xa1\\x76\\x61\\xec\\xb8\\x31\\xaf\\xbc\\x94\\x71\\xa7\\x5c\\xa5\\x45\\x75\\x0d\\x66\\xf4\\xf9\\xba\\xd2\\xaa\\xfe\\xbf\\xa8\\x29\\xa6\\x6d\\xe1\\xe6\\x32\\x3f\\xe3\\x17\\x00\\x27\\x18\\x9e\\x09\\x38\\x74\\x3a\\x97\\xdb\\x6e\\x30\\xf0\\xeb\\xb3\\x26\\x43\\xd0\\x90\\x34\\xb0\\x5a\\xd6\\x00\\x32\\xc0\\xb2\\x3e\\xab\\xa3\\x5b\\xe7\\xed\\xa3\\x5b\\xa9\\xe1\\xbd\\x3a\\x80\\xdb\\xbc\\x4f\\xda\\xf7\\x1f\\x96\\xd5\\x32\\xf8\\x19\\x70\\x75\\x04\\x71\\x2d\\x65\\xf0\\xee\\x6f\\x69\\x15\\xfc\\xa0\\x6e\\x4a\\xd7\\x98\\x70\\x28\\xee\\x54\\x37\\x98\\x72\\x75\\x53\\xc6\\x8d\\x09\\x25\\xea\\xb4\\x0d\\x26\\x6e\\x6e\\xa2\\x31\\xe1\\xae\\x49\\x7d\\x83\\x2e\\xa9\\x0e\\xfc\\x88\\x01\\x60\\x51\\x3d\\x7e\\xc4\\xfc\\x4c\\xb5\\x0e\\xd5\\x03\\x9f\\xb4\\xbf\\x30\\xd3\\x18\\x70\\xb9\\x22\\x95\\x95\\x0e\\x54\\xa5\\x64\\xdd\\x29\\xaa\\x64\\x02\\x41\\xc0\\x68\\x59\\xe0\\xcd\\x54\\x87\\xbc\\xa1\\xbb\\xb2\\x31\\x2f\\xa9\\x23\\xd9\\x1c\\x03\\xd5\\xf2\\x63\\x54\\xcb\\x21\\xeb\\x6b\\x95\\xbb\\x6b\\xa8\\x6a\\xab\\x4f\\xb1\\x37\\xe1\\xa9\\x9a\\x13\\x6a\\xa9\\xaa\\x1a\\x36\\xac\\xaa\\xaa\\x45\\xd8\\xd8\\x52\\x55\\x39\\x62\\x64\\xbc\\xaa\\x85\\xbf\\xa1\\xa0\\x85\\x2f\\x56\\x0d\\x47\\x9f\\x62\\xcc\\xf0\\x11\\x95\\xe8\\x9a\\x8f\\x57\\xb6\\xc9\\x31\\xc6\\x5e\\x70\\xcf\\xe0\\x78\\x05\\x3f\\x97\\x46\\xee\\x17\\xc7\\x39\\x72\\x39\\xfa\\x39\\xd6\\x77\\x68\\x51\\xcc\\xf9\\x16\\x48\\x73\\x38\\xa4\\xbf\\x87\\xc5\\x79\\x84\\x17\\xcd\\x23\\xba\\xa2\\xc9\\x41\\x6b\\x5b\\x63\\xf3\\x78\\xa2\\xef\\x87\\x0b\\xf8\\x0d\\x5e\\x0f\\xdc\\x3b\\x50\\x3b\\xb0\\xa1\\x78\\x7d\\x86\\x7f\\x52\\xc4\\xd4\\xd1\\xd9\\xcb\\x40\\xd5\\x60\\x8c\\xea\\x11\\x31\\xf6\\xf1\\x9e\\x9a\\x8e\\xea\\x05\\x11\\x73\\x2a\\x3a\\xf8\\xbb\\xef\\x8a\\xbd\\x44\\x90\\x07\\x4b\\x13\\xfd\\x86\\x53\\x42\\x71\\x79\\xef\\x1d\\xc0\\x80\\x51\\x5c\\x98\\xb9\\x90\\xe8\\x8c\\x13\\xd4\\x64\\xac\\x36\\xa7\\x53\\xd4\\x1c\\x97\\xdb\\x86\\xd4\\xdc\\x42\\x95\\xe7\\x35\\xef\\xc7\\xa9\\x7d\\x8a\\xb3\\x0c\\x86\\xd4\\x21\\xb2\\x63\\x25\\x0c\\xe7\\x35\\x09\\x5a\\xde\\x78\\x61\\x6c\\xb1\\x3a\\x09\\x27\\x60\\xa8\\x5c\\xf8\\x38\\x3c\\x98\\xb7\\xc5\\x6e\\xff\\x6f\\x79\\xdb\\xe8\\x8e\\x94\\x0a\\xde\\x5d\\x63\\x5f\\x78\\x63\\x30\\xeb\\x30\\x8c\\x96\\x0b\\x9f\\xe1\\x76\\x5b\\xd8\\x6f\\x88\\x1e\\x99\\x41\\x1c\\x4c\\xca\\x24\\x28\\xdf\\x58\\xcc\\xe7\\xab\\xa8\\xb4\\x94\\xad\\xcf\\xfa\\x80\\xc5\\x6c\\x09\\x59\\x90\\x12\\x59\\x32\\xe5\\x81\\x80\\x13\\x69\\x55\\x20\\x18\\x60\\x02\\xc8\\x9a\\x80\\xe4\\xbe\\xd4\\x01\\xaa\\x26\\xde\\x4f\\x88\\xea\\x14\\x6b\\x4b\\x51\\xe5\\x9a\\x87\\x54\\x7a\\x85\\xc5\\xb1\\x9c\\x42\\xff\\xff\\x58\\x58\\xfd\\xa5\\x05\\xca\\x32\\x30\\x30\\x70\\x6c\\xe0\\x2b\\xa6\\x96\\xf8\\x5e\\x92\\x27\\x60\\x36\\xbc\\x40\\x66\\xce\\x16\\x32\\x73\\xfe\\x7b\\xce\\xee\\x2f\\x5a\\xe7\\xfa\\x00\\xe1\\xc7\\x13\\xdf\\x4b\\xf1\\xeb\\x5e\\x50\\xac\\xa3\\x7d\\x99\\xb3\\xda\\x8b\\xf0\\xdf\\x23\\x7c\\xb9\\xea\\x26\\x8a\\xc7\\xfb\\xb6\\xbc\\x70\\xc8\\x8c\\xe5\\xf1\\x2a\\xf0\\x85\\xe2\\xfe\\x8d\\x85\\xf7\\x91\\x2c\\xfe\\x85\\xee\\xeb\\x32\\x70\\x10\\xdd\\x9f\\x4e\\x74\\x86\\xf2\\xdb\\xa4\\xac\\xdf\\x57\\x39\\x5f\\xac\\x88\\x1f\\xc1\\xab\\x3a\\x0b\\xe9\\x31\\x9b\\x06\\x5e\\x10\\xf7\\x89\\x41\\x30\\x66\\x39\\xf1\\xa9\\xd5\\x62\\xac\\x01\\xe8\\xfe\\x1b\\x06\\x9e\\xee\\xa7\\x61\\x72\\xe5\\x9f\\xae\\xc5\\xb9\\x08\\x84\\xbf\\x8d\\xf8\\xd4\\x6a\\x31\\xd6\\x10\\xf1\\x26\\x71\\x7f\\x2b\\xa3\\xa9\\x00\\x8f\\xd7\\xaa\\xae\\x16\\xd7\\xaa\\x8a\\x74\\x4f\\xb9\\x56\\xc5\\xde\\x29\\x62\\x8a\\x74\\x8f\\x62\\x86\\xd4\\x29\\x50\\xa2\\x52\\xe9\\x01\\x40\\x72\\xad\\x67\\x57\\xe3\\xd3\\x84\\x4e\\x21\\xd7\\xb6\\x86\\xfc\\x96\\xa5\\x2e\\x47\\x2d\\xe4\\x89\\x4e\\x8d\\x1a\\x9d\\x4a\\x34\\x23\\x59\\xf9\\xf1\\x55\\xe7\\xc1\\x7f\\x12\\x95\\x1a\\x3e\\xa1\\x3a\\x56\\x16\\x76\\x38\\x5d\\x8d\\xd1\\xf6\\xf2\\x8b\\x7e\\x22\\x6a\\xd4\\x10\\xbc\\x91\\x4e\\xfd\\xd7\\xbc\\x89\\x4e\\x29\\x79\\x57\\x10\\x9d\\x2a\\xe2\\x2d\\xa9\\x54\\x91\\x4e\\x4d\\xc8\\x54\\x51\\xbe\\x67\\xd6\\x29\\xb6\\x04\\x24\\xdf\\xdb\\x77\\x3a\\x8d\\x2a\\xae\\x9a\\x6d\\x28\\x8d\\x3a\\x92\\xaf\\xe9\\x3f\\x4f\\xa5\\x50\\x85\\x75\\x87\\x6c\\x91\\x83\\x95\\xf3\\x57\\x57\\x48\\xf9\\x2b\\x24\\x63\\xf7\\x83\\xfc\\x77\\x3a\\x0d\\xbe\\xc8\\x50\\xf9\\x2e\\xa2\\x53\\x57\\x88\\x32\\x76\\xbf\\x62\\x6d\\xc7\\xe8\\xf1\\x0d\\x85\\x27\\x3a\\x75\\x05\\xd9\\x0f\\x63\\x11\\xde\\x07\\x03\\x6b\\x15\\x58\\x0c\\xbe\\x90\\xef\\xdf\\xa8\\xb8\\xbf\\x71\\x80\\x68\\x15\\x8a\\x2f\\xf1\\x7e\\x19\\x6b\\x90\\xdf\\xfa\\x1f\\x32\\x8f\\x5a\\x0e\\xf2\\xcf\\xf0\\xa0\\x38\\x31\\x48\\xe2\\xd4\\x6f\\x72\\x21\\xbf\\x49\\xad\\x90\\xe9\\x62\\xfc\\x01\\x09\\x5f\\x25\\xe2\\xfd\\x55\\x05\\x78\\xda\\xfe\\x05\\x72\\x7b\\x36\\xc9\\x6b\\x55\\xb8\\xfd\\x65\\x65\\x35\\x43\\xb6\\xa7\\xb3\\xb0\\x3d\\x62\\xb9\\x43\\xc0\\xb0\\x87\\x6d\\xc5\\x5f\\x89\\x6e\\x05\\x16\\xf1\\xd9\\x42\\xfa\\x4c\\xde\\x7e\\xf9\\x99\\xbc\\x0d\\x05\\xcf\\xe4\\x35\\xbb\\x43\\x45\\xcf\\xe4\\x51\\x7c\\x9d\\x8c\\x5f\\x27\\xe3\\xf1\\x77\\x43\\x5b\\x9c\\xee\\x22\\x3c\\xf6\\x8d\\xef\\x8b\\x6b\\x3a\\xa3\\x0b\\x75\\x58\\xb9\\xa6\\xa3\\x1a\\x10\\x31\\x8b\\x0b\\x75\\x58\\x89\\xe1\\x87\\xf1\\xed\\x08\\x93\\x56\\xac\\x0d\\xed\\xc4\\x31\\xb4\\x9f\\xea\\x39\\x0b\\xd2\\x5c\\x2f\\xb3\\x42\\xde\\x4f\\x39\\x9d\\x71\\x32\\x3c\\x6f\\x70\\x5b\\xad\\x2a\\x83\\xa1\\x34\\xe8\\x33\\xe1\\xbd\\x94\\x1d\\xf2\\x5e\\xca\\xaf\\xa5\\xa4\\x03\\x17\\x15\\x3b\\x29\\x53\\x9f\\x19\\x3f\\x55\\x24\\x75\\xe1\\xd3\\x2f\\xd4\\xbf\\x80\\x77\\x51\\xc6\\xbb\\x29\\xc3\\x3b\\xf0\\x2e\\xca\\x78\\x37\\x65\\x69\\x9b\\xe7\\x39\\xe2\\xee\\xce\\x31\\x79\\x97\\xe7\\x21\\xea\\xc4\\x02\\x20\\xed\\x3f\\x1d\\x34\\xf9\\xf0\\x16\\xd4\\x5a\\xc7\\xe9\\xeb\\x44\\xf4\\xbe\\xfc\\x54\\x75\\xd2\\xd6\\xbf\\xf0\\x34\\x6c\\x92\\xf7\\x9e\\x5e\\x52\\xbc\\xbd\\xf3\\xa0\\x4a\\x41\\xf0\\x2e\\xaa\\xf0\\xbb\\xfc\\x36\\x54\\x27\\x5f\\x46\\xc7\\x33\\x8c\\x4a\\x6d\\x62\\xa1\\x54\\x87\\x39\\x72\\x6c\\x4c\\xe3\\x87\\x8d\\xc8\\xc0\\x21\\x3c\\xb1\\x68\\x72\\xde\\x60\\x9b\\x34\\xd7\\xa7\\x73\\x7c\\xac\\x2f\\x10\\xe6\\xf3\\x06\\xec\\x5e\\x39\\x1f\\x4c\\x73\\x00\\x28\\xce\\x99\\x5a\\xd7\\x6c\\x51\\xec\\xc5\\x75\\x0a\\x3a\\x28\\x1e\\xbc\\x43\\x91\\x87\\x5e\\x20\\xd1\\x61\\x36\\xc1\\x89\\xa2\\xdc\\xe3\\x2d\\x45\\x60\\xd3\\xa8\\xe2\\xb5\\x34\\x42\\x6f\\x81\\x44\\x8f\\xe2\\x15\\xf9\\x0c\\xbc\\x2e\\x7c\\x25\\x5d\\xa7\\x86\\xaa\\x02\\x39\\x2c\\x58\\xa7\\xe6\\x3f\\x42\\x98\\x18\\x48\\x5d\\xa0\\x94\\x42\\x11\\x21\\xcb\\xf3\\x5d\\x62\\x4e\\xe2\\x9b\\x42\\x79\\x56\\xae\\x2b\\xf1\\x9f\\x63\\x3a\\x9a\\x44\\xa6\\x40\\x9a\\x6b\\xf2\\x74\\x16\\xa1\\x78\\xf0\\x66\\x8a\\xf9\\x0b\\xa9\\x27\\x3b\\x9c\\xcc\\x6b\\x7e\\x8f\\xfa\\xfa\\xf7\\x78\\x6c\\x20\\x93\\xf9\\x11\\xde\\x0f\\x5c\\xbd\\x46\\x7d\\xb7\\x3a\\xa7\\xde\\xa7\\xe6\\xba\\xd5\\x7d\\x6a\\x86\\x53\\x47\\xd5\\x0d\\xea\\x0e\\x35\\xb7\\x6c\\x01\\xfa\\x7c\\x1b\\xfa\\xfc\\x3d\\xf5\\x09\\xb5\\xaa\\x4e\\x9d\\xc1\\xf7\\xec\\xe8\\x2e\\x1b\\x55\\x5f\\x86\\x6e\\xe4\\xd0\\x0d\\xde\\xac\\x86\\x9c\\x1a\\x4e\\x13\\x69\\x1c\\xc6\\xc8\\x90\\x1a\\x63\\x59\\xbb\\x1a\\x02\\x35\\x1c\\xad\\x7e\\x76\\x20\\xf3\\xd4\\xc8\\x51\\x5d\\xe8\\xba\\x3a\\xa3\\x6d\\x69\\xeb\\xc2\\x18\\x86\\xbe\\x4b\\x35\\x76\\xe1\\x72\\xe2\\xbb\\xea\\x64\\x17\\xe6\\x2c\\xbe\\x8b\\x55\\x76\\x75\\xa8\\xa7\\x91\\x77\\x7b\\x33\\x95\\xa1\\xf2\\x2e\\x4c\\x96\\x61\\x80\\x1a\\x05\\x08\\x7d\\xea\\x25\\xea\\xdb\\xd5\\x7b\\xd5\\x6f\\xab\\x8f\\xa9\\x55\\x49\\xcc\\x07\\x7d\\xa8\\x51\\x8a\\x18\\x9c\\x3b\\x67\\xce\\x9c\\xa5\\xbd\\x4b\\x13\\x4b\\x13\\xcb\\xc8\\x6f\\x02\\x7f\\x30\\x67\\xe9\\xd2\\xa5\\xcb\\x96\\x2d\\xc3\\x2f\\x2d\\xe2\\xa6\\xeb\\x44\\xf4\\x7f\\x8f\\xdc\\x1c\\x96\\x66\\xd1\\xaf\\x15\\xcd\\x2b\\xa9\\x57\\xb3\\x58\\xf5\\x2c\\x75\\xa5\\xfb\\x94\\xf3\\xca\\x62\\x47\\xa5\\xf0\\x49\\xc5\\x8e\\x13\\x8d\\xfe\\x07\\xc2\\x51\\x50\\xc5\\xab\\xf1\\xac\\xee\\x69\\xc8\\x30\\x1c\\x03\\x40\\x32\\x29\\xee\\x32\\x6d\\xb3\\x44\\x2c\\x55\\xd3\\x78\\xf5\\x7f\\xfe\\xaa\\x72\\xe3\\x3d\\x9e\\x43\\x08\\xfb\\x19\\x7f\\x23\\x28\\x01\\x75\\x19\\x97\\x41\\x87\\x06\\x8a\\x83\\xd0\\x64\\xd4\\xe8\\xf9\\x12\\x86\\x57\\xb3\\x2c\\xd4\\xa2\\x86\\x27\\xf1\\xd9\\x93\\x49\\x72\\x8a\\x0c\\x4c\\xe7\\x4f\\xd2\\x8b\\x58\\xd4\\xf1\\xe6\\x78\\xb3\\xab\\xd9\\xa5\\x76\\xa9\\xe3\\x55\\xd3\\x56\\x35\\x3f\\xfe\\xb8\\xf8\\x6f\\x95\\x70\\x94\\xcf\\xae\\x6e\\x7e\\xec\\xe7\\x2d\\x4f\\x3c\\xd1\\xf2\\xf3\\xc7\\x9a\\x57\\x63\\x5e\\xbf\\x17\\x8e\\xc2\\xa7\\x10\\x2f\\x1d\\xde\\x0d\\x5a\\xc3\\xb2\\x40\\x8b\\x7a\\x1a\\xf0\\xbc\\x4a\\x8f\\x06\\x17\\xfd\\xaa\\x74\\x2a\\x80\\x77\\x82\\xa6\\x87\\x75\\xc2\\x74\\x2a\\x7f\\x16\\x08\\xde\\x1e\\x3b\\xde\\x1c\\x41\\x95\\x0f\\xc7\\x9b\\xe1\\x53\\x9f\\x36\\xaf\\xf9\\xae\\x07\\x8e\\x5f\\xd3\\xcc\\x3d\\xfe\\x51\\xf3\\xca\\xef\\x2f\\xe6\\x0f\\xad\\x6c\\x21\\xf3\\x69\\x61\\x02\\x6a\\x4f\\x05\\xe1\\x51\\x97\\x71\\x68\\x38\\x4e\\xa5\\x65\\x59\\x95\\x0a\\x40\\x3d\\xab\\xe5\\xd1\\x2f\\x24\\xad\\x51\\xb0\\x48\\xe5\\x39\\xa0\\xf6\\x44\\x50\\x3b\\x50\\x6b\\xc2\\x15\\x3d\\xdf\\xad\\x69\\xfe\\x14\\x71\\x81\\xe3\\x51\\x43\\xee\\x5a\\xd9\\xfc\\xd1\\x27\\x2d\\x2b\\x49\\x2c\\xf9\\x0d\\x7c\\x82\\x2b\\x61\\xcc\\x56\\x95\\xfa\\x4f\\x98\\x9f\\xf4\\x1e\\x9f\\x6e\\x97\\xd1\\x41\\x9e\\xe1\\x58\\xe6\\xf9\\x2c\\xfb\\x22\\x3e\\x1a\\x57\\xdc\\xd6\\xdb\\x11\\x6e\\xe4\\x4a\\x7e\\x38\\xcc\\x98\\x17\\x2e\\xa4\\x78\\xcd\\x19\\xf1\\x9a\\x92\\x7f\\x0f\\x89\\x07\\x3c\\x7b\\x5a\\x3c\\xd2\\xc7\\x9b\\x51\\xa5\\x9e\\xe1\\x6f\\x35\\xab\\xe0\\xf5\\xa4\\xbe\\xc7\\xfa\\xbf\\xe1\\xcc\\x03\\x73\\xad\\x71\\x80\\xbc\\x96\\xf0\\xbd\\x59\\x85\\xaf\\x48\\xf6\\xf6\\xb3\\x9d\\xf0\\x5b\\x7e\\x1a\\x92\\xbd\\x5d\\x99\\x9f\\x70\\x2a\\x3d\\x52\\x51\\xab\\x05\\xcd\\x42\\x4a\\x1e\\x9b\\xc5\\x72\\x0f\\x66\\x59\\x2e\\x64\\x85\\x47\\xad\\xf0\\x6d\\x2b\\xdc\\x6b\\x85\\xb7\\x59\\x61\\x9f\\x15\\x02\\x2b\\xbc\\x60\\x89\\x15\\xb6\\x5b\\xa1\\xd9\\x0a\\x3f\\xb5\\xc2\\x5d\\x56\\xb8\\xca\\x0a\\xbb\\x15\\x88\\x24\\xb9\\x85\\x70\\x2d\\x6f\\x59\\xe1\\x96\\x42\\x50\\xd0\\x0a\\x8f\\x59\\xe1\\xcb\\x56\\x78\\x3b\\xc1\\x05\\x09\\x4e\\x43\\xf4\\x85\\x68\\x0c\\xd6\\x19\\xc5\\xbb\\x65\\xf9\\x77\\xa8\\xad\\xb2\\x3b\\x71\\x51\\x65\\x68\\x76\\x90\\x23\\x8b\\xc4\\x93\\x01\\xf6\\x6f\\xbc\\x67\\x57\\x69\\x6c\\x4c\\x47\\x63\\x5b\\x0f\\xfb\\x97\\x9b\\x9e\\xab\\x99\\xd4\\xb2\\xc4\\x11\\xb0\\x47\\x46\\x35\\xb5\\x9c\\x43\\xda\\x9a\\x63\\x3b\\xe0\\x11\\xbe\\x07\\xb5\\x75\\x67\\xe6\\x4a\\x15\\xea\\x4a\\xbd\\xde\\x6a\\xc1\\xad\\x2c\\x61\\x1f\\x9b\\xa5\\x2a\\xf9\\xff\\x55\\x53\\xd3\\x89\\xc4\\x10\\xf9\\xa4\\x58\\x5c\\x72\\x93\\x47\\x36\\xdf\\xb9\\xab\\xb4\\xbc\\x03\\xb7\\x95\\xdb\\xb5\\xf6\\xb9\\xaa\\x89\\x2d\\x4b\\xec\\x21\\x5b\\x24\\xd3\\xd4\\x4a\\xdb\\xba\\x5b\\xd8\\x0f\\xbf\\x00\\xef\\xa2\\xb6\\x46\\x33\\x56\\x29\\x57\\x95\\x6f\\x2b\\x48\\x16\\x32\\x28\\x1f\\xc4\\xe0\\x8b\\x3c\\x83\\xfa\\x21\\xe8\\xef\\x47\\x7d\\xf9\\x2d\\xe9\\xcb\\x58\\xc6\\x66\\xc4\\xf3\\x6a\\xab\\xa5\\xc4\\xf8\\x60\\x56\\x2f\\x8a\\x0e\\x3d\\x13\\x5a\\x62\\xa1\\x30\\x5d\\xe4\\xac\\x1e\\x6c\\xbb\\xf6\\x4f\\x19\\xd9\\xd8\\x31\\xa6\\xc2\\xbf\\xeb\\xae\\x4d\\xdc\\xae\\xf1\\x33\\x5b\\x9b\\x32\\x11\\xc4\\x61\\x49\\xcb\\xc4\\xaa\\xe7\\x51\\xac\\x3f\\x9f\\xed\\x64\\x9b\\x89\\x5c\\x86\\x61\\x5f\\xe6\\x3f\\x44\\x32\\x1d\\x2e\\x3f\\x6b\\x01\\x96\\xb2\\x88\\xdd\\xf1\\x60\\xd6\\x6e\\x67\\x5d\\xc1\\xa0\\x52\\x52\\x87\\x47\\x60\\x34\\x02\\xed\\x11\\xf8\\x65\\x04\\x7e\\x14\\x81\\x6f\\x45\\xe0\\xae\\x08\\xdc\\x16\\x81\\x77\\x47\\xe0\\x9a\\x08\\x9c\\x15\\x81\\x1d\\x11\\xe8\\x8b\\x40\\x7d\\x04\\x2e\\xfa\\x21\\x02\\x0f\\x47\\xe0\\x7b\\x11\\x98\\x8b\\xc0\\xcb\\x22\\x70\\x41\\x04\\x0e\\x27\\xf7\\xb8\\x08\\x3c\\x11\\x81\\x6f\\x46\\xe0\\xff\\x90\\x62\\xe8\\xf3\\x06\\x42\\xf4\\x07\\x89\\xe8\\x3e\\x52\\x04\\xdd\\xba\\x28\\x02\\xa7\\x29\\x28\\x0e\\x7b\\x8f\\xdc\\x93\\x59\\x9d\\x4d\\x28\\xca\\xd5\\x79\\x93\\x14\\x43\\x75\\xb9\\x4a\\x51\\x52\\x4f\\xe8\\xd2\\x7a\\x20\\x7e\\xab\\x15\\x55\\x49\\x44\\x60\\x30\\x02\\x4d\\x11\\xc8\\xf4\\xce\\xc9\\xff\\x2c\\x95\\x7e\\x96\\x49\\x3f\\x73\\x07\\xdf\\x3d\\xd5\\x3d\\x51\\x7b\\xd2\\xee\\x24\\x1a\\xf0\\xa4\\x78\\xe6\\xbb\\x2b\\x4d\\x34\\x09\\x16\\x6b\\x52\\x79\\xf1\\x07\\x8c\\x4a\\xd4\\xad\\x86\\x4c\\xb7\\x30\\x3b\\xff\\xba\\x48\\xcf\\x66\\x75\\x16\\xbe\\xa5\\x39\\xa0\\x19\\x6c\\x07\\x9b\\x20\\xb2\\x12\\x06\\x93\\x33\\x55\\x44\\x1a\\x5d\\x16\\x8b\\xdd\\xaf\\xf7\\x97\\x45\\xd0\\x20\\x96\\x88\\xe3\\xa9\\x50\\x45\\xd4\\x19\\x4b\\x22\\x70\\xce\\x1c\\xaa\\x08\\xf4\\x8c\\x10\\x50\\x7c\\x3a\\xcd\\x90\\x9a\\xc1\\x0f\\x92\\xe4\\x9b\\xf2\\x92\\x0c\\xb7\\x49\\xaf\\x33\\x93\\x8b\\xd5\\xe6\\xec\\x82\\xb7\\xb3\\x71\\xbd\\x85\\xfd\\x6c\\x82\\xe8\\x50\\x18\\x2e\\xcc\\xfc\\xc7\\x65\\xb1\\x5b\\xfc\\xc4\\x6c\\xf8\\xf5\\x91\\xb2\\x21\\xeb\\x4d\\x47\\xbe\\xfd\\x14\\x22\\xd8\\xab\\x18\\xdb\\x02\\x29\\x44\\xa3\\xff\\x40\\x04\\xae\\x3b\\xb5\\x14\\x52\\xba\\x4a\\x41\\x1c\\x42\\x04\\x29\\x2d\\xca\\x8d\\xca\\x19\\x2d\\x46\\x45\\x98\\x53\\xc8\\xef\\x3a\\x02\\x58\\x40\\xca\\xd3\\xc2\\x27\\x48\\x55\\x6e\\x47\\x02\\x47\\x7b\\xbe\\x3b\\x02\\x93\\xa4\\x9e\\x20\\x22\\x5b\\xac\\xde\\x21\\x45\\x50\\x29\\x68\\xa7\\x95\\x4f\\x22\\x84\\xc9\\x33\\x0c\\xe7\\x20\\x3b\\xf4\\xbf\\x1e\\xce\\xfa\\xd3\\x8f\\x26\\x28\\xb4\\x29\\x68\\xe6\\xe2\\x0a\\xba\\x5c\\x16\\x1a\\x6d\\xf9\\x2d\\xc8\\xa8\\x94\\x04\\xf5\\x7e\\x3f\\x8a\\x23\\xe9\\xf9\\x55\\x8a\\xb0\\x2b\\x1f\\x7a\\x14\\x9b\\xb0\\xf2\\xe2\\x0f\\x18\\x55\\x77\\xa6\\xa1\\x63\\x4c\\xac\\x74\\xd7\\xdd\\x0f\\x0a\\xb3\\xf3\\xaf\\xb9\\xa7\\x3a\\x67\\xb5\\x34\\x8d\\x8a\\xd8\\x4b\\xed\\x4b\\x5a\\x26\\x55\\x3f\\x77\\x73\\xe1\\x5b\\x64\\x4f\\xdb\\x07\\xcc\\xec\\x2b\\xfc\\xad\\xc0\\x08\\x9e\\xcb\\x5c\\xa7\\x33\\x72\\x6a\\x0e\\x85\\x5c\\x06\\xe4\\x8d\\x19\\x5e\\xc3\\xe1\\x95\\x0b\\xbd\\xe1\\xe5\\xac\\x56\\xff\\xea\\x2c\\x15\\x8f\\xae\\xaa\\x57\\x67\\x69\\x01\\xdc\\x69\\x82\\xb7\\x99\\xe0\\x2a\\x13\\xbc\\xd4\\x04\\x93\\x26\\x68\\x32\\xc1\\xa3\\x26\\xf8\\x16\\x79\\x3b\\x99\\x7c\\x82\\x5e\\x53\\x0c\\xba\\x35\\x6c\\x00\\x9f\\xd9\\x88\\xd1\\xbd\\x26\\x98\\x31\\xc1\\x4f\\x4d\\xf0\\x65\\x13\\xdc\\x62\\x82\\xab\\x4d\\x30\\x68\\x82\\x80\\xdc\\xed\\x23\\xb7\\x42\\x26\\x98\\x1f\\xcd\\xfc\\x38\\x2a\\x86\\x16\\x24\\x91\\x35\\x11\\x1d\\x08\\xb1\\x21\\x28\\x26\\xc4\\x33\\xac\\x08\\xea\\xdf\\x46\\x9e\\x4d\\xb3\\xe5\\x8e\\x72\\x66\\xc1\\xc4\\xda\\x71\\xed\\x42\\x1f\\xdc\\x92\\xd8\\x98\\x84\\x5b\\x84\\x3e\\xd6\\x70\\x92\\x63\\x4f\\x6e\\x49\\x6e\\x4c\\xc0\\xcd\\xc2\\x3c\\xf4\\x21\\x50\\xb4\\xdb\\x03\\x8e\\x66\\x1e\\xd1\\x1a\\x54\\x2c\\xc7\\xe8\\x35\\x46\\x23\\x63\\x33\\x3b\\x3d\\x1c\\xb0\\x5b\\x4c\\x0e\\xb7\\x89\\x05\\x1c\\x0a\\x62\\x19\\xc6\\xeb\\x73\\xb9\\x5f\\xce\\xda\\x5d\\xaf\\xce\\xb2\\x5a\\xd0\\xd5\\xfa\\xea\\x2c\\xbb\\x4e\\xff\\x72\\x56\\xa3\\x7b\\x75\\x16\\xcf\\xa1\\x2b\\xff\\xea\\x2c\\x0d\\x58\\xe5\\x83\\xbd\\x3e\\x38\\xd9\\x07\\xdb\\x7d\\x30\\xe8\\x83\\x03\\x3e\\xf8\\xa9\\x0f\\x6e\\xf6\\x41\\xf4\\xf9\\xa5\\xd2\\x27\\x2f\\x93\\x4f\\x28\\x00\\xf8\\xe0\\xf0\\x4f\\x49\\x99\\x0c\\xb9\\xb7\\xd7\\x07\\x57\\x13\\x74\\x9f\\x0f\\x7e\\x46\\x70\\xe8\\xed\\x12\\xf2\\x36\\x43\\xd0\\x73\\x0a\\xfc\\xb7\\xd2\\x81\\x8b\\xbd\\x03\\x48\\xdf\\x00\\x24\\xe3\\x05\\x5d\\x84\\x04\\x49\\x3c\\x4e\\x48\\xec\\x2d\\x14\\x32\\xcb\\x9d\\x85\\x23\\x67\\x74\\xb1\\x45\\x6c\\xe8\\x23\\xb8\\x65\\x5c\\x41\\xc7\\x8d\\x99\\x38\\x71\\x0c\\xbe\\xa2\\x9e\\xc3\\x9f\\xc2\\x3b\\x5e\\x7c\\x49\\xd1\\x8b\\x5b\\x5e\\x7a\\x71\\xb3\\x78\\x47\\xec\\xd3\\xe5\\x70\\x37\\x73\\x2e\\xbb\\x01\\xe8\\xc1\\xd7\\x99\\xc7\\x81\\x4a\\x65\\x34\\xb0\\x26\\x2d\\x34\\x68\\xcd\\x46\\x08\\x8c\\xf0\\x98\\x11\\x7e\\x66\\x84\\x7b\\x8d\\x70\\x97\\x11\\xae\\x36\\xc2\\x25\\x46\\xd8\\x67\\x84\\xdd\\x46\\x98\\x31\\xc2\\x3a\\x23\\x0c\\x11\\xcc\\x62\\x25\\x42\\x79\\x03\\x15\\xde\\x22\\x15\\xcb\\x0c\\x22\\xd7\\x27\\x81\\xd1\\xe7\\xc3\\xd1\\xa7\\x6f\\x93\\x1b\\xb7\\x1b\\xe1\\xa5\\xe4\\x86\\x99\\xbc\\x5e\\x4d\\xb8\\x25\\x09\\xe8\\x6d\\x89\\x33\\xba\\x55\\x24\\x62\\x79\\xdb\\x51\\x68\\x53\\x8a\\x4c\\x0a\\x48\\xce\\x9d\\x73\\x50\\x9e\\xe2\\x2b\\x12\\x09\\xcc\\xb9\\xeb\\x17\\x9e\\xb7\\x7e\\xfd\\x79\\x0b\\xd7\\x33\\x8f\\x2e\\x5c\\xbf\\x7e\\x21\\xfa\\x8f\\xf3\\x17\\x1f\\x0e\\x7c\\xa1\\x8e\\x83\\xf7\\x51\\xdf\\xb8\\x40\\x04\\x34\\x67\\x02\\x40\\x65\\xb0\\xba\\x4b\\x4b\\xad\\x2a\\x36\\x5a\\x1e\\x76\\x68\\x59\\xed\\x03\\xb3\\x7c\\x26\\xd6\\x96\\x29\\x87\\xa1\\x72\\xea\\x80\\xe8\\x4e\\xef\\x88\\x47\\xfe\\x30\\xa8\\x53\\x65\\x2f\\x0a\\x32\\x19\\x6f\\x8e\\x6d\\x68\\x18\\xdb\\x99\\x4e\\x77\\x32\\x3b\\x06\\xbf\\x9a\\x5d\\xdf\\xd5\\x55\\x9f\\xee\\xec\\x4c\\x17\\x5d\\xe5\\xf9\\x11\\xf7\\x0e\\x3e\\x3e\\x35\\xa3\\xe5\\x21\\x9a\\xba\\x21\\xaf\\xc3\\xe0\\xd9\\x97\\x78\\x2c\\x15\\x9d\\xbe\\x85\\x1d\\x55\\x53\\xe1\\xc7\\xdc\\x75\\x78\\xda\\x33\\x19\\xcf\\x79\\x26\\xa2\\x39\\x4f\\x25\\x29\\xe7\\x78\\x06\\xe9\\x0c\\xa7\\xe2\\x90\\x30\\x24\\xd3\\x49\\xf9\\x60\\xa8\\xc6\\x30\\x2a\\x26\\x4c\\x84\\x1f\\x4f\\xe5\\xae\\x9b\\xfc\\x7d\\x29\\x7f\\x17\\x99\\x2b\\x0d\\x58\\x51\\xb9\\xaf\\xf9\\xeb\\x81\\x1a\\x94\\x66\\x0c\\x80\\x61\\x78\\x56\\x03\\x79\\x1e\\x4d\\xe1\\xc9\\x14\\x29\\x29\\xcd\\x8f\\xe8\\xcc\\x08\\x33\\xfe\\x7a\\xdf\\xb4\\x7d\\xf0\\x63\\xf6\\x9d\\x1f\\x4a\\xb9\\x43\\x64\\xaf\\xbb\\x3c\\x0d\\x3d\\x39\\xab\\x8a\\x47\\xb3\\x4e\\x44\\x88\\x35\\x20\\x3a\\x3a\\x1d\\xab\\x55\\xb1\\xe2\\xdc\\x31\\x9d\\x9f\\xd0\\x15\\x50\\x74\\x84\\x25\\xaa\\xc2\\xe5\\x70\\x9d\\x44\\x79\\xb2\\xf0\\x65\\x21\\xed\\xda\\x8c\\x1d\\xaa\\x54\\x1a\\x4e\\xaf\\xd7\\x68\\xb5\\x06\\xb5\\x1e\\xd9\\x6e\\x4e\\x8b\\x82\\x4d\\xd4\\x48\\x99\\xb8\\xc2\\x60\\xb3\\x88\\x2a\\x69\\x33\\xfa\\xfd\\x1a\\xae\\x43\\xa4\\x3f\\x46\\x3c\\xb8\\x20\\x74\\x4c\\x16\\x26\\x61\\x16\\x34\\x77\\x21\\xfe\\x98\\x55\\xea\\x0f\\xf0\\x53\\x18\\xa0\\x06\\xc9\\xc8\\x3b\\x28\\x5e\\xd1\\x02\\x07\\x08\\xe1\\x13\\xc3\\xd0\\x5c\\xa9\\x13\\xdc\\x94\\x99\\x32\\xb6\\x73\\x4c\\x47\\x5b\\x2a\\xec\\x8c\\xfb\\xd0\\x04\\xd9\\xe7\\x4c\\x75\\x74\\xaa\\xf8\\xe6\\x1a\\x33\\x5f\\xc3\\x77\\x9d\\x35\\x96\\x6b\\x1c\\xb6\\x27\\x5b\\xd7\\xf8\\xcc\\xac\\xba\\x0c\\xba\\xd6\\x8d\\x29\\x8d\\xee\\xc9\\x7a\\x4a\\x9f\\x99\\xe5\\xa9\\x42\\x57\\xcf\\x18\\x1b\\x6b\\xdb\\x93\\xd5\\xb0\\xcf\\xcc\\xd2\\x18\\xd1\\x95\\x5b\\xdd\\x05\\x27\\x77\\x11\\xf9\\x22\\xb6\\xa2\\x3d\\x8d\\xad\\x05\\xf5\\x8c\\xe4\\x7d\\xfe\\x08\\x39\\x57\\xab\\xe2\\x28\\x4c\\x51\\xc8\\x43\\xf8\\xd4\\xd3\\x10\\xdb\\x20\\x9e\\xd9\\x9a\\x4e\\x35\\xc9\\x9f\\xa6\\x9c\\x6a\\xc5\\xc7\\xe5\\x43\\x82\\xf9\\x08\\x4c\\x33\\xdb\\xee\\xdd\\x2c\\xbc\\xb4\\xf5\\x51\\x98\\xdc\\xd8\\x31\\x3d\\x3b\\x71\\xd2\\xcc\\xe9\\x1d\\x6c\\x84\\x7e\\x74\\xf7\\x03\\xf9\\x8f\\x46\\x0f\\x42\\xfd\\xe7\\xfd\\x4b\\xd8\\xdc\\x25\\xec\\x77\\xbf\\xd8\\x09\\xfb\\x76\\x3f\\x26\\x3c\\xba\\xee\\x86\\x2b\\x7e\\xf6\\xc0\\xd5\\xeb\\xfb\\xdf\\xff\\xc5\\x2e\\x38\\x6f\\xf7\\x63\\x8f\\x3c\\x2d\\x7e\\xb0\\x96\\xbe\\x97\\x01\\x6f\\xf1\\x68\\x1e\\x0b\\xce\\x63\\x67\\xc3\\x59\\x7c\\x1b\\xd2\\xc4\\x2f\\x33\\x65\\x10\\x85\\x4e\\xfc\\x9d\\xfc\\x56\\x9e\\x59\\xc0\\x5f\\xc6\\xaf\\xe1\\xd9\\x1e\\x1e\\x36\\xf0\\x1d\\x3c\\x12\\x41\\x2b\\x5f\\xc6\\xb3\\x97\\xf3\\x38\\x39\\x13\\x58\\x7c\\x59\\xd7\\x6b\\xfc\\x07\\x3c\\x73\\x37\\xbf\\x8d\\xcf\\xf1\\xec\\x8d\\x3c\\x9c\\xc6\\xe3\\x02\\xec\\x07\\x3c\\xe4\\x71\\xc2\\x46\\x37\\x77\\x7e\\xd7\\x3e\\x1e\\xcd\\x47\\xc8\\xdb\\x3d\\xd3\\xb3\\x5d\\x87\\xc8\\xcb\\xd5\\x19\\xdb\\x98\\xb3\\xbb\\x3a\\x79\\x18\\xe5\\x1b\\x28\\x51\\x66\\x24\\xf9\\x1c\\x9f\\xa8\\x41\\x4a\\x96\\x37\\xb5\\x76\\xed\\xe5\\xa1\\x48\\x79\\x09\\xbf\\x1a\\xc1\\x00\\x32\\xc0\\xfc\\x67\\xfc\\x31\\xfa\\x7e\\x2f\\xcf\\x12\\x64\\x49\\x75\\xb2\\x8b\\xcf\\x68\\xf4\\x5d\\x66\\x06\\x32\\xa8\\xfa\\x38\\xed\\x43\\x0e\\xc8\\xe8\\x45\\x46\\x89\\x1c\\xfd\\x30\\x67\\x4e\\x02\\xfd\\x2e\\x4d\\x10\\x53\\x45\\x33\\x40\\x72\\xe2\\x27\\x8d\\xfa\\x76\\xff\\xf6\\xf1\\x7c\\x9b\\x10\\xa4\\x31\\xf1\\xa5\\xec\\x6c\\xe6\\xcf\\xa4\\x1f\\xd4\\x20\\x9e\\xb1\\xf1\\x6a\\x88\\xf4\\x4d\\xa3\\x7d\\x59\\x0b\\xd5\\x98\\x01\\x87\\x39\\xa4\\x0e\\xce\\x49\\x41\\x7a\\x96\\x04\\x1d\\x79\\x44\\x05\\xff\\x67\\xc2\\x88\\x94\\xb0\\x4b\\xa4\\x07\\x3f\\x27\\x34\\x91\\x1c\\x07\\xd9\\xd9\\x6c\\x13\\xdf\\x66\\x8e\\xa9\\xbf\\x7d\\x1e\\xaf\\x65\\x7f\\x0b\\x7e\\x43\\x72\\x99\\xdf\\x92\\x3d\\x6a\\x20\\xb8\\x01\\x8c\\x67\\xca\\xd9\\x69\\x40\\x05\\xfc\\x99\\x12\\x86\\xe5\\x58\\xa4\\x4a\\x6a\\xc8\\xfd\\x63\\x16\\x3c\\x8a\\xa7\\x6b\\xf2\\xbc\\x1a\\xf1\\xb0\\x45\\xe0\\x0d\\x70\\x52\\xcf\\xe1\\xc3\\x3d\\xc2\\x6e\\x78\\x0c\\x2e\\x10\\xae\\x12\\xae\\x82\\x0b\\x8a\\x69\\x00\\x06\\x85\\x26\\xac\\x46\\xcd\\x31\\xff\\x98\\xc5\\x15\\xd0\\xd0\\xc2\\x88\\x8d\\x4d\\x43\\xa6\\x5c\\xd8\\x8d\\x89\\xc0\\x49\\x70\\x87\\xb0\\x11\\x91\\xbc\\x41\\xd8\\x48\\xeb\\xfa\\xd1\\xc0\\x17\\xec\\xf3\\xb8\\xae\\x80\\xc3\\x59\\x47\\xc0\\xc1\\x7f\\x20\\xf3\\x0c\\x33\\xde\\x70\\xe6\\x9a\\x6b\\xba\\xc2\\x99\\xab\\xaf\\xee\\x0a\\xaf\\xbe\\xea\\x2a\\xf4\\xe7\\x27\\x3f\\xe9\\x0a\\xef\\xbd\\xf2\\xca\\xae\\x30\\x1e\\x85\\xc0\\x8f\\x7f\\x8c\\x6e\\x5e\\x76\\x19\\xfa\\xb3\\x7c\\x39\\xba\\xb9\\x6c\\x19\\xfa\\xb3\\x74\\x29\\x42\\x2c\\x59\\x42\\x10\\x4f\\x5d\\x7a\\xa9\\x88\\xbc\\xe4\\x12\\x04\\xba\\xe8\\x22\\xf4\\x67\\xd1\\x22\\x04\\xba\\xf0\\x42\\xf4\\xe7\\x82\\x0b\\x10\\xf2\\xfc\\xf3\\x29\\x72\\xe1\\x42\\x11\\x79\\xde\\x79\\x08\\x34\\x7f\\x3e\\xfa\\x33\\x6f\\x1e\\x02\\xf5\\xf5\\xa1\\x3f\\xbd\\xbd\\xe8\\xcf\\xdc\\xb9\\x14\\x39\\x67\\x8e\\x88\\x9c\\x3d\\x1b\\x81\\xb2\\x59\\x74\\x6b\\xe6\\x4c\\xf4\\xea\\x9c\\x73\\xd0\\xab\\x19\\x33\\xd0\\x9f\\xe9\\xd3\\x29\\x72\\xda\\x34\\x8a\\x2c\\x9b\\x3a\\x15\\xdd\\x9f\\x32\\x05\\xfd\\xe9\\xee\\x46\\x7f\\x26\\x4f\\x46\\x7f\\x26\\x4d\\x42\\xc8\\x89\\x13\\xd1\\x9f\\x09\\x13\\x28\\xfc\\xec\\xb3\\xf1\\x35\\xf3\\x54\\x67\\x27\\xbd\\x8e\\x1d\\x8b\\xaf\\xab\\x9f\\xea\\xe8\\xa0\\xef\\xc7\\x8c\\xa1\\xd7\\xd1\\xa3\\xf1\\x15\\x3c\\x35\\x6a\\x14\\xba\\x0a\\x7b\\x9f\\xca\\x64\\xe8\\xfb\\xf6\\x76\\x7a\\x1d\\x39\\x92\\xe2\\xda\\xda\\x68\\xf9\\x11\\x23\\xe8\\x75\\xf8\\x70\\xfa\\xf9\\xb0\\x61\\x14\\xd7\\xda\\x4a\\xdf\\xb7\\xb4\\xd0\\x6b\\x73\\x33\\xc5\\x35\\x35\\xd1\\xf7\\x8d\\x8d\\xf4\\xda\\xd0\\x40\\x3f\\x4f\\xa7\\xe9\\x35\\x95\\xa2\\xe5\\xeb\\xeb\\xe9\\xb5\\xae\\x8e\\xe2\\x92\\x49\\x7a\\xbf\\xb6\\x96\\x5e\\x6b\\x6a\\x68\\xbb\\xaa\\xab\\xe9\\x35\\x91\\xa0\\x9f\\x57\\x56\\xd2\\x72\\x15\\x15\\xb4\\x5c\\x3c\\x4e\\xaf\\xb1\\x18\\xbd\\x5f\\x5e\\x4e\\xaf\\xd1\\x28\\x2d\\x17\\x89\\xd0\\x6b\\x59\\x19\\xbd\\x86\\xc3\\xf4\\x7e\\x30\\x48\\xdf\\x97\\x96\\xd2\\xf2\\x81\\x00\\xfd\\xdc\\xef\\xa7\\x9f\\xfb\\x7c\\xf4\\xbd\\xd7\\x4b\\xdf\\x7b\\x3c\\xf4\\xea\\x76\\xd3\\xcf\\x9d\\x4e\\xfa\\xde\\xe1\\xa0\\xef\\x2d\\x16\\xfa\\xde\\x6c\\xa6\\x57\\x93\\x89\\x5e\\x8d\\x46\\x7a\\x35\\x18\\xe8\\x55\\xaf\\x27\\xd7\\xdd\\x3a\\x5d\\x57\\xe2\\xff\\xdb\\x1f\\xec\\xef\\xf6\\xa9\\x38\\xe6\\x2f\\xaa\\x69\\xc8\\x04\\x38\\x32\\x5a\\x64\\x8d\\x38\\xc8\\x74\\x67\\x91\\x27\\xcf\\x1f\\x5d\\xd8\\x18\\x66\\xfe\\x72\\xf2\\x13\\x36\\xa2\\xe2\\xba\\x91\\xdf\\xbf\\x17\\x19\\x94\\x97\\x88\\x2d\\xb1\\xee\\x61\\x11\\x9c\\x41\\xd3\\x86\\x64\\xbb\\x08\\x0e\\x23\\x93\\x21\\x9c\\x5c\\xc8\\xee\\x5b\\x80\\x10\\x1c\\x78\\x78\\xe0\\x0b\\x78\\x0f\\x7f\\x91\\x18\\xff\\x24\\xc1\\xb8\\x4c\\x2c\\xea\\x36\\x00\\x50\\x85\\x22\\x20\\x55\\x5d\\x7d\\xd8\\xf7\\x40\\x36\\x5e\\xf3\\x40\\x36\\x1c\\x0f\\xc7\\x1d\\xac\\xc3\\xf4\\x40\\xd6\\xc1\\xa2\\x90\\x28\\xcb\\xd2\\x3d\\x29\\xcd\\xfb\\xc8\\x4e\\x94\\xad\\xee\\x64\\x52\\x4e\\x1f\\xd1\\x43\\x8f\\x0b\\x63\\x22\\xcb\\xff\\xe2\\x35\\xbc\\x47\\x8a\\x85\\x4e\\x75\\x95\\x62\\x24\\xee\\x47\\xe2\\x0b\\x61\\xbc\\xf4\\xa2\\x5d\\x0e\\x97\\x14\\xf1\\x81\\x09\\x0c\\xcb\\x78\\x39\\x93\\xc9\\xc8\\xeb\\x34\\x3a\\x03\\x34\\x18\\x8d\\x66\\xbd\\xc9\\xa4\\x41\\x31\\x82\\x51\\xcd\\x92\\x28\\xc1\\x42\\xe3\\x04\\x45\\xa0\\x90\\x8f\\x15\\xd2\\x16\\x7c\\x4e\\x6c\\xc4\\x82\\x4f\\xed\\xc6\\xf1\\xc2\\x3e\\x14\\x8c\\xec\\xdb\\x27\\xc5\\x0b\\x28\\x14\\x11\\x23\\x06\\x46\\xe6\\xc7\\xa2\\x5e\\xac\\xcb\\x38\\xa0\\x5a\\xad\\xd5\\xea\\x50\\xbc\\xa5\\xd3\\x19\\x34\\x1c\\x32\\x67\\xbc\\x8e\\xe5\\x8b\\x42\\x12\\x4b\\x41\\x4c\\xc2\\x5a\\x68\\x50\\xf2\\x20\\x1c\\x26\\xbc\\x36\\x05\\x07\\x25\\x98\\x87\\xf0\\x20\\xdc\\x2d\\x86\\x25\\x70\\xc0\\x8c\\x78\\x1c\\x43\\x3c\\x70\\x2c\\xc7\\xb1\\x00\\x42\\x15\\x07\\xa5\\xec\\x3d\\x39\\xc1\\x3d\\x62\\x61\\xc3\\x6c\\xd5\\xb4\\xd7\\xe0\\x67\\xaf\\x09\\x47\\xf9\\x18\\xbc\\x44\\xb8\\x13\\xc8\\xe5\\x7e\\x4a\\xce\\xdf\\x34\\xa8\\xb0\\xe8\\x20\\xdb\\xca\\x31\\x3c\\x33\\x28\\x96\\xc3\\x35\\xf0\\x41\\x44\\xe1\\xd8\\x31\\x31\\xde\\x7a\\x4e\\x38\\x0b\\xfb\\xa6\\x01\\x0b\\xa2\\x71\\x94\\xbf\\x11\\xd1\\xd0\\x81\\x86\\x8c\\x4b\\x8b\\x4f\\xe0\\xe4\\x11\\x71\\xbd\\x8a\\xd1\\xa9\\xb5\\x3a\\xf4\\x0b\\x35\\x9c\\xb8\\x1a\\x40\\x13\\xe8\\xe9\\x41\\x51\\x1d\\x4e\\x9f\\x37\\xc7\\xd5\\xae\\xaa\\x69\\xfb\\x8f\\x1e\\xdd\\x3f\\xed\\x9a\\x6b\\xae\\x41\\xb5\\xe4\\x9f\\xfe\\xe4\\x93\\xa7\\x9f\\x5e\\xba\\x74\\x49\\x61\\xdc\\x69\\xc4\\x71\\x1d\\x67\\x34\\xea\\x35\\x3a\\x9d\\x5e\\x5f\\xa2\\x35\\x1a\\x55\\x68\\xcc\\xf4\\xf9\\xb8\\xae\\xb0\\x17\\xa5\\xb1\\x52\\x8e\\x94\\x5b\\x1e\\x28\\x61\\xa3\\x34\\x4e\\x80\\x63\\x5c\\x0c\\x8e\\x35\\x74\\xa0\\x04\\x8c\\xce\\x44\\x8c\\xbc\\x06\\xc2\\x12\\x15\\xea\\x0b\\x93\\x59\\xc3\\x1b\\x39\\xe3\\x91\\x2c\\x58\\xc5\\xdd\\xc6\\x6d\\xe6\\x58\\x8e\\x83\\x7a\\xf5\\xc7\\xf0\\x13\\x7c\\x68\\x3a\\x39\\x09\\x59\\x0a\\xf9\\xf3\\x67\\x39\\xe3\\x0c\\x3b\\x62\\xda\\x88\\xeb\\xe1\\x40\\x7e\\x38\\x0c\\xbf\\x5d\\x2b\\xdc\\x07\\x6f\\xba\\xe8\\xbc\\xaf\\x19\\xe1\\x4b\\xe8\\x62\\xf6\\x6c\\xde\\x3c\\x8f\\x89\\xf5\\x7f\\x76\\x3e\\xfc\\x4a\\xa0\\x67\\xcc\\x27\\x19\\x1d\\x53\\x87\\xf8\\x97\\x82\\xf6\\x4c\\xc8\\xef\\xf2\\xba\\xb4\\xf8\\xe1\\x84\\x60\\x08\\xd8\\x0f\\x67\\x01\\x70\\xab\\xdc\\xbe\\x23\\x59\\xf7\\xc7\\xaa\\x92\\xc3\\x68\\x42\\xff\\x29\\xce\\x74\\x15\\x6c\\xf8\\x4a\\xcf\\x35\\xa6\\x47\\x60\\x42\\xf1\\xf0\\x5b\\x7c\\xb8\\xb9\\x74\\x6a\\x54\\xa4\\x4c\\x4d\\x02\\x67\\x47\\x73\\x13\\xf4\\xde\\x74\\xdb\\xfa\\x3b\\x57\\x9f\\xab\\x6e\\xf6\\x39\\xce\\x0a\\x9c\\xd3\\x3d\\xed\\xdc\\xb6\\x9a\\x61\\x70\\x8f\\x70\\xb7\\x2b\\xc5\\xb1\\xab\\x2f\\x59\\xb9\\xde\\xfb\\xc2\\x92\\x12\\xdb\\xcc\\x05\\x0b\\x26\\x95\\xc0\\xdb\\x96\\x7c\\xc8\\xeb\\xe8\\x33\\x87\\x31\\xc6\\xcd\\xa0\\x10\\x02\\x68\\x40\\x32\\xe3\\xe4\\x55\\x2a\\xa8\\xe6\\x20\\xa7\\xd5\\xf1\\x9f\\x70\\x8c\\x86\\xd1\\xa0\\xde\\x61\\x3e\\x26\\x4f\\xf1\\xe1\\x1a\\xb5\\xcb\\x15\\xa2\\x03\\x8c\\xcf\\x7f\\x46\\x9d\\x30\\xb7\\x85\\x89\\x0a\\x0f\\xcf\\x83\\x33\\x84\\x3b\\xb8\\x73\\xfe\\x3c\\xba\\x3f\\xc0\\x3c\\x4d\\x9f\\x23\\x2c\\x63\\xb4\\xcc\\x24\\xfe\\x2c\\xf2\\x1c\\x61\\x0d\\x58\\x94\\x19\\xc6\\x82\\x80\\xc9\\x65\\x89\\x80\\x0a\\x0b\\xb0\\xa8\\x02\\x06\\x97\\xca\\xa0\\xaa\\x4d\\x9a\\xd8\\x84\\x37\\xe1\\x3d\\x9c\\x35\\x24\\xfc\\x89\\x09\\x89\\xd9\\x89\\xc5\\x09\\x5e\\xcb\\x26\\x12\\x5a\\xbb\\xbd\\xfc\\x70\\xd6\\xfe\\x27\\x6d\\x08\\x75\\xcd\\xa7\\x40\\xb9\\x13\\x2e\\x7e\\x82\\x90\\x98\\x20\\x39\\x40\\x16\\xc3\\x23\\x1c\\x69\\x59\\x5b\\x69\\x42\\x50\\x3c\\x61\\x0b\\x1b\\x9a\\x66\\xd1\\xda\\x28\\xc3\\x5f\\xb6\\x41\\x7e\\xc9\\x34\\x74\\xb4\\x8e\\xed\\x59\\x7b\\xc7\\xda\\xb5\\x53\\xc6\\x5e\\x73\\xfd\\x55\\x2b\\x57\\x5d\\x78\\x56\\xf7\\xc4\\xd1\\xa3\\x27\\x4e\\x1a\\xe7\\x5e\\x39\\x72\\xf8\\xf0\\x91\\xed\\x23\\xb9\\x15\\xa3\\x67\\xbb\\xdd\\x17\\x4c\\xb9\\xe8\\xaa\\x2b\\x2f\\xee\\xbe\\xd0\\xdd\\x78\\xed\\x82\\x8b\\x97\\x08\\xa8\\x8f\\x27\\x9e\\x3b\\x6b\\xc2\\x04\\xf8\\x87\\x3b\\xcf\\x3a\\x7b\\x62\\x66\\x14\\xed\\xcf\\x08\\x92\\xb7\\xf3\\xb9\\x73\\x81\\x0f\\x74\\x67\\x12\\xc0\\x6a\\x75\\xe9\\x55\\x2e\\x95\\x3f\\xe0\\xb2\\xea\\x55\\x1a\\x77\\xc6\\xeb\\x65\\x2c\\x78\\x52\\x64\\x3a\\x9c\\x4d\\x32\\xed\\x4c\\x2f\\x73\\x29\\xb3\\x13\\xc9\\xa2\\x43\\x83\\xa4\\x2e\\x7d\\x60\\x8e\\x98\\x10\\x43\\x13\\x00\\xef\\x41\\xf3\\xc1\\x54\\x2a\\xa5\\x38\\x44\\x1a\\x75\\x78\\x93\\x78\\x2c\\x18\\x3e\\x29\\x8c\\x8c\\xbd\\xf8\\x3a\\xde\\x98\\xfe\\x64\\xe9\\x88\\xf1\\x93\\x3b\\x8e\\x37\\x97\\xa5\\xab\\x26\\xb5\\x9e\\xe8\\xe8\\x78\\x9a\\x2b\\x1d\\x31\\x7d\\x8a\\x70\\x9f\\xa9\\xbc\\xdc\\x04\\xe7\\xa6\\x92\\x16\\xa1\\x87\\xbc\\x3c\\x60\\x2a\\xa7\\xb1\\x67\\x6c\\xa0\\x9d\\x31\\xc0\\x5b\\x80\\x17\\x79\\x80\\x31\\x19\\x4b\\xd0\\xa2\\x89\\x44\\xdc\\x06\\xce\\xc0\\x45\\xcb\\x23\\x1a\\x4d\\x58\\xf7\\x2c\\x1c\\x97\\xf3\\x59\\x2c\\x9c\\xfa\\x59\\xd8\\xb5\\xdb\\x6d\\x07\\xcf\\xc2\\x4e\\x7a\\xc8\\x39\\x52\\x45\\xc5\\x21\\xe7\\xe2\\xf9\\x66\\x54\\x3a\\x71\\x75\\xe2\\xa8\\xcf\\x1b\\x1b\\x46\\xc2\\x76\\x88\\x8f\\x47\\x26\\x67\\xcd\\xdb\\x48\\x6a\\x2c\\x9d\\x6a\\x86\\xd6\\xb9\\xd3\\xcf\\x7a\\xc0\\xd0\\xb1\\xe8\\x8e\\xfa\\x99\\x73\\xa7\\x9f\\xd3\\x9e\\xb4\\x97\\x2d\\xb8\\x6f\\x72\\x77\\xeb\\x8c\\xe1\\x67\\xc1\\x5b\\x26\\x4d\\x10\\xae\\x37\\xf9\\x5a\\x3a\\x1e\\x1b\\x31\\x3e\\xc2\\x30\\xd9\\xa5\\xfe\\xce\\xab\\x1c\\xc2\\x9f\\x18\\x66\\xd8\\xa8\\x45\\xf8\\x39\\xbe\\xe8\\x40\\x3b\\xfc\\x12\\xae\\x07\\x56\\xe0\\x06\\xe9\\x8c\\x05\\x38\\x1c\\x46\\xa7\\xda\\x6a\\xb4\\x7a\\xbc\\xe8\\xa5\\xce\\x66\\x7a\\x01\\xd5\\x8f\\x03\\x3a\\x38\\xae\\xf8\\x00\\x6e\\xb1\\xf3\\x9a\\xc9\\x58\\x37\\x3b\\xc8\\xa1\\xc8\\x8d\\xe6\\x74\\x2a\\x00\\xe3\\x65\\x8e\\x74\\x43\\xec\\xf6\\x73\\x66\\x76\\xf4\\x04\\xfa\\x9a\\xaf\\xbd\\xfa\\xeb\\x0f\\x3f\\xbc\\xf6\\x9f\\xcd\\xe7\\xeb\\xaf\\x5c\\x68\\x2d\\xb3\\x04\\xd6\\x6d\\x86\\xe5\\xdf\\xd6\\xff\\xfb\\xd7\\x17\\xd1\\xbc\\x61\\xf9\\xc0\\x48\\xa6\\x16\\xde\\x4a\\xe6\\x83\\xe5\\x19\\x9d\\x19\\xe9\\x0f\\x0f\\x9c\\x2e\\xa3\\x1a\\x33\\xb6\\x01\\x46\\x64\\xac\\x38\\xed\\xbe\\xdc\\x1c\\xc6\\x9c\\xc2\\x85\\x93\\x31\\xa6\\x56\\xf8\\x6e\\xf5\\xb5\\x90\\x5f\\xbd\\x66\\xf1\\xf8\\x9e\\x49\\x67\\x9d\\x35\\xa9\\x67\\xfc\\xf9\\xc2\\xef\\xef\\xbb\\x13\\xc6\\xee\\xbe\\x73\\xf5\\x8a\\x4b\\x6e\\xbe\\x79\\xd9\\x4f\\x88\\x1c\\x71\\x03\\x67\\x33\\x53\\xe0\\x2a\\x24\\x47\\x3d\\x19\\xbf\\xca\\x6a\\xb4\\x7b\\x38\\xa3\\x47\\xef\\xd3\\xfb\\xfc\\x01\\x8f\\xdd\\x6e\\xb4\\x5a\\x6d\\x5e\\x03\\xcf\\x69\\x9d\\xa6\\x67\\xe1\\xd8\\x67\\x7c\\x1c\\xa7\\x57\\xa9\\x18\\x2d\\x1a\\x2b\\xc5\\xc9\\xfb\\x64\\x8d\\x56\\x39\\x54\\xf4\\x00\\x3f\\x34\\x58\\x3c\\x3e\\x02\\x38\\x8e\\x0f\\xeb\\x6d\\x6c\\x87\\x49\\x88\\x4f\\xe8\\x73\\x35\\x23\\x29\\x72\\x98\\xa0\\x8d\\x99\\x32\\x00\\xce\\xbe\\xee\\xfe\\x89\\x6f\\x8e\\x7e\\xee\\xe1\\x31\\x10\\x9c\\xbd\\x78\\xe5\\xc4\\x37\\x47\\x6d\\x7e\\x7e\\x83\\xcf\\x57\\xf2\\xfa\\x1b\\x46\\x9f\\x4f\\x77\\xe2\\x9f\\x26\\x9f\\xcf\\xbc\\xf5\\x61\\x7c\\x54\\xff\\x41\\xe1\\x6f\\x54\\x96\\xe0\\x3f\\xf2\\x63\\x83\\xc6\\x05\\x0f\\x8f\\xd5\\xe8\\xf1\\x3a\\xad\\x56\\x32\\x36\\xe3\\xc8\\xd8\\x74\\x0e\\x75\\x38\\x3a\\xee\\x29\\x6a\\xc9\\x1a\\xe9\\xb9\\x77\\xe6\\x48\\x59\\x1b\\x74\\xa5\\x1a\\x23\\x76\\x27\\xbc\\xb6\\x68\\x70\\x16\\xca\\x83\\x23\\x7c\\x24\\x0d\\x0e\\xc4\\x27\\xa4\\x71\\xbf\\xe4\\xaf\\x05\\x75\\xe0\\xfc\\x4c\\xb3\\x35\\x5c\\x59\\xe9\\x84\\x3e\\x3d\\x64\\x55\\xb5\\xaa\\xda\\xfa\\x14\\x53\\x11\\xae\\xe8\\xcd\\x3a\\xc3\\x9e\\x50\\x6f\\xd6\\xe3\\xea\\xcd\\x86\\x3d\\x61\\x4f\\x9d\\xa9\\x12\\xd6\\xc1\\xde\\x6c\\x6d\\x9d\\x55\\xaf\\x31\\x69\\x7a\\xb3\\x26\\x96\\xae\\x55\\x89\\xa7\\x20\\xe2\\xbe\\xa2\\xe1\\x0d\\x48\\x4b\\xcb\\x8d\\xa8\\x03\\x5d\\x54\\x9c\\x50\\x07\\x96\\x37\\x5b\\x22\\x65\\x51\\x3c\\xb8\\x41\\x18\\x89\\x8b\\xa3\\x3b\\x1c\\x92\\xc3\\x0e\\xd1\\xfb\\x04\\xb4\\xa4\\x9b\\x91\\x7f\\x8a\\xa3\\x48\\x02\\x9f\\xef\\xcf\\x86\\xe1\\xd3\\xd7\\xf8\\xfe\\x22\\xf4\\xc3\\x7f\\xdc\\xf5\\x0b\\xae\\xcd\\xd3\\x77\\xd3\\xf6\\x8d\\x8f\\x6e\\xb4\\x5d\\xc3\\xbc\\xd3\\xee\\x9d\\xbd\\xfc\\xc6\\x3f\\x78\\x47\\x8e\\xf4\\xfe\\xe1\\x91\\x35\\xd3\\x2a\\xda\\xf5\\xfd\\x5c\\x8d\\x07\\xce\\x17\\x8e\\xc0\\x6f\\x63\\x5f\\xae\\x6f\\x79\\xe7\\x0f\\xbf\\xf9\\x1d\\xbc\\xdc\\x53\\xf3\\xcd\\x7d\\x1a\\xe1\\xc9\\x4b\\x84\\x77\\x96\\x08\\x9b\\xb4\\xdb\\x85\\xef\\x90\\x6d\\x9d\\x36\\x70\\x15\\x77\\x84\\x7f\\x03\\xc4\\x91\\x65\\x4d\\x83\\x7b\\x32\\x3d\\xbc\\xc1\\xe8\\xe1\\xbc\\x1c\\x53\\x5f\\xe7\\xe7\\x7c\\x6c\\x69\\x6d\\x1a\\x72\\x20\\x18\\xae\\x4a\\xc4\\xb8\\x78\\x45\\x30\\xe4\\xf3\\x82\\x38\\xcb\\x69\\xb8\\xb8\\x37\\xc4\\x47\\xed\\x51\\x7b\\x43\\x63\\xc8\\xeb\\xf5\\x5b\\x6b\\xab\\xaa\\xa0\\xab\\xce\\xe4\\x32\\xf5\\x66\\xed\\x2e\\x5b\\xc2\\x90\\x86\\xe9\\xde\\x2c\\x1b\\x8f\\xc7\\x34\\x28\\x84\\xc4\\xa2\\x94\\x4e\\x27\\xa9\\x1f\\xcc\\xf7\\x8c\\x05\\xbf\\x4e\\x2a\\xfb\\x84\\xfe\\xa6\\xf0\\x6b\\xc5\\x7f\\xbc\\x4c\\xef\\x6a\\x4e\\xab\\x9d\\x2e\\x1b\\xea\\x92\\x38\\xc4\\xd2\\x8f\\xfb\\x02\\x1f\\x7b\\xa8\\x8e\\x34\\xc7\\xc8\\x1f\\x06\\xf5\\x61\\x33\\x34\\xbb\\xa0\\x8a\\xb1\\x39\\x5d\\x30\\x16\\x67\\x1f\\x48\\x5c\\x96\\xec\\x4e\\x75\\xf5\\xa8\\x46\\x97\\x96\\xb7\\x09\\x57\\xb4\\x8c\\x5f\\xf6\\x9b\\xe1\\xe5\\xa3\\x54\\x1f\\xf7\\x4f\\xed\\xaa\\xea\\x4e\\xa6\\x5b\\x46\\x74\\x77\\xdd\\x72\\x07\\x73\\x20\\xd1\\xff\\xc7\\x2b\\xe1\\xf9\\x27\\x0f\\xe7\\x6a\\x9b\\xe1\\xcd\\xf5\\xa3\\xf8\\x37\\x56\\x6b\\xd7\\xde\\xad\\xb3\\x0a\\x1f\\xed\\x70\\xb9\\x7e\\x58\\x61\\x6c\\xae\\x7d\\x5d\\xd8\\xdf\\x6e\\x58\\x79\\x8b\\xc1\\xf3\\x8b\\xf7\\xa6\\xc2\\xe8\\x1b\\xcc\\x8b\\x2b\\x4f\\xbe\\x2e\\x7c\\x74\\x1f\\x17\\xe3\\x84\\x77\\x4e\\xbe\\x5d\\xee\\xe4\\xd6\\x1a\\xd4\\x48\\x76\\xa6\\x0d\\x7c\\x85\\xfa\\x71\\x02\\x48\\x80\\x79\\x99\\xfa\\x50\\x85\\x5a\\x1d\\x71\\x47\\xa0\\xd5\\x60\\x35\\x54\\xd7\\xa8\\x2a\\x2a\\x90\\x17\\x9b\\x9f\\xc5\\xcf\\x17\\x46\\x7b\\xb3\\xb1\\x98\\xc9\\xe1\\x08\\xf4\\x66\\xdd\\x0e\\x2e\\xa2\\x36\\xa9\\x7b\\xb3\\x06\\x93\\x4d\\x7c\\xc0\\xdd\\x2d\\x79\\xc8\\xe4\\xe0\\x85\\x0d\\x85\\xda\\xa1\\xe0\\x01\\x9f\\xc0\\x6d\\xc1\\xd6\\x11\\xf7\\x43\\x08\\x58\\xcc\\x20\\x9c\\xc2\\xfd\\x53\\x0b\\x23\\x21\\xc6\\x62\\xb7\\xba\\xb0\\x08\\xb9\\x90\\x22\\x70\\xe7\\x25\\x86\\xa5\\xd6\\xa6\\x16\\xef\\x1b\\x41\\x1a\\x2f\\x3c\\x2f\\xdc\\x0d\\xe7\\xc2\\x99\\xef\\x1c\\x43\\xfd\\xd2\\xf9\\x5c\\x9f\\x30\\xf0\\xd5\\xff\\x3c\\x78\\x05\\xb4\\x6a\\x47\\x1c\\x1c\\xc1\\x96\\x0b\\x97\\xf8\\x9c\\xfd\\xef\\x33\\x8d\\xa4\\xd1\\xf0\\x47\\x30\\x03\\xcf\\x85\\x3f\\x4a\\xa3\\xbe\\x48\\x24\\x85\\xdf\\x09\\xbf\\xfa\\x4e\\xf8\\xac\\x9a\\xb9\\xd2\\x53\\x73\\x79\\x6a\\x36\\xb1\\x2d\\x7e\\xd4\\xac\\x87\\x90\\xcf\\x0f\\x82\\x1b\\x33\\x67\\xb3\\x7e\\x9b\\x07\\xf2\\xbc\\x41\\xa7\\xb3\\x85\\xc2\\x9c\\xc1\\x68\\xe8\\xcd\\x42\\xa3\\x0f\\x78\\x40\\x5f\\xb6\\xd4\\xe4\\x69\\xf7\\x30\\x26\\x23\\xd4\\xb3\\x1e\\xa3\\xc7\\xa8\\xb6\\x58\\xdc\\x7d\\x59\\x93\\x1d\\xea\\x38\\xbb\\xc5\\x82\\x44\\xc6\\xc2\\xea\\x78\\x35\\xdf\\x9b\\x55\\x5b\\x7b\\xc3\\xb0\\x3d\\x4c\\x33\\x59\\xf4\\x30\\x4c\\xf4\\x57\\xf6\\xd2\\x48\\x93\\x70\\x66\\x84\\xca\\x8f\\x42\\x9f\\x88\\xa1\\x42\\xdd\\x43\\x9e\\x5b\\x40\\xbf\\xe4\\x60\\xf2\\xc6\\x48\\x63\\x9a\\x1c\\x83\\x49\\xd5\\x28\\x4c\\xd4\\x08\\xfe\\x14\\x5a\\x85\\xaf\\xdf\\xec\\x7f\\x7f\\xf3\\x93\\x4f\\x6e\\x67\\xd7\\x8c\\x0e\\x2d\\x79\\x6f\\x29\\xbc\\x38\\xd8\\xd6\\x16\\x64\\x16\\x1c\\xee\\xf9\\x93\\xaf\\xb1\\xd1\\xf7\\xa7\\x1e\\xf6\\x12\\x6f\\xa3\\xf0\\xf2\\x87\\x25\\xfd\\x1f\\x6d\\x11\\x16\\x6c\\xc5\\xed\\xbc\\x12\\xb5\\xf3\\x15\\x32\\xb6\\x87\\x32\\xf3\\x9d\\x1e\\xa4\\x15\\x76\\x14\\x03\\xb3\\xea\\xd2\\x4a\\x2e\\x91\\x08\\xdb\\xd5\\x2e\\x7f\\x89\\x5f\\x5d\\xc9\\x45\\xcb\\xa2\\x65\\xd5\\x35\\x99\\x9a\\xbe\\x9a\\xd5\\x35\\x6c\\x48\\x7c\\xb1\\xa5\\x66\\x57\\x8d\\x0a\\xd4\\xd0\\xb7\\xdc\\x70\\xf9\\x15\\x7e\\xf1\\x59\\x0d\\x0b\\x6a\\xf6\\xe2\\x8b\\x96\\x2d\\x0f\\x47\\x4b\\xab\\x12\\x55\\xcb\\xb3\\xbe\\x04\\x9e\\xf3\\xd7\\x6a\\x4c\\x5d\\x09\\x2e\\xe3\\x61\\x39\\x76\\x79\\xd6\\x79\\x29\\xb7\\x8a\\x63\\x38\\x9c\\x30\\xe2\\xb8\\xb0\\x0e\\x84\\xa1\\x86\\x8d\\x86\\x57\\x64\\xa3\\x6e\\x9d\\x75\\x79\\xb6\\xa4\\x44\\x87\\xd7\\x99\\x92\\x74\\x9b\\xff\\x5e\\x72\\x60\\x28\\x12\\x9d\\x39\\xd2\\x57\\x26\\x7e\\x9b\\x10\\x9f\\x9c\\x6b\\xc5\\x27\\xb1\\x2e\\x5d\\x36\\x57\\x3e\\x88\\x95\\xea\\x1c\\x7d\\x5c\\x25\\xaf\\x6c\\xb1\\x38\\xea\\x3a\\x31\\xd2\\x71\\x59\\x88\\x55\\xb2\\xd8\\x5d\\xa8\\x63\\x9d\\x2e\\x14\\x24\\x97\\x40\\x75\\x18\\xf7\\x6f\\x53\\x1b\\x72\\xc9\\x70\\xac\\x2e\\xb4\\x75\\xd5\\x98\\x77\\xde\\x6e\\x59\\x71\\xc5\\xa8\\xc8\\x9c\\x05\\x47\\x02\\xd0\\x29\\x7c\\x6f\\x60\\xbe\\xfb\\x37\\xdf\\x39\\x95\\xd9\\x7d\\xf2\\xf9\\xae\\xdb\\x3e\\x64\\xd8\\xc8\\xe4\\x9e\\x8d\\xeb\\x1e\\xdb\\x63\\xf2\\x0b\\xc2\\xb6\\x46\\xe1\\xdb\\xb5\\x9b\\x7a\\xa6\\x06\\x7b\\x26\\x5c\\x37\\x6e\\xc3\\xe5\\x99\\xab\\x57\\xb2\\x3d\\x34\\xc6\\x4b\\x08\\x27\\x54\\x1e\\x6e\\x13\\x48\\x81\\x46\\xd0\\x0a\\xd6\\x66\\x3a\\x41\\x65\\x65\\x28\\xdc\\xe2\\xf7\\x97\\xa5\\xb5\\x3a\\x5d\\x3a\\xcc\\xd6\\x3a\\xcc\\xb5\\xe6\\xe1\\x0d\\x65\\xbe\\x96\\x96\\x48\\x59\\x64\\x18\\x5b\\x9f\\xec\\xcd\\xd6\\x9b\\x1a\\xd3\\x95\\x7e\\x74\\xa3\\xba\\x16\\x19\\xe4\\xa0\\xad\\xda\\xea\\x8e\\xb1\\xb1\\xf9\\xd9\\x26\\x95\\x0a\\xa9\\x9c\\x51\\xcb\\x9a\\x41\\xfb\\x6f\\x45\\x3f\\x26\\xea\\x57\\xfa\\x35\\x7a\\x3c\\x6d\\x3a\\x9d\\x16\\xe3\\x40\\xc9\\xf0\\xd0\\x90\\x54\\x5c\\x55\\x91\\xa7\\x1f\\x90\\x38\\x13\\x57\\x53\\xb3\\x2d\\xad\\x46\\x3d\\xe2\\x81\\xf4\\xd8\\x7b\\x12\\x93\\xa0\\x38\\x25\\x8c\\xa2\\x77\\x39\\x86\\xa2\\xe7\\xe1\\x87\\x61\\xa3\\x1a\\xd9\\xa0\\x66\\xd8\\x79\\xf6\\x63\\x99\\xb1\\x97\\x07\\x22\\xe9\\xcb\\xba\\x17\\x5e\\xda\\x76\\xec\\x4a\\x61\\xfa\\x2d\\x5b\\xca\\x67\\x9d\\x7f\\xab\\x70\\xf3\\xc5\\xdd\\x90\\x99\\x3e\\x7d\\xe6\\xf5\\xb7\\x0a\\x33\\xae\\xb8\\x02\\xda\\xe0\\x6d\\xd5\\xaf\\xa8\\x78\\x17\\xdb\\x97\\x18\\xd6\\xd0\\xea\\xb0\\xc3\\xc0\\xf7\\x61\\xe1\\x4b\\x7c\\xd0\\x6a\\x8d\\x87\\x99\\xb9\\xdd\\xd8\\x2f\\xa8\\x3c\\x35\\xc2\\x09\\xe6\\x4a\\x58\\x3f\\x35\\x1b\\xe8\\xf7\\xe0\\xcf\\xd9\\x90\\xa7\\xe6\\xe4\\x86\\xf9\\x8b\\x99\\x2f\\x6d\\xa5\\x2d\\x68\\x96\\x88\\x4f\\x61\\xe4\\x9f\\x40\\xba\\x58\\x0e\\x2a\\x91\\x25\\xaf\\x43\\xb6\\xfc\\xf6\\x4c\\x0f\\x17\\xab\\x65\\x3d\\xa0\\xcc\\xc3\\x96\\x3a\\xab\\xeb\\x59\\xb5\\xd9\\xae\\x66\\x0d\\xa5\\x86\\x86\\x46\\xbb\\x3b\\xc5\\x86\\xc2\\xc8\\x91\\x59\\x62\\x55\\x6c\\xd8\\x5c\\x59\\xc3\\x46\\xcb\\x91\\x65\\xe2\\x8d\\xb5\\x48\\x0e\\x93\\xe5\\xe5\\xc9\\x30\\xeb\\x67\\x3d\\xa5\\xfe\\xd2\\xde\\x6c\\xda\\xe9\\xb7\\x1a\\xd4\\x90\\x45\\x5e\\xae\\x0e\\x4d\\xde\\xe4\\x25\\x0c\\xe9\\xd4\\x5a\\x2c\\x34\\x48\\x31\\x93\\x16\\x17\\x7e\\x4b\\x16\\xa7\\xe8\\x35\\xff\\x4c\\x80\\xf4\\x64\\x80\\x8d\\x74\\x8e\\x74\\x92\\x2f\\x92\\x25\\x07\\x99\\x74\\xc1\\xb0\\xd8\\x75\\x48\\xec\\x90\\xd6\\xc2\\x70\\x3c\\xcc\\xa7\\x1b\\xc3\\xe5\\x69\\x16\\x46\\x5c\\x7f\\xd9\\x0e\\xef\\x85\\x13\\xe0\\xc2\\x1c\\x7c\\x63\\xfb\\x4b\\xe8\\x67\\x9e\\xb0\\x5d\\xf0\\xe4\\x84\\xe6\\xed\\xcf\\x3c\\xf3\\x0c\\x0c\\xc1\\x9d\\xb7\\x08\\x9f\\x30\\x77\\x6f\\x16\\xde\\xed\\xff\\xfe\\xcb\\x2f\\xd9\\xf4\\xc2\\x85\\x6c\\x2f\\xbc\\x0d\\xa9\\x6f\\x19\\xfe\\xdb\\xe8\\x15\\x96\\xf6\\x1c\\xe8\\x11\\x2c\\xf0\\xa8\\x30\\x0f\\xeb\\x36\\xdc\\x8c\\xdf\\x1e\\x3a\\x70\\xe0\\x40\\x0f\\x3c\\xa7\\xbf\\xf5\\x2e\\x7c\\x34\\x6b\\xf5\\xc0\\x57\\xea\\xf3\\xc8\\xbc\\xc5\\x83\\x7a\\x2d\\x0b\\xde\\xcf\\x5c\\xc9\\x97\\x94\\x00\\x6d\\xb4\\xa2\\x22\\x1c\\x98\\xd6\\xd2\\xd9\\x19\\xd0\\xb2\\xb6\\xf6\\x09\\xf5\\xb6\\xfa\\x73\\x67\\x81\\x59\\xa1\\x59\\x4c\\x09\\x3b\\xad\\x7d\\x5c\\x43\\xc3\\x88\\xc9\\xd9\\x19\\x2d\\xd0\\xd1\\x02\\x59\\xd0\\x02\\x75\\x7c\\x4b\\x83\\xd3\\x9b\\xe8\\xcb\\x7a\\x9d\\xe3\\xa6\\x4c\\xce\\x7a\\x26\\x8c\\x9b\\x90\\x9d\\xc0\\xb2\\xa6\\x09\\x50\\xa7\\x9a\\x30\\x6e\\x5c\\x34\\x1e\\x8c\\x06\\x27\\x67\\x23\\xd1\\x4c\\x38\\x6a\\xe4\\xfb\\xb2\\x51\\x63\\xd4\\x68\\x76\\x3a\\xb9\\xbe\\xac\\xd3\\x8e\\x42\\x0a\\xd6\\x56\\x62\\x2e\\xe9\\xcd\\x9a\\xad\\xb2\\xd5\\xcb\\x27\\x46\\xa8\\x0a\\x1f\\xa4\\x26\\xcf\\x9d\\x4c\\xd3\\xb3\\x94\\xc5\\x03\\x3d\\xe8\\x3b\\xd1\\x3a\\xc2\\x5e\\xf1\\xa8\\x60\\x71\\x69\\xb0\\x50\\x8a\\x1b\\x48\\x2c\\x91\\x6a\\x6a\\xb6\\xab\\x12\\x30\\x2f\\xaa\\x29\\xa7\\x0d\\xc5\\x96\\x16\\x1c\\xbe\\xa5\\xc9\\x68\\x48\\xc1\\x2d\\x4d\\xc0\\xa0\\x50\\xce\\xe5\\xa4\\x33\\xc4\\x24\\xac\\x85\\xc4\\x26\\xe0\\xd8\\x1c\\x79\\x19\\x12\\xa9\\xa0\\xf9\\x23\\xf3\\xdd\\x86\\x3d\\xb1\\xea\\xc7\\x1f\\x7a\\xf1\\xe8\\xdf\\x66\\x3d\\xd9\\xdf\\xbf\\xf9\\x7e\\xb8\\xe5\\xd8\\x37\\xbf\\x9e\\x3e\\x75\\xce\\x9c\\xf3\\xdb\\x1f\\x79\\x24\\x19\\xab\\x1d\\x13\\xb9\\x84\\xd9\\x73\\xeb\\xb5\\x23\\x1e\\xac\\xa8\\x89\\xb7\\xcd\\xcd\\x74\\xb6\\xb6\\x8d\\x5d\\xd4\\xb3\\xfe\\x27\\xd3\\xd7\\x24\\xab\\x6c\\xe3\\x62\\x4d\\xc3\\xbb\\x56\\xcc\\xed\\x63\\x77\\x3d\\xb2\\xbe\\xff\\x86\\x0d\\xbb\\xde\\x7e\\x4f\\x18\\x8d\\x07\\x0a\\x9f\\xd2\\xfc\\xca\\x0f\\x4b\\x96\\x9d\\x0f\\x1f\\x8e\\xc4\\x9f\\x79\\x66\\xbc\\x70\\xde\\xa8\\xd1\\xe6\\x66\\x4f\\xe9\\xa1\\x4b\\x97\\x7b\\x4c\\x6f\\x5d\\xd2\\x31\\xbc\\xa5\\x6a\\x98\\xd3\\x15\\xfd\\xd1\\xf8\\xec\\xf9\\xc1\\x5f\\x5d\\xec\\x72\\x37\\xd5\\x44\\x93\\xf1\\xd0\\x85\\xe4\\xbb\\x44\\x03\\x5f\\x69\\x6e\\x24\\xb9\\xe0\\x46\\x92\\x0b\\x9e\\xc1\\x3f\\x85\\x9f\\x8d\\xcd\\x31\\x5b\\xca\\x61\\x39\\x49\\xc3\\x99\\xba\\xca\\x21\\x3e\\xf4\\x0a\\x90\\xf5\\x19\\x72\\x8e\\x12\\x1a\\xff\\x38\\xb2\\xee\\x49\\xa4\\x35\\x4d\\xc8\\xfa\\x8c\\x00\\x37\\x67\\xba\\x7c\\xce\\xb2\\xb8\\x33\\xde\\x36\\x32\\x5e\\x56\\xe6\\x1b\\x51\\x5a\\xea\\xf4\\xb9\\x7d\\xbd\\xd9\\xd6\\x26\\xbd\\xda\\x64\\x46\\x2e\\xab\\xae\\xba\\x82\\x33\\x23\\x9b\\xcb\\xda\\xec\\xb6\\xde\\xec\\xb0\\x90\\x1f\\xd8\\xcd\\x66\\x68\\xb6\\xc3\\xa4\\x1d\\xfd\\x35\\xdb\\x8d\\x51\\x37\\xdb\\xdc\\xd0\\xa0\\x35\\xda\\x68\\x20\\xdd\\x4e\\xd3\\x1b\\x73\\x96\\x2e\\x25\\x59\\x2e\\xd1\\x06\\x29\\x5f\\xd3\\x2c\\x01\\xfd\\xcd\\x07\\xff\\x68\\x58\\x22\\xd8\\xe0\\xb2\\x11\\x96\\xfc\\x6f\\x0c\\x63\\xeb\\xcc\\x12\\x15\\xb2\\x85\\x6d\\x69\\xf4\\x9f\\xbc\\x86\\xe9\\x66\\xa4\\x35\\xf8\\x7f\\x3c\\x02\\x9b\\x23\\x7c\\x73\\x04\\xa6\\xe3\\xaa\\x5b\\xdf\\xf9\\xc7\\x58\\x98\\x12\\x76\\xef\\x6e\\x7c\\x4d\\x78\\xfb\\xcd\\xc6\\xa7\\x85\\x5f\\xc0\\x74\\xe7\\x3f\\xde\\x59\\x7b\\x39\\x03\\xf6\\xdf\\x08\\x6f\\xbd\\xa7\\xe6\\x36\\xb8\\x72\\xf5\\x3b\\xf0\\x97\\x97\\xff\\x60\\x7e\\x71\\xb2\\xb0\\x93\\xad\\xd9\\x33\\x4a\\x78\\x51\\xb8\\xf3\\x9b\\x89\\x33\\x84\\x8f\\xc6\\x5e\\xcb\\xd6\\xb6\\x5e\\x2d\\xdc\\xeb\\xd2\\xb3\\xbd\\x48\\x6d\\xfa\\xbf\\x61\\x4a\\xf0\\x7f\\xf4\\x52\\xd2\\x2d\\xb8\\x5a\\x58\\x4d\\x5f\\xf7\\x4f\\x3d\\x80\\x7f\\x84\\xba\\xdd\\xbb\\x77\\xc3\\x25\\xa5\\x78\\x9e\\x73\\xfd\\xc0\\xa7\\xdc\\x4c\\xee\\x56\\x34\\x2b\\xec\\x02\\xd3\\x33\\x2e\\x0f\\x88\\xd6\\x58\\xd5\\x8d\\xa3\\x46\\xa9\\x6b\\x00\\x37\\x7e\\x5c\\x49\\xc9\\x98\\xaa\\x2a\\x76\\xcc\\x88\\x51\\x46\\x38\\x1f\\x8c\\x01\\x29\\x78\\x01\\x52\\xbd\\x31\\xb0\\x17\\xa7\\x29\\xc9\\x6b\\x16\\xce\\xcb\\x1f\\x5c\\x83\\xc4\\x3a\\x69\\x41\\xff\\xf2\\xab\\xa6\\xa4\\x6b\\xcc\\x6c\\xb8\\x0c\\x09\\xa5\\x05\\x4d\\xcc\\xc5\\x93\\xae\\x91\\xf4\\x86\\x53\\xd6\\xc6\\x86\\x24\\x6c\\xc0\\x9f\\xb8\\x9c\\x68\\x02\\x6f\\x82\\x64\\xf6\\x8e\\x8d\\x74\\xb8\\x8c\\x71\\xd8\\x83\\xd0\\x4e\\xe6\\x6e\\xf1\\x98\\xc5\\x6c\\x0b\\xe3\\x73\\x6d\\xb8\\x99\\xdb\\x84\\xf5\\x53\\x6b\\xcc\\x46\\xbb\\xcd\\xa9\\xd1\\xb2\\xae\\x7a\\xa8\\x99\\x31\\x5a\\xa3\\x6d\\xb4\\xa8\\xcc\\xac\\x55\\x78\\x4b\\x6f\\x77\\x5a\\x74\\x5a\\xde\\x59\\x27\\x7c\\x3b\\x65\\xac\\x99\\x35\\x36\\xe9\\xb5\\x68\\xa6\\xbd\\x0d\\x5e\\x3e\\x21\\x69\\x66\\x76\\x09\\x6b\\x84\\x03\\xd6\\xea\\xe1\\x4c\\x02\\x29\\x95\\xc3\\x6e\\xf2\\x0a\\x91\\xf6\\x00\\xb4\\x7f\\xf6\\xc0\\xe5\\x37\\xd8\\x47\\x18\\xbc\\x5b\\xfb\\xbf\\xb7\\xb9\\xec\\x6e\\x9b\\xd9\\x03\\x3f\\x1d\\xe5\\x17\\xbe\\xf8\\xfd\\xb3\\x8f\\x35\\x19\\x9c\\x23\\xcc\\xfa\\x17\\xa1\\x1a\\x5e\\x05\\x1b\\xcc\\x89\\x11\\xf8\\x5c\\x03\\xe1\\x3b\\xce\\xcf\\xdf\\x8a\\x64\\x76\\xb4\\x01\\xef\\xef\\xfc\\xae\\x81\\xe6\\x00\\x82\\x03\\x5f\\xe1\\x33\\x6e\\x91\\x5d\\xda\\x92\\xf1\\x7b\\x4c\\x76\\x10\\xb7\\xb3\\xd5\\xea\\x70\\x75\\xb8\\x3e\\x65\\xad\\x05\\xc8\\xe5\\x79\\xe2\\x55\\x71\\x64\\x40\\xaa\\x70\\xc4\\x30\\x4a\\x6b\\xe8\\x32\\x55\\x41\\x4d\\x55\\xc6\\x24\\x7d\\x87\\x12\\xb0\\xd1\\xa8\\x1f\\x4d\\x4a\\x42\\x50\\xcb\\x86\\x42\\x51\\x1b\\x8b\\x62\\x32\\xa0\\x31\\x6b\\x18\\x8d\\x86\\xe5\\x32\\x29\\x88\\xfa\\xfd\\xb3\\x14\\xdc\\x92\\x82\\x7d\\x29\\x88\\xde\\x8a\\x8b\\xe0\\x28\\x94\\x98\\x43\\x57\\x11\\xa5\\xc8\\x8b\\x64\\x4a\\xd2\\xde\\x83\\xe8\\x6d\\xaa\\x70\\x2a\\x23\\x3e\\x8b\\x80\\x6c\\xbb\\x15\\xa0\\x11\\xc0\\x93\\x18\\x62\\x1b\\xb0\\xc8\\x22\\x03\\x81\\xa3\\x06\\x92\\x62\\x12\\xe3\\x75\\x20\\x86\\x16\\xcd\\x91\\xc6\\xdb\\x82\\x10\\xbc\\x3b\\xfe\\xbe\\xf3\\xb9\\x0e\\x7b\\xcd\\x8a\\x11\\xb7\\xdf\\x6b\\x85\\x73\\x85\\x4d\\x0c\\x83\\xa6\\x2c\\x5b\\xed\\x9b\\x57\\x4f\\xbc\\x36\\xe6\\x19\\xc3\\x3d\\x96\\x7b\\x5b\\xe8\\x0f\\x2e\\x59\\xc4\\x30\\x8b\\xd8\\x36\\x68\\x84\\x8c\\xa3\\xf4\\xe4\\x0d\\x89\\xe4\\xa7\\x9f\\x4d\\xe9\\x70\\xb5\\x58\\x7a\\x0e\\x7d\\xd4\\x52\\xb3\\x59\\xf8\\xba\\x1d\\x96\\x9c\\xec\\x69\\xb4\\x76\\xba\\xa6\\xe0\\x3e\\x2b\\xc3\\xe7\\x73\\x23\\x7d\\x8e\\x80\\x3b\\x33\\x53\\x39\\xb5\\xc6\\xc8\\xb2\\x4c\\xd0\\x64\\x72\\x87\\x19\\x3d\\x63\\xd7\\xd8\\x35\\xd1\\x72\\x26\\x1c\\x2e\\xf5\\xf8\\x3c\\xbd\\xd9\\x92\\x60\\x10\\xcd\\xbb\\x9d\\x2e\\x67\\x6f\\x96\\x6b\\x77\\x4d\\x76\\x31\\x26\\x57\\xbb\\xeb\\x52\\xd7\\x2a\\xd7\\x4e\\x17\\xaf\\x61\\x5d\\x19\\x87\\xa7\\xcb\\xe5\\xb2\\x46\\x7c\\xac\\xc6\\x64\\xb2\\x5b\\x91\\xa5\\xb6\\x5a\\xf5\\xc8\\x46\\xb7\\x8b\\xc6\\x98\\xcc\\x40\\xc9\\x31\\xed\\x79\\xdd\\x95\\x5e\\x28\\x4e\\x57\\x4a\\xd1\\x3c\\x97\\x18\\x9f\\xaa\\x21\\xee\\x13\\x1c\\x44\\xc0\\x88\\x3a\\xef\\xf7\\x24\\x9f\\x08\\xe3\\x8d\\xfc\\xb8\\x07\\x84\\xa6\\x69\\xf0\\x6b\\xa1\\x07\\x3e\\x7e\\x87\\xf0\\xac\\x10\\xb8\\x64\\xe9\\xde\\xfe\\x77\\xb7\\xef\\xdf\\x8f\\xcf\\xb7\\x9f\\xc8\\x34\\xde\\xc0\\xb7\\x21\\xe5\\xcb\\x2c\\xee\\xe9\\xff\\xcc\\xd7\\xc8\\x2c\\x99\\x25\\x0c\\xc7\\x16\\x93\\x09\\xf5\\x30\\xd5\\x44\\x15\\xdf\\xc3\\x57\\x2a\\x3f\\xe4\\x6c\\x4b\\xd4\\x17\\x51\\xb0\\x34\\x33\\xa2\\xd4\\x5b\\x56\\xa6\\x43\\xb3\\x23\\xc6\\xcc\\x96\\xc7\\x90\\xb1\\xb2\\x78\\xdc\\x06\\x8b\\xa1\\x2f\\xab\\x62\\xc3\\xa5\\x3a\\x75\\xc0\\xeb\\x0d\\xaa\\x4b\\x35\\xac\\xca\\xc7\\xa1\\x5f\\x60\\xb1\\x94\\xf4\\xa1\\xb0\\xbc\\x8c\\x01\\x0c\\x12\\x99\\xbc\\x63\\x92\\xfc\\x92\\x62\\xba\\x96\\xb7\\x5b\\x54\\x3d\\xc5\\x07\\xb9\\x71\\xc3\\xd4\\x28\\x0c\\x57\\xe3\\x06\\xe2\\xfc\\x0d\\x4e\\x53\\x23\\xe1\\x40\\xde\\xa7\\xd9\\xa1\\x76\\x34\\xe3\\xb3\\xfc\\x1d\\x70\\xf8\\xfb\\xdf\\xa3\\x9f\\x74\\xff\\x1c\\xdf\\x18\\x6e\\x63\\x87\\xaf\\xf4\\x37\\x3f\\xae\\xff\\x37\\xfa\\x79\\x1f\\xf9\\xea\\xbb\\x2f\\xee\\xb9\\xf8\\xf6\\x8b\\x7b\\x16\\xc3\\xb7\\xed\\xef\\xc0\\xe1\\xc2\\xfe\\x77\\xd4\\x7a\\xe1\\xc6\\xc5\\x3d\\x8b\\x6f\\x5f\\xdc\\x73\\x91\\xe0\\xf6\\x35\\xa2\\x98\\xa7\\x52\\xb8\\x50\\xfd\\x35\\xff\\x5b\\x54\\xbf\\x61\\xa0\\x13\\xcc\\x00\\xbd\\xe0\\xba\\xcc\\x59\\xae\\x89\\x13\\xcf\\x89\\xa4\\xe3\\x1a\\x6d\\xf3\\x34\\x23\\x3f\\x6a\\xd4\\x34\\x6d\\x3c\\xc2\\x83\\xd9\\x81\\xe1\\x00\\x04\\xe6\\xf5\\x75\\x77\\xcc\\xf5\\xce\\xed\\xcd\\xc6\\xcf\\x4a\\x9f\\xd5\\x9b\\xad\\x49\\x9b\\x47\\xf6\\x65\\x43\\x59\\x14\\xf8\\x4c\\x8c\\xb0\\x21\\x6f\\xda\\x1c\\x0a\\x99\\xd3\\x6c\\x9d\\x4d\\xcb\\x7a\\x51\\x93\\xd3\\xaf\\xa5\\xf7\\xb9\\x5a\\x71\\x68\\x83\\x5a\\x2b\\x4f\\xe1\\x95\\xc9\\x5c\\x8b\\xec\\x69\\x2d\\x05\\x0f\\x11\\xa2\\x89\\x29\\xab\\x52\\x47\\x46\\xc2\\x66\\x1b\\x31\\x4c\\x10\\x99\\xa9\\x38\\x4d\\x18\\xd1\\xa8\\xba\\xd9\\x0b\\x9b\\x51\\x20\\xdd\\xd8\\x54\\xde\\xdc\\xd4\\xec\\xc2\\x39\\x46\\xab\\xc3\\xce\\x70\\x50\\xb9\\x06\\x5f\\xc2\\xa8\\x19\\x35\\x51\\x1e\\x64\\xd0\\x18\\x48\\xef\\xa4\\x53\\xea\\xaf\\x77\\xae\\x5f\\x3c\\xa3\\x25\\x56\\xfa\\x94\\x2f\\xa5\\x5d\\x1a\\x7d\\xe0\\x9a\\xeb\\x1e\\xfb\\xa1\\xa1\\xb3\\xef\\x92\\xf6\\xd8\\xaa\\x09\\x33\\xe7\\x9c\\xd7\\x1d\\x9b\\x11\\x08\\xb5\\xdd\\x34\\x73\\xdd\\x97\\x4d\\xbf\\x84\\x75\\xb1\\x89\\xd7\\xd6\\x8d\\xef\\xbe\\xff\\xf0\\xd5\\x9b\\x85\\x7f\\xb1\\xeb\\xa7\\x77\\x4d\\x98\\x3d\\xf3\\xac\\x71\\x73\\x7e\\x18\\xa8\\x1e\\x37\\x32\\x35\\x36\\xdd\\x7a\\xd3\\xd4\\xcb\\xf7\\xff\\xe4\\xd5\\xfe\\xf3\\x33\\xe3\\x12\\x6d\\x0b\\x2f\\x85\\x4d\\xeb\\xb7\\x4f\\x14\\x84\\x87\\xda\\x5a\\x37\\xc5\\xe0\\xbe\\x7b\\x7e\\xba\\x41\\x98\\xe2\\x6d\\x49\\x8d\\xec\\x3c\\x7b\\xdc\\xc8\\x6e\\x87\\x65\\x13\\xec\\x86\\xab\\xce\\xd3\\x24\\xfd\\xc3\\xa6\\x32\\xe5\\x13\\x7b\\xdc\\x63\\x2e\\xe4\\xee\\x14\\xbe\\x7d\\xe4\\x25\\x61\\xd7\\x33\\xb0\\x74\\xde\\xd2\\xcb\\xe6\\xce\\xbb\\xec\\xc7\\x9c\\x71\\xcc\\xf6\\x97\\x0f\\x0a\\x7f\\x58\\x52\\x93\\x79\\x1c\\x8e\\xdc\\xf1\\x27\\x68\\xfc\\xe1\\x68\\x2c\\x96\\x98\\x8e\\xfd\\x41\\x99\\x30\\x9e\\x7d\\x1d\\xd9\\x32\\x7c\\x5e\\xf8\\xb4\\x4c\\x75\\xc4\\x19\\x37\\xd5\\x68\\x59\\xad\\xc9\\xc9\\xa5\\xea\\xfd\\xc0\\x43\\xb2\\x2a\\x3e\\x18\\x53\\xb1\\xd6\\xa4\\x81\\xe3\\x58\\x83\\xa1\\xaa\\x2f\\x6b\\xe0\\x58\\x2b\\x8f\\x4f\\x30\\x4b\\xb5\\x4b\\x29\\x5b\\xa4\\x46\\x78\\x22\\xdc\\x2e\\x1d\\x62\\x96\\x7f\\x8c\\x86\\xd7\\xc3\\x08\\x44\\x14\\xc4\\x2f\\xb2\\xa2\\xfe\\x54\\x97\\x32\\x24\\x75\\xab\\x88\\x62\\xe2\\x36\\xb1\\x8b\\x6d\\x56\\xb8\\x6f\\xef\\xa6\\x0e\\xa8\\x7d\\xf1\\xe6\\x8b\\xa6\\x6e\\xf9\\xe9\\xf9\\x17\\x4d\\xbb\\xf0\\xbc\\xb3\\xe3\\xbb\\x7e\\x3a\\x61\\x4c\\x7d\\x4d\\x59\\x5d\\xa6\\xb3\\xeb\\x9c\\x7d\\x1d\\x23\\x3a\\xce\\xbe\\xe6\\x0e\\x17\\x6c\\x11\\x3e\\x85\\x7f\\x15\\xde\\x84\\x25\\x1f\\x40\\x76\\xde\\x43\\xbb\\xae\\x5e\\x3c\\x59\\xf8\\xee\\xc3\\x8f\\x0e\\x3c\\x35\\xfd\\xc6\\xa7\\x6d\\x07\\xaf\\x72\\x2c\\x9c\\xf3\\x63\\xe1\\x17\\xcc\\xeb\\xe3\\x66\\x2d\\x5e\\xb0\\x43\\x18\\x80\\xed\\x28\\xa6\\x44\\x36\\x88\\x9b\\x8d\\xf4\\x2e\\x04\\xf0\\xb7\\x39\\x53\\x60\\x53\\xa6\\x2f\\x1a\\x4f\\xb1\\x50\\x57\\x02\\x59\\x55\\x5d\\x45\\xd8\\x1e\\x08\\xb3\\x6e\\x95\\xbb\\x21\\x9d\\x42\\x93\\xe3\\xfa\\x80\\x46\\xab\\xe9\\xcd\\x46\\xbd\\xda\\x88\\x8b\\xcc\\x9a\\xe3\\x76\\x63\\x77\\xaa\\x2f\\xc5\\x24\\xb5\\xed\\xda\\xc9\\xda\\x9d\\xda\\x97\\xb5\\x3c\\x30\\x9a\\x8d\\xc8\\xa0\\xa7\\xb4\\x46\\xa3\\x36\\xc5\\x72\\x16\\x4b\\x35\\xd2\\x4e\\x32\\x71\\x86\\x2a\\x4e\\x85\\xcc\\x57\\x61\\xe8\\x48\\x23\\x72\\xf2\\x14\\x81\\x45\\x0e\\x2c\\xe8\\x35\\xff\\xac\\x6e\\x5a\\x8e\\xcb\\x61\\x41\\xfc\\x9d\\x6e\\x44\\xb6\\x28\\x84\\xa7\\x7a\\x2e\\xbb\\x9a\\x4c\\xf8\\x22\\x30\\x8e\\x6c\\x56\\x53\\x79\\x18\\x6b\\xaf\\x0d\\xc5\\x90\\x61\\x07\\x7c\\xec\\xfd\\xfe\\x37\\x37\\xef\\x47\\x3f\\xdb\\xe1\\xf7\\x70\\xdd\\xc4\\xc9\\x23\\x59\\xd5\\xa8\\xe9\\xd5\\x7f\\xcd\\x41\\x1f\\x2b\\x4c\\x81\\x4f\\xf2\\xc2\\x24\\xb8\\xd9\\x7f\\xef\\xba\\xf9\\x17\\xac\\xb9\\x23\\x20\\x2c\\x64\\x4a\\x68\\x5c\\xc7\\xbc\\xd4\\x73\\x4b\\xcf\\x2e\\x6f\\xe3\\x40\\xcf\\xb0\\xaa\\x8a\\x9e\\x55\\xd7\\xc2\\xad\\x23\\x6e\\xa9\\xdb\\x31\\xbd\\xbb\\xff\\x86\\x19\\xdd\\x8f\\xd2\\x7c\\xf2\\xb4\\x81\\x05\\xfc\\x4d\\xfc\\x9b\\xa8\\xef\\xe2\\x38\\x93\\x12\\xb6\\x6a\\x83\\xc1\\xa8\\x2a\\x14\\x62\\x1d\\x06\\x3f\\xeb\\xaf\\xa8\\xf4\\x39\\xdd\\xc8\\x5e\\xbb\\xdd\\xaa\\x50\\xa6\\xd4\\x66\\x29\\x57\\x95\\xf7\\x66\\xb5\\xea\\x8c\\x8a\\xb3\\x46\\x01\\x9a\\xc1\\x90\\xe3\\xee\\x48\\x47\\x78\\x0f\\xa6\\xa5\\x17\\xd8\\x4c\\x2b\\x92\\x05\\x56\\xc9\\x48\\xe1\\x04\\x66\\x14\\xa7\\x4e\\xca\\x1b\\xd3\\x0e\\x32\\xd5\\x45\\x6a\\x6a\\x41\\x5a\\x2b\\x5a\\x63\\x4e\\xed\\x88\\x40\\xb3\\xd5\\x65\\x51\\x31\\xcc\\xef\\x85\\xb7\\x84\\x1d\\xf0\\x2c\\x38\\xa2\\xe7\\xd3\\x0f\\xc7\\xf8\\x46\\xe7\\x16\\xf4\\x3c\\x54\\xb1\\x1d\\x1e\\xbd\\x5e\\xf8\\xfe\\xfd\\x1e\\x61\\xd2\\x1f\\xff\\xf0\\xf9\\x3b\\x36\\x03\\xec\\x85\\xcd\\xb0\\x07\\xce\\x31\\xae\\x5e\\xc5\\xb5\\x08\\x9f\\x3d\\x5a\\xdb\\xc0\\xfe\\x30\\x92\\xab\\x74\\xc1\\x95\\xde\\xa6\\x26\\xaf\\x30\\x61\\x1a\\xbf\\x96\\xad\\x11\\xfe\\x2e\\xbc\\x65\\xe2\\x5e\\xb6\\x0a\\xbf\\xa3\\xf3\\x5e\\x71\\xef\\x0b\\xe4\\xb1\\x23\\x48\\x5a\\x1e\\xce\\xcc\\x36\\x84\\x22\\x51\\x2e\\x66\\x34\\x5a\\x03\\x00\\x72\\x1c\\xef\\xf7\\xc7\\xbc\\x2e\\xa7\\x8d\\xb3\\xfa\\x7c\\xfa\\x70\\x59\\x39\\x17\\xd3\\xe9\\x62\\x56\\xde\\xca\\xc7\\x2b\\x0c\\x9c\\xdd\\x81\\x9c\\x52\\x08\\x3a\\x22\\xc0\\xed\\x71\\x23\\x11\\x0a\\x78\\x4c\\x9e\\xa0\\xa7\\xdd\\x33\\xd9\\xc3\\x69\\x59\\x87\\xc7\\xe1\\x31\\xc7\\x7c\\x1c\\xaf\\xd3\\x59\\x91\\xf8\\xf4\\x66\\x35\\x78\\x82\\x21\\x49\\x83\\x5b\\x0c\\x48\\xf1\\xa4\\xa1\\x48\\x44\\xf2\\xce\\x0b\\x59\\xb7\\x94\\x98\\x25\\x90\\xff\\x22\\x71\\xc1\\xb2\\x61\\x23\\x22\\x83\\x62\\x52\\x72\\xb5\\x21\\xb1\\x69\\x46\\xb1\\x29\\x8e\\x47\\x1d\\x3c\\x9a\\xc0\\x35\\x87\\x59\\xae\\xaa\\xed\\xef\\x07\\xd6\\x3e\\xd1\\xff\\x46\\xee\\xba\\xfe\\xbf\\x5d\\x9f\\x13\\xce\\xba\\xe3\\x86\\x5f\\xbc\\x35\\x42\\xf8\\x17\\xac\\x7c\\xf7\\xa5\\x3f\\xc0\\xce\\x93\\x17\\xc2\\x8f\\x5b\\x85\\xfb\\x4a\\x61\\xed\\xbd\\xcc\\x53\\x0f\\xf7\\x08\\x77\\x92\\x09\\xda\\x25\\xd2\\xb5\\xe7\\xe1\\x1e\\x66\\x4c\\xff\\x8b\\x3d\\x0f\\x3f\\xdc\\x03\\x1f\\xc3\\xbe\\x0c\\xcd\\xd3\\xb8\\x06\\x64\\x3f\\x1a\\xc1\\x4d\\x99\\x09\\x2a\\xfc\\xdd\\xc1\\x7a\\x8d\\xc6\\xe3\\x2f\\x0d\\x73\\x51\\x57\\xb4\\xbe\\xde\\x9c\\x70\\x71\\x4d\\xcd\\x2a\\xaf\\xcf\\xdb\\x9b\\x65\\x7d\\x20\\x18\\x0a\\xa2\\xa9\\x6b\\x48\\x63\\xf7\\x45\\x43\\xb5\\xa6\\x50\\x30\\x94\\x0c\\xb1\\x5a\\xd6\\x17\\xf2\\x85\\xec\\x89\\xda\\x5a\\x14\\x33\\xd5\\x72\\x26\\xbb\\x5d\\xdf\\x9b\\xb5\\xdb\\x94\\xa9\\x26\\xab\\x94\\x64\\xa2\\x0b\\x40\\x96\\xc2\\x54\\x93\\xd4\\x05\\x52\\x3f\\xa0\\xd0\\x92\\x86\\x39\\x62\\x46\\xd2\\x22\\x9a\\x78\\x14\\xdd\\xa4\\x9b\\x70\\x77\\x8c\\x84\\x24\\x21\\x8d\\x9d\\x9f\\xf8\\x6c\\x6f\\xda\\xc1\\x5e\\x36\\x65\\xcf\\x5c\\xa6\\xbc\\xbf\\xad\\xe7\\xc1\\x5b\\xce\\xf9\\x45\\x55\\x64\\xd4\\xb4\\x3f\\x5e\\xfc\\xf9\\x3f\\xcc\\xd9\\x95\\x6d\\xf7\\x09\\x3b\\x99\\xba\\x1f\\x2f\\xb8\\xef\\xc6\\x7b\\x17\\x46\\x46\\xbd\\xb4\\xf5\\xbd\\x7f\\x56\\x5d\\xc3\\xfc\\xb3\\x6b\\x58\\xb8\\x67\\xec\\xc5\\xd7\\xdc\\xd6\\x59\\xff\\xb4\\xf0\\x9b\\x70\\xec\\x83\\x57\\xc6\\x34\\xf5\\xcc\\x1b\\xdd\\x53\\x7d\\xc9\\xa4\\xbe\\x8b\\xc7\\x6f\\x83\\xae\\xc4\\x9e\\x2d\\x17\\x8e\\xef\\xa1\\x7a\\xc3\\x1d\\x41\\x7a\\x13\\x40\\xde\\x7e\\x72\\x26\\x5e\\x6a\\xd5\\xfa\\xfd\\x61\\x55\\x20\\xc0\\x1a\\x5c\\xac\\xab\\x3c\\x66\\x29\\x53\\x95\\xf5\\x66\\x0d\\x54\\x55\\xc2\\x20\\xdc\\x9b\\x0d\\xf8\\x5c\\xc4\\xb4\\xa6\\x0e\\xca\\x0a\\xa3\\x0c\\xec\\x4e\\xa5\\x25\\x36\\x49\\x4b\\x70\\x48\\x87\\x7c\\x98\\x52\\x45\\x7e\\x2b\\xec\\x84\\x63\\xe1\\xc8\\x9e\\xdc\\xd7\\xaa\\xd1\\xa5\\xa3\\xb7\\x9f\\x7b\\x7e\\x0e\\x67\\x5c\\xbb\\x4f\\x2c\\x43\\x2a\\xf2\\xe9\\xbb\\x5f\\xbc\\x65\\x2b\\x81\\xf3\\x61\\x0a\\x4e\\x86\\xf3\\x0c\\xab\\x57\\xb1\\x75\\xc2\\x47\\x3b\\x2a\\x92\\x58\\x45\\xd2\\x35\\xaf\\x0b\\xfb\\xdd\\x51\\x06\\xab\\xc7\\xdf\\x84\\xb7\\x4a\\x88\\x7a\\x0c\\x0c\\x08\\x0b\\xd9\\xff\\x81\\x5b\\x54\\x1b\\xcc\\x6a\\x60\\x14\\x18\\x72\\x16\\x3b\\x07\\x2e\\x1e\\xf8\\x4a\\x35\\x82\\xef\\x41\\x9a\\xe3\\x07\\x15\\xa0\\x01\\x5c\\x89\\x3c\\xbe\\xd9\\x9f\\x8c\\x54\\xb2\\x11\\x3f\\xe4\\x74\\x01\\x5d\\xa0\\xb1\\x49\\xed\\xdd\\x93\\xe5\\x80\\xba\\x4e\\xdd\\xa7\\xbe\\x5d\\xcd\\xe9\\x58\\xb5\\x31\\x63\\xb4\\xef\\xc9\\x9a\\x8d\\x46\\x86\\x8b\\x55\\xef\\xc9\\x9a\\x62\\xed\\xb1\\x4b\\x63\\x9b\\x63\\xe8\\x56\\x2c\\x94\\x09\\xa5\\xf6\\x64\\x43\\x21\\xd2\\x17\\x49\\xb2\\xb3\\xc8\\x01\\xba\\xb3\\x08\\x4e\\x4e\\xcb\\xef\\x53\\x09\\x39\\x4f\\x2d\\x2f\\x7e\\xa0\\x29\\x16\\xcc\\x7b\\x75\\x3c\\x2f\\x96\\xdd\\x77\\xb3\\xf2\\xe9\\x51\\xe5\\xb2\\x0d\\x7c\\xea\\x12\\x36\\x77\\x69\\x7f\\xba\\xfc\\xca\\x11\\x4f\\x3c\\x91\\x7b\\x60\\xd6\\x65\\xf5\\xa5\\xad\\x5d\\xe7\\xce\\x5c\\x7c\\xd9\\xa5\\x63\\xd8\\x87\\x1e\\xdf\\xfc\\xc0\\x23\\x4f\\x3c\\xf0\\xb3\\x27\\x36\\x4e\\x99\\x75\\xee\\xf8\\x89\\xe7\\xcc\\x9a\\x62\\xe7\\x17\\xf6\\xff\\xc4\\x5d\\xfa\\xec\\xb6\\x87\\x77\\x3b\\x5e\\xbd\\x2c\\x7c\\xf3\\xba\\xdb\\xaf\\x74\\x09\\x93\\x1f\\xdb\\xfd\\x8b\\xc7\\x1f\\xdb\\xb9\\xfb\\x91\\xbb\\xaf\\xbd\\x72\\xe3\\xa6\\xab\\xd6\\x50\\xbb\\x79\\x25\\x9a\\x2b\\xcc\\xe6\\xa7\\xa2\\x5e\\x89\\xa1\\xf9\\x56\\x55\\xd4\\xeb\\x35\\x69\\x03\\x4e\\x86\\x65\\x9d\\x5a\\x36\\x5e\\x61\\x8a\\x1a\\x8d\\x3a\\x83\\xc7\\x13\\x8d\\xda\\x0c\\x06\\x60\\xb3\\x85\\xba\\xb3\\x36\\x4e\\x05\\xa6\\x64\\x19\\x15\\x7e\\x8c\\x3e\\xbf\\x24\\x6a\\x25\\x32\\x8e\\xd5\\x5e\\xe9\\x5d\\xe9\\x3a\\x54\\xaa\\x39\\x4d\\x9a\\xdb\\x06\\xf1\\x63\\xf4\\xcd\\x16\\xd9\\xcf\\xa2\\xa6\\x89\\x7e\\x15\\xc9\\x05\\x73\\xc9\\xcd\\xe1\\xb1\\xae\\x1b\\xae\\xb8\\xe6\\xce\\xc9\\x4b\\x2f\\x9a\\xbe\\x76\\xf5\\xa2\\x65\\x3f\\x7b\\xb4\\x6b\\xe3\\xc8\\xe6\\x96\\xe6\\xcb\\x2f\\x9d\\xf4\\xfe\\x83\\x1b\\x36\\x3f\\xb0\\x33\\x10\\x18\\x17\\x28\\x65\\xb4\\x77\\xfe\\xec\\xc1\\xdb\\x76\\x0c\\x80\\x59\\x27\\x16\\xae\\x60\\x7f\\xb7\\xf8\\xaa\\x0b\\xaf\\x10\\xce\\x3a\\xeb\\x3d\\x3c\\xc6\\x28\\x56\\x53\\x4f\\x25\\xcf\\xa0\\xd0\\xe7\\x4a\\x6e\\xcc\\x74\\x55\\x81\\x52\\xbd\\x96\\x2b\\xe5\\xdc\\x56\\x27\\x32\\x8d\\x30\\xea\\xb6\\xba\\xeb\\xea\\x0d\\x0e\\x2d\\x67\\x73\\xa0\\xf9\\xb7\\x53\\xe5\\x60\\x8d\\x56\\xb3\\xb5\\x37\\xeb\\xd2\\x9b\\xad\\x35\\xbe\\xb8\\x29\\x1c\\x0c\\x27\\xc3\\x58\\xe5\\x33\\x68\\x5a\\x14\\xf6\\x85\\x7d\\xac\\x83\\x45\\xcd\\x65\\x41\\x32\\x9f\\x5b\\xc1\\x93\\x1a\\x3c\\x33\\x97\\x53\\x83\\x05\\xd1\\xbb\\x14\\xd4\\x4a\\x09\\x66\\xd4\\x01\\x38\\x72\\xa7\\xae\\x21\\xa2\\xc8\\xa1\\xc0\\xf2\\x53\\x8c\\x35\\x9f\\x64\\x3c\\xfd\\x7f\\x11\\xbe\\xc7\\xb9\\xab\\x79\\xfd\\x41\\x9c\\xb5\\xda\\x0e\\xef\\x65\\x66\\xb2\\x55\\x77\\xaf\\xbd\\xf6\\xae\\x7b\\x6e\\xb8\\xe1\\xce\\x75\\x99\\x9e\\x71\\x99\\xcc\\xb8\\x9e\\xcc\\xc2\\x85\\xdc\\xd7\\x38\\x7a\\xff\\xc1\\xca\\xed\\xfd\\xe1\\x76\\x29\\x05\\x72\\xd2\\xb1\\xef\\x8e\\x0d\\x0f\\xdc\\x7e\\xfb\\x3d\\x1b\\xd7\\xae\\x58\\x71\\xe1\\xf5\\xd7\\x5f\\x4c\\x0e\\xad\\xe7\\xc0\\x4c\\x72\\xa6\\x6d\\x0f\\xc0\\xf3\\xbc\\x3a\\xd0\\x0a\\x2e\\xce\\x8c\\x30\\xd7\\xd7\\x34\\x85\\xc3\\xb1\\x98\\xbb\\x06\\x68\\x80\\x66\\xd8\\xf0\\x70\\x2c\\x1a\\x7b\\x23\\xdb\\x14\\x7a\\x23\\xdb\\x18\\xaf\\x8c\\xbf\\x91\\x05\\x95\\xe6\\x4a\\x14\\x41\\x44\\x9b\\x2a\\x2b\\x9b\\xa2\\xac\\x81\\x33\\xd8\\x5f\\xcf\\x1a\\x6c\\x9c\\xff\\xf5\\x2c\\xc7\\xe5\\xd7\\xc4\\xe5\\xc0\\x81\\x44\\xba\\x8a\\x15\\xab\\xd6\\xb4\\x28\\x09\\xf8\\x69\\x91\\x06\\x6b\\x34\\x9d\\xe2\\x48\\xc4\\x1a\\x29\\x8b\\x32\\xcd\\x76\\x2b\\x97\\x4e\\x45\\x71\\x94\\x1a\\x8d\\x94\\x71\\x0c\\xaf\\x4c\\x2f\\xe1\\x00\\xac\\x59\\x4a\\x3e\\xcd\\x7c\\x01\\xb6\\x3d\\xff\\x02\\xcc\\x3c\\xf7\\xb4\\xf0\\xf2\\x4b\\xcf\\x0b\\x7b\\x9f\\xed\\xfc\\x39\\x0c\\x3e\\xfa\\x73\\x18\\x7a\\xec\\x09\\xe1\\xd0\\xcf\\x7f\\x2e\\x7c\\xf6\\x08\\xe3\\x5f\\x26\\x3c\\xda\\x77\\x01\\x1c\\xbf\\x71\\xf3\\x43\\x1b\\x76\\xcc\\x58\\xde\\x3e\\x66\\xd1\\x2c\\x66\\xd3\\x8b\\x70\\xd4\\x9e\\x67\\x85\\x57\\x5e\\x7c\\x4e\\xf8\\xd5\\x2f\\x9f\\x85\\x99\\xe7\\x7f\\x2e\\x7c\\xfa\\xc8\\x23\\xa8\\xd4\\x63\\xb0\\x6c\\x1b\\x7a\\xfd\\xae\\xf0\\xa9\\x05\\x55\\x96\\xd9\\x65\\xae\\x5c\\xbe\\x68\\xf9\\x8f\\xff\\x96\\x1d\\x27\\xe4\\xf0\\xd1\\x76\\xa0\\x8f\\xf1\\xa8\\xaf\\x47\\x72\\x64\\x03\\xd5\\x70\\x46\\xe6\\xcb\\x90\\xcb\\xe5\\xf7\\x33\\xb1\\xb2\\x84\\xc6\\x62\\xd1\\x33\\x4c\\x6d\\x8d\\x39\\x50\\xce\\x72\\x5a\\xee\\x8d\\x6c\\xd8\\xe1\\x00\\x16\\x97\\x3f\\x96\\xe0\\xd1\\x84\\xe7\\x8d\\x6c\\xa5\\x37\\x04\\xba\\xc1\\x12\\xb0\\x05\\xf5\\xb5\\xd6\\x19\\x2c\\xab\\xe6\\xb4\\xe4\\x7b\\xba\\x6a\\x60\\x30\\x1b\\x98\\x12\\x83\\x41\\xad\\x65\\x7b\\x6b\\x61\\xa8\\x16\\x9a\\x6b\\xe1\\x5b\\xb5\\x70\\x57\\x2d\\xbc\\xbd\\x16\\xae\\xae\\x85\\xdd\\xb5\\x30\\x53\\x0b\\x93\\xb5\\xd0\\x54\\x0b\\x17\\xed\\x25\\x1f\\x5d\\x5a\\x0b\\x11\\x74\\x32\\xf9\\x34\\x58\\x0b\\xd1\\x87\\x9b\\x6b\\xe1\\x6d\\x8a\\xcf\\xdb\\xc9\\x2d\\x4a\\x05\\x7d\\xbe\\x84\\xd0\\x45\\xe5\\x87\\x7d\\x2a\\xbd\\x9f\\x4c\\x4a\\x0e\\x10\\xd0\\xcb\\xb5\\x70\\x27\\xf9\\x7c\\x15\\x29\\xdf\\x4e\\x3e\\xdc\\x49\\x88\\x2a\\x99\\x0f\\xf5\\x1d\\x9a\\xb9\\x43\\x7e\\xaf\\x66\\x6e\\xc1\\xd7\\xba\\xd2\\xe9\\xe4\\xdc\\x39\\xc9\\x39\\x28\\x2c\\x34\\x1f\\x98\\x93\\x4a\\xd1\\x4c\\x2e\\xf5\\x80\\xae\\xb4\\x62\\x0f\\x0e\\xe2\\x1e\\xe8\\xb7\\x90\\xc5\\xe9\\x9d\\xbc\\x60\\x89\\x06\\x5f\\xa9\\x1d\\x36\\x98\\x76\\x48\\x13\\x5d\\x61\\x55\\xf0\\xce\\x94\\xa5\\x92\\xd9\\x5f\\x69\\xae\\x7e\\x30\\xb0\\x8a\\xf9\\xd4\\x2f\\x7c\\x71\\xb1\\xf0\\xc5\\x05\\x17\\xc0\\x92\\x13\\x50\\x23\\x2c\\x5c\\x28\\x6c\\x5b\\xcc\\x78\\x12\\x66\\x66\\xbb\\x61\\xe5\\x6b\\xaf\\xad\\xd4\\xf5\\xcf\\x30\\x27\\x98\\x07\\xfb\\x37\\x99\\x13\\xe8\\x33\\x34\\xba\\xfd\\xcf\\x31\\x67\\x55\\x9a\\xfb\\xbb\\xc9\\xfb\\x3e\\x3a\\xc7\\xbd\\x1e\\xc5\\x4f\\x0f\\xa1\\xb8\\xa0\\x12\\x6c\\xc8\\x64\\x55\\x25\\x26\\x56\\xed\\xf3\\x47\\xd9\\x88\\x3a\\xc2\\xc6\\x59\\xad\\x35\\x1e\\x46\\x86\\xa2\\x2a\\x01\\xc2\\x7d\\xe1\\x25\\x61\\x56\\xc7\\x86\\xc3\\x91\\x88\\x7f\\x5e\\x36\\x62\\xf5\\xa1\\x60\\xd1\\x67\\x32\\xa1\\xd8\\xf9\\x36\\x13\\x64\\x4d\\x26\\xa8\\xe3\\x4d\\x26\\x34\\x2f\\x05\\xbd\\x59\\x07\\xa7\\x2e\\x99\\x97\\x35\\x6b\\x97\\x68\\x57\\xa3\\x09\\x8a\\x56\\x6d\\xdd\\x92\\x80\\xf9\\xac\\x48\\x3e\\x21\\x82\\xf3\\xb0\\x66\\xf7\\x3e\\xfa\\x21\\x5e\\xad\\x23\\x71\\x83\\xbc\\x20\\x45\\x2c\\x87\\x14\\x61\\xd3\\x6c\\xa9\\x2d\\xcc\\xa2\\x99\\xc8\\x70\\x18\\xc7\\xcb\\x95\\x20\\x1c\\x02\\x16\\x3b\\x30\\x41\\x71\\x65\\xd7\\x46\\xa2\\x05\\xd6\\x7a\\xe8\\xe3\\x67\\x1f\\xf7\\xf5\\xff\\xda\\x36\\xba\\xb5\\xfb\\x40\\x97\\xee\\xf7\\x03\\x70\\x02\\x1c\\x83\\x7e\\x27\\x0c\\x80\\x0f\\x74\\x5d\\x07\\xba\\x5b\\x47\\xdb\\xfa\\x7f\\xed\\x7b\\xe2\\x99\\x8f\\xb9\\x93\\x5f\\x7c\\xf7\\xeb\\xaf\\x1d\\xc2\\xe3\\x70\\xfc\\xed\\xe6\\xf3\\xc2\\xb0\\xf4\\x5d\\x68\\x86\\x3e\\xe1\\x88\\x70\\xec\\x5d\\xe1\\x50\\xf8\\x3c\\xf3\\xed\\xc2\\x1e\\x78\\x8e\\xe3\\xeb\\x5f\\xff\\xe7\\x10\\xf1\\x0f\\x33\\x07\\xfe\\xc4\\x5d\\xcd\\x75\\x21\\x8b\\x1a\\x04\\xdd\\x99\\xea\\xa0\\xd9\\xac\\x76\\x03\\x93\\xda\\x14\\x0a\\x07\\xcd\\xdd\\x59\\x53\\x30\\x18\\x64\\xf4\\x6c\\x30\\xc8\\xea\\xf5\\xfe\\xee\\xac\\x9e\\xb5\\x77\\x67\\xed\\x2e\\xc8\\xbb\\xa0\\x0b\\x3f\\xad\\x97\\x9e\\x33\\x87\\x7c\\x07\\x45\\xf9\\xd8\\x8c\\xf2\\xa1\\x88\\x72\\xe2\\x17\\xd0\\xcc\\xcb\\x8a\\x6d\\xa0\\xd5\\x11\\xb6\\x90\\x89\\x6b\\x33\\x6b\\xc1\\xd9\\x20\\x14\\x49\\x8f\\xec\\xfb\\xe8\\xfe\\x4d\\xc7\\x6e\\xb8\\xe5\\xc4\\x5d\\xf7\\x9d\\xb8\\xf1\\xe4\\xfe\\xc6\\x6d\\x53\\xd6\\x3c\\xdd\\x33\\x2f\\xfd\\xf0\\x8c\\xa7\\x2e\\x3f\\xfe\\xb3\\xab\\xef\\x80\\xea\\x07\\xff\\x07\\x82\\x9f\\xde\\x2a\\x08\\x8f\\x0a\\x1b\\x5b\\x3a\\x2e\\xb8\\x0e\\x9e\\x0d\\x1d\\x8d\\xa3\\x2e\\x17\\xfe\\x8e\\xed\\x1d\\x3e\\xc1\\x42\\xf5\\x1a\\x7f\\x01\\xf2\\x07\\x36\\xe0\\x04\\x13\\xc0\\x1d\\x99\\xf1\\x0e\\xab\\xcd\\xa6\\xd1\\x69\\x21\\xe3\\xb4\\xd8\\xcd\\x66\\x7d\\x5b\\x35\\x0b\\x22\\x9d\\x76\\x46\\xa3\\x4f\\x03\\x17\\x5b\\xdd\\xd9\\x59\\xad\\xd7\\x70\\x13\\x27\\xd9\\xb5\\x16\\xab\\xd5\\xe9\\x68\\x49\\xea\\xcd\\x66\\x8d\\xcd\\x56\\xd2\\x96\\x8c\\xa8\\xc6\\x69\\x1d\\x49\\x95\\x2a\\x89\\x5c\\x07\\x5b\\xea\\x62\\xc6\\xa1\\xd6\\xed\\x4b\\x8b\\x13\\xfd\\x24\\xf6\\x7a\\xad\\x38\\x63\\x93\\x9f\\xd0\\x4b\\x79\\x0d\\xb2\\x3e\\xd6\\x9a\\x7f\\x7c\\x9e\\xbc\\x26\\x4b\\x67\\x38\\xb1\\xa3\\x85\\x11\\x2d\\xfe\\xd2\\x74\\x33\\x0a\\x09\\x88\\xac\\xc7\\xc3\\x6a\\x1b\\x1b\\xc6\\x4f\\x58\\xb1\\xe9\\xd4\\x48\\xd4\\x33\\xb5\\x2a\\x71\\xee\\x2f\\xa6\\xcf\\xf1\\xb7\\xee\\x4b\\x55\\xf4\\xd1\\xa2\\xb8\\x0a\\x9e\\x3c\\xf7\\x5c\\xf6\\xe7\\x3f\\xf4\\x09\\xff\\x9e\\x05\\xad\\xcb\\x60\\x60\\xa1\\xb0\\x7d\\x71\\xb7\\xb0\\x6f\\xca\\x3f\\x7e\\x0a\\xdd\\xcc\\x5d\\x15\\x4e\\x43\\x55\\xba\\xd5\\x97\\xec\\xac\\x71\\x96\\x8f\\x9c\\xd4\\x33\\x69\\x64\\xf9\\x1d\\x37\\xb5\\x5d\\x92\\xac\\x74\\xf8\\xba\\xeb\\x6b\\xc6\\x24\\x1c\\xb1\\xb6\\xc9\\x53\\x26\\xb7\\xc5\\xd6\\xdf\\x36\\xe9\\xa6\\x2a\\xfe\\x82\\xef\\xe7\\xf3\\x9b\\x4e\\xfe\\x3d\\x14\\x32\\x33\\x3f\\xf4\\xf3\\x38\\xa5\\xf1\\xd7\\xbf\\x32\\x8f\\x08\\x57\\xf6\\x67\\x97\\x98\\xbc\\x76\\x83\\xa7\\x66\\x44\\xb4\\x7a\\x78\\x85\\xdf\\x1f\\x69\\x9c\\x34\\x6c\\xde\\x32\\xb3\\x6e\\xfb\\x79\\x76\\x8f\\xbd\\xac\\xd6\\x57\\xd1\\x58\\xee\\x0f\\x94\\xb7\\x4c\\x19\\xbe\\xfc\\x66\\x9f\\x85\\xea\\xd6\\x79\\x68\\x82\\xd2\\xc4\\x6e\\x47\\x32\\x33\\x2e\\x13\\xb3\\xa8\\x39\\x87\\x11\\x7f\\x97\\xcc\\xa3\\x71\\xdb\\x4d\\x48\\x3c\\xec\\x6a\\xa0\\x36\\x76\\x67\\xd5\\xdc\\xe4\\xac\\xda\\xe1\\x64\\x01\\x3b\\x39\\x8b\\x3c\\x52\\xc1\\x12\\x06\\x5d\\xc1\\x96\\x9f\\xd1\\x20\\x8f\\x54\\x85\\x45\\x73\\x40\\x34\\xc1\\x82\\x14\\xd5\\x92\\x46\\x5a\\x12\\x87\\xb3\\xe1\\x1f\\xaf\\xb9\\xa6\\x3f\\xa9\\x78\\x90\\xe1\\x19\\x76\\x7b\\x8d\\xe7\\xe4\\x67\\xe4\\xa9\\x05\\x38\\xf5\\x12\\x98\\x5c\\x02\\xcf\\x0f\\xe3\\x1c\\xff\\xe8\\x81\\xef\\xf8\\x27\\xf8\\xd1\\xe6\\x18\\xa0\\x7b\\x6a\\xf6\\x33\\xd3\\x48\\xae\\xff\\x72\\xf6\\xa2\\xfe\\xaf\\x81\\x3b\\x63\\x64\\xac\\x0e\\xc6\\x67\\x82\\x26\\xc8\\x19\\xa0\\xc1\\x32\\xa7\\x11\\xfd\\x23\\x9b\\x4b\\xa0\\xb2\\x1d\\xa4\\x6c\\x27\\x2a\\x7b\\xd9\\x29\\xca\\x86\\x50\\xd9\\x10\\x0c\\x41\\xce\\x0b\\xbd\\x85\\x65\\x47\\x0f\\xfc\\x9b\\x7f\\x6e\\x30\\x5f\\x8d\\x86\\x94\\x0d\\x65\\x6c\\x1c\\xcb\\xb8\\x1d\\x70\\x8b\\x01\\xae\\x36\\xc0\\x25\\x06\\x58\\x47\\xb8\\xa3\\x1f\\x72\\x20\\x38\\xa5\\x31\\x9d\\xd0\\xe8\\x94\\x4a\\x9b\\xe3\\xb4\\xb4\\x45\\x05\\x2e\\xaf\\x02\\xa0\\x3a\\xe3\\x83\\x2c\\x63\\x74\\x70\\x47\\x53\\x30\\x85\\xfc\\x0f\\x5c\\x0d\\xe0\\x12\\x00\\xeb\\xd0\\x54\\x10\\xef\\xeb\\x47\\x0c\\xb5\\x58\\x23\\x91\\xde\\x39\\x84\\x5e\\xdb\\x60\\x7a\\x1a\\xbc\\x04\\xda\\x90\\x09\\x53\\x7a\\x6f\\x8f\\x87\\xab\\xc7\\xc3\\x25\\xe3\\xe1\\xf8\\x53\\x53\\x2d\\xa8\\xe7\\x15\\x88\\xee\\x23\\x22\\x5d\\xb7\\x48\\xf7\\x1c\\x42\\x57\\x3d\\x05\\xd7\\xd3\\x43\\xe9\\xae\\x4e\\x23\\xdb\\xc5\\xc0\\xc9\\x3a\\xa8\\x03\\x93\\x01\\xb4\\x53\\x7a\\xb8\\x8a\\x8d\\x85\\xf5\\x6c\\x47\\xf1\\x69\\x3b\\xfb\\x9a\\x55\\xc5\\xe2\\xe4\\x24\\x84\\x5b\\xc1\\x02\\xd5\\x5c\\xa6\\x03\\x18\\x41\\x59\\xa6\\x44\\x8f\\x8c\\xb8\\x96\\x61\\x78\\x03\\x6f\\x2a\\x31\\x1a\\x40\\xf2\\xa0\\xe2\\x81\\x3c\\x92\\x53\\x73\\xba\\x22\\xb1\\x78\\x23\\xd9\\xc9\\x2f\\xec\\x60\\xae\\x6d\\x1d\\xd9\\xb5\\xea\\xb6\\xdb\\x56\\x75\\x8d\\x6c\\x65\\x3f\\x81\\x95\\x63\\xae\\xbb\\x67\\x5c\\x74\\xdc\\x3d\\xd7\\x8d\\x99\\x81\\xe8\\x9a\\x07\\x7e\\xc5\\x1c\\xe3\\x56\\x21\\xba\\xc7\\x32\\x39\\xad\\x81\\x31\\x18\\x8d\\x25\\xa6\\x0e\\xd3\\x34\\x13\\x13\\x33\\x35\\x99\\x18\\xce\\x04\\x2f\\x3c\\x64\\xfa\\xc6\\xc4\\xec\\x33\\xbd\\x67\\x62\\x1e\\x35\\xed\\x31\\x31\\x6b\\x4c\\x70\\xa1\\x69\\x85\\x89\\x89\\x9a\\x20\\x63\\xb2\\x9a\\x98\\xc3\\xa6\\x13\\x26\\xe6\\x35\\xd3\\x07\\x26\\x66\\x9b\\x29\\x67\\x62\\x6e\\x34\\xdd\\x6b\\x62\\x46\\x9b\\x60\\xd4\\xd4\\x60\\x62\\x54\\x26\\xa7\\xb2\\xe8\\x7c\\x13\\x2c\\x20\\xdd\\x7a\\xaf\\xe9\\xcf\\xa6\\x6f\\x4d\\xec\\x75\\x26\\x08\\xfb\\x4c\\x4b\\x4c\\x0c\\xb9\\x1b\\x42\\x72\\x68\\xb2\\x9b\\x98\\x2d\\x26\\xb8\\xc6\\x74\\xb7\\x89\\xc9\\x98\\xba\\x31\\xb7\\x06\\xcc\\x0a\\xee\\x45\\x5c\\x31\\x74\\x97\\x89\\xd5\\x03\\x2d\\x63\\xe4\\x51\\xeb\\xf7\\xa5\\x5a\\x5b\\x21\\x5e\\xd9\\x93\\xfc\\x74\\x6f\\xb1\\xf7\\x56\\x38\\x6f\\x4b\\x7e\\x2f\\x37\\x12\\x96\\xa7\\x91\\x89\\x89\\xc5\\x51\\x84\\xfa\\x7e\\xbe\\x5f\\xd8\\x2d\\xf9\\x1e\\x3b\\x19\\x19\\xdc\\xff\\x40\\xaf\\x27\\xfd\\x6f\\xe4\\x4b\\x4c\\x06\\xe3\\x10\\xfd\\x1f\\x8b\\x63\\xb2\\x2a\\x75\\x04\\xcf\\x6b\\xf9\\x55\\x4a\\x6a\\x70\\xd5\\x29\\xfa\\xff\\x9b\\xcc\\x1e\\xc6\\xa8\\x35\\x1a\\x0c\\xff\\x57\\xf4\\xff\\x16\\x34\\x02\\x1c\\xd0\\x33\\x5a\\x15\\x92\\xbf\\x4f\\xfe\\xcb\\x11\\x28\\xc7\\xdf\\x74\\x57\\x63\\x51\\x75\\xba\\x2c\\x69\\x26\\x91\\xef\\x99\\xad\\x4a\\x91\\x55\\xf6\\xbf\\x0b\\x4c\\xcc\\x38\\x90\\xfc\\xab\\x18\\x2d\\x62\\xed\\x72\\x59\\x1c\\x25\\x25\\x16\\x95\\xc5\\xed\\xf1\\xe0\\xc5\\xca\\xe9\\xb3\\xbb\\xc8\\x75\\xf8\\x68\\x72\\xcd\\x85\\xe3\\x5d\\x40\\x8f\\xc6\\x07\\x92\\x6f\\x83\\xe6\\x87\\xe8\\x14\\xaa\\xa2\\x18\\x36\\xa5\\xd2\\x30\\x42\\xfe\\xb5\\x42\\x7d\\xe4\\x17\\x40\\x31\\x8e\\x2e\\xc8\\x64\\x5e\\x2a\\xd1\\x3a\\x18\\xad\\x9e\\x41\\xd5\\x74\\x7b\\x3a\\x3c\\xd3\\x3c\\x4c\\xcc\\xd3\\xe4\\x61\\x38\\x0f\\x1a\\x4b\\xcf\\x37\\x1e\\x66\\x9f\\xe7\\x3d\\x0f\\xf3\\xa8\\x67\\x8f\\x87\\x59\\xe3\\x81\\x0b\\x3d\\x2b\\x3c\\x4c\\xd4\\x03\\x19\\x8f\\xd5\\xc3\\x1c\\xf6\\x9c\\xf0\\x30\\xaf\\x79\\x3e\\xf0\\x30\\xdb\\x3c\\x39\\x0f\\x73\\xa3\\xe7\\x5e\\x0f\\x33\\xda\\x03\\xa3\\x9e\\x06\\x0f\\xa3\\xf2\\x38\\x95\\x45\\xe7\\x7b\\x60\\x01\\xe9\\xd6\\x7b\\x3d\\x7f\\xf6\\x7c\\xeb\\x61\\xaf\\xf3\\xa0\\xb1\\xf4\\x2c\\xf1\\x30\\xe4\\x6e\\xc8\\x03\\x39\\x8f\\xdd\\xc3\\x6c\\xf1\\xc0\\x35\\x9e\\xbb\\x3d\\x4c\\xc6\\xd3\\x8d\\xb9\\x35\\x60\\x56\\x70\\x2f\\xe2\\x8a\\xa1\\x5b\\x3c\\xbb\\x3c\\x9c\\xc1\\x55\\xe2\\xb0\\x62\\x95\\xe2\\xf1\\x26\\x88\\xad\\xad\\xff\\xdd\\x98\\x5a\\x06\\x6b\\x96\\x62\\x8c\\x15\\x3a\\x26\\xbf\\x50\\xea\\x5a\\x3f\\x93\\x7f\\x0d\\x18\\xd4\\xa7\\x5d\\xa4\\x4f\\x59\\xe0\\x83\\x25\\x99\\xfd\\xd0\\x6a\\x04\\x1e\\x95\\xd1\\xa4\\x32\\x71\\x9c\\x3f\\xd0\\x11\\x98\\x16\\x60\\x62\\x81\\xa6\\x00\\xc3\\x05\\x50\\xbf\\x06\\xbe\\x09\\x30\\xfb\\x02\\xef\\x05\\x98\\x47\\x03\\x7b\\x02\\xcc\\x9a\\x00\\x5c\\x18\\x58\\x11\\x60\\xa2\\x01\\xc8\\x04\\xac\\x01\\xe6\\x70\\xe0\\x44\\x80\\x79\\x2d\\xf0\\x41\\x80\\xd9\\x16\\xc8\\x05\\x98\\x1b\\x03\\xf7\\x06\\x98\\xd1\\x01\\x18\\x0d\\x34\\x04\\x18\\x55\\xc0\\xa9\\x2c\\x3a\\x3f\\x00\\x0b\\x48\\xb7\\xde\\x1b\\xf8\\x73\\xe0\\xdb\\x00\\x7b\\x5d\\x00\\xf5\\x6b\\x60\\x49\\x80\\x21\\x77\\x43\\x01\\xc8\\x05\\xec\\x01\\x66\\x4b\\x00\\xae\\x09\\xdc\\x1d\\x60\\x32\\x81\\x6e\\xcc\\xad\\x41\\x64\\xb5\\x17\\xf1\\xc5\\xe0\\x2d\\x81\\x5d\\x01\\xce\\xec\\xb3\\x7a\\x90\\xbf\\x77\\x9a\\x38\\xa3\\x4a\\x0b\\x92\\x07\\x70\\xe7\\xfe\\xe9\\xa0\\xf9\\xc0\\x7f\\xd7\\xbf\\x74\\x6e\\xcd\\xa3\\xb9\\xb5\\xed\\x54\\xbd\\x6c\\x86\\x9f\\x09\\xa1\\xfd\\x83\\xbb\\xfa\\x82\\x6e\\x6e\\xe6\\x29\\x3a\\x9b\\xc4\\xbc\\x1d\\x03\\x47\\xd8\\x2d\\xfc\\x7e\\xe0\\x07\\x55\\x60\\x42\\xa6\\x22\\xea\\xd2\\x98\\x02\\x01\\x34\\x3f\\x4e\\x54\\x3b\\xed\\x75\\xae\\x40\\x97\\x3d\\x63\\xf2\\x42\\x2d\\xeb\\x0d\\x84\\x0c\\x21\\x14\\x03\\x1b\\x4c\\x7c\\xbc\\x3b\\xcb\\x3b\\xe9\\x7c\\x38\\x2d\\x07\\xf5\\xde\\x83\\x89\\x94\\xc2\\x20\\xe2\\x07\\xf0\\xec\\x3a\\xba\\xaa\\x4c\\x03\\x5e\\x57\\xba\\x99\\x3c\\x02\\x14\\x6f\\x46\\xef\\xac\\x2c\\x59\\x01\\x65\\x68\\x0e\\xc0\\xca\\x6e\\xe9\\xba\\xed\\x8d\\xab\\xef\\x7f\\xec\\x96\\x8f\\x6f\\x9e\\x73\\x5b\\x19\\xc7\\xdd\\xb3\\xfe\\xff\\xe1\\xed\\x3d\\x00\\xa3\\xaa\\xb2\\xc7\\xe1\\x7b\\xee\\x2b\\x33\\x6f\\xfa\\x4c\\x66\\xd2\\x26\\x7d\\x52\\x80\\x10\\x52\\x26\\x85\\xd0\\xf2\\x68\\x21\\xd2\\x42\\x8d\\x0c\\x2d\\x21\\x84\\x10\\x40\\xa4\\x48\\xef\\xa8\\xe8\\xb0\\xa0\\x90\\xc5\\x02\\xa2\\xc2\\xaa\\xbb\\x12\\xc4\\x2e\\xc5\\xb6\\x36\\xd4\\x75\\x15\\x61\\x75\\x11\\xb1\\x2c\\xee\\xa2\\xbb\\xeb\\x4f\\xd7\\xb2\\xba\\xba\\x26\\x99\\x97\\xef\\xde\\xfb\\xde\\xcc\\xbc\\x14\\xac\\xfb\\xff\\x20\\x73\\xe7\\xdd\\xfb\\xee\\x9c\\x7b\\xef\\xb9\\xe7\\x9e\\x73\\x6e\\x3b\\x67\\xd1\\xda\\xcc\\x05\\xd5\\xe3\\x8f\\x9f\\xbc\\xca\\xb5\\x76\\xfc\\x8c\\x5b\\xe6\\x34\\x05\\x26\\xee\\x59\\xca\\x1d\\x3e\\xac\\x5c\\xa7\\xfc\\xeb\\xc6\\x27\\x8f\\xec\\x87\\x7e\\xb7\\xce\\x9d\\xbc\\xe2\\xe2\\xbf\\xa7\\xa4\\xdf\\xe2\\x53\\x3e\\x09\\xbd\\x39\\x73\\xed\\xaf\\x94\\xcf\\x76\\x6c\\xf8\\xd5\\x0d\\xd4\\xcc\\x23\\x46\\x79\\x44\\x21\\x3e\\x2e\\x54\\x21\\x81\\xb4\\xe3\\x2e\\xf9\\x0a\\x11\\x1b\\x05\\x03\\x46\\x60\\x92\\x78\\x11\\x24\\x91\\xe3\\x05\\x8c\\x0d\\xe0\\xda\\x6c\\x82\\x7c\\x13\\xd8\\x4d\\xd0\\x61\\x82\\x0b\\x26\\x78\\xc6\\x04\\x0f\\x9a\\x60\\xa9\\x09\\xd2\\x4c\\xb0\\xcb\\x04\\x15\\xec\\xd5\\x00\\xf5\\xdd\\x69\\xf6\\xae\\xce\\x04\\xb2\\x09\\x6a\\xd9\\x0b\\xf5\\x07\\x07\\x58\\x56\\xf2\\x9b\\x09\\xec\\x67\\xc8\\x04\\xd1\\x99\\x62\\xb4\\x1f\\x23\\x1d\\x8b\\x2a\\x4e\\x15\\xd1\\xc5\\x94\\xc8\\x1c\\x88\\xa2\\xaa\\xb0\\xa0\\x37\\xe4\\x80\\x5f\\xc2\\xe9\\xfc\\xf1\\xb6\\xd5\\x00\\xef\\xff\\x1e\\x3e\\x0f\\x5d\\xa7\\x2c\\xe5\\xb2\\x27\\xf0\\xff\\x6d\\x33\\xf2\\x33\\xdb\\x9e\\xa3\\x7a\\xe6\\x72\\x65\\xac\\x98\\xcd\\xe6\\xe9\\x0b\\xe5\\xa1\\x4e\\x6c\\x93\\xb0\\xe4\\xf6\\x18\\x39\\x81\\xab\\x0d\\x08\\x8e\\xba\\x80\\xc0\\x39\\x49\\x12\\xdd\\x89\\xb4\\x20\\xef\\x41\\x0f\\xa4\\x79\\xc0\\x41\\xb4\\x2c\\x0f\\xec\\x66\\x0f\\x24\\x44\\x1e\\x18\\x72\\xc6\\x03\\x13\\x3c\\x20\\x7b\\x40\\x35\\x84\\x13\\xae\\x55\\x91\\x7a\\xbc\\x22\\xbe\\x22\\x57\\xbf\\x6b\\xad\\xcd\\x5c\\xd5\\xc5\\x1c\\x75\\x72\\x4a\\x4f\\x21\\x2d\\x3f\\x72\\x44\\x78\\xec\\xc8\\x91\\xd0\\x3f\\x8f\\x84\\xb2\\x8e\\x28\\x63\\x4b\\xbc\\xe2\\x24\\xba\\x2a\\xf3\\xdd\\x03\\x74\\x45\\x46\\x1c\\xf5\\xdd\\xe3\\xde\\x12\\x5a\\xdf\\x99\\xca\\x58\\x21\\x8b\\xd4\\x37\\x91\\x50\\x55\\x76\\xa2\\xd3\\x89\\x91\\xc3\\x61\\x73\\x5b\\x6c\\x16\\x6f\\x92\\xd3\\x99\\xe8\\x4a\\xac\\x0b\\x38\\x00\\x71\\x36\\xb7\\x8b\\xb3\\x63\\x1b\\x9e\\x13\\xb0\\xd8\\xbc\\xd1\\x03\\x9e\\x74\\x33\\x91\\x51\\x96\\x6e\\xa1\\x55\\xbd\\x45\\x03\\x1e\\x48\\x2f\\x1a\\xc2\\xb3\\xd9\\x60\\x89\\x04\\xea\\xd9\\xc5\\x0c\\x5f\\x16\\x57\\x11\\x7a\\x13\\x9e\\xee\\x3d\\x67\\x6e\\xed\\xb8\\xfe\\x26\\x32\\xff\\x6b\\x1b\\x8d\\x87\\x85\\x3e\\xe1\\x27\\x0e\\xeb\\x53\\xf7\\x71\\x9c\\x72\\x05\\x1e\\x93\\xd3\\xfe\\x06\\x60\\x9e\\xe3\\xf1\\x87\\x4a\\xfd\\x68\\x6e\\x0c\\x67\\xad\\x56\\x7e\\xf3\\xad\\x05\\x33\\x1d\\xbe\\x11\\xaf\\xe4\\x53\\xf1\\xbb\\xaa\\xad\\x27\\x0c\\xbc\\xc0\\xe1\\xfb\\x03\\xdc\\xa3\\xda\\xfd\\xca\\x72\\xcd\\x96\\x54\\x6a\\xfb\\x28\\xfc\\x2e\\xb5\\xf5\\x14\\xbe\\xff\\xe5\\x10\\x0d\\x21\\xf6\\xfb\\xeb\\x71\\x1e\\xac\\xe5\\x52\\x89\\xd4\\x79\\x41\\xfe\\x15\\xbb\\xff\\x2f\\x71\\xfb\\x67\\x48\\xa9\\x56\\xb0\\x5b\\xa1\\xc3\\x0a\\x9f\\x5b\\xe1\\x82\\x15\\x0e\\x58\\x61\\x97\\x15\\x36\\x5b\\xa1\\xd6\\x0a\\xd5\\x56\\x50\\xdf\\x5e\\x11\\x79\\xfd\\x0c\\x7b\\xb7\\x24\\xfc\\x5a\\x4d\\x57\\x13\\x2b\\xd8\\xf5\\x7d\\xf2\\xfc\\x20\\xbb\\xcd\\x5f\\x11\\xbe\\xcd\\x3f\\xe0\\x34\\x83\\x71\\x26\\x0c\\x58\\xb5\\x2b\\xa0\\xa6\\xb0\\x0b\\xfe\\xcb\\xba\\x1b\\x3d\\xea\\xf1\\x62\\x3f\\xbd\\xd6\\x9f\\xdb\\xd3\\xa5\\x7e\\x58\\x1b\\xbe\\x1f\\x86\\x7f\\xa7\\x5d\\x9a\\x27\\xed\\xf5\\x77\\xfc\\x9b\\xaf\\x17\\xa7\\x90\\xd1\\xe5\\x97\\xbd\\x02\\x27\\x62\\x83\\x11\\x1b\\x25\\x13\\xcf\\xdd\\x1f\\xe0\\x79\\x30\\xd8\\xc5\\x54\\x31\\x5f\\xe4\\x44\\x7a\\x17\\x7e\\x56\\x3e\\xdb\\x59\\x0a\\x77\\x63\\x91\\xba\\x26\\xec\\x2b\\x49\\x97\\xc0\\x8f\\x97\\x2c\\x52\\xce\\x1d\\x22\\x33\\x10\\x0c\\x27\\xa7\\xdb\\xb8\\xc1\\x13\\x42\\xa9\\xc2\\x31\\xba\\xdf\\x33\\x0e\\xbd\\x2a\\x34\\x72\\xe7\\x34\\x9b\\xd8\\x63\\xe4\\xdc\\xde\\x66\\xc1\\x99\\x86\\x50\\xa2\\xd3\\x67\\x16\\xf2\\x0b\\xe2\\xb2\\x6d\\xd9\\xf7\\x07\\x92\\xfb\\x1a\\xfb\\xde\\x1f\\x10\\x12\\x7d\\x4e\\x9e\\x43\\xc6\\x09\\xa4\\x06\\x6e\\xbb\\x0d\\x6c\\x28\\x7f\\x96\\xff\\xb5\\x59\\x45\\x2a\\x01\\xe9\\x37\\x25\\xa2\\x1b\\xcf\\x9c\\x7e\\x9b\\x99\\x6d\\x3e\\x67\\x65\\x88\\x86\\xf0\\x35\\x1f\\x08\\x1f\\xdc\\xa2\\xab\\x93\\x8d\\x8f\\x06\\xdf\\xb8\\x41\\xbe\\x67\\xd6\\x8d\\x0f\\x3d\\xb2\\x73\\xc1\\x23\\x43\\xe5\\x3b\\x16\\xdc\\x78\\x9f\\xf2\\xce\\x84\\x6d\\xf2\\xa0\\x6d\\x35\\x75\\x6b\\xd7\\x85\\x3e\\x2c\\xdf\\x36\\x7d\\xd6\\xea\\x95\\x73\\x27\\x5e\\x87\\xc7\\xff\\xf6\\x2f\\x60\\xdc\\x7c\\xcd\\x9f\\x1f\\x6c\\x79\\x67\\xcb\\xd5\\x1b\\x37\\x9f\\xbb\\x72\\xe7\\x8d\\x37\\xdc\\x78\\x70\\xe3\\x9a\\x83\\xca\\xa7\\x3b\\x77\\xfd\\x66\\xc3\\xa6\\xfd\\x37\\x30\\x9d\\x72\\x2f\\x51\\x63\\xea\\xf8\\x97\\xd9\\x3d\\x33\\x2c\\x08\\xbc\\x68\\xa0\\xc2\\x37\\xac\\x4c\\xd2\\xc3\\x4c\\xf4\\x8e\\x11\\xec\\x9d\\xcd\\x2f\\x6c\\xeb\\xcf\\xbf\\xdc\\x76\\xeb\\x6c\\x36\\xcf\\x84\\xc4\\x0e\\x85\\x7f\\x80\\x37\\x92\\xf1\\x9f\\x21\\xdb\\x63\\x90\\xd9\\x84\\x4c\\x6e\\xcf\\x52\\x0f\\xd8\\x05\\xa2\\x71\\xe4\\x17\\x11\\x75\\x47\\x77\\x71\\x59\\x70\\xb2\\xb3\\x3d\\x29\\xe0\\x71\\xfa\\x9c\\xda\\xaa\\x33\\x24\\xae\\xf8\\xd3\\xd5\\xd7\\xbc\\xb9\\x7a\\xfe\\xc9\\x83\\x77\\x3d\\x8b\\x31\\xba\\xe5\\xf3\\x6d\\xd7\\xfe\\xfb\\x26\\x05\\x61\\xfc\\xfb\\x0f\\xff\\xf6\\xbc\\x42\\xef\\x87\\xdd\\x1c\\x7a\\x17\\xef\\x23\\x5d\\x90\\x83\\xfa\\xc8\\xb1\\xe9\\x36\\x5b\\xaf\\xde\\xee\\xe4\\x89\\x01\\xbb\\x7b\\xb3\\x1b\\x4b\\x9c\\x1b\\x99\\x26\\x06\\x48\\x51\\x74\\x91\\x23\\xbc\\xba\\xc1\\x78\\x04\\x3d\\x02\\x37\\x04\\x88\\x4c\\xa2\\xf8\\xe3\\x1c\\x31\\x43\\x30\\x9b\\xc2\\xdb\\xc1\\xc7\\x0a\\x8e\\x71\\x63\\xce\\x86\\x1d\\xc9\\x93\\x2c\\xbc\\x87\\x77\\x8f\\x1c\\x50\\x52\\x29\\xda\\x0c\\x73\\x0f\\x56\\x26\\x04\\xec\\x2e\\x87\\xa7\\xb2\\xbc\\xa4\\x92\\x37\\x48\\xe2\\xbc\\xfd\\xa1\\x77\\xe3\\x4c\\x46\\x6b\\x6d\\xdc\\xc8\\x3b\\xd6\\xe3\\x83\\x60\\x01\\xe7\\xc2\\xa7\\xd7\\xb8\\x2d\\xd2\\xb0\\xa1\\x95\\x77\\x6c\\x08\\xfd\\xfd\\x32\\xe5\\xf7\\xca\\x47\\x57\\x3e\\xb5\\x9c\\xc9\\xac\\x72\\xc8\\xe3\\x13\\xf8\\x54\\x94\\x80\\xfc\\xa8\\x41\\x2e\\xf3\\x49\\x05\\xb1\\x52\\x6c\\x71\\x49\\x22\\xa1\\x87\\x44\\x94\\x51\\x97\\x81\\x8d\\x5c\\x86\\x9c\\x9f\\x9d\\x9d\\x7a\\x7f\\x20\\xdb\\x22\\x23\\xd7\\xfd\\xa4\\xde\\xc6\\x3a\\x42\\x21\\x9c\\x51\\xf6\\x58\\x2c\\xc2\\xfd\\x81\\x5a\\x32\\xeb\\x44\\xf9\\xea\\xe2\\x54\\x62\\xd4\\x5e\\xfa\\x6b\\xfa\\x04\\xfd\\x09\\xb3\\x0c\\xed\\xc8\\x8e\\x4f\\x3d\\xe9\\xaa\\xae\\xdc\\xf8\\x6d\\x98\\xbb\\xe4\\x0b\\xcb\\xc2\\x1d\\xa3\\xe7\\x64\\x8f\\x1b\\x6f\\x9d\\xe7\\xda\\xb6\\xaa\\xff\\xea\\x31\\x35\\x93\\x7d\\x23\\xc7\\xc7\\xcc\\x77\\xca\\x0b\\x27\\x5d\\xf2\\x0d\\x7e\\x79\\x6d\\x45\\xf9\\xe2\\x6b\\x9f\\xbc\\x63\\x40\\x45\\x55\\xe1\\x82\\xed\\x57\\xff\\x6a\\xac\\xd2\\xd8\\x35\\x85\\xf2\\x9b\\xa9\\x68\\x27\\x6f\\xe3\\x4f\\xa2\\x18\\x28\\x95\\xcf\\xc5\\xb8\\x10\\xe1\\xfd\\xbc\\xc1\\x6a\\x22\\x82\\xc9\\x2c\\x02\\x98\\x3d\\x6e\\xce\\xee\\xb0\\xdf\\x1f\\x90\\x24\\x83\\xd9\\x62\\x26\\x63\\xf2\\x3a\\xd2\\x5a\\x87\\xcb\\x85\\x12\\x1c\\x20\\xd1\\x3f\\xd9\\xe2\\xa8\\x72\\x5c\\xeb\\x81\\x15\\x1e\\xa8\\xf7\\xc0\\x14\\x0f\\x8c\\xf0\\x40\\xa9\\x07\\x32\\x3c\\xe0\\xf6\\x00\\xef\\x81\\xaf\\x3d\\xf0\\x77\\x0f\\xbc\\xe5\\x81\\x97\\x3c\\xf0\\x98\\x07\\x7e\\xe7\\x81\\x5b\\x3c\\x70\\x1d\\xcb\\xdf\\xe8\\x81\\x4a\\x0f\\x64\\x86\\x73\\x7e\\xe3\\x81\\x0f\\x59\\xce\\x93\\x1e\\x38\\x16\\xce\\xa9\\x66\\xab\\x61\\x30\\x45\\x0f\\x0c\\x22\\x99\\x86\\x79\\xa0\\x98\\x15\\x40\\x85\\x11\\x91\\x44\\x5f\\x78\\xe0\\x03\\x0f\\x9c\\x61\\xbf\\x7b\\xc8\\x03\\xf7\\x30\\x09\\x45\\x6a\\x44\\x08\\xba\\x81\\x09\\x28\\x5c\\xbb\\x6c\\x99\\xce\\xf6\\x51\\x6d\\x4f\\xc6\\x8d\\x3a\\xe5\\x58\\x1e\\x36\\x94\\x93\\x4b\\x0f\\x1b\\xf9\\xf3\\x1d\\xaf\\xcf\\x2a\\xd2\\xec\\x6f\\x75\\x12\\x6a\\xea\\xb6\\xa4\\xdf\\x93\\xce\\xb1\\x13\\x83\\xf4\\x62\\x5d\\x0c\\xdb\\x95\\xe5\\x32\\x3e\\x55\\x4e\\x9d\\xc3\\xa6\\xd0\\x03\\x2f\\xad\\x7f\\xe9\\x53\\xf0\\x9f\\x0b\\x7d\\x83\\x27\\xbe\\xb4\\x91\\x3b\\xd4\\xa8\\xbc\\xd6\\xa8\\x7c\\x08\\x49\\x8d\\x50\\xdc\\x48\\x9d\\x59\\x71\\xa8\\x11\\xc6\\xf3\\xa9\\x3c\\x66\\xb6\\x04\\xcc\\x68\\x80\\x9c\\x6a\\x22\\x33\\x13\\x81\\xb0\\x31\\x8b\\xd5\\x64\\x36\\x73\\xa2\\xdd\\x90\\x6a\\xc8\\xa7\\xa6\\x43\\x11\\x27\\x73\\x84\\xea\\x98\\xcd\\x94\\xfc\\x59\\x74\\x93\\xfd\\x94\\x6e\\xf5\\x53\\x95\\x2b\\xe1\\x0f\\x95\\x2f\\xdc\\xe3\\xea\\x07\\x1e\\x6b\\x6c\\xc4\\xe3\\x1b\\x1b\\x95\\xf3\\x8d\\x8d\\x84\\xde\\xa7\\x12\\x7d\\xc6\\xc6\\xdf\\xc2\\xee\\x87\\x4e\\x96\\x8b\\x79\\x64\\xc2\\xa2\\xc1\\x60\\xb2\\x98\\x25\\x03\\xe9\\x65\\x5e\\xb4\\xcd\\xc0\\xbc\\x6d\\x02\\xae\\xc3\\xbb\\xf1\\x41\\xcc\\x63\\x40\\x76\\xbe\\x82\\xc7\\x76\\x52\\xc7\\x6a\\x7e\\x33\\x7f\\x81\\x17\\x8c\\x3c\\x4a\\xc8\\x67\\x78\\x39\\x35\\x2b\\x57\\x5b\\xa5\\xd4\\x55\\x23\\x86\\x54\\x40\\x82\\x64\\x9c\\x5e\\x32\\x95\\x94\\x7e\\x8e\\xeb\\x4d\\x24\\xdd\\xae\\x22\\x38\\x3b\\x5f\\x59\\xab\\xac\\x9d\\x3f\\x85\\xd5\\x61\\x0a\\xa9\\x83\\x5d\\xab\\xc3\\x54\\xb9\\xa4\\x4b\\x1d\\x44\\xa2\\x52\\xf1\\xb6\\x19\\x08\\xdb\\x6a\\xd1\\x12\\x74\\x00\\x3d\\x88\\x78\\x64\\xc7\\x15\\x18\\xdb\\x71\\x2a\\xae\\xc6\\x9b\\xf1\\x05\\x2c\\x18\\xb1\\x5a\\x09\\x5a\\x85\\x70\\xc7\\xe8\\x6b\\x51\\x46\\xe5\\x39\\x78\\x38\\x82\\x8b\\x1a\\x52\\x85\\x73\\xdc\\xe3\\xb8\\x7d\\xd4\\x13\\xf3\\xe1\\x7a\\xb8\\x7e\\xbe\\x92\\x5b\\x14\\x3a\\xc7\\xea\\x71\\x1b\\xa9\\x47\\x31\\xbf\\x95\\xee\\x3a\\xa0\\x26\\x79\\xbc\\x80\\x44\\x1e\\xf1\\x26\\x33\\x32\\x3b\\xcc\\xf8\\x0a\\x87\\x79\\x82\\xb9\\xce\\xbc\\xc5\\xbc\\xdb\\x7c\\xd0\\xfc\\x85\\xd9\\x20\\x9b\\x97\\x92\\xc8\\x43\\xe6\\x67\\xcd\\x02\\x7d\\x9f\\x46\\x52\\x1f\\x32\\x9f\\x31\\x7f\\x40\\xde\\x19\\x07\\xd0\\x14\\x99\\xe4\\x3f\\x48\\xe2\\xe2\\x19\\x33\\x10\\x25\\x91\\x70\\xb7\\x53\\x84\\x91\\xaa\\xc7\\xff\\x67\\xeb\\xf8\\xa9\\xdf\\x29\\x81\\x33\\x2b\\x9d\\x84\\xb7\\xc1\\x29\\x38\\xd5\\x7e\\x0c\\xb7\\x2a\\xd7\\x28\\xd7\\xe0\\xf5\\x58\\x0c\\xb5\\x86\\xb6\\x4d\\xc2\\x22\\x1c\\x56\\x6a\\x54\\x5d\\x02\\xbd\\xca\\x74\\x09\\xca\\xdf\\x11\\xc7\\x11\\xfe\\x4e\\xc8\\x44\\xc7\\xdf\\x55\\x43\\x32\\xa7\\xe6\\x93\\xd6\\xad\\x54\\x6a\\xb0\\xa3\\x11\\x01\\xce\\x08\\xdd\\xc6\\xbd\\x21\\x1e\\x46\\x1e\\xe4\\x95\\xcd\\x46\\xc2\\xec\\xc9\\xcc\\xd8\\x2c\\x80\\x82\\x2a\\xf2\\x4f\\x9d\\x8a\\xba\\xcd\\xf0\\x85\\x77\\x13\\xe9\\x79\\x9d\\x6c\\xba\\x91\\x6a\\x10\\x3d\\xf8\\xe8\\x9e\\x43\\x9b\\x2a\\xc6\\xf8\\xb3\\x52\\xac\\x8e\\xec\\x74\\x47\\xa6\\x24\\x86\\x6e\\x33\\xd4\\x9c\\xfc\\xa6\\xa2\\xa0\\x57\\xb1\\xc9\\xd8\\x27\\x27\\xc7\\xb7\\x80\\xc9\\x0f\\x21\\x74\\x1b\\x3e\\x4a\\xca\\x70\\xa3\\x24\\x52\\x06\\xc6\\x6e\\xb7\\x27\\x96\\x14\\x42\\x2d\\x94\\x86\\xcb\\xd0\\xc4\\x4f\\x54\\xfc\\xc7\\xc5\\xaa\\x67\\x82\\x70\\xc6\\x9e\\xbb\\xaf\\x1d\\x38\\xbe\\x28\\x33\\x3d\\xd1\\x94\\x9a\\xea\\x48\\x8e\\x13\\x0f\\xff\\xf7\\xd0\\x0b\\xff\\x19\\x9c\\x9f\\x53\\xe2\\xe0\\x7b\\x67\\xf9\\x37\\x13\\xd9\\xf1\\x0d\\xce\\x12\\x8e\\xe2\\x63\\xa4\\xb1\\xf1\\x47\\x39\\x01\\xf1\\x80\\x4e\\x00\\x7e\\x24\\x00\\xed\\x51\\x8b\\x99\\x1c\\xd1\\x24\\x4d\\xc2\\x33\\x38\\xab\\xb9\\x99\\xc9\\x34\\x7c\\x43\\x68\\x0f\\x97\\x62\\xa8\\x62\\x7a\\x97\\x84\\xa9\\x6d\\x12\\x4e\\x41\\xad\\xa8\\xa2\\x22\\xa2\\x8a\\xf8\\x9d\\x3e\\x7c\\x43\\x73\\xb3\\xa1\\xea\\x9b\\x31\\x6a\\x7e\\x56\\x86\\x40\\x64\\xa0\\x89\\xda\\xb6\\x05\\x83\\xa0\\x20\\x8e\\x15\\x84\\xda\\xd5\\x29\\x09\\x29\\x4b\\x9b\\xe4\\x53\\x1b\\x37\\xe4\\xd7\\x5c\\xaf\\xd0\\x82\\x66\\x7c\\xac\\xb9\\xed\\x4a\\x76\\x07\\xfa\\x1b\\x5a\\x66\\x18\\x06\\x9b\\x08\\x88\\xbc\\x82\\x05\\x06\\x03\\x77\\x85\\xc1\\x31\\x63\\x36\\x26\\xae\\x57\\x33\\xa9\\x74\\xeb\\xfb\\xfc\\xaf\\xb5\\x7a\\xd3\\xb6\\x1a\\xe8\\xfc\\x22\\x95\\xca\\x70\\x91\\x37\\x30\\x00\\x8f\\x51\\x00\\xad\\xec\\xf0\\x63\\xa4\\x12\\x4c\\x9a\\x93\\x26\\xe0\\x5b\\xdb\\xdf\\x36\\x54\\xb5\\x5d\\xd9\\x8c\\x54\\x5c\\xb1\\x76\\xb3\\x3a\\x60\\x6a\\xbb\\x47\\xe4\\x5a\\xbf\\xaf\\x0e\\x7e\\xa7\\x09\\xdf\\x4a\\xeb\\xc0\\xff\\xba\\xf5\\xfd\\x08\\xee\\x58\\x1d\\x0c\\xa8\\xb7\\x6c\\x11\\xa8\\xf1\\x64\\x23\\x2f\\x19\\x94\\x2e\\x15\\x89\\x02\\x8a\\xd6\\x86\\xa1\\x14\\xdf\\x4a\\xb0\\xc2\\x2a\\xa4\\xc7\\x8b\\x06\\xcf\\x46\\x6f\\xef\\xf3\\x12\\x32\\x8a\\x0a\\xa9\\x97\\xa1\\x53\\xbd\\xf4\\xf0\\xd4\\xaa\\xf9\\x58\\xe5\\xd4\\xda\\x7d\\x33\\x46\\xc3\\x11\\x85\\xc7\\xfa\\xca\\x80\\xfa\\xca\\x76\\xde\\x40\\x46\\x01\\xc7\\x00\\xd2\\xd5\\x54\\x1d\\x65\\x50\\x75\\x5f\\xbd\\x6a\\x1e\\x69\\xad\\x87\\xe1\\x5c\\x78\\x86\\x76\\x1b\\x21\\x95\\xb6\\x2b\\x09\\x48\\x8d\\xbe\\x58\\xfd\\x08\\x3c\\x6a\\x34\\xc6\\x60\\x20\\xf0\\xb8\\x56\\xda\\xf4\\xef\\x87\\xe7\\xa4\\xad\\x66\\xf8\\xbb\\x95\\xd5\\x91\\x76\\x82\\x56\\x3f\\x03\\x5d\\x29\\x2a\\x93\\xdd\\x82\\xd1\\x88\\xcd\\x66\\x02\\xd2\\x8a\\x2c\\x26\\xd2\\x66\\xa3\\x19\\x9b\\x09\\xd0\\x47\\x03\\x02\\x6d\\xb6\\x36\\x2b\\xd1\\xc1\\xf5\\xeb\\x41\\xa7\\x6b\\x18\\x60\\x28\\x0d\\x97\\xc0\\x6a\\x4d\\xef\\xf6\\x7f\\x03\\xcb\\x84\\xa3\\xdc\\x42\\x26\\x2b\\xfa\\x11\\xaa\\xa5\\xd5\\xe6\\x79\\xa3\\xc0\\xb3\\x7e\\x12\\x42\\xe1\\xda\\xb7\\x85\\x77\\x98\\x21\\xb2\\xa2\\x42\\x71\\x01\\xea\\x98\\x69\\x1d\\x4a\\xc6\\xcd\\xf9\\xe6\\x66\\x65\\xaf\\x3a\\x76\\x30\\x9c\\x27\\xfd\\xf5\\x06\\x1b\\x3b\\x06\\x94\\x26\\xdb\\x00\\x09\\x84\\x0f\\x1a\\x25\\x03\\x47\\x30\\xdc\\x4a\\x4f\\x03\\x76\\x3e\\x21\\xef\\xf4\\xb1\\x0f\\x01\\x01\\x4d\\xea\\x78\\x92\\x8e\\x46\\xc7\\x14\\xa9\\x9f\\x84\\xca\\x65\\x3b\\x16\\x45\\x33\\xe9\\x7b\\x84\\x4c\\x66\\x49\\xa1\\xd7\\x91\\x49\\x15\\xf9\\x50\\x78\\x84\\xb5\\xe9\\x4f\\x9b\\x83\\xfe\\x94\\x79\\x3a\\xbb\\x53\\x16\\x19\\x6e\\x0c\\x13\\xdc\\xc2\\xe6\\x73\\xcd\\xed\\x19\\x94\\xf7\\x9c\\xd7\\x68\\x41\\x42\\x79\\xb2\\x55\\x94\\xb0\\x20\\x09\\x26\\x30\\x63\\x51\\x12\\x09\\xe0\\xa3\\x01\\xa9\\x9d\\x37\\x2a\\xf4\\xba\\x2a\\x13\\xd4\\xe0\\x8f\\xda\\xdf\\xf1\\x68\\xb6\\xa4\\x9c\\xc2\\x51\\x25\\x99\\x80\\x63\\xc3\\x98\\xe2\\x57\\xf0\\x69\\x38\\x60\\x75\\x27\\xdc\\x1d\\x0d\\x94\\x6d\\xd8\\x68\\xb4\\x72\\x48\\x12\\x91\\x68\\x21\\xa5\\x10\\xd0\\xc7\\x03\\x62\\xc8\\x1c\\xe5\\x10\\x5a\\xfd\\xfd\\x15\\xb9\\xba\\x2b\\xb1\\x51\\x56\\xa1\\x85\\xe7\\xb9\\xf7\\xda\\x8f\\x12\\x2c\\xe1\\x15\\xa4\\x48\\xd2\\x88\\xd6\\x27\\xf8\\x25\\x6a\\x3b\\xd4\\x31\\x12\\xc6\\x15\\xb3\\x6f\\x6c\\x32\\xf3\\x04\\x59\\x46\\x45\\xe4\\x18\\xae\\xc4\\x36\\x7a\\x2f\\x98\\x8e\\x96\\x90\\x0e\\x57\\x11\\xb2\\xd1\\x3a\\xb5\\x44\\xb5\\x91\\x65\\xa2\\x68\\x22\\xac\\x05\\x96\\x91\\x96\\xb5\\xf6\\xe6\\xfe\\x12\\x19\\x87\\x6f\\x30\\x5c\\xf5\\x93\\x1d\\x54\\xae\\x8a\\xd8\\x8c\\x4c\\x04\\x41\\x62\\xf7\\x81\\xd3\\x09\\x59\\x5c\\xd8\\xf0\\x16\\xe1\\x57\\xef\\x51\\x5c\\xa9\\x1c\\x4b\\x25\\x44\\xac\\xc2\\x8d\\xe2\\xca\\x68\\xa6\\xc6\\x34\\x2c\\x56\\x5e\\x92\\x2c\\x26\\x15\\x57\\xa6\\x10\\x36\\x28\\x8c\\x2e\\x1f\\x09\\x08\\x3a\\x5c\\x41\\x64\\x2b\\x8f\\xe1\\x8a\\xca\\xaf\\x12\\x7a\\x54\\xb9\\x24\\x9d\\x7b\\xa3\\xb9\\xfd\\x28\\x5e\\xd1\\xac\\x24\\xe3\\x15\\xdc\\xc2\\xd6\\xde\\x42\\x25\\x6b\\x47\\x33\\xe3\\x4f\\x94\\xee\\x09\\x7d\\x4a\\x64\\x7c\\x59\\x09\\x5d\\x49\\x12\\xc1\\x95\\xd1\\x68\\x66\\x1d\\x43\\x30\\x15\\x0a\\x73\\xaa\\xb6\\x08\\xa7\\xca\\xed\\x8c\\x29\\x95\\x5b\\x79\\xc2\\xfc\\x93\\x92\\x15\\xe5\\xa1\\xed\\x19\\xa4\\x71\\xea\\x9c\\xe8\\xbc\\xc6\\x13\\x24\\x32\\x5f\\x31\\x1b\\x05\\xa2\\x83\\x91\\x49\\x28\\x79\\x20\\x80\\x8f\\x05\\xb0\\xb1\\x1d\\x89\\xad\\xec\\x16\\x74\\x6e\\x27\\xa2\\x52\\xc7\\x2c\\x79\\xe6\\x86\\x36\\xc3\\xc5\\xf6\\xcc\\xe6\\x73\\x8c\\x0f\\x0a\\x3e\\xc2\\x09\\x09\\x4d\\x69\\xf5\\x0e\\xd3\\x94\\x60\\x34\\x0b\\x66\\xa2\\xd7\\xf1\\xbc\\xd5\\x68\\x66\\x35\\x36\\xb6\\xb1\\xaa\\x1f\\x25\\x9d\\x2c\\xaa\\x43\\xad\\x53\\xe5\\x3b\\x15\\xa3\\x85\\xe7\\x9b\\xb9\\x31\\xed\\x99\\x64\\xe4\\xc1\\xc5\\xd0\\x4e\\x43\\x55\\xeb\\x13\\xcd\\xc2\\x39\\xd2\\x0e\\xd6\\xdf\\xb0\\x8c\\xf1\\x5d\\x46\\x53\\x22\\xc6\\x0c\\x4f\\x84\\xa6\\x0c\\xad\\x3f\\x9d\\xa6\\xfc\\x2a\\x4d\\x11\\x5e\\xc4\\x68\\x8a\\xfb\\x4b\\x6b\\x6f\\x14\\x96\\x37\\x6f\\xb0\\x32\\x08\\x4d\\x71\\x44\\x23\\x11\\x91\\x19\\x4c\\x46\\xbe\\x95\\x94\\x07\\x51\\xee\\xde\\x9d\\xa6\\x40\\x85\\x4a\\x71\\xf5\\x06\\xa9\\xff\\x45\\x95\\xac\\x34\\xa2\\x62\\xbc\\x8d\\xc1\\xd5\\x70\\x65\\x26\\x9a\\xae\\x91\\xd0\\x94\\x04\\x10\\xa1\\xa9\\x36\\x5e\\x6c\\x0d\\x97\\x11\\xba\\x24\\x4d\\xb1\\x62\\xd2\\xfd\\x2a\\x4d\\xb5\\x67\\x72\\x63\\x9a\\x15\\x43\\x73\\x68\\x27\\x5c\\x24\\xed\\x10\\x2a\\xdb\\x74\\xfa\\x82\\xc6\\xb3\\x87\\xc8\\x0e\\x11\\x53\\xe3\\x25\\x84\\x82\\xc9\\xa8\\x37\\x2b\\xdf\\x47\\x56\\x5d\\xf0\\xd5\\x89\\xb4\\x22\\xc2\\x50\\x13\\x88\\x8c\\xba\\xe8\\x68\\x8f\\xf0\\x17\\x26\\x73\\xcc\\xc8\\x2f\\xc7\\x98\\x08\\xcb\\x12\\x0d\\x66\\x83\\x85\\xb7\\x1a\\xcc\\x0a\\x32\\x76\\x15\\xd9\\x7e\\x3d\\xf2\\xf4\\xf2\\x96\\xb2\\x5e\\x46\\x6c\\x84\\xa3\\x50\\x0e\\xae\\xc9\\x5d\\xc6\\x81\\xa9\\x11\\xae\\x70\\x39\\x84\\x79\\x21\\x3b\\x1a\\x25\\x53\\x2b\\xa9\\x4e\\x04\\x16\\xa3\\xd1\\x2e\\x91\\xe9\\x9a\\xd3\\x62\\x67\\x6d\\xb2\\xb4\\x31\\x96\\x2c\\x4b\\x84\\x27\\x9b\\x70\\xab\\x04\\x8c\\x69\\xfa\\xc3\\x27\\x93\\x74\\x07\\xb2\\xd4\\xd2\\x7d\\x4e\\x7a\\xd4\\x94\\x72\\x05\\x55\\x0b\\x59\\xd8\\xdc\\x7c\\x8e\\x71\\x35\\x46\\x86\\xa1\\x3d\\xd2\\x51\\x42\\x88\\xed\\x19\\xd2\\x51\\x46\\x8a\\x3a\\x1d\\x80\\xe2\\xd7\\x45\\xf1\\x4b\\x98\\x83\\x95\\x10\\x23\\x91\\x89\\x7a\\x72\\x34\\x77\\x23\\xc7\\xae\\xf8\\x8d\\x12\\xa4\\x2f\\x42\\x92\\x61\\x9a\\xfc\\x66\\x0c\\xe1\\x74\\x1a\\x3f\\xd2\\x70\\x5b\\x28\\xbb\\x08\\x9f\\x33\\x99\\x45\\x33\\x91\\xbf\\x66\\x51\\x31\\x76\\xd3\\x3a\\x3a\\xa1\\x56\\xa7\\x79\\x50\\xcc\\x9a\\x08\\x5d\\x32\\xa9\\x16\\xd1\\x40\\x04\\x1f\\x45\\x2c\\x17\\x29\\x43\\xc5\\x6b\\xa5\\xec\\x14\\x49\\x93\\xcc\\x98\\x33\\x73\\x0e\\xa7\\xc1\\x6a\\x75\\xd8\\x2d\\x8c\\x48\\xed\\x21\\xce\\xac\\x84\\x65\\x51\\x1b\\xe2\\x19\\xd3\\xe8\\x89\\x52\\xf5\\xb2\\x94\\xce\\x19\\x55\\x26\\x38\\x94\\x89\\x65\\x4a\\xad\\xcd\\x8c\\x13\\xaa\\xc2\\x95\\x10\\xad\\xc6\\x0b\\xb1\\xaa\\x6b\\x10\\xde\\x4b\\xdb\\x2a\\x33\\x6d\\xc8\\x62\\x35\\x73\\x9c\\xd5\\x48\\x50\\x2b\\x19\\xd5\\x2e\\x95\\xda\\xf4\\xba\\x51\\x28\\x3c\\x1c\\x75\\x0a\\x41\\x17\\x0d\\x49\\xd3\\x0c\\x08\\xd5\\x86\\x16\\x08\\xcf\\x10\\xe4\\x92\\xae\\xe4\\xfe\\x42\\xf1\\xd0\\x49\\xff\\x32\\xa3\\x62\\x39\\xc6\\x68\\xe6\\x29\\xdd\\x72\\x04\\xbd\\xa2\\x49\\x31\\x76\\xd3\\xc1\\xb4\\x71\\xef\\xec\\x24\\x4d\\x22\\xc2\\x97\\x94\\xa2\\x4a\\x5f\\x4d\\x1b\\xd3\\x74\\x1b\\x2e\\xd2\\x2e\\x3a\\xfe\\xed\\xe8\\x32\\xd9\\x65\\x35\\x1a\\x9d\\x84\\x0d\\x8b\\x58\\x74\\x38\\x6d\\x1c\\xe7\\xb0\\xdb\\x18\\x2b\\xb6\\xb7\\x49\\x1c\\xcf\\xb1\\x47\\x91\\x0f\\x99\\x35\\xba\\x0d\\x1f\\x29\\xd6\\x63\\x38\\x42\\xb9\\x04\\xb1\\x7e\\x75\\xec\\x90\\xe9\\x20\\xa1\\x5c\\x8a\\x58\\x95\\x78\\xf1\\x8a\\xd6\\xa1\\xa4\\x5f\\xff\\x42\\xdb\\x2b\\x9c\\x23\\xad\\xd5\\x74\\x2c\\x8d\\x96\\x08\\x7e\\x0d\\x66\\xb3\\x95\\x68\\x88\\x16\\x2b\\x32\\x1a\\xa3\\xf8\\x0d\\xe9\\x75\\xc5\\xb6\\xae\\xf8\\x75\\x95\\xeb\\xb4\\x2e\\x36\\x5e\\x18\\x7e\\x99\\x5a\\xa7\\x29\\x5f\\xdc\\x5f\\xc8\\x38\\xd1\\x14\\xb0\\xa8\\x3e\\xca\\xf0\\xab\\xb6\\xd9\\x42\\xc9\\xd7\\xc0\\xb5\\x4a\\xdd\\x74\\xd2\\x1e\\xf1\\xab\\xb5\\x97\\x94\\xc2\\x18\\x2b\\x5c\\x8c\\xb0\\x56\\x36\\x4d\\xa0\\xf8\\xd5\\xc9\\x22\\x86\\x5f\\xde\\x6e\\x77\\x12\\xdd\\x54\\x30\\x0b\\x0e\\xa7\\x64\\xb1\\x38\\xac\\x16\\x86\\x54\\x6b\\x88\\x08\\x3e\\x49\\x95\\x7a\\xa6\\xb6\\xa8\\xd4\\xbb\\x24\\x7e\\x23\\xb2\\x89\\x5e\\xc4\\x4e\\xf7\\x30\\xde\\x14\\xda\\xa9\\x51\\xb1\\x92\\x2c\\x3c\\xc3\\x18\\x21\\xbf\\x84\\x10\\x31\\x61\\xc4\\xcd\\x48\\xa7\\x2f\\xc7\\xa0\\x1a\\x39\\xd1\\x2a\\x39\\x08\\xff\\x8d\\x89\\x71\\x7b\\xcc\\x76\\xbb\\x87\\x70\\x08\\xb7\\x8b\\x70\\x08\\x0b\\xcf\\xb4\\x87\\xe3\\x01\\x49\\x68\\x73\\xa8\\x24\\xf6\\x68\\xc0\\x4a\\x69\\xd9\\xaf\\xb3\\xf7\\x11\\xe1\\x16\\x11\\x65\\xba\\x2b\\xcf\\x88\\xb0\\xe6\\x08\\xef\\x88\\x30\\x68\\x8d\\x87\\x68\\x5c\\x9a\\xa9\\x4c\\x9d\\xea\\x76\\x99\\x9c\\xe0\\x92\\x24\\xbb\\x85\\x4c\\xaa\\x62\\x8c\\x16\\xa3\\x9b\\xf7\\x58\\xdd\\xc8\\x41\\x7a\\xc4\\x6a\\xb3\\xb2\\xaa\\xb9\\xb0\\xad\\x9d\\x32\\xef\\x0a\\xbf\\xee\\x92\\x76\\xb4\\x6b\\xfc\\xfa\\x61\\x1e\\x1d\\x01\\x9a\\x18\\x0c\\xf3\\xf0\\x73\\x84\\x1c\\x69\\x9f\\x69\\x7c\\x5c\\xed\\x34\\xd6\\x77\\xec\\xec\\x69\\xa4\\x3e\\xb4\\xdf\\x9c\\x28\\x0e\\xd5\\xcb\\x89\\xbc\\xcd\\x96\\xe0\\x36\\x9b\\xe3\\x8c\\xd8\\x6e\\x17\\x2c\\x46\\x4b\\x7c\\x82\\x47\\x92\\xe2\\x05\\x4f\\xac\\x87\\x92\\xa7\\x39\\x80\\x63\\xdb\\x90\\xab\\xd5\\x1e\\xee\\x46\\x8b\\x29\\xe4\\x34\\xe8\\x87\\x89\\xf6\\xa0\\xeb\\x4c\\xdd\\xe1\\xab\\x48\\x75\\x39\\xfd\\xc0\\xf1\\x6b\\xdc\\x89\\x76\\xed\\x39\\xdd\\x00\\xd2\\xba\\x99\\x75\\x71\\xeb\\x13\\xea\\x40\\x62\\xfc\\x8a\\xad\\x5f\\x20\\xbc\\x58\\xb8\\x8f\\xf1\\x4c\\xd7\\x31\\x6a\\x0a\\x0f\\xb7\\x42\\xd4\\xb6\\x1d\\xa4\\x3b\\xd3\\x85\\xfb\\x5a\\xa7\\x0a\\xf7\\xe1\\xc5\\xbc\\x6a\\xe3\\x12\\x91\\xb6\\x92\\x58\\x34\\x3f\\x5b\\xb6\\xe8\\x96\\x3f\\xb4\\x87\\x7f\\x27\\x9a\\x9f\\xc1\\x8f\\x39\\xae\\xc1\\x57\\x50\\x45\\xf7\\x02\\xa8\\x78\\xd2\\xf2\\xe3\\xb7\\x7a\\xcc\\xaf\\x9e\\x94\\x72\\xa6\\xe3\\xb7\\x42\\x7d\\xc8\\x47\\xcd\\x8f\\xcf\\xea\\xe0\\x03\\x8f\\x84\\xee\\xf9\\x09\\xec\\x48\\xfe\\x3e\\x68\\x7e\\xe8\\x3f\\xc2\\x7d\\xe2\\xdd\\xda\\x5a\\x9e\\x9d\\xd0\\x50\\x1c\\xf2\\xb2\\x9b\\x26\\xe1\\xdb\\xce\\x65\\x68\\x20\\xaa\\x40\\xc3\\xd1\\x28\\x34\\x06\\x55\\xa3\\xc9\\xe8\\x72\\x34\\x03\\xd5\\xa2\\xb9\\x68\\x3e\\x5a\\x84\\x96\\xa0\\xab\\xd0\\x6a\\xb4\\x1e\\x6d\\x46\\xd7\\xa0\\xeb\\xd1\\x0e\\xb4\\x0b\\xed\\x41\\xb7\\xa2\\xfd\\xe8\\x00\\xba\\x1b\\xdd\\xcb\\xbd\\x24\\x77\\xfc\\xe6\\x8e\\x7d\\x37\\x37\\xff\\xf6\\xb7\\xf7\\x2c\\x9e\\x3a\\x32\\xcf\\xba\\x76\\xed\\x15\\x53\\x46\\xf4\\xb5\\xac\\x99\\x37\\xae\\x24\\x59\\xd8\\xbe\\xbd\\x61\\x6c\\x71\\x12\\x1f\\x5c\\x16\\x18\\xda\\xdb\\xb9\\x71\\xe3\\xd2\\x69\\x72\\x2f\\xc7\\x86\\x39\\x13\\xcb\\x13\\xa4\\x1b\\x6e\\xa8\\x9b\\xd0\\x3f\\xde\\xb8\\x73\\xe5\\xac\\xc1\\x59\\x9e\\xad\\x5b\\x57\\xcc\\x1c\\x94\\xe9\\xde\\xb2\\x65\\xe7\\x86\\xe0\\x1a\\xe1\\xda\\x83\\xb7\\xef\\xbd\\x69\\xf7\\x3d\\xf7\\x2c\\xb8\\xac\\x30\\x1d\\xb6\\x6d\\x6b\\xaa\\x2a\\x48\\x43\\xd7\\x5e\\xdb\\x72\\xa8\\xb1\\x05\\x86\\xb6\\x4c\\x6c\\xc1\\x45\\x2d\\xe0\\x6b\\x01\\xbe\\xc5\\xdd\\x82\\xff\\xd3\\x02\\x7f\\x6f\\x81\\xb3\\x2d\\xf0\\x52\\x0b\\x1c\\x6f\\x81\\x60\\x0b\\xac\\x6d\\x81\\x79\\x2d\\x50\\xd3\\x02\\x85\\x2d\\x43\\x5b\\x70\\x46\\x0b\\xc4\\xd0\\xac\\xb0\\xe0\\xeb\\x16\\xf8\\x88\\x66\\x7b\\xab\\x05\\x93\\x8c\\x6b\\x5a\\x82\\x2d\\x7b\\x5b\\xb8\\x05\\x2d\\x30\\xb5\\x05\\x2a\\x69\\x66\\x70\\xb5\\x64\\xb4\\x60\\xae\\x05\\x3e\\x6c\\xf9\\xba\\x05\\x13\\x88\\xc7\\x5a\\x5e\\x6a\\xc1\\xf7\\xaa\\x59\\x31\\xc9\\x38\\x9d\\x65\\x4c\\x6f\\x29\\x6c\\xc1\\xb8\\xc5\\xd5\\x82\\xbf\\x6a\\x81\\x3f\\xb7\\x7c\\xd8\\x82\\x5f\\x6c\\x91\\xef\\x22\\x99\\xe1\\xd6\\x96\\x7b\\x5b\\x70\\x53\\xcb\\x9a\\x16\\x1c\\x68\\x81\\xd1\\x2d\\x50\\x4a\\x33\\x13\\xa8\\x40\\x60\\x96\\x7f\\x45\\xe1\\xd2\\x7a\\x9e\\x6c\\x81\\xa3\\x2d\\xf0\\xbb\\x16\\xb8\\xbe\\xe5\\xd6\\x16\\x3c\\xad\\xa5\\xa9\\x05\\x5f\\xd6\\x02\\x03\\x5a\\xa0\\x6f\\x38\\x6f\\xd7\\xf2\\x9b\\x68\\xf9\\x97\\xb5\\x04\\x5a\\x30\\xc9\\x95\\xdd\\x02\\x71\\x2d\\x80\\x5b\\x20\\x5a\\x7a\\xb7\\xb2\\x07\\xb4\\x8c\\x6e\\xc1\\xde\\x96\\xdc\\x16\\x6c\\x69\\x01\\x09\\xdd\\xbb\\x6b\\xc7\\xf5\\xd7\\x5e\\x7f\\x02\\xb8\\x63\\x81\\xbb\\xe7\\xcf\\x5d\\xd4\\xb4\\x88\\x3c\\xca\\xa6\\xc0\\xc1\\x86\\xba\\xa6\\xda\\x19\\x97\\x4f\\xb9\\x5c\\x8d\\xce\\x9c\\x36\\xe5\\xc0\\xe4\\xea\\x31\\x55\\x63\\xd4\\xe8\\xed\\x13\\xc6\\x56\\x0d\\xaf\\x18\\x35\\x62\\x94\\x1a\\x95\\x07\\x8d\\xd8\\x3f\\xb0\\xcc\\x5f\\xe0\\x57\\xa3\\x7b\\xfb\\x17\\x17\\xe4\\xe6\\xe4\\xf7\\xcd\\x57\\xa3\\xbd\\x32\\xfb\\xde\\x9a\\xea\\xf5\\xa5\\xf9\\xd4\\xe8\\x4d\\x49\\xf1\\x69\\x71\\x31\\x76\\xaa\\xcf\\xd1\\xa8\\xdb\\x61\\xd9\\x43\\xe6\\xdb\\x74\\x7e\\x4a\\xa3\\xbb\\x89\\x60\\xbe\\x66\\xf3\\xfa\\x35\\xeb\\x69\\xb4\\x22\\xb0\\x65\\xc3\\x9a\\xd8\\x29\\xe0\\xad\\x82\\x84\\x11\\xe0\\x2d\\x00\\x6f\\x5f\\x70\\xa7\\x41\\xd3\\x94\\xaa\\x11\\x05\\x7d\\xd3\\x2c\\x68\\xcd\\x1a\\x64\\x49\\xeb\\x5b\\x30\\xa2\\x6a\\x4a\\x93\\xe9\\x8a\\x7b\\x76\\x06\\xbd\\xd7\\x0e\\xbc\\x16\\xdb\\xaf\\x05\\x09\\x5f\\xbb\\xfa\\xaa\\x25\\x57\\x2c\\x21\\x30\\x1e\\x0d\\xac\\x58\\x7a\\x05\\xca\\x0f\\xf3\\x39\\xd5\\x30\\x0c\\xb3\\x7c\\x90\\x1f\\xf9\\xa7\\x2e\\xa6\\xeb\\xae\\x37\\x69\\x57\\xed\\xff\\x57\\x29\\x6a\\x08\\xb5\\xb3\\x7b\\x5a\\xb9\\x5f\\xbe\\xbc\\x47\\xaf\\x06\\x97\\xca\\xd3\\x29\\x87\\x9a\\x45\\x13\\x20\\x61\\x33\\x01\\xd4\\x90\\x83\\xdf\\x1f\\x36\\xee\\x10\\x4d\\xfe\\x79\\x11\\xf5\\x9b\\x1a\\x13\\xf6\\xf8\\xb2\\xb4\\x8f\\xa0\\x7b\\x36\\xfc\\x88\\xf4\\xb8\\x5f\\x90\\x1f\\xbe\\xe7\\xd9\\xd9\\xc3\\x67\\x7e\\x53\\x13\\xdc\\x49\\x3e\\x07\\xe7\\xcf\\x0f\\x35\\x93\\xef\\x03\\xea\\xe7\\xf4\\xfc\\xf9\\x4a\\x5d\\x53\\x93\\x52\\xdf\\xd4\\xc4\\x5b\\xc9\\xf7\\x1c\\xf5\\x73\\x3a\\x9a\\xfb\\x74\\x8f\\xa9\\x97\\x80\\x71\\x3a\\x9a\\xda\\xfe\\x7c\\xf4\\xb9\\xed\\xab\\xe8\\x2f\\xe9\\x77\\xf4\\x9f\\x90\\x51\\x4f\\xff\\xcd\\xa9\\x8b\\xfe\\x9b\\xdb\\xfd\\x79\\x0e\\xfd\\x57\\x3f\\x9b\\xfe\\xab\\x67\\xcf\\x6a\\xb2\\xe1\\x5f\\xec\\xc7\\xe0\\x63\\x31\\xe5\\x42\\xbd\\x72\\xa1\\x4e\\x79\\x9f\\xfc\\xcd\\x51\\xfe\\x32\\xc7\\xf0\\x19\\x3d\\xe0\\x3e\\x85\\xc8\\x88\\xff\\x67\\x3c\\x1c\\xdd\\x87\\x1e\\x44\\x8f\\xa2\\xe3\\xe8\\x49\\xf4\\x0c\\x7a\\x01\\xbd\\x8c\\x5e\\x45\\xa7\\xd1\\x9b\\xe8\\x1c\\x7a\\x17\\x5d\\x40\\x17\\xd1\\x3f\\xd0\\x27\\xe8\\x73\\xf4\\x15\\xfa\\x16\\xb5\\xa1\\x0e\\xe0\\xc0\\x00\\x66\\xb0\\x43\\x0c\\xc4\\x81\\x17\\x52\\xe9\\xa5\\x50\\xc8\\x85\\x7c\\xf0\\x43\\x19\\x0c\\x84\\x0a\\x18\\x0e\\xa3\\x60\\x0c\\x54\\xe3\\xb7\\x64\\x29\\xbe\\x6a\\xcd\\xa1\\xb7\\xbf\\x14\\xbf\\xf8\\x62\\x68\\x05\\x4c\\x80\\x89\\x68\\x3d\\xf9\\x00\\x9a\\x48\\xc2\\x39\\xe4\\x83\\xd1\\x30\\x16\\xf7\\xb3\\xd0\\x4d\\xc2\\x4c\\x96\\x2a\\xb0\\xf8\\xdf\\x49\\xf8\\x0d\\x8b\\x9f\\x63\\xf1\\x43\\x24\\x3c\\xc1\\xe2\\xfb\\x58\\x7c\\x1d\\x09\\x7f\\xc5\\xe2\\x8b\\x58\\x7c\\x28\\x09\\x27\\xb2\\x78\\x11\\x8b\\xfb\\x58\\xc8\\x93\\x90\\x40\\x7e\\x04\\x37\\xfd\\x67\\xe8\\x1a\\x96\\xf2\\x16\\x09\\xff\\xce\\xf2\\xbd\\xcc\\xe2\\x7b\\x49\\x78\\x88\\xc5\\xb7\\xb3\\xf8\\x42\\x12\\xae\\x63\\xf1\\x19\\x11\\xb8\\x80\\x32\\x48\\x58\\xc4\\x52\\x63\\x22\\x70\\x01\\x7d\\xcd\\xc2\\x8f\\x58\\xf8\\x12\\x09\\xdf\\x62\\x39\\x8e\\xb3\\x78\\x90\\x84\\x7b\\x59\\x7c\\x2d\\x8b\\x4f\\x27\\xe1\\x42\\x16\\x97\\x59\\xbc\\x90\\x85\\x2e\\x12\\x66\\xb0\\x54\\x8e\\xc5\\x3f\\x24\\xe1\\xd7\\x2c\\x7e\\x36\\x02\\x15\\xd0\\xbd\\x24\\x3c\\xce\\x52\\x69\\x1b\\x82\\xec\\x69\\x01\\x7b\\x33\\x9a\\x84\\xd3\\x59\\xbc\\x30\\x52\\x4f\\x60\\xb0\\x62\\x68\\xab\\xfb\\x7f\\x3d\\x74\\x35\\x4b\\xa1\\xd0\\x3e\\x62\\xf9\\x54\\x88\\xd1\\x3a\\x02\\x83\\xb4\\x96\\xbd\\x9b\\xce\\xe2\\x63\\x58\\x38\\x58\\x07\\xef\\x97\\xb7\\x79\\xcc\\xff\\x93\\x36\\x0f\\x64\\xf1\\xbe\\x2c\\xb4\\x92\\x30\\x99\\xb6\\xd9\\x88\\x7a\\xe6\\xc3\\xcb\\x2e\\xc1\\x87\\x7b\\xce\\xd1\\x2d\\x03\\x65\\xc2\\x71\\x1a\\x9f\\x2c\\xeb\\xe1\\x23\\xfc\\xff\\x90\\x9e\\xd5\\x25\\x2d\\xcc\\x63\\x73\\x7a\\xf8\\x18\\x2e\\x01\\x27\\xee\\x27\\xe6\\x87\\x9f\\x98\\x1e\\xa3\\xc1\\x8a\\xfb\\x81\\x6f\\xa7\\x96\\x77\\x3e\\x63\\xb6\\xe4\\xef\\x0c\\xfb\\x23\\x0f\\x6d\\x3b\\x09\\xb3\\x56\\xff\\xd4\\xd4\\xf9\\xf3\\xdb\\xa7\\xff\\x82\\x5c\\x70\\xa7\\x3e\\xcf\\xf3\\xf3\\xe7\\x73\\xbf\\xed\\x9c\\x89\\xfc\\xcd\\xef\\x06\\x6c\\xfe\\x8f\\xc8\\xd3\\xf6\\xd5\\x8f\\xa9\\x83\\xfa\\xd3\\xf9\\x97\\x0a\\xe9\\xb7\\x26\\x3d\\xea\\xbb\\xc9\\x90\\xba\\x4b\\xc8\\x93\\x4b\\xa6\\xcf\\x89\\xfe\\x53\\xe5\\xcc\\x6c\\x9d\\xb4\\x99\\xa3\\x93\\x39\\x9d\\x24\\x4f\\xbd\\x5e\\xfe\\xd4\\x85\\xa5\\xd0\\x1c\\x0d\\x38\\xf9\\x10\\x60\\x34\\x4a\\xb2\\x93\\x4c\\x74\\xfe\\x37\\x9c\\xcd\\x71\\xce\\x12\\x79\\x74\\x19\\x1a\\x87\\x26\\xa2\\xa9\\x28\\x80\\x66\\xa1\\x39\\x68\\x1e\\x5a\\x80\\x16\\xa3\\x65\\x68\\x25\\x5a\\x8b\\x36\\xa2\\xad\\x68\\x1b\\xda\\x8e\\x6e\\x40\\xcd\\xe8\\x66\\xb4\\x0f\\xdd\\x81\\x7e\\x83\\x7e\\x8b\\x5a\\xd0\\xfd\\xe8\\x61\\x74\\x14\\x3d\\x8e\\x9e\\x46\\xcf\\xa1\\x17\\xd1\\x2b\\xe8\\x14\\xfa\\x13\\x3a\\x8b\\xce\\xa3\\xf7\\xd1\\x5f\\xd1\\x47\\xe8\\x63\\xf4\\x2f\\xf4\\x25\\xfa\\x0f\\xfa\\x0e\\x85\\x00\\x40\\x00\\x09\\xac\\xe0\\x04\\x0f\\x24\\x40\\x32\\xa4\\x43\\x16\\xf4\\x86\\x3c\\x28\\x84\\x12\\x28\\x87\\xc1\\x30\\x14\\x46\\xc2\\x65\\x30\\x0e\\x26\\xe2\\x7f\\xcb\\xce\\x6f\\x47\\x2f\\xfc\\xd5\\xe1\\x3f\\x8a\\x71\\x71\\x1e\\xa7\\x55\\x12\\xc4\\xd8\\xd8\\xa1\\xc3\\x60\\x12\\x4c\\x46\\xcb\\xc9\\x07\\xd0\\x5c\\x16\\x4e\\x64\\x61\\x11\\x09\\x87\\x91\\x0f\\x26\\x52\\x62\\x32\\x93\\x3d\\x34\\x14\\x58\\xf8\\x1f\\x16\\xfe\\x9d\\x85\\x2f\\x93\\xf0\\x1c\\xcb\\x77\\x88\\xc5\\xb7\\x93\\x70\\x1f\\x8b\\xeb\\x61\\x4e\\x61\\xe1\\xd0\\x08\\x64\\xca\\x2f\\x27\\x33\\xc8\\x98\\xf0\\xcc\\xc9\\x8f\\x00\\x91\\x3d\\x1b\\x58\\xfa\\x5b\\x24\\xfc\\x3b\\x4b\\x7f\\x99\\xc5\\xf7\\x92\\xf0\\x10\\x8b\\x6f\\x67\\xf1\\x75\\x2c\\xac\\x67\\xe1\\x64\\x1d\\xd4\\x0c\\x12\\x16\\xb1\\x7c\\x31\\x2c\\xce\\xb3\\xf0\\x23\\x12\\xfe\\x87\\xa5\\xbe\\xc5\\xe2\\xc7\\x49\\xf8\\x32\\x8b\\xef\\x65\\xf1\\xb5\\x24\\xdc\\xce\\xe2\\x0b\\x75\\x10\\x47\\xb0\\xb0\\x30\\x02\\x17\\x3a\\xc1\\xfc\\x3a\\x02\\x99\\xf2\\xe1\\xc9\\x0c\\x32\\x66\\x90\\x29\\x77\\x9f\\xcc\\x20\\x63\\x06\\x19\\x34\\xa8\\x33\\x58\\x38\\x9c\\x85\\xc5\\x2c\\x74\\x91\\x30\\x83\\xe5\\xe3\\x68\\xeb\\x89\\x0c\\x52\\xb1\\x75\\x96\\x84\\x1f\\xb1\\xf4\\x97\\x22\\xf5\\x55\\xa1\\x52\\x19\\x34\\x99\\x41\\xa5\\x32\\x68\\x32\\x93\\x41\\x34\\x1c\\xc4\\xc2\\xcc\\x08\\x54\\x2a\\xd9\\x26\\x33\\x89\\x31\\x99\\xd5\\x14\\x33\\x98\\x80\\x8e\\x91\\xf0\\x25\\x16\\xbf\\x97\\xc5\\xd7\\x90\\x30\\xc8\\xe2\\x0b\\x58\\x5c\\x85\\x39\\x90\\x84\\x63\\x58\\x6a\\x5f\\x16\\xc7\\x24\\x74\\xb1\\xf8\\x57\\x11\\xa8\\x80\\x5e\\x24\\xe1\\x59\\x96\\x7a\\x8c\\xc5\\xa3\\x10\\x41\\x83\\x36\\x9a\\x84\\xd3\\x59\\x8e\\x81\\x2c\\x9e\\x44\\x42\\x02\\xf1\\x11\\x8c\\x88\\x82\\x32\\xf9\\x61\\xea\\xd9\\xac\\xf6\\x87\\x26\\x02\\x97\\x3c\\xe5\\xf3\\x43\\x99\\x54\\x31\\xa4\\xde\\x25\\x4c\\x77\\xfa\\x4b\\x7c\\x3d\\x7c\\xfc\\x9e\\x4b\\x7d\\x7c\\x1e\\xbf\\xb3\\x87\\x0f\\x74\\xc9\\x18\\x47\\xd2\\x72\\x74\\x1f\\x43\\x97\\xf7\\x02\\x49\\x2b\\xd3\\xc7\\xc9\\x27\\x9d\\x7c\\x0c\\x25\\x3e\\x4f\\x16\\xf9\\x8e\\x21\\xdf\\x3e\\xdd\\xa7\\xeb\\xef\\x7f\\xf0\\x7d\\x97\\xf2\\xa1\\x6b\\xbc\\x4b\\x3d\\xc3\\xbf\\x37\\x68\\xf5\\xa2\\xf5\\x89\\x23\\x70\\xe3\\xba\\xc0\\x8f\\xe9\\x1a\\xd7\\x7e\\x1f\\xfe\\x16\\xce\\xb6\\xe6\\x2e\\x8c\\xfe\\x5b\\x44\\xff\\xd3\\x7f\\xe1\\xef\\xf0\\xbf\\xd6\\x9b\\xa3\\x49\\x6f\\x91\\xbf\\x85\\x0b\\xcf\\x92\\x3f\\x2d\\x2d\\xf4\\x7f\\x0b\\xb5\\x97\\xed\\x87\\x17\\x41\\xc5\\xa2\\xb3\\x8b\\xe0\\xbe\\x45\\x51\\x30\\x3a\\x58\\x9d\\xe3\\x11\\x40\\x38\\x96\\x45\\xce\\xb2\\x3f\\xfc\\x09\\xcd\\x11\\x29\\x60\\x11\\x85\\xad\\xd4\\x90\\x37\\x67\\xc3\\xbf\\x8e\\x7c\\xd3\\x3c\\x8b\\xd8\\x8f\\x42\\x7b\\x20\\x63\\x0e\\xfd\\xf3\\xd5\\x41\\x7a\\x3d\\xfb\\xeb\\x24\\x31\\x9e\\x8b\\x4c\\x30\\xc8\\xdf\\x6c\\x12\\x8a\\x0b\\xc3\\xaf\\x9e\\xed\\x2a\\x84\\x9e\\x0d\\x3f\\xbc\\xa0\\x97\\x0d\\xdd\\x64\\x4c\\x34\\x29\\x92\\x4b\\x3c\\x15\\x96\\x2b\\x61\\xe9\\x46\\x4a\\xd5\\x8a\\x98\\x13\\x01\\xad\\x82\\x7d\\x2e\\x02\\x4c\\x05\\x14\\x05\\xc0\\x7e\\x4c\\xd7\\xc8\\xd6\\xa3\\x95\\xfc\\x74\\x9e\\xfa\\xaf\\xa8\\x97\\x87\\x73\\x98\\x17\\xaa\\x05\\x70\\x08\\x70\\x41\\x00\\x59\\x78\\x56\\xc0\\x76\\x01\\x76\\x09\\xb0\\x54\\x80\\x54\\xa1\\x42\\xa0\\x93\\x88\\x81\\x4b\\x04\\x28\\x10\\x60\\x33\\x7d\\x5f\\xc7\\xde\\x7f\\x21\\xc0\\x83\\x2c\\x4b\\x85\\x00\\xd4\\x99\\x45\\x7e\\xd8\\x3b\\x58\\xd4\\x15\\xdd\\x72\\x66\\x10\\x95\\x68\\x79\\xe9\\xce\\xf4\\xf5\\xdc\\x85\\xf6\\x74\\x7e\\x4a\\x7b\\xba\\x7a\\x87\\x80\\x7a\\x0f\\x38\\xcd\\xbf\\xc2\\xe6\\x5f\\x27\\xe5\\x58\\x03\\xbb\\x32\\x27\\x19\\x8b\\x25\\x78\\x55\\x7a\\x57\\x6a\\x93\\xb8\\x06\\x09\\x24\\x6a\\x7f\\xcd\\xba\\x62\\x75\\x95\\x59\\xca\\x95\\xf0\\x15\\x6d\\x5a\\x8a\\x34\\x6f\\x41\\x55\\xae\\x34\\x46\\xc2\\x2c\\x36\\xf3\\xf2\\x19\\x55\\x03\\xa5\\x19\\x12\\x4e\\x93\\x00\\x3b\\x24\\xf8\\x42\\x82\\x25\\xd2\\x2e\\x09\\x23\\x29\\x4d\\x92\\x25\\x6e\\xe0\\x83\\xd2\\x69\\x09\\xcb\\x52\\x9d\\xb4\\x45\\xda\\x2d\\xf1\\xa7\\xa5\\x0b\\x12\\x9e\\x20\\x2d\\x25\\xcf\\x07\\xa5\\x87\\x24\\x21\\x55\\x82\\xcf\\xa5\\x0e\\x09\\x6f\\x21\\xd1\\x67\\xa5\\x33\\x12\\x6f\\x97\\x52\\xa5\\x7c\\xa9\\x5a\\xe2\\x8d\\x3c\\x12\\xe8\\x29\\xac\\xf7\\x4f\\xc1\\x6c\\x7d\\xbb\\x96\\xd5\\x2e\\x63\\x1e\\xa4\\x67\\xcf\\xca\\x25\\x91\\xe8\\x86\\x24\\x6d\\x63\\x8c\\x33\\xdd\\x29\\xf2\\xaf\\xb4\\x95\\x8d\\xe5\\x0b\\xe9\\x17\\xbf\\xb1\\xed\\x34\\x5f\\xc8\\xd6\\x30\\x17\\xc3\\x66\\xbc\\x80\\x5b\\x4f\\xda\\x7b\\x44\\xbe\\x0e\\x73\\xbc\\xe0\\x10\\xd2\\x04\\xfc\\x01\\xc3\\xa1\\x20\\x2f\\x5f\\x59\\x85\\x84\\x02\\x41\\x16\\xb8\\xc5\\x82\\x3c\\xb7\\xb1\\x8a\\x3a\\x35\\x3a\\x28\\x70\\x04\\xcb\\xa7\\x85\\x0b\\xc2\\xe7\\x02\\x57\\x27\\xec\\xa6\\x09\\xf9\\xb4\\x87\\x3e\\x17\\x3a\\x04\\x6e\\x8b\\xf0\\x10\\x75\\x7b\\x64\\x17\\x52\\x05\\xdc\\x9f\\xa6\\xe1\\xa5\\x24\\xc3\\x43\\x34\\x85\\x74\\x18\\xcd\\x82\\x77\\x93\\x0c\\x67\\x04\\x2e\\x55\\xc8\\x17\\x70\\x87\\x00\\x34\\xff\\x07\\xea\\x2f\\xaa\\xa9\\xf7\\x30\\x4c\\xef\\x3b\\x45\\x9a\\xb6\\x3c\\xf2\\x94\\x1b\\x6d\\x99\\xb6\\x58\\xba\\x40\\xe1\\xa1\\x1d\\x36\\x43\\x3b\\xe9\\xb7\\x68\\x3b\\x0c\\xe8\\x0f\\xb2\\x45\\xc4\\x02\\x87\\x39\\xa3\\xf4\\xa1\\xd6\\x37\\xf6\\xf5\\x9b\\xab\\x76\\x48\\x4f\\x4a\\x98\\x97\\xdc\\x12\\x5e\\xc8\\xd2\\x8a\\x16\\x2f\\xab\\xba\\x8f\\xa6\\xed\\x26\\x3d\\x54\\x20\\xd1\\xbe\\xa0\\x77\\xc0\\x05\\xd6\\x17\\x69\\xd2\\x04\\xad\\x6f\\x0e\\x4a\\xe2\\x69\\xe9\\x73\\xda\\x57\\x2a\\xa8\\x0a\\x79\\x44\\x95\\x5d\\x82\\xf2\\x0b\\x34\\x71\\x29\\xeb\\xae\\x67\\x69\\xff\\xa8\\x1d\\xb6\\x3b\\xdc\\x61\\xf9\\x12\\x74\\x48\\x40\\xdf\\x7d\\x20\\x71\\xb4\\xf7\\xaa\\x25\\xce\\x68\\x00\\x11\\x77\\xe9\\x3b\\xad\\xc3\\x98\\x2f\\x28\\xea\\xf8\\x29\\x57\\xef\\xb4\\x49\\xf3\\xf7\\xa1\\xb6\\x74\\xac\\x72\\x3b\\x6d\\xac\\x32\\x01\\x1a\\xa8\\x27\\x24\\xa0\\x04\\x6b\\x44\\xb8\\x49\\xf5\\xd1\\x8d\\x04\\x9e\\x63\\x5e\\x3e\\xd4\\x63\\xfe\\xe4\\x57\\xe9\\x46\\xf4\\x5f\\xf2\\x3a\\xb4\\x97\\x9e\\x2f\\xb8\\x13\\x21\\x71\\x2c\\xff\\x00\\xc1\\x94\\xf3\\x28\\x22\\xfd\\x0c\\x28\\x9a\\x37\\x5d\\x22\\xef\\xf1\\x34\\x5c\\xc3\\x3f\\xd0\\x36\\x89\\xe4\\x6d\\xee\\xf8\\x48\\x9c\\xce\\x1f\\x51\\xf3\\x02\\xa7\\xf9\\xfe\\x56\\xf3\\x4a\\x18\\x9a\\x19\\x09\\x1d\\x09\\xdd\\x19\\xda\\xaf\\x9e\\x5d\\xb8\\x93\\xe4\\x1f\\xcb\\xef\\x61\\xf9\\x89\\x3a\\xd0\\x09\\xb6\\x84\\xc5\\xb1\\xa1\\xc3\\xa1\\x43\\xfc\\x9e\\xb6\\x49\\xa4\\x78\\x96\\x5f\\x0f\\xbf\\x6b\\x7e\\xa2\\x04\\x8a\\xd3\\x29\\xf8\\xb6\\x72\\x3c\\x8f\\xe4\\x30\\x22\\xc4\\x7d\\x26\\x1c\\x44\\x02\\x92\\xd0\\x10\\x39\\xd9\\x00\\xc8\\xc8\\xf1\\x46\\x8e\\x5a\\xad\\x17\\xb0\\x60\\x32\\x0b\\x92\\x84\\x0d\\x04\\xad\\x1c\\x18\\xe9\\x19\\x7d\\x6a\\xe6\\x68\\x70\\xbe\\xce\\xaa\\x87\\x4b\\x33\\x7e\\x55\\x44\\xbd\\xd9\\x48\\xe0\\x97\\x78\\xec\\x9b\\xa4\\x94\\xc1\\x2b\\x93\\xe0\\x55\\xc5\\xa6\\xdc\\x09\\xf5\\x50\\x87\\x4f\\xe3\\x3f\\x85\\x0a\\x71\\x49\\xe8\\xd5\\xd0\\xf3\\x78\\x88\\xca\\x07\\xee\\x45\\x77\\xf1\\xfd\\xf8\\xde\\xcc\\xe6\\x46\\x8a\\x6c\\x71\\xa0\\x78\\x23\\x32\\xa6\\xa5\\xbb\\x2d\\x49\\x3c\\xe9\\xc0\\xf7\\x4e\\xe9\\x6f\\x96\\x84\\x0f\\xa8\\x33\\x43\\x93\\xfd\\xa0\\xcc\\x4d\\x8f\\x4e\\xd3\\xeb\\xfd\\xec\\xe2\\x37\\xdc\\xbb\\xe6\\x4f\\x6b\\xd7\\xbd\\xb1\\x76\\xed\\x9f\\xd6\\xaf\\x3b\\xb3\\xa6\\xa6\\xfe\\xde\\xb9\\xf5\\x2d\\x0d\\xf5\\xf7\\xd5\\xcf\\x69\\xa9\\xc7\\x0d\\x34\\xfd\\x4d\\xf2\\x6a\\xcd\\x9a\\x33\\xeb\\xea\\x5b\\xe6\\xd4\\x1d\\xae\\x27\\x6f\\xea\\x5b\\x98\\x4b\\x39\\x54\\x8f\\x6a\\xf8\\x5a\\x7e\\x12\\xa1\\x68\\x3b\\xbb\\xc7\\x9f\\x83\\xf2\\x51\\x19\\xaa\\x40\\xa3\\x50\\x35\\xba\\x1c\\xd5\\xa2\\xf9\\x68\\x09\\x5a\\x8d\\x36\\xa3\\x33\\xf2\\xa2\\xa4\\x09\\x4d\\x4d\\x53\\xae\\xe8\\xbf\\x66\\xcd\\xa0\\x0d\\xbd\\x96\\x2e\\xed\\xbb\\x22\\xad\\xae\\x2e\\xb3\\xc1\\x58\\x55\\x65\\x19\\x8b\\x64\\x99\\x1f\\xe1\\x28\\x28\\x70\\x17\\x17\\x8f\\x18\\xdb\\xb0\\x62\\xc3\\x15\\x86\\xf8\\x69\\x33\\xe3\\x67\\x6e\\xdd\\x32\\x7a\\xf9\\xf2\\xf1\\xab\\x86\\xad\\x5b\\x57\\xb9\\xa9\\x68\\xe1\\xc2\\xd2\\x2b\\x13\\xa7\\x4f\\x4f\\x99\\xed\\x9a\\x34\\x29\\xb6\\x06\\x0f\\x18\\x20\\x0e\\x31\\xf5\\xe9\\x63\\xeb\\xb7\\x6a\\xd3\\x95\\xb3\\x6b\\x86\\xf4\\xeb\\x37\\xa4\\x66\\xf6\\x95\\x9b\\x56\\x19\\x1a\\xb3\\x1b\\xeb\\x33\\xb2\\xa9\\x63\\x15\\x66\\x12\\x49\\x5b\\x76\\xd5\\x6f\\xdf\\x5c\\x2a\\x70\\x45\\x8d\\x2d\\xff\\x60\\x66\\x76\\xdf\\x8a\\x3a\\x83\\xf0\\x17\\xe5\\x68\\xdf\\x31\\xda\\x77\\x9c\\xf6\\x1d\\x7e\\x6f\\xe8\\x12\\xef\\xfa\\xdd\\xf5\\x7d\\xd7\\x78\\x56\\x17\\xf8\\xe1\\xf2\\xb8\\xb7\\x8b\\xfb\\xf7\\x2f\\xbe\\x89\\x06\\xdf\\x96\\x95\\x94\\x95\\x64\\xd2\\x27\\xa5\\xac\\x94\\xfc\\xbb\\xbf\\xac\\xa4\\xa4\\x0c\\x4f\\xa2\\x61\\x28\\x91\\x26\\xe0\\x6b\\x22\\x79\\x43\\x0f\\x14\\xf7\\x2f\\x2d\\x65\\x99\\xe1\\x0f\\xf4\\x9d\\x32\\x93\\x86\\xdf\\xd2\\xcc\\x37\\xd1\\x27\\xee\\x16\\x12\\xf4\\x25\\x31\\xe5\\xcd\\xb2\\xb2\\x92\\x8b\\x24\\x02\\x7b\\xc8\\xc3\\x74\\x0a\\x6c\\x35\\x09\\xe0\\xf1\\x52\\x7f\\x79\\x68\\x04\\x79\\xda\\x57\\x5c\\xdc\\x1f\\x27\\x69\\x99\\x14\\x8e\\x3c\\x7c\\x48\\x7f\\x76\\xb6\\x7f\\x71\\xff\\x3e\\xe4\\x41\\xbd\\xaf\\xff\\x08\\xda\\xce\\xfb\\xb8\\x56\\xf5\\xee\\xad\\x89\\xb7\\xd9\\xed\\xf2\\x86\\xcd\\x55\\x8b\\xec\\x10\\xb0\\xc3\\x18\\x3b\\x0c\\xb6\\x43\\xae\\x1d\\x92\\xed\\x60\\xb6\\xc3\\x4a\\xbb\\xbc\\x74\\x45\\x95\\x7d\\xcb\\xc2\\x25\\x55\\x76\\x99\\xc8\\xa9\\x48\\xa6\\xf2\\x70\\x26\\x78\\xd2\\xfe\\xaa\\xfd\\x5d\\x7b\\x9b\\x9d\\x7f\\xd0\\x0e\\xfb\\xa9\\x23\\xd8\\xcd\\xf6\\x5d\\x76\\xce\\x2e\\x8f\\x9d\\x50\\x75\\xc1\\x0e\\xaf\\x32\\x97\\xaf\\x3b\\xec\\xf7\\xd9\\xb1\\x5d\\xa6\\x1c\\xd0\\x9e\\x6a\\xc7\\x43\\xec\\x72\\x49\\x79\\xd5\\x69\\x3b\\xf9\\x2d\\x75\\x16\\x7b\\x93\\x1d\\xbc\\xf6\\x5c\\xfb\\x40\\xfb\\x0c\\xfb\\x7a\\xbb\\x60\\xb7\\x03\\xee\\xb0\\x83\\x5d\\x4e\\x4a\\xab\\x4a\\x63\\xee\\x65\\xed\\xb2\\xd3\\x5d\\xb5\\x85\\x7a\\x94\\x25\\xbf\\x35\\x1a\\xec\\x94\\x85\\xe5\\xcf\\x62\\xbc\\x90\\xf9\\xbe\\xab\\x55\\x15\\x62\\x95\\xd1\\x93\\x34\\xaa\\x09\\x87\\xd3\\x72\\x73\\xc3\\x7a\\x72\\xae\\x26\\x01\\xd8\\x88\\x43\\xbe\\x0c\\x44\\xdd\\x86\\xe0\\x85\\x57\\x9e\\x5f\\xae\\x28\\xc7\\x8f\\x29\\xca\\x92\\x73\\x5c\\xeb\\x8a\\x77\\x16\\x1e\\x57\\x14\\xe0\\x8e\\x5d\\x71\\x76\\xb5\\x3a\\x9e\\x7b\\x13\\xb9\\x7e\\x84\\xbf\\x86\\xd9\\x94\\xb8\\x51\\x5e\\xc0\\x83\\x05\\x63\\x70\\x7b\\x3c\\x72\\x5d\\x43\\xd5\\x12\\x0f\\xe4\\x7a\\xc6\\x78\\x66\\x78\\xb8\\x54\\x0f\\x98\\x3d\\xd0\\xe1\\x81\\x19\\x1e\\xf0\\xc8\\x13\\x6a\\xaa\\x3c\\xf2\\x88\\xb1\\x55\\x0f\\x7a\\x00\\xdb\\x3d\\xbb\\x3c\\xb8\\x3c\\xd5\\x53\\xeb\\x59\\xe2\\xd9\\xec\\x39\\xe0\\x11\\xec\\x9e\\x7c\\xf2\\xb0\\xcb\\xf3\\xa0\\xa7\\xc3\\x23\\x7a\\xe4\\x41\\x15\\x24\\x6f\\x71\\x59\\xd5\\x17\\x1e\\xa8\\x20\\x99\\x0e\\x90\\x74\\xde\\x01\\x46\\xa4\\x72\\x7b\\x52\\xeb\\x5c\\x7a\\x0c\\xbb\\x96\\x7e\\xab\\x3e\\xfe\\xf4\\x27\\xb2\\xd3\\x9d\\xd0\\x85\\x67\\xf4\\xe6\\xaf\\x69\\xe7\\x57\\xbd\\xba\\x7a\\xd5\\xa9\\x55\\xab\\x5e\\x23\\xe1\\x4a\\xfe\\x9a\\xb6\\x8d\\x78\\xe8\\xaa\\xd7\\x56\\x91\\x67\\x92\\xb8\\xfa\\x35\\xd2\\x12\\x7d\\x9b\\x7c\\xd4\\x77\\x26\\xef\\x76\\x83\\x25\\x29\\x89\\xb4\\x2c\\x33\\xcb\\x11\\x4f\\xf8\\x15\\x45\\xf0\\xfb\\xef\\xbf\\xee\\x78\\xff\\xf5\\x2e\\xc7\\x04\\x59\\x99\\x5d\\xf8\\x56\\x4e\\x0f\\x75\\x98\\x58\\x7f\\x78\\xce\\x1c\\xc2\\x94\\x58\\x38\\xae\\x7b\\x85\\x22\\xef\\x48\\xa8\\xaf\\x1c\\xc3\\xf9\\x55\\xb0\\x0d\\xcf\\xe5\\x56\\x12\\xfa\\x4c\\x40\\x4f\\xc9\\x3b\\xdc\\x06\\x1b\\x61\\x65\\x89\\xde\\x77\\xbd\\xe0\\x95\\xaf\\x5a\\x5d\\x55\\xeb\\x85\\x81\\xde\\x31\\x5e\\xcc\\x7b\\x61\\xf1\\x0e\\xef\\x7e\\xef\\x7d\\xde\\x57\\xbd\\xfc\\x66\\x2f\\xe0\\x5a\\xef\\x12\\x2f\\x4e\\xa3\\xae\\x76\\x4f\\x7b\\xb1\\x57\\x1e\\x3f\\xb9\\xca\\xe1\\x4d\\xf3\\xe2\\x0f\\x98\\xf3\\x5d\\xaf\\x3c\\x78\\x58\\x15\\xf2\\x3a\\xbc\\x78\\xc0\\x17\\x5e\\xd8\\xe5\\x3d\\x40\\x32\\x71\\x5e\\x39\\xb7\\x9f\\x9a\\xe9\\x0b\\xea\\x7f\\x77\\x17\\xfd\\x59\\x62\\xb2\\x9a\\xed\\x03\\xea\\xaa\\xb7\\xc2\\x5b\\xed\\xdd\\xec\\xe5\\x91\\x17\\x8c\\x71\\x9c\\xd3\\xc4\\x58\\xb8\\x2a\\x83\\x69\\x7f\\xe4\\x86\\xa5\\x70\\xee\\xb2\\xc8\\x35\\xd6\\x4e\\x72\\x98\\x9e\\x23\\x0f\\xdb\\xc3\\xee\\xec\\x96\\x65\\xee\\xad\\x73\\x46\\x2c\\x1d\\xb1\\x67\\xde\\xfc\\x51\\xa3\\xc7\\x36\\x56\\x56\\x36\\xd6\\x8f\\x1e\\x57\\x8b\\x37\\x2e\\xba\\x61\\xe8\\xf2\\x91\\xf3\\x9b\\x47\\x8f\\x9a\\x5f\\xd9\\xd8\\x58\\x39\\x6a\\x1e\\x3d\\xb7\\x2e\\xc0\\xc3\\x44\\xee\\xad\\x25\\x72\\xcf\\x8c\\xe2\\x51\\x26\\x2a\\x40\\x03\\xd0\\x12\\x59\\x8e\\x11\\x07\\x24\\xa4\\x96\\xe6\\x66\\x59\\x10\\xca\\x4a\\x15\\xf9\\x81\\x83\\x7a\\x25\\x65\\xf4\\xcb\\x28\\x29\\x6c\\x2a\\x84\\x40\\x21\\x8c\\x2a\\x84\\x84\\x42\\x28\\xf4\\xf7\\xb7\\x67\\xd4\\x66\\x2c\\xc9\\xe0\\x8c\\xfd\\x65\\xc9\\x56\\x95\\xd1\\x3f\\xa3\\x3f\\x67\\xa7\\x07\\xaa\\x62\\xa9\\x2a\\xf8\\x1e\\xbd\\x8e\\x41\\xd8\\x31\\x19\\x22\\x8e\\x53\\x7e\\x75\\x13\\xcc\\xe9\\x77\\x9c\\x2a\\x8a\\xdc\\x17\\x8b\\x9c\\x04\\x70\\x23\\x43\\x06\\xca\\x29\\xa6\\xc6\\x68\\x0c\\xc5\\x28\\x87\\x9e\\xba\\x77\\xa3\\xb8\\x22\\x04\\x97\\x72\\x44\\x4b\\x8d\\x9b\\xc5\\xd1\\x43\\xfa\\xe2\\x5a\\x65\\x6f\\x7b\\x48\\xb9\\x0d\\x88\\xc4\\xc4\\xe4\\x7f\\xfd\\x74\\xe5\\xf5\\xb7\\xdf\\xb9\\x75\\x1f\\x14\\xbd\\x7d\\x1e\\x0a\\x42\\x33\\xfa\\xa5\\xa5\\xe5\\xe5\\xa5\\xa5\\xf5\\x83\\x37\\xfb\\xa6\\xa5\\xe5\\xe7\\xa7\\xa5\\xf5\\x0d\\xfd\\xdf\\xd8\\x3d\\xcd\\x63\\x87\\xd4\\x3f\\xfe\\x78\\x3d\\xae\\x52\\x88\\xf2\\x02\\x8d\\xa1\\x56\\x58\\xa8\\xdc\\xfc\\xdd\\x79\\x28\\x82\\xdb\\xf6\\x9d\\x7f\\x5b\\x79\\x1d\\xa0\\x18\\x6a\\xd2\\xfa\\x85\\x7f\\xcc\\xbe\\x95\\x67\\xb6\\x6f\\xf7\\x3d\\xf1\\x04\\x3b\\x7f\\x00\\x7f\\x22\\x38\\xdb\\xc7\\x70\\x46\\x6d\\x83\\xe5\\xa1\\x06\\xb9\\x3c\\xd3\\xe2\\xea\\x95\\x12\\xef\\x8a\\x17\\x89\\xb2\\xde\\x2f\\x3f\\xdd\\x63\\xf7\\xda\\x7b\\xe7\\x35\\xe5\\x41\\x20\\x0f\\xc6\\xe4\\xc1\\xe0\\x3c\\xc8\\xcb\\xcd\\xa6\\x2c\\xa6\\xd6\\xbe\\xc4\\xce\\x1b\\xab\\xb3\\x6b\\xb3\\xb1\\x3d\\xdb\\x9e\\x2d\\x11\\x54\\xbd\\xc6\\x8c\\x72\\x13\\x34\\xbd\\x1e\\x45\\xd3\\xeb\\x45\\x11\\x87\\x1b\\x91\\xbb\\x2c\\x3a\\x34\\x09\\x7a\\x8f\\xa8\\x7a\\xcb\\x6e\\x14\\x33\\x39\\x0c\\x33\\xfb\\xba\\x60\\x26\\x84\\x7a\\x40\\xc6\\x03\\x14\\x0f\\x43\\xc6\\x36\\xef\\x19\\xdb\\x19\\x19\\xeb\\x74\\x2d\\xa7\\xdf\\xca\\x7b\\x4f\\x3c\\xe1\\xdb\\xbe\\x9d\\x9e\\xd9\\xab\\xec\\xb8\\x4a\\xb4\\xf1\\x03\\x51\\x1f\\x22\\xf5\\x07\\xc9\\x99\\xfd\\x7c\\x25\\x26\\x9f\\xa9\\x7f\\x79\\xe1\\x96\\x84\\x33\\x09\\x1f\\x24\\x70\\x9b\\x13\\xa0\\x20\\x01\\xf2\\x13\\x20\\x21\\xd7\\xde\\xa7\\xa2\\x4f\\x75\\x1f\\xce\\xd8\\x87\\x5d\\xcf\\x79\\x8f\\xb6\\xed\\x54\\x67\\xab\\xe2\\x29\\x10\\x57\\x16\\x67\\x60\\x2e\\x1d\\x44\\x43\\x9c\\x21\\xc7\\x86\\x0d\\x64\\x92\\x9c\\x9d\\x63\\xc8\\x29\\x63\\x0e\\x20\\x4a\\xcb\\x72\\xca\\xe2\\x4a\\xcb\\xe2\\xc2\\x06\\xed\\xe8\\xf5\\x41\\x6e\\xfb\\xb0\\x61\\x73\\x07\\x3d\\x91\\x77\\xa2\\x46\\x3c\\x77\\xce\\x39\\xe6\\x44\\xe1\\xb1\\xcc\\xd1\\x43\\x4a\\x86\\xad\\x6d\\x78\\x2a\\xf7\\xd8\\x78\\xc7\\xb9\\x73\\x96\\x09\\x8f\\xf5\\x7a\\xfa\\xca\\x65\\xa9\\x3b\\x9e\\x7b\\x61\\xfb\\x8e\\xba\\xb9\\x27\\xf9\\x81\\xe7\\xc5\\x9c\\xbc\\x63\\x79\\x27\\x96\\xad\\x18\\xb2\\xb1\\x8e\\x64\\x4a\\xec\\xe3\\x30\\x9e\\x3f\\xef\\xbc\\xec\\xb1\\xbc\\x13\\x0d\\x1b\\x87\\x6c\\xa9\\x25\\x10\\xc6\\x59\\x07\\xbf\\x14\\x0c\\x9e\\x9c\\x33\\xe7\\x57\\xc1\\x97\\x68\\x1b\\xdf\\x41\\x13\\xf8\\x6c\\x7e\\x2b\\x19\\x11\\x39\\x68\\xb4\\x9c\\x93\\x1c\\xeb\\xb2\\xd9\\x3c\\xa4\\xe3\\x33\\x33\\x9d\\x66\\xde\\xdc\\xab\\xb7\\xcb\\x63\\x47\\xf1\\x8e\\xf8\\x09\\xf1\\x5c\\x7c\\x9a\\x0d\\xa1\\x2d\\x08\\x1b\\x51\\x82\\x81\\x12\\xfd\\xec\\x59\\x45\\xa7\\xf2\\x67\\xf9\\x4f\\x15\\x45\\x8e\\x0b\\x6a\\xc7\\xd9\\xe9\\xc5\\x4c\\xe8\\x87\\xb5\\xd1\\xea\\x71\\x8b\\x06\\xed\\x08\\x0e\\x3d\\xe7\\x96\\x41\\x7d\\x4a\\x69\\x0d\\xec\\x07\\xf8\\xbd\\xb1\\x8b\\x46\\x3c\\xb0\\x7c\\xd5\\xe4\\x9a\\xdd\\x0b\\x01\\x75\\xa0\\xd1\\x44\\x68\\x60\\x5f\\xff\\x99\\xe5\\xeb\\x27\\x5d\\x3e\\x70\\x70\\xf9\\x2c\\x3c\\xcc\\x3c\\x76\\xdd\\x98\\x4d\\xbf\\xad\\x99\\xbc\\x6e\\xf1\\x5d\\xd6\\xdf\\x55\\x2a\\xad\\x20\\x56\\xe2\\xe6\\x92\\xda\\xf2\\x9a\\xb5\\x43\\x06\\x4f\\x19\\x50\\x5b\\x4c\\xdb\\x30\\x11\\xb5\\xf2\\x0f\\x92\\x36\\xf4\\x45\\xfd\\xd1\\x08\\xd9\\x57\\x90\\xda\\x37\\x3d\\x27\\xce\\xe9\\x2c\\xe5\\xd3\\x73\\xd2\\xcb\\x07\\xf4\\x4d\\xed\\xe3\\x47\\x99\\x5b\\x32\\x71\\x66\\xde\\x6e\\x33\\x91\\xc5\\xd4\\x66\\x37\\xed\\xa6\\xd7\\x66\\x69\\x03\\x57\\xef\\x2a\\x8e\\x1a\\xbb\\x65\\xf6\\x37\\xa8\\x5d\\xc9\\x52\\x66\\xc7\\x96\\x5e\\x32\\xf7\\xd0\\x71\\x9a\\x0a\\x6e\\x3b\\x33\\x2d\\x6c\\x88\\xf5\\xe8\\x2e\\xb6\\x18\\xc2\\x14\\x49\\x7b\\xac\\x63\\x4f\\xae\\x51\\x14\\x8d\\xe9\\x23\\x06\\x4e\\xeb\\x9d\\x69\\x75\\x88\\x0e\\x0b\\xcf\\xdb\\x62\\xb2\\x32\\xad\\xff\\x9a\\xf2\\xe0\\x8a\\x15\\xf7\\xb7\\xac\\x1b\\x35\\xf9\\xb6\\xc0\\x86\\x4d\\x97\\x07\\xd6\\x6d\\xe0\\x51\\x6e\\xae\\x60\\x35\\x4a\\x3c\\xef\\xb4\\x5a\\x6c\\xde\\x41\\xf5\\xe3\\xfd\\x69\\x92\\x28\\x0e\\x9d\\x5e\\xf4\\xd9\\xc4\\xc5\\x1b\\x1f\\xb8\\x7b\\xdd\\x9a\\xc3\\xb9\\x69\\xeb\\x02\\xb5\\xab\\x36\\x4e\\xbb\\x7c\\x03\\xd3\\x37\\x06\\x92\\x7e\\x11\\xf8\\xd3\\x28\\x1d\\x32\\xe4\\x0b\\xc8\\x6c\\x8e\\x73\\x3a\\xe2\\x38\\x31\\x49\\x4c\\xca\\xf0\\x0d\\xf4\\x8d\\xf1\\xe1\\x54\\x5f\\xbe\\x0f\\x9b\\x7d\\xd0\\xe6\\x83\\x0b\\xbe\\xcf\\x7d\\xd8\\x27\\x93\\x39\\xf2\\x2e\\x1f\\xcc\\xf0\\x2d\\xf2\\xe1\\x6a\\x1f\\xe4\\x92\\x6c\\xd8\\xee\\x4b\\xf5\\xe1\\x45\\xf7\\xf9\\x9e\\xf4\\x7d\\xe2\\x6b\\xf3\\xf1\\x07\\x7c\\xb0\\xde\\x07\\xb5\\xbe\\x25\\x3e\\xdc\\x23\\x8c\\xfd\\xbe\\xfb\\x7c\\x98\\xc0\\x58\\xe4\\x83\\x6a\\x5f\\x2d\\x7d\\xe5\\xf5\\xe1\\x1d\\xbe\\xfd\\xbe\\x57\\x7d\\xef\\xfa\\xf8\\xcd\\x1a\\xf0\\x0a\\x5f\\xb5\\x0f\\x13\\xd0\\x50\\xde\\xe1\\x83\\xdd\\xbe\\x83\\xbe\\x33\\x3e\\x6e\\x89\\x0f\\x90\\xcf\\xe1\\x93\\x7d\\xdc\\x16\\xdf\\x6e\\xdf\\xb3\\x24\\x89\\xa7\\xc0\\x69\\x51\\xfc\\x43\\x24\\x4e\\xa1\\x2e\\xf5\\x01\\xad\\x0f\\x85\\xcc\\x4b\\x09\\xd4\\xe1\\x4a\\x82\\xb3\\x9a\\x68\\xd6\\x74\\xc6\\x33\\x8b\\x30\\x54\\xbf\\xb6\\x76\\xa0\\xae\\xd3\\xd5\\xea\\x56\\xe8\\x3a\\x2d\\xde\\xb1\\x09\\xdc\\xb2\\xa8\\x93\\x15\\x76\\x3c\\x87\\x8c\\x38\\xf2\\xc7\\x2e\\x38\\xa5\\xe0\\x54\\x48\\x2f\\x23\\xa2\\x75\\x30\\x84\\x5d\\xcb\\x11\\x95\\x25\\x2d\\xa1\\xee\\xd6\\x1b\\x2a\\xf1\\xd5\\x97\\xdf\\x31\\x97\\xab\\xbe\\xfb\\x5a\\x63\\xfb\\x3f\\xc5\\x0d\\x47\\x2e\\x9f\\x7e\\x38\\x70\\x75\\x60\\xee\\x8e\\x6b\\xf9\\xd3\\x75\\x2d\\x3b\\x36\\x5d\\x3b\\xaa\\x6e\\xcb\\x33\\x07\\x7e\\x37\\x5b\\xca\\xca\\x9a\\x73\\xa4\\xd9\\xf6\\xcc\\x96\\x99\\x81\\xe0\\xa4\\xd5\\x4f\\xa8\\xfa\\xdf\\x20\\x22\\x54\\x78\\xfe\\x65\\x54\\x0c\\x4b\\xe4\\x8e\\x7c\\x32\\xff\\x31\\xc6\\xa7\\x08\\xbd\\xec\\xbd\\xec\\x25\\xbd\\x4a\\x67\\x94\\x2e\\x2a\\xc5\\xe3\\x4a\\x21\\xb7\\x74\\x60\\x29\\x4e\\x2e\\x25\\x9a\\xe5\\xc7\\xa5\\xf8\\xbe\\x52\\x48\\x28\\xed\\x5d\\x7a\\x59\\x69\\xa0\\x74\\x6d\\xe9\\xf6\\x52\\xd1\\x5c\\x0a\\x0b\\x3e\\x2e\\xfd\\xae\\x14\\xbf\\x4b\\x33\\xbc\\xc2\\x32\\x6c\\x2f\\xdd\\x57\\x8a\\xd7\\x97\\xc2\\xe2\\x52\\x08\\x94\\xc2\\x98\\x52\\x18\\x5c\\x0a\\xbd\\x4b\\xc1\\x5b\\x0a\\xd6\\x52\\xf8\\xae\\x14\\x3e\\x29\\x85\\xf2\\xd2\\x05\\x24\\x53\\x0b\\xf9\\xc1\\xf9\\x52\\x31\\xb7\\x14\\xa4\\x52\\x68\\x2b\\x85\\xf3\\xa5\\xf0\\x6a\\x29\\xb4\\x94\\xc2\\x8e\\xd2\\xfd\\xa5\\x78\\x6d\\x29\\xb0\\x2a\\x5c\\xa6\\x55\\x21\\xa1\\x14\\x48\\x69\\xe5\\x24\\xdf\\xbf\\x68\\xbe\\x77\\x4b\\xf1\\xd3\\xb4\\x2c\\x58\\x15\\xad\\x12\\xcf\\xaa\\x52\\x2a\\xa7\\x67\\x55\\xad\\xa7\\x85\\x2f\\x28\\xc5\\x63\\x68\\xd9\\xe5\\xa5\\x58\\x5f\\xfa\\xfb\\xa5\\xf0\\x4a\\x29\\x3c\\x59\\x0a\\xf7\\x97\\x02\\xd8\\x4b\\x2b\\x4a\\x97\\x94\\x1e\\x28\\xe5\\x65\\x57\\x66\\xae\\x31\\xdf\\x9d\\xc6\\x9b\\x53\\xcd\\xe0\\x32\\xbb\\xcc\\xe0\\x05\\xe6\\xb6\\x92\\x32\\x7c\\x6a\\xd8\\xd6\\x0f\\xe1\\xf5\\x5a\\xb5\\x03\\x73\\xbb\\x59\\xc4\\x9b\\xd5\\xd9\\x87\\xbc\\xee\\x2d\\x5b\\x92\\xf5\\x47\\xba\\x97\\x9a\\x39\\x28\\x1b\\xc2\\x95\\xe4\\xa8\\x7a\\x13\\xed\\xce\\xa2\\x38\\x36\\x64\\x35\\xb3\\xaf\\xa5\\x65\\x61\\xd6\\xc3\\xf4\\xaa\\x14\\x2e\\x8e\\xaf\\x6c\\x3f\\x66\\xbc\\x7e\\x75\\x6d\\x09\\x2e\\x7f\\x24\\x30\\x6e\\x6b\\xe5\\xaf\\x67\\x0d\\x69\\xc8\\x76\\x9a\\xef\\x5a\\xb6\\xe2\\xe0\\xc8\\x29\\x8e\\xd8\\x9c\\x05\\x23\\x2e\\xbb\\x7d\\x45\\xff\\x55\\xb5\\x83\\x85\\xc2\\xc5\\x9b\\x97\\xfb\\xbc\\xa5\\x6b\\x6e\\x1e\\x9b\\xbf\\x66\\xd5\\xd8\\x4d\\xe3\\xae\\xba\\x13\\xfc\\x43\\x7b\\x65\\x65\\xaf\\xbd\\xe5\\xe0\\xa2\\x9a\\xfa\\x5e\\x9c\\x71\\xfc\\xd8\\x15\\x2b\\x7e\\x5b\\x38\\x69\\xc1\\xa6\\x7d\\x6b\\x4a\\x3c\\xea\\x3d\\xbd\\x8e\\x8f\\xf9\\xe9\\xfc\\x5a\\xc2\\x43\\x13\\x65\\x13\\xb2\\xc6\\x18\\x0c\\x31\\x09\\x89\\xa6\\xc8\\xa4\\x5a\\xd5\\x97\\x85\\x7e\\x10\\xf1\\xe9\\xa1\\x5d\\x15\\xa7\\xac\\xd1\\x06\\xb8\\x3e\\x76\\xc6\\x43\\xd3\\xc7\\x94\\xee\\x98\\x77\\xf9\\xae\\xec\\x8c\\x1b\\xa7\\xcd\\xd9\\x35\\x6d\\xc9\\xce\\xad\\x71\\x35\\xc7\\x3e\\x5d\\xdf\\xb0\\x75\\xd8\\xa2\\xed\\xcb\\xd7\\xac\\x5e\\x19\\xac\\xaf\\xf9\\xfd\\xf6\\x47\\xcf\\x92\\xb2\\x86\\x75\\xfc\\x83\\x7b\\x83\\xd0\\x9c\\x05\\xa5\\xca\\xd4\\xd5\\xa6\\x89\\x33\\x71\\x56\\xdb\\x18\\x6a\\x0f\\x2a\\x21\\x7f\\x56\\xb8\\x3c\\xd5\\x32\\x0d\\x8a\\x13\\x91\\x21\\x1b\\x67\\xe7\\x94\\x22\\x6c\\xa8\\x02\\x69\\xdd\\x08\\xe5\\xf5\\xc9\\x59\\x8f\\xdf\\x34\\x75\\x05\\x70\\xfc\\xcb\\x1b\\x95\\x5b\\xb7\\x57\\x2a\\x0b\\x6e\\x1a\\x05\\xc2\\x33\\x8d\\xdb\\x21\\xa0\\xd2\\xf4\\x49\\x94\\xcc\\x0d\\x24\\xbc\\x34\\x01\\xf5\\x93\\x3d\\xd8\\x66\\x4b\\x30\\x09\\x82\\x3b\\x21\\x21\\xd1\\x6b\\x35\\x1a\\xf3\\xc9\\xfb\\x38\\x27\\xe1\\xfd\\xaf\\xcd\\x2a\\xcf\\x2f\\xd7\\x99\\x27\\xd4\\x64\\x1c\\xc5\\xb8\\xc1\\xc7\\xec\\x7e\\xeb\\x6f\\xfe\\xc1\\xc7\\x63\\xf7\\x2d\\x9e\\x9d\\x5f\\xbe\\x5c\\xde\\xb3\\xa8\\x7c\\xc0\\xc6\\xf1\\x7d\\xfb\\xf1\\x5b\\x1b\\x9e\\xdb\\x73\\xf8\\x96\\xb5\\x5b\\xd6\\xac\\xb9\\xd3\\xac\\x88\\xeb\\x6f\\x2d\\xed\\x37\\x6e\\x45\\x0c\\x3b\\x27\\xef\\xe8\\x38\\xcb\\x7f\\xce\\x5f\\x8f\\x92\\x50\\x1a\\xaa\\x93\\x8b\\x93\\xed\\x76\\x4f\\x62\\x8a\\xc1\\x62\\x41\\x89\\x28\\x3d\\xc3\\x96\\x5c\\x93\\x0c\\xc3\\x93\\x21\\xd9\\x9a\\x52\\x9a\\x02\\x59\\x29\\x54\\x6b\\xe7\\x52\\xc0\\x98\\x92\\x94\\xe6\\x9d\\x46\\x54\\xd3\\xd4\\xa4\\x78\\x97\\x89\\x67\\x37\\x2f\\xf3\\xfd\\x7e\\xa6\\x5e\\xcc\\x56\\xf5\\x0c\\x3f\\x53\\x36\\xc2\\x12\\x39\\xaa\\x8e\\xe9\\xec\\xc9\\x3a\\x85\\x48\\xa5\\xe3\\x48\\x2c\\x0b\\xb2\\x4a\\x04\\xfe\\xf3\\xd2\\xf5\\x97\\x95\\x97\\xaf\\x1b\\x5f\\xd0\\x27\\xf4\\xce\\xf6\\xab\\xca\\x07\\x6c\\xa8\\xce\\xcb\\xc3\\x4f\\x84\\x76\\xe3\\xec\\xd0\\x3b\\x30\\x62\\xfc\\xb2\\x29\\xa5\\xf9\\x13\\x97\\xb8\\xe0\\xd9\\x9b\\x95\\x55\\x2b\\xf7\\x97\\xe4\\x8d\\x5d\\xc3\\xc5\\xe0\\x2f\\x1e\\x51\\xe6\\xdf\\xbc\\x72\\xaf\\xaa\\x83\\x17\\x75\\xf4\\xe7\\x5e\\x17\\x5e\\x63\\x67\\x48\\x2e\\x93\\x73\\x52\\x5d\\xa2\\x68\\x37\\x1b\\x92\\x62\\x38\\x2e\\x31\\x16\\x1b\\x70\\x5a\\x7a\\x5c\\x5c\\x6c\\xb2\\xcb\\x62\\xf5\\x26\\xf2\\xa9\\x46\\xc9\\xec\\x70\\x18\\x3c\\x06\\xce\\x85\\x2a\\x98\\xc7\\xd7\\xb8\\x72\\x7f\\xbe\\x4e\\x3a\\xf9\\x23\\x07\\x5c\\xc1\\x40\\x2f\\x32\\x91\\x8f\\x41\\x35\\xfb\\x4f\\x1a\\x95\\x45\\x3e\\xd4\\xca\\x7f\\x99\\x40\\x5e\\x70\\xaf\\xff\\xa1\\x4e\\x79\\xac\\xee\\x0f\\xe4\\x5f\\x1d\\x8c\\xa5\\xdf\\xca\\xdb\\xca\\x63\\xf0\\x74\\x80\\x28\\x3e\\x83\\x0f\\x2a\\xfb\\x61\\x48\\xe0\\x40\\x00\\xfe\\x43\\x83\\x51\\xca\\x07\\x07\\x61\\xa6\\xf2\\x2a\\x79\\x56\\xcc\\x81\\x2d\\xf0\\x9f\\x83\\x8a\\x99\\xf4\\x73\\x01\\x91\\x35\\x4d\\xcc\\xd7\\xd8\\x5c\\xb9\\x98\\x9e\\xdf\\xf7\\xc6\\xc5\\xc4\\xd8\\xd3\\xd2\\x21\\x29\\x25\\xa9\\x36\\x20\\x79\\x62\\x3d\\xb5\\x01\\x31\\x56\\x48\\x48\\x4c\\xa8\\x0d\\xe0\\xc4\\x58\\xf2\\xdf\\x99\\xc2\\x39\\x63\\x6a\\x03\\x76\\xa7\\xd3\\x54\\x17\\x70\\x6a\\x16\\xd2\\xe9\\xd1\\x77\\xcd\\xd1\\x6c\\xd4\\xb6\\xb3\\xde\\x3a\\x78\\xa4\\x3d\\xe1\\x93\\xba\\xe9\\x45\\x65\\x31\\xd4\\x20\\x47\\xc4\\x3e\\x3a\\xb5\\x1a\\x82\\x57\\x9f\\x86\\x9d\\xca\\x0a\\xf6\\x31\\x9e\\x6d\\x18\\x32\\xd4\\xd5\\xf6\\x11\\x75\\x49\\x74\\xfc\\x08\\x1e\\x24\\x18\\x35\\xbf\\x43\\xf3\\xdd\\x10\\xa7\\x6c\\xd6\\xdc\\x0e\\x51\\x47\\x29\\x94\\x9e\\xc9\\x1c\\x0d\\x3b\\x84\\x1b\\x08\\x3d\\x5f\\x21\\x0f\\xe2\\x91\\xd1\\xe8\\x71\\x5a\\xad\\x89\\x5e\\xea\\x55\\xa6\\x3a\\xc0\\x3b\\xa8\\x3f\\x99\\xea\\x00\\x72\\xdb\\xdd\\x15\\xee\\x25\\x6e\\x8e\\xfc\\x97\\x25\\x57\\x15\\xf5\\x28\\x63\\x8e\\x8f\\x8f\\xad\\x0e\\x90\\x49\\x9c\\xd5\\x6c\\xad\\x0e\\x98\\x3d\\xdd\\x7c\\x32\\xe4\\x32\\x5b\\xde\\x9d\\x9d\\xa3\\x45\\x1b\\xe4\\xd7\\xdc\\x2d\\x75\\x32\\xf5\\xce\\xcc\\xd7\\x2e\\xb9\\x93\\xfc\\xfb\\x8d\\x92\\x70\\xf0\\x76\\xf2\\xef\\x20\\x54\\x72\\x03\\x46\\x8f\\x1e\\x1d\\xfa\\x3f\\xe6\\x7d\\x2a\\x96\\x3c\\x62\\x5b\\x7c\\x9e\\xea\\x67\\xdd\\xa5\\xf6\\x81\\x23\\x1b\\xe5\\x53\\x5f\\xf0\\xf8\\x4e\\x84\\x42\\x4f\\x53\\xdb\\xfe\\x24\\x3d\\x9d\\xd9\\x6f\\x49\\x43\\xd3\\xe5\\x82\\xe4\\x04\\x00\\x93\\xe8\\x26\\xca\\x46\\x7a\\x46\\x32\\xaa\\x0b\\x24\\x31\\x03\\xf7\\x09\\x52\\x32\\xf9\\xcf\\x5b\\xad\\xf1\\x75\\x01\\xab\\xb9\\x36\\x60\\xed\\xd9\\x76\\x3d\\x6b\\x4a\\xb8\\x5b\\xf4\\xe3\\xa3\\x93\\x9d\\x7a\\x5a\\xf1\\x34\\x3a\\x3c\\x34\\xc7\\x46\\xf4\\x60\\x01\\x51\\xc1\\x35\\xab\\xf4\\xd4\\x26\\xfd\\xa7\\xdf\\x7d\\x0c\\xde\\xdb\\x8e\\xd5\\xff\\xf3\\x9f\\x4d\\x2d\\xbf\\x09\\xdb\\x9f\\xe7\\xfa\\x8e\\x86\\x5e\\x89\\x25\\xca\\xca\\xd7\\xdf\\x82\\xbb\\x7e\\x7b\\xa3\\x72\\x71\\xb4\\xf2\\xe9\\x6d\\xea\\xb8\\x18\\xa8\\x8c\\x14\\x26\\x33\\xff\\xba\\xd4\\xee\\xbc\\xdf\\x26\\x49\\xa2\\xcf\\x67\\x35\\x99\\x52\\xe3\\xc9\\xac\\x42\\xec\\xd5\\x3b\\x2e\\x31\\xd1\\x55\\x17\\x48\\x4c\\x92\\xec\\x99\\xf6\\xba\\x40\\x66\\xa6\\x15\\x5b\\x4d\\xa4\\x11\\x2e\\xec\\xab\\x0b\\x60\\x44\\x68\\x8e\\x7a\\x7e\\xec\\xe4\\x74\\x37\\x6c\\x54\\x3c\\x62\\x42\\x97\\xaa\\xa2\\x61\\x1f\\xfe\\x61\\xe3\\xb8\\x06\\xd5\\x15\\x88\\xd3\\xad\\x9a\\x10\\xf7\\xa8\\xf3\\xca\\x88\\xbb\\xa6\\x7f\\x1c\\xc1\\xc3\\xdb\\xbf\\xf8\\xf5\\x56\\x58\\xd4\\xac\\x3c\\xa3\\x5c\\xff\\xe5\\xce\\x3e\\x95\\x31\\x29\\xc3\\xaa\\xb7\\x34\\x1c\\x9e\\x8c\\x9f\\xba\\xf9\\xc9\\xfb\\x1e\\x7e\\xf4\\x56\\x6a\\x38\\xf8\\xf0\\x53\\xd7\\xbd\\x90\\x1d\\xfa\\xa7\\xb7\\x04\\x8f\\x0d\\x59\\x7f\\x9f\\x18\\xb7\\xe3\\xeb\\x94\\xf5\\xaf\\x5f\\xcf\\x3d\\xb6\\x6f\\x6b\\xe8\\x85\\x6d\\xaa\\xcd\\xe0\\x2a\\x65\\x1b\\xb7\\x4c\\xe8\\x87\\xd2\\xc9\\xec\\xa1\\x00\\x95\\xa0\\x1b\\xe4\\xd1\\xb9\\xb6\\xc2\\xe4\\x3e\\x7d\\x12\\xd2\\x20\\x2b\\x2f\\xb3\\x5f\\x89\\xa1\\xd8\\x18\\x1b\\x13\\x63\\x34\\xf4\\xcb\\x03\\x91\\x4b\\xe0\\x12\\x4a\\xcb\\xf2\\x72\\xd2\\x72\\x26\\x06\\xfa\\x24\\x27\\x03\\x92\\xd3\\x62\\xfb\\x65\\x14\\x66\\x54\\x07\\x0c\\x85\\x85\\x49\\xce\\xa4\\x84\\xea\\x40\\x92\\xa7\\xd8\\xe4\\x34\\x4d\\x08\\xc4\\xba\\x6d\\x4e\\x07\\x73\\x96\\xa1\\x23\\xc7\\xf8\\x7c\\x7f\\xd4\\xa8\\xb8\\xb3\\xab\\xeb\\xcb\\xce\\xff\\xfd\\xd4\\xa0\\x92\\x17\\xb2\\xe9\\xaa\\x4d\\x59\\x4c\\xb6\\xe6\\xeb\\x95\\xf0\\x3f\\x32\\xea\\x98\\x2b\\xd8\\x74\\x32\\xa9\\xca\\xe1\\xc0\\xe0\\xe3\\xa8\\x52\\x5b\\x96\\xe5\\x8e\\x8b\\xb1\\x11\\x5e\\x58\\x9c\\xc3\\x5d\\xbe\\x75\\x77\\xd5\\x75\\x9b\\x97\\x79\\xb3\\x1b\\x26\\x67\\xf4\\xbf\\x6b\\x7d\\x5a\\xd1\\x96\\xaa\\xeb\\x6e\\x5d\\xa9\\x28\\x31\\xcb\\x1f\\x4e\\xdb\\x00\\x8f\\xef\\x14\\xaf\\x4e\\xc8\\x18\\x31\\xb7\\x48\\xd9\\x9b\\xbc\\x64\\xf4\\x30\\x68\\x4a\\x98\\xa3\\x6c\\x83\\x55\\xf9\\xef\\xcc\\x5e\\x3d\\xc4\\x08\\xa3\\x2d\\xf9\\x2b\\x4f\\xf9\\x04\\x58\\xae\\x6c\\x2a\\x7c\\x22\\xb4\\x2d\\x21\\x6f\\xf6\\x72\\xac\\xdc\\xca\\x4d\\x17\\x94\\xed\\x52\\x6a\\xfc\\xda\\x89\\x7d\\x60\\x84\\x6d\\xd6\\xd3\\x7b\\xa6\\xe4\\x32\\x1b\\xa4\\xb8\\xe3\\x3d\\x65\\x1b\\xfe\\x33\\xc1\\x9f\\x97\\x50\\x48\\x40\\xee\\x6b\\x33\\xa5\\xa4\\xf0\\x89\\x00\\x06\\xc4\\x5b\\xdd\\xbc\\x3b\\x35\\xcd\\x96\\x94\\x14\\x6f\\x82\\xc4\\xc4\\xf8\\x78\\xd7\\xc4\\x00\\x8a\\x8f\\xe5\\x53\\x4c\\x29\\x13\\x02\\x16\\xa3\\xc1\\x64\\x27\\xd8\\x39\\xf5\\x92\\x8a\\x8f\\x93\\x61\\x8f\\x8e\\xe5\\x7a\\xee\\x1f\\xc6\\x44\\x61\\x01\\x17\\x13\\xf5\\xc6\\x15\\xe3\\x07\\x9d\\xaf\\x59\\x82\\x81\\x18\\x5f\\xe6\\x73\\xb6\\xf5\\x1b\\xe7\\x55\\x3c\\x79\\x7b\\x95\\x32\\x67\\x60\\xc1\\x80\\xc9\\xbe\\x6b\\xfb\\xd7\\x14\\xfe\\x16\\x62\\xf6\\xed\\x23\\x2d\\xfb\\x4b\\xd6\\x60\\xbc\\x27\\x2f\\xe7\\xec\\x59\\xb8\\xba\\xad\\xa3\\x66\\xe8\\x30\\xc7\\xd0\\xf8\\xd4\\x42\\xa5\\x89\\xbb\\x1c\\x36\\x50\\xbf\\x58\\xca\\x0a\\x61\\x87\\x30\\xd8\\x25\\xf2\\x93\\x99\\x5c\\x75\\x2b\\x2b\\xb8\\x8f\\x08\\x1f\\x4a\\x43\\x53\\xe5\\x54\\x14\\x17\\x97\\x64\\xb2\\xd9\\x9c\\x52\\x92\\x94\\x9e\\x91\\x9a\\x5c\\x1d\\x20\\x29\\x24\\x92\\x98\\x54\\x1d\\xb0\\x27\\x7a\\x2c\\x27\\x60\\x8c\\x6c\\x8a\\xc5\\x98\\x48\\xde\\x49\\x01\\xc1\\x81\\x22\\x1e\\x70\\x34\\x77\\x02\\xfe\\x6e\\x77\\xb4\\xa8\\x28\\x33\\x68\\x4e\\x99\\xe2\\x3c\\x9c\\x8f\\xf3\\xa9\\x3e\\xf3\\xf4\\x5e\\xf2\\x2a\\x0d\\x55\\xc7\\x2b\\xd6\\x6d\\x58\\x6e\\x1f\\x3a\\xe7\\xc3\\x8d\\xbf\\x9b\\x7d\\xcd\\x66\\xa5\\x61\\xf5\\x4e\\x28\\xe2\\xbe\\x69\\xea\\xd7\\x7b\\xd0\\x8d\\xd7\\x87\\x6e\\x71\\x17\\x51\\x0e\\x4b\\xb8\\xd0\\xec\\x23\\xc9\\xa1\\x18\\xca\\x8f\\x04\\x4c\\x58\\x11\\x99\\x77\\x28\\x63\\x85\\xe3\\x64\\xac\\x7a\\xc9\\xec\\xbf\\x28\\xde\\x62\\x31\\x71\\x09\\x58\\x30\\x1a\\x25\\x0e\\x3b\\x79\\x27\\x9f\\x94\\x8c\\x13\\x12\\xe2\\x5c\\x6e\\x57\\x6d\\x80\\x8b\\x37\\x99\\x79\\xbb\\xd7\\xcd\\xf1\\x16\\x8b\\xd3\\xee\\x24\\xc2\\xc0\\x25\\xb9\\x44\\xd2\\x1c\\x54\\xa1\\x77\\xe3\\xa3\\x1a\\xd4\\x89\\xac\\x4b\\xd3\\x39\\x97\\xd6\\x0e\\xcd\\x2e\\x93\\x41\\x82\\x38\\xda\\x08\\xd0\\xd5\\x9f\\x88\\xb6\\xb0\\xb7\\x1e\\x3c\\xf8\\x16\\xe7\\xd0\\x85\\xcd\\xa1\\xaf\\x8e\\x52\\x4f\\x3d\\xd4\\x4f\\x0f\\xbe\\x5a\\x73\\xd3\\x13\\xca\\x70\\x2b\\x0e\\x78\\x0c\\xff\\xae\\x59\\xf5\\xd3\\x43\\xcd\\x7a\\x97\\x24\\x86\\x82\\x78\\x0d\\x73\\xd2\\x03\\x28\\x47\\x59\\xc1\\x23\\xd2\\x0f\\x49\\x68\\xbe\\xdc\\x17\\xc5\\xc4\\x38\\x0d\\x20\\x4a\\x56\\xab\\xc3\\x20\\xc6\\x1b\\xe3\\x8d\\xc9\\x29\\x5e\\x32\\xd6\\xbc\\xc8\\xe8\\x70\\xc4\\xc4\\xc7\\xc6\\x93\\xf1\\x87\\x9c\\x2e\\x9e\\xb3\\xc5\\x7a\\xcc\\xa4\\x15\\xc7\\x45\\xe0\\xa0\\x3a\\xc0\\x45\\xac\\xae\\xea\\xdb\\x12\\xe9\\x93\\xae\\xcd\\x91\\x54\\x1b\\xe6\\xa4\\x49\\x5a\\xc7\\xe8\\x5b\\x05\\xd3\\x60\\x6b\\x3d\\x8c\\x5d\\xa9\\x7c\\x0d\\xd3\\x1a\\x49\\xcf\\x9c\\xa9\\x51\\x94\\xf5\\x0d\\xca\\xe6\\xd5\\x3b\\xa0\\x10\\x5e\\x84\\x03\\xde\\xbc\\xbc\\x38\\xe5\\xb3\\xd0\\x67\\x2e\\xad\\x6f\\xe0\\xe6\\xeb\\x95\\x7f\\x47\\xba\\x86\\x1e\\x63\\x51\\xc6\\xf2\\xeb\\x48\\xdf\\x38\\xd0\\x70\\xd9\\x6a\\x76\\x58\\x2c\\xd8\\x00\\x44\\x19\\x74\\xba\\x6c\\x94\\x8a\\x9c\\x26\\x6c\\xc4\\x75\\x01\\x83\\x91\\x03\\x33\\x32\\xeb\\x5d\\x0b\\x69\\x0c\\xa3\\x13\\xb3\\x2c\\x2c\\xf0\\x97\\x80\\xe6\\x3c\\xc8\\x03\\xe9\\xb4\\xba\\xf5\\xf8\\x8b\\xd6\\x6f\\x67\\xa5\\x8e\\xe4\\x9a\\x43\\x66\\x6e\\x08\\xc1\\xfa\\x6c\\x7e\\xbb\\xfb\\x4d\\x18\\x5c\\xd3\\xb6\\x38\\x9e\\x22\\x9a\\xe1\\xb4\\x8c\\xd0\\xf6\\x24\\xee\\x08\\x72\\x22\\x59\\x4e\\x71\\x70\\x4e\\xa7\\x68\\x11\\xec\\x82\\xdd\\x15\\x63\\x17\\xad\\x22\\x19\\x94\\x56\\xbb\\xe0\\xe0\\x1d\\x13\\x02\\xbc\\x07\\x54\\x5a\\xe8\\xe4\\xb2\\xb7\\x53\\x05\\x54\\xa7\\x6b\\xd4\\x0c\\x8e\\x6a\\xe3\\x1a\\xd2\\xb9\\x49\\x04\\x2d\\xa1\\x5b\\x30\\xff\\x7e\\xff\\x26\\x77\\x6a\\x3e\\x3e\\x16\\x6a\\xc7\\x23\\x18\\x32\\xb8\\xfc\\x18\\xc7\\xf5\\xad\\x85\\xed\\x67\\x55\\x3f\\x26\\x9f\\x0a\\xdb\\x85\\xb1\\xc8\\x4c\\x7a\\x76\\x8c\\x9c\\xc3\\x39\\x63\\x2d\\x92\\x94\\xe0\\x4c\\x48\\x4e\\x49\\x22\\x1a\\x4a\\x92\\x2b\\x8e\\x33\\xc5\\xc6\\xba\\xdd\\x44\\x72\\xb8\\x79\\xc9\\x62\\xb1\\xd9\\x88\\x28\\xb4\\xc5\\x44\\x87\\x56\\x64\\x88\\x75\\x92\\x82\\xd4\\x5c\\x0f\\x76\\x3a\\x5c\\x94\\x11\\x3a\\xb3\\x63\\xa2\\xae\\x5f\\xcb\\xfc\\xcc\\x19\\x25\\xfa\\xea\\x9f\\x1f\\xfd\\x6d\\xc4\\x91\\x91\\xeb\\xd6\\xdd\\xf9\\x80\\x72\\x46\\x79\\x10\\x66\\xc0\\xc4\\xab\\x0f\\xdc\\xe0\\x3f\\xa4\\x1c\\xe4\\xdb\\xa9\\x0b\\x57\\xe5\\x2d\\xe5\\x8d\\xac\\x14\\x7e\\x6c\\x71\\x5b\\xe1\\x50\\xe6\\xe0\\xf5\\x72\\x68\\xcc\\x8a\\x6d\\x8b\\xf1\\x96\\xd0\\xc5\\xf7\\x8e\\x4f\\xf9\\xa7\\xb8\\xe3\\x28\\x16\\xe5\\xc9\\x71\\x06\\x8c\\x6d\\x71\\xf1\\x96\\x98\\x89\\x01\\x8b\\x1d\\x1b\\x78\\x03\\xd1\\x4e\\xec\\x46\\xa2\\xc3\\x6b\\x77\\xd9\\xa3\\x43\\x9e\\x59\\xbd\\x52\\x9d\\xd0\\x31\\x77\\x47\\x61\\x47\\x08\\x06\\x9c\\x37\\x5a\\xd9\\x58\\x07\\xc7\\x6e\\x06\\xd7\\xab\\x05\\xbb\\xe7\\x5f\\x2e\\xe7\\xe7\\xa4\\xf5\\x1d\\x5e\\x93\\xe5\\xe6\\xd6\\x11\\x8a\\xf1\\x86\\x56\\xc3\\x57\\xab\\xae\\x8a\\x79\\x7d\\x89\\xbb\\xfa\\x72\\x55\\xd7\\xa7\\xbe\\xf8\\x3a\\x08\\xce\\x92\\xd0\\x40\\x39\\x85\\xe8\\xf9\\xc9\\xee\\x14\\x57\\x42\\x5d\\xc0\\xc5\\x63\\x8b\\xc5\\x20\\x98\\x0c\\x44\\xe0\\x1a\\x78\\x9b\\xd9\\x0c\\x7c\\xd8\\xab\\x5e\\xc4\\x2f\\xa2\\xce\\x2e\\x85\\xe0\\x93\\xc0\\x17\\xa6\\x71\\xbf\\x04\\x9d\\xea\\x24\\xcc\\x2e\\x51\\xee\\x51\\xf6\\x97\\x28\\x23\\xa8\\x0f\\x3c\\xa8\\x80\\x05\\x79\\x30\\x13\\x75\\xe4\\x2c\\x9e\\x36\\x75\\xe2\\xb0\\xf4\\x94\\x82\\xfc\\xe1\\xc9\\xa9\\xdc\\xed\\xed\\x0d\\x82\\x95\\x8e\\xd3\\xf6\\x6a\\xee\\xae\\xf6\\xd9\\x5c\\xd1\\xfa\\x7a\\xef\\xb7\\x7b\\xdd\\x23\\xa6\\x93\\x3a\\x5a\\x3a\\x3e\\x15\\xaf\\x21\\x38\\xf2\\x6a\\x75\\x8c\\x49\\x4a\\x76\\xc6\\x4f\\x0c\\x38\\xed\\xe1\\x3a\\x92\\x31\\x6a\\x67\\x75\\x8c\\xed\\xa1\\x8e\\x51\\x8c\\x99\\xc3\\x75\\xf4\\x82\\xdf\\x0b\\x3a\\xff\\x11\\x06\\x3e\\x6b\\xfc\\x3f\\x3f\\x1a\\xad\\x3c\\xb9\\x04\\x9e\\xb9\\xfd\\xc2\\xc5\\x29\\x7f\\xdb\\x3b\\xfe\\x82\\x8a\\xba\\xcb\\x02\\xa9\\x6e\\x7c\\x45\\xe8\\x26\\x0d\\x7d\\xdb\\xf0\\xbc\\xd0\\xad\\xf0\\xee\\xb7\\x14\\x83\\xe3\\xa7\\x51\\x19\\xd5\\xd1\\xf1\\x29\\x77\\x9a\\x7b\\x92\\xe8\\x96\\x3e\\xa2\\x25\\x17\\x26\\xd9\\x13\\x1d\\x89\\x29\\x56\\x01\\xc5\\xc7\\xc7\\x39\\x9c\\x84\\xa5\\xc4\\x1a\\x62\\x33\\xb3\\x92\\xec\\x02\\x22\\x1c\\x03\\x63\\x93\\x23\\x3e\\x36\\xd6\\x19\\xe3\\xac\\x0e\\xc4\\xd8\\x4d\\xe9\\x13\\x02\\x26\\x47\\xd8\\x4c\\x03\\xd2\\x9c\\x9b\\x69\\x1e\\x87\\xf5\\xfe\\x87\\xa9\\xb9\\x6b\\x55\\x8d\\xa1\\xc7\\x25\\x44\\x43\\x4e\\xc4\\x29\\x3e\\x99\\x6a\\xc5\\x68\\x64\\xe0\\xc3\\x9c\\x3b\\xae\\x94\\xf9\\x3e\\x11\\xcf\\x8e\\xba\\x32\\x7d\\xd1\\xf8\\xc2\\x55\\x13\\x27\\x4c\\x0c\\xee\\x07\\xf1\\x66\\x98\\x39\\x5d\\xb9\\x7e\\xf4\\xaf\\x70\\xc6\\xe4\\xa4\\xb4\\xe4\\x24\\xf8\\x6b\\xdf\\xb2\\x4a\\x7f\\xfe\\xfa\\xc0\\xe4\\x2b\\xa7\\x8e\\x6c\\x5a\\xae\\xdc\\x84\\x77\\x90\\xb6\\x79\\xda\\xaf\\x86\\x41\\xd0\\x3a\\xf0\\xf2\\xb1\\xc3\\x52\\x0b\\xfa\\xa2\\xc8\\x5a\\xd3\\x13\\x4c\\xc7\\x1c\\x23\\xf7\\xb6\\x02\\x88\\xa2\\xc3\\xed\\xb1\\x12\\xed\\xd2\\x6e\\xad\\xb0\\x56\\x5b\\x39\\x33\\x67\\xb5\\x92\\x81\\x64\\x90\\x0c\\x64\\x36\\xd0\\x5d\\xb5\\x54\\x1d\\xe0\\x76\\xb2\\x5d\\xee\\xd4\\xa9\\x94\\x2a\\x3f\\xd7\\x9c\\x04\\x1f\\x3a\\x12\\xfa\\x87\\xca\\xc5\\x1f\\x4d\\x95\\xe5\\x54\\xbc\\x2d\\xf4\\xaa\\x8e\\x75\\x7f\\xa9\\x7a\\x05\\xd6\\xfc\\xab\\x71\\xcd\\x84\\xcf\\xc4\\xa0\\x89\\x72\\xbe\\x0d\\x63\\x83\\xc1\\xe9\\x26\\xc2\\x7a\\x42\\xc0\\x6e\\xab\\xb6\\xd5\\xda\\x76\\xd9\\x0e\\xd8\\x1e\\xb4\\x89\\x46\\xce\\x66\\x13\\x4c\\x56\\xa3\\xc9\\x58\\x1d\\x30\\x91\\xa1\\x24\\x90\\xa1\\x24\\x78\\x7e\\xb0\\x66\\xe9\\xdd\\xab\\xc6\\x8d\\x0e\\x29\\xcb\\x95\\x45\\x1b\\x37\\xc2\\xcd\\xcb\\x31\\x47\\x10\\x05\\xc7\\x95\\x5d\\x61\\x6f\\xb0\\x79\\x09\\xca\\x3d\\xb7\\x29\\x8b\\x28\\xef\\xa9\\xee\\xf8\\x9c\\x1f\\xcf\\xbd\\x84\\xe2\\x88\\x74\\x1f\\x24\\xa7\\xd8\\x52\\x9c\\x26\\xa7\\x21\\x1e\\x19\\xc8\\x8c\\xd5\\xec\\xf5\\x78\\x27\\x04\\x3c\\x0e\\x93\\x23\\x85\\xc8\\x4a\\x32\\xa6\\x63\\x75\\xb7\\x45\\x75\\xce\\x5f\\xca\\xb5\\x7d\\x57\\x94\\x0b\\x69\\x6c\\x7d\\x8a\\xf9\\xde\\x8f\\x8d\\x73\\x46\\xbd\\x5c\\x50\\x67\\x1f\\xfc\\x78\\xe5\\x3f\\xff\\xe6\\x15\\xa5\\xfd\\x77\\x2f\\x40\\xdd\\xe4\\xeb\\x76\\xaf\\x5b\\x76\\xc7\\x91\\x47\\xa7\\x4d\\x58\\xb2\\x2b\\x08\\x9f\\x7e\\xa5\\x7c\\xf3\\xc5\\x57\\x17\\xbe\\xcc\\xb8\\x2c\\xf3\\xe9\\xe7\\x9f\\x7d\\x39\\x0e\\x37\\xdc\\x78\\xdb\\x97\\xdf\\xbe\\x7c\\xe6\\x5c\\xe8\\x4e\\xcf\\xab\\xaa\\xce\\x3d\\x19\\xdd\\x8d\\xa7\\x71\\xd3\\xd8\\x19\\x8d\\x02\\xd9\\x43\\xe4\\x20\\x20\\x90\\x8c\\x18\\x78\\x03\\x90\\xff\\x9c\\x28\\x50\\xfb\\x42\\xfe\\x7c\\xbf\\x36\\x63\\x73\\xea\\xed\\x7e\\x50\\x83\\x4a\\x4e\\xf2\\xc1\\xd3\\x42\\x6d\\x58\\xa0\\x1f\\x7c\\x56\\x69\\xbf\\x06\\x78\\xa5\\x9a\\x7d\\x91\\xf1\\x30\\x80\\x3f\\x82\\x5e\\x32\\xa4\\x11\\x20\\x76\\x94\\x2e\\xdb\\x11\\x51\\xd7\\xac\\x56\\xa7\\x89\\x6f\\x0e\\x98\\x4c\\x40\\x37\\x4a\\xa8\\xf9\\x3e\\x08\\x73\\x56\\xa2\\x6f\\xfa\\xb8\\xa2\\xe8\\x52\\x6a\\x60\\x31\\x2c\\x7e\\x24\\x4f\\x96\\xf3\\xfa\\xca\\xb2\\x21\\x2d\\xb4\\x13\\xee\\x1d\\x92\\x4f\\x1e\\xfb\\xe6\\xc9\\x74\\xac\\x4d\\x15\\x44\\x58\\x68\\xf0\\x32\\xd8\\xa9\\xb2\\x8d\\x23\\xb0\\x0d\\x0e\\x0a\\x1a\\x21\\x13\\xa6\\x46\\x51\\x35\\xd0\\x6c\\xe9\\x2f\\x0e\\x72\\xca\\x32\\x22\\xe3\\x44\\x84\\xe4\\x71\\xca\\x88\\x71\\x75\\x7d\\xe5\\xa1\\x7d\\xfb\\x56\\xc8\\x06\\x3b\\x8d\\x7d\\x4e\\x01\\xd3\\xb2\\x10\\x56\\x5e\\x12\\x6e\\x81\\x01\\x86\\x74\\x06\\xbb\\x8f\\xec\\xe6\\x4d\\x26\\x52\\x22\\x76\\x58\\x0d\\xcd\\x01\\x2b\\x96\\x31\\x77\\x03\\x99\\x71\\x68\\xae\\x6a\\xc2\\x85\\x68\\x26\\x45\\x4a\\xf4\\xbe\\x48\\x60\\x00\\xad\\x34\\xab\\x3f\\x81\\x2d\\x72\\x8b\\x23\\xcd\\x41\\xa0\\x7c\\xc6\\xd7\\x82\\x4b\\x78\\x8d\\xda\\xf9\\x91\\xad\\xf4\\x5c\\x94\\xc8\\x09\\xb2\\x80\\x6e\\x0c\\x08\\x61\\xd0\\x0c\\x72\\x11\\xb3\\x60\\xe0\\x77\\xa6\\x2b\\x9f\\xc1\\xbd\\x1b\\x43\\xef\\xf1\\x6f\\x7f\\xad\\xec\\xa1\\xb4\\xbf\\x8f\\x37\\x70\\x4d\\x86\\x55\\x48\\x42\\x29\\xb2\\x95\\x4c\\x7e\\x38\\x81\\x33\\x99\\x41\\x10\\x8c\\x2a\\x5e\\xc3\\xa6\\x09\\x19\\x21\\x33\\xab\\x1a\\x7e\\xe0\\x9a\\x94\\xbf\\xed\\x51\\xfe\\x06\\x33\\x9c\\x30\\x57\\x34\\x85\\x42\\x98\\x8b\\x83\\xa9\\xca\\x61\\x75\\x2c\\x45\\xe1\\x65\\xc8\\x36\\xa3\\x20\\x10\\x88\\xc8\\x64\\x36\\xf2\\xbc\\x01\\x47\\x00\\x46\\x96\\x92\\x28\\x83\\x57\\xaf\\xd3\\x12\\x98\\x77\\x38\\x95\\xdf\\x42\\xca\\x1e\\x48\\x11\\x66\\x29\\x87\\x61\\x6a\\x1c\\xe6\\x42\\x21\\x95\\xbe\\xde\\xe5\\x1a\\xe1\\x14\\xc1\\x23\\xbd\\x37\\x93\\x2b\\xc7\\x20\\xab\\x55\\xb4\\x58\\x1c\\x4e\\xbb\\x5d\\xb2\\x72\\x32\\x27\\xed\\x67\\xee\\x60\\xd4\\xb6\\x32\\xef\\xa2\\xe5\\x7a\\x17\\x7e\\x1a\\x12\\x39\\x42\\x15\\x70\\x8a\\x5a\\x89\\xa4\\xd6\\x22\\xff\\xfe\\xce\\x90\\xd9\\xdc\\x85\\xc2\\xaa\\xaa\\x42\\x7f\\x65\\x25\\x67\\x0f\\x1d\\xed\\x56\\x4e\\x6f\\xd9\\x85\\x88\\x30\\xb7\\xdb\\x1d\\x4e\\x8b\\x85\\xb3\\x4b\\xdc\\xfe\\x80\\x64\\x27\\xf4\\xa0\\xcd\\x8b\\x2e\\x59\\x4a\\x0c\\x29\\x25\\x6c\\x8f\\xf2\\xd0\\xec\\x21\\xef\\x88\\x87\\x34\\x9b\\x94\\xca\\xdb\\xa4\\x14\\x52\\x06\\xfc\\x1a\\x4e\\x09\\xe3\\xfe\\xa7\\x65\\xf0\\x7f\\xd6\\x97\\x01\\x44\\x47\\x58\\x00\\xfd\\x09\\x4d\\x48\\xa8\\x97\\xec\\xc2\\xd4\\x56\\x0e\\x35\\x83\\x46\\xad\\x91\\xdd\\x18\\x90\\x0c\\x74\\x28\\xbe\\x16\\xb9\\xa8\\x1b\\xa6\\x39\\xed\\x38\\xa7\\x33\\x1d\\xfa\\x7f\\xbe\\xf1\\xc1\\x8d\\x78\\xaf\\x50\\xfd\\xf7\\xbf\\xff\\x1d\\xe6\\x22\\x0a\\x8f\\x04\\xfd\\xc9\\x23\\x83\\x47\\xfa\\x94\\xee\\xdf\\x51\\xdb\\x1c\\xc0\\xdf\\x18\\x10\\xe9\\xe1\\xa4\\x53\\x45\\x5d\\xe1\\xf5\\xa6\\x93\\x79\\x76\\x4c\\x13\\xfa\\x87\\x9a\\x08\\xc0\\xcf\\x61\\x2e\\x81\\xa7\\xd2\\x88\\x4b\\xb9\\x0c\\xdf\\xd6\\xb1\\x1e\\x19\\x51\\xbc\\x2c\\x11\\x68\\x92\\x89\\x54\\x90\\x56\\x4b\\xdd\\xf3\\x51\\xad\\xba\\xc6\\xf8\\x63\\x3c\\xbe\\x2c\\xc1\\xf5\\xce\\xd9\\xf3\\xfd\\x95\\xaf\\xc9\\xff\\xcb\\xd2\\xc1\\xa9\\x7c\\x9e\\x7e\\xfc\\x38\\xeb\\xab\\xbb\\xd0\\xc3\\xb0\\x87\\x7b\\x8e\\xed\\x1f\\xe6\\xca\\x1e\\x0b\\x42\\x2e\\x51\\x8c\\x4f\\x60\\xd4\\xe0\\x91\\x3d\\xf6\\xfd\\x84\\x39\\x52\\x39\\xa8\\x0e\\xae\\x9e\\x31\\xe9\\xd4\\x0f\\xb2\\x3d\\x23\\xfd\\x94\\x36\\x8a\\x2a\\x2b\\x8b\\x28\\x66\\xfd\\x23\\xa1\\x8f\\x4a\\x1f\\x23\\xe1\\xff\\xc2\\x66\\x45\\x49\\xb9\\x89\\x70\\x08\\x9f\\xe7\\x0e\\x31\\x5e\\x47\\xc6\\xb4\\x40\\x24\\x18\\xc6\\x46\\x89\\x17\\x6e\\x08\\xf0\\xdd\\xc6\\xb4\\xae\\x58\\xcd\\x82\\x1e\\x3e\\x1f\\x1a\\x8a\\x9f\\x21\\x1f\\x5b\\x63\\x23\\xdc\\xd6\\xd8\\xc8\\xf0\\x51\\x03\\xbb\\xc1\\xcb\\xfc\\x24\\xb9\\x8f\\x03\\xdd\\x8b\\xa1\\x83\\xa6\\xe2\\x54\\x04\\x17\\x84\\x74\\x6b\\x5e\\x1c\\x32\\x5a\\x18\\xdc\\xae\\xce\\xf9\\x6a\\xf0\\xf1\\x1f\\x97\\x3f\\xb4\\x8e\\xe5\\x2f\\x52\\xc6\\x82\\xab\\xe3\\x49\\xa2\\xcb\\xfb\\x64\\xb3\\x99\\x4d\\x3c\\xb8\\x9b\\x67\\x88\\x36\\x6a\\x91\\xdc\\x6c\\xab\\xb2\\x91\\x0a\\x47\\x74\\x66\\xa2\\xd3\\xb8\\xa9\\xfd\\xe6\\x92\\x62\\x6d\\xa7\\x2d\\x16\\x5c\\x0d\\x1b\\xd6\\x64\\xf4\\xc9\\x28\\xcb\\xf5\\x0f\\x7d\\x6d\\xda\\xa2\\xac\\x8a\\xcc\\x92\\xb8\\x58\\x4f\\x7a\\x46\\x76\\xdf\\x71\\x04\\x76\\x05\\x29\\x7f\\xac\\x70\\x17\\x91\\x50\\x28\\x2b\\x6a\\x80\\x57\\x5d\\xde\\x29\\x2b\\x71\\xa4\\x47\\xf4\\xa1\\x64\\xa2\\x72\\x1f\\xbe\\x4b\\xc9\\xdb\\xa1\\x5c\\x73\\x83\\x32\\x6c\\xc7\\x5d\\x77\\xc1\\x2d\\xcb\\x77\\xfa\\x07\\x8c\\x99\\xd7\\xb0\\x18\\xfb\\x2a\\x99\\xf4\\x73\\xb5\\x7f\\x93\\x9e\\x97\\x97\\xce\\x99\\x0a\\x73\\x86\\xc1\\x43\\x59\\x2f\\x2e\\xc9\\xdd\\x7f\\xdb\\x32\\xad\\x8c\\xd1\\xc2\\x9d\\x28\\x3d\\x52\\x86\\x0a\\x50\\xbf\\x0e\\x56\\xa6\\x2d\\x80\\xfb\\xb9\\x43\\xb4\\x90\\xed\\x8b\\x47\\xca\\xad\\xad\\x6a\\x41\\xc7\\x0f\\x48\\x9e\\x77\\xd6\\xb2\\x22\\xf8\\x3f\\x0e\\x59\\xbf\\xe3\\xf6\\x29\\xd1\\x72\\xc6\\xbe\\xf8\\x3e\\x38\\xe8\\x9a\\x98\\x1f\\xb2\\xe1\\x77\\xfc\\x23\\xae\\x6c\\x41\\xa2\\x6b\\x62\\xfc\\xd7\\x60\\x52\\xe8\\x58\\x3a\\x26\\x3c\\x01\\xa3\\xc5\\x8b\\xc8\\x4a\\x68\\xd5\\x8c\\x44\\xd1\\x4c\\x34\\x46\\x8c\\x4c\\x94\\x5a\\x5f\\x9c\\x55\\x04\\xf9\\xaf\\x45\\x48\\xca\\xaf\\x6e\\xd6\\xc1\\xe8\\x07\\x6e\\xbf\\xfd\\x81\\xbb\\x26\\x4f\\x9d\\x30\\x4d\\xbc\\xf8\\xab\\x03\\xbf\\x09\\xd6\\x34\\x35\\x4e\\x53\\xd7\\xdd\\xfc\\x50\\xc0\\x91\\x32\\x1c\\x39\\xfc\\xe7\\xd8\\x82\\xe3\\x1c\\x5a\\x59\\x82\\x84\\xb5\\xf7\\xa4\\x9d\\x22\\x7f\\xcc\\x25\\x0a\\x2e\\x16\\xaf\\xeb\\xf8\\x88\\xbf\\x86\\x7f\\x8a\\xc4\\xd5\\xf7\\x09\\x1d\\xff\\xe0\\xd6\\xf2\\x8f\\x91\\x38\\xc7\\xe2\\x8d\\x1d\\xff\\xd0\\xf2\\xf3\\x2c\\x9e\\x4c\\xf4\\x98\\x8d\\xec\\xbd\\x99\\xc6\\x3b\\xbe\\xee\\xb8\\xc8\\xd5\\x88\\xcd\\x24\\x6e\\x61\\xef\\xc9\\x38\\xe6\\x67\\x93\\x36\\x8a\\x82\\x55\\x83\\xf7\\x35\\x37\\x9e\\xfd\\x3e\\x9e\\xc5\\x73\\xc9\\xbc\\xa1\\x8a\\xbd\\x4f\\x64\\x74\\x33\\x1d\\x63\\x3e\\x87\\x6f\\x22\\x94\\xde\\x4b\\xb6\\x90\\x81\\x4e\\xc8\\x4c\\x32\\x8a\\x18\\xf0\\x09\\x98\\xff\\x48\\x00\\xf8\\x13\\x50\\x8b\\xb4\\xa5\\x90\\xa8\\x94\\x50\\xf9\\x39\\x9f\\xd3\\xee\\x87\\xeb\\x9f\\x84\\x1d\\x18\\x3f\\x01\\x47\\x94\\x29\\x0c\\xfe\\x78\\x84\\x84\\xdb\\x84\\xd7\\x08\\x8e\\x13\\x18\\x8e\\xbf\\x23\\x34\\xdc\\x63\\x3a\\xba\\xd8\\x43\\x7a\\x0e\\xff\\x35\\xd7\\xd0\\x71\\xdf\\x25\\x7f\\x97\\xa3\\xfe\\x8e\\xf6\\x1d\\xcd\\xc7\\xf0\\x97\\xc0\\xf0\\x97\\x4d\\xf1\\x47\\xd2\\x3f\\xc7\\x8d\\x2a\\x5e\\x95\\x7b\\x3a\\xa5\\x7f\\x11\\x4e\\xd7\\xf0\\x1d\\x4e\\xff\\x1a\\xaf\\x0f\\xfd\\x8d\\xa4\\x7b\\x09\\x5e\\xb7\\x11\\xbc\\x66\\x13\\xbd\\x06\\x39\\x29\\x6d\\xec\\xe9\\xb8\\x0f\\xc5\\xc8\\x66\\xa8\\xcd\\x81\\x82\\x1c\\x32\\xf9\\x87\\x1c\\xa4\\xfa\\xdd\\x60\\x70\\x1c\\x1d\\x9f\\xe1\\x7a\\x82\\xd7\\x6c\\x01\\xab\\xf9\\xd1\\xef\\xc3\\xf9\\x4b\\xa0\\xa0\\x04\\x50\\x09\\x94\\xe8\\xf3\\x87\\xfb\\x35\\x9b\\xf6\\x2b\\x83\\xbf\\xb9\\x63\\x1e\\x32\\x3d\\x46\\x3d\\x43\\xf5\\x23\\x19\\x4b\\x74\\x7d\\x9d\\x4d\\xfb\\x9a\\xe6\\xc1\\xa3\\x59\\x1e\\x5c\\x7b\\x19\\x5c\\xa6\\xe6\\xe9\\xf8\\x6b\\xc7\\xd7\\xb0\\x98\\xe5\\x11\\xb4\\x72\\x0b\\x35\\x38\\x3e\\xf0\\x45\\xf2\\x7c\\x01\\x0a\\x2b\\x4b\\xec\\x92\\x27\\x5a\\x56\\x0d\\xa1\\x93\\x85\\x2c\\x8f\\x51\\x2b\\x6b\\xab\\xd2\\x46\\xf3\\xd4\\x0d\\x85\\xa1\\x61\\x38\\x38\\x27\\x3a\\x5e\\x9c\\x22\\xff\\x75\\xe1\\x74\\xe4\\x95\\x9d\\x50\\x97\\x0d\\x72\\x36\\x14\\x64\\x43\\x7e\\x36\\xa4\\x66\\x43\\x76\\xd8\\x2d\\x09\\x6b\\xa7\\xb2\\x8c\\xd1\\x5b\\xb6\\x60\\xd2\\xc6\\xd8\\xde\\x8e\\x79\\x3a\\xba\\xcd\\xa6\\x74\\xcb\\xda\\xff\\xa7\\x30\\xbe\\x32\\xa1\\x20\\x93\\xde\\x21\\xc9\\xd4\\xe1\\x2b\\x42\\xd7\\xd9\\x94\\xae\\x59\\xfe\\x23\\x1d\\x7f\\x61\\xf5\\x8b\\xe0\\x02\\x95\\x77\\xb4\\xf2\\x53\\x18\\x4c\\x9b\\xd6\\x86\\xdf\\x85\\x61\\x56\\x40\\x41\\x05\\x61\\x2a\\x50\\xd1\\xa9\\xcf\\x08\\x73\\x8f\\x63\\x75\\x73\\x68\\x78\\xb9\\x2b\\x9c\\x3f\\x0f\\x0a\\xf2\\x00\\xe5\\x41\\x9e\\x3e\\x7f\\x7d\\xc7\\x67\\x7c\\x1e\\x6b\\xbf\\x53\\x83\\xdf\\xd0\\x71\\x35\\xcd\\x8f\\x49\\xfe\\xfc\\x3c\\x48\\xed\\x92\\xbf\\x46\\x59\\xad\\xd1\\x50\\x8c\\x46\\x5b\\x0b\\x3b\\xc6\\x91\\x74\\x42\\xc9\\xdc\\x8b\\x0c\\x8e\\x5b\\x4b\\xdf\\xde\\xb1\\x8e\\xa4\\x17\\x92\\xf4\\x8b\\xac\\x3e\\xb1\\x5a\\x1b\\xab\\x94\\xeb\\x90\\xed\\x38\\xec\\x9e\\x00\\xb5\\x13\\x60\\x02\\x73\\xcf\\x42\\xfd\\xbb\\x28\\xeb\\xb9\\xbf\\xb2\\xdf\\xc7\\x69\\xf5\\xf0\\x77\\xfc\\x99\\xd2\\x45\\xdd\\x08\\x18\\xa1\\xe1\\x22\\x3c\\xce\\xb3\\xe9\\x38\\xd7\\xe1\\x9d\\x8d\\x1f\\x56\\xa7\\x84\\x4e\\xe3\\x26\\xcc\\x07\\xb2\\x29\\x1f\\x60\\x30\\xd7\\xaa\\x34\\x52\\x37\\x08\\x06\\x45\\x61\\xc2\\x62\\xe1\\x41\\x95\\xd6\\xc8\\x6f\\xbf\\x44\\x67\\x59\\x3b\\xd9\\x58\\x11\\x1a\\xd5\\xb1\\x42\\xd2\\xbf\\x85\\xa7\\xa2\\xbc\\x89\\xa5\\x9b\\xb5\\xf4\\x27\\x58\\x3a\\x6b\\x3f\\x4b\\x57\\xdb\\xff\\x2d\\xb6\\x30\\x7b\\x29\\x5f\\xd3\\xb1\\x28\\x36\\x93\\x3a\\x56\\xcb\\xae\\x3e\\x43\\x12\\xc4\\x14\\x8c\\xc5\\x21\\x23\\x07\\x08\\x13\\xaa\\x87\\xf5\\x4a\\xbf\\xec\\x04\\xd4\\x3f\\x3a\\xa4\\x4f\\x69\\x9f\\x13\\xd0\\xf4\\x58\\xa0\\x34\\x3d\\x1d\\x3d\\x0d\\xf3\\x51\\x00\\xa5\\x13\\x8e\\xe4\\x80\\xd9\\xda\\x52\\x90\\x3a\\x21\\x52\\x4f\\x62\\x44\\xed\\x6b\\xc7\\x64\\xd0\\x23\\x18\\x74\\x33\\x91\\xee\\x9a\\x6a\\x1b\\xa6\\xd4\\x2c\\xb2\\xc7\\x4d\\x9d\\x39\\xc5\\x0e\\x84\\xa2\\x14\\x1c\\x07\\xa5\\x3a\\x4d\\x3f\\xd6\\x5f\\xc6\\x26\\xc6\\xcc\\x9c\\xa9\\x01\\x62\\xd5\\x93\\x75\\x39\\xd9\\x39\\xb0\\x71\\x66\\x56\\x5a\\x7c\\x5c\\xef\\xc4\\xf8\\x1c\\x8b\\x89\\x73\\xa4\\xd6\\x64\\xe5\\xe4\\xe7\\xf4\\x1d\\x54\\xe9\\xb0\\x3b\\xbd\\x5e\\xb0\\x2e\\xbe\\x77\\x60\\x65\\x69\\xbc\\x88\\xdd\\xc9\\x33\\x4b\\x07\\x7b\\xb3\\x52\\xd2\\x0a\\x6e\\x9c\\x01\\x65\\x15\\x89\\x7d\\x2c\\x46\\xec\\x9a\\x1f\\xea\\xcd\\x9d\\x78\\x65\\xe2\\xd4\\x31\\x9e\\x18\\x8f\\xe4\\x2c\\xc8\\x48\\x2a\\xce\\x96\\xcc\\x16\\x9b\\x39\\x3e\\x35\\xc1\\x3d\\x78\\x62\\x7d\\x79\\x49\\x4e\\x42\\x9f\\xfe\\xa9\\xca\\xb9\\x83\\xeb\\x07\\xfa\\xfb\\x4e\\x36\\x3b\\x13\\x3c\\xdc\\xf0\\x01\\x7d\\x33\\xb2\\x72\\x37\\x9c\\x51\\xee\\x19\\x59\\x9a\\x31\\xac\\xc0\\xe8\\xbf\\x8a\\xcb\\x42\\xd0\\xfe\\x31\\xff\\x0c\\x11\\x1c\\x45\\x44\\x3f\\x8b\\x93\\x4d\\x48\\x10\\x4c\\x4c\\xd1\\xa3\\xfe\\x32\\xc2\\x66\\x4d\\x63\\x7c\\x19\\xbc\\xc1\\x57\\x9a\\x99\\xee\\xe7\\xf9\\x4f\\x94\\xe3\\xb3\\xb7\\xad\\x81\\x4d\\x60\\x8d\\x17\\x8e\\xaf\\xba\\xfa\\xf7\\x47\\x19\\xbe\\x43\\xfc\\x33\\x5c\\x7c\\x18\\x06\\x61\\x31\\x66\\x64\\xbc\\x31\\x80\\xf4\\x30\\x38\\x7f\\x1a\\x1f\\xe7\\xcb\\xce\\xcc\\x05\\x2e\\x1e\\x2c\\xb0\\x79\\xcd\\xb6\\xd9\\xca\\xf1\\x4f\\x48\\xb9\\x47\\x7f\\x7f\\xf5\\x2a\\x0a\\xa3\\xbd\\x9d\\x3f\\x49\\x28\\xea\\x0c\\x91\\x95\\xfd\\xe4\\x04\\x64\\x34\\xda\\x90\\x75\\x17\\x35\\x6b\\x6d\\x36\\x73\\xbb\\x02\\x76\\x73\\xaa\\x39\\xdf\\xcc\\x99\\x8d\\x44\\x5d\\x9c\\x15\\xd9\\x5c\\x51\\x41\\x3b\\xd5\\x83\\x89\\xaa\\x85\\xea\\xb8\\xba\\x87\\x2a\\x67\\x2c\\x1b\\xe2\\xfa\\x75\\xda\\x7b\\x4f\\xac\\x3e\\xc7\\xb7\\xc5\\xf5\\x8e\\xeb\\x57\\xb4\\x6b\\xa3\\xe6\\x0b\\x1d\\xf1\\x27\\x39\\x81\\x94\\x61\\x43\\x45\\xb2\\xd7\\x40\\x4f\\x53\\xdb\\x68\\x19\\x9a\\x39\\x63\\x89\\x33\\x98\\x65\\x5a\\x9a\\x59\\x53\\xc2\\x4e\\x91\\xe9\\x78\\x79\\xb4\\x9c\\x88\\xed\\x6b\\xea\\xad\\x6b\\xce\\xc3\\x23\\xaf\\xbd\\xda\\x7d\\x53\\xc2\\xe2\\x47\\xd6\\x8d\\xbf\\x7f\\x9a\\xb0\\x3f\\xbe\\x4f\\xf1\\xf0\\xc6\\x65\\x25\\x19\\x1e\\x0a\\x95\\x9d\\xc1\\x17\\x9e\\x63\\xe7\\xd3\\xad\\xcc\\x42\\x4e\\x32\\xd1\\x3f\\xb2\\x50\\x6f\\x94\\x8f\\x86\\x6a\\xe7\\xb4\\x17\\xa2\\x55\\xe8\\xbf\\xf2\\x16\\x43\\x6a\\xaa\\x4b\\x4c\\x49\\x71\\x99\\xc1\\xe3\\x71\\x2d\\x9b\\x17\\xdf\\x67\\x51\\xdd\\xb8\\xd1\\x53\\x67\\xcd\\xaa\\x9c\\x30\\x7a\\xda\\xb0\\x62\\x3f\\x17\\x33\\xa0\\xa2\\x22\\x66\\x90\\x7f\\xd8\\xe8\\xca\\xba\\x3e\\xf3\\x4c\\xb9\\x26\\xe4\\x72\\xad\\xc9\\x48\\xec\\xd7\\x2f\\xd7\\x9e\\x93\\x93\\x6b\\xcb\\xce\\xf6\\x79\\x73\\x73\\x57\\x9b\\x7d\\xfd\\x62\\xfb\\xce\\x2a\\x5b\\xb1\\xa2\\xb2\\xa0\\x7e\\xe6\\x54\\xf0\\x5e\\xd9\\xd4\\x34\\x6a\\xd0\\x94\\x29\\x83\\x47\\xf5\\xad\\x2f\\x9e\\xea\\x1d\\x35\\xca\\x3b\\xb5\\xb8\\xbe\\xaf\\x98\\xd4\\x2b\\xcd\\xdd\\xaf\\x5f\\x4e\\x6a\\x4c\\xae\\x25\\xd3\\x6e\\xe0\\x12\\x12\\x1c\\x46\\x3e\\x89\\x9a\\xcf\\x50\\xf7\\x70\\x5f\\x2a\\x8a\\x3c\\x46\\xce\\x71\\x6b\\x6b\\xf9\\xf9\\xe1\\xcd\\x09\\x75\\x9a\\xec\\x38\\x59\\xa4\\xaa\\xeb\\xfa\\x1d\\x1c\\x16\\x74\\xdb\\xda\\x71\\x95\\x77\\xc9\\x12\\x36\\x80\\x55\\xe2\\x2b\\x49\\x17\\xa8\\x79\\x26\\x9f\\xd3\\x4f\\xe5\\x3e\\x9d\\x60\\x96\\xd0\\xdb\\x5e\\x74\\x16\\xa1\\x4b\\x17\\xd2\\xe9\\x5c\\x20\\x8b\\x60\\xbc\\x4c\\x35\\x60\\xcf\\x76\\xfe\\xdc\\x22\\x99\\xe3\\xd2\\xdd\\xb1\\x34\\xba\\x7d\\x96\\x02\\x9c\\xb6\\x57\\x16\\xa7\\x7d\\x83\\x23\\xbd\\x27\\x67\\x9c\\x46\\xd4\\x70\\x01\\x86\\x87\\x9e\\x53\\x9e\\x86\\xe1\\xb8\\xa2\\xa1\\xa1\\xed\\x6a\\xfa\\xc4\\x6f\\x52\\x9e\\xbe\\xd0\\xf0\\xdd\\xf0\\x0b\\x0d\\xea\\x33\\x0c\\x6f\\xbd\\xbb\\xa1\\x81\\x4b\\xa1\\x4f\\x34\\x6f\\xc3\\x05\\x01\\xcd\\xaa\\xf5\\x2c\\xb2\\xf4\\x29\\x28\\xea\\x3b\\xfb\\x8f\\x0d\\xca\\xae\\xfd\\xbb\\x1e\\xba\\x11\\x52\\xc6\\x8d\\x9f\\xdb\\x78\\x47\\xa0\\x26\\x2d\\xed\\xc1\\xfc\\x79\\xf3\\x8a\\x07\\x3f\\xa7\\xc8\\xca\\xf9\\x9b\\x7f\\xfd\\xeb\\x5b\\x6e\\xfa\\xf5\\xb2\\xc0\\xcc\\xba\\xcb\\xa7\\xcf\\x9c\\x15\\xe0\\x37\\x5d\\x68\\x68\\x68\\x68\\xdf\\x04\\xc3\\xe1\\xdd\\x86\\xd6\\x8a\\x86\\x0b\\x7c\\x22\\xa9\\x00\\x79\\x80\\x77\\x61\\x78\\xfb\\xa6\\x06\\x52\\xe2\\x85\\x8b\\xb5\\xab\\x5d\\x63\\x46\\x0c\\xaf\\x85\\xbf\\x4d\\x0f\\xbd\\x7c\\xf5\\x86\\x2f\\xaf\\x58\\xcb\\xe5\\x9e\\x1c\\xd1\\xe8\\x34\\x2f\\x02\\xdf\\xb0\\x72\\x45\\xf9\\x70\\xe4\\x68\\xe5\\x1d\\x18\\xae\\x4c\\x3f\\x75\\xfe\\xec\\x2b\\xaf\\x9c\\xbd\\x6f\\xdf\\x6d\\x87\\x1f\\x38\\x70\\x2b\\xa3\\xe7\\x24\\xc2\\x6b\\x47\\x72\\x47\\x50\\x0a\\x1a\\x2e\\x67\\x21\\x53\\x8a\\x33\\xce\\x69\\xb2\\xf2\\xa9\\x69\\x71\\x1e\\xaf\\x67\\x62\\xc0\\x1b\\x9b\\x62\\x76\\xda\\x9d\\x13\\x02\\xb2\\x75\\x82\\x15\\x5b\\xad\\x76\\x3b\\xe7\\x21\\xcc\\x8d\\xfa\\x30\\x54\\xed\\x42\\x75\\xf2\\x1e\\x40\\x3a\\x05\\x8b\\x06\\x5f\\xc9\\x10\\x5c\\x16\\xe3\\x33\\xf8\\xca\\xd2\\x49\\x4f\\x44\\x77\\x9e\\x4a\\x9c\\xb0\\xc8\\xef\\x31\\x1f\\x2f\\xce\\x4d\\x30\\xf6\\xb9\\xae\\xa0\\xdc\\xc3\\xbb\\x9f\\x2a\\xc8\\x4e\\x2e\\x89\\x9f\\x52\\xf0\\x08\\x37\\x2d\\x74\\xfd\\xd1\\x3e\\x79\\xa5\\x13\\x97\\x4f\\x87\\xb7\\xb7\\xfc\\x79\\x4a\\x68\\xd3\\xd0\\xa1\\x8e\\xa1\\x6e\\xdf\\x79\\xbc\\x87\\xf0\\x86\\x8f\\xf8\\x7a\\xfc\\x82\\xb0\\x8e\\x8c\\x83\\xa1\\x72\\xb6\\xc9\\x6c\\xb6\\x93\\x09\\x84\\x69\\x0b\\x07\\x76\\x2e\\x95\\xdb\\xc5\\x1d\\xe0\\x78\\x89\\xcc\\x31\\x65\\x64\\x98\\x10\\xa0\\xb7\\x2a\\xf2\\x11\\x47\\x8f\\x47\\x53\\xdf\\xbb\\xda\\x00\\x9c\\x45\\x69\\xad\\x48\\xab\\x21\\x21\\x03\\x7f\\x78\\x18\\x02\\x4c\\x39\\xfe\\xa8\\x70\\x8f\\xd8\\x34\\x6b\\x56\\x93\\x78\\x8f\\xf0\\x28\\x5f\\x7f\\xed\\x4d\\xf3\\x17\\x2e\\x9c\\x7f\\xf3\\x35\\xea\\xbc\\x85\\xdb\\x03\\x0d\\x44\\xd7\\x73\\xa1\\x2c\\x39\\xc6\\x48\\x74\\x23\\xab\\xd5\\x1d\\xc3\\xf1\\x77\\x04\\x1c\\xdc\\xa1\\x19\\x46\\x07\\x47\\x8d\\x76\\xe5\\x86\\xcd\\xbc\\xaa\\x73\\x3b\\x43\\x09\\x73\\xd2\\x17\\x9e\\xba\\x34\\xec\\xba\\x7b\\xf8\\x84\\xec\\x64\\x5f\\x72\\x59\\x6e\\xd1\\x30\\xfe\\x81\\xc5\\xdb\\xb3\\x2a\\xec\\x7d\\x0a\\x72\\x9c\\x09\\x49\\x39\\xa9\\xd9\\xbd\\xc7\\xd3\\x32\\xf8\\x3a\\x70\\x09\\xa7\\xc9\\x88\\xcf\\x94\\x5d\\x66\\x91\\x14\\xe2\\x72\\xf2\\x9c\\xdd\\x96\\x6a\\xcb\\xb7\\x71\\x84\\x83\\x91\\x76\\x9c\\x2c\\x0a\\x6f\\xc1\\xd3\\x3b\\x21\\xd4\\xa1\\x8d\\xc7\\xad\\xb9\\xa4\\xcf\\x2e\\x8a\\xce\\x8d\\xf8\\x7f\\x74\\x99\\x1c\\xa9\\xfe\\xd7\\xf8\\x5a\\xec\\x10\\x76\\x3b\\x44\\x7a\\xe7\\xfa\\x47\\xc4\\x6f\\x27\\xf1\\x12\\x16\\x5f\\xf5\\xc3\\x71\\x32\\x3f\\x89\\x13\\x5e\\xe9\\xf8\\x83\\x21\\x97\\xe0\\x28\\x5b\\x76\\xd8\\x6d\\x44\\xd9\\x31\\x99\\x44\\x31\\x46\\xe0\\x38\\xa3\\xd5\\x4e\\x67\\xfa\\x45\\x8e\\x97\\xa2\\xb6\\xcc\\x28\\x1b\\x57\\x5d\\xdc\\xd0\\xc3\\x87\\xf4\\x04\\x25\\xa1\\x16\\xb8\\xe0\\xef\\x53\\x55\\x99\\x3a\\x7d\\xe1\\xbf\\x26\\xce\\x58\\x3a\\xb2\\x40\\xdc\\x9a\\x9a\\x11\\x3f\\x37\\xe5\\xe6\\x81\\x53\\xcd\\x45\\x6b\\xb8\\x14\\x04\\x21\\xa7\\xf0\\x8a\\xf2\\xfc\\x4f\\x29\\x03\\xba\\x97\\xa1\\x78\\xbf\\xb7\\x10\\x26\\x3f\\xa6\\x91\\x72\\xa4\\x5f\\x58\\x4e\\xa8\\xfe\\x07\\xca\\xa1\\xe7\\x1f\\xf8\\xd9\\xf8\\x36\\xa1\\xc1\\x21\\xd2\\x93\\x0f\\x3d\\xc4\\x4b\\x08\\x8e\\xaf\\x12\\x56\\x93\\xf8\\x6d\\xda\\xfb\\x5a\\xf2\\xbe\\x99\\xc4\\x83\\x4c\\x56\\xda\\x95\\x57\\x3a\\x5e\\xe8\\x58\\x49\\xd7\\xf5\\x1e\\xe3\\x10\\x8f\\xe8\\xca\\x16\\xa5\\x70\\x6a\\x20\\xce\\xef\\xf9\\xf2\\x31\\xe5\\x95\\x23\\x47\\x7e\\x4c\\x5f\\xfe\\x00\\x2d\\x84\\xfb\\xd6\\x25\\xe2\\x57\\x7b\\x8a\\xff\\x60\\x3b\\x7e\\x61\\xbc\\xbd\\x43\\x79\\x25\\xf4\\x68\\xc7\\x4a\\x87\\x41\\xb2\\x84\\xbe\\x40\\x0c\\x77\\xed\\x3b\\x48\\x5a\\x85\\x96\\xb6\\x41\\x4d\\x6b\\xfb\\x44\\x79\\xa5\\xfd\\x80\\x9a\\xd6\\xfe\\x9e\\x96\\xef\\x34\\xc9\\x77\\x8d\\x96\\xef\\x59\\x2d\\xdf\\xef\\x48\\xbe\\xe9\\x5a\\xbe\\x5b\\x51\\x8f\\x7d\\x11\\x5a\\xac\\xbc\\xa2\\xa4\\xab\\x79\\x94\\xd9\\x6a\\x1e\\xe5\\x5a\\x82\\xef\\xfe\\x6a\\x1a\\xc1\\xba\\x9a\\xf6\\x47\\x92\\xb6\\x89\\xa4\\x89\\x92\\xe5\\x49\\x5a\\xde\\x77\\xa4\\xbc\\xfb\\xb5\\xf2\\xfe\\x4f\\xcd\\x13\\x5a\\x47\\x60\\xf5\\xd3\\x60\\x2d\\xd2\\xd2\\x1a\\x49\\x5a\\xa2\\x96\\x76\\xb9\\x56\\xd7\\x3b\\xc9\\x6f\\x27\\x69\\xbf\\xdd\\xa5\\xe5\\xf3\\x91\\xb4\\x73\\x5a\\x3e\\xb7\\x96\\x6f\\x00\\xa9\\xff\\x67\\x5a\\xbe\\xdc\\x9e\\xeb\\xff\\xd3\\xe2\\x84\\xff\\x10\\x38\\xd8\\x45\\xf8\\xbf\\x44\\x68\\x3e\\x86\\xea\\x6e\\x66\\xa3\\x58\\x1d\\x30\\xda\\x91\\xc0\\x09\\xd5\\x01\\x4e\\x7f\\x3c\\x48\\x5d\\xdd\\xc9\\x8a\\xee\\xf1\\x2e\\xa3\\xa7\\x7d\\xb6\\x41\\x6e\\x65\\x78\\xef\\x00\\x71\\xca\\x4b\\xc2\\xed\\x91\\x35\\x67\\x2f\\x72\\x1d\\xb3\\x26\\x24\\x20\\x1c\\x63\\x60\\xa3\\xa7\\x3c\\x9f\\x8e\\x19\\xba\\x0f\\x71\\x89\\x5b\\x01\\xca\\x4b\\x78\\xc5\\xf0\\xa2\\xac\\xac\\xe2\\xe2\\xac\\xac\\x22\\xe5\\x05\\xf2\\x54\\x52\\x42\\x9e\\xc4\\xc7\\x16\\x2f\\xfe\\x3d\\x7b\\xa4\\x2f\\xd4\\x6f\\x6a\\xfb\\x51\\xe2\\x87\\xa2\\x6f\\x85\\x2f\\x88\\x8e\\xe4\\x24\\xda\\x91\\xfb\\xb8\\x47\\x22\\xcd\\xe0\\xbc\\x6c\\xa8\\xd2\\x95\\x7e\\x66\\x31\\xb1\\xcc\\xef\\xb1\\x43\\xd4\\x29\\x40\\x76\\x96\\xee\\x39\\x77\\xde\\xe1\\xcf\\x3f\\x0d\\x97\\x07\\x83\\xc3\\xe5\\x09\\xb6\\xb8\\x57\\x13\\xff\\x70\\x95\\xae\\x34\\xfa\\x4d\\x11\\xce\\x29\\x1f\\xf2\\x43\\x21\\x89\\x94\\x69\\x66\\xbb\\x22\\xc9\\xb2\\x45\\xf2\\xa4\\x24\\x78\\xc8\\xff\\xc4\\x78\\x3b\\xa7\\xb6\\x52\\xdb\\x63\\x20\\xcc\\xfa\\x12\\xcd\\xe4\\xe2\\x48\\xa5\\x0c\\xbe\\x9c\\x92\\x6f\\xbb\\xb7\\xf5\\xce\\x0f\\x3f\\xec\\xff\\xe4\\x73\\x4f\\xf1\\xfb\\xbb\\xb4\\x17\\x0a\\xd6\\xaf\\x4f\\x7f\\xee\\xb9\\xf4\\x9e\\xda\\x6d\\xf7\\x12\\x54\\x73\\xa4\\xf5\\xd1\\x76\\xc7\\xe4\\x94\\xf8\\xe3\\x3c\\x71\\x97\\xa8\\x80\\xf9\\xf3\\xc3\\xf3\\x5e\\xeb\\x5e\\xb6\\x60\\xfb\\x43\\xe2\\xab\\x71\\x57\\x75\\xc3\\x34\\xea\\xb2\\x97\\x90\\x20\\x5b\\x30\\xba\\x21\\x80\\x0d\\xb2\\xc1\\xda\\x1c\\x30\\x44\\xd6\\x1b\\xbb\\x77\\x2e\\xed\\xd0\\x53\\x91\\x9d\\x03\\xd2\\x8d\\x8f\\xa8\\x8f\\x32\\x83\\xf9\\x9c\\xb0\\x1b\\x86\\x33\\x98\\x5e\\x94\\x2f\\x7b\\xe3\\x25\\x87\\x2c\\x39\\xab\\x1c\\x0e\\x0f\\xe6\\x3d\\x3b\\x03\\xac\\x08\\xea\\x76\\x1d\\xdb\\x78\\x32\\x0d\\x78\\x2d\\x37\\xe2\\x0b\\xd6\\x7f\\x52\\x2d\\x89\\xcb\\xe8\\x87\\x55\\xbd\\x9d\\x94\\x95\\x82\\x35\\x99\\x4e\\xcb\\x3c\\x91\\x3f\\xb1\\x6a\\x58\\x7a\\x6a\\x2f\\x8f\\xc1\\xef\\x78\\x98\\x3e\\xa7\\xf5\\xc9\\x37\\x15\\x9b\\x6b\\x69\\x15\\x94\\xf7\\x52\\xb3\\x53\\x5d\\xa9\\x59\\x0f\\x91\\x2f\\x5f\\xd1\\xcc\\xc9\\xaa\\x5e\\x7f\\x90\\x20\\xf6\\xb8\\xb0\\x95\\x8d\\x03\\x87\\x01\\x80\\xda\\x97\\x36\\xd3\\x1b\\xa0\\x46\\x5e\\xa0\\x07\\x7e\\xfd\\x27\\xc3\\x67\\x6d\\xb4\\x15\\xd5\\x74\\x9f\\x93\\x29\\x99\\x4e\\x3f\\x77\\x3c\\xa8\\xdc\\xa3\\x9c\\x82\\x79\\xd0\\x27\\xc8\\xdd\\x01\\x33\\x83\\xca\\x5b\\xd0\\xe7\\x7f\\x00\\x73\\xb7\\xf2\\x57\\x06\\x13\\x9f\\xc5\\x99\\x41\\x65\\x24\\x3c\\xf9\\x3f\\x80\\x79\\x9d\\xf2\\x09\\x2c\\x81\\xb4\\x20\\x1c\\xe0\\xa6\\x07\\x43\\xd3\\xf1\\xef\\xf4\\x30\\x8d\\x74\\xcf\\x04\\x44\\xaa\\x84\\x48\\x26\\x11\\x0c\\xf4\\x06\\xad\\x06\\x51\\x0f\\x4f\\x07\\x6e\\xb3\\xf2\\x6f\\x06\\x8e\\xff\\x2e\\xd8\\x3e\\x82\\x7b\\x8a\\xc0\\x1a\\xa7\\x87\\x45\\x6f\\xe0\\x12\\x48\\x1c\\x07\\x02\\x36\\x32\\x58\\x74\\x3b\\xd8\\x1f\\x71\\xd7\\x41\\xea\\x26\\x41\\x99\\x04\\x0c\\xd6\\x09\\xa5\\x71\\x26\\x0c\\x81\\xaa\\x20\\xff\\xb2\\xf2\\x1a\\x6c\\x9b\\xa3\\xfc\\x19\\x8a\\xd5\\xbe\\x99\\x14\\x69\\x73\\xa6\\x6c\\x0f\\xb7\\x99\\x13\\x45\\x10\\x24\\x06\\x54\\x07\\x53\\x6b\\x71\\x3a\\x94\\x51\\xfb\\x16\\x14\\xec\\x4d\\xca\\xae\\x7a\\x18\\x05\\xc5\\x41\\xee\\x5e\\x58\\x32\\x47\\x39\\x01\\x93\\x18\\xcc\\x70\\x3d\\x0d\\x14\\xa6\\x00\\x74\\xe7\\xca\\x28\\x61\\x41\\xa0\\x7b\\x86\\x2a\\xcc\\x6e\\x58\\x2c\\x53\\x1b\\x1d\\x4a\\xa9\\xc5\\xd7\\x04\\xf1\\x68\\xfc\\xda\\xec\\xd0\\x7e\\xbc\\x5c\\x07\\xab\\x53\\xfd\\x58\\x9f\\x08\\x3d\\xc3\\x2a\\x21\\xad\\x86\\x18\\x67\\xb8\\xd9\\x93\\xe1\\xd1\\xf7\\x82\\x9f\\xe2\\xdf\\xc2\\xb6\\x45\\x4a\\x93\\x92\\xcf\\x2d\\x20\\x30\\x2b\\x23\\x78\\x4c\\x93\\xad\\xba\\x3e\\xe1\\xc3\\x10\\xf5\\xf0\\x74\\xe0\\xee\\x55\\x96\\x4e\\x87\\x07\\xfe\\x1a\\xe4\\x7e\\x03\\xeb\\x1a\\x95\\x85\\xa1\\xdb\\xb9\\x56\\xd6\\x5e\\x02\\x0f\\x2f\\xed\\xa9\\xbd\\x22\\xff\\x7d\\xed\\xc5\\x4b\\x83\\xca\\xec\\xe9\\xa4\\x53\\x08\\x61\\x6f\\x69\\x50\\xde\\x86\\x5e\\x04\\x56\\x49\\xcf\\x7d\\x6c\\xc0\\xc2\\x0f\\xf5\\xf1\\x63\\xca\\xa4\\x45\\xa4\\x33\\x48\\x1f\\xaf\\x0d\\xbd\\x85\\x3f\\x1c\\x1f\\xba\\x80\\xd3\\xd5\\x3e\\x2e\\x89\\xe0\\xb0\\x9f\\xec\\x0e\\xe3\\x50\\xe4\\x08\\x16\\x89\\xfa\\x15\\x45\\x64\\xbe\\x36\\x1b\\xec\\x54\\x53\\x06\\xdf\\x19\\x2d\\x60\\x0e\\xf4\\x23\\xed\\x57\\x1e\\xc6\\x1f\\x8e\\x09\\x3d\\x0a\\x79\\x90\\x46\\xe0\\x57\\x5f\\x8a\\x86\\xa2\\xa0\\x2f\\x4d\\x43\\x87\\x94\\x35\\x2b\\xa0\\x01\\x8c\\x41\\xbc\\x1f\\xdf\\x59\\x15\\xba\\x0b\\xcf\\x66\\x75\\xce\\xfb\\xa9\\xfd\\x4e\\x6b\\x0a\\x71\\x2a\\xcc\\x3b\\x95\\xba\\x55\\x70\\xd3\\x7f\\x83\\x60\\x83\\xb9\\xf8\\x8f\\x95\\xa1\\xca\\xef\\xb8\\x47\\x09\\xcc\\x2a\\x0d\\xa6\\xc8\\xfa\\x9d\\xa7\\x77\\xe4\\x8d\\xa4\\xd3\\x05\\xae\\xa7\\x7e\\x8f\\x90\\x64\\xc2\\x6a\\xd2\\x51\\xc2\\xe0\\x11\\x6d\\xfb\\xf8\\xf9\\x28\\x5c\\xb7\\x9f\\xdb\\xdf\\x23\\xaf\\x22\\x1d\\x84\\x6b\\xf0\\xc5\\x2a\\xd6\\x3d\\x80\\x32\\x23\\xfd\\x1d\\xe1\\x39\\x97\\xee\\x71\\x67\\xf7\\x71\\x3d\\x78\\x83\\xda\\xe7\\x09\\xed\\xef\\xf3\\x81\\xa2\\xf6\\xf7\\x39\\x5f\\xf4\\xdc\\x43\\x37\\x5e\\x46\\xe1\\x1a\\x7f\\x00\\x6e\\x09\\x03\\xfc\\xbc\\x52\\xbc\\x09\\xa6\\xd1\\x91\\x7d\\x20\\xb4\\x8d\\xef\\x55\\xd2\\xfe\\x4f\\xdc\\xf8\\x48\\x67\\xb8\\xbf\\x88\\x96\\x1e\\x55\\x86\\xaf\\x87\\xab\\x20\\x89\\xe0\\x42\\x79\\x98\\xaf\\x2a\\x6a\\xdf\\x08\\x2e\\x4c\\xf7\\x83\\x72\\x7e\\x09\\x2d\\xdd\\xac\\xcc\\x5d\\x0b\\xd7\\x80\\x25\\x08\\x13\\x39\\xa5\\xa8\\x7d\\x1a\\x77\\x88\\xe1\\x22\\xbf\\x47\\x1e\\xac\\x1b\\xf0\\xf9\\xdd\\x46\\x7c\\x5c\\x98\\x81\\x54\\x6d\\x86\\xfb\\xff\\x1c\\x84\\x51\\x3c\\x57\\xd6\\xee\\x7e\\x8b\\x7f\\x5e\\xc3\\x81\\xd6\\xff\\x84\\x8e\\xc2\\xfd\\xaf\\xef\\xfd\\x4e\\xfc\\x28\\xd2\\xf7\\x83\\xd7\\x93\\x8e\\xfa\\x8a\\x9f\\xa9\\xf5\\x12\\xb0\\x75\\x53\\xb5\\x5e\\x91\\xb6\\x92\\x7a\\x61\\x30\\x30\\x8a\\x54\\xcf\\x54\\x5c\\xba\\xe7\\x4b\\x37\\xc2\\x38\\xca\\x3c\\xce\\xb5\\xf7\\x16\\x26\\x16\\xb4\\xf7\\xe6\\xce\\x51\\x98\\x71\\x3d\\xe1\\x8f\\xc0\\x14\\xa4\\xef\\x85\\x59\\xa2\\x01\\x2d\\xd8\\x04\\x01\\x18\\x1a\\xe4\\x56\\xb6\\xef\\x10\\xaa\\xf3\\xdb\\xe3\\xb8\\x2b\\xb6\\xa8\\xf4\\x54\\xfa\\xf3\\xe0\\x86\\xd1\\x58\\xbd\\x19\\xc6\\x43\\xdf\\x20\\xde\\x15\\x5a\\x26\\x4c\\xce\\x6b\\xbb\\x88\\x17\\xc3\\xc3\\x5d\\xe0\\xf6\\x91\\x5d\\xfa\\x71\\x2e\\x48\\x94\\x5a\\x51\\x3e\\x5b\\xdf\\xea\\x79\\xb4\\x67\\x45\\xa0\\x6f\\x82\\x15\\x60\\x08\\x42\\x7f\\xe5\\x0f\\x14\\xfa\\xfa\\x56\\x6e\\x27\\x52\\xef\\x23\\x68\\x72\\x28\\x91\\xfa\\x5a\\xa2\\xbd\\x24\\x32\\xb9\\xeb\\xd7\\xf1\\xd0\\xde\\x40\\x20\\xf9\\x29\\x24\\x25\\x57\\x19\\xbf\\x15\\xf6\\x7c\\x12\\x14\\x26\\xf7\\x6b\\xa3\\x3b\\x55\\xe1\\xbb\\x00\\x4b\\x3b\\xf3\\x0c\\x83\\xf1\\x7b\\x79\\x06\\xed\\xea\\xa1\\x5b\\x61\\x08\\x05\\xa3\\xf6\\x0a\\xd2\\xf1\\x48\\x03\\xf5\\x7f\\x25\\xd0\\xaa\\xf0\\x3c\\x30\\x1f\\x95\\x3a\\x02\\xd4\\xe8\\x39\\x07\\xd2\\x69\\xbb\\x5e\\x53\\x8e\\xce\\x21\\xed\\xfa\\x9a\\xff\\x4e\\x39\\x31\\x07\\x96\\xa8\\x70\\xc6\\x76\\xc1\\x97\\x40\\xf1\\x65\\xc0\\x98\\x40\\x33\\x6a\\xe0\\xd8\\xb1\\xb0\\xee\\xf8\\xca\\x09\\xf7\\xc6\\x71\\xe5\\xb9\\x19\\xb0\\x9f\\x92\\xce\\xaf\\xa1\\x44\\x79\\xb7\\x11\\xd6\\x12\\x9d\\xa0\\xf8\\x7f\\x03\\x7b\\xaf\\xf2\\xce\\x54\\x06\\x1b\\xf7\\xc6\\x5b\\x95\\x6f\\x9a\\x60\\x6d\\xe8\\x39\\x5c\\xd1\\x33\\x6c\\xb3\\xe9\\x87\\x61\\x97\\x80\\x10\\x81\\x7d\\xad\\xf2\\xe9\\x64\\x06\\xfb\\x63\\xee\\x7e\\x0a\\xb9\\xfd\\x4d\\x2e\\x8f\\xe1\\x64\\xb6\\x7e\\x7c\\x8b\\x3d\\x72\\xd0\\x72\\x9d\\xcc\\xd4\\x81\\xbc\\x41\\xf9\\x6a\\x22\\x01\\x59\\x1a\\xe4\\xb7\\xff\\x83\\xe0\\xa1\\x7d\\x30\\xf7\\x82\\x5a\\x57\\xad\\xcf\\x09\\x3c\\x81\\xd1\\xa4\\xc1\\x48\\x00\\x62\\xb1\\x47\\x7e\\xe1\\xa4\\xfe\\x73\\x69\\xaf\\x3f\\x3f\\x1b\\x6e\\x0f\\xf2\\xcf\\x2b\\xef\\x2f\\x80\\xb5\\x9d\\x75\\x3f\\x42\\x3b\\xaa\\x2c\\xe7\\x89\\x94\\xd0\\xd4\\xb5\\xae\\x92\\xdc\\x40\\x55\\x3f\\x5a\\xab\\x0e\\x65\\x29\\x4c\\x81\\x81\\x41\\xfe\\xe4\\x5f\\x83\\x10\\xdb\\x49\\x2f\\xed\\x25\\x3b\\xc3\\x63\\xc4\\x80\\x79\\x2a\\x72\\x24\\xf5\\xc6\\x5c\\x7e\\x79\\x37\\x6e\\xab\\x53\\x25\\xf7\\x13\\xad\\x99\\x0a\\x6e\\xbc\\x00\\xd6\\x91\\x6a\\xe2\\x29\\x5d\\xf5\\x72\\xdd\\x98\\xe6\\x0d\\x9d\\xa1\\x5e\\x0a\\xe6\\x9d\\xca\\x9b\\xb0\\x19\\x1c\\x41\\x28\\xc1\\x0f\\x04\\x43\\xff\\xe6\\x32\\x3b\\xc3\\x64\\x3c\\x4d\\xe5\\xb5\\x26\\x89\\x13\\x69\\x37\\xf7\\x0c\\x93\\x82\\xd4\\xf4\\xab\\xfb\\x95\\x93\\x70\\xe7\\x97\\x41\\xee\\x62\\x30\\x54\\x11\\x1e\\x37\\x13\\x22\\xf0\\x22\\x6d\\xa7\\xbd\\x4b\\x66\\xd0\\x51\\x3c\\xd2\\x69\\xd9\\xa5\\xf8\\xe4\\xe3\\x4a\\x53\\x1d\\xa4\\xc0\\x9c\\x20\\xbf\\x26\\x74\\x16\\x7e\\x53\\xaf\\xbc\\x8b\\x6b\\x3a\\x8f\\xa3\\x02\\xd9\\x13\\x95\\x63\\x84\\x22\\x05\\x06\\x5c\\x8a\\xdc\\x44\\xfc\\x01\\x49\\x76\\x42\\x99\\x57\\x07\\x03\\xe9\\x68\\x7a\\x48\\x79\\x1c\\x6e\\xaf\\x53\\x5e\\x24\\x02\\xd9\\x11\\xd6\\x0b\\xbb\\xcb\\x60\\x4e\\x14\\x44\\x3d\\xf8\\x4b\\x4b\\xb3\\x46\\xe5\\xe1\\x7a\\xe8\\x03\\xb3\\x88\\x66\\x04\\xab\\x66\\x2a\\xc7\\x88\\x66\\x14\\xad\\xb7\\x81\\xc2\\x54\\x65\\x8f\\x64\\xa4\\x8e\\x5c\\x79\\x30\\x84\\x11\\x7c\\x49\\xed\\x3a\\x79\\x36\\xde\\x16\\x84\\x1c\\xfc\\xe1\\xdc\\xd0\\x7a\\x6e\\x6f\\x27\\x7e\\xd2\\x59\\x36\\xea\\xbb\\xeb\\x52\\xda\\x30\\x69\\xf8\\x0c\\x78\\xe8\\xed\\x20\\xbe\\x0a\\x6e\\x9b\\xab\\x4c\\x56\\xe6\\xf2\\x33\\x74\\x63\\xc7\\xa0\\x8d\\x1d\\x55\\x36\\x76\\xaa\\x5d\\xcf\\x9a\\x51\\xc3\\x2c\\xa8\\x08\\xe2\\x06\\xb8\\x7d\\x9e\\xf2\\x1c\\x9e\\xd1\\x45\\x6e\\xff\\xdc\\xbe\\x1f\\xb5\\x92\\xc0\\x9f\\x12\\xe4\\x93\\xdb\\x3f\\xe2\\xe6\\x54\\x86\\xf6\\x71\\x15\\x14\\x6e\\xf9\\x2f\\xef\\xfb\\xb0\\xbc\\x9c\\xb4\\x0a\\xfa\\x33\\x0d\\x3e\\xb4\\x8c\\x1b\\x35\\x2a\\xf4\\x1b\\xbc\\xeb\\xa8\\x4a\\xb7\\x15\\xba\\x32\\x62\\xf5\\x65\\x70\\xa4\\xb3\\x30\\x61\\x26\\x6a\\x21\\x6c\\x27\\xe7\\x7b\\xe9\\xeb\\x79\\x65\\xfc\\x6a\\x98\\x45\\x35\\xa5\\xab\\x94\\x7b\\xb8\\x69\\x83\\x43\\x53\\xa1\\x3f\\xae\\xea\\x52\\xc6\\xcf\\xa2\\xaf\\xbb\\x95\\xc5\\xab\\xc9\\x0c\\xd3\\x14\\x84\\x1a\\x2e\\x61\\x70\\xa8\\x88\\xbb\\x5b\\x07\\xf3\\x27\\xd0\\x43\\x5c\\x78\\x7a\\x30\\x73\\x35\\xdc\\x76\\x81\\x30\\x04\\x6e\\xc0\\xe0\\xf6\\xbf\\xbc\\xaa\\xea\\x4a\\x15\\x11\\x7a\\x88\\xd0\\x2b\\xd3\\x95\\x7f\\x90\\x5e\\x29\\x4d\\x5c\\xbe\\x1a\\x8a\\x82\\x90\\xc7\\x0d\\x1b\\x1c\\x3a\\xcc\\xe5\\x76\\xd2\\x17\\x3a\\xe9\\xcb\\x94\\x11\\x1a\\xd9\\x69\\x35\\xbf\\xbf\\x07\\x1a\\xd3\\x6b\\x4d\\xd5\\x1b\\xa1\\x38\\xac\\x35\\x49\\x05\\xed\\xcb\\xc2\\x7c\\xa6\\xa4\\xc7\\xb9\\x3f\\x65\\x85\\x3f\\x00\\x37\\x4c\\x09\\xe3\\x37\\xc2\\xa0\\xb0\\xe6\\x24\\x15\\xb6\\xcf\\x60\\x9a\\xd3\\x25\\xf4\\x1b\\x4a\\x69\\x5d\\x21\\x7f\\x1f\\x87\\xd1\\x6b\\x4f\\xe6\\xbc\\xf6\\x5c\\xa6\\x3d\\xfd\\x22\\xd8\\x3d\\xeb\\x4e\\xa6\\xbc\\xb6\\x93\\x9a\\xee\\x54\\x1a\\xe1\\x33\\x29\\xb2\\x45\\xd5\\x9d\\x38\\x8e\\x37\\xa8\\xda\\x53\\x54\\x02\\x76\\xd2\\x9f\\x0a\\x28\\xb0\\xfd\\x1f\\x04\\x29\\x9c\\x89\\x9a\\xfe\\x54\\xa2\\x97\\xa5\\x11\\xfd\\x89\\xd0\\xbf\\xd8\\x23\\x3d\\x45\\xba\\x7e\\xdc\\x66\\x32\\xf9\\x20\\x80\\xda\\xd7\\x71\\x67\\x50\\x27\\xbe\\x47\\xeb\\x03\\x97\\x50\\xa0\\xba\\x68\\x50\\x7f\\x55\\xee\\x5b\\x02\\xab\\xa9\\x06\\x15\\x7a\\x61\\x0c\\x5e\\xd7\\x99\\xef\\xf7\\x95\\x63\\xc2\\x3a\\x0e\\xd1\\x37\\xc5\\x2e\\x8a\\x48\\x4f\\x1a\\x67\\x44\\x6d\\x78\\x43\\x79\\x62\\x49\\x58\\x83\\x4a\\x51\\x2c\\x04\\x34\\xd3\\xa0\\xfe\\x67\\xf0\\x1f\\x56\\xde\\x5d\\x12\\xd6\\xa2\\x26\\x2b\\x32\\x81\\xcf\\xb4\\xa8\\xce\\xf0\\x55\\x3a\\x55\\x75\\xb4\\x6e\\x5a\\x54\\x97\\x15\\x91\\x08\\xe4\\xfd\\xca\\x97\\x4b\\x34\\x1d\\x6a\\xa5\\x32\\x9b\\x00\\x56\\x95\\xa8\\x2e\\x72\\xe0\\x87\\x75\\x28\\x1d\\xc8\\x3b\\x95\\xcf\\x96\\xc0\\xfd\\x54\\x87\\x9a\\xa4\\x2c\\xa4\\x10\\xa9\\x12\\xc5\\xea\\xda\\xf4\\x33\\xf5\\xa8\\xcf\\x97\\xc0\\x96\\x20\\xbf\\x49\\x19\\x34\\xae\\x73\\x9f\\x89\\xb4\\xef\\xa9\\x1e\\xd5\\x33\\x94\\x08\\x0c\\x2a\\xea\\x16\\x8d\\xc7\\x17\\x83\\xfc\\xe9\\xd0\\x99\\x26\\x15\\x46\\x65\\x17\\x1d\\x4a\\x50\\x79\\x25\\x4f\\xfe\\xeb\\x98\\x65\\xd7\\x3e\\x61\\x94\\xa4\\x36\\xf3\\xf7\\xca\\x93\\xf5\\xb0\\x10\\x36\\x13\\xf5\\x44\\xd9\\x3b\\x13\\x6e\\x22\\x9a\\x59\\xe7\\xfe\\x50\\xe7\\xc3\\x5a\\x7f\\x73\\x86\\xae\\xa0\\x5d\\xe5\\x45\\x3f\\x46\\x27\\xc7\\x5b\\x23\\x3a\\x39\\x1e\\xf9\\x3d\\xf0\\x45\\x43\\x17\\xf8\\x3d\\x4a\\xaa\\xee\\x7a\\x39\\x24\\x44\\xf4\\x72\\xae\\xba\\x53\\xbf\\x13\\x1e\\x42\\xf8\\xbd\\xc6\\x4f\\x55\\x29\\x6b\\xec\\x04\\xbd\\xd3\\x38\\xe5\\x22\\xa0\\x17\\x7c\\x34\\x9f\\xcc\\xe4\\x97\\x06\\x09\\x03\\xf8\\x70\\x26\\x3c\\xdf\\x7e\\x0f\\x9f\\xd9\\x49\\x0f\\x20\\xf8\\x56\\xfb\\x9e\\xf1\\x7d\\x03\\x25\\x2a\\x6d\\xe8\\xf7\\xb0\\x4e\\x92\\x43\\xf8\\x29\\x25\\x81\\xe7\\x66\\x11\\x55\\x9a\\x7b\\x45\\x79\\x6e\\x1e\\xdc\\xfe\\x4d\\x67\\xbd\\x52\\xc7\\xf7\\x79\\x6c\\x14\\x22\\xb5\\x24\\x7f\\x5d\\xa0\\x71\\x61\\x8d\\xfa\\x1f\\xca\\x34\\xa8\\x81\\xf2\\x20\\x3f\\x5d\\x19\\x1a\\xa4\\x0b\\x4c\\x7a\\xdd\\x57\\x1d\\xa7\\xaa\\xee\\x2b\\x90\\x91\\x2a\\xe9\\xf4\\xdf\\x9e\\xe4\\xbf\\x21\\xa2\\x03\\xff\\x5b\\x99\\x0b\\x8d\\xd0\\x3b\\xc8\\xed\\x53\\x82\\x30\\x00\\x32\\xd1\\xa5\\x74\\x75\\x7a\\x37\\xeb\\xc7\\xea\\xea\\x77\\x28\\x7f\\x86\\xb9\\x84\\xd9\\x43\\x26\\xac\\x0e\\x2a\\x2f\\x72\\xfb\\x2e\\xa9\\x57\\x4b\\xa6\\x1f\\xd2\\xab\\x21\\xbc\\xc4\\xf6\\x0a\\x6c\\x07\\x91\\xe8\\x91\\x41\\x85\\xe7\\xa7\\xab\\xe7\\x8c\\x23\\xf0\\x22\\xeb\\x38\\x74\\xc4\\x63\\xc1\\xd8\\xa5\\xe7\\x9d\\x3d\\xce\\xbd\\x05\\x55\\x9e\\x3e\\xab\\xcc\\xaf\\x25\\xcd\\x5a\\x16\\xe4\\x33\\x43\\x4e\\xd8\\x31\\x5b\\xe1\\xe6\\x10\\xd8\\x97\\x47\\x70\\x50\\xd4\\x59\\xf7\\xc1\\x82\\xd4\\x45\\xc1\\x72\\xfe\\xa0\\x86\\xb5\\x74\\x36\\xb8\\xa0\\x29\\xc8\\x6d\\x09\\x3d\\x0d\\xd7\\xcc\\x56\\xfe\\x8b\\xd7\\x7d\\x49\\xeb\\x1f\\xf8\\xdf\\xe9\\xef\\xcb\\x67\\x10\\x95\\x60\\x54\\x10\\x5f\\x41\\x98\\xf8\\xd5\\x8d\\xca\\x59\\x28\\xc2\\x2a\\x8e\\x2e\\xff\\x65\\xfa\\xd5\\x5e\\x65\\x77\\x3d\\x8c\\x81\\x5c\\xa2\\x5f\\xc1\\x15\\x33\\x95\\x67\\x99\\x7e\\x55\\x13\\xe1\\x65\\x3a\\x79\\x48\\xc5\\x61\\x57\\xc9\\xda\\x65\\x15\\x32\\xa7\\x16\\xaf\\x0b\\xe2\\x67\\x67\\x87\\xee\\xe4\\x5f\\xa4\\x75\\x9b\\xf9\\x4b\\xf4\\xaa\\x15\\xb3\\x20\\x3f\\x48\\x1a\\xbd\\x63\\x9e\\xf2\\x06\\xb7\\x83\\xb5\\xb5\\xbf\\x9e\\xbe\\xd4\\xb9\\xaa\\x3a\\xb8\\x74\\x8a\\x84\\xab\\xbc\\xe7\\x95\\xe7\\x3f\\x2a\\x15\\x4b\\x20\\x97\\x4c\\x54\\xb8\\x17\\xda\\x07\\xe3\\xf3\\x63\\x94\\x04\\x7e\\x04\\xbb\\xe3\\xd9\\xd3\\x18\\x23\\x3d\\x24\\x75\\x51\\x50\\x7a\\xa4\\xb0\\x28\\x05\\x4c\\x58\\x42\\x66\\x41\\xb5\\x41\\x2e\\xaf\\xfd\\x4d\\x0a\\xdc\\xc2\\x35\\x7d\\xac\\x8e\\x89\\xb2\\xff\\x85\\x6e\\x45\\xa0\\x57\\xc0\\xe8\\x20\\xae\\x20\\x22\\xf6\\xfc\\x98\\xd0\\xc7\\x78\\x0c\\xee\\x4d\\xf1\\xd1\\x11\\xea\\x61\\x1c\\x0b\\x84\\xba\\x24\\x91\\xde\\x4b\\x62\\xa0\\xcb\\xf3\\xf3\\x2f\\x09\\xf9\\x71\\x0a\\x79\\x3a\\x99\\x74\\x43\\x40\\xb9\\x07\\xbf\\x37\\x26\\xf4\\x04\\x0c\\xe5\\xea\\x3b\\xe1\\xfa\\xa7\\xe9\\x56\\x13\\x97\\xc0\\x0d\\x6d\\x41\\x5a\\xc7\\x06\\x4d\\xb7\\xea\\xdf\\x93\\x6e\\xf5\\x03\\xb4\\x84\\x97\\x6e\\xa7\\x90\\x86\\x32\\x40\\x17\\x79\\x26\\x1b\\x47\\xfd\\x04\\xdd\\xca\\xa7\\xe9\\x56\\x9f\\x29\\x9b\\xd7\\x12\\x81\\x72\\x96\\xff\\xae\\x7d\\x56\\x11\\xa7\\xd6\\x67\\xe4\\xff\\x42\\xf7\\xf9\\x50\\xb9\\x7f\\x3d\\xdc\\x01\\xe3\\x82\\xdc\\x1a\\x70\\xb5\\xbf\\x46\\x60\\x2b\\x0f\\x43\\xf5\\xff\\x0e\\xfe\\xeb\\xca\\x0b\\xeb\\xe1\\x2e\\x2a\\x69\\xe7\\xc2\\x97\\x21\\x5c\\xc8\\xb5\\x86\\xfe\\x81\\x13\\x74\\xf0\\xaf\\xfd\\xe9\\xf0\\xf5\\x1a\\xd6\\x51\\xe5\\x3d\\x15\\xfe\\x1d\\xdc\\xca\\xd0\\x88\\x22\\xae\\xbd\\xfd\\x20\\x37\\x0b\\x75\\xaa\\x3f\\x9b\\xcf\\x86\\x65\\xad\\x28\\x74\\x51\\xb3\\xba\\xed\\x3f\\x45\\x40\\x1f\\x51\\x3e\\x52\\x41\\x73\\xa1\\x50\\x80\\x20\\x26\\xbc\\xe6\\x3b\\xf2\\x67\\xea\\x59\\x6f\\x13\\x68\\xdb\\xf9\\xa4\\xd0\\x00\\xd6\\x81\\x80\\xb6\\xea\\x75\\x40\\xb5\\xfd\\x44\\xc6\\xf2\\xba\\x05\\xab\\x2e\\x92\\x90\\x56\\x8d\\xd6\\xec\\x82\\x72\\x68\\x35\\xd4\\xc3\\xd8\\x20\\xff\\xfc\\xab\\xa1\\xda\\xc1\\xf8\\x71\\x28\\xd1\\xc3\\xfb\\x69\\x3a\\x97\\x2f\\xa2\\x73\\x7d\\xac\\x3c\\xbc\\x0a\\x96\\xc3\\x20\\xa2\\x72\\x85\\xae\\x1a\\x8c\\xdf\\x66\\x2a\\x57\\xa7\\xf9\\xfb\\x2f\\xd2\\xb9\\xde\\x50\\x1e\\x58\\x05\\x0f\\x50\\x4a\\x08\\xc0\\xce\\xd0\\xb2\\x51\\xdc\\x28\\x65\\x0a\\xbe\\xec\\x97\\xc1\\xd7\\x53\\xc2\\x43\\xca\\x19\\x15\\xfe\\x51\\xfc\\x59\\xe8\\x31\\x02\\x3e\\x94\\xc6\\x6d\\xa0\\xf5\\x1f\\xd0\\xa3\\xce\\x25\\x0a\\x5d\\x24\\x2f\\x85\\x7e\\x09\\x4a\\x38\\xa4\\xbc\\xbd\\x92\\xe8\\xdc\\x84\\x12\\xf6\\x84\\x4e\\x56\\x72\\x55\\xed\\x37\\xf3\\x86\\x08\\x6e\\xba\\xeb\\x5d\\x02\\xc6\\x3f\\x52\\xef\\xfa\\xc3\\x6a\\x78\\x30\\xc8\\x3d\\x1e\\x3a\\x30\\x98\\x1b\\x77\\x80\\xc2\\x6b\\x8e\\xd4\\x55\\xe3\\x0d\\x3d\\x53\\x84\\xaa\\x6f\\x85\\xe9\\xe1\\x6d\\xe5\\xe6\\x19\\x44\\xe8\\x55\\x05\\xf9\\x19\\xca\\x5c\\x65\\xef\\x5c\\x98\\x8a\\xaf\\xd2\\xc1\\x62\\x32\\x8b\\x33\\x18\\xb0\\x28\\x12\\xce\\x47\\xad\\x4b\\x0b\\x06\\xa1\\x27\\x99\\x25\\xb1\\x7a\\x39\\x7d\\x5c\\x7e\\xe8\\xe9\\x19\\xf8\\xce\\x60\\x90\\x7b\\x2f\\xb4\\x6e\\x2e\\xbe\\xf8\\x51\\xeb\\x66\\x7d\\xdd\\x7e\\xb6\\x4e\\xff\\x81\\xf2\\xfe\\x0c\\xa8\\x82\\x1a\\xa2\\x19\\x29\\x4f\\xce\\x85\\x85\\xda\\xde\\x63\\xf3\\x2f\\xa0\\x2f\\x9d\\x62\\xfc\\x54\\x87\\x8a\\x04\\x18\\x06\\x85\\xca\\xc5\\xb9\\xb0\\x46\\x79\\x8d\\xbb\\xb6\\x33\\x4e\\x3b\\xe9\\xdc\\x6a\\xf7\\x8b\\x1a\\xef\\xee\\x5e\\x73\\x30\\x44\\xe7\\x5c\\x7f\\x99\\xcd\\x40\\xe3\\xb1\\xdf\\x35\\xc2\\x9a\\xd0\\x9b\\xfc\\x46\\x74\\x29\\x9d\\xfb\\xc7\\xf4\\xbd\\x33\\xaa\\x73\\xe3\\x9b\\x98\\xce\\x8d\\x73\\xbb\\xea\\x9c\\x11\\x9d\\xbb\\xc7\\x15\\xec\\xae\\x1a\\xf7\\xbb\\xca\\x58\\x98\\x04\\x83\\x83\\xdc\\xb9\\x10\\x99\\x31\\xdd\\xdd\\x75\\xbd\\xb9\\x93\\xce\\x1d\\xd6\\x08\\xbe\\x47\\xe7\\xe6\\x22\\xca\\xec\\xe7\\x4a\\x1d\\x8c\\xa7\\xeb\\x2c\\x99\\x4a\\x51\\x10\\x5f\\x09\\x25\\xbf\\x08\\xae\\x4e\\x49\\x7e\\x4b\\xd9\\x0f\\xa9\\x64\\x1a\\x83\\xf7\\x28\\x2f\\x04\\xe1\\x7a\\x9c\\xd4\\x83\\xde\\x6d\\xa4\\xda\\x95\\x41\\x32\\x01\\xc6\\x22\\x6f\\x14\\x7b\\xc0\\x81\\x06\\x90\\x30\\xb1\\x67\\xb4\\x13\\x26\\x44\\xfb\\x0b\\x2a\\x9f\\xf0\\x27\\x28\\xc9\\x76\\x9a\\x6f\\xe9\\xe6\\x31\\x0c\\xa5\\x61\\x8d\\xa5\\x3b\\x9f\\x8d\\xea\\xdb\\x6c\\xcd\\x15\\x01\\x19\\x08\\x6f\\xb4\\xf7\\x83\\xb5\\x8d\\x9f\\xf0\\x37\\x74\\x9a\\x23\\xea\\x75\\x95\\x1e\\xb4\\xac\\xee\\x50\\x4b\\xa2\\x60\\x2d\\xb0\\x21\\xc8\\x4d\\x6d\\xbf\\x8f\\x80\\xfd\\x96\\x7b\\xfb\\xb9\\x1e\\xd6\\x32\\x7e\\xa2\\xfe\\xa6\\x5b\\x26\\x4e\\x86\\x45\\x4c\\xc3\\x22\\xb0\\x95\\x56\\xbc\\x19\\xf7\\xee\\x71\\x2f\\xeb\\x67\\xe9\\x6f\\x04\\x7a\\x05\\x5c\\x46\\xb4\\x59\\xa2\\xbd\\x13\\xe8\\xef\\x42\\x09\\xf7\\xeb\\x4e\\xfb\\x6d\\x3f\\x46\\xc7\\x62\\xfc\\x40\\x29\\x54\\xe6\\xcf\\x86\\xd5\\x60\\x0e\\xc2\\xaa\\x05\\x4a\\x0b\\xff\\x9d\\xb6\\x6f\\xf7\\x33\\x74\\xac\\x20\\x85\\x34\\x90\\xc1\\xf9\\x40\\x5d\\x07\\xed\\xbc\\x17\\xc9\\x74\\x2c\\x4e\\xec\\xba\\x17\\xa9\\xd3\\xaf\\x3e\\x51\\x16\\x6f\\x85\\x47\\xa8\\x7e\\xd5\\x66\\xe8\\x27\\x4c\\xee\\xb2\\x57\\xaa\\xe3\\x77\\xec\\x4c\\x44\\x04\\x54\\x0f\\x3b\\xa5\\x59\\x51\\xb1\\xf1\\x9d\\xb2\\x73\\x13\\x3c\\x4c\\xc5\\xc6\\xce\\xd6\\xb6\\xf5\\x79\\xc2\\x64\\xe5\\x0f\\xd0\\xbf\\xeb\\xfe\\xee\\x4f\\x81\\xad\\x13\\x49\\xef\\x29\\x87\\x37\\x33\\xd8\\x78\\x34\\xfc\\xab\\xed\\x8f\\x04\\x78\\xe8\\x2c\\x56\\xd7\\x6c\\xe3\\x7e\\x0e\\x6c\\xbd\\x24\\x7d\\x41\\xb9\\x7b\\x13\\x9c\\x21\\xb0\\xff\\x8f\\x73\\xb4\\x4b\\xf9\\x42\\x75\\xfb\\xbb\\x5c\\x96\\x5a\\xef\\xe4\\x2e\\xeb\\xd5\\x6c\\x3c\\x19\\xe8\\x02\\x86\\x36\\x9a\\xfc\\x97\\x92\\xa1\\x27\\x94\\x47\\x37\\xc2\\x1f\\xb5\\xb5\\xe0\\x02\\x61\\x62\\x74\\xaf\\x36\\xba\\xe7\\xcb\\x64\\x9e\\xaa\\x4f\\x61\\x91\\xeb\\xd4\\x5b\\x5d\\xf7\\xfe\\xb6\\xc2\\x33\\x0c\\x12\\xeb\\x2c\\xfd\\xde\\x05\\x81\\x11\\xd6\\xa5\\xb0\\x91\\xef\\x09\\x46\\x44\\x8f\\xfa\\xb3\\x32\\x79\\x33\\x9c\\xa0\\x72\\xf3\\xf9\\xb7\\xda\\xdd\\x65\\x3c\\x07\\xa3\\x50\\x0f\\x67\\x22\\x84\\xf0\\x99\\x08\\x29\\x42\\x84\\x97\\xd4\\xa1\\xbe\\x56\\xe6\\xad\\x85\\xa3\\x30\\x99\\xe8\\x50\\xed\\xc9\\x45\\x7c\\x79\\x58\\x87\\xca\\xea\\x69\\xaf\\x97\\xc9\\x38\\x3d\\xd8\\xee\\x2b\\x15\\x9d\\x34\\xf5\\x1b\\xd6\\xc3\\xd3\\x44\\x53\\xc7\\xcb\\x88\\xa6\\xbe\\xb1\\x88\\xaf\\x52\\x1e\\xc6\\x35\\x3f\\x1f\\xb6\\xbe\\xc7\\xcf\\x29\\x77\\x6c\\x82\\x73\\xe0\\x0f\\xbe\\x84\\x17\\xb6\\x9f\\x29\\xe1\\xe5\\xd0\\x56\\x3a\\x51\\xed\\x72\\x5e\\x46\\xa7\\x3b\\x11\\xc9\\xc9\\xe9\\x20\\x5f\\xb2\\xcf\\x1f\\xdf\\x00\\x2f\\xd0\\x3e\\xf7\\xb5\\xbf\\x5f\\xc4\\x07\\xda\\xdf\\xe7\\x13\\x22\\xf8\\xe8\\x74\\xa6\\x27\\x2c\\x3b\\xc1\\x10\\x06\\x7b\\x49\\x9d\\xe9\\xc4\\x7a\\x78\\x81\\xcc\\x56\\xda\\x83\\x45\\xfc\\xb3\\xbb\\x50\\xa7\\x73\\x46\\x3f\\x8e\\x7e\\xe8\\xfc\\x7e\\xf7\\x6a\\xfc\\x8f\\x20\\x3f\\xbf\\x6d\\xdf\\x08\\x7a\\x01\\xb6\\xfb\\xf9\\xa7\\xf0\\x5e\\x7c\\x14\\x81\\xdd\\xd6\\xa5\\x22\\xcd\\xfc\\xaf\\x72\\xc5\\x2a\\x38\\x08\\xf5\\x41\\xee\\xd1\\xef\\x42\\x95\\x95\\xf8\\x8f\\x30\\x17\\x6c\\x3d\\x9c\\xd3\\xfa\\x61\\x3a\\xd2\\xe9\\x4a\\xff\\x55\\x6e\\x5f\\x01\\x41\\x98\\x46\\x74\\xa5\\xd0\\xbc\\x2a\\xfc\\xae\\xa6\\x2b\\x95\\xfc\\x72\\x3a\\x7a\\x43\\x39\\xb0\\x88\\xe8\\xc9\\x63\\x83\\x90\\x06\\x79\\xa1\\x47\\xc7\\xe0\\x0f\\x95\\x87\\xb9\\xdf\\x74\\x3a\\x0b\\xa7\\xef\\xeb\\x2e\\x8b\\x12\\xdf\\xd7\\xd7\\x2a\\x58\\x9c\\x1e\\xba\\x30\\x1e\\x7f\\x18\\x7a\\x8b\\x5f\\xdb\\xf3\\xf9\\xad\\x1f\\xd5\\xd7\\x2a\\x5b\\x3f\\x71\\x15\\x3c\\xc9\\x00\\x56\\xe1\\x8b\\x8c\\xd6\\x2b\\x7f\\xc2\\x38\\x8f\\xe8\\xc7\\x7f\\x55\\x26\\x4d\\x87\\xdd\\x10\\x08\\x92\\xc9\\xe7\\xed\\xca\\xff\\xc7\\xdc\\x7b\\xc7\\x47\\x71\\x64\\x6b\\xa0\\x55\\x5d\\x1d\\x85\\x50\\x00\\x91\\x11\\x88\\x9c\\x83\\xba\\x7b\\x14\\x00\\x63\\xa5\\x6e\\xc0\\x44\\x13\\x2d\\x0c\\x86\\x41\\x1a\\x05\\x90\\x34\\x42\\x81\\x60\\x8c\\xc1\\xd9\\x5e\\xe7\\x9c\\x73\\x5c\\xdb\\xeb\\x88\\xc3\\x3a\\xed\\xda\\xc6\\x69\\xc1\\x89\\xe4\\x1c\\x49\\x0e\\xd8\\x98\\xe0\\x6c\\x6b\\xde\\xe9\\x9a\\x4f\\x42\\x60\\xec\\xbb\\xf7\\xbe\\xf7\\xc7\\x83\\x9f\\x4e\\xd5\\x54\\x57\\xd7\\x77\\xea\\x54\\xf8\\xce\\x99\\x99\\xae\\x59\\x5c\\xc6\\x4f\\x96\\xfd\\x3d\\xf2\\xbb\\x8e\\xff\\xf3\\x98\\xcb\\x16\\x25\\x87\\x7f\\xd8\\x34\\x79\\x06\\xbf\\x2e\\x98\\xd9\\x95\\x4d\\x23\\x9a\\x2a\\x96\\xf0\\xb3\\x94\\x3b\\xf7\\x1c\\xe5\\xbb\\x98\\xff\\x65\\x5f\\x83\\x29\\xb9\\x7a\\x81\\xf2\\xf9\\xb9\\x4a\\xdd\\xef\\xd7\\x9f\\xa4\\x6c\\x54\\x8e\\x63\\x7f\\xfc\\xae\\xe8\\xff\\x6a\\xfe\\x6c\\x6c\\xfa\\xe7\\x22\\xbe\\x94\\x57\\x91\\x3f\\xd4\\xb4\\x2e\\xcc\\xeb\\xa5\\x53\\xd8\\xfa\\x3b\\xad\\xff\\xb7\\x31\\x7e\\x61\\x9e\\xec\\x35\\xd1\\xff\\x96\\x30\\x3f\\xab\\x69\\xa3\\xfa\\x0a\\x3b\\xea\\x77\\x32\\xff\\x37\\x63\\x3c\\x97\\xdf\\x76\\x2e\\x1f\\xd8\\xf4\\x6e\\x29\\x5f\\x2b\\x6e\\x64\\x47\\x7c\\x87\\xf7\\xd0\\x67\\x8e\\xa6\\xc6\\x83\\x2f\\x4f\\x3b\\x7f\\xf0\\xac\\x78\\xb3\\x17\\x4c\\x01\\xc6\\xa5\\x3c\\x89\\x9f\\x76\\xae\\x78\\xe6\\xb7\\xa2\\x73\\xc9\\xa1\\xf8\\x93\\xef\\x18\\xcb\\x77\\x46\\x5b\\xb5\\x76\\x34\\x2f\\x35\\xd4\\xd2\\x60\\x4a\\xf0\\x21\\x44\\xff\\xdf\\xde\\x3f\\x57\\x1d\\xf4\\xd6\\x9f\\x7f\\xbf\\xfa\\xbf\\x69\\x33\\x6e\\xc4\\xcf\\x9b\\x2e\\xe6\\xdd\\x79\\xfd\\xb9\\x4a\\xd1\\xef\\xcf\\x9c\\xab\\x1c\\x50\\xf4\\xff\\x0f\\xda\\x0c\\xbc\\x69\\x87\\xcf\\x3b\\x97\\x0f\\x6e\\xda\\x76\\x2e\\x9f\\x47\\x66\\x64\\xbc\\x69\\xac\\x5a\\xc5\\x5f\\xa0\\xed\\xad\\x6d\\xf0\\x1d\\x28\\xd6\\xa6\\x4d\\x92\\x6a\\x9a\\x6d\\x13\\x82\\x5f\\x57\\x72\\x82\\xe3\\x41\\x9c\\xe6\\x1f\\xe1\\x37\\xfa\\x0c\\xe8\\x83\\x3f\\x6a\\xf0\\x85\\x99\\x59\\x99\\x4f\\x67\\xca\\xbf\\x99\\xe2\\x4c\\xad\\xf3\\xfd\\x35\\xf4\\xef\\xfe\\x7e\\x87\\x3d\\xbb\\x36\\x32\\xaf\\x63\\x42\\x9b\\x36\\xaa\\x10\\x49\\x09\\xc9\\x6a\\x4f\\x55\\xb1\\x44\\xb0\\xe7\\x5e\\x50\\xcc\\x9e\\xe4\\x93\\xe4\\x89\\x59\\x29\\xeb\\x17\\x9c\\x34\\xdf\\x3e\\x74\\x90\\xd0\\x7f\\xff\\xa8\\x9a\\xfc\\x7e\\xfe\\xcd\\xf8\\x7e\\xbe\\x25\\xcf\\x05\\x31\\xcd\\xe0\\xdc\\x95\\x84\\xb5\\xfa\\x25\\xba\\x12\\xcc\\xfe\\xb5\\xc1\\x4f\\x76\\xd8\\x5d\\x83\\x13\\x6a\\xe6\\xb7\\x3e\\xeb\\x27\\xd4\\xab\\xc3\\x80\\x0e\\xd4\\x07\\x27\\xf8\\xda\\xfc\\x27\\x05\\x6f\\xdc\\xad\\xdd\\x5c\\x5d\\xfd\\x72\\xc2\\x43\\x1d\\xff\\xa2\\x4d\\xf3\\x12\\x53\\x31\\x4d\\xae\\xfd\\x45\\x9b\\x3c\\x78\\xc0\\x21\\x14\\xb4\\xd9\\xb4\\xe5\\xee\\x37\\x0a\\x82\\x46\\xf9\\xe9\\x1d\\x1f\\x4a\\x90\\xba\\x3e\\xa3\\x5d\\xc2\\x8b\\xa8\\xdd\\x8e\\xac\\x3b\\x2b\\xca\\xeb\\xdb\\xb9\\x5b\\xb7\\xc4\\x44\\xc6\\xd2\\xbb\\x89\\xce\\xc1\\xd7\\xfd\\x3b\\x27\\x8b\\xb4\\x0b\\x8b\\xdb\\x88\\x3c\\x2b\\x65\\xbc\\x48\\xa6\\x80\\xe6\\xc2\\x62\\x96\\x1c\\x3c\\x07\\x1c\\x3c\\x64\\xf0\\xd1\\x90\\xf5\\xd2\\x52\\x43\\x52\\x73\\x5b\\x23\\xca\\x1f\\x1c\\x69\\x7e\\x00\\xa0\\x8f\\x7c\\x2c\\xc0\\x80\\x0a\\xcf\\x18\\x95\\x33\\x86\\xce\\x9c\\x54\\x94\\x3e\\xd0\\x35\\x5d\\xa3\\x62\\xe6\\xd0\\x19\\x93\\xbc\\xf4\\x19\\xa9\\xdc\\x0e\\xd4\\xba\\x72\\xea\\xc2\\x2e\\xe9\\x5d\\x06\\xf4\\x9e\\xba\\x80\\x92\\xe3\\xf8\\x05\\x81\\x86\\xa2\\x95\\x7e\\xbd\\xd9\\x70\\x36\\x33\\x6f\\x58\\x7a\\xa7\\x4e\\x7d\\x06\\x0d\\x0a\\x94\\x1c\\xd1\\xbf\\x6b\\x46\\xd7\\x4b\\x8a\\x87\\x66\\x04\\x9a\\x66\\x24\\xe7\\xfd\\x4f\\xaa\\xca\\xe7\\x22\\x0e\\x9d\\x4e\\xd3\\xae\\x25\\x06\\x3b\\xaa\\xc6\\x7f\\xf6\\x58\\xcc\\x9f\\xf4\\x41\\x31\\x8e\\xf2\\x0c\\xc7\\x11\\x5d\\x72\\xfe\\xf0\\x34\\x87\\x12\\x9b\\xaa\\x2d\\xe2\\xc5\\xfa\\x5b\\xac\\x0d\\x4b\\x65\\x03\\xf2\\x52\\x13\\x93\\x93\\x99\\xae\\xb7\\x4b\\x4a\\x4a\\xb4\\x2c\\x71\\x49\\xb1\\x95\\x28\\x1f\\xba\\x8e\\x1f\\x01\\xd4\\x32\\x19\\x45\\xeb\\xe7\\x57\\x42\\xed\\x9d\\x0e\\x5c\\x71\\xfa\\xf5\\x75\\x9c\\xbe\\xfd\\x9c\\xb1\\xeb\\xb7\\x36\\xdd\\xa4\\xaf\\x88\\xbf\\x70\\x9a\\x5e\\xea\\xc5\\x53\\xfa\\x35\\x1d\\xa4\\x71\\xde\\xa1\\x9d\\xc3\\xbb\\x1b\\x89\\x84\\x93\\xc6\\x32\\xf3\\x3a\\x12\\x48\\xdb\\xe4\\xe4\\xb4\\xb4\\x0e\\x49\\x69\\x69\\x6d\\xad\\xb6\\xed\\x24\\x58\\x3b\\x09\\x86\\xb3\\xcb\\x9a\\x8d\\x24\\x07\\xf5\\xb0\\xa7\\x67\\x9a\\x9f\\x98\\x39\\xa1\\x19\\xb4\\x69\\x7d\\xfc\\x41\\x19\\x7d\\x1d\\x70\\x6b\\x5b\\x9e\\x8f\\x39\\xe2\\x19\\xa4\\x50\\x5e\\x97\\x8e\\x29\\x29\\x6a\\x42\\x42\\x30\\x79\\xbb\\xb7\\x37\\xda\\x1a\\x97\\x14\\x77\\x69\\x4b\\x6b\\x9d\\x06\\x2b\\x78\\x74\\x85\\x66\\xd3\\xd1\\x06\\x28\\x98\\xc4\\x7f\\xf1\\x98\\x52\\xd3\\x9a\\xc0\\xee\\x81\\xfd\\xf9\\xd8\\x50\\x3c\\x17\\xd2\\x6e\\xa0\\x59\\x3e\\xe4\\xc8\\xc7\\x86\\x64\\x6c\\xa1\\xf4\\x97\\xe7\\x48\\x16\\xe4\\xf5\\x4a\\x0e\\x0e\\x35\\xd6\\xdb\\xb5\\xa7\\xad\\xde\\x9c\\x56\\x9c\\x6c\\x05\\x47\\x19\\xb7\\x99\\x5a\\xdc\\x36\\x39\\x38\\x6b\\x6e\\x6a\\xb1\\x7a\\xf8\\x81\\xcc\\x38\\x01\\xb7\\x75\\xf4\\x7e\\xf8\\xe9\\xc5\\xa9\\x34\\x12\\xf2\\x39\\xac\\x75\\xeb\\xce\\xe2\\x43\\x1e\\xe3\\xf7\\x37\\x5d\\x17\\x3c\\x8d\\xc5\\xcb\\x66\\xf2\\xb2\\x2e\\xc3\\x9a\\x66\\xce\\x0c\\xce\\x59\\x88\\xed\\x51\\x85\\xfe\\x64\\xbb\\xfe\\xa2\\x24\\x38\\xa7\\x44\\x39\\x9f\\x7d\\x18\\xfb\\x3c\\xc5\\x30\\x6e\\x65\\xef\\xf0\\x81\\x7f\\xbc\\x6e\\xdc\\xc6\\x3b\\xf3\\x81\\x29\\x46\\xbc\\xde\\x51\\xae\\x3f\\xc0\\xd6\\xfd\\xd5\\xf5\\x96\\xf6\\x1f\\x64\\xbb\\x0e\\xb5\\x6f\\xf4\\x6a\\xb9\\x7e\\x1d\\x5b\\x17\\x7b\\x57\\xe2\\xaf\\xe3\\x97\\xfe\\xc5\\xf5\\xdb\\xe8\\xfe\\xbf\\xba\\xfe\\x00\\xbb\\xea\\x2f\\xaf\\x3f\\xc8\\x9e\\x0b\\xae\\xc7\\xb6\\xc5\\xf6\\x28\\xc7\\x49\\xfd\\x96\\xd0\\xf5\\xfe\\xca\\xf9\\x4f\\x4b\\xf4\\xd8\\xe3\\x7c\\xa0\\x3c\\xcf\\x23\\xb8\\x3e\\xfb\\x0f\\xd7\\x6f\\x8b\\x7d\\xd3\\xea\\xfa\\x1f\\xef\\x7f\\x20\\xf6\\xf0\\x5f\\x5e\\x7f\\x30\\xf6\\x26\\xae\\x7f\\x47\\xd7\\x87\\x4b\\xfd\\xe2\\xd7\\xaf\\x03\\xfe\\xd3\\xfc\\xd2\\x96\\xeb\\x0b\\xff\\x70\\xfd\\xb6\\xd8\\x8f\\xb8\\xfe\\xf1\\x51\\xef\\x7f\\x20\\x76\\x63\\xab\\xfb\\xff\\x78\\xfd\\xc1\\xd8\\x4b\\xf1\\xeb\\xac\\x5b\\x6c\\x8f\\xb8\\x53\\xea\\xb7\\x1c\\xe3\\x73\\x2f\\xc6\\xff\\x5e\\x39\\x3e\\x7f\\x76\\xfd\\x36\\xf6\\xe1\\x5f\\x5e\\x0f\\xec\\xff\\x57\\xd7\\x1f\\x6c\\xdd\\xbe\\xd4\\x6f\\x39\\xc6\\xe7\\x5e\\x8c\\xff\\x9d\\x72\\xfc\\xfe\\xec\\x7a\\xf3\\xf8\\xff\\xd9\\xf5\\x07\\xd8\\x05\\x7f\\x79\\xfd\\xc1\\xf8\\xfc\\x8a\\x6d\\x21\\xfb\\x8c\\xd7\\x9f\\x6b\\xb6\\x0f\\x5b\\xfc\\xf4\\xbb\\xa9\\x86\\xf5\\x3c\\x4f\\x8a\\xdd\\xc8\\x06\\xe5\\x75\\x55\\xc5\\x27\\x83\\xf8\\xc2\\x41\\xfc\\xd8\\x41\\x3c\\x79\\x10\\x1f\\x94\\x67\\xa5\\x8d\\x1f\\xa4\\xf0\\x11\\x69\\x3c\\x8d\\xa5\\x2e\\x0d\\x85\\x52\\xe5\\x8f\\x86\\x85\\x70\\xf6\\xcb\\xd1\\xdb\\x7a\\x41\\xb6\\x35\\xf8\\x2f\\xdb\\x3a\\xb2\\x31\\x2d\\xf6\\x33\\xb5\\xd5\\x57\\x7f\\x96\\x7c\\x83\\xf6\\xf2\\x77\\x9b\\xc6\\xb0\\xf3\\xf2\\x26\\xb7\\x4f\\x49\\x11\\x6d\\xda\\x0c\\xe9\\xd7\\x4f\\x64\\x66\\x67\\x77\\x49\\xcb\\xc8\\x38\\x66\\x6c\\x42\\x9c\\x60\\x82\\x47\\xdc\\x8f\\x2f\\x1e\\x3e\\xca\\x1d\\x75\\x79\\xf1\\x40\\x37\\x38\\x24\\x22\\x83\\x89\\x04\\xc1\\x5c\\xe6\\x26\\xf5\\xe9\\xd3\\x6b\\x6a\\x71\\x9f\\xe4\\xf4\\x4e\\xc7\\x17\\xa7\\x77\\xbc\\x38\\x85\\xa7\\x24\\x05\\xb7\\x04\\x27\\x6b\\xbd\\x3e\\xff\\xd8\\x96\\xe3\\xc4\\x83\\x33\\xd1\\x5b\\x4e\\x77\\x8f\\x3f\\x1e\\x3f\\xa4\\xe5\\xe1\\x72\\xfc\\x35\\xff\\xca\\xc2\\x61\\xce\\xc7\\x08\\x1e\\x3c\\x4e\\xd8\\xfe\\xd0\\xc3\\xfc\\xfd\\x43\\xc1\\xe6\\x93\\xfd\\x67\\xbf\\xee\\x94\\xb4\\xea\\x1a\\x65\\x74\\xea\\xf2\\xe9\\xd3\\x97\\xa7\\x8e\\xd6\\xae\\x2e\\x7d\\xf5\\xde\\xb1\\x1d\\x46\\xf4\\x1f\\x5e\\xd8\\xa7\\xc6\\x99\\x35\\x83\\xb6\\xa9\\x8d\\x39\\x83\\x07\\x8f\\x1a\\x35\\x78\\x70\\x4e\\xd3\\x0d\\x39\\x83\\x07\\x8d\\x19\\x3b\\x60\\x70\\x8e\\x56\\x54\\x36\\x63\\xe0\\xd0\\xa1\\x03\\x67\\x97\\x6c\\xbc\\xbc\\xeb\\x55\\x9d\\x7e\\x79\\x39\\x38\\x00\\xa0\\x4b\\x8f\\xba\\x72\\xe5\\xd6\\x2e\\xc3\\xb6\\x0e\\x1e\\x4d\\x75\\x82\\x3b\\x46\\x8f\\x19\\x44\\xe9\\x51\\x6d\\x77\\x56\\xde\\x71\\xa9\\x49\\x49\\x47\\xda\\x2e\\x30\\xd7\\x0c\\x32\\xd7\\x61\\x36\\x6c\\xb1\\x1d\\x99\\x8e\\xf5\\x49\\x6a\\x6d\\xbb\\x56\\x86\\xfb\\x83\\xdd\\x5a\\x2c\\x76\\xe4\\xb9\\xf8\\x7f\\x6a\\xb7\\x01\\xc1\\xe3\\xa7\\xc6\\xff\\xd5\\x6e\\x0f\\x8e\\xbd\\xf7\\xd5\\x85\\xff\\xbd\\xdd\\x3a\\x5d\\xd5\\xf5\\xf2\\xbf\\xb6\\x5b\\xcb\\x5a\\x7d\\xae\\x79\\xad\\xb0\\xc5\\xc1\\x5a\\x91\\xab\\xa1\\xa9\\x65\\x35\\x8c\\xe4\\x0b\\x47\\xf2\\x63\\x47\\xf2\\xe4\\x91\\x7c\\x64\\x30\\x83\\x47\\xd2\\x0c\\xee\\xc6\\xbb\\x1d\\x3e\\x81\\xff\\xa2\\xad\\x17\\xfe\\xb7\\x6d\\x31\\x0d\\x6d\\xc5\\xc7\\x73\\x08\\xcb\\x66\\x85\\xec\\xea\\xbc\\xd9\\xdd\\x3b\\xc5\\x57\\x83\\x3d\\x74\\xa8\\xc8\\x19\\xdb\\x7b\\xd0\\xa0\\xb1\\x9d\\x44\\x91\\xd7\\x3f\\x25\\x94\\xcf\\xa8\\x97\\x4a\\xb2\\x18\\x9d\\x3f\\xa3\\x78\\xc4\\xe8\\xa3\\x8f\\xed\\x68\\x36\\x9a\\x75\\x4d\\xea\\xda\\x79\\x6a\\x71\\xd7\\xe4\\xb4\\x9e\\xd3\\x8a\\xd3\\xfe\\xdb\\xb1\\x65\\x72\\x89\\xc8\\x33\\xa4\\xf1\\x2b\\x67\\x2d\\xe3\\xfb\\x67\\x2b\\x43\\x60\\x60\\x53\\x9b\\x7f\\x30\\x69\\x04\\x0f\\xce\\xf3\\x51\\xfe\\xec\\x09\\x60\\xde\\xf4\\x87\\x05\\x92\\xf9\\xc8\\xb3\\x2b\\x78\\x8f\\xca\\xf0\\x29\\x4b\\x9d\\x42\\x7e\\xfd\\xa5\\x1f\\x4d\\xfa\\x1f\\xd7\\xc8\\xcf\\x1f\\x3e\\x7c\\x8f\\xd2\\xab\\xcb\\xb0\\xdf\\x6b\\x4a\\x1b\\x1e\\xdb\\xf6\\xc0\\xbb\\x03\\x27\\xf4\\xda\\xb7\\xe9\\xdb\\xa6\\x5f\\xd4\\x2b\\x8f\\x5c\\x2e\\x7f\\x6e\\xdf\\xf8\\x8a\\xf9\\xff\\xb1\\x7d\\xb1\\x82\\xfe\\xdf\\xd9\\x37\\x58\\x48\\x5d\\xff\\x57\\xf6\\x0d\\xd6\\xd2\\x7f\\x6f\\xdf\\xe0\\xcc\\x2a\\xf2\\xf1\\x72\\x03\\x0e\\x0a\\x3e\\x31\\x48\\x35\\xd8\\x32\\xa6\\x12\\xfb\\xf6\\xcb\\xeb\\xa4\\x5c\\xd2\\x91\\x4f\\xeb\\xc8\\xf3\\x3a\\xf2\\x8e\\x6c\\x2d\\x39\\x83\\xca\\x94\\x4e\\x5d\\x53\\x92\\xfa\\xf1\\x21\\xc1\\x11\\x6c\\x21\\x9c\\xd0\\x15\\x9c\\x45\\x5f\\xa4\\x71\\x6d\\x1c\\xeb\\xcf\\xa6\\xe5\\x0d\\x4e\\x35\\x8c\\xfe\\x3d\\x12\\x3b\\x27\\x76\\x1e\\x30\\xb0\\x7b\\xdf\\x85\\xc5\\x3d\\xbb\\x77\\xd7\\x53\\x53\\xd3\\xd2\\xc4\\xa2\\xe2\\x34\\x35\\xb9\\xed\\x82\\xe2\\x64\\x61\\x24\\x26\\x24\\x2e\\x28\\x4e\\x38\\x74\\x30\\x31\\x3b\\x74\\xd4\\xb7\\xd3\\x72\\x60\\x3b\\xce\\x9d\\x97\\xc7\\xd7\\xb4\\x3a\\x9c\\xbd\\x53\\x56\\x5f\\x79\\xa2\\x7e\\xfc\\x14\\x29\\x9a\\xbf\\x81\\xb5\\x43\\x6a\\xc1\\xb2\\x73\\x66\\x6f\\x5b\\x2a\\x0f\\x2d\\xe6\\x4b\\x94\\x46\\xde\\xb6\\xfc\\xf9\\x07\\xa7\\xdf\\x5d\\xbe\\x76\\x6a\\x41\\x8f\\xf6\\xfe\\xe0\\x0b\\xc5\\xe3\\xe7\\x5f\\x34\\x26\\xf7\\xd7\\x1f\\x9a\\xcf\\x30\\xbe\\xa0\\x60\\xe6\\x93\\x6f\\xfd\\x36\\xe1\\xec\\xd7\\x1a\\x7b\\x1c\\x3c\\xbf\\x53\\xd7\\xe7\\xe2\\xef\\x69\\x04\\xbf\\x7f\\x71\\x0d\\xc5\\xcf\\x7d\\xd8\\xac\\xbc\\x21\\xbd\\xbb\\x74\\x21\\xdf\\x37\\xb1\\x87\\xd6\\x43\\xeb\\xdb\\x4f\\x63\\x3d\\x7b\\xf5\\x5c\\x50\\xdc\\xa7\\x53\\xa7\\xee\\x9d\\x95\\x5e\\xa2\\x4b\\x8f\\xee\\x3d\\x82\\x03\\xcc\\x13\\xda\\x2d\\x2c\\x6e\\x9b\\xd0\\x3d\\x38\\x4b\\xe5\\xd0\\xa1\\xd1\\xd2\\x0f\\x8f\\x1f\\x40\\xdf\\xdc\\x95\\xe6\\x43\\xf4\\xe3\\xe7\\x18\\x1f\\xa6\\x7a\\xf0\\xfb\\x57\\xad\\x4e\\x60\\xe6\\xea\\x19\\xeb\\xf8\\x6b\\xf7\\x2f\\xbc\\x7b\\x1e\\x54\\xcf\\xae\\x2e\\xf8\\xed\\xf5\\x75\\x4d\\xd9\\xd4\\xaf\\xab\\x94\\x47\\x82\\x1f\\xba\\x08\\x75\\xfd\\xe5\\x89\\x8a\\x9b\\xe6\\x4a\\xc5\\xf3\\xa3\\xe3\\x56\\xaa\\xf7\\xfd\\x7a\\x5d\\x73\\xbf\\x7e\\xeb\\x29\\xfb\\x11\\xdb\\x83\\xf1\\x98\\x9d\\x37\\x34\\x18\\x8f\\xf4\\xf8\\x78\\xc0\\xf0\\x09\\xc9\\xdd\\xba\\xf5\\x59\\x50\\xdc\\xa3\\x5b\\xfb\\x23\\x47\\x86\\xfd\\x61\\x2c\\x9a\\x7f\\xc6\\xe3\\xbf\\x1c\\x95\\x14\\xd6\\xab\\xf7\\x08\\x1e\\xef\\x59\\x56\\xea\\x51\\x47\\xa5\\x69\\x53\\xd3\\xcb\\xb7\\xfe\\x4b\\x2d\\x4a\\x73\\x4e\\x2f\\xdc\\xf3\\x76\\x7c\\x60\\x9a\\x66\\x04\\x1d\\x50\\xf2\\x31\\x30\\x4d\\xe5\\x4d\\x9f\\x36\\xed\\x72\\x7e\\x3b\\x6b\\xc8\\x88\\x5d\\x5c\\x89\\xbf\\x47\\xb0\\x87\\x79\\xbc\\x9d\\x38\\x23\\x7e\\x76\\xc1\\x13\\x89\\xf2\\xc4\\xd2\\x64\\xeb\\x69\\x9e\\xcf\\x3a\\x30\\xc1\\x0b\\x83\\x23\\xd9\\x71\\x88\\xaa\\x7d\\xf8\\x41\\xa5\\xad\\x0f\\x40\\xe2\\xed\\x2e\\x3a\\x6f\\xed\\xc5\\x17\\x9f\\x75\\xc6\\xc5\\xab\\x8f\\x9b\\x36\\xc9\\xf7\\x27\\x4d\\x99\\xc4\\x77\\x6f\\x78\\x67\\xeb\\xeb\\xaf\\x6d\\x7e\\xe7\\xa5\\x27\\x6e\\xbd\\xea\\x85\\xf5\\xd7\\xdd\\xc6\\x78\\x2c\\x95\\xcd\\x66\\x7b\\xc4\\x69\\x2c\\x81\\xf5\\x7d\\xc2\\x60\\x9a\\xd6\\xc6\\xd0\\xad\\x27\\x79\\xde\\xa3\\x94\\x15\\x4f\\xf2\\x02\\xc2\\x4a\\x25\\xb4\\xd7\\xe3\\x70\\x99\\x23\\xb3\\xe3\\x66\\x30\\x68\\xb5\\xfb\\x77\\x35\\xf5\\xbb\\xf3\\xd6\\x2f\\xc7\\x5f\\x99\\x94\\x99\\x99\\xa4\\x2c\\x1d\\x35\\xe2\\xec\\xe0\\x7d\\x99\\x26\\x6a\\x6f\\x9f\\x38\\x8b\\x75\\x66\\x23\\xf2\\xda\\xb6\\x55\\x3a\\x1b\\xed\\xdb\\x77\\x52\\x94\\x2e\\x6d\\xad\\x94\\xa0\\x55\\xa5\\x53\\x27\\x7e\\xa8\\x55\\xa7\\x39\\x6c\\x95\\xa7\\x26\\x67\\x53\\xc3\\xc1\\xa1\\x3c\\x2d\\xbf\\x08\\x12\\x1c\\xfe\\x90\\xcc\\x7b\\xed\\x6b\\x6a\\x5b\\x53\\x7a\\xe2\\x80\\x33\\x8f\\x09\\x75\\xc8\\xae\\x99\\x76\\xf6\\x85\\x27\\xae\\xbc\\x99\\x9f\\x31\\x7b\\x61\\xe9\\x89\\x4b\\x57\\x1d\\x7f\\x71\\xaf\\x45\\xf7\\x77\\x8b\\x96\\x86\\xaf\\xa9\\xbc\\x88\\xb0\\x0f\\xb0\\xf1\\xdc\\x10\\x67\\xb2\\x81\\x6c\\x6c\\x5e\\xa7\\x4e\\x7d\\xfb\\x0e\\x68\\xd7\\x43\\xd5\\x93\\x18\\xc5\\xb3\\x83\\x06\\xb4\\x6b\\xd7\\xbe\\xbd\\xe8\\xd1\\xb5\\x17\\x69\\xf1\\x48\\x1b\\x9d\\xba\\x16\\x98\\xd1\\xc1\\x0c\\x6e\\x97\\x8b\\xe3\\x62\\xf0\\xf3\\x5e\\xd2\\xa6\\x2d\\x63\\x2b\\xb7\\x31\\xd2\\x8d\\xcb\\x13\\xce\\x5b\\x29\\x67\\x74\\xe4\\xc6\\xbd\\x17\\x56\\xd6\\xe8\\xd9\\xdd\\x3a\\x8e\\xef\\xb7\\x70\\xda\\xf8\\xb9\\xb3\\x67\\x17\\xe5\\x8e\\x9e\\x96\\x97\\x99\\x96\\x1d\\x9d\\x7c\\xe6\\xd5\\x8b\\x4e\\xfc\\x8c\\x8f\\x5c\\x7c\\x6a\\xb7\\xa7\\x6a\\xdb\\xa6\\x4d\\x08\\x4f\\x99\\xa8\\xe9\\xf9\\xaa\\xf0\\xa6\\x4c\\x1e\\x9b\\x5e\\x76\\x7f\\xb7\\xf2\\x85\\x13\\x17\\x27\\x75\\x91\\xe3\\xfd\\x26\\x9b\\xc5\\xfb\\x8b\\x55\\x34\\x06\\x49\\x2c\\x2f\\xaf\\x8b\\xc9\\x79\\x92\\xae\\x28\\x14\\x09\\xa7\\xb4\\x55\\xd5\\x64\\xa6\\xaa\\xa6\\x46\\xa6\\x4c\\xd4\\x9f\\xe2\\x79\\x4c\\x09\\xac\\x27\\x4f\\x6b\\x8f\\x9f\\xc9\\x85\\x63\\x6e\\xda\\xc1\\xc5\\x21\\x33\\x76\\xe8\\x13\\x0a\\x8e\\x5f\\xa6\\x80\\x53\\xf4\\xe1\\xbd\\x9e\\x3f\\xaf\\xe9\\x6a\\x7e\\xce\\x92\\xc8\\xb7\\x4a\\xd3\\xd7\\xbc\\xd3\\xc1\\x9b\\x6f\\x0e\\x2b\\xfd\\x7f\\xff\\xb4\\x9c\\xef\\x69\\x5a\\x15\\xec\\x03\\x4d\\x3f\\x33\\x9f\\xfd\\x22\\x56\\xb2\\x1e\\x6c\\x74\\x5e\\x5a\\xf7\\x4e\\x9d\\xba\\x5a\\xa9\\x42\\x58\\x56\\x4f\\xca\\x92\\x2b\\xac\\x77\\xeb\\x1c\\x18\\x2c\\xc9\\xd2\\x5b\\x0c\\x26\\x91\\x5b\\x80\\xf1\\x1e\\x40\\xf3\\x39\\xda\\xad\\x6d\\xd6\\xa7\\xb7\\xd1\\x47\\xfe\\xaa\\x52\\x76\\x56\\xf7\\x73\\x2e\\xbe\\xe8\\xb2\\xb5\\x73\\x8d\\xec\\x6e\\x1d\\xc6\\xa5\\xcf\\x99\\x36\\x73\\xee\\x31\\xc3\\x46\\xf1\\xc7\\x9b\\xae\\xe8\\x64\\x2b\\xc7\\xae\\xad\\x59\\x7d\\x51\\xd7\\xa7\\x6b\\x93\\xda\\x9f\\x50\\x5a\\x3a\\x25\\x89\\x5f\\x5c\\xfb\\x9e\\x96\\x40\\x36\\xd9\\x4d\\x6b\\x40\\xa1\\x35\\xd0\\x99\\xf5\\x22\\xcd\\x3a\\x90\\x8f\\xd8\\x56\\xef\\x1e\\x0c\\x65\\xef\\x8c\\xb4\\xb4\\x1e\\x1d\\x3b\\x8a\\xd4\\xb6\\x09\\xc1\\x8a\\xe8\\xd2\\xb2\\x22\\xfe\\xa0\\x99\\xdd\\x32\\x94\\xfd\\xe3\\xe7\\xf7\\xb5\\x1c\\xb9\\x2f\\xa9\\x27\\x50\\x92\\x74\\x4c\\xe1\\xca\\xda\\xd5\\xe7\\x5e\\x35\\xeb\\xaa\\x79\\xc5\\xb3\\xdd\\x0e\\x99\\xa1\\x59\\xe5\\xda\\x82\\x45\\x25\\x4b\\x9b\\x7e\\x2b\\x18\\xbd\\x6c\\xea\\x04\\x3e\\x75\\xf5\\x85\\x6f\\x6f\\x5c\\xf3\\x6c\\xa4\\xfb\\x95\\xb3\\xba\\xdd\\x78\\x9b\\x5b\\xd7\\xb4\\x7e\\xc1\\xfc\\x7b\\xbb\\x35\\x3d\\x16\\xd8\\xee\\x27\\x36\\x93\\x77\\x27\\xdb\\x99\\x6c\\x58\\x5e\\x1b\\x4d\\x3e\\x04\\xac\\x72\\x1e\\xd8\\xaa\\x60\\x9d\\x6a\\x9a\\xc1\\xf9\\xa7\\x79\\xf8\\x51\\x80\\x16\\xa5\\xa4\\xb5\\xe4\\x2f\\x4b\\xd0\\xe0\\xbc\\x95\\xa3\\xf4\\x6d\\xba\\x3d\\xcc\\x67\\x37\\x5d\\xaa\\x5c\\xbe\\xab\\xe0\\xf7\\x74\\xe5\\xb1\\xe0\\x7d\\x91\\xaf\\xa8\\xef\\x1d\\xa9\\xef\\xc1\\xfb\\x5a\\xc3\\xd8\\xc4\\xbc\\x74\\xc1\\xd2\\xd3\\x13\\x93\\x3b\\x75\\x1a\\x98\\xda\\x87\\xa5\\x92\\x0d\\x12\\x13\\x87\\x8b\\xe4\\xe4\\xae\\x5d\\x87\\x0c\\xb1\\xfa\\xa5\\x05\\x56\\xc8\\x60\\x16\\xac\\x10\\x18\\x41\\x32\\x74\\xcb\\x3b\\x34\\xb4\\x21\\xc7\\xdf\\x5e\\xcd\\x95\\xef\\xd5\\x18\\x01\\x21\\x37\\xff\\x0a\\x61\\xf3\\x1b\\x45\\xad\\xf6\\x0d\\xe1\\xb6\\x64\\x7f\\x2b\\xca\\xf5\\xa6\\x9f\\x77\\xe9\\x79\\xe7\\x1d\\xef\\x9d\\x7a\\xc6\\xaa\\xd5\\x6b\\x2a\\xc7\\x4d\\x9b\\x5c\\x50\\x30\\x79\\xca\\x84\\xce\\xab\\xc7\\x8e\\x1e\\x3d\\xf6\\xd8\\xb1\\xca\\x23\\x05\\xf3\\x3a\\x77\\xae\\x38\\x7e\\xc9\\xaa\\x95\\xd5\\xd3\\x2a\\x3b\\x87\\x4e\\x2b\\xad\\xae\\x6d\\xa2\\x01\\x9e\\x3c\\xf7\\xc4\\x49\\x93\\xf8\\xbb\\x97\\x8d\\x9b\\x38\\x39\\x2f\\x3f\\xbe\\xa7\\xb5\\x1e\\xcf\\xdc\\xbc\\x34\\x1a\\xc4\\xb6\\x7a\\x30\\xa0\\x87\\x0d\\x67\\xa1\\x1c\\xce\\xfc\\x3f\\x0e\\x67\\xcb\\x68\\xe2\\x50\\x98\\x66\\x56\\x91\\xbf\\x10\\x14\\x74\\x86\\x07\\x3a\\x93\\xf3\\x9e\\xd2\\xb4\\xbb\\xd5\\x68\\xda\\x2e\\x46\\x93\\xab\\x72\\x34\\x95\\x95\\x47\\x8c\\x26\\x1f\\x13\\x8c\\x26\\x9f\\x28\\x39\\x31\\xb6\\x5e\\x57\\x95\\xdd\\xfa\\x4c\\x26\\x58\\x87\\x3c\\x8b\\x69\\x5c\\xe5\\xca\\x05\\xc5\\x9c\\xb5\\x1c\\x0b\\x18\\xbc\\x27\\xad\\xec\\x0e\\x9e\\xb8\\xd6\\xd5\\x69\\xe4\\x4b\\x4c\\x22\\x9a\\x5a\\xa8\\x8c\\x68\\xa7\\xcb\\x73\\x00\\x79\\x6c\\x9e\\xba\\x80\\x3d\\xa2\\x9d\\x49\\x9e\\xdb\\xd0\\xbc\\x0e\\x46\\x02\\x2d\\xe7\\xe0\\xd0\\xcb\\xb4\\x04\\xc3\\x48\\x55\\xf2\\xcc\\xf6\\xe3\\x15\\x2b\\x38\\xb4\\xdb\\xce\\x6d\\x35\\x47\\xe5\\x74\\x88\\xf7\\x89\\x36\\x96\\x01\\xcd\\x9b\\x8c\\x71\\x87\\x37\\x7b\\x6e\\xf8\\x41\\xb3\\xc0\\xec\\x3f\\xb8\\xf7\\x80\\x9e\\xc7\\x66\\x6a\\xd1\\x0e\\xf9\\xb9\\x4b\\x92\\x33\\x4f\\x32\\xcc\\x5e\\xdd\\xbb\\xa6\\x27\\x07\\x36\\x0d\\xce\\xe5\\x54\\xdf\\xd5\\xc6\\x93\\xd7\\x18\\x3c\\x15\\x9a\\x64\\x70\\x93\\x08\\x31\\xf8\\xe6\\xb5\\x6a\\xf0\\x76\\x71\\x96\\x68\\xd7\\x72\\x7e\\xfe\\xa0\\xe0\\xd3\\x41\\x4b\\xe9\\xa5\\xbe\\xfb\\xeb\\x72\\xce\\x3f\\x7a\\x8e\\xef\\xfd\\xfd\\xec\\xa6\\x5a\\xd1\\x7f\\x9a\\xfa\\xd3\\xaf\\xa6\\x3a\\xef\\xd7\\xe7\\xe3\\xe3\\xf4\\x96\\xba\\x80\\x7f\\xa2\\x6d\\xa0\\x36\\x93\\x68\\x56\\xa7\\xa9\\xbc\\x8d\\xae\\x27\\xb7\\x35\\x55\\xfa\\xcf\\x83\\x3e\\x70\\x3d\\x51\\xbe\\x0f\\xee\\x6c\\x1c\\x82\\xaf\\x15\\xb5\\x10\\x91\\x7c\\x1f\\x57\\x23\\x66\\x08\\xd6\\x99\\xc1\\x73\\xee\\x7e\\xa3\\xa0\\x89\\xef\\xb8\\x76\\x7b\\xce\\x4f\\x3f\\x69\\x1b\\x3a\\x3e\\x94\\xf0\\x50\\xaf\\xdf\\x7f\\xef\\x75\\xfb\\xed\\x71\\x9c\\x5e\\x84\\x33\\x12\\x38\\x23\\xf2\\x3a\\x58\\x49\\x49\\xb4\\xcf\\xa5\\x18\\x6d\\x14\\xfa\\xaf\\x05\\x40\\x5a\\xb0\\x8e\\xfe\\x08\\x24\\x0d\\x26\\xdf\\x08\\xe7\\x03\\x08\\x2e\\x00\\x7b\\xb3\\xe0\\x8d\\xbb\\x95\\x91\\x3f\\xfd\\x94\\xb3\\xfd\\xda\\x1d\\x5a\\x72\\xc2\\x43\\x1d\\x9b\\xae\\xb8\\xfd\\xf6\\x00\\xab\\xb9\\x3f\\xf7\\x69\\x1b\\xc9\\x42\\xdd\\x59\\x7e\\x5e\\x8f\\xd4\\x34\\x2b\\x8d\\x75\\x4a\\x4a\\xa2\\x71\\x49\\x4f\\x4b\\xa5\\x71\\x69\\x4f\\xff\\xbb\\xb6\\x09\\x00\\xdb\\xb0\\x16\\x40\\xfb\\xd0\\x17\\xb2\\x00\\x8a\\x7d\\x8e\\xb7\\xf4\\xae\\x85\\x9f\\x68\\xd0\\xb0\\xdb\\x35\\xbd\\x15\\xef\\x2c\\xbf\\xf9\\x98\\x51\\xde\\x78\\xef\\x58\\xcd\\xd6\\xd3\\x43\\x9d\\xba\\x0c\\x1c\\xa9\\x2e\\x88\\xf7\\x9c\\xcf\\x4b\\x75\\xfb\\x0e\\x71\\x45\\xcf\\x22\\xcd\\x1c\\x9c\\xd2\\x29\\x29\\xd0\\xef\\x63\\x35\\x9f\\xf7\\xd7\\xbe\\x23\\xfd\\x7a\\xb2\\xc2\\xbc\\xde\\x5a\\x8f\\x1e\\xac\\x7d\\xfb\\x0c\\x43\\xb1\\xba\\x5e\\x50\\xdc\\xde\\x52\\xe8\\xbf\\x9e\\xde\\xa1\\x43\\xd2\\x05\\xc5\\x1d\\xf2\\xcc\\x94\\xf1\\x1d\\x98\\x2e\\x4f\\x65\\x97\\xef\\x86\\xca\\xef\\x75\\xa5\\xac\\x3f\\x74\\xa4\\xfa\\x61\\x1a\\xf6\\x3b\\xca\\xa1\\x3b\\x7a\\xd3\\x8e\\x67\\x9e\\x7f\\x3a\\x67\\xc7\\x0e\\x3e\\x77\\xc8\\x84\\xfc\\x31\\x3d\\xd2\\xfb\\xb4\\x37\\x46\\xa4\\xdc\\x32\\x64\\x42\\xc1\\x98\\xf4\\xfe\\x83\\x13\\x46\\x24\\xab\\xf9\\xc1\\x7b\\xb3\\xab\\x56\\xed\\x0b\\x8e\\xde\\xe9\\xd1\\x3f\\x38\\x7a\\xa7\\x97\\xfb\\x60\\xa0\\xe7\\x67\\xea\\x44\\xde\\x53\\x8e\\x57\\x7b\\x76\\x4c\\x5e\\x0f\\xae\\xaa\\x56\\x4a\\x6a\\x6a\\x82\\x65\\xa5\\xa5\\xa4\\x58\\xaa\\xa5\\xd2\\xe4\\x68\\x47\\x93\\x23\\x4f\\x6f\\x7b\\x51\\xb1\\xde\\x72\\xd2\\x90\\xfc\\x52\\xfb\\x88\\x43\\x46\\x94\\xef\\x17\\xcb\\x79\\xd2\\xe9\\xb0\\xe8\\xa1\\x3b\\xcd\\x95\\xc9\\x67\\x5e\\xab\\x1c\\x97\\xba\\x74\\xc6\\x8c\\xa5\\xa9\\xc7\\x91\\x6b\\x1a\\xcc\\x98\\xf5\\x67\\x46\\xc7\\x1c\\x73\\xcc\\x98\\xfa\\xb5\\xf1\\x39\\xd3\\x5a\\x87\\x63\\xf3\\x7a\\x06\\x7b\\xed\\x21\\x1d\\x02\\x53\\x69\\x81\\x12\\xda\\xd1\\x94\\x48\\xfd\\x83\\x16\\x72\\x0e\\xb5\\x3f\\x4c\\x8b\\xc9\\x34\\x91\\xba\\x1f\\xae\\x85\\x9c\\x4e\\x6b\\x5b\\xd4\\x68\\xd6\\x61\\x23\\xc5\\x67\\x3d\\x69\\x67\\xee\\xdf\\xa1\\x73\\xb7\\xf6\\xed\\x3b\\x27\\x09\\xf9\\x89\\x51\\xaf\\xce\\x1d\\x12\\x12\\x3a\\x88\\x4e\\xf4\\x3f\\x3d\\x25\\x50\\x25\\x25\\x08\\xc5\\x2e\\x8a\\xbf\\x7d\\x1d\\xff\\x84\\x01\\x13\\x2b\\x3e\\x9d\\x6d\\x9a\\x60\\xcd\\x27\\x32\\xa6\\x1e\\xa6\\x49\\xab\\x2d\\x21\\xd8\\x11\\x68\\x72\\x1d\\xa6\\xd6\\x81\\x51\\xf6\\x31\\x85\\x2b\\xd4\\xe1\\x5a\\xa8\\xc3\\xa0\\x8c\\x91\\xea\\xc4\\x66\\xfd\\x78\\x6d\\xea\\xe0\\xbe\\xc7\\x1b\\x3d\\x8b\\x12\\xda\\xa5\\xf6\\x90\\x7b\\x04\\xcd\\xaf\\x49\\x72\\x7e\\x75\\x64\\x7d\\xd9\\xfc\\xbc\\x11\\xdd\\xba\\x76\\x4d\\xe8\\xd5\\xbb\\x77\\x5a\\x07\\xd2\\xb4\\x5f\\xaf\\x5e\\x5d\\x59\\xea\\x05\\xc1\\x2f\\x58\\x74\\xa5\\xff\\x9d\\xd2\\x12\\x13\\xb5\\x0b\\x8a\\x13\\xf3\\xcc\\xd4\\xf1\\x89\\x9d\\xf2\\x3a\\xf5\\xb8\\xb0\\xb8\\x53\\x8b\\xe2\\x87\\x26\\x1c\\x59\\x52\\x3a\\xff\\x23\\xb0\\x87\\x39\\xcd\\x87\\xec\\xb5\\x3f\\xda\\x84\\xd3\\x0e\\xeb\\xd6\\xb2\\xa3\\xcf\\xba\\xa6\\x2f\\x57\\x5f\\xa0\\x64\\xa5\\x2c\\x9d\\x39\\xab\\x36\\x25\\x4b\\xbb\\x50\\xb3\\x0f\\x9b\\x7d\\xbb\\x6a\\x4a\\x82\\x8f\\x6e\\x2b\\x2a\\xe5\\xfb\\x7a\\x4b\\x5a\\x9f\\xe9\\x9c\\xd2\\x5f\\xdd\\xf7\\x74\\xfc\\xa4\\xe2\\xe0\\x64\\xe7\\x3f\\x5e\\xd7\\x83\\xeb\\xec\\x68\\x67\\x4a\\x7f\\xc7\\x4f\\x13\\x89\\x47\\x29\\xff\\x82\\xdf\\xa5\\x7c\\x1b\\x9c\\x1d\\xdd\\xb4\\x26\\x38\\x57\\xb8\\x5d\\x7f\\xf3\\xa0\\x2c\\xff\\x52\\x39\\x23\\x7e\\xa6\\xf4\\x11\\xe5\\xdf\\xb6\\x94\\xdf\\x71\\x58\\xf9\\x37\\xcd\\xe5\\x47\\x9c\\xad\\x7e\\xd4\\xb3\\xc3\\x99\\xde\\x34\\xbe\\x69\\x0d\\xbf\\x38\\xf6\\x2d\\x7e\\xe7\\x7c\\x04\\xc5\\xec\\xc7\\xb2\\x5e\\x79\\xa9\\x63\\x1c\\xa2\\x4b\\x9e\\x97\\x7b\\x4b\\xae\\x92\\x7b\\xcc\\xb0\\x64\\x31\\x20\\x7e\\x88\\xeb\\xfa\\xf9\\x4b\\xed\\xe0\\x67\\xae\\xb5\\x56\\x87\\xa4\\x65\\xb7\\xca\\x1b\\x7f\\x72\\x90\\x5a\\x87\\xd6\\x75\\x68\\xd8\\x9a\\xc6\\x0f\\xef\\xdd\\x7b\\xf8\\xc8\\x8c\\x8c\\x91\\x5f\\x0c\\xcf\\x90\\x99\\xe1\\x8d\\xc1\\xab\\x11\\xbd\\x68\\x30\\xdd\\xe1\\xbd\\x33\\x46\\x8e\\xa4\\xe2\\xe1\\x19\\xbd\\x46\\x50\\x7e\\xf8\\x2b\\xd1\\x45\\xf1\\xca\\xc1\\x65\\x79\\xe3\\x83\\xf2\\x87\\xcb\\x47\\x8e\\xfc\\xae\\xf7\\xb0\\x61\\x54\\x61\\xf8\\x83\\xb8\\x36\\x9c\\xd7\\x34\\x5d\\x46\\x1d\\x54\\x9b\\x16\\x34\\xad\\xe5\\x27\\x53\\xbf\\xe2\\x9f\\xf1\\xf4\\x0c\\xfa\\x24\\x3f\\xde\\x61\\x5d\\x78\\x5e\\x97\\x5b\\xba\\x28\\x5d\\xd2\\xdb\\x06\\x87\\xce\\xc5\\x7b\\x24\\x0f\\x9e\\xd3\\xc8\\x67\\xfc\\x4b\\x9d\\x17\\xf0\\xf1\\x4d\\x4f\\x2a\\xab\\xfe\\xa8\\x5d\\x68\\xf1\\xd8\\xff\\x51\\x0f\\x83\\xf6\\x8e\\x9e\\x64\\xe1\\x7e\\x79\\xed\\xc9\\xc7\\x16\\x22\\xa3\\x13\\x4b\\xe7\\x79\\xe9\\xb7\\xa4\\x2b\\xe9\\xbd\\x52\\xdb\\x04\\x9a\\x6c\\x84\\x26\\xf1\\xdd\\x34\\x70\\xd5\\xfa\\x74\\xf8\\x4b\\x7d\\xde\\x88\\xf2\\xf1\\x4b\\xf8\\x4d\\x7f\\xd4\\xa7\\x69\\x4f\\xe3\\xe2\\xc5\\x8d\\x8f\\xfe\\x89\\x4e\\x0a\\x9b\\x1c\\xdb\\x23\\x56\\x68\\x57\\xb3\\x21\\xb4\\x4d\\xb0\\xf6\\xee\\x58\\x25\\xf8\\x61\\x02\\x23\\xee\\x8a\\xf5\\x50\\x3a\\xf5\\x10\\xc1\\x49\\xd3\\xc1\\x67\\x8e\\xe4\\xbe\\x2a\\xd9\\xc3\\x85\\x48\\x93\\xcb\\x2a\\x38\\xb7\\x74\\x00\\x85\\x24\\x49\\xe2\\xd7\\xe1\\x33\\xea\\xbd\\xa2\\xda\\x74\\x37\\x54\\x76\\xfc\\xac\\x5e\\x63\\x66\\x85\\xf2\\xc2\\x79\\x19\\xa1\\xb2\\xab\\xc2\\x0b\\xae\\x59\\x9c\\x33\\xaa\\xf4\\xac\\x49\\x43\\xc7\\x39\\xdd\\x94\\xf4\\x31\\xc5\\x63\\xaa\\x97\\x75\\x1c\\xee\\x8f\\x30\\xf4\\xc4\\xcc\\x79\\xe3\\x86\\xa8\\x77\\x8c\\x9a\\x3b\\xb6\\xd7\\xe8\\x9e\\xfd\\x46\\x4c\\x2b\\xea\\x57\\x58\\x34\\x61\\x48\\xa8\\x22\\x7a\\xca\\x84\\x9a\\x07\\x4e\\xce\\x0b\\x55\\xde\\x58\\x51\\x79\\x73\\xfd\\xc4\\xb4\\x01\\xc7\\x4d\\x3a\\xfe\\xf7\\x94\\x49\\x27\\xcf\\x19\\xf1\\xe8\\x93\\x63\\x2a\\xe6\\xcd\\x18\\xa8\\x69\\x09\\xa9\\x39\\x8b\\xae\\x64\\xf1\\x77\\x0f\\x58\\xda\\x42\\xc6\\x45\\x49\\x62\\x70\\x60\\xc0\\x74\\x1a\\xdb\\xbe\\xb1\\x8b\\x49\\x66\\xc7\\x3e\\x20\\x99\\x2b\\xe5\\x28\\x29\\xc7\\xc4\\xd6\\x31\\x21\\x46\\x07\\x57\\x45\\x91\\x94\\xe3\\xa4\\x9c\\x22\\xe5\\xec\\xa0\\x8e\\x98\\x23\\xeb\\xcc\\x27\\x99\\xc6\\xd2\\x48\\xf6\\x65\\x82\\xae\\xf6\\xa5\\xd6\\xd2\\x49\\xe6\\x92\\x97\\xdd\\x97\\x5a\\x9b\\x47\\x72\\x4c\\xac\\x88\\x64\\x71\\xac\\x82\\xe4\\x5c\\x99\\x9f\\x17\\x48\\x63\\x07\\xd5\\x1c\\xc4\\x92\\xa9\\xce\\x20\\x96\\x2a\\x65\\x5f\\xaa\\x33\\x82\\xda\\x59\\x47\\x32\\x9b\\xea\\x8c\\x20\\xad\\x02\\x39\\x4a\\x96\\x8f\\x89\\x39\\x24\\xe7\\x11\\xca\\x08\\xba\\xb7\\x88\\x39\\xb2\\xa6\\x43\\x2d\\xa4\\x93\\x4c\\x95\\xb2\\x2f\\x95\\x87\\xe8\\xde\\xb3\\x48\\xe6\\x52\\x9b\\x21\\xba\\xf7\\x62\\x92\\x63\\xa4\\x9c\\x17\\x7b\\x80\\x65\\xd3\\x5d\\x1f\\x90\\x4c\\xa6\\x36\\xb3\\x59\\x0a\\xd5\\xcf\\xa6\\x7b\\x83\\x7c\\x7a\\xec\\x3a\\x92\\x3d\\xa8\\x66\\x36\\xb5\\x33\\x8f\\xa4\\x2d\\x6b\\x16\\xc5\\x96\\x92\\xf4\\xa5\\x1c\\x2f\\xe5\\xa4\\xd8\\x93\\x24\\xa7\\xcb\\xfc\\x2c\\x99\\x9f\\x2d\\xf3\\x27\\xc8\\xfc\\x5c\\x99\\x9f\\x47\\x32\\x57\\x62\\xe5\\xb2\\x64\\xb2\\x46\\xae\\xc4\\xca\\x65\\xa9\\x32\\x9f\\x4e\\x88\\xb9\\x84\\x15\\xc8\\xbe\\xb2\\xa4\\x88\\xf4\\xcf\\xa5\\xf6\\x03\\x39\\x89\\xf4\\xcf\\x65\\xd3\\x65\\xf9\\x2c\\x99\\x3f\\x41\\xca\\x79\\x74\\x75\\x94\\x6c\\x73\\x14\\xe9\\x5f\\x44\\x32\\x85\\xb4\\x1d\\x45\\xfa\\x07\\xf9\\x74\\xb2\\xc6\\x28\\x6a\\x33\\x90\\x7d\\x65\\xcd\\x22\\xea\\xc5\\x28\\x6a\\x33\\x90\\x93\\xa8\\xef\\xa3\\x48\\xe7\\x20\\x3f\\x4b\\xe6\\x4f\\x90\\x72\\x1e\\xb5\\x3c\\x46\\x5a\\x72\\x8c\\xd4\\x73\\x0c\\xb5\\x99\\x4e\\x32\\x55\\xe6\\xd3\\xa9\\xe5\\x31\\xd4\\x66\\x20\\xfb\\xca\\xf2\\x22\\x1a\\x85\\x31\\xd4\\x66\\x20\\x27\\x11\\xfa\\x18\\x6a\\x33\\xc8\\xcf\\x90\\x75\\x66\\xca\\x3a\\x27\\x48\\x59\\x4c\\xe5\\x13\\xd8\\x04\\xd2\\x76\\x82\\xb1\\x83\\x2d\\x65\\xb3\\x48\\xe7\\x07\\x48\\xa6\\xc4\\xde\\x21\\x99\\x4a\\xf7\\xce\\x62\\xc7\\xd1\\xd5\\x59\\x74\\x75\\x12\\x2b\\xa6\\xab\\xab\\x48\\xa6\\x92\\x9c\\x2b\\xf3\\x73\\x65\\x7e\\x9e\\xcc\\xcf\\x0b\\xf2\\x62\\x74\\x30\\xc7\\xc4\\x68\\x31\\x31\\x76\\x3f\\xc9\\xe9\\x52\\xce\\x8e\\xf5\\x24\\x39\\xa7\\xe9\\x35\\x92\\x27\\xc8\\x92\\xf9\\x32\\x1f\\x89\\xd5\\x93\\x8c\\xc6\\x2a\\x48\\xae\\xa4\\x7c\\x1e\\xcd\\xe4\\x9b\\x48\\x8e\\x8b\\xbd\\x4e\\x72\\x8a\\xcc\\xcf\\x89\\x5d\\x47\\x72\\x3e\\xc9\\x7c\\x51\\xd4\\xf4\\x10\\xc9\\x71\\x31\\x46\\x72\\x62\\xec\\x38\\x92\\x53\\x64\\xc9\\x74\\x99\\x3f\\x21\\xd6\\x89\\xe4\\x89\\x32\\x7f\\x52\\xcc\\x21\\xb9\\x90\\x34\\xc9\\x17\\x61\\x29\\x4b\\x64\\x49\\x59\\x6c\\x36\\xc9\\x4a\\x59\\xb2\\x44\\xca\\xaa\\xd8\\x49\\x24\\x6b\\xa4\\x5c\\x2a\\xeb\\x34\\xc6\\xba\\x91\\x5c\\x21\\xf3\\xa7\\xc8\\x3a\\xa7\\x52\\xbe\\x40\\x6a\\x52\\x24\\x7b\\x57\\x24\\x7b\\x57\\x24\\x7b\\x57\\x24\\x7b\\x57\\x24\\x7b\\x57\\x24\\x7b\\x57\\x24\\x7b\\x57\\x24\\x7b\\x57\\x24\\x7b\\x57\\x24\\x7b\\x57\\x44\\x2b\\xa2\\xa7\\xf0\\xc9\\x56\\x09\\x24\\x53\\x03\\x29\\x0a\\xd9\\x24\\x92\\x45\\x4d\\x2f\\x92\\x1c\\x17\\x4b\\x22\\x39\\x45\\xe6\\x97\\xc4\\x9e\\x14\\xe3\\x24\\xd6\\x38\\x42\\xf9\\x80\\xe4\\x6c\\x6a\\x61\\x1c\\xe9\\x50\\x40\\x72\\x3e\\xc9\\x89\\xd2\\x56\\x13\\xa5\\xad\\x26\\x4a\\x5b\\x4d\\x94\\x1a\\x4e\\x94\\xb6\\x9a\\x4c\\x1a\\xd6\\x93\\x9c\\x2e\\xe5\\xec\\xd8\\x5d\\x24\\x4f\\x90\\xf9\\x93\\x62\\xeb\\x48\\x96\\x48\\x59\\x26\\x65\\x85\\x94\\x8b\\xa5\\xac\\x95\\xb2\\x51\\xca\\x15\\x52\\xae\\x92\\x72\\x2d\\xc9\\x29\\xa4\\xcf\\x06\\x31\\x45\\xf6\\x7d\\x8a\\xec\\xfb\\x14\\xd9\\xf7\\x29\\xb2\\xef\\x53\\x64\\xaf\\xa7\\x4b\\xad\\xa6\\x4b\\xad\\xa6\\x4b\\xad\\xa6\\x4b\\xad\\xa6\\x4b\\xad\\x66\\x52\\xdf\\x7b\\x92\\x4c\\x0d\\x24\\xd5\\xf4\\x49\\x8e\\x8b\\x2d\\x24\\x39\\x85\\xf2\\xb3\\xc4\\x32\\xea\\xe9\\xec\\x60\\xed\\x90\\xa4\\xb5\\x4f\\x32\\x85\\xca\\x67\\x07\\x6b\\x9f\\x64\\x7a\\xec\\x06\\x92\\x3d\\x02\\x29\\xed\\x36\\x9b\\x5a\\x98\\x47\\x72\\x5c\\x6c\\x26\\xc9\\x89\\xc1\\x5d\\xd4\\x4e\\x1f\\x92\\xd3\\x65\\xfe\\x04\\x29\\x4f\\x94\\xf2\\x24\\xea\\xfb\\x6c\\xb1\\x40\\xca\\x12\\x29\\x23\\xa4\\xcf\\x6c\\xb2\\x40\\x90\\x2f\\x97\\xb2\\x92\\xfa\\x38\\x5b\\x5a\\x7e\\x36\\xcd\\x87\\x20\\x1f\\x95\\xf9\\xa5\\xf2\\x6a\\xa3\\x94\\x2b\\xa4\\x5c\\x29\\xcb\\x4f\\x96\\x75\\x56\\x4b\\x79\\xaa\\x2c\\x5f\\x43\\xf9\\x39\\xc1\\x3a\\x25\\x99\\xdc\\xf4\\x0b\\xc9\\x14\\xea\\xe9\\x1c\\xd2\\x5f\\x21\\x99\\x4e\\x7d\\x99\\x43\\xfa\\x93\\x94\\x33\\x79\\x8e\\x9c\\xc9\\x73\\xe4\\x4c\\x9e\\x23\\x67\\xf2\\x1c\\x39\\x93\\xe7\\xc8\\x99\\x3c\\x47\\xce\\xe4\\x39\\x72\\x26\\xcf\\x91\\x33\\x79\\x8e\\x9c\\xc9\\x73\\xe4\\x4c\\x9e\\x43\\xfa\\x67\\x92\\x0c\\xe6\\xf3\\x1c\\x39\\x9f\\xe7\\xc8\\xf9\\x3c\\x47\\xce\\xe7\\x39\\x72\\x3e\\xcf\\x91\\xf3\\x79\\x8e\\x9c\\xcf\\x73\\xe4\\x7c\\x9e\\x23\\xe7\\xf3\\x1c\\x39\\x9f\\x4f\\x90\\x23\\x75\\x02\\x8d\\x4e\\x19\\xc9\\xf9\\x24\\x8b\\x69\\xac\\x9f\\x23\\xb9\\x96\\xe4\\x5c\\xc2\\x5d\\x4d\\xb2\\x44\\xca\\x32\\x29\\x17\\x93\\x25\\xe7\\x52\\x9b\\x41\\xbe\\x51\\xca\\x15\\x52\\xae\\x92\\xf2\\x54\\x29\\xd7\\x92\\x3c\\x51\\x8e\\xf8\\x89\\x72\\xc4\\xe7\\x4b\\x6b\\xcc\\x97\\xfd\\x9d\\x2f\\xfb\\x3b\\x5f\\xf6\\x77\\xbe\\xec\\xef\\x7c\\xd9\\xdf\\xf9\\xd4\\xdf\\x40\\x9e\\x28\\x65\\xd0\\xdf\\xf9\\xb2\\xbf\\xf3\\x65\\x7f\\xe7\\xcb\\xfe\\xce\\x97\\x3d\\x9d\\x2f\\x7b\\x3a\\x5f\\xf6\\x74\\xbe\\xec\\xe9\\x7c\\xd9\\xd3\\xf9\\xb2\\xa7\\xf3\\x65\\x4f\\xe7\\xcb\\x9e\\xce\\x97\\x3d\\x9d\\x2f\\x7b\\x1a\\xa1\\xf1\\xfd\\x48\\x54\\x50\\xcb\\x8f\\x93\\x5c\\x18\\x7b\\x88\\x64\\x89\\xcc\\x47\\xa4\\x2c\\x93\\xb2\\x52\\x96\\x2f\\x96\\xf9\\x25\\xb1\\x73\\x48\\x56\\xc5\\x5e\\x22\\x19\\x95\\x25\\x4b\\xa9\\x17\\x15\\xd4\\x7e\\x90\\x5f\\x16\\x5b\\x4c\\x72\\x85\\xcc\\xaf\\x92\\xf2\\x54\\x29\\xd7\\x92\\xac\\x22\\x94\\x6f\\x49\\x96\\x48\\x59\\x16\\xdb\\x4c\\xb2\\x56\\xca\\xa5\\x52\\x36\\x48\\xd9\\x28\\xe5\\x0a\\x59\\x67\\x95\\x94\\xa7\\xca\\x92\\xb5\\x94\\xaf\\x26\\x0d\\x03\\xb9\\x88\\xac\\x5d\\x4d\\x5a\\x05\\xf9\\x25\\xb1\\xdd\\x24\\xab\\x64\\x3e\\x1a\\x7b\\x8f\\xe4\\x72\\x79\\x75\\xb5\\x94\\x6b\\x48\\xd6\\xca\\x75\\x5d\\x2b\\xd7\\x75\\xad\\x5c\\xd7\\xb5\\x72\\x5d\\xd7\\xca\\x15\\x5d\\x2b\\xf5\\xaf\\x25\\xf4\\x40\\x36\\x4a\\xb9\\x42\\xca\\x53\\x49\\xae\\xa4\\x7b\\x37\\x93\\x2c\\x91\\xb2\\x4c\\xca\\xa5\\x52\\x36\\x48\\xd9\\x28\\xe5\\x0a\\x29\\x57\\x49\\x79\\xaa\\x94\\x6b\\x49\\xae\\xa3\\x79\\xbe\\x93\\x64\\xaa\\x94\\xd5\\xb1\\x35\\x24\\x57\\xd3\\xda\\x5f\\x67\\x7c\\x42\\xf2\\x29\\xda\\xf1\\xae\\x13\\x4f\\x4b\\xf9\\xbc\\x78\\x95\\x4a\\x9e\\x17\\x6f\\xca\\xfc\\x26\\x29\\x37\\xc7\\x26\\x91\\xdc\\x22\\xe5\\x56\\xba\\xf7\\x79\\xf1\\x2e\\xed\\x21\\xcf\\x8b\\x8f\\x65\\xcd\\xcf\\x62\\x3b\\x49\\x7e\\x1e\\xbb\\x86\\xe4\\x2e\\x59\\xb2\\x57\\xe6\\xf7\\xcb\\xfc\\x01\\xd9\\xc2\\x41\\x29\\xbf\\x8f\\x3d\\x22\\x9e\\x27\\x94\\x49\\xe2\\x05\\xf1\\x3c\\xdd\\xf5\\x82\\x78\\x89\\x4a\\x5e\\x10\\xaf\\x50\\xcd\\x17\\xc4\\x46\\x29\\xdf\\x8c\\xed\\x27\\xb9\\x49\\xca\\xcd\\xb2\\xce\\x16\\x5a\\xc5\\x2f\\x10\\xee\\x67\\x24\\xb7\\xc9\\x3a\\xef\\x52\\x6b\\x2f\\x88\\x0f\\xe4\\xbd\\x9f\\xc6\\x9e\\x21\\xb9\\x53\\x96\\xef\\x91\\xf5\\x0f\\x52\\xfe\\x45\\x6a\\x7f\\x0d\\xc9\\xa0\\xfd\\x17\\x65\\xfb\\x2f\\x52\\xfb\\x41\\x3e\\x68\\xf3\\x45\\x6a\\x73\\x2e\\xc9\\x6d\\xb2\\x3c\\x68\\xed\\x45\\x6a\\xed\\x72\\x92\\x9f\\xca\\xfc\\x4e\\x59\\x7e\\x50\\xd6\\xfc\\x41\\xca\\x9f\\xa8\\x64\\x3d\\xed\\x75\\x5d\\x48\\xa6\\x4a\\x19\\xd8\\x70\\xbd\\xb4\\xe1\\x7a\\xc2\\xea\\x45\\xf2\\x25\\xea\\xd7\\x7a\\xf1\\x2a\\x73\\x48\\x6e\\xa4\\x75\\xba\\x5e\\xbc\\x4e\\xf7\\xae\\xa7\\x1e\\x05\\x75\\x36\\xc9\\xfc\\xa7\\xb2\\xfc\\x33\\x59\\xb2\\x9d\\xf4\\x59\\x4f\\x58\\x41\\xc9\\xae\\x58\\x29\\xc9\\x2f\\x65\\xc9\\x1e\\x59\\xf2\\x8d\\xcc\\x7f\\x2b\\xe5\\x5e\\xd9\\xf2\\xbe\\x00\\x91\\xb4\\x0a\\x4a\\x7e\\x93\\xf9\\xdf\\xa5\\x8c\\x91\\xce\\xeb\\x55\\x16\\xdc\\x25\\x47\\xf3\\x25\\xa9\\xc3\\x4b\\x62\\x0b\\xeb\\x42\\xf2\\x63\\x99\\xdf\\x25\\xf3\\x5f\\x50\\xfe\\x65\\xba\\xda\\x85\\xe4\\x46\\xd2\\xe7\\x15\\x39\\xd6\\xaf\\x48\\x0d\\x5f\\x21\\x0d\\x03\\xb9\\x99\\xd6\\xe0\\x2b\\x64\\x9f\\xed\\x24\\x3f\\x20\\xef\\xfc\\x15\\xa9\\xed\\x2b\\x34\\xbe\\xd7\\x91\\xdc\\x45\\x23\\xfb\\x8a\\x1c\\xdf\\x57\\x48\\x93\\x1b\\xc4\\xab\\xd4\\xeb\\x33\\x48\\xbe\\x42\\xad\\xbd\\x4a\\x6d\\xde\\x45\\x72\\x0b\\xd5\\x7f\\x95\\xac\\xfa\\x08\\xc9\\x4f\\xa5\\xdc\\x29\\x4b\\x82\\xd1\\xd9\\x20\\xb1\\x36\\x48\\xac\\x0d\\x54\\xf3\\x1d\\x92\\x5b\\xe9\\xae\\x0d\\x54\\x3f\\xb8\\xfa\\x31\\xe9\\xb6\\x41\\xce\\xa8\\x0d\\x84\\xf5\\x08\\xc9\\x2f\\x64\\x7e\\x2f\\xa1\\x6f\\x90\\x33\\x6a\\x03\\xcd\\xa8\\xa0\\xfc\\x20\\xf5\\x77\\x83\\x68\\xa2\\xab\\x1b\\xa9\\x85\\x40\\x7e\\x2e\\xe5\\x2e\\x9a\\x39\\x1b\\xa9\\xfe\\xeb\\x24\\x83\\x99\\xf0\\xba\\xbc\\xfa\\x3a\\x95\\x07\\x72\\xaf\\x2c\\x89\\x97\\xff\\x44\\xed\\xbc\\x49\\x63\\x77\\x1d\\xc9\\x97\\xa4\\x0c\\xe6\\xc9\\x9b\\xd4\\x8b\\x20\\xbf\\x89\\x34\\x79\\x93\\x34\\xbc\\x90\\xe4\\x56\\x99\\xdf\\x46\\x0c\\xf8\\x26\\xe9\\x19\\xd4\\xf9\\x34\\x56\\x4d\\x72\\x27\\xb5\\xf9\\x36\\xcd\\x0a\\x46\\x32\\x55\\xca\\x74\\xe2\\xbb\\xb7\\x59\\x0f\\x29\\x57\\x93\\xb5\\xdf\\x16\\xcf\\x13\\xbf\\xbc\\x4d\\xed\\x97\\x91\\x7c\\x85\\x66\\xf2\\xdb\\xd2\\xfe\\x6f\\xcb\\x19\\xf2\\xb6\\x78\\x53\\xe6\\x37\\x49\\xb9\\x59\\xca\\xc0\\x7a\\x6f\\x93\\xce\\x1f\\x91\\xdc\\x16\\x8b\\x92\\xfc\\x94\\x46\\xf9\\x6d\\xc2\\x7a\\x84\\x64\\xd0\\x8b\\xb7\\x65\\x2f\\xde\\x16\\x4d\\x41\\xfb\\x34\\xee\\x8f\\x88\\x4d\\xb2\\x17\\x9b\\x64\\x2f\\x36\\xc9\\x75\\xb4\\x89\\xda\\xd9\\x49\\x72\\x1b\\x79\\x02\\x9b\\xa4\\xce\\x9b\\x68\\x34\\x83\\x92\\xcf\\x09\\x65\\x93\\x9c\\x0f\\x9b\\xc4\\x7e\\x29\\x0f\\xc8\\xf2\\x83\\xb2\\xce\\x4f\\x32\\xdf\\x44\\xe5\\x9b\\xa9\\x5f\\x0e\\xc9\\x54\\x29\\xab\\xa9\\xe5\\xcd\\x34\\xdb\\x37\\x88\\xcd\\x12\\x6b\\x33\\x61\\xad\\x21\\xb9\\x51\\xe6\\x83\\x79\\xbe\\x99\\x46\\x36\\x90\\x5b\\x69\\xb7\\xd9\\x2c\\xc7\\x7d\\xb3\\x9c\\x39\\x9b\\x69\\x9e\\x07\\x75\\x76\\xc9\\x92\\x2f\\x65\\xc9\\xd7\\x52\\xee\\x91\\xe5\\xdf\\xc8\\xfc\\x5e\\xb2\\xc6\\x66\\xf1\\x9d\\xac\\xb3\\x4f\\xca\\xfd\\x52\\x1e\\x94\\x75\\x7e\\x90\\xf2\\x17\\x59\\xf2\\x9b\\xcc\\xff\\x2e\\xd1\\x83\\x99\\xbf\\x59\\x5a\\x60\\x0b\\xed\\x6f\\x81\\x4c\\x95\\x32\\x5d\\x96\\xf4\\x90\\xb2\\x9a\\xd6\\xce\\x16\\xd2\\x7c\\x8d\\xd8\\x42\\x63\\xb1\\x92\\xe4\\x4b\\xc4\\xc8\\x5b\\x68\\xe6\\xef\\x24\\xb9\\x91\\xd6\\xf2\\x16\\xb9\\xd7\\x6d\\x21\\xcd\\x2b\\x48\\x7e\\x2c\\xcb\\x3f\\x95\\xe5\\x9f\\xcb\\xbb\\xb6\\xcb\\x7c\\xb0\\x6b\\x6d\\x11\\x3b\\x9b\\x3e\\x23\\xb9\\x8b\\x7c\\xc2\\x2d\\x62\\xb7\\x2c\\xf9\\x42\\xca\\x2f\\xa5\\xfc\\x4a\\xb6\\xf3\\xb5\\xcc\\xef\\x91\\x77\\x7d\\x23\\xf3\\xdf\\x4a\\xb9\\x57\\x96\\x7c\\x27\\xf3\\xfb\\xa4\\xdc\\x2f\\xdb\\xf9\\x81\\x2c\\xbc\\x45\\xfc\\x28\\x4b\\x7e\\x96\\xf2\\x17\\x29\\x63\\x81\\xa4\\xde\\xd1\\x5d\\x72\\x5d\\x6f\\x95\\x7b\\xda\\x56\\xb9\\xcf\\x6c\\x95\\xf3\\x67\\xab\\x9c\\x3f\\x5b\\x69\\xcd\\x06\\x57\\xb7\\xd0\\x1e\\xb2\\x95\\xc6\\x3a\\xa8\\xf3\\xa9\\xac\\x13\\x58\\x78\\x9b\\x5c\\xe3\\xdb\\xa8\\x8f\\xd7\\x90\\xdc\\x44\\x36\\xd9\\x46\\x3d\\x9d\\x44\\x32\\xe8\\xe9\\x36\\xd2\\x6a\\x0d\\xc9\\x83\\x54\\xf2\\x8e\\x1c\\xc1\\x77\\xa8\\x64\\xa7\\x78\\x5f\\x1c\\xa4\\x96\\x3f\\xa0\\x76\\xce\\x12\\x1f\\xd0\\x8e\\xbd\\x46\\x7c\\x44\\xe8\\xf7\\x90\\x7c\\x89\\x58\\x95\\x76\\x08\\x59\\xf2\\x2a\\xb5\\xf6\\x11\\x69\\xf2\\x00\\xc9\\xd7\\xa5\\x0c\\x56\\xf7\\x47\\x72\\x75\\x7f\\x44\\x5a\\x95\\x91\\xdc\\x46\\x2b\\xe5\\x23\\xd2\\xaa\\x1b\\xc9\\x00\\xf1\\x23\\x6a\\xf3\\x72\\xf1\\x91\\x6c\\xf3\\x63\\x6a\\x6d\\x26\\xc9\\x60\\xdd\\x7d\\x2c\\xd7\\xc5\\xc7\\xd4\\x5a\\x50\\xfe\\xa6\\xcc\\x6f\\x65\\x09\\x24\\xb7\\x91\\xe6\\x1f\\xd3\\x5d\\x97\\x92\\xdc\\x29\\x6b\\x06\\x3b\\xc9\\x27\\xa4\\xcf\\x23\\x24\\x83\\x95\\xf5\\x09\\xb5\\xb0\\x94\\x64\\x30\\x1b\\x3f\\x91\\xf7\\x7e\\x22\\x6d\\xf2\\x09\\xdd\\xeb\\x93\\x7c\\x57\\xd6\\xdc\\x29\\x4b\\x76\\xcb\\xab\\x41\\x0b\\x9f\\x89\\x3d\\xac\\x1d\\xc9\\xef\\x64\\xfe\\x00\\xcd\\xed\\xcf\\xc8\\x0e\\xd7\\x90\\xfc\\x89\\xfa\\xf2\\xb9\\xac\\xff\\xb9\\x5c\\x71\\x9f\\xd3\\x58\\x07\\xf9\\x3d\\x52\\x7e\\x43\\xbb\\xe2\\xe7\\x72\\x1f\\xfe\\x9c\\xc6\\x2e\\x90\\x3f\\x49\\xf9\\x6b\\x70\\x95\\xc6\\xeb\\x75\\xb1\\x5d\\xee\\x60\\xdb\\xe5\\x8e\\xb4\\x5d\\xb6\\xb3\\x9d\\xda\\x39\\x48\\x72\\x37\\xf9\\x2a\\xdb\\x25\\xfa\\x76\\x6a\\xe7\\x23\\x92\\x7b\\x69\\xbf\\xda\\x4e\\x33\\x21\\xb8\\x7a\\x40\\xd6\\x3c\\x18\\x7b\\x8a\\xe4\\xf7\\xb2\\x4e\\xd0\\xf2\\x76\\xd9\\xf2\\x76\\x6a\\x79\\xa7\\xd8\\x21\\x39\\x68\\x87\\xe4\\xa0\\x1d\\xd4\\xf2\\x75\\x24\\x03\\x0d\\x77\\x50\\x9b\\xd7\\x90\\xfc\\x46\\xe6\\x83\\xfd\\x61\\x87\\xd4\\x64\\x27\\xed\\xf9\\x5d\\x48\\x06\\x7b\\xc5\\x2e\\x36\\x9e\\xf2\\xbb\\xc4\\x67\\x52\\x06\\x7b\\xd7\\x2e\\x79\\x75\\x17\\xed\\x03\\x74\\x55\\xee\\x00\\xbb\\xc4\\xf7\\xb2\\xe4\\x07\\x79\\x35\\x60\\xbd\\xdd\\xb2\\x17\\xbb\\x25\\xca\\x6e\\x59\\x7f\\xb7\\x6c\\x7f\\x37\\xe9\\xfc\\x01\\xc9\\x78\\x9d\\x5f\\xe9\\xea\\x17\\xd4\\xe6\\x07\\x24\\x77\\x4b\\x19\\xd4\\xfc\\x82\\xf4\\xd9\\x4e\\x72\\x2f\\xf5\\xee\\x0b\\x6a\\x7f\\x2b\\xc9\\xef\\xa9\\xbf\\x5f\\xd0\\x5d\\xef\\x90\\xfc\\x95\\x2c\\xf0\\x35\\xad\\xd0\\x0d\\xe2\\x6b\\xb2\\xd8\\x67\\x24\\x3f\\xa7\\xd6\\xbe\\x96\\x5e\\xc4\\xd7\\x72\\xe7\\xff\\x5a\\x72\\xcd\\xd7\\x72\\xe7\\xff\\x5a\\xee\\x54\\x5f\\x8b\\xe0\\xfd\\xc4\\xaf\\xa9\\x9d\\xa0\\xe4\\x27\\xf2\\x06\\xbf\\x96\\x2c\\xf0\\x0d\\xb5\\xb0\\x9f\\x64\\xb0\\x77\\xed\\x25\\x4d\\x5e\\x22\\xb9\\x4b\\xe6\\x83\\xb1\\xdb\\x2b\\x6d\\xbe\\x97\\xf4\\x79\\x8f\\x64\\xd0\\xdf\\xbd\\xb2\\xb5\\xbd\\x72\\x1c\\xf7\\x52\\x7f\\x83\\x3a\\x3f\\x91\\x26\\x7b\\xe3\\x2d\\x90\\xf5\\xde\\x13\\xfb\\xa4\\x95\\xf6\\xc9\\xbe\\xec\\x93\\x2d\\xec\\xa3\\x16\\x3e\\x23\\x79\\x40\\xe6\\x0f\\x4a\\x19\\x58\\x60\\x9f\\xb4\\xf0\\x7e\\x69\\xdb\\xfd\\x72\\x8f\\xdd\\x2f\\xd1\\xf7\\x4b\\xce\\xdd\\x2f\\x6b\\xee\\x97\\xb6\\xdd\\x2f\\x6d\\xbb\\x5f\\x5a\\x60\\xbf\\xc4\\x3a\\x40\\x63\\x5a\\x46\\x32\\x35\\x90\\xb2\\x85\\x03\\x12\\xf7\\x80\\x9c\\xab\\x07\\x24\\xfa\\x01\\x39\\xf7\\x0e\\xc8\\xb5\\x79\\x40\\xec\\x93\\x25\\xfb\\xa5\\x3c\\x28\\x4b\\x02\\xf4\\x03\\x72\\x86\\x1c\\x94\\xfb\\xf6\\x41\\xb9\\x6f\\x1f\\xa4\\x9d\\x30\\x28\\xe9\\x21\\x65\\xc0\\x47\\x07\\xe5\\xcc\\x3c\\x28\\xc7\\xf4\\x20\\xa1\\xac\\x21\\xb9\\x4b\\xe6\\x77\\x4b\\xb9\\x87\\xb8\\xf8\\xa0\\x9c\\x45\\x07\\xe5\\x28\\x1f\\x94\\x76\\x3e\\x28\\xe7\\xd2\\xf7\\x72\\x26\\x7f\\x2f\\x35\\xf9\\x5e\\xce\\x96\\xef\\xe9\\x2a\\xd5\\xa0\\xbe\\xbc\\x26\\xbe\\x97\\xe8\\x3f\\xc8\\xf6\\x7f\\xa0\\xf6\\x1f\\x21\\x19\\x8c\\xe3\\x0f\\x72\\x1c\\x7f\\xa0\\xd6\\x82\\x92\\xfd\\x34\\x2e\\x3f\\xc8\\x79\\xfe\\x83\\xb4\\xfc\\x0f\\xd2\\x27\\xfc\\x81\\x5a\\xb8\\x8e\\xe4\\xaf\\x32\\x1f\\x8c\\xe6\\x8f\\xb2\\xd7\\xbf\\x4b\\xae\\xff\\x9d\\xae\\x96\\x8a\\x26\\x42\\xbf\\x8a\\xe4\\x6e\\xf2\\x84\\x9b\\x48\\x87\\x0f\\x48\\x7e\\x43\\x9e\\x76\\x93\\xd4\\xa1\\x89\\xac\\xfa\\x90\\x68\\x92\\x3a\\xc4\\xa8\\xe6\\x35\\x24\\x83\\x71\\x8f\\x49\\x6d\\x63\\xb2\\x47\\x31\\x39\\x6a\\x31\\x59\\x3f\\x26\\xeb\\xc7\\x82\\xf5\\xa5\\x26\\x07\\x16\\x23\\x99\\x2a\\xe5\\x6a\\xd6\\x45\\xcd\\xa7\\x92\\x10\\xc9\\x54\\x29\\xd3\\x63\\xaf\\x93\\xec\\x21\\x25\\xb1\\x09\\xc9\\xd5\\x74\\x57\\x7e\\xb0\\x27\\x1b\\xdb\\x8d\\xed\\xb1\\x0a\\x63\\x07\\x45\\x4f\\x81\\x9c\\x1d\\xbb\\x98\\xe4\\x9c\\x18\\xed\\x98\\xb4\\xbf\\x55\\x18\\x3b\\xc5\\xa3\\x31\\x87\\xe4\\x33\\x52\\x6e\\x96\\xf2\\xdd\\xa6\\x35\\x24\\x3f\\xa0\\xfc\\x97\\xf2\\xea\\x97\\xf2\\xea\\x97\\xf2\\xea\\x97\\xf2\\xea\\x97\\xc1\\x55\\xc6\\x58\\x0f\\x5e\\x13\\xbc\\xcf\\x28\\xff\\xcd\\x66\\x0f\\x20\\xcf\\x59\\x0a\\x1f\\x80\\xbc\\xc2\\x0c\\x3e\\x1e\\x79\\xc1\\xba\\xf1\\x73\\x91\\x57\\xa9\\xce\\xcb\\xc8\\x6b\\x2c\\x89\\x7f\\x8f\\xbc\\xce\\x92\\x95\\xbe\\xc8\\x1b\\xec\\x64\\x31\\x18\\x79\\x93\\xa5\\xd1\\xae\\x19\\xcf\\x5b\\x2c\\x49\\x55\\x90\\x4f\\xe0\\x35\\xfa\\x5e\\xe4\\xdb\\xb0\\xee\\xe6\\x35\\xc8\\x27\\xb2\\xe1\\x56\\x7b\\xe4\\xdb\\xb2\\x90\\xd5\\xac\\x5b\\x12\\xeb\\x9a\\xd0\\x95\\x34\\xe1\\xaa\\x45\\xaf\\xee\\x97\\x5a\\x05\\x79\\xce\\x32\\xb8\\x86\\xbc\\x42\\xfa\\xe4\\x20\\x2f\\x58\\x16\\x9f\\x86\\xbc\\x4a\\x75\\xee\\x40\\x5e\\x63\\xdd\\xf9\\x3b\\xc8\\xeb\\xac\\x87\\xa2\\x22\\x6f\\xb0\\x83\\x8a\\x8b\\xbc\\xc9\\x06\\x8a\\x3b\\x91\\xb7\\x58\\x77\\xda\\x13\\xe3\\xf9\\x04\\xe5\\x43\\x35\\x15\\xf9\\x36\\x2c\\xc7\\x3c\\x09\\xf9\\x44\\x36\\xcf\\x7c\\x0c\\xf9\\xb6\\x6c\\xb1\\x55\\x80\\x7c\\x12\\x73\\xad\\x1d\\xac\\x88\\x55\\xb2\\x72\\xfa\\x6b\\xa0\\xbf\\x93\\x59\\x84\\x95\\xb2\\x0c\\xfa\\x0b\\xd3\\xeb\\x30\\xe5\\x4a\\x58\\x94\\xd5\\xb2\\x95\\xac\\x4e\\xd6\\xaa\\xa0\\xd2\\x0c\\x36\\x90\\x4a\\x07\\x51\\x6a\\xb3\\x91\\x2c\\x93\\xfe\\x32\\xd8\\x38\\xaa\\x15\\xa5\\xeb\\x55\\x74\\x7f\\x06\\x2b\\xa4\\x7c\\x1d\\xdd\\x15\\xc8\\xb0\\x6c\\x37\\xca\\x6a\\xd8\\x70\\x96\\x20\\xaf\\xfc\\x75\\x6b\\x36\\xe5\\xa6\\x43\\x8b\\xf1\\xf2\\xee\\xa1\\x94\\x9b\\x40\\xf7\\x97\\x50\\x0b\\xac\\xa8\\xb2\\xbc\\xb2\\xa1\\xf2\\xe4\\x48\\x69\\x46\\x69\\xb8\\x21\\x9c\\x51\\x12\\xad\\x5d\\x59\\x57\\x59\\x5e\\xd1\\x90\\x31\\xb0\\x64\\x50\\x86\\x3d\\x32\\x73\\x64\\xc6\\xb8\\x68\\xb4\\xbc\\x2a\\x92\\x51\\x18\\xad\\xab\\x8d\\xd6\\x85\\x1b\\x2a\\xa3\\x35\\xc3\\x13\\x0a\\x8f\\xac\\x66\\x67\\x4c\\xa7\\x26\\xc6\\x87\\x1b\\x86\\x66\\x4c\\xa8\\x29\\xa1\\x76\\x27\\x91\\x42\\x8b\\x08\\xb6\\xb5\\xc2\\x19\\x6c\\x86\\x2c\\xa9\\x64\\x65\\x54\\xa1\\x72\\x51\\x24\\xde\\x5c\\xc6\\x8c\\x48\\x5d\\x25\\x95\\x04\\x5a\\x96\\xb3\\x46\\xea\\x73\\x98\\x2a\\xb1\\xe9\\x91\\xf2\\xc6\\xaa\\x30\\x65\\xf2\\x59\\x3d\\xe9\\x1a\\xa1\\x06\\x4a\\xe5\\xed\\x19\\x6c\\x18\\xfd\\xfd\\x8f\\x00\\xf9\\xf5\\x25\\x91\\x9a\\xd2\\x48\\x5d\\xc6\\xb0\\x8c\\x3f\\x62\\xfd\\x1f\\xd4\\x9b\\x2d\\x2f\\xd6\\xb7\\x54\\xb6\\xc9\\x7c\\x23\\xe9\\xff\\xf0\\xe0\\x47\\x43\\x67\\x47\\xea\\xea\\x83\\xba\\xf6\\xf0\\x91\\x23\\x87\\x67\\x1e\\xbd\\xfd\\xa3\\xb6\\xfe\\x97\\xfa\\x54\\x12\\x5c\\x86\\x9c\\x35\\x0d\\xf2\\x4a\\xd0\\xff\\x6a\\x69\\x9d\\x25\\x54\\x16\\xa5\\x96\\xfe\\x6a\\x6c\\x33\\xa8\\x5e\\x44\\xce\\xc4\\x7a\\xba\\x12\\x91\\xaf\\x4a\\x65\\xab\\x41\\xdb\\xb3\\xa8\\xc6\\x0c\\x59\\x6b\\x9a\\xbc\\x33\\xb0\\x6f\\x83\\x44\\xab\\x91\\xb5\\x66\\x1e\\x05\\x71\\x2a\\x21\\x96\\xd1\\xfd\\x25\\x72\\x56\\x36\\xd7\\x2c\\x91\\x6d\\x07\\xb3\\x3b\\xde\\x72\\x94\\xf2\\x15\\x18\\xa9\\xc5\\x34\\x9e\\x75\\x52\\x83\\x52\\x79\\x5f\\x73\\xdf\\xea\\x83\\xb9\\xd7\\xca\\xc6\\x95\\xf5\\x19\\xe1\\x8c\\x86\\xba\\x70\\x69\\xa4\\x3a\\x5c\\xb7\\x24\\x23\\x5a\\x76\\xf8\\x7c\\xca\\xa8\\x8b\\x94\\x57\\xd6\\x37\\x44\\xea\\xa8\\xb0\\xb2\\x26\\x63\\xd6\\xf0\\x19\\xc3\\x33\\xa6\\x85\\x1b\\x22\\x35\\x0d\\x19\\xe1\\x9a\\xd2\\x8c\\x99\\x2d\\x37\\x4e\\x2d\\x2b\\xab\\x2c\\x89\\xc8\\xc2\\x92\\x48\\x5d\\x43\\x98\\x2a\\x47\\x1b\\x2a\\x68\\x12\\x2c\\x6e\\xac\\xab\\xac\\x2f\\xad\\x2c\\x09\\xd0\\xea\\x87\\x1f\\x6d\\x52\\x1d\\x7d\\x91\\x1d\\x9a\\x46\\xad\\x16\\x00\\x23\\xcb\\x05\\x16\\x5b\\x26\\xed\\x30\\x59\\x56\\x0f\\x5e\\xd7\\xc7\\x6f\\x99\\xd1\\x10\\x59\\x16\\xc9\\x98\\x1c\\x6e\\x68\\x88\\xd4\\x07\\x95\\x0b\\xa8\\x42\\x3d\\x8c\\x1f\\x1f\\xd8\\x99\\xd2\\x54\\x51\\x2a\\x0d\\x06\\x6c\\x39\\x99\\x2b\\x30\\x4e\\x85\\xcc\\x87\\xe5\\xa0\\x97\\xca\\xe6\\x82\\x45\\x5d\\x83\\x3b\\x17\\xd1\\x32\\xcf\\xf8\\x4b\\xe0\\x0c\\xdc\\x1b\\xc6\\xe4\\xa9\\x91\\x18\\xcb\\xd0\\x9b\\xe0\\x9e\\xa1\\x98\\x14\\x65\\x52\\xd6\\x4b\\xdc\\x1a\\xc2\\xc8\\x90\\xfa\\xc5\\x27\\xe7\\xe1\\xd8\\x19\\x72\\x30\\xc3\\x72\\x6a\\xc4\\xa7\\x63\\x35\\x5d\\x6d\\x90\\x75\\x4b\\xa8\\xbc\\x8a\\xfe\\xaf\\xc4\\xb6\\x56\\x4d\\xd6\\x8b\\x63\\x2d\\xc2\\xc6\\xb5\\x5c\\x6e\\x83\\x15\\xe8\\x71\\xb5\\x6c\\x37\\x83\\x4d\\xa1\\x74\\xb9\\x9c\\xba\\x51\\x39\\xb9\\x6a\\x7a\\xf5\\x96\\x13\\xf1\\x90\\x55\\xe2\\x93\\xbb\\x0c\\x2b\\x2e\\x43\\xde\\x5b\\x4b\\xf9\\xa8\\xec\\x45\\xb3\\x1d\\x87\\xc9\\x31\\x0c\\x7a\\x12\\x91\\x9a\\x06\\xb9\\xb0\\xdc\\x6a\\x17\\xd1\\x1d\\x55\\x12\\x3b\\xae\\x5b\\x85\\x9c\\xc2\\x61\\x39\\x01\\x23\\x98\\x90\\x0d\\xb2\\x07\\xf5\\xad\\x26\\x72\\x7c\\xda\\x66\\xc8\\x5e\\x04\\xad\\x7b\\x72\\xf2\\x06\\x1b\\x6c\\x04\\x36\\x9d\\x43\\x1b\\xf3\\xa4\\xa3\\xb6\\x18\\xb7\\x60\\xeb\\x05\\x14\\x8c\\x49\\x95\\xd4\\xb7\\xbe\\x55\\xdb\\x35\\x52\\xdb\\xd2\\x96\\x3e\\xc6\\xad\\x1d\\xd4\\xaa\\x02\\x52\\xbc\\xc7\\x55\\x92\\x00\\x96\\xb4\\x8c\\x4f\\x99\\x9c\\x97\\x71\\x8b\\x96\\xca\\xd6\\x86\\xfd\\x89\\xcd\\xcb\\xa4\\x6d\\x1a\\x80\\x1a\\x95\\x1a\\x95\\xd2\\xff\\xf8\\x88\\xc7\\xe7\\x56\\x94\\xee\\x6d\\x94\\xe3\\x11\\x5f\\xf4\\xf1\\x59\\xdf\\xf0\\x07\\xcb\\x85\\xa5\\x7d\\xa3\\xb8\\xaf\\x56\\x6e\\xcd\\x0d\\xd0\\xa5\\x3a\\xbe\\x88\\x0b\\xc2\\xf5\\xb4\\x28\\x69\\x09\\xcf\\xac\\xac\\x89\\xd6\\x0f\\xcd\\x58\\x5e\\x51\\x59\\x52\\x91\\xb1\\x3c\\x5c\\x9f\\x51\\x1a\\xa9\\xaf\\x2c\\xaf\\xa1\\x8b\\x8b\\x56\\x66\\x1c\\xbe\\x24\\x32\\xe8\\x6a\\x98\\x16\\x7d\\x4d\\x4d\\x74\\x19\\x2d\\xa8\\x65\\x91\\xa1\\xb4\\xc0\\xcb\\xea\\x22\\xf5\\x15\\x95\\x35\\xe5\\x19\\xf5\\xc1\\x96\\x88\\xbb\\x33\\x1a\\x2a\\xc2\\x0d\\xc1\\xee\\x50\\x1d\\x69\\xa8\\xab\\x2c\\x09\\x57\\x55\\xad\\x24\\x8e\\xaa\\xae\\xa5\\xbb\\x16\\x11\\x29\\x2d\\xaf\\x6c\\xa8\\x20\\xe0\\xea\\x48\\x7d\\xc6\\x94\\xc8\\xf2\\x8c\\xe9\\xd1\\xea\\x70\\xcd\\xbd\\xc3\\xe3\\xaa\\xd0\\x26\\x52\\x46\\xbb\\x72\\x46\\x65\\x75\\x6d\\x5d\\x74\\x99\\xd4\\x71\\x58\\x7d\\x49\\x5d\\x24\\x52\\x43\\x60\\xe1\\xd2\\xf0\\xa2\\xca\\xaa\\xca\\x06\\x6a\\xad\\x22\\x5c\\x17\\x2e\\xa1\\xad\\x85\\xf6\\x97\\xca\\x92\\x7a\\xb9\\x75\\xd0\\x8e\\x91\\x51\\x1b\\xae\\x19\\xe6\\x35\\xd6\\x45\\x6b\\x23\\xa4\\xe9\\x9c\\x71\\x93\\x0e\\x55\\x24\\x05\\xe3\\xdb\\x4e\\x7d\\xb4\\x6a\\x19\\x21\\x07\\xb5\\x6b\\x22\\x91\\xd2\\x00\\x91\\xd4\\x5e\\x16\\xa9\\xa2\\x9b\\x08\\xb8\\x2a\\x1a\\x5d\\x12\\xf4\\xa7\\x2c\\x5a\\x47\\x8a\\x96\\x36\\x54\\x0c\\x6b\\xa5\\x79\\x59\\xb4\\xa6\\x81\\x6e\\x8d\\x66\\x84\\x4b\\x4b\\xa9\\xe3\\x64\\xad\\x68\\x49\\x63\\x75\\xb0\\xa1\\xd1\\x26\\xd3\\xd0\\xac\\x5c\\xb8\\xa4\\x2e\\x4a\\xd7\\x6a\\xab\\xc2\\x0d\\xd4\\x4a\\x75\\xb0\\x71\\x55\\xc8\\x25\\x5f\\xcb\\x46\\xb1\\x11\\xf4\\x7f\\xb9\\xfc\\x3f\\x5c\\x2e\\xfc\\xd6\\xdb\\x59\\x09\\x36\\xb3\\xe1\\x98\\x24\\x23\\xe8\\xc6\\x86\\x86\\xda\\x51\\x23\\x46\\x2c\\x5f\\xbe\\x7c\\x78\\x18\\x7b\\x5a\\x09\\x6d\\x69\\xc3\\x49\\xa9\\x11\\xff\\xf7\\x66\\x83\\x79\\x52\\x2b\\x67\\x74\\xeb\\xfd\\xaa\\x4e\\xce\\x8d\\xa0\\xcd\\x6a\\x9a\\x33\\x7f\\x09\\xdd\\xb0\\xb2\\x36\\x82\\x99\\x52\\x57\\x3f\\xbc\\xa2\\xa1\\xba\\x2a\\xce\\x86\\x71\\xd8\\xe6\\x6d\\xb3\\xb1\\xd5\\x46\\xdd\\xbc\\x94\\x66\\x10\\xd3\\x4d\\x92\\xac\\x54\\x8b\\x0d\\xc0\\xc7\\xd4\\xcf\\x38\\xa2\\x85\\x60\\xdb\\x3b\\x92\\xbe\\x33\\xe3\\xc4\\x3d\\x89\\xe8\\xa2\\x26\\x98\\xc1\\x8d\\x72\\x93\\x0f\\xc6\\x72\\xc6\\x84\\x49\\x19\\x53\\x6b\\x69\\x9a\\xf8\\x34\\x46\\x19\\xa8\\x30\\x34\\xa3\\x99\\xe2\\x33\\x03\\x7e\\x3f\\xdc\\x5c\\xf1\\x6d\\xa8\\x92\\x5e\\x37\\xc8\\x8e\\xd7\\xcb\\x45\\x34\\x5c\\x1a\\xab\\x9c\\xae\\x4f\\x25\\xcd\\x26\\xb5\\x98\\x81\\x26\\x61\\x65\\x6d\\x43\\xfd\\xf0\\xfa\\xca\\xaa\\xe1\\xd1\\xba\\xf2\\x11\\x53\\xfd\\x49\\xd2\\xff\\x96\\xff\\x62\\xbd\\xa8\\x9f\\x47\\xf9\\x97\\x10\\xff\\xdd\\x02\\x85\\x05\\xbf\\x7c\\xa9\\x91\\x27\\x6b\\x90\\xd7\\x4a\\x1e\\x2a\\xf9\\xa5\\x89\\xe4\\x83\\x26\\xb1\\x64\\x96\\xc2\\x52\\x59\\x3b\\xd6\\x9e\\xa5\\xb1\\x0e\\xac\\x23\\xeb\\xc4\\x3a\\xb3\\x2e\\xac\\x2b\\xeb\\xc6\\xba\\xb3\\x74\\xd6\\x83\\xf5\\xa4\\x3e\\xf7\\x62\\xbd\\x59\\x1f\\xd6\\x97\\xf5\\x63\\xfd\\xd9\\x00\\xf2\\x13\\x07\\xb1\\xc1\\x6c\\x08\\x59\\x67\\x18\\xe9\\x3a\\x02\\xde\\xa2\\xc3\\x5c\\x16\\x62\\x59\\x2c\\x9b\\xe5\\xb0\\x5c\\xea\\xdf\\x68\\x36\\x86\\x1d\\xc3\\xc6\\xb2\\x63\\x59\\x1e\\x91\\x66\\x01\\xd1\\x64\\x11\\x6d\\x8c\\x3e\\x6d\\x84\\xe3\\xc9\\xfe\\xc7\\xb1\\x89\\xd4\\xb3\\xc9\\xc1\\xef\\x85\\x93\\x1f\\x71\\x3c\\x6d\\xe9\\x33\\x68\\x1b\\x9f\\x45\\xd6\\x9e\\xc3\\x4e\\x60\\xc5\\x6c\\x2e\\x3b\\x91\\xcd\\x63\\xf3\\xd9\\x49\\x6c\\x01\\x5b\\xc8\\xc2\\x5c\\x61\\xb7\\xb3\\x33\\xd9\\x59\\xec\\x59\\x76\\x15\\xfb\\x82\\x9d\\xcd\\x2e\\x62\\xe7\\xb3\\x1b\\xd9\\xdf\\xd9\\x1d\\x5c\\xb0\\xbf\\x71\\x95\\x9d\\xc1\\x2e\\x67\\xfb\\xd9\\x01\\x76\\x21\\xf9\\xf8\\xe7\\x72\\x9d\\x7d\\xcc\\xf6\\xb1\\x9b\\xd8\\xbd\\xec\\x7b\\x76\\x90\\xfd\\xc0\\x6e\\x63\\xff\\x60\\xaf\\xb1\\x57\\x28\\x7e\\x59\\x44\\x16\\xbf\\x84\\x2c\\xb5\\x81\\x46\\xf5\\x55\\xf6\\x1f\\xf6\\x26\\xdb\\xc8\\x5e\\x67\\x6f\\xb0\\x2f\\x69\\x73\\xda\\xcc\\xde\\x62\\x6f\\xb3\\x07\\xc9\\xf2\\xdf\\xb1\\x4b\\xd9\\x36\\xb6\\x85\\x6d\\xa5\\xf1\\xfa\\x9a\\x7d\\xc3\\xce\\x23\\x7f\\xa4\\x92\\x36\\xd5\\x60\\x52\\xd6\\xb0\\x5b\\x68\\x7c\\x96\\x4a\\x5a\\xa9\\xa7\\xf9\\xd5\\x40\\x9b\\xf0\\x72\\xf6\\x15\\x5b\\x41\\x3e\\xfb\\x4a\\xb6\\x8a\\x62\\xb7\\x53\\xd8\\x93\\xec\\x56\\xb6\\x86\\x9d\\xca\\xd6\\xb2\\xd3\\xd8\\x1e\\xf6\\x2d\\x7b\\x8a\\x1b\\xdc\\xe4\\x16\\x4f\\xe0\\x6d\\x78\\x22\\xfb\\x9d\\x35\\xf1\\xb6\\x3c\\x89\\x27\\xf3\\x14\\x16\\xe3\\x8c\\xa7\\xf2\\x76\\xbc\\x3d\\xe7\\x3c\\x8d\\x77\\xe0\\x1d\\x79\\x27\\xde\\x99\\x77\\xe1\\x5d\\x79\\x37\\xde\\x9d\\xa7\\xf3\\x1e\\xbc\\x27\\xfb\\x89\\xfd\\xcc\\x33\\x78\\x2f\\xde\\x9b\\xf7\\xe1\\x7d\\x79\\x3f\\xde\\x9f\\x0f\\xe0\\x03\\xf9\\x20\\x3e\\x98\\x0f\\xe1\\x43\\xf9\\x30\\x3e\\x9c\\x8f\\x60\\xbf\\xb0\\x77\\xf8\\x48\\x9e\\xc9\\x6d\\xee\\x70\\x97\\x87\\x78\\x16\\xcf\\xe6\\x39\\x3c\\x97\\x8f\\xe2\\xa3\\xf9\\x18\\x7e\\x0c\\x1f\\xcb\\x3e\\x67\\xdb\\xf9\\xb1\\x3c\\x8f\\xe7\\xf3\\x02\\x5e\\xc8\\x8b\\xb8\\xc7\\xfd\\xe0\\x67\\xa6\\xf8\\x04\\x7e\\x1c\\x9f\\xc8\\x27\\xf1\\xc9\\xec\\x21\\xf6\\x30\\x9f\\xc2\\xa7\\xf2\\x69\\xfc\\x78\\x3e\\x9d\\xcf\\xe0\\x33\\xf9\\x2c\\x3e\\x9b\\xcf\\x61\\xbf\\xb2\\xdf\\xd8\\x0e\\xb6\\x93\\x9f\\xc0\\x8b\\xf9\\x5c\\x7e\\x22\\x9f\\xc7\\xe7\\xf3\\x93\\xf8\\x02\\xbe\\x90\\x87\\xf9\\x22\\x5e\\xc2\\x4b\\x79\\x84\\x97\\xf1\\x72\\x5e\\xc1\\x2b\\xf9\\x62\\xbe\\x84\\x57\\xf1\\x6a\\xf6\\x34\\xaf\\xe1\\x51\\x5e\\xcb\\x97\\xb2\\x5d\\x6c\\x37\\xaf\\xe3\\xf5\\xbc\\x81\\x37\\xf2\\x65\\x7c\\x39\\x5f\\xc1\\x57\\xf2\\x93\\xf9\\x2a\\x7e\\x0a\\x5f\\xcd\\x4f\\xe5\\x6b\\xf8\\x5a\\x7e\\x1a\\x3f\\x9d\\x9f\\xc1\\xcf\\x64\\x77\\xf1\\xb3\\xf8\\xd9\\xfc\\x1c\\x7e\\x2e\\x3f\\x8f\\xff\\x8d\\x9f\\xcf\\x2f\\xe0\\x17\\xf2\\x8b\\xf8\\xc5\\xfc\\x12\\x7e\\x29\\xbf\\x8c\\x5f\\xce\\xaf\\xe0\\x57\\xf2\\xab\\xf8\\xd5\\xfc\\x1a\\x7e\\x2d\\xbf\\x8e\\x5f\\xcf\\x6f\\xe0\\x37\\xf2\\x9b\\xf8\\xcd\\xfc\\x16\\x7e\\x2b\\xbf\\x8d\\xdf\\xce\\xef\\xe0\\x77\\xf2\\xbb\\xf8\\xdd\\xfc\\x1e\\xfe\\x77\\x7e\\x2f\\xbf\\x8f\\xdf\\xcf\\xff\\xc1\\x1f\\xe0\\x0f\\xf2\\x87\\xf8\\xc3\\xfc\\x11\\xfe\\x28\\x5f\\xc7\\x1f\\xe3\\x8f\\xf3\\x27\\xf8\\x93\\xfc\\x9f\\xfc\\x29\\xfe\\x34\\x7f\\x86\\x3f\\xcb\\x9f\\xe3\\xff\\xe2\\xff\\xe6\\xcf\\xf3\\x17\\xf8\\x8b\\x7c\\x3d\\x7f\\x89\\xbf\\xcc\\x5f\\xe1\\xaf\\xf2\\xd7\\xf8\\x7f\\xf8\\x06\\xbe\\x91\\xbf\\xce\\xdf\\xe0\\x6f\\xf2\\xb7\\xf8\\xdb\\x7c\\x13\\xdf\\xcc\\xb7\\xf0\\xad\\x7c\\x1b\\x7f\\x87\\xbf\\xcb\\xdf\\xe3\\xef\\xf3\\x0f\\xf8\\x87\\xfc\\x23\\xfe\\x31\\xff\\x84\\x7f\\xca\\x3f\\xe3\\x9f\\xf3\\xed\\x7c\\x07\\xdf\\xc9\\x77\\xf1\\xdd\\xfc\\x0b\\xfe\\x25\\xff\\x8a\\x7f\\xcd\\xf7\\xf0\\x6f\\xf8\\xb7\\x7c\\x2f\\xff\\x8e\\xef\\xe3\\xfb\\xf9\\x01\\x7e\\x90\\x7f\\xcf\\x7f\\xe0\\x3f\\xf2\\x9f\\xf8\\xcf\\xfc\\x17\\xfe\\x2b\\xff\\x8d\\xff\\xce\\x9b\\x78\\x4c\\x61\\x0a\\x57\\x14\\x45\\x04\\x3f\\xfe\\xa2\\xe8\\x8a\\xa1\\x98\\x8a\\xa5\\x24\\x28\\x6d\\x94\\x44\\xa5\\xad\\x92\\xa4\\x24\\x2b\\x29\\x4a\\xaa\\xd2\\x4e\\x69\\xaf\\xa4\\x29\\x1d\\x94\\x8e\\x4a\\x27\\xa5\\xb3\\xd2\\x45\\xe9\\xaa\\x74\\x53\\xba\\x2b\\xe9\\x4a\\x0f\\xa5\\xa7\\x92\\xa1\\xf4\\x52\\x7a\\x2b\\x7d\\x94\\xbe\\x4a\\x3f\\xa5\\xbf\\x32\\x40\\x19\\xa8\\x0c\\x52\\x06\\x2b\\x43\\x94\\xa1\\xca\\x30\\x65\\xb8\\x32\\x42\\x19\\xa9\\x64\\x2a\\xb6\\xe2\\x28\\xae\\x12\\x52\\xb2\\x94\\x6c\\x25\\x47\\xc9\\x55\\x46\\x29\\xa3\\x95\\x31\\xca\\x31\\xca\\x58\\xe5\\x58\\x25\\x4f\\xc9\\x57\\x0a\\x94\\x42\\xa5\\x48\\xf1\\x14\\x5f\\x19\\xa7\\x8c\\x57\\x26\\x28\\xc7\\x29\\x13\\x95\\x49\\xca\\x64\\x65\\x8a\\x32\\x55\\x99\\xa6\\x1c\\xaf\\x4c\\x57\\x66\\x28\\x33\\x95\\x59\\xca\\x6c\\x65\\x8e\\x72\\x82\\x52\\xac\\xcc\\x55\\x4e\\x54\\xe6\\x29\\xf3\\x95\\x93\\x94\\x05\\xca\\x42\\x25\\xac\\x2c\\x52\\x4a\\x94\\x52\\x25\\xa2\\x94\\x29\\xe5\\x4a\\x85\\x52\\xa9\\x2c\\x56\\x96\\x28\\x55\\x4a\\xb5\\x52\\xa3\\x44\\x95\\x5a\\x65\\xa9\\x52\\xa7\\xd4\\x2b\\x0d\\x4a\\xa3\\xb2\\x4c\\x59\\xae\\xac\\x50\\x56\\x2a\\x27\\x2b\\xab\\x94\\x53\\x94\\xd5\\xca\\xa9\\xca\\x1a\\x65\\xad\\x72\\x9a\\x72\\xba\\x72\\x86\\x72\\xa6\\x72\\x96\\x72\\xb6\\x72\\x8e\\x72\\xae\\x72\\x9e\\xf2\\x37\\xe5\\x7c\\xe5\\x02\\xe5\\x42\\xe5\\x22\\xe5\\x62\\xe5\\x12\\xe5\\x52\\xe5\\x32\\xe5\\x72\\xe5\\x0a\\xe5\\x4a\\xe5\\x2a\\xe5\\x6a\\xe5\\x1a\\xe5\\x5a\\xe5\\x3a\\xe5\\x7a\\xe5\\x06\\xe5\\x46\\xe5\\x26\\xe5\\x66\\xe5\\x16\\xe5\\x56\\xe5\\x36\\xe5\\x76\\xe5\\x0e\\xe5\\x4e\\xe5\\x2e\\xe5\\x6e\\xe5\\x1e\\xe5\\xef\\xca\\xbd\\xca\\x7d\\xca\\xfd\\xca\\x3f\\x94\\x07\\x94\\x07\\x95\\x87\\x94\\x87\\x95\\x47\\x94\\x47\\x95\\x75\\xca\\x63\\xca\\xe3\\xca\\x13\\xec\\x5d\\xf6\\x99\\xf2\\x24\\x7b\\x5f\\xf9\\xa7\\xf2\\x94\\xf2\\xb4\\xf2\\x8c\\xf2\\xac\\xf2\\x9c\\xf2\\x2f\\xe5\\xdf\\xca\\xf3\\xca\\x0b\\xca\\x8b\\xca\\x7a\\xe5\\x25\\xe5\\x65\\xf6\\x01\\xfb\\x90\\x7d\\xc4\\x3e\\x65\\xef\\xb1\\x4f\\x94\\x57\\x94\\x57\\x95\\xd7\\x94\\xff\\x28\\x1b\\x94\\x8d\\xca\\xeb\\xca\\x1b\\xca\\x9b\\xca\\x5b\\xca\\xdb\\xca\\x26\\x65\\xb3\\xb2\\x45\\xd9\\xaa\\x6c\\x53\\xde\\x51\\xde\\x55\\xde\\x53\\xde\\x57\\x3e\\x50\\x3e\\x54\\x3e\\x52\\x3e\\x56\\x3e\\x51\\x3e\\x55\\x3e\\x53\\x3e\\x57\\xb6\\x2b\\x3b\\x94\\x9d\\xca\\x2e\\x65\\xb7\\xf2\\x85\\xf2\\xa5\\xf2\\x95\\xf2\\xb5\\xb2\\x47\\xf9\\x46\\xf9\\x56\\xd9\\xab\\x7c\\xa7\\xec\\x53\\xf6\\x2b\\x07\\x94\\x83\\xca\\xf7\\xca\\x0f\\xca\\x8f\\xca\\x4f\\xca\\xcf\\xca\\x2f\\xca\\xaf\\xca\\x6f\\xca\\xef\\x4a\\x93\\x12\\x13\\x4c\\x70\\xa1\\x08\\x21\\x54\\xa1\\x09\\x5d\\x18\\xc2\\x14\\x96\\x48\\x10\\x6d\\x44\\xa2\\x68\\x2b\\x92\\x44\\xb2\\x48\\x11\\xa9\\xa2\\x9d\\x68\\x2f\\xd2\\x44\\x07\\xd1\\x51\\x74\\x12\\x9d\\x45\\x17\\xd1\\x55\\x74\\x13\\xdd\\x45\\xba\\xe8\\x21\\x7a\\x8a\\x0c\\xd1\\x4b\\xf4\\x16\\x7d\\x44\\x5f\\xd1\\x4f\\xf4\\x17\\x03\\xc4\\x40\\x31\\x48\\x0c\\x16\\x43\\xc4\\x50\\x31\\x4c\\x0c\\x17\\x23\\xc4\\x48\\x91\\x29\\x6c\\xe1\\x08\\x57\\x84\\x44\\x96\\xc8\\x16\\x39\\x22\\x57\\x8c\\x12\\xa3\\xc5\\x18\\x71\\x8c\\x18\\x2b\\x8e\\x15\\x79\\x22\\x5f\\x14\\x88\\x42\\x51\\x24\\xbc\\xe0\\xbb\\x26\\x62\\xbc\\x98\\x20\\x8e\\x13\\x13\\xc5\\x24\\x31\\x59\\x4c\\x11\\x53\\xc5\\x34\\x71\\xbc\\x98\\x2e\\x66\\x88\\x99\\x62\\x96\\x08\\xbe\\x53\\x70\\x82\\x28\\x16\\x73\\xc5\\x89\\x62\\x5e\\xf0\\x99\\xbc\\x58\\x20\\x16\\x8a\\xb0\\x58\\x24\\x4a\\x44\\xa9\\x88\\x88\\x32\\x51\\x1e\\x7c\\x62\\x2e\\x16\\x8b\\x25\\xa2\\x4a\\x54\\xb3\\x7b\\x44\\x8d\\x88\\x06\\x9f\\x32\\x8b\\x3a\\x51\\x2f\\x1a\\x44\\xa3\\x58\\x26\\x96\\x8b\\x15\\x62\\xa5\\x38\\x59\\xac\\x12\\xa7\\x88\\xd5\\xe2\\x54\\xb1\\x46\\xac\\x65\\x37\\x8b\\xd3\\xc4\\xe9\\xe2\\x0c\\x71\\xa6\\x38\\x4b\\x9c\\x2d\\xce\\x11\\xe7\\x8a\\xf3\\xc4\\xdf\\xc4\\xf9\\xe2\\x02\\x71\\xa1\\xb8\\x48\\x5c\\x2c\\x2e\\x11\\x97\\x8a\\xcb\\xd8\\xd5\\xe2\\x72\\x71\\x85\\xb8\\x92\\x5d\\x2f\\xae\\x12\\x57\\x8b\\x6b\\xc4\\xb5\\xe2\\x3a\\x71\\xbd\\xb8\\x41\\xdc\\x28\\x6e\\x12\\x37\\x8b\\x5b\\xc4\\xad\\xe2\\x36\\x71\\xbb\\xb8\\x43\\xdc\\x29\\xee\\x12\\x77\\x8b\\x7b\\xc4\\xdf\\xc5\\xbd\\xe2\\x3e\\x71\\xbf\\xf8\\x87\\x78\\x40\\x3c\\x28\\x1e\\x12\\x0f\\x8b\\x47\\xc4\\xa3\\x62\\x9d\\x78\\x4c\\x3c\\x2e\\x9e\\x10\\x4f\\x8a\\x7f\\x8a\\xa7\\xc4\\xd3\\xe2\\x19\\xf1\\xac\\x78\\x4e\\xfc\\x4b\\xfc\\x5b\\x3c\\x2f\\x5e\\x10\\x2f\\x06\\x9f\\xab\\x8a\\x97\\x83\\x4f\\x2a\\xc5\\x6b\\xe2\\x3f\\x62\\x83\\xd8\\x28\\x5e\\x17\\x6f\\x88\\x37\\xc5\\x5b\\xc1\\xe7\\x66\\x62\\x73\\xf0\\xb9\\x8d\\xd8\\x26\\xde\\x11\\xef\\x8a\\xf7\\xc4\\xfb\\xe2\\x03\\xf1\\x61\\xf0\\x39\\x83\\xf8\\x44\\x7c\\x2a\\x3e\\x13\\x9f\\x8b\\xed\\xc1\\xbb\\xe4\\x62\\x57\\xf0\\xce\\xb5\\xf8\\x52\\x7c\\x25\\xbe\\x16\\x7b\\xc4\\x37\\xe2\\x5b\\xb1\\x57\\x7c\\x27\\xf6\\x89\\xfd\\xc1\\xfb\\xa7\\xe2\\x7b\\xf1\\x83\\xf8\\x51\\xfc\\x24\\x7e\\x16\\xbf\\x88\\x5f\\xc5\\x6f\\xe2\\x77\\xd1\\x24\\x62\\x2a\\x53\\xb9\\xaa\\xa8\\x42\\x55\\x55\\x4d\\xd5\\x55\\x43\\x35\\x55\\x4b\\x4d\\x50\\xdb\\xa8\\x89\\x6a\\x5b\\x35\\x49\\x4d\\x56\\x53\\xd4\\x54\\xb5\\x9d\\xda\\x5e\\x4d\\x53\\x3b\\xa8\\x1d\\xd5\\x4e\\x6a\\x67\\xb5\\x8b\\xda\\x55\\xed\\xa6\\x76\\x57\\xd3\\xd5\\x1e\\x6a\\x4f\\x35\\x43\\xed\\xa5\\xf6\\x56\\xfb\\xa8\\x7d\\xd5\\x7e\\x6a\\x7f\\x75\\x80\\x3a\\x50\\x1d\\xa4\\x0e\\x56\\x87\\xa8\\x43\\xd5\\x61\\xea\\x70\\x75\\x84\\x3a\\x52\\xcd\\x54\\x6d\\xd5\\x51\\x5d\\x35\\xa4\\x66\\xa9\\xd9\\x6a\\x8e\\x9a\\xab\\x8e\\x52\\x47\\xab\\x63\\xd4\\x63\\xd4\\xb1\\xea\\xb1\\x6a\\x9e\\x9a\\xaf\\x16\\xa8\\x85\\x6a\\x91\\xea\\xa9\\xbe\\x3a\\x4e\\x1d\\xaf\\x4e\\x50\\x8f\\x53\\x27\\xaa\\x93\\xd4\\xc9\\xea\\x14\\x75\\xaa\\x3a\\x4d\\x3d\\x5e\\x9d\\xae\\xce\\x50\\x67\\xaa\\xb3\\xd4\\xd9\\xea\\x1c\\xf5\\x04\\xb5\\x58\\x9d\\xab\\x9e\\xa8\\xce\\x53\\xe7\\xab\\x27\\xa9\\x0b\\xd4\\x85\\x6a\\x58\\x5d\\xa4\\x96\\xa8\\xa5\\x6a\\x44\\x2d\\x53\\xcb\\xd5\\x0a\\xb5\\x52\\x5d\\xac\\x2e\\x51\\xab\\xd4\\x6a\\xb5\\x46\\x8d\\xaa\\xb5\\xea\\x52\\xb5\\x4e\\xad\\x57\\x1b\\xd4\\x46\\x75\\x99\\xba\\x5c\\x5d\\xa1\\xae\\x54\\x4f\\x56\\x57\\xa9\\xa7\\xa8\\xab\\xd5\\x53\\xd5\\x35\\xea\\x5a\\xf5\\x34\\xf5\\x74\\xf5\\x0c\\xf5\\x4c\\xf5\\x2c\\xf5\\x6c\\xf5\\x1c\\xf5\\x5c\\xf5\\x3c\\xf5\\x6f\\xea\\xf9\\xea\\x05\\xea\\x85\\xea\\x45\\xea\\xc5\\xea\\x25\\xea\\xa5\\xea\\x65\\xea\\xe5\\xea\\x15\\xea\\x95\\xea\\x55\\xea\\xd5\\xea\\x35\\xea\\xb5\\xea\\x75\\xea\\xf5\\xea\\x0d\\xea\\x8d\\xea\\x4d\\xea\\xcd\\xea\\x2d\\xea\\xad\\xea\\x6d\\xea\\xed\\xea\\x1d\\xea\\x9d\\xea\\x5d\\xea\\xdd\\xea\\x3d\\xea\\xdf\\xd5\\x7b\\xd5\\xfb\\xd4\\xfb\\xd5\\x7f\\xa8\\x0f\\xa8\\x0f\\xaa\\x0f\\xa9\\x0f\\xab\\x8f\\xa8\\x8f\\xaa\\xeb\\xd4\\xc7\\xd4\\xc7\\xd5\\x27\\xd4\\x27\\xd5\\x7f\\xaa\\x4f\\xa9\\x4f\\xab\\xcf\\xa8\\xcf\\xaa\\xcf\\xa9\\xff\\x52\\xff\\xad\\x3e\\xaf\\xbe\\xa0\\xbe\\xa8\\xae\\x57\\x5f\\x52\\x5f\\x56\\x5f\\x51\\x5f\\x55\\x5f\\x53\\xff\\xa3\\x6e\\x50\\x37\\xaa\\xaf\\xab\\x6f\\xa8\\x6f\\xaa\\x6f\\xa9\\x6f\\xab\\x9b\\xd4\\xcd\\xea\\x16\\x75\\xab\\xba\\x4d\\x7d\\x47\\x7d\\x57\\x7d\\x4f\\x7d\\x5f\\xfd\\x40\\xfd\\x50\\xfd\\x48\\xfd\\x58\\xfd\\x44\\xfd\\x54\\xfd\\x4c\\xfd\\x5c\\xdd\\xae\\xee\\x50\\x77\\xaa\\xbb\\xd4\\xdd\\xea\\x17\\xea\\x97\\xea\\x57\\xea\\xd7\\xea\\x1e\\xf5\\x1b\\xf5\\x5b\\x75\\xaf\\xfa\\x9d\\xba\\x4f\\xdd\\xaf\\x1e\\x50\\x0f\\xaa\\xdf\\xab\\x3f\\xa8\\x3f\\xaa\\x3f\\xa9\\x3f\\xab\\xbf\\xa8\\xbf\\xaa\\xbf\\xa9\\xbf\\xab\\x4d\\x6a\\x4c\\x63\\x1a\\x0f\\x8e\\x27\\xd7\\x54\\x4d\\xd3\\x74\\xcd\\xd0\\x4c\\xcd\\xd2\\x12\\xb4\\x36\\x5a\\xa2\\xd6\\x56\\x4b\\xd2\\x92\\xb5\\x14\\x2d\\x55\\x6b\\xa7\\xb5\\xd7\\xd2\\xb4\\x0e\\x5a\\x47\\xad\\x93\\xd6\\x59\\xeb\\xa2\\x75\\xd5\\xba\\x69\\xdd\\xb5\\x74\\xad\\x87\\xd6\\x53\\xcb\\xd0\\x7a\\x69\\xbd\\xb5\\x3e\\x5a\\x5f\\xad\\x9f\\xd6\\x5f\\x1b\\xa0\\x0d\\xd4\\x06\\x69\\x83\\xb5\\x21\\xda\\x50\\x6d\\x98\\x36\\x5c\\x1b\\xa1\\x8d\\xd4\\x32\\x35\\x5b\\x73\\x34\\x57\\x0b\\x69\\x59\\x5a\\xb6\\x96\\xa3\\xe5\\x6a\\xa3\\xb4\\xd1\\xda\\x18\\xed\\x18\\x6d\\xac\\x76\\xac\\x96\\xa7\\xe5\\x6b\\x05\\x5a\\xa1\\x56\\xa4\\x79\\x9a\\xaf\\x8d\\xd3\\xc6\\x6b\\x13\\xb4\\xe3\\xb4\\x89\\xda\\x24\\x6d\\xb2\\x36\\x45\\x9b\\xaa\\x4d\\xd3\\x8e\\xd7\\xa6\\x6b\\x33\\xb4\\x99\\xda\\x2c\\x6d\\xb6\\x36\\x47\\x3b\\x41\\x2b\\xd6\\xe6\\x6a\\x27\\x6a\\xf3\\xb4\\xf9\\xda\\x49\\xda\\x02\\x6d\\xa1\\x16\\xd6\\x16\\x69\\x25\\x5a\\xa9\\x16\\xd1\\xca\\xb4\\x72\\xad\\x42\\xab\\xd4\\x16\\x6b\\x4b\\xb4\\x2a\\xad\\x5a\\xab\\xd1\\xa2\\x5a\\xad\\xb6\\x54\\xab\\xd3\\xea\\xb5\\x06\\xad\\x51\\x5b\\xa6\\x2d\\xd7\\x56\\x68\\x2b\\xb5\\x93\\xb5\\x55\\xda\\x29\\xda\\x6a\\xed\\x54\\x6d\\x8d\\xb6\\x56\\x3b\\x4d\\x3b\\x5d\\x3b\\x43\\x3b\\x53\\x3b\\x4b\\x3b\\x5b\\x3b\\x47\\x3b\\x57\\x3b\\x4f\\xfb\\x9b\\x76\\xbe\\x76\\x81\\x76\\xa1\\x76\\x91\\x76\\xb1\\x76\\x89\\x76\\xa9\\x76\\x99\\x76\\xb9\\x76\\x85\\x76\\xa5\\x76\\x95\\x76\\xb5\\x76\\x8d\\x76\\xad\\x76\\x9d\\x76\\xbd\\x76\\x83\\x76\\xa3\\x76\\x93\\x76\\xb3\\x76\\x8b\\x76\\xab\\x76\\x9b\\x76\\xbb\\x76\\x87\\x76\\xa7\\x76\\x97\\x76\\xb7\\x76\\x8f\\xf6\\x77\\xed\\x5e\\xed\\x3e\\xed\\x7e\\xed\\x1f\\xda\\x03\\xda\\x83\\xda\\x43\\xda\\xc3\\xda\\x23\\xda\\xa3\\xda\\x3a\\xed\\x31\\xed\\x71\\xed\\x09\\xed\\x49\\xed\\x9f\\xda\\x53\\xda\\xd3\\xda\\x33\\xda\\xb3\\xda\\x73\\xda\\xbf\\xb4\\x7f\\x6b\\xcf\\x6b\\x2f\\x68\\x2f\\x6a\\xeb\\xb5\\x97\\xb4\\x97\\xb5\\x57\\xb4\\x57\\xb5\\xd7\\xb4\\xff\\x68\\x1b\\xb4\\x8d\\xda\\xeb\\xda\\x1b\\xda\\x9b\\xda\\x5b\\xda\\xdb\\xda\\x26\\x6d\\xb3\\xb6\\x45\\xdb\\xaa\\x6d\\xd3\\xde\\xd1\\xde\\xd5\\xde\\xd3\\xde\\xd7\\x3e\\xd0\\x3e\\xd4\\x3e\\xd2\\x3e\\xd6\\x3e\\xd1\\x3e\\xd5\\x3e\\xd3\\x3e\\xd7\\xb6\\x6b\\x3b\\xb4\\x9d\\xda\\x2e\\x6d\\xb7\\xf6\\x85\\xf6\\xa5\\xf6\\x95\\xf6\\xb5\\xb6\\x47\\xfb\\x46\\xfb\\x56\\xdb\\xab\\x7d\\xa7\\xed\\xd3\\xf6\\x6b\\x07\\xb4\\x83\\xda\\xf7\\xda\\x0f\\xda\\x8f\\xda\\x4f\\xda\\xcf\\xda\\x2f\\xda\\xaf\\xda\\x6f\\xda\\xef\\x5a\\x93\\x16\\xd3\\x99\\xce\\x75\\x45\\x0f\\x8e\\x3f\\xd6\\x74\\x5d\\x37\\x74\\x53\\xb7\\xf4\\x04\\xbd\\x8d\\x9e\\xa8\\xb7\\xd5\\x93\\xf4\\x64\\x3d\\x45\\x4f\\xd5\\xdb\\xe9\\xed\\xf5\\x34\\xbd\\x83\\xde\\x51\\xef\\xa4\\x77\\xd6\\xbb\\xe8\\x5d\\xf5\\x6e\\x7a\\x77\\x3d\\x5d\\xef\\xa1\\xf7\\xd4\\x33\\xf4\\x5e\\x7a\\x6f\\xbd\\x8f\\xde\\x57\\xef\\xa7\\xf7\\xd7\\x07\\xe8\\x03\\xf5\\x41\\xfa\\x60\\x7d\\x88\\x3e\\x54\\x1f\\xa6\\x0f\\xd7\\x47\\xe8\\x23\\xf5\\x4c\\xdd\\xd6\\x1d\\xdd\\xd5\\x43\\x7a\\x96\\x9e\\xad\\xe7\\xe8\\xb9\\xfa\\x28\\x7d\\xb4\\x3e\\x46\\x3f\\x46\\x1f\\xab\\x1f\\xab\\xe7\\xe9\\xf9\\x7a\\x81\\x5e\\xa8\\x17\\xe9\\x9e\\xee\\xeb\\xe3\\xf4\\xf1\\xfa\\x04\\xfd\\x38\\x7d\\xa2\\x3e\\x49\\x9f\\xac\\x4f\\xd1\\xa7\\xea\\xd3\\xf4\\xe3\\xf5\\xe9\\xfa\\x0c\\x7d\\xa6\\x3e\\x4b\\x9f\\xad\\xcf\\xd1\\x4f\\xd0\\x8b\\xf5\\xb9\\xfa\\x89\\xfa\\x3c\\x7d\\xbe\\x7e\\x92\\xbe\\x40\\x5f\\xa8\\x87\\xf5\\x45\\x7a\\x89\\x5e\\xaa\\x47\\xf4\\x32\\xbd\\x5c\\xaf\\xd0\\x2b\\xf5\\xc5\\xfa\\x12\\xbd\\x4a\\xaf\\xd6\\x6b\\xf4\\xa8\\x5e\\xab\\x2f\\xd5\\xeb\\xf4\\x7a\\xbd\\x41\\x6f\\xd4\\x97\\xe9\\xcb\\xf5\\x15\\xfa\\x4a\\xfd\\x64\\x7d\\x95\\x7e\\x8a\\xbe\\x5a\\x3f\\x55\\x5f\\xa3\\xaf\\xd5\\x4f\\xd3\\x4f\\xd7\\xcf\\xd0\\xcf\\xd4\\xcf\\xd2\\xcf\\xd6\\xcf\\xd1\\xcf\\xd5\\xcf\\xd3\\xff\\xa6\\x9f\\xaf\\x5f\\xa0\\x5f\\xa8\\x5f\\xa4\\x5f\\xac\\x5f\\xa2\\x5f\\xaa\\x5f\\xa6\\x5f\\xae\\x5f\\xa1\\x5f\\xa9\\x5f\\xa5\\x5f\\xad\\x5f\\xa3\\x5f\\xab\\x5f\\xa7\\x5f\\xaf\\xdf\\xa0\\xdf\\xa8\\xdf\\xa4\\xdf\\xac\\xdf\\xa2\\xdf\\xaa\\xdf\\xa6\\xdf\\xae\\xdf\\xa1\\xdf\\xa9\\xdf\\xa5\\xdf\\xad\\xdf\\xa3\\xff\\x5d\\xbf\\x57\\xbf\\x4f\\xbf\\x5f\\xff\\x87\\xfe\\x80\\xfe\\xa0\\xfe\\x90\\xfe\\xb0\\xfe\\x88\\xfe\\xa8\\xbe\\x4e\\x7f\\x4c\\x7f\\x5c\\x7f\\x42\\x7f\\x52\\xff\\xa7\\xfe\\x94\\xfe\\xb4\\xfe\\x8c\\xfe\\xac\\xfe\\x9c\\xfe\\x2f\\xfd\\xdf\\xfa\\xf3\\xfa\\x0b\\xfa\\x8b\\xfa\\x7a\\xfd\\x25\\xfd\\x65\\xfd\\x15\\xfd\\x55\\xfd\\x35\\xfd\\x3f\\xfa\\x06\\x7d\\xa3\\xfe\\xba\\xfe\\x86\\xfe\\xa6\\xfe\\x96\\xfe\\xb6\\xbe\\x49\\xdf\\xac\\x6f\\xd1\\xb7\\xea\\xdb\\xf4\\x77\\xf4\\x77\\xf5\\xf7\\xf4\\xf7\\xf5\\x0f\\xf4\\x0f\\xf5\\x8f\\xf4\\x8f\\xf5\\x4f\\xf4\\x4f\\xf5\\xcf\\xf4\\xcf\\xf5\\xed\\xfa\\x0e\\x7d\\xa7\\xbe\\x4b\\xdf\\xad\\x7f\\xa1\\x7f\\xa9\\x7f\\xa5\\x7f\\xad\\xef\\xd1\\xbf\\xd1\\xbf\\xd5\\xf7\\xea\\xdf\\xe9\\xfb\\xf4\\xfd\\xfa\\x01\\xfd\\xa0\\xfe\\xbd\\xfe\\x83\\xfe\\xa3\\xfe\\x93\\xfe\\xb3\\xfe\\x8b\\xfe\\xab\\xfe\\x9b\\xfe\\xbb\\xde\\xa4\\xc7\\x0c\\x66\\x70\\x23\\x38\\x78\\x51\\x35\\x34\\x43\\x37\\x0c\\xc3\\x34\\x2c\\x23\\xc1\\x68\\x63\\x24\\x1a\\x6d\\x8d\\x24\\x23\\xd9\\x48\\x31\\x52\\x8d\\x76\\x46\\x7b\\x23\\xcd\\xe8\\x60\\x74\\x34\\x3a\\x19\\x9d\\x8d\\x2e\\x46\\x57\\xa3\\x9b\\xd1\\xdd\\x48\\x37\\x7a\\x18\\x3d\\x8d\\x0c\\xa3\\x97\\xd1\\xdb\\xe8\\x63\\xf4\\x35\\xfa\\x19\\xfd\\x8d\\x01\\xc6\\x40\\x63\\x90\\x31\\xd8\\x18\\x62\\x0c\\x35\\x86\\x19\\xc3\\x8d\\x11\\xc6\\x48\\x23\\xd3\\xb0\\x0d\\xc7\\x70\\x8d\\x90\\x91\\x65\\x64\\x1b\\x39\\x46\\xae\\x31\\xca\\x18\\x6d\\x8c\\x31\\x8e\\x31\\xc6\\x1a\\xc7\\x1a\\x79\\x46\\xbe\\x51\\x60\\x14\\x1a\\x45\\x86\\x67\\xf8\\xc6\\x38\\x63\\xbc\\x31\\xc1\\x38\\xce\\x98\\x68\\x4c\\x32\\x26\\x1b\\x53\\x8c\\xa9\\xc6\\x34\\xe3\\x78\\x63\\xba\\x31\\xc3\\x98\\x69\\xcc\\x32\\x66\\x1b\\x73\\x8c\\x13\\x8c\\x62\\x63\\xae\\x71\\xa2\\x31\\xcf\\x98\\x6f\\x9c\\x64\\x2c\\x30\\x16\\x1a\\x61\\x63\\x91\\x51\\x62\\x94\\x1a\\x11\\xa3\\xcc\\x28\\x37\\x2a\\x8c\\x4a\\x63\\xb1\\xb1\\xc4\\xa8\\x32\\xaa\\x8d\\x1a\\x23\\x6a\\xd4\\x1a\\x4b\\x8d\\x3a\\xa3\\xde\\x68\\x30\\x1a\\x8d\\x65\\xc6\\x72\\x63\\x85\\xb1\\xd2\\x38\\xd9\\x58\\x65\\x9c\\x62\\xac\\x36\\x4e\\x35\\xd6\\x18\\x6b\\x8d\\xd3\\x8c\\xd3\\x8d\\x33\\x8c\\x33\\x8d\\xb3\\x8c\\xb3\\x8d\\x73\\x8c\\x73\\x8d\\xf3\\x8c\\xbf\\x19\\xe7\\x1b\\x17\\x18\\x17\\x1a\\x17\\x19\\x17\\x1b\\x97\\x18\\x97\\x1a\\x97\\x19\\x97\\x1b\\x57\\x18\\x57\\x1a\\x57\\x19\\x57\\x1b\\xd7\\x18\\xd7\\x1a\\xd7\\x19\\xd7\\x1b\\x37\\x18\\x37\\x1a\\x37\\x19\\x37\\x1b\\xb7\\x18\\xb7\\x1a\\xb7\\x19\\xb7\\x1b\\x77\\x18\\x77\\x1a\\x77\\x19\\x77\\x1b\\xf7\\x18\\x7f\\x37\\xee\\x35\\xee\\x33\\xee\\x37\\xfe\\x61\\x3c\\x60\\x3c\\x68\\x3c\\x64\\x3c\\x6c\\x3c\\x62\\x3c\\x6a\\xac\\x33\\x1e\\x33\\x1e\\x37\\x9e\\x30\\x9e\\x34\\xfe\\x69\\x3c\\x65\\x3c\\x6d\\x3c\\x63\\x3c\\x6b\\x3c\\x67\\xfc\\xcb\\xf8\\xb7\\xf1\\xbc\\xf1\\x82\\xf1\\xa2\\xb1\\xde\\x78\\xc9\\x78\\xd9\\x78\\xc5\\x78\\xd5\\x78\\xcd\\xf8\\x8f\\xb1\\xc1\\xd8\\x68\\xbc\\x6e\\xbc\\x61\\xbc\\x69\\xbc\\x65\\xbc\\x6d\\x6c\\x32\\x36\\x1b\\x5b\\x8c\\xad\\xc6\\x36\\xe3\\x1d\\xe3\\x5d\\xe3\\x3d\\xe3\\x7d\\xe3\\x03\\xe3\\x43\\xe3\\x23\\xe3\\x63\\xe3\\x13\\xe3\\x53\\xe3\\x33\\xe3\\x73\\x63\\xbb\\xb1\\xc3\\xd8\\x69\\xec\\x32\\x76\\x1b\\x5f\\x18\\x5f\\x1a\\x5f\\x19\\x5f\\x1b\\x7b\\x8c\\x6f\\x8c\\x6f\\x8d\\xbd\\xc6\\x77\\xc6\\x3e\\x63\\xbf\\x71\\xc0\\x38\\x68\\x7c\\x6f\\xfc\\x60\\xfc\\x68\\xfc\\x64\\xfc\\x6c\\xfc\\x62\\xfc\\x6a\\xfc\\x66\\xfc\\x6e\\x34\\x19\\x31\\x93\\xb1\\x47\\xd8\\xa3\\x26\\x37\\x15\\x53\\xb0\\xc7\\xd9\\x13\\x6c\\xbd\\xa9\\xb2\\x75\\xec\\x31\\xf6\\x92\\xa9\\xb1\\xd3\\xd9\\x0b\\xec\\x1c\\x76\\x9f\\xa9\\x9b\\x86\\x69\\x9a\\x96\\x99\\x60\\xb6\\x61\\x2f\\x9b\\x89\\x66\\x5b\\x33\\x89\\x3d\\xc7\\xfe\\x65\\x26\\x9b\\x29\\xec\\x19\\x33\\xd5\\x6c\\x67\\xb6\\x37\\xd3\\xcc\\x0e\\x66\\x47\\xb3\\x93\\xd9\\xd9\\xec\\x62\\x76\\x35\\xbb\\x99\\xdd\\xcd\\x74\\xb3\\x87\\xd9\\xd3\\xcc\\x30\\x7b\\x99\\xbd\\xcd\\x3e\\x66\\x5f\\xf6\\xa3\\xd9\\xcf\\xec\\x6f\\x0e\\x30\\x07\\x9a\\x83\\xcc\\xc1\\xe6\\x10\\x73\\xa8\\x39\\xcc\\x1c\\x6e\\x8e\\x30\\x47\\x9a\\x99\\xa6\\x6d\\x3a\\xa6\\x6b\\x86\\xcc\\x2c\\x33\\xdb\\xcc\\x31\\x73\\xcd\\x51\\xe6\\x68\\x76\\x81\\x39\\xc6\\x3c\\xc6\\x1c\\x6b\\x1e\\x6b\\xe6\\x99\\xf9\\x66\\x81\\x59\\x68\\x16\\x99\\x9e\\xe9\\x9b\\xe3\\xcc\\xf1\\xe6\\x04\\xf3\\x38\\x73\\xa2\\x39\\xc9\\x9c\\xcc\\xae\\x31\\xa7\\xb0\\xeb\\xd8\\xb5\\x6c\\xaf\\x39\\x95\\xbd\\xc8\\xee\\x64\\x97\\x99\\xd3\\xcc\\xe3\\xd9\\x0d\\xec\\x6e\\x76\\xb1\\x39\\x9d\\x5d\\xc1\\xae\\x34\\x67\\x98\\x33\\xcd\\x59\\xe6\\x6c\\x73\\x8e\\x79\\x82\\x59\\x6c\\xce\\x35\\x4f\\x34\\xe7\\x99\\xf3\\xcd\\x93\\xcc\\x05\\xe6\\x42\\x33\\x6c\\x2e\\x32\\x4b\\xcc\\x52\\x33\\x62\\x96\\x99\\xe5\\x66\\x85\\x59\\x69\\x2e\\x36\\x97\\x98\\x55\\x66\\xb5\\x59\\x63\\x46\\xcd\\x5a\\x73\\xa9\\x59\\x67\\xd6\\x9b\\x0d\\x66\\xa3\\xb9\\xcc\\x5c\\x6e\\xae\\x30\\x57\\x9a\\x27\\x9b\\xab\\xcc\\x53\\xcc\\xd5\\xe6\\xa9\\xe6\\x1a\\x73\\xad\\x79\\x9a\\x79\\xba\\x79\\x86\\x79\\xa6\\x79\\x96\\x79\\xb6\\x79\\x8e\\x79\\xae\\x79\\x9e\\xf9\\x37\\xf3\\x7c\\xf3\\x02\\xf3\\x42\\xf3\\x22\\xf3\\x62\\xf6\\x4f\\xf3\\x12\\xf3\\x52\\xf3\\x32\\xf3\\x72\\xf3\\x0a\\xf3\\x4a\\xf3\\x2a\\xf3\\x6a\\xf3\\x1a\\xf3\\x5a\\xf3\\x3a\\xf3\\x7a\\xf3\\x06\\xf3\\x46\\xf3\\x26\\xf3\\x66\\xf3\\x16\\xf3\\x56\\xf3\\x36\\xf3\\x76\\xf3\\x0e\\xf3\\x4e\\xf3\\x2e\\xf3\\x6e\\xf3\\x1e\\xf3\\xef\\xe6\\xbd\\xe6\\x7d\\xe6\\xfd\\xe6\\x3f\\xcc\\x07\\xcc\\x07\\xcd\\x87\\xcc\\x87\\xcd\\x47\\xcc\\x47\\xcd\\x75\\xe6\\x63\\xe6\\xe3\\xe6\\x13\\xe6\\x93\\xe6\\x3f\\xcd\\xa7\\xcc\\xa7\\xcd\\x67\\xcc\\x67\\xcd\\xe7\\xcc\\x7f\\x99\\xff\\x36\\x9f\\x37\\x5f\\x30\\x5f\\x34\\xd7\\x9b\\x2f\\x99\\x2f\\x9b\\xaf\\x98\\xaf\\xb2\\x7f\\xb3\\xe7\\xcd\\xd7\\xcc\\xff\\x98\\x1b\\xcc\\x8d\\xe6\\xeb\\xe6\\x1b\\xe6\\x9b\\xe6\\x5b\\xe6\\xdb\\xe6\\x26\\x73\\xb3\\xb9\\xc5\\xdc\\x6a\\x6e\\x33\\xdf\\x31\\xdf\\x35\\xdf\\x33\\xdf\\x37\\x3f\\x30\\x3f\\x34\\x3f\\x32\\x3f\\x36\\x3f\\x31\\x3f\\x35\\x3f\\x33\\x3f\\x37\\xb7\\x9b\\x3b\\xcc\\x9d\\xe6\\x2e\\x73\\xb7\\xf9\\x85\\xf9\\xa5\\xf9\\x95\\xf9\\xb5\\xb9\\xc7\\xfc\\xc6\\xfc\\xd6\\xdc\\x6b\\x7e\\x67\\xee\\x33\\xf7\\x9b\\x07\\xcc\\x83\\xe6\\xf7\\xe6\\x0f\\xe6\\x8f\\xe6\\x4f\\xe6\\xcf\\xe6\\x2f\\xe6\\xaf\\xe6\\x6f\\xe6\\xef\\x66\\x93\\x19\\xb3\\x98\\xc5\\x2d\\xc5\\x12\\x96\\x6a\\x69\\x96\\x6e\\x19\\x96\\x69\\x59\\x56\\x82\\xd5\\xc6\\x4a\\xb4\\xda\\x5a\\x49\\x56\\xb2\\x95\\x62\\xa5\\x5a\\xed\\xac\\xf6\\x56\\x9a\\xd5\\xc1\\xea\\x68\\x75\\xb2\\x3a\\x5b\\x5d\\xac\\xae\\x56\\x37\\xab\\xbb\\x95\\x6e\\xf5\\xb0\\x7a\\x5a\\x19\\x56\\x2f\\xab\\xb7\\xd5\\xc7\\xea\\x6b\\xf5\\xb3\\xfa\\x5b\\x03\\xac\\x81\\xd6\\x20\\x6b\\xb0\\x35\\xc4\\x1a\\x6a\\x0d\\xb3\\x86\\x5b\\x23\\xac\\x91\\x56\\xa6\\x65\\x5b\\x8e\\xe5\\x5a\\x21\\x2b\\xcb\\xca\\xb6\\x72\\xac\\x5c\\x6b\\x94\\x35\\xda\\x1a\\x63\\x1d\\x63\\x8d\\xb5\\x8e\\xb5\\xf2\\xac\\x7c\\xab\\xc0\\x2a\\xb4\\x8a\\x2c\\xcf\\xf2\\xad\\x71\\xd6\\x78\\x6b\\x82\\x75\\x9c\\x35\\xd1\\x9a\\x64\\x4d\\xb6\\xa6\\x58\\x53\\xad\\x69\\xd6\\xf1\\xd6\\x74\\x6b\\x86\\x35\\xd3\\x9a\\x65\\xcd\\xb6\\xe6\\x58\\x27\\x58\\xc5\\xd6\\x5c\\xeb\\x44\\x6b\\x9e\\x35\\xdf\\x3a\\xc9\\x5a\\x60\\x2d\\xb4\\xc2\\xd6\\x22\\xab\\xc4\\x2a\\xb5\\x22\\x56\\x99\\x55\\x6e\\x55\\x58\\x95\\xd6\\x62\\x6b\\x89\\x55\\x65\\x55\\x5b\\x35\\x56\\xd4\\xaa\\xb5\\x96\\x5a\\x75\\x56\\xbd\\xd5\\x60\\x35\\x5a\\xcb\\xac\\xe5\\xd6\\x0a\\x6b\\xa5\\x75\\xb2\\xb5\\xca\\x3a\\xc5\\x5a\\x6d\\x9d\\x6a\\xad\\xb1\\xd6\\x5a\\xa7\\x59\\xa7\\x5b\\x67\\x58\\x67\\x5a\\x67\\x59\\x67\\x5b\\xe7\\x58\\xe7\\x5a\\xe7\\x59\\x7f\\xb3\\xce\\xb7\\x2e\\xb0\\x2e\\xb4\\x2e\\xb2\\x2e\\xb6\\x2e\\xb1\\x2e\\xb5\\x2e\\xb3\\x2e\\xb7\\xae\\xb0\\xae\\xb4\\xae\\xb2\\xae\\xb6\\xae\\xb1\\xae\\xb5\\xae\\xb3\\xae\\xb7\\x6e\\xb0\\x6e\\xb4\\x6e\\xb2\\x6e\\xb6\\x6e\\xb1\\x6e\\xb5\\x6e\\xb3\\x6e\\xb7\\xee\\xb0\\xee\\xb4\\xee\\xb2\\xee\\xb6\\xee\\xb1\\xfe\\x6e\\xdd\\x6b\\xdd\\x67\\xdd\\x6f\\xfd\\xc3\\x7a\\xc0\\x7a\\xd0\\x7a\\xc8\\x7a\\xd8\\x7a\\xc4\\x7a\\xd4\\x5a\\x67\\x3d\\x66\\x3d\\x6e\\x3d\\x61\\x3d\\x69\\xfd\\xd3\\x7a\\xca\\x7a\\xda\\x7a\\xc6\\x7a\\xd6\\x7a\\xce\\xfa\\x97\\xf5\\x6f\\xeb\\x79\\xeb\\x05\\xeb\\x45\\x6b\\xbd\\xf5\\x92\\xf5\\xb2\\xf5\\x8a\\xf5\\xaa\\xf5\\x9a\\xf5\\x1f\\x6b\\x83\\xb5\\xd1\\x7a\\xdd\\x7a\\xc3\\x7a\\xd3\\x7a\\xcb\\x7a\\xdb\\xda\\x64\\x6d\\xb6\\xb6\\x58\\x5b\\xad\\x6d\\xd6\\x3b\\xd6\\xbb\\xd6\\x7b\\xd6\\xfb\\xd6\\x07\\xd6\\x87\\xd6\\x47\\xd6\\xc7\\xd6\\x27\\xd6\\xa7\\xd6\\x67\\xd6\\xe7\\xd6\\x76\\x6b\\x87\\xb5\\xd3\\xda\\x65\\xed\\xb6\\xbe\\xb0\\xbe\\xb4\\xbe\\xb2\\xbe\\xb6\\xf6\\x58\\xdf\\x58\\xdf\\x5a\\x7b\\xad\\xef\\xac\\x7d\\xd6\\x7e\\xeb\\x80\\x75\\xd0\\xfa\\xde\\xfa\\xc1\\xfa\\xd1\\xfa\\xc9\\xfa\\xd9\\xfa\\xc5\\xfa\\xd5\\xfa\\xcd\\xfa\\xdd\\x6a\\xb2\\x62\\x09\\x2c\\x81\\x27\\x28\\x09\\x22\\x41\\x4d\\xd0\\x12\\xf4\\x04\\x23\\xc1\\x4c\\xb0\\x12\\x12\\x12\\xda\\x24\\x24\\x26\\xb4\\x4d\\x48\\x4a\\x48\\x4e\\x48\\x49\\x48\\x35\\x1a\\x6b\\x2a\\x47\\x8e\\xcc\\x1f\\x89\\xb4\\xc8\\x8a\\x2e\\x8b\\xd4\\xd5\\x97\\x44\\xeb\\x22\\xa2\\xba\\x31\\x53\\xaf\\xae\\x2c\\x2d\\x8d\\x36\\x18\\xf9\\xd5\\xc1\\x7b\\xca\\x35\\x46\\x38\\x9e\\xea\\xf9\\x8b\\xea\\x22\\xcb\\x22\\x7a\\x58\\x26\\x46\\x7e\\xb4\\x3c\\x5a\\x13\\x59\\x62\\x84\\xe3\\x69\\x9b\\xc2\\x92\\xca\\xba\\x92\\xc6\\xea\\xb2\\xaa\\xc8\\x8a\\x36\\x25\\x87\\xf2\\x09\\x85\\xd4\\x54\\xb8\\xa4\\x24\\x52\\xd3\\x90\\x50\\xd2\\x92\\xd5\\x8b\\x4a\\xc2\\x41\\x93\\xa5\\xf1\\xa4\\x88\\xda\\x0f\\x37\\x18\\x1e\\x00\\x23\\x00\\xf4\\xe2\\x80\\x11\\x99\\x24\\x78\\x87\\x1a\\x8a\\xb4\\x64\\x0d\\x0f\\x6a\\x44\\xe2\\xa9\\xee\\xc5\\x5b\\x8c\\xc8\\xa4\\xcd\\xb8\\x56\\x4a\\x95\\xb7\\x52\\x6a\\xdc\\xa1\\xb6\\xca\\x5b\\xb2\\x89\\xe3\\x4a\\xa2\\xd5\\xd5\\x61\\xbc\\x28\\x6f\\xf5\\xa2\\xcd\\xf8\\x56\\xed\\x54\\x1c\\xca\\xab\\xe3\\x17\\x85\\xeb\\xd4\\x0a\\x12\\xfa\\x84\\x86\\xca\\xaa\\xd2\\x88\\x5e\\x29\\x13\\x63\\x02\\x7a\\x52\\x89\\x9e\\x4c\\x88\\xf7\\xa4\\x32\\x6e\\xba\\x09\\xd0\\xb9\\x32\\x9e\\x2a\\x13\\x8e\\x53\\x2a\\x17\\xb7\\x39\\xae\\x15\\xc6\\xe2\\x43\\xf9\\xc4\\x89\\xad\\xb5\\x5a\\x72\\xd8\\x8b\\xf2\\xe0\\x23\\x8a\\xaa\\x70\\x4d\\x69\\x65\\x89\\x3e\\x29\\x5c\\xd2\\xd8\\x10\\xd1\\xab\\x64\\x92\\x38\\xa9\\x75\\xbd\\xaa\\x56\\x2f\\xf4\\x49\\x71\\x03\\x55\\xc9\\x44\\x9d\\x44\\xbd\\x57\\xab\\x48\\xe8\\x53\\xe2\\xf7\\xd7\\xc4\\xef\\x9f\\xd2\\xfa\\xfe\\x9a\\xd6\\xf7\\x4f\\x89\\xdf\\x5f\\x13\\x37\\x70\\x4d\\xb8\\x36\\x5a\\xdf\\x50\\x17\\xad\\xad\\x88\\x08\\xaf\\xa6\\x5c\\x44\\x6a\\xca\\x8d\\xa9\\xe8\\x7c\\x14\\x9d\\x9f\\x1a\\xef\\x7c\\x54\\x26\\x6d\\xa7\\x56\\x34\\xd6\\x94\\x87\\xeb\\x1a\\xab\\xab\\xc2\\x8d\\x0d\\x6d\\xa3\\xad\\x5f\\xe9\\xd3\\xe3\\x3a\\xd4\\xc5\\x75\\x98\\xde\\x5a\\x87\\xba\\xd6\\x3a\\x4c\\x8f\\xeb\\x50\\x17\\x4f\\x66\\xc4\\xef\\xaa\\x97\\x49\\x9b\\x19\\xad\\xcc\\x58\\xdf\\xca\\x8c\\x33\\x5b\\xb7\\xd6\\xd0\\xba\\xb5\\x99\\xf1\\x66\\x1a\\xe2\\x16\\x99\\x19\\x0c\\x69\\x43\\x30\\xa4\\xb3\\xe2\\x43\\xda\\x18\\x1f\\xd2\\x59\\xe8\\x55\\x23\\x7a\\x35\\x2b\\xde\\xab\\x46\\x99\\x68\\xb3\\xea\\x2a\\x6b\\xca\\xb5\\xc6\\x40\\xb6\\x9d\\x75\\x58\\x0f\\x1b\\x5b\\xbf\\x32\\x66\\x61\\xe8\\x1b\\xb1\\x6a\\xe6\\xb4\\xd2\\x76\\x79\\xab\\x7c\\x71\\xab\\xfc\\xca\\x43\\x79\\x7d\\x6e\\xbc\\xaf\\x27\\xcb\\x24\\x61\\xee\\xa1\\x69\\x7c\\x72\\x4b\\x56\\xab\\x8a\\xd6\\x94\\xd7\\xcb\\xa5\\x9d\\x99\\x33\\x12\\x69\\x26\\x52\\x1b\\xa9\\x83\\xd4\\x45\\x1a\\x42\\x9a\\x85\\x34\\x1b\\x69\\x0e\\xd2\\x5c\\xa4\\xf9\\x48\\x0b\\x90\\x16\\x22\\x2d\\x42\\xea\\x21\\xf5\\xe3\\x69\\x2e\\xf0\\x73\\x81\\x9f\\x0b\\xdc\\x5c\\xe0\\xe6\\x02\\x37\\x17\\xb8\\xb9\\xc0\\xcd\\x05\\x6e\\x2e\\x70\\x73\\x81\\x9b\\x0b\\xdc\\x5c\\xe0\\xe6\\x02\\x37\\x17\\xb8\\xb9\\xbe\\x36\\xb5\\x22\\x5a\\x47\\x81\\x66\\x20\\xe3\\x65\\xf9\\xe8\\x73\\x3e\\xb0\\xf3\\x81\\x9d\\x0f\\xec\\x7c\\x60\\xe7\\x03\\x3b\\x1f\\xd8\\xf9\\xc0\\xce\\x07\\x76\\x3e\\xb0\\xf3\\x81\\x9d\\x0f\\xec\\x7c\\x4f\\x9b\\x25\\x31\\x1b\\x0f\\x61\\x16\\xa0\\xbf\\x05\\xc0\\x2e\\x00\\x76\\x01\\xb0\\x0b\\x80\\x5d\\x00\\xec\\x02\\x60\\x17\\x00\\xbb\\x00\\xd8\\x05\\xc0\\x2e\\x00\\x76\\x01\\xb0\\x0b\\x80\\x5d\\x80\\x7e\\x17\\xc0\\xde\\x85\\xb0\\x77\\x21\\xf0\\x0b\\x81\\x5f\\x08\\xfc\\x42\\xe0\\x17\\x02\\xbf\\x10\\xf8\\x85\\xc0\\x2f\\x04\\x7e\\x21\\xf0\\x0b\\x81\\x5f\\x08\\xfc\\x42\\xe0\\x17\\x02\\xbf\\x10\\xf8\\x85\\xc0\\x2f\\x02\\x7e\\x11\\xf0\\x8b\\x80\\x5f\\x04\\xfc\\x22\\xe0\\x17\\x01\\xbf\\x08\\xf8\\x45\\xc0\\x2f\\x02\\x7e\\x11\\xf0\\x8b\\x80\\x5f\\x04\\xfc\\x22\\xe0\\x17\\x01\\xbf\\x08\\xf8\\x45\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x03\\xbe\\x07\\x7c\\x0f\\xf8\\x1e\\xf0\\x3d\\xe0\\x7b\\xc0\\xf7\\x81\\xef\\x03\\xdf\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xc0\\xf7\\x81\\xef\\xe7\\x26\\xe4\\x07\\x7b\\x49\\x7c\\x99\\x87\\x5b\\xb2\\x46\\xbe\\x17\\x4f\\xc3\\x91\\xf8\\x6e\\x37\\xb5\\xbe\\x2a\\x5c\\x5f\\x11\\xcf\\x47\\x0f\\xe5\\x65\\x2b\\xf6\\xc8\\x91\\x48\\x33\\x91\\xda\\x48\\x1d\\xa4\\x2e\\xd2\\x10\\xd2\\x2c\\xa4\\xd9\\x48\\x73\\x90\\xe6\\x22\\xcd\\x47\\x5a\\x80\\xb4\\x10\\x69\\x11\\x52\\x0f\\x69\\xdc\\x1a\\x76\\x26\\xf0\\x33\\x81\\x9f\\x09\\xfc\\x4c\\xe0\\x67\\x02\\x3f\\x13\\xf8\\x99\\xc0\\xcf\\xcc\\x4e\\x9c\\xd1\\x7a\\xb7\\xae\\x6f\\xf5\\x02\\x35\\xa0\\x49\\x26\\x34\\xc9\\x84\\x26\\x99\\xd0\\x24\\x13\\x9a\\x64\\x42\\x13\\x1b\\x9a\\xd8\\xd0\\xc4\\x86\\x26\\x36\\x34\\xb1\\xa1\\x89\\x0d\\x4d\\x6c\\x68\\x62\\xc3\\x12\\x36\\x2c\\x61\\xc3\\x12\\x36\\xf0\\x6d\\xe0\\xdb\\xc0\\xb7\\x81\\x6f\\x03\\xdf\\x06\\xbe\\x03\\x7c\\x07\\xf8\\x0e\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x80\\xef\\x64\\x59\\x8b\\x87\\xd3\\x8e\\x5e\\x15\\xa9\\xaf\\x47\\x09\\x34\\x70\\xa0\\x81\\x03\\x0d\\x1c\\x68\\xe0\\x40\\x03\\x07\\x1a\\x38\\xd0\\xc0\\x81\\x06\\x2e\\x34\\x70\\xa1\\x81\\x0b\\x0d\\x5c\\x68\\xe0\\x42\\x03\\x17\\x1a\\xb8\\xb0\\x80\\x0b\\x0b\\xb8\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\x87\\x80\\x1f\\x02\\x7e\\x08\\xf8\\x21\\xe0\\x87\\x80\\x1f\\x02\\x7e\\x08\\xf8\\x21\\xe0\\x87\\x80\\x1f\\x02\\x7e\\x08\\xf8\\x21\\xe0\\x87\\x80\\x1f\\x02\\x7e\\x08\\xf8\\x21\\xe0\\x67\\x01\\x3f\\x0b\\xf8\\x59\\xc0\\xcf\\x02\\x7e\\x16\\xf0\\xb3\\x80\\x9f\\x05\\xfc\\x2c\\xe0\\x67\\x01\\x3f\\x0b\\xf8\\x59\\xc0\\xcf\\x02\\x7e\\x16\\xf0\\xb3\\x80\\x9f\\x05\\xfc\\x2c\\xe0\\x67\\x03\\x3f\\x1b\\xf8\\xd9\\xc0\\xcf\\x06\\x7e\\x36\\xf0\\xb3\\x81\\x9f\\x0d\\xfc\\x6c\\xe0\\x67\\x03\\x3f\\x1b\\xf8\\xd9\\xc0\\xcf\\x06\\x7e\\x36\\xf0\\xb3\\x81\\x9f\\x0d\\xfc\\x6c\\xe0\\xc3\\x13\\xb0\\xe1\\x09\\xd8\\xf0\\x04\\x6c\\x78\\x02\\x36\\x3c\\x01\\x1b\\x9e\\x80\\x0d\\x4f\\xc0\\x86\\x27\\x60\\xc3\\x13\\xb0\\xe1\\x09\\xd8\\xf0\\x04\\x6c\\x78\\x02\\x36\\x3c\\x01\\x1b\\x9e\\x80\\x0d\\x4f\\xc0\\x86\\x27\\x60\\xc3\\x13\\xb0\\xe1\\x09\\xd8\\xb9\\xc0\\x87\\x47\\x60\\xc3\\x23\\xb0\\xe1\\x11\\xd8\\xf0\\x08\\x6c\\x78\\x04\\x36\\x3c\\x02\\x1b\\x1e\\x81\\x0d\\x8f\\xc0\\x86\\x47\\x60\\xc3\\x23\\xb0\\xe1\\x11\\xd8\\xf0\\x08\\xec\\x5c\\xe0\\x23\\xd8\\xb1\\xf3\\x81\\x0f\\xaf\\xc0\\x86\\x57\\x60\\xc3\\x2b\\xb0\\xe1\\x15\\xd8\\xf0\\x0a\\x6c\\x78\\x05\\x36\\xbc\\x02\\x1b\\x5e\\x81\\x0d\\xaf\\xc0\\x86\\x57\\x60\\xc3\\x2b\\xb0\\xe1\\x15\\xd8\\xf9\\xc0\\xcf\\x07\\x7e\\x01\\xf0\\xe1\\x19\\xd8\\xf0\\x0c\\x6c\\x78\\x06\\x36\\x3c\\x03\\x1b\\x9e\\x81\\x0d\\xcf\\xc0\\x86\\x67\\x60\\xc3\\x33\\xb0\\xe1\\x19\\xd8\\xf0\\x0c\\x6c\\x78\\x06\\x36\\x3c\\x03\\x1b\\x9e\\x81\\x0d\\xcf\\xc0\\x86\\x67\\x60\\xc3\\x33\\xb0\\xe1\\x19\\xd8\\xf0\\x0c\\x6c\\x78\\x06\\x36\\x3c\\x03\\x1b\\x9e\\x81\\x0d\\x4f\\xc0\\x86\\x07\\x60\\xc3\\x03\\xb0\\xe1\\x01\\xd8\\xf0\\x00\\x6c\\x78\\x00\\x36\\x3c\\x00\\x1b\\x1e\\x80\\x0d\\x0f\\xc0\\x86\\x07\\x60\\xc3\\x03\\xb0\\xe1\\x01\\xd8\\xf0\\x00\\x6c\\x78\\x00\\x36\\x3c\\x00\\x1b\\x8c\\x6e\\x83\\xd1\\x6d\\x30\\xba\\x0d\\x46\\xb7\\xc1\\xe8\\x36\\x18\\xdd\\x06\\xa3\\xdb\\x60\\x74\\x1b\\x8c\\x6e\\x83\\xd1\\x6d\\x30\\xba\\x0d\\x46\\xb7\\xc1\\xe8\\x36\\x18\\xdd\\x06\\xa3\\xdb\\x60\\x74\\x1b\\x8c\\x6e\\x83\\xd1\\x6d\\x30\\xba\\x0d\\x46\\xb7\\xc1\\xe8\\x36\\x18\\xdd\\x06\\xa3\\xdb\\x60\\x74\\x1b\\x8c\\x6e\\x83\\xd1\\x6d\\x30\\xba\\xed\\x03\\xdf\\x07\\xbe\\x0f\\x7c\\x1f\\xf8\\x3e\\xf0\\x7d\\xe0\\xfb\\xbe\\x55\\x5e\\x17\\x5e\\x16\\x21\\xea\\x5b\\x64\\x49\\x4e\\x0f\\x72\\xf2\\x9a\\x33\\xd2\\xb6\\x64\\x4c\\xd2\\xaa\\xc4\\x45\\x1a\\x42\\x9a\\x85\\x34\\x1b\\x69\\x4e\\xdb\\x8a\\x68\\x74\\x49\\x78\\x51\\x74\\x59\\xeb\\xbb\\xf2\\x91\\x16\\x20\\x2d\\x44\\x5a\\x84\\xd4\\x43\\x1a\\xb7\\x85\\x03\\x3e\\x77\\xc0\\xe7\\x0e\\xf8\\xdc\\x01\\x9f\\x3b\\xe0\\x73\\x07\\x7c\\xee\\x80\\xcf\\x9d\\x4c\\x68\\x91\\x99\\x83\\x34\\x17\\x29\\xf0\\xc1\\xe2\\x0e\\x58\\xdc\\x01\\x8b\\x3b\\x60\\x71\\x07\\x2c\\xee\\x80\\xc5\\x1d\\xb0\\xb8\\x63\\xdb\\x89\\xc4\\x91\\x8b\\x22\\x55\\xd1\\xe5\\x87\\x3a\\x05\\x2a\\x77\\x40\\xe5\\x0e\\xa8\\xdc\\x01\\x95\\x3b\\xa0\\x72\\x07\\x54\\xee\\x80\\xca\\x1d\\x50\\xb9\\x03\\x2a\\x77\\x40\\xe5\\x0e\\xa8\\xdc\\x01\\x95\\x3b\\xa0\\x72\\x07\\x54\\xee\\x80\\xca\\x1d\\x50\\xb9\\x03\\x2a\\x77\\x40\\xe5\\x8e\\x03\\x7c\\x07\\xf8\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x72\\x07\\x44\\xee\\x80\\xc8\\x1d\\x10\\xb9\\x03\\x22\\x77\\x40\\xe4\\x0e\\x88\\xdc\\x01\\x91\\x3b\\x20\\x6a\\x07\\x44\\xed\\x80\\x88\\x1d\\x10\\xb1\\x03\\x22\\x76\\x40\\xc4\\x4e\\xb6\\xa7\\x35\\x44\\x6b\\xa2\\xf5\\x6d\\x4b\\x2b\\x23\\x75\\x91\\xfa\\xca\\x7a\\xf9\\x2a\\x21\\xbf\\xaa\\xb6\\x22\\x2c\\xb3\\x56\\xb8\\x26\\xda\\x10\\xa9\\x8a\\x54\\x86\\x13\\xbd\\xda\\xfa\\x4a\\x8a\\xde\\x65\\xb1\\xe9\\x35\\xe0\\xfa\\x84\\x28\\x72\\x89\\x53\\xab\\x2b\\x83\\xf7\\x1e\\xe2\\x2f\\x66\\xb5\\xaa\\x9c\\x30\\xb5\\x3a\\x52\\x1e\\xaf\\x94\\x5a\\x49\\xd5\\x0f\\xc3\\xd2\\x24\\x96\\x5a\\x10\\x69\\x08\\x6b\\xe3\\xc2\\xe4\\x49\\x1b\\xc0\\x51\\xe7\\x52\\x91\\x20\\x1c\\x6d\\x66\\x05\\xe5\\xd4\\x00\\x48\\x9b\\x18\\xae\\xad\\x0d\\xeb\\x93\\xc2\\xd5\\x8b\\x4a\\xc3\\xca\\xe4\\x46\\x65\\x4a\\xa3\\x72\\x42\\xa5\\x01\\x64\\x65\\x5a\\xa5\\x98\\x5e\\x11\\xd5\\x66\\x54\\x96\\x57\\x87\\xc5\\xcc\\x70\\xa3\\x01\\x2d\\xc4\\xb4\\x8a\\x4a\\x51\\x48\\x7f\\xd3\\xea\\x2b\\x13\\x27\\xb4\\xd2\\x20\\x19\\x15\\x9a\\x5f\\x27\\x84\\x5b\\x3a\\x9e\\x18\\x69\\xdd\\xdd\\x48\\x73\\x77\\x2b\\x9b\\xbb\\x9b\\xd6\\x78\\xf8\\xad\\xf1\\xce\\xc8\\xfb\\xd5\\x45\\x41\\x67\\xca\\x83\\xce\\x68\\xa5\\x91\\xaa\\x86\\xb0\\x81\\xb6\\xd4\\x93\\x83\\x2e\\x05\\x17\\x1b\\x64\\x97\\x82\\xc6\\xb4\\x25\\xb2\\x4b\\x55\\xf1\\x2e\\xd5\\x34\\x2a\\x2b\\x2a\\x8d\\x68\\xbc\\x3f\\xa2\\xae\\x22\\xaa\\xd7\\x07\\x9d\\xc9\\xd4\\x64\\x22\\x1a\\xa8\\x4f\\xc0\\x15\\xb5\\xd4\\x9f\\x12\\xfa\\xa3\\x97\\x5a\\x34\\x30\\x70\\x62\\x6b\\xdb\\x26\\x1f\\xa1\\x5e\\x62\\xb4\\xf5\\xe8\\x34\\xb6\\x1e\\x9d\\x68\\xcb\\xe8\\xc4\\xe7\\x04\\x48\\xd2\\x01\\x49\\x3a\\x20\\x49\\x07\\x24\\xe9\\x80\\x24\\x1d\\x90\\xa4\\x03\\x92\\x74\\x40\\x92\\x0e\\xc2\\x64\\x07\\x61\\xb2\\x83\\x30\\xd9\\x41\\x98\\xec\\x20\\x4c\\x76\\x10\\x26\\x3b\\x20\\x55\\x07\\xa4\\xea\\x80\\x54\\x1d\\x90\\xaa\\x03\\x52\\x75\\x40\\xaa\\x0e\\x48\\xd5\\x01\\xa9\\x3a\\x20\\x55\\x07\\xa4\\xea\\x80\\x54\\x1d\\x90\\xaa\\x03\\x52\\x75\\x40\\xaa\\x0e\\x48\\xd5\\x01\\xa9\\x3a\\x20\\x55\\x07\\xa4\\xea\\x80\\x54\\x1d\\x90\\xaa\\x03\\x52\\x75\\x40\\xaa\\x0e\\x48\\xd5\\x01\\xa9\\x3a\\x20\\x55\\x07\\xa4\\xea\\x80\\x54\\x1d\\x90\\xaa\\x03\\x52\\x75\\x40\\xaa\\x0e\\x48\\xd5\\x01\\xa9\\x3a\\x20\\x55\\xc7\\x8f\\xe3\\xbb\\x08\\x8c\\x5d\\x04\\xc6\\x2e\\x02\\x63\\x17\\x81\\xb1\\x0b\\x3a\\x75\\x41\\xa7\\x2e\\xe8\\xd4\\x05\\x9d\\xba\\x08\\x8c\\x5d\\x04\\xc6\\x2e\\x88\\xd4\\x05\\x91\\xba\\x20\\x52\\x17\\x44\\xea\\x82\\x48\\x5d\\x10\\xa9\\x0b\\x22\\x75\\x41\\xa4\\x2e\\x88\\xd4\\x05\\x91\\xba\\x20\\x52\\x17\\x44\\xea\\x82\\x48\\x5d\\x10\\xa9\\x0b\\x22\\x75\\x41\\xa4\\x2e\\x88\\xd4\\x05\\x91\\xba\\x20\\x52\\x17\\x44\\xea\\x82\\x48\\x5d\\x10\\xa9\\x0b\\x22\\x75\\x41\\xa4\\x2e\\xc2\\x61\\x17\\xe1\\xb0\\x0b\\x0e\\x75\\xc1\\xa1\\x2e\\x38\\xd4\\x05\\x87\\xba\\xe0\\x50\\x17\\x1c\\xea\\x82\\x43\\x5d\\x70\\xa8\\x0b\\x0e\\x75\\xc1\\xa1\\x2e\\x38\\xd4\\x05\\x87\\xba\\xe0\\x50\\x17\\x1c\\xea\\x82\\x43\\x5d\\x70\\xa8\\x0b\\x0e\\x75\\xc1\\xa1\\x2e\\x38\\xd4\\x05\\x87\\xba\\xe0\\x50\\x17\\x1c\\xea\\x82\\x43\\x5d\\x70\\xa8\\x0b\\x0e\\x75\\xc1\\xa1\\x2e\\x38\\xd4\\x05\\x87\\xba\\xe0\\x50\\x17\\x1c\\xea\\x82\\x43\\x5d\\x70\\xa8\\x0b\\x0e\\x75\\xc1\\xa1\\x2e\\x38\\xd4\\x05\\x87\\xba\\xe0\\x50\\x17\\x1c\\xea\\x82\\x43\\x5d\\x70\\xa8\\x0b\\x0e\\x75\\xc1\\xa1\\x2e\\x38\\xd4\\x05\\x87\\xba\\xe0\\x50\\x17\\x1c\\xea\\x82\\x43\\x5d\\x70\\xa8\\x0b\\x0e\\x75\\xc1\\xa1\\x2e\\x38\\xd4\\x05\\x87\\xba\\xe0\\x50\\x17\\x1c\\xea\\x82\\x43\\x5d\\x70\\xa8\\x0b\\x0e\\x75\\xc1\\xa1\\x2e\\x38\\xd4\\x05\\x87\\xba\\xe0\\x50\\x17\\x1c\\xea\\x82\\x43\\x5d\\x70\\xa8\\x0b\\x0e\\x75\\xc1\\xa1\\x2e\\x38\\xd4\\x05\\x87\\xba\\xe0\\x50\\x17\\x1c\\xea\\x82\\x43\\x5d\\x70\\xa8\\x0b\\x0e\\x75\\xc1\\xa1\\x2e\\x38\\xd4\\x05\\x87\\xba\\x08\\x86\\x5d\\x04\\xc3\\x2e\\x82\\x61\\x17\\xc1\\xb0\\x0b\\x8e\\x75\\xc1\\xb1\\x2e\\x82\\x61\\x17\\xc1\\xb0\\x8b\\x60\\xd8\\x45\\x30\\xec\\x82\\x83\\x5d\\x70\\xb0\\x0b\\x0e\\x76\\xc1\\xc1\\x2e\\x82\\x61\\x17\\xc1\\xb0\\x8b\\x60\\xd8\\x45\\x30\\xec\\x22\\x18\\x76\\x11\\x0c\\xbb\\x08\\x86\\x5d\\x04\\xc3\\x2e\\x82\\x61\\x17\\xc1\\xb0\\x8b\\x60\\xd8\\x45\\x30\\xec\\x22\\x18\\x76\\x11\\x0c\\xbb\\x08\\x86\\x5d\\x04\\xc3\\x2e\\x82\\x61\\x17\\xc1\\xb0\\x8b\\x60\\xd8\\x45\\x30\\xec\\x22\\x18\\x76\\x11\\x0c\\xbb\\x08\\x86\\x5d\\x04\\xc3\\x2e\\x82\\x61\\x17\\xc1\\xb0\\x8b\\x60\\xd8\\x45\\x30\\xec\\x22\\x18\\x76\\x11\\x0c\\xbb\\x08\\x86\\x5d\\x04\\xc3\\x2e\\x82\\x61\\x17\\xc1\\xb0\\x8b\\x60\\xd8\\x45\\x30\\xec\\x22\\x18\\x76\\x11\\x0c\\xbb\\x08\\x86\\x5d\\x04\\xc3\\x2e\\x82\\x61\\x17\\xc1\\xb0\\x8b\\x60\\xd8\\x45\\x30\\xec\\x22\\x18\\x76\\x11\\x0c\\xbb\\x08\\x86\\x5d\\x04\\xc3\\x2e\\x82\\x61\\x17\\xc1\\xb0\\x8b\\x60\\xd8\\x45\\x30\\xec\\x22\\x18\\x76\\x11\\x0c\\xbb\\x08\\x86\\x5d\\x04\\xc3\\x2e\\x82\\x61\\x17\\xc1\\xb0\\x8b\\x60\\xd8\\x45\\x30\\xec\\x22\\x18\\x76\\x11\\x0c\\xbb\\x08\\x86\\x5d\\x04\\xc3\\x2e\\x82\\x61\\x17\\xc1\\xb0\\x8b\\x60\\xd8\\x45\\x30\\xec\\x22\\x18\\x76\\x11\\x0c\\xbb\\x08\\x86\\x5d\\x04\\xc3\\x2e\\xde\\x26\\x77\\xf1\\x36\\xb9\\x8b\\xe0\\xd8\\xc5\\xdb\\xe4\\x2e\\x82\\x64\\x17\\x41\\xb2\\x8b\\x20\\xd9\\x45\\x90\\xec\\x22\\x48\\x76\\x11\\x24\\xbb\\xe0\\x7f\\x17\\xfc\\xef\\x82\\xff\\x5d\\xf0\\xbf\\x0b\\xfe\\x77\\xc1\\xff\\x2e\\xf8\\xdf\\x05\\xff\\xbb\\x45\\x39\\x56\\xb8\\xac\\xb2\\x32\\x73\\x64\\x4e\\xf3\\xce\\x04\\x0f\\xc0\\x85\\x07\\xe0\\xc2\\x03\\x70\\xe1\\x01\\xb8\\xf0\\x00\\x5c\\x78\\x00\\x2e\\x3c\\x00\\x17\\x1e\\x80\\x0b\\x0f\\xc0\\x85\\x07\\xe0\\xc2\\x03\\x70\\xe1\\x01\\xb8\\xf0\\x00\\x5c\\x78\\x00\\x2e\\x3c\\x00\\x17\\x1e\\x80\\x0b\\x0f\\xc0\\x85\\x07\\xe0\\xc2\\x03\\x70\\xe1\\x01\\xb8\\xf0\\x00\\x5c\\x78\\x00\\x2e\\x3c\\x00\\x17\\x1e\\x80\\x0b\\x0f\\xc0\\x85\\x07\\xe0\\xc2\\x03\\x70\\xe1\\x01\\xb8\\xf0\\x00\\x5c\\x78\\x00\\x2e\\x3c\\x00\\x17\\x1e\\x80\\x0b\\x0f\\xc0\\x85\\x07\\xe0\\xc2\\x03\\x70\\xe1\\x01\\xb8\\xf0\\x00\\x5c\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x78\\x00\\x21\\x30\\x7a\\x08\\x8c\\x1e\\x02\\xa3\\x87\\xc0\\xe8\\x21\\xec\\x1c\\x21\\xec\\x1c\\x21\\xec\\x1c\\x21\\xec\\x1c\\x21\\xec\\x1c\\x21\\xec\\x1c\\x21\\xec\\x1c\\x21\\xec\\x1c\\x21\\xec\\x1c\\x21\\xec\\x1c\\x21\\xec\\x1c\\x21\\xec\\x1c\\xa1\\xdc\\x66\\x1c\\xe8\\x8d\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x84\\x9d\\x23\\x94\\xef\\x6b\\xf5\\x15\\x91\\x65\\xe1\\x04\\x8a\\x1d\\xc2\\x65\\xf5\\x91\\xf2\\x68\\x55\\x3c\\x5b\\x4b\\xa2\\xa2\\x8d\\xcc\\x2e\\x0d\\x57\\x87\\x1b\\xea\\xb5\\x8a\\xca\\xba\\xca\\xa5\\x5a\\x43\\x3d\\x79\\xe5\\x9a\\xac\\xa8\\xc9\\x3a\\x7a\\xf3\\xe5\\x28\\x05\\x02\\xf1\\x46\\x0b\\xf2\\xf5\\xa5\\x8d\\x8b\\x1a\\x1b\\xea\\xf5\\xd2\\x70\\x79\\xa4\\xbe\\x42\\xab\\x8e\\x34\\x44\\xca\\xb5\\xea\\xf0\\xd2\\x70\\x99\\x5a\\x17\\x2e\\x8b\\xd0\\x9d\\xf5\\x91\\xa5\\x46\\xf0\\xac\\x61\\xf0\\x11\\x79\\xbd\\x4c\\xcc\\xfa\\x28\\xa1\\xd6\\x37\\x2e\\xb5\\x1a\\x6b\\x6b\\x23\\x75\\x0b\\x82\\xa2\\xaa\\xe8\\xf2\\x48\\x5d\\xf0\\x9d\\x09\\xd9\\x6e\\x61\\x56\\x9b\\x38\\xd8\\x52\\x02\\xae\\x51\\xc3\\x55\\x91\\x32\\x41\\x01\\x8b\\x56\\x5e\\x59\\x1d\\xa9\\xd2\\x4a\\xe9\\x75\\x83\\x52\\x11\\x11\\xcb\\xc2\\xcb\\xb4\\x93\\xc3\\x2b\\x2b\\x6b\\x04\\x85\\x2a\\xa2\\x81\\xfe\\x56\\x46\\x4b\\xcd\\xb2\\xca\\x9a\\x70\\xd5\\x92\\x70\\x99\\xa0\\x3f\\x8d\\x54\\x8d\\xa0\\xa8\\x3a\\x52\\x2d\\xe8\\x2f\\xfe\\xa2\\xa6\\xb1\\x46\\xd0\\x9f\\x5e\\x4f\\xd7\\x97\\x54\\xa8\\x41\\x23\\x86\\xbc\\x50\\x1b\\x51\\x6a\\x23\\x09\\x32\\xdb\\x50\\x4f\\xa1\\x8a\\x26\\xa5\\x58\\x1a\\xa5\\x0e\\x51\\x0f\\xd5\\xa0\\x2b\\x14\\xe3\\x2c\\xd3\\x09\\x7c\\x59\\x3c\\x21\\x50\\x9d\\xfe\\x82\\xa4\\x3c\\x88\\x64\\x2a\\x2c\\x4a\\xea\\x2b\\xa8\\x4d\\x69\\xa6\\xcc\\xa2\\xf8\\x5a\\xa1\\x34\\x13\\xa9\\x8d\\xd4\\x41\\xea\\x22\\x0d\\x21\\xcd\\x42\\x9a\\x8d\\x34\\x07\\x69\\x2e\\xd2\\x7c\\xa4\\x05\\x48\\x0b\\x91\\x16\\x21\\xf5\\x90\\xfa\\xf1\\x34\\x13\\xf8\\x99\\xc0\\xcf\\x04\\x7e\\x26\\xf0\\x33\\x81\\x9f\\x09\\xfc\\x4c\\xe0\\x67\\x02\\x3f\\x13\\xf8\\x99\\xc0\\xcf\\x04\\x7e\\x26\\xf0\\x33\\x81\\x9f\\x09\\xfc\\x4c\\xe0\\x67\\x02\\xdf\\x06\\xbe\\x0d\\x7c\\x1b\\xf8\\x36\\xf0\\x6d\\xe0\\xdb\\xc0\\xb7\\x81\\x6f\\x03\\xdf\\x06\\xbe\\x0d\\x7c\\x1b\\xf8\\x36\\xf0\\x6d\\xe0\\xdb\\xc0\\xb7\\x81\\x6f\\x03\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x0e\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x80\\xef\\x00\\xdf\\x01\\xbe\\x03\\x7c\\x07\\xf8\\x0e\\xf0\\x1d\\xe0\\x3b\\xc0\\x77\\x80\\xef\\x00\\xdf\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x02\\xdf\\x05\\xbe\\x0b\\x7c\\x17\\xf8\\x2e\\xf0\\x5d\\xe0\\xbb\\xc0\\x77\\x81\\xef\\x02\\x3f\\x04\\xfc\\x10\\xf0\\x43\\xc0\\x0f\\x01\\x3f\\x04\\xfc\\x10\\xf0\\x43\\xc0\\x0f\\x01\\x3f\\x04\\xfc\\x10\\xf0\\x43\\xc0\\x0f\\x01\\x3f\\x04\\xfc\\x10\\xf0\\x43\\xc0\\x0f\\x01\\x3f\\x0b\\xf8\\x59\\xc0\\xcf\\x02\\x7e\\x16\\xf0\\xb3\\x80\\x9f\\x05\\xfc\\x2c\\xe0\\x67\\x01\\x3f\\x0b\\xf8\\x59\\xc0\\xcf\\x02\\x7e\\x16\\xf0\\xb3\\x80\\x9f\\x05\\xfc\\x2c\\xe0\\x67\\x01\\x3f\\x1b\\xf8\\xd9\\xc0\\xcf\\x06\\x7e\\x36\\xf0\\xb3\\x81\\x9f\\x0d\\xfc\\x6c\\xe0\\x67\\x03\\x3f\\x1b\\xf8\\xd9\\xc0\\xcf\\x06\\x7e\\x36\\xf0\\xb3\\x81\\x9f\\x0d\\xfc\\x6c\\xe0\\x67\\x03\\x3f\\x07\\xf8\\x39\\xc0\\xcf\\x01\\x7e\\x0e\\xf0\\x73\\x80\\x9f\\x03\\xfc\\x1c\\xe0\\xe7\\x00\\x3f\\x07\\xf8\\x39\\xc0\\xcf\\x01\\x7e\\x0e\\xf0\\x73\\x80\\x9f\\x03\\xfc\\x1c\\xe0\\xe7\\x00\\x3f\\x17\\xf8\\xb9\\xc0\\xcf\\x05\\x7e\\x2e\\xf0\\x73\\x81\\x9f\\x0b\\xfc\\x5c\\xe0\\xe7\\x02\\x3f\\x17\\xf8\\xb9\\xc0\\xcf\\x05\\x7e\\x2e\\xf0\\x73\\x81\\x9f\\x0b\\xfc\\x5c\\xe0\\xe7\\x02\\x3f\\x1f\\xf8\\xf9\\xc0\\xcf\\x07\\x7e\\x3e\\xf0\\xf3\\x81\\x9f\\x0f\\xfc\\x7c\\xe0\\xe7\\x03\\x3f\\x1f\\xf8\\xf9\\xc0\\xcf\\x07\\x7e\\x3e\\xf0\\xf3\\x81\\x9f\\x0f\\xfc\\x7c\\xe0\\xe7\\x03\\xbf\\x00\\xf8\\x05\\xc0\\x2f\\x00\\x7e\\x01\\xf0\\x0b\\x80\\x5f\\x00\\xfc\\x02\\xe0\\x17\\x00\\xbf\\x00\\xf8\\x05\\xc0\\x2f\\x00\\x7e\\x01\\xf0\\x0b\\x80\\x5f\\x00\\xfc\\x02\\xe0\\x17\\x00\\xbf\\x10\\xf8\\x85\\xc0\\x2f\\x04\\x7e\\x21\\xf0\\x0b\\x81\\x5f\\x08\\xfc\\x42\\xe0\\x17\\x02\\xbf\\x10\\xf8\\x85\\xc0\\x2f\\x04\\xbe\\x0f\\x9c\\xb8\\x4f\\x96\\xe9\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x2f\\xdb\\xd7\\xe7\\xc8\\xcf\\x3a\\xf5\\xe5\\xf1\\x64\\x4e\\xfc\\x4b\\x8e\\xcb\\x65\\x62\\xcd\\x69\\x7e\\x83\\xdd\\x5a\\xde\\x9c\\x8b\\xdf\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\x81\\x67\\x3c\\xf0\\x8c\\x07\\x9e\\xf1\\xc0\\x33\\x1e\\x78\\xc6\\x03\\xcf\\x78\\xe0\\x19\\x0f\\x3c\\xe3\\xe5\\x7a\\x56\\x7e\\xf3\\xe7\\x95\\x56\\xb8\\x39\\x97\\x90\\xdf\\xf2\\xc9\\x6c\\x42\\xb8\\x25\\x9b\\x92\\x7f\\xe8\\x4b\\x9f\\xd2\\x0c\\x29\\xe1\\x23\\x0b\\x5a\\xd5\\x90\\x66\\x6b\\x5d\\x43\\x16\\xa4\\xb5\\xaa\\xd1\\xd2\\x70\\x5a\\xf8\\x28\\x85\\xad\\xdb\\x92\\x9f\\x2c\\xb7\\x6e\\x4b\\x16\\xb4\\x6f\\x55\\xa3\\x59\\xf3\\xf6\\xe1\\x3f\\x96\\xb5\\x89\\x7f\\x49\\x3c\\xfe\\x85\\xb4\\x70\\xab\\x7c\\xbc\\x5c\\xea\\x85\\x72\\x99\\x4f\\x8e\\x97\\xb7\\x68\\x92\\x1c\\x3e\\xfc\\x35\\xee\\x93\\x3a\\xe0\\x3e\\x99\\x4f\\x8a\\x97\\x37\\xc3\\x26\\x85\\x0f\\x7b\\x69\\x79\\x2d\\xb9\\x96\\xb2\\x04\\xef\\x90\\x9d\\x0f\\xb5\\xaf\\x7b\\xf1\\x2f\\xf9\\xc6\\x5b\\x4d\\xf1\\x8e\\x34\\x72\\xe4\\xc8\\x02\\xef\\x48\\xab\\x47\\x8e\\xb4\\xba\\x77\\x34\\xab\\x47\\x8e\\x66\\x75\\xef\\x48\\xab\\x47\\x8e\\xb4\\xba\\x77\\x14\\xab\\x47\\xfe\\x58\\x96\\x30\\xe1\\x50\\xdf\\x2a\\x5b\\xb2\\xd6\\x84\\x16\\x2b\\x54\\xb6\\xe4\\xa6\\xb6\\xe4\\xa2\\x2d\\x77\\x4f\\x3d\\x74\\x77\\xf4\\x90\\x76\\x53\\x8f\\xec\\x7a\\xf4\\xc8\\x82\\xa9\\x47\\xda\\x22\\x7a\\xa4\\x2d\\xa6\\x1e\\xcd\\x16\\xd1\\xa3\\xd9\\x62\\xea\\x91\\xb6\\x88\\x1e\\x69\\x8b\\xa9\\x47\\xb1\\x45\\xf4\\x28\\xb6\\x90\\x5f\\x00\\x8e\\x7f\\x71\\x32\\x7a\\x28\\x2b\\x4b\\xa5\\x52\\xf1\\x52\\x99\\x4d\\x92\\xa5\\x2d\\x4a\\x24\\x45\\x0f\\x7b\\x19\\xbf\\x47\\x82\\xc7\\xef\\x91\\xd9\\xb6\\xb2\\xb4\\x19\\xad\\x6d\\xb4\\xf5\\x2b\\x6b\\x56\\x4b\\xae\\xb1\\x45\\x9f\\x59\\x87\\x1a\\x6c\\x3c\\x94\\x9d\\x75\\x48\\xb5\\xc6\\x43\\xd9\\x59\\x87\\xb4\\x6c\\x3c\\xa4\\xe5\\xac\\xc3\\xb5\\x6c\\x3c\\x5c\\xcb\\x59\\x87\\xb4\\x6c\\x3c\\xa4\\xe5\\xac\\xc3\\xb4\\x6c\\x6c\\xfd\\x4a\\x2f\\x8e\\x6f\\xb3\\x2b\\x65\\x62\\x15\\xb7\\xe8\\xbc\\xb2\\x45\\xe7\\xe2\\x43\\xcd\\xaf\\x3c\\xb4\\x56\\x8a\\xe3\\x6b\\x65\\x65\\xfc\\x0b\\xf1\\xc1\\x9e\\xe6\\xc3\\x67\\xf3\\xe1\\xb3\\xf9\\xf0\\xd9\\x7c\\xf8\\x6c\\x3e\\x7c\\x36\\x1f\\x3e\\x9b\\x0f\\x9f\\xcd\\x87\\xcf\\xe6\\xc3\\x67\\xf3\\xe1\\xb3\\xf9\\xf0\\xd9\\x7c\\xf8\\x6c\\x3e\\x7c\\x36\\x1f\\x3e\\x9b\\x0f\\x9f\\xcd\\x87\\xcf\\xe6\\xc3\\x67\\xf3\\xe1\\xb3\\xf9\\xf0\\xd9\\x7c\\xf8\\x6c\\x3e\\x7c\\x36\\x1f\\x3e\\x9b\\x0f\\x1f\\xcd\\x87\\x8f\\xe6\\xc3\\x47\\xf3\\xe1\\xa3\\xf9\\xf0\\xd1\\x7c\\xf8\\x68\\x3e\\x7c\\x32\\x1f\\x3e\\x99\\x0f\\x9f\\xcc\\x87\\x4f\\xe6\\xc3\\x27\\xf3\\xe1\\x93\\xf9\\xf0\\xc9\\x7c\\xf8\\x64\\x3e\\x7c\\x32\\x1f\\x3e\\x99\\x0f\\x9f\\xcc\\x87\\x4f\\xe6\\xc3\\x27\\xf3\\xed\\x66\\x3c\\xf4\\x0f\\x3e\\x99\\x0f\\x9f\\xcc\\x87\\x4f\\xe6\\xc3\\x27\\xf3\\xe1\\x93\\xf9\\xf0\\xc9\\x7c\\xf8\\x64\\x3e\\x7c\\x32\\x1f\\x3e\\x99\\x0f\\x9f\\xcc\\x87\\x4f\\xe6\\xc3\\x27\\xf3\\xe1\\x93\\xf9\\xf0\\xc9\\x7c\\xf8\\x64\\x3e\\x7c\\x32\\x1f\\x3e\\x99\\x0f\\x9f\\xcc\\x87\\x4f\\xe6\\xc3\\x27\\xf3\\xe1\\x93\\xf9\\xf0\\xc9\\x7c\\xf8\\x64\\x3e\\x7c\\x30\\x1f\\x3e\\x98\\x0f\\x1f\\xcc\\x87\\x0f\\xe6\\xc3\\x07\\xf3\\xe1\\x83\\xf9\\xf0\\xb9\\x7c\\xf8\\x5c\\x3e\\x7c\\x2e\\x1f\\x3e\\x97\\x0f\\x9f\\xcb\\x87\\xcf\\xe5\\xc3\\xe7\\xf2\\xe1\\x73\\xf9\\xf0\\xb5\\x7c\\xf8\\x58\\x7e\\xa8\\xb9\\x5d\\xe8\\x0f\\x9f\\xca\\x87\\x4f\\xe5\\xc3\\xa7\\xf2\\xe1\\x53\\xf9\\xf0\\xa9\\x7c\\xf8\\x54\\x3e\\x7c\\x2a\\x1f\\x3e\\x95\\x0f\\x9f\\xca\\x87\\x4f\\xe5\\xc3\\xa7\\xf2\\xe1\\x53\\xf9\\xf0\\xa9\\x7c\\xf8\\x54\\x3e\\x7c\\x2a\\x1f\\x3e\\x95\\x0f\\x9f\\xca\\x87\\x4f\\xe5\\xc3\\xa7\\xf2\\xe1\\x53\\xf9\\xf0\\xa9\\x7c\\xf8\\x54\\x3e\\x7c\\x2a\\x1f\\x3e\\x95\\x0f\\x9f\\xca\\x87\\x4f\\xe5\\xc3\\xa7\\xf2\\xe1\\x53\\xf9\\xf0\\xa9\\x7c\\xf8\\x54\\x3e\\x62\\x75\\x1f\\xb1\\xba\\x8f\\x58\\xdd\\x47\\xac\\xee\\x23\\x56\\xf7\\x11\\xab\\xfb\\xf0\\xa1\\x7c\\xf8\\x50\\x3e\\x7c\\x28\\x1f\\x3e\\x94\\x0f\\x1f\\xca\\x87\\x0f\\xe5\\xc3\\x87\\xf2\\x73\\x9a\\xf1\\xd0\\x5f\\xf8\\x50\\x3e\\x7c\\x28\\x1f\\x3e\\x94\\x0f\\x1f\\xca\\x87\\x0f\\xe5\\xc3\\x87\\xf2\\xe1\\x43\\xf9\\xf0\\xa1\\x7c\\xf8\\x50\\x3e\\x7c\\x28\\x1f\\x3e\\x94\\x0f\\x1f\\xca\\x87\\x0f\\xe5\\x23\\x56\\xf7\\x11\\xab\\xfb\\x88\\xd5\\x7d\\xc4\\xea\\x3e\\x62\\x75\\x1f\\xb1\\xba\\x8f\\x58\\xdd\\x47\\xac\\xee\\x23\\x56\\xf7\\x11\\xab\\xfb\\x88\\xd5\\x7d\\xc4\\xea\\x3e\\x62\\x75\\x1f\\xb1\\xba\\x8f\\x58\\xdd\\x47\\xac\\xee\\x23\\x56\\xf7\\x11\\xab\\xfb\\x88\\xd5\\x7d\\xc4\\xea\\x3e\\x62\\x75\\x1f\\xb1\\xba\\x8f\\x58\\xdd\\x47\\xac\\xee\\x23\\x56\\xf7\\x11\\xa3\\xfb\\x88\\xd1\\x7d\\xc4\\xe8\\x3e\\x62\\x74\\x1f\\x31\\xba\\x8f\\x18\\xdd\\x47\\x8c\\xee\\x23\\x46\\xf7\\x11\\xa3\\xfb\\x88\\xd1\\x7d\\xc4\\xe8\\x3e\\x62\\x74\\x1f\\x31\\xba\\x8f\\x18\\xdd\\x47\\x8c\\xee\\x23\\x36\\xf7\\x11\\x9b\\xfb\\x88\\xcd\\x7d\\xc4\\xe6\\x3e\\x62\\x73\\xbf\\x10\\xb8\\x85\\xc0\\x2d\\x04\\x6e\\x21\\x70\\x0b\\x81\\x5b\\x04\\xdc\\x22\\xe0\\x16\\x01\\xb7\\x08\\xb8\\x45\\xc0\\x2b\\x02\\x5e\\x11\\xf0\\x8a\\x80\\x57\\x04\\xbc\\x22\\xe0\\x15\\x01\\xa7\\x08\\x38\\x45\\xc0\\xf1\\x80\\xe3\\x01\\xc7\\x03\\x8e\\x07\\x1c\\x0f\\xfd\\xf3\\x30\\xae\\x1e\\x70\\x3d\\xe0\\x7a\\xc0\\xf5\\x80\\xeb\\x01\\xd7\\x03\\xae\\x87\\x7e\\x7a\\xc0\\xf7\\x80\\xef\\x01\\xdf\\x07\\x9e\\x0f\\x3c\\x1f\\x78\\x3e\\x70\\x7c\\xe0\\xf8\\xc0\\xf1\\x81\\xe3\\x03\\xc7\\x07\\x8e\\x0f\\x1c\\x1f\\x38\\xf1\\xf7\\x40\\xec\\x91\\x71\\x1e\\xa5\\x34\\x13\\xa9\\x8d\\xd4\\x41\\xea\\x22\\x0d\\x21\\xcd\\x42\\x9a\\x8d\\x34\\x07\\x69\\x2e\\xd2\\x7c\\xa4\\x05\\x48\\x0b\\x91\\x16\\x21\\x6d\\xc6\\xf5\\xe3\\x69\\x26\\xf0\\x32\\xd1\\x7e\\x66\\x56\\x5b\\x79\\xca\\x9d\\x7c\\x28\\xb4\\x74\\x51\\x55\\xdb\\xa5\\x8d\\xd1\\xe0\\x4c\\xd5\\xe0\\x39\\xd1\\x48\\x29\\xea\\xe0\\x5e\\x1b\\x58\\x36\\xb0\\x6c\\x60\\xd9\\xc0\\xb2\\x81\\x65\\xfb\\x7a\\x75\\x65\\x8d\\x7c\\x54\\x2f\\x52\\x12\\xad\\x41\\x2b\\x8e\\x6b\\x45\\x56\\x94\\x54\\x85\\xab\\x09\\xc5\\xaa\\x0b\\x97\\x06\\x27\\x37\\x46\\x56\\xc4\\xaf\\x85\\x70\\x67\\x16\\x10\\xb2\\x80\\x90\\x05\\x84\\x2c\\x20\\x64\\x35\\xd7\\xf3\\x13\\xcb\\xa2\\x8d\\x75\\xf5\\x8d\\xb5\\x91\\xba\\xca\\x68\\x5d\\x62\\x59\\xe5\\xb2\\x48\\xf3\\x8b\\xb6\\xf5\\xa4\\x7c\\x4d\\xcb\\xab\\x48\\x70\\x24\\x71\\xf3\\x2b\\xab\\xa5\\x3c\\xde\\x4e\\x2e\\x46\\x23\\x17\\xa3\\x91\\x0b\\xeb\\xe4\\x62\\x34\\x72\\x31\\x1a\\xf9\\xa8\\x97\\x8f\\x7a\\xf9\\xb6\\x5a\\x55\\x59\\x17\\xc6\\x0b\\x98\\x32\\x3f\\x4b\\xaf\\x8d\\xd4\\x47\\x1a\\x9a\\x8b\\x31\\x52\\xf9\\xb9\\x7a\\x7d\\x45\\x64\\x69\\xa4\\x4a\\x2d\\x8d\\xd6\\x94\\xab\\xc1\\xf9\\x91\\xb8\\x80\\x4e\\xe5\\xa3\\x53\\xf9\\x30\\x73\\x01\\xc0\\x0a\\x00\\x56\\x00\\xa5\\x0a\\xa0\\x54\\x01\\x94\\x2a\\x00\\x6e\\xfc\\x23\\x56\\x3b\\x13\\x53\\x26\\x33\\xee\\x12\\x51\\x9a\\x85\\x34\\x5b\\x4c\\xad\\xa8\\xb6\\x22\\xf5\\x0d\\x95\\xd5\\xe1\\x06\\x0c\\x6a\\x66\\x9c\\x98\\x29\\xf5\\xcc\\x68\\x4d\\xa4\\xa1\\xa2\\xb2\\xae\\xd4\\x6a\\x58\\x1e\\x95\\x99\\x7a\\x8b\\x8a\\xa4\\xe1\\x2a\\x12\\x1b\\x2a\\xea\\x22\\xc8\\xd7\\xb7\\x09\\xec\\x8c\\x7c\\xa2\\x34\\x33\\x5e\\xc4\\x9b\\xca\\x71\\xad\\x70\\x5d\\x5d\\x74\\x79\\x55\\xa4\\xac\\xc1\\x90\\xb9\\xc6\\xda\\x04\\x99\\xca\\x73\\xa1\\xe3\\x17\\x4b\\xa3\\xcb\\x6b\\xe2\\xb9\\x45\\x04\\x66\\xa1\\x5a\\x69\\x4d\\x62\\x4b\\x6e\\x51\\xbd\\xf4\\x39\\x6d\\x3c\\xa6\\x64\\xdb\\x99\\xa1\\x84\\x68\\x5d\\x43\\x45\\xf0\\x24\\x65\\xb8\\x2a\\xb1\\xb2\\xa6\\x21\\x98\\x9b\\xf2\\xd4\\xde\\x36\\x91\\xa5\\x8d\\x95\\xcb\\x68\\x1e\\xd5\\x94\\x44\\xb4\\x8a\\x68\\x63\\x7d\\xa4\\x2d\\x4d\\xdd\\xaa\\x68\\x79\\x30\\xb9\\x6a\\xa2\\x0d\\x09\\x41\\x65\\xf2\\x7e\\xab\\x1a\\x6a\\x5b\\xb2\\x8b\\xe4\\x87\\x77\\x36\\x3e\\x19\\xb6\\xf1\\x89\\xb0\\x8d\\x4f\\x72\\x6d\\x7c\\x62\\x4b\\xa9\\x8b\\x34\\x07\\x29\\xae\\xdb\\x28\\xc7\\xec\\x0f\\x39\\x78\\xed\\xe0\\x75\\x08\\xf7\\xc7\\x3d\\x1d\\x4a\\xd1\\x7e\\xdc\\xd3\\xa1\\x14\\xf5\\xe3\\x9e\\x0e\\xa5\\x59\\x48\\xb3\\x91\\x02\\x2f\\xee\\xf1\\x50\\x9a\\x8f\\xb4\\x00\\x69\\x33\\x4e\\x11\\x52\\x0f\\x69\\x7c\\xfa\\x84\\xb2\\x80\\x9f\\x05\\xfc\\x2c\\xe0\\x67\\x01\\x3f\\x0b\\xf8\\x59\\xc0\\xcf\\x02\\x7e\\x16\\xf0\\xb3\\x80\\x9f\\x05\\x7c\\xac\\xc9\\x10\\xd6\\x64\\x28\\x58\\x93\\xb5\\x8b\\xaa\\xa2\\x25\\x4b\\x0c\\x1a\\xab\\x20\\xd5\\xe2\\xaf\\xaa\\xca\\xe2\\x69\\x5d\\x03\\x5e\\x37\\xd4\\x57\\x84\\x4b\\x23\\x9a\\x94\\x46\\xe9\\x12\\x99\\x5a\\x65\\x95\\x55\\x55\\xb4\\xd1\\x44\\xe3\\x2b\\x1f\\x9f\\x2f\\xdb\\xf8\\x7c\\x98\\xd2\\x82\\x84\\x78\\x8d\\xba\\xff\\x87\\xbd\\xef\\x01\\x8f\\xaa\\xc8\\xf6\\xac\\x7b\\xeb\\x76\\xd2\\xdd\\x09\\x9d\\x04\\x23\\x63\\x7c\\x08\\x88\\xf9\\xfc\\xdc\\xf9\\x78\\x6e\\x48\\x42\\xba\\xdb\\x61\\x58\\x24\\x31\\x8f\\x61\\x32\\x2e\\xcb\\x44\\x8c\\x4c\\x46\\xf9\\x97\\x98\\x60\\x08\\x08\\x81\\x41\\x24\\xc0\\xf2\\x1c\\xdf\\x3c\\x97\\x19\\x1c\\xc7\\x71\\xd9\\x2c\\xeb\\xb2\\x2e\\xab\\x91\\x61\\x79\\xbc\\xbc\\x6c\\x96\\xe7\\x63\\xfd\\x74\\x46\\x9d\\x38\\x06\\x66\\x1e\\x44\\x60\\x04\\x19\\x44\\x02\\x88\\xe1\\x8f\\x31\\xfc\\x91\\x65\\x72\\xf7\\x57\\xa7\\xaa\\xbb\\xab\\xab\\xbb\\x21\\xc8\\x30\\x3b\\xb3\\xdf\\x7e\\xf9\\xea\\xd4\\xa9\\x73\\x4f\\x9d\\x3a\\xf5\\xab\\x73\\xeb\\x56\\xdd\\x7b\\x3b\\x17\\x23\\x9c\\xde\\xb4\\xa8\\x7e\\xd6\\xa3\\x4b\\x16\\xca\\x7c\\x91\\x2a\\xcf\\x6d\\x94\\x79\\x43\\x6d\\x9a\\xd8\\x15\\x36\\xc8\\x68\\x19\\x57\\xaa\\x70\\x29\\x2d\\xf7\\xd5\\x37\\x2e\\x9d\\xbd\\x04\\x46\\x9a\\x04\\x27\\x75\\xfc\\x0b\\x16\\xd6\\x34\\x2a\\xe1\\xe2\\xf9\\xf5\\x08\\xd1\\x59\\x73\\x6a\\x10\\x4b\\x4b\\xa3\\x05\\xbe\\x78\\x49\\x63\\x5a\\x6d\\xcd\\x7c\\x44\\x93\\x23\\x88\\x67\\xf1\\x42\\xf8\\xeb\\xcc\\x69\\x58\\x32\\xdb\\x53\\x57\\x33\\x0b\\xad\\xcf\\xad\\x9f\\x35\\x1f\\xd3\\x59\\xc6\\xfc\\x25\\x8b\\x55\\x7c\\xd5\\x04\\x34\\x1e\\xf3\\x1a\\x79\\x50\\x22\\xd7\\x84\\x85\\xa5\\x6a\\x24\\x4a\\xd5\\x48\\x94\\xaa\\x91\\x28\\x55\\x23\\x51\\xaa\\x46\\xa2\\x54\\x8d\\x44\\xa9\\x1a\\x89\\x52\\x35\\x12\\xa5\\x6a\\x24\\x4a\\xd5\\x48\\x94\\xaa\\x91\\x28\\x55\\x23\\x51\\xaa\\x66\\xc7\\x52\\x35\\x3b\\x96\\x06\\x55\\x3b\\x41\\xd5\\x4e\\x50\\xb5\\x13\\x54\\xed\\x04\\x55\\x3b\\x41\\xd5\\x8e\\x5c\\x7b\\x16\\xaa\\xfb\\xda\\xf7\\x06\\xa3\\x79\\x48\\xe5\\x61\\x95\\xdf\\xab\\xf2\\x49\\x2a\\x2f\\x55\\x79\\x99\\xca\\xef\\x53\\x79\\xb9\\xcc\\xe5\\x5e\\x0a\\xf9\\x58\\x99\\x87\\x94\\xbd\\x90\\xb2\\x17\\x52\\xf6\\x42\\xca\\x9e\\x5c\\x6b\\x96\\xab\\x6b\\x1f\\x96\\x54\\x65\\x2a\\xbf\\x2f\\x53\\x3e\\xaf\\x7e\\x84\\x1e\\xec\\x67\\xe1\\x34\\xae\\xc1\\x06\\x5a\\xfc\\x73\\x60\\xf1\\x20\\xdc\\x2b\\x9e\\xb7\\x7f\\xaf\\x1e\\x31\\x45\\x4f\\xda\\x05\\x97\\x56\\x57\\x23\\xb2\\xf4\\xc7\\x66\\xc9\\x03\\xf4\\x58\\x5d\\x70\\x99\\x91\\x47\\xeb\\xa2\\xe0\\x15\\x0f\\xbf\\x49\\xaf\\x69\\xd6\\x52\\x3a\\x0a\\xcb\\x8f\\x2c\\x6c\\x58\\xb2\\x58\\xfc\\xcb\\xd9\\x0c\\xf1\\xe8\\x5c\\xbd\\x09\\xe0\\x27\\x9e\\xd8\\x1c\\x12\\xd1\\xeb\\x03\\xea\\x60\\xb6\\x26\\x21\\x81\\x4f\\x38\\x44\\xae\\xfa\\x05\\x27\\x5f\\x0d\\x20\\xe1\\xfc\\x59\\x0b\\xeb\\x1f\\xf7\\xcd\\xae\\x69\\x92\\xea\\x19\\xf4\\x82\\x80\\xe2\\xc9\\x79\\xc9\\x7b\\xeb\\x6a\\x24\\xe3\\x5b\\x3a\\x6b\\xa9\\x3a\\x4c\\x2f\\x0e\\x28\\x69\\x53\\x44\\xd1\\x07\\x50\\x24\\x17\\x88\\xbc\\x46\\xa0\\x0e\\x44\\xb9\\x0c\\xea\\xbb\\x92\\xa2\\xe3\\x8a\\x6b\\x5c\\xa2\\x8c\\x65\\xca\\x57\\x0a\\x64\\x61\\x88\\x7a\\xa7\\x40\\xb9\\x11\\x61\\x32\\xe8\\xa5\\x02\\x55\\xf3\\xf1\\x05\\xca\\xb2\\x5f\\xc0\\xa7\\xd8\\x18\\x04\\xbe\\xa6\\x88\\xcb\\x5e\\x38\\x2f\\x5f\\xbe\\x40\\x87\\xc5\\xdb\\x15\\x62\\x38\\x44\\x8e\\xcb\\xa3\\xc8\\x08\\x11\\xf2\\x8e\\x86\\x59\\x3d\\x0e\\x29\\x57\\x8f\\x43\\xca\\xd5\\xe3\\x90\\x72\\xf5\\x38\\xa4\\x1c\\x4b\\x29\\xa7\\x11\\x27\\x2e\\x5f\\x58\\x3f\\x76\\xc8\\x9c\\x27\\x16\\x61\\x76\\xa8\\x9f\\x43\\x77\\x01\\xb3\\xe9\\x87\\xfc\\xda\\x6f\\x46\\x73\\x34\\x7e\\x91\\x78\\xbb\\xbc\\xc6\\x4f\\xb7\\x3e\\xee\\xc6\\xf8\\x8e\\x8d\\xb1\\x85\\x31\\xb6\\xc8\\x4f\\xf7\\x63\\xa4\\x42\\x94\\x2d\\x8c\\xb1\\x45\\x81\\xe8\\x6d\\x11\\x52\\x8a\\x2f\\x16\\xc6\\x17\\x8b\\xfc\\x74\\xc7\\x44\\x5a\\x8b\\xb2\\x85\\x7e\\xf2\\x96\\xa4\\x59\\xb1\\xfb\\x58\\x54\\x1e\\x12\\xb9\\x13\\x63\\x78\\x50\\x1c\\x63\\xc7\\xc5\\xbc\\x2d\\x8e\\xb1\\xe3\\xe2\\x5b\\x2e\\x8e\\x2f\\x8e\\x8b\\xb5\\xae\\xf9\\x54\\x1c\\x63\\x35\\x85\\x92\\x18\\x1b\\x8c\\xb1\\xa1\\x38\\xcf\\x0a\\xe3\\x4a\\x45\\x71\\xa5\\xe2\\xb8\\xd2\\xb8\\xb8\\x92\\x66\\x3b\\x1c\\x77\\x20\\x18\\x57\\x8a\\x6f\\x2c\\x1c\\x88\\x03\\xa5\\x20\\xbe\\x38\\x36\\xbe\\x58\\x18\\x5f\\x2c\\x8a\\x2f\\x16\\xc7\\x17\\xc7\\x65\\xc4\\xc6\\xa7\\x40\\xe3\\xc7\\x6a\\x7c\\xa1\\xc6\\x53\\x47\\xc5\\x4f\\x73\\xeb\\xe5\\xe0\\x21\\x1c\\xc5\\x4f\\xac\\xc4\\xcf\\xb0\\xee\\x9e\\x33\\x6b\\xa1\\x56\\x1e\\x6b\\x94\\x4b\\x8d\\x72\\x81\\x56\\x0e\\x1a\\xf5\\x8b\\xe2\\xca\\x85\\xf7\\x8d\\x53\\xa9\\xc4\\x28\\x07\\x8d\\x72\\xc8\\x28\\x87\\xb5\\x72\\x89\\xc8\\x8d\\x72\\x89\\x51\\x0e\\x1a\\xe5\\x90\\x51\\x0e\\x67\\x68\\x65\\xed\\x58\\xd0\\xb0\\x1d\\x4c\\x72\\x3c\\x68\\x94\\x43\\x46\\x59\\xb7\\xad\\xeb\\x86\\x0c\\xdb\\x21\\xc3\\x76\\x28\\x89\\x7e\\xc8\\x28\\xeb\\xb6\\xf5\\x63\\x61\\xc3\\x76\\xd8\\xb0\\x1d\\x36\\x6c\\x87\\x93\\xd4\\xd7\\x6d\\x47\\xf0\\x2e\\x89\\x8c\\x81\\x51\\x2e\\x31\\xca\\x41\\xa3\\x1c\\x32\\xca\\x11\\xdb\\x25\\x86\\xad\\x64\\xe5\\xa0\\x51\\x0e\\x19\\x65\\xdd\\xb7\\xa0\\x51\\x3f\\x68\\xf8\\x16\\x34\\xec\\x05\\x0d\\x7b\\x41\\xc3\\x37\\x5d\\x37\\x64\\xd8\\x0e\\x19\\xb6\\x43\\x49\\xf4\\x43\\x46\\x59\\xb7\\xad\\x1f\\x0b\\x1b\\xb6\\xc3\\x86\\xed\\xb0\\x61\\x3b\\x9c\\xa4\\xbe\\x6e\\x3b\\x82\\x49\\xd0\\x18\\xaf\\xa0\\x31\\x5e\\x41\\x63\\xbc\\x82\\xc6\\x78\\x05\\x8d\\xf1\\x0a\\x1a\\xb6\\x4a\\x92\\x94\\x4b\\x8c\\x72\\xd0\\x28\\x87\\x8c\\xb2\\x6e\\x5b\\xaf\\x6b\\xb6\\x95\\xec\\x78\\xc8\\x28\\xeb\\xfd\\x0e\\x19\\xf5\\x43\\x46\\xfd\\x90\\xe1\\x5b\\xc8\\xb0\\x17\\x32\\x7c\\xd3\\x8f\\x85\\x0d\\xdb\\x61\\xc3\\x76\\xd8\\xb0\\x1d\\x4e\\x52\\x5f\\xb7\\x1d\\xf1\\x3b\\x64\\x8c\\x57\\xc8\\x18\\xaf\\x90\\x31\\x5e\\x21\\x63\\xbc\\x42\\xc6\\x78\\x85\\x0c\\x5b\\x25\\x49\\xca\\x25\\x46\\x39\\x68\\x94\\x43\\x46\\x59\\xb7\\xad\\xd7\\x0d\\x1a\\xb6\\x83\\x49\\x8e\\x07\\x8d\\x72\\xc8\\x28\\xeb\\xb6\\x75\\x5d\\xb3\\x1f\\x66\\xdb\\xc9\\xf4\\x75\\x4c\\xc3\\x46\\xfd\\xb0\\x51\\x3f\\x6c\\xd4\\x0f\\x1b\\xbe\\x85\\x0d\\xdf\\x22\\xb6\\xc3\\xc6\\x78\\x85\\x8d\\xf1\\x0a\\x1b\\xe3\\x15\\x36\\xc6\\x2b\\x6c\\x8c\\x57\\xd8\\xb0\\x55\\x92\\xa4\\x5c\\x62\\x94\\x83\\x46\\x39\\x64\\x94\\x75\\xdb\\x7a\\xdd\\xa0\\x61\\x3b\\x98\\xe4\\x78\\xd0\\x28\\x87\\x8c\\xb2\\x6e\\x5b\\xd7\\x0d\\x19\\xb6\\x43\\x86\\xed\\x50\\x12\\xfd\\x90\\x51\\xd6\\x6d\\xeb\\xc7\\x4c\\x8c\\xcc\\x7e\\x99\\xbe\\xc8\\xfa\\x91\\xd5\\xf4\\x23\\x0b\\x9a\\xc4\\x97\\x92\\x7c\\x72\\x9d\\x0a\\xa9\\x5a\\x99\\x14\\x1b\\x2b\\x97\\x62\\x63\\xa5\\x53\\x94\\xa4\\x1c\\xd2\\xca\\x63\\xc5\\x6a\\x47\\x2b\\x97\\x1a\\xe5\\xe2\\x88\\x7e\\xe6\\xec\\x59\\x8b\\xea\\x23\\xff\\x07\\xe5\\x26\\x3a\\x38\\x69\\xac\\x54\\x18\\x2b\\x8c\\x16\\x24\\x91\\x8d\\x35\\x64\\xc5\\x49\\xf4\\x8a\\x0d\\xbd\\x92\\x24\\xf6\\x4a\\x92\\xd8\\x2b\\x49\\x62\\xaf\\xc4\\xb0\\x17\\x4e\\xe2\\x5f\\x38\\x89\\x7f\\xe1\\x24\\xfe\\x85\\x93\\xf8\\x17\\x4e\\xe2\\x5f\\x38\\x89\\x7f\\xe1\\x24\\xfe\\x85\\x13\\xfd\\x2b\\x1d\\x97\\xe8\\x5f\\x9c\\xcc\\xd4\\x2b\\x4e\\xa2\\x67\\xda\\x2b\\x49\\x62\\xaf\\x24\\x89\\xbd\\x92\\x24\\xf6\\x92\\xe1\\x17\\x8a\\x04\\x59\\x12\\x99\\xa9\\x57\\x92\\x44\\xaf\\xc4\\x68\\xd7\\xb0\\x17\\x27\\x33\\xf5\\x4a\\x92\\xe8\\x91\\x3d\\xf1\\xbf\\x06\\x9a\\x6a\\xe6\\xd6\\xd3\\x0e\\xcc\\x7b\\x5f\\xe3\\xa3\\xb4\\xf8\\x8f\\x30\\x85\\x11\\xa6\\xc8\\xbb\\xbc\\x66\\xd1\\x02\\xc1\\xa5\\x2f\\x68\\xa4\\xfd\\x42\\x7a\\xd3\\xf7\\xa8\\xec\\xa3\\x7b\\xa6\\x82\\xf3\\x8a\\xbb\\xd4\\x92\\xa9\\x97\\x3b\\xb3\\xf4\\xc5\\xf5\\xb4\\xf3\\xf3\\xd1\\xed\\x53\\xe2\\xe8\\x1e\\x2a\\x29\\x35\\xd6\\x4b\\x43\\x19\\xd1\\xdb\\xe3\\x77\\xd3\\x6d\\xb2\\x02\\x75\\xaf\\x18\\xde\\x85\\xd3\\x1f\\xb8\\xff\\x1b\\xe2\\xd6\\x68\\x96\\xf1\\x92\\x46\\x96\\xf1\\x4a\\x46\\x20\\xfe\\xe5\\x8b\\x2c\\xe3\\x2d\\x0b\\x7f\\xec\\x95\\x1d\\x7f\\xec\\x2d\\x1d\\x5f\\xf4\\xa5\\x1c\\x7f\\xec\\x15\\x9c\\x6c\\xda\\xab\\xd3\\x8e\\x5e\\xed\\xfa\\x63\\x82\\xe8\\xed\\x07\\x79\\xb3\\x63\\x48\\xa4\\x48\\xbf\\xe1\\xb8\\x29\\xba\\xd1\\x8f\\xfd\\x98\\x23\\x10\\x95\\x19\\x45\\xfa\\x1d\\x47\\xb6\\x76\\x8b\\x87\\xa4\\x74\\x23\\x45\\xdd\\x8c\\x10\\x00\\x8c\\xc3\\xa9\\x38\\x6e\\x52\\x99\\xe2\\x0b\\x35\\xbe\\x48\\xf0\\xce\\xb7\\x1f\\x99\\x74\\x9f\\xfc\\x5a\\xa5\\x9f\\xd9\\x2c\\x87\\x59\\xae\\x2b\\xbe\\xc3\\x48\\xdf\\x8e\\x64\\x6c\\x19\\x5b\\x4d\\x5f\\xd5\\xc9\\x61\\xcc\\xe9\\x64\\x96\\xf3\\xae\\x73\\x8e\\x71\\xe7\\xbc\\x73\\x1e\\xfc\\x05\\xe7\\x02\\xf8\\x8b\\xce\\x45\\xf0\\x5f\\x38\\xbf\\x07\\x3f\\xe0\\x0c\\x80\\x77\\x1d\\x58\\xf0\\x30\\xef\\x2f\\x99\\xe5\\xed\\xf4\\x76\\x32\\xee\\x7d\\xd7\\xfb\\x39\\xf8\\x7e\\x6f\\x3f\\xb3\\xbd\\xe7\\xfc\\x69\\xcc\\xf2\\xa7\\xfb\\x7d\\xcc\\x16\\xff\\x7b\\x13\\x7c\\xa6\\x3f\\xc0\\xb8\\x3f\\xcb\\x9f\\x85\\x56\\x1d\\xf5\\x0d\\x1f\\x4b\\x4b\\x7e\\x36\\x9b\\xbd\\xc0\\x1c\\x4c\\xb2\\x0d\\xec\\xd6\\x47\\x17\\xd5\\x3c\\xc6\\x0a\\xeb\\x6a\\x66\\x2f\\x62\\x13\\x1a\\x66\\x35\\x35\\x32\\xfa\\xea\\xcf\\xb7\\xbe\\x59\\x36\\x8a\\x65\\x7f\\x7b\\xda\\x24\\x50\\xc6\\xd0\\x03\\x8b\\xbe\\xf0\\xc3\\x14\\xcf\\xa2\\xbc\\x4d\\x5f\\xff\\x89\\x3b\\x32\\x67\\xce\\xfc\\x85\\xec\\x56\\xa2\\xa3\\xe6\\x36\\xd4\\x3f\\xca\\xee\\x6a\\x58\\x30\\x47\\x7c\\x77\\x88\\x45\\xfd\\x11\\xdf\\x0b\\x12\\xa5\\x88\\x47\\x69\\xc0\\x66\\x18\\x1b\\xc1\\xee\\x84\\x56\\x89\\x92\\x16\\x40\\x57\\x68\\x14\\xab\\xbc\\x0c\\x5a\\xc8\\xed\\x34\\xb2\\x61\\xd9\\x13\\xa5\\x3c\\x7d\\x0b\\x68\\x5a\\xda\\x5f\\x0a\\x9e\\x1f\\x01\\x1d\\x8a\\xe4\\x15\\x2d\\x09\\x74\\x3c\\x99\\x42\\xee\\x81\\xbe\\xb5\\x81\\xe5\\xb1\\x10\\x9b\\x84\\xfe\\x4d\\x67\\x33\\xd9\\x3c\\xd6\\xc4\\x56\\xb2\\x1f\\xb0\\x16\\xb6\\x89\\x6d\\x65\\x6f\\xb0\\x0f\\xd8\\x51\\x28\\xfa\\xad\\x5c\\x6b\\x84\\x75\\x97\\x55\\x68\\x8d\\xb7\\xca\\xad\\xa9\\xd6\\x73\\xc2\\x8e\\x3f\\x93\\xd9\\xce\\x39\\xe2\\x86\\x44\\xb9\\x40\\x94\\xcb\\x00\\xd7\\x4f\\xed\\x1d\\x88\\x72\\x07\\xa3\\xdc\\x87\\x51\\xee\\x10\\x71\\x36\\x7a\\x91\\xe9\\x3d\\x0b\\xfe\\x33\\xef\\xef\\xa2\\xc7\\x0e\\x47\\xb9\\x8f\\x34\\xad\\x23\\x82\\xc7\\xa8\\xdb\\x4e\\x2f\\xf0\\xf2\\x02\\xa3\\x5c\\x8c\\xb5\\xed\\x9c\\xf0\\x7b\\x40\\xcf\\x7a\\x3f\\x8e\\xd6\\x3a\\x4a\\x9c\\xd0\\xc9\\x66\\xc3\\xfc\\x1c\\x91\\xd3\\xef\\x7c\\xe6\\x77\\xa8\\x95\\x9e\\xa8\\xd6\\xb1\\x28\\x77\\x3c\\xca\\x9d\\x88\\x72\\x9f\\x44\\xb9\\x93\\x51\\xee\\xd3\\x28\\xd7\\x1b\\xe5\\x4e\\x11\\x97\\x8e\\x96\\x6e\\xa1\\xaf\\x7a\\x16\\x60\\xc4\\xc6\\x7b\\xf7\\xa1\\xcd\\x4b\\xf0\\x76\\x1f\\xb5\\x7d\\xc9\\xbb\\x17\\xf9\\x17\\x28\\xef\\xa5\\xf2\\x17\\xde\\xd3\\xd4\\x97\\xf7\\x41\\x2f\\x79\\xbb\\x41\\xbf\\x20\\x5b\\x67\\x54\\x6f\\xd3\\x9d\\x4f\\x9c\\x4f\\xc5\\x87\\x5c\\x3d\\x69\\x88\\x74\\x2f\\x46\\xcd\\xef\\x09\\x78\\x02\\x8c\\xbe\\x41\\xc0\\xb2\\xc5\\x37\\x08\\xd8\\x50\\xcf\\x30\\xcf\\xad\\x2c\\x97\\x22\\xc7\\x46\\x3e\\x1a\\x16\\xc6\\x50\\xac\\x78\\x40\\x3d\\xf4\\x35\\x83\\x0c\\x4f\\xae\\xe7\\x36\\x11\\xab\\xf4\\xf5\\x83\\x0b\\x22\\xce\\x20\\xbf\\x8d\\x31\\xef\\x0f\\xbd\\x3f\\x64\\x23\\xbc\\xef\\x79\\x77\\xb3\\x91\\x88\\x87\\x79\\xa8\\x93\\x6d\\x8d\\xb6\\x8b\\x79\\xb9\\x53\\xc5\\x86\\xb3\\x7b\\x10\\x17\\x53\\xd8\\x34\\x36\\x03\\x67\\xc6\\x3c\\xb6\\x88\\x2d\\x67\\x6b\\xd8\\x33\\xec\\x39\\x44\\xc7\\x4b\\x6c\\x33\\x6b\\x63\\xaf\\xb1\\x9f\\xb3\\x5f\\xb1\\xdd\\x88\\x92\\x23\\xec\\x24\\xeb\\x63\\x97\\x10\\x2b\\x69\\x56\\xa6\\xef\\x5b\\x8c\\xdb\\x3f\\xb3\\x7f\\xe6\\xab\\xa0\\x7c\\xb3\\xef\\x9b\\x94\\xbf\\xea\\x9b\\x42\\x79\\xab\\xef\\x1b\\x94\\xbf\\xe2\\xfb\\x2b\\xe4\\x9b\\xa1\\x57\\x4e\\xf9\\x66\\xdf\\x7d\\x94\\xbf\\xea\\x2b\\xa3\\xbc\\xd5\\x57\\x4a\\xf9\\x2b\\xbe\\x7b\\x91\\xbf\\x0a\\xbd\\x89\\x94\\x6f\\xf6\\xfd\\x2b\\xca\\x5f\\xf5\\x4d\\xa0\\xbc\\xd5\\xf7\\x75\\xca\\x5f\\xf1\\x7d\\x0d\\x79\\x2b\\xf4\\xee\\xa1\\x7c\\xb3\\x2f\\x4c\\xf9\\xab\\xbe\\x10\\xe5\\xad\\xbe\\x20\\xe5\\xaf\\xf8\\x4a\\x90\\xbf\\x02\\xbd\\x71\\x94\\x6f\\xf6\\x15\\x53\\xfe\\xaa\\xaf\\x88\\xf2\\x56\\xdf\\x64\\x66\\x43\\x7a\\x3f\\xe8\\xcf\\x7c\\xe3\\x41\\x5b\\x7d\\x93\\x40\\x5f\\xbd\\x0e\\x44\\xea\\x15\\x22\\x75\\x0a\\x91\\x47\\x15\\x22\\xb5\\x0a\\x91\\x1a\\x85\\xc8\\x1c\\x85\\xc8\\x6c\\x85\\xc8\\x2c\\x85\\xc8\\x4c\\x85\\xc8\\x23\\x0a\\x91\\xef\\x2a\\x44\\xaa\\x15\\x22\\xdf\\x51\\x88\\xcc\\x50\\x88\\x3c\\xa4\\x10\\xa9\\x52\\x88\\x3c\\xa8\\x10\\x99\\xae\\x10\\x79\\x40\\x21\\xf1\\x6d\\x85\\xc4\\x34\\x85\\xc4\\xbf\\x51\\x48\\x4c\\x55\\x48\\xfc\\x6b\\xca\\x5f\\xf1\\xcd\\x23\\x2c\\x1e\\x16\\x28\\xf8\\x2a\\x41\\x5f\\xf1\\xcd\\x15\\x18\\x5d\\x07\\x22\\xdf\\x57\\x88\\x3c\\xa5\\x10\\xf9\\x6b\\x85\\xc8\\x1a\\x85\\xc8\\xbf\\x55\\x88\\xac\\x52\\x88\\xac\\x54\\x88\\x34\\x2b\\x44\\x56\\x28\\x44\\x9e\\x54\\x88\\x2c\\x57\\x88\\x3c\\xa1\\x10\\x59\\xa6\\x90\\xf8\\x9e\\x42\\x62\\x89\\x42\\xa2\\x49\\x21\\xb1\\x58\\x21\\xb1\\x48\\xc5\\xc6\\xe3\\x0a\\x91\\x05\\x0a\\x91\\x46\\x85\\xc8\\x7c\\x85\\x48\\x83\\x42\\xe4\\x31\\x85\\xc8\\x6a\\x8a\\x91\\xa7\\x09\\x97\\x85\\x84\\xc8\\x52\\x11\\x29\\xd7\\x81\\xc8\\x7f\\x51\\x88\\x6c\\x54\\x88\\xfc\\x67\\x85\\xc8\\x8b\\x0a\\x91\\xff\\xa4\\x10\\xd9\\xa0\\x10\\xf9\\x8f\\x0a\\x89\\x16\\x85\\xc4\\x7f\\x50\\x48\\xfc\\x7b\\x85\\xc4\\x0b\\x0a\\x89\\x9f\\xaa\\xd8\\x78\\x5e\\x21\\xf2\\x13\\x85\\xc8\\x8f\\x15\\x22\\xcf\\x2a\\x44\\xd6\\x29\\x44\\x7e\\xa4\\x10\\xf9\\xa1\\x42\\xe4\\xdf\\x29\\x44\\x9e\\x51\\x88\\xfc\\xad\\x42\\xe4\\x07\\x0a\\x91\\xbf\\x51\\x88\\xac\\xa7\\xe8\\x78\\x89\\x10\\x59\\x4b\\x88\\x3c\\x77\\x9d\\x88\\xbc\\xae\\x90\\xf8\\x5f\\x0a\\x89\\x1d\\x0a\\x89\\x7f\\x52\\x48\\xfc\\xa3\\x42\\x62\\xbb\\x8a\\x8d\\xff\\xa9\\x10\\xe9\\x50\\x88\\xfc\\x0f\\x85\\xc8\\x3f\\x28\\x44\\xda\\x14\\x22\\x7f\\xaf\\x10\\xd9\\xa6\\x10\\xf9\\x3b\\x85\\xc8\\x7f\\x57\\x88\\x6c\\x51\\x88\\xfc\\x4c\\x21\\xb2\\x59\\x21\\xf2\\xaa\\x42\\xe4\\x15\\x85\\xc8\\xcb\\x0a\\x91\\xff\\xa6\\x10\\xd9\\xa4\\x10\\xf9\\xaf\\x0a\\x91\\x76\\x42\\xe4\\x35\\x8a\\x94\\x56\\x42\\x64\\x2b\\x21\\x82\\xd5\\x81\\xa8\\x4f\\xd7\\xf3\\x29\\x62\\xce\\xc5\\xac\\x3d\\x06\\xd7\\x8b\\x89\\xea\\x0a\\xf7\\x5b\\xba\\x8e\\xed\\x07\\x3d\\x43\\xd7\\x83\\xcf\\xc0\\x5d\\x20\\xae\\x2f\\xca\\x7d\\x1e\\xe5\\xde\\x55\\x7a\\xf1\\x73\\xbd\\x58\\xcf\\x54\\xb2\\xb5\\x71\\xeb\\x99\\x3b\\x69\\x3d\\x53\\x48\\xeb\\x99\\x09\\x49\\xd7\\x2d\\xf1\\xbc\\x15\\x27\\xb7\\x1f\\xc3\\x02\\x90\\x05\\xc4\\x7e\\x14\\xd7\\x19\\xfa\\x1e\\x39\\xe8\\xd5\\xbf\\x74\\x98\\x87\\xb5\\xca\\x78\\xac\\x53\\x2a\\xe0\\x4f\\x35\\x7d\\xda\\x74\\x35\\xfb\\x11\\xdb\\x80\\x15\\xc6\\x16\\xd6\\x8e\\x71\\x3f\\xc9\\xfa\\xd9\\x65\\xcb\\xb1\\x32\\xb1\\xca\\x18\\x6e\\xe5\\x5b\\x63\\x2c\\xb5\\xb6\\xb1\\xbc\\xb4\\x62\\xb1\\x78\\x2b\\xca\\xe9\\xc8\\xbb\\xa5\\x9c\\x5f\\x92\\xb9\\xf3\\x2b\\x99\\xfb\\x9f\\x91\\x2b\\x9b\\xec\\x8e\\x1c\\x6f\\xce\\x8c\\x9c\\x2d\\xb2\\x94\\x73\\x76\\x68\\xdd\\xd0\\x93\\x37\\x35\\xc8\\xd2\\x4d\\x7b\\x73\\xef\\xca\\x5d\\x9e\\xdb\\x25\\x4b\\x37\\x67\\xdf\\xfc\\xdc\\x30\\xff\\xb0\\xb5\\xb2\\xfe\\xb0\\xf3\\x32\\xcf\\xdb\\x2a\\xf3\\xe1\\x33\\x48\\xcb\\x3b\\x32\\x6d\\x64\\xd3\\xc8\\x5d\\xa3\\xee\\x1a\\xb5\\x66\\xd4\\xc1\\xdb\\x4b\\x6e\\x7f\\x96\\xa4\\x43\\x6e\\xef\\xba\\xfd\\xf2\\xe8\\x31\\xa3\\xab\\x47\\xaf\\x1d\\xbd\\x63\\x74\\xef\\x1d\\xc3\\xef\\xa8\\xb8\\x63\\xc5\\x1d\\x5b\\xee\\x38\\x98\\x9f\\x49\\xc7\\xed\\xfc\\xe1\\xf9\\x53\\x80\\x07\\xf8\\xfc\\x46\\xc2\\xd0\\x2a\\x3a\\x2a\\xed\\x16\\xf5\\xca\\xbc\\x64\\xbd\\xcc\\xef\\xa9\\x92\\xf9\\xd7\\x9f\\x97\\x7a\\xf7\\x56\\xaa\\xbc\\x9a\\xd6\\x8f\\xd6\\xbd\\xcb\\x10\\x27\\x2f\\xd8\\xb0\\x62\\x6f\\x00\\x9a\\x15\\x38\\x5f\\x36\\xb2\\x97\\x81\\x5a\\x1b\\xdb\\xce\\x5e\\x67\\x6f\\x01\\xbb\\xdf\\xb0\\xbd\\xec\\x20\\xce\\x9a\\x13\\xec\\x34\\x50\\x54\\xe7\\x8d\\x35\\xd4\\xba\\x05\\xeb\\xb5\\x7c\\xeb\\xab\\x56\\x81\\x55\\x82\\x35\\xdb\\x24\\x6b\\xb2\\x75\\xbf\\x55\\x69\\xcd\\xb0\\x66\\x5a\\xb5\\x56\\x83\\xb5\\xc8\\x5a\\x66\\xad\\xb4\\x9e\\xb2\\x9e\\xb1\\x9e\\xb5\\x5e\\xb0\\x36\\x58\\x2f\\x59\\xad\\xd6\\x56\\xab\\xdd\\x7a\\xcd\\x7a\\xc3\\x7a\\xc7\\xea\\xb2\\x76\\x5b\\xfb\\xad\\x43\\xd6\\x51\\xeb\\xa4\\x75\\xd6\\x3a\\x6f\\x5d\\xb6\\x6d\\xdb\\x6b\\x07\\xec\\x5c\\xfb\\x56\\x7b\\x94\\x7d\\xa7\\x3d\\xc6\\x2e\\xb4\\x43\\xf6\\x04\\xbb\\xcc\\x9e\\x62\\x4f\\xb5\\xa7\\xdb\\xd5\\xf0\\x75\\xae\\xa7\\x10\\x74\\x3c\\xd1\\x35\\x44\\x47\\x10\\x95\\xf2\\x4e\\x8d\\x5f\\x46\\x74\\xaa\\xa6\\x3f\\x22\\xc6\\xbb\\x33\\x89\\xdf\\xa8\\x1d\\x1d\\xaf\\xd5\\x9a\\xab\\xd1\\xa9\\x09\\x72\\x5d\\x33\\x37\\x85\\x3f\\xba\\xcd\\xb9\\x09\\xfc\\x08\\x53\\x1e\\xe7\\x4f\\xae\\x66\\x4d\\x1e\\x3d\\x92\\xc0\\xcf\\x4d\\xa0\\xa9\\x30\\x19\\xa1\\x79\\x3b\\xfe\\x8a\\x68\\xe8\\x16\\x12\\xfb\\x9e\\xe8\\xbf\\xa6\\xef\\xf6\\x26\\xd8\\x27\\xf9\\xc0\\x1b\\x58\\x39\\x2a\\xaa\\x6a\\x09\\x8a\\xd9\\x27\\x6e\\x5d\\xf8\\x2e\\xe6\\x96\\x91\\xb4\\x3a\\x1c\\xe5\\xed\\xc6\\x8c\\x73\\x97\\x9f\\x63\\xa5\\x3d\\x99\\xce\\xbd\\xcf\\x98\\xdc\\xa1\\x80\\x7a\\x72\\x69\\x27\\x77\\x0b\\x13\\xbb\\x0c\\xb9\\x73\\xc9\\x51\\x3a\\xd8\\x03\\xc1\\x22\\x66\\x11\\x4f\\x1a\\x56\\xa9\\x1e\\xf1\\x8d\\x2c\\x76\\x2b\\x59\\x1c\\x0e\\x8d\\xe1\\xd8\\xdd\\x58\\x98\\xfb\\x32\\x69\\xa6\\xb1\\xec\\x2a\\xf2\\xc7\\x42\\xdb\\xa2\\xf6\\x17\\x5a\\x0b\\xc2\\xc3\\x77\\xd8\\x8b\\xa0\\x5d\\xd0\\x1e\\x8a\\x1d\\xd1\\x18\\x56\\x88\\x7d\\xcb\\x04\\xcc\\x2b\\x53\\xd8\\x54\\xec\\x5d\\xaa\\x71\\x6d\\xa9\\xa3\\xef\\xc9\\x2e\\xc7\\xfc\\xf2\\x34\\x66\\x3e\\xd8\\xb3\\xab\\x40\\x57\\x0b\\x8a\\xe9\\xab\\x2a\\x22\\x91\\xbc\\xa4\\xee\\x2e\\x3e\\x2a\\x42\\x95\\x7e\\x99\\x05\\x5f\\xac\\x15\\xc4\\x17\\x08\\x6a\\x6d\\x22\\xba\\xd5\\x7e\\x9e\\xa8\\x90\\x37\\x08\\xca\\x47\\x59\\xfd\\x11\\x8a\\x75\\x78\\xba\\x67\\x88\\x27\\xcb\\x33\\xd4\\x73\\xb3\\xfc\\x16\\x18\\x30\\x8c\\x7d\\x71\\x44\\x7c\\x6f\\xa4\\x1b\\xeb\\x7c\\xd1\\xaf\\xfe\\x58\\xbf\\xec\\x1d\\x28\\x9f\\x77\\x76\\x61\\x47\\x36\\x5c\\x9c\\xe1\\xd8\\x61\\x85\\xac\\x09\\x56\\x99\\x35\\x05\\xbb\\xac\\xe9\\x56\\xb5\\x35\\xdb\\xaa\\xb3\\x1a\\xad\\x26\\x6b\\xb9\\xb5\\xda\\x7a\\xda\\x5a\\x6b\\x3d\\x67\\xad\\xb7\\x5e\\xb4\\x36\\x59\\x9b\\xad\\x6d\\x56\\x87\\xb5\\xc3\\xfa\\xb9\\xd5\\x69\\xed\\xb2\\xba\\xad\\x0f\\xac\\xc3\\xd6\\x31\\xab\\xd7\\xea\\xb3\\x2e\\x5a\\x03\\xb6\\x63\\xfb\\xed\\x6c\\x7b\\x98\\x3d\\xdc\\x1e\\x6d\\xdf\\x65\\xdf\\x6d\\x17\\xdb\\xf7\\xd8\\x13\\xed\\x72\\xbb\\xc2\\x9e\\x86\\x3e\\x3e\\x6c\\xcf\\xb5\\xe7\\xd9\\x0b\\xed\\xa5\\xf6\\x0a\\x7b\\x8d\\xfd\\x03\\xfb\\x47\\xf6\\xf3\\x76\\x8b\\xbd\\xd1\\x7e\\xd9\\xde\\x62\\xb7\\xd9\\xdb\\xed\\xd7\\xed\\xb7\\xec\\x5f\\xd9\\xbf\\xb1\\xf7\\xda\\x07\\xed\\x23\\xf6\\x09\\xfb\\xb4\\xdd\\x6f\\x5f\\xc2\\xe6\\x29\\x8d\\x67\\xf2\\xa1\\xfc\\x16\\x3e\\x82\\xe7\\xf3\\xaf\\xf2\\x02\\x5e\\xc2\\xc7\\xf3\\x49\\x7c\\x32\\xbf\\x9f\\x57\\xf2\\x19\\x7c\\x26\\xaf\\xe5\\x0d\\x7c\\x11\\x5f\\xc6\\x57\\xf2\\xa7\\xf8\\x33\\xfc\\x59\\xfe\\x02\\xdf\\xc0\\x5f\\xe2\\xad\\x7c\\x2b\\x6f\\xe7\\xaf\\xf1\\x37\\xf8\\x3b\\xbc\\x8b\\xef\\xe6\\xfb\\xf9\\x21\\x7e\\x94\\x9f\\xe4\\x67\\xf9\\x79\\x7e\\xd9\\xb1\\x1d\\xaf\\x13\\x70\\x72\\x9d\\x5b\\x9d\\x51\\xce\\x9d\\xce\\x18\\xa7\\xd0\\x09\\x39\\x13\\x9c\\x32\\x67\\x8a\\x33\\xd5\\x99\\xee\\x54\\x3b\\xb3\\x9d\\x3a\\xa7\\xd1\\x69\\x72\\x96\\x3b\\xab\\x9d\\xa7\\x9d\\xb5\\xce\\x73\\xce\\x7a\\xe7\\x45\\x67\\x93\\xb3\\xd9\\xd9\\xe6\\x74\\x38\\x3b\\x28\\x66\\x0a\\x05\\x4d\\xab\\xc3\\xd8\\x6c\\x17\\xbc\\xb5\\x9d\\xf8\\x4a\\xe2\\x2b\\x89\\xef\\x22\\xbe\\x4b\\xf0\\x76\\x01\\xe9\\x17\\x08\\x9e\\x1d\\xa4\\xb8\\x3a\\x48\\x3a\\x13\\x49\\x67\\x22\\xe9\\x68\\x36\\x75\\x9e\\x9d\\x25\\xfd\\xb3\\xa6\\xcd\\x38\\xfb\\x5e\\xd2\\xf7\\x5e\\xc9\\x8e\\xe5\\x90\\xbe\\x63\\xfa\\xa9\\xfb\\x16\\xc7\\xeb\\x36\\x75\\x3e\\x95\\x8e\\x26\\x8f\\xf3\\xed\\x22\\xc9\\x2f\\x26\\xf8\\x93\\xa2\\x2f\\x71\\x75\\x53\\xe8\\xa7\\x94\\xa7\\xf2\\x21\\x05\\x3e\\xa9\\x6c\\xc6\\xf9\\x3c\\x18\\x3e\\x05\\xe6\\x37\\x3a\\x4e\\xae\\x27\\x36\\x52\\xc6\\x40\\xaa\\x71\\xbf\\x8e\\xb1\\x46\\x5f\\xce\\x46\\xfb\\xb2\\xdd\\x73\\x30\\x8a\\xc3\\x26\\xe2\\x37\\x29\\xfb\\x07\\xaf\\xd6\\x6e\\x8a\\x3e\\x0e\\xfe\\x0a\\x92\\x13\\xfd\\xa6\\xa3\\xf8\\xa2\\x63\\x37\\x7d\\xc9\\xf1\\xb7\\xce\\x61\\xfa\\x6e\\xe3\\x71\\xe7\\x82\\x73\\xd9\\xdb\\x29\\xee\\x06\\xb2\\x72\\xc6\\xe8\\xde\\xdb\\x34\\xa4\\x2a\\xa4\\x87\\x91\\xc4\\x37\\xb7\\xe7\\x21\\x2d\\x44\\x5a\\x8a\\xb4\\x02\\x69\\x0d\\xd2\\x0f\\x90\\x7e\\x84\\xf4\\x3c\\x52\\x8b\\xb8\\x6e\\x23\\x7f\\x19\\xf9\\x31\\x4f\\x39\\x5d\\x45\\x04\\xdd\\x2c\\x28\\xce\\xc0\\x98\\x44\\xd2\\x8d\\x82\\xba\\x1b\\x12\\xe4\\x92\\xe6\\xc6\\x49\\xd6\\x08\\xea\\xf4\\x0a\\x9a\\x16\\x20\\x49\\x7b\\x74\\x1e\\xbf\\xfb\\xff\\xcf\\xe3\\x5f\\x6e\\x1e\\xa7\\xbb\\x97\\x44\\xad\\xed\\x1a\\xad\\x8c\\x51\\xfb\\x37\\xc4\\x3f\\x4b\\x7c\\x41\\x8c\\x5a\\x25\\x1a\\xbd\\x25\\x46\\x75\\x9b\\x3a\\xc5\\x8a\\x39\\x4a\\xa5\\xb5\\x24\\x54\\x6f\\x77\\x75\\x72\\xea\\xce\\x8c\\xd1\\x94\\xed\\xea\\x7e\\x76\\x69\\xb4\\x3f\\x46\\xed\\xa3\\xa6\\x44\\xc9\\x77\\xc4\\x78\\xac\\x4f\\x62\\x72\\xdd\\xbe\\xee\\xd5\\xf0\\x18\\x4d\\xb4\\x96\\x58\\x37\\x95\\x3c\\x25\\xce\\x83\\xc0\\x27\\xce\\x4f\\xdd\\xb7\\x14\\x63\\x91\\x8a\\x5a\\xf2\\x6e\\x76\\x95\\xbb\\x2b\\xca\\xcf\\x16\\xfc\\x8d\\x8e\\x93\\xb8\\xd8\\xd8\\xa4\\xd1\\x41\\xf4\\x3d\\x95\\xcd\\x54\\xe3\\x9e\\x38\\xd6\\x92\\x0e\\x66\\xac\\xe3\\xfa\\xa2\\xe3\\xa0\\xfb\\xa9\\xb7\\x52\\x99\\x82\\xea\\xfa\\xb1\\xfe\\x0e\\x7e\\x1e\\xbf\\xd5\\x79\\xd7\\xd9\\xe5\\xec\\x89\\xfb\\x02\\xef\\x91\\x24\\xdf\\xdc\\xfd\\xdc\\x39\\xe7\\xfc\\xde\\x71\\xe5\\x37\\xd0\\xd8\\xad\\x6c\\x30\\x33\\x38\\x53\\x33\\x38\\xc3\\x9e\\x57\\x7c\\x95\\x91\\x31\\xd1\\xc7\\xd7\\x91\\xde\\x42\\xfa\\x15\\x92\\x18\\xe9\\xbd\\x48\\x62\\xbc\\xc4\\x53\\x8e\\x13\\xc8\\x4f\\x23\\x89\\x3e\\x5f\\x12\\x03\\x49\\x6b\\x6d\\xb1\\xab\\xf8\\x4b\\x26\\xf9\\x11\\x51\\x49\\x84\\x97\\x54\\x1c\\xbd\\xeb\\x2a\\x3a\\xa6\\x3e\\x8b\\xd3\\xbf\\x82\\x44\\x46\\xb0\\x94\\xbb\\x47\\xa2\\x94\\xd3\\x1e\\xc8\\xa2\\x96\\x0a\\xe9\\xf8\\x50\\x50\\xdb\\xb9\\x80\\x6b\\x5f\\x8a\\x7b\\xf4\\x2c\\x70\\xa5\\xeb\\x26\\x2c\\xda\\xb0\\x38\\x9e\\x6c\\x32\\xc3\\xe2\\xd5\\xea\\x26\\x6f\\xf1\\x2a\\x3e\\x52\\x64\\x30\\x8a\\x09\\x8b\\x62\\xe2\\xf6\\x1b\\xed\\x63\\x92\\x16\\x85\\x8f\\x53\\x94\\x8f\\x33\\xc9\\xe2\\x4d\\xa0\\x79\\xd7\\x10\\x99\\x91\\xb8\\x4c\\x85\\xba\\x3f\\x99\\xad\\x3f\\x42\\xbb\\x59\\x57\\xa9\\xf7\\x07\\xf5\\x20\\xe9\\x58\\xfe\\xdf\\xf7\\x20\\x15\\xf6\\x36\\xdd\\x57\\x8c\\x45\\x51\\xee\\x55\\xa3\\xe7\\xca\\xe7\\x96\\xe8\\x49\\xb1\\xea\\xc9\\x94\\x41\\x5a\\x4c\\x35\\x6e\\xb2\\x9d\\xeb\\xf4\\x31\\x45\\xa4\\x7f\\x09\\x1f\\x93\\xe2\\x1a\\xf3\\x71\\x0a\\x6b\\xd0\\x7c\\xbc\\xf9\\x4b\\x8e\\xdf\\xd5\\x63\\x25\\x15\\xee\\xc2\\x83\\xd9\\x7f\\x10\\x0f\\x92\\xc7\\xca\\x95\\xda\\xfd\\xa3\\xf5\\x3c\\xe9\\x68\\xfe\\x11\\x7a\\x9e\\x6c\\xec\\xd5\\x5d\\xe5\\x8d\\x7f\\xe2\\x77\\x95\\xd5\\x9e\\x9a\\x76\\x97\\x63\\xae\\xc4\\xeb\\x12\\x45\\x3b\\x63\\xbc\\xbb\\x2d\\xb9\\x4e\\x2a\\x9b\\x89\\x54\\x1d\\xed\\xbc\\xba\\xfe\\x60\\xe4\\x89\\xfe\\xc4\\xd5\\x1a\\x9f\\x82\\xbf\\xa2\\xcd\\xab\\xf4\\x25\\x01\\x8d\\x54\\x9a\\x49\\xec\\x24\\xf6\\x5a\\x7a\\xb5\\x51\\xa3\\xd2\\x72\\x7e\\x8c\\x6a\\x36\\x07\\xbf\\x96\\xe4\\xce\\x3f\\x3b\\x1f\\x39\\xc7\\xe8\\x5d\\x86\\x00\\xcd\\x6d\\x0c\\x2b\\xc5\\x24\\xfb\\x71\\x15\\xbf\\x2f\\xfe\\x69\\xc7\\x2f\\xbf\\x4c\\xf7\\x4b\\x76\\x10\\x72\\x2d\\x82\\xf2\\x51\\x44\\x9f\\xd2\\x22\\xf7\\xd9\\x98\\x44\\xea\\x4b\\x39\\xcf\\x8c\\x51\\x69\\x41\\x1e\\xd5\\x75\\xac\\x3a\\xad\\xee\\x53\\x9a\\x7d\\xad\\x15\\x5e\\x4d\\x74\\x32\\xd9\\x39\\x2a\\xa8\\x87\\x46\\x8f\\x77\\xcb\\xfb\\x43\\x26\\xe5\\x27\\xb4\\xd6\\x35\\xff\\xa5\\x35\\x69\\x41\\xf7\\x47\\x4a\\xa4\\x35\\xcf\\xc1\\x98\\x7d\\x9d\\xd7\\x3d\\x4f\\x82\\x49\\x66\\x0a\\x4c\\xb4\\x9e\\x4a\\x7d\\x9d\\xaa\\xa3\\x3a\\x02\\x1a\\x62\\x57\\xee\\xb5\\xb4\\xaf\\xfa\\x72\\x34\\x86\\x58\\x9c\\xfd\\x98\\xb5\\xc1\\xc7\\xaf\\xed\\xbc\\xef\\xec\\xa7\\xf7\\xca\\xfc\\x4c\\x3c\\x19\\xfd\\x73\\x8c\\xd9\\x13\\xb4\\xc7\\xfc\\x47\\xa2\\x72\\x27\\xbb\\x91\\xf6\\xa4\\xcf\\xd3\\x3e\\xe6\\x2b\\x74\\x9d\\x3a\\x4b\\x92\\xd7\\x88\\xfe\\x1d\\x49\\xda\\x89\\xef\\x26\\xfd\\x37\\x63\\x3b\\x56\\x87\\xde\\x59\\xe3\\x6f\\x50\\x5d\\x7a\\xde\\x6d\\xfd\\x94\\x24\\x72\\x9f\\x5b\\x4d\\x94\\x5a\\xe4\\x93\\x62\\x7b\\x55\\xdb\\x8d\\x59\\xb0\\x2f\\x92\\x9d\\x10\\xe9\\x1c\\x26\\xc9\\x87\\x44\\xa5\\x9f\\x3b\\x62\\x16\\x24\\xef\\x70\\xcd\\xe7\\xbf\\x25\\x7e\\x9f\\xe9\\x8f\\xb4\\xc9\\x3f\\x8d\\x59\\x4e\\xa4\\xfc\\xb2\\x49\\xe3\\x30\\xf9\\x69\\xcc\\xbe\\x65\\x69\\x98\\x5c\\x11\\x0d\\x4e\\x9e\\x58\\xd2\\xb7\\xbf\\xd7\\xfa\\x3e\\x8c\\x45\\x77\\xfd\\x49\\x7a\\xbd\\x2f\\xd6\\x8a\\xf2\\x81\\x6c\\xf2\\x0c\\x66\\xdc\\x1f\\x90\\x2d\\x12\\xbd\\x96\\x98\\xdd\\xed\\xf4\\xc4\\xc7\\x2c\\xf6\\xc1\\xf2\\xfd\\x01\\xb9\\x53\\x9b\\xa0\\xad\\x4f\\x86\\x45\\x6b\\x5c\\x7d\\xcd\\x63\\xb1\\x61\\x1e\\xdb\\xc3\\x3d\\x1e\\x4f\\x9a\\xc7\\xe7\\xc9\\xf4\\x64\\x7b\\x6e\\xf1\\x76\\xd1\\xb3\\x30\\xf1\\x9d\\x7d\\xf1\\x95\\xfd\\x23\\xde\\x1e\\xef\\x71\\xef\\x29\\xef\\x59\\xf1\\xad\\x74\\xb4\\xc6\\xb1\\x27\\xce\\x67\\x5f\\x15\\x35\\x93\\xb4\\x67\\xd1\\x1d\\x57\\xcb\\x39\\x71\\x03\\x2c\\x9f\\xbb\\xc1\\x96\\x7b\\x6f\\x98\\xe5\\x53\\x37\\xcc\\xf2\\x99\\x1b\\x66\\xf9\\xec\\x97\\xb0\\x2c\\x22\\x71\\x74\\x8a\\x48\\x94\\x76\\xaf\\xdd\\xa2\\xf4\\x34\\x62\\xf1\\x2b\\xa0\\x69\\xb4\\x8a\\x96\\x2b\\xe8\\x73\\x71\\xe3\\x37\\x58\\xfd\\x03\\x6a\\x54\\xae\\xcd\\xfe\\xe0\\xf5\\xa5\\xfd\\xd3\\x83\\xd6\\xdf\\x7d\\x8d\\xfa\\xbb\\xd4\\xd8\\x0f\\x56\\xff\\x84\\x1a\\xd1\\xc1\\xea\\xf7\\x5e\\xa3\\xfe\\xae\\x6b\\xd4\\xdf\\x7d\\x8d\\xfa\\x07\\xae\\x51\\xff\\xe0\\x35\\xea\\x9f\\xd3\\xf4\\x47\\x63\\x66\\xb5\\x11\\xb9\\xc3\\x55\\x8d\\x5b\\x34\\x8b\\x1f\\xb2\\xc8\\x5b\\x15\\x96\\x67\\xe8\\x20\\xb5\\xfb\\x95\\xb6\\x15\\x78\\x8d\\xde\\xd4\\x9a\\x89\\x75\\xc4\\x65\\xcb\\xb6\\xee\\xc2\\x5a\\xa1\\x12\\xeb\\x83\\x15\\xd6\\x3b\\x36\\xb3\\xef\\xb1\\x97\\xd9\\x6b\\xec\\xf5\\xf4\\xf7\\x92\\xdd\\x65\\x1f\\xe1\\x21\\x3e\\x81\\x37\\xf0\\x67\\xec\\x2e\\xbe\\x91\\x7f\\x00\\xda\\xef\\xf8\\x9d\\x6c\\xe7\\x39\\x8f\\xe3\\x19\\xea\\x19\\xee\\x29\\xf7\\x4c\\xf5\\x6c\\xf6\\x6c\\xf3\\x9c\\x4f\\xcb\\x4f\\x9b\\x92\\xd6\\x94\\xf6\\x62\\x5a\\x3b\\xfe\\x5e\\x4b\\x67\\xe9\\x93\\xd2\\x57\\xa4\\x9f\\xf6\\x3a\\xde\\x80\\x77\\xbc\\xf7\\x61\\xef\\x7a\\xef\\x56\\xef\\x5b\\xde\\x3e\\x5f\\x85\\xef\\x69\\xdf\\x65\\xff\\x0b\\xfe\\x1d\\xfe\\x0f\\xfc\\x47\\xfd\\x27\\xfd\\xfd\\x19\\x77\\x67\\x54\\x65\\x3c\\x9d\\xb1\\x21\\xe3\\x9d\\x4c\\x27\\xf3\\xce\\xcc\\x82\\xcc\\xe9\\x99\\x4d\\x99\\x2d\\x99\\x5d\\x99\\x7b\\x87\\x78\\x87\\x7c\\x75\\xc8\\xd4\\x21\\x4f\\x0f\\x79\\x6b\\xc8\\xa1\\x40\\x76\\x60\\x58\\x60\\x54\\x60\\x42\\x60\\x66\\xa0\\x31\\xb0\\x36\\xf0\\x5c\\x60\\x53\\x60\\x13\\xd6\\x46\\xf9\\xee\\x3a\\x16\\x74\\x0f\\xb0\\x30\\xd2\\x3d\\x48\\xe3\\xdd\\x76\\xfe\\x35\\x77\\x1d\\x2f\\x43\\xfa\\x2b\\xa4\\xfb\\x91\\xa6\\xbb\\x07\\xf8\\x83\\x90\\x7f\\xd7\\x6d\\x17\\xf8\\x83\\xfa\\x18\\xa7\\x7a\\xb7\\xb1\\xf0\\xc0\\x45\\xd4\\xab\\x46\\xbd\\x32\\xf6\\x90\\x5b\\xc7\\x66\\x20\\xaf\\x76\\xcb\\xd2\\x8f\\xe2\\x18\\x67\\x59\\x38\\x92\\x83\\x94\\x8f\\x23\\xe9\\xa8\\xd3\\x8e\\x3a\\x65\\x68\\xab\\x0c\\x75\\xea\\x50\\xa7\\x08\\xba\\xeb\\xa0\\x5b\\x06\\x3c\\xc5\\xd1\\x2c\\xd4\\xca\\x41\\xca\\x87\\xc4\\x03\\xdd\\xef\\x43\\xb7\\x1a\\xba\\xeb\\xa0\\xbb\\x0e\\xba\\x5b\\x19\\xc6\\x0a\\x5e\\x66\\xa1\\x76\\x36\\x74\\x72\\x90\\xdf\\xe6\\xb6\\xb0\\x11\\x38\\x9a\\x0f\\xcd\\x42\\x1c\\x2b\\x73\\x1f\\x67\\xe5\\x48\\x93\\x91\\x2a\\xdc\\xed\\x6c\\x1a\\xf2\\x07\\x90\\x4f\\x47\\x5e\\x85\\x7c\\x06\\xf2\\x6a\\xa4\\x80\\xb4\\x04\\xff\\xc9\\x12\\xf2\\xdb\\x60\\x6d\\x04\\x52\\x3e\\xf8\\x32\\x78\\x31\\x19\\xa9\\x02\\x3e\\x4c\\x43\\xf9\\x01\\xe4\\x55\\x48\\xd5\\x90\\xa9\\x9a\\xa8\\x95\\x8d\\x76\\x73\\x90\\xdf\\x06\\xdf\\x47\\x20\\xe5\\xe3\\x68\\x19\\xfc\\x98\\x8c\\x54\\x01\\x6f\\xa7\\x21\\x7f\\x00\\x79\\x15\\x52\\x35\\x6a\\x67\\xc9\\x5e\\x52\\x9b\\xb7\\xa9\\x36\\xcb\\x50\\xb3\\x4c\\xd5\\x2c\\x42\\xcd\\x22\\xd4\\x5c\\x87\\x9a\\x45\\xec\\xdb\\x90\\x57\\x42\\x5e\\x85\\xf4\\x10\\xca\\x36\\xfb\\x86\\x7b\\x20\\xfd\\x28\\x7b\\x1c\\xd8\\x64\\xc1\\x62\\xb6\\xbb\\x0f\\xad\\xaf\\x63\\x53\\x48\\x5a\\x81\\xe3\\x59\\xee\\x93\\x90\\x3c\\x29\\xd6\\x12\\x18\\xb7\\x6f\\xba\\x5b\\xf8\\x34\\xa4\\xe9\\xee\\x48\\xfe\\xe0\\xc0\\xbb\\xbc\\x0a\\xfc\\x77\\x91\\xd7\\xb8\\x8b\\xf9\\x02\\xb7\\x8e\\x3f\\xe1\\x2e\\x66\\x1e\\x8c\\xf4\\x8b\\x18\\xe9\\x9d\\x18\\xe9\\x17\\x31\\xca\\x2d\\x18\\xe5\\x16\\x76\\x33\\x2f\\x1b\\xd8\\x06\\x29\\x83\\x8d\\x29\\xfc\\x7e\\xf0\\xd3\\x90\\x57\\xb9\\x5f\\xe1\\xdf\\x41\\xfe\\xb0\\x5b\\xc4\\x67\\xc2\\xfe\\x2c\\xa4\\x39\\xe0\\x6b\\xdd\\xe9\\xbc\\x1e\\xfc\\x63\\x48\\x0d\\xee\\xc3\\xbc\\x11\\xe9\\x71\\xc8\\x97\\xb8\\x7f\\xc1\\x97\\x21\\x5f\\x01\\xf9\\x4a\\xf8\\x6f\\x09\\xfb\\x2c\\x63\\xb0\\xbe\\x21\\x2e\\x46\\x22\\x6a\\xb2\\x5c\\x3f\\xfa\\xe4\\xe7\\xa5\\xac\\x02\\x5e\\xfd\\x02\\x5e\\x05\\xe0\\xd1\\x2f\\xd0\\xda\\x76\\xe0\\x20\\x6c\\x4d\\x43\\x7c\\x4e\\x47\\xbd\\x07\\xdd\\x49\\xf0\\x7e\\x12\\x0b\\xc0\\xfa\\x62\\x48\\x17\\x43\\xfa\\x32\\x2c\\x2f\\x86\\xc7\\xed\\xf0\\xb4\\x1d\\x9e\\xb6\\xf3\\x3a\\xa4\\x79\\x48\\x0b\\x91\\x96\\x20\\x2d\\x43\\x7a\\x12\\x69\\x35\\x46\\x26\\x0d\\xf6\\xde\\x4b\\xf0\\x0d\\x7e\\x11\\xe2\\x23\\xe1\\xc7\\x48\\xe0\\x55\\x0e\\x1f\\x66\\x02\\x2f\\xec\\x32\\xf8\\x52\\x44\\xc2\\x28\\x2d\\x26\\xcb\\x55\\x4c\\x6e\\xc0\\xa8\\x6e\\x90\\x3e\\xbb\\xd5\\xd0\\xaf\\x84\\xd5\\x03\\xa8\\x73\\x07\\x79\\x5b\\x85\\xf4\\x1d\\xa4\\x87\\xe1\\xdb\\x23\\x48\\x73\\x90\\x6a\\x80\\x7d\\x2d\\xf2\\x47\\x91\\xea\\xe1\\x0f\\xfa\\x07\\x24\\xdb\\x81\\xc6\\x76\\xa0\\xb9\\x18\\xbe\\x2e\\x86\\xaf\\x8b\\x81\\xcc\\x76\\xbe\\x1c\\xf2\\x66\\xa4\\x95\\x28\\xaf\\x82\\xdf\\xc3\\x55\\x5c\\x5d\\x82\\x07\\xc2\\x4b\\x1b\\x1e\\x94\\xc3\\x83\\xf2\\x6b\\x1a\\xc7\\x1a\\x77\\xec\\xa0\\xc7\\x92\\x53\\xdc\\x3c\\xe8\\xd6\\x02\\xf1\\x5a\\x66\\x03\\xc1\\xd7\\x81\\xe0\\xeb\\xcc\\x0f\\xab\\xcd\\xb0\\xd6\\x0c\\x4b\\xcd\\xc0\\xf9\\x00\\x6a\\x37\\xa3\\x76\\x33\\x6a\\x37\\x43\\xab\\x19\\xb5\\x9b\\xa1\\xd9\\x8c\\x3a\\x91\\x68\\x1b\\x26\\xbc\\x4f\\xe1\\xe9\\x94\\xeb\\x8c\\xb8\\x47\\xdd\\x0f\\x59\\x0e\\xea\\x77\\xa0\\xfe\\x36\\xd4\\xed\\x40\\x2f\\x3b\\x50\\xbf\\x03\\xf5\\xb7\\xc1\\xbf\\x0e\\xd8\\xf8\\x1b\\xd8\\x78\\x1b\\x38\\x77\\xc0\\x86\\x88\\x89\\x0e\\x8c\\xea\\x3c\\xd8\\xe9\\x80\\xbf\\x1d\\xb0\\xd3\\x01\\x7f\\x3b\\x58\\x06\\xac\\x9c\\x86\\x85\\xd3\\xa8\\xbd\\x07\\xd1\\xb3\\x07\\xda\\x7b\\x78\\x13\\xd2\\x12\\xa4\\x65\\x90\\x3f\\x89\\xb4\\x12\\xfc\\x6a\\xf7\\x34\\xf3\\xa1\\xbd\\xd3\\x7c\\x36\\xfa\\x5f\\x8f\\xfc\\x31\\xf7\\x38\\xda\\x38\\x8d\\x36\\x7e\\xcb\\xbf\\x07\\x59\\x33\\xd2\\x2a\\xc4\\x8c\\x3f\\x21\\x32\\x45\\x54\\x0a\\x2f\\x9a\\xb4\\xe8\\x5c\\x89\\xb1\\x15\\x9a\\x7b\\xa0\\xb9\\x87\\x5a\\x8f\\x6f\\x79\\x0f\\x5a\\xde\\xa3\\x5a\\xde\\x23\\x22\\x75\\xa0\\x07\\x73\\x4b\\x0f\\x9b\\xef\\xae\\x62\\xcd\\xee\\xce\\xf4\\xdf\\xb9\\x3b\\x99\\x85\\xb3\\xa9\\x05\\x48\\x74\\xe2\\x4c\\xff\\x35\\x70\\xdf\\x8d\\xb4\\xc7\\xad\\xe0\\xdd\\x48\\xef\\xbb\\xab\\xf8\\x7e\\xc4\\xf9\\x21\\x1c\\xfb\\xc8\\xed\\xe1\\x47\\xdc\\xf5\\xfc\\x18\\xf8\\x33\\xc8\\xfb\\x90\\x7f\\x0e\\xdd\\x7e\\xa4\\x73\\x6e\\x1b\\xac\\x54\\xb0\\x6c\\xfe\\x26\\xb4\\xde\\x76\\xdb\\xf8\\x2f\\x71\\xb4\\x8b\\x2c\\xf6\\xc1\\x62\\x1f\\x2c\\xf6\\xc0\\xe2\\x76\\x58\\xfc\\x88\\xef\\x85\\x7c\\x3f\\x6a\\x1d\\x80\\xde\\x61\\x77\\x07\\xef\\x41\\xb9\\x17\\xc7\\xfb\\xe1\\x4d\\x00\\x16\\x56\\x69\\x16\\xda\\x54\\xcd\\x19\\x5a\\xad\\x9f\\xa0\\x56\\x0b\\xd5\\xea\\xc7\\xb1\\xf3\\x48\\x17\\x51\\x73\\x38\\xce\\xb3\\x3c\\x44\\x78\\x5e\\xa4\\x77\\xb0\\x74\\x3b\\x2c\\x55\\xf0\\x4e\\x56\\x04\\x4b\\xb5\\x7c\\x27\\x34\\x7f\\x0d\\xf9\\x6e\\xe4\\x87\\x51\\xfe\\x08\\xfc\\xc7\\x68\\xa1\\x07\\xfc\\x31\\x77\\x2e\\xff\\x04\\x7c\\x2f\\xf8\\x53\\xc8\\x4f\\x23\\x9d\\x41\\xdd\\xcf\\xe0\\x4d\\x3f\\xf8\\xcb\\xc8\\x7f\\x8f\\xe4\\xba\\x2d\\x0e\\x73\\x6b\\x09\\x39\\x0f\\x59\\xee\\x66\\x79\\xfc\\x10\\xf2\\x63\\xc8\\x4f\\x30\\xcc\\xc5\\x90\\xe6\\xa1\\xbd\\x1e\\xc4\\x85\\xc4\\x54\\xb4\\xb8\\x13\\xfd\\xf8\\x10\\xfd\\xf8\\x18\\xfe\\xf7\\x52\\xcb\\x47\\xd0\\x87\\x63\\xc0\\x51\\x60\\xd9\\x8f\\x59\\xc1\\x0b\\x5f\\xff\\x1a\\xbd\\xee\\x41\\xdd\\x97\\xa1\\x29\\x7a\\x2b\\xf0\\x69\\x8b\\xe0\\x03\\x6c\\x22\\xb6\\xba\\xdd\\x7d\\x40\\xf2\\x65\\x68\\xf4\\xa0\\xed\\x3c\\x1a\\x9b\\x63\\xd0\\x3c\\x81\\xfc\\x0c\\xec\\xca\\xb1\\x69\\x83\\xdd\\x5a\\x3e\\x80\\x9a\\x1e\\x68\\x8b\\xd1\\x13\\x5a\\x7d\\xd0\\xd8\\x49\\x58\\x4b\\xe9\\x31\\xaa\\x43\\x12\\xe0\\xd8\\x06\\xaf\\xdf\\x84\\x85\\xb7\\x91\\xe4\\x08\\x20\\x22\\xd0\\x42\\xb7\\xfb\\x43\\xfe\\x3e\\xf2\\xbd\\x98\\xdf\\xf6\\x43\\x7e\\xd8\\x9d\\x0f\\xbf\\x7a\\x70\\x86\\x66\\xb9\\x0c\\xa8\\x33\\x86\\x2b\\x22\\xf6\\x1c\\x15\\xac\\x19\\x58\\xbc\\x39\\x70\\x09\\x16\\x6a\\x61\\x61\\xbb\\x42\\xa3\\x96\\xff\\x1a\\xb9\\xb0\\xb4\\x87\\xac\\xed\\x44\\xdb\\x1f\\xc2\\xda\\x02\\x58\\x5a\\x05\\x4b\\x6d\\x51\\x3f\\x06\\x58\\x11\\x10\\x6e\\xa3\\x48\\x90\\x7e\\x74\\x51\\x8f\\x7b\\xa0\\xfd\\x1e\\xb5\\x7d\\x40\\xf4\\x05\\x56\\x04\\xe2\\x7d\\x48\\x9f\\xcb\\xd8\\x81\\xf7\\x3d\\xa8\\x9d\\x07\\x4f\\xb2\\x70\\x86\\xe7\\x20\\xcd\\x47\\x64\\x37\\xa3\\x96\\xb4\\xb4\\x8a\\x7a\\x23\\xa3\\xa0\\x07\\xed\\xef\\x21\\x74\\x65\\x14\\xb4\\x10\\x7e\\x9f\\x80\\xff\\x94\\xd0\\x6e\\x41\\x14\\x88\\x38\\xaf\\xe5\\x67\\x21\\xff\\x0c\\xa9\\x8f\\xf0\\x6c\\x41\\xbc\\xb5\\xf0\\x4b\\x14\\x11\\x2d\\x5a\\x44\\xb4\\xb1\\x3b\\x71\\x76\\xb5\\xe1\\xec\\x6a\\xc3\\x0c\\xdb\\x86\\x19\\xb6\\x0d\\xad\\x03\\x0d\\x68\\xbc\\x39\\xf0\\x04\\x5a\\x1f\\x8b\\x68\\x10\\x63\\x9b\\x47\\x67\\xd9\\xfb\\xb8\\x92\\x1d\\xa2\\x38\\xcc\\xc3\\xb8\\xac\\x82\\x07\\x79\\x1c\\x67\\x10\\xef\\x19\\xf8\\x08\\x9e\\xf8\\xf9\\x71\\xf0\\x27\\x90\\x3e\\x41\\x3a\\x09\\xfd\\x4f\\x91\\xf7\\x42\\xe7\\x14\\xf2\\xd3\\x48\\x67\\xc0\\x9f\\xa5\\xf8\\xac\\x80\\x67\\x7e\\x78\\x55\\xc4\\x2f\\x80\\xff\\x02\\xe9\\x12\\x92\\xeb\\x56\\xc0\\xab\\x3c\\x8a\\x53\\x9f\\x3a\\xa7\\x2a\\xa2\\xe3\\xb0\\x87\\x10\\x9d\\x0b\\x34\\x57\\xc1\\x03\\x61\\xb9\\x85\\xa5\\xab\\x68\\x5d\\x8f\\x08\\x6b\\x83\\x7f\\x15\\xe4\\xdf\\x19\\x8a\\x7f\\xac\\x20\\x08\\xb3\\x33\\x18\\x71\\x8b\\xf7\\x03\\x63\\x1b\\xf5\\xbe\\x8f\\x73\\x7e\\x15\\x8d\\x53\\x2b\\xac\\xcf\\xc3\\x68\\xaf\\x82\\x8d\\x36\\xb4\\xb2\\x15\\x28\\x6f\\xd5\\x22\\xbf\\x16\\x63\\x37\\x1f\\xad\\xfd\\x85\\xea\\xf3\\x4f\\xa8\\xa6\\x1f\\xb5\\x2a\\x29\\xca\\x64\\x8c\\xac\\x22\\xdf\\xde\\x87\\x7c\\x2f\\xbc\\x38\\xec\\xfe\\x38\\x1a\\xf9\\x22\\x26\\xdb\\x54\\x44\\x3d\\x4e\\xa3\\x18\\xe9\\xc5\\x5e\\x5c\\xc9\\xf6\\xab\\x73\\xe4\\x38\\x64\\xbd\\x14\\xed\\xbd\\x6c\\x28\\xd0\\xe9\\x41\\x64\\xbc\\x07\\xef\\xd7\\x23\\x32\\xb6\\xc2\\xaa\\xd0\\x11\\x51\\x76\\x9c\\xac\\xee\\x04\\x96\\xbd\\x74\\x6e\\x9f\\x47\\x42\\xe4\\xf3\\xff\\xed\\xee\\x04\\x66\\x3b\\x59\\x96\\x9a\\xeb\\x7a\\x54\\x8d\\x7e\\xd4\\x78\\x9b\\x66\\xa8\\x53\\x88\\xd9\\x33\\x38\\x83\\xfa\\x20\\xfb\\x9c\\xce\\x99\\xd7\\x30\\xf7\\xf5\\x68\\xb5\\x7b\\x98\\x37\\x32\\x0f\\xa1\\x76\\x0b\\xb5\\xd7\\x0b\\x0f\\x4e\\xc9\\xe8\\x26\\xfb\\x36\\xe6\\x89\\x3c\\x11\\xe7\\x58\\x2d\\x4f\\x16\\x67\\x2f\\x13\\xba\\x3d\\x24\\xed\\xc3\\xd9\\x23\\x62\\xf9\\x1c\\xf8\\xc8\\xcc\\x96\\xae\\xce\\x5c\\xa9\\x21\\xce\\x91\\x3e\\x5c\\x25\\x70\\x04\\x6d\\xf6\\x60\\x74\\x7b\\x50\\x3a\\x8e\\x24\\x8e\\x9e\\xc2\\x0c\\x73\\x06\\xde\\xf5\\xbb\\xef\\xc3\\xb3\\x3e\\x68\\xed\\x83\\xd6\\x87\\x58\\xcf\\xcf\\x07\\x16\\x1f\\x61\\xf6\\x3d\\x42\\x7d\\xda\\xa9\\xe6\\x8a\\xc8\\x3c\\x2e\\xce\\xa0\\x8f\\x51\\x43\\x9c\\x45\\xdb\\x68\\xce\\xb0\\xa1\\xdd\\x47\\xe7\\x53\\x26\\x5a\\x78\\x9b\\xce\\xb6\\xe3\\x6a\\xa6\\x3e\\x85\\xab\\x95\\xf0\\x54\\xd6\\x13\\x08\\x8a\\x7a\\xef\\x09\\x6d\\xf4\\xf0\\xb7\\x98\\xcb\\x22\\xfd\\x91\\xda\\x1f\\x29\\x4d\\xea\\x8f\\xec\\x39\\xf5\\x3a\\x72\\x16\\x9f\\xa0\\x5e\\xf7\\x68\\xbd\\xde\\x47\\x2d\\x0f\\x01\\x96\\xb5\\xc0\\xb2\\x36\\x8a\\xd1\\x71\\xd2\\xce\\xa3\\xf1\\x43\\x34\\xf2\\xcf\\xd4\\x1c\\xd0\\x4f\\xe7\\x7e\\x11\\x8d\\x40\\x56\\xf4\\xfc\\xbf\\x0d\\xa5\\x11\\x48\\x62\\x4e\\x8a\\x8d\\xe9\\x2a\\x15\\x05\\x62\\x64\\x5e\\x8e\\x8c\\x8c\\xe8\\x3b\\x8d\\x4e\\x9a\\x8a\\x3a\\x39\\x23\\x9e\\x03\\x96\\x17\\xdd\\x77\\xc9\\x6e\\xa6\\xb2\\xd1\\xa6\\xe1\\x27\\xe6\\x85\\xb7\\x55\\x2c\\xb4\\x89\\xeb\\x20\\xb4\\x5b\\x80\\x78\\x1b\\x61\\x28\\xee\\x2b\\x8a\\x73\\xe5\\x73\\x92\\xcf\\xc5\\x48\\xf6\\xb8\\x2f\\xa0\\xe5\\x76\\xd8\\x3f\\x80\\x96\\x4f\\x93\\xfd\\xf3\\xee\\x36\\x19\\x39\\x38\\xba\\x5e\\x8b\\xce\\x1e\\x42\\x4d\\x69\\xd0\\xdc\\xcc\\xa3\\x3d\\x6b\\x86\\x5d\\xb1\\x02\\x1e\\x87\\xd2\\x38\\xf4\\x73\\x27\\xfa\\xb9\\x53\\xcd\\x38\\x6d\\xea\\xba\\xfe\\x31\\xd6\\x9b\\x62\\xf7\\x54\\x87\\x1d\\xce\\x3a\\xf6\\xa0\\xd8\\x0b\\x80\\xf7\\xf0\\x7f\\xc0\\x5c\\xb1\\x03\\x69\\x0f\\xd2\\xfe\\x81\\x55\\x98\\x4f\\xb1\\x1e\\xc2\\x9e\\x95\\x63\\x07\\x9d\\xcf\\xfe\\x05\\xfb\\x97\\x18\\x9f\\x71\\x2c\\xc8\\xc2\\xec\\x1e\\x36\\x9e\\x7d\\x83\\x3d\\xc0\\x1e\\x62\\x33\\x58\\x35\\xff\\x1a\\x9f\\xc8\\xef\\xe5\\x93\\x78\\x19\\xc7\\x3a\\x97\\x7f\\x93\\x7f\\x8b\\xdf\\xcf\\xa7\\xf1\\x4a\\xfe\\x00\\x9f\\xce\\x1f\\xe4\\x55\\xfc\\x21\\x3e\\x83\\x7f\\x87\\x7f\\x97\\xd7\\xf0\\x3a\\xec\\x6a\\xe7\\xf3\\x85\\xfc\\x09\\x7a\\x53\\xf1\\x9f\\xf8\\x9b\\xfc\\xe7\\xfc\\x17\\xfc\\x2d\\xfe\\x36\\x7f\\x87\\xff\\x92\\x77\\xf2\\xf7\\x78\\x17\\xc7\\x5c\\xc3\\xff\\x99\\xef\\xe6\\x7b\\x78\\x37\\x7f\\x9f\\xef\\xe5\\xfb\\xf8\\x07\\xfc\\x00\\xff\\x90\\x1f\\xe2\\xbf\\xe3\\x88\\x52\\xfe\\x31\\x3f\\xca\\x11\\xf5\\xfc\\x38\\x3f\\xc1\\x3f\\xe5\\xa7\\xf8\\x19\\xfe\\x19\\xef\\xe3\\x9f\\xf3\\x7e\\x7e\\x8e\\x9f\\xe7\\x17\\xf8\\xef\\xf9\\x00\\x77\\x9d\\x2c\\xe7\\xde\\xf4\\x8f\\xd3\\x8f\\xa6\\xf7\\xa4\\x7f\\x82\\x3e\\xf8\\xb1\\xc6\\xc9\\x03\\x55\\x3b\\xf8\\x3f\\x93\\x3b\\xfd\\xfa\\x93\\x98\\xbd\\xda\\x73\\xa3\\xee\\x98\\x44\\xbe\\x5d\\x2c\\x35\\x9d\\xfc\\x04\\x4d\\x49\\xfd\\x09\\x4f\\xa7\\x36\\x69\\x9a\\xdd\\xda\\xd1\\xe5\\x1a\\xbd\\x9c\\xf0\\xec\\x8a\\x9e\\xd6\\x78\\xd6\\x6a\\x47\\x27\\x24\\xd0\\xcb\\x09\\xbc\\xe6\\xb3\\xe2\\xb5\\x67\\x57\\xd2\\xa6\\xe4\\xd3\\x9e\\x8d\\xd9\\xd7\\xf9\\x94\\x4f\\xa7\\xae\\x88\\x49\\x4a\\x34\\xb4\\xd6\\xe3\\x10\\xd0\\xfb\\x7e\\xc5\\x5e\\x2b\\xcc\\xa7\\x69\\xb4\\x23\\xe1\\xf9\\x56\\xac\\xc5\\x6b\\xb9\\xd3\\x2f\\xdf\\x2b\\xd1\\xee\\xf4\\xcb\\x77\\x98\\xc5\\xdb\\xcb\\x2a\\x66\\xbb\\xfe\\xb4\\x63\\x36\\xee\\xbd\\xcf\\x4a\\xed\\x89\\x11\\xbd\\xdf\\xc9\\x3a\\x63\\x34\\xee\\x9d\\x4e\\x92\\x58\\x63\\x88\\xca\\x37\\x1d\\x1d\\x53\\x47\\xd9\\x1c\\xa3\\xc9\\x0b\\xb4\\x5a\\xf2\\x1d\\xca\\x4d\\x1a\\xdf\\x15\\x7b\\xe6\\x94\\xea\\x9d\\x5a\\xfd\\x0d\\x4e\\xf5\\x36\\x6a\\x95\\xe9\\x73\\x12\\x7f\\x12\\x6c\\x26\\x52\\xfe\\x54\\x8c\\xa6\\xc4\\xa4\\x2a\\x39\\x26\\xb2\\x47\\x0a\\x93\\x84\\xd6\\xf5\\xb7\\x57\\xa5\\x3c\\xae\\x47\\x29\\x7a\\xad\\xac\\xe9\\x6f\\xa0\\xf6\\x6b\\x16\\x4c\\x3a\\xf8\\x98\\xfd\\x32\\xef\\xc2\\xe4\\xa1\\x85\\x5a\\xa4\\x06\\xa4\\x45\\x4c\\xfc\\x6f\\x11\\xc6\\x56\\x22\\x09\\xb4\\x9e\\x41\\x12\\xfe\\xbd\\x80\\xb4\\x01\\xe9\\x25\\xa4\\x56\\xa4\\xad\\x48\\xe2\\xa9\\x9d\\x78\\xa6\\xf9\\x06\\xd2\\x3b\\x48\\xa2\\xaf\\xbb\\x91\\xf6\\x23\\x1d\\x42\\x12\\x6f\\x69\\x9f\\x44\\x12\\x4f\\xfa\\xce\\x33\\xcb\\xcd\\xa6\\xf7\\x38\\x07\\x41\\x07\\xb6\\x0c\\x56\\xd3\\xa5\\x5f\\xd3\\x46\\xe9\\x15\\x24\\x8c\\xc5\\x49\\xa2\\x54\\x9d\\xc7\\x1d\\x7f\\xea\\xe7\\x31\\xcd\\x8f\\xf2\\x77\\x38\\xf2\\xd7\\x2f\\x5d\\xb1\\xb9\\x4f\\xfe\\xde\\x46\\xfe\\xd2\\x26\\xf2\\xdb\\x15\\x92\\x9f\\x8d\\x69\\x2a\\xfd\\xe7\\x4d\\x1d\\xf5\\xdb\\xaa\\xca\\x98\\x35\\x45\\xbd\\x1a\\x2d\\x30\\x79\\x65\\xed\\xa2\\x66\\xa7\\x2b\\xa1\\xad\\xaa\\x14\\xbc\\x6e\\xa1\\x35\\xb9\\x66\\xe2\\x7b\\x16\\x7a\\x5b\\x71\\xfe\\x0f\\x1a\\x93\\x24\\x68\\xe8\\xad\\x57\\xa6\\xe8\\xfb\\x15\\x7b\\x1d\\xf7\\x7b\\xdd\\xce\\x18\\x9e\\xca\\x72\\xab\\xd1\\xe2\\xe0\\xcf\\xe3\\x2b\\xbf\\xa1\\x28\\xde\\xf5\\xb9\\x07\\x69\\x22\\xbb\\xd6\\xdf\\xfb\\x08\\x3f\\xc4\\x1b\\x16\\xed\\xf4\\xab\\x9e\\x5b\\x88\\x1e\\x26\\x49\\x27\\xf1\\x63\\x88\\xd6\\x69\\x7c\\x7f\\xec\\x68\\x52\\xba\\xe6\\xcf\\xf7\\x5a\\x68\\xb7\\x6a\\xd7\\x15\\x27\\xc5\\x75\\x4e\\x4a\\xca\\xb4\\x99\\xba\\x8e\\x24\\xab\\x89\\xca\\x67\\x4d\\x6b\\xcd\\x2b\\x81\\xfa\\x15\\x85\\xf6\\x7b\\x14\\x7a\\x33\\x3f\\xc2\\xaf\\x4d\\xb8\\x2a\\x68\\xd6\\x92\\x5c\\x0b\\xf5\\x5f\\x36\\xb4\\x26\\x5c\\x0b\\x75\\x7f\\x06\\x71\\x2d\\xd4\\x7f\\xa5\\x71\\xad\\x98\\x28\\xbe\\x35\\x79\\xeb\\x71\\x08\\xec\\x30\\xfb\\x92\\xaa\\xd7\\xaa\\x95\\xc4\\x6b\\x61\\x9d\\x66\\x3f\\xe6\\xff\\xff\\x13\\xd7\\x42\\x9c\\x0f\\xb9\\xda\\x5a\\x23\\x97\\x50\\xc8\\xd5\\xe4\\x23\\xa2\\xb8\\xd4\\x29\\x8c\\xee\\x20\\x7c\\x63\\x47\\x2b\\x89\\x4e\\x8c\\xd1\\xb8\\x55\\xdb\\x18\\x92\\x8f\\x49\\x2e\\x51\\x71\\xb6\\x82\\x24\\x1a\\x15\\xff\\x83\\x01\\xb6\\x62\\xef\\xb8\\x88\\xd6\\xd2\\x06\\x26\\x0f\\x6c\\x19\\x58\\x38\\xd0\\x0d\\x7a\\x39\\xc9\\x13\\x5b\\xfa\\x05\\x3a\\xfe\\x32\\xe9\\x29\\x6b\\xa7\\x1b\\x52\\x4f\\x5d\\x19\\x53\\x57\\xdd\\xae\\xaf\\xbf\\xf4\\x6b\\x91\\x77\\x96\\xfd\\x66\\x17\\x95\\x7f\\xec\\x0e\\xff\\x3f\\x01\\x00\\x00\\xff\\xff\\x9c\\x26\\x59\\xe6\\x00\\xed\\x05\\x00\")\n\nfunc liberationserifRegularTtfBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_liberationserifRegularTtf,\n\t\t\"LiberationSerif-Regular.ttf\",\n\t)\n}\n\nfunc liberationserifRegularTtf() (*asset, error) {\n\tbytes, err := liberationserifRegularTtfBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"LiberationSerif-Regular.ttf\", size: 388352, mode: os.FileMode(420), modTime: time.Unix(1459927770, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _readme = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\x7c\\x55\\x7f\\x6b\\xdc\\x46\\x10\\xfd\\xdf\\x9f\\x62\\x30\\x85\\x6b\\xcb\\x59\\xc2\\x71\\x7f\\x40\\x20\\x94\\xc4\\xb5\\xa9\\xc1\\xb1\\x8b\\xef\\x92\\x50\\x4a\\x29\\x7b\\xda\\xd1\\x69\\xf1\\x4a\\xab\\xee\\xae\\x7c\\x56\\xfe\\xe8\\x67\\xef\\x9b\\x5d\\xc9\\xe7\\xda\\x4e\\x0c\\xe6\\xc4\\x6a\\xf6\\xcd\\x9b\\x37\\x6f\\x46\\x44\\x74\\x5c\\xd0\\xa7\\x46\\xc5\\x45\\xa0\\xd8\\x98\\xf0\\xcb\\x01\\xd1\\x9b\\xa7\\x7f\\x07\\x38\\x5c\\x37\\x4c\\x97\\x66\\xc3\\x5e\\x45\\xe3\\x3a\\x3a\\x77\\x5d\\x0c\\x64\\x02\\xd5\\x78\\xa0\\xca\\x59\\xcb\\x55\\x7a\\xb1\\x6b\\x4c\\xd5\\x90\\x32\\x2d\\xf0\\x1c\\xf5\\xde\\xdd\\x19\\xcd\\xa4\\x5d\\x35\\xb4\\x8c\\x48\\x20\\x59\\x35\\xba\\x41\\xee\\xb4\\x3d\\xb0\\x36\\xc6\\x9a\\x38\\x92\\x0a\\x34\\x04\\xb5\\x65\\x72\\x35\\xad\\x4d\\xcb\\x81\\xae\\x78\\x47\\x37\\xae\\x55\\xdd\\x92\\xde\\x7a\\xa3\\xec\\x92\\x4e\\xdd\\xe0\\x0d\\x7b\\x79\\x53\\x1c\\x08\\x27\\x7a\\x55\\xd0\\x0d\\xff\\x33\\x18\\xcf\\x02\\x1e\\xbe\\xc4\\xfd\\xfb\\xc4\\xb2\\x76\\x1e\\xf8\\xa0\\x6c\\xba\\x10\\x15\\x08\\xeb\\x42\\x30\\xe8\\xdb\\x26\\xc6\\xfe\\x75\\x59\\x3e\\xc4\\x14\\x01\\x89\\x2a\\xce\\xcf\\x1d\\xc7\\xef\\x72\\xb2\\x93\\x82\\x2e\\xf2\\xcd\\x27\\x79\\xe4\\xed\\x49\\x71\\x4c\\xbf\\xb2\\xd4\\xe4\\x39\\xa0\\x74\\xe5\\x37\\x12\\x98\\x12\\xfc\\xe1\\x06\\xaa\\x54\\x47\\x7c\\x1f\\xbd\\xaa\\x22\\x74\\x66\\xaa\\x8d\\x45\\x8d\\x9b\\x11\\xcc\\xac\\x75\\x3b\\xd3\\x6d\\x45\\x10\\x54\\xab\\x5f\\xe7\\x4b\\x44\\xdf\\x08\\x0a\\x7d\\xbe\\xbf\\xab\\xc9\\x3e\\x08\\x7f\\x24\\x2c\\xc3\\xd1\\x9f\\x1f\\xcf\\x6e\\x56\\x17\\xd7\\x57\\x7f\\x15\\x88\\x29\\xb6\\x9f\\x33\\x85\\x57\\xf4\\x6e\\x30\\x56\\x53\\xed\\x5d\\x9b\\xb2\\xe4\\x42\\x32\\xe0\\x69\\xa3\\x3a\\xa9\\xbf\\x43\\x5b\\x34\\x14\\xab\\xa2\\xf3\\xe3\\x57\\x90\\x4b\\x02\\x19\\xda\\xec\\x01\\x33\\x58\\x22\\x9d\\x00\\x9f\\x31\\x0f\\x8f\\xa8\\x57\\xfa\\x2b\\xd0\\x0f\\x51\\xad\\xba\\x9d\\xd8\\x89\\xbd\\x24\\x57\\xcc\\x86\\xca\\xf2\\xec\\x8c\\xb5\\xb4\\x61\\x52\\x77\\xca\\x58\\xb5\\xb1\\xc2\\x9e\\x16\\x89\\xd2\\x62\\x5f\\x43\\x91\\x8b\\x3f\\x99\\xbb\\x23\\xbe\\x0b\\x63\\x88\\xdc\\x66\\xe8\\x73\\xe7\\xe9\\x9c\\xb5\\xf3\\x6a\\x49\\xa3\\xb4\\xc2\\x0d\\x28\\x09\\x84\\x07\\x04\\x8f\\xb3\\x1b\\x72\\x57\\x92\\xab\\x51\\x60\\xe5\\xfa\\x51\\x2a\\x93\\xc3\\xf5\\xfa\\x3c\\x79\\x39\\x81\\xfd\\x5b\\x16\\x39\\x08\\xee\\x80\\x63\\xe1\\xc6\\x9d\\xf8\\x3b\\x79\\x77\\x49\\x38\\x43\\x60\\x39\\x04\\x5f\\x86\\x46\\x79\\x4e\\x9e\\x0a\\x65\\xf4\\x03\\xc7\\xb1\\xe7\\x72\\x2f\\xc9\\x2c\\xa1\\x9f\\xa8\\x1e\\x25\\x98\\xa9\\xd0\\x34\\x12\\x85\\x68\\x02\\xf3\\xfb\\xa1\\xa3\\xc3\\xba\\x3a\\xaa\\x54\\xd5\\xf0\\xa1\\xe0\\x5b\\x16\\x0f\\x29\\x8c\\x90\\x1c\\xe9\\x62\\x5f\\xa6\\x03\\x5f\\x0f\\x65\\x42\\xf4\\x66\\x33\\x48\\x9e\\xb0\\xa4\\xde\\xb2\\x0a\\x4c\\x08\\xad\\x6e\\x29\\x4f\\x9e\\x87\\x49\\x7b\\xd7\\x69\\x29\\x71\\x1e\\xcd\\x44\\x6b\\x9a\\xab\\x1f\\x0a\\xfa\\x20\\x15\\xfd\\xcf\\xe8\\xf2\\x66\\x65\\xda\\x1e\\x9a\\x05\\x96\\x71\\xc7\\x74\\x73\\xcd\\xc0\\x7a\\xdc\\xeb\\xdc\\x3f\\xf4\\x49\\xf5\\xbd\\x35\\x55\\x3a\\x0b\\xc9\\x4a\\x90\\xd9\\x47\\x28\\x85\\xa4\\x53\\x9a\\x1f\\x0b\\xac\\x94\\x8a\\xbb\\xc0\\x2f\\x4c\\xd4\\x1a\\xdb\\x28\\xad\\x19\\x5a\\xb9\\x3a\\xee\\xa0\\xa6\\xcc\\xae\\xcd\\xf1\\x9a\\x86\\x4e\\xa3\\x54\\xe9\\xcf\\xea\\xe2\\x92\\xae\\x7b\\xce\\x3b\\x69\\x06\\x5c\\x02\\xe1\\x23\\xfb\\x20\\x8c\\x8e\\x8b\\xe3\\xa4\\xd1\\xef\\x59\\x08\\xcf\\x4a\\x27\\x83\\xd1\\xe1\\xe5\\xc5\\xe9\\xd9\\xd5\\xea\\xec\\x30\\x35\\x42\\x73\\x84\\xfa\\x61\\xe2\\xf6\\x53\\x91\\x14\\x7d\\xaf\\x30\\x30\\xf8\\x07\\xd4\\x4b\\xdb\\x65\\xe2\\xfa\\x4e\\x96\\x05\\x53\\xaf\\xaa\\x5b\\xb5\\x15\\x51\\x15\\x75\\x58\\x5f\\x9e\\x73\\xc6\\x8d\\x12\\xc6\\x60\\x92\\x8f\\xf3\\x20\\xcd\\x3b\\x22\\x9b\\xb2\\x51\\x77\\x38\\x71\\xc0\\x1a\\x7a\\xad\\x22\\xa7\\xca\\xee\\xa6\\x02\\xc2\\x50\\xd7\\xe6\\x5e\\x44\\x95\\xd3\\xf7\\x18\\x1a\\xa1\\x3f\\x4d\\x1b\\x86\\x8a\\xde\\xd0\\x7e\\xb6\\x70\\x28\\x11\\xb8\\xe4\\x39\\xdb\\x44\\x2e\\x69\\x5c\\xe9\\x40\\x62\\x86\\xdc\\x7b\\x20\\x79\\x7b\\x36\\x3f\\xb8\\x4d\\x5a\\xb7\\x50\\x03\\x44\\x14\\xe0\\xf2\\x4a\\x1f\\xa7\\x2d\\x96\\x7d\\xb4\\x33\\xb1\\xa1\\x3a\\x9a\\xae\\x76\\xa5\\x8b\\xb5\\xfc\\x8a\\xfb\\x1f\\xed\\xd9\\x08\\x93\\xd4\\x58\\x99\\x51\\xda\\xd6\\x98\\x6d\\x63\\xd3\\xde\\xf0\\xb2\\x24\\xe1\\x37\\x0d\\x32\\x89\\x5d\\xea\\xc4\\x22\\x6f\\xa7\\x4b\\xb7\\x5d\\x48\\x78\\xd6\\x40\\x0b\\x33\\x58\\x2c\\x79\\xad\\x4a\\x01\\x21\\x35\\xf2\\x14\\x2d\\x84\\x44\\x6a\\x96\\x30\\xb3\\xc9\\x35\\xbc\\xbc\\x4d\\xf3\\xaa\\x49\\x93\\x31\\x7f\\xcc\\xa4\\x13\\x93\\x1a\\x92\\xe9\\x01\\xe9\\x85\\x95\\x93\\x04\\xc4\\xd5\\x52\\xf0\\xc5\\x76\\x4a\\xcc\\xb0\\x78\\xbe\\xe0\\xae\\xce\\x3e\\xfd\\xfd\\x64\\x33\\x2f\\x12\\xe3\\x9f\\x0b\\x21\\xad\\x8d\\x7c\\xa3\\x9e\\x9a\\xe7\\xb9\\x2d\\xdf\\x7e\\x58\\xff\\x76\\x7d\\xb3\\xca\\xb6\\xb4\\x48\\x2c\\x5f\\xc5\\x0a\\x29\\xd2\\x54\\x3b\\x0f\\x15\\xfe\\x0b\\x00\\x00\\xff\\xff\\x2e\\xc6\\xb5\\x78\\xb9\\x07\\x00\\x00\")\n\nfunc readmeBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_readme,\n\t\t\"README\",\n\t)\n}\n\nfunc readme() (*asset, error) {\n\tbytes, err := readmeBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"README\", size: 1977, mode: os.FileMode(420), modTime: time.Unix(1459927767, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\nvar _todo = []byte(\"\\x1f\\x8b\\x08\\x00\\x00\\x09\\x6e\\x88\\x00\\xff\\x9c\\x90\\xcb\\x4e\\x42\\x31\\x10\\x86\\xd7\\x9e\\xa7\\xf8\\x13\\x56\\x24\\xca\\xc5\\x0b\\x82\\x89\\x31\\x31\\x31\\xd1\\x44\\x57\\x2c\\x5c\\x92\\xa1\\x1d\\x4e\\x27\\x96\\x4e\\xd3\\x0e\\x1c\\xe0\\xe9\\xe5\\xc8\\x1b\\xb8\\x98\\xcd\\x7c\\x73\\xfd\\xde\\xb9\\x30\\xe8\\x1c\\xa6\\x5e\\xb1\\xd1\\x82\\xc4\\x07\\x43\\xe1\\xc8\\x54\\xb9\\x99\\x0e\\xb1\\xe4\\xb2\\x16\\x4a\\x68\\xe3\\x31\\x87\\xbf\\x8a\\x4e\\x7e\\x24\\xb3\\x17\\x42\\x30\\xcb\\xf5\\x69\\x3c\\x5e\\xef\\xda\\x93\\xc4\\x48\\xa3\\xc2\\x3e\\x90\\x8d\\x9c\\x6e\\xc7\\x35\\x68\\xb7\\x3a\\x83\\x91\\x6b\\xe5\\x45\\xfc\\xf3\\xec\\xe1\\x71\\x7e\\xbf\\x68\\xae\\x6e\\xf0\\xb1\\xcd\\x45\\xf7\\x92\\x5a\\xd4\\x40\\x99\\xa1\\x1b\\x2c\\x57\\xaf\\x6f\\xff\\x98\\x36\\x70\\x8b\\x59\\x73\\x3b\\xc4\\xa7\\xac\\xb9\\x90\\x89\\x26\\x7c\\x69\\x52\\x24\\xed\\x5f\\x70\\xda\\x26\\x39\\xf5\\x7b\\xa8\\x5e\\xf2\\x92\\xf0\\x2d\\xc9\\x6b\\x57\\x41\\x39\\x47\\x71\\x97\\x9e\\xc1\\x7c\\x36\\x9d\\x4c\\xee\\xfa\\xdb\\x72\\xe1\\xca\\xc9\\xe2\\x11\\x62\\x90\\x8a\\x4c\\xe6\\xc2\\x35\\x3a\\x46\\xa0\\x7d\\x6f\\x09\\xbb\\xec\\xc9\\x18\\x27\\x2e\\x7a\\x36\\xe1\\x2d\\xc0\\x05\\x2a\\xe4\\x8c\\x4b\\xed\\xf9\\x46\\x0e\\xec\\x2f\\xa4\\xf9\\x0d\\x00\\x00\\xff\\xff\\x61\\xba\\x0e\\xae\\x5e\\x01\\x00\\x00\")\n\nfunc todoBytes() ([]byte, error) {\n\treturn bindataRead(\n\t\t_todo,\n\t\t\"TODO\",\n\t)\n}\n\nfunc todo() (*asset, error) {\n\tbytes, err := todoBytes()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tinfo := bindataFileInfo{name: \"TODO\", size: 350, mode: os.FileMode(420), modTime: time.Unix(1459927767, 0)}\n\ta := &asset{bytes: bytes, info: info}\n\treturn a, nil\n}\n\n// Asset loads and returns the asset for the given name.\n// It returns an error if the asset could not be found or\n// could not be loaded.\nfunc Asset(name string) ([]byte, error) {\n\tcannonicalName := strings.Replace(name, \"\\\\\", \"/\", -1)\n\tif f, ok := _bindata[cannonicalName]; ok {\n\t\ta, err := f()\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"Asset %s can't read by error: %v\", name, err)\n\t\t}\n\t\treturn a.bytes, nil\n\t}\n\treturn nil, fmt.Errorf(\"Asset %s not found\", name)\n}\n\n// MustAsset is like Asset but panics when Asset would return an error.\n// It simplifies safe initialization of global variables.\nfunc MustAsset(name string) []byte {\n\ta, err := Asset(name)\n\tif err != nil {\n\t\tpanic(\"asset: Asset(\" + name + \"): \" + err.Error())\n\t}\n\n\treturn a\n}\n\n// AssetInfo loads and returns the asset info for the given name.\n// It returns an error if the asset could not be found or\n// could not be loaded.\nfunc AssetInfo(name string) (os.FileInfo, error) {\n\tcannonicalName := strings.Replace(name, \"\\\\\", \"/\", -1)\n\tif f, ok := _bindata[cannonicalName]; ok {\n\t\ta, err := f()\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"AssetInfo %s can't read by error: %v\", name, err)\n\t\t}\n\t\treturn a.info, nil\n\t}\n\treturn nil, fmt.Errorf(\"AssetInfo %s not found\", name)\n}\n\n// AssetNames returns the names of the assets.\nfunc AssetNames() []string {\n\tnames := make([]string, 0, len(_bindata))\n\tfor name := range _bindata {\n\t\tnames = append(names, name)\n\t}\n\treturn names\n}\n\n// _bindata is a table, holding each asset generator, mapped to its name.\nvar _bindata = map[string]func() (*asset, error){\n\t\"AUTHORS\":                        authors,\n\t\"ChangeLog\":                      changelog,\n\t\"LICENSE\":                        license,\n\t\"LiberationMono-Bold.ttf\":        liberationmonoBoldTtf,\n\t\"LiberationMono-BoldItalic.ttf\":  liberationmonoBolditalicTtf,\n\t\"LiberationMono-Italic.ttf\":      liberationmonoItalicTtf,\n\t\"LiberationMono-Regular.ttf\":     liberationmonoRegularTtf,\n\t\"LiberationSans-Bold.ttf\":        liberationsansBoldTtf,\n\t\"LiberationSans-BoldItalic.ttf\":  liberationsansBolditalicTtf,\n\t\"LiberationSans-Italic.ttf\":      liberationsansItalicTtf,\n\t\"LiberationSans-Regular.ttf\":     liberationsansRegularTtf,\n\t\"LiberationSerif-Bold.ttf\":       liberationserifBoldTtf,\n\t\"LiberationSerif-BoldItalic.ttf\": liberationserifBolditalicTtf,\n\t\"LiberationSerif-Italic.ttf\":     liberationserifItalicTtf,\n\t\"LiberationSerif-Regular.ttf\":    liberationserifRegularTtf,\n\t\"README\":                         readme,\n\t\"TODO\":                           todo,\n}\n\n// AssetDir returns the file names below a certain\n// directory embedded in the file by go-bindata.\n// For example if you run go-bindata on data/... and data contains the\n// following hierarchy:\n//     data/\n//       foo.txt\n//       img/\n//         a.png\n//         b.png\n// then AssetDir(\"data\") would return []string{\"foo.txt\", \"img\"}\n// AssetDir(\"data/img\") would return []string{\"a.png\", \"b.png\"}\n// AssetDir(\"foo.txt\") and AssetDir(\"notexist\") would return an error\n// AssetDir(\"\") will return []string{\"data\"}.\nfunc AssetDir(name string) ([]string, error) {\n\tnode := _bintree\n\tif len(name) != 0 {\n\t\tcannonicalName := strings.Replace(name, \"\\\\\", \"/\", -1)\n\t\tpathList := strings.Split(cannonicalName, \"/\")\n\t\tfor _, p := range pathList {\n\t\t\tnode = node.Children[p]\n\t\t\tif node == nil {\n\t\t\t\treturn nil, fmt.Errorf(\"Asset %s not found\", name)\n\t\t\t}\n\t\t}\n\t}\n\tif node.Func != nil {\n\t\treturn nil, fmt.Errorf(\"Asset %s not found\", name)\n\t}\n\trv := make([]string, 0, len(node.Children))\n\tfor childName := range node.Children {\n\t\trv = append(rv, childName)\n\t}\n\treturn rv, nil\n}\n\ntype bintree struct {\n\tFunc     func() (*asset, error)\n\tChildren map[string]*bintree\n}\n\nvar _bintree = &bintree{nil, map[string]*bintree{\n\t\"AUTHORS\":                        &bintree{authors, map[string]*bintree{}},\n\t\"ChangeLog\":                      &bintree{changelog, map[string]*bintree{}},\n\t\"LICENSE\":                        &bintree{license, map[string]*bintree{}},\n\t\"LiberationMono-Bold.ttf\":        &bintree{liberationmonoBoldTtf, map[string]*bintree{}},\n\t\"LiberationMono-BoldItalic.ttf\":  &bintree{liberationmonoBolditalicTtf, map[string]*bintree{}},\n\t\"LiberationMono-Italic.ttf\":      &bintree{liberationmonoItalicTtf, map[string]*bintree{}},\n\t\"LiberationMono-Regular.ttf\":     &bintree{liberationmonoRegularTtf, map[string]*bintree{}},\n\t\"LiberationSans-Bold.ttf\":        &bintree{liberationsansBoldTtf, map[string]*bintree{}},\n\t\"LiberationSans-BoldItalic.ttf\":  &bintree{liberationsansBolditalicTtf, map[string]*bintree{}},\n\t\"LiberationSans-Italic.ttf\":      &bintree{liberationsansItalicTtf, map[string]*bintree{}},\n\t\"LiberationSans-Regular.ttf\":     &bintree{liberationsansRegularTtf, map[string]*bintree{}},\n\t\"LiberationSerif-Bold.ttf\":       &bintree{liberationserifBoldTtf, map[string]*bintree{}},\n\t\"LiberationSerif-BoldItalic.ttf\": &bintree{liberationserifBolditalicTtf, map[string]*bintree{}},\n\t\"LiberationSerif-Italic.ttf\":     &bintree{liberationserifItalicTtf, map[string]*bintree{}},\n\t\"LiberationSerif-Regular.ttf\":    &bintree{liberationserifRegularTtf, map[string]*bintree{}},\n\t\"README\":                         &bintree{readme, map[string]*bintree{}},\n\t\"TODO\":                           &bintree{todo, map[string]*bintree{}},\n}}\n\n// RestoreAsset restores an asset under the given directory\nfunc RestoreAsset(dir, name string) error {\n\tdata, err := Asset(name)\n\tif err != nil {\n\t\treturn err\n\t}\n\tinfo, err := AssetInfo(name)\n\tif err != nil {\n\t\treturn err\n\t}\n\terr = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))\n\tif err != nil {\n\t\treturn err\n\t}\n\terr = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())\n\tif err != nil {\n\t\treturn err\n\t}\n\terr = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// RestoreAssets restores an asset under the given directory recursively\nfunc RestoreAssets(dir, name string) error {\n\tchildren, err := AssetDir(name)\n\t// File\n\tif err != nil {\n\t\treturn RestoreAsset(dir, name)\n\t}\n\t// Dir\n\tfor _, child := range children {\n\t\terr = RestoreAssets(dir, filepath.Join(name, child))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc _filePath(dir, name string) string {\n\tcannonicalName := strings.Replace(name, \"\\\\\", \"/\", -1)\n\treturn filepath.Join(append([]string{dir}, strings.Split(cannonicalName, \"/\")...)...)\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/fonts/mk-fonts.go",
    "content": "// Copyright ©2016 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\nimport (\n\t\"archive/tar\"\n\t\"compress/gzip\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path/filepath\"\n\t\"strings\"\n)\n\nconst (\n\tbaseUrl   = \"https://releases.pagure.org/liberation-fonts/\"\n\tfontsName = \"liberation-fonts-ttf-2.00.1\"\n)\n\nfunc main() {\n\tlog.SetPrefix(\"mk-vg-fonts: \")\n\tlog.SetFlags(0)\n\n\ttmpdir, err := ioutil.TempDir(\"\", \"gonum-mk-fonts-\")\n\tif err != nil {\n\t\tlog.Fatalf(\"error creating temporary directory: %v\\n\", err)\n\t}\n\tdefer os.RemoveAll(tmpdir)\n\n\ttarf, err := os.Create(filepath.Join(tmpdir, fontsName+\".tar.gz\"))\n\tif err != nil {\n\t\tlog.Fatalf(\"error creating local fonts tar file: %v\\n\", err)\n\t}\n\tdefer tarf.Close()\n\n\turlSrc := baseUrl + fontsName + \".tar.gz\"\n\tlog.Printf(\"downloading [%v]...\\n\", urlSrc)\n\tresp, err := http.DefaultClient.Get(urlSrc)\n\tif err != nil {\n\t\tlog.Fatalf(\"error getting url %v: %v\\n\", urlSrc, err)\n\t}\n\tdefer resp.Body.Close()\n\n\terr = untar(tmpdir, resp.Body)\n\tif err != nil {\n\t\tlog.Fatalf(\"error untarring: %v\\n\", err)\n\t}\n\n\tfontsDir := getFontsDir()\n\terr = exec.Command(\"go\", \"get\", \"github.com/jteeuwen/go-bindata/...\").Run()\n\tif err != nil {\n\t\tlog.Fatalf(\"error go-getting go-bindata: %v\\n\", err)\n\t}\n\n\tfname := filepath.Join(fontsDir, \"liberation_fonts_generated.go\")\n\tlog.Printf(\"generating fonts: %v\\n\", fname)\n\tcmd := exec.Command(\"go-bindata\", \"-pkg=fonts\", \"-o\", fname, \".\")\n\tcmd.Dir = filepath.Join(tmpdir, fontsName)\n\tcmd.Stdin = os.Stdin\n\tcmd.Stdout = os.Stdout\n\tcmd.Stderr = os.Stderr\n\terr = cmd.Run()\n\tif err != nil {\n\t\tlog.Fatalf(\"error generating asset-data: %v\\n\", err)\n\t}\n\n\terr = prependHeaders(fname)\n\tif err != nil {\n\t\tlog.Fatalf(\"error prepending headers to [%s]: %v\\n\", fname, err)\n\t}\n\n\tcmd = exec.Command(\"gofmt\", \"-w\", fname)\n\tcmd.Dir = fontsDir\n\tcmd.Stdin = os.Stdin\n\tcmd.Stdout = cmd.Stdout\n\tcmd.Stderr = cmd.Stderr\n\terr = cmd.Run()\n\tif err != nil {\n\t\tlog.Fatalf(\"error running gofmt on %v: %v\\n\", fname, err)\n\t}\n}\n\nfunc getFontsDir() string {\n\tdir := \"gonum.org/v1/plot/vg\"\n\tgopath := os.Getenv(\"GOPATH\")\n\tif gopath == \"\" {\n\t\tlog.Fatal(\"no GOPATH environment variable\")\n\t}\n\n\tfor _, p := range strings.Split(gopath, string(os.PathListSeparator)) {\n\t\tif p == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tn := filepath.Join(p, \"src\", dir, \"fonts\")\n\t\t_, err := os.Stat(n)\n\t\tif err != nil {\n\t\t\tcontinue\n\t\t}\n\t\treturn n\n\t}\n\tlog.Fatal(\"could not find %q anywhere under $GOPATH\", dir)\n\tpanic(\"unreachable\")\n}\n\nfunc untar(odir string, r io.Reader) error {\n\tgz, err := gzip.NewReader(r)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer gz.Close()\n\n\ttr := tar.NewReader(gz)\n\t// Iterate through the files in the archive.\n\tfor {\n\t\thdr, err := tr.Next()\n\t\tif err == io.EOF {\n\t\t\t// end of tar archive\n\t\t\tbreak\n\t\t}\n\t\tif err != nil {\n\t\t\tlog.Printf(\"error: %v\\n\", err)\n\t\t\tcontinue\n\t\t}\n\n\t\tswitch hdr.Typeflag {\n\t\tcase tar.TypeDir:\n\t\t\tdir := filepath.Join(odir, hdr.Name)\n\t\t\terr = os.MkdirAll(dir, 0755)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\n\t\tcase tar.TypeReg, tar.TypeRegA:\n\t\t\t// ok\n\t\tdefault:\n\t\t\tlog.Printf(\"error: %v\\n\", hdr.Typeflag)\n\t\t\treturn err\n\t\t}\n\t\toname := filepath.Join(odir, hdr.Name)\n\t\tdir := filepath.Dir(oname)\n\t\terr = os.MkdirAll(dir, 0755)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\to, err := os.OpenFile(\n\t\t\toname,\n\t\t\tos.O_WRONLY|os.O_CREATE,\n\t\t\tos.FileMode(hdr.Mode),\n\t\t)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefer o.Close()\n\t\t_, err = io.Copy(o, tr)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\terr = o.Close()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc prependHeaders(name string) error {\n\tsrc, err := os.Open(name)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer src.Close()\n\n\tdst, err := os.Create(name + \".tmp\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer dst.Close()\n\n\t_, err = dst.WriteString(`// Automatically generated by vg/fonts/mk-fonts.go\n// DO NOT EDIT.\n\n// Copyright ©2016 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// Digitized data copyright (c) 2010 Google Corporation\n//         with Reserved Font Arimo, Tinos and Cousine.\n// Copyright (c) 2012 Red Hat, Inc.\n//         with Reserved Font Name Liberation.\n//\n// This Font Software is licensed under the SIL Open Font License,\n// Version 1.1.\n\n`)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t_, err = io.Copy(dst, src)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\terr = src.Close()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\terr = dst.Close()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn os.Rename(dst.Name(), src.Name())\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/geom.go",
    "content": "// Copyright ©2016 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage vg\n\n// A Point is a location in 2d space.\n//\n// Points are used for drawing, not for data.  For\n// data, see the XYer interface.\ntype Point struct {\n\tX, Y Length\n}\n\n// Dot returns the dot product of two points.\nfunc (p Point) Dot(q Point) Length {\n\treturn p.X*q.X + p.Y*q.Y\n}\n\n// Add returns the component-wise sum of two points.\nfunc (p Point) Add(q Point) Point {\n\treturn Point{p.X + q.X, p.Y + q.Y}\n}\n\n// Sub returns the component-wise difference of two points.\nfunc (p Point) Sub(q Point) Point {\n\treturn Point{p.X - q.X, p.Y - q.Y}\n}\n\n// Scale returns the component-wise product of a point and a scalar.\nfunc (p Point) Scale(s Length) Point {\n\treturn Point{p.X * s, p.Y * s}\n}\n\n// A Rectangle represents a rectangular region of 2d space.\ntype Rectangle struct {\n\tMin Point\n\tMax Point\n}\n\n// Size returns the width and height of a Rectangle.\nfunc (r Rectangle) Size() Point {\n\treturn Point{\n\t\tX: r.Max.X - r.Min.X,\n\t\tY: r.Max.Y - r.Min.Y,\n\t}\n}\n\n// Path returns the path of a Rect specified by its\n// upper left corner, width and height.\nfunc (r Rectangle) Path() (p Path) {\n\tp.Move(r.Min)\n\tp.Line(Point{X: r.Max.X, Y: r.Min.Y})\n\tp.Line(r.Max)\n\tp.Line(Point{X: r.Min.X, Y: r.Max.Y})\n\tp.Close()\n\treturn\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/len.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage vg\n\nimport (\n\t\"strconv\"\n\t\"strings\"\n)\n\n// A Length is a unit-independent representation of length.\n// Internally, the length is stored in postscript points.\ntype Length float64\n\n// Points returns a length for the given number of points.\nfunc Points(pt float64) Length {\n\treturn Length(pt)\n}\n\n// Common lengths.\nconst (\n\tInch       Length = 72\n\tCentimeter        = Inch / 2.54\n\tMillimeter        = Centimeter / 10\n)\n\n// Dots returns the length in dots for the given resolution.\nfunc (l Length) Dots(dpi float64) float64 {\n\treturn float64(l) / Inch.Points() * dpi\n}\n\n// Points returns the length in postscript points.\nfunc (l Length) Points() float64 {\n\treturn float64(l)\n}\n\n// ParseLength parses a Length string.\n// A Length string is a possible signed floating number with a unit.\n// e.g. \"42cm\" \"2.4in\" \"66pt\"\n// If no unit was given, ParseLength assumes it was (postscript) points.\n// Currently valid units are:\n//   mm (millimeter)\n//   cm (centimeter)\n//   in (inch)\n//   pt (point)\nfunc ParseLength(value string) (Length, error) {\n\tvar unit Length = 1\n\tswitch {\n\tcase strings.HasSuffix(value, \"in\"):\n\t\tvalue = value[:len(value)-len(\"in\")]\n\t\tunit = Inch\n\tcase strings.HasSuffix(value, \"cm\"):\n\t\tvalue = value[:len(value)-len(\"cm\")]\n\t\tunit = Centimeter\n\tcase strings.HasSuffix(value, \"mm\"):\n\t\tvalue = value[:len(value)-len(\"mm\")]\n\t\tunit = Millimeter\n\tcase strings.HasSuffix(value, \"pt\"):\n\t\tvalue = value[:len(value)-len(\"pt\")]\n\t\tunit = 1\n\t}\n\tv, err := strconv.ParseFloat(value, 64)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn Length(v) * unit, nil\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/vg.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package vg defines an interface for drawing 2D vector graphics.\n// This package is designed with the hope that many different\n// vector graphics back-ends can conform to the interface.\npackage vg // import \"gonum.org/v1/plot/vg\"\n\nimport (\n\t\"image\"\n\t\"image/color\"\n\t\"io\"\n)\n\n// A Canvas is the main drawing interface for 2D vector\n// graphics.  The origin is in the bottom left corner.\ntype Canvas interface {\n\t// SetLineWidth sets the width of stroked paths.\n\t// If the width is not positive then stroked lines\n\t// are not drawn.\n\t//\n\t// The initial line width is 1 point.\n\tSetLineWidth(Length)\n\n\t// SetLineDash sets the dash pattern for lines.\n\t// The pattern slice specifies the lengths of\n\t// alternating dashes and gaps, and the offset\n\t// specifies the distance into the dash pattern\n\t// to start the dash.\n\t//\n\t// The initial dash pattern is a solid line.\n\tSetLineDash(pattern []Length, offset Length)\n\n\t// SetColor sets the current drawing color.\n\t// Note that fill color and stroke color are\n\t// the same, so if you want different fill\n\t// and stroke colors then you must set a color,\n\t// draw fills, set a new color and then draw lines.\n\t//\n\t// The initial color is black.  If SetColor is\n\t// called with a nil color then black is used.\n\tSetColor(color.Color)\n\n\t// Rotate applies a rotation transform to the\n\t// context.  The parameter is specified in\n\t// radians.\n\tRotate(rad float64)\n\n\t// Translate applies a translational transform\n\t// to the context.\n\tTranslate(pt Point)\n\n\t// Scale applies a scaling transform to the\n\t// context.\n\tScale(x, y float64)\n\n\t// Push saves the current line width, the\n\t// current dash pattern, the current\n\t// transforms, and the current color\n\t// onto a stack so that the state can later\n\t// be restored by calling Pop().\n\tPush()\n\n\t// Pop restores the context saved by the\n\t// corresponding call to Push().\n\tPop()\n\n\t// Stroke strokes the given path.\n\tStroke(Path)\n\n\t// Fill fills the given path.\n\tFill(Path)\n\n\t// FillString fills in text at the specified\n\t// location using the given font.\n\tFillString(f Font, pt Point, text string)\n\n\t// DrawImage draws the image, scaled to fit\n\t// the destination rectangle.\n\tDrawImage(rect Rectangle, img image.Image)\n}\n\n// CanvasSizer is a Canvas with a defined size.\ntype CanvasSizer interface {\n\tCanvas\n\tSize() (x, y Length)\n}\n\n// CanvasWriterTo is a CanvasSizer with a WriteTo method.\ntype CanvasWriterTo interface {\n\tCanvasSizer\n\tio.WriterTo\n}\n\n// Initialize sets all of the canvas's values to their\n// initial values.\nfunc Initialize(c Canvas) {\n\tc.SetLineWidth(Points(1))\n\tc.SetLineDash([]Length{}, 0)\n\tc.SetColor(color.Black)\n}\n\ntype Path []PathComp\n\n// Move moves the current location of the path to\n// the given point.\nfunc (p *Path) Move(pt Point) {\n\t*p = append(*p, PathComp{Type: MoveComp, Pos: pt})\n}\n\n// Line draws a line from the current point to the\n// given point.\nfunc (p *Path) Line(pt Point) {\n\t*p = append(*p, PathComp{Type: LineComp, Pos: pt})\n}\n\n// Arc adds an arc to the path defined by the center\n// point of the arc's circle, the radius of the circle\n// and the start and sweep angles.\nfunc (p *Path) Arc(pt Point, rad Length, s, a float64) {\n\t*p = append(*p, PathComp{\n\t\tType:   ArcComp,\n\t\tPos:    pt,\n\t\tRadius: rad,\n\t\tStart:  s,\n\t\tAngle:  a,\n\t})\n}\n\n// Close closes the path by connecting the current\n// location to the start location with a line.\nfunc (p *Path) Close() {\n\t*p = append(*p, PathComp{Type: CloseComp})\n}\n\n// Constants that tag the type of each path\n// component.\nconst (\n\tMoveComp = iota\n\tLineComp\n\tArcComp\n\tCloseComp\n)\n\n// A PathComp is a component of a path structure.\ntype PathComp struct {\n\t// Type is the type of a particluar component.\n\t// Based on the type, each of the following\n\t// fields may have a different meaning or may\n\t// be meaningless.\n\tType int\n\n\t// The Pos field is used as the destination\n\t// of a MoveComp or LineComp and is the center\n\t// point of an ArcComp.  It is not used in\n\t// the CloseComp.\n\tPos Point\n\n\t// Radius is only used for ArcComps, it is\n\t// the radius of the circle defining the arc.\n\tRadius Length\n\n\t// Start and Angle are only used for ArcComps.\n\t// They define the start angle and sweep angle of\n\t// the arc around the circle.  The units of the\n\t// angle are radians.\n\tStart, Angle float64\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/vgeps/vgeps.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package vgeps implements the vg.Canvas interface using\n// encapsulated postscript.\npackage vgeps // import \"gonum.org/v1/plot/vg/vgeps\"\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"fmt\"\n\t\"image\"\n\t\"image/color\"\n\t\"io\"\n\t\"math\"\n\t\"time\"\n\n\t\"gonum.org/v1/plot/vg\"\n)\n\n// DPI is the nominal resolution of drawing in EPS.\nconst DPI = 72\n\ntype Canvas struct {\n\tstack []context\n\tw, h  vg.Length\n\tbuf   *bytes.Buffer\n}\n\ntype context struct {\n\tcolor  color.Color\n\twidth  vg.Length\n\tdashes []vg.Length\n\toffs   vg.Length\n\tfont   string\n\tfsize  vg.Length\n}\n\n// pr is the amount of precision to use when outputting float64s.\nconst pr = 5\n\n// New returns a new Canvas.\nfunc New(w, h vg.Length) *Canvas {\n\treturn NewTitle(w, h, \"\")\n}\n\n// NewTitle returns a new Canvas with the given title string.\nfunc NewTitle(w, h vg.Length, title string) *Canvas {\n\tc := &Canvas{\n\t\tstack: []context{context{}},\n\t\tw:     w,\n\t\th:     h,\n\t\tbuf:   new(bytes.Buffer),\n\t}\n\tc.buf.WriteString(\"%%!PS-Adobe-3.0 EPSF-3.0\\n\")\n\tc.buf.WriteString(\"%%Creator gonum.org/v1/plot/vg/vgeps\\n\")\n\tc.buf.WriteString(\"%%Title: \" + title + \"\\n\")\n\tc.buf.WriteString(fmt.Sprintf(\"%%%%BoundingBox: 0 0 %.*g %.*g\\n\",\n\t\tpr, w.Dots(DPI),\n\t\tpr, h.Dots(DPI)))\n\tc.buf.WriteString(fmt.Sprintf(\"%%%%CreationDate: %s\\n\", time.Now()))\n\tc.buf.WriteString(\"%%Orientation: Portrait\\n\")\n\tc.buf.WriteString(\"%%EndComments\\n\")\n\tc.buf.WriteString(\"\\n\")\n\tvg.Initialize(c)\n\treturn c\n}\n\nfunc (c *Canvas) Size() (w, h vg.Length) {\n\treturn c.w, c.h\n}\n\n// context returns the top context on the stack.\nfunc (e *Canvas) context() *context {\n\treturn &e.stack[len(e.stack)-1]\n}\n\nfunc (e *Canvas) SetLineWidth(w vg.Length) {\n\tif e.context().width != w {\n\t\te.context().width = w\n\t\tfmt.Fprintf(e.buf, \"%.*g setlinewidth\\n\", pr, w.Dots(DPI))\n\t}\n}\n\nfunc (e *Canvas) SetLineDash(dashes []vg.Length, o vg.Length) {\n\tcur := e.context().dashes\n\tdashEq := len(dashes) == len(cur)\n\tfor i := 0; dashEq && i < len(dashes); i++ {\n\t\tif dashes[i] != cur[i] {\n\t\t\tdashEq = false\n\t\t}\n\t}\n\tif !dashEq || e.context().offs != o {\n\t\te.context().dashes = dashes\n\t\te.context().offs = o\n\t\te.buf.WriteString(\"[\")\n\t\tfor _, d := range dashes {\n\t\t\tfmt.Fprintf(e.buf, \" %.*g\", pr, d.Dots(DPI))\n\t\t}\n\t\te.buf.WriteString(\" ] \")\n\t\tfmt.Fprintf(e.buf, \"%.*g setdash\\n\", pr, o.Dots(DPI))\n\t}\n}\n\nfunc (e *Canvas) SetColor(c color.Color) {\n\tif c == nil {\n\t\tc = color.Black\n\t}\n\tif e.context().color != c {\n\t\te.context().color = c\n\t\tr, g, b, _ := c.RGBA()\n\t\tmx := float64(math.MaxUint16)\n\t\tfmt.Fprintf(e.buf, \"%.*g %.*g %.*g setrgbcolor\\n\", pr, float64(r)/mx,\n\t\t\tpr, float64(g)/mx, pr, float64(b)/mx)\n\t}\n}\n\nfunc (e *Canvas) Rotate(r float64) {\n\tfmt.Fprintf(e.buf, \"%.*g rotate\\n\", pr, r*180/math.Pi)\n}\n\nfunc (e *Canvas) Translate(pt vg.Point) {\n\tfmt.Fprintf(e.buf, \"%.*g %.*g translate\\n\",\n\t\tpr, pt.X.Dots(DPI), pr, pt.Y.Dots(DPI))\n}\n\nfunc (e *Canvas) Scale(x, y float64) {\n\tfmt.Fprintf(e.buf, \"%.*g %.*g scale\\n\", pr, x, pr, y)\n}\n\nfunc (e *Canvas) Push() {\n\te.stack = append(e.stack, *e.context())\n\te.buf.WriteString(\"gsave\\n\")\n}\n\nfunc (e *Canvas) Pop() {\n\te.stack = e.stack[:len(e.stack)-1]\n\te.buf.WriteString(\"grestore\\n\")\n}\n\nfunc (e *Canvas) Stroke(path vg.Path) {\n\tif e.context().width <= 0 {\n\t\treturn\n\t}\n\te.trace(path)\n\te.buf.WriteString(\"stroke\\n\")\n}\n\nfunc (e *Canvas) Fill(path vg.Path) {\n\te.trace(path)\n\te.buf.WriteString(\"fill\\n\")\n}\n\nfunc (e *Canvas) trace(path vg.Path) {\n\te.buf.WriteString(\"newpath\\n\")\n\tfor _, comp := range path {\n\t\tswitch comp.Type {\n\t\tcase vg.MoveComp:\n\t\t\tfmt.Fprintf(e.buf, \"%.*g %.*g moveto\\n\", pr, comp.Pos.X, pr, comp.Pos.Y)\n\t\tcase vg.LineComp:\n\t\t\tfmt.Fprintf(e.buf, \"%.*g %.*g lineto\\n\", pr, comp.Pos.X, pr, comp.Pos.Y)\n\t\tcase vg.ArcComp:\n\t\t\tend := comp.Start + comp.Angle\n\t\t\tarcOp := \"arc\"\n\t\t\tif comp.Angle < 0 {\n\t\t\t\tarcOp = \"arcn\"\n\t\t\t}\n\t\t\tfmt.Fprintf(e.buf, \"%.*g %.*g %.*g %.*g %.*g %s\\n\", pr, comp.Pos.X, pr, comp.Pos.Y,\n\t\t\t\tpr, comp.Radius, pr, comp.Start*180/math.Pi, pr,\n\t\t\t\tend*180/math.Pi, arcOp)\n\t\tcase vg.CloseComp:\n\t\t\te.buf.WriteString(\"closepath\\n\")\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"Unknown path component type: %d\\n\", comp.Type))\n\t\t}\n\t}\n}\n\nfunc (e *Canvas) FillString(fnt vg.Font, pt vg.Point, str string) {\n\tif e.context().font != fnt.Name() || e.context().fsize != fnt.Size {\n\t\te.context().font = fnt.Name()\n\t\te.context().fsize = fnt.Size\n\t\tfmt.Fprintf(e.buf, \"/%s findfont %.*g scalefont setfont\\n\",\n\t\t\tfnt.Name(), pr, fnt.Size)\n\t}\n\tfmt.Fprintf(e.buf, \"%.*g %.*g moveto\\n\", pr, pt.X.Dots(DPI), pr, pt.Y.Dots(DPI))\n\tfmt.Fprintf(e.buf, \"(%s) show\\n\", str)\n}\n\n// DrawImage implements the vg.Canvas.DrawImage method.\nfunc (c *Canvas) DrawImage(rect vg.Rectangle, img image.Image) {\n\t// FIXME: https://github.com/gonum/plot/issues/271\n\tpanic(\"vgeps: DrawImage not implemented\")\n}\n\n// WriteTo writes the canvas to an io.Writer.\nfunc (e *Canvas) WriteTo(w io.Writer) (int64, error) {\n\tb := bufio.NewWriter(w)\n\tn, err := e.buf.WriteTo(b)\n\tif err != nil {\n\t\treturn n, err\n\t}\n\tm, err := fmt.Fprintln(b, \"showpage\")\n\tn += int64(m)\n\tif err != nil {\n\t\treturn n, err\n\t}\n\treturn n, b.Flush()\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/vgimg/vgimg.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package vgimg implements the vg.Canvas interface using\n// draw2d (github.com/llgcode/draw2d)\n// as a backend to output raster images.\npackage vgimg // import \"gonum.org/v1/plot/vg/vgimg\"\n\nimport (\n\t\"bufio\"\n\t\"fmt\"\n\t\"image\"\n\t\"image/color\"\n\t\"image/draw\"\n\t\"image/jpeg\"\n\t\"image/png\"\n\t\"io\"\n\t\"sync\"\n\n\t\"golang.org/x/image/tiff\"\n\n\t\"github.com/llgcode/draw2d\"\n\t\"github.com/llgcode/draw2d/draw2dimg\"\n\n\t\"gonum.org/v1/plot/vg\"\n)\n\n// Canvas implements the vg.Canvas interface,\n// drawing to an image.Image using draw2d.\ntype Canvas struct {\n\tgc    draw2d.GraphicContext\n\timg   draw.Image\n\tw, h  vg.Length\n\tcolor []color.Color\n\n\t// dpi is the number of dots per inch for this canvas.\n\tdpi int\n\n\t// width is the current line width.\n\twidth vg.Length\n}\n\nconst (\n\t// DefaultDPI is the default dot resolution for image\n\t// drawing in dots per inch.\n\tDefaultDPI = 96\n\n\t// DefaultWidth and DefaultHeight are the default canvas\n\t// dimensions.\n\tDefaultWidth  = 4 * vg.Inch\n\tDefaultHeight = 4 * vg.Inch\n)\n\n// New returns a new image canvas.\nfunc New(w, h vg.Length) *Canvas {\n\treturn NewWith(UseWH(w, h))\n}\n\n// NewWith returns a new image canvas created according to the specified\n// options. The currently accepted options are UseWH,\n// UseDPI, UseImage, and UseImageWithContext.\n// Each of the options specifies the size of the canvas (UseWH, UseImage),\n// the resolution of the canvas (UseDPI), or both (useImageWithContext).\n// If size or resolution are not specified, defaults are used.\n// It panics if size and resolution are overspecified (i.e., too many options are\n// passed).\nfunc NewWith(o ...option) *Canvas {\n\tc := new(Canvas)\n\tvar g uint32\n\tfor _, opt := range o {\n\t\tf := opt(c)\n\t\tif g&f != 0 {\n\t\t\tpanic(\"incompatible options\")\n\t\t}\n\t\tg |= f\n\t}\n\tif c.dpi == 0 {\n\t\tc.dpi = DefaultDPI\n\t}\n\tif c.w == 0 { // h should also == 0.\n\t\tif c.img == nil {\n\t\t\tc.w = DefaultWidth\n\t\t\tc.h = DefaultHeight\n\t\t} else {\n\t\t\tw := float64(c.img.Bounds().Max.X - c.img.Bounds().Min.X)\n\t\t\th := float64(c.img.Bounds().Max.Y - c.img.Bounds().Min.Y)\n\t\t\tc.w = vg.Length(w/float64(c.dpi)) * vg.Inch\n\t\t\tc.h = vg.Length(h/float64(c.dpi)) * vg.Inch\n\t\t}\n\t}\n\tif c.img == nil {\n\t\tw := c.w / vg.Inch * vg.Length(c.dpi)\n\t\th := c.h / vg.Inch * vg.Length(c.dpi)\n\t\tc.img = draw.Image(image.NewRGBA(image.Rect(0, 0, int(w+0.5), int(h+0.5))))\n\t}\n\tif c.gc == nil {\n\t\th := float64(c.img.Bounds().Max.Y - c.img.Bounds().Min.Y)\n\t\tc.gc = draw2dimg.NewGraphicContext(c.img)\n\t\tc.gc.SetDPI(c.dpi)\n\t\tc.gc.Scale(1, -1)\n\t\tc.gc.Translate(0, -h)\n\t}\n\tdraw.Draw(c.img, c.img.Bounds(), image.White, image.ZP, draw.Src)\n\tc.color = []color.Color{color.Black}\n\tvg.Initialize(c)\n\treturn c\n}\n\n// These constants are used to ensure that the options\n// used when initializing a canvas are compatible with\n// each other.\nconst (\n\tsetsDPI = 1 << iota\n\tsetsSize\n)\n\ntype option func(*Canvas) uint32\n\n// UseWH specifies the width and height of the canvas.\n// The size is rounded up to the nearest pixel.\nfunc UseWH(w, h vg.Length) option {\n\treturn func(c *Canvas) uint32 {\n\t\tif w <= 0 || h <= 0 {\n\t\t\tpanic(\"w and h must both be > 0.\")\n\t\t}\n\t\tc.w, c.h = w, h\n\t\treturn setsSize\n\t}\n}\n\n// UseDPI sets the dots per inch of a canvas. It should only be\n// used as an option argument when initializing a new canvas.\nfunc UseDPI(dpi int) option {\n\tif dpi <= 0 {\n\t\tpanic(\"DPI must be > 0.\")\n\t}\n\treturn func(c *Canvas) uint32 {\n\t\tc.dpi = dpi\n\t\treturn setsDPI\n\t}\n}\n\n// UseImage specifies an image to create\n// the canvas from. The\n// minimum point of the given image\n// should probably be 0,0.\nfunc UseImage(img draw.Image) option {\n\treturn func(c *Canvas) uint32 {\n\t\tc.img = img\n\t\treturn setsSize\n\t}\n}\n\n// UseImageWithContext specifies both an image\n// and a graphic context to create the canvas from.\n// The minimum point of the given image\n// should probably be 0,0.\nfunc UseImageWithContext(img draw.Image, gc draw2d.GraphicContext) option {\n\treturn func(c *Canvas) uint32 {\n\t\tc.img = img\n\t\tc.gc = gc\n\t\tc.dpi = gc.GetDPI()\n\t\treturn setsDPI | setsSize\n\t}\n}\n\n// Image returns the image the canvas is drawing to.\n//\n// The dimensions of the returned image must not be modified.\nfunc (c *Canvas) Image() draw.Image {\n\treturn c.img\n}\n\nfunc (c *Canvas) Size() (w, h vg.Length) {\n\treturn c.w, c.h\n}\n\nfunc (c *Canvas) SetLineWidth(w vg.Length) {\n\tc.width = w\n\tc.gc.SetLineWidth(w.Dots(c.DPI()))\n}\n\nfunc (c *Canvas) SetLineDash(ds []vg.Length, offs vg.Length) {\n\tdashes := make([]float64, len(ds))\n\tfor i, d := range ds {\n\t\tdashes[i] = d.Dots(c.DPI())\n\t}\n\tc.gc.SetLineDash(dashes, offs.Dots(c.DPI()))\n}\n\nfunc (c *Canvas) SetColor(clr color.Color) {\n\tif clr == nil {\n\t\tclr = color.Black\n\t}\n\tc.gc.SetFillColor(clr)\n\tc.gc.SetStrokeColor(clr)\n\tc.color[len(c.color)-1] = clr\n}\n\nfunc (c *Canvas) Rotate(t float64) {\n\tc.gc.Rotate(t)\n}\n\nfunc (c *Canvas) Translate(pt vg.Point) {\n\tc.gc.Translate(pt.X.Dots(c.DPI()), pt.Y.Dots(c.DPI()))\n}\n\nfunc (c *Canvas) Scale(x, y float64) {\n\tc.gc.Scale(x, y)\n}\n\nfunc (c *Canvas) Push() {\n\tc.color = append(c.color, c.color[len(c.color)-1])\n\tc.gc.Save()\n}\n\nfunc (c *Canvas) Pop() {\n\tc.color = c.color[:len(c.color)-1]\n\tc.gc.Restore()\n}\n\nfunc (c *Canvas) Stroke(p vg.Path) {\n\tif c.width <= 0 {\n\t\treturn\n\t}\n\tc.outline(p)\n\tc.gc.Stroke()\n}\n\nfunc (c *Canvas) Fill(p vg.Path) {\n\tc.outline(p)\n\tc.gc.Fill()\n}\n\nfunc (c *Canvas) outline(p vg.Path) {\n\tc.gc.BeginPath()\n\tfor _, comp := range p {\n\t\tswitch comp.Type {\n\t\tcase vg.MoveComp:\n\t\t\tc.gc.MoveTo(comp.Pos.X.Dots(c.DPI()), comp.Pos.Y.Dots(c.DPI()))\n\n\t\tcase vg.LineComp:\n\t\t\tc.gc.LineTo(comp.Pos.X.Dots(c.DPI()), comp.Pos.Y.Dots(c.DPI()))\n\n\t\tcase vg.ArcComp:\n\t\t\tc.gc.ArcTo(comp.Pos.X.Dots(c.DPI()), comp.Pos.Y.Dots(c.DPI()),\n\t\t\t\tcomp.Radius.Dots(c.DPI()), comp.Radius.Dots(c.DPI()),\n\t\t\t\tcomp.Start, comp.Angle)\n\n\t\tcase vg.CloseComp:\n\t\t\tc.gc.Close()\n\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"Unknown path component: %d\", comp.Type))\n\t\t}\n\t}\n}\n\nfunc (c *Canvas) DPI() float64 {\n\treturn float64(c.gc.GetDPI())\n}\n\nfunc (c *Canvas) FillString(font vg.Font, pt vg.Point, str string) {\n\tc.gc.Save()\n\tdefer c.gc.Restore()\n\n\tdata := draw2d.FontData{Name: font.Name()}\n\tregisteredFont.Lock()\n\tif !registeredFont.m[font.Name()] {\n\t\tdraw2d.RegisterFont(data, font.Font())\n\t\tregisteredFont.m[font.Name()] = true\n\t}\n\tregisteredFont.Unlock()\n\tc.gc.SetFontData(data)\n\tc.gc.SetFontSize(font.Size.Points())\n\tc.gc.Translate(pt.X.Dots(c.DPI()), pt.Y.Dots(c.DPI()))\n\tc.gc.Scale(1, -1)\n\tc.gc.FillString(str)\n}\n\n// DrawImage implements the vg.Canvas.DrawImage method.\nfunc (c *Canvas) DrawImage(rect vg.Rectangle, img image.Image) {\n\tvar (\n\t\tdpi    = c.DPI()\n\t\tmin    = rect.Min\n\t\txmin   = min.X.Dots(dpi)\n\t\tymin   = min.Y.Dots(dpi)\n\t\trsz    = rect.Size()\n\t\twidth  = rsz.X.Dots(dpi)\n\t\theight = rsz.Y.Dots(dpi)\n\t\tdx     = float64(img.Bounds().Dx())\n\t\tdy     = float64(img.Bounds().Dy())\n\t)\n\tc.gc.Save()\n\tc.gc.Scale(1, -1)\n\tc.gc.Translate(xmin, -ymin-height)\n\tc.gc.Scale(width/dx, height/dy)\n\tc.gc.DrawImage(img)\n\tc.gc.Restore()\n}\n\n// registeredFont contains the set of font names\n// that have already been registered with draw2d.\nvar registeredFont = struct {\n\tsync.Mutex\n\tm map[string]bool\n}{m: map[string]bool{}}\n\n// WriterCounter implements the io.Writer interface, and counts\n// the total number of bytes written.\ntype writerCounter struct {\n\tio.Writer\n\tn int64\n}\n\nfunc (w *writerCounter) Write(p []byte) (int, error) {\n\tn, err := w.Writer.Write(p)\n\tw.n += int64(n)\n\treturn n, err\n}\n\n// A JpegCanvas is an image canvas with a WriteTo method\n// that writes a jpeg image.\ntype JpegCanvas struct {\n\t*Canvas\n}\n\n// WriteTo implements the io.WriterTo interface, writing a jpeg image.\nfunc (c JpegCanvas) WriteTo(w io.Writer) (int64, error) {\n\twc := writerCounter{Writer: w}\n\tb := bufio.NewWriter(&wc)\n\tif err := jpeg.Encode(b, c.img, nil); err != nil {\n\t\treturn wc.n, err\n\t}\n\terr := b.Flush()\n\treturn wc.n, err\n}\n\n// A PngCanvas is an image canvas with a WriteTo method that\n// writes a png image.\ntype PngCanvas struct {\n\t*Canvas\n}\n\n// WriteTo implements the io.WriterTo interface, writing a png image.\nfunc (c PngCanvas) WriteTo(w io.Writer) (int64, error) {\n\twc := writerCounter{Writer: w}\n\tb := bufio.NewWriter(&wc)\n\tif err := png.Encode(b, c.img); err != nil {\n\t\treturn wc.n, err\n\t}\n\terr := b.Flush()\n\treturn wc.n, err\n}\n\n// A TiffCanvas is an image canvas with a WriteTo method that\n// writes a tiff image.\ntype TiffCanvas struct {\n\t*Canvas\n}\n\n// WriteTo implements the io.WriterTo interface, writing a tiff image.\nfunc (c TiffCanvas) WriteTo(w io.Writer) (int64, error) {\n\twc := writerCounter{Writer: w}\n\tb := bufio.NewWriter(&wc)\n\tif err := tiff.Encode(b, c.img, nil); err != nil {\n\t\treturn wc.n, err\n\t}\n\terr := b.Flush()\n\treturn wc.n, err\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/vgpdf/vgpdf.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package vgpdf implements the vg.Canvas interface\n// using gopdf (bitbucket.org/zombiezen/gopdf/pdf).\npackage vgpdf // import \"gonum.org/v1/plot/vg/vgpdf\"\n\nimport (\n\t\"bufio\"\n\t\"fmt\"\n\t\"image\"\n\t\"image/color\"\n\t\"io\"\n\t\"math\"\n\n\t\"bitbucket.org/zombiezen/gopdf/pdf\"\n\n\t\"gonum.org/v1/plot/vg\"\n)\n\n// DPI is the nominal resolution of drawing in PDF.\nconst DPI = 72\n\n// Canvas implements the vg.Canvas interface,\n// drawing to a PDF.\ntype Canvas struct {\n\tdoc         *pdf.Document\n\tw, h        vg.Length\n\tpage        *pdf.Canvas\n\tlineVisible bool\n}\n\n// New creates a new PDF Canvas.\nfunc New(w, h vg.Length) *Canvas {\n\tc := &Canvas{\n\t\tdoc:         pdf.New(),\n\t\tw:           w,\n\t\th:           h,\n\t\tlineVisible: true,\n\t}\n\tc.page = c.doc.NewPage(unit(w), unit(h))\n\tvg.Initialize(c)\n\treturn c\n}\n\nfunc (c *Canvas) Size() (w, h vg.Length) {\n\treturn c.w, c.h\n}\n\nfunc (c *Canvas) SetLineWidth(w vg.Length) {\n\tc.page.SetLineWidth(unit(w))\n\tc.lineVisible = w > 0\n}\n\nfunc (c *Canvas) SetLineDash(dashes []vg.Length, offs vg.Length) {\n\tds := make([]pdf.Unit, len(dashes))\n\tfor i, d := range dashes {\n\t\tds[i] = unit(d)\n\t}\n\tc.page.SetLineDash(unit(offs), ds)\n}\n\nfunc (c *Canvas) SetColor(clr color.Color) {\n\tc.page.SetStrokeColor(pdfColor(clr))\n\tc.page.SetColor(pdfColor(clr))\n}\n\nfunc (c *Canvas) Rotate(r float64) {\n\tc.page.Rotate(float32(r))\n}\n\nfunc (c *Canvas) Translate(pt vg.Point) {\n\tc.page.Translate(unit(pt.X), unit(pt.Y))\n}\n\nfunc (c *Canvas) Scale(x float64, y float64) {\n\tc.page.Scale(float32(x), float32(y))\n}\n\nfunc (c *Canvas) Push() {\n\tc.page.Push()\n}\n\nfunc (c *Canvas) Pop() {\n\tc.page.Pop()\n}\n\nfunc (c *Canvas) Stroke(p vg.Path) {\n\tif c.lineVisible {\n\t\tc.page.Stroke(pdfPath(c, p))\n\t}\n}\n\nfunc (c *Canvas) Fill(p vg.Path) {\n\tc.page.Fill(pdfPath(c, p))\n}\n\nfunc (c *Canvas) FillString(fnt vg.Font, pt vg.Point, str string) {\n\tt := new(pdf.Text)\n\tt.SetFont(fnt.Name(), unit(fnt.Size))\n\tt.NextLineOffset(unit(pt.X), unit(pt.Y))\n\tt.Text(str)\n\tc.page.DrawText(t)\n}\n\n// DrawImage implements the vg.Canvas.DrawImage method.\nfunc (c *Canvas) DrawImage(rect vg.Rectangle, img image.Image) {\n\tr := pdf.Rectangle{\n\t\tMin: pdfPoint(rect.Min.X, rect.Min.Y),\n\t\tMax: pdfPoint(rect.Max.X, rect.Max.Y),\n\t}\n\tc.page.DrawImage(img, r)\n}\n\n// pdfPath returns a pdf.Path from a vg.Path.\nfunc pdfPath(c *Canvas, path vg.Path) *pdf.Path {\n\tp := new(pdf.Path)\n\tfor _, comp := range path {\n\t\tswitch comp.Type {\n\t\tcase vg.MoveComp:\n\t\t\tp.Move(pdfPoint(comp.Pos.X, comp.Pos.Y))\n\t\tcase vg.LineComp:\n\t\t\tp.Line(pdfPoint(comp.Pos.X, comp.Pos.Y))\n\t\tcase vg.ArcComp:\n\t\t\tarc(p, comp)\n\t\tcase vg.CloseComp:\n\t\t\tp.Close()\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"Unknown path component type: %d\\n\", comp.Type))\n\t\t}\n\t}\n\treturn p\n}\n\n// Approximate a circular arc using multiple\n// cubic Bézier curves, one for each π/2 segment.\n//\n// This is from:\n// \thttp://hansmuller-flex.blogspot.com/2011/04/approximating-circular-arc-with-cubic.html\nfunc arc(p *pdf.Path, comp vg.PathComp) {\n\tx0 := comp.Pos.X + comp.Radius*vg.Length(math.Cos(comp.Start))\n\ty0 := comp.Pos.Y + comp.Radius*vg.Length(math.Sin(comp.Start))\n\tp.Line(pdfPoint(x0, y0))\n\n\ta1 := comp.Start\n\tend := a1 + comp.Angle\n\tsign := 1.0\n\tif end < a1 {\n\t\tsign = -1.0\n\t}\n\tleft := math.Abs(comp.Angle)\n\n\t// Square root of the machine epsilon for IEEE 64-bit floating\n\t// point values.  This is the equality threshold recommended\n\t// in Numerical Recipes, if I recall correctly—it's small enough.\n\tconst epsilon = 1.4901161193847656e-08\n\n\tfor left > epsilon {\n\t\ta2 := a1 + sign*math.Min(math.Pi/2, left)\n\t\tpartialArc(p, comp.Pos.X, comp.Pos.Y, comp.Radius, a1, a2)\n\t\tleft -= math.Abs(a2 - a1)\n\t\ta1 = a2\n\t}\n}\n\n// Approximate a circular arc of fewer than π/2\n// radians with cubic Bézier curve.\nfunc partialArc(p *pdf.Path, x, y, r vg.Length, a1, a2 float64) {\n\ta := (a2 - a1) / 2\n\tx4 := r * vg.Length(math.Cos(a))\n\ty4 := r * vg.Length(math.Sin(a))\n\tx1 := x4\n\ty1 := -y4\n\n\tconst k = 0.5522847498 // some magic constant\n\tf := k * vg.Length(math.Tan(a))\n\tx2 := x1 + f*y4\n\ty2 := y1 + f*x4\n\tx3 := x2\n\ty3 := -y2\n\n\t// Rotate and translate points into position.\n\tar := a + a1\n\tsinar := vg.Length(math.Sin(ar))\n\tcosar := vg.Length(math.Cos(ar))\n\tx2r := x2*cosar - y2*sinar + x\n\ty2r := x2*sinar + y2*cosar + y\n\tx3r := x3*cosar - y3*sinar + x\n\ty3r := x3*sinar + y3*cosar + y\n\tx4 = r*vg.Length(math.Cos(a2)) + x\n\ty4 = r*vg.Length(math.Sin(a2)) + y\n\tp.Curve(pdfPoint(x2r, y2r), pdfPoint(x3r, y3r), pdfPoint(x4, y4))\n}\n\nfunc pdfPoint(x, y vg.Length) pdf.Point {\n\treturn pdf.Point{X: unit(x), Y: unit(y)}\n}\n\nfunc pdfColor(clr color.Color) (float32, float32, float32) {\n\tif clr == nil {\n\t\tclr = color.Black\n\t}\n\tr, g, b, _ := clr.RGBA()\n\treturn float32(r) / math.MaxUint16,\n\t\tfloat32(g) / math.MaxUint16,\n\t\tfloat32(b) / math.MaxUint16\n}\n\n// unit returns a pdf.Unit, converted from a vg.Length.\nfunc unit(l vg.Length) pdf.Unit {\n\treturn pdf.Unit(l.Points()) * pdf.Pt\n}\n\n// WriterCounter implements the io.Writer interface, and counts\n// the total number of bytes written.\ntype writerCounter struct {\n\tio.Writer\n\tn int64\n}\n\nfunc (w *writerCounter) Write(p []byte) (int, error) {\n\tn, err := w.Writer.Write(p)\n\tw.n += int64(n)\n\treturn n, err\n}\n\n// WriteTo writes the Canvas to an io.Writer.\n// After calling Write, the canvas is closed\n// and may no longer be used for drawing.\nfunc (c *Canvas) WriteTo(w io.Writer) (int64, error) {\n\tc.page.Close()\n\twc := writerCounter{Writer: w}\n\tb := bufio.NewWriter(&wc)\n\tif err := c.doc.Encode(b); err != nil {\n\t\treturn wc.n, err\n\t}\n\terr := b.Flush()\n\treturn wc.n, err\n}\n"
  },
  {
    "path": "vendor/gonum.org/v1/plot/vg/vgsvg/vgsvg.go",
    "content": "// Copyright ©2015 The gonum Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package vgsvg uses svgo (github.com/ajstarks/svgo)\n// as a backend for vg.\npackage vgsvg // import \"gonum.org/v1/plot/vg/vgsvg\"\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"encoding/base64\"\n\t\"fmt\"\n\t\"image\"\n\t\"image/color\"\n\t\"image/png\"\n\t\"io\"\n\t\"math\"\n\n\tsvgo \"github.com/ajstarks/svgo\"\n\n\t\"gonum.org/v1/plot/vg\"\n)\n\n// DPI is the resolution of drawing in SVG. This value was determined by\n// a survey of Inkscape, Chrome, FireFox and gpicview, but does not appear\n// to be specified.\nconst DPI = 90\n\n// pr is the precision to use when outputting float64s.\nconst pr = 5\n\ntype Canvas struct {\n\tsvg   *svgo.SVG\n\tw, h  vg.Length\n\tbuf   *bytes.Buffer\n\tht    float64\n\tstack []context\n}\n\ntype context struct {\n\tcolor      color.Color\n\tdashArray  []vg.Length\n\tdashOffset vg.Length\n\tlineWidth  vg.Length\n\tgEnds      int\n}\n\nfunc New(w, h vg.Length) *Canvas {\n\tbuf := new(bytes.Buffer)\n\tc := &Canvas{\n\t\tsvg:   svgo.New(buf),\n\t\tw:     w,\n\t\th:     h,\n\t\tbuf:   buf,\n\t\tht:    w.Points(),\n\t\tstack: []context{context{}},\n\t}\n\n\t// This is like svg.Start, except it uses floats\n\t// and specifies the units.\n\tfmt.Fprintf(buf, `<?xml version=\"1.0\"?>\n<!-- Generated by SVGo and Plotinum VG -->\n<svg width=\"%.*gin\" height=\"%.*gin\"\n\txmlns=\"http://www.w3.org/2000/svg\"\n\txmlns:xlink=\"http://www.w3.org/1999/xlink\">`+\"\\n\",\n\t\tpr, w/vg.Inch,\n\t\tpr, h/vg.Inch,\n\t)\n\n\t// Swap the origin to the bottom left.\n\t// This must be matched with a </g> when saving,\n\t// before the closing </svg>.\n\tc.svg.Gtransform(fmt.Sprintf(\"scale(1, -1) translate(0, -%.*g)\", pr, h.Dots(DPI)))\n\n\tvg.Initialize(c)\n\treturn c\n}\n\nfunc (c *Canvas) Size() (w, h vg.Length) {\n\treturn c.w, c.h\n}\n\nfunc (c *Canvas) context() *context {\n\treturn &c.stack[len(c.stack)-1]\n}\n\nfunc (c *Canvas) SetLineWidth(w vg.Length) {\n\tc.context().lineWidth = w\n}\n\nfunc (c *Canvas) SetLineDash(dashes []vg.Length, offs vg.Length) {\n\tc.context().dashArray = dashes\n\tc.context().dashOffset = offs\n}\n\nfunc (c *Canvas) SetColor(clr color.Color) {\n\tc.context().color = clr\n}\n\nfunc (c *Canvas) Rotate(rot float64) {\n\trot = rot * 180 / math.Pi\n\tc.svg.Rotate(rot)\n\tc.context().gEnds++\n}\n\nfunc (c *Canvas) Translate(pt vg.Point) {\n\tc.svg.Gtransform(fmt.Sprintf(\"translate(%.*g, %.*g)\", pr, pt.X.Dots(DPI), pr, pt.Y.Dots(DPI)))\n\tc.context().gEnds++\n}\n\nfunc (c *Canvas) Scale(x, y float64) {\n\tc.svg.ScaleXY(x, y)\n\tc.context().gEnds++\n}\n\nfunc (c *Canvas) Push() {\n\ttop := *c.context()\n\ttop.gEnds = 0\n\tc.stack = append(c.stack, top)\n}\n\nfunc (c *Canvas) Pop() {\n\tfor i := 0; i < c.context().gEnds; i++ {\n\t\tc.svg.Gend()\n\t}\n\tc.stack = c.stack[:len(c.stack)-1]\n}\n\nfunc (c *Canvas) Stroke(path vg.Path) {\n\tif c.context().lineWidth.Dots(DPI) <= 0 {\n\t\treturn\n\t}\n\tc.svg.Path(c.pathData(path),\n\t\tstyle(elm(\"fill\", \"#000000\", \"none\"),\n\t\t\telm(\"stroke\", \"none\", colorString(c.context().color)),\n\t\t\telm(\"stroke-opacity\", \"1\", opacityString(c.context().color)),\n\t\t\telm(\"stroke-width\", \"1\", \"%.*g\", pr, c.context().lineWidth.Dots(DPI)),\n\t\t\telm(\"stroke-dasharray\", \"none\", dashArrayString(c)),\n\t\t\telm(\"stroke-dashoffset\", \"0\", \"%.*g\", pr, c.context().dashOffset.Dots(DPI))))\n}\n\nfunc (c *Canvas) Fill(path vg.Path) {\n\tc.svg.Path(c.pathData(path),\n\t\tstyle(elm(\"fill\", \"#000000\", colorString(c.context().color)),\n\t\t\telm(\"fill-opacity\", \"1\", opacityString(c.context().color))))\n}\n\nfunc (c *Canvas) pathData(path vg.Path) string {\n\tbuf := new(bytes.Buffer)\n\tvar x, y float64\n\tfor _, comp := range path {\n\t\tswitch comp.Type {\n\t\tcase vg.MoveComp:\n\t\t\tfmt.Fprintf(buf, \"M%.*g,%.*g\", pr, comp.Pos.X.Dots(DPI), pr, comp.Pos.Y.Dots(DPI))\n\t\t\tx = comp.Pos.X.Dots(DPI)\n\t\t\ty = comp.Pos.Y.Dots(DPI)\n\t\tcase vg.LineComp:\n\t\t\tfmt.Fprintf(buf, \"L%.*g,%.*g\", pr, comp.Pos.X.Dots(DPI), pr, comp.Pos.Y.Dots(DPI))\n\t\t\tx = comp.Pos.X.Dots(DPI)\n\t\t\ty = comp.Pos.Y.Dots(DPI)\n\t\tcase vg.ArcComp:\n\t\t\tr := comp.Radius.Dots(DPI)\n\t\t\tx0 := comp.Pos.X.Dots(DPI) + r*math.Cos(comp.Start)\n\t\t\ty0 := comp.Pos.Y.Dots(DPI) + r*math.Sin(comp.Start)\n\t\t\tif x0 != x || y0 != y {\n\t\t\t\tfmt.Fprintf(buf, \"L%.*g,%.*g\", pr, x0, pr, y0)\n\t\t\t}\n\t\t\tif math.Abs(comp.Angle) >= 2*math.Pi {\n\t\t\t\tx, y = circle(buf, c, &comp)\n\t\t\t} else {\n\t\t\t\tx, y = arc(buf, c, &comp)\n\t\t\t}\n\t\tcase vg.CloseComp:\n\t\t\tbuf.WriteString(\"Z\")\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"Unknown path component type: %d\\n\", comp.Type))\n\t\t}\n\t}\n\treturn buf.String()\n}\n\n// circle adds circle path data to the given writer.\n// Circles must be drawn using two arcs because\n// SVG disallows the start and end point of an arc\n// from being at the same location.\nfunc circle(w io.Writer, c *Canvas, comp *vg.PathComp) (x, y float64) {\n\tangle := 2 * math.Pi\n\tif comp.Angle < 0 {\n\t\tangle = -2 * math.Pi\n\t}\n\tangle += remainder(comp.Angle, 2*math.Pi)\n\tif angle >= 4*math.Pi {\n\t\tpanic(\"Impossible angle\")\n\t}\n\n\tr := comp.Radius.Dots(DPI)\n\tx0 := comp.Pos.X.Dots(DPI) + r*math.Cos(comp.Start+angle/2)\n\ty0 := comp.Pos.Y.Dots(DPI) + r*math.Sin(comp.Start+angle/2)\n\tx = comp.Pos.X.Dots(DPI) + r*math.Cos(comp.Start+angle)\n\ty = comp.Pos.Y.Dots(DPI) + r*math.Sin(comp.Start+angle)\n\n\tfmt.Fprintf(w, \"A%.*g,%.*g 0 %d %d %.*g,%.*g\", pr, r, pr, r,\n\t\tlarge(angle/2), sweep(angle/2), pr, x0, pr, y0) //\n\tfmt.Fprintf(w, \"A%.*g,%.*g 0 %d %d %.*g,%.*g\", pr, r, pr, r,\n\t\tlarge(angle/2), sweep(angle/2), pr, x, pr, y)\n\treturn\n}\n\n// remainder returns the remainder of x/y.\n// We don't use math.Remainder because it\n// seems to return incorrect values due to how\n// IEEE defines the remainder operation…\nfunc remainder(x, y float64) float64 {\n\treturn (x/y - math.Trunc(x/y)) * y\n}\n\n// arc adds arc path data to the given writer.\n// Arc can only be used if the arc's angle is\n// less than a full circle, if it is greater then\n// circle should be used instead.\nfunc arc(w io.Writer, c *Canvas, comp *vg.PathComp) (x, y float64) {\n\tr := comp.Radius.Dots(DPI)\n\tx = comp.Pos.X.Dots(DPI) + r*math.Cos(comp.Start+comp.Angle)\n\ty = comp.Pos.Y.Dots(DPI) + r*math.Sin(comp.Start+comp.Angle)\n\tfmt.Fprintf(w, \"A%.*g,%.*g 0 %d %d %.*g,%.*g\", pr, r, pr, r,\n\t\tlarge(comp.Angle), sweep(comp.Angle), pr, x, pr, y)\n\treturn\n}\n\n// sweep returns the arc sweep flag value for\n// the given angle.\nfunc sweep(a float64) int {\n\tif a < 0 {\n\t\treturn 0\n\t}\n\treturn 1\n}\n\n// large returns the arc's large flag value for\n// the given angle.\nfunc large(a float64) int {\n\tif math.Abs(a) >= math.Pi {\n\t\treturn 1\n\t}\n\treturn 0\n}\n\nfunc (c *Canvas) FillString(font vg.Font, pt vg.Point, str string) {\n\tfontStr, ok := fontMap[font.Name()]\n\tif !ok {\n\t\tpanic(fmt.Sprintf(\"Unknown font: %s\", font.Name()))\n\t}\n\tsty := style(fontStr,\n\t\telm(\"font-size\", \"medium\", \"%.*gpt\", pr, font.Size.Points()),\n\t\telm(\"fill\", \"#000000\", colorString(c.context().color)))\n\tif sty != \"\" {\n\t\tsty = \"\\n\\t\" + sty\n\t}\n\tfmt.Fprintf(c.buf, `<text x=\"%.*g\" y=\"%.*g\" transform=\"scale(1, -1)\"%s>%s</text>`+\"\\n\",\n\t\tpr, pt.X.Dots(DPI), pr, -pt.Y.Dots(DPI), sty, str)\n}\n\n// DrawImage implements the vg.Canvas.DrawImage method.\nfunc (c *Canvas) DrawImage(rect vg.Rectangle, img image.Image) {\n\tbuf := new(bytes.Buffer)\n\terr := png.Encode(buf, img)\n\tif err != nil {\n\t\tpanic(fmt.Errorf(\"vgsvg: error encoding image to PNG: %v\\n\", err))\n\t}\n\tstr := \"data:image/jpg;base64,\" + base64.StdEncoding.EncodeToString(buf.Bytes())\n\trsz := rect.Size()\n\tmin := rect.Min\n\tvar (\n\t\twidth  = rsz.X.Dots(DPI)\n\t\theight = rsz.Y.Dots(DPI)\n\t\txmin   = min.X.Dots(DPI)\n\t\tymin   = min.Y.Dots(DPI)\n\t)\n\tfmt.Fprintf(\n\t\tc.buf,\n\t\t`<image x=\"%v\" y=\"%v\" width=\"%v\" height=\"%v\" xlink:href=\"%s\" %s />`+\"\\n\",\n\t\txmin,\n\t\t-ymin-height,\n\t\twidth,\n\t\theight,\n\t\tstr,\n\t\t// invert y so image is not upside-down\n\t\t`transform=\"scale(1, -1)\"`,\n\t)\n}\n\nvar (\n\t// fontMap maps Postscript-style font names to their\n\t// corresponding SVG style string.\n\tfontMap = map[string]string{\n\t\t\"Courier\":               \"font-family:Courier;font-weight:normal;font-style:normal\",\n\t\t\"Courier-Bold\":          \"font-family:Courier;font-weight:bold;font-style:normal\",\n\t\t\"Courier-Oblique\":       \"font-family:Courier;font-weight:normal;font-style:oblique\",\n\t\t\"Courier-BoldOblique\":   \"font-family:Courier;font-weight:bold;font-style:oblique\",\n\t\t\"Helvetica\":             \"font-family:Helvetica;font-weight:normal;font-style:normal\",\n\t\t\"Helvetica-Bold\":        \"font-family:Helvetica;font-weight:bold;font-style:normal\",\n\t\t\"Helvetica-Oblique\":     \"font-family:Helvetica;font-weight:normal;font-style:oblique\",\n\t\t\"Helvetica-BoldOblique\": \"font-family:Helvetica;font-weight:bold;font-style:oblique\",\n\t\t\"Times-Roman\":           \"font-family:Times;font-weight:normal;font-style:normal\",\n\t\t\"Times-Bold\":            \"font-family:Times;font-weight:bold;font-style:normal\",\n\t\t\"Times-Italic\":          \"font-family:Times;font-weight:normal;font-style:italic\",\n\t\t\"Times-BoldItalic\":      \"font-family:Times;font-weight:bold;font-style:italic\",\n\t}\n)\n\n// WriteTo writes the canvas to an io.Writer.\nfunc (c *Canvas) WriteTo(w io.Writer) (int64, error) {\n\tb := bufio.NewWriter(w)\n\tn, err := c.buf.WriteTo(b)\n\tif err != nil {\n\t\treturn n, err\n\t}\n\n\t// Close the groups and svg in the output buffer\n\t// so that the Canvas is not closed and can be\n\t// used again if needed.\n\tfor i := 0; i < c.nEnds(); i++ {\n\t\tm, err := fmt.Fprintln(b, \"</g>\")\n\t\tn += int64(m)\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t}\n\n\tm, err := fmt.Fprintln(b, \"</svg>\")\n\tn += int64(m)\n\tif err != nil {\n\t\treturn n, err\n\t}\n\n\treturn n, b.Flush()\n}\n\n// nEnds returns the number of group ends\n// needed before the SVG is saved.\nfunc (c *Canvas) nEnds() int {\n\tn := 1 // close the transform that moves the origin\n\tfor _, ctx := range c.stack {\n\t\tn += ctx.gEnds\n\t}\n\treturn n\n}\n\n// style returns a style string composed of\n// all of the given elements.  If the elements\n// are all empty then the empty string is\n// returned.\nfunc style(elms ...string) string {\n\tstr := \"\"\n\tfor _, e := range elms {\n\t\tif e == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tif str != \"\" {\n\t\t\tstr += \";\"\n\t\t}\n\t\tstr += e\n\t}\n\tif str == \"\" {\n\t\treturn \"\"\n\t}\n\treturn \"style=\\\"\" + str + \"\\\"\"\n}\n\n// elm returns a style element string with the\n// given key and value.  If the value matches\n// default then the empty string is returned.\nfunc elm(key, def, f string, vls ...interface{}) string {\n\tvalue := fmt.Sprintf(f, vls...)\n\tif value == def {\n\t\treturn \"\"\n\t}\n\treturn key + \":\" + value\n}\n\n// dashArrayString returns a string representing the\n// dash array specification.\nfunc dashArrayString(c *Canvas) string {\n\tstr := \"\"\n\tfor i, d := range c.context().dashArray {\n\t\tstr += fmt.Sprintf(\"%.*g\", pr, d.Dots(DPI))\n\t\tif i < len(c.context().dashArray)-1 {\n\t\t\tstr += \",\"\n\t\t}\n\t}\n\tif str == \"\" {\n\t\tstr = \"none\"\n\t}\n\treturn str\n}\n\n// colorString returns the hexadecimal string representation of the color\nfunc colorString(clr color.Color) string {\n\tif clr == nil {\n\t\tclr = color.Black\n\t}\n\tr, g, b, _a := clr.RGBA()\n\ta := 255.0 / float64(_a)\n\treturn fmt.Sprintf(\"#%02X%02X%02X\", int(float64(r)*a),\n\t\tint(float64(g)*a), int(float64(b)*a))\n}\n\n// opacityString returns the opacity value of the given color.\nfunc opacityString(clr color.Color) string {\n\tif clr == nil {\n\t\tclr = color.Black\n\t}\n\t_, _, _, a := clr.RGBA()\n\treturn fmt.Sprintf(\"%.*g\", pr, float64(a)/math.MaxUint16)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/LICENSE",
    "content": "Copyright (c) 2011 Google Inc. 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\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/google.golang.org/api/gensupport/backoff.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gensupport\n\nimport (\n\t\"math/rand\"\n\t\"time\"\n)\n\ntype BackoffStrategy interface {\n\t// Pause returns the duration of the next pause and true if the operation should be\n\t// retried, or false if no further retries should be attempted.\n\tPause() (time.Duration, bool)\n\n\t// Reset restores the strategy to its initial state.\n\tReset()\n}\n\n// ExponentialBackoff performs exponential backoff as per https://en.wikipedia.org/wiki/Exponential_backoff.\n// The initial pause time is given by Base.\n// Once the total pause time exceeds Max, Pause will indicate no further retries.\ntype ExponentialBackoff struct {\n\tBase  time.Duration\n\tMax   time.Duration\n\ttotal time.Duration\n\tn     uint\n}\n\nfunc (eb *ExponentialBackoff) Pause() (time.Duration, bool) {\n\tif eb.total > eb.Max {\n\t\treturn 0, false\n\t}\n\n\t// The next pause is selected from randomly from [0, 2^n * Base).\n\td := time.Duration(rand.Int63n((1 << eb.n) * int64(eb.Base)))\n\teb.total += d\n\teb.n++\n\treturn d, true\n}\n\nfunc (eb *ExponentialBackoff) Reset() {\n\teb.n = 0\n\teb.total = 0\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/gensupport/buffer.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gensupport\n\nimport (\n\t\"bytes\"\n\t\"io\"\n\n\t\"google.golang.org/api/googleapi\"\n)\n\n// MediaBuffer buffers data from an io.Reader to support uploading media in retryable chunks.\ntype MediaBuffer struct {\n\tmedia io.Reader\n\n\tchunk []byte // The current chunk which is pending upload.  The capacity is the chunk size.\n\terr   error  // Any error generated when populating chunk by reading media.\n\n\t// The absolute position of chunk in the underlying media.\n\toff int64\n}\n\nfunc NewMediaBuffer(media io.Reader, chunkSize int) *MediaBuffer {\n\treturn &MediaBuffer{media: media, chunk: make([]byte, 0, chunkSize)}\n}\n\n// Chunk returns the current buffered chunk, the offset in the underlying media\n// from which the chunk is drawn, and the size of the chunk.\n// Successive calls to Chunk return the same chunk between calls to Next.\nfunc (mb *MediaBuffer) Chunk() (chunk io.Reader, off int64, size int, err error) {\n\t// There may already be data in chunk if Next has not been called since the previous call to Chunk.\n\tif mb.err == nil && len(mb.chunk) == 0 {\n\t\tmb.err = mb.loadChunk()\n\t}\n\treturn bytes.NewReader(mb.chunk), mb.off, len(mb.chunk), mb.err\n}\n\n// loadChunk will read from media into chunk, up to the capacity of chunk.\nfunc (mb *MediaBuffer) loadChunk() error {\n\tbufSize := cap(mb.chunk)\n\tmb.chunk = mb.chunk[:bufSize]\n\n\tread := 0\n\tvar err error\n\tfor err == nil && read < bufSize {\n\t\tvar n int\n\t\tn, err = mb.media.Read(mb.chunk[read:])\n\t\tread += n\n\t}\n\tmb.chunk = mb.chunk[:read]\n\treturn err\n}\n\n// Next advances to the next chunk, which will be returned by the next call to Chunk.\n// Calls to Next without a corresponding prior call to Chunk will have no effect.\nfunc (mb *MediaBuffer) Next() {\n\tmb.off += int64(len(mb.chunk))\n\tmb.chunk = mb.chunk[0:0]\n}\n\ntype readerTyper struct {\n\tio.Reader\n\tgoogleapi.ContentTyper\n}\n\n// ReaderAtToReader adapts a ReaderAt to be used as a Reader.\n// If ra implements googleapi.ContentTyper, then the returned reader\n// will also implement googleapi.ContentTyper, delegating to ra.\nfunc ReaderAtToReader(ra io.ReaderAt, size int64) io.Reader {\n\tr := io.NewSectionReader(ra, 0, size)\n\tif typer, ok := ra.(googleapi.ContentTyper); ok {\n\t\treturn readerTyper{r, typer}\n\t}\n\treturn r\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/gensupport/doc.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package gensupport is an internal implementation detail used by code\n// generated by the google-api-go-generator tool.\n//\n// This package may be modified at any time without regard for backwards\n// compatibility. It should not be used directly by API users.\npackage gensupport\n"
  },
  {
    "path": "vendor/google.golang.org/api/gensupport/header.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gensupport\n\nimport (\n\t\"fmt\"\n\t\"runtime\"\n\t\"strings\"\n)\n\n// GoogleClientHeader returns the value to use for the x-goog-api-client\n// header, which is used internally by Google.\nfunc GoogleClientHeader(generatorVersion, clientElement string) string {\n\telts := []string{\"gl-go/\" + strings.Replace(runtime.Version(), \" \", \"_\", -1)}\n\tif clientElement != \"\" {\n\t\telts = append(elts, clientElement)\n\t}\n\telts = append(elts, fmt.Sprintf(\"gdcl/%s\", generatorVersion))\n\treturn strings.Join(elts, \" \")\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/gensupport/json.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gensupport\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"strings\"\n)\n\n// MarshalJSON returns a JSON encoding of schema containing only selected fields.\n// A field is selected if any of the following is true:\n//   * it has a non-empty value\n//   * its field name is present in forceSendFields and it is not a nil pointer or nil interface\n//   * its field name is present in nullFields.\n// The JSON key for each selected field is taken from the field's json: struct tag.\nfunc MarshalJSON(schema interface{}, forceSendFields, nullFields []string) ([]byte, error) {\n\tif len(forceSendFields) == 0 && len(nullFields) == 0 {\n\t\treturn json.Marshal(schema)\n\t}\n\n\tmustInclude := make(map[string]bool)\n\tfor _, f := range forceSendFields {\n\t\tmustInclude[f] = true\n\t}\n\tuseNull := make(map[string]bool)\n\tuseNullMaps := make(map[string]map[string]bool)\n\tfor _, nf := range nullFields {\n\t\tparts := strings.SplitN(nf, \".\", 2)\n\t\tfield := parts[0]\n\t\tif len(parts) == 1 {\n\t\t\tuseNull[field] = true\n\t\t} else {\n\t\t\tif useNullMaps[field] == nil {\n\t\t\t\tuseNullMaps[field] = map[string]bool{}\n\t\t\t}\n\t\t\tuseNullMaps[field][parts[1]] = true\n\t\t}\n\t}\n\n\tdataMap, err := schemaToMap(schema, mustInclude, useNull, useNullMaps)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn json.Marshal(dataMap)\n}\n\nfunc schemaToMap(schema interface{}, mustInclude, useNull map[string]bool, useNullMaps map[string]map[string]bool) (map[string]interface{}, error) {\n\tm := make(map[string]interface{})\n\ts := reflect.ValueOf(schema)\n\tst := s.Type()\n\n\tfor i := 0; i < s.NumField(); i++ {\n\t\tjsonTag := st.Field(i).Tag.Get(\"json\")\n\t\tif jsonTag == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\ttag, err := parseJSONTag(jsonTag)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tif tag.ignore {\n\t\t\tcontinue\n\t\t}\n\n\t\tv := s.Field(i)\n\t\tf := st.Field(i)\n\n\t\tif useNull[f.Name] {\n\t\t\tif !isEmptyValue(v) {\n\t\t\t\treturn nil, fmt.Errorf(\"field %q in NullFields has non-empty value\", f.Name)\n\t\t\t}\n\t\t\tm[tag.apiName] = nil\n\t\t\tcontinue\n\t\t}\n\n\t\tif !includeField(v, f, mustInclude) {\n\t\t\tcontinue\n\t\t}\n\n\t\t// If map fields are explicitly set to null, use a map[string]interface{}.\n\t\tif f.Type.Kind() == reflect.Map && useNullMaps[f.Name] != nil {\n\t\t\tms, ok := v.Interface().(map[string]string)\n\t\t\tif !ok {\n\t\t\t\treturn nil, fmt.Errorf(\"field %q has keys in NullFields but is not a map[string]string\", f.Name)\n\t\t\t}\n\t\t\tmi := map[string]interface{}{}\n\t\t\tfor k, v := range ms {\n\t\t\t\tmi[k] = v\n\t\t\t}\n\t\t\tfor k := range useNullMaps[f.Name] {\n\t\t\t\tmi[k] = nil\n\t\t\t}\n\t\t\tm[tag.apiName] = mi\n\t\t\tcontinue\n\t\t}\n\n\t\t// nil maps are treated as empty maps.\n\t\tif f.Type.Kind() == reflect.Map && v.IsNil() {\n\t\t\tm[tag.apiName] = map[string]string{}\n\t\t\tcontinue\n\t\t}\n\n\t\t// nil slices are treated as empty slices.\n\t\tif f.Type.Kind() == reflect.Slice && v.IsNil() {\n\t\t\tm[tag.apiName] = []bool{}\n\t\t\tcontinue\n\t\t}\n\n\t\tif tag.stringFormat {\n\t\t\tm[tag.apiName] = formatAsString(v, f.Type.Kind())\n\t\t} else {\n\t\t\tm[tag.apiName] = v.Interface()\n\t\t}\n\t}\n\treturn m, nil\n}\n\n// formatAsString returns a string representation of v, dereferencing it first if possible.\nfunc formatAsString(v reflect.Value, kind reflect.Kind) string {\n\tif kind == reflect.Ptr && !v.IsNil() {\n\t\tv = v.Elem()\n\t}\n\n\treturn fmt.Sprintf(\"%v\", v.Interface())\n}\n\n// jsonTag represents a restricted version of the struct tag format used by encoding/json.\n// It is used to describe the JSON encoding of fields in a Schema struct.\ntype jsonTag struct {\n\tapiName      string\n\tstringFormat bool\n\tignore       bool\n}\n\n// parseJSONTag parses a restricted version of the struct tag format used by encoding/json.\n// The format of the tag must match that generated by the Schema.writeSchemaStruct method\n// in the api generator.\nfunc parseJSONTag(val string) (jsonTag, error) {\n\tif val == \"-\" {\n\t\treturn jsonTag{ignore: true}, nil\n\t}\n\n\tvar tag jsonTag\n\n\ti := strings.Index(val, \",\")\n\tif i == -1 || val[:i] == \"\" {\n\t\treturn tag, fmt.Errorf(\"malformed json tag: %s\", val)\n\t}\n\n\ttag = jsonTag{\n\t\tapiName: val[:i],\n\t}\n\n\tswitch val[i+1:] {\n\tcase \"omitempty\":\n\tcase \"omitempty,string\":\n\t\ttag.stringFormat = true\n\tdefault:\n\t\treturn tag, fmt.Errorf(\"malformed json tag: %s\", val)\n\t}\n\n\treturn tag, nil\n}\n\n// Reports whether the struct field \"f\" with value \"v\" should be included in JSON output.\nfunc includeField(v reflect.Value, f reflect.StructField, mustInclude map[string]bool) bool {\n\t// The regular JSON encoding of a nil pointer is \"null\", which means \"delete this field\".\n\t// Therefore, we could enable field deletion by honoring pointer fields' presence in the mustInclude set.\n\t// However, many fields are not pointers, so there would be no way to delete these fields.\n\t// Rather than partially supporting field deletion, we ignore mustInclude for nil pointer fields.\n\t// Deletion will be handled by a separate mechanism.\n\tif f.Type.Kind() == reflect.Ptr && v.IsNil() {\n\t\treturn false\n\t}\n\n\t// The \"any\" type is represented as an interface{}.  If this interface\n\t// is nil, there is no reasonable representation to send.  We ignore\n\t// these fields, for the same reasons as given above for pointers.\n\tif f.Type.Kind() == reflect.Interface && v.IsNil() {\n\t\treturn false\n\t}\n\n\treturn mustInclude[f.Name] || !isEmptyValue(v)\n}\n\n// isEmptyValue reports whether v is the empty value for its type.  This\n// implementation is based on that of the encoding/json package, but its\n// correctness does not depend on it being identical. What's important is that\n// this function return false in situations where v should not be sent as part\n// of a PATCH operation.\nfunc isEmptyValue(v reflect.Value) bool {\n\tswitch v.Kind() {\n\tcase reflect.Array, reflect.Map, reflect.Slice, reflect.String:\n\t\treturn v.Len() == 0\n\tcase reflect.Bool:\n\t\treturn !v.Bool()\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:\n\t\treturn v.Int() == 0\n\tcase reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:\n\t\treturn v.Uint() == 0\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v.Float() == 0\n\tcase reflect.Interface, reflect.Ptr:\n\t\treturn v.IsNil()\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/gensupport/jsonfloat.go",
    "content": "// Copyright 2016 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\npackage gensupport\n\nimport (\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"math\"\n)\n\n// JSONFloat64 is a float64 that supports proper unmarshaling of special float\n// values in JSON, according to\n// https://developers.google.com/protocol-buffers/docs/proto3#json. Although\n// that is a proto-to-JSON spec, it applies to all Google APIs.\n//\n// The jsonpb package\n// (https://github.com/golang/protobuf/blob/master/jsonpb/jsonpb.go) has\n// similar functionality, but only for direct translation from proto messages\n// to JSON.\ntype JSONFloat64 float64\n\nfunc (f *JSONFloat64) UnmarshalJSON(data []byte) error {\n\tvar ff float64\n\tif err := json.Unmarshal(data, &ff); err == nil {\n\t\t*f = JSONFloat64(ff)\n\t\treturn nil\n\t}\n\tvar s string\n\tif err := json.Unmarshal(data, &s); err == nil {\n\t\tswitch s {\n\t\tcase \"NaN\":\n\t\t\tff = math.NaN()\n\t\tcase \"Infinity\":\n\t\t\tff = math.Inf(1)\n\t\tcase \"-Infinity\":\n\t\t\tff = math.Inf(-1)\n\t\tdefault:\n\t\t\treturn fmt.Errorf(\"google.golang.org/api/internal: bad float string %q\", s)\n\t\t}\n\t\t*f = JSONFloat64(ff)\n\t\treturn nil\n\t}\n\treturn errors.New(\"google.golang.org/api/internal: data not float or string\")\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/gensupport/media.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gensupport\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"mime/multipart\"\n\t\"net/http\"\n\t\"net/textproto\"\n\n\t\"google.golang.org/api/googleapi\"\n)\n\nconst sniffBuffSize = 512\n\nfunc newContentSniffer(r io.Reader) *contentSniffer {\n\treturn &contentSniffer{r: r}\n}\n\n// contentSniffer wraps a Reader, and reports the content type determined by sniffing up to 512 bytes from the Reader.\ntype contentSniffer struct {\n\tr     io.Reader\n\tstart []byte // buffer for the sniffed bytes.\n\terr   error  // set to any error encountered while reading bytes to be sniffed.\n\n\tctype   string // set on first sniff.\n\tsniffed bool   // set to true on first sniff.\n}\n\nfunc (cs *contentSniffer) Read(p []byte) (n int, err error) {\n\t// Ensure that the content type is sniffed before any data is consumed from Reader.\n\t_, _ = cs.ContentType()\n\n\tif len(cs.start) > 0 {\n\t\tn := copy(p, cs.start)\n\t\tcs.start = cs.start[n:]\n\t\treturn n, nil\n\t}\n\n\t// We may have read some bytes into start while sniffing, even if the read ended in an error.\n\t// We should first return those bytes, then the error.\n\tif cs.err != nil {\n\t\treturn 0, cs.err\n\t}\n\n\t// Now we have handled all bytes that were buffered while sniffing.  Now just delegate to the underlying reader.\n\treturn cs.r.Read(p)\n}\n\n// ContentType returns the sniffed content type, and whether the content type was succesfully sniffed.\nfunc (cs *contentSniffer) ContentType() (string, bool) {\n\tif cs.sniffed {\n\t\treturn cs.ctype, cs.ctype != \"\"\n\t}\n\tcs.sniffed = true\n\t// If ReadAll hits EOF, it returns err==nil.\n\tcs.start, cs.err = ioutil.ReadAll(io.LimitReader(cs.r, sniffBuffSize))\n\n\t// Don't try to detect the content type based on possibly incomplete data.\n\tif cs.err != nil {\n\t\treturn \"\", false\n\t}\n\n\tcs.ctype = http.DetectContentType(cs.start)\n\treturn cs.ctype, true\n}\n\n// DetermineContentType determines the content type of the supplied reader.\n// If the content type is already known, it can be specified via ctype.\n// Otherwise, the content of media will be sniffed to determine the content type.\n// If media implements googleapi.ContentTyper (deprecated), this will be used\n// instead of sniffing the content.\n// After calling DetectContentType the caller must not perform further reads on\n// media, but rather read from the Reader that is returned.\nfunc DetermineContentType(media io.Reader, ctype string) (io.Reader, string) {\n\t// Note: callers could avoid calling DetectContentType if ctype != \"\",\n\t// but doing the check inside this function reduces the amount of\n\t// generated code.\n\tif ctype != \"\" {\n\t\treturn media, ctype\n\t}\n\n\t// For backwards compatability, allow clients to set content\n\t// type by providing a ContentTyper for media.\n\tif typer, ok := media.(googleapi.ContentTyper); ok {\n\t\treturn media, typer.ContentType()\n\t}\n\n\tsniffer := newContentSniffer(media)\n\tif ctype, ok := sniffer.ContentType(); ok {\n\t\treturn sniffer, ctype\n\t}\n\t// If content type could not be sniffed, reads from sniffer will eventually fail with an error.\n\treturn sniffer, \"\"\n}\n\ntype typeReader struct {\n\tio.Reader\n\ttyp string\n}\n\n// multipartReader combines the contents of multiple readers to creat a multipart/related HTTP body.\n// Close must be called if reads from the multipartReader are abandoned before reaching EOF.\ntype multipartReader struct {\n\tpr       *io.PipeReader\n\tpipeOpen bool\n\tctype    string\n}\n\nfunc newMultipartReader(parts []typeReader) *multipartReader {\n\tmp := &multipartReader{pipeOpen: true}\n\tvar pw *io.PipeWriter\n\tmp.pr, pw = io.Pipe()\n\tmpw := multipart.NewWriter(pw)\n\tmp.ctype = \"multipart/related; boundary=\" + mpw.Boundary()\n\tgo func() {\n\t\tfor _, part := range parts {\n\t\t\tw, err := mpw.CreatePart(typeHeader(part.typ))\n\t\t\tif err != nil {\n\t\t\t\tmpw.Close()\n\t\t\t\tpw.CloseWithError(fmt.Errorf(\"googleapi: CreatePart failed: %v\", err))\n\t\t\t\treturn\n\t\t\t}\n\t\t\t_, err = io.Copy(w, part.Reader)\n\t\t\tif err != nil {\n\t\t\t\tmpw.Close()\n\t\t\t\tpw.CloseWithError(fmt.Errorf(\"googleapi: Copy failed: %v\", err))\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tmpw.Close()\n\t\tpw.Close()\n\t}()\n\treturn mp\n}\n\nfunc (mp *multipartReader) Read(data []byte) (n int, err error) {\n\treturn mp.pr.Read(data)\n}\n\nfunc (mp *multipartReader) Close() error {\n\tif !mp.pipeOpen {\n\t\treturn nil\n\t}\n\tmp.pipeOpen = false\n\treturn mp.pr.Close()\n}\n\n// CombineBodyMedia combines a json body with media content to create a multipart/related HTTP body.\n// It returns a ReadCloser containing the combined body, and the overall \"multipart/related\" content type, with random boundary.\n//\n// The caller must call Close on the returned ReadCloser if reads are abandoned before reaching EOF.\nfunc CombineBodyMedia(body io.Reader, bodyContentType string, media io.Reader, mediaContentType string) (io.ReadCloser, string) {\n\tmp := newMultipartReader([]typeReader{\n\t\t{body, bodyContentType},\n\t\t{media, mediaContentType},\n\t})\n\treturn mp, mp.ctype\n}\n\nfunc typeHeader(contentType string) textproto.MIMEHeader {\n\th := make(textproto.MIMEHeader)\n\tif contentType != \"\" {\n\t\th.Set(\"Content-Type\", contentType)\n\t}\n\treturn h\n}\n\n// PrepareUpload determines whether the data in the supplied reader should be\n// uploaded in a single request, or in sequential chunks.\n// chunkSize is the size of the chunk that media should be split into.\n//\n// If chunkSize is zero, media is returned as the first value, and the other\n// two return values are nil, true.\n//\n// Otherwise, a MediaBuffer is returned, along with a bool indicating whether the\n// contents of media fit in a single chunk.\n//\n// After PrepareUpload has been called, media should no longer be used: the\n// media content should be accessed via one of the return values.\nfunc PrepareUpload(media io.Reader, chunkSize int) (r io.Reader, mb *MediaBuffer, singleChunk bool) {\n\tif chunkSize == 0 { // do not chunk\n\t\treturn media, nil, true\n\t}\n\tmb = NewMediaBuffer(media, chunkSize)\n\t_, _, _, err := mb.Chunk()\n\t// If err is io.EOF, we can upload this in a single request. Otherwise, err is\n\t// either nil or a non-EOF error. If it is the latter, then the next call to\n\t// mb.Chunk will return the same error. Returning a MediaBuffer ensures that this\n\t// error will be handled at some point.\n\treturn nil, mb, err == io.EOF\n}\n\n// MediaInfo holds information for media uploads. It is intended for use by generated\n// code only.\ntype MediaInfo struct {\n\t// At most one of Media and MediaBuffer will be set.\n\tmedia           io.Reader\n\tbuffer          *MediaBuffer\n\tsingleChunk     bool\n\tmType           string\n\tsize            int64 // mediaSize, if known.  Used only for calls to progressUpdater_.\n\tprogressUpdater googleapi.ProgressUpdater\n}\n\n// NewInfoFromMedia should be invoked from the Media method of a call. It returns a\n// MediaInfo populated with chunk size and content type, and a reader or MediaBuffer\n// if needed.\nfunc NewInfoFromMedia(r io.Reader, options []googleapi.MediaOption) *MediaInfo {\n\tmi := &MediaInfo{}\n\topts := googleapi.ProcessMediaOptions(options)\n\tif !opts.ForceEmptyContentType {\n\t\tr, mi.mType = DetermineContentType(r, opts.ContentType)\n\t}\n\tmi.media, mi.buffer, mi.singleChunk = PrepareUpload(r, opts.ChunkSize)\n\treturn mi\n}\n\n// NewInfoFromResumableMedia should be invoked from the ResumableMedia method of a\n// call. It returns a MediaInfo using the given reader, size and media type.\nfunc NewInfoFromResumableMedia(r io.ReaderAt, size int64, mediaType string) *MediaInfo {\n\trdr := ReaderAtToReader(r, size)\n\trdr, mType := DetermineContentType(rdr, mediaType)\n\treturn &MediaInfo{\n\t\tsize:        size,\n\t\tmType:       mType,\n\t\tbuffer:      NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize),\n\t\tmedia:       nil,\n\t\tsingleChunk: false,\n\t}\n}\n\nfunc (mi *MediaInfo) SetProgressUpdater(pu googleapi.ProgressUpdater) {\n\tif mi != nil {\n\t\tmi.progressUpdater = pu\n\t}\n}\n\n// UploadType determines the type of upload: a single request, or a resumable\n// series of requests.\nfunc (mi *MediaInfo) UploadType() string {\n\tif mi.singleChunk {\n\t\treturn \"multipart\"\n\t}\n\treturn \"resumable\"\n}\n\n// UploadRequest sets up an HTTP request for media upload. It adds headers\n// as necessary, and returns a replacement for the body.\nfunc (mi *MediaInfo) UploadRequest(reqHeaders http.Header, body io.Reader) (newBody io.Reader, cleanup func()) {\n\tcleanup = func() {}\n\tif mi == nil {\n\t\treturn body, cleanup\n\t}\n\tvar media io.Reader\n\tif mi.media != nil {\n\t\t// This only happens when the caller has turned off chunking. In that\n\t\t// case, we write all of media in a single non-retryable request.\n\t\tmedia = mi.media\n\t} else if mi.singleChunk {\n\t\t// The data fits in a single chunk, which has now been read into the MediaBuffer.\n\t\t// We obtain that chunk so we can write it in a single request. The request can\n\t\t// be retried because the data is stored in the MediaBuffer.\n\t\tmedia, _, _, _ = mi.buffer.Chunk()\n\t}\n\tif media != nil {\n\t\tcombined, ctype := CombineBodyMedia(body, \"application/json\", media, mi.mType)\n\t\tcleanup = func() { combined.Close() }\n\t\treqHeaders.Set(\"Content-Type\", ctype)\n\t\tbody = combined\n\t}\n\tif mi.buffer != nil && mi.mType != \"\" && !mi.singleChunk {\n\t\treqHeaders.Set(\"X-Upload-Content-Type\", mi.mType)\n\t}\n\treturn body, cleanup\n}\n\n// ResumableUpload returns an appropriately configured ResumableUpload value if the\n// upload is resumable, or nil otherwise.\nfunc (mi *MediaInfo) ResumableUpload(locURI string) *ResumableUpload {\n\tif mi == nil || mi.singleChunk {\n\t\treturn nil\n\t}\n\treturn &ResumableUpload{\n\t\tURI:       locURI,\n\t\tMedia:     mi.buffer,\n\t\tMediaType: mi.mType,\n\t\tCallback: func(curr int64) {\n\t\t\tif mi.progressUpdater != nil {\n\t\t\t\tmi.progressUpdater(curr, mi.size)\n\t\t\t}\n\t\t},\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/gensupport/params.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gensupport\n\nimport (\n\t\"net/url\"\n\n\t\"google.golang.org/api/googleapi\"\n)\n\n// URLParams is a simplified replacement for url.Values\n// that safely builds up URL parameters for encoding.\ntype URLParams map[string][]string\n\n// Get returns the first value for the given key, or \"\".\nfunc (u URLParams) Get(key string) string {\n\tvs := u[key]\n\tif len(vs) == 0 {\n\t\treturn \"\"\n\t}\n\treturn vs[0]\n}\n\n// Set sets the key to value.\n// It replaces any existing values.\nfunc (u URLParams) Set(key, value string) {\n\tu[key] = []string{value}\n}\n\n// SetMulti sets the key to an array of values.\n// It replaces any existing values.\n// Note that values must not be modified after calling SetMulti\n// so the caller is responsible for making a copy if necessary.\nfunc (u URLParams) SetMulti(key string, values []string) {\n\tu[key] = values\n}\n\n// Encode encodes the values into ``URL encoded'' form\n// (\"bar=baz&foo=quux\") sorted by key.\nfunc (u URLParams) Encode() string {\n\treturn url.Values(u).Encode()\n}\n\nfunc SetOptions(u URLParams, opts ...googleapi.CallOption) {\n\tfor _, o := range opts {\n\t\tu.Set(o.Get())\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/gensupport/resumable.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gensupport\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n)\n\nconst (\n\t// statusTooManyRequests is returned by the storage API if the\n\t// per-project limits have been temporarily exceeded. The request\n\t// should be retried.\n\t// https://cloud.google.com/storage/docs/json_api/v1/status-codes#standardcodes\n\tstatusTooManyRequests = 429\n)\n\n// ResumableUpload is used by the generated APIs to provide resumable uploads.\n// It is not used by developers directly.\ntype ResumableUpload struct {\n\tClient *http.Client\n\t// URI is the resumable resource destination provided by the server after specifying \"&uploadType=resumable\".\n\tURI       string\n\tUserAgent string // User-Agent for header of the request\n\t// Media is the object being uploaded.\n\tMedia *MediaBuffer\n\t// MediaType defines the media type, e.g. \"image/jpeg\".\n\tMediaType string\n\n\tmu       sync.Mutex // guards progress\n\tprogress int64      // number of bytes uploaded so far\n\n\t// Callback is an optional function that will be periodically called with the cumulative number of bytes uploaded.\n\tCallback func(int64)\n\n\t// If not specified, a default exponential backoff strategy will be used.\n\tBackoff BackoffStrategy\n}\n\n// Progress returns the number of bytes uploaded at this point.\nfunc (rx *ResumableUpload) Progress() int64 {\n\trx.mu.Lock()\n\tdefer rx.mu.Unlock()\n\treturn rx.progress\n}\n\n// doUploadRequest performs a single HTTP request to upload data.\n// off specifies the offset in rx.Media from which data is drawn.\n// size is the number of bytes in data.\n// final specifies whether data is the final chunk to be uploaded.\nfunc (rx *ResumableUpload) doUploadRequest(ctx context.Context, data io.Reader, off, size int64, final bool) (*http.Response, error) {\n\treq, err := http.NewRequest(\"POST\", rx.URI, data)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treq.ContentLength = size\n\tvar contentRange string\n\tif final {\n\t\tif size == 0 {\n\t\t\tcontentRange = fmt.Sprintf(\"bytes */%v\", off)\n\t\t} else {\n\t\t\tcontentRange = fmt.Sprintf(\"bytes %v-%v/%v\", off, off+size-1, off+size)\n\t\t}\n\t} else {\n\t\tcontentRange = fmt.Sprintf(\"bytes %v-%v/*\", off, off+size-1)\n\t}\n\treq.Header.Set(\"Content-Range\", contentRange)\n\treq.Header.Set(\"Content-Type\", rx.MediaType)\n\treq.Header.Set(\"User-Agent\", rx.UserAgent)\n\n\t// Google's upload endpoint uses status code 308 for a\n\t// different purpose than the \"308 Permanent Redirect\"\n\t// since-standardized in RFC 7238. Because of the conflict in\n\t// semantics, Google added this new request header which\n\t// causes it to not use \"308\" and instead reply with 200 OK\n\t// and sets the upload-specific \"X-HTTP-Status-Code-Override:\n\t// 308\" response header.\n\treq.Header.Set(\"X-GUploader-No-308\", \"yes\")\n\n\treturn SendRequest(ctx, rx.Client, req)\n}\n\nfunc statusResumeIncomplete(resp *http.Response) bool {\n\t// This is how the server signals \"status resume incomplete\"\n\t// when X-GUploader-No-308 is set to \"yes\":\n\treturn resp != nil && resp.Header.Get(\"X-Http-Status-Code-Override\") == \"308\"\n}\n\n// reportProgress calls a user-supplied callback to report upload progress.\n// If old==updated, the callback is not called.\nfunc (rx *ResumableUpload) reportProgress(old, updated int64) {\n\tif updated-old == 0 {\n\t\treturn\n\t}\n\trx.mu.Lock()\n\trx.progress = updated\n\trx.mu.Unlock()\n\tif rx.Callback != nil {\n\t\trx.Callback(updated)\n\t}\n}\n\n// transferChunk performs a single HTTP request to upload a single chunk from rx.Media.\nfunc (rx *ResumableUpload) transferChunk(ctx context.Context) (*http.Response, error) {\n\tchunk, off, size, err := rx.Media.Chunk()\n\n\tdone := err == io.EOF\n\tif !done && err != nil {\n\t\treturn nil, err\n\t}\n\n\tres, err := rx.doUploadRequest(ctx, chunk, off, int64(size), done)\n\tif err != nil {\n\t\treturn res, err\n\t}\n\n\t// We sent \"X-GUploader-No-308: yes\" (see comment elsewhere in\n\t// this file), so we don't expect to get a 308.\n\tif res.StatusCode == 308 {\n\t\treturn nil, errors.New(\"unexpected 308 response status code\")\n\t}\n\n\tif res.StatusCode == http.StatusOK {\n\t\trx.reportProgress(off, off+int64(size))\n\t}\n\n\tif statusResumeIncomplete(res) {\n\t\trx.Media.Next()\n\t}\n\treturn res, nil\n}\n\nfunc contextDone(ctx context.Context) bool {\n\tselect {\n\tcase <-ctx.Done():\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n\n// Upload starts the process of a resumable upload with a cancellable context.\n// It retries using the provided back off strategy until cancelled or the\n// strategy indicates to stop retrying.\n// It is called from the auto-generated API code and is not visible to the user.\n// Before sending an HTTP request, Upload calls any registered hook functions,\n// and calls the returned functions after the request returns (see send.go).\n// rx is private to the auto-generated API code.\n// Exactly one of resp or err will be nil.  If resp is non-nil, the caller must call resp.Body.Close.\nfunc (rx *ResumableUpload) Upload(ctx context.Context) (resp *http.Response, err error) {\n\tvar pause time.Duration\n\tbackoff := rx.Backoff\n\tif backoff == nil {\n\t\tbackoff = DefaultBackoffStrategy()\n\t}\n\n\tfor {\n\t\t// Ensure that we return in the case of cancelled context, even if pause is 0.\n\t\tif contextDone(ctx) {\n\t\t\treturn nil, ctx.Err()\n\t\t}\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\treturn nil, ctx.Err()\n\t\tcase <-time.After(pause):\n\t\t}\n\n\t\tresp, err = rx.transferChunk(ctx)\n\n\t\tvar status int\n\t\tif resp != nil {\n\t\t\tstatus = resp.StatusCode\n\t\t}\n\n\t\t// Check if we should retry the request.\n\t\tif shouldRetry(status, err) {\n\t\t\tvar retry bool\n\t\t\tpause, retry = backoff.Pause()\n\t\t\tif retry {\n\t\t\t\tif resp != nil && resp.Body != nil {\n\t\t\t\t\tresp.Body.Close()\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\t// If the chunk was uploaded successfully, but there's still\n\t\t// more to go, upload the next chunk without any delay.\n\t\tif statusResumeIncomplete(resp) {\n\t\t\tpause = 0\n\t\t\tbackoff.Reset()\n\t\t\tresp.Body.Close()\n\t\t\tcontinue\n\t\t}\n\n\t\t// It's possible for err and resp to both be non-nil here, but we expose a simpler\n\t\t// contract to our callers: exactly one of resp and err will be non-nil.  This means\n\t\t// that any response body must be closed here before returning a non-nil error.\n\t\tif err != nil {\n\t\t\tif resp != nil && resp.Body != nil {\n\t\t\t\tresp.Body.Close()\n\t\t\t}\n\t\t\treturn nil, err\n\t\t}\n\n\t\treturn resp, nil\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/gensupport/retry.go",
    "content": "// Copyright 2017 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\npackage gensupport\n\nimport (\n\t\"io\"\n\t\"net\"\n\t\"net/http\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n)\n\n// Retry invokes the given function, retrying it multiple times if the connection failed or\n// the HTTP status response indicates the request should be attempted again. ctx may be nil.\nfunc Retry(ctx context.Context, f func() (*http.Response, error), backoff BackoffStrategy) (*http.Response, error) {\n\tfor {\n\t\tresp, err := f()\n\n\t\tvar status int\n\t\tif resp != nil {\n\t\t\tstatus = resp.StatusCode\n\t\t}\n\n\t\t// Return if we shouldn't retry.\n\t\tpause, retry := backoff.Pause()\n\t\tif !shouldRetry(status, err) || !retry {\n\t\t\treturn resp, err\n\t\t}\n\n\t\t// Ensure the response body is closed, if any.\n\t\tif resp != nil && resp.Body != nil {\n\t\t\tresp.Body.Close()\n\t\t}\n\n\t\t// Pause, but still listen to ctx.Done if context is not nil.\n\t\tvar done <-chan struct{}\n\t\tif ctx != nil {\n\t\t\tdone = ctx.Done()\n\t\t}\n\t\tselect {\n\t\tcase <-done:\n\t\t\treturn nil, ctx.Err()\n\t\tcase <-time.After(pause):\n\t\t}\n\t}\n}\n\n// DefaultBackoffStrategy returns a default strategy to use for retrying failed upload requests.\nfunc DefaultBackoffStrategy() BackoffStrategy {\n\treturn &ExponentialBackoff{\n\t\tBase: 250 * time.Millisecond,\n\t\tMax:  16 * time.Second,\n\t}\n}\n\n// shouldRetry returns true if the HTTP response / error indicates that the\n// request should be attempted again.\nfunc shouldRetry(status int, err error) bool {\n\tif 500 <= status && status <= 599 {\n\t\treturn true\n\t}\n\tif status == statusTooManyRequests {\n\t\treturn true\n\t}\n\tif err == io.ErrUnexpectedEOF {\n\t\treturn true\n\t}\n\tif err, ok := err.(net.Error); ok {\n\t\treturn err.Temporary()\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/gensupport/send.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gensupport\n\nimport (\n\t\"encoding/json\"\n\t\"errors\"\n\t\"net/http\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/context/ctxhttp\"\n)\n\n// Hook is the type of a function that is called once before each HTTP request\n// that is sent by a generated API.  It returns a function that is called after\n// the request returns.\n// Hooks are not called if the context is nil.\ntype Hook func(ctx context.Context, req *http.Request) func(resp *http.Response)\n\nvar hooks []Hook\n\n// RegisterHook registers a Hook to be called before each HTTP request by a\n// generated API.  Hooks are called in the order they are registered.  Each\n// hook can return a function; if it is non-nil, it is called after the HTTP\n// request returns.  These functions are called in the reverse order.\n// RegisterHook should not be called concurrently with itself or SendRequest.\nfunc RegisterHook(h Hook) {\n\thooks = append(hooks, h)\n}\n\n// SendRequest sends a single HTTP request using the given client.\n// If ctx is non-nil, it calls all hooks, then sends the request with\n// ctxhttp.Do, then calls any functions returned by the hooks in reverse order.\nfunc SendRequest(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error) {\n\t// Disallow Accept-Encoding because it interferes with the automatic gzip handling\n\t// done by the default http.Transport. See https://github.com/google/google-api-go-client/issues/219.\n\tif _, ok := req.Header[\"Accept-Encoding\"]; ok {\n\t\treturn nil, errors.New(\"google api: custom Accept-Encoding headers not allowed\")\n\t}\n\tif ctx == nil {\n\t\treturn client.Do(req)\n\t}\n\t// Call hooks in order of registration, store returned funcs.\n\tpost := make([]func(resp *http.Response), len(hooks))\n\tfor i, h := range hooks {\n\t\tfn := h(ctx, req)\n\t\tpost[i] = fn\n\t}\n\n\t// Send request.\n\tresp, err := ctxhttp.Do(ctx, client, req)\n\n\t// Call returned funcs in reverse order.\n\tfor i := len(post) - 1; i >= 0; i-- {\n\t\tif fn := post[i]; fn != nil {\n\t\t\tfn(resp)\n\t\t}\n\t}\n\treturn resp, err\n}\n\n// DecodeResponse decodes the body of res into target. If there is no body,\n// target is unchanged.\nfunc DecodeResponse(target interface{}, res *http.Response) error {\n\tif res.StatusCode == http.StatusNoContent {\n\t\treturn nil\n\t}\n\treturn json.NewDecoder(res.Body).Decode(target)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/googleapi/googleapi.go",
    "content": "// Copyright 2011 Google Inc. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package googleapi contains the common code shared by all Google API\n// libraries.\npackage googleapi // import \"google.golang.org/api/googleapi\"\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"strings\"\n\n\t\"google.golang.org/api/googleapi/internal/uritemplates\"\n)\n\n// ContentTyper is an interface for Readers which know (or would like\n// to override) their Content-Type. If a media body doesn't implement\n// ContentTyper, the type is sniffed from the content using\n// http.DetectContentType.\ntype ContentTyper interface {\n\tContentType() string\n}\n\n// A SizeReaderAt is a ReaderAt with a Size method.\n// An io.SectionReader implements SizeReaderAt.\ntype SizeReaderAt interface {\n\tio.ReaderAt\n\tSize() int64\n}\n\n// ServerResponse is embedded in each Do response and\n// provides the HTTP status code and header sent by the server.\ntype ServerResponse struct {\n\t// HTTPStatusCode is the server's response status code.\n\t// When using a resource method's Do call, this will always be in the 2xx range.\n\tHTTPStatusCode int\n\t// Header contains the response header fields from the server.\n\tHeader http.Header\n}\n\nconst (\n\tVersion = \"0.5\"\n\n\t// UserAgent is the header string used to identify this package.\n\tUserAgent = \"google-api-go-client/\" + Version\n\n\t// The default chunk size to use for resumable uploads if not specified by the user.\n\tDefaultUploadChunkSize = 8 * 1024 * 1024\n\n\t// The minimum chunk size that can be used for resumable uploads.  All\n\t// user-specified chunk sizes must be multiple of this value.\n\tMinUploadChunkSize = 256 * 1024\n)\n\n// Error contains an error response from the server.\ntype Error struct {\n\t// Code is the HTTP response status code and will always be populated.\n\tCode int `json:\"code\"`\n\t// Message is the server response message and is only populated when\n\t// explicitly referenced by the JSON server response.\n\tMessage string `json:\"message\"`\n\t// Body is the raw response returned by the server.\n\t// It is often but not always JSON, depending on how the request fails.\n\tBody string\n\t// Header contains the response header fields from the server.\n\tHeader http.Header\n\n\tErrors []ErrorItem\n}\n\n// ErrorItem is a detailed error code & message from the Google API frontend.\ntype ErrorItem struct {\n\t// Reason is the typed error code. For example: \"some_example\".\n\tReason string `json:\"reason\"`\n\t// Message is the human-readable description of the error.\n\tMessage string `json:\"message\"`\n}\n\nfunc (e *Error) Error() string {\n\tif len(e.Errors) == 0 && e.Message == \"\" {\n\t\treturn fmt.Sprintf(\"googleapi: got HTTP response code %d with body: %v\", e.Code, e.Body)\n\t}\n\tvar buf bytes.Buffer\n\tfmt.Fprintf(&buf, \"googleapi: Error %d: \", e.Code)\n\tif e.Message != \"\" {\n\t\tfmt.Fprintf(&buf, \"%s\", e.Message)\n\t}\n\tif len(e.Errors) == 0 {\n\t\treturn strings.TrimSpace(buf.String())\n\t}\n\tif len(e.Errors) == 1 && e.Errors[0].Message == e.Message {\n\t\tfmt.Fprintf(&buf, \", %s\", e.Errors[0].Reason)\n\t\treturn buf.String()\n\t}\n\tfmt.Fprintln(&buf, \"\\nMore details:\")\n\tfor _, v := range e.Errors {\n\t\tfmt.Fprintf(&buf, \"Reason: %s, Message: %s\\n\", v.Reason, v.Message)\n\t}\n\treturn buf.String()\n}\n\ntype errorReply struct {\n\tError *Error `json:\"error\"`\n}\n\n// CheckResponse returns an error (of type *Error) if the response\n// status code is not 2xx.\nfunc CheckResponse(res *http.Response) error {\n\tif res.StatusCode >= 200 && res.StatusCode <= 299 {\n\t\treturn nil\n\t}\n\tslurp, err := ioutil.ReadAll(res.Body)\n\tif err == nil {\n\t\tjerr := new(errorReply)\n\t\terr = json.Unmarshal(slurp, jerr)\n\t\tif err == nil && jerr.Error != nil {\n\t\t\tif jerr.Error.Code == 0 {\n\t\t\t\tjerr.Error.Code = res.StatusCode\n\t\t\t}\n\t\t\tjerr.Error.Body = string(slurp)\n\t\t\treturn jerr.Error\n\t\t}\n\t}\n\treturn &Error{\n\t\tCode:   res.StatusCode,\n\t\tBody:   string(slurp),\n\t\tHeader: res.Header,\n\t}\n}\n\n// IsNotModified reports whether err is the result of the\n// server replying with http.StatusNotModified.\n// Such error values are sometimes returned by \"Do\" methods\n// on calls when If-None-Match is used.\nfunc IsNotModified(err error) bool {\n\tif err == nil {\n\t\treturn false\n\t}\n\tae, ok := err.(*Error)\n\treturn ok && ae.Code == http.StatusNotModified\n}\n\n// CheckMediaResponse returns an error (of type *Error) if the response\n// status code is not 2xx. Unlike CheckResponse it does not assume the\n// body is a JSON error document.\n// It is the caller's responsibility to close res.Body.\nfunc CheckMediaResponse(res *http.Response) error {\n\tif res.StatusCode >= 200 && res.StatusCode <= 299 {\n\t\treturn nil\n\t}\n\tslurp, _ := ioutil.ReadAll(io.LimitReader(res.Body, 1<<20))\n\treturn &Error{\n\t\tCode: res.StatusCode,\n\t\tBody: string(slurp),\n\t}\n}\n\ntype MarshalStyle bool\n\nvar WithDataWrapper = MarshalStyle(true)\nvar WithoutDataWrapper = MarshalStyle(false)\n\nfunc (wrap MarshalStyle) JSONReader(v interface{}) (io.Reader, error) {\n\tbuf := new(bytes.Buffer)\n\tif wrap {\n\t\tbuf.Write([]byte(`{\"data\": `))\n\t}\n\terr := json.NewEncoder(buf).Encode(v)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif wrap {\n\t\tbuf.Write([]byte(`}`))\n\t}\n\treturn buf, nil\n}\n\n// endingWithErrorReader from r until it returns an error.  If the\n// final error from r is io.EOF and e is non-nil, e is used instead.\ntype endingWithErrorReader struct {\n\tr io.Reader\n\te error\n}\n\nfunc (er endingWithErrorReader) Read(p []byte) (n int, err error) {\n\tn, err = er.r.Read(p)\n\tif err == io.EOF && er.e != nil {\n\t\terr = er.e\n\t}\n\treturn\n}\n\n// countingWriter counts the number of bytes it receives to write, but\n// discards them.\ntype countingWriter struct {\n\tn *int64\n}\n\nfunc (w countingWriter) Write(p []byte) (int, error) {\n\t*w.n += int64(len(p))\n\treturn len(p), nil\n}\n\n// ProgressUpdater is a function that is called upon every progress update of a resumable upload.\n// This is the only part of a resumable upload (from googleapi) that is usable by the developer.\n// The remaining usable pieces of resumable uploads is exposed in each auto-generated API.\ntype ProgressUpdater func(current, total int64)\n\ntype MediaOption interface {\n\tsetOptions(o *MediaOptions)\n}\n\ntype contentTypeOption string\n\nfunc (ct contentTypeOption) setOptions(o *MediaOptions) {\n\to.ContentType = string(ct)\n\tif o.ContentType == \"\" {\n\t\to.ForceEmptyContentType = true\n\t}\n}\n\n// ContentType returns a MediaOption which sets the Content-Type header for media uploads.\n// If ctype is empty, the Content-Type header will be omitted.\nfunc ContentType(ctype string) MediaOption {\n\treturn contentTypeOption(ctype)\n}\n\ntype chunkSizeOption int\n\nfunc (cs chunkSizeOption) setOptions(o *MediaOptions) {\n\tsize := int(cs)\n\tif size%MinUploadChunkSize != 0 {\n\t\tsize += MinUploadChunkSize - (size % MinUploadChunkSize)\n\t}\n\to.ChunkSize = size\n}\n\n// ChunkSize returns a MediaOption which sets the chunk size for media uploads.\n// size will be rounded up to the nearest multiple of 256K.\n// Media which contains fewer than size bytes will be uploaded in a single request.\n// Media which contains size bytes or more will be uploaded in separate chunks.\n// If size is zero, media will be uploaded in a single request.\nfunc ChunkSize(size int) MediaOption {\n\treturn chunkSizeOption(size)\n}\n\n// MediaOptions stores options for customizing media upload.  It is not used by developers directly.\ntype MediaOptions struct {\n\tContentType           string\n\tForceEmptyContentType bool\n\n\tChunkSize int\n}\n\n// ProcessMediaOptions stores options from opts in a MediaOptions.\n// It is not used by developers directly.\nfunc ProcessMediaOptions(opts []MediaOption) *MediaOptions {\n\tmo := &MediaOptions{ChunkSize: DefaultUploadChunkSize}\n\tfor _, o := range opts {\n\t\to.setOptions(mo)\n\t}\n\treturn mo\n}\n\nfunc ResolveRelative(basestr, relstr string) string {\n\tu, _ := url.Parse(basestr)\n\trel, _ := url.Parse(relstr)\n\tu = u.ResolveReference(rel)\n\tus := u.String()\n\tus = strings.Replace(us, \"%7B\", \"{\", -1)\n\tus = strings.Replace(us, \"%7D\", \"}\", -1)\n\treturn us\n}\n\n// Expand subsitutes any {encoded} strings in the URL passed in using\n// the map supplied.\n//\n// This calls SetOpaque to avoid encoding of the parameters in the URL path.\nfunc Expand(u *url.URL, expansions map[string]string) {\n\tescaped, unescaped, err := uritemplates.Expand(u.Path, expansions)\n\tif err == nil {\n\t\tu.Path = unescaped\n\t\tu.RawPath = escaped\n\t}\n}\n\n// CloseBody is used to close res.Body.\n// Prior to calling Close, it also tries to Read a small amount to see an EOF.\n// Not seeing an EOF can prevent HTTP Transports from reusing connections.\nfunc CloseBody(res *http.Response) {\n\tif res == nil || res.Body == nil {\n\t\treturn\n\t}\n\t// Justification for 3 byte reads: two for up to \"\\r\\n\" after\n\t// a JSON/XML document, and then 1 to see EOF if we haven't yet.\n\t// TODO(bradfitz): detect Go 1.3+ and skip these reads.\n\t// See https://codereview.appspot.com/58240043\n\t// and https://codereview.appspot.com/49570044\n\tbuf := make([]byte, 1)\n\tfor i := 0; i < 3; i++ {\n\t\t_, err := res.Body.Read(buf)\n\t\tif err != nil {\n\t\t\tbreak\n\t\t}\n\t}\n\tres.Body.Close()\n\n}\n\n// VariantType returns the type name of the given variant.\n// If the map doesn't contain the named key or the value is not a []interface{}, \"\" is returned.\n// This is used to support \"variant\" APIs that can return one of a number of different types.\nfunc VariantType(t map[string]interface{}) string {\n\ts, _ := t[\"type\"].(string)\n\treturn s\n}\n\n// ConvertVariant uses the JSON encoder/decoder to fill in the struct 'dst' with the fields found in variant 'v'.\n// This is used to support \"variant\" APIs that can return one of a number of different types.\n// It reports whether the conversion was successful.\nfunc ConvertVariant(v map[string]interface{}, dst interface{}) bool {\n\tvar buf bytes.Buffer\n\terr := json.NewEncoder(&buf).Encode(v)\n\tif err != nil {\n\t\treturn false\n\t}\n\treturn json.Unmarshal(buf.Bytes(), dst) == nil\n}\n\n// A Field names a field to be retrieved with a partial response.\n// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n//\n// Partial responses can dramatically reduce the amount of data that must be sent to your application.\n// In order to request partial responses, you can specify the full list of fields\n// that your application needs by adding the Fields option to your request.\n//\n// Field strings use camelCase with leading lower-case characters to identify fields within the response.\n//\n// For example, if your response has a \"NextPageToken\" and a slice of \"Items\" with \"Id\" fields,\n// you could request just those fields like this:\n//\n//     svc.Events.List().Fields(\"nextPageToken\", \"items/id\").Do()\n//\n// or if you were also interested in each Item's \"Updated\" field, you can combine them like this:\n//\n//     svc.Events.List().Fields(\"nextPageToken\", \"items(id,updated)\").Do()\n//\n// More information about field formatting can be found here:\n// https://developers.google.com/+/api/#fields-syntax\n//\n// Another way to find field names is through the Google API explorer:\n// https://developers.google.com/apis-explorer/#p/\ntype Field string\n\n// CombineFields combines fields into a single string.\nfunc CombineFields(s []Field) string {\n\tr := make([]string, len(s))\n\tfor i, v := range s {\n\t\tr[i] = string(v)\n\t}\n\treturn strings.Join(r, \",\")\n}\n\n// A CallOption is an optional argument to an API call.\n// It should be treated as an opaque value by users of Google APIs.\n//\n// A CallOption is something that configures an API call in a way that is\n// not specific to that API; for instance, controlling the quota user for\n// an API call is common across many APIs, and is thus a CallOption.\ntype CallOption interface {\n\tGet() (key, value string)\n}\n\n// QuotaUser returns a CallOption that will set the quota user for a call.\n// The quota user can be used by server-side applications to control accounting.\n// It can be an arbitrary string up to 40 characters, and will override UserIP\n// if both are provided.\nfunc QuotaUser(u string) CallOption { return quotaUser(u) }\n\ntype quotaUser string\n\nfunc (q quotaUser) Get() (string, string) { return \"quotaUser\", string(q) }\n\n// UserIP returns a CallOption that will set the \"userIp\" parameter of a call.\n// This should be the IP address of the originating request.\nfunc UserIP(ip string) CallOption { return userIP(ip) }\n\ntype userIP string\n\nfunc (i userIP) Get() (string, string) { return \"userIp\", string(i) }\n\n// Trace returns a CallOption that enables diagnostic tracing for a call.\n// traceToken is an ID supplied by Google support.\nfunc Trace(traceToken string) CallOption { return traceTok(traceToken) }\n\ntype traceTok string\n\nfunc (t traceTok) Get() (string, string) { return \"trace\", \"token:\" + string(t) }\n\n// TODO: Fields too\n"
  },
  {
    "path": "vendor/google.golang.org/api/googleapi/internal/uritemplates/LICENSE",
    "content": "Copyright (c) 2013 Joshua Tacoma\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": "vendor/google.golang.org/api/googleapi/internal/uritemplates/uritemplates.go",
    "content": "// Copyright 2013 Joshua Tacoma. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package uritemplates is a level 3 implementation of RFC 6570 (URI\n// Template, http://tools.ietf.org/html/rfc6570).\n// uritemplates does not support composite values (in Go: slices or maps)\n// and so does not qualify as a level 4 implementation.\npackage uritemplates\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"regexp\"\n\t\"strconv\"\n\t\"strings\"\n)\n\nvar (\n\tunreserved = regexp.MustCompile(\"[^A-Za-z0-9\\\\-._~]\")\n\treserved   = regexp.MustCompile(\"[^A-Za-z0-9\\\\-._~:/?#[\\\\]@!$&'()*+,;=]\")\n\tvalidname  = regexp.MustCompile(\"^([A-Za-z0-9_\\\\.]|%[0-9A-Fa-f][0-9A-Fa-f])+$\")\n\thex        = []byte(\"0123456789ABCDEF\")\n)\n\nfunc pctEncode(src []byte) []byte {\n\tdst := make([]byte, len(src)*3)\n\tfor i, b := range src {\n\t\tbuf := dst[i*3 : i*3+3]\n\t\tbuf[0] = 0x25\n\t\tbuf[1] = hex[b/16]\n\t\tbuf[2] = hex[b%16]\n\t}\n\treturn dst\n}\n\n// pairWriter is a convenience struct which allows escaped and unescaped\n// versions of the template to be written in parallel.\ntype pairWriter struct {\n\tescaped, unescaped bytes.Buffer\n}\n\n// Write writes the provided string directly without any escaping.\nfunc (w *pairWriter) Write(s string) {\n\tw.escaped.WriteString(s)\n\tw.unescaped.WriteString(s)\n}\n\n// Escape writes the provided string, escaping the string for the\n// escaped output.\nfunc (w *pairWriter) Escape(s string, allowReserved bool) {\n\tw.unescaped.WriteString(s)\n\tif allowReserved {\n\t\tw.escaped.Write(reserved.ReplaceAllFunc([]byte(s), pctEncode))\n\t} else {\n\t\tw.escaped.Write(unreserved.ReplaceAllFunc([]byte(s), pctEncode))\n\t}\n}\n\n// Escaped returns the escaped string.\nfunc (w *pairWriter) Escaped() string {\n\treturn w.escaped.String()\n}\n\n// Unescaped returns the unescaped string.\nfunc (w *pairWriter) Unescaped() string {\n\treturn w.unescaped.String()\n}\n\n// A uriTemplate is a parsed representation of a URI template.\ntype uriTemplate struct {\n\traw   string\n\tparts []templatePart\n}\n\n// parse parses a URI template string into a uriTemplate object.\nfunc parse(rawTemplate string) (*uriTemplate, error) {\n\tsplit := strings.Split(rawTemplate, \"{\")\n\tparts := make([]templatePart, len(split)*2-1)\n\tfor i, s := range split {\n\t\tif i == 0 {\n\t\t\tif strings.Contains(s, \"}\") {\n\t\t\t\treturn nil, errors.New(\"unexpected }\")\n\t\t\t}\n\t\t\tparts[i].raw = s\n\t\t\tcontinue\n\t\t}\n\t\tsubsplit := strings.Split(s, \"}\")\n\t\tif len(subsplit) != 2 {\n\t\t\treturn nil, errors.New(\"malformed template\")\n\t\t}\n\t\texpression := subsplit[0]\n\t\tvar err error\n\t\tparts[i*2-1], err = parseExpression(expression)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tparts[i*2].raw = subsplit[1]\n\t}\n\treturn &uriTemplate{\n\t\traw:   rawTemplate,\n\t\tparts: parts,\n\t}, nil\n}\n\ntype templatePart struct {\n\traw           string\n\tterms         []templateTerm\n\tfirst         string\n\tsep           string\n\tnamed         bool\n\tifemp         string\n\tallowReserved bool\n}\n\ntype templateTerm struct {\n\tname     string\n\texplode  bool\n\ttruncate int\n}\n\nfunc parseExpression(expression string) (result templatePart, err error) {\n\tswitch expression[0] {\n\tcase '+':\n\t\tresult.sep = \",\"\n\t\tresult.allowReserved = true\n\t\texpression = expression[1:]\n\tcase '.':\n\t\tresult.first = \".\"\n\t\tresult.sep = \".\"\n\t\texpression = expression[1:]\n\tcase '/':\n\t\tresult.first = \"/\"\n\t\tresult.sep = \"/\"\n\t\texpression = expression[1:]\n\tcase ';':\n\t\tresult.first = \";\"\n\t\tresult.sep = \";\"\n\t\tresult.named = true\n\t\texpression = expression[1:]\n\tcase '?':\n\t\tresult.first = \"?\"\n\t\tresult.sep = \"&\"\n\t\tresult.named = true\n\t\tresult.ifemp = \"=\"\n\t\texpression = expression[1:]\n\tcase '&':\n\t\tresult.first = \"&\"\n\t\tresult.sep = \"&\"\n\t\tresult.named = true\n\t\tresult.ifemp = \"=\"\n\t\texpression = expression[1:]\n\tcase '#':\n\t\tresult.first = \"#\"\n\t\tresult.sep = \",\"\n\t\tresult.allowReserved = true\n\t\texpression = expression[1:]\n\tdefault:\n\t\tresult.sep = \",\"\n\t}\n\trawterms := strings.Split(expression, \",\")\n\tresult.terms = make([]templateTerm, len(rawterms))\n\tfor i, raw := range rawterms {\n\t\tresult.terms[i], err = parseTerm(raw)\n\t\tif err != nil {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn result, err\n}\n\nfunc parseTerm(term string) (result templateTerm, err error) {\n\t// TODO(djd): Remove \"*\" suffix parsing once we check that no APIs have\n\t// mistakenly used that attribute.\n\tif strings.HasSuffix(term, \"*\") {\n\t\tresult.explode = true\n\t\tterm = term[:len(term)-1]\n\t}\n\tsplit := strings.Split(term, \":\")\n\tif len(split) == 1 {\n\t\tresult.name = term\n\t} else if len(split) == 2 {\n\t\tresult.name = split[0]\n\t\tvar parsed int64\n\t\tparsed, err = strconv.ParseInt(split[1], 10, 0)\n\t\tresult.truncate = int(parsed)\n\t} else {\n\t\terr = errors.New(\"multiple colons in same term\")\n\t}\n\tif !validname.MatchString(result.name) {\n\t\terr = errors.New(\"not a valid name: \" + result.name)\n\t}\n\tif result.explode && result.truncate > 0 {\n\t\terr = errors.New(\"both explode and prefix modifers on same term\")\n\t}\n\treturn result, err\n}\n\n// Expand expands a URI template with a set of values to produce the\n// resultant URI. Two forms of the result are returned: one with all the\n// elements escaped, and one with the elements unescaped.\nfunc (t *uriTemplate) Expand(values map[string]string) (escaped, unescaped string) {\n\tvar w pairWriter\n\tfor _, p := range t.parts {\n\t\tp.expand(&w, values)\n\t}\n\treturn w.Escaped(), w.Unescaped()\n}\n\nfunc (tp *templatePart) expand(w *pairWriter, values map[string]string) {\n\tif len(tp.raw) > 0 {\n\t\tw.Write(tp.raw)\n\t\treturn\n\t}\n\tvar first = true\n\tfor _, term := range tp.terms {\n\t\tvalue, exists := values[term.name]\n\t\tif !exists {\n\t\t\tcontinue\n\t\t}\n\t\tif first {\n\t\t\tw.Write(tp.first)\n\t\t\tfirst = false\n\t\t} else {\n\t\t\tw.Write(tp.sep)\n\t\t}\n\t\ttp.expandString(w, term, value)\n\t}\n}\n\nfunc (tp *templatePart) expandName(w *pairWriter, name string, empty bool) {\n\tif tp.named {\n\t\tw.Write(name)\n\t\tif empty {\n\t\t\tw.Write(tp.ifemp)\n\t\t} else {\n\t\t\tw.Write(\"=\")\n\t\t}\n\t}\n}\n\nfunc (tp *templatePart) expandString(w *pairWriter, t templateTerm, s string) {\n\tif len(s) > t.truncate && t.truncate > 0 {\n\t\ts = s[:t.truncate]\n\t}\n\ttp.expandName(w, t.name, len(s) == 0)\n\tw.Escape(s, tp.allowReserved)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/googleapi/internal/uritemplates/utils.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage uritemplates\n\n// Expand parses then expands a URI template with a set of values to produce\n// the resultant URI. Two forms of the result are returned: one with all the\n// elements escaped, and one with the elements unescaped.\nfunc Expand(path string, values map[string]string) (escaped, unescaped string, err error) {\n\ttemplate, err := parse(path)\n\tif err != nil {\n\t\treturn \"\", \"\", err\n\t}\n\tescaped, unescaped = template.Expand(values)\n\treturn escaped, unescaped, nil\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/googleapi/transport/apikey.go",
    "content": "// Copyright 2012 Google Inc. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package transport contains HTTP transports used to make\n// authenticated API requests.\npackage transport\n\nimport (\n\t\"errors\"\n\t\"net/http\"\n)\n\n// APIKey is an HTTP Transport which wraps an underlying transport and\n// appends an API Key \"key\" parameter to the URL of outgoing requests.\ntype APIKey struct {\n\t// Key is the API Key to set on requests.\n\tKey string\n\n\t// Transport is the underlying HTTP transport.\n\t// If nil, http.DefaultTransport is used.\n\tTransport http.RoundTripper\n}\n\nfunc (t *APIKey) RoundTrip(req *http.Request) (*http.Response, error) {\n\trt := t.Transport\n\tif rt == nil {\n\t\trt = http.DefaultTransport\n\t\tif rt == nil {\n\t\t\treturn nil, errors.New(\"googleapi/transport: no Transport specified or available\")\n\t\t}\n\t}\n\tnewReq := *req\n\targs := newReq.URL.Query()\n\targs.Set(\"key\", t.Key)\n\tnewReq.URL.RawQuery = args.Encode()\n\treturn rt.RoundTrip(&newReq)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/googleapi/types.go",
    "content": "// Copyright 2013 Google Inc. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage googleapi\n\nimport (\n\t\"encoding/json\"\n\t\"errors\"\n\t\"strconv\"\n)\n\n// Int64s is a slice of int64s that marshal as quoted strings in JSON.\ntype Int64s []int64\n\nfunc (q *Int64s) UnmarshalJSON(raw []byte) error {\n\t*q = (*q)[:0]\n\tvar ss []string\n\tif err := json.Unmarshal(raw, &ss); err != nil {\n\t\treturn err\n\t}\n\tfor _, s := range ss {\n\t\tv, err := strconv.ParseInt(s, 10, 64)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t*q = append(*q, int64(v))\n\t}\n\treturn nil\n}\n\n// Int32s is a slice of int32s that marshal as quoted strings in JSON.\ntype Int32s []int32\n\nfunc (q *Int32s) UnmarshalJSON(raw []byte) error {\n\t*q = (*q)[:0]\n\tvar ss []string\n\tif err := json.Unmarshal(raw, &ss); err != nil {\n\t\treturn err\n\t}\n\tfor _, s := range ss {\n\t\tv, err := strconv.ParseInt(s, 10, 32)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t*q = append(*q, int32(v))\n\t}\n\treturn nil\n}\n\n// Uint64s is a slice of uint64s that marshal as quoted strings in JSON.\ntype Uint64s []uint64\n\nfunc (q *Uint64s) UnmarshalJSON(raw []byte) error {\n\t*q = (*q)[:0]\n\tvar ss []string\n\tif err := json.Unmarshal(raw, &ss); err != nil {\n\t\treturn err\n\t}\n\tfor _, s := range ss {\n\t\tv, err := strconv.ParseUint(s, 10, 64)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t*q = append(*q, uint64(v))\n\t}\n\treturn nil\n}\n\n// Uint32s is a slice of uint32s that marshal as quoted strings in JSON.\ntype Uint32s []uint32\n\nfunc (q *Uint32s) UnmarshalJSON(raw []byte) error {\n\t*q = (*q)[:0]\n\tvar ss []string\n\tif err := json.Unmarshal(raw, &ss); err != nil {\n\t\treturn err\n\t}\n\tfor _, s := range ss {\n\t\tv, err := strconv.ParseUint(s, 10, 32)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t*q = append(*q, uint32(v))\n\t}\n\treturn nil\n}\n\n// Float64s is a slice of float64s that marshal as quoted strings in JSON.\ntype Float64s []float64\n\nfunc (q *Float64s) UnmarshalJSON(raw []byte) error {\n\t*q = (*q)[:0]\n\tvar ss []string\n\tif err := json.Unmarshal(raw, &ss); err != nil {\n\t\treturn err\n\t}\n\tfor _, s := range ss {\n\t\tv, err := strconv.ParseFloat(s, 64)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t*q = append(*q, float64(v))\n\t}\n\treturn nil\n}\n\nfunc quotedList(n int, fn func(dst []byte, i int) []byte) ([]byte, error) {\n\tdst := make([]byte, 0, 2+n*10) // somewhat arbitrary\n\tdst = append(dst, '[')\n\tfor i := 0; i < n; i++ {\n\t\tif i > 0 {\n\t\t\tdst = append(dst, ',')\n\t\t}\n\t\tdst = append(dst, '\"')\n\t\tdst = fn(dst, i)\n\t\tdst = append(dst, '\"')\n\t}\n\tdst = append(dst, ']')\n\treturn dst, nil\n}\n\nfunc (s Int64s) MarshalJSON() ([]byte, error) {\n\treturn quotedList(len(s), func(dst []byte, i int) []byte {\n\t\treturn strconv.AppendInt(dst, s[i], 10)\n\t})\n}\n\nfunc (s Int32s) MarshalJSON() ([]byte, error) {\n\treturn quotedList(len(s), func(dst []byte, i int) []byte {\n\t\treturn strconv.AppendInt(dst, int64(s[i]), 10)\n\t})\n}\n\nfunc (s Uint64s) MarshalJSON() ([]byte, error) {\n\treturn quotedList(len(s), func(dst []byte, i int) []byte {\n\t\treturn strconv.AppendUint(dst, s[i], 10)\n\t})\n}\n\nfunc (s Uint32s) MarshalJSON() ([]byte, error) {\n\treturn quotedList(len(s), func(dst []byte, i int) []byte {\n\t\treturn strconv.AppendUint(dst, uint64(s[i]), 10)\n\t})\n}\n\nfunc (s Float64s) MarshalJSON() ([]byte, error) {\n\treturn quotedList(len(s), func(dst []byte, i int) []byte {\n\t\treturn strconv.AppendFloat(dst, s[i], 'g', -1, 64)\n\t})\n}\n\n// RawMessage is a raw encoded JSON value.\n// It is identical to json.RawMessage, except it does not suffer from\n// https://golang.org/issue/14493.\ntype RawMessage []byte\n\n// MarshalJSON returns m.\nfunc (m RawMessage) MarshalJSON() ([]byte, error) {\n\treturn m, nil\n}\n\n// UnmarshalJSON sets *m to a copy of data.\nfunc (m *RawMessage) UnmarshalJSON(data []byte) error {\n\tif m == nil {\n\t\treturn errors.New(\"googleapi.RawMessage: UnmarshalJSON on nil pointer\")\n\t}\n\t*m = append((*m)[:0], data...)\n\treturn nil\n}\n\n/*\n * Helper routines for simplifying the creation of optional fields of basic type.\n */\n\n// Bool is a helper routine that allocates a new bool value\n// to store v and returns a pointer to it.\nfunc Bool(v bool) *bool { return &v }\n\n// Int32 is a helper routine that allocates a new int32 value\n// to store v and returns a pointer to it.\nfunc Int32(v int32) *int32 { return &v }\n\n// Int64 is a helper routine that allocates a new int64 value\n// to store v and returns a pointer to it.\nfunc Int64(v int64) *int64 { return &v }\n\n// Float64 is a helper routine that allocates a new float64 value\n// to store v and returns a pointer to it.\nfunc Float64(v float64) *float64 { return &v }\n\n// Uint32 is a helper routine that allocates a new uint32 value\n// to store v and returns a pointer to it.\nfunc Uint32(v uint32) *uint32 { return &v }\n\n// Uint64 is a helper routine that allocates a new uint64 value\n// to store v and returns a pointer to it.\nfunc Uint64(v uint64) *uint64 { return &v }\n\n// String is a helper routine that allocates a new string value\n// to store v and returns a pointer to it.\nfunc String(v string) *string { return &v }\n"
  },
  {
    "path": "vendor/google.golang.org/api/internal/creds.go",
    "content": "// Copyright 2017 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\npackage internal\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/oauth2\"\n\t\"golang.org/x/oauth2/google\"\n)\n\n// Creds returns credential information obtained from DialSettings, or if none, then\n// it returns default credential information.\nfunc Creds(ctx context.Context, ds *DialSettings) (*google.DefaultCredentials, error) {\n\tif ds.CredentialsFile != \"\" {\n\t\treturn credFileTokenSource(ctx, ds.CredentialsFile, ds.Scopes...)\n\t}\n\tif ds.TokenSource != nil {\n\t\treturn &google.DefaultCredentials{TokenSource: ds.TokenSource}, nil\n\t}\n\treturn google.FindDefaultCredentials(ctx, ds.Scopes...)\n}\n\n// credFileTokenSource reads a refresh token file or a service account and returns\n// a TokenSource constructed from the config.\nfunc credFileTokenSource(ctx context.Context, filename string, scope ...string) (*google.DefaultCredentials, error) {\n\tdata, err := ioutil.ReadFile(filename)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"cannot read credentials file: %v\", err)\n\t}\n\t// See if it is a refresh token credentials file first.\n\tts, ok, err := refreshTokenTokenSource(ctx, data, scope...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif ok {\n\t\treturn &google.DefaultCredentials{\n\t\t\tTokenSource: ts,\n\t\t\tJSON:        data,\n\t\t}, nil\n\t}\n\n\t// If not, it should be a service account.\n\tcfg, err := google.JWTConfigFromJSON(data, scope...)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"google.JWTConfigFromJSON: %v\", err)\n\t}\n\t// jwt.Config does not expose the project ID, so re-unmarshal to get it.\n\tvar pid struct {\n\t\tProjectID string `json:\"project_id\"`\n\t}\n\tif err := json.Unmarshal(data, &pid); err != nil {\n\t\treturn nil, err\n\t}\n\treturn &google.DefaultCredentials{\n\t\tProjectID:   pid.ProjectID,\n\t\tTokenSource: cfg.TokenSource(ctx),\n\t\tJSON:        data,\n\t}, nil\n}\n\nfunc refreshTokenTokenSource(ctx context.Context, data []byte, scope ...string) (oauth2.TokenSource, bool, error) {\n\tvar c cred\n\tif err := json.Unmarshal(data, &c); err != nil {\n\t\treturn nil, false, fmt.Errorf(\"cannot unmarshal credentials file: %v\", err)\n\t}\n\tif c.ClientID == \"\" || c.ClientSecret == \"\" || c.RefreshToken == \"\" || c.Type != \"authorized_user\" {\n\t\treturn nil, false, nil\n\t}\n\tcfg := &oauth2.Config{\n\t\tClientID:     c.ClientID,\n\t\tClientSecret: c.ClientSecret,\n\t\tEndpoint:     google.Endpoint,\n\t\tRedirectURL:  \"urn:ietf:wg:oauth:2.0:oob\",\n\t\tScopes:       scope,\n\t}\n\treturn cfg.TokenSource(ctx, &oauth2.Token{\n\t\tRefreshToken: c.RefreshToken,\n\t\tExpiry:       time.Now(),\n\t}), true, nil\n}\n\ntype cred struct {\n\tClientID     string `json:\"client_id\"`\n\tClientSecret string `json:\"client_secret\"`\n\tRefreshToken string `json:\"refresh_token\"`\n\tType         string `json:\"type\"`\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/internal/pool.go",
    "content": "// Copyright 2016 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\npackage internal\n\nimport (\n\t\"errors\"\n\t\"google.golang.org/grpc/naming\"\n)\n\n// PoolResolver provides a fixed list of addresses to load balance between\n// and does not provide further updates.\ntype PoolResolver struct {\n\tpoolSize int\n\tdialOpt  *DialSettings\n\tch       chan []*naming.Update\n}\n\n// NewPoolResolver returns a PoolResolver\n// This is an EXPERIMENTAL API and may be changed or removed in the future.\nfunc NewPoolResolver(size int, o *DialSettings) *PoolResolver {\n\treturn &PoolResolver{poolSize: size, dialOpt: o}\n}\n\n// Resolve returns a Watcher for the endpoint defined by the DialSettings\n// provided to NewPoolResolver.\nfunc (r *PoolResolver) Resolve(target string) (naming.Watcher, error) {\n\tif r.dialOpt.Endpoint == \"\" {\n\t\treturn nil, errors.New(\"No endpoint configured\")\n\t}\n\taddrs := make([]*naming.Update, 0, r.poolSize)\n\tfor i := 0; i < r.poolSize; i++ {\n\t\taddrs = append(addrs, &naming.Update{Op: naming.Add, Addr: r.dialOpt.Endpoint, Metadata: i})\n\t}\n\tr.ch = make(chan []*naming.Update, 1)\n\tr.ch <- addrs\n\treturn r, nil\n}\n\n// Next returns a static list of updates on the first call,\n// and blocks indefinitely until Close is called on subsequent calls.\nfunc (r *PoolResolver) Next() ([]*naming.Update, error) {\n\treturn <-r.ch, nil\n}\n\nfunc (r *PoolResolver) Close() {\n\tclose(r.ch)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/internal/settings.go",
    "content": "// Copyright 2017 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// Package internal supports the options and transport packages.\npackage internal\n\nimport (\n\t\"errors\"\n\t\"net/http\"\n\n\t\"golang.org/x/oauth2\"\n\t\"google.golang.org/grpc\"\n)\n\n// DialSettings holds information needed to establish a connection with a\n// Google API service.\ntype DialSettings struct {\n\tEndpoint        string\n\tScopes          []string\n\tTokenSource     oauth2.TokenSource\n\tCredentialsFile string // if set, Token Source is ignored.\n\tUserAgent       string\n\tAPIKey          string\n\tHTTPClient      *http.Client\n\tGRPCDialOpts    []grpc.DialOption\n\tGRPCConn        *grpc.ClientConn\n\tNoAuth          bool\n}\n\n// Validate reports an error if ds is invalid.\nfunc (ds *DialSettings) Validate() error {\n\thasCreds := ds.APIKey != \"\" || ds.TokenSource != nil || ds.CredentialsFile != \"\"\n\tif ds.NoAuth && hasCreds {\n\t\treturn errors.New(\"options.WithoutAuthentication is incompatible with any option that provides credentials\")\n\t}\n\tif ds.HTTPClient != nil && ds.GRPCConn != nil {\n\t\treturn errors.New(\"WithHTTPClient is incompatible with WithGRPCConn\")\n\t}\n\tif ds.HTTPClient != nil && ds.GRPCDialOpts != nil {\n\t\treturn errors.New(\"WithHTTPClient is incompatible with gRPC dial options\")\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/iterator/iterator.go",
    "content": "// Copyright 2016 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// Package iterator provides support for standard Google API iterators.\n// See https://github.com/GoogleCloudPlatform/gcloud-golang/wiki/Iterator-Guidelines.\npackage iterator\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n)\n\n// Done is returned by an iterator's Next method when the iteration is\n// complete; when there are no more items to return.\nvar Done = errors.New(\"no more items in iterator\")\n\n// We don't support mixed calls to Next and NextPage because they play\n// with the paging state in incompatible ways.\nvar errMixed = errors.New(\"iterator: Next and NextPage called on same iterator\")\n\n// PageInfo contains information about an iterator's paging state.\ntype PageInfo struct {\n\t// Token is the token used to retrieve the next page of items from the\n\t// API. You may set Token immediately after creating an iterator to\n\t// begin iteration at a particular point. If Token is the empty string,\n\t// the iterator will begin with the first eligible item.\n\t//\n\t// The result of setting Token after the first call to Next is undefined.\n\t//\n\t// After the underlying API method is called to retrieve a page of items,\n\t// Token is set to the next-page token in the response.\n\tToken string\n\n\t// MaxSize is the maximum number of items returned by a call to the API.\n\t// Set MaxSize as a hint to optimize the buffering behavior of the iterator.\n\t// If zero, the page size is determined by the underlying service.\n\t//\n\t// Use Pager to retrieve a page of a specific, exact size.\n\tMaxSize int\n\n\t// The error state of the iterator. Manipulated by PageInfo.next and Pager.\n\t// This is a latch: it starts as nil, and once set should never change.\n\terr error\n\n\t// If true, no more calls to fetch should be made. Set to true when fetch\n\t// returns an empty page token. The iterator is Done when this is true AND\n\t// the buffer is empty.\n\tatEnd bool\n\n\t// Function that fetches a page from the underlying service. It should pass\n\t// the pageSize and pageToken arguments to the service, fill the buffer\n\t// with the results from the call, and return the next-page token returned\n\t// by the service. The function must not remove any existing items from the\n\t// buffer. If the underlying RPC takes an int32 page size, pageSize should\n\t// be silently truncated.\n\tfetch func(pageSize int, pageToken string) (nextPageToken string, err error)\n\n\t// Function that returns the number of currently buffered items.\n\tbufLen func() int\n\n\t// Function that returns the buffer, after setting the buffer variable to nil.\n\ttakeBuf func() interface{}\n\n\t// Set to true on first call to PageInfo.next or Pager.NextPage. Used to check\n\t// for calls to both Next and NextPage with the same iterator.\n\tnextCalled, nextPageCalled bool\n}\n\n// NewPageInfo exposes internals for iterator implementations.\n// It is not a stable interface.\nvar NewPageInfo = newPageInfo\n\n// If an iterator can support paging, its iterator-creating method should call\n// this (via the NewPageInfo variable above).\n//\n// The fetch, bufLen and takeBuf arguments provide access to the\n// iterator's internal slice of buffered items. They behave as described in\n// PageInfo, above.\n//\n// The return value is the PageInfo.next method bound to the returned PageInfo value.\n// (Returning it avoids exporting PageInfo.next.)\nfunc newPageInfo(fetch func(int, string) (string, error), bufLen func() int, takeBuf func() interface{}) (*PageInfo, func() error) {\n\tpi := &PageInfo{\n\t\tfetch:   fetch,\n\t\tbufLen:  bufLen,\n\t\ttakeBuf: takeBuf,\n\t}\n\treturn pi, pi.next\n}\n\n// Remaining returns the number of items available before the iterator makes another API call.\nfunc (pi *PageInfo) Remaining() int { return pi.bufLen() }\n\n// next provides support for an iterator's Next function. An iterator's Next\n// should return the error returned by next if non-nil; else it can assume\n// there is at least one item in its buffer, and it should return that item and\n// remove it from the buffer.\nfunc (pi *PageInfo) next() error {\n\tpi.nextCalled = true\n\tif pi.err != nil { // Once we get an error, always return it.\n\t\t// TODO(jba): fix so users can retry on transient errors? Probably not worth it.\n\t\treturn pi.err\n\t}\n\tif pi.nextPageCalled {\n\t\tpi.err = errMixed\n\t\treturn pi.err\n\t}\n\t// Loop until we get some items or reach the end.\n\tfor pi.bufLen() == 0 && !pi.atEnd {\n\t\tif err := pi.fill(pi.MaxSize); err != nil {\n\t\t\tpi.err = err\n\t\t\treturn pi.err\n\t\t}\n\t\tif pi.Token == \"\" {\n\t\t\tpi.atEnd = true\n\t\t}\n\t}\n\t// Either the buffer is non-empty or pi.atEnd is true (or both).\n\tif pi.bufLen() == 0 {\n\t\t// The buffer is empty and pi.atEnd is true, i.e. the service has no\n\t\t// more items.\n\t\tpi.err = Done\n\t}\n\treturn pi.err\n}\n\n// Call the service to fill the buffer, using size and pi.Token. Set pi.Token to the\n// next-page token returned by the call.\n// If fill returns a non-nil error, the buffer will be empty.\nfunc (pi *PageInfo) fill(size int) error {\n\ttok, err := pi.fetch(size, pi.Token)\n\tif err != nil {\n\t\tpi.takeBuf() // clear the buffer\n\t\treturn err\n\t}\n\tpi.Token = tok\n\treturn nil\n}\n\n// Pageable is implemented by iterators that support paging.\ntype Pageable interface {\n\t// PageInfo returns paging information associated with the iterator.\n\tPageInfo() *PageInfo\n}\n\n// Pager supports retrieving iterator items a page at a time.\ntype Pager struct {\n\tpageInfo *PageInfo\n\tpageSize int\n}\n\n// NewPager returns a pager that uses iter. Calls to its NextPage method will\n// obtain exactly pageSize items, unless fewer remain. The pageToken argument\n// indicates where to start the iteration. Pass the empty string to start at\n// the beginning, or pass a token retrieved from a call to Pager.NextPage.\n//\n// If you use an iterator with a Pager, you must not call Next on the iterator.\nfunc NewPager(iter Pageable, pageSize int, pageToken string) *Pager {\n\tp := &Pager{\n\t\tpageInfo: iter.PageInfo(),\n\t\tpageSize: pageSize,\n\t}\n\tp.pageInfo.Token = pageToken\n\tif pageSize <= 0 {\n\t\tp.pageInfo.err = errors.New(\"iterator: page size must be positive\")\n\t}\n\treturn p\n}\n\n// NextPage retrieves a sequence of items from the iterator and appends them\n// to slicep, which must be a pointer to a slice of the iterator's item type.\n// Exactly p.pageSize items will be appended, unless fewer remain.\n//\n// The first return value is the page token to use for the next page of items.\n// If empty, there are no more pages. Aside from checking for the end of the\n// iteration, the returned page token is only needed if the iteration is to be\n// resumed a later time, in another context (possibly another process).\n//\n// The second return value is non-nil if an error occurred. It will never be\n// the special iterator sentinel value Done. To recognize the end of the\n// iteration, compare nextPageToken to the empty string.\n//\n// It is possible for NextPage to return a single zero-length page along with\n// an empty page token when there are no more items in the iteration.\nfunc (p *Pager) NextPage(slicep interface{}) (nextPageToken string, err error) {\n\tp.pageInfo.nextPageCalled = true\n\tif p.pageInfo.err != nil {\n\t\treturn \"\", p.pageInfo.err\n\t}\n\tif p.pageInfo.nextCalled {\n\t\tp.pageInfo.err = errMixed\n\t\treturn \"\", p.pageInfo.err\n\t}\n\tif p.pageInfo.bufLen() > 0 {\n\t\treturn \"\", errors.New(\"must call NextPage with an empty buffer\")\n\t}\n\t// The buffer must be empty here, so takeBuf is a no-op. We call it just to get\n\t// the buffer's type.\n\twantSliceType := reflect.PtrTo(reflect.ValueOf(p.pageInfo.takeBuf()).Type())\n\tif slicep == nil {\n\t\treturn \"\", errors.New(\"nil passed to Pager.NextPage\")\n\t}\n\tvslicep := reflect.ValueOf(slicep)\n\tif vslicep.Type() != wantSliceType {\n\t\treturn \"\", fmt.Errorf(\"slicep should be of type %s, got %T\", wantSliceType, slicep)\n\t}\n\tfor p.pageInfo.bufLen() < p.pageSize {\n\t\tif err := p.pageInfo.fill(p.pageSize - p.pageInfo.bufLen()); err != nil {\n\t\t\tp.pageInfo.err = err\n\t\t\treturn \"\", p.pageInfo.err\n\t\t}\n\t\tif p.pageInfo.Token == \"\" {\n\t\t\tbreak\n\t\t}\n\t}\n\te := vslicep.Elem()\n\te.Set(reflect.AppendSlice(e, reflect.ValueOf(p.pageInfo.takeBuf())))\n\treturn p.pageInfo.Token, nil\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/option/option.go",
    "content": "// Copyright 2017 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// Package option contains options for Google API clients.\npackage option\n\nimport (\n\t\"net/http\"\n\n\t\"golang.org/x/oauth2\"\n\t\"google.golang.org/api/internal\"\n\t\"google.golang.org/grpc\"\n)\n\n// A ClientOption is an option for a Google API client.\ntype ClientOption interface {\n\tApply(*internal.DialSettings)\n}\n\n// WithTokenSource returns a ClientOption that specifies an OAuth2 token\n// source to be used as the basis for authentication.\nfunc WithTokenSource(s oauth2.TokenSource) ClientOption {\n\treturn withTokenSource{s}\n}\n\ntype withTokenSource struct{ ts oauth2.TokenSource }\n\nfunc (w withTokenSource) Apply(o *internal.DialSettings) {\n\to.TokenSource = w.ts\n}\n\ntype withCredFile string\n\nfunc (w withCredFile) Apply(o *internal.DialSettings) {\n\to.CredentialsFile = string(w)\n}\n\n// WithCredentialsFile returns a ClientOption that authenticates\n// API calls with the given service account or refresh token JSON\n// credentials file.\nfunc WithCredentialsFile(filename string) ClientOption {\n\treturn withCredFile(filename)\n}\n\n// WithServiceAccountFile returns a ClientOption that uses a Google service\n// account credentials file to authenticate.\n//\n// Deprecated: Use WithCredentialsFile instead.\nfunc WithServiceAccountFile(filename string) ClientOption {\n\treturn WithCredentialsFile(filename)\n}\n\n// WithEndpoint returns a ClientOption that overrides the default endpoint\n// to be used for a service.\nfunc WithEndpoint(url string) ClientOption {\n\treturn withEndpoint(url)\n}\n\ntype withEndpoint string\n\nfunc (w withEndpoint) Apply(o *internal.DialSettings) {\n\to.Endpoint = string(w)\n}\n\n// WithScopes returns a ClientOption that overrides the default OAuth2 scopes\n// to be used for a service.\nfunc WithScopes(scope ...string) ClientOption {\n\treturn withScopes(scope)\n}\n\ntype withScopes []string\n\nfunc (w withScopes) Apply(o *internal.DialSettings) {\n\ts := make([]string, len(w))\n\tcopy(s, w)\n\to.Scopes = s\n}\n\n// WithUserAgent returns a ClientOption that sets the User-Agent.\nfunc WithUserAgent(ua string) ClientOption {\n\treturn withUA(ua)\n}\n\ntype withUA string\n\nfunc (w withUA) Apply(o *internal.DialSettings) { o.UserAgent = string(w) }\n\n// WithHTTPClient returns a ClientOption that specifies the HTTP client to use\n// as the basis of communications. This option may only be used with services\n// that support HTTP as their communication transport. When used, the\n// WithHTTPClient option takes precedent over all other supplied options.\nfunc WithHTTPClient(client *http.Client) ClientOption {\n\treturn withHTTPClient{client}\n}\n\ntype withHTTPClient struct{ client *http.Client }\n\nfunc (w withHTTPClient) Apply(o *internal.DialSettings) {\n\to.HTTPClient = w.client\n}\n\n// WithGRPCConn returns a ClientOption that specifies the gRPC client\n// connection to use as the basis of communications. This option many only be\n// used with services that support gRPC as their communication transport. When\n// used, the WithGRPCConn option takes precedent over all other supplied\n// options.\nfunc WithGRPCConn(conn *grpc.ClientConn) ClientOption {\n\treturn withGRPCConn{conn}\n}\n\ntype withGRPCConn struct{ conn *grpc.ClientConn }\n\nfunc (w withGRPCConn) Apply(o *internal.DialSettings) {\n\to.GRPCConn = w.conn\n}\n\n// WithGRPCDialOption returns a ClientOption that appends a new grpc.DialOption\n// to an underlying gRPC dial. It does not work with WithGRPCConn.\nfunc WithGRPCDialOption(opt grpc.DialOption) ClientOption {\n\treturn withGRPCDialOption{opt}\n}\n\ntype withGRPCDialOption struct{ opt grpc.DialOption }\n\nfunc (w withGRPCDialOption) Apply(o *internal.DialSettings) {\n\to.GRPCDialOpts = append(o.GRPCDialOpts, w.opt)\n}\n\n// WithGRPCConnectionPool returns a ClientOption that creates a pool of gRPC\n// connections that requests will be balanced between.\n// This is an EXPERIMENTAL API and may be changed or removed in the future.\nfunc WithGRPCConnectionPool(size int) ClientOption {\n\treturn withGRPCConnectionPool(size)\n}\n\ntype withGRPCConnectionPool int\n\nfunc (w withGRPCConnectionPool) Apply(o *internal.DialSettings) {\n\tbalancer := grpc.RoundRobin(internal.NewPoolResolver(int(w), o))\n\to.GRPCDialOpts = append(o.GRPCDialOpts, grpc.WithBalancer(balancer))\n}\n\n// WithAPIKey returns a ClientOption that specifies an API key to be used\n// as the basis for authentication.\nfunc WithAPIKey(apiKey string) ClientOption {\n\treturn withAPIKey(apiKey)\n}\n\ntype withAPIKey string\n\nfunc (w withAPIKey) Apply(o *internal.DialSettings) { o.APIKey = string(w) }\n\n// WithoutAuthentication returns a ClientOption that specifies that no\n// authentication should be used. It is suitable only for testing and for\n// accessing public resources, like public Google Cloud Storage buckets.\n// It is an error to provide both WithoutAuthentication and any of WithAPIKey,\n// WithTokenSource, WithCredentialsFile or WithServiceAccountFile.\nfunc WithoutAuthentication() ClientOption {\n\treturn withoutAuthentication{}\n}\n\ntype withoutAuthentication struct{}\n\nfunc (w withoutAuthentication) Apply(o *internal.DialSettings) { o.NoAuth = true }\n"
  },
  {
    "path": "vendor/google.golang.org/api/storage/v1/storage-gen.go",
    "content": "// Package storage provides access to the Cloud Storage JSON API.\n//\n// See https://developers.google.com/storage/docs/json_api/\n//\n// Usage example:\n//\n//   import \"google.golang.org/api/storage/v1\"\n//   ...\n//   storageService, err := storage.New(oauthHttpClient)\npackage storage // import \"google.golang.org/api/storage/v1\"\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\tcontext \"golang.org/x/net/context\"\n\tctxhttp \"golang.org/x/net/context/ctxhttp\"\n\tgensupport \"google.golang.org/api/gensupport\"\n\tgoogleapi \"google.golang.org/api/googleapi\"\n\t\"io\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"strconv\"\n\t\"strings\"\n)\n\n// Always reference these packages, just in case the auto-generated code\n// below doesn't.\nvar _ = bytes.NewBuffer\nvar _ = strconv.Itoa\nvar _ = fmt.Sprintf\nvar _ = json.NewDecoder\nvar _ = io.Copy\nvar _ = url.Parse\nvar _ = gensupport.MarshalJSON\nvar _ = googleapi.Version\nvar _ = errors.New\nvar _ = strings.Replace\nvar _ = context.Canceled\nvar _ = ctxhttp.Do\n\nconst apiId = \"storage:v1\"\nconst apiName = \"storage\"\nconst apiVersion = \"v1\"\nconst basePath = \"https://www.googleapis.com/storage/v1/\"\n\n// OAuth2 scopes used by this API.\nconst (\n\t// View and manage your data across Google Cloud Platform services\n\tCloudPlatformScope = \"https://www.googleapis.com/auth/cloud-platform\"\n\n\t// View your data across Google Cloud Platform services\n\tCloudPlatformReadOnlyScope = \"https://www.googleapis.com/auth/cloud-platform.read-only\"\n\n\t// Manage your data and permissions in Google Cloud Storage\n\tDevstorageFullControlScope = \"https://www.googleapis.com/auth/devstorage.full_control\"\n\n\t// View your data in Google Cloud Storage\n\tDevstorageReadOnlyScope = \"https://www.googleapis.com/auth/devstorage.read_only\"\n\n\t// Manage your data in Google Cloud Storage\n\tDevstorageReadWriteScope = \"https://www.googleapis.com/auth/devstorage.read_write\"\n)\n\nfunc New(client *http.Client) (*Service, error) {\n\tif client == nil {\n\t\treturn nil, errors.New(\"client is nil\")\n\t}\n\ts := &Service{client: client, BasePath: basePath}\n\ts.BucketAccessControls = NewBucketAccessControlsService(s)\n\ts.Buckets = NewBucketsService(s)\n\ts.Channels = NewChannelsService(s)\n\ts.DefaultObjectAccessControls = NewDefaultObjectAccessControlsService(s)\n\ts.Notifications = NewNotificationsService(s)\n\ts.ObjectAccessControls = NewObjectAccessControlsService(s)\n\ts.Objects = NewObjectsService(s)\n\ts.Projects = NewProjectsService(s)\n\treturn s, nil\n}\n\ntype Service struct {\n\tclient    *http.Client\n\tBasePath  string // API endpoint base URL\n\tUserAgent string // optional additional User-Agent fragment\n\n\tBucketAccessControls *BucketAccessControlsService\n\n\tBuckets *BucketsService\n\n\tChannels *ChannelsService\n\n\tDefaultObjectAccessControls *DefaultObjectAccessControlsService\n\n\tNotifications *NotificationsService\n\n\tObjectAccessControls *ObjectAccessControlsService\n\n\tObjects *ObjectsService\n\n\tProjects *ProjectsService\n}\n\nfunc (s *Service) userAgent() string {\n\tif s.UserAgent == \"\" {\n\t\treturn googleapi.UserAgent\n\t}\n\treturn googleapi.UserAgent + \" \" + s.UserAgent\n}\n\nfunc NewBucketAccessControlsService(s *Service) *BucketAccessControlsService {\n\trs := &BucketAccessControlsService{s: s}\n\treturn rs\n}\n\ntype BucketAccessControlsService struct {\n\ts *Service\n}\n\nfunc NewBucketsService(s *Service) *BucketsService {\n\trs := &BucketsService{s: s}\n\treturn rs\n}\n\ntype BucketsService struct {\n\ts *Service\n}\n\nfunc NewChannelsService(s *Service) *ChannelsService {\n\trs := &ChannelsService{s: s}\n\treturn rs\n}\n\ntype ChannelsService struct {\n\ts *Service\n}\n\nfunc NewDefaultObjectAccessControlsService(s *Service) *DefaultObjectAccessControlsService {\n\trs := &DefaultObjectAccessControlsService{s: s}\n\treturn rs\n}\n\ntype DefaultObjectAccessControlsService struct {\n\ts *Service\n}\n\nfunc NewNotificationsService(s *Service) *NotificationsService {\n\trs := &NotificationsService{s: s}\n\treturn rs\n}\n\ntype NotificationsService struct {\n\ts *Service\n}\n\nfunc NewObjectAccessControlsService(s *Service) *ObjectAccessControlsService {\n\trs := &ObjectAccessControlsService{s: s}\n\treturn rs\n}\n\ntype ObjectAccessControlsService struct {\n\ts *Service\n}\n\nfunc NewObjectsService(s *Service) *ObjectsService {\n\trs := &ObjectsService{s: s}\n\treturn rs\n}\n\ntype ObjectsService struct {\n\ts *Service\n}\n\nfunc NewProjectsService(s *Service) *ProjectsService {\n\trs := &ProjectsService{s: s}\n\trs.ServiceAccount = NewProjectsServiceAccountService(s)\n\treturn rs\n}\n\ntype ProjectsService struct {\n\ts *Service\n\n\tServiceAccount *ProjectsServiceAccountService\n}\n\nfunc NewProjectsServiceAccountService(s *Service) *ProjectsServiceAccountService {\n\trs := &ProjectsServiceAccountService{s: s}\n\treturn rs\n}\n\ntype ProjectsServiceAccountService struct {\n\ts *Service\n}\n\n// Bucket: A bucket.\ntype Bucket struct {\n\t// Acl: Access controls on the bucket.\n\tAcl []*BucketAccessControl `json:\"acl,omitempty\"`\n\n\t// Billing: The bucket's billing configuration.\n\tBilling *BucketBilling `json:\"billing,omitempty\"`\n\n\t// Cors: The bucket's Cross-Origin Resource Sharing (CORS)\n\t// configuration.\n\tCors []*BucketCors `json:\"cors,omitempty\"`\n\n\t// DefaultEventBasedHold: Defines the default value for Event-Based hold\n\t// on newly created objects in this bucket. Event-Based hold is a way to\n\t// retain objects indefinitely until an event occurs, signified by the\n\t// hold's release. After being released, such objects will be subject to\n\t// bucket-level retention (if any). One sample use case of this flag is\n\t// for banks to hold loan documents for at least 3 years after loan is\n\t// paid in full. Here bucket-level retention is 3 years and the event is\n\t// loan being paid in full. In this example these objects will be held\n\t// intact for any number of years until the event has occurred (hold is\n\t// released) and then 3 more years after that. Objects under Event-Based\n\t// hold cannot be deleted, overwritten or archived until the hold is\n\t// removed.\n\tDefaultEventBasedHold bool `json:\"defaultEventBasedHold,omitempty\"`\n\n\t// DefaultObjectAcl: Default access controls to apply to new objects\n\t// when no ACL is provided.\n\tDefaultObjectAcl []*ObjectAccessControl `json:\"defaultObjectAcl,omitempty\"`\n\n\t// Encryption: Encryption configuration used by default for newly\n\t// inserted objects, when no encryption config is specified.\n\tEncryption *BucketEncryption `json:\"encryption,omitempty\"`\n\n\t// Etag: HTTP 1.1 Entity tag for the bucket.\n\tEtag string `json:\"etag,omitempty\"`\n\n\t// Id: The ID of the bucket. For buckets, the id and name properties are\n\t// the same.\n\tId string `json:\"id,omitempty\"`\n\n\t// Kind: The kind of item this is. For buckets, this is always\n\t// storage#bucket.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// Labels: User-provided labels, in key/value pairs.\n\tLabels map[string]string `json:\"labels,omitempty\"`\n\n\t// Lifecycle: The bucket's lifecycle configuration. See lifecycle\n\t// management for more information.\n\tLifecycle *BucketLifecycle `json:\"lifecycle,omitempty\"`\n\n\t// Location: The location of the bucket. Object data for objects in the\n\t// bucket resides in physical storage within this region. Defaults to\n\t// US. See the developer's guide for the authoritative list.\n\tLocation string `json:\"location,omitempty\"`\n\n\t// Logging: The bucket's logging configuration, which defines the\n\t// destination bucket and optional name prefix for the current bucket's\n\t// logs.\n\tLogging *BucketLogging `json:\"logging,omitempty\"`\n\n\t// Metageneration: The metadata generation of this bucket.\n\tMetageneration int64 `json:\"metageneration,omitempty,string\"`\n\n\t// Name: The name of the bucket.\n\tName string `json:\"name,omitempty\"`\n\n\t// Owner: The owner of the bucket. This is always the project team's\n\t// owner group.\n\tOwner *BucketOwner `json:\"owner,omitempty\"`\n\n\t// ProjectNumber: The project number of the project the bucket belongs\n\t// to.\n\tProjectNumber uint64 `json:\"projectNumber,omitempty,string\"`\n\n\t// RetentionPolicy: Defines the retention policy for a bucket. The\n\t// Retention policy enforces a minimum retention time for all objects\n\t// contained in the bucket, based on their creation time. Any attempt to\n\t// overwrite or delete objects younger than the retention period will\n\t// result in a PERMISSION_DENIED error. An unlocked retention policy can\n\t// be modified or removed from the bucket via the UpdateBucketMetadata\n\t// RPC. A locked retention policy cannot be removed or shortened in\n\t// duration for the lifetime of the bucket. Attempting to remove or\n\t// decrease period of a locked retention policy will result in a\n\t// PERMISSION_DENIED error.\n\tRetentionPolicy *BucketRetentionPolicy `json:\"retentionPolicy,omitempty\"`\n\n\t// SelfLink: The URI of this bucket.\n\tSelfLink string `json:\"selfLink,omitempty\"`\n\n\t// StorageClass: The bucket's default storage class, used whenever no\n\t// storageClass is specified for a newly-created object. This defines\n\t// how objects in the bucket are stored and determines the SLA and the\n\t// cost of storage. Values include MULTI_REGIONAL, REGIONAL, STANDARD,\n\t// NEARLINE, COLDLINE, and DURABLE_REDUCED_AVAILABILITY. If this value\n\t// is not specified when the bucket is created, it will default to\n\t// STANDARD. For more information, see storage classes.\n\tStorageClass string `json:\"storageClass,omitempty\"`\n\n\t// TimeCreated: The creation time of the bucket in RFC 3339 format.\n\tTimeCreated string `json:\"timeCreated,omitempty\"`\n\n\t// Updated: The modification time of the bucket in RFC 3339 format.\n\tUpdated string `json:\"updated,omitempty\"`\n\n\t// Versioning: The bucket's versioning configuration.\n\tVersioning *BucketVersioning `json:\"versioning,omitempty\"`\n\n\t// Website: The bucket's website configuration, controlling how the\n\t// service behaves when accessing bucket contents as a web site. See the\n\t// Static Website Examples for more information.\n\tWebsite *BucketWebsite `json:\"website,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Acl\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Acl\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *Bucket) MarshalJSON() ([]byte, error) {\n\ttype NoMethod Bucket\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketBilling: The bucket's billing configuration.\ntype BucketBilling struct {\n\t// RequesterPays: When set to true, Requester Pays is enabled for this\n\t// bucket.\n\tRequesterPays bool `json:\"requesterPays,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"RequesterPays\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"RequesterPays\") to include\n\t// in API requests with the JSON null value. By default, fields with\n\t// empty values are omitted from API requests. However, any field with\n\t// an empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketBilling) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketBilling\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\ntype BucketCors struct {\n\t// MaxAgeSeconds: The value, in seconds, to return in the\n\t// Access-Control-Max-Age header used in preflight responses.\n\tMaxAgeSeconds int64 `json:\"maxAgeSeconds,omitempty\"`\n\n\t// Method: The list of HTTP methods on which to include CORS response\n\t// headers, (GET, OPTIONS, POST, etc) Note: \"*\" is permitted in the list\n\t// of methods, and means \"any method\".\n\tMethod []string `json:\"method,omitempty\"`\n\n\t// Origin: The list of Origins eligible to receive CORS response\n\t// headers. Note: \"*\" is permitted in the list of origins, and means\n\t// \"any Origin\".\n\tOrigin []string `json:\"origin,omitempty\"`\n\n\t// ResponseHeader: The list of HTTP headers other than the simple\n\t// response headers to give permission for the user-agent to share\n\t// across domains.\n\tResponseHeader []string `json:\"responseHeader,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"MaxAgeSeconds\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"MaxAgeSeconds\") to include\n\t// in API requests with the JSON null value. By default, fields with\n\t// empty values are omitted from API requests. However, any field with\n\t// an empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketCors) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketCors\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketEncryption: Encryption configuration used by default for newly\n// inserted objects, when no encryption config is specified.\ntype BucketEncryption struct {\n\t// DefaultKmsKeyName: A Cloud KMS key that will be used to encrypt\n\t// objects inserted into this bucket, if no encryption method is\n\t// specified. Limited availability; usable only by enabled projects.\n\tDefaultKmsKeyName string `json:\"defaultKmsKeyName,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"DefaultKmsKeyName\")\n\t// to unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"DefaultKmsKeyName\") to\n\t// include in API requests with the JSON null value. By default, fields\n\t// with empty values are omitted from API requests. However, any field\n\t// with an empty value appearing in NullFields will be sent to the\n\t// server as null. It is an error if a field in this list has a\n\t// non-empty value. This may be used to include null fields in Patch\n\t// requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketEncryption) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketEncryption\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketLifecycle: The bucket's lifecycle configuration. See lifecycle\n// management for more information.\ntype BucketLifecycle struct {\n\t// Rule: A lifecycle management rule, which is made of an action to take\n\t// and the condition(s) under which the action will be taken.\n\tRule []*BucketLifecycleRule `json:\"rule,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Rule\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Rule\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketLifecycle) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketLifecycle\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\ntype BucketLifecycleRule struct {\n\t// Action: The action to take.\n\tAction *BucketLifecycleRuleAction `json:\"action,omitempty\"`\n\n\t// Condition: The condition(s) under which the action will be taken.\n\tCondition *BucketLifecycleRuleCondition `json:\"condition,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Action\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Action\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketLifecycleRule) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketLifecycleRule\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketLifecycleRuleAction: The action to take.\ntype BucketLifecycleRuleAction struct {\n\t// StorageClass: Target storage class. Required iff the type of the\n\t// action is SetStorageClass.\n\tStorageClass string `json:\"storageClass,omitempty\"`\n\n\t// Type: Type of the action. Currently, only Delete and SetStorageClass\n\t// are supported.\n\tType string `json:\"type,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"StorageClass\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"StorageClass\") to include\n\t// in API requests with the JSON null value. By default, fields with\n\t// empty values are omitted from API requests. However, any field with\n\t// an empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketLifecycleRuleAction) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketLifecycleRuleAction\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketLifecycleRuleCondition: The condition(s) under which the action\n// will be taken.\ntype BucketLifecycleRuleCondition struct {\n\t// Age: Age of an object (in days). This condition is satisfied when an\n\t// object reaches the specified age.\n\tAge int64 `json:\"age,omitempty\"`\n\n\t// CreatedBefore: A date in RFC 3339 format with only the date part (for\n\t// instance, \"2013-01-15\"). This condition is satisfied when an object\n\t// is created before midnight of the specified date in UTC.\n\tCreatedBefore string `json:\"createdBefore,omitempty\"`\n\n\t// IsLive: Relevant only for versioned objects. If the value is true,\n\t// this condition matches live objects; if the value is false, it\n\t// matches archived objects.\n\tIsLive *bool `json:\"isLive,omitempty\"`\n\n\t// MatchesStorageClass: Objects having any of the storage classes\n\t// specified by this condition will be matched. Values include\n\t// MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, STANDARD, and\n\t// DURABLE_REDUCED_AVAILABILITY.\n\tMatchesStorageClass []string `json:\"matchesStorageClass,omitempty\"`\n\n\t// NumNewerVersions: Relevant only for versioned objects. If the value\n\t// is N, this condition is satisfied when there are at least N versions\n\t// (including the live version) newer than this version of the object.\n\tNumNewerVersions int64 `json:\"numNewerVersions,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Age\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Age\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketLifecycleRuleCondition) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketLifecycleRuleCondition\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketLogging: The bucket's logging configuration, which defines the\n// destination bucket and optional name prefix for the current bucket's\n// logs.\ntype BucketLogging struct {\n\t// LogBucket: The destination bucket where the current bucket's logs\n\t// should be placed.\n\tLogBucket string `json:\"logBucket,omitempty\"`\n\n\t// LogObjectPrefix: A prefix for log object names.\n\tLogObjectPrefix string `json:\"logObjectPrefix,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"LogBucket\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"LogBucket\") to include in\n\t// API requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketLogging) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketLogging\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketOwner: The owner of the bucket. This is always the project\n// team's owner group.\ntype BucketOwner struct {\n\t// Entity: The entity, in the form project-owner-projectId.\n\tEntity string `json:\"entity,omitempty\"`\n\n\t// EntityId: The ID for the entity.\n\tEntityId string `json:\"entityId,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Entity\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Entity\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketOwner) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketOwner\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketRetentionPolicy: Defines the retention policy for a bucket. The\n// Retention policy enforces a minimum retention time for all objects\n// contained in the bucket, based on their creation time. Any attempt to\n// overwrite or delete objects younger than the retention period will\n// result in a PERMISSION_DENIED error. An unlocked retention policy can\n// be modified or removed from the bucket via the UpdateBucketMetadata\n// RPC. A locked retention policy cannot be removed or shortened in\n// duration for the lifetime of the bucket. Attempting to remove or\n// decrease period of a locked retention policy will result in a\n// PERMISSION_DENIED error.\ntype BucketRetentionPolicy struct {\n\t// EffectiveTime: The time from which policy was enforced and effective.\n\t// RFC 3339 format.\n\tEffectiveTime string `json:\"effectiveTime,omitempty\"`\n\n\t// IsLocked: Once locked, an object retention policy cannot be modified.\n\tIsLocked bool `json:\"isLocked,omitempty\"`\n\n\t// RetentionPeriod: Specifies the duration that objects need to be\n\t// retained. Retention duration must be greater than zero and less than\n\t// 100 years. Note that enforcement of retention periods less than a day\n\t// is not guaranteed. Such periods should only be used for testing\n\t// purposes.\n\tRetentionPeriod int64 `json:\"retentionPeriod,omitempty,string\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"EffectiveTime\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"EffectiveTime\") to include\n\t// in API requests with the JSON null value. By default, fields with\n\t// empty values are omitted from API requests. However, any field with\n\t// an empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketRetentionPolicy) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketRetentionPolicy\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketVersioning: The bucket's versioning configuration.\ntype BucketVersioning struct {\n\t// Enabled: While set to true, versioning is fully enabled for this\n\t// bucket.\n\tEnabled bool `json:\"enabled,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Enabled\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Enabled\") to include in\n\t// API requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketVersioning) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketVersioning\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketWebsite: The bucket's website configuration, controlling how\n// the service behaves when accessing bucket contents as a web site. See\n// the Static Website Examples for more information.\ntype BucketWebsite struct {\n\t// MainPageSuffix: If the requested object path is missing, the service\n\t// will ensure the path has a trailing '/', append this suffix, and\n\t// attempt to retrieve the resulting object. This allows the creation of\n\t// index.html objects to represent directory pages.\n\tMainPageSuffix string `json:\"mainPageSuffix,omitempty\"`\n\n\t// NotFoundPage: If the requested object path is missing, and any\n\t// mainPageSuffix object is missing, if applicable, the service will\n\t// return the named object from this bucket as the content for a 404 Not\n\t// Found result.\n\tNotFoundPage string `json:\"notFoundPage,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"MainPageSuffix\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"MainPageSuffix\") to\n\t// include in API requests with the JSON null value. By default, fields\n\t// with empty values are omitted from API requests. However, any field\n\t// with an empty value appearing in NullFields will be sent to the\n\t// server as null. It is an error if a field in this list has a\n\t// non-empty value. This may be used to include null fields in Patch\n\t// requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketWebsite) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketWebsite\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketAccessControl: An access-control entry.\ntype BucketAccessControl struct {\n\t// Bucket: The name of the bucket.\n\tBucket string `json:\"bucket,omitempty\"`\n\n\t// Domain: The domain associated with the entity, if any.\n\tDomain string `json:\"domain,omitempty\"`\n\n\t// Email: The email address associated with the entity, if any.\n\tEmail string `json:\"email,omitempty\"`\n\n\t// Entity: The entity holding the permission, in one of the following\n\t// forms:\n\t// - user-userId\n\t// - user-email\n\t// - group-groupId\n\t// - group-email\n\t// - domain-domain\n\t// - project-team-projectId\n\t// - allUsers\n\t// - allAuthenticatedUsers Examples:\n\t// - The user liz@example.com would be user-liz@example.com.\n\t// - The group example@googlegroups.com would be\n\t// group-example@googlegroups.com.\n\t// - To refer to all members of the Google Apps for Business domain\n\t// example.com, the entity would be domain-example.com.\n\tEntity string `json:\"entity,omitempty\"`\n\n\t// EntityId: The ID for the entity, if any.\n\tEntityId string `json:\"entityId,omitempty\"`\n\n\t// Etag: HTTP 1.1 Entity tag for the access-control entry.\n\tEtag string `json:\"etag,omitempty\"`\n\n\t// Id: The ID of the access-control entry.\n\tId string `json:\"id,omitempty\"`\n\n\t// Kind: The kind of item this is. For bucket access control entries,\n\t// this is always storage#bucketAccessControl.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// ProjectTeam: The project team associated with the entity, if any.\n\tProjectTeam *BucketAccessControlProjectTeam `json:\"projectTeam,omitempty\"`\n\n\t// Role: The access permission for the entity.\n\tRole string `json:\"role,omitempty\"`\n\n\t// SelfLink: The link to this access-control entry.\n\tSelfLink string `json:\"selfLink,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Bucket\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Bucket\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketAccessControl) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketAccessControl\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketAccessControlProjectTeam: The project team associated with the\n// entity, if any.\ntype BucketAccessControlProjectTeam struct {\n\t// ProjectNumber: The project number.\n\tProjectNumber string `json:\"projectNumber,omitempty\"`\n\n\t// Team: The team.\n\tTeam string `json:\"team,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"ProjectNumber\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"ProjectNumber\") to include\n\t// in API requests with the JSON null value. By default, fields with\n\t// empty values are omitted from API requests. However, any field with\n\t// an empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketAccessControlProjectTeam) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketAccessControlProjectTeam\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// BucketAccessControls: An access-control list.\ntype BucketAccessControls struct {\n\t// Items: The list of items.\n\tItems []*BucketAccessControl `json:\"items,omitempty\"`\n\n\t// Kind: The kind of item this is. For lists of bucket access control\n\t// entries, this is always storage#bucketAccessControls.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Items\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Items\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *BucketAccessControls) MarshalJSON() ([]byte, error) {\n\ttype NoMethod BucketAccessControls\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// Buckets: A list of buckets.\ntype Buckets struct {\n\t// Items: The list of items.\n\tItems []*Bucket `json:\"items,omitempty\"`\n\n\t// Kind: The kind of item this is. For lists of buckets, this is always\n\t// storage#buckets.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// NextPageToken: The continuation token, used to page through large\n\t// result sets. Provide this value in a subsequent request to return the\n\t// next page of results.\n\tNextPageToken string `json:\"nextPageToken,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Items\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Items\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *Buckets) MarshalJSON() ([]byte, error) {\n\ttype NoMethod Buckets\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// Channel: An notification channel used to watch for resource changes.\ntype Channel struct {\n\t// Address: The address where notifications are delivered for this\n\t// channel.\n\tAddress string `json:\"address,omitempty\"`\n\n\t// Expiration: Date and time of notification channel expiration,\n\t// expressed as a Unix timestamp, in milliseconds. Optional.\n\tExpiration int64 `json:\"expiration,omitempty,string\"`\n\n\t// Id: A UUID or similar unique string that identifies this channel.\n\tId string `json:\"id,omitempty\"`\n\n\t// Kind: Identifies this as a notification channel used to watch for\n\t// changes to a resource. Value: the fixed string \"api#channel\".\n\tKind string `json:\"kind,omitempty\"`\n\n\t// Params: Additional parameters controlling delivery channel behavior.\n\t// Optional.\n\tParams map[string]string `json:\"params,omitempty\"`\n\n\t// Payload: A Boolean value to indicate whether payload is wanted.\n\t// Optional.\n\tPayload bool `json:\"payload,omitempty\"`\n\n\t// ResourceId: An opaque ID that identifies the resource being watched\n\t// on this channel. Stable across different API versions.\n\tResourceId string `json:\"resourceId,omitempty\"`\n\n\t// ResourceUri: A version-specific identifier for the watched resource.\n\tResourceUri string `json:\"resourceUri,omitempty\"`\n\n\t// Token: An arbitrary string delivered to the target address with each\n\t// notification delivered over this channel. Optional.\n\tToken string `json:\"token,omitempty\"`\n\n\t// Type: The type of delivery mechanism used for this channel.\n\tType string `json:\"type,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Address\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Address\") to include in\n\t// API requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *Channel) MarshalJSON() ([]byte, error) {\n\ttype NoMethod Channel\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// ComposeRequest: A Compose request.\ntype ComposeRequest struct {\n\t// Destination: Properties of the resulting object.\n\tDestination *Object `json:\"destination,omitempty\"`\n\n\t// Kind: The kind of item this is.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// SourceObjects: The list of source objects that will be concatenated\n\t// into a single object.\n\tSourceObjects []*ComposeRequestSourceObjects `json:\"sourceObjects,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Destination\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Destination\") to include\n\t// in API requests with the JSON null value. By default, fields with\n\t// empty values are omitted from API requests. However, any field with\n\t// an empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *ComposeRequest) MarshalJSON() ([]byte, error) {\n\ttype NoMethod ComposeRequest\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\ntype ComposeRequestSourceObjects struct {\n\t// Generation: The generation of this object to use as the source.\n\tGeneration int64 `json:\"generation,omitempty,string\"`\n\n\t// Name: The source object's name. The source object's bucket is\n\t// implicitly the destination bucket.\n\tName string `json:\"name,omitempty\"`\n\n\t// ObjectPreconditions: Conditions that must be met for this operation\n\t// to execute.\n\tObjectPreconditions *ComposeRequestSourceObjectsObjectPreconditions `json:\"objectPreconditions,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Generation\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Generation\") to include in\n\t// API requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *ComposeRequestSourceObjects) MarshalJSON() ([]byte, error) {\n\ttype NoMethod ComposeRequestSourceObjects\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// ComposeRequestSourceObjectsObjectPreconditions: Conditions that must\n// be met for this operation to execute.\ntype ComposeRequestSourceObjectsObjectPreconditions struct {\n\t// IfGenerationMatch: Only perform the composition if the generation of\n\t// the source object that would be used matches this value. If this\n\t// value and a generation are both specified, they must be the same\n\t// value or the call will fail.\n\tIfGenerationMatch int64 `json:\"ifGenerationMatch,omitempty,string\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"IfGenerationMatch\")\n\t// to unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"IfGenerationMatch\") to\n\t// include in API requests with the JSON null value. By default, fields\n\t// with empty values are omitted from API requests. However, any field\n\t// with an empty value appearing in NullFields will be sent to the\n\t// server as null. It is an error if a field in this list has a\n\t// non-empty value. This may be used to include null fields in Patch\n\t// requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *ComposeRequestSourceObjectsObjectPreconditions) MarshalJSON() ([]byte, error) {\n\ttype NoMethod ComposeRequestSourceObjectsObjectPreconditions\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// Notification: A subscription to receive Google PubSub notifications.\ntype Notification struct {\n\t// CustomAttributes: An optional list of additional attributes to attach\n\t// to each Cloud PubSub message published for this notification\n\t// subscription.\n\tCustomAttributes map[string]string `json:\"custom_attributes,omitempty\"`\n\n\t// Etag: HTTP 1.1 Entity tag for this subscription notification.\n\tEtag string `json:\"etag,omitempty\"`\n\n\t// EventTypes: If present, only send notifications about listed event\n\t// types. If empty, sent notifications for all event types.\n\tEventTypes []string `json:\"event_types,omitempty\"`\n\n\t// Id: The ID of the notification.\n\tId string `json:\"id,omitempty\"`\n\n\t// Kind: The kind of item this is. For notifications, this is always\n\t// storage#notification.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// ObjectNamePrefix: If present, only apply this notification\n\t// configuration to object names that begin with this prefix.\n\tObjectNamePrefix string `json:\"object_name_prefix,omitempty\"`\n\n\t// PayloadFormat: The desired content of the Payload.\n\tPayloadFormat string `json:\"payload_format,omitempty\"`\n\n\t// SelfLink: The canonical URL of this notification.\n\tSelfLink string `json:\"selfLink,omitempty\"`\n\n\t// Topic: The Cloud PubSub topic to which this subscription publishes.\n\t// Formatted as:\n\t// '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topi\n\t// c}'\n\tTopic string `json:\"topic,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"CustomAttributes\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"CustomAttributes\") to\n\t// include in API requests with the JSON null value. By default, fields\n\t// with empty values are omitted from API requests. However, any field\n\t// with an empty value appearing in NullFields will be sent to the\n\t// server as null. It is an error if a field in this list has a\n\t// non-empty value. This may be used to include null fields in Patch\n\t// requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *Notification) MarshalJSON() ([]byte, error) {\n\ttype NoMethod Notification\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// Notifications: A list of notification subscriptions.\ntype Notifications struct {\n\t// Items: The list of items.\n\tItems []*Notification `json:\"items,omitempty\"`\n\n\t// Kind: The kind of item this is. For lists of notifications, this is\n\t// always storage#notifications.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Items\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Items\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *Notifications) MarshalJSON() ([]byte, error) {\n\ttype NoMethod Notifications\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// Object: An object.\ntype Object struct {\n\t// Acl: Access controls on the object.\n\tAcl []*ObjectAccessControl `json:\"acl,omitempty\"`\n\n\t// Bucket: The name of the bucket containing this object.\n\tBucket string `json:\"bucket,omitempty\"`\n\n\t// CacheControl: Cache-Control directive for the object data. If\n\t// omitted, and the object is accessible to all anonymous users, the\n\t// default will be public, max-age=3600.\n\tCacheControl string `json:\"cacheControl,omitempty\"`\n\n\t// ComponentCount: Number of underlying components that make up this\n\t// object. Components are accumulated by compose operations.\n\tComponentCount int64 `json:\"componentCount,omitempty\"`\n\n\t// ContentDisposition: Content-Disposition of the object data.\n\tContentDisposition string `json:\"contentDisposition,omitempty\"`\n\n\t// ContentEncoding: Content-Encoding of the object data.\n\tContentEncoding string `json:\"contentEncoding,omitempty\"`\n\n\t// ContentLanguage: Content-Language of the object data.\n\tContentLanguage string `json:\"contentLanguage,omitempty\"`\n\n\t// ContentType: Content-Type of the object data. If an object is stored\n\t// without a Content-Type, it is served as application/octet-stream.\n\tContentType string `json:\"contentType,omitempty\"`\n\n\t// Crc32c: CRC32c checksum, as described in RFC 4960, Appendix B;\n\t// encoded using base64 in big-endian byte order. For more information\n\t// about using the CRC32c checksum, see Hashes and ETags: Best\n\t// Practices.\n\tCrc32c string `json:\"crc32c,omitempty\"`\n\n\t// CustomerEncryption: Metadata of customer-supplied encryption key, if\n\t// the object is encrypted by such a key.\n\tCustomerEncryption *ObjectCustomerEncryption `json:\"customerEncryption,omitempty\"`\n\n\t// Etag: HTTP 1.1 Entity tag for the object.\n\tEtag string `json:\"etag,omitempty\"`\n\n\t// EventBasedHold: Defines the Event-Based hold for an object.\n\t// Event-Based hold is a way to retain objects indefinitely until an\n\t// event occurs, signified by the hold's release. After being released,\n\t// such objects will be subject to bucket-level retention (if any). One\n\t// sample use case of this flag is for banks to hold loan documents for\n\t// at least 3 years after loan is paid in full. Here bucket-level\n\t// retention is 3 years and the event is loan being paid in full. In\n\t// this example these objects will be held intact for any number of\n\t// years until the event has occurred (hold is released) and then 3 more\n\t// years after that.\n\tEventBasedHold bool `json:\"eventBasedHold,omitempty\"`\n\n\t// Generation: The content generation of this object. Used for object\n\t// versioning.\n\tGeneration int64 `json:\"generation,omitempty,string\"`\n\n\t// Id: The ID of the object, including the bucket name, object name, and\n\t// generation number.\n\tId string `json:\"id,omitempty\"`\n\n\t// Kind: The kind of item this is. For objects, this is always\n\t// storage#object.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// KmsKeyName: Cloud KMS Key used to encrypt this object, if the object\n\t// is encrypted by such a key. Limited availability; usable only by\n\t// enabled projects.\n\tKmsKeyName string `json:\"kmsKeyName,omitempty\"`\n\n\t// Md5Hash: MD5 hash of the data; encoded using base64. For more\n\t// information about using the MD5 hash, see Hashes and ETags: Best\n\t// Practices.\n\tMd5Hash string `json:\"md5Hash,omitempty\"`\n\n\t// MediaLink: Media download link.\n\tMediaLink string `json:\"mediaLink,omitempty\"`\n\n\t// Metadata: User-provided metadata, in key/value pairs.\n\tMetadata map[string]string `json:\"metadata,omitempty\"`\n\n\t// Metageneration: The version of the metadata for this object at this\n\t// generation. Used for preconditions and for detecting changes in\n\t// metadata. A metageneration number is only meaningful in the context\n\t// of a particular generation of a particular object.\n\tMetageneration int64 `json:\"metageneration,omitempty,string\"`\n\n\t// Name: The name of the object. Required if not specified by URL\n\t// parameter.\n\tName string `json:\"name,omitempty\"`\n\n\t// Owner: The owner of the object. This will always be the uploader of\n\t// the object.\n\tOwner *ObjectOwner `json:\"owner,omitempty\"`\n\n\t// RetentionExpirationTime: Specifies the earliest time that the\n\t// object's retention period expires. This value is server-determined\n\t// and is in RFC 3339 format. Note 1: This field is not provided for\n\t// objects with an active Event-Based hold, since retention expiration\n\t// is unknown until the hold is removed. Note 2: This value can be\n\t// provided even when TemporaryHold is set (so that the user can reason\n\t// about policy without having to first unset the TemporaryHold).\n\tRetentionExpirationTime string `json:\"retentionExpirationTime,omitempty\"`\n\n\t// SelfLink: The link to this object.\n\tSelfLink string `json:\"selfLink,omitempty\"`\n\n\t// Size: Content-Length of the data in bytes.\n\tSize uint64 `json:\"size,omitempty,string\"`\n\n\t// StorageClass: Storage class of the object.\n\tStorageClass string `json:\"storageClass,omitempty\"`\n\n\t// TemporaryHold: Defines the temporary hold for an object. This flag is\n\t// used to enforce a temporary hold on an object. While it is set to\n\t// true, the object is protected against deletion and overwrites. A\n\t// common use case of this flag is regulatory investigations where\n\t// objects need to be retained while the investigation is ongoing.\n\tTemporaryHold bool `json:\"temporaryHold,omitempty\"`\n\n\t// TimeCreated: The creation time of the object in RFC 3339 format.\n\tTimeCreated string `json:\"timeCreated,omitempty\"`\n\n\t// TimeDeleted: The deletion time of the object in RFC 3339 format. Will\n\t// be returned if and only if this version of the object has been\n\t// deleted.\n\tTimeDeleted string `json:\"timeDeleted,omitempty\"`\n\n\t// TimeStorageClassUpdated: The time at which the object's storage class\n\t// was last changed. When the object is initially created, it will be\n\t// set to timeCreated.\n\tTimeStorageClassUpdated string `json:\"timeStorageClassUpdated,omitempty\"`\n\n\t// Updated: The modification time of the object metadata in RFC 3339\n\t// format.\n\tUpdated string `json:\"updated,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Acl\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Acl\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *Object) MarshalJSON() ([]byte, error) {\n\ttype NoMethod Object\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// ObjectCustomerEncryption: Metadata of customer-supplied encryption\n// key, if the object is encrypted by such a key.\ntype ObjectCustomerEncryption struct {\n\t// EncryptionAlgorithm: The encryption algorithm.\n\tEncryptionAlgorithm string `json:\"encryptionAlgorithm,omitempty\"`\n\n\t// KeySha256: SHA256 hash value of the encryption key.\n\tKeySha256 string `json:\"keySha256,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"EncryptionAlgorithm\")\n\t// to unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"EncryptionAlgorithm\") to\n\t// include in API requests with the JSON null value. By default, fields\n\t// with empty values are omitted from API requests. However, any field\n\t// with an empty value appearing in NullFields will be sent to the\n\t// server as null. It is an error if a field in this list has a\n\t// non-empty value. This may be used to include null fields in Patch\n\t// requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *ObjectCustomerEncryption) MarshalJSON() ([]byte, error) {\n\ttype NoMethod ObjectCustomerEncryption\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// ObjectOwner: The owner of the object. This will always be the\n// uploader of the object.\ntype ObjectOwner struct {\n\t// Entity: The entity, in the form user-userId.\n\tEntity string `json:\"entity,omitempty\"`\n\n\t// EntityId: The ID for the entity.\n\tEntityId string `json:\"entityId,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Entity\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Entity\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *ObjectOwner) MarshalJSON() ([]byte, error) {\n\ttype NoMethod ObjectOwner\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// ObjectAccessControl: An access-control entry.\ntype ObjectAccessControl struct {\n\t// Bucket: The name of the bucket.\n\tBucket string `json:\"bucket,omitempty\"`\n\n\t// Domain: The domain associated with the entity, if any.\n\tDomain string `json:\"domain,omitempty\"`\n\n\t// Email: The email address associated with the entity, if any.\n\tEmail string `json:\"email,omitempty\"`\n\n\t// Entity: The entity holding the permission, in one of the following\n\t// forms:\n\t// - user-userId\n\t// - user-email\n\t// - group-groupId\n\t// - group-email\n\t// - domain-domain\n\t// - project-team-projectId\n\t// - allUsers\n\t// - allAuthenticatedUsers Examples:\n\t// - The user liz@example.com would be user-liz@example.com.\n\t// - The group example@googlegroups.com would be\n\t// group-example@googlegroups.com.\n\t// - To refer to all members of the Google Apps for Business domain\n\t// example.com, the entity would be domain-example.com.\n\tEntity string `json:\"entity,omitempty\"`\n\n\t// EntityId: The ID for the entity, if any.\n\tEntityId string `json:\"entityId,omitempty\"`\n\n\t// Etag: HTTP 1.1 Entity tag for the access-control entry.\n\tEtag string `json:\"etag,omitempty\"`\n\n\t// Generation: The content generation of the object, if applied to an\n\t// object.\n\tGeneration int64 `json:\"generation,omitempty,string\"`\n\n\t// Id: The ID of the access-control entry.\n\tId string `json:\"id,omitempty\"`\n\n\t// Kind: The kind of item this is. For object access control entries,\n\t// this is always storage#objectAccessControl.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// Object: The name of the object, if applied to an object.\n\tObject string `json:\"object,omitempty\"`\n\n\t// ProjectTeam: The project team associated with the entity, if any.\n\tProjectTeam *ObjectAccessControlProjectTeam `json:\"projectTeam,omitempty\"`\n\n\t// Role: The access permission for the entity.\n\tRole string `json:\"role,omitempty\"`\n\n\t// SelfLink: The link to this access-control entry.\n\tSelfLink string `json:\"selfLink,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Bucket\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Bucket\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *ObjectAccessControl) MarshalJSON() ([]byte, error) {\n\ttype NoMethod ObjectAccessControl\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// ObjectAccessControlProjectTeam: The project team associated with the\n// entity, if any.\ntype ObjectAccessControlProjectTeam struct {\n\t// ProjectNumber: The project number.\n\tProjectNumber string `json:\"projectNumber,omitempty\"`\n\n\t// Team: The team.\n\tTeam string `json:\"team,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"ProjectNumber\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"ProjectNumber\") to include\n\t// in API requests with the JSON null value. By default, fields with\n\t// empty values are omitted from API requests. However, any field with\n\t// an empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *ObjectAccessControlProjectTeam) MarshalJSON() ([]byte, error) {\n\ttype NoMethod ObjectAccessControlProjectTeam\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// ObjectAccessControls: An access-control list.\ntype ObjectAccessControls struct {\n\t// Items: The list of items.\n\tItems []*ObjectAccessControl `json:\"items,omitempty\"`\n\n\t// Kind: The kind of item this is. For lists of object access control\n\t// entries, this is always storage#objectAccessControls.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Items\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Items\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *ObjectAccessControls) MarshalJSON() ([]byte, error) {\n\ttype NoMethod ObjectAccessControls\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// Objects: A list of objects.\ntype Objects struct {\n\t// Items: The list of items.\n\tItems []*Object `json:\"items,omitempty\"`\n\n\t// Kind: The kind of item this is. For lists of objects, this is always\n\t// storage#objects.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// NextPageToken: The continuation token, used to page through large\n\t// result sets. Provide this value in a subsequent request to return the\n\t// next page of results.\n\tNextPageToken string `json:\"nextPageToken,omitempty\"`\n\n\t// Prefixes: The list of prefixes of objects matching-but-not-listed up\n\t// to and including the requested delimiter.\n\tPrefixes []string `json:\"prefixes,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Items\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Items\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *Objects) MarshalJSON() ([]byte, error) {\n\ttype NoMethod Objects\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// Policy: A bucket/object IAM policy.\ntype Policy struct {\n\t// Bindings: An association between a role, which comes with a set of\n\t// permissions, and members who may assume that role.\n\tBindings []*PolicyBindings `json:\"bindings,omitempty\"`\n\n\t// Etag: HTTP 1.1  Entity tag for the policy.\n\tEtag string `json:\"etag,omitempty\"`\n\n\t// Kind: The kind of item this is. For policies, this is always\n\t// storage#policy. This field is ignored on input.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// ResourceId: The ID of the resource to which this policy belongs. Will\n\t// be of the form projects/_/buckets/bucket for buckets, and\n\t// projects/_/buckets/bucket/objects/object for objects. A specific\n\t// generation may be specified by appending #generationNumber to the end\n\t// of the object name, e.g.\n\t// projects/_/buckets/my-bucket/objects/data.txt#17. The current\n\t// generation can be denoted with #0. This field is ignored on input.\n\tResourceId string `json:\"resourceId,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Bindings\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Bindings\") to include in\n\t// API requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *Policy) MarshalJSON() ([]byte, error) {\n\ttype NoMethod Policy\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\ntype PolicyBindings struct {\n\tCondition interface{} `json:\"condition,omitempty\"`\n\n\t// Members: A collection of identifiers for members who may assume the\n\t// provided role. Recognized identifiers are as follows:\n\t// - allUsers — A special identifier that represents anyone on the\n\t// internet; with or without a Google account.\n\t// - allAuthenticatedUsers — A special identifier that represents\n\t// anyone who is authenticated with a Google account or a service\n\t// account.\n\t// - user:emailid — An email address that represents a specific\n\t// account. For example, user:alice@gmail.com or user:joe@example.com.\n\t//\n\t// - serviceAccount:emailid — An email address that represents a\n\t// service account. For example,\n\t// serviceAccount:my-other-app@appspot.gserviceaccount.com .\n\t// - group:emailid — An email address that represents a Google group.\n\t// For example, group:admins@example.com.\n\t// - domain:domain — A Google Apps domain name that represents all the\n\t// users of that domain. For example, domain:google.com or\n\t// domain:example.com.\n\t// - projectOwner:projectid — Owners of the given project. For\n\t// example, projectOwner:my-example-project\n\t// - projectEditor:projectid — Editors of the given project. For\n\t// example, projectEditor:my-example-project\n\t// - projectViewer:projectid — Viewers of the given project. For\n\t// example, projectViewer:my-example-project\n\tMembers []string `json:\"members,omitempty\"`\n\n\t// Role: The role to which members belong. Two types of roles are\n\t// supported: new IAM roles, which grant permissions that do not map\n\t// directly to those provided by ACLs, and legacy IAM roles, which do\n\t// map directly to ACL permissions. All roles are of the format\n\t// roles/storage.specificRole.\n\t// The new IAM roles are:\n\t// - roles/storage.admin — Full control of Google Cloud Storage\n\t// resources.\n\t// - roles/storage.objectViewer — Read-Only access to Google Cloud\n\t// Storage objects.\n\t// - roles/storage.objectCreator — Access to create objects in Google\n\t// Cloud Storage.\n\t// - roles/storage.objectAdmin — Full control of Google Cloud Storage\n\t// objects.   The legacy IAM roles are:\n\t// - roles/storage.legacyObjectReader — Read-only access to objects\n\t// without listing. Equivalent to an ACL entry on an object with the\n\t// READER role.\n\t// - roles/storage.legacyObjectOwner — Read/write access to existing\n\t// objects without listing. Equivalent to an ACL entry on an object with\n\t// the OWNER role.\n\t// - roles/storage.legacyBucketReader — Read access to buckets with\n\t// object listing. Equivalent to an ACL entry on a bucket with the\n\t// READER role.\n\t// - roles/storage.legacyBucketWriter — Read access to buckets with\n\t// object listing/creation/deletion. Equivalent to an ACL entry on a\n\t// bucket with the WRITER role.\n\t// - roles/storage.legacyBucketOwner — Read and write access to\n\t// existing buckets with object listing/creation/deletion. Equivalent to\n\t// an ACL entry on a bucket with the OWNER role.\n\tRole string `json:\"role,omitempty\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Condition\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Condition\") to include in\n\t// API requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *PolicyBindings) MarshalJSON() ([]byte, error) {\n\ttype NoMethod PolicyBindings\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// RewriteResponse: A rewrite response.\ntype RewriteResponse struct {\n\t// Done: true if the copy is finished; otherwise, false if the copy is\n\t// in progress. This property is always present in the response.\n\tDone bool `json:\"done,omitempty\"`\n\n\t// Kind: The kind of item this is.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// ObjectSize: The total size of the object being copied in bytes. This\n\t// property is always present in the response.\n\tObjectSize int64 `json:\"objectSize,omitempty,string\"`\n\n\t// Resource: A resource containing the metadata for the copied-to\n\t// object. This property is present in the response only when copying\n\t// completes.\n\tResource *Object `json:\"resource,omitempty\"`\n\n\t// RewriteToken: A token to use in subsequent requests to continue\n\t// copying data. This token is present in the response only when there\n\t// is more data to copy.\n\tRewriteToken string `json:\"rewriteToken,omitempty\"`\n\n\t// TotalBytesRewritten: The total bytes written so far, which can be\n\t// used to provide a waiting user with a progress indicator. This\n\t// property is always present in the response.\n\tTotalBytesRewritten int64 `json:\"totalBytesRewritten,omitempty,string\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Done\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Done\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *RewriteResponse) MarshalJSON() ([]byte, error) {\n\ttype NoMethod RewriteResponse\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// ServiceAccount: A subscription to receive Google PubSub\n// notifications.\ntype ServiceAccount struct {\n\t// EmailAddress: The ID of the notification.\n\tEmailAddress string `json:\"email_address,omitempty\"`\n\n\t// Kind: The kind of item this is. For notifications, this is always\n\t// storage#notification.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"EmailAddress\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"EmailAddress\") to include\n\t// in API requests with the JSON null value. By default, fields with\n\t// empty values are omitted from API requests. However, any field with\n\t// an empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *ServiceAccount) MarshalJSON() ([]byte, error) {\n\ttype NoMethod ServiceAccount\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// TestIamPermissionsResponse: A\n// storage.(buckets|objects).testIamPermissions response.\ntype TestIamPermissionsResponse struct {\n\t// Kind: The kind of item this is.\n\tKind string `json:\"kind,omitempty\"`\n\n\t// Permissions: The permissions held by the caller. Permissions are\n\t// always of the format storage.resource.capability, where resource is\n\t// one of buckets or objects. The supported permissions are as follows:\n\t//\n\t// - storage.buckets.delete — Delete bucket.\n\t// - storage.buckets.get — Read bucket metadata.\n\t// - storage.buckets.getIamPolicy — Read bucket IAM policy.\n\t// - storage.buckets.create — Create bucket.\n\t// - storage.buckets.list — List buckets.\n\t// - storage.buckets.setIamPolicy — Update bucket IAM policy.\n\t// - storage.buckets.update — Update bucket metadata.\n\t// - storage.objects.delete — Delete object.\n\t// - storage.objects.get — Read object data and metadata.\n\t// - storage.objects.getIamPolicy — Read object IAM policy.\n\t// - storage.objects.create — Create object.\n\t// - storage.objects.list — List objects.\n\t// - storage.objects.setIamPolicy — Update object IAM policy.\n\t// - storage.objects.update — Update object metadata.\n\tPermissions []string `json:\"permissions,omitempty\"`\n\n\t// ServerResponse contains the HTTP response code and headers from the\n\t// server.\n\tgoogleapi.ServerResponse `json:\"-\"`\n\n\t// ForceSendFields is a list of field names (e.g. \"Kind\") to\n\t// unconditionally include in API requests. By default, fields with\n\t// empty values are omitted from API requests. However, any non-pointer,\n\t// non-interface field appearing in ForceSendFields will be sent to the\n\t// server regardless of whether the field is empty or not. This may be\n\t// used to include empty fields in Patch requests.\n\tForceSendFields []string `json:\"-\"`\n\n\t// NullFields is a list of field names (e.g. \"Kind\") to include in API\n\t// requests with the JSON null value. By default, fields with empty\n\t// values are omitted from API requests. However, any field with an\n\t// empty value appearing in NullFields will be sent to the server as\n\t// null. It is an error if a field in this list has a non-empty value.\n\t// This may be used to include null fields in Patch requests.\n\tNullFields []string `json:\"-\"`\n}\n\nfunc (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {\n\ttype NoMethod TestIamPermissionsResponse\n\traw := NoMethod(*s)\n\treturn gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)\n}\n\n// method id \"storage.bucketAccessControls.delete\":\n\ntype BucketAccessControlsDeleteCall struct {\n\ts          *Service\n\tbucket     string\n\tentity     string\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// Delete: Permanently deletes the ACL entry for the specified entity on\n// the specified bucket.\nfunc (r *BucketAccessControlsService) Delete(bucket string, entity string) *BucketAccessControlsDeleteCall {\n\tc := &BucketAccessControlsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.entity = entity\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketAccessControlsDeleteCall) UserProject(userProject string) *BucketAccessControlsDeleteCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketAccessControlsDeleteCall) Fields(s ...googleapi.Field) *BucketAccessControlsDeleteCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketAccessControlsDeleteCall) Context(ctx context.Context) *BucketAccessControlsDeleteCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketAccessControlsDeleteCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/acl/{entity}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"DELETE\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"entity\": c.entity,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.bucketAccessControls.delete\" call.\nfunc (c *BucketAccessControlsDeleteCall) Do(opts ...googleapi.CallOption) error {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n\t// {\n\t//   \"description\": \"Permanently deletes the ACL entry for the specified entity on the specified bucket.\",\n\t//   \"httpMethod\": \"DELETE\",\n\t//   \"id\": \"storage.bucketAccessControls.delete\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"entity\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"entity\": {\n\t//       \"description\": \"The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/acl/{entity}\",\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.bucketAccessControls.get\":\n\ntype BucketAccessControlsGetCall struct {\n\ts            *Service\n\tbucket       string\n\tentity       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// Get: Returns the ACL entry for the specified entity on the specified\n// bucket.\nfunc (r *BucketAccessControlsService) Get(bucket string, entity string) *BucketAccessControlsGetCall {\n\tc := &BucketAccessControlsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.entity = entity\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketAccessControlsGetCall) UserProject(userProject string) *BucketAccessControlsGetCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketAccessControlsGetCall) Fields(s ...googleapi.Field) *BucketAccessControlsGetCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *BucketAccessControlsGetCall) IfNoneMatch(entityTag string) *BucketAccessControlsGetCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketAccessControlsGetCall) Context(ctx context.Context) *BucketAccessControlsGetCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketAccessControlsGetCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/acl/{entity}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"entity\": c.entity,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.bucketAccessControls.get\" call.\n// Exactly one of *BucketAccessControl or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *BucketAccessControl.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *BucketAccessControlsGetCall) Do(opts ...googleapi.CallOption) (*BucketAccessControl, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &BucketAccessControl{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Returns the ACL entry for the specified entity on the specified bucket.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.bucketAccessControls.get\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"entity\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"entity\": {\n\t//       \"description\": \"The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/acl/{entity}\",\n\t//   \"response\": {\n\t//     \"$ref\": \"BucketAccessControl\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.bucketAccessControls.insert\":\n\ntype BucketAccessControlsInsertCall struct {\n\ts                   *Service\n\tbucket              string\n\tbucketaccesscontrol *BucketAccessControl\n\turlParams_          gensupport.URLParams\n\tctx_                context.Context\n\theader_             http.Header\n}\n\n// Insert: Creates a new ACL entry on the specified bucket.\nfunc (r *BucketAccessControlsService) Insert(bucket string, bucketaccesscontrol *BucketAccessControl) *BucketAccessControlsInsertCall {\n\tc := &BucketAccessControlsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.bucketaccesscontrol = bucketaccesscontrol\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketAccessControlsInsertCall) UserProject(userProject string) *BucketAccessControlsInsertCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketAccessControlsInsertCall) Fields(s ...googleapi.Field) *BucketAccessControlsInsertCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketAccessControlsInsertCall) Context(ctx context.Context) *BucketAccessControlsInsertCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketAccessControlsInsertCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.bucketaccesscontrol)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/acl\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"POST\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.bucketAccessControls.insert\" call.\n// Exactly one of *BucketAccessControl or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *BucketAccessControl.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *BucketAccessControlsInsertCall) Do(opts ...googleapi.CallOption) (*BucketAccessControl, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &BucketAccessControl{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Creates a new ACL entry on the specified bucket.\",\n\t//   \"httpMethod\": \"POST\",\n\t//   \"id\": \"storage.bucketAccessControls.insert\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/acl\",\n\t//   \"request\": {\n\t//     \"$ref\": \"BucketAccessControl\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"BucketAccessControl\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.bucketAccessControls.list\":\n\ntype BucketAccessControlsListCall struct {\n\ts            *Service\n\tbucket       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// List: Retrieves ACL entries on the specified bucket.\nfunc (r *BucketAccessControlsService) List(bucket string) *BucketAccessControlsListCall {\n\tc := &BucketAccessControlsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketAccessControlsListCall) UserProject(userProject string) *BucketAccessControlsListCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketAccessControlsListCall) Fields(s ...googleapi.Field) *BucketAccessControlsListCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *BucketAccessControlsListCall) IfNoneMatch(entityTag string) *BucketAccessControlsListCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketAccessControlsListCall) Context(ctx context.Context) *BucketAccessControlsListCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketAccessControlsListCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketAccessControlsListCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/acl\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.bucketAccessControls.list\" call.\n// Exactly one of *BucketAccessControls or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *BucketAccessControls.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *BucketAccessControlsListCall) Do(opts ...googleapi.CallOption) (*BucketAccessControls, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &BucketAccessControls{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Retrieves ACL entries on the specified bucket.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.bucketAccessControls.list\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/acl\",\n\t//   \"response\": {\n\t//     \"$ref\": \"BucketAccessControls\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.bucketAccessControls.patch\":\n\ntype BucketAccessControlsPatchCall struct {\n\ts                   *Service\n\tbucket              string\n\tentity              string\n\tbucketaccesscontrol *BucketAccessControl\n\turlParams_          gensupport.URLParams\n\tctx_                context.Context\n\theader_             http.Header\n}\n\n// Patch: Updates an ACL entry on the specified bucket. This method\n// supports patch semantics.\nfunc (r *BucketAccessControlsService) Patch(bucket string, entity string, bucketaccesscontrol *BucketAccessControl) *BucketAccessControlsPatchCall {\n\tc := &BucketAccessControlsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.entity = entity\n\tc.bucketaccesscontrol = bucketaccesscontrol\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketAccessControlsPatchCall) UserProject(userProject string) *BucketAccessControlsPatchCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketAccessControlsPatchCall) Fields(s ...googleapi.Field) *BucketAccessControlsPatchCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketAccessControlsPatchCall) Context(ctx context.Context) *BucketAccessControlsPatchCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketAccessControlsPatchCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.bucketaccesscontrol)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/acl/{entity}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"PATCH\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"entity\": c.entity,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.bucketAccessControls.patch\" call.\n// Exactly one of *BucketAccessControl or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *BucketAccessControl.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *BucketAccessControlsPatchCall) Do(opts ...googleapi.CallOption) (*BucketAccessControl, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &BucketAccessControl{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Updates an ACL entry on the specified bucket. This method supports patch semantics.\",\n\t//   \"httpMethod\": \"PATCH\",\n\t//   \"id\": \"storage.bucketAccessControls.patch\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"entity\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"entity\": {\n\t//       \"description\": \"The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/acl/{entity}\",\n\t//   \"request\": {\n\t//     \"$ref\": \"BucketAccessControl\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"BucketAccessControl\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.bucketAccessControls.update\":\n\ntype BucketAccessControlsUpdateCall struct {\n\ts                   *Service\n\tbucket              string\n\tentity              string\n\tbucketaccesscontrol *BucketAccessControl\n\turlParams_          gensupport.URLParams\n\tctx_                context.Context\n\theader_             http.Header\n}\n\n// Update: Updates an ACL entry on the specified bucket.\nfunc (r *BucketAccessControlsService) Update(bucket string, entity string, bucketaccesscontrol *BucketAccessControl) *BucketAccessControlsUpdateCall {\n\tc := &BucketAccessControlsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.entity = entity\n\tc.bucketaccesscontrol = bucketaccesscontrol\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketAccessControlsUpdateCall) UserProject(userProject string) *BucketAccessControlsUpdateCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketAccessControlsUpdateCall) Fields(s ...googleapi.Field) *BucketAccessControlsUpdateCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketAccessControlsUpdateCall) Context(ctx context.Context) *BucketAccessControlsUpdateCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketAccessControlsUpdateCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.bucketaccesscontrol)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/acl/{entity}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"PUT\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"entity\": c.entity,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.bucketAccessControls.update\" call.\n// Exactly one of *BucketAccessControl or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *BucketAccessControl.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *BucketAccessControlsUpdateCall) Do(opts ...googleapi.CallOption) (*BucketAccessControl, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &BucketAccessControl{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Updates an ACL entry on the specified bucket.\",\n\t//   \"httpMethod\": \"PUT\",\n\t//   \"id\": \"storage.bucketAccessControls.update\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"entity\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"entity\": {\n\t//       \"description\": \"The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/acl/{entity}\",\n\t//   \"request\": {\n\t//     \"$ref\": \"BucketAccessControl\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"BucketAccessControl\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.buckets.delete\":\n\ntype BucketsDeleteCall struct {\n\ts          *Service\n\tbucket     string\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// Delete: Permanently deletes an empty bucket.\nfunc (r *BucketsService) Delete(bucket string) *BucketsDeleteCall {\n\tc := &BucketsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": If set, only deletes the bucket if its\n// metageneration matches this value.\nfunc (c *BucketsDeleteCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *BucketsDeleteCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationNotMatch sets the optional parameter\n// \"ifMetagenerationNotMatch\": If set, only deletes the bucket if its\n// metageneration does not match this value.\nfunc (c *BucketsDeleteCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *BucketsDeleteCall {\n\tc.urlParams_.Set(\"ifMetagenerationNotMatch\", fmt.Sprint(ifMetagenerationNotMatch))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketsDeleteCall) UserProject(userProject string) *BucketsDeleteCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketsDeleteCall) Fields(s ...googleapi.Field) *BucketsDeleteCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketsDeleteCall) Context(ctx context.Context) *BucketsDeleteCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketsDeleteCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketsDeleteCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"DELETE\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.buckets.delete\" call.\nfunc (c *BucketsDeleteCall) Do(opts ...googleapi.CallOption) error {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n\t// {\n\t//   \"description\": \"Permanently deletes an empty bucket.\",\n\t//   \"httpMethod\": \"DELETE\",\n\t//   \"id\": \"storage.buckets.delete\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"If set, only deletes the bucket if its metageneration matches this value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationNotMatch\": {\n\t//       \"description\": \"If set, only deletes the bucket if its metageneration does not match this value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}\",\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.buckets.get\":\n\ntype BucketsGetCall struct {\n\ts            *Service\n\tbucket       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// Get: Returns metadata for the specified bucket.\nfunc (r *BucketsService) Get(bucket string) *BucketsGetCall {\n\tc := &BucketsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": Makes the return of the bucket metadata\n// conditional on whether the bucket's current metageneration matches\n// the given value.\nfunc (c *BucketsGetCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *BucketsGetCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationNotMatch sets the optional parameter\n// \"ifMetagenerationNotMatch\": Makes the return of the bucket metadata\n// conditional on whether the bucket's current metageneration does not\n// match the given value.\nfunc (c *BucketsGetCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *BucketsGetCall {\n\tc.urlParams_.Set(\"ifMetagenerationNotMatch\", fmt.Sprint(ifMetagenerationNotMatch))\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to noAcl.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit owner, acl and defaultObjectAcl properties.\nfunc (c *BucketsGetCall) Projection(projection string) *BucketsGetCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketsGetCall) UserProject(userProject string) *BucketsGetCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketsGetCall) Fields(s ...googleapi.Field) *BucketsGetCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *BucketsGetCall) IfNoneMatch(entityTag string) *BucketsGetCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketsGetCall) Context(ctx context.Context) *BucketsGetCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketsGetCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketsGetCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.buckets.get\" call.\n// Exactly one of *Bucket or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Bucket.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *BucketsGetCall) Do(opts ...googleapi.CallOption) (*Bucket, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Bucket{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Returns metadata for the specified bucket.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.buckets.get\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationNotMatch\": {\n\t//       \"description\": \"Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to noAcl.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit owner, acl and defaultObjectAcl properties.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}\",\n\t//   \"response\": {\n\t//     \"$ref\": \"Bucket\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.buckets.getIamPolicy\":\n\ntype BucketsGetIamPolicyCall struct {\n\ts            *Service\n\tbucket       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// GetIamPolicy: Returns an IAM policy for the specified bucket.\nfunc (r *BucketsService) GetIamPolicy(bucket string) *BucketsGetIamPolicyCall {\n\tc := &BucketsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketsGetIamPolicyCall) UserProject(userProject string) *BucketsGetIamPolicyCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketsGetIamPolicyCall) Fields(s ...googleapi.Field) *BucketsGetIamPolicyCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *BucketsGetIamPolicyCall) IfNoneMatch(entityTag string) *BucketsGetIamPolicyCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketsGetIamPolicyCall) Context(ctx context.Context) *BucketsGetIamPolicyCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketsGetIamPolicyCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/iam\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.buckets.getIamPolicy\" call.\n// Exactly one of *Policy or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Policy.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *BucketsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Policy{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Returns an IAM policy for the specified bucket.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.buckets.getIamPolicy\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/iam\",\n\t//   \"response\": {\n\t//     \"$ref\": \"Policy\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.buckets.insert\":\n\ntype BucketsInsertCall struct {\n\ts          *Service\n\tbucket     *Bucket\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// Insert: Creates a new bucket.\nfunc (r *BucketsService) Insert(projectid string, bucket *Bucket) *BucketsInsertCall {\n\tc := &BucketsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.urlParams_.Set(\"project\", projectid)\n\tc.bucket = bucket\n\treturn c\n}\n\n// PredefinedAcl sets the optional parameter \"predefinedAcl\": Apply a\n// predefined set of access controls to this bucket.\n//\n// Possible values:\n//   \"authenticatedRead\" - Project team owners get OWNER access, and\n// allAuthenticatedUsers get READER access.\n//   \"private\" - Project team owners get OWNER access.\n//   \"projectPrivate\" - Project team members get access according to\n// their roles.\n//   \"publicRead\" - Project team owners get OWNER access, and allUsers\n// get READER access.\n//   \"publicReadWrite\" - Project team owners get OWNER access, and\n// allUsers get WRITER access.\nfunc (c *BucketsInsertCall) PredefinedAcl(predefinedAcl string) *BucketsInsertCall {\n\tc.urlParams_.Set(\"predefinedAcl\", predefinedAcl)\n\treturn c\n}\n\n// PredefinedDefaultObjectAcl sets the optional parameter\n// \"predefinedDefaultObjectAcl\": Apply a predefined set of default\n// object access controls to this bucket.\n//\n// Possible values:\n//   \"authenticatedRead\" - Object owner gets OWNER access, and\n// allAuthenticatedUsers get READER access.\n//   \"bucketOwnerFullControl\" - Object owner gets OWNER access, and\n// project team owners get OWNER access.\n//   \"bucketOwnerRead\" - Object owner gets OWNER access, and project\n// team owners get READER access.\n//   \"private\" - Object owner gets OWNER access.\n//   \"projectPrivate\" - Object owner gets OWNER access, and project team\n// members get access according to their roles.\n//   \"publicRead\" - Object owner gets OWNER access, and allUsers get\n// READER access.\nfunc (c *BucketsInsertCall) PredefinedDefaultObjectAcl(predefinedDefaultObjectAcl string) *BucketsInsertCall {\n\tc.urlParams_.Set(\"predefinedDefaultObjectAcl\", predefinedDefaultObjectAcl)\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to noAcl, unless the bucket resource\n// specifies acl or defaultObjectAcl properties, when it defaults to\n// full.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit owner, acl and defaultObjectAcl properties.\nfunc (c *BucketsInsertCall) Projection(projection string) *BucketsInsertCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request.\nfunc (c *BucketsInsertCall) UserProject(userProject string) *BucketsInsertCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketsInsertCall) Fields(s ...googleapi.Field) *BucketsInsertCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketsInsertCall) Context(ctx context.Context) *BucketsInsertCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketsInsertCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketsInsertCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.bucket)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"POST\", urls, body)\n\treq.Header = reqHeaders\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.buckets.insert\" call.\n// Exactly one of *Bucket or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Bucket.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *BucketsInsertCall) Do(opts ...googleapi.CallOption) (*Bucket, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Bucket{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Creates a new bucket.\",\n\t//   \"httpMethod\": \"POST\",\n\t//   \"id\": \"storage.buckets.insert\",\n\t//   \"parameterOrder\": [\n\t//     \"project\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"predefinedAcl\": {\n\t//       \"description\": \"Apply a predefined set of access controls to this bucket.\",\n\t//       \"enum\": [\n\t//         \"authenticatedRead\",\n\t//         \"private\",\n\t//         \"projectPrivate\",\n\t//         \"publicRead\",\n\t//         \"publicReadWrite\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Project team owners get OWNER access, and allAuthenticatedUsers get READER access.\",\n\t//         \"Project team owners get OWNER access.\",\n\t//         \"Project team members get access according to their roles.\",\n\t//         \"Project team owners get OWNER access, and allUsers get READER access.\",\n\t//         \"Project team owners get OWNER access, and allUsers get WRITER access.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"predefinedDefaultObjectAcl\": {\n\t//       \"description\": \"Apply a predefined set of default object access controls to this bucket.\",\n\t//       \"enum\": [\n\t//         \"authenticatedRead\",\n\t//         \"bucketOwnerFullControl\",\n\t//         \"bucketOwnerRead\",\n\t//         \"private\",\n\t//         \"projectPrivate\",\n\t//         \"publicRead\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get READER access.\",\n\t//         \"Object owner gets OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team members get access according to their roles.\",\n\t//         \"Object owner gets OWNER access, and allUsers get READER access.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"project\": {\n\t//       \"description\": \"A valid API project identifier.\",\n\t//       \"location\": \"query\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to noAcl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit owner, acl and defaultObjectAcl properties.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Bucket\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"Bucket\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.buckets.list\":\n\ntype BucketsListCall struct {\n\ts            *Service\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// List: Retrieves a list of buckets for a given project.\nfunc (r *BucketsService) List(projectid string) *BucketsListCall {\n\tc := &BucketsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.urlParams_.Set(\"project\", projectid)\n\treturn c\n}\n\n// MaxResults sets the optional parameter \"maxResults\": Maximum number\n// of buckets to return in a single response. The service will use this\n// parameter or 1,000 items, whichever is smaller.\nfunc (c *BucketsListCall) MaxResults(maxResults int64) *BucketsListCall {\n\tc.urlParams_.Set(\"maxResults\", fmt.Sprint(maxResults))\n\treturn c\n}\n\n// PageToken sets the optional parameter \"pageToken\": A\n// previously-returned page token representing part of the larger set of\n// results to view.\nfunc (c *BucketsListCall) PageToken(pageToken string) *BucketsListCall {\n\tc.urlParams_.Set(\"pageToken\", pageToken)\n\treturn c\n}\n\n// Prefix sets the optional parameter \"prefix\": Filter results to\n// buckets whose names begin with this prefix.\nfunc (c *BucketsListCall) Prefix(prefix string) *BucketsListCall {\n\tc.urlParams_.Set(\"prefix\", prefix)\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to noAcl.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit owner, acl and defaultObjectAcl properties.\nfunc (c *BucketsListCall) Projection(projection string) *BucketsListCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request.\nfunc (c *BucketsListCall) UserProject(userProject string) *BucketsListCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketsListCall) Fields(s ...googleapi.Field) *BucketsListCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *BucketsListCall) IfNoneMatch(entityTag string) *BucketsListCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketsListCall) Context(ctx context.Context) *BucketsListCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketsListCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketsListCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.buckets.list\" call.\n// Exactly one of *Buckets or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Buckets.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *BucketsListCall) Do(opts ...googleapi.CallOption) (*Buckets, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Buckets{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Retrieves a list of buckets for a given project.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.buckets.list\",\n\t//   \"parameterOrder\": [\n\t//     \"project\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"maxResults\": {\n\t//       \"default\": \"1000\",\n\t//       \"description\": \"Maximum number of buckets to return in a single response. The service will use this parameter or 1,000 items, whichever is smaller.\",\n\t//       \"format\": \"uint32\",\n\t//       \"location\": \"query\",\n\t//       \"minimum\": \"0\",\n\t//       \"type\": \"integer\"\n\t//     },\n\t//     \"pageToken\": {\n\t//       \"description\": \"A previously-returned page token representing part of the larger set of results to view.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"prefix\": {\n\t//       \"description\": \"Filter results to buckets whose names begin with this prefix.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"project\": {\n\t//       \"description\": \"A valid API project identifier.\",\n\t//       \"location\": \"query\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to noAcl.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit owner, acl and defaultObjectAcl properties.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b\",\n\t//   \"response\": {\n\t//     \"$ref\": \"Buckets\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// Pages invokes f for each page of results.\n// A non-nil error returned from f will halt the iteration.\n// The provided context supersedes any context provided to the Context method.\nfunc (c *BucketsListCall) Pages(ctx context.Context, f func(*Buckets) error) error {\n\tc.ctx_ = ctx\n\tdefer c.PageToken(c.urlParams_.Get(\"pageToken\")) // reset paging to original point\n\tfor {\n\t\tx, err := c.Do()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err := f(x); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif x.NextPageToken == \"\" {\n\t\t\treturn nil\n\t\t}\n\t\tc.PageToken(x.NextPageToken)\n\t}\n}\n\n// method id \"storage.buckets.lockRetentionPolicy\":\n\ntype BucketsLockRetentionPolicyCall struct {\n\ts          *Service\n\tbucket     string\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// LockRetentionPolicy: Locks retention policy on a bucket.\nfunc (r *BucketsService) LockRetentionPolicy(bucket string, ifMetagenerationMatch int64) *BucketsLockRetentionPolicyCall {\n\tc := &BucketsLockRetentionPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketsLockRetentionPolicyCall) UserProject(userProject string) *BucketsLockRetentionPolicyCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketsLockRetentionPolicyCall) Fields(s ...googleapi.Field) *BucketsLockRetentionPolicyCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketsLockRetentionPolicyCall) Context(ctx context.Context) *BucketsLockRetentionPolicyCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketsLockRetentionPolicyCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketsLockRetentionPolicyCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/lockRetentionPolicy\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"POST\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.buckets.lockRetentionPolicy\" call.\n// Exactly one of *Bucket or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Bucket.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *BucketsLockRetentionPolicyCall) Do(opts ...googleapi.CallOption) (*Bucket, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Bucket{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Locks retention policy on a bucket.\",\n\t//   \"httpMethod\": \"POST\",\n\t//   \"id\": \"storage.buckets.lockRetentionPolicy\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"ifMetagenerationMatch\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether bucket's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/lockRetentionPolicy\",\n\t//   \"response\": {\n\t//     \"$ref\": \"Bucket\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.buckets.patch\":\n\ntype BucketsPatchCall struct {\n\ts          *Service\n\tbucket     string\n\tbucket2    *Bucket\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// Patch: Updates a bucket. Changes to the bucket will be readable\n// immediately after writing, but configuration changes may take time to\n// propagate. This method supports patch semantics.\nfunc (r *BucketsService) Patch(bucket string, bucket2 *Bucket) *BucketsPatchCall {\n\tc := &BucketsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.bucket2 = bucket2\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": Makes the return of the bucket metadata\n// conditional on whether the bucket's current metageneration matches\n// the given value.\nfunc (c *BucketsPatchCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *BucketsPatchCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationNotMatch sets the optional parameter\n// \"ifMetagenerationNotMatch\": Makes the return of the bucket metadata\n// conditional on whether the bucket's current metageneration does not\n// match the given value.\nfunc (c *BucketsPatchCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *BucketsPatchCall {\n\tc.urlParams_.Set(\"ifMetagenerationNotMatch\", fmt.Sprint(ifMetagenerationNotMatch))\n\treturn c\n}\n\n// PredefinedAcl sets the optional parameter \"predefinedAcl\": Apply a\n// predefined set of access controls to this bucket.\n//\n// Possible values:\n//   \"authenticatedRead\" - Project team owners get OWNER access, and\n// allAuthenticatedUsers get READER access.\n//   \"private\" - Project team owners get OWNER access.\n//   \"projectPrivate\" - Project team members get access according to\n// their roles.\n//   \"publicRead\" - Project team owners get OWNER access, and allUsers\n// get READER access.\n//   \"publicReadWrite\" - Project team owners get OWNER access, and\n// allUsers get WRITER access.\nfunc (c *BucketsPatchCall) PredefinedAcl(predefinedAcl string) *BucketsPatchCall {\n\tc.urlParams_.Set(\"predefinedAcl\", predefinedAcl)\n\treturn c\n}\n\n// PredefinedDefaultObjectAcl sets the optional parameter\n// \"predefinedDefaultObjectAcl\": Apply a predefined set of default\n// object access controls to this bucket.\n//\n// Possible values:\n//   \"authenticatedRead\" - Object owner gets OWNER access, and\n// allAuthenticatedUsers get READER access.\n//   \"bucketOwnerFullControl\" - Object owner gets OWNER access, and\n// project team owners get OWNER access.\n//   \"bucketOwnerRead\" - Object owner gets OWNER access, and project\n// team owners get READER access.\n//   \"private\" - Object owner gets OWNER access.\n//   \"projectPrivate\" - Object owner gets OWNER access, and project team\n// members get access according to their roles.\n//   \"publicRead\" - Object owner gets OWNER access, and allUsers get\n// READER access.\nfunc (c *BucketsPatchCall) PredefinedDefaultObjectAcl(predefinedDefaultObjectAcl string) *BucketsPatchCall {\n\tc.urlParams_.Set(\"predefinedDefaultObjectAcl\", predefinedDefaultObjectAcl)\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to full.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit owner, acl and defaultObjectAcl properties.\nfunc (c *BucketsPatchCall) Projection(projection string) *BucketsPatchCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketsPatchCall) UserProject(userProject string) *BucketsPatchCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketsPatchCall) Fields(s ...googleapi.Field) *BucketsPatchCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketsPatchCall) Context(ctx context.Context) *BucketsPatchCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketsPatchCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketsPatchCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.bucket2)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"PATCH\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.buckets.patch\" call.\n// Exactly one of *Bucket or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Bucket.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *BucketsPatchCall) Do(opts ...googleapi.CallOption) (*Bucket, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Bucket{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Updates a bucket. Changes to the bucket will be readable immediately after writing, but configuration changes may take time to propagate. This method supports patch semantics.\",\n\t//   \"httpMethod\": \"PATCH\",\n\t//   \"id\": \"storage.buckets.patch\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationNotMatch\": {\n\t//       \"description\": \"Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"predefinedAcl\": {\n\t//       \"description\": \"Apply a predefined set of access controls to this bucket.\",\n\t//       \"enum\": [\n\t//         \"authenticatedRead\",\n\t//         \"private\",\n\t//         \"projectPrivate\",\n\t//         \"publicRead\",\n\t//         \"publicReadWrite\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Project team owners get OWNER access, and allAuthenticatedUsers get READER access.\",\n\t//         \"Project team owners get OWNER access.\",\n\t//         \"Project team members get access according to their roles.\",\n\t//         \"Project team owners get OWNER access, and allUsers get READER access.\",\n\t//         \"Project team owners get OWNER access, and allUsers get WRITER access.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"predefinedDefaultObjectAcl\": {\n\t//       \"description\": \"Apply a predefined set of default object access controls to this bucket.\",\n\t//       \"enum\": [\n\t//         \"authenticatedRead\",\n\t//         \"bucketOwnerFullControl\",\n\t//         \"bucketOwnerRead\",\n\t//         \"private\",\n\t//         \"projectPrivate\",\n\t//         \"publicRead\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get READER access.\",\n\t//         \"Object owner gets OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team members get access according to their roles.\",\n\t//         \"Object owner gets OWNER access, and allUsers get READER access.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to full.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit owner, acl and defaultObjectAcl properties.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Bucket\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"Bucket\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.buckets.setIamPolicy\":\n\ntype BucketsSetIamPolicyCall struct {\n\ts          *Service\n\tbucket     string\n\tpolicy     *Policy\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// SetIamPolicy: Updates an IAM policy for the specified bucket.\nfunc (r *BucketsService) SetIamPolicy(bucket string, policy *Policy) *BucketsSetIamPolicyCall {\n\tc := &BucketsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.policy = policy\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketsSetIamPolicyCall) UserProject(userProject string) *BucketsSetIamPolicyCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketsSetIamPolicyCall) Fields(s ...googleapi.Field) *BucketsSetIamPolicyCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketsSetIamPolicyCall) Context(ctx context.Context) *BucketsSetIamPolicyCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketsSetIamPolicyCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.policy)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/iam\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"PUT\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.buckets.setIamPolicy\" call.\n// Exactly one of *Policy or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Policy.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *BucketsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Policy{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Updates an IAM policy for the specified bucket.\",\n\t//   \"httpMethod\": \"PUT\",\n\t//   \"id\": \"storage.buckets.setIamPolicy\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/iam\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Policy\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"Policy\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.buckets.testIamPermissions\":\n\ntype BucketsTestIamPermissionsCall struct {\n\ts            *Service\n\tbucket       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// TestIamPermissions: Tests a set of permissions on the given bucket to\n// see which, if any, are held by the caller.\nfunc (r *BucketsService) TestIamPermissions(bucket string, permissions []string) *BucketsTestIamPermissionsCall {\n\tc := &BucketsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.urlParams_.SetMulti(\"permissions\", append([]string{}, permissions...))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketsTestIamPermissionsCall) UserProject(userProject string) *BucketsTestIamPermissionsCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketsTestIamPermissionsCall) Fields(s ...googleapi.Field) *BucketsTestIamPermissionsCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *BucketsTestIamPermissionsCall) IfNoneMatch(entityTag string) *BucketsTestIamPermissionsCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketsTestIamPermissionsCall) Context(ctx context.Context) *BucketsTestIamPermissionsCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketsTestIamPermissionsCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/iam/testPermissions\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.buckets.testIamPermissions\" call.\n// Exactly one of *TestIamPermissionsResponse or error will be non-nil.\n// Any non-2xx status code is an error. Response headers are in either\n// *TestIamPermissionsResponse.ServerResponse.Header or (if a response\n// was returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *BucketsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &TestIamPermissionsResponse{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Tests a set of permissions on the given bucket to see which, if any, are held by the caller.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.buckets.testIamPermissions\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"permissions\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"permissions\": {\n\t//       \"description\": \"Permissions to test.\",\n\t//       \"location\": \"query\",\n\t//       \"repeated\": true,\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/iam/testPermissions\",\n\t//   \"response\": {\n\t//     \"$ref\": \"TestIamPermissionsResponse\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.buckets.update\":\n\ntype BucketsUpdateCall struct {\n\ts          *Service\n\tbucket     string\n\tbucket2    *Bucket\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// Update: Updates a bucket. Changes to the bucket will be readable\n// immediately after writing, but configuration changes may take time to\n// propagate.\nfunc (r *BucketsService) Update(bucket string, bucket2 *Bucket) *BucketsUpdateCall {\n\tc := &BucketsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.bucket2 = bucket2\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": Makes the return of the bucket metadata\n// conditional on whether the bucket's current metageneration matches\n// the given value.\nfunc (c *BucketsUpdateCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *BucketsUpdateCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationNotMatch sets the optional parameter\n// \"ifMetagenerationNotMatch\": Makes the return of the bucket metadata\n// conditional on whether the bucket's current metageneration does not\n// match the given value.\nfunc (c *BucketsUpdateCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *BucketsUpdateCall {\n\tc.urlParams_.Set(\"ifMetagenerationNotMatch\", fmt.Sprint(ifMetagenerationNotMatch))\n\treturn c\n}\n\n// PredefinedAcl sets the optional parameter \"predefinedAcl\": Apply a\n// predefined set of access controls to this bucket.\n//\n// Possible values:\n//   \"authenticatedRead\" - Project team owners get OWNER access, and\n// allAuthenticatedUsers get READER access.\n//   \"private\" - Project team owners get OWNER access.\n//   \"projectPrivate\" - Project team members get access according to\n// their roles.\n//   \"publicRead\" - Project team owners get OWNER access, and allUsers\n// get READER access.\n//   \"publicReadWrite\" - Project team owners get OWNER access, and\n// allUsers get WRITER access.\nfunc (c *BucketsUpdateCall) PredefinedAcl(predefinedAcl string) *BucketsUpdateCall {\n\tc.urlParams_.Set(\"predefinedAcl\", predefinedAcl)\n\treturn c\n}\n\n// PredefinedDefaultObjectAcl sets the optional parameter\n// \"predefinedDefaultObjectAcl\": Apply a predefined set of default\n// object access controls to this bucket.\n//\n// Possible values:\n//   \"authenticatedRead\" - Object owner gets OWNER access, and\n// allAuthenticatedUsers get READER access.\n//   \"bucketOwnerFullControl\" - Object owner gets OWNER access, and\n// project team owners get OWNER access.\n//   \"bucketOwnerRead\" - Object owner gets OWNER access, and project\n// team owners get READER access.\n//   \"private\" - Object owner gets OWNER access.\n//   \"projectPrivate\" - Object owner gets OWNER access, and project team\n// members get access according to their roles.\n//   \"publicRead\" - Object owner gets OWNER access, and allUsers get\n// READER access.\nfunc (c *BucketsUpdateCall) PredefinedDefaultObjectAcl(predefinedDefaultObjectAcl string) *BucketsUpdateCall {\n\tc.urlParams_.Set(\"predefinedDefaultObjectAcl\", predefinedDefaultObjectAcl)\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to full.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit owner, acl and defaultObjectAcl properties.\nfunc (c *BucketsUpdateCall) Projection(projection string) *BucketsUpdateCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *BucketsUpdateCall) UserProject(userProject string) *BucketsUpdateCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *BucketsUpdateCall) Fields(s ...googleapi.Field) *BucketsUpdateCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *BucketsUpdateCall) Context(ctx context.Context) *BucketsUpdateCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *BucketsUpdateCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *BucketsUpdateCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.bucket2)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"PUT\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.buckets.update\" call.\n// Exactly one of *Bucket or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Bucket.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *BucketsUpdateCall) Do(opts ...googleapi.CallOption) (*Bucket, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Bucket{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Updates a bucket. Changes to the bucket will be readable immediately after writing, but configuration changes may take time to propagate.\",\n\t//   \"httpMethod\": \"PUT\",\n\t//   \"id\": \"storage.buckets.update\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationNotMatch\": {\n\t//       \"description\": \"Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"predefinedAcl\": {\n\t//       \"description\": \"Apply a predefined set of access controls to this bucket.\",\n\t//       \"enum\": [\n\t//         \"authenticatedRead\",\n\t//         \"private\",\n\t//         \"projectPrivate\",\n\t//         \"publicRead\",\n\t//         \"publicReadWrite\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Project team owners get OWNER access, and allAuthenticatedUsers get READER access.\",\n\t//         \"Project team owners get OWNER access.\",\n\t//         \"Project team members get access according to their roles.\",\n\t//         \"Project team owners get OWNER access, and allUsers get READER access.\",\n\t//         \"Project team owners get OWNER access, and allUsers get WRITER access.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"predefinedDefaultObjectAcl\": {\n\t//       \"description\": \"Apply a predefined set of default object access controls to this bucket.\",\n\t//       \"enum\": [\n\t//         \"authenticatedRead\",\n\t//         \"bucketOwnerFullControl\",\n\t//         \"bucketOwnerRead\",\n\t//         \"private\",\n\t//         \"projectPrivate\",\n\t//         \"publicRead\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get READER access.\",\n\t//         \"Object owner gets OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team members get access according to their roles.\",\n\t//         \"Object owner gets OWNER access, and allUsers get READER access.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to full.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit owner, acl and defaultObjectAcl properties.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Bucket\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"Bucket\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.channels.stop\":\n\ntype ChannelsStopCall struct {\n\ts          *Service\n\tchannel    *Channel\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// Stop: Stop watching resources through this channel\nfunc (r *ChannelsService) Stop(channel *Channel) *ChannelsStopCall {\n\tc := &ChannelsStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.channel = channel\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ChannelsStopCall) Fields(s ...googleapi.Field) *ChannelsStopCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ChannelsStopCall) Context(ctx context.Context) *ChannelsStopCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ChannelsStopCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ChannelsStopCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"channels/stop\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"POST\", urls, body)\n\treq.Header = reqHeaders\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.channels.stop\" call.\nfunc (c *ChannelsStopCall) Do(opts ...googleapi.CallOption) error {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n\t// {\n\t//   \"description\": \"Stop watching resources through this channel\",\n\t//   \"httpMethod\": \"POST\",\n\t//   \"id\": \"storage.channels.stop\",\n\t//   \"path\": \"channels/stop\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Channel\",\n\t//     \"parameterName\": \"resource\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.defaultObjectAccessControls.delete\":\n\ntype DefaultObjectAccessControlsDeleteCall struct {\n\ts          *Service\n\tbucket     string\n\tentity     string\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// Delete: Permanently deletes the default object ACL entry for the\n// specified entity on the specified bucket.\nfunc (r *DefaultObjectAccessControlsService) Delete(bucket string, entity string) *DefaultObjectAccessControlsDeleteCall {\n\tc := &DefaultObjectAccessControlsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.entity = entity\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *DefaultObjectAccessControlsDeleteCall) UserProject(userProject string) *DefaultObjectAccessControlsDeleteCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *DefaultObjectAccessControlsDeleteCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsDeleteCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *DefaultObjectAccessControlsDeleteCall) Context(ctx context.Context) *DefaultObjectAccessControlsDeleteCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *DefaultObjectAccessControlsDeleteCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *DefaultObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/defaultObjectAcl/{entity}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"DELETE\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"entity\": c.entity,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.defaultObjectAccessControls.delete\" call.\nfunc (c *DefaultObjectAccessControlsDeleteCall) Do(opts ...googleapi.CallOption) error {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n\t// {\n\t//   \"description\": \"Permanently deletes the default object ACL entry for the specified entity on the specified bucket.\",\n\t//   \"httpMethod\": \"DELETE\",\n\t//   \"id\": \"storage.defaultObjectAccessControls.delete\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"entity\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"entity\": {\n\t//       \"description\": \"The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/defaultObjectAcl/{entity}\",\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.defaultObjectAccessControls.get\":\n\ntype DefaultObjectAccessControlsGetCall struct {\n\ts            *Service\n\tbucket       string\n\tentity       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// Get: Returns the default object ACL entry for the specified entity on\n// the specified bucket.\nfunc (r *DefaultObjectAccessControlsService) Get(bucket string, entity string) *DefaultObjectAccessControlsGetCall {\n\tc := &DefaultObjectAccessControlsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.entity = entity\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *DefaultObjectAccessControlsGetCall) UserProject(userProject string) *DefaultObjectAccessControlsGetCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *DefaultObjectAccessControlsGetCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsGetCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *DefaultObjectAccessControlsGetCall) IfNoneMatch(entityTag string) *DefaultObjectAccessControlsGetCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *DefaultObjectAccessControlsGetCall) Context(ctx context.Context) *DefaultObjectAccessControlsGetCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *DefaultObjectAccessControlsGetCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *DefaultObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/defaultObjectAcl/{entity}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"entity\": c.entity,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.defaultObjectAccessControls.get\" call.\n// Exactly one of *ObjectAccessControl or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *ObjectAccessControl.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *DefaultObjectAccessControlsGetCall) Do(opts ...googleapi.CallOption) (*ObjectAccessControl, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &ObjectAccessControl{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Returns the default object ACL entry for the specified entity on the specified bucket.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.defaultObjectAccessControls.get\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"entity\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"entity\": {\n\t//       \"description\": \"The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/defaultObjectAcl/{entity}\",\n\t//   \"response\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.defaultObjectAccessControls.insert\":\n\ntype DefaultObjectAccessControlsInsertCall struct {\n\ts                   *Service\n\tbucket              string\n\tobjectaccesscontrol *ObjectAccessControl\n\turlParams_          gensupport.URLParams\n\tctx_                context.Context\n\theader_             http.Header\n}\n\n// Insert: Creates a new default object ACL entry on the specified\n// bucket.\nfunc (r *DefaultObjectAccessControlsService) Insert(bucket string, objectaccesscontrol *ObjectAccessControl) *DefaultObjectAccessControlsInsertCall {\n\tc := &DefaultObjectAccessControlsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.objectaccesscontrol = objectaccesscontrol\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *DefaultObjectAccessControlsInsertCall) UserProject(userProject string) *DefaultObjectAccessControlsInsertCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *DefaultObjectAccessControlsInsertCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsInsertCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *DefaultObjectAccessControlsInsertCall) Context(ctx context.Context) *DefaultObjectAccessControlsInsertCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *DefaultObjectAccessControlsInsertCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *DefaultObjectAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.objectaccesscontrol)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/defaultObjectAcl\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"POST\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.defaultObjectAccessControls.insert\" call.\n// Exactly one of *ObjectAccessControl or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *ObjectAccessControl.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *DefaultObjectAccessControlsInsertCall) Do(opts ...googleapi.CallOption) (*ObjectAccessControl, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &ObjectAccessControl{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Creates a new default object ACL entry on the specified bucket.\",\n\t//   \"httpMethod\": \"POST\",\n\t//   \"id\": \"storage.defaultObjectAccessControls.insert\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/defaultObjectAcl\",\n\t//   \"request\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.defaultObjectAccessControls.list\":\n\ntype DefaultObjectAccessControlsListCall struct {\n\ts            *Service\n\tbucket       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// List: Retrieves default object ACL entries on the specified bucket.\nfunc (r *DefaultObjectAccessControlsService) List(bucket string) *DefaultObjectAccessControlsListCall {\n\tc := &DefaultObjectAccessControlsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": If present, only return default ACL listing\n// if the bucket's current metageneration matches this value.\nfunc (c *DefaultObjectAccessControlsListCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *DefaultObjectAccessControlsListCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationNotMatch sets the optional parameter\n// \"ifMetagenerationNotMatch\": If present, only return default ACL\n// listing if the bucket's current metageneration does not match the\n// given value.\nfunc (c *DefaultObjectAccessControlsListCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *DefaultObjectAccessControlsListCall {\n\tc.urlParams_.Set(\"ifMetagenerationNotMatch\", fmt.Sprint(ifMetagenerationNotMatch))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *DefaultObjectAccessControlsListCall) UserProject(userProject string) *DefaultObjectAccessControlsListCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *DefaultObjectAccessControlsListCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsListCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *DefaultObjectAccessControlsListCall) IfNoneMatch(entityTag string) *DefaultObjectAccessControlsListCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *DefaultObjectAccessControlsListCall) Context(ctx context.Context) *DefaultObjectAccessControlsListCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *DefaultObjectAccessControlsListCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *DefaultObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/defaultObjectAcl\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.defaultObjectAccessControls.list\" call.\n// Exactly one of *ObjectAccessControls or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *ObjectAccessControls.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *DefaultObjectAccessControlsListCall) Do(opts ...googleapi.CallOption) (*ObjectAccessControls, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &ObjectAccessControls{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Retrieves default object ACL entries on the specified bucket.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.defaultObjectAccessControls.list\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"If present, only return default ACL listing if the bucket's current metageneration matches this value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationNotMatch\": {\n\t//       \"description\": \"If present, only return default ACL listing if the bucket's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/defaultObjectAcl\",\n\t//   \"response\": {\n\t//     \"$ref\": \"ObjectAccessControls\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.defaultObjectAccessControls.patch\":\n\ntype DefaultObjectAccessControlsPatchCall struct {\n\ts                   *Service\n\tbucket              string\n\tentity              string\n\tobjectaccesscontrol *ObjectAccessControl\n\turlParams_          gensupport.URLParams\n\tctx_                context.Context\n\theader_             http.Header\n}\n\n// Patch: Updates a default object ACL entry on the specified bucket.\n// This method supports patch semantics.\nfunc (r *DefaultObjectAccessControlsService) Patch(bucket string, entity string, objectaccesscontrol *ObjectAccessControl) *DefaultObjectAccessControlsPatchCall {\n\tc := &DefaultObjectAccessControlsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.entity = entity\n\tc.objectaccesscontrol = objectaccesscontrol\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *DefaultObjectAccessControlsPatchCall) UserProject(userProject string) *DefaultObjectAccessControlsPatchCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *DefaultObjectAccessControlsPatchCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsPatchCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *DefaultObjectAccessControlsPatchCall) Context(ctx context.Context) *DefaultObjectAccessControlsPatchCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *DefaultObjectAccessControlsPatchCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *DefaultObjectAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.objectaccesscontrol)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/defaultObjectAcl/{entity}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"PATCH\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"entity\": c.entity,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.defaultObjectAccessControls.patch\" call.\n// Exactly one of *ObjectAccessControl or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *ObjectAccessControl.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *DefaultObjectAccessControlsPatchCall) Do(opts ...googleapi.CallOption) (*ObjectAccessControl, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &ObjectAccessControl{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Updates a default object ACL entry on the specified bucket. This method supports patch semantics.\",\n\t//   \"httpMethod\": \"PATCH\",\n\t//   \"id\": \"storage.defaultObjectAccessControls.patch\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"entity\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"entity\": {\n\t//       \"description\": \"The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/defaultObjectAcl/{entity}\",\n\t//   \"request\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.defaultObjectAccessControls.update\":\n\ntype DefaultObjectAccessControlsUpdateCall struct {\n\ts                   *Service\n\tbucket              string\n\tentity              string\n\tobjectaccesscontrol *ObjectAccessControl\n\turlParams_          gensupport.URLParams\n\tctx_                context.Context\n\theader_             http.Header\n}\n\n// Update: Updates a default object ACL entry on the specified bucket.\nfunc (r *DefaultObjectAccessControlsService) Update(bucket string, entity string, objectaccesscontrol *ObjectAccessControl) *DefaultObjectAccessControlsUpdateCall {\n\tc := &DefaultObjectAccessControlsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.entity = entity\n\tc.objectaccesscontrol = objectaccesscontrol\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *DefaultObjectAccessControlsUpdateCall) UserProject(userProject string) *DefaultObjectAccessControlsUpdateCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *DefaultObjectAccessControlsUpdateCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsUpdateCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *DefaultObjectAccessControlsUpdateCall) Context(ctx context.Context) *DefaultObjectAccessControlsUpdateCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *DefaultObjectAccessControlsUpdateCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *DefaultObjectAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.objectaccesscontrol)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/defaultObjectAcl/{entity}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"PUT\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"entity\": c.entity,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.defaultObjectAccessControls.update\" call.\n// Exactly one of *ObjectAccessControl or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *ObjectAccessControl.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *DefaultObjectAccessControlsUpdateCall) Do(opts ...googleapi.CallOption) (*ObjectAccessControl, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &ObjectAccessControl{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Updates a default object ACL entry on the specified bucket.\",\n\t//   \"httpMethod\": \"PUT\",\n\t//   \"id\": \"storage.defaultObjectAccessControls.update\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"entity\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"entity\": {\n\t//       \"description\": \"The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/defaultObjectAcl/{entity}\",\n\t//   \"request\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.notifications.delete\":\n\ntype NotificationsDeleteCall struct {\n\ts            *Service\n\tbucket       string\n\tnotification string\n\turlParams_   gensupport.URLParams\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// Delete: Permanently deletes a notification subscription.\nfunc (r *NotificationsService) Delete(bucket string, notification string) *NotificationsDeleteCall {\n\tc := &NotificationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.notification = notification\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *NotificationsDeleteCall) UserProject(userProject string) *NotificationsDeleteCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *NotificationsDeleteCall) Fields(s ...googleapi.Field) *NotificationsDeleteCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *NotificationsDeleteCall) Context(ctx context.Context) *NotificationsDeleteCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *NotificationsDeleteCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *NotificationsDeleteCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/notificationConfigs/{notification}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"DELETE\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\":       c.bucket,\n\t\t\"notification\": c.notification,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.notifications.delete\" call.\nfunc (c *NotificationsDeleteCall) Do(opts ...googleapi.CallOption) error {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n\t// {\n\t//   \"description\": \"Permanently deletes a notification subscription.\",\n\t//   \"httpMethod\": \"DELETE\",\n\t//   \"id\": \"storage.notifications.delete\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"notification\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"The parent bucket of the notification.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"notification\": {\n\t//       \"description\": \"ID of the notification to delete.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/notificationConfigs/{notification}\",\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.notifications.get\":\n\ntype NotificationsGetCall struct {\n\ts            *Service\n\tbucket       string\n\tnotification string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// Get: View a notification configuration.\nfunc (r *NotificationsService) Get(bucket string, notification string) *NotificationsGetCall {\n\tc := &NotificationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.notification = notification\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *NotificationsGetCall) UserProject(userProject string) *NotificationsGetCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *NotificationsGetCall) Fields(s ...googleapi.Field) *NotificationsGetCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *NotificationsGetCall) IfNoneMatch(entityTag string) *NotificationsGetCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *NotificationsGetCall) Context(ctx context.Context) *NotificationsGetCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *NotificationsGetCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *NotificationsGetCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/notificationConfigs/{notification}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\":       c.bucket,\n\t\t\"notification\": c.notification,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.notifications.get\" call.\n// Exactly one of *Notification or error will be non-nil. Any non-2xx\n// status code is an error. Response headers are in either\n// *Notification.ServerResponse.Header or (if a response was returned at\n// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified\n// to check whether the returned error was because\n// http.StatusNotModified was returned.\nfunc (c *NotificationsGetCall) Do(opts ...googleapi.CallOption) (*Notification, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Notification{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"View a notification configuration.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.notifications.get\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"notification\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"The parent bucket of the notification.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"notification\": {\n\t//       \"description\": \"Notification ID\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/notificationConfigs/{notification}\",\n\t//   \"response\": {\n\t//     \"$ref\": \"Notification\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.notifications.insert\":\n\ntype NotificationsInsertCall struct {\n\ts            *Service\n\tbucket       string\n\tnotification *Notification\n\turlParams_   gensupport.URLParams\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// Insert: Creates a notification subscription for a given bucket.\nfunc (r *NotificationsService) Insert(bucket string, notification *Notification) *NotificationsInsertCall {\n\tc := &NotificationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.notification = notification\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *NotificationsInsertCall) UserProject(userProject string) *NotificationsInsertCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *NotificationsInsertCall) Fields(s ...googleapi.Field) *NotificationsInsertCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *NotificationsInsertCall) Context(ctx context.Context) *NotificationsInsertCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *NotificationsInsertCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *NotificationsInsertCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.notification)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/notificationConfigs\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"POST\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.notifications.insert\" call.\n// Exactly one of *Notification or error will be non-nil. Any non-2xx\n// status code is an error. Response headers are in either\n// *Notification.ServerResponse.Header or (if a response was returned at\n// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified\n// to check whether the returned error was because\n// http.StatusNotModified was returned.\nfunc (c *NotificationsInsertCall) Do(opts ...googleapi.CallOption) (*Notification, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Notification{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Creates a notification subscription for a given bucket.\",\n\t//   \"httpMethod\": \"POST\",\n\t//   \"id\": \"storage.notifications.insert\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"The parent bucket of the notification.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/notificationConfigs\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Notification\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"Notification\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.notifications.list\":\n\ntype NotificationsListCall struct {\n\ts            *Service\n\tbucket       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// List: Retrieves a list of notification subscriptions for a given\n// bucket.\nfunc (r *NotificationsService) List(bucket string) *NotificationsListCall {\n\tc := &NotificationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *NotificationsListCall) UserProject(userProject string) *NotificationsListCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *NotificationsListCall) Fields(s ...googleapi.Field) *NotificationsListCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *NotificationsListCall) IfNoneMatch(entityTag string) *NotificationsListCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *NotificationsListCall) Context(ctx context.Context) *NotificationsListCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *NotificationsListCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *NotificationsListCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/notificationConfigs\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.notifications.list\" call.\n// Exactly one of *Notifications or error will be non-nil. Any non-2xx\n// status code is an error. Response headers are in either\n// *Notifications.ServerResponse.Header or (if a response was returned\n// at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *NotificationsListCall) Do(opts ...googleapi.CallOption) (*Notifications, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Notifications{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Retrieves a list of notification subscriptions for a given bucket.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.notifications.list\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a Google Cloud Storage bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/notificationConfigs\",\n\t//   \"response\": {\n\t//     \"$ref\": \"Notifications\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objectAccessControls.delete\":\n\ntype ObjectAccessControlsDeleteCall struct {\n\ts          *Service\n\tbucket     string\n\tobject     string\n\tentity     string\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// Delete: Permanently deletes the ACL entry for the specified entity on\n// the specified object.\nfunc (r *ObjectAccessControlsService) Delete(bucket string, object string, entity string) *ObjectAccessControlsDeleteCall {\n\tc := &ObjectAccessControlsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\tc.entity = entity\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// selects a specific revision of this object (as opposed to the latest\n// version, the default).\nfunc (c *ObjectAccessControlsDeleteCall) Generation(generation int64) *ObjectAccessControlsDeleteCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectAccessControlsDeleteCall) UserProject(userProject string) *ObjectAccessControlsDeleteCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectAccessControlsDeleteCall) Fields(s ...googleapi.Field) *ObjectAccessControlsDeleteCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectAccessControlsDeleteCall) Context(ctx context.Context) *ObjectAccessControlsDeleteCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectAccessControlsDeleteCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}/acl/{entity}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"DELETE\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t\t\"entity\": c.entity,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objectAccessControls.delete\" call.\nfunc (c *ObjectAccessControlsDeleteCall) Do(opts ...googleapi.CallOption) error {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n\t// {\n\t//   \"description\": \"Permanently deletes the ACL entry for the specified entity on the specified object.\",\n\t//   \"httpMethod\": \"DELETE\",\n\t//   \"id\": \"storage.objectAccessControls.delete\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\",\n\t//     \"entity\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"entity\": {\n\t//       \"description\": \"The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, selects a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}/acl/{entity}\",\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objectAccessControls.get\":\n\ntype ObjectAccessControlsGetCall struct {\n\ts            *Service\n\tbucket       string\n\tobject       string\n\tentity       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// Get: Returns the ACL entry for the specified entity on the specified\n// object.\nfunc (r *ObjectAccessControlsService) Get(bucket string, object string, entity string) *ObjectAccessControlsGetCall {\n\tc := &ObjectAccessControlsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\tc.entity = entity\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// selects a specific revision of this object (as opposed to the latest\n// version, the default).\nfunc (c *ObjectAccessControlsGetCall) Generation(generation int64) *ObjectAccessControlsGetCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectAccessControlsGetCall) UserProject(userProject string) *ObjectAccessControlsGetCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectAccessControlsGetCall) Fields(s ...googleapi.Field) *ObjectAccessControlsGetCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *ObjectAccessControlsGetCall) IfNoneMatch(entityTag string) *ObjectAccessControlsGetCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectAccessControlsGetCall) Context(ctx context.Context) *ObjectAccessControlsGetCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectAccessControlsGetCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}/acl/{entity}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t\t\"entity\": c.entity,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objectAccessControls.get\" call.\n// Exactly one of *ObjectAccessControl or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *ObjectAccessControl.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *ObjectAccessControlsGetCall) Do(opts ...googleapi.CallOption) (*ObjectAccessControl, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &ObjectAccessControl{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Returns the ACL entry for the specified entity on the specified object.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.objectAccessControls.get\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\",\n\t//     \"entity\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"entity\": {\n\t//       \"description\": \"The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, selects a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}/acl/{entity}\",\n\t//   \"response\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objectAccessControls.insert\":\n\ntype ObjectAccessControlsInsertCall struct {\n\ts                   *Service\n\tbucket              string\n\tobject              string\n\tobjectaccesscontrol *ObjectAccessControl\n\turlParams_          gensupport.URLParams\n\tctx_                context.Context\n\theader_             http.Header\n}\n\n// Insert: Creates a new ACL entry on the specified object.\nfunc (r *ObjectAccessControlsService) Insert(bucket string, object string, objectaccesscontrol *ObjectAccessControl) *ObjectAccessControlsInsertCall {\n\tc := &ObjectAccessControlsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\tc.objectaccesscontrol = objectaccesscontrol\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// selects a specific revision of this object (as opposed to the latest\n// version, the default).\nfunc (c *ObjectAccessControlsInsertCall) Generation(generation int64) *ObjectAccessControlsInsertCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectAccessControlsInsertCall) UserProject(userProject string) *ObjectAccessControlsInsertCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectAccessControlsInsertCall) Fields(s ...googleapi.Field) *ObjectAccessControlsInsertCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectAccessControlsInsertCall) Context(ctx context.Context) *ObjectAccessControlsInsertCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectAccessControlsInsertCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.objectaccesscontrol)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}/acl\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"POST\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objectAccessControls.insert\" call.\n// Exactly one of *ObjectAccessControl or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *ObjectAccessControl.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *ObjectAccessControlsInsertCall) Do(opts ...googleapi.CallOption) (*ObjectAccessControl, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &ObjectAccessControl{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Creates a new ACL entry on the specified object.\",\n\t//   \"httpMethod\": \"POST\",\n\t//   \"id\": \"storage.objectAccessControls.insert\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, selects a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}/acl\",\n\t//   \"request\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objectAccessControls.list\":\n\ntype ObjectAccessControlsListCall struct {\n\ts            *Service\n\tbucket       string\n\tobject       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// List: Retrieves ACL entries on the specified object.\nfunc (r *ObjectAccessControlsService) List(bucket string, object string) *ObjectAccessControlsListCall {\n\tc := &ObjectAccessControlsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// selects a specific revision of this object (as opposed to the latest\n// version, the default).\nfunc (c *ObjectAccessControlsListCall) Generation(generation int64) *ObjectAccessControlsListCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectAccessControlsListCall) UserProject(userProject string) *ObjectAccessControlsListCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectAccessControlsListCall) Fields(s ...googleapi.Field) *ObjectAccessControlsListCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *ObjectAccessControlsListCall) IfNoneMatch(entityTag string) *ObjectAccessControlsListCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectAccessControlsListCall) Context(ctx context.Context) *ObjectAccessControlsListCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectAccessControlsListCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}/acl\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objectAccessControls.list\" call.\n// Exactly one of *ObjectAccessControls or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *ObjectAccessControls.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *ObjectAccessControlsListCall) Do(opts ...googleapi.CallOption) (*ObjectAccessControls, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &ObjectAccessControls{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Retrieves ACL entries on the specified object.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.objectAccessControls.list\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, selects a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}/acl\",\n\t//   \"response\": {\n\t//     \"$ref\": \"ObjectAccessControls\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objectAccessControls.patch\":\n\ntype ObjectAccessControlsPatchCall struct {\n\ts                   *Service\n\tbucket              string\n\tobject              string\n\tentity              string\n\tobjectaccesscontrol *ObjectAccessControl\n\turlParams_          gensupport.URLParams\n\tctx_                context.Context\n\theader_             http.Header\n}\n\n// Patch: Updates an ACL entry on the specified object. This method\n// supports patch semantics.\nfunc (r *ObjectAccessControlsService) Patch(bucket string, object string, entity string, objectaccesscontrol *ObjectAccessControl) *ObjectAccessControlsPatchCall {\n\tc := &ObjectAccessControlsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\tc.entity = entity\n\tc.objectaccesscontrol = objectaccesscontrol\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// selects a specific revision of this object (as opposed to the latest\n// version, the default).\nfunc (c *ObjectAccessControlsPatchCall) Generation(generation int64) *ObjectAccessControlsPatchCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectAccessControlsPatchCall) UserProject(userProject string) *ObjectAccessControlsPatchCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectAccessControlsPatchCall) Fields(s ...googleapi.Field) *ObjectAccessControlsPatchCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectAccessControlsPatchCall) Context(ctx context.Context) *ObjectAccessControlsPatchCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectAccessControlsPatchCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.objectaccesscontrol)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}/acl/{entity}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"PATCH\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t\t\"entity\": c.entity,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objectAccessControls.patch\" call.\n// Exactly one of *ObjectAccessControl or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *ObjectAccessControl.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *ObjectAccessControlsPatchCall) Do(opts ...googleapi.CallOption) (*ObjectAccessControl, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &ObjectAccessControl{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Updates an ACL entry on the specified object. This method supports patch semantics.\",\n\t//   \"httpMethod\": \"PATCH\",\n\t//   \"id\": \"storage.objectAccessControls.patch\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\",\n\t//     \"entity\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"entity\": {\n\t//       \"description\": \"The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, selects a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}/acl/{entity}\",\n\t//   \"request\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objectAccessControls.update\":\n\ntype ObjectAccessControlsUpdateCall struct {\n\ts                   *Service\n\tbucket              string\n\tobject              string\n\tentity              string\n\tobjectaccesscontrol *ObjectAccessControl\n\turlParams_          gensupport.URLParams\n\tctx_                context.Context\n\theader_             http.Header\n}\n\n// Update: Updates an ACL entry on the specified object.\nfunc (r *ObjectAccessControlsService) Update(bucket string, object string, entity string, objectaccesscontrol *ObjectAccessControl) *ObjectAccessControlsUpdateCall {\n\tc := &ObjectAccessControlsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\tc.entity = entity\n\tc.objectaccesscontrol = objectaccesscontrol\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// selects a specific revision of this object (as opposed to the latest\n// version, the default).\nfunc (c *ObjectAccessControlsUpdateCall) Generation(generation int64) *ObjectAccessControlsUpdateCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectAccessControlsUpdateCall) UserProject(userProject string) *ObjectAccessControlsUpdateCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectAccessControlsUpdateCall) Fields(s ...googleapi.Field) *ObjectAccessControlsUpdateCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectAccessControlsUpdateCall) Context(ctx context.Context) *ObjectAccessControlsUpdateCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectAccessControlsUpdateCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.objectaccesscontrol)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}/acl/{entity}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"PUT\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t\t\"entity\": c.entity,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objectAccessControls.update\" call.\n// Exactly one of *ObjectAccessControl or error will be non-nil. Any\n// non-2xx status code is an error. Response headers are in either\n// *ObjectAccessControl.ServerResponse.Header or (if a response was\n// returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *ObjectAccessControlsUpdateCall) Do(opts ...googleapi.CallOption) (*ObjectAccessControl, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &ObjectAccessControl{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Updates an ACL entry on the specified object.\",\n\t//   \"httpMethod\": \"PUT\",\n\t//   \"id\": \"storage.objectAccessControls.update\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\",\n\t//     \"entity\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of a bucket.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"entity\": {\n\t//       \"description\": \"The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, selects a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}/acl/{entity}\",\n\t//   \"request\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"ObjectAccessControl\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objects.compose\":\n\ntype ObjectsComposeCall struct {\n\ts                 *Service\n\tdestinationBucket string\n\tdestinationObject string\n\tcomposerequest    *ComposeRequest\n\turlParams_        gensupport.URLParams\n\tctx_              context.Context\n\theader_           http.Header\n}\n\n// Compose: Concatenates a list of existing objects into a new object in\n// the same bucket.\nfunc (r *ObjectsService) Compose(destinationBucket string, destinationObject string, composerequest *ComposeRequest) *ObjectsComposeCall {\n\tc := &ObjectsComposeCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.destinationBucket = destinationBucket\n\tc.destinationObject = destinationObject\n\tc.composerequest = composerequest\n\treturn c\n}\n\n// DestinationPredefinedAcl sets the optional parameter\n// \"destinationPredefinedAcl\": Apply a predefined set of access controls\n// to the destination object.\n//\n// Possible values:\n//   \"authenticatedRead\" - Object owner gets OWNER access, and\n// allAuthenticatedUsers get READER access.\n//   \"bucketOwnerFullControl\" - Object owner gets OWNER access, and\n// project team owners get OWNER access.\n//   \"bucketOwnerRead\" - Object owner gets OWNER access, and project\n// team owners get READER access.\n//   \"private\" - Object owner gets OWNER access.\n//   \"projectPrivate\" - Object owner gets OWNER access, and project team\n// members get access according to their roles.\n//   \"publicRead\" - Object owner gets OWNER access, and allUsers get\n// READER access.\nfunc (c *ObjectsComposeCall) DestinationPredefinedAcl(destinationPredefinedAcl string) *ObjectsComposeCall {\n\tc.urlParams_.Set(\"destinationPredefinedAcl\", destinationPredefinedAcl)\n\treturn c\n}\n\n// IfGenerationMatch sets the optional parameter \"ifGenerationMatch\":\n// Makes the operation conditional on whether the object's current\n// generation matches the given value. Setting to 0 makes the operation\n// succeed only if there are no live versions of the object.\nfunc (c *ObjectsComposeCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsComposeCall {\n\tc.urlParams_.Set(\"ifGenerationMatch\", fmt.Sprint(ifGenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": Makes the operation conditional on whether\n// the object's current metageneration matches the given value.\nfunc (c *ObjectsComposeCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsComposeCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// KmsKeyName sets the optional parameter \"kmsKeyName\": Resource name of\n// the Cloud KMS key, of the form\n// projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key,\n//  that will be used to encrypt the object. Overrides the object\n// metadata's kms_key_name value, if any.\nfunc (c *ObjectsComposeCall) KmsKeyName(kmsKeyName string) *ObjectsComposeCall {\n\tc.urlParams_.Set(\"kmsKeyName\", kmsKeyName)\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectsComposeCall) UserProject(userProject string) *ObjectsComposeCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsComposeCall) Fields(s ...googleapi.Field) *ObjectsComposeCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectsComposeCall) Context(ctx context.Context) *ObjectsComposeCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsComposeCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsComposeCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.composerequest)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{destinationBucket}/o/{destinationObject}/compose\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"POST\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"destinationBucket\": c.destinationBucket,\n\t\t\"destinationObject\": c.destinationObject,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objects.compose\" call.\n// Exactly one of *Object or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Object.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *ObjectsComposeCall) Do(opts ...googleapi.CallOption) (*Object, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Object{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Concatenates a list of existing objects into a new object in the same bucket.\",\n\t//   \"httpMethod\": \"POST\",\n\t//   \"id\": \"storage.objects.compose\",\n\t//   \"parameterOrder\": [\n\t//     \"destinationBucket\",\n\t//     \"destinationObject\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"destinationBucket\": {\n\t//       \"description\": \"Name of the bucket in which to store the new object.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"destinationObject\": {\n\t//       \"description\": \"Name of the new object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"destinationPredefinedAcl\": {\n\t//       \"description\": \"Apply a predefined set of access controls to the destination object.\",\n\t//       \"enum\": [\n\t//         \"authenticatedRead\",\n\t//         \"bucketOwnerFullControl\",\n\t//         \"bucketOwnerRead\",\n\t//         \"private\",\n\t//         \"projectPrivate\",\n\t//         \"publicRead\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get READER access.\",\n\t//         \"Object owner gets OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team members get access according to their roles.\",\n\t//         \"Object owner gets OWNER access, and allUsers get READER access.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"kmsKeyName\": {\n\t//       \"description\": \"Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{destinationBucket}/o/{destinationObject}/compose\",\n\t//   \"request\": {\n\t//     \"$ref\": \"ComposeRequest\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"Object\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objects.copy\":\n\ntype ObjectsCopyCall struct {\n\ts                 *Service\n\tsourceBucket      string\n\tsourceObject      string\n\tdestinationBucket string\n\tdestinationObject string\n\tobject            *Object\n\turlParams_        gensupport.URLParams\n\tctx_              context.Context\n\theader_           http.Header\n}\n\n// Copy: Copies a source object to a destination object. Optionally\n// overrides metadata.\nfunc (r *ObjectsService) Copy(sourceBucket string, sourceObject string, destinationBucket string, destinationObject string, object *Object) *ObjectsCopyCall {\n\tc := &ObjectsCopyCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.sourceBucket = sourceBucket\n\tc.sourceObject = sourceObject\n\tc.destinationBucket = destinationBucket\n\tc.destinationObject = destinationObject\n\tc.object = object\n\treturn c\n}\n\n// DestinationPredefinedAcl sets the optional parameter\n// \"destinationPredefinedAcl\": Apply a predefined set of access controls\n// to the destination object.\n//\n// Possible values:\n//   \"authenticatedRead\" - Object owner gets OWNER access, and\n// allAuthenticatedUsers get READER access.\n//   \"bucketOwnerFullControl\" - Object owner gets OWNER access, and\n// project team owners get OWNER access.\n//   \"bucketOwnerRead\" - Object owner gets OWNER access, and project\n// team owners get READER access.\n//   \"private\" - Object owner gets OWNER access.\n//   \"projectPrivate\" - Object owner gets OWNER access, and project team\n// members get access according to their roles.\n//   \"publicRead\" - Object owner gets OWNER access, and allUsers get\n// READER access.\nfunc (c *ObjectsCopyCall) DestinationPredefinedAcl(destinationPredefinedAcl string) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"destinationPredefinedAcl\", destinationPredefinedAcl)\n\treturn c\n}\n\n// IfGenerationMatch sets the optional parameter \"ifGenerationMatch\":\n// Makes the operation conditional on whether the destination object's\n// current generation matches the given value. Setting to 0 makes the\n// operation succeed only if there are no live versions of the object.\nfunc (c *ObjectsCopyCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"ifGenerationMatch\", fmt.Sprint(ifGenerationMatch))\n\treturn c\n}\n\n// IfGenerationNotMatch sets the optional parameter\n// \"ifGenerationNotMatch\": Makes the operation conditional on whether\n// the destination object's current generation does not match the given\n// value. If no live object exists, the precondition fails. Setting to 0\n// makes the operation succeed only if there is a live version of the\n// object.\nfunc (c *ObjectsCopyCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"ifGenerationNotMatch\", fmt.Sprint(ifGenerationNotMatch))\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": Makes the operation conditional on whether\n// the destination object's current metageneration matches the given\n// value.\nfunc (c *ObjectsCopyCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationNotMatch sets the optional parameter\n// \"ifMetagenerationNotMatch\": Makes the operation conditional on\n// whether the destination object's current metageneration does not\n// match the given value.\nfunc (c *ObjectsCopyCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"ifMetagenerationNotMatch\", fmt.Sprint(ifMetagenerationNotMatch))\n\treturn c\n}\n\n// IfSourceGenerationMatch sets the optional parameter\n// \"ifSourceGenerationMatch\": Makes the operation conditional on whether\n// the source object's current generation matches the given value.\nfunc (c *ObjectsCopyCall) IfSourceGenerationMatch(ifSourceGenerationMatch int64) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"ifSourceGenerationMatch\", fmt.Sprint(ifSourceGenerationMatch))\n\treturn c\n}\n\n// IfSourceGenerationNotMatch sets the optional parameter\n// \"ifSourceGenerationNotMatch\": Makes the operation conditional on\n// whether the source object's current generation does not match the\n// given value.\nfunc (c *ObjectsCopyCall) IfSourceGenerationNotMatch(ifSourceGenerationNotMatch int64) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"ifSourceGenerationNotMatch\", fmt.Sprint(ifSourceGenerationNotMatch))\n\treturn c\n}\n\n// IfSourceMetagenerationMatch sets the optional parameter\n// \"ifSourceMetagenerationMatch\": Makes the operation conditional on\n// whether the source object's current metageneration matches the given\n// value.\nfunc (c *ObjectsCopyCall) IfSourceMetagenerationMatch(ifSourceMetagenerationMatch int64) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"ifSourceMetagenerationMatch\", fmt.Sprint(ifSourceMetagenerationMatch))\n\treturn c\n}\n\n// IfSourceMetagenerationNotMatch sets the optional parameter\n// \"ifSourceMetagenerationNotMatch\": Makes the operation conditional on\n// whether the source object's current metageneration does not match the\n// given value.\nfunc (c *ObjectsCopyCall) IfSourceMetagenerationNotMatch(ifSourceMetagenerationNotMatch int64) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"ifSourceMetagenerationNotMatch\", fmt.Sprint(ifSourceMetagenerationNotMatch))\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to noAcl, unless the object resource\n// specifies the acl property, when it defaults to full.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit the owner, acl property.\nfunc (c *ObjectsCopyCall) Projection(projection string) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// SourceGeneration sets the optional parameter \"sourceGeneration\": If\n// present, selects a specific revision of the source object (as opposed\n// to the latest version, the default).\nfunc (c *ObjectsCopyCall) SourceGeneration(sourceGeneration int64) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"sourceGeneration\", fmt.Sprint(sourceGeneration))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectsCopyCall) UserProject(userProject string) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsCopyCall) Fields(s ...googleapi.Field) *ObjectsCopyCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectsCopyCall) Context(ctx context.Context) *ObjectsCopyCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsCopyCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsCopyCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.object)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{sourceBucket}/o/{sourceObject}/copyTo/b/{destinationBucket}/o/{destinationObject}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"POST\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"sourceBucket\":      c.sourceBucket,\n\t\t\"sourceObject\":      c.sourceObject,\n\t\t\"destinationBucket\": c.destinationBucket,\n\t\t\"destinationObject\": c.destinationObject,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objects.copy\" call.\n// Exactly one of *Object or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Object.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *ObjectsCopyCall) Do(opts ...googleapi.CallOption) (*Object, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Object{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Copies a source object to a destination object. Optionally overrides metadata.\",\n\t//   \"httpMethod\": \"POST\",\n\t//   \"id\": \"storage.objects.copy\",\n\t//   \"parameterOrder\": [\n\t//     \"sourceBucket\",\n\t//     \"sourceObject\",\n\t//     \"destinationBucket\",\n\t//     \"destinationObject\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"destinationBucket\": {\n\t//       \"description\": \"Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any.For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"destinationObject\": {\n\t//       \"description\": \"Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"destinationPredefinedAcl\": {\n\t//       \"description\": \"Apply a predefined set of access controls to the destination object.\",\n\t//       \"enum\": [\n\t//         \"authenticatedRead\",\n\t//         \"bucketOwnerFullControl\",\n\t//         \"bucketOwnerRead\",\n\t//         \"private\",\n\t//         \"projectPrivate\",\n\t//         \"publicRead\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get READER access.\",\n\t//         \"Object owner gets OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team members get access according to their roles.\",\n\t//         \"Object owner gets OWNER access, and allUsers get READER access.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the destination object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the destination object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the destination object's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the destination object's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifSourceGenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the source object's current generation matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifSourceGenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the source object's current generation does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifSourceMetagenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the source object's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifSourceMetagenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the source object's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit the owner, acl property.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"sourceBucket\": {\n\t//       \"description\": \"Name of the bucket in which to find the source object.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"sourceGeneration\": {\n\t//       \"description\": \"If present, selects a specific revision of the source object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"sourceObject\": {\n\t//       \"description\": \"Name of the source object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{sourceBucket}/o/{sourceObject}/copyTo/b/{destinationBucket}/o/{destinationObject}\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Object\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"Object\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objects.delete\":\n\ntype ObjectsDeleteCall struct {\n\ts          *Service\n\tbucket     string\n\tobject     string\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// Delete: Deletes an object and its metadata. Deletions are permanent\n// if versioning is not enabled for the bucket, or if the generation\n// parameter is used.\nfunc (r *ObjectsService) Delete(bucket string, object string) *ObjectsDeleteCall {\n\tc := &ObjectsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// permanently deletes a specific revision of this object (as opposed to\n// the latest version, the default).\nfunc (c *ObjectsDeleteCall) Generation(generation int64) *ObjectsDeleteCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// IfGenerationMatch sets the optional parameter \"ifGenerationMatch\":\n// Makes the operation conditional on whether the object's current\n// generation matches the given value. Setting to 0 makes the operation\n// succeed only if there are no live versions of the object.\nfunc (c *ObjectsDeleteCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsDeleteCall {\n\tc.urlParams_.Set(\"ifGenerationMatch\", fmt.Sprint(ifGenerationMatch))\n\treturn c\n}\n\n// IfGenerationNotMatch sets the optional parameter\n// \"ifGenerationNotMatch\": Makes the operation conditional on whether\n// the object's current generation does not match the given value. If no\n// live object exists, the precondition fails. Setting to 0 makes the\n// operation succeed only if there is a live version of the object.\nfunc (c *ObjectsDeleteCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsDeleteCall {\n\tc.urlParams_.Set(\"ifGenerationNotMatch\", fmt.Sprint(ifGenerationNotMatch))\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": Makes the operation conditional on whether\n// the object's current metageneration matches the given value.\nfunc (c *ObjectsDeleteCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsDeleteCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationNotMatch sets the optional parameter\n// \"ifMetagenerationNotMatch\": Makes the operation conditional on\n// whether the object's current metageneration does not match the given\n// value.\nfunc (c *ObjectsDeleteCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsDeleteCall {\n\tc.urlParams_.Set(\"ifMetagenerationNotMatch\", fmt.Sprint(ifMetagenerationNotMatch))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectsDeleteCall) UserProject(userProject string) *ObjectsDeleteCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsDeleteCall) Fields(s ...googleapi.Field) *ObjectsDeleteCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectsDeleteCall) Context(ctx context.Context) *ObjectsDeleteCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsDeleteCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsDeleteCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"DELETE\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objects.delete\" call.\nfunc (c *ObjectsDeleteCall) Do(opts ...googleapi.CallOption) error {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n\t// {\n\t//   \"description\": \"Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for the bucket, or if the generation parameter is used.\",\n\t//   \"httpMethod\": \"DELETE\",\n\t//   \"id\": \"storage.objects.delete\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of the bucket in which the object resides.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, permanently deletes a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}\",\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objects.get\":\n\ntype ObjectsGetCall struct {\n\ts            *Service\n\tbucket       string\n\tobject       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// Get: Retrieves an object or its metadata.\nfunc (r *ObjectsService) Get(bucket string, object string) *ObjectsGetCall {\n\tc := &ObjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// selects a specific revision of this object (as opposed to the latest\n// version, the default).\nfunc (c *ObjectsGetCall) Generation(generation int64) *ObjectsGetCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// IfGenerationMatch sets the optional parameter \"ifGenerationMatch\":\n// Makes the operation conditional on whether the object's current\n// generation matches the given value. Setting to 0 makes the operation\n// succeed only if there are no live versions of the object.\nfunc (c *ObjectsGetCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsGetCall {\n\tc.urlParams_.Set(\"ifGenerationMatch\", fmt.Sprint(ifGenerationMatch))\n\treturn c\n}\n\n// IfGenerationNotMatch sets the optional parameter\n// \"ifGenerationNotMatch\": Makes the operation conditional on whether\n// the object's current generation does not match the given value. If no\n// live object exists, the precondition fails. Setting to 0 makes the\n// operation succeed only if there is a live version of the object.\nfunc (c *ObjectsGetCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsGetCall {\n\tc.urlParams_.Set(\"ifGenerationNotMatch\", fmt.Sprint(ifGenerationNotMatch))\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": Makes the operation conditional on whether\n// the object's current metageneration matches the given value.\nfunc (c *ObjectsGetCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsGetCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationNotMatch sets the optional parameter\n// \"ifMetagenerationNotMatch\": Makes the operation conditional on\n// whether the object's current metageneration does not match the given\n// value.\nfunc (c *ObjectsGetCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsGetCall {\n\tc.urlParams_.Set(\"ifMetagenerationNotMatch\", fmt.Sprint(ifMetagenerationNotMatch))\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to noAcl.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit the owner, acl property.\nfunc (c *ObjectsGetCall) Projection(projection string) *ObjectsGetCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectsGetCall) UserProject(userProject string) *ObjectsGetCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsGetCall) Fields(s ...googleapi.Field) *ObjectsGetCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *ObjectsGetCall) IfNoneMatch(entityTag string) *ObjectsGetCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do and Download\n// methods. Any pending HTTP request will be aborted if the provided\n// context is canceled.\nfunc (c *ObjectsGetCall) Context(ctx context.Context) *ObjectsGetCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsGetCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsGetCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Download fetches the API endpoint's \"media\" value, instead of the normal\n// API response value. If the returned error is nil, the Response is guaranteed to\n// have a 2xx status code. Callers must close the Response.Body as usual.\nfunc (c *ObjectsGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"media\")\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif err := googleapi.CheckMediaResponse(res); err != nil {\n\t\tres.Body.Close()\n\t\treturn nil, err\n\t}\n\treturn res, nil\n}\n\n// Do executes the \"storage.objects.get\" call.\n// Exactly one of *Object or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Object.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *ObjectsGetCall) Do(opts ...googleapi.CallOption) (*Object, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Object{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Retrieves an object or its metadata.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.objects.get\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of the bucket in which the object resides.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, selects a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to noAcl.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit the owner, acl property.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}\",\n\t//   \"response\": {\n\t//     \"$ref\": \"Object\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ],\n\t//   \"supportsMediaDownload\": true,\n\t//   \"useMediaDownloadService\": true\n\t// }\n\n}\n\n// method id \"storage.objects.getIamPolicy\":\n\ntype ObjectsGetIamPolicyCall struct {\n\ts            *Service\n\tbucket       string\n\tobject       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// GetIamPolicy: Returns an IAM policy for the specified object.\nfunc (r *ObjectsService) GetIamPolicy(bucket string, object string) *ObjectsGetIamPolicyCall {\n\tc := &ObjectsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// selects a specific revision of this object (as opposed to the latest\n// version, the default).\nfunc (c *ObjectsGetIamPolicyCall) Generation(generation int64) *ObjectsGetIamPolicyCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectsGetIamPolicyCall) UserProject(userProject string) *ObjectsGetIamPolicyCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsGetIamPolicyCall) Fields(s ...googleapi.Field) *ObjectsGetIamPolicyCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *ObjectsGetIamPolicyCall) IfNoneMatch(entityTag string) *ObjectsGetIamPolicyCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectsGetIamPolicyCall) Context(ctx context.Context) *ObjectsGetIamPolicyCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsGetIamPolicyCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}/iam\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objects.getIamPolicy\" call.\n// Exactly one of *Policy or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Policy.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *ObjectsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Policy{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Returns an IAM policy for the specified object.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.objects.getIamPolicy\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of the bucket in which the object resides.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, selects a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}/iam\",\n\t//   \"response\": {\n\t//     \"$ref\": \"Policy\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objects.insert\":\n\ntype ObjectsInsertCall struct {\n\ts          *Service\n\tbucket     string\n\tobject     *Object\n\turlParams_ gensupport.URLParams\n\tmediaInfo_ *gensupport.MediaInfo\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// Insert: Stores a new object and metadata.\nfunc (r *ObjectsService) Insert(bucket string, object *Object) *ObjectsInsertCall {\n\tc := &ObjectsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\treturn c\n}\n\n// ContentEncoding sets the optional parameter \"contentEncoding\": If\n// set, sets the contentEncoding property of the final object to this\n// value. Setting this parameter is equivalent to setting the\n// contentEncoding metadata property. This can be useful when uploading\n// an object with uploadType=media to indicate the encoding of the\n// content being uploaded.\nfunc (c *ObjectsInsertCall) ContentEncoding(contentEncoding string) *ObjectsInsertCall {\n\tc.urlParams_.Set(\"contentEncoding\", contentEncoding)\n\treturn c\n}\n\n// IfGenerationMatch sets the optional parameter \"ifGenerationMatch\":\n// Makes the operation conditional on whether the object's current\n// generation matches the given value. Setting to 0 makes the operation\n// succeed only if there are no live versions of the object.\nfunc (c *ObjectsInsertCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsInsertCall {\n\tc.urlParams_.Set(\"ifGenerationMatch\", fmt.Sprint(ifGenerationMatch))\n\treturn c\n}\n\n// IfGenerationNotMatch sets the optional parameter\n// \"ifGenerationNotMatch\": Makes the operation conditional on whether\n// the object's current generation does not match the given value. If no\n// live object exists, the precondition fails. Setting to 0 makes the\n// operation succeed only if there is a live version of the object.\nfunc (c *ObjectsInsertCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsInsertCall {\n\tc.urlParams_.Set(\"ifGenerationNotMatch\", fmt.Sprint(ifGenerationNotMatch))\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": Makes the operation conditional on whether\n// the object's current metageneration matches the given value.\nfunc (c *ObjectsInsertCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsInsertCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationNotMatch sets the optional parameter\n// \"ifMetagenerationNotMatch\": Makes the operation conditional on\n// whether the object's current metageneration does not match the given\n// value.\nfunc (c *ObjectsInsertCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsInsertCall {\n\tc.urlParams_.Set(\"ifMetagenerationNotMatch\", fmt.Sprint(ifMetagenerationNotMatch))\n\treturn c\n}\n\n// KmsKeyName sets the optional parameter \"kmsKeyName\": Resource name of\n// the Cloud KMS key, of the form\n// projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key,\n//  that will be used to encrypt the object. Overrides the object\n// metadata's kms_key_name value, if any. Limited availability; usable\n// only by enabled projects.\nfunc (c *ObjectsInsertCall) KmsKeyName(kmsKeyName string) *ObjectsInsertCall {\n\tc.urlParams_.Set(\"kmsKeyName\", kmsKeyName)\n\treturn c\n}\n\n// Name sets the optional parameter \"name\": Name of the object. Required\n// when the object metadata is not otherwise provided. Overrides the\n// object metadata's name value, if any. For information about how to\n// URL encode object names to be path safe, see Encoding URI Path Parts.\nfunc (c *ObjectsInsertCall) Name(name string) *ObjectsInsertCall {\n\tc.urlParams_.Set(\"name\", name)\n\treturn c\n}\n\n// PredefinedAcl sets the optional parameter \"predefinedAcl\": Apply a\n// predefined set of access controls to this object.\n//\n// Possible values:\n//   \"authenticatedRead\" - Object owner gets OWNER access, and\n// allAuthenticatedUsers get READER access.\n//   \"bucketOwnerFullControl\" - Object owner gets OWNER access, and\n// project team owners get OWNER access.\n//   \"bucketOwnerRead\" - Object owner gets OWNER access, and project\n// team owners get READER access.\n//   \"private\" - Object owner gets OWNER access.\n//   \"projectPrivate\" - Object owner gets OWNER access, and project team\n// members get access according to their roles.\n//   \"publicRead\" - Object owner gets OWNER access, and allUsers get\n// READER access.\nfunc (c *ObjectsInsertCall) PredefinedAcl(predefinedAcl string) *ObjectsInsertCall {\n\tc.urlParams_.Set(\"predefinedAcl\", predefinedAcl)\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to noAcl, unless the object resource\n// specifies the acl property, when it defaults to full.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit the owner, acl property.\nfunc (c *ObjectsInsertCall) Projection(projection string) *ObjectsInsertCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectsInsertCall) UserProject(userProject string) *ObjectsInsertCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Media specifies the media to upload in one or more chunks. The chunk\n// size may be controlled by supplying a MediaOption generated by\n// googleapi.ChunkSize. The chunk size defaults to\n// googleapi.DefaultUploadChunkSize.The Content-Type header used in the\n// upload request will be determined by sniffing the contents of r,\n// unless a MediaOption generated by googleapi.ContentType is\n// supplied.\n// At most one of Media and ResumableMedia may be set.\nfunc (c *ObjectsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *ObjectsInsertCall {\n\tif ct := c.object.ContentType; ct != \"\" {\n\t\toptions = append([]googleapi.MediaOption{googleapi.ContentType(ct)}, options...)\n\t}\n\tc.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)\n\treturn c\n}\n\n// ResumableMedia specifies the media to upload in chunks and can be\n// canceled with ctx.\n//\n// Deprecated: use Media instead.\n//\n// At most one of Media and ResumableMedia may be set. mediaType\n// identifies the MIME media type of the upload, such as \"image/png\". If\n// mediaType is \"\", it will be auto-detected. The provided ctx will\n// supersede any context previously provided to the Context method.\nfunc (c *ObjectsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ObjectsInsertCall {\n\tc.ctx_ = ctx\n\tc.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)\n\treturn c\n}\n\n// ProgressUpdater provides a callback function that will be called\n// after every chunk. It should be a low-latency function in order to\n// not slow down the upload operation. This should only be called when\n// using ResumableMedia (as opposed to Media).\nfunc (c *ObjectsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ObjectsInsertCall {\n\tc.mediaInfo_.SetProgressUpdater(pu)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsInsertCall) Fields(s ...googleapi.Field) *ObjectsInsertCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\n// This context will supersede any context previously provided to the\n// ResumableMedia method.\nfunc (c *ObjectsInsertCall) Context(ctx context.Context) *ObjectsInsertCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsInsertCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsInsertCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.object)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o\")\n\tif c.mediaInfo_ != nil {\n\t\turls = strings.Replace(urls, \"https://www.googleapis.com/\", \"https://www.googleapis.com/upload/\", 1)\n\t\tc.urlParams_.Set(\"uploadType\", c.mediaInfo_.UploadType())\n\t}\n\tif body == nil {\n\t\tbody = new(bytes.Buffer)\n\t\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\t}\n\tbody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)\n\tdefer cleanup()\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"POST\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objects.insert\" call.\n// Exactly one of *Object or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Object.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *ObjectsInsertCall) Do(opts ...googleapi.CallOption) (*Object, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\trx := c.mediaInfo_.ResumableUpload(res.Header.Get(\"Location\"))\n\tif rx != nil {\n\t\trx.Client = c.s.client\n\t\trx.UserAgent = c.s.userAgent()\n\t\tctx := c.ctx_\n\t\tif ctx == nil {\n\t\t\tctx = context.TODO()\n\t\t}\n\t\tres, err = rx.Upload(ctx)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tdefer res.Body.Close()\n\t\tif err := googleapi.CheckResponse(res); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tret := &Object{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Stores a new object and metadata.\",\n\t//   \"httpMethod\": \"POST\",\n\t//   \"id\": \"storage.objects.insert\",\n\t//   \"mediaUpload\": {\n\t//     \"accept\": [\n\t//       \"*/*\"\n\t//     ],\n\t//     \"protocols\": {\n\t//       \"resumable\": {\n\t//         \"multipart\": true,\n\t//         \"path\": \"/resumable/upload/storage/v1/b/{bucket}/o\"\n\t//       },\n\t//       \"simple\": {\n\t//         \"multipart\": true,\n\t//         \"path\": \"/upload/storage/v1/b/{bucket}/o\"\n\t//       }\n\t//     }\n\t//   },\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"contentEncoding\": {\n\t//       \"description\": \"If set, sets the contentEncoding property of the final object to this value. Setting this parameter is equivalent to setting the contentEncoding metadata property. This can be useful when uploading an object with uploadType=media to indicate the encoding of the content being uploaded.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"kmsKeyName\": {\n\t//       \"description\": \"Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any. Limited availability; usable only by enabled projects.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"name\": {\n\t//       \"description\": \"Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"predefinedAcl\": {\n\t//       \"description\": \"Apply a predefined set of access controls to this object.\",\n\t//       \"enum\": [\n\t//         \"authenticatedRead\",\n\t//         \"bucketOwnerFullControl\",\n\t//         \"bucketOwnerRead\",\n\t//         \"private\",\n\t//         \"projectPrivate\",\n\t//         \"publicRead\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get READER access.\",\n\t//         \"Object owner gets OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team members get access according to their roles.\",\n\t//         \"Object owner gets OWNER access, and allUsers get READER access.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit the owner, acl property.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Object\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"Object\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ],\n\t//   \"supportsMediaUpload\": true\n\t// }\n\n}\n\n// method id \"storage.objects.list\":\n\ntype ObjectsListCall struct {\n\ts            *Service\n\tbucket       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// List: Retrieves a list of objects matching the criteria.\nfunc (r *ObjectsService) List(bucket string) *ObjectsListCall {\n\tc := &ObjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\treturn c\n}\n\n// Delimiter sets the optional parameter \"delimiter\": Returns results in\n// a directory-like mode. items will contain only objects whose names,\n// aside from the prefix, do not contain delimiter. Objects whose names,\n// aside from the prefix, contain delimiter will have their name,\n// truncated after the delimiter, returned in prefixes. Duplicate\n// prefixes are omitted.\nfunc (c *ObjectsListCall) Delimiter(delimiter string) *ObjectsListCall {\n\tc.urlParams_.Set(\"delimiter\", delimiter)\n\treturn c\n}\n\n// MaxResults sets the optional parameter \"maxResults\": Maximum number\n// of items plus prefixes to return in a single page of responses. As\n// duplicate prefixes are omitted, fewer total results may be returned\n// than requested. The service will use this parameter or 1,000 items,\n// whichever is smaller.\nfunc (c *ObjectsListCall) MaxResults(maxResults int64) *ObjectsListCall {\n\tc.urlParams_.Set(\"maxResults\", fmt.Sprint(maxResults))\n\treturn c\n}\n\n// PageToken sets the optional parameter \"pageToken\": A\n// previously-returned page token representing part of the larger set of\n// results to view.\nfunc (c *ObjectsListCall) PageToken(pageToken string) *ObjectsListCall {\n\tc.urlParams_.Set(\"pageToken\", pageToken)\n\treturn c\n}\n\n// Prefix sets the optional parameter \"prefix\": Filter results to\n// objects whose names begin with this prefix.\nfunc (c *ObjectsListCall) Prefix(prefix string) *ObjectsListCall {\n\tc.urlParams_.Set(\"prefix\", prefix)\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to noAcl.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit the owner, acl property.\nfunc (c *ObjectsListCall) Projection(projection string) *ObjectsListCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectsListCall) UserProject(userProject string) *ObjectsListCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Versions sets the optional parameter \"versions\": If true, lists all\n// versions of an object as distinct results. The default is false. For\n// more information, see Object Versioning.\nfunc (c *ObjectsListCall) Versions(versions bool) *ObjectsListCall {\n\tc.urlParams_.Set(\"versions\", fmt.Sprint(versions))\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsListCall) Fields(s ...googleapi.Field) *ObjectsListCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *ObjectsListCall) IfNoneMatch(entityTag string) *ObjectsListCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectsListCall) Context(ctx context.Context) *ObjectsListCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsListCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsListCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objects.list\" call.\n// Exactly one of *Objects or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Objects.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *ObjectsListCall) Do(opts ...googleapi.CallOption) (*Objects, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Objects{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Retrieves a list of objects matching the criteria.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.objects.list\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of the bucket in which to look for objects.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"delimiter\": {\n\t//       \"description\": \"Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"maxResults\": {\n\t//       \"default\": \"1000\",\n\t//       \"description\": \"Maximum number of items plus prefixes to return in a single page of responses. As duplicate prefixes are omitted, fewer total results may be returned than requested. The service will use this parameter or 1,000 items, whichever is smaller.\",\n\t//       \"format\": \"uint32\",\n\t//       \"location\": \"query\",\n\t//       \"minimum\": \"0\",\n\t//       \"type\": \"integer\"\n\t//     },\n\t//     \"pageToken\": {\n\t//       \"description\": \"A previously-returned page token representing part of the larger set of results to view.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"prefix\": {\n\t//       \"description\": \"Filter results to objects whose names begin with this prefix.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to noAcl.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit the owner, acl property.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"versions\": {\n\t//       \"description\": \"If true, lists all versions of an object as distinct results. The default is false. For more information, see Object Versioning.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"boolean\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o\",\n\t//   \"response\": {\n\t//     \"$ref\": \"Objects\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ],\n\t//   \"supportsSubscription\": true\n\t// }\n\n}\n\n// Pages invokes f for each page of results.\n// A non-nil error returned from f will halt the iteration.\n// The provided context supersedes any context provided to the Context method.\nfunc (c *ObjectsListCall) Pages(ctx context.Context, f func(*Objects) error) error {\n\tc.ctx_ = ctx\n\tdefer c.PageToken(c.urlParams_.Get(\"pageToken\")) // reset paging to original point\n\tfor {\n\t\tx, err := c.Do()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err := f(x); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif x.NextPageToken == \"\" {\n\t\t\treturn nil\n\t\t}\n\t\tc.PageToken(x.NextPageToken)\n\t}\n}\n\n// method id \"storage.objects.patch\":\n\ntype ObjectsPatchCall struct {\n\ts          *Service\n\tbucket     string\n\tobject     string\n\tobject2    *Object\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// Patch: Patches an object's metadata.\nfunc (r *ObjectsService) Patch(bucket string, object string, object2 *Object) *ObjectsPatchCall {\n\tc := &ObjectsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\tc.object2 = object2\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// selects a specific revision of this object (as opposed to the latest\n// version, the default).\nfunc (c *ObjectsPatchCall) Generation(generation int64) *ObjectsPatchCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// IfGenerationMatch sets the optional parameter \"ifGenerationMatch\":\n// Makes the operation conditional on whether the object's current\n// generation matches the given value. Setting to 0 makes the operation\n// succeed only if there are no live versions of the object.\nfunc (c *ObjectsPatchCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsPatchCall {\n\tc.urlParams_.Set(\"ifGenerationMatch\", fmt.Sprint(ifGenerationMatch))\n\treturn c\n}\n\n// IfGenerationNotMatch sets the optional parameter\n// \"ifGenerationNotMatch\": Makes the operation conditional on whether\n// the object's current generation does not match the given value. If no\n// live object exists, the precondition fails. Setting to 0 makes the\n// operation succeed only if there is a live version of the object.\nfunc (c *ObjectsPatchCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsPatchCall {\n\tc.urlParams_.Set(\"ifGenerationNotMatch\", fmt.Sprint(ifGenerationNotMatch))\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": Makes the operation conditional on whether\n// the object's current metageneration matches the given value.\nfunc (c *ObjectsPatchCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsPatchCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationNotMatch sets the optional parameter\n// \"ifMetagenerationNotMatch\": Makes the operation conditional on\n// whether the object's current metageneration does not match the given\n// value.\nfunc (c *ObjectsPatchCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsPatchCall {\n\tc.urlParams_.Set(\"ifMetagenerationNotMatch\", fmt.Sprint(ifMetagenerationNotMatch))\n\treturn c\n}\n\n// PredefinedAcl sets the optional parameter \"predefinedAcl\": Apply a\n// predefined set of access controls to this object.\n//\n// Possible values:\n//   \"authenticatedRead\" - Object owner gets OWNER access, and\n// allAuthenticatedUsers get READER access.\n//   \"bucketOwnerFullControl\" - Object owner gets OWNER access, and\n// project team owners get OWNER access.\n//   \"bucketOwnerRead\" - Object owner gets OWNER access, and project\n// team owners get READER access.\n//   \"private\" - Object owner gets OWNER access.\n//   \"projectPrivate\" - Object owner gets OWNER access, and project team\n// members get access according to their roles.\n//   \"publicRead\" - Object owner gets OWNER access, and allUsers get\n// READER access.\nfunc (c *ObjectsPatchCall) PredefinedAcl(predefinedAcl string) *ObjectsPatchCall {\n\tc.urlParams_.Set(\"predefinedAcl\", predefinedAcl)\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to full.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit the owner, acl property.\nfunc (c *ObjectsPatchCall) Projection(projection string) *ObjectsPatchCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request, for Requester Pays buckets.\nfunc (c *ObjectsPatchCall) UserProject(userProject string) *ObjectsPatchCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsPatchCall) Fields(s ...googleapi.Field) *ObjectsPatchCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectsPatchCall) Context(ctx context.Context) *ObjectsPatchCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsPatchCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsPatchCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.object2)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"PATCH\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objects.patch\" call.\n// Exactly one of *Object or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Object.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *ObjectsPatchCall) Do(opts ...googleapi.CallOption) (*Object, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Object{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Patches an object's metadata.\",\n\t//   \"httpMethod\": \"PATCH\",\n\t//   \"id\": \"storage.objects.patch\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of the bucket in which the object resides.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, selects a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"predefinedAcl\": {\n\t//       \"description\": \"Apply a predefined set of access controls to this object.\",\n\t//       \"enum\": [\n\t//         \"authenticatedRead\",\n\t//         \"bucketOwnerFullControl\",\n\t//         \"bucketOwnerRead\",\n\t//         \"private\",\n\t//         \"projectPrivate\",\n\t//         \"publicRead\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get READER access.\",\n\t//         \"Object owner gets OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team members get access according to their roles.\",\n\t//         \"Object owner gets OWNER access, and allUsers get READER access.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to full.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit the owner, acl property.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request, for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Object\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"Object\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objects.rewrite\":\n\ntype ObjectsRewriteCall struct {\n\ts                 *Service\n\tsourceBucket      string\n\tsourceObject      string\n\tdestinationBucket string\n\tdestinationObject string\n\tobject            *Object\n\turlParams_        gensupport.URLParams\n\tctx_              context.Context\n\theader_           http.Header\n}\n\n// Rewrite: Rewrites a source object to a destination object. Optionally\n// overrides metadata.\nfunc (r *ObjectsService) Rewrite(sourceBucket string, sourceObject string, destinationBucket string, destinationObject string, object *Object) *ObjectsRewriteCall {\n\tc := &ObjectsRewriteCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.sourceBucket = sourceBucket\n\tc.sourceObject = sourceObject\n\tc.destinationBucket = destinationBucket\n\tc.destinationObject = destinationObject\n\tc.object = object\n\treturn c\n}\n\n// DestinationKmsKeyName sets the optional parameter\n// \"destinationKmsKeyName\": Resource name of the Cloud KMS key, of the\n// form\n// projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key,\n//  that will be used to encrypt the object. Overrides the object\n// metadata's kms_key_name value, if any.\nfunc (c *ObjectsRewriteCall) DestinationKmsKeyName(destinationKmsKeyName string) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"destinationKmsKeyName\", destinationKmsKeyName)\n\treturn c\n}\n\n// DestinationPredefinedAcl sets the optional parameter\n// \"destinationPredefinedAcl\": Apply a predefined set of access controls\n// to the destination object.\n//\n// Possible values:\n//   \"authenticatedRead\" - Object owner gets OWNER access, and\n// allAuthenticatedUsers get READER access.\n//   \"bucketOwnerFullControl\" - Object owner gets OWNER access, and\n// project team owners get OWNER access.\n//   \"bucketOwnerRead\" - Object owner gets OWNER access, and project\n// team owners get READER access.\n//   \"private\" - Object owner gets OWNER access.\n//   \"projectPrivate\" - Object owner gets OWNER access, and project team\n// members get access according to their roles.\n//   \"publicRead\" - Object owner gets OWNER access, and allUsers get\n// READER access.\nfunc (c *ObjectsRewriteCall) DestinationPredefinedAcl(destinationPredefinedAcl string) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"destinationPredefinedAcl\", destinationPredefinedAcl)\n\treturn c\n}\n\n// IfGenerationMatch sets the optional parameter \"ifGenerationMatch\":\n// Makes the operation conditional on whether the object's current\n// generation matches the given value. Setting to 0 makes the operation\n// succeed only if there are no live versions of the object.\nfunc (c *ObjectsRewriteCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"ifGenerationMatch\", fmt.Sprint(ifGenerationMatch))\n\treturn c\n}\n\n// IfGenerationNotMatch sets the optional parameter\n// \"ifGenerationNotMatch\": Makes the operation conditional on whether\n// the object's current generation does not match the given value. If no\n// live object exists, the precondition fails. Setting to 0 makes the\n// operation succeed only if there is a live version of the object.\nfunc (c *ObjectsRewriteCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"ifGenerationNotMatch\", fmt.Sprint(ifGenerationNotMatch))\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": Makes the operation conditional on whether\n// the destination object's current metageneration matches the given\n// value.\nfunc (c *ObjectsRewriteCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationNotMatch sets the optional parameter\n// \"ifMetagenerationNotMatch\": Makes the operation conditional on\n// whether the destination object's current metageneration does not\n// match the given value.\nfunc (c *ObjectsRewriteCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"ifMetagenerationNotMatch\", fmt.Sprint(ifMetagenerationNotMatch))\n\treturn c\n}\n\n// IfSourceGenerationMatch sets the optional parameter\n// \"ifSourceGenerationMatch\": Makes the operation conditional on whether\n// the source object's current generation matches the given value.\nfunc (c *ObjectsRewriteCall) IfSourceGenerationMatch(ifSourceGenerationMatch int64) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"ifSourceGenerationMatch\", fmt.Sprint(ifSourceGenerationMatch))\n\treturn c\n}\n\n// IfSourceGenerationNotMatch sets the optional parameter\n// \"ifSourceGenerationNotMatch\": Makes the operation conditional on\n// whether the source object's current generation does not match the\n// given value.\nfunc (c *ObjectsRewriteCall) IfSourceGenerationNotMatch(ifSourceGenerationNotMatch int64) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"ifSourceGenerationNotMatch\", fmt.Sprint(ifSourceGenerationNotMatch))\n\treturn c\n}\n\n// IfSourceMetagenerationMatch sets the optional parameter\n// \"ifSourceMetagenerationMatch\": Makes the operation conditional on\n// whether the source object's current metageneration matches the given\n// value.\nfunc (c *ObjectsRewriteCall) IfSourceMetagenerationMatch(ifSourceMetagenerationMatch int64) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"ifSourceMetagenerationMatch\", fmt.Sprint(ifSourceMetagenerationMatch))\n\treturn c\n}\n\n// IfSourceMetagenerationNotMatch sets the optional parameter\n// \"ifSourceMetagenerationNotMatch\": Makes the operation conditional on\n// whether the source object's current metageneration does not match the\n// given value.\nfunc (c *ObjectsRewriteCall) IfSourceMetagenerationNotMatch(ifSourceMetagenerationNotMatch int64) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"ifSourceMetagenerationNotMatch\", fmt.Sprint(ifSourceMetagenerationNotMatch))\n\treturn c\n}\n\n// MaxBytesRewrittenPerCall sets the optional parameter\n// \"maxBytesRewrittenPerCall\": The maximum number of bytes that will be\n// rewritten per rewrite request. Most callers shouldn't need to specify\n// this parameter - it is primarily in place to support testing. If\n// specified the value must be an integral multiple of 1 MiB (1048576).\n// Also, this only applies to requests where the source and destination\n// span locations and/or storage classes. Finally, this value must not\n// change across rewrite calls else you'll get an error that the\n// rewriteToken is invalid.\nfunc (c *ObjectsRewriteCall) MaxBytesRewrittenPerCall(maxBytesRewrittenPerCall int64) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"maxBytesRewrittenPerCall\", fmt.Sprint(maxBytesRewrittenPerCall))\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to noAcl, unless the object resource\n// specifies the acl property, when it defaults to full.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit the owner, acl property.\nfunc (c *ObjectsRewriteCall) Projection(projection string) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// RewriteToken sets the optional parameter \"rewriteToken\": Include this\n// field (from the previous rewrite response) on each rewrite request\n// after the first one, until the rewrite response 'done' flag is true.\n// Calls that provide a rewriteToken can omit all other request fields,\n// but if included those fields must match the values provided in the\n// first rewrite request.\nfunc (c *ObjectsRewriteCall) RewriteToken(rewriteToken string) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"rewriteToken\", rewriteToken)\n\treturn c\n}\n\n// SourceGeneration sets the optional parameter \"sourceGeneration\": If\n// present, selects a specific revision of the source object (as opposed\n// to the latest version, the default).\nfunc (c *ObjectsRewriteCall) SourceGeneration(sourceGeneration int64) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"sourceGeneration\", fmt.Sprint(sourceGeneration))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectsRewriteCall) UserProject(userProject string) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsRewriteCall) Fields(s ...googleapi.Field) *ObjectsRewriteCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectsRewriteCall) Context(ctx context.Context) *ObjectsRewriteCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsRewriteCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsRewriteCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.object)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{sourceBucket}/o/{sourceObject}/rewriteTo/b/{destinationBucket}/o/{destinationObject}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"POST\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"sourceBucket\":      c.sourceBucket,\n\t\t\"sourceObject\":      c.sourceObject,\n\t\t\"destinationBucket\": c.destinationBucket,\n\t\t\"destinationObject\": c.destinationObject,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objects.rewrite\" call.\n// Exactly one of *RewriteResponse or error will be non-nil. Any non-2xx\n// status code is an error. Response headers are in either\n// *RewriteResponse.ServerResponse.Header or (if a response was returned\n// at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *ObjectsRewriteCall) Do(opts ...googleapi.CallOption) (*RewriteResponse, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &RewriteResponse{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Rewrites a source object to a destination object. Optionally overrides metadata.\",\n\t//   \"httpMethod\": \"POST\",\n\t//   \"id\": \"storage.objects.rewrite\",\n\t//   \"parameterOrder\": [\n\t//     \"sourceBucket\",\n\t//     \"sourceObject\",\n\t//     \"destinationBucket\",\n\t//     \"destinationObject\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"destinationBucket\": {\n\t//       \"description\": \"Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"destinationKmsKeyName\": {\n\t//       \"description\": \"Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"destinationObject\": {\n\t//       \"description\": \"Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"destinationPredefinedAcl\": {\n\t//       \"description\": \"Apply a predefined set of access controls to the destination object.\",\n\t//       \"enum\": [\n\t//         \"authenticatedRead\",\n\t//         \"bucketOwnerFullControl\",\n\t//         \"bucketOwnerRead\",\n\t//         \"private\",\n\t//         \"projectPrivate\",\n\t//         \"publicRead\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get READER access.\",\n\t//         \"Object owner gets OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team members get access according to their roles.\",\n\t//         \"Object owner gets OWNER access, and allUsers get READER access.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the destination object's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the destination object's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifSourceGenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the source object's current generation matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifSourceGenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the source object's current generation does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifSourceMetagenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the source object's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifSourceMetagenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the source object's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"maxBytesRewrittenPerCall\": {\n\t//       \"description\": \"The maximum number of bytes that will be rewritten per rewrite request. Most callers shouldn't need to specify this parameter - it is primarily in place to support testing. If specified the value must be an integral multiple of 1 MiB (1048576). Also, this only applies to requests where the source and destination span locations and/or storage classes. Finally, this value must not change across rewrite calls else you'll get an error that the rewriteToken is invalid.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit the owner, acl property.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"rewriteToken\": {\n\t//       \"description\": \"Include this field (from the previous rewrite response) on each rewrite request after the first one, until the rewrite response 'done' flag is true. Calls that provide a rewriteToken can omit all other request fields, but if included those fields must match the values provided in the first rewrite request.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"sourceBucket\": {\n\t//       \"description\": \"Name of the bucket in which to find the source object.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"sourceGeneration\": {\n\t//       \"description\": \"If present, selects a specific revision of the source object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"sourceObject\": {\n\t//       \"description\": \"Name of the source object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{sourceBucket}/o/{sourceObject}/rewriteTo/b/{destinationBucket}/o/{destinationObject}\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Object\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"RewriteResponse\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objects.setIamPolicy\":\n\ntype ObjectsSetIamPolicyCall struct {\n\ts          *Service\n\tbucket     string\n\tobject     string\n\tpolicy     *Policy\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// SetIamPolicy: Updates an IAM policy for the specified object.\nfunc (r *ObjectsService) SetIamPolicy(bucket string, object string, policy *Policy) *ObjectsSetIamPolicyCall {\n\tc := &ObjectsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\tc.policy = policy\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// selects a specific revision of this object (as opposed to the latest\n// version, the default).\nfunc (c *ObjectsSetIamPolicyCall) Generation(generation int64) *ObjectsSetIamPolicyCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectsSetIamPolicyCall) UserProject(userProject string) *ObjectsSetIamPolicyCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsSetIamPolicyCall) Fields(s ...googleapi.Field) *ObjectsSetIamPolicyCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectsSetIamPolicyCall) Context(ctx context.Context) *ObjectsSetIamPolicyCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsSetIamPolicyCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.policy)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}/iam\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"PUT\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objects.setIamPolicy\" call.\n// Exactly one of *Policy or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Policy.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *ObjectsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Policy{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Updates an IAM policy for the specified object.\",\n\t//   \"httpMethod\": \"PUT\",\n\t//   \"id\": \"storage.objects.setIamPolicy\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of the bucket in which the object resides.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, selects a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}/iam\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Policy\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"Policy\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objects.testIamPermissions\":\n\ntype ObjectsTestIamPermissionsCall struct {\n\ts            *Service\n\tbucket       string\n\tobject       string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// TestIamPermissions: Tests a set of permissions on the given object to\n// see which, if any, are held by the caller.\nfunc (r *ObjectsService) TestIamPermissions(bucket string, object string, permissions []string) *ObjectsTestIamPermissionsCall {\n\tc := &ObjectsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\tc.urlParams_.SetMulti(\"permissions\", append([]string{}, permissions...))\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// selects a specific revision of this object (as opposed to the latest\n// version, the default).\nfunc (c *ObjectsTestIamPermissionsCall) Generation(generation int64) *ObjectsTestIamPermissionsCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectsTestIamPermissionsCall) UserProject(userProject string) *ObjectsTestIamPermissionsCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ObjectsTestIamPermissionsCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *ObjectsTestIamPermissionsCall) IfNoneMatch(entityTag string) *ObjectsTestIamPermissionsCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectsTestIamPermissionsCall) Context(ctx context.Context) *ObjectsTestIamPermissionsCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsTestIamPermissionsCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}/iam/testPermissions\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objects.testIamPermissions\" call.\n// Exactly one of *TestIamPermissionsResponse or error will be non-nil.\n// Any non-2xx status code is an error. Response headers are in either\n// *TestIamPermissionsResponse.ServerResponse.Header or (if a response\n// was returned at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *ObjectsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &TestIamPermissionsResponse{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Tests a set of permissions on the given object to see which, if any, are held by the caller.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.objects.testIamPermissions\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\",\n\t//     \"permissions\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of the bucket in which the object resides.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, selects a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"permissions\": {\n\t//       \"description\": \"Permissions to test.\",\n\t//       \"location\": \"query\",\n\t//       \"repeated\": true,\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}/iam/testPermissions\",\n\t//   \"response\": {\n\t//     \"$ref\": \"TestIamPermissionsResponse\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objects.update\":\n\ntype ObjectsUpdateCall struct {\n\ts          *Service\n\tbucket     string\n\tobject     string\n\tobject2    *Object\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// Update: Updates an object's metadata.\nfunc (r *ObjectsService) Update(bucket string, object string, object2 *Object) *ObjectsUpdateCall {\n\tc := &ObjectsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.object = object\n\tc.object2 = object2\n\treturn c\n}\n\n// Generation sets the optional parameter \"generation\": If present,\n// selects a specific revision of this object (as opposed to the latest\n// version, the default).\nfunc (c *ObjectsUpdateCall) Generation(generation int64) *ObjectsUpdateCall {\n\tc.urlParams_.Set(\"generation\", fmt.Sprint(generation))\n\treturn c\n}\n\n// IfGenerationMatch sets the optional parameter \"ifGenerationMatch\":\n// Makes the operation conditional on whether the object's current\n// generation matches the given value. Setting to 0 makes the operation\n// succeed only if there are no live versions of the object.\nfunc (c *ObjectsUpdateCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsUpdateCall {\n\tc.urlParams_.Set(\"ifGenerationMatch\", fmt.Sprint(ifGenerationMatch))\n\treturn c\n}\n\n// IfGenerationNotMatch sets the optional parameter\n// \"ifGenerationNotMatch\": Makes the operation conditional on whether\n// the object's current generation does not match the given value. If no\n// live object exists, the precondition fails. Setting to 0 makes the\n// operation succeed only if there is a live version of the object.\nfunc (c *ObjectsUpdateCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsUpdateCall {\n\tc.urlParams_.Set(\"ifGenerationNotMatch\", fmt.Sprint(ifGenerationNotMatch))\n\treturn c\n}\n\n// IfMetagenerationMatch sets the optional parameter\n// \"ifMetagenerationMatch\": Makes the operation conditional on whether\n// the object's current metageneration matches the given value.\nfunc (c *ObjectsUpdateCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsUpdateCall {\n\tc.urlParams_.Set(\"ifMetagenerationMatch\", fmt.Sprint(ifMetagenerationMatch))\n\treturn c\n}\n\n// IfMetagenerationNotMatch sets the optional parameter\n// \"ifMetagenerationNotMatch\": Makes the operation conditional on\n// whether the object's current metageneration does not match the given\n// value.\nfunc (c *ObjectsUpdateCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsUpdateCall {\n\tc.urlParams_.Set(\"ifMetagenerationNotMatch\", fmt.Sprint(ifMetagenerationNotMatch))\n\treturn c\n}\n\n// PredefinedAcl sets the optional parameter \"predefinedAcl\": Apply a\n// predefined set of access controls to this object.\n//\n// Possible values:\n//   \"authenticatedRead\" - Object owner gets OWNER access, and\n// allAuthenticatedUsers get READER access.\n//   \"bucketOwnerFullControl\" - Object owner gets OWNER access, and\n// project team owners get OWNER access.\n//   \"bucketOwnerRead\" - Object owner gets OWNER access, and project\n// team owners get READER access.\n//   \"private\" - Object owner gets OWNER access.\n//   \"projectPrivate\" - Object owner gets OWNER access, and project team\n// members get access according to their roles.\n//   \"publicRead\" - Object owner gets OWNER access, and allUsers get\n// READER access.\nfunc (c *ObjectsUpdateCall) PredefinedAcl(predefinedAcl string) *ObjectsUpdateCall {\n\tc.urlParams_.Set(\"predefinedAcl\", predefinedAcl)\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to full.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit the owner, acl property.\nfunc (c *ObjectsUpdateCall) Projection(projection string) *ObjectsUpdateCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectsUpdateCall) UserProject(userProject string) *ObjectsUpdateCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsUpdateCall) Fields(s ...googleapi.Field) *ObjectsUpdateCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectsUpdateCall) Context(ctx context.Context) *ObjectsUpdateCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsUpdateCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsUpdateCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.object2)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/{object}\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"PUT\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t\t\"object\": c.object,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objects.update\" call.\n// Exactly one of *Object or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Object.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *ObjectsUpdateCall) Do(opts ...googleapi.CallOption) (*Object, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Object{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Updates an object's metadata.\",\n\t//   \"httpMethod\": \"PUT\",\n\t//   \"id\": \"storage.objects.update\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\",\n\t//     \"object\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of the bucket in which the object resides.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"generation\": {\n\t//       \"description\": \"If present, selects a specific revision of this object (as opposed to the latest version, the default).\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifGenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current metageneration matches the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"ifMetagenerationNotMatch\": {\n\t//       \"description\": \"Makes the operation conditional on whether the object's current metageneration does not match the given value.\",\n\t//       \"format\": \"int64\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"object\": {\n\t//       \"description\": \"Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"predefinedAcl\": {\n\t//       \"description\": \"Apply a predefined set of access controls to this object.\",\n\t//       \"enum\": [\n\t//         \"authenticatedRead\",\n\t//         \"bucketOwnerFullControl\",\n\t//         \"bucketOwnerRead\",\n\t//         \"private\",\n\t//         \"projectPrivate\",\n\t//         \"publicRead\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Object owner gets OWNER access, and allAuthenticatedUsers get READER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team owners get READER access.\",\n\t//         \"Object owner gets OWNER access.\",\n\t//         \"Object owner gets OWNER access, and project team members get access according to their roles.\",\n\t//         \"Object owner gets OWNER access, and allUsers get READER access.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to full.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit the owner, acl property.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/{object}\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Object\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"Object\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\"\n\t//   ]\n\t// }\n\n}\n\n// method id \"storage.objects.watchAll\":\n\ntype ObjectsWatchAllCall struct {\n\ts          *Service\n\tbucket     string\n\tchannel    *Channel\n\turlParams_ gensupport.URLParams\n\tctx_       context.Context\n\theader_    http.Header\n}\n\n// WatchAll: Watch for changes on all objects in a bucket.\nfunc (r *ObjectsService) WatchAll(bucket string, channel *Channel) *ObjectsWatchAllCall {\n\tc := &ObjectsWatchAllCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.bucket = bucket\n\tc.channel = channel\n\treturn c\n}\n\n// Delimiter sets the optional parameter \"delimiter\": Returns results in\n// a directory-like mode. items will contain only objects whose names,\n// aside from the prefix, do not contain delimiter. Objects whose names,\n// aside from the prefix, contain delimiter will have their name,\n// truncated after the delimiter, returned in prefixes. Duplicate\n// prefixes are omitted.\nfunc (c *ObjectsWatchAllCall) Delimiter(delimiter string) *ObjectsWatchAllCall {\n\tc.urlParams_.Set(\"delimiter\", delimiter)\n\treturn c\n}\n\n// MaxResults sets the optional parameter \"maxResults\": Maximum number\n// of items plus prefixes to return in a single page of responses. As\n// duplicate prefixes are omitted, fewer total results may be returned\n// than requested. The service will use this parameter or 1,000 items,\n// whichever is smaller.\nfunc (c *ObjectsWatchAllCall) MaxResults(maxResults int64) *ObjectsWatchAllCall {\n\tc.urlParams_.Set(\"maxResults\", fmt.Sprint(maxResults))\n\treturn c\n}\n\n// PageToken sets the optional parameter \"pageToken\": A\n// previously-returned page token representing part of the larger set of\n// results to view.\nfunc (c *ObjectsWatchAllCall) PageToken(pageToken string) *ObjectsWatchAllCall {\n\tc.urlParams_.Set(\"pageToken\", pageToken)\n\treturn c\n}\n\n// Prefix sets the optional parameter \"prefix\": Filter results to\n// objects whose names begin with this prefix.\nfunc (c *ObjectsWatchAllCall) Prefix(prefix string) *ObjectsWatchAllCall {\n\tc.urlParams_.Set(\"prefix\", prefix)\n\treturn c\n}\n\n// Projection sets the optional parameter \"projection\": Set of\n// properties to return. Defaults to noAcl.\n//\n// Possible values:\n//   \"full\" - Include all properties.\n//   \"noAcl\" - Omit the owner, acl property.\nfunc (c *ObjectsWatchAllCall) Projection(projection string) *ObjectsWatchAllCall {\n\tc.urlParams_.Set(\"projection\", projection)\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request. Required for Requester Pays buckets.\nfunc (c *ObjectsWatchAllCall) UserProject(userProject string) *ObjectsWatchAllCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Versions sets the optional parameter \"versions\": If true, lists all\n// versions of an object as distinct results. The default is false. For\n// more information, see Object Versioning.\nfunc (c *ObjectsWatchAllCall) Versions(versions bool) *ObjectsWatchAllCall {\n\tc.urlParams_.Set(\"versions\", fmt.Sprint(versions))\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ObjectsWatchAllCall) Fields(s ...googleapi.Field) *ObjectsWatchAllCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ObjectsWatchAllCall) Context(ctx context.Context) *ObjectsWatchAllCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ObjectsWatchAllCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ObjectsWatchAllCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tvar body io.Reader = nil\n\tbody, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treqHeaders.Set(\"Content-Type\", \"application/json\")\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"b/{bucket}/o/watch\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"POST\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"bucket\": c.bucket,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.objects.watchAll\" call.\n// Exactly one of *Channel or error will be non-nil. Any non-2xx status\n// code is an error. Response headers are in either\n// *Channel.ServerResponse.Header or (if a response was returned at all)\n// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to\n// check whether the returned error was because http.StatusNotModified\n// was returned.\nfunc (c *ObjectsWatchAllCall) Do(opts ...googleapi.CallOption) (*Channel, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &Channel{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Watch for changes on all objects in a bucket.\",\n\t//   \"httpMethod\": \"POST\",\n\t//   \"id\": \"storage.objects.watchAll\",\n\t//   \"parameterOrder\": [\n\t//     \"bucket\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"bucket\": {\n\t//       \"description\": \"Name of the bucket in which to look for objects.\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"delimiter\": {\n\t//       \"description\": \"Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"maxResults\": {\n\t//       \"default\": \"1000\",\n\t//       \"description\": \"Maximum number of items plus prefixes to return in a single page of responses. As duplicate prefixes are omitted, fewer total results may be returned than requested. The service will use this parameter or 1,000 items, whichever is smaller.\",\n\t//       \"format\": \"uint32\",\n\t//       \"location\": \"query\",\n\t//       \"minimum\": \"0\",\n\t//       \"type\": \"integer\"\n\t//     },\n\t//     \"pageToken\": {\n\t//       \"description\": \"A previously-returned page token representing part of the larger set of results to view.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"prefix\": {\n\t//       \"description\": \"Filter results to objects whose names begin with this prefix.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"projection\": {\n\t//       \"description\": \"Set of properties to return. Defaults to noAcl.\",\n\t//       \"enum\": [\n\t//         \"full\",\n\t//         \"noAcl\"\n\t//       ],\n\t//       \"enumDescriptions\": [\n\t//         \"Include all properties.\",\n\t//         \"Omit the owner, acl property.\"\n\t//       ],\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request. Required for Requester Pays buckets.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"versions\": {\n\t//       \"description\": \"If true, lists all versions of an object as distinct results. The default is false. For more information, see Object Versioning.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"boolean\"\n\t//     }\n\t//   },\n\t//   \"path\": \"b/{bucket}/o/watch\",\n\t//   \"request\": {\n\t//     \"$ref\": \"Channel\",\n\t//     \"parameterName\": \"resource\"\n\t//   },\n\t//   \"response\": {\n\t//     \"$ref\": \"Channel\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ],\n\t//   \"supportsSubscription\": true\n\t// }\n\n}\n\n// method id \"storage.projects.serviceAccount.get\":\n\ntype ProjectsServiceAccountGetCall struct {\n\ts            *Service\n\tprojectId    string\n\turlParams_   gensupport.URLParams\n\tifNoneMatch_ string\n\tctx_         context.Context\n\theader_      http.Header\n}\n\n// Get: Get the email address of this project's Google Cloud Storage\n// service account.\nfunc (r *ProjectsServiceAccountService) Get(projectId string) *ProjectsServiceAccountGetCall {\n\tc := &ProjectsServiceAccountGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}\n\tc.projectId = projectId\n\treturn c\n}\n\n// UserProject sets the optional parameter \"userProject\": The project to\n// be billed for this request.\nfunc (c *ProjectsServiceAccountGetCall) UserProject(userProject string) *ProjectsServiceAccountGetCall {\n\tc.urlParams_.Set(\"userProject\", userProject)\n\treturn c\n}\n\n// Fields allows partial responses to be retrieved. See\n// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse\n// for more information.\nfunc (c *ProjectsServiceAccountGetCall) Fields(s ...googleapi.Field) *ProjectsServiceAccountGetCall {\n\tc.urlParams_.Set(\"fields\", googleapi.CombineFields(s))\n\treturn c\n}\n\n// IfNoneMatch sets the optional parameter which makes the operation\n// fail if the object's ETag matches the given value. This is useful for\n// getting updates only after the object has changed since the last\n// request. Use googleapi.IsNotModified to check whether the response\n// error from Do is the result of In-None-Match.\nfunc (c *ProjectsServiceAccountGetCall) IfNoneMatch(entityTag string) *ProjectsServiceAccountGetCall {\n\tc.ifNoneMatch_ = entityTag\n\treturn c\n}\n\n// Context sets the context to be used in this call's Do method. Any\n// pending HTTP request will be aborted if the provided context is\n// canceled.\nfunc (c *ProjectsServiceAccountGetCall) Context(ctx context.Context) *ProjectsServiceAccountGetCall {\n\tc.ctx_ = ctx\n\treturn c\n}\n\n// Header returns an http.Header that can be modified by the caller to\n// add HTTP headers to the request.\nfunc (c *ProjectsServiceAccountGetCall) Header() http.Header {\n\tif c.header_ == nil {\n\t\tc.header_ = make(http.Header)\n\t}\n\treturn c.header_\n}\n\nfunc (c *ProjectsServiceAccountGetCall) doRequest(alt string) (*http.Response, error) {\n\treqHeaders := make(http.Header)\n\tfor k, v := range c.header_ {\n\t\treqHeaders[k] = v\n\t}\n\treqHeaders.Set(\"User-Agent\", c.s.userAgent())\n\tif c.ifNoneMatch_ != \"\" {\n\t\treqHeaders.Set(\"If-None-Match\", c.ifNoneMatch_)\n\t}\n\tvar body io.Reader = nil\n\tc.urlParams_.Set(\"alt\", alt)\n\turls := googleapi.ResolveRelative(c.s.BasePath, \"projects/{projectId}/serviceAccount\")\n\turls += \"?\" + c.urlParams_.Encode()\n\treq, _ := http.NewRequest(\"GET\", urls, body)\n\treq.Header = reqHeaders\n\tgoogleapi.Expand(req.URL, map[string]string{\n\t\t\"projectId\": c.projectId,\n\t})\n\treturn gensupport.SendRequest(c.ctx_, c.s.client, req)\n}\n\n// Do executes the \"storage.projects.serviceAccount.get\" call.\n// Exactly one of *ServiceAccount or error will be non-nil. Any non-2xx\n// status code is an error. Response headers are in either\n// *ServiceAccount.ServerResponse.Header or (if a response was returned\n// at all) in error.(*googleapi.Error).Header. Use\n// googleapi.IsNotModified to check whether the returned error was\n// because http.StatusNotModified was returned.\nfunc (c *ProjectsServiceAccountGetCall) Do(opts ...googleapi.CallOption) (*ServiceAccount, error) {\n\tgensupport.SetOptions(c.urlParams_, opts...)\n\tres, err := c.doRequest(\"json\")\n\tif res != nil && res.StatusCode == http.StatusNotModified {\n\t\tif res.Body != nil {\n\t\t\tres.Body.Close()\n\t\t}\n\t\treturn nil, &googleapi.Error{\n\t\t\tCode:   res.StatusCode,\n\t\t\tHeader: res.Header,\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer googleapi.CloseBody(res)\n\tif err := googleapi.CheckResponse(res); err != nil {\n\t\treturn nil, err\n\t}\n\tret := &ServiceAccount{\n\t\tServerResponse: googleapi.ServerResponse{\n\t\t\tHeader:         res.Header,\n\t\t\tHTTPStatusCode: res.StatusCode,\n\t\t},\n\t}\n\ttarget := &ret\n\tif err := gensupport.DecodeResponse(target, res); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ret, nil\n\t// {\n\t//   \"description\": \"Get the email address of this project's Google Cloud Storage service account.\",\n\t//   \"httpMethod\": \"GET\",\n\t//   \"id\": \"storage.projects.serviceAccount.get\",\n\t//   \"parameterOrder\": [\n\t//     \"projectId\"\n\t//   ],\n\t//   \"parameters\": {\n\t//     \"projectId\": {\n\t//       \"description\": \"Project ID\",\n\t//       \"location\": \"path\",\n\t//       \"required\": true,\n\t//       \"type\": \"string\"\n\t//     },\n\t//     \"userProject\": {\n\t//       \"description\": \"The project to be billed for this request.\",\n\t//       \"location\": \"query\",\n\t//       \"type\": \"string\"\n\t//     }\n\t//   },\n\t//   \"path\": \"projects/{projectId}/serviceAccount\",\n\t//   \"response\": {\n\t//     \"$ref\": \"ServiceAccount\"\n\t//   },\n\t//   \"scopes\": [\n\t//     \"https://www.googleapis.com/auth/cloud-platform\",\n\t//     \"https://www.googleapis.com/auth/cloud-platform.read-only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.full_control\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_only\",\n\t//     \"https://www.googleapis.com/auth/devstorage.read_write\"\n\t//   ]\n\t// }\n\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/transport/dial.go",
    "content": "// Copyright 2015 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// Package transport supports network connections to HTTP and GRPC servers.\n// This package is not intended for use by end developers. Use the\n// google.golang.org/api/option package to configure API clients.\npackage transport\n\nimport (\n\t\"net/http\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/oauth2/google\"\n\t\"google.golang.org/grpc\"\n\n\t\"google.golang.org/api/internal\"\n\t\"google.golang.org/api/option\"\n\tgtransport \"google.golang.org/api/transport/grpc\"\n\thtransport \"google.golang.org/api/transport/http\"\n)\n\n// NewHTTPClient returns an HTTP client for use communicating with a Google cloud\n// service, configured with the given ClientOptions. It also returns the endpoint\n// for the service as specified in the options.\nfunc NewHTTPClient(ctx context.Context, opts ...option.ClientOption) (*http.Client, string, error) {\n\treturn htransport.NewClient(ctx, opts...)\n}\n\n// DialGRPC returns a GRPC connection for use communicating with a Google cloud\n// service, configured with the given ClientOptions.\nfunc DialGRPC(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error) {\n\treturn gtransport.Dial(ctx, opts...)\n}\n\n// DialGRPCInsecure returns an insecure GRPC connection for use communicating\n// with fake or mock Google cloud service implementations, such as emulators.\n// The connection is configured with the given ClientOptions.\nfunc DialGRPCInsecure(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error) {\n\treturn gtransport.DialInsecure(ctx, opts...)\n}\n\n// Creds constructs a google.DefaultCredentials from the information in the options,\n// or obtains the default credentials in the same way as google.FindDefaultCredentials.\nfunc Creds(ctx context.Context, opts ...option.ClientOption) (*google.DefaultCredentials, error) {\n\tvar ds internal.DialSettings\n\tfor _, opt := range opts {\n\t\topt.Apply(&ds)\n\t}\n\treturn internal.Creds(ctx, &ds)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/transport/http/dial.go",
    "content": "// Copyright 2015 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// Package transport/http supports network connections to HTTP servers.\n// This package is not intended for use by end developers. Use the\n// google.golang.org/api/option package to configure API clients.\npackage http\n\nimport (\n\t\"errors\"\n\t\"net/http\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/oauth2\"\n\t\"google.golang.org/api/googleapi/transport\"\n\t\"google.golang.org/api/internal\"\n\t\"google.golang.org/api/option\"\n)\n\n// NewClient returns an HTTP client for use communicating with a Google cloud\n// service, configured with the given ClientOptions. It also returns the endpoint\n// for the service as specified in the options.\nfunc NewClient(ctx context.Context, opts ...option.ClientOption) (*http.Client, string, error) {\n\tvar o internal.DialSettings\n\tfor _, opt := range opts {\n\t\topt.Apply(&o)\n\t}\n\tif err := o.Validate(); err != nil {\n\t\treturn nil, \"\", err\n\t}\n\tif o.GRPCConn != nil {\n\t\treturn nil, \"\", errors.New(\"unsupported gRPC connection specified\")\n\t}\n\t// TODO(cbro): consider injecting the User-Agent even if an explicit HTTP client is provided?\n\tif o.HTTPClient != nil {\n\t\treturn o.HTTPClient, o.Endpoint, nil\n\t}\n\tuat := userAgentTransport{\n\t\tbase:      baseTransport(ctx),\n\t\tuserAgent: o.UserAgent,\n\t}\n\tvar hc *http.Client\n\tswitch {\n\tcase o.NoAuth:\n\t\thc = &http.Client{Transport: uat}\n\tcase o.APIKey != \"\":\n\t\thc = &http.Client{\n\t\t\tTransport: &transport.APIKey{\n\t\t\t\tKey:       o.APIKey,\n\t\t\t\tTransport: uat,\n\t\t\t},\n\t\t}\n\tdefault:\n\t\tcreds, err := internal.Creds(ctx, &o)\n\t\tif err != nil {\n\t\t\treturn nil, \"\", err\n\t\t}\n\t\thc = &http.Client{\n\t\t\tTransport: &oauth2.Transport{\n\t\t\t\tSource: creds.TokenSource,\n\t\t\t\tBase:   uat,\n\t\t\t},\n\t\t}\n\t}\n\treturn hc, o.Endpoint, nil\n}\n\ntype userAgentTransport struct {\n\tuserAgent string\n\tbase      http.RoundTripper\n}\n\nfunc (t userAgentTransport) RoundTrip(req *http.Request) (*http.Response, error) {\n\trt := t.base\n\tif rt == nil {\n\t\treturn nil, errors.New(\"transport: no Transport specified\")\n\t}\n\tif t.userAgent == \"\" {\n\t\treturn rt.RoundTrip(req)\n\t}\n\tnewReq := *req\n\tnewReq.Header = make(http.Header)\n\tfor k, vv := range req.Header {\n\t\tnewReq.Header[k] = vv\n\t}\n\t// TODO(cbro): append to existing User-Agent header?\n\tnewReq.Header[\"User-Agent\"] = []string{t.userAgent}\n\treturn rt.RoundTrip(&newReq)\n}\n\n// Set at init time by dial_appengine.go. If nil, we're not on App Engine.\nvar appengineUrlfetchHook func(context.Context) http.RoundTripper\n\n// baseTransport returns the base HTTP transport.\n// On App Engine, this is urlfetch.Transport, otherwise it's http.DefaultTransport.\nfunc baseTransport(ctx context.Context) http.RoundTripper {\n\tif appengineUrlfetchHook != nil {\n\t\treturn appengineUrlfetchHook(ctx)\n\t}\n\treturn http.DefaultTransport\n}\n"
  },
  {
    "path": "vendor/google.golang.org/api/transport/http/dial_appengine.go",
    "content": "// Copyright 2016 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// +build appengine\n\npackage http\n\nimport (\n\t\"net/http\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/appengine/urlfetch\"\n)\n\nfunc init() {\n\tappengineUrlfetchHook = func(ctx context.Context) http.RoundTripper {\n\t\treturn &urlfetch.Transport{Context: ctx}\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/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": "vendor/google.golang.org/appengine/appengine.go",
    "content": "// Copyright 2011 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\n// Package appengine provides basic functionality for Google App Engine.\n//\n// For more information on how to write Go apps for Google App Engine, see:\n// https://cloud.google.com/appengine/docs/go/\npackage appengine // import \"google.golang.org/appengine\"\n\nimport (\n\t\"net/http\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"golang.org/x/net/context\"\n\n\t\"google.golang.org/appengine/internal\"\n)\n\n// The gophers party all night; the rabbits provide the beats.\n\n// Main is the principal entry point for an app running in App Engine.\n//\n// On App Engine Flexible it installs a trivial health checker if one isn't\n// already registered, and starts listening on port 8080 (overridden by the\n// $PORT environment variable).\n//\n// See https://cloud.google.com/appengine/docs/flexible/custom-runtimes#health_check_requests\n// for details on how to do your own health checking.\n//\n// Main is not yet supported on App Engine Standard.\n//\n// Main never returns.\n//\n// Main is designed so that the app's main package looks like this:\n//\n//      package main\n//\n//      import (\n//              \"google.golang.org/appengine\"\n//\n//              _ \"myapp/package0\"\n//              _ \"myapp/package1\"\n//      )\n//\n//      func main() {\n//              appengine.Main()\n//      }\n//\n// The \"myapp/packageX\" packages are expected to register HTTP handlers\n// in their init functions.\nfunc Main() {\n\tinternal.Main()\n}\n\n// IsDevAppServer reports whether the App Engine app is running in the\n// development App Server.\nfunc IsDevAppServer() bool {\n\treturn internal.IsDevAppServer()\n}\n\n// NewContext returns a context for an in-flight HTTP request.\n// This function is cheap.\nfunc NewContext(req *http.Request) context.Context {\n\treturn WithContext(context.Background(), req)\n}\n\n// WithContext returns a copy of the parent context\n// and associates it with an in-flight HTTP request.\n// This function is cheap.\nfunc WithContext(parent context.Context, req *http.Request) context.Context {\n\treturn internal.WithContext(parent, req)\n}\n\n// TODO(dsymonds): Add a Call function here? Otherwise other packages can't access internal.Call.\n\n// BlobKey is a key for a blobstore blob.\n//\n// Conceptually, this type belongs in the blobstore package, but it lives in\n// the appengine package to avoid a circular dependency: blobstore depends on\n// datastore, and datastore needs to refer to the BlobKey type.\ntype BlobKey string\n\n// GeoPoint represents a location as latitude/longitude in degrees.\ntype GeoPoint struct {\n\tLat, Lng float64\n}\n\n// Valid returns whether a GeoPoint is within [-90, 90] latitude and [-180, 180] longitude.\nfunc (g GeoPoint) Valid() bool {\n\treturn -90 <= g.Lat && g.Lat <= 90 && -180 <= g.Lng && g.Lng <= 180\n}\n\n// APICallFunc defines a function type for handling an API call.\n// See WithCallOverride.\ntype APICallFunc func(ctx context.Context, service, method string, in, out proto.Message) error\n\n// WithAPICallFunc returns a copy of the parent context\n// that will cause API calls to invoke f instead of their normal operation.\n//\n// This is intended for advanced users only.\nfunc WithAPICallFunc(ctx context.Context, f APICallFunc) context.Context {\n\treturn internal.WithCallOverride(ctx, internal.CallOverrideFunc(f))\n}\n\n// APICall performs an API call.\n//\n// This is not intended for general use; it is exported for use in conjunction\n// with WithAPICallFunc.\nfunc APICall(ctx context.Context, service, method string, in, out proto.Message) error {\n\treturn internal.Call(ctx, service, method, in, out)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/appengine_vm.go",
    "content": "// Copyright 2015 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\n// +build !appengine\n\npackage appengine\n\nimport (\n\t\"golang.org/x/net/context\"\n\n\t\"google.golang.org/appengine/internal\"\n)\n\n// BackgroundContext returns a context not associated with a request.\n// This should only be used when not servicing a request.\n// This only works in App Engine \"flexible environment\".\nfunc BackgroundContext() context.Context {\n\treturn internal.BackgroundContext()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/errors.go",
    "content": "// Copyright 2011 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\n// This file provides error functions for common API failure modes.\n\npackage appengine\n\nimport (\n\t\"fmt\"\n\n\t\"google.golang.org/appengine/internal\"\n)\n\n// IsOverQuota reports whether err represents an API call failure\n// due to insufficient available quota.\nfunc IsOverQuota(err error) bool {\n\tcallErr, ok := err.(*internal.CallError)\n\treturn ok && callErr.Code == 4\n}\n\n// MultiError is returned by batch operations when there are errors with\n// particular elements. Errors will be in a one-to-one correspondence with\n// the input elements; successful elements will have a nil entry.\ntype MultiError []error\n\nfunc (m MultiError) Error() string {\n\ts, n := \"\", 0\n\tfor _, e := range m {\n\t\tif e != nil {\n\t\t\tif n == 0 {\n\t\t\t\ts = e.Error()\n\t\t\t}\n\t\t\tn++\n\t\t}\n\t}\n\tswitch n {\n\tcase 0:\n\t\treturn \"(0 errors)\"\n\tcase 1:\n\t\treturn s\n\tcase 2:\n\t\treturn s + \" (and 1 other error)\"\n\t}\n\treturn fmt.Sprintf(\"%s (and %d other errors)\", s, n-1)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/identity.go",
    "content": "// Copyright 2011 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\npackage appengine\n\nimport (\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\n\t\"google.golang.org/appengine/internal\"\n\tpb \"google.golang.org/appengine/internal/app_identity\"\n\tmodpb \"google.golang.org/appengine/internal/modules\"\n)\n\n// AppID returns the application ID for the current application.\n// The string will be a plain application ID (e.g. \"appid\"), with a\n// domain prefix for custom domain deployments (e.g. \"example.com:appid\").\nfunc AppID(c context.Context) string { return internal.AppID(c) }\n\n// DefaultVersionHostname returns the standard hostname of the default version\n// of the current application (e.g. \"my-app.appspot.com\"). This is suitable for\n// use in constructing URLs.\nfunc DefaultVersionHostname(c context.Context) string {\n\treturn internal.DefaultVersionHostname(c)\n}\n\n// ModuleName returns the module name of the current instance.\nfunc ModuleName(c context.Context) string {\n\treturn internal.ModuleName(c)\n}\n\n// ModuleHostname returns a hostname of a module instance.\n// If module is the empty string, it refers to the module of the current instance.\n// If version is empty, it refers to the version of the current instance if valid,\n// or the default version of the module of the current instance.\n// If instance is empty, ModuleHostname returns the load-balancing hostname.\nfunc ModuleHostname(c context.Context, module, version, instance string) (string, error) {\n\treq := &modpb.GetHostnameRequest{}\n\tif module != \"\" {\n\t\treq.Module = &module\n\t}\n\tif version != \"\" {\n\t\treq.Version = &version\n\t}\n\tif instance != \"\" {\n\t\treq.Instance = &instance\n\t}\n\tres := &modpb.GetHostnameResponse{}\n\tif err := internal.Call(c, \"modules\", \"GetHostname\", req, res); err != nil {\n\t\treturn \"\", err\n\t}\n\treturn *res.Hostname, nil\n}\n\n// VersionID returns the version ID for the current application.\n// It will be of the form \"X.Y\", where X is specified in app.yaml,\n// and Y is a number generated when each version of the app is uploaded.\n// It does not include a module name.\nfunc VersionID(c context.Context) string { return internal.VersionID(c) }\n\n// InstanceID returns a mostly-unique identifier for this instance.\nfunc InstanceID() string { return internal.InstanceID() }\n\n// Datacenter returns an identifier for the datacenter that the instance is running in.\nfunc Datacenter(c context.Context) string { return internal.Datacenter(c) }\n\n// ServerSoftware returns the App Engine release version.\n// In production, it looks like \"Google App Engine/X.Y.Z\".\n// In the development appserver, it looks like \"Development/X.Y\".\nfunc ServerSoftware() string { return internal.ServerSoftware() }\n\n// RequestID returns a string that uniquely identifies the request.\nfunc RequestID(c context.Context) string { return internal.RequestID(c) }\n\n// AccessToken generates an OAuth2 access token for the specified scopes on\n// behalf of service account of this application. This token will expire after\n// the returned time.\nfunc AccessToken(c context.Context, scopes ...string) (token string, expiry time.Time, err error) {\n\treq := &pb.GetAccessTokenRequest{Scope: scopes}\n\tres := &pb.GetAccessTokenResponse{}\n\n\terr = internal.Call(c, \"app_identity_service\", \"GetAccessToken\", req, res)\n\tif err != nil {\n\t\treturn \"\", time.Time{}, err\n\t}\n\treturn res.GetAccessToken(), time.Unix(res.GetExpirationTime(), 0), nil\n}\n\n// Certificate represents a public certificate for the app.\ntype Certificate struct {\n\tKeyName string\n\tData    []byte // PEM-encoded X.509 certificate\n}\n\n// PublicCertificates retrieves the public certificates for the app.\n// They can be used to verify a signature returned by SignBytes.\nfunc PublicCertificates(c context.Context) ([]Certificate, error) {\n\treq := &pb.GetPublicCertificateForAppRequest{}\n\tres := &pb.GetPublicCertificateForAppResponse{}\n\tif err := internal.Call(c, \"app_identity_service\", \"GetPublicCertificatesForApp\", req, res); err != nil {\n\t\treturn nil, err\n\t}\n\tvar cs []Certificate\n\tfor _, pc := range res.PublicCertificateList {\n\t\tcs = append(cs, Certificate{\n\t\t\tKeyName: pc.GetKeyName(),\n\t\t\tData:    []byte(pc.GetX509CertificatePem()),\n\t\t})\n\t}\n\treturn cs, nil\n}\n\n// ServiceAccount returns a string representing the service account name, in\n// the form of an email address (typically app_id@appspot.gserviceaccount.com).\nfunc ServiceAccount(c context.Context) (string, error) {\n\treq := &pb.GetServiceAccountNameRequest{}\n\tres := &pb.GetServiceAccountNameResponse{}\n\n\terr := internal.Call(c, \"app_identity_service\", \"GetServiceAccountName\", req, res)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn res.GetServiceAccountName(), err\n}\n\n// SignBytes signs bytes using a private key unique to your application.\nfunc SignBytes(c context.Context, bytes []byte) (keyName string, signature []byte, err error) {\n\treq := &pb.SignForAppRequest{BytesToSign: bytes}\n\tres := &pb.SignForAppResponse{}\n\n\tif err := internal.Call(c, \"app_identity_service\", \"SignForApp\", req, res); err != nil {\n\t\treturn \"\", nil, err\n\t}\n\treturn res.GetKeyName(), res.GetSignatureBytes(), nil\n}\n\nfunc init() {\n\tinternal.RegisterErrorCodeMap(\"app_identity_service\", pb.AppIdentityServiceError_ErrorCode_name)\n\tinternal.RegisterErrorCodeMap(\"modules\", modpb.ModulesServiceError_ErrorCode_name)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/api.go",
    "content": "// Copyright 2011 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\n// +build !appengine\n\npackage internal\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"os\"\n\t\"runtime\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"github.com/golang/protobuf/proto\"\n\tnetcontext \"golang.org/x/net/context\"\n\n\tbasepb \"google.golang.org/appengine/internal/base\"\n\tlogpb \"google.golang.org/appengine/internal/log\"\n\tremotepb \"google.golang.org/appengine/internal/remote_api\"\n)\n\nconst (\n\tapiPath = \"/rpc_http\"\n)\n\nvar (\n\t// Incoming headers.\n\tticketHeader       = http.CanonicalHeaderKey(\"X-AppEngine-API-Ticket\")\n\tdapperHeader       = http.CanonicalHeaderKey(\"X-Google-DapperTraceInfo\")\n\ttraceHeader        = http.CanonicalHeaderKey(\"X-Cloud-Trace-Context\")\n\tcurNamespaceHeader = http.CanonicalHeaderKey(\"X-AppEngine-Current-Namespace\")\n\tuserIPHeader       = http.CanonicalHeaderKey(\"X-AppEngine-User-IP\")\n\tremoteAddrHeader   = http.CanonicalHeaderKey(\"X-AppEngine-Remote-Addr\")\n\n\t// Outgoing headers.\n\tapiEndpointHeader      = http.CanonicalHeaderKey(\"X-Google-RPC-Service-Endpoint\")\n\tapiEndpointHeaderValue = []string{\"app-engine-apis\"}\n\tapiMethodHeader        = http.CanonicalHeaderKey(\"X-Google-RPC-Service-Method\")\n\tapiMethodHeaderValue   = []string{\"/VMRemoteAPI.CallRemoteAPI\"}\n\tapiDeadlineHeader      = http.CanonicalHeaderKey(\"X-Google-RPC-Service-Deadline\")\n\tapiContentType         = http.CanonicalHeaderKey(\"Content-Type\")\n\tapiContentTypeValue    = []string{\"application/octet-stream\"}\n\tlogFlushHeader         = http.CanonicalHeaderKey(\"X-AppEngine-Log-Flush-Count\")\n\n\tapiHTTPClient = &http.Client{\n\t\tTransport: &http.Transport{\n\t\t\tProxy: http.ProxyFromEnvironment,\n\t\t\tDial:  limitDial,\n\t\t},\n\t}\n)\n\nfunc apiURL() *url.URL {\n\thost, port := \"appengine.googleapis.internal\", \"10001\"\n\tif h := os.Getenv(\"API_HOST\"); h != \"\" {\n\t\thost = h\n\t}\n\tif p := os.Getenv(\"API_PORT\"); p != \"\" {\n\t\tport = p\n\t}\n\treturn &url.URL{\n\t\tScheme: \"http\",\n\t\tHost:   host + \":\" + port,\n\t\tPath:   apiPath,\n\t}\n}\n\nfunc handleHTTP(w http.ResponseWriter, r *http.Request) {\n\tc := &context{\n\t\treq:       r,\n\t\toutHeader: w.Header(),\n\t\tapiURL:    apiURL(),\n\t}\n\tstopFlushing := make(chan int)\n\n\tctxs.Lock()\n\tctxs.m[r] = c\n\tctxs.Unlock()\n\tdefer func() {\n\t\tctxs.Lock()\n\t\tdelete(ctxs.m, r)\n\t\tctxs.Unlock()\n\t}()\n\n\t// Patch up RemoteAddr so it looks reasonable.\n\tif addr := r.Header.Get(userIPHeader); addr != \"\" {\n\t\tr.RemoteAddr = addr\n\t} else if addr = r.Header.Get(remoteAddrHeader); addr != \"\" {\n\t\tr.RemoteAddr = addr\n\t} else {\n\t\t// Should not normally reach here, but pick a sensible default anyway.\n\t\tr.RemoteAddr = \"127.0.0.1\"\n\t}\n\t// The address in the headers will most likely be of these forms:\n\t//\t123.123.123.123\n\t//\t2001:db8::1\n\t// net/http.Request.RemoteAddr is specified to be in \"IP:port\" form.\n\tif _, _, err := net.SplitHostPort(r.RemoteAddr); err != nil {\n\t\t// Assume the remote address is only a host; add a default port.\n\t\tr.RemoteAddr = net.JoinHostPort(r.RemoteAddr, \"80\")\n\t}\n\n\t// Start goroutine responsible for flushing app logs.\n\t// This is done after adding c to ctx.m (and stopped before removing it)\n\t// because flushing logs requires making an API call.\n\tgo c.logFlusher(stopFlushing)\n\n\texecuteRequestSafely(c, r)\n\tc.outHeader = nil // make sure header changes aren't respected any more\n\n\tstopFlushing <- 1 // any logging beyond this point will be dropped\n\n\t// Flush any pending logs asynchronously.\n\tc.pendingLogs.Lock()\n\tflushes := c.pendingLogs.flushes\n\tif len(c.pendingLogs.lines) > 0 {\n\t\tflushes++\n\t}\n\tc.pendingLogs.Unlock()\n\tgo c.flushLog(false)\n\tw.Header().Set(logFlushHeader, strconv.Itoa(flushes))\n\n\t// Avoid nil Write call if c.Write is never called.\n\tif c.outCode != 0 {\n\t\tw.WriteHeader(c.outCode)\n\t}\n\tif c.outBody != nil {\n\t\tw.Write(c.outBody)\n\t}\n}\n\nfunc executeRequestSafely(c *context, r *http.Request) {\n\tdefer func() {\n\t\tif x := recover(); x != nil {\n\t\t\tlogf(c, 4, \"%s\", renderPanic(x)) // 4 == critical\n\t\t\tc.outCode = 500\n\t\t}\n\t}()\n\n\thttp.DefaultServeMux.ServeHTTP(c, r)\n}\n\nfunc renderPanic(x interface{}) string {\n\tbuf := make([]byte, 16<<10) // 16 KB should be plenty\n\tbuf = buf[:runtime.Stack(buf, false)]\n\n\t// Remove the first few stack frames:\n\t//   this func\n\t//   the recover closure in the caller\n\t// That will root the stack trace at the site of the panic.\n\tconst (\n\t\tskipStart  = \"internal.renderPanic\"\n\t\tskipFrames = 2\n\t)\n\tstart := bytes.Index(buf, []byte(skipStart))\n\tp := start\n\tfor i := 0; i < skipFrames*2 && p+1 < len(buf); i++ {\n\t\tp = bytes.IndexByte(buf[p+1:], '\\n') + p + 1\n\t\tif p < 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\tif p >= 0 {\n\t\t// buf[start:p+1] is the block to remove.\n\t\t// Copy buf[p+1:] over buf[start:] and shrink buf.\n\t\tcopy(buf[start:], buf[p+1:])\n\t\tbuf = buf[:len(buf)-(p+1-start)]\n\t}\n\n\t// Add panic heading.\n\thead := fmt.Sprintf(\"panic: %v\\n\\n\", x)\n\tif len(head) > len(buf) {\n\t\t// Extremely unlikely to happen.\n\t\treturn head\n\t}\n\tcopy(buf[len(head):], buf)\n\tcopy(buf, head)\n\n\treturn string(buf)\n}\n\nvar ctxs = struct {\n\tsync.Mutex\n\tm  map[*http.Request]*context\n\tbg *context // background context, lazily initialized\n\t// dec is used by tests to decorate the netcontext.Context returned\n\t// for a given request. This allows tests to add overrides (such as\n\t// WithAppIDOverride) to the context. The map is nil outside tests.\n\tdec map[*http.Request]func(netcontext.Context) netcontext.Context\n}{\n\tm: make(map[*http.Request]*context),\n}\n\n// context represents the context of an in-flight HTTP request.\n// It implements the appengine.Context and http.ResponseWriter interfaces.\ntype context struct {\n\treq *http.Request\n\n\toutCode   int\n\toutHeader http.Header\n\toutBody   []byte\n\n\tpendingLogs struct {\n\t\tsync.Mutex\n\t\tlines   []*logpb.UserAppLogLine\n\t\tflushes int\n\t}\n\n\tapiURL *url.URL\n}\n\nvar contextKey = \"holds a *context\"\n\nfunc fromContext(ctx netcontext.Context) *context {\n\tc, _ := ctx.Value(&contextKey).(*context)\n\treturn c\n}\n\nfunc withContext(parent netcontext.Context, c *context) netcontext.Context {\n\tctx := netcontext.WithValue(parent, &contextKey, c)\n\tif ns := c.req.Header.Get(curNamespaceHeader); ns != \"\" {\n\t\tctx = withNamespace(ctx, ns)\n\t}\n\treturn ctx\n}\n\nfunc toContext(c *context) netcontext.Context {\n\treturn withContext(netcontext.Background(), c)\n}\n\nfunc IncomingHeaders(ctx netcontext.Context) http.Header {\n\tif c := fromContext(ctx); c != nil {\n\t\treturn c.req.Header\n\t}\n\treturn nil\n}\n\nfunc WithContext(parent netcontext.Context, req *http.Request) netcontext.Context {\n\tctxs.Lock()\n\tc := ctxs.m[req]\n\td := ctxs.dec[req]\n\tctxs.Unlock()\n\n\tif d != nil {\n\t\tparent = d(parent)\n\t}\n\n\tif c == nil {\n\t\t// Someone passed in an http.Request that is not in-flight.\n\t\t// We panic here rather than panicking at a later point\n\t\t// so that stack traces will be more sensible.\n\t\tlog.Panic(\"appengine: NewContext passed an unknown http.Request\")\n\t}\n\treturn withContext(parent, c)\n}\n\nfunc BackgroundContext() netcontext.Context {\n\tctxs.Lock()\n\tdefer ctxs.Unlock()\n\n\tif ctxs.bg != nil {\n\t\treturn toContext(ctxs.bg)\n\t}\n\n\t// Compute background security ticket.\n\tappID := partitionlessAppID()\n\tescAppID := strings.Replace(strings.Replace(appID, \":\", \"_\", -1), \".\", \"_\", -1)\n\tmajVersion := VersionID(nil)\n\tif i := strings.Index(majVersion, \".\"); i > 0 {\n\t\tmajVersion = majVersion[:i]\n\t}\n\tticket := fmt.Sprintf(\"%s/%s.%s.%s\", escAppID, ModuleName(nil), majVersion, InstanceID())\n\n\tctxs.bg = &context{\n\t\treq: &http.Request{\n\t\t\tHeader: http.Header{\n\t\t\t\tticketHeader: []string{ticket},\n\t\t\t},\n\t\t},\n\t\tapiURL: apiURL(),\n\t}\n\n\t// TODO(dsymonds): Wire up the shutdown handler to do a final flush.\n\tgo ctxs.bg.logFlusher(make(chan int))\n\n\treturn toContext(ctxs.bg)\n}\n\n// RegisterTestRequest registers the HTTP request req for testing, such that\n// any API calls are sent to the provided URL. It returns a closure to delete\n// the registration.\n// It should only be used by aetest package.\nfunc RegisterTestRequest(req *http.Request, apiURL *url.URL, decorate func(netcontext.Context) netcontext.Context) func() {\n\tc := &context{\n\t\treq:    req,\n\t\tapiURL: apiURL,\n\t}\n\tctxs.Lock()\n\tdefer ctxs.Unlock()\n\tif _, ok := ctxs.m[req]; ok {\n\t\tlog.Panic(\"req already associated with context\")\n\t}\n\tif _, ok := ctxs.dec[req]; ok {\n\t\tlog.Panic(\"req already associated with context\")\n\t}\n\tif ctxs.dec == nil {\n\t\tctxs.dec = make(map[*http.Request]func(netcontext.Context) netcontext.Context)\n\t}\n\tctxs.m[req] = c\n\tctxs.dec[req] = decorate\n\n\treturn func() {\n\t\tctxs.Lock()\n\t\tdelete(ctxs.m, req)\n\t\tdelete(ctxs.dec, req)\n\t\tctxs.Unlock()\n\t}\n}\n\nvar errTimeout = &CallError{\n\tDetail:  \"Deadline exceeded\",\n\tCode:    int32(remotepb.RpcError_CANCELLED),\n\tTimeout: true,\n}\n\nfunc (c *context) Header() http.Header { return c.outHeader }\n\n// Copied from $GOROOT/src/pkg/net/http/transfer.go. Some response status\n// codes do not permit a response body (nor response entity headers such as\n// Content-Length, Content-Type, etc).\nfunc bodyAllowedForStatus(status int) bool {\n\tswitch {\n\tcase status >= 100 && status <= 199:\n\t\treturn false\n\tcase status == 204:\n\t\treturn false\n\tcase status == 304:\n\t\treturn false\n\t}\n\treturn true\n}\n\nfunc (c *context) Write(b []byte) (int, error) {\n\tif c.outCode == 0 {\n\t\tc.WriteHeader(http.StatusOK)\n\t}\n\tif len(b) > 0 && !bodyAllowedForStatus(c.outCode) {\n\t\treturn 0, http.ErrBodyNotAllowed\n\t}\n\tc.outBody = append(c.outBody, b...)\n\treturn len(b), nil\n}\n\nfunc (c *context) WriteHeader(code int) {\n\tif c.outCode != 0 {\n\t\tlogf(c, 3, \"WriteHeader called multiple times on request.\") // error level\n\t\treturn\n\t}\n\tc.outCode = code\n}\n\nfunc (c *context) post(body []byte, timeout time.Duration) (b []byte, err error) {\n\threq := &http.Request{\n\t\tMethod: \"POST\",\n\t\tURL:    c.apiURL,\n\t\tHeader: http.Header{\n\t\t\tapiEndpointHeader: apiEndpointHeaderValue,\n\t\t\tapiMethodHeader:   apiMethodHeaderValue,\n\t\t\tapiContentType:    apiContentTypeValue,\n\t\t\tapiDeadlineHeader: []string{strconv.FormatFloat(timeout.Seconds(), 'f', -1, 64)},\n\t\t},\n\t\tBody:          ioutil.NopCloser(bytes.NewReader(body)),\n\t\tContentLength: int64(len(body)),\n\t\tHost:          c.apiURL.Host,\n\t}\n\tif info := c.req.Header.Get(dapperHeader); info != \"\" {\n\t\threq.Header.Set(dapperHeader, info)\n\t}\n\tif info := c.req.Header.Get(traceHeader); info != \"\" {\n\t\threq.Header.Set(traceHeader, info)\n\t}\n\n\ttr := apiHTTPClient.Transport.(*http.Transport)\n\n\tvar timedOut int32 // atomic; set to 1 if timed out\n\tt := time.AfterFunc(timeout, func() {\n\t\tatomic.StoreInt32(&timedOut, 1)\n\t\ttr.CancelRequest(hreq)\n\t})\n\tdefer t.Stop()\n\tdefer func() {\n\t\t// Check if timeout was exceeded.\n\t\tif atomic.LoadInt32(&timedOut) != 0 {\n\t\t\terr = errTimeout\n\t\t}\n\t}()\n\n\thresp, err := apiHTTPClient.Do(hreq)\n\tif err != nil {\n\t\treturn nil, &CallError{\n\t\t\tDetail: fmt.Sprintf(\"service bridge HTTP failed: %v\", err),\n\t\t\tCode:   int32(remotepb.RpcError_UNKNOWN),\n\t\t}\n\t}\n\tdefer hresp.Body.Close()\n\threspBody, err := ioutil.ReadAll(hresp.Body)\n\tif hresp.StatusCode != 200 {\n\t\treturn nil, &CallError{\n\t\t\tDetail: fmt.Sprintf(\"service bridge returned HTTP %d (%q)\", hresp.StatusCode, hrespBody),\n\t\t\tCode:   int32(remotepb.RpcError_UNKNOWN),\n\t\t}\n\t}\n\tif err != nil {\n\t\treturn nil, &CallError{\n\t\t\tDetail: fmt.Sprintf(\"service bridge response bad: %v\", err),\n\t\t\tCode:   int32(remotepb.RpcError_UNKNOWN),\n\t\t}\n\t}\n\treturn hrespBody, nil\n}\n\nfunc Call(ctx netcontext.Context, service, method string, in, out proto.Message) error {\n\tif ns := NamespaceFromContext(ctx); ns != \"\" {\n\t\tif fn, ok := NamespaceMods[service]; ok {\n\t\t\tfn(in, ns)\n\t\t}\n\t}\n\n\tif f, ctx, ok := callOverrideFromContext(ctx); ok {\n\t\treturn f(ctx, service, method, in, out)\n\t}\n\n\t// Handle already-done contexts quickly.\n\tselect {\n\tcase <-ctx.Done():\n\t\treturn ctx.Err()\n\tdefault:\n\t}\n\n\tc := fromContext(ctx)\n\tif c == nil {\n\t\t// Give a good error message rather than a panic lower down.\n\t\treturn errors.New(\"not an App Engine context\")\n\t}\n\n\t// Apply transaction modifications if we're in a transaction.\n\tif t := transactionFromContext(ctx); t != nil {\n\t\tif t.finished {\n\t\t\treturn errors.New(\"transaction context has expired\")\n\t\t}\n\t\tapplyTransaction(in, &t.transaction)\n\t}\n\n\t// Default RPC timeout is 60s.\n\ttimeout := 60 * time.Second\n\tif deadline, ok := ctx.Deadline(); ok {\n\t\ttimeout = deadline.Sub(time.Now())\n\t}\n\n\tdata, err := proto.Marshal(in)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tticket := c.req.Header.Get(ticketHeader)\n\treq := &remotepb.Request{\n\t\tServiceName: &service,\n\t\tMethod:      &method,\n\t\tRequest:     data,\n\t\tRequestId:   &ticket,\n\t}\n\threqBody, err := proto.Marshal(req)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\threspBody, err := c.post(hreqBody, timeout)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tres := &remotepb.Response{}\n\tif err := proto.Unmarshal(hrespBody, res); err != nil {\n\t\treturn err\n\t}\n\tif res.RpcError != nil {\n\t\tce := &CallError{\n\t\t\tDetail: res.RpcError.GetDetail(),\n\t\t\tCode:   *res.RpcError.Code,\n\t\t}\n\t\tswitch remotepb.RpcError_ErrorCode(ce.Code) {\n\t\tcase remotepb.RpcError_CANCELLED, remotepb.RpcError_DEADLINE_EXCEEDED:\n\t\t\tce.Timeout = true\n\t\t}\n\t\treturn ce\n\t}\n\tif res.ApplicationError != nil {\n\t\treturn &APIError{\n\t\t\tService: *req.ServiceName,\n\t\t\tDetail:  res.ApplicationError.GetDetail(),\n\t\t\tCode:    *res.ApplicationError.Code,\n\t\t}\n\t}\n\tif res.Exception != nil || res.JavaException != nil {\n\t\t// This shouldn't happen, but let's be defensive.\n\t\treturn &CallError{\n\t\t\tDetail: \"service bridge returned exception\",\n\t\t\tCode:   int32(remotepb.RpcError_UNKNOWN),\n\t\t}\n\t}\n\treturn proto.Unmarshal(res.Response, out)\n}\n\nfunc (c *context) Request() *http.Request {\n\treturn c.req\n}\n\nfunc (c *context) addLogLine(ll *logpb.UserAppLogLine) {\n\t// Truncate long log lines.\n\t// TODO(dsymonds): Check if this is still necessary.\n\tconst lim = 8 << 10\n\tif len(*ll.Message) > lim {\n\t\tsuffix := fmt.Sprintf(\"...(length %d)\", len(*ll.Message))\n\t\tll.Message = proto.String((*ll.Message)[:lim-len(suffix)] + suffix)\n\t}\n\n\tc.pendingLogs.Lock()\n\tc.pendingLogs.lines = append(c.pendingLogs.lines, ll)\n\tc.pendingLogs.Unlock()\n}\n\nvar logLevelName = map[int64]string{\n\t0: \"DEBUG\",\n\t1: \"INFO\",\n\t2: \"WARNING\",\n\t3: \"ERROR\",\n\t4: \"CRITICAL\",\n}\n\nfunc logf(c *context, level int64, format string, args ...interface{}) {\n\ts := fmt.Sprintf(format, args...)\n\ts = strings.TrimRight(s, \"\\n\") // Remove any trailing newline characters.\n\tc.addLogLine(&logpb.UserAppLogLine{\n\t\tTimestampUsec: proto.Int64(time.Now().UnixNano() / 1e3),\n\t\tLevel:         &level,\n\t\tMessage:       &s,\n\t})\n\tlog.Print(logLevelName[level] + \": \" + s)\n}\n\n// flushLog attempts to flush any pending logs to the appserver.\n// It should not be called concurrently.\nfunc (c *context) flushLog(force bool) (flushed bool) {\n\tc.pendingLogs.Lock()\n\t// Grab up to 30 MB. We can get away with up to 32 MB, but let's be cautious.\n\tn, rem := 0, 30<<20\n\tfor ; n < len(c.pendingLogs.lines); n++ {\n\t\tll := c.pendingLogs.lines[n]\n\t\t// Each log line will require about 3 bytes of overhead.\n\t\tnb := proto.Size(ll) + 3\n\t\tif nb > rem {\n\t\t\tbreak\n\t\t}\n\t\trem -= nb\n\t}\n\tlines := c.pendingLogs.lines[:n]\n\tc.pendingLogs.lines = c.pendingLogs.lines[n:]\n\tc.pendingLogs.Unlock()\n\n\tif len(lines) == 0 && !force {\n\t\t// Nothing to flush.\n\t\treturn false\n\t}\n\n\trescueLogs := false\n\tdefer func() {\n\t\tif rescueLogs {\n\t\t\tc.pendingLogs.Lock()\n\t\t\tc.pendingLogs.lines = append(lines, c.pendingLogs.lines...)\n\t\t\tc.pendingLogs.Unlock()\n\t\t}\n\t}()\n\n\tbuf, err := proto.Marshal(&logpb.UserAppLogGroup{\n\t\tLogLine: lines,\n\t})\n\tif err != nil {\n\t\tlog.Printf(\"internal.flushLog: marshaling UserAppLogGroup: %v\", err)\n\t\trescueLogs = true\n\t\treturn false\n\t}\n\n\treq := &logpb.FlushRequest{\n\t\tLogs: buf,\n\t}\n\tres := &basepb.VoidProto{}\n\tc.pendingLogs.Lock()\n\tc.pendingLogs.flushes++\n\tc.pendingLogs.Unlock()\n\tif err := Call(toContext(c), \"logservice\", \"Flush\", req, res); err != nil {\n\t\tlog.Printf(\"internal.flushLog: Flush RPC: %v\", err)\n\t\trescueLogs = true\n\t\treturn false\n\t}\n\treturn true\n}\n\nconst (\n\t// Log flushing parameters.\n\tflushInterval      = 1 * time.Second\n\tforceFlushInterval = 60 * time.Second\n)\n\nfunc (c *context) logFlusher(stop <-chan int) {\n\tlastFlush := time.Now()\n\ttick := time.NewTicker(flushInterval)\n\tfor {\n\t\tselect {\n\t\tcase <-stop:\n\t\t\t// Request finished.\n\t\t\ttick.Stop()\n\t\t\treturn\n\t\tcase <-tick.C:\n\t\t\tforce := time.Now().Sub(lastFlush) > forceFlushInterval\n\t\t\tif c.flushLog(force) {\n\t\t\t\tlastFlush = time.Now()\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc ContextForTesting(req *http.Request) netcontext.Context {\n\treturn toContext(&context{req: req})\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/api_classic.go",
    "content": "// Copyright 2015 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\n// +build appengine\n\npackage internal\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"time\"\n\n\t\"appengine\"\n\t\"appengine_internal\"\n\tbasepb \"appengine_internal/base\"\n\n\t\"github.com/golang/protobuf/proto\"\n\tnetcontext \"golang.org/x/net/context\"\n)\n\nvar contextKey = \"holds an appengine.Context\"\n\nfunc fromContext(ctx netcontext.Context) appengine.Context {\n\tc, _ := ctx.Value(&contextKey).(appengine.Context)\n\treturn c\n}\n\n// This is only for classic App Engine adapters.\nfunc ClassicContextFromContext(ctx netcontext.Context) appengine.Context {\n\treturn fromContext(ctx)\n}\n\nfunc withContext(parent netcontext.Context, c appengine.Context) netcontext.Context {\n\tctx := netcontext.WithValue(parent, &contextKey, c)\n\n\ts := &basepb.StringProto{}\n\tc.Call(\"__go__\", \"GetNamespace\", &basepb.VoidProto{}, s, nil)\n\tif ns := s.GetValue(); ns != \"\" {\n\t\tctx = NamespacedContext(ctx, ns)\n\t}\n\n\treturn ctx\n}\n\nfunc IncomingHeaders(ctx netcontext.Context) http.Header {\n\tif c := fromContext(ctx); c != nil {\n\t\tif req, ok := c.Request().(*http.Request); ok {\n\t\t\treturn req.Header\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc WithContext(parent netcontext.Context, req *http.Request) netcontext.Context {\n\tc := appengine.NewContext(req)\n\treturn withContext(parent, c)\n}\n\ntype testingContext struct {\n\tappengine.Context\n\n\treq *http.Request\n}\n\nfunc (t *testingContext) FullyQualifiedAppID() string { return \"dev~testcontext\" }\nfunc (t *testingContext) Call(service, method string, _, _ appengine_internal.ProtoMessage, _ *appengine_internal.CallOptions) error {\n\tif service == \"__go__\" && method == \"GetNamespace\" {\n\t\treturn nil\n\t}\n\treturn fmt.Errorf(\"testingContext: unsupported Call\")\n}\nfunc (t *testingContext) Request() interface{} { return t.req }\n\nfunc ContextForTesting(req *http.Request) netcontext.Context {\n\treturn withContext(netcontext.Background(), &testingContext{req: req})\n}\n\nfunc Call(ctx netcontext.Context, service, method string, in, out proto.Message) error {\n\tif ns := NamespaceFromContext(ctx); ns != \"\" {\n\t\tif fn, ok := NamespaceMods[service]; ok {\n\t\t\tfn(in, ns)\n\t\t}\n\t}\n\n\tif f, ctx, ok := callOverrideFromContext(ctx); ok {\n\t\treturn f(ctx, service, method, in, out)\n\t}\n\n\t// Handle already-done contexts quickly.\n\tselect {\n\tcase <-ctx.Done():\n\t\treturn ctx.Err()\n\tdefault:\n\t}\n\n\tc := fromContext(ctx)\n\tif c == nil {\n\t\t// Give a good error message rather than a panic lower down.\n\t\treturn errors.New(\"not an App Engine context\")\n\t}\n\n\t// Apply transaction modifications if we're in a transaction.\n\tif t := transactionFromContext(ctx); t != nil {\n\t\tif t.finished {\n\t\t\treturn errors.New(\"transaction context has expired\")\n\t\t}\n\t\tapplyTransaction(in, &t.transaction)\n\t}\n\n\tvar opts *appengine_internal.CallOptions\n\tif d, ok := ctx.Deadline(); ok {\n\t\topts = &appengine_internal.CallOptions{\n\t\t\tTimeout: d.Sub(time.Now()),\n\t\t}\n\t}\n\n\terr := c.Call(service, method, in, out, opts)\n\tswitch v := err.(type) {\n\tcase *appengine_internal.APIError:\n\t\treturn &APIError{\n\t\t\tService: v.Service,\n\t\t\tDetail:  v.Detail,\n\t\t\tCode:    v.Code,\n\t\t}\n\tcase *appengine_internal.CallError:\n\t\treturn &CallError{\n\t\t\tDetail:  v.Detail,\n\t\t\tCode:    v.Code,\n\t\t\tTimeout: v.Timeout,\n\t\t}\n\t}\n\treturn err\n}\n\nfunc handleHTTP(w http.ResponseWriter, r *http.Request) {\n\tpanic(\"handleHTTP called; this should be impossible\")\n}\n\nfunc logf(c appengine.Context, level int64, format string, args ...interface{}) {\n\tvar fn func(format string, args ...interface{})\n\tswitch level {\n\tcase 0:\n\t\tfn = c.Debugf\n\tcase 1:\n\t\tfn = c.Infof\n\tcase 2:\n\t\tfn = c.Warningf\n\tcase 3:\n\t\tfn = c.Errorf\n\tcase 4:\n\t\tfn = c.Criticalf\n\tdefault:\n\t\t// This shouldn't happen.\n\t\tfn = c.Criticalf\n\t}\n\tfn(format, args...)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/api_common.go",
    "content": "// Copyright 2015 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\npackage internal\n\nimport (\n\t\"github.com/golang/protobuf/proto\"\n\tnetcontext \"golang.org/x/net/context\"\n)\n\ntype CallOverrideFunc func(ctx netcontext.Context, service, method string, in, out proto.Message) error\n\nvar callOverrideKey = \"holds []CallOverrideFunc\"\n\nfunc WithCallOverride(ctx netcontext.Context, f CallOverrideFunc) netcontext.Context {\n\t// We avoid appending to any existing call override\n\t// so we don't risk overwriting a popped stack below.\n\tvar cofs []CallOverrideFunc\n\tif uf, ok := ctx.Value(&callOverrideKey).([]CallOverrideFunc); ok {\n\t\tcofs = append(cofs, uf...)\n\t}\n\tcofs = append(cofs, f)\n\treturn netcontext.WithValue(ctx, &callOverrideKey, cofs)\n}\n\nfunc callOverrideFromContext(ctx netcontext.Context) (CallOverrideFunc, netcontext.Context, bool) {\n\tcofs, _ := ctx.Value(&callOverrideKey).([]CallOverrideFunc)\n\tif len(cofs) == 0 {\n\t\treturn nil, nil, false\n\t}\n\t// We found a list of overrides; grab the last, and reconstitute a\n\t// context that will hide it.\n\tf := cofs[len(cofs)-1]\n\tctx = netcontext.WithValue(ctx, &callOverrideKey, cofs[:len(cofs)-1])\n\treturn f, ctx, true\n}\n\ntype logOverrideFunc func(level int64, format string, args ...interface{})\n\nvar logOverrideKey = \"holds a logOverrideFunc\"\n\nfunc WithLogOverride(ctx netcontext.Context, f logOverrideFunc) netcontext.Context {\n\treturn netcontext.WithValue(ctx, &logOverrideKey, f)\n}\n\nvar appIDOverrideKey = \"holds a string, being the full app ID\"\n\nfunc WithAppIDOverride(ctx netcontext.Context, appID string) netcontext.Context {\n\treturn netcontext.WithValue(ctx, &appIDOverrideKey, appID)\n}\n\nvar namespaceKey = \"holds the namespace string\"\n\nfunc withNamespace(ctx netcontext.Context, ns string) netcontext.Context {\n\treturn netcontext.WithValue(ctx, &namespaceKey, ns)\n}\n\nfunc NamespaceFromContext(ctx netcontext.Context) string {\n\t// If there's no namespace, return the empty string.\n\tns, _ := ctx.Value(&namespaceKey).(string)\n\treturn ns\n}\n\n// FullyQualifiedAppID returns the fully-qualified application ID.\n// This may contain a partition prefix (e.g. \"s~\" for High Replication apps),\n// or a domain prefix (e.g. \"example.com:\").\nfunc FullyQualifiedAppID(ctx netcontext.Context) string {\n\tif id, ok := ctx.Value(&appIDOverrideKey).(string); ok {\n\t\treturn id\n\t}\n\treturn fullyQualifiedAppID(ctx)\n}\n\nfunc Logf(ctx netcontext.Context, level int64, format string, args ...interface{}) {\n\tif f, ok := ctx.Value(&logOverrideKey).(logOverrideFunc); ok {\n\t\tf(level, format, args...)\n\t\treturn\n\t}\n\tlogf(fromContext(ctx), level, format, args...)\n}\n\n// NamespacedContext wraps a Context to support namespaces.\nfunc NamespacedContext(ctx netcontext.Context, namespace string) netcontext.Context {\n\treturn withNamespace(ctx, namespace)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/app_id.go",
    "content": "// Copyright 2011 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\npackage internal\n\nimport (\n\t\"strings\"\n)\n\nfunc parseFullAppID(appid string) (partition, domain, displayID string) {\n\tif i := strings.Index(appid, \"~\"); i != -1 {\n\t\tpartition, appid = appid[:i], appid[i+1:]\n\t}\n\tif i := strings.Index(appid, \":\"); i != -1 {\n\t\tdomain, appid = appid[:i], appid[i+1:]\n\t}\n\treturn partition, domain, appid\n}\n\n// appID returns \"appid\" or \"domain.com:appid\".\nfunc appID(fullAppID string) string {\n\t_, dom, dis := parseFullAppID(fullAppID)\n\tif dom != \"\" {\n\t\treturn dom + \":\" + dis\n\t}\n\treturn dis\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/app_identity/app_identity_service.pb.go",
    "content": "// Code generated by protoc-gen-go.\n// source: google.golang.org/appengine/internal/app_identity/app_identity_service.proto\n// DO NOT EDIT!\n\n/*\nPackage app_identity is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle.golang.org/appengine/internal/app_identity/app_identity_service.proto\n\nIt has these top-level messages:\n\tAppIdentityServiceError\n\tSignForAppRequest\n\tSignForAppResponse\n\tGetPublicCertificateForAppRequest\n\tPublicCertificate\n\tGetPublicCertificateForAppResponse\n\tGetServiceAccountNameRequest\n\tGetServiceAccountNameResponse\n\tGetAccessTokenRequest\n\tGetAccessTokenResponse\n\tGetDefaultGcsBucketNameRequest\n\tGetDefaultGcsBucketNameResponse\n*/\npackage app_identity\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\ntype AppIdentityServiceError_ErrorCode int32\n\nconst (\n\tAppIdentityServiceError_SUCCESS           AppIdentityServiceError_ErrorCode = 0\n\tAppIdentityServiceError_UNKNOWN_SCOPE     AppIdentityServiceError_ErrorCode = 9\n\tAppIdentityServiceError_BLOB_TOO_LARGE    AppIdentityServiceError_ErrorCode = 1000\n\tAppIdentityServiceError_DEADLINE_EXCEEDED AppIdentityServiceError_ErrorCode = 1001\n\tAppIdentityServiceError_NOT_A_VALID_APP   AppIdentityServiceError_ErrorCode = 1002\n\tAppIdentityServiceError_UNKNOWN_ERROR     AppIdentityServiceError_ErrorCode = 1003\n\tAppIdentityServiceError_NOT_ALLOWED       AppIdentityServiceError_ErrorCode = 1005\n\tAppIdentityServiceError_NOT_IMPLEMENTED   AppIdentityServiceError_ErrorCode = 1006\n)\n\nvar AppIdentityServiceError_ErrorCode_name = map[int32]string{\n\t0:    \"SUCCESS\",\n\t9:    \"UNKNOWN_SCOPE\",\n\t1000: \"BLOB_TOO_LARGE\",\n\t1001: \"DEADLINE_EXCEEDED\",\n\t1002: \"NOT_A_VALID_APP\",\n\t1003: \"UNKNOWN_ERROR\",\n\t1005: \"NOT_ALLOWED\",\n\t1006: \"NOT_IMPLEMENTED\",\n}\nvar AppIdentityServiceError_ErrorCode_value = map[string]int32{\n\t\"SUCCESS\":           0,\n\t\"UNKNOWN_SCOPE\":     9,\n\t\"BLOB_TOO_LARGE\":    1000,\n\t\"DEADLINE_EXCEEDED\": 1001,\n\t\"NOT_A_VALID_APP\":   1002,\n\t\"UNKNOWN_ERROR\":     1003,\n\t\"NOT_ALLOWED\":       1005,\n\t\"NOT_IMPLEMENTED\":   1006,\n}\n\nfunc (x AppIdentityServiceError_ErrorCode) Enum() *AppIdentityServiceError_ErrorCode {\n\tp := new(AppIdentityServiceError_ErrorCode)\n\t*p = x\n\treturn p\n}\nfunc (x AppIdentityServiceError_ErrorCode) String() string {\n\treturn proto.EnumName(AppIdentityServiceError_ErrorCode_name, int32(x))\n}\nfunc (x *AppIdentityServiceError_ErrorCode) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(AppIdentityServiceError_ErrorCode_value, data, \"AppIdentityServiceError_ErrorCode\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = AppIdentityServiceError_ErrorCode(value)\n\treturn nil\n}\n\ntype AppIdentityServiceError struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *AppIdentityServiceError) Reset()         { *m = AppIdentityServiceError{} }\nfunc (m *AppIdentityServiceError) String() string { return proto.CompactTextString(m) }\nfunc (*AppIdentityServiceError) ProtoMessage()    {}\n\ntype SignForAppRequest struct {\n\tBytesToSign      []byte `protobuf:\"bytes,1,opt,name=bytes_to_sign\" json:\"bytes_to_sign,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *SignForAppRequest) Reset()         { *m = SignForAppRequest{} }\nfunc (m *SignForAppRequest) String() string { return proto.CompactTextString(m) }\nfunc (*SignForAppRequest) ProtoMessage()    {}\n\nfunc (m *SignForAppRequest) GetBytesToSign() []byte {\n\tif m != nil {\n\t\treturn m.BytesToSign\n\t}\n\treturn nil\n}\n\ntype SignForAppResponse struct {\n\tKeyName          *string `protobuf:\"bytes,1,opt,name=key_name\" json:\"key_name,omitempty\"`\n\tSignatureBytes   []byte  `protobuf:\"bytes,2,opt,name=signature_bytes\" json:\"signature_bytes,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *SignForAppResponse) Reset()         { *m = SignForAppResponse{} }\nfunc (m *SignForAppResponse) String() string { return proto.CompactTextString(m) }\nfunc (*SignForAppResponse) ProtoMessage()    {}\n\nfunc (m *SignForAppResponse) GetKeyName() string {\n\tif m != nil && m.KeyName != nil {\n\t\treturn *m.KeyName\n\t}\n\treturn \"\"\n}\n\nfunc (m *SignForAppResponse) GetSignatureBytes() []byte {\n\tif m != nil {\n\t\treturn m.SignatureBytes\n\t}\n\treturn nil\n}\n\ntype GetPublicCertificateForAppRequest struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *GetPublicCertificateForAppRequest) Reset()         { *m = GetPublicCertificateForAppRequest{} }\nfunc (m *GetPublicCertificateForAppRequest) String() string { return proto.CompactTextString(m) }\nfunc (*GetPublicCertificateForAppRequest) ProtoMessage()    {}\n\ntype PublicCertificate struct {\n\tKeyName            *string `protobuf:\"bytes,1,opt,name=key_name\" json:\"key_name,omitempty\"`\n\tX509CertificatePem *string `protobuf:\"bytes,2,opt,name=x509_certificate_pem\" json:\"x509_certificate_pem,omitempty\"`\n\tXXX_unrecognized   []byte  `json:\"-\"`\n}\n\nfunc (m *PublicCertificate) Reset()         { *m = PublicCertificate{} }\nfunc (m *PublicCertificate) String() string { return proto.CompactTextString(m) }\nfunc (*PublicCertificate) ProtoMessage()    {}\n\nfunc (m *PublicCertificate) GetKeyName() string {\n\tif m != nil && m.KeyName != nil {\n\t\treturn *m.KeyName\n\t}\n\treturn \"\"\n}\n\nfunc (m *PublicCertificate) GetX509CertificatePem() string {\n\tif m != nil && m.X509CertificatePem != nil {\n\t\treturn *m.X509CertificatePem\n\t}\n\treturn \"\"\n}\n\ntype GetPublicCertificateForAppResponse struct {\n\tPublicCertificateList      []*PublicCertificate `protobuf:\"bytes,1,rep,name=public_certificate_list\" json:\"public_certificate_list,omitempty\"`\n\tMaxClientCacheTimeInSecond *int64               `protobuf:\"varint,2,opt,name=max_client_cache_time_in_second\" json:\"max_client_cache_time_in_second,omitempty\"`\n\tXXX_unrecognized           []byte               `json:\"-\"`\n}\n\nfunc (m *GetPublicCertificateForAppResponse) Reset()         { *m = GetPublicCertificateForAppResponse{} }\nfunc (m *GetPublicCertificateForAppResponse) String() string { return proto.CompactTextString(m) }\nfunc (*GetPublicCertificateForAppResponse) ProtoMessage()    {}\n\nfunc (m *GetPublicCertificateForAppResponse) GetPublicCertificateList() []*PublicCertificate {\n\tif m != nil {\n\t\treturn m.PublicCertificateList\n\t}\n\treturn nil\n}\n\nfunc (m *GetPublicCertificateForAppResponse) GetMaxClientCacheTimeInSecond() int64 {\n\tif m != nil && m.MaxClientCacheTimeInSecond != nil {\n\t\treturn *m.MaxClientCacheTimeInSecond\n\t}\n\treturn 0\n}\n\ntype GetServiceAccountNameRequest struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *GetServiceAccountNameRequest) Reset()         { *m = GetServiceAccountNameRequest{} }\nfunc (m *GetServiceAccountNameRequest) String() string { return proto.CompactTextString(m) }\nfunc (*GetServiceAccountNameRequest) ProtoMessage()    {}\n\ntype GetServiceAccountNameResponse struct {\n\tServiceAccountName *string `protobuf:\"bytes,1,opt,name=service_account_name\" json:\"service_account_name,omitempty\"`\n\tXXX_unrecognized   []byte  `json:\"-\"`\n}\n\nfunc (m *GetServiceAccountNameResponse) Reset()         { *m = GetServiceAccountNameResponse{} }\nfunc (m *GetServiceAccountNameResponse) String() string { return proto.CompactTextString(m) }\nfunc (*GetServiceAccountNameResponse) ProtoMessage()    {}\n\nfunc (m *GetServiceAccountNameResponse) GetServiceAccountName() string {\n\tif m != nil && m.ServiceAccountName != nil {\n\t\treturn *m.ServiceAccountName\n\t}\n\treturn \"\"\n}\n\ntype GetAccessTokenRequest struct {\n\tScope              []string `protobuf:\"bytes,1,rep,name=scope\" json:\"scope,omitempty\"`\n\tServiceAccountId   *int64   `protobuf:\"varint,2,opt,name=service_account_id\" json:\"service_account_id,omitempty\"`\n\tServiceAccountName *string  `protobuf:\"bytes,3,opt,name=service_account_name\" json:\"service_account_name,omitempty\"`\n\tXXX_unrecognized   []byte   `json:\"-\"`\n}\n\nfunc (m *GetAccessTokenRequest) Reset()         { *m = GetAccessTokenRequest{} }\nfunc (m *GetAccessTokenRequest) String() string { return proto.CompactTextString(m) }\nfunc (*GetAccessTokenRequest) ProtoMessage()    {}\n\nfunc (m *GetAccessTokenRequest) GetScope() []string {\n\tif m != nil {\n\t\treturn m.Scope\n\t}\n\treturn nil\n}\n\nfunc (m *GetAccessTokenRequest) GetServiceAccountId() int64 {\n\tif m != nil && m.ServiceAccountId != nil {\n\t\treturn *m.ServiceAccountId\n\t}\n\treturn 0\n}\n\nfunc (m *GetAccessTokenRequest) GetServiceAccountName() string {\n\tif m != nil && m.ServiceAccountName != nil {\n\t\treturn *m.ServiceAccountName\n\t}\n\treturn \"\"\n}\n\ntype GetAccessTokenResponse struct {\n\tAccessToken      *string `protobuf:\"bytes,1,opt,name=access_token\" json:\"access_token,omitempty\"`\n\tExpirationTime   *int64  `protobuf:\"varint,2,opt,name=expiration_time\" json:\"expiration_time,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *GetAccessTokenResponse) Reset()         { *m = GetAccessTokenResponse{} }\nfunc (m *GetAccessTokenResponse) String() string { return proto.CompactTextString(m) }\nfunc (*GetAccessTokenResponse) ProtoMessage()    {}\n\nfunc (m *GetAccessTokenResponse) GetAccessToken() string {\n\tif m != nil && m.AccessToken != nil {\n\t\treturn *m.AccessToken\n\t}\n\treturn \"\"\n}\n\nfunc (m *GetAccessTokenResponse) GetExpirationTime() int64 {\n\tif m != nil && m.ExpirationTime != nil {\n\t\treturn *m.ExpirationTime\n\t}\n\treturn 0\n}\n\ntype GetDefaultGcsBucketNameRequest struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *GetDefaultGcsBucketNameRequest) Reset()         { *m = GetDefaultGcsBucketNameRequest{} }\nfunc (m *GetDefaultGcsBucketNameRequest) String() string { return proto.CompactTextString(m) }\nfunc (*GetDefaultGcsBucketNameRequest) ProtoMessage()    {}\n\ntype GetDefaultGcsBucketNameResponse struct {\n\tDefaultGcsBucketName *string `protobuf:\"bytes,1,opt,name=default_gcs_bucket_name\" json:\"default_gcs_bucket_name,omitempty\"`\n\tXXX_unrecognized     []byte  `json:\"-\"`\n}\n\nfunc (m *GetDefaultGcsBucketNameResponse) Reset()         { *m = GetDefaultGcsBucketNameResponse{} }\nfunc (m *GetDefaultGcsBucketNameResponse) String() string { return proto.CompactTextString(m) }\nfunc (*GetDefaultGcsBucketNameResponse) ProtoMessage()    {}\n\nfunc (m *GetDefaultGcsBucketNameResponse) GetDefaultGcsBucketName() string {\n\tif m != nil && m.DefaultGcsBucketName != nil {\n\t\treturn *m.DefaultGcsBucketName\n\t}\n\treturn \"\"\n}\n\nfunc init() {\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/base/api_base.pb.go",
    "content": "// Code generated by protoc-gen-go.\n// source: google.golang.org/appengine/internal/base/api_base.proto\n// DO NOT EDIT!\n\n/*\nPackage base is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle.golang.org/appengine/internal/base/api_base.proto\n\nIt has these top-level messages:\n\tStringProto\n\tInteger32Proto\n\tInteger64Proto\n\tBoolProto\n\tDoubleProto\n\tBytesProto\n\tVoidProto\n*/\npackage base\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\ntype StringProto struct {\n\tValue            *string `protobuf:\"bytes,1,req,name=value\" json:\"value,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *StringProto) Reset()         { *m = StringProto{} }\nfunc (m *StringProto) String() string { return proto.CompactTextString(m) }\nfunc (*StringProto) ProtoMessage()    {}\n\nfunc (m *StringProto) GetValue() string {\n\tif m != nil && m.Value != nil {\n\t\treturn *m.Value\n\t}\n\treturn \"\"\n}\n\ntype Integer32Proto struct {\n\tValue            *int32 `protobuf:\"varint,1,req,name=value\" json:\"value,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *Integer32Proto) Reset()         { *m = Integer32Proto{} }\nfunc (m *Integer32Proto) String() string { return proto.CompactTextString(m) }\nfunc (*Integer32Proto) ProtoMessage()    {}\n\nfunc (m *Integer32Proto) GetValue() int32 {\n\tif m != nil && m.Value != nil {\n\t\treturn *m.Value\n\t}\n\treturn 0\n}\n\ntype Integer64Proto struct {\n\tValue            *int64 `protobuf:\"varint,1,req,name=value\" json:\"value,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *Integer64Proto) Reset()         { *m = Integer64Proto{} }\nfunc (m *Integer64Proto) String() string { return proto.CompactTextString(m) }\nfunc (*Integer64Proto) ProtoMessage()    {}\n\nfunc (m *Integer64Proto) GetValue() int64 {\n\tif m != nil && m.Value != nil {\n\t\treturn *m.Value\n\t}\n\treturn 0\n}\n\ntype BoolProto struct {\n\tValue            *bool  `protobuf:\"varint,1,req,name=value\" json:\"value,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *BoolProto) Reset()         { *m = BoolProto{} }\nfunc (m *BoolProto) String() string { return proto.CompactTextString(m) }\nfunc (*BoolProto) ProtoMessage()    {}\n\nfunc (m *BoolProto) GetValue() bool {\n\tif m != nil && m.Value != nil {\n\t\treturn *m.Value\n\t}\n\treturn false\n}\n\ntype DoubleProto struct {\n\tValue            *float64 `protobuf:\"fixed64,1,req,name=value\" json:\"value,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *DoubleProto) Reset()         { *m = DoubleProto{} }\nfunc (m *DoubleProto) String() string { return proto.CompactTextString(m) }\nfunc (*DoubleProto) ProtoMessage()    {}\n\nfunc (m *DoubleProto) GetValue() float64 {\n\tif m != nil && m.Value != nil {\n\t\treturn *m.Value\n\t}\n\treturn 0\n}\n\ntype BytesProto struct {\n\tValue            []byte `protobuf:\"bytes,1,req,name=value\" json:\"value,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *BytesProto) Reset()         { *m = BytesProto{} }\nfunc (m *BytesProto) String() string { return proto.CompactTextString(m) }\nfunc (*BytesProto) ProtoMessage()    {}\n\nfunc (m *BytesProto) GetValue() []byte {\n\tif m != nil {\n\t\treturn m.Value\n\t}\n\treturn nil\n}\n\ntype VoidProto struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *VoidProto) Reset()         { *m = VoidProto{} }\nfunc (m *VoidProto) String() string { return proto.CompactTextString(m) }\nfunc (*VoidProto) ProtoMessage()    {}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go",
    "content": "// Code generated by protoc-gen-go.\n// source: google.golang.org/appengine/internal/datastore/datastore_v3.proto\n// DO NOT EDIT!\n\n/*\nPackage datastore is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle.golang.org/appengine/internal/datastore/datastore_v3.proto\n\nIt has these top-level messages:\n\tAction\n\tPropertyValue\n\tProperty\n\tPath\n\tReference\n\tUser\n\tEntityProto\n\tCompositeProperty\n\tIndex\n\tCompositeIndex\n\tIndexPostfix\n\tIndexPosition\n\tSnapshot\n\tInternalHeader\n\tTransaction\n\tQuery\n\tCompiledQuery\n\tCompiledCursor\n\tCursor\n\tError\n\tCost\n\tGetRequest\n\tGetResponse\n\tPutRequest\n\tPutResponse\n\tTouchRequest\n\tTouchResponse\n\tDeleteRequest\n\tDeleteResponse\n\tNextRequest\n\tQueryResult\n\tAllocateIdsRequest\n\tAllocateIdsResponse\n\tCompositeIndices\n\tAddActionsRequest\n\tAddActionsResponse\n\tBeginTransactionRequest\n\tCommitResponse\n*/\npackage datastore\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\ntype Property_Meaning int32\n\nconst (\n\tProperty_NO_MEANING       Property_Meaning = 0\n\tProperty_BLOB             Property_Meaning = 14\n\tProperty_TEXT             Property_Meaning = 15\n\tProperty_BYTESTRING       Property_Meaning = 16\n\tProperty_ATOM_CATEGORY    Property_Meaning = 1\n\tProperty_ATOM_LINK        Property_Meaning = 2\n\tProperty_ATOM_TITLE       Property_Meaning = 3\n\tProperty_ATOM_CONTENT     Property_Meaning = 4\n\tProperty_ATOM_SUMMARY     Property_Meaning = 5\n\tProperty_ATOM_AUTHOR      Property_Meaning = 6\n\tProperty_GD_WHEN          Property_Meaning = 7\n\tProperty_GD_EMAIL         Property_Meaning = 8\n\tProperty_GEORSS_POINT     Property_Meaning = 9\n\tProperty_GD_IM            Property_Meaning = 10\n\tProperty_GD_PHONENUMBER   Property_Meaning = 11\n\tProperty_GD_POSTALADDRESS Property_Meaning = 12\n\tProperty_GD_RATING        Property_Meaning = 13\n\tProperty_BLOBKEY          Property_Meaning = 17\n\tProperty_ENTITY_PROTO     Property_Meaning = 19\n\tProperty_INDEX_VALUE      Property_Meaning = 18\n)\n\nvar Property_Meaning_name = map[int32]string{\n\t0:  \"NO_MEANING\",\n\t14: \"BLOB\",\n\t15: \"TEXT\",\n\t16: \"BYTESTRING\",\n\t1:  \"ATOM_CATEGORY\",\n\t2:  \"ATOM_LINK\",\n\t3:  \"ATOM_TITLE\",\n\t4:  \"ATOM_CONTENT\",\n\t5:  \"ATOM_SUMMARY\",\n\t6:  \"ATOM_AUTHOR\",\n\t7:  \"GD_WHEN\",\n\t8:  \"GD_EMAIL\",\n\t9:  \"GEORSS_POINT\",\n\t10: \"GD_IM\",\n\t11: \"GD_PHONENUMBER\",\n\t12: \"GD_POSTALADDRESS\",\n\t13: \"GD_RATING\",\n\t17: \"BLOBKEY\",\n\t19: \"ENTITY_PROTO\",\n\t18: \"INDEX_VALUE\",\n}\nvar Property_Meaning_value = map[string]int32{\n\t\"NO_MEANING\":       0,\n\t\"BLOB\":             14,\n\t\"TEXT\":             15,\n\t\"BYTESTRING\":       16,\n\t\"ATOM_CATEGORY\":    1,\n\t\"ATOM_LINK\":        2,\n\t\"ATOM_TITLE\":       3,\n\t\"ATOM_CONTENT\":     4,\n\t\"ATOM_SUMMARY\":     5,\n\t\"ATOM_AUTHOR\":      6,\n\t\"GD_WHEN\":          7,\n\t\"GD_EMAIL\":         8,\n\t\"GEORSS_POINT\":     9,\n\t\"GD_IM\":            10,\n\t\"GD_PHONENUMBER\":   11,\n\t\"GD_POSTALADDRESS\": 12,\n\t\"GD_RATING\":        13,\n\t\"BLOBKEY\":          17,\n\t\"ENTITY_PROTO\":     19,\n\t\"INDEX_VALUE\":      18,\n}\n\nfunc (x Property_Meaning) Enum() *Property_Meaning {\n\tp := new(Property_Meaning)\n\t*p = x\n\treturn p\n}\nfunc (x Property_Meaning) String() string {\n\treturn proto.EnumName(Property_Meaning_name, int32(x))\n}\nfunc (x *Property_Meaning) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(Property_Meaning_value, data, \"Property_Meaning\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = Property_Meaning(value)\n\treturn nil\n}\n\ntype Property_FtsTokenizationOption int32\n\nconst (\n\tProperty_HTML Property_FtsTokenizationOption = 1\n\tProperty_ATOM Property_FtsTokenizationOption = 2\n)\n\nvar Property_FtsTokenizationOption_name = map[int32]string{\n\t1: \"HTML\",\n\t2: \"ATOM\",\n}\nvar Property_FtsTokenizationOption_value = map[string]int32{\n\t\"HTML\": 1,\n\t\"ATOM\": 2,\n}\n\nfunc (x Property_FtsTokenizationOption) Enum() *Property_FtsTokenizationOption {\n\tp := new(Property_FtsTokenizationOption)\n\t*p = x\n\treturn p\n}\nfunc (x Property_FtsTokenizationOption) String() string {\n\treturn proto.EnumName(Property_FtsTokenizationOption_name, int32(x))\n}\nfunc (x *Property_FtsTokenizationOption) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(Property_FtsTokenizationOption_value, data, \"Property_FtsTokenizationOption\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = Property_FtsTokenizationOption(value)\n\treturn nil\n}\n\ntype EntityProto_Kind int32\n\nconst (\n\tEntityProto_GD_CONTACT EntityProto_Kind = 1\n\tEntityProto_GD_EVENT   EntityProto_Kind = 2\n\tEntityProto_GD_MESSAGE EntityProto_Kind = 3\n)\n\nvar EntityProto_Kind_name = map[int32]string{\n\t1: \"GD_CONTACT\",\n\t2: \"GD_EVENT\",\n\t3: \"GD_MESSAGE\",\n}\nvar EntityProto_Kind_value = map[string]int32{\n\t\"GD_CONTACT\": 1,\n\t\"GD_EVENT\":   2,\n\t\"GD_MESSAGE\": 3,\n}\n\nfunc (x EntityProto_Kind) Enum() *EntityProto_Kind {\n\tp := new(EntityProto_Kind)\n\t*p = x\n\treturn p\n}\nfunc (x EntityProto_Kind) String() string {\n\treturn proto.EnumName(EntityProto_Kind_name, int32(x))\n}\nfunc (x *EntityProto_Kind) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(EntityProto_Kind_value, data, \"EntityProto_Kind\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = EntityProto_Kind(value)\n\treturn nil\n}\n\ntype Index_Property_Direction int32\n\nconst (\n\tIndex_Property_ASCENDING  Index_Property_Direction = 1\n\tIndex_Property_DESCENDING Index_Property_Direction = 2\n)\n\nvar Index_Property_Direction_name = map[int32]string{\n\t1: \"ASCENDING\",\n\t2: \"DESCENDING\",\n}\nvar Index_Property_Direction_value = map[string]int32{\n\t\"ASCENDING\":  1,\n\t\"DESCENDING\": 2,\n}\n\nfunc (x Index_Property_Direction) Enum() *Index_Property_Direction {\n\tp := new(Index_Property_Direction)\n\t*p = x\n\treturn p\n}\nfunc (x Index_Property_Direction) String() string {\n\treturn proto.EnumName(Index_Property_Direction_name, int32(x))\n}\nfunc (x *Index_Property_Direction) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(Index_Property_Direction_value, data, \"Index_Property_Direction\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = Index_Property_Direction(value)\n\treturn nil\n}\n\ntype CompositeIndex_State int32\n\nconst (\n\tCompositeIndex_WRITE_ONLY CompositeIndex_State = 1\n\tCompositeIndex_READ_WRITE CompositeIndex_State = 2\n\tCompositeIndex_DELETED    CompositeIndex_State = 3\n\tCompositeIndex_ERROR      CompositeIndex_State = 4\n)\n\nvar CompositeIndex_State_name = map[int32]string{\n\t1: \"WRITE_ONLY\",\n\t2: \"READ_WRITE\",\n\t3: \"DELETED\",\n\t4: \"ERROR\",\n}\nvar CompositeIndex_State_value = map[string]int32{\n\t\"WRITE_ONLY\": 1,\n\t\"READ_WRITE\": 2,\n\t\"DELETED\":    3,\n\t\"ERROR\":      4,\n}\n\nfunc (x CompositeIndex_State) Enum() *CompositeIndex_State {\n\tp := new(CompositeIndex_State)\n\t*p = x\n\treturn p\n}\nfunc (x CompositeIndex_State) String() string {\n\treturn proto.EnumName(CompositeIndex_State_name, int32(x))\n}\nfunc (x *CompositeIndex_State) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(CompositeIndex_State_value, data, \"CompositeIndex_State\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = CompositeIndex_State(value)\n\treturn nil\n}\n\ntype Snapshot_Status int32\n\nconst (\n\tSnapshot_INACTIVE Snapshot_Status = 0\n\tSnapshot_ACTIVE   Snapshot_Status = 1\n)\n\nvar Snapshot_Status_name = map[int32]string{\n\t0: \"INACTIVE\",\n\t1: \"ACTIVE\",\n}\nvar Snapshot_Status_value = map[string]int32{\n\t\"INACTIVE\": 0,\n\t\"ACTIVE\":   1,\n}\n\nfunc (x Snapshot_Status) Enum() *Snapshot_Status {\n\tp := new(Snapshot_Status)\n\t*p = x\n\treturn p\n}\nfunc (x Snapshot_Status) String() string {\n\treturn proto.EnumName(Snapshot_Status_name, int32(x))\n}\nfunc (x *Snapshot_Status) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(Snapshot_Status_value, data, \"Snapshot_Status\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = Snapshot_Status(value)\n\treturn nil\n}\n\ntype Query_Hint int32\n\nconst (\n\tQuery_ORDER_FIRST    Query_Hint = 1\n\tQuery_ANCESTOR_FIRST Query_Hint = 2\n\tQuery_FILTER_FIRST   Query_Hint = 3\n)\n\nvar Query_Hint_name = map[int32]string{\n\t1: \"ORDER_FIRST\",\n\t2: \"ANCESTOR_FIRST\",\n\t3: \"FILTER_FIRST\",\n}\nvar Query_Hint_value = map[string]int32{\n\t\"ORDER_FIRST\":    1,\n\t\"ANCESTOR_FIRST\": 2,\n\t\"FILTER_FIRST\":   3,\n}\n\nfunc (x Query_Hint) Enum() *Query_Hint {\n\tp := new(Query_Hint)\n\t*p = x\n\treturn p\n}\nfunc (x Query_Hint) String() string {\n\treturn proto.EnumName(Query_Hint_name, int32(x))\n}\nfunc (x *Query_Hint) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(Query_Hint_value, data, \"Query_Hint\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = Query_Hint(value)\n\treturn nil\n}\n\ntype Query_Filter_Operator int32\n\nconst (\n\tQuery_Filter_LESS_THAN             Query_Filter_Operator = 1\n\tQuery_Filter_LESS_THAN_OR_EQUAL    Query_Filter_Operator = 2\n\tQuery_Filter_GREATER_THAN          Query_Filter_Operator = 3\n\tQuery_Filter_GREATER_THAN_OR_EQUAL Query_Filter_Operator = 4\n\tQuery_Filter_EQUAL                 Query_Filter_Operator = 5\n\tQuery_Filter_IN                    Query_Filter_Operator = 6\n\tQuery_Filter_EXISTS                Query_Filter_Operator = 7\n)\n\nvar Query_Filter_Operator_name = map[int32]string{\n\t1: \"LESS_THAN\",\n\t2: \"LESS_THAN_OR_EQUAL\",\n\t3: \"GREATER_THAN\",\n\t4: \"GREATER_THAN_OR_EQUAL\",\n\t5: \"EQUAL\",\n\t6: \"IN\",\n\t7: \"EXISTS\",\n}\nvar Query_Filter_Operator_value = map[string]int32{\n\t\"LESS_THAN\":             1,\n\t\"LESS_THAN_OR_EQUAL\":    2,\n\t\"GREATER_THAN\":          3,\n\t\"GREATER_THAN_OR_EQUAL\": 4,\n\t\"EQUAL\":                 5,\n\t\"IN\":                    6,\n\t\"EXISTS\":                7,\n}\n\nfunc (x Query_Filter_Operator) Enum() *Query_Filter_Operator {\n\tp := new(Query_Filter_Operator)\n\t*p = x\n\treturn p\n}\nfunc (x Query_Filter_Operator) String() string {\n\treturn proto.EnumName(Query_Filter_Operator_name, int32(x))\n}\nfunc (x *Query_Filter_Operator) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(Query_Filter_Operator_value, data, \"Query_Filter_Operator\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = Query_Filter_Operator(value)\n\treturn nil\n}\n\ntype Query_Order_Direction int32\n\nconst (\n\tQuery_Order_ASCENDING  Query_Order_Direction = 1\n\tQuery_Order_DESCENDING Query_Order_Direction = 2\n)\n\nvar Query_Order_Direction_name = map[int32]string{\n\t1: \"ASCENDING\",\n\t2: \"DESCENDING\",\n}\nvar Query_Order_Direction_value = map[string]int32{\n\t\"ASCENDING\":  1,\n\t\"DESCENDING\": 2,\n}\n\nfunc (x Query_Order_Direction) Enum() *Query_Order_Direction {\n\tp := new(Query_Order_Direction)\n\t*p = x\n\treturn p\n}\nfunc (x Query_Order_Direction) String() string {\n\treturn proto.EnumName(Query_Order_Direction_name, int32(x))\n}\nfunc (x *Query_Order_Direction) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(Query_Order_Direction_value, data, \"Query_Order_Direction\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = Query_Order_Direction(value)\n\treturn nil\n}\n\ntype Error_ErrorCode int32\n\nconst (\n\tError_BAD_REQUEST                  Error_ErrorCode = 1\n\tError_CONCURRENT_TRANSACTION       Error_ErrorCode = 2\n\tError_INTERNAL_ERROR               Error_ErrorCode = 3\n\tError_NEED_INDEX                   Error_ErrorCode = 4\n\tError_TIMEOUT                      Error_ErrorCode = 5\n\tError_PERMISSION_DENIED            Error_ErrorCode = 6\n\tError_BIGTABLE_ERROR               Error_ErrorCode = 7\n\tError_COMMITTED_BUT_STILL_APPLYING Error_ErrorCode = 8\n\tError_CAPABILITY_DISABLED          Error_ErrorCode = 9\n\tError_TRY_ALTERNATE_BACKEND        Error_ErrorCode = 10\n\tError_SAFE_TIME_TOO_OLD            Error_ErrorCode = 11\n)\n\nvar Error_ErrorCode_name = map[int32]string{\n\t1:  \"BAD_REQUEST\",\n\t2:  \"CONCURRENT_TRANSACTION\",\n\t3:  \"INTERNAL_ERROR\",\n\t4:  \"NEED_INDEX\",\n\t5:  \"TIMEOUT\",\n\t6:  \"PERMISSION_DENIED\",\n\t7:  \"BIGTABLE_ERROR\",\n\t8:  \"COMMITTED_BUT_STILL_APPLYING\",\n\t9:  \"CAPABILITY_DISABLED\",\n\t10: \"TRY_ALTERNATE_BACKEND\",\n\t11: \"SAFE_TIME_TOO_OLD\",\n}\nvar Error_ErrorCode_value = map[string]int32{\n\t\"BAD_REQUEST\":                  1,\n\t\"CONCURRENT_TRANSACTION\":       2,\n\t\"INTERNAL_ERROR\":               3,\n\t\"NEED_INDEX\":                   4,\n\t\"TIMEOUT\":                      5,\n\t\"PERMISSION_DENIED\":            6,\n\t\"BIGTABLE_ERROR\":               7,\n\t\"COMMITTED_BUT_STILL_APPLYING\": 8,\n\t\"CAPABILITY_DISABLED\":          9,\n\t\"TRY_ALTERNATE_BACKEND\":        10,\n\t\"SAFE_TIME_TOO_OLD\":            11,\n}\n\nfunc (x Error_ErrorCode) Enum() *Error_ErrorCode {\n\tp := new(Error_ErrorCode)\n\t*p = x\n\treturn p\n}\nfunc (x Error_ErrorCode) String() string {\n\treturn proto.EnumName(Error_ErrorCode_name, int32(x))\n}\nfunc (x *Error_ErrorCode) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(Error_ErrorCode_value, data, \"Error_ErrorCode\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = Error_ErrorCode(value)\n\treturn nil\n}\n\ntype PutRequest_AutoIdPolicy int32\n\nconst (\n\tPutRequest_CURRENT    PutRequest_AutoIdPolicy = 0\n\tPutRequest_SEQUENTIAL PutRequest_AutoIdPolicy = 1\n)\n\nvar PutRequest_AutoIdPolicy_name = map[int32]string{\n\t0: \"CURRENT\",\n\t1: \"SEQUENTIAL\",\n}\nvar PutRequest_AutoIdPolicy_value = map[string]int32{\n\t\"CURRENT\":    0,\n\t\"SEQUENTIAL\": 1,\n}\n\nfunc (x PutRequest_AutoIdPolicy) Enum() *PutRequest_AutoIdPolicy {\n\tp := new(PutRequest_AutoIdPolicy)\n\t*p = x\n\treturn p\n}\nfunc (x PutRequest_AutoIdPolicy) String() string {\n\treturn proto.EnumName(PutRequest_AutoIdPolicy_name, int32(x))\n}\nfunc (x *PutRequest_AutoIdPolicy) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(PutRequest_AutoIdPolicy_value, data, \"PutRequest_AutoIdPolicy\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = PutRequest_AutoIdPolicy(value)\n\treturn nil\n}\n\ntype Action struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *Action) Reset()         { *m = Action{} }\nfunc (m *Action) String() string { return proto.CompactTextString(m) }\nfunc (*Action) ProtoMessage()    {}\n\ntype PropertyValue struct {\n\tInt64Value       *int64                        `protobuf:\"varint,1,opt,name=int64Value\" json:\"int64Value,omitempty\"`\n\tBooleanValue     *bool                         `protobuf:\"varint,2,opt,name=booleanValue\" json:\"booleanValue,omitempty\"`\n\tStringValue      *string                       `protobuf:\"bytes,3,opt,name=stringValue\" json:\"stringValue,omitempty\"`\n\tDoubleValue      *float64                      `protobuf:\"fixed64,4,opt,name=doubleValue\" json:\"doubleValue,omitempty\"`\n\tPointvalue       *PropertyValue_PointValue     `protobuf:\"group,5,opt,name=PointValue\" json:\"pointvalue,omitempty\"`\n\tUservalue        *PropertyValue_UserValue      `protobuf:\"group,8,opt,name=UserValue\" json:\"uservalue,omitempty\"`\n\tReferencevalue   *PropertyValue_ReferenceValue `protobuf:\"group,12,opt,name=ReferenceValue\" json:\"referencevalue,omitempty\"`\n\tXXX_unrecognized []byte                        `json:\"-\"`\n}\n\nfunc (m *PropertyValue) Reset()         { *m = PropertyValue{} }\nfunc (m *PropertyValue) String() string { return proto.CompactTextString(m) }\nfunc (*PropertyValue) ProtoMessage()    {}\n\nfunc (m *PropertyValue) GetInt64Value() int64 {\n\tif m != nil && m.Int64Value != nil {\n\t\treturn *m.Int64Value\n\t}\n\treturn 0\n}\n\nfunc (m *PropertyValue) GetBooleanValue() bool {\n\tif m != nil && m.BooleanValue != nil {\n\t\treturn *m.BooleanValue\n\t}\n\treturn false\n}\n\nfunc (m *PropertyValue) GetStringValue() string {\n\tif m != nil && m.StringValue != nil {\n\t\treturn *m.StringValue\n\t}\n\treturn \"\"\n}\n\nfunc (m *PropertyValue) GetDoubleValue() float64 {\n\tif m != nil && m.DoubleValue != nil {\n\t\treturn *m.DoubleValue\n\t}\n\treturn 0\n}\n\nfunc (m *PropertyValue) GetPointvalue() *PropertyValue_PointValue {\n\tif m != nil {\n\t\treturn m.Pointvalue\n\t}\n\treturn nil\n}\n\nfunc (m *PropertyValue) GetUservalue() *PropertyValue_UserValue {\n\tif m != nil {\n\t\treturn m.Uservalue\n\t}\n\treturn nil\n}\n\nfunc (m *PropertyValue) GetReferencevalue() *PropertyValue_ReferenceValue {\n\tif m != nil {\n\t\treturn m.Referencevalue\n\t}\n\treturn nil\n}\n\ntype PropertyValue_PointValue struct {\n\tX                *float64 `protobuf:\"fixed64,6,req,name=x\" json:\"x,omitempty\"`\n\tY                *float64 `protobuf:\"fixed64,7,req,name=y\" json:\"y,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *PropertyValue_PointValue) Reset()         { *m = PropertyValue_PointValue{} }\nfunc (m *PropertyValue_PointValue) String() string { return proto.CompactTextString(m) }\nfunc (*PropertyValue_PointValue) ProtoMessage()    {}\n\nfunc (m *PropertyValue_PointValue) GetX() float64 {\n\tif m != nil && m.X != nil {\n\t\treturn *m.X\n\t}\n\treturn 0\n}\n\nfunc (m *PropertyValue_PointValue) GetY() float64 {\n\tif m != nil && m.Y != nil {\n\t\treturn *m.Y\n\t}\n\treturn 0\n}\n\ntype PropertyValue_UserValue struct {\n\tEmail             *string `protobuf:\"bytes,9,req,name=email\" json:\"email,omitempty\"`\n\tAuthDomain        *string `protobuf:\"bytes,10,req,name=auth_domain\" json:\"auth_domain,omitempty\"`\n\tNickname          *string `protobuf:\"bytes,11,opt,name=nickname\" json:\"nickname,omitempty\"`\n\tFederatedIdentity *string `protobuf:\"bytes,21,opt,name=federated_identity\" json:\"federated_identity,omitempty\"`\n\tFederatedProvider *string `protobuf:\"bytes,22,opt,name=federated_provider\" json:\"federated_provider,omitempty\"`\n\tXXX_unrecognized  []byte  `json:\"-\"`\n}\n\nfunc (m *PropertyValue_UserValue) Reset()         { *m = PropertyValue_UserValue{} }\nfunc (m *PropertyValue_UserValue) String() string { return proto.CompactTextString(m) }\nfunc (*PropertyValue_UserValue) ProtoMessage()    {}\n\nfunc (m *PropertyValue_UserValue) GetEmail() string {\n\tif m != nil && m.Email != nil {\n\t\treturn *m.Email\n\t}\n\treturn \"\"\n}\n\nfunc (m *PropertyValue_UserValue) GetAuthDomain() string {\n\tif m != nil && m.AuthDomain != nil {\n\t\treturn *m.AuthDomain\n\t}\n\treturn \"\"\n}\n\nfunc (m *PropertyValue_UserValue) GetNickname() string {\n\tif m != nil && m.Nickname != nil {\n\t\treturn *m.Nickname\n\t}\n\treturn \"\"\n}\n\nfunc (m *PropertyValue_UserValue) GetFederatedIdentity() string {\n\tif m != nil && m.FederatedIdentity != nil {\n\t\treturn *m.FederatedIdentity\n\t}\n\treturn \"\"\n}\n\nfunc (m *PropertyValue_UserValue) GetFederatedProvider() string {\n\tif m != nil && m.FederatedProvider != nil {\n\t\treturn *m.FederatedProvider\n\t}\n\treturn \"\"\n}\n\ntype PropertyValue_ReferenceValue struct {\n\tApp              *string                                     `protobuf:\"bytes,13,req,name=app\" json:\"app,omitempty\"`\n\tNameSpace        *string                                     `protobuf:\"bytes,20,opt,name=name_space\" json:\"name_space,omitempty\"`\n\tPathelement      []*PropertyValue_ReferenceValue_PathElement `protobuf:\"group,14,rep,name=PathElement\" json:\"pathelement,omitempty\"`\n\tXXX_unrecognized []byte                                      `json:\"-\"`\n}\n\nfunc (m *PropertyValue_ReferenceValue) Reset()         { *m = PropertyValue_ReferenceValue{} }\nfunc (m *PropertyValue_ReferenceValue) String() string { return proto.CompactTextString(m) }\nfunc (*PropertyValue_ReferenceValue) ProtoMessage()    {}\n\nfunc (m *PropertyValue_ReferenceValue) GetApp() string {\n\tif m != nil && m.App != nil {\n\t\treturn *m.App\n\t}\n\treturn \"\"\n}\n\nfunc (m *PropertyValue_ReferenceValue) GetNameSpace() string {\n\tif m != nil && m.NameSpace != nil {\n\t\treturn *m.NameSpace\n\t}\n\treturn \"\"\n}\n\nfunc (m *PropertyValue_ReferenceValue) GetPathelement() []*PropertyValue_ReferenceValue_PathElement {\n\tif m != nil {\n\t\treturn m.Pathelement\n\t}\n\treturn nil\n}\n\ntype PropertyValue_ReferenceValue_PathElement struct {\n\tType             *string `protobuf:\"bytes,15,req,name=type\" json:\"type,omitempty\"`\n\tId               *int64  `protobuf:\"varint,16,opt,name=id\" json:\"id,omitempty\"`\n\tName             *string `protobuf:\"bytes,17,opt,name=name\" json:\"name,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *PropertyValue_ReferenceValue_PathElement) Reset() {\n\t*m = PropertyValue_ReferenceValue_PathElement{}\n}\nfunc (m *PropertyValue_ReferenceValue_PathElement) String() string { return proto.CompactTextString(m) }\nfunc (*PropertyValue_ReferenceValue_PathElement) ProtoMessage()    {}\n\nfunc (m *PropertyValue_ReferenceValue_PathElement) GetType() string {\n\tif m != nil && m.Type != nil {\n\t\treturn *m.Type\n\t}\n\treturn \"\"\n}\n\nfunc (m *PropertyValue_ReferenceValue_PathElement) GetId() int64 {\n\tif m != nil && m.Id != nil {\n\t\treturn *m.Id\n\t}\n\treturn 0\n}\n\nfunc (m *PropertyValue_ReferenceValue_PathElement) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\ntype Property struct {\n\tMeaning               *Property_Meaning               `protobuf:\"varint,1,opt,name=meaning,enum=appengine.Property_Meaning,def=0\" json:\"meaning,omitempty\"`\n\tMeaningUri            *string                         `protobuf:\"bytes,2,opt,name=meaning_uri\" json:\"meaning_uri,omitempty\"`\n\tName                  *string                         `protobuf:\"bytes,3,req,name=name\" json:\"name,omitempty\"`\n\tValue                 *PropertyValue                  `protobuf:\"bytes,5,req,name=value\" json:\"value,omitempty\"`\n\tMultiple              *bool                           `protobuf:\"varint,4,req,name=multiple\" json:\"multiple,omitempty\"`\n\tSearchable            *bool                           `protobuf:\"varint,6,opt,name=searchable,def=0\" json:\"searchable,omitempty\"`\n\tFtsTokenizationOption *Property_FtsTokenizationOption `protobuf:\"varint,8,opt,name=fts_tokenization_option,enum=appengine.Property_FtsTokenizationOption\" json:\"fts_tokenization_option,omitempty\"`\n\tLocale                *string                         `protobuf:\"bytes,9,opt,name=locale,def=en\" json:\"locale,omitempty\"`\n\tXXX_unrecognized      []byte                          `json:\"-\"`\n}\n\nfunc (m *Property) Reset()         { *m = Property{} }\nfunc (m *Property) String() string { return proto.CompactTextString(m) }\nfunc (*Property) ProtoMessage()    {}\n\nconst Default_Property_Meaning Property_Meaning = Property_NO_MEANING\nconst Default_Property_Searchable bool = false\nconst Default_Property_Locale string = \"en\"\n\nfunc (m *Property) GetMeaning() Property_Meaning {\n\tif m != nil && m.Meaning != nil {\n\t\treturn *m.Meaning\n\t}\n\treturn Default_Property_Meaning\n}\n\nfunc (m *Property) GetMeaningUri() string {\n\tif m != nil && m.MeaningUri != nil {\n\t\treturn *m.MeaningUri\n\t}\n\treturn \"\"\n}\n\nfunc (m *Property) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *Property) GetValue() *PropertyValue {\n\tif m != nil {\n\t\treturn m.Value\n\t}\n\treturn nil\n}\n\nfunc (m *Property) GetMultiple() bool {\n\tif m != nil && m.Multiple != nil {\n\t\treturn *m.Multiple\n\t}\n\treturn false\n}\n\nfunc (m *Property) GetSearchable() bool {\n\tif m != nil && m.Searchable != nil {\n\t\treturn *m.Searchable\n\t}\n\treturn Default_Property_Searchable\n}\n\nfunc (m *Property) GetFtsTokenizationOption() Property_FtsTokenizationOption {\n\tif m != nil && m.FtsTokenizationOption != nil {\n\t\treturn *m.FtsTokenizationOption\n\t}\n\treturn Property_HTML\n}\n\nfunc (m *Property) GetLocale() string {\n\tif m != nil && m.Locale != nil {\n\t\treturn *m.Locale\n\t}\n\treturn Default_Property_Locale\n}\n\ntype Path struct {\n\tElement          []*Path_Element `protobuf:\"group,1,rep,name=Element\" json:\"element,omitempty\"`\n\tXXX_unrecognized []byte          `json:\"-\"`\n}\n\nfunc (m *Path) Reset()         { *m = Path{} }\nfunc (m *Path) String() string { return proto.CompactTextString(m) }\nfunc (*Path) ProtoMessage()    {}\n\nfunc (m *Path) GetElement() []*Path_Element {\n\tif m != nil {\n\t\treturn m.Element\n\t}\n\treturn nil\n}\n\ntype Path_Element struct {\n\tType             *string `protobuf:\"bytes,2,req,name=type\" json:\"type,omitempty\"`\n\tId               *int64  `protobuf:\"varint,3,opt,name=id\" json:\"id,omitempty\"`\n\tName             *string `protobuf:\"bytes,4,opt,name=name\" json:\"name,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *Path_Element) Reset()         { *m = Path_Element{} }\nfunc (m *Path_Element) String() string { return proto.CompactTextString(m) }\nfunc (*Path_Element) ProtoMessage()    {}\n\nfunc (m *Path_Element) GetType() string {\n\tif m != nil && m.Type != nil {\n\t\treturn *m.Type\n\t}\n\treturn \"\"\n}\n\nfunc (m *Path_Element) GetId() int64 {\n\tif m != nil && m.Id != nil {\n\t\treturn *m.Id\n\t}\n\treturn 0\n}\n\nfunc (m *Path_Element) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\ntype Reference struct {\n\tApp              *string `protobuf:\"bytes,13,req,name=app\" json:\"app,omitempty\"`\n\tNameSpace        *string `protobuf:\"bytes,20,opt,name=name_space\" json:\"name_space,omitempty\"`\n\tPath             *Path   `protobuf:\"bytes,14,req,name=path\" json:\"path,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *Reference) Reset()         { *m = Reference{} }\nfunc (m *Reference) String() string { return proto.CompactTextString(m) }\nfunc (*Reference) ProtoMessage()    {}\n\nfunc (m *Reference) GetApp() string {\n\tif m != nil && m.App != nil {\n\t\treturn *m.App\n\t}\n\treturn \"\"\n}\n\nfunc (m *Reference) GetNameSpace() string {\n\tif m != nil && m.NameSpace != nil {\n\t\treturn *m.NameSpace\n\t}\n\treturn \"\"\n}\n\nfunc (m *Reference) GetPath() *Path {\n\tif m != nil {\n\t\treturn m.Path\n\t}\n\treturn nil\n}\n\ntype User struct {\n\tEmail             *string `protobuf:\"bytes,1,req,name=email\" json:\"email,omitempty\"`\n\tAuthDomain        *string `protobuf:\"bytes,2,req,name=auth_domain\" json:\"auth_domain,omitempty\"`\n\tNickname          *string `protobuf:\"bytes,3,opt,name=nickname\" json:\"nickname,omitempty\"`\n\tFederatedIdentity *string `protobuf:\"bytes,6,opt,name=federated_identity\" json:\"federated_identity,omitempty\"`\n\tFederatedProvider *string `protobuf:\"bytes,7,opt,name=federated_provider\" json:\"federated_provider,omitempty\"`\n\tXXX_unrecognized  []byte  `json:\"-\"`\n}\n\nfunc (m *User) Reset()         { *m = User{} }\nfunc (m *User) String() string { return proto.CompactTextString(m) }\nfunc (*User) ProtoMessage()    {}\n\nfunc (m *User) GetEmail() string {\n\tif m != nil && m.Email != nil {\n\t\treturn *m.Email\n\t}\n\treturn \"\"\n}\n\nfunc (m *User) GetAuthDomain() string {\n\tif m != nil && m.AuthDomain != nil {\n\t\treturn *m.AuthDomain\n\t}\n\treturn \"\"\n}\n\nfunc (m *User) GetNickname() string {\n\tif m != nil && m.Nickname != nil {\n\t\treturn *m.Nickname\n\t}\n\treturn \"\"\n}\n\nfunc (m *User) GetFederatedIdentity() string {\n\tif m != nil && m.FederatedIdentity != nil {\n\t\treturn *m.FederatedIdentity\n\t}\n\treturn \"\"\n}\n\nfunc (m *User) GetFederatedProvider() string {\n\tif m != nil && m.FederatedProvider != nil {\n\t\treturn *m.FederatedProvider\n\t}\n\treturn \"\"\n}\n\ntype EntityProto struct {\n\tKey              *Reference        `protobuf:\"bytes,13,req,name=key\" json:\"key,omitempty\"`\n\tEntityGroup      *Path             `protobuf:\"bytes,16,req,name=entity_group\" json:\"entity_group,omitempty\"`\n\tOwner            *User             `protobuf:\"bytes,17,opt,name=owner\" json:\"owner,omitempty\"`\n\tKind             *EntityProto_Kind `protobuf:\"varint,4,opt,name=kind,enum=appengine.EntityProto_Kind\" json:\"kind,omitempty\"`\n\tKindUri          *string           `protobuf:\"bytes,5,opt,name=kind_uri\" json:\"kind_uri,omitempty\"`\n\tProperty         []*Property       `protobuf:\"bytes,14,rep,name=property\" json:\"property,omitempty\"`\n\tRawProperty      []*Property       `protobuf:\"bytes,15,rep,name=raw_property\" json:\"raw_property,omitempty\"`\n\tRank             *int32            `protobuf:\"varint,18,opt,name=rank\" json:\"rank,omitempty\"`\n\tXXX_unrecognized []byte            `json:\"-\"`\n}\n\nfunc (m *EntityProto) Reset()         { *m = EntityProto{} }\nfunc (m *EntityProto) String() string { return proto.CompactTextString(m) }\nfunc (*EntityProto) ProtoMessage()    {}\n\nfunc (m *EntityProto) GetKey() *Reference {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *EntityProto) GetEntityGroup() *Path {\n\tif m != nil {\n\t\treturn m.EntityGroup\n\t}\n\treturn nil\n}\n\nfunc (m *EntityProto) GetOwner() *User {\n\tif m != nil {\n\t\treturn m.Owner\n\t}\n\treturn nil\n}\n\nfunc (m *EntityProto) GetKind() EntityProto_Kind {\n\tif m != nil && m.Kind != nil {\n\t\treturn *m.Kind\n\t}\n\treturn EntityProto_GD_CONTACT\n}\n\nfunc (m *EntityProto) GetKindUri() string {\n\tif m != nil && m.KindUri != nil {\n\t\treturn *m.KindUri\n\t}\n\treturn \"\"\n}\n\nfunc (m *EntityProto) GetProperty() []*Property {\n\tif m != nil {\n\t\treturn m.Property\n\t}\n\treturn nil\n}\n\nfunc (m *EntityProto) GetRawProperty() []*Property {\n\tif m != nil {\n\t\treturn m.RawProperty\n\t}\n\treturn nil\n}\n\nfunc (m *EntityProto) GetRank() int32 {\n\tif m != nil && m.Rank != nil {\n\t\treturn *m.Rank\n\t}\n\treturn 0\n}\n\ntype CompositeProperty struct {\n\tIndexId          *int64   `protobuf:\"varint,1,req,name=index_id\" json:\"index_id,omitempty\"`\n\tValue            []string `protobuf:\"bytes,2,rep,name=value\" json:\"value,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *CompositeProperty) Reset()         { *m = CompositeProperty{} }\nfunc (m *CompositeProperty) String() string { return proto.CompactTextString(m) }\nfunc (*CompositeProperty) ProtoMessage()    {}\n\nfunc (m *CompositeProperty) GetIndexId() int64 {\n\tif m != nil && m.IndexId != nil {\n\t\treturn *m.IndexId\n\t}\n\treturn 0\n}\n\nfunc (m *CompositeProperty) GetValue() []string {\n\tif m != nil {\n\t\treturn m.Value\n\t}\n\treturn nil\n}\n\ntype Index struct {\n\tEntityType       *string           `protobuf:\"bytes,1,req,name=entity_type\" json:\"entity_type,omitempty\"`\n\tAncestor         *bool             `protobuf:\"varint,5,req,name=ancestor\" json:\"ancestor,omitempty\"`\n\tProperty         []*Index_Property `protobuf:\"group,2,rep,name=Property\" json:\"property,omitempty\"`\n\tXXX_unrecognized []byte            `json:\"-\"`\n}\n\nfunc (m *Index) Reset()         { *m = Index{} }\nfunc (m *Index) String() string { return proto.CompactTextString(m) }\nfunc (*Index) ProtoMessage()    {}\n\nfunc (m *Index) GetEntityType() string {\n\tif m != nil && m.EntityType != nil {\n\t\treturn *m.EntityType\n\t}\n\treturn \"\"\n}\n\nfunc (m *Index) GetAncestor() bool {\n\tif m != nil && m.Ancestor != nil {\n\t\treturn *m.Ancestor\n\t}\n\treturn false\n}\n\nfunc (m *Index) GetProperty() []*Index_Property {\n\tif m != nil {\n\t\treturn m.Property\n\t}\n\treturn nil\n}\n\ntype Index_Property struct {\n\tName             *string                   `protobuf:\"bytes,3,req,name=name\" json:\"name,omitempty\"`\n\tDirection        *Index_Property_Direction `protobuf:\"varint,4,opt,name=direction,enum=appengine.Index_Property_Direction,def=1\" json:\"direction,omitempty\"`\n\tXXX_unrecognized []byte                    `json:\"-\"`\n}\n\nfunc (m *Index_Property) Reset()         { *m = Index_Property{} }\nfunc (m *Index_Property) String() string { return proto.CompactTextString(m) }\nfunc (*Index_Property) ProtoMessage()    {}\n\nconst Default_Index_Property_Direction Index_Property_Direction = Index_Property_ASCENDING\n\nfunc (m *Index_Property) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *Index_Property) GetDirection() Index_Property_Direction {\n\tif m != nil && m.Direction != nil {\n\t\treturn *m.Direction\n\t}\n\treturn Default_Index_Property_Direction\n}\n\ntype CompositeIndex struct {\n\tAppId             *string               `protobuf:\"bytes,1,req,name=app_id\" json:\"app_id,omitempty\"`\n\tId                *int64                `protobuf:\"varint,2,req,name=id\" json:\"id,omitempty\"`\n\tDefinition        *Index                `protobuf:\"bytes,3,req,name=definition\" json:\"definition,omitempty\"`\n\tState             *CompositeIndex_State `protobuf:\"varint,4,req,name=state,enum=appengine.CompositeIndex_State\" json:\"state,omitempty\"`\n\tOnlyUseIfRequired *bool                 `protobuf:\"varint,6,opt,name=only_use_if_required,def=0\" json:\"only_use_if_required,omitempty\"`\n\tXXX_unrecognized  []byte                `json:\"-\"`\n}\n\nfunc (m *CompositeIndex) Reset()         { *m = CompositeIndex{} }\nfunc (m *CompositeIndex) String() string { return proto.CompactTextString(m) }\nfunc (*CompositeIndex) ProtoMessage()    {}\n\nconst Default_CompositeIndex_OnlyUseIfRequired bool = false\n\nfunc (m *CompositeIndex) GetAppId() string {\n\tif m != nil && m.AppId != nil {\n\t\treturn *m.AppId\n\t}\n\treturn \"\"\n}\n\nfunc (m *CompositeIndex) GetId() int64 {\n\tif m != nil && m.Id != nil {\n\t\treturn *m.Id\n\t}\n\treturn 0\n}\n\nfunc (m *CompositeIndex) GetDefinition() *Index {\n\tif m != nil {\n\t\treturn m.Definition\n\t}\n\treturn nil\n}\n\nfunc (m *CompositeIndex) GetState() CompositeIndex_State {\n\tif m != nil && m.State != nil {\n\t\treturn *m.State\n\t}\n\treturn CompositeIndex_WRITE_ONLY\n}\n\nfunc (m *CompositeIndex) GetOnlyUseIfRequired() bool {\n\tif m != nil && m.OnlyUseIfRequired != nil {\n\t\treturn *m.OnlyUseIfRequired\n\t}\n\treturn Default_CompositeIndex_OnlyUseIfRequired\n}\n\ntype IndexPostfix struct {\n\tIndexValue       []*IndexPostfix_IndexValue `protobuf:\"bytes,1,rep,name=index_value\" json:\"index_value,omitempty\"`\n\tKey              *Reference                 `protobuf:\"bytes,2,opt,name=key\" json:\"key,omitempty\"`\n\tBefore           *bool                      `protobuf:\"varint,3,opt,name=before,def=1\" json:\"before,omitempty\"`\n\tXXX_unrecognized []byte                     `json:\"-\"`\n}\n\nfunc (m *IndexPostfix) Reset()         { *m = IndexPostfix{} }\nfunc (m *IndexPostfix) String() string { return proto.CompactTextString(m) }\nfunc (*IndexPostfix) ProtoMessage()    {}\n\nconst Default_IndexPostfix_Before bool = true\n\nfunc (m *IndexPostfix) GetIndexValue() []*IndexPostfix_IndexValue {\n\tif m != nil {\n\t\treturn m.IndexValue\n\t}\n\treturn nil\n}\n\nfunc (m *IndexPostfix) GetKey() *Reference {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *IndexPostfix) GetBefore() bool {\n\tif m != nil && m.Before != nil {\n\t\treturn *m.Before\n\t}\n\treturn Default_IndexPostfix_Before\n}\n\ntype IndexPostfix_IndexValue struct {\n\tPropertyName     *string        `protobuf:\"bytes,1,req,name=property_name\" json:\"property_name,omitempty\"`\n\tValue            *PropertyValue `protobuf:\"bytes,2,req,name=value\" json:\"value,omitempty\"`\n\tXXX_unrecognized []byte         `json:\"-\"`\n}\n\nfunc (m *IndexPostfix_IndexValue) Reset()         { *m = IndexPostfix_IndexValue{} }\nfunc (m *IndexPostfix_IndexValue) String() string { return proto.CompactTextString(m) }\nfunc (*IndexPostfix_IndexValue) ProtoMessage()    {}\n\nfunc (m *IndexPostfix_IndexValue) GetPropertyName() string {\n\tif m != nil && m.PropertyName != nil {\n\t\treturn *m.PropertyName\n\t}\n\treturn \"\"\n}\n\nfunc (m *IndexPostfix_IndexValue) GetValue() *PropertyValue {\n\tif m != nil {\n\t\treturn m.Value\n\t}\n\treturn nil\n}\n\ntype IndexPosition struct {\n\tKey              *string `protobuf:\"bytes,1,opt,name=key\" json:\"key,omitempty\"`\n\tBefore           *bool   `protobuf:\"varint,2,opt,name=before,def=1\" json:\"before,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *IndexPosition) Reset()         { *m = IndexPosition{} }\nfunc (m *IndexPosition) String() string { return proto.CompactTextString(m) }\nfunc (*IndexPosition) ProtoMessage()    {}\n\nconst Default_IndexPosition_Before bool = true\n\nfunc (m *IndexPosition) GetKey() string {\n\tif m != nil && m.Key != nil {\n\t\treturn *m.Key\n\t}\n\treturn \"\"\n}\n\nfunc (m *IndexPosition) GetBefore() bool {\n\tif m != nil && m.Before != nil {\n\t\treturn *m.Before\n\t}\n\treturn Default_IndexPosition_Before\n}\n\ntype Snapshot struct {\n\tTs               *int64 `protobuf:\"varint,1,req,name=ts\" json:\"ts,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *Snapshot) Reset()         { *m = Snapshot{} }\nfunc (m *Snapshot) String() string { return proto.CompactTextString(m) }\nfunc (*Snapshot) ProtoMessage()    {}\n\nfunc (m *Snapshot) GetTs() int64 {\n\tif m != nil && m.Ts != nil {\n\t\treturn *m.Ts\n\t}\n\treturn 0\n}\n\ntype InternalHeader struct {\n\tQos              *string `protobuf:\"bytes,1,opt,name=qos\" json:\"qos,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *InternalHeader) Reset()         { *m = InternalHeader{} }\nfunc (m *InternalHeader) String() string { return proto.CompactTextString(m) }\nfunc (*InternalHeader) ProtoMessage()    {}\n\nfunc (m *InternalHeader) GetQos() string {\n\tif m != nil && m.Qos != nil {\n\t\treturn *m.Qos\n\t}\n\treturn \"\"\n}\n\ntype Transaction struct {\n\tHeader           *InternalHeader `protobuf:\"bytes,4,opt,name=header\" json:\"header,omitempty\"`\n\tHandle           *uint64         `protobuf:\"fixed64,1,req,name=handle\" json:\"handle,omitempty\"`\n\tApp              *string         `protobuf:\"bytes,2,req,name=app\" json:\"app,omitempty\"`\n\tMarkChanges      *bool           `protobuf:\"varint,3,opt,name=mark_changes,def=0\" json:\"mark_changes,omitempty\"`\n\tXXX_unrecognized []byte          `json:\"-\"`\n}\n\nfunc (m *Transaction) Reset()         { *m = Transaction{} }\nfunc (m *Transaction) String() string { return proto.CompactTextString(m) }\nfunc (*Transaction) ProtoMessage()    {}\n\nconst Default_Transaction_MarkChanges bool = false\n\nfunc (m *Transaction) GetHeader() *InternalHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *Transaction) GetHandle() uint64 {\n\tif m != nil && m.Handle != nil {\n\t\treturn *m.Handle\n\t}\n\treturn 0\n}\n\nfunc (m *Transaction) GetApp() string {\n\tif m != nil && m.App != nil {\n\t\treturn *m.App\n\t}\n\treturn \"\"\n}\n\nfunc (m *Transaction) GetMarkChanges() bool {\n\tif m != nil && m.MarkChanges != nil {\n\t\treturn *m.MarkChanges\n\t}\n\treturn Default_Transaction_MarkChanges\n}\n\ntype Query struct {\n\tHeader              *InternalHeader   `protobuf:\"bytes,39,opt,name=header\" json:\"header,omitempty\"`\n\tApp                 *string           `protobuf:\"bytes,1,req,name=app\" json:\"app,omitempty\"`\n\tNameSpace           *string           `protobuf:\"bytes,29,opt,name=name_space\" json:\"name_space,omitempty\"`\n\tKind                *string           `protobuf:\"bytes,3,opt,name=kind\" json:\"kind,omitempty\"`\n\tAncestor            *Reference        `protobuf:\"bytes,17,opt,name=ancestor\" json:\"ancestor,omitempty\"`\n\tFilter              []*Query_Filter   `protobuf:\"group,4,rep,name=Filter\" json:\"filter,omitempty\"`\n\tSearchQuery         *string           `protobuf:\"bytes,8,opt,name=search_query\" json:\"search_query,omitempty\"`\n\tOrder               []*Query_Order    `protobuf:\"group,9,rep,name=Order\" json:\"order,omitempty\"`\n\tHint                *Query_Hint       `protobuf:\"varint,18,opt,name=hint,enum=appengine.Query_Hint\" json:\"hint,omitempty\"`\n\tCount               *int32            `protobuf:\"varint,23,opt,name=count\" json:\"count,omitempty\"`\n\tOffset              *int32            `protobuf:\"varint,12,opt,name=offset,def=0\" json:\"offset,omitempty\"`\n\tLimit               *int32            `protobuf:\"varint,16,opt,name=limit\" json:\"limit,omitempty\"`\n\tCompiledCursor      *CompiledCursor   `protobuf:\"bytes,30,opt,name=compiled_cursor\" json:\"compiled_cursor,omitempty\"`\n\tEndCompiledCursor   *CompiledCursor   `protobuf:\"bytes,31,opt,name=end_compiled_cursor\" json:\"end_compiled_cursor,omitempty\"`\n\tCompositeIndex      []*CompositeIndex `protobuf:\"bytes,19,rep,name=composite_index\" json:\"composite_index,omitempty\"`\n\tRequirePerfectPlan  *bool             `protobuf:\"varint,20,opt,name=require_perfect_plan,def=0\" json:\"require_perfect_plan,omitempty\"`\n\tKeysOnly            *bool             `protobuf:\"varint,21,opt,name=keys_only,def=0\" json:\"keys_only,omitempty\"`\n\tTransaction         *Transaction      `protobuf:\"bytes,22,opt,name=transaction\" json:\"transaction,omitempty\"`\n\tCompile             *bool             `protobuf:\"varint,25,opt,name=compile,def=0\" json:\"compile,omitempty\"`\n\tFailoverMs          *int64            `protobuf:\"varint,26,opt,name=failover_ms\" json:\"failover_ms,omitempty\"`\n\tStrong              *bool             `protobuf:\"varint,32,opt,name=strong\" json:\"strong,omitempty\"`\n\tPropertyName        []string          `protobuf:\"bytes,33,rep,name=property_name\" json:\"property_name,omitempty\"`\n\tGroupByPropertyName []string          `protobuf:\"bytes,34,rep,name=group_by_property_name\" json:\"group_by_property_name,omitempty\"`\n\tDistinct            *bool             `protobuf:\"varint,24,opt,name=distinct\" json:\"distinct,omitempty\"`\n\tMinSafeTimeSeconds  *int64            `protobuf:\"varint,35,opt,name=min_safe_time_seconds\" json:\"min_safe_time_seconds,omitempty\"`\n\tSafeReplicaName     []string          `protobuf:\"bytes,36,rep,name=safe_replica_name\" json:\"safe_replica_name,omitempty\"`\n\tPersistOffset       *bool             `protobuf:\"varint,37,opt,name=persist_offset,def=0\" json:\"persist_offset,omitempty\"`\n\tXXX_unrecognized    []byte            `json:\"-\"`\n}\n\nfunc (m *Query) Reset()         { *m = Query{} }\nfunc (m *Query) String() string { return proto.CompactTextString(m) }\nfunc (*Query) ProtoMessage()    {}\n\nconst Default_Query_Offset int32 = 0\nconst Default_Query_RequirePerfectPlan bool = false\nconst Default_Query_KeysOnly bool = false\nconst Default_Query_Compile bool = false\nconst Default_Query_PersistOffset bool = false\n\nfunc (m *Query) GetHeader() *InternalHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *Query) GetApp() string {\n\tif m != nil && m.App != nil {\n\t\treturn *m.App\n\t}\n\treturn \"\"\n}\n\nfunc (m *Query) GetNameSpace() string {\n\tif m != nil && m.NameSpace != nil {\n\t\treturn *m.NameSpace\n\t}\n\treturn \"\"\n}\n\nfunc (m *Query) GetKind() string {\n\tif m != nil && m.Kind != nil {\n\t\treturn *m.Kind\n\t}\n\treturn \"\"\n}\n\nfunc (m *Query) GetAncestor() *Reference {\n\tif m != nil {\n\t\treturn m.Ancestor\n\t}\n\treturn nil\n}\n\nfunc (m *Query) GetFilter() []*Query_Filter {\n\tif m != nil {\n\t\treturn m.Filter\n\t}\n\treturn nil\n}\n\nfunc (m *Query) GetSearchQuery() string {\n\tif m != nil && m.SearchQuery != nil {\n\t\treturn *m.SearchQuery\n\t}\n\treturn \"\"\n}\n\nfunc (m *Query) GetOrder() []*Query_Order {\n\tif m != nil {\n\t\treturn m.Order\n\t}\n\treturn nil\n}\n\nfunc (m *Query) GetHint() Query_Hint {\n\tif m != nil && m.Hint != nil {\n\t\treturn *m.Hint\n\t}\n\treturn Query_ORDER_FIRST\n}\n\nfunc (m *Query) GetCount() int32 {\n\tif m != nil && m.Count != nil {\n\t\treturn *m.Count\n\t}\n\treturn 0\n}\n\nfunc (m *Query) GetOffset() int32 {\n\tif m != nil && m.Offset != nil {\n\t\treturn *m.Offset\n\t}\n\treturn Default_Query_Offset\n}\n\nfunc (m *Query) GetLimit() int32 {\n\tif m != nil && m.Limit != nil {\n\t\treturn *m.Limit\n\t}\n\treturn 0\n}\n\nfunc (m *Query) GetCompiledCursor() *CompiledCursor {\n\tif m != nil {\n\t\treturn m.CompiledCursor\n\t}\n\treturn nil\n}\n\nfunc (m *Query) GetEndCompiledCursor() *CompiledCursor {\n\tif m != nil {\n\t\treturn m.EndCompiledCursor\n\t}\n\treturn nil\n}\n\nfunc (m *Query) GetCompositeIndex() []*CompositeIndex {\n\tif m != nil {\n\t\treturn m.CompositeIndex\n\t}\n\treturn nil\n}\n\nfunc (m *Query) GetRequirePerfectPlan() bool {\n\tif m != nil && m.RequirePerfectPlan != nil {\n\t\treturn *m.RequirePerfectPlan\n\t}\n\treturn Default_Query_RequirePerfectPlan\n}\n\nfunc (m *Query) GetKeysOnly() bool {\n\tif m != nil && m.KeysOnly != nil {\n\t\treturn *m.KeysOnly\n\t}\n\treturn Default_Query_KeysOnly\n}\n\nfunc (m *Query) GetTransaction() *Transaction {\n\tif m != nil {\n\t\treturn m.Transaction\n\t}\n\treturn nil\n}\n\nfunc (m *Query) GetCompile() bool {\n\tif m != nil && m.Compile != nil {\n\t\treturn *m.Compile\n\t}\n\treturn Default_Query_Compile\n}\n\nfunc (m *Query) GetFailoverMs() int64 {\n\tif m != nil && m.FailoverMs != nil {\n\t\treturn *m.FailoverMs\n\t}\n\treturn 0\n}\n\nfunc (m *Query) GetStrong() bool {\n\tif m != nil && m.Strong != nil {\n\t\treturn *m.Strong\n\t}\n\treturn false\n}\n\nfunc (m *Query) GetPropertyName() []string {\n\tif m != nil {\n\t\treturn m.PropertyName\n\t}\n\treturn nil\n}\n\nfunc (m *Query) GetGroupByPropertyName() []string {\n\tif m != nil {\n\t\treturn m.GroupByPropertyName\n\t}\n\treturn nil\n}\n\nfunc (m *Query) GetDistinct() bool {\n\tif m != nil && m.Distinct != nil {\n\t\treturn *m.Distinct\n\t}\n\treturn false\n}\n\nfunc (m *Query) GetMinSafeTimeSeconds() int64 {\n\tif m != nil && m.MinSafeTimeSeconds != nil {\n\t\treturn *m.MinSafeTimeSeconds\n\t}\n\treturn 0\n}\n\nfunc (m *Query) GetSafeReplicaName() []string {\n\tif m != nil {\n\t\treturn m.SafeReplicaName\n\t}\n\treturn nil\n}\n\nfunc (m *Query) GetPersistOffset() bool {\n\tif m != nil && m.PersistOffset != nil {\n\t\treturn *m.PersistOffset\n\t}\n\treturn Default_Query_PersistOffset\n}\n\ntype Query_Filter struct {\n\tOp               *Query_Filter_Operator `protobuf:\"varint,6,req,name=op,enum=appengine.Query_Filter_Operator\" json:\"op,omitempty\"`\n\tProperty         []*Property            `protobuf:\"bytes,14,rep,name=property\" json:\"property,omitempty\"`\n\tXXX_unrecognized []byte                 `json:\"-\"`\n}\n\nfunc (m *Query_Filter) Reset()         { *m = Query_Filter{} }\nfunc (m *Query_Filter) String() string { return proto.CompactTextString(m) }\nfunc (*Query_Filter) ProtoMessage()    {}\n\nfunc (m *Query_Filter) GetOp() Query_Filter_Operator {\n\tif m != nil && m.Op != nil {\n\t\treturn *m.Op\n\t}\n\treturn Query_Filter_LESS_THAN\n}\n\nfunc (m *Query_Filter) GetProperty() []*Property {\n\tif m != nil {\n\t\treturn m.Property\n\t}\n\treturn nil\n}\n\ntype Query_Order struct {\n\tProperty         *string                `protobuf:\"bytes,10,req,name=property\" json:\"property,omitempty\"`\n\tDirection        *Query_Order_Direction `protobuf:\"varint,11,opt,name=direction,enum=appengine.Query_Order_Direction,def=1\" json:\"direction,omitempty\"`\n\tXXX_unrecognized []byte                 `json:\"-\"`\n}\n\nfunc (m *Query_Order) Reset()         { *m = Query_Order{} }\nfunc (m *Query_Order) String() string { return proto.CompactTextString(m) }\nfunc (*Query_Order) ProtoMessage()    {}\n\nconst Default_Query_Order_Direction Query_Order_Direction = Query_Order_ASCENDING\n\nfunc (m *Query_Order) GetProperty() string {\n\tif m != nil && m.Property != nil {\n\t\treturn *m.Property\n\t}\n\treturn \"\"\n}\n\nfunc (m *Query_Order) GetDirection() Query_Order_Direction {\n\tif m != nil && m.Direction != nil {\n\t\treturn *m.Direction\n\t}\n\treturn Default_Query_Order_Direction\n}\n\ntype CompiledQuery struct {\n\tPrimaryscan       *CompiledQuery_PrimaryScan     `protobuf:\"group,1,req,name=PrimaryScan\" json:\"primaryscan,omitempty\"`\n\tMergejoinscan     []*CompiledQuery_MergeJoinScan `protobuf:\"group,7,rep,name=MergeJoinScan\" json:\"mergejoinscan,omitempty\"`\n\tIndexDef          *Index                         `protobuf:\"bytes,21,opt,name=index_def\" json:\"index_def,omitempty\"`\n\tOffset            *int32                         `protobuf:\"varint,10,opt,name=offset,def=0\" json:\"offset,omitempty\"`\n\tLimit             *int32                         `protobuf:\"varint,11,opt,name=limit\" json:\"limit,omitempty\"`\n\tKeysOnly          *bool                          `protobuf:\"varint,12,req,name=keys_only\" json:\"keys_only,omitempty\"`\n\tPropertyName      []string                       `protobuf:\"bytes,24,rep,name=property_name\" json:\"property_name,omitempty\"`\n\tDistinctInfixSize *int32                         `protobuf:\"varint,25,opt,name=distinct_infix_size\" json:\"distinct_infix_size,omitempty\"`\n\tEntityfilter      *CompiledQuery_EntityFilter    `protobuf:\"group,13,opt,name=EntityFilter\" json:\"entityfilter,omitempty\"`\n\tXXX_unrecognized  []byte                         `json:\"-\"`\n}\n\nfunc (m *CompiledQuery) Reset()         { *m = CompiledQuery{} }\nfunc (m *CompiledQuery) String() string { return proto.CompactTextString(m) }\nfunc (*CompiledQuery) ProtoMessage()    {}\n\nconst Default_CompiledQuery_Offset int32 = 0\n\nfunc (m *CompiledQuery) GetPrimaryscan() *CompiledQuery_PrimaryScan {\n\tif m != nil {\n\t\treturn m.Primaryscan\n\t}\n\treturn nil\n}\n\nfunc (m *CompiledQuery) GetMergejoinscan() []*CompiledQuery_MergeJoinScan {\n\tif m != nil {\n\t\treturn m.Mergejoinscan\n\t}\n\treturn nil\n}\n\nfunc (m *CompiledQuery) GetIndexDef() *Index {\n\tif m != nil {\n\t\treturn m.IndexDef\n\t}\n\treturn nil\n}\n\nfunc (m *CompiledQuery) GetOffset() int32 {\n\tif m != nil && m.Offset != nil {\n\t\treturn *m.Offset\n\t}\n\treturn Default_CompiledQuery_Offset\n}\n\nfunc (m *CompiledQuery) GetLimit() int32 {\n\tif m != nil && m.Limit != nil {\n\t\treturn *m.Limit\n\t}\n\treturn 0\n}\n\nfunc (m *CompiledQuery) GetKeysOnly() bool {\n\tif m != nil && m.KeysOnly != nil {\n\t\treturn *m.KeysOnly\n\t}\n\treturn false\n}\n\nfunc (m *CompiledQuery) GetPropertyName() []string {\n\tif m != nil {\n\t\treturn m.PropertyName\n\t}\n\treturn nil\n}\n\nfunc (m *CompiledQuery) GetDistinctInfixSize() int32 {\n\tif m != nil && m.DistinctInfixSize != nil {\n\t\treturn *m.DistinctInfixSize\n\t}\n\treturn 0\n}\n\nfunc (m *CompiledQuery) GetEntityfilter() *CompiledQuery_EntityFilter {\n\tif m != nil {\n\t\treturn m.Entityfilter\n\t}\n\treturn nil\n}\n\ntype CompiledQuery_PrimaryScan struct {\n\tIndexName                  *string  `protobuf:\"bytes,2,opt,name=index_name\" json:\"index_name,omitempty\"`\n\tStartKey                   *string  `protobuf:\"bytes,3,opt,name=start_key\" json:\"start_key,omitempty\"`\n\tStartInclusive             *bool    `protobuf:\"varint,4,opt,name=start_inclusive\" json:\"start_inclusive,omitempty\"`\n\tEndKey                     *string  `protobuf:\"bytes,5,opt,name=end_key\" json:\"end_key,omitempty\"`\n\tEndInclusive               *bool    `protobuf:\"varint,6,opt,name=end_inclusive\" json:\"end_inclusive,omitempty\"`\n\tStartPostfixValue          []string `protobuf:\"bytes,22,rep,name=start_postfix_value\" json:\"start_postfix_value,omitempty\"`\n\tEndPostfixValue            []string `protobuf:\"bytes,23,rep,name=end_postfix_value\" json:\"end_postfix_value,omitempty\"`\n\tEndUnappliedLogTimestampUs *int64   `protobuf:\"varint,19,opt,name=end_unapplied_log_timestamp_us\" json:\"end_unapplied_log_timestamp_us,omitempty\"`\n\tXXX_unrecognized           []byte   `json:\"-\"`\n}\n\nfunc (m *CompiledQuery_PrimaryScan) Reset()         { *m = CompiledQuery_PrimaryScan{} }\nfunc (m *CompiledQuery_PrimaryScan) String() string { return proto.CompactTextString(m) }\nfunc (*CompiledQuery_PrimaryScan) ProtoMessage()    {}\n\nfunc (m *CompiledQuery_PrimaryScan) GetIndexName() string {\n\tif m != nil && m.IndexName != nil {\n\t\treturn *m.IndexName\n\t}\n\treturn \"\"\n}\n\nfunc (m *CompiledQuery_PrimaryScan) GetStartKey() string {\n\tif m != nil && m.StartKey != nil {\n\t\treturn *m.StartKey\n\t}\n\treturn \"\"\n}\n\nfunc (m *CompiledQuery_PrimaryScan) GetStartInclusive() bool {\n\tif m != nil && m.StartInclusive != nil {\n\t\treturn *m.StartInclusive\n\t}\n\treturn false\n}\n\nfunc (m *CompiledQuery_PrimaryScan) GetEndKey() string {\n\tif m != nil && m.EndKey != nil {\n\t\treturn *m.EndKey\n\t}\n\treturn \"\"\n}\n\nfunc (m *CompiledQuery_PrimaryScan) GetEndInclusive() bool {\n\tif m != nil && m.EndInclusive != nil {\n\t\treturn *m.EndInclusive\n\t}\n\treturn false\n}\n\nfunc (m *CompiledQuery_PrimaryScan) GetStartPostfixValue() []string {\n\tif m != nil {\n\t\treturn m.StartPostfixValue\n\t}\n\treturn nil\n}\n\nfunc (m *CompiledQuery_PrimaryScan) GetEndPostfixValue() []string {\n\tif m != nil {\n\t\treturn m.EndPostfixValue\n\t}\n\treturn nil\n}\n\nfunc (m *CompiledQuery_PrimaryScan) GetEndUnappliedLogTimestampUs() int64 {\n\tif m != nil && m.EndUnappliedLogTimestampUs != nil {\n\t\treturn *m.EndUnappliedLogTimestampUs\n\t}\n\treturn 0\n}\n\ntype CompiledQuery_MergeJoinScan struct {\n\tIndexName        *string  `protobuf:\"bytes,8,req,name=index_name\" json:\"index_name,omitempty\"`\n\tPrefixValue      []string `protobuf:\"bytes,9,rep,name=prefix_value\" json:\"prefix_value,omitempty\"`\n\tValuePrefix      *bool    `protobuf:\"varint,20,opt,name=value_prefix,def=0\" json:\"value_prefix,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *CompiledQuery_MergeJoinScan) Reset()         { *m = CompiledQuery_MergeJoinScan{} }\nfunc (m *CompiledQuery_MergeJoinScan) String() string { return proto.CompactTextString(m) }\nfunc (*CompiledQuery_MergeJoinScan) ProtoMessage()    {}\n\nconst Default_CompiledQuery_MergeJoinScan_ValuePrefix bool = false\n\nfunc (m *CompiledQuery_MergeJoinScan) GetIndexName() string {\n\tif m != nil && m.IndexName != nil {\n\t\treturn *m.IndexName\n\t}\n\treturn \"\"\n}\n\nfunc (m *CompiledQuery_MergeJoinScan) GetPrefixValue() []string {\n\tif m != nil {\n\t\treturn m.PrefixValue\n\t}\n\treturn nil\n}\n\nfunc (m *CompiledQuery_MergeJoinScan) GetValuePrefix() bool {\n\tif m != nil && m.ValuePrefix != nil {\n\t\treturn *m.ValuePrefix\n\t}\n\treturn Default_CompiledQuery_MergeJoinScan_ValuePrefix\n}\n\ntype CompiledQuery_EntityFilter struct {\n\tDistinct         *bool      `protobuf:\"varint,14,opt,name=distinct,def=0\" json:\"distinct,omitempty\"`\n\tKind             *string    `protobuf:\"bytes,17,opt,name=kind\" json:\"kind,omitempty\"`\n\tAncestor         *Reference `protobuf:\"bytes,18,opt,name=ancestor\" json:\"ancestor,omitempty\"`\n\tXXX_unrecognized []byte     `json:\"-\"`\n}\n\nfunc (m *CompiledQuery_EntityFilter) Reset()         { *m = CompiledQuery_EntityFilter{} }\nfunc (m *CompiledQuery_EntityFilter) String() string { return proto.CompactTextString(m) }\nfunc (*CompiledQuery_EntityFilter) ProtoMessage()    {}\n\nconst Default_CompiledQuery_EntityFilter_Distinct bool = false\n\nfunc (m *CompiledQuery_EntityFilter) GetDistinct() bool {\n\tif m != nil && m.Distinct != nil {\n\t\treturn *m.Distinct\n\t}\n\treturn Default_CompiledQuery_EntityFilter_Distinct\n}\n\nfunc (m *CompiledQuery_EntityFilter) GetKind() string {\n\tif m != nil && m.Kind != nil {\n\t\treturn *m.Kind\n\t}\n\treturn \"\"\n}\n\nfunc (m *CompiledQuery_EntityFilter) GetAncestor() *Reference {\n\tif m != nil {\n\t\treturn m.Ancestor\n\t}\n\treturn nil\n}\n\ntype CompiledCursor struct {\n\tPosition         *CompiledCursor_Position `protobuf:\"group,2,opt,name=Position\" json:\"position,omitempty\"`\n\tXXX_unrecognized []byte                   `json:\"-\"`\n}\n\nfunc (m *CompiledCursor) Reset()         { *m = CompiledCursor{} }\nfunc (m *CompiledCursor) String() string { return proto.CompactTextString(m) }\nfunc (*CompiledCursor) ProtoMessage()    {}\n\nfunc (m *CompiledCursor) GetPosition() *CompiledCursor_Position {\n\tif m != nil {\n\t\treturn m.Position\n\t}\n\treturn nil\n}\n\ntype CompiledCursor_Position struct {\n\tStartKey         *string                               `protobuf:\"bytes,27,opt,name=start_key\" json:\"start_key,omitempty\"`\n\tIndexvalue       []*CompiledCursor_Position_IndexValue `protobuf:\"group,29,rep,name=IndexValue\" json:\"indexvalue,omitempty\"`\n\tKey              *Reference                            `protobuf:\"bytes,32,opt,name=key\" json:\"key,omitempty\"`\n\tStartInclusive   *bool                                 `protobuf:\"varint,28,opt,name=start_inclusive,def=1\" json:\"start_inclusive,omitempty\"`\n\tXXX_unrecognized []byte                                `json:\"-\"`\n}\n\nfunc (m *CompiledCursor_Position) Reset()         { *m = CompiledCursor_Position{} }\nfunc (m *CompiledCursor_Position) String() string { return proto.CompactTextString(m) }\nfunc (*CompiledCursor_Position) ProtoMessage()    {}\n\nconst Default_CompiledCursor_Position_StartInclusive bool = true\n\nfunc (m *CompiledCursor_Position) GetStartKey() string {\n\tif m != nil && m.StartKey != nil {\n\t\treturn *m.StartKey\n\t}\n\treturn \"\"\n}\n\nfunc (m *CompiledCursor_Position) GetIndexvalue() []*CompiledCursor_Position_IndexValue {\n\tif m != nil {\n\t\treturn m.Indexvalue\n\t}\n\treturn nil\n}\n\nfunc (m *CompiledCursor_Position) GetKey() *Reference {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *CompiledCursor_Position) GetStartInclusive() bool {\n\tif m != nil && m.StartInclusive != nil {\n\t\treturn *m.StartInclusive\n\t}\n\treturn Default_CompiledCursor_Position_StartInclusive\n}\n\ntype CompiledCursor_Position_IndexValue struct {\n\tProperty         *string        `protobuf:\"bytes,30,opt,name=property\" json:\"property,omitempty\"`\n\tValue            *PropertyValue `protobuf:\"bytes,31,req,name=value\" json:\"value,omitempty\"`\n\tXXX_unrecognized []byte         `json:\"-\"`\n}\n\nfunc (m *CompiledCursor_Position_IndexValue) Reset()         { *m = CompiledCursor_Position_IndexValue{} }\nfunc (m *CompiledCursor_Position_IndexValue) String() string { return proto.CompactTextString(m) }\nfunc (*CompiledCursor_Position_IndexValue) ProtoMessage()    {}\n\nfunc (m *CompiledCursor_Position_IndexValue) GetProperty() string {\n\tif m != nil && m.Property != nil {\n\t\treturn *m.Property\n\t}\n\treturn \"\"\n}\n\nfunc (m *CompiledCursor_Position_IndexValue) GetValue() *PropertyValue {\n\tif m != nil {\n\t\treturn m.Value\n\t}\n\treturn nil\n}\n\ntype Cursor struct {\n\tCursor           *uint64 `protobuf:\"fixed64,1,req,name=cursor\" json:\"cursor,omitempty\"`\n\tApp              *string `protobuf:\"bytes,2,opt,name=app\" json:\"app,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *Cursor) Reset()         { *m = Cursor{} }\nfunc (m *Cursor) String() string { return proto.CompactTextString(m) }\nfunc (*Cursor) ProtoMessage()    {}\n\nfunc (m *Cursor) GetCursor() uint64 {\n\tif m != nil && m.Cursor != nil {\n\t\treturn *m.Cursor\n\t}\n\treturn 0\n}\n\nfunc (m *Cursor) GetApp() string {\n\tif m != nil && m.App != nil {\n\t\treturn *m.App\n\t}\n\treturn \"\"\n}\n\ntype Error struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *Error) Reset()         { *m = Error{} }\nfunc (m *Error) String() string { return proto.CompactTextString(m) }\nfunc (*Error) ProtoMessage()    {}\n\ntype Cost struct {\n\tIndexWrites             *int32           `protobuf:\"varint,1,opt,name=index_writes\" json:\"index_writes,omitempty\"`\n\tIndexWriteBytes         *int32           `protobuf:\"varint,2,opt,name=index_write_bytes\" json:\"index_write_bytes,omitempty\"`\n\tEntityWrites            *int32           `protobuf:\"varint,3,opt,name=entity_writes\" json:\"entity_writes,omitempty\"`\n\tEntityWriteBytes        *int32           `protobuf:\"varint,4,opt,name=entity_write_bytes\" json:\"entity_write_bytes,omitempty\"`\n\tCommitcost              *Cost_CommitCost `protobuf:\"group,5,opt,name=CommitCost\" json:\"commitcost,omitempty\"`\n\tApproximateStorageDelta *int32           `protobuf:\"varint,8,opt,name=approximate_storage_delta\" json:\"approximate_storage_delta,omitempty\"`\n\tIdSequenceUpdates       *int32           `protobuf:\"varint,9,opt,name=id_sequence_updates\" json:\"id_sequence_updates,omitempty\"`\n\tXXX_unrecognized        []byte           `json:\"-\"`\n}\n\nfunc (m *Cost) Reset()         { *m = Cost{} }\nfunc (m *Cost) String() string { return proto.CompactTextString(m) }\nfunc (*Cost) ProtoMessage()    {}\n\nfunc (m *Cost) GetIndexWrites() int32 {\n\tif m != nil && m.IndexWrites != nil {\n\t\treturn *m.IndexWrites\n\t}\n\treturn 0\n}\n\nfunc (m *Cost) GetIndexWriteBytes() int32 {\n\tif m != nil && m.IndexWriteBytes != nil {\n\t\treturn *m.IndexWriteBytes\n\t}\n\treturn 0\n}\n\nfunc (m *Cost) GetEntityWrites() int32 {\n\tif m != nil && m.EntityWrites != nil {\n\t\treturn *m.EntityWrites\n\t}\n\treturn 0\n}\n\nfunc (m *Cost) GetEntityWriteBytes() int32 {\n\tif m != nil && m.EntityWriteBytes != nil {\n\t\treturn *m.EntityWriteBytes\n\t}\n\treturn 0\n}\n\nfunc (m *Cost) GetCommitcost() *Cost_CommitCost {\n\tif m != nil {\n\t\treturn m.Commitcost\n\t}\n\treturn nil\n}\n\nfunc (m *Cost) GetApproximateStorageDelta() int32 {\n\tif m != nil && m.ApproximateStorageDelta != nil {\n\t\treturn *m.ApproximateStorageDelta\n\t}\n\treturn 0\n}\n\nfunc (m *Cost) GetIdSequenceUpdates() int32 {\n\tif m != nil && m.IdSequenceUpdates != nil {\n\t\treturn *m.IdSequenceUpdates\n\t}\n\treturn 0\n}\n\ntype Cost_CommitCost struct {\n\tRequestedEntityPuts    *int32 `protobuf:\"varint,6,opt,name=requested_entity_puts\" json:\"requested_entity_puts,omitempty\"`\n\tRequestedEntityDeletes *int32 `protobuf:\"varint,7,opt,name=requested_entity_deletes\" json:\"requested_entity_deletes,omitempty\"`\n\tXXX_unrecognized       []byte `json:\"-\"`\n}\n\nfunc (m *Cost_CommitCost) Reset()         { *m = Cost_CommitCost{} }\nfunc (m *Cost_CommitCost) String() string { return proto.CompactTextString(m) }\nfunc (*Cost_CommitCost) ProtoMessage()    {}\n\nfunc (m *Cost_CommitCost) GetRequestedEntityPuts() int32 {\n\tif m != nil && m.RequestedEntityPuts != nil {\n\t\treturn *m.RequestedEntityPuts\n\t}\n\treturn 0\n}\n\nfunc (m *Cost_CommitCost) GetRequestedEntityDeletes() int32 {\n\tif m != nil && m.RequestedEntityDeletes != nil {\n\t\treturn *m.RequestedEntityDeletes\n\t}\n\treturn 0\n}\n\ntype GetRequest struct {\n\tHeader           *InternalHeader `protobuf:\"bytes,6,opt,name=header\" json:\"header,omitempty\"`\n\tKey              []*Reference    `protobuf:\"bytes,1,rep,name=key\" json:\"key,omitempty\"`\n\tTransaction      *Transaction    `protobuf:\"bytes,2,opt,name=transaction\" json:\"transaction,omitempty\"`\n\tFailoverMs       *int64          `protobuf:\"varint,3,opt,name=failover_ms\" json:\"failover_ms,omitempty\"`\n\tStrong           *bool           `protobuf:\"varint,4,opt,name=strong\" json:\"strong,omitempty\"`\n\tAllowDeferred    *bool           `protobuf:\"varint,5,opt,name=allow_deferred,def=0\" json:\"allow_deferred,omitempty\"`\n\tXXX_unrecognized []byte          `json:\"-\"`\n}\n\nfunc (m *GetRequest) Reset()         { *m = GetRequest{} }\nfunc (m *GetRequest) String() string { return proto.CompactTextString(m) }\nfunc (*GetRequest) ProtoMessage()    {}\n\nconst Default_GetRequest_AllowDeferred bool = false\n\nfunc (m *GetRequest) GetHeader() *InternalHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *GetRequest) GetKey() []*Reference {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *GetRequest) GetTransaction() *Transaction {\n\tif m != nil {\n\t\treturn m.Transaction\n\t}\n\treturn nil\n}\n\nfunc (m *GetRequest) GetFailoverMs() int64 {\n\tif m != nil && m.FailoverMs != nil {\n\t\treturn *m.FailoverMs\n\t}\n\treturn 0\n}\n\nfunc (m *GetRequest) GetStrong() bool {\n\tif m != nil && m.Strong != nil {\n\t\treturn *m.Strong\n\t}\n\treturn false\n}\n\nfunc (m *GetRequest) GetAllowDeferred() bool {\n\tif m != nil && m.AllowDeferred != nil {\n\t\treturn *m.AllowDeferred\n\t}\n\treturn Default_GetRequest_AllowDeferred\n}\n\ntype GetResponse struct {\n\tEntity           []*GetResponse_Entity `protobuf:\"group,1,rep,name=Entity\" json:\"entity,omitempty\"`\n\tDeferred         []*Reference          `protobuf:\"bytes,5,rep,name=deferred\" json:\"deferred,omitempty\"`\n\tInOrder          *bool                 `protobuf:\"varint,6,opt,name=in_order,def=1\" json:\"in_order,omitempty\"`\n\tXXX_unrecognized []byte                `json:\"-\"`\n}\n\nfunc (m *GetResponse) Reset()         { *m = GetResponse{} }\nfunc (m *GetResponse) String() string { return proto.CompactTextString(m) }\nfunc (*GetResponse) ProtoMessage()    {}\n\nconst Default_GetResponse_InOrder bool = true\n\nfunc (m *GetResponse) GetEntity() []*GetResponse_Entity {\n\tif m != nil {\n\t\treturn m.Entity\n\t}\n\treturn nil\n}\n\nfunc (m *GetResponse) GetDeferred() []*Reference {\n\tif m != nil {\n\t\treturn m.Deferred\n\t}\n\treturn nil\n}\n\nfunc (m *GetResponse) GetInOrder() bool {\n\tif m != nil && m.InOrder != nil {\n\t\treturn *m.InOrder\n\t}\n\treturn Default_GetResponse_InOrder\n}\n\ntype GetResponse_Entity struct {\n\tEntity           *EntityProto `protobuf:\"bytes,2,opt,name=entity\" json:\"entity,omitempty\"`\n\tKey              *Reference   `protobuf:\"bytes,4,opt,name=key\" json:\"key,omitempty\"`\n\tVersion          *int64       `protobuf:\"varint,3,opt,name=version\" json:\"version,omitempty\"`\n\tXXX_unrecognized []byte       `json:\"-\"`\n}\n\nfunc (m *GetResponse_Entity) Reset()         { *m = GetResponse_Entity{} }\nfunc (m *GetResponse_Entity) String() string { return proto.CompactTextString(m) }\nfunc (*GetResponse_Entity) ProtoMessage()    {}\n\nfunc (m *GetResponse_Entity) GetEntity() *EntityProto {\n\tif m != nil {\n\t\treturn m.Entity\n\t}\n\treturn nil\n}\n\nfunc (m *GetResponse_Entity) GetKey() *Reference {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *GetResponse_Entity) GetVersion() int64 {\n\tif m != nil && m.Version != nil {\n\t\treturn *m.Version\n\t}\n\treturn 0\n}\n\ntype PutRequest struct {\n\tHeader           *InternalHeader          `protobuf:\"bytes,11,opt,name=header\" json:\"header,omitempty\"`\n\tEntity           []*EntityProto           `protobuf:\"bytes,1,rep,name=entity\" json:\"entity,omitempty\"`\n\tTransaction      *Transaction             `protobuf:\"bytes,2,opt,name=transaction\" json:\"transaction,omitempty\"`\n\tCompositeIndex   []*CompositeIndex        `protobuf:\"bytes,3,rep,name=composite_index\" json:\"composite_index,omitempty\"`\n\tTrusted          *bool                    `protobuf:\"varint,4,opt,name=trusted,def=0\" json:\"trusted,omitempty\"`\n\tForce            *bool                    `protobuf:\"varint,7,opt,name=force,def=0\" json:\"force,omitempty\"`\n\tMarkChanges      *bool                    `protobuf:\"varint,8,opt,name=mark_changes,def=0\" json:\"mark_changes,omitempty\"`\n\tSnapshot         []*Snapshot              `protobuf:\"bytes,9,rep,name=snapshot\" json:\"snapshot,omitempty\"`\n\tAutoIdPolicy     *PutRequest_AutoIdPolicy `protobuf:\"varint,10,opt,name=auto_id_policy,enum=appengine.PutRequest_AutoIdPolicy,def=0\" json:\"auto_id_policy,omitempty\"`\n\tXXX_unrecognized []byte                   `json:\"-\"`\n}\n\nfunc (m *PutRequest) Reset()         { *m = PutRequest{} }\nfunc (m *PutRequest) String() string { return proto.CompactTextString(m) }\nfunc (*PutRequest) ProtoMessage()    {}\n\nconst Default_PutRequest_Trusted bool = false\nconst Default_PutRequest_Force bool = false\nconst Default_PutRequest_MarkChanges bool = false\nconst Default_PutRequest_AutoIdPolicy PutRequest_AutoIdPolicy = PutRequest_CURRENT\n\nfunc (m *PutRequest) GetHeader() *InternalHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *PutRequest) GetEntity() []*EntityProto {\n\tif m != nil {\n\t\treturn m.Entity\n\t}\n\treturn nil\n}\n\nfunc (m *PutRequest) GetTransaction() *Transaction {\n\tif m != nil {\n\t\treturn m.Transaction\n\t}\n\treturn nil\n}\n\nfunc (m *PutRequest) GetCompositeIndex() []*CompositeIndex {\n\tif m != nil {\n\t\treturn m.CompositeIndex\n\t}\n\treturn nil\n}\n\nfunc (m *PutRequest) GetTrusted() bool {\n\tif m != nil && m.Trusted != nil {\n\t\treturn *m.Trusted\n\t}\n\treturn Default_PutRequest_Trusted\n}\n\nfunc (m *PutRequest) GetForce() bool {\n\tif m != nil && m.Force != nil {\n\t\treturn *m.Force\n\t}\n\treturn Default_PutRequest_Force\n}\n\nfunc (m *PutRequest) GetMarkChanges() bool {\n\tif m != nil && m.MarkChanges != nil {\n\t\treturn *m.MarkChanges\n\t}\n\treturn Default_PutRequest_MarkChanges\n}\n\nfunc (m *PutRequest) GetSnapshot() []*Snapshot {\n\tif m != nil {\n\t\treturn m.Snapshot\n\t}\n\treturn nil\n}\n\nfunc (m *PutRequest) GetAutoIdPolicy() PutRequest_AutoIdPolicy {\n\tif m != nil && m.AutoIdPolicy != nil {\n\t\treturn *m.AutoIdPolicy\n\t}\n\treturn Default_PutRequest_AutoIdPolicy\n}\n\ntype PutResponse struct {\n\tKey              []*Reference `protobuf:\"bytes,1,rep,name=key\" json:\"key,omitempty\"`\n\tCost             *Cost        `protobuf:\"bytes,2,opt,name=cost\" json:\"cost,omitempty\"`\n\tVersion          []int64      `protobuf:\"varint,3,rep,name=version\" json:\"version,omitempty\"`\n\tXXX_unrecognized []byte       `json:\"-\"`\n}\n\nfunc (m *PutResponse) Reset()         { *m = PutResponse{} }\nfunc (m *PutResponse) String() string { return proto.CompactTextString(m) }\nfunc (*PutResponse) ProtoMessage()    {}\n\nfunc (m *PutResponse) GetKey() []*Reference {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *PutResponse) GetCost() *Cost {\n\tif m != nil {\n\t\treturn m.Cost\n\t}\n\treturn nil\n}\n\nfunc (m *PutResponse) GetVersion() []int64 {\n\tif m != nil {\n\t\treturn m.Version\n\t}\n\treturn nil\n}\n\ntype TouchRequest struct {\n\tHeader           *InternalHeader   `protobuf:\"bytes,10,opt,name=header\" json:\"header,omitempty\"`\n\tKey              []*Reference      `protobuf:\"bytes,1,rep,name=key\" json:\"key,omitempty\"`\n\tCompositeIndex   []*CompositeIndex `protobuf:\"bytes,2,rep,name=composite_index\" json:\"composite_index,omitempty\"`\n\tForce            *bool             `protobuf:\"varint,3,opt,name=force,def=0\" json:\"force,omitempty\"`\n\tSnapshot         []*Snapshot       `protobuf:\"bytes,9,rep,name=snapshot\" json:\"snapshot,omitempty\"`\n\tXXX_unrecognized []byte            `json:\"-\"`\n}\n\nfunc (m *TouchRequest) Reset()         { *m = TouchRequest{} }\nfunc (m *TouchRequest) String() string { return proto.CompactTextString(m) }\nfunc (*TouchRequest) ProtoMessage()    {}\n\nconst Default_TouchRequest_Force bool = false\n\nfunc (m *TouchRequest) GetHeader() *InternalHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *TouchRequest) GetKey() []*Reference {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *TouchRequest) GetCompositeIndex() []*CompositeIndex {\n\tif m != nil {\n\t\treturn m.CompositeIndex\n\t}\n\treturn nil\n}\n\nfunc (m *TouchRequest) GetForce() bool {\n\tif m != nil && m.Force != nil {\n\t\treturn *m.Force\n\t}\n\treturn Default_TouchRequest_Force\n}\n\nfunc (m *TouchRequest) GetSnapshot() []*Snapshot {\n\tif m != nil {\n\t\treturn m.Snapshot\n\t}\n\treturn nil\n}\n\ntype TouchResponse struct {\n\tCost             *Cost  `protobuf:\"bytes,1,opt,name=cost\" json:\"cost,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *TouchResponse) Reset()         { *m = TouchResponse{} }\nfunc (m *TouchResponse) String() string { return proto.CompactTextString(m) }\nfunc (*TouchResponse) ProtoMessage()    {}\n\nfunc (m *TouchResponse) GetCost() *Cost {\n\tif m != nil {\n\t\treturn m.Cost\n\t}\n\treturn nil\n}\n\ntype DeleteRequest struct {\n\tHeader           *InternalHeader `protobuf:\"bytes,10,opt,name=header\" json:\"header,omitempty\"`\n\tKey              []*Reference    `protobuf:\"bytes,6,rep,name=key\" json:\"key,omitempty\"`\n\tTransaction      *Transaction    `protobuf:\"bytes,5,opt,name=transaction\" json:\"transaction,omitempty\"`\n\tTrusted          *bool           `protobuf:\"varint,4,opt,name=trusted,def=0\" json:\"trusted,omitempty\"`\n\tForce            *bool           `protobuf:\"varint,7,opt,name=force,def=0\" json:\"force,omitempty\"`\n\tMarkChanges      *bool           `protobuf:\"varint,8,opt,name=mark_changes,def=0\" json:\"mark_changes,omitempty\"`\n\tSnapshot         []*Snapshot     `protobuf:\"bytes,9,rep,name=snapshot\" json:\"snapshot,omitempty\"`\n\tXXX_unrecognized []byte          `json:\"-\"`\n}\n\nfunc (m *DeleteRequest) Reset()         { *m = DeleteRequest{} }\nfunc (m *DeleteRequest) String() string { return proto.CompactTextString(m) }\nfunc (*DeleteRequest) ProtoMessage()    {}\n\nconst Default_DeleteRequest_Trusted bool = false\nconst Default_DeleteRequest_Force bool = false\nconst Default_DeleteRequest_MarkChanges bool = false\n\nfunc (m *DeleteRequest) GetHeader() *InternalHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *DeleteRequest) GetKey() []*Reference {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn nil\n}\n\nfunc (m *DeleteRequest) GetTransaction() *Transaction {\n\tif m != nil {\n\t\treturn m.Transaction\n\t}\n\treturn nil\n}\n\nfunc (m *DeleteRequest) GetTrusted() bool {\n\tif m != nil && m.Trusted != nil {\n\t\treturn *m.Trusted\n\t}\n\treturn Default_DeleteRequest_Trusted\n}\n\nfunc (m *DeleteRequest) GetForce() bool {\n\tif m != nil && m.Force != nil {\n\t\treturn *m.Force\n\t}\n\treturn Default_DeleteRequest_Force\n}\n\nfunc (m *DeleteRequest) GetMarkChanges() bool {\n\tif m != nil && m.MarkChanges != nil {\n\t\treturn *m.MarkChanges\n\t}\n\treturn Default_DeleteRequest_MarkChanges\n}\n\nfunc (m *DeleteRequest) GetSnapshot() []*Snapshot {\n\tif m != nil {\n\t\treturn m.Snapshot\n\t}\n\treturn nil\n}\n\ntype DeleteResponse struct {\n\tCost             *Cost   `protobuf:\"bytes,1,opt,name=cost\" json:\"cost,omitempty\"`\n\tVersion          []int64 `protobuf:\"varint,3,rep,name=version\" json:\"version,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *DeleteResponse) Reset()         { *m = DeleteResponse{} }\nfunc (m *DeleteResponse) String() string { return proto.CompactTextString(m) }\nfunc (*DeleteResponse) ProtoMessage()    {}\n\nfunc (m *DeleteResponse) GetCost() *Cost {\n\tif m != nil {\n\t\treturn m.Cost\n\t}\n\treturn nil\n}\n\nfunc (m *DeleteResponse) GetVersion() []int64 {\n\tif m != nil {\n\t\treturn m.Version\n\t}\n\treturn nil\n}\n\ntype NextRequest struct {\n\tHeader           *InternalHeader `protobuf:\"bytes,5,opt,name=header\" json:\"header,omitempty\"`\n\tCursor           *Cursor         `protobuf:\"bytes,1,req,name=cursor\" json:\"cursor,omitempty\"`\n\tCount            *int32          `protobuf:\"varint,2,opt,name=count\" json:\"count,omitempty\"`\n\tOffset           *int32          `protobuf:\"varint,4,opt,name=offset,def=0\" json:\"offset,omitempty\"`\n\tCompile          *bool           `protobuf:\"varint,3,opt,name=compile,def=0\" json:\"compile,omitempty\"`\n\tXXX_unrecognized []byte          `json:\"-\"`\n}\n\nfunc (m *NextRequest) Reset()         { *m = NextRequest{} }\nfunc (m *NextRequest) String() string { return proto.CompactTextString(m) }\nfunc (*NextRequest) ProtoMessage()    {}\n\nconst Default_NextRequest_Offset int32 = 0\nconst Default_NextRequest_Compile bool = false\n\nfunc (m *NextRequest) GetHeader() *InternalHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *NextRequest) GetCursor() *Cursor {\n\tif m != nil {\n\t\treturn m.Cursor\n\t}\n\treturn nil\n}\n\nfunc (m *NextRequest) GetCount() int32 {\n\tif m != nil && m.Count != nil {\n\t\treturn *m.Count\n\t}\n\treturn 0\n}\n\nfunc (m *NextRequest) GetOffset() int32 {\n\tif m != nil && m.Offset != nil {\n\t\treturn *m.Offset\n\t}\n\treturn Default_NextRequest_Offset\n}\n\nfunc (m *NextRequest) GetCompile() bool {\n\tif m != nil && m.Compile != nil {\n\t\treturn *m.Compile\n\t}\n\treturn Default_NextRequest_Compile\n}\n\ntype QueryResult struct {\n\tCursor           *Cursor           `protobuf:\"bytes,1,opt,name=cursor\" json:\"cursor,omitempty\"`\n\tResult           []*EntityProto    `protobuf:\"bytes,2,rep,name=result\" json:\"result,omitempty\"`\n\tSkippedResults   *int32            `protobuf:\"varint,7,opt,name=skipped_results\" json:\"skipped_results,omitempty\"`\n\tMoreResults      *bool             `protobuf:\"varint,3,req,name=more_results\" json:\"more_results,omitempty\"`\n\tKeysOnly         *bool             `protobuf:\"varint,4,opt,name=keys_only\" json:\"keys_only,omitempty\"`\n\tIndexOnly        *bool             `protobuf:\"varint,9,opt,name=index_only\" json:\"index_only,omitempty\"`\n\tSmallOps         *bool             `protobuf:\"varint,10,opt,name=small_ops\" json:\"small_ops,omitempty\"`\n\tCompiledQuery    *CompiledQuery    `protobuf:\"bytes,5,opt,name=compiled_query\" json:\"compiled_query,omitempty\"`\n\tCompiledCursor   *CompiledCursor   `protobuf:\"bytes,6,opt,name=compiled_cursor\" json:\"compiled_cursor,omitempty\"`\n\tIndex            []*CompositeIndex `protobuf:\"bytes,8,rep,name=index\" json:\"index,omitempty\"`\n\tVersion          []int64           `protobuf:\"varint,11,rep,name=version\" json:\"version,omitempty\"`\n\tXXX_unrecognized []byte            `json:\"-\"`\n}\n\nfunc (m *QueryResult) Reset()         { *m = QueryResult{} }\nfunc (m *QueryResult) String() string { return proto.CompactTextString(m) }\nfunc (*QueryResult) ProtoMessage()    {}\n\nfunc (m *QueryResult) GetCursor() *Cursor {\n\tif m != nil {\n\t\treturn m.Cursor\n\t}\n\treturn nil\n}\n\nfunc (m *QueryResult) GetResult() []*EntityProto {\n\tif m != nil {\n\t\treturn m.Result\n\t}\n\treturn nil\n}\n\nfunc (m *QueryResult) GetSkippedResults() int32 {\n\tif m != nil && m.SkippedResults != nil {\n\t\treturn *m.SkippedResults\n\t}\n\treturn 0\n}\n\nfunc (m *QueryResult) GetMoreResults() bool {\n\tif m != nil && m.MoreResults != nil {\n\t\treturn *m.MoreResults\n\t}\n\treturn false\n}\n\nfunc (m *QueryResult) GetKeysOnly() bool {\n\tif m != nil && m.KeysOnly != nil {\n\t\treturn *m.KeysOnly\n\t}\n\treturn false\n}\n\nfunc (m *QueryResult) GetIndexOnly() bool {\n\tif m != nil && m.IndexOnly != nil {\n\t\treturn *m.IndexOnly\n\t}\n\treturn false\n}\n\nfunc (m *QueryResult) GetSmallOps() bool {\n\tif m != nil && m.SmallOps != nil {\n\t\treturn *m.SmallOps\n\t}\n\treturn false\n}\n\nfunc (m *QueryResult) GetCompiledQuery() *CompiledQuery {\n\tif m != nil {\n\t\treturn m.CompiledQuery\n\t}\n\treturn nil\n}\n\nfunc (m *QueryResult) GetCompiledCursor() *CompiledCursor {\n\tif m != nil {\n\t\treturn m.CompiledCursor\n\t}\n\treturn nil\n}\n\nfunc (m *QueryResult) GetIndex() []*CompositeIndex {\n\tif m != nil {\n\t\treturn m.Index\n\t}\n\treturn nil\n}\n\nfunc (m *QueryResult) GetVersion() []int64 {\n\tif m != nil {\n\t\treturn m.Version\n\t}\n\treturn nil\n}\n\ntype AllocateIdsRequest struct {\n\tHeader           *InternalHeader `protobuf:\"bytes,4,opt,name=header\" json:\"header,omitempty\"`\n\tModelKey         *Reference      `protobuf:\"bytes,1,opt,name=model_key\" json:\"model_key,omitempty\"`\n\tSize             *int64          `protobuf:\"varint,2,opt,name=size\" json:\"size,omitempty\"`\n\tMax              *int64          `protobuf:\"varint,3,opt,name=max\" json:\"max,omitempty\"`\n\tReserve          []*Reference    `protobuf:\"bytes,5,rep,name=reserve\" json:\"reserve,omitempty\"`\n\tXXX_unrecognized []byte          `json:\"-\"`\n}\n\nfunc (m *AllocateIdsRequest) Reset()         { *m = AllocateIdsRequest{} }\nfunc (m *AllocateIdsRequest) String() string { return proto.CompactTextString(m) }\nfunc (*AllocateIdsRequest) ProtoMessage()    {}\n\nfunc (m *AllocateIdsRequest) GetHeader() *InternalHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *AllocateIdsRequest) GetModelKey() *Reference {\n\tif m != nil {\n\t\treturn m.ModelKey\n\t}\n\treturn nil\n}\n\nfunc (m *AllocateIdsRequest) GetSize() int64 {\n\tif m != nil && m.Size != nil {\n\t\treturn *m.Size\n\t}\n\treturn 0\n}\n\nfunc (m *AllocateIdsRequest) GetMax() int64 {\n\tif m != nil && m.Max != nil {\n\t\treturn *m.Max\n\t}\n\treturn 0\n}\n\nfunc (m *AllocateIdsRequest) GetReserve() []*Reference {\n\tif m != nil {\n\t\treturn m.Reserve\n\t}\n\treturn nil\n}\n\ntype AllocateIdsResponse struct {\n\tStart            *int64 `protobuf:\"varint,1,req,name=start\" json:\"start,omitempty\"`\n\tEnd              *int64 `protobuf:\"varint,2,req,name=end\" json:\"end,omitempty\"`\n\tCost             *Cost  `protobuf:\"bytes,3,opt,name=cost\" json:\"cost,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *AllocateIdsResponse) Reset()         { *m = AllocateIdsResponse{} }\nfunc (m *AllocateIdsResponse) String() string { return proto.CompactTextString(m) }\nfunc (*AllocateIdsResponse) ProtoMessage()    {}\n\nfunc (m *AllocateIdsResponse) GetStart() int64 {\n\tif m != nil && m.Start != nil {\n\t\treturn *m.Start\n\t}\n\treturn 0\n}\n\nfunc (m *AllocateIdsResponse) GetEnd() int64 {\n\tif m != nil && m.End != nil {\n\t\treturn *m.End\n\t}\n\treturn 0\n}\n\nfunc (m *AllocateIdsResponse) GetCost() *Cost {\n\tif m != nil {\n\t\treturn m.Cost\n\t}\n\treturn nil\n}\n\ntype CompositeIndices struct {\n\tIndex            []*CompositeIndex `protobuf:\"bytes,1,rep,name=index\" json:\"index,omitempty\"`\n\tXXX_unrecognized []byte            `json:\"-\"`\n}\n\nfunc (m *CompositeIndices) Reset()         { *m = CompositeIndices{} }\nfunc (m *CompositeIndices) String() string { return proto.CompactTextString(m) }\nfunc (*CompositeIndices) ProtoMessage()    {}\n\nfunc (m *CompositeIndices) GetIndex() []*CompositeIndex {\n\tif m != nil {\n\t\treturn m.Index\n\t}\n\treturn nil\n}\n\ntype AddActionsRequest struct {\n\tHeader           *InternalHeader `protobuf:\"bytes,3,opt,name=header\" json:\"header,omitempty\"`\n\tTransaction      *Transaction    `protobuf:\"bytes,1,req,name=transaction\" json:\"transaction,omitempty\"`\n\tAction           []*Action       `protobuf:\"bytes,2,rep,name=action\" json:\"action,omitempty\"`\n\tXXX_unrecognized []byte          `json:\"-\"`\n}\n\nfunc (m *AddActionsRequest) Reset()         { *m = AddActionsRequest{} }\nfunc (m *AddActionsRequest) String() string { return proto.CompactTextString(m) }\nfunc (*AddActionsRequest) ProtoMessage()    {}\n\nfunc (m *AddActionsRequest) GetHeader() *InternalHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *AddActionsRequest) GetTransaction() *Transaction {\n\tif m != nil {\n\t\treturn m.Transaction\n\t}\n\treturn nil\n}\n\nfunc (m *AddActionsRequest) GetAction() []*Action {\n\tif m != nil {\n\t\treturn m.Action\n\t}\n\treturn nil\n}\n\ntype AddActionsResponse struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *AddActionsResponse) Reset()         { *m = AddActionsResponse{} }\nfunc (m *AddActionsResponse) String() string { return proto.CompactTextString(m) }\nfunc (*AddActionsResponse) ProtoMessage()    {}\n\ntype BeginTransactionRequest struct {\n\tHeader           *InternalHeader `protobuf:\"bytes,3,opt,name=header\" json:\"header,omitempty\"`\n\tApp              *string         `protobuf:\"bytes,1,req,name=app\" json:\"app,omitempty\"`\n\tAllowMultipleEg  *bool           `protobuf:\"varint,2,opt,name=allow_multiple_eg,def=0\" json:\"allow_multiple_eg,omitempty\"`\n\tXXX_unrecognized []byte          `json:\"-\"`\n}\n\nfunc (m *BeginTransactionRequest) Reset()         { *m = BeginTransactionRequest{} }\nfunc (m *BeginTransactionRequest) String() string { return proto.CompactTextString(m) }\nfunc (*BeginTransactionRequest) ProtoMessage()    {}\n\nconst Default_BeginTransactionRequest_AllowMultipleEg bool = false\n\nfunc (m *BeginTransactionRequest) GetHeader() *InternalHeader {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *BeginTransactionRequest) GetApp() string {\n\tif m != nil && m.App != nil {\n\t\treturn *m.App\n\t}\n\treturn \"\"\n}\n\nfunc (m *BeginTransactionRequest) GetAllowMultipleEg() bool {\n\tif m != nil && m.AllowMultipleEg != nil {\n\t\treturn *m.AllowMultipleEg\n\t}\n\treturn Default_BeginTransactionRequest_AllowMultipleEg\n}\n\ntype CommitResponse struct {\n\tCost             *Cost                     `protobuf:\"bytes,1,opt,name=cost\" json:\"cost,omitempty\"`\n\tVersion          []*CommitResponse_Version `protobuf:\"group,3,rep,name=Version\" json:\"version,omitempty\"`\n\tXXX_unrecognized []byte                    `json:\"-\"`\n}\n\nfunc (m *CommitResponse) Reset()         { *m = CommitResponse{} }\nfunc (m *CommitResponse) String() string { return proto.CompactTextString(m) }\nfunc (*CommitResponse) ProtoMessage()    {}\n\nfunc (m *CommitResponse) GetCost() *Cost {\n\tif m != nil {\n\t\treturn m.Cost\n\t}\n\treturn nil\n}\n\nfunc (m *CommitResponse) GetVersion() []*CommitResponse_Version {\n\tif m != nil {\n\t\treturn m.Version\n\t}\n\treturn nil\n}\n\ntype CommitResponse_Version struct {\n\tRootEntityKey    *Reference `protobuf:\"bytes,4,req,name=root_entity_key\" json:\"root_entity_key,omitempty\"`\n\tVersion          *int64     `protobuf:\"varint,5,req,name=version\" json:\"version,omitempty\"`\n\tXXX_unrecognized []byte     `json:\"-\"`\n}\n\nfunc (m *CommitResponse_Version) Reset()         { *m = CommitResponse_Version{} }\nfunc (m *CommitResponse_Version) String() string { return proto.CompactTextString(m) }\nfunc (*CommitResponse_Version) ProtoMessage()    {}\n\nfunc (m *CommitResponse_Version) GetRootEntityKey() *Reference {\n\tif m != nil {\n\t\treturn m.RootEntityKey\n\t}\n\treturn nil\n}\n\nfunc (m *CommitResponse_Version) GetVersion() int64 {\n\tif m != nil && m.Version != nil {\n\t\treturn *m.Version\n\t}\n\treturn 0\n}\n\nfunc init() {\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/identity.go",
    "content": "// Copyright 2011 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\npackage internal\n\nimport netcontext \"golang.org/x/net/context\"\n\n// These functions are implementations of the wrapper functions\n// in ../appengine/identity.go. See that file for commentary.\n\nfunc AppID(c netcontext.Context) string {\n\treturn appID(FullyQualifiedAppID(c))\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/identity_classic.go",
    "content": "// Copyright 2015 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\n// +build appengine\n\npackage internal\n\nimport (\n\t\"appengine\"\n\n\tnetcontext \"golang.org/x/net/context\"\n)\n\nfunc DefaultVersionHostname(ctx netcontext.Context) string {\n\treturn appengine.DefaultVersionHostname(fromContext(ctx))\n}\n\nfunc RequestID(ctx netcontext.Context) string  { return appengine.RequestID(fromContext(ctx)) }\nfunc Datacenter(_ netcontext.Context) string   { return appengine.Datacenter() }\nfunc ServerSoftware() string                   { return appengine.ServerSoftware() }\nfunc ModuleName(ctx netcontext.Context) string { return appengine.ModuleName(fromContext(ctx)) }\nfunc VersionID(ctx netcontext.Context) string  { return appengine.VersionID(fromContext(ctx)) }\nfunc InstanceID() string                       { return appengine.InstanceID() }\nfunc IsDevAppServer() bool                     { return appengine.IsDevAppServer() }\n\nfunc fullyQualifiedAppID(ctx netcontext.Context) string { return fromContext(ctx).FullyQualifiedAppID() }\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/identity_vm.go",
    "content": "// Copyright 2011 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\n// +build !appengine\n\npackage internal\n\nimport (\n\t\"net/http\"\n\t\"os\"\n\n\tnetcontext \"golang.org/x/net/context\"\n)\n\n// These functions are implementations of the wrapper functions\n// in ../appengine/identity.go. See that file for commentary.\n\nconst (\n\thDefaultVersionHostname = \"X-AppEngine-Default-Version-Hostname\"\n\thRequestLogId           = \"X-AppEngine-Request-Log-Id\"\n\thDatacenter             = \"X-AppEngine-Datacenter\"\n)\n\nfunc ctxHeaders(ctx netcontext.Context) http.Header {\n\treturn fromContext(ctx).Request().Header\n}\n\nfunc DefaultVersionHostname(ctx netcontext.Context) string {\n\treturn ctxHeaders(ctx).Get(hDefaultVersionHostname)\n}\n\nfunc RequestID(ctx netcontext.Context) string {\n\treturn ctxHeaders(ctx).Get(hRequestLogId)\n}\n\nfunc Datacenter(ctx netcontext.Context) string {\n\treturn ctxHeaders(ctx).Get(hDatacenter)\n}\n\nfunc ServerSoftware() string {\n\t// TODO(dsymonds): Remove fallback when we've verified this.\n\tif s := os.Getenv(\"SERVER_SOFTWARE\"); s != \"\" {\n\t\treturn s\n\t}\n\treturn \"Google App Engine/1.x.x\"\n}\n\n// TODO(dsymonds): Remove the metadata fetches.\n\nfunc ModuleName(_ netcontext.Context) string {\n\tif s := os.Getenv(\"GAE_MODULE_NAME\"); s != \"\" {\n\t\treturn s\n\t}\n\treturn string(mustGetMetadata(\"instance/attributes/gae_backend_name\"))\n}\n\nfunc VersionID(_ netcontext.Context) string {\n\tif s1, s2 := os.Getenv(\"GAE_MODULE_VERSION\"), os.Getenv(\"GAE_MINOR_VERSION\"); s1 != \"\" && s2 != \"\" {\n\t\treturn s1 + \".\" + s2\n\t}\n\treturn string(mustGetMetadata(\"instance/attributes/gae_backend_version\")) + \".\" + string(mustGetMetadata(\"instance/attributes/gae_backend_minor_version\"))\n}\n\nfunc InstanceID() string {\n\tif s := os.Getenv(\"GAE_MODULE_INSTANCE\"); s != \"\" {\n\t\treturn s\n\t}\n\treturn string(mustGetMetadata(\"instance/attributes/gae_backend_instance\"))\n}\n\nfunc partitionlessAppID() string {\n\t// gae_project has everything except the partition prefix.\n\tappID := os.Getenv(\"GAE_LONG_APP_ID\")\n\tif appID == \"\" {\n\t\tappID = string(mustGetMetadata(\"instance/attributes/gae_project\"))\n\t}\n\treturn appID\n}\n\nfunc fullyQualifiedAppID(_ netcontext.Context) string {\n\tappID := partitionlessAppID()\n\n\tpart := os.Getenv(\"GAE_PARTITION\")\n\tif part == \"\" {\n\t\tpart = string(mustGetMetadata(\"instance/attributes/gae_partition\"))\n\t}\n\n\tif part != \"\" {\n\t\tappID = part + \"~\" + appID\n\t}\n\treturn appID\n}\n\nfunc IsDevAppServer() bool {\n\treturn os.Getenv(\"RUN_WITH_DEVAPPSERVER\") != \"\"\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/internal.go",
    "content": "// Copyright 2011 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\n// Package internal provides support for package appengine.\n//\n// Programs should not use this package directly. Its API is not stable.\n// Use packages appengine and appengine/* instead.\npackage internal\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/golang/protobuf/proto\"\n\n\tremotepb \"google.golang.org/appengine/internal/remote_api\"\n)\n\n// errorCodeMaps is a map of service name to the error code map for the service.\nvar errorCodeMaps = make(map[string]map[int32]string)\n\n// RegisterErrorCodeMap is called from API implementations to register their\n// error code map. This should only be called from init functions.\nfunc RegisterErrorCodeMap(service string, m map[int32]string) {\n\terrorCodeMaps[service] = m\n}\n\ntype timeoutCodeKey struct {\n\tservice string\n\tcode    int32\n}\n\n// timeoutCodes is the set of service+code pairs that represent timeouts.\nvar timeoutCodes = make(map[timeoutCodeKey]bool)\n\nfunc RegisterTimeoutErrorCode(service string, code int32) {\n\ttimeoutCodes[timeoutCodeKey{service, code}] = true\n}\n\n// APIError is the type returned by appengine.Context's Call method\n// when an API call fails in an API-specific way. This may be, for instance,\n// a taskqueue API call failing with TaskQueueServiceError::UNKNOWN_QUEUE.\ntype APIError struct {\n\tService string\n\tDetail  string\n\tCode    int32 // API-specific error code\n}\n\nfunc (e *APIError) Error() string {\n\tif e.Code == 0 {\n\t\tif e.Detail == \"\" {\n\t\t\treturn \"APIError <empty>\"\n\t\t}\n\t\treturn e.Detail\n\t}\n\ts := fmt.Sprintf(\"API error %d\", e.Code)\n\tif m, ok := errorCodeMaps[e.Service]; ok {\n\t\ts += \" (\" + e.Service + \": \" + m[e.Code] + \")\"\n\t} else {\n\t\t// Shouldn't happen, but provide a bit more detail if it does.\n\t\ts = e.Service + \" \" + s\n\t}\n\tif e.Detail != \"\" {\n\t\ts += \": \" + e.Detail\n\t}\n\treturn s\n}\n\nfunc (e *APIError) IsTimeout() bool {\n\treturn timeoutCodes[timeoutCodeKey{e.Service, e.Code}]\n}\n\n// CallError is the type returned by appengine.Context's Call method when an\n// API call fails in a generic way, such as RpcError::CAPABILITY_DISABLED.\ntype CallError struct {\n\tDetail string\n\tCode   int32\n\t// TODO: Remove this if we get a distinguishable error code.\n\tTimeout bool\n}\n\nfunc (e *CallError) Error() string {\n\tvar msg string\n\tswitch remotepb.RpcError_ErrorCode(e.Code) {\n\tcase remotepb.RpcError_UNKNOWN:\n\t\treturn e.Detail\n\tcase remotepb.RpcError_OVER_QUOTA:\n\t\tmsg = \"Over quota\"\n\tcase remotepb.RpcError_CAPABILITY_DISABLED:\n\t\tmsg = \"Capability disabled\"\n\tcase remotepb.RpcError_CANCELLED:\n\t\tmsg = \"Canceled\"\n\tdefault:\n\t\tmsg = fmt.Sprintf(\"Call error %d\", e.Code)\n\t}\n\ts := msg + \": \" + e.Detail\n\tif e.Timeout {\n\t\ts += \" (timeout)\"\n\t}\n\treturn s\n}\n\nfunc (e *CallError) IsTimeout() bool {\n\treturn e.Timeout\n}\n\n// NamespaceMods is a map from API service to a function that will mutate an RPC request to attach a namespace.\n// The function should be prepared to be called on the same message more than once; it should only modify the\n// RPC request the first time.\nvar NamespaceMods = make(map[string]func(m proto.Message, namespace string))\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/log/log_service.pb.go",
    "content": "// Code generated by protoc-gen-go.\n// source: google.golang.org/appengine/internal/log/log_service.proto\n// DO NOT EDIT!\n\n/*\nPackage log is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle.golang.org/appengine/internal/log/log_service.proto\n\nIt has these top-level messages:\n\tLogServiceError\n\tUserAppLogLine\n\tUserAppLogGroup\n\tFlushRequest\n\tSetStatusRequest\n\tLogOffset\n\tLogLine\n\tRequestLog\n\tLogModuleVersion\n\tLogReadRequest\n\tLogReadResponse\n\tLogUsageRecord\n\tLogUsageRequest\n\tLogUsageResponse\n*/\npackage log\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\ntype LogServiceError_ErrorCode int32\n\nconst (\n\tLogServiceError_OK              LogServiceError_ErrorCode = 0\n\tLogServiceError_INVALID_REQUEST LogServiceError_ErrorCode = 1\n\tLogServiceError_STORAGE_ERROR   LogServiceError_ErrorCode = 2\n)\n\nvar LogServiceError_ErrorCode_name = map[int32]string{\n\t0: \"OK\",\n\t1: \"INVALID_REQUEST\",\n\t2: \"STORAGE_ERROR\",\n}\nvar LogServiceError_ErrorCode_value = map[string]int32{\n\t\"OK\":              0,\n\t\"INVALID_REQUEST\": 1,\n\t\"STORAGE_ERROR\":   2,\n}\n\nfunc (x LogServiceError_ErrorCode) Enum() *LogServiceError_ErrorCode {\n\tp := new(LogServiceError_ErrorCode)\n\t*p = x\n\treturn p\n}\nfunc (x LogServiceError_ErrorCode) String() string {\n\treturn proto.EnumName(LogServiceError_ErrorCode_name, int32(x))\n}\nfunc (x *LogServiceError_ErrorCode) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(LogServiceError_ErrorCode_value, data, \"LogServiceError_ErrorCode\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = LogServiceError_ErrorCode(value)\n\treturn nil\n}\n\ntype LogServiceError struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *LogServiceError) Reset()         { *m = LogServiceError{} }\nfunc (m *LogServiceError) String() string { return proto.CompactTextString(m) }\nfunc (*LogServiceError) ProtoMessage()    {}\n\ntype UserAppLogLine struct {\n\tTimestampUsec    *int64  `protobuf:\"varint,1,req,name=timestamp_usec\" json:\"timestamp_usec,omitempty\"`\n\tLevel            *int64  `protobuf:\"varint,2,req,name=level\" json:\"level,omitempty\"`\n\tMessage          *string `protobuf:\"bytes,3,req,name=message\" json:\"message,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *UserAppLogLine) Reset()         { *m = UserAppLogLine{} }\nfunc (m *UserAppLogLine) String() string { return proto.CompactTextString(m) }\nfunc (*UserAppLogLine) ProtoMessage()    {}\n\nfunc (m *UserAppLogLine) GetTimestampUsec() int64 {\n\tif m != nil && m.TimestampUsec != nil {\n\t\treturn *m.TimestampUsec\n\t}\n\treturn 0\n}\n\nfunc (m *UserAppLogLine) GetLevel() int64 {\n\tif m != nil && m.Level != nil {\n\t\treturn *m.Level\n\t}\n\treturn 0\n}\n\nfunc (m *UserAppLogLine) GetMessage() string {\n\tif m != nil && m.Message != nil {\n\t\treturn *m.Message\n\t}\n\treturn \"\"\n}\n\ntype UserAppLogGroup struct {\n\tLogLine          []*UserAppLogLine `protobuf:\"bytes,2,rep,name=log_line\" json:\"log_line,omitempty\"`\n\tXXX_unrecognized []byte            `json:\"-\"`\n}\n\nfunc (m *UserAppLogGroup) Reset()         { *m = UserAppLogGroup{} }\nfunc (m *UserAppLogGroup) String() string { return proto.CompactTextString(m) }\nfunc (*UserAppLogGroup) ProtoMessage()    {}\n\nfunc (m *UserAppLogGroup) GetLogLine() []*UserAppLogLine {\n\tif m != nil {\n\t\treturn m.LogLine\n\t}\n\treturn nil\n}\n\ntype FlushRequest struct {\n\tLogs             []byte `protobuf:\"bytes,1,opt,name=logs\" json:\"logs,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *FlushRequest) Reset()         { *m = FlushRequest{} }\nfunc (m *FlushRequest) String() string { return proto.CompactTextString(m) }\nfunc (*FlushRequest) ProtoMessage()    {}\n\nfunc (m *FlushRequest) GetLogs() []byte {\n\tif m != nil {\n\t\treturn m.Logs\n\t}\n\treturn nil\n}\n\ntype SetStatusRequest struct {\n\tStatus           *string `protobuf:\"bytes,1,req,name=status\" json:\"status,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *SetStatusRequest) Reset()         { *m = SetStatusRequest{} }\nfunc (m *SetStatusRequest) String() string { return proto.CompactTextString(m) }\nfunc (*SetStatusRequest) ProtoMessage()    {}\n\nfunc (m *SetStatusRequest) GetStatus() string {\n\tif m != nil && m.Status != nil {\n\t\treturn *m.Status\n\t}\n\treturn \"\"\n}\n\ntype LogOffset struct {\n\tRequestId        []byte `protobuf:\"bytes,1,opt,name=request_id\" json:\"request_id,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *LogOffset) Reset()         { *m = LogOffset{} }\nfunc (m *LogOffset) String() string { return proto.CompactTextString(m) }\nfunc (*LogOffset) ProtoMessage()    {}\n\nfunc (m *LogOffset) GetRequestId() []byte {\n\tif m != nil {\n\t\treturn m.RequestId\n\t}\n\treturn nil\n}\n\ntype LogLine struct {\n\tTime             *int64  `protobuf:\"varint,1,req,name=time\" json:\"time,omitempty\"`\n\tLevel            *int32  `protobuf:\"varint,2,req,name=level\" json:\"level,omitempty\"`\n\tLogMessage       *string `protobuf:\"bytes,3,req,name=log_message\" json:\"log_message,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *LogLine) Reset()         { *m = LogLine{} }\nfunc (m *LogLine) String() string { return proto.CompactTextString(m) }\nfunc (*LogLine) ProtoMessage()    {}\n\nfunc (m *LogLine) GetTime() int64 {\n\tif m != nil && m.Time != nil {\n\t\treturn *m.Time\n\t}\n\treturn 0\n}\n\nfunc (m *LogLine) GetLevel() int32 {\n\tif m != nil && m.Level != nil {\n\t\treturn *m.Level\n\t}\n\treturn 0\n}\n\nfunc (m *LogLine) GetLogMessage() string {\n\tif m != nil && m.LogMessage != nil {\n\t\treturn *m.LogMessage\n\t}\n\treturn \"\"\n}\n\ntype RequestLog struct {\n\tAppId                   *string    `protobuf:\"bytes,1,req,name=app_id\" json:\"app_id,omitempty\"`\n\tModuleId                *string    `protobuf:\"bytes,37,opt,name=module_id,def=default\" json:\"module_id,omitempty\"`\n\tVersionId               *string    `protobuf:\"bytes,2,req,name=version_id\" json:\"version_id,omitempty\"`\n\tRequestId               []byte     `protobuf:\"bytes,3,req,name=request_id\" json:\"request_id,omitempty\"`\n\tOffset                  *LogOffset `protobuf:\"bytes,35,opt,name=offset\" json:\"offset,omitempty\"`\n\tIp                      *string    `protobuf:\"bytes,4,req,name=ip\" json:\"ip,omitempty\"`\n\tNickname                *string    `protobuf:\"bytes,5,opt,name=nickname\" json:\"nickname,omitempty\"`\n\tStartTime               *int64     `protobuf:\"varint,6,req,name=start_time\" json:\"start_time,omitempty\"`\n\tEndTime                 *int64     `protobuf:\"varint,7,req,name=end_time\" json:\"end_time,omitempty\"`\n\tLatency                 *int64     `protobuf:\"varint,8,req,name=latency\" json:\"latency,omitempty\"`\n\tMcycles                 *int64     `protobuf:\"varint,9,req,name=mcycles\" json:\"mcycles,omitempty\"`\n\tMethod                  *string    `protobuf:\"bytes,10,req,name=method\" json:\"method,omitempty\"`\n\tResource                *string    `protobuf:\"bytes,11,req,name=resource\" json:\"resource,omitempty\"`\n\tHttpVersion             *string    `protobuf:\"bytes,12,req,name=http_version\" json:\"http_version,omitempty\"`\n\tStatus                  *int32     `protobuf:\"varint,13,req,name=status\" json:\"status,omitempty\"`\n\tResponseSize            *int64     `protobuf:\"varint,14,req,name=response_size\" json:\"response_size,omitempty\"`\n\tReferrer                *string    `protobuf:\"bytes,15,opt,name=referrer\" json:\"referrer,omitempty\"`\n\tUserAgent               *string    `protobuf:\"bytes,16,opt,name=user_agent\" json:\"user_agent,omitempty\"`\n\tUrlMapEntry             *string    `protobuf:\"bytes,17,req,name=url_map_entry\" json:\"url_map_entry,omitempty\"`\n\tCombined                *string    `protobuf:\"bytes,18,req,name=combined\" json:\"combined,omitempty\"`\n\tApiMcycles              *int64     `protobuf:\"varint,19,opt,name=api_mcycles\" json:\"api_mcycles,omitempty\"`\n\tHost                    *string    `protobuf:\"bytes,20,opt,name=host\" json:\"host,omitempty\"`\n\tCost                    *float64   `protobuf:\"fixed64,21,opt,name=cost\" json:\"cost,omitempty\"`\n\tTaskQueueName           *string    `protobuf:\"bytes,22,opt,name=task_queue_name\" json:\"task_queue_name,omitempty\"`\n\tTaskName                *string    `protobuf:\"bytes,23,opt,name=task_name\" json:\"task_name,omitempty\"`\n\tWasLoadingRequest       *bool      `protobuf:\"varint,24,opt,name=was_loading_request\" json:\"was_loading_request,omitempty\"`\n\tPendingTime             *int64     `protobuf:\"varint,25,opt,name=pending_time\" json:\"pending_time,omitempty\"`\n\tReplicaIndex            *int32     `protobuf:\"varint,26,opt,name=replica_index,def=-1\" json:\"replica_index,omitempty\"`\n\tFinished                *bool      `protobuf:\"varint,27,opt,name=finished,def=1\" json:\"finished,omitempty\"`\n\tCloneKey                []byte     `protobuf:\"bytes,28,opt,name=clone_key\" json:\"clone_key,omitempty\"`\n\tLine                    []*LogLine `protobuf:\"bytes,29,rep,name=line\" json:\"line,omitempty\"`\n\tLinesIncomplete         *bool      `protobuf:\"varint,36,opt,name=lines_incomplete\" json:\"lines_incomplete,omitempty\"`\n\tAppEngineRelease        []byte     `protobuf:\"bytes,38,opt,name=app_engine_release\" json:\"app_engine_release,omitempty\"`\n\tExitReason              *int32     `protobuf:\"varint,30,opt,name=exit_reason\" json:\"exit_reason,omitempty\"`\n\tWasThrottledForTime     *bool      `protobuf:\"varint,31,opt,name=was_throttled_for_time\" json:\"was_throttled_for_time,omitempty\"`\n\tWasThrottledForRequests *bool      `protobuf:\"varint,32,opt,name=was_throttled_for_requests\" json:\"was_throttled_for_requests,omitempty\"`\n\tThrottledTime           *int64     `protobuf:\"varint,33,opt,name=throttled_time\" json:\"throttled_time,omitempty\"`\n\tServerName              []byte     `protobuf:\"bytes,34,opt,name=server_name\" json:\"server_name,omitempty\"`\n\tXXX_unrecognized        []byte     `json:\"-\"`\n}\n\nfunc (m *RequestLog) Reset()         { *m = RequestLog{} }\nfunc (m *RequestLog) String() string { return proto.CompactTextString(m) }\nfunc (*RequestLog) ProtoMessage()    {}\n\nconst Default_RequestLog_ModuleId string = \"default\"\nconst Default_RequestLog_ReplicaIndex int32 = -1\nconst Default_RequestLog_Finished bool = true\n\nfunc (m *RequestLog) GetAppId() string {\n\tif m != nil && m.AppId != nil {\n\t\treturn *m.AppId\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetModuleId() string {\n\tif m != nil && m.ModuleId != nil {\n\t\treturn *m.ModuleId\n\t}\n\treturn Default_RequestLog_ModuleId\n}\n\nfunc (m *RequestLog) GetVersionId() string {\n\tif m != nil && m.VersionId != nil {\n\t\treturn *m.VersionId\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetRequestId() []byte {\n\tif m != nil {\n\t\treturn m.RequestId\n\t}\n\treturn nil\n}\n\nfunc (m *RequestLog) GetOffset() *LogOffset {\n\tif m != nil {\n\t\treturn m.Offset\n\t}\n\treturn nil\n}\n\nfunc (m *RequestLog) GetIp() string {\n\tif m != nil && m.Ip != nil {\n\t\treturn *m.Ip\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetNickname() string {\n\tif m != nil && m.Nickname != nil {\n\t\treturn *m.Nickname\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetStartTime() int64 {\n\tif m != nil && m.StartTime != nil {\n\t\treturn *m.StartTime\n\t}\n\treturn 0\n}\n\nfunc (m *RequestLog) GetEndTime() int64 {\n\tif m != nil && m.EndTime != nil {\n\t\treturn *m.EndTime\n\t}\n\treturn 0\n}\n\nfunc (m *RequestLog) GetLatency() int64 {\n\tif m != nil && m.Latency != nil {\n\t\treturn *m.Latency\n\t}\n\treturn 0\n}\n\nfunc (m *RequestLog) GetMcycles() int64 {\n\tif m != nil && m.Mcycles != nil {\n\t\treturn *m.Mcycles\n\t}\n\treturn 0\n}\n\nfunc (m *RequestLog) GetMethod() string {\n\tif m != nil && m.Method != nil {\n\t\treturn *m.Method\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetResource() string {\n\tif m != nil && m.Resource != nil {\n\t\treturn *m.Resource\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetHttpVersion() string {\n\tif m != nil && m.HttpVersion != nil {\n\t\treturn *m.HttpVersion\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetStatus() int32 {\n\tif m != nil && m.Status != nil {\n\t\treturn *m.Status\n\t}\n\treturn 0\n}\n\nfunc (m *RequestLog) GetResponseSize() int64 {\n\tif m != nil && m.ResponseSize != nil {\n\t\treturn *m.ResponseSize\n\t}\n\treturn 0\n}\n\nfunc (m *RequestLog) GetReferrer() string {\n\tif m != nil && m.Referrer != nil {\n\t\treturn *m.Referrer\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetUserAgent() string {\n\tif m != nil && m.UserAgent != nil {\n\t\treturn *m.UserAgent\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetUrlMapEntry() string {\n\tif m != nil && m.UrlMapEntry != nil {\n\t\treturn *m.UrlMapEntry\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetCombined() string {\n\tif m != nil && m.Combined != nil {\n\t\treturn *m.Combined\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetApiMcycles() int64 {\n\tif m != nil && m.ApiMcycles != nil {\n\t\treturn *m.ApiMcycles\n\t}\n\treturn 0\n}\n\nfunc (m *RequestLog) GetHost() string {\n\tif m != nil && m.Host != nil {\n\t\treturn *m.Host\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetCost() float64 {\n\tif m != nil && m.Cost != nil {\n\t\treturn *m.Cost\n\t}\n\treturn 0\n}\n\nfunc (m *RequestLog) GetTaskQueueName() string {\n\tif m != nil && m.TaskQueueName != nil {\n\t\treturn *m.TaskQueueName\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetTaskName() string {\n\tif m != nil && m.TaskName != nil {\n\t\treturn *m.TaskName\n\t}\n\treturn \"\"\n}\n\nfunc (m *RequestLog) GetWasLoadingRequest() bool {\n\tif m != nil && m.WasLoadingRequest != nil {\n\t\treturn *m.WasLoadingRequest\n\t}\n\treturn false\n}\n\nfunc (m *RequestLog) GetPendingTime() int64 {\n\tif m != nil && m.PendingTime != nil {\n\t\treturn *m.PendingTime\n\t}\n\treturn 0\n}\n\nfunc (m *RequestLog) GetReplicaIndex() int32 {\n\tif m != nil && m.ReplicaIndex != nil {\n\t\treturn *m.ReplicaIndex\n\t}\n\treturn Default_RequestLog_ReplicaIndex\n}\n\nfunc (m *RequestLog) GetFinished() bool {\n\tif m != nil && m.Finished != nil {\n\t\treturn *m.Finished\n\t}\n\treturn Default_RequestLog_Finished\n}\n\nfunc (m *RequestLog) GetCloneKey() []byte {\n\tif m != nil {\n\t\treturn m.CloneKey\n\t}\n\treturn nil\n}\n\nfunc (m *RequestLog) GetLine() []*LogLine {\n\tif m != nil {\n\t\treturn m.Line\n\t}\n\treturn nil\n}\n\nfunc (m *RequestLog) GetLinesIncomplete() bool {\n\tif m != nil && m.LinesIncomplete != nil {\n\t\treturn *m.LinesIncomplete\n\t}\n\treturn false\n}\n\nfunc (m *RequestLog) GetAppEngineRelease() []byte {\n\tif m != nil {\n\t\treturn m.AppEngineRelease\n\t}\n\treturn nil\n}\n\nfunc (m *RequestLog) GetExitReason() int32 {\n\tif m != nil && m.ExitReason != nil {\n\t\treturn *m.ExitReason\n\t}\n\treturn 0\n}\n\nfunc (m *RequestLog) GetWasThrottledForTime() bool {\n\tif m != nil && m.WasThrottledForTime != nil {\n\t\treturn *m.WasThrottledForTime\n\t}\n\treturn false\n}\n\nfunc (m *RequestLog) GetWasThrottledForRequests() bool {\n\tif m != nil && m.WasThrottledForRequests != nil {\n\t\treturn *m.WasThrottledForRequests\n\t}\n\treturn false\n}\n\nfunc (m *RequestLog) GetThrottledTime() int64 {\n\tif m != nil && m.ThrottledTime != nil {\n\t\treturn *m.ThrottledTime\n\t}\n\treturn 0\n}\n\nfunc (m *RequestLog) GetServerName() []byte {\n\tif m != nil {\n\t\treturn m.ServerName\n\t}\n\treturn nil\n}\n\ntype LogModuleVersion struct {\n\tModuleId         *string `protobuf:\"bytes,1,opt,name=module_id,def=default\" json:\"module_id,omitempty\"`\n\tVersionId        *string `protobuf:\"bytes,2,opt,name=version_id\" json:\"version_id,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *LogModuleVersion) Reset()         { *m = LogModuleVersion{} }\nfunc (m *LogModuleVersion) String() string { return proto.CompactTextString(m) }\nfunc (*LogModuleVersion) ProtoMessage()    {}\n\nconst Default_LogModuleVersion_ModuleId string = \"default\"\n\nfunc (m *LogModuleVersion) GetModuleId() string {\n\tif m != nil && m.ModuleId != nil {\n\t\treturn *m.ModuleId\n\t}\n\treturn Default_LogModuleVersion_ModuleId\n}\n\nfunc (m *LogModuleVersion) GetVersionId() string {\n\tif m != nil && m.VersionId != nil {\n\t\treturn *m.VersionId\n\t}\n\treturn \"\"\n}\n\ntype LogReadRequest struct {\n\tAppId             *string             `protobuf:\"bytes,1,req,name=app_id\" json:\"app_id,omitempty\"`\n\tVersionId         []string            `protobuf:\"bytes,2,rep,name=version_id\" json:\"version_id,omitempty\"`\n\tModuleVersion     []*LogModuleVersion `protobuf:\"bytes,19,rep,name=module_version\" json:\"module_version,omitempty\"`\n\tStartTime         *int64              `protobuf:\"varint,3,opt,name=start_time\" json:\"start_time,omitempty\"`\n\tEndTime           *int64              `protobuf:\"varint,4,opt,name=end_time\" json:\"end_time,omitempty\"`\n\tOffset            *LogOffset          `protobuf:\"bytes,5,opt,name=offset\" json:\"offset,omitempty\"`\n\tRequestId         [][]byte            `protobuf:\"bytes,6,rep,name=request_id\" json:\"request_id,omitempty\"`\n\tMinimumLogLevel   *int32              `protobuf:\"varint,7,opt,name=minimum_log_level\" json:\"minimum_log_level,omitempty\"`\n\tIncludeIncomplete *bool               `protobuf:\"varint,8,opt,name=include_incomplete\" json:\"include_incomplete,omitempty\"`\n\tCount             *int64              `protobuf:\"varint,9,opt,name=count\" json:\"count,omitempty\"`\n\tCombinedLogRegex  *string             `protobuf:\"bytes,14,opt,name=combined_log_regex\" json:\"combined_log_regex,omitempty\"`\n\tHostRegex         *string             `protobuf:\"bytes,15,opt,name=host_regex\" json:\"host_regex,omitempty\"`\n\tReplicaIndex      *int32              `protobuf:\"varint,16,opt,name=replica_index\" json:\"replica_index,omitempty\"`\n\tIncludeAppLogs    *bool               `protobuf:\"varint,10,opt,name=include_app_logs\" json:\"include_app_logs,omitempty\"`\n\tAppLogsPerRequest *int32              `protobuf:\"varint,17,opt,name=app_logs_per_request\" json:\"app_logs_per_request,omitempty\"`\n\tIncludeHost       *bool               `protobuf:\"varint,11,opt,name=include_host\" json:\"include_host,omitempty\"`\n\tIncludeAll        *bool               `protobuf:\"varint,12,opt,name=include_all\" json:\"include_all,omitempty\"`\n\tCacheIterator     *bool               `protobuf:\"varint,13,opt,name=cache_iterator\" json:\"cache_iterator,omitempty\"`\n\tNumShards         *int32              `protobuf:\"varint,18,opt,name=num_shards\" json:\"num_shards,omitempty\"`\n\tXXX_unrecognized  []byte              `json:\"-\"`\n}\n\nfunc (m *LogReadRequest) Reset()         { *m = LogReadRequest{} }\nfunc (m *LogReadRequest) String() string { return proto.CompactTextString(m) }\nfunc (*LogReadRequest) ProtoMessage()    {}\n\nfunc (m *LogReadRequest) GetAppId() string {\n\tif m != nil && m.AppId != nil {\n\t\treturn *m.AppId\n\t}\n\treturn \"\"\n}\n\nfunc (m *LogReadRequest) GetVersionId() []string {\n\tif m != nil {\n\t\treturn m.VersionId\n\t}\n\treturn nil\n}\n\nfunc (m *LogReadRequest) GetModuleVersion() []*LogModuleVersion {\n\tif m != nil {\n\t\treturn m.ModuleVersion\n\t}\n\treturn nil\n}\n\nfunc (m *LogReadRequest) GetStartTime() int64 {\n\tif m != nil && m.StartTime != nil {\n\t\treturn *m.StartTime\n\t}\n\treturn 0\n}\n\nfunc (m *LogReadRequest) GetEndTime() int64 {\n\tif m != nil && m.EndTime != nil {\n\t\treturn *m.EndTime\n\t}\n\treturn 0\n}\n\nfunc (m *LogReadRequest) GetOffset() *LogOffset {\n\tif m != nil {\n\t\treturn m.Offset\n\t}\n\treturn nil\n}\n\nfunc (m *LogReadRequest) GetRequestId() [][]byte {\n\tif m != nil {\n\t\treturn m.RequestId\n\t}\n\treturn nil\n}\n\nfunc (m *LogReadRequest) GetMinimumLogLevel() int32 {\n\tif m != nil && m.MinimumLogLevel != nil {\n\t\treturn *m.MinimumLogLevel\n\t}\n\treturn 0\n}\n\nfunc (m *LogReadRequest) GetIncludeIncomplete() bool {\n\tif m != nil && m.IncludeIncomplete != nil {\n\t\treturn *m.IncludeIncomplete\n\t}\n\treturn false\n}\n\nfunc (m *LogReadRequest) GetCount() int64 {\n\tif m != nil && m.Count != nil {\n\t\treturn *m.Count\n\t}\n\treturn 0\n}\n\nfunc (m *LogReadRequest) GetCombinedLogRegex() string {\n\tif m != nil && m.CombinedLogRegex != nil {\n\t\treturn *m.CombinedLogRegex\n\t}\n\treturn \"\"\n}\n\nfunc (m *LogReadRequest) GetHostRegex() string {\n\tif m != nil && m.HostRegex != nil {\n\t\treturn *m.HostRegex\n\t}\n\treturn \"\"\n}\n\nfunc (m *LogReadRequest) GetReplicaIndex() int32 {\n\tif m != nil && m.ReplicaIndex != nil {\n\t\treturn *m.ReplicaIndex\n\t}\n\treturn 0\n}\n\nfunc (m *LogReadRequest) GetIncludeAppLogs() bool {\n\tif m != nil && m.IncludeAppLogs != nil {\n\t\treturn *m.IncludeAppLogs\n\t}\n\treturn false\n}\n\nfunc (m *LogReadRequest) GetAppLogsPerRequest() int32 {\n\tif m != nil && m.AppLogsPerRequest != nil {\n\t\treturn *m.AppLogsPerRequest\n\t}\n\treturn 0\n}\n\nfunc (m *LogReadRequest) GetIncludeHost() bool {\n\tif m != nil && m.IncludeHost != nil {\n\t\treturn *m.IncludeHost\n\t}\n\treturn false\n}\n\nfunc (m *LogReadRequest) GetIncludeAll() bool {\n\tif m != nil && m.IncludeAll != nil {\n\t\treturn *m.IncludeAll\n\t}\n\treturn false\n}\n\nfunc (m *LogReadRequest) GetCacheIterator() bool {\n\tif m != nil && m.CacheIterator != nil {\n\t\treturn *m.CacheIterator\n\t}\n\treturn false\n}\n\nfunc (m *LogReadRequest) GetNumShards() int32 {\n\tif m != nil && m.NumShards != nil {\n\t\treturn *m.NumShards\n\t}\n\treturn 0\n}\n\ntype LogReadResponse struct {\n\tLog              []*RequestLog `protobuf:\"bytes,1,rep,name=log\" json:\"log,omitempty\"`\n\tOffset           *LogOffset    `protobuf:\"bytes,2,opt,name=offset\" json:\"offset,omitempty\"`\n\tLastEndTime      *int64        `protobuf:\"varint,3,opt,name=last_end_time\" json:\"last_end_time,omitempty\"`\n\tXXX_unrecognized []byte        `json:\"-\"`\n}\n\nfunc (m *LogReadResponse) Reset()         { *m = LogReadResponse{} }\nfunc (m *LogReadResponse) String() string { return proto.CompactTextString(m) }\nfunc (*LogReadResponse) ProtoMessage()    {}\n\nfunc (m *LogReadResponse) GetLog() []*RequestLog {\n\tif m != nil {\n\t\treturn m.Log\n\t}\n\treturn nil\n}\n\nfunc (m *LogReadResponse) GetOffset() *LogOffset {\n\tif m != nil {\n\t\treturn m.Offset\n\t}\n\treturn nil\n}\n\nfunc (m *LogReadResponse) GetLastEndTime() int64 {\n\tif m != nil && m.LastEndTime != nil {\n\t\treturn *m.LastEndTime\n\t}\n\treturn 0\n}\n\ntype LogUsageRecord struct {\n\tVersionId        *string `protobuf:\"bytes,1,opt,name=version_id\" json:\"version_id,omitempty\"`\n\tStartTime        *int32  `protobuf:\"varint,2,opt,name=start_time\" json:\"start_time,omitempty\"`\n\tEndTime          *int32  `protobuf:\"varint,3,opt,name=end_time\" json:\"end_time,omitempty\"`\n\tCount            *int64  `protobuf:\"varint,4,opt,name=count\" json:\"count,omitempty\"`\n\tTotalSize        *int64  `protobuf:\"varint,5,opt,name=total_size\" json:\"total_size,omitempty\"`\n\tRecords          *int32  `protobuf:\"varint,6,opt,name=records\" json:\"records,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *LogUsageRecord) Reset()         { *m = LogUsageRecord{} }\nfunc (m *LogUsageRecord) String() string { return proto.CompactTextString(m) }\nfunc (*LogUsageRecord) ProtoMessage()    {}\n\nfunc (m *LogUsageRecord) GetVersionId() string {\n\tif m != nil && m.VersionId != nil {\n\t\treturn *m.VersionId\n\t}\n\treturn \"\"\n}\n\nfunc (m *LogUsageRecord) GetStartTime() int32 {\n\tif m != nil && m.StartTime != nil {\n\t\treturn *m.StartTime\n\t}\n\treturn 0\n}\n\nfunc (m *LogUsageRecord) GetEndTime() int32 {\n\tif m != nil && m.EndTime != nil {\n\t\treturn *m.EndTime\n\t}\n\treturn 0\n}\n\nfunc (m *LogUsageRecord) GetCount() int64 {\n\tif m != nil && m.Count != nil {\n\t\treturn *m.Count\n\t}\n\treturn 0\n}\n\nfunc (m *LogUsageRecord) GetTotalSize() int64 {\n\tif m != nil && m.TotalSize != nil {\n\t\treturn *m.TotalSize\n\t}\n\treturn 0\n}\n\nfunc (m *LogUsageRecord) GetRecords() int32 {\n\tif m != nil && m.Records != nil {\n\t\treturn *m.Records\n\t}\n\treturn 0\n}\n\ntype LogUsageRequest struct {\n\tAppId            *string  `protobuf:\"bytes,1,req,name=app_id\" json:\"app_id,omitempty\"`\n\tVersionId        []string `protobuf:\"bytes,2,rep,name=version_id\" json:\"version_id,omitempty\"`\n\tStartTime        *int32   `protobuf:\"varint,3,opt,name=start_time\" json:\"start_time,omitempty\"`\n\tEndTime          *int32   `protobuf:\"varint,4,opt,name=end_time\" json:\"end_time,omitempty\"`\n\tResolutionHours  *uint32  `protobuf:\"varint,5,opt,name=resolution_hours,def=1\" json:\"resolution_hours,omitempty\"`\n\tCombineVersions  *bool    `protobuf:\"varint,6,opt,name=combine_versions\" json:\"combine_versions,omitempty\"`\n\tUsageVersion     *int32   `protobuf:\"varint,7,opt,name=usage_version\" json:\"usage_version,omitempty\"`\n\tVersionsOnly     *bool    `protobuf:\"varint,8,opt,name=versions_only\" json:\"versions_only,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *LogUsageRequest) Reset()         { *m = LogUsageRequest{} }\nfunc (m *LogUsageRequest) String() string { return proto.CompactTextString(m) }\nfunc (*LogUsageRequest) ProtoMessage()    {}\n\nconst Default_LogUsageRequest_ResolutionHours uint32 = 1\n\nfunc (m *LogUsageRequest) GetAppId() string {\n\tif m != nil && m.AppId != nil {\n\t\treturn *m.AppId\n\t}\n\treturn \"\"\n}\n\nfunc (m *LogUsageRequest) GetVersionId() []string {\n\tif m != nil {\n\t\treturn m.VersionId\n\t}\n\treturn nil\n}\n\nfunc (m *LogUsageRequest) GetStartTime() int32 {\n\tif m != nil && m.StartTime != nil {\n\t\treturn *m.StartTime\n\t}\n\treturn 0\n}\n\nfunc (m *LogUsageRequest) GetEndTime() int32 {\n\tif m != nil && m.EndTime != nil {\n\t\treturn *m.EndTime\n\t}\n\treturn 0\n}\n\nfunc (m *LogUsageRequest) GetResolutionHours() uint32 {\n\tif m != nil && m.ResolutionHours != nil {\n\t\treturn *m.ResolutionHours\n\t}\n\treturn Default_LogUsageRequest_ResolutionHours\n}\n\nfunc (m *LogUsageRequest) GetCombineVersions() bool {\n\tif m != nil && m.CombineVersions != nil {\n\t\treturn *m.CombineVersions\n\t}\n\treturn false\n}\n\nfunc (m *LogUsageRequest) GetUsageVersion() int32 {\n\tif m != nil && m.UsageVersion != nil {\n\t\treturn *m.UsageVersion\n\t}\n\treturn 0\n}\n\nfunc (m *LogUsageRequest) GetVersionsOnly() bool {\n\tif m != nil && m.VersionsOnly != nil {\n\t\treturn *m.VersionsOnly\n\t}\n\treturn false\n}\n\ntype LogUsageResponse struct {\n\tUsage            []*LogUsageRecord `protobuf:\"bytes,1,rep,name=usage\" json:\"usage,omitempty\"`\n\tSummary          *LogUsageRecord   `protobuf:\"bytes,2,opt,name=summary\" json:\"summary,omitempty\"`\n\tXXX_unrecognized []byte            `json:\"-\"`\n}\n\nfunc (m *LogUsageResponse) Reset()         { *m = LogUsageResponse{} }\nfunc (m *LogUsageResponse) String() string { return proto.CompactTextString(m) }\nfunc (*LogUsageResponse) ProtoMessage()    {}\n\nfunc (m *LogUsageResponse) GetUsage() []*LogUsageRecord {\n\tif m != nil {\n\t\treturn m.Usage\n\t}\n\treturn nil\n}\n\nfunc (m *LogUsageResponse) GetSummary() *LogUsageRecord {\n\tif m != nil {\n\t\treturn m.Summary\n\t}\n\treturn nil\n}\n\nfunc init() {\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/main.go",
    "content": "// Copyright 2011 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\n// +build appengine\n\npackage internal\n\nimport (\n\t\"appengine_internal\"\n)\n\nfunc Main() {\n\tappengine_internal.Main()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/main_vm.go",
    "content": "// Copyright 2011 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\n// +build !appengine\n\npackage internal\n\nimport (\n\t\"io\"\n\t\"log\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"os\"\n)\n\nfunc Main() {\n\tinstallHealthChecker(http.DefaultServeMux)\n\n\tport := \"8080\"\n\tif s := os.Getenv(\"PORT\"); s != \"\" {\n\t\tport = s\n\t}\n\n\tif err := http.ListenAndServe(\":\"+port, http.HandlerFunc(handleHTTP)); err != nil {\n\t\tlog.Fatalf(\"http.ListenAndServe: %v\", err)\n\t}\n}\n\nfunc installHealthChecker(mux *http.ServeMux) {\n\t// If no health check handler has been installed by this point, add a trivial one.\n\tconst healthPath = \"/_ah/health\"\n\threq := &http.Request{\n\t\tMethod: \"GET\",\n\t\tURL: &url.URL{\n\t\t\tPath: healthPath,\n\t\t},\n\t}\n\tif _, pat := mux.Handler(hreq); pat != healthPath {\n\t\tmux.HandleFunc(healthPath, func(w http.ResponseWriter, r *http.Request) {\n\t\t\tio.WriteString(w, \"ok\")\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/metadata.go",
    "content": "// Copyright 2014 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\npackage internal\n\n// This file has code for accessing metadata.\n//\n// References:\n//\thttps://cloud.google.com/compute/docs/metadata\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n\t\"net/url\"\n)\n\nconst (\n\tmetadataHost = \"metadata\"\n\tmetadataPath = \"/computeMetadata/v1/\"\n)\n\nvar (\n\tmetadataRequestHeaders = http.Header{\n\t\t\"Metadata-Flavor\": []string{\"Google\"},\n\t}\n)\n\n// TODO(dsymonds): Do we need to support default values, like Python?\nfunc mustGetMetadata(key string) []byte {\n\tb, err := getMetadata(key)\n\tif err != nil {\n\t\tlog.Fatalf(\"Metadata fetch failed: %v\", err)\n\t}\n\treturn b\n}\n\nfunc getMetadata(key string) ([]byte, error) {\n\t// TODO(dsymonds): May need to use url.Parse to support keys with query args.\n\treq := &http.Request{\n\t\tMethod: \"GET\",\n\t\tURL: &url.URL{\n\t\t\tScheme: \"http\",\n\t\t\tHost:   metadataHost,\n\t\t\tPath:   metadataPath + key,\n\t\t},\n\t\tHeader: metadataRequestHeaders,\n\t\tHost:   metadataHost,\n\t}\n\tresp, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\tif resp.StatusCode != 200 {\n\t\treturn nil, fmt.Errorf(\"metadata server returned HTTP %d\", resp.StatusCode)\n\t}\n\treturn ioutil.ReadAll(resp.Body)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/modules/modules_service.pb.go",
    "content": "// Code generated by protoc-gen-go.\n// source: google.golang.org/appengine/internal/modules/modules_service.proto\n// DO NOT EDIT!\n\n/*\nPackage modules is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle.golang.org/appengine/internal/modules/modules_service.proto\n\nIt has these top-level messages:\n\tModulesServiceError\n\tGetModulesRequest\n\tGetModulesResponse\n\tGetVersionsRequest\n\tGetVersionsResponse\n\tGetDefaultVersionRequest\n\tGetDefaultVersionResponse\n\tGetNumInstancesRequest\n\tGetNumInstancesResponse\n\tSetNumInstancesRequest\n\tSetNumInstancesResponse\n\tStartModuleRequest\n\tStartModuleResponse\n\tStopModuleRequest\n\tStopModuleResponse\n\tGetHostnameRequest\n\tGetHostnameResponse\n*/\npackage modules\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\ntype ModulesServiceError_ErrorCode int32\n\nconst (\n\tModulesServiceError_OK                ModulesServiceError_ErrorCode = 0\n\tModulesServiceError_INVALID_MODULE    ModulesServiceError_ErrorCode = 1\n\tModulesServiceError_INVALID_VERSION   ModulesServiceError_ErrorCode = 2\n\tModulesServiceError_INVALID_INSTANCES ModulesServiceError_ErrorCode = 3\n\tModulesServiceError_TRANSIENT_ERROR   ModulesServiceError_ErrorCode = 4\n\tModulesServiceError_UNEXPECTED_STATE  ModulesServiceError_ErrorCode = 5\n)\n\nvar ModulesServiceError_ErrorCode_name = map[int32]string{\n\t0: \"OK\",\n\t1: \"INVALID_MODULE\",\n\t2: \"INVALID_VERSION\",\n\t3: \"INVALID_INSTANCES\",\n\t4: \"TRANSIENT_ERROR\",\n\t5: \"UNEXPECTED_STATE\",\n}\nvar ModulesServiceError_ErrorCode_value = map[string]int32{\n\t\"OK\":                0,\n\t\"INVALID_MODULE\":    1,\n\t\"INVALID_VERSION\":   2,\n\t\"INVALID_INSTANCES\": 3,\n\t\"TRANSIENT_ERROR\":   4,\n\t\"UNEXPECTED_STATE\":  5,\n}\n\nfunc (x ModulesServiceError_ErrorCode) Enum() *ModulesServiceError_ErrorCode {\n\tp := new(ModulesServiceError_ErrorCode)\n\t*p = x\n\treturn p\n}\nfunc (x ModulesServiceError_ErrorCode) String() string {\n\treturn proto.EnumName(ModulesServiceError_ErrorCode_name, int32(x))\n}\nfunc (x *ModulesServiceError_ErrorCode) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(ModulesServiceError_ErrorCode_value, data, \"ModulesServiceError_ErrorCode\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = ModulesServiceError_ErrorCode(value)\n\treturn nil\n}\n\ntype ModulesServiceError struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *ModulesServiceError) Reset()         { *m = ModulesServiceError{} }\nfunc (m *ModulesServiceError) String() string { return proto.CompactTextString(m) }\nfunc (*ModulesServiceError) ProtoMessage()    {}\n\ntype GetModulesRequest struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *GetModulesRequest) Reset()         { *m = GetModulesRequest{} }\nfunc (m *GetModulesRequest) String() string { return proto.CompactTextString(m) }\nfunc (*GetModulesRequest) ProtoMessage()    {}\n\ntype GetModulesResponse struct {\n\tModule           []string `protobuf:\"bytes,1,rep,name=module\" json:\"module,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *GetModulesResponse) Reset()         { *m = GetModulesResponse{} }\nfunc (m *GetModulesResponse) String() string { return proto.CompactTextString(m) }\nfunc (*GetModulesResponse) ProtoMessage()    {}\n\nfunc (m *GetModulesResponse) GetModule() []string {\n\tif m != nil {\n\t\treturn m.Module\n\t}\n\treturn nil\n}\n\ntype GetVersionsRequest struct {\n\tModule           *string `protobuf:\"bytes,1,opt,name=module\" json:\"module,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *GetVersionsRequest) Reset()         { *m = GetVersionsRequest{} }\nfunc (m *GetVersionsRequest) String() string { return proto.CompactTextString(m) }\nfunc (*GetVersionsRequest) ProtoMessage()    {}\n\nfunc (m *GetVersionsRequest) GetModule() string {\n\tif m != nil && m.Module != nil {\n\t\treturn *m.Module\n\t}\n\treturn \"\"\n}\n\ntype GetVersionsResponse struct {\n\tVersion          []string `protobuf:\"bytes,1,rep,name=version\" json:\"version,omitempty\"`\n\tXXX_unrecognized []byte   `json:\"-\"`\n}\n\nfunc (m *GetVersionsResponse) Reset()         { *m = GetVersionsResponse{} }\nfunc (m *GetVersionsResponse) String() string { return proto.CompactTextString(m) }\nfunc (*GetVersionsResponse) ProtoMessage()    {}\n\nfunc (m *GetVersionsResponse) GetVersion() []string {\n\tif m != nil {\n\t\treturn m.Version\n\t}\n\treturn nil\n}\n\ntype GetDefaultVersionRequest struct {\n\tModule           *string `protobuf:\"bytes,1,opt,name=module\" json:\"module,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *GetDefaultVersionRequest) Reset()         { *m = GetDefaultVersionRequest{} }\nfunc (m *GetDefaultVersionRequest) String() string { return proto.CompactTextString(m) }\nfunc (*GetDefaultVersionRequest) ProtoMessage()    {}\n\nfunc (m *GetDefaultVersionRequest) GetModule() string {\n\tif m != nil && m.Module != nil {\n\t\treturn *m.Module\n\t}\n\treturn \"\"\n}\n\ntype GetDefaultVersionResponse struct {\n\tVersion          *string `protobuf:\"bytes,1,req,name=version\" json:\"version,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *GetDefaultVersionResponse) Reset()         { *m = GetDefaultVersionResponse{} }\nfunc (m *GetDefaultVersionResponse) String() string { return proto.CompactTextString(m) }\nfunc (*GetDefaultVersionResponse) ProtoMessage()    {}\n\nfunc (m *GetDefaultVersionResponse) GetVersion() string {\n\tif m != nil && m.Version != nil {\n\t\treturn *m.Version\n\t}\n\treturn \"\"\n}\n\ntype GetNumInstancesRequest struct {\n\tModule           *string `protobuf:\"bytes,1,opt,name=module\" json:\"module,omitempty\"`\n\tVersion          *string `protobuf:\"bytes,2,opt,name=version\" json:\"version,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *GetNumInstancesRequest) Reset()         { *m = GetNumInstancesRequest{} }\nfunc (m *GetNumInstancesRequest) String() string { return proto.CompactTextString(m) }\nfunc (*GetNumInstancesRequest) ProtoMessage()    {}\n\nfunc (m *GetNumInstancesRequest) GetModule() string {\n\tif m != nil && m.Module != nil {\n\t\treturn *m.Module\n\t}\n\treturn \"\"\n}\n\nfunc (m *GetNumInstancesRequest) GetVersion() string {\n\tif m != nil && m.Version != nil {\n\t\treturn *m.Version\n\t}\n\treturn \"\"\n}\n\ntype GetNumInstancesResponse struct {\n\tInstances        *int64 `protobuf:\"varint,1,req,name=instances\" json:\"instances,omitempty\"`\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *GetNumInstancesResponse) Reset()         { *m = GetNumInstancesResponse{} }\nfunc (m *GetNumInstancesResponse) String() string { return proto.CompactTextString(m) }\nfunc (*GetNumInstancesResponse) ProtoMessage()    {}\n\nfunc (m *GetNumInstancesResponse) GetInstances() int64 {\n\tif m != nil && m.Instances != nil {\n\t\treturn *m.Instances\n\t}\n\treturn 0\n}\n\ntype SetNumInstancesRequest struct {\n\tModule           *string `protobuf:\"bytes,1,opt,name=module\" json:\"module,omitempty\"`\n\tVersion          *string `protobuf:\"bytes,2,opt,name=version\" json:\"version,omitempty\"`\n\tInstances        *int64  `protobuf:\"varint,3,req,name=instances\" json:\"instances,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *SetNumInstancesRequest) Reset()         { *m = SetNumInstancesRequest{} }\nfunc (m *SetNumInstancesRequest) String() string { return proto.CompactTextString(m) }\nfunc (*SetNumInstancesRequest) ProtoMessage()    {}\n\nfunc (m *SetNumInstancesRequest) GetModule() string {\n\tif m != nil && m.Module != nil {\n\t\treturn *m.Module\n\t}\n\treturn \"\"\n}\n\nfunc (m *SetNumInstancesRequest) GetVersion() string {\n\tif m != nil && m.Version != nil {\n\t\treturn *m.Version\n\t}\n\treturn \"\"\n}\n\nfunc (m *SetNumInstancesRequest) GetInstances() int64 {\n\tif m != nil && m.Instances != nil {\n\t\treturn *m.Instances\n\t}\n\treturn 0\n}\n\ntype SetNumInstancesResponse struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *SetNumInstancesResponse) Reset()         { *m = SetNumInstancesResponse{} }\nfunc (m *SetNumInstancesResponse) String() string { return proto.CompactTextString(m) }\nfunc (*SetNumInstancesResponse) ProtoMessage()    {}\n\ntype StartModuleRequest struct {\n\tModule           *string `protobuf:\"bytes,1,req,name=module\" json:\"module,omitempty\"`\n\tVersion          *string `protobuf:\"bytes,2,req,name=version\" json:\"version,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *StartModuleRequest) Reset()         { *m = StartModuleRequest{} }\nfunc (m *StartModuleRequest) String() string { return proto.CompactTextString(m) }\nfunc (*StartModuleRequest) ProtoMessage()    {}\n\nfunc (m *StartModuleRequest) GetModule() string {\n\tif m != nil && m.Module != nil {\n\t\treturn *m.Module\n\t}\n\treturn \"\"\n}\n\nfunc (m *StartModuleRequest) GetVersion() string {\n\tif m != nil && m.Version != nil {\n\t\treturn *m.Version\n\t}\n\treturn \"\"\n}\n\ntype StartModuleResponse struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *StartModuleResponse) Reset()         { *m = StartModuleResponse{} }\nfunc (m *StartModuleResponse) String() string { return proto.CompactTextString(m) }\nfunc (*StartModuleResponse) ProtoMessage()    {}\n\ntype StopModuleRequest struct {\n\tModule           *string `protobuf:\"bytes,1,opt,name=module\" json:\"module,omitempty\"`\n\tVersion          *string `protobuf:\"bytes,2,opt,name=version\" json:\"version,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *StopModuleRequest) Reset()         { *m = StopModuleRequest{} }\nfunc (m *StopModuleRequest) String() string { return proto.CompactTextString(m) }\nfunc (*StopModuleRequest) ProtoMessage()    {}\n\nfunc (m *StopModuleRequest) GetModule() string {\n\tif m != nil && m.Module != nil {\n\t\treturn *m.Module\n\t}\n\treturn \"\"\n}\n\nfunc (m *StopModuleRequest) GetVersion() string {\n\tif m != nil && m.Version != nil {\n\t\treturn *m.Version\n\t}\n\treturn \"\"\n}\n\ntype StopModuleResponse struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *StopModuleResponse) Reset()         { *m = StopModuleResponse{} }\nfunc (m *StopModuleResponse) String() string { return proto.CompactTextString(m) }\nfunc (*StopModuleResponse) ProtoMessage()    {}\n\ntype GetHostnameRequest struct {\n\tModule           *string `protobuf:\"bytes,1,opt,name=module\" json:\"module,omitempty\"`\n\tVersion          *string `protobuf:\"bytes,2,opt,name=version\" json:\"version,omitempty\"`\n\tInstance         *string `protobuf:\"bytes,3,opt,name=instance\" json:\"instance,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *GetHostnameRequest) Reset()         { *m = GetHostnameRequest{} }\nfunc (m *GetHostnameRequest) String() string { return proto.CompactTextString(m) }\nfunc (*GetHostnameRequest) ProtoMessage()    {}\n\nfunc (m *GetHostnameRequest) GetModule() string {\n\tif m != nil && m.Module != nil {\n\t\treturn *m.Module\n\t}\n\treturn \"\"\n}\n\nfunc (m *GetHostnameRequest) GetVersion() string {\n\tif m != nil && m.Version != nil {\n\t\treturn *m.Version\n\t}\n\treturn \"\"\n}\n\nfunc (m *GetHostnameRequest) GetInstance() string {\n\tif m != nil && m.Instance != nil {\n\t\treturn *m.Instance\n\t}\n\treturn \"\"\n}\n\ntype GetHostnameResponse struct {\n\tHostname         *string `protobuf:\"bytes,1,req,name=hostname\" json:\"hostname,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *GetHostnameResponse) Reset()         { *m = GetHostnameResponse{} }\nfunc (m *GetHostnameResponse) String() string { return proto.CompactTextString(m) }\nfunc (*GetHostnameResponse) ProtoMessage()    {}\n\nfunc (m *GetHostnameResponse) GetHostname() string {\n\tif m != nil && m.Hostname != nil {\n\t\treturn *m.Hostname\n\t}\n\treturn \"\"\n}\n\nfunc init() {\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/net.go",
    "content": "// Copyright 2014 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\npackage internal\n\n// This file implements a network dialer that limits the number of concurrent connections.\n// It is only used for API calls.\n\nimport (\n\t\"log\"\n\t\"net\"\n\t\"runtime\"\n\t\"sync\"\n\t\"time\"\n)\n\nvar limitSem = make(chan int, 100) // TODO(dsymonds): Use environment variable.\n\nfunc limitRelease() {\n\t// non-blocking\n\tselect {\n\tcase <-limitSem:\n\tdefault:\n\t\t// This should not normally happen.\n\t\tlog.Print(\"appengine: unbalanced limitSem release!\")\n\t}\n}\n\nfunc limitDial(network, addr string) (net.Conn, error) {\n\tlimitSem <- 1\n\n\t// Dial with a timeout in case the API host is MIA.\n\t// The connection should normally be very fast.\n\tconn, err := net.DialTimeout(network, addr, 500*time.Millisecond)\n\tif err != nil {\n\t\tlimitRelease()\n\t\treturn nil, err\n\t}\n\tlc := &limitConn{Conn: conn}\n\truntime.SetFinalizer(lc, (*limitConn).Close) // shouldn't usually be required\n\treturn lc, nil\n}\n\ntype limitConn struct {\n\tclose sync.Once\n\tnet.Conn\n}\n\nfunc (lc *limitConn) Close() error {\n\tdefer lc.close.Do(func() {\n\t\tlimitRelease()\n\t\truntime.SetFinalizer(lc, nil)\n\t})\n\treturn lc.Conn.Close()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go",
    "content": "// Code generated by protoc-gen-go.\n// source: google.golang.org/appengine/internal/remote_api/remote_api.proto\n// DO NOT EDIT!\n\n/*\nPackage remote_api is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle.golang.org/appengine/internal/remote_api/remote_api.proto\n\nIt has these top-level messages:\n\tRequest\n\tApplicationError\n\tRpcError\n\tResponse\n*/\npackage remote_api\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\ntype RpcError_ErrorCode int32\n\nconst (\n\tRpcError_UNKNOWN             RpcError_ErrorCode = 0\n\tRpcError_CALL_NOT_FOUND      RpcError_ErrorCode = 1\n\tRpcError_PARSE_ERROR         RpcError_ErrorCode = 2\n\tRpcError_SECURITY_VIOLATION  RpcError_ErrorCode = 3\n\tRpcError_OVER_QUOTA          RpcError_ErrorCode = 4\n\tRpcError_REQUEST_TOO_LARGE   RpcError_ErrorCode = 5\n\tRpcError_CAPABILITY_DISABLED RpcError_ErrorCode = 6\n\tRpcError_FEATURE_DISABLED    RpcError_ErrorCode = 7\n\tRpcError_BAD_REQUEST         RpcError_ErrorCode = 8\n\tRpcError_RESPONSE_TOO_LARGE  RpcError_ErrorCode = 9\n\tRpcError_CANCELLED           RpcError_ErrorCode = 10\n\tRpcError_REPLAY_ERROR        RpcError_ErrorCode = 11\n\tRpcError_DEADLINE_EXCEEDED   RpcError_ErrorCode = 12\n)\n\nvar RpcError_ErrorCode_name = map[int32]string{\n\t0:  \"UNKNOWN\",\n\t1:  \"CALL_NOT_FOUND\",\n\t2:  \"PARSE_ERROR\",\n\t3:  \"SECURITY_VIOLATION\",\n\t4:  \"OVER_QUOTA\",\n\t5:  \"REQUEST_TOO_LARGE\",\n\t6:  \"CAPABILITY_DISABLED\",\n\t7:  \"FEATURE_DISABLED\",\n\t8:  \"BAD_REQUEST\",\n\t9:  \"RESPONSE_TOO_LARGE\",\n\t10: \"CANCELLED\",\n\t11: \"REPLAY_ERROR\",\n\t12: \"DEADLINE_EXCEEDED\",\n}\nvar RpcError_ErrorCode_value = map[string]int32{\n\t\"UNKNOWN\":             0,\n\t\"CALL_NOT_FOUND\":      1,\n\t\"PARSE_ERROR\":         2,\n\t\"SECURITY_VIOLATION\":  3,\n\t\"OVER_QUOTA\":          4,\n\t\"REQUEST_TOO_LARGE\":   5,\n\t\"CAPABILITY_DISABLED\": 6,\n\t\"FEATURE_DISABLED\":    7,\n\t\"BAD_REQUEST\":         8,\n\t\"RESPONSE_TOO_LARGE\":  9,\n\t\"CANCELLED\":           10,\n\t\"REPLAY_ERROR\":        11,\n\t\"DEADLINE_EXCEEDED\":   12,\n}\n\nfunc (x RpcError_ErrorCode) Enum() *RpcError_ErrorCode {\n\tp := new(RpcError_ErrorCode)\n\t*p = x\n\treturn p\n}\nfunc (x RpcError_ErrorCode) String() string {\n\treturn proto.EnumName(RpcError_ErrorCode_name, int32(x))\n}\nfunc (x *RpcError_ErrorCode) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(RpcError_ErrorCode_value, data, \"RpcError_ErrorCode\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = RpcError_ErrorCode(value)\n\treturn nil\n}\n\ntype Request struct {\n\tServiceName      *string `protobuf:\"bytes,2,req,name=service_name\" json:\"service_name,omitempty\"`\n\tMethod           *string `protobuf:\"bytes,3,req,name=method\" json:\"method,omitempty\"`\n\tRequest          []byte  `protobuf:\"bytes,4,req,name=request\" json:\"request,omitempty\"`\n\tRequestId        *string `protobuf:\"bytes,5,opt,name=request_id\" json:\"request_id,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *Request) Reset()         { *m = Request{} }\nfunc (m *Request) String() string { return proto.CompactTextString(m) }\nfunc (*Request) ProtoMessage()    {}\n\nfunc (m *Request) GetServiceName() string {\n\tif m != nil && m.ServiceName != nil {\n\t\treturn *m.ServiceName\n\t}\n\treturn \"\"\n}\n\nfunc (m *Request) GetMethod() string {\n\tif m != nil && m.Method != nil {\n\t\treturn *m.Method\n\t}\n\treturn \"\"\n}\n\nfunc (m *Request) GetRequest() []byte {\n\tif m != nil {\n\t\treturn m.Request\n\t}\n\treturn nil\n}\n\nfunc (m *Request) GetRequestId() string {\n\tif m != nil && m.RequestId != nil {\n\t\treturn *m.RequestId\n\t}\n\treturn \"\"\n}\n\ntype ApplicationError struct {\n\tCode             *int32  `protobuf:\"varint,1,req,name=code\" json:\"code,omitempty\"`\n\tDetail           *string `protobuf:\"bytes,2,req,name=detail\" json:\"detail,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *ApplicationError) Reset()         { *m = ApplicationError{} }\nfunc (m *ApplicationError) String() string { return proto.CompactTextString(m) }\nfunc (*ApplicationError) ProtoMessage()    {}\n\nfunc (m *ApplicationError) GetCode() int32 {\n\tif m != nil && m.Code != nil {\n\t\treturn *m.Code\n\t}\n\treturn 0\n}\n\nfunc (m *ApplicationError) GetDetail() string {\n\tif m != nil && m.Detail != nil {\n\t\treturn *m.Detail\n\t}\n\treturn \"\"\n}\n\ntype RpcError struct {\n\tCode             *int32  `protobuf:\"varint,1,req,name=code\" json:\"code,omitempty\"`\n\tDetail           *string `protobuf:\"bytes,2,opt,name=detail\" json:\"detail,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *RpcError) Reset()         { *m = RpcError{} }\nfunc (m *RpcError) String() string { return proto.CompactTextString(m) }\nfunc (*RpcError) ProtoMessage()    {}\n\nfunc (m *RpcError) GetCode() int32 {\n\tif m != nil && m.Code != nil {\n\t\treturn *m.Code\n\t}\n\treturn 0\n}\n\nfunc (m *RpcError) GetDetail() string {\n\tif m != nil && m.Detail != nil {\n\t\treturn *m.Detail\n\t}\n\treturn \"\"\n}\n\ntype Response struct {\n\tResponse         []byte            `protobuf:\"bytes,1,opt,name=response\" json:\"response,omitempty\"`\n\tException        []byte            `protobuf:\"bytes,2,opt,name=exception\" json:\"exception,omitempty\"`\n\tApplicationError *ApplicationError `protobuf:\"bytes,3,opt,name=application_error\" json:\"application_error,omitempty\"`\n\tJavaException    []byte            `protobuf:\"bytes,4,opt,name=java_exception\" json:\"java_exception,omitempty\"`\n\tRpcError         *RpcError         `protobuf:\"bytes,5,opt,name=rpc_error\" json:\"rpc_error,omitempty\"`\n\tXXX_unrecognized []byte            `json:\"-\"`\n}\n\nfunc (m *Response) Reset()         { *m = Response{} }\nfunc (m *Response) String() string { return proto.CompactTextString(m) }\nfunc (*Response) ProtoMessage()    {}\n\nfunc (m *Response) GetResponse() []byte {\n\tif m != nil {\n\t\treturn m.Response\n\t}\n\treturn nil\n}\n\nfunc (m *Response) GetException() []byte {\n\tif m != nil {\n\t\treturn m.Exception\n\t}\n\treturn nil\n}\n\nfunc (m *Response) GetApplicationError() *ApplicationError {\n\tif m != nil {\n\t\treturn m.ApplicationError\n\t}\n\treturn nil\n}\n\nfunc (m *Response) GetJavaException() []byte {\n\tif m != nil {\n\t\treturn m.JavaException\n\t}\n\treturn nil\n}\n\nfunc (m *Response) GetRpcError() *RpcError {\n\tif m != nil {\n\t\treturn m.RpcError\n\t}\n\treturn nil\n}\n\nfunc init() {\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/transaction.go",
    "content": "// Copyright 2014 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\npackage internal\n\n// This file implements hooks for applying datastore transactions.\n\nimport (\n\t\"errors\"\n\t\"reflect\"\n\n\t\"github.com/golang/protobuf/proto\"\n\tnetcontext \"golang.org/x/net/context\"\n\n\tbasepb \"google.golang.org/appengine/internal/base\"\n\tpb \"google.golang.org/appengine/internal/datastore\"\n)\n\nvar transactionSetters = make(map[reflect.Type]reflect.Value)\n\n// RegisterTransactionSetter registers a function that sets transaction information\n// in a protocol buffer message. f should be a function with two arguments,\n// the first being a protocol buffer type, and the second being *datastore.Transaction.\nfunc RegisterTransactionSetter(f interface{}) {\n\tv := reflect.ValueOf(f)\n\ttransactionSetters[v.Type().In(0)] = v\n}\n\n// applyTransaction applies the transaction t to message pb\n// by using the relevant setter passed to RegisterTransactionSetter.\nfunc applyTransaction(pb proto.Message, t *pb.Transaction) {\n\tv := reflect.ValueOf(pb)\n\tif f, ok := transactionSetters[v.Type()]; ok {\n\t\tf.Call([]reflect.Value{v, reflect.ValueOf(t)})\n\t}\n}\n\nvar transactionKey = \"used for *Transaction\"\n\nfunc transactionFromContext(ctx netcontext.Context) *transaction {\n\tt, _ := ctx.Value(&transactionKey).(*transaction)\n\treturn t\n}\n\nfunc withTransaction(ctx netcontext.Context, t *transaction) netcontext.Context {\n\treturn netcontext.WithValue(ctx, &transactionKey, t)\n}\n\ntype transaction struct {\n\ttransaction pb.Transaction\n\tfinished    bool\n}\n\nvar ErrConcurrentTransaction = errors.New(\"internal: concurrent transaction\")\n\nfunc RunTransactionOnce(c netcontext.Context, f func(netcontext.Context) error, xg bool) error {\n\tif transactionFromContext(c) != nil {\n\t\treturn errors.New(\"nested transactions are not supported\")\n\t}\n\n\t// Begin the transaction.\n\tt := &transaction{}\n\treq := &pb.BeginTransactionRequest{\n\t\tApp: proto.String(FullyQualifiedAppID(c)),\n\t}\n\tif xg {\n\t\treq.AllowMultipleEg = proto.Bool(true)\n\t}\n\tif err := Call(c, \"datastore_v3\", \"BeginTransaction\", req, &t.transaction); err != nil {\n\t\treturn err\n\t}\n\n\t// Call f, rolling back the transaction if f returns a non-nil error, or panics.\n\t// The panic is not recovered.\n\tdefer func() {\n\t\tif t.finished {\n\t\t\treturn\n\t\t}\n\t\tt.finished = true\n\t\t// Ignore the error return value, since we are already returning a non-nil\n\t\t// error (or we're panicking).\n\t\tCall(c, \"datastore_v3\", \"Rollback\", &t.transaction, &basepb.VoidProto{})\n\t}()\n\tif err := f(withTransaction(c, t)); err != nil {\n\t\treturn err\n\t}\n\tt.finished = true\n\n\t// Commit the transaction.\n\tres := &pb.CommitResponse{}\n\terr := Call(c, \"datastore_v3\", \"Commit\", &t.transaction, res)\n\tif ae, ok := err.(*APIError); ok {\n\t\t/* TODO: restore this conditional\n\t\tif appengine.IsDevAppServer() {\n\t\t*/\n\t\t// The Python Dev AppServer raises an ApplicationError with error code 2 (which is\n\t\t// Error.CONCURRENT_TRANSACTION) and message \"Concurrency exception.\".\n\t\tif ae.Code == int32(pb.Error_BAD_REQUEST) && ae.Detail == \"ApplicationError: 2 Concurrency exception.\" {\n\t\t\treturn ErrConcurrentTransaction\n\t\t}\n\t\tif ae.Code == int32(pb.Error_CONCURRENT_TRANSACTION) {\n\t\t\treturn ErrConcurrentTransaction\n\t\t}\n\t}\n\treturn err\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go",
    "content": "// Code generated by protoc-gen-go.\n// source: google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto\n// DO NOT EDIT!\n\n/*\nPackage urlfetch is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle.golang.org/appengine/internal/urlfetch/urlfetch_service.proto\n\nIt has these top-level messages:\n\tURLFetchServiceError\n\tURLFetchRequest\n\tURLFetchResponse\n*/\npackage urlfetch\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\ntype URLFetchServiceError_ErrorCode int32\n\nconst (\n\tURLFetchServiceError_OK                       URLFetchServiceError_ErrorCode = 0\n\tURLFetchServiceError_INVALID_URL              URLFetchServiceError_ErrorCode = 1\n\tURLFetchServiceError_FETCH_ERROR              URLFetchServiceError_ErrorCode = 2\n\tURLFetchServiceError_UNSPECIFIED_ERROR        URLFetchServiceError_ErrorCode = 3\n\tURLFetchServiceError_RESPONSE_TOO_LARGE       URLFetchServiceError_ErrorCode = 4\n\tURLFetchServiceError_DEADLINE_EXCEEDED        URLFetchServiceError_ErrorCode = 5\n\tURLFetchServiceError_SSL_CERTIFICATE_ERROR    URLFetchServiceError_ErrorCode = 6\n\tURLFetchServiceError_DNS_ERROR                URLFetchServiceError_ErrorCode = 7\n\tURLFetchServiceError_CLOSED                   URLFetchServiceError_ErrorCode = 8\n\tURLFetchServiceError_INTERNAL_TRANSIENT_ERROR URLFetchServiceError_ErrorCode = 9\n\tURLFetchServiceError_TOO_MANY_REDIRECTS       URLFetchServiceError_ErrorCode = 10\n\tURLFetchServiceError_MALFORMED_REPLY          URLFetchServiceError_ErrorCode = 11\n\tURLFetchServiceError_CONNECTION_ERROR         URLFetchServiceError_ErrorCode = 12\n)\n\nvar URLFetchServiceError_ErrorCode_name = map[int32]string{\n\t0:  \"OK\",\n\t1:  \"INVALID_URL\",\n\t2:  \"FETCH_ERROR\",\n\t3:  \"UNSPECIFIED_ERROR\",\n\t4:  \"RESPONSE_TOO_LARGE\",\n\t5:  \"DEADLINE_EXCEEDED\",\n\t6:  \"SSL_CERTIFICATE_ERROR\",\n\t7:  \"DNS_ERROR\",\n\t8:  \"CLOSED\",\n\t9:  \"INTERNAL_TRANSIENT_ERROR\",\n\t10: \"TOO_MANY_REDIRECTS\",\n\t11: \"MALFORMED_REPLY\",\n\t12: \"CONNECTION_ERROR\",\n}\nvar URLFetchServiceError_ErrorCode_value = map[string]int32{\n\t\"OK\":                       0,\n\t\"INVALID_URL\":              1,\n\t\"FETCH_ERROR\":              2,\n\t\"UNSPECIFIED_ERROR\":        3,\n\t\"RESPONSE_TOO_LARGE\":       4,\n\t\"DEADLINE_EXCEEDED\":        5,\n\t\"SSL_CERTIFICATE_ERROR\":    6,\n\t\"DNS_ERROR\":                7,\n\t\"CLOSED\":                   8,\n\t\"INTERNAL_TRANSIENT_ERROR\": 9,\n\t\"TOO_MANY_REDIRECTS\":       10,\n\t\"MALFORMED_REPLY\":          11,\n\t\"CONNECTION_ERROR\":         12,\n}\n\nfunc (x URLFetchServiceError_ErrorCode) Enum() *URLFetchServiceError_ErrorCode {\n\tp := new(URLFetchServiceError_ErrorCode)\n\t*p = x\n\treturn p\n}\nfunc (x URLFetchServiceError_ErrorCode) String() string {\n\treturn proto.EnumName(URLFetchServiceError_ErrorCode_name, int32(x))\n}\nfunc (x *URLFetchServiceError_ErrorCode) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(URLFetchServiceError_ErrorCode_value, data, \"URLFetchServiceError_ErrorCode\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = URLFetchServiceError_ErrorCode(value)\n\treturn nil\n}\n\ntype URLFetchRequest_RequestMethod int32\n\nconst (\n\tURLFetchRequest_GET    URLFetchRequest_RequestMethod = 1\n\tURLFetchRequest_POST   URLFetchRequest_RequestMethod = 2\n\tURLFetchRequest_HEAD   URLFetchRequest_RequestMethod = 3\n\tURLFetchRequest_PUT    URLFetchRequest_RequestMethod = 4\n\tURLFetchRequest_DELETE URLFetchRequest_RequestMethod = 5\n\tURLFetchRequest_PATCH  URLFetchRequest_RequestMethod = 6\n)\n\nvar URLFetchRequest_RequestMethod_name = map[int32]string{\n\t1: \"GET\",\n\t2: \"POST\",\n\t3: \"HEAD\",\n\t4: \"PUT\",\n\t5: \"DELETE\",\n\t6: \"PATCH\",\n}\nvar URLFetchRequest_RequestMethod_value = map[string]int32{\n\t\"GET\":    1,\n\t\"POST\":   2,\n\t\"HEAD\":   3,\n\t\"PUT\":    4,\n\t\"DELETE\": 5,\n\t\"PATCH\":  6,\n}\n\nfunc (x URLFetchRequest_RequestMethod) Enum() *URLFetchRequest_RequestMethod {\n\tp := new(URLFetchRequest_RequestMethod)\n\t*p = x\n\treturn p\n}\nfunc (x URLFetchRequest_RequestMethod) String() string {\n\treturn proto.EnumName(URLFetchRequest_RequestMethod_name, int32(x))\n}\nfunc (x *URLFetchRequest_RequestMethod) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(URLFetchRequest_RequestMethod_value, data, \"URLFetchRequest_RequestMethod\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = URLFetchRequest_RequestMethod(value)\n\treturn nil\n}\n\ntype URLFetchServiceError struct {\n\tXXX_unrecognized []byte `json:\"-\"`\n}\n\nfunc (m *URLFetchServiceError) Reset()         { *m = URLFetchServiceError{} }\nfunc (m *URLFetchServiceError) String() string { return proto.CompactTextString(m) }\nfunc (*URLFetchServiceError) ProtoMessage()    {}\n\ntype URLFetchRequest struct {\n\tMethod                        *URLFetchRequest_RequestMethod `protobuf:\"varint,1,req,name=Method,enum=appengine.URLFetchRequest_RequestMethod\" json:\"Method,omitempty\"`\n\tUrl                           *string                        `protobuf:\"bytes,2,req,name=Url\" json:\"Url,omitempty\"`\n\tHeader                        []*URLFetchRequest_Header      `protobuf:\"group,3,rep,name=Header\" json:\"header,omitempty\"`\n\tPayload                       []byte                         `protobuf:\"bytes,6,opt,name=Payload\" json:\"Payload,omitempty\"`\n\tFollowRedirects               *bool                          `protobuf:\"varint,7,opt,name=FollowRedirects,def=1\" json:\"FollowRedirects,omitempty\"`\n\tDeadline                      *float64                       `protobuf:\"fixed64,8,opt,name=Deadline\" json:\"Deadline,omitempty\"`\n\tMustValidateServerCertificate *bool                          `protobuf:\"varint,9,opt,name=MustValidateServerCertificate,def=1\" json:\"MustValidateServerCertificate,omitempty\"`\n\tXXX_unrecognized              []byte                         `json:\"-\"`\n}\n\nfunc (m *URLFetchRequest) Reset()         { *m = URLFetchRequest{} }\nfunc (m *URLFetchRequest) String() string { return proto.CompactTextString(m) }\nfunc (*URLFetchRequest) ProtoMessage()    {}\n\nconst Default_URLFetchRequest_FollowRedirects bool = true\nconst Default_URLFetchRequest_MustValidateServerCertificate bool = true\n\nfunc (m *URLFetchRequest) GetMethod() URLFetchRequest_RequestMethod {\n\tif m != nil && m.Method != nil {\n\t\treturn *m.Method\n\t}\n\treturn URLFetchRequest_GET\n}\n\nfunc (m *URLFetchRequest) GetUrl() string {\n\tif m != nil && m.Url != nil {\n\t\treturn *m.Url\n\t}\n\treturn \"\"\n}\n\nfunc (m *URLFetchRequest) GetHeader() []*URLFetchRequest_Header {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *URLFetchRequest) GetPayload() []byte {\n\tif m != nil {\n\t\treturn m.Payload\n\t}\n\treturn nil\n}\n\nfunc (m *URLFetchRequest) GetFollowRedirects() bool {\n\tif m != nil && m.FollowRedirects != nil {\n\t\treturn *m.FollowRedirects\n\t}\n\treturn Default_URLFetchRequest_FollowRedirects\n}\n\nfunc (m *URLFetchRequest) GetDeadline() float64 {\n\tif m != nil && m.Deadline != nil {\n\t\treturn *m.Deadline\n\t}\n\treturn 0\n}\n\nfunc (m *URLFetchRequest) GetMustValidateServerCertificate() bool {\n\tif m != nil && m.MustValidateServerCertificate != nil {\n\t\treturn *m.MustValidateServerCertificate\n\t}\n\treturn Default_URLFetchRequest_MustValidateServerCertificate\n}\n\ntype URLFetchRequest_Header struct {\n\tKey              *string `protobuf:\"bytes,4,req,name=Key\" json:\"Key,omitempty\"`\n\tValue            *string `protobuf:\"bytes,5,req,name=Value\" json:\"Value,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *URLFetchRequest_Header) Reset()         { *m = URLFetchRequest_Header{} }\nfunc (m *URLFetchRequest_Header) String() string { return proto.CompactTextString(m) }\nfunc (*URLFetchRequest_Header) ProtoMessage()    {}\n\nfunc (m *URLFetchRequest_Header) GetKey() string {\n\tif m != nil && m.Key != nil {\n\t\treturn *m.Key\n\t}\n\treturn \"\"\n}\n\nfunc (m *URLFetchRequest_Header) GetValue() string {\n\tif m != nil && m.Value != nil {\n\t\treturn *m.Value\n\t}\n\treturn \"\"\n}\n\ntype URLFetchResponse struct {\n\tContent               []byte                     `protobuf:\"bytes,1,opt,name=Content\" json:\"Content,omitempty\"`\n\tStatusCode            *int32                     `protobuf:\"varint,2,req,name=StatusCode\" json:\"StatusCode,omitempty\"`\n\tHeader                []*URLFetchResponse_Header `protobuf:\"group,3,rep,name=Header\" json:\"header,omitempty\"`\n\tContentWasTruncated   *bool                      `protobuf:\"varint,6,opt,name=ContentWasTruncated,def=0\" json:\"ContentWasTruncated,omitempty\"`\n\tExternalBytesSent     *int64                     `protobuf:\"varint,7,opt,name=ExternalBytesSent\" json:\"ExternalBytesSent,omitempty\"`\n\tExternalBytesReceived *int64                     `protobuf:\"varint,8,opt,name=ExternalBytesReceived\" json:\"ExternalBytesReceived,omitempty\"`\n\tFinalUrl              *string                    `protobuf:\"bytes,9,opt,name=FinalUrl\" json:\"FinalUrl,omitempty\"`\n\tApiCpuMilliseconds    *int64                     `protobuf:\"varint,10,opt,name=ApiCpuMilliseconds,def=0\" json:\"ApiCpuMilliseconds,omitempty\"`\n\tApiBytesSent          *int64                     `protobuf:\"varint,11,opt,name=ApiBytesSent,def=0\" json:\"ApiBytesSent,omitempty\"`\n\tApiBytesReceived      *int64                     `protobuf:\"varint,12,opt,name=ApiBytesReceived,def=0\" json:\"ApiBytesReceived,omitempty\"`\n\tXXX_unrecognized      []byte                     `json:\"-\"`\n}\n\nfunc (m *URLFetchResponse) Reset()         { *m = URLFetchResponse{} }\nfunc (m *URLFetchResponse) String() string { return proto.CompactTextString(m) }\nfunc (*URLFetchResponse) ProtoMessage()    {}\n\nconst Default_URLFetchResponse_ContentWasTruncated bool = false\nconst Default_URLFetchResponse_ApiCpuMilliseconds int64 = 0\nconst Default_URLFetchResponse_ApiBytesSent int64 = 0\nconst Default_URLFetchResponse_ApiBytesReceived int64 = 0\n\nfunc (m *URLFetchResponse) GetContent() []byte {\n\tif m != nil {\n\t\treturn m.Content\n\t}\n\treturn nil\n}\n\nfunc (m *URLFetchResponse) GetStatusCode() int32 {\n\tif m != nil && m.StatusCode != nil {\n\t\treturn *m.StatusCode\n\t}\n\treturn 0\n}\n\nfunc (m *URLFetchResponse) GetHeader() []*URLFetchResponse_Header {\n\tif m != nil {\n\t\treturn m.Header\n\t}\n\treturn nil\n}\n\nfunc (m *URLFetchResponse) GetContentWasTruncated() bool {\n\tif m != nil && m.ContentWasTruncated != nil {\n\t\treturn *m.ContentWasTruncated\n\t}\n\treturn Default_URLFetchResponse_ContentWasTruncated\n}\n\nfunc (m *URLFetchResponse) GetExternalBytesSent() int64 {\n\tif m != nil && m.ExternalBytesSent != nil {\n\t\treturn *m.ExternalBytesSent\n\t}\n\treturn 0\n}\n\nfunc (m *URLFetchResponse) GetExternalBytesReceived() int64 {\n\tif m != nil && m.ExternalBytesReceived != nil {\n\t\treturn *m.ExternalBytesReceived\n\t}\n\treturn 0\n}\n\nfunc (m *URLFetchResponse) GetFinalUrl() string {\n\tif m != nil && m.FinalUrl != nil {\n\t\treturn *m.FinalUrl\n\t}\n\treturn \"\"\n}\n\nfunc (m *URLFetchResponse) GetApiCpuMilliseconds() int64 {\n\tif m != nil && m.ApiCpuMilliseconds != nil {\n\t\treturn *m.ApiCpuMilliseconds\n\t}\n\treturn Default_URLFetchResponse_ApiCpuMilliseconds\n}\n\nfunc (m *URLFetchResponse) GetApiBytesSent() int64 {\n\tif m != nil && m.ApiBytesSent != nil {\n\t\treturn *m.ApiBytesSent\n\t}\n\treturn Default_URLFetchResponse_ApiBytesSent\n}\n\nfunc (m *URLFetchResponse) GetApiBytesReceived() int64 {\n\tif m != nil && m.ApiBytesReceived != nil {\n\t\treturn *m.ApiBytesReceived\n\t}\n\treturn Default_URLFetchResponse_ApiBytesReceived\n}\n\ntype URLFetchResponse_Header struct {\n\tKey              *string `protobuf:\"bytes,4,req,name=Key\" json:\"Key,omitempty\"`\n\tValue            *string `protobuf:\"bytes,5,req,name=Value\" json:\"Value,omitempty\"`\n\tXXX_unrecognized []byte  `json:\"-\"`\n}\n\nfunc (m *URLFetchResponse_Header) Reset()         { *m = URLFetchResponse_Header{} }\nfunc (m *URLFetchResponse_Header) String() string { return proto.CompactTextString(m) }\nfunc (*URLFetchResponse_Header) ProtoMessage()    {}\n\nfunc (m *URLFetchResponse_Header) GetKey() string {\n\tif m != nil && m.Key != nil {\n\t\treturn *m.Key\n\t}\n\treturn \"\"\n}\n\nfunc (m *URLFetchResponse_Header) GetValue() string {\n\tif m != nil && m.Value != nil {\n\t\treturn *m.Value\n\t}\n\treturn \"\"\n}\n\nfunc init() {\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/namespace.go",
    "content": "// Copyright 2012 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\npackage appengine\n\nimport (\n\t\"fmt\"\n\t\"regexp\"\n\n\t\"golang.org/x/net/context\"\n\n\t\"google.golang.org/appengine/internal\"\n)\n\n// Namespace returns a replacement context that operates within the given namespace.\nfunc Namespace(c context.Context, namespace string) (context.Context, error) {\n\tif !validNamespace.MatchString(namespace) {\n\t\treturn nil, fmt.Errorf(\"appengine: namespace %q does not match /%s/\", namespace, validNamespace)\n\t}\n\treturn internal.NamespacedContext(c, namespace), nil\n}\n\n// validNamespace matches valid namespace names.\nvar validNamespace = regexp.MustCompile(`^[0-9A-Za-z._-]{0,100}$`)\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/timeout.go",
    "content": "// Copyright 2013 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\npackage appengine\n\nimport \"golang.org/x/net/context\"\n\n// IsTimeoutError reports whether err is a timeout error.\nfunc IsTimeoutError(err error) bool {\n\tif err == context.DeadlineExceeded {\n\t\treturn true\n\t}\n\tif t, ok := err.(interface {\n\t\tIsTimeout() bool\n\t}); ok {\n\t\treturn t.IsTimeout()\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/google.golang.org/appengine/urlfetch/urlfetch.go",
    "content": "// Copyright 2011 Google Inc. All rights reserved.\n// Use of this source code is governed by the Apache 2.0\n// license that can be found in the LICENSE file.\n\n// Package urlfetch provides an http.RoundTripper implementation\n// for fetching URLs via App Engine's urlfetch service.\npackage urlfetch // import \"google.golang.org/appengine/urlfetch\"\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"golang.org/x/net/context\"\n\n\t\"google.golang.org/appengine/internal\"\n\tpb \"google.golang.org/appengine/internal/urlfetch\"\n)\n\n// Transport is an implementation of http.RoundTripper for\n// App Engine. Users should generally create an http.Client using\n// this transport and use the Client rather than using this transport\n// directly.\ntype Transport struct {\n\tContext context.Context\n\n\t// Controls whether the application checks the validity of SSL certificates\n\t// over HTTPS connections. A value of false (the default) instructs the\n\t// application to send a request to the server only if the certificate is\n\t// valid and signed by a trusted certificate authority (CA), and also\n\t// includes a hostname that matches the certificate. A value of true\n\t// instructs the application to perform no certificate validation.\n\tAllowInvalidServerCertificate bool\n}\n\n// Verify statically that *Transport implements http.RoundTripper.\nvar _ http.RoundTripper = (*Transport)(nil)\n\n// Client returns an *http.Client using a default urlfetch Transport. This\n// client will have the default deadline of 5 seconds, and will check the\n// validity of SSL certificates.\n//\n// Any deadline of the provided context will be used for requests through this client;\n// if the client does not have a deadline then a 5 second default is used.\nfunc Client(ctx context.Context) *http.Client {\n\treturn &http.Client{\n\t\tTransport: &Transport{\n\t\t\tContext: ctx,\n\t\t},\n\t}\n}\n\ntype bodyReader struct {\n\tcontent   []byte\n\ttruncated bool\n\tclosed    bool\n}\n\n// ErrTruncatedBody is the error returned after the final Read() from a\n// response's Body if the body has been truncated by App Engine's proxy.\nvar ErrTruncatedBody = errors.New(\"urlfetch: truncated body\")\n\nfunc statusCodeToText(code int) string {\n\tif t := http.StatusText(code); t != \"\" {\n\t\treturn t\n\t}\n\treturn strconv.Itoa(code)\n}\n\nfunc (br *bodyReader) Read(p []byte) (n int, err error) {\n\tif br.closed {\n\t\tif br.truncated {\n\t\t\treturn 0, ErrTruncatedBody\n\t\t}\n\t\treturn 0, io.EOF\n\t}\n\tn = copy(p, br.content)\n\tif n > 0 {\n\t\tbr.content = br.content[n:]\n\t\treturn\n\t}\n\tif br.truncated {\n\t\tbr.closed = true\n\t\treturn 0, ErrTruncatedBody\n\t}\n\treturn 0, io.EOF\n}\n\nfunc (br *bodyReader) Close() error {\n\tbr.closed = true\n\tbr.content = nil\n\treturn nil\n}\n\n// A map of the URL Fetch-accepted methods that take a request body.\nvar methodAcceptsRequestBody = map[string]bool{\n\t\"POST\":  true,\n\t\"PUT\":   true,\n\t\"PATCH\": true,\n}\n\n// urlString returns a valid string given a URL. This function is necessary because\n// the String method of URL doesn't correctly handle URLs with non-empty Opaque values.\n// See http://code.google.com/p/go/issues/detail?id=4860.\nfunc urlString(u *url.URL) string {\n\tif u.Opaque == \"\" || strings.HasPrefix(u.Opaque, \"//\") {\n\t\treturn u.String()\n\t}\n\taux := *u\n\taux.Opaque = \"//\" + aux.Host + aux.Opaque\n\treturn aux.String()\n}\n\n// RoundTrip issues a single HTTP request and returns its response. Per the\n// http.RoundTripper interface, RoundTrip only returns an error if there\n// was an unsupported request or the URL Fetch proxy fails.\n// Note that HTTP response codes such as 5xx, 403, 404, etc are not\n// errors as far as the transport is concerned and will be returned\n// with err set to nil.\nfunc (t *Transport) RoundTrip(req *http.Request) (res *http.Response, err error) {\n\tmethNum, ok := pb.URLFetchRequest_RequestMethod_value[req.Method]\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"urlfetch: unsupported HTTP method %q\", req.Method)\n\t}\n\n\tmethod := pb.URLFetchRequest_RequestMethod(methNum)\n\n\tfreq := &pb.URLFetchRequest{\n\t\tMethod:                        &method,\n\t\tUrl:                           proto.String(urlString(req.URL)),\n\t\tFollowRedirects:               proto.Bool(false), // http.Client's responsibility\n\t\tMustValidateServerCertificate: proto.Bool(!t.AllowInvalidServerCertificate),\n\t}\n\tif deadline, ok := t.Context.Deadline(); ok {\n\t\tfreq.Deadline = proto.Float64(deadline.Sub(time.Now()).Seconds())\n\t}\n\n\tfor k, vals := range req.Header {\n\t\tfor _, val := range vals {\n\t\t\tfreq.Header = append(freq.Header, &pb.URLFetchRequest_Header{\n\t\t\t\tKey:   proto.String(k),\n\t\t\t\tValue: proto.String(val),\n\t\t\t})\n\t\t}\n\t}\n\tif methodAcceptsRequestBody[req.Method] && req.Body != nil {\n\t\t// Avoid a []byte copy if req.Body has a Bytes method.\n\t\tswitch b := req.Body.(type) {\n\t\tcase interface {\n\t\t\tBytes() []byte\n\t\t}:\n\t\t\tfreq.Payload = b.Bytes()\n\t\tdefault:\n\t\t\tfreq.Payload, err = ioutil.ReadAll(req.Body)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t}\n\n\tfres := &pb.URLFetchResponse{}\n\tif err := internal.Call(t.Context, \"urlfetch\", \"Fetch\", freq, fres); err != nil {\n\t\treturn nil, err\n\t}\n\n\tres = &http.Response{}\n\tres.StatusCode = int(*fres.StatusCode)\n\tres.Status = fmt.Sprintf(\"%d %s\", res.StatusCode, statusCodeToText(res.StatusCode))\n\tres.Header = make(http.Header)\n\tres.Request = req\n\n\t// Faked:\n\tres.ProtoMajor = 1\n\tres.ProtoMinor = 1\n\tres.Proto = \"HTTP/1.1\"\n\tres.Close = true\n\n\tfor _, h := range fres.Header {\n\t\thkey := http.CanonicalHeaderKey(*h.Key)\n\t\thval := *h.Value\n\t\tif hkey == \"Content-Length\" {\n\t\t\t// Will get filled in below for all but HEAD requests.\n\t\t\tif req.Method == \"HEAD\" {\n\t\t\t\tres.ContentLength, _ = strconv.ParseInt(hval, 10, 64)\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tres.Header.Add(hkey, hval)\n\t}\n\n\tif req.Method != \"HEAD\" {\n\t\tres.ContentLength = int64(len(fres.Content))\n\t}\n\n\ttruncated := fres.GetContentWasTruncated()\n\tres.Body = &bodyReader{content: fres.Content, truncated: truncated}\n\treturn\n}\n\nfunc init() {\n\tinternal.RegisterErrorCodeMap(\"urlfetch\", pb.URLFetchServiceError_ErrorCode_name)\n\tinternal.RegisterTimeoutErrorCode(\"urlfetch\", int32(pb.URLFetchServiceError_DEADLINE_EXCEEDED))\n}\n"
  },
  {
    "path": "vendor/google.golang.org/genproto/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": "vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/api/annotations.proto\n\n/*\nPackage annotations is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle/api/annotations.proto\n\tgoogle/api/http.proto\n\nIt has these top-level messages:\n\tHttp\n\tHttpRule\n\tCustomHttpPattern\n*/\npackage annotations\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport google_protobuf \"github.com/golang/protobuf/protoc-gen-go/descriptor\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\nvar E_Http = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.MethodOptions)(nil),\n\tExtensionType: (*HttpRule)(nil),\n\tField:         72295728,\n\tName:          \"google.api.http\",\n\tTag:           \"bytes,72295728,opt,name=http\",\n\tFilename:      \"google/api/annotations.proto\",\n}\n\nfunc init() {\n\tproto.RegisterExtension(E_Http)\n}\n\nfunc init() { proto.RegisterFile(\"google/api/annotations.proto\", fileDescriptor0) }\n\nvar fileDescriptor0 = []byte{\n\t// 208 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0xcf, 0xcf, 0x4f,\n\t0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0x4f, 0xcc, 0xcb, 0xcb, 0x2f, 0x49, 0x2c, 0xc9, 0xcc,\n\t0xcf, 0x2b, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0xc8, 0xea, 0x25, 0x16, 0x64,\n\t0x4a, 0x89, 0x22, 0xa9, 0xcc, 0x28, 0x29, 0x29, 0x80, 0x28, 0x91, 0x52, 0x80, 0x0a, 0x83, 0x79,\n\t0x49, 0xa5, 0x69, 0xfa, 0x29, 0xa9, 0xc5, 0xc9, 0x45, 0x99, 0x05, 0x25, 0xf9, 0x45, 0x10, 0x15,\n\t0x56, 0xde, 0x5c, 0x2c, 0x20, 0xf5, 0x42, 0x72, 0x7a, 0x50, 0xd3, 0x60, 0x4a, 0xf5, 0x7c, 0x53,\n\t0x4b, 0x32, 0xf2, 0x53, 0xfc, 0x0b, 0xc0, 0x56, 0x4a, 0x6c, 0x38, 0xb5, 0x47, 0x49, 0x81, 0x51,\n\t0x83, 0xdb, 0x48, 0x44, 0x0f, 0x61, 0xad, 0x9e, 0x47, 0x49, 0x49, 0x41, 0x50, 0x69, 0x4e, 0x6a,\n\t0x10, 0xd8, 0x10, 0xa7, 0x3c, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x24, 0x05, 0x4e, 0x02, 0x8e, 0x08,\n\t0x67, 0x07, 0x80, 0x4c, 0x0e, 0x60, 0x8c, 0x72, 0x84, 0xca, 0xa7, 0xe7, 0xe7, 0x24, 0xe6, 0xa5,\n\t0xeb, 0xe5, 0x17, 0xa5, 0xeb, 0xa7, 0xa7, 0xe6, 0x81, 0xed, 0xd5, 0x87, 0x48, 0x25, 0x16, 0x64,\n\t0x16, 0xa3, 0x7b, 0xda, 0x1a, 0x89, 0xbd, 0x88, 0x89, 0xc5, 0xdd, 0x31, 0xc0, 0x33, 0x89, 0x0d,\n\t0xac, 0xc9, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xe3, 0x29, 0x19, 0x62, 0x28, 0x01, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/api/http.proto\n\npackage annotations\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// Defines the HTTP configuration for a service. It contains a list of\n// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method\n// to one or more HTTP REST API methods.\ntype Http struct {\n\t// A list of HTTP configuration rules that apply to individual API methods.\n\t//\n\t// **NOTE:** All service configuration rules follow \"last one wins\" order.\n\tRules []*HttpRule `protobuf:\"bytes,1,rep,name=rules\" json:\"rules,omitempty\"`\n}\n\nfunc (m *Http) Reset()                    { *m = Http{} }\nfunc (m *Http) String() string            { return proto.CompactTextString(m) }\nfunc (*Http) ProtoMessage()               {}\nfunc (*Http) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }\n\nfunc (m *Http) GetRules() []*HttpRule {\n\tif m != nil {\n\t\treturn m.Rules\n\t}\n\treturn nil\n}\n\n// `HttpRule` defines the mapping of an RPC method to one or more HTTP\n// REST APIs.  The mapping determines what portions of the request\n// message are populated from the path, query parameters, or body of\n// the HTTP request.  The mapping is typically specified as an\n// `google.api.http` annotation, see \"google/api/annotations.proto\"\n// for details.\n//\n// The mapping consists of a field specifying the path template and\n// method kind.  The path template can refer to fields in the request\n// message, as in the example below which describes a REST GET\n// operation on a resource collection of messages:\n//\n//\n//     service Messaging {\n//       rpc GetMessage(GetMessageRequest) returns (Message) {\n//         option (google.api.http).get = \"/v1/messages/{message_id}/{sub.subfield}\";\n//       }\n//     }\n//     message GetMessageRequest {\n//       message SubMessage {\n//         string subfield = 1;\n//       }\n//       string message_id = 1; // mapped to the URL\n//       SubMessage sub = 2;    // `sub.subfield` is url-mapped\n//     }\n//     message Message {\n//       string text = 1; // content of the resource\n//     }\n//\n// The same http annotation can alternatively be expressed inside the\n// `GRPC API Configuration` YAML file.\n//\n//     http:\n//       rules:\n//         - selector: <proto_package_name>.Messaging.GetMessage\n//           get: /v1/messages/{message_id}/{sub.subfield}\n//\n// This definition enables an automatic, bidrectional mapping of HTTP\n// JSON to RPC. Example:\n//\n// HTTP | RPC\n// -----|-----\n// `GET /v1/messages/123456/foo`  | `GetMessage(message_id: \"123456\" sub: SubMessage(subfield: \"foo\"))`\n//\n// In general, not only fields but also field paths can be referenced\n// from a path pattern. Fields mapped to the path pattern cannot be\n// repeated and must have a primitive (non-message) type.\n//\n// Any fields in the request message which are not bound by the path\n// pattern automatically become (optional) HTTP query\n// parameters. Assume the following definition of the request message:\n//\n//\n//     message GetMessageRequest {\n//       message SubMessage {\n//         string subfield = 1;\n//       }\n//       string message_id = 1; // mapped to the URL\n//       int64 revision = 2;    // becomes a parameter\n//       SubMessage sub = 3;    // `sub.subfield` becomes a parameter\n//     }\n//\n//\n// This enables a HTTP JSON to RPC mapping as below:\n//\n// HTTP | RPC\n// -----|-----\n// `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield: \"foo\"))`\n//\n// Note that fields which are mapped to HTTP parameters must have a\n// primitive type or a repeated primitive type. Message types are not\n// allowed. In the case of a repeated type, the parameter can be\n// repeated in the URL, as in `...?param=A&param=B`.\n//\n// For HTTP method kinds which allow a request body, the `body` field\n// specifies the mapping. Consider a REST update method on the\n// message resource collection:\n//\n//\n//     service Messaging {\n//       rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\n//         option (google.api.http) = {\n//           put: \"/v1/messages/{message_id}\"\n//           body: \"message\"\n//         };\n//       }\n//     }\n//     message UpdateMessageRequest {\n//       string message_id = 1; // mapped to the URL\n//       Message message = 2;   // mapped to the body\n//     }\n//\n//\n// The following HTTP JSON to RPC mapping is enabled, where the\n// representation of the JSON in the request body is determined by\n// protos JSON encoding:\n//\n// HTTP | RPC\n// -----|-----\n// `PUT /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id: \"123456\" message { text: \"Hi!\" })`\n//\n// The special name `*` can be used in the body mapping to define that\n// every field not bound by the path template should be mapped to the\n// request body.  This enables the following alternative definition of\n// the update method:\n//\n//     service Messaging {\n//       rpc UpdateMessage(Message) returns (Message) {\n//         option (google.api.http) = {\n//           put: \"/v1/messages/{message_id}\"\n//           body: \"*\"\n//         };\n//       }\n//     }\n//     message Message {\n//       string message_id = 1;\n//       string text = 2;\n//     }\n//\n//\n// The following HTTP JSON to RPC mapping is enabled:\n//\n// HTTP | RPC\n// -----|-----\n// `PUT /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id: \"123456\" text: \"Hi!\")`\n//\n// Note that when using `*` in the body mapping, it is not possible to\n// have HTTP parameters, as all fields not bound by the path end in\n// the body. This makes this option more rarely used in practice of\n// defining REST APIs. The common usage of `*` is in custom methods\n// which don't use the URL at all for transferring data.\n//\n// It is possible to define multiple HTTP methods for one RPC by using\n// the `additional_bindings` option. Example:\n//\n//     service Messaging {\n//       rpc GetMessage(GetMessageRequest) returns (Message) {\n//         option (google.api.http) = {\n//           get: \"/v1/messages/{message_id}\"\n//           additional_bindings {\n//             get: \"/v1/users/{user_id}/messages/{message_id}\"\n//           }\n//         };\n//       }\n//     }\n//     message GetMessageRequest {\n//       string message_id = 1;\n//       string user_id = 2;\n//     }\n//\n//\n// This enables the following two alternative HTTP JSON to RPC\n// mappings:\n//\n// HTTP | RPC\n// -----|-----\n// `GET /v1/messages/123456` | `GetMessage(message_id: \"123456\")`\n// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: \"me\" message_id: \"123456\")`\n//\n// # Rules for HTTP mapping\n//\n// The rules for mapping HTTP path, query parameters, and body fields\n// to the request message are as follows:\n//\n// 1. The `body` field specifies either `*` or a field path, or is\n//    omitted. If omitted, it assumes there is no HTTP body.\n// 2. Leaf fields (recursive expansion of nested messages in the\n//    request) can be classified into three types:\n//     (a) Matched in the URL template.\n//     (b) Covered by body (if body is `*`, everything except (a) fields;\n//         else everything under the body field)\n//     (c) All other fields.\n// 3. URL query parameters found in the HTTP request are mapped to (c) fields.\n// 4. Any body sent with an HTTP request can contain only (b) fields.\n//\n// The syntax of the path template is as follows:\n//\n//     Template = \"/\" Segments [ Verb ] ;\n//     Segments = Segment { \"/\" Segment } ;\n//     Segment  = \"*\" | \"**\" | LITERAL | Variable ;\n//     Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\n//     FieldPath = IDENT { \".\" IDENT } ;\n//     Verb     = \":\" LITERAL ;\n//\n// The syntax `*` matches a single path segment. It follows the semantics of\n// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String\n// Expansion.\n//\n// The syntax `**` matches zero or more path segments. It follows the semantics\n// of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.3 Reserved\n// Expansion. NOTE: it must be the last segment in the path except the Verb.\n//\n// The syntax `LITERAL` matches literal text in the URL path.\n//\n// The syntax `Variable` matches the entire path as specified by its template;\n// this nested template must not contain further variables. If a variable\n// matches a single path segment, its template may be omitted, e.g. `{var}`\n// is equivalent to `{var=*}`.\n//\n// NOTE: the field paths in variables and in the `body` must not refer to\n// repeated fields or map fields.\n//\n// Use CustomHttpPattern to specify any HTTP method that is not included in the\n// `pattern` field, such as HEAD, or \"*\" to leave the HTTP method unspecified for\n// a given URL path rule. The wild-card rule is useful for services that provide\n// content to Web (HTML) clients.\ntype HttpRule struct {\n\t// Selects methods to which this rule applies.\n\t//\n\t// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.\n\tSelector string `protobuf:\"bytes,1,opt,name=selector\" json:\"selector,omitempty\"`\n\t// Determines the URL pattern is matched by this rules. This pattern can be\n\t// used with any of the {get|put|post|delete|patch} methods. A custom method\n\t// can be defined using the 'custom' field.\n\t//\n\t// Types that are valid to be assigned to Pattern:\n\t//\t*HttpRule_Get\n\t//\t*HttpRule_Put\n\t//\t*HttpRule_Post\n\t//\t*HttpRule_Delete\n\t//\t*HttpRule_Patch\n\t//\t*HttpRule_Custom\n\tPattern isHttpRule_Pattern `protobuf_oneof:\"pattern\"`\n\t// The name of the request field whose value is mapped to the HTTP body, or\n\t// `*` for mapping all fields not captured by the path pattern to the HTTP\n\t// body. NOTE: the referred field must not be a repeated field and must be\n\t// present at the top-level of request message type.\n\tBody string `protobuf:\"bytes,7,opt,name=body\" json:\"body,omitempty\"`\n\t// Additional HTTP bindings for the selector. Nested bindings must\n\t// not contain an `additional_bindings` field themselves (that is,\n\t// the nesting may only be one level deep).\n\tAdditionalBindings []*HttpRule `protobuf:\"bytes,11,rep,name=additional_bindings,json=additionalBindings\" json:\"additional_bindings,omitempty\"`\n}\n\nfunc (m *HttpRule) Reset()                    { *m = HttpRule{} }\nfunc (m *HttpRule) String() string            { return proto.CompactTextString(m) }\nfunc (*HttpRule) ProtoMessage()               {}\nfunc (*HttpRule) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }\n\ntype isHttpRule_Pattern interface {\n\tisHttpRule_Pattern()\n}\n\ntype HttpRule_Get struct {\n\tGet string `protobuf:\"bytes,2,opt,name=get,oneof\"`\n}\ntype HttpRule_Put struct {\n\tPut string `protobuf:\"bytes,3,opt,name=put,oneof\"`\n}\ntype HttpRule_Post struct {\n\tPost string `protobuf:\"bytes,4,opt,name=post,oneof\"`\n}\ntype HttpRule_Delete struct {\n\tDelete string `protobuf:\"bytes,5,opt,name=delete,oneof\"`\n}\ntype HttpRule_Patch struct {\n\tPatch string `protobuf:\"bytes,6,opt,name=patch,oneof\"`\n}\ntype HttpRule_Custom struct {\n\tCustom *CustomHttpPattern `protobuf:\"bytes,8,opt,name=custom,oneof\"`\n}\n\nfunc (*HttpRule_Get) isHttpRule_Pattern()    {}\nfunc (*HttpRule_Put) isHttpRule_Pattern()    {}\nfunc (*HttpRule_Post) isHttpRule_Pattern()   {}\nfunc (*HttpRule_Delete) isHttpRule_Pattern() {}\nfunc (*HttpRule_Patch) isHttpRule_Pattern()  {}\nfunc (*HttpRule_Custom) isHttpRule_Pattern() {}\n\nfunc (m *HttpRule) GetPattern() isHttpRule_Pattern {\n\tif m != nil {\n\t\treturn m.Pattern\n\t}\n\treturn nil\n}\n\nfunc (m *HttpRule) GetSelector() string {\n\tif m != nil {\n\t\treturn m.Selector\n\t}\n\treturn \"\"\n}\n\nfunc (m *HttpRule) GetGet() string {\n\tif x, ok := m.GetPattern().(*HttpRule_Get); ok {\n\t\treturn x.Get\n\t}\n\treturn \"\"\n}\n\nfunc (m *HttpRule) GetPut() string {\n\tif x, ok := m.GetPattern().(*HttpRule_Put); ok {\n\t\treturn x.Put\n\t}\n\treturn \"\"\n}\n\nfunc (m *HttpRule) GetPost() string {\n\tif x, ok := m.GetPattern().(*HttpRule_Post); ok {\n\t\treturn x.Post\n\t}\n\treturn \"\"\n}\n\nfunc (m *HttpRule) GetDelete() string {\n\tif x, ok := m.GetPattern().(*HttpRule_Delete); ok {\n\t\treturn x.Delete\n\t}\n\treturn \"\"\n}\n\nfunc (m *HttpRule) GetPatch() string {\n\tif x, ok := m.GetPattern().(*HttpRule_Patch); ok {\n\t\treturn x.Patch\n\t}\n\treturn \"\"\n}\n\nfunc (m *HttpRule) GetCustom() *CustomHttpPattern {\n\tif x, ok := m.GetPattern().(*HttpRule_Custom); ok {\n\t\treturn x.Custom\n\t}\n\treturn nil\n}\n\nfunc (m *HttpRule) GetBody() string {\n\tif m != nil {\n\t\treturn m.Body\n\t}\n\treturn \"\"\n}\n\nfunc (m *HttpRule) GetAdditionalBindings() []*HttpRule {\n\tif m != nil {\n\t\treturn m.AdditionalBindings\n\t}\n\treturn nil\n}\n\n// XXX_OneofFuncs is for the internal use of the proto package.\nfunc (*HttpRule) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {\n\treturn _HttpRule_OneofMarshaler, _HttpRule_OneofUnmarshaler, _HttpRule_OneofSizer, []interface{}{\n\t\t(*HttpRule_Get)(nil),\n\t\t(*HttpRule_Put)(nil),\n\t\t(*HttpRule_Post)(nil),\n\t\t(*HttpRule_Delete)(nil),\n\t\t(*HttpRule_Patch)(nil),\n\t\t(*HttpRule_Custom)(nil),\n\t}\n}\n\nfunc _HttpRule_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {\n\tm := msg.(*HttpRule)\n\t// pattern\n\tswitch x := m.Pattern.(type) {\n\tcase *HttpRule_Get:\n\t\tb.EncodeVarint(2<<3 | proto.WireBytes)\n\t\tb.EncodeStringBytes(x.Get)\n\tcase *HttpRule_Put:\n\t\tb.EncodeVarint(3<<3 | proto.WireBytes)\n\t\tb.EncodeStringBytes(x.Put)\n\tcase *HttpRule_Post:\n\t\tb.EncodeVarint(4<<3 | proto.WireBytes)\n\t\tb.EncodeStringBytes(x.Post)\n\tcase *HttpRule_Delete:\n\t\tb.EncodeVarint(5<<3 | proto.WireBytes)\n\t\tb.EncodeStringBytes(x.Delete)\n\tcase *HttpRule_Patch:\n\t\tb.EncodeVarint(6<<3 | proto.WireBytes)\n\t\tb.EncodeStringBytes(x.Patch)\n\tcase *HttpRule_Custom:\n\t\tb.EncodeVarint(8<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.Custom); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase nil:\n\tdefault:\n\t\treturn fmt.Errorf(\"HttpRule.Pattern has unexpected type %T\", x)\n\t}\n\treturn nil\n}\n\nfunc _HttpRule_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {\n\tm := msg.(*HttpRule)\n\tswitch tag {\n\tcase 2: // pattern.get\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tx, err := b.DecodeStringBytes()\n\t\tm.Pattern = &HttpRule_Get{x}\n\t\treturn true, err\n\tcase 3: // pattern.put\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tx, err := b.DecodeStringBytes()\n\t\tm.Pattern = &HttpRule_Put{x}\n\t\treturn true, err\n\tcase 4: // pattern.post\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tx, err := b.DecodeStringBytes()\n\t\tm.Pattern = &HttpRule_Post{x}\n\t\treturn true, err\n\tcase 5: // pattern.delete\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tx, err := b.DecodeStringBytes()\n\t\tm.Pattern = &HttpRule_Delete{x}\n\t\treturn true, err\n\tcase 6: // pattern.patch\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tx, err := b.DecodeStringBytes()\n\t\tm.Pattern = &HttpRule_Patch{x}\n\t\treturn true, err\n\tcase 8: // pattern.custom\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(CustomHttpPattern)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.Pattern = &HttpRule_Custom{msg}\n\t\treturn true, err\n\tdefault:\n\t\treturn false, nil\n\t}\n}\n\nfunc _HttpRule_OneofSizer(msg proto.Message) (n int) {\n\tm := msg.(*HttpRule)\n\t// pattern\n\tswitch x := m.Pattern.(type) {\n\tcase *HttpRule_Get:\n\t\tn += proto.SizeVarint(2<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(len(x.Get)))\n\t\tn += len(x.Get)\n\tcase *HttpRule_Put:\n\t\tn += proto.SizeVarint(3<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(len(x.Put)))\n\t\tn += len(x.Put)\n\tcase *HttpRule_Post:\n\t\tn += proto.SizeVarint(4<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(len(x.Post)))\n\t\tn += len(x.Post)\n\tcase *HttpRule_Delete:\n\t\tn += proto.SizeVarint(5<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(len(x.Delete)))\n\t\tn += len(x.Delete)\n\tcase *HttpRule_Patch:\n\t\tn += proto.SizeVarint(6<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(len(x.Patch)))\n\t\tn += len(x.Patch)\n\tcase *HttpRule_Custom:\n\t\ts := proto.Size(x.Custom)\n\t\tn += proto.SizeVarint(8<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase nil:\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"proto: unexpected type %T in oneof\", x))\n\t}\n\treturn n\n}\n\n// A custom pattern is used for defining custom HTTP verb.\ntype CustomHttpPattern struct {\n\t// The name of this custom HTTP verb.\n\tKind string `protobuf:\"bytes,1,opt,name=kind\" json:\"kind,omitempty\"`\n\t// The path matched by this custom verb.\n\tPath string `protobuf:\"bytes,2,opt,name=path\" json:\"path,omitempty\"`\n}\n\nfunc (m *CustomHttpPattern) Reset()                    { *m = CustomHttpPattern{} }\nfunc (m *CustomHttpPattern) String() string            { return proto.CompactTextString(m) }\nfunc (*CustomHttpPattern) ProtoMessage()               {}\nfunc (*CustomHttpPattern) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }\n\nfunc (m *CustomHttpPattern) GetKind() string {\n\tif m != nil {\n\t\treturn m.Kind\n\t}\n\treturn \"\"\n}\n\nfunc (m *CustomHttpPattern) GetPath() string {\n\tif m != nil {\n\t\treturn m.Path\n\t}\n\treturn \"\"\n}\n\nfunc init() {\n\tproto.RegisterType((*Http)(nil), \"google.api.Http\")\n\tproto.RegisterType((*HttpRule)(nil), \"google.api.HttpRule\")\n\tproto.RegisterType((*CustomHttpPattern)(nil), \"google.api.CustomHttpPattern\")\n}\n\nfunc init() { proto.RegisterFile(\"google/api/http.proto\", fileDescriptor1) }\n\nvar fileDescriptor1 = []byte{\n\t// 359 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xcf, 0x6a, 0xe3, 0x30,\n\t0x10, 0xc6, 0xd7, 0x89, 0xe3, 0x24, 0x13, 0x58, 0x58, 0x6d, 0x76, 0x11, 0x85, 0x42, 0xc8, 0x29,\n\t0xf4, 0x60, 0x43, 0x7a, 0xe8, 0x21, 0xa7, 0xb8, 0x94, 0xa6, 0xb7, 0xe0, 0x63, 0x2f, 0x45, 0xb1,\n\t0x85, 0xa2, 0xd6, 0x91, 0x84, 0x3d, 0x3e, 0xf4, 0x75, 0xfa, 0x0e, 0x7d, 0xb7, 0x1e, 0x8b, 0xfe,\n\t0xa4, 0x09, 0x14, 0x7a, 0x9b, 0xef, 0x37, 0x9f, 0x34, 0xa3, 0x19, 0xc1, 0x3f, 0xa1, 0xb5, 0xa8,\n\t0x79, 0xc6, 0x8c, 0xcc, 0xf6, 0x88, 0x26, 0x35, 0x8d, 0x46, 0x4d, 0xc0, 0xe3, 0x94, 0x19, 0x39,\n\t0x5f, 0x42, 0xbc, 0x41, 0x34, 0xe4, 0x0a, 0x06, 0x4d, 0x57, 0xf3, 0x96, 0x46, 0xb3, 0xfe, 0x62,\n\t0xb2, 0x9c, 0xa6, 0x27, 0x4f, 0x6a, 0x0d, 0x45, 0x57, 0xf3, 0xc2, 0x5b, 0xe6, 0xef, 0x3d, 0x18,\n\t0x1d, 0x19, 0xb9, 0x80, 0x51, 0xcb, 0x6b, 0x5e, 0xa2, 0x6e, 0x68, 0x34, 0x8b, 0x16, 0xe3, 0xe2,\n\t0x4b, 0x13, 0x02, 0x7d, 0xc1, 0x91, 0xf6, 0x2c, 0xde, 0xfc, 0x2a, 0xac, 0xb0, 0xcc, 0x74, 0x48,\n\t0xfb, 0x47, 0x66, 0x3a, 0x24, 0x53, 0x88, 0x8d, 0x6e, 0x91, 0xc6, 0x01, 0x3a, 0x45, 0x28, 0x24,\n\t0x15, 0xaf, 0x39, 0x72, 0x3a, 0x08, 0x3c, 0x68, 0xf2, 0x1f, 0x06, 0x86, 0x61, 0xb9, 0xa7, 0x49,\n\t0x48, 0x78, 0x49, 0x6e, 0x20, 0x29, 0xbb, 0x16, 0xf5, 0x81, 0x8e, 0x66, 0xd1, 0x62, 0xb2, 0xbc,\n\t0x3c, 0x7f, 0xc5, 0xad, 0xcb, 0xd8, 0xbe, 0xb7, 0x0c, 0x91, 0x37, 0xca, 0x5e, 0xe8, 0xed, 0x84,\n\t0x40, 0xbc, 0xd3, 0xd5, 0x2b, 0x1d, 0xba, 0x07, 0xb8, 0x98, 0xdc, 0xc1, 0x5f, 0x56, 0x55, 0x12,\n\t0xa5, 0x56, 0xac, 0x7e, 0xda, 0x49, 0x55, 0x49, 0x25, 0x5a, 0x3a, 0xf9, 0x61, 0x3e, 0xe4, 0x74,\n\t0x20, 0x0f, 0xfe, 0x7c, 0x0c, 0x43, 0xe3, 0xeb, 0xcd, 0x57, 0xf0, 0xe7, 0x5b, 0x13, 0xb6, 0xf4,\n\t0x8b, 0x54, 0x55, 0x98, 0x9d, 0x8b, 0x2d, 0x33, 0x0c, 0xf7, 0x7e, 0x70, 0x85, 0x8b, 0xf3, 0x67,\n\t0xf8, 0x5d, 0xea, 0xc3, 0x59, 0xd9, 0x7c, 0xec, 0xae, 0xb1, 0x1b, 0xdd, 0x46, 0x8f, 0xeb, 0x90,\n\t0x10, 0xba, 0x66, 0x4a, 0xa4, 0xba, 0x11, 0x99, 0xe0, 0xca, 0xed, 0x3b, 0xf3, 0x29, 0x66, 0x64,\n\t0xeb, 0x7e, 0x02, 0x53, 0x4a, 0x23, 0xb3, 0x6d, 0xb6, 0xab, 0xb3, 0xf8, 0x23, 0x8a, 0xde, 0x7a,\n\t0xf1, 0xfd, 0x7a, 0xfb, 0xb0, 0x4b, 0xdc, 0xb9, 0xeb, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x68,\n\t0x15, 0x60, 0x5b, 0x40, 0x02, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/google.golang.org/genproto/googleapis/api/authorization_config.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/api/experimental/authorization_config.proto\n\n/*\nPackage api is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle/api/experimental/authorization_config.proto\n\tgoogle/api/experimental/experimental.proto\n\nIt has these top-level messages:\n\tAuthorizationConfig\n\tExperimental\n*/\npackage api\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\n// Configuration of authorization.\n//\n// This section determines the authorization provider, if unspecified, then no\n// authorization check will be done.\n//\n// Example:\n//\n//     experimental:\n//       authorization:\n//         provider: firebaserules.googleapis.com\ntype AuthorizationConfig struct {\n\t// The name of the authorization provider, such as\n\t// firebaserules.googleapis.com.\n\tProvider string `protobuf:\"bytes,1,opt,name=provider\" json:\"provider,omitempty\"`\n}\n\nfunc (m *AuthorizationConfig) Reset()                    { *m = AuthorizationConfig{} }\nfunc (m *AuthorizationConfig) String() string            { return proto.CompactTextString(m) }\nfunc (*AuthorizationConfig) ProtoMessage()               {}\nfunc (*AuthorizationConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }\n\nfunc (m *AuthorizationConfig) GetProvider() string {\n\tif m != nil {\n\t\treturn m.Provider\n\t}\n\treturn \"\"\n}\n\nfunc init() {\n\tproto.RegisterType((*AuthorizationConfig)(nil), \"google.api.AuthorizationConfig\")\n}\n\nfunc init() { proto.RegisterFile(\"google/api/experimental/authorization_config.proto\", fileDescriptor0) }\n\nvar fileDescriptor0 = []byte{\n\t// 180 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x32, 0x4a, 0xcf, 0xcf, 0x4f,\n\t0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0x4f, 0xad, 0x28, 0x48, 0x2d, 0xca, 0xcc, 0x4d, 0xcd,\n\t0x2b, 0x49, 0xcc, 0xd1, 0x4f, 0x2c, 0x2d, 0xc9, 0xc8, 0x2f, 0xca, 0xac, 0x4a, 0x2c, 0xc9, 0xcc,\n\t0xcf, 0x8b, 0x4f, 0xce, 0xcf, 0x4b, 0xcb, 0x4c, 0xd7, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2,\n\t0x82, 0xe8, 0xd1, 0x4b, 0x2c, 0xc8, 0x54, 0x32, 0xe4, 0x12, 0x76, 0x44, 0x56, 0xe9, 0x0c, 0x56,\n\t0x28, 0x24, 0xc5, 0xc5, 0x51, 0x50, 0x94, 0x5f, 0x96, 0x99, 0x92, 0x5a, 0x24, 0xc1, 0xa8, 0xc0,\n\t0xa8, 0xc1, 0x19, 0x04, 0xe7, 0x3b, 0x25, 0x71, 0xf1, 0x25, 0xe7, 0xe7, 0xea, 0x21, 0x0c, 0x71,\n\t0x92, 0xc0, 0x62, 0x44, 0x00, 0xc8, 0xaa, 0x00, 0xc6, 0x28, 0x5d, 0xa8, 0xba, 0xf4, 0xfc, 0x9c,\n\t0xc4, 0xbc, 0x74, 0xbd, 0xfc, 0xa2, 0x74, 0xfd, 0xf4, 0xd4, 0x3c, 0xb0, 0x43, 0xf4, 0x21, 0x52,\n\t0x89, 0x05, 0x99, 0xc5, 0x20, 0xf7, 0x5b, 0x27, 0x16, 0x64, 0x2e, 0x62, 0x62, 0x71, 0x77, 0x0c,\n\t0xf0, 0x4c, 0x62, 0x03, 0x2b, 0x30, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x52, 0x27, 0x0c, 0xba,\n\t0xdf, 0x00, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/google.golang.org/genproto/googleapis/api/experimental.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/api/experimental/experimental.proto\n\npackage api\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"google.golang.org/genproto/googleapis/api/annotations\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// Experimental service configuration. These configuration options can\n// only be used by whitelisted users.\ntype Experimental struct {\n\t// Authorization configuration.\n\tAuthorization *AuthorizationConfig `protobuf:\"bytes,8,opt,name=authorization\" json:\"authorization,omitempty\"`\n}\n\nfunc (m *Experimental) Reset()                    { *m = Experimental{} }\nfunc (m *Experimental) String() string            { return proto.CompactTextString(m) }\nfunc (*Experimental) ProtoMessage()               {}\nfunc (*Experimental) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }\n\nfunc (m *Experimental) GetAuthorization() *AuthorizationConfig {\n\tif m != nil {\n\t\treturn m.Authorization\n\t}\n\treturn nil\n}\n\nfunc init() {\n\tproto.RegisterType((*Experimental)(nil), \"google.api.Experimental\")\n}\n\nfunc init() { proto.RegisterFile(\"google/api/experimental/experimental.proto\", fileDescriptor1) }\n\nvar fileDescriptor1 = []byte{\n\t// 204 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4a, 0xcf, 0xcf, 0x4f,\n\t0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0x4f, 0xad, 0x28, 0x48, 0x2d, 0xca, 0xcc, 0x4d, 0xcd,\n\t0x2b, 0x49, 0xcc, 0x41, 0xe1, 0xe8, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0x71, 0x41, 0xd4, 0xea,\n\t0x25, 0x16, 0x64, 0x4a, 0xc9, 0x20, 0xe9, 0x4b, 0xcc, 0xcb, 0xcb, 0x2f, 0x49, 0x2c, 0xc9, 0xcc,\n\t0xcf, 0x2b, 0x86, 0xa8, 0x94, 0x32, 0xc2, 0x65, 0x6a, 0x62, 0x69, 0x49, 0x46, 0x7e, 0x51, 0x66,\n\t0x15, 0x58, 0x75, 0x7c, 0x72, 0x7e, 0x5e, 0x5a, 0x66, 0x3a, 0x44, 0x8f, 0x52, 0x28, 0x17, 0x8f,\n\t0x2b, 0x92, 0x52, 0x21, 0x57, 0x2e, 0x5e, 0x14, 0xd5, 0x12, 0x1c, 0x0a, 0x8c, 0x1a, 0xdc, 0x46,\n\t0xf2, 0x7a, 0x08, 0x57, 0xe8, 0x39, 0x22, 0x2b, 0x70, 0x06, 0x9b, 0x16, 0x84, 0xaa, 0xcb, 0x29,\n\t0x9a, 0x8b, 0x2f, 0x39, 0x3f, 0x17, 0x49, 0x93, 0x93, 0x20, 0xb2, 0x35, 0x01, 0x20, 0xbb, 0x03,\n\t0x18, 0xa3, 0x74, 0xa1, 0x0a, 0xd2, 0xf3, 0x73, 0x12, 0xf3, 0xd2, 0xf5, 0xf2, 0x8b, 0xd2, 0xf5,\n\t0xd3, 0x53, 0xf3, 0xc0, 0x2e, 0xd3, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0x83, 0x3c, 0x64, 0x9d,\n\t0x58, 0x90, 0xb9, 0x88, 0x89, 0xc5, 0xdd, 0x31, 0xc0, 0x33, 0x89, 0x0d, 0xac, 0xc0, 0x18, 0x10,\n\t0x00, 0x00, 0xff, 0xff, 0xa0, 0x95, 0x20, 0xe5, 0x46, 0x01, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/google.golang.org/genproto/googleapis/iam/v1/iam_policy.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/iam/v1/iam_policy.proto\n\n/*\nPackage iam is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle/iam/v1/iam_policy.proto\n\tgoogle/iam/v1/policy.proto\n\nIt has these top-level messages:\n\tSetIamPolicyRequest\n\tGetIamPolicyRequest\n\tTestIamPermissionsRequest\n\tTestIamPermissionsResponse\n\tPolicy\n\tBinding\n\tPolicyDelta\n\tBindingDelta\n*/\npackage iam\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"google.golang.org/genproto/googleapis/api/annotations\"\n\nimport (\n\tcontext \"golang.org/x/net/context\"\n\tgrpc \"google.golang.org/grpc\"\n)\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\n// Request message for `SetIamPolicy` method.\ntype SetIamPolicyRequest struct {\n\t// REQUIRED: The resource for which the policy is being specified.\n\t// `resource` is usually specified as a path. For example, a Project\n\t// resource is specified as `projects/{project}`.\n\tResource string `protobuf:\"bytes,1,opt,name=resource\" json:\"resource,omitempty\"`\n\t// REQUIRED: The complete policy to be applied to the `resource`. The size of\n\t// the policy is limited to a few 10s of KB. An empty policy is a\n\t// valid policy but certain Cloud Platform services (such as Projects)\n\t// might reject them.\n\tPolicy *Policy `protobuf:\"bytes,2,opt,name=policy\" json:\"policy,omitempty\"`\n}\n\nfunc (m *SetIamPolicyRequest) Reset()                    { *m = SetIamPolicyRequest{} }\nfunc (m *SetIamPolicyRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*SetIamPolicyRequest) ProtoMessage()               {}\nfunc (*SetIamPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }\n\nfunc (m *SetIamPolicyRequest) GetResource() string {\n\tif m != nil {\n\t\treturn m.Resource\n\t}\n\treturn \"\"\n}\n\nfunc (m *SetIamPolicyRequest) GetPolicy() *Policy {\n\tif m != nil {\n\t\treturn m.Policy\n\t}\n\treturn nil\n}\n\n// Request message for `GetIamPolicy` method.\ntype GetIamPolicyRequest struct {\n\t// REQUIRED: The resource for which the policy is being requested.\n\t// `resource` is usually specified as a path. For example, a Project\n\t// resource is specified as `projects/{project}`.\n\tResource string `protobuf:\"bytes,1,opt,name=resource\" json:\"resource,omitempty\"`\n}\n\nfunc (m *GetIamPolicyRequest) Reset()                    { *m = GetIamPolicyRequest{} }\nfunc (m *GetIamPolicyRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*GetIamPolicyRequest) ProtoMessage()               {}\nfunc (*GetIamPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }\n\nfunc (m *GetIamPolicyRequest) GetResource() string {\n\tif m != nil {\n\t\treturn m.Resource\n\t}\n\treturn \"\"\n}\n\n// Request message for `TestIamPermissions` method.\ntype TestIamPermissionsRequest struct {\n\t// REQUIRED: The resource for which the policy detail is being requested.\n\t// `resource` is usually specified as a path. For example, a Project\n\t// resource is specified as `projects/{project}`.\n\tResource string `protobuf:\"bytes,1,opt,name=resource\" json:\"resource,omitempty\"`\n\t// The set of permissions to check for the `resource`. Permissions with\n\t// wildcards (such as '*' or 'storage.*') are not allowed. For more\n\t// information see\n\t// [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).\n\tPermissions []string `protobuf:\"bytes,2,rep,name=permissions\" json:\"permissions,omitempty\"`\n}\n\nfunc (m *TestIamPermissionsRequest) Reset()                    { *m = TestIamPermissionsRequest{} }\nfunc (m *TestIamPermissionsRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*TestIamPermissionsRequest) ProtoMessage()               {}\nfunc (*TestIamPermissionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }\n\nfunc (m *TestIamPermissionsRequest) GetResource() string {\n\tif m != nil {\n\t\treturn m.Resource\n\t}\n\treturn \"\"\n}\n\nfunc (m *TestIamPermissionsRequest) GetPermissions() []string {\n\tif m != nil {\n\t\treturn m.Permissions\n\t}\n\treturn nil\n}\n\n// Response message for `TestIamPermissions` method.\ntype TestIamPermissionsResponse struct {\n\t// A subset of `TestPermissionsRequest.permissions` that the caller is\n\t// allowed.\n\tPermissions []string `protobuf:\"bytes,1,rep,name=permissions\" json:\"permissions,omitempty\"`\n}\n\nfunc (m *TestIamPermissionsResponse) Reset()                    { *m = TestIamPermissionsResponse{} }\nfunc (m *TestIamPermissionsResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*TestIamPermissionsResponse) ProtoMessage()               {}\nfunc (*TestIamPermissionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }\n\nfunc (m *TestIamPermissionsResponse) GetPermissions() []string {\n\tif m != nil {\n\t\treturn m.Permissions\n\t}\n\treturn nil\n}\n\nfunc init() {\n\tproto.RegisterType((*SetIamPolicyRequest)(nil), \"google.iam.v1.SetIamPolicyRequest\")\n\tproto.RegisterType((*GetIamPolicyRequest)(nil), \"google.iam.v1.GetIamPolicyRequest\")\n\tproto.RegisterType((*TestIamPermissionsRequest)(nil), \"google.iam.v1.TestIamPermissionsRequest\")\n\tproto.RegisterType((*TestIamPermissionsResponse)(nil), \"google.iam.v1.TestIamPermissionsResponse\")\n}\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ context.Context\nvar _ grpc.ClientConn\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the grpc package it is being compiled against.\nconst _ = grpc.SupportPackageIsVersion4\n\n// Client API for IAMPolicy service\n\ntype IAMPolicyClient interface {\n\t// Sets the access control policy on the specified resource. Replaces any\n\t// existing policy.\n\tSetIamPolicy(ctx context.Context, in *SetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)\n\t// Gets the access control policy for a resource.\n\t// Returns an empty policy if the resource exists and does not have a policy\n\t// set.\n\tGetIamPolicy(ctx context.Context, in *GetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)\n\t// Returns permissions that a caller has on the specified resource.\n\t// If the resource does not exist, this will return an empty set of\n\t// permissions, not a NOT_FOUND error.\n\tTestIamPermissions(ctx context.Context, in *TestIamPermissionsRequest, opts ...grpc.CallOption) (*TestIamPermissionsResponse, error)\n}\n\ntype iAMPolicyClient struct {\n\tcc *grpc.ClientConn\n}\n\nfunc NewIAMPolicyClient(cc *grpc.ClientConn) IAMPolicyClient {\n\treturn &iAMPolicyClient{cc}\n}\n\nfunc (c *iAMPolicyClient) SetIamPolicy(ctx context.Context, in *SetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error) {\n\tout := new(Policy)\n\terr := grpc.Invoke(ctx, \"/google.iam.v1.IAMPolicy/SetIamPolicy\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *iAMPolicyClient) GetIamPolicy(ctx context.Context, in *GetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error) {\n\tout := new(Policy)\n\terr := grpc.Invoke(ctx, \"/google.iam.v1.IAMPolicy/GetIamPolicy\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *iAMPolicyClient) TestIamPermissions(ctx context.Context, in *TestIamPermissionsRequest, opts ...grpc.CallOption) (*TestIamPermissionsResponse, error) {\n\tout := new(TestIamPermissionsResponse)\n\terr := grpc.Invoke(ctx, \"/google.iam.v1.IAMPolicy/TestIamPermissions\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Server API for IAMPolicy service\n\ntype IAMPolicyServer interface {\n\t// Sets the access control policy on the specified resource. Replaces any\n\t// existing policy.\n\tSetIamPolicy(context.Context, *SetIamPolicyRequest) (*Policy, error)\n\t// Gets the access control policy for a resource.\n\t// Returns an empty policy if the resource exists and does not have a policy\n\t// set.\n\tGetIamPolicy(context.Context, *GetIamPolicyRequest) (*Policy, error)\n\t// Returns permissions that a caller has on the specified resource.\n\t// If the resource does not exist, this will return an empty set of\n\t// permissions, not a NOT_FOUND error.\n\tTestIamPermissions(context.Context, *TestIamPermissionsRequest) (*TestIamPermissionsResponse, error)\n}\n\nfunc RegisterIAMPolicyServer(s *grpc.Server, srv IAMPolicyServer) {\n\ts.RegisterService(&_IAMPolicy_serviceDesc, srv)\n}\n\nfunc _IAMPolicy_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(SetIamPolicyRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(IAMPolicyServer).SetIamPolicy(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/google.iam.v1.IAMPolicy/SetIamPolicy\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(IAMPolicyServer).SetIamPolicy(ctx, req.(*SetIamPolicyRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _IAMPolicy_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(GetIamPolicyRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(IAMPolicyServer).GetIamPolicy(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/google.iam.v1.IAMPolicy/GetIamPolicy\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(IAMPolicyServer).GetIamPolicy(ctx, req.(*GetIamPolicyRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _IAMPolicy_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(TestIamPermissionsRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(IAMPolicyServer).TestIamPermissions(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/google.iam.v1.IAMPolicy/TestIamPermissions\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(IAMPolicyServer).TestIamPermissions(ctx, req.(*TestIamPermissionsRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nvar _IAMPolicy_serviceDesc = grpc.ServiceDesc{\n\tServiceName: \"google.iam.v1.IAMPolicy\",\n\tHandlerType: (*IAMPolicyServer)(nil),\n\tMethods: []grpc.MethodDesc{\n\t\t{\n\t\t\tMethodName: \"SetIamPolicy\",\n\t\t\tHandler:    _IAMPolicy_SetIamPolicy_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"GetIamPolicy\",\n\t\t\tHandler:    _IAMPolicy_GetIamPolicy_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"TestIamPermissions\",\n\t\t\tHandler:    _IAMPolicy_TestIamPermissions_Handler,\n\t\t},\n\t},\n\tStreams:  []grpc.StreamDesc{},\n\tMetadata: \"google/iam/v1/iam_policy.proto\",\n}\n\nfunc init() { proto.RegisterFile(\"google/iam/v1/iam_policy.proto\", fileDescriptor0) }\n\nvar fileDescriptor0 = []byte{\n\t// 411 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f,\n\t0xcf, 0x49, 0xd5, 0xcf, 0x4c, 0xcc, 0xd5, 0x2f, 0x33, 0x04, 0x51, 0xf1, 0x05, 0xf9, 0x39, 0x99,\n\t0xc9, 0x95, 0x7a, 0x05, 0x45, 0xf9, 0x25, 0xf9, 0x42, 0xbc, 0x10, 0x79, 0xbd, 0xcc, 0xc4, 0x5c,\n\t0xbd, 0x32, 0x43, 0x29, 0x19, 0xa8, 0xf2, 0xc4, 0x82, 0x4c, 0xfd, 0xc4, 0xbc, 0xbc, 0xfc, 0x92,\n\t0xc4, 0x92, 0xcc, 0xfc, 0xbc, 0x62, 0x88, 0x62, 0x29, 0x29, 0x54, 0xc3, 0x90, 0x0d, 0x52, 0x4a,\n\t0xe0, 0x12, 0x0e, 0x4e, 0x2d, 0xf1, 0x4c, 0xcc, 0x0d, 0x00, 0x8b, 0x06, 0xa5, 0x16, 0x96, 0xa6,\n\t0x16, 0x97, 0x08, 0x49, 0x71, 0x71, 0x14, 0xa5, 0x16, 0xe7, 0x97, 0x16, 0x25, 0xa7, 0x4a, 0x30,\n\t0x2a, 0x30, 0x6a, 0x70, 0x06, 0xc1, 0xf9, 0x42, 0xba, 0x5c, 0x6c, 0x10, 0x23, 0x24, 0x98, 0x14,\n\t0x18, 0x35, 0xb8, 0x8d, 0x44, 0xf5, 0x50, 0x1c, 0xa3, 0x07, 0x35, 0x09, 0xaa, 0x48, 0xc9, 0x90,\n\t0x4b, 0xd8, 0x9d, 0x34, 0x1b, 0x94, 0x22, 0xb9, 0x24, 0x43, 0x52, 0x8b, 0xc1, 0x7a, 0x52, 0x8b,\n\t0x72, 0x33, 0x8b, 0x8b, 0x41, 0x9e, 0x21, 0xc6, 0x69, 0x0a, 0x5c, 0xdc, 0x05, 0x08, 0x1d, 0x12,\n\t0x4c, 0x0a, 0xcc, 0x1a, 0x9c, 0x41, 0xc8, 0x42, 0x4a, 0x76, 0x5c, 0x52, 0xd8, 0x8c, 0x2e, 0x2e,\n\t0xc8, 0xcf, 0x2b, 0xc6, 0xd0, 0xcf, 0x88, 0xa1, 0xdf, 0x68, 0x0a, 0x33, 0x17, 0xa7, 0xa7, 0xa3,\n\t0x2f, 0xc4, 0x2f, 0x42, 0x25, 0x5c, 0x3c, 0xc8, 0xa1, 0x27, 0xa4, 0x84, 0x16, 0x14, 0x58, 0x82,\n\t0x56, 0x0a, 0x7b, 0x70, 0x29, 0x69, 0x36, 0x5d, 0x7e, 0x32, 0x99, 0x49, 0x59, 0x49, 0x0e, 0x14,\n\t0x45, 0xd5, 0x30, 0x1f, 0xd9, 0x6a, 0x69, 0xd5, 0x5a, 0x15, 0x23, 0x99, 0x62, 0xc5, 0xa8, 0x05,\n\t0xb2, 0xd5, 0x1d, 0x9f, 0xad, 0xee, 0x54, 0xb1, 0x35, 0x1d, 0xcd, 0xd6, 0x59, 0x8c, 0x5c, 0x42,\n\t0x98, 0x41, 0x27, 0xa4, 0x81, 0x66, 0x30, 0xce, 0x88, 0x93, 0xd2, 0x24, 0x42, 0x25, 0x24, 0x1e,\n\t0x94, 0xf4, 0xc1, 0xce, 0xd2, 0x54, 0x52, 0xc1, 0x74, 0x56, 0x09, 0x86, 0x2e, 0x2b, 0x46, 0x2d,\n\t0xa7, 0x36, 0x46, 0x2e, 0xc1, 0xe4, 0xfc, 0x5c, 0x54, 0x1b, 0x9c, 0xf8, 0xe0, 0x1e, 0x08, 0x00,\n\t0x25, 0xf6, 0x00, 0xc6, 0x28, 0x03, 0xa8, 0x82, 0xf4, 0xfc, 0x9c, 0xc4, 0xbc, 0x74, 0xbd, 0xfc,\n\t0xa2, 0x74, 0xfd, 0xf4, 0xd4, 0x3c, 0x70, 0x56, 0xd0, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0x43,\n\t0x73, 0x8a, 0x75, 0x66, 0x62, 0xee, 0x0f, 0x46, 0xc6, 0x55, 0x4c, 0xc2, 0xee, 0x10, 0x5d, 0xce,\n\t0x39, 0xf9, 0xa5, 0x29, 0x7a, 0x9e, 0x89, 0xb9, 0x7a, 0x61, 0x86, 0xa7, 0x60, 0xa2, 0x31, 0x60,\n\t0xd1, 0x18, 0xcf, 0xc4, 0xdc, 0x98, 0x30, 0xc3, 0x24, 0x36, 0xb0, 0x59, 0xc6, 0x80, 0x00, 0x00,\n\t0x00, 0xff, 0xff, 0xea, 0x62, 0x8f, 0x22, 0xc1, 0x03, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/google.golang.org/genproto/googleapis/iam/v1/policy.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/iam/v1/policy.proto\n\npackage iam\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"google.golang.org/genproto/googleapis/api/annotations\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// The type of action performed on a Binding in a policy.\ntype BindingDelta_Action int32\n\nconst (\n\t// Unspecified.\n\tBindingDelta_ACTION_UNSPECIFIED BindingDelta_Action = 0\n\t// Addition of a Binding.\n\tBindingDelta_ADD BindingDelta_Action = 1\n\t// Removal of a Binding.\n\tBindingDelta_REMOVE BindingDelta_Action = 2\n)\n\nvar BindingDelta_Action_name = map[int32]string{\n\t0: \"ACTION_UNSPECIFIED\",\n\t1: \"ADD\",\n\t2: \"REMOVE\",\n}\nvar BindingDelta_Action_value = map[string]int32{\n\t\"ACTION_UNSPECIFIED\": 0,\n\t\"ADD\":                1,\n\t\"REMOVE\":             2,\n}\n\nfunc (x BindingDelta_Action) String() string {\n\treturn proto.EnumName(BindingDelta_Action_name, int32(x))\n}\nfunc (BindingDelta_Action) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{3, 0} }\n\n// Defines an Identity and Access Management (IAM) policy. It is used to\n// specify access control policies for Cloud Platform resources.\n//\n//\n// A `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n// `members` to a `role`, where the members can be user accounts, Google groups,\n// Google domains, and service accounts. A `role` is a named list of permissions\n// defined by IAM.\n//\n// **Example**\n//\n//     {\n//       \"bindings\": [\n//         {\n//           \"role\": \"roles/owner\",\n//           \"members\": [\n//             \"user:mike@example.com\",\n//             \"group:admins@example.com\",\n//             \"domain:google.com\",\n//             \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n//           ]\n//         },\n//         {\n//           \"role\": \"roles/viewer\",\n//           \"members\": [\"user:sean@example.com\"]\n//         }\n//       ]\n//     }\n//\n// For a description of IAM and its features, see the\n// [IAM developer's guide](https://cloud.google.com/iam).\ntype Policy struct {\n\t// Version of the `Policy`. The default version is 0.\n\tVersion int32 `protobuf:\"varint,1,opt,name=version\" json:\"version,omitempty\"`\n\t// Associates a list of `members` to a `role`.\n\t// Multiple `bindings` must not be specified for the same `role`.\n\t// `bindings` with no members will result in an error.\n\tBindings []*Binding `protobuf:\"bytes,4,rep,name=bindings\" json:\"bindings,omitempty\"`\n\t// `etag` is used for optimistic concurrency control as a way to help\n\t// prevent simultaneous updates of a policy from overwriting each other.\n\t// It is strongly suggested that systems make use of the `etag` in the\n\t// read-modify-write cycle to perform policy updates in order to avoid race\n\t// conditions: An `etag` is returned in the response to `getIamPolicy`, and\n\t// systems are expected to put that etag in the request to `setIamPolicy` to\n\t// ensure that their change will be applied to the same version of the policy.\n\t//\n\t// If no `etag` is provided in the call to `setIamPolicy`, then the existing\n\t// policy is overwritten blindly.\n\tEtag []byte `protobuf:\"bytes,3,opt,name=etag,proto3\" json:\"etag,omitempty\"`\n}\n\nfunc (m *Policy) Reset()                    { *m = Policy{} }\nfunc (m *Policy) String() string            { return proto.CompactTextString(m) }\nfunc (*Policy) ProtoMessage()               {}\nfunc (*Policy) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }\n\nfunc (m *Policy) GetVersion() int32 {\n\tif m != nil {\n\t\treturn m.Version\n\t}\n\treturn 0\n}\n\nfunc (m *Policy) GetBindings() []*Binding {\n\tif m != nil {\n\t\treturn m.Bindings\n\t}\n\treturn nil\n}\n\nfunc (m *Policy) GetEtag() []byte {\n\tif m != nil {\n\t\treturn m.Etag\n\t}\n\treturn nil\n}\n\n// Associates `members` with a `role`.\ntype Binding struct {\n\t// Role that is assigned to `members`.\n\t// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.\n\t// Required\n\tRole string `protobuf:\"bytes,1,opt,name=role\" json:\"role,omitempty\"`\n\t// Specifies the identities requesting access for a Cloud Platform resource.\n\t// `members` can have the following values:\n\t//\n\t// * `allUsers`: A special identifier that represents anyone who is\n\t//    on the internet; with or without a Google account.\n\t//\n\t// * `allAuthenticatedUsers`: A special identifier that represents anyone\n\t//    who is authenticated with a Google account or a service account.\n\t//\n\t// * `user:{emailid}`: An email address that represents a specific Google\n\t//    account. For example, `alice@gmail.com` or `joe@example.com`.\n\t//\n\t//\n\t// * `serviceAccount:{emailid}`: An email address that represents a service\n\t//    account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\t//\n\t// * `group:{emailid}`: An email address that represents a Google group.\n\t//    For example, `admins@example.com`.\n\t//\n\t// * `domain:{domain}`: A Google Apps domain name that represents all the\n\t//    users of that domain. For example, `google.com` or `example.com`.\n\t//\n\t//\n\tMembers []string `protobuf:\"bytes,2,rep,name=members\" json:\"members,omitempty\"`\n}\n\nfunc (m *Binding) Reset()                    { *m = Binding{} }\nfunc (m *Binding) String() string            { return proto.CompactTextString(m) }\nfunc (*Binding) ProtoMessage()               {}\nfunc (*Binding) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }\n\nfunc (m *Binding) GetRole() string {\n\tif m != nil {\n\t\treturn m.Role\n\t}\n\treturn \"\"\n}\n\nfunc (m *Binding) GetMembers() []string {\n\tif m != nil {\n\t\treturn m.Members\n\t}\n\treturn nil\n}\n\n// The difference delta between two policies.\ntype PolicyDelta struct {\n\t// The delta for Bindings between two policies.\n\tBindingDeltas []*BindingDelta `protobuf:\"bytes,1,rep,name=binding_deltas,json=bindingDeltas\" json:\"binding_deltas,omitempty\"`\n}\n\nfunc (m *PolicyDelta) Reset()                    { *m = PolicyDelta{} }\nfunc (m *PolicyDelta) String() string            { return proto.CompactTextString(m) }\nfunc (*PolicyDelta) ProtoMessage()               {}\nfunc (*PolicyDelta) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }\n\nfunc (m *PolicyDelta) GetBindingDeltas() []*BindingDelta {\n\tif m != nil {\n\t\treturn m.BindingDeltas\n\t}\n\treturn nil\n}\n\n// One delta entry for Binding. Each individual change (only one member in each\n// entry) to a binding will be a separate entry.\ntype BindingDelta struct {\n\t// The action that was performed on a Binding.\n\t// Required\n\tAction BindingDelta_Action `protobuf:\"varint,1,opt,name=action,enum=google.iam.v1.BindingDelta_Action\" json:\"action,omitempty\"`\n\t// Role that is assigned to `members`.\n\t// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.\n\t// Required\n\tRole string `protobuf:\"bytes,2,opt,name=role\" json:\"role,omitempty\"`\n\t// A single identity requesting access for a Cloud Platform resource.\n\t// Follows the same format of Binding.members.\n\t// Required\n\tMember string `protobuf:\"bytes,3,opt,name=member\" json:\"member,omitempty\"`\n}\n\nfunc (m *BindingDelta) Reset()                    { *m = BindingDelta{} }\nfunc (m *BindingDelta) String() string            { return proto.CompactTextString(m) }\nfunc (*BindingDelta) ProtoMessage()               {}\nfunc (*BindingDelta) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }\n\nfunc (m *BindingDelta) GetAction() BindingDelta_Action {\n\tif m != nil {\n\t\treturn m.Action\n\t}\n\treturn BindingDelta_ACTION_UNSPECIFIED\n}\n\nfunc (m *BindingDelta) GetRole() string {\n\tif m != nil {\n\t\treturn m.Role\n\t}\n\treturn \"\"\n}\n\nfunc (m *BindingDelta) GetMember() string {\n\tif m != nil {\n\t\treturn m.Member\n\t}\n\treturn \"\"\n}\n\nfunc init() {\n\tproto.RegisterType((*Policy)(nil), \"google.iam.v1.Policy\")\n\tproto.RegisterType((*Binding)(nil), \"google.iam.v1.Binding\")\n\tproto.RegisterType((*PolicyDelta)(nil), \"google.iam.v1.PolicyDelta\")\n\tproto.RegisterType((*BindingDelta)(nil), \"google.iam.v1.BindingDelta\")\n\tproto.RegisterEnum(\"google.iam.v1.BindingDelta_Action\", BindingDelta_Action_name, BindingDelta_Action_value)\n}\n\nfunc init() { proto.RegisterFile(\"google/iam/v1/policy.proto\", fileDescriptor1) }\n\nvar fileDescriptor1 = []byte{\n\t// 403 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0x4d, 0xab, 0x13, 0x31,\n\t0x14, 0x35, 0xed, 0x73, 0x6a, 0xef, 0xfb, 0xa0, 0x46, 0x28, 0xc3, 0xd3, 0x45, 0x99, 0x55, 0x57,\n\t0x19, 0x5b, 0x11, 0x41, 0x57, 0xfd, 0x18, 0x65, 0x16, 0xbe, 0x37, 0x46, 0xed, 0x42, 0x0a, 0x8f,\n\t0x4c, 0x1b, 0x42, 0x64, 0x92, 0x0c, 0x33, 0x63, 0xc1, 0xb5, 0xff, 0x46, 0xf0, 0x8f, 0xf8, 0x8b,\n\t0x5c, 0xca, 0x24, 0x99, 0x47, 0x0b, 0xe2, 0x2e, 0xe7, 0x9e, 0x73, 0x72, 0xcf, 0xcd, 0x0d, 0x5c,\n\t0x0b, 0x63, 0x44, 0xc1, 0x63, 0xc9, 0x54, 0x7c, 0x98, 0xc5, 0xa5, 0x29, 0xe4, 0xee, 0x3b, 0x29,\n\t0x2b, 0xd3, 0x18, 0x7c, 0xe9, 0x38, 0x22, 0x99, 0x22, 0x87, 0xd9, 0xf5, 0x33, 0x2f, 0x65, 0xa5,\n\t0x8c, 0x99, 0xd6, 0xa6, 0x61, 0x8d, 0x34, 0xba, 0x76, 0xe2, 0xe8, 0x2b, 0x04, 0x99, 0x35, 0xe3,\n\t0x10, 0x06, 0x07, 0x5e, 0xd5, 0xd2, 0xe8, 0x10, 0x4d, 0xd0, 0xf4, 0x21, 0xed, 0x20, 0x9e, 0xc3,\n\t0xa3, 0x5c, 0xea, 0xbd, 0xd4, 0xa2, 0x0e, 0xcf, 0x26, 0xfd, 0xe9, 0xf9, 0x7c, 0x4c, 0x4e, 0x7a,\n\t0x90, 0xa5, 0xa3, 0xe9, 0xbd, 0x0e, 0x63, 0x38, 0xe3, 0x0d, 0x13, 0x61, 0x7f, 0x82, 0xa6, 0x17,\n\t0xd4, 0x9e, 0xa3, 0x57, 0x30, 0xf0, 0xc2, 0x96, 0xae, 0x4c, 0xc1, 0x6d, 0xa7, 0x21, 0xb5, 0xe7,\n\t0x36, 0x80, 0xe2, 0x2a, 0xe7, 0x55, 0x1d, 0xf6, 0x26, 0xfd, 0xe9, 0x90, 0x76, 0x30, 0xfa, 0x00,\n\t0xe7, 0x2e, 0xe4, 0x9a, 0x17, 0x0d, 0xc3, 0x4b, 0xb8, 0xf2, 0x7d, 0xee, 0xf6, 0x6d, 0xa1, 0x0e,\n\t0x91, 0x4d, 0xf5, 0xf4, 0xdf, 0xa9, 0xac, 0x89, 0x5e, 0xe6, 0x47, 0xa8, 0x8e, 0x7e, 0x21, 0xb8,\n\t0x38, 0xe6, 0xf1, 0x6b, 0x08, 0xd8, 0xae, 0xe9, 0xa6, 0xbf, 0x9a, 0x47, 0xff, 0xb9, 0x8c, 0x2c,\n\t0xac, 0x92, 0x7a, 0xc7, 0xfd, 0x34, 0xbd, 0xa3, 0x69, 0xc6, 0x10, 0xb8, 0xf8, 0xf6, 0x09, 0x86,\n\t0xd4, 0xa3, 0xe8, 0x25, 0x04, 0xce, 0x8d, 0xc7, 0x80, 0x17, 0xab, 0x4f, 0xe9, 0xed, 0xcd, 0xdd,\n\t0xe7, 0x9b, 0x8f, 0x59, 0xb2, 0x4a, 0xdf, 0xa6, 0xc9, 0x7a, 0xf4, 0x00, 0x0f, 0xa0, 0xbf, 0x58,\n\t0xaf, 0x47, 0x08, 0x03, 0x04, 0x34, 0x79, 0x7f, 0xbb, 0x49, 0x46, 0xbd, 0xe5, 0x0f, 0x04, 0x8f,\n\t0x77, 0x46, 0x9d, 0x86, 0x5a, 0xfa, 0x67, 0xc9, 0xda, 0x55, 0x66, 0xe8, 0xcb, 0x73, 0xcf, 0x0a,\n\t0x53, 0x30, 0x2d, 0x88, 0xa9, 0x44, 0x2c, 0xb8, 0xb6, 0x8b, 0x8e, 0x1d, 0xc5, 0x4a, 0x59, 0xfb,\n\t0x4f, 0xf3, 0x46, 0x32, 0xf5, 0x07, 0xa1, 0x9f, 0xbd, 0x27, 0xef, 0x9c, 0x6b, 0x55, 0x98, 0x6f,\n\t0x7b, 0x92, 0x32, 0x45, 0x36, 0xb3, 0xdf, 0x5d, 0x75, 0x6b, 0xab, 0xdb, 0x94, 0xa9, 0xed, 0x66,\n\t0x96, 0x07, 0xf6, 0xae, 0x17, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x18, 0xca, 0xaa, 0x7f,\n\t0x02, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/rpc/status.proto\n\n/*\nPackage status is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgoogle/rpc/status.proto\n\nIt has these top-level messages:\n\tStatus\n*/\npackage status\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport google_protobuf \"github.com/golang/protobuf/ptypes/any\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\n// The `Status` type defines a logical error model that is suitable for different\n// programming environments, including REST APIs and RPC APIs. It is used by\n// [gRPC](https://github.com/grpc). The error model is designed to be:\n//\n// - Simple to use and understand for most users\n// - Flexible enough to meet unexpected needs\n//\n// # Overview\n//\n// The `Status` message contains three pieces of data: error code, error message,\n// and error details. The error code should be an enum value of\n// [google.rpc.Code][google.rpc.Code], but it may accept additional error codes if needed.  The\n// error message should be a developer-facing English message that helps\n// developers *understand* and *resolve* the error. If a localized user-facing\n// error message is needed, put the localized message in the error details or\n// localize it in the client. The optional error details may contain arbitrary\n// information about the error. There is a predefined set of error detail types\n// in the package `google.rpc` that can be used for common error conditions.\n//\n// # Language mapping\n//\n// The `Status` message is the logical representation of the error model, but it\n// is not necessarily the actual wire format. When the `Status` message is\n// exposed in different client libraries and different wire protocols, it can be\n// mapped differently. For example, it will likely be mapped to some exceptions\n// in Java, but more likely mapped to some error codes in C.\n//\n// # Other uses\n//\n// The error model and the `Status` message can be used in a variety of\n// environments, either with or without APIs, to provide a\n// consistent developer experience across different environments.\n//\n// Example uses of this error model include:\n//\n// - Partial errors. If a service needs to return partial errors to the client,\n//     it may embed the `Status` in the normal response to indicate the partial\n//     errors.\n//\n// - Workflow errors. A typical workflow has multiple steps. Each step may\n//     have a `Status` message for error reporting.\n//\n// - Batch operations. If a client uses batch request and batch response, the\n//     `Status` message should be used directly inside batch response, one for\n//     each error sub-response.\n//\n// - Asynchronous operations. If an API call embeds asynchronous operation\n//     results in its response, the status of those operations should be\n//     represented directly using the `Status` message.\n//\n// - Logging. If some API errors are stored in logs, the message `Status` could\n//     be used directly after any stripping needed for security/privacy reasons.\ntype Status struct {\n\t// The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].\n\tCode int32 `protobuf:\"varint,1,opt,name=code\" json:\"code,omitempty\"`\n\t// A developer-facing error message, which should be in English. Any\n\t// user-facing error message should be localized and sent in the\n\t// [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.\n\tMessage string `protobuf:\"bytes,2,opt,name=message\" json:\"message,omitempty\"`\n\t// A list of messages that carry the error details.  There is a common set of\n\t// message types for APIs to use.\n\tDetails []*google_protobuf.Any `protobuf:\"bytes,3,rep,name=details\" json:\"details,omitempty\"`\n}\n\nfunc (m *Status) Reset()                    { *m = Status{} }\nfunc (m *Status) String() string            { return proto.CompactTextString(m) }\nfunc (*Status) ProtoMessage()               {}\nfunc (*Status) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }\n\nfunc (m *Status) GetCode() int32 {\n\tif m != nil {\n\t\treturn m.Code\n\t}\n\treturn 0\n}\n\nfunc (m *Status) GetMessage() string {\n\tif m != nil {\n\t\treturn m.Message\n\t}\n\treturn \"\"\n}\n\nfunc (m *Status) GetDetails() []*google_protobuf.Any {\n\tif m != nil {\n\t\treturn m.Details\n\t}\n\treturn nil\n}\n\nfunc init() {\n\tproto.RegisterType((*Status)(nil), \"google.rpc.Status\")\n}\n\nfunc init() { proto.RegisterFile(\"google/rpc/status.proto\", fileDescriptor0) }\n\nvar fileDescriptor0 = []byte{\n\t// 209 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4f, 0xcf, 0xcf, 0x4f,\n\t0xcf, 0x49, 0xd5, 0x2f, 0x2a, 0x48, 0xd6, 0x2f, 0x2e, 0x49, 0x2c, 0x29, 0x2d, 0xd6, 0x2b, 0x28,\n\t0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0x48, 0xe8, 0x15, 0x15, 0x24, 0x4b, 0x49, 0x42, 0x15, 0x81,\n\t0x65, 0x92, 0x4a, 0xd3, 0xf4, 0x13, 0xf3, 0x2a, 0x21, 0xca, 0x94, 0xd2, 0xb8, 0xd8, 0x82, 0xc1,\n\t0xda, 0x84, 0x84, 0xb8, 0x58, 0x92, 0xf3, 0x53, 0x52, 0x25, 0x18, 0x15, 0x18, 0x35, 0x58, 0x83,\n\t0xc0, 0x6c, 0x21, 0x09, 0x2e, 0xf6, 0xdc, 0xd4, 0xe2, 0xe2, 0xc4, 0xf4, 0x54, 0x09, 0x26, 0x05,\n\t0x46, 0x0d, 0xce, 0x20, 0x18, 0x57, 0x48, 0x8f, 0x8b, 0x3d, 0x25, 0xb5, 0x24, 0x31, 0x33, 0xa7,\n\t0x58, 0x82, 0x59, 0x81, 0x59, 0x83, 0xdb, 0x48, 0x44, 0x0f, 0x6a, 0x21, 0xcc, 0x12, 0x3d, 0xc7,\n\t0xbc, 0xca, 0x20, 0x98, 0x22, 0xa7, 0x38, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x3d, 0x84, 0xa3, 0x9c,\n\t0xb8, 0x21, 0xf6, 0x06, 0x80, 0x94, 0x07, 0x30, 0x46, 0x99, 0x43, 0xa5, 0xd2, 0xf3, 0x73, 0x12,\n\t0xf3, 0xd2, 0xf5, 0xf2, 0x8b, 0xd2, 0xf5, 0xd3, 0x53, 0xf3, 0xc0, 0x86, 0xe9, 0x43, 0xa4, 0x12,\n\t0x0b, 0x32, 0x8b, 0x91, 0xfc, 0x69, 0x0d, 0xa1, 0x16, 0x31, 0x31, 0x07, 0x05, 0x38, 0x27, 0xb1,\n\t0x81, 0x55, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa4, 0x53, 0xf0, 0x7c, 0x10, 0x01, 0x00,\n\t0x00,\n}\n"
  },
  {
    "path": "vendor/google.golang.org/genproto/regen.go",
    "content": "// Copyright 2016 Google Inc.\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// +build ignore\n\n// Regen.go regenerates the genproto repository.\n//\n// Regen.go recursively walks through each directory named by given arguments,\n// looking for all .proto files. (Symlinks are not followed.)\n// If the pkg_prefix flag is not an empty string,\n// any proto file without `go_package` option\n// or whose option does not begin with the prefix is ignored.\n// Protoc is executed on remaining files,\n// one invocation per set of files declaring the same Go package.\npackage main\n\nimport (\n\t\"flag\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path/filepath\"\n\t\"regexp\"\n\t\"strconv\"\n\t\"strings\"\n)\n\nvar goPkgOptRe = regexp.MustCompile(`(?m)^option go_package = (.*);`)\n\nfunc usage() {\n\tfmt.Fprintln(os.Stderr, `usage: go run regen.go -go_out=path/to/output [-pkg_prefix=pkg/prefix] roots...\n\nMost users will not need to run this file directly.\nTo regenerate this repository, run regen.sh instead.`)\n\tflag.PrintDefaults()\n}\n\nfunc main() {\n\tgoOutDir := flag.String(\"go_out\", \"\", \"go_out argument to pass to protoc-gen-go\")\n\tpkgPrefix := flag.String(\"pkg_prefix\", \"\", \"only include proto files with go_package starting with this prefix\")\n\tflag.Usage = usage\n\tflag.Parse()\n\n\tif *goOutDir == \"\" {\n\t\tlog.Fatal(\"need go_out flag\")\n\t}\n\n\tpkgFiles := make(map[string][]string)\n\twalkFn := func(path string, info os.FileInfo, err error) error {\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !info.Mode().IsRegular() || !strings.HasSuffix(path, \".proto\") {\n\t\t\treturn nil\n\t\t}\n\t\tpkg, err := goPkg(path)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpkgFiles[pkg] = append(pkgFiles[pkg], path)\n\t\treturn nil\n\t}\n\tfor _, root := range flag.Args() {\n\t\tif err := filepath.Walk(root, walkFn); err != nil {\n\t\t\tlog.Fatal(err)\n\t\t}\n\t}\n\tfor pkg, fnames := range pkgFiles {\n\t\tif !strings.HasPrefix(pkg, *pkgPrefix) {\n\t\t\tcontinue\n\t\t}\n\t\tif out, err := protoc(*goOutDir, flag.Args(), fnames); err != nil {\n\t\t\tlog.Fatalf(\"error executing protoc: %s\\n%s\", err, out)\n\t\t}\n\t}\n}\n\n// goPkg reports the import path declared in the given file's\n// `go_package` option. If the option is missing, goPkg returns empty string.\nfunc goPkg(fname string) (string, error) {\n\tcontent, err := ioutil.ReadFile(fname)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\n\tvar pkgName string\n\tif match := goPkgOptRe.FindSubmatch(content); len(match) > 0 {\n\t\tpn, err := strconv.Unquote(string(match[1]))\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t\tpkgName = pn\n\t}\n\tif p := strings.IndexRune(pkgName, ';'); p > 0 {\n\t\tpkgName = pkgName[:p]\n\t}\n\treturn pkgName, nil\n}\n\n// protoc executes the \"protoc\" command on files named in fnames,\n// passing go_out and include flags specified in goOut and includes respectively.\n// protoc returns combined output from stdout and stderr.\nfunc protoc(goOut string, includes, fnames []string) ([]byte, error) {\n\targs := []string{\"--go_out=plugins=grpc:\" + goOut}\n\tfor _, inc := range includes {\n\t\targs = append(args, \"-I\", inc)\n\t}\n\targs = append(args, fnames...)\n\treturn exec.Command(\"protoc\", args...).CombinedOutput()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/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": "vendor/google.golang.org/grpc/backoff.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"math/rand\"\n\t\"time\"\n)\n\n// DefaultBackoffConfig uses values specified for backoff in\n// https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md.\nvar (\n\tDefaultBackoffConfig = BackoffConfig{\n\t\tMaxDelay:  120 * time.Second,\n\t\tbaseDelay: 1.0 * time.Second,\n\t\tfactor:    1.6,\n\t\tjitter:    0.2,\n\t}\n)\n\n// backoffStrategy defines the methodology for backing off after a grpc\n// connection failure.\n//\n// This is unexported until the gRPC project decides whether or not to allow\n// alternative backoff strategies. Once a decision is made, this type and its\n// method may be exported.\ntype backoffStrategy interface {\n\t// backoff returns the amount of time to wait before the next retry given\n\t// the number of consecutive failures.\n\tbackoff(retries int) time.Duration\n}\n\n// BackoffConfig defines the parameters for the default gRPC backoff strategy.\ntype BackoffConfig struct {\n\t// MaxDelay is the upper bound of backoff delay.\n\tMaxDelay time.Duration\n\n\t// TODO(stevvooe): The following fields are not exported, as allowing\n\t// changes would violate the current gRPC specification for backoff. If\n\t// gRPC decides to allow more interesting backoff strategies, these fields\n\t// may be opened up in the future.\n\n\t// baseDelay is the amount of time to wait before retrying after the first\n\t// failure.\n\tbaseDelay time.Duration\n\n\t// factor is applied to the backoff after each retry.\n\tfactor float64\n\n\t// jitter provides a range to randomize backoff delays.\n\tjitter float64\n}\n\nfunc setDefaults(bc *BackoffConfig) {\n\tmd := bc.MaxDelay\n\t*bc = DefaultBackoffConfig\n\n\tif md > 0 {\n\t\tbc.MaxDelay = md\n\t}\n}\n\nfunc (bc BackoffConfig) backoff(retries int) time.Duration {\n\tif retries == 0 {\n\t\treturn bc.baseDelay\n\t}\n\tbackoff, max := float64(bc.baseDelay), float64(bc.MaxDelay)\n\tfor backoff < max && retries > 0 {\n\t\tbackoff *= bc.factor\n\t\tretries--\n\t}\n\tif backoff > max {\n\t\tbackoff = max\n\t}\n\t// Randomize backoff delays so that if a cluster of requests start at\n\t// the same time, they won't operate in lockstep.\n\tbackoff *= 1 + bc.jitter*(rand.Float64()*2-1)\n\tif backoff < 0 {\n\t\treturn 0\n\t}\n\treturn time.Duration(backoff)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/balancer/balancer.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\n// Package balancer defines APIs for load balancing in gRPC.\n// All APIs in this package are experimental.\npackage balancer\n\nimport (\n\t\"errors\"\n\t\"net\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/connectivity\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\nvar (\n\t// m is a map from name to balancer builder.\n\tm = make(map[string]Builder)\n\t// defaultBuilder is the default balancer to use.\n\tdefaultBuilder Builder // TODO(bar) install pickfirst as default.\n)\n\n// Register registers the balancer builder to the balancer map.\n// b.Name will be used as the name registered with this builder.\nfunc Register(b Builder) {\n\tm[b.Name()] = b\n}\n\n// Get returns the resolver builder registered with the given name.\n// If no builder is register with the name, the default pickfirst will\n// be used.\nfunc Get(name string) Builder {\n\tif b, ok := m[name]; ok {\n\t\treturn b\n\t}\n\treturn defaultBuilder\n}\n\n// SubConn represents a gRPC sub connection.\n// Each sub connection contains a list of addresses. gRPC will\n// try to connect to them (in sequence), and stop trying the\n// remainder once one connection is successful.\n//\n// The reconnect backoff will be applied on the list, not a single address.\n// For example, try_on_all_addresses -> backoff -> try_on_all_addresses.\n//\n// All SubConns start in IDLE, and will not try to connect. To trigger\n// the connecting, Balancers must call Connect.\n// When the connection encounters an error, it will reconnect immediately.\n// When the connection becomes IDLE, it will not reconnect unless Connect is\n// called.\ntype SubConn interface {\n\t// UpdateAddresses updates the addresses used in this SubConn.\n\t// gRPC checks if currently-connected address is still in the new list.\n\t// If it's in the list, the connection will be kept.\n\t// If it's not in the list, the connection will gracefully closed, and\n\t// a new connection will be created.\n\t//\n\t// This will trigger a state transition for the SubConn.\n\tUpdateAddresses([]resolver.Address)\n\t// Connect starts the connecting for this SubConn.\n\tConnect()\n}\n\n// NewSubConnOptions contains options to create new SubConn.\ntype NewSubConnOptions struct{}\n\n// ClientConn represents a gRPC ClientConn.\ntype ClientConn interface {\n\t// NewSubConn is called by balancer to create a new SubConn.\n\t// It doesn't block and wait for the connections to be established.\n\t// Behaviors of the SubConn can be controlled by options.\n\tNewSubConn([]resolver.Address, NewSubConnOptions) (SubConn, error)\n\t// RemoveSubConn removes the SubConn from ClientConn.\n\t// The SubConn will be shutdown.\n\tRemoveSubConn(SubConn)\n\n\t// UpdateBalancerState is called by balancer to nofity gRPC that some internal\n\t// state in balancer has changed.\n\t//\n\t// gRPC will update the connectivity state of the ClientConn, and will call pick\n\t// on the new picker to pick new SubConn.\n\tUpdateBalancerState(s connectivity.State, p Picker)\n\n\t// Target returns the dial target for this ClientConn.\n\tTarget() string\n}\n\n// BuildOptions contains additional information for Build.\ntype BuildOptions struct {\n\t// DialCreds is the transport credential the Balancer implementation can\n\t// use to dial to a remote load balancer server. The Balancer implementations\n\t// can ignore this if it does not need to talk to another party securely.\n\tDialCreds credentials.TransportCredentials\n\t// Dialer is the custom dialer the Balancer implementation can use to dial\n\t// to a remote load balancer server. The Balancer implementations\n\t// can ignore this if it doesn't need to talk to remote balancer.\n\tDialer func(context.Context, string) (net.Conn, error)\n}\n\n// Builder creates a balancer.\ntype Builder interface {\n\t// Build creates a new balancer with the ClientConn.\n\tBuild(cc ClientConn, opts BuildOptions) Balancer\n\t// Name returns the name of balancers built by this builder.\n\t// It will be used to pick balancers (for example in service config).\n\tName() string\n}\n\n// PickOptions contains addition information for the Pick operation.\ntype PickOptions struct{}\n\n// DoneInfo contains additional information for done.\ntype DoneInfo struct {\n\t// Err is the rpc error the RPC finished with. It could be nil.\n\tErr error\n}\n\nvar (\n\t// ErrNoSubConnAvailable indicates no SubConn is available for pick().\n\t// gRPC will block the RPC until a new picker is available via UpdateBalancerState().\n\tErrNoSubConnAvailable = errors.New(\"no SubConn is available\")\n\t// ErrTransientFailure indicates all SubConns are in TransientFailure.\n\t// WaitForReady RPCs will block, non-WaitForReady RPCs will fail.\n\tErrTransientFailure = errors.New(\"all SubConns are in TransientFailure\")\n)\n\n// Picker is used by gRPC to pick a SubConn to send an RPC.\n// Balancer is expected to generate a new picker from its snapshot everytime its\n// internal state has changed.\n//\n// The pickers used by gRPC can be updated by ClientConn.UpdateBalancerState().\ntype Picker interface {\n\t// Pick returns the SubConn to be used to send the RPC.\n\t// The returned SubConn must be one returned by NewSubConn().\n\t//\n\t// This functions is expected to return:\n\t// - a SubConn that is known to be READY;\n\t// - ErrNoSubConnAvailable if no SubConn is available, but progress is being\n\t//   made (for example, some SubConn is in CONNECTING mode);\n\t// - other errors if no active connecting is happening (for example, all SubConn\n\t//   are in TRANSIENT_FAILURE mode).\n\t//\n\t// If a SubConn is returned:\n\t// - If it is READY, gRPC will send the RPC on it;\n\t// - If it is not ready, or becomes not ready after it's returned, gRPC will block\n\t//   this call until a new picker is updated and will call pick on the new picker.\n\t//\n\t// If the returned error is not nil:\n\t// - If the error is ErrNoSubConnAvailable, gRPC will block until UpdateBalancerState()\n\t// - If the error is ErrTransientFailure:\n\t//   - If the RPC is wait-for-ready, gRPC will block until UpdateBalancerState()\n\t//     is called to pick again;\n\t//   - Otherwise, RPC will fail with unavailable error.\n\t// - Else (error is other non-nil error):\n\t//   - The RPC will fail with unavailable error.\n\t//\n\t// The returned done() function will be called once the rpc has finished, with the\n\t// final status of that RPC.\n\t// done may be nil if balancer doesn't care about the RPC status.\n\tPick(ctx context.Context, opts PickOptions) (conn SubConn, done func(DoneInfo), err error)\n}\n\n// Balancer takes input from gRPC, manages SubConns, and collects and aggregates\n// the connectivity states.\n//\n// It also generates and updates the Picker used by gRPC to pick SubConns for RPCs.\n//\n// HandleSubConnectionStateChange, HandleResolvedAddrs and Close are guaranteed\n// to be called synchronously from the same goroutine.\n// There's no guarantee on picker.Pick, it may be called anytime.\ntype Balancer interface {\n\t// HandleSubConnStateChange is called by gRPC when the connectivity state\n\t// of sc has changed.\n\t// Balancer is expected to aggregate all the state of SubConn and report\n\t// that back to gRPC.\n\t// Balancer should also generate and update Pickers when its internal state has\n\t// been changed by the new state.\n\tHandleSubConnStateChange(sc SubConn, state connectivity.State)\n\t// HandleResolvedAddrs is called by gRPC to send updated resolved addresses to\n\t// balancers.\n\t// Balancer can create new SubConn or remove SubConn with the addresses.\n\t// An empty address slice and a non-nil error will be passed if the resolver returns\n\t// non-nil error to gRPC.\n\tHandleResolvedAddrs([]resolver.Address, error)\n\t// Close closes the balancer. The balancer is not required to call\n\t// ClientConn.RemoveSubConn for its existing SubConns.\n\tClose()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/balancer.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"fmt\"\n\t\"net\"\n\t\"sync\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/naming\"\n)\n\n// Address represents a server the client connects to.\n// This is the EXPERIMENTAL API and may be changed or extended in the future.\ntype Address struct {\n\t// Addr is the server address on which a connection will be established.\n\tAddr string\n\t// Metadata is the information associated with Addr, which may be used\n\t// to make load balancing decision.\n\tMetadata interface{}\n}\n\n// BalancerConfig specifies the configurations for Balancer.\ntype BalancerConfig struct {\n\t// DialCreds is the transport credential the Balancer implementation can\n\t// use to dial to a remote load balancer server. The Balancer implementations\n\t// can ignore this if it does not need to talk to another party securely.\n\tDialCreds credentials.TransportCredentials\n\t// Dialer is the custom dialer the Balancer implementation can use to dial\n\t// to a remote load balancer server. The Balancer implementations\n\t// can ignore this if it doesn't need to talk to remote balancer.\n\tDialer func(context.Context, string) (net.Conn, error)\n}\n\n// BalancerGetOptions configures a Get call.\n// This is the EXPERIMENTAL API and may be changed or extended in the future.\ntype BalancerGetOptions struct {\n\t// BlockingWait specifies whether Get should block when there is no\n\t// connected address.\n\tBlockingWait bool\n}\n\n// Balancer chooses network addresses for RPCs.\n// This is the EXPERIMENTAL API and may be changed or extended in the future.\ntype Balancer interface {\n\t// Start does the initialization work to bootstrap a Balancer. For example,\n\t// this function may start the name resolution and watch the updates. It will\n\t// be called when dialing.\n\tStart(target string, config BalancerConfig) error\n\t// Up informs the Balancer that gRPC has a connection to the server at\n\t// addr. It returns down which is called once the connection to addr gets\n\t// lost or closed.\n\t// TODO: It is not clear how to construct and take advantage of the meaningful error\n\t// parameter for down. Need realistic demands to guide.\n\tUp(addr Address) (down func(error))\n\t// Get gets the address of a server for the RPC corresponding to ctx.\n\t// i) If it returns a connected address, gRPC internals issues the RPC on the\n\t// connection to this address;\n\t// ii) If it returns an address on which the connection is under construction\n\t// (initiated by Notify(...)) but not connected, gRPC internals\n\t//  * fails RPC if the RPC is fail-fast and connection is in the TransientFailure or\n\t//  Shutdown state;\n\t//  or\n\t//  * issues RPC on the connection otherwise.\n\t// iii) If it returns an address on which the connection does not exist, gRPC\n\t// internals treats it as an error and will fail the corresponding RPC.\n\t//\n\t// Therefore, the following is the recommended rule when writing a custom Balancer.\n\t// If opts.BlockingWait is true, it should return a connected address or\n\t// block if there is no connected address. It should respect the timeout or\n\t// cancellation of ctx when blocking. If opts.BlockingWait is false (for fail-fast\n\t// RPCs), it should return an address it has notified via Notify(...) immediately\n\t// instead of blocking.\n\t//\n\t// The function returns put which is called once the rpc has completed or failed.\n\t// put can collect and report RPC stats to a remote load balancer.\n\t//\n\t// This function should only return the errors Balancer cannot recover by itself.\n\t// gRPC internals will fail the RPC if an error is returned.\n\tGet(ctx context.Context, opts BalancerGetOptions) (addr Address, put func(), err error)\n\t// Notify returns a channel that is used by gRPC internals to watch the addresses\n\t// gRPC needs to connect. The addresses might be from a name resolver or remote\n\t// load balancer. gRPC internals will compare it with the existing connected\n\t// addresses. If the address Balancer notified is not in the existing connected\n\t// addresses, gRPC starts to connect the address. If an address in the existing\n\t// connected addresses is not in the notification list, the corresponding connection\n\t// is shutdown gracefully. Otherwise, there are no operations to take. Note that\n\t// the Address slice must be the full list of the Addresses which should be connected.\n\t// It is NOT delta.\n\tNotify() <-chan []Address\n\t// Close shuts down the balancer.\n\tClose() error\n}\n\n// downErr implements net.Error. It is constructed by gRPC internals and passed to the down\n// call of Balancer.\ntype downErr struct {\n\ttimeout   bool\n\ttemporary bool\n\tdesc      string\n}\n\nfunc (e downErr) Error() string   { return e.desc }\nfunc (e downErr) Timeout() bool   { return e.timeout }\nfunc (e downErr) Temporary() bool { return e.temporary }\n\nfunc downErrorf(timeout, temporary bool, format string, a ...interface{}) downErr {\n\treturn downErr{\n\t\ttimeout:   timeout,\n\t\ttemporary: temporary,\n\t\tdesc:      fmt.Sprintf(format, a...),\n\t}\n}\n\n// RoundRobin returns a Balancer that selects addresses round-robin. It uses r to watch\n// the name resolution updates and updates the addresses available correspondingly.\nfunc RoundRobin(r naming.Resolver) Balancer {\n\treturn &roundRobin{r: r}\n}\n\ntype addrInfo struct {\n\taddr      Address\n\tconnected bool\n}\n\ntype roundRobin struct {\n\tr      naming.Resolver\n\tw      naming.Watcher\n\taddrs  []*addrInfo // all the addresses the client should potentially connect\n\tmu     sync.Mutex\n\taddrCh chan []Address // the channel to notify gRPC internals the list of addresses the client should connect to.\n\tnext   int            // index of the next address to return for Get()\n\twaitCh chan struct{}  // the channel to block when there is no connected address available\n\tdone   bool           // The Balancer is closed.\n}\n\nfunc (rr *roundRobin) watchAddrUpdates() error {\n\tupdates, err := rr.w.Next()\n\tif err != nil {\n\t\tgrpclog.Warningf(\"grpc: the naming watcher stops working due to %v.\", err)\n\t\treturn err\n\t}\n\trr.mu.Lock()\n\tdefer rr.mu.Unlock()\n\tfor _, update := range updates {\n\t\taddr := Address{\n\t\t\tAddr:     update.Addr,\n\t\t\tMetadata: update.Metadata,\n\t\t}\n\t\tswitch update.Op {\n\t\tcase naming.Add:\n\t\t\tvar exist bool\n\t\t\tfor _, v := range rr.addrs {\n\t\t\t\tif addr == v.addr {\n\t\t\t\t\texist = true\n\t\t\t\t\tgrpclog.Infoln(\"grpc: The name resolver wanted to add an existing address: \", addr)\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif exist {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\trr.addrs = append(rr.addrs, &addrInfo{addr: addr})\n\t\tcase naming.Delete:\n\t\t\tfor i, v := range rr.addrs {\n\t\t\t\tif addr == v.addr {\n\t\t\t\t\tcopy(rr.addrs[i:], rr.addrs[i+1:])\n\t\t\t\t\trr.addrs = rr.addrs[:len(rr.addrs)-1]\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tgrpclog.Errorln(\"Unknown update.Op \", update.Op)\n\t\t}\n\t}\n\t// Make a copy of rr.addrs and write it onto rr.addrCh so that gRPC internals gets notified.\n\topen := make([]Address, len(rr.addrs))\n\tfor i, v := range rr.addrs {\n\t\topen[i] = v.addr\n\t}\n\tif rr.done {\n\t\treturn ErrClientConnClosing\n\t}\n\tselect {\n\tcase <-rr.addrCh:\n\tdefault:\n\t}\n\trr.addrCh <- open\n\treturn nil\n}\n\nfunc (rr *roundRobin) Start(target string, config BalancerConfig) error {\n\trr.mu.Lock()\n\tdefer rr.mu.Unlock()\n\tif rr.done {\n\t\treturn ErrClientConnClosing\n\t}\n\tif rr.r == nil {\n\t\t// If there is no name resolver installed, it is not needed to\n\t\t// do name resolution. In this case, target is added into rr.addrs\n\t\t// as the only address available and rr.addrCh stays nil.\n\t\trr.addrs = append(rr.addrs, &addrInfo{addr: Address{Addr: target}})\n\t\treturn nil\n\t}\n\tw, err := rr.r.Resolve(target)\n\tif err != nil {\n\t\treturn err\n\t}\n\trr.w = w\n\trr.addrCh = make(chan []Address, 1)\n\tgo func() {\n\t\tfor {\n\t\t\tif err := rr.watchAddrUpdates(); err != nil {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}()\n\treturn nil\n}\n\n// Up sets the connected state of addr and sends notification if there are pending\n// Get() calls.\nfunc (rr *roundRobin) Up(addr Address) func(error) {\n\trr.mu.Lock()\n\tdefer rr.mu.Unlock()\n\tvar cnt int\n\tfor _, a := range rr.addrs {\n\t\tif a.addr == addr {\n\t\t\tif a.connected {\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\ta.connected = true\n\t\t}\n\t\tif a.connected {\n\t\t\tcnt++\n\t\t}\n\t}\n\t// addr is only one which is connected. Notify the Get() callers who are blocking.\n\tif cnt == 1 && rr.waitCh != nil {\n\t\tclose(rr.waitCh)\n\t\trr.waitCh = nil\n\t}\n\treturn func(err error) {\n\t\trr.down(addr, err)\n\t}\n}\n\n// down unsets the connected state of addr.\nfunc (rr *roundRobin) down(addr Address, err error) {\n\trr.mu.Lock()\n\tdefer rr.mu.Unlock()\n\tfor _, a := range rr.addrs {\n\t\tif addr == a.addr {\n\t\t\ta.connected = false\n\t\t\tbreak\n\t\t}\n\t}\n}\n\n// Get returns the next addr in the rotation.\nfunc (rr *roundRobin) Get(ctx context.Context, opts BalancerGetOptions) (addr Address, put func(), err error) {\n\tvar ch chan struct{}\n\trr.mu.Lock()\n\tif rr.done {\n\t\trr.mu.Unlock()\n\t\terr = ErrClientConnClosing\n\t\treturn\n\t}\n\n\tif len(rr.addrs) > 0 {\n\t\tif rr.next >= len(rr.addrs) {\n\t\t\trr.next = 0\n\t\t}\n\t\tnext := rr.next\n\t\tfor {\n\t\t\ta := rr.addrs[next]\n\t\t\tnext = (next + 1) % len(rr.addrs)\n\t\t\tif a.connected {\n\t\t\t\taddr = a.addr\n\t\t\t\trr.next = next\n\t\t\t\trr.mu.Unlock()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif next == rr.next {\n\t\t\t\t// Has iterated all the possible address but none is connected.\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tif !opts.BlockingWait {\n\t\tif len(rr.addrs) == 0 {\n\t\t\trr.mu.Unlock()\n\t\t\terr = Errorf(codes.Unavailable, \"there is no address available\")\n\t\t\treturn\n\t\t}\n\t\t// Returns the next addr on rr.addrs for failfast RPCs.\n\t\taddr = rr.addrs[rr.next].addr\n\t\trr.next++\n\t\trr.mu.Unlock()\n\t\treturn\n\t}\n\t// Wait on rr.waitCh for non-failfast RPCs.\n\tif rr.waitCh == nil {\n\t\tch = make(chan struct{})\n\t\trr.waitCh = ch\n\t} else {\n\t\tch = rr.waitCh\n\t}\n\trr.mu.Unlock()\n\tfor {\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\terr = ctx.Err()\n\t\t\treturn\n\t\tcase <-ch:\n\t\t\trr.mu.Lock()\n\t\t\tif rr.done {\n\t\t\t\trr.mu.Unlock()\n\t\t\t\terr = ErrClientConnClosing\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif len(rr.addrs) > 0 {\n\t\t\t\tif rr.next >= len(rr.addrs) {\n\t\t\t\t\trr.next = 0\n\t\t\t\t}\n\t\t\t\tnext := rr.next\n\t\t\t\tfor {\n\t\t\t\t\ta := rr.addrs[next]\n\t\t\t\t\tnext = (next + 1) % len(rr.addrs)\n\t\t\t\t\tif a.connected {\n\t\t\t\t\t\taddr = a.addr\n\t\t\t\t\t\trr.next = next\n\t\t\t\t\t\trr.mu.Unlock()\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tif next == rr.next {\n\t\t\t\t\t\t// Has iterated all the possible address but none is connected.\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// The newly added addr got removed by Down() again.\n\t\t\tif rr.waitCh == nil {\n\t\t\t\tch = make(chan struct{})\n\t\t\t\trr.waitCh = ch\n\t\t\t} else {\n\t\t\t\tch = rr.waitCh\n\t\t\t}\n\t\t\trr.mu.Unlock()\n\t\t}\n\t}\n}\n\nfunc (rr *roundRobin) Notify() <-chan []Address {\n\treturn rr.addrCh\n}\n\nfunc (rr *roundRobin) Close() error {\n\trr.mu.Lock()\n\tdefer rr.mu.Unlock()\n\tif rr.done {\n\t\treturn errBalancerClosed\n\t}\n\trr.done = true\n\tif rr.w != nil {\n\t\trr.w.Close()\n\t}\n\tif rr.waitCh != nil {\n\t\tclose(rr.waitCh)\n\t\trr.waitCh = nil\n\t}\n\tif rr.addrCh != nil {\n\t\tclose(rr.addrCh)\n\t}\n\treturn nil\n}\n\n// pickFirst is used to test multi-addresses in one addrConn in which all addresses share the same addrConn.\n// It is a wrapper around roundRobin balancer. The logic of all methods works fine because balancer.Get()\n// returns the only address Up by resetTransport().\ntype pickFirst struct {\n\t*roundRobin\n}\n\nfunc pickFirstBalancerV1(r naming.Resolver) Balancer {\n\treturn &pickFirst{&roundRobin{r: r}}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/balancer_conn_wrappers.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"sync\"\n\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/connectivity\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\n// scStateUpdate contains the subConn and the new state it changed to.\ntype scStateUpdate struct {\n\tsc    balancer.SubConn\n\tstate connectivity.State\n}\n\n// scStateUpdateBuffer is an unbounded channel for scStateChangeTuple.\n// TODO make a general purpose buffer that uses interface{}.\ntype scStateUpdateBuffer struct {\n\tc       chan *scStateUpdate\n\tmu      sync.Mutex\n\tbacklog []*scStateUpdate\n}\n\nfunc newSCStateUpdateBuffer() *scStateUpdateBuffer {\n\treturn &scStateUpdateBuffer{\n\t\tc: make(chan *scStateUpdate, 1),\n\t}\n}\n\nfunc (b *scStateUpdateBuffer) put(t *scStateUpdate) {\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\tif len(b.backlog) == 0 {\n\t\tselect {\n\t\tcase b.c <- t:\n\t\t\treturn\n\t\tdefault:\n\t\t}\n\t}\n\tb.backlog = append(b.backlog, t)\n}\n\nfunc (b *scStateUpdateBuffer) load() {\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\tif len(b.backlog) > 0 {\n\t\tselect {\n\t\tcase b.c <- b.backlog[0]:\n\t\t\tb.backlog[0] = nil\n\t\t\tb.backlog = b.backlog[1:]\n\t\tdefault:\n\t\t}\n\t}\n}\n\n// get returns the channel that receives a recvMsg in the buffer.\n//\n// Upon receiving, the caller should call load to send another\n// scStateChangeTuple onto the channel if there is any.\nfunc (b *scStateUpdateBuffer) get() <-chan *scStateUpdate {\n\treturn b.c\n}\n\n// resolverUpdate contains the new resolved addresses or error if there's\n// any.\ntype resolverUpdate struct {\n\taddrs []resolver.Address\n\terr   error\n}\n\n// ccBalancerWrapper is a wrapper on top of cc for balancers.\n// It implements balancer.ClientConn interface.\ntype ccBalancerWrapper struct {\n\tcc               *ClientConn\n\tbalancer         balancer.Balancer\n\tstateChangeQueue *scStateUpdateBuffer\n\tresolverUpdateCh chan *resolverUpdate\n\tdone             chan struct{}\n}\n\nfunc newCCBalancerWrapper(cc *ClientConn, b balancer.Builder, bopts balancer.BuildOptions) *ccBalancerWrapper {\n\tccb := &ccBalancerWrapper{\n\t\tcc:               cc,\n\t\tstateChangeQueue: newSCStateUpdateBuffer(),\n\t\tresolverUpdateCh: make(chan *resolverUpdate, 1),\n\t\tdone:             make(chan struct{}),\n\t}\n\tgo ccb.watcher()\n\tccb.balancer = b.Build(ccb, bopts)\n\treturn ccb\n}\n\n// watcher balancer functions sequencially, so the balancer can be implemeneted\n// lock-free.\nfunc (ccb *ccBalancerWrapper) watcher() {\n\tfor {\n\t\tselect {\n\t\tcase t := <-ccb.stateChangeQueue.get():\n\t\t\tccb.stateChangeQueue.load()\n\t\t\tccb.balancer.HandleSubConnStateChange(t.sc, t.state)\n\t\tcase t := <-ccb.resolverUpdateCh:\n\t\t\tccb.balancer.HandleResolvedAddrs(t.addrs, t.err)\n\t\tcase <-ccb.done:\n\t\t}\n\n\t\tselect {\n\t\tcase <-ccb.done:\n\t\t\tccb.balancer.Close()\n\t\t\treturn\n\t\tdefault:\n\t\t}\n\t}\n}\n\nfunc (ccb *ccBalancerWrapper) close() {\n\tclose(ccb.done)\n}\n\nfunc (ccb *ccBalancerWrapper) handleSubConnStateChange(sc balancer.SubConn, s connectivity.State) {\n\t// When updating addresses for a SubConn, if the address in use is not in\n\t// the new addresses, the old ac will be tearDown() and a new ac will be\n\t// created. tearDown() generates a state change with Shutdown state, we\n\t// don't want the balancer to receive this state change. So before\n\t// tearDown() on the old ac, ac.acbw (acWrapper) will be set to nil, and\n\t// this function will be called with (nil, Shutdown). We don't need to call\n\t// balancer method in this case.\n\tif sc == nil {\n\t\treturn\n\t}\n\tccb.stateChangeQueue.put(&scStateUpdate{\n\t\tsc:    sc,\n\t\tstate: s,\n\t})\n}\n\nfunc (ccb *ccBalancerWrapper) handleResolvedAddrs(addrs []resolver.Address, err error) {\n\tselect {\n\tcase <-ccb.resolverUpdateCh:\n\tdefault:\n\t}\n\tccb.resolverUpdateCh <- &resolverUpdate{\n\t\taddrs: addrs,\n\t\terr:   err,\n\t}\n}\n\nfunc (ccb *ccBalancerWrapper) NewSubConn(addrs []resolver.Address, opts balancer.NewSubConnOptions) (balancer.SubConn, error) {\n\tgrpclog.Infof(\"ccBalancerWrapper: new subconn: %v\", addrs)\n\tac, err := ccb.cc.newAddrConn(addrs)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tacbw := &acBalancerWrapper{ac: ac}\n\tac.mu.Lock()\n\tac.acbw = acbw\n\tac.mu.Unlock()\n\treturn acbw, nil\n}\n\nfunc (ccb *ccBalancerWrapper) RemoveSubConn(sc balancer.SubConn) {\n\tgrpclog.Infof(\"ccBalancerWrapper: removing subconn\")\n\tacbw, ok := sc.(*acBalancerWrapper)\n\tif !ok {\n\t\treturn\n\t}\n\tccb.cc.removeAddrConn(acbw.getAddrConn(), errConnDrain)\n}\n\nfunc (ccb *ccBalancerWrapper) UpdateBalancerState(s connectivity.State, p balancer.Picker) {\n\tgrpclog.Infof(\"ccBalancerWrapper: updating state and picker called by balancer: %v, %p\", s, p)\n\tccb.cc.csMgr.updateState(s)\n\tccb.cc.blockingpicker.updatePicker(p)\n}\n\nfunc (ccb *ccBalancerWrapper) Target() string {\n\treturn ccb.cc.target\n}\n\n// acBalancerWrapper is a wrapper on top of ac for balancers.\n// It implements balancer.SubConn interface.\ntype acBalancerWrapper struct {\n\tmu sync.Mutex\n\tac *addrConn\n}\n\nfunc (acbw *acBalancerWrapper) UpdateAddresses(addrs []resolver.Address) {\n\tgrpclog.Infof(\"acBalancerWrapper: UpdateAddresses called with %v\", addrs)\n\tacbw.mu.Lock()\n\tdefer acbw.mu.Unlock()\n\tif !acbw.ac.tryUpdateAddrs(addrs) {\n\t\tcc := acbw.ac.cc\n\t\tacbw.ac.mu.Lock()\n\t\t// Set old ac.acbw to nil so the Shutdown state update will be ignored\n\t\t// by balancer.\n\t\t//\n\t\t// TODO(bar) the state transition could be wrong when tearDown() old ac\n\t\t// and creating new ac, fix the transition.\n\t\tacbw.ac.acbw = nil\n\t\tacbw.ac.mu.Unlock()\n\t\tacState := acbw.ac.getState()\n\t\tacbw.ac.tearDown(errConnDrain)\n\n\t\tif acState == connectivity.Shutdown {\n\t\t\treturn\n\t\t}\n\n\t\tac, err := cc.newAddrConn(addrs)\n\t\tif err != nil {\n\t\t\tgrpclog.Warningf(\"acBalancerWrapper: UpdateAddresses: failed to newAddrConn: %v\", err)\n\t\t\treturn\n\t\t}\n\t\tacbw.ac = ac\n\t\tac.mu.Lock()\n\t\tac.acbw = acbw\n\t\tac.mu.Unlock()\n\t\tif acState != connectivity.Idle {\n\t\t\tac.connect(false)\n\t\t}\n\t}\n}\n\nfunc (acbw *acBalancerWrapper) Connect() {\n\tacbw.mu.Lock()\n\tdefer acbw.mu.Unlock()\n\tacbw.ac.connect(false)\n}\n\nfunc (acbw *acBalancerWrapper) getAddrConn() *addrConn {\n\tacbw.mu.Lock()\n\tdefer acbw.mu.Unlock()\n\treturn acbw.ac\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/balancer_v1_wrapper.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"sync\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/connectivity\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\ntype balancerWrapperBuilder struct {\n\tb Balancer // The v1 balancer.\n}\n\nfunc (bwb *balancerWrapperBuilder) Build(cc balancer.ClientConn, opts balancer.BuildOptions) balancer.Balancer {\n\tbwb.b.Start(cc.Target(), BalancerConfig{\n\t\tDialCreds: opts.DialCreds,\n\t\tDialer:    opts.Dialer,\n\t})\n\t_, pickfirst := bwb.b.(*pickFirst)\n\tbw := &balancerWrapper{\n\t\tbalancer:  bwb.b,\n\t\tpickfirst: pickfirst,\n\t\tcc:        cc,\n\t\tstartCh:   make(chan struct{}),\n\t\tconns:     make(map[resolver.Address]balancer.SubConn),\n\t\tconnSt:    make(map[balancer.SubConn]*scState),\n\t\tcsEvltr:   &connectivityStateEvaluator{},\n\t\tstate:     connectivity.Idle,\n\t}\n\tcc.UpdateBalancerState(connectivity.Idle, bw)\n\tgo bw.lbWatcher()\n\treturn bw\n}\n\nfunc (bwb *balancerWrapperBuilder) Name() string {\n\treturn \"wrapper\"\n}\n\ntype scState struct {\n\taddr Address // The v1 address type.\n\ts    connectivity.State\n\tdown func(error)\n}\n\ntype balancerWrapper struct {\n\tbalancer  Balancer // The v1 balancer.\n\tpickfirst bool\n\n\tcc balancer.ClientConn\n\n\t// To aggregate the connectivity state.\n\tcsEvltr *connectivityStateEvaluator\n\tstate   connectivity.State\n\n\tmu     sync.Mutex\n\tconns  map[resolver.Address]balancer.SubConn\n\tconnSt map[balancer.SubConn]*scState\n\t// This channel is closed when handling the first resolver result.\n\t// lbWatcher blocks until this is closed, to avoid race between\n\t// - NewSubConn is created, cc wants to notify balancer of state changes;\n\t// - Build hasn't return, cc doesn't have access to balancer.\n\tstartCh chan struct{}\n}\n\n// lbWatcher watches the Notify channel of the balancer and manages\n// connections accordingly.\nfunc (bw *balancerWrapper) lbWatcher() {\n\t<-bw.startCh\n\tgrpclog.Infof(\"balancerWrapper: is pickfirst: %v\\n\", bw.pickfirst)\n\tnotifyCh := bw.balancer.Notify()\n\tif notifyCh == nil {\n\t\t// There's no resolver in the balancer. Connect directly.\n\t\ta := resolver.Address{\n\t\t\tAddr: bw.cc.Target(),\n\t\t\tType: resolver.Backend,\n\t\t}\n\t\tsc, err := bw.cc.NewSubConn([]resolver.Address{a}, balancer.NewSubConnOptions{})\n\t\tif err != nil {\n\t\t\tgrpclog.Warningf(\"Error creating connection to %v. Err: %v\", a, err)\n\t\t} else {\n\t\t\tbw.mu.Lock()\n\t\t\tbw.conns[a] = sc\n\t\t\tbw.connSt[sc] = &scState{\n\t\t\t\taddr: Address{Addr: bw.cc.Target()},\n\t\t\t\ts:    connectivity.Idle,\n\t\t\t}\n\t\t\tbw.mu.Unlock()\n\t\t\tsc.Connect()\n\t\t}\n\t\treturn\n\t}\n\n\tfor addrs := range notifyCh {\n\t\tgrpclog.Infof(\"balancerWrapper: got update addr from Notify: %v\\n\", addrs)\n\t\tif bw.pickfirst {\n\t\t\tvar (\n\t\t\t\toldA  resolver.Address\n\t\t\t\toldSC balancer.SubConn\n\t\t\t)\n\t\t\tbw.mu.Lock()\n\t\t\tfor oldA, oldSC = range bw.conns {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tbw.mu.Unlock()\n\t\t\tif len(addrs) <= 0 {\n\t\t\t\tif oldSC != nil {\n\t\t\t\t\t// Teardown old sc.\n\t\t\t\t\tbw.mu.Lock()\n\t\t\t\t\tdelete(bw.conns, oldA)\n\t\t\t\t\tdelete(bw.connSt, oldSC)\n\t\t\t\t\tbw.mu.Unlock()\n\t\t\t\t\tbw.cc.RemoveSubConn(oldSC)\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tvar newAddrs []resolver.Address\n\t\t\tfor _, a := range addrs {\n\t\t\t\tnewAddr := resolver.Address{\n\t\t\t\t\tAddr:       a.Addr,\n\t\t\t\t\tType:       resolver.Backend, // All addresses from balancer are all backends.\n\t\t\t\t\tServerName: \"\",\n\t\t\t\t\tMetadata:   a.Metadata,\n\t\t\t\t}\n\t\t\t\tnewAddrs = append(newAddrs, newAddr)\n\t\t\t}\n\t\t\tif oldSC == nil {\n\t\t\t\t// Create new sc.\n\t\t\t\tsc, err := bw.cc.NewSubConn(newAddrs, balancer.NewSubConnOptions{})\n\t\t\t\tif err != nil {\n\t\t\t\t\tgrpclog.Warningf(\"Error creating connection to %v. Err: %v\", newAddrs, err)\n\t\t\t\t} else {\n\t\t\t\t\tbw.mu.Lock()\n\t\t\t\t\t// For pickfirst, there should be only one SubConn, so the\n\t\t\t\t\t// address doesn't matter. All states updating (up and down)\n\t\t\t\t\t// and picking should all happen on that only SubConn.\n\t\t\t\t\tbw.conns[resolver.Address{}] = sc\n\t\t\t\t\tbw.connSt[sc] = &scState{\n\t\t\t\t\t\taddr: addrs[0], // Use the first address.\n\t\t\t\t\t\ts:    connectivity.Idle,\n\t\t\t\t\t}\n\t\t\t\t\tbw.mu.Unlock()\n\t\t\t\t\tsc.Connect()\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toldSC.UpdateAddresses(newAddrs)\n\t\t\t\tbw.mu.Lock()\n\t\t\t\tbw.connSt[oldSC].addr = addrs[0]\n\t\t\t\tbw.mu.Unlock()\n\t\t\t}\n\t\t} else {\n\t\t\tvar (\n\t\t\t\tadd []resolver.Address // Addresses need to setup connections.\n\t\t\t\tdel []balancer.SubConn // Connections need to tear down.\n\t\t\t)\n\t\t\tresAddrs := make(map[resolver.Address]Address)\n\t\t\tfor _, a := range addrs {\n\t\t\t\tresAddrs[resolver.Address{\n\t\t\t\t\tAddr:       a.Addr,\n\t\t\t\t\tType:       resolver.Backend, // All addresses from balancer are all backends.\n\t\t\t\t\tServerName: \"\",\n\t\t\t\t\tMetadata:   a.Metadata,\n\t\t\t\t}] = a\n\t\t\t}\n\t\t\tbw.mu.Lock()\n\t\t\tfor a := range resAddrs {\n\t\t\t\tif _, ok := bw.conns[a]; !ok {\n\t\t\t\t\tadd = append(add, a)\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor a, c := range bw.conns {\n\t\t\t\tif _, ok := resAddrs[a]; !ok {\n\t\t\t\t\tdel = append(del, c)\n\t\t\t\t\tdelete(bw.conns, a)\n\t\t\t\t\t// Keep the state of this sc in bw.connSt until its state becomes Shutdown.\n\t\t\t\t}\n\t\t\t}\n\t\t\tbw.mu.Unlock()\n\t\t\tfor _, a := range add {\n\t\t\t\tsc, err := bw.cc.NewSubConn([]resolver.Address{a}, balancer.NewSubConnOptions{})\n\t\t\t\tif err != nil {\n\t\t\t\t\tgrpclog.Warningf(\"Error creating connection to %v. Err: %v\", a, err)\n\t\t\t\t} else {\n\t\t\t\t\tbw.mu.Lock()\n\t\t\t\t\tbw.conns[a] = sc\n\t\t\t\t\tbw.connSt[sc] = &scState{\n\t\t\t\t\t\taddr: resAddrs[a],\n\t\t\t\t\t\ts:    connectivity.Idle,\n\t\t\t\t\t}\n\t\t\t\t\tbw.mu.Unlock()\n\t\t\t\t\tsc.Connect()\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor _, c := range del {\n\t\t\t\tbw.cc.RemoveSubConn(c)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (bw *balancerWrapper) HandleSubConnStateChange(sc balancer.SubConn, s connectivity.State) {\n\tgrpclog.Infof(\"balancerWrapper: handle subconn state change: %p, %v\", sc, s)\n\tbw.mu.Lock()\n\tdefer bw.mu.Unlock()\n\tscSt, ok := bw.connSt[sc]\n\tif !ok {\n\t\treturn\n\t}\n\tif s == connectivity.Idle {\n\t\tsc.Connect()\n\t}\n\toldS := scSt.s\n\tscSt.s = s\n\tif oldS != connectivity.Ready && s == connectivity.Ready {\n\t\tscSt.down = bw.balancer.Up(scSt.addr)\n\t} else if oldS == connectivity.Ready && s != connectivity.Ready {\n\t\tif scSt.down != nil {\n\t\t\tscSt.down(errConnClosing)\n\t\t}\n\t}\n\tsa := bw.csEvltr.recordTransition(oldS, s)\n\tif bw.state != sa {\n\t\tbw.state = sa\n\t}\n\tbw.cc.UpdateBalancerState(bw.state, bw)\n\tif s == connectivity.Shutdown {\n\t\t// Remove state for this sc.\n\t\tdelete(bw.connSt, sc)\n\t}\n\treturn\n}\n\nfunc (bw *balancerWrapper) HandleResolvedAddrs([]resolver.Address, error) {\n\tbw.mu.Lock()\n\tdefer bw.mu.Unlock()\n\tselect {\n\tcase <-bw.startCh:\n\tdefault:\n\t\tclose(bw.startCh)\n\t}\n\t// There should be a resolver inside the balancer.\n\t// All updates here, if any, are ignored.\n\treturn\n}\n\nfunc (bw *balancerWrapper) Close() {\n\tbw.mu.Lock()\n\tdefer bw.mu.Unlock()\n\tselect {\n\tcase <-bw.startCh:\n\tdefault:\n\t\tclose(bw.startCh)\n\t}\n\tbw.balancer.Close()\n\treturn\n}\n\n// The picker is the balancerWrapper itself.\n// Pick should never return ErrNoSubConnAvailable.\n// It either blocks or returns error, consistent with v1 balancer Get().\nfunc (bw *balancerWrapper) Pick(ctx context.Context, opts balancer.PickOptions) (balancer.SubConn, func(balancer.DoneInfo), error) {\n\tfailfast := true // Default failfast is true.\n\tif ss, ok := rpcInfoFromContext(ctx); ok {\n\t\tfailfast = ss.failfast\n\t}\n\ta, p, err := bw.balancer.Get(ctx, BalancerGetOptions{BlockingWait: !failfast})\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tvar done func(balancer.DoneInfo)\n\tif p != nil {\n\t\tdone = func(i balancer.DoneInfo) { p() }\n\t}\n\tvar sc balancer.SubConn\n\tbw.mu.Lock()\n\tdefer bw.mu.Unlock()\n\tif bw.pickfirst {\n\t\t// Get the first sc in conns.\n\t\tfor _, sc = range bw.conns {\n\t\t\tbreak\n\t\t}\n\t} else {\n\t\tvar ok bool\n\t\tsc, ok = bw.conns[resolver.Address{\n\t\t\tAddr:       a.Addr,\n\t\t\tType:       resolver.Backend,\n\t\t\tServerName: \"\",\n\t\t\tMetadata:   a.Metadata,\n\t\t}]\n\t\tif !ok && failfast {\n\t\t\treturn nil, nil, Errorf(codes.Unavailable, \"there is no connection available\")\n\t\t}\n\t\tif s, ok := bw.connSt[sc]; failfast && (!ok || s.s != connectivity.Ready) {\n\t\t\t// If the returned sc is not ready and RPC is failfast,\n\t\t\t// return error, and this RPC will fail.\n\t\t\treturn nil, nil, Errorf(codes.Unavailable, \"there is no connection available\")\n\t\t}\n\t}\n\n\treturn sc, done, nil\n}\n\n// connectivityStateEvaluator gets updated by addrConns when their\n// states transition, based on which it evaluates the state of\n// ClientConn.\ntype connectivityStateEvaluator struct {\n\tmu                  sync.Mutex\n\tnumReady            uint64 // Number of addrConns in ready state.\n\tnumConnecting       uint64 // Number of addrConns in connecting state.\n\tnumTransientFailure uint64 // Number of addrConns in transientFailure.\n}\n\n// recordTransition records state change happening in every subConn and based on\n// that it evaluates what aggregated state should be.\n// It can only transition between Ready, Connecting and TransientFailure. Other states,\n// Idle and Shutdown are transitioned into by ClientConn; in the beginning of the connection\n// before any subConn is created ClientConn is in idle state. In the end when ClientConn\n// closes it is in Shutdown state.\n// TODO Note that in later releases, a ClientConn with no activity will be put into an Idle state.\nfunc (cse *connectivityStateEvaluator) recordTransition(oldState, newState connectivity.State) connectivity.State {\n\tcse.mu.Lock()\n\tdefer cse.mu.Unlock()\n\n\t// Update counters.\n\tfor idx, state := range []connectivity.State{oldState, newState} {\n\t\tupdateVal := 2*uint64(idx) - 1 // -1 for oldState and +1 for new.\n\t\tswitch state {\n\t\tcase connectivity.Ready:\n\t\t\tcse.numReady += updateVal\n\t\tcase connectivity.Connecting:\n\t\t\tcse.numConnecting += updateVal\n\t\tcase connectivity.TransientFailure:\n\t\t\tcse.numTransientFailure += updateVal\n\t\t}\n\t}\n\n\t// Evaluate.\n\tif cse.numReady > 0 {\n\t\treturn connectivity.Ready\n\t}\n\tif cse.numConnecting > 0 {\n\t\treturn connectivity.Connecting\n\t}\n\treturn connectivity.TransientFailure\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/call.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"bytes\"\n\t\"io\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/trace\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/peer\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n\t\"google.golang.org/grpc/transport\"\n)\n\n// recvResponse receives and parses an RPC response.\n// On error, it returns the error and indicates whether the call should be retried.\n//\n// TODO(zhaoq): Check whether the received message sequence is valid.\n// TODO ctx is used for stats collection and processing. It is the context passed from the application.\nfunc recvResponse(ctx context.Context, dopts dialOptions, t transport.ClientTransport, c *callInfo, stream *transport.Stream, reply interface{}) (err error) {\n\t// Try to acquire header metadata from the server if there is any.\n\tdefer func() {\n\t\tif err != nil {\n\t\t\tif _, ok := err.(transport.ConnectionError); !ok {\n\t\t\t\tt.CloseStream(stream, err)\n\t\t\t}\n\t\t}\n\t}()\n\tc.headerMD, err = stream.Header()\n\tif err != nil {\n\t\treturn\n\t}\n\tp := &parser{r: stream}\n\tvar inPayload *stats.InPayload\n\tif dopts.copts.StatsHandler != nil {\n\t\tinPayload = &stats.InPayload{\n\t\t\tClient: true,\n\t\t}\n\t}\n\tfor {\n\t\tif c.maxReceiveMessageSize == nil {\n\t\t\treturn Errorf(codes.Internal, \"callInfo maxReceiveMessageSize field uninitialized(nil)\")\n\t\t}\n\t\tif err = recv(p, dopts.codec, stream, dopts.dc, reply, *c.maxReceiveMessageSize, inPayload); err != nil {\n\t\t\tif err == io.EOF {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\tif inPayload != nil && err == io.EOF && stream.Status().Code() == codes.OK {\n\t\t// TODO in the current implementation, inTrailer may be handled before inPayload in some cases.\n\t\t// Fix the order if necessary.\n\t\tdopts.copts.StatsHandler.HandleRPC(ctx, inPayload)\n\t}\n\tc.trailerMD = stream.Trailer()\n\treturn nil\n}\n\n// sendRequest writes out various information of an RPC such as Context and Message.\nfunc sendRequest(ctx context.Context, dopts dialOptions, compressor Compressor, c *callInfo, callHdr *transport.CallHdr, stream *transport.Stream, t transport.ClientTransport, args interface{}, opts *transport.Options) (err error) {\n\tdefer func() {\n\t\tif err != nil {\n\t\t\t// If err is connection error, t will be closed, no need to close stream here.\n\t\t\tif _, ok := err.(transport.ConnectionError); !ok {\n\t\t\t\tt.CloseStream(stream, err)\n\t\t\t}\n\t\t}\n\t}()\n\tvar (\n\t\tcbuf       *bytes.Buffer\n\t\toutPayload *stats.OutPayload\n\t)\n\tif compressor != nil {\n\t\tcbuf = new(bytes.Buffer)\n\t}\n\tif dopts.copts.StatsHandler != nil {\n\t\toutPayload = &stats.OutPayload{\n\t\t\tClient: true,\n\t\t}\n\t}\n\thdr, data, err := encode(dopts.codec, args, compressor, cbuf, outPayload)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif c.maxSendMessageSize == nil {\n\t\treturn Errorf(codes.Internal, \"callInfo maxSendMessageSize field uninitialized(nil)\")\n\t}\n\tif len(data) > *c.maxSendMessageSize {\n\t\treturn Errorf(codes.ResourceExhausted, \"grpc: trying to send message larger than max (%d vs. %d)\", len(data), *c.maxSendMessageSize)\n\t}\n\terr = t.Write(stream, hdr, data, opts)\n\tif err == nil && outPayload != nil {\n\t\toutPayload.SentTime = time.Now()\n\t\tdopts.copts.StatsHandler.HandleRPC(ctx, outPayload)\n\t}\n\t// t.NewStream(...) could lead to an early rejection of the RPC (e.g., the service/method\n\t// does not exist.) so that t.Write could get io.EOF from wait(...). Leave the following\n\t// recvResponse to get the final status.\n\tif err != nil && err != io.EOF {\n\t\treturn err\n\t}\n\t// Sent successfully.\n\treturn nil\n}\n\n// Invoke sends the RPC request on the wire and returns after response is received.\n// Invoke is called by generated code. Also users can call Invoke directly when it\n// is really needed in their use cases.\nfunc Invoke(ctx context.Context, method string, args, reply interface{}, cc *ClientConn, opts ...CallOption) error {\n\tif cc.dopts.unaryInt != nil {\n\t\treturn cc.dopts.unaryInt(ctx, method, args, reply, cc, invoke, opts...)\n\t}\n\treturn invoke(ctx, method, args, reply, cc, opts...)\n}\n\nfunc invoke(ctx context.Context, method string, args, reply interface{}, cc *ClientConn, opts ...CallOption) (e error) {\n\tc := defaultCallInfo()\n\tmc := cc.GetMethodConfig(method)\n\tif mc.WaitForReady != nil {\n\t\tc.failFast = !*mc.WaitForReady\n\t}\n\n\tif mc.Timeout != nil && *mc.Timeout >= 0 {\n\t\tvar cancel context.CancelFunc\n\t\tctx, cancel = context.WithTimeout(ctx, *mc.Timeout)\n\t\tdefer cancel()\n\t}\n\n\topts = append(cc.dopts.callOptions, opts...)\n\tfor _, o := range opts {\n\t\tif err := o.before(c); err != nil {\n\t\t\treturn toRPCErr(err)\n\t\t}\n\t}\n\tdefer func() {\n\t\tfor _, o := range opts {\n\t\t\to.after(c)\n\t\t}\n\t}()\n\n\tc.maxSendMessageSize = getMaxSize(mc.MaxReqSize, c.maxSendMessageSize, defaultClientMaxSendMessageSize)\n\tc.maxReceiveMessageSize = getMaxSize(mc.MaxRespSize, c.maxReceiveMessageSize, defaultClientMaxReceiveMessageSize)\n\n\tif EnableTracing {\n\t\tc.traceInfo.tr = trace.New(\"grpc.Sent.\"+methodFamily(method), method)\n\t\tdefer c.traceInfo.tr.Finish()\n\t\tc.traceInfo.firstLine.client = true\n\t\tif deadline, ok := ctx.Deadline(); ok {\n\t\t\tc.traceInfo.firstLine.deadline = deadline.Sub(time.Now())\n\t\t}\n\t\tc.traceInfo.tr.LazyLog(&c.traceInfo.firstLine, false)\n\t\t// TODO(dsymonds): Arrange for c.traceInfo.firstLine.remoteAddr to be set.\n\t\tdefer func() {\n\t\t\tif e != nil {\n\t\t\t\tc.traceInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{e}}, true)\n\t\t\t\tc.traceInfo.tr.SetError()\n\t\t\t}\n\t\t}()\n\t}\n\tctx = newContextWithRPCInfo(ctx, c.failFast)\n\tsh := cc.dopts.copts.StatsHandler\n\tif sh != nil {\n\t\tctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method, FailFast: c.failFast})\n\t\tbegin := &stats.Begin{\n\t\t\tClient:    true,\n\t\t\tBeginTime: time.Now(),\n\t\t\tFailFast:  c.failFast,\n\t\t}\n\t\tsh.HandleRPC(ctx, begin)\n\t\tdefer func() {\n\t\t\tend := &stats.End{\n\t\t\t\tClient:  true,\n\t\t\t\tEndTime: time.Now(),\n\t\t\t\tError:   e,\n\t\t\t}\n\t\t\tsh.HandleRPC(ctx, end)\n\t\t}()\n\t}\n\ttopts := &transport.Options{\n\t\tLast:  true,\n\t\tDelay: false,\n\t}\n\tfor {\n\t\tvar (\n\t\t\terr    error\n\t\t\tt      transport.ClientTransport\n\t\t\tstream *transport.Stream\n\t\t\t// Record the done handler from Balancer.Get(...). It is called once the\n\t\t\t// RPC has completed or failed.\n\t\t\tdone func(balancer.DoneInfo)\n\t\t)\n\t\t// TODO(zhaoq): Need a formal spec of fail-fast.\n\t\tcallHdr := &transport.CallHdr{\n\t\t\tHost:   cc.authority,\n\t\t\tMethod: method,\n\t\t}\n\t\tif cc.dopts.cp != nil {\n\t\t\tcallHdr.SendCompress = cc.dopts.cp.Type()\n\t\t}\n\t\tif c.creds != nil {\n\t\t\tcallHdr.Creds = c.creds\n\t\t}\n\n\t\tt, done, err = cc.getTransport(ctx, c.failFast)\n\t\tif err != nil {\n\t\t\t// TODO(zhaoq): Probably revisit the error handling.\n\t\t\tif _, ok := status.FromError(err); ok {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif err == errConnClosing || err == errConnUnavailable {\n\t\t\t\tif c.failFast {\n\t\t\t\t\treturn Errorf(codes.Unavailable, \"%v\", err)\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// All the other errors are treated as Internal errors.\n\t\t\treturn Errorf(codes.Internal, \"%v\", err)\n\t\t}\n\t\tif c.traceInfo.tr != nil {\n\t\t\tc.traceInfo.tr.LazyLog(&payload{sent: true, msg: args}, true)\n\t\t}\n\t\tstream, err = t.NewStream(ctx, callHdr)\n\t\tif err != nil {\n\t\t\tif done != nil {\n\t\t\t\tif _, ok := err.(transport.ConnectionError); ok {\n\t\t\t\t\t// If error is connection error, transport was sending data on wire,\n\t\t\t\t\t// and we are not sure if anything has been sent on wire.\n\t\t\t\t\t// If error is not connection error, we are sure nothing has been sent.\n\t\t\t\t\tupdateRPCInfoInContext(ctx, rpcInfo{bytesSent: true, bytesReceived: false})\n\t\t\t\t}\n\t\t\t\tdone(balancer.DoneInfo{Err: err})\n\t\t\t}\n\t\t\tif _, ok := err.(transport.ConnectionError); (ok || err == transport.ErrStreamDrain) && !c.failFast {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\treturn toRPCErr(err)\n\t\t}\n\t\tif peer, ok := peer.FromContext(stream.Context()); ok {\n\t\t\tc.peer = peer\n\t\t}\n\t\terr = sendRequest(ctx, cc.dopts, cc.dopts.cp, c, callHdr, stream, t, args, topts)\n\t\tif err != nil {\n\t\t\tif done != nil {\n\t\t\t\tupdateRPCInfoInContext(ctx, rpcInfo{\n\t\t\t\t\tbytesSent:     stream.BytesSent(),\n\t\t\t\t\tbytesReceived: stream.BytesReceived(),\n\t\t\t\t})\n\t\t\t\tdone(balancer.DoneInfo{Err: err})\n\t\t\t}\n\t\t\t// Retry a non-failfast RPC when\n\t\t\t// i) there is a connection error; or\n\t\t\t// ii) the server started to drain before this RPC was initiated.\n\t\t\tif _, ok := err.(transport.ConnectionError); (ok || err == transport.ErrStreamDrain) && !c.failFast {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\treturn toRPCErr(err)\n\t\t}\n\t\terr = recvResponse(ctx, cc.dopts, t, c, stream, reply)\n\t\tif err != nil {\n\t\t\tif done != nil {\n\t\t\t\tupdateRPCInfoInContext(ctx, rpcInfo{\n\t\t\t\t\tbytesSent:     stream.BytesSent(),\n\t\t\t\t\tbytesReceived: stream.BytesReceived(),\n\t\t\t\t})\n\t\t\t\tdone(balancer.DoneInfo{Err: err})\n\t\t\t}\n\t\t\tif _, ok := err.(transport.ConnectionError); (ok || err == transport.ErrStreamDrain) && !c.failFast {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\treturn toRPCErr(err)\n\t\t}\n\t\tif c.traceInfo.tr != nil {\n\t\t\tc.traceInfo.tr.LazyLog(&payload{sent: false, msg: reply}, true)\n\t\t}\n\t\tt.CloseStream(stream, nil)\n\t\tif done != nil {\n\t\t\tupdateRPCInfoInContext(ctx, rpcInfo{\n\t\t\t\tbytesSent:     stream.BytesSent(),\n\t\t\t\tbytesReceived: stream.BytesReceived(),\n\t\t\t})\n\t\t\tdone(balancer.DoneInfo{Err: err})\n\t\t}\n\t\treturn stream.Status().Err()\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/clientconn.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"math\"\n\t\"net\"\n\t\"reflect\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/trace\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/connectivity\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/keepalive\"\n\t\"google.golang.org/grpc/resolver\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/transport\"\n)\n\nvar (\n\t// ErrClientConnClosing indicates that the operation is illegal because\n\t// the ClientConn is closing.\n\tErrClientConnClosing = errors.New(\"grpc: the client connection is closing\")\n\t// ErrClientConnTimeout indicates that the ClientConn cannot establish the\n\t// underlying connections within the specified timeout.\n\t// DEPRECATED: Please use context.DeadlineExceeded instead.\n\tErrClientConnTimeout = errors.New(\"grpc: timed out when dialing\")\n\n\t// errNoTransportSecurity indicates that there is no transport security\n\t// being set for ClientConn. Users should either set one or explicitly\n\t// call WithInsecure DialOption to disable security.\n\terrNoTransportSecurity = errors.New(\"grpc: no transport security set (use grpc.WithInsecure() explicitly or set credentials)\")\n\t// errTransportCredentialsMissing indicates that users want to transmit security\n\t// information (e.g., oauth2 token) which requires secure connection on an insecure\n\t// connection.\n\terrTransportCredentialsMissing = errors.New(\"grpc: the credentials require transport level security (use grpc.WithTransportCredentials() to set)\")\n\t// errCredentialsConflict indicates that grpc.WithTransportCredentials()\n\t// and grpc.WithInsecure() are both called for a connection.\n\terrCredentialsConflict = errors.New(\"grpc: transport credentials are set for an insecure connection (grpc.WithTransportCredentials() and grpc.WithInsecure() are both called)\")\n\t// errNetworkIO indicates that the connection is down due to some network I/O error.\n\terrNetworkIO = errors.New(\"grpc: failed with network I/O error\")\n\t// errConnDrain indicates that the connection starts to be drained and does not accept any new RPCs.\n\terrConnDrain = errors.New(\"grpc: the connection is drained\")\n\t// errConnClosing indicates that the connection is closing.\n\terrConnClosing = errors.New(\"grpc: the connection is closing\")\n\t// errConnUnavailable indicates that the connection is unavailable.\n\terrConnUnavailable = errors.New(\"grpc: the connection is unavailable\")\n\t// errBalancerClosed indicates that the balancer is closed.\n\terrBalancerClosed = errors.New(\"grpc: balancer is closed\")\n\t// minimum time to give a connection to complete\n\tminConnectTimeout = 20 * time.Second\n)\n\n// dialOptions configure a Dial call. dialOptions are set by the DialOption\n// values passed to Dial.\ntype dialOptions struct {\n\tunaryInt    UnaryClientInterceptor\n\tstreamInt   StreamClientInterceptor\n\tcodec       Codec\n\tcp          Compressor\n\tdc          Decompressor\n\tbs          backoffStrategy\n\tblock       bool\n\tinsecure    bool\n\ttimeout     time.Duration\n\tscChan      <-chan ServiceConfig\n\tcopts       transport.ConnectOptions\n\tcallOptions []CallOption\n\t// This is to support v1 balancer.\n\tbalancerBuilder balancer.Builder\n}\n\nconst (\n\tdefaultClientMaxReceiveMessageSize = 1024 * 1024 * 4\n\tdefaultClientMaxSendMessageSize    = math.MaxInt32\n)\n\n// DialOption configures how we set up the connection.\ntype DialOption func(*dialOptions)\n\n// WithWriteBufferSize lets you set the size of write buffer, this determines how much data can be batched\n// before doing a write on the wire.\nfunc WithWriteBufferSize(s int) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.copts.WriteBufferSize = s\n\t}\n}\n\n// WithReadBufferSize lets you set the size of read buffer, this determines how much data can be read at most\n// for each read syscall.\nfunc WithReadBufferSize(s int) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.copts.ReadBufferSize = s\n\t}\n}\n\n// WithInitialWindowSize returns a DialOption which sets the value for initial window size on a stream.\n// The lower bound for window size is 64K and any value smaller than that will be ignored.\nfunc WithInitialWindowSize(s int32) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.copts.InitialWindowSize = s\n\t}\n}\n\n// WithInitialConnWindowSize returns a DialOption which sets the value for initial window size on a connection.\n// The lower bound for window size is 64K and any value smaller than that will be ignored.\nfunc WithInitialConnWindowSize(s int32) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.copts.InitialConnWindowSize = s\n\t}\n}\n\n// WithMaxMsgSize returns a DialOption which sets the maximum message size the client can receive. Deprecated: use WithDefaultCallOptions(MaxCallRecvMsgSize(s)) instead.\nfunc WithMaxMsgSize(s int) DialOption {\n\treturn WithDefaultCallOptions(MaxCallRecvMsgSize(s))\n}\n\n// WithDefaultCallOptions returns a DialOption which sets the default CallOptions for calls over the connection.\nfunc WithDefaultCallOptions(cos ...CallOption) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.callOptions = append(o.callOptions, cos...)\n\t}\n}\n\n// WithCodec returns a DialOption which sets a codec for message marshaling and unmarshaling.\nfunc WithCodec(c Codec) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.codec = c\n\t}\n}\n\n// WithCompressor returns a DialOption which sets a CompressorGenerator for generating message\n// compressor.\nfunc WithCompressor(cp Compressor) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.cp = cp\n\t}\n}\n\n// WithDecompressor returns a DialOption which sets a DecompressorGenerator for generating\n// message decompressor.\nfunc WithDecompressor(dc Decompressor) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.dc = dc\n\t}\n}\n\n// WithBalancer returns a DialOption which sets a load balancer with the v1 API.\n// Name resolver will be ignored if this DialOption is specified.\n// Deprecated: use the new balancer APIs in balancer package instead.\nfunc WithBalancer(b Balancer) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.balancerBuilder = &balancerWrapperBuilder{\n\t\t\tb: b,\n\t\t}\n\t}\n}\n\n// WithBalancerBuilder is for testing only. Users using custom balancers should\n// register their balancer and use service config to choose the balancer to use.\nfunc WithBalancerBuilder(b balancer.Builder) DialOption {\n\t// TODO(bar) remove this when switching balancer is done.\n\treturn func(o *dialOptions) {\n\t\to.balancerBuilder = b\n\t}\n}\n\n// WithServiceConfig returns a DialOption which has a channel to read the service configuration.\nfunc WithServiceConfig(c <-chan ServiceConfig) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.scChan = c\n\t}\n}\n\n// WithBackoffMaxDelay configures the dialer to use the provided maximum delay\n// when backing off after failed connection attempts.\nfunc WithBackoffMaxDelay(md time.Duration) DialOption {\n\treturn WithBackoffConfig(BackoffConfig{MaxDelay: md})\n}\n\n// WithBackoffConfig configures the dialer to use the provided backoff\n// parameters after connection failures.\n//\n// Use WithBackoffMaxDelay until more parameters on BackoffConfig are opened up\n// for use.\nfunc WithBackoffConfig(b BackoffConfig) DialOption {\n\t// Set defaults to ensure that provided BackoffConfig is valid and\n\t// unexported fields get default values.\n\tsetDefaults(&b)\n\treturn withBackoff(b)\n}\n\n// withBackoff sets the backoff strategy used for retries after a\n// failed connection attempt.\n//\n// This can be exported if arbitrary backoff strategies are allowed by gRPC.\nfunc withBackoff(bs backoffStrategy) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.bs = bs\n\t}\n}\n\n// WithBlock returns a DialOption which makes caller of Dial blocks until the underlying\n// connection is up. Without this, Dial returns immediately and connecting the server\n// happens in background.\nfunc WithBlock() DialOption {\n\treturn func(o *dialOptions) {\n\t\to.block = true\n\t}\n}\n\n// WithInsecure returns a DialOption which disables transport security for this ClientConn.\n// Note that transport security is required unless WithInsecure is set.\nfunc WithInsecure() DialOption {\n\treturn func(o *dialOptions) {\n\t\to.insecure = true\n\t}\n}\n\n// WithTransportCredentials returns a DialOption which configures a\n// connection level security credentials (e.g., TLS/SSL).\nfunc WithTransportCredentials(creds credentials.TransportCredentials) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.copts.TransportCredentials = creds\n\t}\n}\n\n// WithPerRPCCredentials returns a DialOption which sets\n// credentials and places auth state on each outbound RPC.\nfunc WithPerRPCCredentials(creds credentials.PerRPCCredentials) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.copts.PerRPCCredentials = append(o.copts.PerRPCCredentials, creds)\n\t}\n}\n\n// WithTimeout returns a DialOption that configures a timeout for dialing a ClientConn\n// initially. This is valid if and only if WithBlock() is present.\n// Deprecated: use DialContext and context.WithTimeout instead.\nfunc WithTimeout(d time.Duration) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.timeout = d\n\t}\n}\n\n// WithDialer returns a DialOption that specifies a function to use for dialing network addresses.\n// If FailOnNonTempDialError() is set to true, and an error is returned by f, gRPC checks the error's\n// Temporary() method to decide if it should try to reconnect to the network address.\nfunc WithDialer(f func(string, time.Duration) (net.Conn, error)) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.copts.Dialer = func(ctx context.Context, addr string) (net.Conn, error) {\n\t\t\tif deadline, ok := ctx.Deadline(); ok {\n\t\t\t\treturn f(addr, deadline.Sub(time.Now()))\n\t\t\t}\n\t\t\treturn f(addr, 0)\n\t\t}\n\t}\n}\n\n// WithStatsHandler returns a DialOption that specifies the stats handler\n// for all the RPCs and underlying network connections in this ClientConn.\nfunc WithStatsHandler(h stats.Handler) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.copts.StatsHandler = h\n\t}\n}\n\n// FailOnNonTempDialError returns a DialOption that specifies if gRPC fails on non-temporary dial errors.\n// If f is true, and dialer returns a non-temporary error, gRPC will fail the connection to the network\n// address and won't try to reconnect.\n// The default value of FailOnNonTempDialError is false.\n// This is an EXPERIMENTAL API.\nfunc FailOnNonTempDialError(f bool) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.copts.FailOnNonTempDialError = f\n\t}\n}\n\n// WithUserAgent returns a DialOption that specifies a user agent string for all the RPCs.\nfunc WithUserAgent(s string) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.copts.UserAgent = s\n\t}\n}\n\n// WithKeepaliveParams returns a DialOption that specifies keepalive parameters for the client transport.\nfunc WithKeepaliveParams(kp keepalive.ClientParameters) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.copts.KeepaliveParams = kp\n\t}\n}\n\n// WithUnaryInterceptor returns a DialOption that specifies the interceptor for unary RPCs.\nfunc WithUnaryInterceptor(f UnaryClientInterceptor) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.unaryInt = f\n\t}\n}\n\n// WithStreamInterceptor returns a DialOption that specifies the interceptor for streaming RPCs.\nfunc WithStreamInterceptor(f StreamClientInterceptor) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.streamInt = f\n\t}\n}\n\n// WithAuthority returns a DialOption that specifies the value to be used as\n// the :authority pseudo-header. This value only works with WithInsecure and\n// has no effect if TransportCredentials are present.\nfunc WithAuthority(a string) DialOption {\n\treturn func(o *dialOptions) {\n\t\to.copts.Authority = a\n\t}\n}\n\n// Dial creates a client connection to the given target.\nfunc Dial(target string, opts ...DialOption) (*ClientConn, error) {\n\treturn DialContext(context.Background(), target, opts...)\n}\n\n// DialContext creates a client connection to the given target. ctx can be used to\n// cancel or expire the pending connection. Once this function returns, the\n// cancellation and expiration of ctx will be noop. Users should call ClientConn.Close\n// to terminate all the pending operations after this function returns.\nfunc DialContext(ctx context.Context, target string, opts ...DialOption) (conn *ClientConn, err error) {\n\tcc := &ClientConn{\n\t\ttarget: target,\n\t\tcsMgr:  &connectivityStateManager{},\n\t\tconns:  make(map[*addrConn]struct{}),\n\n\t\tblockingpicker: newPickerWrapper(),\n\t}\n\tcc.ctx, cc.cancel = context.WithCancel(context.Background())\n\n\tfor _, opt := range opts {\n\t\topt(&cc.dopts)\n\t}\n\n\tif !cc.dopts.insecure {\n\t\tif cc.dopts.copts.TransportCredentials == nil {\n\t\t\treturn nil, errNoTransportSecurity\n\t\t}\n\t} else {\n\t\tif cc.dopts.copts.TransportCredentials != nil {\n\t\t\treturn nil, errCredentialsConflict\n\t\t}\n\t\tfor _, cd := range cc.dopts.copts.PerRPCCredentials {\n\t\t\tif cd.RequireTransportSecurity() {\n\t\t\t\treturn nil, errTransportCredentialsMissing\n\t\t\t}\n\t\t}\n\t}\n\n\tcc.mkp = cc.dopts.copts.KeepaliveParams\n\n\tif cc.dopts.copts.Dialer == nil {\n\t\tcc.dopts.copts.Dialer = newProxyDialer(\n\t\t\tfunc(ctx context.Context, addr string) (net.Conn, error) {\n\t\t\t\treturn (&net.Dialer{}).DialContext(ctx, \"tcp\", addr)\n\t\t\t},\n\t\t)\n\t}\n\n\tif cc.dopts.copts.UserAgent != \"\" {\n\t\tcc.dopts.copts.UserAgent += \" \" + grpcUA\n\t} else {\n\t\tcc.dopts.copts.UserAgent = grpcUA\n\t}\n\n\tif cc.dopts.timeout > 0 {\n\t\tvar cancel context.CancelFunc\n\t\tctx, cancel = context.WithTimeout(ctx, cc.dopts.timeout)\n\t\tdefer cancel()\n\t}\n\n\tdefer func() {\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\tconn, err = nil, ctx.Err()\n\t\tdefault:\n\t\t}\n\n\t\tif err != nil {\n\t\t\tcc.Close()\n\t\t}\n\t}()\n\n\tscSet := false\n\tif cc.dopts.scChan != nil {\n\t\t// Try to get an initial service config.\n\t\tselect {\n\t\tcase sc, ok := <-cc.dopts.scChan:\n\t\t\tif ok {\n\t\t\t\tcc.sc = sc\n\t\t\t\tscSet = true\n\t\t\t}\n\t\tdefault:\n\t\t}\n\t}\n\t// Set defaults.\n\tif cc.dopts.codec == nil {\n\t\tcc.dopts.codec = protoCodec{}\n\t}\n\tif cc.dopts.bs == nil {\n\t\tcc.dopts.bs = DefaultBackoffConfig\n\t}\n\tcreds := cc.dopts.copts.TransportCredentials\n\tif creds != nil && creds.Info().ServerName != \"\" {\n\t\tcc.authority = creds.Info().ServerName\n\t} else if cc.dopts.insecure && cc.dopts.copts.Authority != \"\" {\n\t\tcc.authority = cc.dopts.copts.Authority\n\t} else {\n\t\tcc.authority = target\n\t}\n\n\tif cc.dopts.balancerBuilder != nil {\n\t\tvar credsClone credentials.TransportCredentials\n\t\tif creds != nil {\n\t\t\tcredsClone = creds.Clone()\n\t\t}\n\t\tbuildOpts := balancer.BuildOptions{\n\t\t\tDialCreds: credsClone,\n\t\t\tDialer:    cc.dopts.copts.Dialer,\n\t\t}\n\t\t// Build should not take long time. So it's ok to not have a goroutine for it.\n\t\t// TODO(bar) init balancer after first resolver result to support service config balancer.\n\t\tcc.balancerWrapper = newCCBalancerWrapper(cc, cc.dopts.balancerBuilder, buildOpts)\n\t} else {\n\t\twaitC := make(chan error, 1)\n\t\tgo func() {\n\t\t\tdefer close(waitC)\n\t\t\t// No balancer, or no resolver within the balancer.  Connect directly.\n\t\t\tac, err := cc.newAddrConn([]resolver.Address{{Addr: target}})\n\t\t\tif err != nil {\n\t\t\t\twaitC <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif err := ac.connect(cc.dopts.block); err != nil {\n\t\t\t\twaitC <- err\n\t\t\t\treturn\n\t\t\t}\n\t\t}()\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\treturn nil, ctx.Err()\n\t\tcase err := <-waitC:\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t}\n\tif cc.dopts.scChan != nil && !scSet {\n\t\t// Blocking wait for the initial service config.\n\t\tselect {\n\t\tcase sc, ok := <-cc.dopts.scChan:\n\t\t\tif ok {\n\t\t\t\tcc.sc = sc\n\t\t\t}\n\t\tcase <-ctx.Done():\n\t\t\treturn nil, ctx.Err()\n\t\t}\n\t}\n\tif cc.dopts.scChan != nil {\n\t\tgo cc.scWatcher()\n\t}\n\n\t// Build the resolver.\n\tcc.resolverWrapper, err = newCCResolverWrapper(cc)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to build resolver: %v\", err)\n\t}\n\n\tif cc.balancerWrapper != nil && cc.resolverWrapper == nil {\n\t\t// TODO(bar) there should always be a resolver (DNS as the default).\n\t\t// Unblock balancer initialization with a fake resolver update if there's no resolver.\n\t\t// The balancer wrapper will not read the addresses, so an empty list works.\n\t\t// TODO(bar) remove this after the real resolver is started.\n\t\tcc.balancerWrapper.handleResolvedAddrs([]resolver.Address{}, nil)\n\t}\n\n\t// A blocking dial blocks until the clientConn is ready.\n\tif cc.dopts.block {\n\t\tfor {\n\t\t\ts := cc.GetState()\n\t\t\tif s == connectivity.Ready {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif !cc.WaitForStateChange(ctx, s) {\n\t\t\t\t// ctx got timeout or canceled.\n\t\t\t\treturn nil, ctx.Err()\n\t\t\t}\n\t\t}\n\t}\n\n\treturn cc, nil\n}\n\n// connectivityStateManager keeps the connectivity.State of ClientConn.\n// This struct will eventually be exported so the balancers can access it.\ntype connectivityStateManager struct {\n\tmu         sync.Mutex\n\tstate      connectivity.State\n\tnotifyChan chan struct{}\n}\n\n// updateState updates the connectivity.State of ClientConn.\n// If there's a change it notifies goroutines waiting on state change to\n// happen.\nfunc (csm *connectivityStateManager) updateState(state connectivity.State) {\n\tcsm.mu.Lock()\n\tdefer csm.mu.Unlock()\n\tif csm.state == connectivity.Shutdown {\n\t\treturn\n\t}\n\tif csm.state == state {\n\t\treturn\n\t}\n\tcsm.state = state\n\tif csm.notifyChan != nil {\n\t\t// There are other goroutines waiting on this channel.\n\t\tclose(csm.notifyChan)\n\t\tcsm.notifyChan = nil\n\t}\n}\n\nfunc (csm *connectivityStateManager) getState() connectivity.State {\n\tcsm.mu.Lock()\n\tdefer csm.mu.Unlock()\n\treturn csm.state\n}\n\nfunc (csm *connectivityStateManager) getNotifyChan() <-chan struct{} {\n\tcsm.mu.Lock()\n\tdefer csm.mu.Unlock()\n\tif csm.notifyChan == nil {\n\t\tcsm.notifyChan = make(chan struct{})\n\t}\n\treturn csm.notifyChan\n}\n\n// ClientConn represents a client connection to an RPC server.\ntype ClientConn struct {\n\tctx    context.Context\n\tcancel context.CancelFunc\n\n\ttarget    string\n\tauthority string\n\tdopts     dialOptions\n\tcsMgr     *connectivityStateManager\n\n\tbalancerWrapper *ccBalancerWrapper\n\tresolverWrapper *ccResolverWrapper\n\n\tblockingpicker *pickerWrapper\n\n\tmu    sync.RWMutex\n\tsc    ServiceConfig\n\tconns map[*addrConn]struct{}\n\t// Keepalive parameter can be updated if a GoAway is received.\n\tmkp keepalive.ClientParameters\n}\n\n// WaitForStateChange waits until the connectivity.State of ClientConn changes from sourceState or\n// ctx expires. A true value is returned in former case and false in latter.\n// This is an EXPERIMENTAL API.\nfunc (cc *ClientConn) WaitForStateChange(ctx context.Context, sourceState connectivity.State) bool {\n\tch := cc.csMgr.getNotifyChan()\n\tif cc.csMgr.getState() != sourceState {\n\t\treturn true\n\t}\n\tselect {\n\tcase <-ctx.Done():\n\t\treturn false\n\tcase <-ch:\n\t\treturn true\n\t}\n}\n\n// GetState returns the connectivity.State of ClientConn.\n// This is an EXPERIMENTAL API.\nfunc (cc *ClientConn) GetState() connectivity.State {\n\treturn cc.csMgr.getState()\n}\n\nfunc (cc *ClientConn) scWatcher() {\n\tfor {\n\t\tselect {\n\t\tcase sc, ok := <-cc.dopts.scChan:\n\t\t\tif !ok {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tcc.mu.Lock()\n\t\t\t// TODO: load balance policy runtime change is ignored.\n\t\t\t// We may revist this decision in the future.\n\t\t\tcc.sc = sc\n\t\t\tcc.mu.Unlock()\n\t\tcase <-cc.ctx.Done():\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// newAddrConn creates an addrConn for addrs and adds it to cc.conns.\nfunc (cc *ClientConn) newAddrConn(addrs []resolver.Address) (*addrConn, error) {\n\tac := &addrConn{\n\t\tcc:    cc,\n\t\taddrs: addrs,\n\t\tdopts: cc.dopts,\n\t}\n\tac.ctx, ac.cancel = context.WithCancel(cc.ctx)\n\t// Track ac in cc. This needs to be done before any getTransport(...) is called.\n\tcc.mu.Lock()\n\tif cc.conns == nil {\n\t\tcc.mu.Unlock()\n\t\treturn nil, ErrClientConnClosing\n\t}\n\tcc.conns[ac] = struct{}{}\n\tcc.mu.Unlock()\n\treturn ac, nil\n}\n\n// removeAddrConn removes the addrConn in the subConn from clientConn.\n// It also tears down the ac with the given error.\nfunc (cc *ClientConn) removeAddrConn(ac *addrConn, err error) {\n\tcc.mu.Lock()\n\tif cc.conns == nil {\n\t\tcc.mu.Unlock()\n\t\treturn\n\t}\n\tdelete(cc.conns, ac)\n\tcc.mu.Unlock()\n\tac.tearDown(err)\n}\n\n// connect starts to creating transport and also starts the transport monitor\n// goroutine for this ac.\n// It does nothing if the ac is not IDLE.\n// TODO(bar) Move this to the addrConn section.\n// This was part of resetAddrConn, keep it here to make the diff look clean.\nfunc (ac *addrConn) connect(block bool) error {\n\tac.mu.Lock()\n\tif ac.state == connectivity.Shutdown {\n\t\tac.mu.Unlock()\n\t\treturn errConnClosing\n\t}\n\tif ac.state != connectivity.Idle {\n\t\tac.mu.Unlock()\n\t\treturn nil\n\t}\n\tac.state = connectivity.Connecting\n\tif ac.cc.balancerWrapper != nil {\n\t\tac.cc.balancerWrapper.handleSubConnStateChange(ac.acbw, ac.state)\n\t} else {\n\t\tac.cc.csMgr.updateState(ac.state)\n\t}\n\tac.mu.Unlock()\n\n\tif block {\n\t\tif err := ac.resetTransport(); err != nil {\n\t\t\tif err != errConnClosing {\n\t\t\t\tac.tearDown(err)\n\t\t\t}\n\t\t\tif e, ok := err.(transport.ConnectionError); ok && !e.Temporary() {\n\t\t\t\treturn e.Origin()\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\t\t// Start to monitor the error status of transport.\n\t\tgo ac.transportMonitor()\n\t} else {\n\t\t// Start a goroutine connecting to the server asynchronously.\n\t\tgo func() {\n\t\t\tif err := ac.resetTransport(); err != nil {\n\t\t\t\tgrpclog.Warningf(\"Failed to dial %s: %v; please retry.\", ac.addrs[0].Addr, err)\n\t\t\t\tif err != errConnClosing {\n\t\t\t\t\t// Keep this ac in cc.conns, to get the reason it's torn down.\n\t\t\t\t\tac.tearDown(err)\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\tac.transportMonitor()\n\t\t}()\n\t}\n\treturn nil\n}\n\n// tryUpdateAddrs tries to update ac.addrs with the new addresses list.\n//\n// It checks whether current connected address of ac is in the new addrs list.\n//  - If true, it updates ac.addrs and returns true. The ac will keep using\n//    the existing connection.\n//  - If false, it does nothing and returns false.\nfunc (ac *addrConn) tryUpdateAddrs(addrs []resolver.Address) bool {\n\tac.mu.Lock()\n\tdefer ac.mu.Unlock()\n\tgrpclog.Infof(\"addrConn: tryUpdateAddrs curAddr: %v, addrs: %v\", ac.curAddr, addrs)\n\tif ac.state == connectivity.Shutdown {\n\t\tac.addrs = addrs\n\t\treturn true\n\t}\n\n\tvar curAddrFound bool\n\tfor _, a := range addrs {\n\t\tif reflect.DeepEqual(ac.curAddr, a) {\n\t\t\tcurAddrFound = true\n\t\t\tbreak\n\t\t}\n\t}\n\tgrpclog.Infof(\"addrConn: tryUpdateAddrs curAddrFound: %v\", curAddrFound)\n\tif curAddrFound {\n\t\tac.addrs = addrs\n\t}\n\n\treturn curAddrFound\n}\n\n// GetMethodConfig gets the method config of the input method.\n// If there's an exact match for input method (i.e. /service/method), we return\n// the corresponding MethodConfig.\n// If there isn't an exact match for the input method, we look for the default config\n// under the service (i.e /service/). If there is a default MethodConfig for\n// the serivce, we return it.\n// Otherwise, we return an empty MethodConfig.\nfunc (cc *ClientConn) GetMethodConfig(method string) MethodConfig {\n\t// TODO: Avoid the locking here.\n\tcc.mu.RLock()\n\tdefer cc.mu.RUnlock()\n\tm, ok := cc.sc.Methods[method]\n\tif !ok {\n\t\ti := strings.LastIndex(method, \"/\")\n\t\tm, _ = cc.sc.Methods[method[:i+1]]\n\t}\n\treturn m\n}\n\nfunc (cc *ClientConn) getTransport(ctx context.Context, failfast bool) (transport.ClientTransport, func(balancer.DoneInfo), error) {\n\tif cc.balancerWrapper == nil {\n\t\t// If balancer is nil, there should be only one addrConn available.\n\t\tcc.mu.RLock()\n\t\tif cc.conns == nil {\n\t\t\tcc.mu.RUnlock()\n\t\t\t// TODO this function returns toRPCErr and non-toRPCErr. Clean up\n\t\t\t// the errors in ClientConn.\n\t\t\treturn nil, nil, toRPCErr(ErrClientConnClosing)\n\t\t}\n\t\tvar ac *addrConn\n\t\tfor ac = range cc.conns {\n\t\t\t// Break after the first iteration to get the first addrConn.\n\t\t\tbreak\n\t\t}\n\t\tcc.mu.RUnlock()\n\t\tif ac == nil {\n\t\t\treturn nil, nil, errConnClosing\n\t\t}\n\t\tt, err := ac.wait(ctx, false /*hasBalancer*/, failfast)\n\t\tif err != nil {\n\t\t\treturn nil, nil, err\n\t\t}\n\t\treturn t, nil, nil\n\t}\n\n\tt, done, err := cc.blockingpicker.pick(ctx, failfast, balancer.PickOptions{})\n\tif err != nil {\n\t\treturn nil, nil, toRPCErr(err)\n\t}\n\treturn t, done, nil\n}\n\n// Close tears down the ClientConn and all underlying connections.\nfunc (cc *ClientConn) Close() error {\n\tcc.cancel()\n\n\tcc.mu.Lock()\n\tif cc.conns == nil {\n\t\tcc.mu.Unlock()\n\t\treturn ErrClientConnClosing\n\t}\n\tconns := cc.conns\n\tcc.conns = nil\n\tcc.csMgr.updateState(connectivity.Shutdown)\n\tcc.mu.Unlock()\n\tcc.blockingpicker.close()\n\tif cc.resolverWrapper != nil {\n\t\tcc.resolverWrapper.close()\n\t}\n\tif cc.balancerWrapper != nil {\n\t\tcc.balancerWrapper.close()\n\t}\n\tfor ac := range conns {\n\t\tac.tearDown(ErrClientConnClosing)\n\t}\n\treturn nil\n}\n\n// addrConn is a network connection to a given address.\ntype addrConn struct {\n\tctx    context.Context\n\tcancel context.CancelFunc\n\n\tcc      *ClientConn\n\tcurAddr resolver.Address\n\taddrs   []resolver.Address\n\tdopts   dialOptions\n\tevents  trace.EventLog\n\tacbw    balancer.SubConn\n\n\tmu    sync.Mutex\n\tstate connectivity.State\n\t// ready is closed and becomes nil when a new transport is up or failed\n\t// due to timeout.\n\tready     chan struct{}\n\ttransport transport.ClientTransport\n\n\t// The reason this addrConn is torn down.\n\ttearDownErr error\n}\n\n// adjustParams updates parameters used to create transports upon\n// receiving a GoAway.\nfunc (ac *addrConn) adjustParams(r transport.GoAwayReason) {\n\tswitch r {\n\tcase transport.TooManyPings:\n\t\tv := 2 * ac.dopts.copts.KeepaliveParams.Time\n\t\tac.cc.mu.Lock()\n\t\tif v > ac.cc.mkp.Time {\n\t\t\tac.cc.mkp.Time = v\n\t\t}\n\t\tac.cc.mu.Unlock()\n\t}\n}\n\n// printf records an event in ac's event log, unless ac has been closed.\n// REQUIRES ac.mu is held.\nfunc (ac *addrConn) printf(format string, a ...interface{}) {\n\tif ac.events != nil {\n\t\tac.events.Printf(format, a...)\n\t}\n}\n\n// errorf records an error in ac's event log, unless ac has been closed.\n// REQUIRES ac.mu is held.\nfunc (ac *addrConn) errorf(format string, a ...interface{}) {\n\tif ac.events != nil {\n\t\tac.events.Errorf(format, a...)\n\t}\n}\n\n// resetTransport recreates a transport to the address for ac.  The old\n// transport will close itself on error or when the clientconn is closed.\n//\n// TODO(bar) make sure all state transitions are valid.\nfunc (ac *addrConn) resetTransport() error {\n\tac.mu.Lock()\n\tif ac.state == connectivity.Shutdown {\n\t\tac.mu.Unlock()\n\t\treturn errConnClosing\n\t}\n\tif ac.ready != nil {\n\t\tclose(ac.ready)\n\t\tac.ready = nil\n\t}\n\tac.transport = nil\n\tac.curAddr = resolver.Address{}\n\tac.mu.Unlock()\n\tac.cc.mu.RLock()\n\tac.dopts.copts.KeepaliveParams = ac.cc.mkp\n\tac.cc.mu.RUnlock()\n\tfor retries := 0; ; retries++ {\n\t\tsleepTime := ac.dopts.bs.backoff(retries)\n\t\ttimeout := minConnectTimeout\n\t\tac.mu.Lock()\n\t\tif timeout < time.Duration(int(sleepTime)/len(ac.addrs)) {\n\t\t\ttimeout = time.Duration(int(sleepTime) / len(ac.addrs))\n\t\t}\n\t\tconnectTime := time.Now()\n\t\tif ac.state == connectivity.Shutdown {\n\t\t\tac.mu.Unlock()\n\t\t\treturn errConnClosing\n\t\t}\n\t\tac.printf(\"connecting\")\n\t\tif ac.state != connectivity.Connecting {\n\t\t\tac.state = connectivity.Connecting\n\t\t\t// TODO(bar) remove condition once we always have a balancer.\n\t\t\tif ac.cc.balancerWrapper != nil {\n\t\t\t\tac.cc.balancerWrapper.handleSubConnStateChange(ac.acbw, ac.state)\n\t\t\t} else {\n\t\t\t\tac.cc.csMgr.updateState(ac.state)\n\t\t\t}\n\t\t}\n\t\t// copy ac.addrs in case of race\n\t\taddrsIter := make([]resolver.Address, len(ac.addrs))\n\t\tcopy(addrsIter, ac.addrs)\n\t\tcopts := ac.dopts.copts\n\t\tac.mu.Unlock()\n\t\tfor _, addr := range addrsIter {\n\t\t\tac.mu.Lock()\n\t\t\tif ac.state == connectivity.Shutdown {\n\t\t\t\t// ac.tearDown(...) has been invoked.\n\t\t\t\tac.mu.Unlock()\n\t\t\t\treturn errConnClosing\n\t\t\t}\n\t\t\tac.mu.Unlock()\n\t\t\tsinfo := transport.TargetInfo{\n\t\t\t\tAddr:     addr.Addr,\n\t\t\t\tMetadata: addr.Metadata,\n\t\t\t}\n\t\t\tnewTransport, err := transport.NewClientTransport(ac.cc.ctx, sinfo, copts, timeout)\n\t\t\tif err != nil {\n\t\t\t\tif e, ok := err.(transport.ConnectionError); ok && !e.Temporary() {\n\t\t\t\t\tac.mu.Lock()\n\t\t\t\t\tif ac.state != connectivity.Shutdown {\n\t\t\t\t\t\tac.state = connectivity.TransientFailure\n\t\t\t\t\t\tif ac.cc.balancerWrapper != nil {\n\t\t\t\t\t\t\tac.cc.balancerWrapper.handleSubConnStateChange(ac.acbw, ac.state)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tac.cc.csMgr.updateState(ac.state)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tac.mu.Unlock()\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tgrpclog.Warningf(\"grpc: addrConn.resetTransport failed to create client transport: %v; Reconnecting to %v\", err, addr)\n\t\t\t\tac.mu.Lock()\n\t\t\t\tif ac.state == connectivity.Shutdown {\n\t\t\t\t\t// ac.tearDown(...) has been invoked.\n\t\t\t\t\tac.mu.Unlock()\n\t\t\t\t\treturn errConnClosing\n\t\t\t\t}\n\t\t\t\tac.mu.Unlock()\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tac.mu.Lock()\n\t\t\tac.printf(\"ready\")\n\t\t\tif ac.state == connectivity.Shutdown {\n\t\t\t\t// ac.tearDown(...) has been invoked.\n\t\t\t\tac.mu.Unlock()\n\t\t\t\tnewTransport.Close()\n\t\t\t\treturn errConnClosing\n\t\t\t}\n\t\t\tac.state = connectivity.Ready\n\t\t\tif ac.cc.balancerWrapper != nil {\n\t\t\t\tac.cc.balancerWrapper.handleSubConnStateChange(ac.acbw, ac.state)\n\t\t\t} else {\n\t\t\t\tac.cc.csMgr.updateState(ac.state)\n\t\t\t}\n\t\t\tt := ac.transport\n\t\t\tac.transport = newTransport\n\t\t\tif t != nil {\n\t\t\t\tt.Close()\n\t\t\t}\n\t\t\tac.curAddr = addr\n\t\t\tif ac.ready != nil {\n\t\t\t\tclose(ac.ready)\n\t\t\t\tac.ready = nil\n\t\t\t}\n\t\t\tac.mu.Unlock()\n\t\t\treturn nil\n\t\t}\n\t\tac.mu.Lock()\n\t\tac.state = connectivity.TransientFailure\n\t\tif ac.cc.balancerWrapper != nil {\n\t\t\tac.cc.balancerWrapper.handleSubConnStateChange(ac.acbw, ac.state)\n\t\t} else {\n\t\t\tac.cc.csMgr.updateState(ac.state)\n\t\t}\n\t\tif ac.ready != nil {\n\t\t\tclose(ac.ready)\n\t\t\tac.ready = nil\n\t\t}\n\t\tac.mu.Unlock()\n\t\ttimer := time.NewTimer(sleepTime - time.Since(connectTime))\n\t\tselect {\n\t\tcase <-timer.C:\n\t\tcase <-ac.ctx.Done():\n\t\t\ttimer.Stop()\n\t\t\treturn ac.ctx.Err()\n\t\t}\n\t\ttimer.Stop()\n\t}\n}\n\n// Run in a goroutine to track the error in transport and create the\n// new transport if an error happens. It returns when the channel is closing.\nfunc (ac *addrConn) transportMonitor() {\n\tfor {\n\t\tac.mu.Lock()\n\t\tt := ac.transport\n\t\tac.mu.Unlock()\n\t\t// Block until we receive a goaway or an error occurs.\n\t\tselect {\n\t\tcase <-t.GoAway():\n\t\tcase <-t.Error():\n\t\t}\n\t\t// If a GoAway happened, regardless of error, adjust our keepalive\n\t\t// parameters as appropriate.\n\t\tselect {\n\t\tcase <-t.GoAway():\n\t\t\tac.adjustParams(t.GetGoAwayReason())\n\t\tdefault:\n\t\t}\n\t\tac.mu.Lock()\n\t\tif ac.state == connectivity.Shutdown {\n\t\t\tac.mu.Unlock()\n\t\t\treturn\n\t\t}\n\t\t// Set connectivity state to TransientFailure before calling\n\t\t// resetTransport. Transition READY->CONNECTING is not valid.\n\t\tac.state = connectivity.TransientFailure\n\t\tif ac.cc.balancerWrapper != nil {\n\t\t\tac.cc.balancerWrapper.handleSubConnStateChange(ac.acbw, ac.state)\n\t\t} else {\n\t\t\tac.cc.csMgr.updateState(ac.state)\n\t\t}\n\t\tac.curAddr = resolver.Address{}\n\t\tac.mu.Unlock()\n\t\tif err := ac.resetTransport(); err != nil {\n\t\t\tac.mu.Lock()\n\t\t\tac.printf(\"transport exiting: %v\", err)\n\t\t\tac.mu.Unlock()\n\t\t\tgrpclog.Warningf(\"grpc: addrConn.transportMonitor exits due to: %v\", err)\n\t\t\tif err != errConnClosing {\n\t\t\t\t// Keep this ac in cc.conns, to get the reason it's torn down.\n\t\t\t\tac.tearDown(err)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// wait blocks until i) the new transport is up or ii) ctx is done or iii) ac is closed or\n// iv) transport is in connectivity.TransientFailure and there is a balancer/failfast is true.\nfunc (ac *addrConn) wait(ctx context.Context, hasBalancer, failfast bool) (transport.ClientTransport, error) {\n\tfor {\n\t\tac.mu.Lock()\n\t\tswitch {\n\t\tcase ac.state == connectivity.Shutdown:\n\t\t\tif failfast || !hasBalancer {\n\t\t\t\t// RPC is failfast or balancer is nil. This RPC should fail with ac.tearDownErr.\n\t\t\t\terr := ac.tearDownErr\n\t\t\t\tac.mu.Unlock()\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tac.mu.Unlock()\n\t\t\treturn nil, errConnClosing\n\t\tcase ac.state == connectivity.Ready:\n\t\t\tct := ac.transport\n\t\t\tac.mu.Unlock()\n\t\t\treturn ct, nil\n\t\tcase ac.state == connectivity.TransientFailure:\n\t\t\tif failfast || hasBalancer {\n\t\t\t\tac.mu.Unlock()\n\t\t\t\treturn nil, errConnUnavailable\n\t\t\t}\n\t\t}\n\t\tready := ac.ready\n\t\tif ready == nil {\n\t\t\tready = make(chan struct{})\n\t\t\tac.ready = ready\n\t\t}\n\t\tac.mu.Unlock()\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\treturn nil, toRPCErr(ctx.Err())\n\t\t// Wait until the new transport is ready or failed.\n\t\tcase <-ready:\n\t\t}\n\t}\n}\n\n// getReadyTransport returns the transport if ac's state is READY.\n// Otherwise it returns nil, false.\n// If ac's state is IDLE, it will trigger ac to connect.\nfunc (ac *addrConn) getReadyTransport() (transport.ClientTransport, bool) {\n\tac.mu.Lock()\n\tif ac.state == connectivity.Ready {\n\t\tt := ac.transport\n\t\tac.mu.Unlock()\n\t\treturn t, true\n\t}\n\tvar idle bool\n\tif ac.state == connectivity.Idle {\n\t\tidle = true\n\t}\n\tac.mu.Unlock()\n\t// Trigger idle ac to connect.\n\tif idle {\n\t\tac.connect(false)\n\t}\n\treturn nil, false\n}\n\n// tearDown starts to tear down the addrConn.\n// TODO(zhaoq): Make this synchronous to avoid unbounded memory consumption in\n// some edge cases (e.g., the caller opens and closes many addrConn's in a\n// tight loop.\n// tearDown doesn't remove ac from ac.cc.conns.\nfunc (ac *addrConn) tearDown(err error) {\n\tac.cancel()\n\tac.mu.Lock()\n\tac.curAddr = resolver.Address{}\n\tdefer ac.mu.Unlock()\n\tif err == errConnDrain && ac.transport != nil {\n\t\t// GracefulClose(...) may be executed multiple times when\n\t\t// i) receiving multiple GoAway frames from the server; or\n\t\t// ii) there are concurrent name resolver/Balancer triggered\n\t\t// address removal and GoAway.\n\t\tac.transport.GracefulClose()\n\t}\n\tif ac.state == connectivity.Shutdown {\n\t\treturn\n\t}\n\tac.state = connectivity.Shutdown\n\tac.tearDownErr = err\n\tif ac.cc.balancerWrapper != nil {\n\t\tac.cc.balancerWrapper.handleSubConnStateChange(ac.acbw, ac.state)\n\t} else {\n\t\tac.cc.csMgr.updateState(ac.state)\n\t}\n\tif ac.events != nil {\n\t\tac.events.Finish()\n\t\tac.events = nil\n\t}\n\tif ac.ready != nil {\n\t\tclose(ac.ready)\n\t\tac.ready = nil\n\t}\n\treturn\n}\n\nfunc (ac *addrConn) getState() connectivity.State {\n\tac.mu.Lock()\n\tdefer ac.mu.Unlock()\n\treturn ac.state\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/codec.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"math\"\n\t\"sync\"\n\n\t\"github.com/golang/protobuf/proto\"\n)\n\n// Codec defines the interface gRPC uses to encode and decode messages.\n// Note that implementations of this interface must be thread safe;\n// a Codec's methods can be called from concurrent goroutines.\ntype Codec interface {\n\t// Marshal returns the wire format of v.\n\tMarshal(v interface{}) ([]byte, error)\n\t// Unmarshal parses the wire format into v.\n\tUnmarshal(data []byte, v interface{}) error\n\t// String returns the name of the Codec implementation. The returned\n\t// string will be used as part of content type in transmission.\n\tString() string\n}\n\n// protoCodec is a Codec implementation with protobuf. It is the default codec for gRPC.\ntype protoCodec struct {\n}\n\ntype cachedProtoBuffer struct {\n\tlastMarshaledSize uint32\n\tproto.Buffer\n}\n\nfunc capToMaxInt32(val int) uint32 {\n\tif val > math.MaxInt32 {\n\t\treturn uint32(math.MaxInt32)\n\t}\n\treturn uint32(val)\n}\n\nfunc (p protoCodec) marshal(v interface{}, cb *cachedProtoBuffer) ([]byte, error) {\n\tprotoMsg := v.(proto.Message)\n\tnewSlice := make([]byte, 0, cb.lastMarshaledSize)\n\n\tcb.SetBuf(newSlice)\n\tcb.Reset()\n\tif err := cb.Marshal(protoMsg); err != nil {\n\t\treturn nil, err\n\t}\n\tout := cb.Bytes()\n\tcb.lastMarshaledSize = capToMaxInt32(len(out))\n\treturn out, nil\n}\n\nfunc (p protoCodec) Marshal(v interface{}) ([]byte, error) {\n\tcb := protoBufferPool.Get().(*cachedProtoBuffer)\n\tout, err := p.marshal(v, cb)\n\n\t// put back buffer and lose the ref to the slice\n\tcb.SetBuf(nil)\n\tprotoBufferPool.Put(cb)\n\treturn out, err\n}\n\nfunc (p protoCodec) Unmarshal(data []byte, v interface{}) error {\n\tcb := protoBufferPool.Get().(*cachedProtoBuffer)\n\tcb.SetBuf(data)\n\tv.(proto.Message).Reset()\n\terr := cb.Unmarshal(v.(proto.Message))\n\tcb.SetBuf(nil)\n\tprotoBufferPool.Put(cb)\n\treturn err\n}\n\nfunc (protoCodec) String() string {\n\treturn \"proto\"\n}\n\nvar (\n\tprotoBufferPool = &sync.Pool{\n\t\tNew: func() interface{} {\n\t\t\treturn &cachedProtoBuffer{\n\t\t\t\tBuffer:            proto.Buffer{},\n\t\t\t\tlastMarshaledSize: 16,\n\t\t\t}\n\t\t},\n\t}\n)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/codes/code_string.go",
    "content": "// Code generated by \"stringer -type=Code\"; DO NOT EDIT.\n\npackage codes\n\nimport \"fmt\"\n\nconst _Code_name = \"OKCanceledUnknownInvalidArgumentDeadlineExceededNotFoundAlreadyExistsPermissionDeniedResourceExhaustedFailedPreconditionAbortedOutOfRangeUnimplementedInternalUnavailableDataLossUnauthenticated\"\n\nvar _Code_index = [...]uint8{0, 2, 10, 17, 32, 48, 56, 69, 85, 102, 120, 127, 137, 150, 158, 169, 177, 192}\n\nfunc (i Code) String() string {\n\tif i >= Code(len(_Code_index)-1) {\n\t\treturn fmt.Sprintf(\"Code(%d)\", i)\n\t}\n\treturn _Code_name[_Code_index[i]:_Code_index[i+1]]\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/codes/codes.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\n// Package codes defines the canonical error codes used by gRPC. It is\n// consistent across various languages.\npackage codes // import \"google.golang.org/grpc/codes\"\n\n// A Code is an unsigned 32-bit error code as defined in the gRPC spec.\ntype Code uint32\n\n//go:generate stringer -type=Code\n\nconst (\n\t// OK is returned on success.\n\tOK Code = 0\n\n\t// Canceled indicates the operation was canceled (typically by the caller).\n\tCanceled Code = 1\n\n\t// Unknown error.  An example of where this error may be returned is\n\t// if a Status value received from another address space belongs to\n\t// an error-space that is not known in this address space.  Also\n\t// errors raised by APIs that do not return enough error information\n\t// may be converted to this error.\n\tUnknown Code = 2\n\n\t// InvalidArgument indicates client specified an invalid argument.\n\t// Note that this differs from FailedPrecondition. It indicates arguments\n\t// that are problematic regardless of the state of the system\n\t// (e.g., a malformed file name).\n\tInvalidArgument Code = 3\n\n\t// DeadlineExceeded means operation expired before completion.\n\t// For operations that change the state of the system, this error may be\n\t// returned even if the operation has completed successfully. For\n\t// example, a successful response from a server could have been delayed\n\t// long enough for the deadline to expire.\n\tDeadlineExceeded Code = 4\n\n\t// NotFound means some requested entity (e.g., file or directory) was\n\t// not found.\n\tNotFound Code = 5\n\n\t// AlreadyExists means an attempt to create an entity failed because one\n\t// already exists.\n\tAlreadyExists Code = 6\n\n\t// PermissionDenied indicates the caller does not have permission to\n\t// execute the specified operation. It must not be used for rejections\n\t// caused by exhausting some resource (use ResourceExhausted\n\t// instead for those errors).  It must not be\n\t// used if the caller cannot be identified (use Unauthenticated\n\t// instead for those errors).\n\tPermissionDenied Code = 7\n\n\t// Unauthenticated indicates the request does not have valid\n\t// authentication credentials for the operation.\n\tUnauthenticated Code = 16\n\n\t// ResourceExhausted indicates some resource has been exhausted, perhaps\n\t// a per-user quota, or perhaps the entire file system is out of space.\n\tResourceExhausted Code = 8\n\n\t// FailedPrecondition indicates operation was rejected because the\n\t// system is not in a state required for the operation's execution.\n\t// For example, directory to be deleted may be non-empty, an rmdir\n\t// operation is applied to a non-directory, etc.\n\t//\n\t// A litmus test that may help a service implementor in deciding\n\t// between FailedPrecondition, Aborted, and Unavailable:\n\t//  (a) Use Unavailable if the client can retry just the failing call.\n\t//  (b) Use Aborted if the client should retry at a higher-level\n\t//      (e.g., restarting a read-modify-write sequence).\n\t//  (c) Use FailedPrecondition if the client should not retry until\n\t//      the system state has been explicitly fixed.  E.g., if an \"rmdir\"\n\t//      fails because the directory is non-empty, FailedPrecondition\n\t//      should be returned since the client should not retry unless\n\t//      they have first fixed up the directory by deleting files from it.\n\t//  (d) Use FailedPrecondition if the client performs conditional\n\t//      REST Get/Update/Delete on a resource and the resource on the\n\t//      server does not match the condition. E.g., conflicting\n\t//      read-modify-write on the same resource.\n\tFailedPrecondition Code = 9\n\n\t// Aborted indicates the operation was aborted, typically due to a\n\t// concurrency issue like sequencer check failures, transaction aborts,\n\t// etc.\n\t//\n\t// See litmus test above for deciding between FailedPrecondition,\n\t// Aborted, and Unavailable.\n\tAborted Code = 10\n\n\t// OutOfRange means operation was attempted past the valid range.\n\t// E.g., seeking or reading past end of file.\n\t//\n\t// Unlike InvalidArgument, this error indicates a problem that may\n\t// be fixed if the system state changes. For example, a 32-bit file\n\t// system will generate InvalidArgument if asked to read at an\n\t// offset that is not in the range [0,2^32-1], but it will generate\n\t// OutOfRange if asked to read from an offset past the current\n\t// file size.\n\t//\n\t// There is a fair bit of overlap between FailedPrecondition and\n\t// OutOfRange.  We recommend using OutOfRange (the more specific\n\t// error) when it applies so that callers who are iterating through\n\t// a space can easily look for an OutOfRange error to detect when\n\t// they are done.\n\tOutOfRange Code = 11\n\n\t// Unimplemented indicates operation is not implemented or not\n\t// supported/enabled in this service.\n\tUnimplemented Code = 12\n\n\t// Internal errors.  Means some invariants expected by underlying\n\t// system has been broken.  If you see one of these errors,\n\t// something is very broken.\n\tInternal Code = 13\n\n\t// Unavailable indicates the service is currently unavailable.\n\t// This is a most likely a transient condition and may be corrected\n\t// by retrying with a backoff.\n\t//\n\t// See litmus test above for deciding between FailedPrecondition,\n\t// Aborted, and Unavailable.\n\tUnavailable Code = 14\n\n\t// DataLoss indicates unrecoverable data loss or corruption.\n\tDataLoss Code = 15\n)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/connectivity/connectivity.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\n// Package connectivity defines connectivity semantics.\n// For details, see https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md.\n// All APIs in this package are experimental.\npackage connectivity\n\nimport (\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/grpclog\"\n)\n\n// State indicates the state of connectivity.\n// It can be the state of a ClientConn or SubConn.\ntype State int\n\nfunc (s State) String() string {\n\tswitch s {\n\tcase Idle:\n\t\treturn \"IDLE\"\n\tcase Connecting:\n\t\treturn \"CONNECTING\"\n\tcase Ready:\n\t\treturn \"READY\"\n\tcase TransientFailure:\n\t\treturn \"TRANSIENT_FAILURE\"\n\tcase Shutdown:\n\t\treturn \"SHUTDOWN\"\n\tdefault:\n\t\tgrpclog.Errorf(\"unknown connectivity state: %d\", s)\n\t\treturn \"Invalid-State\"\n\t}\n}\n\nconst (\n\t// Idle indicates the ClientConn is idle.\n\tIdle State = iota\n\t// Connecting indicates the ClienConn is connecting.\n\tConnecting\n\t// Ready indicates the ClientConn is ready for work.\n\tReady\n\t// TransientFailure indicates the ClientConn has seen a failure but expects to recover.\n\tTransientFailure\n\t// Shutdown indicates the ClientConn has started shutting down.\n\tShutdown\n)\n\n// Reporter reports the connectivity states.\ntype Reporter interface {\n\t// CurrentState returns the current state of the reporter.\n\tCurrentState() State\n\t// WaitForStateChange blocks until the reporter's state is different from the given state,\n\t// and returns true.\n\t// It returns false if <-ctx.Done() can proceed (ctx got timeout or got canceled).\n\tWaitForStateChange(context.Context, State) bool\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/credentials/credentials.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\n// Package credentials implements various credentials supported by gRPC library,\n// which encapsulate all the state needed by a client to authenticate with a\n// server and make various assertions, e.g., about the client's identity, role,\n// or whether it is authorized to make a particular call.\npackage credentials // import \"google.golang.org/grpc/credentials\"\n\nimport (\n\t\"crypto/tls\"\n\t\"crypto/x509\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"net\"\n\t\"strings\"\n\n\t\"golang.org/x/net/context\"\n)\n\nvar (\n\t// alpnProtoStr are the specified application level protocols for gRPC.\n\talpnProtoStr = []string{\"h2\"}\n)\n\n// PerRPCCredentials defines the common interface for the credentials which need to\n// attach security information to every RPC (e.g., oauth2).\ntype PerRPCCredentials interface {\n\t// GetRequestMetadata gets the current request metadata, refreshing\n\t// tokens if required. This should be called by the transport layer on\n\t// each request, and the data should be populated in headers or other\n\t// context. uri is the URI of the entry point for the request. When\n\t// supported by the underlying implementation, ctx can be used for\n\t// timeout and cancellation.\n\t// TODO(zhaoq): Define the set of the qualified keys instead of leaving\n\t// it as an arbitrary string.\n\tGetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error)\n\t// RequireTransportSecurity indicates whether the credentials requires\n\t// transport security.\n\tRequireTransportSecurity() bool\n}\n\n// ProtocolInfo provides information regarding the gRPC wire protocol version,\n// security protocol, security protocol version in use, server name, etc.\ntype ProtocolInfo struct {\n\t// ProtocolVersion is the gRPC wire protocol version.\n\tProtocolVersion string\n\t// SecurityProtocol is the security protocol in use.\n\tSecurityProtocol string\n\t// SecurityVersion is the security protocol version.\n\tSecurityVersion string\n\t// ServerName is the user-configured server name.\n\tServerName string\n}\n\n// AuthInfo defines the common interface for the auth information the users are interested in.\ntype AuthInfo interface {\n\tAuthType() string\n}\n\nvar (\n\t// ErrConnDispatched indicates that rawConn has been dispatched out of gRPC\n\t// and the caller should not close rawConn.\n\tErrConnDispatched = errors.New(\"credentials: rawConn is dispatched out of gRPC\")\n)\n\n// TransportCredentials defines the common interface for all the live gRPC wire\n// protocols and supported transport security protocols (e.g., TLS, SSL).\ntype TransportCredentials interface {\n\t// ClientHandshake does the authentication handshake specified by the corresponding\n\t// authentication protocol on rawConn for clients. It returns the authenticated\n\t// connection and the corresponding auth information about the connection.\n\t// Implementations must use the provided context to implement timely cancellation.\n\t// gRPC will try to reconnect if the error returned is a temporary error\n\t// (io.EOF, context.DeadlineExceeded or err.Temporary() == true).\n\t// If the returned error is a wrapper error, implementations should make sure that\n\t// the error implements Temporary() to have the correct retry behaviors.\n\t//\n\t// If the returned net.Conn is closed, it MUST close the net.Conn provided.\n\tClientHandshake(context.Context, string, net.Conn) (net.Conn, AuthInfo, error)\n\t// ServerHandshake does the authentication handshake for servers. It returns\n\t// the authenticated connection and the corresponding auth information about\n\t// the connection.\n\t//\n\t// If the returned net.Conn is closed, it MUST close the net.Conn provided.\n\tServerHandshake(net.Conn) (net.Conn, AuthInfo, error)\n\t// Info provides the ProtocolInfo of this TransportCredentials.\n\tInfo() ProtocolInfo\n\t// Clone makes a copy of this TransportCredentials.\n\tClone() TransportCredentials\n\t// OverrideServerName overrides the server name used to verify the hostname on the returned certificates from the server.\n\t// gRPC internals also use it to override the virtual hosting name if it is set.\n\t// It must be called before dialing. Currently, this is only used by grpclb.\n\tOverrideServerName(string) error\n}\n\n// TLSInfo contains the auth information for a TLS authenticated connection.\n// It implements the AuthInfo interface.\ntype TLSInfo struct {\n\tState tls.ConnectionState\n}\n\n// AuthType returns the type of TLSInfo as a string.\nfunc (t TLSInfo) AuthType() string {\n\treturn \"tls\"\n}\n\n// tlsCreds is the credentials required for authenticating a connection using TLS.\ntype tlsCreds struct {\n\t// TLS configuration\n\tconfig *tls.Config\n}\n\nfunc (c tlsCreds) Info() ProtocolInfo {\n\treturn ProtocolInfo{\n\t\tSecurityProtocol: \"tls\",\n\t\tSecurityVersion:  \"1.2\",\n\t\tServerName:       c.config.ServerName,\n\t}\n}\n\nfunc (c *tlsCreds) ClientHandshake(ctx context.Context, addr string, rawConn net.Conn) (_ net.Conn, _ AuthInfo, err error) {\n\t// use local cfg to avoid clobbering ServerName if using multiple endpoints\n\tcfg := cloneTLSConfig(c.config)\n\tif cfg.ServerName == \"\" {\n\t\tcolonPos := strings.LastIndex(addr, \":\")\n\t\tif colonPos == -1 {\n\t\t\tcolonPos = len(addr)\n\t\t}\n\t\tcfg.ServerName = addr[:colonPos]\n\t}\n\tconn := tls.Client(rawConn, cfg)\n\terrChannel := make(chan error, 1)\n\tgo func() {\n\t\terrChannel <- conn.Handshake()\n\t}()\n\tselect {\n\tcase err := <-errChannel:\n\t\tif err != nil {\n\t\t\treturn nil, nil, err\n\t\t}\n\tcase <-ctx.Done():\n\t\treturn nil, nil, ctx.Err()\n\t}\n\treturn conn, TLSInfo{conn.ConnectionState()}, nil\n}\n\nfunc (c *tlsCreds) ServerHandshake(rawConn net.Conn) (net.Conn, AuthInfo, error) {\n\tconn := tls.Server(rawConn, c.config)\n\tif err := conn.Handshake(); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn conn, TLSInfo{conn.ConnectionState()}, nil\n}\n\nfunc (c *tlsCreds) Clone() TransportCredentials {\n\treturn NewTLS(c.config)\n}\n\nfunc (c *tlsCreds) OverrideServerName(serverNameOverride string) error {\n\tc.config.ServerName = serverNameOverride\n\treturn nil\n}\n\n// NewTLS uses c to construct a TransportCredentials based on TLS.\nfunc NewTLS(c *tls.Config) TransportCredentials {\n\ttc := &tlsCreds{cloneTLSConfig(c)}\n\ttc.config.NextProtos = alpnProtoStr\n\treturn tc\n}\n\n// NewClientTLSFromCert constructs TLS credentials from the input certificate for client.\n// serverNameOverride is for testing only. If set to a non empty string,\n// it will override the virtual host name of authority (e.g. :authority header field) in requests.\nfunc NewClientTLSFromCert(cp *x509.CertPool, serverNameOverride string) TransportCredentials {\n\treturn NewTLS(&tls.Config{ServerName: serverNameOverride, RootCAs: cp})\n}\n\n// NewClientTLSFromFile constructs TLS credentials from the input certificate file for client.\n// serverNameOverride is for testing only. If set to a non empty string,\n// it will override the virtual host name of authority (e.g. :authority header field) in requests.\nfunc NewClientTLSFromFile(certFile, serverNameOverride string) (TransportCredentials, error) {\n\tb, err := ioutil.ReadFile(certFile)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tcp := x509.NewCertPool()\n\tif !cp.AppendCertsFromPEM(b) {\n\t\treturn nil, fmt.Errorf(\"credentials: failed to append certificates\")\n\t}\n\treturn NewTLS(&tls.Config{ServerName: serverNameOverride, RootCAs: cp}), nil\n}\n\n// NewServerTLSFromCert constructs TLS credentials from the input certificate for server.\nfunc NewServerTLSFromCert(cert *tls.Certificate) TransportCredentials {\n\treturn NewTLS(&tls.Config{Certificates: []tls.Certificate{*cert}})\n}\n\n// NewServerTLSFromFile constructs TLS credentials from the input certificate file and key\n// file for server.\nfunc NewServerTLSFromFile(certFile, keyFile string) (TransportCredentials, error) {\n\tcert, err := tls.LoadX509KeyPair(certFile, keyFile)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn NewTLS(&tls.Config{Certificates: []tls.Certificate{cert}}), nil\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/credentials/credentials_util_go17.go",
    "content": "// +build go1.7\n// +build !go1.8\n\n/*\n *\n * Copyright 2016 gRPC authors.\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\npackage credentials\n\nimport (\n\t\"crypto/tls\"\n)\n\n// cloneTLSConfig returns a shallow clone of the exported\n// fields of cfg, ignoring the unexported sync.Once, which\n// contains a mutex and must not be copied.\n//\n// If cfg is nil, a new zero tls.Config is returned.\nfunc cloneTLSConfig(cfg *tls.Config) *tls.Config {\n\tif cfg == nil {\n\t\treturn &tls.Config{}\n\t}\n\treturn &tls.Config{\n\t\tRand:                        cfg.Rand,\n\t\tTime:                        cfg.Time,\n\t\tCertificates:                cfg.Certificates,\n\t\tNameToCertificate:           cfg.NameToCertificate,\n\t\tGetCertificate:              cfg.GetCertificate,\n\t\tRootCAs:                     cfg.RootCAs,\n\t\tNextProtos:                  cfg.NextProtos,\n\t\tServerName:                  cfg.ServerName,\n\t\tClientAuth:                  cfg.ClientAuth,\n\t\tClientCAs:                   cfg.ClientCAs,\n\t\tInsecureSkipVerify:          cfg.InsecureSkipVerify,\n\t\tCipherSuites:                cfg.CipherSuites,\n\t\tPreferServerCipherSuites:    cfg.PreferServerCipherSuites,\n\t\tSessionTicketsDisabled:      cfg.SessionTicketsDisabled,\n\t\tSessionTicketKey:            cfg.SessionTicketKey,\n\t\tClientSessionCache:          cfg.ClientSessionCache,\n\t\tMinVersion:                  cfg.MinVersion,\n\t\tMaxVersion:                  cfg.MaxVersion,\n\t\tCurvePreferences:            cfg.CurvePreferences,\n\t\tDynamicRecordSizingDisabled: cfg.DynamicRecordSizingDisabled,\n\t\tRenegotiation:               cfg.Renegotiation,\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/credentials/credentials_util_go18.go",
    "content": "// +build go1.8\n\n/*\n *\n * Copyright 2017 gRPC authors.\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\npackage credentials\n\nimport (\n\t\"crypto/tls\"\n)\n\n// cloneTLSConfig returns a shallow clone of the exported\n// fields of cfg, ignoring the unexported sync.Once, which\n// contains a mutex and must not be copied.\n//\n// If cfg is nil, a new zero tls.Config is returned.\nfunc cloneTLSConfig(cfg *tls.Config) *tls.Config {\n\tif cfg == nil {\n\t\treturn &tls.Config{}\n\t}\n\n\treturn cfg.Clone()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/credentials/credentials_util_pre_go17.go",
    "content": "// +build !go1.7\n\n/*\n *\n * Copyright 2016 gRPC authors.\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\npackage credentials\n\nimport (\n\t\"crypto/tls\"\n)\n\n// cloneTLSConfig returns a shallow clone of the exported\n// fields of cfg, ignoring the unexported sync.Once, which\n// contains a mutex and must not be copied.\n//\n// If cfg is nil, a new zero tls.Config is returned.\nfunc cloneTLSConfig(cfg *tls.Config) *tls.Config {\n\tif cfg == nil {\n\t\treturn &tls.Config{}\n\t}\n\treturn &tls.Config{\n\t\tRand:                     cfg.Rand,\n\t\tTime:                     cfg.Time,\n\t\tCertificates:             cfg.Certificates,\n\t\tNameToCertificate:        cfg.NameToCertificate,\n\t\tGetCertificate:           cfg.GetCertificate,\n\t\tRootCAs:                  cfg.RootCAs,\n\t\tNextProtos:               cfg.NextProtos,\n\t\tServerName:               cfg.ServerName,\n\t\tClientAuth:               cfg.ClientAuth,\n\t\tClientCAs:                cfg.ClientCAs,\n\t\tInsecureSkipVerify:       cfg.InsecureSkipVerify,\n\t\tCipherSuites:             cfg.CipherSuites,\n\t\tPreferServerCipherSuites: cfg.PreferServerCipherSuites,\n\t\tSessionTicketsDisabled:   cfg.SessionTicketsDisabled,\n\t\tSessionTicketKey:         cfg.SessionTicketKey,\n\t\tClientSessionCache:       cfg.ClientSessionCache,\n\t\tMinVersion:               cfg.MinVersion,\n\t\tMaxVersion:               cfg.MaxVersion,\n\t\tCurvePreferences:         cfg.CurvePreferences,\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/doc.go",
    "content": "/*\n *\n * Copyright 2015 gRPC authors.\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\n/*\nPackage grpc implements an RPC system called gRPC.\n\nSee grpc.io for more information about gRPC.\n*/\npackage grpc // import \"google.golang.org/grpc\"\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/doc.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\n// Package grpc_lb_v1 is the parent package of all gRPC loadbalancer\n// message and service protobuf definitions.\npackage grpc_lb_v1\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/messages/messages.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: grpc_lb_v1/messages/messages.proto\n\n/*\nPackage messages is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgrpc_lb_v1/messages/messages.proto\n\nIt has these top-level messages:\n\tDuration\n\tTimestamp\n\tLoadBalanceRequest\n\tInitialLoadBalanceRequest\n\tClientStats\n\tLoadBalanceResponse\n\tInitialLoadBalanceResponse\n\tServerList\n\tServer\n*/\npackage messages\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\ntype Duration struct {\n\t// Signed seconds of the span of time. Must be from -315,576,000,000\n\t// to +315,576,000,000 inclusive.\n\tSeconds int64 `protobuf:\"varint,1,opt,name=seconds\" json:\"seconds,omitempty\"`\n\t// Signed fractions of a second at nanosecond resolution of the span\n\t// of time. Durations less than one second are represented with a 0\n\t// `seconds` field and a positive or negative `nanos` field. For durations\n\t// of one second or more, a non-zero value for the `nanos` field must be\n\t// of the same sign as the `seconds` field. Must be from -999,999,999\n\t// to +999,999,999 inclusive.\n\tNanos int32 `protobuf:\"varint,2,opt,name=nanos\" json:\"nanos,omitempty\"`\n}\n\nfunc (m *Duration) Reset()                    { *m = Duration{} }\nfunc (m *Duration) String() string            { return proto.CompactTextString(m) }\nfunc (*Duration) ProtoMessage()               {}\nfunc (*Duration) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }\n\nfunc (m *Duration) GetSeconds() int64 {\n\tif m != nil {\n\t\treturn m.Seconds\n\t}\n\treturn 0\n}\n\nfunc (m *Duration) GetNanos() int32 {\n\tif m != nil {\n\t\treturn m.Nanos\n\t}\n\treturn 0\n}\n\ntype Timestamp struct {\n\t// Represents seconds of UTC time since Unix epoch\n\t// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n\t// 9999-12-31T23:59:59Z inclusive.\n\tSeconds int64 `protobuf:\"varint,1,opt,name=seconds\" json:\"seconds,omitempty\"`\n\t// Non-negative fractions of a second at nanosecond resolution. Negative\n\t// second values with fractions must still have non-negative nanos values\n\t// that count forward in time. Must be from 0 to 999,999,999\n\t// inclusive.\n\tNanos int32 `protobuf:\"varint,2,opt,name=nanos\" json:\"nanos,omitempty\"`\n}\n\nfunc (m *Timestamp) Reset()                    { *m = Timestamp{} }\nfunc (m *Timestamp) String() string            { return proto.CompactTextString(m) }\nfunc (*Timestamp) ProtoMessage()               {}\nfunc (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }\n\nfunc (m *Timestamp) GetSeconds() int64 {\n\tif m != nil {\n\t\treturn m.Seconds\n\t}\n\treturn 0\n}\n\nfunc (m *Timestamp) GetNanos() int32 {\n\tif m != nil {\n\t\treturn m.Nanos\n\t}\n\treturn 0\n}\n\ntype LoadBalanceRequest struct {\n\t// Types that are valid to be assigned to LoadBalanceRequestType:\n\t//\t*LoadBalanceRequest_InitialRequest\n\t//\t*LoadBalanceRequest_ClientStats\n\tLoadBalanceRequestType isLoadBalanceRequest_LoadBalanceRequestType `protobuf_oneof:\"load_balance_request_type\"`\n}\n\nfunc (m *LoadBalanceRequest) Reset()                    { *m = LoadBalanceRequest{} }\nfunc (m *LoadBalanceRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*LoadBalanceRequest) ProtoMessage()               {}\nfunc (*LoadBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }\n\ntype isLoadBalanceRequest_LoadBalanceRequestType interface {\n\tisLoadBalanceRequest_LoadBalanceRequestType()\n}\n\ntype LoadBalanceRequest_InitialRequest struct {\n\tInitialRequest *InitialLoadBalanceRequest `protobuf:\"bytes,1,opt,name=initial_request,json=initialRequest,oneof\"`\n}\ntype LoadBalanceRequest_ClientStats struct {\n\tClientStats *ClientStats `protobuf:\"bytes,2,opt,name=client_stats,json=clientStats,oneof\"`\n}\n\nfunc (*LoadBalanceRequest_InitialRequest) isLoadBalanceRequest_LoadBalanceRequestType() {}\nfunc (*LoadBalanceRequest_ClientStats) isLoadBalanceRequest_LoadBalanceRequestType()    {}\n\nfunc (m *LoadBalanceRequest) GetLoadBalanceRequestType() isLoadBalanceRequest_LoadBalanceRequestType {\n\tif m != nil {\n\t\treturn m.LoadBalanceRequestType\n\t}\n\treturn nil\n}\n\nfunc (m *LoadBalanceRequest) GetInitialRequest() *InitialLoadBalanceRequest {\n\tif x, ok := m.GetLoadBalanceRequestType().(*LoadBalanceRequest_InitialRequest); ok {\n\t\treturn x.InitialRequest\n\t}\n\treturn nil\n}\n\nfunc (m *LoadBalanceRequest) GetClientStats() *ClientStats {\n\tif x, ok := m.GetLoadBalanceRequestType().(*LoadBalanceRequest_ClientStats); ok {\n\t\treturn x.ClientStats\n\t}\n\treturn nil\n}\n\n// XXX_OneofFuncs is for the internal use of the proto package.\nfunc (*LoadBalanceRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {\n\treturn _LoadBalanceRequest_OneofMarshaler, _LoadBalanceRequest_OneofUnmarshaler, _LoadBalanceRequest_OneofSizer, []interface{}{\n\t\t(*LoadBalanceRequest_InitialRequest)(nil),\n\t\t(*LoadBalanceRequest_ClientStats)(nil),\n\t}\n}\n\nfunc _LoadBalanceRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {\n\tm := msg.(*LoadBalanceRequest)\n\t// load_balance_request_type\n\tswitch x := m.LoadBalanceRequestType.(type) {\n\tcase *LoadBalanceRequest_InitialRequest:\n\t\tb.EncodeVarint(1<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.InitialRequest); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase *LoadBalanceRequest_ClientStats:\n\t\tb.EncodeVarint(2<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.ClientStats); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase nil:\n\tdefault:\n\t\treturn fmt.Errorf(\"LoadBalanceRequest.LoadBalanceRequestType has unexpected type %T\", x)\n\t}\n\treturn nil\n}\n\nfunc _LoadBalanceRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {\n\tm := msg.(*LoadBalanceRequest)\n\tswitch tag {\n\tcase 1: // load_balance_request_type.initial_request\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(InitialLoadBalanceRequest)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.LoadBalanceRequestType = &LoadBalanceRequest_InitialRequest{msg}\n\t\treturn true, err\n\tcase 2: // load_balance_request_type.client_stats\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(ClientStats)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.LoadBalanceRequestType = &LoadBalanceRequest_ClientStats{msg}\n\t\treturn true, err\n\tdefault:\n\t\treturn false, nil\n\t}\n}\n\nfunc _LoadBalanceRequest_OneofSizer(msg proto.Message) (n int) {\n\tm := msg.(*LoadBalanceRequest)\n\t// load_balance_request_type\n\tswitch x := m.LoadBalanceRequestType.(type) {\n\tcase *LoadBalanceRequest_InitialRequest:\n\t\ts := proto.Size(x.InitialRequest)\n\t\tn += proto.SizeVarint(1<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase *LoadBalanceRequest_ClientStats:\n\t\ts := proto.Size(x.ClientStats)\n\t\tn += proto.SizeVarint(2<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase nil:\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"proto: unexpected type %T in oneof\", x))\n\t}\n\treturn n\n}\n\ntype InitialLoadBalanceRequest struct {\n\t// Name of load balanced service (IE, balancer.service.com)\n\t// length should be less than 256 bytes.\n\tName string `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n}\n\nfunc (m *InitialLoadBalanceRequest) Reset()                    { *m = InitialLoadBalanceRequest{} }\nfunc (m *InitialLoadBalanceRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*InitialLoadBalanceRequest) ProtoMessage()               {}\nfunc (*InitialLoadBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }\n\nfunc (m *InitialLoadBalanceRequest) GetName() string {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn \"\"\n}\n\n// Contains client level statistics that are useful to load balancing. Each\n// count except the timestamp should be reset to zero after reporting the stats.\ntype ClientStats struct {\n\t// The timestamp of generating the report.\n\tTimestamp *Timestamp `protobuf:\"bytes,1,opt,name=timestamp\" json:\"timestamp,omitempty\"`\n\t// The total number of RPCs that started.\n\tNumCallsStarted int64 `protobuf:\"varint,2,opt,name=num_calls_started,json=numCallsStarted\" json:\"num_calls_started,omitempty\"`\n\t// The total number of RPCs that finished.\n\tNumCallsFinished int64 `protobuf:\"varint,3,opt,name=num_calls_finished,json=numCallsFinished\" json:\"num_calls_finished,omitempty\"`\n\t// The total number of RPCs that were dropped by the client because of rate\n\t// limiting.\n\tNumCallsFinishedWithDropForRateLimiting int64 `protobuf:\"varint,4,opt,name=num_calls_finished_with_drop_for_rate_limiting,json=numCallsFinishedWithDropForRateLimiting\" json:\"num_calls_finished_with_drop_for_rate_limiting,omitempty\"`\n\t// The total number of RPCs that were dropped by the client because of load\n\t// balancing.\n\tNumCallsFinishedWithDropForLoadBalancing int64 `protobuf:\"varint,5,opt,name=num_calls_finished_with_drop_for_load_balancing,json=numCallsFinishedWithDropForLoadBalancing\" json:\"num_calls_finished_with_drop_for_load_balancing,omitempty\"`\n\t// The total number of RPCs that failed to reach a server except dropped RPCs.\n\tNumCallsFinishedWithClientFailedToSend int64 `protobuf:\"varint,6,opt,name=num_calls_finished_with_client_failed_to_send,json=numCallsFinishedWithClientFailedToSend\" json:\"num_calls_finished_with_client_failed_to_send,omitempty\"`\n\t// The total number of RPCs that finished and are known to have been received\n\t// by a server.\n\tNumCallsFinishedKnownReceived int64 `protobuf:\"varint,7,opt,name=num_calls_finished_known_received,json=numCallsFinishedKnownReceived\" json:\"num_calls_finished_known_received,omitempty\"`\n}\n\nfunc (m *ClientStats) Reset()                    { *m = ClientStats{} }\nfunc (m *ClientStats) String() string            { return proto.CompactTextString(m) }\nfunc (*ClientStats) ProtoMessage()               {}\nfunc (*ClientStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }\n\nfunc (m *ClientStats) GetTimestamp() *Timestamp {\n\tif m != nil {\n\t\treturn m.Timestamp\n\t}\n\treturn nil\n}\n\nfunc (m *ClientStats) GetNumCallsStarted() int64 {\n\tif m != nil {\n\t\treturn m.NumCallsStarted\n\t}\n\treturn 0\n}\n\nfunc (m *ClientStats) GetNumCallsFinished() int64 {\n\tif m != nil {\n\t\treturn m.NumCallsFinished\n\t}\n\treturn 0\n}\n\nfunc (m *ClientStats) GetNumCallsFinishedWithDropForRateLimiting() int64 {\n\tif m != nil {\n\t\treturn m.NumCallsFinishedWithDropForRateLimiting\n\t}\n\treturn 0\n}\n\nfunc (m *ClientStats) GetNumCallsFinishedWithDropForLoadBalancing() int64 {\n\tif m != nil {\n\t\treturn m.NumCallsFinishedWithDropForLoadBalancing\n\t}\n\treturn 0\n}\n\nfunc (m *ClientStats) GetNumCallsFinishedWithClientFailedToSend() int64 {\n\tif m != nil {\n\t\treturn m.NumCallsFinishedWithClientFailedToSend\n\t}\n\treturn 0\n}\n\nfunc (m *ClientStats) GetNumCallsFinishedKnownReceived() int64 {\n\tif m != nil {\n\t\treturn m.NumCallsFinishedKnownReceived\n\t}\n\treturn 0\n}\n\ntype LoadBalanceResponse struct {\n\t// Types that are valid to be assigned to LoadBalanceResponseType:\n\t//\t*LoadBalanceResponse_InitialResponse\n\t//\t*LoadBalanceResponse_ServerList\n\tLoadBalanceResponseType isLoadBalanceResponse_LoadBalanceResponseType `protobuf_oneof:\"load_balance_response_type\"`\n}\n\nfunc (m *LoadBalanceResponse) Reset()                    { *m = LoadBalanceResponse{} }\nfunc (m *LoadBalanceResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*LoadBalanceResponse) ProtoMessage()               {}\nfunc (*LoadBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }\n\ntype isLoadBalanceResponse_LoadBalanceResponseType interface {\n\tisLoadBalanceResponse_LoadBalanceResponseType()\n}\n\ntype LoadBalanceResponse_InitialResponse struct {\n\tInitialResponse *InitialLoadBalanceResponse `protobuf:\"bytes,1,opt,name=initial_response,json=initialResponse,oneof\"`\n}\ntype LoadBalanceResponse_ServerList struct {\n\tServerList *ServerList `protobuf:\"bytes,2,opt,name=server_list,json=serverList,oneof\"`\n}\n\nfunc (*LoadBalanceResponse_InitialResponse) isLoadBalanceResponse_LoadBalanceResponseType() {}\nfunc (*LoadBalanceResponse_ServerList) isLoadBalanceResponse_LoadBalanceResponseType()      {}\n\nfunc (m *LoadBalanceResponse) GetLoadBalanceResponseType() isLoadBalanceResponse_LoadBalanceResponseType {\n\tif m != nil {\n\t\treturn m.LoadBalanceResponseType\n\t}\n\treturn nil\n}\n\nfunc (m *LoadBalanceResponse) GetInitialResponse() *InitialLoadBalanceResponse {\n\tif x, ok := m.GetLoadBalanceResponseType().(*LoadBalanceResponse_InitialResponse); ok {\n\t\treturn x.InitialResponse\n\t}\n\treturn nil\n}\n\nfunc (m *LoadBalanceResponse) GetServerList() *ServerList {\n\tif x, ok := m.GetLoadBalanceResponseType().(*LoadBalanceResponse_ServerList); ok {\n\t\treturn x.ServerList\n\t}\n\treturn nil\n}\n\n// XXX_OneofFuncs is for the internal use of the proto package.\nfunc (*LoadBalanceResponse) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {\n\treturn _LoadBalanceResponse_OneofMarshaler, _LoadBalanceResponse_OneofUnmarshaler, _LoadBalanceResponse_OneofSizer, []interface{}{\n\t\t(*LoadBalanceResponse_InitialResponse)(nil),\n\t\t(*LoadBalanceResponse_ServerList)(nil),\n\t}\n}\n\nfunc _LoadBalanceResponse_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {\n\tm := msg.(*LoadBalanceResponse)\n\t// load_balance_response_type\n\tswitch x := m.LoadBalanceResponseType.(type) {\n\tcase *LoadBalanceResponse_InitialResponse:\n\t\tb.EncodeVarint(1<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.InitialResponse); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase *LoadBalanceResponse_ServerList:\n\t\tb.EncodeVarint(2<<3 | proto.WireBytes)\n\t\tif err := b.EncodeMessage(x.ServerList); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase nil:\n\tdefault:\n\t\treturn fmt.Errorf(\"LoadBalanceResponse.LoadBalanceResponseType has unexpected type %T\", x)\n\t}\n\treturn nil\n}\n\nfunc _LoadBalanceResponse_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {\n\tm := msg.(*LoadBalanceResponse)\n\tswitch tag {\n\tcase 1: // load_balance_response_type.initial_response\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(InitialLoadBalanceResponse)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.LoadBalanceResponseType = &LoadBalanceResponse_InitialResponse{msg}\n\t\treturn true, err\n\tcase 2: // load_balance_response_type.server_list\n\t\tif wire != proto.WireBytes {\n\t\t\treturn true, proto.ErrInternalBadWireType\n\t\t}\n\t\tmsg := new(ServerList)\n\t\terr := b.DecodeMessage(msg)\n\t\tm.LoadBalanceResponseType = &LoadBalanceResponse_ServerList{msg}\n\t\treturn true, err\n\tdefault:\n\t\treturn false, nil\n\t}\n}\n\nfunc _LoadBalanceResponse_OneofSizer(msg proto.Message) (n int) {\n\tm := msg.(*LoadBalanceResponse)\n\t// load_balance_response_type\n\tswitch x := m.LoadBalanceResponseType.(type) {\n\tcase *LoadBalanceResponse_InitialResponse:\n\t\ts := proto.Size(x.InitialResponse)\n\t\tn += proto.SizeVarint(1<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase *LoadBalanceResponse_ServerList:\n\t\ts := proto.Size(x.ServerList)\n\t\tn += proto.SizeVarint(2<<3 | proto.WireBytes)\n\t\tn += proto.SizeVarint(uint64(s))\n\t\tn += s\n\tcase nil:\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"proto: unexpected type %T in oneof\", x))\n\t}\n\treturn n\n}\n\ntype InitialLoadBalanceResponse struct {\n\t// This is an application layer redirect that indicates the client should use\n\t// the specified server for load balancing. When this field is non-empty in\n\t// the response, the client should open a separate connection to the\n\t// load_balancer_delegate and call the BalanceLoad method. Its length should\n\t// be less than 64 bytes.\n\tLoadBalancerDelegate string `protobuf:\"bytes,1,opt,name=load_balancer_delegate,json=loadBalancerDelegate\" json:\"load_balancer_delegate,omitempty\"`\n\t// This interval defines how often the client should send the client stats\n\t// to the load balancer. Stats should only be reported when the duration is\n\t// positive.\n\tClientStatsReportInterval *Duration `protobuf:\"bytes,2,opt,name=client_stats_report_interval,json=clientStatsReportInterval\" json:\"client_stats_report_interval,omitempty\"`\n}\n\nfunc (m *InitialLoadBalanceResponse) Reset()                    { *m = InitialLoadBalanceResponse{} }\nfunc (m *InitialLoadBalanceResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*InitialLoadBalanceResponse) ProtoMessage()               {}\nfunc (*InitialLoadBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }\n\nfunc (m *InitialLoadBalanceResponse) GetLoadBalancerDelegate() string {\n\tif m != nil {\n\t\treturn m.LoadBalancerDelegate\n\t}\n\treturn \"\"\n}\n\nfunc (m *InitialLoadBalanceResponse) GetClientStatsReportInterval() *Duration {\n\tif m != nil {\n\t\treturn m.ClientStatsReportInterval\n\t}\n\treturn nil\n}\n\ntype ServerList struct {\n\t// Contains a list of servers selected by the load balancer. The list will\n\t// be updated when server resolutions change or as needed to balance load\n\t// across more servers. The client should consume the server list in order\n\t// unless instructed otherwise via the client_config.\n\tServers []*Server `protobuf:\"bytes,1,rep,name=servers\" json:\"servers,omitempty\"`\n}\n\nfunc (m *ServerList) Reset()                    { *m = ServerList{} }\nfunc (m *ServerList) String() string            { return proto.CompactTextString(m) }\nfunc (*ServerList) ProtoMessage()               {}\nfunc (*ServerList) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }\n\nfunc (m *ServerList) GetServers() []*Server {\n\tif m != nil {\n\t\treturn m.Servers\n\t}\n\treturn nil\n}\n\n// Contains server information. When none of the [drop_for_*] fields are true,\n// use the other fields. When drop_for_rate_limiting is true, ignore all other\n// fields. Use drop_for_load_balancing only when it is true and\n// drop_for_rate_limiting is false.\ntype Server struct {\n\t// A resolved address for the server, serialized in network-byte-order. It may\n\t// either be an IPv4 or IPv6 address.\n\tIpAddress []byte `protobuf:\"bytes,1,opt,name=ip_address,json=ipAddress,proto3\" json:\"ip_address,omitempty\"`\n\t// A resolved port number for the server.\n\tPort int32 `protobuf:\"varint,2,opt,name=port\" json:\"port,omitempty\"`\n\t// An opaque but printable token given to the frontend for each pick. All\n\t// frontend requests for that pick must include the token in its initial\n\t// metadata. The token is used by the backend to verify the request and to\n\t// allow the backend to report load to the gRPC LB system.\n\t//\n\t// Its length is variable but less than 50 bytes.\n\tLoadBalanceToken string `protobuf:\"bytes,3,opt,name=load_balance_token,json=loadBalanceToken\" json:\"load_balance_token,omitempty\"`\n\t// Indicates whether this particular request should be dropped by the client\n\t// for rate limiting.\n\tDropForRateLimiting bool `protobuf:\"varint,4,opt,name=drop_for_rate_limiting,json=dropForRateLimiting\" json:\"drop_for_rate_limiting,omitempty\"`\n\t// Indicates whether this particular request should be dropped by the client\n\t// for load balancing.\n\tDropForLoadBalancing bool `protobuf:\"varint,5,opt,name=drop_for_load_balancing,json=dropForLoadBalancing\" json:\"drop_for_load_balancing,omitempty\"`\n}\n\nfunc (m *Server) Reset()                    { *m = Server{} }\nfunc (m *Server) String() string            { return proto.CompactTextString(m) }\nfunc (*Server) ProtoMessage()               {}\nfunc (*Server) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }\n\nfunc (m *Server) GetIpAddress() []byte {\n\tif m != nil {\n\t\treturn m.IpAddress\n\t}\n\treturn nil\n}\n\nfunc (m *Server) GetPort() int32 {\n\tif m != nil {\n\t\treturn m.Port\n\t}\n\treturn 0\n}\n\nfunc (m *Server) GetLoadBalanceToken() string {\n\tif m != nil {\n\t\treturn m.LoadBalanceToken\n\t}\n\treturn \"\"\n}\n\nfunc (m *Server) GetDropForRateLimiting() bool {\n\tif m != nil {\n\t\treturn m.DropForRateLimiting\n\t}\n\treturn false\n}\n\nfunc (m *Server) GetDropForLoadBalancing() bool {\n\tif m != nil {\n\t\treturn m.DropForLoadBalancing\n\t}\n\treturn false\n}\n\nfunc init() {\n\tproto.RegisterType((*Duration)(nil), \"grpc.lb.v1.Duration\")\n\tproto.RegisterType((*Timestamp)(nil), \"grpc.lb.v1.Timestamp\")\n\tproto.RegisterType((*LoadBalanceRequest)(nil), \"grpc.lb.v1.LoadBalanceRequest\")\n\tproto.RegisterType((*InitialLoadBalanceRequest)(nil), \"grpc.lb.v1.InitialLoadBalanceRequest\")\n\tproto.RegisterType((*ClientStats)(nil), \"grpc.lb.v1.ClientStats\")\n\tproto.RegisterType((*LoadBalanceResponse)(nil), \"grpc.lb.v1.LoadBalanceResponse\")\n\tproto.RegisterType((*InitialLoadBalanceResponse)(nil), \"grpc.lb.v1.InitialLoadBalanceResponse\")\n\tproto.RegisterType((*ServerList)(nil), \"grpc.lb.v1.ServerList\")\n\tproto.RegisterType((*Server)(nil), \"grpc.lb.v1.Server\")\n}\n\nfunc init() { proto.RegisterFile(\"grpc_lb_v1/messages/messages.proto\", fileDescriptor0) }\n\nvar fileDescriptor0 = []byte{\n\t// 709 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x4e, 0x1b, 0x3b,\n\t0x10, 0x26, 0x27, 0x01, 0x92, 0x09, 0x3a, 0xe4, 0x98, 0x1c, 0x08, 0x14, 0x24, 0xba, 0x52, 0x69,\n\t0x54, 0xd1, 0x20, 0xa0, 0xbd, 0xe8, 0xcf, 0x45, 0x1b, 0x10, 0x0a, 0x2d, 0x17, 0x95, 0x43, 0x55,\n\t0xa9, 0x52, 0x65, 0x39, 0xd9, 0x21, 0x58, 0x6c, 0xec, 0xad, 0xed, 0x04, 0xf5, 0x11, 0xfa, 0x28,\n\t0x7d, 0x8c, 0xaa, 0xcf, 0xd0, 0xf7, 0xa9, 0xd6, 0xbb, 0x9b, 0x5d, 0x20, 0x80, 0x7a, 0x67, 0x8f,\n\t0xbf, 0xf9, 0xbe, 0xf1, 0xac, 0xbf, 0x59, 0xf0, 0x06, 0x3a, 0xec, 0xb3, 0xa0, 0xc7, 0xc6, 0xbb,\n\t0x3b, 0x43, 0x34, 0x86, 0x0f, 0xd0, 0x4c, 0x16, 0xad, 0x50, 0x2b, 0xab, 0x08, 0x44, 0x98, 0x56,\n\t0xd0, 0x6b, 0x8d, 0x77, 0xbd, 0x97, 0x50, 0x3e, 0x1c, 0x69, 0x6e, 0x85, 0x92, 0xa4, 0x01, 0xf3,\n\t0x06, 0xfb, 0x4a, 0xfa, 0xa6, 0x51, 0xd8, 0x2c, 0x34, 0x8b, 0x34, 0xdd, 0x92, 0x3a, 0xcc, 0x4a,\n\t0x2e, 0x95, 0x69, 0xfc, 0xb3, 0x59, 0x68, 0xce, 0xd2, 0x78, 0xe3, 0xbd, 0x82, 0xca, 0xa9, 0x18,\n\t0xa2, 0xb1, 0x7c, 0x18, 0xfe, 0x75, 0xf2, 0xcf, 0x02, 0x90, 0x13, 0xc5, 0xfd, 0x36, 0x0f, 0xb8,\n\t0xec, 0x23, 0xc5, 0xaf, 0x23, 0x34, 0x96, 0x7c, 0x80, 0x45, 0x21, 0x85, 0x15, 0x3c, 0x60, 0x3a,\n\t0x0e, 0x39, 0xba, 0xea, 0xde, 0xa3, 0x56, 0x56, 0x75, 0xeb, 0x38, 0x86, 0xdc, 0xcc, 0xef, 0xcc,\n\t0xd0, 0x7f, 0x93, 0xfc, 0x94, 0xf1, 0x35, 0x2c, 0xf4, 0x03, 0x81, 0xd2, 0x32, 0x63, 0xb9, 0x8d,\n\t0xab, 0xa8, 0xee, 0xad, 0xe4, 0xe9, 0x0e, 0xdc, 0x79, 0x37, 0x3a, 0xee, 0xcc, 0xd0, 0x6a, 0x3f,\n\t0xdb, 0xb6, 0x1f, 0xc0, 0x6a, 0xa0, 0xb8, 0xcf, 0x7a, 0xb1, 0x4c, 0x5a, 0x14, 0xb3, 0xdf, 0x42,\n\t0xf4, 0x76, 0x60, 0xf5, 0xd6, 0x4a, 0x08, 0x81, 0x92, 0xe4, 0x43, 0x74, 0xe5, 0x57, 0xa8, 0x5b,\n\t0x7b, 0xdf, 0x4b, 0x50, 0xcd, 0x89, 0x91, 0x7d, 0xa8, 0xd8, 0xb4, 0x83, 0xc9, 0x3d, 0xff, 0xcf,\n\t0x17, 0x36, 0x69, 0x2f, 0xcd, 0x70, 0xe4, 0x09, 0xfc, 0x27, 0x47, 0x43, 0xd6, 0xe7, 0x41, 0x60,\n\t0xa2, 0x3b, 0x69, 0x8b, 0xbe, 0xbb, 0x55, 0x91, 0x2e, 0xca, 0xd1, 0xf0, 0x20, 0x8a, 0x77, 0xe3,\n\t0x30, 0xd9, 0x06, 0x92, 0x61, 0xcf, 0x84, 0x14, 0xe6, 0x1c, 0xfd, 0x46, 0xd1, 0x81, 0x6b, 0x29,\n\t0xf8, 0x28, 0x89, 0x13, 0x06, 0xad, 0x9b, 0x68, 0x76, 0x29, 0xec, 0x39, 0xf3, 0xb5, 0x0a, 0xd9,\n\t0x99, 0xd2, 0x4c, 0x73, 0x8b, 0x2c, 0x10, 0x43, 0x61, 0x85, 0x1c, 0x34, 0x4a, 0x8e, 0xe9, 0xf1,\n\t0x75, 0xa6, 0x4f, 0xc2, 0x9e, 0x1f, 0x6a, 0x15, 0x1e, 0x29, 0x4d, 0xb9, 0xc5, 0x93, 0x04, 0x4e,\n\t0x38, 0xec, 0xdc, 0x2b, 0x90, 0x6b, 0x77, 0xa4, 0x30, 0xeb, 0x14, 0x9a, 0x77, 0x28, 0x64, 0xbd,\n\t0x8f, 0x24, 0xbe, 0xc0, 0xd3, 0xdb, 0x24, 0x92, 0x67, 0x70, 0xc6, 0x45, 0x80, 0x3e, 0xb3, 0x8a,\n\t0x19, 0x94, 0x7e, 0x63, 0xce, 0x09, 0x6c, 0x4d, 0x13, 0x88, 0x3f, 0xd5, 0x91, 0xc3, 0x9f, 0xaa,\n\t0x2e, 0x4a, 0x9f, 0x74, 0xe0, 0xe1, 0x14, 0xfa, 0x0b, 0xa9, 0x2e, 0x25, 0xd3, 0xd8, 0x47, 0x31,\n\t0x46, 0xbf, 0x31, 0xef, 0x28, 0x37, 0xae, 0x53, 0xbe, 0x8f, 0x50, 0x34, 0x01, 0x79, 0xbf, 0x0a,\n\t0xb0, 0x74, 0xe5, 0xd9, 0x98, 0x50, 0x49, 0x83, 0xa4, 0x0b, 0xb5, 0xcc, 0x01, 0x71, 0x2c, 0x79,\n\t0x1a, 0x5b, 0xf7, 0x59, 0x20, 0x46, 0x77, 0x66, 0xe8, 0xe2, 0xc4, 0x03, 0x09, 0xe9, 0x0b, 0xa8,\n\t0x1a, 0xd4, 0x63, 0xd4, 0x2c, 0x10, 0xc6, 0x26, 0x1e, 0x58, 0xce, 0xf3, 0x75, 0xdd, 0xf1, 0x89,\n\t0x70, 0x1e, 0x02, 0x33, 0xd9, 0xb5, 0xd7, 0x61, 0xed, 0x9a, 0x03, 0x62, 0xce, 0xd8, 0x02, 0x3f,\n\t0x0a, 0xb0, 0x76, 0x7b, 0x29, 0xe4, 0x19, 0x2c, 0xe7, 0x93, 0x35, 0xf3, 0x31, 0xc0, 0x01, 0xb7,\n\t0xa9, 0x2d, 0xea, 0x41, 0x96, 0xa4, 0x0f, 0x93, 0x33, 0xf2, 0x11, 0xd6, 0xf3, 0x96, 0x65, 0x1a,\n\t0x43, 0xa5, 0x2d, 0x13, 0xd2, 0xa2, 0x1e, 0xf3, 0x20, 0x29, 0xbf, 0x9e, 0x2f, 0x3f, 0x1d, 0x62,\n\t0x74, 0x35, 0xe7, 0x5e, 0xea, 0xf2, 0x8e, 0x93, 0x34, 0xef, 0x0d, 0x40, 0x76, 0x4b, 0xb2, 0x1d,\n\t0x0d, 0xac, 0x68, 0x17, 0x0d, 0xac, 0x62, 0xb3, 0xba, 0x47, 0x6e, 0xb6, 0x83, 0xa6, 0x90, 0x77,\n\t0xa5, 0x72, 0xb1, 0x56, 0xf2, 0x7e, 0x17, 0x60, 0x2e, 0x3e, 0x21, 0x1b, 0x00, 0x22, 0x64, 0xdc,\n\t0xf7, 0x35, 0x9a, 0x78, 0xe4, 0x2d, 0xd0, 0x8a, 0x08, 0xdf, 0xc6, 0x81, 0xc8, 0xfd, 0x91, 0x76,\n\t0x32, 0xf3, 0xdc, 0x3a, 0x32, 0xe3, 0x95, 0x4e, 0x5a, 0x75, 0x81, 0xd2, 0x99, 0xb1, 0x42, 0x6b,\n\t0xb9, 0x46, 0x9c, 0x46, 0x71, 0xb2, 0x0f, 0xcb, 0x77, 0x98, 0xae, 0x4c, 0x97, 0xfc, 0x29, 0x06,\n\t0x7b, 0x0e, 0x2b, 0x77, 0x19, 0xa9, 0x4c, 0xeb, 0xfe, 0x14, 0xd3, 0xb4, 0xe1, 0x73, 0x39, 0xfd,\n\t0x47, 0xf4, 0xe6, 0xdc, 0x4f, 0x62, 0xff, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa3, 0x36, 0x86,\n\t0xa6, 0x4a, 0x06, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/grpclb.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"math/rand\"\n\t\"net\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/codes\"\n\tlbmpb \"google.golang.org/grpc/grpclb/grpc_lb_v1/messages\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/naming\"\n)\n\n// Client API for LoadBalancer service.\n// Mostly copied from generated pb.go file.\n// To avoid circular dependency.\ntype loadBalancerClient struct {\n\tcc *ClientConn\n}\n\nfunc (c *loadBalancerClient) BalanceLoad(ctx context.Context, opts ...CallOption) (*balanceLoadClientStream, error) {\n\tdesc := &StreamDesc{\n\t\tStreamName:    \"BalanceLoad\",\n\t\tServerStreams: true,\n\t\tClientStreams: true,\n\t}\n\tstream, err := NewClientStream(ctx, desc, c.cc, \"/grpc.lb.v1.LoadBalancer/BalanceLoad\", opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tx := &balanceLoadClientStream{stream}\n\treturn x, nil\n}\n\ntype balanceLoadClientStream struct {\n\tClientStream\n}\n\nfunc (x *balanceLoadClientStream) Send(m *lbmpb.LoadBalanceRequest) error {\n\treturn x.ClientStream.SendMsg(m)\n}\n\nfunc (x *balanceLoadClientStream) Recv() (*lbmpb.LoadBalanceResponse, error) {\n\tm := new(lbmpb.LoadBalanceResponse)\n\tif err := x.ClientStream.RecvMsg(m); err != nil {\n\t\treturn nil, err\n\t}\n\treturn m, nil\n}\n\n// NewGRPCLBBalancer creates a grpclb load balancer.\nfunc NewGRPCLBBalancer(r naming.Resolver) Balancer {\n\treturn &grpclbBalancer{\n\t\tr: r,\n\t}\n}\n\ntype remoteBalancerInfo struct {\n\taddr string\n\t// the server name used for authentication with the remote LB server.\n\tname string\n}\n\n// grpclbAddrInfo consists of the information of a backend server.\ntype grpclbAddrInfo struct {\n\taddr      Address\n\tconnected bool\n\t// dropForRateLimiting indicates whether this particular request should be\n\t// dropped by the client for rate limiting.\n\tdropForRateLimiting bool\n\t// dropForLoadBalancing indicates whether this particular request should be\n\t// dropped by the client for load balancing.\n\tdropForLoadBalancing bool\n}\n\ntype grpclbBalancer struct {\n\tr      naming.Resolver\n\ttarget string\n\tmu     sync.Mutex\n\tseq    int // a sequence number to make sure addrCh does not get stale addresses.\n\tw      naming.Watcher\n\taddrCh chan []Address\n\trbs    []remoteBalancerInfo\n\taddrs  []*grpclbAddrInfo\n\tnext   int\n\twaitCh chan struct{}\n\tdone   bool\n\trand   *rand.Rand\n\n\tclientStats lbmpb.ClientStats\n}\n\nfunc (b *grpclbBalancer) watchAddrUpdates(w naming.Watcher, ch chan []remoteBalancerInfo) error {\n\tupdates, err := w.Next()\n\tif err != nil {\n\t\tgrpclog.Warningf(\"grpclb: failed to get next addr update from watcher: %v\", err)\n\t\treturn err\n\t}\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\tif b.done {\n\t\treturn ErrClientConnClosing\n\t}\n\tfor _, update := range updates {\n\t\tswitch update.Op {\n\t\tcase naming.Add:\n\t\t\tvar exist bool\n\t\t\tfor _, v := range b.rbs {\n\t\t\t\t// TODO: Is the same addr with different server name a different balancer?\n\t\t\t\tif update.Addr == v.addr {\n\t\t\t\t\texist = true\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif exist {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tmd, ok := update.Metadata.(*naming.AddrMetadataGRPCLB)\n\t\t\tif !ok {\n\t\t\t\t// TODO: Revisit the handling here and may introduce some fallback mechanism.\n\t\t\t\tgrpclog.Errorf(\"The name resolution contains unexpected metadata %v\", update.Metadata)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tswitch md.AddrType {\n\t\t\tcase naming.Backend:\n\t\t\t\t// TODO: Revisit the handling here and may introduce some fallback mechanism.\n\t\t\t\tgrpclog.Errorf(\"The name resolution does not give grpclb addresses\")\n\t\t\t\tcontinue\n\t\t\tcase naming.GRPCLB:\n\t\t\t\tb.rbs = append(b.rbs, remoteBalancerInfo{\n\t\t\t\t\taddr: update.Addr,\n\t\t\t\t\tname: md.ServerName,\n\t\t\t\t})\n\t\t\tdefault:\n\t\t\t\tgrpclog.Errorf(\"Received unknow address type %d\", md.AddrType)\n\t\t\t\tcontinue\n\t\t\t}\n\t\tcase naming.Delete:\n\t\t\tfor i, v := range b.rbs {\n\t\t\t\tif update.Addr == v.addr {\n\t\t\t\t\tcopy(b.rbs[i:], b.rbs[i+1:])\n\t\t\t\t\tb.rbs = b.rbs[:len(b.rbs)-1]\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tgrpclog.Errorf(\"Unknown update.Op %v\", update.Op)\n\t\t}\n\t}\n\t// TODO: Fall back to the basic round-robin load balancing if the resulting address is\n\t// not a load balancer.\n\tselect {\n\tcase <-ch:\n\tdefault:\n\t}\n\tch <- b.rbs\n\treturn nil\n}\n\nfunc convertDuration(d *lbmpb.Duration) time.Duration {\n\tif d == nil {\n\t\treturn 0\n\t}\n\treturn time.Duration(d.Seconds)*time.Second + time.Duration(d.Nanos)*time.Nanosecond\n}\n\nfunc (b *grpclbBalancer) processServerList(l *lbmpb.ServerList, seq int) {\n\tif l == nil {\n\t\treturn\n\t}\n\tservers := l.GetServers()\n\tvar (\n\t\tsl    []*grpclbAddrInfo\n\t\taddrs []Address\n\t)\n\tfor _, s := range servers {\n\t\tmd := metadata.Pairs(\"lb-token\", s.LoadBalanceToken)\n\t\tip := net.IP(s.IpAddress)\n\t\tipStr := ip.String()\n\t\tif ip.To4() == nil {\n\t\t\t// Add square brackets to ipv6 addresses, otherwise net.Dial() and\n\t\t\t// net.SplitHostPort() will return too many colons error.\n\t\t\tipStr = fmt.Sprintf(\"[%s]\", ipStr)\n\t\t}\n\t\taddr := Address{\n\t\t\tAddr:     fmt.Sprintf(\"%s:%d\", ipStr, s.Port),\n\t\t\tMetadata: &md,\n\t\t}\n\t\tsl = append(sl, &grpclbAddrInfo{\n\t\t\taddr:                 addr,\n\t\t\tdropForRateLimiting:  s.DropForRateLimiting,\n\t\t\tdropForLoadBalancing: s.DropForLoadBalancing,\n\t\t})\n\t\taddrs = append(addrs, addr)\n\t}\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\tif b.done || seq < b.seq {\n\t\treturn\n\t}\n\tif len(sl) > 0 {\n\t\t// reset b.next to 0 when replacing the server list.\n\t\tb.next = 0\n\t\tb.addrs = sl\n\t\tb.addrCh <- addrs\n\t}\n\treturn\n}\n\nfunc (b *grpclbBalancer) sendLoadReport(s *balanceLoadClientStream, interval time.Duration, done <-chan struct{}) {\n\tticker := time.NewTicker(interval)\n\tdefer ticker.Stop()\n\tfor {\n\t\tselect {\n\t\tcase <-ticker.C:\n\t\tcase <-done:\n\t\t\treturn\n\t\t}\n\t\tb.mu.Lock()\n\t\tstats := b.clientStats\n\t\tb.clientStats = lbmpb.ClientStats{} // Clear the stats.\n\t\tb.mu.Unlock()\n\t\tt := time.Now()\n\t\tstats.Timestamp = &lbmpb.Timestamp{\n\t\t\tSeconds: t.Unix(),\n\t\t\tNanos:   int32(t.Nanosecond()),\n\t\t}\n\t\tif err := s.Send(&lbmpb.LoadBalanceRequest{\n\t\t\tLoadBalanceRequestType: &lbmpb.LoadBalanceRequest_ClientStats{\n\t\t\t\tClientStats: &stats,\n\t\t\t},\n\t\t}); err != nil {\n\t\t\tgrpclog.Errorf(\"grpclb: failed to send load report: %v\", err)\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (b *grpclbBalancer) callRemoteBalancer(lbc *loadBalancerClient, seq int) (retry bool) {\n\tctx, cancel := context.WithCancel(context.Background())\n\tdefer cancel()\n\tstream, err := lbc.BalanceLoad(ctx)\n\tif err != nil {\n\t\tgrpclog.Errorf(\"grpclb: failed to perform RPC to the remote balancer %v\", err)\n\t\treturn\n\t}\n\tb.mu.Lock()\n\tif b.done {\n\t\tb.mu.Unlock()\n\t\treturn\n\t}\n\tb.mu.Unlock()\n\tinitReq := &lbmpb.LoadBalanceRequest{\n\t\tLoadBalanceRequestType: &lbmpb.LoadBalanceRequest_InitialRequest{\n\t\t\tInitialRequest: &lbmpb.InitialLoadBalanceRequest{\n\t\t\t\tName: b.target,\n\t\t\t},\n\t\t},\n\t}\n\tif err := stream.Send(initReq); err != nil {\n\t\tgrpclog.Errorf(\"grpclb: failed to send init request: %v\", err)\n\t\t// TODO: backoff on retry?\n\t\treturn true\n\t}\n\treply, err := stream.Recv()\n\tif err != nil {\n\t\tgrpclog.Errorf(\"grpclb: failed to recv init response: %v\", err)\n\t\t// TODO: backoff on retry?\n\t\treturn true\n\t}\n\tinitResp := reply.GetInitialResponse()\n\tif initResp == nil {\n\t\tgrpclog.Errorf(\"grpclb: reply from remote balancer did not include initial response.\")\n\t\treturn\n\t}\n\t// TODO: Support delegation.\n\tif initResp.LoadBalancerDelegate != \"\" {\n\t\t// delegation\n\t\tgrpclog.Errorf(\"TODO: Delegation is not supported yet.\")\n\t\treturn\n\t}\n\tstreamDone := make(chan struct{})\n\tdefer close(streamDone)\n\tb.mu.Lock()\n\tb.clientStats = lbmpb.ClientStats{} // Clear client stats.\n\tb.mu.Unlock()\n\tif d := convertDuration(initResp.ClientStatsReportInterval); d > 0 {\n\t\tgo b.sendLoadReport(stream, d, streamDone)\n\t}\n\t// Retrieve the server list.\n\tfor {\n\t\treply, err := stream.Recv()\n\t\tif err != nil {\n\t\t\tgrpclog.Errorf(\"grpclb: failed to recv server list: %v\", err)\n\t\t\tbreak\n\t\t}\n\t\tb.mu.Lock()\n\t\tif b.done || seq < b.seq {\n\t\t\tb.mu.Unlock()\n\t\t\treturn\n\t\t}\n\t\tb.seq++ // tick when receiving a new list of servers.\n\t\tseq = b.seq\n\t\tb.mu.Unlock()\n\t\tif serverList := reply.GetServerList(); serverList != nil {\n\t\t\tb.processServerList(serverList, seq)\n\t\t}\n\t}\n\treturn true\n}\n\nfunc (b *grpclbBalancer) Start(target string, config BalancerConfig) error {\n\tb.rand = rand.New(rand.NewSource(time.Now().Unix()))\n\t// TODO: Fall back to the basic direct connection if there is no name resolver.\n\tif b.r == nil {\n\t\treturn errors.New(\"there is no name resolver installed\")\n\t}\n\tb.target = target\n\tb.mu.Lock()\n\tif b.done {\n\t\tb.mu.Unlock()\n\t\treturn ErrClientConnClosing\n\t}\n\tb.addrCh = make(chan []Address)\n\tw, err := b.r.Resolve(target)\n\tif err != nil {\n\t\tb.mu.Unlock()\n\t\tgrpclog.Errorf(\"grpclb: failed to resolve address: %v, err: %v\", target, err)\n\t\treturn err\n\t}\n\tb.w = w\n\tb.mu.Unlock()\n\tbalancerAddrsCh := make(chan []remoteBalancerInfo, 1)\n\t// Spawn a goroutine to monitor the name resolution of remote load balancer.\n\tgo func() {\n\t\tfor {\n\t\t\tif err := b.watchAddrUpdates(w, balancerAddrsCh); err != nil {\n\t\t\t\tgrpclog.Warningf(\"grpclb: the naming watcher stops working due to %v.\\n\", err)\n\t\t\t\tclose(balancerAddrsCh)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}()\n\t// Spawn a goroutine to talk to the remote load balancer.\n\tgo func() {\n\t\tvar (\n\t\t\tcc *ClientConn\n\t\t\t// ccError is closed when there is an error in the current cc.\n\t\t\t// A new rb should be picked from rbs and connected.\n\t\t\tccError chan struct{}\n\t\t\trb      *remoteBalancerInfo\n\t\t\trbs     []remoteBalancerInfo\n\t\t\trbIdx   int\n\t\t)\n\n\t\tdefer func() {\n\t\t\tif ccError != nil {\n\t\t\t\tselect {\n\t\t\t\tcase <-ccError:\n\t\t\t\tdefault:\n\t\t\t\t\tclose(ccError)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif cc != nil {\n\t\t\t\tcc.Close()\n\t\t\t}\n\t\t}()\n\n\t\tfor {\n\t\t\tvar ok bool\n\t\t\tselect {\n\t\t\tcase rbs, ok = <-balancerAddrsCh:\n\t\t\t\tif !ok {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tfoundIdx := -1\n\t\t\t\tif rb != nil {\n\t\t\t\t\tfor i, trb := range rbs {\n\t\t\t\t\t\tif trb == *rb {\n\t\t\t\t\t\t\tfoundIdx = i\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif foundIdx >= 0 {\n\t\t\t\t\tif foundIdx >= 1 {\n\t\t\t\t\t\t// Move the address in use to the beginning of the list.\n\t\t\t\t\t\tb.rbs[0], b.rbs[foundIdx] = b.rbs[foundIdx], b.rbs[0]\n\t\t\t\t\t\trbIdx = 0\n\t\t\t\t\t}\n\t\t\t\t\tcontinue // If found, don't dial new cc.\n\t\t\t\t} else if len(rbs) > 0 {\n\t\t\t\t\t// Pick a random one from the list, instead of always using the first one.\n\t\t\t\t\tif l := len(rbs); l > 1 && rb != nil {\n\t\t\t\t\t\ttmpIdx := b.rand.Intn(l - 1)\n\t\t\t\t\t\tb.rbs[0], b.rbs[tmpIdx] = b.rbs[tmpIdx], b.rbs[0]\n\t\t\t\t\t}\n\t\t\t\t\trbIdx = 0\n\t\t\t\t\trb = &rbs[0]\n\t\t\t\t} else {\n\t\t\t\t\t// foundIdx < 0 && len(rbs) <= 0.\n\t\t\t\t\trb = nil\n\t\t\t\t}\n\t\t\tcase <-ccError:\n\t\t\t\tccError = nil\n\t\t\t\tif rbIdx < len(rbs)-1 {\n\t\t\t\t\trbIdx++\n\t\t\t\t\trb = &rbs[rbIdx]\n\t\t\t\t} else {\n\t\t\t\t\trb = nil\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif rb == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tif cc != nil {\n\t\t\t\tcc.Close()\n\t\t\t}\n\t\t\t// Talk to the remote load balancer to get the server list.\n\t\t\tvar (\n\t\t\t\terr   error\n\t\t\t\tdopts []DialOption\n\t\t\t)\n\t\t\tif creds := config.DialCreds; creds != nil {\n\t\t\t\tif rb.name != \"\" {\n\t\t\t\t\tif err := creds.OverrideServerName(rb.name); err != nil {\n\t\t\t\t\t\tgrpclog.Warningf(\"grpclb: failed to override the server name in the credentials: %v\", err)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdopts = append(dopts, WithTransportCredentials(creds))\n\t\t\t} else {\n\t\t\t\tdopts = append(dopts, WithInsecure())\n\t\t\t}\n\t\t\tif dialer := config.Dialer; dialer != nil {\n\t\t\t\t// WithDialer takes a different type of function, so we instead use a special DialOption here.\n\t\t\t\tdopts = append(dopts, func(o *dialOptions) { o.copts.Dialer = dialer })\n\t\t\t}\n\t\t\tdopts = append(dopts, WithBlock())\n\t\t\tccError = make(chan struct{})\n\t\t\tctx, cancel := context.WithTimeout(context.Background(), time.Second)\n\t\t\tcc, err = DialContext(ctx, rb.addr, dopts...)\n\t\t\tcancel()\n\t\t\tif err != nil {\n\t\t\t\tgrpclog.Warningf(\"grpclb: failed to setup a connection to the remote balancer %v: %v\", rb.addr, err)\n\t\t\t\tclose(ccError)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tb.mu.Lock()\n\t\t\tb.seq++ // tick when getting a new balancer address\n\t\t\tseq := b.seq\n\t\t\tb.next = 0\n\t\t\tb.mu.Unlock()\n\t\t\tgo func(cc *ClientConn, ccError chan struct{}) {\n\t\t\t\tlbc := &loadBalancerClient{cc}\n\t\t\t\tb.callRemoteBalancer(lbc, seq)\n\t\t\t\tcc.Close()\n\t\t\t\tselect {\n\t\t\t\tcase <-ccError:\n\t\t\t\tdefault:\n\t\t\t\t\tclose(ccError)\n\t\t\t\t}\n\t\t\t}(cc, ccError)\n\t\t}\n\t}()\n\treturn nil\n}\n\nfunc (b *grpclbBalancer) down(addr Address, err error) {\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\tfor _, a := range b.addrs {\n\t\tif addr == a.addr {\n\t\t\ta.connected = false\n\t\t\tbreak\n\t\t}\n\t}\n}\n\nfunc (b *grpclbBalancer) Up(addr Address) func(error) {\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\tif b.done {\n\t\treturn nil\n\t}\n\tvar cnt int\n\tfor _, a := range b.addrs {\n\t\tif a.addr == addr {\n\t\t\tif a.connected {\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\ta.connected = true\n\t\t}\n\t\tif a.connected && !a.dropForRateLimiting && !a.dropForLoadBalancing {\n\t\t\tcnt++\n\t\t}\n\t}\n\t// addr is the only one which is connected. Notify the Get() callers who are blocking.\n\tif cnt == 1 && b.waitCh != nil {\n\t\tclose(b.waitCh)\n\t\tb.waitCh = nil\n\t}\n\treturn func(err error) {\n\t\tb.down(addr, err)\n\t}\n}\n\nfunc (b *grpclbBalancer) Get(ctx context.Context, opts BalancerGetOptions) (addr Address, put func(), err error) {\n\tvar ch chan struct{}\n\tb.mu.Lock()\n\tif b.done {\n\t\tb.mu.Unlock()\n\t\terr = ErrClientConnClosing\n\t\treturn\n\t}\n\tseq := b.seq\n\n\tdefer func() {\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\t\tput = func() {\n\t\t\ts, ok := rpcInfoFromContext(ctx)\n\t\t\tif !ok {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tb.mu.Lock()\n\t\t\tdefer b.mu.Unlock()\n\t\t\tif b.done || seq < b.seq {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tb.clientStats.NumCallsFinished++\n\t\t\tif !s.bytesSent {\n\t\t\t\tb.clientStats.NumCallsFinishedWithClientFailedToSend++\n\t\t\t} else if s.bytesReceived {\n\t\t\t\tb.clientStats.NumCallsFinishedKnownReceived++\n\t\t\t}\n\t\t}\n\t}()\n\n\tb.clientStats.NumCallsStarted++\n\tif len(b.addrs) > 0 {\n\t\tif b.next >= len(b.addrs) {\n\t\t\tb.next = 0\n\t\t}\n\t\tnext := b.next\n\t\tfor {\n\t\t\ta := b.addrs[next]\n\t\t\tnext = (next + 1) % len(b.addrs)\n\t\t\tif a.connected {\n\t\t\t\tif !a.dropForRateLimiting && !a.dropForLoadBalancing {\n\t\t\t\t\taddr = a.addr\n\t\t\t\t\tb.next = next\n\t\t\t\t\tb.mu.Unlock()\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tif !opts.BlockingWait {\n\t\t\t\t\tb.next = next\n\t\t\t\t\tif a.dropForLoadBalancing {\n\t\t\t\t\t\tb.clientStats.NumCallsFinished++\n\t\t\t\t\t\tb.clientStats.NumCallsFinishedWithDropForLoadBalancing++\n\t\t\t\t\t} else if a.dropForRateLimiting {\n\t\t\t\t\t\tb.clientStats.NumCallsFinished++\n\t\t\t\t\t\tb.clientStats.NumCallsFinishedWithDropForRateLimiting++\n\t\t\t\t\t}\n\t\t\t\t\tb.mu.Unlock()\n\t\t\t\t\terr = Errorf(codes.Unavailable, \"%s drops requests\", a.addr.Addr)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\tif next == b.next {\n\t\t\t\t// Has iterated all the possible address but none is connected.\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tif !opts.BlockingWait {\n\t\tb.clientStats.NumCallsFinished++\n\t\tb.clientStats.NumCallsFinishedWithClientFailedToSend++\n\t\tb.mu.Unlock()\n\t\terr = Errorf(codes.Unavailable, \"there is no address available\")\n\t\treturn\n\t}\n\t// Wait on b.waitCh for non-failfast RPCs.\n\tif b.waitCh == nil {\n\t\tch = make(chan struct{})\n\t\tb.waitCh = ch\n\t} else {\n\t\tch = b.waitCh\n\t}\n\tb.mu.Unlock()\n\tfor {\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\tb.mu.Lock()\n\t\t\tb.clientStats.NumCallsFinished++\n\t\t\tb.clientStats.NumCallsFinishedWithClientFailedToSend++\n\t\t\tb.mu.Unlock()\n\t\t\terr = ctx.Err()\n\t\t\treturn\n\t\tcase <-ch:\n\t\t\tb.mu.Lock()\n\t\t\tif b.done {\n\t\t\t\tb.clientStats.NumCallsFinished++\n\t\t\t\tb.clientStats.NumCallsFinishedWithClientFailedToSend++\n\t\t\t\tb.mu.Unlock()\n\t\t\t\terr = ErrClientConnClosing\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif len(b.addrs) > 0 {\n\t\t\t\tif b.next >= len(b.addrs) {\n\t\t\t\t\tb.next = 0\n\t\t\t\t}\n\t\t\t\tnext := b.next\n\t\t\t\tfor {\n\t\t\t\t\ta := b.addrs[next]\n\t\t\t\t\tnext = (next + 1) % len(b.addrs)\n\t\t\t\t\tif a.connected {\n\t\t\t\t\t\tif !a.dropForRateLimiting && !a.dropForLoadBalancing {\n\t\t\t\t\t\t\taddr = a.addr\n\t\t\t\t\t\t\tb.next = next\n\t\t\t\t\t\t\tb.mu.Unlock()\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif !opts.BlockingWait {\n\t\t\t\t\t\t\tb.next = next\n\t\t\t\t\t\t\tif a.dropForLoadBalancing {\n\t\t\t\t\t\t\t\tb.clientStats.NumCallsFinished++\n\t\t\t\t\t\t\t\tb.clientStats.NumCallsFinishedWithDropForLoadBalancing++\n\t\t\t\t\t\t\t} else if a.dropForRateLimiting {\n\t\t\t\t\t\t\t\tb.clientStats.NumCallsFinished++\n\t\t\t\t\t\t\t\tb.clientStats.NumCallsFinishedWithDropForRateLimiting++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tb.mu.Unlock()\n\t\t\t\t\t\t\terr = Errorf(codes.Unavailable, \"drop requests for the addreess %s\", a.addr.Addr)\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif next == b.next {\n\t\t\t\t\t\t// Has iterated all the possible address but none is connected.\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// The newly added addr got removed by Down() again.\n\t\t\tif b.waitCh == nil {\n\t\t\t\tch = make(chan struct{})\n\t\t\t\tb.waitCh = ch\n\t\t\t} else {\n\t\t\t\tch = b.waitCh\n\t\t\t}\n\t\t\tb.mu.Unlock()\n\t\t}\n\t}\n}\n\nfunc (b *grpclbBalancer) Notify() <-chan []Address {\n\treturn b.addrCh\n}\n\nfunc (b *grpclbBalancer) Close() error {\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\tif b.done {\n\t\treturn errBalancerClosed\n\t}\n\tb.done = true\n\tif b.waitCh != nil {\n\t\tclose(b.waitCh)\n\t}\n\tif b.addrCh != nil {\n\t\tclose(b.addrCh)\n\t}\n\tif b.w != nil {\n\t\tb.w.Close()\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/grpclog/grpclog.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\n// Package grpclog defines logging for grpc.\n//\n// All logs in transport package only go to verbose level 2.\n// All logs in other packages in grpc are logged in spite of the verbosity level.\n//\n// In the default logger,\n// severity level can be set by environment variable GRPC_GO_LOG_SEVERITY_LEVEL,\n// verbosity level can be set by GRPC_GO_LOG_VERBOSITY_LEVEL.\npackage grpclog // import \"google.golang.org/grpc/grpclog\"\n\nimport \"os\"\n\nvar logger = newLoggerV2()\n\n// V reports whether verbosity level l is at least the requested verbose level.\nfunc V(l int) bool {\n\treturn logger.V(l)\n}\n\n// Info logs to the INFO log.\nfunc Info(args ...interface{}) {\n\tlogger.Info(args...)\n}\n\n// Infof logs to the INFO log. Arguments are handled in the manner of fmt.Printf.\nfunc Infof(format string, args ...interface{}) {\n\tlogger.Infof(format, args...)\n}\n\n// Infoln logs to the INFO log. Arguments are handled in the manner of fmt.Println.\nfunc Infoln(args ...interface{}) {\n\tlogger.Infoln(args...)\n}\n\n// Warning logs to the WARNING log.\nfunc Warning(args ...interface{}) {\n\tlogger.Warning(args...)\n}\n\n// Warningf logs to the WARNING log. Arguments are handled in the manner of fmt.Printf.\nfunc Warningf(format string, args ...interface{}) {\n\tlogger.Warningf(format, args...)\n}\n\n// Warningln logs to the WARNING log. Arguments are handled in the manner of fmt.Println.\nfunc Warningln(args ...interface{}) {\n\tlogger.Warningln(args...)\n}\n\n// Error logs to the ERROR log.\nfunc Error(args ...interface{}) {\n\tlogger.Error(args...)\n}\n\n// Errorf logs to the ERROR log. Arguments are handled in the manner of fmt.Printf.\nfunc Errorf(format string, args ...interface{}) {\n\tlogger.Errorf(format, args...)\n}\n\n// Errorln logs to the ERROR log. Arguments are handled in the manner of fmt.Println.\nfunc Errorln(args ...interface{}) {\n\tlogger.Errorln(args...)\n}\n\n// Fatal logs to the FATAL log. Arguments are handled in the manner of fmt.Print.\n// It calls os.Exit() with exit code 1.\nfunc Fatal(args ...interface{}) {\n\tlogger.Fatal(args...)\n\t// Make sure fatal logs will exit.\n\tos.Exit(1)\n}\n\n// Fatalf logs to the FATAL log. Arguments are handled in the manner of fmt.Printf.\n// It calles os.Exit() with exit code 1.\nfunc Fatalf(format string, args ...interface{}) {\n\tlogger.Fatalf(format, args...)\n\t// Make sure fatal logs will exit.\n\tos.Exit(1)\n}\n\n// Fatalln logs to the FATAL log. Arguments are handled in the manner of fmt.Println.\n// It calle os.Exit()) with exit code 1.\nfunc Fatalln(args ...interface{}) {\n\tlogger.Fatalln(args...)\n\t// Make sure fatal logs will exit.\n\tos.Exit(1)\n}\n\n// Print prints to the logger. Arguments are handled in the manner of fmt.Print.\n// Deprecated: use Info.\nfunc Print(args ...interface{}) {\n\tlogger.Info(args...)\n}\n\n// Printf prints to the logger. Arguments are handled in the manner of fmt.Printf.\n// Deprecated: use Infof.\nfunc Printf(format string, args ...interface{}) {\n\tlogger.Infof(format, args...)\n}\n\n// Println prints to the logger. Arguments are handled in the manner of fmt.Println.\n// Deprecated: use Infoln.\nfunc Println(args ...interface{}) {\n\tlogger.Infoln(args...)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/grpclog/logger.go",
    "content": "/*\n *\n * Copyright 2015 gRPC authors.\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\npackage grpclog\n\n// Logger mimics golang's standard Logger as an interface.\n// Deprecated: use LoggerV2.\ntype Logger interface {\n\tFatal(args ...interface{})\n\tFatalf(format string, args ...interface{})\n\tFatalln(args ...interface{})\n\tPrint(args ...interface{})\n\tPrintf(format string, args ...interface{})\n\tPrintln(args ...interface{})\n}\n\n// SetLogger sets the logger that is used in grpc. Call only from\n// init() functions.\n// Deprecated: use SetLoggerV2.\nfunc SetLogger(l Logger) {\n\tlogger = &loggerWrapper{Logger: l}\n}\n\n// loggerWrapper wraps Logger into a LoggerV2.\ntype loggerWrapper struct {\n\tLogger\n}\n\nfunc (g *loggerWrapper) Info(args ...interface{}) {\n\tg.Logger.Print(args...)\n}\n\nfunc (g *loggerWrapper) Infoln(args ...interface{}) {\n\tg.Logger.Println(args...)\n}\n\nfunc (g *loggerWrapper) Infof(format string, args ...interface{}) {\n\tg.Logger.Printf(format, args...)\n}\n\nfunc (g *loggerWrapper) Warning(args ...interface{}) {\n\tg.Logger.Print(args...)\n}\n\nfunc (g *loggerWrapper) Warningln(args ...interface{}) {\n\tg.Logger.Println(args...)\n}\n\nfunc (g *loggerWrapper) Warningf(format string, args ...interface{}) {\n\tg.Logger.Printf(format, args...)\n}\n\nfunc (g *loggerWrapper) Error(args ...interface{}) {\n\tg.Logger.Print(args...)\n}\n\nfunc (g *loggerWrapper) Errorln(args ...interface{}) {\n\tg.Logger.Println(args...)\n}\n\nfunc (g *loggerWrapper) Errorf(format string, args ...interface{}) {\n\tg.Logger.Printf(format, args...)\n}\n\nfunc (g *loggerWrapper) V(l int) bool {\n\t// Returns true for all verbose level.\n\treturn true\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/grpclog/loggerv2.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\npackage grpclog\n\nimport (\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"strconv\"\n)\n\n// LoggerV2 does underlying logging work for grpclog.\ntype LoggerV2 interface {\n\t// Info logs to INFO log. Arguments are handled in the manner of fmt.Print.\n\tInfo(args ...interface{})\n\t// Infoln logs to INFO log. Arguments are handled in the manner of fmt.Println.\n\tInfoln(args ...interface{})\n\t// Infof logs to INFO log. Arguments are handled in the manner of fmt.Printf.\n\tInfof(format string, args ...interface{})\n\t// Warning logs to WARNING log. Arguments are handled in the manner of fmt.Print.\n\tWarning(args ...interface{})\n\t// Warningln logs to WARNING log. Arguments are handled in the manner of fmt.Println.\n\tWarningln(args ...interface{})\n\t// Warningf logs to WARNING log. Arguments are handled in the manner of fmt.Printf.\n\tWarningf(format string, args ...interface{})\n\t// Error logs to ERROR log. Arguments are handled in the manner of fmt.Print.\n\tError(args ...interface{})\n\t// Errorln logs to ERROR log. Arguments are handled in the manner of fmt.Println.\n\tErrorln(args ...interface{})\n\t// Errorf logs to ERROR log. Arguments are handled in the manner of fmt.Printf.\n\tErrorf(format string, args ...interface{})\n\t// Fatal logs to ERROR log. Arguments are handled in the manner of fmt.Print.\n\t// gRPC ensures that all Fatal logs will exit with os.Exit(1).\n\t// Implementations may also call os.Exit() with a non-zero exit code.\n\tFatal(args ...interface{})\n\t// Fatalln logs to ERROR log. Arguments are handled in the manner of fmt.Println.\n\t// gRPC ensures that all Fatal logs will exit with os.Exit(1).\n\t// Implementations may also call os.Exit() with a non-zero exit code.\n\tFatalln(args ...interface{})\n\t// Fatalf logs to ERROR log. Arguments are handled in the manner of fmt.Printf.\n\t// gRPC ensures that all Fatal logs will exit with os.Exit(1).\n\t// Implementations may also call os.Exit() with a non-zero exit code.\n\tFatalf(format string, args ...interface{})\n\t// V reports whether verbosity level l is at least the requested verbose level.\n\tV(l int) bool\n}\n\n// SetLoggerV2 sets logger that is used in grpc to a V2 logger.\n// Not mutex-protected, should be called before any gRPC functions.\nfunc SetLoggerV2(l LoggerV2) {\n\tlogger = l\n}\n\nconst (\n\t// infoLog indicates Info severity.\n\tinfoLog int = iota\n\t// warningLog indicates Warning severity.\n\twarningLog\n\t// errorLog indicates Error severity.\n\terrorLog\n\t// fatalLog indicates Fatal severity.\n\tfatalLog\n)\n\n// severityName contains the string representation of each severity.\nvar severityName = []string{\n\tinfoLog:    \"INFO\",\n\twarningLog: \"WARNING\",\n\terrorLog:   \"ERROR\",\n\tfatalLog:   \"FATAL\",\n}\n\n// loggerT is the default logger used by grpclog.\ntype loggerT struct {\n\tm []*log.Logger\n\tv int\n}\n\n// NewLoggerV2 creates a loggerV2 with the provided writers.\n// Fatal logs will be written to errorW, warningW, infoW, followed by exit(1).\n// Error logs will be written to errorW, warningW and infoW.\n// Warning logs will be written to warningW and infoW.\n// Info logs will be written to infoW.\nfunc NewLoggerV2(infoW, warningW, errorW io.Writer) LoggerV2 {\n\treturn NewLoggerV2WithVerbosity(infoW, warningW, errorW, 0)\n}\n\n// NewLoggerV2WithVerbosity creates a loggerV2 with the provided writers and\n// verbosity level.\nfunc NewLoggerV2WithVerbosity(infoW, warningW, errorW io.Writer, v int) LoggerV2 {\n\tvar m []*log.Logger\n\tm = append(m, log.New(infoW, severityName[infoLog]+\": \", log.LstdFlags))\n\tm = append(m, log.New(io.MultiWriter(infoW, warningW), severityName[warningLog]+\": \", log.LstdFlags))\n\tew := io.MultiWriter(infoW, warningW, errorW) // ew will be used for error and fatal.\n\tm = append(m, log.New(ew, severityName[errorLog]+\": \", log.LstdFlags))\n\tm = append(m, log.New(ew, severityName[fatalLog]+\": \", log.LstdFlags))\n\treturn &loggerT{m: m, v: v}\n}\n\n// newLoggerV2 creates a loggerV2 to be used as default logger.\n// All logs are written to stderr.\nfunc newLoggerV2() LoggerV2 {\n\terrorW := ioutil.Discard\n\twarningW := ioutil.Discard\n\tinfoW := ioutil.Discard\n\n\tlogLevel := os.Getenv(\"GRPC_GO_LOG_SEVERITY_LEVEL\")\n\tswitch logLevel {\n\tcase \"\", \"ERROR\", \"error\": // If env is unset, set level to ERROR.\n\t\terrorW = os.Stderr\n\tcase \"WARNING\", \"warning\":\n\t\twarningW = os.Stderr\n\tcase \"INFO\", \"info\":\n\t\tinfoW = os.Stderr\n\t}\n\n\tvar v int\n\tvLevel := os.Getenv(\"GRPC_GO_LOG_VERBOSITY_LEVEL\")\n\tif vl, err := strconv.Atoi(vLevel); err == nil {\n\t\tv = vl\n\t}\n\treturn NewLoggerV2WithVerbosity(infoW, warningW, errorW, v)\n}\n\nfunc (g *loggerT) Info(args ...interface{}) {\n\tg.m[infoLog].Print(args...)\n}\n\nfunc (g *loggerT) Infoln(args ...interface{}) {\n\tg.m[infoLog].Println(args...)\n}\n\nfunc (g *loggerT) Infof(format string, args ...interface{}) {\n\tg.m[infoLog].Printf(format, args...)\n}\n\nfunc (g *loggerT) Warning(args ...interface{}) {\n\tg.m[warningLog].Print(args...)\n}\n\nfunc (g *loggerT) Warningln(args ...interface{}) {\n\tg.m[warningLog].Println(args...)\n}\n\nfunc (g *loggerT) Warningf(format string, args ...interface{}) {\n\tg.m[warningLog].Printf(format, args...)\n}\n\nfunc (g *loggerT) Error(args ...interface{}) {\n\tg.m[errorLog].Print(args...)\n}\n\nfunc (g *loggerT) Errorln(args ...interface{}) {\n\tg.m[errorLog].Println(args...)\n}\n\nfunc (g *loggerT) Errorf(format string, args ...interface{}) {\n\tg.m[errorLog].Printf(format, args...)\n}\n\nfunc (g *loggerT) Fatal(args ...interface{}) {\n\tg.m[fatalLog].Fatal(args...)\n\t// No need to call os.Exit() again because log.Logger.Fatal() calls os.Exit().\n}\n\nfunc (g *loggerT) Fatalln(args ...interface{}) {\n\tg.m[fatalLog].Fatalln(args...)\n\t// No need to call os.Exit() again because log.Logger.Fatal() calls os.Exit().\n}\n\nfunc (g *loggerT) Fatalf(format string, args ...interface{}) {\n\tg.m[fatalLog].Fatalf(format, args...)\n\t// No need to call os.Exit() again because log.Logger.Fatal() calls os.Exit().\n}\n\nfunc (g *loggerT) V(l int) bool {\n\treturn l <= g.v\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: grpc_health_v1/health.proto\n\n/*\nPackage grpc_health_v1 is a generated protocol buffer package.\n\nIt is generated from these files:\n\tgrpc_health_v1/health.proto\n\nIt has these top-level messages:\n\tHealthCheckRequest\n\tHealthCheckResponse\n*/\npackage grpc_health_v1\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\nimport (\n\tcontext \"golang.org/x/net/context\"\n\tgrpc \"google.golang.org/grpc\"\n)\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\ntype HealthCheckResponse_ServingStatus int32\n\nconst (\n\tHealthCheckResponse_UNKNOWN     HealthCheckResponse_ServingStatus = 0\n\tHealthCheckResponse_SERVING     HealthCheckResponse_ServingStatus = 1\n\tHealthCheckResponse_NOT_SERVING HealthCheckResponse_ServingStatus = 2\n)\n\nvar HealthCheckResponse_ServingStatus_name = map[int32]string{\n\t0: \"UNKNOWN\",\n\t1: \"SERVING\",\n\t2: \"NOT_SERVING\",\n}\nvar HealthCheckResponse_ServingStatus_value = map[string]int32{\n\t\"UNKNOWN\":     0,\n\t\"SERVING\":     1,\n\t\"NOT_SERVING\": 2,\n}\n\nfunc (x HealthCheckResponse_ServingStatus) String() string {\n\treturn proto.EnumName(HealthCheckResponse_ServingStatus_name, int32(x))\n}\nfunc (HealthCheckResponse_ServingStatus) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptor0, []int{1, 0}\n}\n\ntype HealthCheckRequest struct {\n\tService string `protobuf:\"bytes,1,opt,name=service\" json:\"service,omitempty\"`\n}\n\nfunc (m *HealthCheckRequest) Reset()                    { *m = HealthCheckRequest{} }\nfunc (m *HealthCheckRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*HealthCheckRequest) ProtoMessage()               {}\nfunc (*HealthCheckRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }\n\nfunc (m *HealthCheckRequest) GetService() string {\n\tif m != nil {\n\t\treturn m.Service\n\t}\n\treturn \"\"\n}\n\ntype HealthCheckResponse struct {\n\tStatus HealthCheckResponse_ServingStatus `protobuf:\"varint,1,opt,name=status,enum=grpc.health.v1.HealthCheckResponse_ServingStatus\" json:\"status,omitempty\"`\n}\n\nfunc (m *HealthCheckResponse) Reset()                    { *m = HealthCheckResponse{} }\nfunc (m *HealthCheckResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*HealthCheckResponse) ProtoMessage()               {}\nfunc (*HealthCheckResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }\n\nfunc (m *HealthCheckResponse) GetStatus() HealthCheckResponse_ServingStatus {\n\tif m != nil {\n\t\treturn m.Status\n\t}\n\treturn HealthCheckResponse_UNKNOWN\n}\n\nfunc init() {\n\tproto.RegisterType((*HealthCheckRequest)(nil), \"grpc.health.v1.HealthCheckRequest\")\n\tproto.RegisterType((*HealthCheckResponse)(nil), \"grpc.health.v1.HealthCheckResponse\")\n\tproto.RegisterEnum(\"grpc.health.v1.HealthCheckResponse_ServingStatus\", HealthCheckResponse_ServingStatus_name, HealthCheckResponse_ServingStatus_value)\n}\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ context.Context\nvar _ grpc.ClientConn\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the grpc package it is being compiled against.\nconst _ = grpc.SupportPackageIsVersion4\n\n// Client API for Health service\n\ntype HealthClient interface {\n\tCheck(ctx context.Context, in *HealthCheckRequest, opts ...grpc.CallOption) (*HealthCheckResponse, error)\n}\n\ntype healthClient struct {\n\tcc *grpc.ClientConn\n}\n\nfunc NewHealthClient(cc *grpc.ClientConn) HealthClient {\n\treturn &healthClient{cc}\n}\n\nfunc (c *healthClient) Check(ctx context.Context, in *HealthCheckRequest, opts ...grpc.CallOption) (*HealthCheckResponse, error) {\n\tout := new(HealthCheckResponse)\n\terr := grpc.Invoke(ctx, \"/grpc.health.v1.Health/Check\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Server API for Health service\n\ntype HealthServer interface {\n\tCheck(context.Context, *HealthCheckRequest) (*HealthCheckResponse, error)\n}\n\nfunc RegisterHealthServer(s *grpc.Server, srv HealthServer) {\n\ts.RegisterService(&_Health_serviceDesc, srv)\n}\n\nfunc _Health_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(HealthCheckRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(HealthServer).Check(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/grpc.health.v1.Health/Check\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(HealthServer).Check(ctx, req.(*HealthCheckRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nvar _Health_serviceDesc = grpc.ServiceDesc{\n\tServiceName: \"grpc.health.v1.Health\",\n\tHandlerType: (*HealthServer)(nil),\n\tMethods: []grpc.MethodDesc{\n\t\t{\n\t\t\tMethodName: \"Check\",\n\t\t\tHandler:    _Health_Check_Handler,\n\t\t},\n\t},\n\tStreams:  []grpc.StreamDesc{},\n\tMetadata: \"grpc_health_v1/health.proto\",\n}\n\nfunc init() { proto.RegisterFile(\"grpc_health_v1/health.proto\", fileDescriptor0) }\n\nvar fileDescriptor0 = []byte{\n\t// 213 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0x2f, 0x2a, 0x48,\n\t0x8e, 0xcf, 0x48, 0x4d, 0xcc, 0x29, 0xc9, 0x88, 0x2f, 0x33, 0xd4, 0x87, 0xb0, 0xf4, 0x0a, 0x8a,\n\t0xf2, 0x4b, 0xf2, 0x85, 0xf8, 0x40, 0x92, 0x7a, 0x50, 0xa1, 0x32, 0x43, 0x25, 0x3d, 0x2e, 0x21,\n\t0x0f, 0x30, 0xc7, 0x39, 0x23, 0x35, 0x39, 0x3b, 0x28, 0xb5, 0xb0, 0x34, 0xb5, 0xb8, 0x44, 0x48,\n\t0x82, 0x8b, 0xbd, 0x38, 0xb5, 0xa8, 0x2c, 0x33, 0x39, 0x55, 0x82, 0x51, 0x81, 0x51, 0x83, 0x33,\n\t0x08, 0xc6, 0x55, 0x9a, 0xc3, 0xc8, 0x25, 0x8c, 0xa2, 0xa1, 0xb8, 0x20, 0x3f, 0xaf, 0x38, 0x55,\n\t0xc8, 0x93, 0x8b, 0xad, 0xb8, 0x24, 0xb1, 0xa4, 0xb4, 0x18, 0xac, 0x81, 0xcf, 0xc8, 0x50, 0x0f,\n\t0xd5, 0x22, 0x3d, 0x2c, 0x9a, 0xf4, 0x82, 0x41, 0x86, 0xe6, 0xa5, 0x07, 0x83, 0x35, 0x06, 0x41,\n\t0x0d, 0x50, 0xb2, 0xe2, 0xe2, 0x45, 0x91, 0x10, 0xe2, 0xe6, 0x62, 0x0f, 0xf5, 0xf3, 0xf6, 0xf3,\n\t0x0f, 0xf7, 0x13, 0x60, 0x00, 0x71, 0x82, 0x5d, 0x83, 0xc2, 0x3c, 0xfd, 0xdc, 0x05, 0x18, 0x85,\n\t0xf8, 0xb9, 0xb8, 0xfd, 0xfc, 0x43, 0xe2, 0x61, 0x02, 0x4c, 0x46, 0x51, 0x5c, 0x6c, 0x10, 0x8b,\n\t0x84, 0x02, 0xb8, 0x58, 0xc1, 0x96, 0x09, 0x29, 0xe1, 0x75, 0x09, 0xd8, 0xbf, 0x52, 0xca, 0x44,\n\t0xb8, 0x36, 0x89, 0x0d, 0x1c, 0x82, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x53, 0x2b, 0x65,\n\t0x20, 0x60, 0x01, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/health/health.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\n//go:generate protoc --go_out=plugins=grpc:. grpc_health_v1/health.proto\n\n// Package health provides some utility functions to health-check a server. The implementation\n// is based on protobuf. Users need to write their own implementations if other IDLs are used.\npackage health\n\nimport (\n\t\"sync\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc\"\n\t\"google.golang.org/grpc/codes\"\n\thealthpb \"google.golang.org/grpc/health/grpc_health_v1\"\n)\n\n// Server implements `service Health`.\ntype Server struct {\n\tmu sync.Mutex\n\t// statusMap stores the serving status of the services this Server monitors.\n\tstatusMap map[string]healthpb.HealthCheckResponse_ServingStatus\n}\n\n// NewServer returns a new Server.\nfunc NewServer() *Server {\n\treturn &Server{\n\t\tstatusMap: make(map[string]healthpb.HealthCheckResponse_ServingStatus),\n\t}\n}\n\n// Check implements `service Health`.\nfunc (s *Server) Check(ctx context.Context, in *healthpb.HealthCheckRequest) (*healthpb.HealthCheckResponse, error) {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif in.Service == \"\" {\n\t\t// check the server overall health status.\n\t\treturn &healthpb.HealthCheckResponse{\n\t\t\tStatus: healthpb.HealthCheckResponse_SERVING,\n\t\t}, nil\n\t}\n\tif status, ok := s.statusMap[in.Service]; ok {\n\t\treturn &healthpb.HealthCheckResponse{\n\t\t\tStatus: status,\n\t\t}, nil\n\t}\n\treturn nil, grpc.Errorf(codes.NotFound, \"unknown service\")\n}\n\n// SetServingStatus is called when need to reset the serving status of a service\n// or insert a new service entry into the statusMap.\nfunc (s *Server) SetServingStatus(service string, status healthpb.HealthCheckResponse_ServingStatus) {\n\ts.mu.Lock()\n\ts.statusMap[service] = status\n\ts.mu.Unlock()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/interceptor.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"golang.org/x/net/context\"\n)\n\n// UnaryInvoker is called by UnaryClientInterceptor to complete RPCs.\ntype UnaryInvoker func(ctx context.Context, method string, req, reply interface{}, cc *ClientConn, opts ...CallOption) error\n\n// UnaryClientInterceptor intercepts the execution of a unary RPC on the client. invoker is the handler to complete the RPC\n// and it is the responsibility of the interceptor to call it.\n// This is an EXPERIMENTAL API.\ntype UnaryClientInterceptor func(ctx context.Context, method string, req, reply interface{}, cc *ClientConn, invoker UnaryInvoker, opts ...CallOption) error\n\n// Streamer is called by StreamClientInterceptor to create a ClientStream.\ntype Streamer func(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, opts ...CallOption) (ClientStream, error)\n\n// StreamClientInterceptor intercepts the creation of ClientStream. It may return a custom ClientStream to intercept all I/O\n// operations. streamer is the handler to create a ClientStream and it is the responsibility of the interceptor to call it.\n// This is an EXPERIMENTAL API.\ntype StreamClientInterceptor func(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, streamer Streamer, opts ...CallOption) (ClientStream, error)\n\n// UnaryServerInfo consists of various information about a unary RPC on\n// server side. All per-rpc information may be mutated by the interceptor.\ntype UnaryServerInfo struct {\n\t// Server is the service implementation the user provides. This is read-only.\n\tServer interface{}\n\t// FullMethod is the full RPC method string, i.e., /package.service/method.\n\tFullMethod string\n}\n\n// UnaryHandler defines the handler invoked by UnaryServerInterceptor to complete the normal\n// execution of a unary RPC.\ntype UnaryHandler func(ctx context.Context, req interface{}) (interface{}, error)\n\n// UnaryServerInterceptor provides a hook to intercept the execution of a unary RPC on the server. info\n// contains all the information of this RPC the interceptor can operate on. And handler is the wrapper\n// of the service method implementation. It is the responsibility of the interceptor to invoke handler\n// to complete the RPC.\ntype UnaryServerInterceptor func(ctx context.Context, req interface{}, info *UnaryServerInfo, handler UnaryHandler) (resp interface{}, err error)\n\n// StreamServerInfo consists of various information about a streaming RPC on\n// server side. All per-rpc information may be mutated by the interceptor.\ntype StreamServerInfo struct {\n\t// FullMethod is the full RPC method string, i.e., /package.service/method.\n\tFullMethod string\n\t// IsClientStream indicates whether the RPC is a client streaming RPC.\n\tIsClientStream bool\n\t// IsServerStream indicates whether the RPC is a server streaming RPC.\n\tIsServerStream bool\n}\n\n// StreamServerInterceptor provides a hook to intercept the execution of a streaming RPC on the server.\n// info contains all the information of this RPC the interceptor can operate on. And handler is the\n// service method implementation. It is the responsibility of the interceptor to invoke handler to\n// complete the RPC.\ntype StreamServerInterceptor func(srv interface{}, ss ServerStream, info *StreamServerInfo, handler StreamHandler) error\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/internal.go",
    "content": "/*\n * Copyright 2016 gRPC authors.\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\n// Package internal contains gRPC-internal code for testing, to avoid polluting\n// the godoc of the top-level grpc package.\npackage internal\n\n// TestingCloseConns closes all existing transports but keeps\n// grpcServer.lis accepting new connections.\n//\n// The provided grpcServer must be of type *grpc.Server. It is untyped\n// for circular dependency reasons.\nvar TestingCloseConns func(grpcServer interface{})\n\n// TestingUseHandlerImpl enables the http.Handler-based server implementation.\n// It must be called before Serve and requires TLS credentials.\n//\n// The provided grpcServer must be of type *grpc.Server. It is untyped\n// for circular dependency reasons.\nvar TestingUseHandlerImpl func(grpcServer interface{})\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/keepalive/keepalive.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\n// Package keepalive defines configurable parameters for point-to-point healthcheck.\npackage keepalive\n\nimport (\n\t\"time\"\n)\n\n// ClientParameters is used to set keepalive parameters on the client-side.\n// These configure how the client will actively probe to notice when a connection is broken\n// and send pings so intermediaries will be aware of the liveness of the connection.\n// Make sure these parameters are set in coordination with the keepalive policy on the server,\n// as incompatible settings can result in closing of connection.\ntype ClientParameters struct {\n\t// After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.\n\tTime time.Duration // The current default value is infinity.\n\t// After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that\n\t// the connection is closed.\n\tTimeout time.Duration // The current default value is 20 seconds.\n\t// If true, client runs keepalive checks even with no active RPCs.\n\tPermitWithoutStream bool // false by default.\n}\n\n// ServerParameters is used to set keepalive and max-age parameters on the server-side.\ntype ServerParameters struct {\n\t// MaxConnectionIdle is a duration for the amount of time after which an idle connection would be closed by sending a GoAway.\n\t// Idleness duration is defined since the most recent time the number of outstanding RPCs became zero or the connection establishment.\n\tMaxConnectionIdle time.Duration // The current default value is infinity.\n\t// MaxConnectionAge is a duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway.\n\t// A random jitter of +/-10% will be added to MaxConnectionAge to spread out connection storms.\n\tMaxConnectionAge time.Duration // The current default value is infinity.\n\t// MaxConnectinoAgeGrace is an additive period after MaxConnectionAge after which the connection will be forcibly closed.\n\tMaxConnectionAgeGrace time.Duration // The current default value is infinity.\n\t// After a duration of this time if the server doesn't see any activity it pings the client to see if the transport is still alive.\n\tTime time.Duration // The current default value is 2 hours.\n\t// After having pinged for keepalive check, the server waits for a duration of Timeout and if no activity is seen even after that\n\t// the connection is closed.\n\tTimeout time.Duration // The current default value is 20 seconds.\n}\n\n// EnforcementPolicy is used to set keepalive enforcement policy on the server-side.\n// Server will close connection with a client that violates this policy.\ntype EnforcementPolicy struct {\n\t// MinTime is the minimum amount of time a client should wait before sending a keepalive ping.\n\tMinTime time.Duration // The current default value is 5 minutes.\n\t// If true, server expects keepalive pings even when there are no active streams(RPCs).\n\tPermitWithoutStream bool // false by default.\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/metadata/metadata.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\n// Package metadata define the structure of the metadata supported by gRPC library.\n// Please refer to https://grpc.io/docs/guides/wire.html for more information about custom-metadata.\npackage metadata // import \"google.golang.org/grpc/metadata\"\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\n\t\"golang.org/x/net/context\"\n)\n\n// DecodeKeyValue returns k, v, nil.  It is deprecated and should not be used.\nfunc DecodeKeyValue(k, v string) (string, string, error) {\n\treturn k, v, nil\n}\n\n// MD is a mapping from metadata keys to values. Users should use the following\n// two convenience functions New and Pairs to generate MD.\ntype MD map[string][]string\n\n// New creates an MD from a given key-value map.\n//\n// Only the following ASCII characters are allowed in keys:\n//  - digits: 0-9\n//  - uppercase letters: A-Z (normalized to lower)\n//  - lowercase letters: a-z\n//  - special characters: -_.\n// Uppercase letters are automatically converted to lowercase.\n//\n// Keys beginning with \"grpc-\" are reserved for grpc-internal use only and may\n// result in errors if set in metadata.\nfunc New(m map[string]string) MD {\n\tmd := MD{}\n\tfor k, val := range m {\n\t\tkey := strings.ToLower(k)\n\t\tmd[key] = append(md[key], val)\n\t}\n\treturn md\n}\n\n// Pairs returns an MD formed by the mapping of key, value ...\n// Pairs panics if len(kv) is odd.\n//\n// Only the following ASCII characters are allowed in keys:\n//  - digits: 0-9\n//  - uppercase letters: A-Z (normalized to lower)\n//  - lowercase letters: a-z\n//  - special characters: -_.\n// Uppercase letters are automatically converted to lowercase.\n//\n// Keys beginning with \"grpc-\" are reserved for grpc-internal use only and may\n// result in errors if set in metadata.\nfunc Pairs(kv ...string) MD {\n\tif len(kv)%2 == 1 {\n\t\tpanic(fmt.Sprintf(\"metadata: Pairs got the odd number of input pairs for metadata: %d\", len(kv)))\n\t}\n\tmd := MD{}\n\tvar key string\n\tfor i, s := range kv {\n\t\tif i%2 == 0 {\n\t\t\tkey = strings.ToLower(s)\n\t\t\tcontinue\n\t\t}\n\t\tmd[key] = append(md[key], s)\n\t}\n\treturn md\n}\n\n// Len returns the number of items in md.\nfunc (md MD) Len() int {\n\treturn len(md)\n}\n\n// Copy returns a copy of md.\nfunc (md MD) Copy() MD {\n\treturn Join(md)\n}\n\n// Join joins any number of mds into a single MD.\n// The order of values for each key is determined by the order in which\n// the mds containing those values are presented to Join.\nfunc Join(mds ...MD) MD {\n\tout := MD{}\n\tfor _, md := range mds {\n\t\tfor k, v := range md {\n\t\t\tout[k] = append(out[k], v...)\n\t\t}\n\t}\n\treturn out\n}\n\ntype mdIncomingKey struct{}\ntype mdOutgoingKey struct{}\n\n// NewIncomingContext creates a new context with incoming md attached.\nfunc NewIncomingContext(ctx context.Context, md MD) context.Context {\n\treturn context.WithValue(ctx, mdIncomingKey{}, md)\n}\n\n// NewOutgoingContext creates a new context with outgoing md attached.\nfunc NewOutgoingContext(ctx context.Context, md MD) context.Context {\n\treturn context.WithValue(ctx, mdOutgoingKey{}, md)\n}\n\n// FromIncomingContext returns the incoming metadata in ctx if it exists.  The\n// returned MD should not be modified. Writing to it may cause races.\n// Modification should be made to copies of the returned MD.\nfunc FromIncomingContext(ctx context.Context) (md MD, ok bool) {\n\tmd, ok = ctx.Value(mdIncomingKey{}).(MD)\n\treturn\n}\n\n// FromOutgoingContext returns the outgoing metadata in ctx if it exists.  The\n// returned MD should not be modified. Writing to it may cause races.\n// Modification should be made to the copies of the returned MD.\nfunc FromOutgoingContext(ctx context.Context) (md MD, ok bool) {\n\tmd, ok = ctx.Value(mdOutgoingKey{}).(MD)\n\treturn\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/naming/dns_resolver.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\npackage naming\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"net\"\n\t\"strconv\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/grpclog\"\n)\n\nconst (\n\tdefaultPort = \"443\"\n\tdefaultFreq = time.Minute * 30\n)\n\nvar (\n\terrMissingAddr  = errors.New(\"missing address\")\n\terrWatcherClose = errors.New(\"watcher has been closed\")\n)\n\n// NewDNSResolverWithFreq creates a DNS Resolver that can resolve DNS names, and\n// create watchers that poll the DNS server using the frequency set by freq.\nfunc NewDNSResolverWithFreq(freq time.Duration) (Resolver, error) {\n\treturn &dnsResolver{freq: freq}, nil\n}\n\n// NewDNSResolver creates a DNS Resolver that can resolve DNS names, and create\n// watchers that poll the DNS server using the default frequency defined by defaultFreq.\nfunc NewDNSResolver() (Resolver, error) {\n\treturn NewDNSResolverWithFreq(defaultFreq)\n}\n\n// dnsResolver handles name resolution for names following the DNS scheme\ntype dnsResolver struct {\n\t// frequency of polling the DNS server that the watchers created by this resolver will use.\n\tfreq time.Duration\n}\n\n// formatIP returns ok = false if addr is not a valid textual representation of an IP address.\n// If addr is an IPv4 address, return the addr and ok = true.\n// If addr is an IPv6 address, return the addr enclosed in square brackets and ok = true.\nfunc formatIP(addr string) (addrIP string, ok bool) {\n\tip := net.ParseIP(addr)\n\tif ip == nil {\n\t\treturn \"\", false\n\t}\n\tif ip.To4() != nil {\n\t\treturn addr, true\n\t}\n\treturn \"[\" + addr + \"]\", true\n}\n\n// parseTarget takes the user input target string, returns formatted host and port info.\n// If target doesn't specify a port, set the port to be the defaultPort.\n// If target is in IPv6 format and host-name is enclosed in sqarue brackets, brackets\n// are strippd when setting the host.\n// examples:\n// target: \"www.google.com\" returns host: \"www.google.com\", port: \"443\"\n// target: \"ipv4-host:80\" returns host: \"ipv4-host\", port: \"80\"\n// target: \"[ipv6-host]\" returns host: \"ipv6-host\", port: \"443\"\n// target: \":80\" returns host: \"localhost\", port: \"80\"\n// target: \":\" returns host: \"localhost\", port: \"443\"\nfunc parseTarget(target string) (host, port string, err error) {\n\tif target == \"\" {\n\t\treturn \"\", \"\", errMissingAddr\n\t}\n\n\tif ip := net.ParseIP(target); ip != nil {\n\t\t// target is an IPv4 or IPv6(without brackets) address\n\t\treturn target, defaultPort, nil\n\t}\n\tif host, port, err := net.SplitHostPort(target); err == nil {\n\t\t// target has port, i.e ipv4-host:port, [ipv6-host]:port, host-name:port\n\t\tif host == \"\" {\n\t\t\t// Keep consistent with net.Dial(): If the host is empty, as in \":80\", the local system is assumed.\n\t\t\thost = \"localhost\"\n\t\t}\n\t\tif port == \"\" {\n\t\t\t// If the port field is empty(target ends with colon), e.g. \"[::1]:\", defaultPort is used.\n\t\t\tport = defaultPort\n\t\t}\n\t\treturn host, port, nil\n\t}\n\tif host, port, err := net.SplitHostPort(target + \":\" + defaultPort); err == nil {\n\t\t// target doesn't have port\n\t\treturn host, port, nil\n\t}\n\treturn \"\", \"\", fmt.Errorf(\"invalid target address %v\", target)\n}\n\n// Resolve creates a watcher that watches the name resolution of the target.\nfunc (r *dnsResolver) Resolve(target string) (Watcher, error) {\n\thost, port, err := parseTarget(target)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif net.ParseIP(host) != nil {\n\t\tipWatcher := &ipWatcher{\n\t\t\tupdateChan: make(chan *Update, 1),\n\t\t}\n\t\thost, _ = formatIP(host)\n\t\tipWatcher.updateChan <- &Update{Op: Add, Addr: host + \":\" + port}\n\t\treturn ipWatcher, nil\n\t}\n\n\tctx, cancel := context.WithCancel(context.Background())\n\treturn &dnsWatcher{\n\t\tr:      r,\n\t\thost:   host,\n\t\tport:   port,\n\t\tctx:    ctx,\n\t\tcancel: cancel,\n\t\tt:      time.NewTimer(0),\n\t}, nil\n}\n\n// dnsWatcher watches for the name resolution update for a specific target\ntype dnsWatcher struct {\n\tr    *dnsResolver\n\thost string\n\tport string\n\t// The latest resolved address set\n\tcurAddrs map[string]*Update\n\tctx      context.Context\n\tcancel   context.CancelFunc\n\tt        *time.Timer\n}\n\n// ipWatcher watches for the name resolution update for an IP address.\ntype ipWatcher struct {\n\tupdateChan chan *Update\n}\n\n// Next returns the adrress resolution Update for the target. For IP address,\n// the resolution is itself, thus polling name server is unncessary. Therefore,\n// Next() will return an Update the first time it is called, and will be blocked\n// for all following calls as no Update exisits until watcher is closed.\nfunc (i *ipWatcher) Next() ([]*Update, error) {\n\tu, ok := <-i.updateChan\n\tif !ok {\n\t\treturn nil, errWatcherClose\n\t}\n\treturn []*Update{u}, nil\n}\n\n// Close closes the ipWatcher.\nfunc (i *ipWatcher) Close() {\n\tclose(i.updateChan)\n}\n\n// AddressType indicates the address type returned by name resolution.\ntype AddressType uint8\n\nconst (\n\t// Backend indicates the server is a backend server.\n\tBackend AddressType = iota\n\t// GRPCLB indicates the server is a grpclb load balancer.\n\tGRPCLB\n)\n\n// AddrMetadataGRPCLB contains the information the name resolver for grpclb should provide. The\n// name resolver used by the grpclb balancer is required to provide this type of metadata in\n// its address updates.\ntype AddrMetadataGRPCLB struct {\n\t// AddrType is the type of server (grpc load balancer or backend).\n\tAddrType AddressType\n\t// ServerName is the name of the grpc load balancer. Used for authentication.\n\tServerName string\n}\n\n// compileUpdate compares the old resolved addresses and newly resolved addresses,\n// and generates an update list\nfunc (w *dnsWatcher) compileUpdate(newAddrs map[string]*Update) []*Update {\n\tvar res []*Update\n\tfor a, u := range w.curAddrs {\n\t\tif _, ok := newAddrs[a]; !ok {\n\t\t\tu.Op = Delete\n\t\t\tres = append(res, u)\n\t\t}\n\t}\n\tfor a, u := range newAddrs {\n\t\tif _, ok := w.curAddrs[a]; !ok {\n\t\t\tres = append(res, u)\n\t\t}\n\t}\n\treturn res\n}\n\nfunc (w *dnsWatcher) lookupSRV() map[string]*Update {\n\tnewAddrs := make(map[string]*Update)\n\t_, srvs, err := lookupSRV(w.ctx, \"grpclb\", \"tcp\", w.host)\n\tif err != nil {\n\t\tgrpclog.Infof(\"grpc: failed dns SRV record lookup due to %v.\\n\", err)\n\t\treturn nil\n\t}\n\tfor _, s := range srvs {\n\t\tlbAddrs, err := lookupHost(w.ctx, s.Target)\n\t\tif err != nil {\n\t\t\tgrpclog.Warningf(\"grpc: failed load banlacer address dns lookup due to %v.\\n\", err)\n\t\t\tcontinue\n\t\t}\n\t\tfor _, a := range lbAddrs {\n\t\t\ta, ok := formatIP(a)\n\t\t\tif !ok {\n\t\t\t\tgrpclog.Errorf(\"grpc: failed IP parsing due to %v.\\n\", err)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\taddr := a + \":\" + strconv.Itoa(int(s.Port))\n\t\t\tnewAddrs[addr] = &Update{Addr: addr,\n\t\t\t\tMetadata: AddrMetadataGRPCLB{AddrType: GRPCLB, ServerName: s.Target}}\n\t\t}\n\t}\n\treturn newAddrs\n}\n\nfunc (w *dnsWatcher) lookupHost() map[string]*Update {\n\tnewAddrs := make(map[string]*Update)\n\taddrs, err := lookupHost(w.ctx, w.host)\n\tif err != nil {\n\t\tgrpclog.Warningf(\"grpc: failed dns A record lookup due to %v.\\n\", err)\n\t\treturn nil\n\t}\n\tfor _, a := range addrs {\n\t\ta, ok := formatIP(a)\n\t\tif !ok {\n\t\t\tgrpclog.Errorf(\"grpc: failed IP parsing due to %v.\\n\", err)\n\t\t\tcontinue\n\t\t}\n\t\taddr := a + \":\" + w.port\n\t\tnewAddrs[addr] = &Update{Addr: addr}\n\t}\n\treturn newAddrs\n}\n\nfunc (w *dnsWatcher) lookup() []*Update {\n\tnewAddrs := w.lookupSRV()\n\tif newAddrs == nil {\n\t\t// If failed to get any balancer address (either no corresponding SRV for the\n\t\t// target, or caused by failure during resolution/parsing of the balancer target),\n\t\t// return any A record info available.\n\t\tnewAddrs = w.lookupHost()\n\t}\n\tresult := w.compileUpdate(newAddrs)\n\tw.curAddrs = newAddrs\n\treturn result\n}\n\n// Next returns the resolved address update(delta) for the target. If there's no\n// change, it will sleep for 30 mins and try to resolve again after that.\nfunc (w *dnsWatcher) Next() ([]*Update, error) {\n\tfor {\n\t\tselect {\n\t\tcase <-w.ctx.Done():\n\t\t\treturn nil, errWatcherClose\n\t\tcase <-w.t.C:\n\t\t}\n\t\tresult := w.lookup()\n\t\t// Next lookup should happen after an interval defined by w.r.freq.\n\t\tw.t.Reset(w.r.freq)\n\t\tif len(result) > 0 {\n\t\t\treturn result, nil\n\t\t}\n\t}\n}\n\nfunc (w *dnsWatcher) Close() {\n\tw.cancel()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/naming/go17.go",
    "content": "// +build go1.7, !go1.8\n\n/*\n *\n * Copyright 2017 gRPC authors.\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\npackage naming\n\nimport (\n\t\"net\"\n\n\t\"golang.org/x/net/context\"\n)\n\nvar (\n\tlookupHost = func(ctx context.Context, host string) ([]string, error) { return net.LookupHost(host) }\n\tlookupSRV  = func(ctx context.Context, service, proto, name string) (string, []*net.SRV, error) {\n\t\treturn net.LookupSRV(service, proto, name)\n\t}\n)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/naming/go18.go",
    "content": "// +build go1.8\n\n/*\n *\n * Copyright 2017 gRPC authors.\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\npackage naming\n\nimport \"net\"\n\nvar (\n\tlookupHost = net.DefaultResolver.LookupHost\n\tlookupSRV  = net.DefaultResolver.LookupSRV\n)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/naming/naming.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\n// Package naming defines the naming API and related data structures for gRPC.\n// The interface is EXPERIMENTAL and may be suject to change.\npackage naming\n\n// Operation defines the corresponding operations for a name resolution change.\ntype Operation uint8\n\nconst (\n\t// Add indicates a new address is added.\n\tAdd Operation = iota\n\t// Delete indicates an exisiting address is deleted.\n\tDelete\n)\n\n// Update defines a name resolution update. Notice that it is not valid having both\n// empty string Addr and nil Metadata in an Update.\ntype Update struct {\n\t// Op indicates the operation of the update.\n\tOp Operation\n\t// Addr is the updated address. It is empty string if there is no address update.\n\tAddr string\n\t// Metadata is the updated metadata. It is nil if there is no metadata update.\n\t// Metadata is not required for a custom naming implementation.\n\tMetadata interface{}\n}\n\n// Resolver creates a Watcher for a target to track its resolution changes.\ntype Resolver interface {\n\t// Resolve creates a Watcher for target.\n\tResolve(target string) (Watcher, error)\n}\n\n// Watcher watches for the updates on the specified target.\ntype Watcher interface {\n\t// Next blocks until an update or error happens. It may return one or more\n\t// updates. The first call should get the full set of the results. It should\n\t// return an error if and only if Watcher cannot recover.\n\tNext() ([]*Update, error)\n\t// Close closes the Watcher.\n\tClose()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/peer/peer.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\n// Package peer defines various peer information associated with RPCs and\n// corresponding utils.\npackage peer\n\nimport (\n\t\"net\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/credentials\"\n)\n\n// Peer contains the information of the peer for an RPC, such as the address\n// and authentication information.\ntype Peer struct {\n\t// Addr is the peer address.\n\tAddr net.Addr\n\t// AuthInfo is the authentication information of the transport.\n\t// It is nil if there is no transport security being used.\n\tAuthInfo credentials.AuthInfo\n}\n\ntype peerKey struct{}\n\n// NewContext creates a new context with peer information attached.\nfunc NewContext(ctx context.Context, p *Peer) context.Context {\n\treturn context.WithValue(ctx, peerKey{}, p)\n}\n\n// FromContext returns the peer information in ctx if it exists.\nfunc FromContext(ctx context.Context) (p *Peer, ok bool) {\n\tp, ok = ctx.Value(peerKey{}).(*Peer)\n\treturn\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/picker_wrapper.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"sync\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/status\"\n\t\"google.golang.org/grpc/transport\"\n)\n\n// pickerWrapper is a wrapper of balancer.Picker. It blocks on certain pick\n// actions and unblock when there's a picker update.\ntype pickerWrapper struct {\n\tmu         sync.Mutex\n\tdone       bool\n\tblockingCh chan struct{}\n\tpicker     balancer.Picker\n}\n\nfunc newPickerWrapper() *pickerWrapper {\n\tbp := &pickerWrapper{blockingCh: make(chan struct{})}\n\treturn bp\n}\n\n// updatePicker is called by UpdateBalancerState. It unblocks all blocked pick.\nfunc (bp *pickerWrapper) updatePicker(p balancer.Picker) {\n\tbp.mu.Lock()\n\tif bp.done {\n\t\tbp.mu.Unlock()\n\t\treturn\n\t}\n\tbp.picker = p\n\t// bp.blockingCh should never be nil.\n\tclose(bp.blockingCh)\n\tbp.blockingCh = make(chan struct{})\n\tbp.mu.Unlock()\n}\n\n// pick returns the transport that will be used for the RPC.\n// It may block in the following cases:\n// - there's no picker\n// - the current picker returns ErrNoSubConnAvailable\n// - the current picker returns other errors and failfast is false.\n// - the subConn returned by the current picker is not READY\n// When one of these situations happens, pick blocks until the picker gets updated.\nfunc (bp *pickerWrapper) pick(ctx context.Context, failfast bool, opts balancer.PickOptions) (transport.ClientTransport, func(balancer.DoneInfo), error) {\n\tvar (\n\t\tp  balancer.Picker\n\t\tch chan struct{}\n\t)\n\n\tfor {\n\t\tbp.mu.Lock()\n\t\tif bp.done {\n\t\t\tbp.mu.Unlock()\n\t\t\treturn nil, nil, ErrClientConnClosing\n\t\t}\n\n\t\tif bp.picker == nil {\n\t\t\tch = bp.blockingCh\n\t\t}\n\t\tif ch == bp.blockingCh {\n\t\t\t// This could happen when either:\n\t\t\t// - bp.picker is nil (the previous if condition), or\n\t\t\t// - has called pick on the current picker.\n\t\t\tbp.mu.Unlock()\n\t\t\tselect {\n\t\t\tcase <-ctx.Done():\n\t\t\t\treturn nil, nil, ctx.Err()\n\t\t\tcase <-ch:\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tch = bp.blockingCh\n\t\tp = bp.picker\n\t\tbp.mu.Unlock()\n\n\t\tsubConn, put, err := p.Pick(ctx, opts)\n\n\t\tif err != nil {\n\t\t\tswitch err {\n\t\t\tcase balancer.ErrNoSubConnAvailable:\n\t\t\t\tcontinue\n\t\t\tcase balancer.ErrTransientFailure:\n\t\t\t\tif !failfast {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\treturn nil, nil, status.Errorf(codes.Unavailable, \"%v\", err)\n\t\t\tdefault:\n\t\t\t\t// err is some other error.\n\t\t\t\treturn nil, nil, toRPCErr(err)\n\t\t\t}\n\t\t}\n\n\t\tacw, ok := subConn.(*acBalancerWrapper)\n\t\tif !ok {\n\t\t\tgrpclog.Infof(\"subconn returned from pick is not *acBalancerWrapper\")\n\t\t\tcontinue\n\t\t}\n\t\tif t, ok := acw.getAddrConn().getReadyTransport(); ok {\n\t\t\treturn t, put, nil\n\t\t}\n\t\tgrpclog.Infof(\"blockingPicker: the picked transport is not ready, loop back to repick\")\n\t\t// If ok == false, ac.state is not READY.\n\t\t// A valid picker always returns READY subConn. This means the state of ac\n\t\t// just changed, and picker will be updated shortly.\n\t\t// continue back to the beginning of the for loop to repick.\n\t}\n}\n\nfunc (bp *pickerWrapper) close() {\n\tbp.mu.Lock()\n\tdefer bp.mu.Unlock()\n\tif bp.done {\n\t\treturn\n\t}\n\tbp.done = true\n\tclose(bp.blockingCh)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/pickfirst.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/connectivity\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\nfunc newPickfirstBuilder() balancer.Builder {\n\treturn &pickfirstBuilder{}\n}\n\ntype pickfirstBuilder struct{}\n\nfunc (*pickfirstBuilder) Build(cc balancer.ClientConn, opt balancer.BuildOptions) balancer.Balancer {\n\treturn &pickfirstBalancer{cc: cc}\n}\n\nfunc (*pickfirstBuilder) Name() string {\n\treturn \"pickfirst\"\n}\n\ntype pickfirstBalancer struct {\n\tcc balancer.ClientConn\n\tsc balancer.SubConn\n}\n\nfunc (b *pickfirstBalancer) HandleResolvedAddrs(addrs []resolver.Address, err error) {\n\tif err != nil {\n\t\tgrpclog.Infof(\"pickfirstBalancer: HandleResolvedAddrs called with error %v\", err)\n\t\treturn\n\t}\n\tif b.sc == nil {\n\t\tb.sc, err = b.cc.NewSubConn(addrs, balancer.NewSubConnOptions{})\n\t\tif err != nil {\n\t\t\tgrpclog.Errorf(\"pickfirstBalancer: failed to NewSubConn: %v\", err)\n\t\t\treturn\n\t\t}\n\t\tb.cc.UpdateBalancerState(connectivity.Idle, &picker{sc: b.sc})\n\t} else {\n\t\tb.sc.UpdateAddresses(addrs)\n\t}\n}\n\nfunc (b *pickfirstBalancer) HandleSubConnStateChange(sc balancer.SubConn, s connectivity.State) {\n\tgrpclog.Infof(\"pickfirstBalancer: HandleSubConnStateChange: %p, %v\", sc, s)\n\tif b.sc != sc || s == connectivity.Shutdown {\n\t\tb.sc = nil\n\t\treturn\n\t}\n\n\tswitch s {\n\tcase connectivity.Ready, connectivity.Idle:\n\t\tb.cc.UpdateBalancerState(s, &picker{sc: sc})\n\tcase connectivity.Connecting:\n\t\tb.cc.UpdateBalancerState(s, &picker{err: balancer.ErrNoSubConnAvailable})\n\tcase connectivity.TransientFailure:\n\t\tb.cc.UpdateBalancerState(s, &picker{err: balancer.ErrTransientFailure})\n\t}\n}\n\nfunc (b *pickfirstBalancer) Close() {\n}\n\ntype picker struct {\n\terr error\n\tsc  balancer.SubConn\n}\n\nfunc (p *picker) Pick(ctx context.Context, opts balancer.PickOptions) (balancer.SubConn, func(balancer.DoneInfo), error) {\n\tif p.err != nil {\n\t\treturn nil, nil, p.err\n\t}\n\treturn p.sc, nil, nil\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/proxy.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"bufio\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"net/http\"\n\t\"net/http/httputil\"\n\t\"net/url\"\n\n\t\"golang.org/x/net/context\"\n)\n\nvar (\n\t// errDisabled indicates that proxy is disabled for the address.\n\terrDisabled = errors.New(\"proxy is disabled for the address\")\n\t// The following variable will be overwritten in the tests.\n\thttpProxyFromEnvironment = http.ProxyFromEnvironment\n)\n\nfunc mapAddress(ctx context.Context, address string) (string, error) {\n\treq := &http.Request{\n\t\tURL: &url.URL{\n\t\t\tScheme: \"https\",\n\t\t\tHost:   address,\n\t\t},\n\t}\n\turl, err := httpProxyFromEnvironment(req)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tif url == nil {\n\t\treturn \"\", errDisabled\n\t}\n\treturn url.Host, nil\n}\n\n// To read a response from a net.Conn, http.ReadResponse() takes a bufio.Reader.\n// It's possible that this reader reads more than what's need for the response and stores\n// those bytes in the buffer.\n// bufConn wraps the original net.Conn and the bufio.Reader to make sure we don't lose the\n// bytes in the buffer.\ntype bufConn struct {\n\tnet.Conn\n\tr io.Reader\n}\n\nfunc (c *bufConn) Read(b []byte) (int, error) {\n\treturn c.r.Read(b)\n}\n\nfunc doHTTPConnectHandshake(ctx context.Context, conn net.Conn, addr string) (_ net.Conn, err error) {\n\tdefer func() {\n\t\tif err != nil {\n\t\t\tconn.Close()\n\t\t}\n\t}()\n\n\treq := (&http.Request{\n\t\tMethod: http.MethodConnect,\n\t\tURL:    &url.URL{Host: addr},\n\t\tHeader: map[string][]string{\"User-Agent\": {grpcUA}},\n\t})\n\n\treq = req.WithContext(ctx)\n\tif err := req.Write(conn); err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to write the HTTP request: %v\", err)\n\t}\n\n\tr := bufio.NewReader(conn)\n\tresp, err := http.ReadResponse(r, req)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"reading server HTTP response: %v\", err)\n\t}\n\tdefer resp.Body.Close()\n\tif resp.StatusCode != http.StatusOK {\n\t\tdump, err := httputil.DumpResponse(resp, true)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"failed to do connect handshake, status code: %s\", resp.Status)\n\t\t}\n\t\treturn nil, fmt.Errorf(\"failed to do connect handshake, response: %q\", dump)\n\t}\n\n\treturn &bufConn{Conn: conn, r: r}, nil\n}\n\n// newProxyDialer returns a dialer that connects to proxy first if necessary.\n// The returned dialer checks if a proxy is necessary, dial to the proxy with the\n// provided dialer, does HTTP CONNECT handshake and returns the connection.\nfunc newProxyDialer(dialer func(context.Context, string) (net.Conn, error)) func(context.Context, string) (net.Conn, error) {\n\treturn func(ctx context.Context, addr string) (conn net.Conn, err error) {\n\t\tvar skipHandshake bool\n\t\tnewAddr, err := mapAddress(ctx, addr)\n\t\tif err != nil {\n\t\t\tif err != errDisabled {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tskipHandshake = true\n\t\t\tnewAddr = addr\n\t\t}\n\n\t\tconn, err = dialer(ctx, newAddr)\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\t\tif !skipHandshake {\n\t\t\tconn, err = doHTTPConnectHandshake(ctx, conn, addr)\n\t\t}\n\t\treturn\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/resolver/resolver.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\n// Package resolver defines APIs for name resolution in gRPC.\n// All APIs in this package are experimental.\npackage resolver\n\nvar (\n\t// m is a map from scheme to resolver builder.\n\tm = make(map[string]Builder)\n\t// defaultScheme is the default scheme to use.\n\tdefaultScheme string\n)\n\n// TODO(bar) install dns resolver in init(){}.\n\n// Register registers the resolver builder to the resolver map.\n// b.Scheme will be used as the scheme registered with this builder.\nfunc Register(b Builder) {\n\tm[b.Scheme()] = b\n}\n\n// Get returns the resolver builder registered with the given scheme.\n// If no builder is register with the scheme, the default scheme will\n// be used.\n// If the default scheme is not modified, \"dns\" will be the default\n// scheme, and the preinstalled dns resolver will be used.\n// If the default scheme is modified, and a resolver is registered with\n// the scheme, that resolver will be returned.\n// If the default scheme is modified, and no resolver is registered with\n// the scheme, nil will be returned.\nfunc Get(scheme string) Builder {\n\tif b, ok := m[scheme]; ok {\n\t\treturn b\n\t}\n\tif b, ok := m[defaultScheme]; ok {\n\t\treturn b\n\t}\n\treturn nil\n}\n\n// SetDefaultScheme sets the default scheme that will be used.\n// The default default scheme is \"dns\".\nfunc SetDefaultScheme(scheme string) {\n\tdefaultScheme = scheme\n}\n\n// AddressType indicates the address type returned by name resolution.\ntype AddressType uint8\n\nconst (\n\t// Backend indicates the address is for a backend server.\n\tBackend AddressType = iota\n\t// GRPCLB indicates the address is for a grpclb load balancer.\n\tGRPCLB\n)\n\n// Address represents a server the client connects to.\n// This is the EXPERIMENTAL API and may be changed or extended in the future.\ntype Address struct {\n\t// Addr is the server address on which a connection will be established.\n\tAddr string\n\t// Type is the type of this address.\n\tType AddressType\n\t// ServerName is the name of this address.\n\t// It's the name of the grpc load balancer, which will be used for authentication.\n\tServerName string\n\t// Metadata is the information associated with Addr, which may be used\n\t// to make load balancing decision.\n\tMetadata interface{}\n}\n\n// BuildOption includes additional information for the builder to create\n// the resolver.\ntype BuildOption struct {\n}\n\n// ClientConn contains the callbacks for resolver to notify any updates\n// to the gRPC ClientConn.\ntype ClientConn interface {\n\t// NewAddress is called by resolver to notify ClientConn a new list\n\t// of resolved addresses.\n\t// The address list should be the complete list of resolved addresses.\n\tNewAddress(addresses []Address)\n\t// NewServiceConfig is called by resolver to notify ClientConn a new\n\t// service config. The service config should be provided as a json string.\n\tNewServiceConfig(serviceConfig string)\n}\n\n// Target represents a target for gRPC, as specified in:\n// https://github.com/grpc/grpc/blob/master/doc/naming.md.\ntype Target struct {\n\tScheme    string\n\tAuthority string\n\tEndpoint  string\n}\n\n// Builder creates a resolver that will be used to watch name resolution updates.\ntype Builder interface {\n\t// Build creates a new resolver for the given target.\n\t//\n\t// gRPC dial calls Build synchronously, and fails if the returned error is\n\t// not nil.\n\tBuild(target Target, cc ClientConn, opts BuildOption) (Resolver, error)\n\t// Scheme returns the scheme supported by this resolver.\n\t// Scheme is defined at https://github.com/grpc/grpc/blob/master/doc/naming.md.\n\tScheme() string\n}\n\n// ResolveNowOption includes additional information for ResolveNow.\ntype ResolveNowOption struct{}\n\n// Resolver watches for the updates on the specified target.\n// Updates include address updates and service config updates.\ntype Resolver interface {\n\t// ResolveNow will be called by gRPC to try to resolve the target name again.\n\t// It's just a hint, resolver can ignore this if it's not necessary.\n\tResolveNow(ResolveNowOption)\n\t// Close closes the resolver.\n\tClose()\n}\n\n// UnregisterForTesting removes the resolver builder with the given scheme from the\n// resolver map.\n// This function is for testing only.\nfunc UnregisterForTesting(scheme string) {\n\tdelete(m, scheme)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/resolver_conn_wrapper.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"strings\"\n\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\n// ccResolverWrapper is a wrapper on top of cc for resolvers.\n// It implements resolver.ClientConnection interface.\ntype ccResolverWrapper struct {\n\tcc       *ClientConn\n\tresolver resolver.Resolver\n\taddrCh   chan []resolver.Address\n\tscCh     chan string\n\tdone     chan struct{}\n}\n\n// split2 returns the values from strings.SplitN(s, sep, 2).\n// If sep is not found, it returns \"\", s instead.\nfunc split2(s, sep string) (string, string) {\n\tspl := strings.SplitN(s, sep, 2)\n\tif len(spl) < 2 {\n\t\treturn \"\", s\n\t}\n\treturn spl[0], spl[1]\n}\n\n// parseTarget splits target into a struct containing scheme, authority and\n// endpoint.\nfunc parseTarget(target string) (ret resolver.Target) {\n\tret.Scheme, ret.Endpoint = split2(target, \"://\")\n\tret.Authority, ret.Endpoint = split2(ret.Endpoint, \"/\")\n\treturn ret\n}\n\n// newCCResolverWrapper parses cc.target for scheme and gets the resolver\n// builder for this scheme. It then builds the resolver and starts the\n// monitoring goroutine for it.\n//\n// This function could return nil, nil, in tests for old behaviors.\n// TODO(bar) never return nil, nil when DNS becomes the default resolver.\nfunc newCCResolverWrapper(cc *ClientConn) (*ccResolverWrapper, error) {\n\ttarget := parseTarget(cc.target)\n\tgrpclog.Infof(\"dialing to target with scheme: %q\", target.Scheme)\n\n\trb := resolver.Get(target.Scheme)\n\tif rb == nil {\n\t\t// TODO(bar) return error when DNS becomes the default (implemented and\n\t\t// registered by DNS package).\n\t\tgrpclog.Infof(\"could not get resolver for scheme: %q\", target.Scheme)\n\t\treturn nil, nil\n\t}\n\n\tccr := &ccResolverWrapper{\n\t\tcc:     cc,\n\t\taddrCh: make(chan []resolver.Address, 1),\n\t\tscCh:   make(chan string, 1),\n\t\tdone:   make(chan struct{}),\n\t}\n\n\tvar err error\n\tccr.resolver, err = rb.Build(target, ccr, resolver.BuildOption{})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tgo ccr.watcher()\n\treturn ccr, nil\n}\n\n// watcher processes address updates and service config updates sequencially.\n// Otherwise, we need to resolve possible races between address and service\n// config (e.g. they specify different balancer types).\nfunc (ccr *ccResolverWrapper) watcher() {\n\tfor {\n\t\tselect {\n\t\tcase <-ccr.done:\n\t\t\treturn\n\t\tdefault:\n\t\t}\n\n\t\tselect {\n\t\tcase addrs := <-ccr.addrCh:\n\t\t\tgrpclog.Infof(\"ccResolverWrapper: sending new addresses to balancer wrapper: %v\", addrs)\n\t\t\t// TODO(bar switching) this should never be nil. Pickfirst should be default.\n\t\t\tif ccr.cc.balancerWrapper != nil {\n\t\t\t\t// TODO(bar switching) create balancer if it's nil?\n\t\t\t\tccr.cc.balancerWrapper.handleResolvedAddrs(addrs, nil)\n\t\t\t}\n\t\tcase sc := <-ccr.scCh:\n\t\t\tgrpclog.Infof(\"ccResolverWrapper: got new service config: %v\", sc)\n\t\tcase <-ccr.done:\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (ccr *ccResolverWrapper) close() {\n\tccr.resolver.Close()\n\tclose(ccr.done)\n}\n\n// NewAddress is called by the resolver implemenetion to send addresses to gRPC.\nfunc (ccr *ccResolverWrapper) NewAddress(addrs []resolver.Address) {\n\tselect {\n\tcase <-ccr.addrCh:\n\tdefault:\n\t}\n\tccr.addrCh <- addrs\n}\n\n// NewServiceConfig is called by the resolver implemenetion to send service\n// configs to gPRC.\nfunc (ccr *ccResolverWrapper) NewServiceConfig(sc string) {\n\tselect {\n\tcase <-ccr.scCh:\n\tdefault:\n\t}\n\tccr.scCh <- sc\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/rpc_util.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"bytes\"\n\t\"compress/gzip\"\n\tstdctx \"context\"\n\t\"encoding/binary\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"math\"\n\t\"os\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/peer\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n\t\"google.golang.org/grpc/transport\"\n)\n\n// Compressor defines the interface gRPC uses to compress a message.\ntype Compressor interface {\n\t// Do compresses p into w.\n\tDo(w io.Writer, p []byte) error\n\t// Type returns the compression algorithm the Compressor uses.\n\tType() string\n}\n\ntype gzipCompressor struct {\n\tpool sync.Pool\n}\n\n// NewGZIPCompressor creates a Compressor based on GZIP.\nfunc NewGZIPCompressor() Compressor {\n\treturn &gzipCompressor{\n\t\tpool: sync.Pool{\n\t\t\tNew: func() interface{} {\n\t\t\t\treturn gzip.NewWriter(ioutil.Discard)\n\t\t\t},\n\t\t},\n\t}\n}\n\nfunc (c *gzipCompressor) Do(w io.Writer, p []byte) error {\n\tz := c.pool.Get().(*gzip.Writer)\n\tdefer c.pool.Put(z)\n\tz.Reset(w)\n\tif _, err := z.Write(p); err != nil {\n\t\treturn err\n\t}\n\treturn z.Close()\n}\n\nfunc (c *gzipCompressor) Type() string {\n\treturn \"gzip\"\n}\n\n// Decompressor defines the interface gRPC uses to decompress a message.\ntype Decompressor interface {\n\t// Do reads the data from r and uncompress them.\n\tDo(r io.Reader) ([]byte, error)\n\t// Type returns the compression algorithm the Decompressor uses.\n\tType() string\n}\n\ntype gzipDecompressor struct {\n\tpool sync.Pool\n}\n\n// NewGZIPDecompressor creates a Decompressor based on GZIP.\nfunc NewGZIPDecompressor() Decompressor {\n\treturn &gzipDecompressor{}\n}\n\nfunc (d *gzipDecompressor) Do(r io.Reader) ([]byte, error) {\n\tvar z *gzip.Reader\n\tswitch maybeZ := d.pool.Get().(type) {\n\tcase nil:\n\t\tnewZ, err := gzip.NewReader(r)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tz = newZ\n\tcase *gzip.Reader:\n\t\tz = maybeZ\n\t\tif err := z.Reset(r); err != nil {\n\t\t\td.pool.Put(z)\n\t\t\treturn nil, err\n\t\t}\n\t}\n\n\tdefer func() {\n\t\tz.Close()\n\t\td.pool.Put(z)\n\t}()\n\treturn ioutil.ReadAll(z)\n}\n\nfunc (d *gzipDecompressor) Type() string {\n\treturn \"gzip\"\n}\n\n// callInfo contains all related configuration and information about an RPC.\ntype callInfo struct {\n\tfailFast              bool\n\theaderMD              metadata.MD\n\ttrailerMD             metadata.MD\n\tpeer                  *peer.Peer\n\ttraceInfo             traceInfo // in trace.go\n\tmaxReceiveMessageSize *int\n\tmaxSendMessageSize    *int\n\tcreds                 credentials.PerRPCCredentials\n}\n\nfunc defaultCallInfo() *callInfo {\n\treturn &callInfo{failFast: true}\n}\n\n// CallOption configures a Call before it starts or extracts information from\n// a Call after it completes.\ntype CallOption interface {\n\t// before is called before the call is sent to any server.  If before\n\t// returns a non-nil error, the RPC fails with that error.\n\tbefore(*callInfo) error\n\n\t// after is called after the call has completed.  after cannot return an\n\t// error, so any failures should be reported via output parameters.\n\tafter(*callInfo)\n}\n\n// EmptyCallOption does not alter the Call configuration.\n// It can be embedded in another structure to carry satellite data for use\n// by interceptors.\ntype EmptyCallOption struct{}\n\nfunc (EmptyCallOption) before(*callInfo) error { return nil }\nfunc (EmptyCallOption) after(*callInfo)        {}\n\ntype beforeCall func(c *callInfo) error\n\nfunc (o beforeCall) before(c *callInfo) error { return o(c) }\nfunc (o beforeCall) after(c *callInfo)        {}\n\ntype afterCall func(c *callInfo)\n\nfunc (o afterCall) before(c *callInfo) error { return nil }\nfunc (o afterCall) after(c *callInfo)        { o(c) }\n\n// Header returns a CallOptions that retrieves the header metadata\n// for a unary RPC.\nfunc Header(md *metadata.MD) CallOption {\n\treturn afterCall(func(c *callInfo) {\n\t\t*md = c.headerMD\n\t})\n}\n\n// Trailer returns a CallOptions that retrieves the trailer metadata\n// for a unary RPC.\nfunc Trailer(md *metadata.MD) CallOption {\n\treturn afterCall(func(c *callInfo) {\n\t\t*md = c.trailerMD\n\t})\n}\n\n// Peer returns a CallOption that retrieves peer information for a\n// unary RPC.\nfunc Peer(peer *peer.Peer) CallOption {\n\treturn afterCall(func(c *callInfo) {\n\t\tif c.peer != nil {\n\t\t\t*peer = *c.peer\n\t\t}\n\t})\n}\n\n// FailFast configures the action to take when an RPC is attempted on broken\n// connections or unreachable servers. If failfast is true, the RPC will fail\n// immediately. Otherwise, the RPC client will block the call until a\n// connection is available (or the call is canceled or times out) and will retry\n// the call if it fails due to a transient error. Please refer to\n// https://github.com/grpc/grpc/blob/master/doc/wait-for-ready.md.\n// Note: failFast is default to true.\nfunc FailFast(failFast bool) CallOption {\n\treturn beforeCall(func(c *callInfo) error {\n\t\tc.failFast = failFast\n\t\treturn nil\n\t})\n}\n\n// MaxCallRecvMsgSize returns a CallOption which sets the maximum message size the client can receive.\nfunc MaxCallRecvMsgSize(s int) CallOption {\n\treturn beforeCall(func(o *callInfo) error {\n\t\to.maxReceiveMessageSize = &s\n\t\treturn nil\n\t})\n}\n\n// MaxCallSendMsgSize returns a CallOption which sets the maximum message size the client can send.\nfunc MaxCallSendMsgSize(s int) CallOption {\n\treturn beforeCall(func(o *callInfo) error {\n\t\to.maxSendMessageSize = &s\n\t\treturn nil\n\t})\n}\n\n// PerRPCCredentials returns a CallOption that sets credentials.PerRPCCredentials\n// for a call.\nfunc PerRPCCredentials(creds credentials.PerRPCCredentials) CallOption {\n\treturn beforeCall(func(c *callInfo) error {\n\t\tc.creds = creds\n\t\treturn nil\n\t})\n}\n\n// The format of the payload: compressed or not?\ntype payloadFormat uint8\n\nconst (\n\tcompressionNone payloadFormat = iota // no compression\n\tcompressionMade\n)\n\n// parser reads complete gRPC messages from the underlying reader.\ntype parser struct {\n\t// r is the underlying reader.\n\t// See the comment on recvMsg for the permissible\n\t// error types.\n\tr io.Reader\n\n\t// The header of a gRPC message. Find more detail\n\t// at https://grpc.io/docs/guides/wire.html.\n\theader [5]byte\n}\n\n// recvMsg reads a complete gRPC message from the stream.\n//\n// It returns the message and its payload (compression/encoding)\n// format. The caller owns the returned msg memory.\n//\n// If there is an error, possible values are:\n//   * io.EOF, when no messages remain\n//   * io.ErrUnexpectedEOF\n//   * of type transport.ConnectionError\n//   * of type transport.StreamError\n// No other error values or types must be returned, which also means\n// that the underlying io.Reader must not return an incompatible\n// error.\nfunc (p *parser) recvMsg(maxReceiveMessageSize int) (pf payloadFormat, msg []byte, err error) {\n\tif _, err := p.r.Read(p.header[:]); err != nil {\n\t\treturn 0, nil, err\n\t}\n\n\tpf = payloadFormat(p.header[0])\n\tlength := binary.BigEndian.Uint32(p.header[1:])\n\n\tif length == 0 {\n\t\treturn pf, nil, nil\n\t}\n\tif length > uint32(maxReceiveMessageSize) {\n\t\treturn 0, nil, Errorf(codes.ResourceExhausted, \"grpc: received message larger than max (%d vs. %d)\", length, maxReceiveMessageSize)\n\t}\n\t// TODO(bradfitz,zhaoq): garbage. reuse buffer after proto decoding instead\n\t// of making it for each message:\n\tmsg = make([]byte, int(length))\n\tif _, err := p.r.Read(msg); err != nil {\n\t\tif err == io.EOF {\n\t\t\terr = io.ErrUnexpectedEOF\n\t\t}\n\t\treturn 0, nil, err\n\t}\n\treturn pf, msg, nil\n}\n\n// encode serializes msg and returns a buffer of message header and a buffer of msg.\n// If msg is nil, it generates the message header and an empty msg buffer.\nfunc encode(c Codec, msg interface{}, cp Compressor, cbuf *bytes.Buffer, outPayload *stats.OutPayload) ([]byte, []byte, error) {\n\tvar b []byte\n\tconst (\n\t\tpayloadLen = 1\n\t\tsizeLen    = 4\n\t)\n\n\tif msg != nil {\n\t\tvar err error\n\t\tb, err = c.Marshal(msg)\n\t\tif err != nil {\n\t\t\treturn nil, nil, Errorf(codes.Internal, \"grpc: error while marshaling: %v\", err.Error())\n\t\t}\n\t\tif outPayload != nil {\n\t\t\toutPayload.Payload = msg\n\t\t\t// TODO truncate large payload.\n\t\t\toutPayload.Data = b\n\t\t\toutPayload.Length = len(b)\n\t\t}\n\t\tif cp != nil {\n\t\t\tif err := cp.Do(cbuf, b); err != nil {\n\t\t\t\treturn nil, nil, Errorf(codes.Internal, \"grpc: error while compressing: %v\", err.Error())\n\t\t\t}\n\t\t\tb = cbuf.Bytes()\n\t\t}\n\t}\n\n\tif uint(len(b)) > math.MaxUint32 {\n\t\treturn nil, nil, Errorf(codes.ResourceExhausted, \"grpc: message too large (%d bytes)\", len(b))\n\t}\n\n\tbufHeader := make([]byte, payloadLen+sizeLen)\n\tif cp == nil {\n\t\tbufHeader[0] = byte(compressionNone)\n\t} else {\n\t\tbufHeader[0] = byte(compressionMade)\n\t}\n\t// Write length of b into buf\n\tbinary.BigEndian.PutUint32(bufHeader[payloadLen:], uint32(len(b)))\n\tif outPayload != nil {\n\t\toutPayload.WireLength = payloadLen + sizeLen + len(b)\n\t}\n\treturn bufHeader, b, nil\n}\n\nfunc checkRecvPayload(pf payloadFormat, recvCompress string, dc Decompressor) error {\n\tswitch pf {\n\tcase compressionNone:\n\tcase compressionMade:\n\t\tif dc == nil || recvCompress != dc.Type() {\n\t\t\treturn Errorf(codes.Unimplemented, \"grpc: Decompressor is not installed for grpc-encoding %q\", recvCompress)\n\t\t}\n\tdefault:\n\t\treturn Errorf(codes.Internal, \"grpc: received unexpected payload format %d\", pf)\n\t}\n\treturn nil\n}\n\nfunc recv(p *parser, c Codec, s *transport.Stream, dc Decompressor, m interface{}, maxReceiveMessageSize int, inPayload *stats.InPayload) error {\n\tpf, d, err := p.recvMsg(maxReceiveMessageSize)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif inPayload != nil {\n\t\tinPayload.WireLength = len(d)\n\t}\n\tif err := checkRecvPayload(pf, s.RecvCompress(), dc); err != nil {\n\t\treturn err\n\t}\n\tif pf == compressionMade {\n\t\td, err = dc.Do(bytes.NewReader(d))\n\t\tif err != nil {\n\t\t\treturn Errorf(codes.Internal, \"grpc: failed to decompress the received message %v\", err)\n\t\t}\n\t}\n\tif len(d) > maxReceiveMessageSize {\n\t\t// TODO: Revisit the error code. Currently keep it consistent with java\n\t\t// implementation.\n\t\treturn Errorf(codes.ResourceExhausted, \"grpc: received message larger than max (%d vs. %d)\", len(d), maxReceiveMessageSize)\n\t}\n\tif err := c.Unmarshal(d, m); err != nil {\n\t\treturn Errorf(codes.Internal, \"grpc: failed to unmarshal the received message %v\", err)\n\t}\n\tif inPayload != nil {\n\t\tinPayload.RecvTime = time.Now()\n\t\tinPayload.Payload = m\n\t\t// TODO truncate large payload.\n\t\tinPayload.Data = d\n\t\tinPayload.Length = len(d)\n\t}\n\treturn nil\n}\n\ntype rpcInfo struct {\n\tfailfast      bool\n\tbytesSent     bool\n\tbytesReceived bool\n}\n\ntype rpcInfoContextKey struct{}\n\nfunc newContextWithRPCInfo(ctx context.Context, failfast bool) context.Context {\n\treturn context.WithValue(ctx, rpcInfoContextKey{}, &rpcInfo{failfast: failfast})\n}\n\nfunc rpcInfoFromContext(ctx context.Context) (s *rpcInfo, ok bool) {\n\ts, ok = ctx.Value(rpcInfoContextKey{}).(*rpcInfo)\n\treturn\n}\n\nfunc updateRPCInfoInContext(ctx context.Context, s rpcInfo) {\n\tif ss, ok := rpcInfoFromContext(ctx); ok {\n\t\tss.bytesReceived = s.bytesReceived\n\t\tss.bytesSent = s.bytesSent\n\t}\n\treturn\n}\n\n// toRPCErr converts an error into an error from the status package.\nfunc toRPCErr(err error) error {\n\tif _, ok := status.FromError(err); ok {\n\t\treturn err\n\t}\n\tswitch e := err.(type) {\n\tcase transport.StreamError:\n\t\treturn status.Error(e.Code, e.Desc)\n\tcase transport.ConnectionError:\n\t\treturn status.Error(codes.Unavailable, e.Desc)\n\tdefault:\n\t\tswitch err {\n\t\tcase context.DeadlineExceeded, stdctx.DeadlineExceeded:\n\t\t\treturn status.Error(codes.DeadlineExceeded, err.Error())\n\t\tcase context.Canceled, stdctx.Canceled:\n\t\t\treturn status.Error(codes.Canceled, err.Error())\n\t\tcase ErrClientConnClosing:\n\t\t\treturn status.Error(codes.FailedPrecondition, err.Error())\n\t\t}\n\t}\n\treturn status.Error(codes.Unknown, err.Error())\n}\n\n// convertCode converts a standard Go error into its canonical code. Note that\n// this is only used to translate the error returned by the server applications.\nfunc convertCode(err error) codes.Code {\n\tswitch err {\n\tcase nil:\n\t\treturn codes.OK\n\tcase io.EOF:\n\t\treturn codes.OutOfRange\n\tcase io.ErrClosedPipe, io.ErrNoProgress, io.ErrShortBuffer, io.ErrShortWrite, io.ErrUnexpectedEOF:\n\t\treturn codes.FailedPrecondition\n\tcase os.ErrInvalid:\n\t\treturn codes.InvalidArgument\n\tcase context.Canceled, stdctx.Canceled:\n\t\treturn codes.Canceled\n\tcase context.DeadlineExceeded, stdctx.DeadlineExceeded:\n\t\treturn codes.DeadlineExceeded\n\t}\n\tswitch {\n\tcase os.IsExist(err):\n\t\treturn codes.AlreadyExists\n\tcase os.IsNotExist(err):\n\t\treturn codes.NotFound\n\tcase os.IsPermission(err):\n\t\treturn codes.PermissionDenied\n\t}\n\treturn codes.Unknown\n}\n\n// Code returns the error code for err if it was produced by the rpc system.\n// Otherwise, it returns codes.Unknown.\n//\n// Deprecated; use status.FromError and Code method instead.\nfunc Code(err error) codes.Code {\n\tif s, ok := status.FromError(err); ok {\n\t\treturn s.Code()\n\t}\n\treturn codes.Unknown\n}\n\n// ErrorDesc returns the error description of err if it was produced by the rpc system.\n// Otherwise, it returns err.Error() or empty string when err is nil.\n//\n// Deprecated; use status.FromError and Message method instead.\nfunc ErrorDesc(err error) string {\n\tif s, ok := status.FromError(err); ok {\n\t\treturn s.Message()\n\t}\n\treturn err.Error()\n}\n\n// Errorf returns an error containing an error code and a description;\n// Errorf returns nil if c is OK.\n//\n// Deprecated; use status.Errorf instead.\nfunc Errorf(c codes.Code, format string, a ...interface{}) error {\n\treturn status.Errorf(c, format, a...)\n}\n\n// MethodConfig defines the configuration recommended by the service providers for a\n// particular method.\n// This is EXPERIMENTAL and subject to change.\ntype MethodConfig struct {\n\t// WaitForReady indicates whether RPCs sent to this method should wait until\n\t// the connection is ready by default (!failfast). The value specified via the\n\t// gRPC client API will override the value set here.\n\tWaitForReady *bool\n\t// Timeout is the default timeout for RPCs sent to this method. The actual\n\t// deadline used will be the minimum of the value specified here and the value\n\t// set by the application via the gRPC client API.  If either one is not set,\n\t// then the other will be used.  If neither is set, then the RPC has no deadline.\n\tTimeout *time.Duration\n\t// MaxReqSize is the maximum allowed payload size for an individual request in a\n\t// stream (client->server) in bytes. The size which is measured is the serialized\n\t// payload after per-message compression (but before stream compression) in bytes.\n\t// The actual value used is the minimum of the value specified here and the value set\n\t// by the application via the gRPC client API. If either one is not set, then the other\n\t// will be used.  If neither is set, then the built-in default is used.\n\tMaxReqSize *int\n\t// MaxRespSize is the maximum allowed payload size for an individual response in a\n\t// stream (server->client) in bytes.\n\tMaxRespSize *int\n}\n\n// ServiceConfig is provided by the service provider and contains parameters for how\n// clients that connect to the service should behave.\n// This is EXPERIMENTAL and subject to change.\ntype ServiceConfig struct {\n\t// LB is the load balancer the service providers recommends. The balancer specified\n\t// via grpc.WithBalancer will override this.\n\tLB Balancer\n\t// Methods contains a map for the methods in this service.\n\t// If there is an exact match for a method (i.e. /service/method) in the map, use the corresponding MethodConfig.\n\t// If there's no exact match, look for the default config for the service (/service/) and use the corresponding MethodConfig if it exists.\n\t// Otherwise, the method has no MethodConfig to use.\n\tMethods map[string]MethodConfig\n}\n\nfunc min(a, b *int) *int {\n\tif *a < *b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc getMaxSize(mcMax, doptMax *int, defaultVal int) *int {\n\tif mcMax == nil && doptMax == nil {\n\t\treturn &defaultVal\n\t}\n\tif mcMax != nil && doptMax != nil {\n\t\treturn min(mcMax, doptMax)\n\t}\n\tif mcMax != nil {\n\t\treturn mcMax\n\t}\n\treturn doptMax\n}\n\n// SupportPackageIsVersion3 is referenced from generated protocol buffer files.\n// The latest support package version is 4.\n// SupportPackageIsVersion3 is kept for compatibility. It will be removed in the\n// next support package version update.\nconst SupportPackageIsVersion3 = true\n\n// SupportPackageIsVersion4 is referenced from generated protocol buffer files\n// to assert that that code is compatible with this version of the grpc package.\n//\n// This constant may be renamed in the future if a change in the generated code\n// requires a synchronised update of grpc-go and protoc-gen-go. This constant\n// should not be referenced from any other code.\nconst SupportPackageIsVersion4 = true\n\n// Version is the current grpc version.\nconst Version = \"1.7.5\"\n\nconst grpcUA = \"grpc-go/\" + Version\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/server.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"math\"\n\t\"net\"\n\t\"net/http\"\n\t\"reflect\"\n\t\"runtime\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/http2\"\n\t\"golang.org/x/net/trace\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/internal\"\n\t\"google.golang.org/grpc/keepalive\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n\t\"google.golang.org/grpc/tap\"\n\t\"google.golang.org/grpc/transport\"\n)\n\nconst (\n\tdefaultServerMaxReceiveMessageSize = 1024 * 1024 * 4\n\tdefaultServerMaxSendMessageSize    = math.MaxInt32\n)\n\ntype methodHandler func(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor UnaryServerInterceptor) (interface{}, error)\n\n// MethodDesc represents an RPC service's method specification.\ntype MethodDesc struct {\n\tMethodName string\n\tHandler    methodHandler\n}\n\n// ServiceDesc represents an RPC service's specification.\ntype ServiceDesc struct {\n\tServiceName string\n\t// The pointer to the service interface. Used to check whether the user\n\t// provided implementation satisfies the interface requirements.\n\tHandlerType interface{}\n\tMethods     []MethodDesc\n\tStreams     []StreamDesc\n\tMetadata    interface{}\n}\n\n// service consists of the information of the server serving this service and\n// the methods in this service.\ntype service struct {\n\tserver interface{} // the server for service methods\n\tmd     map[string]*MethodDesc\n\tsd     map[string]*StreamDesc\n\tmdata  interface{}\n}\n\n// Server is a gRPC server to serve RPC requests.\ntype Server struct {\n\topts options\n\n\tmu     sync.Mutex // guards following\n\tlis    map[net.Listener]bool\n\tconns  map[io.Closer]bool\n\tserve  bool\n\tdrain  bool\n\tctx    context.Context\n\tcancel context.CancelFunc\n\t// A CondVar to let GracefulStop() blocks until all the pending RPCs are finished\n\t// and all the transport goes away.\n\tcv     *sync.Cond\n\tm      map[string]*service // service name -> service info\n\tevents trace.EventLog\n}\n\ntype options struct {\n\tcreds                 credentials.TransportCredentials\n\tcodec                 Codec\n\tcp                    Compressor\n\tdc                    Decompressor\n\tunaryInt              UnaryServerInterceptor\n\tstreamInt             StreamServerInterceptor\n\tinTapHandle           tap.ServerInHandle\n\tstatsHandler          stats.Handler\n\tmaxConcurrentStreams  uint32\n\tmaxReceiveMessageSize int\n\tmaxSendMessageSize    int\n\tuseHandlerImpl        bool // use http.Handler-based server\n\tunknownStreamDesc     *StreamDesc\n\tkeepaliveParams       keepalive.ServerParameters\n\tkeepalivePolicy       keepalive.EnforcementPolicy\n\tinitialWindowSize     int32\n\tinitialConnWindowSize int32\n\twriteBufferSize       int\n\treadBufferSize        int\n\tconnectionTimeout     time.Duration\n}\n\nvar defaultServerOptions = options{\n\tmaxReceiveMessageSize: defaultServerMaxReceiveMessageSize,\n\tmaxSendMessageSize:    defaultServerMaxSendMessageSize,\n\tconnectionTimeout:     120 * time.Second,\n}\n\n// A ServerOption sets options such as credentials, codec and keepalive parameters, etc.\ntype ServerOption func(*options)\n\n// WriteBufferSize lets you set the size of write buffer, this determines how much data can be batched\n// before doing a write on the wire.\nfunc WriteBufferSize(s int) ServerOption {\n\treturn func(o *options) {\n\t\to.writeBufferSize = s\n\t}\n}\n\n// ReadBufferSize lets you set the size of read buffer, this determines how much data can be read at most\n// for one read syscall.\nfunc ReadBufferSize(s int) ServerOption {\n\treturn func(o *options) {\n\t\to.readBufferSize = s\n\t}\n}\n\n// InitialWindowSize returns a ServerOption that sets window size for stream.\n// The lower bound for window size is 64K and any value smaller than that will be ignored.\nfunc InitialWindowSize(s int32) ServerOption {\n\treturn func(o *options) {\n\t\to.initialWindowSize = s\n\t}\n}\n\n// InitialConnWindowSize returns a ServerOption that sets window size for a connection.\n// The lower bound for window size is 64K and any value smaller than that will be ignored.\nfunc InitialConnWindowSize(s int32) ServerOption {\n\treturn func(o *options) {\n\t\to.initialConnWindowSize = s\n\t}\n}\n\n// KeepaliveParams returns a ServerOption that sets keepalive and max-age parameters for the server.\nfunc KeepaliveParams(kp keepalive.ServerParameters) ServerOption {\n\treturn func(o *options) {\n\t\to.keepaliveParams = kp\n\t}\n}\n\n// KeepaliveEnforcementPolicy returns a ServerOption that sets keepalive enforcement policy for the server.\nfunc KeepaliveEnforcementPolicy(kep keepalive.EnforcementPolicy) ServerOption {\n\treturn func(o *options) {\n\t\to.keepalivePolicy = kep\n\t}\n}\n\n// CustomCodec returns a ServerOption that sets a codec for message marshaling and unmarshaling.\nfunc CustomCodec(codec Codec) ServerOption {\n\treturn func(o *options) {\n\t\to.codec = codec\n\t}\n}\n\n// RPCCompressor returns a ServerOption that sets a compressor for outbound messages.\nfunc RPCCompressor(cp Compressor) ServerOption {\n\treturn func(o *options) {\n\t\to.cp = cp\n\t}\n}\n\n// RPCDecompressor returns a ServerOption that sets a decompressor for inbound messages.\nfunc RPCDecompressor(dc Decompressor) ServerOption {\n\treturn func(o *options) {\n\t\to.dc = dc\n\t}\n}\n\n// MaxMsgSize returns a ServerOption to set the max message size in bytes the server can receive.\n// If this is not set, gRPC uses the default limit. Deprecated: use MaxRecvMsgSize instead.\nfunc MaxMsgSize(m int) ServerOption {\n\treturn MaxRecvMsgSize(m)\n}\n\n// MaxRecvMsgSize returns a ServerOption to set the max message size in bytes the server can receive.\n// If this is not set, gRPC uses the default 4MB.\nfunc MaxRecvMsgSize(m int) ServerOption {\n\treturn func(o *options) {\n\t\to.maxReceiveMessageSize = m\n\t}\n}\n\n// MaxSendMsgSize returns a ServerOption to set the max message size in bytes the server can send.\n// If this is not set, gRPC uses the default 4MB.\nfunc MaxSendMsgSize(m int) ServerOption {\n\treturn func(o *options) {\n\t\to.maxSendMessageSize = m\n\t}\n}\n\n// MaxConcurrentStreams returns a ServerOption that will apply a limit on the number\n// of concurrent streams to each ServerTransport.\nfunc MaxConcurrentStreams(n uint32) ServerOption {\n\treturn func(o *options) {\n\t\to.maxConcurrentStreams = n\n\t}\n}\n\n// Creds returns a ServerOption that sets credentials for server connections.\nfunc Creds(c credentials.TransportCredentials) ServerOption {\n\treturn func(o *options) {\n\t\to.creds = c\n\t}\n}\n\n// UnaryInterceptor returns a ServerOption that sets the UnaryServerInterceptor for the\n// server. Only one unary interceptor can be installed. The construction of multiple\n// interceptors (e.g., chaining) can be implemented at the caller.\nfunc UnaryInterceptor(i UnaryServerInterceptor) ServerOption {\n\treturn func(o *options) {\n\t\tif o.unaryInt != nil {\n\t\t\tpanic(\"The unary server interceptor was already set and may not be reset.\")\n\t\t}\n\t\to.unaryInt = i\n\t}\n}\n\n// StreamInterceptor returns a ServerOption that sets the StreamServerInterceptor for the\n// server. Only one stream interceptor can be installed.\nfunc StreamInterceptor(i StreamServerInterceptor) ServerOption {\n\treturn func(o *options) {\n\t\tif o.streamInt != nil {\n\t\t\tpanic(\"The stream server interceptor was already set and may not be reset.\")\n\t\t}\n\t\to.streamInt = i\n\t}\n}\n\n// InTapHandle returns a ServerOption that sets the tap handle for all the server\n// transport to be created. Only one can be installed.\nfunc InTapHandle(h tap.ServerInHandle) ServerOption {\n\treturn func(o *options) {\n\t\tif o.inTapHandle != nil {\n\t\t\tpanic(\"The tap handle was already set and may not be reset.\")\n\t\t}\n\t\to.inTapHandle = h\n\t}\n}\n\n// StatsHandler returns a ServerOption that sets the stats handler for the server.\nfunc StatsHandler(h stats.Handler) ServerOption {\n\treturn func(o *options) {\n\t\to.statsHandler = h\n\t}\n}\n\n// UnknownServiceHandler returns a ServerOption that allows for adding a custom\n// unknown service handler. The provided method is a bidi-streaming RPC service\n// handler that will be invoked instead of returning the \"unimplemented\" gRPC\n// error whenever a request is received for an unregistered service or method.\n// The handling function has full access to the Context of the request and the\n// stream, and the invocation bypasses interceptors.\nfunc UnknownServiceHandler(streamHandler StreamHandler) ServerOption {\n\treturn func(o *options) {\n\t\to.unknownStreamDesc = &StreamDesc{\n\t\t\tStreamName: \"unknown_service_handler\",\n\t\t\tHandler:    streamHandler,\n\t\t\t// We need to assume that the users of the streamHandler will want to use both.\n\t\t\tClientStreams: true,\n\t\t\tServerStreams: true,\n\t\t}\n\t}\n}\n\n// ConnectionTimeout returns a ServerOption that sets the timeout for\n// connection establishment (up to and including HTTP/2 handshaking) for all\n// new connections.  If this is not set, the default is 120 seconds.  A zero or\n// negative value will result in an immediate timeout.\nfunc ConnectionTimeout(d time.Duration) ServerOption {\n\treturn func(o *options) {\n\t\to.connectionTimeout = d\n\t}\n}\n\n// NewServer creates a gRPC server which has no service registered and has not\n// started to accept requests yet.\nfunc NewServer(opt ...ServerOption) *Server {\n\topts := defaultServerOptions\n\tfor _, o := range opt {\n\t\to(&opts)\n\t}\n\tif opts.codec == nil {\n\t\t// Set the default codec.\n\t\topts.codec = protoCodec{}\n\t}\n\ts := &Server{\n\t\tlis:   make(map[net.Listener]bool),\n\t\topts:  opts,\n\t\tconns: make(map[io.Closer]bool),\n\t\tm:     make(map[string]*service),\n\t}\n\ts.cv = sync.NewCond(&s.mu)\n\ts.ctx, s.cancel = context.WithCancel(context.Background())\n\tif EnableTracing {\n\t\t_, file, line, _ := runtime.Caller(1)\n\t\ts.events = trace.NewEventLog(\"grpc.Server\", fmt.Sprintf(\"%s:%d\", file, line))\n\t}\n\treturn s\n}\n\n// printf records an event in s's event log, unless s has been stopped.\n// REQUIRES s.mu is held.\nfunc (s *Server) printf(format string, a ...interface{}) {\n\tif s.events != nil {\n\t\ts.events.Printf(format, a...)\n\t}\n}\n\n// errorf records an error in s's event log, unless s has been stopped.\n// REQUIRES s.mu is held.\nfunc (s *Server) errorf(format string, a ...interface{}) {\n\tif s.events != nil {\n\t\ts.events.Errorf(format, a...)\n\t}\n}\n\n// RegisterService registers a service and its implementation to the gRPC\n// server. It is called from the IDL generated code. This must be called before\n// invoking Serve.\nfunc (s *Server) RegisterService(sd *ServiceDesc, ss interface{}) {\n\tht := reflect.TypeOf(sd.HandlerType).Elem()\n\tst := reflect.TypeOf(ss)\n\tif !st.Implements(ht) {\n\t\tgrpclog.Fatalf(\"grpc: Server.RegisterService found the handler of type %v that does not satisfy %v\", st, ht)\n\t}\n\ts.register(sd, ss)\n}\n\nfunc (s *Server) register(sd *ServiceDesc, ss interface{}) {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\ts.printf(\"RegisterService(%q)\", sd.ServiceName)\n\tif s.serve {\n\t\tgrpclog.Fatalf(\"grpc: Server.RegisterService after Server.Serve for %q\", sd.ServiceName)\n\t}\n\tif _, ok := s.m[sd.ServiceName]; ok {\n\t\tgrpclog.Fatalf(\"grpc: Server.RegisterService found duplicate service registration for %q\", sd.ServiceName)\n\t}\n\tsrv := &service{\n\t\tserver: ss,\n\t\tmd:     make(map[string]*MethodDesc),\n\t\tsd:     make(map[string]*StreamDesc),\n\t\tmdata:  sd.Metadata,\n\t}\n\tfor i := range sd.Methods {\n\t\td := &sd.Methods[i]\n\t\tsrv.md[d.MethodName] = d\n\t}\n\tfor i := range sd.Streams {\n\t\td := &sd.Streams[i]\n\t\tsrv.sd[d.StreamName] = d\n\t}\n\ts.m[sd.ServiceName] = srv\n}\n\n// MethodInfo contains the information of an RPC including its method name and type.\ntype MethodInfo struct {\n\t// Name is the method name only, without the service name or package name.\n\tName string\n\t// IsClientStream indicates whether the RPC is a client streaming RPC.\n\tIsClientStream bool\n\t// IsServerStream indicates whether the RPC is a server streaming RPC.\n\tIsServerStream bool\n}\n\n// ServiceInfo contains unary RPC method info, streaming RPC method info and metadata for a service.\ntype ServiceInfo struct {\n\tMethods []MethodInfo\n\t// Metadata is the metadata specified in ServiceDesc when registering service.\n\tMetadata interface{}\n}\n\n// GetServiceInfo returns a map from service names to ServiceInfo.\n// Service names include the package names, in the form of <package>.<service>.\nfunc (s *Server) GetServiceInfo() map[string]ServiceInfo {\n\tret := make(map[string]ServiceInfo)\n\tfor n, srv := range s.m {\n\t\tmethods := make([]MethodInfo, 0, len(srv.md)+len(srv.sd))\n\t\tfor m := range srv.md {\n\t\t\tmethods = append(methods, MethodInfo{\n\t\t\t\tName:           m,\n\t\t\t\tIsClientStream: false,\n\t\t\t\tIsServerStream: false,\n\t\t\t})\n\t\t}\n\t\tfor m, d := range srv.sd {\n\t\t\tmethods = append(methods, MethodInfo{\n\t\t\t\tName:           m,\n\t\t\t\tIsClientStream: d.ClientStreams,\n\t\t\t\tIsServerStream: d.ServerStreams,\n\t\t\t})\n\t\t}\n\n\t\tret[n] = ServiceInfo{\n\t\t\tMethods:  methods,\n\t\t\tMetadata: srv.mdata,\n\t\t}\n\t}\n\treturn ret\n}\n\nvar (\n\t// ErrServerStopped indicates that the operation is now illegal because of\n\t// the server being stopped.\n\tErrServerStopped = errors.New(\"grpc: the server has been stopped\")\n)\n\nfunc (s *Server) useTransportAuthenticator(rawConn net.Conn) (net.Conn, credentials.AuthInfo, error) {\n\tif s.opts.creds == nil {\n\t\treturn rawConn, nil, nil\n\t}\n\treturn s.opts.creds.ServerHandshake(rawConn)\n}\n\n// Serve accepts incoming connections on the listener lis, creating a new\n// ServerTransport and service goroutine for each. The service goroutines\n// read gRPC requests and then call the registered handlers to reply to them.\n// Serve returns when lis.Accept fails with fatal errors.  lis will be closed when\n// this method returns.\n// Serve always returns non-nil error.\nfunc (s *Server) Serve(lis net.Listener) error {\n\ts.mu.Lock()\n\ts.printf(\"serving\")\n\ts.serve = true\n\tif s.lis == nil {\n\t\ts.mu.Unlock()\n\t\tlis.Close()\n\t\treturn ErrServerStopped\n\t}\n\ts.lis[lis] = true\n\ts.mu.Unlock()\n\tdefer func() {\n\t\ts.mu.Lock()\n\t\tif s.lis != nil && s.lis[lis] {\n\t\t\tlis.Close()\n\t\t\tdelete(s.lis, lis)\n\t\t}\n\t\ts.mu.Unlock()\n\t}()\n\n\tvar tempDelay time.Duration // how long to sleep on accept failure\n\n\tfor {\n\t\trawConn, err := lis.Accept()\n\t\tif err != nil {\n\t\t\tif ne, ok := err.(interface {\n\t\t\t\tTemporary() bool\n\t\t\t}); ok && ne.Temporary() {\n\t\t\t\tif tempDelay == 0 {\n\t\t\t\t\ttempDelay = 5 * time.Millisecond\n\t\t\t\t} else {\n\t\t\t\t\ttempDelay *= 2\n\t\t\t\t}\n\t\t\t\tif max := 1 * time.Second; tempDelay > max {\n\t\t\t\t\ttempDelay = max\n\t\t\t\t}\n\t\t\t\ts.mu.Lock()\n\t\t\t\ts.printf(\"Accept error: %v; retrying in %v\", err, tempDelay)\n\t\t\t\ts.mu.Unlock()\n\t\t\t\ttimer := time.NewTimer(tempDelay)\n\t\t\t\tselect {\n\t\t\t\tcase <-timer.C:\n\t\t\t\tcase <-s.ctx.Done():\n\t\t\t\t}\n\t\t\t\ttimer.Stop()\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\ts.mu.Lock()\n\t\t\ts.printf(\"done serving; Accept = %v\", err)\n\t\t\ts.mu.Unlock()\n\t\t\treturn err\n\t\t}\n\t\ttempDelay = 0\n\t\t// Start a new goroutine to deal with rawConn\n\t\t// so we don't stall this Accept loop goroutine.\n\t\tgo s.handleRawConn(rawConn)\n\t}\n}\n\n// handleRawConn is run in its own goroutine and handles a just-accepted\n// connection that has not had any I/O performed on it yet.\nfunc (s *Server) handleRawConn(rawConn net.Conn) {\n\trawConn.SetDeadline(time.Now().Add(s.opts.connectionTimeout))\n\tconn, authInfo, err := s.useTransportAuthenticator(rawConn)\n\tif err != nil {\n\t\ts.mu.Lock()\n\t\ts.errorf(\"ServerHandshake(%q) failed: %v\", rawConn.RemoteAddr(), err)\n\t\ts.mu.Unlock()\n\t\tgrpclog.Warningf(\"grpc: Server.Serve failed to complete security handshake from %q: %v\", rawConn.RemoteAddr(), err)\n\t\t// If serverHandshake returns ErrConnDispatched, keep rawConn open.\n\t\tif err != credentials.ErrConnDispatched {\n\t\t\trawConn.Close()\n\t\t}\n\t\trawConn.SetDeadline(time.Time{})\n\t\treturn\n\t}\n\n\ts.mu.Lock()\n\tif s.conns == nil {\n\t\ts.mu.Unlock()\n\t\tconn.Close()\n\t\treturn\n\t}\n\ts.mu.Unlock()\n\n\tif s.opts.useHandlerImpl {\n\t\trawConn.SetDeadline(time.Time{})\n\t\ts.serveUsingHandler(conn)\n\t} else {\n\t\tst := s.newHTTP2Transport(conn, authInfo)\n\t\tif st == nil {\n\t\t\treturn\n\t\t}\n\t\trawConn.SetDeadline(time.Time{})\n\t\ts.serveStreams(st)\n\t}\n}\n\n// newHTTP2Transport sets up a http/2 transport (using the\n// gRPC http2 server transport in transport/http2_server.go).\nfunc (s *Server) newHTTP2Transport(c net.Conn, authInfo credentials.AuthInfo) transport.ServerTransport {\n\tconfig := &transport.ServerConfig{\n\t\tMaxStreams:            s.opts.maxConcurrentStreams,\n\t\tAuthInfo:              authInfo,\n\t\tInTapHandle:           s.opts.inTapHandle,\n\t\tStatsHandler:          s.opts.statsHandler,\n\t\tKeepaliveParams:       s.opts.keepaliveParams,\n\t\tKeepalivePolicy:       s.opts.keepalivePolicy,\n\t\tInitialWindowSize:     s.opts.initialWindowSize,\n\t\tInitialConnWindowSize: s.opts.initialConnWindowSize,\n\t\tWriteBufferSize:       s.opts.writeBufferSize,\n\t\tReadBufferSize:        s.opts.readBufferSize,\n\t}\n\tst, err := transport.NewServerTransport(\"http2\", c, config)\n\tif err != nil {\n\t\ts.mu.Lock()\n\t\ts.errorf(\"NewServerTransport(%q) failed: %v\", c.RemoteAddr(), err)\n\t\ts.mu.Unlock()\n\t\tc.Close()\n\t\tgrpclog.Warningln(\"grpc: Server.Serve failed to create ServerTransport: \", err)\n\t\treturn nil\n\t}\n\tif !s.addConn(st) {\n\t\tst.Close()\n\t\treturn nil\n\t}\n\treturn st\n}\n\nfunc (s *Server) serveStreams(st transport.ServerTransport) {\n\tdefer s.removeConn(st)\n\tdefer st.Close()\n\tvar wg sync.WaitGroup\n\tst.HandleStreams(func(stream *transport.Stream) {\n\t\twg.Add(1)\n\t\tgo func() {\n\t\t\tdefer wg.Done()\n\t\t\ts.handleStream(st, stream, s.traceInfo(st, stream))\n\t\t}()\n\t}, func(ctx context.Context, method string) context.Context {\n\t\tif !EnableTracing {\n\t\t\treturn ctx\n\t\t}\n\t\ttr := trace.New(\"grpc.Recv.\"+methodFamily(method), method)\n\t\treturn trace.NewContext(ctx, tr)\n\t})\n\twg.Wait()\n}\n\nvar _ http.Handler = (*Server)(nil)\n\n// serveUsingHandler is called from handleRawConn when s is configured\n// to handle requests via the http.Handler interface. It sets up a\n// net/http.Server to handle the just-accepted conn. The http.Server\n// is configured to route all incoming requests (all HTTP/2 streams)\n// to ServeHTTP, which creates a new ServerTransport for each stream.\n// serveUsingHandler blocks until conn closes.\n//\n// This codepath is only used when Server.TestingUseHandlerImpl has\n// been configured. This lets the end2end tests exercise the ServeHTTP\n// method as one of the environment types.\n//\n// conn is the *tls.Conn that's already been authenticated.\nfunc (s *Server) serveUsingHandler(conn net.Conn) {\n\tif !s.addConn(conn) {\n\t\tconn.Close()\n\t\treturn\n\t}\n\tdefer s.removeConn(conn)\n\th2s := &http2.Server{\n\t\tMaxConcurrentStreams: s.opts.maxConcurrentStreams,\n\t}\n\th2s.ServeConn(conn, &http2.ServeConnOpts{\n\t\tHandler: s,\n\t})\n}\n\n// ServeHTTP implements the Go standard library's http.Handler\n// interface by responding to the gRPC request r, by looking up\n// the requested gRPC method in the gRPC server s.\n//\n// The provided HTTP request must have arrived on an HTTP/2\n// connection. When using the Go standard library's server,\n// practically this means that the Request must also have arrived\n// over TLS.\n//\n// To share one port (such as 443 for https) between gRPC and an\n// existing http.Handler, use a root http.Handler such as:\n//\n//   if r.ProtoMajor == 2 && strings.HasPrefix(\n//   \tr.Header.Get(\"Content-Type\"), \"application/grpc\") {\n//   \tgrpcServer.ServeHTTP(w, r)\n//   } else {\n//   \tyourMux.ServeHTTP(w, r)\n//   }\n//\n// Note that ServeHTTP uses Go's HTTP/2 server implementation which is totally\n// separate from grpc-go's HTTP/2 server. Performance and features may vary\n// between the two paths. ServeHTTP does not support some gRPC features\n// available through grpc-go's HTTP/2 server, and it is currently EXPERIMENTAL\n// and subject to change.\nfunc (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {\n\tst, err := transport.NewServerHandlerTransport(w, r)\n\tif err != nil {\n\t\thttp.Error(w, err.Error(), http.StatusInternalServerError)\n\t\treturn\n\t}\n\tif !s.addConn(st) {\n\t\tst.Close()\n\t\treturn\n\t}\n\tdefer s.removeConn(st)\n\ts.serveStreams(st)\n}\n\n// traceInfo returns a traceInfo and associates it with stream, if tracing is enabled.\n// If tracing is not enabled, it returns nil.\nfunc (s *Server) traceInfo(st transport.ServerTransport, stream *transport.Stream) (trInfo *traceInfo) {\n\ttr, ok := trace.FromContext(stream.Context())\n\tif !ok {\n\t\treturn nil\n\t}\n\n\ttrInfo = &traceInfo{\n\t\ttr: tr,\n\t}\n\ttrInfo.firstLine.client = false\n\ttrInfo.firstLine.remoteAddr = st.RemoteAddr()\n\n\tif dl, ok := stream.Context().Deadline(); ok {\n\t\ttrInfo.firstLine.deadline = dl.Sub(time.Now())\n\t}\n\treturn trInfo\n}\n\nfunc (s *Server) addConn(c io.Closer) bool {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif s.conns == nil || s.drain {\n\t\treturn false\n\t}\n\ts.conns[c] = true\n\treturn true\n}\n\nfunc (s *Server) removeConn(c io.Closer) {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif s.conns != nil {\n\t\tdelete(s.conns, c)\n\t\ts.cv.Broadcast()\n\t}\n}\n\nfunc (s *Server) sendResponse(t transport.ServerTransport, stream *transport.Stream, msg interface{}, cp Compressor, opts *transport.Options) error {\n\tvar (\n\t\tcbuf       *bytes.Buffer\n\t\toutPayload *stats.OutPayload\n\t)\n\tif cp != nil {\n\t\tcbuf = new(bytes.Buffer)\n\t}\n\tif s.opts.statsHandler != nil {\n\t\toutPayload = &stats.OutPayload{}\n\t}\n\thdr, data, err := encode(s.opts.codec, msg, cp, cbuf, outPayload)\n\tif err != nil {\n\t\tgrpclog.Errorln(\"grpc: server failed to encode response: \", err)\n\t\treturn err\n\t}\n\tif len(data) > s.opts.maxSendMessageSize {\n\t\treturn status.Errorf(codes.ResourceExhausted, \"grpc: trying to send message larger than max (%d vs. %d)\", len(data), s.opts.maxSendMessageSize)\n\t}\n\terr = t.Write(stream, hdr, data, opts)\n\tif err == nil && outPayload != nil {\n\t\toutPayload.SentTime = time.Now()\n\t\ts.opts.statsHandler.HandleRPC(stream.Context(), outPayload)\n\t}\n\treturn err\n}\n\nfunc (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.Stream, srv *service, md *MethodDesc, trInfo *traceInfo) (err error) {\n\tsh := s.opts.statsHandler\n\tif sh != nil {\n\t\tbegin := &stats.Begin{\n\t\t\tBeginTime: time.Now(),\n\t\t}\n\t\tsh.HandleRPC(stream.Context(), begin)\n\t\tdefer func() {\n\t\t\tend := &stats.End{\n\t\t\t\tEndTime: time.Now(),\n\t\t\t}\n\t\t\tif err != nil && err != io.EOF {\n\t\t\t\tend.Error = toRPCErr(err)\n\t\t\t}\n\t\t\tsh.HandleRPC(stream.Context(), end)\n\t\t}()\n\t}\n\tif trInfo != nil {\n\t\tdefer trInfo.tr.Finish()\n\t\ttrInfo.firstLine.client = false\n\t\ttrInfo.tr.LazyLog(&trInfo.firstLine, false)\n\t\tdefer func() {\n\t\t\tif err != nil && err != io.EOF {\n\t\t\t\ttrInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\t\ttrInfo.tr.SetError()\n\t\t\t}\n\t\t}()\n\t}\n\tif s.opts.cp != nil {\n\t\t// NOTE: this needs to be ahead of all handling, https://github.com/grpc/grpc-go/issues/686.\n\t\tstream.SetSendCompress(s.opts.cp.Type())\n\t}\n\tp := &parser{r: stream}\n\tpf, req, err := p.recvMsg(s.opts.maxReceiveMessageSize)\n\tif err == io.EOF {\n\t\t// The entire stream is done (for unary RPC only).\n\t\treturn err\n\t}\n\tif err == io.ErrUnexpectedEOF {\n\t\terr = Errorf(codes.Internal, io.ErrUnexpectedEOF.Error())\n\t}\n\tif err != nil {\n\t\tif st, ok := status.FromError(err); ok {\n\t\t\tif e := t.WriteStatus(stream, st); e != nil {\n\t\t\t\tgrpclog.Warningf(\"grpc: Server.processUnaryRPC failed to write status %v\", e)\n\t\t\t}\n\t\t} else {\n\t\t\tswitch st := err.(type) {\n\t\t\tcase transport.ConnectionError:\n\t\t\t\t// Nothing to do here.\n\t\t\tcase transport.StreamError:\n\t\t\t\tif e := t.WriteStatus(stream, status.New(st.Code, st.Desc)); e != nil {\n\t\t\t\t\tgrpclog.Warningf(\"grpc: Server.processUnaryRPC failed to write status %v\", e)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tpanic(fmt.Sprintf(\"grpc: Unexpected error (%T) from recvMsg: %v\", st, st))\n\t\t\t}\n\t\t}\n\t\treturn err\n\t}\n\n\tif err := checkRecvPayload(pf, stream.RecvCompress(), s.opts.dc); err != nil {\n\t\tif st, ok := status.FromError(err); ok {\n\t\t\tif e := t.WriteStatus(stream, st); e != nil {\n\t\t\t\tgrpclog.Warningf(\"grpc: Server.processUnaryRPC failed to write status %v\", e)\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\t\tif e := t.WriteStatus(stream, status.New(codes.Internal, err.Error())); e != nil {\n\t\t\tgrpclog.Warningf(\"grpc: Server.processUnaryRPC failed to write status %v\", e)\n\t\t}\n\n\t\t// TODO checkRecvPayload always return RPC error. Add a return here if necessary.\n\t}\n\tvar inPayload *stats.InPayload\n\tif sh != nil {\n\t\tinPayload = &stats.InPayload{\n\t\t\tRecvTime: time.Now(),\n\t\t}\n\t}\n\tdf := func(v interface{}) error {\n\t\tif inPayload != nil {\n\t\t\tinPayload.WireLength = len(req)\n\t\t}\n\t\tif pf == compressionMade {\n\t\t\tvar err error\n\t\t\treq, err = s.opts.dc.Do(bytes.NewReader(req))\n\t\t\tif err != nil {\n\t\t\t\treturn Errorf(codes.Internal, err.Error())\n\t\t\t}\n\t\t}\n\t\tif len(req) > s.opts.maxReceiveMessageSize {\n\t\t\t// TODO: Revisit the error code. Currently keep it consistent with\n\t\t\t// java implementation.\n\t\t\treturn status.Errorf(codes.ResourceExhausted, \"grpc: received message larger than max (%d vs. %d)\", len(req), s.opts.maxReceiveMessageSize)\n\t\t}\n\t\tif err := s.opts.codec.Unmarshal(req, v); err != nil {\n\t\t\treturn status.Errorf(codes.Internal, \"grpc: error unmarshalling request: %v\", err)\n\t\t}\n\t\tif inPayload != nil {\n\t\t\tinPayload.Payload = v\n\t\t\tinPayload.Data = req\n\t\t\tinPayload.Length = len(req)\n\t\t\tsh.HandleRPC(stream.Context(), inPayload)\n\t\t}\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.LazyLog(&payload{sent: false, msg: v}, true)\n\t\t}\n\t\treturn nil\n\t}\n\treply, appErr := md.Handler(srv.server, stream.Context(), df, s.opts.unaryInt)\n\tif appErr != nil {\n\t\tappStatus, ok := status.FromError(appErr)\n\t\tif !ok {\n\t\t\t// Convert appErr if it is not a grpc status error.\n\t\t\tappErr = status.Error(convertCode(appErr), appErr.Error())\n\t\t\tappStatus, _ = status.FromError(appErr)\n\t\t}\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.LazyLog(stringer(appStatus.Message()), true)\n\t\t\ttrInfo.tr.SetError()\n\t\t}\n\t\tif e := t.WriteStatus(stream, appStatus); e != nil {\n\t\t\tgrpclog.Warningf(\"grpc: Server.processUnaryRPC failed to write status: %v\", e)\n\t\t}\n\t\treturn appErr\n\t}\n\tif trInfo != nil {\n\t\ttrInfo.tr.LazyLog(stringer(\"OK\"), false)\n\t}\n\topts := &transport.Options{\n\t\tLast:  true,\n\t\tDelay: false,\n\t}\n\tif err := s.sendResponse(t, stream, reply, s.opts.cp, opts); err != nil {\n\t\tif err == io.EOF {\n\t\t\t// The entire stream is done (for unary RPC only).\n\t\t\treturn err\n\t\t}\n\t\tif s, ok := status.FromError(err); ok {\n\t\t\tif e := t.WriteStatus(stream, s); e != nil {\n\t\t\t\tgrpclog.Warningf(\"grpc: Server.processUnaryRPC failed to write status: %v\", e)\n\t\t\t}\n\t\t} else {\n\t\t\tswitch st := err.(type) {\n\t\t\tcase transport.ConnectionError:\n\t\t\t\t// Nothing to do here.\n\t\t\tcase transport.StreamError:\n\t\t\t\tif e := t.WriteStatus(stream, status.New(st.Code, st.Desc)); e != nil {\n\t\t\t\t\tgrpclog.Warningf(\"grpc: Server.processUnaryRPC failed to write status %v\", e)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tpanic(fmt.Sprintf(\"grpc: Unexpected error (%T) from sendResponse: %v\", st, st))\n\t\t\t}\n\t\t}\n\t\treturn err\n\t}\n\tif trInfo != nil {\n\t\ttrInfo.tr.LazyLog(&payload{sent: true, msg: reply}, true)\n\t}\n\t// TODO: Should we be logging if writing status failed here, like above?\n\t// Should the logging be in WriteStatus?  Should we ignore the WriteStatus\n\t// error or allow the stats handler to see it?\n\treturn t.WriteStatus(stream, status.New(codes.OK, \"\"))\n}\n\nfunc (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transport.Stream, srv *service, sd *StreamDesc, trInfo *traceInfo) (err error) {\n\tsh := s.opts.statsHandler\n\tif sh != nil {\n\t\tbegin := &stats.Begin{\n\t\t\tBeginTime: time.Now(),\n\t\t}\n\t\tsh.HandleRPC(stream.Context(), begin)\n\t\tdefer func() {\n\t\t\tend := &stats.End{\n\t\t\t\tEndTime: time.Now(),\n\t\t\t}\n\t\t\tif err != nil && err != io.EOF {\n\t\t\t\tend.Error = toRPCErr(err)\n\t\t\t}\n\t\t\tsh.HandleRPC(stream.Context(), end)\n\t\t}()\n\t}\n\tif s.opts.cp != nil {\n\t\tstream.SetSendCompress(s.opts.cp.Type())\n\t}\n\tss := &serverStream{\n\t\tt:     t,\n\t\ts:     stream,\n\t\tp:     &parser{r: stream},\n\t\tcodec: s.opts.codec,\n\t\tcp:    s.opts.cp,\n\t\tdc:    s.opts.dc,\n\t\tmaxReceiveMessageSize: s.opts.maxReceiveMessageSize,\n\t\tmaxSendMessageSize:    s.opts.maxSendMessageSize,\n\t\ttrInfo:                trInfo,\n\t\tstatsHandler:          sh,\n\t}\n\tif trInfo != nil {\n\t\ttrInfo.tr.LazyLog(&trInfo.firstLine, false)\n\t\tdefer func() {\n\t\t\tss.mu.Lock()\n\t\t\tif err != nil && err != io.EOF {\n\t\t\t\tss.trInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\t\tss.trInfo.tr.SetError()\n\t\t\t}\n\t\t\tss.trInfo.tr.Finish()\n\t\t\tss.trInfo.tr = nil\n\t\t\tss.mu.Unlock()\n\t\t}()\n\t}\n\tvar appErr error\n\tvar server interface{}\n\tif srv != nil {\n\t\tserver = srv.server\n\t}\n\tif s.opts.streamInt == nil {\n\t\tappErr = sd.Handler(server, ss)\n\t} else {\n\t\tinfo := &StreamServerInfo{\n\t\t\tFullMethod:     stream.Method(),\n\t\t\tIsClientStream: sd.ClientStreams,\n\t\t\tIsServerStream: sd.ServerStreams,\n\t\t}\n\t\tappErr = s.opts.streamInt(server, ss, info, sd.Handler)\n\t}\n\tif appErr != nil {\n\t\tappStatus, ok := status.FromError(appErr)\n\t\tif !ok {\n\t\t\tswitch err := appErr.(type) {\n\t\t\tcase transport.StreamError:\n\t\t\t\tappStatus = status.New(err.Code, err.Desc)\n\t\t\tdefault:\n\t\t\t\tappStatus = status.New(convertCode(appErr), appErr.Error())\n\t\t\t}\n\t\t\tappErr = appStatus.Err()\n\t\t}\n\t\tif trInfo != nil {\n\t\t\tss.mu.Lock()\n\t\t\tss.trInfo.tr.LazyLog(stringer(appStatus.Message()), true)\n\t\t\tss.trInfo.tr.SetError()\n\t\t\tss.mu.Unlock()\n\t\t}\n\t\tt.WriteStatus(ss.s, appStatus)\n\t\t// TODO: Should we log an error from WriteStatus here and below?\n\t\treturn appErr\n\t}\n\tif trInfo != nil {\n\t\tss.mu.Lock()\n\t\tss.trInfo.tr.LazyLog(stringer(\"OK\"), false)\n\t\tss.mu.Unlock()\n\t}\n\treturn t.WriteStatus(ss.s, status.New(codes.OK, \"\"))\n\n}\n\nfunc (s *Server) handleStream(t transport.ServerTransport, stream *transport.Stream, trInfo *traceInfo) {\n\tsm := stream.Method()\n\tif sm != \"\" && sm[0] == '/' {\n\t\tsm = sm[1:]\n\t}\n\tpos := strings.LastIndex(sm, \"/\")\n\tif pos == -1 {\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.LazyLog(&fmtStringer{\"Malformed method name %q\", []interface{}{sm}}, true)\n\t\t\ttrInfo.tr.SetError()\n\t\t}\n\t\terrDesc := fmt.Sprintf(\"malformed method name: %q\", stream.Method())\n\t\tif err := t.WriteStatus(stream, status.New(codes.ResourceExhausted, errDesc)); err != nil {\n\t\t\tif trInfo != nil {\n\t\t\t\ttrInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\t\ttrInfo.tr.SetError()\n\t\t\t}\n\t\t\tgrpclog.Warningf(\"grpc: Server.handleStream failed to write status: %v\", err)\n\t\t}\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.Finish()\n\t\t}\n\t\treturn\n\t}\n\tservice := sm[:pos]\n\tmethod := sm[pos+1:]\n\tsrv, ok := s.m[service]\n\tif !ok {\n\t\tif unknownDesc := s.opts.unknownStreamDesc; unknownDesc != nil {\n\t\t\ts.processStreamingRPC(t, stream, nil, unknownDesc, trInfo)\n\t\t\treturn\n\t\t}\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.LazyLog(&fmtStringer{\"Unknown service %v\", []interface{}{service}}, true)\n\t\t\ttrInfo.tr.SetError()\n\t\t}\n\t\terrDesc := fmt.Sprintf(\"unknown service %v\", service)\n\t\tif err := t.WriteStatus(stream, status.New(codes.Unimplemented, errDesc)); err != nil {\n\t\t\tif trInfo != nil {\n\t\t\t\ttrInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\t\ttrInfo.tr.SetError()\n\t\t\t}\n\t\t\tgrpclog.Warningf(\"grpc: Server.handleStream failed to write status: %v\", err)\n\t\t}\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.Finish()\n\t\t}\n\t\treturn\n\t}\n\t// Unary RPC or Streaming RPC?\n\tif md, ok := srv.md[method]; ok {\n\t\ts.processUnaryRPC(t, stream, srv, md, trInfo)\n\t\treturn\n\t}\n\tif sd, ok := srv.sd[method]; ok {\n\t\ts.processStreamingRPC(t, stream, srv, sd, trInfo)\n\t\treturn\n\t}\n\tif trInfo != nil {\n\t\ttrInfo.tr.LazyLog(&fmtStringer{\"Unknown method %v\", []interface{}{method}}, true)\n\t\ttrInfo.tr.SetError()\n\t}\n\tif unknownDesc := s.opts.unknownStreamDesc; unknownDesc != nil {\n\t\ts.processStreamingRPC(t, stream, nil, unknownDesc, trInfo)\n\t\treturn\n\t}\n\terrDesc := fmt.Sprintf(\"unknown method %v\", method)\n\tif err := t.WriteStatus(stream, status.New(codes.Unimplemented, errDesc)); err != nil {\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\ttrInfo.tr.SetError()\n\t\t}\n\t\tgrpclog.Warningf(\"grpc: Server.handleStream failed to write status: %v\", err)\n\t}\n\tif trInfo != nil {\n\t\ttrInfo.tr.Finish()\n\t}\n}\n\n// Stop stops the gRPC server. It immediately closes all open\n// connections and listeners.\n// It cancels all active RPCs on the server side and the corresponding\n// pending RPCs on the client side will get notified by connection\n// errors.\nfunc (s *Server) Stop() {\n\ts.mu.Lock()\n\tlisteners := s.lis\n\ts.lis = nil\n\tst := s.conns\n\ts.conns = nil\n\t// interrupt GracefulStop if Stop and GracefulStop are called concurrently.\n\ts.cv.Broadcast()\n\ts.mu.Unlock()\n\n\tfor lis := range listeners {\n\t\tlis.Close()\n\t}\n\tfor c := range st {\n\t\tc.Close()\n\t}\n\n\ts.mu.Lock()\n\ts.cancel()\n\tif s.events != nil {\n\t\ts.events.Finish()\n\t\ts.events = nil\n\t}\n\ts.mu.Unlock()\n}\n\n// GracefulStop stops the gRPC server gracefully. It stops the server from\n// accepting new connections and RPCs and blocks until all the pending RPCs are\n// finished.\nfunc (s *Server) GracefulStop() {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif s.conns == nil {\n\t\treturn\n\t}\n\tfor lis := range s.lis {\n\t\tlis.Close()\n\t}\n\ts.lis = nil\n\ts.cancel()\n\tif !s.drain {\n\t\tfor c := range s.conns {\n\t\t\tc.(transport.ServerTransport).Drain()\n\t\t}\n\t\ts.drain = true\n\t}\n\tfor len(s.conns) != 0 {\n\t\ts.cv.Wait()\n\t}\n\ts.conns = nil\n\tif s.events != nil {\n\t\ts.events.Finish()\n\t\ts.events = nil\n\t}\n}\n\nfunc init() {\n\tinternal.TestingCloseConns = func(arg interface{}) {\n\t\targ.(*Server).testingCloseConns()\n\t}\n\tinternal.TestingUseHandlerImpl = func(arg interface{}) {\n\t\targ.(*Server).opts.useHandlerImpl = true\n\t}\n}\n\n// testingCloseConns closes all existing transports but keeps s.lis\n// accepting new connections.\nfunc (s *Server) testingCloseConns() {\n\ts.mu.Lock()\n\tfor c := range s.conns {\n\t\tc.Close()\n\t\tdelete(s.conns, c)\n\t}\n\ts.mu.Unlock()\n}\n\n// SetHeader sets the header metadata.\n// When called multiple times, all the provided metadata will be merged.\n// All the metadata will be sent out when one of the following happens:\n//  - grpc.SendHeader() is called;\n//  - The first response is sent out;\n//  - An RPC status is sent out (error or success).\nfunc SetHeader(ctx context.Context, md metadata.MD) error {\n\tif md.Len() == 0 {\n\t\treturn nil\n\t}\n\tstream, ok := transport.StreamFromContext(ctx)\n\tif !ok {\n\t\treturn Errorf(codes.Internal, \"grpc: failed to fetch the stream from the context %v\", ctx)\n\t}\n\treturn stream.SetHeader(md)\n}\n\n// SendHeader sends header metadata. It may be called at most once.\n// The provided md and headers set by SetHeader() will be sent.\nfunc SendHeader(ctx context.Context, md metadata.MD) error {\n\tstream, ok := transport.StreamFromContext(ctx)\n\tif !ok {\n\t\treturn Errorf(codes.Internal, \"grpc: failed to fetch the stream from the context %v\", ctx)\n\t}\n\tt := stream.ServerTransport()\n\tif t == nil {\n\t\tgrpclog.Fatalf(\"grpc: SendHeader: %v has no ServerTransport to send header metadata.\", stream)\n\t}\n\tif err := t.WriteHeader(stream, md); err != nil {\n\t\treturn toRPCErr(err)\n\t}\n\treturn nil\n}\n\n// SetTrailer sets the trailer metadata that will be sent when an RPC returns.\n// When called more than once, all the provided metadata will be merged.\nfunc SetTrailer(ctx context.Context, md metadata.MD) error {\n\tif md.Len() == 0 {\n\t\treturn nil\n\t}\n\tstream, ok := transport.StreamFromContext(ctx)\n\tif !ok {\n\t\treturn Errorf(codes.Internal, \"grpc: failed to fetch the stream from the context %v\", ctx)\n\t}\n\treturn stream.SetTrailer(md)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/stats/handlers.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\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\npackage stats\n\nimport (\n\t\"net\"\n\n\t\"golang.org/x/net/context\"\n)\n\n// ConnTagInfo defines the relevant information needed by connection context tagger.\ntype ConnTagInfo struct {\n\t// RemoteAddr is the remote address of the corresponding connection.\n\tRemoteAddr net.Addr\n\t// LocalAddr is the local address of the corresponding connection.\n\tLocalAddr net.Addr\n}\n\n// RPCTagInfo defines the relevant information needed by RPC context tagger.\ntype RPCTagInfo struct {\n\t// FullMethodName is the RPC method in the format of /package.service/method.\n\tFullMethodName string\n\t// FailFast indicates if this RPC is failfast.\n\t// This field is only valid on client side, it's always false on server side.\n\tFailFast bool\n}\n\n// Handler defines the interface for the related stats handling (e.g., RPCs, connections).\ntype Handler interface {\n\t// TagRPC can attach some information to the given context.\n\t// The context used for the rest lifetime of the RPC will be derived from\n\t// the returned context.\n\tTagRPC(context.Context, *RPCTagInfo) context.Context\n\t// HandleRPC processes the RPC stats.\n\tHandleRPC(context.Context, RPCStats)\n\n\t// TagConn can attach some information to the given context.\n\t// The returned context will be used for stats handling.\n\t// For conn stats handling, the context used in HandleConn for this\n\t// connection will be derived from the context returned.\n\t// For RPC stats handling,\n\t//  - On server side, the context used in HandleRPC for all RPCs on this\n\t// connection will be derived from the context returned.\n\t//  - On client side, the context is not derived from the context returned.\n\tTagConn(context.Context, *ConnTagInfo) context.Context\n\t// HandleConn processes the Conn stats.\n\tHandleConn(context.Context, ConnStats)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/stats/stats.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\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\n//go:generate protoc --go_out=plugins=grpc:. grpc_testing/test.proto\n\n// Package stats is for collecting and reporting various network and RPC stats.\n// This package is for monitoring purpose only. All fields are read-only.\n// All APIs are experimental.\npackage stats // import \"google.golang.org/grpc/stats\"\n\nimport (\n\t\"net\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n)\n\n// RPCStats contains stats information about RPCs.\ntype RPCStats interface {\n\tisRPCStats()\n\t// IsClient returns true if this RPCStats is from client side.\n\tIsClient() bool\n}\n\n// Begin contains stats when an RPC begins.\n// FailFast is only valid if this Begin is from client side.\ntype Begin struct {\n\t// Client is true if this Begin is from client side.\n\tClient bool\n\t// BeginTime is the time when the RPC begins.\n\tBeginTime time.Time\n\t// FailFast indicates if this RPC is failfast.\n\tFailFast bool\n}\n\n// IsClient indicates if the stats information is from client side.\nfunc (s *Begin) IsClient() bool { return s.Client }\n\nfunc (s *Begin) isRPCStats() {}\n\n// InPayload contains the information for an incoming payload.\ntype InPayload struct {\n\t// Client is true if this InPayload is from client side.\n\tClient bool\n\t// Payload is the payload with original type.\n\tPayload interface{}\n\t// Data is the serialized message payload.\n\tData []byte\n\t// Length is the length of uncompressed data.\n\tLength int\n\t// WireLength is the length of data on wire (compressed, signed, encrypted).\n\tWireLength int\n\t// RecvTime is the time when the payload is received.\n\tRecvTime time.Time\n}\n\n// IsClient indicates if the stats information is from client side.\nfunc (s *InPayload) IsClient() bool { return s.Client }\n\nfunc (s *InPayload) isRPCStats() {}\n\n// InHeader contains stats when a header is received.\ntype InHeader struct {\n\t// Client is true if this InHeader is from client side.\n\tClient bool\n\t// WireLength is the wire length of header.\n\tWireLength int\n\n\t// The following fields are valid only if Client is false.\n\t// FullMethod is the full RPC method string, i.e., /package.service/method.\n\tFullMethod string\n\t// RemoteAddr is the remote address of the corresponding connection.\n\tRemoteAddr net.Addr\n\t// LocalAddr is the local address of the corresponding connection.\n\tLocalAddr net.Addr\n\t// Compression is the compression algorithm used for the RPC.\n\tCompression string\n}\n\n// IsClient indicates if the stats information is from client side.\nfunc (s *InHeader) IsClient() bool { return s.Client }\n\nfunc (s *InHeader) isRPCStats() {}\n\n// InTrailer contains stats when a trailer is received.\ntype InTrailer struct {\n\t// Client is true if this InTrailer is from client side.\n\tClient bool\n\t// WireLength is the wire length of trailer.\n\tWireLength int\n}\n\n// IsClient indicates if the stats information is from client side.\nfunc (s *InTrailer) IsClient() bool { return s.Client }\n\nfunc (s *InTrailer) isRPCStats() {}\n\n// OutPayload contains the information for an outgoing payload.\ntype OutPayload struct {\n\t// Client is true if this OutPayload is from client side.\n\tClient bool\n\t// Payload is the payload with original type.\n\tPayload interface{}\n\t// Data is the serialized message payload.\n\tData []byte\n\t// Length is the length of uncompressed data.\n\tLength int\n\t// WireLength is the length of data on wire (compressed, signed, encrypted).\n\tWireLength int\n\t// SentTime is the time when the payload is sent.\n\tSentTime time.Time\n}\n\n// IsClient indicates if this stats information is from client side.\nfunc (s *OutPayload) IsClient() bool { return s.Client }\n\nfunc (s *OutPayload) isRPCStats() {}\n\n// OutHeader contains stats when a header is sent.\ntype OutHeader struct {\n\t// Client is true if this OutHeader is from client side.\n\tClient bool\n\n\t// The following fields are valid only if Client is true.\n\t// FullMethod is the full RPC method string, i.e., /package.service/method.\n\tFullMethod string\n\t// RemoteAddr is the remote address of the corresponding connection.\n\tRemoteAddr net.Addr\n\t// LocalAddr is the local address of the corresponding connection.\n\tLocalAddr net.Addr\n\t// Compression is the compression algorithm used for the RPC.\n\tCompression string\n}\n\n// IsClient indicates if this stats information is from client side.\nfunc (s *OutHeader) IsClient() bool { return s.Client }\n\nfunc (s *OutHeader) isRPCStats() {}\n\n// OutTrailer contains stats when a trailer is sent.\ntype OutTrailer struct {\n\t// Client is true if this OutTrailer is from client side.\n\tClient bool\n\t// WireLength is the wire length of trailer.\n\tWireLength int\n}\n\n// IsClient indicates if this stats information is from client side.\nfunc (s *OutTrailer) IsClient() bool { return s.Client }\n\nfunc (s *OutTrailer) isRPCStats() {}\n\n// End contains stats when an RPC ends.\ntype End struct {\n\t// Client is true if this End is from client side.\n\tClient bool\n\t// EndTime is the time when the RPC ends.\n\tEndTime time.Time\n\t// Error is the error the RPC ended with. It is an error generated from\n\t// status.Status and can be converted back to status.Status using\n\t// status.FromError if non-nil.\n\tError error\n}\n\n// IsClient indicates if this is from client side.\nfunc (s *End) IsClient() bool { return s.Client }\n\nfunc (s *End) isRPCStats() {}\n\n// ConnStats contains stats information about connections.\ntype ConnStats interface {\n\tisConnStats()\n\t// IsClient returns true if this ConnStats is from client side.\n\tIsClient() bool\n}\n\n// ConnBegin contains the stats of a connection when it is established.\ntype ConnBegin struct {\n\t// Client is true if this ConnBegin is from client side.\n\tClient bool\n}\n\n// IsClient indicates if this is from client side.\nfunc (s *ConnBegin) IsClient() bool { return s.Client }\n\nfunc (s *ConnBegin) isConnStats() {}\n\n// ConnEnd contains the stats of a connection when it ends.\ntype ConnEnd struct {\n\t// Client is true if this ConnEnd is from client side.\n\tClient bool\n}\n\n// IsClient indicates if this is from client side.\nfunc (s *ConnEnd) IsClient() bool { return s.Client }\n\nfunc (s *ConnEnd) isConnStats() {}\n\ntype incomingTagsKey struct{}\ntype outgoingTagsKey struct{}\n\n// SetTags attaches stats tagging data to the context, which will be sent in\n// the outgoing RPC with the header grpc-tags-bin.  Subsequent calls to\n// SetTags will overwrite the values from earlier calls.\n//\n// NOTE: this is provided only for backward compatibility with existing clients\n// and will likely be removed in an upcoming release.  New uses should transmit\n// this type of data using metadata with a different, non-reserved (i.e. does\n// not begin with \"grpc-\") header name.\nfunc SetTags(ctx context.Context, b []byte) context.Context {\n\treturn context.WithValue(ctx, outgoingTagsKey{}, b)\n}\n\n// Tags returns the tags from the context for the inbound RPC.\n//\n// NOTE: this is provided only for backward compatibility with existing clients\n// and will likely be removed in an upcoming release.  New uses should transmit\n// this type of data using metadata with a different, non-reserved (i.e. does\n// not begin with \"grpc-\") header name.\nfunc Tags(ctx context.Context) []byte {\n\tb, _ := ctx.Value(incomingTagsKey{}).([]byte)\n\treturn b\n}\n\n// SetIncomingTags attaches stats tagging data to the context, to be read by\n// the application (not sent in outgoing RPCs).\n//\n// This is intended for gRPC-internal use ONLY.\nfunc SetIncomingTags(ctx context.Context, b []byte) context.Context {\n\treturn context.WithValue(ctx, incomingTagsKey{}, b)\n}\n\n// OutgoingTags returns the tags from the context for the outbound RPC.\n//\n// This is intended for gRPC-internal use ONLY.\nfunc OutgoingTags(ctx context.Context) []byte {\n\tb, _ := ctx.Value(outgoingTagsKey{}).([]byte)\n\treturn b\n}\n\ntype incomingTraceKey struct{}\ntype outgoingTraceKey struct{}\n\n// SetTrace attaches stats tagging data to the context, which will be sent in\n// the outgoing RPC with the header grpc-trace-bin.  Subsequent calls to\n// SetTrace will overwrite the values from earlier calls.\n//\n// NOTE: this is provided only for backward compatibility with existing clients\n// and will likely be removed in an upcoming release.  New uses should transmit\n// this type of data using metadata with a different, non-reserved (i.e. does\n// not begin with \"grpc-\") header name.\nfunc SetTrace(ctx context.Context, b []byte) context.Context {\n\treturn context.WithValue(ctx, outgoingTraceKey{}, b)\n}\n\n// Trace returns the trace from the context for the inbound RPC.\n//\n// NOTE: this is provided only for backward compatibility with existing clients\n// and will likely be removed in an upcoming release.  New uses should transmit\n// this type of data using metadata with a different, non-reserved (i.e. does\n// not begin with \"grpc-\") header name.\nfunc Trace(ctx context.Context) []byte {\n\tb, _ := ctx.Value(incomingTraceKey{}).([]byte)\n\treturn b\n}\n\n// SetIncomingTrace attaches stats tagging data to the context, to be read by\n// the application (not sent in outgoing RPCs).  It is intended for\n// gRPC-internal use.\nfunc SetIncomingTrace(ctx context.Context, b []byte) context.Context {\n\treturn context.WithValue(ctx, incomingTraceKey{}, b)\n}\n\n// OutgoingTrace returns the trace from the context for the outbound RPC.  It is\n// intended for gRPC-internal use.\nfunc OutgoingTrace(ctx context.Context) []byte {\n\tb, _ := ctx.Value(outgoingTraceKey{}).([]byte)\n\treturn b\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/status/status.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\n// Package status implements errors returned by gRPC.  These errors are\n// serialized and transmitted on the wire between server and client, and allow\n// for additional data to be transmitted via the Details field in the status\n// proto.  gRPC service handlers should return an error created by this\n// package, and gRPC clients should expect a corresponding error to be\n// returned from the RPC call.\n//\n// This package upholds the invariants that a non-nil error may not\n// contain an OK code, and an OK code must result in a nil error.\npackage status\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"github.com/golang/protobuf/ptypes\"\n\tspb \"google.golang.org/genproto/googleapis/rpc/status\"\n\t\"google.golang.org/grpc/codes\"\n)\n\n// statusError is an alias of a status proto.  It implements error and Status,\n// and a nil statusError should never be returned by this package.\ntype statusError spb.Status\n\nfunc (se *statusError) Error() string {\n\tp := (*spb.Status)(se)\n\treturn fmt.Sprintf(\"rpc error: code = %s desc = %s\", codes.Code(p.GetCode()), p.GetMessage())\n}\n\nfunc (se *statusError) status() *Status {\n\treturn &Status{s: (*spb.Status)(se)}\n}\n\n// Status represents an RPC status code, message, and details.  It is immutable\n// and should be created with New, Newf, or FromProto.\ntype Status struct {\n\ts *spb.Status\n}\n\n// Code returns the status code contained in s.\nfunc (s *Status) Code() codes.Code {\n\tif s == nil || s.s == nil {\n\t\treturn codes.OK\n\t}\n\treturn codes.Code(s.s.Code)\n}\n\n// Message returns the message contained in s.\nfunc (s *Status) Message() string {\n\tif s == nil || s.s == nil {\n\t\treturn \"\"\n\t}\n\treturn s.s.Message\n}\n\n// Proto returns s's status as an spb.Status proto message.\nfunc (s *Status) Proto() *spb.Status {\n\tif s == nil {\n\t\treturn nil\n\t}\n\treturn proto.Clone(s.s).(*spb.Status)\n}\n\n// Err returns an immutable error representing s; returns nil if s.Code() is\n// OK.\nfunc (s *Status) Err() error {\n\tif s.Code() == codes.OK {\n\t\treturn nil\n\t}\n\treturn (*statusError)(s.s)\n}\n\n// New returns a Status representing c and msg.\nfunc New(c codes.Code, msg string) *Status {\n\treturn &Status{s: &spb.Status{Code: int32(c), Message: msg}}\n}\n\n// Newf returns New(c, fmt.Sprintf(format, a...)).\nfunc Newf(c codes.Code, format string, a ...interface{}) *Status {\n\treturn New(c, fmt.Sprintf(format, a...))\n}\n\n// Error returns an error representing c and msg.  If c is OK, returns nil.\nfunc Error(c codes.Code, msg string) error {\n\treturn New(c, msg).Err()\n}\n\n// Errorf returns Error(c, fmt.Sprintf(format, a...)).\nfunc Errorf(c codes.Code, format string, a ...interface{}) error {\n\treturn Error(c, fmt.Sprintf(format, a...))\n}\n\n// ErrorProto returns an error representing s.  If s.Code is OK, returns nil.\nfunc ErrorProto(s *spb.Status) error {\n\treturn FromProto(s).Err()\n}\n\n// FromProto returns a Status representing s.\nfunc FromProto(s *spb.Status) *Status {\n\treturn &Status{s: proto.Clone(s).(*spb.Status)}\n}\n\n// FromError returns a Status representing err if it was produced from this\n// package, otherwise it returns nil, false.\nfunc FromError(err error) (s *Status, ok bool) {\n\tif err == nil {\n\t\treturn &Status{s: &spb.Status{Code: int32(codes.OK)}}, true\n\t}\n\tif s, ok := err.(*statusError); ok {\n\t\treturn s.status(), true\n\t}\n\treturn nil, false\n}\n\n// WithDetails returns a new status with the provided details messages appended to the status.\n// If any errors are encountered, it returns nil and the first error encountered.\nfunc (s *Status) WithDetails(details ...proto.Message) (*Status, error) {\n\tif s.Code() == codes.OK {\n\t\treturn nil, errors.New(\"no error details for status with code OK\")\n\t}\n\t// s.Code() != OK implies that s.Proto() != nil.\n\tp := s.Proto()\n\tfor _, detail := range details {\n\t\tany, err := ptypes.MarshalAny(detail)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tp.Details = append(p.Details, any)\n\t}\n\treturn &Status{s: p}, nil\n}\n\n// Details returns a slice of details messages attached to the status.\n// If a detail cannot be decoded, the error is returned in place of the detail.\nfunc (s *Status) Details() []interface{} {\n\tif s == nil || s.s == nil {\n\t\treturn nil\n\t}\n\tdetails := make([]interface{}, 0, len(s.s.Details))\n\tfor _, any := range s.s.Details {\n\t\tdetail := &ptypes.DynamicAny{}\n\t\tif err := ptypes.UnmarshalAny(any, detail); err != nil {\n\t\t\tdetails = append(details, err)\n\t\t\tcontinue\n\t\t}\n\t\tdetails = append(details, detail.Message)\n\t}\n\treturn details\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/stream.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"io\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/trace\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/peer\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n\t\"google.golang.org/grpc/transport\"\n)\n\n// StreamHandler defines the handler called by gRPC server to complete the\n// execution of a streaming RPC.\ntype StreamHandler func(srv interface{}, stream ServerStream) error\n\n// StreamDesc represents a streaming RPC service's method specification.\ntype StreamDesc struct {\n\tStreamName string\n\tHandler    StreamHandler\n\n\t// At least one of these is true.\n\tServerStreams bool\n\tClientStreams bool\n}\n\n// Stream defines the common interface a client or server stream has to satisfy.\ntype Stream interface {\n\t// Context returns the context for this stream.\n\tContext() context.Context\n\t// SendMsg blocks until it sends m, the stream is done or the stream\n\t// breaks.\n\t// On error, it aborts the stream and returns an RPC status on client\n\t// side. On server side, it simply returns the error to the caller.\n\t// SendMsg is called by generated code. Also Users can call SendMsg\n\t// directly when it is really needed in their use cases.\n\t// It's safe to have a goroutine calling SendMsg and another goroutine calling\n\t// recvMsg on the same stream at the same time.\n\t// But it is not safe to call SendMsg on the same stream in different goroutines.\n\tSendMsg(m interface{}) error\n\t// RecvMsg blocks until it receives a message or the stream is\n\t// done. On client side, it returns io.EOF when the stream is done. On\n\t// any other error, it aborts the stream and returns an RPC status. On\n\t// server side, it simply returns the error to the caller.\n\t// It's safe to have a goroutine calling SendMsg and another goroutine calling\n\t// recvMsg on the same stream at the same time.\n\t// But it is not safe to call RecvMsg on the same stream in different goroutines.\n\tRecvMsg(m interface{}) error\n}\n\n// ClientStream defines the interface a client stream has to satisfy.\ntype ClientStream interface {\n\t// Header returns the header metadata received from the server if there\n\t// is any. It blocks if the metadata is not ready to read.\n\tHeader() (metadata.MD, error)\n\t// Trailer returns the trailer metadata from the server, if there is any.\n\t// It must only be called after stream.CloseAndRecv has returned, or\n\t// stream.Recv has returned a non-nil error (including io.EOF).\n\tTrailer() metadata.MD\n\t// CloseSend closes the send direction of the stream. It closes the stream\n\t// when non-nil error is met.\n\tCloseSend() error\n\t// Stream.SendMsg() may return a non-nil error when something wrong happens sending\n\t// the request. The returned error indicates the status of this sending, not the final\n\t// status of the RPC.\n\t// Always call Stream.RecvMsg() to get the final status if you care about the status of\n\t// the RPC.\n\tStream\n}\n\n// NewClientStream creates a new Stream for the client side. This is called\n// by generated code.\nfunc NewClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, opts ...CallOption) (_ ClientStream, err error) {\n\tif cc.dopts.streamInt != nil {\n\t\treturn cc.dopts.streamInt(ctx, desc, cc, method, newClientStream, opts...)\n\t}\n\treturn newClientStream(ctx, desc, cc, method, opts...)\n}\n\nfunc newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, opts ...CallOption) (_ ClientStream, err error) {\n\tvar (\n\t\tt      transport.ClientTransport\n\t\ts      *transport.Stream\n\t\tdone   func(balancer.DoneInfo)\n\t\tcancel context.CancelFunc\n\t)\n\tc := defaultCallInfo()\n\tmc := cc.GetMethodConfig(method)\n\tif mc.WaitForReady != nil {\n\t\tc.failFast = !*mc.WaitForReady\n\t}\n\n\tif mc.Timeout != nil {\n\t\tctx, cancel = context.WithTimeout(ctx, *mc.Timeout)\n\t\tdefer func() {\n\t\t\tif err != nil {\n\t\t\t\tcancel()\n\t\t\t}\n\t\t}()\n\t}\n\n\topts = append(cc.dopts.callOptions, opts...)\n\tfor _, o := range opts {\n\t\tif err := o.before(c); err != nil {\n\t\t\treturn nil, toRPCErr(err)\n\t\t}\n\t}\n\tc.maxSendMessageSize = getMaxSize(mc.MaxReqSize, c.maxSendMessageSize, defaultClientMaxSendMessageSize)\n\tc.maxReceiveMessageSize = getMaxSize(mc.MaxRespSize, c.maxReceiveMessageSize, defaultClientMaxReceiveMessageSize)\n\n\tcallHdr := &transport.CallHdr{\n\t\tHost:   cc.authority,\n\t\tMethod: method,\n\t\t// If it's not client streaming, we should already have the request to be sent,\n\t\t// so we don't flush the header.\n\t\t// If it's client streaming, the user may never send a request or send it any\n\t\t// time soon, so we ask the transport to flush the header.\n\t\tFlush: desc.ClientStreams,\n\t}\n\tif cc.dopts.cp != nil {\n\t\tcallHdr.SendCompress = cc.dopts.cp.Type()\n\t}\n\tif c.creds != nil {\n\t\tcallHdr.Creds = c.creds\n\t}\n\tvar trInfo traceInfo\n\tif EnableTracing {\n\t\ttrInfo.tr = trace.New(\"grpc.Sent.\"+methodFamily(method), method)\n\t\ttrInfo.firstLine.client = true\n\t\tif deadline, ok := ctx.Deadline(); ok {\n\t\t\ttrInfo.firstLine.deadline = deadline.Sub(time.Now())\n\t\t}\n\t\ttrInfo.tr.LazyLog(&trInfo.firstLine, false)\n\t\tctx = trace.NewContext(ctx, trInfo.tr)\n\t\tdefer func() {\n\t\t\tif err != nil {\n\t\t\t\t// Need to call tr.finish() if error is returned.\n\t\t\t\t// Because tr will not be returned to caller.\n\t\t\t\ttrInfo.tr.LazyPrintf(\"RPC: [%v]\", err)\n\t\t\t\ttrInfo.tr.SetError()\n\t\t\t\ttrInfo.tr.Finish()\n\t\t\t}\n\t\t}()\n\t}\n\tctx = newContextWithRPCInfo(ctx, c.failFast)\n\tsh := cc.dopts.copts.StatsHandler\n\tif sh != nil {\n\t\tctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method, FailFast: c.failFast})\n\t\tbegin := &stats.Begin{\n\t\t\tClient:    true,\n\t\t\tBeginTime: time.Now(),\n\t\t\tFailFast:  c.failFast,\n\t\t}\n\t\tsh.HandleRPC(ctx, begin)\n\t\tdefer func() {\n\t\t\tif err != nil {\n\t\t\t\t// Only handle end stats if err != nil.\n\t\t\t\tend := &stats.End{\n\t\t\t\t\tClient: true,\n\t\t\t\t\tError:  err,\n\t\t\t\t}\n\t\t\t\tsh.HandleRPC(ctx, end)\n\t\t\t}\n\t\t}()\n\t}\n\tfor {\n\t\tt, done, err = cc.getTransport(ctx, c.failFast)\n\t\tif err != nil {\n\t\t\t// TODO(zhaoq): Probably revisit the error handling.\n\t\t\tif _, ok := status.FromError(err); ok {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tif err == errConnClosing || err == errConnUnavailable {\n\t\t\t\tif c.failFast {\n\t\t\t\t\treturn nil, Errorf(codes.Unavailable, \"%v\", err)\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// All the other errors are treated as Internal errors.\n\t\t\treturn nil, Errorf(codes.Internal, \"%v\", err)\n\t\t}\n\n\t\ts, err = t.NewStream(ctx, callHdr)\n\t\tif err != nil {\n\t\t\tif _, ok := err.(transport.ConnectionError); ok && done != nil {\n\t\t\t\t// If error is connection error, transport was sending data on wire,\n\t\t\t\t// and we are not sure if anything has been sent on wire.\n\t\t\t\t// If error is not connection error, we are sure nothing has been sent.\n\t\t\t\tupdateRPCInfoInContext(ctx, rpcInfo{bytesSent: true, bytesReceived: false})\n\t\t\t}\n\t\t\tif done != nil {\n\t\t\t\tdone(balancer.DoneInfo{Err: err})\n\t\t\t\tdone = nil\n\t\t\t}\n\t\t\tif _, ok := err.(transport.ConnectionError); (ok || err == transport.ErrStreamDrain) && !c.failFast {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\treturn nil, toRPCErr(err)\n\t\t}\n\t\tbreak\n\t}\n\t// Set callInfo.peer object from stream's context.\n\tif peer, ok := peer.FromContext(s.Context()); ok {\n\t\tc.peer = peer\n\t}\n\tcs := &clientStream{\n\t\topts:   opts,\n\t\tc:      c,\n\t\tdesc:   desc,\n\t\tcodec:  cc.dopts.codec,\n\t\tcp:     cc.dopts.cp,\n\t\tdc:     cc.dopts.dc,\n\t\tcancel: cancel,\n\n\t\tdone: done,\n\t\tt:    t,\n\t\ts:    s,\n\t\tp:    &parser{r: s},\n\n\t\ttracing: EnableTracing,\n\t\ttrInfo:  trInfo,\n\n\t\tstatsCtx:     ctx,\n\t\tstatsHandler: cc.dopts.copts.StatsHandler,\n\t}\n\t// Listen on ctx.Done() to detect cancellation and s.Done() to detect normal termination\n\t// when there is no pending I/O operations on this stream.\n\tgo func() {\n\t\tselect {\n\t\tcase <-t.Error():\n\t\t\t// Incur transport error, simply exit.\n\t\tcase <-cc.ctx.Done():\n\t\t\tcs.finish(ErrClientConnClosing)\n\t\t\tcs.closeTransportStream(ErrClientConnClosing)\n\t\tcase <-s.Done():\n\t\t\t// TODO: The trace of the RPC is terminated here when there is no pending\n\t\t\t// I/O, which is probably not the optimal solution.\n\t\t\tcs.finish(s.Status().Err())\n\t\t\tcs.closeTransportStream(nil)\n\t\tcase <-s.GoAway():\n\t\t\tcs.finish(errConnDrain)\n\t\t\tcs.closeTransportStream(errConnDrain)\n\t\tcase <-s.Context().Done():\n\t\t\terr := s.Context().Err()\n\t\t\tcs.finish(err)\n\t\t\tcs.closeTransportStream(transport.ContextErr(err))\n\t\t}\n\t}()\n\treturn cs, nil\n}\n\n// clientStream implements a client side Stream.\ntype clientStream struct {\n\topts   []CallOption\n\tc      *callInfo\n\tt      transport.ClientTransport\n\ts      *transport.Stream\n\tp      *parser\n\tdesc   *StreamDesc\n\tcodec  Codec\n\tcp     Compressor\n\tdc     Decompressor\n\tcancel context.CancelFunc\n\n\ttracing bool // set to EnableTracing when the clientStream is created.\n\n\tmu       sync.Mutex\n\tdone     func(balancer.DoneInfo)\n\tclosed   bool\n\tfinished bool\n\t// trInfo.tr is set when the clientStream is created (if EnableTracing is true),\n\t// and is set to nil when the clientStream's finish method is called.\n\ttrInfo traceInfo\n\n\t// statsCtx keeps the user context for stats handling.\n\t// All stats collection should use the statsCtx (instead of the stream context)\n\t// so that all the generated stats for a particular RPC can be associated in the processing phase.\n\tstatsCtx     context.Context\n\tstatsHandler stats.Handler\n}\n\nfunc (cs *clientStream) Context() context.Context {\n\treturn cs.s.Context()\n}\n\nfunc (cs *clientStream) Header() (metadata.MD, error) {\n\tm, err := cs.s.Header()\n\tif err != nil {\n\t\tif _, ok := err.(transport.ConnectionError); !ok {\n\t\t\tcs.closeTransportStream(err)\n\t\t}\n\t}\n\treturn m, err\n}\n\nfunc (cs *clientStream) Trailer() metadata.MD {\n\treturn cs.s.Trailer()\n}\n\nfunc (cs *clientStream) SendMsg(m interface{}) (err error) {\n\tif cs.tracing {\n\t\tcs.mu.Lock()\n\t\tif cs.trInfo.tr != nil {\n\t\t\tcs.trInfo.tr.LazyLog(&payload{sent: true, msg: m}, true)\n\t\t}\n\t\tcs.mu.Unlock()\n\t}\n\t// TODO Investigate how to signal the stats handling party.\n\t// generate error stats if err != nil && err != io.EOF?\n\tdefer func() {\n\t\tif err != nil {\n\t\t\tcs.finish(err)\n\t\t}\n\t\tif err == nil {\n\t\t\treturn\n\t\t}\n\t\tif err == io.EOF {\n\t\t\t// Specialize the process for server streaming. SendMsg is only called\n\t\t\t// once when creating the stream object. io.EOF needs to be skipped when\n\t\t\t// the rpc is early finished (before the stream object is created.).\n\t\t\t// TODO: It is probably better to move this into the generated code.\n\t\t\tif !cs.desc.ClientStreams && cs.desc.ServerStreams {\n\t\t\t\terr = nil\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif _, ok := err.(transport.ConnectionError); !ok {\n\t\t\tcs.closeTransportStream(err)\n\t\t}\n\t\terr = toRPCErr(err)\n\t}()\n\tvar outPayload *stats.OutPayload\n\tif cs.statsHandler != nil {\n\t\toutPayload = &stats.OutPayload{\n\t\t\tClient: true,\n\t\t}\n\t}\n\thdr, data, err := encode(cs.codec, m, cs.cp, bytes.NewBuffer([]byte{}), outPayload)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif cs.c.maxSendMessageSize == nil {\n\t\treturn Errorf(codes.Internal, \"callInfo maxSendMessageSize field uninitialized(nil)\")\n\t}\n\tif len(data) > *cs.c.maxSendMessageSize {\n\t\treturn Errorf(codes.ResourceExhausted, \"trying to send message larger than max (%d vs. %d)\", len(data), *cs.c.maxSendMessageSize)\n\t}\n\terr = cs.t.Write(cs.s, hdr, data, &transport.Options{Last: false})\n\tif err == nil && outPayload != nil {\n\t\toutPayload.SentTime = time.Now()\n\t\tcs.statsHandler.HandleRPC(cs.statsCtx, outPayload)\n\t}\n\treturn err\n}\n\nfunc (cs *clientStream) RecvMsg(m interface{}) (err error) {\n\tvar inPayload *stats.InPayload\n\tif cs.statsHandler != nil {\n\t\tinPayload = &stats.InPayload{\n\t\t\tClient: true,\n\t\t}\n\t}\n\tif cs.c.maxReceiveMessageSize == nil {\n\t\treturn Errorf(codes.Internal, \"callInfo maxReceiveMessageSize field uninitialized(nil)\")\n\t}\n\terr = recv(cs.p, cs.codec, cs.s, cs.dc, m, *cs.c.maxReceiveMessageSize, inPayload)\n\tdefer func() {\n\t\t// err != nil indicates the termination of the stream.\n\t\tif err != nil {\n\t\t\tcs.finish(err)\n\t\t}\n\t}()\n\tif err == nil {\n\t\tif cs.tracing {\n\t\t\tcs.mu.Lock()\n\t\t\tif cs.trInfo.tr != nil {\n\t\t\t\tcs.trInfo.tr.LazyLog(&payload{sent: false, msg: m}, true)\n\t\t\t}\n\t\t\tcs.mu.Unlock()\n\t\t}\n\t\tif inPayload != nil {\n\t\t\tcs.statsHandler.HandleRPC(cs.statsCtx, inPayload)\n\t\t}\n\t\tif !cs.desc.ClientStreams || cs.desc.ServerStreams {\n\t\t\treturn\n\t\t}\n\t\t// Special handling for client streaming rpc.\n\t\t// This recv expects EOF or errors, so we don't collect inPayload.\n\t\tif cs.c.maxReceiveMessageSize == nil {\n\t\t\treturn Errorf(codes.Internal, \"callInfo maxReceiveMessageSize field uninitialized(nil)\")\n\t\t}\n\t\terr = recv(cs.p, cs.codec, cs.s, cs.dc, m, *cs.c.maxReceiveMessageSize, nil)\n\t\tcs.closeTransportStream(err)\n\t\tif err == nil {\n\t\t\treturn toRPCErr(errors.New(\"grpc: client streaming protocol violation: get <nil>, want <EOF>\"))\n\t\t}\n\t\tif err == io.EOF {\n\t\t\tif se := cs.s.Status().Err(); se != nil {\n\t\t\t\treturn se\n\t\t\t}\n\t\t\tcs.finish(err)\n\t\t\treturn nil\n\t\t}\n\t\treturn toRPCErr(err)\n\t}\n\tif _, ok := err.(transport.ConnectionError); !ok {\n\t\tcs.closeTransportStream(err)\n\t}\n\tif err == io.EOF {\n\t\tif statusErr := cs.s.Status().Err(); statusErr != nil {\n\t\t\treturn statusErr\n\t\t}\n\t\t// Returns io.EOF to indicate the end of the stream.\n\t\treturn\n\t}\n\treturn toRPCErr(err)\n}\n\nfunc (cs *clientStream) CloseSend() (err error) {\n\terr = cs.t.Write(cs.s, nil, nil, &transport.Options{Last: true})\n\tdefer func() {\n\t\tif err != nil {\n\t\t\tcs.finish(err)\n\t\t}\n\t}()\n\tif err == nil || err == io.EOF {\n\t\treturn nil\n\t}\n\tif _, ok := err.(transport.ConnectionError); !ok {\n\t\tcs.closeTransportStream(err)\n\t}\n\terr = toRPCErr(err)\n\treturn\n}\n\nfunc (cs *clientStream) closeTransportStream(err error) {\n\tcs.mu.Lock()\n\tif cs.closed {\n\t\tcs.mu.Unlock()\n\t\treturn\n\t}\n\tcs.closed = true\n\tcs.mu.Unlock()\n\tcs.t.CloseStream(cs.s, err)\n}\n\nfunc (cs *clientStream) finish(err error) {\n\tcs.mu.Lock()\n\tdefer cs.mu.Unlock()\n\tif cs.finished {\n\t\treturn\n\t}\n\tcs.finished = true\n\tdefer func() {\n\t\tif cs.cancel != nil {\n\t\t\tcs.cancel()\n\t\t}\n\t}()\n\tfor _, o := range cs.opts {\n\t\to.after(cs.c)\n\t}\n\tif cs.done != nil {\n\t\tupdateRPCInfoInContext(cs.s.Context(), rpcInfo{\n\t\t\tbytesSent:     cs.s.BytesSent(),\n\t\t\tbytesReceived: cs.s.BytesReceived(),\n\t\t})\n\t\tcs.done(balancer.DoneInfo{Err: err})\n\t\tcs.done = nil\n\t}\n\tif cs.statsHandler != nil {\n\t\tend := &stats.End{\n\t\t\tClient:  true,\n\t\t\tEndTime: time.Now(),\n\t\t}\n\t\tif err != io.EOF {\n\t\t\t// end.Error is nil if the RPC finished successfully.\n\t\t\tend.Error = toRPCErr(err)\n\t\t}\n\t\tcs.statsHandler.HandleRPC(cs.statsCtx, end)\n\t}\n\tif !cs.tracing {\n\t\treturn\n\t}\n\tif cs.trInfo.tr != nil {\n\t\tif err == nil || err == io.EOF {\n\t\t\tcs.trInfo.tr.LazyPrintf(\"RPC: [OK]\")\n\t\t} else {\n\t\t\tcs.trInfo.tr.LazyPrintf(\"RPC: [%v]\", err)\n\t\t\tcs.trInfo.tr.SetError()\n\t\t}\n\t\tcs.trInfo.tr.Finish()\n\t\tcs.trInfo.tr = nil\n\t}\n}\n\n// ServerStream defines the interface a server stream has to satisfy.\ntype ServerStream interface {\n\t// SetHeader sets the header metadata. It may be called multiple times.\n\t// When call multiple times, all the provided metadata will be merged.\n\t// All the metadata will be sent out when one of the following happens:\n\t//  - ServerStream.SendHeader() is called;\n\t//  - The first response is sent out;\n\t//  - An RPC status is sent out (error or success).\n\tSetHeader(metadata.MD) error\n\t// SendHeader sends the header metadata.\n\t// The provided md and headers set by SetHeader() will be sent.\n\t// It fails if called multiple times.\n\tSendHeader(metadata.MD) error\n\t// SetTrailer sets the trailer metadata which will be sent with the RPC status.\n\t// When called more than once, all the provided metadata will be merged.\n\tSetTrailer(metadata.MD)\n\tStream\n}\n\n// serverStream implements a server side Stream.\ntype serverStream struct {\n\tt                     transport.ServerTransport\n\ts                     *transport.Stream\n\tp                     *parser\n\tcodec                 Codec\n\tcp                    Compressor\n\tdc                    Decompressor\n\tmaxReceiveMessageSize int\n\tmaxSendMessageSize    int\n\ttrInfo                *traceInfo\n\n\tstatsHandler stats.Handler\n\n\tmu sync.Mutex // protects trInfo.tr after the service handler runs.\n}\n\nfunc (ss *serverStream) Context() context.Context {\n\treturn ss.s.Context()\n}\n\nfunc (ss *serverStream) SetHeader(md metadata.MD) error {\n\tif md.Len() == 0 {\n\t\treturn nil\n\t}\n\treturn ss.s.SetHeader(md)\n}\n\nfunc (ss *serverStream) SendHeader(md metadata.MD) error {\n\treturn ss.t.WriteHeader(ss.s, md)\n}\n\nfunc (ss *serverStream) SetTrailer(md metadata.MD) {\n\tif md.Len() == 0 {\n\t\treturn\n\t}\n\tss.s.SetTrailer(md)\n\treturn\n}\n\nfunc (ss *serverStream) SendMsg(m interface{}) (err error) {\n\tdefer func() {\n\t\tif ss.trInfo != nil {\n\t\t\tss.mu.Lock()\n\t\t\tif ss.trInfo.tr != nil {\n\t\t\t\tif err == nil {\n\t\t\t\t\tss.trInfo.tr.LazyLog(&payload{sent: true, msg: m}, true)\n\t\t\t\t} else {\n\t\t\t\t\tss.trInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\t\t\tss.trInfo.tr.SetError()\n\t\t\t\t}\n\t\t\t}\n\t\t\tss.mu.Unlock()\n\t\t}\n\t\tif err != nil && err != io.EOF {\n\t\t\tst, _ := status.FromError(toRPCErr(err))\n\t\t\tss.t.WriteStatus(ss.s, st)\n\t\t}\n\t}()\n\tvar outPayload *stats.OutPayload\n\tif ss.statsHandler != nil {\n\t\toutPayload = &stats.OutPayload{}\n\t}\n\thdr, data, err := encode(ss.codec, m, ss.cp, bytes.NewBuffer([]byte{}), outPayload)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif len(data) > ss.maxSendMessageSize {\n\t\treturn Errorf(codes.ResourceExhausted, \"trying to send message larger than max (%d vs. %d)\", len(data), ss.maxSendMessageSize)\n\t}\n\tif err := ss.t.Write(ss.s, hdr, data, &transport.Options{Last: false}); err != nil {\n\t\treturn toRPCErr(err)\n\t}\n\tif outPayload != nil {\n\t\toutPayload.SentTime = time.Now()\n\t\tss.statsHandler.HandleRPC(ss.s.Context(), outPayload)\n\t}\n\treturn nil\n}\n\nfunc (ss *serverStream) RecvMsg(m interface{}) (err error) {\n\tdefer func() {\n\t\tif ss.trInfo != nil {\n\t\t\tss.mu.Lock()\n\t\t\tif ss.trInfo.tr != nil {\n\t\t\t\tif err == nil {\n\t\t\t\t\tss.trInfo.tr.LazyLog(&payload{sent: false, msg: m}, true)\n\t\t\t\t} else if err != io.EOF {\n\t\t\t\t\tss.trInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\t\t\tss.trInfo.tr.SetError()\n\t\t\t\t}\n\t\t\t}\n\t\t\tss.mu.Unlock()\n\t\t}\n\t\tif err != nil && err != io.EOF {\n\t\t\tst, _ := status.FromError(toRPCErr(err))\n\t\t\tss.t.WriteStatus(ss.s, st)\n\t\t}\n\t}()\n\tvar inPayload *stats.InPayload\n\tif ss.statsHandler != nil {\n\t\tinPayload = &stats.InPayload{}\n\t}\n\tif err := recv(ss.p, ss.codec, ss.s, ss.dc, m, ss.maxReceiveMessageSize, inPayload); err != nil {\n\t\tif err == io.EOF {\n\t\t\treturn err\n\t\t}\n\t\tif err == io.ErrUnexpectedEOF {\n\t\t\terr = Errorf(codes.Internal, io.ErrUnexpectedEOF.Error())\n\t\t}\n\t\treturn toRPCErr(err)\n\t}\n\tif inPayload != nil {\n\t\tss.statsHandler.HandleRPC(ss.s.Context(), inPayload)\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/tap/tap.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\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\n// Package tap defines the function handles which are executed on the transport\n// layer of gRPC-Go and related information. Everything here is EXPERIMENTAL.\npackage tap\n\nimport (\n\t\"golang.org/x/net/context\"\n)\n\n// Info defines the relevant information needed by the handles.\ntype Info struct {\n\t// FullMethodName is the string of grpc method (in the format of\n\t// /package.service/method).\n\tFullMethodName string\n\t// TODO: More to be added.\n}\n\n// ServerInHandle defines the function which runs before a new stream is created\n// on the server side. If it returns a non-nil error, the stream will not be\n// created and a RST_STREAM will be sent back to the client with REFUSED_STREAM.\n// The client will receive an RPC error \"code = Unavailable, desc = stream\n// terminated by RST_STREAM with error code: REFUSED_STREAM\".\n//\n// It's intended to be used in situations where you don't want to waste the\n// resources to accept the new stream (e.g. rate-limiting). And the content of\n// the error will be ignored and won't be sent back to the client. For other\n// general usages, please use interceptors.\n//\n// Note that it is executed in the per-connection I/O goroutine(s) instead of\n// per-RPC goroutine. Therefore, users should NOT have any\n// blocking/time-consuming work in this handle. Otherwise all the RPCs would\n// slow down. Also, for the same reason, this handle won't be called\n// concurrently by gRPC.\ntype ServerInHandle func(ctx context.Context, info *Info) (context.Context, error)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/trace.go",
    "content": "/*\n *\n * Copyright 2015 gRPC authors.\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\npackage grpc\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"strings\"\n\t\"time\"\n\n\t\"golang.org/x/net/trace\"\n)\n\n// EnableTracing controls whether to trace RPCs using the golang.org/x/net/trace package.\n// This should only be set before any RPCs are sent or received by this program.\nvar EnableTracing bool\n\n// methodFamily returns the trace family for the given method.\n// It turns \"/pkg.Service/GetFoo\" into \"pkg.Service\".\nfunc methodFamily(m string) string {\n\tm = strings.TrimPrefix(m, \"/\") // remove leading slash\n\tif i := strings.Index(m, \"/\"); i >= 0 {\n\t\tm = m[:i] // remove everything from second slash\n\t}\n\tif i := strings.LastIndex(m, \".\"); i >= 0 {\n\t\tm = m[i+1:] // cut down to last dotted component\n\t}\n\treturn m\n}\n\n// traceInfo contains tracing information for an RPC.\ntype traceInfo struct {\n\ttr        trace.Trace\n\tfirstLine firstLine\n}\n\n// firstLine is the first line of an RPC trace.\ntype firstLine struct {\n\tclient     bool // whether this is a client (outgoing) RPC\n\tremoteAddr net.Addr\n\tdeadline   time.Duration // may be zero\n}\n\nfunc (f *firstLine) String() string {\n\tvar line bytes.Buffer\n\tio.WriteString(&line, \"RPC: \")\n\tif f.client {\n\t\tio.WriteString(&line, \"to\")\n\t} else {\n\t\tio.WriteString(&line, \"from\")\n\t}\n\tfmt.Fprintf(&line, \" %v deadline:\", f.remoteAddr)\n\tif f.deadline != 0 {\n\t\tfmt.Fprint(&line, f.deadline)\n\t} else {\n\t\tio.WriteString(&line, \"none\")\n\t}\n\treturn line.String()\n}\n\nconst truncateSize = 100\n\nfunc truncate(x string, l int) string {\n\tif l > len(x) {\n\t\treturn x\n\t}\n\treturn x[:l]\n}\n\n// payload represents an RPC request or response payload.\ntype payload struct {\n\tsent bool        // whether this is an outgoing payload\n\tmsg  interface{} // e.g. a proto.Message\n\t// TODO(dsymonds): add stringifying info to codec, and limit how much we hold here?\n}\n\nfunc (p payload) String() string {\n\tif p.sent {\n\t\treturn truncate(fmt.Sprintf(\"sent: %v\", p.msg), truncateSize)\n\t}\n\treturn truncate(fmt.Sprintf(\"recv: %v\", p.msg), truncateSize)\n}\n\ntype fmtStringer struct {\n\tformat string\n\ta      []interface{}\n}\n\nfunc (f *fmtStringer) String() string {\n\treturn fmt.Sprintf(f.format, f.a...)\n}\n\ntype stringer string\n\nfunc (s stringer) String() string { return string(s) }\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/transport/bdp_estimator.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\npackage transport\n\nimport (\n\t\"sync\"\n\t\"time\"\n)\n\nconst (\n\t// bdpLimit is the maximum value the flow control windows\n\t// will be increased to.\n\tbdpLimit = (1 << 20) * 4\n\t// alpha is a constant factor used to keep a moving average\n\t// of RTTs.\n\talpha = 0.9\n\t// If the current bdp sample is greater than or equal to\n\t// our beta * our estimated bdp and the current bandwidth\n\t// sample is the maximum bandwidth observed so far, we\n\t// increase our bbp estimate by a factor of gamma.\n\tbeta = 0.66\n\t// To put our bdp to be smaller than or equal to twice the real BDP,\n\t// we should multiply our current sample with 4/3, however to round things out\n\t// we use 2 as the multiplication factor.\n\tgamma = 2\n)\n\nvar (\n\t// Adding arbitrary data to ping so that its ack can be\n\t// identified.\n\t// Easter-egg: what does the ping message say?\n\tbdpPing = &ping{data: [8]byte{2, 4, 16, 16, 9, 14, 7, 7}}\n)\n\ntype bdpEstimator struct {\n\t// sentAt is the time when the ping was sent.\n\tsentAt time.Time\n\n\tmu sync.Mutex\n\t// bdp is the current bdp estimate.\n\tbdp uint32\n\t// sample is the number of bytes received in one measurement cycle.\n\tsample uint32\n\t// bwMax is the maximum bandwidth noted so far (bytes/sec).\n\tbwMax float64\n\t// bool to keep track of the beginning of a new measurement cycle.\n\tisSent bool\n\t// Callback to update the window sizes.\n\tupdateFlowControl func(n uint32)\n\t// sampleCount is the number of samples taken so far.\n\tsampleCount uint64\n\t// round trip time (seconds)\n\trtt float64\n}\n\n// timesnap registers the time bdp ping was sent out so that\n// network rtt can be calculated when its ack is received.\n// It is called (by controller) when the bdpPing is\n// being written on the wire.\nfunc (b *bdpEstimator) timesnap(d [8]byte) {\n\tif bdpPing.data != d {\n\t\treturn\n\t}\n\tb.sentAt = time.Now()\n}\n\n// add adds bytes to the current sample for calculating bdp.\n// It returns true only if a ping must be sent. This can be used\n// by the caller (handleData) to make decision about batching\n// a window update with it.\nfunc (b *bdpEstimator) add(n uint32) bool {\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\tif b.bdp == bdpLimit {\n\t\treturn false\n\t}\n\tif !b.isSent {\n\t\tb.isSent = true\n\t\tb.sample = n\n\t\tb.sentAt = time.Time{}\n\t\tb.sampleCount++\n\t\treturn true\n\t}\n\tb.sample += n\n\treturn false\n}\n\n// calculate is called when an ack for a bdp ping is received.\n// Here we calculate the current bdp and bandwidth sample and\n// decide if the flow control windows should go up.\nfunc (b *bdpEstimator) calculate(d [8]byte) {\n\t// Check if the ping acked for was the bdp ping.\n\tif bdpPing.data != d {\n\t\treturn\n\t}\n\tb.mu.Lock()\n\trttSample := time.Since(b.sentAt).Seconds()\n\tif b.sampleCount < 10 {\n\t\t// Bootstrap rtt with an average of first 10 rtt samples.\n\t\tb.rtt += (rttSample - b.rtt) / float64(b.sampleCount)\n\t} else {\n\t\t// Heed to the recent past more.\n\t\tb.rtt += (rttSample - b.rtt) * float64(alpha)\n\t}\n\tb.isSent = false\n\t// The number of bytes accumulated so far in the sample is smaller\n\t// than or equal to 1.5 times the real BDP on a saturated connection.\n\tbwCurrent := float64(b.sample) / (b.rtt * float64(1.5))\n\tif bwCurrent > b.bwMax {\n\t\tb.bwMax = bwCurrent\n\t}\n\t// If the current sample (which is smaller than or equal to the 1.5 times the real BDP) is\n\t// greater than or equal to 2/3rd our perceived bdp AND this is the maximum bandwidth seen so far, we\n\t// should update our perception of the network BDP.\n\tif float64(b.sample) >= beta*float64(b.bdp) && bwCurrent == b.bwMax && b.bdp != bdpLimit {\n\t\tsampleFloat := float64(b.sample)\n\t\tb.bdp = uint32(gamma * sampleFloat)\n\t\tif b.bdp > bdpLimit {\n\t\t\tb.bdp = bdpLimit\n\t\t}\n\t\tbdp := b.bdp\n\t\tb.mu.Unlock()\n\t\tb.updateFlowControl(bdp)\n\t\treturn\n\t}\n\tb.mu.Unlock()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/transport/control.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\npackage transport\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"golang.org/x/net/http2\"\n\t\"golang.org/x/net/http2/hpack\"\n)\n\nconst (\n\t// The default value of flow control window size in HTTP2 spec.\n\tdefaultWindowSize = 65535\n\t// The initial window size for flow control.\n\tinitialWindowSize             = defaultWindowSize // for an RPC\n\tinfinity                      = time.Duration(math.MaxInt64)\n\tdefaultClientKeepaliveTime    = infinity\n\tdefaultClientKeepaliveTimeout = time.Duration(20 * time.Second)\n\tdefaultMaxStreamsClient       = 100\n\tdefaultMaxConnectionIdle      = infinity\n\tdefaultMaxConnectionAge       = infinity\n\tdefaultMaxConnectionAgeGrace  = infinity\n\tdefaultServerKeepaliveTime    = time.Duration(2 * time.Hour)\n\tdefaultServerKeepaliveTimeout = time.Duration(20 * time.Second)\n\tdefaultKeepalivePolicyMinTime = time.Duration(5 * time.Minute)\n\t// max window limit set by HTTP2 Specs.\n\tmaxWindowSize = math.MaxInt32\n\t// defaultLocalSendQuota sets is default value for number of data\n\t// bytes that each stream can schedule before some of it being\n\t// flushed out.\n\tdefaultLocalSendQuota = 64 * 1024\n)\n\n// The following defines various control items which could flow through\n// the control buffer of transport. They represent different aspects of\n// control tasks, e.g., flow control, settings, streaming resetting, etc.\n\ntype headerFrame struct {\n\tstreamID  uint32\n\thf        []hpack.HeaderField\n\tendStream bool\n}\n\nfunc (*headerFrame) item() {}\n\ntype continuationFrame struct {\n\tstreamID            uint32\n\tendHeaders          bool\n\theaderBlockFragment []byte\n}\n\ntype dataFrame struct {\n\tstreamID  uint32\n\tendStream bool\n\td         []byte\n\tf         func()\n}\n\nfunc (*dataFrame) item() {}\n\nfunc (*continuationFrame) item() {}\n\ntype windowUpdate struct {\n\tstreamID  uint32\n\tincrement uint32\n}\n\nfunc (*windowUpdate) item() {}\n\ntype settings struct {\n\tack bool\n\tss  []http2.Setting\n}\n\nfunc (*settings) item() {}\n\ntype resetStream struct {\n\tstreamID uint32\n\tcode     http2.ErrCode\n}\n\nfunc (*resetStream) item() {}\n\ntype goAway struct {\n\tcode      http2.ErrCode\n\tdebugData []byte\n\theadsUp   bool\n\tcloseConn bool\n}\n\nfunc (*goAway) item() {}\n\ntype flushIO struct {\n}\n\nfunc (*flushIO) item() {}\n\ntype ping struct {\n\tack  bool\n\tdata [8]byte\n}\n\nfunc (*ping) item() {}\n\n// quotaPool is a pool which accumulates the quota and sends it to acquire()\n// when it is available.\ntype quotaPool struct {\n\tc chan int\n\n\tmu      sync.Mutex\n\tversion uint32\n\tquota   int\n}\n\n// newQuotaPool creates a quotaPool which has quota q available to consume.\nfunc newQuotaPool(q int) *quotaPool {\n\tqb := &quotaPool{\n\t\tc: make(chan int, 1),\n\t}\n\tif q > 0 {\n\t\tqb.c <- q\n\t} else {\n\t\tqb.quota = q\n\t}\n\treturn qb\n}\n\n// add cancels the pending quota sent on acquired, incremented by v and sends\n// it back on acquire.\nfunc (qb *quotaPool) add(v int) {\n\tqb.mu.Lock()\n\tdefer qb.mu.Unlock()\n\tqb.lockedAdd(v)\n}\n\nfunc (qb *quotaPool) lockedAdd(v int) {\n\tselect {\n\tcase n := <-qb.c:\n\t\tqb.quota += n\n\tdefault:\n\t}\n\tqb.quota += v\n\tif qb.quota <= 0 {\n\t\treturn\n\t}\n\t// After the pool has been created, this is the only place that sends on\n\t// the channel. Since mu is held at this point and any quota that was sent\n\t// on the channel has been retrieved, we know that this code will always\n\t// place any positive quota value on the channel.\n\tselect {\n\tcase qb.c <- qb.quota:\n\t\tqb.quota = 0\n\tdefault:\n\t}\n}\n\nfunc (qb *quotaPool) addAndUpdate(v int) {\n\tqb.mu.Lock()\n\tdefer qb.mu.Unlock()\n\tqb.lockedAdd(v)\n\t// Update the version only after having added to the quota\n\t// so that if acquireWithVesrion sees the new vesrion it is\n\t// guaranteed to have seen the updated quota.\n\t// Also, still keep this inside of the lock, so that when\n\t// compareAndExecute is processing, this function doesn't\n\t// get executed partially (quota gets updated but the version\n\t// doesn't).\n\tatomic.AddUint32(&(qb.version), 1)\n}\n\nfunc (qb *quotaPool) acquireWithVersion() (<-chan int, uint32) {\n\treturn qb.c, atomic.LoadUint32(&(qb.version))\n}\n\nfunc (qb *quotaPool) compareAndExecute(version uint32, success, failure func()) bool {\n\tqb.mu.Lock()\n\tdefer qb.mu.Unlock()\n\tif version == atomic.LoadUint32(&(qb.version)) {\n\t\tsuccess()\n\t\treturn true\n\t}\n\tfailure()\n\treturn false\n}\n\n// acquire returns the channel on which available quota amounts are sent.\nfunc (qb *quotaPool) acquire() <-chan int {\n\treturn qb.c\n}\n\n// inFlow deals with inbound flow control\ntype inFlow struct {\n\tmu sync.Mutex\n\t// The inbound flow control limit for pending data.\n\tlimit uint32\n\t// pendingData is the overall data which have been received but not been\n\t// consumed by applications.\n\tpendingData uint32\n\t// The amount of data the application has consumed but grpc has not sent\n\t// window update for them. Used to reduce window update frequency.\n\tpendingUpdate uint32\n\t// delta is the extra window update given by receiver when an application\n\t// is reading data bigger in size than the inFlow limit.\n\tdelta uint32\n}\n\n// newLimit updates the inflow window to a new value n.\n// It assumes that n is always greater than the old limit.\nfunc (f *inFlow) newLimit(n uint32) uint32 {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\td := n - f.limit\n\tf.limit = n\n\treturn d\n}\n\nfunc (f *inFlow) maybeAdjust(n uint32) uint32 {\n\tif n > uint32(math.MaxInt32) {\n\t\tn = uint32(math.MaxInt32)\n\t}\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\t// estSenderQuota is the receiver's view of the maximum number of bytes the sender\n\t// can send without a window update.\n\testSenderQuota := int32(f.limit - (f.pendingData + f.pendingUpdate))\n\t// estUntransmittedData is the maximum number of bytes the sends might not have put\n\t// on the wire yet. A value of 0 or less means that we have already received all or\n\t// more bytes than the application is requesting to read.\n\testUntransmittedData := int32(n - f.pendingData) // Casting into int32 since it could be negative.\n\t// This implies that unless we send a window update, the sender won't be able to send all the bytes\n\t// for this message. Therefore we must send an update over the limit since there's an active read\n\t// request from the application.\n\tif estUntransmittedData > estSenderQuota {\n\t\t// Sender's window shouldn't go more than 2^31 - 1 as speecified in the HTTP spec.\n\t\tif f.limit+n > maxWindowSize {\n\t\t\tf.delta = maxWindowSize - f.limit\n\t\t} else {\n\t\t\t// Send a window update for the whole message and not just the difference between\n\t\t\t// estUntransmittedData and estSenderQuota. This will be helpful in case the message\n\t\t\t// is padded; We will fallback on the current available window(at least a 1/4th of the limit).\n\t\t\tf.delta = n\n\t\t}\n\t\treturn f.delta\n\t}\n\treturn 0\n}\n\n// onData is invoked when some data frame is received. It updates pendingData.\nfunc (f *inFlow) onData(n uint32) error {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\tf.pendingData += n\n\tif f.pendingData+f.pendingUpdate > f.limit+f.delta {\n\t\treturn fmt.Errorf(\"received %d-bytes data exceeding the limit %d bytes\", f.pendingData+f.pendingUpdate, f.limit)\n\t}\n\treturn nil\n}\n\n// onRead is invoked when the application reads the data. It returns the window size\n// to be sent to the peer.\nfunc (f *inFlow) onRead(n uint32) uint32 {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\tif f.pendingData == 0 {\n\t\treturn 0\n\t}\n\tf.pendingData -= n\n\tif n > f.delta {\n\t\tn -= f.delta\n\t\tf.delta = 0\n\t} else {\n\t\tf.delta -= n\n\t\tn = 0\n\t}\n\tf.pendingUpdate += n\n\tif f.pendingUpdate >= f.limit/4 {\n\t\twu := f.pendingUpdate\n\t\tf.pendingUpdate = 0\n\t\treturn wu\n\t}\n\treturn 0\n}\n\nfunc (f *inFlow) resetPendingUpdate() uint32 {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\tn := f.pendingUpdate\n\tf.pendingUpdate = 0\n\treturn n\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/transport/handler_server.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\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\n// This file is the implementation of a gRPC server using HTTP/2 which\n// uses the standard Go http2 Server implementation (via the\n// http.Handler interface), rather than speaking low-level HTTP/2\n// frames itself. It is the implementation of *grpc.Server.ServeHTTP.\n\npackage transport\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"net/http\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/http2\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/peer\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// NewServerHandlerTransport returns a ServerTransport handling gRPC\n// from inside an http.Handler. It requires that the http Server\n// supports HTTP/2.\nfunc NewServerHandlerTransport(w http.ResponseWriter, r *http.Request) (ServerTransport, error) {\n\tif r.ProtoMajor != 2 {\n\t\treturn nil, errors.New(\"gRPC requires HTTP/2\")\n\t}\n\tif r.Method != \"POST\" {\n\t\treturn nil, errors.New(\"invalid gRPC request method\")\n\t}\n\tif !validContentType(r.Header.Get(\"Content-Type\")) {\n\t\treturn nil, errors.New(\"invalid gRPC request content-type\")\n\t}\n\tif _, ok := w.(http.Flusher); !ok {\n\t\treturn nil, errors.New(\"gRPC requires a ResponseWriter supporting http.Flusher\")\n\t}\n\tif _, ok := w.(http.CloseNotifier); !ok {\n\t\treturn nil, errors.New(\"gRPC requires a ResponseWriter supporting http.CloseNotifier\")\n\t}\n\n\tst := &serverHandlerTransport{\n\t\trw:       w,\n\t\treq:      r,\n\t\tclosedCh: make(chan struct{}),\n\t\twrites:   make(chan func()),\n\t}\n\n\tif v := r.Header.Get(\"grpc-timeout\"); v != \"\" {\n\t\tto, err := decodeTimeout(v)\n\t\tif err != nil {\n\t\t\treturn nil, streamErrorf(codes.Internal, \"malformed time-out: %v\", err)\n\t\t}\n\t\tst.timeoutSet = true\n\t\tst.timeout = to\n\t}\n\n\tvar metakv []string\n\tif r.Host != \"\" {\n\t\tmetakv = append(metakv, \":authority\", r.Host)\n\t}\n\tfor k, vv := range r.Header {\n\t\tk = strings.ToLower(k)\n\t\tif isReservedHeader(k) && !isWhitelistedPseudoHeader(k) {\n\t\t\tcontinue\n\t\t}\n\t\tfor _, v := range vv {\n\t\t\tv, err := decodeMetadataHeader(k, v)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, streamErrorf(codes.InvalidArgument, \"malformed binary metadata: %v\", err)\n\t\t\t}\n\t\t\tmetakv = append(metakv, k, v)\n\t\t}\n\t}\n\tst.headerMD = metadata.Pairs(metakv...)\n\n\treturn st, nil\n}\n\n// serverHandlerTransport is an implementation of ServerTransport\n// which replies to exactly one gRPC request (exactly one HTTP request),\n// using the net/http.Handler interface. This http.Handler is guaranteed\n// at this point to be speaking over HTTP/2, so it's able to speak valid\n// gRPC.\ntype serverHandlerTransport struct {\n\trw               http.ResponseWriter\n\treq              *http.Request\n\ttimeoutSet       bool\n\ttimeout          time.Duration\n\tdidCommonHeaders bool\n\n\theaderMD metadata.MD\n\n\tcloseOnce sync.Once\n\tclosedCh  chan struct{} // closed on Close\n\n\t// writes is a channel of code to run serialized in the\n\t// ServeHTTP (HandleStreams) goroutine. The channel is closed\n\t// when WriteStatus is called.\n\twrites chan func()\n\n\t// block concurrent WriteStatus calls\n\t// e.g. grpc/(*serverStream).SendMsg/RecvMsg\n\twriteStatusMu sync.Mutex\n}\n\nfunc (ht *serverHandlerTransport) Close() error {\n\tht.closeOnce.Do(ht.closeCloseChanOnce)\n\treturn nil\n}\n\nfunc (ht *serverHandlerTransport) closeCloseChanOnce() { close(ht.closedCh) }\n\nfunc (ht *serverHandlerTransport) RemoteAddr() net.Addr { return strAddr(ht.req.RemoteAddr) }\n\n// strAddr is a net.Addr backed by either a TCP \"ip:port\" string, or\n// the empty string if unknown.\ntype strAddr string\n\nfunc (a strAddr) Network() string {\n\tif a != \"\" {\n\t\t// Per the documentation on net/http.Request.RemoteAddr, if this is\n\t\t// set, it's set to the IP:port of the peer (hence, TCP):\n\t\t// https://golang.org/pkg/net/http/#Request\n\t\t//\n\t\t// If we want to support Unix sockets later, we can\n\t\t// add our own grpc-specific convention within the\n\t\t// grpc codebase to set RemoteAddr to a different\n\t\t// format, or probably better: we can attach it to the\n\t\t// context and use that from serverHandlerTransport.RemoteAddr.\n\t\treturn \"tcp\"\n\t}\n\treturn \"\"\n}\n\nfunc (a strAddr) String() string { return string(a) }\n\n// do runs fn in the ServeHTTP goroutine.\nfunc (ht *serverHandlerTransport) do(fn func()) error {\n\t// Avoid a panic writing to closed channel. Imperfect but maybe good enough.\n\tselect {\n\tcase <-ht.closedCh:\n\t\treturn ErrConnClosing\n\tdefault:\n\t\tselect {\n\t\tcase ht.writes <- fn:\n\t\t\treturn nil\n\t\tcase <-ht.closedCh:\n\t\t\treturn ErrConnClosing\n\t\t}\n\t}\n}\n\nfunc (ht *serverHandlerTransport) WriteStatus(s *Stream, st *status.Status) error {\n\tht.writeStatusMu.Lock()\n\tdefer ht.writeStatusMu.Unlock()\n\n\terr := ht.do(func() {\n\t\tht.writeCommonHeaders(s)\n\n\t\t// And flush, in case no header or body has been sent yet.\n\t\t// This forces a separation of headers and trailers if this is the\n\t\t// first call (for example, in end2end tests's TestNoService).\n\t\tht.rw.(http.Flusher).Flush()\n\n\t\th := ht.rw.Header()\n\t\th.Set(\"Grpc-Status\", fmt.Sprintf(\"%d\", st.Code()))\n\t\tif m := st.Message(); m != \"\" {\n\t\t\th.Set(\"Grpc-Message\", encodeGrpcMessage(m))\n\t\t}\n\n\t\tif p := st.Proto(); p != nil && len(p.Details) > 0 {\n\t\t\tstBytes, err := proto.Marshal(p)\n\t\t\tif err != nil {\n\t\t\t\t// TODO: return error instead, when callers are able to handle it.\n\t\t\t\tpanic(err)\n\t\t\t}\n\n\t\t\th.Set(\"Grpc-Status-Details-Bin\", encodeBinHeader(stBytes))\n\t\t}\n\n\t\tif md := s.Trailer(); len(md) > 0 {\n\t\t\tfor k, vv := range md {\n\t\t\t\t// Clients don't tolerate reading restricted headers after some non restricted ones were sent.\n\t\t\t\tif isReservedHeader(k) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfor _, v := range vv {\n\t\t\t\t\t// http2 ResponseWriter mechanism to send undeclared Trailers after\n\t\t\t\t\t// the headers have possibly been written.\n\t\t\t\t\th.Add(http2.TrailerPrefix+k, encodeMetadataHeader(k, v))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t})\n\n\tif err == nil { // transport has not been closed\n\t\tht.Close()\n\t\tclose(ht.writes)\n\t}\n\treturn err\n}\n\n// writeCommonHeaders sets common headers on the first write\n// call (Write, WriteHeader, or WriteStatus).\nfunc (ht *serverHandlerTransport) writeCommonHeaders(s *Stream) {\n\tif ht.didCommonHeaders {\n\t\treturn\n\t}\n\tht.didCommonHeaders = true\n\n\th := ht.rw.Header()\n\th[\"Date\"] = nil // suppress Date to make tests happy; TODO: restore\n\th.Set(\"Content-Type\", \"application/grpc\")\n\n\t// Predeclare trailers we'll set later in WriteStatus (after the body).\n\t// This is a SHOULD in the HTTP RFC, and the way you add (known)\n\t// Trailers per the net/http.ResponseWriter contract.\n\t// See https://golang.org/pkg/net/http/#ResponseWriter\n\t// and https://golang.org/pkg/net/http/#example_ResponseWriter_trailers\n\th.Add(\"Trailer\", \"Grpc-Status\")\n\th.Add(\"Trailer\", \"Grpc-Message\")\n\th.Add(\"Trailer\", \"Grpc-Status-Details-Bin\")\n\n\tif s.sendCompress != \"\" {\n\t\th.Set(\"Grpc-Encoding\", s.sendCompress)\n\t}\n}\n\nfunc (ht *serverHandlerTransport) Write(s *Stream, hdr []byte, data []byte, opts *Options) error {\n\treturn ht.do(func() {\n\t\tht.writeCommonHeaders(s)\n\t\tht.rw.Write(hdr)\n\t\tht.rw.Write(data)\n\t\tif !opts.Delay {\n\t\t\tht.rw.(http.Flusher).Flush()\n\t\t}\n\t})\n}\n\nfunc (ht *serverHandlerTransport) WriteHeader(s *Stream, md metadata.MD) error {\n\treturn ht.do(func() {\n\t\tht.writeCommonHeaders(s)\n\t\th := ht.rw.Header()\n\t\tfor k, vv := range md {\n\t\t\t// Clients don't tolerate reading restricted headers after some non restricted ones were sent.\n\t\t\tif isReservedHeader(k) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor _, v := range vv {\n\t\t\t\tv = encodeMetadataHeader(k, v)\n\t\t\t\th.Add(k, v)\n\t\t\t}\n\t\t}\n\t\tht.rw.WriteHeader(200)\n\t\tht.rw.(http.Flusher).Flush()\n\t})\n}\n\nfunc (ht *serverHandlerTransport) HandleStreams(startStream func(*Stream), traceCtx func(context.Context, string) context.Context) {\n\t// With this transport type there will be exactly 1 stream: this HTTP request.\n\n\tvar ctx context.Context\n\tvar cancel context.CancelFunc\n\tif ht.timeoutSet {\n\t\tctx, cancel = context.WithTimeout(context.Background(), ht.timeout)\n\t} else {\n\t\tctx, cancel = context.WithCancel(context.Background())\n\t}\n\n\t// requestOver is closed when either the request's context is done\n\t// or the status has been written via WriteStatus.\n\trequestOver := make(chan struct{})\n\n\t// clientGone receives a single value if peer is gone, either\n\t// because the underlying connection is dead or because the\n\t// peer sends an http2 RST_STREAM.\n\tclientGone := ht.rw.(http.CloseNotifier).CloseNotify()\n\tgo func() {\n\t\tselect {\n\t\tcase <-requestOver:\n\t\t\treturn\n\t\tcase <-ht.closedCh:\n\t\tcase <-clientGone:\n\t\t}\n\t\tcancel()\n\t}()\n\n\treq := ht.req\n\n\ts := &Stream{\n\t\tid:           0, // irrelevant\n\t\trequestRead:  func(int) {},\n\t\tcancel:       cancel,\n\t\tbuf:          newRecvBuffer(),\n\t\tst:           ht,\n\t\tmethod:       req.URL.Path,\n\t\trecvCompress: req.Header.Get(\"grpc-encoding\"),\n\t}\n\tpr := &peer.Peer{\n\t\tAddr: ht.RemoteAddr(),\n\t}\n\tif req.TLS != nil {\n\t\tpr.AuthInfo = credentials.TLSInfo{State: *req.TLS}\n\t}\n\tctx = metadata.NewIncomingContext(ctx, ht.headerMD)\n\tctx = peer.NewContext(ctx, pr)\n\ts.ctx = newContextWithStream(ctx, s)\n\ts.trReader = &transportReader{\n\t\treader:        &recvBufferReader{ctx: s.ctx, recv: s.buf},\n\t\twindowHandler: func(int) {},\n\t}\n\n\t// readerDone is closed when the Body.Read-ing goroutine exits.\n\treaderDone := make(chan struct{})\n\tgo func() {\n\t\tdefer close(readerDone)\n\n\t\t// TODO: minimize garbage, optimize recvBuffer code/ownership\n\t\tconst readSize = 8196\n\t\tfor buf := make([]byte, readSize); ; {\n\t\t\tn, err := req.Body.Read(buf)\n\t\t\tif n > 0 {\n\t\t\t\ts.buf.put(recvMsg{data: buf[:n:n]})\n\t\t\t\tbuf = buf[n:]\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\ts.buf.put(recvMsg{err: mapRecvMsgError(err)})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif len(buf) == 0 {\n\t\t\t\tbuf = make([]byte, readSize)\n\t\t\t}\n\t\t}\n\t}()\n\n\t// startStream is provided by the *grpc.Server's serveStreams.\n\t// It starts a goroutine serving s and exits immediately.\n\t// The goroutine that is started is the one that then calls\n\t// into ht, calling WriteHeader, Write, WriteStatus, Close, etc.\n\tstartStream(s)\n\n\tht.runStream()\n\tclose(requestOver)\n\n\t// Wait for reading goroutine to finish.\n\treq.Body.Close()\n\t<-readerDone\n}\n\nfunc (ht *serverHandlerTransport) runStream() {\n\tfor {\n\t\tselect {\n\t\tcase fn, ok := <-ht.writes:\n\t\t\tif !ok {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfn()\n\t\tcase <-ht.closedCh:\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (ht *serverHandlerTransport) Drain() {\n\tpanic(\"Drain() is not implemented\")\n}\n\n// mapRecvMsgError returns the non-nil err into the appropriate\n// error value as expected by callers of *grpc.parser.recvMsg.\n// In particular, in can only be:\n//   * io.EOF\n//   * io.ErrUnexpectedEOF\n//   * of type transport.ConnectionError\n//   * of type transport.StreamError\nfunc mapRecvMsgError(err error) error {\n\tif err == io.EOF || err == io.ErrUnexpectedEOF {\n\t\treturn err\n\t}\n\tif se, ok := err.(http2.StreamError); ok {\n\t\tif code, ok := http2ErrConvTab[se.Code]; ok {\n\t\t\treturn StreamError{\n\t\t\t\tCode: code,\n\t\t\t\tDesc: se.Error(),\n\t\t\t}\n\t\t}\n\t}\n\treturn connectionErrorf(true, err, err.Error())\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/transport/http2_client.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\npackage transport\n\nimport (\n\t\"bytes\"\n\t\"io\"\n\t\"math\"\n\t\"net\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/http2\"\n\t\"golang.org/x/net/http2/hpack\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/keepalive\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/peer\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// http2Client implements the ClientTransport interface with HTTP2.\ntype http2Client struct {\n\tctx        context.Context\n\tcancel     context.CancelFunc\n\ttarget     string // server name/addr\n\tuserAgent  string\n\tmd         interface{}\n\tconn       net.Conn // underlying communication channel\n\tremoteAddr net.Addr\n\tlocalAddr  net.Addr\n\tauthInfo   credentials.AuthInfo // auth info about the connection\n\tnextID     uint32               // the next stream ID to be used\n\n\t// goAway is closed to notify the upper layer (i.e., addrConn.transportMonitor)\n\t// that the server sent GoAway on this transport.\n\tgoAway chan struct{}\n\t// awakenKeepalive is used to wake up keepalive when after it has gone dormant.\n\tawakenKeepalive chan struct{}\n\n\tframer *framer\n\thBuf   *bytes.Buffer  // the buffer for HPACK encoding\n\thEnc   *hpack.Encoder // HPACK encoder\n\n\t// controlBuf delivers all the control related tasks (e.g., window\n\t// updates, reset streams, and various settings) to the controller.\n\tcontrolBuf *controlBuffer\n\tfc         *inFlow\n\t// sendQuotaPool provides flow control to outbound message.\n\tsendQuotaPool *quotaPool\n\t// streamsQuota limits the max number of concurrent streams.\n\tstreamsQuota *quotaPool\n\n\t// The scheme used: https if TLS is on, http otherwise.\n\tscheme string\n\n\tisSecure bool\n\n\tcreds []credentials.PerRPCCredentials\n\n\t// Boolean to keep track of reading activity on transport.\n\t// 1 is true and 0 is false.\n\tactivity uint32 // Accessed atomically.\n\tkp       keepalive.ClientParameters\n\n\tstatsHandler stats.Handler\n\n\tinitialWindowSize int32\n\n\tbdpEst          *bdpEstimator\n\toutQuotaVersion uint32\n\n\tmu            sync.Mutex     // guard the following variables\n\tstate         transportState // the state of underlying connection\n\tactiveStreams map[uint32]*Stream\n\t// The max number of concurrent streams\n\tmaxStreams int\n\t// the per-stream outbound flow control window size set by the peer.\n\tstreamSendQuota uint32\n\t// prevGoAway ID records the Last-Stream-ID in the previous GOAway frame.\n\tprevGoAwayID uint32\n\t// goAwayReason records the http2.ErrCode and debug data received with the\n\t// GoAway frame.\n\tgoAwayReason GoAwayReason\n}\n\nfunc dial(ctx context.Context, fn func(context.Context, string) (net.Conn, error), addr string) (net.Conn, error) {\n\tif fn != nil {\n\t\treturn fn(ctx, addr)\n\t}\n\treturn (&net.Dialer{}).DialContext(ctx, \"tcp\", addr)\n}\n\nfunc isTemporary(err error) bool {\n\tswitch err {\n\tcase io.EOF:\n\t\t// Connection closures may be resolved upon retry, and are thus\n\t\t// treated as temporary.\n\t\treturn true\n\tcase context.DeadlineExceeded:\n\t\t// In Go 1.7, context.DeadlineExceeded implements Timeout(), and this\n\t\t// special case is not needed. Until then, we need to keep this\n\t\t// clause.\n\t\treturn true\n\t}\n\n\tswitch err := err.(type) {\n\tcase interface {\n\t\tTemporary() bool\n\t}:\n\t\treturn err.Temporary()\n\tcase interface {\n\t\tTimeout() bool\n\t}:\n\t\t// Timeouts may be resolved upon retry, and are thus treated as\n\t\t// temporary.\n\t\treturn err.Timeout()\n\t}\n\treturn false\n}\n\n// newHTTP2Client constructs a connected ClientTransport to addr based on HTTP2\n// and starts to receive messages on it. Non-nil error returns if construction\n// fails.\nfunc newHTTP2Client(ctx context.Context, addr TargetInfo, opts ConnectOptions, timeout time.Duration) (_ ClientTransport, err error) {\n\tscheme := \"http\"\n\tctx, cancel := context.WithCancel(ctx)\n\tconnectCtx, connectCancel := context.WithTimeout(ctx, timeout)\n\tdefer func() {\n\t\tconnectCancel()\n\t\tif err != nil {\n\t\t\tcancel()\n\t\t}\n\t}()\n\n\tconn, err := dial(connectCtx, opts.Dialer, addr.Addr)\n\tif err != nil {\n\t\tif opts.FailOnNonTempDialError {\n\t\t\treturn nil, connectionErrorf(isTemporary(err), err, \"transport: error while dialing: %v\", err)\n\t\t}\n\t\treturn nil, connectionErrorf(true, err, \"transport: Error while dialing %v\", err)\n\t}\n\t// Any further errors will close the underlying connection\n\tdefer func(conn net.Conn) {\n\t\tif err != nil {\n\t\t\tconn.Close()\n\t\t}\n\t}(conn)\n\tvar (\n\t\tisSecure bool\n\t\tauthInfo credentials.AuthInfo\n\t)\n\tif creds := opts.TransportCredentials; creds != nil {\n\t\tscheme = \"https\"\n\t\tconn, authInfo, err = creds.ClientHandshake(connectCtx, addr.Addr, conn)\n\t\tif err != nil {\n\t\t\t// Credentials handshake errors are typically considered permanent\n\t\t\t// to avoid retrying on e.g. bad certificates.\n\t\t\ttemp := isTemporary(err)\n\t\t\treturn nil, connectionErrorf(temp, err, \"transport: authentication handshake failed: %v\", err)\n\t\t}\n\t\tisSecure = true\n\t}\n\tkp := opts.KeepaliveParams\n\t// Validate keepalive parameters.\n\tif kp.Time == 0 {\n\t\tkp.Time = defaultClientKeepaliveTime\n\t}\n\tif kp.Timeout == 0 {\n\t\tkp.Timeout = defaultClientKeepaliveTimeout\n\t}\n\tdynamicWindow := true\n\ticwz := int32(initialWindowSize)\n\tif opts.InitialConnWindowSize >= defaultWindowSize {\n\t\ticwz = opts.InitialConnWindowSize\n\t\tdynamicWindow = false\n\t}\n\tvar buf bytes.Buffer\n\twriteBufSize := defaultWriteBufSize\n\tif opts.WriteBufferSize > 0 {\n\t\twriteBufSize = opts.WriteBufferSize\n\t}\n\treadBufSize := defaultReadBufSize\n\tif opts.ReadBufferSize > 0 {\n\t\treadBufSize = opts.ReadBufferSize\n\t}\n\tt := &http2Client{\n\t\tctx:        ctx,\n\t\tcancel:     cancel,\n\t\ttarget:     addr.Addr,\n\t\tuserAgent:  opts.UserAgent,\n\t\tmd:         addr.Metadata,\n\t\tconn:       conn,\n\t\tremoteAddr: conn.RemoteAddr(),\n\t\tlocalAddr:  conn.LocalAddr(),\n\t\tauthInfo:   authInfo,\n\t\t// The client initiated stream id is odd starting from 1.\n\t\tnextID:            1,\n\t\tgoAway:            make(chan struct{}),\n\t\tawakenKeepalive:   make(chan struct{}, 1),\n\t\thBuf:              &buf,\n\t\thEnc:              hpack.NewEncoder(&buf),\n\t\tframer:            newFramer(conn, writeBufSize, readBufSize),\n\t\tcontrolBuf:        newControlBuffer(),\n\t\tfc:                &inFlow{limit: uint32(icwz)},\n\t\tsendQuotaPool:     newQuotaPool(defaultWindowSize),\n\t\tscheme:            scheme,\n\t\tstate:             reachable,\n\t\tactiveStreams:     make(map[uint32]*Stream),\n\t\tisSecure:          isSecure,\n\t\tcreds:             opts.PerRPCCredentials,\n\t\tmaxStreams:        defaultMaxStreamsClient,\n\t\tstreamsQuota:      newQuotaPool(defaultMaxStreamsClient),\n\t\tstreamSendQuota:   defaultWindowSize,\n\t\tkp:                kp,\n\t\tstatsHandler:      opts.StatsHandler,\n\t\tinitialWindowSize: initialWindowSize,\n\t}\n\tif opts.InitialWindowSize >= defaultWindowSize {\n\t\tt.initialWindowSize = opts.InitialWindowSize\n\t\tdynamicWindow = false\n\t}\n\tif dynamicWindow {\n\t\tt.bdpEst = &bdpEstimator{\n\t\t\tbdp:               initialWindowSize,\n\t\t\tupdateFlowControl: t.updateFlowControl,\n\t\t}\n\t}\n\t// Make sure awakenKeepalive can't be written upon.\n\t// keepalive routine will make it writable, if need be.\n\tt.awakenKeepalive <- struct{}{}\n\tif t.statsHandler != nil {\n\t\tt.ctx = t.statsHandler.TagConn(t.ctx, &stats.ConnTagInfo{\n\t\t\tRemoteAddr: t.remoteAddr,\n\t\t\tLocalAddr:  t.localAddr,\n\t\t})\n\t\tconnBegin := &stats.ConnBegin{\n\t\t\tClient: true,\n\t\t}\n\t\tt.statsHandler.HandleConn(t.ctx, connBegin)\n\t}\n\t// Start the reader goroutine for incoming message. Each transport has\n\t// a dedicated goroutine which reads HTTP2 frame from network. Then it\n\t// dispatches the frame to the corresponding stream entity.\n\tgo t.reader()\n\t// Send connection preface to server.\n\tn, err := t.conn.Write(clientPreface)\n\tif err != nil {\n\t\tt.Close()\n\t\treturn nil, connectionErrorf(true, err, \"transport: failed to write client preface: %v\", err)\n\t}\n\tif n != len(clientPreface) {\n\t\tt.Close()\n\t\treturn nil, connectionErrorf(true, err, \"transport: preface mismatch, wrote %d bytes; want %d\", n, len(clientPreface))\n\t}\n\tif t.initialWindowSize != defaultWindowSize {\n\t\terr = t.framer.fr.WriteSettings(http2.Setting{\n\t\t\tID:  http2.SettingInitialWindowSize,\n\t\t\tVal: uint32(t.initialWindowSize),\n\t\t})\n\t} else {\n\t\terr = t.framer.fr.WriteSettings()\n\t}\n\tif err != nil {\n\t\tt.Close()\n\t\treturn nil, connectionErrorf(true, err, \"transport: failed to write initial settings frame: %v\", err)\n\t}\n\t// Adjust the connection flow control window if needed.\n\tif delta := uint32(icwz - defaultWindowSize); delta > 0 {\n\t\tif err := t.framer.fr.WriteWindowUpdate(0, delta); err != nil {\n\t\t\tt.Close()\n\t\t\treturn nil, connectionErrorf(true, err, \"transport: failed to write window update: %v\", err)\n\t\t}\n\t}\n\tt.framer.writer.Flush()\n\tgo func() {\n\t\tloopyWriter(t.ctx, t.controlBuf, t.itemHandler)\n\t\tt.Close()\n\t}()\n\tif t.kp.Time != infinity {\n\t\tgo t.keepalive()\n\t}\n\treturn t, nil\n}\n\nfunc (t *http2Client) newStream(ctx context.Context, callHdr *CallHdr) *Stream {\n\t// TODO(zhaoq): Handle uint32 overflow of Stream.id.\n\ts := &Stream{\n\t\tid:             t.nextID,\n\t\tdone:           make(chan struct{}),\n\t\tgoAway:         make(chan struct{}),\n\t\tmethod:         callHdr.Method,\n\t\tsendCompress:   callHdr.SendCompress,\n\t\tbuf:            newRecvBuffer(),\n\t\tfc:             &inFlow{limit: uint32(t.initialWindowSize)},\n\t\tsendQuotaPool:  newQuotaPool(int(t.streamSendQuota)),\n\t\tlocalSendQuota: newQuotaPool(defaultLocalSendQuota),\n\t\theaderChan:     make(chan struct{}),\n\t}\n\tt.nextID += 2\n\ts.requestRead = func(n int) {\n\t\tt.adjustWindow(s, uint32(n))\n\t}\n\t// The client side stream context should have exactly the same life cycle with the user provided context.\n\t// That means, s.ctx should be read-only. And s.ctx is done iff ctx is done.\n\t// So we use the original context here instead of creating a copy.\n\ts.ctx = ctx\n\ts.trReader = &transportReader{\n\t\treader: &recvBufferReader{\n\t\t\tctx:    s.ctx,\n\t\t\tgoAway: s.goAway,\n\t\t\trecv:   s.buf,\n\t\t},\n\t\twindowHandler: func(n int) {\n\t\t\tt.updateWindow(s, uint32(n))\n\t\t},\n\t}\n\n\treturn s\n}\n\n// NewStream creates a stream and registers it into the transport as \"active\"\n// streams.\nfunc (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Stream, err error) {\n\tpr := &peer.Peer{\n\t\tAddr: t.remoteAddr,\n\t}\n\t// Attach Auth info if there is any.\n\tif t.authInfo != nil {\n\t\tpr.AuthInfo = t.authInfo\n\t}\n\tctx = peer.NewContext(ctx, pr)\n\tvar (\n\t\tauthData = make(map[string]string)\n\t\taudience string\n\t)\n\t// Create an audience string only if needed.\n\tif len(t.creds) > 0 || callHdr.Creds != nil {\n\t\t// Construct URI required to get auth request metadata.\n\t\t// Omit port if it is the default one.\n\t\thost := strings.TrimSuffix(callHdr.Host, \":443\")\n\t\tpos := strings.LastIndex(callHdr.Method, \"/\")\n\t\tif pos == -1 {\n\t\t\tpos = len(callHdr.Method)\n\t\t}\n\t\taudience = \"https://\" + host + callHdr.Method[:pos]\n\t}\n\tfor _, c := range t.creds {\n\t\tdata, err := c.GetRequestMetadata(ctx, audience)\n\t\tif err != nil {\n\t\t\treturn nil, streamErrorf(codes.Internal, \"transport: %v\", err)\n\t\t}\n\t\tfor k, v := range data {\n\t\t\t// Capital header names are illegal in HTTP/2.\n\t\t\tk = strings.ToLower(k)\n\t\t\tauthData[k] = v\n\t\t}\n\t}\n\tcallAuthData := map[string]string{}\n\t// Check if credentials.PerRPCCredentials were provided via call options.\n\t// Note: if these credentials are provided both via dial options and call\n\t// options, then both sets of credentials will be applied.\n\tif callCreds := callHdr.Creds; callCreds != nil {\n\t\tif !t.isSecure && callCreds.RequireTransportSecurity() {\n\t\t\treturn nil, streamErrorf(codes.Unauthenticated, \"transport: cannot send secure credentials on an insecure connection\")\n\t\t}\n\t\tdata, err := callCreds.GetRequestMetadata(ctx, audience)\n\t\tif err != nil {\n\t\t\treturn nil, streamErrorf(codes.Internal, \"transport: %v\", err)\n\t\t}\n\t\tfor k, v := range data {\n\t\t\t// Capital header names are illegal in HTTP/2\n\t\t\tk = strings.ToLower(k)\n\t\t\tcallAuthData[k] = v\n\t\t}\n\t}\n\tt.mu.Lock()\n\tif t.activeStreams == nil {\n\t\tt.mu.Unlock()\n\t\treturn nil, ErrConnClosing\n\t}\n\tif t.state == draining {\n\t\tt.mu.Unlock()\n\t\treturn nil, ErrStreamDrain\n\t}\n\tif t.state != reachable {\n\t\tt.mu.Unlock()\n\t\treturn nil, ErrConnClosing\n\t}\n\tt.mu.Unlock()\n\tsq, err := wait(ctx, t.ctx, nil, nil, t.streamsQuota.acquire())\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\t// Returns the quota balance back.\n\tif sq > 1 {\n\t\tt.streamsQuota.add(sq - 1)\n\t}\n\t// TODO(mmukhi): Benchmark if the perfomance gets better if count the metadata and other header fields\n\t// first and create a slice of that exact size.\n\t// Make the slice of certain predictable size to reduce allocations made by append.\n\thfLen := 7 // :method, :scheme, :path, :authority, content-type, user-agent, te\n\thfLen += len(authData) + len(callAuthData)\n\theaderFields := make([]hpack.HeaderField, 0, hfLen)\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \":method\", Value: \"POST\"})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \":scheme\", Value: t.scheme})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \":path\", Value: callHdr.Method})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \":authority\", Value: callHdr.Host})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \"content-type\", Value: \"application/grpc\"})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \"user-agent\", Value: t.userAgent})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \"te\", Value: \"trailers\"})\n\n\tif callHdr.SendCompress != \"\" {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-encoding\", Value: callHdr.SendCompress})\n\t}\n\tif dl, ok := ctx.Deadline(); ok {\n\t\t// Send out timeout regardless its value. The server can detect timeout context by itself.\n\t\t// TODO(mmukhi): Perhaps this field should be updated when actually writing out to the wire.\n\t\ttimeout := dl.Sub(time.Now())\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-timeout\", Value: encodeTimeout(timeout)})\n\t}\n\tfor k, v := range authData {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})\n\t}\n\tfor k, v := range callAuthData {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})\n\t}\n\tif b := stats.OutgoingTags(ctx); b != nil {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-tags-bin\", Value: encodeBinHeader(b)})\n\t}\n\tif b := stats.OutgoingTrace(ctx); b != nil {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-trace-bin\", Value: encodeBinHeader(b)})\n\t}\n\tif md, ok := metadata.FromOutgoingContext(ctx); ok {\n\t\tfor k, vv := range md {\n\t\t\t// HTTP doesn't allow you to set pseudoheaders after non pseudoheaders were set.\n\t\t\tif isReservedHeader(k) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor _, v := range vv {\n\t\t\t\theaderFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})\n\t\t\t}\n\t\t}\n\t}\n\tif md, ok := t.md.(*metadata.MD); ok {\n\t\tfor k, vv := range *md {\n\t\t\tif isReservedHeader(k) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor _, v := range vv {\n\t\t\t\theaderFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})\n\t\t\t}\n\t\t}\n\t}\n\tt.mu.Lock()\n\tif t.state == draining {\n\t\tt.mu.Unlock()\n\t\tt.streamsQuota.add(1)\n\t\treturn nil, ErrStreamDrain\n\t}\n\tif t.state != reachable {\n\t\tt.mu.Unlock()\n\t\treturn nil, ErrConnClosing\n\t}\n\ts := t.newStream(ctx, callHdr)\n\tt.activeStreams[s.id] = s\n\t// If the number of active streams change from 0 to 1, then check if keepalive\n\t// has gone dormant. If so, wake it up.\n\tif len(t.activeStreams) == 1 {\n\t\tselect {\n\t\tcase t.awakenKeepalive <- struct{}{}:\n\t\t\tt.controlBuf.put(&ping{data: [8]byte{}})\n\t\t\t// Fill the awakenKeepalive channel again as this channel must be\n\t\t\t// kept non-writable except at the point that the keepalive()\n\t\t\t// goroutine is waiting either to be awaken or shutdown.\n\t\t\tt.awakenKeepalive <- struct{}{}\n\t\tdefault:\n\t\t}\n\t}\n\tt.controlBuf.put(&headerFrame{\n\t\tstreamID:  s.id,\n\t\thf:        headerFields,\n\t\tendStream: false,\n\t})\n\tt.mu.Unlock()\n\n\ts.mu.Lock()\n\ts.bytesSent = true\n\ts.mu.Unlock()\n\n\tif t.statsHandler != nil {\n\t\toutHeader := &stats.OutHeader{\n\t\t\tClient:      true,\n\t\t\tFullMethod:  callHdr.Method,\n\t\t\tRemoteAddr:  t.remoteAddr,\n\t\t\tLocalAddr:   t.localAddr,\n\t\t\tCompression: callHdr.SendCompress,\n\t\t}\n\t\tt.statsHandler.HandleRPC(s.ctx, outHeader)\n\t}\n\treturn s, nil\n}\n\n// CloseStream clears the footprint of a stream when the stream is not needed any more.\n// This must not be executed in reader's goroutine.\nfunc (t *http2Client) CloseStream(s *Stream, err error) {\n\tt.mu.Lock()\n\tif t.activeStreams == nil {\n\t\tt.mu.Unlock()\n\t\treturn\n\t}\n\tif err != nil {\n\t\t// notify in-flight streams, before the deletion\n\t\ts.write(recvMsg{err: err})\n\t}\n\tdelete(t.activeStreams, s.id)\n\tif t.state == draining && len(t.activeStreams) == 0 {\n\t\t// The transport is draining and s is the last live stream on t.\n\t\tt.mu.Unlock()\n\t\tt.Close()\n\t\treturn\n\t}\n\tt.mu.Unlock()\n\t// rstStream is true in case the stream is being closed at the client-side\n\t// and the server needs to be intimated about it by sending a RST_STREAM\n\t// frame.\n\t// To make sure this frame is written to the wire before the headers of the\n\t// next stream waiting for streamsQuota, we add to streamsQuota pool only\n\t// after having acquired the writableChan to send RST_STREAM out (look at\n\t// the controller() routine).\n\tvar rstStream bool\n\tvar rstError http2.ErrCode\n\tdefer func() {\n\t\t// In case, the client doesn't have to send RST_STREAM to server\n\t\t// we can safely add back to streamsQuota pool now.\n\t\tif !rstStream {\n\t\t\tt.streamsQuota.add(1)\n\t\t\treturn\n\t\t}\n\t\tt.controlBuf.put(&resetStream{s.id, rstError})\n\t}()\n\ts.mu.Lock()\n\trstStream = s.rstStream\n\trstError = s.rstError\n\tif s.state == streamDone {\n\t\ts.mu.Unlock()\n\t\treturn\n\t}\n\tif !s.headerDone {\n\t\tclose(s.headerChan)\n\t\ts.headerDone = true\n\t}\n\ts.state = streamDone\n\ts.mu.Unlock()\n\tif _, ok := err.(StreamError); ok {\n\t\trstStream = true\n\t\trstError = http2.ErrCodeCancel\n\t}\n}\n\n// Close kicks off the shutdown process of the transport. This should be called\n// only once on a transport. Once it is called, the transport should not be\n// accessed any more.\nfunc (t *http2Client) Close() (err error) {\n\tt.mu.Lock()\n\tif t.state == closing {\n\t\tt.mu.Unlock()\n\t\treturn\n\t}\n\tt.state = closing\n\tt.mu.Unlock()\n\tt.cancel()\n\terr = t.conn.Close()\n\tt.mu.Lock()\n\tstreams := t.activeStreams\n\tt.activeStreams = nil\n\tt.mu.Unlock()\n\t// Notify all active streams.\n\tfor _, s := range streams {\n\t\ts.mu.Lock()\n\t\tif !s.headerDone {\n\t\t\tclose(s.headerChan)\n\t\t\ts.headerDone = true\n\t\t}\n\t\ts.mu.Unlock()\n\t\ts.write(recvMsg{err: ErrConnClosing})\n\t}\n\tif t.statsHandler != nil {\n\t\tconnEnd := &stats.ConnEnd{\n\t\t\tClient: true,\n\t\t}\n\t\tt.statsHandler.HandleConn(t.ctx, connEnd)\n\t}\n\treturn err\n}\n\n// GracefulClose sets the state to draining, which prevents new streams from\n// being created and causes the transport to be closed when the last active\n// stream is closed.  If there are no active streams, the transport is closed\n// immediately.  This does nothing if the transport is already draining or\n// closing.\nfunc (t *http2Client) GracefulClose() error {\n\tt.mu.Lock()\n\tswitch t.state {\n\tcase closing, draining:\n\t\tt.mu.Unlock()\n\t\treturn nil\n\t}\n\tt.state = draining\n\tactive := len(t.activeStreams)\n\tt.mu.Unlock()\n\tif active == 0 {\n\t\treturn t.Close()\n\t}\n\treturn nil\n}\n\n// Write formats the data into HTTP2 data frame(s) and sends it out. The caller\n// should proceed only if Write returns nil.\nfunc (t *http2Client) Write(s *Stream, hdr []byte, data []byte, opts *Options) error {\n\tselect {\n\tcase <-s.ctx.Done():\n\t\treturn ContextErr(s.ctx.Err())\n\tcase <-t.ctx.Done():\n\t\treturn ErrConnClosing\n\tdefault:\n\t}\n\n\tif hdr == nil && data == nil && opts.Last {\n\t\t// stream.CloseSend uses this to send an empty frame with endStream=True\n\t\tt.controlBuf.put(&dataFrame{streamID: s.id, endStream: true, f: func() {}})\n\t\treturn nil\n\t}\n\t// Add data to header frame so that we can equally distribute data across frames.\n\temptyLen := http2MaxFrameLen - len(hdr)\n\tif emptyLen > len(data) {\n\t\temptyLen = len(data)\n\t}\n\thdr = append(hdr, data[:emptyLen]...)\n\tdata = data[emptyLen:]\n\tfor idx, r := range [][]byte{hdr, data} {\n\t\tfor len(r) > 0 {\n\t\t\tsize := http2MaxFrameLen\n\t\t\t// Wait until the stream has some quota to send the data.\n\t\t\tquotaChan, quotaVer := s.sendQuotaPool.acquireWithVersion()\n\t\t\tsq, err := wait(s.ctx, t.ctx, s.done, s.goAway, quotaChan)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\t// Wait until the transport has some quota to send the data.\n\t\t\ttq, err := wait(s.ctx, t.ctx, s.done, s.goAway, t.sendQuotaPool.acquire())\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif sq < size {\n\t\t\t\tsize = sq\n\t\t\t}\n\t\t\tif tq < size {\n\t\t\t\tsize = tq\n\t\t\t}\n\t\t\tif size > len(r) {\n\t\t\t\tsize = len(r)\n\t\t\t}\n\t\t\tp := r[:size]\n\t\t\tps := len(p)\n\t\t\tif ps < tq {\n\t\t\t\t// Overbooked transport quota. Return it back.\n\t\t\t\tt.sendQuotaPool.add(tq - ps)\n\t\t\t}\n\t\t\t// Acquire local send quota to be able to write to the controlBuf.\n\t\t\tltq, err := wait(s.ctx, t.ctx, s.done, s.goAway, s.localSendQuota.acquire())\n\t\t\tif err != nil {\n\t\t\t\tif _, ok := err.(ConnectionError); !ok {\n\t\t\t\t\tt.sendQuotaPool.add(ps)\n\t\t\t\t}\n\t\t\t\treturn err\n\t\t\t}\n\t\t\ts.localSendQuota.add(ltq - ps) // It's ok if we make it negative.\n\t\t\tvar endStream bool\n\t\t\t// See if this is the last frame to be written.\n\t\t\tif opts.Last {\n\t\t\t\tif len(r)-size == 0 { // No more data in r after this iteration.\n\t\t\t\t\tif idx == 0 { // We're writing data header.\n\t\t\t\t\t\tif len(data) == 0 { // There's no data to follow.\n\t\t\t\t\t\t\tendStream = true\n\t\t\t\t\t\t}\n\t\t\t\t\t} else { // We're writing data.\n\t\t\t\t\t\tendStream = true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsuccess := func() {\n\t\t\t\tt.controlBuf.put(&dataFrame{streamID: s.id, endStream: endStream, d: p, f: func() { s.localSendQuota.add(ps) }})\n\t\t\t\tif ps < sq {\n\t\t\t\t\ts.sendQuotaPool.lockedAdd(sq - ps)\n\t\t\t\t}\n\t\t\t\tr = r[ps:]\n\t\t\t}\n\t\t\tfailure := func() {\n\t\t\t\ts.sendQuotaPool.lockedAdd(sq)\n\t\t\t}\n\t\t\tif !s.sendQuotaPool.compareAndExecute(quotaVer, success, failure) {\n\t\t\t\tt.sendQuotaPool.add(ps)\n\t\t\t\ts.localSendQuota.add(ps)\n\t\t\t}\n\t\t}\n\t}\n\tif !opts.Last {\n\t\treturn nil\n\t}\n\ts.mu.Lock()\n\tif s.state != streamDone {\n\t\ts.state = streamWriteDone\n\t}\n\ts.mu.Unlock()\n\treturn nil\n}\n\nfunc (t *http2Client) getStream(f http2.Frame) (*Stream, bool) {\n\tt.mu.Lock()\n\tdefer t.mu.Unlock()\n\ts, ok := t.activeStreams[f.Header().StreamID]\n\treturn s, ok\n}\n\n// adjustWindow sends out extra window update over the initial window size\n// of stream if the application is requesting data larger in size than\n// the window.\nfunc (t *http2Client) adjustWindow(s *Stream, n uint32) {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif s.state == streamDone {\n\t\treturn\n\t}\n\tif w := s.fc.maybeAdjust(n); w > 0 {\n\t\t// Piggyback connection's window update along.\n\t\tif cw := t.fc.resetPendingUpdate(); cw > 0 {\n\t\t\tt.controlBuf.put(&windowUpdate{0, cw})\n\t\t}\n\t\tt.controlBuf.put(&windowUpdate{s.id, w})\n\t}\n}\n\n// updateWindow adjusts the inbound quota for the stream and the transport.\n// Window updates will deliver to the controller for sending when\n// the cumulative quota exceeds the corresponding threshold.\nfunc (t *http2Client) updateWindow(s *Stream, n uint32) {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif s.state == streamDone {\n\t\treturn\n\t}\n\tif w := s.fc.onRead(n); w > 0 {\n\t\tif cw := t.fc.resetPendingUpdate(); cw > 0 {\n\t\t\tt.controlBuf.put(&windowUpdate{0, cw})\n\t\t}\n\t\tt.controlBuf.put(&windowUpdate{s.id, w})\n\t}\n}\n\n// updateFlowControl updates the incoming flow control windows\n// for the transport and the stream based on the current bdp\n// estimation.\nfunc (t *http2Client) updateFlowControl(n uint32) {\n\tt.mu.Lock()\n\tfor _, s := range t.activeStreams {\n\t\ts.fc.newLimit(n)\n\t}\n\tt.initialWindowSize = int32(n)\n\tt.mu.Unlock()\n\tt.controlBuf.put(&windowUpdate{0, t.fc.newLimit(n)})\n\tt.controlBuf.put(&settings{\n\t\tack: false,\n\t\tss: []http2.Setting{\n\t\t\t{\n\t\t\t\tID:  http2.SettingInitialWindowSize,\n\t\t\t\tVal: uint32(n),\n\t\t\t},\n\t\t},\n\t})\n}\n\nfunc (t *http2Client) handleData(f *http2.DataFrame) {\n\tsize := f.Header().Length\n\tvar sendBDPPing bool\n\tif t.bdpEst != nil {\n\t\tsendBDPPing = t.bdpEst.add(uint32(size))\n\t}\n\t// Decouple connection's flow control from application's read.\n\t// An update on connection's flow control should not depend on\n\t// whether user application has read the data or not. Such a\n\t// restriction is already imposed on the stream's flow control,\n\t// and therefore the sender will be blocked anyways.\n\t// Decoupling the connection flow control will prevent other\n\t// active(fast) streams from starving in presence of slow or\n\t// inactive streams.\n\t//\n\t// Furthermore, if a bdpPing is being sent out we can piggyback\n\t// connection's window update for the bytes we just received.\n\tif sendBDPPing {\n\t\tif size != 0 { // Could've been an empty data frame.\n\t\t\tt.controlBuf.put(&windowUpdate{0, uint32(size)})\n\t\t}\n\t\tt.controlBuf.put(bdpPing)\n\t} else {\n\t\tif err := t.fc.onData(uint32(size)); err != nil {\n\t\t\tt.Close()\n\t\t\treturn\n\t\t}\n\t\tif w := t.fc.onRead(uint32(size)); w > 0 {\n\t\t\tt.controlBuf.put(&windowUpdate{0, w})\n\t\t}\n\t}\n\t// Select the right stream to dispatch.\n\ts, ok := t.getStream(f)\n\tif !ok {\n\t\treturn\n\t}\n\tif size > 0 {\n\t\ts.mu.Lock()\n\t\tif s.state == streamDone {\n\t\t\ts.mu.Unlock()\n\t\t\treturn\n\t\t}\n\t\tif err := s.fc.onData(uint32(size)); err != nil {\n\t\t\ts.rstStream = true\n\t\t\ts.rstError = http2.ErrCodeFlowControl\n\t\t\ts.finish(status.New(codes.Internal, err.Error()))\n\t\t\ts.mu.Unlock()\n\t\t\ts.write(recvMsg{err: io.EOF})\n\t\t\treturn\n\t\t}\n\t\tif f.Header().Flags.Has(http2.FlagDataPadded) {\n\t\t\tif w := s.fc.onRead(uint32(size) - uint32(len(f.Data()))); w > 0 {\n\t\t\t\tt.controlBuf.put(&windowUpdate{s.id, w})\n\t\t\t}\n\t\t}\n\t\ts.mu.Unlock()\n\t\t// TODO(bradfitz, zhaoq): A copy is required here because there is no\n\t\t// guarantee f.Data() is consumed before the arrival of next frame.\n\t\t// Can this copy be eliminated?\n\t\tif len(f.Data()) > 0 {\n\t\t\tdata := make([]byte, len(f.Data()))\n\t\t\tcopy(data, f.Data())\n\t\t\ts.write(recvMsg{data: data})\n\t\t}\n\t}\n\t// The server has closed the stream without sending trailers.  Record that\n\t// the read direction is closed, and set the status appropriately.\n\tif f.FrameHeader.Flags.Has(http2.FlagDataEndStream) {\n\t\ts.mu.Lock()\n\t\tif s.state == streamDone {\n\t\t\ts.mu.Unlock()\n\t\t\treturn\n\t\t}\n\t\ts.finish(status.New(codes.Internal, \"server closed the stream without sending trailers\"))\n\t\ts.mu.Unlock()\n\t\ts.write(recvMsg{err: io.EOF})\n\t}\n}\n\nfunc (t *http2Client) handleRSTStream(f *http2.RSTStreamFrame) {\n\ts, ok := t.getStream(f)\n\tif !ok {\n\t\treturn\n\t}\n\ts.mu.Lock()\n\tif s.state == streamDone {\n\t\ts.mu.Unlock()\n\t\treturn\n\t}\n\tif !s.headerDone {\n\t\tclose(s.headerChan)\n\t\ts.headerDone = true\n\t}\n\tstatusCode, ok := http2ErrConvTab[http2.ErrCode(f.ErrCode)]\n\tif !ok {\n\t\twarningf(\"transport: http2Client.handleRSTStream found no mapped gRPC status for the received http2 error %v\", f.ErrCode)\n\t\tstatusCode = codes.Unknown\n\t}\n\ts.finish(status.Newf(statusCode, \"stream terminated by RST_STREAM with error code: %v\", f.ErrCode))\n\ts.mu.Unlock()\n\ts.write(recvMsg{err: io.EOF})\n}\n\nfunc (t *http2Client) handleSettings(f *http2.SettingsFrame) {\n\tif f.IsAck() {\n\t\treturn\n\t}\n\tvar ss []http2.Setting\n\tf.ForeachSetting(func(s http2.Setting) error {\n\t\tss = append(ss, s)\n\t\treturn nil\n\t})\n\t// The settings will be applied once the ack is sent.\n\tt.controlBuf.put(&settings{ack: true, ss: ss})\n}\n\nfunc (t *http2Client) handlePing(f *http2.PingFrame) {\n\tif f.IsAck() {\n\t\t// Maybe it's a BDP ping.\n\t\tif t.bdpEst != nil {\n\t\t\tt.bdpEst.calculate(f.Data)\n\t\t}\n\t\treturn\n\t}\n\tpingAck := &ping{ack: true}\n\tcopy(pingAck.data[:], f.Data[:])\n\tt.controlBuf.put(pingAck)\n}\n\nfunc (t *http2Client) handleGoAway(f *http2.GoAwayFrame) {\n\tt.mu.Lock()\n\tif t.state != reachable && t.state != draining {\n\t\tt.mu.Unlock()\n\t\treturn\n\t}\n\tif f.ErrCode == http2.ErrCodeEnhanceYourCalm {\n\t\tinfof(\"Client received GoAway with http2.ErrCodeEnhanceYourCalm.\")\n\t}\n\tid := f.LastStreamID\n\tif id > 0 && id%2 != 1 {\n\t\tt.mu.Unlock()\n\t\tt.Close()\n\t\treturn\n\t}\n\t// A client can receive multiple GoAways from server (look at https://github.com/grpc/grpc-go/issues/1387).\n\t// The idea is that the first GoAway will be sent with an ID of MaxInt32 and the second GoAway will be sent after an RTT delay\n\t// with the ID of the last stream the server will process.\n\t// Therefore, when we get the first GoAway we don't really close any streams. While in case of second GoAway we\n\t// close all streams created after the second GoAwayId. This way streams that were in-flight while the GoAway from server\n\t// was being sent don't get killed.\n\tselect {\n\tcase <-t.goAway: // t.goAway has been closed (i.e.,multiple GoAways).\n\t\t// If there are multiple GoAways the first one should always have an ID greater than the following ones.\n\t\tif id > t.prevGoAwayID {\n\t\t\tt.mu.Unlock()\n\t\t\tt.Close()\n\t\t\treturn\n\t\t}\n\tdefault:\n\t\tt.setGoAwayReason(f)\n\t\tclose(t.goAway)\n\t\tt.state = draining\n\t}\n\t// All streams with IDs greater than the GoAwayId\n\t// and smaller than the previous GoAway ID should be killed.\n\tupperLimit := t.prevGoAwayID\n\tif upperLimit == 0 { // This is the first GoAway Frame.\n\t\tupperLimit = math.MaxUint32 // Kill all streams after the GoAway ID.\n\t}\n\tfor streamID, stream := range t.activeStreams {\n\t\tif streamID > id && streamID <= upperLimit {\n\t\t\tclose(stream.goAway)\n\t\t}\n\t}\n\tt.prevGoAwayID = id\n\tactive := len(t.activeStreams)\n\tt.mu.Unlock()\n\tif active == 0 {\n\t\tt.Close()\n\t}\n}\n\n// setGoAwayReason sets the value of t.goAwayReason based\n// on the GoAway frame received.\n// It expects a lock on transport's mutext to be held by\n// the caller.\nfunc (t *http2Client) setGoAwayReason(f *http2.GoAwayFrame) {\n\tt.goAwayReason = NoReason\n\tswitch f.ErrCode {\n\tcase http2.ErrCodeEnhanceYourCalm:\n\t\tif string(f.DebugData()) == \"too_many_pings\" {\n\t\t\tt.goAwayReason = TooManyPings\n\t\t}\n\t}\n}\n\nfunc (t *http2Client) GetGoAwayReason() GoAwayReason {\n\tt.mu.Lock()\n\tdefer t.mu.Unlock()\n\treturn t.goAwayReason\n}\n\nfunc (t *http2Client) handleWindowUpdate(f *http2.WindowUpdateFrame) {\n\tid := f.Header().StreamID\n\tincr := f.Increment\n\tif id == 0 {\n\t\tt.sendQuotaPool.add(int(incr))\n\t\treturn\n\t}\n\tif s, ok := t.getStream(f); ok {\n\t\ts.sendQuotaPool.add(int(incr))\n\t}\n}\n\n// operateHeaders takes action on the decoded headers.\nfunc (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {\n\ts, ok := t.getStream(frame)\n\tif !ok {\n\t\treturn\n\t}\n\ts.mu.Lock()\n\ts.bytesReceived = true\n\ts.mu.Unlock()\n\tvar state decodeState\n\tif err := state.decodeResponseHeader(frame); err != nil {\n\t\ts.mu.Lock()\n\t\tif !s.headerDone {\n\t\t\tclose(s.headerChan)\n\t\t\ts.headerDone = true\n\t\t}\n\t\ts.mu.Unlock()\n\t\ts.write(recvMsg{err: err})\n\t\t// Something wrong. Stops reading even when there is remaining.\n\t\treturn\n\t}\n\n\tendStream := frame.StreamEnded()\n\tvar isHeader bool\n\tdefer func() {\n\t\tif t.statsHandler != nil {\n\t\t\tif isHeader {\n\t\t\t\tinHeader := &stats.InHeader{\n\t\t\t\t\tClient:     true,\n\t\t\t\t\tWireLength: int(frame.Header().Length),\n\t\t\t\t}\n\t\t\t\tt.statsHandler.HandleRPC(s.ctx, inHeader)\n\t\t\t} else {\n\t\t\t\tinTrailer := &stats.InTrailer{\n\t\t\t\t\tClient:     true,\n\t\t\t\t\tWireLength: int(frame.Header().Length),\n\t\t\t\t}\n\t\t\t\tt.statsHandler.HandleRPC(s.ctx, inTrailer)\n\t\t\t}\n\t\t}\n\t}()\n\n\ts.mu.Lock()\n\tif !endStream {\n\t\ts.recvCompress = state.encoding\n\t}\n\tif !s.headerDone {\n\t\tif !endStream && len(state.mdata) > 0 {\n\t\t\ts.header = state.mdata\n\t\t}\n\t\tclose(s.headerChan)\n\t\ts.headerDone = true\n\t\tisHeader = true\n\t}\n\tif !endStream || s.state == streamDone {\n\t\ts.mu.Unlock()\n\t\treturn\n\t}\n\n\tif len(state.mdata) > 0 {\n\t\ts.trailer = state.mdata\n\t}\n\ts.finish(state.status())\n\ts.mu.Unlock()\n\ts.write(recvMsg{err: io.EOF})\n}\n\nfunc handleMalformedHTTP2(s *Stream, err error) {\n\ts.mu.Lock()\n\tif !s.headerDone {\n\t\tclose(s.headerChan)\n\t\ts.headerDone = true\n\t}\n\ts.mu.Unlock()\n\ts.write(recvMsg{err: err})\n}\n\n// reader runs as a separate goroutine in charge of reading data from network\n// connection.\n//\n// TODO(zhaoq): currently one reader per transport. Investigate whether this is\n// optimal.\n// TODO(zhaoq): Check the validity of the incoming frame sequence.\nfunc (t *http2Client) reader() {\n\t// Check the validity of server preface.\n\tframe, err := t.framer.fr.ReadFrame()\n\tif err != nil {\n\t\tt.Close()\n\t\treturn\n\t}\n\tatomic.CompareAndSwapUint32(&t.activity, 0, 1)\n\tsf, ok := frame.(*http2.SettingsFrame)\n\tif !ok {\n\t\tt.Close()\n\t\treturn\n\t}\n\tt.handleSettings(sf)\n\n\t// loop to keep reading incoming messages on this transport.\n\tfor {\n\t\tframe, err := t.framer.fr.ReadFrame()\n\t\tatomic.CompareAndSwapUint32(&t.activity, 0, 1)\n\t\tif err != nil {\n\t\t\t// Abort an active stream if the http2.Framer returns a\n\t\t\t// http2.StreamError. This can happen only if the server's response\n\t\t\t// is malformed http2.\n\t\t\tif se, ok := err.(http2.StreamError); ok {\n\t\t\t\tt.mu.Lock()\n\t\t\t\ts := t.activeStreams[se.StreamID]\n\t\t\t\tt.mu.Unlock()\n\t\t\t\tif s != nil {\n\t\t\t\t\t// use error detail to provide better err message\n\t\t\t\t\thandleMalformedHTTP2(s, streamErrorf(http2ErrConvTab[se.Code], \"%v\", t.framer.fr.ErrorDetail()))\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\t// Transport error.\n\t\t\t\tt.Close()\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tswitch frame := frame.(type) {\n\t\tcase *http2.MetaHeadersFrame:\n\t\t\tt.operateHeaders(frame)\n\t\tcase *http2.DataFrame:\n\t\t\tt.handleData(frame)\n\t\tcase *http2.RSTStreamFrame:\n\t\t\tt.handleRSTStream(frame)\n\t\tcase *http2.SettingsFrame:\n\t\t\tt.handleSettings(frame)\n\t\tcase *http2.PingFrame:\n\t\t\tt.handlePing(frame)\n\t\tcase *http2.GoAwayFrame:\n\t\t\tt.handleGoAway(frame)\n\t\tcase *http2.WindowUpdateFrame:\n\t\t\tt.handleWindowUpdate(frame)\n\t\tdefault:\n\t\t\terrorf(\"transport: http2Client.reader got unhandled frame type %v.\", frame)\n\t\t}\n\t}\n}\n\nfunc (t *http2Client) applySettings(ss []http2.Setting) {\n\tfor _, s := range ss {\n\t\tswitch s.ID {\n\t\tcase http2.SettingMaxConcurrentStreams:\n\t\t\t// TODO(zhaoq): This is a hack to avoid significant refactoring of the\n\t\t\t// code to deal with the unrealistic int32 overflow. Probably will try\n\t\t\t// to find a better way to handle this later.\n\t\t\tif s.Val > math.MaxInt32 {\n\t\t\t\ts.Val = math.MaxInt32\n\t\t\t}\n\t\t\tt.mu.Lock()\n\t\t\tms := t.maxStreams\n\t\t\tt.maxStreams = int(s.Val)\n\t\t\tt.mu.Unlock()\n\t\t\tt.streamsQuota.add(int(s.Val) - ms)\n\t\tcase http2.SettingInitialWindowSize:\n\t\t\tt.mu.Lock()\n\t\t\tfor _, stream := range t.activeStreams {\n\t\t\t\t// Adjust the sending quota for each stream.\n\t\t\t\tstream.sendQuotaPool.addAndUpdate(int(s.Val) - int(t.streamSendQuota))\n\t\t\t}\n\t\t\tt.streamSendQuota = s.Val\n\t\t\tt.mu.Unlock()\n\t\t}\n\t}\n}\n\n// TODO(mmukhi): A lot of this code(and code in other places in the tranpsort layer)\n// is duplicated between the client and the server.\n// The transport layer needs to be refactored to take care of this.\nfunc (t *http2Client) itemHandler(i item) error {\n\tvar err error\n\tswitch i := i.(type) {\n\tcase *dataFrame:\n\t\terr = t.framer.fr.WriteData(i.streamID, i.endStream, i.d)\n\t\tif err == nil {\n\t\t\ti.f()\n\t\t}\n\tcase *headerFrame:\n\t\tt.hBuf.Reset()\n\t\tfor _, f := range i.hf {\n\t\t\tt.hEnc.WriteField(f)\n\t\t}\n\t\tendHeaders := false\n\t\tfirst := true\n\t\tfor !endHeaders {\n\t\t\tsize := t.hBuf.Len()\n\t\t\tif size > http2MaxFrameLen {\n\t\t\t\tsize = http2MaxFrameLen\n\t\t\t} else {\n\t\t\t\tendHeaders = true\n\t\t\t}\n\t\t\tif first {\n\t\t\t\tfirst = false\n\t\t\t\terr = t.framer.fr.WriteHeaders(http2.HeadersFrameParam{\n\t\t\t\t\tStreamID:      i.streamID,\n\t\t\t\t\tBlockFragment: t.hBuf.Next(size),\n\t\t\t\t\tEndStream:     i.endStream,\n\t\t\t\t\tEndHeaders:    endHeaders,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\terr = t.framer.fr.WriteContinuation(\n\t\t\t\t\ti.streamID,\n\t\t\t\t\tendHeaders,\n\t\t\t\t\tt.hBuf.Next(size),\n\t\t\t\t)\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\tcase *windowUpdate:\n\t\terr = t.framer.fr.WriteWindowUpdate(i.streamID, i.increment)\n\tcase *settings:\n\t\tif i.ack {\n\t\t\tt.applySettings(i.ss)\n\t\t\terr = t.framer.fr.WriteSettingsAck()\n\t\t} else {\n\t\t\terr = t.framer.fr.WriteSettings(i.ss...)\n\t\t}\n\tcase *resetStream:\n\t\t// If the server needs to be to intimated about stream closing,\n\t\t// then we need to make sure the RST_STREAM frame is written to\n\t\t// the wire before the headers of the next stream waiting on\n\t\t// streamQuota. We ensure this by adding to the streamsQuota pool\n\t\t// only after having acquired the writableChan to send RST_STREAM.\n\t\terr = t.framer.fr.WriteRSTStream(i.streamID, i.code)\n\t\tt.streamsQuota.add(1)\n\tcase *flushIO:\n\t\terr = t.framer.writer.Flush()\n\tcase *ping:\n\t\tif !i.ack {\n\t\t\tt.bdpEst.timesnap(i.data)\n\t\t}\n\t\terr = t.framer.fr.WritePing(i.ack, i.data)\n\tdefault:\n\t\terrorf(\"transport: http2Client.controller got unexpected item type %v\\n\", i)\n\t}\n\treturn err\n}\n\n// keepalive running in a separate goroutune makes sure the connection is alive by sending pings.\nfunc (t *http2Client) keepalive() {\n\tp := &ping{data: [8]byte{}}\n\ttimer := time.NewTimer(t.kp.Time)\n\tfor {\n\t\tselect {\n\t\tcase <-timer.C:\n\t\t\tif atomic.CompareAndSwapUint32(&t.activity, 1, 0) {\n\t\t\t\ttimer.Reset(t.kp.Time)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// Check if keepalive should go dormant.\n\t\t\tt.mu.Lock()\n\t\t\tif len(t.activeStreams) < 1 && !t.kp.PermitWithoutStream {\n\t\t\t\t// Make awakenKeepalive writable.\n\t\t\t\t<-t.awakenKeepalive\n\t\t\t\tt.mu.Unlock()\n\t\t\t\tselect {\n\t\t\t\tcase <-t.awakenKeepalive:\n\t\t\t\t\t// If the control gets here a ping has been sent\n\t\t\t\t\t// need to reset the timer with keepalive.Timeout.\n\t\t\t\tcase <-t.ctx.Done():\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tt.mu.Unlock()\n\t\t\t\t// Send ping.\n\t\t\t\tt.controlBuf.put(p)\n\t\t\t}\n\n\t\t\t// By the time control gets here a ping has been sent one way or the other.\n\t\t\ttimer.Reset(t.kp.Timeout)\n\t\t\tselect {\n\t\t\tcase <-timer.C:\n\t\t\t\tif atomic.CompareAndSwapUint32(&t.activity, 1, 0) {\n\t\t\t\t\ttimer.Reset(t.kp.Time)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tt.Close()\n\t\t\t\treturn\n\t\t\tcase <-t.ctx.Done():\n\t\t\t\tif !timer.Stop() {\n\t\t\t\t\t<-timer.C\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\tcase <-t.ctx.Done():\n\t\t\tif !timer.Stop() {\n\t\t\t\t<-timer.C\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (t *http2Client) Error() <-chan struct{} {\n\treturn t.ctx.Done()\n}\n\nfunc (t *http2Client) GoAway() <-chan struct{} {\n\treturn t.goAway\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/transport/http2_server.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\npackage transport\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"math\"\n\t\"math/rand\"\n\t\"net\"\n\t\"strconv\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/http2\"\n\t\"golang.org/x/net/http2/hpack\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/keepalive\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/peer\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n\t\"google.golang.org/grpc/tap\"\n)\n\n// ErrIllegalHeaderWrite indicates that setting header is illegal because of\n// the stream's state.\nvar ErrIllegalHeaderWrite = errors.New(\"transport: the stream is done or WriteHeader was already called\")\n\n// http2Server implements the ServerTransport interface with HTTP2.\ntype http2Server struct {\n\tctx         context.Context\n\tcancel      context.CancelFunc\n\tconn        net.Conn\n\tremoteAddr  net.Addr\n\tlocalAddr   net.Addr\n\tmaxStreamID uint32               // max stream ID ever seen\n\tauthInfo    credentials.AuthInfo // auth info about the connection\n\tinTapHandle tap.ServerInHandle\n\tframer      *framer\n\thBuf        *bytes.Buffer  // the buffer for HPACK encoding\n\thEnc        *hpack.Encoder // HPACK encoder\n\t// The max number of concurrent streams.\n\tmaxStreams uint32\n\t// controlBuf delivers all the control related tasks (e.g., window\n\t// updates, reset streams, and various settings) to the controller.\n\tcontrolBuf *controlBuffer\n\tfc         *inFlow\n\t// sendQuotaPool provides flow control to outbound message.\n\tsendQuotaPool *quotaPool\n\tstats         stats.Handler\n\t// Flag to keep track of reading activity on transport.\n\t// 1 is true and 0 is false.\n\tactivity uint32 // Accessed atomically.\n\t// Keepalive and max-age parameters for the server.\n\tkp keepalive.ServerParameters\n\n\t// Keepalive enforcement policy.\n\tkep keepalive.EnforcementPolicy\n\t// The time instance last ping was received.\n\tlastPingAt time.Time\n\t// Number of times the client has violated keepalive ping policy so far.\n\tpingStrikes uint8\n\t// Flag to signify that number of ping strikes should be reset to 0.\n\t// This is set whenever data or header frames are sent.\n\t// 1 means yes.\n\tresetPingStrikes  uint32 // Accessed atomically.\n\tinitialWindowSize int32\n\tbdpEst            *bdpEstimator\n\n\tmu sync.Mutex // guard the following\n\n\t// drainChan is initialized when drain(...) is called the first time.\n\t// After which the server writes out the first GoAway(with ID 2^31-1) frame.\n\t// Then an independent goroutine will be launched to later send the second GoAway.\n\t// During this time we don't want to write another first GoAway(with ID 2^31 -1) frame.\n\t// Thus call to drain(...) will be a no-op if drainChan is already initialized since draining is\n\t// already underway.\n\tdrainChan     chan struct{}\n\tstate         transportState\n\tactiveStreams map[uint32]*Stream\n\t// the per-stream outbound flow control window size set by the peer.\n\tstreamSendQuota uint32\n\t// idle is the time instant when the connection went idle.\n\t// This is either the beginning of the connection or when the number of\n\t// RPCs go down to 0.\n\t// When the connection is busy, this value is set to 0.\n\tidle time.Time\n}\n\n// newHTTP2Server constructs a ServerTransport based on HTTP2. ConnectionError is\n// returned if something goes wrong.\nfunc newHTTP2Server(conn net.Conn, config *ServerConfig) (_ ServerTransport, err error) {\n\twriteBufSize := defaultWriteBufSize\n\tif config.WriteBufferSize > 0 {\n\t\twriteBufSize = config.WriteBufferSize\n\t}\n\treadBufSize := defaultReadBufSize\n\tif config.ReadBufferSize > 0 {\n\t\treadBufSize = config.ReadBufferSize\n\t}\n\tframer := newFramer(conn, writeBufSize, readBufSize)\n\t// Send initial settings as connection preface to client.\n\tvar isettings []http2.Setting\n\t// TODO(zhaoq): Have a better way to signal \"no limit\" because 0 is\n\t// permitted in the HTTP2 spec.\n\tmaxStreams := config.MaxStreams\n\tif maxStreams == 0 {\n\t\tmaxStreams = math.MaxUint32\n\t} else {\n\t\tisettings = append(isettings, http2.Setting{\n\t\t\tID:  http2.SettingMaxConcurrentStreams,\n\t\t\tVal: maxStreams,\n\t\t})\n\t}\n\tdynamicWindow := true\n\tiwz := int32(initialWindowSize)\n\tif config.InitialWindowSize >= defaultWindowSize {\n\t\tiwz = config.InitialWindowSize\n\t\tdynamicWindow = false\n\t}\n\ticwz := int32(initialWindowSize)\n\tif config.InitialConnWindowSize >= defaultWindowSize {\n\t\ticwz = config.InitialConnWindowSize\n\t\tdynamicWindow = false\n\t}\n\tif iwz != defaultWindowSize {\n\t\tisettings = append(isettings, http2.Setting{\n\t\t\tID:  http2.SettingInitialWindowSize,\n\t\t\tVal: uint32(iwz)})\n\t}\n\tif err := framer.fr.WriteSettings(isettings...); err != nil {\n\t\treturn nil, connectionErrorf(false, err, \"transport: %v\", err)\n\t}\n\t// Adjust the connection flow control window if needed.\n\tif delta := uint32(icwz - defaultWindowSize); delta > 0 {\n\t\tif err := framer.fr.WriteWindowUpdate(0, delta); err != nil {\n\t\t\treturn nil, connectionErrorf(false, err, \"transport: %v\", err)\n\t\t}\n\t}\n\tkp := config.KeepaliveParams\n\tif kp.MaxConnectionIdle == 0 {\n\t\tkp.MaxConnectionIdle = defaultMaxConnectionIdle\n\t}\n\tif kp.MaxConnectionAge == 0 {\n\t\tkp.MaxConnectionAge = defaultMaxConnectionAge\n\t}\n\t// Add a jitter to MaxConnectionAge.\n\tkp.MaxConnectionAge += getJitter(kp.MaxConnectionAge)\n\tif kp.MaxConnectionAgeGrace == 0 {\n\t\tkp.MaxConnectionAgeGrace = defaultMaxConnectionAgeGrace\n\t}\n\tif kp.Time == 0 {\n\t\tkp.Time = defaultServerKeepaliveTime\n\t}\n\tif kp.Timeout == 0 {\n\t\tkp.Timeout = defaultServerKeepaliveTimeout\n\t}\n\tkep := config.KeepalivePolicy\n\tif kep.MinTime == 0 {\n\t\tkep.MinTime = defaultKeepalivePolicyMinTime\n\t}\n\tvar buf bytes.Buffer\n\tctx, cancel := context.WithCancel(context.Background())\n\tt := &http2Server{\n\t\tctx:               ctx,\n\t\tcancel:            cancel,\n\t\tconn:              conn,\n\t\tremoteAddr:        conn.RemoteAddr(),\n\t\tlocalAddr:         conn.LocalAddr(),\n\t\tauthInfo:          config.AuthInfo,\n\t\tframer:            framer,\n\t\thBuf:              &buf,\n\t\thEnc:              hpack.NewEncoder(&buf),\n\t\tmaxStreams:        maxStreams,\n\t\tinTapHandle:       config.InTapHandle,\n\t\tcontrolBuf:        newControlBuffer(),\n\t\tfc:                &inFlow{limit: uint32(icwz)},\n\t\tsendQuotaPool:     newQuotaPool(defaultWindowSize),\n\t\tstate:             reachable,\n\t\tactiveStreams:     make(map[uint32]*Stream),\n\t\tstreamSendQuota:   defaultWindowSize,\n\t\tstats:             config.StatsHandler,\n\t\tkp:                kp,\n\t\tidle:              time.Now(),\n\t\tkep:               kep,\n\t\tinitialWindowSize: iwz,\n\t}\n\tif dynamicWindow {\n\t\tt.bdpEst = &bdpEstimator{\n\t\t\tbdp:               initialWindowSize,\n\t\t\tupdateFlowControl: t.updateFlowControl,\n\t\t}\n\t}\n\tif t.stats != nil {\n\t\tt.ctx = t.stats.TagConn(t.ctx, &stats.ConnTagInfo{\n\t\t\tRemoteAddr: t.remoteAddr,\n\t\t\tLocalAddr:  t.localAddr,\n\t\t})\n\t\tconnBegin := &stats.ConnBegin{}\n\t\tt.stats.HandleConn(t.ctx, connBegin)\n\t}\n\tt.framer.writer.Flush()\n\n\t// Check the validity of client preface.\n\tpreface := make([]byte, len(clientPreface))\n\tif _, err := io.ReadFull(t.conn, preface); err != nil {\n\t\treturn nil, connectionErrorf(false, err, \"transport: http2Server.HandleStreams failed to receive the preface from client: %v\", err)\n\t}\n\tif !bytes.Equal(preface, clientPreface) {\n\t\treturn nil, connectionErrorf(false, nil, \"transport: http2Server.HandleStreams received bogus greeting from client: %q\", preface)\n\t}\n\n\tframe, err := t.framer.fr.ReadFrame()\n\tif err == io.EOF || err == io.ErrUnexpectedEOF {\n\t\tt.Close()\n\t\treturn\n\t}\n\tif err != nil {\n\t\treturn nil, connectionErrorf(false, err, \"transport: http2Server.HandleStreams failed to read initial settings frame: %v\", err)\n\t}\n\tatomic.StoreUint32(&t.activity, 1)\n\tsf, ok := frame.(*http2.SettingsFrame)\n\tif !ok {\n\t\treturn nil, connectionErrorf(false, nil, \"transport: http2Server.HandleStreams saw invalid preface type %T from client\", frame)\n\t}\n\tt.handleSettings(sf)\n\n\tgo func() {\n\t\tloopyWriter(t.ctx, t.controlBuf, t.itemHandler)\n\t\tt.Close()\n\t}()\n\tgo t.keepalive()\n\treturn t, nil\n}\n\n// operateHeader takes action on the decoded headers.\nfunc (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(*Stream), traceCtx func(context.Context, string) context.Context) (close bool) {\n\tstreamID := frame.Header().StreamID\n\n\tvar state decodeState\n\tfor _, hf := range frame.Fields {\n\t\tif err := state.processHeaderField(hf); err != nil {\n\t\t\tif se, ok := err.(StreamError); ok {\n\t\t\t\tt.controlBuf.put(&resetStream{streamID, statusCodeConvTab[se.Code]})\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\n\tbuf := newRecvBuffer()\n\ts := &Stream{\n\t\tid:           streamID,\n\t\tst:           t,\n\t\tbuf:          buf,\n\t\tfc:           &inFlow{limit: uint32(t.initialWindowSize)},\n\t\trecvCompress: state.encoding,\n\t\tmethod:       state.method,\n\t}\n\n\tif frame.StreamEnded() {\n\t\t// s is just created by the caller. No lock needed.\n\t\ts.state = streamReadDone\n\t}\n\tif state.timeoutSet {\n\t\ts.ctx, s.cancel = context.WithTimeout(t.ctx, state.timeout)\n\t} else {\n\t\ts.ctx, s.cancel = context.WithCancel(t.ctx)\n\t}\n\tpr := &peer.Peer{\n\t\tAddr: t.remoteAddr,\n\t}\n\t// Attach Auth info if there is any.\n\tif t.authInfo != nil {\n\t\tpr.AuthInfo = t.authInfo\n\t}\n\ts.ctx = peer.NewContext(s.ctx, pr)\n\t// Cache the current stream to the context so that the server application\n\t// can find out. Required when the server wants to send some metadata\n\t// back to the client (unary call only).\n\ts.ctx = newContextWithStream(s.ctx, s)\n\t// Attach the received metadata to the context.\n\tif len(state.mdata) > 0 {\n\t\ts.ctx = metadata.NewIncomingContext(s.ctx, state.mdata)\n\t}\n\tif state.statsTags != nil {\n\t\ts.ctx = stats.SetIncomingTags(s.ctx, state.statsTags)\n\t}\n\tif state.statsTrace != nil {\n\t\ts.ctx = stats.SetIncomingTrace(s.ctx, state.statsTrace)\n\t}\n\tif t.inTapHandle != nil {\n\t\tvar err error\n\t\tinfo := &tap.Info{\n\t\t\tFullMethodName: state.method,\n\t\t}\n\t\ts.ctx, err = t.inTapHandle(s.ctx, info)\n\t\tif err != nil {\n\t\t\twarningf(\"transport: http2Server.operateHeaders got an error from InTapHandle: %v\", err)\n\t\t\tt.controlBuf.put(&resetStream{s.id, http2.ErrCodeRefusedStream})\n\t\t\treturn\n\t\t}\n\t}\n\tt.mu.Lock()\n\tif t.state != reachable {\n\t\tt.mu.Unlock()\n\t\treturn\n\t}\n\tif uint32(len(t.activeStreams)) >= t.maxStreams {\n\t\tt.mu.Unlock()\n\t\tt.controlBuf.put(&resetStream{streamID, http2.ErrCodeRefusedStream})\n\t\treturn\n\t}\n\tif streamID%2 != 1 || streamID <= t.maxStreamID {\n\t\tt.mu.Unlock()\n\t\t// illegal gRPC stream id.\n\t\terrorf(\"transport: http2Server.HandleStreams received an illegal stream id: %v\", streamID)\n\t\treturn true\n\t}\n\tt.maxStreamID = streamID\n\ts.sendQuotaPool = newQuotaPool(int(t.streamSendQuota))\n\ts.localSendQuota = newQuotaPool(defaultLocalSendQuota)\n\tt.activeStreams[streamID] = s\n\tif len(t.activeStreams) == 1 {\n\t\tt.idle = time.Time{}\n\t}\n\tt.mu.Unlock()\n\ts.requestRead = func(n int) {\n\t\tt.adjustWindow(s, uint32(n))\n\t}\n\ts.ctx = traceCtx(s.ctx, s.method)\n\tif t.stats != nil {\n\t\ts.ctx = t.stats.TagRPC(s.ctx, &stats.RPCTagInfo{FullMethodName: s.method})\n\t\tinHeader := &stats.InHeader{\n\t\t\tFullMethod:  s.method,\n\t\t\tRemoteAddr:  t.remoteAddr,\n\t\t\tLocalAddr:   t.localAddr,\n\t\t\tCompression: s.recvCompress,\n\t\t\tWireLength:  int(frame.Header().Length),\n\t\t}\n\t\tt.stats.HandleRPC(s.ctx, inHeader)\n\t}\n\ts.trReader = &transportReader{\n\t\treader: &recvBufferReader{\n\t\t\tctx:  s.ctx,\n\t\t\trecv: s.buf,\n\t\t},\n\t\twindowHandler: func(n int) {\n\t\t\tt.updateWindow(s, uint32(n))\n\t\t},\n\t}\n\thandle(s)\n\treturn\n}\n\n// HandleStreams receives incoming streams using the given handler. This is\n// typically run in a separate goroutine.\n// traceCtx attaches trace to ctx and returns the new context.\nfunc (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.Context, string) context.Context) {\n\tfor {\n\t\tframe, err := t.framer.fr.ReadFrame()\n\t\tatomic.StoreUint32(&t.activity, 1)\n\t\tif err != nil {\n\t\t\tif se, ok := err.(http2.StreamError); ok {\n\t\t\t\tt.mu.Lock()\n\t\t\t\ts := t.activeStreams[se.StreamID]\n\t\t\t\tt.mu.Unlock()\n\t\t\t\tif s != nil {\n\t\t\t\t\tt.closeStream(s)\n\t\t\t\t}\n\t\t\t\tt.controlBuf.put(&resetStream{se.StreamID, se.Code})\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif err == io.EOF || err == io.ErrUnexpectedEOF {\n\t\t\t\tt.Close()\n\t\t\t\treturn\n\t\t\t}\n\t\t\twarningf(\"transport: http2Server.HandleStreams failed to read frame: %v\", err)\n\t\t\tt.Close()\n\t\t\treturn\n\t\t}\n\t\tswitch frame := frame.(type) {\n\t\tcase *http2.MetaHeadersFrame:\n\t\t\tif t.operateHeaders(frame, handle, traceCtx) {\n\t\t\t\tt.Close()\n\t\t\t\tbreak\n\t\t\t}\n\t\tcase *http2.DataFrame:\n\t\t\tt.handleData(frame)\n\t\tcase *http2.RSTStreamFrame:\n\t\t\tt.handleRSTStream(frame)\n\t\tcase *http2.SettingsFrame:\n\t\t\tt.handleSettings(frame)\n\t\tcase *http2.PingFrame:\n\t\t\tt.handlePing(frame)\n\t\tcase *http2.WindowUpdateFrame:\n\t\t\tt.handleWindowUpdate(frame)\n\t\tcase *http2.GoAwayFrame:\n\t\t\t// TODO: Handle GoAway from the client appropriately.\n\t\tdefault:\n\t\t\terrorf(\"transport: http2Server.HandleStreams found unhandled frame type %v.\", frame)\n\t\t}\n\t}\n}\n\nfunc (t *http2Server) getStream(f http2.Frame) (*Stream, bool) {\n\tt.mu.Lock()\n\tdefer t.mu.Unlock()\n\tif t.activeStreams == nil {\n\t\t// The transport is closing.\n\t\treturn nil, false\n\t}\n\ts, ok := t.activeStreams[f.Header().StreamID]\n\tif !ok {\n\t\t// The stream is already done.\n\t\treturn nil, false\n\t}\n\treturn s, true\n}\n\n// adjustWindow sends out extra window update over the initial window size\n// of stream if the application is requesting data larger in size than\n// the window.\nfunc (t *http2Server) adjustWindow(s *Stream, n uint32) {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif s.state == streamDone {\n\t\treturn\n\t}\n\tif w := s.fc.maybeAdjust(n); w > 0 {\n\t\tif cw := t.fc.resetPendingUpdate(); cw > 0 {\n\t\t\tt.controlBuf.put(&windowUpdate{0, cw})\n\t\t}\n\t\tt.controlBuf.put(&windowUpdate{s.id, w})\n\t}\n}\n\n// updateWindow adjusts the inbound quota for the stream and the transport.\n// Window updates will deliver to the controller for sending when\n// the cumulative quota exceeds the corresponding threshold.\nfunc (t *http2Server) updateWindow(s *Stream, n uint32) {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif s.state == streamDone {\n\t\treturn\n\t}\n\tif w := s.fc.onRead(n); w > 0 {\n\t\tif cw := t.fc.resetPendingUpdate(); cw > 0 {\n\t\t\tt.controlBuf.put(&windowUpdate{0, cw})\n\t\t}\n\t\tt.controlBuf.put(&windowUpdate{s.id, w})\n\t}\n}\n\n// updateFlowControl updates the incoming flow control windows\n// for the transport and the stream based on the current bdp\n// estimation.\nfunc (t *http2Server) updateFlowControl(n uint32) {\n\tt.mu.Lock()\n\tfor _, s := range t.activeStreams {\n\t\ts.fc.newLimit(n)\n\t}\n\tt.initialWindowSize = int32(n)\n\tt.mu.Unlock()\n\tt.controlBuf.put(&windowUpdate{0, t.fc.newLimit(n)})\n\tt.controlBuf.put(&settings{\n\t\tack: false,\n\t\tss: []http2.Setting{\n\t\t\t{\n\t\t\t\tID:  http2.SettingInitialWindowSize,\n\t\t\t\tVal: uint32(n),\n\t\t\t},\n\t\t},\n\t})\n\n}\n\nfunc (t *http2Server) handleData(f *http2.DataFrame) {\n\tsize := f.Header().Length\n\tvar sendBDPPing bool\n\tif t.bdpEst != nil {\n\t\tsendBDPPing = t.bdpEst.add(uint32(size))\n\t}\n\t// Decouple connection's flow control from application's read.\n\t// An update on connection's flow control should not depend on\n\t// whether user application has read the data or not. Such a\n\t// restriction is already imposed on the stream's flow control,\n\t// and therefore the sender will be blocked anyways.\n\t// Decoupling the connection flow control will prevent other\n\t// active(fast) streams from starving in presence of slow or\n\t// inactive streams.\n\t//\n\t// Furthermore, if a bdpPing is being sent out we can piggyback\n\t// connection's window update for the bytes we just received.\n\tif sendBDPPing {\n\t\tif size != 0 { // Could be an empty frame.\n\t\t\tt.controlBuf.put(&windowUpdate{0, uint32(size)})\n\t\t}\n\t\tt.controlBuf.put(bdpPing)\n\t} else {\n\t\tif err := t.fc.onData(uint32(size)); err != nil {\n\t\t\terrorf(\"transport: http2Server %v\", err)\n\t\t\tt.Close()\n\t\t\treturn\n\t\t}\n\t\tif w := t.fc.onRead(uint32(size)); w > 0 {\n\t\t\tt.controlBuf.put(&windowUpdate{0, w})\n\t\t}\n\t}\n\t// Select the right stream to dispatch.\n\ts, ok := t.getStream(f)\n\tif !ok {\n\t\treturn\n\t}\n\tif size > 0 {\n\t\ts.mu.Lock()\n\t\tif s.state == streamDone {\n\t\t\ts.mu.Unlock()\n\t\t\treturn\n\t\t}\n\t\tif err := s.fc.onData(uint32(size)); err != nil {\n\t\t\ts.mu.Unlock()\n\t\t\tt.closeStream(s)\n\t\t\tt.controlBuf.put(&resetStream{s.id, http2.ErrCodeFlowControl})\n\t\t\treturn\n\t\t}\n\t\tif f.Header().Flags.Has(http2.FlagDataPadded) {\n\t\t\tif w := s.fc.onRead(uint32(size) - uint32(len(f.Data()))); w > 0 {\n\t\t\t\tt.controlBuf.put(&windowUpdate{s.id, w})\n\t\t\t}\n\t\t}\n\t\ts.mu.Unlock()\n\t\t// TODO(bradfitz, zhaoq): A copy is required here because there is no\n\t\t// guarantee f.Data() is consumed before the arrival of next frame.\n\t\t// Can this copy be eliminated?\n\t\tif len(f.Data()) > 0 {\n\t\t\tdata := make([]byte, len(f.Data()))\n\t\t\tcopy(data, f.Data())\n\t\t\ts.write(recvMsg{data: data})\n\t\t}\n\t}\n\tif f.Header().Flags.Has(http2.FlagDataEndStream) {\n\t\t// Received the end of stream from the client.\n\t\ts.mu.Lock()\n\t\tif s.state != streamDone {\n\t\t\ts.state = streamReadDone\n\t\t}\n\t\ts.mu.Unlock()\n\t\ts.write(recvMsg{err: io.EOF})\n\t}\n}\n\nfunc (t *http2Server) handleRSTStream(f *http2.RSTStreamFrame) {\n\ts, ok := t.getStream(f)\n\tif !ok {\n\t\treturn\n\t}\n\tt.closeStream(s)\n}\n\nfunc (t *http2Server) handleSettings(f *http2.SettingsFrame) {\n\tif f.IsAck() {\n\t\treturn\n\t}\n\tvar ss []http2.Setting\n\tf.ForeachSetting(func(s http2.Setting) error {\n\t\tss = append(ss, s)\n\t\treturn nil\n\t})\n\tt.controlBuf.put(&settings{ack: true, ss: ss})\n}\n\nfunc (t *http2Server) applySettings(ss []http2.Setting) {\n\tfor _, s := range ss {\n\t\tif s.ID == http2.SettingInitialWindowSize {\n\t\t\tt.mu.Lock()\n\t\t\tfor _, stream := range t.activeStreams {\n\t\t\t\tstream.sendQuotaPool.addAndUpdate(int(s.Val) - int(t.streamSendQuota))\n\t\t\t}\n\t\t\tt.streamSendQuota = s.Val\n\t\t\tt.mu.Unlock()\n\t\t}\n\n\t}\n}\n\nconst (\n\tmaxPingStrikes     = 2\n\tdefaultPingTimeout = 2 * time.Hour\n)\n\nfunc (t *http2Server) handlePing(f *http2.PingFrame) {\n\tif f.IsAck() {\n\t\tif f.Data == goAwayPing.data && t.drainChan != nil {\n\t\t\tclose(t.drainChan)\n\t\t\treturn\n\t\t}\n\t\t// Maybe it's a BDP ping.\n\t\tif t.bdpEst != nil {\n\t\t\tt.bdpEst.calculate(f.Data)\n\t\t}\n\t\treturn\n\t}\n\tpingAck := &ping{ack: true}\n\tcopy(pingAck.data[:], f.Data[:])\n\tt.controlBuf.put(pingAck)\n\n\tnow := time.Now()\n\tdefer func() {\n\t\tt.lastPingAt = now\n\t}()\n\t// A reset ping strikes means that we don't need to check for policy\n\t// violation for this ping and the pingStrikes counter should be set\n\t// to 0.\n\tif atomic.CompareAndSwapUint32(&t.resetPingStrikes, 1, 0) {\n\t\tt.pingStrikes = 0\n\t\treturn\n\t}\n\tt.mu.Lock()\n\tns := len(t.activeStreams)\n\tt.mu.Unlock()\n\tif ns < 1 && !t.kep.PermitWithoutStream {\n\t\t// Keepalive shouldn't be active thus, this new ping should\n\t\t// have come after at least defaultPingTimeout.\n\t\tif t.lastPingAt.Add(defaultPingTimeout).After(now) {\n\t\t\tt.pingStrikes++\n\t\t}\n\t} else {\n\t\t// Check if keepalive policy is respected.\n\t\tif t.lastPingAt.Add(t.kep.MinTime).After(now) {\n\t\t\tt.pingStrikes++\n\t\t}\n\t}\n\n\tif t.pingStrikes > maxPingStrikes {\n\t\t// Send goaway and close the connection.\n\t\terrorf(\"transport: Got to too many pings from the client, closing the connection.\")\n\t\tt.controlBuf.put(&goAway{code: http2.ErrCodeEnhanceYourCalm, debugData: []byte(\"too_many_pings\"), closeConn: true})\n\t}\n}\n\nfunc (t *http2Server) handleWindowUpdate(f *http2.WindowUpdateFrame) {\n\tid := f.Header().StreamID\n\tincr := f.Increment\n\tif id == 0 {\n\t\tt.sendQuotaPool.add(int(incr))\n\t\treturn\n\t}\n\tif s, ok := t.getStream(f); ok {\n\t\ts.sendQuotaPool.add(int(incr))\n\t}\n}\n\n// WriteHeader sends the header metedata md back to the client.\nfunc (t *http2Server) WriteHeader(s *Stream, md metadata.MD) error {\n\tselect {\n\tcase <-s.ctx.Done():\n\t\treturn ContextErr(s.ctx.Err())\n\tcase <-t.ctx.Done():\n\t\treturn ErrConnClosing\n\tdefault:\n\t}\n\n\ts.mu.Lock()\n\tif s.headerOk || s.state == streamDone {\n\t\ts.mu.Unlock()\n\t\treturn ErrIllegalHeaderWrite\n\t}\n\ts.headerOk = true\n\tif md.Len() > 0 {\n\t\tif s.header.Len() > 0 {\n\t\t\ts.header = metadata.Join(s.header, md)\n\t\t} else {\n\t\t\ts.header = md\n\t\t}\n\t}\n\tmd = s.header\n\ts.mu.Unlock()\n\t// TODO(mmukhi): Benchmark if the perfomance gets better if count the metadata and other header fields\n\t// first and create a slice of that exact size.\n\theaderFields := make([]hpack.HeaderField, 0, 2) // at least :status, content-type will be there if none else.\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \":status\", Value: \"200\"})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \"content-type\", Value: \"application/grpc\"})\n\tif s.sendCompress != \"\" {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-encoding\", Value: s.sendCompress})\n\t}\n\tfor k, vv := range md {\n\t\tif isReservedHeader(k) {\n\t\t\t// Clients don't tolerate reading restricted headers after some non restricted ones were sent.\n\t\t\tcontinue\n\t\t}\n\t\tfor _, v := range vv {\n\t\t\theaderFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})\n\t\t}\n\t}\n\tt.controlBuf.put(&headerFrame{\n\t\tstreamID:  s.id,\n\t\thf:        headerFields,\n\t\tendStream: false,\n\t})\n\tif t.stats != nil {\n\t\toutHeader := &stats.OutHeader{\n\t\t//WireLength: // TODO(mmukhi): Revisit this later, if needed.\n\t\t}\n\t\tt.stats.HandleRPC(s.Context(), outHeader)\n\t}\n\treturn nil\n}\n\n// WriteStatus sends stream status to the client and terminates the stream.\n// There is no further I/O operations being able to perform on this stream.\n// TODO(zhaoq): Now it indicates the end of entire stream. Revisit if early\n// OK is adopted.\nfunc (t *http2Server) WriteStatus(s *Stream, st *status.Status) error {\n\tselect {\n\tcase <-t.ctx.Done():\n\t\treturn ErrConnClosing\n\tdefault:\n\t}\n\n\tvar headersSent, hasHeader bool\n\ts.mu.Lock()\n\tif s.state == streamDone {\n\t\ts.mu.Unlock()\n\t\treturn nil\n\t}\n\tif s.headerOk {\n\t\theadersSent = true\n\t}\n\tif s.header.Len() > 0 {\n\t\thasHeader = true\n\t}\n\ts.mu.Unlock()\n\n\tif !headersSent && hasHeader {\n\t\tt.WriteHeader(s, nil)\n\t\theadersSent = true\n\t}\n\n\t// TODO(mmukhi): Benchmark if the perfomance gets better if count the metadata and other header fields\n\t// first and create a slice of that exact size.\n\theaderFields := make([]hpack.HeaderField, 0, 2) // grpc-status and grpc-message will be there if none else.\n\tif !headersSent {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \":status\", Value: \"200\"})\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"content-type\", Value: \"application/grpc\"})\n\t}\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-status\", Value: strconv.Itoa(int(st.Code()))})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-message\", Value: encodeGrpcMessage(st.Message())})\n\n\tif p := st.Proto(); p != nil && len(p.Details) > 0 {\n\t\tstBytes, err := proto.Marshal(p)\n\t\tif err != nil {\n\t\t\t// TODO: return error instead, when callers are able to handle it.\n\t\t\tpanic(err)\n\t\t}\n\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-status-details-bin\", Value: encodeBinHeader(stBytes)})\n\t}\n\n\t// Attach the trailer metadata.\n\tfor k, vv := range s.trailer {\n\t\t// Clients don't tolerate reading restricted headers after some non restricted ones were sent.\n\t\tif isReservedHeader(k) {\n\t\t\tcontinue\n\t\t}\n\t\tfor _, v := range vv {\n\t\t\theaderFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})\n\t\t}\n\t}\n\tt.controlBuf.put(&headerFrame{\n\t\tstreamID:  s.id,\n\t\thf:        headerFields,\n\t\tendStream: true,\n\t})\n\tif t.stats != nil {\n\t\tt.stats.HandleRPC(s.Context(), &stats.OutTrailer{})\n\t}\n\tt.closeStream(s)\n\treturn nil\n}\n\n// Write converts the data into HTTP2 data frame and sends it out. Non-nil error\n// is returns if it fails (e.g., framing error, transport error).\nfunc (t *http2Server) Write(s *Stream, hdr []byte, data []byte, opts *Options) (err error) {\n\tselect {\n\tcase <-s.ctx.Done():\n\t\treturn ContextErr(s.ctx.Err())\n\tcase <-t.ctx.Done():\n\t\treturn ErrConnClosing\n\tdefault:\n\t}\n\n\tvar writeHeaderFrame bool\n\ts.mu.Lock()\n\tif s.state == streamDone {\n\t\ts.mu.Unlock()\n\t\treturn streamErrorf(codes.Unknown, \"the stream has been done\")\n\t}\n\tif !s.headerOk {\n\t\twriteHeaderFrame = true\n\t}\n\ts.mu.Unlock()\n\tif writeHeaderFrame {\n\t\tt.WriteHeader(s, nil)\n\t}\n\t// Add data to header frame so that we can equally distribute data across frames.\n\temptyLen := http2MaxFrameLen - len(hdr)\n\tif emptyLen > len(data) {\n\t\temptyLen = len(data)\n\t}\n\thdr = append(hdr, data[:emptyLen]...)\n\tdata = data[emptyLen:]\n\tfor _, r := range [][]byte{hdr, data} {\n\t\tfor len(r) > 0 {\n\t\t\tsize := http2MaxFrameLen\n\t\t\t// Wait until the stream has some quota to send the data.\n\t\t\tquotaChan, quotaVer := s.sendQuotaPool.acquireWithVersion()\n\t\t\tsq, err := wait(s.ctx, t.ctx, nil, nil, quotaChan)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\t// Wait until the transport has some quota to send the data.\n\t\t\ttq, err := wait(s.ctx, t.ctx, nil, nil, t.sendQuotaPool.acquire())\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif sq < size {\n\t\t\t\tsize = sq\n\t\t\t}\n\t\t\tif tq < size {\n\t\t\t\tsize = tq\n\t\t\t}\n\t\t\tif size > len(r) {\n\t\t\t\tsize = len(r)\n\t\t\t}\n\t\t\tp := r[:size]\n\t\t\tps := len(p)\n\t\t\tif ps < tq {\n\t\t\t\t// Overbooked transport quota. Return it back.\n\t\t\t\tt.sendQuotaPool.add(tq - ps)\n\t\t\t}\n\t\t\t// Acquire local send quota to be able to write to the controlBuf.\n\t\t\tltq, err := wait(s.ctx, t.ctx, nil, nil, s.localSendQuota.acquire())\n\t\t\tif err != nil {\n\t\t\t\tif _, ok := err.(ConnectionError); !ok {\n\t\t\t\t\tt.sendQuotaPool.add(ps)\n\t\t\t\t}\n\t\t\t\treturn err\n\t\t\t}\n\t\t\ts.localSendQuota.add(ltq - ps) // It's ok we make this negative.\n\t\t\t// Reset ping strikes when sending data since this might cause\n\t\t\t// the peer to send ping.\n\t\t\tatomic.StoreUint32(&t.resetPingStrikes, 1)\n\t\t\tsuccess := func() {\n\t\t\t\tt.controlBuf.put(&dataFrame{streamID: s.id, endStream: false, d: p, f: func() {\n\t\t\t\t\ts.localSendQuota.add(ps)\n\t\t\t\t}})\n\t\t\t\tif ps < sq {\n\t\t\t\t\t// Overbooked stream quota. Return it back.\n\t\t\t\t\ts.sendQuotaPool.lockedAdd(sq - ps)\n\t\t\t\t}\n\t\t\t\tr = r[ps:]\n\t\t\t}\n\t\t\tfailure := func() {\n\t\t\t\ts.sendQuotaPool.lockedAdd(sq)\n\t\t\t}\n\t\t\tif !s.sendQuotaPool.compareAndExecute(quotaVer, success, failure) {\n\t\t\t\tt.sendQuotaPool.add(ps)\n\t\t\t\ts.localSendQuota.add(ps)\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\n// keepalive running in a separate goroutine does the following:\n// 1. Gracefully closes an idle connection after a duration of keepalive.MaxConnectionIdle.\n// 2. Gracefully closes any connection after a duration of keepalive.MaxConnectionAge.\n// 3. Forcibly closes a connection after an additive period of keepalive.MaxConnectionAgeGrace over keepalive.MaxConnectionAge.\n// 4. Makes sure a connection is alive by sending pings with a frequency of keepalive.Time and closes a non-responsive connection\n// after an additional duration of keepalive.Timeout.\nfunc (t *http2Server) keepalive() {\n\tp := &ping{}\n\tvar pingSent bool\n\tmaxIdle := time.NewTimer(t.kp.MaxConnectionIdle)\n\tmaxAge := time.NewTimer(t.kp.MaxConnectionAge)\n\tkeepalive := time.NewTimer(t.kp.Time)\n\t// NOTE: All exit paths of this function should reset their\n\t// respective timers. A failure to do so will cause the\n\t// following clean-up to deadlock and eventually leak.\n\tdefer func() {\n\t\tif !maxIdle.Stop() {\n\t\t\t<-maxIdle.C\n\t\t}\n\t\tif !maxAge.Stop() {\n\t\t\t<-maxAge.C\n\t\t}\n\t\tif !keepalive.Stop() {\n\t\t\t<-keepalive.C\n\t\t}\n\t}()\n\tfor {\n\t\tselect {\n\t\tcase <-maxIdle.C:\n\t\t\tt.mu.Lock()\n\t\t\tidle := t.idle\n\t\t\tif idle.IsZero() { // The connection is non-idle.\n\t\t\t\tt.mu.Unlock()\n\t\t\t\tmaxIdle.Reset(t.kp.MaxConnectionIdle)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tval := t.kp.MaxConnectionIdle - time.Since(idle)\n\t\t\tt.mu.Unlock()\n\t\t\tif val <= 0 {\n\t\t\t\t// The connection has been idle for a duration of keepalive.MaxConnectionIdle or more.\n\t\t\t\t// Gracefully close the connection.\n\t\t\t\tt.drain(http2.ErrCodeNo, []byte{})\n\t\t\t\t// Reseting the timer so that the clean-up doesn't deadlock.\n\t\t\t\tmaxIdle.Reset(infinity)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tmaxIdle.Reset(val)\n\t\tcase <-maxAge.C:\n\t\t\tt.drain(http2.ErrCodeNo, []byte{})\n\t\t\tmaxAge.Reset(t.kp.MaxConnectionAgeGrace)\n\t\t\tselect {\n\t\t\tcase <-maxAge.C:\n\t\t\t\t// Close the connection after grace period.\n\t\t\t\tt.Close()\n\t\t\t\t// Reseting the timer so that the clean-up doesn't deadlock.\n\t\t\t\tmaxAge.Reset(infinity)\n\t\t\tcase <-t.ctx.Done():\n\t\t\t}\n\t\t\treturn\n\t\tcase <-keepalive.C:\n\t\t\tif atomic.CompareAndSwapUint32(&t.activity, 1, 0) {\n\t\t\t\tpingSent = false\n\t\t\t\tkeepalive.Reset(t.kp.Time)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif pingSent {\n\t\t\t\tt.Close()\n\t\t\t\t// Reseting the timer so that the clean-up doesn't deadlock.\n\t\t\t\tkeepalive.Reset(infinity)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tpingSent = true\n\t\t\tt.controlBuf.put(p)\n\t\t\tkeepalive.Reset(t.kp.Timeout)\n\t\tcase <-t.ctx.Done():\n\t\t\treturn\n\t\t}\n\t}\n}\n\nvar goAwayPing = &ping{data: [8]byte{1, 6, 1, 8, 0, 3, 3, 9}}\n\n// TODO(mmukhi): A lot of this code(and code in other places in the tranpsort layer)\n// is duplicated between the client and the server.\n// The transport layer needs to be refactored to take care of this.\nfunc (t *http2Server) itemHandler(i item) error {\n\tswitch i := i.(type) {\n\tcase *dataFrame:\n\t\tif err := t.framer.fr.WriteData(i.streamID, i.endStream, i.d); err != nil {\n\t\t\treturn err\n\t\t}\n\t\ti.f()\n\t\treturn nil\n\tcase *headerFrame:\n\t\tt.hBuf.Reset()\n\t\tfor _, f := range i.hf {\n\t\t\tt.hEnc.WriteField(f)\n\t\t}\n\t\tfirst := true\n\t\tendHeaders := false\n\t\tfor !endHeaders {\n\t\t\tsize := t.hBuf.Len()\n\t\t\tif size > http2MaxFrameLen {\n\t\t\t\tsize = http2MaxFrameLen\n\t\t\t} else {\n\t\t\t\tendHeaders = true\n\t\t\t}\n\t\t\tvar err error\n\t\t\tif first {\n\t\t\t\tfirst = false\n\t\t\t\terr = t.framer.fr.WriteHeaders(http2.HeadersFrameParam{\n\t\t\t\t\tStreamID:      i.streamID,\n\t\t\t\t\tBlockFragment: t.hBuf.Next(size),\n\t\t\t\t\tEndStream:     i.endStream,\n\t\t\t\t\tEndHeaders:    endHeaders,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\terr = t.framer.fr.WriteContinuation(\n\t\t\t\t\ti.streamID,\n\t\t\t\t\tendHeaders,\n\t\t\t\t\tt.hBuf.Next(size),\n\t\t\t\t)\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tatomic.StoreUint32(&t.resetPingStrikes, 1)\n\t\treturn nil\n\tcase *windowUpdate:\n\t\treturn t.framer.fr.WriteWindowUpdate(i.streamID, i.increment)\n\tcase *settings:\n\t\tif i.ack {\n\t\t\tt.applySettings(i.ss)\n\t\t\treturn t.framer.fr.WriteSettingsAck()\n\t\t}\n\t\treturn t.framer.fr.WriteSettings(i.ss...)\n\tcase *resetStream:\n\t\treturn t.framer.fr.WriteRSTStream(i.streamID, i.code)\n\tcase *goAway:\n\t\tt.mu.Lock()\n\t\tif t.state == closing {\n\t\t\tt.mu.Unlock()\n\t\t\t// The transport is closing.\n\t\t\treturn fmt.Errorf(\"transport: Connection closing\")\n\t\t}\n\t\tsid := t.maxStreamID\n\t\tif !i.headsUp {\n\t\t\t// Stop accepting more streams now.\n\t\t\tt.state = draining\n\t\t\tt.mu.Unlock()\n\t\t\tif err := t.framer.fr.WriteGoAway(sid, i.code, i.debugData); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif i.closeConn {\n\t\t\t\t// Abruptly close the connection following the GoAway (via\n\t\t\t\t// loopywriter).  But flush out what's inside the buffer first.\n\t\t\t\tt.framer.writer.Flush()\n\t\t\t\treturn fmt.Errorf(\"transport: Connection closing\")\n\t\t\t}\n\t\t\treturn nil\n\t\t}\n\t\tt.mu.Unlock()\n\t\t// For a graceful close, send out a GoAway with stream ID of MaxUInt32,\n\t\t// Follow that with a ping and wait for the ack to come back or a timer\n\t\t// to expire. During this time accept new streams since they might have\n\t\t// originated before the GoAway reaches the client.\n\t\t// After getting the ack or timer expiration send out another GoAway this\n\t\t// time with an ID of the max stream server intends to process.\n\t\tif err := t.framer.fr.WriteGoAway(math.MaxUint32, http2.ErrCodeNo, []byte{}); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err := t.framer.fr.WritePing(false, goAwayPing.data); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgo func() {\n\t\t\ttimer := time.NewTimer(time.Minute)\n\t\t\tdefer timer.Stop()\n\t\t\tselect {\n\t\t\tcase <-t.drainChan:\n\t\t\tcase <-timer.C:\n\t\t\tcase <-t.ctx.Done():\n\t\t\t\treturn\n\t\t\t}\n\t\t\tt.controlBuf.put(&goAway{code: i.code, debugData: i.debugData})\n\t\t}()\n\t\treturn nil\n\tcase *flushIO:\n\t\treturn t.framer.writer.Flush()\n\tcase *ping:\n\t\tif !i.ack {\n\t\t\tt.bdpEst.timesnap(i.data)\n\t\t}\n\t\treturn t.framer.fr.WritePing(i.ack, i.data)\n\tdefault:\n\t\terr := status.Errorf(codes.Internal, \"transport: http2Server.controller got unexpected item type %t\", i)\n\t\terrorf(\"%v\", err)\n\t\treturn err\n\t}\n}\n\n// Close starts shutting down the http2Server transport.\n// TODO(zhaoq): Now the destruction is not blocked on any pending streams. This\n// could cause some resource issue. Revisit this later.\nfunc (t *http2Server) Close() error {\n\tt.mu.Lock()\n\tif t.state == closing {\n\t\tt.mu.Unlock()\n\t\treturn errors.New(\"transport: Close() was already called\")\n\t}\n\tt.state = closing\n\tstreams := t.activeStreams\n\tt.activeStreams = nil\n\tt.mu.Unlock()\n\tt.cancel()\n\terr := t.conn.Close()\n\t// Cancel all active streams.\n\tfor _, s := range streams {\n\t\ts.cancel()\n\t}\n\tif t.stats != nil {\n\t\tconnEnd := &stats.ConnEnd{}\n\t\tt.stats.HandleConn(t.ctx, connEnd)\n\t}\n\treturn err\n}\n\n// closeStream clears the footprint of a stream when the stream is not needed\n// any more.\nfunc (t *http2Server) closeStream(s *Stream) {\n\tt.mu.Lock()\n\tdelete(t.activeStreams, s.id)\n\tif len(t.activeStreams) == 0 {\n\t\tt.idle = time.Now()\n\t}\n\tif t.state == draining && len(t.activeStreams) == 0 {\n\t\tdefer t.Close()\n\t}\n\tt.mu.Unlock()\n\t// In case stream sending and receiving are invoked in separate\n\t// goroutines (e.g., bi-directional streaming), cancel needs to be\n\t// called to interrupt the potential blocking on other goroutines.\n\ts.cancel()\n\ts.mu.Lock()\n\tif s.state == streamDone {\n\t\ts.mu.Unlock()\n\t\treturn\n\t}\n\ts.state = streamDone\n\ts.mu.Unlock()\n}\n\nfunc (t *http2Server) RemoteAddr() net.Addr {\n\treturn t.remoteAddr\n}\n\nfunc (t *http2Server) Drain() {\n\tt.drain(http2.ErrCodeNo, []byte{})\n}\n\nfunc (t *http2Server) drain(code http2.ErrCode, debugData []byte) {\n\tt.mu.Lock()\n\tdefer t.mu.Unlock()\n\tif t.drainChan != nil {\n\t\treturn\n\t}\n\tt.drainChan = make(chan struct{})\n\tt.controlBuf.put(&goAway{code: code, debugData: debugData, headsUp: true})\n}\n\nvar rgen = rand.New(rand.NewSource(time.Now().UnixNano()))\n\nfunc getJitter(v time.Duration) time.Duration {\n\tif v == infinity {\n\t\treturn 0\n\t}\n\t// Generate a jitter between +/- 10% of the value.\n\tr := int64(v / 10)\n\tj := rgen.Int63n(2*r) - r\n\treturn time.Duration(j)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/transport/http_util.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\npackage transport\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"encoding/base64\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"net/http\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"golang.org/x/net/http2\"\n\t\"golang.org/x/net/http2/hpack\"\n\tspb \"google.golang.org/genproto/googleapis/rpc/status\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/status\"\n)\n\nconst (\n\t// http2MaxFrameLen specifies the max length of a HTTP2 frame.\n\thttp2MaxFrameLen = 16384 // 16KB frame\n\t// http://http2.github.io/http2-spec/#SettingValues\n\thttp2InitHeaderTableSize = 4096\n\t// http2IOBufSize specifies the buffer size for sending frames.\n\tdefaultWriteBufSize = 32 * 1024\n\tdefaultReadBufSize  = 32 * 1024\n)\n\nvar (\n\tclientPreface   = []byte(http2.ClientPreface)\n\thttp2ErrConvTab = map[http2.ErrCode]codes.Code{\n\t\thttp2.ErrCodeNo:                 codes.Internal,\n\t\thttp2.ErrCodeProtocol:           codes.Internal,\n\t\thttp2.ErrCodeInternal:           codes.Internal,\n\t\thttp2.ErrCodeFlowControl:        codes.ResourceExhausted,\n\t\thttp2.ErrCodeSettingsTimeout:    codes.Internal,\n\t\thttp2.ErrCodeStreamClosed:       codes.Internal,\n\t\thttp2.ErrCodeFrameSize:          codes.Internal,\n\t\thttp2.ErrCodeRefusedStream:      codes.Unavailable,\n\t\thttp2.ErrCodeCancel:             codes.Canceled,\n\t\thttp2.ErrCodeCompression:        codes.Internal,\n\t\thttp2.ErrCodeConnect:            codes.Internal,\n\t\thttp2.ErrCodeEnhanceYourCalm:    codes.ResourceExhausted,\n\t\thttp2.ErrCodeInadequateSecurity: codes.PermissionDenied,\n\t\thttp2.ErrCodeHTTP11Required:     codes.FailedPrecondition,\n\t}\n\tstatusCodeConvTab = map[codes.Code]http2.ErrCode{\n\t\tcodes.Internal:          http2.ErrCodeInternal,\n\t\tcodes.Canceled:          http2.ErrCodeCancel,\n\t\tcodes.Unavailable:       http2.ErrCodeRefusedStream,\n\t\tcodes.ResourceExhausted: http2.ErrCodeEnhanceYourCalm,\n\t\tcodes.PermissionDenied:  http2.ErrCodeInadequateSecurity,\n\t}\n\thttpStatusConvTab = map[int]codes.Code{\n\t\t// 400 Bad Request - INTERNAL.\n\t\thttp.StatusBadRequest: codes.Internal,\n\t\t// 401 Unauthorized  - UNAUTHENTICATED.\n\t\thttp.StatusUnauthorized: codes.Unauthenticated,\n\t\t// 403 Forbidden - PERMISSION_DENIED.\n\t\thttp.StatusForbidden: codes.PermissionDenied,\n\t\t// 404 Not Found - UNIMPLEMENTED.\n\t\thttp.StatusNotFound: codes.Unimplemented,\n\t\t// 429 Too Many Requests - UNAVAILABLE.\n\t\thttp.StatusTooManyRequests: codes.Unavailable,\n\t\t// 502 Bad Gateway - UNAVAILABLE.\n\t\thttp.StatusBadGateway: codes.Unavailable,\n\t\t// 503 Service Unavailable - UNAVAILABLE.\n\t\thttp.StatusServiceUnavailable: codes.Unavailable,\n\t\t// 504 Gateway timeout - UNAVAILABLE.\n\t\thttp.StatusGatewayTimeout: codes.Unavailable,\n\t}\n)\n\n// Records the states during HPACK decoding. Must be reset once the\n// decoding of the entire headers are finished.\ntype decodeState struct {\n\tencoding string\n\t// statusGen caches the stream status received from the trailer the server\n\t// sent.  Client side only.  Do not access directly.  After all trailers are\n\t// parsed, use the status method to retrieve the status.\n\tstatusGen *status.Status\n\t// rawStatusCode and rawStatusMsg are set from the raw trailer fields and are not\n\t// intended for direct access outside of parsing.\n\trawStatusCode *int\n\trawStatusMsg  string\n\thttpStatus    *int\n\t// Server side only fields.\n\ttimeoutSet bool\n\ttimeout    time.Duration\n\tmethod     string\n\t// key-value metadata map from the peer.\n\tmdata      map[string][]string\n\tstatsTags  []byte\n\tstatsTrace []byte\n}\n\n// isReservedHeader checks whether hdr belongs to HTTP2 headers\n// reserved by gRPC protocol. Any other headers are classified as the\n// user-specified metadata.\nfunc isReservedHeader(hdr string) bool {\n\tif hdr != \"\" && hdr[0] == ':' {\n\t\treturn true\n\t}\n\tswitch hdr {\n\tcase \"content-type\",\n\t\t\"grpc-message-type\",\n\t\t\"grpc-encoding\",\n\t\t\"grpc-message\",\n\t\t\"grpc-status\",\n\t\t\"grpc-timeout\",\n\t\t\"grpc-status-details-bin\",\n\t\t\"te\":\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n\n// isWhitelistedPseudoHeader checks whether hdr belongs to HTTP2 pseudoheaders\n// that should be propagated into metadata visible to users.\nfunc isWhitelistedPseudoHeader(hdr string) bool {\n\tswitch hdr {\n\tcase \":authority\":\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n\nfunc validContentType(t string) bool {\n\te := \"application/grpc\"\n\tif !strings.HasPrefix(t, e) {\n\t\treturn false\n\t}\n\t// Support variations on the content-type\n\t// (e.g. \"application/grpc+blah\", \"application/grpc;blah\").\n\tif len(t) > len(e) && t[len(e)] != '+' && t[len(e)] != ';' {\n\t\treturn false\n\t}\n\treturn true\n}\n\nfunc (d *decodeState) status() *status.Status {\n\tif d.statusGen == nil {\n\t\t// No status-details were provided; generate status using code/msg.\n\t\td.statusGen = status.New(codes.Code(int32(*(d.rawStatusCode))), d.rawStatusMsg)\n\t}\n\treturn d.statusGen\n}\n\nconst binHdrSuffix = \"-bin\"\n\nfunc encodeBinHeader(v []byte) string {\n\treturn base64.RawStdEncoding.EncodeToString(v)\n}\n\nfunc decodeBinHeader(v string) ([]byte, error) {\n\tif len(v)%4 == 0 {\n\t\t// Input was padded, or padding was not necessary.\n\t\treturn base64.StdEncoding.DecodeString(v)\n\t}\n\treturn base64.RawStdEncoding.DecodeString(v)\n}\n\nfunc encodeMetadataHeader(k, v string) string {\n\tif strings.HasSuffix(k, binHdrSuffix) {\n\t\treturn encodeBinHeader(([]byte)(v))\n\t}\n\treturn v\n}\n\nfunc decodeMetadataHeader(k, v string) (string, error) {\n\tif strings.HasSuffix(k, binHdrSuffix) {\n\t\tb, err := decodeBinHeader(v)\n\t\treturn string(b), err\n\t}\n\treturn v, nil\n}\n\nfunc (d *decodeState) decodeResponseHeader(frame *http2.MetaHeadersFrame) error {\n\tfor _, hf := range frame.Fields {\n\t\tif err := d.processHeaderField(hf); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// If grpc status exists, no need to check further.\n\tif d.rawStatusCode != nil || d.statusGen != nil {\n\t\treturn nil\n\t}\n\n\t// If grpc status doesn't exist and http status doesn't exist,\n\t// then it's a malformed header.\n\tif d.httpStatus == nil {\n\t\treturn streamErrorf(codes.Internal, \"malformed header: doesn't contain status(gRPC or HTTP)\")\n\t}\n\n\tif *(d.httpStatus) != http.StatusOK {\n\t\tcode, ok := httpStatusConvTab[*(d.httpStatus)]\n\t\tif !ok {\n\t\t\tcode = codes.Unknown\n\t\t}\n\t\treturn streamErrorf(code, http.StatusText(*(d.httpStatus)))\n\t}\n\n\t// gRPC status doesn't exist and http status is OK.\n\t// Set rawStatusCode to be unknown and return nil error.\n\t// So that, if the stream has ended this Unknown status\n\t// will be propogated to the user.\n\t// Otherwise, it will be ignored. In which case, status from\n\t// a later trailer, that has StreamEnded flag set, is propogated.\n\tcode := int(codes.Unknown)\n\td.rawStatusCode = &code\n\treturn nil\n\n}\n\nfunc (d *decodeState) addMetadata(k, v string) {\n\tif d.mdata == nil {\n\t\td.mdata = make(map[string][]string)\n\t}\n\td.mdata[k] = append(d.mdata[k], v)\n}\n\nfunc (d *decodeState) processHeaderField(f hpack.HeaderField) error {\n\tswitch f.Name {\n\tcase \"content-type\":\n\t\tif !validContentType(f.Value) {\n\t\t\treturn streamErrorf(codes.FailedPrecondition, \"transport: received the unexpected content-type %q\", f.Value)\n\t\t}\n\tcase \"grpc-encoding\":\n\t\td.encoding = f.Value\n\tcase \"grpc-status\":\n\t\tcode, err := strconv.Atoi(f.Value)\n\t\tif err != nil {\n\t\t\treturn streamErrorf(codes.Internal, \"transport: malformed grpc-status: %v\", err)\n\t\t}\n\t\td.rawStatusCode = &code\n\tcase \"grpc-message\":\n\t\td.rawStatusMsg = decodeGrpcMessage(f.Value)\n\tcase \"grpc-status-details-bin\":\n\t\tv, err := decodeBinHeader(f.Value)\n\t\tif err != nil {\n\t\t\treturn streamErrorf(codes.Internal, \"transport: malformed grpc-status-details-bin: %v\", err)\n\t\t}\n\t\ts := &spb.Status{}\n\t\tif err := proto.Unmarshal(v, s); err != nil {\n\t\t\treturn streamErrorf(codes.Internal, \"transport: malformed grpc-status-details-bin: %v\", err)\n\t\t}\n\t\td.statusGen = status.FromProto(s)\n\tcase \"grpc-timeout\":\n\t\td.timeoutSet = true\n\t\tvar err error\n\t\tif d.timeout, err = decodeTimeout(f.Value); err != nil {\n\t\t\treturn streamErrorf(codes.Internal, \"transport: malformed time-out: %v\", err)\n\t\t}\n\tcase \":path\":\n\t\td.method = f.Value\n\tcase \":status\":\n\t\tcode, err := strconv.Atoi(f.Value)\n\t\tif err != nil {\n\t\t\treturn streamErrorf(codes.Internal, \"transport: malformed http-status: %v\", err)\n\t\t}\n\t\td.httpStatus = &code\n\tcase \"grpc-tags-bin\":\n\t\tv, err := decodeBinHeader(f.Value)\n\t\tif err != nil {\n\t\t\treturn streamErrorf(codes.Internal, \"transport: malformed grpc-tags-bin: %v\", err)\n\t\t}\n\t\td.statsTags = v\n\t\td.addMetadata(f.Name, string(v))\n\tcase \"grpc-trace-bin\":\n\t\tv, err := decodeBinHeader(f.Value)\n\t\tif err != nil {\n\t\t\treturn streamErrorf(codes.Internal, \"transport: malformed grpc-trace-bin: %v\", err)\n\t\t}\n\t\td.statsTrace = v\n\t\td.addMetadata(f.Name, string(v))\n\tdefault:\n\t\tif isReservedHeader(f.Name) && !isWhitelistedPseudoHeader(f.Name) {\n\t\t\tbreak\n\t\t}\n\t\tv, err := decodeMetadataHeader(f.Name, f.Value)\n\t\tif err != nil {\n\t\t\terrorf(\"Failed to decode metadata header (%q, %q): %v\", f.Name, f.Value, err)\n\t\t\treturn nil\n\t\t}\n\t\td.addMetadata(f.Name, string(v))\n\t}\n\treturn nil\n}\n\ntype timeoutUnit uint8\n\nconst (\n\thour        timeoutUnit = 'H'\n\tminute      timeoutUnit = 'M'\n\tsecond      timeoutUnit = 'S'\n\tmillisecond timeoutUnit = 'm'\n\tmicrosecond timeoutUnit = 'u'\n\tnanosecond  timeoutUnit = 'n'\n)\n\nfunc timeoutUnitToDuration(u timeoutUnit) (d time.Duration, ok bool) {\n\tswitch u {\n\tcase hour:\n\t\treturn time.Hour, true\n\tcase minute:\n\t\treturn time.Minute, true\n\tcase second:\n\t\treturn time.Second, true\n\tcase millisecond:\n\t\treturn time.Millisecond, true\n\tcase microsecond:\n\t\treturn time.Microsecond, true\n\tcase nanosecond:\n\t\treturn time.Nanosecond, true\n\tdefault:\n\t}\n\treturn\n}\n\nconst maxTimeoutValue int64 = 100000000 - 1\n\n// div does integer division and round-up the result. Note that this is\n// equivalent to (d+r-1)/r but has less chance to overflow.\nfunc div(d, r time.Duration) int64 {\n\tif m := d % r; m > 0 {\n\t\treturn int64(d/r + 1)\n\t}\n\treturn int64(d / r)\n}\n\n// TODO(zhaoq): It is the simplistic and not bandwidth efficient. Improve it.\nfunc encodeTimeout(t time.Duration) string {\n\tif t <= 0 {\n\t\treturn \"0n\"\n\t}\n\tif d := div(t, time.Nanosecond); d <= maxTimeoutValue {\n\t\treturn strconv.FormatInt(d, 10) + \"n\"\n\t}\n\tif d := div(t, time.Microsecond); d <= maxTimeoutValue {\n\t\treturn strconv.FormatInt(d, 10) + \"u\"\n\t}\n\tif d := div(t, time.Millisecond); d <= maxTimeoutValue {\n\t\treturn strconv.FormatInt(d, 10) + \"m\"\n\t}\n\tif d := div(t, time.Second); d <= maxTimeoutValue {\n\t\treturn strconv.FormatInt(d, 10) + \"S\"\n\t}\n\tif d := div(t, time.Minute); d <= maxTimeoutValue {\n\t\treturn strconv.FormatInt(d, 10) + \"M\"\n\t}\n\t// Note that maxTimeoutValue * time.Hour > MaxInt64.\n\treturn strconv.FormatInt(div(t, time.Hour), 10) + \"H\"\n}\n\nfunc decodeTimeout(s string) (time.Duration, error) {\n\tsize := len(s)\n\tif size < 2 {\n\t\treturn 0, fmt.Errorf(\"transport: timeout string is too short: %q\", s)\n\t}\n\tunit := timeoutUnit(s[size-1])\n\td, ok := timeoutUnitToDuration(unit)\n\tif !ok {\n\t\treturn 0, fmt.Errorf(\"transport: timeout unit is not recognized: %q\", s)\n\t}\n\tt, err := strconv.ParseInt(s[:size-1], 10, 64)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn d * time.Duration(t), nil\n}\n\nconst (\n\tspaceByte   = ' '\n\ttildaByte   = '~'\n\tpercentByte = '%'\n)\n\n// encodeGrpcMessage is used to encode status code in header field\n// \"grpc-message\".\n// It checks to see if each individual byte in msg is an\n// allowable byte, and then either percent encoding or passing it through.\n// When percent encoding, the byte is converted into hexadecimal notation\n// with a '%' prepended.\nfunc encodeGrpcMessage(msg string) string {\n\tif msg == \"\" {\n\t\treturn \"\"\n\t}\n\tlenMsg := len(msg)\n\tfor i := 0; i < lenMsg; i++ {\n\t\tc := msg[i]\n\t\tif !(c >= spaceByte && c < tildaByte && c != percentByte) {\n\t\t\treturn encodeGrpcMessageUnchecked(msg)\n\t\t}\n\t}\n\treturn msg\n}\n\nfunc encodeGrpcMessageUnchecked(msg string) string {\n\tvar buf bytes.Buffer\n\tlenMsg := len(msg)\n\tfor i := 0; i < lenMsg; i++ {\n\t\tc := msg[i]\n\t\tif c >= spaceByte && c < tildaByte && c != percentByte {\n\t\t\tbuf.WriteByte(c)\n\t\t} else {\n\t\t\tbuf.WriteString(fmt.Sprintf(\"%%%02X\", c))\n\t\t}\n\t}\n\treturn buf.String()\n}\n\n// decodeGrpcMessage decodes the msg encoded by encodeGrpcMessage.\nfunc decodeGrpcMessage(msg string) string {\n\tif msg == \"\" {\n\t\treturn \"\"\n\t}\n\tlenMsg := len(msg)\n\tfor i := 0; i < lenMsg; i++ {\n\t\tif msg[i] == percentByte && i+2 < lenMsg {\n\t\t\treturn decodeGrpcMessageUnchecked(msg)\n\t\t}\n\t}\n\treturn msg\n}\n\nfunc decodeGrpcMessageUnchecked(msg string) string {\n\tvar buf bytes.Buffer\n\tlenMsg := len(msg)\n\tfor i := 0; i < lenMsg; i++ {\n\t\tc := msg[i]\n\t\tif c == percentByte && i+2 < lenMsg {\n\t\t\tparsed, err := strconv.ParseUint(msg[i+1:i+3], 16, 8)\n\t\t\tif err != nil {\n\t\t\t\tbuf.WriteByte(c)\n\t\t\t} else {\n\t\t\t\tbuf.WriteByte(byte(parsed))\n\t\t\t\ti += 2\n\t\t\t}\n\t\t} else {\n\t\t\tbuf.WriteByte(c)\n\t\t}\n\t}\n\treturn buf.String()\n}\n\ntype framer struct {\n\tnumWriters int32\n\treader     io.Reader\n\twriter     *bufio.Writer\n\tfr         *http2.Framer\n}\n\nfunc newFramer(conn net.Conn, writeBufferSize, readBufferSize int) *framer {\n\tf := &framer{\n\t\treader: bufio.NewReaderSize(conn, readBufferSize),\n\t\twriter: bufio.NewWriterSize(conn, writeBufferSize),\n\t}\n\tf.fr = http2.NewFramer(f.writer, f.reader)\n\t// Opt-in to Frame reuse API on framer to reduce garbage.\n\t// Frames aren't safe to read from after a subsequent call to ReadFrame.\n\tf.fr.SetReuseFrames()\n\tf.fr.ReadMetaHeaders = hpack.NewDecoder(http2InitHeaderTableSize, nil)\n\treturn f\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/transport/log.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\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\n// This file contains wrappers for grpclog functions.\n// The transport package only logs to verbose level 2 by default.\n\npackage transport\n\nimport \"google.golang.org/grpc/grpclog\"\n\nconst logLevel = 2\n\nfunc infof(format string, args ...interface{}) {\n\tif grpclog.V(logLevel) {\n\t\tgrpclog.Infof(format, args...)\n\t}\n}\n\nfunc warningf(format string, args ...interface{}) {\n\tif grpclog.V(logLevel) {\n\t\tgrpclog.Warningf(format, args...)\n\t}\n}\n\nfunc errorf(format string, args ...interface{}) {\n\tif grpclog.V(logLevel) {\n\t\tgrpclog.Errorf(format, args...)\n\t}\n}\n\nfunc fatalf(format string, args ...interface{}) {\n\tif grpclog.V(logLevel) {\n\t\tgrpclog.Fatalf(format, args...)\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/transport/transport.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\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\n// Package transport defines and implements message oriented communication\n// channel to complete various transactions (e.g., an RPC).\npackage transport // import \"google.golang.org/grpc/transport\"\n\nimport (\n\tstdctx \"context\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/http2\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/keepalive\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n\t\"google.golang.org/grpc/tap\"\n)\n\n// recvMsg represents the received msg from the transport. All transport\n// protocol specific info has been removed.\ntype recvMsg struct {\n\tdata []byte\n\t// nil: received some data\n\t// io.EOF: stream is completed. data is nil.\n\t// other non-nil error: transport failure. data is nil.\n\terr error\n}\n\n// recvBuffer is an unbounded channel of recvMsg structs.\n// Note recvBuffer differs from controlBuffer only in that recvBuffer\n// holds a channel of only recvMsg structs instead of objects implementing \"item\" interface.\n// recvBuffer is written to much more often than\n// controlBuffer and using strict recvMsg structs helps avoid allocation in \"recvBuffer.put\"\ntype recvBuffer struct {\n\tc       chan recvMsg\n\tmu      sync.Mutex\n\tbacklog []recvMsg\n}\n\nfunc newRecvBuffer() *recvBuffer {\n\tb := &recvBuffer{\n\t\tc: make(chan recvMsg, 1),\n\t}\n\treturn b\n}\n\nfunc (b *recvBuffer) put(r recvMsg) {\n\tb.mu.Lock()\n\tif len(b.backlog) == 0 {\n\t\tselect {\n\t\tcase b.c <- r:\n\t\t\tb.mu.Unlock()\n\t\t\treturn\n\t\tdefault:\n\t\t}\n\t}\n\tb.backlog = append(b.backlog, r)\n\tb.mu.Unlock()\n}\n\nfunc (b *recvBuffer) load() {\n\tb.mu.Lock()\n\tif len(b.backlog) > 0 {\n\t\tselect {\n\t\tcase b.c <- b.backlog[0]:\n\t\t\tb.backlog[0] = recvMsg{}\n\t\t\tb.backlog = b.backlog[1:]\n\t\tdefault:\n\t\t}\n\t}\n\tb.mu.Unlock()\n}\n\n// get returns the channel that receives a recvMsg in the buffer.\n//\n// Upon receipt of a recvMsg, the caller should call load to send another\n// recvMsg onto the channel if there is any.\nfunc (b *recvBuffer) get() <-chan recvMsg {\n\treturn b.c\n}\n\n// recvBufferReader implements io.Reader interface to read the data from\n// recvBuffer.\ntype recvBufferReader struct {\n\tctx    context.Context\n\tgoAway chan struct{}\n\trecv   *recvBuffer\n\tlast   []byte // Stores the remaining data in the previous calls.\n\terr    error\n}\n\n// Read reads the next len(p) bytes from last. If last is drained, it tries to\n// read additional data from recv. It blocks if there no additional data available\n// in recv. If Read returns any non-nil error, it will continue to return that error.\nfunc (r *recvBufferReader) Read(p []byte) (n int, err error) {\n\tif r.err != nil {\n\t\treturn 0, r.err\n\t}\n\tn, r.err = r.read(p)\n\treturn n, r.err\n}\n\nfunc (r *recvBufferReader) read(p []byte) (n int, err error) {\n\tif r.last != nil && len(r.last) > 0 {\n\t\t// Read remaining data left in last call.\n\t\tcopied := copy(p, r.last)\n\t\tr.last = r.last[copied:]\n\t\treturn copied, nil\n\t}\n\tselect {\n\tcase <-r.ctx.Done():\n\t\treturn 0, ContextErr(r.ctx.Err())\n\tcase <-r.goAway:\n\t\treturn 0, ErrStreamDrain\n\tcase m := <-r.recv.get():\n\t\tr.recv.load()\n\t\tif m.err != nil {\n\t\t\treturn 0, m.err\n\t\t}\n\t\tcopied := copy(p, m.data)\n\t\tr.last = m.data[copied:]\n\t\treturn copied, nil\n\t}\n}\n\n// All items in an out of a controlBuffer should be the same type.\ntype item interface {\n\titem()\n}\n\n// controlBuffer is an unbounded channel of item.\ntype controlBuffer struct {\n\tc       chan item\n\tmu      sync.Mutex\n\tbacklog []item\n}\n\nfunc newControlBuffer() *controlBuffer {\n\tb := &controlBuffer{\n\t\tc: make(chan item, 1),\n\t}\n\treturn b\n}\n\nfunc (b *controlBuffer) put(r item) {\n\tb.mu.Lock()\n\tif len(b.backlog) == 0 {\n\t\tselect {\n\t\tcase b.c <- r:\n\t\t\tb.mu.Unlock()\n\t\t\treturn\n\t\tdefault:\n\t\t}\n\t}\n\tb.backlog = append(b.backlog, r)\n\tb.mu.Unlock()\n}\n\nfunc (b *controlBuffer) load() {\n\tb.mu.Lock()\n\tif len(b.backlog) > 0 {\n\t\tselect {\n\t\tcase b.c <- b.backlog[0]:\n\t\t\tb.backlog[0] = nil\n\t\t\tb.backlog = b.backlog[1:]\n\t\tdefault:\n\t\t}\n\t}\n\tb.mu.Unlock()\n}\n\n// get returns the channel that receives an item in the buffer.\n//\n// Upon receipt of an item, the caller should call load to send another\n// item onto the channel if there is any.\nfunc (b *controlBuffer) get() <-chan item {\n\treturn b.c\n}\n\ntype streamState uint8\n\nconst (\n\tstreamActive    streamState = iota\n\tstreamWriteDone             // EndStream sent\n\tstreamReadDone              // EndStream received\n\tstreamDone                  // the entire stream is finished.\n)\n\n// Stream represents an RPC in the transport layer.\ntype Stream struct {\n\tid uint32\n\t// nil for client side Stream.\n\tst ServerTransport\n\t// ctx is the associated context of the stream.\n\tctx context.Context\n\t// cancel is always nil for client side Stream.\n\tcancel context.CancelFunc\n\t// done is closed when the final status arrives.\n\tdone chan struct{}\n\t// goAway is closed when the server sent GoAways signal before this stream was initiated.\n\tgoAway chan struct{}\n\t// method records the associated RPC method of the stream.\n\tmethod       string\n\trecvCompress string\n\tsendCompress string\n\tbuf          *recvBuffer\n\ttrReader     io.Reader\n\tfc           *inFlow\n\trecvQuota    uint32\n\n\t// TODO: Remote this unused variable.\n\t// The accumulated inbound quota pending for window update.\n\tupdateQuota uint32\n\n\t// Callback to state application's intentions to read data. This\n\t// is used to adjust flow control, if need be.\n\trequestRead func(int)\n\n\tsendQuotaPool  *quotaPool\n\tlocalSendQuota *quotaPool\n\t// Close headerChan to indicate the end of reception of header metadata.\n\theaderChan chan struct{}\n\t// header caches the received header metadata.\n\theader metadata.MD\n\t// The key-value map of trailer metadata.\n\ttrailer metadata.MD\n\n\tmu sync.RWMutex // guard the following\n\t// headerOK becomes true from the first header is about to send.\n\theaderOk bool\n\tstate    streamState\n\t// true iff headerChan is closed. Used to avoid closing headerChan\n\t// multiple times.\n\theaderDone bool\n\t// the status error received from the server.\n\tstatus *status.Status\n\t// rstStream indicates whether a RST_STREAM frame needs to be sent\n\t// to the server to signify that this stream is closing.\n\trstStream bool\n\t// rstError is the error that needs to be sent along with the RST_STREAM frame.\n\trstError http2.ErrCode\n\t// bytesSent and bytesReceived indicates whether any bytes have been sent or\n\t// received on this stream.\n\tbytesSent     bool\n\tbytesReceived bool\n}\n\n// RecvCompress returns the compression algorithm applied to the inbound\n// message. It is empty string if there is no compression applied.\nfunc (s *Stream) RecvCompress() string {\n\treturn s.recvCompress\n}\n\n// SetSendCompress sets the compression algorithm to the stream.\nfunc (s *Stream) SetSendCompress(str string) {\n\ts.sendCompress = str\n}\n\n// Done returns a chanel which is closed when it receives the final status\n// from the server.\nfunc (s *Stream) Done() <-chan struct{} {\n\treturn s.done\n}\n\n// GoAway returns a channel which is closed when the server sent GoAways signal\n// before this stream was initiated.\nfunc (s *Stream) GoAway() <-chan struct{} {\n\treturn s.goAway\n}\n\n// Header acquires the key-value pairs of header metadata once it\n// is available. It blocks until i) the metadata is ready or ii) there is no\n// header metadata or iii) the stream is canceled/expired.\nfunc (s *Stream) Header() (metadata.MD, error) {\n\tvar err error\n\tselect {\n\tcase <-s.ctx.Done():\n\t\terr = ContextErr(s.ctx.Err())\n\tcase <-s.goAway:\n\t\terr = ErrStreamDrain\n\tcase <-s.headerChan:\n\t\treturn s.header.Copy(), nil\n\t}\n\t// Even if the stream is closed, header is returned if available.\n\tselect {\n\tcase <-s.headerChan:\n\t\treturn s.header.Copy(), nil\n\tdefault:\n\t}\n\treturn nil, err\n}\n\n// Trailer returns the cached trailer metedata. Note that if it is not called\n// after the entire stream is done, it could return an empty MD. Client\n// side only.\nfunc (s *Stream) Trailer() metadata.MD {\n\ts.mu.RLock()\n\tc := s.trailer.Copy()\n\ts.mu.RUnlock()\n\treturn c\n}\n\n// ServerTransport returns the underlying ServerTransport for the stream.\n// The client side stream always returns nil.\nfunc (s *Stream) ServerTransport() ServerTransport {\n\treturn s.st\n}\n\n// Context returns the context of the stream.\nfunc (s *Stream) Context() context.Context {\n\treturn s.ctx\n}\n\n// Method returns the method for the stream.\nfunc (s *Stream) Method() string {\n\treturn s.method\n}\n\n// Status returns the status received from the server.\nfunc (s *Stream) Status() *status.Status {\n\treturn s.status\n}\n\n// SetHeader sets the header metadata. This can be called multiple times.\n// Server side only.\nfunc (s *Stream) SetHeader(md metadata.MD) error {\n\ts.mu.Lock()\n\tif s.headerOk || s.state == streamDone {\n\t\ts.mu.Unlock()\n\t\treturn ErrIllegalHeaderWrite\n\t}\n\tif md.Len() == 0 {\n\t\ts.mu.Unlock()\n\t\treturn nil\n\t}\n\ts.header = metadata.Join(s.header, md)\n\ts.mu.Unlock()\n\treturn nil\n}\n\n// SetTrailer sets the trailer metadata which will be sent with the RPC status\n// by the server. This can be called multiple times. Server side only.\nfunc (s *Stream) SetTrailer(md metadata.MD) error {\n\tif md.Len() == 0 {\n\t\treturn nil\n\t}\n\ts.mu.Lock()\n\ts.trailer = metadata.Join(s.trailer, md)\n\ts.mu.Unlock()\n\treturn nil\n}\n\nfunc (s *Stream) write(m recvMsg) {\n\ts.buf.put(m)\n}\n\n// Read reads all p bytes from the wire for this stream.\nfunc (s *Stream) Read(p []byte) (n int, err error) {\n\t// Don't request a read if there was an error earlier\n\tif er := s.trReader.(*transportReader).er; er != nil {\n\t\treturn 0, er\n\t}\n\ts.requestRead(len(p))\n\treturn io.ReadFull(s.trReader, p)\n}\n\n// tranportReader reads all the data available for this Stream from the transport and\n// passes them into the decoder, which converts them into a gRPC message stream.\n// The error is io.EOF when the stream is done or another non-nil error if\n// the stream broke.\ntype transportReader struct {\n\treader io.Reader\n\t// The handler to control the window update procedure for both this\n\t// particular stream and the associated transport.\n\twindowHandler func(int)\n\ter            error\n}\n\nfunc (t *transportReader) Read(p []byte) (n int, err error) {\n\tn, err = t.reader.Read(p)\n\tif err != nil {\n\t\tt.er = err\n\t\treturn\n\t}\n\tt.windowHandler(n)\n\treturn\n}\n\n// finish sets the stream's state and status, and closes the done channel.\n// s.mu must be held by the caller.  st must always be non-nil.\nfunc (s *Stream) finish(st *status.Status) {\n\ts.status = st\n\ts.state = streamDone\n\tclose(s.done)\n}\n\n// BytesSent indicates whether any bytes have been sent on this stream.\nfunc (s *Stream) BytesSent() bool {\n\ts.mu.Lock()\n\tbs := s.bytesSent\n\ts.mu.Unlock()\n\treturn bs\n}\n\n// BytesReceived indicates whether any bytes have been received on this stream.\nfunc (s *Stream) BytesReceived() bool {\n\ts.mu.Lock()\n\tbr := s.bytesReceived\n\ts.mu.Unlock()\n\treturn br\n}\n\n// GoString is implemented by Stream so context.String() won't\n// race when printing %#v.\nfunc (s *Stream) GoString() string {\n\treturn fmt.Sprintf(\"<stream: %p, %v>\", s, s.method)\n}\n\n// The key to save transport.Stream in the context.\ntype streamKey struct{}\n\n// newContextWithStream creates a new context from ctx and attaches stream\n// to it.\nfunc newContextWithStream(ctx context.Context, stream *Stream) context.Context {\n\treturn context.WithValue(ctx, streamKey{}, stream)\n}\n\n// StreamFromContext returns the stream saved in ctx.\nfunc StreamFromContext(ctx context.Context) (s *Stream, ok bool) {\n\ts, ok = ctx.Value(streamKey{}).(*Stream)\n\treturn\n}\n\n// state of transport\ntype transportState int\n\nconst (\n\treachable transportState = iota\n\tclosing\n\tdraining\n)\n\n// ServerConfig consists of all the configurations to establish a server transport.\ntype ServerConfig struct {\n\tMaxStreams            uint32\n\tAuthInfo              credentials.AuthInfo\n\tInTapHandle           tap.ServerInHandle\n\tStatsHandler          stats.Handler\n\tKeepaliveParams       keepalive.ServerParameters\n\tKeepalivePolicy       keepalive.EnforcementPolicy\n\tInitialWindowSize     int32\n\tInitialConnWindowSize int32\n\tWriteBufferSize       int\n\tReadBufferSize        int\n}\n\n// NewServerTransport creates a ServerTransport with conn or non-nil error\n// if it fails.\nfunc NewServerTransport(protocol string, conn net.Conn, config *ServerConfig) (ServerTransport, error) {\n\treturn newHTTP2Server(conn, config)\n}\n\n// ConnectOptions covers all relevant options for communicating with the server.\ntype ConnectOptions struct {\n\t// UserAgent is the application user agent.\n\tUserAgent string\n\t// Authority is the :authority pseudo-header to use. This field has no effect if\n\t// TransportCredentials is set.\n\tAuthority string\n\t// Dialer specifies how to dial a network address.\n\tDialer func(context.Context, string) (net.Conn, error)\n\t// FailOnNonTempDialError specifies if gRPC fails on non-temporary dial errors.\n\tFailOnNonTempDialError bool\n\t// PerRPCCredentials stores the PerRPCCredentials required to issue RPCs.\n\tPerRPCCredentials []credentials.PerRPCCredentials\n\t// TransportCredentials stores the Authenticator required to setup a client connection.\n\tTransportCredentials credentials.TransportCredentials\n\t// KeepaliveParams stores the keepalive parameters.\n\tKeepaliveParams keepalive.ClientParameters\n\t// StatsHandler stores the handler for stats.\n\tStatsHandler stats.Handler\n\t// InitialWindowSize sets the initial window size for a stream.\n\tInitialWindowSize int32\n\t// InitialConnWindowSize sets the initial window size for a connection.\n\tInitialConnWindowSize int32\n\t// WriteBufferSize sets the size of write buffer which in turn determines how much data can be batched before it's written on the wire.\n\tWriteBufferSize int\n\t// ReadBufferSize sets the size of read buffer, which in turn determines how much data can be read at most for one read syscall.\n\tReadBufferSize int\n}\n\n// TargetInfo contains the information of the target such as network address and metadata.\ntype TargetInfo struct {\n\tAddr     string\n\tMetadata interface{}\n}\n\n// NewClientTransport establishes the transport with the required ConnectOptions\n// and returns it to the caller.\nfunc NewClientTransport(ctx context.Context, target TargetInfo, opts ConnectOptions, timeout time.Duration) (ClientTransport, error) {\n\treturn newHTTP2Client(ctx, target, opts, timeout)\n}\n\n// Options provides additional hints and information for message\n// transmission.\ntype Options struct {\n\t// Last indicates whether this write is the last piece for\n\t// this stream.\n\tLast bool\n\n\t// Delay is a hint to the transport implementation for whether\n\t// the data could be buffered for a batching write. The\n\t// transport implementation may ignore the hint.\n\tDelay bool\n}\n\n// CallHdr carries the information of a particular RPC.\ntype CallHdr struct {\n\t// Host specifies the peer's host.\n\tHost string\n\n\t// Method specifies the operation to perform.\n\tMethod string\n\n\t// RecvCompress specifies the compression algorithm applied on\n\t// inbound messages.\n\tRecvCompress string\n\n\t// SendCompress specifies the compression algorithm applied on\n\t// outbound message.\n\tSendCompress string\n\n\t// Creds specifies credentials.PerRPCCredentials for a call.\n\tCreds credentials.PerRPCCredentials\n\n\t// Flush indicates whether a new stream command should be sent\n\t// to the peer without waiting for the first data. This is\n\t// only a hint.\n\t// If it's true, the transport may modify the flush decision\n\t// for performance purposes.\n\t// If it's false, new stream will never be flushed.\n\tFlush bool\n}\n\n// ClientTransport is the common interface for all gRPC client-side transport\n// implementations.\ntype ClientTransport interface {\n\t// Close tears down this transport. Once it returns, the transport\n\t// should not be accessed any more. The caller must make sure this\n\t// is called only once.\n\tClose() error\n\n\t// GracefulClose starts to tear down the transport. It stops accepting\n\t// new RPCs and wait the completion of the pending RPCs.\n\tGracefulClose() error\n\n\t// Write sends the data for the given stream. A nil stream indicates\n\t// the write is to be performed on the transport as a whole.\n\tWrite(s *Stream, hdr []byte, data []byte, opts *Options) error\n\n\t// NewStream creates a Stream for an RPC.\n\tNewStream(ctx context.Context, callHdr *CallHdr) (*Stream, error)\n\n\t// CloseStream clears the footprint of a stream when the stream is\n\t// not needed any more. The err indicates the error incurred when\n\t// CloseStream is called. Must be called when a stream is finished\n\t// unless the associated transport is closing.\n\tCloseStream(stream *Stream, err error)\n\n\t// Error returns a channel that is closed when some I/O error\n\t// happens. Typically the caller should have a goroutine to monitor\n\t// this in order to take action (e.g., close the current transport\n\t// and create a new one) in error case. It should not return nil\n\t// once the transport is initiated.\n\tError() <-chan struct{}\n\n\t// GoAway returns a channel that is closed when ClientTransport\n\t// receives the draining signal from the server (e.g., GOAWAY frame in\n\t// HTTP/2).\n\tGoAway() <-chan struct{}\n\n\t// GetGoAwayReason returns the reason why GoAway frame was received.\n\tGetGoAwayReason() GoAwayReason\n}\n\n// ServerTransport is the common interface for all gRPC server-side transport\n// implementations.\n//\n// Methods may be called concurrently from multiple goroutines, but\n// Write methods for a given Stream will be called serially.\ntype ServerTransport interface {\n\t// HandleStreams receives incoming streams using the given handler.\n\tHandleStreams(func(*Stream), func(context.Context, string) context.Context)\n\n\t// WriteHeader sends the header metadata for the given stream.\n\t// WriteHeader may not be called on all streams.\n\tWriteHeader(s *Stream, md metadata.MD) error\n\n\t// Write sends the data for the given stream.\n\t// Write may not be called on all streams.\n\tWrite(s *Stream, hdr []byte, data []byte, opts *Options) error\n\n\t// WriteStatus sends the status of a stream to the client.  WriteStatus is\n\t// the final call made on a stream and always occurs.\n\tWriteStatus(s *Stream, st *status.Status) error\n\n\t// Close tears down the transport. Once it is called, the transport\n\t// should not be accessed any more. All the pending streams and their\n\t// handlers will be terminated asynchronously.\n\tClose() error\n\n\t// RemoteAddr returns the remote network address.\n\tRemoteAddr() net.Addr\n\n\t// Drain notifies the client this ServerTransport stops accepting new RPCs.\n\tDrain()\n}\n\n// streamErrorf creates an StreamError with the specified error code and description.\nfunc streamErrorf(c codes.Code, format string, a ...interface{}) StreamError {\n\treturn StreamError{\n\t\tCode: c,\n\t\tDesc: fmt.Sprintf(format, a...),\n\t}\n}\n\n// connectionErrorf creates an ConnectionError with the specified error description.\nfunc connectionErrorf(temp bool, e error, format string, a ...interface{}) ConnectionError {\n\treturn ConnectionError{\n\t\tDesc: fmt.Sprintf(format, a...),\n\t\ttemp: temp,\n\t\terr:  e,\n\t}\n}\n\n// ConnectionError is an error that results in the termination of the\n// entire connection and the retry of all the active streams.\ntype ConnectionError struct {\n\tDesc string\n\ttemp bool\n\terr  error\n}\n\nfunc (e ConnectionError) Error() string {\n\treturn fmt.Sprintf(\"connection error: desc = %q\", e.Desc)\n}\n\n// Temporary indicates if this connection error is temporary or fatal.\nfunc (e ConnectionError) Temporary() bool {\n\treturn e.temp\n}\n\n// Origin returns the original error of this connection error.\nfunc (e ConnectionError) Origin() error {\n\t// Never return nil error here.\n\t// If the original error is nil, return itself.\n\tif e.err == nil {\n\t\treturn e\n\t}\n\treturn e.err\n}\n\nvar (\n\t// ErrConnClosing indicates that the transport is closing.\n\tErrConnClosing = connectionErrorf(true, nil, \"transport is closing\")\n\t// ErrStreamDrain indicates that the stream is rejected by the server because\n\t// the server stops accepting new RPCs.\n\tErrStreamDrain = streamErrorf(codes.Unavailable, \"the server stops accepting new RPCs\")\n)\n\n// TODO: See if we can replace StreamError with status package errors.\n\n// StreamError is an error that only affects one stream within a connection.\ntype StreamError struct {\n\tCode codes.Code\n\tDesc string\n}\n\nfunc (e StreamError) Error() string {\n\treturn fmt.Sprintf(\"stream error: code = %s desc = %q\", e.Code, e.Desc)\n}\n\n// wait blocks until it can receive from one of the provided contexts or channels\nfunc wait(ctx, tctx context.Context, done, goAway <-chan struct{}, proceed <-chan int) (int, error) {\n\tselect {\n\tcase <-ctx.Done():\n\t\treturn 0, ContextErr(ctx.Err())\n\tcase <-done:\n\t\treturn 0, io.EOF\n\tcase <-goAway:\n\t\treturn 0, ErrStreamDrain\n\tcase <-tctx.Done():\n\t\treturn 0, ErrConnClosing\n\tcase i := <-proceed:\n\t\treturn i, nil\n\t}\n}\n\n// ContextErr converts the error from context package into a StreamError.\nfunc ContextErr(err error) StreamError {\n\tswitch err {\n\tcase context.DeadlineExceeded, stdctx.DeadlineExceeded:\n\t\treturn streamErrorf(codes.DeadlineExceeded, \"%v\", err)\n\tcase context.Canceled, stdctx.Canceled:\n\t\treturn streamErrorf(codes.Canceled, \"%v\", err)\n\t}\n\treturn streamErrorf(codes.Internal, \"Unexpected error from context packet: %v\", err)\n}\n\n// GoAwayReason contains the reason for the GoAway frame received.\ntype GoAwayReason uint8\n\nconst (\n\t// Invalid indicates that no GoAway frame is received.\n\tInvalid GoAwayReason = 0\n\t// NoReason is the default value when GoAway frame is received.\n\tNoReason GoAwayReason = 1\n\t// TooManyPings indicates that a GoAway frame with ErrCodeEnhanceYourCalm\n\t// was received and that the debug data said \"too_many_pings\".\n\tTooManyPings GoAwayReason = 2\n)\n\n// loopyWriter is run in a separate go routine. It is the single code path that will\n// write data on wire.\nfunc loopyWriter(ctx context.Context, cbuf *controlBuffer, handler func(item) error) {\n\tfor {\n\t\tselect {\n\t\tcase i := <-cbuf.get():\n\t\t\tcbuf.load()\n\t\t\tif err := handler(i); err != nil {\n\t\t\t\treturn\n\t\t\t}\n\t\tcase <-ctx.Done():\n\t\t\treturn\n\t\t}\n\thasData:\n\t\tfor {\n\t\t\tselect {\n\t\t\tcase i := <-cbuf.get():\n\t\t\t\tcbuf.load()\n\t\t\t\tif err := handler(i); err != nil {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\tcase <-ctx.Done():\n\t\t\t\treturn\n\t\t\tdefault:\n\t\t\t\tif err := handler(&flushIO{}); err != nil {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tbreak hasData\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/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 {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": "vendor/gopkg.in/yaml.v2/LICENSE.libyaml",
    "content": "The following files were ported to Go from C files of libyaml, and thus\nare still covered by their original copyright and license:\n\n    apic.go\n    emitterc.go\n    parserc.go\n    readerc.go\n    scannerc.go\n    writerc.go\n    yamlh.go\n    yamlprivateh.go\n\nCopyright (c) 2006 Kirill Simonov\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\nof the Software, and to permit persons to whom the Software is furnished to do\nso, 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": "vendor/gopkg.in/yaml.v2/apic.go",
    "content": "package yaml\n\nimport (\n\t\"io\"\n\t\"os\"\n)\n\nfunc yaml_insert_token(parser *yaml_parser_t, pos int, token *yaml_token_t) {\n\t//fmt.Println(\"yaml_insert_token\", \"pos:\", pos, \"typ:\", token.typ, \"head:\", parser.tokens_head, \"len:\", len(parser.tokens))\n\n\t// Check if we can move the queue at the beginning of the buffer.\n\tif parser.tokens_head > 0 && len(parser.tokens) == cap(parser.tokens) {\n\t\tif parser.tokens_head != len(parser.tokens) {\n\t\t\tcopy(parser.tokens, parser.tokens[parser.tokens_head:])\n\t\t}\n\t\tparser.tokens = parser.tokens[:len(parser.tokens)-parser.tokens_head]\n\t\tparser.tokens_head = 0\n\t}\n\tparser.tokens = append(parser.tokens, *token)\n\tif pos < 0 {\n\t\treturn\n\t}\n\tcopy(parser.tokens[parser.tokens_head+pos+1:], parser.tokens[parser.tokens_head+pos:])\n\tparser.tokens[parser.tokens_head+pos] = *token\n}\n\n// Create a new parser object.\nfunc yaml_parser_initialize(parser *yaml_parser_t) bool {\n\t*parser = yaml_parser_t{\n\t\traw_buffer: make([]byte, 0, input_raw_buffer_size),\n\t\tbuffer:     make([]byte, 0, input_buffer_size),\n\t}\n\treturn true\n}\n\n// Destroy a parser object.\nfunc yaml_parser_delete(parser *yaml_parser_t) {\n\t*parser = yaml_parser_t{}\n}\n\n// String read handler.\nfunc yaml_string_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) {\n\tif parser.input_pos == len(parser.input) {\n\t\treturn 0, io.EOF\n\t}\n\tn = copy(buffer, parser.input[parser.input_pos:])\n\tparser.input_pos += n\n\treturn n, nil\n}\n\n// File read handler.\nfunc yaml_file_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) {\n\treturn parser.input_file.Read(buffer)\n}\n\n// Set a string input.\nfunc yaml_parser_set_input_string(parser *yaml_parser_t, input []byte) {\n\tif parser.read_handler != nil {\n\t\tpanic(\"must set the input source only once\")\n\t}\n\tparser.read_handler = yaml_string_read_handler\n\tparser.input = input\n\tparser.input_pos = 0\n}\n\n// Set a file input.\nfunc yaml_parser_set_input_file(parser *yaml_parser_t, file *os.File) {\n\tif parser.read_handler != nil {\n\t\tpanic(\"must set the input source only once\")\n\t}\n\tparser.read_handler = yaml_file_read_handler\n\tparser.input_file = file\n}\n\n// Set the source encoding.\nfunc yaml_parser_set_encoding(parser *yaml_parser_t, encoding yaml_encoding_t) {\n\tif parser.encoding != yaml_ANY_ENCODING {\n\t\tpanic(\"must set the encoding only once\")\n\t}\n\tparser.encoding = encoding\n}\n\n// Create a new emitter object.\nfunc yaml_emitter_initialize(emitter *yaml_emitter_t) bool {\n\t*emitter = yaml_emitter_t{\n\t\tbuffer:     make([]byte, output_buffer_size),\n\t\traw_buffer: make([]byte, 0, output_raw_buffer_size),\n\t\tstates:     make([]yaml_emitter_state_t, 0, initial_stack_size),\n\t\tevents:     make([]yaml_event_t, 0, initial_queue_size),\n\t}\n\treturn true\n}\n\n// Destroy an emitter object.\nfunc yaml_emitter_delete(emitter *yaml_emitter_t) {\n\t*emitter = yaml_emitter_t{}\n}\n\n// String write handler.\nfunc yaml_string_write_handler(emitter *yaml_emitter_t, buffer []byte) error {\n\t*emitter.output_buffer = append(*emitter.output_buffer, buffer...)\n\treturn nil\n}\n\n// File write handler.\nfunc yaml_file_write_handler(emitter *yaml_emitter_t, buffer []byte) error {\n\t_, err := emitter.output_file.Write(buffer)\n\treturn err\n}\n\n// Set a string output.\nfunc yaml_emitter_set_output_string(emitter *yaml_emitter_t, output_buffer *[]byte) {\n\tif emitter.write_handler != nil {\n\t\tpanic(\"must set the output target only once\")\n\t}\n\temitter.write_handler = yaml_string_write_handler\n\temitter.output_buffer = output_buffer\n}\n\n// Set a file output.\nfunc yaml_emitter_set_output_file(emitter *yaml_emitter_t, file io.Writer) {\n\tif emitter.write_handler != nil {\n\t\tpanic(\"must set the output target only once\")\n\t}\n\temitter.write_handler = yaml_file_write_handler\n\temitter.output_file = file\n}\n\n// Set the output encoding.\nfunc yaml_emitter_set_encoding(emitter *yaml_emitter_t, encoding yaml_encoding_t) {\n\tif emitter.encoding != yaml_ANY_ENCODING {\n\t\tpanic(\"must set the output encoding only once\")\n\t}\n\temitter.encoding = encoding\n}\n\n// Set the canonical output style.\nfunc yaml_emitter_set_canonical(emitter *yaml_emitter_t, canonical bool) {\n\temitter.canonical = canonical\n}\n\n//// Set the indentation increment.\nfunc yaml_emitter_set_indent(emitter *yaml_emitter_t, indent int) {\n\tif indent < 2 || indent > 9 {\n\t\tindent = 2\n\t}\n\temitter.best_indent = indent\n}\n\n// Set the preferred line width.\nfunc yaml_emitter_set_width(emitter *yaml_emitter_t, width int) {\n\tif width < 0 {\n\t\twidth = -1\n\t}\n\temitter.best_width = width\n}\n\n// Set if unescaped non-ASCII characters are allowed.\nfunc yaml_emitter_set_unicode(emitter *yaml_emitter_t, unicode bool) {\n\temitter.unicode = unicode\n}\n\n// Set the preferred line break character.\nfunc yaml_emitter_set_break(emitter *yaml_emitter_t, line_break yaml_break_t) {\n\temitter.line_break = line_break\n}\n\n///*\n// * Destroy a token object.\n// */\n//\n//YAML_DECLARE(void)\n//yaml_token_delete(yaml_token_t *token)\n//{\n//    assert(token);  // Non-NULL token object expected.\n//\n//    switch (token.type)\n//    {\n//        case YAML_TAG_DIRECTIVE_TOKEN:\n//            yaml_free(token.data.tag_directive.handle);\n//            yaml_free(token.data.tag_directive.prefix);\n//            break;\n//\n//        case YAML_ALIAS_TOKEN:\n//            yaml_free(token.data.alias.value);\n//            break;\n//\n//        case YAML_ANCHOR_TOKEN:\n//            yaml_free(token.data.anchor.value);\n//            break;\n//\n//        case YAML_TAG_TOKEN:\n//            yaml_free(token.data.tag.handle);\n//            yaml_free(token.data.tag.suffix);\n//            break;\n//\n//        case YAML_SCALAR_TOKEN:\n//            yaml_free(token.data.scalar.value);\n//            break;\n//\n//        default:\n//            break;\n//    }\n//\n//    memset(token, 0, sizeof(yaml_token_t));\n//}\n//\n///*\n// * Check if a string is a valid UTF-8 sequence.\n// *\n// * Check 'reader.c' for more details on UTF-8 encoding.\n// */\n//\n//static int\n//yaml_check_utf8(yaml_char_t *start, size_t length)\n//{\n//    yaml_char_t *end = start+length;\n//    yaml_char_t *pointer = start;\n//\n//    while (pointer < end) {\n//        unsigned char octet;\n//        unsigned int width;\n//        unsigned int value;\n//        size_t k;\n//\n//        octet = pointer[0];\n//        width = (octet & 0x80) == 0x00 ? 1 :\n//                (octet & 0xE0) == 0xC0 ? 2 :\n//                (octet & 0xF0) == 0xE0 ? 3 :\n//                (octet & 0xF8) == 0xF0 ? 4 : 0;\n//        value = (octet & 0x80) == 0x00 ? octet & 0x7F :\n//                (octet & 0xE0) == 0xC0 ? octet & 0x1F :\n//                (octet & 0xF0) == 0xE0 ? octet & 0x0F :\n//                (octet & 0xF8) == 0xF0 ? octet & 0x07 : 0;\n//        if (!width) return 0;\n//        if (pointer+width > end) return 0;\n//        for (k = 1; k < width; k ++) {\n//            octet = pointer[k];\n//            if ((octet & 0xC0) != 0x80) return 0;\n//            value = (value << 6) + (octet & 0x3F);\n//        }\n//        if (!((width == 1) ||\n//            (width == 2 && value >= 0x80) ||\n//            (width == 3 && value >= 0x800) ||\n//            (width == 4 && value >= 0x10000))) return 0;\n//\n//        pointer += width;\n//    }\n//\n//    return 1;\n//}\n//\n\n// Create STREAM-START.\nfunc yaml_stream_start_event_initialize(event *yaml_event_t, encoding yaml_encoding_t) bool {\n\t*event = yaml_event_t{\n\t\ttyp:      yaml_STREAM_START_EVENT,\n\t\tencoding: encoding,\n\t}\n\treturn true\n}\n\n// Create STREAM-END.\nfunc yaml_stream_end_event_initialize(event *yaml_event_t) bool {\n\t*event = yaml_event_t{\n\t\ttyp: yaml_STREAM_END_EVENT,\n\t}\n\treturn true\n}\n\n// Create DOCUMENT-START.\nfunc yaml_document_start_event_initialize(event *yaml_event_t, version_directive *yaml_version_directive_t,\n\ttag_directives []yaml_tag_directive_t, implicit bool) bool {\n\t*event = yaml_event_t{\n\t\ttyp:               yaml_DOCUMENT_START_EVENT,\n\t\tversion_directive: version_directive,\n\t\ttag_directives:    tag_directives,\n\t\timplicit:          implicit,\n\t}\n\treturn true\n}\n\n// Create DOCUMENT-END.\nfunc yaml_document_end_event_initialize(event *yaml_event_t, implicit bool) bool {\n\t*event = yaml_event_t{\n\t\ttyp:      yaml_DOCUMENT_END_EVENT,\n\t\timplicit: implicit,\n\t}\n\treturn true\n}\n\n///*\n// * Create ALIAS.\n// */\n//\n//YAML_DECLARE(int)\n//yaml_alias_event_initialize(event *yaml_event_t, anchor *yaml_char_t)\n//{\n//    mark yaml_mark_t = { 0, 0, 0 }\n//    anchor_copy *yaml_char_t = NULL\n//\n//    assert(event) // Non-NULL event object is expected.\n//    assert(anchor) // Non-NULL anchor is expected.\n//\n//    if (!yaml_check_utf8(anchor, strlen((char *)anchor))) return 0\n//\n//    anchor_copy = yaml_strdup(anchor)\n//    if (!anchor_copy)\n//        return 0\n//\n//    ALIAS_EVENT_INIT(*event, anchor_copy, mark, mark)\n//\n//    return 1\n//}\n\n// Create SCALAR.\nfunc yaml_scalar_event_initialize(event *yaml_event_t, anchor, tag, value []byte, plain_implicit, quoted_implicit bool, style yaml_scalar_style_t) bool {\n\t*event = yaml_event_t{\n\t\ttyp:             yaml_SCALAR_EVENT,\n\t\tanchor:          anchor,\n\t\ttag:             tag,\n\t\tvalue:           value,\n\t\timplicit:        plain_implicit,\n\t\tquoted_implicit: quoted_implicit,\n\t\tstyle:           yaml_style_t(style),\n\t}\n\treturn true\n}\n\n// Create SEQUENCE-START.\nfunc yaml_sequence_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_sequence_style_t) bool {\n\t*event = yaml_event_t{\n\t\ttyp:      yaml_SEQUENCE_START_EVENT,\n\t\tanchor:   anchor,\n\t\ttag:      tag,\n\t\timplicit: implicit,\n\t\tstyle:    yaml_style_t(style),\n\t}\n\treturn true\n}\n\n// Create SEQUENCE-END.\nfunc yaml_sequence_end_event_initialize(event *yaml_event_t) bool {\n\t*event = yaml_event_t{\n\t\ttyp: yaml_SEQUENCE_END_EVENT,\n\t}\n\treturn true\n}\n\n// Create MAPPING-START.\nfunc yaml_mapping_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_mapping_style_t) bool {\n\t*event = yaml_event_t{\n\t\ttyp:      yaml_MAPPING_START_EVENT,\n\t\tanchor:   anchor,\n\t\ttag:      tag,\n\t\timplicit: implicit,\n\t\tstyle:    yaml_style_t(style),\n\t}\n\treturn true\n}\n\n// Create MAPPING-END.\nfunc yaml_mapping_end_event_initialize(event *yaml_event_t) bool {\n\t*event = yaml_event_t{\n\t\ttyp: yaml_MAPPING_END_EVENT,\n\t}\n\treturn true\n}\n\n// Destroy an event object.\nfunc yaml_event_delete(event *yaml_event_t) {\n\t*event = yaml_event_t{}\n}\n\n///*\n// * Create a document object.\n// */\n//\n//YAML_DECLARE(int)\n//yaml_document_initialize(document *yaml_document_t,\n//        version_directive *yaml_version_directive_t,\n//        tag_directives_start *yaml_tag_directive_t,\n//        tag_directives_end *yaml_tag_directive_t,\n//        start_implicit int, end_implicit int)\n//{\n//    struct {\n//        error yaml_error_type_t\n//    } context\n//    struct {\n//        start *yaml_node_t\n//        end *yaml_node_t\n//        top *yaml_node_t\n//    } nodes = { NULL, NULL, NULL }\n//    version_directive_copy *yaml_version_directive_t = NULL\n//    struct {\n//        start *yaml_tag_directive_t\n//        end *yaml_tag_directive_t\n//        top *yaml_tag_directive_t\n//    } tag_directives_copy = { NULL, NULL, NULL }\n//    value yaml_tag_directive_t = { NULL, NULL }\n//    mark yaml_mark_t = { 0, 0, 0 }\n//\n//    assert(document) // Non-NULL document object is expected.\n//    assert((tag_directives_start && tag_directives_end) ||\n//            (tag_directives_start == tag_directives_end))\n//                            // Valid tag directives are expected.\n//\n//    if (!STACK_INIT(&context, nodes, INITIAL_STACK_SIZE)) goto error\n//\n//    if (version_directive) {\n//        version_directive_copy = yaml_malloc(sizeof(yaml_version_directive_t))\n//        if (!version_directive_copy) goto error\n//        version_directive_copy.major = version_directive.major\n//        version_directive_copy.minor = version_directive.minor\n//    }\n//\n//    if (tag_directives_start != tag_directives_end) {\n//        tag_directive *yaml_tag_directive_t\n//        if (!STACK_INIT(&context, tag_directives_copy, INITIAL_STACK_SIZE))\n//            goto error\n//        for (tag_directive = tag_directives_start\n//                tag_directive != tag_directives_end; tag_directive ++) {\n//            assert(tag_directive.handle)\n//            assert(tag_directive.prefix)\n//            if (!yaml_check_utf8(tag_directive.handle,\n//                        strlen((char *)tag_directive.handle)))\n//                goto error\n//            if (!yaml_check_utf8(tag_directive.prefix,\n//                        strlen((char *)tag_directive.prefix)))\n//                goto error\n//            value.handle = yaml_strdup(tag_directive.handle)\n//            value.prefix = yaml_strdup(tag_directive.prefix)\n//            if (!value.handle || !value.prefix) goto error\n//            if (!PUSH(&context, tag_directives_copy, value))\n//                goto error\n//            value.handle = NULL\n//            value.prefix = NULL\n//        }\n//    }\n//\n//    DOCUMENT_INIT(*document, nodes.start, nodes.end, version_directive_copy,\n//            tag_directives_copy.start, tag_directives_copy.top,\n//            start_implicit, end_implicit, mark, mark)\n//\n//    return 1\n//\n//error:\n//    STACK_DEL(&context, nodes)\n//    yaml_free(version_directive_copy)\n//    while (!STACK_EMPTY(&context, tag_directives_copy)) {\n//        value yaml_tag_directive_t = POP(&context, tag_directives_copy)\n//        yaml_free(value.handle)\n//        yaml_free(value.prefix)\n//    }\n//    STACK_DEL(&context, tag_directives_copy)\n//    yaml_free(value.handle)\n//    yaml_free(value.prefix)\n//\n//    return 0\n//}\n//\n///*\n// * Destroy a document object.\n// */\n//\n//YAML_DECLARE(void)\n//yaml_document_delete(document *yaml_document_t)\n//{\n//    struct {\n//        error yaml_error_type_t\n//    } context\n//    tag_directive *yaml_tag_directive_t\n//\n//    context.error = YAML_NO_ERROR // Eliminate a compliler warning.\n//\n//    assert(document) // Non-NULL document object is expected.\n//\n//    while (!STACK_EMPTY(&context, document.nodes)) {\n//        node yaml_node_t = POP(&context, document.nodes)\n//        yaml_free(node.tag)\n//        switch (node.type) {\n//            case YAML_SCALAR_NODE:\n//                yaml_free(node.data.scalar.value)\n//                break\n//            case YAML_SEQUENCE_NODE:\n//                STACK_DEL(&context, node.data.sequence.items)\n//                break\n//            case YAML_MAPPING_NODE:\n//                STACK_DEL(&context, node.data.mapping.pairs)\n//                break\n//            default:\n//                assert(0) // Should not happen.\n//        }\n//    }\n//    STACK_DEL(&context, document.nodes)\n//\n//    yaml_free(document.version_directive)\n//    for (tag_directive = document.tag_directives.start\n//            tag_directive != document.tag_directives.end\n//            tag_directive++) {\n//        yaml_free(tag_directive.handle)\n//        yaml_free(tag_directive.prefix)\n//    }\n//    yaml_free(document.tag_directives.start)\n//\n//    memset(document, 0, sizeof(yaml_document_t))\n//}\n//\n///**\n// * Get a document node.\n// */\n//\n//YAML_DECLARE(yaml_node_t *)\n//yaml_document_get_node(document *yaml_document_t, index int)\n//{\n//    assert(document) // Non-NULL document object is expected.\n//\n//    if (index > 0 && document.nodes.start + index <= document.nodes.top) {\n//        return document.nodes.start + index - 1\n//    }\n//    return NULL\n//}\n//\n///**\n// * Get the root object.\n// */\n//\n//YAML_DECLARE(yaml_node_t *)\n//yaml_document_get_root_node(document *yaml_document_t)\n//{\n//    assert(document) // Non-NULL document object is expected.\n//\n//    if (document.nodes.top != document.nodes.start) {\n//        return document.nodes.start\n//    }\n//    return NULL\n//}\n//\n///*\n// * Add a scalar node to a document.\n// */\n//\n//YAML_DECLARE(int)\n//yaml_document_add_scalar(document *yaml_document_t,\n//        tag *yaml_char_t, value *yaml_char_t, length int,\n//        style yaml_scalar_style_t)\n//{\n//    struct {\n//        error yaml_error_type_t\n//    } context\n//    mark yaml_mark_t = { 0, 0, 0 }\n//    tag_copy *yaml_char_t = NULL\n//    value_copy *yaml_char_t = NULL\n//    node yaml_node_t\n//\n//    assert(document) // Non-NULL document object is expected.\n//    assert(value) // Non-NULL value is expected.\n//\n//    if (!tag) {\n//        tag = (yaml_char_t *)YAML_DEFAULT_SCALAR_TAG\n//    }\n//\n//    if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error\n//    tag_copy = yaml_strdup(tag)\n//    if (!tag_copy) goto error\n//\n//    if (length < 0) {\n//        length = strlen((char *)value)\n//    }\n//\n//    if (!yaml_check_utf8(value, length)) goto error\n//    value_copy = yaml_malloc(length+1)\n//    if (!value_copy) goto error\n//    memcpy(value_copy, value, length)\n//    value_copy[length] = '\\0'\n//\n//    SCALAR_NODE_INIT(node, tag_copy, value_copy, length, style, mark, mark)\n//    if (!PUSH(&context, document.nodes, node)) goto error\n//\n//    return document.nodes.top - document.nodes.start\n//\n//error:\n//    yaml_free(tag_copy)\n//    yaml_free(value_copy)\n//\n//    return 0\n//}\n//\n///*\n// * Add a sequence node to a document.\n// */\n//\n//YAML_DECLARE(int)\n//yaml_document_add_sequence(document *yaml_document_t,\n//        tag *yaml_char_t, style yaml_sequence_style_t)\n//{\n//    struct {\n//        error yaml_error_type_t\n//    } context\n//    mark yaml_mark_t = { 0, 0, 0 }\n//    tag_copy *yaml_char_t = NULL\n//    struct {\n//        start *yaml_node_item_t\n//        end *yaml_node_item_t\n//        top *yaml_node_item_t\n//    } items = { NULL, NULL, NULL }\n//    node yaml_node_t\n//\n//    assert(document) // Non-NULL document object is expected.\n//\n//    if (!tag) {\n//        tag = (yaml_char_t *)YAML_DEFAULT_SEQUENCE_TAG\n//    }\n//\n//    if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error\n//    tag_copy = yaml_strdup(tag)\n//    if (!tag_copy) goto error\n//\n//    if (!STACK_INIT(&context, items, INITIAL_STACK_SIZE)) goto error\n//\n//    SEQUENCE_NODE_INIT(node, tag_copy, items.start, items.end,\n//            style, mark, mark)\n//    if (!PUSH(&context, document.nodes, node)) goto error\n//\n//    return document.nodes.top - document.nodes.start\n//\n//error:\n//    STACK_DEL(&context, items)\n//    yaml_free(tag_copy)\n//\n//    return 0\n//}\n//\n///*\n// * Add a mapping node to a document.\n// */\n//\n//YAML_DECLARE(int)\n//yaml_document_add_mapping(document *yaml_document_t,\n//        tag *yaml_char_t, style yaml_mapping_style_t)\n//{\n//    struct {\n//        error yaml_error_type_t\n//    } context\n//    mark yaml_mark_t = { 0, 0, 0 }\n//    tag_copy *yaml_char_t = NULL\n//    struct {\n//        start *yaml_node_pair_t\n//        end *yaml_node_pair_t\n//        top *yaml_node_pair_t\n//    } pairs = { NULL, NULL, NULL }\n//    node yaml_node_t\n//\n//    assert(document) // Non-NULL document object is expected.\n//\n//    if (!tag) {\n//        tag = (yaml_char_t *)YAML_DEFAULT_MAPPING_TAG\n//    }\n//\n//    if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error\n//    tag_copy = yaml_strdup(tag)\n//    if (!tag_copy) goto error\n//\n//    if (!STACK_INIT(&context, pairs, INITIAL_STACK_SIZE)) goto error\n//\n//    MAPPING_NODE_INIT(node, tag_copy, pairs.start, pairs.end,\n//            style, mark, mark)\n//    if (!PUSH(&context, document.nodes, node)) goto error\n//\n//    return document.nodes.top - document.nodes.start\n//\n//error:\n//    STACK_DEL(&context, pairs)\n//    yaml_free(tag_copy)\n//\n//    return 0\n//}\n//\n///*\n// * Append an item to a sequence node.\n// */\n//\n//YAML_DECLARE(int)\n//yaml_document_append_sequence_item(document *yaml_document_t,\n//        sequence int, item int)\n//{\n//    struct {\n//        error yaml_error_type_t\n//    } context\n//\n//    assert(document) // Non-NULL document is required.\n//    assert(sequence > 0\n//            && document.nodes.start + sequence <= document.nodes.top)\n//                            // Valid sequence id is required.\n//    assert(document.nodes.start[sequence-1].type == YAML_SEQUENCE_NODE)\n//                            // A sequence node is required.\n//    assert(item > 0 && document.nodes.start + item <= document.nodes.top)\n//                            // Valid item id is required.\n//\n//    if (!PUSH(&context,\n//                document.nodes.start[sequence-1].data.sequence.items, item))\n//        return 0\n//\n//    return 1\n//}\n//\n///*\n// * Append a pair of a key and a value to a mapping node.\n// */\n//\n//YAML_DECLARE(int)\n//yaml_document_append_mapping_pair(document *yaml_document_t,\n//        mapping int, key int, value int)\n//{\n//    struct {\n//        error yaml_error_type_t\n//    } context\n//\n//    pair yaml_node_pair_t\n//\n//    assert(document) // Non-NULL document is required.\n//    assert(mapping > 0\n//            && document.nodes.start + mapping <= document.nodes.top)\n//                            // Valid mapping id is required.\n//    assert(document.nodes.start[mapping-1].type == YAML_MAPPING_NODE)\n//                            // A mapping node is required.\n//    assert(key > 0 && document.nodes.start + key <= document.nodes.top)\n//                            // Valid key id is required.\n//    assert(value > 0 && document.nodes.start + value <= document.nodes.top)\n//                            // Valid value id is required.\n//\n//    pair.key = key\n//    pair.value = value\n//\n//    if (!PUSH(&context,\n//                document.nodes.start[mapping-1].data.mapping.pairs, pair))\n//        return 0\n//\n//    return 1\n//}\n//\n//\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/decode.go",
    "content": "package yaml\n\nimport (\n\t\"encoding\"\n\t\"encoding/base64\"\n\t\"fmt\"\n\t\"math\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"time\"\n)\n\nconst (\n\tdocumentNode = 1 << iota\n\tmappingNode\n\tsequenceNode\n\tscalarNode\n\taliasNode\n)\n\ntype node struct {\n\tkind         int\n\tline, column int\n\ttag          string\n\tvalue        string\n\timplicit     bool\n\tchildren     []*node\n\tanchors      map[string]*node\n}\n\n// ----------------------------------------------------------------------------\n// Parser, produces a node tree out of a libyaml event stream.\n\ntype parser struct {\n\tparser yaml_parser_t\n\tevent  yaml_event_t\n\tdoc    *node\n}\n\nfunc newParser(b []byte) *parser {\n\tp := parser{}\n\tif !yaml_parser_initialize(&p.parser) {\n\t\tpanic(\"failed to initialize YAML emitter\")\n\t}\n\n\tif len(b) == 0 {\n\t\tb = []byte{'\\n'}\n\t}\n\n\tyaml_parser_set_input_string(&p.parser, b)\n\n\tp.skip()\n\tif p.event.typ != yaml_STREAM_START_EVENT {\n\t\tpanic(\"expected stream start event, got \" + strconv.Itoa(int(p.event.typ)))\n\t}\n\tp.skip()\n\treturn &p\n}\n\nfunc (p *parser) destroy() {\n\tif p.event.typ != yaml_NO_EVENT {\n\t\tyaml_event_delete(&p.event)\n\t}\n\tyaml_parser_delete(&p.parser)\n}\n\nfunc (p *parser) skip() {\n\tif p.event.typ != yaml_NO_EVENT {\n\t\tif p.event.typ == yaml_STREAM_END_EVENT {\n\t\t\tfailf(\"attempted to go past the end of stream; corrupted value?\")\n\t\t}\n\t\tyaml_event_delete(&p.event)\n\t}\n\tif !yaml_parser_parse(&p.parser, &p.event) {\n\t\tp.fail()\n\t}\n}\n\nfunc (p *parser) fail() {\n\tvar where string\n\tvar line int\n\tif p.parser.problem_mark.line != 0 {\n\t\tline = p.parser.problem_mark.line\n\t} else if p.parser.context_mark.line != 0 {\n\t\tline = p.parser.context_mark.line\n\t}\n\tif line != 0 {\n\t\twhere = \"line \" + strconv.Itoa(line) + \": \"\n\t}\n\tvar msg string\n\tif len(p.parser.problem) > 0 {\n\t\tmsg = p.parser.problem\n\t} else {\n\t\tmsg = \"unknown problem parsing YAML content\"\n\t}\n\tfailf(\"%s%s\", where, msg)\n}\n\nfunc (p *parser) anchor(n *node, anchor []byte) {\n\tif anchor != nil {\n\t\tp.doc.anchors[string(anchor)] = n\n\t}\n}\n\nfunc (p *parser) parse() *node {\n\tswitch p.event.typ {\n\tcase yaml_SCALAR_EVENT:\n\t\treturn p.scalar()\n\tcase yaml_ALIAS_EVENT:\n\t\treturn p.alias()\n\tcase yaml_MAPPING_START_EVENT:\n\t\treturn p.mapping()\n\tcase yaml_SEQUENCE_START_EVENT:\n\t\treturn p.sequence()\n\tcase yaml_DOCUMENT_START_EVENT:\n\t\treturn p.document()\n\tcase yaml_STREAM_END_EVENT:\n\t\t// Happens when attempting to decode an empty buffer.\n\t\treturn nil\n\tdefault:\n\t\tpanic(\"attempted to parse unknown event: \" + strconv.Itoa(int(p.event.typ)))\n\t}\n}\n\nfunc (p *parser) node(kind int) *node {\n\treturn &node{\n\t\tkind:   kind,\n\t\tline:   p.event.start_mark.line,\n\t\tcolumn: p.event.start_mark.column,\n\t}\n}\n\nfunc (p *parser) document() *node {\n\tn := p.node(documentNode)\n\tn.anchors = make(map[string]*node)\n\tp.doc = n\n\tp.skip()\n\tn.children = append(n.children, p.parse())\n\tif p.event.typ != yaml_DOCUMENT_END_EVENT {\n\t\tpanic(\"expected end of document event but got \" + strconv.Itoa(int(p.event.typ)))\n\t}\n\tp.skip()\n\treturn n\n}\n\nfunc (p *parser) alias() *node {\n\tn := p.node(aliasNode)\n\tn.value = string(p.event.anchor)\n\tp.skip()\n\treturn n\n}\n\nfunc (p *parser) scalar() *node {\n\tn := p.node(scalarNode)\n\tn.value = string(p.event.value)\n\tn.tag = string(p.event.tag)\n\tn.implicit = p.event.implicit\n\tp.anchor(n, p.event.anchor)\n\tp.skip()\n\treturn n\n}\n\nfunc (p *parser) sequence() *node {\n\tn := p.node(sequenceNode)\n\tp.anchor(n, p.event.anchor)\n\tp.skip()\n\tfor p.event.typ != yaml_SEQUENCE_END_EVENT {\n\t\tn.children = append(n.children, p.parse())\n\t}\n\tp.skip()\n\treturn n\n}\n\nfunc (p *parser) mapping() *node {\n\tn := p.node(mappingNode)\n\tp.anchor(n, p.event.anchor)\n\tp.skip()\n\tfor p.event.typ != yaml_MAPPING_END_EVENT {\n\t\tn.children = append(n.children, p.parse(), p.parse())\n\t}\n\tp.skip()\n\treturn n\n}\n\n// ----------------------------------------------------------------------------\n// Decoder, unmarshals a node into a provided value.\n\ntype decoder struct {\n\tdoc     *node\n\taliases map[string]bool\n\tmapType reflect.Type\n\tterrors []string\n\tstrict  bool\n}\n\nvar (\n\tmapItemType    = reflect.TypeOf(MapItem{})\n\tdurationType   = reflect.TypeOf(time.Duration(0))\n\tdefaultMapType = reflect.TypeOf(map[interface{}]interface{}{})\n\tifaceType      = defaultMapType.Elem()\n)\n\nfunc newDecoder(strict bool) *decoder {\n\td := &decoder{mapType: defaultMapType, strict: strict}\n\td.aliases = make(map[string]bool)\n\treturn d\n}\n\nfunc (d *decoder) terror(n *node, tag string, out reflect.Value) {\n\tif n.tag != \"\" {\n\t\ttag = n.tag\n\t}\n\tvalue := n.value\n\tif tag != yaml_SEQ_TAG && tag != yaml_MAP_TAG {\n\t\tif len(value) > 10 {\n\t\t\tvalue = \" `\" + value[:7] + \"...`\"\n\t\t} else {\n\t\t\tvalue = \" `\" + value + \"`\"\n\t\t}\n\t}\n\td.terrors = append(d.terrors, fmt.Sprintf(\"line %d: cannot unmarshal %s%s into %s\", n.line+1, shortTag(tag), value, out.Type()))\n}\n\nfunc (d *decoder) callUnmarshaler(n *node, u Unmarshaler) (good bool) {\n\tterrlen := len(d.terrors)\n\terr := u.UnmarshalYAML(func(v interface{}) (err error) {\n\t\tdefer handleErr(&err)\n\t\td.unmarshal(n, reflect.ValueOf(v))\n\t\tif len(d.terrors) > terrlen {\n\t\t\tissues := d.terrors[terrlen:]\n\t\t\td.terrors = d.terrors[:terrlen]\n\t\t\treturn &TypeError{issues}\n\t\t}\n\t\treturn nil\n\t})\n\tif e, ok := err.(*TypeError); ok {\n\t\td.terrors = append(d.terrors, e.Errors...)\n\t\treturn false\n\t}\n\tif err != nil {\n\t\tfail(err)\n\t}\n\treturn true\n}\n\n// d.prepare initializes and dereferences pointers and calls UnmarshalYAML\n// if a value is found to implement it.\n// It returns the initialized and dereferenced out value, whether\n// unmarshalling was already done by UnmarshalYAML, and if so whether\n// its types unmarshalled appropriately.\n//\n// If n holds a null value, prepare returns before doing anything.\nfunc (d *decoder) prepare(n *node, out reflect.Value) (newout reflect.Value, unmarshaled, good bool) {\n\tif n.tag == yaml_NULL_TAG || n.kind == scalarNode && n.tag == \"\" && (n.value == \"null\" || n.value == \"~\" || n.value == \"\" && n.implicit) {\n\t\treturn out, false, false\n\t}\n\tagain := true\n\tfor again {\n\t\tagain = false\n\t\tif out.Kind() == reflect.Ptr {\n\t\t\tif out.IsNil() {\n\t\t\t\tout.Set(reflect.New(out.Type().Elem()))\n\t\t\t}\n\t\t\tout = out.Elem()\n\t\t\tagain = true\n\t\t}\n\t\tif out.CanAddr() {\n\t\t\tif u, ok := out.Addr().Interface().(Unmarshaler); ok {\n\t\t\t\tgood = d.callUnmarshaler(n, u)\n\t\t\t\treturn out, true, good\n\t\t\t}\n\t\t}\n\t}\n\treturn out, false, false\n}\n\nfunc (d *decoder) unmarshal(n *node, out reflect.Value) (good bool) {\n\tswitch n.kind {\n\tcase documentNode:\n\t\treturn d.document(n, out)\n\tcase aliasNode:\n\t\treturn d.alias(n, out)\n\t}\n\tout, unmarshaled, good := d.prepare(n, out)\n\tif unmarshaled {\n\t\treturn good\n\t}\n\tswitch n.kind {\n\tcase scalarNode:\n\t\tgood = d.scalar(n, out)\n\tcase mappingNode:\n\t\tgood = d.mapping(n, out)\n\tcase sequenceNode:\n\t\tgood = d.sequence(n, out)\n\tdefault:\n\t\tpanic(\"internal error: unknown node kind: \" + strconv.Itoa(n.kind))\n\t}\n\treturn good\n}\n\nfunc (d *decoder) document(n *node, out reflect.Value) (good bool) {\n\tif len(n.children) == 1 {\n\t\td.doc = n\n\t\td.unmarshal(n.children[0], out)\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc (d *decoder) alias(n *node, out reflect.Value) (good bool) {\n\tan, ok := d.doc.anchors[n.value]\n\tif !ok {\n\t\tfailf(\"unknown anchor '%s' referenced\", n.value)\n\t}\n\tif d.aliases[n.value] {\n\t\tfailf(\"anchor '%s' value contains itself\", n.value)\n\t}\n\td.aliases[n.value] = true\n\tgood = d.unmarshal(an, out)\n\tdelete(d.aliases, n.value)\n\treturn good\n}\n\nvar zeroValue reflect.Value\n\nfunc resetMap(out reflect.Value) {\n\tfor _, k := range out.MapKeys() {\n\t\tout.SetMapIndex(k, zeroValue)\n\t}\n}\n\nfunc (d *decoder) scalar(n *node, out reflect.Value) (good bool) {\n\tvar tag string\n\tvar resolved interface{}\n\tif n.tag == \"\" && !n.implicit {\n\t\ttag = yaml_STR_TAG\n\t\tresolved = n.value\n\t} else {\n\t\ttag, resolved = resolve(n.tag, n.value)\n\t\tif tag == yaml_BINARY_TAG {\n\t\t\tdata, err := base64.StdEncoding.DecodeString(resolved.(string))\n\t\t\tif err != nil {\n\t\t\t\tfailf(\"!!binary value contains invalid base64 data\")\n\t\t\t}\n\t\t\tresolved = string(data)\n\t\t}\n\t}\n\tif resolved == nil {\n\t\tif out.Kind() == reflect.Map && !out.CanAddr() {\n\t\t\tresetMap(out)\n\t\t} else {\n\t\t\tout.Set(reflect.Zero(out.Type()))\n\t\t}\n\t\treturn true\n\t}\n\tif s, ok := resolved.(string); ok && out.CanAddr() {\n\t\tif u, ok := out.Addr().Interface().(encoding.TextUnmarshaler); ok {\n\t\t\terr := u.UnmarshalText([]byte(s))\n\t\t\tif err != nil {\n\t\t\t\tfail(err)\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\t}\n\tswitch out.Kind() {\n\tcase reflect.String:\n\t\tif tag == yaml_BINARY_TAG {\n\t\t\tout.SetString(resolved.(string))\n\t\t\tgood = true\n\t\t} else if resolved != nil {\n\t\t\tout.SetString(n.value)\n\t\t\tgood = true\n\t\t}\n\tcase reflect.Interface:\n\t\tif resolved == nil {\n\t\t\tout.Set(reflect.Zero(out.Type()))\n\t\t} else {\n\t\t\tout.Set(reflect.ValueOf(resolved))\n\t\t}\n\t\tgood = true\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:\n\t\tswitch resolved := resolved.(type) {\n\t\tcase int:\n\t\t\tif !out.OverflowInt(int64(resolved)) {\n\t\t\t\tout.SetInt(int64(resolved))\n\t\t\t\tgood = true\n\t\t\t}\n\t\tcase int64:\n\t\t\tif !out.OverflowInt(resolved) {\n\t\t\t\tout.SetInt(resolved)\n\t\t\t\tgood = true\n\t\t\t}\n\t\tcase uint64:\n\t\t\tif resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) {\n\t\t\t\tout.SetInt(int64(resolved))\n\t\t\t\tgood = true\n\t\t\t}\n\t\tcase float64:\n\t\t\tif resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) {\n\t\t\t\tout.SetInt(int64(resolved))\n\t\t\t\tgood = true\n\t\t\t}\n\t\tcase string:\n\t\t\tif out.Type() == durationType {\n\t\t\t\td, err := time.ParseDuration(resolved)\n\t\t\t\tif err == nil {\n\t\t\t\t\tout.SetInt(int64(d))\n\t\t\t\t\tgood = true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\tcase reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:\n\t\tswitch resolved := resolved.(type) {\n\t\tcase int:\n\t\t\tif resolved >= 0 && !out.OverflowUint(uint64(resolved)) {\n\t\t\t\tout.SetUint(uint64(resolved))\n\t\t\t\tgood = true\n\t\t\t}\n\t\tcase int64:\n\t\t\tif resolved >= 0 && !out.OverflowUint(uint64(resolved)) {\n\t\t\t\tout.SetUint(uint64(resolved))\n\t\t\t\tgood = true\n\t\t\t}\n\t\tcase uint64:\n\t\t\tif !out.OverflowUint(uint64(resolved)) {\n\t\t\t\tout.SetUint(uint64(resolved))\n\t\t\t\tgood = true\n\t\t\t}\n\t\tcase float64:\n\t\t\tif resolved <= math.MaxUint64 && !out.OverflowUint(uint64(resolved)) {\n\t\t\t\tout.SetUint(uint64(resolved))\n\t\t\t\tgood = true\n\t\t\t}\n\t\t}\n\tcase reflect.Bool:\n\t\tswitch resolved := resolved.(type) {\n\t\tcase bool:\n\t\t\tout.SetBool(resolved)\n\t\t\tgood = true\n\t\t}\n\tcase reflect.Float32, reflect.Float64:\n\t\tswitch resolved := resolved.(type) {\n\t\tcase int:\n\t\t\tout.SetFloat(float64(resolved))\n\t\t\tgood = true\n\t\tcase int64:\n\t\t\tout.SetFloat(float64(resolved))\n\t\t\tgood = true\n\t\tcase uint64:\n\t\t\tout.SetFloat(float64(resolved))\n\t\t\tgood = true\n\t\tcase float64:\n\t\t\tout.SetFloat(resolved)\n\t\t\tgood = true\n\t\t}\n\tcase reflect.Ptr:\n\t\tif out.Type().Elem() == reflect.TypeOf(resolved) {\n\t\t\t// TODO DOes this make sense? When is out a Ptr except when decoding a nil value?\n\t\t\telem := reflect.New(out.Type().Elem())\n\t\t\telem.Elem().Set(reflect.ValueOf(resolved))\n\t\t\tout.Set(elem)\n\t\t\tgood = true\n\t\t}\n\t}\n\tif !good {\n\t\td.terror(n, tag, out)\n\t}\n\treturn good\n}\n\nfunc settableValueOf(i interface{}) reflect.Value {\n\tv := reflect.ValueOf(i)\n\tsv := reflect.New(v.Type()).Elem()\n\tsv.Set(v)\n\treturn sv\n}\n\nfunc (d *decoder) sequence(n *node, out reflect.Value) (good bool) {\n\tl := len(n.children)\n\n\tvar iface reflect.Value\n\tswitch out.Kind() {\n\tcase reflect.Slice:\n\t\tout.Set(reflect.MakeSlice(out.Type(), l, l))\n\tcase reflect.Interface:\n\t\t// No type hints. Will have to use a generic sequence.\n\t\tiface = out\n\t\tout = settableValueOf(make([]interface{}, l))\n\tdefault:\n\t\td.terror(n, yaml_SEQ_TAG, out)\n\t\treturn false\n\t}\n\tet := out.Type().Elem()\n\n\tj := 0\n\tfor i := 0; i < l; i++ {\n\t\te := reflect.New(et).Elem()\n\t\tif ok := d.unmarshal(n.children[i], e); ok {\n\t\t\tout.Index(j).Set(e)\n\t\t\tj++\n\t\t}\n\t}\n\tout.Set(out.Slice(0, j))\n\tif iface.IsValid() {\n\t\tiface.Set(out)\n\t}\n\treturn true\n}\n\nfunc (d *decoder) mapping(n *node, out reflect.Value) (good bool) {\n\tswitch out.Kind() {\n\tcase reflect.Struct:\n\t\treturn d.mappingStruct(n, out)\n\tcase reflect.Slice:\n\t\treturn d.mappingSlice(n, out)\n\tcase reflect.Map:\n\t\t// okay\n\tcase reflect.Interface:\n\t\tif d.mapType.Kind() == reflect.Map {\n\t\t\tiface := out\n\t\t\tout = reflect.MakeMap(d.mapType)\n\t\t\tiface.Set(out)\n\t\t} else {\n\t\t\tslicev := reflect.New(d.mapType).Elem()\n\t\t\tif !d.mappingSlice(n, slicev) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tout.Set(slicev)\n\t\t\treturn true\n\t\t}\n\tdefault:\n\t\td.terror(n, yaml_MAP_TAG, out)\n\t\treturn false\n\t}\n\toutt := out.Type()\n\tkt := outt.Key()\n\tet := outt.Elem()\n\n\tmapType := d.mapType\n\tif outt.Key() == ifaceType && outt.Elem() == ifaceType {\n\t\td.mapType = outt\n\t}\n\n\tif out.IsNil() {\n\t\tout.Set(reflect.MakeMap(outt))\n\t}\n\tl := len(n.children)\n\tfor i := 0; i < l; i += 2 {\n\t\tif isMerge(n.children[i]) {\n\t\t\td.merge(n.children[i+1], out)\n\t\t\tcontinue\n\t\t}\n\t\tk := reflect.New(kt).Elem()\n\t\tif d.unmarshal(n.children[i], k) {\n\t\t\tkkind := k.Kind()\n\t\t\tif kkind == reflect.Interface {\n\t\t\t\tkkind = k.Elem().Kind()\n\t\t\t}\n\t\t\tif kkind == reflect.Map || kkind == reflect.Slice {\n\t\t\t\tfailf(\"invalid map key: %#v\", k.Interface())\n\t\t\t}\n\t\t\te := reflect.New(et).Elem()\n\t\t\tif d.unmarshal(n.children[i+1], e) {\n\t\t\t\tout.SetMapIndex(k, e)\n\t\t\t}\n\t\t}\n\t}\n\td.mapType = mapType\n\treturn true\n}\n\nfunc (d *decoder) mappingSlice(n *node, out reflect.Value) (good bool) {\n\toutt := out.Type()\n\tif outt.Elem() != mapItemType {\n\t\td.terror(n, yaml_MAP_TAG, out)\n\t\treturn false\n\t}\n\n\tmapType := d.mapType\n\td.mapType = outt\n\n\tvar slice []MapItem\n\tvar l = len(n.children)\n\tfor i := 0; i < l; i += 2 {\n\t\tif isMerge(n.children[i]) {\n\t\t\td.merge(n.children[i+1], out)\n\t\t\tcontinue\n\t\t}\n\t\titem := MapItem{}\n\t\tk := reflect.ValueOf(&item.Key).Elem()\n\t\tif d.unmarshal(n.children[i], k) {\n\t\t\tv := reflect.ValueOf(&item.Value).Elem()\n\t\t\tif d.unmarshal(n.children[i+1], v) {\n\t\t\t\tslice = append(slice, item)\n\t\t\t}\n\t\t}\n\t}\n\tout.Set(reflect.ValueOf(slice))\n\td.mapType = mapType\n\treturn true\n}\n\nfunc (d *decoder) mappingStruct(n *node, out reflect.Value) (good bool) {\n\tsinfo, err := getStructInfo(out.Type())\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tname := settableValueOf(\"\")\n\tl := len(n.children)\n\n\tvar inlineMap reflect.Value\n\tvar elemType reflect.Type\n\tif sinfo.InlineMap != -1 {\n\t\tinlineMap = out.Field(sinfo.InlineMap)\n\t\tinlineMap.Set(reflect.New(inlineMap.Type()).Elem())\n\t\telemType = inlineMap.Type().Elem()\n\t}\n\n\tfor i := 0; i < l; i += 2 {\n\t\tni := n.children[i]\n\t\tif isMerge(ni) {\n\t\t\td.merge(n.children[i+1], out)\n\t\t\tcontinue\n\t\t}\n\t\tif !d.unmarshal(ni, name) {\n\t\t\tcontinue\n\t\t}\n\t\tif info, ok := sinfo.FieldsMap[name.String()]; ok {\n\t\t\tvar field reflect.Value\n\t\t\tif info.Inline == nil {\n\t\t\t\tfield = out.Field(info.Num)\n\t\t\t} else {\n\t\t\t\tfield = out.FieldByIndex(info.Inline)\n\t\t\t}\n\t\t\td.unmarshal(n.children[i+1], field)\n\t\t} else if sinfo.InlineMap != -1 {\n\t\t\tif inlineMap.IsNil() {\n\t\t\t\tinlineMap.Set(reflect.MakeMap(inlineMap.Type()))\n\t\t\t}\n\t\t\tvalue := reflect.New(elemType).Elem()\n\t\t\td.unmarshal(n.children[i+1], value)\n\t\t\tinlineMap.SetMapIndex(name, value)\n\t\t} else if d.strict {\n\t\t\td.terrors = append(d.terrors, fmt.Sprintf(\"line %d: field %s not found in struct %s\", ni.line+1, name.String(), out.Type()))\n\t\t}\n\t}\n\treturn true\n}\n\nfunc failWantMap() {\n\tfailf(\"map merge requires map or sequence of maps as the value\")\n}\n\nfunc (d *decoder) merge(n *node, out reflect.Value) {\n\tswitch n.kind {\n\tcase mappingNode:\n\t\td.unmarshal(n, out)\n\tcase aliasNode:\n\t\tan, ok := d.doc.anchors[n.value]\n\t\tif ok && an.kind != mappingNode {\n\t\t\tfailWantMap()\n\t\t}\n\t\td.unmarshal(n, out)\n\tcase sequenceNode:\n\t\t// Step backwards as earlier nodes take precedence.\n\t\tfor i := len(n.children) - 1; i >= 0; i-- {\n\t\t\tni := n.children[i]\n\t\t\tif ni.kind == aliasNode {\n\t\t\t\tan, ok := d.doc.anchors[ni.value]\n\t\t\t\tif ok && an.kind != mappingNode {\n\t\t\t\t\tfailWantMap()\n\t\t\t\t}\n\t\t\t} else if ni.kind != mappingNode {\n\t\t\t\tfailWantMap()\n\t\t\t}\n\t\t\td.unmarshal(ni, out)\n\t\t}\n\tdefault:\n\t\tfailWantMap()\n\t}\n}\n\nfunc isMerge(n *node) bool {\n\treturn n.kind == scalarNode && n.value == \"<<\" && (n.implicit == true || n.tag == yaml_MERGE_TAG)\n}\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/emitterc.go",
    "content": "package yaml\n\nimport (\n\t\"bytes\"\n)\n\n// Flush the buffer if needed.\nfunc flush(emitter *yaml_emitter_t) bool {\n\tif emitter.buffer_pos+5 >= len(emitter.buffer) {\n\t\treturn yaml_emitter_flush(emitter)\n\t}\n\treturn true\n}\n\n// Put a character to the output buffer.\nfunc put(emitter *yaml_emitter_t, value byte) bool {\n\tif emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) {\n\t\treturn false\n\t}\n\temitter.buffer[emitter.buffer_pos] = value\n\temitter.buffer_pos++\n\temitter.column++\n\treturn true\n}\n\n// Put a line break to the output buffer.\nfunc put_break(emitter *yaml_emitter_t) bool {\n\tif emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) {\n\t\treturn false\n\t}\n\tswitch emitter.line_break {\n\tcase yaml_CR_BREAK:\n\t\temitter.buffer[emitter.buffer_pos] = '\\r'\n\t\temitter.buffer_pos += 1\n\tcase yaml_LN_BREAK:\n\t\temitter.buffer[emitter.buffer_pos] = '\\n'\n\t\temitter.buffer_pos += 1\n\tcase yaml_CRLN_BREAK:\n\t\temitter.buffer[emitter.buffer_pos+0] = '\\r'\n\t\temitter.buffer[emitter.buffer_pos+1] = '\\n'\n\t\temitter.buffer_pos += 2\n\tdefault:\n\t\tpanic(\"unknown line break setting\")\n\t}\n\temitter.column = 0\n\temitter.line++\n\treturn true\n}\n\n// Copy a character from a string into buffer.\nfunc write(emitter *yaml_emitter_t, s []byte, i *int) bool {\n\tif emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) {\n\t\treturn false\n\t}\n\tp := emitter.buffer_pos\n\tw := width(s[*i])\n\tswitch w {\n\tcase 4:\n\t\temitter.buffer[p+3] = s[*i+3]\n\t\tfallthrough\n\tcase 3:\n\t\temitter.buffer[p+2] = s[*i+2]\n\t\tfallthrough\n\tcase 2:\n\t\temitter.buffer[p+1] = s[*i+1]\n\t\tfallthrough\n\tcase 1:\n\t\temitter.buffer[p+0] = s[*i+0]\n\tdefault:\n\t\tpanic(\"unknown character width\")\n\t}\n\temitter.column++\n\temitter.buffer_pos += w\n\t*i += w\n\treturn true\n}\n\n// Write a whole string into buffer.\nfunc write_all(emitter *yaml_emitter_t, s []byte) bool {\n\tfor i := 0; i < len(s); {\n\t\tif !write(emitter, s, &i) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// Copy a line break character from a string into buffer.\nfunc write_break(emitter *yaml_emitter_t, s []byte, i *int) bool {\n\tif s[*i] == '\\n' {\n\t\tif !put_break(emitter) {\n\t\t\treturn false\n\t\t}\n\t\t*i++\n\t} else {\n\t\tif !write(emitter, s, i) {\n\t\t\treturn false\n\t\t}\n\t\temitter.column = 0\n\t\temitter.line++\n\t}\n\treturn true\n}\n\n// Set an emitter error and return false.\nfunc yaml_emitter_set_emitter_error(emitter *yaml_emitter_t, problem string) bool {\n\temitter.error = yaml_EMITTER_ERROR\n\temitter.problem = problem\n\treturn false\n}\n\n// Emit an event.\nfunc yaml_emitter_emit(emitter *yaml_emitter_t, event *yaml_event_t) bool {\n\temitter.events = append(emitter.events, *event)\n\tfor !yaml_emitter_need_more_events(emitter) {\n\t\tevent := &emitter.events[emitter.events_head]\n\t\tif !yaml_emitter_analyze_event(emitter, event) {\n\t\t\treturn false\n\t\t}\n\t\tif !yaml_emitter_state_machine(emitter, event) {\n\t\t\treturn false\n\t\t}\n\t\tyaml_event_delete(event)\n\t\temitter.events_head++\n\t}\n\treturn true\n}\n\n// Check if we need to accumulate more events before emitting.\n//\n// We accumulate extra\n//  - 1 event for DOCUMENT-START\n//  - 2 events for SEQUENCE-START\n//  - 3 events for MAPPING-START\n//\nfunc yaml_emitter_need_more_events(emitter *yaml_emitter_t) bool {\n\tif emitter.events_head == len(emitter.events) {\n\t\treturn true\n\t}\n\tvar accumulate int\n\tswitch emitter.events[emitter.events_head].typ {\n\tcase yaml_DOCUMENT_START_EVENT:\n\t\taccumulate = 1\n\t\tbreak\n\tcase yaml_SEQUENCE_START_EVENT:\n\t\taccumulate = 2\n\t\tbreak\n\tcase yaml_MAPPING_START_EVENT:\n\t\taccumulate = 3\n\t\tbreak\n\tdefault:\n\t\treturn false\n\t}\n\tif len(emitter.events)-emitter.events_head > accumulate {\n\t\treturn false\n\t}\n\tvar level int\n\tfor i := emitter.events_head; i < len(emitter.events); i++ {\n\t\tswitch emitter.events[i].typ {\n\t\tcase yaml_STREAM_START_EVENT, yaml_DOCUMENT_START_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT:\n\t\t\tlevel++\n\t\tcase yaml_STREAM_END_EVENT, yaml_DOCUMENT_END_EVENT, yaml_SEQUENCE_END_EVENT, yaml_MAPPING_END_EVENT:\n\t\t\tlevel--\n\t\t}\n\t\tif level == 0 {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// Append a directive to the directives stack.\nfunc yaml_emitter_append_tag_directive(emitter *yaml_emitter_t, value *yaml_tag_directive_t, allow_duplicates bool) bool {\n\tfor i := 0; i < len(emitter.tag_directives); i++ {\n\t\tif bytes.Equal(value.handle, emitter.tag_directives[i].handle) {\n\t\t\tif allow_duplicates {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn yaml_emitter_set_emitter_error(emitter, \"duplicate %TAG directive\")\n\t\t}\n\t}\n\n\t// [Go] Do we actually need to copy this given garbage collection\n\t// and the lack of deallocating destructors?\n\ttag_copy := yaml_tag_directive_t{\n\t\thandle: make([]byte, len(value.handle)),\n\t\tprefix: make([]byte, len(value.prefix)),\n\t}\n\tcopy(tag_copy.handle, value.handle)\n\tcopy(tag_copy.prefix, value.prefix)\n\temitter.tag_directives = append(emitter.tag_directives, tag_copy)\n\treturn true\n}\n\n// Increase the indentation level.\nfunc yaml_emitter_increase_indent(emitter *yaml_emitter_t, flow, indentless bool) bool {\n\temitter.indents = append(emitter.indents, emitter.indent)\n\tif emitter.indent < 0 {\n\t\tif flow {\n\t\t\temitter.indent = emitter.best_indent\n\t\t} else {\n\t\t\temitter.indent = 0\n\t\t}\n\t} else if !indentless {\n\t\temitter.indent += emitter.best_indent\n\t}\n\treturn true\n}\n\n// State dispatcher.\nfunc yaml_emitter_state_machine(emitter *yaml_emitter_t, event *yaml_event_t) bool {\n\tswitch emitter.state {\n\tdefault:\n\tcase yaml_EMIT_STREAM_START_STATE:\n\t\treturn yaml_emitter_emit_stream_start(emitter, event)\n\n\tcase yaml_EMIT_FIRST_DOCUMENT_START_STATE:\n\t\treturn yaml_emitter_emit_document_start(emitter, event, true)\n\n\tcase yaml_EMIT_DOCUMENT_START_STATE:\n\t\treturn yaml_emitter_emit_document_start(emitter, event, false)\n\n\tcase yaml_EMIT_DOCUMENT_CONTENT_STATE:\n\t\treturn yaml_emitter_emit_document_content(emitter, event)\n\n\tcase yaml_EMIT_DOCUMENT_END_STATE:\n\t\treturn yaml_emitter_emit_document_end(emitter, event)\n\n\tcase yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE:\n\t\treturn yaml_emitter_emit_flow_sequence_item(emitter, event, true)\n\n\tcase yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE:\n\t\treturn yaml_emitter_emit_flow_sequence_item(emitter, event, false)\n\n\tcase yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE:\n\t\treturn yaml_emitter_emit_flow_mapping_key(emitter, event, true)\n\n\tcase yaml_EMIT_FLOW_MAPPING_KEY_STATE:\n\t\treturn yaml_emitter_emit_flow_mapping_key(emitter, event, false)\n\n\tcase yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE:\n\t\treturn yaml_emitter_emit_flow_mapping_value(emitter, event, true)\n\n\tcase yaml_EMIT_FLOW_MAPPING_VALUE_STATE:\n\t\treturn yaml_emitter_emit_flow_mapping_value(emitter, event, false)\n\n\tcase yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE:\n\t\treturn yaml_emitter_emit_block_sequence_item(emitter, event, true)\n\n\tcase yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE:\n\t\treturn yaml_emitter_emit_block_sequence_item(emitter, event, false)\n\n\tcase yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE:\n\t\treturn yaml_emitter_emit_block_mapping_key(emitter, event, true)\n\n\tcase yaml_EMIT_BLOCK_MAPPING_KEY_STATE:\n\t\treturn yaml_emitter_emit_block_mapping_key(emitter, event, false)\n\n\tcase yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE:\n\t\treturn yaml_emitter_emit_block_mapping_value(emitter, event, true)\n\n\tcase yaml_EMIT_BLOCK_MAPPING_VALUE_STATE:\n\t\treturn yaml_emitter_emit_block_mapping_value(emitter, event, false)\n\n\tcase yaml_EMIT_END_STATE:\n\t\treturn yaml_emitter_set_emitter_error(emitter, \"expected nothing after STREAM-END\")\n\t}\n\tpanic(\"invalid emitter state\")\n}\n\n// Expect STREAM-START.\nfunc yaml_emitter_emit_stream_start(emitter *yaml_emitter_t, event *yaml_event_t) bool {\n\tif event.typ != yaml_STREAM_START_EVENT {\n\t\treturn yaml_emitter_set_emitter_error(emitter, \"expected STREAM-START\")\n\t}\n\tif emitter.encoding == yaml_ANY_ENCODING {\n\t\temitter.encoding = event.encoding\n\t\tif emitter.encoding == yaml_ANY_ENCODING {\n\t\t\temitter.encoding = yaml_UTF8_ENCODING\n\t\t}\n\t}\n\tif emitter.best_indent < 2 || emitter.best_indent > 9 {\n\t\temitter.best_indent = 2\n\t}\n\tif emitter.best_width >= 0 && emitter.best_width <= emitter.best_indent*2 {\n\t\temitter.best_width = 80\n\t}\n\tif emitter.best_width < 0 {\n\t\temitter.best_width = 1<<31 - 1\n\t}\n\tif emitter.line_break == yaml_ANY_BREAK {\n\t\temitter.line_break = yaml_LN_BREAK\n\t}\n\n\temitter.indent = -1\n\temitter.line = 0\n\temitter.column = 0\n\temitter.whitespace = true\n\temitter.indention = true\n\n\tif emitter.encoding != yaml_UTF8_ENCODING {\n\t\tif !yaml_emitter_write_bom(emitter) {\n\t\t\treturn false\n\t\t}\n\t}\n\temitter.state = yaml_EMIT_FIRST_DOCUMENT_START_STATE\n\treturn true\n}\n\n// Expect DOCUMENT-START or STREAM-END.\nfunc yaml_emitter_emit_document_start(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool {\n\n\tif event.typ == yaml_DOCUMENT_START_EVENT {\n\n\t\tif event.version_directive != nil {\n\t\t\tif !yaml_emitter_analyze_version_directive(emitter, event.version_directive) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\tfor i := 0; i < len(event.tag_directives); i++ {\n\t\t\ttag_directive := &event.tag_directives[i]\n\t\t\tif !yaml_emitter_analyze_tag_directive(emitter, tag_directive) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !yaml_emitter_append_tag_directive(emitter, tag_directive, false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\tfor i := 0; i < len(default_tag_directives); i++ {\n\t\t\ttag_directive := &default_tag_directives[i]\n\t\t\tif !yaml_emitter_append_tag_directive(emitter, tag_directive, true) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\timplicit := event.implicit\n\t\tif !first || emitter.canonical {\n\t\t\timplicit = false\n\t\t}\n\n\t\tif emitter.open_ended && (event.version_directive != nil || len(event.tag_directives) > 0) {\n\t\t\tif !yaml_emitter_write_indicator(emitter, []byte(\"...\"), true, false, false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\tif event.version_directive != nil {\n\t\t\timplicit = false\n\t\t\tif !yaml_emitter_write_indicator(emitter, []byte(\"%YAML\"), true, false, false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !yaml_emitter_write_indicator(emitter, []byte(\"1.1\"), true, false, false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\tif len(event.tag_directives) > 0 {\n\t\t\timplicit = false\n\t\t\tfor i := 0; i < len(event.tag_directives); i++ {\n\t\t\t\ttag_directive := &event.tag_directives[i]\n\t\t\t\tif !yaml_emitter_write_indicator(emitter, []byte(\"%TAG\"), true, false, false) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tif !yaml_emitter_write_tag_handle(emitter, tag_directive.handle) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tif !yaml_emitter_write_tag_content(emitter, tag_directive.prefix, true) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif yaml_emitter_check_empty_document(emitter) {\n\t\t\timplicit = false\n\t\t}\n\t\tif !implicit {\n\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !yaml_emitter_write_indicator(emitter, []byte(\"---\"), true, false, false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif emitter.canonical {\n\t\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\temitter.state = yaml_EMIT_DOCUMENT_CONTENT_STATE\n\t\treturn true\n\t}\n\n\tif event.typ == yaml_STREAM_END_EVENT {\n\t\tif emitter.open_ended {\n\t\t\tif !yaml_emitter_write_indicator(emitter, []byte(\"...\"), true, false, false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\tif !yaml_emitter_flush(emitter) {\n\t\t\treturn false\n\t\t}\n\t\temitter.state = yaml_EMIT_END_STATE\n\t\treturn true\n\t}\n\n\treturn yaml_emitter_set_emitter_error(emitter, \"expected DOCUMENT-START or STREAM-END\")\n}\n\n// Expect the root node.\nfunc yaml_emitter_emit_document_content(emitter *yaml_emitter_t, event *yaml_event_t) bool {\n\temitter.states = append(emitter.states, yaml_EMIT_DOCUMENT_END_STATE)\n\treturn yaml_emitter_emit_node(emitter, event, true, false, false, false)\n}\n\n// Expect DOCUMENT-END.\nfunc yaml_emitter_emit_document_end(emitter *yaml_emitter_t, event *yaml_event_t) bool {\n\tif event.typ != yaml_DOCUMENT_END_EVENT {\n\t\treturn yaml_emitter_set_emitter_error(emitter, \"expected DOCUMENT-END\")\n\t}\n\tif !yaml_emitter_write_indent(emitter) {\n\t\treturn false\n\t}\n\tif !event.implicit {\n\t\t// [Go] Allocate the slice elsewhere.\n\t\tif !yaml_emitter_write_indicator(emitter, []byte(\"...\"), true, false, false) {\n\t\t\treturn false\n\t\t}\n\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\treturn false\n\t\t}\n\t}\n\tif !yaml_emitter_flush(emitter) {\n\t\treturn false\n\t}\n\temitter.state = yaml_EMIT_DOCUMENT_START_STATE\n\temitter.tag_directives = emitter.tag_directives[:0]\n\treturn true\n}\n\n// Expect a flow item node.\nfunc yaml_emitter_emit_flow_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool {\n\tif first {\n\t\tif !yaml_emitter_write_indicator(emitter, []byte{'['}, true, true, false) {\n\t\t\treturn false\n\t\t}\n\t\tif !yaml_emitter_increase_indent(emitter, true, false) {\n\t\t\treturn false\n\t\t}\n\t\temitter.flow_level++\n\t}\n\n\tif event.typ == yaml_SEQUENCE_END_EVENT {\n\t\temitter.flow_level--\n\t\temitter.indent = emitter.indents[len(emitter.indents)-1]\n\t\temitter.indents = emitter.indents[:len(emitter.indents)-1]\n\t\tif emitter.canonical && !first {\n\t\t\tif !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\tif !yaml_emitter_write_indicator(emitter, []byte{']'}, false, false, false) {\n\t\t\treturn false\n\t\t}\n\t\temitter.state = emitter.states[len(emitter.states)-1]\n\t\temitter.states = emitter.states[:len(emitter.states)-1]\n\n\t\treturn true\n\t}\n\n\tif !first {\n\t\tif !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif emitter.canonical || emitter.column > emitter.best_width {\n\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\treturn false\n\t\t}\n\t}\n\temitter.states = append(emitter.states, yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE)\n\treturn yaml_emitter_emit_node(emitter, event, false, true, false, false)\n}\n\n// Expect a flow key node.\nfunc yaml_emitter_emit_flow_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool {\n\tif first {\n\t\tif !yaml_emitter_write_indicator(emitter, []byte{'{'}, true, true, false) {\n\t\t\treturn false\n\t\t}\n\t\tif !yaml_emitter_increase_indent(emitter, true, false) {\n\t\t\treturn false\n\t\t}\n\t\temitter.flow_level++\n\t}\n\n\tif event.typ == yaml_MAPPING_END_EVENT {\n\t\temitter.flow_level--\n\t\temitter.indent = emitter.indents[len(emitter.indents)-1]\n\t\temitter.indents = emitter.indents[:len(emitter.indents)-1]\n\t\tif emitter.canonical && !first {\n\t\t\tif !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\tif !yaml_emitter_write_indicator(emitter, []byte{'}'}, false, false, false) {\n\t\t\treturn false\n\t\t}\n\t\temitter.state = emitter.states[len(emitter.states)-1]\n\t\temitter.states = emitter.states[:len(emitter.states)-1]\n\t\treturn true\n\t}\n\n\tif !first {\n\t\tif !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) {\n\t\t\treturn false\n\t\t}\n\t}\n\tif emitter.canonical || emitter.column > emitter.best_width {\n\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif !emitter.canonical && yaml_emitter_check_simple_key(emitter) {\n\t\temitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE)\n\t\treturn yaml_emitter_emit_node(emitter, event, false, false, true, true)\n\t}\n\tif !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, false) {\n\t\treturn false\n\t}\n\temitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_VALUE_STATE)\n\treturn yaml_emitter_emit_node(emitter, event, false, false, true, false)\n}\n\n// Expect a flow value node.\nfunc yaml_emitter_emit_flow_mapping_value(emitter *yaml_emitter_t, event *yaml_event_t, simple bool) bool {\n\tif simple {\n\t\tif !yaml_emitter_write_indicator(emitter, []byte{':'}, false, false, false) {\n\t\t\treturn false\n\t\t}\n\t} else {\n\t\tif emitter.canonical || emitter.column > emitter.best_width {\n\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\tif !yaml_emitter_write_indicator(emitter, []byte{':'}, true, false, false) {\n\t\t\treturn false\n\t\t}\n\t}\n\temitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_KEY_STATE)\n\treturn yaml_emitter_emit_node(emitter, event, false, false, true, false)\n}\n\n// Expect a block item node.\nfunc yaml_emitter_emit_block_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool {\n\tif first {\n\t\tif !yaml_emitter_increase_indent(emitter, false, emitter.mapping_context && !emitter.indention) {\n\t\t\treturn false\n\t\t}\n\t}\n\tif event.typ == yaml_SEQUENCE_END_EVENT {\n\t\temitter.indent = emitter.indents[len(emitter.indents)-1]\n\t\temitter.indents = emitter.indents[:len(emitter.indents)-1]\n\t\temitter.state = emitter.states[len(emitter.states)-1]\n\t\temitter.states = emitter.states[:len(emitter.states)-1]\n\t\treturn true\n\t}\n\tif !yaml_emitter_write_indent(emitter) {\n\t\treturn false\n\t}\n\tif !yaml_emitter_write_indicator(emitter, []byte{'-'}, true, false, true) {\n\t\treturn false\n\t}\n\temitter.states = append(emitter.states, yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE)\n\treturn yaml_emitter_emit_node(emitter, event, false, true, false, false)\n}\n\n// Expect a block key node.\nfunc yaml_emitter_emit_block_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool {\n\tif first {\n\t\tif !yaml_emitter_increase_indent(emitter, false, false) {\n\t\t\treturn false\n\t\t}\n\t}\n\tif event.typ == yaml_MAPPING_END_EVENT {\n\t\temitter.indent = emitter.indents[len(emitter.indents)-1]\n\t\temitter.indents = emitter.indents[:len(emitter.indents)-1]\n\t\temitter.state = emitter.states[len(emitter.states)-1]\n\t\temitter.states = emitter.states[:len(emitter.states)-1]\n\t\treturn true\n\t}\n\tif !yaml_emitter_write_indent(emitter) {\n\t\treturn false\n\t}\n\tif yaml_emitter_check_simple_key(emitter) {\n\t\temitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE)\n\t\treturn yaml_emitter_emit_node(emitter, event, false, false, true, true)\n\t}\n\tif !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, true) {\n\t\treturn false\n\t}\n\temitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_VALUE_STATE)\n\treturn yaml_emitter_emit_node(emitter, event, false, false, true, false)\n}\n\n// Expect a block value node.\nfunc yaml_emitter_emit_block_mapping_value(emitter *yaml_emitter_t, event *yaml_event_t, simple bool) bool {\n\tif simple {\n\t\tif !yaml_emitter_write_indicator(emitter, []byte{':'}, false, false, false) {\n\t\t\treturn false\n\t\t}\n\t} else {\n\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\treturn false\n\t\t}\n\t\tif !yaml_emitter_write_indicator(emitter, []byte{':'}, true, false, true) {\n\t\t\treturn false\n\t\t}\n\t}\n\temitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_KEY_STATE)\n\treturn yaml_emitter_emit_node(emitter, event, false, false, true, false)\n}\n\n// Expect a node.\nfunc yaml_emitter_emit_node(emitter *yaml_emitter_t, event *yaml_event_t,\n\troot bool, sequence bool, mapping bool, simple_key bool) bool {\n\n\temitter.root_context = root\n\temitter.sequence_context = sequence\n\temitter.mapping_context = mapping\n\temitter.simple_key_context = simple_key\n\n\tswitch event.typ {\n\tcase yaml_ALIAS_EVENT:\n\t\treturn yaml_emitter_emit_alias(emitter, event)\n\tcase yaml_SCALAR_EVENT:\n\t\treturn yaml_emitter_emit_scalar(emitter, event)\n\tcase yaml_SEQUENCE_START_EVENT:\n\t\treturn yaml_emitter_emit_sequence_start(emitter, event)\n\tcase yaml_MAPPING_START_EVENT:\n\t\treturn yaml_emitter_emit_mapping_start(emitter, event)\n\tdefault:\n\t\treturn yaml_emitter_set_emitter_error(emitter,\n\t\t\t\"expected SCALAR, SEQUENCE-START, MAPPING-START, or ALIAS\")\n\t}\n}\n\n// Expect ALIAS.\nfunc yaml_emitter_emit_alias(emitter *yaml_emitter_t, event *yaml_event_t) bool {\n\tif !yaml_emitter_process_anchor(emitter) {\n\t\treturn false\n\t}\n\temitter.state = emitter.states[len(emitter.states)-1]\n\temitter.states = emitter.states[:len(emitter.states)-1]\n\treturn true\n}\n\n// Expect SCALAR.\nfunc yaml_emitter_emit_scalar(emitter *yaml_emitter_t, event *yaml_event_t) bool {\n\tif !yaml_emitter_select_scalar_style(emitter, event) {\n\t\treturn false\n\t}\n\tif !yaml_emitter_process_anchor(emitter) {\n\t\treturn false\n\t}\n\tif !yaml_emitter_process_tag(emitter) {\n\t\treturn false\n\t}\n\tif !yaml_emitter_increase_indent(emitter, true, false) {\n\t\treturn false\n\t}\n\tif !yaml_emitter_process_scalar(emitter) {\n\t\treturn false\n\t}\n\temitter.indent = emitter.indents[len(emitter.indents)-1]\n\temitter.indents = emitter.indents[:len(emitter.indents)-1]\n\temitter.state = emitter.states[len(emitter.states)-1]\n\temitter.states = emitter.states[:len(emitter.states)-1]\n\treturn true\n}\n\n// Expect SEQUENCE-START.\nfunc yaml_emitter_emit_sequence_start(emitter *yaml_emitter_t, event *yaml_event_t) bool {\n\tif !yaml_emitter_process_anchor(emitter) {\n\t\treturn false\n\t}\n\tif !yaml_emitter_process_tag(emitter) {\n\t\treturn false\n\t}\n\tif emitter.flow_level > 0 || emitter.canonical || event.sequence_style() == yaml_FLOW_SEQUENCE_STYLE ||\n\t\tyaml_emitter_check_empty_sequence(emitter) {\n\t\temitter.state = yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE\n\t} else {\n\t\temitter.state = yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE\n\t}\n\treturn true\n}\n\n// Expect MAPPING-START.\nfunc yaml_emitter_emit_mapping_start(emitter *yaml_emitter_t, event *yaml_event_t) bool {\n\tif !yaml_emitter_process_anchor(emitter) {\n\t\treturn false\n\t}\n\tif !yaml_emitter_process_tag(emitter) {\n\t\treturn false\n\t}\n\tif emitter.flow_level > 0 || emitter.canonical || event.mapping_style() == yaml_FLOW_MAPPING_STYLE ||\n\t\tyaml_emitter_check_empty_mapping(emitter) {\n\t\temitter.state = yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE\n\t} else {\n\t\temitter.state = yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE\n\t}\n\treturn true\n}\n\n// Check if the document content is an empty scalar.\nfunc yaml_emitter_check_empty_document(emitter *yaml_emitter_t) bool {\n\treturn false // [Go] Huh?\n}\n\n// Check if the next events represent an empty sequence.\nfunc yaml_emitter_check_empty_sequence(emitter *yaml_emitter_t) bool {\n\tif len(emitter.events)-emitter.events_head < 2 {\n\t\treturn false\n\t}\n\treturn emitter.events[emitter.events_head].typ == yaml_SEQUENCE_START_EVENT &&\n\t\temitter.events[emitter.events_head+1].typ == yaml_SEQUENCE_END_EVENT\n}\n\n// Check if the next events represent an empty mapping.\nfunc yaml_emitter_check_empty_mapping(emitter *yaml_emitter_t) bool {\n\tif len(emitter.events)-emitter.events_head < 2 {\n\t\treturn false\n\t}\n\treturn emitter.events[emitter.events_head].typ == yaml_MAPPING_START_EVENT &&\n\t\temitter.events[emitter.events_head+1].typ == yaml_MAPPING_END_EVENT\n}\n\n// Check if the next node can be expressed as a simple key.\nfunc yaml_emitter_check_simple_key(emitter *yaml_emitter_t) bool {\n\tlength := 0\n\tswitch emitter.events[emitter.events_head].typ {\n\tcase yaml_ALIAS_EVENT:\n\t\tlength += len(emitter.anchor_data.anchor)\n\tcase yaml_SCALAR_EVENT:\n\t\tif emitter.scalar_data.multiline {\n\t\t\treturn false\n\t\t}\n\t\tlength += len(emitter.anchor_data.anchor) +\n\t\t\tlen(emitter.tag_data.handle) +\n\t\t\tlen(emitter.tag_data.suffix) +\n\t\t\tlen(emitter.scalar_data.value)\n\tcase yaml_SEQUENCE_START_EVENT:\n\t\tif !yaml_emitter_check_empty_sequence(emitter) {\n\t\t\treturn false\n\t\t}\n\t\tlength += len(emitter.anchor_data.anchor) +\n\t\t\tlen(emitter.tag_data.handle) +\n\t\t\tlen(emitter.tag_data.suffix)\n\tcase yaml_MAPPING_START_EVENT:\n\t\tif !yaml_emitter_check_empty_mapping(emitter) {\n\t\t\treturn false\n\t\t}\n\t\tlength += len(emitter.anchor_data.anchor) +\n\t\t\tlen(emitter.tag_data.handle) +\n\t\t\tlen(emitter.tag_data.suffix)\n\tdefault:\n\t\treturn false\n\t}\n\treturn length <= 128\n}\n\n// Determine an acceptable scalar style.\nfunc yaml_emitter_select_scalar_style(emitter *yaml_emitter_t, event *yaml_event_t) bool {\n\n\tno_tag := len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0\n\tif no_tag && !event.implicit && !event.quoted_implicit {\n\t\treturn yaml_emitter_set_emitter_error(emitter, \"neither tag nor implicit flags are specified\")\n\t}\n\n\tstyle := event.scalar_style()\n\tif style == yaml_ANY_SCALAR_STYLE {\n\t\tstyle = yaml_PLAIN_SCALAR_STYLE\n\t}\n\tif emitter.canonical {\n\t\tstyle = yaml_DOUBLE_QUOTED_SCALAR_STYLE\n\t}\n\tif emitter.simple_key_context && emitter.scalar_data.multiline {\n\t\tstyle = yaml_DOUBLE_QUOTED_SCALAR_STYLE\n\t}\n\n\tif style == yaml_PLAIN_SCALAR_STYLE {\n\t\tif emitter.flow_level > 0 && !emitter.scalar_data.flow_plain_allowed ||\n\t\t\temitter.flow_level == 0 && !emitter.scalar_data.block_plain_allowed {\n\t\t\tstyle = yaml_SINGLE_QUOTED_SCALAR_STYLE\n\t\t}\n\t\tif len(emitter.scalar_data.value) == 0 && (emitter.flow_level > 0 || emitter.simple_key_context) {\n\t\t\tstyle = yaml_SINGLE_QUOTED_SCALAR_STYLE\n\t\t}\n\t\tif no_tag && !event.implicit {\n\t\t\tstyle = yaml_SINGLE_QUOTED_SCALAR_STYLE\n\t\t}\n\t}\n\tif style == yaml_SINGLE_QUOTED_SCALAR_STYLE {\n\t\tif !emitter.scalar_data.single_quoted_allowed {\n\t\t\tstyle = yaml_DOUBLE_QUOTED_SCALAR_STYLE\n\t\t}\n\t}\n\tif style == yaml_LITERAL_SCALAR_STYLE || style == yaml_FOLDED_SCALAR_STYLE {\n\t\tif !emitter.scalar_data.block_allowed || emitter.flow_level > 0 || emitter.simple_key_context {\n\t\t\tstyle = yaml_DOUBLE_QUOTED_SCALAR_STYLE\n\t\t}\n\t}\n\n\tif no_tag && !event.quoted_implicit && style != yaml_PLAIN_SCALAR_STYLE {\n\t\temitter.tag_data.handle = []byte{'!'}\n\t}\n\temitter.scalar_data.style = style\n\treturn true\n}\n\n// Write an achor.\nfunc yaml_emitter_process_anchor(emitter *yaml_emitter_t) bool {\n\tif emitter.anchor_data.anchor == nil {\n\t\treturn true\n\t}\n\tc := []byte{'&'}\n\tif emitter.anchor_data.alias {\n\t\tc[0] = '*'\n\t}\n\tif !yaml_emitter_write_indicator(emitter, c, true, false, false) {\n\t\treturn false\n\t}\n\treturn yaml_emitter_write_anchor(emitter, emitter.anchor_data.anchor)\n}\n\n// Write a tag.\nfunc yaml_emitter_process_tag(emitter *yaml_emitter_t) bool {\n\tif len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0 {\n\t\treturn true\n\t}\n\tif len(emitter.tag_data.handle) > 0 {\n\t\tif !yaml_emitter_write_tag_handle(emitter, emitter.tag_data.handle) {\n\t\t\treturn false\n\t\t}\n\t\tif len(emitter.tag_data.suffix) > 0 {\n\t\t\tif !yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// [Go] Allocate these slices elsewhere.\n\t\tif !yaml_emitter_write_indicator(emitter, []byte(\"!<\"), true, false, false) {\n\t\t\treturn false\n\t\t}\n\t\tif !yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) {\n\t\t\treturn false\n\t\t}\n\t\tif !yaml_emitter_write_indicator(emitter, []byte{'>'}, false, false, false) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// Write a scalar.\nfunc yaml_emitter_process_scalar(emitter *yaml_emitter_t) bool {\n\tswitch emitter.scalar_data.style {\n\tcase yaml_PLAIN_SCALAR_STYLE:\n\t\treturn yaml_emitter_write_plain_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context)\n\n\tcase yaml_SINGLE_QUOTED_SCALAR_STYLE:\n\t\treturn yaml_emitter_write_single_quoted_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context)\n\n\tcase yaml_DOUBLE_QUOTED_SCALAR_STYLE:\n\t\treturn yaml_emitter_write_double_quoted_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context)\n\n\tcase yaml_LITERAL_SCALAR_STYLE:\n\t\treturn yaml_emitter_write_literal_scalar(emitter, emitter.scalar_data.value)\n\n\tcase yaml_FOLDED_SCALAR_STYLE:\n\t\treturn yaml_emitter_write_folded_scalar(emitter, emitter.scalar_data.value)\n\t}\n\tpanic(\"unknown scalar style\")\n}\n\n// Check if a %YAML directive is valid.\nfunc yaml_emitter_analyze_version_directive(emitter *yaml_emitter_t, version_directive *yaml_version_directive_t) bool {\n\tif version_directive.major != 1 || version_directive.minor != 1 {\n\t\treturn yaml_emitter_set_emitter_error(emitter, \"incompatible %YAML directive\")\n\t}\n\treturn true\n}\n\n// Check if a %TAG directive is valid.\nfunc yaml_emitter_analyze_tag_directive(emitter *yaml_emitter_t, tag_directive *yaml_tag_directive_t) bool {\n\thandle := tag_directive.handle\n\tprefix := tag_directive.prefix\n\tif len(handle) == 0 {\n\t\treturn yaml_emitter_set_emitter_error(emitter, \"tag handle must not be empty\")\n\t}\n\tif handle[0] != '!' {\n\t\treturn yaml_emitter_set_emitter_error(emitter, \"tag handle must start with '!'\")\n\t}\n\tif handle[len(handle)-1] != '!' {\n\t\treturn yaml_emitter_set_emitter_error(emitter, \"tag handle must end with '!'\")\n\t}\n\tfor i := 1; i < len(handle)-1; i += width(handle[i]) {\n\t\tif !is_alpha(handle, i) {\n\t\t\treturn yaml_emitter_set_emitter_error(emitter, \"tag handle must contain alphanumerical characters only\")\n\t\t}\n\t}\n\tif len(prefix) == 0 {\n\t\treturn yaml_emitter_set_emitter_error(emitter, \"tag prefix must not be empty\")\n\t}\n\treturn true\n}\n\n// Check if an anchor is valid.\nfunc yaml_emitter_analyze_anchor(emitter *yaml_emitter_t, anchor []byte, alias bool) bool {\n\tif len(anchor) == 0 {\n\t\tproblem := \"anchor value must not be empty\"\n\t\tif alias {\n\t\t\tproblem = \"alias value must not be empty\"\n\t\t}\n\t\treturn yaml_emitter_set_emitter_error(emitter, problem)\n\t}\n\tfor i := 0; i < len(anchor); i += width(anchor[i]) {\n\t\tif !is_alpha(anchor, i) {\n\t\t\tproblem := \"anchor value must contain alphanumerical characters only\"\n\t\t\tif alias {\n\t\t\t\tproblem = \"alias value must contain alphanumerical characters only\"\n\t\t\t}\n\t\t\treturn yaml_emitter_set_emitter_error(emitter, problem)\n\t\t}\n\t}\n\temitter.anchor_data.anchor = anchor\n\temitter.anchor_data.alias = alias\n\treturn true\n}\n\n// Check if a tag is valid.\nfunc yaml_emitter_analyze_tag(emitter *yaml_emitter_t, tag []byte) bool {\n\tif len(tag) == 0 {\n\t\treturn yaml_emitter_set_emitter_error(emitter, \"tag value must not be empty\")\n\t}\n\tfor i := 0; i < len(emitter.tag_directives); i++ {\n\t\ttag_directive := &emitter.tag_directives[i]\n\t\tif bytes.HasPrefix(tag, tag_directive.prefix) {\n\t\t\temitter.tag_data.handle = tag_directive.handle\n\t\t\temitter.tag_data.suffix = tag[len(tag_directive.prefix):]\n\t\t\treturn true\n\t\t}\n\t}\n\temitter.tag_data.suffix = tag\n\treturn true\n}\n\n// Check if a scalar is valid.\nfunc yaml_emitter_analyze_scalar(emitter *yaml_emitter_t, value []byte) bool {\n\tvar (\n\t\tblock_indicators   = false\n\t\tflow_indicators    = false\n\t\tline_breaks        = false\n\t\tspecial_characters = false\n\n\t\tleading_space  = false\n\t\tleading_break  = false\n\t\ttrailing_space = false\n\t\ttrailing_break = false\n\t\tbreak_space    = false\n\t\tspace_break    = false\n\n\t\tpreceded_by_whitespace = false\n\t\tfollowed_by_whitespace = false\n\t\tprevious_space         = false\n\t\tprevious_break         = false\n\t)\n\n\temitter.scalar_data.value = value\n\n\tif len(value) == 0 {\n\t\temitter.scalar_data.multiline = false\n\t\temitter.scalar_data.flow_plain_allowed = false\n\t\temitter.scalar_data.block_plain_allowed = true\n\t\temitter.scalar_data.single_quoted_allowed = true\n\t\temitter.scalar_data.block_allowed = false\n\t\treturn true\n\t}\n\n\tif len(value) >= 3 && ((value[0] == '-' && value[1] == '-' && value[2] == '-') || (value[0] == '.' && value[1] == '.' && value[2] == '.')) {\n\t\tblock_indicators = true\n\t\tflow_indicators = true\n\t}\n\n\tpreceded_by_whitespace = true\n\tfor i, w := 0, 0; i < len(value); i += w {\n\t\tw = width(value[i])\n\t\tfollowed_by_whitespace = i+w >= len(value) || is_blank(value, i+w)\n\n\t\tif i == 0 {\n\t\t\tswitch value[i] {\n\t\t\tcase '#', ',', '[', ']', '{', '}', '&', '*', '!', '|', '>', '\\'', '\"', '%', '@', '`':\n\t\t\t\tflow_indicators = true\n\t\t\t\tblock_indicators = true\n\t\t\tcase '?', ':':\n\t\t\t\tflow_indicators = true\n\t\t\t\tif followed_by_whitespace {\n\t\t\t\t\tblock_indicators = true\n\t\t\t\t}\n\t\t\tcase '-':\n\t\t\t\tif followed_by_whitespace {\n\t\t\t\t\tflow_indicators = true\n\t\t\t\t\tblock_indicators = true\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tswitch value[i] {\n\t\t\tcase ',', '?', '[', ']', '{', '}':\n\t\t\t\tflow_indicators = true\n\t\t\tcase ':':\n\t\t\t\tflow_indicators = true\n\t\t\t\tif followed_by_whitespace {\n\t\t\t\t\tblock_indicators = true\n\t\t\t\t}\n\t\t\tcase '#':\n\t\t\t\tif preceded_by_whitespace {\n\t\t\t\t\tflow_indicators = true\n\t\t\t\t\tblock_indicators = true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif !is_printable(value, i) || !is_ascii(value, i) && !emitter.unicode {\n\t\t\tspecial_characters = true\n\t\t}\n\t\tif is_space(value, i) {\n\t\t\tif i == 0 {\n\t\t\t\tleading_space = true\n\t\t\t}\n\t\t\tif i+width(value[i]) == len(value) {\n\t\t\t\ttrailing_space = true\n\t\t\t}\n\t\t\tif previous_break {\n\t\t\t\tbreak_space = true\n\t\t\t}\n\t\t\tprevious_space = true\n\t\t\tprevious_break = false\n\t\t} else if is_break(value, i) {\n\t\t\tline_breaks = true\n\t\t\tif i == 0 {\n\t\t\t\tleading_break = true\n\t\t\t}\n\t\t\tif i+width(value[i]) == len(value) {\n\t\t\t\ttrailing_break = true\n\t\t\t}\n\t\t\tif previous_space {\n\t\t\t\tspace_break = true\n\t\t\t}\n\t\t\tprevious_space = false\n\t\t\tprevious_break = true\n\t\t} else {\n\t\t\tprevious_space = false\n\t\t\tprevious_break = false\n\t\t}\n\n\t\t// [Go]: Why 'z'? Couldn't be the end of the string as that's the loop condition.\n\t\tpreceded_by_whitespace = is_blankz(value, i)\n\t}\n\n\temitter.scalar_data.multiline = line_breaks\n\temitter.scalar_data.flow_plain_allowed = true\n\temitter.scalar_data.block_plain_allowed = true\n\temitter.scalar_data.single_quoted_allowed = true\n\temitter.scalar_data.block_allowed = true\n\n\tif leading_space || leading_break || trailing_space || trailing_break {\n\t\temitter.scalar_data.flow_plain_allowed = false\n\t\temitter.scalar_data.block_plain_allowed = false\n\t}\n\tif trailing_space {\n\t\temitter.scalar_data.block_allowed = false\n\t}\n\tif break_space {\n\t\temitter.scalar_data.flow_plain_allowed = false\n\t\temitter.scalar_data.block_plain_allowed = false\n\t\temitter.scalar_data.single_quoted_allowed = false\n\t}\n\tif space_break || special_characters {\n\t\temitter.scalar_data.flow_plain_allowed = false\n\t\temitter.scalar_data.block_plain_allowed = false\n\t\temitter.scalar_data.single_quoted_allowed = false\n\t\temitter.scalar_data.block_allowed = false\n\t}\n\tif line_breaks {\n\t\temitter.scalar_data.flow_plain_allowed = false\n\t\temitter.scalar_data.block_plain_allowed = false\n\t}\n\tif flow_indicators {\n\t\temitter.scalar_data.flow_plain_allowed = false\n\t}\n\tif block_indicators {\n\t\temitter.scalar_data.block_plain_allowed = false\n\t}\n\treturn true\n}\n\n// Check if the event data is valid.\nfunc yaml_emitter_analyze_event(emitter *yaml_emitter_t, event *yaml_event_t) bool {\n\n\temitter.anchor_data.anchor = nil\n\temitter.tag_data.handle = nil\n\temitter.tag_data.suffix = nil\n\temitter.scalar_data.value = nil\n\n\tswitch event.typ {\n\tcase yaml_ALIAS_EVENT:\n\t\tif !yaml_emitter_analyze_anchor(emitter, event.anchor, true) {\n\t\t\treturn false\n\t\t}\n\n\tcase yaml_SCALAR_EVENT:\n\t\tif len(event.anchor) > 0 {\n\t\t\tif !yaml_emitter_analyze_anchor(emitter, event.anchor, false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\tif len(event.tag) > 0 && (emitter.canonical || (!event.implicit && !event.quoted_implicit)) {\n\t\t\tif !yaml_emitter_analyze_tag(emitter, event.tag) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\tif !yaml_emitter_analyze_scalar(emitter, event.value) {\n\t\t\treturn false\n\t\t}\n\n\tcase yaml_SEQUENCE_START_EVENT:\n\t\tif len(event.anchor) > 0 {\n\t\t\tif !yaml_emitter_analyze_anchor(emitter, event.anchor, false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\tif len(event.tag) > 0 && (emitter.canonical || !event.implicit) {\n\t\t\tif !yaml_emitter_analyze_tag(emitter, event.tag) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\tcase yaml_MAPPING_START_EVENT:\n\t\tif len(event.anchor) > 0 {\n\t\t\tif !yaml_emitter_analyze_anchor(emitter, event.anchor, false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\tif len(event.tag) > 0 && (emitter.canonical || !event.implicit) {\n\t\t\tif !yaml_emitter_analyze_tag(emitter, event.tag) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\treturn true\n}\n\n// Write the BOM character.\nfunc yaml_emitter_write_bom(emitter *yaml_emitter_t) bool {\n\tif !flush(emitter) {\n\t\treturn false\n\t}\n\tpos := emitter.buffer_pos\n\temitter.buffer[pos+0] = '\\xEF'\n\temitter.buffer[pos+1] = '\\xBB'\n\temitter.buffer[pos+2] = '\\xBF'\n\temitter.buffer_pos += 3\n\treturn true\n}\n\nfunc yaml_emitter_write_indent(emitter *yaml_emitter_t) bool {\n\tindent := emitter.indent\n\tif indent < 0 {\n\t\tindent = 0\n\t}\n\tif !emitter.indention || emitter.column > indent || (emitter.column == indent && !emitter.whitespace) {\n\t\tif !put_break(emitter) {\n\t\t\treturn false\n\t\t}\n\t}\n\tfor emitter.column < indent {\n\t\tif !put(emitter, ' ') {\n\t\t\treturn false\n\t\t}\n\t}\n\temitter.whitespace = true\n\temitter.indention = true\n\treturn true\n}\n\nfunc yaml_emitter_write_indicator(emitter *yaml_emitter_t, indicator []byte, need_whitespace, is_whitespace, is_indention bool) bool {\n\tif need_whitespace && !emitter.whitespace {\n\t\tif !put(emitter, ' ') {\n\t\t\treturn false\n\t\t}\n\t}\n\tif !write_all(emitter, indicator) {\n\t\treturn false\n\t}\n\temitter.whitespace = is_whitespace\n\temitter.indention = (emitter.indention && is_indention)\n\temitter.open_ended = false\n\treturn true\n}\n\nfunc yaml_emitter_write_anchor(emitter *yaml_emitter_t, value []byte) bool {\n\tif !write_all(emitter, value) {\n\t\treturn false\n\t}\n\temitter.whitespace = false\n\temitter.indention = false\n\treturn true\n}\n\nfunc yaml_emitter_write_tag_handle(emitter *yaml_emitter_t, value []byte) bool {\n\tif !emitter.whitespace {\n\t\tif !put(emitter, ' ') {\n\t\t\treturn false\n\t\t}\n\t}\n\tif !write_all(emitter, value) {\n\t\treturn false\n\t}\n\temitter.whitespace = false\n\temitter.indention = false\n\treturn true\n}\n\nfunc yaml_emitter_write_tag_content(emitter *yaml_emitter_t, value []byte, need_whitespace bool) bool {\n\tif need_whitespace && !emitter.whitespace {\n\t\tif !put(emitter, ' ') {\n\t\t\treturn false\n\t\t}\n\t}\n\tfor i := 0; i < len(value); {\n\t\tvar must_write bool\n\t\tswitch value[i] {\n\t\tcase ';', '/', '?', ':', '@', '&', '=', '+', '$', ',', '_', '.', '~', '*', '\\'', '(', ')', '[', ']':\n\t\t\tmust_write = true\n\t\tdefault:\n\t\t\tmust_write = is_alpha(value, i)\n\t\t}\n\t\tif must_write {\n\t\t\tif !write(emitter, value, &i) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t} else {\n\t\t\tw := width(value[i])\n\t\t\tfor k := 0; k < w; k++ {\n\t\t\t\toctet := value[i]\n\t\t\t\ti++\n\t\t\t\tif !put(emitter, '%') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\tc := octet >> 4\n\t\t\t\tif c < 10 {\n\t\t\t\t\tc += '0'\n\t\t\t\t} else {\n\t\t\t\t\tc += 'A' - 10\n\t\t\t\t}\n\t\t\t\tif !put(emitter, c) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\tc = octet & 0x0f\n\t\t\t\tif c < 10 {\n\t\t\t\t\tc += '0'\n\t\t\t\t} else {\n\t\t\t\t\tc += 'A' - 10\n\t\t\t\t}\n\t\t\t\tif !put(emitter, c) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\temitter.whitespace = false\n\temitter.indention = false\n\treturn true\n}\n\nfunc yaml_emitter_write_plain_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool {\n\tif !emitter.whitespace {\n\t\tif !put(emitter, ' ') {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tspaces := false\n\tbreaks := false\n\tfor i := 0; i < len(value); {\n\t\tif is_space(value, i) {\n\t\t\tif allow_breaks && !spaces && emitter.column > emitter.best_width && !is_space(value, i+1) {\n\t\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\ti += width(value[i])\n\t\t\t} else {\n\t\t\t\tif !write(emitter, value, &i) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tspaces = true\n\t\t} else if is_break(value, i) {\n\t\t\tif !breaks && value[i] == '\\n' {\n\t\t\t\tif !put_break(emitter) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !write_break(emitter, value, &i) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\temitter.indention = true\n\t\t\tbreaks = true\n\t\t} else {\n\t\t\tif breaks {\n\t\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !write(emitter, value, &i) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\temitter.indention = false\n\t\t\tspaces = false\n\t\t\tbreaks = false\n\t\t}\n\t}\n\n\temitter.whitespace = false\n\temitter.indention = false\n\tif emitter.root_context {\n\t\temitter.open_ended = true\n\t}\n\n\treturn true\n}\n\nfunc yaml_emitter_write_single_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool {\n\n\tif !yaml_emitter_write_indicator(emitter, []byte{'\\''}, true, false, false) {\n\t\treturn false\n\t}\n\n\tspaces := false\n\tbreaks := false\n\tfor i := 0; i < len(value); {\n\t\tif is_space(value, i) {\n\t\t\tif allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 && !is_space(value, i+1) {\n\t\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\ti += width(value[i])\n\t\t\t} else {\n\t\t\t\tif !write(emitter, value, &i) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tspaces = true\n\t\t} else if is_break(value, i) {\n\t\t\tif !breaks && value[i] == '\\n' {\n\t\t\t\tif !put_break(emitter) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !write_break(emitter, value, &i) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\temitter.indention = true\n\t\t\tbreaks = true\n\t\t} else {\n\t\t\tif breaks {\n\t\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif value[i] == '\\'' {\n\t\t\t\tif !put(emitter, '\\'') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !write(emitter, value, &i) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\temitter.indention = false\n\t\t\tspaces = false\n\t\t\tbreaks = false\n\t\t}\n\t}\n\tif !yaml_emitter_write_indicator(emitter, []byte{'\\''}, false, false, false) {\n\t\treturn false\n\t}\n\temitter.whitespace = false\n\temitter.indention = false\n\treturn true\n}\n\nfunc yaml_emitter_write_double_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool {\n\tspaces := false\n\tif !yaml_emitter_write_indicator(emitter, []byte{'\"'}, true, false, false) {\n\t\treturn false\n\t}\n\n\tfor i := 0; i < len(value); {\n\t\tif !is_printable(value, i) || (!emitter.unicode && !is_ascii(value, i)) ||\n\t\t\tis_bom(value, i) || is_break(value, i) ||\n\t\t\tvalue[i] == '\"' || value[i] == '\\\\' {\n\n\t\t\toctet := value[i]\n\n\t\t\tvar w int\n\t\t\tvar v rune\n\t\t\tswitch {\n\t\t\tcase octet&0x80 == 0x00:\n\t\t\t\tw, v = 1, rune(octet&0x7F)\n\t\t\tcase octet&0xE0 == 0xC0:\n\t\t\t\tw, v = 2, rune(octet&0x1F)\n\t\t\tcase octet&0xF0 == 0xE0:\n\t\t\t\tw, v = 3, rune(octet&0x0F)\n\t\t\tcase octet&0xF8 == 0xF0:\n\t\t\t\tw, v = 4, rune(octet&0x07)\n\t\t\t}\n\t\t\tfor k := 1; k < w; k++ {\n\t\t\t\toctet = value[i+k]\n\t\t\t\tv = (v << 6) + (rune(octet) & 0x3F)\n\t\t\t}\n\t\t\ti += w\n\n\t\t\tif !put(emitter, '\\\\') {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tvar ok bool\n\t\t\tswitch v {\n\t\t\tcase 0x00:\n\t\t\t\tok = put(emitter, '0')\n\t\t\tcase 0x07:\n\t\t\t\tok = put(emitter, 'a')\n\t\t\tcase 0x08:\n\t\t\t\tok = put(emitter, 'b')\n\t\t\tcase 0x09:\n\t\t\t\tok = put(emitter, 't')\n\t\t\tcase 0x0A:\n\t\t\t\tok = put(emitter, 'n')\n\t\t\tcase 0x0b:\n\t\t\t\tok = put(emitter, 'v')\n\t\t\tcase 0x0c:\n\t\t\t\tok = put(emitter, 'f')\n\t\t\tcase 0x0d:\n\t\t\t\tok = put(emitter, 'r')\n\t\t\tcase 0x1b:\n\t\t\t\tok = put(emitter, 'e')\n\t\t\tcase 0x22:\n\t\t\t\tok = put(emitter, '\"')\n\t\t\tcase 0x5c:\n\t\t\t\tok = put(emitter, '\\\\')\n\t\t\tcase 0x85:\n\t\t\t\tok = put(emitter, 'N')\n\t\t\tcase 0xA0:\n\t\t\t\tok = put(emitter, '_')\n\t\t\tcase 0x2028:\n\t\t\t\tok = put(emitter, 'L')\n\t\t\tcase 0x2029:\n\t\t\t\tok = put(emitter, 'P')\n\t\t\tdefault:\n\t\t\t\tif v <= 0xFF {\n\t\t\t\t\tok = put(emitter, 'x')\n\t\t\t\t\tw = 2\n\t\t\t\t} else if v <= 0xFFFF {\n\t\t\t\t\tok = put(emitter, 'u')\n\t\t\t\t\tw = 4\n\t\t\t\t} else {\n\t\t\t\t\tok = put(emitter, 'U')\n\t\t\t\t\tw = 8\n\t\t\t\t}\n\t\t\t\tfor k := (w - 1) * 4; ok && k >= 0; k -= 4 {\n\t\t\t\t\tdigit := byte((v >> uint(k)) & 0x0F)\n\t\t\t\t\tif digit < 10 {\n\t\t\t\t\t\tok = put(emitter, digit+'0')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tok = put(emitter, digit+'A'-10)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !ok {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tspaces = false\n\t\t} else if is_space(value, i) {\n\t\t\tif allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 {\n\t\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tif is_space(value, i+1) {\n\t\t\t\t\tif !put(emitter, '\\\\') {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ti += width(value[i])\n\t\t\t} else if !write(emitter, value, &i) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tspaces = true\n\t\t} else {\n\t\t\tif !write(emitter, value, &i) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tspaces = false\n\t\t}\n\t}\n\tif !yaml_emitter_write_indicator(emitter, []byte{'\"'}, false, false, false) {\n\t\treturn false\n\t}\n\temitter.whitespace = false\n\temitter.indention = false\n\treturn true\n}\n\nfunc yaml_emitter_write_block_scalar_hints(emitter *yaml_emitter_t, value []byte) bool {\n\tif is_space(value, 0) || is_break(value, 0) {\n\t\tindent_hint := []byte{'0' + byte(emitter.best_indent)}\n\t\tif !yaml_emitter_write_indicator(emitter, indent_hint, false, false, false) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\temitter.open_ended = false\n\n\tvar chomp_hint [1]byte\n\tif len(value) == 0 {\n\t\tchomp_hint[0] = '-'\n\t} else {\n\t\ti := len(value) - 1\n\t\tfor value[i]&0xC0 == 0x80 {\n\t\t\ti--\n\t\t}\n\t\tif !is_break(value, i) {\n\t\t\tchomp_hint[0] = '-'\n\t\t} else if i == 0 {\n\t\t\tchomp_hint[0] = '+'\n\t\t\temitter.open_ended = true\n\t\t} else {\n\t\t\ti--\n\t\t\tfor value[i]&0xC0 == 0x80 {\n\t\t\t\ti--\n\t\t\t}\n\t\t\tif is_break(value, i) {\n\t\t\t\tchomp_hint[0] = '+'\n\t\t\t\temitter.open_ended = true\n\t\t\t}\n\t\t}\n\t}\n\tif chomp_hint[0] != 0 {\n\t\tif !yaml_emitter_write_indicator(emitter, chomp_hint[:], false, false, false) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nfunc yaml_emitter_write_literal_scalar(emitter *yaml_emitter_t, value []byte) bool {\n\tif !yaml_emitter_write_indicator(emitter, []byte{'|'}, true, false, false) {\n\t\treturn false\n\t}\n\tif !yaml_emitter_write_block_scalar_hints(emitter, value) {\n\t\treturn false\n\t}\n\tif !put_break(emitter) {\n\t\treturn false\n\t}\n\temitter.indention = true\n\temitter.whitespace = true\n\tbreaks := true\n\tfor i := 0; i < len(value); {\n\t\tif is_break(value, i) {\n\t\t\tif !write_break(emitter, value, &i) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\temitter.indention = true\n\t\t\tbreaks = true\n\t\t} else {\n\t\t\tif breaks {\n\t\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !write(emitter, value, &i) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\temitter.indention = false\n\t\t\tbreaks = false\n\t\t}\n\t}\n\n\treturn true\n}\n\nfunc yaml_emitter_write_folded_scalar(emitter *yaml_emitter_t, value []byte) bool {\n\tif !yaml_emitter_write_indicator(emitter, []byte{'>'}, true, false, false) {\n\t\treturn false\n\t}\n\tif !yaml_emitter_write_block_scalar_hints(emitter, value) {\n\t\treturn false\n\t}\n\n\tif !put_break(emitter) {\n\t\treturn false\n\t}\n\temitter.indention = true\n\temitter.whitespace = true\n\n\tbreaks := true\n\tleading_spaces := true\n\tfor i := 0; i < len(value); {\n\t\tif is_break(value, i) {\n\t\t\tif !breaks && !leading_spaces && value[i] == '\\n' {\n\t\t\t\tk := 0\n\t\t\t\tfor is_break(value, k) {\n\t\t\t\t\tk += width(value[k])\n\t\t\t\t}\n\t\t\t\tif !is_blankz(value, k) {\n\t\t\t\t\tif !put_break(emitter) {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !write_break(emitter, value, &i) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\temitter.indention = true\n\t\t\tbreaks = true\n\t\t} else {\n\t\t\tif breaks {\n\t\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tleading_spaces = is_blank(value, i)\n\t\t\t}\n\t\t\tif !breaks && is_space(value, i) && !is_space(value, i+1) && emitter.column > emitter.best_width {\n\t\t\t\tif !yaml_emitter_write_indent(emitter) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\ti += width(value[i])\n\t\t\t} else {\n\t\t\t\tif !write(emitter, value, &i) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\temitter.indention = false\n\t\t\tbreaks = false\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/encode.go",
    "content": "package yaml\n\nimport (\n\t\"encoding\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"regexp\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n)\n\ntype encoder struct {\n\temitter yaml_emitter_t\n\tevent   yaml_event_t\n\tout     []byte\n\tflow    bool\n}\n\nfunc newEncoder() (e *encoder) {\n\te = &encoder{}\n\te.must(yaml_emitter_initialize(&e.emitter))\n\tyaml_emitter_set_output_string(&e.emitter, &e.out)\n\tyaml_emitter_set_unicode(&e.emitter, true)\n\te.must(yaml_stream_start_event_initialize(&e.event, yaml_UTF8_ENCODING))\n\te.emit()\n\te.must(yaml_document_start_event_initialize(&e.event, nil, nil, true))\n\te.emit()\n\treturn e\n}\n\nfunc (e *encoder) finish() {\n\te.must(yaml_document_end_event_initialize(&e.event, true))\n\te.emit()\n\te.emitter.open_ended = false\n\te.must(yaml_stream_end_event_initialize(&e.event))\n\te.emit()\n}\n\nfunc (e *encoder) destroy() {\n\tyaml_emitter_delete(&e.emitter)\n}\n\nfunc (e *encoder) emit() {\n\t// This will internally delete the e.event value.\n\tif !yaml_emitter_emit(&e.emitter, &e.event) && e.event.typ != yaml_DOCUMENT_END_EVENT && e.event.typ != yaml_STREAM_END_EVENT {\n\t\te.must(false)\n\t}\n}\n\nfunc (e *encoder) must(ok bool) {\n\tif !ok {\n\t\tmsg := e.emitter.problem\n\t\tif msg == \"\" {\n\t\t\tmsg = \"unknown problem generating YAML content\"\n\t\t}\n\t\tfailf(\"%s\", msg)\n\t}\n}\n\nfunc (e *encoder) marshal(tag string, in reflect.Value) {\n\tif !in.IsValid() {\n\t\te.nilv()\n\t\treturn\n\t}\n\tiface := in.Interface()\n\tif m, ok := iface.(Marshaler); ok {\n\t\tv, err := m.MarshalYAML()\n\t\tif err != nil {\n\t\t\tfail(err)\n\t\t}\n\t\tif v == nil {\n\t\t\te.nilv()\n\t\t\treturn\n\t\t}\n\t\tin = reflect.ValueOf(v)\n\t} else if m, ok := iface.(encoding.TextMarshaler); ok {\n\t\ttext, err := m.MarshalText()\n\t\tif err != nil {\n\t\t\tfail(err)\n\t\t}\n\t\tin = reflect.ValueOf(string(text))\n\t}\n\tswitch in.Kind() {\n\tcase reflect.Interface:\n\t\tif in.IsNil() {\n\t\t\te.nilv()\n\t\t} else {\n\t\t\te.marshal(tag, in.Elem())\n\t\t}\n\tcase reflect.Map:\n\t\te.mapv(tag, in)\n\tcase reflect.Ptr:\n\t\tif in.IsNil() {\n\t\t\te.nilv()\n\t\t} else {\n\t\t\te.marshal(tag, in.Elem())\n\t\t}\n\tcase reflect.Struct:\n\t\te.structv(tag, in)\n\tcase reflect.Slice:\n\t\tif in.Type().Elem() == mapItemType {\n\t\t\te.itemsv(tag, in)\n\t\t} else {\n\t\t\te.slicev(tag, in)\n\t\t}\n\tcase reflect.String:\n\t\te.stringv(tag, in)\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:\n\t\tif in.Type() == durationType {\n\t\t\te.stringv(tag, reflect.ValueOf(iface.(time.Duration).String()))\n\t\t} else {\n\t\t\te.intv(tag, in)\n\t\t}\n\tcase reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:\n\t\te.uintv(tag, in)\n\tcase reflect.Float32, reflect.Float64:\n\t\te.floatv(tag, in)\n\tcase reflect.Bool:\n\t\te.boolv(tag, in)\n\tdefault:\n\t\tpanic(\"cannot marshal type: \" + in.Type().String())\n\t}\n}\n\nfunc (e *encoder) mapv(tag string, in reflect.Value) {\n\te.mappingv(tag, func() {\n\t\tkeys := keyList(in.MapKeys())\n\t\tsort.Sort(keys)\n\t\tfor _, k := range keys {\n\t\t\te.marshal(\"\", k)\n\t\t\te.marshal(\"\", in.MapIndex(k))\n\t\t}\n\t})\n}\n\nfunc (e *encoder) itemsv(tag string, in reflect.Value) {\n\te.mappingv(tag, func() {\n\t\tslice := in.Convert(reflect.TypeOf([]MapItem{})).Interface().([]MapItem)\n\t\tfor _, item := range slice {\n\t\t\te.marshal(\"\", reflect.ValueOf(item.Key))\n\t\t\te.marshal(\"\", reflect.ValueOf(item.Value))\n\t\t}\n\t})\n}\n\nfunc (e *encoder) structv(tag string, in reflect.Value) {\n\tsinfo, err := getStructInfo(in.Type())\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\te.mappingv(tag, func() {\n\t\tfor _, info := range sinfo.FieldsList {\n\t\t\tvar value reflect.Value\n\t\t\tif info.Inline == nil {\n\t\t\t\tvalue = in.Field(info.Num)\n\t\t\t} else {\n\t\t\t\tvalue = in.FieldByIndex(info.Inline)\n\t\t\t}\n\t\t\tif info.OmitEmpty && isZero(value) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\te.marshal(\"\", reflect.ValueOf(info.Key))\n\t\t\te.flow = info.Flow\n\t\t\te.marshal(\"\", value)\n\t\t}\n\t\tif sinfo.InlineMap >= 0 {\n\t\t\tm := in.Field(sinfo.InlineMap)\n\t\t\tif m.Len() > 0 {\n\t\t\t\te.flow = false\n\t\t\t\tkeys := keyList(m.MapKeys())\n\t\t\t\tsort.Sort(keys)\n\t\t\t\tfor _, k := range keys {\n\t\t\t\t\tif _, found := sinfo.FieldsMap[k.String()]; found {\n\t\t\t\t\t\tpanic(fmt.Sprintf(\"Can't have key %q in inlined map; conflicts with struct field\", k.String()))\n\t\t\t\t\t}\n\t\t\t\t\te.marshal(\"\", k)\n\t\t\t\t\te.flow = false\n\t\t\t\t\te.marshal(\"\", m.MapIndex(k))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunc (e *encoder) mappingv(tag string, f func()) {\n\timplicit := tag == \"\"\n\tstyle := yaml_BLOCK_MAPPING_STYLE\n\tif e.flow {\n\t\te.flow = false\n\t\tstyle = yaml_FLOW_MAPPING_STYLE\n\t}\n\te.must(yaml_mapping_start_event_initialize(&e.event, nil, []byte(tag), implicit, style))\n\te.emit()\n\tf()\n\te.must(yaml_mapping_end_event_initialize(&e.event))\n\te.emit()\n}\n\nfunc (e *encoder) slicev(tag string, in reflect.Value) {\n\timplicit := tag == \"\"\n\tstyle := yaml_BLOCK_SEQUENCE_STYLE\n\tif e.flow {\n\t\te.flow = false\n\t\tstyle = yaml_FLOW_SEQUENCE_STYLE\n\t}\n\te.must(yaml_sequence_start_event_initialize(&e.event, nil, []byte(tag), implicit, style))\n\te.emit()\n\tn := in.Len()\n\tfor i := 0; i < n; i++ {\n\t\te.marshal(\"\", in.Index(i))\n\t}\n\te.must(yaml_sequence_end_event_initialize(&e.event))\n\te.emit()\n}\n\n// isBase60 returns whether s is in base 60 notation as defined in YAML 1.1.\n//\n// The base 60 float notation in YAML 1.1 is a terrible idea and is unsupported\n// in YAML 1.2 and by this package, but these should be marshalled quoted for\n// the time being for compatibility with other parsers.\nfunc isBase60Float(s string) (result bool) {\n\t// Fast path.\n\tif s == \"\" {\n\t\treturn false\n\t}\n\tc := s[0]\n\tif !(c == '+' || c == '-' || c >= '0' && c <= '9') || strings.IndexByte(s, ':') < 0 {\n\t\treturn false\n\t}\n\t// Do the full match.\n\treturn base60float.MatchString(s)\n}\n\n// From http://yaml.org/type/float.html, except the regular expression there\n// is bogus. In practice parsers do not enforce the \"\\.[0-9_]*\" suffix.\nvar base60float = regexp.MustCompile(`^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+(?:\\.[0-9_]*)?$`)\n\nfunc (e *encoder) stringv(tag string, in reflect.Value) {\n\tvar style yaml_scalar_style_t\n\ts := in.String()\n\trtag, rs := resolve(\"\", s)\n\tif rtag == yaml_BINARY_TAG {\n\t\tif tag == \"\" || tag == yaml_STR_TAG {\n\t\t\ttag = rtag\n\t\t\ts = rs.(string)\n\t\t} else if tag == yaml_BINARY_TAG {\n\t\t\tfailf(\"explicitly tagged !!binary data must be base64-encoded\")\n\t\t} else {\n\t\t\tfailf(\"cannot marshal invalid UTF-8 data as %s\", shortTag(tag))\n\t\t}\n\t}\n\tif tag == \"\" && (rtag != yaml_STR_TAG || isBase60Float(s)) {\n\t\tstyle = yaml_DOUBLE_QUOTED_SCALAR_STYLE\n\t} else if strings.Contains(s, \"\\n\") {\n\t\tstyle = yaml_LITERAL_SCALAR_STYLE\n\t} else {\n\t\tstyle = yaml_PLAIN_SCALAR_STYLE\n\t}\n\te.emitScalar(s, \"\", tag, style)\n}\n\nfunc (e *encoder) boolv(tag string, in reflect.Value) {\n\tvar s string\n\tif in.Bool() {\n\t\ts = \"true\"\n\t} else {\n\t\ts = \"false\"\n\t}\n\te.emitScalar(s, \"\", tag, yaml_PLAIN_SCALAR_STYLE)\n}\n\nfunc (e *encoder) intv(tag string, in reflect.Value) {\n\ts := strconv.FormatInt(in.Int(), 10)\n\te.emitScalar(s, \"\", tag, yaml_PLAIN_SCALAR_STYLE)\n}\n\nfunc (e *encoder) uintv(tag string, in reflect.Value) {\n\ts := strconv.FormatUint(in.Uint(), 10)\n\te.emitScalar(s, \"\", tag, yaml_PLAIN_SCALAR_STYLE)\n}\n\nfunc (e *encoder) floatv(tag string, in reflect.Value) {\n\t// FIXME: Handle 64 bits here.\n\ts := strconv.FormatFloat(float64(in.Float()), 'g', -1, 32)\n\tswitch s {\n\tcase \"+Inf\":\n\t\ts = \".inf\"\n\tcase \"-Inf\":\n\t\ts = \"-.inf\"\n\tcase \"NaN\":\n\t\ts = \".nan\"\n\t}\n\te.emitScalar(s, \"\", tag, yaml_PLAIN_SCALAR_STYLE)\n}\n\nfunc (e *encoder) nilv() {\n\te.emitScalar(\"null\", \"\", \"\", yaml_PLAIN_SCALAR_STYLE)\n}\n\nfunc (e *encoder) emitScalar(value, anchor, tag string, style yaml_scalar_style_t) {\n\timplicit := tag == \"\"\n\te.must(yaml_scalar_event_initialize(&e.event, []byte(anchor), []byte(tag), []byte(value), implicit, implicit, style))\n\te.emit()\n}\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/parserc.go",
    "content": "package yaml\n\nimport (\n\t\"bytes\"\n)\n\n// The parser implements the following grammar:\n//\n// stream               ::= STREAM-START implicit_document? explicit_document* STREAM-END\n// implicit_document    ::= block_node DOCUMENT-END*\n// explicit_document    ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END*\n// block_node_or_indentless_sequence    ::=\n//                          ALIAS\n//                          | properties (block_content | indentless_block_sequence)?\n//                          | block_content\n//                          | indentless_block_sequence\n// block_node           ::= ALIAS\n//                          | properties block_content?\n//                          | block_content\n// flow_node            ::= ALIAS\n//                          | properties flow_content?\n//                          | flow_content\n// properties           ::= TAG ANCHOR? | ANCHOR TAG?\n// block_content        ::= block_collection | flow_collection | SCALAR\n// flow_content         ::= flow_collection | SCALAR\n// block_collection     ::= block_sequence | block_mapping\n// flow_collection      ::= flow_sequence | flow_mapping\n// block_sequence       ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END\n// indentless_sequence  ::= (BLOCK-ENTRY block_node?)+\n// block_mapping        ::= BLOCK-MAPPING_START\n//                          ((KEY block_node_or_indentless_sequence?)?\n//                          (VALUE block_node_or_indentless_sequence?)?)*\n//                          BLOCK-END\n// flow_sequence        ::= FLOW-SEQUENCE-START\n//                          (flow_sequence_entry FLOW-ENTRY)*\n//                          flow_sequence_entry?\n//                          FLOW-SEQUENCE-END\n// flow_sequence_entry  ::= flow_node | KEY flow_node? (VALUE flow_node?)?\n// flow_mapping         ::= FLOW-MAPPING-START\n//                          (flow_mapping_entry FLOW-ENTRY)*\n//                          flow_mapping_entry?\n//                          FLOW-MAPPING-END\n// flow_mapping_entry   ::= flow_node | KEY flow_node? (VALUE flow_node?)?\n\n// Peek the next token in the token queue.\nfunc peek_token(parser *yaml_parser_t) *yaml_token_t {\n\tif parser.token_available || yaml_parser_fetch_more_tokens(parser) {\n\t\treturn &parser.tokens[parser.tokens_head]\n\t}\n\treturn nil\n}\n\n// Remove the next token from the queue (must be called after peek_token).\nfunc skip_token(parser *yaml_parser_t) {\n\tparser.token_available = false\n\tparser.tokens_parsed++\n\tparser.stream_end_produced = parser.tokens[parser.tokens_head].typ == yaml_STREAM_END_TOKEN\n\tparser.tokens_head++\n}\n\n// Get the next event.\nfunc yaml_parser_parse(parser *yaml_parser_t, event *yaml_event_t) bool {\n\t// Erase the event object.\n\t*event = yaml_event_t{}\n\n\t// No events after the end of the stream or error.\n\tif parser.stream_end_produced || parser.error != yaml_NO_ERROR || parser.state == yaml_PARSE_END_STATE {\n\t\treturn true\n\t}\n\n\t// Generate the next event.\n\treturn yaml_parser_state_machine(parser, event)\n}\n\n// Set parser error.\nfunc yaml_parser_set_parser_error(parser *yaml_parser_t, problem string, problem_mark yaml_mark_t) bool {\n\tparser.error = yaml_PARSER_ERROR\n\tparser.problem = problem\n\tparser.problem_mark = problem_mark\n\treturn false\n}\n\nfunc yaml_parser_set_parser_error_context(parser *yaml_parser_t, context string, context_mark yaml_mark_t, problem string, problem_mark yaml_mark_t) bool {\n\tparser.error = yaml_PARSER_ERROR\n\tparser.context = context\n\tparser.context_mark = context_mark\n\tparser.problem = problem\n\tparser.problem_mark = problem_mark\n\treturn false\n}\n\n// State dispatcher.\nfunc yaml_parser_state_machine(parser *yaml_parser_t, event *yaml_event_t) bool {\n\t//trace(\"yaml_parser_state_machine\", \"state:\", parser.state.String())\n\n\tswitch parser.state {\n\tcase yaml_PARSE_STREAM_START_STATE:\n\t\treturn yaml_parser_parse_stream_start(parser, event)\n\n\tcase yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE:\n\t\treturn yaml_parser_parse_document_start(parser, event, true)\n\n\tcase yaml_PARSE_DOCUMENT_START_STATE:\n\t\treturn yaml_parser_parse_document_start(parser, event, false)\n\n\tcase yaml_PARSE_DOCUMENT_CONTENT_STATE:\n\t\treturn yaml_parser_parse_document_content(parser, event)\n\n\tcase yaml_PARSE_DOCUMENT_END_STATE:\n\t\treturn yaml_parser_parse_document_end(parser, event)\n\n\tcase yaml_PARSE_BLOCK_NODE_STATE:\n\t\treturn yaml_parser_parse_node(parser, event, true, false)\n\n\tcase yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE:\n\t\treturn yaml_parser_parse_node(parser, event, true, true)\n\n\tcase yaml_PARSE_FLOW_NODE_STATE:\n\t\treturn yaml_parser_parse_node(parser, event, false, false)\n\n\tcase yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE:\n\t\treturn yaml_parser_parse_block_sequence_entry(parser, event, true)\n\n\tcase yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE:\n\t\treturn yaml_parser_parse_block_sequence_entry(parser, event, false)\n\n\tcase yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE:\n\t\treturn yaml_parser_parse_indentless_sequence_entry(parser, event)\n\n\tcase yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE:\n\t\treturn yaml_parser_parse_block_mapping_key(parser, event, true)\n\n\tcase yaml_PARSE_BLOCK_MAPPING_KEY_STATE:\n\t\treturn yaml_parser_parse_block_mapping_key(parser, event, false)\n\n\tcase yaml_PARSE_BLOCK_MAPPING_VALUE_STATE:\n\t\treturn yaml_parser_parse_block_mapping_value(parser, event)\n\n\tcase yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE:\n\t\treturn yaml_parser_parse_flow_sequence_entry(parser, event, true)\n\n\tcase yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE:\n\t\treturn yaml_parser_parse_flow_sequence_entry(parser, event, false)\n\n\tcase yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE:\n\t\treturn yaml_parser_parse_flow_sequence_entry_mapping_key(parser, event)\n\n\tcase yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE:\n\t\treturn yaml_parser_parse_flow_sequence_entry_mapping_value(parser, event)\n\n\tcase yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE:\n\t\treturn yaml_parser_parse_flow_sequence_entry_mapping_end(parser, event)\n\n\tcase yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE:\n\t\treturn yaml_parser_parse_flow_mapping_key(parser, event, true)\n\n\tcase yaml_PARSE_FLOW_MAPPING_KEY_STATE:\n\t\treturn yaml_parser_parse_flow_mapping_key(parser, event, false)\n\n\tcase yaml_PARSE_FLOW_MAPPING_VALUE_STATE:\n\t\treturn yaml_parser_parse_flow_mapping_value(parser, event, false)\n\n\tcase yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE:\n\t\treturn yaml_parser_parse_flow_mapping_value(parser, event, true)\n\n\tdefault:\n\t\tpanic(\"invalid parser state\")\n\t}\n}\n\n// Parse the production:\n// stream   ::= STREAM-START implicit_document? explicit_document* STREAM-END\n//              ************\nfunc yaml_parser_parse_stream_start(parser *yaml_parser_t, event *yaml_event_t) bool {\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\tif token.typ != yaml_STREAM_START_TOKEN {\n\t\treturn yaml_parser_set_parser_error(parser, \"did not find expected <stream-start>\", token.start_mark)\n\t}\n\tparser.state = yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE\n\t*event = yaml_event_t{\n\t\ttyp:        yaml_STREAM_START_EVENT,\n\t\tstart_mark: token.start_mark,\n\t\tend_mark:   token.end_mark,\n\t\tencoding:   token.encoding,\n\t}\n\tskip_token(parser)\n\treturn true\n}\n\n// Parse the productions:\n// implicit_document    ::= block_node DOCUMENT-END*\n//                          *\n// explicit_document    ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END*\n//                          *************************\nfunc yaml_parser_parse_document_start(parser *yaml_parser_t, event *yaml_event_t, implicit bool) bool {\n\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\n\t// Parse extra document end indicators.\n\tif !implicit {\n\t\tfor token.typ == yaml_DOCUMENT_END_TOKEN {\n\t\t\tskip_token(parser)\n\t\t\ttoken = peek_token(parser)\n\t\t\tif token == nil {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\n\tif implicit && token.typ != yaml_VERSION_DIRECTIVE_TOKEN &&\n\t\ttoken.typ != yaml_TAG_DIRECTIVE_TOKEN &&\n\t\ttoken.typ != yaml_DOCUMENT_START_TOKEN &&\n\t\ttoken.typ != yaml_STREAM_END_TOKEN {\n\t\t// Parse an implicit document.\n\t\tif !yaml_parser_process_directives(parser, nil, nil) {\n\t\t\treturn false\n\t\t}\n\t\tparser.states = append(parser.states, yaml_PARSE_DOCUMENT_END_STATE)\n\t\tparser.state = yaml_PARSE_BLOCK_NODE_STATE\n\n\t\t*event = yaml_event_t{\n\t\t\ttyp:        yaml_DOCUMENT_START_EVENT,\n\t\t\tstart_mark: token.start_mark,\n\t\t\tend_mark:   token.end_mark,\n\t\t}\n\n\t} else if token.typ != yaml_STREAM_END_TOKEN {\n\t\t// Parse an explicit document.\n\t\tvar version_directive *yaml_version_directive_t\n\t\tvar tag_directives []yaml_tag_directive_t\n\t\tstart_mark := token.start_mark\n\t\tif !yaml_parser_process_directives(parser, &version_directive, &tag_directives) {\n\t\t\treturn false\n\t\t}\n\t\ttoken = peek_token(parser)\n\t\tif token == nil {\n\t\t\treturn false\n\t\t}\n\t\tif token.typ != yaml_DOCUMENT_START_TOKEN {\n\t\t\tyaml_parser_set_parser_error(parser,\n\t\t\t\t\"did not find expected <document start>\", token.start_mark)\n\t\t\treturn false\n\t\t}\n\t\tparser.states = append(parser.states, yaml_PARSE_DOCUMENT_END_STATE)\n\t\tparser.state = yaml_PARSE_DOCUMENT_CONTENT_STATE\n\t\tend_mark := token.end_mark\n\n\t\t*event = yaml_event_t{\n\t\t\ttyp:               yaml_DOCUMENT_START_EVENT,\n\t\t\tstart_mark:        start_mark,\n\t\t\tend_mark:          end_mark,\n\t\t\tversion_directive: version_directive,\n\t\t\ttag_directives:    tag_directives,\n\t\t\timplicit:          false,\n\t\t}\n\t\tskip_token(parser)\n\n\t} else {\n\t\t// Parse the stream end.\n\t\tparser.state = yaml_PARSE_END_STATE\n\t\t*event = yaml_event_t{\n\t\t\ttyp:        yaml_STREAM_END_EVENT,\n\t\t\tstart_mark: token.start_mark,\n\t\t\tend_mark:   token.end_mark,\n\t\t}\n\t\tskip_token(parser)\n\t}\n\n\treturn true\n}\n\n// Parse the productions:\n// explicit_document    ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END*\n//                                                    ***********\n//\nfunc yaml_parser_parse_document_content(parser *yaml_parser_t, event *yaml_event_t) bool {\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\tif token.typ == yaml_VERSION_DIRECTIVE_TOKEN ||\n\t\ttoken.typ == yaml_TAG_DIRECTIVE_TOKEN ||\n\t\ttoken.typ == yaml_DOCUMENT_START_TOKEN ||\n\t\ttoken.typ == yaml_DOCUMENT_END_TOKEN ||\n\t\ttoken.typ == yaml_STREAM_END_TOKEN {\n\t\tparser.state = parser.states[len(parser.states)-1]\n\t\tparser.states = parser.states[:len(parser.states)-1]\n\t\treturn yaml_parser_process_empty_scalar(parser, event,\n\t\t\ttoken.start_mark)\n\t}\n\treturn yaml_parser_parse_node(parser, event, true, false)\n}\n\n// Parse the productions:\n// implicit_document    ::= block_node DOCUMENT-END*\n//                                     *************\n// explicit_document    ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END*\n//\nfunc yaml_parser_parse_document_end(parser *yaml_parser_t, event *yaml_event_t) bool {\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\n\tstart_mark := token.start_mark\n\tend_mark := token.start_mark\n\n\timplicit := true\n\tif token.typ == yaml_DOCUMENT_END_TOKEN {\n\t\tend_mark = token.end_mark\n\t\tskip_token(parser)\n\t\timplicit = false\n\t}\n\n\tparser.tag_directives = parser.tag_directives[:0]\n\n\tparser.state = yaml_PARSE_DOCUMENT_START_STATE\n\t*event = yaml_event_t{\n\t\ttyp:        yaml_DOCUMENT_END_EVENT,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t\timplicit:   implicit,\n\t}\n\treturn true\n}\n\n// Parse the productions:\n// block_node_or_indentless_sequence    ::=\n//                          ALIAS\n//                          *****\n//                          | properties (block_content | indentless_block_sequence)?\n//                            **********  *\n//                          | block_content | indentless_block_sequence\n//                            *\n// block_node           ::= ALIAS\n//                          *****\n//                          | properties block_content?\n//                            ********** *\n//                          | block_content\n//                            *\n// flow_node            ::= ALIAS\n//                          *****\n//                          | properties flow_content?\n//                            ********** *\n//                          | flow_content\n//                            *\n// properties           ::= TAG ANCHOR? | ANCHOR TAG?\n//                          *************************\n// block_content        ::= block_collection | flow_collection | SCALAR\n//                                                               ******\n// flow_content         ::= flow_collection | SCALAR\n//                                            ******\nfunc yaml_parser_parse_node(parser *yaml_parser_t, event *yaml_event_t, block, indentless_sequence bool) bool {\n\t//defer trace(\"yaml_parser_parse_node\", \"block:\", block, \"indentless_sequence:\", indentless_sequence)()\n\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\n\tif token.typ == yaml_ALIAS_TOKEN {\n\t\tparser.state = parser.states[len(parser.states)-1]\n\t\tparser.states = parser.states[:len(parser.states)-1]\n\t\t*event = yaml_event_t{\n\t\t\ttyp:        yaml_ALIAS_EVENT,\n\t\t\tstart_mark: token.start_mark,\n\t\t\tend_mark:   token.end_mark,\n\t\t\tanchor:     token.value,\n\t\t}\n\t\tskip_token(parser)\n\t\treturn true\n\t}\n\n\tstart_mark := token.start_mark\n\tend_mark := token.start_mark\n\n\tvar tag_token bool\n\tvar tag_handle, tag_suffix, anchor []byte\n\tvar tag_mark yaml_mark_t\n\tif token.typ == yaml_ANCHOR_TOKEN {\n\t\tanchor = token.value\n\t\tstart_mark = token.start_mark\n\t\tend_mark = token.end_mark\n\t\tskip_token(parser)\n\t\ttoken = peek_token(parser)\n\t\tif token == nil {\n\t\t\treturn false\n\t\t}\n\t\tif token.typ == yaml_TAG_TOKEN {\n\t\t\ttag_token = true\n\t\t\ttag_handle = token.value\n\t\t\ttag_suffix = token.suffix\n\t\t\ttag_mark = token.start_mark\n\t\t\tend_mark = token.end_mark\n\t\t\tskip_token(parser)\n\t\t\ttoken = peek_token(parser)\n\t\t\tif token == nil {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t} else if token.typ == yaml_TAG_TOKEN {\n\t\ttag_token = true\n\t\ttag_handle = token.value\n\t\ttag_suffix = token.suffix\n\t\tstart_mark = token.start_mark\n\t\ttag_mark = token.start_mark\n\t\tend_mark = token.end_mark\n\t\tskip_token(parser)\n\t\ttoken = peek_token(parser)\n\t\tif token == nil {\n\t\t\treturn false\n\t\t}\n\t\tif token.typ == yaml_ANCHOR_TOKEN {\n\t\t\tanchor = token.value\n\t\t\tend_mark = token.end_mark\n\t\t\tskip_token(parser)\n\t\t\ttoken = peek_token(parser)\n\t\t\tif token == nil {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\n\tvar tag []byte\n\tif tag_token {\n\t\tif len(tag_handle) == 0 {\n\t\t\ttag = tag_suffix\n\t\t\ttag_suffix = nil\n\t\t} else {\n\t\t\tfor i := range parser.tag_directives {\n\t\t\t\tif bytes.Equal(parser.tag_directives[i].handle, tag_handle) {\n\t\t\t\t\ttag = append([]byte(nil), parser.tag_directives[i].prefix...)\n\t\t\t\t\ttag = append(tag, tag_suffix...)\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif len(tag) == 0 {\n\t\t\t\tyaml_parser_set_parser_error_context(parser,\n\t\t\t\t\t\"while parsing a node\", start_mark,\n\t\t\t\t\t\"found undefined tag handle\", tag_mark)\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\n\timplicit := len(tag) == 0\n\tif indentless_sequence && token.typ == yaml_BLOCK_ENTRY_TOKEN {\n\t\tend_mark = token.end_mark\n\t\tparser.state = yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE\n\t\t*event = yaml_event_t{\n\t\t\ttyp:        yaml_SEQUENCE_START_EVENT,\n\t\t\tstart_mark: start_mark,\n\t\t\tend_mark:   end_mark,\n\t\t\tanchor:     anchor,\n\t\t\ttag:        tag,\n\t\t\timplicit:   implicit,\n\t\t\tstyle:      yaml_style_t(yaml_BLOCK_SEQUENCE_STYLE),\n\t\t}\n\t\treturn true\n\t}\n\tif token.typ == yaml_SCALAR_TOKEN {\n\t\tvar plain_implicit, quoted_implicit bool\n\t\tend_mark = token.end_mark\n\t\tif (len(tag) == 0 && token.style == yaml_PLAIN_SCALAR_STYLE) || (len(tag) == 1 && tag[0] == '!') {\n\t\t\tplain_implicit = true\n\t\t} else if len(tag) == 0 {\n\t\t\tquoted_implicit = true\n\t\t}\n\t\tparser.state = parser.states[len(parser.states)-1]\n\t\tparser.states = parser.states[:len(parser.states)-1]\n\n\t\t*event = yaml_event_t{\n\t\t\ttyp:             yaml_SCALAR_EVENT,\n\t\t\tstart_mark:      start_mark,\n\t\t\tend_mark:        end_mark,\n\t\t\tanchor:          anchor,\n\t\t\ttag:             tag,\n\t\t\tvalue:           token.value,\n\t\t\timplicit:        plain_implicit,\n\t\t\tquoted_implicit: quoted_implicit,\n\t\t\tstyle:           yaml_style_t(token.style),\n\t\t}\n\t\tskip_token(parser)\n\t\treturn true\n\t}\n\tif token.typ == yaml_FLOW_SEQUENCE_START_TOKEN {\n\t\t// [Go] Some of the events below can be merged as they differ only on style.\n\t\tend_mark = token.end_mark\n\t\tparser.state = yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE\n\t\t*event = yaml_event_t{\n\t\t\ttyp:        yaml_SEQUENCE_START_EVENT,\n\t\t\tstart_mark: start_mark,\n\t\t\tend_mark:   end_mark,\n\t\t\tanchor:     anchor,\n\t\t\ttag:        tag,\n\t\t\timplicit:   implicit,\n\t\t\tstyle:      yaml_style_t(yaml_FLOW_SEQUENCE_STYLE),\n\t\t}\n\t\treturn true\n\t}\n\tif token.typ == yaml_FLOW_MAPPING_START_TOKEN {\n\t\tend_mark = token.end_mark\n\t\tparser.state = yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE\n\t\t*event = yaml_event_t{\n\t\t\ttyp:        yaml_MAPPING_START_EVENT,\n\t\t\tstart_mark: start_mark,\n\t\t\tend_mark:   end_mark,\n\t\t\tanchor:     anchor,\n\t\t\ttag:        tag,\n\t\t\timplicit:   implicit,\n\t\t\tstyle:      yaml_style_t(yaml_FLOW_MAPPING_STYLE),\n\t\t}\n\t\treturn true\n\t}\n\tif block && token.typ == yaml_BLOCK_SEQUENCE_START_TOKEN {\n\t\tend_mark = token.end_mark\n\t\tparser.state = yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE\n\t\t*event = yaml_event_t{\n\t\t\ttyp:        yaml_SEQUENCE_START_EVENT,\n\t\t\tstart_mark: start_mark,\n\t\t\tend_mark:   end_mark,\n\t\t\tanchor:     anchor,\n\t\t\ttag:        tag,\n\t\t\timplicit:   implicit,\n\t\t\tstyle:      yaml_style_t(yaml_BLOCK_SEQUENCE_STYLE),\n\t\t}\n\t\treturn true\n\t}\n\tif block && token.typ == yaml_BLOCK_MAPPING_START_TOKEN {\n\t\tend_mark = token.end_mark\n\t\tparser.state = yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE\n\t\t*event = yaml_event_t{\n\t\t\ttyp:        yaml_MAPPING_START_EVENT,\n\t\t\tstart_mark: start_mark,\n\t\t\tend_mark:   end_mark,\n\t\t\tanchor:     anchor,\n\t\t\ttag:        tag,\n\t\t\timplicit:   implicit,\n\t\t\tstyle:      yaml_style_t(yaml_BLOCK_MAPPING_STYLE),\n\t\t}\n\t\treturn true\n\t}\n\tif len(anchor) > 0 || len(tag) > 0 {\n\t\tparser.state = parser.states[len(parser.states)-1]\n\t\tparser.states = parser.states[:len(parser.states)-1]\n\n\t\t*event = yaml_event_t{\n\t\t\ttyp:             yaml_SCALAR_EVENT,\n\t\t\tstart_mark:      start_mark,\n\t\t\tend_mark:        end_mark,\n\t\t\tanchor:          anchor,\n\t\t\ttag:             tag,\n\t\t\timplicit:        implicit,\n\t\t\tquoted_implicit: false,\n\t\t\tstyle:           yaml_style_t(yaml_PLAIN_SCALAR_STYLE),\n\t\t}\n\t\treturn true\n\t}\n\n\tcontext := \"while parsing a flow node\"\n\tif block {\n\t\tcontext = \"while parsing a block node\"\n\t}\n\tyaml_parser_set_parser_error_context(parser, context, start_mark,\n\t\t\"did not find expected node content\", token.start_mark)\n\treturn false\n}\n\n// Parse the productions:\n// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END\n//                    ********************  *********** *             *********\n//\nfunc yaml_parser_parse_block_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool {\n\tif first {\n\t\ttoken := peek_token(parser)\n\t\tparser.marks = append(parser.marks, token.start_mark)\n\t\tskip_token(parser)\n\t}\n\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\n\tif token.typ == yaml_BLOCK_ENTRY_TOKEN {\n\t\tmark := token.end_mark\n\t\tskip_token(parser)\n\t\ttoken = peek_token(parser)\n\t\tif token == nil {\n\t\t\treturn false\n\t\t}\n\t\tif token.typ != yaml_BLOCK_ENTRY_TOKEN && token.typ != yaml_BLOCK_END_TOKEN {\n\t\t\tparser.states = append(parser.states, yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE)\n\t\t\treturn yaml_parser_parse_node(parser, event, true, false)\n\t\t} else {\n\t\t\tparser.state = yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE\n\t\t\treturn yaml_parser_process_empty_scalar(parser, event, mark)\n\t\t}\n\t}\n\tif token.typ == yaml_BLOCK_END_TOKEN {\n\t\tparser.state = parser.states[len(parser.states)-1]\n\t\tparser.states = parser.states[:len(parser.states)-1]\n\t\tparser.marks = parser.marks[:len(parser.marks)-1]\n\n\t\t*event = yaml_event_t{\n\t\t\ttyp:        yaml_SEQUENCE_END_EVENT,\n\t\t\tstart_mark: token.start_mark,\n\t\t\tend_mark:   token.end_mark,\n\t\t}\n\n\t\tskip_token(parser)\n\t\treturn true\n\t}\n\n\tcontext_mark := parser.marks[len(parser.marks)-1]\n\tparser.marks = parser.marks[:len(parser.marks)-1]\n\treturn yaml_parser_set_parser_error_context(parser,\n\t\t\"while parsing a block collection\", context_mark,\n\t\t\"did not find expected '-' indicator\", token.start_mark)\n}\n\n// Parse the productions:\n// indentless_sequence  ::= (BLOCK-ENTRY block_node?)+\n//                           *********** *\nfunc yaml_parser_parse_indentless_sequence_entry(parser *yaml_parser_t, event *yaml_event_t) bool {\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\n\tif token.typ == yaml_BLOCK_ENTRY_TOKEN {\n\t\tmark := token.end_mark\n\t\tskip_token(parser)\n\t\ttoken = peek_token(parser)\n\t\tif token == nil {\n\t\t\treturn false\n\t\t}\n\t\tif token.typ != yaml_BLOCK_ENTRY_TOKEN &&\n\t\t\ttoken.typ != yaml_KEY_TOKEN &&\n\t\t\ttoken.typ != yaml_VALUE_TOKEN &&\n\t\t\ttoken.typ != yaml_BLOCK_END_TOKEN {\n\t\t\tparser.states = append(parser.states, yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE)\n\t\t\treturn yaml_parser_parse_node(parser, event, true, false)\n\t\t}\n\t\tparser.state = yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE\n\t\treturn yaml_parser_process_empty_scalar(parser, event, mark)\n\t}\n\tparser.state = parser.states[len(parser.states)-1]\n\tparser.states = parser.states[:len(parser.states)-1]\n\n\t*event = yaml_event_t{\n\t\ttyp:        yaml_SEQUENCE_END_EVENT,\n\t\tstart_mark: token.start_mark,\n\t\tend_mark:   token.start_mark, // [Go] Shouldn't this be token.end_mark?\n\t}\n\treturn true\n}\n\n// Parse the productions:\n// block_mapping        ::= BLOCK-MAPPING_START\n//                          *******************\n//                          ((KEY block_node_or_indentless_sequence?)?\n//                            *** *\n//                          (VALUE block_node_or_indentless_sequence?)?)*\n//\n//                          BLOCK-END\n//                          *********\n//\nfunc yaml_parser_parse_block_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool {\n\tif first {\n\t\ttoken := peek_token(parser)\n\t\tparser.marks = append(parser.marks, token.start_mark)\n\t\tskip_token(parser)\n\t}\n\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\n\tif token.typ == yaml_KEY_TOKEN {\n\t\tmark := token.end_mark\n\t\tskip_token(parser)\n\t\ttoken = peek_token(parser)\n\t\tif token == nil {\n\t\t\treturn false\n\t\t}\n\t\tif token.typ != yaml_KEY_TOKEN &&\n\t\t\ttoken.typ != yaml_VALUE_TOKEN &&\n\t\t\ttoken.typ != yaml_BLOCK_END_TOKEN {\n\t\t\tparser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_VALUE_STATE)\n\t\t\treturn yaml_parser_parse_node(parser, event, true, true)\n\t\t} else {\n\t\t\tparser.state = yaml_PARSE_BLOCK_MAPPING_VALUE_STATE\n\t\t\treturn yaml_parser_process_empty_scalar(parser, event, mark)\n\t\t}\n\t} else if token.typ == yaml_BLOCK_END_TOKEN {\n\t\tparser.state = parser.states[len(parser.states)-1]\n\t\tparser.states = parser.states[:len(parser.states)-1]\n\t\tparser.marks = parser.marks[:len(parser.marks)-1]\n\t\t*event = yaml_event_t{\n\t\t\ttyp:        yaml_MAPPING_END_EVENT,\n\t\t\tstart_mark: token.start_mark,\n\t\t\tend_mark:   token.end_mark,\n\t\t}\n\t\tskip_token(parser)\n\t\treturn true\n\t}\n\n\tcontext_mark := parser.marks[len(parser.marks)-1]\n\tparser.marks = parser.marks[:len(parser.marks)-1]\n\treturn yaml_parser_set_parser_error_context(parser,\n\t\t\"while parsing a block mapping\", context_mark,\n\t\t\"did not find expected key\", token.start_mark)\n}\n\n// Parse the productions:\n// block_mapping        ::= BLOCK-MAPPING_START\n//\n//                          ((KEY block_node_or_indentless_sequence?)?\n//\n//                          (VALUE block_node_or_indentless_sequence?)?)*\n//                           ***** *\n//                          BLOCK-END\n//\n//\nfunc yaml_parser_parse_block_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool {\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\tif token.typ == yaml_VALUE_TOKEN {\n\t\tmark := token.end_mark\n\t\tskip_token(parser)\n\t\ttoken = peek_token(parser)\n\t\tif token == nil {\n\t\t\treturn false\n\t\t}\n\t\tif token.typ != yaml_KEY_TOKEN &&\n\t\t\ttoken.typ != yaml_VALUE_TOKEN &&\n\t\t\ttoken.typ != yaml_BLOCK_END_TOKEN {\n\t\t\tparser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_KEY_STATE)\n\t\t\treturn yaml_parser_parse_node(parser, event, true, true)\n\t\t}\n\t\tparser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE\n\t\treturn yaml_parser_process_empty_scalar(parser, event, mark)\n\t}\n\tparser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE\n\treturn yaml_parser_process_empty_scalar(parser, event, token.start_mark)\n}\n\n// Parse the productions:\n// flow_sequence        ::= FLOW-SEQUENCE-START\n//                          *******************\n//                          (flow_sequence_entry FLOW-ENTRY)*\n//                           *                   **********\n//                          flow_sequence_entry?\n//                          *\n//                          FLOW-SEQUENCE-END\n//                          *****************\n// flow_sequence_entry  ::= flow_node | KEY flow_node? (VALUE flow_node?)?\n//                          *\n//\nfunc yaml_parser_parse_flow_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool {\n\tif first {\n\t\ttoken := peek_token(parser)\n\t\tparser.marks = append(parser.marks, token.start_mark)\n\t\tskip_token(parser)\n\t}\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\tif token.typ != yaml_FLOW_SEQUENCE_END_TOKEN {\n\t\tif !first {\n\t\t\tif token.typ == yaml_FLOW_ENTRY_TOKEN {\n\t\t\t\tskip_token(parser)\n\t\t\t\ttoken = peek_token(parser)\n\t\t\t\tif token == nil {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcontext_mark := parser.marks[len(parser.marks)-1]\n\t\t\t\tparser.marks = parser.marks[:len(parser.marks)-1]\n\t\t\t\treturn yaml_parser_set_parser_error_context(parser,\n\t\t\t\t\t\"while parsing a flow sequence\", context_mark,\n\t\t\t\t\t\"did not find expected ',' or ']'\", token.start_mark)\n\t\t\t}\n\t\t}\n\n\t\tif token.typ == yaml_KEY_TOKEN {\n\t\t\tparser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE\n\t\t\t*event = yaml_event_t{\n\t\t\t\ttyp:        yaml_MAPPING_START_EVENT,\n\t\t\t\tstart_mark: token.start_mark,\n\t\t\t\tend_mark:   token.end_mark,\n\t\t\t\timplicit:   true,\n\t\t\t\tstyle:      yaml_style_t(yaml_FLOW_MAPPING_STYLE),\n\t\t\t}\n\t\t\tskip_token(parser)\n\t\t\treturn true\n\t\t} else if token.typ != yaml_FLOW_SEQUENCE_END_TOKEN {\n\t\t\tparser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE)\n\t\t\treturn yaml_parser_parse_node(parser, event, false, false)\n\t\t}\n\t}\n\n\tparser.state = parser.states[len(parser.states)-1]\n\tparser.states = parser.states[:len(parser.states)-1]\n\tparser.marks = parser.marks[:len(parser.marks)-1]\n\n\t*event = yaml_event_t{\n\t\ttyp:        yaml_SEQUENCE_END_EVENT,\n\t\tstart_mark: token.start_mark,\n\t\tend_mark:   token.end_mark,\n\t}\n\n\tskip_token(parser)\n\treturn true\n}\n\n//\n// Parse the productions:\n// flow_sequence_entry  ::= flow_node | KEY flow_node? (VALUE flow_node?)?\n//                                      *** *\n//\nfunc yaml_parser_parse_flow_sequence_entry_mapping_key(parser *yaml_parser_t, event *yaml_event_t) bool {\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\tif token.typ != yaml_VALUE_TOKEN &&\n\t\ttoken.typ != yaml_FLOW_ENTRY_TOKEN &&\n\t\ttoken.typ != yaml_FLOW_SEQUENCE_END_TOKEN {\n\t\tparser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE)\n\t\treturn yaml_parser_parse_node(parser, event, false, false)\n\t}\n\tmark := token.end_mark\n\tskip_token(parser)\n\tparser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE\n\treturn yaml_parser_process_empty_scalar(parser, event, mark)\n}\n\n// Parse the productions:\n// flow_sequence_entry  ::= flow_node | KEY flow_node? (VALUE flow_node?)?\n//                                                      ***** *\n//\nfunc yaml_parser_parse_flow_sequence_entry_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool {\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\tif token.typ == yaml_VALUE_TOKEN {\n\t\tskip_token(parser)\n\t\ttoken := peek_token(parser)\n\t\tif token == nil {\n\t\t\treturn false\n\t\t}\n\t\tif token.typ != yaml_FLOW_ENTRY_TOKEN && token.typ != yaml_FLOW_SEQUENCE_END_TOKEN {\n\t\t\tparser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE)\n\t\t\treturn yaml_parser_parse_node(parser, event, false, false)\n\t\t}\n\t}\n\tparser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE\n\treturn yaml_parser_process_empty_scalar(parser, event, token.start_mark)\n}\n\n// Parse the productions:\n// flow_sequence_entry  ::= flow_node | KEY flow_node? (VALUE flow_node?)?\n//                                                                      *\n//\nfunc yaml_parser_parse_flow_sequence_entry_mapping_end(parser *yaml_parser_t, event *yaml_event_t) bool {\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\tparser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE\n\t*event = yaml_event_t{\n\t\ttyp:        yaml_MAPPING_END_EVENT,\n\t\tstart_mark: token.start_mark,\n\t\tend_mark:   token.start_mark, // [Go] Shouldn't this be end_mark?\n\t}\n\treturn true\n}\n\n// Parse the productions:\n// flow_mapping         ::= FLOW-MAPPING-START\n//                          ******************\n//                          (flow_mapping_entry FLOW-ENTRY)*\n//                           *                  **********\n//                          flow_mapping_entry?\n//                          ******************\n//                          FLOW-MAPPING-END\n//                          ****************\n// flow_mapping_entry   ::= flow_node | KEY flow_node? (VALUE flow_node?)?\n//                          *           *** *\n//\nfunc yaml_parser_parse_flow_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool {\n\tif first {\n\t\ttoken := peek_token(parser)\n\t\tparser.marks = append(parser.marks, token.start_mark)\n\t\tskip_token(parser)\n\t}\n\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\n\tif token.typ != yaml_FLOW_MAPPING_END_TOKEN {\n\t\tif !first {\n\t\t\tif token.typ == yaml_FLOW_ENTRY_TOKEN {\n\t\t\t\tskip_token(parser)\n\t\t\t\ttoken = peek_token(parser)\n\t\t\t\tif token == nil {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcontext_mark := parser.marks[len(parser.marks)-1]\n\t\t\t\tparser.marks = parser.marks[:len(parser.marks)-1]\n\t\t\t\treturn yaml_parser_set_parser_error_context(parser,\n\t\t\t\t\t\"while parsing a flow mapping\", context_mark,\n\t\t\t\t\t\"did not find expected ',' or '}'\", token.start_mark)\n\t\t\t}\n\t\t}\n\n\t\tif token.typ == yaml_KEY_TOKEN {\n\t\t\tskip_token(parser)\n\t\t\ttoken = peek_token(parser)\n\t\t\tif token == nil {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif token.typ != yaml_VALUE_TOKEN &&\n\t\t\t\ttoken.typ != yaml_FLOW_ENTRY_TOKEN &&\n\t\t\t\ttoken.typ != yaml_FLOW_MAPPING_END_TOKEN {\n\t\t\t\tparser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_VALUE_STATE)\n\t\t\t\treturn yaml_parser_parse_node(parser, event, false, false)\n\t\t\t} else {\n\t\t\t\tparser.state = yaml_PARSE_FLOW_MAPPING_VALUE_STATE\n\t\t\t\treturn yaml_parser_process_empty_scalar(parser, event, token.start_mark)\n\t\t\t}\n\t\t} else if token.typ != yaml_FLOW_MAPPING_END_TOKEN {\n\t\t\tparser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE)\n\t\t\treturn yaml_parser_parse_node(parser, event, false, false)\n\t\t}\n\t}\n\n\tparser.state = parser.states[len(parser.states)-1]\n\tparser.states = parser.states[:len(parser.states)-1]\n\tparser.marks = parser.marks[:len(parser.marks)-1]\n\t*event = yaml_event_t{\n\t\ttyp:        yaml_MAPPING_END_EVENT,\n\t\tstart_mark: token.start_mark,\n\t\tend_mark:   token.end_mark,\n\t}\n\tskip_token(parser)\n\treturn true\n}\n\n// Parse the productions:\n// flow_mapping_entry   ::= flow_node | KEY flow_node? (VALUE flow_node?)?\n//                                   *                  ***** *\n//\nfunc yaml_parser_parse_flow_mapping_value(parser *yaml_parser_t, event *yaml_event_t, empty bool) bool {\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\tif empty {\n\t\tparser.state = yaml_PARSE_FLOW_MAPPING_KEY_STATE\n\t\treturn yaml_parser_process_empty_scalar(parser, event, token.start_mark)\n\t}\n\tif token.typ == yaml_VALUE_TOKEN {\n\t\tskip_token(parser)\n\t\ttoken = peek_token(parser)\n\t\tif token == nil {\n\t\t\treturn false\n\t\t}\n\t\tif token.typ != yaml_FLOW_ENTRY_TOKEN && token.typ != yaml_FLOW_MAPPING_END_TOKEN {\n\t\t\tparser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_KEY_STATE)\n\t\t\treturn yaml_parser_parse_node(parser, event, false, false)\n\t\t}\n\t}\n\tparser.state = yaml_PARSE_FLOW_MAPPING_KEY_STATE\n\treturn yaml_parser_process_empty_scalar(parser, event, token.start_mark)\n}\n\n// Generate an empty scalar event.\nfunc yaml_parser_process_empty_scalar(parser *yaml_parser_t, event *yaml_event_t, mark yaml_mark_t) bool {\n\t*event = yaml_event_t{\n\t\ttyp:        yaml_SCALAR_EVENT,\n\t\tstart_mark: mark,\n\t\tend_mark:   mark,\n\t\tvalue:      nil, // Empty\n\t\timplicit:   true,\n\t\tstyle:      yaml_style_t(yaml_PLAIN_SCALAR_STYLE),\n\t}\n\treturn true\n}\n\nvar default_tag_directives = []yaml_tag_directive_t{\n\t{[]byte(\"!\"), []byte(\"!\")},\n\t{[]byte(\"!!\"), []byte(\"tag:yaml.org,2002:\")},\n}\n\n// Parse directives.\nfunc yaml_parser_process_directives(parser *yaml_parser_t,\n\tversion_directive_ref **yaml_version_directive_t,\n\ttag_directives_ref *[]yaml_tag_directive_t) bool {\n\n\tvar version_directive *yaml_version_directive_t\n\tvar tag_directives []yaml_tag_directive_t\n\n\ttoken := peek_token(parser)\n\tif token == nil {\n\t\treturn false\n\t}\n\n\tfor token.typ == yaml_VERSION_DIRECTIVE_TOKEN || token.typ == yaml_TAG_DIRECTIVE_TOKEN {\n\t\tif token.typ == yaml_VERSION_DIRECTIVE_TOKEN {\n\t\t\tif version_directive != nil {\n\t\t\t\tyaml_parser_set_parser_error(parser,\n\t\t\t\t\t\"found duplicate %YAML directive\", token.start_mark)\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif token.major != 1 || token.minor != 1 {\n\t\t\t\tyaml_parser_set_parser_error(parser,\n\t\t\t\t\t\"found incompatible YAML document\", token.start_mark)\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tversion_directive = &yaml_version_directive_t{\n\t\t\t\tmajor: token.major,\n\t\t\t\tminor: token.minor,\n\t\t\t}\n\t\t} else if token.typ == yaml_TAG_DIRECTIVE_TOKEN {\n\t\t\tvalue := yaml_tag_directive_t{\n\t\t\t\thandle: token.value,\n\t\t\t\tprefix: token.prefix,\n\t\t\t}\n\t\t\tif !yaml_parser_append_tag_directive(parser, value, false, token.start_mark) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\ttag_directives = append(tag_directives, value)\n\t\t}\n\n\t\tskip_token(parser)\n\t\ttoken = peek_token(parser)\n\t\tif token == nil {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tfor i := range default_tag_directives {\n\t\tif !yaml_parser_append_tag_directive(parser, default_tag_directives[i], true, token.start_mark) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif version_directive_ref != nil {\n\t\t*version_directive_ref = version_directive\n\t}\n\tif tag_directives_ref != nil {\n\t\t*tag_directives_ref = tag_directives\n\t}\n\treturn true\n}\n\n// Append a tag directive to the directives stack.\nfunc yaml_parser_append_tag_directive(parser *yaml_parser_t, value yaml_tag_directive_t, allow_duplicates bool, mark yaml_mark_t) bool {\n\tfor i := range parser.tag_directives {\n\t\tif bytes.Equal(value.handle, parser.tag_directives[i].handle) {\n\t\t\tif allow_duplicates {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn yaml_parser_set_parser_error(parser, \"found duplicate %TAG directive\", mark)\n\t\t}\n\t}\n\n\t// [Go] I suspect the copy is unnecessary. This was likely done\n\t// because there was no way to track ownership of the data.\n\tvalue_copy := yaml_tag_directive_t{\n\t\thandle: make([]byte, len(value.handle)),\n\t\tprefix: make([]byte, len(value.prefix)),\n\t}\n\tcopy(value_copy.handle, value.handle)\n\tcopy(value_copy.prefix, value.prefix)\n\tparser.tag_directives = append(parser.tag_directives, value_copy)\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/readerc.go",
    "content": "package yaml\n\nimport (\n\t\"io\"\n)\n\n// Set the reader error and return 0.\nfunc yaml_parser_set_reader_error(parser *yaml_parser_t, problem string, offset int, value int) bool {\n\tparser.error = yaml_READER_ERROR\n\tparser.problem = problem\n\tparser.problem_offset = offset\n\tparser.problem_value = value\n\treturn false\n}\n\n// Byte order marks.\nconst (\n\tbom_UTF8    = \"\\xef\\xbb\\xbf\"\n\tbom_UTF16LE = \"\\xff\\xfe\"\n\tbom_UTF16BE = \"\\xfe\\xff\"\n)\n\n// Determine the input stream encoding by checking the BOM symbol. If no BOM is\n// found, the UTF-8 encoding is assumed. Return 1 on success, 0 on failure.\nfunc yaml_parser_determine_encoding(parser *yaml_parser_t) bool {\n\t// Ensure that we had enough bytes in the raw buffer.\n\tfor !parser.eof && len(parser.raw_buffer)-parser.raw_buffer_pos < 3 {\n\t\tif !yaml_parser_update_raw_buffer(parser) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Determine the encoding.\n\tbuf := parser.raw_buffer\n\tpos := parser.raw_buffer_pos\n\tavail := len(buf) - pos\n\tif avail >= 2 && buf[pos] == bom_UTF16LE[0] && buf[pos+1] == bom_UTF16LE[1] {\n\t\tparser.encoding = yaml_UTF16LE_ENCODING\n\t\tparser.raw_buffer_pos += 2\n\t\tparser.offset += 2\n\t} else if avail >= 2 && buf[pos] == bom_UTF16BE[0] && buf[pos+1] == bom_UTF16BE[1] {\n\t\tparser.encoding = yaml_UTF16BE_ENCODING\n\t\tparser.raw_buffer_pos += 2\n\t\tparser.offset += 2\n\t} else if avail >= 3 && buf[pos] == bom_UTF8[0] && buf[pos+1] == bom_UTF8[1] && buf[pos+2] == bom_UTF8[2] {\n\t\tparser.encoding = yaml_UTF8_ENCODING\n\t\tparser.raw_buffer_pos += 3\n\t\tparser.offset += 3\n\t} else {\n\t\tparser.encoding = yaml_UTF8_ENCODING\n\t}\n\treturn true\n}\n\n// Update the raw buffer.\nfunc yaml_parser_update_raw_buffer(parser *yaml_parser_t) bool {\n\tsize_read := 0\n\n\t// Return if the raw buffer is full.\n\tif parser.raw_buffer_pos == 0 && len(parser.raw_buffer) == cap(parser.raw_buffer) {\n\t\treturn true\n\t}\n\n\t// Return on EOF.\n\tif parser.eof {\n\t\treturn true\n\t}\n\n\t// Move the remaining bytes in the raw buffer to the beginning.\n\tif parser.raw_buffer_pos > 0 && parser.raw_buffer_pos < len(parser.raw_buffer) {\n\t\tcopy(parser.raw_buffer, parser.raw_buffer[parser.raw_buffer_pos:])\n\t}\n\tparser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)-parser.raw_buffer_pos]\n\tparser.raw_buffer_pos = 0\n\n\t// Call the read handler to fill the buffer.\n\tsize_read, err := parser.read_handler(parser, parser.raw_buffer[len(parser.raw_buffer):cap(parser.raw_buffer)])\n\tparser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)+size_read]\n\tif err == io.EOF {\n\t\tparser.eof = true\n\t} else if err != nil {\n\t\treturn yaml_parser_set_reader_error(parser, \"input error: \"+err.Error(), parser.offset, -1)\n\t}\n\treturn true\n}\n\n// Ensure that the buffer contains at least `length` characters.\n// Return true on success, false on failure.\n//\n// The length is supposed to be significantly less that the buffer size.\nfunc yaml_parser_update_buffer(parser *yaml_parser_t, length int) bool {\n\tif parser.read_handler == nil {\n\t\tpanic(\"read handler must be set\")\n\t}\n\n\t// If the EOF flag is set and the raw buffer is empty, do nothing.\n\tif parser.eof && parser.raw_buffer_pos == len(parser.raw_buffer) {\n\t\treturn true\n\t}\n\n\t// Return if the buffer contains enough characters.\n\tif parser.unread >= length {\n\t\treturn true\n\t}\n\n\t// Determine the input encoding if it is not known yet.\n\tif parser.encoding == yaml_ANY_ENCODING {\n\t\tif !yaml_parser_determine_encoding(parser) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Move the unread characters to the beginning of the buffer.\n\tbuffer_len := len(parser.buffer)\n\tif parser.buffer_pos > 0 && parser.buffer_pos < buffer_len {\n\t\tcopy(parser.buffer, parser.buffer[parser.buffer_pos:])\n\t\tbuffer_len -= parser.buffer_pos\n\t\tparser.buffer_pos = 0\n\t} else if parser.buffer_pos == buffer_len {\n\t\tbuffer_len = 0\n\t\tparser.buffer_pos = 0\n\t}\n\n\t// Open the whole buffer for writing, and cut it before returning.\n\tparser.buffer = parser.buffer[:cap(parser.buffer)]\n\n\t// Fill the buffer until it has enough characters.\n\tfirst := true\n\tfor parser.unread < length {\n\n\t\t// Fill the raw buffer if necessary.\n\t\tif !first || parser.raw_buffer_pos == len(parser.raw_buffer) {\n\t\t\tif !yaml_parser_update_raw_buffer(parser) {\n\t\t\t\tparser.buffer = parser.buffer[:buffer_len]\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\tfirst = false\n\n\t\t// Decode the raw buffer.\n\tinner:\n\t\tfor parser.raw_buffer_pos != len(parser.raw_buffer) {\n\t\t\tvar value rune\n\t\t\tvar width int\n\n\t\t\traw_unread := len(parser.raw_buffer) - parser.raw_buffer_pos\n\n\t\t\t// Decode the next character.\n\t\t\tswitch parser.encoding {\n\t\t\tcase yaml_UTF8_ENCODING:\n\t\t\t\t// Decode a UTF-8 character.  Check RFC 3629\n\t\t\t\t// (http://www.ietf.org/rfc/rfc3629.txt) for more details.\n\t\t\t\t//\n\t\t\t\t// The following table (taken from the RFC) is used for\n\t\t\t\t// decoding.\n\t\t\t\t//\n\t\t\t\t//    Char. number range |        UTF-8 octet sequence\n\t\t\t\t//      (hexadecimal)    |              (binary)\n\t\t\t\t//   --------------------+------------------------------------\n\t\t\t\t//   0000 0000-0000 007F | 0xxxxxxx\n\t\t\t\t//   0000 0080-0000 07FF | 110xxxxx 10xxxxxx\n\t\t\t\t//   0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx\n\t\t\t\t//   0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx\n\t\t\t\t//\n\t\t\t\t// Additionally, the characters in the range 0xD800-0xDFFF\n\t\t\t\t// are prohibited as they are reserved for use with UTF-16\n\t\t\t\t// surrogate pairs.\n\n\t\t\t\t// Determine the length of the UTF-8 sequence.\n\t\t\t\toctet := parser.raw_buffer[parser.raw_buffer_pos]\n\t\t\t\tswitch {\n\t\t\t\tcase octet&0x80 == 0x00:\n\t\t\t\t\twidth = 1\n\t\t\t\tcase octet&0xE0 == 0xC0:\n\t\t\t\t\twidth = 2\n\t\t\t\tcase octet&0xF0 == 0xE0:\n\t\t\t\t\twidth = 3\n\t\t\t\tcase octet&0xF8 == 0xF0:\n\t\t\t\t\twidth = 4\n\t\t\t\tdefault:\n\t\t\t\t\t// The leading octet is invalid.\n\t\t\t\t\treturn yaml_parser_set_reader_error(parser,\n\t\t\t\t\t\t\"invalid leading UTF-8 octet\",\n\t\t\t\t\t\tparser.offset, int(octet))\n\t\t\t\t}\n\n\t\t\t\t// Check if the raw buffer contains an incomplete character.\n\t\t\t\tif width > raw_unread {\n\t\t\t\t\tif parser.eof {\n\t\t\t\t\t\treturn yaml_parser_set_reader_error(parser,\n\t\t\t\t\t\t\t\"incomplete UTF-8 octet sequence\",\n\t\t\t\t\t\t\tparser.offset, -1)\n\t\t\t\t\t}\n\t\t\t\t\tbreak inner\n\t\t\t\t}\n\n\t\t\t\t// Decode the leading octet.\n\t\t\t\tswitch {\n\t\t\t\tcase octet&0x80 == 0x00:\n\t\t\t\t\tvalue = rune(octet & 0x7F)\n\t\t\t\tcase octet&0xE0 == 0xC0:\n\t\t\t\t\tvalue = rune(octet & 0x1F)\n\t\t\t\tcase octet&0xF0 == 0xE0:\n\t\t\t\t\tvalue = rune(octet & 0x0F)\n\t\t\t\tcase octet&0xF8 == 0xF0:\n\t\t\t\t\tvalue = rune(octet & 0x07)\n\t\t\t\tdefault:\n\t\t\t\t\tvalue = 0\n\t\t\t\t}\n\n\t\t\t\t// Check and decode the trailing octets.\n\t\t\t\tfor k := 1; k < width; k++ {\n\t\t\t\t\toctet = parser.raw_buffer[parser.raw_buffer_pos+k]\n\n\t\t\t\t\t// Check if the octet is valid.\n\t\t\t\t\tif (octet & 0xC0) != 0x80 {\n\t\t\t\t\t\treturn yaml_parser_set_reader_error(parser,\n\t\t\t\t\t\t\t\"invalid trailing UTF-8 octet\",\n\t\t\t\t\t\t\tparser.offset+k, int(octet))\n\t\t\t\t\t}\n\n\t\t\t\t\t// Decode the octet.\n\t\t\t\t\tvalue = (value << 6) + rune(octet&0x3F)\n\t\t\t\t}\n\n\t\t\t\t// Check the length of the sequence against the value.\n\t\t\t\tswitch {\n\t\t\t\tcase width == 1:\n\t\t\t\tcase width == 2 && value >= 0x80:\n\t\t\t\tcase width == 3 && value >= 0x800:\n\t\t\t\tcase width == 4 && value >= 0x10000:\n\t\t\t\tdefault:\n\t\t\t\t\treturn yaml_parser_set_reader_error(parser,\n\t\t\t\t\t\t\"invalid length of a UTF-8 sequence\",\n\t\t\t\t\t\tparser.offset, -1)\n\t\t\t\t}\n\n\t\t\t\t// Check the range of the value.\n\t\t\t\tif value >= 0xD800 && value <= 0xDFFF || value > 0x10FFFF {\n\t\t\t\t\treturn yaml_parser_set_reader_error(parser,\n\t\t\t\t\t\t\"invalid Unicode character\",\n\t\t\t\t\t\tparser.offset, int(value))\n\t\t\t\t}\n\n\t\t\tcase yaml_UTF16LE_ENCODING, yaml_UTF16BE_ENCODING:\n\t\t\t\tvar low, high int\n\t\t\t\tif parser.encoding == yaml_UTF16LE_ENCODING {\n\t\t\t\t\tlow, high = 0, 1\n\t\t\t\t} else {\n\t\t\t\t\tlow, high = 1, 0\n\t\t\t\t}\n\n\t\t\t\t// The UTF-16 encoding is not as simple as one might\n\t\t\t\t// naively think.  Check RFC 2781\n\t\t\t\t// (http://www.ietf.org/rfc/rfc2781.txt).\n\t\t\t\t//\n\t\t\t\t// Normally, two subsequent bytes describe a Unicode\n\t\t\t\t// character.  However a special technique (called a\n\t\t\t\t// surrogate pair) is used for specifying character\n\t\t\t\t// values larger than 0xFFFF.\n\t\t\t\t//\n\t\t\t\t// A surrogate pair consists of two pseudo-characters:\n\t\t\t\t//      high surrogate area (0xD800-0xDBFF)\n\t\t\t\t//      low surrogate area (0xDC00-0xDFFF)\n\t\t\t\t//\n\t\t\t\t// The following formulas are used for decoding\n\t\t\t\t// and encoding characters using surrogate pairs:\n\t\t\t\t//\n\t\t\t\t//  U  = U' + 0x10000   (0x01 00 00 <= U <= 0x10 FF FF)\n\t\t\t\t//  U' = yyyyyyyyyyxxxxxxxxxx   (0 <= U' <= 0x0F FF FF)\n\t\t\t\t//  W1 = 110110yyyyyyyyyy\n\t\t\t\t//  W2 = 110111xxxxxxxxxx\n\t\t\t\t//\n\t\t\t\t// where U is the character value, W1 is the high surrogate\n\t\t\t\t// area, W2 is the low surrogate area.\n\n\t\t\t\t// Check for incomplete UTF-16 character.\n\t\t\t\tif raw_unread < 2 {\n\t\t\t\t\tif parser.eof {\n\t\t\t\t\t\treturn yaml_parser_set_reader_error(parser,\n\t\t\t\t\t\t\t\"incomplete UTF-16 character\",\n\t\t\t\t\t\t\tparser.offset, -1)\n\t\t\t\t\t}\n\t\t\t\t\tbreak inner\n\t\t\t\t}\n\n\t\t\t\t// Get the character.\n\t\t\t\tvalue = rune(parser.raw_buffer[parser.raw_buffer_pos+low]) +\n\t\t\t\t\t(rune(parser.raw_buffer[parser.raw_buffer_pos+high]) << 8)\n\n\t\t\t\t// Check for unexpected low surrogate area.\n\t\t\t\tif value&0xFC00 == 0xDC00 {\n\t\t\t\t\treturn yaml_parser_set_reader_error(parser,\n\t\t\t\t\t\t\"unexpected low surrogate area\",\n\t\t\t\t\t\tparser.offset, int(value))\n\t\t\t\t}\n\n\t\t\t\t// Check for a high surrogate area.\n\t\t\t\tif value&0xFC00 == 0xD800 {\n\t\t\t\t\twidth = 4\n\n\t\t\t\t\t// Check for incomplete surrogate pair.\n\t\t\t\t\tif raw_unread < 4 {\n\t\t\t\t\t\tif parser.eof {\n\t\t\t\t\t\t\treturn yaml_parser_set_reader_error(parser,\n\t\t\t\t\t\t\t\t\"incomplete UTF-16 surrogate pair\",\n\t\t\t\t\t\t\t\tparser.offset, -1)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak inner\n\t\t\t\t\t}\n\n\t\t\t\t\t// Get the next character.\n\t\t\t\t\tvalue2 := rune(parser.raw_buffer[parser.raw_buffer_pos+low+2]) +\n\t\t\t\t\t\t(rune(parser.raw_buffer[parser.raw_buffer_pos+high+2]) << 8)\n\n\t\t\t\t\t// Check for a low surrogate area.\n\t\t\t\t\tif value2&0xFC00 != 0xDC00 {\n\t\t\t\t\t\treturn yaml_parser_set_reader_error(parser,\n\t\t\t\t\t\t\t\"expected low surrogate area\",\n\t\t\t\t\t\t\tparser.offset+2, int(value2))\n\t\t\t\t\t}\n\n\t\t\t\t\t// Generate the value of the surrogate pair.\n\t\t\t\t\tvalue = 0x10000 + ((value & 0x3FF) << 10) + (value2 & 0x3FF)\n\t\t\t\t} else {\n\t\t\t\t\twidth = 2\n\t\t\t\t}\n\n\t\t\tdefault:\n\t\t\t\tpanic(\"impossible\")\n\t\t\t}\n\n\t\t\t// Check if the character is in the allowed range:\n\t\t\t//      #x9 | #xA | #xD | [#x20-#x7E]               (8 bit)\n\t\t\t//      | #x85 | [#xA0-#xD7FF] | [#xE000-#xFFFD]    (16 bit)\n\t\t\t//      | [#x10000-#x10FFFF]                        (32 bit)\n\t\t\tswitch {\n\t\t\tcase value == 0x09:\n\t\t\tcase value == 0x0A:\n\t\t\tcase value == 0x0D:\n\t\t\tcase value >= 0x20 && value <= 0x7E:\n\t\t\tcase value == 0x85:\n\t\t\tcase value >= 0xA0 && value <= 0xD7FF:\n\t\t\tcase value >= 0xE000 && value <= 0xFFFD:\n\t\t\tcase value >= 0x10000 && value <= 0x10FFFF:\n\t\t\tdefault:\n\t\t\t\treturn yaml_parser_set_reader_error(parser,\n\t\t\t\t\t\"control characters are not allowed\",\n\t\t\t\t\tparser.offset, int(value))\n\t\t\t}\n\n\t\t\t// Move the raw pointers.\n\t\t\tparser.raw_buffer_pos += width\n\t\t\tparser.offset += width\n\n\t\t\t// Finally put the character into the buffer.\n\t\t\tif value <= 0x7F {\n\t\t\t\t// 0000 0000-0000 007F . 0xxxxxxx\n\t\t\t\tparser.buffer[buffer_len+0] = byte(value)\n\t\t\t\tbuffer_len += 1\n\t\t\t} else if value <= 0x7FF {\n\t\t\t\t// 0000 0080-0000 07FF . 110xxxxx 10xxxxxx\n\t\t\t\tparser.buffer[buffer_len+0] = byte(0xC0 + (value >> 6))\n\t\t\t\tparser.buffer[buffer_len+1] = byte(0x80 + (value & 0x3F))\n\t\t\t\tbuffer_len += 2\n\t\t\t} else if value <= 0xFFFF {\n\t\t\t\t// 0000 0800-0000 FFFF . 1110xxxx 10xxxxxx 10xxxxxx\n\t\t\t\tparser.buffer[buffer_len+0] = byte(0xE0 + (value >> 12))\n\t\t\t\tparser.buffer[buffer_len+1] = byte(0x80 + ((value >> 6) & 0x3F))\n\t\t\t\tparser.buffer[buffer_len+2] = byte(0x80 + (value & 0x3F))\n\t\t\t\tbuffer_len += 3\n\t\t\t} else {\n\t\t\t\t// 0001 0000-0010 FFFF . 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx\n\t\t\t\tparser.buffer[buffer_len+0] = byte(0xF0 + (value >> 18))\n\t\t\t\tparser.buffer[buffer_len+1] = byte(0x80 + ((value >> 12) & 0x3F))\n\t\t\t\tparser.buffer[buffer_len+2] = byte(0x80 + ((value >> 6) & 0x3F))\n\t\t\t\tparser.buffer[buffer_len+3] = byte(0x80 + (value & 0x3F))\n\t\t\t\tbuffer_len += 4\n\t\t\t}\n\n\t\t\tparser.unread++\n\t\t}\n\n\t\t// On EOF, put NUL into the buffer and return.\n\t\tif parser.eof {\n\t\t\tparser.buffer[buffer_len] = 0\n\t\t\tbuffer_len++\n\t\t\tparser.unread++\n\t\t\tbreak\n\t\t}\n\t}\n\tparser.buffer = parser.buffer[:buffer_len]\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/resolve.go",
    "content": "package yaml\n\nimport (\n\t\"encoding/base64\"\n\t\"math\"\n\t\"regexp\"\n\t\"strconv\"\n\t\"strings\"\n\t\"unicode/utf8\"\n)\n\ntype resolveMapItem struct {\n\tvalue interface{}\n\ttag   string\n}\n\nvar resolveTable = make([]byte, 256)\nvar resolveMap = make(map[string]resolveMapItem)\n\nfunc init() {\n\tt := resolveTable\n\tt[int('+')] = 'S' // Sign\n\tt[int('-')] = 'S'\n\tfor _, c := range \"0123456789\" {\n\t\tt[int(c)] = 'D' // Digit\n\t}\n\tfor _, c := range \"yYnNtTfFoO~\" {\n\t\tt[int(c)] = 'M' // In map\n\t}\n\tt[int('.')] = '.' // Float (potentially in map)\n\n\tvar resolveMapList = []struct {\n\t\tv   interface{}\n\t\ttag string\n\t\tl   []string\n\t}{\n\t\t{true, yaml_BOOL_TAG, []string{\"y\", \"Y\", \"yes\", \"Yes\", \"YES\"}},\n\t\t{true, yaml_BOOL_TAG, []string{\"true\", \"True\", \"TRUE\"}},\n\t\t{true, yaml_BOOL_TAG, []string{\"on\", \"On\", \"ON\"}},\n\t\t{false, yaml_BOOL_TAG, []string{\"n\", \"N\", \"no\", \"No\", \"NO\"}},\n\t\t{false, yaml_BOOL_TAG, []string{\"false\", \"False\", \"FALSE\"}},\n\t\t{false, yaml_BOOL_TAG, []string{\"off\", \"Off\", \"OFF\"}},\n\t\t{nil, yaml_NULL_TAG, []string{\"\", \"~\", \"null\", \"Null\", \"NULL\"}},\n\t\t{math.NaN(), yaml_FLOAT_TAG, []string{\".nan\", \".NaN\", \".NAN\"}},\n\t\t{math.Inf(+1), yaml_FLOAT_TAG, []string{\".inf\", \".Inf\", \".INF\"}},\n\t\t{math.Inf(+1), yaml_FLOAT_TAG, []string{\"+.inf\", \"+.Inf\", \"+.INF\"}},\n\t\t{math.Inf(-1), yaml_FLOAT_TAG, []string{\"-.inf\", \"-.Inf\", \"-.INF\"}},\n\t\t{\"<<\", yaml_MERGE_TAG, []string{\"<<\"}},\n\t}\n\n\tm := resolveMap\n\tfor _, item := range resolveMapList {\n\t\tfor _, s := range item.l {\n\t\t\tm[s] = resolveMapItem{item.v, item.tag}\n\t\t}\n\t}\n}\n\nconst longTagPrefix = \"tag:yaml.org,2002:\"\n\nfunc shortTag(tag string) string {\n\t// TODO This can easily be made faster and produce less garbage.\n\tif strings.HasPrefix(tag, longTagPrefix) {\n\t\treturn \"!!\" + tag[len(longTagPrefix):]\n\t}\n\treturn tag\n}\n\nfunc longTag(tag string) string {\n\tif strings.HasPrefix(tag, \"!!\") {\n\t\treturn longTagPrefix + tag[2:]\n\t}\n\treturn tag\n}\n\nfunc resolvableTag(tag string) bool {\n\tswitch tag {\n\tcase \"\", yaml_STR_TAG, yaml_BOOL_TAG, yaml_INT_TAG, yaml_FLOAT_TAG, yaml_NULL_TAG:\n\t\treturn true\n\t}\n\treturn false\n}\n\nvar yamlStyleFloat = regexp.MustCompile(`^[-+]?[0-9]*\\.?[0-9]+([eE][-+][0-9]+)?$`)\n\nfunc resolve(tag string, in string) (rtag string, out interface{}) {\n\tif !resolvableTag(tag) {\n\t\treturn tag, in\n\t}\n\n\tdefer func() {\n\t\tswitch tag {\n\t\tcase \"\", rtag, yaml_STR_TAG, yaml_BINARY_TAG:\n\t\t\treturn\n\t\t}\n\t\tfailf(\"cannot decode %s `%s` as a %s\", shortTag(rtag), in, shortTag(tag))\n\t}()\n\n\t// Any data is accepted as a !!str or !!binary.\n\t// Otherwise, the prefix is enough of a hint about what it might be.\n\thint := byte('N')\n\tif in != \"\" {\n\t\thint = resolveTable[in[0]]\n\t}\n\tif hint != 0 && tag != yaml_STR_TAG && tag != yaml_BINARY_TAG {\n\t\t// Handle things we can lookup in a map.\n\t\tif item, ok := resolveMap[in]; ok {\n\t\t\treturn item.tag, item.value\n\t\t}\n\n\t\t// Base 60 floats are a bad idea, were dropped in YAML 1.2, and\n\t\t// are purposefully unsupported here. They're still quoted on\n\t\t// the way out for compatibility with other parser, though.\n\n\t\tswitch hint {\n\t\tcase 'M':\n\t\t\t// We've already checked the map above.\n\n\t\tcase '.':\n\t\t\t// Not in the map, so maybe a normal float.\n\t\t\tfloatv, err := strconv.ParseFloat(in, 64)\n\t\t\tif err == nil {\n\t\t\t\treturn yaml_FLOAT_TAG, floatv\n\t\t\t}\n\n\t\tcase 'D', 'S':\n\t\t\t// Int, float, or timestamp.\n\t\t\tplain := strings.Replace(in, \"_\", \"\", -1)\n\t\t\tintv, err := strconv.ParseInt(plain, 0, 64)\n\t\t\tif err == nil {\n\t\t\t\tif intv == int64(int(intv)) {\n\t\t\t\t\treturn yaml_INT_TAG, int(intv)\n\t\t\t\t} else {\n\t\t\t\t\treturn yaml_INT_TAG, intv\n\t\t\t\t}\n\t\t\t}\n\t\t\tuintv, err := strconv.ParseUint(plain, 0, 64)\n\t\t\tif err == nil {\n\t\t\t\treturn yaml_INT_TAG, uintv\n\t\t\t}\n\t\t\tif yamlStyleFloat.MatchString(plain) {\n\t\t\t\tfloatv, err := strconv.ParseFloat(plain, 64)\n\t\t\t\tif err == nil {\n\t\t\t\t\treturn yaml_FLOAT_TAG, floatv\n\t\t\t\t}\n\t\t\t}\n\t\t\tif strings.HasPrefix(plain, \"0b\") {\n\t\t\t\tintv, err := strconv.ParseInt(plain[2:], 2, 64)\n\t\t\t\tif err == nil {\n\t\t\t\t\tif intv == int64(int(intv)) {\n\t\t\t\t\t\treturn yaml_INT_TAG, int(intv)\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn yaml_INT_TAG, intv\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tuintv, err := strconv.ParseUint(plain[2:], 2, 64)\n\t\t\t\tif err == nil {\n\t\t\t\t\treturn yaml_INT_TAG, uintv\n\t\t\t\t}\n\t\t\t} else if strings.HasPrefix(plain, \"-0b\") {\n\t\t\t\tintv, err := strconv.ParseInt(plain[3:], 2, 64)\n\t\t\t\tif err == nil {\n\t\t\t\t\tif intv == int64(int(intv)) {\n\t\t\t\t\t\treturn yaml_INT_TAG, -int(intv)\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn yaml_INT_TAG, -intv\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// XXX Handle timestamps here.\n\n\t\tdefault:\n\t\t\tpanic(\"resolveTable item not yet handled: \" + string(rune(hint)) + \" (with \" + in + \")\")\n\t\t}\n\t}\n\tif tag == yaml_BINARY_TAG {\n\t\treturn yaml_BINARY_TAG, in\n\t}\n\tif utf8.ValidString(in) {\n\t\treturn yaml_STR_TAG, in\n\t}\n\treturn yaml_BINARY_TAG, encodeBase64(in)\n}\n\n// encodeBase64 encodes s as base64 that is broken up into multiple lines\n// as appropriate for the resulting length.\nfunc encodeBase64(s string) string {\n\tconst lineLen = 70\n\tencLen := base64.StdEncoding.EncodedLen(len(s))\n\tlines := encLen/lineLen + 1\n\tbuf := make([]byte, encLen*2+lines)\n\tin := buf[0:encLen]\n\tout := buf[encLen:]\n\tbase64.StdEncoding.Encode(in, []byte(s))\n\tk := 0\n\tfor i := 0; i < len(in); i += lineLen {\n\t\tj := i + lineLen\n\t\tif j > len(in) {\n\t\t\tj = len(in)\n\t\t}\n\t\tk += copy(out[k:], in[i:j])\n\t\tif lines > 1 {\n\t\t\tout[k] = '\\n'\n\t\t\tk++\n\t\t}\n\t}\n\treturn string(out[:k])\n}\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/scannerc.go",
    "content": "package yaml\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n)\n\n// Introduction\n// ************\n//\n// The following notes assume that you are familiar with the YAML specification\n// (http://yaml.org/spec/1.2/spec.html).  We mostly follow it, although in\n// some cases we are less restrictive that it requires.\n//\n// The process of transforming a YAML stream into a sequence of events is\n// divided on two steps: Scanning and Parsing.\n//\n// The Scanner transforms the input stream into a sequence of tokens, while the\n// parser transform the sequence of tokens produced by the Scanner into a\n// sequence of parsing events.\n//\n// The Scanner is rather clever and complicated. The Parser, on the contrary,\n// is a straightforward implementation of a recursive-descendant parser (or,\n// LL(1) parser, as it is usually called).\n//\n// Actually there are two issues of Scanning that might be called \"clever\", the\n// rest is quite straightforward.  The issues are \"block collection start\" and\n// \"simple keys\".  Both issues are explained below in details.\n//\n// Here the Scanning step is explained and implemented.  We start with the list\n// of all the tokens produced by the Scanner together with short descriptions.\n//\n// Now, tokens:\n//\n//      STREAM-START(encoding)          # The stream start.\n//      STREAM-END                      # The stream end.\n//      VERSION-DIRECTIVE(major,minor)  # The '%YAML' directive.\n//      TAG-DIRECTIVE(handle,prefix)    # The '%TAG' directive.\n//      DOCUMENT-START                  # '---'\n//      DOCUMENT-END                    # '...'\n//      BLOCK-SEQUENCE-START            # Indentation increase denoting a block\n//      BLOCK-MAPPING-START             # sequence or a block mapping.\n//      BLOCK-END                       # Indentation decrease.\n//      FLOW-SEQUENCE-START             # '['\n//      FLOW-SEQUENCE-END               # ']'\n//      BLOCK-SEQUENCE-START            # '{'\n//      BLOCK-SEQUENCE-END              # '}'\n//      BLOCK-ENTRY                     # '-'\n//      FLOW-ENTRY                      # ','\n//      KEY                             # '?' or nothing (simple keys).\n//      VALUE                           # ':'\n//      ALIAS(anchor)                   # '*anchor'\n//      ANCHOR(anchor)                  # '&anchor'\n//      TAG(handle,suffix)              # '!handle!suffix'\n//      SCALAR(value,style)             # A scalar.\n//\n// The following two tokens are \"virtual\" tokens denoting the beginning and the\n// end of the stream:\n//\n//      STREAM-START(encoding)\n//      STREAM-END\n//\n// We pass the information about the input stream encoding with the\n// STREAM-START token.\n//\n// The next two tokens are responsible for tags:\n//\n//      VERSION-DIRECTIVE(major,minor)\n//      TAG-DIRECTIVE(handle,prefix)\n//\n// Example:\n//\n//      %YAML   1.1\n//      %TAG    !   !foo\n//      %TAG    !yaml!  tag:yaml.org,2002:\n//      ---\n//\n// The correspoding sequence of tokens:\n//\n//      STREAM-START(utf-8)\n//      VERSION-DIRECTIVE(1,1)\n//      TAG-DIRECTIVE(\"!\",\"!foo\")\n//      TAG-DIRECTIVE(\"!yaml\",\"tag:yaml.org,2002:\")\n//      DOCUMENT-START\n//      STREAM-END\n//\n// Note that the VERSION-DIRECTIVE and TAG-DIRECTIVE tokens occupy a whole\n// line.\n//\n// The document start and end indicators are represented by:\n//\n//      DOCUMENT-START\n//      DOCUMENT-END\n//\n// Note that if a YAML stream contains an implicit document (without '---'\n// and '...' indicators), no DOCUMENT-START and DOCUMENT-END tokens will be\n// produced.\n//\n// In the following examples, we present whole documents together with the\n// produced tokens.\n//\n//      1. An implicit document:\n//\n//          'a scalar'\n//\n//      Tokens:\n//\n//          STREAM-START(utf-8)\n//          SCALAR(\"a scalar\",single-quoted)\n//          STREAM-END\n//\n//      2. An explicit document:\n//\n//          ---\n//          'a scalar'\n//          ...\n//\n//      Tokens:\n//\n//          STREAM-START(utf-8)\n//          DOCUMENT-START\n//          SCALAR(\"a scalar\",single-quoted)\n//          DOCUMENT-END\n//          STREAM-END\n//\n//      3. Several documents in a stream:\n//\n//          'a scalar'\n//          ---\n//          'another scalar'\n//          ---\n//          'yet another scalar'\n//\n//      Tokens:\n//\n//          STREAM-START(utf-8)\n//          SCALAR(\"a scalar\",single-quoted)\n//          DOCUMENT-START\n//          SCALAR(\"another scalar\",single-quoted)\n//          DOCUMENT-START\n//          SCALAR(\"yet another scalar\",single-quoted)\n//          STREAM-END\n//\n// We have already introduced the SCALAR token above.  The following tokens are\n// used to describe aliases, anchors, tag, and scalars:\n//\n//      ALIAS(anchor)\n//      ANCHOR(anchor)\n//      TAG(handle,suffix)\n//      SCALAR(value,style)\n//\n// The following series of examples illustrate the usage of these tokens:\n//\n//      1. A recursive sequence:\n//\n//          &A [ *A ]\n//\n//      Tokens:\n//\n//          STREAM-START(utf-8)\n//          ANCHOR(\"A\")\n//          FLOW-SEQUENCE-START\n//          ALIAS(\"A\")\n//          FLOW-SEQUENCE-END\n//          STREAM-END\n//\n//      2. A tagged scalar:\n//\n//          !!float \"3.14\"  # A good approximation.\n//\n//      Tokens:\n//\n//          STREAM-START(utf-8)\n//          TAG(\"!!\",\"float\")\n//          SCALAR(\"3.14\",double-quoted)\n//          STREAM-END\n//\n//      3. Various scalar styles:\n//\n//          --- # Implicit empty plain scalars do not produce tokens.\n//          --- a plain scalar\n//          --- 'a single-quoted scalar'\n//          --- \"a double-quoted scalar\"\n//          --- |-\n//            a literal scalar\n//          --- >-\n//            a folded\n//            scalar\n//\n//      Tokens:\n//\n//          STREAM-START(utf-8)\n//          DOCUMENT-START\n//          DOCUMENT-START\n//          SCALAR(\"a plain scalar\",plain)\n//          DOCUMENT-START\n//          SCALAR(\"a single-quoted scalar\",single-quoted)\n//          DOCUMENT-START\n//          SCALAR(\"a double-quoted scalar\",double-quoted)\n//          DOCUMENT-START\n//          SCALAR(\"a literal scalar\",literal)\n//          DOCUMENT-START\n//          SCALAR(\"a folded scalar\",folded)\n//          STREAM-END\n//\n// Now it's time to review collection-related tokens. We will start with\n// flow collections:\n//\n//      FLOW-SEQUENCE-START\n//      FLOW-SEQUENCE-END\n//      FLOW-MAPPING-START\n//      FLOW-MAPPING-END\n//      FLOW-ENTRY\n//      KEY\n//      VALUE\n//\n// The tokens FLOW-SEQUENCE-START, FLOW-SEQUENCE-END, FLOW-MAPPING-START, and\n// FLOW-MAPPING-END represent the indicators '[', ']', '{', and '}'\n// correspondingly.  FLOW-ENTRY represent the ',' indicator.  Finally the\n// indicators '?' and ':', which are used for denoting mapping keys and values,\n// are represented by the KEY and VALUE tokens.\n//\n// The following examples show flow collections:\n//\n//      1. A flow sequence:\n//\n//          [item 1, item 2, item 3]\n//\n//      Tokens:\n//\n//          STREAM-START(utf-8)\n//          FLOW-SEQUENCE-START\n//          SCALAR(\"item 1\",plain)\n//          FLOW-ENTRY\n//          SCALAR(\"item 2\",plain)\n//          FLOW-ENTRY\n//          SCALAR(\"item 3\",plain)\n//          FLOW-SEQUENCE-END\n//          STREAM-END\n//\n//      2. A flow mapping:\n//\n//          {\n//              a simple key: a value,  # Note that the KEY token is produced.\n//              ? a complex key: another value,\n//          }\n//\n//      Tokens:\n//\n//          STREAM-START(utf-8)\n//          FLOW-MAPPING-START\n//          KEY\n//          SCALAR(\"a simple key\",plain)\n//          VALUE\n//          SCALAR(\"a value\",plain)\n//          FLOW-ENTRY\n//          KEY\n//          SCALAR(\"a complex key\",plain)\n//          VALUE\n//          SCALAR(\"another value\",plain)\n//          FLOW-ENTRY\n//          FLOW-MAPPING-END\n//          STREAM-END\n//\n// A simple key is a key which is not denoted by the '?' indicator.  Note that\n// the Scanner still produce the KEY token whenever it encounters a simple key.\n//\n// For scanning block collections, the following tokens are used (note that we\n// repeat KEY and VALUE here):\n//\n//      BLOCK-SEQUENCE-START\n//      BLOCK-MAPPING-START\n//      BLOCK-END\n//      BLOCK-ENTRY\n//      KEY\n//      VALUE\n//\n// The tokens BLOCK-SEQUENCE-START and BLOCK-MAPPING-START denote indentation\n// increase that precedes a block collection (cf. the INDENT token in Python).\n// The token BLOCK-END denote indentation decrease that ends a block collection\n// (cf. the DEDENT token in Python).  However YAML has some syntax pecularities\n// that makes detections of these tokens more complex.\n//\n// The tokens BLOCK-ENTRY, KEY, and VALUE are used to represent the indicators\n// '-', '?', and ':' correspondingly.\n//\n// The following examples show how the tokens BLOCK-SEQUENCE-START,\n// BLOCK-MAPPING-START, and BLOCK-END are emitted by the Scanner:\n//\n//      1. Block sequences:\n//\n//          - item 1\n//          - item 2\n//          -\n//            - item 3.1\n//            - item 3.2\n//          -\n//            key 1: value 1\n//            key 2: value 2\n//\n//      Tokens:\n//\n//          STREAM-START(utf-8)\n//          BLOCK-SEQUENCE-START\n//          BLOCK-ENTRY\n//          SCALAR(\"item 1\",plain)\n//          BLOCK-ENTRY\n//          SCALAR(\"item 2\",plain)\n//          BLOCK-ENTRY\n//          BLOCK-SEQUENCE-START\n//          BLOCK-ENTRY\n//          SCALAR(\"item 3.1\",plain)\n//          BLOCK-ENTRY\n//          SCALAR(\"item 3.2\",plain)\n//          BLOCK-END\n//          BLOCK-ENTRY\n//          BLOCK-MAPPING-START\n//          KEY\n//          SCALAR(\"key 1\",plain)\n//          VALUE\n//          SCALAR(\"value 1\",plain)\n//          KEY\n//          SCALAR(\"key 2\",plain)\n//          VALUE\n//          SCALAR(\"value 2\",plain)\n//          BLOCK-END\n//          BLOCK-END\n//          STREAM-END\n//\n//      2. Block mappings:\n//\n//          a simple key: a value   # The KEY token is produced here.\n//          ? a complex key\n//          : another value\n//          a mapping:\n//            key 1: value 1\n//            key 2: value 2\n//          a sequence:\n//            - item 1\n//            - item 2\n//\n//      Tokens:\n//\n//          STREAM-START(utf-8)\n//          BLOCK-MAPPING-START\n//          KEY\n//          SCALAR(\"a simple key\",plain)\n//          VALUE\n//          SCALAR(\"a value\",plain)\n//          KEY\n//          SCALAR(\"a complex key\",plain)\n//          VALUE\n//          SCALAR(\"another value\",plain)\n//          KEY\n//          SCALAR(\"a mapping\",plain)\n//          BLOCK-MAPPING-START\n//          KEY\n//          SCALAR(\"key 1\",plain)\n//          VALUE\n//          SCALAR(\"value 1\",plain)\n//          KEY\n//          SCALAR(\"key 2\",plain)\n//          VALUE\n//          SCALAR(\"value 2\",plain)\n//          BLOCK-END\n//          KEY\n//          SCALAR(\"a sequence\",plain)\n//          VALUE\n//          BLOCK-SEQUENCE-START\n//          BLOCK-ENTRY\n//          SCALAR(\"item 1\",plain)\n//          BLOCK-ENTRY\n//          SCALAR(\"item 2\",plain)\n//          BLOCK-END\n//          BLOCK-END\n//          STREAM-END\n//\n// YAML does not always require to start a new block collection from a new\n// line.  If the current line contains only '-', '?', and ':' indicators, a new\n// block collection may start at the current line.  The following examples\n// illustrate this case:\n//\n//      1. Collections in a sequence:\n//\n//          - - item 1\n//            - item 2\n//          - key 1: value 1\n//            key 2: value 2\n//          - ? complex key\n//            : complex value\n//\n//      Tokens:\n//\n//          STREAM-START(utf-8)\n//          BLOCK-SEQUENCE-START\n//          BLOCK-ENTRY\n//          BLOCK-SEQUENCE-START\n//          BLOCK-ENTRY\n//          SCALAR(\"item 1\",plain)\n//          BLOCK-ENTRY\n//          SCALAR(\"item 2\",plain)\n//          BLOCK-END\n//          BLOCK-ENTRY\n//          BLOCK-MAPPING-START\n//          KEY\n//          SCALAR(\"key 1\",plain)\n//          VALUE\n//          SCALAR(\"value 1\",plain)\n//          KEY\n//          SCALAR(\"key 2\",plain)\n//          VALUE\n//          SCALAR(\"value 2\",plain)\n//          BLOCK-END\n//          BLOCK-ENTRY\n//          BLOCK-MAPPING-START\n//          KEY\n//          SCALAR(\"complex key\")\n//          VALUE\n//          SCALAR(\"complex value\")\n//          BLOCK-END\n//          BLOCK-END\n//          STREAM-END\n//\n//      2. Collections in a mapping:\n//\n//          ? a sequence\n//          : - item 1\n//            - item 2\n//          ? a mapping\n//          : key 1: value 1\n//            key 2: value 2\n//\n//      Tokens:\n//\n//          STREAM-START(utf-8)\n//          BLOCK-MAPPING-START\n//          KEY\n//          SCALAR(\"a sequence\",plain)\n//          VALUE\n//          BLOCK-SEQUENCE-START\n//          BLOCK-ENTRY\n//          SCALAR(\"item 1\",plain)\n//          BLOCK-ENTRY\n//          SCALAR(\"item 2\",plain)\n//          BLOCK-END\n//          KEY\n//          SCALAR(\"a mapping\",plain)\n//          VALUE\n//          BLOCK-MAPPING-START\n//          KEY\n//          SCALAR(\"key 1\",plain)\n//          VALUE\n//          SCALAR(\"value 1\",plain)\n//          KEY\n//          SCALAR(\"key 2\",plain)\n//          VALUE\n//          SCALAR(\"value 2\",plain)\n//          BLOCK-END\n//          BLOCK-END\n//          STREAM-END\n//\n// YAML also permits non-indented sequences if they are included into a block\n// mapping.  In this case, the token BLOCK-SEQUENCE-START is not produced:\n//\n//      key:\n//      - item 1    # BLOCK-SEQUENCE-START is NOT produced here.\n//      - item 2\n//\n// Tokens:\n//\n//      STREAM-START(utf-8)\n//      BLOCK-MAPPING-START\n//      KEY\n//      SCALAR(\"key\",plain)\n//      VALUE\n//      BLOCK-ENTRY\n//      SCALAR(\"item 1\",plain)\n//      BLOCK-ENTRY\n//      SCALAR(\"item 2\",plain)\n//      BLOCK-END\n//\n\n// Ensure that the buffer contains the required number of characters.\n// Return true on success, false on failure (reader error or memory error).\nfunc cache(parser *yaml_parser_t, length int) bool {\n\t// [Go] This was inlined: !cache(A, B) -> unread < B && !update(A, B)\n\treturn parser.unread >= length || yaml_parser_update_buffer(parser, length)\n}\n\n// Advance the buffer pointer.\nfunc skip(parser *yaml_parser_t) {\n\tparser.mark.index++\n\tparser.mark.column++\n\tparser.unread--\n\tparser.buffer_pos += width(parser.buffer[parser.buffer_pos])\n}\n\nfunc skip_line(parser *yaml_parser_t) {\n\tif is_crlf(parser.buffer, parser.buffer_pos) {\n\t\tparser.mark.index += 2\n\t\tparser.mark.column = 0\n\t\tparser.mark.line++\n\t\tparser.unread -= 2\n\t\tparser.buffer_pos += 2\n\t} else if is_break(parser.buffer, parser.buffer_pos) {\n\t\tparser.mark.index++\n\t\tparser.mark.column = 0\n\t\tparser.mark.line++\n\t\tparser.unread--\n\t\tparser.buffer_pos += width(parser.buffer[parser.buffer_pos])\n\t}\n}\n\n// Copy a character to a string buffer and advance pointers.\nfunc read(parser *yaml_parser_t, s []byte) []byte {\n\tw := width(parser.buffer[parser.buffer_pos])\n\tif w == 0 {\n\t\tpanic(\"invalid character sequence\")\n\t}\n\tif len(s) == 0 {\n\t\ts = make([]byte, 0, 32)\n\t}\n\tif w == 1 && len(s)+w <= cap(s) {\n\t\ts = s[:len(s)+1]\n\t\ts[len(s)-1] = parser.buffer[parser.buffer_pos]\n\t\tparser.buffer_pos++\n\t} else {\n\t\ts = append(s, parser.buffer[parser.buffer_pos:parser.buffer_pos+w]...)\n\t\tparser.buffer_pos += w\n\t}\n\tparser.mark.index++\n\tparser.mark.column++\n\tparser.unread--\n\treturn s\n}\n\n// Copy a line break character to a string buffer and advance pointers.\nfunc read_line(parser *yaml_parser_t, s []byte) []byte {\n\tbuf := parser.buffer\n\tpos := parser.buffer_pos\n\tswitch {\n\tcase buf[pos] == '\\r' && buf[pos+1] == '\\n':\n\t\t// CR LF . LF\n\t\ts = append(s, '\\n')\n\t\tparser.buffer_pos += 2\n\t\tparser.mark.index++\n\t\tparser.unread--\n\tcase buf[pos] == '\\r' || buf[pos] == '\\n':\n\t\t// CR|LF . LF\n\t\ts = append(s, '\\n')\n\t\tparser.buffer_pos += 1\n\tcase buf[pos] == '\\xC2' && buf[pos+1] == '\\x85':\n\t\t// NEL . LF\n\t\ts = append(s, '\\n')\n\t\tparser.buffer_pos += 2\n\tcase buf[pos] == '\\xE2' && buf[pos+1] == '\\x80' && (buf[pos+2] == '\\xA8' || buf[pos+2] == '\\xA9'):\n\t\t// LS|PS . LS|PS\n\t\ts = append(s, buf[parser.buffer_pos:pos+3]...)\n\t\tparser.buffer_pos += 3\n\tdefault:\n\t\treturn s\n\t}\n\tparser.mark.index++\n\tparser.mark.column = 0\n\tparser.mark.line++\n\tparser.unread--\n\treturn s\n}\n\n// Get the next token.\nfunc yaml_parser_scan(parser *yaml_parser_t, token *yaml_token_t) bool {\n\t// Erase the token object.\n\t*token = yaml_token_t{} // [Go] Is this necessary?\n\n\t// No tokens after STREAM-END or error.\n\tif parser.stream_end_produced || parser.error != yaml_NO_ERROR {\n\t\treturn true\n\t}\n\n\t// Ensure that the tokens queue contains enough tokens.\n\tif !parser.token_available {\n\t\tif !yaml_parser_fetch_more_tokens(parser) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Fetch the next token from the queue.\n\t*token = parser.tokens[parser.tokens_head]\n\tparser.tokens_head++\n\tparser.tokens_parsed++\n\tparser.token_available = false\n\n\tif token.typ == yaml_STREAM_END_TOKEN {\n\t\tparser.stream_end_produced = true\n\t}\n\treturn true\n}\n\n// Set the scanner error and return false.\nfunc yaml_parser_set_scanner_error(parser *yaml_parser_t, context string, context_mark yaml_mark_t, problem string) bool {\n\tparser.error = yaml_SCANNER_ERROR\n\tparser.context = context\n\tparser.context_mark = context_mark\n\tparser.problem = problem\n\tparser.problem_mark = parser.mark\n\treturn false\n}\n\nfunc yaml_parser_set_scanner_tag_error(parser *yaml_parser_t, directive bool, context_mark yaml_mark_t, problem string) bool {\n\tcontext := \"while parsing a tag\"\n\tif directive {\n\t\tcontext = \"while parsing a %TAG directive\"\n\t}\n\treturn yaml_parser_set_scanner_error(parser, context, context_mark, problem)\n}\n\nfunc trace(args ...interface{}) func() {\n\tpargs := append([]interface{}{\"+++\"}, args...)\n\tfmt.Println(pargs...)\n\tpargs = append([]interface{}{\"---\"}, args...)\n\treturn func() { fmt.Println(pargs...) }\n}\n\n// Ensure that the tokens queue contains at least one token which can be\n// returned to the Parser.\nfunc yaml_parser_fetch_more_tokens(parser *yaml_parser_t) bool {\n\t// While we need more tokens to fetch, do it.\n\tfor {\n\t\t// Check if we really need to fetch more tokens.\n\t\tneed_more_tokens := false\n\n\t\tif parser.tokens_head == len(parser.tokens) {\n\t\t\t// Queue is empty.\n\t\t\tneed_more_tokens = true\n\t\t} else {\n\t\t\t// Check if any potential simple key may occupy the head position.\n\t\t\tif !yaml_parser_stale_simple_keys(parser) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tfor i := range parser.simple_keys {\n\t\t\t\tsimple_key := &parser.simple_keys[i]\n\t\t\t\tif simple_key.possible && simple_key.token_number == parser.tokens_parsed {\n\t\t\t\t\tneed_more_tokens = true\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// We are finished.\n\t\tif !need_more_tokens {\n\t\t\tbreak\n\t\t}\n\t\t// Fetch the next token.\n\t\tif !yaml_parser_fetch_next_token(parser) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tparser.token_available = true\n\treturn true\n}\n\n// The dispatcher for token fetchers.\nfunc yaml_parser_fetch_next_token(parser *yaml_parser_t) bool {\n\t// Ensure that the buffer is initialized.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\n\t// Check if we just started scanning.  Fetch STREAM-START then.\n\tif !parser.stream_start_produced {\n\t\treturn yaml_parser_fetch_stream_start(parser)\n\t}\n\n\t// Eat whitespaces and comments until we reach the next token.\n\tif !yaml_parser_scan_to_next_token(parser) {\n\t\treturn false\n\t}\n\n\t// Remove obsolete potential simple keys.\n\tif !yaml_parser_stale_simple_keys(parser) {\n\t\treturn false\n\t}\n\n\t// Check the indentation level against the current column.\n\tif !yaml_parser_unroll_indent(parser, parser.mark.column) {\n\t\treturn false\n\t}\n\n\t// Ensure that the buffer contains at least 4 characters.  4 is the length\n\t// of the longest indicators ('--- ' and '... ').\n\tif parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) {\n\t\treturn false\n\t}\n\n\t// Is it the end of the stream?\n\tif is_z(parser.buffer, parser.buffer_pos) {\n\t\treturn yaml_parser_fetch_stream_end(parser)\n\t}\n\n\t// Is it a directive?\n\tif parser.mark.column == 0 && parser.buffer[parser.buffer_pos] == '%' {\n\t\treturn yaml_parser_fetch_directive(parser)\n\t}\n\n\tbuf := parser.buffer\n\tpos := parser.buffer_pos\n\n\t// Is it the document start indicator?\n\tif parser.mark.column == 0 && buf[pos] == '-' && buf[pos+1] == '-' && buf[pos+2] == '-' && is_blankz(buf, pos+3) {\n\t\treturn yaml_parser_fetch_document_indicator(parser, yaml_DOCUMENT_START_TOKEN)\n\t}\n\n\t// Is it the document end indicator?\n\tif parser.mark.column == 0 && buf[pos] == '.' && buf[pos+1] == '.' && buf[pos+2] == '.' && is_blankz(buf, pos+3) {\n\t\treturn yaml_parser_fetch_document_indicator(parser, yaml_DOCUMENT_END_TOKEN)\n\t}\n\n\t// Is it the flow sequence start indicator?\n\tif buf[pos] == '[' {\n\t\treturn yaml_parser_fetch_flow_collection_start(parser, yaml_FLOW_SEQUENCE_START_TOKEN)\n\t}\n\n\t// Is it the flow mapping start indicator?\n\tif parser.buffer[parser.buffer_pos] == '{' {\n\t\treturn yaml_parser_fetch_flow_collection_start(parser, yaml_FLOW_MAPPING_START_TOKEN)\n\t}\n\n\t// Is it the flow sequence end indicator?\n\tif parser.buffer[parser.buffer_pos] == ']' {\n\t\treturn yaml_parser_fetch_flow_collection_end(parser,\n\t\t\tyaml_FLOW_SEQUENCE_END_TOKEN)\n\t}\n\n\t// Is it the flow mapping end indicator?\n\tif parser.buffer[parser.buffer_pos] == '}' {\n\t\treturn yaml_parser_fetch_flow_collection_end(parser,\n\t\t\tyaml_FLOW_MAPPING_END_TOKEN)\n\t}\n\n\t// Is it the flow entry indicator?\n\tif parser.buffer[parser.buffer_pos] == ',' {\n\t\treturn yaml_parser_fetch_flow_entry(parser)\n\t}\n\n\t// Is it the block entry indicator?\n\tif parser.buffer[parser.buffer_pos] == '-' && is_blankz(parser.buffer, parser.buffer_pos+1) {\n\t\treturn yaml_parser_fetch_block_entry(parser)\n\t}\n\n\t// Is it the key indicator?\n\tif parser.buffer[parser.buffer_pos] == '?' && (parser.flow_level > 0 || is_blankz(parser.buffer, parser.buffer_pos+1)) {\n\t\treturn yaml_parser_fetch_key(parser)\n\t}\n\n\t// Is it the value indicator?\n\tif parser.buffer[parser.buffer_pos] == ':' && (parser.flow_level > 0 || is_blankz(parser.buffer, parser.buffer_pos+1)) {\n\t\treturn yaml_parser_fetch_value(parser)\n\t}\n\n\t// Is it an alias?\n\tif parser.buffer[parser.buffer_pos] == '*' {\n\t\treturn yaml_parser_fetch_anchor(parser, yaml_ALIAS_TOKEN)\n\t}\n\n\t// Is it an anchor?\n\tif parser.buffer[parser.buffer_pos] == '&' {\n\t\treturn yaml_parser_fetch_anchor(parser, yaml_ANCHOR_TOKEN)\n\t}\n\n\t// Is it a tag?\n\tif parser.buffer[parser.buffer_pos] == '!' {\n\t\treturn yaml_parser_fetch_tag(parser)\n\t}\n\n\t// Is it a literal scalar?\n\tif parser.buffer[parser.buffer_pos] == '|' && parser.flow_level == 0 {\n\t\treturn yaml_parser_fetch_block_scalar(parser, true)\n\t}\n\n\t// Is it a folded scalar?\n\tif parser.buffer[parser.buffer_pos] == '>' && parser.flow_level == 0 {\n\t\treturn yaml_parser_fetch_block_scalar(parser, false)\n\t}\n\n\t// Is it a single-quoted scalar?\n\tif parser.buffer[parser.buffer_pos] == '\\'' {\n\t\treturn yaml_parser_fetch_flow_scalar(parser, true)\n\t}\n\n\t// Is it a double-quoted scalar?\n\tif parser.buffer[parser.buffer_pos] == '\"' {\n\t\treturn yaml_parser_fetch_flow_scalar(parser, false)\n\t}\n\n\t// Is it a plain scalar?\n\t//\n\t// A plain scalar may start with any non-blank characters except\n\t//\n\t//      '-', '?', ':', ',', '[', ']', '{', '}',\n\t//      '#', '&', '*', '!', '|', '>', '\\'', '\\\"',\n\t//      '%', '@', '`'.\n\t//\n\t// In the block context (and, for the '-' indicator, in the flow context\n\t// too), it may also start with the characters\n\t//\n\t//      '-', '?', ':'\n\t//\n\t// if it is followed by a non-space character.\n\t//\n\t// The last rule is more restrictive than the specification requires.\n\t// [Go] Make this logic more reasonable.\n\t//switch parser.buffer[parser.buffer_pos] {\n\t//case '-', '?', ':', ',', '?', '-', ',', ':', ']', '[', '}', '{', '&', '#', '!', '*', '>', '|', '\"', '\\'', '@', '%', '-', '`':\n\t//}\n\tif !(is_blankz(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == '-' ||\n\t\tparser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == ':' ||\n\t\tparser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == '[' ||\n\t\tparser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' ||\n\t\tparser.buffer[parser.buffer_pos] == '}' || parser.buffer[parser.buffer_pos] == '#' ||\n\t\tparser.buffer[parser.buffer_pos] == '&' || parser.buffer[parser.buffer_pos] == '*' ||\n\t\tparser.buffer[parser.buffer_pos] == '!' || parser.buffer[parser.buffer_pos] == '|' ||\n\t\tparser.buffer[parser.buffer_pos] == '>' || parser.buffer[parser.buffer_pos] == '\\'' ||\n\t\tparser.buffer[parser.buffer_pos] == '\"' || parser.buffer[parser.buffer_pos] == '%' ||\n\t\tparser.buffer[parser.buffer_pos] == '@' || parser.buffer[parser.buffer_pos] == '`') ||\n\t\t(parser.buffer[parser.buffer_pos] == '-' && !is_blank(parser.buffer, parser.buffer_pos+1)) ||\n\t\t(parser.flow_level == 0 &&\n\t\t\t(parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == ':') &&\n\t\t\t!is_blankz(parser.buffer, parser.buffer_pos+1)) {\n\t\treturn yaml_parser_fetch_plain_scalar(parser)\n\t}\n\n\t// If we don't determine the token type so far, it is an error.\n\treturn yaml_parser_set_scanner_error(parser,\n\t\t\"while scanning for the next token\", parser.mark,\n\t\t\"found character that cannot start any token\")\n}\n\n// Check the list of potential simple keys and remove the positions that\n// cannot contain simple keys anymore.\nfunc yaml_parser_stale_simple_keys(parser *yaml_parser_t) bool {\n\t// Check for a potential simple key for each flow level.\n\tfor i := range parser.simple_keys {\n\t\tsimple_key := &parser.simple_keys[i]\n\n\t\t// The specification requires that a simple key\n\t\t//\n\t\t//  - is limited to a single line,\n\t\t//  - is shorter than 1024 characters.\n\t\tif simple_key.possible && (simple_key.mark.line < parser.mark.line || simple_key.mark.index+1024 < parser.mark.index) {\n\n\t\t\t// Check if the potential simple key to be removed is required.\n\t\t\tif simple_key.required {\n\t\t\t\treturn yaml_parser_set_scanner_error(parser,\n\t\t\t\t\t\"while scanning a simple key\", simple_key.mark,\n\t\t\t\t\t\"could not find expected ':'\")\n\t\t\t}\n\t\t\tsimple_key.possible = false\n\t\t}\n\t}\n\treturn true\n}\n\n// Check if a simple key may start at the current position and add it if\n// needed.\nfunc yaml_parser_save_simple_key(parser *yaml_parser_t) bool {\n\t// A simple key is required at the current position if the scanner is in\n\t// the block context and the current column coincides with the indentation\n\t// level.\n\n\trequired := parser.flow_level == 0 && parser.indent == parser.mark.column\n\n\t// A simple key is required only when it is the first token in the current\n\t// line.  Therefore it is always allowed.  But we add a check anyway.\n\tif required && !parser.simple_key_allowed {\n\t\tpanic(\"should not happen\")\n\t}\n\n\t//\n\t// If the current position may start a simple key, save it.\n\t//\n\tif parser.simple_key_allowed {\n\t\tsimple_key := yaml_simple_key_t{\n\t\t\tpossible:     true,\n\t\t\trequired:     required,\n\t\t\ttoken_number: parser.tokens_parsed + (len(parser.tokens) - parser.tokens_head),\n\t\t}\n\t\tsimple_key.mark = parser.mark\n\n\t\tif !yaml_parser_remove_simple_key(parser) {\n\t\t\treturn false\n\t\t}\n\t\tparser.simple_keys[len(parser.simple_keys)-1] = simple_key\n\t}\n\treturn true\n}\n\n// Remove a potential simple key at the current flow level.\nfunc yaml_parser_remove_simple_key(parser *yaml_parser_t) bool {\n\ti := len(parser.simple_keys) - 1\n\tif parser.simple_keys[i].possible {\n\t\t// If the key is required, it is an error.\n\t\tif parser.simple_keys[i].required {\n\t\t\treturn yaml_parser_set_scanner_error(parser,\n\t\t\t\t\"while scanning a simple key\", parser.simple_keys[i].mark,\n\t\t\t\t\"could not find expected ':'\")\n\t\t}\n\t}\n\t// Remove the key from the stack.\n\tparser.simple_keys[i].possible = false\n\treturn true\n}\n\n// Increase the flow level and resize the simple key list if needed.\nfunc yaml_parser_increase_flow_level(parser *yaml_parser_t) bool {\n\t// Reset the simple key on the next level.\n\tparser.simple_keys = append(parser.simple_keys, yaml_simple_key_t{})\n\n\t// Increase the flow level.\n\tparser.flow_level++\n\treturn true\n}\n\n// Decrease the flow level.\nfunc yaml_parser_decrease_flow_level(parser *yaml_parser_t) bool {\n\tif parser.flow_level > 0 {\n\t\tparser.flow_level--\n\t\tparser.simple_keys = parser.simple_keys[:len(parser.simple_keys)-1]\n\t}\n\treturn true\n}\n\n// Push the current indentation level to the stack and set the new level\n// the current column is greater than the indentation level.  In this case,\n// append or insert the specified token into the token queue.\nfunc yaml_parser_roll_indent(parser *yaml_parser_t, column, number int, typ yaml_token_type_t, mark yaml_mark_t) bool {\n\t// In the flow context, do nothing.\n\tif parser.flow_level > 0 {\n\t\treturn true\n\t}\n\n\tif parser.indent < column {\n\t\t// Push the current indentation level to the stack and set the new\n\t\t// indentation level.\n\t\tparser.indents = append(parser.indents, parser.indent)\n\t\tparser.indent = column\n\n\t\t// Create a token and insert it into the queue.\n\t\ttoken := yaml_token_t{\n\t\t\ttyp:        typ,\n\t\t\tstart_mark: mark,\n\t\t\tend_mark:   mark,\n\t\t}\n\t\tif number > -1 {\n\t\t\tnumber -= parser.tokens_parsed\n\t\t}\n\t\tyaml_insert_token(parser, number, &token)\n\t}\n\treturn true\n}\n\n// Pop indentation levels from the indents stack until the current level\n// becomes less or equal to the column.  For each indentation level, append\n// the BLOCK-END token.\nfunc yaml_parser_unroll_indent(parser *yaml_parser_t, column int) bool {\n\t// In the flow context, do nothing.\n\tif parser.flow_level > 0 {\n\t\treturn true\n\t}\n\n\t// Loop through the indentation levels in the stack.\n\tfor parser.indent > column {\n\t\t// Create a token and append it to the queue.\n\t\ttoken := yaml_token_t{\n\t\t\ttyp:        yaml_BLOCK_END_TOKEN,\n\t\t\tstart_mark: parser.mark,\n\t\t\tend_mark:   parser.mark,\n\t\t}\n\t\tyaml_insert_token(parser, -1, &token)\n\n\t\t// Pop the indentation level.\n\t\tparser.indent = parser.indents[len(parser.indents)-1]\n\t\tparser.indents = parser.indents[:len(parser.indents)-1]\n\t}\n\treturn true\n}\n\n// Initialize the scanner and produce the STREAM-START token.\nfunc yaml_parser_fetch_stream_start(parser *yaml_parser_t) bool {\n\n\t// Set the initial indentation.\n\tparser.indent = -1\n\n\t// Initialize the simple key stack.\n\tparser.simple_keys = append(parser.simple_keys, yaml_simple_key_t{})\n\n\t// A simple key is allowed at the beginning of the stream.\n\tparser.simple_key_allowed = true\n\n\t// We have started.\n\tparser.stream_start_produced = true\n\n\t// Create the STREAM-START token and append it to the queue.\n\ttoken := yaml_token_t{\n\t\ttyp:        yaml_STREAM_START_TOKEN,\n\t\tstart_mark: parser.mark,\n\t\tend_mark:   parser.mark,\n\t\tencoding:   parser.encoding,\n\t}\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the STREAM-END token and shut down the scanner.\nfunc yaml_parser_fetch_stream_end(parser *yaml_parser_t) bool {\n\n\t// Force new line.\n\tif parser.mark.column != 0 {\n\t\tparser.mark.column = 0\n\t\tparser.mark.line++\n\t}\n\n\t// Reset the indentation level.\n\tif !yaml_parser_unroll_indent(parser, -1) {\n\t\treturn false\n\t}\n\n\t// Reset simple keys.\n\tif !yaml_parser_remove_simple_key(parser) {\n\t\treturn false\n\t}\n\n\tparser.simple_key_allowed = false\n\n\t// Create the STREAM-END token and append it to the queue.\n\ttoken := yaml_token_t{\n\t\ttyp:        yaml_STREAM_END_TOKEN,\n\t\tstart_mark: parser.mark,\n\t\tend_mark:   parser.mark,\n\t}\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce a VERSION-DIRECTIVE or TAG-DIRECTIVE token.\nfunc yaml_parser_fetch_directive(parser *yaml_parser_t) bool {\n\t// Reset the indentation level.\n\tif !yaml_parser_unroll_indent(parser, -1) {\n\t\treturn false\n\t}\n\n\t// Reset simple keys.\n\tif !yaml_parser_remove_simple_key(parser) {\n\t\treturn false\n\t}\n\n\tparser.simple_key_allowed = false\n\n\t// Create the YAML-DIRECTIVE or TAG-DIRECTIVE token.\n\ttoken := yaml_token_t{}\n\tif !yaml_parser_scan_directive(parser, &token) {\n\t\treturn false\n\t}\n\t// Append the token to the queue.\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the DOCUMENT-START or DOCUMENT-END token.\nfunc yaml_parser_fetch_document_indicator(parser *yaml_parser_t, typ yaml_token_type_t) bool {\n\t// Reset the indentation level.\n\tif !yaml_parser_unroll_indent(parser, -1) {\n\t\treturn false\n\t}\n\n\t// Reset simple keys.\n\tif !yaml_parser_remove_simple_key(parser) {\n\t\treturn false\n\t}\n\n\tparser.simple_key_allowed = false\n\n\t// Consume the token.\n\tstart_mark := parser.mark\n\n\tskip(parser)\n\tskip(parser)\n\tskip(parser)\n\n\tend_mark := parser.mark\n\n\t// Create the DOCUMENT-START or DOCUMENT-END token.\n\ttoken := yaml_token_t{\n\t\ttyp:        typ,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t}\n\t// Append the token to the queue.\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the FLOW-SEQUENCE-START or FLOW-MAPPING-START token.\nfunc yaml_parser_fetch_flow_collection_start(parser *yaml_parser_t, typ yaml_token_type_t) bool {\n\t// The indicators '[' and '{' may start a simple key.\n\tif !yaml_parser_save_simple_key(parser) {\n\t\treturn false\n\t}\n\n\t// Increase the flow level.\n\tif !yaml_parser_increase_flow_level(parser) {\n\t\treturn false\n\t}\n\n\t// A simple key may follow the indicators '[' and '{'.\n\tparser.simple_key_allowed = true\n\n\t// Consume the token.\n\tstart_mark := parser.mark\n\tskip(parser)\n\tend_mark := parser.mark\n\n\t// Create the FLOW-SEQUENCE-START of FLOW-MAPPING-START token.\n\ttoken := yaml_token_t{\n\t\ttyp:        typ,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t}\n\t// Append the token to the queue.\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the FLOW-SEQUENCE-END or FLOW-MAPPING-END token.\nfunc yaml_parser_fetch_flow_collection_end(parser *yaml_parser_t, typ yaml_token_type_t) bool {\n\t// Reset any potential simple key on the current flow level.\n\tif !yaml_parser_remove_simple_key(parser) {\n\t\treturn false\n\t}\n\n\t// Decrease the flow level.\n\tif !yaml_parser_decrease_flow_level(parser) {\n\t\treturn false\n\t}\n\n\t// No simple keys after the indicators ']' and '}'.\n\tparser.simple_key_allowed = false\n\n\t// Consume the token.\n\n\tstart_mark := parser.mark\n\tskip(parser)\n\tend_mark := parser.mark\n\n\t// Create the FLOW-SEQUENCE-END of FLOW-MAPPING-END token.\n\ttoken := yaml_token_t{\n\t\ttyp:        typ,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t}\n\t// Append the token to the queue.\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the FLOW-ENTRY token.\nfunc yaml_parser_fetch_flow_entry(parser *yaml_parser_t) bool {\n\t// Reset any potential simple keys on the current flow level.\n\tif !yaml_parser_remove_simple_key(parser) {\n\t\treturn false\n\t}\n\n\t// Simple keys are allowed after ','.\n\tparser.simple_key_allowed = true\n\n\t// Consume the token.\n\tstart_mark := parser.mark\n\tskip(parser)\n\tend_mark := parser.mark\n\n\t// Create the FLOW-ENTRY token and append it to the queue.\n\ttoken := yaml_token_t{\n\t\ttyp:        yaml_FLOW_ENTRY_TOKEN,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t}\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the BLOCK-ENTRY token.\nfunc yaml_parser_fetch_block_entry(parser *yaml_parser_t) bool {\n\t// Check if the scanner is in the block context.\n\tif parser.flow_level == 0 {\n\t\t// Check if we are allowed to start a new entry.\n\t\tif !parser.simple_key_allowed {\n\t\t\treturn yaml_parser_set_scanner_error(parser, \"\", parser.mark,\n\t\t\t\t\"block sequence entries are not allowed in this context\")\n\t\t}\n\t\t// Add the BLOCK-SEQUENCE-START token if needed.\n\t\tif !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_SEQUENCE_START_TOKEN, parser.mark) {\n\t\t\treturn false\n\t\t}\n\t} else {\n\t\t// It is an error for the '-' indicator to occur in the flow context,\n\t\t// but we let the Parser detect and report about it because the Parser\n\t\t// is able to point to the context.\n\t}\n\n\t// Reset any potential simple keys on the current flow level.\n\tif !yaml_parser_remove_simple_key(parser) {\n\t\treturn false\n\t}\n\n\t// Simple keys are allowed after '-'.\n\tparser.simple_key_allowed = true\n\n\t// Consume the token.\n\tstart_mark := parser.mark\n\tskip(parser)\n\tend_mark := parser.mark\n\n\t// Create the BLOCK-ENTRY token and append it to the queue.\n\ttoken := yaml_token_t{\n\t\ttyp:        yaml_BLOCK_ENTRY_TOKEN,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t}\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the KEY token.\nfunc yaml_parser_fetch_key(parser *yaml_parser_t) bool {\n\n\t// In the block context, additional checks are required.\n\tif parser.flow_level == 0 {\n\t\t// Check if we are allowed to start a new key (not nessesary simple).\n\t\tif !parser.simple_key_allowed {\n\t\t\treturn yaml_parser_set_scanner_error(parser, \"\", parser.mark,\n\t\t\t\t\"mapping keys are not allowed in this context\")\n\t\t}\n\t\t// Add the BLOCK-MAPPING-START token if needed.\n\t\tif !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_MAPPING_START_TOKEN, parser.mark) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Reset any potential simple keys on the current flow level.\n\tif !yaml_parser_remove_simple_key(parser) {\n\t\treturn false\n\t}\n\n\t// Simple keys are allowed after '?' in the block context.\n\tparser.simple_key_allowed = parser.flow_level == 0\n\n\t// Consume the token.\n\tstart_mark := parser.mark\n\tskip(parser)\n\tend_mark := parser.mark\n\n\t// Create the KEY token and append it to the queue.\n\ttoken := yaml_token_t{\n\t\ttyp:        yaml_KEY_TOKEN,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t}\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the VALUE token.\nfunc yaml_parser_fetch_value(parser *yaml_parser_t) bool {\n\n\tsimple_key := &parser.simple_keys[len(parser.simple_keys)-1]\n\n\t// Have we found a simple key?\n\tif simple_key.possible {\n\t\t// Create the KEY token and insert it into the queue.\n\t\ttoken := yaml_token_t{\n\t\t\ttyp:        yaml_KEY_TOKEN,\n\t\t\tstart_mark: simple_key.mark,\n\t\t\tend_mark:   simple_key.mark,\n\t\t}\n\t\tyaml_insert_token(parser, simple_key.token_number-parser.tokens_parsed, &token)\n\n\t\t// In the block context, we may need to add the BLOCK-MAPPING-START token.\n\t\tif !yaml_parser_roll_indent(parser, simple_key.mark.column,\n\t\t\tsimple_key.token_number,\n\t\t\tyaml_BLOCK_MAPPING_START_TOKEN, simple_key.mark) {\n\t\t\treturn false\n\t\t}\n\n\t\t// Remove the simple key.\n\t\tsimple_key.possible = false\n\n\t\t// A simple key cannot follow another simple key.\n\t\tparser.simple_key_allowed = false\n\n\t} else {\n\t\t// The ':' indicator follows a complex key.\n\n\t\t// In the block context, extra checks are required.\n\t\tif parser.flow_level == 0 {\n\n\t\t\t// Check if we are allowed to start a complex value.\n\t\t\tif !parser.simple_key_allowed {\n\t\t\t\treturn yaml_parser_set_scanner_error(parser, \"\", parser.mark,\n\t\t\t\t\t\"mapping values are not allowed in this context\")\n\t\t\t}\n\n\t\t\t// Add the BLOCK-MAPPING-START token if needed.\n\t\t\tif !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_MAPPING_START_TOKEN, parser.mark) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t// Simple keys after ':' are allowed in the block context.\n\t\tparser.simple_key_allowed = parser.flow_level == 0\n\t}\n\n\t// Consume the token.\n\tstart_mark := parser.mark\n\tskip(parser)\n\tend_mark := parser.mark\n\n\t// Create the VALUE token and append it to the queue.\n\ttoken := yaml_token_t{\n\t\ttyp:        yaml_VALUE_TOKEN,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t}\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the ALIAS or ANCHOR token.\nfunc yaml_parser_fetch_anchor(parser *yaml_parser_t, typ yaml_token_type_t) bool {\n\t// An anchor or an alias could be a simple key.\n\tif !yaml_parser_save_simple_key(parser) {\n\t\treturn false\n\t}\n\n\t// A simple key cannot follow an anchor or an alias.\n\tparser.simple_key_allowed = false\n\n\t// Create the ALIAS or ANCHOR token and append it to the queue.\n\tvar token yaml_token_t\n\tif !yaml_parser_scan_anchor(parser, &token, typ) {\n\t\treturn false\n\t}\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the TAG token.\nfunc yaml_parser_fetch_tag(parser *yaml_parser_t) bool {\n\t// A tag could be a simple key.\n\tif !yaml_parser_save_simple_key(parser) {\n\t\treturn false\n\t}\n\n\t// A simple key cannot follow a tag.\n\tparser.simple_key_allowed = false\n\n\t// Create the TAG token and append it to the queue.\n\tvar token yaml_token_t\n\tif !yaml_parser_scan_tag(parser, &token) {\n\t\treturn false\n\t}\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the SCALAR(...,literal) or SCALAR(...,folded) tokens.\nfunc yaml_parser_fetch_block_scalar(parser *yaml_parser_t, literal bool) bool {\n\t// Remove any potential simple keys.\n\tif !yaml_parser_remove_simple_key(parser) {\n\t\treturn false\n\t}\n\n\t// A simple key may follow a block scalar.\n\tparser.simple_key_allowed = true\n\n\t// Create the SCALAR token and append it to the queue.\n\tvar token yaml_token_t\n\tif !yaml_parser_scan_block_scalar(parser, &token, literal) {\n\t\treturn false\n\t}\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the SCALAR(...,single-quoted) or SCALAR(...,double-quoted) tokens.\nfunc yaml_parser_fetch_flow_scalar(parser *yaml_parser_t, single bool) bool {\n\t// A plain scalar could be a simple key.\n\tif !yaml_parser_save_simple_key(parser) {\n\t\treturn false\n\t}\n\n\t// A simple key cannot follow a flow scalar.\n\tparser.simple_key_allowed = false\n\n\t// Create the SCALAR token and append it to the queue.\n\tvar token yaml_token_t\n\tif !yaml_parser_scan_flow_scalar(parser, &token, single) {\n\t\treturn false\n\t}\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Produce the SCALAR(...,plain) token.\nfunc yaml_parser_fetch_plain_scalar(parser *yaml_parser_t) bool {\n\t// A plain scalar could be a simple key.\n\tif !yaml_parser_save_simple_key(parser) {\n\t\treturn false\n\t}\n\n\t// A simple key cannot follow a flow scalar.\n\tparser.simple_key_allowed = false\n\n\t// Create the SCALAR token and append it to the queue.\n\tvar token yaml_token_t\n\tif !yaml_parser_scan_plain_scalar(parser, &token) {\n\t\treturn false\n\t}\n\tyaml_insert_token(parser, -1, &token)\n\treturn true\n}\n\n// Eat whitespaces and comments until the next token is found.\nfunc yaml_parser_scan_to_next_token(parser *yaml_parser_t) bool {\n\n\t// Until the next token is not found.\n\tfor {\n\t\t// Allow the BOM mark to start a line.\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t\tif parser.mark.column == 0 && is_bom(parser.buffer, parser.buffer_pos) {\n\t\t\tskip(parser)\n\t\t}\n\n\t\t// Eat whitespaces.\n\t\t// Tabs are allowed:\n\t\t//  - in the flow context\n\t\t//  - in the block context, but not at the beginning of the line or\n\t\t//  after '-', '?', or ':' (complex value).\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\n\t\tfor parser.buffer[parser.buffer_pos] == ' ' || ((parser.flow_level > 0 || !parser.simple_key_allowed) && parser.buffer[parser.buffer_pos] == '\\t') {\n\t\t\tskip(parser)\n\t\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t// Eat a comment until a line break.\n\t\tif parser.buffer[parser.buffer_pos] == '#' {\n\t\t\tfor !is_breakz(parser.buffer, parser.buffer_pos) {\n\t\t\t\tskip(parser)\n\t\t\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If it is a line break, eat it.\n\t\tif is_break(parser.buffer, parser.buffer_pos) {\n\t\t\tif parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tskip_line(parser)\n\n\t\t\t// In the block context, a new line may start a simple key.\n\t\t\tif parser.flow_level == 0 {\n\t\t\t\tparser.simple_key_allowed = true\n\t\t\t}\n\t\t} else {\n\t\t\tbreak // We have found a token.\n\t\t}\n\t}\n\n\treturn true\n}\n\n// Scan a YAML-DIRECTIVE or TAG-DIRECTIVE token.\n//\n// Scope:\n//      %YAML    1.1    # a comment \\n\n//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n//      %TAG    !yaml!  tag:yaml.org,2002:  \\n\n//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n//\nfunc yaml_parser_scan_directive(parser *yaml_parser_t, token *yaml_token_t) bool {\n\t// Eat '%'.\n\tstart_mark := parser.mark\n\tskip(parser)\n\n\t// Scan the directive name.\n\tvar name []byte\n\tif !yaml_parser_scan_directive_name(parser, start_mark, &name) {\n\t\treturn false\n\t}\n\n\t// Is it a YAML directive?\n\tif bytes.Equal(name, []byte(\"YAML\")) {\n\t\t// Scan the VERSION directive value.\n\t\tvar major, minor int8\n\t\tif !yaml_parser_scan_version_directive_value(parser, start_mark, &major, &minor) {\n\t\t\treturn false\n\t\t}\n\t\tend_mark := parser.mark\n\n\t\t// Create a VERSION-DIRECTIVE token.\n\t\t*token = yaml_token_t{\n\t\t\ttyp:        yaml_VERSION_DIRECTIVE_TOKEN,\n\t\t\tstart_mark: start_mark,\n\t\t\tend_mark:   end_mark,\n\t\t\tmajor:      major,\n\t\t\tminor:      minor,\n\t\t}\n\n\t\t// Is it a TAG directive?\n\t} else if bytes.Equal(name, []byte(\"TAG\")) {\n\t\t// Scan the TAG directive value.\n\t\tvar handle, prefix []byte\n\t\tif !yaml_parser_scan_tag_directive_value(parser, start_mark, &handle, &prefix) {\n\t\t\treturn false\n\t\t}\n\t\tend_mark := parser.mark\n\n\t\t// Create a TAG-DIRECTIVE token.\n\t\t*token = yaml_token_t{\n\t\t\ttyp:        yaml_TAG_DIRECTIVE_TOKEN,\n\t\t\tstart_mark: start_mark,\n\t\t\tend_mark:   end_mark,\n\t\t\tvalue:      handle,\n\t\t\tprefix:     prefix,\n\t\t}\n\n\t\t// Unknown directive.\n\t} else {\n\t\tyaml_parser_set_scanner_error(parser, \"while scanning a directive\",\n\t\t\tstart_mark, \"found unknown directive name\")\n\t\treturn false\n\t}\n\n\t// Eat the rest of the line including any comments.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\n\tfor is_blank(parser.buffer, parser.buffer_pos) {\n\t\tskip(parser)\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif parser.buffer[parser.buffer_pos] == '#' {\n\t\tfor !is_breakz(parser.buffer, parser.buffer_pos) {\n\t\t\tskip(parser)\n\t\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check if we are at the end of the line.\n\tif !is_breakz(parser.buffer, parser.buffer_pos) {\n\t\tyaml_parser_set_scanner_error(parser, \"while scanning a directive\",\n\t\t\tstart_mark, \"did not find expected comment or line break\")\n\t\treturn false\n\t}\n\n\t// Eat a line break.\n\tif is_break(parser.buffer, parser.buffer_pos) {\n\t\tif parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) {\n\t\t\treturn false\n\t\t}\n\t\tskip_line(parser)\n\t}\n\n\treturn true\n}\n\n// Scan the directive name.\n//\n// Scope:\n//      %YAML   1.1     # a comment \\n\n//       ^^^^\n//      %TAG    !yaml!  tag:yaml.org,2002:  \\n\n//       ^^^\n//\nfunc yaml_parser_scan_directive_name(parser *yaml_parser_t, start_mark yaml_mark_t, name *[]byte) bool {\n\t// Consume the directive name.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\n\tvar s []byte\n\tfor is_alpha(parser.buffer, parser.buffer_pos) {\n\t\ts = read(parser, s)\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Check if the name is empty.\n\tif len(s) == 0 {\n\t\tyaml_parser_set_scanner_error(parser, \"while scanning a directive\",\n\t\t\tstart_mark, \"could not find expected directive name\")\n\t\treturn false\n\t}\n\n\t// Check for an blank character after the name.\n\tif !is_blankz(parser.buffer, parser.buffer_pos) {\n\t\tyaml_parser_set_scanner_error(parser, \"while scanning a directive\",\n\t\t\tstart_mark, \"found unexpected non-alphabetical character\")\n\t\treturn false\n\t}\n\t*name = s\n\treturn true\n}\n\n// Scan the value of VERSION-DIRECTIVE.\n//\n// Scope:\n//      %YAML   1.1     # a comment \\n\n//           ^^^^^^\nfunc yaml_parser_scan_version_directive_value(parser *yaml_parser_t, start_mark yaml_mark_t, major, minor *int8) bool {\n\t// Eat whitespaces.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\tfor is_blank(parser.buffer, parser.buffer_pos) {\n\t\tskip(parser)\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Consume the major version number.\n\tif !yaml_parser_scan_version_directive_number(parser, start_mark, major) {\n\t\treturn false\n\t}\n\n\t// Eat '.'.\n\tif parser.buffer[parser.buffer_pos] != '.' {\n\t\treturn yaml_parser_set_scanner_error(parser, \"while scanning a %YAML directive\",\n\t\t\tstart_mark, \"did not find expected digit or '.' character\")\n\t}\n\n\tskip(parser)\n\n\t// Consume the minor version number.\n\tif !yaml_parser_scan_version_directive_number(parser, start_mark, minor) {\n\t\treturn false\n\t}\n\treturn true\n}\n\nconst max_number_length = 2\n\n// Scan the version number of VERSION-DIRECTIVE.\n//\n// Scope:\n//      %YAML   1.1     # a comment \\n\n//              ^\n//      %YAML   1.1     # a comment \\n\n//                ^\nfunc yaml_parser_scan_version_directive_number(parser *yaml_parser_t, start_mark yaml_mark_t, number *int8) bool {\n\n\t// Repeat while the next character is digit.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\tvar value, length int8\n\tfor is_digit(parser.buffer, parser.buffer_pos) {\n\t\t// Check if the number is too long.\n\t\tlength++\n\t\tif length > max_number_length {\n\t\t\treturn yaml_parser_set_scanner_error(parser, \"while scanning a %YAML directive\",\n\t\t\t\tstart_mark, \"found extremely long version number\")\n\t\t}\n\t\tvalue = value*10 + int8(as_digit(parser.buffer, parser.buffer_pos))\n\t\tskip(parser)\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Check if the number was present.\n\tif length == 0 {\n\t\treturn yaml_parser_set_scanner_error(parser, \"while scanning a %YAML directive\",\n\t\t\tstart_mark, \"did not find expected version number\")\n\t}\n\t*number = value\n\treturn true\n}\n\n// Scan the value of a TAG-DIRECTIVE token.\n//\n// Scope:\n//      %TAG    !yaml!  tag:yaml.org,2002:  \\n\n//          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n//\nfunc yaml_parser_scan_tag_directive_value(parser *yaml_parser_t, start_mark yaml_mark_t, handle, prefix *[]byte) bool {\n\tvar handle_value, prefix_value []byte\n\n\t// Eat whitespaces.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\n\tfor is_blank(parser.buffer, parser.buffer_pos) {\n\t\tskip(parser)\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Scan a handle.\n\tif !yaml_parser_scan_tag_handle(parser, true, start_mark, &handle_value) {\n\t\treturn false\n\t}\n\n\t// Expect a whitespace.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\tif !is_blank(parser.buffer, parser.buffer_pos) {\n\t\tyaml_parser_set_scanner_error(parser, \"while scanning a %TAG directive\",\n\t\t\tstart_mark, \"did not find expected whitespace\")\n\t\treturn false\n\t}\n\n\t// Eat whitespaces.\n\tfor is_blank(parser.buffer, parser.buffer_pos) {\n\t\tskip(parser)\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Scan a prefix.\n\tif !yaml_parser_scan_tag_uri(parser, true, nil, start_mark, &prefix_value) {\n\t\treturn false\n\t}\n\n\t// Expect a whitespace or line break.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\tif !is_blankz(parser.buffer, parser.buffer_pos) {\n\t\tyaml_parser_set_scanner_error(parser, \"while scanning a %TAG directive\",\n\t\t\tstart_mark, \"did not find expected whitespace or line break\")\n\t\treturn false\n\t}\n\n\t*handle = handle_value\n\t*prefix = prefix_value\n\treturn true\n}\n\nfunc yaml_parser_scan_anchor(parser *yaml_parser_t, token *yaml_token_t, typ yaml_token_type_t) bool {\n\tvar s []byte\n\n\t// Eat the indicator character.\n\tstart_mark := parser.mark\n\tskip(parser)\n\n\t// Consume the value.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\n\tfor is_alpha(parser.buffer, parser.buffer_pos) {\n\t\ts = read(parser, s)\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tend_mark := parser.mark\n\n\t/*\n\t * Check if length of the anchor is greater than 0 and it is followed by\n\t * a whitespace character or one of the indicators:\n\t *\n\t *      '?', ':', ',', ']', '}', '%', '@', '`'.\n\t */\n\n\tif len(s) == 0 ||\n\t\t!(is_blankz(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == '?' ||\n\t\t\tparser.buffer[parser.buffer_pos] == ':' || parser.buffer[parser.buffer_pos] == ',' ||\n\t\t\tparser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '}' ||\n\t\t\tparser.buffer[parser.buffer_pos] == '%' || parser.buffer[parser.buffer_pos] == '@' ||\n\t\t\tparser.buffer[parser.buffer_pos] == '`') {\n\t\tcontext := \"while scanning an alias\"\n\t\tif typ == yaml_ANCHOR_TOKEN {\n\t\t\tcontext = \"while scanning an anchor\"\n\t\t}\n\t\tyaml_parser_set_scanner_error(parser, context, start_mark,\n\t\t\t\"did not find expected alphabetic or numeric character\")\n\t\treturn false\n\t}\n\n\t// Create a token.\n\t*token = yaml_token_t{\n\t\ttyp:        typ,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t\tvalue:      s,\n\t}\n\n\treturn true\n}\n\n/*\n * Scan a TAG token.\n */\n\nfunc yaml_parser_scan_tag(parser *yaml_parser_t, token *yaml_token_t) bool {\n\tvar handle, suffix []byte\n\n\tstart_mark := parser.mark\n\n\t// Check if the tag is in the canonical form.\n\tif parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) {\n\t\treturn false\n\t}\n\n\tif parser.buffer[parser.buffer_pos+1] == '<' {\n\t\t// Keep the handle as ''\n\n\t\t// Eat '!<'\n\t\tskip(parser)\n\t\tskip(parser)\n\n\t\t// Consume the tag value.\n\t\tif !yaml_parser_scan_tag_uri(parser, false, nil, start_mark, &suffix) {\n\t\t\treturn false\n\t\t}\n\n\t\t// Check for '>' and eat it.\n\t\tif parser.buffer[parser.buffer_pos] != '>' {\n\t\t\tyaml_parser_set_scanner_error(parser, \"while scanning a tag\",\n\t\t\t\tstart_mark, \"did not find the expected '>'\")\n\t\t\treturn false\n\t\t}\n\n\t\tskip(parser)\n\t} else {\n\t\t// The tag has either the '!suffix' or the '!handle!suffix' form.\n\n\t\t// First, try to scan a handle.\n\t\tif !yaml_parser_scan_tag_handle(parser, false, start_mark, &handle) {\n\t\t\treturn false\n\t\t}\n\n\t\t// Check if it is, indeed, handle.\n\t\tif handle[0] == '!' && len(handle) > 1 && handle[len(handle)-1] == '!' {\n\t\t\t// Scan the suffix now.\n\t\t\tif !yaml_parser_scan_tag_uri(parser, false, nil, start_mark, &suffix) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t} else {\n\t\t\t// It wasn't a handle after all.  Scan the rest of the tag.\n\t\t\tif !yaml_parser_scan_tag_uri(parser, false, handle, start_mark, &suffix) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Set the handle to '!'.\n\t\t\thandle = []byte{'!'}\n\n\t\t\t// A special case: the '!' tag.  Set the handle to '' and the\n\t\t\t// suffix to '!'.\n\t\t\tif len(suffix) == 0 {\n\t\t\t\thandle, suffix = suffix, handle\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check the character which ends the tag.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\tif !is_blankz(parser.buffer, parser.buffer_pos) {\n\t\tyaml_parser_set_scanner_error(parser, \"while scanning a tag\",\n\t\t\tstart_mark, \"did not find expected whitespace or line break\")\n\t\treturn false\n\t}\n\n\tend_mark := parser.mark\n\n\t// Create a token.\n\t*token = yaml_token_t{\n\t\ttyp:        yaml_TAG_TOKEN,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t\tvalue:      handle,\n\t\tsuffix:     suffix,\n\t}\n\treturn true\n}\n\n// Scan a tag handle.\nfunc yaml_parser_scan_tag_handle(parser *yaml_parser_t, directive bool, start_mark yaml_mark_t, handle *[]byte) bool {\n\t// Check the initial '!' character.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\tif parser.buffer[parser.buffer_pos] != '!' {\n\t\tyaml_parser_set_scanner_tag_error(parser, directive,\n\t\t\tstart_mark, \"did not find expected '!'\")\n\t\treturn false\n\t}\n\n\tvar s []byte\n\n\t// Copy the '!' character.\n\ts = read(parser, s)\n\n\t// Copy all subsequent alphabetical and numerical characters.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\tfor is_alpha(parser.buffer, parser.buffer_pos) {\n\t\ts = read(parser, s)\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Check if the trailing character is '!' and copy it.\n\tif parser.buffer[parser.buffer_pos] == '!' {\n\t\ts = read(parser, s)\n\t} else {\n\t\t// It's either the '!' tag or not really a tag handle.  If it's a %TAG\n\t\t// directive, it's an error.  If it's a tag token, it must be a part of URI.\n\t\tif directive && string(s) != \"!\" {\n\t\t\tyaml_parser_set_scanner_tag_error(parser, directive,\n\t\t\t\tstart_mark, \"did not find expected '!'\")\n\t\t\treturn false\n\t\t}\n\t}\n\n\t*handle = s\n\treturn true\n}\n\n// Scan a tag.\nfunc yaml_parser_scan_tag_uri(parser *yaml_parser_t, directive bool, head []byte, start_mark yaml_mark_t, uri *[]byte) bool {\n\t//size_t length = head ? strlen((char *)head) : 0\n\tvar s []byte\n\thasTag := len(head) > 0\n\n\t// Copy the head if needed.\n\t//\n\t// Note that we don't copy the leading '!' character.\n\tif len(head) > 1 {\n\t\ts = append(s, head[1:]...)\n\t}\n\n\t// Scan the tag.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\n\t// The set of characters that may appear in URI is as follows:\n\t//\n\t//      '0'-'9', 'A'-'Z', 'a'-'z', '_', '-', ';', '/', '?', ':', '@', '&',\n\t//      '=', '+', '$', ',', '.', '!', '~', '*', '\\'', '(', ')', '[', ']',\n\t//      '%'.\n\t// [Go] Convert this into more reasonable logic.\n\tfor is_alpha(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == ';' ||\n\t\tparser.buffer[parser.buffer_pos] == '/' || parser.buffer[parser.buffer_pos] == '?' ||\n\t\tparser.buffer[parser.buffer_pos] == ':' || parser.buffer[parser.buffer_pos] == '@' ||\n\t\tparser.buffer[parser.buffer_pos] == '&' || parser.buffer[parser.buffer_pos] == '=' ||\n\t\tparser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '$' ||\n\t\tparser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == '.' ||\n\t\tparser.buffer[parser.buffer_pos] == '!' || parser.buffer[parser.buffer_pos] == '~' ||\n\t\tparser.buffer[parser.buffer_pos] == '*' || parser.buffer[parser.buffer_pos] == '\\'' ||\n\t\tparser.buffer[parser.buffer_pos] == '(' || parser.buffer[parser.buffer_pos] == ')' ||\n\t\tparser.buffer[parser.buffer_pos] == '[' || parser.buffer[parser.buffer_pos] == ']' ||\n\t\tparser.buffer[parser.buffer_pos] == '%' {\n\t\t// Check if it is a URI-escape sequence.\n\t\tif parser.buffer[parser.buffer_pos] == '%' {\n\t\t\tif !yaml_parser_scan_uri_escapes(parser, directive, start_mark, &s) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t} else {\n\t\t\ts = read(parser, s)\n\t\t}\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t\thasTag = true\n\t}\n\n\tif !hasTag {\n\t\tyaml_parser_set_scanner_tag_error(parser, directive,\n\t\t\tstart_mark, \"did not find expected tag URI\")\n\t\treturn false\n\t}\n\t*uri = s\n\treturn true\n}\n\n// Decode an URI-escape sequence corresponding to a single UTF-8 character.\nfunc yaml_parser_scan_uri_escapes(parser *yaml_parser_t, directive bool, start_mark yaml_mark_t, s *[]byte) bool {\n\n\t// Decode the required number of characters.\n\tw := 1024\n\tfor w > 0 {\n\t\t// Check for a URI-escaped octet.\n\t\tif parser.unread < 3 && !yaml_parser_update_buffer(parser, 3) {\n\t\t\treturn false\n\t\t}\n\n\t\tif !(parser.buffer[parser.buffer_pos] == '%' &&\n\t\t\tis_hex(parser.buffer, parser.buffer_pos+1) &&\n\t\t\tis_hex(parser.buffer, parser.buffer_pos+2)) {\n\t\t\treturn yaml_parser_set_scanner_tag_error(parser, directive,\n\t\t\t\tstart_mark, \"did not find URI escaped octet\")\n\t\t}\n\n\t\t// Get the octet.\n\t\toctet := byte((as_hex(parser.buffer, parser.buffer_pos+1) << 4) + as_hex(parser.buffer, parser.buffer_pos+2))\n\n\t\t// If it is the leading octet, determine the length of the UTF-8 sequence.\n\t\tif w == 1024 {\n\t\t\tw = width(octet)\n\t\t\tif w == 0 {\n\t\t\t\treturn yaml_parser_set_scanner_tag_error(parser, directive,\n\t\t\t\t\tstart_mark, \"found an incorrect leading UTF-8 octet\")\n\t\t\t}\n\t\t} else {\n\t\t\t// Check if the trailing octet is correct.\n\t\t\tif octet&0xC0 != 0x80 {\n\t\t\t\treturn yaml_parser_set_scanner_tag_error(parser, directive,\n\t\t\t\t\tstart_mark, \"found an incorrect trailing UTF-8 octet\")\n\t\t\t}\n\t\t}\n\n\t\t// Copy the octet and move the pointers.\n\t\t*s = append(*s, octet)\n\t\tskip(parser)\n\t\tskip(parser)\n\t\tskip(parser)\n\t\tw--\n\t}\n\treturn true\n}\n\n// Scan a block scalar.\nfunc yaml_parser_scan_block_scalar(parser *yaml_parser_t, token *yaml_token_t, literal bool) bool {\n\t// Eat the indicator '|' or '>'.\n\tstart_mark := parser.mark\n\tskip(parser)\n\n\t// Scan the additional block scalar indicators.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\n\t// Check for a chomping indicator.\n\tvar chomping, increment int\n\tif parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '-' {\n\t\t// Set the chomping method and eat the indicator.\n\t\tif parser.buffer[parser.buffer_pos] == '+' {\n\t\t\tchomping = +1\n\t\t} else {\n\t\t\tchomping = -1\n\t\t}\n\t\tskip(parser)\n\n\t\t// Check for an indentation indicator.\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t\tif is_digit(parser.buffer, parser.buffer_pos) {\n\t\t\t// Check that the indentation is greater than 0.\n\t\t\tif parser.buffer[parser.buffer_pos] == '0' {\n\t\t\t\tyaml_parser_set_scanner_error(parser, \"while scanning a block scalar\",\n\t\t\t\t\tstart_mark, \"found an indentation indicator equal to 0\")\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Get the indentation level and eat the indicator.\n\t\t\tincrement = as_digit(parser.buffer, parser.buffer_pos)\n\t\t\tskip(parser)\n\t\t}\n\n\t} else if is_digit(parser.buffer, parser.buffer_pos) {\n\t\t// Do the same as above, but in the opposite order.\n\n\t\tif parser.buffer[parser.buffer_pos] == '0' {\n\t\t\tyaml_parser_set_scanner_error(parser, \"while scanning a block scalar\",\n\t\t\t\tstart_mark, \"found an indentation indicator equal to 0\")\n\t\t\treturn false\n\t\t}\n\t\tincrement = as_digit(parser.buffer, parser.buffer_pos)\n\t\tskip(parser)\n\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t\tif parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '-' {\n\t\t\tif parser.buffer[parser.buffer_pos] == '+' {\n\t\t\t\tchomping = +1\n\t\t\t} else {\n\t\t\t\tchomping = -1\n\t\t\t}\n\t\t\tskip(parser)\n\t\t}\n\t}\n\n\t// Eat whitespaces and comments to the end of the line.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\tfor is_blank(parser.buffer, parser.buffer_pos) {\n\t\tskip(parser)\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t}\n\tif parser.buffer[parser.buffer_pos] == '#' {\n\t\tfor !is_breakz(parser.buffer, parser.buffer_pos) {\n\t\t\tskip(parser)\n\t\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check if we are at the end of the line.\n\tif !is_breakz(parser.buffer, parser.buffer_pos) {\n\t\tyaml_parser_set_scanner_error(parser, \"while scanning a block scalar\",\n\t\t\tstart_mark, \"did not find expected comment or line break\")\n\t\treturn false\n\t}\n\n\t// Eat a line break.\n\tif is_break(parser.buffer, parser.buffer_pos) {\n\t\tif parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) {\n\t\t\treturn false\n\t\t}\n\t\tskip_line(parser)\n\t}\n\n\tend_mark := parser.mark\n\n\t// Set the indentation level if it was specified.\n\tvar indent int\n\tif increment > 0 {\n\t\tif parser.indent >= 0 {\n\t\t\tindent = parser.indent + increment\n\t\t} else {\n\t\t\tindent = increment\n\t\t}\n\t}\n\n\t// Scan the leading line breaks and determine the indentation level if needed.\n\tvar s, leading_break, trailing_breaks []byte\n\tif !yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark) {\n\t\treturn false\n\t}\n\n\t// Scan the block scalar content.\n\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\treturn false\n\t}\n\tvar leading_blank, trailing_blank bool\n\tfor parser.mark.column == indent && !is_z(parser.buffer, parser.buffer_pos) {\n\t\t// We are at the beginning of a non-empty line.\n\n\t\t// Is it a trailing whitespace?\n\t\ttrailing_blank = is_blank(parser.buffer, parser.buffer_pos)\n\n\t\t// Check if we need to fold the leading line break.\n\t\tif !literal && !leading_blank && !trailing_blank && len(leading_break) > 0 && leading_break[0] == '\\n' {\n\t\t\t// Do we need to join the lines by space?\n\t\t\tif len(trailing_breaks) == 0 {\n\t\t\t\ts = append(s, ' ')\n\t\t\t}\n\t\t} else {\n\t\t\ts = append(s, leading_break...)\n\t\t}\n\t\tleading_break = leading_break[:0]\n\n\t\t// Append the remaining line breaks.\n\t\ts = append(s, trailing_breaks...)\n\t\ttrailing_breaks = trailing_breaks[:0]\n\n\t\t// Is it a leading whitespace?\n\t\tleading_blank = is_blank(parser.buffer, parser.buffer_pos)\n\n\t\t// Consume the current line.\n\t\tfor !is_breakz(parser.buffer, parser.buffer_pos) {\n\t\t\ts = read(parser, s)\n\t\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t// Consume the line break.\n\t\tif parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) {\n\t\t\treturn false\n\t\t}\n\n\t\tleading_break = read_line(parser, leading_break)\n\n\t\t// Eat the following indentation spaces and line breaks.\n\t\tif !yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Chomp the tail.\n\tif chomping != -1 {\n\t\ts = append(s, leading_break...)\n\t}\n\tif chomping == 1 {\n\t\ts = append(s, trailing_breaks...)\n\t}\n\n\t// Create a token.\n\t*token = yaml_token_t{\n\t\ttyp:        yaml_SCALAR_TOKEN,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t\tvalue:      s,\n\t\tstyle:      yaml_LITERAL_SCALAR_STYLE,\n\t}\n\tif !literal {\n\t\ttoken.style = yaml_FOLDED_SCALAR_STYLE\n\t}\n\treturn true\n}\n\n// Scan indentation spaces and line breaks for a block scalar.  Determine the\n// indentation level if needed.\nfunc yaml_parser_scan_block_scalar_breaks(parser *yaml_parser_t, indent *int, breaks *[]byte, start_mark yaml_mark_t, end_mark *yaml_mark_t) bool {\n\t*end_mark = parser.mark\n\n\t// Eat the indentation spaces and line breaks.\n\tmax_indent := 0\n\tfor {\n\t\t// Eat the indentation spaces.\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\t\tfor (*indent == 0 || parser.mark.column < *indent) && is_space(parser.buffer, parser.buffer_pos) {\n\t\t\tskip(parser)\n\t\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\tif parser.mark.column > max_indent {\n\t\t\tmax_indent = parser.mark.column\n\t\t}\n\n\t\t// Check for a tab character messing the indentation.\n\t\tif (*indent == 0 || parser.mark.column < *indent) && is_tab(parser.buffer, parser.buffer_pos) {\n\t\t\treturn yaml_parser_set_scanner_error(parser, \"while scanning a block scalar\",\n\t\t\t\tstart_mark, \"found a tab character where an indentation space is expected\")\n\t\t}\n\n\t\t// Have we found a non-empty line?\n\t\tif !is_break(parser.buffer, parser.buffer_pos) {\n\t\t\tbreak\n\t\t}\n\n\t\t// Consume the line break.\n\t\tif parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) {\n\t\t\treturn false\n\t\t}\n\t\t// [Go] Should really be returning breaks instead.\n\t\t*breaks = read_line(parser, *breaks)\n\t\t*end_mark = parser.mark\n\t}\n\n\t// Determine the indentation level if needed.\n\tif *indent == 0 {\n\t\t*indent = max_indent\n\t\tif *indent < parser.indent+1 {\n\t\t\t*indent = parser.indent + 1\n\t\t}\n\t\tif *indent < 1 {\n\t\t\t*indent = 1\n\t\t}\n\t}\n\treturn true\n}\n\n// Scan a quoted scalar.\nfunc yaml_parser_scan_flow_scalar(parser *yaml_parser_t, token *yaml_token_t, single bool) bool {\n\t// Eat the left quote.\n\tstart_mark := parser.mark\n\tskip(parser)\n\n\t// Consume the content of the quoted scalar.\n\tvar s, leading_break, trailing_breaks, whitespaces []byte\n\tfor {\n\t\t// Check that there are no document indicators at the beginning of the line.\n\t\tif parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) {\n\t\t\treturn false\n\t\t}\n\n\t\tif parser.mark.column == 0 &&\n\t\t\t((parser.buffer[parser.buffer_pos+0] == '-' &&\n\t\t\t\tparser.buffer[parser.buffer_pos+1] == '-' &&\n\t\t\t\tparser.buffer[parser.buffer_pos+2] == '-') ||\n\t\t\t\t(parser.buffer[parser.buffer_pos+0] == '.' &&\n\t\t\t\t\tparser.buffer[parser.buffer_pos+1] == '.' &&\n\t\t\t\t\tparser.buffer[parser.buffer_pos+2] == '.')) &&\n\t\t\tis_blankz(parser.buffer, parser.buffer_pos+3) {\n\t\t\tyaml_parser_set_scanner_error(parser, \"while scanning a quoted scalar\",\n\t\t\t\tstart_mark, \"found unexpected document indicator\")\n\t\t\treturn false\n\t\t}\n\n\t\t// Check for EOF.\n\t\tif is_z(parser.buffer, parser.buffer_pos) {\n\t\t\tyaml_parser_set_scanner_error(parser, \"while scanning a quoted scalar\",\n\t\t\t\tstart_mark, \"found unexpected end of stream\")\n\t\t\treturn false\n\t\t}\n\n\t\t// Consume non-blank characters.\n\t\tleading_blanks := false\n\t\tfor !is_blankz(parser.buffer, parser.buffer_pos) {\n\t\t\tif single && parser.buffer[parser.buffer_pos] == '\\'' && parser.buffer[parser.buffer_pos+1] == '\\'' {\n\t\t\t\t// Is is an escaped single quote.\n\t\t\t\ts = append(s, '\\'')\n\t\t\t\tskip(parser)\n\t\t\t\tskip(parser)\n\n\t\t\t} else if single && parser.buffer[parser.buffer_pos] == '\\'' {\n\t\t\t\t// It is a right single quote.\n\t\t\t\tbreak\n\t\t\t} else if !single && parser.buffer[parser.buffer_pos] == '\"' {\n\t\t\t\t// It is a right double quote.\n\t\t\t\tbreak\n\n\t\t\t} else if !single && parser.buffer[parser.buffer_pos] == '\\\\' && is_break(parser.buffer, parser.buffer_pos+1) {\n\t\t\t\t// It is an escaped line break.\n\t\t\t\tif parser.unread < 3 && !yaml_parser_update_buffer(parser, 3) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tskip(parser)\n\t\t\t\tskip_line(parser)\n\t\t\t\tleading_blanks = true\n\t\t\t\tbreak\n\n\t\t\t} else if !single && parser.buffer[parser.buffer_pos] == '\\\\' {\n\t\t\t\t// It is an escape sequence.\n\t\t\t\tcode_length := 0\n\n\t\t\t\t// Check the escape character.\n\t\t\t\tswitch parser.buffer[parser.buffer_pos+1] {\n\t\t\t\tcase '0':\n\t\t\t\t\ts = append(s, 0)\n\t\t\t\tcase 'a':\n\t\t\t\t\ts = append(s, '\\x07')\n\t\t\t\tcase 'b':\n\t\t\t\t\ts = append(s, '\\x08')\n\t\t\t\tcase 't', '\\t':\n\t\t\t\t\ts = append(s, '\\x09')\n\t\t\t\tcase 'n':\n\t\t\t\t\ts = append(s, '\\x0A')\n\t\t\t\tcase 'v':\n\t\t\t\t\ts = append(s, '\\x0B')\n\t\t\t\tcase 'f':\n\t\t\t\t\ts = append(s, '\\x0C')\n\t\t\t\tcase 'r':\n\t\t\t\t\ts = append(s, '\\x0D')\n\t\t\t\tcase 'e':\n\t\t\t\t\ts = append(s, '\\x1B')\n\t\t\t\tcase ' ':\n\t\t\t\t\ts = append(s, '\\x20')\n\t\t\t\tcase '\"':\n\t\t\t\t\ts = append(s, '\"')\n\t\t\t\tcase '\\'':\n\t\t\t\t\ts = append(s, '\\'')\n\t\t\t\tcase '\\\\':\n\t\t\t\t\ts = append(s, '\\\\')\n\t\t\t\tcase 'N': // NEL (#x85)\n\t\t\t\t\ts = append(s, '\\xC2')\n\t\t\t\t\ts = append(s, '\\x85')\n\t\t\t\tcase '_': // #xA0\n\t\t\t\t\ts = append(s, '\\xC2')\n\t\t\t\t\ts = append(s, '\\xA0')\n\t\t\t\tcase 'L': // LS (#x2028)\n\t\t\t\t\ts = append(s, '\\xE2')\n\t\t\t\t\ts = append(s, '\\x80')\n\t\t\t\t\ts = append(s, '\\xA8')\n\t\t\t\tcase 'P': // PS (#x2029)\n\t\t\t\t\ts = append(s, '\\xE2')\n\t\t\t\t\ts = append(s, '\\x80')\n\t\t\t\t\ts = append(s, '\\xA9')\n\t\t\t\tcase 'x':\n\t\t\t\t\tcode_length = 2\n\t\t\t\tcase 'u':\n\t\t\t\t\tcode_length = 4\n\t\t\t\tcase 'U':\n\t\t\t\t\tcode_length = 8\n\t\t\t\tdefault:\n\t\t\t\t\tyaml_parser_set_scanner_error(parser, \"while parsing a quoted scalar\",\n\t\t\t\t\t\tstart_mark, \"found unknown escape character\")\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\tskip(parser)\n\t\t\t\tskip(parser)\n\n\t\t\t\t// Consume an arbitrary escape code.\n\t\t\t\tif code_length > 0 {\n\t\t\t\t\tvar value int\n\n\t\t\t\t\t// Scan the character value.\n\t\t\t\t\tif parser.unread < code_length && !yaml_parser_update_buffer(parser, code_length) {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t\tfor k := 0; k < code_length; k++ {\n\t\t\t\t\t\tif !is_hex(parser.buffer, parser.buffer_pos+k) {\n\t\t\t\t\t\t\tyaml_parser_set_scanner_error(parser, \"while parsing a quoted scalar\",\n\t\t\t\t\t\t\t\tstart_mark, \"did not find expected hexdecimal number\")\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue = (value << 4) + as_hex(parser.buffer, parser.buffer_pos+k)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Check the value and write the character.\n\t\t\t\t\tif (value >= 0xD800 && value <= 0xDFFF) || value > 0x10FFFF {\n\t\t\t\t\t\tyaml_parser_set_scanner_error(parser, \"while parsing a quoted scalar\",\n\t\t\t\t\t\t\tstart_mark, \"found invalid Unicode character escape code\")\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t\tif value <= 0x7F {\n\t\t\t\t\t\ts = append(s, byte(value))\n\t\t\t\t\t} else if value <= 0x7FF {\n\t\t\t\t\t\ts = append(s, byte(0xC0+(value>>6)))\n\t\t\t\t\t\ts = append(s, byte(0x80+(value&0x3F)))\n\t\t\t\t\t} else if value <= 0xFFFF {\n\t\t\t\t\t\ts = append(s, byte(0xE0+(value>>12)))\n\t\t\t\t\t\ts = append(s, byte(0x80+((value>>6)&0x3F)))\n\t\t\t\t\t\ts = append(s, byte(0x80+(value&0x3F)))\n\t\t\t\t\t} else {\n\t\t\t\t\t\ts = append(s, byte(0xF0+(value>>18)))\n\t\t\t\t\t\ts = append(s, byte(0x80+((value>>12)&0x3F)))\n\t\t\t\t\t\ts = append(s, byte(0x80+((value>>6)&0x3F)))\n\t\t\t\t\t\ts = append(s, byte(0x80+(value&0x3F)))\n\t\t\t\t\t}\n\n\t\t\t\t\t// Advance the pointer.\n\t\t\t\t\tfor k := 0; k < code_length; k++ {\n\t\t\t\t\t\tskip(parser)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// It is a non-escaped non-blank character.\n\t\t\t\ts = read(parser, s)\n\t\t\t}\n\t\t\tif parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t// Check if we are at the end of the scalar.\n\t\tif single {\n\t\t\tif parser.buffer[parser.buffer_pos] == '\\'' {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif parser.buffer[parser.buffer_pos] == '\"' {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// Consume blank characters.\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\n\t\tfor is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) {\n\t\t\tif is_blank(parser.buffer, parser.buffer_pos) {\n\t\t\t\t// Consume a space or a tab character.\n\t\t\t\tif !leading_blanks {\n\t\t\t\t\twhitespaces = read(parser, whitespaces)\n\t\t\t\t} else {\n\t\t\t\t\tskip(parser)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\t// Check if it is a first line break.\n\t\t\t\tif !leading_blanks {\n\t\t\t\t\twhitespaces = whitespaces[:0]\n\t\t\t\t\tleading_break = read_line(parser, leading_break)\n\t\t\t\t\tleading_blanks = true\n\t\t\t\t} else {\n\t\t\t\t\ttrailing_breaks = read_line(parser, trailing_breaks)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t// Join the whitespaces or fold line breaks.\n\t\tif leading_blanks {\n\t\t\t// Do we need to fold line breaks?\n\t\t\tif len(leading_break) > 0 && leading_break[0] == '\\n' {\n\t\t\t\tif len(trailing_breaks) == 0 {\n\t\t\t\t\ts = append(s, ' ')\n\t\t\t\t} else {\n\t\t\t\t\ts = append(s, trailing_breaks...)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ts = append(s, leading_break...)\n\t\t\t\ts = append(s, trailing_breaks...)\n\t\t\t}\n\t\t\ttrailing_breaks = trailing_breaks[:0]\n\t\t\tleading_break = leading_break[:0]\n\t\t} else {\n\t\t\ts = append(s, whitespaces...)\n\t\t\twhitespaces = whitespaces[:0]\n\t\t}\n\t}\n\n\t// Eat the right quote.\n\tskip(parser)\n\tend_mark := parser.mark\n\n\t// Create a token.\n\t*token = yaml_token_t{\n\t\ttyp:        yaml_SCALAR_TOKEN,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t\tvalue:      s,\n\t\tstyle:      yaml_SINGLE_QUOTED_SCALAR_STYLE,\n\t}\n\tif !single {\n\t\ttoken.style = yaml_DOUBLE_QUOTED_SCALAR_STYLE\n\t}\n\treturn true\n}\n\n// Scan a plain scalar.\nfunc yaml_parser_scan_plain_scalar(parser *yaml_parser_t, token *yaml_token_t) bool {\n\n\tvar s, leading_break, trailing_breaks, whitespaces []byte\n\tvar leading_blanks bool\n\tvar indent = parser.indent + 1\n\n\tstart_mark := parser.mark\n\tend_mark := parser.mark\n\n\t// Consume the content of the plain scalar.\n\tfor {\n\t\t// Check for a document indicator.\n\t\tif parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) {\n\t\t\treturn false\n\t\t}\n\t\tif parser.mark.column == 0 &&\n\t\t\t((parser.buffer[parser.buffer_pos+0] == '-' &&\n\t\t\t\tparser.buffer[parser.buffer_pos+1] == '-' &&\n\t\t\t\tparser.buffer[parser.buffer_pos+2] == '-') ||\n\t\t\t\t(parser.buffer[parser.buffer_pos+0] == '.' &&\n\t\t\t\t\tparser.buffer[parser.buffer_pos+1] == '.' &&\n\t\t\t\t\tparser.buffer[parser.buffer_pos+2] == '.')) &&\n\t\t\tis_blankz(parser.buffer, parser.buffer_pos+3) {\n\t\t\tbreak\n\t\t}\n\n\t\t// Check for a comment.\n\t\tif parser.buffer[parser.buffer_pos] == '#' {\n\t\t\tbreak\n\t\t}\n\n\t\t// Consume non-blank characters.\n\t\tfor !is_blankz(parser.buffer, parser.buffer_pos) {\n\n\t\t\t// Check for 'x:x' in the flow context. TODO: Fix the test \"spec-08-13\".\n\t\t\tif parser.flow_level > 0 &&\n\t\t\t\tparser.buffer[parser.buffer_pos] == ':' &&\n\t\t\t\t!is_blankz(parser.buffer, parser.buffer_pos+1) {\n\t\t\t\tyaml_parser_set_scanner_error(parser, \"while scanning a plain scalar\",\n\t\t\t\t\tstart_mark, \"found unexpected ':'\")\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Check for indicators that may end a plain scalar.\n\t\t\tif (parser.buffer[parser.buffer_pos] == ':' && is_blankz(parser.buffer, parser.buffer_pos+1)) ||\n\t\t\t\t(parser.flow_level > 0 &&\n\t\t\t\t\t(parser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == ':' ||\n\t\t\t\t\t\tparser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == '[' ||\n\t\t\t\t\t\tparser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' ||\n\t\t\t\t\t\tparser.buffer[parser.buffer_pos] == '}')) {\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\t// Check if we need to join whitespaces and breaks.\n\t\t\tif leading_blanks || len(whitespaces) > 0 {\n\t\t\t\tif leading_blanks {\n\t\t\t\t\t// Do we need to fold line breaks?\n\t\t\t\t\tif leading_break[0] == '\\n' {\n\t\t\t\t\t\tif len(trailing_breaks) == 0 {\n\t\t\t\t\t\t\ts = append(s, ' ')\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ts = append(s, trailing_breaks...)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ts = append(s, leading_break...)\n\t\t\t\t\t\ts = append(s, trailing_breaks...)\n\t\t\t\t\t}\n\t\t\t\t\ttrailing_breaks = trailing_breaks[:0]\n\t\t\t\t\tleading_break = leading_break[:0]\n\t\t\t\t\tleading_blanks = false\n\t\t\t\t} else {\n\t\t\t\t\ts = append(s, whitespaces...)\n\t\t\t\t\twhitespaces = whitespaces[:0]\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Copy the character.\n\t\t\ts = read(parser, s)\n\n\t\t\tend_mark = parser.mark\n\t\t\tif parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t// Is it the end?\n\t\tif !(is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos)) {\n\t\t\tbreak\n\t\t}\n\n\t\t// Consume blank characters.\n\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\treturn false\n\t\t}\n\n\t\tfor is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) {\n\t\t\tif is_blank(parser.buffer, parser.buffer_pos) {\n\n\t\t\t\t// Check for tab character that abuse indentation.\n\t\t\t\tif leading_blanks && parser.mark.column < indent && is_tab(parser.buffer, parser.buffer_pos) {\n\t\t\t\t\tyaml_parser_set_scanner_error(parser, \"while scanning a plain scalar\",\n\t\t\t\t\t\tstart_mark, \"found a tab character that violate indentation\")\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\t// Consume a space or a tab character.\n\t\t\t\tif !leading_blanks {\n\t\t\t\t\twhitespaces = read(parser, whitespaces)\n\t\t\t\t} else {\n\t\t\t\t\tskip(parser)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\t// Check if it is a first line break.\n\t\t\t\tif !leading_blanks {\n\t\t\t\t\twhitespaces = whitespaces[:0]\n\t\t\t\t\tleading_break = read_line(parser, leading_break)\n\t\t\t\t\tleading_blanks = true\n\t\t\t\t} else {\n\t\t\t\t\ttrailing_breaks = read_line(parser, trailing_breaks)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t// Check indentation level.\n\t\tif parser.flow_level == 0 && parser.mark.column < indent {\n\t\t\tbreak\n\t\t}\n\t}\n\n\t// Create a token.\n\t*token = yaml_token_t{\n\t\ttyp:        yaml_SCALAR_TOKEN,\n\t\tstart_mark: start_mark,\n\t\tend_mark:   end_mark,\n\t\tvalue:      s,\n\t\tstyle:      yaml_PLAIN_SCALAR_STYLE,\n\t}\n\n\t// Note that we change the 'simple_key_allowed' flag.\n\tif leading_blanks {\n\t\tparser.simple_key_allowed = true\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/sorter.go",
    "content": "package yaml\n\nimport (\n\t\"reflect\"\n\t\"unicode\"\n)\n\ntype keyList []reflect.Value\n\nfunc (l keyList) Len() int      { return len(l) }\nfunc (l keyList) Swap(i, j int) { l[i], l[j] = l[j], l[i] }\nfunc (l keyList) Less(i, j int) bool {\n\ta := l[i]\n\tb := l[j]\n\tak := a.Kind()\n\tbk := b.Kind()\n\tfor (ak == reflect.Interface || ak == reflect.Ptr) && !a.IsNil() {\n\t\ta = a.Elem()\n\t\tak = a.Kind()\n\t}\n\tfor (bk == reflect.Interface || bk == reflect.Ptr) && !b.IsNil() {\n\t\tb = b.Elem()\n\t\tbk = b.Kind()\n\t}\n\taf, aok := keyFloat(a)\n\tbf, bok := keyFloat(b)\n\tif aok && bok {\n\t\tif af != bf {\n\t\t\treturn af < bf\n\t\t}\n\t\tif ak != bk {\n\t\t\treturn ak < bk\n\t\t}\n\t\treturn numLess(a, b)\n\t}\n\tif ak != reflect.String || bk != reflect.String {\n\t\treturn ak < bk\n\t}\n\tar, br := []rune(a.String()), []rune(b.String())\n\tfor i := 0; i < len(ar) && i < len(br); i++ {\n\t\tif ar[i] == br[i] {\n\t\t\tcontinue\n\t\t}\n\t\tal := unicode.IsLetter(ar[i])\n\t\tbl := unicode.IsLetter(br[i])\n\t\tif al && bl {\n\t\t\treturn ar[i] < br[i]\n\t\t}\n\t\tif al || bl {\n\t\t\treturn bl\n\t\t}\n\t\tvar ai, bi int\n\t\tvar an, bn int64\n\t\tfor ai = i; ai < len(ar) && unicode.IsDigit(ar[ai]); ai++ {\n\t\t\tan = an*10 + int64(ar[ai]-'0')\n\t\t}\n\t\tfor bi = i; bi < len(br) && unicode.IsDigit(br[bi]); bi++ {\n\t\t\tbn = bn*10 + int64(br[bi]-'0')\n\t\t}\n\t\tif an != bn {\n\t\t\treturn an < bn\n\t\t}\n\t\tif ai != bi {\n\t\t\treturn ai < bi\n\t\t}\n\t\treturn ar[i] < br[i]\n\t}\n\treturn len(ar) < len(br)\n}\n\n// keyFloat returns a float value for v if it is a number/bool\n// and whether it is a number/bool or not.\nfunc keyFloat(v reflect.Value) (f float64, ok bool) {\n\tswitch v.Kind() {\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:\n\t\treturn float64(v.Int()), true\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v.Float(), true\n\tcase reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:\n\t\treturn float64(v.Uint()), true\n\tcase reflect.Bool:\n\t\tif v.Bool() {\n\t\t\treturn 1, true\n\t\t}\n\t\treturn 0, true\n\t}\n\treturn 0, false\n}\n\n// numLess returns whether a < b.\n// a and b must necessarily have the same kind.\nfunc numLess(a, b reflect.Value) bool {\n\tswitch a.Kind() {\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:\n\t\treturn a.Int() < b.Int()\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn a.Float() < b.Float()\n\tcase reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:\n\t\treturn a.Uint() < b.Uint()\n\tcase reflect.Bool:\n\t\treturn !a.Bool() && b.Bool()\n\t}\n\tpanic(\"not a number\")\n}\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/writerc.go",
    "content": "package yaml\n\n// Set the writer error and return false.\nfunc yaml_emitter_set_writer_error(emitter *yaml_emitter_t, problem string) bool {\n\temitter.error = yaml_WRITER_ERROR\n\temitter.problem = problem\n\treturn false\n}\n\n// Flush the output buffer.\nfunc yaml_emitter_flush(emitter *yaml_emitter_t) bool {\n\tif emitter.write_handler == nil {\n\t\tpanic(\"write handler not set\")\n\t}\n\n\t// Check if the buffer is empty.\n\tif emitter.buffer_pos == 0 {\n\t\treturn true\n\t}\n\n\t// If the output encoding is UTF-8, we don't need to recode the buffer.\n\tif emitter.encoding == yaml_UTF8_ENCODING {\n\t\tif err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil {\n\t\t\treturn yaml_emitter_set_writer_error(emitter, \"write error: \"+err.Error())\n\t\t}\n\t\temitter.buffer_pos = 0\n\t\treturn true\n\t}\n\n\t// Recode the buffer into the raw buffer.\n\tvar low, high int\n\tif emitter.encoding == yaml_UTF16LE_ENCODING {\n\t\tlow, high = 0, 1\n\t} else {\n\t\thigh, low = 1, 0\n\t}\n\n\tpos := 0\n\tfor pos < emitter.buffer_pos {\n\t\t// See the \"reader.c\" code for more details on UTF-8 encoding.  Note\n\t\t// that we assume that the buffer contains a valid UTF-8 sequence.\n\n\t\t// Read the next UTF-8 character.\n\t\toctet := emitter.buffer[pos]\n\n\t\tvar w int\n\t\tvar value rune\n\t\tswitch {\n\t\tcase octet&0x80 == 0x00:\n\t\t\tw, value = 1, rune(octet&0x7F)\n\t\tcase octet&0xE0 == 0xC0:\n\t\t\tw, value = 2, rune(octet&0x1F)\n\t\tcase octet&0xF0 == 0xE0:\n\t\t\tw, value = 3, rune(octet&0x0F)\n\t\tcase octet&0xF8 == 0xF0:\n\t\t\tw, value = 4, rune(octet&0x07)\n\t\t}\n\t\tfor k := 1; k < w; k++ {\n\t\t\toctet = emitter.buffer[pos+k]\n\t\t\tvalue = (value << 6) + (rune(octet) & 0x3F)\n\t\t}\n\t\tpos += w\n\n\t\t// Write the character.\n\t\tif value < 0x10000 {\n\t\t\tvar b [2]byte\n\t\t\tb[high] = byte(value >> 8)\n\t\t\tb[low] = byte(value & 0xFF)\n\t\t\temitter.raw_buffer = append(emitter.raw_buffer, b[0], b[1])\n\t\t} else {\n\t\t\t// Write the character using a surrogate pair (check \"reader.c\").\n\t\t\tvar b [4]byte\n\t\t\tvalue -= 0x10000\n\t\t\tb[high] = byte(0xD8 + (value >> 18))\n\t\t\tb[low] = byte((value >> 10) & 0xFF)\n\t\t\tb[high+2] = byte(0xDC + ((value >> 8) & 0xFF))\n\t\t\tb[low+2] = byte(value & 0xFF)\n\t\t\temitter.raw_buffer = append(emitter.raw_buffer, b[0], b[1], b[2], b[3])\n\t\t}\n\t}\n\n\t// Write the raw buffer.\n\tif err := emitter.write_handler(emitter, emitter.raw_buffer); err != nil {\n\t\treturn yaml_emitter_set_writer_error(emitter, \"write error: \"+err.Error())\n\t}\n\temitter.buffer_pos = 0\n\temitter.raw_buffer = emitter.raw_buffer[:0]\n\treturn true\n}\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/yaml.go",
    "content": "// Package yaml implements YAML support for the Go language.\n//\n// Source code and other details for the project are available at GitHub:\n//\n//   https://github.com/go-yaml/yaml\n//\npackage yaml\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"strings\"\n\t\"sync\"\n)\n\n// MapSlice encodes and decodes as a YAML map.\n// The order of keys is preserved when encoding and decoding.\ntype MapSlice []MapItem\n\n// MapItem is an item in a MapSlice.\ntype MapItem struct {\n\tKey, Value interface{}\n}\n\n// The Unmarshaler interface may be implemented by types to customize their\n// behavior when being unmarshaled from a YAML document. The UnmarshalYAML\n// method receives a function that may be called to unmarshal the original\n// YAML value into a field or variable. It is safe to call the unmarshal\n// function parameter more than once if necessary.\ntype Unmarshaler interface {\n\tUnmarshalYAML(unmarshal func(interface{}) error) error\n}\n\n// The Marshaler interface may be implemented by types to customize their\n// behavior when being marshaled into a YAML document. The returned value\n// is marshaled in place of the original value implementing Marshaler.\n//\n// If an error is returned by MarshalYAML, the marshaling procedure stops\n// and returns with the provided error.\ntype Marshaler interface {\n\tMarshalYAML() (interface{}, error)\n}\n\n// Unmarshal decodes the first document found within the in byte slice\n// and assigns decoded values into the out value.\n//\n// Maps and pointers (to a struct, string, int, etc) are accepted as out\n// values. If an internal pointer within a struct is not initialized,\n// the yaml package will initialize it if necessary for unmarshalling\n// the provided data. The out parameter must not be nil.\n//\n// The type of the decoded values should be compatible with the respective\n// values in out. If one or more values cannot be decoded due to a type\n// mismatches, decoding continues partially until the end of the YAML\n// content, and a *yaml.TypeError is returned with details for all\n// missed values.\n//\n// Struct fields are only unmarshalled if they are exported (have an\n// upper case first letter), and are unmarshalled using the field name\n// lowercased as the default key. Custom keys may be defined via the\n// \"yaml\" name in the field tag: the content preceding the first comma\n// is used as the key, and the following comma-separated options are\n// used to tweak the marshalling process (see Marshal).\n// Conflicting names result in a runtime error.\n//\n// For example:\n//\n//     type T struct {\n//         F int `yaml:\"a,omitempty\"`\n//         B int\n//     }\n//     var t T\n//     yaml.Unmarshal([]byte(\"a: 1\\nb: 2\"), &t)\n//\n// See the documentation of Marshal for the format of tags and a list of\n// supported tag options.\n//\nfunc Unmarshal(in []byte, out interface{}) (err error) {\n\treturn unmarshal(in, out, false)\n}\n\n// UnmarshalStrict is like Unmarshal except that any fields that are found\n// in the data that do not have corresponding struct members will result in\n// an error.\nfunc UnmarshalStrict(in []byte, out interface{}) (err error) {\n\treturn unmarshal(in, out, true)\n}\n\nfunc unmarshal(in []byte, out interface{}, strict bool) (err error) {\n\tdefer handleErr(&err)\n\td := newDecoder(strict)\n\tp := newParser(in)\n\tdefer p.destroy()\n\tnode := p.parse()\n\tif node != nil {\n\t\tv := reflect.ValueOf(out)\n\t\tif v.Kind() == reflect.Ptr && !v.IsNil() {\n\t\t\tv = v.Elem()\n\t\t}\n\t\td.unmarshal(node, v)\n\t}\n\tif len(d.terrors) > 0 {\n\t\treturn &TypeError{d.terrors}\n\t}\n\treturn nil\n}\n\n// Marshal serializes the value provided into a YAML document. The structure\n// of the generated document will reflect the structure of the value itself.\n// Maps and pointers (to struct, string, int, etc) are accepted as the in value.\n//\n// Struct fields are only unmarshalled if they are exported (have an upper case\n// first letter), and are unmarshalled using the field name lowercased as the\n// default key. Custom keys may be defined via the \"yaml\" name in the field\n// tag: the content preceding the first comma is used as the key, and the\n// following comma-separated options are used to tweak the marshalling process.\n// Conflicting names result in a runtime error.\n//\n// The field tag format accepted is:\n//\n//     `(...) yaml:\"[<key>][,<flag1>[,<flag2>]]\" (...)`\n//\n// The following flags are currently supported:\n//\n//     omitempty    Only include the field if it's not set to the zero\n//                  value for the type or to empty slices or maps.\n//                  Does not apply to zero valued structs.\n//\n//     flow         Marshal using a flow style (useful for structs,\n//                  sequences and maps).\n//\n//     inline       Inline the field, which must be a struct or a map,\n//                  causing all of its fields or keys to be processed as if\n//                  they were part of the outer struct. For maps, keys must\n//                  not conflict with the yaml keys of other struct fields.\n//\n// In addition, if the key is \"-\", the field is ignored.\n//\n// For example:\n//\n//     type T struct {\n//         F int `yaml:\"a,omitempty\"`\n//         B int\n//     }\n//     yaml.Marshal(&T{B: 2}) // Returns \"b: 2\\n\"\n//     yaml.Marshal(&T{F: 1}} // Returns \"a: 1\\nb: 0\\n\"\n//\nfunc Marshal(in interface{}) (out []byte, err error) {\n\tdefer handleErr(&err)\n\te := newEncoder()\n\tdefer e.destroy()\n\te.marshal(\"\", reflect.ValueOf(in))\n\te.finish()\n\tout = e.out\n\treturn\n}\n\nfunc handleErr(err *error) {\n\tif v := recover(); v != nil {\n\t\tif e, ok := v.(yamlError); ok {\n\t\t\t*err = e.err\n\t\t} else {\n\t\t\tpanic(v)\n\t\t}\n\t}\n}\n\ntype yamlError struct {\n\terr error\n}\n\nfunc fail(err error) {\n\tpanic(yamlError{err})\n}\n\nfunc failf(format string, args ...interface{}) {\n\tpanic(yamlError{fmt.Errorf(\"yaml: \"+format, args...)})\n}\n\n// A TypeError is returned by Unmarshal when one or more fields in\n// the YAML document cannot be properly decoded into the requested\n// types. When this error is returned, the value is still\n// unmarshaled partially.\ntype TypeError struct {\n\tErrors []string\n}\n\nfunc (e *TypeError) Error() string {\n\treturn fmt.Sprintf(\"yaml: unmarshal errors:\\n  %s\", strings.Join(e.Errors, \"\\n  \"))\n}\n\n// --------------------------------------------------------------------------\n// Maintain a mapping of keys to structure field indexes\n\n// The code in this section was copied from mgo/bson.\n\n// structInfo holds details for the serialization of fields of\n// a given struct.\ntype structInfo struct {\n\tFieldsMap  map[string]fieldInfo\n\tFieldsList []fieldInfo\n\n\t// InlineMap is the number of the field in the struct that\n\t// contains an ,inline map, or -1 if there's none.\n\tInlineMap int\n}\n\ntype fieldInfo struct {\n\tKey       string\n\tNum       int\n\tOmitEmpty bool\n\tFlow      bool\n\n\t// Inline holds the field index if the field is part of an inlined struct.\n\tInline []int\n}\n\nvar structMap = make(map[reflect.Type]*structInfo)\nvar fieldMapMutex sync.RWMutex\n\nfunc getStructInfo(st reflect.Type) (*structInfo, error) {\n\tfieldMapMutex.RLock()\n\tsinfo, found := structMap[st]\n\tfieldMapMutex.RUnlock()\n\tif found {\n\t\treturn sinfo, nil\n\t}\n\n\tn := st.NumField()\n\tfieldsMap := make(map[string]fieldInfo)\n\tfieldsList := make([]fieldInfo, 0, n)\n\tinlineMap := -1\n\tfor i := 0; i != n; i++ {\n\t\tfield := st.Field(i)\n\t\tif field.PkgPath != \"\" && !field.Anonymous {\n\t\t\tcontinue // Private field\n\t\t}\n\n\t\tinfo := fieldInfo{Num: i}\n\n\t\ttag := field.Tag.Get(\"yaml\")\n\t\tif tag == \"\" && strings.Index(string(field.Tag), \":\") < 0 {\n\t\t\ttag = string(field.Tag)\n\t\t}\n\t\tif tag == \"-\" {\n\t\t\tcontinue\n\t\t}\n\n\t\tinline := false\n\t\tfields := strings.Split(tag, \",\")\n\t\tif len(fields) > 1 {\n\t\t\tfor _, flag := range fields[1:] {\n\t\t\t\tswitch flag {\n\t\t\t\tcase \"omitempty\":\n\t\t\t\t\tinfo.OmitEmpty = true\n\t\t\t\tcase \"flow\":\n\t\t\t\t\tinfo.Flow = true\n\t\t\t\tcase \"inline\":\n\t\t\t\t\tinline = true\n\t\t\t\tdefault:\n\t\t\t\t\treturn nil, errors.New(fmt.Sprintf(\"Unsupported flag %q in tag %q of type %s\", flag, tag, st))\n\t\t\t\t}\n\t\t\t}\n\t\t\ttag = fields[0]\n\t\t}\n\n\t\tif inline {\n\t\t\tswitch field.Type.Kind() {\n\t\t\tcase reflect.Map:\n\t\t\t\tif inlineMap >= 0 {\n\t\t\t\t\treturn nil, errors.New(\"Multiple ,inline maps in struct \" + st.String())\n\t\t\t\t}\n\t\t\t\tif field.Type.Key() != reflect.TypeOf(\"\") {\n\t\t\t\t\treturn nil, errors.New(\"Option ,inline needs a map with string keys in struct \" + st.String())\n\t\t\t\t}\n\t\t\t\tinlineMap = info.Num\n\t\t\tcase reflect.Struct:\n\t\t\t\tsinfo, err := getStructInfo(field.Type)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\tfor _, finfo := range sinfo.FieldsList {\n\t\t\t\t\tif _, found := fieldsMap[finfo.Key]; found {\n\t\t\t\t\t\tmsg := \"Duplicated key '\" + finfo.Key + \"' in struct \" + st.String()\n\t\t\t\t\t\treturn nil, errors.New(msg)\n\t\t\t\t\t}\n\t\t\t\t\tif finfo.Inline == nil {\n\t\t\t\t\t\tfinfo.Inline = []int{i, finfo.Num}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfinfo.Inline = append([]int{i}, finfo.Inline...)\n\t\t\t\t\t}\n\t\t\t\t\tfieldsMap[finfo.Key] = finfo\n\t\t\t\t\tfieldsList = append(fieldsList, finfo)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\t//return nil, errors.New(\"Option ,inline needs a struct value or map field\")\n\t\t\t\treturn nil, errors.New(\"Option ,inline needs a struct value field\")\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tif tag != \"\" {\n\t\t\tinfo.Key = tag\n\t\t} else {\n\t\t\tinfo.Key = strings.ToLower(field.Name)\n\t\t}\n\n\t\tif _, found = fieldsMap[info.Key]; found {\n\t\t\tmsg := \"Duplicated key '\" + info.Key + \"' in struct \" + st.String()\n\t\t\treturn nil, errors.New(msg)\n\t\t}\n\n\t\tfieldsList = append(fieldsList, info)\n\t\tfieldsMap[info.Key] = info\n\t}\n\n\tsinfo = &structInfo{fieldsMap, fieldsList, inlineMap}\n\n\tfieldMapMutex.Lock()\n\tstructMap[st] = sinfo\n\tfieldMapMutex.Unlock()\n\treturn sinfo, nil\n}\n\nfunc isZero(v reflect.Value) bool {\n\tswitch v.Kind() {\n\tcase reflect.String:\n\t\treturn len(v.String()) == 0\n\tcase reflect.Interface, reflect.Ptr:\n\t\treturn v.IsNil()\n\tcase reflect.Slice:\n\t\treturn v.Len() == 0\n\tcase reflect.Map:\n\t\treturn v.Len() == 0\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:\n\t\treturn v.Int() == 0\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v.Float() == 0\n\tcase reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:\n\t\treturn v.Uint() == 0\n\tcase reflect.Bool:\n\t\treturn !v.Bool()\n\tcase reflect.Struct:\n\t\tvt := v.Type()\n\t\tfor i := v.NumField() - 1; i >= 0; i-- {\n\t\t\tif vt.Field(i).PkgPath != \"\" {\n\t\t\t\tcontinue // Private field\n\t\t\t}\n\t\t\tif !isZero(v.Field(i)) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/yamlh.go",
    "content": "package yaml\n\nimport (\n\t\"io\"\n)\n\n// The version directive data.\ntype yaml_version_directive_t struct {\n\tmajor int8 // The major version number.\n\tminor int8 // The minor version number.\n}\n\n// The tag directive data.\ntype yaml_tag_directive_t struct {\n\thandle []byte // The tag handle.\n\tprefix []byte // The tag prefix.\n}\n\ntype yaml_encoding_t int\n\n// The stream encoding.\nconst (\n\t// Let the parser choose the encoding.\n\tyaml_ANY_ENCODING yaml_encoding_t = iota\n\n\tyaml_UTF8_ENCODING    // The default UTF-8 encoding.\n\tyaml_UTF16LE_ENCODING // The UTF-16-LE encoding with BOM.\n\tyaml_UTF16BE_ENCODING // The UTF-16-BE encoding with BOM.\n)\n\ntype yaml_break_t int\n\n// Line break types.\nconst (\n\t// Let the parser choose the break type.\n\tyaml_ANY_BREAK yaml_break_t = iota\n\n\tyaml_CR_BREAK   // Use CR for line breaks (Mac style).\n\tyaml_LN_BREAK   // Use LN for line breaks (Unix style).\n\tyaml_CRLN_BREAK // Use CR LN for line breaks (DOS style).\n)\n\ntype yaml_error_type_t int\n\n// Many bad things could happen with the parser and emitter.\nconst (\n\t// No error is produced.\n\tyaml_NO_ERROR yaml_error_type_t = iota\n\n\tyaml_MEMORY_ERROR   // Cannot allocate or reallocate a block of memory.\n\tyaml_READER_ERROR   // Cannot read or decode the input stream.\n\tyaml_SCANNER_ERROR  // Cannot scan the input stream.\n\tyaml_PARSER_ERROR   // Cannot parse the input stream.\n\tyaml_COMPOSER_ERROR // Cannot compose a YAML document.\n\tyaml_WRITER_ERROR   // Cannot write to the output stream.\n\tyaml_EMITTER_ERROR  // Cannot emit a YAML stream.\n)\n\n// The pointer position.\ntype yaml_mark_t struct {\n\tindex  int // The position index.\n\tline   int // The position line.\n\tcolumn int // The position column.\n}\n\n// Node Styles\n\ntype yaml_style_t int8\n\ntype yaml_scalar_style_t yaml_style_t\n\n// Scalar styles.\nconst (\n\t// Let the emitter choose the style.\n\tyaml_ANY_SCALAR_STYLE yaml_scalar_style_t = iota\n\n\tyaml_PLAIN_SCALAR_STYLE         // The plain scalar style.\n\tyaml_SINGLE_QUOTED_SCALAR_STYLE // The single-quoted scalar style.\n\tyaml_DOUBLE_QUOTED_SCALAR_STYLE // The double-quoted scalar style.\n\tyaml_LITERAL_SCALAR_STYLE       // The literal scalar style.\n\tyaml_FOLDED_SCALAR_STYLE        // The folded scalar style.\n)\n\ntype yaml_sequence_style_t yaml_style_t\n\n// Sequence styles.\nconst (\n\t// Let the emitter choose the style.\n\tyaml_ANY_SEQUENCE_STYLE yaml_sequence_style_t = iota\n\n\tyaml_BLOCK_SEQUENCE_STYLE // The block sequence style.\n\tyaml_FLOW_SEQUENCE_STYLE  // The flow sequence style.\n)\n\ntype yaml_mapping_style_t yaml_style_t\n\n// Mapping styles.\nconst (\n\t// Let the emitter choose the style.\n\tyaml_ANY_MAPPING_STYLE yaml_mapping_style_t = iota\n\n\tyaml_BLOCK_MAPPING_STYLE // The block mapping style.\n\tyaml_FLOW_MAPPING_STYLE  // The flow mapping style.\n)\n\n// Tokens\n\ntype yaml_token_type_t int\n\n// Token types.\nconst (\n\t// An empty token.\n\tyaml_NO_TOKEN yaml_token_type_t = iota\n\n\tyaml_STREAM_START_TOKEN // A STREAM-START token.\n\tyaml_STREAM_END_TOKEN   // A STREAM-END token.\n\n\tyaml_VERSION_DIRECTIVE_TOKEN // A VERSION-DIRECTIVE token.\n\tyaml_TAG_DIRECTIVE_TOKEN     // A TAG-DIRECTIVE token.\n\tyaml_DOCUMENT_START_TOKEN    // A DOCUMENT-START token.\n\tyaml_DOCUMENT_END_TOKEN      // A DOCUMENT-END token.\n\n\tyaml_BLOCK_SEQUENCE_START_TOKEN // A BLOCK-SEQUENCE-START token.\n\tyaml_BLOCK_MAPPING_START_TOKEN  // A BLOCK-SEQUENCE-END token.\n\tyaml_BLOCK_END_TOKEN            // A BLOCK-END token.\n\n\tyaml_FLOW_SEQUENCE_START_TOKEN // A FLOW-SEQUENCE-START token.\n\tyaml_FLOW_SEQUENCE_END_TOKEN   // A FLOW-SEQUENCE-END token.\n\tyaml_FLOW_MAPPING_START_TOKEN  // A FLOW-MAPPING-START token.\n\tyaml_FLOW_MAPPING_END_TOKEN    // A FLOW-MAPPING-END token.\n\n\tyaml_BLOCK_ENTRY_TOKEN // A BLOCK-ENTRY token.\n\tyaml_FLOW_ENTRY_TOKEN  // A FLOW-ENTRY token.\n\tyaml_KEY_TOKEN         // A KEY token.\n\tyaml_VALUE_TOKEN       // A VALUE token.\n\n\tyaml_ALIAS_TOKEN  // An ALIAS token.\n\tyaml_ANCHOR_TOKEN // An ANCHOR token.\n\tyaml_TAG_TOKEN    // A TAG token.\n\tyaml_SCALAR_TOKEN // A SCALAR token.\n)\n\nfunc (tt yaml_token_type_t) String() string {\n\tswitch tt {\n\tcase yaml_NO_TOKEN:\n\t\treturn \"yaml_NO_TOKEN\"\n\tcase yaml_STREAM_START_TOKEN:\n\t\treturn \"yaml_STREAM_START_TOKEN\"\n\tcase yaml_STREAM_END_TOKEN:\n\t\treturn \"yaml_STREAM_END_TOKEN\"\n\tcase yaml_VERSION_DIRECTIVE_TOKEN:\n\t\treturn \"yaml_VERSION_DIRECTIVE_TOKEN\"\n\tcase yaml_TAG_DIRECTIVE_TOKEN:\n\t\treturn \"yaml_TAG_DIRECTIVE_TOKEN\"\n\tcase yaml_DOCUMENT_START_TOKEN:\n\t\treturn \"yaml_DOCUMENT_START_TOKEN\"\n\tcase yaml_DOCUMENT_END_TOKEN:\n\t\treturn \"yaml_DOCUMENT_END_TOKEN\"\n\tcase yaml_BLOCK_SEQUENCE_START_TOKEN:\n\t\treturn \"yaml_BLOCK_SEQUENCE_START_TOKEN\"\n\tcase yaml_BLOCK_MAPPING_START_TOKEN:\n\t\treturn \"yaml_BLOCK_MAPPING_START_TOKEN\"\n\tcase yaml_BLOCK_END_TOKEN:\n\t\treturn \"yaml_BLOCK_END_TOKEN\"\n\tcase yaml_FLOW_SEQUENCE_START_TOKEN:\n\t\treturn \"yaml_FLOW_SEQUENCE_START_TOKEN\"\n\tcase yaml_FLOW_SEQUENCE_END_TOKEN:\n\t\treturn \"yaml_FLOW_SEQUENCE_END_TOKEN\"\n\tcase yaml_FLOW_MAPPING_START_TOKEN:\n\t\treturn \"yaml_FLOW_MAPPING_START_TOKEN\"\n\tcase yaml_FLOW_MAPPING_END_TOKEN:\n\t\treturn \"yaml_FLOW_MAPPING_END_TOKEN\"\n\tcase yaml_BLOCK_ENTRY_TOKEN:\n\t\treturn \"yaml_BLOCK_ENTRY_TOKEN\"\n\tcase yaml_FLOW_ENTRY_TOKEN:\n\t\treturn \"yaml_FLOW_ENTRY_TOKEN\"\n\tcase yaml_KEY_TOKEN:\n\t\treturn \"yaml_KEY_TOKEN\"\n\tcase yaml_VALUE_TOKEN:\n\t\treturn \"yaml_VALUE_TOKEN\"\n\tcase yaml_ALIAS_TOKEN:\n\t\treturn \"yaml_ALIAS_TOKEN\"\n\tcase yaml_ANCHOR_TOKEN:\n\t\treturn \"yaml_ANCHOR_TOKEN\"\n\tcase yaml_TAG_TOKEN:\n\t\treturn \"yaml_TAG_TOKEN\"\n\tcase yaml_SCALAR_TOKEN:\n\t\treturn \"yaml_SCALAR_TOKEN\"\n\t}\n\treturn \"<unknown token>\"\n}\n\n// The token structure.\ntype yaml_token_t struct {\n\t// The token type.\n\ttyp yaml_token_type_t\n\n\t// The start/end of the token.\n\tstart_mark, end_mark yaml_mark_t\n\n\t// The stream encoding (for yaml_STREAM_START_TOKEN).\n\tencoding yaml_encoding_t\n\n\t// The alias/anchor/scalar value or tag/tag directive handle\n\t// (for yaml_ALIAS_TOKEN, yaml_ANCHOR_TOKEN, yaml_SCALAR_TOKEN, yaml_TAG_TOKEN, yaml_TAG_DIRECTIVE_TOKEN).\n\tvalue []byte\n\n\t// The tag suffix (for yaml_TAG_TOKEN).\n\tsuffix []byte\n\n\t// The tag directive prefix (for yaml_TAG_DIRECTIVE_TOKEN).\n\tprefix []byte\n\n\t// The scalar style (for yaml_SCALAR_TOKEN).\n\tstyle yaml_scalar_style_t\n\n\t// The version directive major/minor (for yaml_VERSION_DIRECTIVE_TOKEN).\n\tmajor, minor int8\n}\n\n// Events\n\ntype yaml_event_type_t int8\n\n// Event types.\nconst (\n\t// An empty event.\n\tyaml_NO_EVENT yaml_event_type_t = iota\n\n\tyaml_STREAM_START_EVENT   // A STREAM-START event.\n\tyaml_STREAM_END_EVENT     // A STREAM-END event.\n\tyaml_DOCUMENT_START_EVENT // A DOCUMENT-START event.\n\tyaml_DOCUMENT_END_EVENT   // A DOCUMENT-END event.\n\tyaml_ALIAS_EVENT          // An ALIAS event.\n\tyaml_SCALAR_EVENT         // A SCALAR event.\n\tyaml_SEQUENCE_START_EVENT // A SEQUENCE-START event.\n\tyaml_SEQUENCE_END_EVENT   // A SEQUENCE-END event.\n\tyaml_MAPPING_START_EVENT  // A MAPPING-START event.\n\tyaml_MAPPING_END_EVENT    // A MAPPING-END event.\n)\n\n// The event structure.\ntype yaml_event_t struct {\n\n\t// The event type.\n\ttyp yaml_event_type_t\n\n\t// The start and end of the event.\n\tstart_mark, end_mark yaml_mark_t\n\n\t// The document encoding (for yaml_STREAM_START_EVENT).\n\tencoding yaml_encoding_t\n\n\t// The version directive (for yaml_DOCUMENT_START_EVENT).\n\tversion_directive *yaml_version_directive_t\n\n\t// The list of tag directives (for yaml_DOCUMENT_START_EVENT).\n\ttag_directives []yaml_tag_directive_t\n\n\t// The anchor (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT, yaml_ALIAS_EVENT).\n\tanchor []byte\n\n\t// The tag (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT).\n\ttag []byte\n\n\t// The scalar value (for yaml_SCALAR_EVENT).\n\tvalue []byte\n\n\t// Is the document start/end indicator implicit, or the tag optional?\n\t// (for yaml_DOCUMENT_START_EVENT, yaml_DOCUMENT_END_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT, yaml_SCALAR_EVENT).\n\timplicit bool\n\n\t// Is the tag optional for any non-plain style? (for yaml_SCALAR_EVENT).\n\tquoted_implicit bool\n\n\t// The style (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT).\n\tstyle yaml_style_t\n}\n\nfunc (e *yaml_event_t) scalar_style() yaml_scalar_style_t     { return yaml_scalar_style_t(e.style) }\nfunc (e *yaml_event_t) sequence_style() yaml_sequence_style_t { return yaml_sequence_style_t(e.style) }\nfunc (e *yaml_event_t) mapping_style() yaml_mapping_style_t   { return yaml_mapping_style_t(e.style) }\n\n// Nodes\n\nconst (\n\tyaml_NULL_TAG      = \"tag:yaml.org,2002:null\"      // The tag !!null with the only possible value: null.\n\tyaml_BOOL_TAG      = \"tag:yaml.org,2002:bool\"      // The tag !!bool with the values: true and false.\n\tyaml_STR_TAG       = \"tag:yaml.org,2002:str\"       // The tag !!str for string values.\n\tyaml_INT_TAG       = \"tag:yaml.org,2002:int\"       // The tag !!int for integer values.\n\tyaml_FLOAT_TAG     = \"tag:yaml.org,2002:float\"     // The tag !!float for float values.\n\tyaml_TIMESTAMP_TAG = \"tag:yaml.org,2002:timestamp\" // The tag !!timestamp for date and time values.\n\n\tyaml_SEQ_TAG = \"tag:yaml.org,2002:seq\" // The tag !!seq is used to denote sequences.\n\tyaml_MAP_TAG = \"tag:yaml.org,2002:map\" // The tag !!map is used to denote mapping.\n\n\t// Not in original libyaml.\n\tyaml_BINARY_TAG = \"tag:yaml.org,2002:binary\"\n\tyaml_MERGE_TAG  = \"tag:yaml.org,2002:merge\"\n\n\tyaml_DEFAULT_SCALAR_TAG   = yaml_STR_TAG // The default scalar tag is !!str.\n\tyaml_DEFAULT_SEQUENCE_TAG = yaml_SEQ_TAG // The default sequence tag is !!seq.\n\tyaml_DEFAULT_MAPPING_TAG  = yaml_MAP_TAG // The default mapping tag is !!map.\n)\n\ntype yaml_node_type_t int\n\n// Node types.\nconst (\n\t// An empty node.\n\tyaml_NO_NODE yaml_node_type_t = iota\n\n\tyaml_SCALAR_NODE   // A scalar node.\n\tyaml_SEQUENCE_NODE // A sequence node.\n\tyaml_MAPPING_NODE  // A mapping node.\n)\n\n// An element of a sequence node.\ntype yaml_node_item_t int\n\n// An element of a mapping node.\ntype yaml_node_pair_t struct {\n\tkey   int // The key of the element.\n\tvalue int // The value of the element.\n}\n\n// The node structure.\ntype yaml_node_t struct {\n\ttyp yaml_node_type_t // The node type.\n\ttag []byte           // The node tag.\n\n\t// The node data.\n\n\t// The scalar parameters (for yaml_SCALAR_NODE).\n\tscalar struct {\n\t\tvalue  []byte              // The scalar value.\n\t\tlength int                 // The length of the scalar value.\n\t\tstyle  yaml_scalar_style_t // The scalar style.\n\t}\n\n\t// The sequence parameters (for YAML_SEQUENCE_NODE).\n\tsequence struct {\n\t\titems_data []yaml_node_item_t    // The stack of sequence items.\n\t\tstyle      yaml_sequence_style_t // The sequence style.\n\t}\n\n\t// The mapping parameters (for yaml_MAPPING_NODE).\n\tmapping struct {\n\t\tpairs_data  []yaml_node_pair_t   // The stack of mapping pairs (key, value).\n\t\tpairs_start *yaml_node_pair_t    // The beginning of the stack.\n\t\tpairs_end   *yaml_node_pair_t    // The end of the stack.\n\t\tpairs_top   *yaml_node_pair_t    // The top of the stack.\n\t\tstyle       yaml_mapping_style_t // The mapping style.\n\t}\n\n\tstart_mark yaml_mark_t // The beginning of the node.\n\tend_mark   yaml_mark_t // The end of the node.\n\n}\n\n// The document structure.\ntype yaml_document_t struct {\n\n\t// The document nodes.\n\tnodes []yaml_node_t\n\n\t// The version directive.\n\tversion_directive *yaml_version_directive_t\n\n\t// The list of tag directives.\n\ttag_directives_data  []yaml_tag_directive_t\n\ttag_directives_start int // The beginning of the tag directives list.\n\ttag_directives_end   int // The end of the tag directives list.\n\n\tstart_implicit int // Is the document start indicator implicit?\n\tend_implicit   int // Is the document end indicator implicit?\n\n\t// The start/end of the document.\n\tstart_mark, end_mark yaml_mark_t\n}\n\n// The prototype of a read handler.\n//\n// The read handler is called when the parser needs to read more bytes from the\n// source. The handler should write not more than size bytes to the buffer.\n// The number of written bytes should be set to the size_read variable.\n//\n// [in,out]   data        A pointer to an application data specified by\n//                        yaml_parser_set_input().\n// [out]      buffer      The buffer to write the data from the source.\n// [in]       size        The size of the buffer.\n// [out]      size_read   The actual number of bytes read from the source.\n//\n// On success, the handler should return 1.  If the handler failed,\n// the returned value should be 0. On EOF, the handler should set the\n// size_read to 0 and return 1.\ntype yaml_read_handler_t func(parser *yaml_parser_t, buffer []byte) (n int, err error)\n\n// This structure holds information about a potential simple key.\ntype yaml_simple_key_t struct {\n\tpossible     bool        // Is a simple key possible?\n\trequired     bool        // Is a simple key required?\n\ttoken_number int         // The number of the token.\n\tmark         yaml_mark_t // The position mark.\n}\n\n// The states of the parser.\ntype yaml_parser_state_t int\n\nconst (\n\tyaml_PARSE_STREAM_START_STATE yaml_parser_state_t = iota\n\n\tyaml_PARSE_IMPLICIT_DOCUMENT_START_STATE           // Expect the beginning of an implicit document.\n\tyaml_PARSE_DOCUMENT_START_STATE                    // Expect DOCUMENT-START.\n\tyaml_PARSE_DOCUMENT_CONTENT_STATE                  // Expect the content of a document.\n\tyaml_PARSE_DOCUMENT_END_STATE                      // Expect DOCUMENT-END.\n\tyaml_PARSE_BLOCK_NODE_STATE                        // Expect a block node.\n\tyaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE // Expect a block node or indentless sequence.\n\tyaml_PARSE_FLOW_NODE_STATE                         // Expect a flow node.\n\tyaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE        // Expect the first entry of a block sequence.\n\tyaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE              // Expect an entry of a block sequence.\n\tyaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE         // Expect an entry of an indentless sequence.\n\tyaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE           // Expect the first key of a block mapping.\n\tyaml_PARSE_BLOCK_MAPPING_KEY_STATE                 // Expect a block mapping key.\n\tyaml_PARSE_BLOCK_MAPPING_VALUE_STATE               // Expect a block mapping value.\n\tyaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE         // Expect the first entry of a flow sequence.\n\tyaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE               // Expect an entry of a flow sequence.\n\tyaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE   // Expect a key of an ordered mapping.\n\tyaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE // Expect a value of an ordered mapping.\n\tyaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE   // Expect the and of an ordered mapping entry.\n\tyaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE            // Expect the first key of a flow mapping.\n\tyaml_PARSE_FLOW_MAPPING_KEY_STATE                  // Expect a key of a flow mapping.\n\tyaml_PARSE_FLOW_MAPPING_VALUE_STATE                // Expect a value of a flow mapping.\n\tyaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE          // Expect an empty value of a flow mapping.\n\tyaml_PARSE_END_STATE                               // Expect nothing.\n)\n\nfunc (ps yaml_parser_state_t) String() string {\n\tswitch ps {\n\tcase yaml_PARSE_STREAM_START_STATE:\n\t\treturn \"yaml_PARSE_STREAM_START_STATE\"\n\tcase yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE:\n\t\treturn \"yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE\"\n\tcase yaml_PARSE_DOCUMENT_START_STATE:\n\t\treturn \"yaml_PARSE_DOCUMENT_START_STATE\"\n\tcase yaml_PARSE_DOCUMENT_CONTENT_STATE:\n\t\treturn \"yaml_PARSE_DOCUMENT_CONTENT_STATE\"\n\tcase yaml_PARSE_DOCUMENT_END_STATE:\n\t\treturn \"yaml_PARSE_DOCUMENT_END_STATE\"\n\tcase yaml_PARSE_BLOCK_NODE_STATE:\n\t\treturn \"yaml_PARSE_BLOCK_NODE_STATE\"\n\tcase yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE:\n\t\treturn \"yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE\"\n\tcase yaml_PARSE_FLOW_NODE_STATE:\n\t\treturn \"yaml_PARSE_FLOW_NODE_STATE\"\n\tcase yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE:\n\t\treturn \"yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE\"\n\tcase yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE:\n\t\treturn \"yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE\"\n\tcase yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE:\n\t\treturn \"yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE\"\n\tcase yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE:\n\t\treturn \"yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE\"\n\tcase yaml_PARSE_BLOCK_MAPPING_KEY_STATE:\n\t\treturn \"yaml_PARSE_BLOCK_MAPPING_KEY_STATE\"\n\tcase yaml_PARSE_BLOCK_MAPPING_VALUE_STATE:\n\t\treturn \"yaml_PARSE_BLOCK_MAPPING_VALUE_STATE\"\n\tcase yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE:\n\t\treturn \"yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE\"\n\tcase yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE:\n\t\treturn \"yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE\"\n\tcase yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE:\n\t\treturn \"yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE\"\n\tcase yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE:\n\t\treturn \"yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE\"\n\tcase yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE:\n\t\treturn \"yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE\"\n\tcase yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE:\n\t\treturn \"yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE\"\n\tcase yaml_PARSE_FLOW_MAPPING_KEY_STATE:\n\t\treturn \"yaml_PARSE_FLOW_MAPPING_KEY_STATE\"\n\tcase yaml_PARSE_FLOW_MAPPING_VALUE_STATE:\n\t\treturn \"yaml_PARSE_FLOW_MAPPING_VALUE_STATE\"\n\tcase yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE:\n\t\treturn \"yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE\"\n\tcase yaml_PARSE_END_STATE:\n\t\treturn \"yaml_PARSE_END_STATE\"\n\t}\n\treturn \"<unknown parser state>\"\n}\n\n// This structure holds aliases data.\ntype yaml_alias_data_t struct {\n\tanchor []byte      // The anchor.\n\tindex  int         // The node id.\n\tmark   yaml_mark_t // The anchor mark.\n}\n\n// The parser structure.\n//\n// All members are internal. Manage the structure using the\n// yaml_parser_ family of functions.\ntype yaml_parser_t struct {\n\n\t// Error handling\n\n\terror yaml_error_type_t // Error type.\n\n\tproblem string // Error description.\n\n\t// The byte about which the problem occurred.\n\tproblem_offset int\n\tproblem_value  int\n\tproblem_mark   yaml_mark_t\n\n\t// The error context.\n\tcontext      string\n\tcontext_mark yaml_mark_t\n\n\t// Reader stuff\n\n\tread_handler yaml_read_handler_t // Read handler.\n\n\tinput_file io.Reader // File input data.\n\tinput      []byte    // String input data.\n\tinput_pos  int\n\n\teof bool // EOF flag\n\n\tbuffer     []byte // The working buffer.\n\tbuffer_pos int    // The current position of the buffer.\n\n\tunread int // The number of unread characters in the buffer.\n\n\traw_buffer     []byte // The raw buffer.\n\traw_buffer_pos int    // The current position of the buffer.\n\n\tencoding yaml_encoding_t // The input encoding.\n\n\toffset int         // The offset of the current position (in bytes).\n\tmark   yaml_mark_t // The mark of the current position.\n\n\t// Scanner stuff\n\n\tstream_start_produced bool // Have we started to scan the input stream?\n\tstream_end_produced   bool // Have we reached the end of the input stream?\n\n\tflow_level int // The number of unclosed '[' and '{' indicators.\n\n\ttokens          []yaml_token_t // The tokens queue.\n\ttokens_head     int            // The head of the tokens queue.\n\ttokens_parsed   int            // The number of tokens fetched from the queue.\n\ttoken_available bool           // Does the tokens queue contain a token ready for dequeueing.\n\n\tindent  int   // The current indentation level.\n\tindents []int // The indentation levels stack.\n\n\tsimple_key_allowed bool                // May a simple key occur at the current position?\n\tsimple_keys        []yaml_simple_key_t // The stack of simple keys.\n\n\t// Parser stuff\n\n\tstate          yaml_parser_state_t    // The current parser state.\n\tstates         []yaml_parser_state_t  // The parser states stack.\n\tmarks          []yaml_mark_t          // The stack of marks.\n\ttag_directives []yaml_tag_directive_t // The list of TAG directives.\n\n\t// Dumper stuff\n\n\taliases []yaml_alias_data_t // The alias data.\n\n\tdocument *yaml_document_t // The currently parsed document.\n}\n\n// Emitter Definitions\n\n// The prototype of a write handler.\n//\n// The write handler is called when the emitter needs to flush the accumulated\n// characters to the output.  The handler should write @a size bytes of the\n// @a buffer to the output.\n//\n// @param[in,out]   data        A pointer to an application data specified by\n//                              yaml_emitter_set_output().\n// @param[in]       buffer      The buffer with bytes to be written.\n// @param[in]       size        The size of the buffer.\n//\n// @returns On success, the handler should return @c 1.  If the handler failed,\n// the returned value should be @c 0.\n//\ntype yaml_write_handler_t func(emitter *yaml_emitter_t, buffer []byte) error\n\ntype yaml_emitter_state_t int\n\n// The emitter states.\nconst (\n\t// Expect STREAM-START.\n\tyaml_EMIT_STREAM_START_STATE yaml_emitter_state_t = iota\n\n\tyaml_EMIT_FIRST_DOCUMENT_START_STATE       // Expect the first DOCUMENT-START or STREAM-END.\n\tyaml_EMIT_DOCUMENT_START_STATE             // Expect DOCUMENT-START or STREAM-END.\n\tyaml_EMIT_DOCUMENT_CONTENT_STATE           // Expect the content of a document.\n\tyaml_EMIT_DOCUMENT_END_STATE               // Expect DOCUMENT-END.\n\tyaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE   // Expect the first item of a flow sequence.\n\tyaml_EMIT_FLOW_SEQUENCE_ITEM_STATE         // Expect an item of a flow sequence.\n\tyaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE     // Expect the first key of a flow mapping.\n\tyaml_EMIT_FLOW_MAPPING_KEY_STATE           // Expect a key of a flow mapping.\n\tyaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE  // Expect a value for a simple key of a flow mapping.\n\tyaml_EMIT_FLOW_MAPPING_VALUE_STATE         // Expect a value of a flow mapping.\n\tyaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE  // Expect the first item of a block sequence.\n\tyaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE        // Expect an item of a block sequence.\n\tyaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE    // Expect the first key of a block mapping.\n\tyaml_EMIT_BLOCK_MAPPING_KEY_STATE          // Expect the key of a block mapping.\n\tyaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE // Expect a value for a simple key of a block mapping.\n\tyaml_EMIT_BLOCK_MAPPING_VALUE_STATE        // Expect a value of a block mapping.\n\tyaml_EMIT_END_STATE                        // Expect nothing.\n)\n\n// The emitter structure.\n//\n// All members are internal.  Manage the structure using the @c yaml_emitter_\n// family of functions.\ntype yaml_emitter_t struct {\n\n\t// Error handling\n\n\terror   yaml_error_type_t // Error type.\n\tproblem string            // Error description.\n\n\t// Writer stuff\n\n\twrite_handler yaml_write_handler_t // Write handler.\n\n\toutput_buffer *[]byte   // String output data.\n\toutput_file   io.Writer // File output data.\n\n\tbuffer     []byte // The working buffer.\n\tbuffer_pos int    // The current position of the buffer.\n\n\traw_buffer     []byte // The raw buffer.\n\traw_buffer_pos int    // The current position of the buffer.\n\n\tencoding yaml_encoding_t // The stream encoding.\n\n\t// Emitter stuff\n\n\tcanonical   bool         // If the output is in the canonical style?\n\tbest_indent int          // The number of indentation spaces.\n\tbest_width  int          // The preferred width of the output lines.\n\tunicode     bool         // Allow unescaped non-ASCII characters?\n\tline_break  yaml_break_t // The preferred line break.\n\n\tstate  yaml_emitter_state_t   // The current emitter state.\n\tstates []yaml_emitter_state_t // The stack of states.\n\n\tevents      []yaml_event_t // The event queue.\n\tevents_head int            // The head of the event queue.\n\n\tindents []int // The stack of indentation levels.\n\n\ttag_directives []yaml_tag_directive_t // The list of tag directives.\n\n\tindent int // The current indentation level.\n\n\tflow_level int // The current flow level.\n\n\troot_context       bool // Is it the document root context?\n\tsequence_context   bool // Is it a sequence context?\n\tmapping_context    bool // Is it a mapping context?\n\tsimple_key_context bool // Is it a simple mapping key context?\n\n\tline       int  // The current line.\n\tcolumn     int  // The current column.\n\twhitespace bool // If the last character was a whitespace?\n\tindention  bool // If the last character was an indentation character (' ', '-', '?', ':')?\n\topen_ended bool // If an explicit document end is required?\n\n\t// Anchor analysis.\n\tanchor_data struct {\n\t\tanchor []byte // The anchor value.\n\t\talias  bool   // Is it an alias?\n\t}\n\n\t// Tag analysis.\n\ttag_data struct {\n\t\thandle []byte // The tag handle.\n\t\tsuffix []byte // The tag suffix.\n\t}\n\n\t// Scalar analysis.\n\tscalar_data struct {\n\t\tvalue                 []byte              // The scalar value.\n\t\tmultiline             bool                // Does the scalar contain line breaks?\n\t\tflow_plain_allowed    bool                // Can the scalar be expessed in the flow plain style?\n\t\tblock_plain_allowed   bool                // Can the scalar be expressed in the block plain style?\n\t\tsingle_quoted_allowed bool                // Can the scalar be expressed in the single quoted style?\n\t\tblock_allowed         bool                // Can the scalar be expressed in the literal or folded styles?\n\t\tstyle                 yaml_scalar_style_t // The output style.\n\t}\n\n\t// Dumper stuff\n\n\topened bool // If the stream was already opened?\n\tclosed bool // If the stream was already closed?\n\n\t// The information associated with the document nodes.\n\tanchors *struct {\n\t\treferences int  // The number of references.\n\t\tanchor     int  // The anchor id.\n\t\tserialized bool // If the node has been emitted?\n\t}\n\n\tlast_anchor_id int // The last assigned anchor id.\n\n\tdocument *yaml_document_t // The currently emitted document.\n}\n"
  },
  {
    "path": "vendor/gopkg.in/yaml.v2/yamlprivateh.go",
    "content": "package yaml\n\nconst (\n\t// The size of the input raw buffer.\n\tinput_raw_buffer_size = 512\n\n\t// The size of the input buffer.\n\t// It should be possible to decode the whole raw buffer.\n\tinput_buffer_size = input_raw_buffer_size * 3\n\n\t// The size of the output buffer.\n\toutput_buffer_size = 128\n\n\t// The size of the output raw buffer.\n\t// It should be possible to encode the whole output buffer.\n\toutput_raw_buffer_size = (output_buffer_size*2 + 2)\n\n\t// The size of other stacks and queues.\n\tinitial_stack_size  = 16\n\tinitial_queue_size  = 16\n\tinitial_string_size = 16\n)\n\n// Check if the character at the specified position is an alphabetical\n// character, a digit, '_', or '-'.\nfunc is_alpha(b []byte, i int) bool {\n\treturn b[i] >= '0' && b[i] <= '9' || b[i] >= 'A' && b[i] <= 'Z' || b[i] >= 'a' && b[i] <= 'z' || b[i] == '_' || b[i] == '-'\n}\n\n// Check if the character at the specified position is a digit.\nfunc is_digit(b []byte, i int) bool {\n\treturn b[i] >= '0' && b[i] <= '9'\n}\n\n// Get the value of a digit.\nfunc as_digit(b []byte, i int) int {\n\treturn int(b[i]) - '0'\n}\n\n// Check if the character at the specified position is a hex-digit.\nfunc is_hex(b []byte, i int) bool {\n\treturn b[i] >= '0' && b[i] <= '9' || b[i] >= 'A' && b[i] <= 'F' || b[i] >= 'a' && b[i] <= 'f'\n}\n\n// Get the value of a hex-digit.\nfunc as_hex(b []byte, i int) int {\n\tbi := b[i]\n\tif bi >= 'A' && bi <= 'F' {\n\t\treturn int(bi) - 'A' + 10\n\t}\n\tif bi >= 'a' && bi <= 'f' {\n\t\treturn int(bi) - 'a' + 10\n\t}\n\treturn int(bi) - '0'\n}\n\n// Check if the character is ASCII.\nfunc is_ascii(b []byte, i int) bool {\n\treturn b[i] <= 0x7F\n}\n\n// Check if the character at the start of the buffer can be printed unescaped.\nfunc is_printable(b []byte, i int) bool {\n\treturn ((b[i] == 0x0A) || // . == #x0A\n\t\t(b[i] >= 0x20 && b[i] <= 0x7E) || // #x20 <= . <= #x7E\n\t\t(b[i] == 0xC2 && b[i+1] >= 0xA0) || // #0xA0 <= . <= #xD7FF\n\t\t(b[i] > 0xC2 && b[i] < 0xED) ||\n\t\t(b[i] == 0xED && b[i+1] < 0xA0) ||\n\t\t(b[i] == 0xEE) ||\n\t\t(b[i] == 0xEF && // #xE000 <= . <= #xFFFD\n\t\t\t!(b[i+1] == 0xBB && b[i+2] == 0xBF) && // && . != #xFEFF\n\t\t\t!(b[i+1] == 0xBF && (b[i+2] == 0xBE || b[i+2] == 0xBF))))\n}\n\n// Check if the character at the specified position is NUL.\nfunc is_z(b []byte, i int) bool {\n\treturn b[i] == 0x00\n}\n\n// Check if the beginning of the buffer is a BOM.\nfunc is_bom(b []byte, i int) bool {\n\treturn b[0] == 0xEF && b[1] == 0xBB && b[2] == 0xBF\n}\n\n// Check if the character at the specified position is space.\nfunc is_space(b []byte, i int) bool {\n\treturn b[i] == ' '\n}\n\n// Check if the character at the specified position is tab.\nfunc is_tab(b []byte, i int) bool {\n\treturn b[i] == '\\t'\n}\n\n// Check if the character at the specified position is blank (space or tab).\nfunc is_blank(b []byte, i int) bool {\n\t//return is_space(b, i) || is_tab(b, i)\n\treturn b[i] == ' ' || b[i] == '\\t'\n}\n\n// Check if the character at the specified position is a line break.\nfunc is_break(b []byte, i int) bool {\n\treturn (b[i] == '\\r' || // CR (#xD)\n\t\tb[i] == '\\n' || // LF (#xA)\n\t\tb[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85)\n\t\tb[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028)\n\t\tb[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9) // PS (#x2029)\n}\n\nfunc is_crlf(b []byte, i int) bool {\n\treturn b[i] == '\\r' && b[i+1] == '\\n'\n}\n\n// Check if the character is a line break or NUL.\nfunc is_breakz(b []byte, i int) bool {\n\t//return is_break(b, i) || is_z(b, i)\n\treturn (        // is_break:\n\tb[i] == '\\r' || // CR (#xD)\n\t\tb[i] == '\\n' || // LF (#xA)\n\t\tb[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85)\n\t\tb[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028)\n\t\tb[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029)\n\t\t// is_z:\n\t\tb[i] == 0)\n}\n\n// Check if the character is a line break, space, or NUL.\nfunc is_spacez(b []byte, i int) bool {\n\t//return is_space(b, i) || is_breakz(b, i)\n\treturn ( // is_space:\n\tb[i] == ' ' ||\n\t\t// is_breakz:\n\t\tb[i] == '\\r' || // CR (#xD)\n\t\tb[i] == '\\n' || // LF (#xA)\n\t\tb[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85)\n\t\tb[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028)\n\t\tb[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029)\n\t\tb[i] == 0)\n}\n\n// Check if the character is a line break, space, tab, or NUL.\nfunc is_blankz(b []byte, i int) bool {\n\t//return is_blank(b, i) || is_breakz(b, i)\n\treturn ( // is_blank:\n\tb[i] == ' ' || b[i] == '\\t' ||\n\t\t// is_breakz:\n\t\tb[i] == '\\r' || // CR (#xD)\n\t\tb[i] == '\\n' || // LF (#xA)\n\t\tb[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85)\n\t\tb[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028)\n\t\tb[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029)\n\t\tb[i] == 0)\n}\n\n// Determine the width of the character.\nfunc width(b byte) int {\n\t// Don't replace these by a switch without first\n\t// confirming that it is being inlined.\n\tif b&0x80 == 0x00 {\n\t\treturn 1\n\t}\n\tif b&0xE0 == 0xC0 {\n\t\treturn 2\n\t}\n\tif b&0xF0 == 0xE0 {\n\t\treturn 3\n\t}\n\tif b&0xF8 == 0xF0 {\n\t\treturn 4\n\t}\n\treturn 0\n\n}\n"
  }
]